All functions:
  Elements:
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WideCharToMultiByte
      Src: /src/vlc/bin/winvlc.c:54,1
    - Dst: malloc
      Src: /src/vlc/bin/winvlc.c:56,1
    - Dst: WideCharToMultiByte
      Src: /src/vlc/bin/winvlc.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - wide
    argTypes:
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: FromWide
    functionSourceFile: /src/vlc/bin/winvlc.c
    functionUses: 0
    functionsReached:
    - WideCharToMultiByte
    - malloc
    linkageType: ''
    returnType: char
    signature: char *FromWide (const wchar_t *wide)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BOOL
      Src: /src/vlc/bin/winvlc.c:65,1
    - Dst: GetModuleHandle
      Src: /src/vlc/bin/winvlc.c:66,1
    - Dst: TEXT
      Src: /src/vlc/bin/winvlc.c:66,1
    - Dst: GetProcAddress
      Src: /src/vlc/bin/winvlc.c:70,1
    - Dst: SetProcessMitigationPolicy
      Src: /src/vlc/bin/winvlc.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 77
    functionName: PrioritizeSystem32
    functionSourceFile: /src/vlc/bin/winvlc.c
    functionUses: 0
    functionsReached:
    - TEXT
    - BOOL
    - GetModuleHandle
    - SetProcessMitigationPolicy
    - GetProcAddress
    linkageType: ''
    returnType: void
    signature: void PrioritizeSystem32(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseSemaphore
      Src: /src/vlc/bin/winvlc.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: vlc_kill
    functionSourceFile: /src/vlc/bin/winvlc.c
    functionUses: 0
    functionsReached:
    - ReleaseSemaphore
    linkageType: ''
    returnType: void
    signature: void vlc_kill(void *data)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: putenv
      Src: /src/vlc/bin/winvlc.c:98,1
    - Dst: putenv
      Src: /src/vlc/bin/winvlc.c:100,1
    - Dst: putenv
      Src: /src/vlc/bin/winvlc.c:101,1
    - Dst: setvbuf
      Src: /src/vlc/bin/winvlc.c:107,1
    - Dst: HeapSetInformation
      Src: /src/vlc/bin/winvlc.c:110,1
    - Dst: SetProcessDEPPolicy
      Src: /src/vlc/bin/winvlc.c:113,1
    - Dst: SetDllDirectory
      Src: /src/vlc/bin/winvlc.c:116,1
    - Dst: TEXT
      Src: /src/vlc/bin/winvlc.c:116,1
    - Dst: SetDefaultDllDirectories
      Src: /src/vlc/bin/winvlc.c:122,1
    - Dst: PrioritizeSystem32
      Src: /src/vlc/bin/winvlc.c:126,1
    - Dst: CommandLineToArgvW
      Src: /src/vlc/bin/winvlc.c:129,1
    - Dst: GetCommandLine
      Src: /src/vlc/bin/winvlc.c:129,1
    - Dst: strdup
      Src: /src/vlc/bin/winvlc.c:138,1
    - Dst: strdup
      Src: /src/vlc/bin/winvlc.c:139,1
    - Dst: wcscmp
      Src: /src/vlc/bin/winvlc.c:142,1
    - Dst: wcsncmp
      Src: /src/vlc/bin/winvlc.c:147,1
    - Dst: wcsncmp
      Src: /src/vlc/bin/winvlc.c:149,1
    - Dst: _wcsdup
      Src: /src/vlc/bin/winvlc.c:150,1
    - Dst: FromWide
      Src: /src/vlc/bin/winvlc.c:154,1
    - Dst: LocalFree
      Src: /src/vlc/bin/winvlc.c:159,1
    - Dst: SHGetKnownFolderPath
      Src: /src/vlc/bin/winvlc.c:166,1
    - Dst: fprintf
      Src: /src/vlc/bin/winvlc.c:167,1
    - Dst: wcslen
      Src: /src/vlc/bin/winvlc.c:170,1
    - Dst: malloc
      Src: /src/vlc/bin/winvlc.c:171,1
    - Dst: wcslen
      Src: /src/vlc/bin/winvlc.c:171,1
    - Dst: memcpy
      Src: /src/vlc/bin/winvlc.c:174,1
    - Dst: memcpy
      Src: /src/vlc/bin/winvlc.c:175,1
    - Dst: wcslen
      Src: /src/vlc/bin/winvlc.c:175,1
    - Dst: CheckCrashDump
      Src: /src/vlc/bin/winvlc.c:176,1
    - Dst: InstallCrashHandler
      Src: /src/vlc/bin/winvlc.c:177,1
    - Dst: free
      Src: /src/vlc/bin/winvlc.c:178,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/bin/winvlc.c:180,1
    - Dst: _setmode
      Src: /src/vlc/bin/winvlc.c:187,1
    - Dst: _fileno
      Src: /src/vlc/bin/winvlc.c:187,1
    - Dst: RegOpenKeyEx
      Src: /src/vlc/bin/winvlc.c:193,1
    - Dst: TEXT
      Src: /src/vlc/bin/winvlc.c:193,1
    - Dst: RegQueryValueEx
      Src: /src/vlc/bin/winvlc.c:198,1
    - Dst: TEXT
      Src: /src/vlc/bin/winvlc.c:198,1
    - Dst: _wcsdup
      Src: /src/vlc/bin/winvlc.c:199,1
    - Dst: wcsncmp
      Src: /src/vlc/bin/winvlc.c:203,1
    - Dst: snprintf
      Src: /src/vlc/bin/winvlc.c:206,1
    - Dst: putenv
      Src: /src/vlc/bin/winvlc.c:207,1
    - Dst: free
      Src: /src/vlc/bin/winvlc.c:209,1
    - Dst: libvlc_new
      Src: /src/vlc/bin/winvlc.c:213,1
    - Dst: CreateSemaphore
      Src: /src/vlc/bin/winvlc.c:216,1
    - Dst: libvlc_SetExitHandler
      Src: /src/vlc/bin/winvlc.c:218,1
    - Dst: libvlc_set_app_id
      Src: /src/vlc/bin/winvlc.c:219,1
    - Dst: libvlc_set_user_agent
      Src: /src/vlc/bin/winvlc.c:221,1
    - Dst: libvlc_InternalAddIntf
      Src: /src/vlc/bin/winvlc.c:222,1
    - Dst: libvlc_InternalPlay
      Src: /src/vlc/bin/winvlc.c:223,1
    - Dst: WaitForSingleObject
      Src: /src/vlc/bin/winvlc.c:225,1
    - Dst: CloseHandle
      Src: /src/vlc/bin/winvlc.c:226,1
    - Dst: libvlc_release
      Src: /src/vlc/bin/winvlc.c:228,1
    - Dst: MessageBox
      Src: /src/vlc/bin/winvlc.c:231,1
    - Dst: TEXT
      Src: /src/vlc/bin/winvlc.c:231,1
    - Dst: TEXT
      Src: /src/vlc/bin/winvlc.c:233,1
    - Dst: ReleaseCrashHandler
      Src: /src/vlc/bin/winvlc.c:238,1
    - Dst: free
      Src: /src/vlc/bin/winvlc.c:241,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 75
    argCount: 4
    argNames:
    - hInstance
    - hPrevInstance
    - lpCmdLine
    - nCmdShow
    argTypes:
    - HINSTANCE
    - HINSTANCE
    - LPSTR
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 245
    functionName: WinMain
    functionSourceFile: /src/vlc/bin/winvlc.c
    functionUses: 0
    functionsReached:
    - _fileno
    - CreateSemaphore
    - WaitForSingleObject
    - libvlc_InternalAddIntf
    - memcpy
    - MessageBox
    - libvlc_new
    - LocalFree
    - libvlc_SetExitHandler
    - SetDllDirectory
    - _wcsdup
    - wcslen
    - InstallCrashHandler
    - wcsncmp
    - RegOpenKeyEx
    - TEXT
    - ReleaseCrashHandler
    - CommandLineToArgvW
    - HeapSetInformation
    - snprintf
    - CloseHandle
    - SetProcessDEPPolicy
    - libvlc_set_user_agent
    - libvlc_release
    - strdup
    - fprintf
    - CheckCrashDump
    - libvlc_InternalPlay
    - libvlc_set_app_id
    - GetCommandLine
    - RegQueryValueEx
    - SHGetKnownFolderPath
    - wcscmp
    - CoTaskMemFree
    - free
    - putenv
    - malloc
    - setvbuf
    - _setmode
    - PrioritizeSystem32
    - FromWide
    - SetDefaultDllDirectories
    linkageType: ''
    returnType: int
    signature: "int WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,\n                    LPSTR
      lpCmdLine,\n                    int nCmdShow )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: pthread_self
    functionSourceFile: /src/vlc/bin/vlc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pthread_self()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - h
    - ','
    - i
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: pthread_sigmask
    functionSourceFile: /src/vlc/bin/vlc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pthread_sigmask(h, i, o)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: iconv_open
      Src: /src/vlc/bin/vlc.c:54,1
    - Dst: strlen
      Src: /src/vlc/bin/vlc.c:58,1
    - Dst: malloc
      Src: /src/vlc/bin/vlc.c:65,1
    - Dst: iconv
      Src: /src/vlc/bin/vlc.c:69,1
    - Dst: free
      Src: /src/vlc/bin/vlc.c:73,1
    - Dst: iconv_close
      Src: /src/vlc/bin/vlc.c:79,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - str
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 81
    functionName: FromSystem
    functionSourceFile: /src/vlc/bin/vlc.c
    functionUses: 0
    functionsReached:
    - iconv
    - strlen
    - iconv_open
    - free
    - iconv_close
    - malloc
    linkageType: ''
    returnType: char
    signature: char *FromSystem(const void *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sigaction
      Src: /src/vlc/bin/vlc.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: signal_ignored
    functionSourceFile: /src/vlc/bin/vlc.c
    functionUses: 0
    functionsReached:
    - sigaction
    linkageType: ''
    returnType: bool
    signature: bool signal_ignored (int signum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_kill
      Src: /src/vlc/bin/vlc.c:101,1
    - Dst: kill
      Src: /src/vlc/bin/vlc.c:104,1
    - Dst: getpid
      Src: /src/vlc/bin/vlc.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: vlc_kill
    functionSourceFile: /src/vlc/bin/vlc.c
    functionUses: 0
    functionsReached:
    - pthread_kill
    - getpid
    - kill
    linkageType: ''
    returnType: void
    signature: void vlc_kill (void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/vlc/bin/vlc.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: exit_timeout
    functionSourceFile: /src/vlc/bin/vlc.c
    functionUses: 0
    functionsReached:
    - signal
    linkageType: ''
    returnType: void
    signature: void exit_timeout (int signum)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/vlc/bin/vlc.c:126,1
    - Dst: signal
      Src: /src/vlc/bin/vlc.c:133,1
    - Dst: setenv
      Src: /src/vlc/bin/vlc.c:136,1
    - Dst: setenv
      Src: /src/vlc/bin/vlc.c:139,1
    - Dst: setenv
      Src: /src/vlc/bin/vlc.c:143,1
    - Dst: setenv
      Src: /src/vlc/bin/vlc.c:144,1
    - Dst: setenv
      Src: /src/vlc/bin/vlc.c:145,1
    - Dst: setenv
      Src: /src/vlc/bin/vlc.c:146,1
    - Dst: unsetenv
      Src: /src/vlc/bin/vlc.c:152,1
    - Dst: geteuid
      Src: /src/vlc/bin/vlc.c:155,1
    - Dst: fprintf
      Src: /src/vlc/bin/vlc.c:157,1
    - Dst: setlocale
      Src: /src/vlc/bin/vlc.c:165,1
    - Dst: isatty
      Src: /src/vlc/bin/vlc.c:167,1
    - Dst: fprintf
      Src: /src/vlc/bin/vlc.c:170,1
    - Dst: libvlc_get_version
      Src: /src/vlc/bin/vlc.c:171,1
    - Dst: libvlc_get_changeset
      Src: /src/vlc/bin/vlc.c:171,1
    - Dst: sigemptyset
      Src: /src/vlc/bin/vlc.c:175,1
    - Dst: sigaddset
      Src: /src/vlc/bin/vlc.c:189,1
    - Dst: sigaddset
      Src: /src/vlc/bin/vlc.c:190,1
    - Dst: sigaddset
      Src: /src/vlc/bin/vlc.c:191,1
    - Dst: sigaddset
      Src: /src/vlc/bin/vlc.c:192,1
    - Dst: sigaddset
      Src: /src/vlc/bin/vlc.c:202,1
    - Dst: sigaddset
      Src: /src/vlc/bin/vlc.c:209,1
    - Dst: pthread_self
      Src: /src/vlc/bin/vlc.c:212,1
    - Dst: pthread_sigmask
      Src: /src/vlc/bin/vlc.c:213,1
    - Dst: FromSystem
      Src: /src/vlc/bin/vlc.c:226,1
    - Dst: fprintf
      Src: /src/vlc/bin/vlc.c:228,1
    - Dst: memcpy
      Src: /src/vlc/bin/vlc.c:232,1
    - Dst: vlc_enable_override
      Src: /src/vlc/bin/vlc.c:237,1
    - Dst: libvlc_new
      Src: /src/vlc/bin/vlc.c:240,1
    - Dst: libvlc_SetExitHandler
      Src: /src/vlc/bin/vlc.c:245,1
    - Dst: libvlc_set_app_id
      Src: /src/vlc/bin/vlc.c:246,1
    - Dst: libvlc_set_user_agent
      Src: /src/vlc/bin/vlc.c:247,1
    - Dst: libvlc_InternalAddIntf
      Src: /src/vlc/bin/vlc.c:249,1
    - Dst: fprintf
      Src: /src/vlc/bin/vlc.c:251,1
    - Dst: libvlc_InternalPlay
      Src: /src/vlc/bin/vlc.c:255,1
    - Dst: sigdelset
      Src: /src/vlc/bin/vlc.c:259,1
    - Dst: pthread_sigmask
      Src: /src/vlc/bin/vlc.c:260,1
    - Dst: signal_ignored
      Src: /src/vlc/bin/vlc.c:263,1
    - Dst: sigdelset
      Src: /src/vlc/bin/vlc.c:264,1
    - Dst: sigdelset
      Src: /src/vlc/bin/vlc.c:266,1
    - Dst: sigwait
      Src: /src/vlc/bin/vlc.c:269,1
    - Dst: sigemptyset
      Src: /src/vlc/bin/vlc.c:272,1
    - Dst: sigaddset
      Src: /src/vlc/bin/vlc.c:273,1
    - Dst: sigaddset
      Src: /src/vlc/bin/vlc.c:274,1
    - Dst: signal
      Src: /src/vlc/bin/vlc.c:275,1
    - Dst: signal
      Src: /src/vlc/bin/vlc.c:276,1
    - Dst: pthread_sigmask
      Src: /src/vlc/bin/vlc.c:277,1
    - Dst: alarm
      Src: /src/vlc/bin/vlc.c:278,1
    - Dst: libvlc_release
      Src: /src/vlc/bin/vlc.c:283,1
    - Dst: free
      Src: /src/vlc/bin/vlc.c:286,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 68
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 289
    functionName: main
    functionSourceFile: /src/vlc/bin/vlc.c
    functionUses: 0
    functionsReached:
    - signal_ignored
    - libvlc_InternalAddIntf
    - FromSystem
    - memcpy
    - libvlc_new
    - libvlc_SetExitHandler
    - sigemptyset
    - sigaddset
    - setenv
    - libvlc_set_user_agent
    - libvlc_release
    - fprintf
    - libvlc_get_changeset
    - setlocale
    - unsetenv
    - libvlc_InternalPlay
    - libvlc_set_app_id
    - signal
    - pthread_self
    - isatty
    - geteuid
    - sigdelset
    - sigwait
    - pthread_sigmask
    - alarm
    - vlc_enable_override
    - free
    - libvlc_get_version
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/vlc/bin/cachegen.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: version
    functionSourceFile: /src/vlc/bin/cachegen.c
    functionUses: 1
    functionsReached:
    - puts
    linkageType: ''
    returnType: void
    signature: void version (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/bin/cachegen.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: usage
    functionSourceFile: /src/vlc/bin/cachegen.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void usage (const char *path)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/vlc/bin/cachegen.c:58,1
    - Dst: usage
      Src: /src/vlc/bin/cachegen.c:62,1
    - Dst: version
      Src: /src/vlc/bin/cachegen.c:65,1
    - Dst: usage
      Src: /src/vlc/bin/cachegen.c:68,1
    - Dst: setenv
      Src: /src/vlc/bin/cachegen.c:79,1
    - Dst: abort
      Src: /src/vlc/bin/cachegen.c:80,1
    - Dst: libvlc_new
      Src: /src/vlc/bin/cachegen.c:90,1
    - Dst: libvlc_release
      Src: /src/vlc/bin/cachegen.c:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 97
    functionName: main
    functionSourceFile: /src/vlc/bin/cachegen.c
    functionUses: 0
    functionsReached:
    - setenv
    - libvlc_release
    - usage
    - abort
    - getopt_long
    - version
    - libvlc_new
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: vlc_reset_override
    functionSourceFile: /src/vlc/bin/override.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vlc_reset_override (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_atfork
      Src: /src/vlc/bin/override.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: vlc_enable_override
    functionSourceFile: /src/vlc/bin/override.c
    functionUses: 1
    functionsReached:
    - pthread_atfork
    linkageType: ''
    returnType: void
    signature: void vlc_enable_override (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: backtrace
      Src: /src/vlc/bin/override.c:68,1
    - Dst: flockfile
      Src: /src/vlc/bin/override.c:70,1
    - Dst: fprintf
      Src: /src/vlc/bin/override.c:74,1
    - Dst: vfprintf
      Src: /src/vlc/bin/override.c:75,1
    - Dst: fputs
      Src: /src/vlc/bin/override.c:76,1
    - Dst: fflush
      Src: /src/vlc/bin/override.c:77,1
    - Dst: backtrace_symbols_fd
      Src: /src/vlc/bin/override.c:79,1
    - Dst: funlockfile
      Src: /src/vlc/bin/override.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - pc
    - level
    - func
    - fmt
    - ap
    argTypes:
    - unsigned*
    - char*
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 83
    functionName: vlogbug
    functionSourceFile: /src/vlc/bin/override.c
    functionUses: 0
    functionsReached:
    - fprintf
    - flockfile
    - fputs
    - fflush
    - backtrace
    - backtrace_symbols_fd
    - funlockfile
    - vfprintf
    linkageType: ''
    returnType: void
    signature: "void vlogbug (unsigned *pc, const char *level, const char *func,\n
      \                    const char *fmt, va_list ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vlc/bin/override.c:90,1
    - Dst: vlogbug
      Src: /src/vlc/bin/override.c:91,1
    - Dst: va_end
      Src: /src/vlc/bin/override.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - pc
    - level
    - func
    - fmt
    argTypes:
    - unsigned*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: logbug
    functionSourceFile: /src/vlc/bin/override.c
    functionUses: 1
    functionsReached:
    - vlogbug
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: "void logbug (unsigned *pc, const char *level, const char *func,\n
      \                   const char *fmt, ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlsym
      Src: /src/vlc/bin/override.c:97,1
    - Dst: fprintf
      Src: /src/vlc/bin/override.c:100,1
    - Dst: dlerror
      Src: /src/vlc/bin/override.c:101,1
    - Dst: abort
      Src: /src/vlc/bin/override.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 105
    functionName: getsym
    functionSourceFile: /src/vlc/bin/override.c
    functionUses: 0
    functionsReached:
    - fprintf
    - dlsym
    - abort
    - dlerror
    linkageType: ''
    returnType: void
    signature: void *getsym (const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - level
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: LOG
    functionSourceFile: /src/vlc/bin/override.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG(level, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: CALL
    functionSourceFile: /src/vlc/bin/override.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL(func, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/vlc/bin/override.c:132,1
    - Dst: CALL
      Src: /src/vlc/bin/override.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: putenv
    functionSourceFile: /src/vlc/bin/override.c
    functionUses: 1
    functionsReached:
    - LOG
    - CALL
    linkageType: ''
    returnType: int
    signature: int putenv (char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/vlc/bin/override.c:142,1
    - Dst: CALL
      Src: /src/vlc/bin/override.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - name
    - value
    - overwrite
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 146
    functionName: setenv
    functionSourceFile: /src/vlc/bin/override.c
    functionUses: 2
    functionsReached:
    - LOG
    - CALL
    linkageType: ''
    returnType: int
    signature: int setenv (const char *name, const char *value, int overwrite)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/vlc/bin/override.c:152,1
    - Dst: CALL
      Src: /src/vlc/bin/override.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 156
    functionName: unsetenv
    functionSourceFile: /src/vlc/bin/override.c
    functionUses: 1
    functionsReached:
    - LOG
    - CALL
    linkageType: ''
    returnType: int
    signature: int unsetenv (const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/vlc/bin/override.c:175,1
    - Dst: LOG
      Src: /src/vlc/bin/override.c:176,1
    - Dst: pthread_mutex_unlock
      Src: /src/vlc/bin/override.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - seed
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: srand
    functionSourceFile: /src/vlc/bin/override.c
    functionUses: 0
    functionsReached:
    - LOG
    - pthread_mutex_lock
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void srand (unsigned int seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/vlc/bin/override.c:185,1
    - Dst: LOG
      Src: /src/vlc/bin/override.c:186,1
    - Dst: rand_r
      Src: /src/vlc/bin/override.c:187,1
    - Dst: pthread_mutex_unlock
      Src: /src/vlc/bin/override.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 190
    functionName: rand
    functionSourceFile: /src/vlc/bin/override.c
    functionUses: 0
    functionsReached:
    - LOG
    - pthread_mutex_lock
    - rand_r
    - pthread_mutex_unlock
    linkageType: ''
    returnType: int
    signature: int rand (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 210
    functionName: blocked_signal
    functionSourceFile: /src/vlc/bin/override.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool blocked_signal (int num)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: blocked_signal
      Src: /src/vlc/bin/override.c:218,1
    - Dst: LOG
      Src: /src/vlc/bin/override.c:222,1
    - Dst: CALL
      Src: /src/vlc/bin/override.c:224,1
    - Dst: LOG
      Src: /src/vlc/bin/override.c:226,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 228
    functionName: (*signal (int signum, void (*handler) (int))) (int)
    functionSourceFile: /src/vlc/bin/override.c
    functionUses: 0
    functionsReached:
    - blocked_signal
    - LOG
    - CALL
    linkageType: ''
    returnType: void
    signature: void (*signal (int signum, void (*handler) (int))) (int)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/vlc/bin/override.c:238,1
    - Dst: CALL
      Src: /src/vlc/bin/override.c:240,1
    - Dst: LOG
      Src: /src/vlc/bin/override.c:242,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - signum
    - act
    - old
    argTypes:
    - int
    - struct sigaction*
    - struct sigaction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 244
    functionName: sigaction
    functionSourceFile: /src/vlc/bin/override.c
    functionUses: 1
    functionsReached:
    - LOG
    - CALL
    linkageType: ''
    returnType: int
    signature: int sigaction (int signum, const struct sigaction *act, struct sigaction
      *old)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/vlc/bin/override.c:259,1
    - Dst: CALL
      Src: /src/vlc/bin/override.c:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cat
    - locale
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 263
    functionName: setlocale
    functionSourceFile: /src/vlc/bin/override.c
    functionUses: 1
    functionsReached:
    - LOG
    - CALL
    linkageType: ''
    returnType: char
    signature: char *setlocale (int cat, const char *locale)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/vlc/bin/override.c:274,1
    - Dst: CALL
      Src: /src/vlc/bin/override.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 278
    functionName: strerror
    functionSourceFile: /src/vlc/bin/override.c
    functionUses: 0
    functionsReached:
    - LOG
    - CALL
    linkageType: ''
    returnType: char
    signature: char *strerror (int val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/vlc/bin/override.c:293,1
    - Dst: LOG
      Src: /src/vlc/bin/override.c:294,1
    - Dst: CALL
      Src: /src/vlc/bin/override.c:295,1
    - Dst: pthread_mutex_unlock
      Src: /src/vlc/bin/override.c:296,1
    - Dst: CALL
      Src: /src/vlc/bin/override.c:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 300
    functionName: "(*XSetErrorHandler (int (*handler) (Display *, XErrorEvent *)))\n
      \    (Display *, XErrorEvent *)"
    functionSourceFile: /src/vlc/bin/override.c
    functionUses: 0
    functionsReached:
    - CALL
    - LOG
    - pthread_mutex_lock
    - pthread_mutex_unlock
    linkageType: ''
    returnType: int
    signature: "int (*XSetErrorHandler (int (*handler) (Display *, XErrorEvent *)))\n
      \    (Display *, XErrorEvent *)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/vlc/bin/override.c:308,1
    - Dst: LOG
      Src: /src/vlc/bin/override.c:309,1
    - Dst: CALL
      Src: /src/vlc/bin/override.c:310,1
    - Dst: pthread_mutex_unlock
      Src: /src/vlc/bin/override.c:311,1
    - Dst: CALL
      Src: /src/vlc/bin/override.c:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 315
    functionName: (*XSetIOErrorHandler (int (*handler) (Display *))) (Display *)
    functionSourceFile: /src/vlc/bin/override.c
    functionUses: 0
    functionsReached:
    - CALL
    - LOG
    - pthread_mutex_lock
    - pthread_mutex_unlock
    linkageType: ''
    returnType: int
    signature: int (*XSetIOErrorHandler (int (*handler) (Display *))) (Display *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: vlc_enable_override
    functionSourceFile: /src/vlc/bin/override.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vlc_enable_override (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: CMSG_ALIGN
    functionSourceFile: /src/vlc/bin/rootwrap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMSG_ALIGN(len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: CMSG_SPACE
    functionSourceFile: /src/vlc/bin/rootwrap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMSG_SPACE(len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: CMSG_LEN
    functionSourceFile: /src/vlc/bin/rootwrap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMSG_LEN(len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/vlc/bin/rootwrap.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: is_allowed_port
    functionSourceFile: /src/vlc/bin/rootwrap.c
    functionUses: 0
    functionsReached:
    - ntohs
    linkageType: ''
    returnType: int
    signature: int is_allowed_port (uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/vlc/bin/rootwrap.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - err
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: send_err
    functionSourceFile: /src/vlc/bin/rootwrap.c
    functionUses: 0
    functionsReached:
    - send
    linkageType: ''
    returnType: int
    signature: int send_err (int fd, int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_SPACE
      Src: /src/vlc/bin/rootwrap.c:84,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/vlc/bin/rootwrap.c:97,1
    - Dst: CMSG_LEN
      Src: /src/vlc/bin/rootwrap.c:100,1
    - Dst: memcpy
      Src: /src/vlc/bin/rootwrap.c:101,1
    - Dst: CMSG_DATA
      Src: /src/vlc/bin/rootwrap.c:101,1
    - Dst: sendmsg
      Src: /src/vlc/bin/rootwrap.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - p
    - fd
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 105
    functionName: send_fd
    functionSourceFile: /src/vlc/bin/rootwrap.c
    functionUses: 0
    functionsReached:
    - CMSG_SPACE
    - CMSG_DATA
    - memcpy
    - sendmsg
    - CMSG_FIRSTHDR
    - CMSG_LEN
    linkageType: ''
    returnType: int
    signature: int send_fd (int p, int fd)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/vlc/bin/rootwrap.c:123,1
    - Dst: is_allowed_port
      Src: /src/vlc/bin/rootwrap.c:132,1
    - Dst: send_err
      Src: /src/vlc/bin/rootwrap.c:134,1
    - Dst: is_allowed_port
      Src: /src/vlc/bin/rootwrap.c:144,1
    - Dst: send_err
      Src: /src/vlc/bin/rootwrap.c:146,1
    - Dst: send_err
      Src: /src/vlc/bin/rootwrap.c:156,1
    - Dst: socket
      Src: /src/vlc/bin/rootwrap.c:161,1
    - Dst: setsockopt
      Src: /src/vlc/bin/rootwrap.c:164,1
    - Dst: setsockopt
      Src: /src/vlc/bin/rootwrap.c:167,1
    - Dst: bind
      Src: /src/vlc/bin/rootwrap.c:169,1
    - Dst: send_fd
      Src: /src/vlc/bin/rootwrap.c:171,1
    - Dst: close
      Src: /src/vlc/bin/rootwrap.c:172,1
    - Dst: close
      Src: /src/vlc/bin/rootwrap.c:175,1
    - Dst: send_err
      Src: /src/vlc/bin/rootwrap.c:177,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 179
    functionName: rootprocess
    functionSourceFile: /src/vlc/bin/rootwrap.c
    functionUses: 0
    functionsReached:
    - socket
    - recv
    - send_err
    - setsockopt
    - send_fd
    - close
    - is_allowed_port
    - bind
    linkageType: ''
    returnType: void
    signature: void rootprocess (int fd)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/vlc/bin/rootwrap.c:191,1
    - Dst: setsockopt
      Src: /src/vlc/bin/rootwrap.c:197,1
    - Dst: fork
      Src: /src/vlc/bin/rootwrap.c:200,1
    - Dst: open
      Src: /src/vlc/bin/rootwrap.c:208,1
    - Dst: dup2
      Src: /src/vlc/bin/rootwrap.c:211,1
    - Dst: dup2
      Src: /src/vlc/bin/rootwrap.c:212,1
    - Dst: dup2
      Src: /src/vlc/bin/rootwrap.c:213,1
    - Dst: close
      Src: /src/vlc/bin/rootwrap.c:214,1
    - Dst: close
      Src: /src/vlc/bin/rootwrap.c:216,1
    - Dst: setsid
      Src: /src/vlc/bin/rootwrap.c:217,1
    - Dst: rootprocess
      Src: /src/vlc/bin/rootwrap.c:218,1
    - Dst: exit
      Src: /src/vlc/bin/rootwrap.c:219,1
    - Dst: close
      Src: /src/vlc/bin/rootwrap.c:223,1
    - Dst: snprintf
      Src: /src/vlc/bin/rootwrap.c:227,1
    - Dst: setenv
      Src: /src/vlc/bin/rootwrap.c:228,1
    - Dst: sched_get_priority_min
      Src: /src/vlc/bin/rootwrap.c:233,1
    - Dst: setrlimit
      Src: /src/vlc/bin/rootwrap.c:234,1
    - Dst: getuid
      Src: /src/vlc/bin/rootwrap.c:237,1
    - Dst: getenv
      Src: /src/vlc/bin/rootwrap.c:240,1
    - Dst: atoi
      Src: /src/vlc/bin/rootwrap.c:242,1
    - Dst: fputs
      Src: /src/vlc/bin/rootwrap.c:246,1
    - Dst: exit
      Src: /src/vlc/bin/rootwrap.c:247,1
    - Dst: setuid
      Src: /src/vlc/bin/rootwrap.c:249,1
    - Dst: setuid
      Src: /src/vlc/bin/rootwrap.c:251,1
    - Dst: exit
      Src: /src/vlc/bin/rootwrap.c:252,1
    - Dst: strlen
      Src: /src/vlc/bin/rootwrap.c:256,1
    - Dst: strlen
      Src: /src/vlc/bin/rootwrap.c:258,1
    - Dst: strlen
      Src: /src/vlc/bin/rootwrap.c:258,1
    - Dst: execvp
      Src: /src/vlc/bin/rootwrap.c:261,1
    - Dst: perror
      Src: /src/vlc/bin/rootwrap.c:262,1
    - Dst: close
      Src: /src/vlc/bin/rootwrap.c:265,1
    - Dst: close
      Src: /src/vlc/bin/rootwrap.c:267,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 269
    functionName: main
    functionSourceFile: /src/vlc/bin/rootwrap.c
    functionUses: 0
    functionsReached:
    - setsid
    - atoi
    - perror
    - close
    - fputs
    - execvp
    - socketpair
    - getenv
    - setuid
    - dup2
    - snprintf
    - setenv
    - fork
    - getuid
    - setsockopt
    - sched_get_priority_min
    - setrlimit
    - exit
    - strlen
    - rootprocess
    - open
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - NAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: DECLARE_PLUGIN
    functionSourceFile: /src/vlc/bin/vlc_static_modules.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PLUGIN(NAME)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - NAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: LIST_PLUGIN
    functionSourceFile: /src/vlc/bin/vlc_static_modules.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_PLUGIN(NAME)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsDebuggerPresent
      Src: /src/vlc/bin/breakpad.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: FilterCallback
    functionSourceFile: /src/vlc/bin/breakpad.cpp
    functionUses: 0
    functionsReached:
    - IsDebuggerPresent
    linkageType: ''
    returnType: bool
    signature: bool FilterCallback(void*, EXCEPTION_POINTERS*, MDRawAssertionInfo*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: WIDEN_
    functionSourceFile: /src/vlc/bin/breakpad.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WIDEN_(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: WIDEN
    functionSourceFile: /src/vlc/bin/breakpad.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WIDEN(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FindFirstFileW
      Src: /src/vlc/bin/breakpad.cpp:54,1
    - Dst: std::wstringstream::str
      Src: /src/vlc/bin/breakpad.cpp:54,1
    - Dst: MessageBoxW
      Src: /src/vlc/bin/breakpad.cpp:57,1
    - Dst: WIDEN
      Src: /src/vlc/bin/breakpad.cpp:62,1
    - Dst: std::wstringstream::str
      Src: /src/vlc/bin/breakpad.cpp:70,1
    - Dst: google_breakpad::HTTPUpload::SendRequest
      Src: /src/vlc/bin/breakpad.cpp:71,1
    - Dst: WIDEN
      Src: /src/vlc/bin/breakpad.cpp:72,1
    - Dst: DeleteFileW
      Src: /src/vlc/bin/breakpad.cpp:75,1
    - Dst: std::wstringstream::str
      Src: /src/vlc/bin/breakpad.cpp:75,1
    - Dst: FindNextFileW
      Src: /src/vlc/bin/breakpad.cpp:76,1
    - Dst: FindClose
      Src: /src/vlc/bin/breakpad.cpp:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - path
    argTypes:
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 78
    functionName: CheckCrashDump
    functionSourceFile: /src/vlc/bin/breakpad.cpp
    functionUses: 1
    functionsReached:
    - WIDEN
    - FindFirstFileW
    - google_breakpad::HTTPUpload::SendRequest
    - std::wstringstream::str
    - DeleteFileW
    - FindClose
    - FindNextFileW
    - MessageBoxW
    linkageType: ''
    returnType: void
    signature: void CheckCrashDump( const wchar_t* path )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateDirectoryW
      Src: /src/vlc/bin/breakpad.cpp:83,1
    - Dst: ExceptionHandler::ExceptionHandler
      Src: /src/vlc/bin/breakpad.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - crashdump_path
    argTypes:
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: InstallCrashHandler
    functionSourceFile: /src/vlc/bin/breakpad.cpp
    functionUses: 1
    functionsReached:
    - CreateDirectoryW
    - ExceptionHandler::ExceptionHandler
    linkageType: ''
    returnType: void
    signature: void * InstallCrashHandler( const wchar_t* crashdump_path )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ExceptionHandler*>
      Src: /src/vlc/bin/breakpad.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: ReleaseCrashHandler
    functionSourceFile: /src/vlc/bin/breakpad.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<ExceptionHandler*>
    linkageType: ''
    returnType: void
    signature: void ReleaseCrashHandler( void* handler )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:51,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:52,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:53,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:54,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:55,1
    - Dst: vlc_preparser_req_GetItem
      Src: /src/vlc/bin/preparser/main.c:56,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:57,1
    - Dst: vlc_preparser_msg_serdes_Serialize
      Src: /src/vlc/bin/preparser/main.c:61,1
    - Dst: vlc_sem_post
      Src: /src/vlc/bin/preparser/main.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - req
    - status
    - userdata
    argTypes:
    - struct vlc_preparser_req*
    - int
    - void*
    assertStmts:
    - condition: (pp != NULL)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (pp->res_msg.type == VLC_PREPARSER_MSG_TYPE_RES)
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (pp->serdes != NULL)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (pp->res_msg.req_type == VLC_PREPARSER_MSG_REQ_TYPE_PARSE)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (req != NULL)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (item != NULL && item == pp->res_msg.res.item)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/vlc/bin/preparser/main.c
    constantsTouched: []
    func_position:
      end: 63
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 63
    functionName: parse_OnEnded
    functionSourceFile: /src/vlc/bin/preparser/main.c
    functionUses: 0
    functionsReached:
    - vlc_preparser_msg_serdes_Serialize
    - vlc_preparser_req_GetItem
    - assert
    - vlc_sem_post
    linkageType: ''
    returnType: void
    signature: void parse_OnEnded(struct vlc_preparser_req *req, int status, void
      *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:70,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:71,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:72,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:73,1
    - Dst: vlc_preparser_req_GetItem
      Src: /src/vlc/bin/preparser/main.c:74,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:75,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:76,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:79,1
    - Dst: vlc_input_attachment_Hold
      Src: /src/vlc/bin/preparser/main.c:80,1
    - Dst: vlc_vector_push
      Src: /src/vlc/bin/preparser/main.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - req
    - array
    - count
    - userdata
    argTypes:
    - struct vlc_preparser_req*
    - input_attachment_t**
    - size_t
    - void*
    assertStmts:
    - condition: (pp != NULL)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (pp->res_msg.req_type == VLC_PREPARSER_MSG_REQ_TYPE_PARSE)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (req != NULL)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (pp->res_msg.type == VLC_PREPARSER_MSG_TYPE_RES)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (item != NULL && item == pp->res_msg.res.item)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (array != NULL)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (array[i] != NULL)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/vlc/bin/preparser/main.c
    constantsTouched: []
    func_position:
      end: 83
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 83
    functionName: parse_OnAttachmentsAdded
    functionSourceFile: /src/vlc/bin/preparser/main.c
    functionUses: 0
    functionsReached:
    - vlc_input_attachment_Hold
    - vlc_preparser_req_GetItem
    - assert
    - vlc_vector_push
    linkageType: ''
    returnType: void
    signature: "void parse_OnAttachmentsAdded(struct vlc_preparser_req *req,\n                                     input_attachment_t
      *const *array,\n                                     size_t count, void *userdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:90,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:91,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:92,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:93,1
    - Dst: vlc_preparser_req_GetItem
      Src: /src/vlc/bin/preparser/main.c:94,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - req
    - subtree
    - userdata
    argTypes:
    - struct vlc_preparser_req*
    - input_item_node_t*
    - void*
    assertStmts:
    - condition: (pp != NULL)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (pp->res_msg.req_type == VLC_PREPARSER_MSG_REQ_TYPE_PARSE)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (pp->res_msg.type == VLC_PREPARSER_MSG_TYPE_RES)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (req != NULL)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (item != NULL && item == pp->res_msg.res.item)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/vlc/bin/preparser/main.c
    constantsTouched: []
    func_position:
      end: 98
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 98
    functionName: parse_OnSubtreeAdded
    functionSourceFile: /src/vlc/bin/preparser/main.c
    functionUses: 0
    functionsReached:
    - vlc_preparser_req_GetItem
    - assert
    linkageType: ''
    returnType: void
    signature: "void parse_OnSubtreeAdded(struct vlc_preparser_req *req,\n                                 input_item_node_t
      *subtree,\n                                 void *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:108,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:109,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:110,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:111,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:112,1
    - Dst: vlc_preparser_req_GetItem
      Src: /src/vlc/bin/preparser/main.c:113,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:114,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:118,1
    - Dst: picture_Hold
      Src: /src/vlc/bin/preparser/main.c:119,1
    - Dst: vlc_preparser_msg_serdes_Serialize
      Src: /src/vlc/bin/preparser/main.c:122,1
    - Dst: vlc_sem_post
      Src: /src/vlc/bin/preparser/main.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - req
    - status
    - thumbnail
    - userdata
    argTypes:
    - struct vlc_preparser_req*
    - int
    - picture_t*
    - void*
    assertStmts:
    - condition: (pp != NULL)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (req != NULL)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (pp->res_msg.req_type == VLC_PREPARSER_MSG_REQ_TYPE_THUMBNAIL)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (pp->res_msg.type == VLC_PREPARSER_MSG_TYPE_RES)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (pp->serdes != NULL)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (item != NULL && item == pp->res_msg.res.item)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (thumbnail != NULL)
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/vlc/bin/preparser/main.c
    constantsTouched: []
    func_position:
      end: 124
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 124
    functionName: thumbnailer_OnEnded
    functionSourceFile: /src/vlc/bin/preparser/main.c
    functionUses: 0
    functionsReached:
    - vlc_preparser_req_GetItem
    - assert
    - picture_Hold
    - vlc_sem_post
    - vlc_preparser_msg_serdes_Serialize
    linkageType: ''
    returnType: void
    signature: "void thumbnailer_OnEnded(struct vlc_preparser_req *req, int status,\n
      \                               picture_t* thumbnail, void *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:135,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:136,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:137,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:138,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:139,1
    - Dst: vlc_preparser_req_GetItem
      Src: /src/vlc/bin/preparser/main.c:140,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:141,1
    - Dst: vlc_vector_init
      Src: /src/vlc/bin/preparser/main.c:144,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:147,1
    - Dst: vlc_vector_push_all
      Src: /src/vlc/bin/preparser/main.c:148,1
    - Dst: vlc_preparser_msg_serdes_Serialize
      Src: /src/vlc/bin/preparser/main.c:151,1
    - Dst: vlc_sem_post
      Src: /src/vlc/bin/preparser/main.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - req
    - status
    - result_array
    - result_count
    - userdata
    argTypes:
    - struct vlc_preparser_req*
    - int
    - bool*
    - size_t
    - void*
    assertStmts:
    - condition: (pp != NULL)
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (pp->res_msg.req_type == VLC_PREPARSER_MSG_REQ_TYPE_THUMBNAIL_TO_FILES)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (pp->serdes != NULL)
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (req != NULL)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (pp->res_msg.type == VLC_PREPARSER_MSG_TYPE_RES)
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (item != NULL && item == pp->res_msg.res.item)
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (result_array != NULL)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/vlc/bin/preparser/main.c
    constantsTouched: []
    func_position:
      end: 153
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 153
    functionName: thumbnailer_to_files_OnEnded
    functionSourceFile: /src/vlc/bin/preparser/main.c
    functionUses: 0
    functionsReached:
    - vlc_preparser_req_GetItem
    - assert
    - vlc_vector_push_all
    - vlc_vector_init
    - vlc_sem_post
    - vlc_preparser_msg_serdes_Serialize
    linkageType: ''
    returnType: void
    signature: "void thumbnailer_to_files_OnEnded(struct vlc_preparser_req *req,\n
      \                                        int status, const bool *result_array,\n
      \                                        size_t result_count, void *userdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:163,1
    - Dst: vlc_preparser_Push
      Src: /src/vlc/bin/preparser/main.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - preparser
    - pp
    argTypes:
    - vlc_preparser_t*
    - struct preparser*
    assertStmts:
    - condition: (pp->req_msg.req_type == VLC_PREPARSER_MSG_REQ_TYPE_PARSE)
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/vlc/bin/preparser/main.c
    constantsTouched: []
    func_position:
      end: 173
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 173
    functionName: preparser_req_PreparsePush
    functionSourceFile: /src/vlc/bin/preparser/main.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_preparser_Push
    linkageType: ''
    returnType: struct vlc_preparser_req
    signature: "struct vlc_preparser_req *\npreparser_req_PreparsePush(vlc_preparser_t
      *preparser,\n                          struct preparser *pp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:179,1
    - Dst: vlc_preparser_GenerateThumbnail
      Src: /src/vlc/bin/preparser/main.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - preparser
    - pp
    argTypes:
    - vlc_preparser_t*
    - struct preparser*
    assertStmts:
    - condition: (pp->req_msg.req_type == VLC_PREPARSER_MSG_REQ_TYPE_THUMBNAIL)
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/vlc/bin/preparser/main.c
    constantsTouched: []
    func_position:
      end: 188
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 188
    functionName: preparser_req_PreparseThumbnail
    functionSourceFile: /src/vlc/bin/preparser/main.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_preparser_GenerateThumbnail
    linkageType: ''
    returnType: struct vlc_preparser_req
    signature: "struct vlc_preparser_req *\npreparser_req_PreparseThumbnail(vlc_preparser_t
      *preparser,\n                               struct preparser *pp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:194,1
    - Dst: vlc_preparser_GenerateThumbnailToFiles
      Src: /src/vlc/bin/preparser/main.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - preparser
    - pp
    argTypes:
    - vlc_preparser_t*
    - struct preparser*
    assertStmts:
    - condition: (pp->req_msg.req_type == VLC_PREPARSER_MSG_REQ_TYPE_THUMBNAIL_TO_FILES)
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/vlc/bin/preparser/main.c
    constantsTouched: []
    func_position:
      end: 206
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 206
    functionName: preparser_req_PreparseThumbnailToFiles
    functionSourceFile: /src/vlc/bin/preparser/main.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_preparser_GenerateThumbnailToFiles
    linkageType: ''
    returnType: struct vlc_preparser_req
    signature: "struct vlc_preparser_req *\npreparser_req_PreparseThumbnailToFiles(vlc_preparser_t
      *preparser,\n                                       struct preparser *pp)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:211,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:212,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:213,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:214,1
    - Dst: vlc_preparser_msg_Init
      Src: /src/vlc/bin/preparser/main.c:217,1
    - Dst: input_item_New
      Src: /src/vlc/bin/preparser/main.c:219,1
    - Dst: preparser_req_PreparsePush
      Src: /src/vlc/bin/preparser/main.c:227,1
    - Dst: preparser_req_PreparseThumbnail
      Src: /src/vlc/bin/preparser/main.c:230,1
    - Dst: preparser_req_PreparseThumbnailToFiles
      Src: /src/vlc/bin/preparser/main.c:233,1
    - Dst: vlc_preparser_msg_serdes_Serialize
      Src: /src/vlc/bin/preparser/main.c:241,1
    - Dst: vlc_preparser_req_Release
      Src: /src/vlc/bin/preparser/main.c:246,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/bin/preparser/main.c:247,1
    - Dst: vlc_preparser_msg_Clean
      Src: /src/vlc/bin/preparser/main.c:251,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 2
    argNames:
    - preparser
    - pp
    argTypes:
    - vlc_preparser_t*
    - struct preparser*
    assertStmts:
    - condition: (preparser != NULL)
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (pp->req_msg.req.uri != NULL)
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (pp->req_msg.type == VLC_PREPARSER_MSG_TYPE_REQ)
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (pp != NULL)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/vlc/bin/preparser/main.c
    constantsTouched: []
    func_position:
      end: 253
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 253
    functionName: preparser_req_Preparse
    functionSourceFile: /src/vlc/bin/preparser/main.c
    functionUses: 0
    functionsReached:
    - vlc_preparser_msg_Init
    - vlc_sem_wait
    - assert
    - preparser_req_PreparseThumbnailToFiles
    - preparser_req_PreparsePush
    - input_item_New
    - vlc_preparser_req_Release
    - preparser_req_PreparseThumbnail
    - vlc_preparser_msg_serdes_Serialize
    - vlc_preparser_msg_Clean
    linkageType: ''
    returnType: int
    signature: int preparser_req_Preparse(vlc_preparser_t *preparser, struct preparser
      *pp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/vlc/bin/preparser/main.c:263,1
    - Dst: vlc_tls_Write
      Src: /src/vlc/bin/preparser/main.c:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - data
    - size
    - userdata
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 269
    functionName: write_cbs
    functionSourceFile: /src/vlc/bin/preparser/main.c
    functionUses: 0
    functionsReached:
    - vlc_tls_Write
    - write
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t write_cbs(const void *data, size_t size, void *userdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/vlc/bin/preparser/main.c:275,1
    - Dst: vlc_tls_Read
      Src: /src/vlc/bin/preparser/main.c:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - data
    - size
    - userdata
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 281
    functionName: read_cbs
    functionSourceFile: /src/vlc/bin/preparser/main.c
    functionUses: 0
    functionsReached:
    - read
    - vlc_tls_Read
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t read_cbs(void *data, size_t size, void *userdata)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:292,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:293,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:294,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:295,1
    - Dst: vlc_preparser_msg_Init
      Src: /src/vlc/bin/preparser/main.c:300,1
    - Dst: preparser_req_Preparse
      Src: /src/vlc/bin/preparser/main.c:304,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/main.c:307,1
    - Dst: vlc_preparser_msg_Clean
      Src: /src/vlc/bin/preparser/main.c:308,1
    - Dst: vlc_preparser_msg_Clean
      Src: /src/vlc/bin/preparser/main.c:311,1
    - Dst: vlc_preparser_msg_Init
      Src: /src/vlc/bin/preparser/main.c:314,1
    - Dst: strdup
      Src: /src/vlc/bin/preparser/main.c:324,1
    - Dst: preparser_req_Preparse
      Src: /src/vlc/bin/preparser/main.c:325,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/main.c:328,1
    - Dst: vlc_preparser_msg_Clean
      Src: /src/vlc/bin/preparser/main.c:329,1
    - Dst: vlc_preparser_msg_Clean
      Src: /src/vlc/bin/preparser/main.c:332,1
    - Dst: vlc_preparser_msg_Init
      Src: /src/vlc/bin/preparser/main.c:335,1
    - Dst: vlc_vector_push
      Src: /src/vlc/bin/preparser/main.c:353,1
    - Dst: strdup
      Src: /src/vlc/bin/preparser/main.c:354,1
    - Dst: preparser_req_Preparse
      Src: /src/vlc/bin/preparser/main.c:355,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/main.c:358,1
    - Dst: vlc_preparser_msg_Clean
      Src: /src/vlc/bin/preparser/main.c:359,1
    - Dst: vlc_preparser_msg_Clean
      Src: /src/vlc/bin/preparser/main.c:362,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 62
    argCount: 4
    argNames:
    - preparser
    - pp
    - uri
    - args
    argTypes:
    - vlc_preparser_t*
    - struct preparser*
    - char*
    - struct preparser_args*
    assertStmts:
    - condition: (pp != NULL)
      pos:
        line_end: 292
        line_start: 292
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (args != NULL)
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (uri != NULL)
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (preparser != NULL)
      pos:
        line_end: 291
        line_start: 291
        source_file: /src/vlc/bin/preparser/main.c
    constantsTouched: []
    func_position:
      end: 366
      start: 287
    functionDepth: 3
    functionLinenumber: 287
    functionLinenumberEnd: 366
    functionName: preparser_args_Preparse
    functionSourceFile: /src/vlc/bin/preparser/main.c
    functionUses: 0
    functionsReached:
    - vlc_preparser_msg_Init
    - assert
    - preparser_req_Preparse
    - strdup
    - fprintf
    - vlc_vector_push
    - vlc_preparser_msg_Clean
    linkageType: ''
    returnType: int
    signature: "int preparser_args_Preparse(vlc_preparser_t *preparser,\n                        struct
      preparser *pp, char *uri,\n                        struct preparser_args *args)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:373,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:374,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:375,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:376,1
    - Dst: vlc_sem_init
      Src: /src/vlc/bin/preparser/main.c:379,1
    - Dst: vlc_preparser_msg_serdes_Create
      Src: /src/vlc/bin/preparser/main.c:390,1
    - Dst: strstr
      Src: /src/vlc/bin/preparser/main.c:397,1
    - Dst: vlc_path2uri
      Src: /src/vlc/bin/preparser/main.c:398,1
    - Dst: strdup
      Src: /src/vlc/bin/preparser/main.c:400,1
    - Dst: vlc_preparser_msg_serdes_Delete
      Src: /src/vlc/bin/preparser/main.c:403,1
    - Dst: preparser_args_Preparse
      Src: /src/vlc/bin/preparser/main.c:406,1
    - Dst: free
      Src: /src/vlc/bin/preparser/main.c:407,1
    - Dst: vlc_preparser_msg_serdes_Delete
      Src: /src/vlc/bin/preparser/main.c:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 5
    argNames:
    - obj
    - preparser
    - argv
    - argc
    - args
    argTypes:
    - vlc_object_t*
    - vlc_preparser_t*
    - char**
    - int
    - struct preparser_args*
    assertStmts:
    - condition: (preparser != NULL)
      pos:
        line_end: 372
        line_start: 372
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (args != 0)
      pos:
        line_end: 375
        line_start: 375
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (argv != NULL)
      pos:
        line_end: 373
        line_start: 373
        source_file: /src/vlc/bin/preparser/main.c
    - condition: (argc != 0)
      pos:
        line_end: 374
        line_start: 374
        source_file: /src/vlc/bin/preparser/main.c
    constantsTouched: []
    func_position:
      end: 411
      start: 369
    functionDepth: 4
    functionLinenumber: 369
    functionLinenumberEnd: 411
    functionName: preparser_args_Loop
    functionSourceFile: /src/vlc/bin/preparser/main.c
    functionUses: 0
    functionsReached:
    - vlc_sem_init
    - assert
    - strdup
    - vlc_preparser_msg_serdes_Create
    - vlc_preparser_msg_serdes_Delete
    - preparser_args_Preparse
    - free
    - strstr
    - vlc_path2uri
    linkageType: ''
    returnType: int
    signature: "int preparser_args_Loop(vlc_object_t *obj, vlc_preparser_t *preparser,\n
      \                   char *const *argv, int argc, struct preparser_args *args)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/bin/preparser/main.c:420,1
    - Dst: vlc_sem_init
      Src: /src/vlc/bin/preparser/main.c:423,1
    - Dst: vlc_preparser_msg_serdes_Create
      Src: /src/vlc/bin/preparser/main.c:432,1
    - Dst: vlc_tls_SocketOpen
      Src: /src/vlc/bin/preparser/main.c:438,1
    - Dst: vlc_preparser_msg_serdes_Delete
      Src: /src/vlc/bin/preparser/main.c:440,1
    - Dst: vlc_tls_SocketOpen
      Src: /src/vlc/bin/preparser/main.c:443,1
    - Dst: struct preparser::tls_in::ops::close
      Src: /src/vlc/bin/preparser/main.c:445,1
    - Dst: vlc_preparser_msg_serdes_Delete
      Src: /src/vlc/bin/preparser/main.c:446,1
    - Dst: vlc_preparser_msg_serdes_Deserialize
      Src: /src/vlc/bin/preparser/main.c:456,1
    - Dst: preparser_req_Preparse
      Src: /src/vlc/bin/preparser/main.c:462,1
    - Dst: vlc_preparser_msg_Clean
      Src: /src/vlc/bin/preparser/main.c:466,1
    - Dst: struct preparser::tls_in::ops::close
      Src: /src/vlc/bin/preparser/main.c:470,1
    - Dst: struct preparser::tls_out::ops::close
      Src: /src/vlc/bin/preparser/main.c:473,1
    - Dst: vlc_preparser_msg_serdes_Delete
      Src: /src/vlc/bin/preparser/main.c:475,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 2
    argNames:
    - obj
    - preparser
    argTypes:
    - vlc_object_t*
    - vlc_preparser_t*
    assertStmts:
    - condition: (preparser != NULL)
      pos:
        line_end: 419
        line_start: 419
        source_file: /src/vlc/bin/preparser/main.c
    constantsTouched: []
    func_position:
      end: 477
      start: 417
    functionDepth: 3
    functionLinenumber: 417
    functionLinenumberEnd: 477
    functionName: preparser_daemon_Loop
    functionSourceFile: /src/vlc/bin/preparser/main.c
    functionUses: 0
    functionsReached:
    - vlc_sem_init
    - assert
    - preparser_req_Preparse
    - vlc_preparser_msg_serdes_Create
    - vlc_preparser_msg_serdes_Delete
    - struct preparser::tls_in::ops::close
    - vlc_preparser_msg_serdes_Deserialize
    - vlc_tls_SocketOpen
    - vlc_preparser_msg_Clean
    - struct preparser::tls_out::ops::close
    linkageType: ''
    returnType: int
    signature: int preparser_daemon_Loop(vlc_object_t *obj, vlc_preparser_t *preparser)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setenv
      Src: /src/vlc/bin/preparser/main.c:490,1
    - Dst: setenv
      Src: /src/vlc/bin/preparser/main.c:491,1
    - Dst: setenv
      Src: /src/vlc/bin/preparser/main.c:492,1
    - Dst: setmode
      Src: /src/vlc/bin/preparser/main.c:497,1
    - Dst: setmode
      Src: /src/vlc/bin/preparser/main.c:498,1
    - Dst: vlc_thread_set_name
      Src: /src/vlc/bin/preparser/main.c:501,1
    - Dst: preparser_cmdline_Parse
      Src: /src/vlc/bin/preparser/main.c:517,1
    - Dst: libvlc_new
      Src: /src/vlc/bin/preparser/main.c:527,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/bin/preparser/main.c:527,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/bin/preparser/main.c:531,1
    - Dst: vlc_preparser_New
      Src: /src/vlc/bin/preparser/main.c:541,1
    - Dst: libvlc_release
      Src: /src/vlc/bin/preparser/main.c:543,1
    - Dst: preparser_daemon_Loop
      Src: /src/vlc/bin/preparser/main.c:548,1
    - Dst: preparser_args_Loop
      Src: /src/vlc/bin/preparser/main.c:550,1
    - Dst: vlc_preparser_Delete
      Src: /src/vlc/bin/preparser/main.c:554,1
    - Dst: libvlc_release
      Src: /src/vlc/bin/preparser/main.c:555,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 487
    functionDepth: 5
    functionLinenumber: 487
    functionLinenumberEnd: 557
    functionName: main
    functionSourceFile: /src/vlc/bin/preparser/main.c
    functionUses: 0
    functionsReached:
    - setenv
    - libvlc_release
    - vlc_thread_set_name
    - ARRAY_SIZE
    - vlc_preparser_New
    - preparser_daemon_Loop
    - setmode
    - vlc_preparser_Delete
    - libvlc_new
    - preparser_args_Loop
    - VLC_OBJECT
    - preparser_cmdline_Parse
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/bin/preparser/cmdline.c:28,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/cmdline.c:29,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/bin/preparser/cmdline.c:32,1
    - Dst: strtoull
      Src: /src/vlc/bin/preparser/cmdline.c:32,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/cmdline.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - args
    - arg
    argTypes:
    - struct preparser_args*
    - char*
    assertStmts:
    - condition: (args != NULL)
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/vlc/bin/preparser/cmdline.c
    - condition: (arg != NULL)
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/vlc/bin/preparser/cmdline.c
    constantsTouched: []
    func_position:
      end: 38
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 38
    functionName: opt_set_Timeout
    functionSourceFile: /src/vlc/bin/preparser/cmdline.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strtoull
    - assert
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: bool
    signature: bool opt_set_Timeout(struct preparser_args *args, const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/bin/preparser/cmdline.c:43,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/cmdline.c:44,1
    - Dst: strtoull
      Src: /src/vlc/bin/preparser/cmdline.c:47,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/cmdline.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - args
    - arg
    argTypes:
    - struct preparser_args*
    - char*
    assertStmts:
    - condition: (args != NULL)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/vlc/bin/preparser/cmdline.c
    - condition: (arg != NULL)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/vlc/bin/preparser/cmdline.c
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: opt_set_TimeoutTick
    functionSourceFile: /src/vlc/bin/preparser/cmdline.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strtoull
    - assert
    linkageType: ''
    returnType: bool
    signature: bool opt_set_TimeoutTick(struct preparser_args *args, const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/bin/preparser/cmdline.c:58,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/cmdline.c:59,1
    - Dst: strtoll
      Src: /src/vlc/bin/preparser/cmdline.c:63,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/cmdline.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - args
    - arg
    argTypes:
    - struct preparser_args*
    - char*
    assertStmts:
    - condition: (args != NULL)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/vlc/bin/preparser/cmdline.c
    - condition: (arg != NULL)
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/vlc/bin/preparser/cmdline.c
    constantsTouched: []
    func_position:
      end: 70
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 70
    functionName: opt_set_Types
    functionSourceFile: /src/vlc/bin/preparser/cmdline.c
    functionUses: 0
    functionsReached:
    - fprintf
    - assert
    - strtoll
    linkageType: ''
    returnType: bool
    signature: bool opt_set_Types(struct preparser_args *args, const char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/bin/preparser/cmdline.c:75,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/cmdline.c:76,1
    - Dst: strcmp
      Src: /src/vlc/bin/preparser/cmdline.c:78,1
    - Dst: strcmp
      Src: /src/vlc/bin/preparser/cmdline.c:80,1
    - Dst: strcmp
      Src: /src/vlc/bin/preparser/cmdline.c:80,1
    - Dst: strcmp
      Src: /src/vlc/bin/preparser/cmdline.c:82,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/cmdline.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - args
    - arg
    argTypes:
    - struct preparser_args*
    - char*
    assertStmts:
    - condition: (args != NULL)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/vlc/bin/preparser/cmdline.c
    - condition: (arg != NULL)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/vlc/bin/preparser/cmdline.c
    constantsTouched: []
    func_position:
      end: 91
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 91
    functionName: opt_set_Type
    functionSourceFile: /src/vlc/bin/preparser/cmdline.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strcmp
    - assert
    linkageType: ''
    returnType: bool
    signature: bool opt_set_Type(struct preparser_args *args, const char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/bin/preparser/cmdline.c:96,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/cmdline.c:97,1
    - Dst: strcmp
      Src: /src/vlc/bin/preparser/cmdline.c:99,1
    - Dst: strcmp
      Src: /src/vlc/bin/preparser/cmdline.c:101,1
    - Dst: strcmp
      Src: /src/vlc/bin/preparser/cmdline.c:101,1
    - Dst: strcmp
      Src: /src/vlc/bin/preparser/cmdline.c:103,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/cmdline.c:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - args
    - arg
    argTypes:
    - struct preparser_args*
    - char*
    assertStmts:
    - condition: (args != NULL)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/vlc/bin/preparser/cmdline.c
    - condition: (arg != NULL)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/vlc/bin/preparser/cmdline.c
    constantsTouched: []
    func_position:
      end: 112
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 112
    functionName: opt_set_Fetch
    functionSourceFile: /src/vlc/bin/preparser/cmdline.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strcmp
    - assert
    linkageType: ''
    returnType: bool
    signature: bool opt_set_Fetch(struct preparser_args *args, const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/bin/preparser/cmdline.c:117,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/cmdline.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - args
    - arg
    argTypes:
    - struct preparser_args*
    - char*
    assertStmts:
    - condition: (args != NULL)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/vlc/bin/preparser/cmdline.c
    - condition: (arg == NULL)
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/vlc/bin/preparser/cmdline.c
    constantsTouched: []
    func_position:
      end: 122
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 122
    functionName: opt_set_Daemon
    functionSourceFile: /src/vlc/bin/preparser/cmdline.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool opt_set_Daemon(struct preparser_args *args, const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/bin/preparser/cmdline.c:127,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/cmdline.c:128,1
    - Dst: strcmp
      Src: /src/vlc/bin/preparser/cmdline.c:130,1
    - Dst: strcmp
      Src: /src/vlc/bin/preparser/cmdline.c:132,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/cmdline.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - args
    - arg
    argTypes:
    - struct preparser_args*
    - char*
    assertStmts:
    - condition: (args != NULL)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/vlc/bin/preparser/cmdline.c
    - condition: (arg != NULL)
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/vlc/bin/preparser/cmdline.c
    constantsTouched: []
    func_position:
      end: 139
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 139
    functionName: opt_set_SeekSpeed
    functionSourceFile: /src/vlc/bin/preparser/cmdline.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strcmp
    - assert
    linkageType: ''
    returnType: bool
    signature: bool opt_set_SeekSpeed(struct preparser_args *args, const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/bin/preparser/cmdline.c:144,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/cmdline.c:145,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/cmdline.c:148,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/bin/preparser/cmdline.c:153,1
    - Dst: strtoull
      Src: /src/vlc/bin/preparser/cmdline.c:153,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/cmdline.c:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - args
    - arg
    argTypes:
    - struct preparser_args*
    - char*
    assertStmts:
    - condition: (args != NULL)
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/vlc/bin/preparser/cmdline.c
    - condition: (arg != NULL)
      pos:
        line_end: 144
        line_start: 144
        source_file: /src/vlc/bin/preparser/cmdline.c
    constantsTouched: []
    func_position:
      end: 160
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 160
    functionName: opt_set_SeekTime
    functionSourceFile: /src/vlc/bin/preparser/cmdline.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strtoull
    - assert
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: bool
    signature: bool opt_set_SeekTime(struct preparser_args *args, const char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/bin/preparser/cmdline.c:165,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/cmdline.c:166,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/cmdline.c:169,1
    - Dst: strtod
      Src: /src/vlc/bin/preparser/cmdline.c:174,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/cmdline.c:176,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/cmdline.c:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - args
    - arg
    argTypes:
    - struct preparser_args*
    - char*
    assertStmts:
    - condition: (args != NULL)
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/vlc/bin/preparser/cmdline.c
    - condition: (arg != NULL)
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/vlc/bin/preparser/cmdline.c
    constantsTouched: []
    func_position:
      end: 185
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 185
    functionName: opt_set_SeekPos
    functionSourceFile: /src/vlc/bin/preparser/cmdline.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strtod
    - assert
    linkageType: ''
    returnType: bool
    signature: bool opt_set_SeekPos(struct preparser_args *args, const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/bin/preparser/cmdline.c:190,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/cmdline.c:191,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/cmdline.c:194,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/cmdline.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - args
    - arg
    argTypes:
    - struct preparser_args*
    - char*
    assertStmts:
    - condition: (args != NULL)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/vlc/bin/preparser/cmdline.c
    - condition: (arg != NULL)
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/vlc/bin/preparser/cmdline.c
    constantsTouched: []
    func_position:
      end: 204
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 204
    functionName: opt_set_OutputPath
    functionSourceFile: /src/vlc/bin/preparser/cmdline.c
    functionUses: 0
    functionsReached:
    - fprintf
    - assert
    linkageType: ''
    returnType: bool
    signature: bool opt_set_OutputPath(struct preparser_args *args, const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/bin/preparser/cmdline.c:209,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/cmdline.c:210,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/cmdline.c:213,1
    - Dst: strtoull
      Src: /src/vlc/bin/preparser/cmdline.c:217,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/cmdline.c:219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - args
    - arg
    argTypes:
    - struct preparser_args*
    - char*
    assertStmts:
    - condition: (args != NULL)
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/vlc/bin/preparser/cmdline.c
    - condition: (arg != NULL)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/vlc/bin/preparser/cmdline.c
    constantsTouched: []
    func_position:
      end: 223
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 223
    functionName: opt_set_OutputWidth
    functionSourceFile: /src/vlc/bin/preparser/cmdline.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strtoull
    - assert
    linkageType: ''
    returnType: bool
    signature: bool opt_set_OutputWidth(struct preparser_args *args, const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/bin/preparser/cmdline.c:228,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/cmdline.c:229,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/cmdline.c:232,1
    - Dst: strtoull
      Src: /src/vlc/bin/preparser/cmdline.c:236,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/cmdline.c:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - args
    - arg
    argTypes:
    - struct preparser_args*
    - char*
    assertStmts:
    - condition: (args != NULL)
      pos:
        line_end: 227
        line_start: 227
        source_file: /src/vlc/bin/preparser/cmdline.c
    - condition: (arg != NULL)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/vlc/bin/preparser/cmdline.c
    constantsTouched: []
    func_position:
      end: 242
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 242
    functionName: opt_set_OutputHeight
    functionSourceFile: /src/vlc/bin/preparser/cmdline.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strtoull
    - assert
    linkageType: ''
    returnType: bool
    signature: bool opt_set_OutputHeight(struct preparser_args *args, const char *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/bin/preparser/cmdline.c:247,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/cmdline.c:248,1
    - Dst: strcmp
      Src: /src/vlc/bin/preparser/cmdline.c:250,1
    - Dst: strcmp
      Src: /src/vlc/bin/preparser/cmdline.c:252,1
    - Dst: strcmp
      Src: /src/vlc/bin/preparser/cmdline.c:252,1
    - Dst: strcmp
      Src: /src/vlc/bin/preparser/cmdline.c:254,1
    - Dst: strcmp
      Src: /src/vlc/bin/preparser/cmdline.c:256,1
    - Dst: strcmp
      Src: /src/vlc/bin/preparser/cmdline.c:258,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/cmdline.c:261,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - args
    - arg
    argTypes:
    - struct preparser_args*
    - char*
    assertStmts:
    - condition: (args != NULL)
      pos:
        line_end: 246
        line_start: 246
        source_file: /src/vlc/bin/preparser/cmdline.c
    - condition: (arg != NULL)
      pos:
        line_end: 247
        line_start: 247
        source_file: /src/vlc/bin/preparser/cmdline.c
    constantsTouched: []
    func_position:
      end: 265
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 265
    functionName: opt_set_OutputFormat
    functionSourceFile: /src/vlc/bin/preparser/cmdline.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strcmp
    - assert
    linkageType: ''
    returnType: bool
    signature: bool opt_set_OutputFormat(struct preparser_args *args, const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/bin/preparser/cmdline.c:270,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/cmdline.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - args
    - arg
    argTypes:
    - struct preparser_args*
    - char*
    assertStmts:
    - condition: (args != NULL)
      pos:
        line_end: 269
        line_start: 269
        source_file: /src/vlc/bin/preparser/cmdline.c
    - condition: (arg == NULL)
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/vlc/bin/preparser/cmdline.c
    constantsTouched: []
    func_position:
      end: 275
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 275
    functionName: opt_set_OutputCrop
    functionSourceFile: /src/vlc/bin/preparser/cmdline.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool opt_set_OutputCrop(struct preparser_args *args, const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/bin/preparser/cmdline.c:279,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/cmdline.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - args
    - arg
    argTypes:
    - struct preparser_args*
    - char*
    assertStmts:
    - condition: (args != NULL)
      pos:
        line_end: 278
        line_start: 278
        source_file: /src/vlc/bin/preparser/cmdline.c
    - condition: (arg != NULL)
      pos:
        line_end: 279
        line_start: 279
        source_file: /src/vlc/bin/preparser/cmdline.c
    constantsTouched: []
    func_position:
      end: 284
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 284
    functionName: opt_set_Verbose
    functionSourceFile: /src/vlc/bin/preparser/cmdline.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool opt_set_Verbose(struct preparser_args *args, const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - n
    - ','
    - set_fn
    - ','
    - description
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: opt_add_bool
    functionSourceFile: /src/vlc/bin/preparser/cmdline.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: opt_add_bool(n, set_fn, description)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - n
    - ','
    - set_fn
    - ','
    - description
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: opt_add_integer
    functionSourceFile: /src/vlc/bin/preparser/cmdline.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: opt_add_integer(n, set_fn, description)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - n
    - ','
    - set_fn
    - ','
    - description
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: opt_add_string
    functionSourceFile: /src/vlc/bin/preparser/cmdline.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: opt_add_string(n, set_fn, description)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/bin/preparser/cmdline.c:348,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/cmdline.c:350,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/cmdline.c:351,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/bin/preparser/cmdline.c:352,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/cmdline.c:355,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/cmdline.c:367,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/cmdline.c:371,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/cmdline.c:373,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/cmdline.c:375,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - arg0
    argTypes:
    - char*
    assertStmts:
    - condition: (arg0 != NULL)
      pos:
        line_end: 347
        line_start: 347
        source_file: /src/vlc/bin/preparser/cmdline.c
    constantsTouched: []
    func_position:
      end: 376
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 376
    functionName: preparser_help
    functionSourceFile: /src/vlc/bin/preparser/cmdline.c
    functionUses: 0
    functionsReached:
    - fprintf
    - assert
    - ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: void preparser_help(const char *arg0)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/bin/preparser/cmdline.c:383,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/cmdline.c:384,1
    - Dst: assert
      Src: /src/vlc/bin/preparser/cmdline.c:385,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/bin/preparser/cmdline.c:387,1
    - Dst: calloc
      Src: /src/vlc/bin/preparser/cmdline.c:388,1
    - Dst: vlc_getopt_long
      Src: /src/vlc/bin/preparser/cmdline.c:406,1
    - Dst: preparser_help
      Src: /src/vlc/bin/preparser/cmdline.c:411,1
    - Dst: set
      Src: /src/vlc/bin/preparser/cmdline.c:413,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/cmdline.c:415,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/cmdline.c:421,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/cmdline.c:425,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/cmdline.c:430,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/cmdline.c:432,1
    - Dst: vlc_jaro_winkler
      Src: /src/vlc/bin/preparser/cmdline.c:448,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/cmdline.c:457,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/cmdline.c:460,1
    - Dst: free
      Src: /src/vlc/bin/preparser/cmdline.c:461,1
    - Dst: free
      Src: /src/vlc/bin/preparser/cmdline.c:465,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/cmdline.c:481,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/cmdline.c:483,1
    - Dst: fprintf
      Src: /src/vlc/bin/preparser/cmdline.c:488,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 89
    argCount: 3
    argNames:
    - argc
    - argv
    - args
    argTypes:
    - int
    - char**
    - struct preparser_args*
    assertStmts:
    - condition: (argv != NULL)
      pos:
        line_end: 383
        line_start: 383
        source_file: /src/vlc/bin/preparser/cmdline.c
    - condition: (argc != 0)
      pos:
        line_end: 382
        line_start: 382
        source_file: /src/vlc/bin/preparser/cmdline.c
    - condition: (args != NULL)
      pos:
        line_end: 384
        line_start: 384
        source_file: /src/vlc/bin/preparser/cmdline.c
    constantsTouched: []
    func_position:
      end: 494
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 494
    functionName: preparser_cmdline_Parse
    functionSourceFile: /src/vlc/bin/preparser/cmdline.c
    functionUses: 1
    functionsReached:
    - assert
    - ARRAY_SIZE
    - fprintf
    - vlc_jaro_winkler
    - calloc
    - preparser_help
    - set
    - free
    - vlc_getopt_long
    linkageType: ''
    returnType: int
    signature: "int preparser_cmdline_Parse(int argc, char *const *argv,\n                        struct
      preparser_args *args)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_run_args_init
      Src: /src/vlc/test/vlc-demux-run.c:38,1
    - Dst: fprintf
      Src: /src/vlc/test/vlc-demux-run.c:46,1
    - Dst: vlc_demux_process_path
      Src: /src/vlc/test/vlc-demux-run.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 51
    functionName: main
    functionSourceFile: /src/vlc/test/vlc-demux-run.c
    functionUses: 0
    functionsReached:
    - fprintf
    - vlc_demux_process_path
    - vlc_run_args_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_run_args_init
      Src: /src/vlc/test/vlc-demux-libfuzzer.c:45,1
    - Dst: strstr
      Src: /src/vlc/test/vlc-demux-libfuzzer.c:52,1
    - Dst: libvlc_create
      Src: /src/vlc/test/vlc-demux-libfuzzer.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 59
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/vlc/test/vlc-demux-libfuzzer.c
    functionUses: 0
    functionsReached:
    - libvlc_create
    - strstr
    - vlc_run_args_init
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int *argc, char ***argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_demux_process_memory
      Src: /src/vlc/test/vlc-demux-libfuzzer.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/vlc/test/vlc-demux-libfuzzer.c
    functionUses: 0
    functionsReached:
    - libvlc_demux_process_memory
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/test/vlc-window.c:35,1
    - Dst: exit
      Src: /src/vlc/test/vlc-window.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - ret
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: usage
    functionSourceFile: /src/vlc/test/vlc-window.c
    functionUses: 1
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(const char *name, int ret)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/vlc/test/vlc-window.c:43,1
    - Dst: usage
      Src: /src/vlc/test/vlc-window.c:48,1
    - Dst: strdup
      Src: /src/vlc/test/vlc-window.c:62,1
    - Dst: usage
      Src: /src/vlc/test/vlc-window.c:66,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 70
    functionName: cmdline
    functionSourceFile: /src/vlc/test/vlc-window.c
    functionUses: 0
    functionsReached:
    - getopt
    - strdup
    - usage
    linkageType: ''
    returnType: void
    signature: void cmdline(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_new
      Src: /src/vlc/test/vlc-window.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: create_libvlc
    functionSourceFile: /src/vlc/test/vlc-window.c
    functionUses: 0
    functionsReached:
    - libvlc_new
    linkageType: ''
    returnType: libvlc_instance_t
    signature: libvlc_instance_t *create_libvlc(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/test/vlc-window.c:90,1
    - Dst: printf
      Src: /src/vlc/test/vlc-window.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - wnd
    - id
    - desc
    argTypes:
    - struct vlc_window*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: ReportOutput
    functionSourceFile: /src/vlc/test/vlc-window.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: "void ReportOutput(\n        struct vlc_window *wnd,\n        const
      char *id,\n        const char *desc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ack_cb
      Src: /src/vlc/test/vlc-window.c:101,1
    - Dst: printf
      Src: /src/vlc/test/vlc-window.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - wnd
    - width
    - height
    - ack_cb
    - opaque
    argTypes:
    - struct vlc_window*
    - unsigned
    - unsigned
    - vlc_window_ack_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: ReportResized
    functionSourceFile: /src/vlc/test/vlc-window.c
    functionUses: 0
    functionsReached:
    - printf
    - ack_cb
    linkageType: ''
    returnType: void
    signature: "void ReportResized(\n        struct vlc_window *wnd,\n        unsigned
      width, unsigned height,\n        vlc_window_ack_cb ack_cb, void *opaque)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setenv
      Src: /src/vlc/test/vlc-window.c:108,1
    - Dst: setenv
      Src: /src/vlc/test/vlc-window.c:109,1
    - Dst: setenv
      Src: /src/vlc/test/vlc-window.c:110,1
    - Dst: setlocale
      Src: /src/vlc/test/vlc-window.c:114,1
    - Dst: cmdline
      Src: /src/vlc/test/vlc-window.c:116,1
    - Dst: create_libvlc
      Src: /src/vlc/test/vlc-window.c:119,1
    - Dst: assert
      Src: /src/vlc/test/vlc-window.c:120,1
    - Dst: vlc_window_New
      Src: /src/vlc/test/vlc-window.c:140,1
    - Dst: vlc_window_Enable
      Src: /src/vlc/test/vlc-window.c:145,1
    - Dst: vlc_window_Disable
      Src: /src/vlc/test/vlc-window.c:148,1
    - Dst: vlc_window_Delete
      Src: /src/vlc/test/vlc-window.c:151,1
    - Dst: libvlc_release
      Src: /src/vlc/test/vlc-window.c:153,1
    - Dst: free
      Src: /src/vlc/test/vlc-window.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (libvlc)
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/vlc/test/vlc-window.c
    constantsTouched: []
    func_position:
      end: 157
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 157
    functionName: main
    functionSourceFile: /src/vlc/test/vlc-window.c
    functionUses: 0
    functionsReached:
    - setenv
    - libvlc_release
    - assert
    - cmdline
    - setlocale
    - vlc_window_New
    - vlc_window_Enable
    - vlc_window_Disable
    - free
    - vlc_window_Delete
    - create_libvlc
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_parser_task_get_media
      Src: /src/vlc/test/libvlc/media.c:38,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:39,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:40,1
    - Dst: libvlc_media_is_parsed
      Src: /src/vlc/test/libvlc/media.c:40,1
    - Dst: vlc_sem_post
      Src: /src/vlc/test/libvlc/media.c:44,1
    - Dst: libvlc_parser_task_release
      Src: /src/vlc/test/libvlc/media.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - opaque
    - task
    - status
    argTypes:
    - void*
    - libvlc_parser_task*
    - libvlc_parser_status_t
    assertStmts:
    - condition: "(libvlc_media_is_parsed(media) ==\n           (status == libvlc_parser_status_done))"
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (media != NULL)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/vlc/test/libvlc/media.c
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: media_parse_ended
    functionSourceFile: /src/vlc/test/libvlc/media.c
    functionUses: 0
    functionsReached:
    - assert
    - libvlc_media_is_parsed
    - libvlc_parser_task_release
    - libvlc_parser_task_get_media
    - vlc_sem_post
    linkageType: ''
    returnType: void
    signature: "void media_parse_ended(void *opaque, libvlc_parser_task *task,\n                              libvlc_parser_status_t
      status)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/libvlc/media.c:55,1
    - Dst: libvlc_media_get_tracklist
      Src: /src/vlc/test/libvlc/media.c:59,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:60,1
    - Dst: libvlc_media_tracklist_count
      Src: /src/vlc/test/libvlc/media.c:62,1
    - Dst: libvlc_media_tracklist_at
      Src: /src/vlc/test/libvlc/media.c:65,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:67,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:68,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/media.c:71,1
    - Dst: printf
      Src: /src/vlc/test/libvlc/media.c:77,1
    - Dst: printf
      Src: /src/vlc/test/libvlc/media.c:81,1
    - Dst: printf
      Src: /src/vlc/test/libvlc/media.c:87,1
    - Dst: printf
      Src: /src/vlc/test/libvlc/media.c:90,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/test/libvlc/media.c:93,1
    - Dst: libvlc_media_tracklist_delete
      Src: /src/vlc/test/libvlc/media.c:96,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/media.c:100,1
    - Dst: libvlc_media_get_meta
      Src: /src/vlc/test/libvlc/media.c:105,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/media.c:107,1
    - Dst: free
      Src: /src/vlc/test/libvlc/media.c:108,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 1
    argNames:
    - media
    argTypes:
    - libvlc_media_t*
    assertStmts:
    - condition: (tracklist)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (p_track)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (p_track->i_type == type)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/vlc/test/libvlc/media.c
    constantsTouched: []
    func_position:
      end: 110
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 110
    functionName: print_media
    functionSourceFile: /src/vlc/test/libvlc/media.c
    functionUses: 0
    functionsReached:
    - libvlc_media_tracklist_at
    - assert
    - ARRAY_SIZE
    - vlc_assert_unreachable
    - printf
    - libvlc_media_get_meta
    - test_log
    - free
    - libvlc_media_tracklist_count
    - libvlc_media_get_tracklist
    - libvlc_media_tracklist_delete
    linkageType: ''
    returnType: void
    signature: void print_media(libvlc_media_t *media)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/libvlc/media.c:118,1
    - Dst: libvlc_media_new_path
      Src: /src/vlc/test/libvlc/media.c:123,1
    - Dst: libvlc_media_new_location
      Src: /src/vlc/test/libvlc/media.c:125,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:126,1
    - Dst: vlc_sem_init
      Src: /src/vlc/test/libvlc/media.c:129,1
    - Dst: libvlc_parser_new
      Src: /src/vlc/test/libvlc/media.c:142,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:143,1
    - Dst: libvlc_parser_queue
      Src: /src/vlc/test/libvlc/media.c:151,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:152,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/test/libvlc/media.c:155,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:158,1
    - Dst: libvlc_media_is_parsed
      Src: /src/vlc/test/libvlc/media.c:158,1
    - Dst: print_media
      Src: /src/vlc/test/libvlc/media.c:160,1
    - Dst: libvlc_parser_destroy
      Src: /src/vlc/test/libvlc/media.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - vlc
    - path
    - location
    - parse_flags
    - b_expected_parsed
    argTypes:
    - libvlc_instance_t*
    - char*
    - char*
    - libvlc_media_parse_flag_t
    - bool
    assertStmts:
    - condition: (media != NULL)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (parser != NULL)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (task != NULL)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (libvlc_media_is_parsed(media) == b_expected_parsed)
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/vlc/test/libvlc/media.c
    constantsTouched: []
    func_position:
      end: 165
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 165
    functionName: test_media_preparsed_ext
    functionSourceFile: /src/vlc/test/libvlc/media.c
    functionUses: 0
    functionsReached:
    - libvlc_media_new_path
    - vlc_sem_init
    - assert
    - vlc_sem_wait
    - libvlc_parser_destroy
    - libvlc_media_is_parsed
    - libvlc_parser_new
    - test_log
    - libvlc_media_new_location
    - libvlc_parser_queue
    - print_media
    linkageType: ''
    returnType: libvlc_media_t
    signature: "libvlc_media_t *\ntest_media_preparsed_ext(libvlc_instance_t *vlc,
      const char *path,\n                         const char *location,\n                         libvlc_media_parse_flag_t
      parse_flags,\n                         bool b_expected_parsed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_media_preparsed_ext
      Src: /src/vlc/test/libvlc/media.c:172,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/media.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - vlc
    - path
    - location
    - parse_flags
    - b_expected_parsed
    argTypes:
    - libvlc_instance_t*
    - char*
    - char*
    - libvlc_media_parse_flag_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 176
    functionName: test_media_preparsed
    functionSourceFile: /src/vlc/test/libvlc/media.c
    functionUses: 0
    functionsReached:
    - libvlc_media_release
    - test_media_preparsed_ext
    linkageType: ''
    returnType: void
    signature: "void test_media_preparsed(libvlc_instance_t *vlc, const char *path,\n
      \                                const char *location,\n                                 libvlc_media_parse_flag_t
      parse_flags,\n                                 bool b_expected_parsed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_media_preparsed_ext
      Src: /src/vlc/test/libvlc/media.c:185,1
    - Dst: libvlc_media_get_tracklist
      Src: /src/vlc/test/libvlc/media.c:192,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:193,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:194,1
    - Dst: libvlc_media_tracklist_count
      Src: /src/vlc/test/libvlc/media.c:194,1
    - Dst: libvlc_media_tracklist_count
      Src: /src/vlc/test/libvlc/media.c:195,1
    - Dst: libvlc_media_tracklist_at
      Src: /src/vlc/test/libvlc/media.c:197,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:198,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:199,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:200,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:201,1
    - Dst: sprintf
      Src: /src/vlc/test/libvlc/media.c:203,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:204,1
    - Dst: strcmp
      Src: /src/vlc/test/libvlc/media.c:204,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:205,1
    - Dst: libvlc_media_tracklist_delete
      Src: /src/vlc/test/libvlc/media.c:207,1
    - Dst: libvlc_media_get_tracklist
      Src: /src/vlc/test/libvlc/media.c:209,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:210,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:211,1
    - Dst: libvlc_media_tracklist_count
      Src: /src/vlc/test/libvlc/media.c:211,1
    - Dst: libvlc_media_tracklist_count
      Src: /src/vlc/test/libvlc/media.c:212,1
    - Dst: libvlc_media_tracklist_at
      Src: /src/vlc/test/libvlc/media.c:214,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:215,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:216,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:217,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:218,1
    - Dst: sprintf
      Src: /src/vlc/test/libvlc/media.c:220,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:221,1
    - Dst: strcmp
      Src: /src/vlc/test/libvlc/media.c:221,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:222,1
    - Dst: libvlc_media_tracklist_delete
      Src: /src/vlc/test/libvlc/media.c:224,1
    - Dst: libvlc_media_get_tracklist
      Src: /src/vlc/test/libvlc/media.c:226,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:227,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:228,1
    - Dst: libvlc_media_tracklist_count
      Src: /src/vlc/test/libvlc/media.c:228,1
    - Dst: libvlc_media_tracklist_delete
      Src: /src/vlc/test/libvlc/media.c:229,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/media.c:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 1
    argNames:
    - vlc
    argTypes:
    - libvlc_instance_t*
    assertStmts:
    - condition: (tracklist != NULL)
      pos:
        line_end: 192
        line_start: 192
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (track->i_type == libvlc_track_video)
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (track->u.video != NULL)
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (track->u.video->i_width == 100)
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (track->u.video->i_height == 50)
      pos:
        line_end: 200
        line_start: 200
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (strcmp(track->psz_id, buf) == 0)
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (track->id_stable)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (libvlc_media_tracklist_count(tracklist) == 4)
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (libvlc_media_tracklist_count(tracklist) == 0)
      pos:
        line_end: 227
        line_start: 227
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (tracklist != NULL)
      pos:
        line_end: 226
        line_start: 226
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (tracklist != NULL)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (track->i_type == libvlc_track_audio)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (track->u.audio != NULL)
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (track->u.audio->i_channels == 2)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (track->u.audio->i_rate == 48000)
      pos:
        line_end: 217
        line_start: 217
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (strcmp(track->psz_id, buf) == 0)
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (track->id_stable)
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (libvlc_media_tracklist_count(tracklist) == 42)
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/vlc/test/libvlc/media.c
    constantsTouched: []
    func_position:
      end: 232
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 232
    functionName: test_media_tracks
    functionSourceFile: /src/vlc/test/libvlc/media.c
    functionUses: 0
    functionsReached:
    - libvlc_media_tracklist_at
    - assert
    - libvlc_media_release
    - sprintf
    - test_media_preparsed_ext
    - strcmp
    - libvlc_media_tracklist_count
    - libvlc_media_get_tracklist
    - libvlc_media_tracklist_delete
    linkageType: ''
    returnType: void
    signature: void test_media_tracks(libvlc_instance_t *vlc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:239,1
    - Dst: vlc_sem_post
      Src: /src/vlc/test/libvlc/media.c:240,1
    - Dst: vlc_preparser_req_Release
      Src: /src/vlc/test/libvlc/media.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - req
    - status
    - user_data
    argTypes:
    - vlc_preparser_req*
    - int
    - void*
    assertStmts:
    - condition: ( status == VLC_ETIMEOUT )
      pos:
        line_end: 238
        line_start: 238
        source_file: /src/vlc/test/libvlc/media.c
    constantsTouched: []
    func_position:
      end: 242
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 242
    functionName: input_item_preparse_timeout
    functionSourceFile: /src/vlc/test/libvlc/media.c
    functionUses: 0
    functionsReached:
    - vlc_preparser_req_Release
    - assert
    - vlc_sem_post
    linkageType: ''
    returnType: void
    signature: "void input_item_preparse_timeout( vlc_preparser_req *req,\n                                         int
      status, void *user_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:249,1
    - Dst: vlc_sem_post
      Src: /src/vlc/test/libvlc/media.c:250,1
    - Dst: vlc_preparser_req_Release
      Src: /src/vlc/test/libvlc/media.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - req
    - status
    - user_data
    argTypes:
    - vlc_preparser_req*
    - int
    - void*
    assertStmts:
    - condition: ( status == -EINTR )
      pos:
        line_end: 248
        line_start: 248
        source_file: /src/vlc/test/libvlc/media.c
    constantsTouched: []
    func_position:
      end: 252
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 252
    functionName: input_item_preparse_cancel
    functionSourceFile: /src/vlc/test/libvlc/media.c
    functionUses: 0
    functionsReached:
    - vlc_preparser_req_Release
    - assert
    - vlc_sem_post
    linkageType: ''
    returnType: void
    signature: "void input_item_preparse_cancel( vlc_preparser_req *req,\n                                        int
      status, void *user_data )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/libvlc/media.c:257,1
    - Dst: vlc_pipe
      Src: /src/vlc/test/libvlc/media.c:261,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:262,1
    - Dst: strlen
      Src: /src/vlc/test/libvlc/media.c:264,1
    - Dst: sprintf
      Src: /src/vlc/test/libvlc/media.c:265,1
    - Dst: input_item_NewFile
      Src: /src/vlc/test/libvlc/media.c:266,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:268,1
    - Dst: vlc_sem_init
      Src: /src/vlc/test/libvlc/media.c:271,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/libvlc/media.c:282,1
    - Dst: vlc_preparser_New
      Src: /src/vlc/test/libvlc/media.c:285,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/test/libvlc/media.c:285,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:287,1
    - Dst: vlc_preparser_Push
      Src: /src/vlc/test/libvlc/media.c:288,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:289,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/test/libvlc/media.c:293,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/libvlc/media.c:293,1
    - Dst: vlc_preparser_Cancel
      Src: /src/vlc/test/libvlc/media.c:294,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:295,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/test/libvlc/media.c:297,1
    - Dst: input_item_Release
      Src: /src/vlc/test/libvlc/media.c:299,1
    - Dst: vlc_preparser_Delete
      Src: /src/vlc/test/libvlc/media.c:300,1
    - Dst: vlc_close
      Src: /src/vlc/test/libvlc/media.c:301,1
    - Dst: vlc_close
      Src: /src/vlc/test/libvlc/media.c:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - vlc
    - timeout
    - wait_and_cancel
    argTypes:
    - libvlc_instance_t*
    - int
    - int
    assertStmts:
    - condition: (p_item != NULL)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (count == 1)
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (req != NULL)
      pos:
        line_end: 288
        line_start: 288
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (i_ret == 0 && p_pipe[1] >= 0)
      pos:
        line_end: 261
        line_start: 261
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (parser != NULL)
      pos:
        line_end: 286
        line_start: 286
        source_file: /src/vlc/test/libvlc/media.c
    constantsTouched: []
    func_position:
      end: 303
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 303
    functionName: test_input_metadata_timeout
    functionSourceFile: /src/vlc/test/libvlc/media.c
    functionUses: 0
    functionsReached:
    - input_item_NewFile
    - vlc_sem_init
    - assert
    - vlc_sem_wait
    - vlc_preparser_New
    - sprintf
    - vlc_preparser_Cancel
    - strlen
    - input_item_Release
    - VLC_TICK_FROM_MS
    - vlc_preparser_Delete
    - vlc_close
    - test_log
    - VLC_OBJECT
    - vlc_tick_sleep
    - vlc_pipe
    - vlc_preparser_Push
    linkageType: ''
    returnType: void
    signature: "void test_input_metadata_timeout(libvlc_instance_t *vlc, int timeout,\n
      \                                       int wait_and_cancel)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:326,1
    - Dst: libvlc_media_get_mrl
      Src: /src/vlc/test/libvlc/media.c:328,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:329,1
    - Dst: strrchr
      Src: /src/vlc/test/libvlc/media.c:331,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:332,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/media.c:334,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/libvlc/media.c:336,1
    - Dst: strcmp
      Src: /src/vlc/test/libvlc/media.c:338,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:340,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:341,1
    - Dst: libvlc_media_get_type
      Src: /src/vlc/test/libvlc/media.c:341,1
    - Dst: libvlc_media_get_filestat
      Src: /src/vlc/test/libvlc/media.c:347,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:348,1
    - Dst: libvlc_media_get_type
      Src: /src/vlc/test/libvlc/media.c:350,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:351,1
    - Dst: libvlc_media_get_filestat
      Src: /src/vlc/test/libvlc/media.c:353,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:355,1
    - Dst: free
      Src: /src/vlc/test/libvlc/media.c:358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - m
    - subitems_found
    argTypes:
    - libvlc_media_t*
    - bool*
    assertStmts:
    - condition: (m)
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (mrl)
      pos:
        line_end: 328
        line_start: 328
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (file)
      pos:
        line_end: 331
        line_start: 331
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (!subitems_found[i])
      pos:
        line_end: 339
        line_start: 339
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (libvlc_media_get_type(m) == test_media_subitems_list[i].type)
      pos:
        line_end: 340
        line_start: 340
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (ret == 1)
      pos:
        line_end: 347
        line_start: 347
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (ret == 1 && value >= 1446796477)
      pos:
        line_end: 354
        line_start: 354
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (value == 0)
      pos:
        line_end: 350
        line_start: 350
        source_file: /src/vlc/test/libvlc/media.c
    constantsTouched: []
    func_position:
      end: 360
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 360
    functionName: check_subitems
    functionSourceFile: /src/vlc/test/libvlc/media.c
    functionUses: 0
    functionsReached:
    - assert
    - ARRAY_SIZE
    - libvlc_media_get_type
    - libvlc_media_get_mrl
    - libvlc_media_get_filestat
    - test_log
    - free
    - strcmp
    - strrchr
    linkageType: ''
    returnType: void
    signature: void check_subitems(libvlc_media_t *m, bool *subitems_found)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sem_post
      Src: /src/vlc/test/libvlc/media.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - opaque
    - media
    argTypes:
    - void*
    - libvlc_media_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 367
    functionName: on_media_parsed
    functionSourceFile: /src/vlc/test/libvlc/media.c
    functionUses: 0
    functionsReached:
    - vlc_sem_post
    linkageType: ''
    returnType: void
    signature: void on_media_parsed(void *opaque, libvlc_media_t *media)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sem_post
      Src: /src/vlc/test/libvlc/media.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - opaque
    - media
    argTypes:
    - void*
    - libvlc_media_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 374
    functionName: on_media_subitems_changed
    functionSourceFile: /src/vlc/test/libvlc/media.c
    functionUses: 0
    functionsReached:
    - vlc_sem_post
    linkageType: ''
    returnType: void
    signature: void on_media_subitems_changed(void *opaque, libvlc_media_t *media)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_media_add_option
      Src: /src/vlc/test/libvlc/media.c:380,1
    - Dst: libvlc_media_add_option
      Src: /src/vlc/test/libvlc/media.c:381,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/libvlc/media.c:383,1
    - Dst: vlc_sem_init
      Src: /src/vlc/test/libvlc/media.c:385,1
    - Dst: libvlc_media_player_new_from_media
      Src: /src/vlc/test/libvlc/media.c:400,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:401,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:402,1
    - Dst: libvlc_media_player_play
      Src: /src/vlc/test/libvlc/media.c:402,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/test/libvlc/media.c:404,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/test/libvlc/media.c:405,1
    - Dst: libvlc_media_player_release
      Src: /src/vlc/test/libvlc/media.c:407,1
    - Dst: libvlc_parser_new
      Src: /src/vlc/test/libvlc/media.c:422,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:423,1
    - Dst: libvlc_parser_queue
      Src: /src/vlc/test/libvlc/media.c:429,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:430,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/test/libvlc/media.c:432,1
    - Dst: libvlc_parser_destroy
      Src: /src/vlc/test/libvlc/media.c:433,1
    - Dst: libvlc_media_subitems
      Src: /src/vlc/test/libvlc/media.c:436,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:437,1
    - Dst: libvlc_media_list_count
      Src: /src/vlc/test/libvlc/media.c:438,1
    - Dst: libvlc_media_list_item_at_index
      Src: /src/vlc/test/libvlc/media.c:440,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:441,1
    - Dst: check_subitems
      Src: /src/vlc/test/libvlc/media.c:442,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/media.c:443,1
    - Dst: libvlc_media_list_release
      Src: /src/vlc/test/libvlc/media.c:445,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/libvlc/media.c:450,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/media.c:452,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:453,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 4
    argNames:
    - vlc
    - media
    - play
    - b_items_expected
    argTypes:
    - libvlc_instance_t*
    - libvlc_media_t*
    - bool
    - bool
    assertStmts:
    - condition: (task != NULL)
      pos:
        line_end: 429
        line_start: 429
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (subitems != NULL)
      pos:
        line_end: 436
        line_start: 436
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (subitems_found[i])
      pos:
        line_end: 452
        line_start: 452
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (mp)
      pos:
        line_end: 400
        line_start: 400
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (child != NULL)
      pos:
        line_end: 440
        line_start: 440
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (libvlc_media_player_play (mp) != -1)
      pos:
        line_end: 401
        line_start: 401
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (parser != NULL)
      pos:
        line_end: 422
        line_start: 422
        source_file: /src/vlc/test/libvlc/media.c
    constantsTouched: []
    func_position:
      end: 455
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 455
    functionName: test_media_subitems_media
    functionSourceFile: /src/vlc/test/libvlc/media.c
    functionUses: 0
    functionsReached:
    - libvlc_media_player_play
    - vlc_sem_init
    - assert
    - vlc_sem_wait
    - ARRAY_SIZE
    - libvlc_parser_destroy
    - libvlc_media_list_item_at_index
    - libvlc_media_release
    - libvlc_media_add_option
    - libvlc_media_subitems
    - libvlc_media_player_release
    - libvlc_parser_new
    - libvlc_media_player_new_from_media
    - test_log
    - check_subitems
    - libvlc_parser_queue
    - libvlc_media_list_count
    - libvlc_media_list_release
    linkageType: ''
    returnType: void
    signature: "void test_media_subitems_media(libvlc_instance_t *vlc,\n                                      libvlc_media_t
      *media, bool play,\n                                      bool b_items_expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/libvlc/media.c:463,1
    - Dst: libvlc_media_new_path
      Src: /src/vlc/test/libvlc/media.c:464,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:465,1
    - Dst: test_media_subitems_media
      Src: /src/vlc/test/libvlc/media.c:466,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/media.c:467,1
    - Dst: realpath
      Src: /src/vlc/test/libvlc/media.c:469,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:470,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/libvlc/media.c:472,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:475,1
    - Dst: asprintf
      Src: /src/vlc/test/libvlc/media.c:475,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/media.c:476,1
    - Dst: libvlc_media_new_location
      Src: /src/vlc/test/libvlc/media.c:477,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:478,1
    - Dst: test_media_subitems_media
      Src: /src/vlc/test/libvlc/media.c:479,1
    - Dst: free
      Src: /src/vlc/test/libvlc/media.c:480,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/media.c:481,1
    - Dst: free
      Src: /src/vlc/test/libvlc/media.c:483,1
    - Dst: open
      Src: /src/vlc/test/libvlc/media.c:487,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/media.c:488,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:489,1
    - Dst: libvlc_media_new_fd
      Src: /src/vlc/test/libvlc/media.c:490,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:491,1
    - Dst: test_media_subitems_media
      Src: /src/vlc/test/libvlc/media.c:492,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/media.c:493,1
    - Dst: vlc_close
      Src: /src/vlc/test/libvlc/media.c:494,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/media.c:499,1
    - Dst: libvlc_media_new_location
      Src: /src/vlc/test/libvlc/media.c:500,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:501,1
    - Dst: test_media_subitems_media
      Src: /src/vlc/test/libvlc/media.c:502,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/media.c:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - vlc
    argTypes:
    - libvlc_instance_t*
    assertStmts:
    - condition: (media != NULL)
      pos:
        line_end: 477
        line_start: 477
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (fd >= 0)
      pos:
        line_end: 488
        line_start: 488
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (media != NULL)
      pos:
        line_end: 464
        line_start: 464
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (asprintf (&location, "%s%s", schemes[i], subitems_realpath) != -1)
      pos:
        line_end: 474
        line_start: 474
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (subitems_realpath != NULL)
      pos:
        line_end: 469
        line_start: 469
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (media != NULL)
      pos:
        line_end: 490
        line_start: 490
        source_file: /src/vlc/test/libvlc/media.c
    - condition: (media != NULL)
      pos:
        line_end: 500
        line_start: 500
        source_file: /src/vlc/test/libvlc/media.c
    constantsTouched: []
    func_position:
      end: 504
      start: 457
    functionDepth: 3
    functionLinenumber: 457
    functionLinenumberEnd: 504
    functionName: test_media_subitems
    functionSourceFile: /src/vlc/test/libvlc/media.c
    functionUses: 0
    functionsReached:
    - libvlc_media_new_path
    - asprintf
    - assert
    - libvlc_media_release
    - ARRAY_SIZE
    - vlc_close
    - libvlc_media_new_fd
    - test_media_subitems_media
    - test_log
    - free
    - libvlc_media_new_location
    - realpath
    - open
    linkageType: ''
    returnType: void
    signature: void test_media_subitems(libvlc_instance_t *vlc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/libvlc/media.c:508,1
    - Dst: libvlc_new
      Src: /src/vlc/test/libvlc/media.c:510,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media.c:512,1
    - Dst: alarm
      Src: /src/vlc/test/libvlc/media.c:517,1
    - Dst: strstr
      Src: /src/vlc/test/libvlc/media.c:520,1
    - Dst: test_media_preparsed
      Src: /src/vlc/test/libvlc/media.c:530,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/media.c:533,1
    - Dst: test_media_preparsed
      Src: /src/vlc/test/libvlc/media.c:537,1
    - Dst: test_media_subitems
      Src: /src/vlc/test/libvlc/media.c:541,1
    - Dst: test_media_tracks
      Src: /src/vlc/test/libvlc/media.c:542,1
    - Dst: test_input_metadata_timeout
      Src: /src/vlc/test/libvlc/media.c:549,1
    - Dst: test_input_metadata_timeout
      Src: /src/vlc/test/libvlc/media.c:550,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/media.c:552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - i_argc
    - ppsz_argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (vlc != NULL)
      pos:
        line_end: 511
        line_start: 511
        source_file: /src/vlc/test/libvlc/media.c
    constantsTouched: []
    func_position:
      end: 555
      start: 506
    functionDepth: 4
    functionLinenumber: 506
    functionLinenumberEnd: 555
    functionName: main
    functionSourceFile: /src/vlc/test/libvlc/media.c
    functionUses: 0
    functionsReached:
    - test_media_tracks
    - libvlc_release
    - assert
    - alarm
    - test_init
    - test_input_metadata_timeout
    - libvlc_new
    - test_media_preparsed
    - strstr
    - test_media_subitems
    linkageType: ''
    returnType: int
    signature: int main(int i_argc, char *ppsz_argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/libvlc/thumbnailer.c:46,1
    - Dst: vlc_sem_post
      Src: /src/vlc/test/libvlc/thumbnailer.c:48,1
    - Dst: libvlc_parser_task_release
      Src: /src/vlc/test/libvlc/thumbnailer.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - opaque
    - task
    - picture
    argTypes:
    - void*
    - libvlc_parser_task*
    - libvlc_picture_t*
    assertStmts:
    - condition: (picture != NULL)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/vlc/test/libvlc/thumbnailer.c
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: thumbnail_generated
    functionSourceFile: /src/vlc/test/libvlc/thumbnailer.c
    functionUses: 0
    functionsReached:
    - libvlc_parser_task_release
    - assert
    - vlc_sem_post
    linkageType: ''
    returnType: void
    signature: void thumbnail_generated(void *opaque, libvlc_parser_task *task, libvlc_picture_t
      *picture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/libvlc/thumbnailer.c:58,1
    - Dst: STRINGIFY
      Src: /src/vlc/test/libvlc/thumbnailer.c:58,1
    - Dst: libvlc_media_new_location
      Src: /src/vlc/test/libvlc/thumbnailer.c:59,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/thumbnailer.c:60,1
    - Dst: vlc_sem_init
      Src: /src/vlc/test/libvlc/thumbnailer.c:63,1
    - Dst: libvlc_parser_new
      Src: /src/vlc/test/libvlc/thumbnailer.c:76,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/thumbnailer.c:77,1
    - Dst: libvlc_parser_queue_thumbnailing
      Src: /src/vlc/test/libvlc/thumbnailer.c:93,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/thumbnailer.c:94,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/test/libvlc/thumbnailer.c:96,1
    - Dst: libvlc_parser_destroy
      Src: /src/vlc/test/libvlc/thumbnailer.c:97,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/thumbnailer.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - vlc
    - location
    - width
    - height
    - picture_type
    argTypes:
    - libvlc_instance_t*
    - char*
    - unsigned
    - unsigned
    - enum libvlc_picture_type_t
    assertStmts:
    - condition: (media != NULL)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/vlc/test/libvlc/thumbnailer.c
    - condition: (parser != NULL)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/vlc/test/libvlc/thumbnailer.c
    - condition: (task != NULL)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/vlc/test/libvlc/thumbnailer.c
    constantsTouched: []
    func_position:
      end: 99
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 99
    functionName: test_media_thumbnail
    functionSourceFile: /src/vlc/test/libvlc/thumbnailer.c
    functionUses: 0
    functionsReached:
    - vlc_sem_init
    - assert
    - vlc_sem_wait
    - STRINGIFY
    - libvlc_media_release
    - libvlc_parser_new
    - test_log
    - libvlc_parser_queue_thumbnailing
    - libvlc_media_new_location
    - libvlc_parser_destroy
    linkageType: ''
    returnType: void
    signature: "void test_media_thumbnail(libvlc_instance_t *vlc, const char *location,\n
      \                                unsigned width, unsigned height,\n                                 enum
      libvlc_picture_type_t picture_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: STRINGIFY_
    functionSourceFile: /src/vlc/test/libvlc/thumbnailer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRINGIFY_(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: STRINGIFY
    functionSourceFile: /src/vlc/test/libvlc/thumbnailer.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRINGIFY(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/libvlc/thumbnailer.c:104,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/thumbnailer.c:109,1
    - Dst: libvlc_new
      Src: /src/vlc/test/libvlc/thumbnailer.c:113,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/thumbnailer.c:115,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/libvlc/thumbnailer.c:122,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/thumbnailer.c:124,1
    - Dst: module_exists
      Src: /src/vlc/test/libvlc/thumbnailer.c:126,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/thumbnailer.c:128,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/thumbnailer.c:129,1
    - Dst: exit
      Src: /src/vlc/test/libvlc/thumbnailer.c:130,1
    - Dst: test_media_thumbnail
      Src: /src/vlc/test/libvlc/thumbnailer.c:139,1
    - Dst: test_media_thumbnail
      Src: /src/vlc/test/libvlc/thumbnailer.c:140,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/thumbnailer.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (vlc != NULL)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/vlc/test/libvlc/thumbnailer.c
    constantsTouched: []
    func_position:
      end: 146
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 146
    functionName: main
    functionSourceFile: /src/vlc/test/libvlc/thumbnailer.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - exit
    - assert
    - ARRAY_SIZE
    - test_init
    - test_media_thumbnail
    - module_exists
    - libvlc_new
    - test_log
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/libvlc/renderer_discoverer.c:28,1
    - Dst: libvlc_renderer_item_name
      Src: /src/vlc/test/libvlc/renderer_discoverer.c:29,1
    - Dst: libvlc_renderer_item_type
      Src: /src/vlc/test/libvlc/renderer_discoverer.c:29,1
    - Dst: libvlc_renderer_item_flags
      Src: /src/vlc/test/libvlc/renderer_discoverer.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_item
    - psz_event
    argTypes:
    - libvlc_renderer_item_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: item_event
    functionSourceFile: /src/vlc/test/libvlc/renderer_discoverer.c
    functionUses: 0
    functionsReached:
    - libvlc_renderer_item_flags
    - libvlc_renderer_item_type
    - libvlc_renderer_item_name
    - test_log
    linkageType: ''
    returnType: void
    signature: void item_event(const libvlc_renderer_item_t *p_item, const char *psz_event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: item_event
      Src: /src/vlc/test/libvlc/renderer_discoverer.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - opaque
    - p_item
    argTypes:
    - void*
    - libvlc_renderer_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: renderer_discoverer_item_added
    functionSourceFile: /src/vlc/test/libvlc/renderer_discoverer.c
    functionUses: 0
    functionsReached:
    - item_event
    linkageType: ''
    returnType: void
    signature: void renderer_discoverer_item_added(void *opaque, libvlc_renderer_item_t
      *p_item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: item_event
      Src: /src/vlc/test/libvlc/renderer_discoverer.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - opaque
    - p_item
    argTypes:
    - void*
    - libvlc_renderer_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: renderer_discoverer_item_removed
    functionSourceFile: /src/vlc/test/libvlc/renderer_discoverer.c
    functionUses: 0
    functionsReached:
    - item_event
    linkageType: ''
    returnType: void
    signature: void renderer_discoverer_item_removed(void *opaque, libvlc_renderer_item_t
      *p_item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/libvlc/renderer_discoverer.c:50,1
    - Dst: libvlc_renderer_discoverer_new
      Src: /src/vlc/test/libvlc/renderer_discoverer.c:59,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/renderer_discoverer.c:61,1
    - Dst: libvlc_renderer_discoverer_start
      Src: /src/vlc/test/libvlc/renderer_discoverer.c:63,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/renderer_discoverer.c:65,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/renderer_discoverer.c:69,1
    - Dst: getchar
      Src: /src/vlc/test/libvlc/renderer_discoverer.c:70,1
    - Dst: libvlc_renderer_discoverer_stop
      Src: /src/vlc/test/libvlc/renderer_discoverer.c:71,1
    - Dst: libvlc_renderer_discoverer_destroy
      Src: /src/vlc/test/libvlc/renderer_discoverer.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - p_vlc
    - psz_name
    argTypes:
    - libvlc_instance_t*
    - char*
    assertStmts:
    - condition: (p_rd != NULL)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/vlc/test/libvlc/renderer_discoverer.c
    constantsTouched: []
    func_position:
      end: 75
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 75
    functionName: test_discoverer
    functionSourceFile: /src/vlc/test/libvlc/renderer_discoverer.c
    functionUses: 0
    functionsReached:
    - assert
    - libvlc_renderer_discoverer_start
    - getchar
    - libvlc_renderer_discoverer_new
    - test_log
    - libvlc_renderer_discoverer_stop
    - libvlc_renderer_discoverer_destroy
    linkageType: ''
    returnType: void
    signature: void test_discoverer(libvlc_instance_t *p_vlc, const char *psz_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/libvlc/renderer_discoverer.c:80,1
    - Dst: libvlc_new
      Src: /src/vlc/test/libvlc/renderer_discoverer.c:84,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/renderer_discoverer.c:86,1
    - Dst: alarm
      Src: /src/vlc/test/libvlc/renderer_discoverer.c:91,1
    - Dst: test_discoverer
      Src: /src/vlc/test/libvlc/renderer_discoverer.c:92,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/renderer_discoverer.c:93,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/renderer_discoverer.c:97,1
    - Dst: libvlc_renderer_discoverer_list_get
      Src: /src/vlc/test/libvlc/renderer_discoverer.c:101,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/renderer_discoverer.c:104,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/renderer_discoverer.c:107,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/renderer_discoverer.c:113,1
    - Dst: libvlc_renderer_discoverer_list_release
      Src: /src/vlc/test/libvlc/renderer_discoverer.c:117,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/renderer_discoverer.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - i_argc
    - ppsz_argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (p_vlc != NULL)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/vlc/test/libvlc/renderer_discoverer.c
    - condition: (pp_services != NULL)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/vlc/test/libvlc/renderer_discoverer.c
    constantsTouched: []
    func_position:
      end: 123
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 123
    functionName: main
    functionSourceFile: /src/vlc/test/libvlc/renderer_discoverer.c
    functionUses: 0
    functionsReached:
    - test_discoverer
    - libvlc_release
    - assert
    - libvlc_renderer_discoverer_list_get
    - alarm
    - test_init
    - libvlc_renderer_discoverer_list_release
    - libvlc_new
    - test_log
    linkageType: ''
    returnType: int
    signature: int main(int i_argc, char *ppsz_argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/libvlc/media_player_record.c:34,1
    - Dst: libvlc_new
      Src: /src/vlc/test/libvlc/media_player_record.c:45,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player_record.c:46,1
    - Dst: libvlc_media_new_location
      Src: /src/vlc/test/libvlc/media_player_record.c:47,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player_record.c:48,1
    - Dst: mp_event_ctx_init
      Src: /src/vlc/test/libvlc/media_player_record.c:50,1
    - Dst: libvlc_media_player_new
      Src: /src/vlc/test/libvlc/media_player_record.c:51,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player_record.c:52,1
    - Dst: mp_event_ctx_set_mp
      Src: /src/vlc/test/libvlc/media_player_record.c:53,1
    - Dst: libvlc_media_player_set_media
      Src: /src/vlc/test/libvlc/media_player_record.c:54,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/media_player_record.c:55,1
    - Dst: libvlc_media_player_play
      Src: /src/vlc/test/libvlc/media_player_record.c:57,1
    - Dst: libvlc_media_player_record
      Src: /src/vlc/test/libvlc/media_player_record.c:62,1
    - Dst: mp_event_ctx_wait_event
      Src: /src/vlc/test/libvlc/media_player_record.c:66,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player_record.c:67,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player_record.c:68,1
    - Dst: mp_event_delete
      Src: /src/vlc/test/libvlc/media_player_record.c:69,1
    - Dst: libvlc_media_player_record
      Src: /src/vlc/test/libvlc/media_player_record.c:74,1
    - Dst: mp_event_ctx_wait_event
      Src: /src/vlc/test/libvlc/media_player_record.c:75,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player_record.c:76,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player_record.c:77,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player_record.c:78,1
    - Dst: strdup
      Src: /src/vlc/test/libvlc/media_player_record.c:80,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player_record.c:81,1
    - Dst: mp_event_delete
      Src: /src/vlc/test/libvlc/media_player_record.c:83,1
    - Dst: libvlc_media_player_stop_async
      Src: /src/vlc/test/libvlc/media_player_record.c:86,1
    - Dst: libvlc_media_player_release
      Src: /src/vlc/test/libvlc/media_player_record.c:87,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/media_player_record.c:88,1
    - Dst: unlink
      Src: /src/vlc/test/libvlc/media_player_record.c:90,1
    - Dst: free
      Src: /src/vlc/test/libvlc/media_player_record.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 2
    argNames:
    - argv
    - argc
    argTypes:
    - char**
    - int
    assertStmts:
    - condition: (ev->recording_changed.recording)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/vlc/test/libvlc/media_player_record.c
    - condition: (!ev->recording_changed.recording)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/vlc/test/libvlc/media_player_record.c
    - condition: (ev->recording_changed.file_path != NULL)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/vlc/test/libvlc/media_player_record.c
    - condition: (filepath != NULL)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/vlc/test/libvlc/media_player_record.c
    - condition: (md != NULL)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/vlc/test/libvlc/media_player_record.c
    - condition: (vlc != NULL)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/vlc/test/libvlc/media_player_record.c
    - condition: (ev->type == EVENT_TYPE_RECORDING_CHANGED)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/vlc/test/libvlc/media_player_record.c
    - condition: (mp != NULL)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/vlc/test/libvlc/media_player_record.c
    - condition: (ev->type == EVENT_TYPE_RECORDING_CHANGED)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/vlc/test/libvlc/media_player_record.c
    constantsTouched: []
    func_position:
      end: 98
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 98
    functionName: test_media_player_record
    functionSourceFile: /src/vlc/test/libvlc/media_player_record.c
    functionUses: 0
    functionsReached:
    - assert
    - libvlc_media_player_set_media
    - libvlc_media_player_new
    - libvlc_new
    - test_log
    - mp_event_ctx_init
    - libvlc_media_new_location
    - mp_event_delete
    - unlink
    - libvlc_release
    - libvlc_media_release
    - strdup
    - libvlc_media_player_stop_async
    - libvlc_media_player_release
    - libvlc_media_player_play
    - libvlc_media_player_record
    - free
    - mp_event_ctx_wait_event
    - mp_event_ctx_set_mp
    linkageType: ''
    returnType: void
    signature: void test_media_player_record(const char** argv, int argc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/libvlc/media_player_record.c:107,1
    - Dst: test_media_player_record
      Src: /src/vlc/test/libvlc/media_player_record.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 110
    functionName: main
    functionSourceFile: /src/vlc/test/libvlc/media_player_record.c
    functionUses: 0
    functionsReached:
    - test_media_player_record
    - test_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_media_player_play
      Src: /src/vlc/test/libvlc/media_player.c:46,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/media_player.c:48,1
    - Dst: mp_event_ctx_wait_state
      Src: /src/vlc/test/libvlc/media_player.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mp
    - ctx
    argTypes:
    - libvlc_media_player_t*
    - struct mp_event_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: play_and_wait
    functionSourceFile: /src/vlc/test/libvlc/media_player.c
    functionUses: 0
    functionsReached:
    - libvlc_media_player_play
    - mp_event_ctx_wait_state
    - test_log
    linkageType: ''
    returnType: void
    signature: void play_and_wait(libvlc_media_player_t *mp, struct mp_event_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_media_player_set_pause
      Src: /src/vlc/test/libvlc/media_player.c:54,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/media_player.c:56,1
    - Dst: mp_event_ctx_wait_state
      Src: /src/vlc/test/libvlc/media_player.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mp
    - ctx
    argTypes:
    - libvlc_media_player_t*
    - struct mp_event_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: pause_and_wait
    functionSourceFile: /src/vlc/test/libvlc/media_player.c
    functionUses: 0
    functionsReached:
    - libvlc_media_player_set_pause
    - mp_event_ctx_wait_state
    - test_log
    linkageType: ''
    returnType: void
    signature: void pause_and_wait(libvlc_media_player_t *mp, struct mp_event_ctx
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_get_fullscreen
      Src: /src/vlc/test/libvlc/media_player.c:64,1
    - Dst: libvlc_set_fullscreen
      Src: /src/vlc/test/libvlc/media_player.c:65,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:66,1
    - Dst: libvlc_get_fullscreen
      Src: /src/vlc/test/libvlc/media_player.c:66,1
    - Dst: libvlc_set_fullscreen
      Src: /src/vlc/test/libvlc/media_player.c:67,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:68,1
    - Dst: libvlc_get_fullscreen
      Src: /src/vlc/test/libvlc/media_player.c:68,1
    - Dst: libvlc_toggle_fullscreen
      Src: /src/vlc/test/libvlc/media_player.c:69,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:70,1
    - Dst: libvlc_get_fullscreen
      Src: /src/vlc/test/libvlc/media_player.c:70,1
    - Dst: libvlc_toggle_fullscreen
      Src: /src/vlc/test/libvlc/media_player.c:71,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:72,1
    - Dst: libvlc_get_fullscreen
      Src: /src/vlc/test/libvlc/media_player.c:72,1
    - Dst: libvlc_set_fullscreen
      Src: /src/vlc/test/libvlc/media_player.c:73,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:74,1
    - Dst: libvlc_get_fullscreen
      Src: /src/vlc/test/libvlc/media_player.c:74,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:76,1
    - Dst: libvlc_video_get_scale
      Src: /src/vlc/test/libvlc/media_player.c:76,1
    - Dst: libvlc_video_set_scale
      Src: /src/vlc/test/libvlc/media_player.c:77,1
    - Dst: libvlc_video_set_scale
      Src: /src/vlc/test/libvlc/media_player.c:78,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:79,1
    - Dst: libvlc_video_get_scale
      Src: /src/vlc/test/libvlc/media_player.c:79,1
    - Dst: libvlc_video_set_scale
      Src: /src/vlc/test/libvlc/media_player.c:80,1
    - Dst: libvlc_video_set_scale
      Src: /src/vlc/test/libvlc/media_player.c:81,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:82,1
    - Dst: libvlc_video_get_scale
      Src: /src/vlc/test/libvlc/media_player.c:82,1
    - Dst: libvlc_audio_output_device_enum
      Src: /src/vlc/test/libvlc/media_player.c:84,1
    - Dst: libvlc_audio_output_device_set
      Src: /src/vlc/test/libvlc/media_player.c:87,1
    - Dst: libvlc_audio_output_device_list_release
      Src: /src/vlc/test/libvlc/media_player.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - mp
    argTypes:
    - libvlc_media_player_t*
    assertStmts:
    - condition: (libvlc_get_fullscreen(mp))
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (!libvlc_get_fullscreen(mp))
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (libvlc_video_get_scale(mp) == 0.)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (libvlc_get_fullscreen(mp) == fs)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (libvlc_video_get_scale(mp) == 2.5)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (!libvlc_get_fullscreen(mp))
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (libvlc_get_fullscreen(mp))
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (libvlc_video_get_scale(mp) == 0.)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/vlc/test/libvlc/media_player.c
    constantsTouched: []
    func_position:
      end: 90
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 90
    functionName: test_audio_video
    functionSourceFile: /src/vlc/test/libvlc/media_player.c
    functionUses: 0
    functionsReached:
    - assert
    - libvlc_audio_output_device_set
    - libvlc_video_get_scale
    - libvlc_audio_output_device_list_release
    - libvlc_set_fullscreen
    - libvlc_audio_output_device_enum
    - libvlc_get_fullscreen
    - libvlc_video_set_scale
    - libvlc_toggle_fullscreen
    linkageType: ''
    returnType: void
    signature: void test_audio_video(libvlc_media_player_t *mp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:97,1
    - Dst: libvlc_media_player_get_role
      Src: /src/vlc/test/libvlc/media_player.c:97,1
    - Dst: libvlc_media_player_set_role
      Src: /src/vlc/test/libvlc/media_player.c:99,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:100,1
    - Dst: libvlc_media_player_get_role
      Src: /src/vlc/test/libvlc/media_player.c:100,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mp
    argTypes:
    - libvlc_media_player_t*
    assertStmts:
    - condition: (libvlc_media_player_get_role(mp) == libvlc_role_Video)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (libvlc_media_player_get_role(mp) == role)
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (role > libvlc_role_Last)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/vlc/test/libvlc/media_player.c
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: test_role
    functionSourceFile: /src/vlc/test/libvlc/media_player.c
    functionUses: 0
    functionsReached:
    - assert
    - libvlc_media_player_get_role
    - libvlc_media_player_set_role
    linkageType: ''
    returnType: void
    signature: void test_role(libvlc_media_player_t *mp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/libvlc/media_player.c:109,1
    - Dst: libvlc_new
      Src: /src/vlc/test/libvlc/media_player.c:111,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:112,1
    - Dst: libvlc_media_new_location
      Src: /src/vlc/test/libvlc/media_player.c:114,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:115,1
    - Dst: mp_event_ctx_init
      Src: /src/vlc/test/libvlc/media_player.c:118,1
    - Dst: libvlc_media_player_new
      Src: /src/vlc/test/libvlc/media_player.c:120,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:121,1
    - Dst: mp_event_ctx_set_mp
      Src: /src/vlc/test/libvlc/media_player.c:122,1
    - Dst: libvlc_media_player_set_media
      Src: /src/vlc/test/libvlc/media_player.c:124,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/media_player.c:126,1
    - Dst: play_and_wait
      Src: /src/vlc/test/libvlc/media_player.c:128,1
    - Dst: libvlc_media_player_stop_async
      Src: /src/vlc/test/libvlc/media_player.c:130,1
    - Dst: libvlc_media_player_release
      Src: /src/vlc/test/libvlc/media_player.c:131,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/media_player.c:132,1
    - Dst: mp_event_ctx_destroy
      Src: /src/vlc/test/libvlc/media_player.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - argv
    - argc
    argTypes:
    - char**
    - int
    assertStmts:
    - condition: (vlc != NULL)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (md != NULL)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (mp != NULL)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/vlc/test/libvlc/media_player.c
    constantsTouched: []
    func_position:
      end: 135
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 135
    functionName: test_media_player_set_media
    functionSourceFile: /src/vlc/test/libvlc/media_player.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - assert
    - libvlc_media_release
    - libvlc_media_player_set_media
    - libvlc_media_player_stop_async
    - mp_event_ctx_destroy
    - libvlc_media_player_release
    - libvlc_media_player_new
    - libvlc_new
    - test_log
    - libvlc_media_new_location
    - play_and_wait
    - mp_event_ctx_init
    - mp_event_ctx_set_mp
    linkageType: ''
    returnType: void
    signature: void test_media_player_set_media(const char** argv, int argc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sem_post
      Src: /src/vlc/test/libvlc/media_player.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - opaque
    - state
    argTypes:
    - void*
    - libvlc_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: switch_media_on_state_changed
    functionSourceFile: /src/vlc/test/libvlc/media_player.c
    functionUses: 0
    functionsReached:
    - vlc_sem_post
    linkageType: ''
    returnType: void
    signature: void switch_media_on_state_changed(void *opaque, libvlc_state_t state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:153,1
    - Dst: vlc_sem_post
      Src: /src/vlc/test/libvlc/media_player.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - opaque
    - media
    argTypes:
    - void*
    - libvlc_media_t*
    assertStmts:
    - condition: (media != NULL)
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/vlc/test/libvlc/media_player.c
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: switch_media_on_media_changed
    functionSourceFile: /src/vlc/test/libvlc/media_player.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_sem_post
    linkageType: ''
    returnType: void
    signature: void switch_media_on_media_changed(void *opaque, libvlc_media_t *media)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/libvlc/media_player.c:171,1
    - Dst: libvlc_new
      Src: /src/vlc/test/libvlc/media_player.c:173,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:174,1
    - Dst: vlc_sem_init
      Src: /src/vlc/test/libvlc/media_player.c:177,1
    - Dst: vlc_sem_init
      Src: /src/vlc/test/libvlc/media_player.c:178,1
    - Dst: libvlc_media_player_new
      Src: /src/vlc/test/libvlc/media_player.c:181,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:182,1
    - Dst: libvlc_media_new_location
      Src: /src/vlc/test/libvlc/media_player.c:184,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:185,1
    - Dst: libvlc_media_player_set_media
      Src: /src/vlc/test/libvlc/media_player.c:186,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/test/libvlc/media_player.c:187,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/media_player.c:190,1
    - Dst: libvlc_media_player_play
      Src: /src/vlc/test/libvlc/media_player.c:192,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/media_player.c:193,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/test/libvlc/media_player.c:194,1
    - Dst: libvlc_media_new_location
      Src: /src/vlc/test/libvlc/media_player.c:198,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:199,1
    - Dst: libvlc_media_player_set_media
      Src: /src/vlc/test/libvlc/media_player.c:200,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/media_player.c:201,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/media_player.c:205,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/test/libvlc/media_player.c:206,1
    - Dst: libvlc_media_player_stop_async
      Src: /src/vlc/test/libvlc/media_player.c:208,1
    - Dst: libvlc_media_player_release
      Src: /src/vlc/test/libvlc/media_player.c:209,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/media_player.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - argv
    - argc
    argTypes:
    - char**
    - int
    assertStmts:
    - condition: (vlc != NULL)
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (md != NULL)
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (mp != NULL)
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (md != NULL)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/vlc/test/libvlc/media_player.c
    constantsTouched: []
    func_position:
      end: 211
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 211
    functionName: test_media_player_switch_media
    functionSourceFile: /src/vlc/test/libvlc/media_player.c
    functionUses: 0
    functionsReached:
    - libvlc_media_player_play
    - vlc_sem_init
    - assert
    - vlc_sem_wait
    - libvlc_media_release
    - libvlc_media_player_set_media
    - libvlc_release
    - libvlc_media_player_stop_async
    - libvlc_media_player_release
    - libvlc_media_player_new
    - libvlc_new
    - test_log
    - libvlc_media_new_location
    linkageType: ''
    returnType: void
    signature: void test_media_player_switch_media(const char** argv, int argc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/libvlc/media_player.c:220,1
    - Dst: libvlc_new
      Src: /src/vlc/test/libvlc/media_player.c:222,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:223,1
    - Dst: libvlc_media_new_location
      Src: /src/vlc/test/libvlc/media_player.c:225,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:226,1
    - Dst: mp_event_ctx_init
      Src: /src/vlc/test/libvlc/media_player.c:229,1
    - Dst: libvlc_media_player_new_from_media
      Src: /src/vlc/test/libvlc/media_player.c:230,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:231,1
    - Dst: mp_event_ctx_set_mp
      Src: /src/vlc/test/libvlc/media_player.c:232,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/media_player.c:234,1
    - Dst: play_and_wait
      Src: /src/vlc/test/libvlc/media_player.c:236,1
    - Dst: libvlc_media_player_stop_async
      Src: /src/vlc/test/libvlc/media_player.c:238,1
    - Dst: libvlc_media_player_release
      Src: /src/vlc/test/libvlc/media_player.c:239,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/media_player.c:240,1
    - Dst: mp_event_ctx_destroy
      Src: /src/vlc/test/libvlc/media_player.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - argv
    - argc
    argTypes:
    - char**
    - int
    assertStmts:
    - condition: (vlc != NULL)
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (md != NULL)
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (mi != NULL)
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/vlc/test/libvlc/media_player.c
    constantsTouched: []
    func_position:
      end: 243
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 243
    functionName: test_media_player_play_stop
    functionSourceFile: /src/vlc/test/libvlc/media_player.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - assert
    - libvlc_media_release
    - libvlc_media_player_stop_async
    - mp_event_ctx_destroy
    - libvlc_media_player_release
    - libvlc_new
    - test_log
    - libvlc_media_player_new_from_media
    - libvlc_media_new_location
    - play_and_wait
    - mp_event_ctx_init
    - mp_event_ctx_set_mp
    linkageType: ''
    returnType: void
    signature: void test_media_player_play_stop(const char** argv, int argc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/libvlc/media_player.c:252,1
    - Dst: libvlc_new
      Src: /src/vlc/test/libvlc/media_player.c:254,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:255,1
    - Dst: libvlc_media_new_location
      Src: /src/vlc/test/libvlc/media_player.c:257,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:258,1
    - Dst: mp_event_ctx_init
      Src: /src/vlc/test/libvlc/media_player.c:261,1
    - Dst: libvlc_media_player_new_from_media
      Src: /src/vlc/test/libvlc/media_player.c:262,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:263,1
    - Dst: mp_event_ctx_set_mp
      Src: /src/vlc/test/libvlc/media_player.c:264,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/media_player.c:266,1
    - Dst: test_audio_video
      Src: /src/vlc/test/libvlc/media_player.c:268,1
    - Dst: test_role
      Src: /src/vlc/test/libvlc/media_player.c:269,1
    - Dst: play_and_wait
      Src: /src/vlc/test/libvlc/media_player.c:271,1
    - Dst: test_audio_video
      Src: /src/vlc/test/libvlc/media_player.c:272,1
    - Dst: pause_and_wait
      Src: /src/vlc/test/libvlc/media_player.c:274,1
    - Dst: test_audio_video
      Src: /src/vlc/test/libvlc/media_player.c:275,1
    - Dst: libvlc_media_player_stop_async
      Src: /src/vlc/test/libvlc/media_player.c:277,1
    - Dst: test_audio_video
      Src: /src/vlc/test/libvlc/media_player.c:278,1
    - Dst: libvlc_media_player_release
      Src: /src/vlc/test/libvlc/media_player.c:280,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/media_player.c:281,1
    - Dst: mp_event_ctx_destroy
      Src: /src/vlc/test/libvlc/media_player.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - argv
    - argc
    argTypes:
    - char**
    - int
    assertStmts:
    - condition: (md != NULL)
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (mi != NULL)
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (vlc != NULL)
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/vlc/test/libvlc/media_player.c
    constantsTouched: []
    func_position:
      end: 284
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 284
    functionName: test_media_player_pause_stop
    functionSourceFile: /src/vlc/test/libvlc/media_player.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - assert
    - libvlc_media_release
    - libvlc_media_player_stop_async
    - test_role
    - play_and_wait
    - mp_event_ctx_destroy
    - libvlc_media_player_release
    - libvlc_new
    - test_log
    - libvlc_media_player_new_from_media
    - pause_and_wait
    - libvlc_media_new_location
    - test_audio_video
    - mp_event_ctx_init
    - mp_event_ctx_set_mp
    linkageType: ''
    returnType: void
    signature: void test_media_player_pause_stop(const char** argv, int argc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/test/libvlc/media_player.c:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - tracks
    - id
    argTypes:
    - struct track*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 307
    functionName: get_track_from_id
    functionSourceFile: /src/vlc/test/libvlc/media_player.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: struct track
    signature: struct track *get_track_from_id(struct track *tracks, const char *id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/libvlc/media_player.c:311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - tracks
    - removed
    argTypes:
    - struct track**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 333
    functionName: tracks_check_all_events
    functionSourceFile: /src/vlc/test/libvlc/media_player.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: bool
    signature: bool tracks_check_all_events(struct track *const *tracks, bool removed)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/libvlc/media_player.c:337,1
    - Dst: libvlc_new
      Src: /src/vlc/test/libvlc/media_player.c:383,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:384,1
    - Dst: libvlc_media_new_location
      Src: /src/vlc/test/libvlc/media_player.c:385,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:386,1
    - Dst: mp_event_ctx_init
      Src: /src/vlc/test/libvlc/media_player.c:389,1
    - Dst: libvlc_media_player_new
      Src: /src/vlc/test/libvlc/media_player.c:392,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:393,1
    - Dst: mp_event_ctx_set_mp
      Src: /src/vlc/test/libvlc/media_player.c:394,1
    - Dst: libvlc_media_player_set_media
      Src: /src/vlc/test/libvlc/media_player.c:395,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/media_player.c:396,1
    - Dst: libvlc_media_player_select_tracks_by_ids
      Src: /src/vlc/test/libvlc/media_player.c:399,1
    - Dst: libvlc_media_player_select_tracks_by_ids
      Src: /src/vlc/test/libvlc/media_player.c:400,1
    - Dst: libvlc_media_player_select_tracks_by_ids
      Src: /src/vlc/test/libvlc/media_player.c:401,1
    - Dst: libvlc_media_player_play
      Src: /src/vlc/test/libvlc/media_player.c:405,1
    - Dst: tracks_check_all_events
      Src: /src/vlc/test/libvlc/media_player.c:409,1
    - Dst: mp_event_ctx_wait_event
      Src: /src/vlc/test/libvlc/media_player.c:411,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:416,1
    - Dst: get_track_from_id
      Src: /src/vlc/test/libvlc/media_player.c:420,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:421,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:423,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:434,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:435,1
    - Dst: get_track_from_id
      Src: /src/vlc/test/libvlc/media_player.c:437,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:439,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:440,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:445,1
    - Dst: mp_event_delete
      Src: /src/vlc/test/libvlc/media_player.c:447,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/libvlc/media_player.c:451,1
    - Dst: libvlc_media_player_get_tracklist
      Src: /src/vlc/test/libvlc/media_player.c:458,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:459,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:460,1
    - Dst: libvlc_media_tracklist_count
      Src: /src/vlc/test/libvlc/media_player.c:460,1
    - Dst: libvlc_media_tracklist_at
      Src: /src/vlc/test/libvlc/media_player.c:465,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:466,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:468,1
    - Dst: strcmp
      Src: /src/vlc/test/libvlc/media_player.c:468,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:469,1
    - Dst: libvlc_media_tracklist_delete
      Src: /src/vlc/test/libvlc/media_player.c:471,1
    - Dst: libvlc_media_player_get_tracklist
      Src: /src/vlc/test/libvlc/media_player.c:473,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:474,1
    - Dst: libvlc_media_tracklist_count
      Src: /src/vlc/test/libvlc/media_player.c:475,1
    - Dst: libvlc_media_tracklist_at
      Src: /src/vlc/test/libvlc/media_player.c:477,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:478,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:479,1
    - Dst: libvlc_media_tracklist_delete
      Src: /src/vlc/test/libvlc/media_player.c:481,1
    - Dst: libvlc_media_player_get_track_from_id
      Src: /src/vlc/test/libvlc/media_player.c:486,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:487,1
    - Dst: libvlc_media_player_select_track
      Src: /src/vlc/test/libvlc/media_player.c:488,1
    - Dst: libvlc_media_track_release
      Src: /src/vlc/test/libvlc/media_player.c:489,1
    - Dst: libvlc_media_player_get_tracklist
      Src: /src/vlc/test/libvlc/media_player.c:495,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:496,1
    - Dst: libvlc_media_track_retain
      Src: /src/vlc/test/libvlc/media_player.c:499,1
    - Dst: libvlc_media_tracklist_at
      Src: /src/vlc/test/libvlc/media_player.c:499,1
    - Dst: libvlc_media_track_retain
      Src: /src/vlc/test/libvlc/media_player.c:501,1
    - Dst: libvlc_media_tracklist_at
      Src: /src/vlc/test/libvlc/media_player.c:501,1
    - Dst: libvlc_media_tracklist_delete
      Src: /src/vlc/test/libvlc/media_player.c:502,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:507,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:508,1
    - Dst: libvlc_media_player_select_tracks
      Src: /src/vlc/test/libvlc/media_player.c:510,1
    - Dst: libvlc_media_track_release
      Src: /src/vlc/test/libvlc/media_player.c:513,1
    - Dst: libvlc_media_track_release
      Src: /src/vlc/test/libvlc/media_player.c:514,1
    - Dst: libvlc_media_player_unselect_track_type
      Src: /src/vlc/test/libvlc/media_player.c:517,1
    - Dst: tracks_check_all_events
      Src: /src/vlc/test/libvlc/media_player.c:522,1
    - Dst: mp_event_ctx_wait_event
      Src: /src/vlc/test/libvlc/media_player.c:524,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:528,1
    - Dst: mp_event_delete
      Src: /src/vlc/test/libvlc/media_player.c:529,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:532,1
    - Dst: get_track_from_id
      Src: /src/vlc/test/libvlc/media_player.c:541,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:542,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:543,1
    - Dst: get_track_from_id
      Src: /src/vlc/test/libvlc/media_player.c:550,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:551,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:552,1
    - Dst: mp_event_delete
      Src: /src/vlc/test/libvlc/media_player.c:556,1
    - Dst: libvlc_media_player_stop_async
      Src: /src/vlc/test/libvlc/media_player.c:559,1
    - Dst: tracks_check_all_events
      Src: /src/vlc/test/libvlc/media_player.c:562,1
    - Dst: mp_event_ctx_wait_event
      Src: /src/vlc/test/libvlc/media_player.c:564,1
    - Dst: get_track_from_id
      Src: /src/vlc/test/libvlc/media_player.c:571,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:572,1
    - Dst: mp_event_delete
      Src: /src/vlc/test/libvlc/media_player.c:575,1
    - Dst: libvlc_media_player_release
      Src: /src/vlc/test/libvlc/media_player.c:578,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/media_player.c:579,1
    - Dst: mp_event_ctx_destroy
      Src: /src/vlc/test/libvlc/media_player.c:581,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 104
    argCount: 2
    argNames:
    - argv
    - argc
    argTypes:
    - char**
    - int
    assertStmts:
    - condition: (mp != NULL)
      pos:
        line_end: 392
        line_start: 392
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (track->toselect)
      pos:
        line_end: 550
        line_start: 550
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (tracklist)
      pos:
        line_end: 495
        line_start: 495
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (track->added)
      pos:
        line_end: 422
        line_start: 422
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (track->toselect)
      pos:
        line_end: 439
        line_start: 439
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (libtrack->selected)
      pos:
        line_end: 478
        line_start: 478
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: "(ev->track_list.action == libvlc_list_action_added\n                    ||
        ev->track_list.action == libvlc_list_action_updated)"
      pos:
        line_end: 416
        line_start: 415
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (tracklist)
      pos:
        line_end: 473
        line_start: 473
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (selected_id)
      pos:
        line_end: 433
        line_start: 433
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (strcmp(libtrack->psz_id, track->id) == 0)
      pos:
        line_end: 467
        line_start: 467
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (track)
      pos:
        line_end: 571
        line_start: 571
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (track)
      pos:
        line_end: 438
        line_start: 438
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (libtrack)
      pos:
        line_end: 477
        line_start: 477
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (!"Event not expected")
      pos:
        line_end: 444
        line_start: 444
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (track)
      pos:
        line_end: 420
        line_start: 420
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (vlc != NULL)
      pos:
        line_end: 383
        line_start: 383
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (ev->type == EVENT_TYPE_TRACK_SELECTION)
      pos:
        line_end: 531
        line_start: 531
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (libtrack)
      pos:
        line_end: 465
        line_start: 465
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (!track->toselect)
      pos:
        line_end: 541
        line_start: 541
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (!track->selected)
      pos:
        line_end: 551
        line_start: 551
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (vtrack1->selected)
      pos:
        line_end: 506
        line_start: 506
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (libtrack)
      pos:
        line_end: 486
        line_start: 486
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (md != NULL)
      pos:
        line_end: 385
        line_start: 385
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (libvlc_media_tracklist_count(tracklist) == track_count)
      pos:
        line_end: 459
        line_start: 459
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (libtrack->selected == track->selected)
      pos:
        line_end: 468
        line_start: 468
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (!vtrack2->selected)
      pos:
        line_end: 507
        line_start: 507
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (track->selected)
      pos:
        line_end: 542
        line_start: 542
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (ev->track_list.action == libvlc_list_action_updated)
      pos:
        line_end: 527
        line_start: 527
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (!unselected_id)
      pos:
        line_end: 434
        line_start: 434
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (tracklist)
      pos:
        line_end: 458
        line_start: 458
        source_file: /src/vlc/test/libvlc/media_player.c
    constantsTouched: []
    func_position:
      end: 582
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 582
    functionName: test_media_player_tracks
    functionSourceFile: /src/vlc/test/libvlc/media_player.c
    functionUses: 0
    functionsReached:
    - assert
    - libvlc_media_tracklist_at
    - libvlc_media_player_set_media
    - tracks_check_all_events
    - get_track_from_id
    - libvlc_media_player_new
    - libvlc_new
    - test_log
    - libvlc_media_tracklist_count
    - mp_event_ctx_init
    - libvlc_media_player_select_tracks_by_ids
    - libvlc_media_new_location
    - mp_event_delete
    - libvlc_media_player_select_tracks
    - ARRAY_SIZE
    - libvlc_media_player_get_track_from_id
    - mp_event_ctx_destroy
    - libvlc_media_track_release
    - libvlc_release
    - libvlc_media_release
    - libvlc_media_player_stop_async
    - libvlc_media_player_release
    - strcmp
    - libvlc_media_player_play
    - libvlc_media_player_get_tracklist
    - libvlc_media_track_retain
    - libvlc_media_player_unselect_track_type
    - libvlc_media_player_select_track
    - mp_event_ctx_wait_event
    - mp_event_ctx_set_mp
    - libvlc_media_tracklist_delete
    linkageType: ''
    returnType: void
    signature: void test_media_player_tracks(const char** argv, int argc)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/libvlc/media_player.c:587,1
    - Dst: sprintf
      Src: /src/vlc/test/libvlc/media_player.c:590,1
    - Dst: libvlc_new
      Src: /src/vlc/test/libvlc/media_player.c:599,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:600,1
    - Dst: libvlc_media_new_location
      Src: /src/vlc/test/libvlc/media_player.c:601,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:602,1
    - Dst: mp_event_ctx_init
      Src: /src/vlc/test/libvlc/media_player.c:605,1
    - Dst: libvlc_media_player_new
      Src: /src/vlc/test/libvlc/media_player.c:608,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:609,1
    - Dst: mp_event_ctx_set_mp
      Src: /src/vlc/test/libvlc/media_player.c:610,1
    - Dst: libvlc_media_player_set_media
      Src: /src/vlc/test/libvlc/media_player.c:611,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/media_player.c:612,1
    - Dst: libvlc_media_player_select_program_id
      Src: /src/vlc/test/libvlc/media_player.c:614,1
    - Dst: libvlc_media_player_play
      Src: /src/vlc/test/libvlc/media_player.c:616,1
    - Dst: mp_event_ctx_wait_event
      Src: /src/vlc/test/libvlc/media_player.c:622,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:627,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:631,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:636,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:637,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:638,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:642,1
    - Dst: mp_event_delete
      Src: /src/vlc/test/libvlc/media_player.c:644,1
    - Dst: libvlc_media_player_get_selected_program
      Src: /src/vlc/test/libvlc/media_player.c:650,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:651,1
    - Dst: libvlc_player_program_delete
      Src: /src/vlc/test/libvlc/media_player.c:652,1
    - Dst: libvlc_media_player_select_program_id
      Src: /src/vlc/test/libvlc/media_player.c:655,1
    - Dst: mp_event_ctx_wait_event
      Src: /src/vlc/test/libvlc/media_player.c:659,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:660,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:661,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:662,1
    - Dst: mp_event_delete
      Src: /src/vlc/test/libvlc/media_player.c:663,1
    - Dst: libvlc_media_player_get_selected_program
      Src: /src/vlc/test/libvlc/media_player.c:667,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:668,1
    - Dst: libvlc_player_program_delete
      Src: /src/vlc/test/libvlc/media_player.c:669,1
    - Dst: libvlc_media_player_get_program_from_id
      Src: /src/vlc/test/libvlc/media_player.c:672,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:673,1
    - Dst: libvlc_player_program_delete
      Src: /src/vlc/test/libvlc/media_player.c:674,1
    - Dst: libvlc_media_player_get_programlist
      Src: /src/vlc/test/libvlc/media_player.c:677,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:678,1
    - Dst: libvlc_player_programlist_count
      Src: /src/vlc/test/libvlc/media_player.c:679,1
    - Dst: libvlc_player_programlist_at
      Src: /src/vlc/test/libvlc/media_player.c:681,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:682,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:684,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:686,1
    - Dst: libvlc_player_programlist_delete
      Src: /src/vlc/test/libvlc/media_player.c:688,1
    - Dst: libvlc_media_player_stop_async
      Src: /src/vlc/test/libvlc/media_player.c:690,1
    - Dst: mp_event_ctx_wait_event
      Src: /src/vlc/test/libvlc/media_player.c:695,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:702,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:703,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.c:707,1
    - Dst: mp_event_delete
      Src: /src/vlc/test/libvlc/media_player.c:709,1
    - Dst: libvlc_media_player_release
      Src: /src/vlc/test/libvlc/media_player.c:712,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/media_player.c:713,1
    - Dst: mp_event_ctx_destroy
      Src: /src/vlc/test/libvlc/media_player.c:715,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 77
    argCount: 2
    argNames:
    - argv
    - argc
    argTypes:
    - char**
    - int
    assertStmts:
    - condition: (ev->program_selection.unselected_group_id == -1)
      pos:
        line_end: 636
        line_start: 636
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (ev->program_selection.selected_group_id != -1)
      pos:
        line_end: 637
        line_start: 637
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (program != NULL && program->i_group_id == 2 && program->b_selected)
      pos:
        line_end: 650
        line_start: 650
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (ev->type == EVENT_TYPE_PROGRAM_SELECTION)
      pos:
        line_end: 659
        line_start: 659
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (ev->program_list.group_id == nb_added)
      pos:
        line_end: 630
        line_start: 630
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (nb_selected == 0)
      pos:
        line_end: 635
        line_start: 635
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (ev->program_selection.unselected_group_id == 2)
      pos:
        line_end: 660
        line_start: 660
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (program != NULL && program->i_group_id == 8 && program->b_selected)
      pos:
        line_end: 667
        line_start: 667
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (!"Event not expected")
      pos:
        line_end: 706
        line_start: 706
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (!program->b_selected)
      pos:
        line_end: 685
        line_start: 685
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (!"Event not expected")
      pos:
        line_end: 641
        line_start: 641
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (ev->program_selection.selected_group_id == 8)
      pos:
        line_end: 661
        line_start: 661
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (ev->program_list.group_id == nb_deleted)
      pos:
        line_end: 702
        line_start: 702
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (vlc != NULL)
      pos:
        line_end: 599
        line_start: 599
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (md != NULL)
      pos:
        line_end: 601
        line_start: 601
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (mp != NULL)
      pos:
        line_end: 608
        line_start: 608
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: "(ev->program_list.action == libvlc_list_action_added\n                    ||
        ev->program_list.action == libvlc_list_action_updated)"
      pos:
        line_end: 627
        line_start: 626
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (program != NULL && program->i_group_id == 0 && !program->b_selected)
      pos:
        line_end: 672
        line_start: 672
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (program != NULL && program->i_group_id == (int)i)
      pos:
        line_end: 681
        line_start: 681
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (program->b_selected)
      pos:
        line_end: 683
        line_start: 683
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (list)
      pos:
        line_end: 677
        line_start: 677
        source_file: /src/vlc/test/libvlc/media_player.c
    - condition: (ev->program_list.action == libvlc_list_action_removed)
      pos:
        line_end: 701
        line_start: 701
        source_file: /src/vlc/test/libvlc/media_player.c
    constantsTouched: []
    func_position:
      end: 716
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 716
    functionName: test_media_player_programs
    functionSourceFile: /src/vlc/test/libvlc/media_player.c
    functionUses: 0
    functionsReached:
    - assert
    - libvlc_media_player_set_media
    - libvlc_media_player_new
    - libvlc_new
    - test_log
    - mp_event_ctx_init
    - libvlc_player_programlist_delete
    - libvlc_media_new_location
    - mp_event_delete
    - libvlc_player_programlist_at
    - libvlc_media_player_get_programlist
    - mp_event_ctx_destroy
    - libvlc_release
    - libvlc_media_release
    - sprintf
    - libvlc_media_player_stop_async
    - libvlc_media_player_release
    - libvlc_media_player_play
    - libvlc_player_programlist_count
    - libvlc_media_player_select_program_id
    - libvlc_player_program_delete
    - libvlc_media_player_get_program_from_id
    - libvlc_media_player_get_selected_program
    - mp_event_ctx_wait_event
    - mp_event_ctx_set_mp
    linkageType: ''
    returnType: void
    signature: void test_media_player_programs(const char** argv, int argc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_new
      Src: /src/vlc/test/libvlc/media_player.c:722,1
    - Dst: libvlc_new
      Src: /src/vlc/test/libvlc/media_player.c:723,1
    - Dst: libvlc_media_new_path
      Src: /src/vlc/test/libvlc/media_player.c:726,1
    - Dst: libvlc_media_player_new
      Src: /src/vlc/test/libvlc/media_player.c:728,1
    - Dst: libvlc_media_player_set_media
      Src: /src/vlc/test/libvlc/media_player.c:729,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/media_player.c:732,1
    - Dst: libvlc_media_player_release
      Src: /src/vlc/test/libvlc/media_player.c:733,1
    - Dst: libvlc_media_player_new
      Src: /src/vlc/test/libvlc/media_player.c:738,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/media_player.c:742,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/media_player.c:743,1
    - Dst: libvlc_media_player_release
      Src: /src/vlc/test/libvlc/media_player.c:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - argv
    - argc
    argTypes:
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 746
    functionName: test_media_player_multiple_instance
    functionSourceFile: /src/vlc/test/libvlc/media_player.c
    functionUses: 0
    functionsReached:
    - libvlc_media_new_path
    - libvlc_release
    - libvlc_media_release
    - libvlc_media_player_set_media
    - libvlc_media_player_release
    - libvlc_media_player_new
    - libvlc_new
    linkageType: ''
    returnType: void
    signature: void test_media_player_multiple_instance(const char** argv, int argc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_new
      Src: /src/vlc/test/libvlc/media_player.c:750,1
    - Dst: libvlc_media_new_path
      Src: /src/vlc/test/libvlc/media_player.c:753,1
    - Dst: libvlc_media_player_new
      Src: /src/vlc/test/libvlc/media_player.c:754,1
    - Dst: libvlc_media_player_set_media
      Src: /src/vlc/test/libvlc/media_player.c:755,1
    - Dst: libvlc_video_set_video_stereo_mode
      Src: /src/vlc/test/libvlc/media_player.c:757,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/media_player.c:759,1
    - Dst: libvlc_media_player_release
      Src: /src/vlc/test/libvlc/media_player.c:760,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/media_player.c:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argv
    - argc
    argTypes:
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 762
    functionName: test_media_player_video_controls
    functionSourceFile: /src/vlc/test/libvlc/media_player.c
    functionUses: 0
    functionsReached:
    - libvlc_media_new_path
    - libvlc_release
    - libvlc_media_release
    - libvlc_media_player_set_media
    - libvlc_media_player_release
    - libvlc_media_player_new
    - libvlc_new
    - libvlc_video_set_video_stereo_mode
    linkageType: ''
    returnType: void
    signature: void test_media_player_video_controls(const char** argv, int argc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/libvlc/media_player.c:767,1
    - Dst: test_media_player_set_media
      Src: /src/vlc/test/libvlc/media_player.c:769,1
    - Dst: test_media_player_switch_media
      Src: /src/vlc/test/libvlc/media_player.c:770,1
    - Dst: test_media_player_play_stop
      Src: /src/vlc/test/libvlc/media_player.c:771,1
    - Dst: test_media_player_pause_stop
      Src: /src/vlc/test/libvlc/media_player.c:772,1
    - Dst: test_media_player_tracks
      Src: /src/vlc/test/libvlc/media_player.c:773,1
    - Dst: test_media_player_programs
      Src: /src/vlc/test/libvlc/media_player.c:774,1
    - Dst: test_media_player_multiple_instance
      Src: /src/vlc/test/libvlc/media_player.c:775,1
    - Dst: test_media_player_video_controls
      Src: /src/vlc/test/libvlc/media_player.c:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 765
    functionDepth: 3
    functionLinenumber: 765
    functionLinenumberEnd: 779
    functionName: main
    functionSourceFile: /src/vlc/test/libvlc/media_player.c
    functionUses: 0
    functionsReached:
    - test_media_player_play_stop
    - test_media_player_switch_media
    - test_media_player_video_controls
    - test_init
    - test_media_player_pause_stop
    - test_media_player_tracks
    - test_media_player_set_media
    - test_media_player_programs
    - test_media_player_multiple_instance
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_media_new_location
      Src: /src/vlc/test/libvlc/media_list_player.c:43,1
    - Dst: libvlc_media_list_add_media
      Src: /src/vlc/test/libvlc/media_list_player.c:44,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list_player.c:45,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/media_list_player.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ml
    - file_path
    argTypes:
    - libvlc_media_list_t*
    - char*
    assertStmts:
    - condition: (ret == 0)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/vlc/test/libvlc/media_list_player.c
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: media_list_add_file_path
    functionSourceFile: /src/vlc/test/libvlc/media_list_player.c
    functionUses: 0
    functionsReached:
    - libvlc_media_list_add_media
    - assert
    - libvlc_media_release
    - libvlc_media_new_location
    linkageType: ''
    returnType: void
    signature: void * media_list_add_file_path(libvlc_media_list_t *ml, const char
      * file_path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_init
      Src: /src/vlc/test/libvlc/media_list_player.c:52,1
    - Dst: vlc_cond_init
      Src: /src/vlc/test/libvlc/media_list_player.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - check
    argTypes:
    - struct check_items_order_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: check_data_init
    functionSourceFile: /src/vlc/test/libvlc/media_list_player.c
    functionUses: 0
    functionsReached:
    - vlc_cond_init
    - vlc_mutex_init
    linkageType: ''
    returnType: void
    signature: void check_data_init(struct check_items_order_data *check)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/test/libvlc/media_list_player.c:60,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/test/libvlc/media_list_player.c:62,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/test/libvlc/media_list_player.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - check
    - id
    argTypes:
    - struct check_items_order_data*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: wait_item
    functionSourceFile: /src/vlc/test/libvlc/media_list_player.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_cond_wait
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void wait_item(struct check_items_order_data *check, void *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/test/libvlc/media_list_player.c:68,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/test/libvlc/media_list_player.c:70,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/test/libvlc/media_list_player.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - check
    - count
    argTypes:
    - struct check_items_order_data*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: wait_item_count
    functionSourceFile: /src/vlc/test/libvlc/media_list_player.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_cond_wait
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void wait_item_count(struct check_items_order_data *check, unsigned
      count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/test/libvlc/media_list_player.c:76,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/test/libvlc/media_list_player.c:78,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/test/libvlc/media_list_player.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - check
    argTypes:
    - struct check_items_order_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: wait_playing
    functionSourceFile: /src/vlc/test/libvlc/media_list_player.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_cond_wait
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void wait_playing(struct check_items_order_data *check)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/test/libvlc/media_list_player.c:84,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/test/libvlc/media_list_player.c:86,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/test/libvlc/media_list_player.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - check
    argTypes:
    - struct check_items_order_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: wait_stopped
    functionSourceFile: /src/vlc/test/libvlc/media_list_player.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_cond_wait
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void wait_stopped(struct check_items_order_data *check)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/test/libvlc/media_list_player.c:94,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/test/libvlc/media_list_player.c:97,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/test/libvlc/media_list_player.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - opaque
    - md
    argTypes:
    - void*
    - libvlc_media_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: on_media_changed
    functionSourceFile: /src/vlc/test/libvlc/media_list_player.c
    functionUses: 0
    functionsReached:
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void on_media_changed(void *opaque, libvlc_media_t *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/test/libvlc/media_list_player.c:104,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/test/libvlc/media_list_player.c:106,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/test/libvlc/media_list_player.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - opaque
    - state
    argTypes:
    - void*
    - libvlc_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: on_state_changed
    functionSourceFile: /src/vlc/test/libvlc/media_list_player.c
    functionUses: 0
    functionsReached:
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void on_state_changed(void *opaque, libvlc_state_t state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/libvlc/media_list_player.c:125,1
    - Dst: libvlc_new
      Src: /src/vlc/test/libvlc/media_list_player.c:127,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list_player.c:128,1
    - Dst: libvlc_media_list_new
      Src: /src/vlc/test/libvlc/media_list_player.c:130,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list_player.c:131,1
    - Dst: check_data_init
      Src: /src/vlc/test/libvlc/media_list_player.c:134,1
    - Dst: libvlc_media_list_player_new
      Src: /src/vlc/test/libvlc/media_list_player.c:136,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list_player.c:137,1
    - Dst: media_list_add_file_path
      Src: /src/vlc/test/libvlc/media_list_player.c:140,1
    - Dst: media_list_add_file_path
      Src: /src/vlc/test/libvlc/media_list_player.c:141,1
    - Dst: media_list_add_file_path
      Src: /src/vlc/test/libvlc/media_list_player.c:142,1
    - Dst: media_list_add_file_path
      Src: /src/vlc/test/libvlc/media_list_player.c:145,1
    - Dst: media_list_add_file_path
      Src: /src/vlc/test/libvlc/media_list_player.c:148,1
    - Dst: libvlc_media_list_player_set_media_list
      Src: /src/vlc/test/libvlc/media_list_player.c:150,1
    - Dst: libvlc_media_list_player_play
      Src: /src/vlc/test/libvlc/media_list_player.c:152,1
    - Dst: wait_item_count
      Src: /src/vlc/test/libvlc/media_list_player.c:155,1
    - Dst: libvlc_media_list_player_stop_async
      Src: /src/vlc/test/libvlc/media_list_player.c:157,1
    - Dst: wait_stopped
      Src: /src/vlc/test/libvlc/media_list_player.c:158,1
    - Dst: libvlc_media_list_player_release
      Src: /src/vlc/test/libvlc/media_list_player.c:160,1
    - Dst: libvlc_media_list_release
      Src: /src/vlc/test/libvlc/media_list_player.c:161,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/media_list_player.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - argv
    - argc
    argTypes:
    - char**
    - int
    assertStmts:
    - condition: (ml != NULL)
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/vlc/test/libvlc/media_list_player.c
    - condition: (mlp)
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/vlc/test/libvlc/media_list_player.c
    - condition: (vlc != NULL)
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/vlc/test/libvlc/media_list_player.c
    constantsTouched: []
    func_position:
      end: 163
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 163
    functionName: test_media_list_player_items_queue
    functionSourceFile: /src/vlc/test/libvlc/media_list_player.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - assert
    - libvlc_media_list_player_release
    - libvlc_media_list_player_new
    - media_list_add_file_path
    - libvlc_media_list_player_set_media_list
    - libvlc_media_list_player_stop_async
    - check_data_init
    - libvlc_new
    - test_log
    - libvlc_media_list_player_play
    - libvlc_media_list_new
    - wait_item_count
    - wait_stopped
    - libvlc_media_list_release
    linkageType: ''
    returnType: void
    signature: void test_media_list_player_items_queue(const char** argv, int argc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/libvlc/media_list_player.c:175,1
    - Dst: libvlc_new
      Src: /src/vlc/test/libvlc/media_list_player.c:177,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list_player.c:178,1
    - Dst: libvlc_media_new_location
      Src: /src/vlc/test/libvlc/media_list_player.c:180,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list_player.c:181,1
    - Dst: libvlc_media_list_new
      Src: /src/vlc/test/libvlc/media_list_player.c:183,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list_player.c:184,1
    - Dst: check_data_init
      Src: /src/vlc/test/libvlc/media_list_player.c:187,1
    - Dst: libvlc_media_list_player_new
      Src: /src/vlc/test/libvlc/media_list_player.c:189,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list_player.c:191,1
    - Dst: media_list_add_file_path
      Src: /src/vlc/test/libvlc/media_list_player.c:194,1
    - Dst: media_list_add_file_path
      Src: /src/vlc/test/libvlc/media_list_player.c:195,1
    - Dst: media_list_add_file_path
      Src: /src/vlc/test/libvlc/media_list_player.c:196,1
    - Dst: libvlc_media_list_add_media
      Src: /src/vlc/test/libvlc/media_list_player.c:198,1
    - Dst: libvlc_media_list_player_set_media_list
      Src: /src/vlc/test/libvlc/media_list_player.c:200,1
    - Dst: libvlc_media_list_player_play_item
      Src: /src/vlc/test/libvlc/media_list_player.c:202,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list_player.c:203,1
    - Dst: wait_playing
      Src: /src/vlc/test/libvlc/media_list_player.c:205,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/media_list_player.c:207,1
    - Dst: libvlc_media_list_player_previous
      Src: /src/vlc/test/libvlc/media_list_player.c:209,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list_player.c:210,1
    - Dst: wait_item
      Src: /src/vlc/test/libvlc/media_list_player.c:213,1
    - Dst: libvlc_media_list_player_pause
      Src: /src/vlc/test/libvlc/media_list_player.c:215,1
    - Dst: libvlc_media_list_player_previous
      Src: /src/vlc/test/libvlc/media_list_player.c:216,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list_player.c:217,1
    - Dst: wait_playing
      Src: /src/vlc/test/libvlc/media_list_player.c:219,1
    - Dst: wait_item
      Src: /src/vlc/test/libvlc/media_list_player.c:220,1
    - Dst: libvlc_media_list_player_stop_async
      Src: /src/vlc/test/libvlc/media_list_player.c:222,1
    - Dst: wait_stopped
      Src: /src/vlc/test/libvlc/media_list_player.c:223,1
    - Dst: libvlc_media_list_player_previous
      Src: /src/vlc/test/libvlc/media_list_player.c:225,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list_player.c:226,1
    - Dst: wait_playing
      Src: /src/vlc/test/libvlc/media_list_player.c:228,1
    - Dst: wait_item
      Src: /src/vlc/test/libvlc/media_list_player.c:229,1
    - Dst: libvlc_media_list_player_stop_async
      Src: /src/vlc/test/libvlc/media_list_player.c:231,1
    - Dst: wait_stopped
      Src: /src/vlc/test/libvlc/media_list_player.c:232,1
    - Dst: libvlc_media_list_player_release
      Src: /src/vlc/test/libvlc/media_list_player.c:234,1
    - Dst: libvlc_media_list_release
      Src: /src/vlc/test/libvlc/media_list_player.c:235,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/media_list_player.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 2
    argNames:
    - argv
    - argc
    argTypes:
    - char**
    - int
    assertStmts:
    - condition: (vlc != NULL)
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/vlc/test/libvlc/media_list_player.c
    - condition: (ret == 0)
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/vlc/test/libvlc/media_list_player.c
    - condition: (ml != NULL)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/vlc/test/libvlc/media_list_player.c
    - condition: (ret == 0)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/vlc/test/libvlc/media_list_player.c
    - condition: (ret == 0)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/vlc/test/libvlc/media_list_player.c
    - condition: (md)
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/vlc/test/libvlc/media_list_player.c
    - condition: (ret == 0)
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/vlc/test/libvlc/media_list_player.c
    - condition: (mlp)
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/vlc/test/libvlc/media_list_player.c
    constantsTouched: []
    func_position:
      end: 237
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 237
    functionName: test_media_list_player_previous
    functionSourceFile: /src/vlc/test/libvlc/media_list_player.c
    functionUses: 0
    functionsReached:
    - assert
    - libvlc_media_list_player_stop_async
    - libvlc_new
    - test_log
    - libvlc_media_new_location
    - wait_item
    - wait_stopped
    - libvlc_media_list_add_media
    - libvlc_release
    - libvlc_media_release
    - libvlc_media_list_player_new
    - libvlc_media_list_player_set_media_list
    - check_data_init
    - libvlc_media_list_new
    - wait_playing
    - libvlc_media_list_player_release
    - media_list_add_file_path
    - libvlc_media_list_player_play_item
    - libvlc_media_list_player_previous
    - libvlc_media_list_player_pause
    - libvlc_media_list_release
    linkageType: ''
    returnType: void
    signature: void test_media_list_player_previous(const char** argv, int argc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/libvlc/media_list_player.c:248,1
    - Dst: libvlc_new
      Src: /src/vlc/test/libvlc/media_list_player.c:250,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list_player.c:251,1
    - Dst: libvlc_media_new_location
      Src: /src/vlc/test/libvlc/media_list_player.c:253,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list_player.c:254,1
    - Dst: libvlc_media_list_new
      Src: /src/vlc/test/libvlc/media_list_player.c:256,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list_player.c:257,1
    - Dst: check_data_init
      Src: /src/vlc/test/libvlc/media_list_player.c:260,1
    - Dst: libvlc_media_list_player_new
      Src: /src/vlc/test/libvlc/media_list_player.c:262,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list_player.c:263,1
    - Dst: libvlc_media_list_add_media
      Src: /src/vlc/test/libvlc/media_list_player.c:265,1
    - Dst: media_list_add_file_path
      Src: /src/vlc/test/libvlc/media_list_player.c:269,1
    - Dst: media_list_add_file_path
      Src: /src/vlc/test/libvlc/media_list_player.c:270,1
    - Dst: media_list_add_file_path
      Src: /src/vlc/test/libvlc/media_list_player.c:271,1
    - Dst: libvlc_media_list_player_set_media_list
      Src: /src/vlc/test/libvlc/media_list_player.c:273,1
    - Dst: libvlc_media_list_player_play_item
      Src: /src/vlc/test/libvlc/media_list_player.c:275,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/media_list_player.c:277,1
    - Dst: wait_playing
      Src: /src/vlc/test/libvlc/media_list_player.c:279,1
    - Dst: libvlc_media_list_player_next
      Src: /src/vlc/test/libvlc/media_list_player.c:281,1
    - Dst: wait_item
      Src: /src/vlc/test/libvlc/media_list_player.c:284,1
    - Dst: libvlc_media_list_player_pause
      Src: /src/vlc/test/libvlc/media_list_player.c:286,1
    - Dst: libvlc_media_list_player_next
      Src: /src/vlc/test/libvlc/media_list_player.c:287,1
    - Dst: wait_playing
      Src: /src/vlc/test/libvlc/media_list_player.c:289,1
    - Dst: wait_item
      Src: /src/vlc/test/libvlc/media_list_player.c:290,1
    - Dst: libvlc_media_list_player_next
      Src: /src/vlc/test/libvlc/media_list_player.c:292,1
    - Dst: wait_playing
      Src: /src/vlc/test/libvlc/media_list_player.c:294,1
    - Dst: wait_item
      Src: /src/vlc/test/libvlc/media_list_player.c:295,1
    - Dst: libvlc_media_list_player_next
      Src: /src/vlc/test/libvlc/media_list_player.c:297,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list_player.c:298,1
    - Dst: libvlc_media_list_player_stop_async
      Src: /src/vlc/test/libvlc/media_list_player.c:300,1
    - Dst: wait_stopped
      Src: /src/vlc/test/libvlc/media_list_player.c:301,1
    - Dst: libvlc_media_list_player_next
      Src: /src/vlc/test/libvlc/media_list_player.c:304,1
    - Dst: wait_playing
      Src: /src/vlc/test/libvlc/media_list_player.c:305,1
    - Dst: wait_item
      Src: /src/vlc/test/libvlc/media_list_player.c:306,1
    - Dst: libvlc_media_list_player_release
      Src: /src/vlc/test/libvlc/media_list_player.c:308,1
    - Dst: libvlc_media_list_release
      Src: /src/vlc/test/libvlc/media_list_player.c:309,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/media_list_player.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 2
    argNames:
    - argv
    - argc
    argTypes:
    - char**
    - int
    assertStmts:
    - condition: (vlc != NULL)
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/vlc/test/libvlc/media_list_player.c
    - condition: (ret == -1)
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/vlc/test/libvlc/media_list_player.c
    - condition: (ml != NULL)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/vlc/test/libvlc/media_list_player.c
    - condition: (mlp)
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/vlc/test/libvlc/media_list_player.c
    - condition: (md)
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/vlc/test/libvlc/media_list_player.c
    constantsTouched: []
    func_position:
      end: 311
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 311
    functionName: test_media_list_player_next
    functionSourceFile: /src/vlc/test/libvlc/media_list_player.c
    functionUses: 0
    functionsReached:
    - assert
    - libvlc_media_list_player_stop_async
    - libvlc_media_list_player_next
    - libvlc_new
    - test_log
    - libvlc_media_new_location
    - wait_item
    - wait_stopped
    - libvlc_media_list_add_media
    - libvlc_release
    - libvlc_media_release
    - libvlc_media_list_player_new
    - libvlc_media_list_player_set_media_list
    - check_data_init
    - libvlc_media_list_new
    - wait_playing
    - libvlc_media_list_player_release
    - media_list_add_file_path
    - libvlc_media_list_player_play_item
    - libvlc_media_list_player_pause
    - libvlc_media_list_release
    linkageType: ''
    returnType: void
    signature: void test_media_list_player_next(const char** argv, int argc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/libvlc/media_list_player.c:322,1
    - Dst: libvlc_new
      Src: /src/vlc/test/libvlc/media_list_player.c:324,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list_player.c:325,1
    - Dst: libvlc_media_new_location
      Src: /src/vlc/test/libvlc/media_list_player.c:327,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list_player.c:328,1
    - Dst: libvlc_media_list_new
      Src: /src/vlc/test/libvlc/media_list_player.c:330,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list_player.c:331,1
    - Dst: check_data_init
      Src: /src/vlc/test/libvlc/media_list_player.c:334,1
    - Dst: libvlc_media_list_player_new
      Src: /src/vlc/test/libvlc/media_list_player.c:336,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list_player.c:337,1
    - Dst: libvlc_media_list_add_media
      Src: /src/vlc/test/libvlc/media_list_player.c:339,1
    - Dst: libvlc_media_list_player_set_media_list
      Src: /src/vlc/test/libvlc/media_list_player.c:341,1
    - Dst: libvlc_media_list_player_play_item
      Src: /src/vlc/test/libvlc/media_list_player.c:343,1
    - Dst: wait_playing
      Src: /src/vlc/test/libvlc/media_list_player.c:345,1
    - Dst: libvlc_media_list_player_pause
      Src: /src/vlc/test/libvlc/media_list_player.c:347,1
    - Dst: libvlc_media_list_player_stop_async
      Src: /src/vlc/test/libvlc/media_list_player.c:349,1
    - Dst: wait_stopped
      Src: /src/vlc/test/libvlc/media_list_player.c:350,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/media_list_player.c:352,1
    - Dst: libvlc_media_list_player_release
      Src: /src/vlc/test/libvlc/media_list_player.c:353,1
    - Dst: libvlc_media_list_release
      Src: /src/vlc/test/libvlc/media_list_player.c:354,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/media_list_player.c:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - argv
    - argc
    argTypes:
    - char**
    - int
    assertStmts:
    - condition: (ml != NULL)
      pos:
        line_end: 330
        line_start: 330
        source_file: /src/vlc/test/libvlc/media_list_player.c
    - condition: (mlp)
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/vlc/test/libvlc/media_list_player.c
    - condition: (md)
      pos:
        line_end: 327
        line_start: 327
        source_file: /src/vlc/test/libvlc/media_list_player.c
    - condition: (vlc != NULL)
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/vlc/test/libvlc/media_list_player.c
    constantsTouched: []
    func_position:
      end: 356
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 356
    functionName: test_media_list_player_pause_stop
    functionSourceFile: /src/vlc/test/libvlc/media_list_player.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - assert
    - wait_playing
    - libvlc_media_list_player_new
    - libvlc_media_list_player_set_media_list
    - libvlc_media_release
    - libvlc_media_list_player_play_item
    - libvlc_media_list_player_stop_async
    - libvlc_media_list_player_release
    - check_data_init
    - libvlc_new
    - test_log
    - libvlc_media_list_new
    - libvlc_media_new_location
    - wait_stopped
    - libvlc_media_list_player_pause
    - libvlc_media_list_add_media
    - libvlc_media_list_release
    linkageType: ''
    returnType: void
    signature: void test_media_list_player_pause_stop(const char** argv, int argc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/libvlc/media_list_player.c:367,1
    - Dst: libvlc_new
      Src: /src/vlc/test/libvlc/media_list_player.c:369,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list_player.c:370,1
    - Dst: libvlc_media_new_location
      Src: /src/vlc/test/libvlc/media_list_player.c:372,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list_player.c:373,1
    - Dst: libvlc_media_list_new
      Src: /src/vlc/test/libvlc/media_list_player.c:375,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list_player.c:376,1
    - Dst: check_data_init
      Src: /src/vlc/test/libvlc/media_list_player.c:379,1
    - Dst: libvlc_media_list_player_new
      Src: /src/vlc/test/libvlc/media_list_player.c:381,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list_player.c:382,1
    - Dst: libvlc_media_list_add_media
      Src: /src/vlc/test/libvlc/media_list_player.c:385,1
    - Dst: libvlc_media_list_player_set_media_list
      Src: /src/vlc/test/libvlc/media_list_player.c:387,1
    - Dst: libvlc_media_list_player_play_item_at_index
      Src: /src/vlc/test/libvlc/media_list_player.c:388,1
    - Dst: wait_playing
      Src: /src/vlc/test/libvlc/media_list_player.c:390,1
    - Dst: libvlc_media_list_player_stop_async
      Src: /src/vlc/test/libvlc/media_list_player.c:392,1
    - Dst: wait_stopped
      Src: /src/vlc/test/libvlc/media_list_player.c:393,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/media_list_player.c:395,1
    - Dst: libvlc_media_list_player_release
      Src: /src/vlc/test/libvlc/media_list_player.c:396,1
    - Dst: libvlc_media_list_release
      Src: /src/vlc/test/libvlc/media_list_player.c:397,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/media_list_player.c:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - argv
    - argc
    argTypes:
    - char**
    - int
    assertStmts:
    - condition: (vlc != NULL)
      pos:
        line_end: 369
        line_start: 369
        source_file: /src/vlc/test/libvlc/media_list_player.c
    - condition: (md)
      pos:
        line_end: 372
        line_start: 372
        source_file: /src/vlc/test/libvlc/media_list_player.c
    - condition: (ml != NULL)
      pos:
        line_end: 375
        line_start: 375
        source_file: /src/vlc/test/libvlc/media_list_player.c
    - condition: (mlp)
      pos:
        line_end: 381
        line_start: 381
        source_file: /src/vlc/test/libvlc/media_list_player.c
    constantsTouched: []
    func_position:
      end: 399
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 399
    functionName: test_media_list_player_play_item_at_index
    functionSourceFile: /src/vlc/test/libvlc/media_list_player.c
    functionUses: 0
    functionsReached:
    - libvlc_media_list_player_play_item_at_index
    - libvlc_release
    - assert
    - wait_playing
    - libvlc_media_list_player_new
    - libvlc_media_list_player_set_media_list
    - libvlc_media_release
    - libvlc_media_list_player_release
    - libvlc_media_list_player_stop_async
    - check_data_init
    - libvlc_new
    - test_log
    - libvlc_media_list_new
    - libvlc_media_new_location
    - wait_stopped
    - libvlc_media_list_add_media
    - libvlc_media_list_release
    linkageType: ''
    returnType: void
    signature: void test_media_list_player_play_item_at_index(const char** argv, int
      argc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/libvlc/media_list_player.c:403,1
    - Dst: alarm
      Src: /src/vlc/test/libvlc/media_list_player.c:406,1
    - Dst: test_media_list_player_pause_stop
      Src: /src/vlc/test/libvlc/media_list_player.c:408,1
    - Dst: test_media_list_player_play_item_at_index
      Src: /src/vlc/test/libvlc/media_list_player.c:409,1
    - Dst: test_media_list_player_previous
      Src: /src/vlc/test/libvlc/media_list_player.c:410,1
    - Dst: test_media_list_player_next
      Src: /src/vlc/test/libvlc/media_list_player.c:411,1
    - Dst: test_media_list_player_items_queue
      Src: /src/vlc/test/libvlc/media_list_player.c:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 401
    functionDepth: 3
    functionLinenumber: 401
    functionLinenumberEnd: 414
    functionName: main
    functionSourceFile: /src/vlc/test/libvlc/media_list_player.c
    functionUses: 0
    functionsReached:
    - test_media_list_player_previous
    - test_media_list_player_next
    - alarm
    - test_media_list_player_play_item_at_index
    - test_init
    - test_media_list_player_pause_stop
    - test_media_list_player_items_queue
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_parser_task_get_media
      Src: /src/vlc/test/libvlc/media_utils.h:26,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_utils.h:27,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_utils.h:28,1
    - Dst: libvlc_media_is_parsed
      Src: /src/vlc/test/libvlc/media_utils.h:28,1
    - Dst: vlc_sem_post
      Src: /src/vlc/test/libvlc/media_utils.h:32,1
    - Dst: libvlc_parser_task_release
      Src: /src/vlc/test/libvlc/media_utils.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - opaque
    - task
    - status
    argTypes:
    - void*
    - libvlc_parser_task*
    - libvlc_parser_status_t
    assertStmts:
    - condition: (media != NULL)
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/vlc/test/libvlc/media_utils.h
    - condition: "(libvlc_media_is_parsed(media) ==\n           (status == libvlc_parser_status_done))"
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/vlc/test/libvlc/media_utils.h
    constantsTouched: []
    func_position:
      end: 34
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 34
    functionName: libvlc_media_parse_finished_event
    functionSourceFile: /src/vlc/test/libvlc/media_utils.h
    functionUses: 0
    functionsReached:
    - assert
    - libvlc_media_is_parsed
    - libvlc_parser_task_release
    - libvlc_parser_task_get_media
    - vlc_sem_post
    linkageType: ''
    returnType: void
    signature: "void libvlc_media_parse_finished_event(void *opaque, libvlc_parser_task
      *task,\n                                  libvlc_parser_status_t status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sem_init
      Src: /src/vlc/test/libvlc/media_utils.h:41,1
    - Dst: libvlc_parser_new
      Src: /src/vlc/test/libvlc/media_utils.h:54,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_utils.h:55,1
    - Dst: libvlc_parser_queue
      Src: /src/vlc/test/libvlc/media_utils.h:62,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_utils.h:63,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/test/libvlc/media_utils.h:65,1
    - Dst: libvlc_parser_destroy
      Src: /src/vlc/test/libvlc/media_utils.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - vlc
    - p_m
    - parse_flag
    - timeout
    argTypes:
    - libvlc_instance_t*
    - libvlc_media_t*
    - libvlc_media_parse_flag_t
    - int
    assertStmts:
    - condition: (parser != NULL)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/vlc/test/libvlc/media_utils.h
    - condition: (task != NULL)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/vlc/test/libvlc/media_utils.h
    constantsTouched: []
    func_position:
      end: 68
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 68
    functionName: libvlc_media_parse_sync
    functionSourceFile: /src/vlc/test/libvlc/media_utils.h
    functionUses: 0
    functionsReached:
    - vlc_sem_init
    - assert
    - vlc_sem_wait
    - libvlc_parser_destroy
    - libvlc_parser_new
    - libvlc_parser_queue
    linkageType: ''
    returnType: void
    signature: "void libvlc_media_parse_sync(libvlc_instance_t *vlc, libvlc_media_t
      *p_m,\n                        libvlc_media_parse_flag_t parse_flag, int timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - opaque
    - planes
    argTypes:
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: dummy_lock
    functionSourceFile: /src/vlc/test/libvlc/video_callback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *dummy_lock(void *opaque, void **planes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - opaque
    - picture
    - planes
    argTypes:
    - void*
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: dummy_unlock
    functionSourceFile: /src/vlc/test/libvlc/video_callback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dummy_unlock(void *opaque, void *picture, void *const *planes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - opaque
    - picture
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: dummy_display
    functionSourceFile: /src/vlc/test/libvlc/video_callback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dummy_display(void *opaque, void *picture)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - opaque
    - cfg
    - out
    argTypes:
    - void**
    - libvlc_video_setup_device_cfg_t*
    - libvlc_video_setup_device_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: dummy_output_setup
    functionSourceFile: /src/vlc/test/libvlc/video_callback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool dummy_output_setup(void **opaque,\n                               const
      libvlc_video_setup_device_cfg_t *cfg,\n                               libvlc_video_setup_device_info_t
      *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: dummy_output_cleanup
    functionSourceFile: /src/vlc/test/libvlc/video_callback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dummy_output_cleanup(void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - opaque
    - resize_cb
    - move_cb
    - press_cb
    - release_cb
    - report_opaque
    argTypes:
    - void*
    - libvlc_video_output_resize_cb
    - libvlc_video_output_mouse_move_cb
    - libvlc_video_output_mouse_press_cb
    - libvlc_video_output_mouse_release_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 80
    functionName: dummy_output_set_window
    functionSourceFile: /src/vlc/test/libvlc/video_callback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void dummy_output_set_window(void *opaque,\n                                    libvlc_video_output_resize_cb
      resize_cb,\n                                    libvlc_video_output_mouse_move_cb
      move_cb,\n                                    libvlc_video_output_mouse_press_cb
      press_cb,\n                                    libvlc_video_output_mouse_release_cb
      release_cb,\n                                    void *report_opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - opaque
    - cfg
    - output
    argTypes:
    - void*
    - libvlc_video_render_cfg_t*
    - libvlc_video_output_cfg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: dummy_update_output
    functionSourceFile: /src/vlc/test/libvlc/video_callback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool dummy_update_output(void *opaque,\n                                const
      libvlc_video_render_cfg_t *cfg,\n                                libvlc_video_output_cfg_t
      *output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: dummy_swap
    functionSourceFile: /src/vlc/test/libvlc/video_callback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dummy_swap(void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - opaque
    - enter
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: dummy_make_current
    functionSourceFile: /src/vlc/test/libvlc/video_callback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dummy_make_current(void *opaque, bool enter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - opaque
    - fct_name
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: dummy_get_proc_address
    functionSourceFile: /src/vlc/test/libvlc/video_callback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *dummy_get_proc_address(void *opaque, const char *fct_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - opaque
    - type
    - metadata
    argTypes:
    - void*
    - libvlc_video_metadata_type_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: dummy_metadata
    functionSourceFile: /src/vlc/test/libvlc/video_callback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void dummy_metadata(void *opaque, libvlc_video_metadata_type_t type,\n
      \                          const void *metadata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - opaque
    - plane
    - output
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: dummy_select_plane
    functionSourceFile: /src/vlc/test/libvlc/video_callback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dummy_select_plane(void *opaque, size_t plane, void *output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: var_GetString
      Src: /src/vlc/test/libvlc/video_callback.c:130,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/video_callback.c:132,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/video_callback.c:135,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/video_callback.c:136,1
    - Dst: strcmp
      Src: /src/vlc/test/libvlc/video_callback.c:136,1
    - Dst: free
      Src: /src/vlc/test/libvlc/video_callback.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - obj
    - name
    - expected
    argTypes:
    - vlc_object_t*
    - char*
    - char*
    assertStmts:
    - condition: (strcmp(value, expected) == 0)
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/vlc/test/libvlc/video_callback.c
    - condition: (value != NULL)
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/vlc/test/libvlc/video_callback.c
    - condition: (value == NULL)
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/vlc/test/libvlc/video_callback.c
    constantsTouched: []
    func_position:
      end: 139
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 139
    functionName: assert_var_string_eq
    functionSourceFile: /src/vlc/test/libvlc/video_callback.c
    functionUses: 0
    functionsReached:
    - free
    - strcmp
    - assert
    - var_GetString
    linkageType: ''
    returnType: void
    signature: "void assert_var_string_eq(vlc_object_t *obj, const char *name,\n                                 const
      char *expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/libvlc/video_callback.c:143,1
    - Dst: libvlc_new
      Src: /src/vlc/test/libvlc/video_callback.c:152,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/video_callback.c:153,1
    - Dst: libvlc_media_player_new
      Src: /src/vlc/test/libvlc/video_callback.c:155,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/video_callback.c:156,1
    - Dst: var_GetString
      Src: /src/vlc/test/libvlc/video_callback.c:158,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/video_callback.c:159,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/video_callback.c:160,1
    - Dst: strcmp
      Src: /src/vlc/test/libvlc/video_callback.c:160,1
    - Dst: assert_var_string_eq
      Src: /src/vlc/test/libvlc/video_callback.c:161,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/test/libvlc/video_callback.c:161,1
    - Dst: libvlc_video_set_callbacks
      Src: /src/vlc/test/libvlc/video_callback.c:163,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/video_callback.c:165,1
    - Dst: var_GetAddress
      Src: /src/vlc/test/libvlc/video_callback.c:165,1
    - Dst: assert_var_string_eq
      Src: /src/vlc/test/libvlc/video_callback.c:166,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/test/libvlc/video_callback.c:166,1
    - Dst: assert_var_string_eq
      Src: /src/vlc/test/libvlc/video_callback.c:167,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/test/libvlc/video_callback.c:167,1
    - Dst: libvlc_media_player_set_nsobject
      Src: /src/vlc/test/libvlc/video_callback.c:170,1
    - Dst: libvlc_media_player_set_hwnd
      Src: /src/vlc/test/libvlc/video_callback.c:172,1
    - Dst: libvlc_media_player_set_xwindow
      Src: /src/vlc/test/libvlc/video_callback.c:174,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/video_callback.c:177,1
    - Dst: var_GetAddress
      Src: /src/vlc/test/libvlc/video_callback.c:177,1
    - Dst: assert_var_string_eq
      Src: /src/vlc/test/libvlc/video_callback.c:178,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/test/libvlc/video_callback.c:178,1
    - Dst: free
      Src: /src/vlc/test/libvlc/video_callback.c:180,1
    - Dst: libvlc_media_player_release
      Src: /src/vlc/test/libvlc/video_callback.c:181,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/video_callback.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - argv
    - argc
    argTypes:
    - char**
    - int
    assertStmts:
    - condition: (instance != NULL)
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/vlc/test/libvlc/video_callback.c
    - condition: (player != NULL)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/vlc/test/libvlc/video_callback.c
    - condition: (expected_vout != NULL)
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/vlc/test/libvlc/video_callback.c
    - condition: (strcmp(expected_vout, "nonexistent-vout") == 0)
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/vlc/test/libvlc/video_callback.c
    - condition: (var_GetAddress(player, "vmem-lock") != NULL)
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/vlc/test/libvlc/video_callback.c
    - condition: (var_GetAddress(player, "vmem-lock") == NULL)
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/vlc/test/libvlc/video_callback.c
    constantsTouched: []
    func_position:
      end: 183
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 183
    functionName: test_media_player_detach_video_callbacks
    functionSourceFile: /src/vlc/test/libvlc/video_callback.c
    functionUses: 0
    functionsReached:
    - libvlc_media_player_set_nsobject
    - libvlc_media_player_set_xwindow
    - assert
    - libvlc_release
    - var_GetString
    - libvlc_video_set_callbacks
    - var_GetAddress
    - libvlc_media_player_release
    - libvlc_media_player_new
    - libvlc_new
    - test_log
    - strcmp
    - free
    - VLC_OBJECT
    - libvlc_media_player_set_hwnd
    - assert_var_string_eq
    linkageType: ''
    returnType: void
    signature: void test_media_player_detach_video_callbacks(const char** argv, int
      argc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/libvlc/video_callback.c:187,1
    - Dst: libvlc_new
      Src: /src/vlc/test/libvlc/video_callback.c:196,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/video_callback.c:197,1
    - Dst: libvlc_media_player_new
      Src: /src/vlc/test/libvlc/video_callback.c:199,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/video_callback.c:200,1
    - Dst: var_GetString
      Src: /src/vlc/test/libvlc/video_callback.c:202,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/video_callback.c:203,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/video_callback.c:204,1
    - Dst: strcmp
      Src: /src/vlc/test/libvlc/video_callback.c:204,1
    - Dst: assert_var_string_eq
      Src: /src/vlc/test/libvlc/video_callback.c:205,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/test/libvlc/video_callback.c:205,1
    - Dst: libvlc_video_set_output_callbacks
      Src: /src/vlc/test/libvlc/video_callback.c:207,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/video_callback.c:212,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/video_callback.c:214,1
    - Dst: var_GetInteger
      Src: /src/vlc/test/libvlc/video_callback.c:214,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/video_callback.c:215,1
    - Dst: var_GetAddress
      Src: /src/vlc/test/libvlc/video_callback.c:215,1
    - Dst: libvlc_video_set_output_callbacks
      Src: /src/vlc/test/libvlc/video_callback.c:217,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/video_callback.c:220,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/video_callback.c:222,1
    - Dst: var_GetInteger
      Src: /src/vlc/test/libvlc/video_callback.c:222,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/video_callback.c:223,1
    - Dst: var_GetAddress
      Src: /src/vlc/test/libvlc/video_callback.c:223,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/video_callback.c:224,1
    - Dst: var_GetAddress
      Src: /src/vlc/test/libvlc/video_callback.c:224,1
    - Dst: assert_var_string_eq
      Src: /src/vlc/test/libvlc/video_callback.c:225,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/test/libvlc/video_callback.c:225,1
    - Dst: free
      Src: /src/vlc/test/libvlc/video_callback.c:227,1
    - Dst: libvlc_media_player_release
      Src: /src/vlc/test/libvlc/video_callback.c:228,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/video_callback.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - argv
    - argc
    argTypes:
    - char**
    - int
    assertStmts:
    - condition: (instance != NULL)
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/vlc/test/libvlc/video_callback.c
    - condition: (var_GetInteger(player, "vout-cb-type") == libvlc_video_engine_disable)
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/vlc/test/libvlc/video_callback.c
    - condition: (player != NULL)
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/vlc/test/libvlc/video_callback.c
    - condition: (expected_vout != NULL)
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/vlc/test/libvlc/video_callback.c
    - condition: (var_GetInteger(player, "vout-cb-type") == libvlc_video_engine_opengl)
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/vlc/test/libvlc/video_callback.c
    - condition: (var_GetAddress(player, "vout-cb-window-cb") != NULL)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/vlc/test/libvlc/video_callback.c
    - condition: (ok)
      pos:
        line_end: 219
        line_start: 219
        source_file: /src/vlc/test/libvlc/video_callback.c
    - condition: (ok)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/vlc/test/libvlc/video_callback.c
    - condition: (var_GetAddress(player, "vout-cb-setup") == NULL)
      pos:
        line_end: 223
        line_start: 223
        source_file: /src/vlc/test/libvlc/video_callback.c
    - condition: (strcmp(expected_vout, "nonexistent-vout") == 0)
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/vlc/test/libvlc/video_callback.c
    - condition: (var_GetAddress(player, "vout-cb-window-cb") == NULL)
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/vlc/test/libvlc/video_callback.c
    constantsTouched: []
    func_position:
      end: 230
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 230
    functionName: test_media_player_detach_output_callbacks
    functionSourceFile: /src/vlc/test/libvlc/video_callback.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - assert
    - var_GetString
    - libvlc_video_set_output_callbacks
    - var_GetAddress
    - libvlc_media_player_release
    - libvlc_media_player_new
    - libvlc_new
    - test_log
    - strcmp
    - free
    - VLC_OBJECT
    - var_GetInteger
    - assert_var_string_eq
    linkageType: ''
    returnType: void
    signature: void test_media_player_detach_output_callbacks(const char** argv, int
      argc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/libvlc/video_callback.c:234,1
    - Dst: test_media_player_detach_video_callbacks
      Src: /src/vlc/test/libvlc/video_callback.c:236,1
    - Dst: test_media_player_detach_output_callbacks
      Src: /src/vlc/test/libvlc/video_callback.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 240
    functionName: main
    functionSourceFile: /src/vlc/test/libvlc/video_callback.c
    functionUses: 0
    functionsReached:
    - test_init
    - test_media_player_detach_video_callbacks
    - test_media_player_detach_output_callbacks
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_media_get_mrl
      Src: /src/vlc/test/libvlc/media_discoverer.c:28,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_discoverer.c:29,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/media_discoverer.c:31,1
    - Dst: free
      Src: /src/vlc/test/libvlc/media_discoverer.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - media
    - psz_event
    argTypes:
    - libvlc_media_t*
    - char*
    assertStmts:
    - condition: (psz_mrl)
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/vlc/test/libvlc/media_discoverer.c
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: ml_item_event
    functionSourceFile: /src/vlc/test/libvlc/media_discoverer.c
    functionUses: 0
    functionsReached:
    - libvlc_media_get_mrl
    - assert
    - free
    - test_log
    linkageType: ''
    returnType: void
    signature: void ml_item_event(libvlc_media_t *media, const char *psz_event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ml_item_event
      Src: /src/vlc/test/libvlc/media_discoverer.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - opaque
    - parent
    - media
    argTypes:
    - void*
    - libvlc_media_t*
    - libvlc_media_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: ml_item_added
    functionSourceFile: /src/vlc/test/libvlc/media_discoverer.c
    functionUses: 0
    functionsReached:
    - ml_item_event
    linkageType: ''
    returnType: void
    signature: void ml_item_added(void *opaque, libvlc_media_t *parent, libvlc_media_t
      *media)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ml_item_event
      Src: /src/vlc/test/libvlc/media_discoverer.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - opaque
    - media
    argTypes:
    - void*
    - libvlc_media_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: ml_item_removed
    functionSourceFile: /src/vlc/test/libvlc/media_discoverer.c
    functionUses: 0
    functionsReached:
    - ml_item_event
    linkageType: ''
    returnType: void
    signature: void ml_item_removed(void *opaque, libvlc_media_t *media)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/libvlc/media_discoverer.c:52,1
    - Dst: libvlc_media_discoverer_new
      Src: /src/vlc/test/libvlc/media_discoverer.c:62,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_discoverer.c:63,1
    - Dst: libvlc_media_discoverer_start
      Src: /src/vlc/test/libvlc/media_discoverer.c:65,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/media_discoverer.c:67,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_discoverer.c:71,1
    - Dst: libvlc_media_discoverer_is_running
      Src: /src/vlc/test/libvlc/media_discoverer.c:71,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/media_discoverer.c:74,1
    - Dst: getchar
      Src: /src/vlc/test/libvlc/media_discoverer.c:75,1
    - Dst: libvlc_media_discoverer_stop
      Src: /src/vlc/test/libvlc/media_discoverer.c:77,1
    - Dst: libvlc_media_discoverer_destroy
      Src: /src/vlc/test/libvlc/media_discoverer.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - p_vlc
    - psz_name
    - b_wait
    argTypes:
    - libvlc_instance_t*
    - char*
    - bool
    assertStmts:
    - condition: (p_md != NULL)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/vlc/test/libvlc/media_discoverer.c
    - condition: (libvlc_media_discoverer_is_running(p_md))
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/vlc/test/libvlc/media_discoverer.c
    constantsTouched: []
    func_position:
      end: 81
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 81
    functionName: test_discoverer
    functionSourceFile: /src/vlc/test/libvlc/media_discoverer.c
    functionUses: 1
    functionsReached:
    - libvlc_media_discoverer_new
    - assert
    - libvlc_media_discoverer_start
    - libvlc_media_discoverer_is_running
    - getchar
    - test_log
    - libvlc_media_discoverer_stop
    - libvlc_media_discoverer_destroy
    linkageType: ''
    returnType: void
    signature: void test_discoverer(libvlc_instance_t *p_vlc, const char *psz_name,
      bool b_wait)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/libvlc/media_discoverer.c:86,1
    - Dst: libvlc_new
      Src: /src/vlc/test/libvlc/media_discoverer.c:90,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_discoverer.c:92,1
    - Dst: alarm
      Src: /src/vlc/test/libvlc/media_discoverer.c:97,1
    - Dst: test_discoverer
      Src: /src/vlc/test/libvlc/media_discoverer.c:98,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/media_discoverer.c:99,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/media_discoverer.c:106,1
    - Dst: libvlc_media_discoverer_list_get
      Src: /src/vlc/test/libvlc/media_discoverer.c:110,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/media_discoverer.c:113,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_discoverer.c:116,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_discoverer.c:122,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/media_discoverer.c:123,1
    - Dst: strncasecmp
      Src: /src/vlc/test/libvlc/media_discoverer.c:127,1
    - Dst: test_discoverer
      Src: /src/vlc/test/libvlc/media_discoverer.c:133,1
    - Dst: libvlc_media_discoverer_list_release
      Src: /src/vlc/test/libvlc/media_discoverer.c:136,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/media_discoverer.c:138,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - i_argc
    - ppsz_argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (p_vlc != NULL)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/vlc/test/libvlc/media_discoverer.c
    - condition: (pp_services != NULL)
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/vlc/test/libvlc/media_discoverer.c
    - condition: (i_cat == p_service->i_cat)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/vlc/test/libvlc/media_discoverer.c
    constantsTouched: []
    func_position:
      end: 141
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 141
    functionName: main
    functionSourceFile: /src/vlc/test/libvlc/media_discoverer.c
    functionUses: 0
    functionsReached:
    - test_discoverer
    - libvlc_release
    - assert
    - strncasecmp
    - libvlc_media_discoverer_list_release
    - alarm
    - test_init
    - libvlc_new
    - test_log
    - libvlc_media_discoverer_list_get
    linkageType: ''
    returnType: int
    signature: int main(int i_argc, char *ppsz_argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/libvlc/core.c:31,1
    - Dst: libvlc_new
      Src: /src/vlc/test/libvlc/core.c:33,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/core.c:34,1
    - Dst: libvlc_retain
      Src: /src/vlc/test/libvlc/core.c:36,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/core.c:37,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/core.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - argv
    - argc
    argTypes:
    - char**
    - int
    assertStmts:
    - condition: (vlc != NULL)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/vlc/test/libvlc/core.c
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: test_core
    functionSourceFile: /src/vlc/test/libvlc/core.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - assert
    - libvlc_retain
    - libvlc_new
    - test_log
    linkageType: ''
    returnType: void
    signature: void test_core (const char ** argv, int argc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/libvlc/core.c:45,1
    - Dst: strlen
      Src: /src/vlc/test/libvlc/core.c:45,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/core.c:46,1
    - Dst: strlen
      Src: /src/vlc/test/libvlc/core.c:46,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/core.c:47,1
    - Dst: strlen
      Src: /src/vlc/test/libvlc/core.c:47,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/core.c:48,1
    - Dst: strlen
      Src: /src/vlc/test/libvlc/core.c:48,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/core.c:49,1
    - Dst: strlen
      Src: /src/vlc/test/libvlc/core.c:49,1
    - Dst: libvlc_module_description_list_release
      Src: /src/vlc/test/libvlc/core.c:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - list
    argTypes:
    - libvlc_module_description_t*
    assertStmts:
    - condition: (strlen (module->psz_name) )
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/vlc/test/libvlc/core.c
    - condition: (strlen (module->psz_shortname) )
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/vlc/test/libvlc/core.c
    - condition: (module->psz_longname == NULL || strlen (module->psz_longname))
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/vlc/test/libvlc/core.c
    - condition: (module->psz_help == NULL || strlen (module->psz_help))
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/vlc/test/libvlc/core.c
    - condition: (module->psz_help_html == NULL || strlen (module->psz_help_html))
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/vlc/test/libvlc/core.c
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: test_moduledescriptionlist
    functionSourceFile: /src/vlc/test/libvlc/core.c
    functionUses: 0
    functionsReached:
    - strlen
    - assert
    - libvlc_module_description_list_release
    linkageType: ''
    returnType: void
    signature: void test_moduledescriptionlist (libvlc_module_description_t *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/libvlc/core.c:60,1
    - Dst: libvlc_new
      Src: /src/vlc/test/libvlc/core.c:62,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/core.c:63,1
    - Dst: test_moduledescriptionlist
      Src: /src/vlc/test/libvlc/core.c:65,1
    - Dst: libvlc_audio_filter_list_get
      Src: /src/vlc/test/libvlc/core.c:65,1
    - Dst: test_moduledescriptionlist
      Src: /src/vlc/test/libvlc/core.c:66,1
    - Dst: libvlc_video_filter_list_get
      Src: /src/vlc/test/libvlc/core.c:66,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/core.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - argv
    - argc
    argTypes:
    - char**
    - int
    assertStmts:
    - condition: (vlc != NULL)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/vlc/test/libvlc/core.c
    constantsTouched: []
    func_position:
      end: 69
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 69
    functionName: test_audiovideofilterlists
    functionSourceFile: /src/vlc/test/libvlc/core.c
    functionUses: 0
    functionsReached:
    - test_moduledescriptionlist
    - libvlc_release
    - assert
    - libvlc_new
    - test_log
    - libvlc_audio_filter_list_get
    - libvlc_video_filter_list_get
    linkageType: ''
    returnType: void
    signature: void test_audiovideofilterlists (const char ** argv, int argc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_new
      Src: /src/vlc/test/libvlc/core.c:73,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/core.c:74,1
    - Dst: libvlc_audio_output_list_get
      Src: /src/vlc/test/libvlc/core.c:76,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/core.c:77,1
    - Dst: puts
      Src: /src/vlc/test/libvlc/core.c:79,1
    - Dst: printf
      Src: /src/vlc/test/libvlc/core.c:81,1
    - Dst: libvlc_audio_output_list_release
      Src: /src/vlc/test/libvlc/core.c:82,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/core.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (mods != NULL)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/vlc/test/libvlc/core.c
    - condition: (vlc != NULL)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/vlc/test/libvlc/core.c
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: test_audio_output
    functionSourceFile: /src/vlc/test/libvlc/core.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - assert
    - libvlc_audio_output_list_release
    - printf
    - libvlc_audio_output_list_get
    - libvlc_new
    - puts
    linkageType: ''
    returnType: void
    signature: void test_audio_output (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/libvlc/core.c:88,1
    - Dst: test_core
      Src: /src/vlc/test/libvlc/core.c:90,1
    - Dst: test_audiovideofilterlists
      Src: /src/vlc/test/libvlc/core.c:91,1
    - Dst: test_audio_output
      Src: /src/vlc/test/libvlc/core.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: main
    functionSourceFile: /src/vlc/test/libvlc/core.c
    functionUses: 0
    functionsReached:
    - test_init
    - test_audiovideofilterlists
    - test_core
    - test_audio_output
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: test_log
    functionSourceFile: /src/vlc/test/libvlc/test.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: test_log( ... )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setenv
      Src: /src/vlc/test/libvlc/test.h:68,1
    - Dst: setenv
      Src: /src/vlc/test/libvlc/test.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: test_setup
    functionSourceFile: /src/vlc/test/libvlc/test.h
    functionUses: 0
    functionsReached:
    - setenv
    linkageType: ''
    returnType: void
    signature: void test_setup(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/vlc/test/libvlc/test.h:81,1
    - Dst: atoi
      Src: /src/vlc/test/libvlc/test.h:84,1
    - Dst: alarm
      Src: /src/vlc/test/libvlc/test.h:91,1
    - Dst: test_setup
      Src: /src/vlc/test/libvlc/test.h:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 94
    functionName: test_init
    functionSourceFile: /src/vlc/test/libvlc/test.h
    functionUses: 9
    functionsReached:
    - test_setup
    - atoi
    - getenv
    - alarm
    linkageType: ''
    returnType: void
    signature: void test_init (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/libvlc/meta.c:37,1
    - Dst: libvlc_new
      Src: /src/vlc/test/libvlc/meta.c:39,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/meta.c:40,1
    - Dst: module_exists
      Src: /src/vlc/test/libvlc/meta.c:42,1
    - Dst: libvlc_media_new_path
      Src: /src/vlc/test/libvlc/meta.c:45,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/meta.c:46,1
    - Dst: libvlc_media_parse_sync
      Src: /src/vlc/test/libvlc/meta.c:48,1
    - Dst: libvlc_media_get_meta
      Src: /src/vlc/test/libvlc/meta.c:50,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/meta.c:54,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/meta.c:55,1
    - Dst: strcmp
      Src: /src/vlc/test/libvlc/meta.c:57,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/meta.c:58,1
    - Dst: free
      Src: /src/vlc/test/libvlc/meta.c:60,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/meta.c:61,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/meta.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - argv
    - argc
    argTypes:
    - char**
    - int
    assertStmts:
    - condition: (vlc != NULL)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/vlc/test/libvlc/meta.c
    - condition: ( media )
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/vlc/test/libvlc/meta.c
    - condition: (artist)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/vlc/test/libvlc/meta.c
    - condition: (!string_compare)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/vlc/test/libvlc/meta.c
    constantsTouched: []
    func_position:
      end: 65
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 65
    functionName: test_meta
    functionSourceFile: /src/vlc/test/libvlc/meta.c
    functionUses: 0
    functionsReached:
    - libvlc_media_new_path
    - libvlc_release
    - assert
    - libvlc_media_release
    - module_exists
    - libvlc_new
    - test_log
    - libvlc_media_parse_sync
    - libvlc_media_get_meta
    - strcmp
    - free
    linkageType: ''
    returnType: int
    signature: int test_meta (const char ** argv, int argc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/libvlc/meta.c:70,1
    - Dst: test_meta
      Src: /src/vlc/test/libvlc/meta.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: main
    functionSourceFile: /src/vlc/test/libvlc/meta.c
    functionUses: 0
    functionsReached:
    - test_init
    - test_meta
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/test/libvlc/media_callback.c:73,1
    - Dst: vlc_sem_post
      Src: /src/vlc/test/libvlc/media_callback.c:74,1
    - Dst: vlc_sem_post
      Src: /src/vlc/test/libvlc/media_callback.c:75,1
    - Dst: free
      Src: /src/vlc/test/libvlc/media_callback.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: AccessClose
    functionSourceFile: /src/vlc/test/libvlc/media_callback.c
    functionUses: 0
    functionsReached:
    - free
    - fprintf
    - vlc_sem_post
    linkageType: ''
    returnType: void
    signature: void AccessClose(void *opaque)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_callback.c:84,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/test/libvlc/media_callback.c:85,1
    - Dst: fprintf
      Src: /src/vlc/test/libvlc/media_callback.c:86,1
    - Dst: malloc
      Src: /src/vlc/test/libvlc/media_callback.c:88,1
    - Dst: vlc_sem_init
      Src: /src/vlc/test/libvlc/media_callback.c:93,1
    - Dst: vlc_sem_post
      Src: /src/vlc/test/libvlc/media_callback.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - opaque
    - datap
    - sizep
    argTypes:
    - void*
    - void**
    - uint64_t*
    assertStmts:
    - condition: (root->access_idx < ACCESS_COUNT)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/vlc/test/libvlc/media_callback.c
    constantsTouched: []
    func_position:
      end: 96
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 96
    functionName: AccessOpen
    functionSourceFile: /src/vlc/test/libvlc/media_callback.c
    functionUses: 0
    functionsReached:
    - vlc_sem_wait
    - assert
    - vlc_sem_init
    - fprintf
    - vlc_sem_post
    - malloc
    linkageType: ''
    returnType: int
    signature: int AccessOpen(void *opaque, void **datap, uint64_t *sizep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_callback.c:101,1
    - Dst: memset
      Src: /src/vlc/test/libvlc/media_callback.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - opaque
    - buf
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts:
    - condition: (len < SSIZE_MAX)
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/vlc/test/libvlc/media_callback.c
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: AccessRead
    functionSourceFile: /src/vlc/test/libvlc/media_callback.c
    functionUses: 0
    functionsReached:
    - assert
    - memset
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t AccessRead(void *opaque, unsigned char *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: SetFlag
    functionSourceFile: /src/vlc/test/libvlc/media_callback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetFlag(void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_callback.c:117,1
    - Dst: vlc_sem_post
      Src: /src/vlc/test/libvlc/media_callback.c:119,1
    - Dst: vlc_interrupt_register
      Src: /src/vlc/test/libvlc/media_callback.c:122,1
    - Dst: fprintf
      Src: /src/vlc/test/libvlc/media_callback.c:123,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/test/libvlc/media_callback.c:124,1
    - Dst: fprintf
      Src: /src/vlc/test/libvlc/media_callback.c:125,1
    - Dst: vlc_interrupt_unregister
      Src: /src/vlc/test/libvlc/media_callback.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - opaque
    - buf
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts:
    - condition: (len < SSIZE_MAX)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/vlc/test/libvlc/media_callback.c
    constantsTouched: []
    func_position:
      end: 131
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 131
    functionName: AccessReadBlocking
    functionSourceFile: /src/vlc/test/libvlc/media_callback.c
    functionUses: 0
    functionsReached:
    - vlc_sem_wait
    - assert
    - fprintf
    - vlc_sem_post
    - vlc_interrupt_register
    - vlc_interrupt_unregister
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t AccessReadBlocking(void *opaque, unsigned char *buf, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/test/libvlc/media_callback.c:137,1
    - Dst: vlc_sem_post
      Src: /src/vlc/test/libvlc/media_callback.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - opaque
    - media
    - reason
    argTypes:
    - void*
    - libvlc_media_t*
    - libvlc_stopping_reason_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: UnblockRead
    functionSourceFile: /src/vlc/test/libvlc/media_callback.c
    functionUses: 0
    functionsReached:
    - fprintf
    - vlc_sem_post
    linkageType: ''
    returnType: void
    signature: void UnblockRead(void *opaque, libvlc_media_t *media, libvlc_stopping_reason_t
      reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/test/libvlc/media_callback.c:145,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_callback.c:146,1
    - Dst: vlc_sem_init
      Src: /src/vlc/test/libvlc/media_callback.c:148,1
    - Dst: vlc_sem_init
      Src: /src/vlc/test/libvlc/media_callback.c:149,1
    - Dst: vlc_sem_init
      Src: /src/vlc/test/libvlc/media_callback.c:150,1
    - Dst: vlc_sem_init
      Src: /src/vlc/test/libvlc/media_callback.c:154,1
    - Dst: vlc_sem_init
      Src: /src/vlc/test/libvlc/media_callback.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (imem != NULL)
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/vlc/test/libvlc/media_callback.c
    constantsTouched: []
    func_position:
      end: 159
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 159
    functionName: imem_root_New
    functionSourceFile: /src/vlc/test/libvlc/media_callback.c
    functionUses: 0
    functionsReached:
    - vlc_sem_init
    - assert
    - malloc
    linkageType: ''
    returnType: struct imem_root
    signature: struct imem_root *imem_root_New(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imem_root_New
      Src: /src/vlc/test/libvlc/media_callback.c:163,1
    - Dst: fprintf
      Src: /src/vlc/test/libvlc/media_callback.c:165,1
    - Dst: libvlc_media_new_callbacks
      Src: /src/vlc/test/libvlc/media_callback.c:178,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_callback.c:179,1
    - Dst: mp_event_ctx_init
      Src: /src/vlc/test/libvlc/media_callback.c:182,1
    - Dst: libvlc_media_player_new
      Src: /src/vlc/test/libvlc/media_callback.c:184,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_callback.c:185,1
    - Dst: mp_event_ctx_set_mp
      Src: /src/vlc/test/libvlc/media_callback.c:186,1
    - Dst: libvlc_media_player_set_media
      Src: /src/vlc/test/libvlc/media_callback.c:188,1
    - Dst: libvlc_media_player_play
      Src: /src/vlc/test/libvlc/media_callback.c:189,1
    - Dst: mp_event_ctx_wait_state
      Src: /src/vlc/test/libvlc/media_callback.c:191,1
    - Dst: mp_event_ctx_wait_state
      Src: /src/vlc/test/libvlc/media_callback.c:192,1
    - Dst: libvlc_media_player_stop_async
      Src: /src/vlc/test/libvlc/media_callback.c:194,1
    - Dst: mp_event_ctx_wait_state
      Src: /src/vlc/test/libvlc/media_callback.c:196,1
    - Dst: mp_event_ctx_wait_state
      Src: /src/vlc/test/libvlc/media_callback.c:197,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/test/libvlc/media_callback.c:199,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/media_callback.c:200,1
    - Dst: mp_event_ctx_destroy
      Src: /src/vlc/test/libvlc/media_callback.c:202,1
    - Dst: libvlc_media_player_release
      Src: /src/vlc/test/libvlc/media_callback.c:203,1
    - Dst: free
      Src: /src/vlc/test/libvlc/media_callback.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - vlc
    argTypes:
    - libvlc_instance_t*
    assertStmts:
    - condition: (media != NULL)
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/vlc/test/libvlc/media_callback.c
    - condition: (player != NULL)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/vlc/test/libvlc/media_callback.c
    constantsTouched: []
    func_position:
      end: 206
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 206
    functionName: test_media_callback
    functionSourceFile: /src/vlc/test/libvlc/media_callback.c
    functionUses: 0
    functionsReached:
    - libvlc_media_player_play
    - mp_event_ctx_wait_state
    - assert
    - vlc_sem_wait
    - libvlc_media_release
    - libvlc_media_player_set_media
    - fprintf
    - imem_root_New
    - libvlc_media_player_stop_async
    - mp_event_ctx_destroy
    - libvlc_media_player_release
    - libvlc_media_player_new
    - free
    - mp_event_ctx_init
    - mp_event_ctx_set_mp
    - libvlc_media_new_callbacks
    linkageType: ''
    returnType: void
    signature: void test_media_callback(libvlc_instance_t *vlc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imem_root_New
      Src: /src/vlc/test/libvlc/media_callback.c:210,1
    - Dst: fprintf
      Src: /src/vlc/test/libvlc/media_callback.c:217,1
    - Dst: libvlc_media_player_new
      Src: /src/vlc/test/libvlc/media_callback.c:219,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_callback.c:220,1
    - Dst: libvlc_media_new_callbacks
      Src: /src/vlc/test/libvlc/media_callback.c:230,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_callback.c:231,1
    - Dst: fprintf
      Src: /src/vlc/test/libvlc/media_callback.c:233,1
    - Dst: libvlc_media_player_set_media
      Src: /src/vlc/test/libvlc/media_callback.c:234,1
    - Dst: libvlc_media_player_play
      Src: /src/vlc/test/libvlc/media_callback.c:235,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/test/libvlc/media_callback.c:238,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/test/libvlc/media_callback.c:239,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/media_callback.c:241,1
    - Dst: libvlc_media_new_callbacks
      Src: /src/vlc/test/libvlc/media_callback.c:243,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_callback.c:244,1
    - Dst: fprintf
      Src: /src/vlc/test/libvlc/media_callback.c:245,1
    - Dst: libvlc_media_player_set_media
      Src: /src/vlc/test/libvlc/media_callback.c:246,1
    - Dst: fprintf
      Src: /src/vlc/test/libvlc/media_callback.c:247,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/test/libvlc/media_callback.c:250,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_callback.c:251,1
    - Dst: vlc_sem_trywait
      Src: /src/vlc/test/libvlc/media_callback.c:251,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/test/libvlc/media_callback.c:253,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/test/libvlc/media_callback.c:254,1
    - Dst: fprintf
      Src: /src/vlc/test/libvlc/media_callback.c:256,1
    - Dst: libvlc_media_player_stop_async
      Src: /src/vlc/test/libvlc/media_callback.c:257,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/test/libvlc/media_callback.c:259,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/media_callback.c:261,1
    - Dst: libvlc_media_player_release
      Src: /src/vlc/test/libvlc/media_callback.c:262,1
    - Dst: free
      Src: /src/vlc/test/libvlc/media_callback.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 1
    argNames:
    - vlc
    argTypes:
    - libvlc_instance_t*
    assertStmts:
    - condition: (player != NULL)
      pos:
        line_end: 219
        line_start: 219
        source_file: /src/vlc/test/libvlc/media_callback.c
    - condition: (media != NULL)
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/vlc/test/libvlc/media_callback.c
    - condition: (vlc_sem_trywait(&imem->accesses[0].read_blocking) == EAGAIN)
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/vlc/test/libvlc/media_callback.c
    - condition: (media != NULL)
      pos:
        line_end: 243
        line_start: 243
        source_file: /src/vlc/test/libvlc/media_callback.c
    constantsTouched: []
    func_position:
      end: 265
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 265
    functionName: test_media_callback_interrupt
    functionSourceFile: /src/vlc/test/libvlc/media_callback.c
    functionUses: 0
    functionsReached:
    - libvlc_media_player_play
    - vlc_sem_wait
    - assert
    - libvlc_media_release
    - libvlc_media_player_set_media
    - fprintf
    - imem_root_New
    - libvlc_media_player_stop_async
    - libvlc_media_player_release
    - libvlc_media_player_new
    - free
    - vlc_sem_trywait
    - libvlc_media_new_callbacks
    linkageType: ''
    returnType: void
    signature: void test_media_callback_interrupt(libvlc_instance_t *vlc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/libvlc/media_callback.c:270,1
    - Dst: libvlc_new
      Src: /src/vlc/test/libvlc/media_callback.c:277,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/libvlc/media_callback.c:277,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_callback.c:278,1
    - Dst: test_media_callback
      Src: /src/vlc/test/libvlc/media_callback.c:280,1
    - Dst: test_media_callback_interrupt
      Src: /src/vlc/test/libvlc/media_callback.c:281,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/media_callback.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (vlc != NULL)
      pos:
        line_end: 277
        line_start: 277
        source_file: /src/vlc/test/libvlc/media_callback.c
    constantsTouched: []
    func_position:
      end: 285
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 285
    functionName: main
    functionSourceFile: /src/vlc/test/libvlc/media_callback.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - assert
    - ARRAY_SIZE
    - test_media_callback
    - test_init
    - test_media_callback_interrupt
    - libvlc_new
    linkageType: ''
    returnType: int
    signature: int main( int argc, char **argv )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: DemuxDemux
    functionSourceFile: /src/vlc/test/libvlc/media_callback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DemuxDemux(demux_t *demux)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: DemuxClose
    functionSourceFile: /src/vlc/test/libvlc/media_callback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DemuxClose(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 309
    functionName: DemuxOpen
    functionSourceFile: /src/vlc/test/libvlc/media_callback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DemuxOpen(vlc_object_t *obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/test/libvlc/media_player.h:79,1
    - Dst: free
      Src: /src/vlc/test/libvlc/media_player.h:82,1
    - Dst: free
      Src: /src/vlc/test/libvlc/media_player.h:83,1
    - Dst: free
      Src: /src/vlc/test/libvlc/media_player.h:86,1
    - Dst: free
      Src: /src/vlc/test/libvlc/media_player.h:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct mp_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 90
    functionName: mp_event_delete
    functionSourceFile: /src/vlc/test/libvlc/media_player.h
    functionUses: 3
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void mp_event_delete(struct mp_event *ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_list_init
      Src: /src/vlc/test/libvlc/media_player.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mp_event_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: mp_event_ctx_init
    functionSourceFile: /src/vlc/test/libvlc/media_player.h
    functionUses: 7
    functionsReached:
    - vlc_list_init
    linkageType: ''
    returnType: void
    signature: void mp_event_ctx_init(struct mp_event_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - mp
    argTypes:
    - struct mp_event_ctx*
    - libvlc_media_player_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: mp_event_ctx_set_mp
    functionSourceFile: /src/vlc/test/libvlc/media_player.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mp_event_ctx_set_mp(struct mp_event_ctx *ctx,\n                                       libvlc_media_player_t
      *mp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_list_foreach
      Src: /src/vlc/test/libvlc/media_player.h:107,1
    - Dst: mp_event_delete
      Src: /src/vlc/test/libvlc/media_player.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mp_event_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: mp_event_ctx_destroy
    functionSourceFile: /src/vlc/test/libvlc/media_player.h
    functionUses: 6
    functionsReached:
    - vlc_list_foreach
    - mp_event_delete
    linkageType: ''
    returnType: void
    signature: void mp_event_ctx_destroy(struct mp_event_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.h:113,1
    - Dst: libvlc_media_player_lock
      Src: /src/vlc/test/libvlc/media_player.h:114,1
    - Dst: vlc_list_first_entry_or_null
      Src: /src/vlc/test/libvlc/media_player.h:117,1
    - Dst: libvlc_media_player_wait
      Src: /src/vlc/test/libvlc/media_player.h:119,1
    - Dst: vlc_list_remove
      Src: /src/vlc/test/libvlc/media_player.h:121,1
    - Dst: libvlc_media_player_unlock
      Src: /src/vlc/test/libvlc/media_player.h:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mp_event_ctx*
    assertStmts:
    - condition: (ctx->mp != NULL)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/vlc/test/libvlc/media_player.h
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: mp_event_ctx_wait_event
    functionSourceFile: /src/vlc/test/libvlc/media_player.h
    functionUses: 3
    functionsReached:
    - vlc_list_first_entry_or_null
    - assert
    - libvlc_media_player_unlock
    - vlc_list_remove
    - libvlc_media_player_wait
    - libvlc_media_player_lock
    linkageType: ''
    returnType: struct mp_event
    signature: struct mp_event *mp_event_ctx_wait_event(struct mp_event_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/test/libvlc/media_player.h:130,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.h:131,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.h:136,1
    - Dst: libvlc_media_player_lock
      Src: /src/vlc/test/libvlc/media_player.h:137,1
    - Dst: vlc_list_append
      Src: /src/vlc/test/libvlc/media_player.h:138,1
    - Dst: libvlc_media_player_signal
      Src: /src/vlc/test/libvlc/media_player.h:139,1
    - Dst: libvlc_media_player_unlock
      Src: /src/vlc/test/libvlc/media_player.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - ev
    argTypes:
    - struct mp_event_ctx*
    - struct mp_event*
    assertStmts:
    - condition: (ctx->mp != NULL)
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/vlc/test/libvlc/media_player.h
    - condition: (dup != NULL)
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/vlc/test/libvlc/media_player.h
    constantsTouched: []
    func_position:
      end: 141
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 141
    functionName: mp_event_ctx_push_event
    functionSourceFile: /src/vlc/test/libvlc/media_player.h
    functionUses: 0
    functionsReached:
    - libvlc_media_player_signal
    - assert
    - vlc_list_append
    - libvlc_media_player_unlock
    - malloc
    - libvlc_media_player_lock
    linkageType: ''
    returnType: void
    signature: "void mp_event_ctx_push_event(struct mp_event_ctx *ctx,\n                                           const
      struct mp_event *ev)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mp_event_ctx_wait_event
      Src: /src/vlc/test/libvlc/media_player.h:148,1
    - Dst: mp_event_delete
      Src: /src/vlc/test/libvlc/media_player.h:151,1
    - Dst: mp_event_delete
      Src: /src/vlc/test/libvlc/media_player.h:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - state
    argTypes:
    - struct mp_event_ctx*
    - libvlc_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 157
    functionName: mp_event_ctx_wait_state
    functionSourceFile: /src/vlc/test/libvlc/media_player.h
    functionUses: 3
    functionsReached:
    - mp_event_ctx_wait_event
    - mp_event_delete
    linkageType: ''
    returnType: void
    signature: "void mp_event_ctx_wait_state(struct mp_event_ctx *ctx,\n                                           libvlc_state_t
      state)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mp_event_ctx_push_event
      Src: /src/vlc/test/libvlc/media_player.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opaque
    - state
    argTypes:
    - void*
    - libvlc_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: mp_on_state_changed
    functionSourceFile: /src/vlc/test/libvlc/media_player.h
    functionUses: 0
    functionsReached:
    - mp_event_ctx_push_event
    linkageType: ''
    returnType: void
    signature: void mp_on_state_changed(void *opaque, libvlc_state_t state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/test/libvlc/media_player.h:170,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.h:171,1
    - Dst: mp_event_ctx_push_event
      Src: /src/vlc/test/libvlc/media_player.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - opaque
    - action
    - type
    - id
    argTypes:
    - void*
    - libvlc_list_action_t
    - libvlc_track_type_t
    - char*
    assertStmts:
    - condition: (id_dup)
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/vlc/test/libvlc/media_player.h
    constantsTouched: []
    func_position:
      end: 179
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 179
    functionName: mp_on_track_list_changed
    functionSourceFile: /src/vlc/test/libvlc/media_player.h
    functionUses: 0
    functionsReached:
    - assert
    - strdup
    - mp_event_ctx_push_event
    linkageType: ''
    returnType: void
    signature: "void mp_on_track_list_changed(void *opaque, libvlc_list_action_t action,\n
      \                                           libvlc_track_type_t type, const
      char *id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/test/libvlc/media_player.h:188,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.h:189,1
    - Dst: strdup
      Src: /src/vlc/test/libvlc/media_player.h:194,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.h:195,1
    - Dst: mp_event_ctx_push_event
      Src: /src/vlc/test/libvlc/media_player.h:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - opaque
    - type
    - unselected_id
    - selected_id
    argTypes:
    - void*
    - libvlc_track_type_t
    - char*
    - char*
    assertStmts:
    - condition: (selected_id_dup)
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/vlc/test/libvlc/media_player.h
    - condition: (unselected_id_dup)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/vlc/test/libvlc/media_player.h
    constantsTouched: []
    func_position:
      end: 203
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 203
    functionName: mp_on_track_selection_changed
    functionSourceFile: /src/vlc/test/libvlc/media_player.h
    functionUses: 0
    functionsReached:
    - assert
    - strdup
    - mp_event_ctx_push_event
    linkageType: ''
    returnType: void
    signature: "void mp_on_track_selection_changed(void *opaque, libvlc_track_type_t
      type,\n                                                 const char *unselected_id,\n
      \                                                const char *selected_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mp_event_ctx_push_event
      Src: /src/vlc/test/libvlc/media_player.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - opaque
    - action
    - group_id
    argTypes:
    - void*
    - libvlc_list_action_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 214
    functionName: mp_on_program_list_changed
    functionSourceFile: /src/vlc/test/libvlc/media_player.h
    functionUses: 0
    functionsReached:
    - mp_event_ctx_push_event
    linkageType: ''
    returnType: void
    signature: "void mp_on_program_list_changed(void *opaque,\n                                              libvlc_list_action_t
      action,\n                                              int group_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mp_event_ctx_push_event
      Src: /src/vlc/test/libvlc/media_player.h:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - opaque
    - unselected_group_id
    - selected_group_id
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 225
    functionName: mp_on_program_selection_changed
    functionSourceFile: /src/vlc/test/libvlc/media_player.h
    functionUses: 0
    functionsReached:
    - mp_event_ctx_push_event
    linkageType: ''
    returnType: void
    signature: "void mp_on_program_selection_changed(void *opaque,\n                                                   int
      unselected_group_id,\n                                                   int
      selected_group_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/test/libvlc/media_player.h:234,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_player.h:235,1
    - Dst: mp_event_ctx_push_event
      Src: /src/vlc/test/libvlc/media_player.h:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - opaque
    - recording
    - file_path
    argTypes:
    - void*
    - bool
    - char*
    assertStmts:
    - condition: (file_path_dup != NULL)
      pos:
        line_end: 234
        line_start: 234
        source_file: /src/vlc/test/libvlc/media_player.h
    constantsTouched: []
    func_position:
      end: 245
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 245
    functionName: mp_on_recording_changed
    functionSourceFile: /src/vlc/test/libvlc/media_player.h
    functionUses: 0
    functionsReached:
    - assert
    - strdup
    - mp_event_ctx_push_event
    linkageType: ''
    returnType: void
    signature: "void mp_on_recording_changed(void *opaque, bool recording,\n                                           const
      char *file_path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/libvlc/equalizer.c:17,1
    - Dst: libvlc_new
      Src: /src/vlc/test/libvlc/equalizer.c:19,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:20,1
    - Dst: libvlc_media_player_new
      Src: /src/vlc/test/libvlc/equalizer.c:22,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:23,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/equalizer.c:27,1
    - Dst: libvlc_audio_equalizer_get_preset_count
      Src: /src/vlc/test/libvlc/equalizer.c:29,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:30,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:34,1
    - Dst: libvlc_audio_equalizer_get_preset_name
      Src: /src/vlc/test/libvlc/equalizer.c:34,1
    - Dst: libvlc_audio_equalizer_new_from_preset
      Src: /src/vlc/test/libvlc/equalizer.c:36,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:37,1
    - Dst: libvlc_audio_equalizer_release
      Src: /src/vlc/test/libvlc/equalizer.c:39,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:44,1
    - Dst: libvlc_audio_equalizer_get_preset_name
      Src: /src/vlc/test/libvlc/equalizer.c:44,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:45,1
    - Dst: libvlc_audio_equalizer_new_from_preset
      Src: /src/vlc/test/libvlc/equalizer.c:45,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/equalizer.c:49,1
    - Dst: libvlc_audio_equalizer_get_band_count
      Src: /src/vlc/test/libvlc/equalizer.c:51,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:52,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:55,1
    - Dst: libvlc_audio_equalizer_get_band_frequency
      Src: /src/vlc/test/libvlc/equalizer.c:55,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:59,1
    - Dst: libvlc_audio_equalizer_get_band_frequency
      Src: /src/vlc/test/libvlc/equalizer.c:59,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/equalizer.c:63,1
    - Dst: libvlc_audio_equalizer_new
      Src: /src/vlc/test/libvlc/equalizer.c:65,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:66,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:68,1
    - Dst: libvlc_audio_equalizer_get_preamp
      Src: /src/vlc/test/libvlc/equalizer.c:68,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:71,1
    - Dst: libvlc_audio_equalizer_get_amp_at_index
      Src: /src/vlc/test/libvlc/equalizer.c:71,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/equalizer.c:75,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:77,1
    - Dst: libvlc_audio_equalizer_set_preamp
      Src: /src/vlc/test/libvlc/equalizer.c:77,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:78,1
    - Dst: libvlc_audio_equalizer_get_preamp
      Src: /src/vlc/test/libvlc/equalizer.c:78,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:80,1
    - Dst: libvlc_audio_equalizer_set_preamp
      Src: /src/vlc/test/libvlc/equalizer.c:80,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:81,1
    - Dst: libvlc_audio_equalizer_get_preamp
      Src: /src/vlc/test/libvlc/equalizer.c:81,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:83,1
    - Dst: libvlc_audio_equalizer_set_preamp
      Src: /src/vlc/test/libvlc/equalizer.c:83,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:84,1
    - Dst: libvlc_audio_equalizer_get_preamp
      Src: /src/vlc/test/libvlc/equalizer.c:84,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:86,1
    - Dst: libvlc_audio_equalizer_set_preamp
      Src: /src/vlc/test/libvlc/equalizer.c:86,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:87,1
    - Dst: libvlc_audio_equalizer_get_preamp
      Src: /src/vlc/test/libvlc/equalizer.c:87,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:89,1
    - Dst: libvlc_audio_equalizer_set_preamp
      Src: /src/vlc/test/libvlc/equalizer.c:89,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:90,1
    - Dst: libvlc_audio_equalizer_get_preamp
      Src: /src/vlc/test/libvlc/equalizer.c:90,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:92,1
    - Dst: libvlc_audio_equalizer_set_preamp
      Src: /src/vlc/test/libvlc/equalizer.c:92,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:93,1
    - Dst: libvlc_audio_equalizer_get_preamp
      Src: /src/vlc/test/libvlc/equalizer.c:93,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/equalizer.c:97,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:101,1
    - Dst: libvlc_audio_equalizer_set_amp_at_index
      Src: /src/vlc/test/libvlc/equalizer.c:101,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:102,1
    - Dst: libvlc_audio_equalizer_get_amp_at_index
      Src: /src/vlc/test/libvlc/equalizer.c:102,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:104,1
    - Dst: libvlc_audio_equalizer_set_amp_at_index
      Src: /src/vlc/test/libvlc/equalizer.c:104,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:105,1
    - Dst: libvlc_audio_equalizer_get_amp_at_index
      Src: /src/vlc/test/libvlc/equalizer.c:105,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:107,1
    - Dst: libvlc_audio_equalizer_set_amp_at_index
      Src: /src/vlc/test/libvlc/equalizer.c:107,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:108,1
    - Dst: libvlc_audio_equalizer_get_amp_at_index
      Src: /src/vlc/test/libvlc/equalizer.c:108,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:110,1
    - Dst: libvlc_audio_equalizer_set_amp_at_index
      Src: /src/vlc/test/libvlc/equalizer.c:110,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:111,1
    - Dst: libvlc_audio_equalizer_get_amp_at_index
      Src: /src/vlc/test/libvlc/equalizer.c:111,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:113,1
    - Dst: libvlc_audio_equalizer_set_amp_at_index
      Src: /src/vlc/test/libvlc/equalizer.c:113,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:114,1
    - Dst: libvlc_audio_equalizer_get_amp_at_index
      Src: /src/vlc/test/libvlc/equalizer.c:114,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:116,1
    - Dst: libvlc_audio_equalizer_set_amp_at_index
      Src: /src/vlc/test/libvlc/equalizer.c:116,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:117,1
    - Dst: libvlc_audio_equalizer_get_amp_at_index
      Src: /src/vlc/test/libvlc/equalizer.c:117,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:122,1
    - Dst: isnan
      Src: /src/vlc/test/libvlc/equalizer.c:122,1
    - Dst: libvlc_audio_equalizer_get_amp_at_index
      Src: /src/vlc/test/libvlc/equalizer.c:122,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:123,1
    - Dst: libvlc_audio_equalizer_set_amp_at_index
      Src: /src/vlc/test/libvlc/equalizer.c:123,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/equalizer.c:127,1
    - Dst: libvlc_audio_equalizer_release
      Src: /src/vlc/test/libvlc/equalizer.c:129,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/equalizer.c:133,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:135,1
    - Dst: libvlc_media_player_set_equalizer
      Src: /src/vlc/test/libvlc/equalizer.c:135,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:136,1
    - Dst: libvlc_media_player_set_equalizer
      Src: /src/vlc/test/libvlc/equalizer.c:136,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/equalizer.c:140,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:143,1
    - Dst: libvlc_audio_equalizer_set_amp_at_index
      Src: /src/vlc/test/libvlc/equalizer.c:143,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/equalizer.c:145,1
    - Dst: libvlc_media_player_set_equalizer
      Src: /src/vlc/test/libvlc/equalizer.c:145,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/equalizer.c:149,1
    - Dst: libvlc_audio_equalizer_release
      Src: /src/vlc/test/libvlc/equalizer.c:151,1
    - Dst: test_log
      Src: /src/vlc/test/libvlc/equalizer.c:153,1
    - Dst: libvlc_media_player_release
      Src: /src/vlc/test/libvlc/equalizer.c:155,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/equalizer.c:157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 73
    argCount: 2
    argNames:
    - argv
    - argc
    argTypes:
    - char**
    - int
    assertStmts:
    - condition: (NULL != mp)
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (libvlc_audio_equalizer_get_preamp(equalizer) == -20.0f)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (0 == libvlc_audio_equalizer_set_amp_at_index (equalizer, -19.1234567f,
        i))
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (libvlc_audio_equalizer_get_amp_at_index (equalizer, i) == 20.0f)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (libvlc_audio_equalizer_get_preamp(equalizer) == 0.0f)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (libvlc_audio_equalizer_get_preamp(equalizer) == 20.0f)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (0 == libvlc_audio_equalizer_set_preamp (equalizer, -20.0f))
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (0 == libvlc_audio_equalizer_set_amp_at_index (equalizer, 20.0f,
        i))
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (0 == libvlc_audio_equalizer_set_preamp (equalizer, -20.1f))
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (-1 == libvlc_audio_equalizer_set_amp_at_index (equalizer, 19.9f,
        u_bands))
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (NULL == libvlc_audio_equalizer_get_preset_name(u_presets))
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (libvlc_audio_equalizer_get_preamp(equalizer) == -20.0f)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (isnan(libvlc_audio_equalizer_get_amp_at_index (equalizer, u_bands)))
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (0 == libvlc_media_player_set_equalizer(mp, equalizer))
      pos:
        line_end: 144
        line_start: 144
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (libvlc_audio_equalizer_get_preamp(equalizer) == -19.9f)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (libvlc_audio_equalizer_get_amp_at_index (equalizer, i) == 20.0f)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (0 == libvlc_audio_equalizer_set_amp_at_index (equalizer, 20.1f,
        i))
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (libvlc_audio_equalizer_get_preamp(equalizer) == 20.0f)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (u_bands > 0)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (0 == libvlc_audio_equalizer_set_preamp (equalizer, 20.0f))
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (NULL != libvlc_audio_equalizer_get_preset_name(i))
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (0 == libvlc_media_player_set_equalizer(mp, NULL))
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (0 == libvlc_audio_equalizer_set_preamp (equalizer, -19.9f))
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (libvlc_audio_equalizer_get_amp_at_index (equalizer, i) == -19.9f)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (0 == libvlc_audio_equalizer_set_amp_at_index (equalizer, -19.9f,
        i))
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (equalizer)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (libvlc_audio_equalizer_get_preamp(equalizer) == 19.9f)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (libvlc_audio_equalizer_get_amp_at_index (equalizer, i) == -20.0f)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (NULL != vlc)
      pos:
        line_end: 19
        line_start: 19
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (equalizer)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (-1.0f != libvlc_audio_equalizer_get_band_frequency(i))
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (0 == libvlc_audio_equalizer_set_preamp (equalizer, 20.1f))
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (0 == libvlc_audio_equalizer_set_amp_at_index (equalizer, 19.9f,
        i))
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (0 == libvlc_audio_equalizer_set_amp_at_index (equalizer, -20.1f,
        i))
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (libvlc_audio_equalizer_get_amp_at_index (equalizer, i) == -20.0f)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (libvlc_audio_equalizer_get_amp_at_index(equalizer, i) == 0.0f)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (0 == libvlc_media_player_set_equalizer(mp, equalizer))
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (u_presets > 0)
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (0 == libvlc_audio_equalizer_set_preamp (equalizer, 19.9f))
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (libvlc_audio_equalizer_get_amp_at_index (equalizer, i) == 19.9f)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (NULL == libvlc_audio_equalizer_new_from_preset(u_presets))
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (-1.0f == libvlc_audio_equalizer_get_band_frequency(u_bands))
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/vlc/test/libvlc/equalizer.c
    - condition: (0 == libvlc_audio_equalizer_set_amp_at_index (equalizer, -20.0f,
        i))
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/vlc/test/libvlc/equalizer.c
    constantsTouched: []
    func_position:
      end: 158
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 158
    functionName: test_equalizer
    functionSourceFile: /src/vlc/test/libvlc/equalizer.c
    functionUses: 0
    functionsReached:
    - assert
    - libvlc_audio_equalizer_get_amp_at_index
    - isnan
    - libvlc_media_player_new
    - libvlc_new
    - test_log
    - libvlc_audio_equalizer_get_band_count
    - libvlc_audio_equalizer_get_band_frequency
    - libvlc_audio_equalizer_get_preset_name
    - libvlc_audio_equalizer_new
    - libvlc_audio_equalizer_new_from_preset
    - libvlc_audio_equalizer_set_amp_at_index
    - libvlc_release
    - libvlc_media_player_release
    - libvlc_audio_equalizer_get_preset_count
    - libvlc_audio_equalizer_release
    - libvlc_audio_equalizer_get_preamp
    - libvlc_audio_equalizer_set_preamp
    - libvlc_media_player_set_equalizer
    linkageType: ''
    returnType: void
    signature: void test_equalizer (const char ** argv, int argc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/libvlc/equalizer.c:162,1
    - Dst: test_equalizer
      Src: /src/vlc/test/libvlc/equalizer.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 167
    functionName: main
    functionSourceFile: /src/vlc/test/libvlc/equalizer.c
    functionUses: 0
    functionsReached:
    - test_init
    - test_equalizer
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_media_new_path
      Src: /src/vlc/test/libvlc/slaves.c:28,1
    - Dst: libvlc_media_get_mrl
      Src: /src/vlc/test/libvlc/slaves.c:29,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/slaves.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - psz_path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: path_to_mrl
    functionSourceFile: /src/vlc/test/libvlc/slaves.c
    functionUses: 0
    functionsReached:
    - libvlc_media_new_path
    - libvlc_media_release
    - libvlc_media_get_mrl
    linkageType: ''
    returnType: char
    signature: char *path_to_mrl(const char *psz_path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/test/libvlc/slaves.c:39,1
    - Dst: libvlc_media_slaves_get
      Src: /src/vlc/test/libvlc/slaves.c:42,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/slaves.c:43,1
    - Dst: calloc
      Src: /src/vlc/test/libvlc/slaves.c:46,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/slaves.c:47,1
    - Dst: strcmp
      Src: /src/vlc/test/libvlc/slaves.c:54,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/slaves.c:56,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/slaves.c:57,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/slaves.c:58,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/slaves.c:65,1
    - Dst: printf
      Src: /src/vlc/test/libvlc/slaves.c:68,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/slaves.c:69,1
    - Dst: free
      Src: /src/vlc/test/libvlc/slaves.c:71,1
    - Dst: libvlc_media_slaves_release
      Src: /src/vlc/test/libvlc/slaves.c:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - p_m
    - p_expected_slaves
    - i_expected_slaves
    argTypes:
    - libvlc_media_t*
    - libvlc_media_slave_t*
    - unsigned int
    assertStmts:
    - condition: (i_expected_slaves == i_slave_count)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/vlc/test/libvlc/slaves.c
    - condition: (p_found_list != NULL)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/vlc/test/libvlc/slaves.c
    - condition: (p_found_list[j] == false)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/vlc/test/libvlc/slaves.c
    - condition: (p_slave1->i_type == p_slave2->i_type)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/vlc/test/libvlc/slaves.c
    - condition: (p_slave1->i_priority == p_slave2->i_priority)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/vlc/test/libvlc/slaves.c
    - condition: (i_expected_slaves == i_found_slaves)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/vlc/test/libvlc/slaves.c
    - condition: (p_found_list[i])
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/vlc/test/libvlc/slaves.c
    constantsTouched: []
    func_position:
      end: 74
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 74
    functionName: test_expected_slaves
    functionSourceFile: /src/vlc/test/libvlc/slaves.c
    functionUses: 0
    functionsReached:
    - assert
    - printf
    - libvlc_media_slaves_release
    - calloc
    - strcmp
    - free
    - libvlc_media_slaves_get
    linkageType: ''
    returnType: void
    signature: "void test_expected_slaves(libvlc_media_t *p_m,\n                     libvlc_media_slave_t
      *p_expected_slaves,\n                     unsigned int i_expected_slaves)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_media_new_path
      Src: /src/vlc/test/libvlc/slaves.c:82,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/slaves.c:83,1
    - Dst: printf
      Src: /src/vlc/test/libvlc/slaves.c:85,1
    - Dst: libvlc_media_parse_sync
      Src: /src/vlc/test/libvlc/slaves.c:86,1
    - Dst: path_to_mrl
      Src: /src/vlc/test/libvlc/slaves.c:88,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/slaves.c:89,1
    - Dst: printf
      Src: /src/vlc/test/libvlc/slaves.c:90,1
    - Dst: printf
      Src: /src/vlc/test/libvlc/slaves.c:92,1
    - Dst: libvlc_media_subitems
      Src: /src/vlc/test/libvlc/slaves.c:93,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/slaves.c:94,1
    - Dst: libvlc_media_list_lock
      Src: /src/vlc/test/libvlc/slaves.c:95,1
    - Dst: libvlc_media_list_count
      Src: /src/vlc/test/libvlc/slaves.c:96,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/slaves.c:97,1
    - Dst: libvlc_media_list_item_at_index
      Src: /src/vlc/test/libvlc/slaves.c:101,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/slaves.c:102,1
    - Dst: libvlc_media_get_mrl
      Src: /src/vlc/test/libvlc/slaves.c:103,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/slaves.c:104,1
    - Dst: strcmp
      Src: /src/vlc/test/libvlc/slaves.c:105,1
    - Dst: printf
      Src: /src/vlc/test/libvlc/slaves.c:107,1
    - Dst: free
      Src: /src/vlc/test/libvlc/slaves.c:108,1
    - Dst: free
      Src: /src/vlc/test/libvlc/slaves.c:111,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/slaves.c:112,1
    - Dst: free
      Src: /src/vlc/test/libvlc/slaves.c:115,1
    - Dst: libvlc_media_list_unlock
      Src: /src/vlc/test/libvlc/slaves.c:116,1
    - Dst: libvlc_media_list_release
      Src: /src/vlc/test/libvlc/slaves.c:117,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/slaves.c:119,1
    - Dst: test_expected_slaves
      Src: /src/vlc/test/libvlc/slaves.c:120,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/slaves.c:121,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/slaves.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 4
    argNames:
    - p_vlc
    - psz_main_media
    - p_expected_slaves
    - i_expected_slaves
    argTypes:
    - libvlc_instance_t*
    - char*
    - libvlc_media_slave_t*
    - unsigned
    assertStmts:
    - condition: (p_m != NULL)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/vlc/test/libvlc/slaves.c
    - condition: (psz_main_media_mrl != NULL)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/vlc/test/libvlc/slaves.c
    - condition: (p_subm != NULL)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/vlc/test/libvlc/slaves.c
    - condition: (psz_mrl != NULL)
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/vlc/test/libvlc/slaves.c
    - condition: (p_ml != NULL)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/vlc/test/libvlc/slaves.c
    - condition: (i_count > 0)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/vlc/test/libvlc/slaves.c
    - condition: (p_subm != NULL)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/vlc/test/libvlc/slaves.c
    constantsTouched: []
    func_position:
      end: 124
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 124
    functionName: test_media_has_slaves_from_parent
    functionSourceFile: /src/vlc/test/libvlc/slaves.c
    functionUses: 0
    functionsReached:
    - libvlc_media_new_path
    - path_to_mrl
    - assert
    - libvlc_media_list_item_at_index
    - libvlc_media_release
    - test_expected_slaves
    - libvlc_media_get_mrl
    - printf
    - libvlc_media_subitems
    - free
    - libvlc_media_parse_sync
    - strcmp
    - libvlc_media_list_unlock
    - libvlc_media_list_lock
    - libvlc_media_list_count
    - libvlc_media_list_release
    linkageType: ''
    returnType: void
    signature: "void test_media_has_slaves_from_parent(libvlc_instance_t *p_vlc,\n
      \                                 const char *psz_main_media,\n                                  libvlc_media_slave_t
      *p_expected_slaves,\n                                  unsigned i_expected_slaves)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/libvlc/slaves.c:129,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/libvlc/slaves.c:145,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/libvlc/slaves.c:145,1
    - Dst: libvlc_new
      Src: /src/vlc/test/libvlc/slaves.c:155,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/libvlc/slaves.c:155,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/slaves.c:156,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/libvlc/slaves.c:159,1
    - Dst: path_to_mrl
      Src: /src/vlc/test/libvlc/slaves.c:161,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/slaves.c:162,1
    - Dst: printf
      Src: /src/vlc/test/libvlc/slaves.c:165,1
    - Dst: test_media_has_slaves_from_parent
      Src: /src/vlc/test/libvlc/slaves.c:166,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/libvlc/slaves.c:168,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/slaves.c:169,1
    - Dst: printf
      Src: /src/vlc/test/libvlc/slaves.c:171,1
    - Dst: libvlc_new
      Src: /src/vlc/test/libvlc/slaves.c:173,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/libvlc/slaves.c:173,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/slaves.c:174,1
    - Dst: test_media_has_slaves_from_parent
      Src: /src/vlc/test/libvlc/slaves.c:175,1
    - Dst: printf
      Src: /src/vlc/test/libvlc/slaves.c:178,1
    - Dst: test_media_has_slaves_from_parent
      Src: /src/vlc/test/libvlc/slaves.c:179,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/slaves.c:181,1
    - Dst: printf
      Src: /src/vlc/test/libvlc/slaves.c:183,1
    - Dst: libvlc_new
      Src: /src/vlc/test/libvlc/slaves.c:185,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/libvlc/slaves.c:185,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/slaves.c:186,1
    - Dst: test_media_has_slaves_from_parent
      Src: /src/vlc/test/libvlc/slaves.c:187,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/slaves.c:189,1
    - Dst: printf
      Src: /src/vlc/test/libvlc/slaves.c:191,1
    - Dst: libvlc_new
      Src: /src/vlc/test/libvlc/slaves.c:193,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/libvlc/slaves.c:193,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/slaves.c:194,1
    - Dst: test_media_has_slaves_from_parent
      Src: /src/vlc/test/libvlc/slaves.c:195,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/slaves.c:197,1
    - Dst: printf
      Src: /src/vlc/test/libvlc/slaves.c:199,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/libvlc/slaves.c:200,1
    - Dst: libvlc_new
      Src: /src/vlc/test/libvlc/slaves.c:201,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/libvlc/slaves.c:201,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/slaves.c:202,1
    - Dst: test_media_has_slaves_from_parent
      Src: /src/vlc/test/libvlc/slaves.c:203,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/slaves.c:204,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/libvlc/slaves.c:206,1
    - Dst: free
      Src: /src/vlc/test/libvlc/slaves.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (p_vlc != NULL)
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/vlc/test/libvlc/slaves.c
    - condition: (p_vlc != NULL)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/vlc/test/libvlc/slaves.c
    - condition: (p_vlc != NULL)
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/vlc/test/libvlc/slaves.c
    - condition: (p_expected_slaves[i].psz_uri != NULL)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/vlc/test/libvlc/slaves.c
    - condition: (p_vlc != NULL)
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/vlc/test/libvlc/slaves.c
    - condition: (p_vlc != NULL)
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/vlc/test/libvlc/slaves.c
    constantsTouched: []
    func_position:
      end: 210
      start: 126
    functionDepth: 3
    functionLinenumber: 126
    functionLinenumberEnd: 210
    functionName: main
    functionSourceFile: /src/vlc/test/libvlc/slaves.c
    functionUses: 0
    functionsReached:
    - path_to_mrl
    - libvlc_release
    - assert
    - ARRAY_SIZE
    - test_init
    - printf
    - libvlc_new
    - free
    - test_media_has_slaves_from_parent
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/libvlc/media_list.c:32,1
    - Dst: libvlc_new
      Src: /src/vlc/test/libvlc/media_list.c:34,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list.c:35,1
    - Dst: libvlc_media_list_new
      Src: /src/vlc/test/libvlc/media_list.c:37,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list.c:38,1
    - Dst: libvlc_media_new_path
      Src: /src/vlc/test/libvlc/media_list.c:40,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list.c:41,1
    - Dst: libvlc_media_new_path
      Src: /src/vlc/test/libvlc/media_list.c:42,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list.c:43,1
    - Dst: libvlc_media_new_path
      Src: /src/vlc/test/libvlc/media_list.c:44,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list.c:45,1
    - Dst: libvlc_media_list_add_media
      Src: /src/vlc/test/libvlc/media_list.c:47,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list.c:48,1
    - Dst: libvlc_media_list_add_media
      Src: /src/vlc/test/libvlc/media_list.c:49,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list.c:50,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list.c:52,1
    - Dst: libvlc_media_list_count
      Src: /src/vlc/test/libvlc/media_list.c:52,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list.c:53,1
    - Dst: libvlc_media_list_index_of_item
      Src: /src/vlc/test/libvlc/media_list.c:53,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list.c:54,1
    - Dst: libvlc_media_list_index_of_item
      Src: /src/vlc/test/libvlc/media_list.c:54,1
    - Dst: libvlc_media_list_remove_index
      Src: /src/vlc/test/libvlc/media_list.c:56,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list.c:57,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list.c:60,1
    - Dst: libvlc_media_list_index_of_item
      Src: /src/vlc/test/libvlc/media_list.c:60,1
    - Dst: libvlc_media_list_add_media
      Src: /src/vlc/test/libvlc/media_list.c:61,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list.c:62,1
    - Dst: libvlc_media_list_add_media
      Src: /src/vlc/test/libvlc/media_list.c:63,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list.c:64,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list.c:67,1
    - Dst: libvlc_media_list_count
      Src: /src/vlc/test/libvlc/media_list.c:67,1
    - Dst: libvlc_media_list_insert_media
      Src: /src/vlc/test/libvlc/media_list.c:69,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list.c:70,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list.c:73,1
    - Dst: libvlc_media_list_count
      Src: /src/vlc/test/libvlc/media_list.c:73,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list.c:76,1
    - Dst: libvlc_media_list_index_of_item
      Src: /src/vlc/test/libvlc/media_list.c:76,1
    - Dst: libvlc_media_list_item_at_index
      Src: /src/vlc/test/libvlc/media_list.c:79,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list.c:80,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/media_list.c:81,1
    - Dst: libvlc_media_list_item_at_index
      Src: /src/vlc/test/libvlc/media_list.c:83,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list.c:84,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/media_list.c:85,1
    - Dst: libvlc_media_list_remove_index
      Src: /src/vlc/test/libvlc/media_list.c:89,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list.c:90,1
    - Dst: libvlc_media_list_remove_index
      Src: /src/vlc/test/libvlc/media_list.c:92,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list.c:93,1
    - Dst: libvlc_media_list_remove_index
      Src: /src/vlc/test/libvlc/media_list.c:95,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list.c:96,1
    - Dst: libvlc_media_list_item_at_index
      Src: /src/vlc/test/libvlc/media_list.c:100,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list.c:101,1
    - Dst: libvlc_media_list_item_at_index
      Src: /src/vlc/test/libvlc/media_list.c:103,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list.c:104,1
    - Dst: libvlc_media_list_item_at_index
      Src: /src/vlc/test/libvlc/media_list.c:106,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list.c:107,1
    - Dst: libvlc_media_new_path
      Src: /src/vlc/test/libvlc/media_list.c:109,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list.c:110,1
    - Dst: libvlc_media_list_index_of_item
      Src: /src/vlc/test/libvlc/media_list.c:114,1
    - Dst: assert
      Src: /src/vlc/test/libvlc/media_list.c:115,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/media_list.c:117,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/media_list.c:118,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/media_list.c:119,1
    - Dst: libvlc_media_release
      Src: /src/vlc/test/libvlc/media_list.c:120,1
    - Dst: libvlc_media_list_release
      Src: /src/vlc/test/libvlc/media_list.c:122,1
    - Dst: libvlc_release
      Src: /src/vlc/test/libvlc/media_list.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 58
    argCount: 2
    argNames:
    - argv
    - argc
    argTypes:
    - char**
    - int
    assertStmts:
    - condition: (md1 != NULL)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/vlc/test/libvlc/media_list.c
    - condition: (!ret)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/vlc/test/libvlc/media_list.c
    - condition: ( libvlc_media_list_index_of_item (ml, md1) == 0 )
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/vlc/test/libvlc/media_list.c
    - condition: ( libvlc_media_list_index_of_item (ml, md2) == 0 )
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/vlc/test/libvlc/media_list.c
    - condition: (!ret)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/vlc/test/libvlc/media_list.c
    - condition: ( libvlc_media_list_count (ml) == 4 )
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/vlc/test/libvlc/media_list.c
    - condition: (md4 != NULL)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/vlc/test/libvlc/media_list.c
    - condition: (ret == -1)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/vlc/test/libvlc/media_list.c
    - condition: (ml != NULL)
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/vlc/test/libvlc/media_list.c
    - condition: (vlc != NULL)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/vlc/test/libvlc/media_list.c
    - condition: ( libvlc_media_list_count (ml) == 2 )
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/vlc/test/libvlc/media_list.c
    - condition: (!ret)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/vlc/test/libvlc/media_list.c
    - condition: (ret == -1)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/vlc/test/libvlc/media_list.c
    - condition: (p_non_exist == NULL)
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/vlc/test/libvlc/media_list.c
    - condition: (md == md2)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/vlc/test/libvlc/media_list.c
    - condition: (md3 != NULL)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/vlc/test/libvlc/media_list.c
    - condition: ( libvlc_media_list_index_of_item (ml, md2) == 1 )
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/vlc/test/libvlc/media_list.c
    - condition: (!ret)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/vlc/test/libvlc/media_list.c
    - condition: ( libvlc_media_list_index_of_item (ml, md3) == 2 )
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/vlc/test/libvlc/media_list.c
    - condition: ( i_non_exist == -1 )
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/vlc/test/libvlc/media_list.c
    - condition: (ret == -1)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/vlc/test/libvlc/media_list.c
    - condition: (md2 != NULL)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/vlc/test/libvlc/media_list.c
    - condition: (!ret)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/vlc/test/libvlc/media_list.c
    - condition: ( libvlc_media_list_count (ml) == 3 )
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/vlc/test/libvlc/media_list.c
    - condition: (!ret)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/vlc/test/libvlc/media_list.c
    - condition: (md == md3)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/vlc/test/libvlc/media_list.c
    - condition: (p_non_exist == NULL)
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/vlc/test/libvlc/media_list.c
    - condition: (p_non_exist == NULL)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/vlc/test/libvlc/media_list.c
    constantsTouched: []
    func_position:
      end: 125
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 125
    functionName: test_media_list
    functionSourceFile: /src/vlc/test/libvlc/media_list.c
    functionUses: 0
    functionsReached:
    - libvlc_media_new_path
    - libvlc_release
    - assert
    - libvlc_media_list_item_at_index
    - libvlc_media_release
    - libvlc_media_list_insert_media
    - libvlc_new
    - test_log
    - libvlc_media_list_remove_index
    - libvlc_media_list_new
    - libvlc_media_list_index_of_item
    - libvlc_media_list_add_media
    - libvlc_media_list_count
    - libvlc_media_list_release
    linkageType: ''
    returnType: void
    signature: void test_media_list (const char ** argv, int argc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/libvlc/media_list.c:129,1
    - Dst: test_media_list
      Src: /src/vlc/test/libvlc/media_list.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: main
    functionSourceFile: /src/vlc/test/libvlc/media_list.c
    functionUses: 0
    functionsReached:
    - test_init
    - test_media_list
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/vlc/test/modules/lua/playlist_parser.c:53,1
    - Dst: vlc_stream_MemoryNew
      Src: /src/vlc/test/modules/lua/playlist_parser.c:56,1
    - Dst: strlen
      Src: /src/vlc/test/modules/lua/playlist_parser.c:57,1
    - Dst: assert
      Src: /src/vlc/test/modules/lua/playlist_parser.c:58,1
    - Dst: strdup
      Src: /src/vlc/test/modules/lua/playlist_parser.c:60,1
    - Dst: demux_New
      Src: /src/vlc/test/modules/lua/playlist_parser.c:63,1
    - Dst: assert
      Src: /src/vlc/test/modules/lua/playlist_parser.c:66,1
    - Dst: input_item_New
      Src: /src/vlc/test/modules/lua/playlist_parser.c:69,1
    - Dst: input_item_node_Create
      Src: /src/vlc/test/modules/lua/playlist_parser.c:70,1
    - Dst: vlc_stream_ReadDir
      Src: /src/vlc/test/modules/lua/playlist_parser.c:72,1
    - Dst: assert
      Src: /src/vlc/test/modules/lua/playlist_parser.c:74,1
    - Dst: assert
      Src: /src/vlc/test/modules/lua/playlist_parser.c:75,1
    - Dst: assert
      Src: /src/vlc/test/modules/lua/playlist_parser.c:78,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/lua/playlist_parser.c:78,1
    - Dst: input_item_node_Delete
      Src: /src/vlc/test/modules/lua/playlist_parser.c:80,1
    - Dst: demux_Delete
      Src: /src/vlc/test/modules/lua/playlist_parser.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - root
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: (p_s != NULL)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/vlc/test/modules/lua/playlist_parser.c
    - condition: (p_d != NULL)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/vlc/test/modules/lua/playlist_parser.c
    - condition: (strcmp(test_title, test_parsed_value) == 0)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/vlc/test/modules/lua/playlist_parser.c
    - condition: (probe_ret == 0)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/vlc/test/modules/lua/playlist_parser.c
    - condition: (p_node->i_children == 1)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/vlc/test/modules/lua/playlist_parser.c
    constantsTouched: []
    func_position:
      end: 87
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 87
    functionName: OpenIntf
    functionSourceFile: /src/vlc/test/modules/lua/playlist_parser.c
    functionUses: 0
    functionsReached:
    - assert
    - strdup
    - input_item_node_Delete
    - input_item_New
    - strlen
    - demux_New
    - strcmp
    - demux_Delete
    - vlc_stream_MemoryNew
    - vlc_stream_ReadDir
    - snprintf
    - input_item_node_Create
    linkageType: ''
    returnType: int
    signature: int OpenIntf(vlc_object_t *root)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setenv
      Src: /src/vlc/test/modules/lua/playlist_parser.c:101,1
    - Dst: test_init
      Src: /src/vlc/test/modules/lua/playlist_parser.c:102,1
    - Dst: libvlc_new
      Src: /src/vlc/test/modules/lua/playlist_parser.c:112,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/lua/playlist_parser.c:112,1
    - Dst: libvlc_InternalAddIntf
      Src: /src/vlc/test/modules/lua/playlist_parser.c:114,1
    - Dst: libvlc_InternalPlay
      Src: /src/vlc/test/modules/lua/playlist_parser.c:115,1
    - Dst: libvlc_release
      Src: /src/vlc/test/modules/lua/playlist_parser.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 119
    functionName: main
    functionSourceFile: /src/vlc/test/modules/lua/playlist_parser.c
    functionUses: 0
    functionsReached:
    - setenv
    - libvlc_release
    - ARRAY_SIZE
    - libvlc_InternalAddIntf
    - test_init
    - libvlc_new
    - libvlc_InternalPlay
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sem_post
      Src: /src/vlc/test/modules/lua/extension.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - obj
    - name
    - oldv
    - newv
    - opaque
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: OnLuaEventTriggered
    functionSourceFile: /src/vlc/test/modules/lua/extension.c
    functionUses: 0
    functionsReached:
    - vlc_sem_post
    linkageType: ''
    returnType: int
    signature: "int OnLuaEventTriggered(vlc_object_t *obj, const char *name,\n        vlc_value_t
      oldv, vlc_value_t newv, void *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_instance
      Src: /src/vlc/test/modules/lua/extension.c:63,1
    - Dst: var_Create
      Src: /src/vlc/test/modules/lua/extension.c:64,1
    - Dst: var_Create
      Src: /src/vlc/test/modules/lua/extension.c:65,1
    - Dst: var_Create
      Src: /src/vlc/test/modules/lua/extension.c:66,1
    - Dst: vlc_object_create
      Src: /src/vlc/test/modules/lua/extension.c:70,1
    - Dst: assert
      Src: /src/vlc/test/modules/lua/extension.c:71,1
    - Dst: setenv
      Src: /src/vlc/test/modules/lua/extension.c:73,1
    - Dst: vlc_intf_GetMainPlaylist
      Src: /src/vlc/test/modules/lua/extension.c:75,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/test/modules/lua/extension.c:76,1
    - Dst: module_need
      Src: /src/vlc/test/modules/lua/extension.c:78,1
    - Dst: vlc_sem_init
      Src: /src/vlc/test/modules/lua/extension.c:87,1
    - Dst: vlc_sem_init
      Src: /src/vlc/test/modules/lua/extension.c:88,1
    - Dst: vlc_sem_init
      Src: /src/vlc/test/modules/lua/extension.c:89,1
    - Dst: var_AddCallback
      Src: /src/vlc/test/modules/lua/extension.c:91,1
    - Dst: var_AddCallback
      Src: /src/vlc/test/modules/lua/extension.c:92,1
    - Dst: var_AddCallback
      Src: /src/vlc/test/modules/lua/extension.c:93,1
    - Dst: assert
      Src: /src/vlc/test/modules/lua/extension.c:96,1
    - Dst: extension_Activate
      Src: /src/vlc/test/modules/lua/extension.c:97,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/test/modules/lua/extension.c:98,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/test/modules/lua/extension.c:100,1
    - Dst: input_item_New
      Src: /src/vlc/test/modules/lua/extension.c:101,1
    - Dst: vlc_player_SetCurrentMedia
      Src: /src/vlc/test/modules/lua/extension.c:104,1
    - Dst: vlc_player_Start
      Src: /src/vlc/test/modules/lua/extension.c:105,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/test/modules/lua/extension.c:106,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/test/modules/lua/extension.c:108,1
    - Dst: extension_Deactivate
      Src: /src/vlc/test/modules/lua/extension.c:110,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/test/modules/lua/extension.c:111,1
    - Dst: var_DelCallback
      Src: /src/vlc/test/modules/lua/extension.c:113,1
    - Dst: var_DelCallback
      Src: /src/vlc/test/modules/lua/extension.c:114,1
    - Dst: var_DelCallback
      Src: /src/vlc/test/modules/lua/extension.c:115,1
    - Dst: module_unneed
      Src: /src/vlc/test/modules/lua/extension.c:117,1
    - Dst: input_item_Release
      Src: /src/vlc/test/modules/lua/extension.c:118,1
    - Dst: vlc_object_delete
      Src: /src/vlc/test/modules/lua/extension.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 38
    argCount: 1
    argNames:
    - root
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: (mgr)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/vlc/test/modules/lua/extension.c
    - condition: (mgr->extensions.i_size == 1)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/vlc/test/modules/lua/extension.c
    constantsTouched: []
    func_position:
      end: 122
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 122
    functionName: OpenIntf
    functionSourceFile: /src/vlc/test/modules/lua/extension.c
    functionUses: 0
    functionsReached:
    - vlc_sem_init
    - assert
    - vlc_sem_wait
    - extension_Activate
    - vlc_player_Start
    - input_item_New
    - var_AddCallback
    - vlc_player_Unlock
    - vlc_object_create
    - var_Create
    - vlc_playlist_GetPlayer
    - setenv
    - vlc_intf_GetMainPlaylist
    - input_item_Release
    - vlc_object_instance
    - vlc_player_SetCurrentMedia
    - vlc_object_delete
    - var_DelCallback
    - vlc_player_Lock
    - module_unneed
    - module_need
    - extension_Deactivate
    linkageType: ''
    returnType: int
    signature: int OpenIntf(vlc_object_t *root)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/modules/lua/extension.c:138,1
    - Dst: libvlc_new
      Src: /src/vlc/test/modules/lua/extension.c:145,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/lua/extension.c:145,1
    - Dst: libvlc_InternalAddIntf
      Src: /src/vlc/test/modules/lua/extension.c:147,1
    - Dst: libvlc_InternalPlay
      Src: /src/vlc/test/modules/lua/extension.c:148,1
    - Dst: libvlc_release
      Src: /src/vlc/test/modules/lua/extension.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 152
    functionName: main
    functionSourceFile: /src/vlc/test/modules/lua/extension.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - ARRAY_SIZE
    - libvlc_InternalAddIntf
    - test_init
    - libvlc_InternalPlay
    - libvlc_new
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/test/modules/packetizer/hxxx.c:38,1
    - Dst: printf
      Src: /src/vlc/test/modules/packetizer/hxxx.c:40,1
    - Dst: printf
      Src: /src/vlc/test/modules/packetizer/hxxx.c:41,1
    - Dst: printf
      Src: /src/vlc/test/modules/packetizer/hxxx.c:48,1
    - Dst: hxxx_iterator_init
      Src: /src/vlc/test/modules/packetizer/hxxx.c:51,1
    - Dst: hxxx_iterator_init
      Src: /src/vlc/test/modules/packetizer/hxxx.c:54,1
    - Dst: hxxx_annexb_iterate_next
      Src: /src/vlc/test/modules/packetizer/hxxx.c:69,1
    - Dst: hxxx_iterate_next
      Src: /src/vlc/test/modules/packetizer/hxxx.c:70,1
    - Dst: printf
      Src: /src/vlc/test/modules/packetizer/hxxx.c:71,1
    - Dst: printf
      Src: /src/vlc/test/modules/packetizer/hxxx.c:73,1
    - Dst: assert
      Src: /src/vlc/test/modules/packetizer/hxxx.c:74,1
    - Dst: assert
      Src: /src/vlc/test/modules/packetizer/hxxx.c:77,1
    - Dst: assert
      Src: /src/vlc/test/modules/packetizer/hxxx.c:78,1
    - Dst: memcmp
      Src: /src/vlc/test/modules/packetizer/hxxx.c:78,1
    - Dst: printf
      Src: /src/vlc/test/modules/packetizer/hxxx.c:80,1
    - Dst: printf
      Src: /src/vlc/test/modules/packetizer/hxxx.c:81,1
    - Dst: printf
      Src: /src/vlc/test/modules/packetizer/hxxx.c:84,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - p_ab
    - i_ab
    - pp_prefix
    - pi_prefix
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t**
    - size_t*
    assertStmts:
    - condition: (memcmp(p_start_ab, p_start_prefix, i_size_ab) == 0)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/vlc/test/modules/packetizer/hxxx.c
    - condition: (i_size_ab == i_size_prefix)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/vlc/test/modules/packetizer/hxxx.c
    - condition: (b1 == b2)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/vlc/test/modules/packetizer/hxxx.c
    constantsTouched: []
    func_position:
      end: 87
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 87
    functionName: test_iterators
    functionSourceFile: /src/vlc/test/modules/packetizer/hxxx.c
    functionUses: 0
    functionsReached:
    - assert
    - hxxx_annexb_iterate_next
    - hxxx_iterator_init
    - printf
    - hxxx_iterate_next
    - memcmp
    linkageType: ''
    returnType: void
    signature: "void test_iterators( const uint8_t *p_ab, size_t i_ab, /* AnnexB */\n
      \                           const uint8_t **pp_prefix, size_t *pi_prefix /*
      Prefixed */ )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/test/modules/packetizer/hxxx.c:92,1
    - Dst: printf
      Src: /src/vlc/test/modules/packetizer/hxxx.c:94,1
    - Dst: printf
      Src: /src/vlc/test/modules/packetizer/hxxx.c:95,1
    - Dst: block_Alloc
      Src: /src/vlc/test/modules/packetizer/hxxx.c:99,1
    - Dst: memcpy
      Src: /src/vlc/test/modules/packetizer/hxxx.c:100,1
    - Dst: hxxx_AnnexB_to_xVC
      Src: /src/vlc/test/modules/packetizer/hxxx.c:102,1
    - Dst: printf
      Src: /src/vlc/test/modules/packetizer/hxxx.c:103,1
    - Dst: printf
      Src: /src/vlc/test/modules/packetizer/hxxx.c:107,1
    - Dst: printf
      Src: /src/vlc/test/modules/packetizer/hxxx.c:108,1
    - Dst: printf
      Src: /src/vlc/test/modules/packetizer/hxxx.c:110,1
    - Dst: printf
      Src: /src/vlc/test/modules/packetizer/hxxx.c:112,1
    - Dst: printf
      Src: /src/vlc/test/modules/packetizer/hxxx.c:113,1
    - Dst: assert
      Src: /src/vlc/test/modules/packetizer/hxxx.c:115,1
    - Dst: assert
      Src: /src/vlc/test/modules/packetizer/hxxx.c:116,1
    - Dst: memcmp
      Src: /src/vlc/test/modules/packetizer/hxxx.c:116,1
    - Dst: block_Release
      Src: /src/vlc/test/modules/packetizer/hxxx.c:117,1
    - Dst: printf
      Src: /src/vlc/test/modules/packetizer/hxxx.c:121,1
    - Dst: assert
      Src: /src/vlc/test/modules/packetizer/hxxx.c:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - p_data
    - i_data
    - pp_res
    - pi_res
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t**
    - size_t*
    assertStmts:
    - condition: ( memcmp( p_block->p_buffer, pp_res[i], pi_res[i] ) == 0 )
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/vlc/test/modules/packetizer/hxxx.c
    - condition: ( p_block->i_buffer == pi_res[i] )
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/vlc/test/modules/packetizer/hxxx.c
    - condition: (0)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/vlc/test/modules/packetizer/hxxx.c
    constantsTouched: []
    func_position:
      end: 125
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 125
    functionName: testannexbin
    functionSourceFile: /src/vlc/test/modules/packetizer/hxxx.c
    functionUses: 0
    functionsReached:
    - block_Release
    - assert
    - hxxx_AnnexB_to_xVC
    - printf
    - memcpy
    - block_Alloc
    - memcmp
    linkageType: ''
    returnType: void
    signature: "void testannexbin( const uint8_t *p_data, size_t i_data,\n                          const
      uint8_t **pp_res, size_t *pi_res )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - number
    - ','
    - name
    - ','
    - testfunction
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: runtest
    functionSourceFile: /src/vlc/test/modules/packetizer/hxxx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: runtest(number, name, testfunction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runtest
      Src: /src/vlc/test/modules/packetizer/hxxx.c:203,1
    - Dst: runtest
      Src: /src/vlc/test/modules/packetizer/hxxx.c:204,1
    - Dst: runtest
      Src: /src/vlc/test/modules/packetizer/hxxx.c:205,1
    - Dst: runtest
      Src: /src/vlc/test/modules/packetizer/hxxx.c:206,1
    - Dst: runtest
      Src: /src/vlc/test/modules/packetizer/hxxx.c:207,1
    - Dst: runtest
      Src: /src/vlc/test/modules/packetizer/hxxx.c:208,1
    - Dst: runtest
      Src: /src/vlc/test/modules/packetizer/hxxx.c:210,1
    - Dst: runtest
      Src: /src/vlc/test/modules/packetizer/hxxx.c:211,1
    - Dst: runtest
      Src: /src/vlc/test/modules/packetizer/hxxx.c:212,1
    - Dst: runtest
      Src: /src/vlc/test/modules/packetizer/hxxx.c:213,1
    - Dst: runtest
      Src: /src/vlc/test/modules/packetizer/hxxx.c:214,1
    - Dst: runtest
      Src: /src/vlc/test/modules/packetizer/hxxx.c:215,1
    - Dst: runtest
      Src: /src/vlc/test/modules/packetizer/hxxx.c:216,1
    - Dst: runtest
      Src: /src/vlc/test/modules/packetizer/hxxx.c:217,1
    - Dst: printf
      Src: /src/vlc/test/modules/packetizer/hxxx.c:219,1
    - Dst: test_iterators
      Src: /src/vlc/test/modules/packetizer/hxxx.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 225
    functionName: test_annexb
    functionSourceFile: /src/vlc/test/modules/packetizer/hxxx.c
    functionUses: 0
    functionsReached:
    - runtest
    - printf
    - test_iterators
    linkageType: ''
    returnType: void
    signature: void test_annexb( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_annexb
      Src: /src/vlc/test/modules/packetizer/hxxx.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 232
    functionName: main
    functionSourceFile: /src/vlc/test/modules/packetizer/hxxx.c
    functionUses: 0
    functionsReached:
    - test_annexb
    linkageType: ''
    returnType: int
    signature: int main( void )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/modules/packetizer/h266.c:182,1
    - Dst: libvlc_new
      Src: /src/vlc/test/modules/packetizer/h266.c:184,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/test/modules/packetizer/h266.c:190,1
    - Dst: RUN
      Src: /src/vlc/test/modules/packetizer/h266.c:198,1
    - Dst: RUN
      Src: /src/vlc/test/modules/packetizer/h266.c:204,1
    - Dst: RUN
      Src: /src/vlc/test/modules/packetizer/h266.c:209,1
    - Dst: libvlc_release
      Src: /src/vlc/test/modules/packetizer/h266.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 214
    functionName: main
    functionSourceFile: /src/vlc/test/modules/packetizer/h266.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - test_init
    - libvlc_new
    - RUN
    - VLC_OBJECT
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - run
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: BAILOUT
    functionSourceFile: /src/vlc/test/modules/packetizer/packetizer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BAILOUT(run)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - run
    - ','
    - test
    - ','
    - a
    - ','
    - b
    - ','
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: RUN
    functionSourceFile: /src/vlc/test/modules/packetizer/packetizer.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN(run, test, a, b, res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - foo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: EXPECT
    functionSourceFile: /src/vlc/test/modules/packetizer/packetizer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPECT(foo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/test/modules/packetizer/packetizer.h:60,1
    - Dst: module_unneed
      Src: /src/vlc/test/modules/packetizer/packetizer.h:62,1
    - Dst: es_format_Clean
      Src: /src/vlc/test/modules/packetizer/packetizer.h:63,1
    - Dst: es_format_Clean
      Src: /src/vlc/test/modules/packetizer/packetizer.h:64,1
    - Dst: vlc_meta_Delete
      Src: /src/vlc/test/modules/packetizer/packetizer.h:66,1
    - Dst: vlc_object_delete
      Src: /src/vlc/test/modules/packetizer/packetizer.h:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - p_pack
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: delete_packetizer
    functionSourceFile: /src/vlc/test/modules/packetizer/packetizer.h
    functionUses: 0
    functionsReached:
    - vlc_meta_Delete
    - es_format_Clean
    - container_of
    - module_unneed
    - vlc_object_delete
    linkageType: ''
    returnType: void
    signature: void delete_packetizer(decoder_t *p_pack)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_create
      Src: /src/vlc/test/modules/packetizer/packetizer.h:75,1
    - Dst: es_format_Init
      Src: /src/vlc/test/modules/packetizer/packetizer.h:82,1
    - Dst: es_format_Init
      Src: /src/vlc/test/modules/packetizer/packetizer.h:83,1
    - Dst: decoder_LoadModule
      Src: /src/vlc/test/modules/packetizer/packetizer.h:89,1
    - Dst: delete_packetizer
      Src: /src/vlc/test/modules/packetizer/packetizer.h:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - vlc
    - num
    - den
    - codec
    argTypes:
    - libvlc_instance_t*
    - unsigned
    - unsigned
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 93
    functionName: create_packetizer
    functionSourceFile: /src/vlc/test/modules/packetizer/packetizer.h
    functionUses: 0
    functionsReached:
    - decoder_LoadModule
    - delete_packetizer
    - vlc_object_create
    - es_format_Init
    linkageType: ''
    returnType: decoder_t
    signature: "decoder_t *create_packetizer(libvlc_instance_t *vlc,\n                                    unsigned
      num, unsigned den,\n                                    vlc_fourcc_t codec)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: create_packetizer
      Src: /src/vlc/test/modules/packetizer/packetizer.h:99,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/packetizer/packetizer.h:103,1
    - Dst: vlc_stream_MemoryNew
      Src: /src/vlc/test/modules/packetizer/packetizer.h:105,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/packetizer/packetizer.h:107,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/test/modules/packetizer/packetizer.h:114,1
    - Dst: decoder_t*::pf_packetize
      Src: /src/vlc/test/modules/packetizer/packetizer.h:121,1
    - Dst: fprintf
      Src: /src/vlc/test/modules/packetizer/packetizer.h:124,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/test/modules/packetizer/packetizer.h:128,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/packetizer/packetizer.h:134,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/packetizer/packetizer.h:138,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/packetizer/packetizer.h:139,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/packetizer/packetizer.h:140,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/packetizer/packetizer.h:141,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/packetizer/packetizer.h:146,1
    - Dst: block_ChainRelease
      Src: /src/vlc/test/modules/packetizer/packetizer.h:148,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/packetizer/packetizer.h:150,1
    - Dst: delete_packetizer
      Src: /src/vlc/test/modules/packetizer/packetizer.h:152,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/test/modules/packetizer/packetizer.h:154,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 4
    argNames:
    - run
    - p_data
    - i_data
    - params
    argTypes:
    - char*
    - uint8_t*
    - size_t
    - struct params_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 157
    functionName: test_packetize
    functionSourceFile: /src/vlc/test/modules/packetizer/packetizer.h
    functionUses: 0
    functionsReached:
    - decoder_t*::pf_packetize
    - create_packetizer
    - block_ChainRelease
    - fprintf
    - delete_packetizer
    - vlc_stream_Delete
    - block_ChainLastAppend
    - vlc_stream_MemoryNew
    - vlc_stream_Block
    - EXPECT
    linkageType: ''
    returnType: int
    signature: "int test_packetize(const char *run,\n                          const
      uint8_t *p_data, size_t i_data,\n                          const struct params_s
      *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/modules/packetizer/hevc.c:119,1
    - Dst: libvlc_new
      Src: /src/vlc/test/modules/packetizer/hevc.c:121,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/test/modules/packetizer/hevc.c:127,1
    - Dst: RUN
      Src: /src/vlc/test/modules/packetizer/hevc.c:135,1
    - Dst: RUN
      Src: /src/vlc/test/modules/packetizer/hevc.c:141,1
    - Dst: RUN
      Src: /src/vlc/test/modules/packetizer/hevc.c:146,1
    - Dst: libvlc_release
      Src: /src/vlc/test/modules/packetizer/hevc.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 151
    functionName: main
    functionSourceFile: /src/vlc/test/modules/packetizer/hevc.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - test_init
    - libvlc_new
    - RUN
    - VLC_OBJECT
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/modules/packetizer/mpegvideo.c:148,1
    - Dst: libvlc_new
      Src: /src/vlc/test/modules/packetizer/mpegvideo.c:150,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/test/modules/packetizer/mpegvideo.c:156,1
    - Dst: RUN
      Src: /src/vlc/test/modules/packetizer/mpegvideo.c:164,1
    - Dst: RUN
      Src: /src/vlc/test/modules/packetizer/mpegvideo.c:170,1
    - Dst: RUN
      Src: /src/vlc/test/modules/packetizer/mpegvideo.c:175,1
    - Dst: libvlc_release
      Src: /src/vlc/test/modules/packetizer/mpegvideo.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 180
    functionName: main
    functionSourceFile: /src/vlc/test/modules/packetizer/mpegvideo.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - test_init
    - libvlc_new
    - RUN
    - VLC_OBJECT
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pf_find
      Src: /src/vlc/test/modules/packetizer/helpers.c:49,1
    - Dst: printf
      Src: /src/vlc/test/modules/packetizer/helpers.c:52,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 6
    argNames:
    - p_set
    - p_end
    - p_results
    - i_results
    - i_results_offset
    - (*pf_find)(const uint8_t *, const uint8_t *)
    argTypes:
    - uint8_t*
    - uint8_t*
    - struct results_s*
    - size_t
    - ssize_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 65
    functionName: check_set
    functionSourceFile: /src/vlc/test/modules/packetizer/helpers.c
    functionUses: 0
    functionsReached:
    - printf
    - pf_find
    linkageType: ''
    returnType: int
    signature: "int check_set( const uint8_t *p_set, const uint8_t *p_end,\n                      const
      struct results_s *p_results, size_t i_results,\n                      ssize_t
      i_results_offset,\n                      const uint8_t *(*pf_find)(const uint8_t
      *, const uint8_t *))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/test/modules/packetizer/helpers.c:73,1
    - Dst: check_set
      Src: /src/vlc/test/modules/packetizer/helpers.c:74,1
    - Dst: printf
      Src: /src/vlc/test/modules/packetizer/helpers.c:82,1
    - Dst: check_set
      Src: /src/vlc/test/modules/packetizer/helpers.c:83,1
    - Dst: printf
      Src: /src/vlc/test/modules/packetizer/helpers.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - p_set
    - p_end
    - p_results
    - i_results
    - i_results_offset
    argTypes:
    - uint8_t*
    - uint8_t*
    - struct results_s*
    - size_t
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 91
    functionName: run_annexb_sets
    functionSourceFile: /src/vlc/test/modules/packetizer/helpers.c
    functionUses: 0
    functionsReached:
    - printf
    - check_set
    linkageType: ''
    returnType: int
    signature: "int run_annexb_sets( const uint8_t *p_set, const uint8_t *p_end,\n
      \                           const struct results_s *p_results, size_t i_results,\n
      \                           ssize_t i_results_offset )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/test/modules/packetizer/helpers.c:113,1
    - Dst: run_annexb_sets
      Src: /src/vlc/test/modules/packetizer/helpers.c:114,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/packetizer/helpers.c:116,1
    - Dst: malloc
      Src: /src/vlc/test/modules/packetizer/helpers.c:120,1
    - Dst: memset
      Src: /src/vlc/test/modules/packetizer/helpers.c:124,1
    - Dst: memcpy
      Src: /src/vlc/test/modules/packetizer/helpers.c:125,1
    - Dst: printf
      Src: /src/vlc/test/modules/packetizer/helpers.c:127,1
    - Dst: run_annexb_sets
      Src: /src/vlc/test/modules/packetizer/helpers.c:128,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/packetizer/helpers.c:130,1
    - Dst: free
      Src: /src/vlc/test/modules/packetizer/helpers.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 138
    functionName: main
    functionSourceFile: /src/vlc/test/modules/packetizer/helpers.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - memset
    - printf
    - run_annexb_sets
    - memcpy
    - free
    - malloc
    linkageType: ''
    returnType: int
    signature: int main( void )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/modules/packetizer/h264.c:101,1
    - Dst: libvlc_new
      Src: /src/vlc/test/modules/packetizer/h264.c:103,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/test/modules/packetizer/h264.c:109,1
    - Dst: RUN
      Src: /src/vlc/test/modules/packetizer/h264.c:117,1
    - Dst: RUN
      Src: /src/vlc/test/modules/packetizer/h264.c:123,1
    - Dst: RUN
      Src: /src/vlc/test/modules/packetizer/h264.c:128,1
    - Dst: libvlc_release
      Src: /src/vlc/test/modules/packetizer/h264.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 133
    functionName: main
    functionSourceFile: /src/vlc/test/modules/packetizer/h264.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - test_init
    - libvlc_new
    - RUN
    - VLC_OBJECT
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dataset
    - ','
    - name
    - ','
    - testfunction
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: runtest
    functionSourceFile: /src/vlc/test/modules/packetizer/h266_nal.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: runtest(dataset, name, testfunction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:42,1
    - Dst: fprintf
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p
    - sz
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: hexdump
    functionSourceFile: /src/vlc/test/modules/packetizer/h266_nal.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void hexdump(const void *p, size_t sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:81,1
    - Dst: h266_parse_DecoderConfigurationRecord
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:81,1
    - Dst: assert
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:84,1
    - Dst: assert
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:85,1
    - Dst: h266_create_DecoderConfigurationRecord
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:89,1
    - Dst: assert
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:90,1
    - Dst: fprintf
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:91,1
    - Dst: hexdump
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:92,1
    - Dst: assert
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:93,1
    - Dst: h266_parse_DecoderConfigurationRecord
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:93,1
    - Dst: assert
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:94,1
    - Dst: memcmp
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:94,1
    - Dst: free
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:95,1
    - Dst: h266_create_AnnexbExtradataFromParams
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:100,1
    - Dst: h266_create_AnnexbExtradataFromParams
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:101,1
    - Dst: assert
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:102,1
    - Dst: fprintf
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:103,1
    - Dst: hexdump
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:104,1
    - Dst: assert
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:105,1
    - Dst: assert
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:106,1
    - Dst: memcmp
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:106,1
    - Dst: memset
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:109,1
    - Dst: hxxx_iterator_init
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:113,1
    - Dst: hxxx_annexb_iterate_next
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:115,1
    - Dst: h266_add_NALtoParams
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:116,1
    - Dst: h266_create_DecoderConfigurationRecord
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:117,1
    - Dst: assert
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:118,1
    - Dst: fprintf
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:119,1
    - Dst: hexdump
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:120,1
    - Dst: memset
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:122,1
    - Dst: memset
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:123,1
    - Dst: assert
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:126,1
    - Dst: h266_parse_DecoderConfigurationRecord
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:126,1
    - Dst: assert
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:132,1
    - Dst: memcmp
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:132,1
    - Dst: free
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:133,1
    - Dst: free
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:135,1
    - Dst: free
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: "(h266_parse_DecoderConfigurationRecord(test_dcr_qpa0_qp20,\n                                                 sizeof(test_dcr_qpa0_qp20),\n
        \                                                &params))"
      pos:
        line_end: 82
        line_start: 80
        source_file: /src/vlc/test/modules/packetizer/h266_nal.c
    - condition: (values.ptl_present_flag)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/vlc/test/modules/packetizer/h266_nal.c
    - condition: (p_dcr)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/vlc/test/modules/packetizer/h266_nal.c
    - condition: (szannexb0 == szannexb1)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/vlc/test/modules/packetizer/h266_nal.c
    - condition: (!memcmp(&values, &newvalues, sizeof(values)))
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/vlc/test/modules/packetizer/h266_nal.c
    - condition: (h266_parse_DecoderConfigurationRecord(p_dcr, i_dcr, &params))
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/vlc/test/modules/packetizer/h266_nal.c
    - condition: (h266_parse_DecoderConfigurationRecord(p_dcr, i_dcr, &newparams))
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/vlc/test/modules/packetizer/h266_nal.c
    - condition: (!memcmp(annexb0, annexb1, szannexb0))
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/vlc/test/modules/packetizer/h266_nal.c
    - condition: (p_dcr)
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/vlc/test/modules/packetizer/h266_nal.c
    - condition: (values.ptl.constraints_info.gci_num_additional_bits)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/vlc/test/modules/packetizer/h266_nal.c
    - condition: (szannexb0)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/vlc/test/modules/packetizer/h266_nal.c
    - condition: (!memcmp(&values, &newvalues, sizeof(values)))
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/vlc/test/modules/packetizer/h266_nal.c
    constantsTouched: []
    func_position:
      end: 137
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 137
    functionName: test_dcr
    functionSourceFile: /src/vlc/test/modules/packetizer/h266_nal.c
    functionUses: 0
    functionsReached:
    - assert
    - hxxx_annexb_iterate_next
    - memset
    - hxxx_iterator_init
    - fprintf
    - h266_create_DecoderConfigurationRecord
    - free
    - hexdump
    - h266_add_NALtoParams
    - h266_create_AnnexbExtradataFromParams
    - h266_parse_DecoderConfigurationRecord
    - memcmp
    linkageType: ''
    returnType: void
    signature: void test_dcr( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_dcr
      Src: /src/vlc/test/modules/packetizer/h266_nal.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: main
    functionSourceFile: /src/vlc/test/modules/packetizer/h266_nal.c
    functionUses: 0
    functionsReached:
    - test_dcr
    linkageType: ''
    returnType: int
    signature: int main( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - id
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: FRAME
    functionSourceFile: /src/vlc/test/modules/stream_out/pcr_sync.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FRAME(id, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - id
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: DISCONTINUITY
    functionSourceFile: /src/vlc/test/modules/stream_out/pcr_sync.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DISCONTINUITY(id, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: PCR
    functionSourceFile: /src/vlc/test/modules/stream_out/pcr_sync.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCR(val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vector_reserve
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:82,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:83,1
    - Dst: vlc_pcr_sync_NewESID
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:87,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:88,1
    - Dst: vlc_vector_push
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:89,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:90,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:99,1
    - Dst: vlc_pcr_sync_SignalPCR
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:99,1
    - Dst: vlc_pcr_sync_SignalFrame
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:106,1
    - Dst: vlc_pcr_sync_SignalFrameOutput
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:119,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:123,1
    - Dst: vlc_vector_destroy
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - sync
    - context
    argTypes:
    - vlc_pcr_sync_t*
    - test_context
    assertStmts:
    - condition: (alloc_success)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (alloc_success)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (alloc_success)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (vlc_pcr_sync_SignalPCR(sync, elem->pcr) == VLC_SUCCESS)
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (elem->pcr == last_pcr)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    constantsTouched: []
    func_position:
      end: 128
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 128
    functionName: test_Sync
    functionSourceFile: /src/vlc/test/modules/stream_out/pcr_sync.c
    functionUses: 0
    functionsReached:
    - vlc_pcr_sync_NewESID
    - assert
    - vlc_pcr_sync_SignalPCR
    - vlc_vector_reserve
    - vlc_vector_destroy
    - vlc_vector_push
    - vlc_pcr_sync_SignalFrame
    - vlc_pcr_sync_SignalFrameOutput
    linkageType: ''
    returnType: void
    signature: void test_Sync(vlc_pcr_sync_t *sync, const test_context context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_pcr_sync_New
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:132,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:133,1
    - Dst: test
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:135,1
    - Dst: vlc_pcr_sync_Delete
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (sync != NULL)
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: test_Run
    functionSourceFile: /src/vlc/test/modules/stream_out/pcr_sync.c
    functionUses: 0
    functionsReached:
    - vlc_pcr_sync_New
    - assert
    - vlc_pcr_sync_Delete
    - test
    linkageType: ''
    returnType: void
    signature: void test_Run(void (*test)(vlc_pcr_sync_t *))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FRAME
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:151,1
    - Dst: PCR
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:151,1
    - Dst: FRAME
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:151,1
    - Dst: test_Sync
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:152,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:154,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sync
    argTypes:
    - vlc_pcr_sync_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: test_Simple
    functionSourceFile: /src/vlc/test/modules/stream_out/pcr_sync.c
    functionUses: 0
    functionsReached:
    - FRAME
    - test_Sync
    - ARRAY_SIZE
    - PCR
    linkageType: ''
    returnType: void
    signature: void test_Simple(vlc_pcr_sync_t *sync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FRAME
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:164,1
    - Dst: FRAME
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:164,1
    - Dst: PCR
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:164,1
    - Dst: FRAME
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:165,1
    - Dst: FRAME
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:165,1
    - Dst: FRAME
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:165,1
    - Dst: test_Sync
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:166,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:167,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sync
    argTypes:
    - vlc_pcr_sync_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: test_MultipleTracks
    functionSourceFile: /src/vlc/test/modules/stream_out/pcr_sync.c
    functionUses: 0
    functionsReached:
    - FRAME
    - test_Sync
    - ARRAY_SIZE
    - PCR
    linkageType: ''
    returnType: void
    signature: void test_MultipleTracks(vlc_pcr_sync_t *sync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FRAME
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:175,1
    - Dst: PCR
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:175,1
    - Dst: FRAME
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:175,1
    - Dst: test_Sync
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:176,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:177,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sync
    argTypes:
    - vlc_pcr_sync_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 181
    functionName: test_MultipleTracksButOnlyOneSends
    functionSourceFile: /src/vlc/test/modules/stream_out/pcr_sync.c
    functionUses: 0
    functionsReached:
    - FRAME
    - test_Sync
    - ARRAY_SIZE
    - PCR
    linkageType: ''
    returnType: void
    signature: void test_MultipleTracksButOnlyOneSends(vlc_pcr_sync_t *sync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FRAME
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:185,1
    - Dst: FRAME
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:185,1
    - Dst: FRAME
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:186,1
    - Dst: PCR
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:186,1
    - Dst: FRAME
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:187,1
    - Dst: FRAME
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:188,1
    - Dst: PCR
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:188,1
    - Dst: FRAME
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:188,1
    - Dst: test_Sync
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:189,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:190,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sync
    argTypes:
    - vlc_pcr_sync_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 194
    functionName: test_InvalidDTS
    functionSourceFile: /src/vlc/test/modules/stream_out/pcr_sync.c
    functionUses: 0
    functionsReached:
    - FRAME
    - test_Sync
    - ARRAY_SIZE
    - PCR
    linkageType: ''
    returnType: void
    signature: void test_InvalidDTS(vlc_pcr_sync_t *sync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FRAME
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:198,1
    - Dst: DISCONTINUITY
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:198,1
    - Dst: PCR
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:198,1
    - Dst: FRAME
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:199,1
    - Dst: test_Sync
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:200,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:201,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sync
    argTypes:
    - vlc_pcr_sync_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: test_LowDiscontinuity
    functionSourceFile: /src/vlc/test/modules/stream_out/pcr_sync.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - PCR
    - FRAME
    - test_Sync
    - DISCONTINUITY
    linkageType: ''
    returnType: void
    signature: void test_LowDiscontinuity(vlc_pcr_sync_t *sync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FRAME
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:209,1
    - Dst: DISCONTINUITY
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:209,1
    - Dst: PCR
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:209,1
    - Dst: FRAME
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:210,1
    - Dst: test_Sync
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:211,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:212,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sync
    argTypes:
    - vlc_pcr_sync_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 216
    functionName: test_HighDiscontinuity
    functionSourceFile: /src/vlc/test/modules/stream_out/pcr_sync.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - PCR
    - FRAME
    - test_Sync
    - DISCONTINUITY
    linkageType: ''
    returnType: void
    signature: void test_HighDiscontinuity(vlc_pcr_sync_t *sync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FRAME
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:219,1
    - Dst: DISCONTINUITY
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:219,1
    - Dst: DISCONTINUITY
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:220,1
    - Dst: PCR
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:220,1
    - Dst: FRAME
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:221,1
    - Dst: test_Sync
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:222,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:223,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sync
    argTypes:
    - vlc_pcr_sync_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 227
    functionName: test_TwoDiscontinuities
    functionSourceFile: /src/vlc/test/modules/stream_out/pcr_sync.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - PCR
    - FRAME
    - test_Sync
    - DISCONTINUITY
    linkageType: ''
    returnType: void
    signature: void test_TwoDiscontinuities(vlc_pcr_sync_t *sync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:231,1
    - Dst: vlc_pcr_sync_SignalPCR
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sync
    argTypes:
    - vlc_pcr_sync_t*
    assertStmts:
    - condition: (vlc_pcr_sync_SignalPCR(sync, 1u) == VLC_PCR_SYNC_FORWARD_PCR)
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: test_FastForwardAtBeginning
    functionSourceFile: /src/vlc/test/modules/stream_out/pcr_sync.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_pcr_sync_SignalPCR
    linkageType: ''
    returnType: void
    signature: void test_FastForwardAtBeginning(vlc_pcr_sync_t *sync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_MultipleTracks
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:237,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:241,1
    - Dst: vlc_pcr_sync_SignalPCR
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:241,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:242,1
    - Dst: vlc_pcr_sync_SignalPCR
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:242,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:243,1
    - Dst: vlc_pcr_sync_SignalPCR
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sync
    argTypes:
    - vlc_pcr_sync_t*
    assertStmts:
    - condition: (vlc_pcr_sync_SignalPCR(sync, 30u) == VLC_PCR_SYNC_FORWARD_PCR)
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (vlc_pcr_sync_SignalPCR(sync, 40u) == VLC_PCR_SYNC_FORWARD_PCR)
      pos:
        line_end: 241
        line_start: 241
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (vlc_pcr_sync_SignalPCR(sync, 50u) == VLC_PCR_SYNC_FORWARD_PCR)
      pos:
        line_end: 242
        line_start: 242
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    constantsTouched: []
    func_position:
      end: 244
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 244
    functionName: test_FastForwardMiddleOfStream
    functionSourceFile: /src/vlc/test/modules/stream_out/pcr_sync.c
    functionUses: 0
    functionsReached:
    - test_MultipleTracks
    - assert
    - vlc_pcr_sync_SignalPCR
    linkageType: ''
    returnType: void
    signature: void test_FastForwardMiddleOfStream(vlc_pcr_sync_t *sync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:249,1
    - Dst: vlc_pcr_sync_NewESID
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:249,1
    - Dst: vlc_pcr_sync_SignalFrame
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:252,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:253,1
    - Dst: vlc_pcr_sync_SignalPCR
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:253,1
    - Dst: vlc_pcr_sync_SignalFrame
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:256,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:257,1
    - Dst: vlc_pcr_sync_SignalFrameOutput
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:257,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:258,1
    - Dst: vlc_pcr_sync_SignalPCR
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - sync
    argTypes:
    - vlc_pcr_sync_t*
    assertStmts:
    - condition: (vlc_pcr_sync_NewESID(sync, &id) == VLC_SUCCESS)
      pos:
        line_end: 248
        line_start: 248
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (vlc_pcr_sync_SignalPCR(sync, 10u) == VLC_SUCCESS)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (vlc_pcr_sync_SignalFrameOutput(sync, id, &frame1) == 10u)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (vlc_pcr_sync_SignalPCR(sync, 20u) == VLC_SUCCESS)
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    constantsTouched: []
    func_position:
      end: 259
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 259
    functionName: test_OneTrackWithDelay
    functionSourceFile: /src/vlc/test/modules/stream_out/pcr_sync.c
    functionUses: 0
    functionsReached:
    - vlc_pcr_sync_NewESID
    - assert
    - vlc_pcr_sync_SignalPCR
    - vlc_pcr_sync_SignalFrame
    - vlc_pcr_sync_SignalFrameOutput
    linkageType: ''
    returnType: void
    signature: void test_OneTrackWithDelay(vlc_pcr_sync_t *sync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:264,1
    - Dst: vlc_pcr_sync_NewESID
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:264,1
    - Dst: vlc_pcr_sync_SignalFrame
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:267,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:268,1
    - Dst: vlc_pcr_sync_SignalPCR
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:268,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:269,1
    - Dst: vlc_pcr_sync_SignalPCR
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:269,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:270,1
    - Dst: vlc_pcr_sync_SignalPCR
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:270,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:273,1
    - Dst: vlc_pcr_sync_SignalFrameOutput
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:273,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:274,1
    - Dst: vlc_pcr_sync_SignalFrameOutput
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:274,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:275,1
    - Dst: vlc_pcr_sync_SignalFrameOutput
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:275,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:276,1
    - Dst: vlc_pcr_sync_SignalFrameOutput
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - sync
    argTypes:
    - vlc_pcr_sync_t*
    assertStmts:
    - condition: (vlc_pcr_sync_NewESID(sync, &id) == VLC_SUCCESS)
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (vlc_pcr_sync_SignalPCR(sync, 10u) == VLC_SUCCESS)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (vlc_pcr_sync_SignalPCR(sync, 20u) == VLC_SUCCESS)
      pos:
        line_end: 268
        line_start: 268
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (vlc_pcr_sync_SignalPCR(sync, 30u) == VLC_SUCCESS)
      pos:
        line_end: 269
        line_start: 269
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (vlc_pcr_sync_SignalFrameOutput(sync, id, &frame) == 10u)
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (vlc_pcr_sync_SignalFrameOutput(sync, id, &frame) == 30u)
      pos:
        line_end: 274
        line_start: 274
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (vlc_pcr_sync_SignalFrameOutput(sync, id, &frame) == VLC_TICK_INVALID)
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (vlc_pcr_sync_SignalFrameOutput(sync, id, &frame) == 20u)
      pos:
        line_end: 273
        line_start: 273
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    constantsTouched: []
    func_position:
      end: 277
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 277
    functionName: test_SubsequentPCR
    functionSourceFile: /src/vlc/test/modules/stream_out/pcr_sync.c
    functionUses: 0
    functionsReached:
    - vlc_pcr_sync_NewESID
    - assert
    - vlc_pcr_sync_SignalPCR
    - vlc_pcr_sync_SignalFrame
    - vlc_pcr_sync_SignalFrameOutput
    linkageType: ''
    returnType: void
    signature: void test_SubsequentPCR(vlc_pcr_sync_t *sync)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:282,1
    - Dst: vlc_pcr_sync_NewESID
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:282,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:283,1
    - Dst: vlc_pcr_sync_NewESID
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:283,1
    - Dst: vlc_pcr_sync_SignalFrame
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:290,1
    - Dst: vlc_pcr_sync_SignalFrame
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:293,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:295,1
    - Dst: vlc_pcr_sync_SignalPCR
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:295,1
    - Dst: vlc_pcr_sync_SignalFrameOutput
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:303,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:304,1
    - Dst: vlc_pcr_sync_SignalFrameOutput
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:314,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:316,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:318,1
    - Dst: vlc_pcr_sync_DelESID
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:321,1
    - Dst: vlc_pcr_sync_DelESID
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:322,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - sync
    argTypes:
    - vlc_pcr_sync_t*
    assertStmts:
    - condition: (vlc_pcr_sync_NewESID(sync, &audio) == VLC_SUCCESS)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (vlc_pcr_sync_NewESID(sync, &video) == VLC_SUCCESS)
      pos:
        line_end: 282
        line_start: 282
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (vlc_pcr_sync_SignalPCR(sync, dts + 1) == VLC_SUCCESS)
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (pcr == VLC_TICK_INVALID)
      pos:
        line_end: 303
        line_start: 303
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (pcr == VLC_TICK_INVALID)
      pos:
        line_end: 317
        line_start: 317
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (pcr == dts + 1)
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    constantsTouched: []
    func_position:
      end: 323
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 323
    functionName: test_LateTrack
    functionSourceFile: /src/vlc/test/modules/stream_out/pcr_sync.c
    functionUses: 0
    functionsReached:
    - vlc_pcr_sync_NewESID
    - assert
    - vlc_pcr_sync_SignalPCR
    - vlc_pcr_sync_DelESID
    - vlc_pcr_sync_SignalFrame
    - vlc_pcr_sync_SignalFrameOutput
    linkageType: ''
    returnType: void
    signature: void test_LateTrack(vlc_pcr_sync_t *sync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_pcr_sync_New
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:328,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:329,1
    - Dst: transcode_track_pcr_helper_New
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:332,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:332,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:333,1
    - Dst: test
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:335,1
    - Dst: transcode_track_pcr_helper_Delete
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:337,1
    - Dst: vlc_pcr_sync_Delete
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (track_helper != NULL)
      pos:
        line_end: 332
        line_start: 332
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (sync != NULL)
      pos:
        line_end: 328
        line_start: 328
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    constantsTouched: []
    func_position:
      end: 339
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 339
    functionName: test_PCRHelper
    functionSourceFile: /src/vlc/test/modules/stream_out/pcr_sync.c
    functionUses: 0
    functionsReached:
    - assert
    - test
    - VLC_TICK_FROM_MS
    - vlc_pcr_sync_New
    - transcode_track_pcr_helper_New
    - vlc_pcr_sync_Delete
    - transcode_track_pcr_helper_Delete
    linkageType: ''
    returnType: void
    signature: "void test_PCRHelper(void (*test)(vlc_pcr_sync_t *,\n                                        transcode_track_pcr_helper_t
      *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transcode_track_pcr_helper_SignalEnteringFrame
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:346,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:348,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:350,1
    - Dst: vlc_pcr_sync_SignalPCR
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:350,1
    - Dst: transcode_track_pcr_helper_SignalLeavingFrame
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:354,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:356,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sync
    - pcr_helper
    argTypes:
    - vlc_pcr_sync_t*
    - transcode_track_pcr_helper_t*
    assertStmts:
    - condition: (vlc_pcr_sync_SignalPCR(sync, 10u) == VLC_SUCCESS)
      pos:
        line_end: 349
        line_start: 349
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (dropped_frame_pcr == VLC_TICK_INVALID)
      pos:
        line_end: 347
        line_start: 347
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (status == VLC_SUCCESS)
      pos:
        line_end: 355
        line_start: 355
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (pcr == 10u)
      pos:
        line_end: 356
        line_start: 356
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    constantsTouched: []
    func_position:
      end: 358
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 358
    functionName: test_PCRHelperSimple
    functionSourceFile: /src/vlc/test/modules/stream_out/pcr_sync.c
    functionUses: 0
    functionsReached:
    - transcode_track_pcr_helper_SignalLeavingFrame
    - assert
    - vlc_pcr_sync_SignalPCR
    - transcode_track_pcr_helper_SignalEnteringFrame
    linkageType: ''
    returnType: void
    signature: "void test_PCRHelperSimple(vlc_pcr_sync_t *sync,\n                                 transcode_track_pcr_helper_t
      *pcr_helper)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: transcode_track_pcr_helper_New
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:365,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:365,1
    - Dst: transcode_track_pcr_helper_SignalEnteringFrame
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:373,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:375,1
    - Dst: transcode_track_pcr_helper_SignalEnteringFrame
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:378,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:380,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:382,1
    - Dst: vlc_pcr_sync_SignalPCR
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:382,1
    - Dst: transcode_track_pcr_helper_SignalLeavingFrame
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:390,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:392,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:393,1
    - Dst: transcode_track_pcr_helper_SignalLeavingFrame
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:400,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:402,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:404,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:406,1
    - Dst: transcode_track_pcr_helper_Delete
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:409,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - sync
    - video
    argTypes:
    - vlc_pcr_sync_t*
    - transcode_track_pcr_helper_t*
    assertStmts:
    - condition: (dropped_frame_pcr == VLC_TICK_INVALID)
      pos:
        line_end: 374
        line_start: 374
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (dropped_frame_pcr == VLC_TICK_INVALID)
      pos:
        line_end: 379
        line_start: 379
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (vlc_pcr_sync_SignalPCR(sync, 101) == VLC_SUCCESS)
      pos:
        line_end: 381
        line_start: 381
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (status == VLC_SUCCESS)
      pos:
        line_end: 391
        line_start: 391
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (pcr == VLC_TICK_INVALID)
      pos:
        line_end: 392
        line_start: 392
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (status == VLC_SUCCESS)
      pos:
        line_end: 401
        line_start: 401
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (pcr == 91)
      pos:
        line_end: 405
        line_start: 405
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (pcr == VLC_TICK_INVALID)
      pos:
        line_end: 403
        line_start: 403
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    constantsTouched: []
    func_position:
      end: 410
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 410
    functionName: test_PCRHelperMultipleTracks
    functionSourceFile: /src/vlc/test/modules/stream_out/pcr_sync.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_pcr_sync_SignalPCR
    - transcode_track_pcr_helper_SignalLeavingFrame
    - VLC_TICK_FROM_MS
    - transcode_track_pcr_helper_SignalEnteringFrame
    - transcode_track_pcr_helper_New
    - transcode_track_pcr_helper_Delete
    linkageType: ''
    returnType: void
    signature: "void test_PCRHelperMultipleTracks(vlc_pcr_sync_t *sync,\n                             transcode_track_pcr_helper_t
      *video)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transcode_track_pcr_helper_SignalEnteringFrame
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:418,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:420,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:422,1
    - Dst: vlc_pcr_sync_SignalPCR
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:422,1
    - Dst: transcode_track_pcr_helper_SignalLeavingFrame
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:427,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:429,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:430,1
    - Dst: transcode_track_pcr_helper_SignalLeavingFrame
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:432,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:434,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - sync
    - pcr_helper
    argTypes:
    - vlc_pcr_sync_t*
    - transcode_track_pcr_helper_t*
    assertStmts:
    - condition: (dropped_frame_pcr == VLC_TICK_INVALID)
      pos:
        line_end: 419
        line_start: 419
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (vlc_pcr_sync_SignalPCR(sync, 10u) == VLC_SUCCESS)
      pos:
        line_end: 421
        line_start: 421
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (status == VLC_SUCCESS)
      pos:
        line_end: 428
        line_start: 428
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (pcr == VLC_TICK_INVALID)
      pos:
        line_end: 429
        line_start: 429
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (status == VLC_SUCCESS)
      pos:
        line_end: 433
        line_start: 433
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (pcr == 10u)
      pos:
        line_end: 434
        line_start: 434
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    constantsTouched: []
    func_position:
      end: 436
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 436
    functionName: test_PCRHelperSplitFrameOutput
    functionSourceFile: /src/vlc/test/modules/stream_out/pcr_sync.c
    functionUses: 0
    functionsReached:
    - transcode_track_pcr_helper_SignalLeavingFrame
    - assert
    - vlc_pcr_sync_SignalPCR
    - transcode_track_pcr_helper_SignalEnteringFrame
    linkageType: ''
    returnType: void
    signature: "void test_PCRHelperSplitFrameOutput(vlc_pcr_sync_t *sync,\n                               transcode_track_pcr_helper_t
      *pcr_helper)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transcode_track_pcr_helper_SignalEnteringFrame
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:445,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:447,1
    - Dst: transcode_track_pcr_helper_SignalEnteringFrame
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:448,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:450,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:452,1
    - Dst: vlc_pcr_sync_SignalPCR
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:452,1
    - Dst: transcode_track_pcr_helper_SignalEnteringFrame
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:455,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:457,1
    - Dst: transcode_track_pcr_helper_SignalLeavingFrame
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:461,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:463,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:465,1
    - Dst: transcode_track_pcr_helper_SignalLeavingFrame
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:467,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:469,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - sync
    - pcr_helper
    argTypes:
    - vlc_pcr_sync_t*
    - transcode_track_pcr_helper_t*
    assertStmts:
    - condition: (dropped_frame_pcr == VLC_TICK_INVALID)
      pos:
        line_end: 446
        line_start: 446
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (dropped_frame_pcr == VLC_TICK_INVALID)
      pos:
        line_end: 449
        line_start: 449
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (vlc_pcr_sync_SignalPCR(sync, 2010u) == VLC_SUCCESS)
      pos:
        line_end: 451
        line_start: 451
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (dropped_frame_pcr == VLC_TICK_INVALID)
      pos:
        line_end: 456
        line_start: 456
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (status == VLC_SUCCESS)
      pos:
        line_end: 462
        line_start: 462
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (pcr == 1u)
      pos:
        line_end: 464
        line_start: 464
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (status == VLC_SUCCESS)
      pos:
        line_end: 468
        line_start: 468
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (pcr == VLC_TICK_INVALID)
      pos:
        line_end: 469
        line_start: 469
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    constantsTouched: []
    func_position:
      end: 471
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 471
    functionName: test_PCRHelperSplitFrameInput
    functionSourceFile: /src/vlc/test/modules/stream_out/pcr_sync.c
    functionUses: 0
    functionsReached:
    - transcode_track_pcr_helper_SignalLeavingFrame
    - assert
    - vlc_pcr_sync_SignalPCR
    - transcode_track_pcr_helper_SignalEnteringFrame
    linkageType: ''
    returnType: void
    signature: "void test_PCRHelperSplitFrameInput(vlc_pcr_sync_t *sync,\n                              transcode_track_pcr_helper_t
      *pcr_helper)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transcode_track_pcr_helper_SignalEnteringFrame
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:478,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:480,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:482,1
    - Dst: vlc_pcr_sync_SignalPCR
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:482,1
    - Dst: transcode_track_pcr_helper_SignalLeavingFrame
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:487,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:489,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:490,1
    - Dst: transcode_track_pcr_helper_SignalLeavingFrame
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:492,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:494,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - sync
    - pcr_helper
    argTypes:
    - vlc_pcr_sync_t*
    - transcode_track_pcr_helper_t*
    assertStmts:
    - condition: (vlc_pcr_sync_SignalPCR(sync, 10u) == VLC_SUCCESS)
      pos:
        line_end: 481
        line_start: 481
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (dropped_frame_pcr == VLC_TICK_INVALID)
      pos:
        line_end: 479
        line_start: 479
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (status == VLC_SUCCESS)
      pos:
        line_end: 488
        line_start: 488
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (pcr == 10u)
      pos:
        line_end: 489
        line_start: 489
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (status == VLC_EGENERIC)
      pos:
        line_end: 493
        line_start: 493
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    - condition: (pcr == VLC_TICK_INVALID)
      pos:
        line_end: 494
        line_start: 494
        source_file: /src/vlc/test/modules/stream_out/pcr_sync.c
    constantsTouched: []
    func_position:
      end: 496
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 496
    functionName: test_PCRHelperIOMismatch
    functionSourceFile: /src/vlc/test/modules/stream_out/pcr_sync.c
    functionUses: 0
    functionsReached:
    - transcode_track_pcr_helper_SignalLeavingFrame
    - assert
    - vlc_pcr_sync_SignalPCR
    - transcode_track_pcr_helper_SignalEnteringFrame
    linkageType: ''
    returnType: void
    signature: "void test_PCRHelperIOMismatch(vlc_pcr_sync_t *sync,\n                                     transcode_track_pcr_helper_t
      *pcr_helper)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_Run
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:500,1
    - Dst: test_Run
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:501,1
    - Dst: test_Run
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:502,1
    - Dst: test_Run
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:503,1
    - Dst: test_Run
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:504,1
    - Dst: test_Run
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:505,1
    - Dst: test_Run
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:506,1
    - Dst: test_Run
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:507,1
    - Dst: test_Run
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:508,1
    - Dst: test_Run
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:509,1
    - Dst: test_Run
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:510,1
    - Dst: test_Run
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:511,1
    - Dst: test_PCRHelper
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:512,1
    - Dst: test_PCRHelper
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:513,1
    - Dst: test_PCRHelper
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:514,1
    - Dst: test_PCRHelper
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:515,1
    - Dst: test_PCRHelper
      Src: /src/vlc/test/modules/stream_out/pcr_sync.c:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 517
    functionName: main
    functionSourceFile: /src/vlc/test/modules/stream_out/pcr_sync.c
    functionUses: 0
    functionsReached:
    - test_Run
    - test_PCRHelper
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/modules/stream_out/transcode.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - device
    argTypes:
    - struct vlc_decoder_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: DecoderDeviceClose
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void DecoderDeviceClose(struct vlc_decoder_device *device)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/modules/stream_out/transcode.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - device
    - window
    argTypes:
    - struct vlc_decoder_device*
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: OpenDecoderDevice
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int OpenDecoderDevice(\n        struct vlc_decoder_device *device,\n
      \       vlc_window_t *window\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct transcode_scenario*::decoder_drain
      Src: /src/vlc/test/modules/stream_out/transcode.c:86,1
    - Dst: picture_NewFromResource
      Src: /src/vlc/test/modules/stream_out/transcode.c:93,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode.c:94,1
    - Dst: vlc_frame_Release
      Src: /src/vlc/test/modules/stream_out/transcode.c:96,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode.c:99,1
    - Dst: struct transcode_scenario*::decoder_decode
      Src: /src/vlc/test/modules/stream_out/transcode.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - dec
    - frame
    argTypes:
    - decoder_t*
    - vlc_frame_t*
    assertStmts:
    - condition: (pic)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/vlc/test/modules/stream_out/transcode.c
    - condition: (scenario->decoder_decode != NULL)
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/vlc/test/modules/stream_out/transcode.c
    constantsTouched: []
    func_position:
      end: 101
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 101
    functionName: DecoderDecode
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode.c
    functionUses: 0
    functionsReached:
    - vlc_frame_Release
    - picture_NewFromResource
    - assert
    - struct transcode_scenario*::decoder_drain
    - struct transcode_scenario*::decoder_decode
    linkageType: ''
    returnType: int
    signature: int DecoderDecode(decoder_t *dec, vlc_frame_t *frame)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode.c:109,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode.c:110,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/test/modules/stream_out/transcode.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: (dec->fmt_in->i_cat == VIDEO_ES)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/vlc/test/modules/stream_out/transcode.c
    - condition: (dec->fmt_in->i_codec != 0)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/vlc/test/modules/stream_out/transcode.c
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: CloseDecoder
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode.c
    functionUses: 0
    functionsReached:
    - vlc_video_context_Release
    - assert
    linkageType: ''
    returnType: void
    signature: void CloseDecoder(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decoder_GetDecoderDevice
      Src: /src/vlc/test/modules/stream_out/transcode.c:121,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode.c:122,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/test/modules/stream_out/transcode.c:123,1
    - Dst: es_format_Clean
      Src: /src/vlc/test/modules/stream_out/transcode.c:127,1
    - Dst: es_format_Copy
      Src: /src/vlc/test/modules/stream_out/transcode.c:128,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode.c:131,1
    - Dst: struct transcode_scenario*::decoder_setup
      Src: /src/vlc/test/modules/stream_out/transcode.c:132,1
    - Dst: msg_Dbg
      Src: /src/vlc/test/modules/stream_out/transcode.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: (device)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/vlc/test/modules/stream_out/transcode.c
    - condition: (scenario->decoder_setup != NULL)
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/vlc/test/modules/stream_out/transcode.c
    constantsTouched: []
    func_position:
      end: 140
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 140
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode.c
    functionUses: 0
    functionsReached:
    - decoder_GetDecoderDevice
    - assert
    - es_format_Clean
    - vlc_decoder_device_Release
    - struct transcode_scenario*::decoder_setup
    - msg_Dbg
    - es_format_Copy
    linkageType: ''
    returnType: int
    signature: int OpenDecoder(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 151
    functionName: OpenFilter
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OpenFilter(filter_t *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: video_format_Clean
      Src: /src/vlc/test/modules/stream_out/transcode.c:155,1
    - Dst: video_format_Copy
      Src: /src/vlc/test/modules/stream_out/transcode.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - filter
    - input
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: ConverterFilter
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode.c
    functionUses: 0
    functionsReached:
    - video_format_Clean
    - video_format_Copy
    linkageType: ''
    returnType: picture_t
    signature: picture_t *ConverterFilter(filter_t *filter, picture_t *input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/test/modules/stream_out/transcode.c:162,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode.c:169,1
    - Dst: struct transcode_scenario*::converter_setup
      Src: /src/vlc/test/modules/stream_out/transcode.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: (scenario->converter_setup != NULL)
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/vlc/test/modules/stream_out/transcode.c
    constantsTouched: []
    func_position:
      end: 179
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 179
    functionName: OpenConverter
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode.c
    functionUses: 0
    functionsReached:
    - struct transcode_scenario*::converter_setup
    - assert
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int OpenConverter(filter_t *filter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct transcode_scenario*::encoder_drain
      Src: /src/vlc/test/modules/stream_out/transcode.c:188,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode.c:192,1
    - Dst: vlc_frame_Alloc
      Src: /src/vlc/test/modules/stream_out/transcode.c:193,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode.c:194,1
    - Dst: struct transcode_scenario*::encoder_encode
      Src: /src/vlc/test/modules/stream_out/transcode.c:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - enc
    - pic
    argTypes:
    - encoder_t*
    - picture_t*
    assertStmts:
    - condition: (frame != NULL)
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/vlc/test/modules/stream_out/transcode.c
    - condition: (pic->format.i_chroma == enc->fmt_in.video.i_chroma)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/vlc/test/modules/stream_out/transcode.c
    constantsTouched: []
    func_position:
      end: 199
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 199
    functionName: EncodeVideo
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode.c
    functionUses: 0
    functionsReached:
    - struct transcode_scenario*::encoder_drain
    - vlc_frame_Alloc
    - assert
    - struct transcode_scenario*::encoder_encode
    linkageType: ''
    returnType: vlc_frame_t
    signature: vlc_frame_t *EncodeVideo(encoder_t *enc, picture_t *pic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct transcode_scenario*::encoder_close
      Src: /src/vlc/test/modules/stream_out/transcode.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - enc
    argTypes:
    - encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: CloseEncoder
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode.c
    functionUses: 0
    functionsReached:
    - struct transcode_scenario*::encoder_close
    linkageType: ''
    returnType: void
    signature: void CloseEncoder(encoder_t *enc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode.c:214,1
    - Dst: struct transcode_scenario*::encoder_setup
      Src: /src/vlc/test/modules/stream_out/transcode.c:215,1
    - Dst: msg_Dbg
      Src: /src/vlc/test/modules/stream_out/transcode.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: (scenario->encoder_setup != NULL)
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/vlc/test/modules/stream_out/transcode.c
    constantsTouched: []
    func_position:
      end: 231
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 231
    functionName: OpenEncoder
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode.c
    functionUses: 0
    functionsReached:
    - assert
    - msg_Dbg
    - struct transcode_scenario*::encoder_setup
    linkageType: ''
    returnType: int
    signature: int OpenEncoder(vlc_object_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sout_StreamIdSend
      Src: /src/vlc/test/modules/stream_out/transcode.c:237,1
    - Dst: struct transcode_scenario*::report_error
      Src: /src/vlc/test/modules/stream_out/transcode.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - stream
    - id
    - f
    argTypes:
    - sout_stream_t*
    - void*
    - vlc_frame_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 241
    functionName: ErrorCheckerSend
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode.c
    functionUses: 0
    functionsReached:
    - struct transcode_scenario*::report_error
    - sout_StreamIdSend
    linkageType: ''
    returnType: int
    signature: int ErrorCheckerSend(sout_stream_t *stream, void *id, vlc_frame_t *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sout_StreamIdAdd
      Src: /src/vlc/test/modules/stream_out/transcode.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stream
    - fmt
    - es_id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: ErrorCheckerAdd
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode.c
    functionUses: 0
    functionsReached:
    - sout_StreamIdAdd
    linkageType: ''
    returnType: void
    signature: "void *ErrorCheckerAdd(sout_stream_t *stream,\n                             const
      es_format_t *fmt,\n                             const char *es_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sout_StreamIdDel
      Src: /src/vlc/test/modules/stream_out/transcode.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stream
    - id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 249
    functionName: ErrorCheckerDel
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode.c
    functionUses: 0
    functionsReached:
    - sout_StreamIdDel
    linkageType: ''
    returnType: void
    signature: void ErrorCheckerDel(sout_stream_t *stream, void *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 261
    functionName: OpenErrorChecker
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OpenErrorChecker(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode.c:268,1
    - Dst: struct transcode_scenario*::report_output
      Src: /src/vlc/test/modules/stream_out/transcode.c:269,1
    - Dst: vlc_frame_ChainRelease
      Src: /src/vlc/test/modules/stream_out/transcode.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - stream
    - id
    - f
    argTypes:
    - sout_stream_t*
    - void*
    - vlc_frame_t*
    assertStmts:
    - condition: (scenario->report_output != NULL)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/vlc/test/modules/stream_out/transcode.c
    constantsTouched: []
    func_position:
      end: 274
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 274
    functionName: OutputCheckerSend
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode.c
    functionUses: 0
    functionsReached:
    - struct transcode_scenario*::report_output
    - assert
    - vlc_frame_ChainRelease
    linkageType: ''
    returnType: int
    signature: int OutputCheckerSend(sout_stream_t *stream, void *id, vlc_frame_t
      *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - fmt
    - es_id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 281
    functionName: OutputCheckerAdd
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void *OutputCheckerAdd(sout_stream_t *stream, const es_format_t *fmt,\n
      \                             const char *es_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - stream
    - id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 284
    functionName: OutputCheckerDel
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OutputCheckerDel(sout_stream_t *stream, void *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 297
    functionName: OpenOutputChecker
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OpenOutputChecker(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_cond_signal
      Src: /src/vlc/test/modules/stream_out/transcode.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - player
    - state
    - opaque
    argTypes:
    - vlc_player_t*
    - enum vlc_player_state
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: on_state_changed
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode.c
    functionUses: 0
    functionsReached:
    - vlc_cond_signal
    linkageType: ''
    returnType: void
    signature: void on_state_changed(vlc_player_t *player, enum vlc_player_state state,
      void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transcode_scenario_init
      Src: /src/vlc/test/modules/stream_out/transcode.c:307,1
    - Dst: input_item_New
      Src: /src/vlc/test/modules/stream_out/transcode.c:308,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode.c:309,1
    - Dst: input_item_AddOption
      Src: /src/vlc/test/modules/stream_out/transcode.c:314,1
    - Dst: var_Create
      Src: /src/vlc/test/modules/stream_out/transcode.c:316,1
    - Dst: var_SetString
      Src: /src/vlc/test/modules/stream_out/transcode.c:317,1
    - Dst: var_Create
      Src: /src/vlc/test/modules/stream_out/transcode.c:319,1
    - Dst: var_SetString
      Src: /src/vlc/test/modules/stream_out/transcode.c:320,1
    - Dst: var_Create
      Src: /src/vlc/test/modules/stream_out/transcode.c:322,1
    - Dst: var_SetString
      Src: /src/vlc/test/modules/stream_out/transcode.c:323,1
    - Dst: vlc_player_New
      Src: /src/vlc/test/modules/stream_out/transcode.c:325,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode.c:327,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/test/modules/stream_out/transcode.c:333,1
    - Dst: vlc_player_AddListener
      Src: /src/vlc/test/modules/stream_out/transcode.c:335,1
    - Dst: vlc_player_SetCurrentMedia
      Src: /src/vlc/test/modules/stream_out/transcode.c:336,1
    - Dst: vlc_player_Start
      Src: /src/vlc/test/modules/stream_out/transcode.c:337,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/test/modules/stream_out/transcode.c:338,1
    - Dst: transcode_scenario_wait
      Src: /src/vlc/test/modules/stream_out/transcode.c:340,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/test/modules/stream_out/transcode.c:342,1
    - Dst: vlc_player_Stop
      Src: /src/vlc/test/modules/stream_out/transcode.c:343,1
    - Dst: vlc_player_GetState
      Src: /src/vlc/test/modules/stream_out/transcode.c:345,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/modules/stream_out/transcode.c:346,1
    - Dst: vlc_player_RemoveListener
      Src: /src/vlc/test/modules/stream_out/transcode.c:348,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/test/modules/stream_out/transcode.c:349,1
    - Dst: transcode_scenario_check
      Src: /src/vlc/test/modules/stream_out/transcode.c:351,1
    - Dst: vlc_player_Delete
      Src: /src/vlc/test/modules/stream_out/transcode.c:353,1
    - Dst: input_item_Release
      Src: /src/vlc/test/modules/stream_out/transcode.c:354,1
    - Dst: var_Destroy
      Src: /src/vlc/test/modules/stream_out/transcode.c:356,1
    - Dst: var_Destroy
      Src: /src/vlc/test/modules/stream_out/transcode.c:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 2
    argNames:
    - intf
    - scenario
    argTypes:
    - intf_thread_t*
    - struct transcode_scenario*
    assertStmts:
    - condition: (media)
      pos:
        line_end: 308
        line_start: 308
        source_file: /src/vlc/test/modules/stream_out/transcode.c
    - condition: (player)
      pos:
        line_end: 326
        line_start: 326
        source_file: /src/vlc/test/modules/stream_out/transcode.c
    constantsTouched: []
    func_position:
      end: 358
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 358
    functionName: play_scenario
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode.c
    functionUses: 0
    functionsReached:
    - var_Destroy
    - transcode_scenario_init
    - assert
    - vlc_player_Start
    - vlc_player_CondWait
    - input_item_New
    - vlc_player_Unlock
    - var_Create
    - vlc_player_Delete
    - transcode_scenario_check
    - input_item_AddOption
    - input_item_Release
    - vlc_player_New
    - vlc_player_SetCurrentMedia
    - vlc_player_Stop
    - vlc_player_RemoveListener
    - vlc_player_GetState
    - transcode_scenario_wait
    - vlc_player_Lock
    - vlc_player_AddListener
    - var_SetString
    linkageType: ''
    returnType: void
    signature: void play_scenario(intf_thread_t *intf, struct transcode_scenario *scenario)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Info
      Src: /src/vlc/test/modules/stream_out/transcode.c:366,1
    - Dst: play_scenario
      Src: /src/vlc/test/modules/stream_out/transcode.c:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 372
    functionName: OpenIntf
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode.c
    functionUses: 0
    functionsReached:
    - msg_Info
    - play_scenario
    linkageType: ''
    returnType: int
    signature: int OpenIntf(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/modules/stream_out/transcode.c:426,1
    - Dst: libvlc_new
      Src: /src/vlc/test/modules/stream_out/transcode.c:433,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/stream_out/transcode.c:433,1
    - Dst: libvlc_InternalAddIntf
      Src: /src/vlc/test/modules/stream_out/transcode.c:435,1
    - Dst: libvlc_InternalPlay
      Src: /src/vlc/test/modules/stream_out/transcode.c:436,1
    - Dst: libvlc_release
      Src: /src/vlc/test/modules/stream_out/transcode.c:438,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (transcode_scenarios_count == current_scenario)
      pos:
        line_end: 438
        line_start: 438
        source_file: /src/vlc/test/modules/stream_out/transcode.c
    constantsTouched: []
    func_position:
      end: 441
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 441
    functionName: main
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - assert
    - ARRAY_SIZE
    - libvlc_InternalAddIntf
    - test_init
    - libvlc_InternalPlay
    - libvlc_new
    linkageType: ''
    returnType: int
    signature: int main( int argc, char **argv )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - dec
    - chroma
    - width
    - height
    argTypes:
    - decoder_t*
    - vlc_fourcc_t
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: decoder_fixed_size
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void decoder_fixed_size(decoder_t *dec, vlc_fourcc_t chroma,\n        unsigned
      width, unsigned height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decoder_fixed_size
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: decoder_i420_800_600
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 0
    functionsReached:
    - decoder_fixed_size
    linkageType: ''
    returnType: void
    signature: void decoder_i420_800_600(decoder_t *dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decoder_fixed_size
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: decoder_nv12_800_600
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 0
    functionsReached:
    - decoder_fixed_size
    linkageType: ''
    returnType: void
    signature: void decoder_nv12_800_600(decoder_t *dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_video_context_Create
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:76,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:78,1
    - Dst: decoder_i420_800_600
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dec
    argTypes:
    - decoder_t*
    assertStmts:
    - condition: (vctx)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: decoder_i420_800_600_vctx
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 0
    functionsReached:
    - decoder_i420_800_600
    - assert
    - vlc_video_context_Create
    linkageType: ''
    returnType: void
    signature: void decoder_i420_800_600_vctx(decoder_t *dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decoder_UpdateVideoOutput
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:85,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:86,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dec
    - pic
    argTypes:
    - decoder_t*
    - picture_t*
    assertStmts:
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: decoder_decode_dummy
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 0
    functionsReached:
    - assert
    - decoder_UpdateVideoOutput
    - decoder_QueueVideo
    linkageType: ''
    returnType: int
    signature: int decoder_decode_dummy(decoder_t *dec, picture_t *pic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: picture_context_destroy
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void picture_context_destroy(struct picture_context_t *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:98,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: picture_context_copy
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 0
    functionsReached:
    - malloc
    - vlc_video_context_Hold
    linkageType: ''
    returnType: struct picture_context_t
    signature: 'struct picture_context_t *

      picture_context_copy(struct picture_context_t *ctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:107,1
    - Dst: decoder_UpdateVideoOutput
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:110,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:111,1
    - Dst: malloc
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:113,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:114,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:117,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - dec
    - pic
    argTypes:
    - decoder_t*
    - picture_t*
    assertStmts:
    - condition: (vctx)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    - condition: (context)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    constantsTouched: []
    func_position:
      end: 122
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 122
    functionName: decoder_decode_vctx
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 0
    functionsReached:
    - assert
    - decoder_UpdateVideoOutput
    - vlc_video_context_Hold
    - decoder_QueueVideo
    - malloc
    linkageType: ''
    returnType: int
    signature: int decoder_decode_vctx(decoder_t *dec, picture_t *pic)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:133,1
    - Dst: decoder_decode_vctx
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - dec
    - pic
    argTypes:
    - decoder_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 144
    functionName: decoder_decode_vctx_update
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - decoder_decode_vctx
    linkageType: ''
    returnType: int
    signature: int decoder_decode_vctx_update(decoder_t *dec, picture_t *pic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: picture_Release
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dec
    - pic
    argTypes:
    - decoder_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: decoder_decode_error
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 0
    functionsReached:
    - picture_Release
    linkageType: ''
    returnType: int
    signature: int decoder_decode_error(decoder_t *dec, picture_t *pic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sem_post
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: wait_error_reported
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 0
    functionsReached:
    - vlc_sem_post
    linkageType: ''
    returnType: void
    signature: void wait_error_reported(sout_stream_t *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:162,1
    - Dst: msg_Info
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - enc
    - chroma
    - width
    - height
    argTypes:
    - encoder_t*
    - vlc_fourcc_t
    - unsigned
    - unsigned
    assertStmts:
    - condition: (!scenario_data.encoder_opened)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    constantsTouched: []
    func_position:
      end: 175
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 175
    functionName: encoder_fixed_size
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 0
    functionsReached:
    - msg_Info
    - assert
    linkageType: ''
    returnType: void
    signature: "void encoder_fixed_size(encoder_t *enc, vlc_fourcc_t chroma,\n        unsigned
      width, unsigned height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encoder_fixed_size
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enc
    argTypes:
    - encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 178
    functionName: encoder_i420_800_600
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 0
    functionsReached:
    - encoder_fixed_size
    linkageType: ''
    returnType: void
    signature: void encoder_i420_800_600(encoder_t *enc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encoder_fixed_size
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enc
    argTypes:
    - encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 181
    functionName: encoder_nv12_800_600
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 0
    functionsReached:
    - encoder_fixed_size
    linkageType: ''
    returnType: void
    signature: void encoder_nv12_800_600(encoder_t *enc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encoder_fixed_size
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:185,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:186,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - enc
    argTypes:
    - encoder_t*
    assertStmts:
    - condition: (enc->vctx_in == scenario_data.decoder_vctx)
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    - condition: (scenario_data.decoder_vctx != NULL)
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: encoder_i420_800_600_vctx
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 0
    functionsReached:
    - assert
    - encoder_fixed_size
    linkageType: ''
    returnType: void
    signature: void encoder_i420_800_600_vctx(encoder_t *enc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encoder_fixed_size
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:193,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - enc
    argTypes:
    - encoder_t*
    assertStmts:
    - condition: (enc->vctx_in == NULL)
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: encoder_nv12_800_600_no_vctx
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 0
    functionsReached:
    - assert
    - encoder_fixed_size
    linkageType: ''
    returnType: void
    signature: void encoder_nv12_800_600_no_vctx(encoder_t *enc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encoder_fixed_size
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:199,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - enc
    argTypes:
    - encoder_t*
    assertStmts:
    - condition: (enc->vctx_in == NULL)
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: encoder_i420_800_600_no_vctx
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 0
    functionsReached:
    - assert
    - encoder_fixed_size
    linkageType: ''
    returnType: void
    signature: void encoder_i420_800_600_no_vctx(encoder_t *enc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Info
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - enc
    - pic
    - out
    argTypes:
    - encoder_t*
    - picture_t*
    - vlc_frame_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 209
    functionName: encoder_encode_dummy
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 0
    functionsReached:
    - msg_Info
    linkageType: ''
    returnType: void
    signature: "void encoder_encode_dummy(encoder_t *enc, picture_t *pic,\n                                 vlc_frame_t
      *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 212
    functionName: STRINGIFY_
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRINGIFY_(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 213
    functionName: STRINGIFY
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRINGIFY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pic
    argTypes:
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: picture_stamp_destroy
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void picture_stamp_destroy(picture_t *pic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:236,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:237,1
    - Dst: picture_NewFromResource
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:245,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - dec
    - origin
    argTypes:
    - decoder_t*
    - enum test_output_origin
    assertStmts:
    - condition: (stamp != NULL)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    - condition: (pic != NULL)
      pos:
        line_end: 245
        line_start: 245
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    constantsTouched: []
    func_position:
      end: 248
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 248
    functionName: decoder_new_stamped_picture
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 0
    functionsReached:
    - assert
    - malloc
    - picture_NewFromResource
    linkageType: ''
    returnType: picture_t
    signature: "picture_t *decoder_new_stamped_picture(decoder_t *dec,\n                                              enum
      test_output_origin origin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decoder_UpdateVideoOutput
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:252,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:253,1
    - Dst: decoder_new_stamped_picture
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:256,1
    - Dst: picture_Release
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:258,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - dec
    - pic
    argTypes:
    - decoder_t*
    - picture_t*
    assertStmts:
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    constantsTouched: []
    func_position:
      end: 263
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 263
    functionName: decoder_decode_stamped
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 0
    functionsReached:
    - assert
    - decoder_UpdateVideoOutput
    - picture_Release
    - decoder_QueueVideo
    - decoder_new_stamped_picture
    linkageType: ''
    returnType: int
    signature: int decoder_decode_stamped(decoder_t *dec, picture_t *pic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decoder_new_stamped_picture
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:272,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 277
    functionName: decoder_drain_queue_held_frames
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 0
    functionsReached:
    - decoder_QueueVideo
    - decoder_new_stamped_picture
    linkageType: ''
    returnType: int
    signature: int decoder_drain_queue_held_frames(decoder_t *dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:285,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:286,1
    - Dst: memcpy
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:287,1
    - Dst: msg_Info
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - enc
    - pic
    - out
    argTypes:
    - encoder_t*
    - picture_t*
    - vlc_frame_t*
    assertStmts:
    - condition: (stamp != NULL)
      pos:
        line_end: 284
        line_start: 284
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    - condition: (out->i_buffer == sizeof *stamp)
      pos:
        line_end: 285
        line_start: 285
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    constantsTouched: []
    func_position:
      end: 289
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 289
    functionName: encoder_encode_stamped
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 0
    functionsReached:
    - msg_Info
    - assert
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void encoder_encode_stamped(encoder_t *enc, picture_t *pic,\n                                   vlc_frame_t
      *out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_frame_Alloc
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:306,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:307,1
    - Dst: memcpy
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:308,1
    - Dst: msg_Info
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - enc
    argTypes:
    - encoder_t*
    assertStmts:
    - condition: (out != NULL)
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    constantsTouched: []
    func_position:
      end: 312
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 312
    functionName: encoder_drain_held_frames
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 0
    functionsReached:
    - memcpy
    - vlc_frame_Alloc
    - assert
    - msg_Info
    linkageType: ''
    returnType: vlc_frame_t
    signature: vlc_frame_t *encoder_drain_held_frames(encoder_t *enc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:320,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:321,1
    - Dst: memcpy
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:322,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:325,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:333,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:336,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:337,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:341,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:343,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:352,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - out
    argTypes:
    - vlc_frame_t*
    assertStmts:
    - condition: (!scenario_data.drain_reported)
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    - condition: (out->i_buffer == sizeof output)
      pos:
        line_end: 320
        line_start: 320
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    - condition: (output.seq < DRAIN_ORDER_SOURCE_FRAME_COUNT)
      pos:
        line_end: 332
        line_start: 332
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    - condition: (output.seq == scenario_data.output_seq)
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    - condition: (output.seq >= DRAIN_ORDER_SOURCE_FRAME_COUNT)
      pos:
        line_end: 335
        line_start: 335
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    - condition: "(output.seq < DRAIN_ORDER_SOURCE_FRAME_COUNT\n                                  +
        DRAIN_ORDER_HELD_FRAME_COUNT)"
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    - condition: "(output.seq >= DRAIN_ORDER_SOURCE_FRAME_COUNT\n                                   +
        DRAIN_ORDER_HELD_FRAME_COUNT)"
      pos:
        line_end: 341
        line_start: 340
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    - condition: "(output.seq < DRAIN_ORDER_SOURCE_FRAME_COUNT\n                                  +
        DRAIN_ORDER_HELD_FRAME_COUNT\n                                  + DRAIN_ORDER_DRAINED_FRAME_COUNT)"
      pos:
        line_end: 344
        line_start: 342
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    constantsTouched: []
    func_position:
      end: 355
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 355
    functionName: report_output_in_decode_order
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 0
    functionsReached:
    - assert
    - memcpy
    - vlc_assert_unreachable
    linkageType: ''
    returnType: void
    signature: void report_output_in_decode_order(const vlc_frame_t *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - enc
    argTypes:
    - encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 361
    functionName: encoder_close
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void encoder_close(encoder_t *enc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encoder_close
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:365,1
    - Dst: vlc_sem_post
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - enc
    argTypes:
    - encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 370
    functionName: encoder_close_drain_order
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 0
    functionsReached:
    - encoder_close
    - vlc_sem_post
    linkageType: ''
    returnType: void
    signature: void encoder_close_drain_order(encoder_t *enc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sem_post
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - out
    argTypes:
    - vlc_frame_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 380
    functionName: wait_output_10_frames_reported
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 0
    functionsReached:
    - vlc_sem_post
    linkageType: ''
    returnType: void
    signature: void wait_output_10_frames_reported(const vlc_frame_t *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sem_post
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - out
    argTypes:
    - vlc_frame_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 386
    functionName: wait_output_reported
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 0
    functionsReached:
    - vlc_sem_post
    linkageType: ''
    returnType: void
    signature: void wait_output_reported(const vlc_frame_t *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:391,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:392,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:393,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:394,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:396,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:397,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:398,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:399,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:401,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 5
    argNames:
    - filter
    - chroma_in
    - chroma_out
    - width
    - height
    argTypes:
    - filter_t*
    - vlc_fourcc_t
    - vlc_fourcc_t
    - unsigned
    - unsigned
    assertStmts:
    - condition: (filter->fmt_in.video.i_width == width)
      pos:
        line_end: 390
        line_start: 390
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    - condition: (filter->fmt_out.video.i_width == width)
      pos:
        line_end: 395
        line_start: 395
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    - condition: (filter->fmt_in.video.i_visible_width == width)
      pos:
        line_end: 391
        line_start: 391
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    - condition: (filter->fmt_in.video.i_height == height)
      pos:
        line_end: 392
        line_start: 392
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    - condition: (filter->fmt_in.video.i_visible_height == height)
      pos:
        line_end: 393
        line_start: 393
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    - condition: (filter->fmt_out.video.i_visible_width == width)
      pos:
        line_end: 396
        line_start: 396
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    - condition: (filter->fmt_out.video.i_height == height)
      pos:
        line_end: 397
        line_start: 397
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    - condition: (filter->fmt_out.video.i_visible_height == height)
      pos:
        line_end: 398
        line_start: 398
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    - condition: (filter->fmt_in.video.i_chroma == chroma_in)
      pos:
        line_end: 400
        line_start: 400
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    - condition: (filter->fmt_out.video.i_chroma == chroma_out)
      pos:
        line_end: 401
        line_start: 401
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    constantsTouched: []
    func_position:
      end: 405
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 405
    functionName: converter_fixed_size
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void converter_fixed_size(filter_t *filter, vlc_fourcc_t chroma_in,\n
      \       vlc_fourcc_t chroma_out, unsigned width, unsigned height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: converter_fixed_size
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 408
    functionName: converter_i420_to_nv12_800_600
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 0
    functionsReached:
    - converter_fixed_size
    linkageType: ''
    returnType: void
    signature: void converter_i420_to_nv12_800_600(filter_t *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: converter_fixed_size
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 411
    functionName: converter_nv12_to_i420_800_600
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 0
    functionsReached:
    - converter_fixed_size
    linkageType: ''
    returnType: void
    signature: void converter_nv12_to_i420_800_600(filter_t *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: converter_fixed_size
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:415,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: (filter->vctx_in == scenario_data.decoder_vctx)
      pos:
        line_end: 415
        line_start: 415
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    constantsTouched: []
    func_position:
      end: 417
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 417
    functionName: converter_nv12_to_i420_800_600_vctx
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 0
    functionsReached:
    - assert
    - converter_fixed_size
    linkageType: ''
    returnType: void
    signature: void converter_nv12_to_i420_800_600_vctx(filter_t *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: converter_fixed_size
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:421,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: (filter->vctx_in == scenario_data.decoder_vctx)
      pos:
        line_end: 421
        line_start: 421
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    constantsTouched: []
    func_position:
      end: 423
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 423
    functionName: converter_i420_to_nv12_800_600_vctx
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 0
    functionsReached:
    - assert
    - converter_fixed_size
    linkageType: ''
    returnType: void
    signature: void converter_i420_to_nv12_800_600_vctx(filter_t *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sem_init
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 565
    functionName: transcode_scenario_init
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 1
    functionsReached:
    - vlc_sem_init
    linkageType: ''
    returnType: void
    signature: void transcode_scenario_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sem_wait
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - scenario
    argTypes:
    - struct transcode_scenario*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 571
    functionName: transcode_scenario_wait
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 1
    functionsReached:
    - vlc_sem_wait
    linkageType: ''
    returnType: void
    signature: void transcode_scenario_wait(struct transcode_scenario *scenario)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:576,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:579,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:582,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:587,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:588,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:589,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/transcode_scenarios.c:595,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - scenario
    argTypes:
    - struct transcode_scenario*
    assertStmts:
    - condition: (scenario_data.converter_opened)
      pos:
        line_end: 575
        line_start: 575
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    - condition: (scenario_data.encoder_closed)
      pos:
        line_end: 581
        line_start: 581
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    - condition: (scenario_data.drain_reported)
      pos:
        line_end: 587
        line_start: 587
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    - condition: (scenario_data.encoder_opened)
      pos:
        line_end: 578
        line_start: 578
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    - condition: (scenario_data.drained_count == DRAIN_ORDER_DRAINED_FRAME_COUNT)
      pos:
        line_end: 586
        line_start: 586
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    - condition: "(scenario_data.decode_seq == DRAIN_ORDER_SOURCE_FRAME_COUNT\n                                         +
        DRAIN_ORDER_HELD_FRAME_COUNT)"
      pos:
        line_end: 589
        line_start: 588
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    - condition: "(scenario_data.output_seq == scenario_data.decode_seq\n                                         +
        DRAIN_ORDER_DRAINED_FRAME_COUNT)"
      pos:
        line_end: 595
        line_start: 594
        source_file: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    constantsTouched: []
    func_position:
      end: 598
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 598
    functionName: transcode_scenario_check
    functionSourceFile: /src/vlc/test/modules/stream_out/transcode_scenarios.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void transcode_scenario_check(struct transcode_scenario *scenario)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - device
    argTypes:
    - struct vlc_decoder_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: DecoderDeviceClose
    functionSourceFile: /src/vlc/test/modules/stream_out/sdi.cpp
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void DecoderDeviceClose(struct vlc_decoder_device *device)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - device
    - window
    argTypes:
    - struct vlc_decoder_device*
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: OpenDecoderDevice
    functionSourceFile: /src/vlc/test/modules/stream_out/sdi.cpp
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int OpenDecoderDevice(struct vlc_decoder_device *device,\n                             vlc_window_t
      *window)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:72,1
    - Dst: vlc_frame_Release
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dec
    - frame
    argTypes:
    - decoder_t*
    - vlc_frame_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: DecoderDecode
    functionSourceFile: /src/vlc/test/modules/stream_out/sdi.cpp
    functionUses: 0
    functionsReached:
    - vlc_frame_Release
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int DecoderDecode(decoder_t *dec, vlc_frame_t *frame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<decoder_t *>
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:80,1
    - Dst: static_cast<dec_fmt*>
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:81,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:85,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: (dec->fmt_in->i_cat == VIDEO_ES || dec->fmt_in->i_cat == AUDIO_ES)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/vlc/test/modules/stream_out/sdi.cpp
    - condition: (dec->fmt_in->i_codec == sys->codec)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/vlc/test/modules/stream_out/sdi.cpp
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: CloseDecoder
    functionSourceFile: /src/vlc/test/modules/stream_out/sdi.cpp
    functionUses: 0
    functionsReached:
    - assert
    - static_cast<dec_fmt*>
    - reinterpret_cast<decoder_t *>
    linkageType: ''
    returnType: void
    signature: void CloseDecoder(vlc_object_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<decoder_t *>
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:94,1
    - Dst: decoder_GetDecoderDevice
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:100,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:101,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:102,1
    - Dst: es_format_Clean
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:105,1
    - Dst: es_format_Copy
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:106,1
    - Dst: dec_fmt::dec_fmt
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:110,1
    - Dst: reinterpret_cast<void *>
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: (dev != NULL)
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/vlc/test/modules/stream_out/sdi.cpp
    constantsTouched: []
    func_position:
      end: 117
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 117
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/test/modules/stream_out/sdi.cpp
    functionUses: 0
    functionsReached:
    - decoder_GetDecoderDevice
    - assert
    - es_format_Clean
    - vlc_decoder_device_Release
    - dec_fmt::dec_fmt
    - reinterpret_cast<decoder_t *>
    - es_format_Copy
    - reinterpret_cast<void *>
    linkageType: ''
    returnType: int
    signature: int OpenDecoder(vlc_object_t *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<sdi_sout::PictureStreamOutputBuffer>
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:130,1
    - Dst: std::make_unique<sdi_sout::VideoDecodedStream>
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:131,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:131,1
    - Dst: es_format_Init
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:133,1
    - Dst: std::make_unique<sdi_sout::BlockStreamOutputBuffer>
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:140,1
    - Dst: std::make_unique<sdi_sout::AudioDecodedStream>
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:141,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:141,1
    - Dst: es_format_Init
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:143,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:147,1
    - Dst: std::unique_ptr::setOutputFormat
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:150,1
    - Dst: es_format_Clean
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:151,1
    - Dst: es_format_Init
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:154,1
    - Dst: std::unique_ptr::init
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:169,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:170,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:171,1
    - Dst: std::unique_ptr::reset
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:174,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:175,1
    - Dst: es_format_Clean
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:177,1
    - Dst: std::unique_ptr::reset
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 3
    argNames:
    - obj
    - i_codec
    - i_cat
    argTypes:
    - vlc_object_t*
    - vlc_fourcc_t
    - es_format_category_e
    assertStmts:
    - condition: (decoder_closed == closed + 1)
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/vlc/test/modules/stream_out/sdi.cpp
    - condition: (success)
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/vlc/test/modules/stream_out/sdi.cpp
    - condition: (decoder_opened == opened + 1)
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/vlc/test/modules/stream_out/sdi.cpp
    constantsTouched: []
    func_position:
      end: 179
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 179
    functionName: test_decoded_stream
    functionSourceFile: /src/vlc/test/modules/stream_out/sdi.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<sdi_sout::BlockStreamOutputBuffer>
    - aout_FormatPrepare
    - std::make_unique<sdi_sout::VideoDecodedStream>
    - assert
    - std::unique_ptr::reset
    - std::make_unique<sdi_sout::AudioDecodedStream>
    - es_format_Clean
    - std::unique_ptr::setOutputFormat
    - std::make_unique<sdi_sout::PictureStreamOutputBuffer>
    - es_format_Init
    - std::unique_ptr::get
    - std::unique_ptr::init
    linkageType: ''
    returnType: void
    signature: "void test_decoded_stream(vlc_object_t *obj, vlc_fourcc_t i_codec,\n
      \                               es_format_category_e i_cat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:201,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:201,1
    - Dst: test_init
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:202,1
    - Dst: libvlc_new
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:209,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:209,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:210,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:212,1
    - Dst: test_decoded_stream
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:213,1
    - Dst: test_decoded_stream
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:214,1
    - Dst: libvlc_release
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:216,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:217,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/sdi.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (vlc != NULL)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/vlc/test/modules/stream_out/sdi.cpp
    - condition: (decoder_opened == 2)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/vlc/test/modules/stream_out/sdi.cpp
    - condition: (decoder_closed == 2)
      pos:
        line_end: 217
        line_start: 217
        source_file: /src/vlc/test/modules/stream_out/sdi.cpp
    constantsTouched: []
    func_position:
      end: 220
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 220
    functionName: main
    functionSourceFile: /src/vlc/test/modules/stream_out/sdi.cpp
    functionUses: 0
    functionsReached:
    - libvlc_release
    - assert
    - ARRAY_SIZE
    - test_init
    - libvlc_new
    - VLC_OBJECT
    - test_decoded_stream
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:50,1
    - Dst: struct test_scenario*::report_sub
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:52,1
    - Dst: block_ChainRelease
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - access
    - block
    argTypes:
    - sout_access_out_t*
    - block_t*
    assertStmts:
    - condition: (block->p_next == NULL)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: AccessOutWrite
    functionSourceFile: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    functionUses: 0
    functionsReached:
    - block_ChainRelease
    - assert
    - struct test_scenario*::report_sub
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t AccessOutWrite(sout_access_out_t *access, block_t *block)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_create
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:62,1
    - Dst: unlikely
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:63,1
    - Dst: strdup
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:66,1
    - Dst: unlikely
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:67,1
    - Dst: vlc_object_delete
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - parent
    - cb
    argTypes:
    - vlc_object_t*
    - struct test_scenario*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 83
    functionName: CreateAccessOut
    functionSourceFile: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    functionUses: 0
    functionsReached:
    - unlikely
    - strdup
    - vlc_object_create
    - vlc_object_delete
    linkageType: ''
    returnType: sout_access_out_t
    signature: "sout_access_out_t *CreateAccessOut(vlc_object_t *parent,\n                                          const
      struct test_scenario *cb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:88,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:89,1
    - Dst: vlc_frame_heap_Alloc
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:91,1
    - Dst: strlen
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - text
    - start
    - stop
    argTypes:
    - char*
    - vlc_tick_t
    - vlc_tick_t
    assertStmts:
    - condition: (owned_txt != NULL)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    constantsTouched: []
    func_position:
      end: 98
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 98
    functionName: make_spu
    functionSourceFile: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    functionUses: 0
    functionsReached:
    - vlc_frame_heap_Alloc
    - strlen
    - assert
    - strdup
    linkageType: ''
    returnType: vlc_frame_t
    signature: 'vlc_frame_t *

      make_spu(const char *text, vlc_tick_t start, vlc_tick_t stop)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_spu
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - text
    - start
    argTypes:
    - char*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: make_ephemer_spu
    functionSourceFile: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    functionUses: 0
    functionsReached:
    - make_spu
    linkageType: ''
    returnType: vlc_frame_t
    signature: vlc_frame_t *make_ephemer_spu(const char *text, vlc_tick_t start)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_spu
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:110,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:110,1
    - Dst: sout_MuxSendBuffer
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:111,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mux
    - input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts:
    - condition: (status == VLC_SUCCESS)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: send_no_split
    functionSourceFile: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    functionUses: 0
    functionsReached:
    - VLC_TICK_FROM_SEC
    - make_spu
    - assert
    - sout_MuxSendBuffer
    linkageType: ''
    returnType: void
    signature: void send_no_split(sout_mux_t *mux, sout_input_t *input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_spu
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:124,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:124,1
    - Dst: sout_MuxSendBuffer
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:125,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mux
    - input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts:
    - condition: (status == VLC_SUCCESS)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: send_one_split
    functionSourceFile: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    functionUses: 0
    functionsReached:
    - VLC_TICK_FROM_SEC
    - make_spu
    - assert
    - sout_MuxSendBuffer
    linkageType: ''
    returnType: void
    signature: void send_one_split(sout_mux_t *mux, sout_input_t *input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_spu
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:148,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:148,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:148,1
    - Dst: sout_MuxSendBuffer
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:149,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mux
    - input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts:
    - condition: (status == VLC_SUCCESS)
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: send_five_splits
    functionSourceFile: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    functionUses: 0
    functionsReached:
    - make_spu
    - assert
    - sout_MuxSendBuffer
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: void
    signature: void send_five_splits(sout_mux_t *mux, sout_input_t *input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:160,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:161,1
    - Dst: hls_sub_segmenter_SignalStreamUpdate
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - mux
    - input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 166
    functionName: send_nothing_for_five_sec
    functionSourceFile: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    functionUses: 0
    functionsReached:
    - VLC_TICK_FROM_MS
    - hls_sub_segmenter_SignalStreamUpdate
    linkageType: ''
    returnType: void
    signature: void send_nothing_for_five_sec(sout_mux_t *mux, sout_input_t *input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:184,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:185,1
    - Dst: hls_sub_segmenter_SignalStreamUpdate
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:187,1
    - Dst: make_spu
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:191,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:191,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:191,1
    - Dst: sout_MuxSendBuffer
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:192,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:193,1
    - Dst: make_spu
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:195,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:196,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:196,1
    - Dst: sout_MuxSendBuffer
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:197,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - mux
    - input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts:
    - condition: (status == VLC_SUCCESS)
      pos:
        line_end: 192
        line_start: 192
        source_file: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    - condition: (status == VLC_SUCCESS)
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    constantsTouched: []
    func_position:
      end: 199
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 199
    functionName: send_begin_hole
    functionSourceFile: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    functionUses: 0
    functionsReached:
    - assert
    - make_spu
    - VLC_TICK_FROM_MS
    - hls_sub_segmenter_SignalStreamUpdate
    - sout_MuxSendBuffer
    linkageType: ''
    returnType: void
    signature: void send_begin_hole(sout_mux_t *mux, sout_input_t *input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_spu
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:218,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:218,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:218,1
    - Dst: sout_MuxSendBuffer
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:219,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:220,1
    - Dst: make_spu
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:223,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:223,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:223,1
    - Dst: sout_MuxSendBuffer
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:224,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:225,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:227,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:228,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:229,1
    - Dst: hls_sub_segmenter_SignalStreamUpdate
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:231,1
    - Dst: make_spu
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:234,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:235,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:235,1
    - Dst: sout_MuxSendBuffer
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:236,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - mux
    - input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts:
    - condition: (status == VLC_SUCCESS)
      pos:
        line_end: 219
        line_start: 219
        source_file: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    - condition: (status == VLC_SUCCESS)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    - condition: (status == VLC_SUCCESS)
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    constantsTouched: []
    func_position:
      end: 238
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 238
    functionName: send_middle_hole
    functionSourceFile: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    functionUses: 0
    functionsReached:
    - assert
    - make_spu
    - VLC_TICK_FROM_MS
    - hls_sub_segmenter_SignalStreamUpdate
    - sout_MuxSendBuffer
    linkageType: ''
    returnType: void
    signature: void send_middle_hole(sout_mux_t *mux, sout_input_t *input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_spu
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:255,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:255,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:255,1
    - Dst: sout_MuxSendBuffer
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:256,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:257,1
    - Dst: make_spu
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:260,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:260,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:260,1
    - Dst: sout_MuxSendBuffer
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:261,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:262,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:264,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:265,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:266,1
    - Dst: hls_sub_segmenter_SignalStreamUpdate
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - mux
    - input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts:
    - condition: (status == VLC_SUCCESS)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    - condition: (status == VLC_SUCCESS)
      pos:
        line_end: 261
        line_start: 261
        source_file: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    constantsTouched: []
    func_position:
      end: 270
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 270
    functionName: send_end_hole
    functionSourceFile: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    functionUses: 0
    functionsReached:
    - assert
    - make_spu
    - VLC_TICK_FROM_MS
    - hls_sub_segmenter_SignalStreamUpdate
    - sout_MuxSendBuffer
    linkageType: ''
    returnType: void
    signature: void send_end_hole(sout_mux_t *mux, sout_input_t *input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_ephemer_spu
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:288,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:288,1
    - Dst: sout_MuxSendBuffer
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:289,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:290,1
    - Dst: make_ephemer_spu
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:292,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:292,1
    - Dst: sout_MuxSendBuffer
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:293,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:294,1
    - Dst: hls_sub_segmenter_SignalStreamUpdate
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:295,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:296,1
    - Dst: make_ephemer_spu
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:298,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:298,1
    - Dst: sout_MuxSendBuffer
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:299,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:300,1
    - Dst: hls_sub_segmenter_SignalStreamUpdate
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:301,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:302,1
    - Dst: make_ephemer_spu
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:304,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:304,1
    - Dst: sout_MuxSendBuffer
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:305,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:306,1
    - Dst: hls_sub_segmenter_SignalStreamUpdate
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:307,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:308,1
    - Dst: hls_sub_segmenter_SignalStreamUpdate
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:310,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - mux
    - input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts:
    - condition: (status == VLC_SUCCESS)
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    - condition: (status == VLC_SUCCESS)
      pos:
        line_end: 299
        line_start: 299
        source_file: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    - condition: (status == VLC_SUCCESS)
      pos:
        line_end: 289
        line_start: 289
        source_file: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    - condition: (status == VLC_SUCCESS)
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    constantsTouched: []
    func_position:
      end: 312
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 312
    functionName: send_ephemer_no_split
    functionSourceFile: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    functionUses: 0
    functionsReached:
    - assert
    - make_ephemer_spu
    - VLC_TICK_FROM_MS
    - hls_sub_segmenter_SignalStreamUpdate
    - sout_MuxSendBuffer
    linkageType: ''
    returnType: void
    signature: void send_ephemer_no_split(sout_mux_t *mux, sout_input_t *input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_ephemer_spu
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:332,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:332,1
    - Dst: sout_MuxSendBuffer
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:333,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:334,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:336,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:337,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:338,1
    - Dst: hls_sub_segmenter_SignalStreamUpdate
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - mux
    - input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts:
    - condition: (status == VLC_SUCCESS)
      pos:
        line_end: 333
        line_start: 333
        source_file: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    constantsTouched: []
    func_position:
      end: 342
      start: 330
    functionDepth: 3
    functionLinenumber: 330
    functionLinenumberEnd: 342
    functionName: send_long_ephemer
    functionSourceFile: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    functionUses: 0
    functionsReached:
    - assert
    - make_ephemer_spu
    - VLC_TICK_FROM_MS
    - hls_sub_segmenter_SignalStreamUpdate
    - sout_MuxSendBuffer
    linkageType: ''
    returnType: void
    signature: void send_long_ephemer(sout_mux_t *mux, sout_input_t *input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:350,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sub
    argTypes:
    - block_t*
    assertStmts:
    - condition: (cmp == 0)
      pos:
        line_end: 350
        line_start: 350
        source_file: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    constantsTouched: []
    func_position:
      end: 353
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 353
    functionName: default_report
    functionSourceFile: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    functionUses: 0
    functionsReached:
    - strncmp
    - assert
    linkageType: ''
    returnType: void
    signature: void default_report(block_t *sub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:414,1
    - Dst: CreateAccessOut
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:417,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:418,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:419,1
    - Dst: CreateSubtitleSegmenter
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:424,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:425,1
    - Dst: es_format_Init
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:428,1
    - Dst: sout_MuxAddStream
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:429,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:430,1
    - Dst: send_sub
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:435,1
    - Dst: sout_MuxDeleteStream
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:437,1
    - Dst: assert
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:439,1
    - Dst: strlen
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:440,1
    - Dst: sout_MuxDelete
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:442,1
    - Dst: sout_AccessOutDelete
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - instance
    argTypes:
    - libvlc_instance_t*
    assertStmts:
    - condition: (access != NULL)
      pos:
        line_end: 418
        line_start: 418
        source_file: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    - condition: (mux != NULL)
      pos:
        line_end: 424
        line_start: 424
        source_file: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    - condition: (input != NULL)
      pos:
        line_end: 429
        line_start: 429
        source_file: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    - condition: "(CURRENT_SCENARIO->bytes_reported ==\n               strlen(CURRENT_SCENARIO->expected))"
      pos:
        line_end: 439
        line_start: 438
        source_file: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    constantsTouched: []
    func_position:
      end: 445
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 445
    functionName: RunTests
    functionSourceFile: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    functionUses: 0
    functionsReached:
    - assert
    - sout_MuxDeleteStream
    - ARRAY_SIZE
    - sout_MuxAddStream
    - strlen
    - CreateSubtitleSegmenter
    - CreateAccessOut
    - VLC_OBJECT
    - es_format_Init
    - sout_MuxDelete
    - sout_AccessOutDelete
    - send_sub
    linkageType: ''
    returnType: void
    signature: void RunTests(libvlc_instance_t *instance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:449,1
    - Dst: libvlc_new
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:454,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:454,1
    - Dst: RunTests
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:458,1
    - Dst: libvlc_release
      Src: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 447
    functionDepth: 2
    functionLinenumber: 447
    functionLinenumberEnd: 461
    functionName: main
    functionSourceFile: /src/vlc/test/modules/stream_out/hls/subtitles_segmenter.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - ARRAY_SIZE
    - test_init
    - libvlc_new
    - RunTests
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/modules/mux/webvtt.c:49,1
    - Dst: struct test_scenario*::report_sub
      Src: /src/vlc/test/modules/mux/webvtt.c:51,1
    - Dst: block_ChainRelease
      Src: /src/vlc/test/modules/mux/webvtt.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - access
    - block
    argTypes:
    - sout_access_out_t*
    - block_t*
    assertStmts:
    - condition: (block->p_next == NULL)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/vlc/test/modules/mux/webvtt.c
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: AccessOutWrite
    functionSourceFile: /src/vlc/test/modules/mux/webvtt.c
    functionUses: 0
    functionsReached:
    - block_ChainRelease
    - assert
    - struct test_scenario*::report_sub
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t AccessOutWrite(sout_access_out_t *access, block_t *block)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_create
      Src: /src/vlc/test/modules/mux/webvtt.c:61,1
    - Dst: unlikely
      Src: /src/vlc/test/modules/mux/webvtt.c:62,1
    - Dst: strdup
      Src: /src/vlc/test/modules/mux/webvtt.c:65,1
    - Dst: unlikely
      Src: /src/vlc/test/modules/mux/webvtt.c:66,1
    - Dst: vlc_object_delete
      Src: /src/vlc/test/modules/mux/webvtt.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - parent
    - cb
    argTypes:
    - vlc_object_t*
    - struct test_scenario*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 82
    functionName: CreateAccessOut
    functionSourceFile: /src/vlc/test/modules/mux/webvtt.c
    functionUses: 1
    functionsReached:
    - unlikely
    - strdup
    - vlc_object_create
    - vlc_object_delete
    linkageType: ''
    returnType: sout_access_out_t
    signature: "sout_access_out_t *CreateAccessOut(vlc_object_t *parent,\n                                          const
      struct test_scenario *cb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/mux/webvtt.c:86,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/mux/webvtt.c:87,1
    - Dst: strdup
      Src: /src/vlc/test/modules/mux/webvtt.c:89,1
    - Dst: assert
      Src: /src/vlc/test/modules/mux/webvtt.c:90,1
    - Dst: vlc_frame_heap_Alloc
      Src: /src/vlc/test/modules/mux/webvtt.c:92,1
    - Dst: strlen
      Src: /src/vlc/test/modules/mux/webvtt.c:92,1
    - Dst: assert
      Src: /src/vlc/test/modules/mux/webvtt.c:93,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/test/modules/mux/webvtt.c:94,1
    - Dst: sout_MuxSendBuffer
      Src: /src/vlc/test/modules/mux/webvtt.c:96,1
    - Dst: assert
      Src: /src/vlc/test/modules/mux/webvtt.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - mux
    - input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts:
    - condition: (txt != NULL)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/vlc/test/modules/mux/webvtt.c
    - condition: (spu != NULL)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/vlc/test/modules/mux/webvtt.c
    - condition: (status == VLC_SUCCESS)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/vlc/test/modules/mux/webvtt.c
    constantsTouched: []
    func_position:
      end: 99
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 99
    functionName: send_basic
    functionSourceFile: /src/vlc/test/modules/mux/webvtt.c
    functionUses: 0
    functionsReached:
    - assert
    - strdup
    - strlen
    - VLC_TICK_FROM_SEC
    - vlc_frame_heap_Alloc
    - VLC_TICK_FROM_MS
    - sout_MuxSendBuffer
    linkageType: ''
    returnType: void
    signature: void send_basic(sout_mux_t *mux, sout_input_t *input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/mux/webvtt.c:103,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/modules/mux/webvtt.c:104,1
    - Dst: strdup
      Src: /src/vlc/test/modules/mux/webvtt.c:106,1
    - Dst: assert
      Src: /src/vlc/test/modules/mux/webvtt.c:107,1
    - Dst: vlc_frame_heap_Alloc
      Src: /src/vlc/test/modules/mux/webvtt.c:109,1
    - Dst: strlen
      Src: /src/vlc/test/modules/mux/webvtt.c:109,1
    - Dst: assert
      Src: /src/vlc/test/modules/mux/webvtt.c:110,1
    - Dst: sout_MuxSendBuffer
      Src: /src/vlc/test/modules/mux/webvtt.c:113,1
    - Dst: assert
      Src: /src/vlc/test/modules/mux/webvtt.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - mux
    - input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts:
    - condition: (txt != NULL)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/vlc/test/modules/mux/webvtt.c
    - condition: (spu != NULL)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/vlc/test/modules/mux/webvtt.c
    - condition: (status == VLC_SUCCESS)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/vlc/test/modules/mux/webvtt.c
    constantsTouched: []
    func_position:
      end: 116
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 116
    functionName: send_ephemer
    functionSourceFile: /src/vlc/test/modules/mux/webvtt.c
    functionUses: 0
    functionsReached:
    - assert
    - strdup
    - strlen
    - vlc_frame_heap_Alloc
    - VLC_TICK_FROM_MS
    - sout_MuxSendBuffer
    linkageType: ''
    returnType: void
    signature: void send_ephemer(sout_mux_t *mux, sout_input_t *input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/vlc/test/modules/mux/webvtt.c:124,1
    - Dst: assert
      Src: /src/vlc/test/modules/mux/webvtt.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sub
    argTypes:
    - block_t*
    assertStmts:
    - condition: (cmp == 0)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/vlc/test/modules/mux/webvtt.c
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: default_report
    functionSourceFile: /src/vlc/test/modules/mux/webvtt.c
    functionUses: 0
    functionsReached:
    - strncmp
    - assert
    linkageType: ''
    returnType: void
    signature: void default_report(block_t *sub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/mux/webvtt.c:164,1
    - Dst: CreateAccessOut
      Src: /src/vlc/test/modules/mux/webvtt.c:167,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/test/modules/mux/webvtt.c:168,1
    - Dst: assert
      Src: /src/vlc/test/modules/mux/webvtt.c:169,1
    - Dst: sout_MuxNew
      Src: /src/vlc/test/modules/mux/webvtt.c:171,1
    - Dst: assert
      Src: /src/vlc/test/modules/mux/webvtt.c:172,1
    - Dst: es_format_Init
      Src: /src/vlc/test/modules/mux/webvtt.c:175,1
    - Dst: sout_MuxAddStream
      Src: /src/vlc/test/modules/mux/webvtt.c:176,1
    - Dst: assert
      Src: /src/vlc/test/modules/mux/webvtt.c:177,1
    - Dst: send_sub
      Src: /src/vlc/test/modules/mux/webvtt.c:182,1
    - Dst: assert
      Src: /src/vlc/test/modules/mux/webvtt.c:184,1
    - Dst: strlen
      Src: /src/vlc/test/modules/mux/webvtt.c:185,1
    - Dst: sout_MuxDeleteStream
      Src: /src/vlc/test/modules/mux/webvtt.c:187,1
    - Dst: sout_MuxDelete
      Src: /src/vlc/test/modules/mux/webvtt.c:188,1
    - Dst: sout_AccessOutDelete
      Src: /src/vlc/test/modules/mux/webvtt.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - instance
    argTypes:
    - libvlc_instance_t*
    assertStmts:
    - condition: (access != NULL)
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/vlc/test/modules/mux/webvtt.c
    - condition: (mux != NULL)
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/vlc/test/modules/mux/webvtt.c
    - condition: (input != NULL)
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/vlc/test/modules/mux/webvtt.c
    - condition: "(CURRENT_SCENARIO->bytes_reported ==\n               strlen(CURRENT_SCENARIO->expected))"
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/vlc/test/modules/mux/webvtt.c
    constantsTouched: []
    func_position:
      end: 191
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 191
    functionName: RunTests
    functionSourceFile: /src/vlc/test/modules/mux/webvtt.c
    functionUses: 1
    functionsReached:
    - sout_MuxNew
    - assert
    - ARRAY_SIZE
    - sout_MuxAddStream
    - sout_MuxDeleteStream
    - strlen
    - CreateAccessOut
    - VLC_OBJECT
    - es_format_Init
    - sout_MuxDelete
    - sout_AccessOutDelete
    - send_sub
    linkageType: ''
    returnType: void
    signature: void RunTests(libvlc_instance_t *instance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/modules/mux/webvtt.c:195,1
    - Dst: libvlc_new
      Src: /src/vlc/test/modules/mux/webvtt.c:200,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/mux/webvtt.c:200,1
    - Dst: RunTests
      Src: /src/vlc/test/modules/mux/webvtt.c:204,1
    - Dst: libvlc_release
      Src: /src/vlc/test/modules/mux/webvtt.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 207
    functionName: main
    functionSourceFile: /src/vlc/test/modules/mux/webvtt.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - ARRAY_SIZE
    - test_init
    - libvlc_new
    - RunTests
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: ASSERT
    functionSourceFile: /src/vlc/test/modules/demux/timestamps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TimeStampWrapAround
      Src: /src/vlc/test/modules/demux/timestamps.c:39,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/timestamps.c:40,1
    - Dst: TimeStampWrapAround
      Src: /src/vlc/test/modules/demux/timestamps.c:43,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/timestamps.c:44,1
    - Dst: TimeStampWrapAround
      Src: /src/vlc/test/modules/demux/timestamps.c:48,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/timestamps.c:49,1
    - Dst: TimeStampWrapAround
      Src: /src/vlc/test/modules/demux/timestamps.c:52,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/timestamps.c:53,1
    - Dst: TimeStampWrapAround
      Src: /src/vlc/test/modules/demux/timestamps.c:56,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/timestamps.c:57,1
    - Dst: TimeStampWrapAround
      Src: /src/vlc/test/modules/demux/timestamps.c:60,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/timestamps.c:61,1
    - Dst: TimeStampWrapAround
      Src: /src/vlc/test/modules/demux/timestamps.c:64,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/timestamps.c:65,1
    - Dst: TimeStampWrapAround
      Src: /src/vlc/test/modules/demux/timestamps.c:69,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/timestamps.c:70,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/timestamps.c:71,1
    - Dst: TimeStampWrapAround
      Src: /src/vlc/test/modules/demux/timestamps.c:74,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/timestamps.c:75,1
    - Dst: TimeStampWrapAround
      Src: /src/vlc/test/modules/demux/timestamps.c:78,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/timestamps.c:79,1
    - Dst: TimeStampWrapAround
      Src: /src/vlc/test/modules/demux/timestamps.c:82,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/timestamps.c:83,1
    - Dst: TimeStampWrapAround
      Src: /src/vlc/test/modules/demux/timestamps.c:87,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/timestamps.c:88,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/timestamps.c:89,1
    - Dst: TimeStampWrapAround
      Src: /src/vlc/test/modules/demux/timestamps.c:92,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/timestamps.c:93,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/timestamps.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 97
    functionName: main
    functionSourceFile: /src/vlc/test/modules/demux/timestamps.c
    functionUses: 0
    functionsReached:
    - TimeStampWrapAround
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/test/modules/demux/json.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - opaque
    - buf
    - max
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: json_read
    functionSourceFile: /src/vlc/test/modules/demux/json.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t json_read(void *opaque, void *buf, size_t max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/test/modules/demux/json.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - opaque
    - msg
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: json_parse_error
    functionSourceFile: /src/vlc/test/modules/demux/json.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void json_parse_error(void *opaque, const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/test/modules/demux/json.c:59,1
    - Dst: json_parse
      Src: /src/vlc/test/modules/demux/json.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - doc
    - obj
    argTypes:
    - char*
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: parse
    functionSourceFile: /src/vlc/test/modules/demux/json.c
    functionUses: 4
    functionsReached:
    - json_parse
    - strlen
    linkageType: ''
    returnType: int
    signature: int parse(const char *doc, struct json_object *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/modules/demux/json.c:70,1
    - Dst: asprintf
      Src: /src/vlc/test/modules/demux/json.c:70,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/json.c:73,1
    - Dst: parse
      Src: /src/vlc/test/modules/demux/json.c:73,1
    - Dst: json_get_str
      Src: /src/vlc/test/modules/demux/json.c:75,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/json.c:76,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/demux/json.c:78,1
    - Dst: fprintf
      Src: /src/vlc/test/modules/demux/json.c:79,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/json.c:81,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/demux/json.c:81,1
    - Dst: json_free
      Src: /src/vlc/test/modules/demux/json.c:83,1
    - Dst: free
      Src: /src/vlc/test/modules/demux/json.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - escaped
    - expected
    argTypes:
    - char*
    - char*
    assertStmts:
    - condition: '(asprintf(&doc, "{ \"v\": \"%s\" }", escaped) >= 0)'
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/vlc/test/modules/demux/json.c
    - condition: (parse(doc, &obj) == 0)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/vlc/test/modules/demux/json.c
    - condition: (value != NULL)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/vlc/test/modules/demux/json.c
    - condition: (strcmp(value, expected) == 0)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/vlc/test/modules/demux/json.c
    constantsTouched: []
    func_position:
      end: 85
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 85
    functionName: assert_unescapes_to
    functionSourceFile: /src/vlc/test/modules/demux/json.c
    functionUses: 0
    functionsReached:
    - json_get_str
    - asprintf
    - assert
    - fprintf
    - json_free
    - free
    - strcmp
    - parse
    linkageType: ''
    returnType: void
    signature: void assert_unescapes_to(const char *escaped, const char *expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_unescapes_to
      Src: /src/vlc/test/modules/demux/json.c:89,1
    - Dst: assert_unescapes_to
      Src: /src/vlc/test/modules/demux/json.c:90,1
    - Dst: assert_unescapes_to
      Src: /src/vlc/test/modules/demux/json.c:91,1
    - Dst: assert_unescapes_to
      Src: /src/vlc/test/modules/demux/json.c:92,1
    - Dst: assert_unescapes_to
      Src: /src/vlc/test/modules/demux/json.c:93,1
    - Dst: assert_unescapes_to
      Src: /src/vlc/test/modules/demux/json.c:94,1
    - Dst: assert_unescapes_to
      Src: /src/vlc/test/modules/demux/json.c:95,1
    - Dst: assert_unescapes_to
      Src: /src/vlc/test/modules/demux/json.c:96,1
    - Dst: assert_unescapes_to
      Src: /src/vlc/test/modules/demux/json.c:99,1
    - Dst: assert_unescapes_to
      Src: /src/vlc/test/modules/demux/json.c:100,1
    - Dst: assert_unescapes_to
      Src: /src/vlc/test/modules/demux/json.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 102
    functionName: test_two_character_escapes
    functionSourceFile: /src/vlc/test/modules/demux/json.c
    functionUses: 0
    functionsReached:
    - assert_unescapes_to
    linkageType: ''
    returnType: void
    signature: void test_two_character_escapes(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_two_character_escapes
      Src: /src/vlc/test/modules/demux/json.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: main
    functionSourceFile: /src/vlc/test/modules/demux/json.c
    functionUses: 0
    functionsReached:
    - test_two_character_escapes
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/modules/demux/ts_pes.c:37,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/modules/demux/ts_pes.c:38,1
    - Dst: fprintf
      Src: /src/vlc/test/modules/demux/ts_pes.c:40,1
    - Dst: block_ChainGather
      Src: /src/vlc/test/modules/demux/ts_pes.c:41,1
    - Dst: fprintf
      Src: /src/vlc/test/modules/demux/ts_pes.c:44,1
    - Dst: fprintf
      Src: /src/vlc/test/modules/demux/ts_pes.c:45,1
    - Dst: block_ChainAppend
      Src: /src/vlc/test/modules/demux/ts_pes.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - obj
    - priv
    - data
    - i_flags
    - t
    argTypes:
    - vlc_object_t*
    - void*
    - block_t*
    - uint32_t
    - ts_90khz_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: Parse
    functionSourceFile: /src/vlc/test/modules/demux/ts_pes.c
    functionUses: 1
    functionsReached:
    - fprintf
    - block_ChainAppend
    - block_ChainGather
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void Parse(vlc_object_t *obj, void *priv, block_t *data,\n                  uint32_t
      i_flags, ts_90khz_t t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: ASSERT
    functionSourceFile: /src/vlc/test/modules/demux/ts_pes.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: PKT_FROMSZ
    functionSourceFile: /src/vlc/test/modules/demux/ts_pes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PKT_FROMSZ(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: PKT_FROM
    functionSourceFile: /src/vlc/test/modules/demux/ts_pes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PKT_FROM(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/modules/demux/ts_pes.c:81,1
    - Dst: memset
      Src: /src/vlc/test/modules/demux/ts_pes.c:91,1
    - Dst: PKT_FROM
      Src: /src/vlc/test/modules/demux/ts_pes.c:105,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:106,1
    - Dst: ts_pes_Gather
      Src: /src/vlc/test/modules/demux/ts_pes.c:106,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:107,1
    - Dst: block_ChainProperties
      Src: /src/vlc/test/modules/demux/ts_pes.c:108,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:109,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:110,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:111,1
    - Dst: memcmp
      Src: /src/vlc/test/modules/demux/ts_pes.c:111,1
    - Dst: PKT_FROM
      Src: /src/vlc/test/modules/demux/ts_pes.c:114,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:115,1
    - Dst: ts_pes_Gather
      Src: /src/vlc/test/modules/demux/ts_pes.c:115,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:116,1
    - Dst: PKT_FROM
      Src: /src/vlc/test/modules/demux/ts_pes.c:119,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:121,1
    - Dst: ts_pes_Gather
      Src: /src/vlc/test/modules/demux/ts_pes.c:121,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:122,1
    - Dst: PKT_FROM
      Src: /src/vlc/test/modules/demux/ts_pes.c:130,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:131,1
    - Dst: ts_pes_Gather
      Src: /src/vlc/test/modules/demux/ts_pes.c:131,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:132,1
    - Dst: block_ChainProperties
      Src: /src/vlc/test/modules/demux/ts_pes.c:133,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:134,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:135,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:136,1
    - Dst: memcmp
      Src: /src/vlc/test/modules/demux/ts_pes.c:136,1
    - Dst: PKT_FROM
      Src: /src/vlc/test/modules/demux/ts_pes.c:139,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:140,1
    - Dst: ts_pes_Gather
      Src: /src/vlc/test/modules/demux/ts_pes.c:140,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:141,1
    - Dst: PKT_FROM
      Src: /src/vlc/test/modules/demux/ts_pes.c:145,1
    - Dst: SetWBE
      Src: /src/vlc/test/modules/demux/ts_pes.c:146,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:147,1
    - Dst: ts_pes_Gather
      Src: /src/vlc/test/modules/demux/ts_pes.c:147,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:148,1
    - Dst: PKT_FROMSZ
      Src: /src/vlc/test/modules/demux/ts_pes.c:152,1
    - Dst: SetWBE
      Src: /src/vlc/test/modules/demux/ts_pes.c:153,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:154,1
    - Dst: ts_pes_Gather
      Src: /src/vlc/test/modules/demux/ts_pes.c:154,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:155,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:156,1
    - Dst: PKT_FROMSZ
      Src: /src/vlc/test/modules/demux/ts_pes.c:157,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:158,1
    - Dst: ts_pes_Gather
      Src: /src/vlc/test/modules/demux/ts_pes.c:158,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:159,1
    - Dst: block_ChainProperties
      Src: /src/vlc/test/modules/demux/ts_pes.c:160,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:161,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:162,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:163,1
    - Dst: PKT_FROMSZ
      Src: /src/vlc/test/modules/demux/ts_pes.c:167,1
    - Dst: SetWBE
      Src: /src/vlc/test/modules/demux/ts_pes.c:168,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:169,1
    - Dst: ts_pes_Gather
      Src: /src/vlc/test/modules/demux/ts_pes.c:169,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:170,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:171,1
    - Dst: PKT_FROMSZ
      Src: /src/vlc/test/modules/demux/ts_pes.c:172,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:173,1
    - Dst: ts_pes_Gather
      Src: /src/vlc/test/modules/demux/ts_pes.c:173,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:174,1
    - Dst: block_ChainProperties
      Src: /src/vlc/test/modules/demux/ts_pes.c:175,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:176,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:177,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:178,1
    - Dst: PKT_FROMSZ
      Src: /src/vlc/test/modules/demux/ts_pes.c:182,1
    - Dst: SetWBE
      Src: /src/vlc/test/modules/demux/ts_pes.c:183,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:184,1
    - Dst: ts_pes_Gather
      Src: /src/vlc/test/modules/demux/ts_pes.c:184,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:185,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:186,1
    - Dst: PKT_FROMSZ
      Src: /src/vlc/test/modules/demux/ts_pes.c:187,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:188,1
    - Dst: ts_pes_Gather
      Src: /src/vlc/test/modules/demux/ts_pes.c:188,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:189,1
    - Dst: block_ChainProperties
      Src: /src/vlc/test/modules/demux/ts_pes.c:190,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:191,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:192,1
    - Dst: PKT_FROMSZ
      Src: /src/vlc/test/modules/demux/ts_pes.c:196,1
    - Dst: SetWBE
      Src: /src/vlc/test/modules/demux/ts_pes.c:197,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:198,1
    - Dst: ts_pes_Gather
      Src: /src/vlc/test/modules/demux/ts_pes.c:198,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:199,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:200,1
    - Dst: PKT_FROMSZ
      Src: /src/vlc/test/modules/demux/ts_pes.c:201,1
    - Dst: SetWBE
      Src: /src/vlc/test/modules/demux/ts_pes.c:202,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:203,1
    - Dst: ts_pes_Gather
      Src: /src/vlc/test/modules/demux/ts_pes.c:203,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:204,1
    - Dst: block_ChainProperties
      Src: /src/vlc/test/modules/demux/ts_pes.c:205,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:206,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:207,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:208,1
    - Dst: PKT_FROMSZ
      Src: /src/vlc/test/modules/demux/ts_pes.c:212,1
    - Dst: SetWBE
      Src: /src/vlc/test/modules/demux/ts_pes.c:213,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:214,1
    - Dst: ts_pes_Gather
      Src: /src/vlc/test/modules/demux/ts_pes.c:214,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:215,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:216,1
    - Dst: PKT_FROMSZ
      Src: /src/vlc/test/modules/demux/ts_pes.c:217,1
    - Dst: SetWBE
      Src: /src/vlc/test/modules/demux/ts_pes.c:218,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:219,1
    - Dst: ts_pes_Gather
      Src: /src/vlc/test/modules/demux/ts_pes.c:219,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:220,1
    - Dst: block_ChainProperties
      Src: /src/vlc/test/modules/demux/ts_pes.c:221,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:222,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:223,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:224,1
    - Dst: PKT_FROMSZ
      Src: /src/vlc/test/modules/demux/ts_pes.c:228,1
    - Dst: SetWBE
      Src: /src/vlc/test/modules/demux/ts_pes.c:229,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:230,1
    - Dst: ts_pes_Gather
      Src: /src/vlc/test/modules/demux/ts_pes.c:230,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:231,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:232,1
    - Dst: PKT_FROMSZ
      Src: /src/vlc/test/modules/demux/ts_pes.c:233,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:234,1
    - Dst: ts_pes_Gather
      Src: /src/vlc/test/modules/demux/ts_pes.c:234,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:235,1
    - Dst: block_ChainProperties
      Src: /src/vlc/test/modules/demux/ts_pes.c:236,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:237,1
    - Dst: PKT_FROMSZ
      Src: /src/vlc/test/modules/demux/ts_pes.c:241,1
    - Dst: SetWBE
      Src: /src/vlc/test/modules/demux/ts_pes.c:242,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:243,1
    - Dst: ts_pes_Gather
      Src: /src/vlc/test/modules/demux/ts_pes.c:243,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:244,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:245,1
    - Dst: PKT_FROM
      Src: /src/vlc/test/modules/demux/ts_pes.c:246,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:248,1
    - Dst: ts_pes_Gather
      Src: /src/vlc/test/modules/demux/ts_pes.c:248,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:249,1
    - Dst: block_ChainProperties
      Src: /src/vlc/test/modules/demux/ts_pes.c:250,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:251,1
    - Dst: PKT_FROM
      Src: /src/vlc/test/modules/demux/ts_pes.c:252,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:253,1
    - Dst: ts_pes_Gather
      Src: /src/vlc/test/modules/demux/ts_pes.c:253,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:254,1
    - Dst: PKT_FROM
      Src: /src/vlc/test/modules/demux/ts_pes.c:269,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:270,1
    - Dst: ts_pes_Gather
      Src: /src/vlc/test/modules/demux/ts_pes.c:270,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:271,1
    - Dst: block_ChainProperties
      Src: /src/vlc/test/modules/demux/ts_pes.c:272,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:273,1
    - Dst: PKT_FROM
      Src: /src/vlc/test/modules/demux/ts_pes.c:278,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:279,1
    - Dst: ts_pes_Gather
      Src: /src/vlc/test/modules/demux/ts_pes.c:279,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:280,1
    - Dst: block_ChainProperties
      Src: /src/vlc/test/modules/demux/ts_pes.c:281,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:282,1
    - Dst: PKT_FROM
      Src: /src/vlc/test/modules/demux/ts_pes.c:286,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:288,1
    - Dst: ts_pes_Gather
      Src: /src/vlc/test/modules/demux/ts_pes.c:288,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:289,1
    - Dst: block_ChainProperties
      Src: /src/vlc/test/modules/demux/ts_pes.c:290,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:291,1
    - Dst: PKT_FROM
      Src: /src/vlc/test/modules/demux/ts_pes.c:297,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:299,1
    - Dst: ts_pes_Gather
      Src: /src/vlc/test/modules/demux/ts_pes.c:299,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:300,1
    - Dst: PKT_FROM
      Src: /src/vlc/test/modules/demux/ts_pes.c:302,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:305,1
    - Dst: ts_pes_Gather
      Src: /src/vlc/test/modules/demux/ts_pes.c:305,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:306,1
    - Dst: PKT_FROM
      Src: /src/vlc/test/modules/demux/ts_pes.c:312,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:314,1
    - Dst: ts_pes_Gather
      Src: /src/vlc/test/modules/demux/ts_pes.c:314,1
    - Dst: PKT_FROM
      Src: /src/vlc/test/modules/demux/ts_pes.c:315,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:317,1
    - Dst: ts_pes_Gather
      Src: /src/vlc/test/modules/demux/ts_pes.c:317,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:318,1
    - Dst: block_ChainProperties
      Src: /src/vlc/test/modules/demux/ts_pes.c:319,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:320,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:321,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:322,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:323,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:324,1
    - Dst: PKT_FROM
      Src: /src/vlc/test/modules/demux/ts_pes.c:327,1
    - Dst: SetWBE
      Src: /src/vlc/test/modules/demux/ts_pes.c:328,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:329,1
    - Dst: ts_pes_Gather
      Src: /src/vlc/test/modules/demux/ts_pes.c:329,1
    - Dst: PKT_FROM
      Src: /src/vlc/test/modules/demux/ts_pes.c:330,1
    - Dst: SetWBE
      Src: /src/vlc/test/modules/demux/ts_pes.c:331,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:333,1
    - Dst: ts_pes_Gather
      Src: /src/vlc/test/modules/demux/ts_pes.c:333,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:334,1
    - Dst: block_ChainProperties
      Src: /src/vlc/test/modules/demux/ts_pes.c:335,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:336,1
    - Dst: ASSERT
      Src: /src/vlc/test/modules/demux/ts_pes.c:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 192
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 342
    functionName: main
    functionSourceFile: /src/vlc/test/modules/demux/ts_pes.c
    functionUses: 0
    functionsReached:
    - ts_pes_Gather
    - block_ChainProperties
    - memset
    - SetWBE
    - test_init
    - ASSERT
    - PKT_FROM
    - PKT_FROMSZ
    - memcmp
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: EXPECT
    functionSourceFile: /src/vlc/test/modules/demux/libmp4.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPECT(a)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p_parent
    - p_childbox
    argTypes:
    - MP4_Box_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: BoxAddChild
    functionSourceFile: /src/vlc/test/modules/demux/libmp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MP4_Box_t
    signature: MP4_Box_t * BoxAddChild( MP4_Box_t *p_parent, MP4_Box_t *p_childbox
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxNew
      Src: /src/vlc/test/modules/demux/libmp4.c:59,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/test/modules/demux/libmp4.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: newBox
    functionSourceFile: /src/vlc/test/modules/demux/libmp4.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - MP4_BoxNew
    linkageType: ''
    returnType: MP4_Box_t
    signature: MP4_Box_t *newBox(const char x[4])
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: newBox
      Src: /src/vlc/test/modules/demux/libmp4.c:66,1
    - Dst: BoxAddChild
      Src: /src/vlc/test/modules/demux/libmp4.c:69,1
    - Dst: newBox
      Src: /src/vlc/test/modules/demux/libmp4.c:69,1
    - Dst: BoxAddChild
      Src: /src/vlc/test/modules/demux/libmp4.c:72,1
    - Dst: newBox
      Src: /src/vlc/test/modules/demux/libmp4.c:72,1
    - Dst: BoxAddChild
      Src: /src/vlc/test/modules/demux/libmp4.c:75,1
    - Dst: newBox
      Src: /src/vlc/test/modules/demux/libmp4.c:75,1
    - Dst: BoxAddChild
      Src: /src/vlc/test/modules/demux/libmp4.c:78,1
    - Dst: newBox
      Src: /src/vlc/test/modules/demux/libmp4.c:78,1
    - Dst: BoxAddChild
      Src: /src/vlc/test/modules/demux/libmp4.c:81,1
    - Dst: newBox
      Src: /src/vlc/test/modules/demux/libmp4.c:81,1
    - Dst: BoxAddChild
      Src: /src/vlc/test/modules/demux/libmp4.c:84,1
    - Dst: newBox
      Src: /src/vlc/test/modules/demux/libmp4.c:84,1
    - Dst: BoxAddChild
      Src: /src/vlc/test/modules/demux/libmp4.c:87,1
    - Dst: newBox
      Src: /src/vlc/test/modules/demux/libmp4.c:87,1
    - Dst: BoxAddChild
      Src: /src/vlc/test/modules/demux/libmp4.c:89,1
    - Dst: newBox
      Src: /src/vlc/test/modules/demux/libmp4.c:89,1
    - Dst: BoxAddChild
      Src: /src/vlc/test/modules/demux/libmp4.c:91,1
    - Dst: newBox
      Src: /src/vlc/test/modules/demux/libmp4.c:91,1
    - Dst: BoxAddChild
      Src: /src/vlc/test/modules/demux/libmp4.c:93,1
    - Dst: newBox
      Src: /src/vlc/test/modules/demux/libmp4.c:93,1
    - Dst: BoxAddChild
      Src: /src/vlc/test/modules/demux/libmp4.c:96,1
    - Dst: newBox
      Src: /src/vlc/test/modules/demux/libmp4.c:96,1
    - Dst: BoxAddChild
      Src: /src/vlc/test/modules/demux/libmp4.c:100,1
    - Dst: newBox
      Src: /src/vlc/test/modules/demux/libmp4.c:100,1
    - Dst: MP4_BoxFree
      Src: /src/vlc/test/modules/demux/libmp4.c:105,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 107
    functionName: generate_mp4_tree
    functionSourceFile: /src/vlc/test/modules/demux/libmp4.c
    functionUses: 0
    functionsReached:
    - BoxAddChild
    - newBox
    - MP4_BoxFree
    linkageType: ''
    returnType: MP4_Box_t
    signature: MP4_Box_t *generate_mp4_tree()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generate_mp4_tree
      Src: /src/vlc/test/modules/demux/libmp4.c:112,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/libmp4.c:117,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/test/modules/demux/libmp4.c:117,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/libmp4.c:118,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/test/modules/demux/libmp4.c:118,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/test/modules/demux/libmp4.c:120,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/libmp4.c:121,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/libmp4.c:122,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/libmp4.c:123,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/test/modules/demux/libmp4.c:123,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/test/modules/demux/libmp4.c:125,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/libmp4.c:126,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/libmp4.c:127,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/test/modules/demux/libmp4.c:129,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/libmp4.c:130,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/libmp4.c:131,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/test/modules/demux/libmp4.c:133,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/libmp4.c:134,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/libmp4.c:135,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/test/modules/demux/libmp4.c:137,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/libmp4.c:138,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/test/modules/demux/libmp4.c:139,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/libmp4.c:140,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/libmp4.c:141,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/libmp4.c:142,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/libmp4.c:144,1
    - Dst: MP4_BoxCount
      Src: /src/vlc/test/modules/demux/libmp4.c:144,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/libmp4.c:145,1
    - Dst: MP4_BoxCount
      Src: /src/vlc/test/modules/demux/libmp4.c:145,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/libmp4.c:146,1
    - Dst: MP4_BoxCount
      Src: /src/vlc/test/modules/demux/libmp4.c:146,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/test/modules/demux/libmp4.c:148,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/libmp4.c:149,1
    - Dst: MP4_BoxExtract
      Src: /src/vlc/test/modules/demux/libmp4.c:150,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/libmp4.c:151,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/libmp4.c:152,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/libmp4.c:153,1
    - Dst: MP4_BoxCount
      Src: /src/vlc/test/modules/demux/libmp4.c:153,1
    - Dst: MP4_BoxFree
      Src: /src/vlc/test/modules/demux/libmp4.c:154,1
    - Dst: MP4_BoxFree
      Src: /src/vlc/test/modules/demux/libmp4.c:156,1
    - Dst: MP4_BoxFree
      Src: /src/vlc/test/modules/demux/libmp4.c:161,1
    - Dst: MP4_BoxFree
      Src: /src/vlc/test/modules/demux/libmp4.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 164
    functionName: check_MP4_BoxGet
    functionSourceFile: /src/vlc/test/modules/demux/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_BoxFree
    - MP4_BoxCount
    - MP4_BoxGet
    - MP4_BoxExtract
    - generate_mp4_tree
    - EXPECT
    linkageType: ''
    returnType: int
    signature: int check_MP4_BoxGet()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_MemoryNew
      Src: /src/vlc/test/modules/demux/libmp4.c:408,1
    - Dst: MP4_BoxGetRoot
      Src: /src/vlc/test/modules/demux/libmp4.c:411,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/test/modules/demux/libmp4.c:412,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/libmp4.c:414,1
    - Dst: MP4_BoxDumpStructure
      Src: /src/vlc/test/modules/demux/libmp4.c:416,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/test/modules/demux/libmp4.c:418,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/libmp4.c:419,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/libmp4.c:420,1
    - Dst: MP4_BoxFree
      Src: /src/vlc/test/modules/demux/libmp4.c:422,1
    - Dst: MP4_BoxFree
      Src: /src/vlc/test/modules/demux/libmp4.c:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 428
    functionName: check_MP4_Box
    functionSourceFile: /src/vlc/test/modules/demux/libmp4.c
    functionUses: 0
    functionsReached:
    - EXPECT
    - vlc_stream_Delete
    - MP4_BoxFree
    - MP4_BoxGet
    - vlc_stream_MemoryNew
    - MP4_BoxDumpStructure
    - MP4_BoxGetRoot
    linkageType: ''
    returnType: int
    signature: int check_MP4_Box(vlc_object_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_MemoryNew
      Src: /src/vlc/test/modules/demux/libmp4.c:695,1
    - Dst: MP4_BoxGetRoot
      Src: /src/vlc/test/modules/demux/libmp4.c:698,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/test/modules/demux/libmp4.c:699,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/libmp4.c:701,1
    - Dst: MP4_BoxDumpStructure
      Src: /src/vlc/test/modules/demux/libmp4.c:703,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/test/modules/demux/libmp4.c:705,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/libmp4.c:706,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/libmp4.c:707,1
    - Dst: MP4_BoxFree
      Src: /src/vlc/test/modules/demux/libmp4.c:709,1
    - Dst: MP4_BoxFree
      Src: /src/vlc/test/modules/demux/libmp4.c:713,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 715
    functionName: check_MP4_Frag
    functionSourceFile: /src/vlc/test/modules/demux/libmp4.c
    functionUses: 0
    functionsReached:
    - EXPECT
    - vlc_stream_Delete
    - MP4_BoxFree
    - MP4_BoxGet
    - vlc_stream_MemoryNew
    - MP4_BoxDumpStructure
    - MP4_BoxGetRoot
    linkageType: ''
    returnType: int
    signature: int check_MP4_Frag(vlc_object_t *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/modules/demux/libmp4.c:719,1
    - Dst: libvlc_new
      Src: /src/vlc/test/modules/demux/libmp4.c:725,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/demux/libmp4.c:725,1
    - Dst: check_MP4_BoxGet
      Src: /src/vlc/test/modules/demux/libmp4.c:729,1
    - Dst: check_MP4_Box
      Src: /src/vlc/test/modules/demux/libmp4.c:732,1
    - Dst: check_MP4_Frag
      Src: /src/vlc/test/modules/demux/libmp4.c:735,1
    - Dst: libvlc_release
      Src: /src/vlc/test/modules/demux/libmp4.c:737,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 717
    functionDepth: 4
    functionLinenumber: 717
    functionLinenumberEnd: 739
    functionName: main
    functionSourceFile: /src/vlc/test/modules/demux/libmp4.c
    functionUses: 0
    functionsReached:
    - check_MP4_Frag
    - libvlc_release
    - ARRAY_SIZE
    - test_init
    - libvlc_new
    - check_MP4_Box
    - check_MP4_BoxGet
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: ESID
    functionSourceFile: /src/vlc/test/modules/demux/timestamps_filter.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ESID(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:40,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:41,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:42,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - out
    - in
    - i_query
    - va_list
    argTypes:
    - es_out_t*
    - input_source_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: trash_es_out_Control
    functionSourceFile: /src/vlc/test/modules/demux/timestamps_filter.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int trash_es_out_Control(es_out_t *out, input_source_t *in, int i_query,
      va_list va_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:49,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:50,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - out
    - id
    - p_block
    argTypes:
    - es_out_t*
    - es_out_id_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: trash_es_out_Send
    functionSourceFile: /src/vlc/test/modules/demux/timestamps_filter.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int trash_es_out_Send(es_out_t *out, es_out_id_t *id, block_t *p_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - es_out_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: trash_es_out_Delete
    functionSourceFile: /src/vlc/test/modules/demux/timestamps_filter.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void trash_es_out_Delete(es_out_t *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:62,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:63,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:64,1
    - Dst: ESID
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - out
    - in
    - fmt
    argTypes:
    - es_out_t*
    - input_source_t*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: trash_es_out_Add
    functionSourceFile: /src/vlc/test/modules/demux/timestamps_filter.c
    functionUses: 0
    functionsReached:
    - ESID
    - VLC_UNUSED
    linkageType: ''
    returnType: es_out_id_t
    signature: es_out_id_t *trash_es_out_Add(es_out_t *out, input_source_t *in, const
      es_format_t *fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:70,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - id
    argTypes:
    - es_out_t*
    - es_out_id_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: trash_es_out_Del
    functionSourceFile: /src/vlc/test/modules/demux/timestamps_filter.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void trash_es_out_Del(es_out_t *out, es_out_id_t *id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: timestamps_filter_es_out_New
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:90,1
    - Dst: block_Alloc
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:93,1
    - Dst: timestamps_filter_es_out_Delete
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:96,1
    - Dst: es_format_Init
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:102,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:102,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:104,1
    - Dst: es_out_Add
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:104,1
    - Dst: ESID
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:104,1
    - Dst: es_out_Send
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:106,1
    - Dst: ESID
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:106,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:107,1
    - Dst: es_out_Send
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:109,1
    - Dst: ESID
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:109,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:110,1
    - Dst: es_out_Send
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:112,1
    - Dst: ESID
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:112,1
    - Dst: es_out_Send
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:114,1
    - Dst: ESID
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:114,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:115,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:116,1
    - Dst: es_out_Control
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:116,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:117,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:121,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:122,1
    - Dst: es_out_Control
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:122,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:123,1
    - Dst: es_out_Send
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:125,1
    - Dst: ESID
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:125,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:126,1
    - Dst: es_out_Send
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:128,1
    - Dst: ESID
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:128,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:129,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:133,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:134,1
    - Dst: es_out_Control
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:134,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:135,1
    - Dst: es_out_Send
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:136,1
    - Dst: ESID
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:136,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:137,1
    - Dst: es_format_Init
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:139,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:139,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:141,1
    - Dst: es_out_Add
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:141,1
    - Dst: ESID
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:141,1
    - Dst: es_out_Send
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:143,1
    - Dst: ESID
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:143,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:144,1
    - Dst: es_out_Send
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:149,1
    - Dst: ESID
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:149,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:150,1
    - Dst: es_format_Init
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:153,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:153,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:155,1
    - Dst: es_out_Add
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:155,1
    - Dst: ESID
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:155,1
    - Dst: es_out_Send
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:157,1
    - Dst: ESID
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:157,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:158,1
    - Dst: es_out_Send
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:160,1
    - Dst: ESID
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:160,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:161,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:164,1
    - Dst: es_out_Control
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:164,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:165,1
    - Dst: es_out_Control
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:165,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:166,1
    - Dst: es_format_Init
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:169,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:169,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:171,1
    - Dst: es_out_Add
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:171,1
    - Dst: ESID
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:171,1
    - Dst: es_out_Send
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:173,1
    - Dst: ESID
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:173,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:174,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:175,1
    - Dst: es_out_Send
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:177,1
    - Dst: ESID
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:177,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:178,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:179,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:180,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:181,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:182,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:183,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:184,1
    - Dst: es_out_Control
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:184,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:185,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:187,1
    - Dst: es_out_Control
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:187,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:188,1
    - Dst: es_out_Control
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:188,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:189,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:191,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:192,1
    - Dst: es_out_Control
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:192,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:193,1
    - Dst: es_format_Init
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:195,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:195,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:197,1
    - Dst: es_out_Add
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:197,1
    - Dst: ESID
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:197,1
    - Dst: es_out_Send
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:199,1
    - Dst: ESID
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:199,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:200,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:202,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:203,1
    - Dst: es_out_Control
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:203,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:204,1
    - Dst: es_out_Send
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:206,1
    - Dst: ESID
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:206,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:207,1
    - Dst: es_out_Send
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:209,1
    - Dst: ESID
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:209,1
    - Dst: assert
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:210,1
    - Dst: block_Release
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:212,1
    - Dst: es_out_Delete
      Src: /src/vlc/test/modules/demux/timestamps_filter.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 102
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (es_out_Control(out, ES_OUT_TF_FILTER_GET_TIME, &i_pcrtime) == VLC_SUCCESS)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (p_block->i_dts == TIMELINE_0 + 0)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (i_pcrtime == TIMELINE_0 +700)
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (p_block->i_dts == i_pcrtime + CLOCK_FREQ)
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (es_out_Control(out, ES_OUT_TF_FILTER_RESET) == VLC_SUCCESS)
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (es_out_Add(out, &fmt) == ESID(0))
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (i_pcrtime == TIMELINE_0 + 300)
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (es_out_Control(out, ES_OUT_TF_FILTER_GET_TIME, &i_pcrtime) == VLC_SUCCESS)
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (p_block->i_dts == TIMELINE_0 + 6000)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (es_out_Add(out, &fmt) == ESID(0))
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (p_block->i_dts == TIMELINE_0 + 600)
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (i_pcrtime == TIMELINE_0 +500)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (p_block->i_dts == TIMELINE_0 + 700)
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (es_out_Control(out, ES_OUT_TF_FILTER_GET_TIME, &i_pcrtime) == VLC_SUCCESS)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (p_block->i_dts == i_pcrtime + 333)
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (p_block->i_dts == TIMELINE_0 + 100)
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (i_pcrtime == TIMELINE_0 +600)
      pos:
        line_end: 192
        line_start: 192
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (es_out_Control(out, ES_OUT_TF_FILTER_GET_TIME, &i_pcrtime) == VLC_SUCCESS)
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (p_block->i_dts == TIMELINE_0 + 500)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (es_out_Control(out, ES_OUT_TF_FILTER_DISCONTINUITY) == VLC_SUCCESS)
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (p_block->i_dts == TIMELINE_0 + 100)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (p_block->i_dts == i_pcrtime)
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (i_pcrtime == TIMELINE_0 +500)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (es_out_Control(out, ES_OUT_TF_FILTER_GET_TIME, &i_pcrtime) == VLC_SUCCESS)
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (p_block->i_dts == TIMELINE_0 + 1000)
      pos:
        line_end: 206
        line_start: 206
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (p_block->i_dts == TIMELINE_0 + 0)
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (p_block->i_dts == i_pcrtime + i * 333)
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (es_out_Add(out, &fmt) == ESID(2))
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (es_out_Add(out, &fmt) == ESID(2))
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (es_out_Add(out, &fmt) == ESID(1))
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (i_pcrtime == TIMELINE_0 + 300)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (es_out_Control(out, ES_OUT_TF_FILTER_GET_TIME, &i_pcrtime) == VLC_SUCCESS)
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (es_out_Control(out, ES_OUT_TF_FILTER_GET_TIME, &i_pcrtime) == VLC_SUCCESS)
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (i_pcrtime == VLC_TICK_INVALID)
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (i_pcrtime == TIMELINE_0 + 300)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (p_block->i_dts == TIMELINE_0 + 400)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    - condition: (es_out_Control(out, ES_OUT_TF_FILTER_GET_TIME, &i_pcrtime) == VLC_SUCCESS)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/vlc/test/modules/demux/timestamps_filter.c
    constantsTouched: []
    func_position:
      end: 215
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 215
    functionName: main
    functionSourceFile: /src/vlc/test/modules/demux/timestamps_filter.c
    functionUses: 0
    functionsReached:
    - timestamps_filter_es_out_New
    - VLC_FOURCC
    - block_Release
    - assert
    - es_out_Control
    - es_out_Send
    - es_out_Delete
    - block_Alloc
    - timestamps_filter_es_out_Delete
    - es_out_Add
    - es_format_Init
    - ESID
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - run
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: BAILOUT
    functionSourceFile: /src/vlc/test/modules/demux/playlist/m3u.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BAILOUT(run)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - foo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: EXPECT
    functionSourceFile: /src/vlc/test/modules/demux/playlist/m3u.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPECT(foo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: NOPFIL
    functionSourceFile: /src/vlc/test/modules/demux/playlist/m3u.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NOPFIL(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: NOPURI
    functionSourceFile: /src/vlc/test/modules/demux/playlist/m3u.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NOPURI(n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_MemoryNew
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:45,1
    - Dst: BAILOUT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:47,1
    - Dst: demux_New
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:49,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:49,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:52,1
    - Dst: BAILOUT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:53,1
    - Dst: input_item_New
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:57,1
    - Dst: input_item_node_Create
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:60,1
    - Dst: demux_t*::pf_readdir
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:63,1
    - Dst: checkfunc
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:64,1
    - Dst: input_item_node_Delete
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:65,1
    - Dst: input_item_Release
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:71,1
    - Dst: demux_Delete
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - run
    - vlc
    - data
    - datasz
    argTypes:
    - char*
    - libvlc_instance_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 81
    functionName: runtest
    functionSourceFile: /src/vlc/test/modules/demux/playlist/m3u.c
    functionUses: 1
    functionsReached:
    - input_item_node_Delete
    - input_item_New
    - input_item_Release
    - demux_New
    - vlc_stream_Delete
    - demux_Delete
    - checkfunc
    - vlc_stream_MemoryNew
    - VLC_OBJECT
    - BAILOUT
    - demux_t*::pf_readdir
    - input_item_node_Create
    linkageType: ''
    returnType: int
    signature: "int runtest(const char *run,\n                   libvlc_instance_t
      *vlc,\n                   const char *data, size_t datasz,\n                   int(*checkfunc)(const
      char *, const input_item_node_t *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:91,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:94,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:95,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:95,1
    - Dst: NOPURI
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:95,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:96,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:96,1
    - Dst: NOPFIL
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:96,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:97,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:100,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:101,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:101,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:102,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:102,1
    - Dst: NOPURI
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - run
    - p_node
    argTypes:
    - char*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 105
    functionName: check0
    functionSourceFile: /src/vlc/test/modules/demux/playlist/m3u.c
    functionUses: 0
    functionsReached:
    - EXPECT
    - NOPURI
    - strcmp
    - NOPFIL
    linkageType: ''
    returnType: int
    signature: int check0(const char *run, const input_item_node_t *p_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:125,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:128,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:129,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:129,1
    - Dst: NOPFIL
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:129,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:130,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:130,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:133,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:134,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:134,1
    - Dst: NOPURI
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:134,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:135,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:135,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:138,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:139,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:139,1
    - Dst: NOPURI
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:139,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:140,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:140,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:141,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:144,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:145,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:145,1
    - Dst: NOPURI
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:145,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:146,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:146,1
    - Dst: vlc_meta_Get
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:147,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:148,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:148,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:151,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:152,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:152,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:153,1
    - Dst: vlc_meta_Get
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:153,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:156,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:157,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:157,1
    - Dst: vlc_meta_Get
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:158,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:159,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:159,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - run
    - p_node
    argTypes:
    - char*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 162
    functionName: check1
    functionSourceFile: /src/vlc/test/modules/demux/playlist/m3u.c
    functionUses: 0
    functionsReached:
    - vlc_tick_from_sec
    - strcmp
    - NOPURI
    - NOPFIL
    - EXPECT
    - vlc_meta_Get
    linkageType: ''
    returnType: int
    signature: int check1(const char *run, const input_item_node_t *p_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:177,1
    - Dst: vlc_meta_Get
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:178,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:179,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:179,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:182,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:183,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:183,1
    - Dst: NOPURI
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:183,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:184,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:184,1
    - Dst: vlc_meta_Get
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:185,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:186,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:186,1
    - Dst: vlc_meta_Get
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:187,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:190,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:191,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:191,1
    - Dst: NOPURI
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:191,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:192,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:192,1
    - Dst: vlc_meta_Get
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:193,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:194,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:194,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:197,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:198,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:198,1
    - Dst: NOPURI
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:198,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:199,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:199,1
    - Dst: vlc_meta_Get
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:200,1
    - Dst: EXPECT
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:201,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:201,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - run
    - p_node
    argTypes:
    - char*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 204
    functionName: check2
    functionSourceFile: /src/vlc/test/modules/demux/playlist/m3u.c
    functionUses: 0
    functionsReached:
    - EXPECT
    - NOPURI
    - strcmp
    - vlc_meta_Get
    linkageType: ''
    returnType: int
    signature: int check2(const char *run, const input_item_node_t *p_node)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:209,1
    - Dst: libvlc_new
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:211,1
    - Dst: runtest
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:215,1
    - Dst: runtest
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:217,1
    - Dst: runtest
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:219,1
    - Dst: libvlc_release
      Src: /src/vlc/test/modules/demux/playlist/m3u.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 223
    functionName: main
    functionSourceFile: /src/vlc/test/modules/demux/playlist/m3u.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - test_init
    - runtest
    - libvlc_new
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/modules/misc/medialibrary.c:57,1
    - Dst: vlc_sem_post
      Src: /src/vlc/test/modules/misc/medialibrary.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - event
    argTypes:
    - void*
    - vlc_ml_event_t*
    assertStmts:
    - condition: (event->media_thumbnail_generated.b_success)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/vlc/test/modules/misc/medialibrary.c
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: ValidateThumbnail
    functionSourceFile: /src/vlc/test/modules/misc/medialibrary.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_sem_post
    linkageType: ''
    returnType: void
    signature: void ValidateThumbnail(void *data, const vlc_ml_event_t *event)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/test/modules/misc/medialibrary.c:64,1
    - Dst: vlc_ml_new_external_media
      Src: /src/vlc/test/modules/misc/medialibrary.c:73,1
    - Dst: vlc_sem_init
      Src: /src/vlc/test/modules/misc/medialibrary.c:76,1
    - Dst: vlc_ml_event_register_callback
      Src: /src/vlc/test/modules/misc/medialibrary.c:79,1
    - Dst: vlc_ml_media_generate_thumbnail
      Src: /src/vlc/test/modules/misc/medialibrary.c:80,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/test/modules/misc/medialibrary.c:83,1
    - Dst: vlc_ml_event_unregister_callback
      Src: /src/vlc/test/modules/misc/medialibrary.c:84,1
    - Dst: vlc_ml_media_release
      Src: /src/vlc/test/modules/misc/medialibrary.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - root
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 89
    functionName: OpenIntf
    functionSourceFile: /src/vlc/test/modules/misc/medialibrary.c
    functionUses: 0
    functionsReached:
    - vlc_ml_event_register_callback
    - vlc_sem_init
    - vlc_sem_wait
    - vlc_ml_media_generate_thumbnail
    - vlc_ml_new_external_media
    - vlc_ml_event_unregister_callback
    - vlc_ml_media_release
    - vlc_ml_instance_get
    linkageType: ''
    returnType: int
    signature: int OpenIntf(vlc_object_t *root)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/vlc/test/modules/misc/medialibrary.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - dirpath
    - sb
    - typeflag
    - ftwbuf
    argTypes:
    - char*
    - struct stat*
    - int
    - struct FTW*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: cleanup_tmpdir
    functionSourceFile: /src/vlc/test/modules/misc/medialibrary.c
    functionUses: 0
    functionsReached:
    - remove
    linkageType: ''
    returnType: int
    signature: "int cleanup_tmpdir(const char *dirpath, const struct stat *sb,\n                          int
      typeflag, struct FTW *ftwbuf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mkdtemp
      Src: /src/vlc/test/modules/misc/medialibrary.c:112,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/medialibrary.c:115,1
    - Dst: fprintf
      Src: /src/vlc/test/modules/misc/medialibrary.c:118,1
    - Dst: setenv
      Src: /src/vlc/test/modules/misc/medialibrary.c:119,1
    - Dst: test_init
      Src: /src/vlc/test/modules/misc/medialibrary.c:121,1
    - Dst: libvlc_new
      Src: /src/vlc/test/modules/misc/medialibrary.c:128,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/misc/medialibrary.c:128,1
    - Dst: libvlc_InternalAddIntf
      Src: /src/vlc/test/modules/misc/medialibrary.c:130,1
    - Dst: libvlc_InternalPlay
      Src: /src/vlc/test/modules/misc/medialibrary.c:131,1
    - Dst: libvlc_release
      Src: /src/vlc/test/modules/misc/medialibrary.c:133,1
    - Dst: nftw
      Src: /src/vlc/test/modules/misc/medialibrary.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tempdir != NULL)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/vlc/test/modules/misc/medialibrary.c
    constantsTouched: []
    func_position:
      end: 138
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 138
    functionName: main
    functionSourceFile: /src/vlc/test/modules/misc/medialibrary.c
    functionUses: 0
    functionsReached:
    - setenv
    - libvlc_release
    - assert
    - ARRAY_SIZE
    - libvlc_InternalAddIntf
    - fprintf
    - test_init
    - nftw
    - libvlc_new
    - libvlc_InternalPlay
    - mkdtemp
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tls_SessionHandshake
      Src: /src/vlc/test/modules/misc/tls.c:56,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/test/modules/misc/tls.c:64,1
    - Dst: vlc_tls_GetPollFD
      Src: /src/vlc/test/modules/misc/tls.c:67,1
    - Dst: poll
      Src: /src/vlc/test/modules/misc/tls.c:68,1
    - Dst: vlc_tls_Read
      Src: /src/vlc/test/modules/misc/tls.c:74,1
    - Dst: vlc_tls_Write
      Src: /src/vlc/test/modules/misc/tls.c:75,1
    - Dst: vlc_tls_Shutdown
      Src: /src/vlc/test/modules/misc/tls.c:78,1
    - Dst: vlc_tls_Close
      Src: /src/vlc/test/modules/misc/tls.c:81,1
    - Dst: vlc_tls_Close
      Src: /src/vlc/test/modules/misc/tls.c:84,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 86
    functionName: tls_echo
    functionSourceFile: /src/vlc/test/modules/misc/tls.c
    functionUses: 0
    functionsReached:
    - vlc_tls_Shutdown
    - vlc_assert_unreachable
    - vlc_tls_Read
    - poll
    - vlc_tls_GetPollFD
    - vlc_tls_Write
    - vlc_tls_Close
    - vlc_tls_SessionHandshake
    linkageType: ''
    returnType: void
    signature: void *tls_echo(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tls_SocketPair
      Src: /src/vlc/test/modules/misc/tls.c:97,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:98,1
    - Dst: vlc_tls_ServerSessionCreate
      Src: /src/vlc/test/modules/misc/tls.c:100,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:101,1
    - Dst: vlc_clone
      Src: /src/vlc/test/modules/misc/tls.c:103,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:104,1
    - Dst: vlc_tls_ClientSessionCreate
      Src: /src/vlc/test/modules/misc/tls.c:106,1
    - Dst: vlc_tls_SessionDelete
      Src: /src/vlc/test/modules/misc/tls.c:111,1
    - Dst: vlc_join
      Src: /src/vlc/test/modules/misc/tls.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - th
    - salpnv
    - calpnv
    - alp
    argTypes:
    - vlc_thread_t*
    - char*[]
    - char*[]
    - char**
    assertStmts:
    - condition: (server != NULL)
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (val == 0)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (val == 0)
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/vlc/test/modules/misc/tls.c
    constantsTouched: []
    func_position:
      end: 116
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 116
    functionName: securepair
    functionSourceFile: /src/vlc/test/modules/misc/tls.c
    functionUses: 0
    functionsReached:
    - vlc_tls_ServerSessionCreate
    - assert
    - vlc_clone
    - vlc_tls_SocketPair
    - vlc_join
    - vlc_tls_SessionDelete
    - vlc_tls_ClientSessionCreate
    linkageType: ''
    returnType: vlc_tls_t
    signature: "vlc_tls_t *securepair(vlc_thread_t *th,\n                             const
      char *const salpnv[],\n                             const char *const calpnv[],\n
      \                            char **restrict alp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_setup
      Src: /src/vlc/test/modules/misc/tls.c:136,1
    - Dst: libvlc_new
      Src: /src/vlc/test/modules/misc/tls.c:139,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:140,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/test/modules/misc/tls.c:141,1
    - Dst: vlc_tls_ServerCreate
      Src: /src/vlc/test/modules/misc/tls.c:143,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:144,1
    - Dst: vlc_tls_ServerCreate
      Src: /src/vlc/test/modules/misc/tls.c:145,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:146,1
    - Dst: vlc_tls_ServerCreate
      Src: /src/vlc/test/modules/misc/tls.c:147,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:148,1
    - Dst: vlc_tls_ServerCreate
      Src: /src/vlc/test/modules/misc/tls.c:149,1
    - Dst: libvlc_release
      Src: /src/vlc/test/modules/misc/tls.c:152,1
    - Dst: vlc_tls_ServerDelete
      Src: /src/vlc/test/modules/misc/tls.c:155,1
    - Dst: vlc_tls_ServerCreate
      Src: /src/vlc/test/modules/misc/tls.c:157,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:158,1
    - Dst: vlc_tls_ClientCreate
      Src: /src/vlc/test/modules/misc/tls.c:159,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:160,1
    - Dst: securepair
      Src: /src/vlc/test/modules/misc/tls.c:163,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:164,1
    - Dst: securepair
      Src: /src/vlc/test/modules/misc/tls.c:165,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:166,1
    - Dst: vlc_tls_ClientDelete
      Src: /src/vlc/test/modules/misc/tls.c:168,1
    - Dst: vlc_tls_ServerDelete
      Src: /src/vlc/test/modules/misc/tls.c:169,1
    - Dst: libvlc_release
      Src: /src/vlc/test/modules/misc/tls.c:170,1
    - Dst: libvlc_new
      Src: /src/vlc/test/modules/misc/tls.c:173,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/misc/tls.c:173,1
    - Dst: libvlc_release
      Src: /src/vlc/test/modules/misc/tls.c:176,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/test/modules/misc/tls.c:179,1
    - Dst: vlc_tls_ServerCreate
      Src: /src/vlc/test/modules/misc/tls.c:181,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:182,1
    - Dst: vlc_tls_ClientCreate
      Src: /src/vlc/test/modules/misc/tls.c:183,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:184,1
    - Dst: securepair
      Src: /src/vlc/test/modules/misc/tls.c:187,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:188,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:189,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:190,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/misc/tls.c:190,1
    - Dst: free
      Src: /src/vlc/test/modules/misc/tls.c:191,1
    - Dst: vlc_tls_t*::ops::readv
      Src: /src/vlc/test/modules/misc/tls.c:199,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:200,1
    - Dst: vlc_tls_Write
      Src: /src/vlc/test/modules/misc/tls.c:202,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:203,1
    - Dst: vlc_tls_Write
      Src: /src/vlc/test/modules/misc/tls.c:204,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:205,1
    - Dst: vlc_tls_Read
      Src: /src/vlc/test/modules/misc/tls.c:207,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:208,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:209,1
    - Dst: memcmp
      Src: /src/vlc/test/modules/misc/tls.c:209,1
    - Dst: vlc_tls_Shutdown
      Src: /src/vlc/test/modules/misc/tls.c:211,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:212,1
    - Dst: vlc_join
      Src: /src/vlc/test/modules/misc/tls.c:213,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:214,1
    - Dst: vlc_tls_Read
      Src: /src/vlc/test/modules/misc/tls.c:215,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:216,1
    - Dst: vlc_tls_Close
      Src: /src/vlc/test/modules/misc/tls.c:217,1
    - Dst: securepair
      Src: /src/vlc/test/modules/misc/tls.c:220,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:221,1
    - Dst: rand_r
      Src: /src/vlc/test/modules/misc/tls.c:234,1
    - Dst: vlc_tls_t*::ops::writev
      Src: /src/vlc/test/modules/misc/tls.c:237,1
    - Dst: fprintf
      Src: /src/vlc/test/modules/misc/tls.c:243,1
    - Dst: rand_r
      Src: /src/vlc/test/modules/misc/tls.c:248,1
    - Dst: vlc_tls_Read
      Src: /src/vlc/test/modules/misc/tls.c:250,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:251,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:252,1
    - Dst: vlc_tls_Close
      Src: /src/vlc/test/modules/misc/tls.c:256,1
    - Dst: vlc_join
      Src: /src/vlc/test/modules/misc/tls.c:257,1
    - Dst: securepair
      Src: /src/vlc/test/modules/misc/tls.c:260,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:261,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:262,1
    - Dst: vlc_tls_Close
      Src: /src/vlc/test/modules/misc/tls.c:263,1
    - Dst: vlc_join
      Src: /src/vlc/test/modules/misc/tls.c:264,1
    - Dst: securepair
      Src: /src/vlc/test/modules/misc/tls.c:266,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:267,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:268,1
    - Dst: vlc_tls_Close
      Src: /src/vlc/test/modules/misc/tls.c:269,1
    - Dst: vlc_join
      Src: /src/vlc/test/modules/misc/tls.c:270,1
    - Dst: securepair
      Src: /src/vlc/test/modules/misc/tls.c:273,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:274,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:275,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:276,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/misc/tls.c:276,1
    - Dst: free
      Src: /src/vlc/test/modules/misc/tls.c:277,1
    - Dst: vlc_tls_Close
      Src: /src/vlc/test/modules/misc/tls.c:278,1
    - Dst: vlc_join
      Src: /src/vlc/test/modules/misc/tls.c:279,1
    - Dst: securepair
      Src: /src/vlc/test/modules/misc/tls.c:281,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:282,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:283,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:284,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/misc/tls.c:284,1
    - Dst: free
      Src: /src/vlc/test/modules/misc/tls.c:285,1
    - Dst: vlc_tls_Close
      Src: /src/vlc/test/modules/misc/tls.c:286,1
    - Dst: vlc_join
      Src: /src/vlc/test/modules/misc/tls.c:287,1
    - Dst: securepair
      Src: /src/vlc/test/modules/misc/tls.c:290,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:291,1
    - Dst: assert
      Src: /src/vlc/test/modules/misc/tls.c:292,1
    - Dst: vlc_tls_Close
      Src: /src/vlc/test/modules/misc/tls.c:293,1
    - Dst: vlc_join
      Src: /src/vlc/test/modules/misc/tls.c:294,1
    - Dst: vlc_tls_ClientDelete
      Src: /src/vlc/test/modules/misc/tls.c:296,1
    - Dst: vlc_tls_ServerDelete
      Src: /src/vlc/test/modules/misc/tls.c:297,1
    - Dst: libvlc_release
      Src: /src/vlc/test/modules/misc/tls.c:298,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 116
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (alp == NULL)
      pos:
        line_end: 261
        line_start: 261
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (client_creds != NULL)
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (!memcmp(buf, "Hello world!", 12))
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (tls != NULL)
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (vlc != NULL)
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (client_creds != NULL)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (alp != NULL)
      pos:
        line_end: 282
        line_start: 282
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (strcmp(alp, alpn[1]) == 0)
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (server_creds == NULL)
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (val == 6)
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (tls == NULL)
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (alp != NULL)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (strcmp(alp, alpn[0]) == 0)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (tls != NULL)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (alp == NULL)
      pos:
        line_end: 291
        line_start: 291
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (server_creds == NULL)
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (tls != NULL)
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (val == 6)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (tls != NULL)
      pos:
        line_end: 290
        line_start: 290
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (c == (unsigned char)buf[0])
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (p != NULL)
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (val == 1)
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (tls != NULL)
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (server_creds == NULL)
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (server_creds != NULL)
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (val == 12)
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (val == -1 && errno == EAGAIN)
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (server_creds != NULL)
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (val == 0)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (alp == NULL)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (alp != NULL)
      pos:
        line_end: 274
        line_start: 274
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (strcmp(alp, alpn[1]) == 0)
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (val == 0)
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (tls == NULL)
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (tls != NULL)
      pos:
        line_end: 266
        line_start: 266
        source_file: /src/vlc/test/modules/misc/tls.c
    - condition: (tls != NULL)
      pos:
        line_end: 273
        line_start: 273
        source_file: /src/vlc/test/modules/misc/tls.c
    constantsTouched: []
    func_position:
      end: 301
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 301
    functionName: main
    functionSourceFile: /src/vlc/test/modules/misc/tls.c
    functionUses: 0
    functionsReached:
    - test_setup
    - assert
    - rand_r
    - vlc_tls_ClientDelete
    - libvlc_new
    - memcmp
    - vlc_tls_ServerCreate
    - ARRAY_SIZE
    - vlc_tls_t*::ops::readv
    - vlc_tls_Write
    - vlc_tls_ServerDelete
    - vlc_tls_Close
    - libvlc_release
    - securepair
    - vlc_tls_Shutdown
    - vlc_tls_Read
    - fprintf
    - strcmp
    - vlc_tls_t*::ops::writev
    - free
    - vlc_join
    - VLC_OBJECT
    - vlc_tls_ClientCreate
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_decoder_device_Create
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:71,1
    - Dst: vlc_gl_CreateOffscreen
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:72,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:74,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:76,1
    - Dst: vlc_gl_MakeCurrent
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:78,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:79,1
    - Dst: vlc_gl_api_Init
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:82,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:83,1
    - Dst: struct vlc_gl_api::vt::GenTextures
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:86,1
    - Dst: struct vlc_gl_api::vt::BindTexture
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:87,1
    - Dst: struct vlc_gl_api::vt::TexImage2D
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:88,1
    - Dst: struct vlc_gl_api::vt::BindTexture
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:89,1
    - Dst: struct vlc_gl_api::vt::GenFramebuffers
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:92,1
    - Dst: struct vlc_gl_api::vt::BindFramebuffer
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:93,1
    - Dst: struct vlc_gl_api::vt::BindFramebuffer
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:94,1
    - Dst: struct vlc_gl_api::vt::FramebufferTexture2D
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:95,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:98,1
    - Dst: struct vlc_gl_api::vt::CheckFramebufferStatus
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:98,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:100,1
    - Dst: video_format_Init
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:103,1
    - Dst: video_format_Setup
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:104,1
    - Dst: vlc_gl_interop_New
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:111,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:112,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:113,1
    - Dst: struct vlc_gl_api::vt::GetIntegerv
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:116,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:117,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:118,1
    - Dst: struct vlc_gl_api::vt::CheckFramebufferStatus
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:118,1
    - Dst: vlc_gl_filters_New
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:122,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:123,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:124,1
    - Dst: struct vlc_gl_api::vt::GetIntegerv
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:126,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:127,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:128,1
    - Dst: struct vlc_gl_api::vt::CheckFramebufferStatus
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:128,1
    - Dst: vlc_gl_filters_Append
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:132,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:133,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:134,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:135,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:136,1
    - Dst: struct vlc_gl_api::vt::CheckFramebufferStatus
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:136,1
    - Dst: struct vlc_gl_api::vt::GetIntegerv
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:140,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:141,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:142,1
    - Dst: struct vlc_gl_api::vt::CheckFramebufferStatus
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:142,1
    - Dst: vlc_gl_filters_InitFramebuffers
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:145,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:146,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:147,1
    - Dst: struct vlc_gl_api::vt::GetIntegerv
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:149,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:150,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:151,1
    - Dst: struct vlc_gl_api::vt::CheckFramebufferStatus
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:151,1
    - Dst: vlc_gl_filters_SetViewport
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:154,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:155,1
    - Dst: vlc_gl_filters_SetOutputSize
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:157,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:158,1
    - Dst: picture_NewFromFormat
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:160,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:161,1
    - Dst: memcpy
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:165,1
    - Dst: memcpy
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:167,1
    - Dst: memcpy
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:168,1
    - Dst: vlc_gl_filters_UpdatePicture
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:170,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:171,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:172,1
    - Dst: struct vlc_gl_api::vt::GetIntegerv
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:173,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:174,1
    - Dst: vlc_gl_filters_Draw
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:176,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:177,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:178,1
    - Dst: struct vlc_gl_api::vt::GetIntegerv
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:179,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:180,1
    - Dst: struct vlc_gl_api::vt::Finish
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:182,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:183,1
    - Dst: struct vlc_gl_api::vt::BindBuffer
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:186,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:187,1
    - Dst: fprintf
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:191,1
    - Dst: struct vlc_gl_api::vt::ReadPixels
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:196,1
    - Dst: fprintf
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:197,1
    - Dst: fprintf
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:199,1
    - Dst: struct vlc_gl_api::vt::ReadPixels
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:204,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:206,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:207,1
    - Dst: memcmp
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:207,1
    - Dst: vlc_gl_filters_Delete
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:210,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:211,1
    - Dst: vlc_gl_interop_Delete
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:213,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:214,1
    - Dst: vlc_gl_ReleaseCurrent
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:216,1
    - Dst: vlc_gl_Delete
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:217,1
    - Dst: picture_Release
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 90
    argCount: 4
    argNames:
    - root
    - orientation
    - points
    - points_count
    argTypes:
    - vlc_object_t*
    - video_orientation_t
    - struct test_point*
    - size_t
    assertStmts:
    - condition: (picture != NULL)
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/vlc/test/modules/video_output/opengl/filters.c
    - condition: ((GLuint)fbo_binding == out_fb)
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/vlc/test/modules/video_output/opengl/filters.c
    - condition: "(api.vt.CheckFramebufferStatus(GL_FRAMEBUFFER)\n            == GL_FRAMEBUFFER_COMPLETE)"
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/vlc/test/modules/video_output/opengl/filters.c
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/vlc/test/modules/video_output/opengl/filters.c
    - condition: "(api.vt.CheckFramebufferStatus(GL_FRAMEBUFFER)\n            == GL_FRAMEBUFFER_COMPLETE)"
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/vlc/test/modules/video_output/opengl/filters.c
    - condition: ((GLuint)fbo_binding == out_fb)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/vlc/test/modules/video_output/opengl/filters.c
    - condition: ((GLuint)fbo_binding == out_fb)
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/vlc/test/modules/video_output/opengl/filters.c
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/vlc/test/modules/video_output/opengl/filters.c
    - condition: ((GLuint)fbo_binding == out_fb)
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/vlc/test/modules/video_output/opengl/filters.c
    - condition: "(api.vt.CheckFramebufferStatus(GL_FRAMEBUFFER)\n            == GL_FRAMEBUFFER_COMPLETE)"
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/vlc/test/modules/video_output/opengl/filters.c
    - condition: ((GLuint)fbo_binding == out_fb)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/vlc/test/modules/video_output/opengl/filters.c
    - condition: (filters != NULL)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/vlc/test/modules/video_output/opengl/filters.c
    - condition: "(api.vt.CheckFramebufferStatus(GL_FRAMEBUFFER)\n            == GL_FRAMEBUFFER_COMPLETE)"
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/vlc/test/modules/video_output/opengl/filters.c
    - condition: "(api.vt.CheckFramebufferStatus(GL_FRAMEBUFFER)\n            == GL_FRAMEBUFFER_COMPLETE)"
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/vlc/test/modules/video_output/opengl/filters.c
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/vlc/test/modules/video_output/opengl/filters.c
    - condition: (filter != NULL)
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/vlc/test/modules/video_output/opengl/filters.c
    - condition: (gl != NULL)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/vlc/test/modules/video_output/opengl/filters.c
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/vlc/test/modules/video_output/opengl/filters.c
    - condition: (interop != NULL)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/vlc/test/modules/video_output/opengl/filters.c
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/vlc/test/modules/video_output/opengl/filters.c
    - condition: ((GLuint)fbo_binding == out_fb)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/vlc/test/modules/video_output/opengl/filters.c
    - condition: ((GLuint)fbo_binding == out_fb)
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/vlc/test/modules/video_output/opengl/filters.c
    - condition: "(api.vt.CheckFramebufferStatus(GL_FRAMEBUFFER)\n            == GL_FRAMEBUFFER_COMPLETE)"
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/vlc/test/modules/video_output/opengl/filters.c
    - condition: (memcmp(pixel, points[i].color, sizeof(pixel)) == 0)
      pos:
        line_end: 206
        line_start: 206
        source_file: /src/vlc/test/modules/video_output/opengl/filters.c
    constantsTouched: []
    func_position:
      end: 220
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 220
    functionName: test_opengl_offscreen
    functionSourceFile: /src/vlc/test/modules/video_output/opengl/filters.c
    functionUses: 0
    functionsReached:
    - struct vlc_gl_api::vt::GetIntegerv
    - assert
    - vlc_decoder_device_Release
    - memcpy
    - vlc_gl_interop_New
    - picture_Release
    - struct vlc_gl_api::vt::TexImage2D
    - memcmp
    - picture_NewFromFormat
    - struct vlc_gl_api::vt::FramebufferTexture2D
    - struct vlc_gl_api::vt::BindBuffer
    - struct vlc_gl_api::vt::CheckFramebufferStatus
    - struct vlc_gl_api::vt::GenTextures
    - struct vlc_gl_api::vt::GenFramebuffers
    - vlc_gl_filters_Delete
    - vlc_gl_api_Init
    - vlc_gl_filters_InitFramebuffers
    - struct vlc_gl_api::vt::ReadPixels
    - vlc_gl_filters_New
    - vlc_gl_filters_Draw
    - vlc_gl_filters_Append
    - struct vlc_gl_api::vt::Finish
    - vlc_decoder_device_Create
    - video_format_Init
    - vlc_gl_filters_UpdatePicture
    - struct vlc_gl_api::vt::BindTexture
    - fprintf
    - vlc_gl_ReleaseCurrent
    - vlc_gl_Delete
    - vlc_gl_interop_Delete
    - vlc_gl_MakeCurrent
    - video_format_Setup
    - struct vlc_gl_api::vt::BindFramebuffer
    - vlc_gl_filters_SetViewport
    - vlc_gl_filters_SetOutputSize
    - vlc_gl_CreateOffscreen
    - GL_ASSERT_NOERROR
    linkageType: ''
    returnType: void
    signature: "void test_opengl_offscreen(\n        vlc_object_t *root,\n        video_orientation_t
      orientation,\n        struct test_point *points,\n        size_t points_count\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:225,1
    - Dst: libvlc_new
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:231,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:231,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:238,1
    - Dst: fprintf
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:240,1
    - Dst: vlc_module_match
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:244,1
    - Dst: free
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:247,1
    - Dst: libvlc_release
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:251,1
    - Dst: vlc_decoder_device_Create
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:256,1
    - Dst: vlc_gl_CreateOffscreen
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:257,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:260,1
    - Dst: libvlc_release
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:264,1
    - Dst: vlc_gl_Delete
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:267,1
    - Dst: test_opengl_offscreen
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:274,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:275,1
    - Dst: test_opengl_offscreen
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:282,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:283,1
    - Dst: test_opengl_offscreen
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:290,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:291,1
    - Dst: test_opengl_offscreen
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:298,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:299,1
    - Dst: test_opengl_offscreen
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:306,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:307,1
    - Dst: test_opengl_offscreen
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:314,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:315,1
    - Dst: test_opengl_offscreen
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:322,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:323,1
    - Dst: test_opengl_offscreen
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:330,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:331,1
    - Dst: libvlc_release
      Src: /src/vlc/test/modules/video_output/opengl/filters.c:335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (cap != NULL)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/vlc/test/modules/video_output/opengl/filters.c
    constantsTouched: []
    func_position:
      end: 337
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 337
    functionName: main
    functionSourceFile: /src/vlc/test/modules/video_output/opengl/filters.c
    functionUses: 0
    functionsReached:
    - vlc_decoder_device_Create
    - libvlc_release
    - assert
    - ARRAY_SIZE
    - vlc_decoder_device_Release
    - fprintf
    - test_init
    - libvlc_new
    - free
    - vlc_gl_Delete
    - test_opengl_offscreen
    - vlc_gl_CreateOffscreen
    - vlc_module_match
    linkageType: ''
    returnType: int
    signature: int main( int argc, char **argv )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - orient
    argTypes:
    - video_orientation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 82
    functionName: OrientToString
    functionSourceFile: /src/vlc/test/modules/video_output/opengl/sub_renderer.c
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    linkageType: ''
    returnType: char
    signature: char *OrientToString(video_orientation_t orient)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:90,1
    - Dst: OrientToString
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:90,1
    - Dst: vlc_decoder_device_Create
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:92,1
    - Dst: vlc_gl_CreateOffscreen
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:93,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:95,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:97,1
    - Dst: vlc_gl_MakeCurrent
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:102,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:103,1
    - Dst: vlc_gl_api_Init
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:106,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:107,1
    - Dst: struct vlc_gl_api::vt::GenTextures
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:110,1
    - Dst: struct vlc_gl_api::vt::BindTexture
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:111,1
    - Dst: struct vlc_gl_api::vt::TexImage2D
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:112,1
    - Dst: struct vlc_gl_api::vt::BindTexture
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:113,1
    - Dst: struct vlc_gl_api::vt::GenFramebuffers
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:116,1
    - Dst: struct vlc_gl_api::vt::BindFramebuffer
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:117,1
    - Dst: struct vlc_gl_api::vt::BindFramebuffer
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:118,1
    - Dst: struct vlc_gl_api::vt::FramebufferTexture2D
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:119,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:122,1
    - Dst: struct vlc_gl_api::vt::CheckFramebufferStatus
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:122,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:124,1
    - Dst: struct vlc_gl_api::vt::ClearColor
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:126,1
    - Dst: struct vlc_gl_api::vt::Clear
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:127,1
    - Dst: struct vlc_gl_api::vt::Viewport
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:128,1
    - Dst: video_format_Init
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:131,1
    - Dst: video_format_Setup
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:132,1
    - Dst: vlc_gl_interop_NewForSubpictures
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:139,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:140,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:141,1
    - Dst: struct vlc_gl_api::vt::GetIntegerv
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:144,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:145,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:146,1
    - Dst: struct vlc_gl_api::vt::CheckFramebufferStatus
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:146,1
    - Dst: vlc_gl_sub_renderer_New
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:149,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:150,1
    - Dst: struct vlc_gl_api::vt::GetIntegerv
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:152,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:153,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:154,1
    - Dst: struct vlc_gl_api::vt::CheckFramebufferStatus
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:154,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:156,1
    - Dst: picture_NewFromFormat
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:158,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:159,1
    - Dst: memcpy
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:163,1
    - Dst: memcpy
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:171,1
    - Dst: memcpy
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:172,1
    - Dst: memcpy
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:173,1
    - Dst: memcpy
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:174,1
    - Dst: vlc_gl_sub_renderer_SetOutputSize
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:176,1
    - Dst: vlc_render_subpicture_New
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:178,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:179,1
    - Dst: calloc
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:181,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:182,1
    - Dst: picture_Hold
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:183,1
    - Dst: vlc_vector_push
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:187,1
    - Dst: vlc_gl_sub_renderer_Prepare
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:189,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:190,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:191,1
    - Dst: struct vlc_gl_api::vt::GetIntegerv
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:192,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:193,1
    - Dst: vlc_gl_sub_renderer_Draw
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:195,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:196,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:197,1
    - Dst: struct vlc_gl_api::vt::GetIntegerv
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:198,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:199,1
    - Dst: struct vlc_gl_api::vt::Finish
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:201,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:202,1
    - Dst: struct vlc_gl_api::vt::BindBuffer
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:205,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:206,1
    - Dst: fprintf
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:210,1
    - Dst: struct vlc_gl_api::vt::ReadPixels
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:215,1
    - Dst: fprintf
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:216,1
    - Dst: fprintf
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:218,1
    - Dst: struct vlc_gl_api::vt::ReadPixels
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:223,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:225,1
    - Dst: fprintf
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:226,1
    - Dst: OrientToString
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:227,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:230,1
    - Dst: memcmp
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:230,1
    - Dst: vlc_gl_sub_renderer_Delete
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:233,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:234,1
    - Dst: vlc_gl_interop_Delete
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:236,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:237,1
    - Dst: vlc_gl_ReleaseCurrent
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:239,1
    - Dst: vlc_gl_Delete
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:240,1
    - Dst: picture_Release
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:242,1
    - Dst: vlc_render_subpicture_Delete
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 89
    argCount: 4
    argNames:
    - root
    - orientation
    - points
    - points_count
    argTypes:
    - vlc_object_t*
    - video_orientation_t
    - struct test_point*
    - size_t
    assertStmts:
    - condition: (gl != NULL)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/vlc/test/modules/video_output/opengl/sub_renderer.c
    - condition: ((GLuint)fbo_binding == out_fb)
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/vlc/test/modules/video_output/opengl/sub_renderer.c
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/vlc/test/modules/video_output/opengl/sub_renderer.c
    - condition: (subpicture != NULL)
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/vlc/test/modules/video_output/opengl/sub_renderer.c
    - condition: (p_region != NULL)
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/vlc/test/modules/video_output/opengl/sub_renderer.c
    - condition: ((GLuint)fbo_binding == out_fb)
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/vlc/test/modules/video_output/opengl/sub_renderer.c
    - condition: "(api.vt.CheckFramebufferStatus(GL_FRAMEBUFFER)\n            == GL_FRAMEBUFFER_COMPLETE)"
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/vlc/test/modules/video_output/opengl/sub_renderer.c
    - condition: ((GLuint)fbo_binding == out_fb)
      pos:
        line_end: 192
        line_start: 192
        source_file: /src/vlc/test/modules/video_output/opengl/sub_renderer.c
    - condition: (memcmp(pixel, points[i].color, sizeof(pixel)) == 0)
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/vlc/test/modules/video_output/opengl/sub_renderer.c
    - condition: (interop != NULL)
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/vlc/test/modules/video_output/opengl/sub_renderer.c
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/vlc/test/modules/video_output/opengl/sub_renderer.c
    - condition: "(api.vt.CheckFramebufferStatus(GL_FRAMEBUFFER)\n            == GL_FRAMEBUFFER_COMPLETE)"
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/vlc/test/modules/video_output/opengl/sub_renderer.c
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/vlc/test/modules/video_output/opengl/sub_renderer.c
    - condition: ((GLuint)fbo_binding == out_fb)
      pos:
        line_end: 144
        line_start: 144
        source_file: /src/vlc/test/modules/video_output/opengl/sub_renderer.c
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 195
        line_start: 195
        source_file: /src/vlc/test/modules/video_output/opengl/sub_renderer.c
    - condition: (picture != NULL)
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/vlc/test/modules/video_output/opengl/sub_renderer.c
    - condition: "(api.vt.CheckFramebufferStatus(GL_FRAMEBUFFER)\n            == GL_FRAMEBUFFER_COMPLETE)"
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/vlc/test/modules/video_output/opengl/sub_renderer.c
    constantsTouched: []
    func_position:
      end: 244
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 244
    functionName: test_opengl_offscreen
    functionSourceFile: /src/vlc/test/modules/video_output/opengl/sub_renderer.c
    functionUses: 1
    functionsReached:
    - struct vlc_gl_api::vt::GetIntegerv
    - assert
    - struct vlc_gl_api::vt::ClearColor
    - vlc_decoder_device_Release
    - memcpy
    - picture_Release
    - vlc_render_subpicture_New
    - struct vlc_gl_api::vt::TexImage2D
    - memcmp
    - picture_NewFromFormat
    - struct vlc_gl_api::vt::FramebufferTexture2D
    - struct vlc_gl_api::vt::BindBuffer
    - struct vlc_gl_api::vt::CheckFramebufferStatus
    - struct vlc_gl_api::vt::GenTextures
    - struct vlc_gl_api::vt::GenFramebuffers
    - vlc_gl_api_Init
    - struct vlc_gl_api::vt::ReadPixels
    - vlc_gl_sub_renderer_New
    - calloc
    - OrientToString
    - vlc_gl_sub_renderer_SetOutputSize
    - vlc_vector_push
    - struct vlc_gl_api::vt::Clear
    - struct vlc_gl_api::vt::Finish
    - vlc_decoder_device_Create
    - vlc_gl_interop_NewForSubpictures
    - video_format_Init
    - picture_Hold
    - struct vlc_gl_api::vt::BindTexture
    - fprintf
    - vlc_gl_ReleaseCurrent
    - vlc_render_subpicture_Delete
    - vlc_gl_sub_renderer_Draw
    - vlc_gl_sub_renderer_Prepare
    - vlc_gl_Delete
    - vlc_gl_interop_Delete
    - vlc_gl_sub_renderer_Delete
    - vlc_gl_MakeCurrent
    - video_format_Setup
    - struct vlc_gl_api::vt::BindFramebuffer
    - vlc_gl_CreateOffscreen
    - GL_ASSERT_NOERROR
    - struct vlc_gl_api::vt::Viewport
    linkageType: ''
    returnType: void
    signature: "void test_opengl_offscreen(\n        vlc_object_t *root,\n        video_orientation_t
      orientation,\n        struct test_point *points,\n        size_t points_count\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:249,1
    - Dst: libvlc_new
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:255,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:255,1
    - Dst: assert
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:262,1
    - Dst: fprintf
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:264,1
    - Dst: vlc_module_match
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:268,1
    - Dst: free
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:271,1
    - Dst: libvlc_release
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:275,1
    - Dst: vlc_decoder_device_Create
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:280,1
    - Dst: vlc_gl_CreateOffscreen
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:281,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:284,1
    - Dst: libvlc_release
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:288,1
    - Dst: vlc_gl_Delete
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:291,1
    - Dst: test_opengl_offscreen
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:302,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:303,1
    - Dst: test_opengl_offscreen
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:314,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:315,1
    - Dst: test_opengl_offscreen
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:326,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:327,1
    - Dst: test_opengl_offscreen
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:338,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:339,1
    - Dst: test_opengl_offscreen
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:351,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:352,1
    - Dst: test_opengl_offscreen
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:363,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:364,1
    - Dst: test_opengl_offscreen
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:375,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:376,1
    - Dst: test_opengl_offscreen
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:387,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:388,1
    - Dst: libvlc_release
      Src: /src/vlc/test/modules/video_output/opengl/sub_renderer.c:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (cap != NULL)
      pos:
        line_end: 261
        line_start: 261
        source_file: /src/vlc/test/modules/video_output/opengl/sub_renderer.c
    constantsTouched: []
    func_position:
      end: 392
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 392
    functionName: main
    functionSourceFile: /src/vlc/test/modules/video_output/opengl/sub_renderer.c
    functionUses: 0
    functionsReached:
    - vlc_decoder_device_Create
    - libvlc_release
    - assert
    - ARRAY_SIZE
    - vlc_decoder_device_Release
    - fprintf
    - test_init
    - libvlc_new
    - free
    - vlc_gl_Delete
    - test_opengl_offscreen
    - vlc_gl_CreateOffscreen
    - vlc_module_match
    linkageType: ''
    returnType: int
    signature: int main( int argc, char **argv )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_iterator_init
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:105,1
    - Dst: hxxx_iterator_init
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:106,1
    - Dst: hxxx_iterate_next
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:112,1
    - Dst: hxxx_annexb_iterate_next
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:113,1
    - Dst: hxxx_iterate_next
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:114,1
    - Dst: hxxx_annexb_iterate_next
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:115,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:116,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:121,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:122,1
    - Dst: memcmp
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 6
    argNames:
    - p0
    - s0
    - prefix0
    - p1
    - s1
    - prefix1
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t
    - uint8_t*
    - size_t
    - uint8_t
    assertStmts:
    - condition: (b0 == b1)
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/vlc/test/modules/codec/hxxx_helper.c
    - condition: (nalsz0 == nalsz1)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/vlc/test/modules/codec/hxxx_helper.c
    - condition: (memcmp(nal0, nal1, nalsz0) == 0)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/vlc/test/modules/codec/hxxx_helper.c
    constantsTouched: []
    func_position:
      end: 125
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 125
    functionName: compare_any
    functionSourceFile: /src/vlc/test/modules/codec/hxxx_helper.c
    functionUses: 0
    functionsReached:
    - hxxx_annexb_iterate_next
    - assert
    - hxxx_iterator_init
    - hxxx_iterate_next
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int compare_any(const uint8_t *p0, size_t s0, uint8_t prefix0,\n                       const
      uint8_t *p1, size_t s1, uint8_t prefix1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:129,1
    - Dst: fprintf
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:131,1
    - Dst: fprintf
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - s
    - p
    - sz
    argTypes:
    - char*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: dump_hex
    functionSourceFile: /src/vlc/test/modules/codec/hxxx_helper.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void dump_hex(const char *s, const uint8_t *p, size_t sz)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:141,1
    - Dst: hxxx_helper_init
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:142,1
    - Dst: hxxx_helper_set_extra
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:143,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:144,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:145,1
    - Dst: hxxx_helper_get_extradata_block
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:147,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:150,1
    - Dst: compare_any
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:150,1
    - Dst: block_Release
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:151,1
    - Dst: hxxx_helper_clean
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:152,1
    - Dst: fprintf
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:154,1
    - Dst: hxxx_helper_init
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:155,1
    - Dst: hxxx_helper_set_extra
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:156,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:157,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:158,1
    - Dst: hxxx_helper_get_extradata_block
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:159,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:162,1
    - Dst: compare_any
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:162,1
    - Dst: block_Release
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:163,1
    - Dst: hxxx_helper_clean
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 5
    argNames:
    - codec
    - p_annexb
    - i_annexb
    - p_xvc
    - i_xvc
    argTypes:
    - vlc_fourcc_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (hlpr.i_input_nal_length_size == 0)
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/vlc/test/modules/codec/hxxx_helper.c
    - condition: (compare_any(b->p_buffer, b->i_buffer, 0, p_annexb, i_annexb, 0)
        == 0)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/vlc/test/modules/codec/hxxx_helper.c
    - condition: (compare_any(b->p_buffer, b->i_buffer, 0, p_annexb, i_annexb, 0)
        == 0)
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/vlc/test/modules/codec/hxxx_helper.c
    - condition: (hlpr.i_output_nal_length_size == 0)
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/vlc/test/modules/codec/hxxx_helper.c
    - condition: (hlpr.i_output_nal_length_size == 0)
      pos:
        line_end: 144
        line_start: 144
        source_file: /src/vlc/test/modules/codec/hxxx_helper.c
    - condition: (hlpr.i_input_nal_length_size)
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/vlc/test/modules/codec/hxxx_helper.c
    constantsTouched: []
    func_position:
      end: 168
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 168
    functionName: test_extrainit
    functionSourceFile: /src/vlc/test/modules/codec/hxxx_helper.c
    functionUses: 0
    functionsReached:
    - block_Release
    - assert
    - hxxx_helper_set_extra
    - fprintf
    - hxxx_helper_clean
    - hxxx_helper_get_extradata_block
    - compare_any
    - hxxx_helper_init
    linkageType: ''
    returnType: int
    signature: "int test_extrainit(vlc_fourcc_t codec,\n                          const
      uint8_t *p_annexb, size_t i_annexb,\n                          const uint8_t
      *p_xvc, size_t i_xvc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:174,1
    - Dst: hxxx_helper_init
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:177,1
    - Dst: block_Alloc
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:179,1
    - Dst: memcpy
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:182,1
    - Dst: dump_hex
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:184,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:186,1
    - Dst: hxxx_helper_has_new_config
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:186,1
    - Dst: hxxx_helper_process_block
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:187,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:192,1
    - Dst: hxxx_helper_has_new_config
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:192,1
    - Dst: hxxx_helper_process_block
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:194,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:199,1
    - Dst: hxxx_helper_has_new_config
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:199,1
    - Dst: dump_hex
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:203,1
    - Dst: hxxx_helper_process_block
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:204,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:209,1
    - Dst: hxxx_helper_has_new_config
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:209,1
    - Dst: block_Release
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:211,1
    - Dst: hxxx_helper_clean
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 4
    argNames:
    - codec
    - p_annexb
    - i_annexb
    - i_borkoffset
    argTypes:
    - vlc_fourcc_t
    - uint8_t*
    - size_t
    - size_t
    assertStmts:
    - condition: (!hxxx_helper_has_new_config(&hlpr))
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/vlc/test/modules/codec/hxxx_helper.c
    - condition: (hxxx_helper_has_new_config(&hlpr))
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/vlc/test/modules/codec/hxxx_helper.c
    - condition: (hxxx_helper_has_new_config(&hlpr))
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/vlc/test/modules/codec/hxxx_helper.c
    - condition: (!hxxx_helper_has_new_config(&hlpr))
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/vlc/test/modules/codec/hxxx_helper.c
    constantsTouched: []
    func_position:
      end: 216
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 216
    functionName: test_configuration_change
    functionSourceFile: /src/vlc/test/modules/codec/hxxx_helper.c
    functionUses: 0
    functionsReached:
    - block_Release
    - assert
    - fprintf
    - memcpy
    - hxxx_helper_clean
    - block_Alloc
    - dump_hex
    - hxxx_helper_has_new_config
    - hxxx_helper_process_block
    - hxxx_helper_init
    linkageType: ''
    returnType: int
    signature: "int test_configuration_change(vlc_fourcc_t codec,\n                                     const
      uint8_t *p_annexb, size_t i_annexb,\n                                     size_t
      i_borkoffset)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:223,1
    - Dst: memcpy
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:226,1
    - Dst: dump_hex
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:228,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:230,1
    - Dst: hxxx_helper_has_new_config
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:230,1
    - Dst: hxxx_helper_process_block
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:231,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:234,1
    - Dst: hxxx_helper_has_new_config
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:234,1
    - Dst: dump_hex
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:236,1
    - Dst: compare_any
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:238,1
    - Dst: block_Release
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:241,1
    - Dst: block_Release
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:245,1
    - Dst: hxxx_helper_get_extradata_block
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:247,1
    - Dst: dump_hex
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:251,1
    - Dst: memcmp
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:254,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:256,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:257,1
    - Dst: memcmp
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:257,1
    - Dst: block_Release
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:258,1
    - Dst: compare_any
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:262,1
    - Dst: block_Release
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:264,1
    - Dst: block_Release
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:268,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 7
    argNames:
    - hlpr
    - p_in
    - i_in
    - p_out
    - i_out
    - p_extraout
    - i_extraout
    argTypes:
    - struct hxxx_helper*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (b->i_buffer == i_extraout)
      pos:
        line_end: 255
        line_start: 255
        source_file: /src/vlc/test/modules/codec/hxxx_helper.c
    - condition: (!memcmp(b->p_buffer, p_extraout, i_extraout))
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/vlc/test/modules/codec/hxxx_helper.c
    - condition: (!hxxx_helper_has_new_config(hlpr))
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/vlc/test/modules/codec/hxxx_helper.c
    - condition: (hxxx_helper_has_new_config(hlpr))
      pos:
        line_end: 233
        line_start: 233
        source_file: /src/vlc/test/modules/codec/hxxx_helper.c
    constantsTouched: []
    func_position:
      end: 271
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 271
    functionName: test_any
    functionSourceFile: /src/vlc/test/modules/codec/hxxx_helper.c
    functionUses: 0
    functionsReached:
    - block_Release
    - assert
    - memcpy
    - block_Alloc
    - dump_hex
    - hxxx_helper_has_new_config
    - hxxx_helper_get_extradata_block
    - hxxx_helper_process_block
    - compare_any
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int test_any(struct hxxx_helper *hlpr,\n                    const
      uint8_t *p_in, size_t i_in,\n                    const uint8_t *p_out, size_t
      i_out,\n                    const uint8_t *p_extraout, size_t i_extraout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - codec
    - ','
    - source0
    - ','
    - prefix0
    - ','
    - source1
    - ','
    - prefix1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 285
    functionName: RUN_TEST
    functionSourceFile: /src/vlc/test/modules/codec/hxxx_helper.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN_TEST(codec, source0, prefix0, source1, prefix1)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:289,1
    - Dst: fprintf
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:290,1
    - Dst: RUN_TEST
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:291,1
    - Dst: fprintf
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:292,1
    - Dst: RUN_TEST
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:293,1
    - Dst: fprintf
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:294,1
    - Dst: RUN_TEST
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:295,1
    - Dst: fprintf
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:296,1
    - Dst: RUN_TEST
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:297,1
    - Dst: test_extrainit
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:299,1
    - Dst: fprintf
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:304,1
    - Dst: fprintf
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:305,1
    - Dst: RUN_TEST
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:306,1
    - Dst: fprintf
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:307,1
    - Dst: RUN_TEST
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:308,1
    - Dst: fprintf
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:309,1
    - Dst: RUN_TEST
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:310,1
    - Dst: fprintf
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:311,1
    - Dst: RUN_TEST
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:312,1
    - Dst: test_extrainit
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:314,1
    - Dst: test_configuration_change
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:319,1
    - Dst: test_configuration_change
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:323,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 328
    functionName: test_annexb
    functionSourceFile: /src/vlc/test/modules/codec/hxxx_helper.c
    functionUses: 1
    functionsReached:
    - test_configuration_change
    - fprintf
    - test_extrainit
    - RUN_TEST
    linkageType: ''
    returnType: int
    signature: int test_annexb(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:333,1
    - Dst: test_annexb
      Src: /src/vlc/test/modules/codec/hxxx_helper.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 336
    functionName: main
    functionSourceFile: /src/vlc/test/modules/codec/hxxx_helper.c
    functionUses: 0
    functionsReached:
    - test_init
    - test_annexb
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/test/modules/codec/cea708_integration.c:46,1
    - Dst: vlc_object_create
      Src: /src/vlc/test/modules/codec/cea708_integration.c:47,1
    - Dst: es_format_Init
      Src: /src/vlc/test/modules/codec/cea708_integration.c:53,1
    - Dst: decoder_Init
      Src: /src/vlc/test/modules/codec/cea708_integration.c:57,1
    - Dst: es_format_Clean
      Src: /src/vlc/test/modules/codec/cea708_integration.c:58,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/codec/cea708_integration.c:63,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/codec/cea708_integration.c:68,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/codec/cea708_integration.c:73,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/codec/cea708_integration.c:78,1
    - Dst: module_need
      Src: /src/vlc/test/modules/codec/cea708_integration.c:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 1
    argNames:
    - video_dimensions
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 89
    functionName: create_cea708_decoder_test
    functionSourceFile: /src/vlc/test/modules/codec/cea708_integration.c
    functionUses: 0
    functionsReached:
    - decoder_Init
    - es_format_Clean
    - vlc_object_create
    - strcmp
    - VLC_OBJECT
    - es_format_Init
    - module_need
    linkageType: ''
    returnType: decoder_t
    signature: decoder_t *create_cea708_decoder_test(const char *video_dimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/test/modules/codec/cea708_integration.c:94,1
    - Dst: decoder_Clean
      Src: /src/vlc/test/modules/codec/cea708_integration.c:95,1
    - Dst: es_format_Clean
      Src: /src/vlc/test/modules/codec/cea708_integration.c:96,1
    - Dst: vlc_object_delete
      Src: /src/vlc/test/modules/codec/cea708_integration.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: destroy_cea708_decoder_test
    functionSourceFile: /src/vlc/test/modules/codec/cea708_integration.c
    functionUses: 0
    functionsReached:
    - decoder_Clean
    - vlc_object_delete
    - es_format_Clean
    - container_of
    linkageType: ''
    returnType: void
    signature: void destroy_cea708_decoder_test(decoder_t *dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_integration.c:103,1
    - Dst: create_cea708_decoder_test
      Src: /src/vlc/test/modules/codec/cea708_integration.c:105,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708_integration.c:106,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708_integration.c:107,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_integration.c:109,1
    - Dst: destroy_cea708_decoder_test
      Src: /src/vlc/test/modules/codec/cea708_integration.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (dec->p_module != NULL)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/vlc/test/modules/codec/cea708_integration.c
    - condition: (dec != NULL)
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/vlc/test/modules/codec/cea708_integration.c
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: test_cea708_decoder_loading
    functionSourceFile: /src/vlc/test/modules/codec/cea708_integration.c
    functionUses: 0
    functionsReached:
    - create_cea708_decoder_test
    - destroy_cea708_decoder_test
    - assert
    - test_log
    linkageType: ''
    returnType: void
    signature: void test_cea708_decoder_loading(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_integration.c:117,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/codec/cea708_integration.c:121,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_integration.c:122,1
    - Dst: create_cea708_decoder_test
      Src: /src/vlc/test/modules/codec/cea708_integration.c:124,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708_integration.c:125,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708_integration.c:126,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_integration.c:128,1
    - Dst: destroy_cea708_decoder_test
      Src: /src/vlc/test/modules/codec/cea708_integration.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (dec != NULL)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/vlc/test/modules/codec/cea708_integration.c
    - condition: (dec->p_module != NULL)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/vlc/test/modules/codec/cea708_integration.c
    constantsTouched: []
    func_position:
      end: 132
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 132
    functionName: test_cea708_decoder_with_different_formats
    functionSourceFile: /src/vlc/test/modules/codec/cea708_integration.c
    functionUses: 0
    functionsReached:
    - destroy_cea708_decoder_test
    - assert
    - ARRAY_SIZE
    - test_log
    - create_cea708_decoder_test
    linkageType: ''
    returnType: void
    signature: void test_cea708_decoder_with_different_formats(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_integration.c:137,1
    - Dst: create_cea708_decoder_test
      Src: /src/vlc/test/modules/codec/cea708_integration.c:139,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708_integration.c:140,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708_integration.c:141,1
    - Dst: vlc_frame_Alloc
      Src: /src/vlc/test/modules/codec/cea708_integration.c:151,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708_integration.c:152,1
    - Dst: memcpy
      Src: /src/vlc/test/modules/codec/cea708_integration.c:153,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708_integration.c:155,1
    - Dst: decoder_t*::pf_decode
      Src: /src/vlc/test/modules/codec/cea708_integration.c:156,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_integration.c:157,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708_integration.c:158,1
    - Dst: destroy_cea708_decoder_test
      Src: /src/vlc/test/modules/codec/cea708_integration.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (dec != NULL)
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/vlc/test/modules/codec/cea708_integration.c
    - condition: (dec->p_module != NULL)
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/vlc/test/modules/codec/cea708_integration.c
    - condition: (frame != NULL)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/vlc/test/modules/codec/cea708_integration.c
    - condition: (dec->pf_decode != NULL)
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/vlc/test/modules/codec/cea708_integration.c
    - condition: (result == VLCDEC_SUCCESS)
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/vlc/test/modules/codec/cea708_integration.c
    constantsTouched: []
    func_position:
      end: 161
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 161
    functionName: test_cea708_subtitle_text_output
    functionSourceFile: /src/vlc/test/modules/codec/cea708_integration.c
    functionUses: 0
    functionsReached:
    - destroy_cea708_decoder_test
    - assert
    - decoder_t*::pf_decode
    - memcpy
    - test_log
    - vlc_frame_Alloc
    - create_cea708_decoder_test
    linkageType: ''
    returnType: void
    signature: void test_cea708_subtitle_text_output(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_integration.c:167,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708_integration.c:171,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708_integration.c:172,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_integration.c:174,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_integration.c:176,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_integration.c:179,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_integration.c:180,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_integration.c:182,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_integration.c:183,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_integration.c:184,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_integration.c:185,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_integration.c:186,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_integration.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (UPDT_REGION_USES_16_9_GRID == (1 << 6))
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/vlc/test/modules/codec/cea708_integration.c
    - condition: (UPDT_REGION_USES_GRID_COORDINATES == (1 << 5))
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/vlc/test/modules/codec/cea708_integration.c
    constantsTouched: []
    func_position:
      end: 188
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 188
    functionName: test_substext_infrastructure_with_aspect_ratio_positioning
    functionSourceFile: /src/vlc/test/modules/codec/cea708_integration.c
    functionUses: 0
    functionsReached:
    - assert
    - test_log
    linkageType: ''
    returnType: void
    signature: void test_substext_infrastructure_with_aspect_ratio_positioning(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_integration.c:193,1
    - Dst: create_cea708_decoder_test
      Src: /src/vlc/test/modules/codec/cea708_integration.c:204,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708_integration.c:205,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708_integration.c:206,1
    - Dst: vlc_frame_Alloc
      Src: /src/vlc/test/modules/codec/cea708_integration.c:208,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708_integration.c:209,1
    - Dst: memcpy
      Src: /src/vlc/test/modules/codec/cea708_integration.c:210,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708_integration.c:214,1
    - Dst: decoder_t*::pf_decode
      Src: /src/vlc/test/modules/codec/cea708_integration.c:215,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_integration.c:216,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708_integration.c:217,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_integration.c:219,1
    - Dst: destroy_cea708_decoder_test
      Src: /src/vlc/test/modules/codec/cea708_integration.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (dec != NULL)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/vlc/test/modules/codec/cea708_integration.c
    - condition: (dec->p_module != NULL)
      pos:
        line_end: 205
        line_start: 205
        source_file: /src/vlc/test/modules/codec/cea708_integration.c
    - condition: (frame != NULL)
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/vlc/test/modules/codec/cea708_integration.c
    - condition: (dec->pf_decode != NULL)
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/vlc/test/modules/codec/cea708_integration.c
    - condition: (result == VLCDEC_SUCCESS)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/vlc/test/modules/codec/cea708_integration.c
    constantsTouched: []
    func_position:
      end: 221
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 221
    functionName: test_cea708_real_positioning_data
    functionSourceFile: /src/vlc/test/modules/codec/cea708_integration.c
    functionUses: 0
    functionsReached:
    - destroy_cea708_decoder_test
    - assert
    - decoder_t*::pf_decode
    - memcpy
    - test_log
    - vlc_frame_Alloc
    - create_cea708_decoder_test
    linkageType: ''
    returnType: void
    signature: void test_cea708_real_positioning_data(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_integration.c:227,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/codec/cea708_integration.c:257,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_integration.c:258,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/test/modules/codec/cea708_integration.c:261,1
    - Dst: vlc_object_create
      Src: /src/vlc/test/modules/codec/cea708_integration.c:262,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708_integration.c:263,1
    - Dst: es_format_Init
      Src: /src/vlc/test/modules/codec/cea708_integration.c:268,1
    - Dst: decoder_Init
      Src: /src/vlc/test/modules/codec/cea708_integration.c:269,1
    - Dst: es_format_Clean
      Src: /src/vlc/test/modules/codec/cea708_integration.c:270,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_integration.c:278,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_integration.c:288,1
    - Dst: module_need
      Src: /src/vlc/test/modules/codec/cea708_integration.c:292,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708_integration.c:293,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_integration.c:307,1
    - Dst: vlc_frame_Alloc
      Src: /src/vlc/test/modules/codec/cea708_integration.c:311,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708_integration.c:312,1
    - Dst: memcpy
      Src: /src/vlc/test/modules/codec/cea708_integration.c:313,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708_integration.c:317,1
    - Dst: decoder_t*::pf_decode
      Src: /src/vlc/test/modules/codec/cea708_integration.c:318,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_integration.c:319,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708_integration.c:320,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708_integration.c:323,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708_integration.c:324,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_integration.c:328,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708_integration.c:330,1
    - Dst: fabs
      Src: /src/vlc/test/modules/codec/cea708_integration.c:330,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_integration.c:332,1
    - Dst: decoder_Clean
      Src: /src/vlc/test/modules/codec/cea708_integration.c:335,1
    - Dst: es_format_Clean
      Src: /src/vlc/test/modules/codec/cea708_integration.c:336,1
    - Dst: vlc_object_delete
      Src: /src/vlc/test/modules/codec/cea708_integration.c:337,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_integration.c:340,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_integration.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (frame != NULL)
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/vlc/test/modules/codec/cea708_integration.c
    - condition: (decode_result == VLCDEC_SUCCESS)
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/vlc/test/modules/codec/cea708_integration.c
    - condition: (expected_grid == integration_tests[i].expected_grid_cols)
      pos:
        line_end: 322
        line_start: 322
        source_file: /src/vlc/test/modules/codec/cea708_integration.c
    - condition: (should_use_169_grid == integration_tests[i].expected_16_9_flag)
      pos:
        line_end: 323
        line_start: 323
        source_file: /src/vlc/test/modules/codec/cea708_integration.c
    - condition: (owner != NULL)
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/vlc/test/modules/codec/cea708_integration.c
    - condition: (dec->pf_decode != NULL)
      pos:
        line_end: 316
        line_start: 316
        source_file: /src/vlc/test/modules/codec/cea708_integration.c
    - condition: (dec->p_module != NULL)
      pos:
        line_end: 292
        line_start: 292
        source_file: /src/vlc/test/modules/codec/cea708_integration.c
    - condition: (fabs(calculated_ratio - integration_tests[i].expected_position_ratio)
        < 0.0001f)
      pos:
        line_end: 329
        line_start: 329
        source_file: /src/vlc/test/modules/codec/cea708_integration.c
    constantsTouched: []
    func_position:
      end: 342
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 342
    functionName: test_end_to_end_aspect_ratio_flow
    functionSourceFile: /src/vlc/test/modules/codec/cea708_integration.c
    functionUses: 0
    functionsReached:
    - fabs
    - assert
    - decoder_Init
    - ARRAY_SIZE
    - es_format_Clean
    - decoder_t*::pf_decode
    - vlc_object_create
    - memcpy
    - test_log
    - decoder_Clean
    - vlc_frame_Alloc
    - vlc_object_delete
    - VLC_OBJECT
    - es_format_Init
    - module_need
    linkageType: ''
    returnType: void
    signature: void test_end_to_end_aspect_ratio_flow(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/modules/codec/cea708_integration.c:346,1
    - Dst: libvlc_new
      Src: /src/vlc/test/modules/codec/cea708_integration.c:348,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708_integration.c:349,1
    - Dst: test_substext_infrastructure_with_aspect_ratio_positioning
      Src: /src/vlc/test/modules/codec/cea708_integration.c:351,1
    - Dst: test_cea708_decoder_loading
      Src: /src/vlc/test/modules/codec/cea708_integration.c:352,1
    - Dst: test_cea708_decoder_with_different_formats
      Src: /src/vlc/test/modules/codec/cea708_integration.c:353,1
    - Dst: test_cea708_subtitle_text_output
      Src: /src/vlc/test/modules/codec/cea708_integration.c:354,1
    - Dst: test_cea708_real_positioning_data
      Src: /src/vlc/test/modules/codec/cea708_integration.c:355,1
    - Dst: test_end_to_end_aspect_ratio_flow
      Src: /src/vlc/test/modules/codec/cea708_integration.c:356,1
    - Dst: libvlc_release
      Src: /src/vlc/test/modules/codec/cea708_integration.c:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (libvlc != NULL)
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/vlc/test/modules/codec/cea708_integration.c
    constantsTouched: []
    func_position:
      end: 361
      start: 344
    functionDepth: 3
    functionLinenumber: 344
    functionLinenumberEnd: 361
    functionName: main
    functionSourceFile: /src/vlc/test/modules/codec/cea708_integration.c
    functionUses: 0
    functionsReached:
    - test_cea708_decoder_loading
    - libvlc_release
    - assert
    - test_cea708_real_positioning_data
    - test_substext_infrastructure_with_aspect_ratio_positioning
    - test_init
    - test_cea708_subtitle_text_output
    - test_end_to_end_aspect_ratio_flow
    - libvlc_new
    - test_cea708_decoder_with_different_formats
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CEA708_Decoder_New
      Src: /src/vlc/test/modules/codec/cea708.c:43,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708.c:44,1
    - Dst: CEA708_Decoder_Push
      Src: /src/vlc/test/modules/codec/cea708.c:68,1
    - Dst: CEA708_Decoder_Release
      Src: /src/vlc/test/modules/codec/cea708.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (dec)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/vlc/test/modules/codec/cea708.c
    constantsTouched: []
    func_position:
      end: 71
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 71
    functionName: test_bt_scroll_underflow
    functionSourceFile: /src/vlc/test/modules/codec/cea708.c
    functionUses: 0
    functionsReached:
    - assert
    - CEA708_Decoder_Push
    - CEA708_Decoder_New
    - CEA708_Decoder_Release
    linkageType: ''
    returnType: void
    signature: void test_bt_scroll_underflow(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/modules/codec/cea708.c:75,1
    - Dst: test_bt_scroll_underflow
      Src: /src/vlc/test/modules/codec/cea708.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: main
    functionSourceFile: /src/vlc/test/modules/codec/cea708.c
    functionUses: 0
    functionsReached:
    - test_init
    - test_bt_scroll_underflow
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:51,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:69,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:83,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (calculated_is_169 == test_cases[i].expected_is_169)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/vlc/test/modules/codec/cea708_aspect_ratio.c
    constantsTouched: []
    func_position:
      end: 92
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 92
    functionName: test_aspect_ratio_calculation
    functionSourceFile: /src/vlc/test/modules/codec/cea708_aspect_ratio.c
    functionUses: 0
    functionsReached:
    - assert
    - ARRAY_SIZE
    - test_log
    linkageType: ''
    returnType: void
    signature: void test_aspect_ratio_calculation(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:98,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:103,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:109,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:112,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:113,1
    - Dst: fabs
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:113,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (left / cols == 0.0f)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/vlc/test/modules/codec/cea708_aspect_ratio.c
    - condition: (fabs(center / cols - 0.5f) < 0.0001f)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/vlc/test/modules/codec/cea708_aspect_ratio.c
    - condition: (right / cols < 1.0f && right / cols > 0.99f)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/vlc/test/modules/codec/cea708_aspect_ratio.c
    constantsTouched: []
    func_position:
      end: 116
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 116
    functionName: test_positioning_accuracy
    functionSourceFile: /src/vlc/test/modules/codec/cea708_aspect_ratio.c
    functionUses: 0
    functionsReached:
    - fabs
    - assert
    - ARRAY_SIZE
    - test_log
    linkageType: ''
    returnType: void
    signature: void test_positioning_accuracy(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:121,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:124,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:125,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:126,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:127,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:131,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:132,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:133,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:134,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:137,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:145,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:146,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:147,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:148,1
    - Dst: fabsf
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:149,1
    - Dst: fabsf
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:150,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:152,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:153,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:154,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:155,1
    - Dst: fabsf
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:156,1
    - Dst: fabsf
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:157,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:159,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:160,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:161,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:162,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:163,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:166,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:169,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:170,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:171,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:177,1
    - Dst: fabs
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:177,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:178,1
    - Dst: fabs
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:178,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (UPDT_REGION_USES_16_9_GRID == (1 << 6))
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/vlc/test/modules/codec/cea708_aspect_ratio.c
    - condition: (fabs(center_169_correct - 0.5f) < 0.001f)
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/vlc/test/modules/codec/cea708_aspect_ratio.c
    - condition: (UPDT_REGION_USES_GRID_COORDINATES == (1 << 5))
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/vlc/test/modules/codec/cea708_aspect_ratio.c
    - condition: (fabs(center_43_correct - 0.5f) < 0.001f)
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/vlc/test/modules/codec/cea708_aspect_ratio.c
    constantsTouched: []
    func_position:
      end: 181
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 181
    functionName: test_current_positioning_issues
    functionSourceFile: /src/vlc/test/modules/codec/cea708_aspect_ratio.c
    functionUses: 0
    functionsReached:
    - fabs
    - assert
    - fabsf
    - test_log
    linkageType: ''
    returnType: void
    signature: void test_current_positioning_issues(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:187,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:226,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:248,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:255,1
    - Dst: test_log
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:258,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (calculated_is_169 == edge_cases[i].expected_is_169)
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/vlc/test/modules/codec/cea708_aspect_ratio.c
    constantsTouched: []
    func_position:
      end: 259
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 259
    functionName: test_edge_cases_and_negative_scenarios
    functionSourceFile: /src/vlc/test/modules/codec/cea708_aspect_ratio.c
    functionUses: 0
    functionsReached:
    - assert
    - ARRAY_SIZE
    - test_log
    linkageType: ''
    returnType: void
    signature: void test_edge_cases_and_negative_scenarios(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:263,1
    - Dst: libvlc_new
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:265,1
    - Dst: assert
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:266,1
    - Dst: test_aspect_ratio_calculation
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:268,1
    - Dst: test_positioning_accuracy
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:269,1
    - Dst: test_current_positioning_issues
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:270,1
    - Dst: test_edge_cases_and_negative_scenarios
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:271,1
    - Dst: libvlc_release
      Src: /src/vlc/test/modules/codec/cea708_aspect_ratio.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (libvlc != NULL)
      pos:
        line_end: 265
        line_start: 265
        source_file: /src/vlc/test/modules/codec/cea708_aspect_ratio.c
    constantsTouched: []
    func_position:
      end: 276
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 276
    functionName: main
    functionSourceFile: /src/vlc/test/modules/codec/cea708_aspect_ratio.c
    functionUses: 0
    functionsReached:
    - test_current_positioning_issues
    - libvlc_release
    - assert
    - test_aspect_ratio_calculation
    - test_init
    - libvlc_new
    - test_positioning_accuracy
    - test_edge_cases_and_negative_scenarios
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_KEYSTORE_VALUES_INIT
      Src: /src/vlc/test/modules/keystore/test.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ppsz_values
    argTypes:
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: values_reinit
    functionSourceFile: /src/vlc/test/modules/keystore/test.c
    functionUses: 0
    functionsReached:
    - VLC_KEYSTORE_VALUES_INIT
    linkageType: ''
    returnType: void
    signature: void values_reinit(const char * ppsz_values[KEY_MAX])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_keystore_find
      Src: /src/vlc/test/modules/keystore/test.c:75,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:80,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:81,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/keystore/test.c:81,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:90,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:91,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/keystore/test.c:91,1
    - Dst: vlc_keystore_release_entries
      Src: /src/vlc/test/modules/keystore/test.c:95,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - p_keystore
    - ppsz_values
    - psz_cmp_secret
    argTypes:
    - vlc_keystore*
    - char*[]
    - char*
    assertStmts:
    - condition: (p_entry->p_secret[p_entry->i_secret_len - 1] == '\0')
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/vlc/test/modules/keystore/test.c
    - condition: (strcmp((const char *)p_entry->p_secret, psz_cmp_secret) == 0)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/vlc/test/modules/keystore/test.c
    - condition: (psz_value2)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/vlc/test/modules/keystore/test.c
    - condition: (strcmp(psz_value1, psz_value2) == 0)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/vlc/test/modules/keystore/test.c
    constantsTouched: []
    func_position:
      end: 97
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 97
    functionName: ks_find
    functionSourceFile: /src/vlc/test/modules/keystore/test.c
    functionUses: 0
    functionsReached:
    - vlc_keystore_release_entries
    - strcmp
    - assert
    - vlc_keystore_find
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int ks_find(vlc_keystore *p_keystore, const char *const ppsz_values[KEY_MAX],\n
      \       const char* psz_cmp_secret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_keystore_remove
      Src: /src/vlc/test/modules/keystore/test.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_keystore
    - ppsz_values
    argTypes:
    - vlc_keystore*
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: ks_remove
    functionSourceFile: /src/vlc/test/modules/keystore/test.c
    functionUses: 0
    functionsReached:
    - vlc_keystore_remove
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int ks_remove(vlc_keystore *p_keystore, const char *const
      ppsz_values[KEY_MAX])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:109,1
    - Dst: vlc_keystore_store
      Src: /src/vlc/test/modules/keystore/test.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p_keystore
    - ppsz_values
    - p_secret
    - i_secret_len
    argTypes:
    - vlc_keystore*
    - char*[]
    - uint8_t*
    - size_t
    assertStmts:
    - condition: "(vlc_keystore_store(p_keystore, ppsz_values,\n                              (const
        uint8_t *)p_secret,\n                              i_secret_len,\n                              \"libVLC
        TEST\") == VLC_SUCCESS)"
      pos:
        line_end: 111
        line_start: 108
        source_file: /src/vlc/test/modules/keystore/test.c
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: ks_store
    functionSourceFile: /src/vlc/test/modules/keystore/test.c
    functionUses: 0
    functionsReached:
    - vlc_keystore_store
    - assert
    linkageType: ''
    returnType: void
    signature: "void ks_store(vlc_keystore *p_keystore, const char *const ppsz_values[KEY_MAX],\n
      \        const uint8_t* p_secret, size_t i_secret_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/test/modules/keystore/test.c:129,1
    - Dst: printf
      Src: /src/vlc/test/modules/keystore/test.c:131,1
    - Dst: libvlc_new
      Src: /src/vlc/test/modules/keystore/test.c:132,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:133,1
    - Dst: vlc_interrupt_create
      Src: /src/vlc/test/modules/keystore/test.c:135,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:136,1
    - Dst: printf
      Src: /src/vlc/test/modules/keystore/test.c:138,1
    - Dst: vlc_keystore_create
      Src: /src/vlc/test/modules/keystore/test.c:139,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:140,1
    - Dst: printf
      Src: /src/vlc/test/modules/keystore/test.c:146,1
    - Dst: VALUES_REINIT
      Src: /src/vlc/test/modules/keystore/test.c:147,1
    - Dst: VALUES_INSERT
      Src: /src/vlc/test/modules/keystore/test.c:148,1
    - Dst: VALUES_INSERT
      Src: /src/vlc/test/modules/keystore/test.c:149,1
    - Dst: VALUES_INSERT
      Src: /src/vlc/test/modules/keystore/test.c:150,1
    - Dst: VALUES_INSERT
      Src: /src/vlc/test/modules/keystore/test.c:151,1
    - Dst: VALUES_INSERT
      Src: /src/vlc/test/modules/keystore/test.c:152,1
    - Dst: VALUES_INSERT
      Src: /src/vlc/test/modules/keystore/test.c:153,1
    - Dst: KS_FIND
      Src: /src/vlc/test/modules/keystore/test.c:154,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:155,1
    - Dst: printf
      Src: /src/vlc/test/modules/keystore/test.c:157,1
    - Dst: KS_STORE
      Src: /src/vlc/test/modules/keystore/test.c:158,1
    - Dst: KS_FIND
      Src: /src/vlc/test/modules/keystore/test.c:159,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:160,1
    - Dst: printf
      Src: /src/vlc/test/modules/keystore/test.c:162,1
    - Dst: KS_STORE
      Src: /src/vlc/test/modules/keystore/test.c:164,1
    - Dst: KS_FIND
      Src: /src/vlc/test/modules/keystore/test.c:165,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:166,1
    - Dst: printf
      Src: /src/vlc/test/modules/keystore/test.c:168,1
    - Dst: VALUES_INSERT
      Src: /src/vlc/test/modules/keystore/test.c:169,1
    - Dst: KS_FIND
      Src: /src/vlc/test/modules/keystore/test.c:170,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:171,1
    - Dst: KS_STORE
      Src: /src/vlc/test/modules/keystore/test.c:172,1
    - Dst: KS_FIND
      Src: /src/vlc/test/modules/keystore/test.c:173,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:174,1
    - Dst: printf
      Src: /src/vlc/test/modules/keystore/test.c:176,1
    - Dst: VALUES_INSERT
      Src: /src/vlc/test/modules/keystore/test.c:177,1
    - Dst: KS_FIND
      Src: /src/vlc/test/modules/keystore/test.c:178,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:179,1
    - Dst: printf
      Src: /src/vlc/test/modules/keystore/test.c:181,1
    - Dst: VALUES_INSERT
      Src: /src/vlc/test/modules/keystore/test.c:182,1
    - Dst: KS_STORE
      Src: /src/vlc/test/modules/keystore/test.c:183,1
    - Dst: VALUES_INSERT
      Src: /src/vlc/test/modules/keystore/test.c:184,1
    - Dst: KS_FIND
      Src: /src/vlc/test/modules/keystore/test.c:185,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:186,1
    - Dst: printf
      Src: /src/vlc/test/modules/keystore/test.c:190,1
    - Dst: vlc_keystore_release
      Src: /src/vlc/test/modules/keystore/test.c:191,1
    - Dst: vlc_keystore_create
      Src: /src/vlc/test/modules/keystore/test.c:192,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:193,1
    - Dst: KS_FIND
      Src: /src/vlc/test/modules/keystore/test.c:194,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:195,1
    - Dst: VALUES_REINIT
      Src: /src/vlc/test/modules/keystore/test.c:198,1
    - Dst: VALUES_INSERT
      Src: /src/vlc/test/modules/keystore/test.c:199,1
    - Dst: VALUES_INSERT
      Src: /src/vlc/test/modules/keystore/test.c:200,1
    - Dst: VALUES_INSERT
      Src: /src/vlc/test/modules/keystore/test.c:201,1
    - Dst: VALUES_INSERT
      Src: /src/vlc/test/modules/keystore/test.c:202,1
    - Dst: printf
      Src: /src/vlc/test/modules/keystore/test.c:206,1
    - Dst: KS_FIND
      Src: /src/vlc/test/modules/keystore/test.c:208,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:209,1
    - Dst: vlc_keystore_create
      Src: /src/vlc/test/modules/keystore/test.c:212,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:213,1
    - Dst: KS_STORE
      Src: /src/vlc/test/modules/keystore/test.c:215,1
    - Dst: KS_FIND
      Src: /src/vlc/test/modules/keystore/test.c:216,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:217,1
    - Dst: vlc_keystore_release
      Src: /src/vlc/test/modules/keystore/test.c:219,1
    - Dst: KS_FIND
      Src: /src/vlc/test/modules/keystore/test.c:221,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:222,1
    - Dst: printf
      Src: /src/vlc/test/modules/keystore/test.c:226,1
    - Dst: KS_FIND
      Src: /src/vlc/test/modules/keystore/test.c:227,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:228,1
    - Dst: KS_STORE
      Src: /src/vlc/test/modules/keystore/test.c:229,1
    - Dst: KS_FIND
      Src: /src/vlc/test/modules/keystore/test.c:230,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:231,1
    - Dst: printf
      Src: /src/vlc/test/modules/keystore/test.c:235,1
    - Dst: VALUES_REINIT
      Src: /src/vlc/test/modules/keystore/test.c:236,1
    - Dst: VALUES_INSERT
      Src: /src/vlc/test/modules/keystore/test.c:237,1
    - Dst: VALUES_INSERT
      Src: /src/vlc/test/modules/keystore/test.c:238,1
    - Dst: KS_FIND
      Src: /src/vlc/test/modules/keystore/test.c:239,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:240,1
    - Dst: KS_STORE
      Src: /src/vlc/test/modules/keystore/test.c:241,1
    - Dst: KS_FIND
      Src: /src/vlc/test/modules/keystore/test.c:242,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:243,1
    - Dst: printf
      Src: /src/vlc/test/modules/keystore/test.c:245,1
    - Dst: VALUES_REINIT
      Src: /src/vlc/test/modules/keystore/test.c:246,1
    - Dst: VALUES_INSERT
      Src: /src/vlc/test/modules/keystore/test.c:247,1
    - Dst: KS_FIND
      Src: /src/vlc/test/modules/keystore/test.c:248,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:249,1
    - Dst: VALUES_REINIT
      Src: /src/vlc/test/modules/keystore/test.c:250,1
    - Dst: VALUES_INSERT
      Src: /src/vlc/test/modules/keystore/test.c:251,1
    - Dst: KS_FIND
      Src: /src/vlc/test/modules/keystore/test.c:252,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:253,1
    - Dst: VALUES_REINIT
      Src: /src/vlc/test/modules/keystore/test.c:254,1
    - Dst: VALUES_INSERT
      Src: /src/vlc/test/modules/keystore/test.c:255,1
    - Dst: KS_FIND
      Src: /src/vlc/test/modules/keystore/test.c:256,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:257,1
    - Dst: printf
      Src: /src/vlc/test/modules/keystore/test.c:259,1
    - Dst: VALUES_REINIT
      Src: /src/vlc/test/modules/keystore/test.c:260,1
    - Dst: KS_FIND
      Src: /src/vlc/test/modules/keystore/test.c:261,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:262,1
    - Dst: printf
      Src: /src/vlc/test/modules/keystore/test.c:266,1
    - Dst: getchar
      Src: /src/vlc/test/modules/keystore/test.c:267,1
    - Dst: printf
      Src: /src/vlc/test/modules/keystore/test.c:270,1
    - Dst: VALUES_REINIT
      Src: /src/vlc/test/modules/keystore/test.c:271,1
    - Dst: VALUES_INSERT
      Src: /src/vlc/test/modules/keystore/test.c:272,1
    - Dst: KS_REMOVE
      Src: /src/vlc/test/modules/keystore/test.c:273,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:274,1
    - Dst: printf
      Src: /src/vlc/test/modules/keystore/test.c:276,1
    - Dst: VALUES_INSERT
      Src: /src/vlc/test/modules/keystore/test.c:277,1
    - Dst: KS_REMOVE
      Src: /src/vlc/test/modules/keystore/test.c:278,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:279,1
    - Dst: printf
      Src: /src/vlc/test/modules/keystore/test.c:281,1
    - Dst: VALUES_REINIT
      Src: /src/vlc/test/modules/keystore/test.c:282,1
    - Dst: VALUES_INSERT
      Src: /src/vlc/test/modules/keystore/test.c:283,1
    - Dst: KS_REMOVE
      Src: /src/vlc/test/modules/keystore/test.c:284,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:285,1
    - Dst: printf
      Src: /src/vlc/test/modules/keystore/test.c:287,1
    - Dst: VALUES_REINIT
      Src: /src/vlc/test/modules/keystore/test.c:288,1
    - Dst: KS_FIND
      Src: /src/vlc/test/modules/keystore/test.c:289,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:290,1
    - Dst: vlc_keystore_release
      Src: /src/vlc/test/modules/keystore/test.c:292,1
    - Dst: vlc_interrupt_destroy
      Src: /src/vlc/test/modules/keystore/test.c:294,1
    - Dst: libvlc_release
      Src: /src/vlc/test/modules/keystore/test.c:296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 128
    argCount: 5
    argNames:
    - psz_module
    - b_test_all
    - b_persistent
    - argc
    - argv
    argTypes:
    - char*
    - bool
    - bool
    - int
    - char**
    assertStmts:
    - condition: (i_entries == 0)
      pos:
        line_end: 227
        line_start: 227
        source_file: /src/vlc/test/modules/keystore/test.c
    - condition: (i_entries == 1)
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/vlc/test/modules/keystore/test.c
    - condition: (ctx != NULL)
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/vlc/test/modules/keystore/test.c
    - condition: (i_entries == 1)
      pos:
        line_end: 248
        line_start: 248
        source_file: /src/vlc/test/modules/keystore/test.c
    - condition: (p_keystore)
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/vlc/test/modules/keystore/test.c
    - condition: (p_keystore)
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/vlc/test/modules/keystore/test.c
    - condition: (i_entries == 1)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/vlc/test/modules/keystore/test.c
    - condition: (i_entries == 1)
      pos:
        line_end: 284
        line_start: 284
        source_file: /src/vlc/test/modules/keystore/test.c
    - condition: (i_entries == 0)
      pos:
        line_end: 289
        line_start: 289
        source_file: /src/vlc/test/modules/keystore/test.c
    - condition: (i_entries == 0)
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/vlc/test/modules/keystore/test.c
    - condition: (i_entries == 1)
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/vlc/test/modules/keystore/test.c
    - condition: (i_entries == 1)
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/vlc/test/modules/keystore/test.c
    - condition: (i_entries == 0)
      pos:
        line_end: 239
        line_start: 239
        source_file: /src/vlc/test/modules/keystore/test.c
    - condition: (i_entries == 0)
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/vlc/test/modules/keystore/test.c
    - condition: (i_entries == 1)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/vlc/test/modules/keystore/test.c
    - condition: (p_libvlc != NULL)
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/vlc/test/modules/keystore/test.c
    - condition: (i_entries == 2)
      pos:
        line_end: 273
        line_start: 273
        source_file: /src/vlc/test/modules/keystore/test.c
    - condition: (p_keystore)
      pos:
        line_end: 192
        line_start: 192
        source_file: /src/vlc/test/modules/keystore/test.c
    - condition: (i_entries == 2)
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/vlc/test/modules/keystore/test.c
    - condition: (i_entries == 2)
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/vlc/test/modules/keystore/test.c
    - condition: (i_entries == 1)
      pos:
        line_end: 242
        line_start: 242
        source_file: /src/vlc/test/modules/keystore/test.c
    - condition: (i_entries == 4)
      pos:
        line_end: 261
        line_start: 261
        source_file: /src/vlc/test/modules/keystore/test.c
    - condition: (i_entries == 1)
      pos:
        line_end: 278
        line_start: 278
        source_file: /src/vlc/test/modules/keystore/test.c
    - condition: (i_entries == 2)
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/vlc/test/modules/keystore/test.c
    - condition: (i_entries == 1)
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/vlc/test/modules/keystore/test.c
    - condition: (i_entries == 0)
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/vlc/test/modules/keystore/test.c
    - condition: (i_entries == 1)
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/vlc/test/modules/keystore/test.c
    - condition: (i_entries == 2)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/vlc/test/modules/keystore/test.c
    constantsTouched: []
    func_position:
      end: 297
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 297
    functionName: test_module
    functionSourceFile: /src/vlc/test/modules/keystore/test.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - vlc_interrupt_destroy
    - assert
    - VALUES_INSERT
    - vlc_interrupt_create
    - printf
    - getchar
    - libvlc_new
    - KS_FIND
    - KS_REMOVE
    - VALUES_REINIT
    - KS_STORE
    - vlc_keystore_create
    - vlc_keystore_release
    linkageType: ''
    returnType: void
    signature: "void test_module(const char *psz_module, bool b_test_all, bool b_persistent,\n
      \           int argc, const char * const *argv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i_key
    - ','
    - psz_value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: VALUES_INSERT
    functionSourceFile: /src/vlc/test/modules/keystore/test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALUES_INSERT(i_key, psz_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: VALUES_REINIT
    functionSourceFile: /src/vlc/test/modules/keystore/test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALUES_REINIT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: KS_FIND
    functionSourceFile: /src/vlc/test/modules/keystore/test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KS_FIND()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: KS_REMOVE
    functionSourceFile: /src/vlc/test/modules/keystore/test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KS_REMOVE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: KS_STORE
    functionSourceFile: /src/vlc/test/modules/keystore/test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KS_STORE()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_setup
      Src: /src/vlc/test/modules/keystore/test.c:302,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/keystore/test.c:305,1
    - Dst: alarm
      Src: /src/vlc/test/modules/keystore/test.c:308,1
    - Dst: libvlc_new
      Src: /src/vlc/test/modules/keystore/test.c:311,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:312,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/modules/keystore/test.c:314,1
    - Dst: module_exists
      Src: /src/vlc/test/modules/keystore/test.c:319,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:326,1
    - Dst: asprintf
      Src: /src/vlc/test/modules/keystore/test.c:326,1
    - Dst: strcmp
      Src: /src/vlc/test/modules/keystore/test.c:329,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:331,1
    - Dst: vlc_mkstemp
      Src: /src/vlc/test/modules/keystore/test.c:331,1
    - Dst: printf
      Src: /src/vlc/test/modules/keystore/test.c:332,1
    - Dst: assert
      Src: /src/vlc/test/modules/keystore/test.c:333,1
    - Dst: asprintf
      Src: /src/vlc/test/modules/keystore/test.c:333,1
    - Dst: test_module
      Src: /src/vlc/test/modules/keystore/test.c:338,1
    - Dst: vlc_close
      Src: /src/vlc/test/modules/keystore/test.c:343,1
    - Dst: unlink
      Src: /src/vlc/test/modules/keystore/test.c:344,1
    - Dst: free
      Src: /src/vlc/test/modules/keystore/test.c:346,1
    - Dst: free
      Src: /src/vlc/test/modules/keystore/test.c:347,1
    - Dst: printf
      Src: /src/vlc/test/modules/keystore/test.c:350,1
    - Dst: libvlc_release
      Src: /src/vlc/test/modules/keystore/test.c:352,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - i_argc
    - ppsz_argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: "(asprintf(&ppsz_vlc_argv[0], \"--keystore=%s,none\",\n                   psz_module)
        != -1)"
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/vlc/test/modules/keystore/test.c
    - condition: "(asprintf(&ppsz_vlc_argv[1],\n                       \"--keystore-file=%s\",
        psz_tmp_path) != -1)"
      pos:
        line_end: 333
        line_start: 332
        source_file: /src/vlc/test/modules/keystore/test.c
    - condition: (p_libvlc != NULL)
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/vlc/test/modules/keystore/test.c
    - condition: ((i_tmp_fd = vlc_mkstemp(psz_tmp_path)) != -1)
      pos:
        line_end: 330
        line_start: 330
        source_file: /src/vlc/test/modules/keystore/test.c
    constantsTouched: []
    func_position:
      end: 355
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 355
    functionName: main
    functionSourceFile: /src/vlc/test/modules/keystore/test.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - test_setup
    - assert
    - asprintf
    - ARRAY_SIZE
    - alarm
    - vlc_close
    - vlc_mkstemp
    - printf
    - module_exists
    - libvlc_new
    - unlink
    - strcmp
    - free
    - test_module
    linkageType: ''
    returnType: int
    signature: int main(int i_argc, char *ppsz_argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_new
      Src: /src/vlc/test/src/media_source/media_source.c:44,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/media_source/media_source.c:44,1
    - Dst: assert
      Src: /src/vlc/test/src/media_source/media_source.c:45,1
    - Dst: vlc_media_source_provider_Get
      Src: /src/vlc/test/src/media_source/media_source.c:48,1
    - Dst: assert
      Src: /src/vlc/test/src/media_source/media_source.c:49,1
    - Dst: vlc_media_source_provider_List
      Src: /src/vlc/test/src/media_source/media_source.c:52,1
    - Dst: assert
      Src: /src/vlc/test/src/media_source/media_source.c:53,1
    - Dst: vlc_media_source_meta_list_Count
      Src: /src/vlc/test/src/media_source/media_source.c:55,1
    - Dst: assert
      Src: /src/vlc/test/src/media_source/media_source.c:56,1
    - Dst: vlc_media_source_meta_list_Get
      Src: /src/vlc/test/src/media_source/media_source.c:60,1
    - Dst: assert
      Src: /src/vlc/test/src/media_source/media_source.c:61,1
    - Dst: assert
      Src: /src/vlc/test/src/media_source/media_source.c:62,1
    - Dst: assert
      Src: /src/vlc/test/src/media_source/media_source.c:63,1
    - Dst: assert
      Src: /src/vlc/test/src/media_source/media_source.c:64,1
    - Dst: vlc_media_source_meta_list_Delete
      Src: /src/vlc/test/src/media_source/media_source.c:67,1
    - Dst: libvlc_release
      Src: /src/vlc/test/src/media_source/media_source.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (vlc)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/vlc/test/src/media_source/media_source.c
    - condition: (provider)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/vlc/test/src/media_source/media_source.c
    - condition: (list)
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/vlc/test/src/media_source/media_source.c
    - condition: (count)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/vlc/test/src/media_source/media_source.c
    - condition: (meta)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/vlc/test/src/media_source/media_source.c
    - condition: (meta->name)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/vlc/test/src/media_source/media_source.c
    - condition: (meta->category)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/vlc/test/src/media_source/media_source.c
    - condition: (meta->longname)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/vlc/test/src/media_source/media_source.c
    constantsTouched: []
    func_position:
      end: 69
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 69
    functionName: test_list
    functionSourceFile: /src/vlc/test/src/media_source/media_source.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - vlc_media_source_provider_Get
    - assert
    - ARRAY_SIZE
    - libvlc_new
    - vlc_media_source_provider_List
    - vlc_media_source_meta_list_Delete
    - vlc_media_source_meta_list_Get
    - vlc_media_source_meta_list_Count
    linkageType: ''
    returnType: void
    signature: void test_list(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_new
      Src: /src/vlc/test/src/media_source/media_source.c:74,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/media_source/media_source.c:74,1
    - Dst: assert
      Src: /src/vlc/test/src/media_source/media_source.c:75,1
    - Dst: vlc_media_source_provider_Get
      Src: /src/vlc/test/src/media_source/media_source.c:78,1
    - Dst: assert
      Src: /src/vlc/test/src/media_source/media_source.c:79,1
    - Dst: vlc_media_source_provider_List
      Src: /src/vlc/test/src/media_source/media_source.c:82,1
    - Dst: assert
      Src: /src/vlc/test/src/media_source/media_source.c:83,1
    - Dst: vlc_media_source_meta_list_Count
      Src: /src/vlc/test/src/media_source/media_source.c:85,1
    - Dst: assert
      Src: /src/vlc/test/src/media_source/media_source.c:86,1
    - Dst: vlc_media_source_meta_list_Get
      Src: /src/vlc/test/src/media_source/media_source.c:90,1
    - Dst: assert
      Src: /src/vlc/test/src/media_source/media_source.c:91,1
    - Dst: assert
      Src: /src/vlc/test/src/media_source/media_source.c:92,1
    - Dst: assert
      Src: /src/vlc/test/src/media_source/media_source.c:93,1
    - Dst: assert
      Src: /src/vlc/test/src/media_source/media_source.c:94,1
    - Dst: vlc_media_source_meta_list_Delete
      Src: /src/vlc/test/src/media_source/media_source.c:97,1
    - Dst: libvlc_release
      Src: /src/vlc/test/src/media_source/media_source.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (vlc)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/vlc/test/src/media_source/media_source.c
    - condition: (provider)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/vlc/test/src/media_source/media_source.c
    - condition: (list)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/vlc/test/src/media_source/media_source.c
    - condition: (count)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/vlc/test/src/media_source/media_source.c
    - condition: (meta->name)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/vlc/test/src/media_source/media_source.c
    - condition: (meta->longname)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/vlc/test/src/media_source/media_source.c
    - condition: (meta->category == SD_CAT_LAN)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/vlc/test/src/media_source/media_source.c
    - condition: (meta)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/vlc/test/src/media_source/media_source.c
    constantsTouched: []
    func_position:
      end: 99
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 99
    functionName: test_list_filtered_by_category
    functionSourceFile: /src/vlc/test/src/media_source/media_source.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - vlc_media_source_provider_Get
    - assert
    - ARRAY_SIZE
    - libvlc_new
    - vlc_media_source_provider_List
    - vlc_media_source_meta_list_Delete
    - vlc_media_source_meta_list_Get
    - vlc_media_source_meta_list_Count
    linkageType: ''
    returnType: void
    signature: void test_list_filtered_by_category(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/src/media_source/media_source.c:103,1
    - Dst: test_list
      Src: /src/vlc/test/src/media_source/media_source.c:105,1
    - Dst: test_list_filtered_by_category
      Src: /src/vlc/test/src/media_source/media_source.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: main
    functionSourceFile: /src/vlc/test/src/media_source/media_source.c
    functionUses: 0
    functionsReached:
    - test_init
    - test_list
    - test_list_filtered_by_category
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/test/src/crypto/update.c:195,1
    - Dst: malloc
      Src: /src/vlc/test/src/crypto/update.c:196,1
    - Dst: assert
      Src: /src/vlc/test/src/crypto/update.c:197,1
    - Dst: pgp_unarmor
      Src: /src/vlc/test/src/crypto/update.c:198,1
    - Dst: assert
      Src: /src/vlc/test/src/crypto/update.c:200,1
    - Dst: packet_type
      Src: /src/vlc/test/src/crypto/update.c:200,1
    - Dst: packet_header_len
      Src: /src/vlc/test/src/crypto/update.c:202,1
    - Dst: assert
      Src: /src/vlc/test/src/crypto/update.c:203,1
    - Dst: assert
      Src: /src/vlc/test/src/crypto/update.c:204,1
    - Dst: scalar_number
      Src: /src/vlc/test/src/crypto/update.c:206,1
    - Dst: assert
      Src: /src/vlc/test/src/crypto/update.c:207,1
    - Dst: assert
      Src: /src/vlc/test/src/crypto/update.c:209,1
    - Dst: parse_signature_packet
      Src: /src/vlc/test/src/crypto/update.c:209,1
    - Dst: assert
      Src: /src/vlc/test/src/crypto/update.c:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - s
    - sig
    argTypes:
    - signature_packet_t*
    - uint8_t*
    assertStmts:
    - condition: (sig[0] < 0x80)
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/vlc/test/src/crypto/update.c
    - condition: (packet_type(unarmored_sig[0]) == SIGNATURE_PACKET)
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/vlc/test/src/crypto/update.c
    - condition: (header_len == 1 || header_len == 2 || header_len == 4)
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/vlc/test/src/crypto/update.c
    - condition: (header_len < bytes)
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/vlc/test/src/crypto/update.c
    - condition: (!parse_signature_packet(s, &unarmored_sig[1+header_len], len))
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/vlc/test/src/crypto/update.c
    - condition: (s->type == BINARY_SIGNATURE || s->type == TEXT_SIGNATURE)
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/vlc/test/src/crypto/update.c
    - condition: (len + header_len + 1 == bytes)
      pos:
        line_end: 206
        line_start: 206
        source_file: /src/vlc/test/src/crypto/update.c
    constantsTouched: []
    func_position:
      end: 212
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 212
    functionName: parse_sig
    functionSourceFile: /src/vlc/test/src/crypto/update.c
    functionUses: 0
    functionsReached:
    - scalar_number
    - assert
    - packet_type
    - strlen
    - parse_signature_packet
    - pgp_unarmor
    - packet_header_len
    - malloc
    linkageType: ''
    returnType: void
    signature: void parse_sig(signature_packet_t *s, const uint8_t *sig)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hash_from_text
      Src: /src/vlc/test/src/crypto/update.c:221,1
    - Dst: hash_from_public_key
      Src: /src/vlc/test/src/crypto/update.c:224,1
    - Dst: assert
      Src: /src/vlc/test/src/crypto/update.c:228,1
    - Dst: assert
      Src: /src/vlc/test/src/crypto/update.c:231,1
    - Dst: memcmp
      Src: /src/vlc/test/src/crypto/update.c:231,1
    - Dst: memcmp
      Src: /src/vlc/test/src/crypto/update.c:233,1
    - Dst: assert
      Src: /src/vlc/test/src/crypto/update.c:234,1
    - Dst: check
      Src: /src/vlc/test/src/crypto/update.c:235,1
    - Dst: assert
      Src: /src/vlc/test/src/crypto/update.c:239,1
    - Dst: verify_signature
      Src: /src/vlc/test/src/crypto/update.c:239,1
    - Dst: fprintf
      Src: /src/vlc/test/src/crypto/update.c:241,1
    - Dst: gcry_md_algo_name
      Src: /src/vlc/test/src/crypto/update.c:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 6
    argNames:
    - key
    - key2
    - data
    - sig
    - key_longid
    - key_longid2
    argTypes:
    - public_key_t*
    - public_key_t*
    - char*
    - signature_packet_t*
    - uint8_t*
    - uint8_t*
    assertStmts:
    - condition: (!memcmp(hash, sig->hash_verification, 2))
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/vlc/test/src/crypto/update.c
    - condition: (hash)
      pos:
        line_end: 227
        line_start: 227
        source_file: /src/vlc/test/src/crypto/update.c
    - condition: (key2 && key_longid2)
      pos:
        line_end: 233
        line_start: 233
        source_file: /src/vlc/test/src/crypto/update.c
    - condition: (!verify_signature(sig, &key->key, hash))
      pos:
        line_end: 238
        line_start: 238
        source_file: /src/vlc/test/src/crypto/update.c
    constantsTouched: []
    func_position:
      end: 246
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 246
    functionName: check
    functionSourceFile: /src/vlc/test/src/crypto/update.c
    functionUses: 2
    functionsReached:
    - assert
    - hash_from_text
    - fprintf
    - hash_from_public_key
    - verify_signature
    - gcry_md_algo_name
    - check
    - memcmp
    linkageType: ''
    returnType: void
    signature: "void check(public_key_t *key, public_key_t *key2, const char *data,\n
      \   signature_packet_t *sig, const uint8_t *key_longid, const uint8_t *key_longid2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/vlc/test/src/crypto/update.c:254,1
    - Dst: fprintf
      Src: /src/vlc/test/src/crypto/update.c:257,1
    - Dst: gcry_pk_algo_name
      Src: /src/vlc/test/src/crypto/update.c:260,1
    - Dst: scalar_number
      Src: /src/vlc/test/src/crypto/update.c:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - key
    argTypes:
    - public_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 261
    functionName: print_key
    functionSourceFile: /src/vlc/test/src/crypto/update.c
    functionUses: 0
    functionsReached:
    - scalar_number
    - fprintf
    - abort
    - gcry_pk_algo_name
    linkageType: ''
    returnType: void
    signature: void print_key(public_key_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/crypto/update.c:268,1
    - Dst: parse_public_key
      Src: /src/vlc/test/src/crypto/update.c:268,1
    - Dst: memcpy
      Src: /src/vlc/test/src/crypto/update.c:270,1
    - Dst: print_key
      Src: /src/vlc/test/src/crypto/update.c:271,1
    - Dst: parse_sig
      Src: /src/vlc/test/src/crypto/update.c:273,1
    - Dst: check
      Src: /src/vlc/test/src/crypto/update.c:274,1
    - Dst: assert
      Src: /src/vlc/test/src/crypto/update.c:279,1
    - Dst: parse_public_key
      Src: /src/vlc/test/src/crypto/update.c:279,1
    - Dst: memcpy
      Src: /src/vlc/test/src/crypto/update.c:281,1
    - Dst: print_key
      Src: /src/vlc/test/src/crypto/update.c:282,1
    - Dst: parse_sig
      Src: /src/vlc/test/src/crypto/update.c:284,1
    - Dst: check
      Src: /src/vlc/test/src/crypto/update.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: "(!parse_public_key(public_key, sizeof(public_key),\n            &key,
        key_longid))"
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/vlc/test/src/crypto/update.c
    - condition: "(!parse_public_key(public_key2, sizeof(public_key2),\n            &key2,
        key_longid2))"
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/vlc/test/src/crypto/update.c
    constantsTouched: []
    func_position:
      end: 287
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 287
    functionName: main
    functionSourceFile: /src/vlc/test/src/crypto/update.c
    functionUses: 0
    functionsReached:
    - assert
    - parse_public_key
    - memcpy
    - parse_sig
    - print_key
    - check
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - media
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 16
    functionName: assert_media_name
    functionSourceFile: /src/vlc/test/src/player/media.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assert_media_name(media, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/src/player/media.c:20,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/player/media.c:22,1
    - Dst: DEFAULT_MEDIA_PARAMS
      Src: /src/vlc/test/src/player/media.c:24,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/media.c:24,1
    - Dst: create_mock_media
      Src: /src/vlc/test/src/player/media.c:29,1
    - Dst: assert
      Src: /src/vlc/test/src/player/media.c:30,1
    - Dst: vlc_player_SetNextMedia
      Src: /src/vlc/test/src/player/media.c:31,1
    - Dst: assert
      Src: /src/vlc/test/src/player/media.c:34,1
    - Dst: vlc_player_GetNextMedia
      Src: /src/vlc/test/src/player/media.c:34,1
    - Dst: input_item_Release
      Src: /src/vlc/test/src/player/media.c:35,1
    - Dst: player_set_next_mock_media
      Src: /src/vlc/test/src/player/media.c:38,1
    - Dst: player_set_rate
      Src: /src/vlc/test/src/player/media.c:39,1
    - Dst: player_start
      Src: /src/vlc/test/src/player/media.c:40,1
    - Dst: test_prestop
      Src: /src/vlc/test/src/player/media.c:42,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/media.c:43,1
    - Dst: assert_normal_state
      Src: /src/vlc/test/src/player/media.c:44,1
    - Dst: assert
      Src: /src/vlc/test/src/player/media.c:49,1
    - Dst: assert
      Src: /src/vlc/test/src/player/media.c:50,1
    - Dst: assert_media_name
      Src: /src/vlc/test/src/player/media.c:52,1
    - Dst: test_end
      Src: /src/vlc/test/src/player/media.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts:
    - condition: (media)
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/vlc/test/src/player/media.c
    - condition: (vlc_player_GetNextMedia(ctx->player) == media)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/vlc/test/src/player/media.c
    - condition: (vec->size == media_count)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/vlc/test/src/player/media.c
    - condition: (ctx->next_medias.size == 0)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/vlc/test/src/player/media.c
    constantsTouched: []
    func_position:
      end: 56
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 56
    functionName: test_next_media
    functionSourceFile: /src/vlc/test/src/player/media.c
    functionUses: 0
    functionsReached:
    - test_end
    - wait_state
    - assert
    - ARRAY_SIZE
    - test_prestop
    - assert_media_name
    - input_item_Release
    - assert_normal_state
    - VLC_TICK_FROM_MS
    - player_set_next_mock_media
    - test_log
    - create_mock_media
    - player_set_rate
    - vlc_player_GetNextMedia
    - DEFAULT_MEDIA_PARAMS
    - vlc_player_SetNextMedia
    - player_start
    linkageType: ''
    returnType: void
    signature: void test_next_media(struct ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/src/player/media.c:61,1
    - Dst: DEFAULT_MEDIA_PARAMS
      Src: /src/vlc/test/src/player/media.c:64,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/media.c:64,1
    - Dst: player_set_current_mock_media
      Src: /src/vlc/test/src/player/media.c:66,1
    - Dst: vlc_player_GetCurrentMedia
      Src: /src/vlc/test/src/player/media.c:68,1
    - Dst: assert
      Src: /src/vlc/test/src/player/media.c:69,1
    - Dst: input_item_Hold
      Src: /src/vlc/test/src/player/media.c:71,1
    - Dst: vlc_player_SetCurrentMedia
      Src: /src/vlc/test/src/player/media.c:72,1
    - Dst: vlc_vector_push
      Src: /src/vlc/test/src/player/media.c:73,1
    - Dst: assert
      Src: /src/vlc/test/src/player/media.c:74,1
    - Dst: player_start
      Src: /src/vlc/test/src/player/media.c:76,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/media.c:78,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/media.c:79,1
    - Dst: test_end
      Src: /src/vlc/test/src/player/media.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts:
    - condition: (media)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/vlc/test/src/player/media.c
    - condition: (success)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/vlc/test/src/player/media.c
    constantsTouched: []
    func_position:
      end: 82
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 82
    functionName: test_same_media
    functionSourceFile: /src/vlc/test/src/player/media.c
    functionUses: 0
    functionsReached:
    - test_end
    - wait_state
    - assert
    - input_item_Hold
    - VLC_TICK_FROM_MS
    - test_log
    - vlc_player_SetCurrentMedia
    - DEFAULT_MEDIA_PARAMS
    - player_set_current_mock_media
    - vlc_vector_push
    - player_start
    - vlc_player_GetCurrentMedia
    linkageType: ''
    returnType: void
    signature: void test_same_media(struct ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/src/player/media.c:87,1
    - Dst: DEFAULT_MEDIA_PARAMS
      Src: /src/vlc/test/src/player/media.c:90,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/media.c:90,1
    - Dst: player_set_current_mock_media
      Src: /src/vlc/test/src/player/media.c:96,1
    - Dst: player_set_current_mock_media
      Src: /src/vlc/test/src/player/media.c:97,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/media.c:102,1
    - Dst: player_start
      Src: /src/vlc/test/src/player/media.c:104,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/media.c:106,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/media.c:107,1
    - Dst: test_end
      Src: /src/vlc/test/src/player/media.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 110
    functionName: test_media_stopped
    functionSourceFile: /src/vlc/test/src/player/media.c
    functionUses: 0
    functionsReached:
    - test_end
    - wait_state
    - vlc_player_CondWait
    - VLC_TICK_FROM_MS
    - test_log
    - DEFAULT_MEDIA_PARAMS
    - player_set_current_mock_media
    - player_start
    linkageType: ''
    returnType: void
    signature: void test_media_stopped(struct ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/src/player/media.c:115,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/player/media.c:117,1
    - Dst: DEFAULT_MEDIA_PARAMS
      Src: /src/vlc/test/src/player/media.c:120,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/media.c:120,1
    - Dst: player_set_current_mock_media
      Src: /src/vlc/test/src/player/media.c:123,1
    - Dst: player_set_current_mock_media
      Src: /src/vlc/test/src/player/media.c:125,1
    - Dst: player_start
      Src: /src/vlc/test/src/player/media.c:126,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/media.c:128,1
    - Dst: assert
      Src: /src/vlc/test/src/player/media.c:134,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/media.c:139,1
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/media.c:141,1
    - Dst: assert
      Src: /src/vlc/test/src/player/media.c:142,1
    - Dst: assert
      Src: /src/vlc/test/src/player/media.c:143,1
    - Dst: vlc_player_GetCurrentMedia
      Src: /src/vlc/test/src/player/media.c:143,1
    - Dst: assert
      Src: /src/vlc/test/src/player/media.c:144,1
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/media.c:144,1
    - Dst: assert_media_name
      Src: /src/vlc/test/src/player/media.c:145,1
    - Dst: create_mock_media
      Src: /src/vlc/test/src/player/media.c:152,1
    - Dst: assert
      Src: /src/vlc/test/src/player/media.c:153,1
    - Dst: vlc_player_SetCurrentMedia
      Src: /src/vlc/test/src/player/media.c:154,1
    - Dst: assert
      Src: /src/vlc/test/src/player/media.c:155,1
    - Dst: assert
      Src: /src/vlc/test/src/player/media.c:156,1
    - Dst: vlc_player_GetCurrentMedia
      Src: /src/vlc/test/src/player/media.c:156,1
    - Dst: input_item_Release
      Src: /src/vlc/test/src/player/media.c:157,1
    - Dst: player_set_current_mock_media
      Src: /src/vlc/test/src/player/media.c:160,1
    - Dst: test_prestop
      Src: /src/vlc/test/src/player/media.c:165,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/media.c:166,1
    - Dst: assert_normal_state
      Src: /src/vlc/test/src/player/media.c:167,1
    - Dst: player_start
      Src: /src/vlc/test/src/player/media.c:170,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/media.c:174,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/media.c:175,1
    - Dst: assert_normal_state
      Src: /src/vlc/test/src/player/media.c:177,1
    - Dst: player_set_current_mock_media
      Src: /src/vlc/test/src/player/media.c:180,1
    - Dst: assert
      Src: /src/vlc/test/src/player/media.c:181,1
    - Dst: vlc_player_GetCurrentMedia
      Src: /src/vlc/test/src/player/media.c:181,1
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/media.c:181,1
    - Dst: player_start
      Src: /src/vlc/test/src/player/media.c:183,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/media.c:185,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/media.c:186,1
    - Dst: test_end
      Src: /src/vlc/test/src/player/media.c:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts:
    - condition: (last_media == VEC_LAST(&ctx->added_medias))
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/vlc/test/src/player/media.c
    - condition: (last_media)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/vlc/test/src/player/media.c
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/vlc/test/src/player/media.c
    - condition: (vlc_player_GetCurrentMedia(player) == VEC_LAST(&ctx->added_medias))
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/vlc/test/src/player/media.c
    - condition: (vec->size == 2)
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/vlc/test/src/player/media.c
    - condition: (ignored)
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/vlc/test/src/player/media.c
    - condition: (last_media == vlc_player_GetCurrentMedia(player))
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/vlc/test/src/player/media.c
    - condition: (vlc_player_GetCurrentMedia(player) == last_media)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/vlc/test/src/player/media.c
    constantsTouched: []
    func_position:
      end: 189
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 189
    functionName: test_set_current_media
    functionSourceFile: /src/vlc/test/src/player/media.c
    functionUses: 0
    functionsReached:
    - test_end
    - wait_state
    - assert
    - vlc_player_CondWait
    - ARRAY_SIZE
    - assert_media_name
    - test_prestop
    - input_item_Release
    - assert_normal_state
    - VLC_TICK_FROM_MS
    - test_log
    - create_mock_media
    - vlc_player_SetCurrentMedia
    - DEFAULT_MEDIA_PARAMS
    - VEC_LAST
    - player_set_current_mock_media
    - player_start
    - vlc_player_GetCurrentMedia
    linkageType: ''
    returnType: void
    signature: void test_set_current_media(struct ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctx_init
      Src: /src/vlc/test/src/player/media.c:195,1
    - Dst: test_same_media
      Src: /src/vlc/test/src/player/media.c:196,1
    - Dst: test_media_stopped
      Src: /src/vlc/test/src/player/media.c:197,1
    - Dst: test_set_current_media
      Src: /src/vlc/test/src/player/media.c:198,1
    - Dst: test_next_media
      Src: /src/vlc/test/src/player/media.c:199,1
    - Dst: ctx_destroy
      Src: /src/vlc/test/src/player/media.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 202
    functionName: main
    functionSourceFile: /src/vlc/test/src/player/media.c
    functionUses: 0
    functionsReached:
    - ctx_init
    - test_media_stopped
    - ctx_destroy
    - test_same_media
    - test_set_current_media
    - test_next_media
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/src/player/titles.c:13,1
    - Dst: DEFAULT_MEDIA_PARAMS
      Src: /src/vlc/test/src/player/titles.c:18,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/test/src/player/titles.c:18,1
    - Dst: player_set_next_mock_media
      Src: /src/vlc/test/src/player/titles.c:22,1
    - Dst: player_start
      Src: /src/vlc/test/src/player/titles.c:24,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/titles.c:31,1
    - Dst: assert
      Src: /src/vlc/test/src/player/titles.c:33,1
    - Dst: vlc_player_GetTitleList
      Src: /src/vlc/test/src/player/titles.c:33,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/titles.c:42,1
    - Dst: assert
      Src: /src/vlc/test/src/player/titles.c:43,1
    - Dst: vlc_player_title_list_GetAt
      Src: /src/vlc/test/src/player/titles.c:46,1
    - Dst: vlc_player_SelectTitle
      Src: /src/vlc/test/src/player/titles.c:47,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/titles.c:50,1
    - Dst: assert
      Src: /src/vlc/test/src/player/titles.c:51,1
    - Dst: assert
      Src: /src/vlc/test/src/player/titles.c:53,1
    - Dst: vlc_player_SelectChapter
      Src: /src/vlc/test/src/player/titles.c:54,1
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/titles.c:62,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/titles.c:63,1
    - Dst: assert
      Src: /src/vlc/test/src/player/titles.c:64,1
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/titles.c:64,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/titles.c:67,1
    - Dst: assert_normal_state
      Src: /src/vlc/test/src/player/titles.c:68,1
    - Dst: test_end
      Src: /src/vlc/test/src/player/titles.c:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - ctx
    - null_names
    argTypes:
    - struct ctx*
    - bool
    assertStmts:
    - condition: (vec->data[0] == 0)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/vlc/test/src/player/titles.c
    - condition: (vec->data[1] == 4)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/vlc/test/src/player/titles.c
    - condition: (title->chapter_count == params.chapter_count)
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/vlc/test/src/player/titles.c
    - condition: (titles != NULL && titles == vlc_player_GetTitleList(player))
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/vlc/test/src/player/titles.c
    - condition: (VEC_LAST(vec).title_idx == 4)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/vlc/test/src/player/titles.c
    constantsTouched: []
    func_position:
      end: 70
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 70
    functionName: test_titles
    functionSourceFile: /src/vlc/test/src/player/titles.c
    functionUses: 0
    functionsReached:
    - test_end
    - wait_state
    - vlc_player_GetTitleList
    - vlc_player_CondWait
    - assert
    - VLC_TICK_FROM_SEC
    - assert_normal_state
    - player_set_next_mock_media
    - test_log
    - vlc_player_SelectChapter
    - DEFAULT_MEDIA_PARAMS
    - VEC_LAST
    - vlc_player_title_list_GetAt
    - player_start
    - vlc_player_SelectTitle
    linkageType: ''
    returnType: void
    signature: void test_titles(struct ctx *ctx, bool null_names)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctx_init
      Src: /src/vlc/test/src/player/titles.c:76,1
    - Dst: test_titles
      Src: /src/vlc/test/src/player/titles.c:77,1
    - Dst: test_titles
      Src: /src/vlc/test/src/player/titles.c:78,1
    - Dst: ctx_destroy
      Src: /src/vlc/test/src/player/titles.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: main
    functionSourceFile: /src/vlc/test/src/player/titles.c
    functionUses: 0
    functionsReached:
    - ctx_destroy
    - test_titles
    - ctx_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/src/player/lifecycle.c:13,1
    - Dst: vlc_player_New
      Src: /src/vlc/test/src/player/lifecycle.c:14,1
    - Dst: DEFAULT_MEDIA_PARAMS
      Src: /src/vlc/test/src/player/lifecycle.c:16,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/test/src/player/lifecycle.c:16,1
    - Dst: create_mock_media
      Src: /src/vlc/test/src/player/lifecycle.c:17,1
    - Dst: assert
      Src: /src/vlc/test/src/player/lifecycle.c:18,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/test/src/player/lifecycle.c:20,1
    - Dst: vlc_player_SetCurrentMedia
      Src: /src/vlc/test/src/player/lifecycle.c:21,1
    - Dst: assert
      Src: /src/vlc/test/src/player/lifecycle.c:22,1
    - Dst: input_item_Release
      Src: /src/vlc/test/src/player/lifecycle.c:23,1
    - Dst: vlc_player_Start
      Src: /src/vlc/test/src/player/lifecycle.c:27,1
    - Dst: assert
      Src: /src/vlc/test/src/player/lifecycle.c:28,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/test/src/player/lifecycle.c:31,1
    - Dst: vlc_player_Delete
      Src: /src/vlc/test/src/player/lifecycle.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - obj
    - start
    argTypes:
    - vlc_object_t*
    - bool
    assertStmts:
    - condition: (media)
      pos:
        line_end: 17
        line_start: 17
        source_file: /src/vlc/test/src/player/lifecycle.c
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 21
        line_start: 21
        source_file: /src/vlc/test/src/player/lifecycle.c
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/vlc/test/src/player/lifecycle.c
    constantsTouched: []
    func_position:
      end: 34
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 34
    functionName: test_delete_while_playback
    functionSourceFile: /src/vlc/test/src/player/lifecycle.c
    functionUses: 0
    functionsReached:
    - assert
    - input_item_Release
    - VLC_TICK_FROM_SEC
    - vlc_player_Unlock
    - vlc_player_Lock
    - test_log
    - create_mock_media
    - vlc_player_New
    - vlc_player_Delete
    - vlc_player_SetCurrentMedia
    - DEFAULT_MEDIA_PARAMS
    - vlc_player_Start
    linkageType: ''
    returnType: void
    signature: void test_delete_while_playback(vlc_object_t *obj, bool start)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/src/player/lifecycle.c:39,1
    - Dst: libvlc_new
      Src: /src/vlc/test/src/player/lifecycle.c:41,1
    - Dst: assert
      Src: /src/vlc/test/src/player/lifecycle.c:42,1
    - Dst: test_delete_while_playback
      Src: /src/vlc/test/src/player/lifecycle.c:44,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/test/src/player/lifecycle.c:44,1
    - Dst: test_delete_while_playback
      Src: /src/vlc/test/src/player/lifecycle.c:45,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/test/src/player/lifecycle.c:45,1
    - Dst: libvlc_release
      Src: /src/vlc/test/src/player/lifecycle.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (dummy != NULL)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/vlc/test/src/player/lifecycle.c
    constantsTouched: []
    func_position:
      end: 49
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/vlc/test/src/player/lifecycle.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - assert
    - test_init
    - test_delete_while_playback
    - libvlc_new
    - VLC_OBJECT
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/src/player/outputs.c:13,1
    - Dst: DEFAULT_MEDIA_PARAMS
      Src: /src/vlc/test/src/player/outputs.c:16,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/outputs.c:16,1
    - Dst: player_set_current_mock_media
      Src: /src/vlc/test/src/player/outputs.c:17,1
    - Dst: player_start
      Src: /src/vlc/test/src/player/outputs.c:18,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/outputs.c:20,1
    - Dst: assert
      Src: /src/vlc/test/src/player/outputs.c:23,1
    - Dst: vlc_player_aout_Hold
      Src: /src/vlc/test/src/player/outputs.c:26,1
    - Dst: assert
      Src: /src/vlc/test/src/player/outputs.c:27,1
    - Dst: test_end
      Src: /src/vlc/test/src/player/outputs.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts:
    - condition: (vec->size == 0)
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/vlc/test/src/player/outputs.c
    - condition: (!aout)
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/vlc/test/src/player/outputs.c
    constantsTouched: []
    func_position:
      end: 30
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 30
    functionName: test_no_outputs
    functionSourceFile: /src/vlc/test/src/player/outputs.c
    functionUses: 0
    functionsReached:
    - test_end
    - wait_state
    - assert
    - VLC_TICK_FROM_MS
    - test_log
    - DEFAULT_MEDIA_PARAMS
    - player_set_current_mock_media
    - vlc_player_aout_Hold
    - player_start
    linkageType: ''
    returnType: void
    signature: void test_no_outputs(struct ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/src/player/outputs.c:35,1
    - Dst: vlc_player_aout_Hold
      Src: /src/vlc/test/src/player/outputs.c:40,1
    - Dst: assert
      Src: /src/vlc/test/src/player/outputs.c:41,1
    - Dst: vlc_player_vout_Hold
      Src: /src/vlc/test/src/player/outputs.c:43,1
    - Dst: assert
      Src: /src/vlc/test/src/player/outputs.c:44,1
    - Dst: vlc_player_vout_HoldAll
      Src: /src/vlc/test/src/player/outputs.c:47,1
    - Dst: assert
      Src: /src/vlc/test/src/player/outputs.c:48,1
    - Dst: vout_Release
      Src: /src/vlc/test/src/player/outputs.c:49,1
    - Dst: free
      Src: /src/vlc/test/src/player/outputs.c:50,1
    - Dst: vout_Release
      Src: /src/vlc/test/src/player/outputs.c:51,1
    - Dst: DEFAULT_MEDIA_PARAMS
      Src: /src/vlc/test/src/player/outputs.c:54,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/outputs.c:54,1
    - Dst: player_set_current_mock_media
      Src: /src/vlc/test/src/player/outputs.c:56,1
    - Dst: player_start
      Src: /src/vlc/test/src/player/outputs.c:57,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/outputs.c:59,1
    - Dst: assert
      Src: /src/vlc/test/src/player/outputs.c:63,1
    - Dst: assert
      Src: /src/vlc/test/src/player/outputs.c:64,1
    - Dst: vlc_player_vout_Hold
      Src: /src/vlc/test/src/player/outputs.c:66,1
    - Dst: assert
      Src: /src/vlc/test/src/player/outputs.c:67,1
    - Dst: vout_Release
      Src: /src/vlc/test/src/player/outputs.c:68,1
    - Dst: vlc_player_aout_Hold
      Src: /src/vlc/test/src/player/outputs.c:71,1
    - Dst: assert
      Src: /src/vlc/test/src/player/outputs.c:72,1
    - Dst: aout_Release
      Src: /src/vlc/test/src/player/outputs.c:73,1
    - Dst: aout_Release
      Src: /src/vlc/test/src/player/outputs.c:75,1
    - Dst: test_end
      Src: /src/vlc/test/src/player/outputs.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts:
    - condition: (vec->size >= 1)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/vlc/test/src/player/outputs.c
    - condition: (aout)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/vlc/test/src/player/outputs.c
    - condition: (vout)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/vlc/test/src/player/outputs.c
    - condition: (same_aout == aout)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/vlc/test/src/player/outputs.c
    - condition: (vout_count == 1 && vout_list[0] == vout)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/vlc/test/src/player/outputs.c
    - condition: (vec->data[0].action == VLC_PLAYER_VOUT_STARTED)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/vlc/test/src/player/outputs.c
    - condition: (vec->data[0].vout == same_vout)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/vlc/test/src/player/outputs.c
    constantsTouched: []
    func_position:
      end: 77
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 77
    functionName: test_outputs
    functionSourceFile: /src/vlc/test/src/player/outputs.c
    functionUses: 0
    functionsReached:
    - test_end
    - vlc_player_vout_Hold
    - wait_state
    - assert
    - VLC_TICK_FROM_MS
    - vlc_player_vout_HoldAll
    - test_log
    - free
    - DEFAULT_MEDIA_PARAMS
    - player_set_current_mock_media
    - vout_Release
    - vlc_player_aout_Hold
    - player_start
    - aout_Release
    linkageType: ''
    returnType: void
    signature: void test_outputs(struct ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctx_init
      Src: /src/vlc/test/src/player/outputs.c:85,1
    - Dst: test_no_outputs
      Src: /src/vlc/test/src/player/outputs.c:86,1
    - Dst: ctx_destroy
      Src: /src/vlc/test/src/player/outputs.c:87,1
    - Dst: ctx_init
      Src: /src/vlc/test/src/player/outputs.c:90,1
    - Dst: test_outputs
      Src: /src/vlc/test/src/player/outputs.c:91,1
    - Dst: ctx_destroy
      Src: /src/vlc/test/src/player/outputs.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: main
    functionSourceFile: /src/vlc/test/src/player/outputs.c
    functionUses: 0
    functionsReached:
    - test_outputs
    - ctx_destroy
    - test_no_outputs
    - ctx_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_GetTrackCount
      Src: /src/vlc/test/src/player/tracks.c:22,1
    - Dst: vlc_player_GetTrackAt
      Src: /src/vlc/test/src/player/tracks.c:25,1
    - Dst: assert
      Src: /src/vlc/test/src/player/tracks.c:26,1
    - Dst: vlc_player_GetTrackAt
      Src: /src/vlc/test/src/player/tracks.c:31,1
    - Dst: assert
      Src: /src/vlc/test/src/player/tracks.c:40,1
    - Dst: vlc_player_GetTrackAt
      Src: /src/vlc/test/src/player/tracks.c:42,1
    - Dst: vlc_es_id_Hold
      Src: /src/vlc/test/src/player/tracks.c:44,1
    - Dst: vlc_es_id_Hold
      Src: /src/vlc/test/src/player/tracks.c:45,1
    - Dst: vlc_player_SelectEsId
      Src: /src/vlc/test/src/player/tracks.c:48,1
    - Dst: assert
      Src: /src/vlc/test/src/player/tracks.c:51,1
    - Dst: vlc_player_UnselectEsId
      Src: /src/vlc/test/src/player/tracks.c:52,1
    - Dst: vec_on_track_selection_has_event
      Src: /src/vlc/test/src/player/tracks.c:60,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/tracks.c:62,1
    - Dst: vlc_es_id_Release
      Src: /src/vlc/test/src/player/tracks.c:65,1
    - Dst: vlc_es_id_Release
      Src: /src/vlc/test/src/player/tracks.c:67,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - ctx
    - cat
    argTypes:
    - struct ctx*
    - enum es_format_category_e
    assertStmts:
    - condition: (old_track)
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/vlc/test/src/player/tracks.c
    - condition: (cat == SPU_ES)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/vlc/test/src/player/tracks.c
    - condition: (old_id)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/vlc/test/src/player/tracks.c
    constantsTouched: []
    func_position:
      end: 70
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 70
    functionName: player_select_next_unselected_track
    functionSourceFile: /src/vlc/test/src/player/tracks.c
    functionUses: 0
    functionsReached:
    - vlc_player_SelectEsId
    - assert
    - vlc_es_id_Hold
    - vlc_player_GetTrackAt
    - vec_on_track_selection_has_event
    - vlc_player_CondWait
    - vlc_player_UnselectEsId
    - vlc_player_GetTrackCount
    - vlc_es_id_Release
    linkageType: ''
    returnType: bool
    signature: "bool player_select_next_unselected_track(struct ctx *ctx,\n                                    enum
      es_format_category_e cat)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/src/player/tracks.c:75,1
    - Dst: DEFAULT_MEDIA_PARAMS
      Src: /src/vlc/test/src/player/tracks.c:79,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/test/src/player/tracks.c:79,1
    - Dst: player_set_next_mock_media
      Src: /src/vlc/test/src/player/tracks.c:85,1
    - Dst: player_start
      Src: /src/vlc/test/src/player/tracks.c:90,1
    - Dst: vec_on_track_list_get_action_count
      Src: /src/vlc/test/src/player/tracks.c:95,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/tracks.c:97,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/tracks.c:105,1
    - Dst: assert
      Src: /src/vlc/test/src/player/tracks.c:108,1
    - Dst: assert
      Src: /src/vlc/test/src/player/tracks.c:109,1
    - Dst: vlc_player_GetTrack
      Src: /src/vlc/test/src/player/tracks.c:111,1
    - Dst: assert
      Src: /src/vlc/test/src/player/tracks.c:112,1
    - Dst: assert
      Src: /src/vlc/test/src/player/tracks.c:113,1
    - Dst: assert
      Src: /src/vlc/test/src/player/tracks.c:114,1
    - Dst: vlc_player_GetTrackAt
      Src: /src/vlc/test/src/player/tracks.c:114,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/player/tracks.c:121,1
    - Dst: assert
      Src: /src/vlc/test/src/player/tracks.c:125,1
    - Dst: vlc_player_GetTrackCount
      Src: /src/vlc/test/src/player/tracks.c:125,1
    - Dst: player_select_next_unselected_track
      Src: /src/vlc/test/src/player/tracks.c:126,1
    - Dst: assert
      Src: /src/vlc/test/src/player/tracks.c:129,1
    - Dst: vlc_player_GetSelectedTrack
      Src: /src/vlc/test/src/player/tracks.c:129,1
    - Dst: vlc_player_SelectNextTrack
      Src: /src/vlc/test/src/player/tracks.c:141,1
    - Dst: vlc_player_GetTrackAt
      Src: /src/vlc/test/src/player/tracks.c:145,1
    - Dst: vec_on_track_selection_has_event
      Src: /src/vlc/test/src/player/tracks.c:146,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/tracks.c:148,1
    - Dst: vlc_player_SelectPrevTrack
      Src: /src/vlc/test/src/player/tracks.c:155,1
    - Dst: vlc_player_GetTrackAt
      Src: /src/vlc/test/src/player/tracks.c:158,1
    - Dst: vec_on_track_selection_has_event
      Src: /src/vlc/test/src/player/tracks.c:161,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/tracks.c:163,1
    - Dst: vlc_player_SelectPrevTrack
      Src: /src/vlc/test/src/player/tracks.c:168,1
    - Dst: vlc_player_GetTrackAt
      Src: /src/vlc/test/src/player/tracks.c:170,1
    - Dst: vec_on_track_selection_has_event
      Src: /src/vlc/test/src/player/tracks.c:172,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/tracks.c:174,1
    - Dst: assert
      Src: /src/vlc/test/src/player/tracks.c:176,1
    - Dst: vlc_player_GetSelectedTrack
      Src: /src/vlc/test/src/player/tracks.c:176,1
    - Dst: test_prestop
      Src: /src/vlc/test/src/player/tracks.c:179,1
    - Dst: test_end
      Src: /src/vlc/test/src/player/tracks.c:180,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 2
    argNames:
    - ctx
    - packetized
    argTypes:
    - struct ctx*
    - bool
    assertStmts:
    - condition: (track->fmt.i_cat == VIDEO_ES || track->fmt.i_cat == AUDIO_ES)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/vlc/test/src/player/tracks.c
    - condition: (vlc_player_GetSelectedTrack(player, cat) == NULL)
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/vlc/test/src/player/tracks.c
    - condition: (!vec->data[i].unselected_id)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/vlc/test/src/player/tracks.c
    - condition: (track)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/vlc/test/src/player/tracks.c
    - condition: (params.track_count[cat] == vlc_player_GetTrackCount(player, cat))
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/vlc/test/src/player/tracks.c
    - condition: (vec->data[i].selected_id)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/vlc/test/src/player/tracks.c
    - condition: (track == vlc_player_GetTrackAt(player, track->fmt.i_cat, 0))
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/vlc/test/src/player/tracks.c
    - condition: (vlc_player_GetSelectedTrack(player, cat) == NULL)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/vlc/test/src/player/tracks.c
    constantsTouched: []
    func_position:
      end: 181
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 181
    functionName: test_tracks
    functionSourceFile: /src/vlc/test/src/player/tracks.c
    functionUses: 0
    functionsReached:
    - assert
    - test_log
    - vlc_player_SelectNextTrack
    - vlc_player_GetSelectedTrack
    - player_select_next_unselected_track
    - vlc_player_CondWait
    - vec_on_track_selection_has_event
    - vlc_player_GetTrackAt
    - ARRAY_SIZE
    - DEFAULT_MEDIA_PARAMS
    - vlc_player_GetTrackCount
    - vlc_player_SelectPrevTrack
    - test_prestop
    - VLC_TICK_FROM_SEC
    - player_set_next_mock_media
    - vlc_player_GetTrack
    - test_end
    - vec_on_track_list_get_action_count
    - player_start
    linkageType: ''
    returnType: void
    signature: void test_tracks(struct ctx *ctx, bool packetized)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctx_init
      Src: /src/vlc/test/src/player/tracks.c:187,1
    - Dst: test_tracks
      Src: /src/vlc/test/src/player/tracks.c:188,1
    - Dst: test_tracks
      Src: /src/vlc/test/src/player/tracks.c:189,1
    - Dst: ctx_destroy
      Src: /src/vlc/test/src/player/tracks.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 183
    functionDepth: 3
    functionLinenumber: 183
    functionLinenumberEnd: 192
    functionName: main
    functionSourceFile: /src/vlc/test/src/player/tracks.c
    functionUses: 0
    functionsReached:
    - ctx_destroy
    - test_tracks
    - ctx_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/src/player/seeks.c:13,1
    - Dst: DEFAULT_MEDIA_PARAMS
      Src: /src/vlc/test/src/player/seeks.c:16,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/test/src/player/seeks.c:16,1
    - Dst: player_set_current_mock_media
      Src: /src/vlc/test/src/player/seeks.c:17,1
    - Dst: vlc_player_SetTimeFast
      Src: /src/vlc/test/src/player/seeks.c:20,1
    - Dst: vlc_player_SetTimeFast
      Src: /src/vlc/test/src/player/seeks.c:21,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/test/src/player/seeks.c:21,1
    - Dst: vlc_player_SetTimeFast
      Src: /src/vlc/test/src/player/seeks.c:22,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/test/src/player/seeks.c:24,1
    - Dst: vlc_player_SetTimeFast
      Src: /src/vlc/test/src/player/seeks.c:25,1
    - Dst: player_start
      Src: /src/vlc/test/src/player/seeks.c:26,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/seeks.c:31,1
    - Dst: assert
      Src: /src/vlc/test/src/player/seeks.c:33,1
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/seeks.c:33,1
    - Dst: assert_position
      Src: /src/vlc/test/src/player/seeks.c:34,1
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/seeks.c:34,1
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/seeks.c:36,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/test/src/player/seeks.c:38,1
    - Dst: vlc_player_JumpTime
      Src: /src/vlc/test/src/player/seeks.c:39,1
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/seeks.c:41,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/seeks.c:42,1
    - Dst: assert
      Src: /src/vlc/test/src/player/seeks.c:44,1
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/seeks.c:44,1
    - Dst: assert_position
      Src: /src/vlc/test/src/player/seeks.c:45,1
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/seeks.c:45,1
    - Dst: vlc_player_SetPosition
      Src: /src/vlc/test/src/player/seeks.c:48,1
    - Dst: test_prestop
      Src: /src/vlc/test/src/player/seeks.c:50,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/seeks.c:52,1
    - Dst: assert_normal_state
      Src: /src/vlc/test/src/player/seeks.c:53,1
    - Dst: test_end
      Src: /src/vlc/test/src/player/seeks.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts:
    - condition: (VEC_LAST(vec).time >= seek_time)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/vlc/test/src/player/seeks.c
    - condition: (VEC_LAST(vec).time >= last_time + jump_time)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/vlc/test/src/player/seeks.c
    constantsTouched: []
    func_position:
      end: 56
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 56
    functionName: test_seeks
    functionSourceFile: /src/vlc/test/src/player/seeks.c
    functionUses: 0
    functionsReached:
    - test_end
    - wait_state
    - vlc_player_CondWait
    - assert
    - test_prestop
    - vlc_player_SetTimeFast
    - VLC_TICK_FROM_SEC
    - vlc_player_SetPosition
    - assert_normal_state
    - test_log
    - assert_position
    - DEFAULT_MEDIA_PARAMS
    - VEC_LAST
    - player_set_current_mock_media
    - vlc_player_JumpTime
    - player_start
    linkageType: ''
    returnType: void
    signature: void test_seeks(struct ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctx_init
      Src: /src/vlc/test/src/player/seeks.c:62,1
    - Dst: test_seeks
      Src: /src/vlc/test/src/player/seeks.c:63,1
    - Dst: ctx_destroy
      Src: /src/vlc/test/src/player/seeks.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: main
    functionSourceFile: /src/vlc/test/src/player/seeks.c
    functionUses: 0
    functionsReached:
    - ctx_destroy
    - test_seeks
    - ctx_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/vlc/test/src/player/next_prev.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: get_fps
    functionSourceFile: /src/vlc/test/src/player/next_prev.c
    functionUses: 0
    functionsReached:
    - ceil
    linkageType: ''
    returnType: unsigned
    signature: unsigned get_fps(struct ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/next_prev.c:36,1
    - Dst: assert
      Src: /src/vlc/test/src/player/next_prev.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - np_ctx
    - count
    - status
    argTypes:
    - struct np_ctx*
    - size_t
    - int
    assertStmts:
    - condition: (vec->data[i] == status)
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/vlc/test/src/player/next_prev.c
    constantsTouched: []
    func_position:
      end: 41
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 41
    functionName: wait_prev_frame_status
    functionSourceFile: /src/vlc/test/src/player/next_prev.c
    functionUses: 0
    functionsReached:
    - vlc_player_CondWait
    - assert
    linkageType: ''
    returnType: void
    signature: void wait_prev_frame_status(struct np_ctx *np_ctx, size_t count, int
      status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/next_prev.c:50,1
    - Dst: assert
      Src: /src/vlc/test/src/player/next_prev.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - np_ctx
    - count
    - status
    argTypes:
    - struct np_ctx*
    - size_t
    - int
    assertStmts:
    - condition: (vec->data[i] == status)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/vlc/test/src/player/next_prev.c
    constantsTouched: []
    func_position:
      end: 55
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 55
    functionName: wait_next_frame_status
    functionSourceFile: /src/vlc/test/src/player/next_prev.c
    functionUses: 0
    functionsReached:
    - vlc_player_CondWait
    - assert
    linkageType: ''
    returnType: void
    signature: void wait_next_frame_status(struct np_ctx *np_ctx, size_t count, int
      status)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_fps
      Src: /src/vlc/test/src/player/next_prev.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - np_ctx
    argTypes:
    - struct np_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: decrease_tc
    functionSourceFile: /src/vlc/test/src/player/next_prev.c
    functionUses: 0
    functionsReached:
    - get_fps
    linkageType: ''
    returnType: void
    signature: void decrease_tc(struct np_ctx *np_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_fps
      Src: /src/vlc/test/src/player/next_prev.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - np_ctx
    argTypes:
    - struct np_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: increase_tc
    functionSourceFile: /src/vlc/test/src/player/next_prev.c
    functionUses: 0
    functionsReached:
    - get_fps
    linkageType: ''
    returnType: void
    signature: void increase_tc(struct np_ctx *np_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: player_lock_timer
      Src: /src/vlc/test/src/player/next_prev.c:100,1
    - Dst: timer_state_wait_next_report
      Src: /src/vlc/test/src/player/next_prev.c:103,1
    - Dst: player_unlock_timer
      Src: /src/vlc/test/src/player/next_prev.c:109,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - np_ctx
    - type
    argTypes:
    - struct np_ctx*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 117
    functionName: wait_type_timer
    functionSourceFile: /src/vlc/test/src/player/next_prev.c
    functionUses: 0
    functionsReached:
    - timer_state_wait_next_report
    - player_lock_timer
    - player_unlock_timer
    linkageType: ''
    returnType: void
    signature: void wait_type_timer(struct np_ctx *np_ctx, unsigned type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: player_lock_timer
      Src: /src/vlc/test/src/player/next_prev.c:127,1
    - Dst: timer_state_wait_next_report
      Src: /src/vlc/test/src/player/next_prev.c:128,1
    - Dst: assert
      Src: /src/vlc/test/src/player/next_prev.c:129,1
    - Dst: player_unlock_timer
      Src: /src/vlc/test/src/player/next_prev.c:131,1
    - Dst: player_lock_timer
      Src: /src/vlc/test/src/player/next_prev.c:136,1
    - Dst: timer_state_wait_next_report
      Src: /src/vlc/test/src/player/next_prev.c:137,1
    - Dst: assert
      Src: /src/vlc/test/src/player/next_prev.c:138,1
    - Dst: player_unlock_timer
      Src: /src/vlc/test/src/player/next_prev.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - np_ctx
    argTypes:
    - struct np_ctx*
    assertStmts:
    - condition: (r->type == REPORT_TIMER_TC)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/vlc/test/src/player/next_prev.c
    - condition: (r->type == REPORT_TIMER_POINT)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/vlc/test/src/player/next_prev.c
    constantsTouched: []
    func_position:
      end: 141
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 141
    functionName: wait_next_tc
    functionSourceFile: /src/vlc/test/src/player/next_prev.c
    functionUses: 0
    functionsReached:
    - timer_state_wait_next_report
    - player_lock_timer
    - assert
    - player_unlock_timer
    linkageType: ''
    returnType: void
    signature: void wait_next_tc(struct np_ctx *np_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_state
      Src: /src/vlc/test/src/player/next_prev.c:151,1
    - Dst: vlc_player_Resume
      Src: /src/vlc/test/src/player/next_prev.c:152,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/next_prev.c:153,1
    - Dst: wait_next_tc
      Src: /src/vlc/test/src/player/next_prev.c:156,1
    - Dst: vlc_player_Pause
      Src: /src/vlc/test/src/player/next_prev.c:158,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/next_prev.c:160,1
    - Dst: wait_type_timer
      Src: /src/vlc/test/src/player/next_prev.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - np_ctx
    argTypes:
    - struct np_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 163
    functionName: check_resumed_timer
    functionSourceFile: /src/vlc/test/src/player/next_prev.c
    functionUses: 0
    functionsReached:
    - wait_state
    - wait_type_timer
    - wait_next_tc
    - vlc_player_Pause
    - vlc_player_Resume
    - assert_state
    linkageType: ''
    returnType: void
    signature: void check_resumed_timer(struct np_ctx *np_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_state
      Src: /src/vlc/test/src/player/next_prev.c:173,1
    - Dst: vlc_player_SetTime
      Src: /src/vlc/test/src/player/next_prev.c:174,1
    - Dst: assert_state
      Src: /src/vlc/test/src/player/next_prev.c:175,1
    - Dst: wait_type_timer
      Src: /src/vlc/test/src/player/next_prev.c:178,1
    - Dst: wait_next_tc
      Src: /src/vlc/test/src/player/next_prev.c:181,1
    - Dst: assert_state
      Src: /src/vlc/test/src/player/next_prev.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - np_ctx
    argTypes:
    - struct np_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 184
    functionName: check_seek_timer
    functionSourceFile: /src/vlc/test/src/player/next_prev.c
    functionUses: 0
    functionsReached:
    - vlc_player_SetTime
    - wait_type_timer
    - wait_next_tc
    - assert_state
    linkageType: ''
    returnType: void
    signature: void check_seek_timer(struct np_ctx *np_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert_state
      Src: /src/vlc/test/src/player/next_prev.c:195,1
    - Dst: vlc_player_NextVideoFrame
      Src: /src/vlc/test/src/player/next_prev.c:197,1
    - Dst: wait_next_frame_status
      Src: /src/vlc/test/src/player/next_prev.c:198,1
    - Dst: increase_tc
      Src: /src/vlc/test/src/player/next_prev.c:200,1
    - Dst: player_lock_timer
      Src: /src/vlc/test/src/player/next_prev.c:204,1
    - Dst: timer_state_wait_next_report
      Src: /src/vlc/test/src/player/next_prev.c:205,1
    - Dst: assert
      Src: /src/vlc/test/src/player/next_prev.c:206,1
    - Dst: assert
      Src: /src/vlc/test/src/player/next_prev.c:207,1
    - Dst: assert
      Src: /src/vlc/test/src/player/next_prev.c:208,1
    - Dst: player_unlock_timer
      Src: /src/vlc/test/src/player/next_prev.c:209,1
    - Dst: player_lock_timer
      Src: /src/vlc/test/src/player/next_prev.c:214,1
    - Dst: timer_state_wait_next_report
      Src: /src/vlc/test/src/player/next_prev.c:215,1
    - Dst: assert
      Src: /src/vlc/test/src/player/next_prev.c:216,1
    - Dst: player_unlock_timer
      Src: /src/vlc/test/src/player/next_prev.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - np_ctx
    argTypes:
    - struct np_ctx*
    assertStmts:
    - condition: (r->type == REPORT_TIMER_TC)
      pos:
        line_end: 205
        line_start: 205
        source_file: /src/vlc/test/src/player/next_prev.c
    - condition: (r->tc.seconds == tc->seconds)
      pos:
        line_end: 206
        line_start: 206
        source_file: /src/vlc/test/src/player/next_prev.c
    - condition: (r->tc.frames == tc->frames)
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/vlc/test/src/player/next_prev.c
    - condition: (r->type == REPORT_TIMER_POINT)
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/vlc/test/src/player/next_prev.c
    constantsTouched: []
    func_position:
      end: 219
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 219
    functionName: check_next_frame_timer
    functionSourceFile: /src/vlc/test/src/player/next_prev.c
    functionUses: 0
    functionsReached:
    - timer_state_wait_next_report
    - assert
    - wait_next_frame_status
    - increase_tc
    - vlc_player_NextVideoFrame
    - player_lock_timer
    - player_unlock_timer
    - assert_state
    linkageType: ''
    returnType: void
    signature: void check_next_frame_timer(struct np_ctx *np_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_fps
      Src: /src/vlc/test/src/player/next_prev.c:224,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/test/src/player/next_prev.c:226,1
    - Dst: vlc_tick_rate_duration
      Src: /src/vlc/test/src/player/next_prev.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - np_ctx
    argTypes:
    - struct np_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 228
    functionName: get_frame_count_to_start
    functionSourceFile: /src/vlc/test/src/player/next_prev.c
    functionUses: 0
    functionsReached:
    - VLC_TICK_FROM_SEC
    - get_fps
    - vlc_tick_rate_duration
    linkageType: ''
    returnType: size_t
    signature: size_t get_frame_count_to_start(struct np_ctx *np_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: player_lock_timer
      Src: /src/vlc/test/src/player/next_prev.c:238,1
    - Dst: timer_state_wait_next_report
      Src: /src/vlc/test/src/player/next_prev.c:242,1
    - Dst: assert
      Src: /src/vlc/test/src/player/next_prev.c:243,1
    - Dst: assert
      Src: /src/vlc/test/src/player/next_prev.c:245,1
    - Dst: assert
      Src: /src/vlc/test/src/player/next_prev.c:247,1
    - Dst: player_unlock_timer
      Src: /src/vlc/test/src/player/next_prev.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - np_ctx
    - count
    - next
    argTypes:
    - struct np_ctx*
    - size_t
    - bool
    assertStmts:
    - condition: (r->type == REPORT_TIMER_POINT)
      pos:
        line_end: 242
        line_start: 242
        source_file: /src/vlc/test/src/player/next_prev.c
    - condition: (last_ts > r->point.ts)
      pos:
        line_end: 246
        line_start: 246
        source_file: /src/vlc/test/src/player/next_prev.c
    - condition: (r->point.ts > last_ts)
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/vlc/test/src/player/next_prev.c
    constantsTouched: []
    func_position:
      end: 251
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 251
    functionName: check_normal_timer
    functionSourceFile: /src/vlc/test/src/player/next_prev.c
    functionUses: 0
    functionsReached:
    - timer_state_wait_next_report
    - player_lock_timer
    - assert
    - player_unlock_timer
    linkageType: ''
    returnType: void
    signature: void check_normal_timer(struct np_ctx *np_ctx, size_t count, bool next)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_frame_count_to_start
      Src: /src/vlc/test/src/player/next_prev.c:262,1
    - Dst: decrease_tc
      Src: /src/vlc/test/src/player/next_prev.c:271,1
    - Dst: vlc_player_PreviousVideoFrame
      Src: /src/vlc/test/src/player/next_prev.c:281,1
    - Dst: wait_prev_frame_status
      Src: /src/vlc/test/src/player/next_prev.c:284,1
    - Dst: player_lock_timer
      Src: /src/vlc/test/src/player/next_prev.c:287,1
    - Dst: timer_state_wait_next_report
      Src: /src/vlc/test/src/player/next_prev.c:290,1
    - Dst: assert
      Src: /src/vlc/test/src/player/next_prev.c:291,1
    - Dst: assert
      Src: /src/vlc/test/src/player/next_prev.c:292,1
    - Dst: assert
      Src: /src/vlc/test/src/player/next_prev.c:293,1
    - Dst: decrease_tc
      Src: /src/vlc/test/src/player/next_prev.c:295,1
    - Dst: player_unlock_timer
      Src: /src/vlc/test/src/player/next_prev.c:297,1
    - Dst: check_normal_timer
      Src: /src/vlc/test/src/player/next_prev.c:300,1
    - Dst: check_seek_timer
      Src: /src/vlc/test/src/player/next_prev.c:306,1
    - Dst: get_frame_count_to_start
      Src: /src/vlc/test/src/player/next_prev.c:309,1
    - Dst: decrease_tc
      Src: /src/vlc/test/src/player/next_prev.c:310,1
    - Dst: check_resumed_timer
      Src: /src/vlc/test/src/player/next_prev.c:315,1
    - Dst: get_frame_count_to_start
      Src: /src/vlc/test/src/player/next_prev.c:318,1
    - Dst: decrease_tc
      Src: /src/vlc/test/src/player/next_prev.c:319,1
    - Dst: increase_tc
      Src: /src/vlc/test/src/player/next_prev.c:325,1
    - Dst: check_next_frame_timer
      Src: /src/vlc/test/src/player/next_prev.c:326,1
    - Dst: get_frame_count_to_start
      Src: /src/vlc/test/src/player/next_prev.c:328,1
    - Dst: decrease_tc
      Src: /src/vlc/test/src/player/next_prev.c:329,1
    - Dst: assert
      Src: /src/vlc/test/src/player/next_prev.c:332,1
    - Dst: assert
      Src: /src/vlc/test/src/player/next_prev.c:333,1
    - Dst: assert
      Src: /src/vlc/test/src/player/next_prev.c:334,1
    - Dst: assert
      Src: /src/vlc/test/src/player/next_prev.c:336,1
    - Dst: assert
      Src: /src/vlc/test/src/player/next_prev.c:337,1
    - Dst: vlc_player_PreviousVideoFrame
      Src: /src/vlc/test/src/player/next_prev.c:340,1
    - Dst: wait_prev_frame_status
      Src: /src/vlc/test/src/player/next_prev.c:341,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 47
    argCount: 2
    argNames:
    - np_ctx
    - extra_checks
    argTypes:
    - struct np_ctx*
    - bool
    assertStmts:
    - condition: (!check_resume)
      pos:
        line_end: 331
        line_start: 331
        source_file: /src/vlc/test/src/player/next_prev.c
    - condition: (tc->seconds == 0)
      pos:
        line_end: 335
        line_start: 335
        source_file: /src/vlc/test/src/player/next_prev.c
    - condition: (tc->frames == 0)
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/vlc/test/src/player/next_prev.c
    - condition: (!check_seek)
      pos:
        line_end: 332
        line_start: 332
        source_file: /src/vlc/test/src/player/next_prev.c
    - condition: (!check_next)
      pos:
        line_end: 333
        line_start: 333
        source_file: /src/vlc/test/src/player/next_prev.c
    - condition: (r->type == REPORT_TIMER_TC)
      pos:
        line_end: 290
        line_start: 290
        source_file: /src/vlc/test/src/player/next_prev.c
    - condition: (r->tc.seconds == tc->seconds)
      pos:
        line_end: 291
        line_start: 291
        source_file: /src/vlc/test/src/player/next_prev.c
    - condition: (r->tc.frames == tc->frames)
      pos:
        line_end: 292
        line_start: 292
        source_file: /src/vlc/test/src/player/next_prev.c
    constantsTouched: []
    func_position:
      end: 342
      start: 253
    functionDepth: 3
    functionLinenumber: 253
    functionLinenumberEnd: 342
    functionName: go_start
    functionSourceFile: /src/vlc/test/src/player/next_prev.c
    functionUses: 0
    functionsReached:
    - timer_state_wait_next_report
    - vlc_player_PreviousVideoFrame
    - assert
    - check_resumed_timer
    - wait_prev_frame_status
    - increase_tc
    - decrease_tc
    - check_normal_timer
    - player_lock_timer
    - player_unlock_timer
    - check_seek_timer
    - get_frame_count_to_start
    - check_next_frame_timer
    linkageType: ''
    returnType: void
    signature: void go_start(struct np_ctx *np_ctx, bool extra_checks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_fps
      Src: /src/vlc/test/src/player/next_prev.c:353,1
    - Dst: increase_tc
      Src: /src/vlc/test/src/player/next_prev.c:355,1
    - Dst: assert
      Src: /src/vlc/test/src/player/next_prev.c:359,1
    - Dst: vlc_player_NextVideoFrame
      Src: /src/vlc/test/src/player/next_prev.c:373,1
    - Dst: wait_next_frame_status
      Src: /src/vlc/test/src/player/next_prev.c:376,1
    - Dst: player_lock_timer
      Src: /src/vlc/test/src/player/next_prev.c:379,1
    - Dst: timer_state_wait_next_report
      Src: /src/vlc/test/src/player/next_prev.c:382,1
    - Dst: assert
      Src: /src/vlc/test/src/player/next_prev.c:383,1
    - Dst: assert
      Src: /src/vlc/test/src/player/next_prev.c:384,1
    - Dst: assert
      Src: /src/vlc/test/src/player/next_prev.c:385,1
    - Dst: increase_tc
      Src: /src/vlc/test/src/player/next_prev.c:387,1
    - Dst: player_unlock_timer
      Src: /src/vlc/test/src/player/next_prev.c:389,1
    - Dst: check_normal_timer
      Src: /src/vlc/test/src/player/next_prev.c:392,1
    - Dst: vlc_player_NextVideoFrame
      Src: /src/vlc/test/src/player/next_prev.c:395,1
    - Dst: wait_next_frame_status
      Src: /src/vlc/test/src/player/next_prev.c:396,1
    - Dst: decrease_tc
      Src: /src/vlc/test/src/player/next_prev.c:398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - np_ctx
    argTypes:
    - struct np_ctx*
    assertStmts:
    - condition: (end_frame_count > current_frame_count)
      pos:
        line_end: 358
        line_start: 358
        source_file: /src/vlc/test/src/player/next_prev.c
    - condition: (r->type == REPORT_TIMER_TC)
      pos:
        line_end: 382
        line_start: 382
        source_file: /src/vlc/test/src/player/next_prev.c
    - condition: (r->tc.seconds == tc->seconds)
      pos:
        line_end: 383
        line_start: 383
        source_file: /src/vlc/test/src/player/next_prev.c
    - condition: (r->tc.frames == tc->frames)
      pos:
        line_end: 384
        line_start: 384
        source_file: /src/vlc/test/src/player/next_prev.c
    constantsTouched: []
    func_position:
      end: 399
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 399
    functionName: go_eof
    functionSourceFile: /src/vlc/test/src/player/next_prev.c
    functionUses: 0
    functionsReached:
    - timer_state_wait_next_report
    - assert
    - wait_next_frame_status
    - increase_tc
    - get_fps
    - vlc_player_NextVideoFrame
    - decrease_tc
    - check_normal_timer
    - player_lock_timer
    - player_unlock_timer
    linkageType: ''
    returnType: void
    signature: void go_eof(struct np_ctx *np_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_Resume
      Src: /src/vlc/test/src/player/next_prev.c:408,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/next_prev.c:409,1
    - Dst: wait_next_tc
      Src: /src/vlc/test/src/player/next_prev.c:412,1
    - Dst: wait_next_tc
      Src: /src/vlc/test/src/player/next_prev.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - np_ctx
    argTypes:
    - struct np_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 416
    functionName: resume
    functionSourceFile: /src/vlc/test/src/player/next_prev.c
    functionUses: 0
    functionsReached:
    - wait_state
    - wait_next_tc
    - vlc_player_Resume
    linkageType: ''
    returnType: void
    signature: void resume(struct np_ctx *np_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_state
      Src: /src/vlc/test/src/player/next_prev.c:428,1
    - Dst: vlc_player_NextVideoFrame
      Src: /src/vlc/test/src/player/next_prev.c:431,1
    - Dst: wait_next_frame_status
      Src: /src/vlc/test/src/player/next_prev.c:434,1
    - Dst: assert_state
      Src: /src/vlc/test/src/player/next_prev.c:435,1
    - Dst: wait_type_timer
      Src: /src/vlc/test/src/player/next_prev.c:436,1
    - Dst: wait_next_frame_status
      Src: /src/vlc/test/src/player/next_prev.c:439,1
    - Dst: increase_tc
      Src: /src/vlc/test/src/player/next_prev.c:442,1
    - Dst: player_lock_timer
      Src: /src/vlc/test/src/player/next_prev.c:443,1
    - Dst: timer_state_wait_next_report
      Src: /src/vlc/test/src/player/next_prev.c:446,1
    - Dst: assert
      Src: /src/vlc/test/src/player/next_prev.c:448,1
    - Dst: assert
      Src: /src/vlc/test/src/player/next_prev.c:449,1
    - Dst: assert
      Src: /src/vlc/test/src/player/next_prev.c:450,1
    - Dst: increase_tc
      Src: /src/vlc/test/src/player/next_prev.c:452,1
    - Dst: player_unlock_timer
      Src: /src/vlc/test/src/player/next_prev.c:454,1
    - Dst: check_normal_timer
      Src: /src/vlc/test/src/player/next_prev.c:457,1
    - Dst: resume
      Src: /src/vlc/test/src/player/next_prev.c:460,1
    - Dst: vlc_player_PreviousVideoFrame
      Src: /src/vlc/test/src/player/next_prev.c:463,1
    - Dst: wait_prev_frame_status
      Src: /src/vlc/test/src/player/next_prev.c:466,1
    - Dst: assert_state
      Src: /src/vlc/test/src/player/next_prev.c:467,1
    - Dst: wait_type_timer
      Src: /src/vlc/test/src/player/next_prev.c:468,1
    - Dst: wait_prev_frame_status
      Src: /src/vlc/test/src/player/next_prev.c:471,1
    - Dst: decrease_tc
      Src: /src/vlc/test/src/player/next_prev.c:474,1
    - Dst: player_lock_timer
      Src: /src/vlc/test/src/player/next_prev.c:475,1
    - Dst: timer_state_wait_next_report
      Src: /src/vlc/test/src/player/next_prev.c:478,1
    - Dst: assert
      Src: /src/vlc/test/src/player/next_prev.c:480,1
    - Dst: assert
      Src: /src/vlc/test/src/player/next_prev.c:481,1
    - Dst: assert
      Src: /src/vlc/test/src/player/next_prev.c:482,1
    - Dst: decrease_tc
      Src: /src/vlc/test/src/player/next_prev.c:484,1
    - Dst: player_unlock_timer
      Src: /src/vlc/test/src/player/next_prev.c:486,1
    - Dst: check_normal_timer
      Src: /src/vlc/test/src/player/next_prev.c:489,1
    - Dst: resume
      Src: /src/vlc/test/src/player/next_prev.c:492,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 1
    argNames:
    - np_ctx
    argTypes:
    - struct np_ctx*
    assertStmts:
    - condition: (r->type == REPORT_TIMER_TC)
      pos:
        line_end: 447
        line_start: 447
        source_file: /src/vlc/test/src/player/next_prev.c
    - condition: (r->tc.seconds == tc->seconds)
      pos:
        line_end: 448
        line_start: 448
        source_file: /src/vlc/test/src/player/next_prev.c
    - condition: (r->tc.frames == tc->frames)
      pos:
        line_end: 449
        line_start: 449
        source_file: /src/vlc/test/src/player/next_prev.c
    - condition: (r->type == REPORT_TIMER_TC)
      pos:
        line_end: 479
        line_start: 479
        source_file: /src/vlc/test/src/player/next_prev.c
    - condition: (r->tc.seconds == tc->seconds)
      pos:
        line_end: 480
        line_start: 480
        source_file: /src/vlc/test/src/player/next_prev.c
    - condition: (r->tc.frames == tc->frames)
      pos:
        line_end: 481
        line_start: 481
        source_file: /src/vlc/test/src/player/next_prev.c
    constantsTouched: []
    func_position:
      end: 493
      start: 418
    functionDepth: 3
    functionLinenumber: 418
    functionLinenumberEnd: 493
    functionName: burst_unpaused
    functionSourceFile: /src/vlc/test/src/player/next_prev.c
    functionUses: 0
    functionsReached:
    - timer_state_wait_next_report
    - assert
    - vlc_player_PreviousVideoFrame
    - wait_next_frame_status
    - wait_prev_frame_status
    - increase_tc
    - vlc_player_NextVideoFrame
    - decrease_tc
    - check_normal_timer
    - wait_type_timer
    - player_lock_timer
    - resume
    - player_unlock_timer
    - assert_state
    linkageType: ''
    returnType: void
    signature: void burst_unpaused(struct np_ctx *np_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/src/player/next_prev.c:498,1
    - Dst: player_set_current_mock_media
      Src: /src/vlc/test/src/player/next_prev.c:508,1
    - Dst: player_add_timer
      Src: /src/vlc/test/src/player/next_prev.c:510,1
    - Dst: player_add_timer
      Src: /src/vlc/test/src/player/next_prev.c:517,1
    - Dst: player_start
      Src: /src/vlc/test/src/player/next_prev.c:521,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/next_prev.c:527,1
    - Dst: assert
      Src: /src/vlc/test/src/player/next_prev.c:528,1
    - Dst: wait_next_tc
      Src: /src/vlc/test/src/player/next_prev.c:532,1
    - Dst: burst_unpaused
      Src: /src/vlc/test/src/player/next_prev.c:536,1
    - Dst: vlc_player_SetTime
      Src: /src/vlc/test/src/player/next_prev.c:538,1
    - Dst: wait_type_timer
      Src: /src/vlc/test/src/player/next_prev.c:541,1
    - Dst: wait_next_tc
      Src: /src/vlc/test/src/player/next_prev.c:544,1
    - Dst: vlc_player_NextVideoFrame
      Src: /src/vlc/test/src/player/next_prev.c:546,1
    - Dst: wait_next_frame_status
      Src: /src/vlc/test/src/player/next_prev.c:549,1
    - Dst: assert_state
      Src: /src/vlc/test/src/player/next_prev.c:550,1
    - Dst: wait_type_timer
      Src: /src/vlc/test/src/player/next_prev.c:551,1
    - Dst: go_eof
      Src: /src/vlc/test/src/player/next_prev.c:554,1
    - Dst: go_start
      Src: /src/vlc/test/src/player/next_prev.c:557,1
    - Dst: vlc_player_PreviousVideoFrame
      Src: /src/vlc/test/src/player/next_prev.c:560,1
    - Dst: wait_prev_frame_status
      Src: /src/vlc/test/src/player/next_prev.c:561,1
    - Dst: check_resumed_timer
      Src: /src/vlc/test/src/player/next_prev.c:566,1
    - Dst: go_start
      Src: /src/vlc/test/src/player/next_prev.c:569,1
    - Dst: check_seek_timer
      Src: /src/vlc/test/src/player/next_prev.c:572,1
    - Dst: go_start
      Src: /src/vlc/test/src/player/next_prev.c:575,1
    - Dst: test_end
      Src: /src/vlc/test/src/player/next_prev.c:578,1
    - Dst: player_remove_timer
      Src: /src/vlc/test/src/player/next_prev.c:579,1
    - Dst: player_remove_timer
      Src: /src/vlc/test/src/player/next_prev.c:581,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 3
    argNames:
    - ctx
    - params
    - extra_checks
    argTypes:
    - struct ctx*
    - struct media_params*
    - bool
    assertStmts:
    - condition: (vec->data[0].action == VLC_PLAYER_VOUT_STARTED)
      pos:
        line_end: 527
        line_start: 527
        source_file: /src/vlc/test/src/player/next_prev.c
    constantsTouched: []
    func_position:
      end: 582
      start: 495
    functionDepth: 4
    functionLinenumber: 495
    functionLinenumberEnd: 582
    functionName: test_prev
    functionSourceFile: /src/vlc/test/src/player/next_prev.c
    functionUses: 0
    functionsReached:
    - assert
    - wait_next_frame_status
    - test_log
    - wait_type_timer
    - player_remove_timer
    - burst_unpaused
    - player_add_timer
    - vlc_player_CondWait
    - check_resumed_timer
    - vlc_player_NextVideoFrame
    - go_eof
    - vlc_player_PreviousVideoFrame
    - vlc_player_SetTime
    - wait_next_tc
    - test_end
    - go_start
    - wait_prev_frame_status
    - player_start
    - check_seek_timer
    - player_set_current_mock_media
    - assert_state
    linkageType: ''
    returnType: void
    signature: void test_prev(struct ctx *ctx, const struct media_params *params,
      bool extra_checks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/src/player/next_prev.c:587,1
    - Dst: player_set_current_mock_media
      Src: /src/vlc/test/src/player/next_prev.c:592,1
    - Dst: player_add_timer
      Src: /src/vlc/test/src/player/next_prev.c:599,1
    - Dst: player_start
      Src: /src/vlc/test/src/player/next_prev.c:603,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/next_prev.c:608,1
    - Dst: assert
      Src: /src/vlc/test/src/player/next_prev.c:609,1
    - Dst: player_lock_timer
      Src: /src/vlc/test/src/player/next_prev.c:613,1
    - Dst: timer_state_wait_next_report
      Src: /src/vlc/test/src/player/next_prev.c:614,1
    - Dst: assert
      Src: /src/vlc/test/src/player/next_prev.c:615,1
    - Dst: player_unlock_timer
      Src: /src/vlc/test/src/player/next_prev.c:616,1
    - Dst: vlc_player_PreviousVideoFrame
      Src: /src/vlc/test/src/player/next_prev.c:618,1
    - Dst: wait_prev_frame_status
      Src: /src/vlc/test/src/player/next_prev.c:620,1
    - Dst: test_end
      Src: /src/vlc/test/src/player/next_prev.c:622,1
    - Dst: player_remove_timer
      Src: /src/vlc/test/src/player/next_prev.c:623,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - ctx
    - params
    - error
    argTypes:
    - struct ctx*
    - struct media_params*
    - int
    assertStmts:
    - condition: (vec->data[0].action == VLC_PLAYER_VOUT_STARTED)
      pos:
        line_end: 608
        line_start: 608
        source_file: /src/vlc/test/src/player/next_prev.c
    - condition: (r->type == REPORT_TIMER_TC)
      pos:
        line_end: 614
        line_start: 614
        source_file: /src/vlc/test/src/player/next_prev.c
    constantsTouched: []
    func_position:
      end: 624
      start: 584
    functionDepth: 2
    functionLinenumber: 584
    functionLinenumberEnd: 624
    functionName: test_fail
    functionSourceFile: /src/vlc/test/src/player/next_prev.c
    functionUses: 0
    functionsReached:
    - timer_state_wait_next_report
    - test_end
    - vlc_player_CondWait
    - assert
    - vlc_player_PreviousVideoFrame
    - wait_prev_frame_status
    - test_log
    - player_remove_timer
    - player_lock_timer
    - player_set_current_mock_media
    - player_add_timer
    - player_unlock_timer
    - player_start
    linkageType: ''
    returnType: void
    signature: void test_fail(struct ctx *ctx, const struct media_params *params,
      int error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/src/player/next_prev.c:629,1
    - Dst: player_set_current_mock_media
      Src: /src/vlc/test/src/player/next_prev.c:633,1
    - Dst: player_add_timer
      Src: /src/vlc/test/src/player/next_prev.c:640,1
    - Dst: player_start
      Src: /src/vlc/test/src/player/next_prev.c:644,1
    - Dst: player_lock_timer
      Src: /src/vlc/test/src/player/next_prev.c:647,1
    - Dst: timer_state_wait_next_report
      Src: /src/vlc/test/src/player/next_prev.c:648,1
    - Dst: assert
      Src: /src/vlc/test/src/player/next_prev.c:649,1
    - Dst: player_unlock_timer
      Src: /src/vlc/test/src/player/next_prev.c:650,1
    - Dst: vlc_player_PreviousVideoFrame
      Src: /src/vlc/test/src/player/next_prev.c:652,1
    - Dst: wait_prev_frame_status
      Src: /src/vlc/test/src/player/next_prev.c:653,1
    - Dst: vlc_player_PreviousVideoFrame
      Src: /src/vlc/test/src/player/next_prev.c:655,1
    - Dst: wait_prev_frame_status
      Src: /src/vlc/test/src/player/next_prev.c:656,1
    - Dst: test_end
      Src: /src/vlc/test/src/player/next_prev.c:658,1
    - Dst: player_remove_timer
      Src: /src/vlc/test/src/player/next_prev.c:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - struct ctx*
    - struct media_params*
    assertStmts:
    - condition: (r->type == REPORT_TIMER_POINT)
      pos:
        line_end: 648
        line_start: 648
        source_file: /src/vlc/test/src/player/next_prev.c
    constantsTouched: []
    func_position:
      end: 660
      start: 626
    functionDepth: 2
    functionLinenumber: 626
    functionLinenumberEnd: 660
    functionName: test_vout_fail
    functionSourceFile: /src/vlc/test/src/player/next_prev.c
    functionUses: 0
    functionsReached:
    - timer_state_wait_next_report
    - test_end
    - assert
    - vlc_player_PreviousVideoFrame
    - wait_prev_frame_status
    - test_log
    - player_remove_timer
    - player_lock_timer
    - player_set_current_mock_media
    - player_add_timer
    - player_unlock_timer
    - player_start
    linkageType: ''
    returnType: void
    signature: void test_vout_fail(struct ctx *ctx, const struct media_params *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFAULT_MEDIA_PARAMS
      Src: /src/vlc/test/src/player/next_prev.c:665,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/test/src/player/next_prev.c:665,1
    - Dst: ctx_init
      Src: /src/vlc/test/src/player/next_prev.c:672,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/next_prev.c:675,1
    - Dst: test_prev
      Src: /src/vlc/test/src/player/next_prev.c:677,1
    - Dst: test_prev
      Src: /src/vlc/test/src/player/next_prev.c:683,1
    - Dst: test_prev
      Src: /src/vlc/test/src/player/next_prev.c:692,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/test/src/player/next_prev.c:695,1
    - Dst: test_prev
      Src: /src/vlc/test/src/player/next_prev.c:700,1
    - Dst: test_fail
      Src: /src/vlc/test/src/player/next_prev.c:705,1
    - Dst: test_fail
      Src: /src/vlc/test/src/player/next_prev.c:710,1
    - Dst: ctx_destroy
      Src: /src/vlc/test/src/player/next_prev.c:713,1
    - Dst: ctx_init
      Src: /src/vlc/test/src/player/next_prev.c:716,1
    - Dst: test_vout_fail
      Src: /src/vlc/test/src/player/next_prev.c:717,1
    - Dst: ctx_destroy
      Src: /src/vlc/test/src/player/next_prev.c:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 662
    functionDepth: 3
    functionLinenumber: 662
    functionLinenumberEnd: 721
    functionName: main
    functionSourceFile: /src/vlc/test/src/player/next_prev.c
    functionUses: 0
    functionsReached:
    - VLC_TICK_FROM_SEC
    - test_prev
    - VLC_TICK_FROM_MS
    - ctx_destroy
    - DEFAULT_MEDIA_PARAMS
    - test_fail
    - test_vout_fail
    - ctx_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/src/player/teletext.c:14,1
    - Dst: DEFAULT_MEDIA_PARAMS
      Src: /src/vlc/test/src/player/teletext.c:19,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/test/src/player/teletext.c:19,1
    - Dst: player_set_next_mock_media
      Src: /src/vlc/test/src/player/teletext.c:23,1
    - Dst: player_start
      Src: /src/vlc/test/src/player/teletext.c:25,1
    - Dst: vec_on_track_list_get_action_count
      Src: /src/vlc/test/src/player/teletext.c:30,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/teletext.c:32,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/teletext.c:38,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:39,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:40,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:41,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:42,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:43,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:45,1
    - Dst: vlc_player_HasTeletextMenu
      Src: /src/vlc/test/src/player/teletext.c:45,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/teletext.c:52,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:53,1
    - Dst: vlc_player_GetTrack
      Src: /src/vlc/test/src/player/teletext.c:54,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:55,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:56,1
    - Dst: vlc_player_GetTrackAt
      Src: /src/vlc/test/src/player/teletext.c:59,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:60,1
    - Dst: vlc_player_SelectTrack
      Src: /src/vlc/test/src/player/teletext.c:61,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/teletext.c:68,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:69,1
    - Dst: vlc_player_GetTrack
      Src: /src/vlc/test/src/player/teletext.c:70,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:71,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:72,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:73,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:76,1
    - Dst: vlc_player_IsTeletextEnabled
      Src: /src/vlc/test/src/player/teletext.c:76,1
    - Dst: vlc_player_SetTeletextEnabled
      Src: /src/vlc/test/src/player/teletext.c:77,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/teletext.c:84,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:85,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:86,1
    - Dst: vlc_player_GetTrack
      Src: /src/vlc/test/src/player/teletext.c:87,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:88,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:89,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:92,1
    - Dst: vlc_player_IsTeletextEnabled
      Src: /src/vlc/test/src/player/teletext.c:92,1
    - Dst: vlc_player_GetSelectedTrack
      Src: /src/vlc/test/src/player/teletext.c:93,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:94,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:95,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/teletext.c:101,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:102,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:103,1
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/teletext.c:103,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/teletext.c:110,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:111,1
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/teletext.c:111,1
    - Dst: vlc_player_GetTrackAt
      Src: /src/vlc/test/src/player/teletext.c:119,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:120,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:121,1
    - Dst: vlc_player_SelectTrack
      Src: /src/vlc/test/src/player/teletext.c:122,1
    - Dst: vec_on_track_selection_has_event
      Src: /src/vlc/test/src/player/teletext.c:123,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/teletext.c:125,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/teletext.c:132,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:133,1
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/teletext.c:133,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:134,1
    - Dst: vlc_player_GetTeletextPage
      Src: /src/vlc/test/src/player/teletext.c:134,1
    - Dst: vlc_player_SelectTeletextPage
      Src: /src/vlc/test/src/player/teletext.c:142,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/teletext.c:146,1
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/teletext.c:148,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:149,1
    - Dst: vlc_player_GetTeletextPage
      Src: /src/vlc/test/src/player/teletext.c:149,1
    - Dst: vlc_player_GetTrackAt
      Src: /src/vlc/test/src/player/teletext.c:161,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:162,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:163,1
    - Dst: vlc_player_SelectTrack
      Src: /src/vlc/test/src/player/teletext.c:164,1
    - Dst: vec_on_track_selection_has_event
      Src: /src/vlc/test/src/player/teletext.c:166,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/teletext.c:168,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/teletext.c:171,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:172,1
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/teletext.c:172,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:173,1
    - Dst: vlc_player_IsTeletextEnabled
      Src: /src/vlc/test/src/player/teletext.c:173,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:174,1
    - Dst: vlc_player_HasTeletextMenu
      Src: /src/vlc/test/src/player/teletext.c:174,1
    - Dst: vlc_player_GetTrackAt
      Src: /src/vlc/test/src/player/teletext.c:185,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:186,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:187,1
    - Dst: vlc_player_SelectTrack
      Src: /src/vlc/test/src/player/teletext.c:188,1
    - Dst: vec_on_track_selection_has_event
      Src: /src/vlc/test/src/player/teletext.c:190,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/teletext.c:192,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/teletext.c:195,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:196,1
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/teletext.c:196,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:197,1
    - Dst: vlc_player_IsTeletextEnabled
      Src: /src/vlc/test/src/player/teletext.c:197,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:198,1
    - Dst: vlc_player_HasTeletextMenu
      Src: /src/vlc/test/src/player/teletext.c:198,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:207,1
    - Dst: vlc_player_IsTeletextTransparent
      Src: /src/vlc/test/src/player/teletext.c:207,1
    - Dst: vlc_player_SetTeletextTransparency
      Src: /src/vlc/test/src/player/teletext.c:208,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/teletext.c:212,1
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/teletext.c:214,1
    - Dst: vlc_player_SetTeletextTransparency
      Src: /src/vlc/test/src/player/teletext.c:216,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/teletext.c:220,1
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/teletext.c:222,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:223,1
    - Dst: vlc_player_IsTeletextTransparent
      Src: /src/vlc/test/src/player/teletext.c:223,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:224,1
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/teletext.c:224,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:230,1
    - Dst: vlc_player_SetTeletextEnabled
      Src: /src/vlc/test/src/player/teletext.c:237,1
    - Dst: vec_on_track_selection_has_event
      Src: /src/vlc/test/src/player/teletext.c:239,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/teletext.c:241,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/teletext.c:244,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:245,1
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/teletext.c:245,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:246,1
    - Dst: vlc_player_IsTeletextEnabled
      Src: /src/vlc/test/src/player/teletext.c:246,1
    - Dst: assert
      Src: /src/vlc/test/src/player/teletext.c:247,1
    - Dst: vlc_player_HasTeletextMenu
      Src: /src/vlc/test/src/player/teletext.c:247,1
    - Dst: test_end
      Src: /src/vlc/test/src/player/teletext.c:250,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/src/player/teletext.c:252,1
    - Dst: test_log
      Src: /src/vlc/test/src/player/teletext.c:253,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 134
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts:
    - condition: (vec->data[3].selected_id)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (track && track->fmt.i_codec == VLC_CODEC_TELETEXT)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (VEC_LAST(vec))
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (!vlc_player_IsTeletextTransparent(player))
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (vec->data[0])
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (vec->size == 2)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (!vlc_player_IsTeletextEnabled(player))
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (track->fmt.i_codec != VLC_CODEC_TELETEXT)
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (!vlc_player_IsTeletextEnabled(player))
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (!VEC_LAST(vec))
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (vec->size == 1)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (vlc_player_GetTeletextPage(player) == 111)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (vlc_player_IsTeletextEnabled(player))
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (vec->size == 1)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (track->fmt.i_codec != VLC_CODEC_TELETEXT)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (!VEC_LAST(vec))
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (track)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (vec->size == 1)
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (track)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (VEC_LAST(vec))
      pos:
        line_end: 195
        line_start: 195
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (!vlc_player_IsTeletextTransparent(player))
      pos:
        line_end: 206
        line_start: 206
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (ctx->report.on_teletext_transparency_changed.size == 0)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (vlc_player_GetTeletextPage(player) == 889)
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (track)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (track)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (ctx->report.on_teletext_page_changed.size == 0)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (track)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (vlc_player_IsTeletextEnabled(player))
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (track->fmt.i_cat == SPU_ES)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (vlc_player_HasTeletextMenu(player))
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (VEC_LAST(vec) == 889)
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (vec->size == 4)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (track)
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (track)
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (vlc_player_HasTeletextMenu(player))
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (VEC_LAST(vec) == 888)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (!VEC_LAST(vec))
      pos:
        line_end: 223
        line_start: 223
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (track)
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (ctx->report.on_teletext_enabled_changed.size == 0)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (track->fmt.i_cat == VIDEO_ES)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (track->fmt.i_codec == VLC_CODEC_TELETEXT)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (vlc_player_HasTeletextMenu(player))
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (track)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (vlc_player_HasTeletextMenu(player))
      pos:
        line_end: 246
        line_start: 246
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (track->fmt.i_codec == VLC_CODEC_TELETEXT)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (track->fmt.i_codec == VLC_CODEC_TELETEXT)
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/vlc/test/src/player/teletext.c
    - condition: (!vlc_player_IsTeletextEnabled(player))
      pos:
        line_end: 245
        line_start: 245
        source_file: /src/vlc/test/src/player/teletext.c
    constantsTouched: []
    func_position:
      end: 255
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 255
    functionName: test_teletext
    functionSourceFile: /src/vlc/test/src/player/teletext.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_player_SetTeletextEnabled
    - test_log
    - vlc_player_HasTeletextMenu
    - vlc_player_GetSelectedTrack
    - vlc_player_SelectTeletextPage
    - vlc_player_IsTeletextEnabled
    - vlc_player_CondWait
    - vec_on_track_selection_has_event
    - vlc_player_GetTrackAt
    - DEFAULT_MEDIA_PARAMS
    - vlc_player_GetTeletextPage
    - vlc_player_SetTeletextTransparency
    - VLC_TICK_FROM_SEC
    - vlc_player_SelectTrack
    - player_set_next_mock_media
    - vlc_player_GetTrack
    - VEC_LAST
    - VLC_UNUSED
    - test_end
    - vec_on_track_list_get_action_count
    - vlc_player_IsTeletextTransparent
    - player_start
    linkageType: ''
    returnType: void
    signature: void test_teletext(struct ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctx_init
      Src: /src/vlc/test/src/player/teletext.c:261,1
    - Dst: test_teletext
      Src: /src/vlc/test/src/player/teletext.c:262,1
    - Dst: ctx_destroy
      Src: /src/vlc/test/src/player/teletext.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 265
    functionName: main
    functionSourceFile: /src/vlc/test/src/player/teletext.c
    functionUses: 0
    functionsReached:
    - ctx_destroy
    - test_teletext
    - ctx_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DEFAULT_MEDIA_PARAMS
      Src: /src/vlc/test/src/player/abloop.c:32,1
    - Dst: player_set_next_mock_media
      Src: /src/vlc/test/src/player/abloop.c:38,1
    - Dst: player_add_timer
      Src: /src/vlc/test/src/player/abloop.c:41,1
    - Dst: player_start
      Src: /src/vlc/test/src/player/abloop.c:43,1
    - Dst: get_buffering_count
      Src: /src/vlc/test/src/player/abloop.c:49,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/abloop.c:50,1
    - Dst: assert
      Src: /src/vlc/test/src/player/abloop.c:56,1
    - Dst: vlc_player_SetAtoBLoopTime
      Src: /src/vlc/test/src/player/abloop.c:57,1
    - Dst: assert
      Src: /src/vlc/test/src/player/abloop.c:59,1
    - Dst: vlc_player_SetAtoBLoopPosition
      Src: /src/vlc/test/src/player/abloop.c:63,1
    - Dst: assert
      Src: /src/vlc/test/src/player/abloop.c:65,1
    - Dst: get_buffering_count
      Src: /src/vlc/test/src/player/abloop.c:71,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/abloop.c:72,1
    - Dst: vlc_player_Stop
      Src: /src/vlc/test/src/player/abloop.c:74,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/abloop.c:76,1
    - Dst: assert
      Src: /src/vlc/test/src/player/abloop.c:90,1
    - Dst: assert
      Src: /src/vlc/test/src/player/abloop.c:92,1
    - Dst: assert
      Src: /src/vlc/test/src/player/abloop.c:96,1
    - Dst: assert
      Src: /src/vlc/test/src/player/abloop.c:97,1
    - Dst: assert
      Src: /src/vlc/test/src/player/abloop.c:109,1
    - Dst: assert
      Src: /src/vlc/test/src/player/abloop.c:110,1
    - Dst: assert
      Src: /src/vlc/test/src/player/abloop.c:111,1
    - Dst: assert
      Src: /src/vlc/test/src/player/abloop.c:115,1
    - Dst: assert
      Src: /src/vlc/test/src/player/abloop.c:121,1
    - Dst: assert
      Src: /src/vlc/test/src/player/abloop.c:123,1
    - Dst: test_end
      Src: /src/vlc/test/src/player/abloop.c:125,1
    - Dst: player_remove_timer
      Src: /src/vlc/test/src/player/abloop.c:126,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 2
    argNames:
    - ctx
    - scenario
    argTypes:
    - struct ctx*
    - struct abloop_scenario*
    assertStmts:
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/vlc/test/src/player/abloop.c
    - condition: (checked)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/vlc/test/src/player/abloop.c
    - condition: (scenario->b_time != VLC_TICK_INVALID)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/vlc/test/src/player/abloop.c
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/vlc/test/src/player/abloop.c
    - condition: (point->ts == scenario->a_time)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/vlc/test/src/player/abloop.c
    - condition: (scenario->a_time != VLC_TICK_INVALID)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/vlc/test/src/player/abloop.c
    - condition: (i > 0)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/vlc/test/src/player/abloop.c
    - condition: (time_point->ts + params.audio_sample_length >= end_ts)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/vlc/test/src/player/abloop.c
    - condition: (time_point->ts >= scenario->a_time)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/vlc/test/src/player/abloop.c
    - condition: (time_point->ts <= end_ts)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/vlc/test/src/player/abloop.c
    - condition: (seek_count >= scenario->seek_count)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/vlc/test/src/player/abloop.c
    - condition: (point->position == scenario->a_pos)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/vlc/test/src/player/abloop.c
    - condition: (seek_count == scenario->seek_count)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/vlc/test/src/player/abloop.c
    constantsTouched: []
    func_position:
      end: 127
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 127
    functionName: test_abloop_scenario
    functionSourceFile: /src/vlc/test/src/player/abloop.c
    functionUses: 0
    functionsReached:
    - test_end
    - wait_state
    - vlc_player_CondWait
    - assert
    - get_buffering_count
    - vlc_player_SetAtoBLoopTime
    - player_set_next_mock_media
    - vlc_player_SetAtoBLoopPosition
    - player_remove_timer
    - DEFAULT_MEDIA_PARAMS
    - player_add_timer
    - vlc_player_Stop
    - player_start
    linkageType: ''
    returnType: void
    signature: void test_abloop_scenario(struct ctx *ctx, const struct abloop_scenario
      *scenario)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/abloop.c:138,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/abloop.c:139,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/abloop.c:139,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/abloop.c:146,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/abloop.c:147,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/abloop.c:147,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/abloop.c:153,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/abloop.c:154,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/abloop.c:154,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/abloop.c:160,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/abloop.c:167,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/abloop.c:175,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/abloop.c:183,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/player/abloop.c:189,1
    - Dst: test_log
      Src: /src/vlc/test/src/player/abloop.c:191,1
    - Dst: test_abloop_scenario
      Src: /src/vlc/test/src/player/abloop.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 194
    functionName: test_abloop
    functionSourceFile: /src/vlc/test/src/player/abloop.c
    functionUses: 0
    functionsReached:
    - test_abloop_scenario
    - VLC_TICK_FROM_MS
    - ARRAY_SIZE
    - test_log
    linkageType: ''
    returnType: void
    signature: void test_abloop(struct ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEFAULT_MEDIA_PARAMS
      Src: /src/vlc/test/src/player/abloop.c:218,1
    - Dst: player_set_next_mock_media
      Src: /src/vlc/test/src/player/abloop.c:224,1
    - Dst: player_start
      Src: /src/vlc/test/src/player/abloop.c:226,1
    - Dst: get_buffering_count
      Src: /src/vlc/test/src/player/abloop.c:228,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/abloop.c:229,1
    - Dst: vlc_player_SetTime
      Src: /src/vlc/test/src/player/abloop.c:233,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/abloop.c:237,1
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/abloop.c:239,1
    - Dst: assert
      Src: /src/vlc/test/src/player/abloop.c:241,1
    - Dst: assert
      Src: /src/vlc/test/src/player/abloop.c:242,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/abloop.c:242,1
    - Dst: assert
      Src: /src/vlc/test/src/player/abloop.c:244,1
    - Dst: vlc_player_SetAtoBLoopTime
      Src: /src/vlc/test/src/player/abloop.c:245,1
    - Dst: assert
      Src: /src/vlc/test/src/player/abloop.c:247,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/abloop.c:252,1
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/abloop.c:255,1
    - Dst: assert
      Src: /src/vlc/test/src/player/abloop.c:257,1
    - Dst: assert
      Src: /src/vlc/test/src/player/abloop.c:258,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/abloop.c:258,1
    - Dst: vlc_player_SetPosition
      Src: /src/vlc/test/src/player/abloop.c:262,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/abloop.c:266,1
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/abloop.c:268,1
    - Dst: assert
      Src: /src/vlc/test/src/player/abloop.c:270,1
    - Dst: assert
      Src: /src/vlc/test/src/player/abloop.c:271,1
    - Dst: vlc_player_SetAtoBLoopPosition
      Src: /src/vlc/test/src/player/abloop.c:273,1
    - Dst: assert
      Src: /src/vlc/test/src/player/abloop.c:275,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/abloop.c:280,1
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/abloop.c:283,1
    - Dst: assert
      Src: /src/vlc/test/src/player/abloop.c:285,1
    - Dst: assert
      Src: /src/vlc/test/src/player/abloop.c:286,1
    - Dst: test_end
      Src: /src/vlc/test/src/player/abloop.c:289,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 2
    argNames:
    - ctx
    - scenario
    argTypes:
    - struct ctx*
    - struct abloop_initial_position_scenario*
    assertStmts:
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 246
        line_start: 246
        source_file: /src/vlc/test/src/player/abloop.c
    - condition: (scenario->b_time != VLC_TICK_INVALID)
      pos:
        line_end: 243
        line_start: 243
        source_file: /src/vlc/test/src/player/abloop.c
    - condition: ((current_pos - scenario->initial_pos) < 0.1)
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/vlc/test/src/player/abloop.c
    - condition: (current_time - scenario->initial_time < VLC_TICK_FROM_MS(1000))
      pos:
        line_end: 241
        line_start: 241
        source_file: /src/vlc/test/src/player/abloop.c
    - condition: (current_time >= scenario->expected_initial_time)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/vlc/test/src/player/abloop.c
    - condition: (current_time - scenario->expected_initial_time < VLC_TICK_FROM_MS(1000))
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/vlc/test/src/player/abloop.c
    - condition: (current_pos >= scenario->initial_pos)
      pos:
        line_end: 269
        line_start: 269
        source_file: /src/vlc/test/src/player/abloop.c
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 274
        line_start: 274
        source_file: /src/vlc/test/src/player/abloop.c
    - condition: ((current_pos - scenario->expected_initial_pos) < 0.1)
      pos:
        line_end: 285
        line_start: 285
        source_file: /src/vlc/test/src/player/abloop.c
    - condition: (current_time >= scenario->initial_time)
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/vlc/test/src/player/abloop.c
    - condition: (current_pos >= scenario->expected_initial_pos)
      pos:
        line_end: 284
        line_start: 284
        source_file: /src/vlc/test/src/player/abloop.c
    constantsTouched: []
    func_position:
      end: 290
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 290
    functionName: test_abloop_initial_position_scenario
    functionSourceFile: /src/vlc/test/src/player/abloop.c
    functionUses: 0
    functionsReached:
    - test_end
    - vlc_player_CondWait
    - assert
    - get_buffering_count
    - vlc_player_SetPosition
    - VLC_TICK_FROM_MS
    - vlc_player_SetAtoBLoopTime
    - player_set_next_mock_media
    - vlc_player_SetAtoBLoopPosition
    - vlc_player_SetTime
    - DEFAULT_MEDIA_PARAMS
    - VEC_LAST
    - player_start
    linkageType: ''
    returnType: void
    signature: void test_abloop_initial_position_scenario(struct ctx *ctx, const struct
      abloop_initial_position_scenario *scenario)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/abloop.c:300,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/abloop.c:301,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/abloop.c:301,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/abloop.c:302,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/abloop.c:302,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/abloop.c:307,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/abloop.c:308,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/abloop.c:308,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/abloop.c:309,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/abloop.c:309,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/abloop.c:314,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/abloop.c:315,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/abloop.c:315,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/abloop.c:316,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/abloop.c:316,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/abloop.c:321,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/abloop.c:328,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/abloop.c:335,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/player/abloop.c:342,1
    - Dst: test_log
      Src: /src/vlc/test/src/player/abloop.c:344,1
    - Dst: test_abloop_initial_position_scenario
      Src: /src/vlc/test/src/player/abloop.c:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 347
    functionName: test_abloop_initial_position
    functionSourceFile: /src/vlc/test/src/player/abloop.c
    functionUses: 0
    functionsReached:
    - test_abloop_initial_position_scenario
    - VLC_TICK_FROM_MS
    - ARRAY_SIZE
    - test_log
    linkageType: ''
    returnType: void
    signature: void test_abloop_initial_position(struct ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctx_init
      Src: /src/vlc/test/src/player/abloop.c:353,1
    - Dst: test_abloop
      Src: /src/vlc/test/src/player/abloop.c:354,1
    - Dst: test_abloop_initial_position
      Src: /src/vlc/test/src/player/abloop.c:355,1
    - Dst: ctx_destroy
      Src: /src/vlc/test/src/player/abloop.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 349
    functionDepth: 3
    functionLinenumber: 349
    functionLinenumberEnd: 358
    functionName: main
    functionSourceFile: /src/vlc/test/src/player/abloop.c
    functionUses: 0
    functionsReached:
    - ctx_destroy
    - test_abloop
    - test_abloop_initial_position
    - ctx_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/src/player/es_selection.c:13,1
    - Dst: DEFAULT_MEDIA_PARAMS
      Src: /src/vlc/test/src/player/es_selection.c:17,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/test/src/player/es_selection.c:17,1
    - Dst: player_set_next_mock_media
      Src: /src/vlc/test/src/player/es_selection.c:23,1
    - Dst: player_start
      Src: /src/vlc/test/src/player/es_selection.c:25,1
    - Dst: vec_on_track_list_get_action_count
      Src: /src/vlc/test/src/player/es_selection.c:30,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/es_selection.c:32,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/es_selection.c:40,1
    - Dst: assert
      Src: /src/vlc/test/src/player/es_selection.c:43,1
    - Dst: vlc_player_GetTrackCount
      Src: /src/vlc/test/src/player/es_selection.c:43,1
    - Dst: assert
      Src: /src/vlc/test/src/player/es_selection.c:44,1
    - Dst: vlc_player_GetTrackCount
      Src: /src/vlc/test/src/player/es_selection.c:44,1
    - Dst: vlc_player_GetTrackAt
      Src: /src/vlc/test/src/player/es_selection.c:45,1
    - Dst: assert
      Src: /src/vlc/test/src/player/es_selection.c:46,1
    - Dst: assert
      Src: /src/vlc/test/src/player/es_selection.c:47,1
    - Dst: vlc_player_GetTrackAt
      Src: /src/vlc/test/src/player/es_selection.c:48,1
    - Dst: assert
      Src: /src/vlc/test/src/player/es_selection.c:49,1
    - Dst: assert
      Src: /src/vlc/test/src/player/es_selection.c:50,1
    - Dst: vlc_player_SelectTrack
      Src: /src/vlc/test/src/player/es_selection.c:53,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/es_selection.c:58,1
    - Dst: vlc_player_GetTrackAt
      Src: /src/vlc/test/src/player/es_selection.c:60,1
    - Dst: assert
      Src: /src/vlc/test/src/player/es_selection.c:61,1
    - Dst: assert
      Src: /src/vlc/test/src/player/es_selection.c:62,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/es_selection.c:64,1
    - Dst: assert_normal_state
      Src: /src/vlc/test/src/player/es_selection.c:65,1
    - Dst: test_end
      Src: /src/vlc/test/src/player/es_selection.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts:
    - condition: (vlc_player_GetTrackCount(player, AUDIO_ES) == 1)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/vlc/test/src/player/es_selection.c
    - condition: (track->selected)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/vlc/test/src/player/es_selection.c
    - condition: (track->selected)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/vlc/test/src/player/es_selection.c
    - condition: (!track->selected)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/vlc/test/src/player/es_selection.c
    - condition: (track)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/vlc/test/src/player/es_selection.c
    - condition: (track)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/vlc/test/src/player/es_selection.c
    - condition: (vlc_player_GetTrackCount(player, VIDEO_ES) == 1)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/vlc/test/src/player/es_selection.c
    - condition: (track)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/vlc/test/src/player/es_selection.c
    constantsTouched: []
    func_position:
      end: 68
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 68
    functionName: test_es_selection_override
    functionSourceFile: /src/vlc/test/src/player/es_selection.c
    functionUses: 0
    functionsReached:
    - test_end
    - wait_state
    - vlc_player_CondWait
    - assert
    - vlc_player_GetTrackAt
    - VLC_TICK_FROM_SEC
    - vlc_player_SelectTrack
    - assert_normal_state
    - player_set_next_mock_media
    - test_log
    - vec_on_track_list_get_action_count
    - DEFAULT_MEDIA_PARAMS
    - vlc_player_GetTrackCount
    - player_start
    linkageType: ''
    returnType: void
    signature: void test_es_selection_override(struct ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctx_init
      Src: /src/vlc/test/src/player/es_selection.c:75,1
    - Dst: test_es_selection_override
      Src: /src/vlc/test/src/player/es_selection.c:76,1
    - Dst: ctx_destroy
      Src: /src/vlc/test/src/player/es_selection.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: main
    functionSourceFile: /src/vlc/test/src/player/es_selection.c
    functionUses: 0
    functionsReached:
    - ctx_destroy
    - test_es_selection_override
    - ctx_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/player/loudness.c:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - date
    - momentary_loudness
    - data
    argTypes:
    - vlc_tick_t
    - double
    - void*
    assertStmts:
    - condition: (momentary_loudness>= -23 -0.1 && momentary_loudness <= -23 +0.1)
      pos:
        line_end: 14
        line_start: 14
        source_file: /src/vlc/test/src/player/loudness.c
    constantsTouched: []
    func_position:
      end: 19
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 19
    functionName: test_audio_loudness_meter_cb
    functionSourceFile: /src/vlc/test/src/player/loudness.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void test_audio_loudness_meter_cb(vlc_tick_t date, double momentary_loudness,\n
      \                            void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/src/player/loudness.c:24,1
    - Dst: module_exists
      Src: /src/vlc/test/src/player/loudness.c:32,1
    - Dst: test_log
      Src: /src/vlc/test/src/player/loudness.c:34,1
    - Dst: DEFAULT_MEDIA_PARAMS
      Src: /src/vlc/test/src/player/loudness.c:38,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/test/src/player/loudness.c:38,1
    - Dst: player_set_next_mock_media
      Src: /src/vlc/test/src/player/loudness.c:47,1
    - Dst: vlc_player_AddMetadataListener
      Src: /src/vlc/test/src/player/loudness.c:51,1
    - Dst: assert
      Src: /src/vlc/test/src/player/loudness.c:53,1
    - Dst: player_start
      Src: /src/vlc/test/src/player/loudness.c:55,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/loudness.c:56,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/loudness.c:57,1
    - Dst: assert
      Src: /src/vlc/test/src/player/loudness.c:59,1
    - Dst: vlc_player_RemoveMetadataListener
      Src: /src/vlc/test/src/player/loudness.c:61,1
    - Dst: test_end
      Src: /src/vlc/test/src/player/loudness.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts:
    - condition: (listener_id)
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/vlc/test/src/player/loudness.c
    - condition: (loudness_meter_received)
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/vlc/test/src/player/loudness.c
    constantsTouched: []
    func_position:
      end: 63
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 63
    functionName: test_audio_loudness_meter
    functionSourceFile: /src/vlc/test/src/player/loudness.c
    functionUses: 0
    functionsReached:
    - test_end
    - wait_state
    - assert
    - VLC_TICK_FROM_SEC
    - vlc_player_AddMetadataListener
    - player_set_next_mock_media
    - module_exists
    - test_log
    - DEFAULT_MEDIA_PARAMS
    - player_start
    - vlc_player_RemoveMetadataListener
    linkageType: ''
    returnType: void
    signature: void test_audio_loudness_meter(struct ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctx_init
      Src: /src/vlc/test/src/player/loudness.c:70,1
    - Dst: test_audio_loudness_meter
      Src: /src/vlc/test/src/player/loudness.c:71,1
    - Dst: ctx_destroy
      Src: /src/vlc/test/src/player/loudness.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: main
    functionSourceFile: /src/vlc/test/src/player/loudness.c
    functionUses: 0
    functionsReached:
    - test_audio_loudness_meter
    - ctx_destroy
    - ctx_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/src/player/eof.c:13,1
    - Dst: vlc_player_SetPlayAndPause
      Src: /src/vlc/test/src/player/eof.c:16,1
    - Dst: DEFAULT_MEDIA_PARAMS
      Src: /src/vlc/test/src/player/eof.c:18,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/eof.c:18,1
    - Dst: player_set_next_mock_media
      Src: /src/vlc/test/src/player/eof.c:19,1
    - Dst: player_start
      Src: /src/vlc/test/src/player/eof.c:20,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/eof.c:23,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/eof.c:24,1
    - Dst: vlc_player_SetTime
      Src: /src/vlc/test/src/player/eof.c:26,1
    - Dst: vlc_player_Resume
      Src: /src/vlc/test/src/player/eof.c:27,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/eof.c:30,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/eof.c:31,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/test/src/player/eof.c:34,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/eof.c:34,1
    - Dst: assert_state
      Src: /src/vlc/test/src/player/eof.c:35,1
    - Dst: test_prestop
      Src: /src/vlc/test/src/player/eof.c:36,1
    - Dst: vlc_player_Stop
      Src: /src/vlc/test/src/player/eof.c:38,1
    - Dst: test_end
      Src: /src/vlc/test/src/player/eof.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 41
    functionName: test_play_pause
    functionSourceFile: /src/vlc/test/src/player/eof.c
    functionUses: 0
    functionsReached:
    - test_end
    - wait_state
    - test_prestop
    - assert_state
    - VLC_TICK_FROM_MS
    - player_set_next_mock_media
    - test_log
    - vlc_player_SetTime
    - DEFAULT_MEDIA_PARAMS
    - vlc_player_SetPlayAndPause
    - vlc_tick_sleep
    - vlc_player_Stop
    - vlc_player_Resume
    - player_start
    linkageType: ''
    returnType: void
    signature: void test_play_pause(struct ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/src/player/eof.c:46,1
    - Dst: vlc_player_SetRepeatCount
      Src: /src/vlc/test/src/player/eof.c:50,1
    - Dst: DEFAULT_MEDIA_PARAMS
      Src: /src/vlc/test/src/player/eof.c:52,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/eof.c:52,1
    - Dst: player_set_next_mock_media
      Src: /src/vlc/test/src/player/eof.c:53,1
    - Dst: player_start
      Src: /src/vlc/test/src/player/eof.c:54,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/eof.c:56,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/eof.c:57,1
    - Dst: assert
      Src: /src/vlc/test/src/player/eof.c:60,1
    - Dst: get_buffering_count
      Src: /src/vlc/test/src/player/eof.c:60,1
    - Dst: test_end
      Src: /src/vlc/test/src/player/eof.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts:
    - condition: (get_buffering_count(ctx) ==  repeat_count + 1 /* initial buffering
        */)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/vlc/test/src/player/eof.c
    constantsTouched: []
    func_position:
      end: 63
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 63
    functionName: test_repeat
    functionSourceFile: /src/vlc/test/src/player/eof.c
    functionUses: 0
    functionsReached:
    - test_end
    - wait_state
    - vlc_player_SetRepeatCount
    - assert
    - get_buffering_count
    - VLC_TICK_FROM_MS
    - player_set_next_mock_media
    - test_log
    - DEFAULT_MEDIA_PARAMS
    - player_start
    linkageType: ''
    returnType: void
    signature: void test_repeat(struct ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctx_init
      Src: /src/vlc/test/src/player/eof.c:69,1
    - Dst: test_play_pause
      Src: /src/vlc/test/src/player/eof.c:70,1
    - Dst: test_repeat
      Src: /src/vlc/test/src/player/eof.c:71,1
    - Dst: ctx_destroy
      Src: /src/vlc/test/src/player/eof.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: main
    functionSourceFile: /src/vlc/test/src/player/eof.c
    functionUses: 0
    functionsReached:
    - ctx_destroy
    - test_repeat
    - test_play_pause
    - ctx_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/src/player/programs.c:13,1
    - Dst: DEFAULT_MEDIA_PARAMS
      Src: /src/vlc/test/src/player/programs.c:17,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/test/src/player/programs.c:17,1
    - Dst: player_set_next_mock_media
      Src: /src/vlc/test/src/player/programs.c:19,1
    - Dst: player_start
      Src: /src/vlc/test/src/player/programs.c:21,1
    - Dst: vec_on_program_list_get_action_count
      Src: /src/vlc/test/src/player/programs.c:25,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/programs.c:27,1
    - Dst: assert
      Src: /src/vlc/test/src/player/programs.c:29,1
    - Dst: vlc_player_GetProgramCount
      Src: /src/vlc/test/src/player/programs.c:29,1
    - Dst: vlc_player_GetProgramAt
      Src: /src/vlc/test/src/player/programs.c:38,1
    - Dst: assert
      Src: /src/vlc/test/src/player/programs.c:39,1
    - Dst: assert
      Src: /src/vlc/test/src/player/programs.c:40,1
    - Dst: vlc_player_GetProgram
      Src: /src/vlc/test/src/player/programs.c:40,1
    - Dst: vlc_player_GetProgramAt
      Src: /src/vlc/test/src/player/programs.c:44,1
    - Dst: vlc_player_SelectProgram
      Src: /src/vlc/test/src/player/programs.c:52,1
    - Dst: vec_on_program_selection_has_event
      Src: /src/vlc/test/src/player/programs.c:58,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/programs.c:60,1
    - Dst: test_prestop
      Src: /src/vlc/test/src/player/programs.c:64,1
    - Dst: test_end
      Src: /src/vlc/test/src/player/programs.c:65,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts:
    - condition: (old_prgm)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/vlc/test/src/player/programs.c
    - condition: (old_prgm == vlc_player_GetProgram(player, old_prgm->group_id))
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/vlc/test/src/player/programs.c
    - condition: (vlc_player_GetProgramCount(player) == params.program_count)
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/vlc/test/src/player/programs.c
    constantsTouched: []
    func_position:
      end: 66
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 66
    functionName: test_programs
    functionSourceFile: /src/vlc/test/src/player/programs.c
    functionUses: 0
    functionsReached:
    - vlc_player_SelectProgram
    - test_end
    - vlc_player_CondWait
    - assert
    - test_prestop
    - VLC_TICK_FROM_SEC
    - player_set_next_mock_media
    - vec_on_program_selection_has_event
    - test_log
    - vlc_player_GetProgramCount
    - vlc_player_GetProgramAt
    - vlc_player_GetProgram
    - DEFAULT_MEDIA_PARAMS
    - vec_on_program_list_get_action_count
    - player_start
    linkageType: ''
    returnType: void
    signature: void test_programs(struct ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctx_init
      Src: /src/vlc/test/src/player/programs.c:72,1
    - Dst: test_programs
      Src: /src/vlc/test/src/player/programs.c:73,1
    - Dst: ctx_destroy
      Src: /src/vlc/test/src/player/programs.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: main
    functionSourceFile: /src/vlc/test/src/player/programs.c
    functionUses: 0
    functionsReached:
    - ctx_destroy
    - test_programs
    - ctx_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/src/player/discontinuities.c:14,1
    - Dst: DEFAULT_MEDIA_PARAMS
      Src: /src/vlc/test/src/player/discontinuities.c:19,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/test/src/player/discontinuities.c:19,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/discontinuities.c:20,1
    - Dst: player_set_next_mock_media
      Src: /src/vlc/test/src/player/discontinuities.c:22,1
    - Dst: player_start
      Src: /src/vlc/test/src/player/discontinuities.c:24,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/discontinuities.c:28,1
    - Dst: assert
      Src: /src/vlc/test/src/player/discontinuities.c:30,1
    - Dst: assert
      Src: /src/vlc/test/src/player/discontinuities.c:31,1
    - Dst: assert
      Src: /src/vlc/test/src/player/discontinuities.c:32,1
    - Dst: assert
      Src: /src/vlc/test/src/player/discontinuities.c:33,1
    - Dst: test_end
      Src: /src/vlc/test/src/player/discontinuities.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts:
    - condition: (vec->data[0] == VLC_TICK_0)
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/vlc/test/src/player/discontinuities.c
    - condition: (vec->data[1] == VLC_TICK_0 + 2)
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/vlc/test/src/player/discontinuities.c
    - condition: (vec->data[2] == VLC_TICK_0 + 2500000)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/vlc/test/src/player/discontinuities.c
    - condition: (vec->data[3] == VLC_TICK_0 + 10000000)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/vlc/test/src/player/discontinuities.c
    constantsTouched: []
    func_position:
      end: 36
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 36
    functionName: test_clock_discontinuities
    functionSourceFile: /src/vlc/test/src/player/discontinuities.c
    functionUses: 0
    functionsReached:
    - test_end
    - vlc_player_CondWait
    - assert
    - VLC_TICK_FROM_SEC
    - VLC_TICK_FROM_MS
    - player_set_next_mock_media
    - test_log
    - DEFAULT_MEDIA_PARAMS
    - player_start
    linkageType: ''
    returnType: void
    signature: void test_clock_discontinuities(struct ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctx_init
      Src: /src/vlc/test/src/player/discontinuities.c:43,1
    - Dst: test_clock_discontinuities
      Src: /src/vlc/test/src/player/discontinuities.c:44,1
    - Dst: ctx_destroy
      Src: /src/vlc/test/src/player/discontinuities.c:45,1
    - Dst: ctx_init
      Src: /src/vlc/test/src/player/discontinuities.c:46,1
    - Dst: test_clock_discontinuities
      Src: /src/vlc/test/src/player/discontinuities.c:47,1
    - Dst: ctx_destroy
      Src: /src/vlc/test/src/player/discontinuities.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: main
    functionSourceFile: /src/vlc/test/src/player/discontinuities.c
    functionUses: 0
    functionsReached:
    - ctx_destroy
    - test_clock_discontinuities
    - ctx_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/test/src/player/common.h:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - enum vlc_player_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 36
    functionName: state_to_string
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    linkageType: ''
    returnType: char
    signature: char *state_to_string(enum vlc_player_state state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    functionName: X
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(type, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: X
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(type, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - report
    argTypes:
    - struct reports*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: reports_init
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reports_init(struct reports *report)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: X
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(type, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param_length
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 225
    functionName: DEFAULT_MEDIA_PARAMS
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFAULT_MEDIA_PARAMS(param_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:258,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - player
    - data
    argTypes:
    - vlc_player_t*
    - void*
    assertStmts:
    - condition: (data)
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/vlc/test/src/player/common.h
    - condition: (player == ctx->player)
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/vlc/test/src/player/common.h
    constantsTouched: []
    func_position:
      end: 262
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 262
    functionName: get_ctx
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: struct ctx
    signature: 'struct ctx *

      get_ctx(vlc_player_t *player, void *data)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vec
    - ','
    - item
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: VEC_PUSH
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VEC_PUSH(vec, item)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_ctx
      Src: /src/vlc/test/src/player/common.h:274,1
    - Dst: input_item_Hold
      Src: /src/vlc/test/src/player/common.h:276,1
    - Dst: VEC_PUSH
      Src: /src/vlc/test/src/player/common.h:277,1
    - Dst: vlc_vector_remove
      Src: /src/vlc/test/src/player/common.h:283,1
    - Dst: vlc_vector_push
      Src: /src/vlc/test/src/player/common.h:285,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:286,1
    - Dst: vlc_vector_push
      Src: /src/vlc/test/src/player/common.h:287,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:288,1
    - Dst: vlc_player_SetNextMedia
      Src: /src/vlc/test/src/player/common.h:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - player
    - new_media
    - data
    argTypes:
    - vlc_player_t*
    - input_item_t*
    - void*
    assertStmts:
    - condition: (success)
      pos:
        line_end: 285
        line_start: 285
        source_file: /src/vlc/test/src/player/common.h
    - condition: (success)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/vlc/test/src/player/common.h
    constantsTouched: []
    func_position:
      end: 290
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 290
    functionName: player_on_current_media_changed
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - assert
    - VEC_PUSH
    - vlc_vector_remove
    - get_ctx
    - vlc_player_SetNextMedia
    - input_item_Hold
    - vlc_vector_push
    linkageType: ''
    returnType: void
    signature: "void player_on_current_media_changed(vlc_player_t *player,\n                                input_item_t
      *new_media, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ctx
      Src: /src/vlc/test/src/player/common.h:296,1
    - Dst: VEC_PUSH
      Src: /src/vlc/test/src/player/common.h:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - player
    - state
    - data
    argTypes:
    - vlc_player_t*
    - enum vlc_player_state
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 298
    functionName: player_on_state_changed
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - get_ctx
    - VEC_PUSH
    linkageType: ''
    returnType: void
    signature: "void player_on_state_changed(vlc_player_t *player, enum vlc_player_state
      state,\n                        void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ctx
      Src: /src/vlc/test/src/player/common.h:304,1
    - Dst: VEC_PUSH
      Src: /src/vlc/test/src/player/common.h:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - player
    - error
    - data
    argTypes:
    - vlc_player_t*
    - enum vlc_player_error
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 306
    functionName: player_on_error_changed
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - get_ctx
    - VEC_PUSH
    linkageType: ''
    returnType: void
    signature: "void player_on_error_changed(vlc_player_t *player, enum vlc_player_error
      error,\n                        void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ctx
      Src: /src/vlc/test/src/player/common.h:312,1
    - Dst: VEC_PUSH
      Src: /src/vlc/test/src/player/common.h:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - player
    - new_buffering
    - data
    argTypes:
    - vlc_player_t*
    - float
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 314
    functionName: player_on_buffering_changed
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - get_ctx
    - VEC_PUSH
    linkageType: ''
    returnType: void
    signature: "void player_on_buffering_changed(vlc_player_t *player, float new_buffering,\n
      \                           void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ctx
      Src: /src/vlc/test/src/player/common.h:319,1
    - Dst: VEC_PUSH
      Src: /src/vlc/test/src/player/common.h:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - player
    - new_rate
    - data
    argTypes:
    - vlc_player_t*
    - float
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 321
    functionName: player_on_rate_changed
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - get_ctx
    - VEC_PUSH
    linkageType: ''
    returnType: void
    signature: void player_on_rate_changed(vlc_player_t *player, float new_rate, void
      *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ctx
      Src: /src/vlc/test/src/player/common.h:327,1
    - Dst: VEC_PUSH
      Src: /src/vlc/test/src/player/common.h:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - player
    - old_caps
    - new_caps
    - data
    argTypes:
    - vlc_player_t*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: player_on_capabilities_changed
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - get_ctx
    - VEC_PUSH
    linkageType: ''
    returnType: void
    signature: "void player_on_capabilities_changed(vlc_player_t *player, int old_caps,
      int new_caps,\n                               void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ctx
      Src: /src/vlc/test/src/player/common.h:339,1
    - Dst: VEC_PUSH
      Src: /src/vlc/test/src/player/common.h:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - player
    - time
    - pos
    - data
    argTypes:
    - vlc_player_t*
    - vlc_tick_t
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 345
    functionName: player_on_position_changed
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - get_ctx
    - VEC_PUSH
    linkageType: ''
    returnType: void
    signature: "void player_on_position_changed(vlc_player_t *player, vlc_tick_t time,\n
      \                          double pos, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ctx
      Src: /src/vlc/test/src/player/common.h:351,1
    - Dst: VEC_PUSH
      Src: /src/vlc/test/src/player/common.h:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - player
    - new_length
    - data
    argTypes:
    - vlc_player_t*
    - vlc_tick_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 353
    functionName: player_on_length_changed
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - get_ctx
    - VEC_PUSH
    linkageType: ''
    returnType: void
    signature: "void player_on_length_changed(vlc_player_t *player, vlc_tick_t new_length,\n
      \                        void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ctx
      Src: /src/vlc/test/src/player/common.h:361,1
    - Dst: vlc_player_track_Dup
      Src: /src/vlc/test/src/player/common.h:364,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:366,1
    - Dst: VEC_PUSH
      Src: /src/vlc/test/src/player/common.h:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - player
    - action
    - track
    - data
    argTypes:
    - vlc_player_t*
    - enum vlc_player_list_action
    - struct vlc_player_track*
    - void*
    assertStmts:
    - condition: (report.track)
      pos:
        line_end: 365
        line_start: 365
        source_file: /src/vlc/test/src/player/common.h
    constantsTouched: []
    func_position:
      end: 368
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 368
    functionName: player_on_track_list_changed
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - get_ctx
    - assert
    - VEC_PUSH
    - vlc_player_track_Dup
    linkageType: ''
    returnType: void
    signature: "void player_on_track_list_changed(vlc_player_t *player,\n                             enum
      vlc_player_list_action action,\n                             const struct vlc_player_track
      *track,\n                             void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ctx
      Src: /src/vlc/test/src/player/common.h:375,1
    - Dst: vlc_es_id_Hold
      Src: /src/vlc/test/src/player/common.h:377,1
    - Dst: vlc_es_id_Hold
      Src: /src/vlc/test/src/player/common.h:378,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:380,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:381,1
    - Dst: VEC_PUSH
      Src: /src/vlc/test/src/player/common.h:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - player
    - unselected_id
    - selected_id
    - data
    argTypes:
    - vlc_player_t*
    - vlc_es_id_t*
    - vlc_es_id_t*
    - void*
    assertStmts:
    - condition: (!!unselected_id == !!report.unselected_id)
      pos:
        line_end: 379
        line_start: 379
        source_file: /src/vlc/test/src/player/common.h
    - condition: (!!selected_id == !!report.selected_id)
      pos:
        line_end: 380
        line_start: 380
        source_file: /src/vlc/test/src/player/common.h
    constantsTouched: []
    func_position:
      end: 383
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 383
    functionName: player_on_track_selection_changed
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - get_ctx
    - assert
    - vlc_es_id_Hold
    - VEC_PUSH
    linkageType: ''
    returnType: void
    signature: "void player_on_track_selection_changed(vlc_player_t *player,\n                                  vlc_es_id_t
      *unselected_id,\n                                  vlc_es_id_t *selected_id,
      void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ctx
      Src: /src/vlc/test/src/player/common.h:391,1
    - Dst: vlc_player_program_Dup
      Src: /src/vlc/test/src/player/common.h:394,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:396,1
    - Dst: VEC_PUSH
      Src: /src/vlc/test/src/player/common.h:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - player
    - action
    - prgm
    - data
    argTypes:
    - vlc_player_t*
    - enum vlc_player_list_action
    - struct vlc_player_program*
    - void*
    assertStmts:
    - condition: (report.prgm)
      pos:
        line_end: 395
        line_start: 395
        source_file: /src/vlc/test/src/player/common.h
    constantsTouched: []
    func_position:
      end: 398
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 398
    functionName: player_on_program_list_changed
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - get_ctx
    - vlc_player_program_Dup
    - assert
    - VEC_PUSH
    linkageType: ''
    returnType: void
    signature: "void player_on_program_list_changed(vlc_player_t *player,\n                               enum
      vlc_player_list_action action,\n                               const struct
      vlc_player_program *prgm,\n                               void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ctx
      Src: /src/vlc/test/src/player/common.h:405,1
    - Dst: VEC_PUSH
      Src: /src/vlc/test/src/player/common.h:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - player
    - unselected_id
    - selected_id
    - data
    argTypes:
    - vlc_player_t*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 411
    functionName: player_on_program_selection_changed
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - get_ctx
    - VEC_PUSH
    linkageType: ''
    returnType: void
    signature: "void player_on_program_selection_changed(vlc_player_t *player,\n                                    int
      unselected_id, int selected_id,\n                                    void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_ctx
      Src: /src/vlc/test/src/player/common.h:417,1
    - Dst: vlc_player_title_list_Hold
      Src: /src/vlc/test/src/player/common.h:419,1
    - Dst: VEC_PUSH
      Src: /src/vlc/test/src/player/common.h:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - player
    - titles
    - data
    argTypes:
    - vlc_player_t*
    - vlc_player_title_list*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 421
    functionName: player_on_titles_changed
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - vlc_player_title_list_Hold
    - get_ctx
    - VEC_PUSH
    linkageType: ''
    returnType: void
    signature: "void player_on_titles_changed(vlc_player_t *player,\n                         vlc_player_title_list
      *titles, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ctx
      Src: /src/vlc/test/src/player/common.h:428,1
    - Dst: VEC_PUSH
      Src: /src/vlc/test/src/player/common.h:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - player
    - new_title
    - new_idx
    - data
    argTypes:
    - vlc_player_t*
    - struct vlc_player_title*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 431
    functionName: player_on_title_selection_changed
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - get_ctx
    - VEC_PUSH
    linkageType: ''
    returnType: void
    signature: "void player_on_title_selection_changed(vlc_player_t *player,\n                                  const
      struct vlc_player_title *new_title,\n                                  size_t
      new_idx, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ctx
      Src: /src/vlc/test/src/player/common.h:440,1
    - Dst: VEC_PUSH
      Src: /src/vlc/test/src/player/common.h:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - player
    - title
    - title_idx
    - chapter
    - chapter_idx
    - data
    argTypes:
    - vlc_player_t*
    - struct vlc_player_title*
    - size_t
    - struct vlc_player_chapter*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 448
    functionName: player_on_chapter_selection_changed
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - get_ctx
    - VEC_PUSH
    linkageType: ''
    returnType: void
    signature: "void player_on_chapter_selection_changed(vlc_player_t *player,\n                                    const
      struct vlc_player_title *title,\n                                    size_t
      title_idx,\n                                    const struct vlc_player_chapter
      *chapter,\n                                    size_t chapter_idx, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ctx
      Src: /src/vlc/test/src/player/common.h:454,1
    - Dst: VEC_PUSH
      Src: /src/vlc/test/src/player/common.h:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - player
    - has_teletext_menu
    - data
    argTypes:
    - vlc_player_t*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 450
    functionDepth: 2
    functionLinenumber: 450
    functionLinenumberEnd: 456
    functionName: player_on_teletext_menu_changed
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - get_ctx
    - VEC_PUSH
    linkageType: ''
    returnType: void
    signature: "void player_on_teletext_menu_changed(vlc_player_t *player,\n                                bool
      has_teletext_menu, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ctx
      Src: /src/vlc/test/src/player/common.h:462,1
    - Dst: VEC_PUSH
      Src: /src/vlc/test/src/player/common.h:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - player
    - enabled
    - data
    argTypes:
    - vlc_player_t*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 458
    functionDepth: 2
    functionLinenumber: 458
    functionLinenumberEnd: 464
    functionName: player_on_teletext_enabled_changed
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - get_ctx
    - VEC_PUSH
    linkageType: ''
    returnType: void
    signature: "void player_on_teletext_enabled_changed(vlc_player_t *player,\n                                   bool
      enabled, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ctx
      Src: /src/vlc/test/src/player/common.h:470,1
    - Dst: VEC_PUSH
      Src: /src/vlc/test/src/player/common.h:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - player
    - new_page
    - data
    argTypes:
    - vlc_player_t*
    - unsigned
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 472
    functionName: player_on_teletext_page_changed
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - get_ctx
    - VEC_PUSH
    linkageType: ''
    returnType: void
    signature: "void player_on_teletext_page_changed(vlc_player_t *player,\n                                unsigned
      new_page, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ctx
      Src: /src/vlc/test/src/player/common.h:478,1
    - Dst: VEC_PUSH
      Src: /src/vlc/test/src/player/common.h:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - player
    - enabled
    - data
    argTypes:
    - vlc_player_t*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 480
    functionName: player_on_teletext_transparency_changed
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - get_ctx
    - VEC_PUSH
    linkageType: ''
    returnType: void
    signature: "void player_on_teletext_transparency_changed(vlc_player_t *player,\n
      \                                       bool enabled, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ctx
      Src: /src/vlc/test/src/player/common.h:487,1
    - Dst: VEC_PUSH
      Src: /src/vlc/test/src/player/common.h:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - player
    - cat
    - new_delay
    - data
    argTypes:
    - vlc_player_t*
    - enum es_format_category_e
    - vlc_tick_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 493
    functionName: player_on_category_delay_changed
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - get_ctx
    - VEC_PUSH
    linkageType: ''
    returnType: void
    signature: "void player_on_category_delay_changed(vlc_player_t *player,\n                                 enum
      es_format_category_e cat, vlc_tick_t new_delay,\n                                 void
      *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ctx
      Src: /src/vlc/test/src/player/common.h:498,1
    - Dst: VEC_PUSH
      Src: /src/vlc/test/src/player/common.h:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - player
    - recording
    - data
    argTypes:
    - vlc_player_t*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 500
    functionName: player_on_recording_changed
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - get_ctx
    - VEC_PUSH
    linkageType: ''
    returnType: void
    signature: void player_on_recording_changed(vlc_player_t *player, bool recording,
      void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ctx
      Src: /src/vlc/test/src/player/common.h:506,1
    - Dst: VEC_PUSH
      Src: /src/vlc/test/src/player/common.h:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - player
    - quality
    - strength
    - data
    argTypes:
    - vlc_player_t*
    - float
    - float
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 502
    functionDepth: 2
    functionLinenumber: 502
    functionLinenumberEnd: 512
    functionName: player_on_signal_changed
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - get_ctx
    - VEC_PUSH
    linkageType: ''
    returnType: void
    signature: "void player_on_signal_changed(vlc_player_t *player,\n                         float
      quality, float strength, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ctx
      Src: /src/vlc/test/src/player/common.h:518,1
    - Dst: VEC_PUSH
      Src: /src/vlc/test/src/player/common.h:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - player
    - stats
    - data
    argTypes:
    - vlc_player_t*
    - struct input_stats_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 521
    functionName: player_on_statistics_changed
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - get_ctx
    - VEC_PUSH
    linkageType: ''
    returnType: void
    signature: "void player_on_statistics_changed(vlc_player_t *player,\n                        const
      struct input_stats_t *stats, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ctx
      Src: /src/vlc/test/src/player/common.h:529,1
    - Dst: vout_Hold
      Src: /src/vlc/test/src/player/common.h:532,1
    - Dst: vlc_es_id_Hold
      Src: /src/vlc/test/src/player/common.h:534,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:536,1
    - Dst: VEC_PUSH
      Src: /src/vlc/test/src/player/common.h:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - player
    - action
    - vout
    - order
    - es_id
    - data
    argTypes:
    - vlc_player_t*
    - enum vlc_player_vout_action
    - vout_thread_t*
    - enum vlc_vout_order
    - vlc_es_id_t*
    - void*
    assertStmts:
    - condition: (report.es_id)
      pos:
        line_end: 535
        line_start: 535
        source_file: /src/vlc/test/src/player/common.h
    constantsTouched: []
    func_position:
      end: 538
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 538
    functionName: player_on_vout_changed
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - assert
    - VEC_PUSH
    - vlc_es_id_Hold
    - vout_Hold
    - get_ctx
    linkageType: ''
    returnType: void
    signature: "void player_on_vout_changed(vlc_player_t *player,\n                       enum
      vlc_player_vout_action action,\n                       vout_thread_t *vout,
      enum vlc_vout_order order,\n                       vlc_es_id_t *es_id, void
      *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ctx
      Src: /src/vlc/test/src/player/common.h:544,1
    - Dst: input_item_Hold
      Src: /src/vlc/test/src/player/common.h:545,1
    - Dst: VEC_PUSH
      Src: /src/vlc/test/src/player/common.h:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - player
    - media
    - data
    argTypes:
    - vlc_player_t*
    - input_item_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 540
    functionDepth: 2
    functionLinenumber: 540
    functionLinenumberEnd: 547
    functionName: player_on_media_meta_changed
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - get_ctx
    - VEC_PUSH
    - input_item_Hold
    linkageType: ''
    returnType: void
    signature: "void player_on_media_meta_changed(vlc_player_t *player, input_item_t
      *media,\n                             void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ctx
      Src: /src/vlc/test/src/player/common.h:553,1
    - Dst: input_item_Hold
      Src: /src/vlc/test/src/player/common.h:554,1
    - Dst: VEC_PUSH
      Src: /src/vlc/test/src/player/common.h:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - player
    - media
    - data
    argTypes:
    - vlc_player_t*
    - input_item_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 556
    functionName: player_on_media_epg_changed
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - get_ctx
    - VEC_PUSH
    - input_item_Hold
    linkageType: ''
    returnType: void
    signature: "void player_on_media_epg_changed(vlc_player_t *player, input_item_t
      *media,\n                            void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ctx
      Src: /src/vlc/test/src/player/common.h:563,1
    - Dst: vlc_alloc
      Src: /src/vlc/test/src/player/common.h:567,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:569,1
    - Dst: input_item_Hold
      Src: /src/vlc/test/src/player/common.h:571,1
    - Dst: VEC_PUSH
      Src: /src/vlc/test/src/player/common.h:572,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - player
    - media
    - subitems
    - data
    argTypes:
    - vlc_player_t*
    - input_item_t*
    - input_item_node_t*
    - void*
    assertStmts:
    - condition: (report.items)
      pos:
        line_end: 568
        line_start: 568
        source_file: /src/vlc/test/src/player/common.h
    constantsTouched: []
    func_position:
      end: 573
      start: 558
    functionDepth: 2
    functionLinenumber: 558
    functionLinenumberEnd: 573
    functionName: player_on_media_subitems_changed
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - assert
    - VEC_PUSH
    - get_ctx
    - vlc_alloc
    - input_item_Hold
    linkageType: ''
    returnType: void
    signature: "void player_on_media_subitems_changed(vlc_player_t *player, input_item_t
      *media,\n                           const input_item_node_t *subitems, void
      *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ctx
      Src: /src/vlc/test/src/player/common.h:582,1
    - Dst: vlc_alloc
      Src: /src/vlc/test/src/player/common.h:585,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:588,1
    - Dst: vlc_input_attachment_Hold
      Src: /src/vlc/test/src/player/common.h:590,1
    - Dst: VEC_PUSH
      Src: /src/vlc/test/src/player/common.h:591,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - player
    - media
    - array
    - count
    - data
    argTypes:
    - vlc_player_t*
    - input_item_t*
    - input_attachment_t**
    - size_t
    - void*
    assertStmts:
    - condition: (report.array)
      pos:
        line_end: 587
        line_start: 587
        source_file: /src/vlc/test/src/player/common.h
    constantsTouched: []
    func_position:
      end: 592
      start: 575
    functionDepth: 2
    functionLinenumber: 575
    functionLinenumberEnd: 592
    functionName: player_on_media_attachments_added
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - assert
    - VEC_PUSH
    - vlc_input_attachment_Hold
    - get_ctx
    - vlc_alloc
    linkageType: ''
    returnType: void
    signature: "void player_on_media_attachments_added(vlc_player_t *player,\n                                  input_item_t
      *media,\n                                  input_attachment_t *const *array,
      size_t count,\n                                  void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ctx
      Src: /src/vlc/test/src/player/common.h:597,1
    - Dst: VEC_PUSH
      Src: /src/vlc/test/src/player/common.h:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - player
    - status
    - data
    argTypes:
    - vlc_player_t*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 594
    functionDepth: 2
    functionLinenumber: 594
    functionLinenumberEnd: 599
    functionName: player_on_next_frame_status
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - get_ctx
    - VEC_PUSH
    linkageType: ''
    returnType: void
    signature: void player_on_next_frame_status(vlc_player_t *player, int status,
      void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ctx
      Src: /src/vlc/test/src/player/common.h:604,1
    - Dst: VEC_PUSH
      Src: /src/vlc/test/src/player/common.h:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - player
    - status
    - data
    argTypes:
    - vlc_player_t*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 601
    functionDepth: 2
    functionLinenumber: 601
    functionLinenumberEnd: 606
    functionName: player_on_prev_frame_status
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - get_ctx
    - VEC_PUSH
    linkageType: ''
    returnType: void
    signature: void player_on_prev_frame_status(vlc_player_t *player, int status,
      void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vec
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 609
    functionName: VEC_LAST
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VEC_LAST(vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - report
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 612
    functionName: assert_position
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assert_position(ctx, report)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/common.h:621,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - state
    argTypes:
    - struct ctx*
    - enum vlc_player_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 630
    functionName: wait_state
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 18
    functionsReached:
    - vlc_player_CondWait
    linkageType: ''
    returnType: void
    signature: void wait_state(struct ctx *ctx, enum vlc_player_state state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 636
    functionName: assert_state
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assert_state(ctx, state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/test/src/player/common.h:639,1
    - Dst: fprintf
      Src: /src/vlc/test/src/player/common.h:641,1
    - Dst: state_to_string
      Src: /src/vlc/test/src/player/common.h:642,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - vec
    argTypes:
    - vec_on_state_changed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 637
    functionDepth: 2
    functionLinenumber: 637
    functionLinenumberEnd: 643
    functionName: state_list_dump
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - fprintf
    - state_to_string
    linkageType: ''
    returnType: void
    signature: void state_list_dump(vec_on_state_changed *vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:648,1
    - Dst: state_to_string
      Src: /src/vlc/test/src/player/common.h:650,1
    - Dst: state_to_string
      Src: /src/vlc/test/src/player/common.h:651,1
    - Dst: fprintf
      Src: /src/vlc/test/src/player/common.h:653,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - vec
    - location
    - state
    argTypes:
    - vec_on_state_changed*
    - int
    - enum vlc_player_state
    assertStmts:
    - condition: (location < (int)vec->size && -location < (int)(vec->size + 1))
      pos:
        line_end: 647
        line_start: 647
        source_file: /src/vlc/test/src/player/common.h
    constantsTouched: []
    func_position:
      end: 656
      start: 645
    functionDepth: 2
    functionLinenumber: 645
    functionLinenumberEnd: 656
    functionName: state_equal
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - fprintf
    - assert
    - state_to_string
    linkageType: ''
    returnType: bool
    signature: bool state_equal(vec_on_state_changed *vec, int location, enum vlc_player_state
      state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - index
    - ','
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 660
    functionName: state_equal
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: state_equal(ctx, index, state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 670
    functionName: assert_normal_state
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assert_normal_state(ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 681
    functionName: get_buffering_count
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t get_buffering_count(struct ctx *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CLEAN_MEDIA_VEC
      Src: /src/vlc/test/src/player/common.h:696,1
    - Dst: CLEAN_MEDIA_VEC
      Src: /src/vlc/test/src/player/common.h:697,1
    - Dst: CLEAN_MEDIA_VEC
      Src: /src/vlc/test/src/player/common.h:698,1
    - Dst: FOREACH_VEC
      Src: /src/vlc/test/src/player/common.h:702,1
    - Dst: vlc_player_track_Delete
      Src: /src/vlc/test/src/player/common.h:703,1
    - Dst: vlc_es_id_Release
      Src: /src/vlc/test/src/player/common.h:711,1
    - Dst: vlc_es_id_Release
      Src: /src/vlc/test/src/player/common.h:713,1
    - Dst: FOREACH_VEC
      Src: /src/vlc/test/src/player/common.h:719,1
    - Dst: vlc_player_program_Delete
      Src: /src/vlc/test/src/player/common.h:720,1
    - Dst: vlc_player_title_list_Release
      Src: /src/vlc/test/src/player/common.h:728,1
    - Dst: vout_Release
      Src: /src/vlc/test/src/player/common.h:736,1
    - Dst: vlc_es_id_Release
      Src: /src/vlc/test/src/player/common.h:737,1
    - Dst: input_item_Release
      Src: /src/vlc/test/src/player/common.h:746,1
    - Dst: free
      Src: /src/vlc/test/src/player/common.h:747,1
    - Dst: vlc_input_attachment_Release
      Src: /src/vlc/test/src/player/common.h:756,1
    - Dst: free
      Src: /src/vlc/test/src/player/common.h:757,1
    - Dst: vlc_vector_foreach
      Src: /src/vlc/test/src/player/common.h:769,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:771,1
    - Dst: input_item_Release
      Src: /src/vlc/test/src/player/common.h:772,1
    - Dst: vlc_vector_clear
      Src: /src/vlc/test/src/player/common.h:774,1
    - Dst: vlc_vector_foreach
      Src: /src/vlc/test/src/player/common.h:776,1
    - Dst: input_item_Release
      Src: /src/vlc/test/src/player/common.h:778,1
    - Dst: vlc_vector_clear
      Src: /src/vlc/test/src/player/common.h:779,1
    - Dst: vlc_vector_clear
      Src: /src/vlc/test/src/player/common.h:781,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 48
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts:
    - condition: (media)
      pos:
        line_end: 770
        line_start: 770
        source_file: /src/vlc/test/src/player/common.h
    constantsTouched: []
    func_position:
      end: 788
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 788
    functionName: ctx_reset
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - FOREACH_VEC
    - assert
    - vlc_player_track_Delete
    - input_item_Release
    - vlc_input_attachment_Release
    - vlc_vector_foreach
    - free
    - vlc_vector_clear
    - vlc_player_program_Delete
    - vlc_player_title_list_Release
    - vout_Release
    - vlc_es_id_Release
    - CLEAN_MEDIA_VEC
    linkageType: ''
    returnType: void
    signature: void ctx_reset(struct ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - item
    - ','
    - vec
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 687
    functionName: FOREACH_VEC
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOREACH_VEC(item, vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vec
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 694
    functionName: CLEAN_MEDIA_VEC
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEAN_MEDIA_VEC(vec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_es_id_Release
      Src: /src/vlc/test/src/player/common.h:711,1
    - Dst: vlc_es_id_Release
      Src: /src/vlc/test/src/player/common.h:713,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 714
    functionName: FOREACH_VEC
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 1
    functionsReached:
    - vlc_es_id_Release
    linkageType: ''
    returnType: void
    signature: void FOREACH_VEC(report, on_track_selection_changed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_title_list_Release
      Src: /src/vlc/test/src/player/common.h:728,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 729
    functionName: FOREACH_VEC
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 1
    functionsReached:
    - vlc_player_title_list_Release
    linkageType: ''
    returnType: void
    signature: void FOREACH_VEC(titles, on_titles_changed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vout_Release
      Src: /src/vlc/test/src/player/common.h:736,1
    - Dst: vlc_es_id_Release
      Src: /src/vlc/test/src/player/common.h:737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 738
    functionName: FOREACH_VEC
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 1
    functionsReached:
    - vout_Release
    - vlc_es_id_Release
    linkageType: ''
    returnType: void
    signature: void FOREACH_VEC(report, on_vout_changed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: input_item_Release
      Src: /src/vlc/test/src/player/common.h:746,1
    - Dst: free
      Src: /src/vlc/test/src/player/common.h:747,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 748
    functionName: FOREACH_VEC
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 1
    functionsReached:
    - input_item_Release
    - free
    linkageType: ''
    returnType: void
    signature: void FOREACH_VEC(report, on_media_subitems_changed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_input_attachment_Release
      Src: /src/vlc/test/src/player/common.h:756,1
    - Dst: free
      Src: /src/vlc/test/src/player/common.h:757,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 758
    functionName: FOREACH_VEC
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 1
    functionsReached:
    - free
    - vlc_input_attachment_Release
    linkageType: ''
    returnType: void
    signature: void FOREACH_VEC(report, on_media_attachments_added)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 764
    functionName: X
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(type, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:793,1
    - Dst: asprintf
      Src: /src/vlc/test/src/player/common.h:795,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:816,1
    - Dst: input_item_New
      Src: /src/vlc/test/src/player/common.h:817,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:818,1
    - Dst: free
      Src: /src/vlc/test/src/player/common.h:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 2
    argNames:
    - name
    - params
    argTypes:
    - char*
    - struct media_params*
    assertStmts:
    - condition: (params)
      pos:
        line_end: 792
        line_start: 792
        source_file: /src/vlc/test/src/player/common.h
    - condition: (item)
      pos:
        line_end: 817
        line_start: 817
        source_file: /src/vlc/test/src/player/common.h
    - condition: (ret != -1)
      pos:
        line_end: 815
        line_start: 815
        source_file: /src/vlc/test/src/player/common.h
    constantsTouched: []
    func_position:
      end: 821
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 821
    functionName: create_mock_media
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 3
    functionsReached:
    - free
    - asprintf
    - assert
    - input_item_New
    linkageType: ''
    returnType: input_item_t
    signature: 'input_item_t *

      create_mock_media(const char *name, const struct media_params *params)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:827,1
    - Dst: create_mock_media
      Src: /src/vlc/test/src/player/common.h:829,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:830,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - name
    - params
    argTypes:
    - struct ctx*
    - char*
    - struct media_params*
    assertStmts:
    - condition: (params)
      pos:
        line_end: 826
        line_start: 826
        source_file: /src/vlc/test/src/player/common.h
    - condition: (media != NULL)
      pos:
        line_end: 829
        line_start: 829
        source_file: /src/vlc/test/src/player/common.h
    constantsTouched: []
    func_position:
      end: 838
      start: 823
    functionDepth: 2
    functionLinenumber: 823
    functionLinenumberEnd: 838
    functionName: player_create_mock_media
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - create_mock_media
    - assert
    linkageType: ''
    returnType: input_item_t
    signature: "input_item_t *\nplayer_create_mock_media(struct ctx *ctx, const char
      *name,\n                         const struct media_params *params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: player_create_mock_media
      Src: /src/vlc/test/src/player/common.h:846,1
    - Dst: vlc_player_SetCurrentMedia
      Src: /src/vlc/test/src/player/common.h:849,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:850,1
    - Dst: vlc_vector_push
      Src: /src/vlc/test/src/player/common.h:852,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:853,1
    - Dst: vlc_vector_push
      Src: /src/vlc/test/src/player/common.h:857,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:858,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - name
    - params
    - ignored
    argTypes:
    - struct ctx*
    - char*
    - struct media_params*
    - bool
    assertStmts:
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 849
        line_start: 849
        source_file: /src/vlc/test/src/player/common.h
    - condition: (success)
      pos:
        line_end: 852
        line_start: 852
        source_file: /src/vlc/test/src/player/common.h
    - condition: (success)
      pos:
        line_end: 857
        line_start: 857
        source_file: /src/vlc/test/src/player/common.h
    constantsTouched: []
    func_position:
      end: 860
      start: 840
    functionDepth: 3
    functionLinenumber: 840
    functionLinenumberEnd: 860
    functionName: player_set_current_mock_media
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 9
    functionsReached:
    - vlc_vector_push
    - vlc_player_SetCurrentMedia
    - player_create_mock_media
    - assert
    linkageType: ''
    returnType: void
    signature: "void player_set_current_mock_media(struct ctx *ctx, const char *name,\n
      \                             const struct media_params *params, bool ignored)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:866,1
    - Dst: player_create_mock_media
      Src: /src/vlc/test/src/player/common.h:869,1
    - Dst: vlc_player_SetNextMedia
      Src: /src/vlc/test/src/player/common.h:870,1
    - Dst: vlc_vector_push
      Src: /src/vlc/test/src/player/common.h:871,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:872,1
    - Dst: vlc_vector_push
      Src: /src/vlc/test/src/player/common.h:873,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:874,1
    - Dst: create_mock_media
      Src: /src/vlc/test/src/player/common.h:878,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:879,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:881,1
    - Dst: vlc_vector_push
      Src: /src/vlc/test/src/player/common.h:882,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:883,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - name
    - params
    argTypes:
    - struct ctx*
    - char*
    - struct media_params*
    assertStmts:
    - condition: (name != NULL)
      pos:
        line_end: 865
        line_start: 865
        source_file: /src/vlc/test/src/player/common.h
    - condition: (success)
      pos:
        line_end: 871
        line_start: 871
        source_file: /src/vlc/test/src/player/common.h
    - condition: (success)
      pos:
        line_end: 873
        line_start: 873
        source_file: /src/vlc/test/src/player/common.h
    - condition: (media)
      pos:
        line_end: 878
        line_start: 878
        source_file: /src/vlc/test/src/player/common.h
    - condition: (ctx->added_medias.size > 0)
      pos:
        line_end: 880
        line_start: 880
        source_file: /src/vlc/test/src/player/common.h
    - condition: (success)
      pos:
        line_end: 882
        line_start: 882
        source_file: /src/vlc/test/src/player/common.h
    constantsTouched: []
    func_position:
      end: 885
      start: 862
    functionDepth: 3
    functionLinenumber: 862
    functionLinenumberEnd: 885
    functionName: player_set_next_mock_media
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 12
    functionsReached:
    - assert
    - player_create_mock_media
    - create_mock_media
    - vlc_player_SetNextMedia
    - vlc_vector_push
    linkageType: ''
    returnType: void
    signature: "void player_set_next_mock_media(struct ctx *ctx, const char *name,\n
      \                          const struct media_params *params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_ChangeRate
      Src: /src/vlc/test/src/player/common.h:890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - rate
    argTypes:
    - struct ctx*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 892
    functionName: player_set_rate
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 1
    functionsReached:
    - vlc_player_ChangeRate
    linkageType: ''
    returnType: void
    signature: void player_set_rate(struct ctx *ctx, float rate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_Start
      Src: /src/vlc/test/src/player/common.h:897,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts:
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 897
        line_start: 897
        source_file: /src/vlc/test/src/player/common.h
    constantsTouched: []
    func_position:
      end: 899
      start: 894
    functionDepth: 1
    functionLinenumber: 894
    functionLinenumberEnd: 899
    functionName: player_start
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 21
    functionsReached:
    - assert
    - vlc_player_Start
    linkageType: ''
    returnType: void
    signature: void player_start(struct ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/common.h:908,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:909,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:910,1
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/common.h:910,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts:
    - condition: (VEC_LAST(vec) == ctx->rate)
      pos:
        line_end: 909
        line_start: 909
        source_file: /src/vlc/test/src/player/common.h
    - condition: (vec->size > 0)
      pos:
        line_end: 908
        line_start: 908
        source_file: /src/vlc/test/src/player/common.h
    constantsTouched: []
    func_position:
      end: 913
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 913
    functionName: test_end_prestop_rate
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - vlc_player_CondWait
    - assert
    - VEC_LAST
    linkageType: ''
    returnType: void
    signature: void test_end_prestop_rate(struct ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/common.h:921,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:923,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:924,1
    - Dst: vlc_player_GetLength
      Src: /src/vlc/test/src/player/common.h:924,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts:
    - condition: (vec->data[i] == ctx->params.length)
      pos:
        line_end: 922
        line_start: 922
        source_file: /src/vlc/test/src/player/common.h
    - condition: (ctx->params.length == vlc_player_GetLength(player))
      pos:
        line_end: 923
        line_start: 923
        source_file: /src/vlc/test/src/player/common.h
    constantsTouched: []
    func_position:
      end: 925
      start: 915
    functionDepth: 1
    functionLinenumber: 915
    functionLinenumberEnd: 925
    functionName: test_end_prestop_length
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - vlc_player_CondWait
    - assert
    - vlc_player_GetLength
    linkageType: ''
    returnType: void
    signature: void test_end_prestop_length(struct ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/common.h:933,1
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/common.h:934,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:935,1
    - Dst: vlc_player_CanSeek
      Src: /src/vlc/test/src/player/common.h:935,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:937,1
    - Dst: vlc_player_CanPause
      Src: /src/vlc/test/src/player/common.h:937,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts:
    - condition: "(vlc_player_CanPause(player) == ctx->params.can_pause\n        &&
        !!(new_caps & VLC_PLAYER_CAP_PAUSE) == ctx->params.can_pause)"
      pos:
        line_end: 937
        line_start: 936
        source_file: /src/vlc/test/src/player/common.h
    - condition: "(vlc_player_CanSeek(player) == ctx->params.can_seek\n        &&
        !!(new_caps & VLC_PLAYER_CAP_SEEK) == ctx->params.can_seek)"
      pos:
        line_end: 935
        line_start: 934
        source_file: /src/vlc/test/src/player/common.h
    constantsTouched: []
    func_position:
      end: 939
      start: 927
    functionDepth: 1
    functionLinenumber: 927
    functionLinenumberEnd: 939
    functionName: test_end_prestop_capabilities
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - vlc_player_CondWait
    - assert
    - vlc_player_CanSeek
    - VEC_LAST
    - vlc_player_CanPause
    linkageType: ''
    returnType: void
    signature: void test_end_prestop_capabilities(struct ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/common.h:945,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/common.h:946,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:947,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:948,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts:
    - condition: (vec->size >= 2)
      pos:
        line_end: 946
        line_start: 946
        source_file: /src/vlc/test/src/player/common.h
    - condition: (vec->data[0] == 0.0f)
      pos:
        line_end: 947
        line_start: 947
        source_file: /src/vlc/test/src/player/common.h
    constantsTouched: []
    func_position:
      end: 949
      start: 941
    functionDepth: 1
    functionLinenumber: 941
    functionLinenumberEnd: 949
    functionName: test_end_prestop_buffering
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - vlc_player_CondWait
    - assert
    - VEC_LAST
    linkageType: ''
    returnType: void
    signature: void test_end_prestop_buffering(struct ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:956,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:957,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:958,1
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/common.h:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts:
    - condition: (vec->size > 1)
      pos:
        line_end: 955
        line_start: 955
        source_file: /src/vlc/test/src/player/common.h
    - condition: (VEC_LAST(vec) == VLC_PLAYER_STATE_STOPPED)
      pos:
        line_end: 957
        line_start: 957
        source_file: /src/vlc/test/src/player/common.h
    - condition: (vec->data[0] == VLC_PLAYER_STATE_STARTED)
      pos:
        line_end: 956
        line_start: 956
        source_file: /src/vlc/test/src/player/common.h
    constantsTouched: []
    func_position:
      end: 959
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 959
    functionName: test_end_poststop_state
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - assert
    - VEC_LAST
    linkageType: ''
    returnType: void
    signature: void test_end_poststop_state(struct ctx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:976,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/player/common.h:988,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:992,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:996,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1001,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts:
    - condition: "(report.track->fmt.i_cat == VIDEO_ES\n            || report.track->fmt.i_cat
        == AUDIO_ES\n            || report.track->fmt.i_cat == SPU_ES)"
      pos:
        line_end: 977
        line_start: 975
        source_file: /src/vlc/test/src/player/common.h
    - condition: (tracks[cat].added == tracks[cat].removed)
      pos:
        line_end: 991
        line_start: 991
        source_file: /src/vlc/test/src/player/common.h
    - condition: (ctx->program_switch_count == 1 || ctx->extra_start_count == 0)
      pos:
        line_end: 995
        line_start: 995
        source_file: /src/vlc/test/src/player/common.h
    - condition: (tracks[cat].added == track_count)
      pos:
        line_end: 1000
        line_start: 1000
        source_file: /src/vlc/test/src/player/common.h
    constantsTouched: []
    func_position:
      end: 1003
      start: 961
    functionDepth: 1
    functionLinenumber: 961
    functionLinenumberEnd: 1003
    functionName: test_end_poststop_tracks
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - assert
    - ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: void test_end_poststop_tracks(struct ctx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:976,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: "(report.track->fmt.i_cat == VIDEO_ES\n            || report.track->fmt.i_cat
        == AUDIO_ES\n            || report.track->fmt.i_cat == SPU_ES)"
      pos:
        line_end: 977
        line_start: 975
        source_file: /src/vlc/test/src/player/common.h
    constantsTouched: []
    func_position:
      end: 983
      start: 974
    functionDepth: 1
    functionLinenumber: 974
    functionLinenumberEnd: 983
    functionName: vlc_vector_foreach
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void vlc_vector_foreach(report, vec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1019,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1022,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts:
    - condition: (program_added == program_removed)
      pos:
        line_end: 1018
        line_start: 1018
        source_file: /src/vlc/test/src/player/common.h
    - condition: (program_added == program_count)
      pos:
        line_end: 1021
        line_start: 1021
        source_file: /src/vlc/test/src/player/common.h
    constantsTouched: []
    func_position:
      end: 1023
      start: 1005
    functionDepth: 1
    functionLinenumber: 1005
    functionLinenumberEnd: 1023
    functionName: test_end_poststop_programs
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void test_end_poststop_programs(struct ctx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1017
    functionName: vlc_vector_foreach
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vlc_vector_foreach(report, vec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1032,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1033,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1034,1
    - Dst: vlc_player_title_list_GetCount
      Src: /src/vlc/test/src/player/common.h:1037,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1038,1
    - Dst: vlc_player_title_list_GetAt
      Src: /src/vlc/test/src/player/common.h:1043,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1044,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1045,1
    - Dst: strlen
      Src: /src/vlc/test/src/player/common.h:1045,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1046,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1047,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1054,1
    - Dst: strlen
      Src: /src/vlc/test/src/player/common.h:1054,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1055,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1057,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts:
    - condition: (vec->size == 2)
      pos:
        line_end: 1031
        line_start: 1031
        source_file: /src/vlc/test/src/player/common.h
    - condition: (vec->data[1] == NULL)
      pos:
        line_end: 1033
        line_start: 1033
        source_file: /src/vlc/test/src/player/common.h
    - condition: (vec->data[0] != NULL)
      pos:
        line_end: 1032
        line_start: 1032
        source_file: /src/vlc/test/src/player/common.h
    - condition: (title_count == ctx->params.title_count)
      pos:
        line_end: 1037
        line_start: 1037
        source_file: /src/vlc/test/src/player/common.h
    - condition: (title)
      pos:
        line_end: 1043
        line_start: 1043
        source_file: /src/vlc/test/src/player/common.h
    - condition: (title->name && title->name[strlen(title->name)] == 0)
      pos:
        line_end: 1044
        line_start: 1044
        source_file: /src/vlc/test/src/player/common.h
    - condition: (title->chapter_count == ctx->params.chapter_count)
      pos:
        line_end: 1045
        line_start: 1045
        source_file: /src/vlc/test/src/player/common.h
    - condition: (chapter->time > 0)
      pos:
        line_end: 1056
        line_start: 1056
        source_file: /src/vlc/test/src/player/common.h
    - condition: (title->length == ctx->params.length)
      pos:
        line_end: 1046
        line_start: 1046
        source_file: /src/vlc/test/src/player/common.h
    - condition: (chapter->name && chapter->name[strlen(chapter->name)] == 0)
      pos:
        line_end: 1053
        line_start: 1053
        source_file: /src/vlc/test/src/player/common.h
    - condition: (chapter->time < ctx->params.length)
      pos:
        line_end: 1054
        line_start: 1054
        source_file: /src/vlc/test/src/player/common.h
    constantsTouched: []
    func_position:
      end: 1060
      start: 1025
    functionDepth: 1
    functionLinenumber: 1025
    functionLinenumberEnd: 1060
    functionName: test_end_poststop_titles
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - strlen
    - vlc_player_title_list_GetAt
    - assert
    - vlc_player_title_list_GetCount
    linkageType: ''
    returnType: void
    signature: void test_end_poststop_titles(struct ctx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/test/src/player/common.h:1077,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1079,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts:
    - condition: (vout_started == vout_stopped)
      pos:
        line_end: 1078
        line_start: 1078
        source_file: /src/vlc/test/src/player/common.h
    constantsTouched: []
    func_position:
      end: 1080
      start: 1062
    functionDepth: 1
    functionLinenumber: 1062
    functionLinenumberEnd: 1080
    functionName: test_end_poststop_vouts
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - assert
    - vlc_assert_unreachable
    linkageType: ''
    returnType: void
    signature: void test_end_poststop_vouts(struct ctx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/test/src/player/common.h:1077,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1078
    functionName: vlc_vector_foreach
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 1
    functionsReached:
    - vlc_assert_unreachable
    linkageType: ''
    returnType: void
    signature: void vlc_vector_foreach(report, vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1088,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1089,1
    - Dst: vlc_player_GetCurrentMedia
      Src: /src/vlc/test/src/player/common.h:1089,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1090,1
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/common.h:1090,1
    - Dst: vlc_player_GetCurrentMedia
      Src: /src/vlc/test/src/player/common.h:1090,1
    - Dst: player_set_current_mock_media
      Src: /src/vlc/test/src/player/common.h:1093,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/common.h:1096,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1098,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1100,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1102,1
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/common.h:1102,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1103,1
    - Dst: vlc_player_GetCurrentMedia
      Src: /src/vlc/test/src/player/common.h:1103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts:
    - condition: (vec->size > 0)
      pos:
        line_end: 1087
        line_start: 1087
        source_file: /src/vlc/test/src/player/common.h
    - condition: (vlc_player_GetCurrentMedia(player) != NULL)
      pos:
        line_end: 1088
        line_start: 1088
        source_file: /src/vlc/test/src/player/common.h
    - condition: (VEC_LAST(vec) == vlc_player_GetCurrentMedia(player))
      pos:
        line_end: 1089
        line_start: 1089
        source_file: /src/vlc/test/src/player/common.h
    - condition: (vec->size == ctx->added_medias.size)
      pos:
        line_end: 1097
        line_start: 1097
        source_file: /src/vlc/test/src/player/common.h
    - condition: (vec->data[i] == ctx->added_medias.data[i])
      pos:
        line_end: 1099
        line_start: 1099
        source_file: /src/vlc/test/src/player/common.h
    - condition: (vlc_player_GetCurrentMedia(player) == NULL)
      pos:
        line_end: 1102
        line_start: 1102
        source_file: /src/vlc/test/src/player/common.h
    - condition: (VEC_LAST(vec) == NULL)
      pos:
        line_end: 1101
        line_start: 1101
        source_file: /src/vlc/test/src/player/common.h
    constantsTouched: []
    func_position:
      end: 1104
      start: 1082
    functionDepth: 4
    functionLinenumber: 1082
    functionLinenumberEnd: 1104
    functionName: test_end_poststop_medias
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - vlc_player_CondWait
    - assert
    - VEC_LAST
    - player_set_current_mock_media
    - vlc_player_GetCurrentMedia
    linkageType: ''
    returnType: void
    signature: void test_end_poststop_medias(struct ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/common.h:1111,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1112,1
    - Dst: vlc_player_CanSeek
      Src: /src/vlc/test/src/player/common.h:1112,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1113,1
    - Dst: vlc_player_CanPause
      Src: /src/vlc/test/src/player/common.h:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts:
    - condition: (vlc_player_CanPause(player) == !!(new_caps & VLC_PLAYER_CAP_PAUSE))
      pos:
        line_end: 1112
        line_start: 1112
        source_file: /src/vlc/test/src/player/common.h
    - condition: (vlc_player_CanSeek(player) == !!(new_caps & VLC_PLAYER_CAP_SEEK))
      pos:
        line_end: 1111
        line_start: 1111
        source_file: /src/vlc/test/src/player/common.h
    constantsTouched: []
    func_position:
      end: 1114
      start: 1106
    functionDepth: 1
    functionLinenumber: 1106
    functionLinenumberEnd: 1114
    functionName: test_end_poststop_capabilities
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached:
    - vlc_player_CanPause
    - assert
    - vlc_player_CanSeek
    - VEC_LAST
    linkageType: ''
    returnType: void
    signature: void test_end_poststop_capabilities(struct ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_end_prestop_rate
      Src: /src/vlc/test/src/player/common.h:1119,1
    - Dst: test_end_prestop_length
      Src: /src/vlc/test/src/player/common.h:1120,1
    - Dst: test_end_prestop_capabilities
      Src: /src/vlc/test/src/player/common.h:1121,1
    - Dst: test_end_prestop_buffering
      Src: /src/vlc/test/src/player/common.h:1122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1116
    functionDepth: 2
    functionLinenumber: 1116
    functionLinenumberEnd: 1123
    functionName: test_prestop
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 6
    functionsReached:
    - test_end_prestop_rate
    - test_end_prestop_capabilities
    - test_end_prestop_length
    - test_end_prestop_buffering
    linkageType: ''
    returnType: void
    signature: void test_prestop(struct ctx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/common.h:1132,1
    - Dst: vlc_player_Stop
      Src: /src/vlc/test/src/player/common.h:1134,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1135,1
    - Dst: vlc_player_GetCurrentMedia
      Src: /src/vlc/test/src/player/common.h:1135,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/common.h:1137,1
    - Dst: test_end_poststop_state
      Src: /src/vlc/test/src/player/common.h:1141,1
    - Dst: test_end_poststop_tracks
      Src: /src/vlc/test/src/player/common.h:1142,1
    - Dst: test_end_poststop_programs
      Src: /src/vlc/test/src/player/common.h:1143,1
    - Dst: test_end_poststop_titles
      Src: /src/vlc/test/src/player/common.h:1144,1
    - Dst: test_end_poststop_vouts
      Src: /src/vlc/test/src/player/common.h:1145,1
    - Dst: test_end_poststop_capabilities
      Src: /src/vlc/test/src/player/common.h:1147,1
    - Dst: test_end_poststop_medias
      Src: /src/vlc/test/src/player/common.h:1148,1
    - Dst: player_set_rate
      Src: /src/vlc/test/src/player/common.h:1150,1
    - Dst: vlc_player_SetStartPaused
      Src: /src/vlc/test/src/player/common.h:1151,1
    - Dst: vlc_player_SetPlayAndPause
      Src: /src/vlc/test/src/player/common.h:1152,1
    - Dst: vlc_player_SetRepeatCount
      Src: /src/vlc/test/src/player/common.h:1153,1
    - Dst: ctx_reset
      Src: /src/vlc/test/src/player/common.h:1155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts:
    - condition: (vlc_player_GetCurrentMedia(player) != NULL)
      pos:
        line_end: 1134
        line_start: 1134
        source_file: /src/vlc/test/src/player/common.h
    constantsTouched: []
    func_position:
      end: 1156
      start: 1125
    functionDepth: 5
    functionLinenumber: 1125
    functionLinenumberEnd: 1156
    functionName: test_end
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 21
    functionsReached:
    - wait_state
    - test_end_poststop_programs
    - assert
    - test_end_poststop_medias
    - vlc_player_SetRepeatCount
    - test_end_poststop_titles
    - vlc_player_SetStartPaused
    - test_end_poststop_capabilities
    - ctx_reset
    - player_set_rate
    - test_end_poststop_state
    - test_end_poststop_tracks
    - test_end_poststop_vouts
    - VEC_LAST
    - vlc_player_SetPlayAndPause
    - vlc_player_Stop
    - vlc_player_GetCurrentMedia
    linkageType: ''
    returnType: void
    signature: void test_end(struct ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vector_foreach
      Src: /src/vlc/test/src/player/common.h:1164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - vec
    - action
    argTypes:
    - vec_on_program_list_changed*
    - enum vlc_player_list_action
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1168
    functionName: vec_on_program_list_get_action_count
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 1
    functionsReached:
    - vlc_vector_foreach
    linkageType: ''
    returnType: size_t
    signature: "size_t vec_on_program_list_get_action_count(vec_on_program_list_changed
      *vec,\n                                    enum vlc_player_list_action action)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1175,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1182,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1187,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1195,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1200,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1201,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - vec
    - from_idx
    - unselected_id
    - selected_id
    argTypes:
    - vec_on_program_selection_changed*
    - size_t
    - int
    - int
    assertStmts:
    - condition: (vec->size >= from_idx)
      pos:
        line_end: 1174
        line_start: 1174
        source_file: /src/vlc/test/src/player/common.h
    - condition: (!has_selected_id)
      pos:
        line_end: 1186
        line_start: 1186
        source_file: /src/vlc/test/src/player/common.h
    - condition: (selected_id != -1)
      pos:
        line_end: 1199
        line_start: 1199
        source_file: /src/vlc/test/src/player/common.h
    - condition: (!has_selected_id)
      pos:
        line_end: 1194
        line_start: 1194
        source_file: /src/vlc/test/src/player/common.h
    - condition: (!has_unselected_id)
      pos:
        line_end: 1181
        line_start: 1181
        source_file: /src/vlc/test/src/player/common.h
    - condition: (!has_unselected_id)
      pos:
        line_end: 1200
        line_start: 1200
        source_file: /src/vlc/test/src/player/common.h
    constantsTouched: []
    func_position:
      end: 1204
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1204
    functionName: vec_on_program_selection_has_event
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: size_t
    signature: "size_t vec_on_program_selection_has_event(vec_on_program_selection_changed
      *vec,\n                                   size_t from_idx,\n                                   int
      unselected_id, int selected_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vector_foreach
      Src: /src/vlc/test/src/player/common.h:1212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - vec
    - action
    argTypes:
    - vec_on_track_list_changed*
    - enum vlc_player_list_action
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1216
    functionName: vec_on_track_list_get_action_count
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 3
    functionsReached:
    - vlc_vector_foreach
    linkageType: ''
    returnType: size_t
    signature: "size_t vec_on_track_list_get_action_count(vec_on_track_list_changed
      *vec,\n                                   enum vlc_player_list_action action)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1223,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1230,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1235,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1243,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1248,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1249,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - vec
    - from_idx
    - unselected_id
    - selected_id
    argTypes:
    - vec_on_track_selection_changed*
    - size_t
    - vlc_es_id_t*
    - vlc_es_id_t*
    assertStmts:
    - condition: (vec->size >= from_idx)
      pos:
        line_end: 1222
        line_start: 1222
        source_file: /src/vlc/test/src/player/common.h
    - condition: (!has_selected_id)
      pos:
        line_end: 1234
        line_start: 1234
        source_file: /src/vlc/test/src/player/common.h
    - condition: (!has_selected_id)
      pos:
        line_end: 1242
        line_start: 1242
        source_file: /src/vlc/test/src/player/common.h
    - condition: (selected_id)
      pos:
        line_end: 1247
        line_start: 1247
        source_file: /src/vlc/test/src/player/common.h
    - condition: (!has_unselected_id)
      pos:
        line_end: 1229
        line_start: 1229
        source_file: /src/vlc/test/src/player/common.h
    - condition: (!has_unselected_id)
      pos:
        line_end: 1248
        line_start: 1248
        source_file: /src/vlc/test/src/player/common.h
    constantsTouched: []
    func_position:
      end: 1252
      start: 1218
    functionDepth: 1
    functionLinenumber: 1218
    functionLinenumberEnd: 1252
    functionName: vec_on_track_selection_has_event
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: "bool vec_on_track_selection_has_event(vec_on_track_selection_changed
      *vec,\n                                 size_t from_idx, vlc_es_id_t *unselected_id,\n
      \                                vlc_es_id_t *selected_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_RemoveListener
      Src: /src/vlc/test/src/player/common.h:1261,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/test/src/player/common.h:1262,1
    - Dst: vlc_player_Delete
      Src: /src/vlc/test/src/player/common.h:1263,1
    - Dst: libvlc_release
      Src: /src/vlc/test/src/player/common.h:1265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1254
    functionDepth: 1
    functionLinenumber: 1254
    functionLinenumberEnd: 1266
    functionName: ctx_destroy
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 19
    functionsReached:
    - libvlc_release
    - vlc_player_Unlock
    - vlc_player_RemoveListener
    - vlc_player_Delete
    linkageType: ''
    returnType: void
    signature: void ctx_destroy(struct ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1257
    functionDepth: 0
    functionLinenumber: 1257
    functionLinenumberEnd: 1258
    functionName: X
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(type, name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/src/player/common.h:1274,1
    - Dst: libvlc_new
      Src: /src/vlc/test/src/player/common.h:1295,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/player/common.h:1295,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1296,1
    - Dst: vlc_cond_init
      Src: /src/vlc/test/src/player/common.h:1314,1
    - Dst: reports_init
      Src: /src/vlc/test/src/player/common.h:1315,1
    - Dst: var_SetString
      Src: /src/vlc/test/src/player/common.h:1318,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1319,1
    - Dst: var_Create
      Src: /src/vlc/test/src/player/common.h:1321,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1322,1
    - Dst: var_SetAddress
      Src: /src/vlc/test/src/player/common.h:1323,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1324,1
    - Dst: vlc_player_New
      Src: /src/vlc/test/src/player/common.h:1326,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/test/src/player/common.h:1326,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1328,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/test/src/player/common.h:1330,1
    - Dst: vlc_player_AddListener
      Src: /src/vlc/test/src/player/common.h:1331,1
    - Dst: assert
      Src: /src/vlc/test/src/player/common.h:1332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - struct ctx*
    - int
    assertStmts:
    - condition: (vlc)
      pos:
        line_end: 1295
        line_start: 1295
        source_file: /src/vlc/test/src/player/common.h
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 1318
        line_start: 1318
        source_file: /src/vlc/test/src/player/common.h
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 1321
        line_start: 1321
        source_file: /src/vlc/test/src/player/common.h
    - condition: (ctx->player)
      pos:
        line_end: 1327
        line_start: 1327
        source_file: /src/vlc/test/src/player/common.h
    - condition: (ctx->listener)
      pos:
        line_end: 1331
        line_start: 1331
        source_file: /src/vlc/test/src/player/common.h
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 1323
        line_start: 1323
        source_file: /src/vlc/test/src/player/common.h
    constantsTouched: []
    func_position:
      end: 1333
      start: 1268
    functionDepth: 2
    functionLinenumber: 1268
    functionLinenumberEnd: 1333
    functionName: ctx_init
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 20
    functionsReached:
    - assert
    - ARRAY_SIZE
    - test_init
    - var_SetAddress
    - var_Create
    - vlc_player_Lock
    - libvlc_new
    - vlc_player_New
    - vlc_cond_init
    - VLC_OBJECT
    - vlc_player_AddListener
    - var_SetString
    - reports_init
    linkageType: ''
    returnType: void
    signature: void ctx_init(struct ctx *ctx, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1299
    functionName: X
    functionSourceFile: /src/vlc/test/src/player/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(type, name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:17,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/test/src/player/timers.c:17,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:22,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:31,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:36,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:37,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:40,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:43,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:44,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:47,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/test/src/player/timers.c:47,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - timer
    - duration
    - fps
    - drop_frame
    - frame_resolution
    argTypes:
    - struct timer_state*
    - vlc_tick_t
    - unsigned
    - bool
    - unsigned
    assertStmts:
    - condition: (duration < VLC_TICK_FROM_SEC(60))
      pos:
        line_end: 16
        line_start: 16
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (report->tc.seconds == (i / fps))
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (prev_report->tc.frames == fps - 1)
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (vec->data[0].tc.frames == 0)
      pos:
        line_end: 21
        line_start: 21
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (report->tc.frames == 0)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (report->tc.frames == prev_report->tc.frames + 1)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (report->tc.drop_frame == drop_frame)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (report->tc.frame_resolution == frame_resolution)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (prev_report->tc.frames + 1 == fps * duration / VLC_TICK_FROM_SEC(1))
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/vlc/test/src/player/timers.c
    constantsTouched: []
    func_position:
      end: 48
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 48
    functionName: test_timers_assert_smpte
    functionSourceFile: /src/vlc/test/src/player/timers.c
    functionUses: 0
    functionsReached:
    - VLC_TICK_FROM_SEC
    - assert
    linkageType: ''
    returnType: void
    signature: "void test_timers_assert_smpte(struct timer_state *timer,\n                         vlc_tick_t
      duration, unsigned fps, bool drop_frame,\n                         unsigned
      frame_resolution)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:54,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:55,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:72,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:73,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:80,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:81,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:83,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:84,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:93,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:94,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:96,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:98,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:100,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:108,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:113,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 3
    argNames:
    - timer
    - minute
    - fps
    argTypes:
    - struct timer_state*
    - unsigned
    - unsigned
    assertStmts:
    - condition: (fps == 30 || fps == 60)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (report->tc.drop_frame == true)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (report->tc.frame_resolution == 2)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (minute > 0)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (prev_report->tc.minutes == minute - 1)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (prev_report->tc.seconds == 58)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (report->tc.minutes == minute - 1)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (report->tc.frames == 0)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (prev_report->tc.minutes == minute - 1)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (prev_report->tc.seconds == 59)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (report->tc.frames == 0)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (last_second_seen && minute_seen)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (report->tc.frames == (fps / 30 * 2) /* drop frame */)
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (report->tc.minutes == minute)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (report->tc.frames == prev_report->tc.frames + 1)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/vlc/test/src/player/timers.c
    constantsTouched: []
    func_position:
      end: 114
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 114
    functionName: test_timers_assert_smpte_dropframe
    functionSourceFile: /src/vlc/test/src/player/timers.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void test_timers_assert_smpte_dropframe(struct timer_state *timer,
      unsigned minute,\n                                   unsigned fps)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DEFAULT_MEDIA_PARAMS
      Src: /src/vlc/test/src/player/timers.c:130,1
    - Dst: player_set_current_mock_media
      Src: /src/vlc/test/src/player/timers.c:139,1
    - Dst: player_set_rate
      Src: /src/vlc/test/src/player/timers.c:140,1
    - Dst: player_start
      Src: /src/vlc/test/src/player/timers.c:141,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/timers.c:143,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/timers.c:144,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:152,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:164,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:166,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:168,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:169,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:170,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:171,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:172,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:176,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:177,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:195,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:205,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:210,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:212,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:221,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:222,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:231,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:233,1
    - Dst: test_timers_assert_smpte
      Src: /src/vlc/test/src/player/timers.c:241,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:246,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.c:247,1
    - Dst: test_end
      Src: /src/vlc/test/src/player/timers.c:249,1
    - Dst: vlc_vector_clear
      Src: /src/vlc/test/src/player/timers.c:254,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 62
    argCount: 6
    argNames:
    - ctx
    - timers
    - track_count
    - length
    - fps
    - rate
    argTypes:
    - struct ctx*
    - struct timer_state[]
    - size_t
    - vlc_tick_t
    - unsigned
    - unsigned
    assertStmts:
    - condition: (prev_report->point.system_date == INT64_MAX)
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (point_count == MAX_UPDATE_COUNT)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (prev_report->point.system_date == INT64_MAX)
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (report->point.ts >= prev_report->point.ts)
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (report->point.rate == rate)
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (vec->size > 1)
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/vlc/test/src/player/timers.c
    - condition: "(vec->data[vec->size - 2].point.ts\n                == length -
        SAMPLE_LENGTH + VLC_TICK_0)"
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/vlc/test/src/player/timers.c
    - condition: "(report->point.system_date -\n                               prev_report->point.system_date
        >= timer->delay)"
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (vec->size == 1)
      pos:
        line_end: 245
        line_start: 245
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (vec->size > 1)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (report->type == REPORT_TIMER_POINT)
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (report->point.position >= prev_report->point.position)
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (report->point.length == length)
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (report->paused_date == VLC_TICK_INVALID)
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (vec->size > 1)
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (timer->vec.data[0].type == REPORT_TIMER_PAUSED)
      pos:
        line_end: 246
        line_start: 246
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (report->type == REPORT_TIMER_PAUSED)
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (report->point.system_date != VLC_TICK_INVALID)
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/vlc/test/src/player/timers.c
    - condition: "(report->point.ts ==\n                           prev_report->point.ts
        + SAMPLE_LENGTH)"
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/vlc/test/src/player/timers.c
    - condition: (vec->size < MAX_UPDATE_COUNT)
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/vlc/test/src/player/timers.c
    constantsTouched: []
    func_position:
      end: 256
      start: 122
    functionDepth: 6
    functionLinenumber: 122
    functionLinenumberEnd: 256
    functionName: test_timers_playback
    functionSourceFile: /src/vlc/test/src/player/timers.c
    functionUses: 0
    functionsReached:
    - test_end
    - wait_state
    - assert
    - test_timers_assert_smpte
    - player_set_rate
    - vlc_vector_clear
    - DEFAULT_MEDIA_PARAMS
    - player_set_current_mock_media
    - player_start
    linkageType: ''
    returnType: void
    signature: "void test_timers_playback(struct ctx *ctx, struct timer_state timers[],\n
      \                    size_t track_count, vlc_tick_t length, unsigned fps,\n
      \                    unsigned rate)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/src/player/timers.c:261,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/player/timers.c:277,1
    - Dst: vlc_vector_init
      Src: /src/vlc/test/src/player/timers.c:279,1
    - Dst: player_add_timer
      Src: /src/vlc/test/src/player/timers.c:281,1
    - Dst: test_timers_playback
      Src: /src/vlc/test/src/player/timers.c:285,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/timers.c:285,1
    - Dst: test_timers_playback
      Src: /src/vlc/test/src/player/timers.c:288,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/timers.c:288,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/player/timers.c:295,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/player/timers.c:298,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/test/src/player/timers.c:301,1
    - Dst: DEFAULT_MEDIA_PARAMS
      Src: /src/vlc/test/src/player/timers.c:304,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/test/src/player/timers.c:304,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/timers.c:305,1
    - Dst: player_set_current_mock_media
      Src: /src/vlc/test/src/player/timers.c:316,1
    - Dst: player_set_rate
      Src: /src/vlc/test/src/player/timers.c:317,1
    - Dst: vlc_player_SetTime
      Src: /src/vlc/test/src/player/timers.c:319,1
    - Dst: player_start
      Src: /src/vlc/test/src/player/timers.c:321,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/timers.c:323,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/timers.c:324,1
    - Dst: test_timers_assert_smpte_dropframe
      Src: /src/vlc/test/src/player/timers.c:326,1
    - Dst: test_end
      Src: /src/vlc/test/src/player/timers.c:329,1
    - Dst: vlc_vector_clear
      Src: /src/vlc/test/src/player/timers.c:331,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/player/timers.c:335,1
    - Dst: player_remove_timer
      Src: /src/vlc/test/src/player/timers.c:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 258
    functionDepth: 7
    functionLinenumber: 258
    functionLinenumberEnd: 340
    functionName: test_timers
    functionSourceFile: /src/vlc/test/src/player/timers.c
    functionUses: 0
    functionsReached:
    - test_end
    - wait_state
    - ARRAY_SIZE
    - VLC_TICK_FROM_SEC
    - vlc_vector_init
    - VLC_TICK_FROM_MS
    - test_timers_assert_smpte_dropframe
    - test_log
    - player_set_rate
    - vlc_player_SetTime
    - test_timers_playback
    - vlc_vector_clear
    - player_remove_timer
    - DEFAULT_MEDIA_PARAMS
    - player_set_current_mock_media
    - player_add_timer
    - player_start
    linkageType: ''
    returnType: void
    signature: void test_timers(struct ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctx_init
      Src: /src/vlc/test/src/player/timers.c:346,1
    - Dst: test_timers
      Src: /src/vlc/test/src/player/timers.c:347,1
    - Dst: ctx_destroy
      Src: /src/vlc/test/src/player/timers.c:348,1
    - Dst: ctx_init
      Src: /src/vlc/test/src/player/timers.c:349,1
    - Dst: test_timers
      Src: /src/vlc/test/src/player/timers.c:350,1
    - Dst: ctx_destroy
      Src: /src/vlc/test/src/player/timers.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 342
    functionDepth: 8
    functionLinenumber: 342
    functionLinenumberEnd: 353
    functionName: main
    functionSourceFile: /src/vlc/test/src/player/timers.c
    functionUses: 0
    functionsReached:
    - ctx_destroy
    - test_timers
    - ctx_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: player_lock_timer
      Src: /src/vlc/test/src/player/pause.c:16,1
    - Dst: timer_state_wait_next_report
      Src: /src/vlc/test/src/player/pause.c:19,1
    - Dst: assert
      Src: /src/vlc/test/src/player/pause.c:26,1
    - Dst: player_unlock_timer
      Src: /src/vlc/test/src/player/pause.c:28,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - player
    - timer
    - type
    argTypes:
    - vlc_player_t*
    - struct timer_state*
    - unsigned
    assertStmts:
    - condition: (r_found != NULL)
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/vlc/test/src/player/pause.c
    constantsTouched: []
    func_position:
      end: 30
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 30
    functionName: wait_timer_report
    functionSourceFile: /src/vlc/test/src/player/pause.c
    functionUses: 0
    functionsReached:
    - timer_state_wait_next_report
    - player_lock_timer
    - assert
    - player_unlock_timer
    linkageType: ''
    returnType: struct report_timer
    signature: "struct report_timer wait_timer_report(vlc_player_t *player, struct
      timer_state *timer,\n                  unsigned type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: player_lock_timer
      Src: /src/vlc/test/src/player/pause.c:35,1
    - Dst: player_unlock_timer
      Src: /src/vlc/test/src/player/pause.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - player
    - timer
    argTypes:
    - vlc_player_t*
    - struct timer_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: get_timer_report
    functionSourceFile: /src/vlc/test/src/player/pause.c
    functionUses: 0
    functionsReached:
    - player_lock_timer
    - player_unlock_timer
    linkageType: ''
    returnType: struct report_timer
    signature: struct report_timer get_timer_report(vlc_player_t *player, struct timer_state
      *timer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/src/player/pause.c:44,1
    - Dst: DEFAULT_MEDIA_PARAMS
      Src: /src/vlc/test/src/player/pause.c:47,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/test/src/player/pause.c:47,1
    - Dst: player_set_next_mock_media
      Src: /src/vlc/test/src/player/pause.c:48,1
    - Dst: player_add_timer
      Src: /src/vlc/test/src/player/pause.c:50,1
    - Dst: player_add_timer
      Src: /src/vlc/test/src/player/pause.c:51,1
    - Dst: vlc_player_SetStartPaused
      Src: /src/vlc/test/src/player/pause.c:54,1
    - Dst: player_start
      Src: /src/vlc/test/src/player/pause.c:55,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/pause.c:57,1
    - Dst: assert
      Src: /src/vlc/test/src/player/pause.c:61,1
    - Dst: wait_timer_report
      Src: /src/vlc/test/src/player/pause.c:65,1
    - Dst: wait_timer_report
      Src: /src/vlc/test/src/player/pause.c:66,1
    - Dst: vlc_player_Resume
      Src: /src/vlc/test/src/player/pause.c:69,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/pause.c:71,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/pause.c:76,1
    - Dst: wait_timer_report
      Src: /src/vlc/test/src/player/pause.c:80,1
    - Dst: wait_timer_report
      Src: /src/vlc/test/src/player/pause.c:81,1
    - Dst: vlc_player_Pause
      Src: /src/vlc/test/src/player/pause.c:84,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/pause.c:86,1
    - Dst: wait_timer_report
      Src: /src/vlc/test/src/player/pause.c:91,1
    - Dst: wait_timer_report
      Src: /src/vlc/test/src/player/pause.c:93,1
    - Dst: assert
      Src: /src/vlc/test/src/player/pause.c:94,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/test/src/player/pause.c:97,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/pause.c:97,1
    - Dst: assert
      Src: /src/vlc/test/src/player/pause.c:101,1
    - Dst: get_timer_report
      Src: /src/vlc/test/src/player/pause.c:101,1
    - Dst: assert
      Src: /src/vlc/test/src/player/pause.c:102,1
    - Dst: get_timer_report
      Src: /src/vlc/test/src/player/pause.c:102,1
    - Dst: test_end
      Src: /src/vlc/test/src/player/pause.c:104,1
    - Dst: player_remove_timer
      Src: /src/vlc/test/src/player/pause.c:105,1
    - Dst: player_remove_timer
      Src: /src/vlc/test/src/player/pause.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts:
    - condition: (video_paused.paused_date == regular_paused.paused_date)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/vlc/test/src/player/pause.c
    - condition: (vec->size == 0)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/vlc/test/src/player/pause.c
    - condition: (get_timer_report(player, &video_timer).type == REPORT_TIMER_PAUSED)
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/vlc/test/src/player/pause.c
    - condition: (get_timer_report(player, &timer).type == REPORT_TIMER_PAUSED)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/vlc/test/src/player/pause.c
    constantsTouched: []
    func_position:
      end: 107
      start: 41
    functionDepth: 6
    functionLinenumber: 41
    functionLinenumberEnd: 107
    functionName: test_pause
    functionSourceFile: /src/vlc/test/src/player/pause.c
    functionUses: 0
    functionsReached:
    - test_end
    - wait_state
    - assert
    - vlc_player_CondWait
    - VLC_TICK_FROM_SEC
    - vlc_player_SetStartPaused
    - VLC_TICK_FROM_MS
    - player_set_next_mock_media
    - test_log
    - player_remove_timer
    - DEFAULT_MEDIA_PARAMS
    - vlc_tick_sleep
    - player_add_timer
    - get_timer_report
    - vlc_player_Pause
    - wait_timer_report
    - vlc_player_Resume
    - player_start
    linkageType: ''
    returnType: void
    signature: void test_pause(struct ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/src/player/pause.c:116,1
    - Dst: DEFAULT_MEDIA_PARAMS
      Src: /src/vlc/test/src/player/pause.c:119,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/test/src/player/pause.c:119,1
    - Dst: player_set_next_mock_media
      Src: /src/vlc/test/src/player/pause.c:120,1
    - Dst: player_start
      Src: /src/vlc/test/src/player/pause.c:122,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/pause.c:124,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/pause.c:129,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/test/src/player/pause.c:131,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/pause.c:131,1
    - Dst: vlc_player_GetTime
      Src: /src/vlc/test/src/player/pause.c:133,1
    - Dst: assert
      Src: /src/vlc/test/src/player/pause.c:134,1
    - Dst: vlc_player_GetTime
      Src: /src/vlc/test/src/player/pause.c:137,1
    - Dst: assert
      Src: /src/vlc/test/src/player/pause.c:138,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/test/src/player/pause.c:141,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/player/pause.c:141,1
    - Dst: vlc_player_GetTime
      Src: /src/vlc/test/src/player/pause.c:143,1
    - Dst: assert
      Src: /src/vlc/test/src/player/pause.c:144,1
    - Dst: vlc_player_Pause
      Src: /src/vlc/test/src/player/pause.c:147,1
    - Dst: vlc_player_GetTime
      Src: /src/vlc/test/src/player/pause.c:149,1
    - Dst: assert
      Src: /src/vlc/test/src/player/pause.c:150,1
    - Dst: vlc_player_Resume
      Src: /src/vlc/test/src/player/pause.c:154,1
    - Dst: test_end
      Src: /src/vlc/test/src/player/pause.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts:
    - condition: (time >= prev_time)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/vlc/test/src/player/pause.c
    - condition: (time >= prev_time)
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/vlc/test/src/player/pause.c
    - condition: (prev_time >= VLC_TICK_0)
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/vlc/test/src/player/pause.c
    - condition: (time >= prev_time)
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/vlc/test/src/player/pause.c
    constantsTouched: []
    func_position:
      end: 160
      start: 109
    functionDepth: 6
    functionLinenumber: 109
    functionLinenumberEnd: 160
    functionName: test_pause_get_time_increase
    functionSourceFile: /src/vlc/test/src/player/pause.c
    functionUses: 0
    functionsReached:
    - test_end
    - wait_state
    - vlc_player_CondWait
    - assert
    - VLC_TICK_FROM_SEC
    - VLC_TICK_FROM_MS
    - player_set_next_mock_media
    - vlc_player_GetTime
    - test_log
    - DEFAULT_MEDIA_PARAMS
    - vlc_tick_sleep
    - vlc_player_Pause
    - vlc_player_Resume
    - player_start
    linkageType: ''
    returnType: void
    signature: void test_pause_get_time_increase(struct ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctx_init
      Src: /src/vlc/test/src/player/pause.c:166,1
    - Dst: test_pause
      Src: /src/vlc/test/src/player/pause.c:167,1
    - Dst: test_pause_get_time_increase
      Src: /src/vlc/test/src/player/pause.c:168,1
    - Dst: ctx_destroy
      Src: /src/vlc/test/src/player/pause.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 162
    functionDepth: 7
    functionLinenumber: 162
    functionLinenumberEnd: 171
    functionName: main
    functionSourceFile: /src/vlc/test/src/player/pause.c
    functionUses: 0
    functionsReached:
    - test_pause
    - ctx_destroy
    - test_pause_get_time_increase
    - ctx_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/src/player/capabilities.c:13,1
    - Dst: DEFAULT_MEDIA_PARAMS
      Src: /src/vlc/test/src/player/capabilities.c:16,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/test/src/player/capabilities.c:16,1
    - Dst: player_set_next_mock_media
      Src: /src/vlc/test/src/player/capabilities.c:18,1
    - Dst: player_start
      Src: /src/vlc/test/src/player/capabilities.c:20,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/capabilities.c:25,1
    - Dst: vlc_player_ChangeRate
      Src: /src/vlc/test/src/player/capabilities.c:28,1
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/capabilities.c:34,1
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/capabilities.c:37,1
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/capabilities.c:39,1
    - Dst: vlc_player_SetTime
      Src: /src/vlc/test/src/player/capabilities.c:40,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/capabilities.c:42,1
    - Dst: assert_state
      Src: /src/vlc/test/src/player/capabilities.c:46,1
    - Dst: test_end
      Src: /src/vlc/test/src/player/capabilities.c:47,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 10
    functionDepth: 6
    functionLinenumber: 10
    functionLinenumberEnd: 48
    functionName: test_capabilities_seek
    functionSourceFile: /src/vlc/test/src/player/capabilities.c
    functionUses: 0
    functionsReached:
    - test_end
    - vlc_player_CondWait
    - VLC_TICK_FROM_SEC
    - assert_state
    - player_set_next_mock_media
    - test_log
    - vlc_player_SetTime
    - vlc_player_ChangeRate
    - DEFAULT_MEDIA_PARAMS
    - VEC_LAST
    - player_start
    linkageType: ''
    returnType: void
    signature: void test_capabilities_seek(struct ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/src/player/capabilities.c:53,1
    - Dst: DEFAULT_MEDIA_PARAMS
      Src: /src/vlc/test/src/player/capabilities.c:56,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/test/src/player/capabilities.c:56,1
    - Dst: player_set_next_mock_media
      Src: /src/vlc/test/src/player/capabilities.c:58,1
    - Dst: player_start
      Src: /src/vlc/test/src/player/capabilities.c:60,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/capabilities.c:65,1
    - Dst: vlc_player_Pause
      Src: /src/vlc/test/src/player/capabilities.c:69,1
    - Dst: vlc_player_ChangeRate
      Src: /src/vlc/test/src/player/capabilities.c:70,1
    - Dst: test_prestop
      Src: /src/vlc/test/src/player/capabilities.c:72,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/capabilities.c:74,1
    - Dst: assert_normal_state
      Src: /src/vlc/test/src/player/capabilities.c:75,1
    - Dst: test_end
      Src: /src/vlc/test/src/player/capabilities.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 50
    functionDepth: 6
    functionLinenumber: 50
    functionLinenumberEnd: 78
    functionName: test_capabilities_pause
    functionSourceFile: /src/vlc/test/src/player/capabilities.c
    functionUses: 0
    functionsReached:
    - test_end
    - wait_state
    - vlc_player_CondWait
    - test_prestop
    - VLC_TICK_FROM_SEC
    - assert_normal_state
    - player_set_next_mock_media
    - test_log
    - vlc_player_ChangeRate
    - DEFAULT_MEDIA_PARAMS
    - vlc_player_Pause
    - player_start
    linkageType: ''
    returnType: void
    signature: void test_capabilities_pause(struct ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctx_init
      Src: /src/vlc/test/src/player/capabilities.c:84,1
    - Dst: test_capabilities_seek
      Src: /src/vlc/test/src/player/capabilities.c:85,1
    - Dst: test_capabilities_pause
      Src: /src/vlc/test/src/player/capabilities.c:86,1
    - Dst: ctx_destroy
      Src: /src/vlc/test/src/player/capabilities.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 7
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: main
    functionSourceFile: /src/vlc/test/src/player/capabilities.c
    functionUses: 0
    functionsReached:
    - test_capabilities_seek
    - ctx_destroy
    - test_capabilities_pause
    - ctx_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/src/player/tracks_ids.c:13,1
    - Dst: DEFAULT_MEDIA_PARAMS
      Src: /src/vlc/test/src/player/tracks_ids.c:18,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/test/src/player/tracks_ids.c:18,1
    - Dst: player_set_current_mock_media
      Src: /src/vlc/test/src/player/tracks_ids.c:25,1
    - Dst: vlc_player_SelectTracksByStringIds
      Src: /src/vlc/test/src/player/tracks_ids.c:33,1
    - Dst: vlc_player_SelectTracksByStringIds
      Src: /src/vlc/test/src/player/tracks_ids.c:38,1
    - Dst: vlc_player_SelectTracksByStringIds
      Src: /src/vlc/test/src/player/tracks_ids.c:42,1
    - Dst: player_start
      Src: /src/vlc/test/src/player/tracks_ids.c:47,1
    - Dst: vec_on_track_list_get_action_count
      Src: /src/vlc/test/src/player/tracks_ids.c:52,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/tracks_ids.c:54,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/tracks_ids.c:66,1
    - Dst: assert
      Src: /src/vlc/test/src/player/tracks_ids.c:69,1
    - Dst: assert
      Src: /src/vlc/test/src/player/tracks_ids.c:70,1
    - Dst: vlc_player_GetTrack
      Src: /src/vlc/test/src/player/tracks_ids.c:74,1
    - Dst: assert
      Src: /src/vlc/test/src/player/tracks_ids.c:75,1
    - Dst: assert
      Src: /src/vlc/test/src/player/tracks_ids.c:76,1
    - Dst: assert
      Src: /src/vlc/test/src/player/tracks_ids.c:79,1
    - Dst: sprintf
      Src: /src/vlc/test/src/player/tracks_ids.c:80,1
    - Dst: assert
      Src: /src/vlc/test/src/player/tracks_ids.c:84,1
    - Dst: sprintf
      Src: /src/vlc/test/src/player/tracks_ids.c:85,1
    - Dst: assert
      Src: /src/vlc/test/src/player/tracks_ids.c:87,1
    - Dst: strcmp
      Src: /src/vlc/test/src/player/tracks_ids.c:87,1
    - Dst: vlc_es_id_GetStrId
      Src: /src/vlc/test/src/player/tracks_ids.c:87,1
    - Dst: vlc_player_SelectTracksByStringIds
      Src: /src/vlc/test/src/player/tracks_ids.c:97,1
    - Dst: vlc_player_SelectTracksByStringIds
      Src: /src/vlc/test/src/player/tracks_ids.c:101,1
    - Dst: vlc_player_SelectTracksByStringIds
      Src: /src/vlc/test/src/player/tracks_ids.c:103,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/tracks_ids.c:118,1
    - Dst: vlc_player_GetTrack
      Src: /src/vlc/test/src/player/tracks_ids.c:124,1
    - Dst: assert
      Src: /src/vlc/test/src/player/tracks_ids.c:125,1
    - Dst: assert
      Src: /src/vlc/test/src/player/tracks_ids.c:127,1
    - Dst: assert
      Src: /src/vlc/test/src/player/tracks_ids.c:131,1
    - Dst: assert
      Src: /src/vlc/test/src/player/tracks_ids.c:132,1
    - Dst: assert
      Src: /src/vlc/test/src/player/tracks_ids.c:136,1
    - Dst: assert
      Src: /src/vlc/test/src/player/tracks_ids.c:137,1
    - Dst: assert
      Src: /src/vlc/test/src/player/tracks_ids.c:138,1
    - Dst: assert
      Src: /src/vlc/test/src/player/tracks_ids.c:143,1
    - Dst: sprintf
      Src: /src/vlc/test/src/player/tracks_ids.c:144,1
    - Dst: assert
      Src: /src/vlc/test/src/player/tracks_ids.c:148,1
    - Dst: sprintf
      Src: /src/vlc/test/src/player/tracks_ids.c:149,1
    - Dst: assert
      Src: /src/vlc/test/src/player/tracks_ids.c:151,1
    - Dst: strcmp
      Src: /src/vlc/test/src/player/tracks_ids.c:151,1
    - Dst: vlc_es_id_GetStrId
      Src: /src/vlc/test/src/player/tracks_ids.c:151,1
    - Dst: test_prestop
      Src: /src/vlc/test/src/player/tracks_ids.c:155,1
    - Dst: test_end
      Src: /src/vlc/test/src/player/tracks_ids.c:156,1
    - Dst: player_set_next_mock_media
      Src: /src/vlc/test/src/player/tracks_ids.c:162,1
    - Dst: player_start
      Src: /src/vlc/test/src/player/tracks_ids.c:164,1
    - Dst: vec_on_track_list_get_action_count
      Src: /src/vlc/test/src/player/tracks_ids.c:169,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/tracks_ids.c:171,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/tracks_ids.c:183,1
    - Dst: assert
      Src: /src/vlc/test/src/player/tracks_ids.c:187,1
    - Dst: assert
      Src: /src/vlc/test/src/player/tracks_ids.c:188,1
    - Dst: vlc_player_GetTrack
      Src: /src/vlc/test/src/player/tracks_ids.c:192,1
    - Dst: assert
      Src: /src/vlc/test/src/player/tracks_ids.c:193,1
    - Dst: assert
      Src: /src/vlc/test/src/player/tracks_ids.c:194,1
    - Dst: assert
      Src: /src/vlc/test/src/player/tracks_ids.c:197,1
    - Dst: sprintf
      Src: /src/vlc/test/src/player/tracks_ids.c:198,1
    - Dst: assert
      Src: /src/vlc/test/src/player/tracks_ids.c:202,1
    - Dst: sprintf
      Src: /src/vlc/test/src/player/tracks_ids.c:203,1
    - Dst: assert
      Src: /src/vlc/test/src/player/tracks_ids.c:205,1
    - Dst: strcmp
      Src: /src/vlc/test/src/player/tracks_ids.c:205,1
    - Dst: vlc_es_id_GetStrId
      Src: /src/vlc/test/src/player/tracks_ids.c:205,1
    - Dst: test_prestop
      Src: /src/vlc/test/src/player/tracks_ids.c:209,1
    - Dst: test_end
      Src: /src/vlc/test/src/player/tracks_ids.c:210,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 85
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts:
    - condition: (track->fmt.i_cat != VIDEO_ES)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/vlc/test/src/player/tracks_ids.c
    - condition: (!vec->data[i].unselected_id)
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/vlc/test/src/player/tracks_ids.c
    - condition: (vec->data[i].selected_id)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/vlc/test/src/player/tracks_ids.c
    - condition: (audio_track_idx < 10)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/vlc/test/src/player/tracks_ids.c
    - condition: (sub_track_idx < 10)
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/vlc/test/src/player/tracks_ids.c
    - condition: (track->fmt.i_cat != AUDIO_ES)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/vlc/test/src/player/tracks_ids.c
    - condition: (track)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/vlc/test/src/player/tracks_ids.c
    - condition: (strcmp(vlc_es_id_GetStrId(es_id), cat_id) == 0)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/vlc/test/src/player/tracks_ids.c
    - condition: (track)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/vlc/test/src/player/tracks_ids.c
    - condition: (!vec->data[i].selected_id)
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/vlc/test/src/player/tracks_ids.c
    - condition: (track->fmt.i_cat == AUDIO_ES)
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/vlc/test/src/player/tracks_ids.c
    - condition: (!vec->data[i].unselected_id)
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/vlc/test/src/player/tracks_ids.c
    - condition: (strcmp(vlc_es_id_GetStrId(es_id), cat_id) == 0)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/vlc/test/src/player/tracks_ids.c
    - condition: (audio_track_idx < 1)
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/vlc/test/src/player/tracks_ids.c
    - condition: (!vec->data[i].unselected_id)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/vlc/test/src/player/tracks_ids.c
    - condition: (vec->data[i].unselected_id)
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/vlc/test/src/player/tracks_ids.c
    - condition: (strcmp(vlc_es_id_GetStrId(es_id), cat_id) == 0)
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/vlc/test/src/player/tracks_ids.c
    - condition: (video_track_idx < 1)
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/vlc/test/src/player/tracks_ids.c
    - condition: (vec->data[i].selected_id)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/vlc/test/src/player/tracks_ids.c
    - condition: (sub_track_idx < 10)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/vlc/test/src/player/tracks_ids.c
    - condition: (video_track_idx < 10)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/vlc/test/src/player/tracks_ids.c
    - condition: (vec->data[i].selected_id)
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/vlc/test/src/player/tracks_ids.c
    - condition: (track->fmt.i_cat != SPU_ES)
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/vlc/test/src/player/tracks_ids.c
    - condition: (track)
      pos:
        line_end: 192
        line_start: 192
        source_file: /src/vlc/test/src/player/tracks_ids.c
    constantsTouched: []
    func_position:
      end: 211
      start: 10
    functionDepth: 6
    functionLinenumber: 10
    functionLinenumberEnd: 211
    functionName: test_tracks_ids
    functionSourceFile: /src/vlc/test/src/player/tracks_ids.c
    functionUses: 0
    functionsReached:
    - test_end
    - vlc_player_CondWait
    - assert
    - test_prestop
    - sprintf
    - VLC_TICK_FROM_SEC
    - player_set_next_mock_media
    - test_log
    - vec_on_track_list_get_action_count
    - strcmp
    - vlc_player_SelectTracksByStringIds
    - vlc_es_id_GetStrId
    - DEFAULT_MEDIA_PARAMS
    - vlc_player_GetTrack
    - player_set_current_mock_media
    - player_start
    linkageType: ''
    returnType: void
    signature: void test_tracks_ids(struct ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctx_init
      Src: /src/vlc/test/src/player/tracks_ids.c:217,1
    - Dst: test_tracks_ids
      Src: /src/vlc/test/src/player/tracks_ids.c:218,1
    - Dst: ctx_destroy
      Src: /src/vlc/test/src/player/tracks_ids.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 213
    functionDepth: 7
    functionLinenumber: 213
    functionLinenumberEnd: 221
    functionName: main
    functionSourceFile: /src/vlc/test/src/player/tracks_ids.c
    functionUses: 0
    functionsReached:
    - ctx_destroy
    - test_tracks_ids
    - ctx_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/src/player/attachments.c:13,1
    - Dst: DEFAULT_MEDIA_PARAMS
      Src: /src/vlc/test/src/player/attachments.c:17,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/test/src/player/attachments.c:17,1
    - Dst: player_set_next_mock_media
      Src: /src/vlc/test/src/player/attachments.c:19,1
    - Dst: player_start
      Src: /src/vlc/test/src/player/attachments.c:21,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/attachments.c:26,1
    - Dst: assert
      Src: /src/vlc/test/src/player/attachments.c:31,1
    - Dst: assert
      Src: /src/vlc/test/src/player/attachments.c:36,1
    - Dst: strcmp
      Src: /src/vlc/test/src/player/attachments.c:36,1
    - Dst: assert
      Src: /src/vlc/test/src/player/attachments.c:37,1
    - Dst: strcmp
      Src: /src/vlc/test/src/player/attachments.c:37,1
    - Dst: asprintf
      Src: /src/vlc/test/src/player/attachments.c:40,1
    - Dst: assert
      Src: /src/vlc/test/src/player/attachments.c:41,1
    - Dst: assert
      Src: /src/vlc/test/src/player/attachments.c:42,1
    - Dst: strcmp
      Src: /src/vlc/test/src/player/attachments.c:42,1
    - Dst: free
      Src: /src/vlc/test/src/player/attachments.c:43,1
    - Dst: test_end
      Src: /src/vlc/test/src/player/attachments.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts:
    - condition: (count == params.attachment_count)
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/vlc/test/src/player/attachments.c
    - condition: (strcmp(attach->psz_mime, "image/bmp") == 0)
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/vlc/test/src/player/attachments.c
    - condition: (strcmp(attach->psz_description, "Mock Attach Desc") == 0)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/vlc/test/src/player/attachments.c
    - condition: (strcmp(attach->psz_name, name) == 0)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/vlc/test/src/player/attachments.c
    - condition: (ret > 0)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/vlc/test/src/player/attachments.c
    constantsTouched: []
    func_position:
      end: 47
      start: 10
    functionDepth: 6
    functionLinenumber: 10
    functionLinenumberEnd: 47
    functionName: test_attachments
    functionSourceFile: /src/vlc/test/src/player/attachments.c
    functionUses: 0
    functionsReached:
    - test_end
    - asprintf
    - vlc_player_CondWait
    - assert
    - VLC_TICK_FROM_SEC
    - player_set_next_mock_media
    - test_log
    - free
    - strcmp
    - DEFAULT_MEDIA_PARAMS
    - player_start
    linkageType: ''
    returnType: void
    signature: void test_attachments(struct ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctx_init
      Src: /src/vlc/test/src/player/attachments.c:53,1
    - Dst: test_attachments
      Src: /src/vlc/test/src/player/attachments.c:54,1
    - Dst: ctx_destroy
      Src: /src/vlc/test/src/player/attachments.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 7
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: main
    functionSourceFile: /src/vlc/test/src/player/attachments.c
    functionUses: 0
    functionsReached:
    - ctx_destroy
    - test_attachments
    - ctx_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/player/modules.c:31,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/test/src/player/modules.c:36,1
    - Dst: VEC_PUSH
      Src: /src/vlc/test/src/player/modules.c:37,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/test/src/player/modules.c:38,1
    - Dst: aout_TimingReport
      Src: /src/vlc/test/src/player/modules.c:41,1
    - Dst: block_Release
      Src: /src/vlc/test/src/player/modules.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - aout
    - block
    - date
    argTypes:
    - audio_output_t*
    - block_t*
    - vlc_tick_t
    assertStmts:
    - condition: (sys->first_pts == VLC_TICK_INVALID)
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/vlc/test/src/player/modules.c
    constantsTouched: []
    func_position:
      end: 45
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 45
    functionName: aout_Play
    functionSourceFile: /src/vlc/test/src/player/modules.c
    functionUses: 0
    functionsReached:
    - block_Release
    - assert
    - VEC_PUSH
    - vlc_player_Unlock
    - vlc_player_Lock
    - aout_TimingReport
    linkageType: ''
    returnType: void
    signature: void aout_Play(audio_output_t *aout, block_t *block, vlc_tick_t date)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: aout_Flush
    functionSourceFile: /src/vlc/test/src/player/modules.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void aout_Flush(audio_output_t *aout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aout_Flush
      Src: /src/vlc/test/src/player/modules.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - aout
    - pause
    - date
    argTypes:
    - audio_output_t*
    - bool
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: aout_Pause
    functionSourceFile: /src/vlc/test/src/player/modules.c
    functionUses: 0
    functionsReached:
    - aout_Flush
    linkageType: ''
    returnType: void
    signature: void aout_Pause(audio_output_t *aout, bool pause, vlc_tick_t date)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aout_DrainedReport
      Src: /src/vlc/test/src/player/modules.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: aout_InstantDrain
    functionSourceFile: /src/vlc/test/src/player/modules.c
    functionUses: 0
    functionsReached:
    - aout_DrainedReport
    linkageType: ''
    returnType: void
    signature: void aout_InstantDrain(audio_output_t *aout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AOUT_FMT_LINEAR
      Src: /src/vlc/test/src/player/modules.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - aout
    - fmt
    argTypes:
    - audio_output_t*
    - audio_sample_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: aout_Start
    functionSourceFile: /src/vlc/test/src/player/modules.c
    functionUses: 0
    functionsReached:
    - AOUT_FMT_LINEAR
    linkageType: ''
    returnType: int
    signature: int aout_Start(audio_output_t *aout, audio_sample_format_t *restrict
      fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/test/src/player/modules.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: aout_Close
    functionSourceFile: /src/vlc/test/src/player/modules.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void aout_Close(vlc_object_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/test/src/player/modules.c:91,1
    - Dst: assert
      Src: /src/vlc/test/src/player/modules.c:92,1
    - Dst: var_InheritAddress
      Src: /src/vlc/test/src/player/modules.c:94,1
    - Dst: assert
      Src: /src/vlc/test/src/player/modules.c:95,1
    - Dst: aout_Flush
      Src: /src/vlc/test/src/player/modules.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/vlc/test/src/player/modules.c
    - condition: (sys->ctx != NULL)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/vlc/test/src/player/modules.c
    constantsTouched: []
    func_position:
      end: 103
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 103
    functionName: aout_Open
    functionSourceFile: /src/vlc/test/src/player/modules.c
    functionUses: 0
    functionsReached:
    - aout_Flush
    - assert
    - malloc
    - var_InheritAddress
    linkageType: ''
    returnType: int
    signature: int aout_Open(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/src/player/modules.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - filter
    - in
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: resampler_Resample
    functionSourceFile: /src/vlc/test/src/player/modules.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: block_t
    signature: block_t *resampler_Resample(filter_t *filter, block_t *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/src/player/modules.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: resampler_Close
    functionSourceFile: /src/vlc/test/src/player/modules.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void resampler_Close(filter_t *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: resampler_Open
    functionSourceFile: /src/vlc/test/src/player/modules.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int resampler_Open(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/src/player/errors.c:13,1
    - Dst: DEFAULT_MEDIA_PARAMS
      Src: /src/vlc/test/src/player/errors.c:16,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/test/src/player/errors.c:16,1
    - Dst: player_set_next_mock_media
      Src: /src/vlc/test/src/player/errors.c:18,1
    - Dst: player_start
      Src: /src/vlc/test/src/player/errors.c:20,1
    - Dst: VEC_LAST
      Src: /src/vlc/test/src/player/errors.c:24,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/player/errors.c:25,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/errors.c:27,1
    - Dst: test_end
      Src: /src/vlc/test/src/player/errors.c:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 10
    functionDepth: 6
    functionLinenumber: 10
    functionLinenumberEnd: 30
    functionName: test_error
    functionSourceFile: /src/vlc/test/src/player/errors.c
    functionUses: 0
    functionsReached:
    - test_end
    - wait_state
    - vlc_player_CondWait
    - VLC_TICK_FROM_SEC
    - player_set_next_mock_media
    - test_log
    - DEFAULT_MEDIA_PARAMS
    - VEC_LAST
    - player_start
    linkageType: ''
    returnType: void
    signature: void test_error(struct ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/src/player/errors.c:35,1
    - Dst: input_item_New
      Src: /src/vlc/test/src/player/errors.c:38,1
    - Dst: assert
      Src: /src/vlc/test/src/player/errors.c:39,1
    - Dst: vlc_player_SetCurrentMedia
      Src: /src/vlc/test/src/player/errors.c:40,1
    - Dst: assert
      Src: /src/vlc/test/src/player/errors.c:41,1
    - Dst: vlc_vector_push
      Src: /src/vlc/test/src/player/errors.c:44,1
    - Dst: assert
      Src: /src/vlc/test/src/player/errors.c:45,1
    - Dst: vlc_vector_push
      Src: /src/vlc/test/src/player/errors.c:46,1
    - Dst: assert
      Src: /src/vlc/test/src/player/errors.c:47,1
    - Dst: player_start
      Src: /src/vlc/test/src/player/errors.c:49,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/errors.c:51,1
    - Dst: wait_state
      Src: /src/vlc/test/src/player/errors.c:52,1
    - Dst: assert
      Src: /src/vlc/test/src/player/errors.c:55,1
    - Dst: assert
      Src: /src/vlc/test/src/player/errors.c:56,1
    - Dst: test_end
      Src: /src/vlc/test/src/player/errors.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ctx*
    assertStmts:
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/vlc/test/src/player/errors.c
    - condition: (media)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/vlc/test/src/player/errors.c
    - condition: (success)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/vlc/test/src/player/errors.c
    - condition: (success)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/vlc/test/src/player/errors.c
    - condition: (vec->data[0] != VLC_PLAYER_ERROR_NONE)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/vlc/test/src/player/errors.c
    - condition: (vec->size == 1)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/vlc/test/src/player/errors.c
    constantsTouched: []
    func_position:
      end: 60
      start: 32
    functionDepth: 6
    functionLinenumber: 32
    functionLinenumberEnd: 60
    functionName: test_unknown_uri
    functionSourceFile: /src/vlc/test/src/player/errors.c
    functionUses: 0
    functionsReached:
    - test_end
    - wait_state
    - assert
    - input_item_New
    - test_log
    - vlc_player_SetCurrentMedia
    - vlc_vector_push
    - player_start
    linkageType: ''
    returnType: void
    signature: void test_unknown_uri(struct ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctx_init
      Src: /src/vlc/test/src/player/errors.c:66,1
    - Dst: test_error
      Src: /src/vlc/test/src/player/errors.c:67,1
    - Dst: test_unknown_uri
      Src: /src/vlc/test/src/player/errors.c:68,1
    - Dst: ctx_destroy
      Src: /src/vlc/test/src/player/errors.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 7
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: main
    functionSourceFile: /src/vlc/test/src/player/errors.c
    functionUses: 0
    functionsReached:
    - test_unknown_uri
    - test_error
    - ctx_destroy
    - ctx_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/test/src/player/timers.h:52,1
    - Dst: vlc_vector_push
      Src: /src/vlc/test/src/player/timers.h:53,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/test/src/player/timers.h:54,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/test/src/player/timers.h:55,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - point
    - data
    argTypes:
    - struct vlc_player_timer_point*
    - void*
    assertStmts:
    - condition: (success)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/vlc/test/src/player/timers.h
    constantsTouched: []
    func_position:
      end: 57
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 57
    functionName: timers_on_update
    functionSourceFile: /src/vlc/test/src/player/timers.h
    functionUses: 0
    functionsReached:
    - assert
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_vector_push
    linkageType: ''
    returnType: void
    signature: void timers_on_update(const struct vlc_player_timer_point *point, void
      *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/test/src/player/timers.h:68,1
    - Dst: vlc_vector_push
      Src: /src/vlc/test/src/player/timers.h:69,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/test/src/player/timers.h:70,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/test/src/player/timers.h:71,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - system_date
    - data
    argTypes:
    - vlc_tick_t
    - void*
    assertStmts:
    - condition: (success)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/vlc/test/src/player/timers.h
    constantsTouched: []
    func_position:
      end: 73
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 73
    functionName: timers_on_paused
    functionSourceFile: /src/vlc/test/src/player/timers.h
    functionUses: 0
    functionsReached:
    - assert
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_vector_push
    linkageType: ''
    returnType: void
    signature: void timers_on_paused(vlc_tick_t system_date, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/test/src/player/timers.h:86,1
    - Dst: vlc_vector_push
      Src: /src/vlc/test/src/player/timers.h:87,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/test/src/player/timers.h:88,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/test/src/player/timers.h:89,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.h:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - point
    - data
    argTypes:
    - struct vlc_player_timer_point*
    - void*
    assertStmts:
    - condition: (success)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/vlc/test/src/player/timers.h
    constantsTouched: []
    func_position:
      end: 91
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 91
    functionName: timers_on_seek
    functionSourceFile: /src/vlc/test/src/player/timers.h
    functionUses: 0
    functionsReached:
    - assert
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_vector_push
    linkageType: ''
    returnType: void
    signature: void timers_on_seek(const struct vlc_player_timer_point *point, void
      *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/test/src/player/timers.h:103,1
    - Dst: vlc_vector_push
      Src: /src/vlc/test/src/player/timers.h:104,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/test/src/player/timers.h:105,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/test/src/player/timers.h:106,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - tc
    - data
    argTypes:
    - struct vlc_player_timer_smpte_timecode*
    - void*
    assertStmts:
    - condition: (success)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/vlc/test/src/player/timers.h
    constantsTouched: []
    func_position:
      end: 108
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 108
    functionName: timers_smpte_on_update
    functionSourceFile: /src/vlc/test/src/player/timers.h
    functionUses: 0
    functionsReached:
    - assert
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_vector_push
    linkageType: ''
    returnType: void
    signature: "void timers_smpte_on_update(const struct vlc_player_timer_smpte_timecode
      *tc,\n                       void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vector_init
      Src: /src/vlc/test/src/player/timers.h:128,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/test/src/player/timers.h:129,1
    - Dst: vlc_cond_init
      Src: /src/vlc/test/src/player/timers.h:130,1
    - Dst: vlc_player_AddSmpteTimer
      Src: /src/vlc/test/src/player/timers.h:134,1
    - Dst: vlc_player_AddTimer
      Src: /src/vlc/test/src/player/timers.h:136,1
    - Dst: assert
      Src: /src/vlc/test/src/player/timers.h:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - player
    - timer
    - smpte
    - delay
    argTypes:
    - vlc_player_t*
    - struct timer_state*
    - bool
    - vlc_tick_t
    assertStmts:
    - condition: (timer->id)
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/vlc/test/src/player/timers.h
    constantsTouched: []
    func_position:
      end: 138
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 138
    functionName: player_add_timer
    functionSourceFile: /src/vlc/test/src/player/timers.h
    functionUses: 6
    functionsReached:
    - assert
    - vlc_player_AddSmpteTimer
    - vlc_mutex_init
    - vlc_vector_init
    - vlc_player_AddTimer
    - vlc_cond_init
    linkageType: ''
    returnType: void
    signature: "void player_add_timer(vlc_player_t *player, struct timer_state *timer,
      bool smpte,\n                 vlc_tick_t delay)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vector_clear
      Src: /src/vlc/test/src/player/timers.h:143,1
    - Dst: vlc_player_RemoveTimer
      Src: /src/vlc/test/src/player/timers.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - player
    - timer
    argTypes:
    - vlc_player_t*
    - struct timer_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: player_remove_timer
    functionSourceFile: /src/vlc/test/src/player/timers.h
    functionUses: 6
    functionsReached:
    - vlc_vector_clear
    - vlc_player_RemoveTimer
    linkageType: ''
    returnType: void
    signature: void player_remove_timer(vlc_player_t *player, struct timer_state *timer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_Unlock
      Src: /src/vlc/test/src/player/timers.h:150,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/test/src/player/timers.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - player
    - timer
    argTypes:
    - vlc_player_t*
    - struct timer_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: player_lock_timer
    functionSourceFile: /src/vlc/test/src/player/timers.h
    functionUses: 11
    functionsReached:
    - vlc_player_Unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void player_lock_timer(vlc_player_t *player, struct timer_state *timer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/test/src/player/timers.h:157,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/test/src/player/timers.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - player
    - timer
    argTypes:
    - vlc_player_t*
    - struct timer_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: player_unlock_timer
    functionSourceFile: /src/vlc/test/src/player/timers.h
    functionUses: 11
    functionsReached:
    - vlc_player_Lock
    - vlc_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void player_unlock_timer(vlc_player_t *player, struct timer_state *timer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_cond_wait
      Src: /src/vlc/test/src/player/timers.h:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - timer
    argTypes:
    - struct timer_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 169
    functionName: timer_state_wait_next_report
    functionSourceFile: /src/vlc/test/src/player/timers.h
    functionUses: 10
    functionsReached:
    - vlc_cond_wait
    linkageType: ''
    returnType: struct report_timer
    signature: 'struct report_timer *

      timer_state_wait_next_report(struct timer_state *timer)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/src/input/stream_fifo.c:51,1
    - Dst: libvlc_new
      Src: /src/vlc/test/src/input/stream_fifo.c:53,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:54,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/test/src/input/stream_fifo.c:55,1
    - Dst: vlc_stream_fifo_New
      Src: /src/vlc/test/src/input/stream_fifo.c:57,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:58,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/test/src/input/stream_fifo.c:59,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:60,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/test/src/input/stream_fifo.c:61,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:62,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/test/src/input/stream_fifo.c:63,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:64,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/test/src/input/stream_fifo.c:65,1
    - Dst: vlc_stream_fifo_Close
      Src: /src/vlc/test/src/input/stream_fifo.c:66,1
    - Dst: vlc_stream_fifo_New
      Src: /src/vlc/test/src/input/stream_fifo.c:68,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:69,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:70,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/test/src/input/stream_fifo.c:70,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:71,1
    - Dst: vlc_stream_Eof
      Src: /src/vlc/test/src/input/stream_fifo.c:71,1
    - Dst: vlc_stream_fifo_Write
      Src: /src/vlc/test/src/input/stream_fifo.c:72,1
    - Dst: vlc_stream_fifo_Close
      Src: /src/vlc/test/src/input/stream_fifo.c:73,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/test/src/input/stream_fifo.c:75,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:76,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:77,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/test/src/input/stream_fifo.c:77,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:78,1
    - Dst: vlc_stream_Eof
      Src: /src/vlc/test/src/input/stream_fifo.c:78,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/test/src/input/stream_fifo.c:80,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:81,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:82,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/test/src/input/stream_fifo.c:82,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:83,1
    - Dst: memcmp
      Src: /src/vlc/test/src/input/stream_fifo.c:83,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/test/src/input/stream_fifo.c:84,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:85,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:86,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/test/src/input/stream_fifo.c:86,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:87,1
    - Dst: vlc_stream_Eof
      Src: /src/vlc/test/src/input/stream_fifo.c:87,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/test/src/input/stream_fifo.c:88,1
    - Dst: vlc_stream_fifo_New
      Src: /src/vlc/test/src/input/stream_fifo.c:90,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:91,1
    - Dst: vlc_stream_fifo_Write
      Src: /src/vlc/test/src/input/stream_fifo.c:92,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:93,1
    - Dst: vlc_stream_fifo_Write
      Src: /src/vlc/test/src/input/stream_fifo.c:94,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:95,1
    - Dst: vlc_stream_fifo_Write
      Src: /src/vlc/test/src/input/stream_fifo.c:96,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:97,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/test/src/input/stream_fifo.c:99,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:100,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:101,1
    - Dst: memcmp
      Src: /src/vlc/test/src/input/stream_fifo.c:101,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/test/src/input/stream_fifo.c:102,1
    - Dst: vlc_stream_fifo_Write
      Src: /src/vlc/test/src/input/stream_fifo.c:104,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:105,1
    - Dst: vlc_stream_fifo_Close
      Src: /src/vlc/test/src/input/stream_fifo.c:106,1
    - Dst: vlc_stream_fifo_New
      Src: /src/vlc/test/src/input/stream_fifo.c:108,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:109,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/test/src/input/stream_fifo.c:110,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:111,1
    - Dst: vlc_stream_fifo_Write
      Src: /src/vlc/test/src/input/stream_fifo.c:112,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:113,1
    - Dst: vlc_stream_fifo_Write
      Src: /src/vlc/test/src/input/stream_fifo.c:114,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:115,1
    - Dst: vlc_stream_fifo_Write
      Src: /src/vlc/test/src/input/stream_fifo.c:116,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:117,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/test/src/input/stream_fifo.c:119,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:120,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:121,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/test/src/input/stream_fifo.c:121,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:122,1
    - Dst: vlc_stream_Eof
      Src: /src/vlc/test/src/input/stream_fifo.c:122,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:123,1
    - Dst: memcmp
      Src: /src/vlc/test/src/input/stream_fifo.c:123,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/test/src/input/stream_fifo.c:125,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:126,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:127,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/test/src/input/stream_fifo.c:127,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:128,1
    - Dst: vlc_stream_Eof
      Src: /src/vlc/test/src/input/stream_fifo.c:128,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/test/src/input/stream_fifo.c:130,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:131,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:132,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/test/src/input/stream_fifo.c:132,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:133,1
    - Dst: vlc_stream_Eof
      Src: /src/vlc/test/src/input/stream_fifo.c:133,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:134,1
    - Dst: memcmp
      Src: /src/vlc/test/src/input/stream_fifo.c:134,1
    - Dst: vlc_stream_fifo_Close
      Src: /src/vlc/test/src/input/stream_fifo.c:136,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/test/src/input/stream_fifo.c:137,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:138,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:139,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/test/src/input/stream_fifo.c:139,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:140,1
    - Dst: vlc_stream_Eof
      Src: /src/vlc/test/src/input/stream_fifo.c:140,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:141,1
    - Dst: memcmp
      Src: /src/vlc/test/src/input/stream_fifo.c:141,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/test/src/input/stream_fifo.c:143,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:144,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:145,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/test/src/input/stream_fifo.c:145,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:146,1
    - Dst: vlc_stream_Eof
      Src: /src/vlc/test/src/input/stream_fifo.c:146,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:147,1
    - Dst: memcmp
      Src: /src/vlc/test/src/input/stream_fifo.c:147,1
    - Dst: vlc_stream_ReadBlock
      Src: /src/vlc/test/src/input/stream_fifo.c:149,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:150,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:151,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/test/src/input/stream_fifo.c:151,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:152,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:153,1
    - Dst: memcmp
      Src: /src/vlc/test/src/input/stream_fifo.c:153,1
    - Dst: block_Release
      Src: /src/vlc/test/src/input/stream_fifo.c:155,1
    - Dst: vlc_stream_ReadBlock
      Src: /src/vlc/test/src/input/stream_fifo.c:157,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:158,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:159,1
    - Dst: vlc_stream_Eof
      Src: /src/vlc/test/src/input/stream_fifo.c:159,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/test/src/input/stream_fifo.c:160,1
    - Dst: vlc_stream_fifo_New
      Src: /src/vlc/test/src/input/stream_fifo.c:162,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:163,1
    - Dst: vlc_stream_fifo_Write
      Src: /src/vlc/test/src/input/stream_fifo.c:164,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:165,1
    - Dst: vlc_stream_fifo_Write
      Src: /src/vlc/test/src/input/stream_fifo.c:166,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:167,1
    - Dst: vlc_stream_fifo_Write
      Src: /src/vlc/test/src/input/stream_fifo.c:168,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:169,1
    - Dst: vlc_stream_fifo_Write
      Src: /src/vlc/test/src/input/stream_fifo.c:170,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:171,1
    - Dst: vlc_stream_fifo_Write
      Src: /src/vlc/test/src/input/stream_fifo.c:172,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:173,1
    - Dst: vlc_stream_fifo_Close
      Src: /src/vlc/test/src/input/stream_fifo.c:174,1
    - Dst: vlc_stream_ReadBlock
      Src: /src/vlc/test/src/input/stream_fifo.c:176,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:177,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:178,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/test/src/input/stream_fifo.c:178,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:179,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:180,1
    - Dst: memcmp
      Src: /src/vlc/test/src/input/stream_fifo.c:180,1
    - Dst: block_Release
      Src: /src/vlc/test/src/input/stream_fifo.c:181,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/test/src/input/stream_fifo.c:183,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:184,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:185,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/test/src/input/stream_fifo.c:185,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:186,1
    - Dst: memcmp
      Src: /src/vlc/test/src/input/stream_fifo.c:186,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/test/src/input/stream_fifo.c:188,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:189,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:190,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/test/src/input/stream_fifo.c:190,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:191,1
    - Dst: memcmp
      Src: /src/vlc/test/src/input/stream_fifo.c:191,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/test/src/input/stream_fifo.c:193,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:194,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:195,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/test/src/input/stream_fifo.c:195,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:196,1
    - Dst: vlc_stream_Eof
      Src: /src/vlc/test/src/input/stream_fifo.c:196,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:197,1
    - Dst: memcmp
      Src: /src/vlc/test/src/input/stream_fifo.c:197,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/test/src/input/stream_fifo.c:200,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:201,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:202,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/test/src/input/stream_fifo.c:202,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:203,1
    - Dst: vlc_stream_Eof
      Src: /src/vlc/test/src/input/stream_fifo.c:203,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/test/src/input/stream_fifo.c:205,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:206,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:207,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/test/src/input/stream_fifo.c:207,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:208,1
    - Dst: vlc_stream_Eof
      Src: /src/vlc/test/src/input/stream_fifo.c:208,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/test/src/input/stream_fifo.c:210,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:211,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:212,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/test/src/input/stream_fifo.c:212,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:213,1
    - Dst: vlc_stream_Eof
      Src: /src/vlc/test/src/input/stream_fifo.c:213,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:214,1
    - Dst: memcmp
      Src: /src/vlc/test/src/input/stream_fifo.c:214,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/test/src/input/stream_fifo.c:216,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:217,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:218,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:219,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/test/src/input/stream_fifo.c:219,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:220,1
    - Dst: memcmp
      Src: /src/vlc/test/src/input/stream_fifo.c:220,1
    - Dst: block_Release
      Src: /src/vlc/test/src/input/stream_fifo.c:221,1
    - Dst: vlc_stream_ReadBlock
      Src: /src/vlc/test/src/input/stream_fifo.c:223,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:224,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:225,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:226,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/test/src/input/stream_fifo.c:226,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:227,1
    - Dst: memcmp
      Src: /src/vlc/test/src/input/stream_fifo.c:227,1
    - Dst: block_Release
      Src: /src/vlc/test/src/input/stream_fifo.c:228,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/test/src/input/stream_fifo.c:230,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:231,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:232,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/test/src/input/stream_fifo.c:232,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:233,1
    - Dst: vlc_stream_Eof
      Src: /src/vlc/test/src/input/stream_fifo.c:233,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:234,1
    - Dst: memcmp
      Src: /src/vlc/test/src/input/stream_fifo.c:234,1
    - Dst: vlc_stream_ReadBlock
      Src: /src/vlc/test/src/input/stream_fifo.c:236,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:237,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:238,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:239,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/test/src/input/stream_fifo.c:239,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream_fifo.c:240,1
    - Dst: memcmp
      Src: /src/vlc/test/src/input/stream_fifo.c:240,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/test/src/input/stream_fifo.c:241,1
    - Dst: block_Release
      Src: /src/vlc/test/src/input/stream_fifo.c:242,1
    - Dst: libvlc_release
      Src: /src/vlc/test/src/input/stream_fifo.c:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 165
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (val == 8)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (memcmp(peek, "1st block\n2nd b", 15) == 0)
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (vlc_stream_Tell(reader) == 0)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (vlc_stream_Eof(reader))
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (val == 2)
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (vlc_stream_Tell(reader) == 40)
      pos:
        line_end: 238
        line_start: 238
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (block == NULL)
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (vlc_stream_Tell(reader) == 22)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (memcmp(buf, "4th b", 5) == 0)
      pos:
        line_end: 233
        line_start: 233
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (!vlc_stream_Eof(reader))
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (!vlc_stream_Eof(reader))
      pos:
        line_end: 232
        line_start: 232
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (block->i_buffer == 5)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (writer != NULL)
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (val == 3)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (vlc_stream_Tell(reader) == 0)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (writer != NULL)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (block->i_buffer == 3)
      pos:
        line_end: 217
        line_start: 217
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (!vlc_stream_Eof(reader))
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (memcmp(block->p_buffer, "blo", 3) == 0)
      pos:
        line_end: 219
        line_start: 219
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (memcmp(buf, "Hello world!\n", 13) == 0)
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (vlc_stream_Tell(reader) == 0)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (vlc_stream_Tell(reader) == 0)
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (val == 30)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (val == 10)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (vlc_stream_Tell(reader) == 30)
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (!vlc_stream_Eof(reader))
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (val == 10)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (memcmp(peek, "1st block\n2nd block\n3rd b", 25) == 0)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (val == 10)
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (val == VLC_SUCCESS && !b)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (val == 0)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (val == 7)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (val == VLC_SUCCESS)
      pos:
        line_end: 205
        line_start: 205
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (val == 2)
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (memcmp(peek, "1st block\n2nd block\n3rd block\n", 30) == 0)
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (block->i_buffer == 3)
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (memcmp(block->p_buffer, "ck\n", 3) == 0)
      pos:
        line_end: 226
        line_start: 226
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (vlc_stream_Tell(reader) == 24)
      pos:
        line_end: 206
        line_start: 206
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (memcmp(peek, "bl", 2) == 0)
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (!vlc_stream_Eof(reader))
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (memcmp(buf, "123", 3) == 0)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (val == 10)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (val == 0)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (vlc != NULL)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (!vlc_stream_Eof(reader))
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (vlc_stream_Eof(reader))
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (writer != NULL)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (val == 15)
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (memcmp(peek, "d ", 2) == 0)
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (val == 10)
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (!vlc_stream_Eof(reader))
      pos:
        line_end: 195
        line_start: 195
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (block->i_buffer <= 30)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (block != NULL)
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (block->i_buffer == 10)
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (block != NULL)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: "(memcmp(block->p_buffer, \"1st block\\n2nd block\\n3rd block\\n\",\n
        \                 block->i_buffer) == 0)"
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (vlc_stream_Tell(reader) == 3)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (block != NULL)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (writer != NULL)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (val < 0)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (vlc_stream_Tell(reader) == 0)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (vlc_stream_Tell(reader) == 10)
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (memcmp(block->p_buffer, "1st block\n", 10) == 0)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (vlc_stream_Tell(reader) == 22)
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (!vlc_stream_Eof(reader))
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (block != NULL)
      pos:
        line_end: 223
        line_start: 223
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (vlc_stream_Tell(reader) == 35)
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (val == 10)
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (val == 10)
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (memcmp(buf, "lock\n3r", 7) == 0)
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (vlc_stream_Tell(reader) == 27)
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (vlc_stream_Tell(reader) == 0)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (val == 0)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (!vlc_stream_Eof(reader))
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (vlc_stream_Tell(reader) == 0)
      pos:
        line_end: 144
        line_start: 144
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (vlc_stream_Tell(reader) == block->i_buffer)
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (memcmp(buf, "2nd b", 5) == 0)
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (block != NULL)
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (val == 5)
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (val == VLC_SUCCESS)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (val == 5)
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (val == VLC_SUCCESS)
      pos:
        line_end: 200
        line_start: 200
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (memcmp(block->p_buffer, "lock\n", 5) == 0)
      pos:
        line_end: 239
        line_start: 239
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (!vlc_stream_Eof(reader))
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (val == 6)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (val == -1 && errno == EPIPE)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (vlc_stream_Tell(reader) == 15)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (val == 0)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (writer != NULL)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (val == 10)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (memcmp(peek, "1st b", 5) == 0)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (val == 13)
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (!vlc_stream_Eof(reader))
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (!vlc_stream_Eof(reader))
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (val == 25)
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (val == 5)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (vlc_stream_Tell(reader) == 24)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (vlc_stream_Tell(reader) == 23)
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (vlc_stream_Tell(reader) == 3)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/vlc/test/src/input/stream_fifo.c
    - condition: (val == 7)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/vlc/test/src/input/stream_fifo.c
    constantsTouched: []
    func_position:
      end: 247
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 247
    functionName: main
    functionSourceFile: /src/vlc/test/src/input/stream_fifo.c
    functionUses: 0
    functionsReached:
    - vlc_stream_fifo_Write
    - assert
    - vlc_stream_Eof
    - libvlc_new
    - vlc_stream_Block
    - vlc_stream_fifo_Close
    - memcmp
    - vlc_stream_Control
    - test_init
    - vlc_stream_Read
    - vlc_stream_GetSize
    - libvlc_release
    - vlc_stream_fifo_New
    - vlc_stream_ReadBlock
    - vlc_stream_Seek
    - vlc_stream_Tell
    - block_Release
    - vlc_stream_Peek
    - vlc_stream_Delete
    - VLC_OBJECT
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/test/src/input/demux-run.c:81,1
    - Dst: unlikely
      Src: /src/vlc/test/src/input/demux-run.c:82,1
    - Dst: es_format_Copy
      Src: /src/vlc/test/src/input/demux-run.c:88,1
    - Dst: test_decoder_create
      Src: /src/vlc/test/src/input/demux-run.c:89,1
    - Dst: es_format_Clean
      Src: /src/vlc/test/src/input/demux-run.c:91,1
    - Dst: debug
      Src: /src/vlc/test/src/input/demux-run.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - out
    - in
    - fmt
    argTypes:
    - es_out_t*
    - input_source_t*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 96
    functionName: EsOutAdd
    functionSourceFile: /src/vlc/test/src/input/demux-run.c
    functionUses: 0
    functionsReached:
    - es_format_Clean
    - debug
    - test_decoder_create
    - es_format_Copy
    - unlikely
    - malloc
    linkageType: ''
    returnType: es_out_id_t
    signature: es_out_id_t *EsOutAdd(es_out_t *out, input_source_t* in, const es_format_t
      *fmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/vlc/test/src/input/demux-run.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - id
    argTypes:
    - struct test_es_out_t*
    - es_out_id_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: EsOutCheckId
    functionSourceFile: /src/vlc/test/src/input/demux-run.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: void EsOutCheckId(struct test_es_out_t *ctx, es_out_id_t *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EsOutCheckId
      Src: /src/vlc/test/src/input/demux-run.c:112,1
    - Dst: test_decoder_process
      Src: /src/vlc/test/src/input/demux-run.c:115,1
    - Dst: block_Release
      Src: /src/vlc/test/src/input/demux-run.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - out
    - id
    - block
    argTypes:
    - es_out_t*
    - es_out_id_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 120
    functionName: EsOutSend
    functionSourceFile: /src/vlc/test/src/input/demux-run.c
    functionUses: 0
    functionsReached:
    - block_Release
    - EsOutCheckId
    - test_decoder_process
    linkageType: ''
    returnType: int
    signature: int EsOutSend(es_out_t *out, es_out_id_t *id, block_t *block)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_decoder_process
      Src: /src/vlc/test/src/input/demux-run.c:128,1
    - Dst: test_decoder_destroy
      Src: /src/vlc/test/src/input/demux-run.c:129,1
    - Dst: es_format_Clean
      Src: /src/vlc/test/src/input/demux-run.c:130,1
    - Dst: free
      Src: /src/vlc/test/src/input/demux-run.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - es_out_id_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 134
    functionName: IdDelete
    functionSourceFile: /src/vlc/test/src/input/demux-run.c
    functionUses: 0
    functionsReached:
    - free
    - test_decoder_process
    - es_format_Clean
    - test_decoder_destroy
    linkageType: ''
    returnType: void
    signature: void IdDelete(es_out_id_t *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/vlc/test/src/input/demux-run.c:144,1
    - Dst: debug
      Src: /src/vlc/test/src/input/demux-run.c:148,1
    - Dst: IdDelete
      Src: /src/vlc/test/src/input/demux-run.c:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - out
    - id
    argTypes:
    - es_out_t*
    - es_out_id_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 151
    functionName: EsOutDelete
    functionSourceFile: /src/vlc/test/src/input/demux-run.c
    functionUses: 0
    functionsReached:
    - IdDelete
    - debug
    - abort
    linkageType: ''
    returnType: void
    signature: void EsOutDelete(es_out_t *out, es_out_id_t *id)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/test/src/input/demux-run.c:165,1
    - Dst: EsOutCheckId
      Src: /src/vlc/test/src/input/demux-run.c:166,1
    - Dst: test_decoder_destroy
      Src: /src/vlc/test/src/input/demux-run.c:167,1
    - Dst: test_decoder_create
      Src: /src/vlc/test/src/input/demux-run.c:168,1
    - Dst: EsOutCheckId
      Src: /src/vlc/test/src/input/demux-run.c:176,1
    - Dst: va_arg
      Src: /src/vlc/test/src/input/demux-run.c:176,1
    - Dst: va_arg
      Src: /src/vlc/test/src/input/demux-run.c:177,1
    - Dst: va_arg
      Src: /src/vlc/test/src/input/demux-run.c:194,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 4
    argNames:
    - out
    - in
    - query
    - args
    argTypes:
    - es_out_t*
    - input_source_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 202
    functionName: EsOutControl
    functionSourceFile: /src/vlc/test/src/input/demux-run.c
    functionUses: 0
    functionsReached:
    - va_arg
    - EsOutCheckId
    - test_decoder_create
    - test_decoder_destroy
    linkageType: ''
    returnType: int
    signature: int EsOutControl(es_out_t *out, input_source_t* in, int query, va_list
      args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IdDelete
      Src: /src/vlc/test/src/input/demux-run.c:212,1
    - Dst: free
      Src: /src/vlc/test/src/input/demux-run.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - out
    argTypes:
    - es_out_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 215
    functionName: EsOutDestroy
    functionSourceFile: /src/vlc/test/src/input/demux-run.c
    functionUses: 0
    functionsReached:
    - IdDelete
    - free
    linkageType: ''
    returnType: void
    signature: void EsOutDestroy(es_out_t *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_InitInputConfig
      Src: /src/vlc/test/src/input/demux-run.c:228,1
    - Dst: malloc
      Src: /src/vlc/test/src/input/demux-run.c:230,1
    - Dst: fprintf
      Src: /src/vlc/test/src/input/demux-run.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - parent
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 247
    functionName: test_es_out_create
    functionSourceFile: /src/vlc/test/src/input/demux-run.c
    functionUses: 0
    functionsReached:
    - fprintf
    - vlc_object_InitInputConfig
    - malloc
    linkageType: ''
    returnType: es_out_t
    signature: es_out_t *test_es_out_create(vlc_object_t *parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: demux_Control
      Src: /src/vlc/test/src/input/demux-run.c:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - demux
    - flags
    argTypes:
    - demux_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 255
    functionName: demux_test_and_clear_flags
    functionSourceFile: /src/vlc/test/src/input/demux-run.c
    functionUses: 0
    functionsReached:
    - demux_Control
    linkageType: ''
    returnType: unsigned
    signature: unsigned demux_test_and_clear_flags(demux_t *demux, unsigned flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: demux_Control
      Src: /src/vlc/test/src/input/demux-run.c:264,1
    - Dst: vlc_input_title_Delete
      Src: /src/vlc/test/src/input/demux-run.c:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 270
    functionName: demux_get_title_list
    functionSourceFile: /src/vlc/test/src/input/demux-run.c
    functionUses: 0
    functionsReached:
    - demux_Control
    - vlc_input_title_Delete
    linkageType: ''
    returnType: void
    signature: void demux_get_title_list(demux_t *demux)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_meta_New
      Src: /src/vlc/test/src/input/demux-run.c:274,1
    - Dst: unlikely
      Src: /src/vlc/test/src/input/demux-run.c:275,1
    - Dst: demux_Control
      Src: /src/vlc/test/src/input/demux-run.c:281,1
    - Dst: demux_Control
      Src: /src/vlc/test/src/input/demux-run.c:282,1
    - Dst: vlc_meta_Delete
      Src: /src/vlc/test/src/input/demux-run.c:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 285
    functionName: demux_get_meta
    functionSourceFile: /src/vlc/test/src/input/demux-run.c
    functionUses: 0
    functionsReached:
    - demux_Control
    - vlc_meta_Delete
    - vlc_meta_New
    - unlikely
    linkageType: ''
    returnType: void
    signature: void demux_get_meta(demux_t *demux)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: test_es_out_create
      Src: /src/vlc/test/src/input/demux-run.c:296,1
    - Dst: vlc_object_parent
      Src: /src/vlc/test/src/input/demux-run.c:296,1
    - Dst: demux_New
      Src: /src/vlc/test/src/input/demux-run.c:300,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/test/src/input/demux-run.c:300,1
    - Dst: es_out_Delete
      Src: /src/vlc/test/src/input/demux-run.c:303,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/test/src/input/demux-run.c:304,1
    - Dst: fprintf
      Src: /src/vlc/test/src/input/demux-run.c:305,1
    - Dst: demux_Demux
      Src: /src/vlc/test/src/input/demux-run.c:312,1
    - Dst: demux_test_and_clear_flags
      Src: /src/vlc/test/src/input/demux-run.c:316,1
    - Dst: demux_get_title_list
      Src: /src/vlc/test/src/input/demux-run.c:317,1
    - Dst: demux_test_and_clear_flags
      Src: /src/vlc/test/src/input/demux-run.c:319,1
    - Dst: demux_get_meta
      Src: /src/vlc/test/src/input/demux-run.c:320,1
    - Dst: demux_Control
      Src: /src/vlc/test/src/input/demux-run.c:328,1
    - Dst: demux_Control
      Src: /src/vlc/test/src/input/demux-run.c:329,1
    - Dst: demux_Control
      Src: /src/vlc/test/src/input/demux-run.c:330,1
    - Dst: demux_Control
      Src: /src/vlc/test/src/input/demux-run.c:331,1
    - Dst: demux_Delete
      Src: /src/vlc/test/src/input/demux-run.c:336,1
    - Dst: es_out_Delete
      Src: /src/vlc/test/src/input/demux-run.c:337,1
    - Dst: debug
      Src: /src/vlc/test/src/input/demux-run.c:339,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - args
    - s
    argTypes:
    - struct vlc_run_args*
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 342
    functionName: demux_process_stream
    functionSourceFile: /src/vlc/test/src/input/demux-run.c
    functionUses: 0
    functionsReached:
    - test_es_out_create
    - demux_Demux
    - vlc_object_parent
    - demux_Control
    - fprintf
    - debug
    - demux_New
    - vlc_stream_Delete
    - demux_Delete
    - VLC_OBJECT
    - es_out_Delete
    - demux_get_meta
    - demux_get_title_list
    - demux_test_and_clear_flags
    linkageType: ''
    returnType: int
    signature: int demux_process_stream(const struct vlc_run_args *args, stream_t
      *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_create
      Src: /src/vlc/test/src/input/demux-run.c:346,1
    - Dst: vlc_access_NewMRL
      Src: /src/vlc/test/src/input/demux-run.c:350,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/test/src/input/demux-run.c:350,1
    - Dst: fprintf
      Src: /src/vlc/test/src/input/demux-run.c:352,1
    - Dst: demux_process_stream
      Src: /src/vlc/test/src/input/demux-run.c:354,1
    - Dst: libvlc_release
      Src: /src/vlc/test/src/input/demux-run.c:355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - args
    - url
    argTypes:
    - struct vlc_run_args*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 344
    functionDepth: 3
    functionLinenumber: 344
    functionLinenumberEnd: 357
    functionName: vlc_demux_process_url
    functionSourceFile: /src/vlc/test/src/input/demux-run.c
    functionUses: 0
    functionsReached:
    - libvlc_create
    - vlc_access_NewMRL
    - libvlc_release
    - fprintf
    - demux_process_stream
    - VLC_OBJECT
    linkageType: ''
    returnType: int
    signature: int vlc_demux_process_url(const struct vlc_run_args *args, const char
      *url)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_path2uri
      Src: /src/vlc/test/src/input/demux-run.c:361,1
    - Dst: fprintf
      Src: /src/vlc/test/src/input/demux-run.c:364,1
    - Dst: vlc_demux_process_url
      Src: /src/vlc/test/src/input/demux-run.c:368,1
    - Dst: free
      Src: /src/vlc/test/src/input/demux-run.c:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - args
    - path
    argTypes:
    - struct vlc_run_args*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 359
    functionDepth: 4
    functionLinenumber: 359
    functionLinenumberEnd: 371
    functionName: vlc_demux_process_path
    functionSourceFile: /src/vlc/test/src/input/demux-run.c
    functionUses: 1
    functionsReached:
    - vlc_demux_process_url
    - fprintf
    - free
    - vlc_path2uri
    linkageType: ''
    returnType: int
    signature: int vlc_demux_process_path(const struct vlc_run_args *args, const char
      *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_MemoryNew
      Src: /src/vlc/test/src/input/demux-run.c:377,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/test/src/input/demux-run.c:377,1
    - Dst: fprintf
      Src: /src/vlc/test/src/input/demux-run.c:380,1
    - Dst: demux_process_stream
      Src: /src/vlc/test/src/input/demux-run.c:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - vlc
    - args
    - buf
    - length
    argTypes:
    - libvlc_instance_t*
    - struct vlc_run_args*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 373
    functionDepth: 3
    functionLinenumber: 373
    functionLinenumberEnd: 383
    functionName: libvlc_demux_process_memory
    functionSourceFile: /src/vlc/test/src/input/demux-run.c
    functionUses: 1
    functionsReached:
    - fprintf
    - vlc_stream_MemoryNew
    - demux_process_stream
    - VLC_OBJECT
    linkageType: ''
    returnType: int
    signature: "int libvlc_demux_process_memory(libvlc_instance_t *vlc,\n                                const
      struct vlc_run_args *args,\n                                const unsigned char
      *buf, size_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_create
      Src: /src/vlc/test/src/input/demux-run.c:388,1
    - Dst: libvlc_demux_process_memory
      Src: /src/vlc/test/src/input/demux-run.c:392,1
    - Dst: libvlc_release
      Src: /src/vlc/test/src/input/demux-run.c:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - args
    - buf
    - length
    argTypes:
    - struct vlc_run_args*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 385
    functionDepth: 4
    functionLinenumber: 385
    functionLinenumberEnd: 395
    functionName: vlc_demux_process_memory
    functionSourceFile: /src/vlc/test/src/input/demux-run.c
    functionUses: 2
    functionsReached:
    - libvlc_create
    - libvlc_release
    - libvlc_demux_process_memory
    linkageType: ''
    returnType: int
    signature: "int vlc_demux_process_memory(const struct vlc_run_args *args,\n                             const
      unsigned char *buf, size_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 421
    functionName: DECODER_PLUGINS
    functionSourceFile: /src/vlc/test/src/input/demux-run.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECODER_PLUGINS(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 471
    functionName: PLUGINS
    functionSourceFile: /src/vlc/test/src/input/demux-run.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLUGINS(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 474
    functionName: PLUGIN_TS
    functionSourceFile: /src/vlc/test/src/input/demux-run.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLUGIN_TS(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 480
    functionName: PLUGIN_MKV
    functionSourceFile: /src/vlc/test/src/input/demux-run.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLUGIN_MKV(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 485
    functionName: DECL_PLUGIN
    functionSourceFile: /src/vlc/test/src/input/demux-run.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECL_PLUGIN(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 487
    functionName: FUNC_PLUGIN
    functionSourceFile: /src/vlc/test/src/input/demux-run.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUNC_PLUGIN(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/vlc/test/src/input/common.c:31,1
    - Dst: atoi
      Src: /src/vlc/test/src/input/common.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: getenv_atoi
    functionSourceFile: /src/vlc/test/src/input/common.c
    functionUses: 0
    functionsReached:
    - atoi
    - getenv
    linkageType: ''
    returnType: int
    signature: int getenv_atoi(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/test/src/input/common.c:37,1
    - Dst: getenv_atoi
      Src: /src/vlc/test/src/input/common.c:38,1
    - Dst: getenv
      Src: /src/vlc/test/src/input/common.c:42,1
    - Dst: getenv_atoi
      Src: /src/vlc/test/src/input/common.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - args
    argTypes:
    - struct vlc_run_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: vlc_run_args_init
    functionSourceFile: /src/vlc/test/src/input/common.c
    functionUses: 2
    functionsReached:
    - getenv_atoi
    - getenv
    - memset
    linkageType: ''
    returnType: void
    signature: void vlc_run_args_init(struct vlc_run_args *args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setenv
      Src: /src/vlc/test/src/input/common.c:50,1
    - Dst: setenv
      Src: /src/vlc/test/src/input/common.c:52,1
    - Dst: sprintf
      Src: /src/vlc/test/src/input/common.c:64,1
    - Dst: libvlc_new
      Src: /src/vlc/test/src/input/common.c:70,1
    - Dst: fprintf
      Src: /src/vlc/test/src/input/common.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - args
    argTypes:
    - struct vlc_run_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 75
    functionName: libvlc_create
    functionSourceFile: /src/vlc/test/src/input/common.c
    functionUses: 3
    functionsReached:
    - setenv
    - fprintf
    - libvlc_new
    - sprintf
    linkageType: ''
    returnType: libvlc_instance_t
    signature: libvlc_instance_t *libvlc_create(const struct vlc_run_args *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/test/src/input/decoder.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: dec_get_owner
    functionSourceFile: /src/vlc/test/src/input/decoder.c
    functionUses: 0
    functionsReached:
    - container_of
    linkageType: ''
    returnType: struct decoder_owner
    signature: struct decoder_owner *dec_get_owner(decoder_t *dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: subpicture_New
      Src: /src/vlc/test/src/input/decoder.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dec
    - p_subpic
    argTypes:
    - decoder_t*
    - subpicture_updater_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: spu_new_buffer_decoder
    functionSourceFile: /src/vlc/test/src/input/decoder.c
    functionUses: 0
    functionsReached:
    - subpicture_New
    linkageType: ''
    returnType: subpicture_t
    signature: "subpicture_t *spu_new_buffer_decoder(decoder_t *dec,\n                                            const
      subpicture_updater_t * p_subpic)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: get_no_device
    functionSourceFile: /src/vlc/test/src/input/decoder.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_decoder_device
    signature: vlc_decoder_device * get_no_device( decoder_t *dec )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: picture_Release
      Src: /src/vlc/test/src/input/decoder.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dec
    - pic
    argTypes:
    - decoder_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: queue_video
    functionSourceFile: /src/vlc/test/src/input/decoder.c
    functionUses: 0
    functionsReached:
    - picture_Release
    linkageType: ''
    returnType: void
    signature: void queue_video(decoder_t *dec, picture_t *pic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/test/src/input/decoder.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: queue_audio
    functionSourceFile: /src/vlc/test/src/input/decoder.c
    functionUses: 0
    functionsReached:
    - block_Release
    linkageType: ''
    returnType: void
    signature: void queue_audio(decoder_t *dec, block_t *p_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/test/src/input/decoder.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - dec
    - p_block
    - desc
    argTypes:
    - decoder_t*
    - block_t*
    - decoder_cc_desc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: queue_cc
    functionSourceFile: /src/vlc/test/src/input/decoder.c
    functionUses: 0
    functionsReached:
    - block_Release
    linkageType: ''
    returnType: void
    signature: void queue_cc(decoder_t *dec, block_t *p_block, const decoder_cc_desc_t
      *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: subpicture_Delete
      Src: /src/vlc/test/src/input/decoder.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dec
    - p_subpic
    argTypes:
    - decoder_t*
    - subpicture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: queue_sub
    functionSourceFile: /src/vlc/test/src/input/decoder.c
    functionUses: 0
    functionsReached:
    - subpicture_Delete
    linkageType: ''
    returnType: void
    signature: void queue_sub(decoder_t *dec, subpicture_t *p_subpic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_create
      Src: /src/vlc/test/src/input/decoder.c:92,1
    - Dst: unlikely
      Src: /src/vlc/test/src/input/decoder.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - parent
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: decoder_create
    functionSourceFile: /src/vlc/test/src/input/decoder.c
    functionUses: 2
    functionsReached:
    - unlikely
    - vlc_object_create
    linkageType: ''
    returnType: decoder_t
    signature: decoder_t *decoder_create(vlc_object_t *parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dec_get_owner
      Src: /src/vlc/test/src/input/decoder.c:101,1
    - Dst: decoder_Init
      Src: /src/vlc/test/src/input/decoder.c:103,1
    - Dst: decoder_LoadModule
      Src: /src/vlc/test/src/input/decoder.c:107,1
    - Dst: decoder_Clean
      Src: /src/vlc/test/src/input/decoder.c:110,1
    - Dst: es_format_Clean
      Src: /src/vlc/test/src/input/decoder.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - decoder
    - is_packetizer
    - fmt
    argTypes:
    - decoder_t*
    - bool
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 115
    functionName: decoder_load
    functionSourceFile: /src/vlc/test/src/input/decoder.c
    functionUses: 0
    functionsReached:
    - decoder_Init
    - es_format_Clean
    - dec_get_owner
    - decoder_Clean
    - decoder_LoadModule
    linkageType: ''
    returnType: int
    signature: "int decoder_load(decoder_t *decoder, bool is_packetizer,\n                         const
      es_format_t *restrict fmt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dec_get_owner
      Src: /src/vlc/test/src/input/decoder.c:119,1
    - Dst: decoder_Clean
      Src: /src/vlc/test/src/input/decoder.c:120,1
    - Dst: es_format_Clean
      Src: /src/vlc/test/src/input/decoder.c:121,1
    - Dst: vlc_object_delete
      Src: /src/vlc/test/src/input/decoder.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: decoder_destroy_clean
    functionSourceFile: /src/vlc/test/src/input/decoder.c
    functionUses: 0
    functionsReached:
    - decoder_Clean
    - vlc_object_delete
    - es_format_Clean
    - dec_get_owner
    linkageType: ''
    returnType: void
    signature: void decoder_destroy_clean(decoder_t *decoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dec_get_owner
      Src: /src/vlc/test/src/input/decoder.c:127,1
    - Dst: decoder_destroy_clean
      Src: /src/vlc/test/src/input/decoder.c:128,1
    - Dst: decoder_destroy_clean
      Src: /src/vlc/test/src/input/decoder.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: test_decoder_destroy
    functionSourceFile: /src/vlc/test/src/input/decoder.c
    functionUses: 2
    functionsReached:
    - decoder_destroy_clean
    - dec_get_owner
    linkageType: ''
    returnType: void
    signature: void test_decoder_destroy(decoder_t *decoder)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/input/decoder.c:134,1
    - Dst: decoder_create
      Src: /src/vlc/test/src/input/decoder.c:135,1
    - Dst: decoder_create
      Src: /src/vlc/test/src/input/decoder.c:136,1
    - Dst: decoder_destroy_clean
      Src: /src/vlc/test/src/input/decoder.c:141,1
    - Dst: dec_get_owner
      Src: /src/vlc/test/src/input/decoder.c:145,1
    - Dst: decoder_destroy_clean
      Src: /src/vlc/test/src/input/decoder.c:182,1
    - Dst: decoder_destroy_clean
      Src: /src/vlc/test/src/input/decoder.c:183,1
    - Dst: decoder_load
      Src: /src/vlc/test/src/input/decoder.c:187,1
    - Dst: decoder_destroy_clean
      Src: /src/vlc/test/src/input/decoder.c:189,1
    - Dst: decoder_destroy_clean
      Src: /src/vlc/test/src/input/decoder.c:190,1
    - Dst: decoder_load
      Src: /src/vlc/test/src/input/decoder.c:194,1
    - Dst: decoder_destroy_clean
      Src: /src/vlc/test/src/input/decoder.c:196,1
    - Dst: decoder_destroy_clean
      Src: /src/vlc/test/src/input/decoder.c:197,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - parent
    - fmt
    argTypes:
    - vlc_object_t*
    - es_format_t*
    assertStmts:
    - condition: (parent && fmt)
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/vlc/test/src/input/decoder.c
    constantsTouched: []
    func_position:
      end: 202
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 202
    functionName: test_decoder_create
    functionSourceFile: /src/vlc/test/src/input/decoder.c
    functionUses: 2
    functionsReached:
    - assert
    - dec_get_owner
    - decoder_create
    - decoder_destroy_clean
    - decoder_load
    linkageType: ''
    returnType: decoder_t
    signature: decoder_t *test_decoder_create(vlc_object_t *parent, const es_format_t
      *fmt)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dec_get_owner
      Src: /src/vlc/test/src/input/decoder.c:206,1
    - Dst: block_Release
      Src: /src/vlc/test/src/input/decoder.c:213,1
    - Dst: decoder_t*::pf_packetize
      Src: /src/vlc/test/src/input/decoder.c:220,1
    - Dst: es_format_IsSimilar
      Src: /src/vlc/test/src/input/decoder.c:223,1
    - Dst: debug
      Src: /src/vlc/test/src/input/decoder.c:225,1
    - Dst: decoder_t*::pf_decode
      Src: /src/vlc/test/src/input/decoder.c:228,1
    - Dst: decoder_Clean
      Src: /src/vlc/test/src/input/decoder.c:231,1
    - Dst: es_format_Clean
      Src: /src/vlc/test/src/input/decoder.c:232,1
    - Dst: decoder_load
      Src: /src/vlc/test/src/input/decoder.c:233,1
    - Dst: block_Release
      Src: /src/vlc/test/src/input/decoder.c:236,1
    - Dst: block_ChainRelease
      Src: /src/vlc/test/src/input/decoder.c:237,1
    - Dst: decoder_t*::pf_get_cc
      Src: /src/vlc/test/src/input/decoder.c:245,1
    - Dst: block_Release
      Src: /src/vlc/test/src/input/decoder.c:247,1
    - Dst: decoder_t*::pf_decode
      Src: /src/vlc/test/src/input/decoder.c:256,1
    - Dst: block_Release
      Src: /src/vlc/test/src/input/decoder.c:261,1
    - Dst: block_ChainRelease
      Src: /src/vlc/test/src/input/decoder.c:262,1
    - Dst: decoder_t*::pf_decode
      Src: /src/vlc/test/src/input/decoder.c:270,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - decoder
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 272
    functionName: test_decoder_process
    functionSourceFile: /src/vlc/test/src/input/decoder.c
    functionUses: 2
    functionsReached:
    - decoder_t*::pf_packetize
    - block_Release
    - es_format_Clean
    - dec_get_owner
    - block_ChainRelease
    - debug
    - es_format_IsSimilar
    - decoder_t*::pf_decode
    - decoder_Clean
    - decoder_t*::pf_get_cc
    - decoder_load
    linkageType: ''
    returnType: int
    signature: int test_decoder_process(decoder_t *decoder, block_t *p_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: debug
    functionSourceFile: /src/vlc/test/src/input/common.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: debug(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: debug
    functionSourceFile: /src/vlc/test/src/input/common.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: debug(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/vlc/test/src/input/stream.c:66,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream.c:68,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream.c:69,1
    - Dst: fstat
      Src: /src/vlc/test/src/input/stream.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_reader
    argTypes:
    - struct reader*
    assertStmts:
    - condition: ( i_fd >= 0 )
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/vlc/test/src/input/stream.c
    - condition: ( fstat( i_fd, &st ) != -1 )
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/vlc/test/src/input/stream.c
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: libc_getsize
    functionSourceFile: /src/vlc/test/src/input/stream.c
    functionUses: 0
    functionsReached:
    - fileno
    - assert
    - fstat
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t libc_getsize( struct reader *p_reader )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/vlc/test/src/input/stream.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_reader
    - p_buf
    - i_len
    argTypes:
    - struct reader*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: libc_read
    functionSourceFile: /src/vlc/test/src/input/stream.c
    functionUses: 0
    functionsReached:
    - fread
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t libc_read( struct reader *p_reader, void *p_buf, size_t i_len
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/test/src/input/stream.c:86,1
    - Dst: malloc
      Src: /src/vlc/test/src/input/stream.c:87,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream.c:88,1
    - Dst: ftell
      Src: /src/vlc/test/src/input/stream.c:90,1
    - Dst: fread
      Src: /src/vlc/test/src/input/stream.c:92,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream.c:95,1
    - Dst: fseek
      Src: /src/vlc/test/src/input/stream.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - p_reader
    - pp_buf
    - i_len
    argTypes:
    - struct reader*
    - uint8_t**
    - size_t
    assertStmts:
    - condition: ( p_reader->p_data )
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/vlc/test/src/input/stream.c
    - condition: ( fseek( p_reader->u.f, i_last_pos, SEEK_SET ) == 0 )
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/vlc/test/src/input/stream.c
    constantsTouched: []
    func_position:
      end: 97
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 97
    functionName: libc_peek
    functionSourceFile: /src/vlc/test/src/input/stream.c
    functionUses: 0
    functionsReached:
    - ftell
    - assert
    - fread
    - fseek
    - free
    - malloc
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t libc_peek( struct reader *p_reader, const uint8_t **pp_buf,
      size_t i_len )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftell
      Src: /src/vlc/test/src/input/stream.c:102,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_reader
    argTypes:
    - struct reader*
    assertStmts:
    - condition: ( i_ret >= 0 )
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/vlc/test/src/input/stream.c
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: libc_tell
    functionSourceFile: /src/vlc/test/src/input/stream.c
    functionUses: 0
    functionsReached:
    - ftell
    - assert
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t libc_tell( struct reader *p_reader )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fseek
      Src: /src/vlc/test/src/input/stream.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_reader
    - i_offset
    argTypes:
    - struct reader*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: libc_seek
    functionSourceFile: /src/vlc/test/src/input/stream.c
    functionUses: 0
    functionsReached:
    - fseek
    linkageType: ''
    returnType: int
    signature: int libc_seek( struct reader *p_reader, uint64_t i_offset )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/vlc/test/src/input/stream.c:116,1
    - Dst: free
      Src: /src/vlc/test/src/input/stream.c:117,1
    - Dst: free
      Src: /src/vlc/test/src/input/stream.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_reader
    argTypes:
    - struct reader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: libc_close
    functionSourceFile: /src/vlc/test/src/input/stream.c
    functionUses: 0
    functionsReached:
    - free
    - fclose
    linkageType: ''
    returnType: void
    signature: void libc_close( struct reader *p_reader )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/test/src/input/stream.c:124,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream.c:125,1
    - Dst: fopen
      Src: /src/vlc/test/src/input/stream.c:127,1
    - Dst: free
      Src: /src/vlc/test/src/input/stream.c:130,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - psz_file
    argTypes:
    - char*
    assertStmts:
    - condition: ( p_reader->psz_name )
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/vlc/test/src/input/stream.c
    - condition: ( p_reader )
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/vlc/test/src/input/stream.c
    constantsTouched: []
    func_position:
      end: 142
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 142
    functionName: libc_open
    functionSourceFile: /src/vlc/test/src/input/stream.c
    functionUses: 0
    functionsReached:
    - calloc
    - assert
    - fopen
    - free
    linkageType: ''
    returnType: struct reader
    signature: 'struct reader *

      libc_open( const char *psz_file )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/input/stream.c:150,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/test/src/input/stream.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_reader
    argTypes:
    - struct reader*
    assertStmts:
    - condition: ( vlc_stream_GetSize( p_reader->u.s, &i_size ) == 0 )
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/vlc/test/src/input/stream.c
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: stream_getsize
    functionSourceFile: /src/vlc/test/src/input/stream.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_stream_GetSize
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t stream_getsize( struct reader *p_reader )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Read
      Src: /src/vlc/test/src/input/stream.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_reader
    - p_buf
    - i_len
    argTypes:
    - struct reader*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: stream_read
    functionSourceFile: /src/vlc/test/src/input/stream.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Read
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t stream_read( struct reader *p_reader, void *p_buf, size_t i_len
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/test/src/input/stream.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_reader
    - pp_buf
    - i_len
    argTypes:
    - struct reader*
    - uint8_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: stream_peek
    functionSourceFile: /src/vlc/test/src/input/stream.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t stream_peek( struct reader *p_reader, const uint8_t **pp_buf,
      size_t i_len )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Tell
      Src: /src/vlc/test/src/input/stream.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_reader
    argTypes:
    - struct reader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: stream_tell
    functionSourceFile: /src/vlc/test/src/input/stream.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Tell
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t stream_tell( struct reader *p_reader )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Seek
      Src: /src/vlc/test/src/input/stream.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_reader
    - i_offset
    argTypes:
    - struct reader*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: stream_seek
    functionSourceFile: /src/vlc/test/src/input/stream.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Seek
    linkageType: ''
    returnType: int
    signature: int stream_seek( struct reader *p_reader, uint64_t i_offset )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Delete
      Src: /src/vlc/test/src/input/stream.c:181,1
    - Dst: libvlc_release
      Src: /src/vlc/test/src/input/stream.c:182,1
    - Dst: free
      Src: /src/vlc/test/src/input/stream.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_reader
    argTypes:
    - struct reader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: stream_close
    functionSourceFile: /src/vlc/test/src/input/stream.c
    functionUses: 0
    functionsReached:
    - free
    - libvlc_release
    - vlc_stream_Delete
    linkageType: ''
    returnType: void
    signature: void stream_close( struct reader *p_reader )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/test/src/input/stream.c:201,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream.c:202,1
    - Dst: libvlc_new
      Src: /src/vlc/test/src/input/stream.c:204,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/input/stream.c:204,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream.c:205,1
    - Dst: vlc_stream_NewURL
      Src: /src/vlc/test/src/input/stream.c:207,1
    - Dst: libvlc_release
      Src: /src/vlc/test/src/input/stream.c:210,1
    - Dst: free
      Src: /src/vlc/test/src/input/stream.c:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - psz_url
    argTypes:
    - char*
    assertStmts:
    - condition: ( p_vlc != NULL )
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/vlc/test/src/input/stream.c
    - condition: ( p_reader )
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/vlc/test/src/input/stream.c
    constantsTouched: []
    func_position:
      end: 223
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 223
    functionName: stream_open
    functionSourceFile: /src/vlc/test/src/input/stream.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - assert
    - ARRAY_SIZE
    - libvlc_new
    - calloc
    - free
    - vlc_stream_NewURL
    linkageType: ''
    returnType: struct reader
    signature: 'struct reader *

      stream_open( const char *psz_url )'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/src/input/stream.c:239,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream.c:241,1
    - Dst: struct reader*::pf_seek
      Src: /src/vlc/test/src/input/stream.c:241,1
    - Dst: struct reader*::pf_tell
      Src: /src/vlc/test/src/input/stream.c:243,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream.c:244,1
    - Dst: struct reader*::pf_read
      Src: /src/vlc/test/src/input/stream.c:248,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream.c:249,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream.c:250,1
    - Dst: struct reader*::pf_tell
      Src: /src/vlc/test/src/input/stream.c:250,1
    - Dst: struct reader*::pf_peek
      Src: /src/vlc/test/src/input/stream.c:254,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream.c:255,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream.c:256,1
    - Dst: struct reader*::pf_tell
      Src: /src/vlc/test/src/input/stream.c:256,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream.c:258,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream.c:262,1
    - Dst: __MIN
      Src: /src/vlc/test/src/input/stream.c:262,1
    - Dst: malloc
      Src: /src/vlc/test/src/input/stream.c:270,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream.c:271,1
    - Dst: memcpy
      Src: /src/vlc/test/src/input/stream.c:272,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream.c:278,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream.c:280,1
    - Dst: memcmp
      Src: /src/vlc/test/src/input/stream.c:280,1
    - Dst: free
      Src: /src/vlc/test/src/input/stream.c:284,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 6
    argNames:
    - pp_readers
    - i_readers
    - p_buf
    - i_offset
    - i_read
    - i_size
    argTypes:
    - struct reader**
    - unsigned int
    - void*
    - uint64_t
    - size_t
    - uint64_t
    assertStmts:
    - condition: ( p_reader->pf_seek( p_reader, i_offset ) != -1 )
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/vlc/test/src/input/stream.c
    - condition: ( i_last_pos == i_offset )
      pos:
        line_end: 243
        line_start: 243
        source_file: /src/vlc/test/src/input/stream.c
    - condition: ( p_reader->pf_tell( p_reader ) == i_last_pos )
      pos:
        line_end: 255
        line_start: 255
        source_file: /src/vlc/test/src/input/stream.c
    - condition: ( p_cmp_buf )
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/vlc/test/src/input/stream.c
    - condition: ( (size_t) i_ret == __MIN( i_read, i_size - i_last_pos ) )
      pos:
        line_end: 261
        line_start: 261
        source_file: /src/vlc/test/src/input/stream.c
    - condition: '( memcmp( p_cmp_buf, p_buf ? p_buf : p_peek, i_ret ) == 0 )'
      pos:
        line_end: 279
        line_start: 279
        source_file: /src/vlc/test/src/input/stream.c
    - condition: ( p_reader->pf_tell( p_reader ) == i_ret + i_last_pos )
      pos:
        line_end: 249
        line_start: 249
        source_file: /src/vlc/test/src/input/stream.c
    - condition: ( p_peek )
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/vlc/test/src/input/stream.c
    - condition: ( i_ret >= 0 )
      pos:
        line_end: 248
        line_start: 248
        source_file: /src/vlc/test/src/input/stream.c
    - condition: ( i_ret >= 0 )
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/vlc/test/src/input/stream.c
    - condition: ( i_cmp_ret == i_ret )
      pos:
        line_end: 277
        line_start: 277
        source_file: /src/vlc/test/src/input/stream.c
    constantsTouched: []
    func_position:
      end: 286
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 286
    functionName: read_at
    functionSourceFile: /src/vlc/test/src/input/stream.c
    functionUses: 0
    functionsReached:
    - assert
    - struct reader*::pf_tell
    - struct reader*::pf_seek
    - memcpy
    - struct reader*::pf_read
    - test_log
    - free
    - __MIN
    - struct reader*::pf_peek
    - malloc
    - memcmp
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t read_at( struct reader **pp_readers, unsigned int i_readers,\n
      \        void *p_buf, uint64_t i_offset,\n         size_t i_read, uint64_t i_size
      )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pf_getsize
      Src: /src/vlc/test/src/input/stream.c:303,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream.c:304,1
    - Dst: test_log
      Src: /src/vlc/test/src/input/stream.c:306,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream.c:308,1
    - Dst: pf_getsize
      Src: /src/vlc/test/src/input/stream.c:308,1
    - Dst: vlc_hash_md5_Init
      Src: /src/vlc/test/src/input/stream.c:312,1
    - Dst: READ_AT
      Src: /src/vlc/test/src/input/stream.c:313,1
    - Dst: vlc_hash_md5_Update
      Src: /src/vlc/test/src/input/stream.c:317,1
    - Dst: vlc_hash_FinishHex
      Src: /src/vlc/test/src/input/stream.c:321,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream.c:322,1
    - Dst: strcmp
      Src: /src/vlc/test/src/input/stream.c:322,1
    - Dst: READ_AT
      Src: /src/vlc/test/src/input/stream.c:327,1
    - Dst: READ_AT
      Src: /src/vlc/test/src/input/stream.c:331,1
    - Dst: READ_AT
      Src: /src/vlc/test/src/input/stream.c:332,1
    - Dst: READ_AT
      Src: /src/vlc/test/src/input/stream.c:333,1
    - Dst: READ_AT
      Src: /src/vlc/test/src/input/stream.c:334,1
    - Dst: READ_AT
      Src: /src/vlc/test/src/input/stream.c:335,1
    - Dst: READ_AT
      Src: /src/vlc/test/src/input/stream.c:336,1
    - Dst: READ_AT
      Src: /src/vlc/test/src/input/stream.c:337,1
    - Dst: PEEK_AT
      Src: /src/vlc/test/src/input/stream.c:339,1
    - Dst: PEEK_AT
      Src: /src/vlc/test/src/input/stream.c:340,1
    - Dst: PEEK_AT
      Src: /src/vlc/test/src/input/stream.c:341,1
    - Dst: PEEK_AT
      Src: /src/vlc/test/src/input/stream.c:342,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - pp_readers
    - i_readers
    - psz_md5
    argTypes:
    - struct reader**
    - unsigned int
    - char*
    assertStmts:
    - condition: ( i_size > 0 )
      pos:
        line_end: 303
        line_start: 303
        source_file: /src/vlc/test/src/input/stream.c
    - condition: ( pp_readers[i]->pf_getsize( pp_readers[i] ) == i_size )
      pos:
        line_end: 307
        line_start: 307
        source_file: /src/vlc/test/src/input/stream.c
    - condition: ( strcmp( psz_read_md5, psz_md5 ) == 0 )
      pos:
        line_end: 321
        line_start: 321
        source_file: /src/vlc/test/src/input/stream.c
    constantsTouched: []
    func_position:
      end: 343
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 343
    functionName: test
    functionSourceFile: /src/vlc/test/src/input/stream.c
    functionUses: 8
    functionsReached:
    - vlc_hash_FinishHex
    - vlc_hash_md5_Update
    - assert
    - READ_AT
    - test_log
    - strcmp
    - pf_getsize
    - PEEK_AT
    - vlc_hash_md5_Init
    linkageType: ''
    returnType: void
    signature: void test( struct reader **pp_readers, unsigned int i_readers, const
      char *psz_md5 )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i_offset
    - ','
    - i_read
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: READ_AT
    functionSourceFile: /src/vlc/test/src/input/stream.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_AT( i_offset, i_read )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i_offset
    - ','
    - i_read
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionName: PEEK_AT
    functionSourceFile: /src/vlc/test/src/input/stream.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PEEK_AT( i_offset, i_read )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: __MIN
      Src: /src/vlc/test/src/input/stream.c:354,1
    - Dst: rand_r
      Src: /src/vlc/test/src/input/stream.c:357,1
    - Dst: write
      Src: /src/vlc/test/src/input/stream.c:359,1
    - Dst: perror
      Src: /src/vlc/test/src/input/stream.c:363,1
    - Dst: abort
      Src: /src/vlc/test/src/input/stream.c:364,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - i_fd
    - i_size
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 368
    functionName: fill_rand
    functionSourceFile: /src/vlc/test/src/input/stream.c
    functionUses: 0
    functionsReached:
    - abort
    - rand_r
    - perror
    - write
    - __MIN
    linkageType: ''
    returnType: void
    signature: void fill_rand( int i_fd, size_t i_size )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/src/input/stream.c:376,1
    - Dst: test_log
      Src: /src/vlc/test/src/input/stream.c:383,1
    - Dst: vlc_mkstemp
      Src: /src/vlc/test/src/input/stream.c:384,1
    - Dst: fill_rand
      Src: /src/vlc/test/src/input/stream.c:385,1
    - Dst: test_log
      Src: /src/vlc/test/src/input/stream.c:386,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream.c:387,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream.c:388,1
    - Dst: asprintf
      Src: /src/vlc/test/src/input/stream.c:388,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream.c:390,1
    - Dst: libc_open
      Src: /src/vlc/test/src/input/stream.c:390,1
    - Dst: assert
      Src: /src/vlc/test/src/input/stream.c:391,1
    - Dst: stream_open
      Src: /src/vlc/test/src/input/stream.c:391,1
    - Dst: test
      Src: /src/vlc/test/src/input/stream.c:393,1
    - Dst: pf_close
      Src: /src/vlc/test/src/input/stream.c:395,1
    - Dst: free
      Src: /src/vlc/test/src/input/stream.c:396,1
    - Dst: close
      Src: /src/vlc/test/src/input/stream.c:398,1
    - Dst: test_log
      Src: /src/vlc/test/src/input/stream.c:401,1
    - Dst: alarm
      Src: /src/vlc/test/src/input/stream.c:402,1
    - Dst: stream_open
      Src: /src/vlc/test/src/input/stream.c:403,1
    - Dst: test_log
      Src: /src/vlc/test/src/input/stream.c:405,1
    - Dst: test
      Src: /src/vlc/test/src/input/stream.c:409,1
    - Dst: pf_close
      Src: /src/vlc/test/src/input/stream.c:411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( i_tmp_fd != -1 )
      pos:
        line_end: 386
        line_start: 386
        source_file: /src/vlc/test/src/input/stream.c
    - condition: ( asprintf( &psz_url, "file://%s", psz_tmp_path ) != -1 )
      pos:
        line_end: 387
        line_start: 387
        source_file: /src/vlc/test/src/input/stream.c
    - condition: ( ( pp_readers[1] = stream_open( psz_url ) ) )
      pos:
        line_end: 390
        line_start: 390
        source_file: /src/vlc/test/src/input/stream.c
    - condition: ( ( pp_readers[0] = libc_open( psz_tmp_path ) ) )
      pos:
        line_end: 389
        line_start: 389
        source_file: /src/vlc/test/src/input/stream.c
    constantsTouched: []
    func_position:
      end: 416
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 416
    functionName: main
    functionSourceFile: /src/vlc/test/src/input/stream.c
    functionUses: 0
    functionsReached:
    - asprintf
    - assert
    - test
    - alarm
    - test_init
    - vlc_mkstemp
    - pf_close
    - test_log
    - libc_open
    - free
    - stream_open
    - close
    - fill_rand
    linkageType: ''
    returnType: int
    signature: int main( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - device
    argTypes:
    - struct vlc_decoder_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: DecoderDeviceClose
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void DecoderDeviceClose(struct vlc_decoder_device *device)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - device
    - window
    argTypes:
    - struct vlc_decoder_device*
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: OpenDecoderDevice
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int OpenDecoderDevice(\n        struct vlc_decoder_device *device,\n
      \       vlc_window_t *window\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: picture_NewFromFormat
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:81,1
    - Dst: assert
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:82,1
    - Dst: assert
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:87,1
    - Dst: struct input_decoder_scenario*::decoder_decode
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:88,1
    - Dst: block_Release
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - dec
    - block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts:
    - condition: (pic)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/vlc/test/src/input/decoder/input_decoder.c
    - condition: (scenario->decoder_decode != NULL)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/vlc/test/src/input/decoder/input_decoder.c
    constantsTouched: []
    func_position:
      end: 92
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 92
    functionName: DecoderDecode
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder.c
    functionUses: 0
    functionsReached:
    - struct input_decoder_scenario*::decoder_decode
    - assert
    - picture_NewFromFormat
    - block_Release
    linkageType: ''
    returnType: int
    signature: int DecoderDecode(decoder_t *dec, block_t *block)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:100,1
    - Dst: struct input_decoder_scenario*::cc_decoder_decode
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:101,1
    - Dst: vlc_frame_Release
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - dec
    - frame
    argTypes:
    - decoder_t*
    - vlc_frame_t*
    assertStmts:
    - condition: (scenario->cc_decoder_decode != NULL)
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/vlc/test/src/input/decoder/input_decoder.c
    constantsTouched: []
    func_position:
      end: 105
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 105
    functionName: CcDecoderDecode
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder.c
    functionUses: 0
    functionsReached:
    - struct input_decoder_scenario*::cc_decoder_decode
    - assert
    - vlc_frame_Release
    linkageType: ''
    returnType: int
    signature: int CcDecoderDecode(decoder_t *dec, vlc_frame_t *frame)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct input_decoder_scenario*::decoder_flush
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: DecoderFlush
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder.c
    functionUses: 0
    functionsReached:
    - struct input_decoder_scenario*::decoder_flush
    linkageType: ''
    returnType: void
    signature: void DecoderFlush(decoder_t *dec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct input_decoder_scenario*::decoder_destroy
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:120,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: CloseDecoder
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder.c
    functionUses: 0
    functionsReached:
    - vlc_video_context_Release
    - struct input_decoder_scenario*::decoder_destroy
    linkageType: ''
    returnType: void
    signature: void CloseDecoder(vlc_object_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct input_decoder_scenario*::cc_decoder_destroy
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: CloseCcDecoder
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder.c
    functionUses: 0
    functionsReached:
    - struct input_decoder_scenario*::cc_decoder_destroy
    linkageType: ''
    returnType: void
    signature: void CloseCcDecoder(vlc_object_t *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - dec
    - in
    argTypes:
    - decoder_t*
    - vlc_frame_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 145
    functionName: PacketizerPacketize
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_frame_t
    signature: vlc_frame_t *PacketizerPacketize(decoder_t *dec, vlc_frame_t **in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct input_decoder_scenario*::packetizer_getcc
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dec
    - cc_desc
    argTypes:
    - decoder_t*
    - decoder_cc_desc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: PacketizerGetCC
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder.c
    functionUses: 0
    functionsReached:
    - struct input_decoder_scenario*::packetizer_getcc
    linkageType: ''
    returnType: vlc_frame_t
    signature: vlc_frame_t *PacketizerGetCC(decoder_t *dec, decoder_cc_desc_t *cc_desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Clean
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:162,1
    - Dst: es_format_Copy
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 166
    functionName: OpenPacketizer
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder.c
    functionUses: 0
    functionsReached:
    - es_format_Copy
    - es_format_Clean
    linkageType: ''
    returnType: int
    signature: int OpenPacketizer(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decoder_GetDecoderDevice
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:172,1
    - Dst: assert
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:173,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:174,1
    - Dst: es_format_Clean
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:179,1
    - Dst: es_format_Copy
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:180,1
    - Dst: assert
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:183,1
    - Dst: struct input_decoder_scenario*::decoder_setup
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:184,1
    - Dst: msg_Dbg
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: (device)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/vlc/test/src/input/decoder/input_decoder.c
    - condition: (scenario->decoder_setup != NULL)
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/vlc/test/src/input/decoder/input_decoder.c
    constantsTouched: []
    func_position:
      end: 192
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 192
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder.c
    functionUses: 0
    functionsReached:
    - decoder_GetDecoderDevice
    - assert
    - es_format_Clean
    - vlc_decoder_device_Release
    - struct input_decoder_scenario*::decoder_setup
    - msg_Dbg
    - es_format_Copy
    linkageType: ''
    returnType: int
    signature: int OpenDecoder(vlc_object_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Clean
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:205,1
    - Dst: es_format_Copy
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:206,1
    - Dst: struct input_decoder_scenario*::cc_decoder_setup
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:208,1
    - Dst: msg_Dbg
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 215
    functionName: OpenCcDecoder
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder.c
    functionUses: 0
    functionsReached:
    - es_format_Copy
    - msg_Dbg
    - struct input_decoder_scenario*::cc_decoder_setup
    - es_format_Clean
    linkageType: ''
    returnType: int
    signature: int OpenCcDecoder(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:223,1
    - Dst: struct input_decoder_scenario*::display_prepare
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - vd
    - picture
    - subpic
    - date
    argTypes:
    - vout_display_t*
    - picture_t*
    - struct vlc_render_subpicture*
    - vlc_tick_t
    assertStmts:
    - condition: (scenario->display_prepare != NULL)
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/vlc/test/src/input/decoder/input_decoder.c
    constantsTouched: []
    func_position:
      end: 225
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 225
    functionName: DisplayPrepare
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder.c
    functionUses: 0
    functionsReached:
    - assert
    - struct input_decoder_scenario*::display_prepare
    linkageType: ''
    returnType: void
    signature: "void DisplayPrepare(vout_display_t *vd, picture_t *picture,\n        const
      struct vlc_render_subpicture *subpic, vlc_tick_t date)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - vd
    - fmtp
    - context
    argTypes:
    - vout_display_t*
    - video_format_t*
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 240
    functionName: OpenDisplay
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OpenDisplay(vout_display_t *vd, video_format_t *fmtp, vlc_video_context
      *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 250
    functionName: OpenWindow
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OpenWindow(vlc_window_t *wnd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct input_decoder_scenario*::text_renderer_render
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - filter
    - region_in
    - chroma_list
    argTypes:
    - filter_t*
    - subpicture_region_t*
    - vlc_fourcc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 261
    functionName: TextRendererRender
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder.c
    functionUses: 0
    functionsReached:
    - struct input_decoder_scenario*::text_renderer_render
    linkageType: ''
    returnType: subpicture_region_t
    signature: "subpicture_region_t *TextRendererRender(filter_t *filter,\n                              const
      subpicture_region_t *region_in,\n                              const vlc_fourcc_t
      *chroma_list)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 272
    functionName: OpenTextRenderer
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OpenTextRenderer(filter_t *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:278,1
    - Dst: assert
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - stream
    - fmt
    - es_id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - char*
    assertStmts:
    - condition: (id != NULL)
      pos:
        line_end: 278
        line_start: 278
        source_file: /src/vlc/test/src/input/decoder/input_decoder.c
    constantsTouched: []
    func_position:
      end: 282
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 282
    functionName: SoutFilterAdd
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder.c
    functionUses: 0
    functionsReached:
    - assert
    - malloc
    linkageType: ''
    returnType: void
    signature: "void *SoutFilterAdd(sout_stream_t *stream, const es_format_t *fmt,\n
      \                          const char *es_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - stream
    - id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: SoutFilterDel
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void SoutFilterDel(sout_stream_t *stream, void *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct input_decoder_scenario*::sout_filter_send
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:294,1
    - Dst: block_Release
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - id
    - block
    argTypes:
    - sout_stream_t*
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 297
    functionName: SoutFilterSend
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder.c
    functionUses: 0
    functionsReached:
    - block_Release
    - struct input_decoder_scenario*::sout_filter_send
    linkageType: ''
    returnType: int
    signature: int SoutFilterSend(sout_stream_t *stream, void *id, block_t *block)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct input_decoder_scenario*::sout_filter_flush
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - stream
    - id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 304
    functionName: SoutFilterFlush
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder.c
    functionUses: 0
    functionsReached:
    - struct input_decoder_scenario*::sout_filter_flush
    linkageType: ''
    returnType: void
    signature: void SoutFilterFlush(sout_stream_t *stream, void *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - stream
    - query
    - args
    argTypes:
    - sout_stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 313
    functionName: SoutFilterControl
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SoutFilterControl(sout_stream_t *stream, int query, va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 327
    functionName: OpenSoutFilter
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OpenSoutFilter(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_cond_signal
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - player
    - state
    - opaque
    argTypes:
    - vlc_player_t*
    - enum vlc_player_state
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 333
    functionName: on_state_changed
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder.c
    functionUses: 0
    functionsReached:
    - vlc_cond_signal
    linkageType: ''
    returnType: void
    signature: void on_state_changed(vlc_player_t *player, enum vlc_player_state state,
      void *opaque)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct input_decoder_scenario*::on_track_list_changed
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - player
    - action
    - track
    - data
    argTypes:
    - vlc_player_t*
    - enum vlc_player_list_action
    - struct vlc_player_track*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 344
    functionName: on_track_list_changed
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder.c
    functionUses: 1
    functionsReached:
    - struct input_decoder_scenario*::on_track_list_changed
    linkageType: ''
    returnType: void
    signature: "void on_track_list_changed(vlc_player_t *player,\n        enum vlc_player_list_action
      action,\n        const struct vlc_player_track *track,\n        void *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:348,1
    - Dst: fprintf
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:349,1
    - Dst: input_decoder_scenario_init
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:350,1
    - Dst: input_item_New
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:351,1
    - Dst: assert
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:352,1
    - Dst: var_Create
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:354,1
    - Dst: var_SetString
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:355,1
    - Dst: input_item_AddOption
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:358,1
    - Dst: vlc_player_New
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:360,1
    - Dst: assert
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:362,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:371,1
    - Dst: vlc_player_AddListener
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:373,1
    - Dst: vlc_player_SetCurrentMedia
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:374,1
    - Dst: struct input_decoder_scenario*::player_setup_before_start
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:376,1
    - Dst: vlc_player_Start
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:377,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:378,1
    - Dst: input_decoder_scenario_wait
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:380,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:382,1
    - Dst: vlc_player_Stop
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:383,1
    - Dst: vlc_player_GetState
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:385,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:386,1
    - Dst: vlc_player_RemoveListener
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:388,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:389,1
    - Dst: input_decoder_scenario_check
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:391,1
    - Dst: vlc_player_Delete
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:393,1
    - Dst: input_item_Release
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:394,1
    - Dst: var_Destroy
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 2
    argNames:
    - intf
    - scenario
    argTypes:
    - intf_thread_t*
    - struct input_decoder_scenario*
    assertStmts:
    - condition: (scenario->name != NULL)
      pos:
        line_end: 347
        line_start: 347
        source_file: /src/vlc/test/src/input/decoder/input_decoder.c
    - condition: (media)
      pos:
        line_end: 351
        line_start: 351
        source_file: /src/vlc/test/src/input/decoder/input_decoder.c
    - condition: (player)
      pos:
        line_end: 361
        line_start: 361
        source_file: /src/vlc/test/src/input/decoder/input_decoder.c
    constantsTouched: []
    func_position:
      end: 397
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 397
    functionName: play_scenario
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder.c
    functionUses: 1
    functionsReached:
    - var_Destroy
    - assert
    - struct input_decoder_scenario*::player_setup_before_start
    - vlc_player_Start
    - input_decoder_scenario_wait
    - vlc_player_CondWait
    - input_item_New
    - vlc_player_Unlock
    - var_Create
    - vlc_player_Delete
    - input_decoder_scenario_init
    - input_decoder_scenario_check
    - input_item_AddOption
    - fprintf
    - input_item_Release
    - vlc_player_New
    - vlc_player_SetCurrentMedia
    - vlc_player_Stop
    - vlc_player_RemoveListener
    - vlc_player_GetState
    - vlc_player_Lock
    - vlc_player_AddListener
    - var_SetString
    linkageType: ''
    returnType: void
    signature: void play_scenario(intf_thread_t *intf, struct input_decoder_scenario
      *scenario)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Info
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:405,1
    - Dst: play_scenario
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 411
    functionName: OpenIntf
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder.c
    functionUses: 0
    functionsReached:
    - msg_Info
    - play_scenario
    linkageType: ''
    returnType: int
    signature: int OpenIntf(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:471,1
    - Dst: libvlc_new
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:482,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:482,1
    - Dst: libvlc_InternalAddIntf
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:484,1
    - Dst: libvlc_InternalPlay
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:485,1
    - Dst: libvlc_release
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:487,1
    - Dst: assert
      Src: /src/vlc/test/src/input/decoder/input_decoder.c:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (input_decoder_scenarios_count == current_scenario)
      pos:
        line_end: 487
        line_start: 487
        source_file: /src/vlc/test/src/input/decoder/input_decoder.c
    constantsTouched: []
    func_position:
      end: 490
      start: 468
    functionDepth: 2
    functionLinenumber: 468
    functionLinenumberEnd: 490
    functionName: main
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - assert
    - ARRAY_SIZE
    - libvlc_InternalAddIntf
    - test_init
    - libvlc_InternalPlay
    - libvlc_new
    linkageType: ''
    returnType: int
    signature: int main( int argc, char **argv )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - dec
    - chroma
    - width
    - height
    argTypes:
    - decoder_t*
    - vlc_fourcc_t
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: decoder_fixed_size
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void decoder_fixed_size(decoder_t *dec, vlc_fourcc_t chroma,\n        unsigned
      width, unsigned height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decoder_fixed_size
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: decoder_i420_800_600
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 1
    functionsReached:
    - decoder_fixed_size
    linkageType: ''
    returnType: void
    signature: void decoder_i420_800_600(decoder_t *dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decoder_fixed_size
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:71,1
    - Dst: decoder_UpdateVideoOutput
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:72,1
    - Dst: assert
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dec
    argTypes:
    - decoder_t*
    assertStmts:
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: decoder_i420_800_600_update
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - decoder_fixed_size
    - assert
    - decoder_UpdateVideoOutput
    linkageType: ''
    returnType: void
    signature: void decoder_i420_800_600_update(decoder_t *dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decoder_i420_800_600
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:78,1
    - Dst: vlc_sem_post
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: decoder_i420_800_600_stop
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - vlc_sem_post
    - decoder_i420_800_600
    linkageType: ''
    returnType: void
    signature: void decoder_i420_800_600_stop(decoder_t *dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_frame_Alloc
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:85,1
    - Dst: assert
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:86,1
    - Dst: memcpy
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:87,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ts
    argTypes:
    - vlc_tick_t
    assertStmts:
    - condition: (f != NULL)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: create_cc_frame
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - memcpy
    - vlc_frame_Alloc
    - assert
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: vlc_frame_t
    signature: vlc_frame_t *create_cc_frame(vlc_tick_t ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_cc_frame
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:97,1
    - Dst: decoder_QueueCc
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dec
    - pic
    argTypes:
    - decoder_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 104
    functionName: decoder_decode_check_cc_common
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - create_cc_frame
    - decoder_QueueCc
    linkageType: ''
    returnType: void
    signature: void decoder_decode_check_cc_common(decoder_t *dec, picture_t *pic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decoder_decode_check_cc_common
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:108,1
    - Dst: picture_Release
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:109,1
    - Dst: vlc_sem_post
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dec
    - pic
    argTypes:
    - decoder_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: decoder_decode_check_cc
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - picture_Release
    - decoder_decode_check_cc_common
    - vlc_sem_post
    linkageType: ''
    returnType: int
    signature: int decoder_decode_check_cc(decoder_t *dec, picture_t *pic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decoder_decode_check_cc_common
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:118,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dec
    - pic
    argTypes:
    - decoder_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: decoder_decode_check_cc_queue_video
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - decoder_QueueVideo
    - decoder_decode_check_cc_common
    linkageType: ''
    returnType: int
    signature: int decoder_decode_check_cc_queue_video(decoder_t *dec, picture_t *pic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:134,1
    - Dst: vlc_atomic_rc_dec
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:136,1
    - Dst: vlc_sem_post
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: context_destroy
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - vlc_sem_post
    - vlc_atomic_rc_dec
    - container_of
    linkageType: ''
    returnType: void
    signature: void context_destroy(picture_context_t *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:143,1
    - Dst: vlc_atomic_rc_inc
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: context_copy
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - vlc_atomic_rc_inc
    - container_of
    linkageType: ''
    returnType: picture_context_t
    signature: picture_context_t * context_copy(picture_context_t *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: picture_Release
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dec
    - pic
    argTypes:
    - decoder_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: decoder_decode_drop
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - picture_Release
    linkageType: ''
    returnType: int
    signature: int decoder_decode_drop(decoder_t *dec, picture_t *pic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decoder_QueueVideo
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dec
    - pic
    argTypes:
    - decoder_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: decoder_decode
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 3
    functionsReached:
    - decoder_QueueVideo
    linkageType: ''
    returnType: int
    signature: int decoder_decode(decoder_t *dec, picture_t *pic)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: picture_Release
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:165,1
    - Dst: decoder_UpdateVideoOutput
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:172,1
    - Dst: assert
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:173,1
    - Dst: msg_Info
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:183,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:184,1
    - Dst: vlc_sem_init
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:195,1
    - Dst: vlc_atomic_rc_init
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:196,1
    - Dst: picture_Clone
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:198,1
    - Dst: msg_Info
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:204,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:205,1
    - Dst: msg_Info
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:207,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:208,1
    - Dst: msg_Info
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:210,1
    - Dst: vlc_sem_post
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:211,1
    - Dst: msg_Info
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:214,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:215,1
    - Dst: vlc_sem_init
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:223,1
    - Dst: vlc_atomic_rc_init
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:224,1
    - Dst: picture_Clone
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:226,1
    - Dst: msg_Info
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:232,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:233,1
    - Dst: msg_Info
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:236,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:237,1
    - Dst: picture_Release
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:242,1
    - Dst: msg_Info
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 2
    argNames:
    - dec
    - pic
    argTypes:
    - decoder_t*
    - picture_t*
    assertStmts:
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    constantsTouched: []
    func_position:
      end: 247
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 247
    functionName: decoder_decode_check_flush_video
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - vlc_sem_init
    - assert
    - vlc_sem_wait
    - decoder_UpdateVideoOutput
    - vlc_sem_post
    - picture_Release
    - msg_Info
    - decoder_QueueVideo
    - picture_Clone
    - vlc_atomic_rc_init
    linkageType: ''
    returnType: int
    signature: int decoder_decode_check_flush_video(decoder_t *dec, picture_t *pic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sem_post
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: decoder_flush_signal
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - vlc_sem_post
    linkageType: ''
    returnType: void
    signature: void decoder_flush_signal(decoder_t *dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decoder_UpdateVideoOutput
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 260
    functionName: SendUpdateOutput
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - decoder_UpdateVideoOutput
    linkageType: ''
    returnType: void
    signature: void * SendUpdateOutput(void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_clone
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:267,1
    - Dst: assert
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:268,1
    - Dst: vlc_join
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dec
    argTypes:
    - decoder_t*
    assertStmts:
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: decoder_destroy_trigger_update
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_join
    - vlc_clone
    linkageType: ''
    returnType: void
    signature: void decoder_destroy_trigger_update(decoder_t *dec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: picture_Release
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:275,1
    - Dst: vlc_sem_post
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - dec
    - pic
    argTypes:
    - decoder_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: decoder_decode_trigger_reload
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - picture_Release
    - vlc_sem_post
    linkageType: ''
    returnType: int
    signature: int decoder_decode_trigger_reload(decoder_t *dec, picture_t *pic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Info
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:292,1
    - Dst: container_of
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:294,1
    - Dst: vlc_sem_post
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - vd
    - pic
    argTypes:
    - vout_display_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 296
    functionName: display_prepare_signal
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - msg_Info
    - vlc_sem_post
    - container_of
    linkageType: ''
    returnType: void
    signature: void display_prepare_signal(vout_display_t *vd, picture_t *pic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_SelectTrack
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - player
    - action
    - track
    - data
    argTypes:
    - vlc_player_t*
    - enum vlc_player_list_action
    - struct vlc_player_track*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 310
    functionName: PlayerOnTrackListChanged
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - vlc_player_SelectTrack
    linkageType: ''
    returnType: void
    signature: "void PlayerOnTrackListChanged(vlc_player_t *player,\n        enum
      vlc_player_list_action action,\n        const struct vlc_player_track *track,\n
      \       void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_Lock
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:321,1
    - Dst: vlc_player_AddListener
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:323,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:324,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:326,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:327,1
    - Dst: vlc_player_SetPosition
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:328,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:329,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:331,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:332,1
    - Dst: vlc_player_RemoveListener
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:333,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - intf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 335
    functionName: interface_setup_select_cc
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - vlc_sem_wait
    - vlc_player_SetPosition
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlc_player_AddListener
    - vlc_player_RemoveListener
    linkageType: ''
    returnType: void
    signature: void interface_setup_select_cc(intf_thread_t *intf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sem_wait
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:340,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:342,1
    - Dst: vlc_player_SetPosition
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:343,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - intf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 345
    functionName: interface_setup_check_flush
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - vlc_player_SetPosition
    - vlc_sem_wait
    - vlc_player_Unlock
    - vlc_player_Lock
    linkageType: ''
    returnType: void
    signature: void interface_setup_check_flush(intf_thread_t *intf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:350,1
    - Dst: vlc_sem_post
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - stream
    - id
    - block
    argTypes:
    - sout_stream_t*
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 354
    functionName: sout_filter_send
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 1
    functionsReached:
    - block_Release
    - vlc_sem_post
    linkageType: ''
    returnType: int
    signature: int sout_filter_send(sout_stream_t *stream, void *id, block_t *block)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:359,1
    - Dst: vlc_sem_post
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - stream
    - id
    - block
    argTypes:
    - sout_stream_t*
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 367
    functionName: sout_filter_wait_cc
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - block_Release
    - vlc_sem_post
    linkageType: ''
    returnType: int
    signature: int sout_filter_wait_cc(sout_stream_t *stream, void *id, block_t *block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:372,1
    - Dst: vlc_sem_post
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - stream
    - id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts:
    - condition: (scenario_data.stream_out_sent)
      pos:
        line_end: 371
        line_start: 371
        source_file: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    constantsTouched: []
    func_position:
      end: 374
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 374
    functionName: sout_filter_flush
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 1
    functionsReached:
    - assert
    - vlc_sem_post
    linkageType: ''
    returnType: void
    signature: void sout_filter_flush(sout_stream_t *stream, void *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_cc_frame
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - dec
    - cc_desc
    argTypes:
    - decoder_t*
    - decoder_cc_desc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 385
    functionName: packetizer_getcc
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 1
    functionsReached:
    - create_cc_frame
    linkageType: ''
    returnType: vlc_frame_t
    signature: vlc_frame_t *packetizer_getcc(decoder_t *dec, decoder_cc_desc_t *cc_desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_cc_frame
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - dec
    - cc_desc
    argTypes:
    - decoder_t*
    - decoder_cc_desc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 396
    functionName: packetizer_getcc_cea608_max
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - create_cc_frame
    linkageType: ''
    returnType: vlc_frame_t
    signature: vlc_frame_t *packetizer_getcc_cea608_max(decoder_t *dec, decoder_cc_desc_t
      *cc_desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_cc_frame
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - dec
    - cc_desc
    argTypes:
    - decoder_t*
    - decoder_cc_desc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 407
    functionName: packetizer_getcc_cea708_max
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - create_cc_frame
    linkageType: ''
    returnType: vlc_frame_t
    signature: vlc_frame_t *packetizer_getcc_cea708_max(decoder_t *dec, decoder_cc_desc_t
      *cc_desc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:416,1
    - Dst: vlc_es_id_GetStrId
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:416,1
    - Dst: assert
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:419,1
    - Dst: vlc_sem_post
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:420,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - action
    - track
    argTypes:
    - enum vlc_player_list_action
    - struct vlc_player_track*
    assertStmts:
    - condition: (track->fmt.i_codec == VLC_CODEC_CEA608)
      pos:
        line_end: 418
        line_start: 418
        source_file: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    constantsTouched: []
    func_position:
      end: 421
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 421
    functionName: on_track_list_changed_check_cea608
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - strcmp
    - vlc_es_id_GetStrId
    - assert
    - vlc_sem_post
    linkageType: ''
    returnType: void
    signature: "void on_track_list_changed_check_cea608(\n        enum vlc_player_list_action
      action,\n        const struct vlc_player_track *track)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:432,1
    - Dst: sprintf
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:433,1
    - Dst: strcmp
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:435,1
    - Dst: vlc_es_id_GetStrId
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:435,1
    - Dst: assert
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:438,1
    - Dst: vlc_sem_post
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:443,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - action
    - track
    - codec
    - track_max
    argTypes:
    - enum vlc_player_list_action
    - struct vlc_player_track*
    - vlc_fourcc_t
    - unsigned
    assertStmts:
    - condition: (scenario_data.cc_track_idx < 100)
      pos:
        line_end: 431
        line_start: 431
        source_file: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    - condition: (track->fmt.i_codec == codec)
      pos:
        line_end: 437
        line_start: 437
        source_file: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    constantsTouched: []
    func_position:
      end: 444
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 444
    functionName: on_track_list_changed_check_count
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - assert
    - sprintf
    - vlc_sem_post
    - strcmp
    - vlc_es_id_GetStrId
    linkageType: ''
    returnType: void
    signature: "void on_track_list_changed_check_count(\n        enum vlc_player_list_action
      action,\n        const struct vlc_player_track *track,\n        vlc_fourcc_t
      codec, unsigned track_max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: on_track_list_changed_check_count
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - action
    - track
    argTypes:
    - enum vlc_player_list_action
    - struct vlc_player_track*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 451
    functionName: on_track_list_changed_check_cea608_count
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - on_track_list_changed_check_count
    linkageType: ''
    returnType: void
    signature: "void on_track_list_changed_check_cea608_count(\n        enum vlc_player_list_action
      action,\n        const struct vlc_player_track *track)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: on_track_list_changed_check_count
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - action
    - track
    argTypes:
    - enum vlc_player_list_action
    - struct vlc_player_track*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 458
    functionName: on_track_list_changed_check_cea708_count
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - on_track_list_changed_check_count
    linkageType: ''
    returnType: void
    signature: "void on_track_list_changed_check_cea708_count(\n        enum vlc_player_list_action
      action,\n        const struct vlc_player_track *track)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_SelectTracksByStringIds
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - player
    argTypes:
    - vlc_player_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 463
    functionName: player_setup_select_cc
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - vlc_player_SelectTracksByStringIds
    linkageType: ''
    returnType: void
    signature: void player_setup_select_cc(vlc_player_t *player)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:467,1
    - Dst: assert
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:468,1
    - Dst: assert
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - dec
    argTypes:
    - decoder_t*
    assertStmts:
    - condition: (dec->fmt_in->i_codec == VLC_CODEC_CEA608)
      pos:
        line_end: 466
        line_start: 466
        source_file: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    - condition: (dec->fmt_in->subs.cc.i_reorder_depth == 4)
      pos:
        line_end: 468
        line_start: 468
        source_file: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    - condition: (dec->fmt_in->subs.cc.i_channel == 0)
      pos:
        line_end: 467
        line_start: 467
        source_file: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    constantsTouched: []
    func_position:
      end: 472
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 472
    functionName: cc_decoder_setup_01
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void cc_decoder_setup_01(decoder_t *dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:477,1
    - Dst: memcmp
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:477,1
    - Dst: decoder_NewSubpicture
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:479,1
    - Dst: assert
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:480,1
    - Dst: subpicture_region_NewText
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:485,1
    - Dst: assert
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:486,1
    - Dst: vlc_spu_regions_push
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:487,1
    - Dst: text_segment_New
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:492,1
    - Dst: assert
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:493,1
    - Dst: decoder_QueueSub
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 3
    argNames:
    - dec
    - in
    - text
    argTypes:
    - decoder_t*
    - vlc_frame_t*
    - char*
    assertStmts:
    - condition: (memcmp(in->p_buffer, cc_block_input, sizeof(cc_block_input)) ==
        0)
      pos:
        line_end: 476
        line_start: 476
        source_file: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    - condition: (subpic != NULL)
      pos:
        line_end: 479
        line_start: 479
        source_file: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    - condition: (p_region != NULL)
      pos:
        line_end: 485
        line_start: 485
        source_file: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    - condition: (p_region->p_text != NULL)
      pos:
        line_end: 492
        line_start: 492
        source_file: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    constantsTouched: []
    func_position:
      end: 498
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 498
    functionName: cc_decoder_decode_common
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - decoder_NewSubpicture
    - assert
    - decoder_QueueSub
    - vlc_spu_regions_push
    - text_segment_New
    - subpicture_region_NewText
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int cc_decoder_decode_common(decoder_t *dec, vlc_frame_t *in,\n                                    const
      char *text)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cc_decoder_decode_common
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dec
    - in
    argTypes:
    - decoder_t*
    - vlc_frame_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 501
    functionDepth: 2
    functionLinenumber: 501
    functionLinenumberEnd: 504
    functionName: cc_decoder_decode
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 1
    functionsReached:
    - cc_decoder_decode_common
    linkageType: ''
    returnType: int
    signature: int cc_decoder_decode(decoder_t *dec, vlc_frame_t *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vd
    - pic
    argTypes:
    - vout_display_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 509
    functionName: display_prepare_noop
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void display_prepare_noop(vout_display_t *vd, picture_t *pic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:514,1
    - Dst: strcmp
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:514,1
    - Dst: vlc_sem_post
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - filter
    - region_in
    argTypes:
    - filter_t*
    - subpicture_region_t*
    assertStmts:
    - condition: (strcmp(region_in->p_text->psz_text, cc_block_decoded) == 0)
      pos:
        line_end: 513
        line_start: 513
        source_file: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    constantsTouched: []
    func_position:
      end: 516
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 516
    functionName: cc_text_renderer_render
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - strcmp
    - assert
    - vlc_sem_post
    linkageType: ''
    returnType: void
    signature: void cc_text_renderer_render(filter_t *filter, const subpicture_region_t
      *region_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_cc_frame
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - dec
    - cc_desc
    argTypes:
    - decoder_t*
    - decoder_cc_desc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 518
    functionDepth: 2
    functionLinenumber: 518
    functionLinenumberEnd: 527
    functionName: packetizer_getcc_cea708_1064
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - create_cc_frame
    linkageType: ''
    returnType: vlc_frame_t
    signature: vlc_frame_t *packetizer_getcc_cea708_1064(decoder_t *dec, decoder_cc_desc_t
      *cc_desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:531,1
    - Dst: assert
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:532,1
    - Dst: assert
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dec
    argTypes:
    - decoder_t*
    assertStmts:
    - condition: (dec->fmt_in->i_codec == VLC_CODEC_CEA708)
      pos:
        line_end: 530
        line_start: 530
        source_file: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    - condition: (dec->fmt_in->subs.cc.i_reorder_depth == 4)
      pos:
        line_end: 533
        line_start: 533
        source_file: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    - condition: "(dec->fmt_in->subs.cc.i_channel == 9\n        || dec->fmt_in->subs.cc.i_channel
        == 63)"
      pos:
        line_end: 532
        line_start: 531
        source_file: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    constantsTouched: []
    func_position:
      end: 537
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 537
    functionName: cc_decoder_setup_708_1064
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void cc_decoder_setup_708_1064(decoder_t *dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:542,1
    - Dst: sprintf
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:543,1
    - Dst: cc_decoder_decode_common
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dec
    - in
    argTypes:
    - decoder_t*
    - vlc_frame_t*
    assertStmts:
    - condition: (dec->fmt_in->subs.cc.i_channel < 64)
      pos:
        line_end: 541
        line_start: 541
        source_file: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    constantsTouched: []
    func_position:
      end: 545
      start: 539
    functionDepth: 2
    functionLinenumber: 539
    functionLinenumberEnd: 545
    functionName: cc_decoder_decode_channel
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - assert
    - cc_decoder_decode_common
    - sprintf
    linkageType: ''
    returnType: int
    signature: int cc_decoder_decode_channel(decoder_t *dec, vlc_frame_t *in)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:556,1
    - Dst: sprintf
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:559,1
    - Dst: strcmp
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:561,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:569,1
    - Dst: vlc_sem_post
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:575,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - filter
    - region_in
    argTypes:
    - filter_t*
    - subpicture_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 576
    functionName: cc_text_renderer_render_708_1064
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - strcmp
    - vlc_sem_post
    - ARRAY_SIZE
    - sprintf
    linkageType: ''
    returnType: void
    signature: "void cc_text_renderer_render_708_1064(filter_t *filter,\n                                             const
      subpicture_region_t *region_in)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_SelectTracksByStringIds
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - player
    argTypes:
    - vlc_player_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 582
    functionName: player_setup_select_ccdec_708_1064
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - vlc_player_SelectTracksByStringIds
    linkageType: ''
    returnType: void
    signature: void player_setup_select_ccdec_708_1064(vlc_player_t *player)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_cc_frame
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - dec
    - cc_desc
    argTypes:
    - decoder_t*
    - decoder_cc_desc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 584
    functionDepth: 2
    functionLinenumber: 584
    functionLinenumberEnd: 593
    functionName: packetizer_getcc_cea608_02
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - create_cc_frame
    linkageType: ''
    returnType: vlc_frame_t
    signature: vlc_frame_t *packetizer_getcc_cea608_02(decoder_t *dec, decoder_cc_desc_t
      *cc_desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dec
    argTypes:
    - decoder_t*
    assertStmts:
    - condition: (dec->fmt_in->i_codec == VLC_CODEC_CEA608)
      pos:
        line_end: 596
        line_start: 596
        source_file: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    constantsTouched: []
    func_position:
      end: 600
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 600
    functionName: cc_decoder_setup_608
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void cc_decoder_setup_608(decoder_t *dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:606,1
    - Dst: strcmp
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:606,1
    - Dst: vlc_sem_post
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - filter
    - region_in
    argTypes:
    - filter_t*
    - subpicture_region_t*
    assertStmts:
    - condition: (strcmp(region_in->p_text->psz_text, "cc02_dec") == 0)
      pos:
        line_end: 605
        line_start: 605
        source_file: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    constantsTouched: []
    func_position:
      end: 608
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 608
    functionName: cc_text_renderer_render_608_02
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 0
    functionsReached:
    - strcmp
    - assert
    - vlc_sem_post
    linkageType: ''
    returnType: void
    signature: "void cc_text_renderer_render_608_02(filter_t *filter,\n                                           const
      subpicture_region_t *region_in)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sem_init
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:774,1
    - Dst: vlc_sem_init
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 776
    functionName: input_decoder_scenario_init
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 1
    functionsReached:
    - vlc_sem_init
    linkageType: ''
    returnType: void
    signature: void input_decoder_scenario_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct input_decoder_scenario*::interface_setup
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:781,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c:783,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - intf
    - scenario
    argTypes:
    - intf_thread_t*
    - struct input_decoder_scenario*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 784
    functionName: input_decoder_scenario_wait
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 1
    functionsReached:
    - vlc_sem_wait
    - struct input_decoder_scenario*::interface_setup
    linkageType: ''
    returnType: void
    signature: void input_decoder_scenario_wait(intf_thread_t *intf, struct input_decoder_scenario
      *scenario)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - scenario
    argTypes:
    - struct input_decoder_scenario*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 789
    functionName: input_decoder_scenario_check
    functionSourceFile: /src/vlc/test/src/input/decoder/input_decoder_scenarios.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void input_decoder_scenario_check(struct input_decoder_scenario *scenario)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_clock_main_New
      Src: /src/vlc/test/src/clock/clock_start.c:75,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock_start.c:77,1
    - Dst: vlc_clock_main_Lock
      Src: /src/vlc/test/src/clock/clock_start.c:79,1
    - Dst: vlc_clock_main_SetInputDejitter
      Src: /src/vlc/test/src/clock/clock_start.c:80,1
    - Dst: vlc_clock_main_SetDejitter
      Src: /src/vlc/test/src/clock/clock_start.c:81,1
    - Dst: vlc_clock_main_CreateInputMaster
      Src: /src/vlc/test/src/clock/clock_start.c:85,1
    - Dst: vlc_clock_main_CreateInputSlave
      Src: /src/vlc/test/src/clock/clock_start.c:90,1
    - Dst: vlc_clock_main_CreateMaster
      Src: /src/vlc/test/src/clock/clock_start.c:91,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock_start.c:93,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock_start.c:94,1
    - Dst: vlc_clock_main_CreateSlave
      Src: /src/vlc/test/src/clock/clock_start.c:96,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock_start.c:98,1
    - Dst: vlc_clock_main_Unlock
      Src: /src/vlc/test/src/clock/clock_start.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 4
    argNames:
    - logger
    - is_input_master
    - input_dejitter
    - output_dejitter
    argTypes:
    - struct vlc_logger*
    - bool
    - vlc_tick_t
    - vlc_tick_t
    assertStmts:
    - condition: (f.main != NULL)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/vlc/test/src/clock/clock_start.c
    - condition: (f.input != NULL)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/vlc/test/src/clock/clock_start.c
    - condition: (f.master != NULL)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/vlc/test/src/clock/clock_start.c
    - condition: (f.slave != NULL)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/vlc/test/src/clock/clock_start.c
    constantsTouched: []
    func_position:
      end: 102
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 102
    functionName: init_fixture_simple
    functionSourceFile: /src/vlc/test/src/clock/clock_start.c
    functionUses: 0
    functionsReached:
    - vlc_clock_main_CreateInputMaster
    - assert
    - vlc_clock_main_Unlock
    - vlc_clock_main_New
    - vlc_clock_main_SetDejitter
    - vlc_clock_main_CreateMaster
    - vlc_clock_main_CreateSlave
    - vlc_clock_main_Lock
    - vlc_clock_main_CreateInputSlave
    - vlc_clock_main_SetInputDejitter
    linkageType: ''
    returnType: struct clock_fixture_simple
    signature: "struct clock_fixture_simple init_fixture_simple(struct vlc_logger
      *logger,\n                    bool is_input_master,\n                    vlc_tick_t
      input_dejitter,\n                    vlc_tick_t output_dejitter)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_clock_Delete
      Src: /src/vlc/test/src/clock/clock_start.c:106,1
    - Dst: vlc_clock_Delete
      Src: /src/vlc/test/src/clock/clock_start.c:108,1
    - Dst: vlc_clock_Delete
      Src: /src/vlc/test/src/clock/clock_start.c:109,1
    - Dst: vlc_clock_main_Delete
      Src: /src/vlc/test/src/clock/clock_start.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct clock_fixture_simple*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: destroy_fixture_simple
    functionSourceFile: /src/vlc/test/src/clock/clock_start.c
    functionUses: 0
    functionsReached:
    - vlc_clock_Delete
    - vlc_clock_main_Delete
    linkageType: ''
    returnType: void
    signature: void destroy_fixture_simple(struct clock_fixture_simple *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_fixture_simple
      Src: /src/vlc/test/src/clock/clock_start.c:120,1
    - Dst: vlc_clock_main_Lock
      Src: /src/vlc/test/src/clock/clock_start.c:122,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/clock/clock_start.c:123,1
    - Dst: vlc_clock_Update
      Src: /src/vlc/test/src/clock/clock_start.c:125,1
    - Dst: vlc_clock_ConvertToSystem
      Src: /src/vlc/test/src/clock/clock_start.c:126,1
    - Dst: vlc_clock_Start
      Src: /src/vlc/test/src/clock/clock_start.c:130,1
    - Dst: vlc_clock_ConvertToSystem
      Src: /src/vlc/test/src/clock/clock_start.c:133,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock_start.c:134,1
    - Dst: vlc_clock_main_Unlock
      Src: /src/vlc/test/src/clock/clock_start.c:136,1
    - Dst: destroy_fixture_simple
      Src: /src/vlc/test/src/clock/clock_start.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - logger
    argTypes:
    - struct vlc_logger*
    assertStmts:
    - condition: (result == VLC_TICK_INVALID)
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/vlc/test/src/clock/clock_start.c
    constantsTouched: []
    func_position:
      end: 139
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 139
    functionName: test_clock_without_start
    functionSourceFile: /src/vlc/test/src/clock/clock_start.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_clock_Update
    - vlc_clock_main_Unlock
    - VLC_TICK_FROM_MS
    - destroy_fixture_simple
    - init_fixture_simple
    - vlc_clock_ConvertToSystem
    - vlc_clock_main_Lock
    - vlc_clock_Start
    linkageType: ''
    returnType: void
    signature: void test_clock_without_start(struct vlc_logger *logger)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/test/src/clock/clock_start.c:147,1
    - Dst: init_fixture_simple
      Src: /src/vlc/test/src/clock/clock_start.c:148,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/clock/clock_start.c:149,1
    - Dst: vlc_clock_main_Lock
      Src: /src/vlc/test/src/clock/clock_start.c:151,1
    - Dst: vlc_clock_Update
      Src: /src/vlc/test/src/clock/clock_start.c:152,1
    - Dst: vlc_clock_Start
      Src: /src/vlc/test/src/clock/clock_start.c:153,1
    - Dst: vlc_clock_Start
      Src: /src/vlc/test/src/clock/clock_start.c:154,1
    - Dst: vlc_clock_ConvertToSystem
      Src: /src/vlc/test/src/clock/clock_start.c:156,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock_start.c:157,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock_start.c:158,1
    - Dst: vlc_clock_main_Unlock
      Src: /src/vlc/test/src/clock/clock_start.c:159,1
    - Dst: destroy_fixture_simple
      Src: /src/vlc/test/src/clock/clock_start.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - logger
    argTypes:
    - struct vlc_logger*
    assertStmts:
    - condition: (result != VLC_TICK_INVALID)
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/vlc/test/src/clock/clock_start.c
    - condition: (result == now)
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/vlc/test/src/clock/clock_start.c
    constantsTouched: []
    func_position:
      end: 162
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 162
    functionName: test_clock_with_start
    functionSourceFile: /src/vlc/test/src/clock/clock_start.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_clock_Update
    - vlc_clock_main_Unlock
    - fprintf
    - VLC_TICK_FROM_MS
    - destroy_fixture_simple
    - init_fixture_simple
    - vlc_clock_main_Lock
    - vlc_clock_ConvertToSystem
    - vlc_clock_Start
    linkageType: ''
    returnType: void
    signature: void test_clock_with_start(struct vlc_logger *logger)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/test/src/clock/clock_start.c:169,1
    - Dst: init_fixture_simple
      Src: /src/vlc/test/src/clock/clock_start.c:170,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/clock/clock_start.c:171,1
    - Dst: vlc_clock_main_Lock
      Src: /src/vlc/test/src/clock/clock_start.c:173,1
    - Dst: vlc_clock_Start
      Src: /src/vlc/test/src/clock/clock_start.c:174,1
    - Dst: vlc_clock_Start
      Src: /src/vlc/test/src/clock/clock_start.c:175,1
    - Dst: vlc_clock_Start
      Src: /src/vlc/test/src/clock/clock_start.c:176,1
    - Dst: vlc_clock_Update
      Src: /src/vlc/test/src/clock/clock_start.c:177,1
    - Dst: vlc_clock_ConvertToSystem
      Src: /src/vlc/test/src/clock/clock_start.c:179,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock_start.c:180,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock_start.c:181,1
    - Dst: vlc_clock_main_Unlock
      Src: /src/vlc/test/src/clock/clock_start.c:182,1
    - Dst: destroy_fixture_simple
      Src: /src/vlc/test/src/clock/clock_start.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - logger
    argTypes:
    - struct vlc_logger*
    assertStmts:
    - condition: (result != VLC_TICK_INVALID)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/vlc/test/src/clock/clock_start.c
    - condition: (result == now)
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/vlc/test/src/clock/clock_start.c
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: test_clock_with_start_master
    functionSourceFile: /src/vlc/test/src/clock/clock_start.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_clock_Update
    - vlc_clock_main_Unlock
    - fprintf
    - VLC_TICK_FROM_MS
    - destroy_fixture_simple
    - init_fixture_simple
    - vlc_clock_main_Lock
    - vlc_clock_ConvertToSystem
    - vlc_clock_Start
    linkageType: ''
    returnType: void
    signature: void test_clock_with_start_master(struct vlc_logger *logger)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/test/src/clock/clock_start.c:193,1
    - Dst: init_fixture_simple
      Src: /src/vlc/test/src/clock/clock_start.c:194,1
    - Dst: vlc_clock_main_Lock
      Src: /src/vlc/test/src/clock/clock_start.c:195,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/clock/clock_start.c:197,1
    - Dst: vlc_clock_Update
      Src: /src/vlc/test/src/clock/clock_start.c:198,1
    - Dst: vlc_clock_Start
      Src: /src/vlc/test/src/clock/clock_start.c:199,1
    - Dst: vlc_clock_Start
      Src: /src/vlc/test/src/clock/clock_start.c:200,1
    - Dst: vlc_clock_ConvertToSystem
      Src: /src/vlc/test/src/clock/clock_start.c:202,1
    - Dst: fprintf
      Src: /src/vlc/test/src/clock/clock_start.c:203,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock_start.c:205,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock_start.c:206,1
    - Dst: vlc_clock_main_Unlock
      Src: /src/vlc/test/src/clock/clock_start.c:207,1
    - Dst: destroy_fixture_simple
      Src: /src/vlc/test/src/clock/clock_start.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - logger
    argTypes:
    - struct vlc_logger*
    assertStmts:
    - condition: (result != VLC_TICK_INVALID)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/vlc/test/src/clock/clock_start.c
    - condition: (result == 2 * now)
      pos:
        line_end: 205
        line_start: 205
        source_file: /src/vlc/test/src/clock/clock_start.c
    constantsTouched: []
    func_position:
      end: 210
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 210
    functionName: test_clock_with_output_dejitter
    functionSourceFile: /src/vlc/test/src/clock/clock_start.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_clock_Update
    - vlc_clock_main_Unlock
    - fprintf
    - VLC_TICK_FROM_MS
    - destroy_fixture_simple
    - init_fixture_simple
    - vlc_clock_main_Lock
    - vlc_clock_ConvertToSystem
    - vlc_clock_Start
    linkageType: ''
    returnType: void
    signature: void test_clock_with_output_dejitter(struct vlc_logger *logger)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/test/src/clock/clock_start.c:218,1
    - Dst: init_fixture_simple
      Src: /src/vlc/test/src/clock/clock_start.c:219,1
    - Dst: vlc_clock_main_Lock
      Src: /src/vlc/test/src/clock/clock_start.c:220,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/clock/clock_start.c:224,1
    - Dst: vlc_clock_Start
      Src: /src/vlc/test/src/clock/clock_start.c:225,1
    - Dst: vlc_clock_Start
      Src: /src/vlc/test/src/clock/clock_start.c:226,1
    - Dst: vlc_clock_Update
      Src: /src/vlc/test/src/clock/clock_start.c:230,1
    - Dst: vlc_clock_ConvertToSystem
      Src: /src/vlc/test/src/clock/clock_start.c:232,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock_start.c:233,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock_start.c:234,1
    - Dst: vlc_clock_main_Unlock
      Src: /src/vlc/test/src/clock/clock_start.c:235,1
    - Dst: destroy_fixture_simple
      Src: /src/vlc/test/src/clock/clock_start.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - logger
    argTypes:
    - struct vlc_logger*
    assertStmts:
    - condition: (result != VLC_TICK_INVALID)
      pos:
        line_end: 232
        line_start: 232
        source_file: /src/vlc/test/src/clock/clock_start.c
    - condition: (result == now)
      pos:
        line_end: 233
        line_start: 233
        source_file: /src/vlc/test/src/clock/clock_start.c
    constantsTouched: []
    func_position:
      end: 238
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 238
    functionName: test_clock_with_output_clock_start
    functionSourceFile: /src/vlc/test/src/clock/clock_start.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_clock_Update
    - vlc_clock_main_Unlock
    - fprintf
    - VLC_TICK_FROM_MS
    - destroy_fixture_simple
    - init_fixture_simple
    - vlc_clock_main_Lock
    - vlc_clock_ConvertToSystem
    - vlc_clock_Start
    linkageType: ''
    returnType: void
    signature: void test_clock_with_output_clock_start(struct vlc_logger *logger)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/test/src/clock/clock_start.c:245,1
    - Dst: init_fixture_simple
      Src: /src/vlc/test/src/clock/clock_start.c:246,1
    - Dst: vlc_clock_main_Lock
      Src: /src/vlc/test/src/clock/clock_start.c:247,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/clock/clock_start.c:251,1
    - Dst: vlc_clock_Start
      Src: /src/vlc/test/src/clock/clock_start.c:252,1
    - Dst: vlc_clock_Start
      Src: /src/vlc/test/src/clock/clock_start.c:255,1
    - Dst: vlc_clock_ConvertToSystem
      Src: /src/vlc/test/src/clock/clock_start.c:258,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock_start.c:259,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock_start.c:260,1
    - Dst: vlc_clock_main_Unlock
      Src: /src/vlc/test/src/clock/clock_start.c:261,1
    - Dst: destroy_fixture_simple
      Src: /src/vlc/test/src/clock/clock_start.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - logger
    argTypes:
    - struct vlc_logger*
    assertStmts:
    - condition: (result != VLC_TICK_INVALID)
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/vlc/test/src/clock/clock_start.c
    - condition: (result == now)
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/vlc/test/src/clock/clock_start.c
    constantsTouched: []
    func_position:
      end: 265
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 265
    functionName: test_clock_with_monotonic_clock
    functionSourceFile: /src/vlc/test/src/clock/clock_start.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_clock_main_Unlock
    - fprintf
    - VLC_TICK_FROM_MS
    - destroy_fixture_simple
    - init_fixture_simple
    - vlc_clock_main_Lock
    - vlc_clock_ConvertToSystem
    - vlc_clock_Start
    linkageType: ''
    returnType: void
    signature: void test_clock_with_monotonic_clock(struct vlc_logger *logger)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/test/src/clock/clock_start.c:278,1
    - Dst: init_fixture_simple
      Src: /src/vlc/test/src/clock/clock_start.c:279,1
    - Dst: vlc_clock_main_Lock
      Src: /src/vlc/test/src/clock/clock_start.c:280,1
    - Dst: vlc_clock_Start
      Src: /src/vlc/test/src/clock/clock_start.c:284,1
    - Dst: vlc_clock_Start
      Src: /src/vlc/test/src/clock/clock_start.c:287,1
    - Dst: vlc_clock_ConvertToSystem
      Src: /src/vlc/test/src/clock/clock_start.c:289,1
    - Dst: vlc_clock_main_Unlock
      Src: /src/vlc/test/src/clock/clock_start.c:290,1
    - Dst: destroy_fixture_simple
      Src: /src/vlc/test/src/clock/clock_start.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - logger
    - input_dejitter
    - output_dejitter
    - start_point
    - output_point
    - convert_point
    argTypes:
    - struct vlc_logger*
    - vlc_tick_t
    - vlc_tick_t
    - struct clock_point
    - struct clock_point
    - struct clock_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 294
    functionName: test_clock_with_monotonic_clock_start
    functionSourceFile: /src/vlc/test/src/clock/clock_start.c
    functionUses: 0
    functionsReached:
    - vlc_clock_main_Unlock
    - fprintf
    - destroy_fixture_simple
    - init_fixture_simple
    - vlc_clock_ConvertToSystem
    - vlc_clock_main_Lock
    - vlc_clock_Start
    linkageType: ''
    returnType: vlc_tick_t
    signature: "vlc_tick_t test_clock_with_monotonic_clock_start(\n    struct vlc_logger
      *logger,\n    vlc_tick_t input_dejitter,\n    vlc_tick_t output_dejitter,\n
      \   struct clock_point start_point,\n    struct clock_point output_point,\n
      \   struct clock_point convert_point\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/test/src/clock/clock_start.c:301,1
    - Dst: init_fixture_simple
      Src: /src/vlc/test/src/clock/clock_start.c:302,1
    - Dst: vlc_clock_main_Lock
      Src: /src/vlc/test/src/clock/clock_start.c:303,1
    - Dst: vlc_clock_Start
      Src: /src/vlc/test/src/clock/clock_start.c:307,1
    - Dst: vlc_clock_Update
      Src: /src/vlc/test/src/clock/clock_start.c:308,1
    - Dst: vlc_clock_Start
      Src: /src/vlc/test/src/clock/clock_start.c:311,1
    - Dst: vlc_clock_Update
      Src: /src/vlc/test/src/clock/clock_start.c:313,1
    - Dst: vlc_clock_main_Unlock
      Src: /src/vlc/test/src/clock/clock_start.c:314,1
    - Dst: destroy_fixture_simple
      Src: /src/vlc/test/src/clock/clock_start.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - logger
    - start_point
    - output_point
    argTypes:
    - struct vlc_logger*
    - struct clock_point
    - struct clock_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 318
    functionName: test_clock_slave_update
    functionSourceFile: /src/vlc/test/src/clock/clock_start.c
    functionUses: 0
    functionsReached:
    - vlc_clock_Update
    - vlc_clock_main_Unlock
    - fprintf
    - destroy_fixture_simple
    - init_fixture_simple
    - vlc_clock_main_Lock
    - vlc_clock_Start
    linkageType: ''
    returnType: vlc_tick_t
    signature: "vlc_tick_t test_clock_slave_update(\n    struct vlc_logger *logger,\n
      \   struct clock_point start_point,\n    struct clock_point output_point\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/test/src/clock/clock_start.c:323,1
    - Dst: init_fixture_simple
      Src: /src/vlc/test/src/clock/clock_start.c:324,1
    - Dst: vlc_clock_main_Lock
      Src: /src/vlc/test/src/clock/clock_start.c:325,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/clock/clock_start.c:327,1
    - Dst: vlc_clock_Start
      Src: /src/vlc/test/src/clock/clock_start.c:333,1
    - Dst: vlc_clock_Update
      Src: /src/vlc/test/src/clock/clock_start.c:334,1
    - Dst: vlc_clock_main_Reset
      Src: /src/vlc/test/src/clock/clock_start.c:335,1
    - Dst: vlc_clock_ConvertToSystem
      Src: /src/vlc/test/src/clock/clock_start.c:338,1
    - Dst: vlc_clock_Start
      Src: /src/vlc/test/src/clock/clock_start.c:342,1
    - Dst: vlc_clock_Update
      Src: /src/vlc/test/src/clock/clock_start.c:343,1
    - Dst: vlc_clock_ConvertToSystem
      Src: /src/vlc/test/src/clock/clock_start.c:344,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock_start.c:345,1
    - Dst: vlc_clock_main_Unlock
      Src: /src/vlc/test/src/clock/clock_start.c:346,1
    - Dst: destroy_fixture_simple
      Src: /src/vlc/test/src/clock/clock_start.c:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - logger
    argTypes:
    - struct vlc_logger*
    assertStmts:
    - condition: (result == start_point.system)
      pos:
        line_end: 344
        line_start: 344
        source_file: /src/vlc/test/src/clock/clock_start.c
    constantsTouched: []
    func_position:
      end: 349
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 349
    functionName: test_clock_start_reset
    functionSourceFile: /src/vlc/test/src/clock/clock_start.c
    functionUses: 0
    functionsReached:
    - vlc_clock_main_Reset
    - assert
    - vlc_clock_Update
    - vlc_clock_main_Unlock
    - fprintf
    - VLC_TICK_FROM_MS
    - destroy_fixture_simple
    - init_fixture_simple
    - vlc_clock_main_Lock
    - vlc_clock_ConvertToSystem
    - vlc_clock_Start
    linkageType: ''
    returnType: void
    signature: "void test_clock_start_reset(\n    struct vlc_logger *logger\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/test/src/clock/clock_start.c:354,1
    - Dst: init_fixture_simple
      Src: /src/vlc/test/src/clock/clock_start.c:355,1
    - Dst: vlc_clock_main_Lock
      Src: /src/vlc/test/src/clock/clock_start.c:356,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/clock/clock_start.c:358,1
    - Dst: vlc_clock_Start
      Src: /src/vlc/test/src/clock/clock_start.c:363,1
    - Dst: vlc_clock_Start
      Src: /src/vlc/test/src/clock/clock_start.c:365,1
    - Dst: vlc_clock_ConvertToSystem
      Src: /src/vlc/test/src/clock/clock_start.c:367,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock_start.c:368,1
    - Dst: vlc_clock_ConvertToSystem
      Src: /src/vlc/test/src/clock/clock_start.c:370,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock_start.c:371,1
    - Dst: vlc_clock_main_Unlock
      Src: /src/vlc/test/src/clock/clock_start.c:372,1
    - Dst: destroy_fixture_simple
      Src: /src/vlc/test/src/clock/clock_start.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - logger
    argTypes:
    - struct vlc_logger*
    assertStmts:
    - condition: (result == start_point.system)
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/vlc/test/src/clock/clock_start.c
    - condition: (result == start_point.system + 1000)
      pos:
        line_end: 370
        line_start: 370
        source_file: /src/vlc/test/src/clock/clock_start.c
    constantsTouched: []
    func_position:
      end: 375
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 375
    functionName: test_clock_slave_only
    functionSourceFile: /src/vlc/test/src/clock/clock_start.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_clock_main_Unlock
    - fprintf
    - VLC_TICK_FROM_MS
    - destroy_fixture_simple
    - init_fixture_simple
    - vlc_clock_main_Lock
    - vlc_clock_ConvertToSystem
    - vlc_clock_Start
    linkageType: ''
    returnType: void
    signature: "void test_clock_slave_only(\n    struct vlc_logger *logger\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_new
      Src: /src/vlc/test/src/clock/clock_start.c:378,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock_start.c:379,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/clock/clock_start.c:384,1
    - Dst: test_clock_with_start
      Src: /src/vlc/test/src/clock/clock_start.c:387,1
    - Dst: test_clock_with_start_master
      Src: /src/vlc/test/src/clock/clock_start.c:388,1
    - Dst: test_clock_with_output_dejitter
      Src: /src/vlc/test/src/clock/clock_start.c:389,1
    - Dst: test_clock_with_output_clock_start
      Src: /src/vlc/test/src/clock/clock_start.c:390,1
    - Dst: test_clock_with_monotonic_clock
      Src: /src/vlc/test/src/clock/clock_start.c:391,1
    - Dst: test_clock_with_monotonic_clock_start
      Src: /src/vlc/test/src/clock/clock_start.c:397,1
    - Dst: fprintf
      Src: /src/vlc/test/src/clock/clock_start.c:399,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock_start.c:400,1
    - Dst: test_clock_with_monotonic_clock_start
      Src: /src/vlc/test/src/clock/clock_start.c:404,1
    - Dst: fprintf
      Src: /src/vlc/test/src/clock/clock_start.c:406,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock_start.c:407,1
    - Dst: test_clock_with_monotonic_clock_start
      Src: /src/vlc/test/src/clock/clock_start.c:412,1
    - Dst: fprintf
      Src: /src/vlc/test/src/clock/clock_start.c:414,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock_start.c:415,1
    - Dst: test_clock_with_monotonic_clock_start
      Src: /src/vlc/test/src/clock/clock_start.c:418,1
    - Dst: fprintf
      Src: /src/vlc/test/src/clock/clock_start.c:420,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock_start.c:421,1
    - Dst: test_clock_with_monotonic_clock_start
      Src: /src/vlc/test/src/clock/clock_start.c:424,1
    - Dst: fprintf
      Src: /src/vlc/test/src/clock/clock_start.c:426,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock_start.c:427,1
    - Dst: test_clock_with_monotonic_clock_start
      Src: /src/vlc/test/src/clock/clock_start.c:430,1
    - Dst: fprintf
      Src: /src/vlc/test/src/clock/clock_start.c:432,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock_start.c:433,1
    - Dst: test_clock_with_monotonic_clock_start
      Src: /src/vlc/test/src/clock/clock_start.c:436,1
    - Dst: fprintf
      Src: /src/vlc/test/src/clock/clock_start.c:438,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock_start.c:439,1
    - Dst: test_clock_slave_update
      Src: /src/vlc/test/src/clock/clock_start.c:443,1
    - Dst: fprintf
      Src: /src/vlc/test/src/clock/clock_start.c:444,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock_start.c:445,1
    - Dst: test_clock_slave_update
      Src: /src/vlc/test/src/clock/clock_start.c:448,1
    - Dst: fprintf
      Src: /src/vlc/test/src/clock/clock_start.c:449,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock_start.c:450,1
    - Dst: test_clock_slave_update
      Src: /src/vlc/test/src/clock/clock_start.c:453,1
    - Dst: fprintf
      Src: /src/vlc/test/src/clock/clock_start.c:454,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock_start.c:455,1
    - Dst: test_clock_start_reset
      Src: /src/vlc/test/src/clock/clock_start.c:457,1
    - Dst: test_clock_slave_only
      Src: /src/vlc/test/src/clock/clock_start.c:458,1
    - Dst: libvlc_release
      Src: /src/vlc/test/src/clock/clock_start.c:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (result == start_point.system)
      pos:
        line_end: 399
        line_start: 399
        source_file: /src/vlc/test/src/clock/clock_start.c
    - condition: (result == start_point.system + 100)
      pos:
        line_end: 414
        line_start: 414
        source_file: /src/vlc/test/src/clock/clock_start.c
    - condition: (result == -10)
      pos:
        line_end: 449
        line_start: 449
        source_file: /src/vlc/test/src/clock/clock_start.c
    - condition: (result == 10)
      pos:
        line_end: 454
        line_start: 454
        source_file: /src/vlc/test/src/clock/clock_start.c
    - condition: (libvlc != NULL)
      pos:
        line_end: 378
        line_start: 378
        source_file: /src/vlc/test/src/clock/clock_start.c
    - condition: (result == start_point.system)
      pos:
        line_end: 406
        line_start: 406
        source_file: /src/vlc/test/src/clock/clock_start.c
    - condition: (result == start_point.system + 130)
      pos:
        line_end: 420
        line_start: 420
        source_file: /src/vlc/test/src/clock/clock_start.c
    - condition: (result == start_point.system + 100)
      pos:
        line_end: 426
        line_start: 426
        source_file: /src/vlc/test/src/clock/clock_start.c
    - condition: (result == start_point.system + 133)
      pos:
        line_end: 432
        line_start: 432
        source_file: /src/vlc/test/src/clock/clock_start.c
    - condition: (result == start_point.system + 555)
      pos:
        line_end: 438
        line_start: 438
        source_file: /src/vlc/test/src/clock/clock_start.c
    - condition: (result == 0)
      pos:
        line_end: 444
        line_start: 444
        source_file: /src/vlc/test/src/clock/clock_start.c
    constantsTouched: []
    func_position:
      end: 461
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 461
    functionName: main
    functionSourceFile: /src/vlc/test/src/clock/clock_start.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - test_clock_start_reset
    - assert
    - test_clock_slave_update
    - test_clock_slave_only
    - fprintf
    - VLC_TICK_FROM_MS
    - test_clock_with_start_master
    - libvlc_new
    - test_clock_with_monotonic_clock_start
    - test_clock_with_start
    - test_clock_with_output_dejitter
    - test_clock_with_monotonic_clock
    - test_clock_with_output_clock_start
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct tracer_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: tracer_ctx_Reset
    functionSourceFile: /src/vlc/test/src/clock/clock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tracer_ctx_Reset(struct tracer_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tracer_ctx_Reset
      Src: /src/vlc/test/src/clock/clock.c:143,1
    - Dst: vlc_vector_init
      Src: /src/vlc/test/src/clock/clock.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct tracer_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: tracer_ctx_Init
    functionSourceFile: /src/vlc/test/src/clock/clock.c
    functionUses: 0
    functionsReached:
    - vlc_vector_init
    - tracer_ctx_Reset
    linkageType: ''
    returnType: void
    signature: void tracer_ctx_Init(struct tracer_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vector_destroy
      Src: /src/vlc/test/src/clock/clock.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct tracer_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: tracer_ctx_Destroy
    functionSourceFile: /src/vlc/test/src/clock/clock.c
    functionUses: 0
    functionsReached:
    - vlc_vector_destroy
    linkageType: ''
    returnType: void
    signature: void tracer_ctx_Destroy(struct tracer_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vector_push
      Src: /src/vlc/test/src/clock/clock.c:162,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - coeff
    - offset
    argTypes:
    - struct tracer_ctx*
    - double
    - vlc_tick_t
    assertStmts:
    - condition: (ret)
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/vlc/test/src/clock/clock.c
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: tracer_ctx_PushUpdate
    functionSourceFile: /src/vlc/test/src/clock/clock.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_vector_push
    linkageType: ''
    returnType: void
    signature: "void tracer_ctx_PushUpdate(struct tracer_ctx *ctx,\n                                  double
      coeff, vlc_tick_t offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vector_push
      Src: /src/vlc/test/src/clock/clock.c:176,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - play_date
    - pts
    argTypes:
    - struct tracer_ctx*
    - vlc_tick_t
    - vlc_tick_t
    assertStmts:
    - condition: (ret)
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/vlc/test/src/clock/clock.c
    constantsTouched: []
    func_position:
      end: 178
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 178
    functionName: tracer_ctx_PushRenderVideo
    functionSourceFile: /src/vlc/test/src/clock/clock.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_vector_push
    linkageType: ''
    returnType: void
    signature: "void tracer_ctx_PushRenderVideo(struct tracer_ctx *ctx,\n                                       vlc_tick_t
      play_date, vlc_tick_t pts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vector_push
      Src: /src/vlc/test/src/clock/clock.c:187,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - status
    argTypes:
    - struct tracer_ctx*
    - enum tracer_event_status
    assertStmts:
    - condition: (ret)
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/vlc/test/src/clock/clock.c
    constantsTouched: []
    func_position:
      end: 189
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 189
    functionName: tracer_ctx_PushStatus
    functionSourceFile: /src/vlc/test/src/clock/clock.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_vector_push
    linkageType: ''
    returnType: void
    signature: "void tracer_ctx_PushStatus(struct tracer_ctx *ctx,\n                                  enum
      tracer_event_status status)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:215,1
    - Dst: strcmp
      Src: /src/vlc/test/src/clock/clock.c:217,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/test/src/clock/clock.c:220,1
    - Dst: strcmp
      Src: /src/vlc/test/src/clock/clock.c:222,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/test/src/clock/clock.c:223,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:228,1
    - Dst: strcmp
      Src: /src/vlc/test/src/clock/clock.c:230,1
    - Dst: strcmp
      Src: /src/vlc/test/src/clock/clock.c:237,1
    - Dst: strcmp
      Src: /src/vlc/test/src/clock/clock.c:239,1
    - Dst: strcmp
      Src: /src/vlc/test/src/clock/clock.c:242,1
    - Dst: strcmp
      Src: /src/vlc/test/src/clock/clock.c:244,1
    - Dst: strcmp
      Src: /src/vlc/test/src/clock/clock.c:251,1
    - Dst: strcmp
      Src: /src/vlc/test/src/clock/clock.c:254,1
    - Dst: strcmp
      Src: /src/vlc/test/src/clock/clock.c:256,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/test/src/clock/clock.c:259,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/test/src/clock/clock.c:263,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:271,1
    - Dst: tracer_ctx_PushStatus
      Src: /src/vlc/test/src/clock/clock.c:283,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:286,1
    - Dst: tracer_ctx_PushUpdate
      Src: /src/vlc/test/src/clock/clock.c:287,1
    - Dst: tracer_ctx_PushRenderVideo
      Src: /src/vlc/test/src/clock/clock.c:290,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 62
    argCount: 3
    argNames:
    - opaque
    - ts
    - trace
    argTypes:
    - void*
    - vlc_tick_t
    - struct vlc_tracer_trace*
    assertStmts:
    - condition: (!is_status)
      pos:
        line_end: 227
        line_start: 227
        source_file: /src/vlc/test/src/clock/clock.c
    - condition: (!is_status)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/vlc/test/src/clock/clock.c
    - condition: (tracer_ctx.forced_ts != VLC_TICK_INVALID)
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/vlc/test/src/clock/clock.c
    - condition: (nb_update == 2)
      pos:
        line_end: 285
        line_start: 285
        source_file: /src/vlc/test/src/clock/clock.c
    constantsTouched: []
    func_position:
      end: 291
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 291
    functionName: TracerTrace
    functionSourceFile: /src/vlc/test/src/clock/clock.c
    functionUses: 0
    functionsReached:
    - tracer_ctx_PushStatus
    - assert
    - vlc_assert_unreachable
    - tracer_ctx_PushRenderVideo
    - strcmp
    - VLC_TICK_FROM_NS
    - tracer_ctx_PushUpdate
    linkageType: ''
    returnType: void
    signature: "void TracerTrace(void *opaque, vlc_tick_t ts,\n                        const
      struct vlc_tracer_trace *trace)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_get_tracer
      Src: /src/vlc/test/src/clock/clock.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - obj
    - sysp
    argTypes:
    - vlc_object_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 305
    functionName: OpenTracer
    functionSourceFile: /src/vlc/test/src/clock/clock.c
    functionUses: 0
    functionsReached:
    - vlc_object_get_tracer
    linkageType: ''
    returnType: struct vlc_tracer_operations
    signature: 'struct vlc_tracer_operations *

      OpenTracer(vlc_object_t *obj, void **restrict sysp)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/test/src/clock/clock.c:320,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:322,1
    - Dst: tracer_ctx_Reset
      Src: /src/vlc/test/src/clock/clock.c:325,1
    - Dst: vlc_clock_main_New
      Src: /src/vlc/test/src/clock/clock.c:329,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:330,1
    - Dst: vlc_clock_main_Lock
      Src: /src/vlc/test/src/clock/clock.c:332,1
    - Dst: vlc_clock_main_CreateInputSlave
      Src: /src/vlc/test/src/clock/clock.c:333,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:334,1
    - Dst: vlc_clock_main_CreateMaster
      Src: /src/vlc/test/src/clock/clock.c:336,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:338,1
    - Dst: asprintf
      Src: /src/vlc/test/src/clock/clock.c:341,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:342,1
    - Dst: vlc_clock_main_CreateSlave
      Src: /src/vlc/test/src/clock/clock.c:343,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:345,1
    - Dst: vlc_clock_main_SetInputDejitter
      Src: /src/vlc/test/src/clock/clock.c:349,1
    - Dst: vlc_clock_main_SetDejitter
      Src: /src/vlc/test/src/clock/clock.c:350,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/clock/clock.c:353,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/clock/clock.c:354,1
    - Dst: vlc_clock_Start
      Src: /src/vlc/test/src/clock/clock.c:361,1
    - Dst: vlc_clock_Start
      Src: /src/vlc/test/src/clock/clock.c:364,1
    - Dst: vlc_clock_main_Unlock
      Src: /src/vlc/test/src/clock/clock.c:365,1
    - Dst: struct clock_scenario*::run
      Src: /src/vlc/test/src/clock/clock.c:379,1
    - Dst: vlc_tick_now
      Src: /src/vlc/test/src/clock/clock.c:386,1
    - Dst: vlc_tick_rate_duration
      Src: /src/vlc/test/src/clock/clock.c:393,1
    - Dst: struct clock_scenario*::update
      Src: /src/vlc/test/src/clock/clock.c:401,1
    - Dst: vlc_clock_Lock
      Src: /src/vlc/test/src/clock/clock.c:409,1
    - Dst: vlc_clock_ConvertToSystem
      Src: /src/vlc/test/src/clock/clock.c:411,1
    - Dst: vlc_clock_Update
      Src: /src/vlc/test/src/clock/clock.c:413,1
    - Dst: vlc_clock_Unlock
      Src: /src/vlc/test/src/clock/clock.c:414,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:426,1
    - Dst: struct clock_scenario*::check
      Src: /src/vlc/test/src/clock/clock.c:428,1
    - Dst: vlc_clock_Delete
      Src: /src/vlc/test/src/clock/clock.c:432,1
    - Dst: vlc_clock_Delete
      Src: /src/vlc/test/src/clock/clock.c:433,1
    - Dst: vlc_clock_Delete
      Src: /src/vlc/test/src/clock/clock.c:434,1
    - Dst: free
      Src: /src/vlc/test/src/clock/clock.c:435,1
    - Dst: vlc_clock_main_Delete
      Src: /src/vlc/test/src/clock/clock.c:436,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 3
    argNames:
    - vlc
    - tracer
    - scenario
    argTypes:
    - libvlc_int_t*
    - struct vlc_tracer*
    - struct clock_scenario*
    assertStmts:
    - condition: (mainclk != NULL)
      pos:
        line_end: 329
        line_start: 329
        source_file: /src/vlc/test/src/clock/clock.c
    - condition: (expected_system == scenario->system_start + scenario->duration)
      pos:
        line_end: 425
        line_start: 425
        source_file: /src/vlc/test/src/clock/clock.c
    - condition: (input != NULL)
      pos:
        line_end: 333
        line_start: 333
        source_file: /src/vlc/test/src/clock/clock.c
    - condition: (slave != NULL)
      pos:
        line_end: 344
        line_start: 344
        source_file: /src/vlc/test/src/clock/clock.c
    - condition: "((scenario->type == CLOCK_SCENARIO_UPDATE && scenario->update !=
        NULL)\n        || (scenario->type == CLOCK_SCENARIO_RUN && scenario->run !=
        NULL))"
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/vlc/test/src/clock/clock.c
    - condition: (master != NULL)
      pos:
        line_end: 337
        line_start: 337
        source_file: /src/vlc/test/src/clock/clock.c
    - condition: (ret != -1)
      pos:
        line_end: 341
        line_start: 341
        source_file: /src/vlc/test/src/clock/clock.c
    constantsTouched: []
    func_position:
      end: 437
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 437
    functionName: play_scenario
    functionSourceFile: /src/vlc/test/src/clock/clock.c
    functionUses: 2
    functionsReached:
    - assert
    - vlc_clock_Lock
    - vlc_clock_main_Unlock
    - vlc_clock_main_New
    - vlc_clock_main_SetDejitter
    - vlc_clock_main_CreateMaster
    - vlc_tick_rate_duration
    - vlc_clock_main_Lock
    - vlc_clock_Start
    - vlc_clock_main_SetInputDejitter
    - struct clock_scenario*::run
    - asprintf
    - vlc_tick_now
    - vlc_clock_ConvertToSystem
    - struct clock_scenario*::check
    - vlc_clock_Update
    - fprintf
    - tracer_ctx_Reset
    - VLC_TICK_FROM_MS
    - vlc_clock_main_Delete
    - free
    - vlc_clock_main_CreateSlave
    - vlc_clock_main_CreateInputSlave
    - vlc_clock_Delete
    - struct clock_scenario*::update
    - vlc_clock_Unlock
    linkageType: ''
    returnType: void
    signature: "void play_scenario(libvlc_int_t *vlc, struct vlc_tracer *tracer,\n
      \                         struct clock_scenario *scenario)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: atoll
      Src: /src/vlc/test/src/clock/clock.c:457,1
    - Dst: libvlc_new
      Src: /src/vlc/test/src/clock/clock.c:467,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:468,1
    - Dst: tracer_ctx_Init
      Src: /src/vlc/test/src/clock/clock.c:470,1
    - Dst: vlc_tracer_Create
      Src: /src/vlc/test/src/clock/clock.c:472,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/test/src/clock/clock.c:472,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:474,1
    - Dst: strcmp
      Src: /src/vlc/test/src/clock/clock.c:479,1
    - Dst: play_scenario
      Src: /src/vlc/test/src/clock/clock.c:484,1
    - Dst: vlc_tracer_Destroy
      Src: /src/vlc/test/src/clock/clock.c:488,1
    - Dst: tracer_ctx_Destroy
      Src: /src/vlc/test/src/clock/clock.c:490,1
    - Dst: libvlc_release
      Src: /src/vlc/test/src/clock/clock.c:492,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - argc
    - argv
    - scenarios
    - count
    argTypes:
    - int
    - char*[]
    - struct clock_scenario*
    - size_t
    assertStmts:
    - condition: (vlc != NULL)
      pos:
        line_end: 467
        line_start: 467
        source_file: /src/vlc/test/src/clock/clock.c
    - condition: (tracer != NULL)
      pos:
        line_end: 473
        line_start: 473
        source_file: /src/vlc/test/src/clock/clock.c
    constantsTouched: []
    func_position:
      end: 493
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 493
    functionName: run_scenarios
    functionSourceFile: /src/vlc/test/src/clock/clock.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - assert
    - tracer_ctx_Destroy
    - play_scenario
    - libvlc_new
    - strcmp
    - VLC_OBJECT
    - vlc_tracer_Create
    - atoll
    - vlc_tracer_Destroy
    - tracer_ctx_Init
    linkageType: ''
    returnType: void
    signature: "void run_scenarios(int argc, const char *argv[],\n                          struct
      clock_scenario *scenarios, size_t count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_clock_Lock
      Src: /src/vlc/test/src/clock/clock.c:501,1
    - Dst: vlc_clock_Update
      Src: /src/vlc/test/src/clock/clock.c:503,1
    - Dst: vlc_clock_Unlock
      Src: /src/vlc/test/src/clock/clock.c:504,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - index
    - system
    - stream
    argTypes:
    - struct clock_ctx*
    - size_t
    - vlc_tick_t*
    - vlc_tick_t
    assertStmts:
    - condition: (drift == VLC_TICK_INVALID)
      pos:
        line_end: 505
        line_start: 505
        source_file: /src/vlc/test/src/clock/clock.c
    constantsTouched: []
    func_position:
      end: 509
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 509
    functionName: normal_update
    functionSourceFile: /src/vlc/test/src/clock/clock.c
    functionUses: 0
    functionsReached:
    - vlc_clock_Unlock
    - assert
    - vlc_clock_Update
    - vlc_clock_Lock
    linkageType: ''
    returnType: void
    signature: "void normal_update(const struct clock_ctx *ctx, size_t index,\n                          vlc_tick_t
      *system, vlc_tick_t stream)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:514,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:532,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:539,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - expected_update_count
    argTypes:
    - size_t
    assertStmts:
    - condition: (tracer_ctx.events.size > 0)
      pos:
        line_end: 513
        line_start: 513
        source_file: /src/vlc/test/src/clock/clock.c
    - condition: ("clock reset not expected" == NULL)
      pos:
        line_end: 531
        line_start: 531
        source_file: /src/vlc/test/src/clock/clock.c
    - condition: (update_count == expected_update_count)
      pos:
        line_end: 538
        line_start: 538
        source_file: /src/vlc/test/src/clock/clock.c
    constantsTouched: []
    func_position:
      end: 540
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 540
    functionName: check_no_event_error
    functionSourceFile: /src/vlc/test/src/clock/clock.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void check_no_event_error(size_t expected_update_count)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_no_event_error
      Src: /src/vlc/test/src/clock/clock.c:548,1
    - Dst: vlc_tick_rate_duration
      Src: /src/vlc/test/src/clock/clock.c:550,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:559,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:560,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:564,1
    - Dst: vlc_clock_Lock
      Src: /src/vlc/test/src/clock/clock.c:572,1
    - Dst: vlc_clock_ConvertToSystem
      Src: /src/vlc/test/src/clock/clock.c:574,1
    - Dst: vlc_clock_Unlock
      Src: /src/vlc/test/src/clock/clock.c:576,1
    - Dst: fprintf
      Src: /src/vlc/test/src/clock/clock.c:577,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:579,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - update_count
    - expected_system_end
    - stream_end
    argTypes:
    - struct clock_ctx*
    - size_t
    - vlc_tick_t
    - vlc_tick_t
    assertStmts:
    - condition: (event.update.coeff == 1.0f)
      pos:
        line_end: 558
        line_start: 558
        source_file: /src/vlc/test/src/clock/clock.c
    - condition: (event.update.offset == 0)
      pos:
        line_end: 559
        line_start: 559
        source_file: /src/vlc/test/src/clock/clock.c
    - condition: (event.render_video.play_date - last_video_date == video_increment)
      pos:
        line_end: 563
        line_start: 563
        source_file: /src/vlc/test/src/clock/clock.c
    - condition: (converted == expected_system_end)
      pos:
        line_end: 578
        line_start: 578
        source_file: /src/vlc/test/src/clock/clock.c
    constantsTouched: []
    func_position:
      end: 580
      start: 542
    functionDepth: 2
    functionLinenumber: 542
    functionLinenumberEnd: 580
    functionName: normal_check
    functionSourceFile: /src/vlc/test/src/clock/clock.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_clock_Lock
    - check_no_event_error
    - fprintf
    - vlc_tick_rate_duration
    - vlc_clock_ConvertToSystem
    - vlc_clock_Unlock
    linkageType: ''
    returnType: void
    signature: "void normal_check(const struct clock_ctx *ctx, size_t update_count,\n
      \                        vlc_tick_t expected_system_end,\n                         vlc_tick_t
      stream_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/vlc/test/src/clock/clock.c:591,1
    - Dst: rand
      Src: /src/vlc/test/src/clock/clock.c:592,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/clock/clock.c:592,1
    - Dst: vlc_clock_Lock
      Src: /src/vlc/test/src/clock/clock.c:595,1
    - Dst: vlc_clock_Update
      Src: /src/vlc/test/src/clock/clock.c:597,1
    - Dst: vlc_clock_Unlock
      Src: /src/vlc/test/src/clock/clock.c:598,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - index
    - system
    - stream
    argTypes:
    - struct clock_ctx*
    - size_t
    - vlc_tick_t*
    - vlc_tick_t
    assertStmts:
    - condition: (drift == VLC_TICK_INVALID)
      pos:
        line_end: 599
        line_start: 599
        source_file: /src/vlc/test/src/clock/clock.c
    constantsTouched: []
    func_position:
      end: 601
      start: 582
    functionDepth: 2
    functionLinenumber: 582
    functionLinenumberEnd: 601
    functionName: lowprecision_update
    functionSourceFile: /src/vlc/test/src/clock/clock.c
    functionUses: 0
    functionsReached:
    - rand
    - assert
    - vlc_clock_Update
    - vlc_clock_Lock
    - VLC_TICK_FROM_MS
    - srand
    - vlc_clock_Unlock
    linkageType: ''
    returnType: void
    signature: "void lowprecision_update(const struct clock_ctx *ctx, size_t index,\n
      \                               vlc_tick_t *system, vlc_tick_t stream)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_no_event_error
      Src: /src/vlc/test/src/clock/clock.c:610,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:618,1
    - Dst: fabs
      Src: /src/vlc/test/src/clock/clock.c:618,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - update_count
    - expected_system_end
    - stream_end
    argTypes:
    - struct clock_ctx*
    - size_t
    - vlc_tick_t
    - vlc_tick_t
    assertStmts:
    - condition: (fabs(event.update.coeff - 1.0f) <= scenario->coeff_epsilon)
      pos:
        line_end: 617
        line_start: 617
        source_file: /src/vlc/test/src/clock/clock.c
    constantsTouched: []
    func_position:
      end: 624
      start: 603
    functionDepth: 2
    functionLinenumber: 603
    functionLinenumberEnd: 624
    functionName: lowprecision_check
    functionSourceFile: /src/vlc/test/src/clock/clock.c
    functionUses: 0
    functionsReached:
    - fabs
    - assert
    - check_no_event_error
    linkageType: ''
    returnType: void
    signature: "void lowprecision_check(const struct clock_ctx *ctx, size_t update_count,\n
      \                              vlc_tick_t expected_system_end,\n                               vlc_tick_t
      stream_end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_clock_Lock
      Src: /src/vlc/test/src/clock/clock.c:632,1
    - Dst: vlc_clock_Update
      Src: /src/vlc/test/src/clock/clock.c:634,1
    - Dst: vlc_clock_Unlock
      Src: /src/vlc/test/src/clock/clock.c:635,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:637,1
    - Dst: VLC_TICK_FROM_US
      Src: /src/vlc/test/src/clock/clock.c:643,1
    - Dst: VLC_TICK_FROM_US
      Src: /src/vlc/test/src/clock/clock.c:645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - index
    - system
    - stream
    argTypes:
    - struct clock_ctx*
    - size_t
    - vlc_tick_t*
    - vlc_tick_t
    assertStmts:
    - condition: (drift == VLC_TICK_INVALID)
      pos:
        line_end: 636
        line_start: 636
        source_file: /src/vlc/test/src/clock/clock.c
    constantsTouched: []
    func_position:
      end: 646
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 646
    functionName: drift_update
    functionSourceFile: /src/vlc/test/src/clock/clock.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_clock_Update
    - VLC_TICK_FROM_US
    - vlc_clock_Lock
    - vlc_clock_Unlock
    linkageType: ''
    returnType: void
    signature: "void drift_update(const struct clock_ctx *ctx, size_t index,\n                         vlc_tick_t
      *system, vlc_tick_t stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_no_event_error
      Src: /src/vlc/test/src/clock/clock.c:654,1
    - Dst: vlc_clock_Lock
      Src: /src/vlc/test/src/clock/clock.c:656,1
    - Dst: vlc_clock_ConvertToSystem
      Src: /src/vlc/test/src/clock/clock.c:658,1
    - Dst: vlc_clock_Unlock
      Src: /src/vlc/test/src/clock/clock.c:660,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - update_count
    - expected_system_end
    - stream_end
    argTypes:
    - struct clock_ctx*
    - size_t
    - vlc_tick_t
    - vlc_tick_t
    assertStmts:
    - condition: (converted - expected_system_end == scenario->total_drift_duration)
      pos:
        line_end: 661
        line_start: 661
        source_file: /src/vlc/test/src/clock/clock.c
    constantsTouched: []
    func_position:
      end: 663
      start: 648
    functionDepth: 2
    functionLinenumber: 648
    functionLinenumberEnd: 663
    functionName: drift_check
    functionSourceFile: /src/vlc/test/src/clock/clock.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_clock_Lock
    - check_no_event_error
    - vlc_clock_ConvertToSystem
    - vlc_clock_Unlock
    linkageType: ''
    returnType: void
    signature: "void drift_check(const struct clock_ctx *ctx, size_t update_count,\n
      \                       vlc_tick_t expected_system_end,\n                        vlc_tick_t
      stream_end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_clock_Lock
      Src: /src/vlc/test/src/clock/clock.c:671,1
    - Dst: vlc_clock_Update
      Src: /src/vlc/test/src/clock/clock.c:673,1
    - Dst: vlc_clock_Unlock
      Src: /src/vlc/test/src/clock/clock.c:674,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:676,1
    - Dst: VLC_TICK_FROM_US
      Src: /src/vlc/test/src/clock/clock.c:683,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - index
    - system
    - stream
    argTypes:
    - struct clock_ctx*
    - size_t
    - vlc_tick_t*
    - vlc_tick_t
    assertStmts:
    - condition: (drift == VLC_TICK_INVALID)
      pos:
        line_end: 675
        line_start: 675
        source_file: /src/vlc/test/src/clock/clock.c
    constantsTouched: []
    func_position:
      end: 685
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 685
    functionName: drift_sudden_update
    functionSourceFile: /src/vlc/test/src/clock/clock.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_clock_Update
    - VLC_TICK_FROM_US
    - vlc_clock_Lock
    - vlc_clock_Unlock
    linkageType: ''
    returnType: void
    signature: "void drift_sudden_update(const struct clock_ctx *ctx, size_t index,\n
      \                               vlc_tick_t *system, vlc_tick_t stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/clock/clock.c:690,1
    - Dst: vlc_clock_Lock
      Src: /src/vlc/test/src/clock/clock.c:693,1
    - Dst: vlc_clock_Start
      Src: /src/vlc/test/src/clock/clock.c:694,1
    - Dst: vlc_clock_Update
      Src: /src/vlc/test/src/clock/clock.c:695,1
    - Dst: vlc_clock_Unlock
      Src: /src/vlc/test/src/clock/clock.c:696,1
    - Dst: vlc_clock_Lock
      Src: /src/vlc/test/src/clock/clock.c:699,1
    - Dst: vlc_clock_ConvertToSystem
      Src: /src/vlc/test/src/clock/clock.c:700,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:701,1
    - Dst: vlc_clock_Unlock
      Src: /src/vlc/test/src/clock/clock.c:702,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/clock/clock.c:705,1
    - Dst: vlc_clock_main_Lock
      Src: /src/vlc/test/src/clock/clock.c:707,1
    - Dst: vlc_clock_main_ChangePause
      Src: /src/vlc/test/src/clock/clock.c:708,1
    - Dst: vlc_clock_main_Unlock
      Src: /src/vlc/test/src/clock/clock.c:709,1
    - Dst: vlc_clock_main_Lock
      Src: /src/vlc/test/src/clock/clock.c:713,1
    - Dst: vlc_clock_main_ChangePause
      Src: /src/vlc/test/src/clock/clock.c:714,1
    - Dst: vlc_clock_main_Unlock
      Src: /src/vlc/test/src/clock/clock.c:715,1
    - Dst: vlc_clock_Lock
      Src: /src/vlc/test/src/clock/clock.c:718,1
    - Dst: vlc_clock_ConvertToSystem
      Src: /src/vlc/test/src/clock/clock.c:719,1
    - Dst: vlc_clock_Unlock
      Src: /src/vlc/test/src/clock/clock.c:720,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - updater
    argTypes:
    - struct clock_ctx*
    - vlc_clock_t*
    assertStmts:
    - condition: (converted == system_start + pause_duration)
      pos:
        line_end: 720
        line_start: 720
        source_file: /src/vlc/test/src/clock/clock.c
    - condition: (converted == system)
      pos:
        line_end: 700
        line_start: 700
        source_file: /src/vlc/test/src/clock/clock.c
    constantsTouched: []
    func_position:
      end: 722
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 722
    functionName: pause_common
    functionSourceFile: /src/vlc/test/src/clock/clock.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_clock_Update
    - vlc_clock_main_ChangePause
    - vlc_clock_Lock
    - vlc_clock_main_Unlock
    - VLC_TICK_FROM_MS
    - vlc_clock_ConvertToSystem
    - vlc_clock_main_Lock
    - vlc_clock_Start
    - vlc_clock_Unlock
    linkageType: ''
    returnType: void
    signature: void pause_common(const struct clock_ctx *ctx, vlc_clock_t *updater)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pause_common
      Src: /src/vlc/test/src/clock/clock.c:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct clock_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 724
    functionDepth: 2
    functionLinenumber: 724
    functionLinenumberEnd: 727
    functionName: master_pause_run
    functionSourceFile: /src/vlc/test/src/clock/clock.c
    functionUses: 0
    functionsReached:
    - pause_common
    linkageType: ''
    returnType: void
    signature: void master_pause_run(const struct clock_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pause_common
      Src: /src/vlc/test/src/clock/clock.c:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct clock_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 729
    functionDepth: 2
    functionLinenumber: 729
    functionLinenumberEnd: 732
    functionName: monotonic_pause_run
    functionSourceFile: /src/vlc/test/src/clock/clock.c
    functionUses: 0
    functionsReached:
    - pause_common
    linkageType: ''
    returnType: void
    signature: void monotonic_pause_run(const struct clock_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_clock_main_Lock
      Src: /src/vlc/test/src/clock/clock.c:739,1
    - Dst: vlc_clock_main_SetFirstPcr
      Src: /src/vlc/test/src/clock/clock.c:740,1
    - Dst: vlc_clock_main_Unlock
      Src: /src/vlc/test/src/clock/clock.c:741,1
    - Dst: vlc_clock_Lock
      Src: /src/vlc/test/src/clock/clock.c:743,1
    - Dst: vlc_clock_Start
      Src: /src/vlc/test/src/clock/clock.c:744,1
    - Dst: vlc_clock_Update
      Src: /src/vlc/test/src/clock/clock.c:745,1
    - Dst: vlc_clock_Unlock
      Src: /src/vlc/test/src/clock/clock.c:746,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/clock/clock.c:748,1
    - Dst: vlc_clock_main_Lock
      Src: /src/vlc/test/src/clock/clock.c:750,1
    - Dst: vlc_clock_main_ChangePause
      Src: /src/vlc/test/src/clock/clock.c:751,1
    - Dst: vlc_clock_main_Unlock
      Src: /src/vlc/test/src/clock/clock.c:752,1
    - Dst: vlc_clock_Lock
      Src: /src/vlc/test/src/clock/clock.c:755,1
    - Dst: vlc_clock_ConvertToSystem
      Src: /src/vlc/test/src/clock/clock.c:756,1
    - Dst: vlc_clock_Unlock
      Src: /src/vlc/test/src/clock/clock.c:757,1
    - Dst: fprintf
      Src: /src/vlc/test/src/clock/clock.c:759,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - updater
    argTypes:
    - struct clock_ctx*
    - vlc_clock_t*
    assertStmts:
    - condition: (converted == system_start)
      pos:
        line_end: 760
        line_start: 760
        source_file: /src/vlc/test/src/clock/clock.c
    constantsTouched: []
    func_position:
      end: 762
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 762
    functionName: convert_paused_common
    functionSourceFile: /src/vlc/test/src/clock/clock.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_clock_Update
    - vlc_clock_main_ChangePause
    - vlc_clock_Lock
    - vlc_clock_main_Unlock
    - fprintf
    - VLC_TICK_FROM_MS
    - vlc_clock_main_Lock
    - vlc_clock_ConvertToSystem
    - vlc_clock_Start
    - vlc_clock_main_SetFirstPcr
    - vlc_clock_Unlock
    linkageType: ''
    returnType: void
    signature: void convert_paused_common(const struct clock_ctx *ctx, vlc_clock_t
      *updater)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: convert_paused_common
      Src: /src/vlc/test/src/clock/clock.c:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct clock_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 764
    functionDepth: 2
    functionLinenumber: 764
    functionLinenumberEnd: 767
    functionName: master_convert_paused_run
    functionSourceFile: /src/vlc/test/src/clock/clock.c
    functionUses: 0
    functionsReached:
    - convert_paused_common
    linkageType: ''
    returnType: void
    signature: void master_convert_paused_run(const struct clock_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: convert_paused_common
      Src: /src/vlc/test/src/clock/clock.c:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct clock_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 769
    functionDepth: 2
    functionLinenumber: 769
    functionLinenumberEnd: 772
    functionName: monotonic_convert_paused_run
    functionSourceFile: /src/vlc/test/src/clock/clock.c
    functionUses: 0
    functionsReached:
    - convert_paused_common
    linkageType: ''
    returnType: void
    signature: void monotonic_convert_paused_run(const struct clock_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_clock_main_Lock
      Src: /src/vlc/test/src/clock/clock.c:781,1
    - Dst: vlc_clock_main_SetFirstPcr
      Src: /src/vlc/test/src/clock/clock.c:784,1
    - Dst: vlc_clock_ConvertToSystem
      Src: /src/vlc/test/src/clock/clock.c:787,1
    - Dst: fprintf
      Src: /src/vlc/test/src/clock/clock.c:789,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:790,1
    - Dst: fprintf
      Src: /src/vlc/test/src/clock/clock.c:791,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:793,1
    - Dst: vlc_clock_Update
      Src: /src/vlc/test/src/clock/clock.c:794,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/test/src/clock/clock.c:798,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/clock/clock.c:799,1
    - Dst: vlc_clock_main_SetFirstPcr
      Src: /src/vlc/test/src/clock/clock.c:800,1
    - Dst: vlc_clock_ConvertToSystem
      Src: /src/vlc/test/src/clock/clock.c:803,1
    - Dst: fprintf
      Src: /src/vlc/test/src/clock/clock.c:805,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:806,1
    - Dst: fprintf
      Src: /src/vlc/test/src/clock/clock.c:807,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:808,1
    - Dst: vlc_clock_ConvertToSystem
      Src: /src/vlc/test/src/clock/clock.c:812,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/clock/clock.c:813,1
    - Dst: fprintf
      Src: /src/vlc/test/src/clock/clock.c:815,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:816,1
    - Dst: fprintf
      Src: /src/vlc/test/src/clock/clock.c:817,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/clock/clock.c:818,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:819,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/clock/clock.c:819,1
    - Dst: vlc_clock_Update
      Src: /src/vlc/test/src/clock/clock.c:822,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/clock/clock.c:825,1
    - Dst: vlc_clock_main_SetFirstPcr
      Src: /src/vlc/test/src/clock/clock.c:827,1
    - Dst: vlc_clock_ConvertToSystem
      Src: /src/vlc/test/src/clock/clock.c:830,1
    - Dst: fprintf
      Src: /src/vlc/test/src/clock/clock.c:832,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:833,1
    - Dst: fprintf
      Src: /src/vlc/test/src/clock/clock.c:834,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:836,1
    - Dst: vlc_clock_Update
      Src: /src/vlc/test/src/clock/clock.c:838,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/test/src/clock/clock.c:842,1
    - Dst: vlc_clock_ConvertToSystem
      Src: /src/vlc/test/src/clock/clock.c:843,1
    - Dst: fprintf
      Src: /src/vlc/test/src/clock/clock.c:845,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:846,1
    - Dst: fprintf
      Src: /src/vlc/test/src/clock/clock.c:847,1
    - Dst: assert
      Src: /src/vlc/test/src/clock/clock.c:849,1
    - Dst: vlc_clock_main_Unlock
      Src: /src/vlc/test/src/clock/clock.c:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct clock_ctx*
    assertStmts:
    - condition: (converted == system)
      pos:
        line_end: 792
        line_start: 792
        source_file: /src/vlc/test/src/clock/clock.c
    - condition: (clock_id == 1)
      pos:
        line_end: 805
        line_start: 805
        source_file: /src/vlc/test/src/clock/clock.c
    - condition: (clock_id == 0)
      pos:
        line_end: 815
        line_start: 815
        source_file: /src/vlc/test/src/clock/clock.c
    - condition: (converted == system_context0 + VLC_TICK_FROM_MS(10))
      pos:
        line_end: 818
        line_start: 818
        source_file: /src/vlc/test/src/clock/clock.c
    - condition: (converted == system)
      pos:
        line_end: 807
        line_start: 807
        source_file: /src/vlc/test/src/clock/clock.c
    - condition: (converted == system)
      pos:
        line_end: 835
        line_start: 835
        source_file: /src/vlc/test/src/clock/clock.c
    - condition: (clock_id == 0)
      pos:
        line_end: 789
        line_start: 789
        source_file: /src/vlc/test/src/clock/clock.c
    - condition: (clock_id == 2)
      pos:
        line_end: 845
        line_start: 845
        source_file: /src/vlc/test/src/clock/clock.c
    - condition: (clock_id == 2)
      pos:
        line_end: 832
        line_start: 832
        source_file: /src/vlc/test/src/clock/clock.c
    - condition: (converted != system_context0)
      pos:
        line_end: 848
        line_start: 848
        source_file: /src/vlc/test/src/clock/clock.c
    constantsTouched: []
    func_position:
      end: 852
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 852
    functionName: contexts_run
    functionSourceFile: /src/vlc/test/src/clock/clock.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_clock_Update
    - vlc_clock_main_Unlock
    - fprintf
    - VLC_TICK_FROM_SEC
    - VLC_TICK_FROM_MS
    - vlc_clock_ConvertToSystem
    - vlc_clock_main_Lock
    - vlc_clock_main_SetFirstPcr
    linkageType: ''
    returnType: void
    signature: void contexts_run(const struct clock_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - duration_
    - ','
    - increment_
    - ','
    - video_fps_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 864
    functionName: INIT_SYSTEM_STREAM_TIMING
    functionSourceFile: /src/vlc/test/src/clock/clock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INIT_SYSTEM_STREAM_TIMING(duration_, increment_, video_fps_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/src/clock/clock.c:975,1
    - Dst: run_scenarios
      Src: /src/vlc/test/src/clock/clock.c:976,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/clock/clock.c:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 973
    functionDepth: 3
    functionLinenumber: 973
    functionLinenumberEnd: 979
    functionName: main
    functionSourceFile: /src/vlc/test/src/clock/clock.c
    functionUses: 0
    functionsReached:
    - test_init
    - ARRAY_SIZE
    - run_scenarios
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: STRINGIFY_
    functionSourceFile: /src/vlc/test/src/preparser/thumbnail_to_files.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRINGIFY_(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: STRINGIFY
    functionSourceFile: /src/vlc/test/src/preparser/thumbnail_to_files.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRINGIFY(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_preparser_req_GetItem
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:90,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:92,1
    - Dst: strcmp
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:98,1
    - Dst: strlen
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:98,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:105,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:107,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:112,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:113,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:114,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:115,1
    - Dst: vlc_sem_post
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:117,1
    - Dst: vlc_preparser_req_Release
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - req
    - status
    - userdata
    argTypes:
    - vlc_preparser_req*
    - int
    - void*
    assertStmts:
    - condition: (status == VLC_SUCCESS)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/vlc/test/src/preparser/thumbnail_to_files.c
    - condition: (test_entry != NULL)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/vlc/test/src/preparser/thumbnail_to_files.c
    - condition: (item->es_vec.size == 1)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/vlc/test/src/preparser/thumbnail_to_files.c
    - condition: (es_fmt->i_cat == VIDEO_ES)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/vlc/test/src/preparser/thumbnail_to_files.c
    - condition: (es_fmt->i_codec == context->parsed_fourcc)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/vlc/test/src/preparser/thumbnail_to_files.c
    - condition: (es_fmt->video.i_width == test_entry->out_width)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/vlc/test/src/preparser/thumbnail_to_files.c
    - condition: (es_fmt->video.i_height == test_entry->out_height)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/vlc/test/src/preparser/thumbnail_to_files.c
    constantsTouched: []
    func_position:
      end: 119
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 119
    functionName: parser_on_ended
    functionSourceFile: /src/vlc/test/src/preparser/thumbnail_to_files.c
    functionUses: 0
    functionsReached:
    - vlc_preparser_req_GetItem
    - assert
    - strlen
    - vlc_preparser_req_Release
    - vlc_sem_post
    - strcmp
    linkageType: ''
    returnType: void
    signature: void parser_on_ended(vlc_preparser_req *req, int status, void *userdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:126,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:127,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:138,1
    - Dst: vlc_sem_post
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:141,1
    - Dst: asprintf
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:146,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:147,1
    - Dst: input_item_New
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:148,1
    - Dst: free
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:149,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:150,1
    - Dst: asprintf
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:156,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:157,1
    - Dst: input_item_AddOption
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:158,1
    - Dst: free
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:159,1
    - Dst: vlc_preparser_Push
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:163,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:166,1
    - Dst: input_item_Release
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 5
    argNames:
    - thumbnailer_req
    - status
    - result_array
    - result_count
    - data
    argTypes:
    - vlc_preparser_req*
    - int
    - bool*
    - size_t
    - void*
    assertStmts:
    - condition: (status == VLC_SUCCESS)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/vlc/test/src/preparser/thumbnail_to_files.c
    - condition: (test_entry->should_succeed == result_array[i])
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/vlc/test/src/preparser/thumbnail_to_files.c
    - condition: (context->test_count == result_count)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/vlc/test/src/preparser/thumbnail_to_files.c
    - condition: (ret > 0)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/vlc/test/src/preparser/thumbnail_to_files.c
    - condition: (thumb != NULL)
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/vlc/test/src/preparser/thumbnail_to_files.c
    - condition: (parser_req != NULL)
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/vlc/test/src/preparser/thumbnail_to_files.c
    - condition: (ret > 0)
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/vlc/test/src/preparser/thumbnail_to_files.c
    constantsTouched: []
    func_position:
      end: 170
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 170
    functionName: on_ended
    functionSourceFile: /src/vlc/test/src/preparser/thumbnail_to_files.c
    functionUses: 0
    functionsReached:
    - asprintf
    - assert
    - input_item_New
    - input_item_AddOption
    - input_item_Release
    - vlc_sem_post
    - free
    - vlc_preparser_Push
    linkageType: ''
    returnType: void
    signature: "void on_ended(vlc_preparser_req *thumbnailer_req, int status,\n                     const
      bool *result_array, size_t result_count, void *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_preparser_GetBestThumbnailerFormat
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:205,1
    - Dst: vlc_preparser_CheckThumbnailerFormat
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:210,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:211,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:213,1
    - Dst: module_exists
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:220,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:223,1
    - Dst: strcmp
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:223,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:231,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - out_format
    - parsed_fourcc
    - forced_demux
    - ext
    argTypes:
    - enum vlc_thumbnailer_format*
    - vlc_fourcc_t*
    - char**
    - char**
    assertStmts:
    - condition: (ret == 0)
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/vlc/test/src/preparser/thumbnail_to_files.c
    - condition: (strcmp(*ext, formats[i].ext) == 0)
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/vlc/test/src/preparser/thumbnail_to_files.c
    constantsTouched: []
    func_position:
      end: 232
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 232
    functionName: get_formats
    functionSourceFile: /src/vlc/test/src/preparser/thumbnail_to_files.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_preparser_GetBestThumbnailerFormat
    - ARRAY_SIZE
    - vlc_assert_unreachable
    - module_exists
    - strcmp
    - vlc_preparser_CheckThumbnailerFormat
    linkageType: ''
    returnType: int
    signature: "int get_formats(enum vlc_thumbnailer_format *out_format,\n                       vlc_fourcc_t
      *parsed_fourcc, const char **forced_demux,\n                       const char
      **ext)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:236,1
    - Dst: get_formats
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:244,1
    - Dst: fprintf
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:247,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:250,1
    - Dst: fprintf
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:252,1
    - Dst: strcpy
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:263,1
    - Dst: vlc_mkstemp
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:264,1
    - Dst: fprintf
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:267,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:270,1
    - Dst: vlc_preparser_New
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:293,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:293,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:295,1
    - Dst: vlc_sem_init
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:305,1
    - Dst: input_item_New
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:321,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:322,1
    - Dst: vlc_preparser_GenerateThumbnailToFiles
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:325,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:329,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:333,1
    - Dst: vlc_preparser_Cancel
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:335,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:336,1
    - Dst: vlc_preparser_req_Release
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:337,1
    - Dst: unlink
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:342,1
    - Dst: close
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:343,1
    - Dst: input_item_Release
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:346,1
    - Dst: vlc_preparser_Delete
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:348,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 2
    argNames:
    - vlc
    - external
    argTypes:
    - libvlc_instance_t*
    - bool
    assertStmts:
    - condition: (fd_array[i] != -1)
      pos:
        line_end: 269
        line_start: 269
        source_file: /src/vlc/test/src/preparser/thumbnail_to_files.c
    - condition: (item != NULL)
      pos:
        line_end: 321
        line_start: 321
        source_file: /src/vlc/test/src/preparser/thumbnail_to_files.c
    - condition: (ret == 0)
      pos:
        line_end: 249
        line_start: 249
        source_file: /src/vlc/test/src/preparser/thumbnail_to_files.c
    - condition: (req != NULL)
      pos:
        line_end: 328
        line_start: 328
        source_file: /src/vlc/test/src/preparser/thumbnail_to_files.c
    - condition: (preparser != NULL)
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/vlc/test/src/preparser/thumbnail_to_files.c
    - condition: (count == 0)
      pos:
        line_end: 335
        line_start: 335
        source_file: /src/vlc/test/src/preparser/thumbnail_to_files.c
    constantsTouched: []
    func_position:
      end: 353
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 353
    functionName: run_test
    functionSourceFile: /src/vlc/test/src/preparser/thumbnail_to_files.c
    functionUses: 0
    functionsReached:
    - get_formats
    - assert
    - vlc_sem_init
    - ARRAY_SIZE
    - vlc_preparser_New
    - input_item_New
    - vlc_sem_wait
    - fprintf
    - vlc_preparser_Cancel
    - vlc_mkstemp
    - vlc_preparser_req_Release
    - vlc_preparser_GenerateThumbnailToFiles
    - input_item_Release
    - close
    - unlink
    - strcpy
    - vlc_preparser_Delete
    - VLC_OBJECT
    linkageType: ''
    returnType: int
    signature: int run_test(libvlc_instance_t *vlc, bool external)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:367,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:368,1
    - Dst: vlc_sem_post
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - req
    - status
    - result_array
    - result_count
    - data
    argTypes:
    - vlc_preparser_req*
    - int
    - bool*
    - size_t
    - void*
    assertStmts:
    - condition: (status == VLC_SUCCESS)
      pos:
        line_end: 366
        line_start: 366
        source_file: /src/vlc/test/src/preparser/thumbnail_to_files.c
    - condition: (result_count == 1)
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/vlc/test/src/preparser/thumbnail_to_files.c
    constantsTouched: []
    func_position:
      end: 371
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 371
    functionName: alpha_on_ended
    functionSourceFile: /src/vlc/test/src/preparser/thumbnail_to_files.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_sem_post
    linkageType: ''
    returnType: void
    signature: "void alpha_on_ended(vlc_preparser_req *req, int status,\n                           const
      bool *result_array, size_t result_count,\n                           void *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_preparser_CheckThumbnailerFormat
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:380,1
    - Dst: fprintf
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:382,1
    - Dst: vlc_mkstemp
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:387,1
    - Dst: fprintf
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:390,1
    - Dst: vlc_preparser_New
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:411,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:411,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:413,1
    - Dst: vlc_sem_init
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:416,1
    - Dst: input_item_New
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:428,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:431,1
    - Dst: vlc_preparser_GenerateThumbnailToFiles
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:434,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:436,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:437,1
    - Dst: vlc_preparser_req_Release
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:439,1
    - Dst: input_item_Release
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:440,1
    - Dst: vlc_preparser_Delete
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:441,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:443,1
    - Dst: malloc
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:447,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:448,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:449,1
    - Dst: lseek
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:449,1
    - Dst: read
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:452,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:453,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:471,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:483,1
    - Dst: free
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:486,1
    - Dst: close
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:488,1
    - Dst: unlink
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:489,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - vlc
    - test_align
    argTypes:
    - libvlc_instance_t*
    - bool
    assertStmts:
    - condition: "(buf[i * 4 + 3] == buf[i * 4 + 0]\n               && \"swscale alpha-crop
        regression: alpha does not match colour\")"
      pos:
        line_end: 483
        line_start: 482
        source_file: /src/vlc/test/src/preparser/thumbnail_to_files.c
    - condition: (req != NULL)
      pos:
        line_end: 435
        line_start: 435
        source_file: /src/vlc/test/src/preparser/thumbnail_to_files.c
    - condition: (lseek(fd, 0, SEEK_SET) == 0)
      pos:
        line_end: 448
        line_start: 448
        source_file: /src/vlc/test/src/preparser/thumbnail_to_files.c
    - condition: (r > 0)
      pos:
        line_end: 452
        line_start: 452
        source_file: /src/vlc/test/src/preparser/thumbnail_to_files.c
    - condition: "(max_alpha > 200\n               && \"swscale alpha-crop regression:
        alpha extracted from wrong origin\")"
      pos:
        line_end: 471
        line_start: 470
        source_file: /src/vlc/test/src/preparser/thumbnail_to_files.c
    - condition: (preparser != NULL)
      pos:
        line_end: 412
        line_start: 412
        source_file: /src/vlc/test/src/preparser/thumbnail_to_files.c
    - condition: (item != NULL)
      pos:
        line_end: 430
        line_start: 430
        source_file: /src/vlc/test/src/preparser/thumbnail_to_files.c
    - condition: (ctx.success)
      pos:
        line_end: 442
        line_start: 442
        source_file: /src/vlc/test/src/preparser/thumbnail_to_files.c
    - condition: (buf != NULL)
      pos:
        line_end: 447
        line_start: 447
        source_file: /src/vlc/test/src/preparser/thumbnail_to_files.c
    constantsTouched: []
    func_position:
      end: 491
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 491
    functionName: run_alpha_crop_test
    functionSourceFile: /src/vlc/test/src/preparser/thumbnail_to_files.c
    functionUses: 0
    functionsReached:
    - vlc_sem_init
    - assert
    - vlc_sem_wait
    - vlc_preparser_req_Release
    - close
    - input_item_New
    - vlc_preparser_Delete
    - unlink
    - lseek
    - vlc_preparser_New
    - input_item_Release
    - fprintf
    - vlc_mkstemp
    - read
    - vlc_preparser_CheckThumbnailerFormat
    - vlc_preparser_GenerateThumbnailToFiles
    - free
    - VLC_OBJECT
    - malloc
    linkageType: ''
    returnType: int
    signature: int run_alpha_crop_test(libvlc_instance_t *vlc, bool test_align)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:495,1
    - Dst: libvlc_new
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:499,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:500,1
    - Dst: module_exists
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:505,1
    - Dst: fprintf
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:507,1
    - Dst: fprintf
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:511,1
    - Dst: run_test
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:512,1
    - Dst: fprintf
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:516,1
    - Dst: run_alpha_crop_test
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:517,1
    - Dst: fprintf
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:521,1
    - Dst: run_alpha_crop_test
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:522,1
    - Dst: fprintf
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:527,1
    - Dst: run_test
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:528,1
    - Dst: libvlc_release
      Src: /src/vlc/test/src/preparser/thumbnail_to_files.c:535,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (vlc)
      pos:
        line_end: 499
        line_start: 499
        source_file: /src/vlc/test/src/preparser/thumbnail_to_files.c
    constantsTouched: []
    func_position:
      end: 537
      start: 493
    functionDepth: 3
    functionLinenumber: 493
    functionLinenumberEnd: 537
    functionName: main
    functionSourceFile: /src/vlc/test/src/preparser/thumbnail_to_files.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - assert
    - run_alpha_crop_test
    - run_test
    - fprintf
    - test_init
    - module_exists
    - libvlc_new
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char *argv[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/test/src/preparser/thumbnail.c:75,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail.c:79,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail.c:81,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail.c:82,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail.c:99,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail.c:104,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail.c:107,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail.c:109,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/test/src/preparser/thumbnail.c:113,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/test/src/preparser/thumbnail.c:114,1
    - Dst: vlc_preparser_req_Release
      Src: /src/vlc/test/src/preparser/thumbnail.c:115,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - req
    - status
    - thumbnail
    - data
    argTypes:
    - vlc_preparser_req*
    - int
    - picture_t*
    - void*
    assertStmts:
    - condition: ( thumbnail->date == expected_date && "Unexpected picture date")
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/vlc/test/src/preparser/thumbnail.c
    - condition: ( thumbnail->format.i_chroma == VLC_CODEC_ARGB )
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/vlc/test/src/preparser/thumbnail.c
    - condition: "( test_params[p_ctx->test_idx].b_expected_success &&\n                \"Expected
        failure but got a thumbnail\" )"
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/vlc/test/src/preparser/thumbnail.c
    - condition: ( status == VLC_SUCCESS )
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/vlc/test/src/preparser/thumbnail.c
    - condition: "( !test_params[p_ctx->test_idx].b_expected_success &&\n                \"Expected
        a thumbnail but got a failure\" )"
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/vlc/test/src/preparser/thumbnail.c
    - condition: ( status == VLC_EGENERIC )
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/vlc/test/src/preparser/thumbnail.c
    - condition: ( status == VLC_ETIMEOUT )
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/vlc/test/src/preparser/thumbnail.c
    constantsTouched: []
    func_position:
      end: 116
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 116
    functionName: thumbnailer_callback
    functionSourceFile: /src/vlc/test/src/preparser/thumbnail.c
    functionUses: 0
    functionsReached:
    - vlc_cond_signal
    - assert
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_preparser_req_Release
    linkageType: ''
    returnType: void
    signature: "void thumbnailer_callback( vlc_preparser_req *req, int status,\n                                  picture_t*
      thumbnail, void *data )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_cond_init
      Src: /src/vlc/test/src/preparser/thumbnail.c:121,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/test/src/preparser/thumbnail.c:122,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/preparser/thumbnail.c:124,1
    - Dst: vlc_preparser_New
      Src: /src/vlc/test/src/preparser/thumbnail.c:137,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/test/src/preparser/thumbnail.c:138,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail.c:139,1
    - Dst: asprintf
      Src: /src/vlc/test/src/preparser/thumbnail.c:142,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail.c:148,1
    - Dst: input_item_New
      Src: /src/vlc/test/src/preparser/thumbnail.c:149,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail.c:150,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/test/src/preparser/thumbnail.c:152,1
    - Dst: vlc_preparser_GenerateThumbnail
      Src: /src/vlc/test/src/preparser/thumbnail.c:174,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail.c:176,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/test/src/preparser/thumbnail.c:179,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/test/src/preparser/thumbnail.c:181,1
    - Dst: input_item_Release
      Src: /src/vlc/test/src/preparser/thumbnail.c:183,1
    - Dst: free
      Src: /src/vlc/test/src/preparser/thumbnail.c:184,1
    - Dst: vlc_preparser_Delete
      Src: /src/vlc/test/src/preparser/thumbnail.c:186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 2
    argNames:
    - p_vlc
    - external
    argTypes:
    - libvlc_instance_t*
    - bool
    assertStmts:
    - condition: ( p_thumbnailer != NULL )
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/vlc/test/src/preparser/thumbnail.c
    - condition: ( !"Failed to allocate mock mrl" )
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/vlc/test/src/preparser/thumbnail.c
    - condition: ( p_item != NULL )
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/vlc/test/src/preparser/thumbnail.c
    - condition: ( req != NULL )
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/vlc/test/src/preparser/thumbnail.c
    constantsTouched: []
    func_position:
      end: 188
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 188
    functionName: test_thumbnails
    functionSourceFile: /src/vlc/test/src/preparser/thumbnail.c
    functionUses: 0
    functionsReached:
    - asprintf
    - assert
    - vlc_cond_wait
    - vlc_preparser_New
    - ARRAY_SIZE
    - input_item_New
    - vlc_mutex_lock
    - vlc_mutex_unlock
    - input_item_Release
    - vlc_mutex_init
    - vlc_preparser_Delete
    - free
    - vlc_cond_init
    - VLC_OBJECT
    - vlc_preparser_GenerateThumbnail
    linkageType: ''
    returnType: void
    signature: void test_thumbnails( libvlc_instance_t* p_vlc, bool external )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail.c:193,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail.c:194,1
    - Dst: vlc_sem_post
      Src: /src/vlc/test/src/preparser/thumbnail.c:197,1
    - Dst: vlc_preparser_req_Release
      Src: /src/vlc/test/src/preparser/thumbnail.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - req
    - status
    - p_thumbnail
    - data
    argTypes:
    - vlc_preparser_req*
    - int
    - picture_t*
    - void*
    assertStmts:
    - condition: ( p_thumbnail == NULL )
      pos:
        line_end: 192
        line_start: 192
        source_file: /src/vlc/test/src/preparser/thumbnail.c
    - condition: ( status == -EINTR )
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/vlc/test/src/preparser/thumbnail.c
    constantsTouched: []
    func_position:
      end: 199
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 199
    functionName: thumbnailer_callback_cancel
    functionSourceFile: /src/vlc/test/src/preparser/thumbnail.c
    functionUses: 0
    functionsReached:
    - vlc_preparser_req_Release
    - assert
    - vlc_sem_post
    linkageType: ''
    returnType: void
    signature: "void thumbnailer_callback_cancel( vlc_preparser_req *req, int status,\n
      \                                        picture_t* p_thumbnail, void *data
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_preparser_New
      Src: /src/vlc/test/src/preparser/thumbnail.c:208,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/test/src/preparser/thumbnail.c:209,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail.c:210,1
    - Dst: input_item_New
      Src: /src/vlc/test/src/preparser/thumbnail.c:216,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail.c:217,1
    - Dst: vlc_sem_init
      Src: /src/vlc/test/src/preparser/thumbnail.c:224,1
    - Dst: vlc_preparser_GenerateThumbnail
      Src: /src/vlc/test/src/preparser/thumbnail.c:226,1
    - Dst: vlc_preparser_Cancel
      Src: /src/vlc/test/src/preparser/thumbnail.c:228,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/test/src/preparser/thumbnail.c:230,1
    - Dst: input_item_Release
      Src: /src/vlc/test/src/preparser/thumbnail.c:232,1
    - Dst: vlc_preparser_Delete
      Src: /src/vlc/test/src/preparser/thumbnail.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - p_vlc
    - external
    argTypes:
    - libvlc_instance_t*
    - bool
    assertStmts:
    - condition: ( p_thumbnailer != NULL )
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/vlc/test/src/preparser/thumbnail.c
    - condition: ( p_item != NULL )
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/vlc/test/src/preparser/thumbnail.c
    constantsTouched: []
    func_position:
      end: 235
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 235
    functionName: test_cancel_thumbnail
    functionSourceFile: /src/vlc/test/src/preparser/thumbnail.c
    functionUses: 0
    functionsReached:
    - vlc_sem_init
    - assert
    - vlc_sem_wait
    - vlc_preparser_New
    - input_item_New
    - vlc_preparser_Cancel
    - input_item_Release
    - vlc_preparser_Delete
    - VLC_OBJECT
    - vlc_preparser_GenerateThumbnail
    linkageType: ''
    returnType: void
    signature: void test_cancel_thumbnail( libvlc_instance_t* p_vlc, bool external
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/src/preparser/thumbnail.c:239,1
    - Dst: libvlc_new
      Src: /src/vlc/test/src/preparser/thumbnail.c:245,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/preparser/thumbnail.c:245,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/thumbnail.c:246,1
    - Dst: fprintf
      Src: /src/vlc/test/src/preparser/thumbnail.c:248,1
    - Dst: test_thumbnails
      Src: /src/vlc/test/src/preparser/thumbnail.c:249,1
    - Dst: test_cancel_thumbnail
      Src: /src/vlc/test/src/preparser/thumbnail.c:250,1
    - Dst: fprintf
      Src: /src/vlc/test/src/preparser/thumbnail.c:253,1
    - Dst: test_thumbnails
      Src: /src/vlc/test/src/preparser/thumbnail.c:254,1
    - Dst: test_cancel_thumbnail
      Src: /src/vlc/test/src/preparser/thumbnail.c:255,1
    - Dst: libvlc_release
      Src: /src/vlc/test/src/preparser/thumbnail.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (vlc)
      pos:
        line_end: 245
        line_start: 245
        source_file: /src/vlc/test/src/preparser/thumbnail.c
    constantsTouched: []
    func_position:
      end: 260
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 260
    functionName: main
    functionSourceFile: /src/vlc/test/src/preparser/thumbnail.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - assert
    - test_cancel_thumbnail
    - ARRAY_SIZE
    - fprintf
    - test_init
    - libvlc_new
    - test_thumbnails
    linkageType: ''
    returnType: int
    signature: int main( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: CMP_PRINT
    functionSourceFile: /src/vlc/test/src/preparser/cmp_internal_external.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP_PRINT(s, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ret
    - ','
    - i
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: CMP_BOOL
    functionSourceFile: /src/vlc/test/src/preparser/cmp_internal_external.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP_BOOL(ret, i, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ret
    - ','
    - i
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: CMP_STRING
    functionSourceFile: /src/vlc/test/src/preparser/cmp_internal_external.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP_STRING(ret, i, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ret
    - ','
    - i
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: CMP_INT
    functionSourceFile: /src/vlc/test/src/preparser/cmp_internal_external.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP_INT(ret, i, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ret
    - ','
    - i
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: CMP_UINT
    functionSourceFile: /src/vlc/test/src/preparser/cmp_internal_external.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP_UINT(ret, i, a, b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CMP_STRING
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:103,1
    - Dst: CMP_STRING
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:104,1
    - Dst: CMP_INT
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:105,1
    - Dst: CMP_INT
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:106,1
    - Dst: CMP_UINT
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:108,1
    - Dst: es_format_IsSimilar
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:119,1
    - Dst: CMP_PRINT
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:120,1
    - Dst: CMP_BOOL
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:122,1
    - Dst: CMP_STRING
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:123,1
    - Dst: CMP_BOOL
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:124,1
    - Dst: CMP_INT
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:129,1
    - Dst: CMP_BOOL
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - a
    - b
    - i
    argTypes:
    - input_item_t*
    - input_item_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 132
    functionName: cmp_item
    functionSourceFile: /src/vlc/test/src/preparser/cmp_internal_external.c
    functionUses: 0
    functionsReached:
    - CMP_BOOL
    - CMP_STRING
    - es_format_IsSimilar
    - CMP_UINT
    - CMP_PRINT
    - CMP_INT
    linkageType: ''
    returnType: bool
    signature: bool cmp_item(const input_item_t *a, const input_item_t *b, int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:146,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:149,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - req
    - status
    - userdata
    argTypes:
    - struct vlc_preparser_req*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 151
    functionName: preparser_callback
    functionSourceFile: /src/vlc/test/src/preparser/cmp_internal_external.c
    functionUses: 0
    functionsReached:
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void preparser_callback(struct vlc_preparser_req *req, int status,
      void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_cond_init
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:156,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:157,1
    - Dst: vlc_preparser_New
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:168,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:169,1
    - Dst: input_item_New
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:171,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:172,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:174,1
    - Dst: vlc_preparser_Push
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:184,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:185,1
    - Dst: vlc_preparser_req_Release
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:186,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:189,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:191,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:193,1
    - Dst: vlc_preparser_Delete
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 4
    argNames:
    - obj
    - mrl
    - timeout
    - external
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_tick_t
    - bool
    assertStmts:
    - condition: (preparser != NULL)
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/vlc/test/src/preparser/cmp_internal_external.c
    - condition: (item != NULL)
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/vlc/test/src/preparser/cmp_internal_external.c
    - condition: (req != NULL)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/vlc/test/src/preparser/cmp_internal_external.c
    - condition: (ctx.status == VLC_SUCCESS)
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/vlc/test/src/preparser/cmp_internal_external.c
    constantsTouched: []
    func_position:
      end: 197
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 197
    functionName: test_preparser
    functionSourceFile: /src/vlc/test/src/preparser/cmp_internal_external.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_preparser_New
    - vlc_mutex_unlock
    - input_item_New
    - vlc_mutex_lock
    - vlc_mutex_init
    - vlc_preparser_req_Release
    - vlc_preparser_Delete
    - vlc_cond_init
    - vlc_preparser_Push
    - vlc_cond_wait
    linkageType: ''
    returnType: input_item_t
    signature: input_item_t *test_preparser(vlc_object_t *obj, const char *mrl, vlc_tick_t
      timeout, bool external)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:201,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:201,1
    - Dst: vlc_fourcc_to_char
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:204,1
    - Dst: vlc_fourcc_to_char
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:206,1
    - Dst: vlc_fourcc_to_char
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:208,1
    - Dst: asprintf
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:211,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts:
    - condition: (i >= 0 && i < (int)ARRAY_SIZE(test_params))
      pos:
        line_end: 200
        line_start: 200
        source_file: /src/vlc/test/src/preparser/cmp_internal_external.c
    - condition: (ret > 0)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/vlc/test/src/preparser/cmp_internal_external.c
    constantsTouched: []
    func_position:
      end: 240
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 240
    functionName: test_create_mock
    functionSourceFile: /src/vlc/test/src/preparser/cmp_internal_external.c
    functionUses: 0
    functionsReached:
    - asprintf
    - assert
    - ARRAY_SIZE
    - vlc_fourcc_to_char
    linkageType: ''
    returnType: char
    signature: char *test_create_mock(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:244,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:245,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:245,1
    - Dst: test_create_mock
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:247,1
    - Dst: test_preparser
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:248,1
    - Dst: test_preparser
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:249,1
    - Dst: free
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:250,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:252,1
    - Dst: cmp_item
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - obj
    - i
    argTypes:
    - vlc_object_t*
    - int
    assertStmts:
    - condition: (obj != NULL)
      pos:
        line_end: 243
        line_start: 243
        source_file: /src/vlc/test/src/preparser/cmp_internal_external.c
    - condition: (i >= 0 && i < (int)ARRAY_SIZE(test_params))
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/vlc/test/src/preparser/cmp_internal_external.c
    - condition: (cmp_item(inter, exter, i))
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/vlc/test/src/preparser/cmp_internal_external.c
    constantsTouched: []
    func_position:
      end: 253
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 253
    functionName: test_preparser_cmp
    functionSourceFile: /src/vlc/test/src/preparser/cmp_internal_external.c
    functionUses: 0
    functionsReached:
    - assert
    - ARRAY_SIZE
    - cmp_item
    - free
    - test_preparser
    - test_create_mock
    linkageType: ''
    returnType: void
    signature: void test_preparser_cmp(vlc_object_t *obj, int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:260,1
    - Dst: libvlc_new
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:266,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:266,1
    - Dst: assert
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:267,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:269,1
    - Dst: test_preparser_cmp
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:270,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:270,1
    - Dst: libvlc_release
      Src: /src/vlc/test/src/preparser/cmp_internal_external.c:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (vlc)
      pos:
        line_end: 266
        line_start: 266
        source_file: /src/vlc/test/src/preparser/cmp_internal_external.c
    constantsTouched: []
    func_position:
      end: 275
      start: 255
    functionDepth: 3
    functionLinenumber: 255
    functionLinenumberEnd: 275
    functionName: main
    functionSourceFile: /src/vlc/test/src/preparser/cmp_internal_external.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - assert
    - ARRAY_SIZE
    - test_init
    - libvlc_new
    - test_preparser_cmp
    - VLC_OBJECT
    linkageType: ''
    returnType: int
    signature: int main( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config_StringEscape
      Src: /src/vlc/test/src/config/chain.c:55,1
    - Dst: assert
      Src: /src/vlc/test/src/config/chain.c:56,1
    - Dst: strcmp
      Src: /src/vlc/test/src/config/chain.c:56,1
    - Dst: free
      Src: /src/vlc/test/src/config/chain.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( !strcmp( psz_tmp, escape_samples[i].psz_escaped ) )
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/vlc/test/src/config/chain.c
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: test_config_StringEscape
    functionSourceFile: /src/vlc/test/src/config/chain.c
    functionUses: 0
    functionsReached:
    - free
    - strcmp
    - config_StringEscape
    - assert
    linkageType: ''
    returnType: void
    signature: void test_config_StringEscape( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/test/src/config/chain.c:65,1
    - Dst: config_StringUnescape
      Src: /src/vlc/test/src/config/chain.c:66,1
    - Dst: assert
      Src: /src/vlc/test/src/config/chain.c:67,1
    - Dst: strcmp
      Src: /src/vlc/test/src/config/chain.c:67,1
    - Dst: free
      Src: /src/vlc/test/src/config/chain.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( !strcmp( psz_tmp, escape_samples[i].psz_string ) )
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/vlc/test/src/config/chain.c
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: test_config_StringUnEscape
    functionSourceFile: /src/vlc/test/src/config/chain.c
    functionUses: 0
    functionsReached:
    - config_StringUnescape
    - strdup
    - assert
    - free
    - strcmp
    linkageType: ''
    returnType: void
    signature: void test_config_StringUnEscape( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config_ChainCreate
      Src: /src/vlc/test/src/config/chain.c:119,1
    - Dst: assert
      Src: /src/vlc/test/src/config/chain.c:121,1
    - Dst: strcmp
      Src: /src/vlc/test/src/config/chain.c:121,1
    - Dst: assert
      Src: /src/vlc/test/src/config/chain.c:122,1
    - Dst: strcmp
      Src: /src/vlc/test/src/config/chain.c:122,1
    - Dst: assert
      Src: /src/vlc/test/src/config/chain.c:127,1
    - Dst: strcmp
      Src: /src/vlc/test/src/config/chain.c:127,1
    - Dst: strcmp
      Src: /src/vlc/test/src/config/chain.c:128,1
    - Dst: assert
      Src: /src/vlc/test/src/config/chain.c:131,1
    - Dst: config_ChainDestroy
      Src: /src/vlc/test/src/config/chain.c:133,1
    - Dst: free
      Src: /src/vlc/test/src/config/chain.c:134,1
    - Dst: free
      Src: /src/vlc/test/src/config/chain.c:135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( (!psz_next && !chain_samples[i].psz_next) || !strcmp( chain_samples[i].psz_next,
        psz_next ) )
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/vlc/test/src/config/chain.c
    - condition: ( !strcmp( chain_samples[i].psz_module, psz_module ) )
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/vlc/test/src/config/chain.c
    - condition: "( !strcmp( chain_samples[i].config[j].psz_name,  p_tmp->psz_name
        ) &&\n                    !strcmp( chain_samples[i].config[j].psz_value, p_tmp->psz_value
        ) )"
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/vlc/test/src/config/chain.c
    - condition: ( !p_tmp )
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/vlc/test/src/config/chain.c
    constantsTouched: []
    func_position:
      end: 137
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 137
    functionName: test_config_ChainCreate
    functionSourceFile: /src/vlc/test/src/config/chain.c
    functionUses: 0
    functionsReached:
    - assert
    - config_ChainCreate
    - config_ChainDestroy
    - strcmp
    - free
    linkageType: ''
    returnType: void
    signature: void test_config_ChainCreate( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/config/chain.c:153,1
    - Dst: strcmp
      Src: /src/vlc/test/src/config/chain.c:153,1
    - Dst: strcmp
      Src: /src/vlc/test/src/config/chain.c:154,1
    - Dst: assert
      Src: /src/vlc/test/src/config/chain.c:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - p_cfg1
    - p_cfg2
    argTypes:
    - config_chain_t*
    - config_chain_t*
    assertStmts:
    - condition: "( !strcmp( p_cfg1->psz_name,  p_cfg2->psz_name ) &&\n                !strcmp(
        p_cfg1->psz_value, p_cfg2->psz_value ) )"
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/vlc/test/src/config/chain.c
    - condition: (!p_cfg1 && !p_cfg2)
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/vlc/test/src/config/chain.c
    constantsTouched: []
    func_position:
      end: 160
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 160
    functionName: check_config_equality
    functionSourceFile: /src/vlc/test/src/config/chain.c
    functionUses: 0
    functionsReached:
    - strcmp
    - assert
    linkageType: ''
    returnType: void
    signature: void check_config_equality( config_chain_t *p_cfg1, config_chain_t
      *p_cfg2 )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config_ChainCreate
      Src: /src/vlc/test/src/config/chain.c:168,1
    - Dst: config_ChainDuplicate
      Src: /src/vlc/test/src/config/chain.c:170,1
    - Dst: check_config_equality
      Src: /src/vlc/test/src/config/chain.c:171,1
    - Dst: config_ChainDestroy
      Src: /src/vlc/test/src/config/chain.c:173,1
    - Dst: config_ChainDestroy
      Src: /src/vlc/test/src/config/chain.c:174,1
    - Dst: free
      Src: /src/vlc/test/src/config/chain.c:175,1
    - Dst: free
      Src: /src/vlc/test/src/config/chain.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 178
    functionName: test_config_ChainDuplicate
    functionSourceFile: /src/vlc/test/src/config/chain.c
    functionUses: 0
    functionsReached:
    - config_ChainCreate
    - config_ChainDuplicate
    - check_config_equality
    - config_ChainDestroy
    - free
    linkageType: ''
    returnType: void
    signature: void test_config_ChainDuplicate( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/vlc/test/src/config/chain.c:183,1
    - Dst: test_config_StringEscape
      Src: /src/vlc/test/src/config/chain.c:184,1
    - Dst: test_log
      Src: /src/vlc/test/src/config/chain.c:185,1
    - Dst: test_config_StringUnEscape
      Src: /src/vlc/test/src/config/chain.c:186,1
    - Dst: test_log
      Src: /src/vlc/test/src/config/chain.c:187,1
    - Dst: test_config_ChainCreate
      Src: /src/vlc/test/src/config/chain.c:188,1
    - Dst: test_log
      Src: /src/vlc/test/src/config/chain.c:189,1
    - Dst: test_config_ChainDuplicate
      Src: /src/vlc/test/src/config/chain.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 181
    functionDepth: 3
    functionLinenumber: 181
    functionLinenumberEnd: 193
    functionName: main
    functionSourceFile: /src/vlc/test/src/config/chain.c
    functionUses: 0
    functionsReached:
    - test_config_ChainDuplicate
    - test_config_ChainCreate
    - test_log
    - test_config_StringEscape
    - test_config_StringUnEscape
    linkageType: ''
    returnType: int
    signature: int main( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/test/src/misc/chroma_probe.c:187,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/test/src/misc/chroma_probe.c:188,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/test/src/misc/chroma_probe.c:189,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/test/src/misc/chroma_probe.c:191,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/test/src/misc/chroma_probe.c:192,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/test/src/misc/chroma_probe.c:193,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/test/src/misc/chroma_probe.c:194,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/test/src/misc/chroma_probe.c:195,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/test/src/misc/chroma_probe.c:198,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/test/src/misc/chroma_probe.c:202,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/test/src/misc/chroma_probe.c:203,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/test/src/misc/chroma_probe.c:205,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/test/src/misc/chroma_probe.c:206,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/test/src/misc/chroma_probe.c:208,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/test/src/misc/chroma_probe.c:209,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/test/src/misc/chroma_probe.c:210,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/test/src/misc/chroma_probe.c:211,1
    - Dst: vlc_chroma_conv_add_in_outlist
      Src: /src/vlc/test/src/misc/chroma_probe.c:213,1
    - Dst: vlc_chroma_conv_add_out_inlist
      Src: /src/vlc/test/src/misc/chroma_probe.c:217,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/test/src/misc/chroma_probe.c:220,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/test/src/misc/chroma_probe.c:221,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/test/src/misc/chroma_probe.c:222,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/test/src/misc/chroma_probe.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 1
    argNames:
    - vec
    argTypes:
    - vlc_chroma_conv_vec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 226
    functionName: ProbeChroma
    functionSourceFile: /src/vlc/test/src/misc/chroma_probe.c
    functionUses: 0
    functionsReached:
    - vlc_chroma_conv_add
    - vlc_chroma_conv_add_out_inlist
    - vlc_chroma_conv_add_in_outlist
    linkageType: ''
    returnType: void
    signature: void ProbeChroma(vlc_chroma_conv_vec *vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_chroma_conv_result_ToString
      Src: /src/vlc/test/src/misc/chroma_probe.c:243,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/chroma_probe.c:244,1
    - Dst: fprintf
      Src: /src/vlc/test/src/misc/chroma_probe.c:245,1
    - Dst: free
      Src: /src/vlc/test/src/misc/chroma_probe.c:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - array
    - count
    argTypes:
    - struct vlc_chroma_conv_result*
    - size_t
    assertStmts:
    - condition: (res_str != NULL)
      pos:
        line_end: 243
        line_start: 243
        source_file: /src/vlc/test/src/misc/chroma_probe.c
    constantsTouched: []
    func_position:
      end: 248
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 248
    functionName: print_results
    functionSourceFile: /src/vlc/test/src/misc/chroma_probe.c
    functionUses: 0
    functionsReached:
    - free
    - fprintf
    - assert
    - vlc_chroma_conv_result_ToString
    linkageType: ''
    returnType: void
    signature: void print_results(const struct vlc_chroma_conv_result *array, size_t
      count)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/misc/chroma_probe.c:259,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/chroma_probe.c:260,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/chroma_probe.c:291,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/chroma_probe.c:294,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/chroma_probe.c:296,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/chroma_probe.c:298,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/chroma_probe.c:299,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - scr
    - results
    argTypes:
    - struct scenario*
    - struct vlc_chroma_conv_result*
    assertStmts:
    - condition: (result->chain_count > 1)
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/vlc/test/src/misc/chroma_probe.c
    - condition: (scr_count == result->chain_count)
      pos:
        line_end: 290
        line_start: 290
        source_file: /src/vlc/test/src/misc/chroma_probe.c
    - condition: (result->chain_count <= VLC_CHROMA_CONV_CHAIN_COUNT_MAX)
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/vlc/test/src/misc/chroma_probe.c
    - condition: (scr_result->chain[j - 1] == 0)
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/vlc/test/src/misc/chroma_probe.c
    - condition: (result->chain[j] == scr_chain[j])
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/vlc/test/src/misc/chroma_probe.c
    - condition: (result->cost == scr_result->cost)
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/vlc/test/src/misc/chroma_probe.c
    - condition: (result->quality == scr_result->quality)
      pos:
        line_end: 298
        line_start: 298
        source_file: /src/vlc/test/src/misc/chroma_probe.c
    constantsTouched: []
    func_position:
      end: 301
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 301
    functionName: check_results
    functionSourceFile: /src/vlc/test/src/misc/chroma_probe.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void check_results(const struct scenario *scr,\n              const
      struct vlc_chroma_conv_result *results)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/src/misc/chroma_probe.c:305,1
    - Dst: strlen
      Src: /src/vlc/test/src/misc/chroma_probe.c:307,1
    - Dst: atoi
      Src: /src/vlc/test/src/misc/chroma_probe.c:314,1
    - Dst: atoi
      Src: /src/vlc/test/src/misc/chroma_probe.c:318,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/test/src/misc/chroma_probe.c:321,1
    - Dst: strlen
      Src: /src/vlc/test/src/misc/chroma_probe.c:323,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/test/src/misc/chroma_probe.c:324,1
    - Dst: libvlc_new
      Src: /src/vlc/test/src/misc/chroma_probe.c:325,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/chroma_probe.c:326,1
    - Dst: vlc_chroma_conv_Probe
      Src: /src/vlc/test/src/misc/chroma_probe.c:330,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/chroma_probe.c:332,1
    - Dst: print_results
      Src: /src/vlc/test/src/misc/chroma_probe.c:333,1
    - Dst: free
      Src: /src/vlc/test/src/misc/chroma_probe.c:334,1
    - Dst: libvlc_release
      Src: /src/vlc/test/src/misc/chroma_probe.c:336,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/misc/chroma_probe.c:345,1
    - Dst: libvlc_new
      Src: /src/vlc/test/src/misc/chroma_probe.c:347,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/chroma_probe.c:348,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/misc/chroma_probe.c:350,1
    - Dst: fprintf
      Src: /src/vlc/test/src/misc/chroma_probe.c:355,1
    - Dst: vlc_chroma_conv_Probe
      Src: /src/vlc/test/src/misc/chroma_probe.c:363,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/chroma_probe.c:367,1
    - Dst: print_results
      Src: /src/vlc/test/src/misc/chroma_probe.c:370,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/chroma_probe.c:371,1
    - Dst: check_results
      Src: /src/vlc/test/src/misc/chroma_probe.c:372,1
    - Dst: free
      Src: /src/vlc/test/src/misc/chroma_probe.c:373,1
    - Dst: libvlc_release
      Src: /src/vlc/test/src/misc/chroma_probe.c:376,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (results != NULL)
      pos:
        line_end: 331
        line_start: 331
        source_file: /src/vlc/test/src/misc/chroma_probe.c
    - condition: (count == scr->result_count)
      pos:
        line_end: 370
        line_start: 370
        source_file: /src/vlc/test/src/misc/chroma_probe.c
    - condition: (vlc != NULL)
      pos:
        line_end: 347
        line_start: 347
        source_file: /src/vlc/test/src/misc/chroma_probe.c
    - condition: (vlc != NULL)
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/vlc/test/src/misc/chroma_probe.c
    - condition: (scr->result_count == 0)
      pos:
        line_end: 366
        line_start: 366
        source_file: /src/vlc/test/src/misc/chroma_probe.c
    constantsTouched: []
    func_position:
      end: 379
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 379
    functionName: main
    functionSourceFile: /src/vlc/test/src/misc/chroma_probe.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - libvlc_release
    - atoi
    - assert
    - check_results
    - ARRAY_SIZE
    - test_init
    - strlen
    - fprintf
    - libvlc_new
    - free
    - vlc_chroma_conv_Probe
    - print_results
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: image_HandlerCreate
      Src: /src/vlc/test/src/misc/image_cvpx.c:50,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/image_cvpx.c:51,1
    - Dst: video_format_Init
      Src: /src/vlc/test/src/misc/image_cvpx.c:54,1
    - Dst: cvpxpool_create
      Src: /src/vlc/test/src/misc/image_cvpx.c:58,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/image_cvpx.c:59,1
    - Dst: cvpxpool_new_cvpx
      Src: /src/vlc/test/src/misc/image_cvpx.c:61,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/image_cvpx.c:62,1
    - Dst: picture_NewFromFormat
      Src: /src/vlc/test/src/misc/image_cvpx.c:64,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/image_cvpx.c:65,1
    - Dst: vlc_video_context_CreateCVPX
      Src: /src/vlc/test/src/misc/image_cvpx.c:72,1
    - Dst: cvpxpic_attach
      Src: /src/vlc/test/src/misc/image_cvpx.c:74,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/image_cvpx.c:76,1
    - Dst: video_format_Init
      Src: /src/vlc/test/src/misc/image_cvpx.c:79,1
    - Dst: image_Write
      Src: /src/vlc/test/src/misc/image_cvpx.c:85,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/image_cvpx.c:86,1
    - Dst: block_Release
      Src: /src/vlc/test/src/misc/image_cvpx.c:87,1
    - Dst: image_HandlerDelete
      Src: /src/vlc/test/src/misc/image_cvpx.c:88,1
    - Dst: picture_Release
      Src: /src/vlc/test/src/misc/image_cvpx.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - root
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: (pool != NULL)
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/vlc/test/src/misc/image_cvpx.c
    - condition: (ih != NULL)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/vlc/test/src/misc/image_cvpx.c
    - condition: (buffer != NULL)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/vlc/test/src/misc/image_cvpx.c
    - condition: (picture != NULL)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/vlc/test/src/misc/image_cvpx.c
    - condition: (block != NULL)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/vlc/test/src/misc/image_cvpx.c
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/vlc/test/src/misc/image_cvpx.c
    constantsTouched: []
    func_position:
      end: 93
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 93
    functionName: OpenIntf
    functionSourceFile: /src/vlc/test/src/misc/image_cvpx.c
    functionUses: 0
    functionsReached:
    - image_Write
    - vlc_video_context_CreateCVPX
    - cvpxpool_create
    - assert
    - block_Release
    - video_format_Init
    - cvpxpool_new_cvpx
    - image_HandlerDelete
    - picture_Release
    - cvpxpic_attach
    - image_HandlerCreate
    - picture_NewFromFormat
    linkageType: ''
    returnType: int
    signature: int OpenIntf(vlc_object_t *root)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/src/misc/image_cvpx.c:109,1
    - Dst: libvlc_new
      Src: /src/vlc/test/src/misc/image_cvpx.c:116,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/misc/image_cvpx.c:116,1
    - Dst: libvlc_InternalAddIntf
      Src: /src/vlc/test/src/misc/image_cvpx.c:118,1
    - Dst: libvlc_InternalPlay
      Src: /src/vlc/test/src/misc/image_cvpx.c:119,1
    - Dst: libvlc_release
      Src: /src/vlc/test/src/misc/image_cvpx.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 123
    functionName: main
    functionSourceFile: /src/vlc/test/src/misc/image_cvpx.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - ARRAY_SIZE
    - libvlc_InternalAddIntf
    - test_init
    - libvlc_InternalPlay
    - libvlc_new
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: image_HandlerCreate
      Src: /src/vlc/test/src/misc/image.c:53,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/image.c:54,1
    - Dst: video_format_Init
      Src: /src/vlc/test/src/misc/image.c:57,1
    - Dst: video_format_Init
      Src: /src/vlc/test/src/misc/image.c:62,1
    - Dst: picture_NewFromFormat
      Src: /src/vlc/test/src/misc/image.c:66,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/image.c:67,1
    - Dst: image_Write
      Src: /src/vlc/test/src/misc/image.c:71,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/image.c:72,1
    - Dst: block_Release
      Src: /src/vlc/test/src/misc/image.c:73,1
    - Dst: picture_Release
      Src: /src/vlc/test/src/misc/image.c:74,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/image.c:75,1
    - Dst: atomic_load
      Src: /src/vlc/test/src/misc/image.c:75,1
    - Dst: atomic_store
      Src: /src/vlc/test/src/misc/image.c:76,1
    - Dst: picture_NewFromFormat
      Src: /src/vlc/test/src/misc/image.c:78,1
    - Dst: image_Write
      Src: /src/vlc/test/src/misc/image.c:81,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/image.c:82,1
    - Dst: block_Release
      Src: /src/vlc/test/src/misc/image.c:83,1
    - Dst: picture_Release
      Src: /src/vlc/test/src/misc/image.c:84,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/image.c:85,1
    - Dst: atomic_load
      Src: /src/vlc/test/src/misc/image.c:85,1
    - Dst: image_HandlerDelete
      Src: /src/vlc/test/src/misc/image.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 1
    argNames:
    - root
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: (block != NULL)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/vlc/test/src/misc/image.c
    - condition: (picture != NULL)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/vlc/test/src/misc/image.c
    - condition: (ih != NULL)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/vlc/test/src/misc/image.c
    - condition: (block != NULL)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/vlc/test/src/misc/image.c
    - condition: (atomic_load(&encoder_opened))
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/vlc/test/src/misc/image.c
    - condition: (atomic_load(&encoder_opened))
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/vlc/test/src/misc/image.c
    constantsTouched: []
    func_position:
      end: 90
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 90
    functionName: OpenIntf
    functionSourceFile: /src/vlc/test/src/misc/image.c
    functionUses: 0
    functionsReached:
    - image_Write
    - block_Release
    - assert
    - video_format_Init
    - atomic_load
    - image_HandlerDelete
    - picture_Release
    - atomic_store
    - image_HandlerCreate
    - picture_NewFromFormat
    linkageType: ''
    returnType: int
    signature: int OpenIntf(vlc_object_t *root)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/test/src/misc/image.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - encoder
    - pic
    argTypes:
    - encoder_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: EncodeVideo
    functionSourceFile: /src/vlc/test/src/misc/image.c
    functionUses: 0
    functionsReached:
    - block_Alloc
    linkageType: ''
    returnType: block_t
    signature: block_t * EncodeVideo(encoder_t *encoder, picture_t *pic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/vlc/test/src/misc/image.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 110
    functionName: OpenEncoder
    functionSourceFile: /src/vlc/test/src/misc/image.c
    functionUses: 0
    functionsReached:
    - atomic_store
    linkageType: ''
    returnType: int
    signature: int OpenEncoder(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: picture_Release
      Src: /src/vlc/test/src/misc/image.c:114,1
    - Dst: picture_NewFromFormat
      Src: /src/vlc/test/src/misc/image.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - filter
    - pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: ConvertVideo
    functionSourceFile: /src/vlc/test/src/misc/image.c
    functionUses: 0
    functionsReached:
    - picture_Release
    - picture_NewFromFormat
    linkageType: ''
    returnType: picture_t
    signature: picture_t *ConvertVideo(filter_t *filter, picture_t *pic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: OpenConverter
    functionSourceFile: /src/vlc/test/src/misc/image.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OpenConverter(filter_t *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/src/misc/image.c:150,1
    - Dst: libvlc_new
      Src: /src/vlc/test/src/misc/image.c:157,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/misc/image.c:157,1
    - Dst: libvlc_InternalAddIntf
      Src: /src/vlc/test/src/misc/image.c:159,1
    - Dst: libvlc_InternalPlay
      Src: /src/vlc/test/src/misc/image.c:160,1
    - Dst: libvlc_release
      Src: /src/vlc/test/src/misc/image.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 164
    functionName: main
    functionSourceFile: /src/vlc/test/src/misc/image.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - ARRAY_SIZE
    - libvlc_InternalAddIntf
    - test_init
    - libvlc_InternalPlay
    - libvlc_new
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_dialog_id_post_login
      Src: /src/vlc/test/src/misc/keystore.c:244,1
    - Dst: vlc_dialog_id_dismiss
      Src: /src/vlc/test/src/misc/keystore.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 6
    argNames:
    - p_data
    - p_id
    - psz_title
    - psz_text
    - psz_default_username
    - b_ask_store
    argTypes:
    - void*
    - vlc_dialog_id*
    - char*
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 250
    functionName: display_login_cb
    functionSourceFile: /src/vlc/test/src/misc/keystore.c
    functionUses: 0
    functionsReached:
    - vlc_dialog_id_post_login
    - vlc_dialog_id_dismiss
    linkageType: ''
    returnType: void
    signature: "void display_login_cb(void *p_data, vlc_dialog_id *p_id, const char
      *psz_title,\n                 const char *psz_text, const char *psz_default_username,\n
      \                bool b_ask_store)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_dialog_id_dismiss
      Src: /src/vlc/test/src/misc/keystore.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_data
    - p_id
    argTypes:
    - void*
    - vlc_dialog_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: cancel_cb
    functionSourceFile: /src/vlc/test/src/misc/keystore.c
    functionUses: 0
    functionsReached:
    - vlc_dialog_id_dismiss
    linkageType: ''
    returnType: void
    signature: void cancel_cb(void *p_data, vlc_dialog_id *p_id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/test/src/misc/keystore.c:262,1
    - Dst: vlc_dialog_provider_set_callbacks
      Src: /src/vlc/test/src/misc/keystore.c:277,1
    - Dst: var_SetString
      Src: /src/vlc/test/src/misc/keystore.c:283,1
    - Dst: var_SetString
      Src: /src/vlc/test/src/misc/keystore.c:288,1
    - Dst: vlc_UrlParse
      Src: /src/vlc/test/src/misc/keystore.c:292,1
    - Dst: vlc_credential_init
      Src: /src/vlc/test/src/misc/keystore.c:295,1
    - Dst: vlc_credential_get
      Src: /src/vlc/test/src/misc/keystore.c:300,1
    - Dst: strcmp
      Src: /src/vlc/test/src/misc/keystore.c:305,1
    - Dst: strcmp
      Src: /src/vlc/test/src/misc/keystore.c:308,1
    - Dst: strcmp
      Src: /src/vlc/test/src/misc/keystore.c:311,1
    - Dst: strcmp
      Src: /src/vlc/test/src/misc/keystore.c:312,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/keystore.c:318,1
    - Dst: vlc_credential_store
      Src: /src/vlc/test/src/misc/keystore.c:319,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/test/src/misc/keystore.c:321,1
    - Dst: vlc_credential_clean
      Src: /src/vlc/test/src/misc/keystore.c:322,1
    - Dst: vlc_dialog_provider_set_callbacks
      Src: /src/vlc/test/src/misc/keystore.c:324,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 3
    argNames:
    - p_obj
    - i_id
    - p_test
    argTypes:
    - vlc_object_t*
    - unsigned int
    - struct testcase*
    assertStmts:
    - condition: (b_found == p_test->b_found)
      pos:
        line_end: 317
        line_start: 317
        source_file: /src/vlc/test/src/misc/keystore.c
    constantsTouched: []
    func_position:
      end: 325
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 325
    functionName: test
    functionSourceFile: /src/vlc/test/src/misc/keystore.c
    functionUses: 10
    functionsReached:
    - vlc_credential_store
    - vlc_UrlParse
    - assert
    - vlc_credential_clean
    - printf
    - strcmp
    - vlc_dialog_provider_set_callbacks
    - vlc_credential_get
    - vlc_credential_init
    - var_SetString
    - vlc_UrlClean
    linkageType: ''
    returnType: void
    signature: void test(vlc_object_t *p_obj, unsigned int i_id, const struct testcase
      *p_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_new
      Src: /src/vlc/test/src/misc/keystore.c:330,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/keystore.c:331,1
    - Dst: var_Create
      Src: /src/vlc/test/src/misc/keystore.c:334,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/keystore.c:335,1
    - Dst: var_Create
      Src: /src/vlc/test/src/misc/keystore.c:336,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/keystore.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - i_vlc_argc
    - ppsz_vlc_argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (i_ret == VLC_SUCCESS)
      pos:
        line_end: 334
        line_start: 334
        source_file: /src/vlc/test/src/misc/keystore.c
    - condition: (p_libvlc != NULL)
      pos:
        line_end: 330
        line_start: 330
        source_file: /src/vlc/test/src/misc/keystore.c
    - condition: (i_ret == VLC_SUCCESS)
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/vlc/test/src/misc/keystore.c
    constantsTouched: []
    func_position:
      end: 340
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 340
    functionName: create_libvlc
    functionSourceFile: /src/vlc/test/src/misc/keystore.c
    functionUses: 1
    functionsReached:
    - assert
    - var_Create
    - libvlc_new
    linkageType: ''
    returnType: libvlc_instance_t
    signature: 'libvlc_instance_t *

      create_libvlc(int i_vlc_argc, const char *const *ppsz_vlc_argv)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/src/misc/keystore.c:345,1
    - Dst: printf
      Src: /src/vlc/test/src/misc/keystore.c:347,1
    - Dst: vlc_mkstemp
      Src: /src/vlc/test/src/misc/keystore.c:350,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/keystore.c:351,1
    - Dst: create_libvlc
      Src: /src/vlc/test/src/misc/keystore.c:360,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/misc/keystore.c:362,1
    - Dst: printf
      Src: /src/vlc/test/src/misc/keystore.c:366,1
    - Dst: libvlc_release
      Src: /src/vlc/test/src/misc/keystore.c:367,1
    - Dst: create_libvlc
      Src: /src/vlc/test/src/misc/keystore.c:368,1
    - Dst: test
      Src: /src/vlc/test/src/misc/keystore.c:371,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/test/src/misc/keystore.c:371,1
    - Dst: libvlc_release
      Src: /src/vlc/test/src/misc/keystore.c:374,1
    - Dst: vlc_close
      Src: /src/vlc/test/src/misc/keystore.c:375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (i_tmp_fd != -1)
      pos:
        line_end: 350
        line_start: 350
        source_file: /src/vlc/test/src/misc/keystore.c
    constantsTouched: []
    func_position:
      end: 378
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 378
    functionName: main
    functionSourceFile: /src/vlc/test/src/misc/keystore.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - assert
    - ARRAY_SIZE
    - test
    - vlc_close
    - test_init
    - printf
    - vlc_mkstemp
    - VLC_OBJECT
    - create_libvlc
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sinf
      Src: /src/vlc/test/src/misc/viewpoint.c:34,1
    - Dst: cosf
      Src: /src/vlc/test/src/misc/viewpoint.c:35,1
    - Dst: sinf
      Src: /src/vlc/test/src/misc/viewpoint.c:42,1
    - Dst: cosf
      Src: /src/vlc/test/src/misc/viewpoint.c:43,1
    - Dst: sinf
      Src: /src/vlc/test/src/misc/viewpoint.c:50,1
    - Dst: cosf
      Src: /src/vlc/test/src/misc/viewpoint.c:51,1
    - Dst: memset
      Src: /src/vlc/test/src/misc/viewpoint.c:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - m
    - angles
    argTypes:
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 68
    functionName: mat4x4_for_angles
    functionSourceFile: /src/vlc/test/src/misc/viewpoint.c
    functionUses: 0
    functionsReached:
    - memset
    - cosf
    - sinf
    linkageType: ''
    returnType: void
    signature: void mat4x4_for_angles( float *m, float *angles )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmodf
      Src: /src/vlc/test/src/misc/viewpoint.c:79,1
    - Dst: fmodf
      Src: /src/vlc/test/src/misc/viewpoint.c:80,1
    - Dst: fmodf
      Src: /src/vlc/test/src/misc/viewpoint.c:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - epsilon
    - a1
    - a2
    argTypes:
    - float
    - float[]
    - float[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 88
    functionName: compare_angles
    functionSourceFile: /src/vlc/test/src/misc/viewpoint.c
    functionUses: 0
    functionsReached:
    - fmodf
    linkageType: ''
    returnType: bool
    signature: bool compare_angles(float epsilon, const float a1[3], const float a2[3])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_viewpoint_from_euler
      Src: /src/vlc/test/src/misc/viewpoint.c:98,1
    - Dst: vlc_viewpoint_to_euler
      Src: /src/vlc/test/src/misc/viewpoint.c:101,1
    - Dst: fprintf
      Src: /src/vlc/test/src/misc/viewpoint.c:103,1
    - Dst: fprintf
      Src: /src/vlc/test/src/misc/viewpoint.c:104,1
    - Dst: fprintf
      Src: /src/vlc/test/src/misc/viewpoint.c:105,1
    - Dst: fprintf
      Src: /src/vlc/test/src/misc/viewpoint.c:106,1
    - Dst: compare_angles
      Src: /src/vlc/test/src/misc/viewpoint.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - epsilon
    - yaw
    - pitch
    - roll
    argTypes:
    - float
    - float
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 111
    functionName: reciprocal_euler
    functionSourceFile: /src/vlc/test/src/misc/viewpoint.c
    functionUses: 0
    functionsReached:
    - fprintf
    - compare_angles
    - vlc_viewpoint_to_euler
    - vlc_viewpoint_from_euler
    linkageType: ''
    returnType: bool
    signature: bool reciprocal_euler(float epsilon, float yaw, float pitch, float
      roll)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/misc/viewpoint.c:116,1
    - Dst: reciprocal_euler
      Src: /src/vlc/test/src/misc/viewpoint.c:116,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/viewpoint.c:117,1
    - Dst: reciprocal_euler
      Src: /src/vlc/test/src/misc/viewpoint.c:117,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/viewpoint.c:118,1
    - Dst: reciprocal_euler
      Src: /src/vlc/test/src/misc/viewpoint.c:118,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/viewpoint.c:119,1
    - Dst: reciprocal_euler
      Src: /src/vlc/test/src/misc/viewpoint.c:119,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/viewpoint.c:120,1
    - Dst: reciprocal_euler
      Src: /src/vlc/test/src/misc/viewpoint.c:120,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/viewpoint.c:121,1
    - Dst: reciprocal_euler
      Src: /src/vlc/test/src/misc/viewpoint.c:121,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/viewpoint.c:122,1
    - Dst: reciprocal_euler
      Src: /src/vlc/test/src/misc/viewpoint.c:122,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/viewpoint.c:124,1
    - Dst: reciprocal_euler
      Src: /src/vlc/test/src/misc/viewpoint.c:124,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/viewpoint.c:125,1
    - Dst: reciprocal_euler
      Src: /src/vlc/test/src/misc/viewpoint.c:125,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/viewpoint.c:126,1
    - Dst: reciprocal_euler
      Src: /src/vlc/test/src/misc/viewpoint.c:126,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/viewpoint.c:127,1
    - Dst: reciprocal_euler
      Src: /src/vlc/test/src/misc/viewpoint.c:127,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/viewpoint.c:128,1
    - Dst: reciprocal_euler
      Src: /src/vlc/test/src/misc/viewpoint.c:128,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/viewpoint.c:129,1
    - Dst: reciprocal_euler
      Src: /src/vlc/test/src/misc/viewpoint.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (reciprocal_euler(epsilon, 45.f, 0.f,  0.f))
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/vlc/test/src/misc/viewpoint.c
    - condition: (reciprocal_euler(epsilon, 0.f,  45.f, 0.f))
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/vlc/test/src/misc/viewpoint.c
    - condition: (reciprocal_euler(epsilon, 45.f, 45.f, 0.f))
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/vlc/test/src/misc/viewpoint.c
    - condition: (reciprocal_euler(epsilon,  0.f,  -45.f, 0.f))
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/vlc/test/src/misc/viewpoint.c
    - condition: (reciprocal_euler(epsilon, 45.f, 45.f, 45.f))
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/vlc/test/src/misc/viewpoint.c
    - condition: (reciprocal_euler(epsilon,  0.f,  -45.f, -45.f))
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/vlc/test/src/misc/viewpoint.c
    - condition: (reciprocal_euler(epsilon, 0.f,  0.f,  0.f))
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/vlc/test/src/misc/viewpoint.c
    - condition: (reciprocal_euler(epsilon, 0.f,  0.f,  45.f))
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/vlc/test/src/misc/viewpoint.c
    - condition: (reciprocal_euler(epsilon, 0.f,  45.f, 45.f))
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/vlc/test/src/misc/viewpoint.c
    - condition: (reciprocal_euler(epsilon,  0.f,   0.f,  -45.f))
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/vlc/test/src/misc/viewpoint.c
    - condition: (reciprocal_euler(epsilon, -45.f,  0.f,  0.f))
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/vlc/test/src/misc/viewpoint.c
    - condition: (reciprocal_euler(epsilon, -45.f, -45.f,  0.f))
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/vlc/test/src/misc/viewpoint.c
    - condition: (reciprocal_euler(epsilon, -45.f, -45.f, -45.f))
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/vlc/test/src/misc/viewpoint.c
    constantsTouched: []
    func_position:
      end: 130
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 130
    functionName: test_conversion
    functionSourceFile: /src/vlc/test/src/misc/viewpoint.c
    functionUses: 0
    functionsReached:
    - assert
    - reciprocal_euler
    linkageType: ''
    returnType: void
    signature: void test_conversion()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/vlc/test/src/misc/viewpoint.c:137,1
    - Dst: fprintf
      Src: /src/vlc/test/src/misc/viewpoint.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - a
    - b
    - size
    - epsilon
    argTypes:
    - float*
    - float*
    - size_t
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 145
    functionName: fuzzy_memcmp
    functionSourceFile: /src/vlc/test/src/misc/viewpoint.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fabs
    linkageType: ''
    returnType: int
    signature: "int fuzzy_memcmp(const float *a, const float *b,\n                         size_t
      size, float epsilon)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/misc/viewpoint.c:185,1
    - Dst: vlc_viewpoint_from_euler
      Src: /src/vlc/test/src/misc/viewpoint.c:188,1
    - Dst: vlc_viewpoint_to_4x4
      Src: /src/vlc/test/src/misc/viewpoint.c:192,1
    - Dst: fprintf
      Src: /src/vlc/test/src/misc/viewpoint.c:193,1
    - Dst: mat4x4_for_angles
      Src: /src/vlc/test/src/misc/viewpoint.c:198,1
    - Dst: fuzzy_memcmp
      Src: /src/vlc/test/src/misc/viewpoint.c:200,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/misc/viewpoint.c:201,1
    - Dst: printmat
      Src: /src/vlc/test/src/misc/viewpoint.c:205,1
    - Dst: printmat
      Src: /src/vlc/test/src/misc/viewpoint.c:206,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/viewpoint.c:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (success)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/vlc/test/src/misc/viewpoint.c
    constantsTouched: []
    func_position:
      end: 211
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 211
    functionName: test_conversion_viewpoint_mat4x4
    functionSourceFile: /src/vlc/test/src/misc/viewpoint.c
    functionUses: 0
    functionsReached:
    - printmat
    - assert
    - ARRAY_SIZE
    - fprintf
    - vlc_viewpoint_from_euler
    - vlc_viewpoint_to_4x4
    - mat4x4_for_angles
    - fuzzy_memcmp
    linkageType: ''
    returnType: void
    signature: void test_conversion_viewpoint_mat4x4()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - title
    - ','
    - mat
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: printmat
    functionSourceFile: /src/vlc/test/src/misc/viewpoint.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: printmat(title, mat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/src/misc/viewpoint.c:215,1
    - Dst: test_conversion
      Src: /src/vlc/test/src/misc/viewpoint.c:217,1
    - Dst: test_conversion_viewpoint_mat4x4
      Src: /src/vlc/test/src/misc/viewpoint.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 221
    functionName: main
    functionSourceFile: /src/vlc/test/src/misc/viewpoint.c
    functionUses: 0
    functionsReached:
    - test_conversion
    - test_init
    - test_conversion_viewpoint_mat4x4
    linkageType: ''
    returnType: int
    signature: int main( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - foo
    - ','
    - bar
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: test_assert
    functionSourceFile: /src/vlc/test/src/misc/bits.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: test_assert(foo, bar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: bs_init
    functionSourceFile: /src/vlc/test/src/misc/bits.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bs_init(a,b,c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bs_init
      Src: /src/vlc/test/src/misc/bits.c:60,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:61,1
    - Dst: bs_pos
      Src: /src/vlc/test/src/misc/bits.c:61,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:62,1
    - Dst: bs_eof
      Src: /src/vlc/test/src/misc/bits.c:62,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:63,1
    - Dst: bs_error
      Src: /src/vlc/test/src/misc/bits.c:63,1
    - Dst: bs_init
      Src: /src/vlc/test/src/misc/bits.c:65,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:66,1
    - Dst: bs_pos
      Src: /src/vlc/test/src/misc/bits.c:66,1
    - Dst: bs_skip
      Src: /src/vlc/test/src/misc/bits.c:67,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:68,1
    - Dst: bs_error
      Src: /src/vlc/test/src/misc/bits.c:68,1
    - Dst: bs_init
      Src: /src/vlc/test/src/misc/bits.c:70,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:72,1
    - Dst: bs_pos
      Src: /src/vlc/test/src/misc/bits.c:72,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:73,1
    - Dst: bs_eof
      Src: /src/vlc/test/src/misc/bits.c:73,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:74,1
    - Dst: bs_error
      Src: /src/vlc/test/src/misc/bits.c:74,1
    - Dst: bs_skip
      Src: /src/vlc/test/src/misc/bits.c:76,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:77,1
    - Dst: bs_error
      Src: /src/vlc/test/src/misc/bits.c:77,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:78,1
    - Dst: bs_pos
      Src: /src/vlc/test/src/misc/bits.c:78,1
    - Dst: bs_init
      Src: /src/vlc/test/src/misc/bits.c:80,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:82,1
    - Dst: bs_error
      Src: /src/vlc/test/src/misc/bits.c:82,1
    - Dst: bs_write
      Src: /src/vlc/test/src/misc/bits.c:84,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:85,1
    - Dst: bs_error
      Src: /src/vlc/test/src/misc/bits.c:85,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:86,1
    - Dst: bs_eof
      Src: /src/vlc/test/src/misc/bits.c:86,1
    - Dst: bs_read1
      Src: /src/vlc/test/src/misc/bits.c:88,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:89,1
    - Dst: bs_error
      Src: /src/vlc/test/src/misc/bits.c:89,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:90,1
    - Dst: bs_eof
      Src: /src/vlc/test/src/misc/bits.c:90,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:91,1
    - Dst: bs_pos
      Src: /src/vlc/test/src/misc/bits.c:91,1
    - Dst: bs_read
      Src: /src/vlc/test/src/misc/bits.c:93,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:94,1
    - Dst: bs_pos
      Src: /src/vlc/test/src/misc/bits.c:94,1
    - Dst: bs_read1
      Src: /src/vlc/test/src/misc/bits.c:96,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:97,1
    - Dst: bs_pos
      Src: /src/vlc/test/src/misc/bits.c:97,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:98,1
    - Dst: bs_error
      Src: /src/vlc/test/src/misc/bits.c:98,1
    - Dst: bs_align
      Src: /src/vlc/test/src/misc/bits.c:100,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:101,1
    - Dst: bs_pos
      Src: /src/vlc/test/src/misc/bits.c:101,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:102,1
    - Dst: bs_error
      Src: /src/vlc/test/src/misc/bits.c:102,1
    - Dst: bs_init
      Src: /src/vlc/test/src/misc/bits.c:104,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:106,1
    - Dst: bs_read
      Src: /src/vlc/test/src/misc/bits.c:106,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:107,1
    - Dst: bs_read
      Src: /src/vlc/test/src/misc/bits.c:107,1
    - Dst: bs_init
      Src: /src/vlc/test/src/misc/bits.c:109,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:111,1
    - Dst: bs_read_ue
      Src: /src/vlc/test/src/misc/bits.c:111,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:112,1
    - Dst: bs_error
      Src: /src/vlc/test/src/misc/bits.c:112,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:113,1
    - Dst: bs_read1
      Src: /src/vlc/test/src/misc/bits.c:113,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:114,1
    - Dst: bs_read_se
      Src: /src/vlc/test/src/misc/bits.c:114,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:115,1
    - Dst: bs_error
      Src: /src/vlc/test/src/misc/bits.c:115,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:116,1
    - Dst: bs_read_se
      Src: /src/vlc/test/src/misc/bits.c:116,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:117,1
    - Dst: bs_eof
      Src: /src/vlc/test/src/misc/bits.c:117,1
    - Dst: bs_init
      Src: /src/vlc/test/src/misc/bits.c:119,1
    - Dst: bs_skip
      Src: /src/vlc/test/src/misc/bits.c:121,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:122,1
    - Dst: bs_read
      Src: /src/vlc/test/src/misc/bits.c:122,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:123,1
    - Dst: bs_read
      Src: /src/vlc/test/src/misc/bits.c:123,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:124,1
    - Dst: bs_read
      Src: /src/vlc/test/src/misc/bits.c:124,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:125,1
    - Dst: bs_error
      Src: /src/vlc/test/src/misc/bits.c:125,1
    - Dst: bs_init
      Src: /src/vlc/test/src/misc/bits.c:127,1
    - Dst: bs_skip
      Src: /src/vlc/test/src/misc/bits.c:129,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:130,1
    - Dst: bs_read
      Src: /src/vlc/test/src/misc/bits.c:130,1
    - Dst: bs_init
      Src: /src/vlc/test/src/misc/bits.c:132,1
    - Dst: bs_skip
      Src: /src/vlc/test/src/misc/bits.c:134,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:135,1
    - Dst: bs_read
      Src: /src/vlc/test/src/misc/bits.c:135,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:136,1
    - Dst: bs_read
      Src: /src/vlc/test/src/misc/bits.c:136,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:137,1
    - Dst: bs_read
      Src: /src/vlc/test/src/misc/bits.c:137,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:138,1
    - Dst: bs_error
      Src: /src/vlc/test/src/misc/bits.c:138,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:139,1
    - Dst: bs_eof
      Src: /src/vlc/test/src/misc/bits.c:139,1
    - Dst: bs_init
      Src: /src/vlc/test/src/misc/bits.c:143,1
    - Dst: bs_skip
      Src: /src/vlc/test/src/misc/bits.c:144,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:145,1
    - Dst: bs_eof
      Src: /src/vlc/test/src/misc/bits.c:145,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:146,1
    - Dst: bs_error
      Src: /src/vlc/test/src/misc/bits.c:146,1
    - Dst: bs_init
      Src: /src/vlc/test/src/misc/bits.c:148,1
    - Dst: bs_skip
      Src: /src/vlc/test/src/misc/bits.c:149,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:150,1
    - Dst: bs_error
      Src: /src/vlc/test/src/misc/bits.c:150,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:151,1
    - Dst: bs_eof
      Src: /src/vlc/test/src/misc/bits.c:151,1
    - Dst: bs_init
      Src: /src/vlc/test/src/misc/bits.c:155,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:159,1
    - Dst: bs_aligned
      Src: /src/vlc/test/src/misc/bits.c:159,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:160,1
    - Dst: bs_eof
      Src: /src/vlc/test/src/misc/bits.c:160,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:161,1
    - Dst: bs_pos
      Src: /src/vlc/test/src/misc/bits.c:161,1
    - Dst: bs_read
      Src: /src/vlc/test/src/misc/bits.c:162,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:163,1
    - Dst: bs_error
      Src: /src/vlc/test/src/misc/bits.c:163,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:165,1
    - Dst: bs_eof
      Src: /src/vlc/test/src/misc/bits.c:165,1
    - Dst: bs_write_init
      Src: /src/vlc/test/src/misc/bits.c:170,1
    - Dst: bs_write
      Src: /src/vlc/test/src/misc/bits.c:171,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:172,1
    - Dst: bs_write
      Src: /src/vlc/test/src/misc/bits.c:173,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:174,1
    - Dst: bs_write
      Src: /src/vlc/test/src/misc/bits.c:175,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:176,1
    - Dst: bs_write_init
      Src: /src/vlc/test/src/misc/bits.c:178,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:181,1
    - Dst: bs_aligned
      Src: /src/vlc/test/src/misc/bits.c:181,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:182,1
    - Dst: bs_eof
      Src: /src/vlc/test/src/misc/bits.c:182,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:183,1
    - Dst: bs_pos
      Src: /src/vlc/test/src/misc/bits.c:183,1
    - Dst: bs_write
      Src: /src/vlc/test/src/misc/bits.c:184,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:186,1
    - Dst: bs_error
      Src: /src/vlc/test/src/misc/bits.c:186,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:188,1
    - Dst: bs_eof
      Src: /src/vlc/test/src/misc/bits.c:188,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:189,1
    - Dst: memcmp
      Src: /src/vlc/test/src/misc/bits.c:189,1
    - Dst: bs_write_init
      Src: /src/vlc/test/src/misc/bits.c:191,1
    - Dst: bs_write
      Src: /src/vlc/test/src/misc/bits.c:192,1
    - Dst: bs_write_align
      Src: /src/vlc/test/src/misc/bits.c:193,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:194,1
    - Dst: bs_aligned
      Src: /src/vlc/test/src/misc/bits.c:194,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:195,1
    - Dst: bs_pos
      Src: /src/vlc/test/src/misc/bits.c:195,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:196,1
    - Dst: bs_write
      Src: /src/vlc/test/src/misc/bits.c:197,1
    - Dst: bs_write_align
      Src: /src/vlc/test/src/misc/bits.c:198,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:199,1
    - Dst: bs_aligned
      Src: /src/vlc/test/src/misc/bits.c:199,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:200,1
    - Dst: bs_pos
      Src: /src/vlc/test/src/misc/bits.c:200,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:201,1
    - Dst: bs_init
      Src: /src/vlc/test/src/misc/bits.c:204,1
    - Dst: bs_read
      Src: /src/vlc/test/src/misc/bits.c:205,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:206,1
    - Dst: bs_error
      Src: /src/vlc/test/src/misc/bits.c:206,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:207,1
    - Dst: bs_eof
      Src: /src/vlc/test/src/misc/bits.c:207,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:208,1
    - Dst: bs_pos
      Src: /src/vlc/test/src/misc/bits.c:208,1
    - Dst: bs_init
      Src: /src/vlc/test/src/misc/bits.c:210,1
    - Dst: bs_skip
      Src: /src/vlc/test/src/misc/bits.c:211,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:212,1
    - Dst: bs_error
      Src: /src/vlc/test/src/misc/bits.c:212,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:213,1
    - Dst: bs_eof
      Src: /src/vlc/test/src/misc/bits.c:213,1
    - Dst: bs_skip
      Src: /src/vlc/test/src/misc/bits.c:214,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:215,1
    - Dst: bs_error
      Src: /src/vlc/test/src/misc/bits.c:215,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:216,1
    - Dst: bs_eof
      Src: /src/vlc/test/src/misc/bits.c:216,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:217,1
    - Dst: bs_pos
      Src: /src/vlc/test/src/misc/bits.c:217,1
    - Dst: bs_init
      Src: /src/vlc/test/src/misc/bits.c:219,1
    - Dst: bs_skip
      Src: /src/vlc/test/src/misc/bits.c:220,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:221,1
    - Dst: bs_error
      Src: /src/vlc/test/src/misc/bits.c:221,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:222,1
    - Dst: bs_pos
      Src: /src/vlc/test/src/misc/bits.c:222,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:223,1
    - Dst: bs_read
      Src: /src/vlc/test/src/misc/bits.c:223,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:224,1
    - Dst: bs_error
      Src: /src/vlc/test/src/misc/bits.c:224,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:225,1
    - Dst: bs_eof
      Src: /src/vlc/test/src/misc/bits.c:225,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:226,1
    - Dst: bs_pos
      Src: /src/vlc/test/src/misc/bits.c:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 130
    argCount: 4
    argNames:
    - p_testsets
    - psz_tag
    - callbacks
    - cb_priv
    argTypes:
    - struct testset*
    - char*
    - bs_byte_callbacks_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 229
    functionName: run_tests
    functionSourceFile: /src/vlc/test/src/misc/bits.c
    functionUses: 0
    functionsReached:
    - bs_write_align
    - bs_skip
    - bs_read1
    - bs_eof
    - bs_init
    - bs_write
    - bs_read
    - bs_write_init
    - bs_read_se
    - bs_aligned
    - bs_read_ue
    - bs_error
    - bs_align
    - bs_pos
    - test_assert
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int run_tests( const struct testset *p_testsets,\n                      const
      char *psz_tag,\n                      bs_byte_callbacks_t *callbacks,\n                      void
      *cb_priv, void (*priv_init)(void *) )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bs_skipeven_bytes_forward
      Src: /src/vlc/test/src/misc/bits.c:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - s
    - i_count
    argTypes:
    - bs_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 253
    functionName: bs_skipeven_bytes_forward
    functionSourceFile: /src/vlc/test/src/misc/bits.c
    functionUses: 1
    functionsReached:
    - bs_skipeven_bytes_forward
    linkageType: ''
    returnType: size_t
    signature: size_t bs_skipeven_bytes_forward( bs_t *s, size_t i_count )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - bs_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 261
    functionName: bs_skipeven_bytes_pos
    functionSourceFile: /src/vlc/test/src/misc/bits.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bs_skipeven_bytes_pos( const bs_t *s )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_bsfw_ep3b_ctx_init
      Src: /src/vlc/test/src/misc/bits.c:277,1
    - Dst: bs_init_custom
      Src: /src/vlc/test/src/misc/bits.c:278,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/misc/bits.c:278,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/misc/bits.c:279,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:281,1
    - Dst: bs_aligned
      Src: /src/vlc/test/src/misc/bits.c:281,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:282,1
    - Dst: bs_pos
      Src: /src/vlc/test/src/misc/bits.c:282,1
    - Dst: bs_read
      Src: /src/vlc/test/src/misc/bits.c:283,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:285,1
    - Dst: bs_eof
      Src: /src/vlc/test/src/misc/bits.c:285,1
    - Dst: hxxx_bsfw_ep3b_ctx_init
      Src: /src/vlc/test/src/misc/bits.c:287,1
    - Dst: bs_init_custom
      Src: /src/vlc/test/src/misc/bits.c:288,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/misc/bits.c:288,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/misc/bits.c:289,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:291,1
    - Dst: bs_pos
      Src: /src/vlc/test/src/misc/bits.c:291,1
    - Dst: bs_read
      Src: /src/vlc/test/src/misc/bits.c:292,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:294,1
    - Dst: bs_eof
      Src: /src/vlc/test/src/misc/bits.c:294,1
    - Dst: bs_init
      Src: /src/vlc/test/src/misc/bits.c:297,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/misc/bits.c:297,1
    - Dst: bs_skip
      Src: /src/vlc/test/src/misc/bits.c:298,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/misc/bits.c:298,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:299,1
    - Dst: bs_pos
      Src: /src/vlc/test/src/misc/bits.c:299,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/misc/bits.c:299,1
    - Dst: hxxx_bsfw_ep3b_ctx_init
      Src: /src/vlc/test/src/misc/bits.c:309,1
    - Dst: bs_init_custom
      Src: /src/vlc/test/src/misc/bits.c:310,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/misc/bits.c:310,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/misc/bits.c:311,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:312,1
    - Dst: bs_read
      Src: /src/vlc/test/src/misc/bits.c:312,1
    - Dst: hxxx_bsfw_ep3b_ctx_init
      Src: /src/vlc/test/src/misc/bits.c:338,1
    - Dst: bs_init_custom
      Src: /src/vlc/test/src/misc/bits.c:339,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/misc/bits.c:339,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/misc/bits.c:340,1
    - Dst: test_assert
      Src: /src/vlc/test/src/misc/bits.c:341,1
    - Dst: bs_read
      Src: /src/vlc/test/src/misc/bits.c:341,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - psz_tag
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 344
    functionName: test_annexb
    functionSourceFile: /src/vlc/test/src/misc/bits.c
    functionUses: 2
    functionsReached:
    - hxxx_bsfw_ep3b_ctx_init
    - bs_skip
    - ARRAY_SIZE
    - bs_init_custom
    - bs_eof
    - bs_init
    - bs_read
    - bs_aligned
    - bs_pos
    - test_assert
    linkageType: ''
    returnType: int
    signature: int test_annexb( const char *psz_tag )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/src/misc/bits.c:349,1
    - Dst: run_tests
      Src: /src/vlc/test/src/misc/bits.c:363,1
    - Dst: run_tests
      Src: /src/vlc/test/src/misc/bits.c:378,1
    - Dst: test_annexb
      Src: /src/vlc/test/src/misc/bits.c:381,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 385
    functionName: main
    functionSourceFile: /src/vlc/test/src/misc/bits.c
    functionUses: 0
    functionsReached:
    - test_init
    - test_annexb
    - run_tests
    linkageType: ''
    returnType: int
    signature: int main( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_Create
      Src: /src/vlc/test/src/misc/variables.c:37,1
    - Dst: rand
      Src: /src/vlc/test/src/misc/variables.c:41,1
    - Dst: var_SetInteger
      Src: /src/vlc/test/src/misc/variables.c:42,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:47,1
    - Dst: var_GetInteger
      Src: /src/vlc/test/src/misc/variables.c:47,1
    - Dst: var_IncInteger
      Src: /src/vlc/test/src/misc/variables.c:48,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:49,1
    - Dst: var_GetInteger
      Src: /src/vlc/test/src/misc/variables.c:49,1
    - Dst: var_DecInteger
      Src: /src/vlc/test/src/misc/variables.c:50,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:51,1
    - Dst: var_GetInteger
      Src: /src/vlc/test/src/misc/variables.c:51,1
    - Dst: var_Destroy
      Src: /src/vlc/test/src/misc/variables.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - p_libvlc
    argTypes:
    - libvlc_int_t*
    assertStmts:
    - condition: ( var_GetInteger( p_libvlc, psz_var_name[i] ) == var_value[i].i_int
        )
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_GetInteger( p_libvlc, psz_var_name[i] ) == var_value[i].i_int
        + 1 )
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_GetInteger( p_libvlc, psz_var_name[i] ) == var_value[i].i_int
        )
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/vlc/test/src/misc/variables.c
    constantsTouched: []
    func_position:
      end: 56
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 56
    functionName: test_integer
    functionSourceFile: /src/vlc/test/src/misc/variables.c
    functionUses: 0
    functionsReached:
    - var_DecInteger
    - var_Destroy
    - rand
    - assert
    - var_Create
    - var_SetInteger
    - var_GetInteger
    - var_IncInteger
    linkageType: ''
    returnType: void
    signature: void test_integer( libvlc_int_t *p_libvlc )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_Create
      Src: /src/vlc/test/src/misc/variables.c:61,1
    - Dst: rand
      Src: /src/vlc/test/src/misc/variables.c:65,1
    - Dst: var_SetBool
      Src: /src/vlc/test/src/misc/variables.c:66,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:70,1
    - Dst: var_GetBool
      Src: /src/vlc/test/src/misc/variables.c:70,1
    - Dst: var_ToggleBool
      Src: /src/vlc/test/src/misc/variables.c:73,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:76,1
    - Dst: var_GetBool
      Src: /src/vlc/test/src/misc/variables.c:76,1
    - Dst: var_Destroy
      Src: /src/vlc/test/src/misc/variables.c:79,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - p_libvlc
    argTypes:
    - libvlc_int_t*
    assertStmts:
    - condition: ( var_GetBool( p_libvlc, psz_var_name[i] ) == var_value[i].b_bool
        )
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_GetBool( p_libvlc, psz_var_name[i] ) != var_value[i].b_bool
        )
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/vlc/test/src/misc/variables.c
    constantsTouched: []
    func_position:
      end: 80
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 80
    functionName: test_booleans
    functionSourceFile: /src/vlc/test/src/misc/variables.c
    functionUses: 0
    functionsReached:
    - var_ToggleBool
    - var_Destroy
    - rand
    - assert
    - var_Create
    - var_SetBool
    - var_GetBool
    linkageType: ''
    returnType: void
    signature: void test_booleans( libvlc_int_t *p_libvlc )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_Create
      Src: /src/vlc/test/src/misc/variables.c:85,1
    - Dst: rand
      Src: /src/vlc/test/src/misc/variables.c:89,1
    - Dst: var_SetFloat
      Src: /src/vlc/test/src/misc/variables.c:90,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:94,1
    - Dst: var_GetFloat
      Src: /src/vlc/test/src/misc/variables.c:94,1
    - Dst: var_Destroy
      Src: /src/vlc/test/src/misc/variables.c:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - p_libvlc
    argTypes:
    - libvlc_int_t*
    assertStmts:
    - condition: ( var_GetFloat( p_libvlc, psz_var_name[i] ) == var_value[i].f_float
        )
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/vlc/test/src/misc/variables.c
    constantsTouched: []
    func_position:
      end: 98
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 98
    functionName: test_floats
    functionSourceFile: /src/vlc/test/src/misc/variables.c
    functionUses: 0
    functionsReached:
    - var_GetFloat
    - var_SetFloat
    - rand
    - assert
    - var_Destroy
    - var_Create
    linkageType: ''
    returnType: void
    signature: void test_floats( libvlc_int_t *p_libvlc )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_Create
      Src: /src/vlc/test/src/misc/variables.c:105,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:106,1
    - Dst: var_InheritURational
      Src: /src/vlc/test/src/misc/variables.c:106,1
    - Dst: var_SetString
      Src: /src/vlc/test/src/misc/variables.c:108,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:109,1
    - Dst: var_InheritURational
      Src: /src/vlc/test/src/misc/variables.c:109,1
    - Dst: var_SetString
      Src: /src/vlc/test/src/misc/variables.c:111,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:112,1
    - Dst: var_InheritURational
      Src: /src/vlc/test/src/misc/variables.c:112,1
    - Dst: var_SetString
      Src: /src/vlc/test/src/misc/variables.c:114,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:115,1
    - Dst: var_InheritURational
      Src: /src/vlc/test/src/misc/variables.c:115,1
    - Dst: var_SetString
      Src: /src/vlc/test/src/misc/variables.c:117,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:118,1
    - Dst: var_InheritURational
      Src: /src/vlc/test/src/misc/variables.c:118,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:119,1
    - Dst: var_SetString
      Src: /src/vlc/test/src/misc/variables.c:121,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:122,1
    - Dst: var_InheritURational
      Src: /src/vlc/test/src/misc/variables.c:122,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:123,1
    - Dst: var_SetString
      Src: /src/vlc/test/src/misc/variables.c:125,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:126,1
    - Dst: var_InheritURational
      Src: /src/vlc/test/src/misc/variables.c:126,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:127,1
    - Dst: var_SetString
      Src: /src/vlc/test/src/misc/variables.c:129,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:130,1
    - Dst: var_InheritURational
      Src: /src/vlc/test/src/misc/variables.c:130,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:131,1
    - Dst: var_SetString
      Src: /src/vlc/test/src/misc/variables.c:133,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:134,1
    - Dst: var_InheritURational
      Src: /src/vlc/test/src/misc/variables.c:134,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:135,1
    - Dst: var_SetString
      Src: /src/vlc/test/src/misc/variables.c:137,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:138,1
    - Dst: var_InheritURational
      Src: /src/vlc/test/src/misc/variables.c:138,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:139,1
    - Dst: var_SetString
      Src: /src/vlc/test/src/misc/variables.c:141,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:142,1
    - Dst: var_InheritURational
      Src: /src/vlc/test/src/misc/variables.c:142,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:143,1
    - Dst: var_SetString
      Src: /src/vlc/test/src/misc/variables.c:145,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:146,1
    - Dst: var_InheritURational
      Src: /src/vlc/test/src/misc/variables.c:146,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:147,1
    - Dst: var_SetString
      Src: /src/vlc/test/src/misc/variables.c:149,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:150,1
    - Dst: var_InheritURational
      Src: /src/vlc/test/src/misc/variables.c:150,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:151,1
    - Dst: var_SetString
      Src: /src/vlc/test/src/misc/variables.c:153,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:154,1
    - Dst: var_InheritURational
      Src: /src/vlc/test/src/misc/variables.c:154,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:155,1
    - Dst: var_SetString
      Src: /src/vlc/test/src/misc/variables.c:157,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:158,1
    - Dst: var_InheritURational
      Src: /src/vlc/test/src/misc/variables.c:158,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:159,1
    - Dst: var_SetString
      Src: /src/vlc/test/src/misc/variables.c:161,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:162,1
    - Dst: var_InheritURational
      Src: /src/vlc/test/src/misc/variables.c:162,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:163,1
    - Dst: var_Destroy
      Src: /src/vlc/test/src/misc/variables.c:165,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 1
    argNames:
    - p_libvlc
    argTypes:
    - libvlc_int_t*
    assertStmts:
    - condition: ( var_InheritURational( p_libvlc, &num, &den, name ) != 0 )
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_InheritURational( p_libvlc, &num, &den, name ) != 0 )
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_InheritURational( p_libvlc, &num, &den, name ) == 0 )
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_InheritURational( p_libvlc, &num, &den, name ) == 0 )
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_InheritURational( p_libvlc, &num, &den, name ) == 0 )
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_InheritURational( p_libvlc, &num, &den, name ) != 0 )
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( num == 30 && den == 1 )
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( num == 30 && den == 1 )
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( num == 30000 && den == 1001 )
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_InheritURational( p_libvlc, &num, &den, name ) == 0 )
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_InheritURational( p_libvlc, &num, &den, name ) == 0 )
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( num == 0 && den == 0 )
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_InheritURational( p_libvlc, &num, &den, name ) == 0 )
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_InheritURational( p_libvlc, &num, &den, name ) == 0 )
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_InheritURational( p_libvlc, &num, &den, name ) == 0 )
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_InheritURational( p_libvlc, &num, &den, name ) == 0 )
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_InheritURational( p_libvlc, &num, &den, name ) == 0 )
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( num == 1 && den == 0 )
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_InheritURational( p_libvlc, &num, &den, name ) != 0 )
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( num == 0 && den == 1 )
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( num == 10 && den == 1 )
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( num == 30 && den == 1 )
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( num == 3003 && den == 100 )
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( num == 2997 && den == 100 )
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( num == 1 && den == 8 )
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( num == 4 && den == 3 )
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_InheritURational( p_libvlc, &num, &den, name ) == 0 )
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_InheritURational( p_libvlc, &num, &den, name ) == 0 )
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/vlc/test/src/misc/variables.c
    constantsTouched: []
    func_position:
      end: 166
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 166
    functionName: test_fracts
    functionSourceFile: /src/vlc/test/src/misc/variables.c
    functionUses: 0
    functionsReached:
    - var_Destroy
    - assert
    - var_Create
    - var_InheritURational
    - var_SetString
    linkageType: ''
    returnType: void
    signature: void test_fracts( libvlc_int_t *p_libvlc )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_Create
      Src: /src/vlc/test/src/misc/variables.c:171,1
    - Dst: var_SetString
      Src: /src/vlc/test/src/misc/variables.c:174,1
    - Dst: var_GetString
      Src: /src/vlc/test/src/misc/variables.c:178,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:180,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:181,1
    - Dst: strcmp
      Src: /src/vlc/test/src/misc/variables.c:181,1
    - Dst: free
      Src: /src/vlc/test/src/misc/variables.c:182,1
    - Dst: var_Destroy
      Src: /src/vlc/test/src/misc/variables.c:186,1
    - Dst: var_Create
      Src: /src/vlc/test/src/misc/variables.c:189,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:190,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/test/src/misc/variables.c:190,1
    - Dst: var_SetString
      Src: /src/vlc/test/src/misc/variables.c:191,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:192,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/test/src/misc/variables.c:192,1
    - Dst: var_SetString
      Src: /src/vlc/test/src/misc/variables.c:193,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/test/src/misc/variables.c:195,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:196,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:197,1
    - Dst: strcmp
      Src: /src/vlc/test/src/misc/variables.c:197,1
    - Dst: free
      Src: /src/vlc/test/src/misc/variables.c:198,1
    - Dst: var_Destroy
      Src: /src/vlc/test/src/misc/variables.c:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - p_libvlc
    argTypes:
    - libvlc_int_t*
    assertStmts:
    - condition: ( psz_tmp != NULL )
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_GetNonEmptyString( p_libvlc, "bla" ) == NULL )
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( !strcmp( psz_tmp, "test" ) )
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( !strcmp( psz_tmp, psz_var_name[i] ) )
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_GetNonEmptyString( p_libvlc, "bla" ) == NULL )
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( psz_tmp != NULL )
      pos:
        line_end: 195
        line_start: 195
        source_file: /src/vlc/test/src/misc/variables.c
    constantsTouched: []
    func_position:
      end: 200
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 200
    functionName: test_strings
    functionSourceFile: /src/vlc/test/src/misc/variables.c
    functionUses: 0
    functionsReached:
    - var_Destroy
    - assert
    - var_GetString
    - var_Create
    - var_GetNonEmptyString
    - free
    - strcmp
    - var_SetString
    linkageType: ''
    returnType: void
    signature: void test_strings( libvlc_int_t *p_libvlc )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_Create
      Src: /src/vlc/test/src/misc/variables.c:207,1
    - Dst: var_SetAddress
      Src: /src/vlc/test/src/misc/variables.c:212,1
    - Dst: var_Get
      Src: /src/vlc/test/src/misc/variables.c:218,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:219,1
    - Dst: var_Destroy
      Src: /src/vlc/test/src/misc/variables.c:223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - p_libvlc
    argTypes:
    - libvlc_int_t*
    assertStmts:
    - condition: ( val.p_address == var_value[i].p_address )
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/vlc/test/src/misc/variables.c
    constantsTouched: []
    func_position:
      end: 224
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 224
    functionName: test_address
    functionSourceFile: /src/vlc/test/src/misc/variables.c
    functionUses: 0
    functionsReached:
    - var_Destroy
    - assert
    - var_SetAddress
    - var_Create
    - var_Get
    linkageType: ''
    returnType: void
    signature: void test_address( libvlc_int_t *p_libvlc )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:234,1
    - Dst: strcmp
      Src: /src/vlc/test/src/misc/variables.c:239,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - p_this
    - psz_var
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts:
    - condition: ( p_data == psz_var_name )
      pos:
        line_end: 233
        line_start: 233
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( i < VAR_COUNT )
      pos:
        line_end: 242
        line_start: 242
        source_file: /src/vlc/test/src/misc/variables.c
    constantsTouched: []
    func_position:
      end: 247
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 247
    functionName: callback
    functionSourceFile: /src/vlc/test/src/misc/variables.c
    functionUses: 2
    functionsReached:
    - strcmp
    - assert
    linkageType: ''
    returnType: int
    signature: "int callback( vlc_object_t* p_this, char const *psz_var,\n                     vlc_value_t
      oldval, vlc_value_t newval, void *p_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_Create
      Src: /src/vlc/test/src/misc/variables.c:254,1
    - Dst: var_AddCallback
      Src: /src/vlc/test/src/misc/variables.c:255,1
    - Dst: rand
      Src: /src/vlc/test/src/misc/variables.c:261,1
    - Dst: var_SetInteger
      Src: /src/vlc/test/src/misc/variables.c:262,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:263,1
    - Dst: var_SetInteger
      Src: /src/vlc/test/src/misc/variables.c:264,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:265,1
    - Dst: var_TriggerCallback
      Src: /src/vlc/test/src/misc/variables.c:272,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:273,1
    - Dst: var_Destroy
      Src: /src/vlc/test/src/misc/variables.c:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - p_libvlc
    argTypes:
    - libvlc_int_t*
    assertStmts:
    - condition: ( i_temp == var_value[i].i_int )
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_value[i].i_int == 0 )
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_value[i].i_int == 0 )
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/vlc/test/src/misc/variables.c
    constantsTouched: []
    func_position:
      end: 278
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 278
    functionName: test_callbacks
    functionSourceFile: /src/vlc/test/src/misc/variables.c
    functionUses: 0
    functionsReached:
    - var_Destroy
    - rand
    - assert
    - var_AddCallback
    - var_Create
    - var_SetInteger
    - var_TriggerCallback
    linkageType: ''
    returnType: void
    signature: void test_callbacks( libvlc_int_t *p_libvlc )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_Create
      Src: /src/vlc/test/src/misc/variables.c:284,1
    - Dst: var_Change
      Src: /src/vlc/test/src/misc/variables.c:286,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:287,1
    - Dst: var_Change
      Src: /src/vlc/test/src/misc/variables.c:288,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:289,1
    - Dst: var_Change
      Src: /src/vlc/test/src/misc/variables.c:291,1
    - Dst: var_Change
      Src: /src/vlc/test/src/misc/variables.c:295,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:296,1
    - Dst: var_Change
      Src: /src/vlc/test/src/misc/variables.c:297,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:298,1
    - Dst: var_SetInteger
      Src: /src/vlc/test/src/misc/variables.c:300,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:301,1
    - Dst: var_GetInteger
      Src: /src/vlc/test/src/misc/variables.c:301,1
    - Dst: var_SetInteger
      Src: /src/vlc/test/src/misc/variables.c:302,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:303,1
    - Dst: var_GetInteger
      Src: /src/vlc/test/src/misc/variables.c:303,1
    - Dst: var_SetInteger
      Src: /src/vlc/test/src/misc/variables.c:304,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:305,1
    - Dst: var_GetInteger
      Src: /src/vlc/test/src/misc/variables.c:305,1
    - Dst: var_Change
      Src: /src/vlc/test/src/misc/variables.c:308,1
    - Dst: var_SetInteger
      Src: /src/vlc/test/src/misc/variables.c:309,1
    - Dst: var_Change
      Src: /src/vlc/test/src/misc/variables.c:311,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:312,1
    - Dst: var_SetInteger
      Src: /src/vlc/test/src/misc/variables.c:314,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:315,1
    - Dst: var_GetInteger
      Src: /src/vlc/test/src/misc/variables.c:315,1
    - Dst: var_SetInteger
      Src: /src/vlc/test/src/misc/variables.c:317,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:318,1
    - Dst: var_GetInteger
      Src: /src/vlc/test/src/misc/variables.c:318,1
    - Dst: var_Destroy
      Src: /src/vlc/test/src/misc/variables.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 1
    argNames:
    - p_libvlc
    argTypes:
    - libvlc_int_t*
    assertStmts:
    - condition: ( val.i_int == INT64_MAX )
      pos:
        line_end: 288
        line_start: 288
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( val.i_int == INT64_MIN )
      pos:
        line_end: 286
        line_start: 286
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_GetInteger( p_libvlc, "bla" ) == 12345 )
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_GetInteger( p_libvlc, "bla" ) == 1234 )
      pos:
        line_end: 302
        line_start: 302
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( val.i_int == 42 )
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_GetInteger( p_libvlc, "bla" ) == 0 )
      pos:
        line_end: 314
        line_start: 314
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_GetInteger( p_libvlc, "bla" ) == 42 )
      pos:
        line_end: 317
        line_start: 317
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( val.i_int == -1234 )
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( val.i_int == 12345 )
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_GetInteger( p_libvlc, "bla" ) == -1234 )
      pos:
        line_end: 300
        line_start: 300
        source_file: /src/vlc/test/src/misc/variables.c
    constantsTouched: []
    func_position:
      end: 321
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 321
    functionName: test_limits
    functionSourceFile: /src/vlc/test/src/misc/variables.c
    functionUses: 0
    functionsReached:
    - var_Destroy
    - assert
    - var_Create
    - var_SetInteger
    - var_GetInteger
    - var_Change
    linkageType: ''
    returnType: void
    signature: void test_limits( libvlc_int_t *p_libvlc )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_Create
      Src: /src/vlc/test/src/misc/variables.c:330,1
    - Dst: var_Change
      Src: /src/vlc/test/src/misc/variables.c:332,1
    - Dst: var_Change
      Src: /src/vlc/test/src/misc/variables.c:335,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:337,1
    - Dst: var_CountChoices
      Src: /src/vlc/test/src/misc/variables.c:337,1
    - Dst: var_Change
      Src: /src/vlc/test/src/misc/variables.c:339,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:340,1
    - Dst: var_CountChoices
      Src: /src/vlc/test/src/misc/variables.c:340,1
    - Dst: var_Change
      Src: /src/vlc/test/src/misc/variables.c:342,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:343,1
    - Dst: strcmp
      Src: /src/vlc/test/src/misc/variables.c:343,1
    - Dst: free
      Src: /src/vlc/test/src/misc/variables.c:344,1
    - Dst: free
      Src: /src/vlc/test/src/misc/variables.c:345,1
    - Dst: free
      Src: /src/vlc/test/src/misc/variables.c:346,1
    - Dst: var_Change
      Src: /src/vlc/test/src/misc/variables.c:348,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:349,1
    - Dst: var_CountChoices
      Src: /src/vlc/test/src/misc/variables.c:349,1
    - Dst: var_Destroy
      Src: /src/vlc/test/src/misc/variables.c:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - p_libvlc
    argTypes:
    - libvlc_int_t*
    assertStmts:
    - condition: ( var_CountChoices( p_libvlc, "bla" ) == 2 )
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_CountChoices( p_libvlc, "bla" ) == 1 )
      pos:
        line_end: 339
        line_start: 339
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( count == 1 && vals[0].i_int == 1 && !strcmp( texts[0], "one" )
        )
      pos:
        line_end: 342
        line_start: 342
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_CountChoices( p_libvlc, "bla" ) == 0 )
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/vlc/test/src/misc/variables.c
    constantsTouched: []
    func_position:
      end: 352
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 352
    functionName: test_choices
    functionSourceFile: /src/vlc/test/src/misc/variables.c
    functionUses: 0
    functionsReached:
    - var_Destroy
    - assert
    - var_CountChoices
    - var_Create
    - free
    - strcmp
    - var_Change
    linkageType: ''
    returnType: void
    signature: void test_choices( libvlc_int_t *p_libvlc )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_Create
      Src: /src/vlc/test/src/misc/variables.c:362,1
    - Dst: var_Change
      Src: /src/vlc/test/src/misc/variables.c:363,1
    - Dst: var_Change
      Src: /src/vlc/test/src/misc/variables.c:364,1
    - Dst: var_SetInteger
      Src: /src/vlc/test/src/misc/variables.c:366,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:367,1
    - Dst: var_GetInteger
      Src: /src/vlc/test/src/misc/variables.c:367,1
    - Dst: var_SetInteger
      Src: /src/vlc/test/src/misc/variables.c:368,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:369,1
    - Dst: var_GetInteger
      Src: /src/vlc/test/src/misc/variables.c:369,1
    - Dst: var_SetInteger
      Src: /src/vlc/test/src/misc/variables.c:370,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:371,1
    - Dst: var_GetInteger
      Src: /src/vlc/test/src/misc/variables.c:371,1
    - Dst: var_SetInteger
      Src: /src/vlc/test/src/misc/variables.c:372,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:373,1
    - Dst: var_GetInteger
      Src: /src/vlc/test/src/misc/variables.c:373,1
    - Dst: var_SetInteger
      Src: /src/vlc/test/src/misc/variables.c:374,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:375,1
    - Dst: var_GetInteger
      Src: /src/vlc/test/src/misc/variables.c:375,1
    - Dst: var_SetInteger
      Src: /src/vlc/test/src/misc/variables.c:376,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:377,1
    - Dst: var_GetInteger
      Src: /src/vlc/test/src/misc/variables.c:377,1
    - Dst: var_Change
      Src: /src/vlc/test/src/misc/variables.c:380,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:381,1
    - Dst: var_Change
      Src: /src/vlc/test/src/misc/variables.c:382,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:383,1
    - Dst: var_Change
      Src: /src/vlc/test/src/misc/variables.c:384,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:385,1
    - Dst: var_Destroy
      Src: /src/vlc/test/src/misc/variables.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 1
    argNames:
    - p_libvlc
    argTypes:
    - libvlc_int_t*
    assertStmts:
    - condition: ( var_GetInteger( p_libvlc, "bla" ) == -26 )
      pos:
        line_end: 376
        line_start: 376
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( val.i_int == min.i_int )
      pos:
        line_end: 380
        line_start: 380
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( val.i_int == max.i_int )
      pos:
        line_end: 382
        line_start: 382
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_GetInteger( p_libvlc, "bla" ) == 13 )
      pos:
        line_end: 366
        line_start: 366
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_GetInteger( p_libvlc, "bla" ) == 26 )
      pos:
        line_end: 368
        line_start: 368
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_GetInteger( p_libvlc, "bla" ) == 0 )
      pos:
        line_end: 372
        line_start: 372
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_GetInteger( p_libvlc, "bla" ) == -13 )
      pos:
        line_end: 374
        line_start: 374
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_GetInteger( p_libvlc, "bla" ) == 39 )
      pos:
        line_end: 370
        line_start: 370
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( val.i_int == step.i_int )
      pos:
        line_end: 384
        line_start: 384
        source_file: /src/vlc/test/src/misc/variables.c
    constantsTouched: []
    func_position:
      end: 388
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 388
    functionName: test_change
    functionSourceFile: /src/vlc/test/src/misc/variables.c
    functionUses: 0
    functionsReached:
    - var_Destroy
    - assert
    - var_Create
    - var_SetInteger
    - var_GetInteger
    - var_Change
    linkageType: ''
    returnType: void
    signature: void test_change( libvlc_int_t *p_libvlc )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_Create
      Src: /src/vlc/test/src/misc/variables.c:395,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:396,1
    - Dst: var_Type
      Src: /src/vlc/test/src/misc/variables.c:396,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:398,1
    - Dst: var_Create
      Src: /src/vlc/test/src/misc/variables.c:398,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:399,1
    - Dst: var_Type
      Src: /src/vlc/test/src/misc/variables.c:399,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:401,1
    - Dst: var_Create
      Src: /src/vlc/test/src/misc/variables.c:401,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:402,1
    - Dst: var_Type
      Src: /src/vlc/test/src/misc/variables.c:402,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:404,1
    - Dst: var_Change
      Src: /src/vlc/test/src/misc/variables.c:404,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:406,1
    - Dst: var_Change
      Src: /src/vlc/test/src/misc/variables.c:406,1
    - Dst: var_Change
      Src: /src/vlc/test/src/misc/variables.c:409,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:410,1
    - Dst: var_Change
      Src: /src/vlc/test/src/misc/variables.c:410,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:412,1
    - Dst: var_Change
      Src: /src/vlc/test/src/misc/variables.c:412,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:415,1
    - Dst: var_Change
      Src: /src/vlc/test/src/misc/variables.c:415,1
    - Dst: var_Change
      Src: /src/vlc/test/src/misc/variables.c:417,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:418,1
    - Dst: var_Change
      Src: /src/vlc/test/src/misc/variables.c:418,1
    - Dst: var_Destroy
      Src: /src/vlc/test/src/misc/variables.c:421,1
    - Dst: var_Destroy
      Src: /src/vlc/test/src/misc/variables.c:422,1
    - Dst: var_Destroy
      Src: /src/vlc/test/src/misc/variables.c:423,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:424,1
    - Dst: var_Get
      Src: /src/vlc/test/src/misc/variables.c:424,1
    - Dst: var_Create
      Src: /src/vlc/test/src/misc/variables.c:426,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:427,1
    - Dst: var_Type
      Src: /src/vlc/test/src/misc/variables.c:427,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:429,1
    - Dst: var_Create
      Src: /src/vlc/test/src/misc/variables.c:429,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:430,1
    - Dst: var_Type
      Src: /src/vlc/test/src/misc/variables.c:430,1
    - Dst: var_Destroy
      Src: /src/vlc/test/src/misc/variables.c:432,1
    - Dst: var_Destroy
      Src: /src/vlc/test/src/misc/variables.c:433,1
    - Dst: var_Destroy
      Src: /src/vlc/test/src/misc/variables.c:434,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:435,1
    - Dst: var_Get
      Src: /src/vlc/test/src/misc/variables.c:435,1
    - Dst: var_Create
      Src: /src/vlc/test/src/misc/variables.c:437,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:438,1
    - Dst: var_Create
      Src: /src/vlc/test/src/misc/variables.c:438,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:439,1
    - Dst: var_Type
      Src: /src/vlc/test/src/misc/variables.c:439,1
    - Dst: var_Destroy
      Src: /src/vlc/test/src/misc/variables.c:441,1
    - Dst: var_Destroy
      Src: /src/vlc/test/src/misc/variables.c:442,1
    - Dst: var_Destroy
      Src: /src/vlc/test/src/misc/variables.c:443,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:444,1
    - Dst: var_Get
      Src: /src/vlc/test/src/misc/variables.c:444,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 1
    argNames:
    - p_libvlc
    argTypes:
    - libvlc_int_t*
    assertStmts:
    - condition: ( var_Create( p_libvlc, "bla", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT
        ) == VLC_SUCCESS )
      pos:
        line_end: 397
        line_start: 397
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_Create( p_libvlc, "bla", VLC_VAR_INTEGER | VLC_VAR_ISCOMMAND
        ) == VLC_SUCCESS )
      pos:
        line_end: 400
        line_start: 400
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_Change( p_libvlc, "bla" , VLC_VAR_GETSTEP, &val ) != 0 )
      pos:
        line_end: 414
        line_start: 414
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_Get( p_libvlc, "bla", &val ) == VLC_ENOENT )
      pos:
        line_end: 423
        line_start: 423
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_Type( p_libvlc, "program" ) == (VLC_VAR_INTEGER) )
      pos:
        line_end: 426
        line_start: 426
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_Type( p_libvlc, "bla" ) == (VLC_VAR_INTEGER) )
      pos:
        line_end: 395
        line_start: 395
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: "( var_Change( p_libvlc, \"bla\", VLC_VAR_GETMIN, &val ) == 0\n         &&
        val.i_int == 4212 )"
      pos:
        line_end: 410
        line_start: 409
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: "( var_Change( p_libvlc, \"bla\", VLC_VAR_GETMAX, &val ) == 0\n         &&
        val.i_int == 4212 )"
      pos:
        line_end: 412
        line_start: 411
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_Create( p_libvlc, "bla", VLC_VAR_INTEGER | VLC_VAR_ISCOMMAND
        ) == VLC_SUCCESS )
      pos:
        line_end: 428
        line_start: 428
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_Type( p_libvlc, "bla" ) == (VLC_VAR_INTEGER | VLC_VAR_ISCOMMAND)
        )
      pos:
        line_end: 401
        line_start: 401
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: "( var_Change( p_libvlc, \"bla\", VLC_VAR_GETMAX, &val ) != 0\n         ||
        val.i_int == INT64_MAX )"
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: "( var_Change( p_libvlc, \"bla\", VLC_VAR_GETMIN, &val ) != 0\n         ||
        val.i_int == INT64_MIN )"
      pos:
        line_end: 404
        line_start: 403
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: "( var_Change( p_libvlc, \"bla\" , VLC_VAR_GETSTEP, &val ) == 0\n
        \        && val.i_int == 4212 )"
      pos:
        line_end: 418
        line_start: 417
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_Type( p_libvlc, "bla" ) == (VLC_VAR_INTEGER | VLC_VAR_ISCOMMAND)
        )
      pos:
        line_end: 438
        line_start: 438
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_Type( p_libvlc, "bla" ) == (VLC_VAR_INTEGER) )
      pos:
        line_end: 398
        line_start: 398
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_Type( p_libvlc, "bla" ) == (VLC_VAR_INTEGER | VLC_VAR_ISCOMMAND)
        )
      pos:
        line_end: 429
        line_start: 429
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_Get( p_libvlc, "bla", &val ) == VLC_ENOENT )
      pos:
        line_end: 443
        line_start: 443
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_Create( p_libvlc, "bla", VLC_VAR_INTEGER | VLC_VAR_ISCOMMAND
        ) == VLC_SUCCESS )
      pos:
        line_end: 437
        line_start: 437
        source_file: /src/vlc/test/src/misc/variables.c
    - condition: ( var_Get( p_libvlc, "bla", &val ) == VLC_ENOENT )
      pos:
        line_end: 434
        line_start: 434
        source_file: /src/vlc/test/src/misc/variables.c
    constantsTouched: []
    func_position:
      end: 445
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 445
    functionName: test_creation_and_type
    functionSourceFile: /src/vlc/test/src/misc/variables.c
    functionUses: 0
    functionsReached:
    - var_Destroy
    - assert
    - var_Create
    - var_Change
    - var_Get
    - var_Type
    linkageType: ''
    returnType: void
    signature: void test_creation_and_type( libvlc_int_t *p_libvlc )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/vlc/test/src/misc/variables.c:450,1
    - Dst: time
      Src: /src/vlc/test/src/misc/variables.c:450,1
    - Dst: test_log
      Src: /src/vlc/test/src/misc/variables.c:452,1
    - Dst: test_integer
      Src: /src/vlc/test/src/misc/variables.c:453,1
    - Dst: test_log
      Src: /src/vlc/test/src/misc/variables.c:455,1
    - Dst: test_booleans
      Src: /src/vlc/test/src/misc/variables.c:456,1
    - Dst: test_log
      Src: /src/vlc/test/src/misc/variables.c:458,1
    - Dst: test_floats
      Src: /src/vlc/test/src/misc/variables.c:459,1
    - Dst: test_log
      Src: /src/vlc/test/src/misc/variables.c:461,1
    - Dst: test_fracts
      Src: /src/vlc/test/src/misc/variables.c:462,1
    - Dst: test_log
      Src: /src/vlc/test/src/misc/variables.c:464,1
    - Dst: test_strings
      Src: /src/vlc/test/src/misc/variables.c:465,1
    - Dst: test_log
      Src: /src/vlc/test/src/misc/variables.c:467,1
    - Dst: test_address
      Src: /src/vlc/test/src/misc/variables.c:468,1
    - Dst: test_log
      Src: /src/vlc/test/src/misc/variables.c:470,1
    - Dst: test_callbacks
      Src: /src/vlc/test/src/misc/variables.c:471,1
    - Dst: test_log
      Src: /src/vlc/test/src/misc/variables.c:473,1
    - Dst: test_limits
      Src: /src/vlc/test/src/misc/variables.c:474,1
    - Dst: test_log
      Src: /src/vlc/test/src/misc/variables.c:476,1
    - Dst: test_choices
      Src: /src/vlc/test/src/misc/variables.c:477,1
    - Dst: test_log
      Src: /src/vlc/test/src/misc/variables.c:479,1
    - Dst: test_change
      Src: /src/vlc/test/src/misc/variables.c:480,1
    - Dst: test_log
      Src: /src/vlc/test/src/misc/variables.c:482,1
    - Dst: test_creation_and_type
      Src: /src/vlc/test/src/misc/variables.c:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 1
    argNames:
    - p_vlc
    argTypes:
    - libvlc_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 447
    functionDepth: 3
    functionLinenumber: 447
    functionLinenumberEnd: 484
    functionName: test_variables
    functionSourceFile: /src/vlc/test/src/misc/variables.c
    functionUses: 0
    functionsReached:
    - test_strings
    - test_callbacks
    - test_choices
    - test_integer
    - test_fracts
    - test_log
    - test_limits
    - test_creation_and_type
    - time
    - test_address
    - srand
    - test_change
    - test_booleans
    - test_floats
    linkageType: ''
    returnType: void
    signature: void test_variables( libvlc_instance_t *p_vlc )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/src/misc/variables.c:491,1
    - Dst: test_log
      Src: /src/vlc/test/src/misc/variables.c:493,1
    - Dst: libvlc_new
      Src: /src/vlc/test/src/misc/variables.c:494,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/variables.c:495,1
    - Dst: test_variables
      Src: /src/vlc/test/src/misc/variables.c:497,1
    - Dst: libvlc_release
      Src: /src/vlc/test/src/misc/variables.c:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( p_vlc != NULL )
      pos:
        line_end: 494
        line_start: 494
        source_file: /src/vlc/test/src/misc/variables.c
    constantsTouched: []
    func_position:
      end: 502
      start: 487
    functionDepth: 4
    functionLinenumber: 487
    functionLinenumberEnd: 502
    functionName: main
    functionSourceFile: /src/vlc/test/src/misc/variables.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - assert
    - test_init
    - test_variables
    - libvlc_new
    - test_log
    linkageType: ''
    returnType: int
    signature: int main( void )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/misc/epg.c:31,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/epg.c:35,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/epg.c:36,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/epg.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p_epg
    - psz_name
    argTypes:
    - vlc_epg_t*
    - char*
    assertStmts:
    - condition: ( psz_name == NULL )
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/vlc/test/src/misc/epg.c
    - condition: ( p_epg->p_current->psz_name )
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/vlc/test/src/misc/epg.c
    - condition: ( psz_name[0] == p_epg->p_current->psz_name[0] )
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/vlc/test/src/misc/epg.c
    - condition: ( p_epg->p_current )
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/vlc/test/src/misc/epg.c
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: assert_current
    functionSourceFile: /src/vlc/test/src/misc/epg.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void assert_current( const vlc_epg_t *p_epg, const char *psz_name )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/test/src/misc/epg.c:43,1
    - Dst: printf
      Src: /src/vlc/test/src/misc/epg.c:45,1
    - Dst: printf
      Src: /src/vlc/test/src/misc/epg.c:47,1
    - Dst: printf
      Src: /src/vlc/test/src/misc/epg.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - p_epg
    argTypes:
    - vlc_epg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: print_order
    functionSourceFile: /src/vlc/test/src/misc/epg.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_order( const vlc_epg_t *p_epg )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/misc/epg.c:53,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/epg.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - p_epg
    - psz_names
    - i_names
    argTypes:
    - vlc_epg_t*
    - char*
    - size_t
    assertStmts:
    - condition: ( p_epg->i_event == i_names )
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/vlc/test/src/misc/epg.c
    - condition: "( p_epg->pp_event[i]->psz_name &&\n                p_epg->pp_event[i]->psz_name[0]
        == psz_names[i] )"
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/vlc/test/src/misc/epg.c
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: assert_events
    functionSourceFile: /src/vlc/test/src/misc/epg.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void assert_events( const vlc_epg_t *p_epg, const char *psz_names,
      size_t i_names )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - epg
    - ','
    - start
    - ','
    - duration
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: EPG_ADD
    functionSourceFile: /src/vlc/test/src/misc/epg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EPG_ADD(epg, start, duration, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/src/misc/epg.c:74,1
    - Dst: printf
      Src: /src/vlc/test/src/misc/epg.c:79,1
    - Dst: vlc_epg_New
      Src: /src/vlc/test/src/misc/epg.c:80,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/epg.c:81,1
    - Dst: EPG_ADD
      Src: /src/vlc/test/src/misc/epg.c:82,1
    - Dst: EPG_ADD
      Src: /src/vlc/test/src/misc/epg.c:83,1
    - Dst: EPG_ADD
      Src: /src/vlc/test/src/misc/epg.c:84,1
    - Dst: EPG_ADD
      Src: /src/vlc/test/src/misc/epg.c:85,1
    - Dst: print_order
      Src: /src/vlc/test/src/misc/epg.c:86,1
    - Dst: assert_events
      Src: /src/vlc/test/src/misc/epg.c:87,1
    - Dst: assert_current
      Src: /src/vlc/test/src/misc/epg.c:88,1
    - Dst: vlc_epg_SetCurrent
      Src: /src/vlc/test/src/misc/epg.c:90,1
    - Dst: assert_current
      Src: /src/vlc/test/src/misc/epg.c:91,1
    - Dst: vlc_epg_Delete
      Src: /src/vlc/test/src/misc/epg.c:93,1
    - Dst: printf
      Src: /src/vlc/test/src/misc/epg.c:97,1
    - Dst: vlc_epg_New
      Src: /src/vlc/test/src/misc/epg.c:98,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/epg.c:99,1
    - Dst: EPG_ADD
      Src: /src/vlc/test/src/misc/epg.c:100,1
    - Dst: EPG_ADD
      Src: /src/vlc/test/src/misc/epg.c:101,1
    - Dst: EPG_ADD
      Src: /src/vlc/test/src/misc/epg.c:102,1
    - Dst: EPG_ADD
      Src: /src/vlc/test/src/misc/epg.c:103,1
    - Dst: print_order
      Src: /src/vlc/test/src/misc/epg.c:104,1
    - Dst: assert_events
      Src: /src/vlc/test/src/misc/epg.c:105,1
    - Dst: vlc_epg_Delete
      Src: /src/vlc/test/src/misc/epg.c:106,1
    - Dst: printf
      Src: /src/vlc/test/src/misc/epg.c:109,1
    - Dst: vlc_epg_New
      Src: /src/vlc/test/src/misc/epg.c:110,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/epg.c:111,1
    - Dst: EPG_ADD
      Src: /src/vlc/test/src/misc/epg.c:112,1
    - Dst: EPG_ADD
      Src: /src/vlc/test/src/misc/epg.c:113,1
    - Dst: EPG_ADD
      Src: /src/vlc/test/src/misc/epg.c:114,1
    - Dst: EPG_ADD
      Src: /src/vlc/test/src/misc/epg.c:115,1
    - Dst: EPG_ADD
      Src: /src/vlc/test/src/misc/epg.c:116,1
    - Dst: EPG_ADD
      Src: /src/vlc/test/src/misc/epg.c:117,1
    - Dst: print_order
      Src: /src/vlc/test/src/misc/epg.c:118,1
    - Dst: assert_events
      Src: /src/vlc/test/src/misc/epg.c:119,1
    - Dst: vlc_epg_Delete
      Src: /src/vlc/test/src/misc/epg.c:120,1
    - Dst: printf
      Src: /src/vlc/test/src/misc/epg.c:123,1
    - Dst: vlc_epg_New
      Src: /src/vlc/test/src/misc/epg.c:124,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/epg.c:125,1
    - Dst: EPG_ADD
      Src: /src/vlc/test/src/misc/epg.c:126,1
    - Dst: EPG_ADD
      Src: /src/vlc/test/src/misc/epg.c:127,1
    - Dst: EPG_ADD
      Src: /src/vlc/test/src/misc/epg.c:128,1
    - Dst: vlc_epg_SetCurrent
      Src: /src/vlc/test/src/misc/epg.c:129,1
    - Dst: EPG_ADD
      Src: /src/vlc/test/src/misc/epg.c:130,1
    - Dst: EPG_ADD
      Src: /src/vlc/test/src/misc/epg.c:131,1
    - Dst: EPG_ADD
      Src: /src/vlc/test/src/misc/epg.c:132,1
    - Dst: print_order
      Src: /src/vlc/test/src/misc/epg.c:133,1
    - Dst: assert_events
      Src: /src/vlc/test/src/misc/epg.c:134,1
    - Dst: assert_current
      Src: /src/vlc/test/src/misc/epg.c:135,1
    - Dst: vlc_epg_Delete
      Src: /src/vlc/test/src/misc/epg.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (p_epg)
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/vlc/test/src/misc/epg.c
    - condition: (p_epg)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/vlc/test/src/misc/epg.c
    - condition: (p_epg)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/vlc/test/src/misc/epg.c
    - condition: (p_epg)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/vlc/test/src/misc/epg.c
    constantsTouched: []
    func_position:
      end: 139
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 139
    functionName: main
    functionSourceFile: /src/vlc/test/src/misc/epg.c
    functionUses: 0
    functionsReached:
    - EPG_ADD
    - assert
    - vlc_epg_New
    - test_init
    - vlc_epg_Delete
    - printf
    - print_order
    - assert_events
    - assert_current
    - vlc_epg_SetCurrent
    linkageType: ''
    returnType: int
    signature: int main( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/misc/ancillary.c:35,1
    - Dst: strncmp
      Src: /src/vlc/test/src/misc/ancillary.c:35,1
    - Dst: free
      Src: /src/vlc/test/src/misc/ancillary.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts:
    - condition: (strncmp(data, "test", 4) == 0)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/vlc/test/src/misc/ancillary.c
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: ancillary_free
    functionSourceFile: /src/vlc/test/src/misc/ancillary.c
    functionUses: 0
    functionsReached:
    - strncmp
    - assert
    - free
    linkageType: ''
    returnType: void
    signature: void ancillary_free(void *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_frame_Alloc
      Src: /src/vlc/test/src/misc/ancillary.c:41,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/ancillary.c:42,1
    - Dst: asprintf
      Src: /src/vlc/test/src/misc/ancillary.c:52,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/ancillary.c:53,1
    - Dst: VLC_ANCILLARY_ID
      Src: /src/vlc/test/src/misc/ancillary.c:61,1
    - Dst: VLC_ANCILLARY_ID
      Src: /src/vlc/test/src/misc/ancillary.c:62,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/test/src/misc/ancillary.c:63,1
    - Dst: vlc_ancillary_CreateWithFreeCb
      Src: /src/vlc/test/src/misc/ancillary.c:66,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/ancillary.c:67,1
    - Dst: vlc_frame_AttachAncillary
      Src: /src/vlc/test/src/misc/ancillary.c:69,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/ancillary.c:70,1
    - Dst: vlc_ancillary_Release
      Src: /src/vlc/test/src/misc/ancillary.c:71,1
    - Dst: vlc_frame_Duplicate
      Src: /src/vlc/test/src/misc/ancillary.c:76,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/ancillary.c:77,1
    - Dst: vlc_frame_Release
      Src: /src/vlc/test/src/misc/ancillary.c:78,1
    - Dst: picture_New
      Src: /src/vlc/test/src/misc/ancillary.c:81,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/ancillary.c:82,1
    - Dst: vlc_frame_GetAncillary
      Src: /src/vlc/test/src/misc/ancillary.c:85,1
    - Dst: VLC_ANCILLARY_ID
      Src: /src/vlc/test/src/misc/ancillary.c:85,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/ancillary.c:86,1
    - Dst: picture_AttachAncillary
      Src: /src/vlc/test/src/misc/ancillary.c:87,1
    - Dst: vlc_frame_GetAncillary
      Src: /src/vlc/test/src/misc/ancillary.c:89,1
    - Dst: VLC_ANCILLARY_ID
      Src: /src/vlc/test/src/misc/ancillary.c:89,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/ancillary.c:90,1
    - Dst: picture_AttachAncillary
      Src: /src/vlc/test/src/misc/ancillary.c:91,1
    - Dst: picture_AttachNewAncillary
      Src: /src/vlc/test/src/misc/ancillary.c:94,1
    - Dst: VLC_ANCILLARY_ID
      Src: /src/vlc/test/src/misc/ancillary.c:94,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/ancillary.c:95,1
    - Dst: strcpy
      Src: /src/vlc/test/src/misc/ancillary.c:96,1
    - Dst: vlc_frame_Release
      Src: /src/vlc/test/src/misc/ancillary.c:98,1
    - Dst: picture_Clone
      Src: /src/vlc/test/src/misc/ancillary.c:101,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/ancillary.c:102,1
    - Dst: picture_Release
      Src: /src/vlc/test/src/misc/ancillary.c:103,1
    - Dst: picture_New
      Src: /src/vlc/test/src/misc/ancillary.c:106,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/ancillary.c:107,1
    - Dst: picture_Copy
      Src: /src/vlc/test/src/misc/ancillary.c:108,1
    - Dst: picture_Release
      Src: /src/vlc/test/src/misc/ancillary.c:109,1
    - Dst: picture_GetAncillary
      Src: /src/vlc/test/src/misc/ancillary.c:112,1
    - Dst: VLC_ANCILLARY_ID
      Src: /src/vlc/test/src/misc/ancillary.c:112,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/ancillary.c:113,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/ancillary.c:114,1
    - Dst: strcmp
      Src: /src/vlc/test/src/misc/ancillary.c:114,1
    - Dst: vlc_ancillary_GetData
      Src: /src/vlc/test/src/misc/ancillary.c:114,1
    - Dst: picture_GetAncillary
      Src: /src/vlc/test/src/misc/ancillary.c:116,1
    - Dst: VLC_ANCILLARY_ID
      Src: /src/vlc/test/src/misc/ancillary.c:116,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/ancillary.c:117,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/ancillary.c:118,1
    - Dst: strcmp
      Src: /src/vlc/test/src/misc/ancillary.c:118,1
    - Dst: vlc_ancillary_GetData
      Src: /src/vlc/test/src/misc/ancillary.c:118,1
    - Dst: picture_GetAncillary
      Src: /src/vlc/test/src/misc/ancillary.c:120,1
    - Dst: VLC_ANCILLARY_ID
      Src: /src/vlc/test/src/misc/ancillary.c:120,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/ancillary.c:121,1
    - Dst: assert
      Src: /src/vlc/test/src/misc/ancillary.c:122,1
    - Dst: strcmp
      Src: /src/vlc/test/src/misc/ancillary.c:122,1
    - Dst: vlc_ancillary_GetData
      Src: /src/vlc/test/src/misc/ancillary.c:122,1
    - Dst: picture_Release
      Src: /src/vlc/test/src/misc/ancillary.c:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ancillary)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/vlc/test/src/misc/ancillary.c
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/vlc/test/src/misc/ancillary.c
    - condition: (copy_frame)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/vlc/test/src/misc/ancillary.c
    - condition: (picture)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/vlc/test/src/misc/ancillary.c
    - condition: (data)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/vlc/test/src/misc/ancillary.c
    - condition: (clone)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/vlc/test/src/misc/ancillary.c
    - condition: (ancillary)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/vlc/test/src/misc/ancillary.c
    - condition: (strcmp("test1", vlc_ancillary_GetData(ancillary)) == 0)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/vlc/test/src/misc/ancillary.c
    - condition: (ancillary)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/vlc/test/src/misc/ancillary.c
    - condition: (strcmp("test3", vlc_ancillary_GetData(ancillary)) == 0)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/vlc/test/src/misc/ancillary.c
    - condition: (ret > 0)
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/vlc/test/src/misc/ancillary.c
    - condition: (frame)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/vlc/test/src/misc/ancillary.c
    - condition: (ancillary)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/vlc/test/src/misc/ancillary.c
    - condition: (copy)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/vlc/test/src/misc/ancillary.c
    - condition: (ancillary)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/vlc/test/src/misc/ancillary.c
    - condition: (ancillary)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/vlc/test/src/misc/ancillary.c
    - condition: (strcmp("test2", vlc_ancillary_GetData(ancillary)) == 0)
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/vlc/test/src/misc/ancillary.c
    constantsTouched: []
    func_position:
      end: 127
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 127
    functionName: main
    functionSourceFile: /src/vlc/test/src/misc/ancillary.c
    functionUses: 0
    functionsReached:
    - picture_AttachNewAncillary
    - assert
    - picture_New
    - strcpy
    - picture_Release
    - vlc_frame_GetAncillary
    - vlc_ancillary_CreateWithFreeCb
    - picture_GetAncillary
    - asprintf
    - vlc_assert_unreachable
    - vlc_frame_AttachAncillary
    - vlc_frame_Duplicate
    - vlc_ancillary_GetData
    - vlc_ancillary_Release
    - VLC_ANCILLARY_ID
    - strcmp
    - vlc_frame_Alloc
    - picture_AttachAncillary
    - vlc_frame_Release
    - picture_Clone
    - picture_Copy
    linkageType: ''
    returnType: int
    signature: int main( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/test/src/interface/dialog.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p_data
    - psz_title
    - psz_text
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: display_error_cb
    functionSourceFile: /src/vlc/test/src/interface/dialog.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void display_error_cb(void *p_data, const char *psz_title, const char
      *psz_text)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/test/src/interface/dialog.c:70,1
    - Dst: vlc_dialog_id_dismiss
      Src: /src/vlc/test/src/interface/dialog.c:75,1
    - Dst: vlc_dialog_id_post_login
      Src: /src/vlc/test/src/interface/dialog.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - p_data
    - p_id
    - psz_title
    - psz_text
    - psz_default_username
    - b_ask_store
    argTypes:
    - void*
    - vlc_dialog_id*
    - char*
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: display_login_cb
    functionSourceFile: /src/vlc/test/src/interface/dialog.c
    functionUses: 0
    functionsReached:
    - vlc_dialog_id_dismiss
    - printf
    - vlc_dialog_id_post_login
    linkageType: ''
    returnType: void
    signature: "void display_login_cb(void *p_data, vlc_dialog_id *p_id, const char
      *psz_title,\n                 const char *psz_text, const char *psz_default_username,\n
      \                bool b_ask_store)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/test/src/interface/dialog.c:87,1
    - Dst: vlc_dialog_id_dismiss
      Src: /src/vlc/test/src/interface/dialog.c:92,1
    - Dst: vlc_dialog_id_post_action
      Src: /src/vlc/test/src/interface/dialog.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 8
    argNames:
    - p_data
    - p_id
    - psz_title
    - psz_text
    - i_type
    - psz_cancel
    - psz_action1
    - psz_action2
    argTypes:
    - void*
    - vlc_dialog_id*
    - char*
    - char*
    - vlc_dialog_question_type
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: display_question_cb
    functionSourceFile: /src/vlc/test/src/interface/dialog.c
    functionUses: 0
    functionsReached:
    - vlc_dialog_id_dismiss
    - vlc_dialog_id_post_action
    - printf
    linkageType: ''
    returnType: void
    signature: "void display_question_cb(void *p_data, vlc_dialog_id *p_id, const
      char *psz_title,\n                    const char *psz_text, vlc_dialog_question_type
      i_type,\n                    const char *psz_cancel, const char *psz_action1,\n
      \                   const char *psz_action2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/test/src/interface/dialog.c:103,1
    - Dst: vlc_dialog_id_dismiss
      Src: /src/vlc/test/src/interface/dialog.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 7
    argNames:
    - p_data
    - p_id
    - psz_title
    - psz_text
    - b_indeterminate
    - f_position
    - psz_cancel
    argTypes:
    - void*
    - vlc_dialog_id*
    - char*
    - char*
    - bool
    - float
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 109
    functionName: display_progress_cb
    functionSourceFile: /src/vlc/test/src/interface/dialog.c
    functionUses: 0
    functionsReached:
    - vlc_dialog_id_dismiss
    - printf
    linkageType: ''
    returnType: void
    signature: "void display_progress_cb(void *p_data, vlc_dialog_id *p_id, const
      char *psz_title,\n                    const char *psz_text, bool b_indeterminate,\n
      \                   float f_position, const char *psz_cancel)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_dialog_id_dismiss
      Src: /src/vlc/test/src/interface/dialog.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_data
    - p_id
    argTypes:
    - void*
    - vlc_dialog_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: cancel_cb
    functionSourceFile: /src/vlc/test/src/interface/dialog.c
    functionUses: 0
    functionsReached:
    - vlc_dialog_id_dismiss
    linkageType: ''
    returnType: void
    signature: void cancel_cb(void *p_data, vlc_dialog_id *p_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/test/src/interface/dialog.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - p_data
    - p_id
    - f_position
    - psz_text
    argTypes:
    - void*
    - vlc_dialog_id*
    - float
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: update_progress_cb
    functionSourceFile: /src/vlc/test/src/interface/dialog.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: "void update_progress_cb(void *p_data, vlc_dialog_id *p_id, float f_position,\n
      \                              const char *psz_text)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - p_ans
    - b_dismiss
    - psz_username
    - i_action
    argTypes:
    - struct cb_answer*
    - bool
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 135
    functionName: set_answer
    functionSourceFile: /src/vlc/test/src/interface/dialog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void set_answer(struct cb_answer *p_ans, bool b_dismiss, const char
      *psz_username,\n           int i_action)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_answer
      Src: /src/vlc/test/src/interface/dialog.c:141,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/test/src/interface/dialog.c:142,1
    - Dst: assert
      Src: /src/vlc/test/src/interface/dialog.c:144,1
    - Dst: set_answer
      Src: /src/vlc/test/src/interface/dialog.c:149,1
    - Dst: vlc_dialog_wait_login
      Src: /src/vlc/test/src/interface/dialog.c:150,1
    - Dst: assert
      Src: /src/vlc/test/src/interface/dialog.c:152,1
    - Dst: strcmp
      Src: /src/vlc/test/src/interface/dialog.c:152,1
    - Dst: free
      Src: /src/vlc/test/src/interface/dialog.c:153,1
    - Dst: free
      Src: /src/vlc/test/src/interface/dialog.c:154,1
    - Dst: set_answer
      Src: /src/vlc/test/src/interface/dialog.c:156,1
    - Dst: vlc_dialog_wait_login
      Src: /src/vlc/test/src/interface/dialog.c:157,1
    - Dst: assert
      Src: /src/vlc/test/src/interface/dialog.c:159,1
    - Dst: set_answer
      Src: /src/vlc/test/src/interface/dialog.c:161,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/test/src/interface/dialog.c:162,1
    - Dst: assert
      Src: /src/vlc/test/src/interface/dialog.c:164,1
    - Dst: set_answer
      Src: /src/vlc/test/src/interface/dialog.c:166,1
    - Dst: vlc_dialog_wait_question
      Src: /src/vlc/test/src/interface/dialog.c:167,1
    - Dst: assert
      Src: /src/vlc/test/src/interface/dialog.c:171,1
    - Dst: set_answer
      Src: /src/vlc/test/src/interface/dialog.c:173,1
    - Dst: vlc_dialog_wait_question
      Src: /src/vlc/test/src/interface/dialog.c:174,1
    - Dst: assert
      Src: /src/vlc/test/src/interface/dialog.c:178,1
    - Dst: set_answer
      Src: /src/vlc/test/src/interface/dialog.c:180,1
    - Dst: vlc_dialog_wait_question
      Src: /src/vlc/test/src/interface/dialog.c:181,1
    - Dst: assert
      Src: /src/vlc/test/src/interface/dialog.c:185,1
    - Dst: set_answer
      Src: /src/vlc/test/src/interface/dialog.c:187,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/test/src/interface/dialog.c:188,1
    - Dst: assert
      Src: /src/vlc/test/src/interface/dialog.c:190,1
    - Dst: set_answer
      Src: /src/vlc/test/src/interface/dialog.c:192,1
    - Dst: vlc_dialog_wait_question
      Src: /src/vlc/test/src/interface/dialog.c:193,1
    - Dst: assert
      Src: /src/vlc/test/src/interface/dialog.c:197,1
    - Dst: set_answer
      Src: /src/vlc/test/src/interface/dialog.c:199,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/test/src/interface/dialog.c:200,1
    - Dst: assert
      Src: /src/vlc/test/src/interface/dialog.c:202,1
    - Dst: set_answer
      Src: /src/vlc/test/src/interface/dialog.c:204,1
    - Dst: vlc_dialog_display_progress
      Src: /src/vlc/test/src/interface/dialog.c:205,1
    - Dst: assert
      Src: /src/vlc/test/src/interface/dialog.c:210,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/test/src/interface/dialog.c:211,1
    - Dst: vlc_dialog_release
      Src: /src/vlc/test/src/interface/dialog.c:212,1
    - Dst: assert
      Src: /src/vlc/test/src/interface/dialog.c:213,1
    - Dst: set_answer
      Src: /src/vlc/test/src/interface/dialog.c:215,1
    - Dst: vlc_dialog_display_progress
      Src: /src/vlc/test/src/interface/dialog.c:217,1
    - Dst: assert
      Src: /src/vlc/test/src/interface/dialog.c:222,1
    - Dst: vlc_dialog_is_cancelled
      Src: /src/vlc/test/src/interface/dialog.c:223,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/test/src/interface/dialog.c:224,1
    - Dst: vlc_dialog_release
      Src: /src/vlc/test/src/interface/dialog.c:225,1
    - Dst: set_answer
      Src: /src/vlc/test/src/interface/dialog.c:227,1
    - Dst: vlc_dialog_display_progress
      Src: /src/vlc/test/src/interface/dialog.c:228,1
    - Dst: assert
      Src: /src/vlc/test/src/interface/dialog.c:230,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/test/src/interface/dialog.c:233,1
    - Dst: vlc_dialog_update_progress
      Src: /src/vlc/test/src/interface/dialog.c:235,1
    - Dst: assert
      Src: /src/vlc/test/src/interface/dialog.c:236,1
    - Dst: vlc_dialog_release
      Src: /src/vlc/test/src/interface/dialog.c:238,1
    - Dst: set_answer
      Src: /src/vlc/test/src/interface/dialog.c:241,1
    - Dst: vlc_dialog_display_progress
      Src: /src/vlc/test/src/interface/dialog.c:242,1
    - Dst: assert
      Src: /src/vlc/test/src/interface/dialog.c:245,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/test/src/interface/dialog.c:248,1
    - Dst: vlc_dialog_update_progress_text
      Src: /src/vlc/test/src/interface/dialog.c:250,1
    - Dst: assert
      Src: /src/vlc/test/src/interface/dialog.c:253,1
    - Dst: vlc_dialog_release
      Src: /src/vlc/test/src/interface/dialog.c:255,1
    - Dst: set_answer
      Src: /src/vlc/test/src/interface/dialog.c:257,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/test/src/interface/dialog.c:258,1
    - Dst: assert
      Src: /src/vlc/test/src/interface/dialog.c:261,1
    - Dst: set_answer
      Src: /src/vlc/test/src/interface/dialog.c:263,1
    - Dst: vlc_dialog_display_progress
      Src: /src/vlc/test/src/interface/dialog.c:264,1
    - Dst: assert
      Src: /src/vlc/test/src/interface/dialog.c:269,1
    - Dst: set_answer
      Src: /src/vlc/test/src/interface/dialog.c:271,1
    - Dst: vlc_dialog_wait_question
      Src: /src/vlc/test/src/interface/dialog.c:272,1
    - Dst: assert
      Src: /src/vlc/test/src/interface/dialog.c:276,1
    - Dst: vlc_dialog_is_cancelled
      Src: /src/vlc/test/src/interface/dialog.c:277,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/test/src/interface/dialog.c:278,1
    - Dst: vlc_dialog_release
      Src: /src/vlc/test/src/interface/dialog.c:279,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 77
    argCount: 3
    argNames:
    - p_obj
    - p_ans
    - i_dialog_wait
    argTypes:
    - vlc_object_t*
    - struct cb_answer*
    - vlc_tick_t
    assertStmts:
    - condition: (i_ret == VLC_SUCCESS)
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/vlc/test/src/interface/dialog.c
    - condition: (i_ret == 1)
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/vlc/test/src/interface/dialog.c
    - condition: (i_ret == VLC_SUCCESS)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/vlc/test/src/interface/dialog.c
    - condition: (i_ret == 0)
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/vlc/test/src/interface/dialog.c
    - condition: (p_id != NULL)
      pos:
        line_end: 268
        line_start: 268
        source_file: /src/vlc/test/src/interface/dialog.c
    - condition: (p_id != NULL)
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/vlc/test/src/interface/dialog.c
    - condition: (i_ret == VLC_SUCCESS)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/vlc/test/src/interface/dialog.c
    - condition: (i_ret == VLC_SUCCESS)
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/vlc/test/src/interface/dialog.c
    - condition: (i_ret == VLC_SUCCESS)
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/vlc/test/src/interface/dialog.c
    - condition: (i_ret == 0)
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/vlc/test/src/interface/dialog.c
    - condition: (i_ret == 0)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/vlc/test/src/interface/dialog.c
    - condition: (i_ret == 1 && strcmp(psz_user, "Click OK") == 0)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/vlc/test/src/interface/dialog.c
    - condition: (i_ret == 0)
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/vlc/test/src/interface/dialog.c
    - condition: (i_ret == VLC_SUCCESS)
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/vlc/test/src/interface/dialog.c
    - condition: (i_ret == 2)
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/vlc/test/src/interface/dialog.c
    - condition: (p_id != NULL)
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/vlc/test/src/interface/dialog.c
    - condition: (i_ret == VLC_SUCCESS)
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/vlc/test/src/interface/dialog.c
    - condition: (p_id != NULL)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/vlc/test/src/interface/dialog.c
    - condition: (p_id != NULL)
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/vlc/test/src/interface/dialog.c
    - condition: (i_ret == VLC_SUCCESS)
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/vlc/test/src/interface/dialog.c
    constantsTouched: []
    func_position:
      end: 280
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 280
    functionName: test_dialogs
    functionSourceFile: /src/vlc/test/src/interface/dialog.c
    functionUses: 0
    functionsReached:
    - vlc_dialog_wait_question
    - assert
    - vlc_dialog_update_progress_text
    - vlc_dialog_display_error
    - vlc_dialog_wait_login
    - vlc_dialog_update_progress
    - free
    - strcmp
    - vlc_dialog_release
    - vlc_dialog_display_progress
    - vlc_tick_sleep
    - set_answer
    - vlc_dialog_is_cancelled
    linkageType: ''
    returnType: void
    signature: "void test_dialogs(vlc_object_t *p_obj, struct cb_answer *p_ans,\n
      \            vlc_tick_t i_dialog_wait)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/test/src/interface/dialog.c:285,1
    - Dst: setenv
      Src: /src/vlc/test/src/interface/dialog.c:287,1
    - Dst: test_init
      Src: /src/vlc/test/src/interface/dialog.c:289,1
    - Dst: libvlc_new
      Src: /src/vlc/test/src/interface/dialog.c:291,1
    - Dst: assert
      Src: /src/vlc/test/src/interface/dialog.c:292,1
    - Dst: printf
      Src: /src/vlc/test/src/interface/dialog.c:294,1
    - Dst: vlc_dialog_provider_set_callbacks
      Src: /src/vlc/test/src/interface/dialog.c:303,1
    - Dst: vlc_dialog_provider_set_error_callback
      Src: /src/vlc/test/src/interface/dialog.c:304,1
    - Dst: test_dialogs
      Src: /src/vlc/test/src/interface/dialog.c:305,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/test/src/interface/dialog.c:305,1
    - Dst: vlc_dialog_provider_set_error_callback
      Src: /src/vlc/test/src/interface/dialog.c:306,1
    - Dst: vlc_dialog_provider_set_callbacks
      Src: /src/vlc/test/src/interface/dialog.c:307,1
    - Dst: libvlc_release
      Src: /src/vlc/test/src/interface/dialog.c:309,1
    - Dst: printf
      Src: /src/vlc/test/src/interface/dialog.c:313,1
    - Dst: libvlc_new
      Src: /src/vlc/test/src/interface/dialog.c:317,1
    - Dst: assert
      Src: /src/vlc/test/src/interface/dialog.c:318,1
    - Dst: libvlc_InternalAddIntf
      Src: /src/vlc/test/src/interface/dialog.c:320,1
    - Dst: assert
      Src: /src/vlc/test/src/interface/dialog.c:321,1
    - Dst: test_dialogs
      Src: /src/vlc/test/src/interface/dialog.c:322,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/test/src/interface/dialog.c:322,1
    - Dst: libvlc_release
      Src: /src/vlc/test/src/interface/dialog.c:324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - i_argc
    - ppsz_argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (i_ret == VLC_SUCCESS)
      pos:
        line_end: 320
        line_start: 320
        source_file: /src/vlc/test/src/interface/dialog.c
    - condition: (p_libvlc != NULL)
      pos:
        line_end: 317
        line_start: 317
        source_file: /src/vlc/test/src/interface/dialog.c
    - condition: (p_libvlc != NULL)
      pos:
        line_end: 291
        line_start: 291
        source_file: /src/vlc/test/src/interface/dialog.c
    constantsTouched: []
    func_position:
      end: 328
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 328
    functionName: main
    functionSourceFile: /src/vlc/test/src/interface/dialog.c
    functionUses: 0
    functionsReached:
    - setenv
    - libvlc_release
    - vlc_dialog_provider_set_error_callback
    - assert
    - libvlc_InternalAddIntf
    - test_init
    - printf
    - libvlc_new
    - strcmp
    - vlc_dialog_provider_set_callbacks
    - VLC_OBJECT
    - test_dialogs
    linkageType: ''
    returnType: int
    signature: int main(int i_argc, char *ppsz_argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - dec
    - chroma
    - width
    - height
    argTypes:
    - decoder_t*
    - vlc_fourcc_t
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 57
    functionName: decoder_fixed_size
    functionSourceFile: /src/vlc/test/src/video_output/video_output_scenarios.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void decoder_fixed_size(decoder_t *dec, vlc_fourcc_t chroma,\n        unsigned
      width, unsigned height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decoder_fixed_size
      Src: /src/vlc/test/src/video_output/video_output_scenarios.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: decoder_rgba_800_600
    functionSourceFile: /src/vlc/test/src/video_output/video_output_scenarios.c
    functionUses: 0
    functionsReached:
    - decoder_fixed_size
    linkageType: ''
    returnType: void
    signature: void decoder_rgba_800_600(decoder_t *dec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/video_output/video_output_scenarios.c:74,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/video_output/video_output_scenarios.c:82,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/video_output/video_output_scenarios.c:83,1
    - Dst: decoder_UpdateVideoOutput
      Src: /src/vlc/test/src/video_output/video_output_scenarios.c:90,1
    - Dst: vlc_sem_post
      Src: /src/vlc/test/src/video_output/video_output_scenarios.c:94,1
    - Dst: picture_NewFromResource
      Src: /src/vlc/test/src/video_output/video_output_scenarios.c:101,1
    - Dst: assert
      Src: /src/vlc/test/src/video_output/video_output_scenarios.c:102,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/test/src/video_output/video_output_scenarios.c:108,1
    - Dst: block_Release
      Src: /src/vlc/test/src/video_output/video_output_scenarios.c:110,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - dec
    - block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts:
    - condition: (pic)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/vlc/test/src/video_output/video_output_scenarios.c
    constantsTouched: []
    func_position:
      end: 111
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 111
    functionName: decoder_decode_change_chroma
    functionSourceFile: /src/vlc/test/src/video_output/video_output_scenarios.c
    functionUses: 0
    functionsReached:
    - block_Release
    - picture_NewFromResource
    - assert
    - ARRAY_SIZE
    - decoder_UpdateVideoOutput
    - vlc_sem_post
    - decoder_QueueVideo
    linkageType: ''
    returnType: void
    signature: void decoder_decode_change_chroma(decoder_t *dec, block_t *block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Info
      Src: /src/vlc/test/src/video_output/video_output_scenarios.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - vd
    - fmtp
    - vctx
    - chroma
    - width
    - height
    argTypes:
    - vout_display_t*
    - video_format_t*
    - struct vlc_video_context*
    - vlc_fourcc_t
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: display_fixed_size
    functionSourceFile: /src/vlc/test/src/video_output/video_output_scenarios.c
    functionUses: 0
    functionsReached:
    - msg_Info
    linkageType: ''
    returnType: int
    signature: "int display_fixed_size(vout_display_t *vd, video_format_t *fmtp,\n
      \       struct vlc_video_context *vctx, vlc_fourcc_t chroma,\n        unsigned
      width, unsigned height)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Info
      Src: /src/vlc/test/src/video_output/video_output_scenarios.c:133,1
    - Dst: display_fixed_size
      Src: /src/vlc/test/src/video_output/video_output_scenarios.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - vd
    - fmtp
    - vctx
    - width
    - height
    argTypes:
    - vout_display_t*
    - video_format_t*
    - struct vlc_video_context*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 140
    functionName: display_fail_second_time
    functionSourceFile: /src/vlc/test/src/video_output/video_output_scenarios.c
    functionUses: 0
    functionsReached:
    - display_fixed_size
    - msg_Info
    linkageType: ''
    returnType: int
    signature: "int display_fail_second_time(vout_display_t *vd, video_format_t *fmtp,\n
      \       struct vlc_video_context *vctx, unsigned width, unsigned height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: display_fail_second_time
      Src: /src/vlc/test/src/video_output/video_output_scenarios.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vd
    - fmtp
    - vctx
    argTypes:
    - vout_display_t*
    - video_format_t*
    - struct vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: display_800_600_fail_second_time
    functionSourceFile: /src/vlc/test/src/video_output/video_output_scenarios.c
    functionUses: 0
    functionsReached:
    - display_fail_second_time
    linkageType: ''
    returnType: int
    signature: "int display_800_600_fail_second_time(\n        vout_display_t *vd,
      video_format_t *fmtp,\n        struct vlc_video_context *vctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sem_init
      Src: /src/vlc/test/src/video_output/video_output_scenarios.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 165
    functionName: vout_scenario_init
    functionSourceFile: /src/vlc/test/src/video_output/video_output_scenarios.c
    functionUses: 0
    functionsReached:
    - vlc_sem_init
    linkageType: ''
    returnType: void
    signature: void vout_scenario_init(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sem_wait
      Src: /src/vlc/test/src/video_output/video_output_scenarios.c:169,1
    - Dst: assert
      Src: /src/vlc/test/src/video_output/video_output_scenarios.c:171,1
    - Dst: assert
      Src: /src/vlc/test/src/video_output/video_output_scenarios.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - scenario
    argTypes:
    - struct vout_scenario*
    assertStmts:
    - condition: (scenario_data.display_opened)
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/vlc/test/src/video_output/video_output_scenarios.c
    - condition: (scenario_data.converter_opened)
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/vlc/test/src/video_output/video_output_scenarios.c
    constantsTouched: []
    func_position:
      end: 175
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 175
    functionName: vout_scenario_wait
    functionSourceFile: /src/vlc/test/src/video_output/video_output_scenarios.c
    functionUses: 0
    functionsReached:
    - vlc_sem_wait
    - assert
    linkageType: ''
    returnType: void
    signature: void vout_scenario_wait(struct vout_scenario *scenario)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - condition
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: WAIT_UNTIL
    functionSourceFile: /src/vlc/test/src/video_output/inhibit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WAIT_UNTIL(condition)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Info
      Src: /src/vlc/test/src/video_output/inhibit.c:101,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/test/src/video_output/inhibit.c:103,1
    - Dst: vlc_cond_broadcast
      Src: /src/vlc/test/src/video_output/inhibit.c:105,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/test/src/video_output/inhibit.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ih
    - flags
    argTypes:
    - vlc_inhibit_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: Inhibit
    functionSourceFile: /src/vlc/test/src/video_output/inhibit.c
    functionUses: 0
    functionsReached:
    - msg_Info
    - vlc_cond_broadcast
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void Inhibit(vlc_inhibit_t *ih, unsigned flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/test/src/video_output/inhibit.c:114,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/test/src/video_output/inhibit.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: OpenInhibit
    functionSourceFile: /src/vlc/test/src/video_output/inhibit.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: int
    signature: int OpenInhibit(vlc_object_t *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decoder_UpdateVideoOutput
      Src: /src/vlc/test/src/video_output/inhibit.c:130,1
    - Dst: picture_NewFromFormat
      Src: /src/vlc/test/src/video_output/inhibit.c:134,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/test/src/video_output/inhibit.c:143,1
    - Dst: vlc_frame_Release
      Src: /src/vlc/test/src/video_output/inhibit.c:146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - dec
    - frame
    argTypes:
    - decoder_t*
    - vlc_frame_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 148
    functionName: DecoderDecode
    functionSourceFile: /src/vlc/test/src/video_output/inhibit.c
    functionUses: 0
    functionsReached:
    - vlc_frame_Release
    - decoder_QueueVideo
    - decoder_UpdateVideoOutput
    - picture_NewFromFormat
    linkageType: ''
    returnType: int
    signature: int DecoderDecode(decoder_t *dec, vlc_frame_t *frame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Clean
      Src: /src/vlc/test/src/video_output/inhibit.c:154,1
    - Dst: es_format_Copy
      Src: /src/vlc/test/src/video_output/inhibit.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 168
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/test/src/video_output/inhibit.c
    functionUses: 0
    functionsReached:
    - es_format_Copy
    - es_format_Clean
    linkageType: ''
    returnType: int
    signature: int OpenDecoder(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: OpenWindow
    functionSourceFile: /src/vlc/test/src/video_output/inhibit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OpenWindow(vlc_window_t *wnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/src/video_output/inhibit.c:186,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/src/video_output/inhibit.c:186,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/test/src/video_output/inhibit.c:188,1
    - Dst: vlc_cond_broadcast
      Src: /src/vlc/test/src/video_output/inhibit.c:190,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/test/src/video_output/inhibit.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - vd
    - picture
    argTypes:
    - vout_display_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 192
    functionName: Display
    functionSourceFile: /src/vlc/test/src/video_output/inhibit.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_lock
    - vlc_cond_broadcast
    - vlc_mutex_unlock
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void Display(vout_display_t *vd, picture_t *picture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/src/video_output/inhibit.c:197,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/src/video_output/inhibit.c:197,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/test/src/video_output/inhibit.c:205,1
    - Dst: vlc_cond_broadcast
      Src: /src/vlc/test/src/video_output/inhibit.c:207,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/test/src/video_output/inhibit.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - vd
    - fmtp
    - vctx
    argTypes:
    - vout_display_t*
    - video_format_t*
    - struct vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 211
    functionName: OpenDisplay
    functionSourceFile: /src/vlc/test/src/video_output/inhibit.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_lock
    - vlc_cond_broadcast
    - vlc_mutex_unlock
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int OpenDisplay(vout_display_t *vd, video_format_t *fmtp,\n                       struct
      vlc_video_context *vctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_Create
      Src: /src/vlc/test/src/video_output/inhibit.c:218,1
    - Dst: var_SetString
      Src: /src/vlc/test/src/video_output/inhibit.c:219,1
    - Dst: var_Create
      Src: /src/vlc/test/src/video_output/inhibit.c:221,1
    - Dst: var_SetString
      Src: /src/vlc/test/src/video_output/inhibit.c:222,1
    - Dst: var_Create
      Src: /src/vlc/test/src/video_output/inhibit.c:224,1
    - Dst: var_SetString
      Src: /src/vlc/test/src/video_output/inhibit.c:225,1
    - Dst: input_item_New
      Src: /src/vlc/test/src/video_output/inhibit.c:227,1
    - Dst: assert
      Src: /src/vlc/test/src/video_output/inhibit.c:228,1
    - Dst: input_item_New
      Src: /src/vlc/test/src/video_output/inhibit.c:229,1
    - Dst: assert
      Src: /src/vlc/test/src/video_output/inhibit.c:230,1
    - Dst: vlc_player_New
      Src: /src/vlc/test/src/video_output/inhibit.c:232,1
    - Dst: assert
      Src: /src/vlc/test/src/video_output/inhibit.c:233,1
    - Dst: msg_Info
      Src: /src/vlc/test/src/video_output/inhibit.c:235,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/test/src/video_output/inhibit.c:236,1
    - Dst: vlc_player_SetCurrentMedia
      Src: /src/vlc/test/src/video_output/inhibit.c:237,1
    - Dst: vlc_player_Start
      Src: /src/vlc/test/src/video_output/inhibit.c:238,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/test/src/video_output/inhibit.c:239,1
    - Dst: WAIT_UNTIL
      Src: /src/vlc/test/src/video_output/inhibit.c:244,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/test/src/video_output/inhibit.c:246,1
    - Dst: assert
      Src: /src/vlc/test/src/video_output/inhibit.c:247,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/test/src/video_output/inhibit.c:248,1
    - Dst: msg_Info
      Src: /src/vlc/test/src/video_output/inhibit.c:250,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/test/src/video_output/inhibit.c:251,1
    - Dst: vlc_player_Pause
      Src: /src/vlc/test/src/video_output/inhibit.c:252,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/test/src/video_output/inhibit.c:253,1
    - Dst: WAIT_UNTIL
      Src: /src/vlc/test/src/video_output/inhibit.c:256,1
    - Dst: msg_Info
      Src: /src/vlc/test/src/video_output/inhibit.c:261,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/test/src/video_output/inhibit.c:262,1
    - Dst: vlc_player_SetCurrentMedia
      Src: /src/vlc/test/src/video_output/inhibit.c:263,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/test/src/video_output/inhibit.c:264,1
    - Dst: WAIT_UNTIL
      Src: /src/vlc/test/src/video_output/inhibit.c:268,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/test/src/video_output/inhibit.c:270,1
    - Dst: assert
      Src: /src/vlc/test/src/video_output/inhibit.c:272,1
    - Dst: assert
      Src: /src/vlc/test/src/video_output/inhibit.c:274,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/test/src/video_output/inhibit.c:275,1
    - Dst: vlc_player_Delete
      Src: /src/vlc/test/src/video_output/inhibit.c:277,1
    - Dst: input_item_Release
      Src: /src/vlc/test/src/video_output/inhibit.c:278,1
    - Dst: input_item_Release
      Src: /src/vlc/test/src/video_output/inhibit.c:279,1
    - Dst: var_Destroy
      Src: /src/vlc/test/src/video_output/inhibit.c:281,1
    - Dst: var_Destroy
      Src: /src/vlc/test/src/video_output/inhibit.c:282,1
    - Dst: var_Destroy
      Src: /src/vlc/test/src/video_output/inhibit.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: (media2 != NULL)
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/vlc/test/src/video_output/inhibit.c
    - condition: (player != NULL)
      pos:
        line_end: 232
        line_start: 232
        source_file: /src/vlc/test/src/video_output/inhibit.c
    - condition: (ctx.inhibit_flags == VLC_INHIBIT_VIDEO)
      pos:
        line_end: 273
        line_start: 273
        source_file: /src/vlc/test/src/video_output/inhibit.c
    - condition: (ctx.inhibit_count == 1)
      pos:
        line_end: 271
        line_start: 271
        source_file: /src/vlc/test/src/video_output/inhibit.c
    - condition: (media1 != NULL)
      pos:
        line_end: 227
        line_start: 227
        source_file: /src/vlc/test/src/video_output/inhibit.c
    - condition: (ctx.display_count == 1)
      pos:
        line_end: 246
        line_start: 246
        source_file: /src/vlc/test/src/video_output/inhibit.c
    constantsTouched: []
    func_position:
      end: 286
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 286
    functionName: OpenIntf
    functionSourceFile: /src/vlc/test/src/video_output/inhibit.c
    functionUses: 0
    functionsReached:
    - var_Destroy
    - assert
    - vlc_mutex_unlock
    - input_item_New
    - WAIT_UNTIL
    - vlc_mutex_lock
    - vlc_player_Unlock
    - input_item_Release
    - var_Create
    - vlc_player_Lock
    - vlc_player_Delete
    - vlc_player_New
    - msg_Info
    - vlc_player_SetCurrentMedia
    - vlc_player_Start
    - var_SetString
    - vlc_player_Pause
    linkageType: ''
    returnType: int
    signature: int OpenIntf(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/src/video_output/inhibit.c:324,1
    - Dst: libvlc_new
      Src: /src/vlc/test/src/video_output/inhibit.c:332,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/video_output/inhibit.c:332,1
    - Dst: assert
      Src: /src/vlc/test/src/video_output/inhibit.c:333,1
    - Dst: libvlc_InternalAddIntf
      Src: /src/vlc/test/src/video_output/inhibit.c:335,1
    - Dst: libvlc_InternalPlay
      Src: /src/vlc/test/src/video_output/inhibit.c:336,1
    - Dst: libvlc_release
      Src: /src/vlc/test/src/video_output/inhibit.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (vlc != NULL)
      pos:
        line_end: 332
        line_start: 332
        source_file: /src/vlc/test/src/video_output/inhibit.c
    constantsTouched: []
    func_position:
      end: 340
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 340
    functionName: main
    functionSourceFile: /src/vlc/test/src/video_output/inhibit.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - assert
    - ARRAY_SIZE
    - libvlc_InternalAddIntf
    - test_init
    - libvlc_new
    - libvlc_InternalPlay
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/src/video_output/opengl.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - device
    argTypes:
    - struct vlc_decoder_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: DecoderDeviceClose
    functionSourceFile: /src/vlc/test/src/video_output/opengl.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void DecoderDeviceClose(struct vlc_decoder_device *device)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/src/video_output/opengl.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - device
    - window
    argTypes:
    - struct vlc_decoder_device*
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: OpenDecoderDevice
    functionSourceFile: /src/vlc/test/src/video_output/opengl.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int OpenDecoderDevice(\n        struct vlc_decoder_device *device,\n
      \       vlc_window_t *window\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: OpenWindow
    functionSourceFile: /src/vlc/test/src/video_output/opengl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OpenWindow(vlc_window_t *wnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/src/video_output/opengl.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: OpenGLMakeCurrent
    functionSourceFile: /src/vlc/test/src/video_output/opengl.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int OpenGLMakeCurrent(vlc_gl_t *gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: OpenGLReleaseCurrent
    functionSourceFile: /src/vlc/test/src/video_output/opengl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OpenGLReleaseCurrent(vlc_gl_t *gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: OpenGLSwap
    functionSourceFile: /src/vlc/test/src/video_output/opengl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OpenGLSwap(vlc_gl_t *gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: OpenGLSwapOffscreen
    functionSourceFile: /src/vlc/test/src/video_output/opengl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: picture_t
    signature: picture_t *OpenGLSwapOffscreen(vlc_gl_t *gl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/test/src/video_output/opengl.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - gl
    - procname
    argTypes:
    - vlc_gl_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: OpenGLGetSymbol
    functionSourceFile: /src/vlc/test/src/video_output/opengl.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: void *OpenGLGetSymbol(vlc_gl_t *gl, const char *procname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: OpenGLClose
    functionSourceFile: /src/vlc/test/src/video_output/opengl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OpenGLClose(vlc_gl_t *gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/video_output/opengl.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - gl
    - width
    - height
    - offscreen
    - api_type
    - cfg
    argTypes:
    - vlc_gl_t*
    - unsigned
    - unsigned
    - bool
    - enum vlc_gl_api_type
    - struct vlc_gl_cfg*
    assertStmts:
    - condition: (gl->api_type == api_type)
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/vlc/test/src/video_output/opengl.c
    constantsTouched: []
    func_position:
      end: 152
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 152
    functionName: OpenOpenGLCommon
    functionSourceFile: /src/vlc/test/src/video_output/opengl.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: "int OpenOpenGLCommon(\n        vlc_gl_t *gl, unsigned width, unsigned
      height,\n        bool offscreen, enum vlc_gl_api_type api_type,\n        const
      struct vlc_gl_cfg *cfg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenOpenGLCommon
      Src: /src/vlc/test/src/video_output/opengl.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - gl
    - width
    - height
    - cfg
    argTypes:
    - vlc_gl_t*
    - unsigned
    - unsigned
    - struct vlc_gl_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: OpenOpenGL
    functionSourceFile: /src/vlc/test/src/video_output/opengl.c
    functionUses: 0
    functionsReached:
    - OpenOpenGLCommon
    linkageType: ''
    returnType: int
    signature: "int OpenOpenGL(vlc_gl_t *gl, unsigned width, unsigned height,\n           const
      struct vlc_gl_cfg *cfg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenOpenGLCommon
      Src: /src/vlc/test/src/video_output/opengl.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - gl
    - width
    - height
    - cfg
    argTypes:
    - vlc_gl_t*
    - unsigned
    - unsigned
    - struct vlc_gl_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: OpenOpenGLES
    functionSourceFile: /src/vlc/test/src/video_output/opengl.c
    functionUses: 0
    functionsReached:
    - OpenOpenGLCommon
    linkageType: ''
    returnType: int
    signature: "int OpenOpenGLES(vlc_gl_t *gl, unsigned width, unsigned height,\n
      \            const struct vlc_gl_cfg *cfg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenOpenGLCommon
      Src: /src/vlc/test/src/video_output/opengl.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - gl
    - width
    - height
    - cfg
    argTypes:
    - vlc_gl_t*
    - unsigned
    - unsigned
    - struct vlc_gl_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: OpenOpenGLOffscreen
    functionSourceFile: /src/vlc/test/src/video_output/opengl.c
    functionUses: 0
    functionsReached:
    - OpenOpenGLCommon
    linkageType: ''
    returnType: int
    signature: "int OpenOpenGLOffscreen(vlc_gl_t *gl, unsigned width, unsigned height,\n
      \                   const struct vlc_gl_cfg *cfg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenOpenGLCommon
      Src: /src/vlc/test/src/video_output/opengl.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - gl
    - width
    - height
    - cfg
    argTypes:
    - vlc_gl_t*
    - unsigned
    - unsigned
    - struct vlc_gl_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: OpenOpenGLESOffscreen
    functionSourceFile: /src/vlc/test/src/video_output/opengl.c
    functionUses: 0
    functionsReached:
    - OpenOpenGLCommon
    linkageType: ''
    returnType: int
    signature: "int OpenOpenGLESOffscreen(vlc_gl_t *gl, unsigned width, unsigned height,\n
      \                     const struct vlc_gl_cfg *cfg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_decoder_device_Create
      Src: /src/vlc/test/src/video_output/opengl.c:208,1
    - Dst: assert
      Src: /src/vlc/test/src/video_output/opengl.c:209,1
    - Dst: vlc_gl_CreateOffscreen
      Src: /src/vlc/test/src/video_output/opengl.c:211,1
    - Dst: assert
      Src: /src/vlc/test/src/video_output/opengl.c:213,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/test/src/video_output/opengl.c:214,1
    - Dst: assert
      Src: /src/vlc/test/src/video_output/opengl.c:216,1
    - Dst: vlc_gl_MakeCurrent
      Src: /src/vlc/test/src/video_output/opengl.c:216,1
    - Dst: assert
      Src: /src/vlc/test/src/video_output/opengl.c:217,1
    - Dst: vlc_gl_GetProcAddress
      Src: /src/vlc/test/src/video_output/opengl.c:217,1
    - Dst: vlc_gl_ReleaseCurrent
      Src: /src/vlc/test/src/video_output/opengl.c:218,1
    - Dst: vlc_gl_SwapOffscreen
      Src: /src/vlc/test/src/video_output/opengl.c:221,1
    - Dst: assert
      Src: /src/vlc/test/src/video_output/opengl.c:222,1
    - Dst: vlc_gl_Delete
      Src: /src/vlc/test/src/video_output/opengl.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - root
    - api_type
    argTypes:
    - vlc_object_t*
    - enum vlc_gl_api_type
    assertStmts:
    - condition: (device != NULL)
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/vlc/test/src/video_output/opengl.c
    - condition: (gl != NULL)
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/vlc/test/src/video_output/opengl.c
    - condition: (vlc_gl_MakeCurrent(gl) == VLC_SUCCESS)
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/vlc/test/src/video_output/opengl.c
    - condition: (vlc_gl_GetProcAddress(gl, "dummy") == &dummy)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/vlc/test/src/video_output/opengl.c
    - condition: (swapped_offscreen == true)
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/vlc/test/src/video_output/opengl.c
    constantsTouched: []
    func_position:
      end: 225
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 225
    functionName: test_opengl_offscreen
    functionSourceFile: /src/vlc/test/src/video_output/opengl.c
    functionUses: 2
    functionsReached:
    - vlc_decoder_device_Create
    - assert
    - vlc_gl_MakeCurrent
    - vlc_gl_GetProcAddress
    - vlc_decoder_device_Release
    - vlc_gl_ReleaseCurrent
    - vlc_gl_SwapOffscreen
    - vlc_gl_Delete
    - vlc_gl_CreateOffscreen
    linkageType: ''
    returnType: void
    signature: void test_opengl_offscreen(vlc_object_t *root, enum vlc_gl_api_type
      api_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_window_New
      Src: /src/vlc/test/src/video_output/opengl.c:231,1
    - Dst: assert
      Src: /src/vlc/test/src/video_output/opengl.c:232,1
    - Dst: vlc_gl_Create
      Src: /src/vlc/test/src/video_output/opengl.c:239,1
    - Dst: assert
      Src: /src/vlc/test/src/video_output/opengl.c:240,1
    - Dst: assert
      Src: /src/vlc/test/src/video_output/opengl.c:242,1
    - Dst: vlc_gl_MakeCurrent
      Src: /src/vlc/test/src/video_output/opengl.c:242,1
    - Dst: assert
      Src: /src/vlc/test/src/video_output/opengl.c:243,1
    - Dst: vlc_gl_GetProcAddress
      Src: /src/vlc/test/src/video_output/opengl.c:243,1
    - Dst: vlc_gl_ReleaseCurrent
      Src: /src/vlc/test/src/video_output/opengl.c:244,1
    - Dst: vlc_gl_Swap
      Src: /src/vlc/test/src/video_output/opengl.c:247,1
    - Dst: assert
      Src: /src/vlc/test/src/video_output/opengl.c:248,1
    - Dst: vlc_gl_Delete
      Src: /src/vlc/test/src/video_output/opengl.c:250,1
    - Dst: vlc_window_Delete
      Src: /src/vlc/test/src/video_output/opengl.c:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - root
    - api_type
    argTypes:
    - vlc_object_t*
    - enum vlc_gl_api_type
    assertStmts:
    - condition: (wnd != NULL && wnd->ops == &wnd_ops)
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/vlc/test/src/video_output/opengl.c
    - condition: (gl != NULL)
      pos:
        line_end: 239
        line_start: 239
        source_file: /src/vlc/test/src/video_output/opengl.c
    - condition: (vlc_gl_MakeCurrent(gl) == VLC_SUCCESS)
      pos:
        line_end: 241
        line_start: 241
        source_file: /src/vlc/test/src/video_output/opengl.c
    - condition: (vlc_gl_GetProcAddress(gl, "dummy") == &dummy)
      pos:
        line_end: 242
        line_start: 242
        source_file: /src/vlc/test/src/video_output/opengl.c
    - condition: (swapped == true)
      pos:
        line_end: 247
        line_start: 247
        source_file: /src/vlc/test/src/video_output/opengl.c
    constantsTouched: []
    func_position:
      end: 252
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 252
    functionName: test_opengl
    functionSourceFile: /src/vlc/test/src/video_output/opengl.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_gl_GetProcAddress
    - vlc_gl_MakeCurrent
    - vlc_gl_Swap
    - vlc_gl_ReleaseCurrent
    - vlc_window_New
    - vlc_gl_Create
    - vlc_window_Delete
    - vlc_gl_Delete
    linkageType: ''
    returnType: void
    signature: void test_opengl(vlc_object_t *root, enum vlc_gl_api_type api_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/src/video_output/opengl.c:257,1
    - Dst: libvlc_new
      Src: /src/vlc/test/src/video_output/opengl.c:263,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/video_output/opengl.c:263,1
    - Dst: test_opengl
      Src: /src/vlc/test/src/video_output/opengl.c:266,1
    - Dst: test_opengl
      Src: /src/vlc/test/src/video_output/opengl.c:267,1
    - Dst: test_opengl_offscreen
      Src: /src/vlc/test/src/video_output/opengl.c:268,1
    - Dst: test_opengl_offscreen
      Src: /src/vlc/test/src/video_output/opengl.c:269,1
    - Dst: libvlc_release
      Src: /src/vlc/test/src/video_output/opengl.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 273
    functionName: main
    functionSourceFile: /src/vlc/test/src/video_output/opengl.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - ARRAY_SIZE
    - test_init
    - libvlc_new
    - test_opengl
    - test_opengl_offscreen
    linkageType: ''
    returnType: int
    signature: int main( int argc, char **argv )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/src/video_output/video_output.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - device
    argTypes:
    - struct vlc_decoder_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: DecoderDeviceClose
    functionSourceFile: /src/vlc/test/src/video_output/video_output.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void DecoderDeviceClose(struct vlc_decoder_device *device)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/src/video_output/video_output.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - device
    - window
    argTypes:
    - struct vlc_decoder_device*
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: OpenDecoderDevice
    functionSourceFile: /src/vlc/test/src/video_output/video_output.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int OpenDecoderDevice(\n        struct vlc_decoder_device *device,\n
      \       vlc_window_t *window\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/video_output/video_output.c:80,1
    - Dst: struct vout_scenario*::decoder_decode
      Src: /src/vlc/test/src/video_output/video_output.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dec
    - block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts:
    - condition: (scenario->decoder_decode != NULL)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/vlc/test/src/video_output/video_output.c
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: DecoderDecode
    functionSourceFile: /src/vlc/test/src/video_output/video_output.c
    functionUses: 0
    functionsReached:
    - struct vout_scenario*::decoder_decode
    - assert
    linkageType: ''
    returnType: int
    signature: int DecoderDecode(decoder_t *dec, block_t *block)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_video_context_Release
      Src: /src/vlc/test/src/video_output/video_output.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: CloseDecoder
    functionSourceFile: /src/vlc/test/src/video_output/video_output.c
    functionUses: 0
    functionsReached:
    - vlc_video_context_Release
    linkageType: ''
    returnType: void
    signature: void CloseDecoder(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decoder_GetDecoderDevice
      Src: /src/vlc/test/src/video_output/video_output.c:98,1
    - Dst: assert
      Src: /src/vlc/test/src/video_output/video_output.c:99,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/test/src/video_output/video_output.c:100,1
    - Dst: es_format_Clean
      Src: /src/vlc/test/src/video_output/video_output.c:104,1
    - Dst: es_format_Copy
      Src: /src/vlc/test/src/video_output/video_output.c:105,1
    - Dst: assert
      Src: /src/vlc/test/src/video_output/video_output.c:108,1
    - Dst: struct vout_scenario*::decoder_setup
      Src: /src/vlc/test/src/video_output/video_output.c:109,1
    - Dst: msg_Dbg
      Src: /src/vlc/test/src/video_output/video_output.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: (device)
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/vlc/test/src/video_output/video_output.c
    - condition: (scenario->decoder_setup != NULL)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/vlc/test/src/video_output/video_output.c
    constantsTouched: []
    func_position:
      end: 117
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 117
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/test/src/video_output/video_output.c
    functionUses: 0
    functionsReached:
    - decoder_GetDecoderDevice
    - assert
    - es_format_Clean
    - vlc_decoder_device_Release
    - struct vout_scenario*::decoder_setup
    - msg_Dbg
    - es_format_Copy
    linkageType: ''
    returnType: int
    signature: int OpenDecoder(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 128
    functionName: OpenFilter
    functionSourceFile: /src/vlc/test/src/video_output/video_output.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OpenFilter(filter_t *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: video_format_Clean
      Src: /src/vlc/test/src/video_output/video_output.c:132,1
    - Dst: video_format_Copy
      Src: /src/vlc/test/src/video_output/video_output.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - filter
    - input
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: ConverterFilter
    functionSourceFile: /src/vlc/test/src/video_output/video_output.c
    functionUses: 0
    functionsReached:
    - video_format_Clean
    - video_format_Copy
    linkageType: ''
    returnType: picture_t
    signature: picture_t *ConverterFilter(filter_t *filter, picture_t *input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/test/src/video_output/video_output.c:139,1
    - Dst: assert
      Src: /src/vlc/test/src/video_output/video_output.c:146,1
    - Dst: struct vout_scenario*::converter_setup
      Src: /src/vlc/test/src/video_output/video_output.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: (scenario->converter_setup != NULL)
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/vlc/test/src/video_output/video_output.c
    constantsTouched: []
    func_position:
      end: 156
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 156
    functionName: OpenConverter
    functionSourceFile: /src/vlc/test/src/video_output/video_output.c
    functionUses: 0
    functionsReached:
    - assert
    - msg_Dbg
    - struct vout_scenario*::converter_setup
    linkageType: ''
    returnType: int
    signature: int OpenConverter(filter_t *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: OpenWindow
    functionSourceFile: /src/vlc/test/src/video_output/video_output.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OpenWindow(vlc_window_t *wnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vd
    - picture
    argTypes:
    - vout_display_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: Display
    functionSourceFile: /src/vlc/test/src/video_output/video_output.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Display(vout_display_t *vd, picture_t *picture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/src/video_output/video_output.c:183,1
    - Dst: struct vout_scenario*::display_setup
      Src: /src/vlc/test/src/video_output/video_output.c:184,1
    - Dst: msg_Dbg
      Src: /src/vlc/test/src/video_output/video_output.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - vd
    - fmtp
    - vctx
    argTypes:
    - vout_display_t*
    - video_format_t*
    - struct vlc_video_context*
    assertStmts:
    - condition: (scenario->display_setup != NULL)
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/vlc/test/src/video_output/video_output.c
    constantsTouched: []
    func_position:
      end: 192
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 192
    functionName: OpenDisplay
    functionSourceFile: /src/vlc/test/src/video_output/video_output.c
    functionUses: 0
    functionsReached:
    - assert
    - msg_Dbg
    - struct vout_scenario*::display_setup
    linkageType: ''
    returnType: int
    signature: "int OpenDisplay(vout_display_t *vd, video_format_t *fmtp,\n                       struct
      vlc_video_context *vctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vout_scenario_init
      Src: /src/vlc/test/src/video_output/video_output.c:196,1
    - Dst: input_item_New
      Src: /src/vlc/test/src/video_output/video_output.c:197,1
    - Dst: assert
      Src: /src/vlc/test/src/video_output/video_output.c:198,1
    - Dst: var_Create
      Src: /src/vlc/test/src/video_output/video_output.c:204,1
    - Dst: var_SetString
      Src: /src/vlc/test/src/video_output/video_output.c:205,1
    - Dst: var_Create
      Src: /src/vlc/test/src/video_output/video_output.c:207,1
    - Dst: var_SetString
      Src: /src/vlc/test/src/video_output/video_output.c:208,1
    - Dst: var_Create
      Src: /src/vlc/test/src/video_output/video_output.c:210,1
    - Dst: var_SetString
      Src: /src/vlc/test/src/video_output/video_output.c:211,1
    - Dst: vlc_player_New
      Src: /src/vlc/test/src/video_output/video_output.c:213,1
    - Dst: assert
      Src: /src/vlc/test/src/video_output/video_output.c:215,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/test/src/video_output/video_output.c:217,1
    - Dst: vlc_player_SetCurrentMedia
      Src: /src/vlc/test/src/video_output/video_output.c:218,1
    - Dst: vlc_player_Start
      Src: /src/vlc/test/src/video_output/video_output.c:219,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/test/src/video_output/video_output.c:220,1
    - Dst: vout_scenario_wait
      Src: /src/vlc/test/src/video_output/video_output.c:222,1
    - Dst: vlc_player_Delete
      Src: /src/vlc/test/src/video_output/video_output.c:224,1
    - Dst: input_item_Release
      Src: /src/vlc/test/src/video_output/video_output.c:225,1
    - Dst: var_Destroy
      Src: /src/vlc/test/src/video_output/video_output.c:227,1
    - Dst: var_Destroy
      Src: /src/vlc/test/src/video_output/video_output.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 2
    argNames:
    - intf
    - scenario
    argTypes:
    - intf_thread_t*
    - struct vout_scenario*
    assertStmts:
    - condition: (media)
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/vlc/test/src/video_output/video_output.c
    - condition: (player)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/vlc/test/src/video_output/video_output.c
    constantsTouched: []
    func_position:
      end: 229
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 229
    functionName: play_scenario
    functionSourceFile: /src/vlc/test/src/video_output/video_output.c
    functionUses: 3
    functionsReached:
    - var_Destroy
    - assert
    - vout_scenario_wait
    - input_item_New
    - input_item_Release
    - vout_scenario_init
    - vlc_player_Unlock
    - var_Create
    - vlc_player_Lock
    - vlc_player_Delete
    - vlc_player_New
    - vlc_player_SetCurrentMedia
    - vlc_player_Start
    - var_SetString
    linkageType: ''
    returnType: void
    signature: void play_scenario(intf_thread_t *intf, struct vout_scenario *scenario)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Info
      Src: /src/vlc/test/src/video_output/video_output.c:235,1
    - Dst: msg_Info
      Src: /src/vlc/test/src/video_output/video_output.c:238,1
    - Dst: play_scenario
      Src: /src/vlc/test/src/video_output/video_output.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 244
    functionName: OpenIntf
    functionSourceFile: /src/vlc/test/src/video_output/video_output.c
    functionUses: 0
    functionsReached:
    - msg_Info
    - play_scenario
    linkageType: ''
    returnType: int
    signature: int OpenIntf(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/src/video_output/video_output.c:288,1
    - Dst: libvlc_new
      Src: /src/vlc/test/src/video_output/video_output.c:296,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/video_output/video_output.c:296,1
    - Dst: libvlc_InternalAddIntf
      Src: /src/vlc/test/src/video_output/video_output.c:299,1
    - Dst: libvlc_InternalPlay
      Src: /src/vlc/test/src/video_output/video_output.c:300,1
    - Dst: libvlc_release
      Src: /src/vlc/test/src/video_output/video_output.c:302,1
    - Dst: assert
      Src: /src/vlc/test/src/video_output/video_output.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (vout_scenarios_count == current_scenario)
      pos:
        line_end: 302
        line_start: 302
        source_file: /src/vlc/test/src/video_output/video_output.c
    constantsTouched: []
    func_position:
      end: 305
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 305
    functionName: main
    functionSourceFile: /src/vlc/test/src/video_output/video_output.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - assert
    - ARRAY_SIZE
    - libvlc_InternalAddIntf
    - test_init
    - libvlc_InternalPlay
    - libvlc_new
    linkageType: ''
    returnType: int
    signature: int main( int argc, char **argv )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: PRINTDIMARGS
    functionSourceFile: /src/vlc/test/src/video_output/spu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINTDIMARGS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: PRINTPLACEARGS
    functionSourceFile: /src/vlc/test/src/video_output/spu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINTPLACEARGS(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - run
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: BAILOUT
    functionSourceFile: /src/vlc/test/src/video_output/spu.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BAILOUT(run)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - foo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: EXPECT
    functionSourceFile: /src/vlc/test/src/video_output/spu.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPECT(foo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - foo
    - ','
    - expected
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: EXPECT_EQ_INT
    functionSourceFile: /src/vlc/test/src/video_output/spu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPECT_EQ_INT(foo, expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: subpicture_New
      Src: /src/vlc/test/src/video_output/spu.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dec
    - p_dyn
    argTypes:
    - decoder_t*
    - subpicture_updater_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: subpicture_new
    functionSourceFile: /src/vlc/test/src/video_output/spu.c
    functionUses: 0
    functionsReached:
    - subpicture_New
    linkageType: ''
    returnType: subpicture_t
    signature: "subpicture_t *subpicture_new(decoder_t *dec,\n                                    const
      subpicture_updater_t *p_dyn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: video_format_Init
      Src: /src/vlc/test/src/video_output/spu.c:110,1
    - Dst: video_format_Setup
      Src: /src/vlc/test/src/video_output/spu.c:111,1
    - Dst: decoder_NewSubpicture
      Src: /src/vlc/test/src/video_output/spu.c:113,1
    - Dst: subpicture_region_New
      Src: /src/vlc/test/src/video_output/spu.c:119,1
    - Dst: subpicture_Delete
      Src: /src/vlc/test/src/video_output/spu.c:122,1
    - Dst: vlc_spu_regions_push
      Src: /src/vlc/test/src/video_output/spu.c:125,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/test/src/video_output/spu.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - w
    - h
    - nb_regions
    argTypes:
    - unsigned
    - unsigned
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 136
    functionName: create_subtitle
    functionSourceFile: /src/vlc/test/src/video_output/spu.c
    functionUses: 0
    functionsReached:
    - decoder_NewSubpicture
    - video_format_Init
    - video_format_Setup
    - vlc_spu_regions_push
    - vlc_tick_from_sec
    - subpicture_Delete
    - subpicture_region_New
    linkageType: ''
    returnType: subpicture_t
    signature: subpicture_t *create_subtitle(unsigned w, unsigned h, int nb_regions)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: video_format_Init
      Src: /src/vlc/test/src/video_output/spu.c:145,1
    - Dst: decoder_NewSubpictureText
      Src: /src/vlc/test/src/video_output/spu.c:147,1
    - Dst: text_segment_New
      Src: /src/vlc/test/src/video_output/spu.c:154,1
    - Dst: SubpictureUpdaterSysRegionNew
      Src: /src/vlc/test/src/video_output/spu.c:158,1
    - Dst: subpicture_Delete
      Src: /src/vlc/test/src/video_output/spu.c:161,1
    - Dst: SubpictureUpdaterSysRegionAdd
      Src: /src/vlc/test/src/video_output/spu.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - nb_regions
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 171
    functionName: create_text_subtitle
    functionSourceFile: /src/vlc/test/src/video_output/spu.c
    functionUses: 0
    functionsReached:
    - decoder_NewSubpictureText
    - video_format_Init
    - text_segment_New
    - subpicture_Delete
    - SubpictureUpdaterSysRegionAdd
    - SubpictureUpdaterSysRegionNew
    linkageType: ''
    returnType: subpicture_t
    signature: subpicture_t *create_text_subtitle(int nb_regions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: video_format_Init
      Src: /src/vlc/test/src/video_output/spu.c:193,1
    - Dst: assert
      Src: /src/vlc/test/src/video_output/spu.c:194,1
    - Dst: spu_Render
      Src: /src/vlc/test/src/video_output/spu.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - spu
    argTypes:
    - spu_t*
    assertStmts:
    - condition: (spu_Render(spu, NULL, &fmt, &fmt, true, NULL, INT64_MAX, INT64_MAX,
        false) == NULL)
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/vlc/test/src/video_output/spu.c
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: test_reset_SPU
    functionSourceFile: /src/vlc/test/src/video_output/spu.c
    functionUses: 0
    functionsReached:
    - assert
    - video_format_Init
    - spu_Render
    linkageType: ''
    returnType: void
    signature: void test_reset_SPU(spu_t *spu)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - fmt_out
    argTypes:
    - int
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: spu_test_scale_x
    functionSourceFile: /src/vlc/test/src/video_output/spu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int spu_test_scale_x(int v, const video_format_t *fmt_out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fmt_out
    argTypes:
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: spu_test_unscale_output_w
    functionSourceFile: /src/vlc/test/src/video_output/spu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int spu_test_unscale_output_w(const video_format_t *fmt_out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spu_test_scale_x
      Src: /src/vlc/test/src/video_output/spu.c:210,1
    - Dst: spu_test_scale_x
      Src: /src/vlc/test/src/video_output/spu.c:212,1
    - Dst: spu_test_unscale_output_w
      Src: /src/vlc/test/src/video_output/spu.c:212,1
    - Dst: __MIN
      Src: /src/vlc/test/src/video_output/spu.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - w
    - fmt_out
    argTypes:
    - int
    - int
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 216
    functionName: spu_test_place_x
    functionSourceFile: /src/vlc/test/src/video_output/spu.c
    functionUses: 0
    functionsReached:
    - spu_test_scale_x
    - __MIN
    - spu_test_unscale_output_w
    linkageType: ''
    returnType: int
    signature: int spu_test_place_x(int x, int w, const video_format_t *fmt_out)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - align
    - x
    - w
    - output_w
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 225
    functionName: spu_test_aligned_x
    functionSourceFile: /src/vlc/test/src/video_output/spu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int spu_test_aligned_x(int align, int x, int w, int output_w)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - align
    - y
    - h
    - output_h
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 234
    functionName: spu_test_aligned_y
    functionSourceFile: /src/vlc/test/src/video_output/spu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int spu_test_aligned_y(int align, int y, int h, int output_h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spu_test_aligned_x
      Src: /src/vlc/test/src/video_output/spu.c:255,1
    - Dst: spu_test_aligned_y
      Src: /src/vlc/test/src/video_output/spu.c:256,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:258,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:259,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:260,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:261,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:263,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:264,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:266,1
    - Dst: spu_test_place_x
      Src: /src/vlc/test/src/video_output/spu.c:266,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 12
    argNames:
    - region
    - fmt_out
    - align
    - x
    - y
    - w
    - h
    - xratio
    - yratio
    - internal_scaled
    - place_dx
    - place_dy
    argTypes:
    - struct subpicture_region_rendered*
    - video_format_t*
    - int
    - int
    - int
    - int
    - int
    - float
    - float
    - bool
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 273
    functionName: expect_rendered_region
    functionSourceFile: /src/vlc/test/src/video_output/spu.c
    functionUses: 0
    functionsReached:
    - spu_test_place_x
    - spu_test_aligned_x
    - spu_test_aligned_y
    - EXPECT_EQ_INT
    linkageType: ''
    returnType: int
    signature: "int expect_rendered_region(const struct subpicture_region_rendered
      *region,\n                                  const video_format_t *fmt_out,\n
      \                                 int align,\n                                  int
      x, int y, int w, int h,\n                                  float xratio, float
      yratio,\n                                  bool internal_scaled,\n                                  int
      place_dx, int place_dy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: CHECK_REGION
    functionSourceFile: /src/vlc/test/src/video_output/spu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_REGION(...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: video_format_Init
      Src: /src/vlc/test/src/video_output/spu.c:281,1
    - Dst: video_format_Init
      Src: /src/vlc/test/src/video_output/spu.c:282,1
    - Dst: video_format_Copy
      Src: /src/vlc/test/src/video_output/spu.c:286,1
    - Dst: create_subtitle
      Src: /src/vlc/test/src/video_output/spu.c:289,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/test/src/video_output/spu.c:293,1
    - Dst: vlc_spu_regions_first_or_null
      Src: /src/vlc/test/src/video_output/spu.c:295,1
    - Dst: vlc_list_first_entry_or_null
      Src: /src/vlc/test/src/video_output/spu.c:298,1
    - Dst: spu_PutSubpicture
      Src: /src/vlc/test/src/video_output/spu.c:302,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/video_output/spu.c:315,1
    - Dst: fprintf
      Src: /src/vlc/test/src/video_output/spu.c:322,1
    - Dst: spu_Render
      Src: /src/vlc/test/src/video_output/spu.c:323,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:326,1
    - Dst: fprintf
      Src: /src/vlc/test/src/video_output/spu.c:332,1
    - Dst: PRINTDIMARGS
      Src: /src/vlc/test/src/video_output/spu.c:332,1
    - Dst: fprintf
      Src: /src/vlc/test/src/video_output/spu.c:333,1
    - Dst: PRINTPLACEARGS
      Src: /src/vlc/test/src/video_output/spu.c:333,1
    - Dst: fprintf
      Src: /src/vlc/test/src/video_output/spu.c:334,1
    - Dst: PRINTDIMARGS
      Src: /src/vlc/test/src/video_output/spu.c:334,1
    - Dst: fprintf
      Src: /src/vlc/test/src/video_output/spu.c:335,1
    - Dst: PRINTPLACEARGS
      Src: /src/vlc/test/src/video_output/spu.c:335,1
    - Dst: CHECK_REGION
      Src: /src/vlc/test/src/video_output/spu.c:337,1
    - Dst: CHECK_REGION
      Src: /src/vlc/test/src/video_output/spu.c:343,1
    - Dst: vlc_render_subpicture_Delete
      Src: /src/vlc/test/src/video_output/spu.c:349,1
    - Dst: vlc_render_subpicture_Delete
      Src: /src/vlc/test/src/video_output/spu.c:358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 41
    argCount: 1
    argNames:
    - spu
    argTypes:
    - spu_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 360
    functionName: test_multiple_spu_render
    functionSourceFile: /src/vlc/test/src/video_output/spu.c
    functionUses: 0
    functionsReached:
    - create_subtitle
    - vlc_list_first_entry_or_null
    - video_format_Copy
    - video_format_Init
    - spu_PutSubpicture
    - ARRAY_SIZE
    - fprintf
    - vlc_tick_from_sec
    - vlc_render_subpicture_Delete
    - PRINTPLACEARGS
    - EXPECT
    - CHECK_REGION
    - vlc_spu_regions_first_or_null
    - spu_Render
    - PRINTDIMARGS
    linkageType: ''
    returnType: int
    signature: int test_multiple_spu_render(spu_t *spu)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: video_format_Init
      Src: /src/vlc/test/src/video_output/spu.c:365,1
    - Dst: video_format_Init
      Src: /src/vlc/test/src/video_output/spu.c:366,1
    - Dst: video_format_Copy
      Src: /src/vlc/test/src/video_output/spu.c:372,1
    - Dst: create_subtitle
      Src: /src/vlc/test/src/video_output/spu.c:383,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:384,1
    - Dst: spu_PutSubpicture
      Src: /src/vlc/test/src/video_output/spu.c:385,1
    - Dst: spu_Render
      Src: /src/vlc/test/src/video_output/spu.c:386,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:389,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:390,1
    - Dst: test_reset_SPU
      Src: /src/vlc/test/src/video_output/spu.c:392,1
    - Dst: create_subtitle
      Src: /src/vlc/test/src/video_output/spu.c:394,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:395,1
    - Dst: spu_PutSubpicture
      Src: /src/vlc/test/src/video_output/spu.c:396,1
    - Dst: spu_Render
      Src: /src/vlc/test/src/video_output/spu.c:397,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:400,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:401,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:414,1
    - Dst: fprintf
      Src: /src/vlc/test/src/video_output/spu.c:416,1
    - Dst: PRINTPLACEARGS
      Src: /src/vlc/test/src/video_output/spu.c:416,1
    - Dst: fprintf
      Src: /src/vlc/test/src/video_output/spu.c:417,1
    - Dst: PRINTDIMARGS
      Src: /src/vlc/test/src/video_output/spu.c:417,1
    - Dst: fprintf
      Src: /src/vlc/test/src/video_output/spu.c:418,1
    - Dst: PRINTPLACEARGS
      Src: /src/vlc/test/src/video_output/spu.c:418,1
    - Dst: fprintf
      Src: /src/vlc/test/src/video_output/spu.c:419,1
    - Dst: PRINTDIMARGS
      Src: /src/vlc/test/src/video_output/spu.c:419,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:423,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:424,1
    - Dst: vlc_render_subpicture_Delete
      Src: /src/vlc/test/src/video_output/spu.c:426,1
    - Dst: vlc_render_subpicture_Delete
      Src: /src/vlc/test/src/video_output/spu.c:428,1
    - Dst: test_reset_SPU
      Src: /src/vlc/test/src/video_output/spu.c:432,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/video_output/spu.c:448,1
    - Dst: create_subtitle
      Src: /src/vlc/test/src/video_output/spu.c:457,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:458,1
    - Dst: vlc_spu_regions_first_or_null
      Src: /src/vlc/test/src/video_output/spu.c:462,1
    - Dst: subpicture_Delete
      Src: /src/vlc/test/src/video_output/spu.c:465,1
    - Dst: spu_PutSubpicture
      Src: /src/vlc/test/src/video_output/spu.c:472,1
    - Dst: fprintf
      Src: /src/vlc/test/src/video_output/spu.c:474,1
    - Dst: spu_Render
      Src: /src/vlc/test/src/video_output/spu.c:476,1
    - Dst: fprintf
      Src: /src/vlc/test/src/video_output/spu.c:482,1
    - Dst: PRINTDIMARGS
      Src: /src/vlc/test/src/video_output/spu.c:482,1
    - Dst: fprintf
      Src: /src/vlc/test/src/video_output/spu.c:483,1
    - Dst: PRINTPLACEARGS
      Src: /src/vlc/test/src/video_output/spu.c:483,1
    - Dst: CHECK_REGION
      Src: /src/vlc/test/src/video_output/spu.c:485,1
    - Dst: vlc_render_subpicture_Delete
      Src: /src/vlc/test/src/video_output/spu.c:491,1
    - Dst: test_reset_SPU
      Src: /src/vlc/test/src/video_output/spu.c:493,1
    - Dst: fprintf
      Src: /src/vlc/test/src/video_output/spu.c:499,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/video_output/spu.c:501,1
    - Dst: create_subtitle
      Src: /src/vlc/test/src/video_output/spu.c:510,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:511,1
    - Dst: vlc_spu_regions_first_or_null
      Src: /src/vlc/test/src/video_output/spu.c:513,1
    - Dst: subpicture_Delete
      Src: /src/vlc/test/src/video_output/spu.c:516,1
    - Dst: spu_PutSubpicture
      Src: /src/vlc/test/src/video_output/spu.c:523,1
    - Dst: fprintf
      Src: /src/vlc/test/src/video_output/spu.c:525,1
    - Dst: spu_Render
      Src: /src/vlc/test/src/video_output/spu.c:526,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:529,1
    - Dst: fprintf
      Src: /src/vlc/test/src/video_output/spu.c:533,1
    - Dst: PRINTDIMARGS
      Src: /src/vlc/test/src/video_output/spu.c:533,1
    - Dst: fprintf
      Src: /src/vlc/test/src/video_output/spu.c:534,1
    - Dst: PRINTPLACEARGS
      Src: /src/vlc/test/src/video_output/spu.c:534,1
    - Dst: CHECK_REGION
      Src: /src/vlc/test/src/video_output/spu.c:536,1
    - Dst: vlc_render_subpicture_Delete
      Src: /src/vlc/test/src/video_output/spu.c:542,1
    - Dst: test_reset_SPU
      Src: /src/vlc/test/src/video_output/spu.c:544,1
    - Dst: vlc_render_subpicture_Delete
      Src: /src/vlc/test/src/video_output/spu.c:553,1
    - Dst: vlc_render_subpicture_Delete
      Src: /src/vlc/test/src/video_output/spu.c:555,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 96
    argCount: 1
    argNames:
    - spu
    argTypes:
    - spu_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 557
    functionName: test_spu_scaling
    functionSourceFile: /src/vlc/test/src/video_output/spu.c
    functionUses: 0
    functionsReached:
    - create_subtitle
    - video_format_Copy
    - video_format_Init
    - spu_PutSubpicture
    - test_reset_SPU
    - ARRAY_SIZE
    - fprintf
    - vlc_render_subpicture_Delete
    - subpicture_Delete
    - PRINTPLACEARGS
    - EXPECT
    - CHECK_REGION
    - vlc_spu_regions_first_or_null
    - spu_Render
    - PRINTDIMARGS
    linkageType: ''
    returnType: int
    signature: int test_spu_scaling(spu_t *spu)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: video_format_Init
      Src: /src/vlc/test/src/video_output/spu.c:562,1
    - Dst: video_format_Init
      Src: /src/vlc/test/src/video_output/spu.c:563,1
    - Dst: video_format_Copy
      Src: /src/vlc/test/src/video_output/spu.c:567,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/video_output/spu.c:572,1
    - Dst: fprintf
      Src: /src/vlc/test/src/video_output/spu.c:574,1
    - Dst: create_subtitle
      Src: /src/vlc/test/src/video_output/spu.c:577,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:578,1
    - Dst: vlc_spu_regions_first_or_null
      Src: /src/vlc/test/src/video_output/spu.c:582,1
    - Dst: subpicture_Delete
      Src: /src/vlc/test/src/video_output/spu.c:585,1
    - Dst: spu_PutSubpicture
      Src: /src/vlc/test/src/video_output/spu.c:593,1
    - Dst: fprintf
      Src: /src/vlc/test/src/video_output/spu.c:595,1
    - Dst: spu_Render
      Src: /src/vlc/test/src/video_output/spu.c:596,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:599,1
    - Dst: fprintf
      Src: /src/vlc/test/src/video_output/spu.c:604,1
    - Dst: PRINTDIMARGS
      Src: /src/vlc/test/src/video_output/spu.c:604,1
    - Dst: fprintf
      Src: /src/vlc/test/src/video_output/spu.c:605,1
    - Dst: PRINTPLACEARGS
      Src: /src/vlc/test/src/video_output/spu.c:605,1
    - Dst: CHECK_REGION
      Src: /src/vlc/test/src/video_output/spu.c:607,1
    - Dst: vlc_render_subpicture_Delete
      Src: /src/vlc/test/src/video_output/spu.c:613,1
    - Dst: test_reset_SPU
      Src: /src/vlc/test/src/video_output/spu.c:615,1
    - Dst: vlc_render_subpicture_Delete
      Src: /src/vlc/test/src/video_output/spu.c:623,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 1
    argNames:
    - spu
    argTypes:
    - spu_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 559
    functionDepth: 2
    functionLinenumber: 559
    functionLinenumberEnd: 625
    functionName: test_spu_align
    functionSourceFile: /src/vlc/test/src/video_output/spu.c
    functionUses: 0
    functionsReached:
    - create_subtitle
    - video_format_Copy
    - video_format_Init
    - ARRAY_SIZE
    - spu_PutSubpicture
    - test_reset_SPU
    - fprintf
    - vlc_render_subpicture_Delete
    - subpicture_Delete
    - PRINTPLACEARGS
    - EXPECT
    - CHECK_REGION
    - vlc_spu_regions_first_or_null
    - spu_Render
    - PRINTDIMARGS
    linkageType: ''
    returnType: int
    signature: int test_spu_align(spu_t *spu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: video_format_Init
      Src: /src/vlc/test/src/video_output/spu.c:630,1
    - Dst: video_format_Init
      Src: /src/vlc/test/src/video_output/spu.c:631,1
    - Dst: video_format_Copy
      Src: /src/vlc/test/src/video_output/spu.c:635,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/video_output/spu.c:639,1
    - Dst: create_text_subtitle
      Src: /src/vlc/test/src/video_output/spu.c:643,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:644,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/test/src/video_output/spu.c:646,1
    - Dst: fprintf
      Src: /src/vlc/test/src/video_output/spu.c:655,1
    - Dst: vlc_spu_regions_Clear
      Src: /src/vlc/test/src/video_output/spu.c:658,1
    - Dst: spu_PutSubpicture
      Src: /src/vlc/test/src/video_output/spu.c:662,1
    - Dst: fprintf
      Src: /src/vlc/test/src/video_output/spu.c:664,1
    - Dst: fprintf
      Src: /src/vlc/test/src/video_output/spu.c:665,1
    - Dst: spu_Render
      Src: /src/vlc/test/src/video_output/spu.c:666,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:669,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:670,1
    - Dst: fprintf
      Src: /src/vlc/test/src/video_output/spu.c:671,1
    - Dst: fprintf
      Src: /src/vlc/test/src/video_output/spu.c:675,1
    - Dst: PRINTDIMARGS
      Src: /src/vlc/test/src/video_output/spu.c:675,1
    - Dst: fprintf
      Src: /src/vlc/test/src/video_output/spu.c:676,1
    - Dst: PRINTPLACEARGS
      Src: /src/vlc/test/src/video_output/spu.c:676,1
    - Dst: CHECK_REGION
      Src: /src/vlc/test/src/video_output/spu.c:678,1
    - Dst: vlc_render_subpicture_Delete
      Src: /src/vlc/test/src/video_output/spu.c:684,1
    - Dst: test_reset_SPU
      Src: /src/vlc/test/src/video_output/spu.c:686,1
    - Dst: vlc_render_subpicture_Delete
      Src: /src/vlc/test/src/video_output/spu.c:694,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 1
    argNames:
    - spu
    argTypes:
    - spu_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 627
    functionDepth: 2
    functionLinenumber: 627
    functionLinenumberEnd: 696
    functionName: test_text_rendering
    functionSourceFile: /src/vlc/test/src/video_output/spu.c
    functionUses: 0
    functionsReached:
    - CHECK_REGION
    - video_format_Copy
    - video_format_Init
    - ARRAY_SIZE
    - spu_PutSubpicture
    - test_reset_SPU
    - fprintf
    - vlc_tick_from_sec
    - vlc_render_subpicture_Delete
    - PRINTPLACEARGS
    - create_text_subtitle
    - EXPECT
    - vlc_spu_regions_Clear
    - spu_Render
    - PRINTDIMARGS
    linkageType: ''
    returnType: int
    signature: int test_text_rendering(spu_t *spu)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: video_format_Init
      Src: /src/vlc/test/src/video_output/spu.c:701,1
    - Dst: video_format_Init
      Src: /src/vlc/test/src/video_output/spu.c:702,1
    - Dst: video_format_Copy
      Src: /src/vlc/test/src/video_output/spu.c:708,1
    - Dst: create_subtitle
      Src: /src/vlc/test/src/video_output/spu.c:713,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:714,1
    - Dst: vlc_spu_regions_first_or_null
      Src: /src/vlc/test/src/video_output/spu.c:715,1
    - Dst: subpicture_Delete
      Src: /src/vlc/test/src/video_output/spu.c:718,1
    - Dst: spu_PutSubpicture
      Src: /src/vlc/test/src/video_output/spu.c:723,1
    - Dst: spu_Render
      Src: /src/vlc/test/src/video_output/spu.c:725,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:727,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:728,1
    - Dst: spu_Render
      Src: /src/vlc/test/src/video_output/spu.c:733,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:735,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:736,1
    - Dst: vlc_render_subpicture_Delete
      Src: /src/vlc/test/src/video_output/spu.c:738,1
    - Dst: vlc_render_subpicture_Delete
      Src: /src/vlc/test/src/video_output/spu.c:740,1
    - Dst: vlc_render_subpicture_Delete
      Src: /src/vlc/test/src/video_output/spu.c:748,1
    - Dst: vlc_render_subpicture_Delete
      Src: /src/vlc/test/src/video_output/spu.c:750,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 1
    argNames:
    - spu
    argTypes:
    - spu_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 698
    functionDepth: 2
    functionLinenumber: 698
    functionLinenumberEnd: 752
    functionName: test_spu_rescaling
    functionSourceFile: /src/vlc/test/src/video_output/spu.c
    functionUses: 0
    functionsReached:
    - create_subtitle
    - video_format_Copy
    - video_format_Init
    - spu_PutSubpicture
    - vlc_render_subpicture_Delete
    - subpicture_Delete
    - EXPECT
    - vlc_spu_regions_first_or_null
    - spu_Render
    linkageType: ''
    returnType: int
    signature: int test_spu_rescaling(spu_t *spu)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: video_format_Init
      Src: /src/vlc/test/src/video_output/spu.c:757,1
    - Dst: video_format_Init
      Src: /src/vlc/test/src/video_output/spu.c:758,1
    - Dst: video_format_Copy
      Src: /src/vlc/test/src/video_output/spu.c:764,1
    - Dst: create_text_subtitle
      Src: /src/vlc/test/src/video_output/spu.c:781,1
    - Dst: assert
      Src: /src/vlc/test/src/video_output/spu.c:782,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/test/src/video_output/spu.c:784,1
    - Dst: spu_PutSubpicture
      Src: /src/vlc/test/src/video_output/spu.c:793,1
    - Dst: spu_Render
      Src: /src/vlc/test/src/video_output/spu.c:795,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:797,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:798,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:801,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:802,1
    - Dst: spu_Render
      Src: /src/vlc/test/src/video_output/spu.c:808,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:810,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:811,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:814,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:815,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:816,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:817,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:818,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:819,1
    - Dst: vlc_render_subpicture_Delete
      Src: /src/vlc/test/src/video_output/spu.c:821,1
    - Dst: vlc_render_subpicture_Delete
      Src: /src/vlc/test/src/video_output/spu.c:823,1
    - Dst: create_text_subtitle
      Src: /src/vlc/test/src/video_output/spu.c:834,1
    - Dst: assert
      Src: /src/vlc/test/src/video_output/spu.c:835,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/test/src/video_output/spu.c:837,1
    - Dst: spu_PutSubpicture
      Src: /src/vlc/test/src/video_output/spu.c:846,1
    - Dst: spu_Render
      Src: /src/vlc/test/src/video_output/spu.c:849,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:851,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:852,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:855,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:856,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:857,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:858,1
    - Dst: vlc_render_subpicture_Delete
      Src: /src/vlc/test/src/video_output/spu.c:860,1
    - Dst: spu_Render
      Src: /src/vlc/test/src/video_output/spu.c:865,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:867,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:868,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:871,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:872,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:873,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:874,1
    - Dst: vlc_render_subpicture_Delete
      Src: /src/vlc/test/src/video_output/spu.c:876,1
    - Dst: vlc_render_subpicture_Delete
      Src: /src/vlc/test/src/video_output/spu.c:884,1
    - Dst: vlc_render_subpicture_Delete
      Src: /src/vlc/test/src/video_output/spu.c:886,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 81
    argCount: 1
    argNames:
    - spu
    argTypes:
    - spu_t*
    assertStmts:
    - condition: (subpic)
      pos:
        line_end: 781
        line_start: 781
        source_file: /src/vlc/test/src/video_output/spu.c
    - condition: (subpic)
      pos:
        line_end: 834
        line_start: 834
        source_file: /src/vlc/test/src/video_output/spu.c
    constantsTouched: []
    func_position:
      end: 888
      start: 754
    functionDepth: 2
    functionLinenumber: 754
    functionLinenumberEnd: 888
    functionName: test_spu_rescaling_text
    functionSourceFile: /src/vlc/test/src/video_output/spu.c
    functionUses: 0
    functionsReached:
    - assert
    - video_format_Copy
    - video_format_Init
    - spu_PutSubpicture
    - vlc_render_subpicture_Delete
    - vlc_tick_from_sec
    - EXPECT_EQ_INT
    - create_text_subtitle
    - EXPECT
    - spu_Render
    linkageType: ''
    returnType: int
    signature: int test_spu_rescaling_text(spu_t *spu)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: video_format_Init
      Src: /src/vlc/test/src/video_output/spu.c:893,1
    - Dst: video_format_Init
      Src: /src/vlc/test/src/video_output/spu.c:894,1
    - Dst: video_format_Copy
      Src: /src/vlc/test/src/video_output/spu.c:898,1
    - Dst: create_subtitle
      Src: /src/vlc/test/src/video_output/spu.c:904,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:905,1
    - Dst: vlc_spu_regions_first_or_null
      Src: /src/vlc/test/src/video_output/spu.c:908,1
    - Dst: subpicture_Delete
      Src: /src/vlc/test/src/video_output/spu.c:911,1
    - Dst: spu_PutSubpicture
      Src: /src/vlc/test/src/video_output/spu.c:920,1
    - Dst: spu_Render
      Src: /src/vlc/test/src/video_output/spu.c:922,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:924,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:925,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:930,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:931,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:932,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:933,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:934,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:935,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:936,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:937,1
    - Dst: vlc_render_subpicture_Delete
      Src: /src/vlc/test/src/video_output/spu.c:939,1
    - Dst: test_reset_SPU
      Src: /src/vlc/test/src/video_output/spu.c:943,1
    - Dst: video_format_Copy
      Src: /src/vlc/test/src/video_output/spu.c:948,1
    - Dst: create_subtitle
      Src: /src/vlc/test/src/video_output/spu.c:954,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:955,1
    - Dst: vlc_spu_regions_first_or_null
      Src: /src/vlc/test/src/video_output/spu.c:958,1
    - Dst: subpicture_Delete
      Src: /src/vlc/test/src/video_output/spu.c:961,1
    - Dst: spu_PutSubpicture
      Src: /src/vlc/test/src/video_output/spu.c:969,1
    - Dst: spu_Render
      Src: /src/vlc/test/src/video_output/spu.c:971,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:974,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:975,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:978,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:979,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:980,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:981,1
    - Dst: spu_Render
      Src: /src/vlc/test/src/video_output/spu.c:985,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:988,1
    - Dst: EXPECT
      Src: /src/vlc/test/src/video_output/spu.c:989,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:992,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:993,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:994,1
    - Dst: EXPECT_EQ_INT
      Src: /src/vlc/test/src/video_output/spu.c:995,1
    - Dst: vlc_render_subpicture_Delete
      Src: /src/vlc/test/src/video_output/spu.c:998,1
    - Dst: vlc_render_subpicture_Delete
      Src: /src/vlc/test/src/video_output/spu.c:999,1
    - Dst: vlc_render_subpicture_Delete
      Src: /src/vlc/test/src/video_output/spu.c:1004,1
    - Dst: vlc_render_subpicture_Delete
      Src: /src/vlc/test/src/video_output/spu.c:1006,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 76
    argCount: 1
    argNames:
    - spu
    argTypes:
    - spu_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 890
    functionDepth: 2
    functionLinenumber: 890
    functionLinenumberEnd: 1008
    functionName: test_spu_crop
    functionSourceFile: /src/vlc/test/src/video_output/spu.c
    functionUses: 0
    functionsReached:
    - create_subtitle
    - video_format_Copy
    - video_format_Init
    - spu_PutSubpicture
    - test_reset_SPU
    - vlc_render_subpicture_Delete
    - EXPECT_EQ_INT
    - subpicture_Delete
    - EXPECT
    - vlc_spu_regions_first_or_null
    - spu_Render
    linkageType: ''
    returnType: int
    signature: int test_spu_crop(spu_t *spu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_init
      Src: /src/vlc/test/src/video_output/spu.c:1012,1
    - Dst: libvlc_new
      Src: /src/vlc/test/src/video_output/spu.c:1016,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/src/video_output/spu.c:1016,1
    - Dst: assert
      Src: /src/vlc/test/src/video_output/spu.c:1017,1
    - Dst: spu_Create
      Src: /src/vlc/test/src/video_output/spu.c:1019,1
    - Dst: assert
      Src: /src/vlc/test/src/video_output/spu.c:1020,1
    - Dst: test_spu_scaling
      Src: /src/vlc/test/src/video_output/spu.c:1022,1
    - Dst: test_reset_SPU
      Src: /src/vlc/test/src/video_output/spu.c:1025,1
    - Dst: test_multiple_spu_render
      Src: /src/vlc/test/src/video_output/spu.c:1027,1
    - Dst: test_reset_SPU
      Src: /src/vlc/test/src/video_output/spu.c:1030,1
    - Dst: test_text_rendering
      Src: /src/vlc/test/src/video_output/spu.c:1032,1
    - Dst: test_reset_SPU
      Src: /src/vlc/test/src/video_output/spu.c:1035,1
    - Dst: test_spu_align
      Src: /src/vlc/test/src/video_output/spu.c:1037,1
    - Dst: test_reset_SPU
      Src: /src/vlc/test/src/video_output/spu.c:1040,1
    - Dst: test_spu_rescaling
      Src: /src/vlc/test/src/video_output/spu.c:1042,1
    - Dst: test_reset_SPU
      Src: /src/vlc/test/src/video_output/spu.c:1045,1
    - Dst: test_spu_rescaling_text
      Src: /src/vlc/test/src/video_output/spu.c:1047,1
    - Dst: test_reset_SPU
      Src: /src/vlc/test/src/video_output/spu.c:1050,1
    - Dst: test_spu_crop
      Src: /src/vlc/test/src/video_output/spu.c:1052,1
    - Dst: spu_Destroy
      Src: /src/vlc/test/src/video_output/spu.c:1054,1
    - Dst: libvlc_release
      Src: /src/vlc/test/src/video_output/spu.c:1056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (spu)
      pos:
        line_end: 1019
        line_start: 1019
        source_file: /src/vlc/test/src/video_output/spu.c
    - condition: (libvlc)
      pos:
        line_end: 1016
        line_start: 1016
        source_file: /src/vlc/test/src/video_output/spu.c
    constantsTouched: []
    func_position:
      end: 1059
      start: 1010
    functionDepth: 3
    functionLinenumber: 1010
    functionLinenumberEnd: 1059
    functionName: main
    functionSourceFile: /src/vlc/test/src/video_output/spu.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - assert
    - ARRAY_SIZE
    - test_reset_SPU
    - test_spu_crop
    - test_init
    - spu_Destroy
    - test_spu_rescaling
    - test_spu_scaling
    - libvlc_new
    - test_multiple_spu_render
    - test_text_rendering
    - test_spu_rescaling_text
    - test_spu_align
    - spu_Create
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/src/video_output/spu.c:1067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1065
    functionDepth: 1
    functionLinenumber: 1065
    functionLinenumberEnd: 1068
    functionName: renderer_Destroy
    functionSourceFile: /src/vlc/test/src/video_output/spu.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void renderer_Destroy( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/src/video_output/spu.c:1074,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/test/src/video_output/spu.c:1074,1
    - Dst: assert
      Src: /src/vlc/test/src/video_output/spu.c:1076,1
    - Dst: sscanf
      Src: /src/vlc/test/src/video_output/spu.c:1076,1
    - Dst: video_format_Init
      Src: /src/vlc/test/src/video_output/spu.c:1079,1
    - Dst: video_format_Setup
      Src: /src/vlc/test/src/video_output/spu.c:1080,1
    - Dst: subpicture_region_New
      Src: /src/vlc/test/src/video_output/spu.c:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - p_filter
    - p_region_in
    - p_chroma_list
    argTypes:
    - filter_t*
    - subpicture_region_t*
    - vlc_fourcc_t*
    assertStmts:
    - condition: (sscanf(p_region_in->p_text->psz_text, "%ux%u", &w, &h) == 2)
      pos:
        line_end: 1075
        line_start: 1075
        source_file: /src/vlc/test/src/video_output/spu.c
    constantsTouched: []
    func_position:
      end: 1087
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1087
    functionName: renderer_Render
    functionSourceFile: /src/vlc/test/src/video_output/spu.c
    functionUses: 0
    functionsReached:
    - sscanf
    - assert
    - video_format_Init
    - subpicture_region_New
    - video_format_Setup
    - VLC_UNUSED
    linkageType: ''
    returnType: subpicture_region_t
    signature: "subpicture_region_t *renderer_Render( filter_t *p_filter,\n                                             const
      subpicture_region_t *p_region_in,\n                                             const
      vlc_fourcc_t *p_chroma_list )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1098
    functionName: renderer_Create
    functionSourceFile: /src/vlc/test/src/video_output/spu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int renderer_Create( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - FLAG
    - ','
    - NAME
    - ','
    - func_type
    - ','
    - fallback
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: DEF_GETTER
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEF_GETTER(FLAG, NAME, func_type, fallback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - NAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: DEF_COPY_FUNC
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEF_COPY_FUNC(NAME)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FLAG
    - ','
    - NAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: DEF_COPY_GETTER
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEF_COPY_GETTER(FLAG, NAME)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/test/checkasm/ext/tests/tests.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: DEF_COPY_FUNC
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/tests.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void DEF_COPY_FUNC(copy_c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - NAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: DEF_NOOP_FUNC
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEF_NOOP_FUNC(NAME)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FLAG
    - ','
    - NAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: DEF_NOOP_GETTER
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEF_NOOP_GETTER(FLAG, NAME)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - NAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: DEF_FLOAT_FUNC
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEF_FLOAT_FUNC(NAME)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: selftest_get_cpu_flags_x86
      Src: /src/vlc/test/checkasm/ext/tests/selftest.c:52,1
    - Dst: selftest_get_cpu_flags_riscv
      Src: /src/vlc/test/checkasm/ext/tests/selftest.c:54,1
    - Dst: selftest_get_cpu_flags_aarch64
      Src: /src/vlc/test/checkasm/ext/tests/selftest.c:56,1
    - Dst: selftest_get_cpu_flags_arm
      Src: /src/vlc/test/checkasm/ext/tests/selftest.c:58,1
    - Dst: checkasm_main
      Src: /src/vlc/test/checkasm/ext/tests/selftest.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/selftest.c
    functionUses: 1
    functionsReached:
    - selftest_get_cpu_flags_x86
    - selftest_get_cpu_flags_aarch64
    - selftest_get_cpu_flags_arm
    - selftest_get_cpu_flags_riscv
    - checkasm_main
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char *argv[])
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_cpu_cpuid
      Src: /src/vlc/test/checkasm/ext/tests/x86/tests.c:15,1
    - Dst: checkasm_cpu_cpuid
      Src: /src/vlc/test/checkasm/ext/tests/x86/tests.c:20,1
    - Dst: checkasm_cpu_xgetbv
      Src: /src/vlc/test/checkasm/ext/tests/x86/tests.c:28,1
    - Dst: checkasm_cpu_cpuid
      Src: /src/vlc/test/checkasm/ext/tests/x86/tests.c:32,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 42
    functionName: selftest_get_cpu_flags_x86
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/x86/tests.c
    functionUses: 1
    functionsReached:
    - checkasm_cpu_xgetbv
    - checkasm_cpu_cpuid
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t selftest_get_cpu_flags_x86(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_get_cpu_flags
      Src: /src/vlc/test/checkasm/ext/tests/x86/tests.c:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 90
    functionName: get_copy_x86
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/x86/tests.c
    functionUses: 0
    functionsReached:
    - checkasm_get_cpu_flags
    linkageType: ''
    returnType: copy_func
    signature: copy_func *get_copy_x86(void)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_get_cpu_flags
      Src: /src/vlc/test/checkasm/ext/tests/x86/tests.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 1
    argNames:
    - reg
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 132
    functionName: get_clobber
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/x86/tests.c
    functionUses: 0
    functionsReached:
    - checkasm_get_cpu_flags
    linkageType: ''
    returnType: noop_func
    signature: noop_func *get_clobber(int reg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_check_func
      Src: /src/vlc/test/checkasm/ext/tests/x86/tests.c:145,1
    - Dst: checkasm_call_new
      Src: /src/vlc/test/checkasm/ext/tests/x86/tests.c:146,1
    - Dst: checkasm_fail
      Src: /src/vlc/test/checkasm/ext/tests/x86/tests.c:151,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/tests/x86/tests.c:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 157
    functionName: check_stack_alignment
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/x86/tests.c
    functionUses: 0
    functionsReached:
    - fprintf
    - checkasm_check_func
    - checkasm_fail
    - checkasm_call_new
    linkageType: ''
    returnType: void
    signature: void check_stack_alignment(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_clobber
      Src: /src/vlc/test/checkasm/ext/tests/x86/tests.c:164,1
    - Dst: checkasm_check_func
      Src: /src/vlc/test/checkasm/ext/tests/x86/tests.c:168,1
    - Dst: checkasm_call_new
      Src: /src/vlc/test/checkasm/ext/tests/x86/tests.c:169,1
    - Dst: checkasm_report
      Src: /src/vlc/test/checkasm/ext/tests/x86/tests.c:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 174
    functionName: check_clobber
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/x86/tests.c
    functionUses: 0
    functionsReached:
    - checkasm_report
    - checkasm_check_func
    - get_clobber
    - checkasm_call_new
    linkageType: ''
    returnType: void
    signature: void check_clobber(int from, int to)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: selftest_test_copy
      Src: /src/vlc/test/checkasm/ext/tests/x86/tests.c:203,1
    - Dst: get_copy_x86
      Src: /src/vlc/test/checkasm/ext/tests/x86/tests.c:203,1
    - Dst: test_copy_emms
      Src: /src/vlc/test/checkasm/ext/tests/x86/tests.c:204,1
    - Dst: get_copy_noemms_mmx
      Src: /src/vlc/test/checkasm/ext/tests/x86/tests.c:204,1
    - Dst: check_stack_alignment
      Src: /src/vlc/test/checkasm/ext/tests/x86/tests.c:205,1
    - Dst: check_clobber
      Src: /src/vlc/test/checkasm/ext/tests/x86/tests.c:206,1
    - Dst: checkasm_should_fail
      Src: /src/vlc/test/checkasm/ext/tests/x86/tests.c:208,1
    - Dst: selftest_test_noop
      Src: /src/vlc/test/checkasm/ext/tests/x86/tests.c:211,1
    - Dst: get_sigill_x86
      Src: /src/vlc/test/checkasm/ext/tests/x86/tests.c:211,1
    - Dst: selftest_test_noop
      Src: /src/vlc/test/checkasm/ext/tests/x86/tests.c:212,1
    - Dst: get_corrupt_stack_x86
      Src: /src/vlc/test/checkasm/ext/tests/x86/tests.c:212,1
    - Dst: selftest_test_copy
      Src: /src/vlc/test/checkasm/ext/tests/x86/tests.c:213,1
    - Dst: get_copy_noemms_mmx
      Src: /src/vlc/test/checkasm/ext/tests/x86/tests.c:213,1
    - Dst: check_clobber
      Src: /src/vlc/test/checkasm/ext/tests/x86/tests.c:214,1
    - Dst: checkasm_get_check_vzeroupper
      Src: /src/vlc/test/checkasm/ext/tests/x86/tests.c:216,1
    - Dst: selftest_test_copy
      Src: /src/vlc/test/checkasm/ext/tests/x86/tests.c:217,1
    - Dst: get_copy_novzeroupper_avx2
      Src: /src/vlc/test/checkasm/ext/tests/x86/tests.c:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 218
    functionName: selftest_check_x86
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/x86/tests.c
    functionUses: 0
    functionsReached:
    - check_stack_alignment
    - get_copy_noemms_mmx
    - check_clobber
    - get_sigill_x86
    - test_copy_emms
    - checkasm_should_fail
    - selftest_test_noop
    - selftest_test_copy
    - get_corrupt_stack_x86
    - checkasm_get_check_vzeroupper
    - get_copy_novzeroupper_avx2
    - get_copy_x86
    linkageType: ''
    returnType: void
    signature: void selftest_check_x86(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_has_float
      Src: /src/vlc/test/checkasm/ext/tests/riscv/tests.c:11,1
    - Dst: checkasm_has_vector
      Src: /src/vlc/test/checkasm/ext/tests/riscv/tests.c:13,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 8
    functionDepth: 1
    functionLinenumber: 8
    functionLinenumberEnd: 16
    functionName: selftest_get_cpu_flags_riscv
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/riscv/tests.c
    functionUses: 1
    functionsReached:
    - checkasm_has_float
    - checkasm_has_vector
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t selftest_get_cpu_flags_riscv(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_get_cpu_flags
      Src: /src/vlc/test/checkasm/ext/tests/riscv/tests.c:195,1
    - Dst: checkasm_check_func
      Src: /src/vlc/test/checkasm/ext/tests/riscv/tests.c:200,1
    - Dst: checkasm_call_new
      Src: /src/vlc/test/checkasm/ext/tests/riscv/tests.c:201,1
    - Dst: checkasm_report
      Src: /src/vlc/test/checkasm/ext/tests/riscv/tests.c:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - mask
    - letter
    - registers
    argTypes:
    - uint64_t
    - unsigned char
    - RiscvRegister*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 206
    functionName: check_clobber
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/riscv/tests.c
    functionUses: 1
    functionsReached:
    - checkasm_get_cpu_flags
    - checkasm_check_func
    - checkasm_report
    - checkasm_call_new
    linkageType: ''
    returnType: void
    signature: "void check_clobber(uint64_t mask, unsigned char letter,\n                          const
      RiscvRegister *registers)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: selftest_test_copy
      Src: /src/vlc/test/checkasm/ext/tests/riscv/tests.c:210,1
    - Dst: get_copy_rvv
      Src: /src/vlc/test/checkasm/ext/tests/riscv/tests.c:210,1
    - Dst: check_clobber
      Src: /src/vlc/test/checkasm/ext/tests/riscv/tests.c:211,1
    - Dst: check_clobber
      Src: /src/vlc/test/checkasm/ext/tests/riscv/tests.c:212,1
    - Dst: checkasm_should_fail
      Src: /src/vlc/test/checkasm/ext/tests/riscv/tests.c:214,1
    - Dst: selftest_test_noop
      Src: /src/vlc/test/checkasm/ext/tests/riscv/tests.c:216,1
    - Dst: get_sigill_riscv
      Src: /src/vlc/test/checkasm/ext/tests/riscv/tests.c:216,1
    - Dst: selftest_test_noop
      Src: /src/vlc/test/checkasm/ext/tests/riscv/tests.c:217,1
    - Dst: get_corrupt_stack_riscv
      Src: /src/vlc/test/checkasm/ext/tests/riscv/tests.c:217,1
    - Dst: check_clobber
      Src: /src/vlc/test/checkasm/ext/tests/riscv/tests.c:218,1
    - Dst: check_clobber
      Src: /src/vlc/test/checkasm/ext/tests/riscv/tests.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 220
    functionName: selftest_check_riscv
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/riscv/tests.c
    functionUses: 0
    functionsReached:
    - check_clobber
    - get_corrupt_stack_riscv
    - checkasm_should_fail
    - selftest_test_noop
    - get_sigill_riscv
    - get_copy_rvv
    - selftest_test_copy
    linkageType: ''
    returnType: void
    signature: void selftest_check_riscv(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 8
    functionName: selftest_get_cpu_flags_aarch64
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t selftest_get_cpu_flags_aarch64(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - NAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: DEF_MANY_ARGS_FUNC
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEF_MANY_ARGS_FUNC(NAME)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FLAG
    - ','
    - NAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: DEF_MANY_ARGS_GETTER
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEF_MANY_ARGS_GETTER(FLAG, NAME)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - NAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: DEF_MAX_INT_ARGS_FUNC
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEF_MAX_INT_ARGS_FUNC(NAME)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FLAG
    - ','
    - NAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: DEF_MAX_INT_ARGS_GETTER
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEF_MAX_INT_ARGS_GETTER(FLAG, NAME)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - NAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: DEF_MAX_INT64_ARGS_FUNC
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEF_MAX_INT64_ARGS_FUNC(NAME)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FLAG
    - ','
    - NAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: DEF_MAX_INT64_ARGS_GETTER
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEF_MAX_INT64_ARGS_GETTER(FLAG, NAME)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_get_cpu_flags
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 65
    argCount: 1
    argNames:
    - reg
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 166
    functionName: get_clobber_x
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c
    functionUses: 0
    functionsReached:
    - checkasm_get_cpu_flags
    linkageType: ''
    returnType: noop_func
    signature: noop_func *get_clobber_x(int reg)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_get_cpu_flags
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 71
    argCount: 1
    argNames:
    - reg
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 208
    functionName: get_clobber_d
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c
    functionUses: 0
    functionsReached:
    - checkasm_get_cpu_flags
    linkageType: ''
    returnType: noop_func
    signature: noop_func *get_clobber_d(int reg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_get_cpu_flags
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - reg
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 226
    functionName: get_clobber_v_upper
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c
    functionUses: 0
    functionsReached:
    - checkasm_get_cpu_flags
    linkageType: ''
    returnType: noop_func
    signature: noop_func *get_clobber_v_upper(int reg)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_get_cpu_flags
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 1
    argNames:
    - arg
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 247
    functionName: get_check_clobber_upper
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c
    functionUses: 0
    functionsReached:
    - checkasm_get_cpu_flags
    linkageType: ''
    returnType: many_args_func
    signature: many_args_func *get_check_clobber_upper(int arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_clobber_x
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:261,1
    - Dst: checkasm_check_func
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:265,1
    - Dst: checkasm_call_new
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:266,1
    - Dst: checkasm_report
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 271
    functionName: check_clobber_x
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c
    functionUses: 0
    functionsReached:
    - checkasm_report
    - get_clobber_x
    - checkasm_check_func
    - checkasm_call_new
    linkageType: ''
    returnType: void
    signature: void check_clobber_x(int from, int to)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_clobber_d
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:278,1
    - Dst: checkasm_check_func
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:282,1
    - Dst: checkasm_call_new
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:283,1
    - Dst: checkasm_report
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 288
    functionName: check_clobber_d
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c
    functionUses: 0
    functionsReached:
    - checkasm_report
    - checkasm_check_func
    - get_clobber_d
    - checkasm_call_new
    linkageType: ''
    returnType: void
    signature: void check_clobber_d(int from, int to)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_clobber_v_upper
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:295,1
    - Dst: checkasm_check_func
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:299,1
    - Dst: checkasm_call_new
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:300,1
    - Dst: checkasm_report
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 305
    functionName: check_clobber_v_upper
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c
    functionUses: 0
    functionsReached:
    - checkasm_report
    - get_clobber_v_upper
    - checkasm_check_func
    - checkasm_call_new
    linkageType: ''
    returnType: void
    signature: void check_clobber_v_upper(int from, int to)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_check_clobber_upper
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:312,1
    - Dst: checkasm_check_func
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:316,1
    - Dst: checkasm_call_new
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:317,1
    - Dst: checkasm_report
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:321,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 322
    functionName: check_clobber_arg_upper
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c
    functionUses: 0
    functionsReached:
    - checkasm_report
    - checkasm_check_func
    - get_check_clobber_upper
    - checkasm_call_new
    linkageType: ''
    returnType: void
    signature: void check_clobber_arg_upper(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_check_func
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:328,1
    - Dst: checkasm_call_new
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:332,1
    - Dst: checkasm_report
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fun
    - name
    argTypes:
    - many_args_func
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 336
    functionName: selftest_test_many_args
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c
    functionUses: 0
    functionsReached:
    - checkasm_report
    - checkasm_check_func
    - checkasm_call_new
    linkageType: ''
    returnType: void
    signature: void selftest_test_many_args(many_args_func fun, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_check_func
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:343,1
    - Dst: checkasm_call_new
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:345,1
    - Dst: checkasm_report
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fun
    - name
    argTypes:
    - max_int_args_func
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 349
    functionName: selftest_test_max_int_args
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c
    functionUses: 0
    functionsReached:
    - checkasm_report
    - checkasm_check_func
    - checkasm_call_new
    linkageType: ''
    returnType: void
    signature: void selftest_test_max_int_args(max_int_args_func fun, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_check_func
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:357,1
    - Dst: checkasm_call_new
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:359,1
    - Dst: checkasm_report
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fun
    - name
    argTypes:
    - max_int64_args_func
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 363
    functionName: selftest_test_max_int64_args
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c
    functionUses: 0
    functionsReached:
    - checkasm_report
    - checkasm_check_func
    - checkasm_call_new
    linkageType: ''
    returnType: void
    signature: void selftest_test_max_int64_args(max_int64_args_func fun, const char
      *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_clobber_x
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:367,1
    - Dst: check_clobber_d
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:369,1
    - Dst: check_clobber_d
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:370,1
    - Dst: check_clobber_v_upper
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:371,1
    - Dst: selftest_test_many_args
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:372,1
    - Dst: get_clobber_stack_args_aarch64
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:372,1
    - Dst: selftest_test_max_int_args
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:374,1
    - Dst: get_check_max_int_args_aarch64
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:374,1
    - Dst: selftest_test_max_int64_args
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:375,1
    - Dst: get_check_max_int64_args_aarch64
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:375,1
    - Dst: check_clobber_arg_upper
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:377,1
    - Dst: checkasm_should_fail
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:379,1
    - Dst: selftest_test_noop
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:381,1
    - Dst: get_sigill_aarch64
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:381,1
    - Dst: selftest_test_many_args
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:382,1
    - Dst: get_clobber_stack_aarch64
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:382,1
    - Dst: check_clobber_x
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:383,1
    - Dst: check_clobber_d
      Src: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 365
    functionDepth: 3
    functionLinenumber: 365
    functionLinenumberEnd: 385
    functionName: selftest_check_aarch64
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/arm/64/tests.c
    functionUses: 0
    functionsReached:
    - get_check_max_int_args_aarch64
    - check_clobber_arg_upper
    - check_clobber_d
    - check_clobber_v_upper
    - selftest_test_max_int_args
    - checkasm_should_fail
    - selftest_test_noop
    - selftest_test_max_int64_args
    - get_clobber_stack_args_aarch64
    - check_clobber_x
    - get_check_max_int64_args_aarch64
    - get_clobber_stack_aarch64
    - get_sigill_aarch64
    - selftest_test_many_args
    linkageType: ''
    returnType: void
    signature: void selftest_check_aarch64(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_has_vfp
      Src: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c:11,1
    - Dst: checkasm_has_vfpd32
      Src: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c:13,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 8
    functionDepth: 1
    functionLinenumber: 8
    functionLinenumberEnd: 16
    functionName: selftest_get_cpu_flags_arm
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c
    functionUses: 1
    functionsReached:
    - checkasm_has_vfpd32
    - checkasm_has_vfp
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t selftest_get_cpu_flags_arm(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - NAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: DEF_MANY_ARGS_FUNC
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEF_MANY_ARGS_FUNC(NAME)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FLAG
    - ','
    - NAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: DEF_MANY_ARGS_GETTER
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEF_MANY_ARGS_GETTER(FLAG, NAME)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_get_cpu_flags
      Src: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 1
    argNames:
    - reg
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 100
    functionName: get_clobber_r
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c
    functionUses: 0
    functionsReached:
    - checkasm_get_cpu_flags
    linkageType: ''
    returnType: noop_func
    signature: noop_func *get_clobber_r(int reg)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_get_cpu_flags
      Src: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c:104,1
    - Dst: checkasm_get_cpu_flags
      Src: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 73
    argCount: 1
    argNames:
    - reg
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 144
    functionName: get_clobber_d
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c
    functionUses: 1
    functionsReached:
    - checkasm_get_cpu_flags
    linkageType: ''
    returnType: noop_func
    signature: noop_func *get_clobber_d(int reg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_clobber_r
      Src: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c:156,1
    - Dst: checkasm_check_func
      Src: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c:160,1
    - Dst: checkasm_call_new
      Src: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c:161,1
    - Dst: checkasm_report
      Src: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 166
    functionName: check_clobber_r
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c
    functionUses: 0
    functionsReached:
    - checkasm_report
    - checkasm_check_func
    - get_clobber_r
    - checkasm_call_new
    linkageType: ''
    returnType: void
    signature: void check_clobber_r(int from, int to)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_clobber_d
      Src: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c:173,1
    - Dst: checkasm_check_func
      Src: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c:177,1
    - Dst: checkasm_call_new
      Src: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c:178,1
    - Dst: checkasm_report
      Src: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 183
    functionName: check_clobber_d
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c
    functionUses: 1
    functionsReached:
    - checkasm_report
    - checkasm_check_func
    - get_clobber_d
    - checkasm_call_new
    linkageType: ''
    returnType: void
    signature: void check_clobber_d(int from, int to)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_check_func
      Src: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c:189,1
    - Dst: checkasm_call_new
      Src: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c:193,1
    - Dst: checkasm_report
      Src: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fun
    - name
    argTypes:
    - many_args_func
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 197
    functionName: selftest_test_many_args
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c
    functionUses: 1
    functionsReached:
    - checkasm_report
    - checkasm_check_func
    - checkasm_call_new
    linkageType: ''
    returnType: void
    signature: void selftest_test_many_args(many_args_func fun, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_clobber_r
      Src: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c:201,1
    - Dst: check_clobber_r
      Src: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c:202,1
    - Dst: check_clobber_d
      Src: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c:203,1
    - Dst: check_clobber_d
      Src: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c:204,1
    - Dst: selftest_test_many_args
      Src: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c:205,1
    - Dst: get_clobber_stack_args_arm
      Src: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c:205,1
    - Dst: checkasm_should_fail
      Src: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c:207,1
    - Dst: selftest_test_noop
      Src: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c:209,1
    - Dst: get_sigill_arm
      Src: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c:209,1
    - Dst: selftest_test_many_args
      Src: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c:210,1
    - Dst: get_clobber_stack_arm
      Src: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c:210,1
    - Dst: selftest_test_noop
      Src: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c:211,1
    - Dst: get_clobber_fpscr_vfp
      Src: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c:211,1
    - Dst: check_clobber_r
      Src: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c:212,1
    - Dst: check_clobber_r
      Src: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c:216,1
    - Dst: check_clobber_r
      Src: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c:218,1
    - Dst: check_clobber_d
      Src: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 220
    functionName: selftest_check_arm
    functionSourceFile: /src/vlc/test/checkasm/ext/tests/arm/32/tests.c
    functionUses: 0
    functionsReached:
    - get_sigill_arm
    - get_clobber_stack_arm
    - check_clobber_d
    - check_clobber_r
    - checkasm_should_fail
    - selftest_test_noop
    - get_clobber_stack_args_arm
    - get_clobber_fpscr_vfp
    - selftest_test_many_args
    linkageType: ''
    returnType: void
    signature: void selftest_check_arm(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log
      Src: /src/vlc/test/checkasm/ext/src/stats.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - s
    argTypes:
    - CheckasmVar
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: checkasm_var_scale
    functionSourceFile: /src/vlc/test/checkasm/ext/src/stats.c
    functionUses: 0
    functionsReached:
    - log
    linkageType: ''
    returnType: CheckasmVar
    signature: CheckasmVar checkasm_var_scale(CheckasmVar a, double s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - exp
    argTypes:
    - CheckasmVar
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: checkasm_var_pow
    functionSourceFile: /src/vlc/test/checkasm/ext/src/stats.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CheckasmVar
    signature: CheckasmVar checkasm_var_pow(CheckasmVar a, double exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/vlc/test/checkasm/ext/src/stats.c:52,1
    - Dst: exp
      Src: /src/vlc/test/checkasm/ext/src/stats.c:53,1
    - Dst: exp
      Src: /src/vlc/test/checkasm/ext/src/stats.c:54,1
    - Dst: exp
      Src: /src/vlc/test/checkasm/ext/src/stats.c:54,1
    - Dst: exp
      Src: /src/vlc/test/checkasm/ext/src/stats.c:55,1
    - Dst: exp
      Src: /src/vlc/test/checkasm/ext/src/stats.c:55,1
    - Dst: log
      Src: /src/vlc/test/checkasm/ext/src/stats.c:59,1
    - Dst: sqrt
      Src: /src/vlc/test/checkasm/ext/src/stats.c:59,1
    - Dst: log
      Src: /src/vlc/test/checkasm/ext/src/stats.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - CheckasmVar
    - CheckasmVar
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: checkasm_var_add
    functionSourceFile: /src/vlc/test/checkasm/ext/src/stats.c
    functionUses: 0
    functionsReached:
    - log
    - exp
    - sqrt
    linkageType: ''
    returnType: CheckasmVar
    signature: CheckasmVar checkasm_var_add(const CheckasmVar a, const CheckasmVar
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/vlc/test/checkasm/ext/src/stats.c:66,1
    - Dst: exp
      Src: /src/vlc/test/checkasm/ext/src/stats.c:67,1
    - Dst: exp
      Src: /src/vlc/test/checkasm/ext/src/stats.c:68,1
    - Dst: exp
      Src: /src/vlc/test/checkasm/ext/src/stats.c:68,1
    - Dst: exp
      Src: /src/vlc/test/checkasm/ext/src/stats.c:69,1
    - Dst: exp
      Src: /src/vlc/test/checkasm/ext/src/stats.c:69,1
    - Dst: fmax
      Src: /src/vlc/test/checkasm/ext/src/stats.c:70,1
    - Dst: log
      Src: /src/vlc/test/checkasm/ext/src/stats.c:73,1
    - Dst: sqrt
      Src: /src/vlc/test/checkasm/ext/src/stats.c:73,1
    - Dst: log
      Src: /src/vlc/test/checkasm/ext/src/stats.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - CheckasmVar
    - CheckasmVar
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: checkasm_var_sub
    functionSourceFile: /src/vlc/test/checkasm/ext/src/stats.c
    functionUses: 0
    functionsReached:
    - log
    - exp
    - fmax
    - sqrt
    linkageType: ''
    returnType: CheckasmVar
    signature: CheckasmVar checkasm_var_sub(CheckasmVar a, CheckasmVar b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - CheckasmVar
    - CheckasmVar
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: checkasm_var_mul
    functionSourceFile: /src/vlc/test/checkasm/ext/src/stats.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CheckasmVar
    signature: CheckasmVar checkasm_var_mul(CheckasmVar a, CheckasmVar b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - CheckasmVar
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: checkasm_var_inv
    functionSourceFile: /src/vlc/test/checkasm/ext/src/stats.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CheckasmVar
    signature: CheckasmVar checkasm_var_inv(CheckasmVar a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - CheckasmVar
    - CheckasmVar
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: checkasm_var_div
    functionSourceFile: /src/vlc/test/checkasm/ext/src/stats.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CheckasmVar
    signature: CheckasmVar checkasm_var_div(CheckasmVar a, CheckasmVar b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_var_const
      Src: /src/vlc/test/checkasm/ext/src/stats.c:105,1
    - Dst: log
      Src: /src/vlc/test/checkasm/ext/src/stats.c:112,1
    - Dst: log
      Src: /src/vlc/test/checkasm/ext/src/stats.c:112,1
    - Dst: assert
      Src: /src/vlc/test/checkasm/ext/src/stats.c:119,1
    - Dst: fmax
      Src: /src/vlc/test/checkasm/ext/src/stats.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - stats
    argTypes:
    - CheckasmStats*
    assertStmts:
    - condition: (count > 0)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/vlc/test/checkasm/ext/src/stats.c
    constantsTouched: []
    func_position:
      end: 131
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 131
    functionName: checkasm_stats_estimate
    functionSourceFile: /src/vlc/test/checkasm/ext/src/stats.c
    functionUses: 0
    functionsReached:
    - checkasm_var_const
    - log
    - assert
    - fmax
    linkageType: ''
    returnType: CheckasmVar
    signature: CheckasmVar checkasm_stats_estimate(const CheckasmStats *const stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: __has_attribute
    functionSourceFile: /src/vlc/test/checkasm/ext/src/internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __has_attribute(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: ARRAY_SIZE
    functionSourceFile: /src/vlc/test/checkasm/ext/src/internal.h
    functionUses: 75
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARRAY_SIZE(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: PACKED
    functionSourceFile: /src/vlc/test/checkasm/ext/src/internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACKED(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: PACKED
    functionSourceFile: /src/vlc/test/checkasm/ext/src/internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACKED(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: imax
    functionSourceFile: /src/vlc/test/checkasm/ext/src/internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int imax(const int a, const int b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: imin
    functionSourceFile: /src/vlc/test/checkasm/ext/src/internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int imin(const int a, const int b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/internal.h:173,1
    - Dst: exit
      Src: /src/vlc/test/checkasm/ext/src/internal.h:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: checkasm_handle_oom
    functionSourceFile: /src/vlc/test/checkasm/ext/src/internal.h
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void *checkasm_handle_oom(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_handle_oom
      Src: /src/vlc/test/checkasm/ext/src/internal.h:182,1
    - Dst: calloc
      Src: /src/vlc/test/checkasm/ext/src/internal.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: checkasm_mallocz
    functionSourceFile: /src/vlc/test/checkasm/ext/src/internal.h
    functionUses: 0
    functionsReached:
    - calloc
    - checkasm_handle_oom
    linkageType: ''
    returnType: void
    signature: void *checkasm_mallocz(const size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_handle_oom
      Src: /src/vlc/test/checkasm/ext/src/internal.h:187,1
    - Dst: strdup
      Src: /src/vlc/test/checkasm/ext/src/internal.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: checkasm_strdup
    functionSourceFile: /src/vlc/test/checkasm/ext/src/internal.h
    functionUses: 0
    functionsReached:
    - checkasm_handle_oom
    - strdup
    linkageType: ''
    returnType: char
    signature: char *checkasm_strdup(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_init_x86
      Src: /src/vlc/test/checkasm/ext/src/cpu.c:45,1
    - Dst: checkasm_init_arm
      Src: /src/vlc/test/checkasm/ext/src/cpu.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: checkasm_init_cpu
    functionSourceFile: /src/vlc/test/checkasm/ext/src/cpu.c
    functionUses: 0
    functionsReached:
    - checkasm_init_x86
    - checkasm_init_arm
    linkageType: ''
    returnType: COLD
    signature: COLD checkasm_init_cpu(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getauxval
      Src: /src/vlc/test/checkasm/ext/src/cpu.c:54,1
    - Dst: elf_aux_info
      Src: /src/vlc/test/checkasm/ext/src/cpu.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionName: checkasm_getauxval
    functionSourceFile: /src/vlc/test/checkasm/ext/src/cpu.c
    functionUses: 0
    functionsReached:
    - getauxval
    - elf_aux_info
    linkageType: ''
    returnType: COLD unsigned long
    signature: COLD unsigned long checkasm_getauxval(unsigned long type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_get_x86_cpuid
      Src: /src/vlc/test/checkasm/ext/src/cpu.c:68,1
    - Dst: sysctlbyname
      Src: /src/vlc/test/checkasm/ext/src/cpu.c:70,1
    - Dst: checkasm_get_arm_cpuinfo
      Src: /src/vlc/test/checkasm/ext/src/cpu.c:75,1
    - Dst: checkasm_get_arm_win32_reg
      Src: /src/vlc/test/checkasm/ext/src/cpu.c:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - buflen
    - affinity
    argTypes:
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 81
    functionName: get_brand_string
    functionSourceFile: /src/vlc/test/checkasm/ext/src/cpu.c
    functionUses: 0
    functionsReached:
    - checkasm_get_arm_win32_reg
    - checkasm_get_arm_cpuinfo
    - sysctlbyname
    - checkasm_get_x86_cpuid
    linkageType: ''
    returnType: COLD
    signature: COLD *get_brand_string(char *buf, size_t buflen, int affinity)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_brand_string
      Src: /src/vlc/test/checkasm/ext/src/cpu.c:89,1
    - Dst: info_cb
      Src: /src/vlc/test/checkasm/ext/src/cpu.c:91,1
    - Dst: checkasm_get_cpuids
      Src: /src/vlc/test/checkasm/ext/src/cpu.c:97,1
    - Dst: checkasm_get_riscv_vendor_name
      Src: /src/vlc/test/checkasm/ext/src/cpu.c:98,1
    - Dst: checkasm_get_riscv_arch_name
      Src: /src/vlc/test/checkasm/ext/src/cpu.c:100,1
    - Dst: info_cb
      Src: /src/vlc/test/checkasm/ext/src/cpu.c:102,1
    - Dst: checkasm_has_vector
      Src: /src/vlc/test/checkasm/ext/src/cpu.c:105,1
    - Dst: checkasm_get_vlen
      Src: /src/vlc/test/checkasm/ext/src/cpu.c:106,1
    - Dst: info_cb
      Src: /src/vlc/test/checkasm/ext/src/cpu.c:107,1
    - Dst: checkasm_has_sve
      Src: /src/vlc/test/checkasm/ext/src/cpu.c:112,1
    - Dst: checkasm_sve_length
      Src: /src/vlc/test/checkasm/ext/src/cpu.c:113,1
    - Dst: info_cb
      Src: /src/vlc/test/checkasm/ext/src/cpu.c:114,1
    - Dst: checkasm_has_sme
      Src: /src/vlc/test/checkasm/ext/src/cpu.c:118,1
    - Dst: checkasm_sme_length
      Src: /src/vlc/test/checkasm/ext/src/cpu.c:119,1
    - Dst: info_cb
      Src: /src/vlc/test/checkasm/ext/src/cpu.c:120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - priv
    - config
    argTypes:
    - void*
    - CheckasmConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 124
    functionName: checkasm_cpu_info
    functionSourceFile: /src/vlc/test/checkasm/ext/src/cpu.c
    functionUses: 0
    functionsReached:
    - checkasm_has_sme
    - get_brand_string
    - checkasm_has_sve
    - checkasm_get_cpuids
    - info_cb
    - checkasm_sme_length
    - checkasm_get_vlen
    - checkasm_sve_length
    - checkasm_has_vector
    - checkasm_get_riscv_arch_name
    - checkasm_get_riscv_vendor_name
    linkageType: ''
    returnType: COLD
    signature: "COLD checkasm_cpu_info(void (*info_cb)(void *priv, const char *fmt,
      ...), void *priv,\n                            const CheckasmConfig *config)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pa
    - pb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 157
    functionName: jvcmp
    functionSourceFile: /src/vlc/test/checkasm/ext/src/cpu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: COLD
    signature: COLD jvcmp(const void *pa, const void *pb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/vlc/test/checkasm/ext/src/cpu.c:162,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/checkasm/ext/src/cpu.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bank
    - offset
    argTypes:
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: checkasm_get_jedec_vendor_name
    functionSourceFile: /src/vlc/test/checkasm/ext/src/cpu.c
    functionUses: 0
    functionsReached:
    - bsearch
    - ARRAY_SIZE
    linkageType: ''
    returnType: COLD
    signature: COLD *checkasm_get_jedec_vendor_name(unsigned bank, unsigned offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: checkasm_get_cpu_flags
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: CheckasmCpu
    signature: CheckasmCpu checkasm_get_cpu_flags(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: checkasm_get_cpu_info
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CheckasmCpuInfo
    signature: CheckasmCpuInfo *checkasm_get_cpu_info(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - CheckasmCpuInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: cpu_suffix
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *cpu_suffix(const CheckasmCpuInfo *cpu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpu_suffix
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ver
    argTypes:
    - CheckasmFuncVersion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: ver_suffix
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 0
    functionsReached:
    - cpu_suffix
    linkageType: ''
    returnType: char
    signature: char *ver_suffix(const CheckasmFuncVersion *ver)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:145,1
    - Dst: exp
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lvar
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: relative_error
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 0
    functionsReached:
    - exp
    - sqrt
    linkageType: ''
    returnType: double
    signature: double relative_error(double lvar)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - format
    argTypes:
    - CheckasmFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: separator
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char separator(CheckasmFormat format)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_json_push
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:161,1
    - Dst: checkasm_json_str
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:163,1
    - Dst: checkasm_json
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:164,1
    - Dst: checkasm_mode
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:164,1
    - Dst: checkasm_json
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:165,1
    - Dst: checkasm_median
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:165,1
    - Dst: checkasm_json
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:166,1
    - Dst: checkasm_mean
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:166,1
    - Dst: checkasm_json
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:167,1
    - Dst: checkasm_sample
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:167,1
    - Dst: checkasm_json
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:168,1
    - Dst: checkasm_sample
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:168,1
    - Dst: checkasm_json
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:169,1
    - Dst: checkasm_stddev
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:169,1
    - Dst: checkasm_json
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:170,1
    - Dst: checkasm_json
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:171,1
    - Dst: checkasm_json_pop
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - json
    - key
    - unit
    - var
    argTypes:
    - CheckasmJson*
    - char*
    - char*
    - CheckasmVar
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 174
    functionName: json_var
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 0
    functionsReached:
    - checkasm_median
    - checkasm_json_str
    - checkasm_mode
    - checkasm_json_push
    - checkasm_json
    - checkasm_json_pop
    - checkasm_stddev
    - checkasm_sample
    - checkasm_mean
    linkageType: ''
    returnType: void
    signature: "void json_var(CheckasmJson *json, const char *key, const char *unit,\n
      \                    const CheckasmVar var)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_measurement_result
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:179,1
    - Dst: checkasm_json_push
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:181,1
    - Dst: json_var
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:182,1
    - Dst: checkasm_json
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:183,1
    - Dst: json_var
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:186,1
    - Dst: checkasm_stats_estimate
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:187,1
    - Dst: checkasm_json_push
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:188,1
    - Dst: checkasm_json
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:191,1
    - Dst: checkasm_json_pop
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:194,1
    - Dst: checkasm_json_pop
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - json
    - key
    - unit
    - measurement
    argTypes:
    - CheckasmJson*
    - char*
    - char*
    - CheckasmMeasurement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 199
    functionName: json_measurement
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 0
    functionsReached:
    - checkasm_json_push
    - checkasm_json
    - checkasm_json_pop
    - json_var
    - checkasm_stats_estimate
    - checkasm_measurement_result
    linkageType: ''
    returnType: void
    signature: "void json_measurement(CheckasmJson *json, const char *key, const char
      *unit,\n                             const CheckasmMeasurement measurement)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:206,1
    - Dst: vsnprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:207,1
    - Dst: va_end
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:208,1
    - Dst: checkasm_json_str
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - priv
    - fmt
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 211
    functionName: cpu_info_json
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - va_end
    - checkasm_json_str
    - va_start
    linkageType: ''
    returnType: void
    signature: void cpu_info_json(void *priv, const char *fmt, ...)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_measurement_result
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:221,1
    - Dst: checkasm_measurement_result
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:222,1
    - Dst: checkasm_var_mul
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:223,1
    - Dst: separator
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:230,1
    - Dst: printf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:231,1
    - Dst: printf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:233,1
    - Dst: checkasm_mode
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:233,1
    - Dst: checkasm_stddev
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:234,1
    - Dst: checkasm_mode
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:234,1
    - Dst: printf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:238,1
    - Dst: checkasm_json_push
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:254,1
    - Dst: checkasm_json_str
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:255,1
    - Dst: checkasm_json
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:256,1
    - Dst: checkasm_json
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:257,1
    - Dst: checkasm_json
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:258,1
    - Dst: checkasm_json
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:259,1
    - Dst: checkasm_json_push
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:260,1
    - Dst: checkasm_json_str
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:262,1
    - Dst: checkasm_json_str
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:264,1
    - Dst: checkasm_json
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:265,1
    - Dst: checkasm_json
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:266,1
    - Dst: checkasm_json
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:267,1
    - Dst: checkasm_json
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:269,1
    - Dst: checkasm_json_pop
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:270,1
    - Dst: checkasm_json_push
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:271,1
    - Dst: checkasm_cpu_info
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:272,1
    - Dst: checkasm_json_pop
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:273,1
    - Dst: checkasm_json_push
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:274,1
    - Dst: checkasm_json_push
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:277,1
    - Dst: checkasm_json_str
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:278,1
    - Dst: checkasm_json
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:279,1
    - Dst: checkasm_json_pop
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:280,1
    - Dst: checkasm_json_pop
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:282,1
    - Dst: checkasm_json_push
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:283,1
    - Dst: checkasm_json_str
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:285,1
    - Dst: checkasm_json_pop
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:286,1
    - Dst: snprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:288,1
    - Dst: json_measurement
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:289,1
    - Dst: json_measurement
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:290,1
    - Dst: json_var
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:291,1
    - Dst: checkasm_json
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:292,1
    - Dst: checkasm_json_push
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:293,1
    - Dst: checkasm_fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:296,1
    - Dst: checkasm_fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:297,1
    - Dst: checkasm_fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:300,1
    - Dst: checkasm_fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:303,1
    - Dst: printf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:305,1
    - Dst: checkasm_mode
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:306,1
    - Dst: checkasm_stddev
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:307,1
    - Dst: checkasm_mode
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:307,1
    - Dst: checkasm_stddev
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:308,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 64
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct IterState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 312
    functionName: print_bench_header
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 0
    functionsReached:
    - snprintf
    - checkasm_json_str
    - checkasm_fprintf
    - checkasm_mode
    - printf
    - checkasm_cpu_info
    - json_measurement
    - checkasm_json_push
    - checkasm_json
    - checkasm_json_pop
    - separator
    - checkasm_stddev
    - json_var
    - checkasm_measurement_result
    - checkasm_var_mul
    linkageType: ''
    returnType: void
    signature: void print_bench_header(struct IterState *const iter)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: relative_error
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:316,1
    - Dst: relative_error
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:317,1
    - Dst: printf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:325,1
    - Dst: checkasm_json_pop
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:332,1
    - Dst: checkasm_json
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:333,1
    - Dst: checkasm_json
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:334,1
    - Dst: checkasm_json_pop
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:335,1
    - Dst: printf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:338,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct IterState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 348
    functionName: print_bench_footer
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 0
    functionsReached:
    - printf
    - relative_error
    - checkasm_json_pop
    - checkasm_json
    linkageType: ''
    returnType: void
    signature: void print_bench_footer(struct IterState *const iter)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: separator
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:353,1
    - Dst: print_bench_iter
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:357,1
    - Dst: checkasm_measurement_result
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:361,1
    - Dst: checkasm_measurement_result
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:362,1
    - Dst: checkasm_measurement_result
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:370,1
    - Dst: checkasm_measurement_result
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:371,1
    - Dst: checkasm_var_sub
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:373,1
    - Dst: checkasm_var_sub
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:374,1
    - Dst: checkasm_var_div
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:375,1
    - Dst: checkasm_var_mul
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:376,1
    - Dst: checkasm_var_mul
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:377,1
    - Dst: checkasm_json_push
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:383,1
    - Dst: checkasm_json_str
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:384,1
    - Dst: checkasm_json_str
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:386,1
    - Dst: checkasm_json_push
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:387,1
    - Dst: checkasm_json_push
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:391,1
    - Dst: ver_suffix
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:391,1
    - Dst: json_measurement
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:392,1
    - Dst: json_var
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:393,1
    - Dst: json_var
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:394,1
    - Dst: json_var
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:395,1
    - Dst: json_var
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:397,1
    - Dst: checkasm_var_div
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:397,1
    - Dst: checkasm_json_pop
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:398,1
    - Dst: printf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:402,1
    - Dst: ver_suffix
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:402,1
    - Dst: checkasm_mode
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:403,1
    - Dst: checkasm_stddev
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:403,1
    - Dst: checkasm_mode
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:404,1
    - Dst: printf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:408,1
    - Dst: ver_suffix
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:408,1
    - Dst: printf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:409,1
    - Dst: imax
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:409,1
    - Dst: checkasm_mode
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:409,1
    - Dst: printf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:411,1
    - Dst: checkasm_stddev
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:411,1
    - Dst: checkasm_mode
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:412,1
    - Dst: checkasm_stddev
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:412,1
    - Dst: checkasm_sample
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:415,1
    - Dst: checkasm_sample
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:416,1
    - Dst: printf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:421,1
    - Dst: checkasm_fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:422,1
    - Dst: checkasm_mode
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:422,1
    - Dst: printf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:423,1
    - Dst: printf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:425,1
    - Dst: checkasm_json_pop
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:432,1
    - Dst: checkasm_json_pop
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:433,1
    - Dst: print_bench_iter
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:436,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 2
    argNames:
    - f
    - iter
    argTypes:
    - CheckasmFunc*
    - struct IterState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 437
    functionName: print_bench_iter
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 1
    functionsReached:
    - checkasm_json_str
    - checkasm_fprintf
    - checkasm_var_sub
    - print_bench_iter
    - printf
    - checkasm_mode
    - json_measurement
    - checkasm_json_push
    - checkasm_json_pop
    - separator
    - checkasm_stddev
    - checkasm_sample
    - imax
    - json_var
    - ver_suffix
    - checkasm_measurement_result
    - checkasm_var_div
    - checkasm_var_mul
    linkageType: ''
    returnType: void
    signature: void print_bench_iter(const CheckasmFunc *const f, struct IterState
      *const iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_bench_header
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:442,1
    - Dst: print_bench_iter
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:443,1
    - Dst: print_bench_footer
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:444,1
    - Dst: assert
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (iter.json.level == 0)
      pos:
        line_end: 444
        line_start: 444
        source_file: /src/vlc/test/checkasm/ext/src/checkasm.c
    constantsTouched: []
    func_position:
      end: 446
      start: 439
    functionDepth: 4
    functionLinenumber: 439
    functionLinenumberEnd: 446
    functionName: print_benchmarks
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 0
    functionsReached:
    - print_bench_header
    - print_bench_iter
    - assert
    - print_bench_footer
    linkageType: ''
    returnType: void
    signature: void print_benchmarks(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 452
    functionName: checkasm_bench_func
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int checkasm_bench_func(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 469
    functionName: checkasm_bench_runs
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int checkasm_bench_runs(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_stats_add
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:474,1
    - Dst: checkasm_stats_count_grow
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:475,1
    - Dst: checkasm_simd_warmup
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - iterations
    - cycles
    argTypes:
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 484
    functionName: checkasm_bench_update
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 0
    functionsReached:
    - checkasm_stats_add
    - checkasm_simd_warmup
    - checkasm_stats_count_grow
    linkageType: ''
    returnType: void
    signature: void checkasm_bench_update(const int iterations, const uint64_t cycles)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_stats_estimate
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:490,1
    - Dst: checkasm_measurement_update
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:493,1
    - Dst: fmax
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:497,1
    - Dst: checkasm_stats_reset
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 486
    functionDepth: 2
    functionLinenumber: 486
    functionLinenumberEnd: 503
    functionName: checkasm_bench_finish
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 0
    functionsReached:
    - checkasm_stats_reset
    - checkasm_measurement_update
    - checkasm_stats_estimate
    - fmax
    linkageType: ''
    returnType: void
    signature: void checkasm_bench_finish(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:508,1
    - Dst: strncmp
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:511,1
    - Dst: wildstrcmp
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:518,1
    - Dst: strcmp
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:522,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - str
    - pattern
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 523
    functionName: wildstrcmp
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 1
    functionsReached:
    - strncmp
    - strcmp
    - wildstrcmp
    - strchr
    linkageType: ''
    returnType: int
    signature: int wildstrcmp(const char *str, const char *pattern)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:548,1
    - Dst: cpu_suffix
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:548,1
    - Dst: set_cpu_flags
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:550,1
    - Dst: wildstrcmp
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:553,1
    - Dst: checkasm_save_context
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:557,1
    - Dst: checkasm_get_last_signal_desc
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:558,1
    - Dst: handle_interrupt
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:559,1
    - Dst: checkasm_fail_func
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:560,1
    - Dst: checkasm_srand
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:573,1
    - Dst: CheckasmTest*::func
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:575,1
    - Dst: checkasm_report
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:576,1
    - Dst: handle_interrupt
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:580,1
    - Dst: checkasm_measure_nop_cycles
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:581,1
    - Dst: handle_interrupt
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:582,1
    - Dst: checkasm_measure_perf_scale
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:583,1
    - Dst: free
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:586,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - CheckasmCpuInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 589
    functionName: check_cpu_flag
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 0
    functionsReached:
    - wildstrcmp
    - checkasm_measure_nop_cycles
    - checkasm_save_context
    - checkasm_report
    - strlen
    - handle_interrupt
    - checkasm_srand
    - checkasm_get_last_signal_desc
    - CheckasmTest*::func
    - checkasm_measure_perf_scale
    - free
    - set_cpu_flags
    - checkasm_fail_func
    - cpu_suffix
    linkageType: ''
    returnType: void
    signature: void check_cpu_flag(const CheckasmCpuInfo *cpu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:595,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 599
    functionName: print_cpu_name
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 0
    functionsReached:
    - checkasm_fprintf
    linkageType: ''
    returnType: void
    signature: void print_cpu_name(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pthread_getaffinity_np
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:605,1
    - Dst: pthread_self
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:605,1
    - Dst: CPU_ISSET
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:610,1
    - Dst: CPU_ZERO
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:612,1
    - Dst: CPU_SET
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:613,1
    - Dst: pthread_setaffinity_np
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:614,1
    - Dst: pthread_self
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:614,1
    - Dst: func
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:618,1
    - Dst: pthread_setaffinity_np
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:621,1
    - Dst: pthread_self
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:621,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 626
    functionName: checkasm_run_on_all_cores
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 0
    functionsReached:
    - pthread_getaffinity_np
    - CPU_SET
    - pthread_setaffinity_np
    - func
    - CPU_ZERO
    - CPU_ISSET
    - pthread_self
    linkageType: ''
    returnType: int
    signature: int checkasm_run_on_all_cores(void (*func)(void))
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentProcess
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:633,1
    - Dst: WINAPI_FAMILY_PARTITION
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:634,1
    - Dst: GetProcAddress
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:635,1
    - Dst: GetModuleHandleW
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:636,1
    - Dst: spdcs
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:638,1
    - Dst: SetProcessAffinityMask
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:643,1
    - Dst: CPU_ZERO
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:649,1
    - Dst: CPU_SET
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:650,1
    - Dst: pthread_setaffinity_np
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:651,1
    - Dst: pthread_self
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:651,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:655,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:660,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:663,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - affinity
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 666
    functionName: set_cpu_affinity
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 0
    functionsReached:
    - CPU_SET
    - pthread_setaffinity_np
    - fprintf
    - GetCurrentProcess
    - WINAPI_FAMILY_PARTITION
    - CPU_ZERO
    - GetProcAddress
    - pthread_self
    - GetModuleHandleW
    - SetProcessAffinityMask
    - spdcs
    linkageType: ''
    returnType: int
    signature: int set_cpu_affinity(const unsigned affinity)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_setup_fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:670,1
    - Dst: checkasm_fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:674,1
    - Dst: checkasm_fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:676,1
    - Dst: printf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:677,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - CheckasmConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 679
    functionName: checkasm_list_cpu_flags
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 0
    functionsReached:
    - printf
    - checkasm_setup_fprintf
    - checkasm_fprintf
    linkageType: ''
    returnType: void
    signature: void checkasm_list_cpu_flags(const CheckasmConfig *cfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - config
    argTypes:
    - CheckasmConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 685
    functionName: checkasm_list_tests
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void checkasm_list_tests(const CheckasmConfig *config)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_functions
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:690,1
    - Dst: printf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:692,1
    - Dst: ver_suffix
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:692,1
    - Dst: printf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:694,1
    - Dst: ver_suffix
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:694,1
    - Dst: printf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:695,1
    - Dst: print_functions
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:696,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - f
    argTypes:
    - CheckasmFunc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 687
    functionDepth: 2
    functionLinenumber: 687
    functionLinenumberEnd: 698
    functionName: print_functions
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 1
    functionsReached:
    - print_functions
    - printf
    - ver_suffix
    linkageType: ''
    returnType: void
    signature: void print_functions(const CheckasmFunc *const f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:702,1
    - Dst: memset
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:703,1
    - Dst: check_cpu_flag
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:707,1
    - Dst: check_cpu_flag
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:709,1
    - Dst: print_functions
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:711,1
    - Dst: checkasm_func_tree_uninit
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:712,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - config
    argTypes:
    - CheckasmConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 700
    functionDepth: 3
    functionLinenumber: 700
    functionLinenumberEnd: 713
    functionName: checkasm_list_functions
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 0
    functionsReached:
    - print_functions
    - checkasm_func_tree_uninit
    - check_cpu_flag
    - memset
    linkageType: ''
    returnType: void
    signature: void checkasm_list_functions(const CheckasmConfig *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:720,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:721,1
    - Dst: vfprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:722,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:723,1
    - Dst: va_end
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - priv
    - fmt
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 725
    functionName: cpu_fprintf
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 0
    functionsReached:
    - fprintf
    - va_end
    - vfprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: void cpu_fprintf(void *priv, const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:729,1
    - Dst: checkasm_cpu_info
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:730,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:733,1
    - Dst: checkasm_measurement_result
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:735,1
    - Dst: checkasm_measurement_result
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:736,1
    - Dst: checkasm_var_div
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:737,1
    - Dst: checkasm_var_const
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:737,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:738,1
    - Dst: checkasm_mode
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:741,1
    - Dst: checkasm_stddev
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:741,1
    - Dst: checkasm_mode
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:742,1
    - Dst: checkasm_stddev
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:742,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:744,1
    - Dst: checkasm_mode
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:746,1
    - Dst: checkasm_stddev
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:746,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:749,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 727
    functionDepth: 3
    functionLinenumber: 727
    functionLinenumberEnd: 753
    functionName: print_info
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 0
    functionsReached:
    - checkasm_var_const
    - checkasm_fprintf
    - fprintf
    - checkasm_mode
    - checkasm_cpu_info
    - checkasm_stddev
    - checkasm_measurement_result
    - checkasm_var_div
    linkageType: ''
    returnType: COLD
    signature: COLD print_info(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:760,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:763,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:765,1
    - Dst: print_benchmarks
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:769,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 755
    functionDepth: 5
    functionLinenumber: 755
    functionLinenumberEnd: 772
    functionName: print_summary
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 0
    functionsReached:
    - fprintf
    - print_benchmarks
    linkageType: ''
    returnType: int
    signature: int print_summary(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:777,1
    - Dst: print_summary
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:778,1
    - Dst: exit
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 774
    functionDepth: 6
    functionLinenumber: 774
    functionLinenumberEnd: 781
    functionName: handle_interrupt
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 1
    functionsReached:
    - fprintf
    - exit
    - print_summary
    linkageType: ''
    returnType: void
    signature: void handle_interrupt(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:787,1
    - Dst: memset
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:792,1
    - Dst: memset
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:793,1
    - Dst: checkasm_set_signal_handlers
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:796,1
    - Dst: prctl
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:798,1
    - Dst: set_cpu_affinity
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:801,1
    - Dst: checkasm_setup_fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:802,1
    - Dst: checkasm_seed
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:805,1
    - Dst: checkasm_perf_init
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:812,1
    - Dst: checkasm_stats_reset
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:815,1
    - Dst: checkasm_measurement_init
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:816,1
    - Dst: checkasm_measurement_init
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:817,1
    - Dst: checkasm_measure_perf_scale
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:818,1
    - Dst: checkasm_measurement_result
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:822,1
    - Dst: checkasm_sample
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:823,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:825,1
    - Dst: checkasm_mode
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:828,1
    - Dst: checkasm_measure_nop_cycles
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:833,1
    - Dst: checkasm_init_cpu
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:836,1
    - Dst: print_info
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:838,1
    - Dst: checkasm_fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:842,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:843,1
    - Dst: check_cpu_flag
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:846,1
    - Dst: check_cpu_flag
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:848,1
    - Dst: print_summary
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:850,1
    - Dst: checkasm_func_tree_uninit
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:851,1
    - Dst: memset
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:855,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 1
    argNames:
    - config
    argTypes:
    - CheckasmConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 783
    functionDepth: 6
    functionLinenumber: 783
    functionLinenumberEnd: 860
    functionName: checkasm_run
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 0
    functionsReached:
    - checkasm_measure_nop_cycles
    - checkasm_measurement_init
    - checkasm_mode
    - checkasm_stats_reset
    - checkasm_measurement_result
    - checkasm_init_cpu
    - checkasm_fprintf
    - check_cpu_flag
    - prctl
    - checkasm_func_tree_uninit
    - checkasm_sample
    - print_info
    - fprintf
    - checkasm_setup_fprintf
    - print_summary
    - checkasm_seed
    - memset
    - checkasm_set_signal_handlers
    - checkasm_perf_init
    - checkasm_measure_perf_scale
    - set_cpu_affinity
    linkageType: ''
    returnType: int
    signature: int checkasm_run(const CheckasmConfig *config)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:873,1
    - Dst: vsnprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:874,1
    - Dst: va_end
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:875,1
    - Dst: wildstrcmp
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:878,1
    - Dst: checkasm_func_get
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:881,1
    - Dst: checkasm_mallocz
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:917,1
    - Dst: strlen
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:923,1
    - Dst: checkasm_srand
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:951,1
    - Dst: checkasm_simd_warmup
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:955,1
    - Dst: checkasm_measurement_init
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:957,1
    - Dst: free
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:963,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 70
    argCount: 2
    argNames:
    - version
    - name
    argTypes:
    - CheckasmKey
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 865
    functionDepth: 2
    functionLinenumber: 865
    functionLinenumberEnd: 966
    functionName: checkasm_check_key
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 0
    functionsReached:
    - wildstrcmp
    - va_start
    - checkasm_simd_warmup
    - strlen
    - checkasm_measurement_init
    - checkasm_srand
    - free
    - checkasm_func_get
    - vsnprintf
    - va_end
    - checkasm_mallocz
    linkageType: ''
    returnType: CheckasmKey
    signature: CheckasmKey checkasm_check_key(const CheckasmKey version, const char
      *const name, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:971,1
    - Dst: assert
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:972,1
    - Dst: checkasm_vasprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:973,1
    - Dst: va_end
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - id_fmt
    argTypes:
    - char*
    assertStmts:
    - condition: (!current.func_variant)
      pos:
        line_end: 971
        line_start: 971
        source_file: /src/vlc/test/checkasm/ext/src/checkasm.c
    constantsTouched: []
    func_position:
      end: 975
      start: 968
    functionDepth: 1
    functionLinenumber: 968
    functionLinenumberEnd: 975
    functionName: checkasm_set_func_variant
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 0
    functionsReached:
    - va_end
    - assert
    - checkasm_vasprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: void checkasm_set_func_variant(const char *id_fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: print_cpu_name
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:984,1
    - Dst: checkasm_fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:985,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:986,1
    - Dst: ver_suffix
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:986,1
    - Dst: vfprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:987,1
    - Dst: fputs
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:988,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 979
    functionDepth: 2
    functionLinenumber: 979
    functionLinenumberEnd: 995
    functionName: fail_internal
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 0
    functionsReached:
    - checkasm_fprintf
    - fprintf
    - print_cpu_name
    - fputs
    - ver_suffix
    - vfprintf
    linkageType: ''
    returnType: int
    signature: int fail_internal(const char *const msg, va_list arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1000,1
    - Dst: fail_internal
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1001,1
    - Dst: va_end
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 997
    functionDepth: 3
    functionLinenumber: 997
    functionLinenumberEnd: 1004
    functionName: checkasm_fail_func
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 1
    functionsReached:
    - va_end
    - fail_internal
    - va_start
    linkageType: ''
    returnType: int
    signature: int checkasm_fail_func(const char *const msg, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1009,1
    - Dst: fail_internal
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1010,1
    - Dst: va_end
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1011,1
    - Dst: checkasm_load_context
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1013,1
    - Dst: abort
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1006
    functionDepth: 3
    functionLinenumber: 1006
    functionLinenumberEnd: 1015
    functionName: checkasm_fail_abort
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 0
    functionsReached:
    - abort
    - va_start
    - checkasm_load_context
    - va_end
    - fail_internal
    linkageType: ''
    returnType: void
    signature: void checkasm_fail_abort(const char *const msg, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cpu_flags
    argTypes:
    - CheckasmCpu
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1028
    functionName: checkasm_should_fail
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int checkasm_should_fail(CheckasmCpu cpu_flags)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1037,1
    - Dst: va_start
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1040,1
    - Dst: vsnprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1041,1
    - Dst: va_end
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1042,1
    - Dst: assert
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1051,1
    - Dst: print_cpu_name
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1063,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1065,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1067,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1069,1
    - Dst: imax
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1069,1
    - Dst: checkasm_fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1072,1
    - Dst: checkasm_fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1075,1
    - Dst: checkasm_fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1077,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1078,1
    - Dst: checkasm_strdup
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1089,1
    - Dst: handle_interrupt
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1095,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts:
    - condition: (!state.skip_tests)
      pos:
        line_end: 1050
        line_start: 1050
        source_file: /src/vlc/test/checkasm/ext/src/checkasm.c
    constantsTouched: []
    func_position:
      end: 1096
      start: 1032
    functionDepth: 7
    functionLinenumber: 1032
    functionLinenumberEnd: 1096
    functionName: checkasm_report
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 13
    functionsReached:
    - assert
    - checkasm_strdup
    - checkasm_fprintf
    - va_start
    - strlen
    - print_cpu_name
    - fprintf
    - handle_interrupt
    - imax
    - vsnprintf
    - va_end
    linkageType: ''
    returnType: void
    signature: void checkasm_report(const char *const name, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - progname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1121
    functionName: print_usage
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_usage(const char *const progname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1128,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - dst
    - str
    - base
    argTypes:
    - unsigned*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1140
    functionName: parseu
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 0
    functionsReached:
    - strtoul
    linkageType: ''
    returnType: int
    signature: int parseu(unsigned *const dst, const char *const str, const int base)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1145,1
    - Dst: strcmp
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1145,1
    - Dst: print_usage
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1146,1
    - Dst: strcmp
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1148,1
    - Dst: strcmp
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1149,1
    - Dst: checkasm_list_cpu_flags
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1150,1
    - Dst: strcmp
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1152,1
    - Dst: checkasm_list_tests
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1153,1
    - Dst: strcmp
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1155,1
    - Dst: checkasm_list_functions
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1156,1
    - Dst: strcmp
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1158,1
    - Dst: strcmp
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1158,1
    - Dst: strncmp
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1160,1
    - Dst: strcmp
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1163,1
    - Dst: strcmp
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1165,1
    - Dst: strcmp
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1167,1
    - Dst: strcmp
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1169,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1173,1
    - Dst: strncmp
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1176,1
    - Dst: parseu
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1178,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1179,1
    - Dst: print_usage
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1180,1
    - Dst: strncmp
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1183,1
    - Dst: strcmp
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1185,1
    - Dst: strncmp
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1189,1
    - Dst: strcmp
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1191,1
    - Dst: strcmp
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1195,1
    - Dst: strcmp
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1195,1
    - Dst: strncmp
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1197,1
    - Dst: parseu
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1200,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1201,1
    - Dst: print_usage
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1202,1
    - Dst: strncmp
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1205,1
    - Dst: parseu
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1207,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1208,1
    - Dst: print_usage
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1209,1
    - Dst: strcmp
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1212,1
    - Dst: parseu
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1216,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1217,1
    - Dst: print_usage
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1218,1
    - Dst: checkasm_run
      Src: /src/vlc/test/checkasm/ext/src/checkasm.c:1227,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 94
    argCount: 3
    argNames:
    - config
    - argc
    - argv
    argTypes:
    - CheckasmConfig*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1142
    functionDepth: 7
    functionLinenumber: 1142
    functionLinenumberEnd: 1228
    functionName: checkasm_main
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm.c
    functionUses: 1
    functionsReached:
    - print_usage
    - checkasm_run
    - fprintf
    - checkasm_list_tests
    - checkasm_list_functions
    - strncmp
    - strcmp
    - parseu
    - checkasm_list_cpu_flags
    linkageType: ''
    returnType: int
    signature: int checkasm_main(CheckasmConfig *config, int argc, const char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/test/checkasm/ext/src/function.c:45,1
    - Dst: free
      Src: /src/vlc/test/checkasm/ext/src/function.c:46,1
    - Dst: free
      Src: /src/vlc/test/checkasm/ext/src/function.c:52,1
    - Dst: free
      Src: /src/vlc/test/checkasm/ext/src/function.c:53,1
    - Dst: func_uninit
      Src: /src/vlc/test/checkasm/ext/src/function.c:55,1
    - Dst: func_uninit
      Src: /src/vlc/test/checkasm/ext/src/function.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - f
    argTypes:
    - CheckasmFunc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 57
    functionName: func_uninit
    functionSourceFile: /src/vlc/test/checkasm/ext/src/function.c
    functionUses: 1
    functionsReached:
    - free
    - func_uninit
    linkageType: ''
    returnType: void
    signature: void func_uninit(CheckasmFunc *const f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: func_uninit
      Src: /src/vlc/test/checkasm/ext/src/function.c:61,1
    - Dst: memset
      Src: /src/vlc/test/checkasm/ext/src/function.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tree
    argTypes:
    - CheckasmFuncTree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: checkasm_func_tree_uninit
    functionSourceFile: /src/vlc/test/checkasm/ext/src/function.c
    functionUses: 2
    functionsReached:
    - func_uninit
    - memset
    linkageType: ''
    returnType: void
    signature: void checkasm_func_tree_uninit(CheckasmFuncTree *tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: is_digit
    functionSourceFile: /src/vlc/test/checkasm/ext/src/function.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_digit(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_digit
      Src: /src/vlc/test/checkasm/ext/src/function.c:76,1
    - Dst: is_digit
      Src: /src/vlc/test/checkasm/ext/src/function.c:76,1
    - Dst: is_digit
      Src: /src/vlc/test/checkasm/ext/src/function.c:79,1
    - Dst: is_digit
      Src: /src/vlc/test/checkasm/ext/src/function.c:79,1
    - Dst: is_digit
      Src: /src/vlc/test/checkasm/ext/src/function.c:79,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 83
    functionName: cmp_func_names
    functionSourceFile: /src/vlc/test/checkasm/ext/src/function.c
    functionUses: 0
    functionsReached:
    - is_digit
    linkageType: ''
    returnType: int
    signature: int cmp_func_names(const char *a, const char *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - f
    - dir
    argTypes:
    - CheckasmFunc*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: tree_rotate
    functionSourceFile: /src/vlc/test/checkasm/ext/src/function.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CheckasmFunc
    signature: CheckasmFunc *tree_rotate(CheckasmFunc *const f, const int dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: is_red
    functionSourceFile: /src/vlc/test/checkasm/ext/src/function.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_red(f)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_red
      Src: /src/vlc/test/checkasm/ext/src/function.c:104,1
    - Dst: is_red
      Src: /src/vlc/test/checkasm/ext/src/function.c:104,1
    - Dst: is_red
      Src: /src/vlc/test/checkasm/ext/src/function.c:107,1
    - Dst: is_red
      Src: /src/vlc/test/checkasm/ext/src/function.c:107,1
    - Dst: tree_rotate
      Src: /src/vlc/test/checkasm/ext/src/function.c:108,1
    - Dst: is_red
      Src: /src/vlc/test/checkasm/ext/src/function.c:109,1
    - Dst: is_red
      Src: /src/vlc/test/checkasm/ext/src/function.c:109,1
    - Dst: tree_rotate
      Src: /src/vlc/test/checkasm/ext/src/function.c:110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - root
    argTypes:
    - CheckasmFunc**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 111
    functionName: tree_balance
    functionSourceFile: /src/vlc/test/checkasm/ext/src/function.c
    functionUses: 0
    functionsReached:
    - tree_rotate
    - is_red
    linkageType: ''
    returnType: void
    signature: void tree_balance(CheckasmFunc **const root)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/test/checkasm/ext/src/function.c:121,1
    - Dst: checkasm_mallocz
      Src: /src/vlc/test/checkasm/ext/src/function.c:122,1
    - Dst: memcpy
      Src: /src/vlc/test/checkasm/ext/src/function.c:123,1
    - Dst: cmp_func_names
      Src: /src/vlc/test/checkasm/ext/src/function.c:129,1
    - Dst: func_get
      Src: /src/vlc/test/checkasm/ext/src/function.c:135,1
    - Dst: tree_balance
      Src: /src/vlc/test/checkasm/ext/src/function.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - root
    - name
    - out_func
    argTypes:
    - CheckasmFunc**
    - char*
    - CheckasmFunc**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 139
    functionName: func_get
    functionSourceFile: /src/vlc/test/checkasm/ext/src/function.c
    functionUses: 2
    functionsReached:
    - cmp_func_names
    - strlen
    - memcpy
    - func_get
    - checkasm_mallocz
    - tree_balance
    linkageType: ''
    returnType: int
    signature: "int func_get(CheckasmFunc **const root, const char *const name,\n
      \                   CheckasmFunc **const out_func)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: func_get
      Src: /src/vlc/test/checkasm/ext/src/function.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - tree
    - name
    argTypes:
    - CheckasmFuncTree*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 148
    functionName: checkasm_func_get
    functionSourceFile: /src/vlc/test/checkasm/ext/src/function.c
    functionUses: 1
    functionsReached:
    - func_get
    linkageType: ''
    returnType: CheckasmFunc
    signature: CheckasmFunc *checkasm_func_get(CheckasmFuncTree *tree, const char
      *const name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - struct
    argTypes:
    - typedef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: PACKED
    functionSourceFile: /src/vlc/test/checkasm/ext/src/cpu.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PACKED(typedef struct
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: checkasm_save_context
    functionSourceFile: /src/vlc/test/checkasm/ext/src/longjmp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_save_context(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: checkasm_load_context
    functionSourceFile: /src/vlc/test/checkasm/ext/src/longjmp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_load_context(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: checkasm_save_context
    functionSourceFile: /src/vlc/test/checkasm/ext/src/longjmp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_save_context(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: checkasm_load_context
    functionSourceFile: /src/vlc/test/checkasm/ext/src/longjmp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_load_context(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: checkasm_save_context
    functionSourceFile: /src/vlc/test/checkasm/ext/src/longjmp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_save_context(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: checkasm_load_context
    functionSourceFile: /src/vlc/test/checkasm/ext/src/longjmp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_load_context(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: checkasm_save_context
    functionSourceFile: /src/vlc/test/checkasm/ext/src/longjmp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_save_context(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: __has_include
    functionSourceFile: /src/vlc/test/checkasm/ext/src/checkasm_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __has_include(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: checkasm_noop
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NOINLINE
    signature: NOINLINE checkasm_noop(void *ptr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QueryPerformanceFrequency
      Src: /src/vlc/test/checkasm/ext/src/utils.c:74,1
    - Dst: QueryPerformanceCounter
      Src: /src/vlc/test/checkasm/ext/src/utils.c:77,1
    - Dst: UINT64_C
      Src: /src/vlc/test/checkasm/ext/src/utils.c:79,1
    - Dst: mach_timebase_info
      Src: /src/vlc/test/checkasm/ext/src/utils.c:83,1
    - Dst: mach_absolute_time
      Src: /src/vlc/test/checkasm/ext/src/utils.c:86,1
    - Dst: clock_gettime
      Src: /src/vlc/test/checkasm/ext/src/utils.c:99,1
    - Dst: UINT64_C
      Src: /src/vlc/test/checkasm/ext/src/utils.c:101,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - is_seed
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 105
    functionName: gettime_nsec
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached:
    - mach_absolute_time
    - QueryPerformanceCounter
    - QueryPerformanceFrequency
    - UINT64_C
    - clock_gettime
    - mach_timebase_info
    linkageType: ''
    returnType: ALWAYS_INLINE
    signature: ALWAYS_INLINE gettime_nsec(int is_seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettime_nsec
      Src: /src/vlc/test/checkasm/ext/src/utils.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: checkasm_gettime_nsec
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached:
    - gettime_nsec
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t checkasm_gettime_nsec(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettime_nsec
      Src: /src/vlc/test/checkasm/ext/src/utils.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: checkasm_gettime_nsec_diff
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached:
    - gettime_nsec
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t checkasm_gettime_nsec_diff(uint64_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettime_nsec
      Src: /src/vlc/test/checkasm/ext/src/utils.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: checkasm_seed
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 1
    functionsReached:
    - gettime_nsec
    linkageType: ''
    returnType: unsigned
    signature: unsigned checkasm_seed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - seed
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: checkasm_srand
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void checkasm_srand(unsigned seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 146
    functionName: checkasm_rand_uint32
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t checkasm_rand_uint32(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_rand_uint32
      Src: /src/vlc/test/checkasm/ext/src/utils.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 157
    functionName: checkasm_rand_int32
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached:
    - checkasm_rand_uint32
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkasm_rand_int32(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_rand_uint32
      Src: /src/vlc/test/checkasm/ext/src/utils.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: checkasm_rand
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached:
    - checkasm_rand_uint32
    linkageType: ''
    returnType: int
    signature: int checkasm_rand(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_rand_uint32
      Src: /src/vlc/test/checkasm/ext/src/utils.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: checkasm_randf
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached:
    - checkasm_rand_uint32
    linkageType: ''
    returnType: double
    signature: double checkasm_randf(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_rand_uint32
      Src: /src/vlc/test/checkasm/ext/src/utils.c:175,1
    - Dst: checkasm_rand_uint32
      Src: /src/vlc/test/checkasm/ext/src/utils.c:176,1
    - Dst: sqrt
      Src: /src/vlc/test/checkasm/ext/src/utils.c:180,1
    - Dst: log
      Src: /src/vlc/test/checkasm/ext/src/utils.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - z2
    argTypes:
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 183
    functionName: marsaglia
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached:
    - checkasm_rand_uint32
    - log
    - sqrt
    linkageType: ''
    returnType: double
    signature: double marsaglia(double *z2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: marsaglia
      Src: /src/vlc/test/checkasm/ext/src/utils.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: checkasm_rand_norm
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached:
    - marsaglia
    linkageType: ''
    returnType: double
    signature: double checkasm_rand_norm(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_rand_norm
      Src: /src/vlc/test/checkasm/ext/src/utils.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dist
    argTypes:
    - CheckasmDist
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: checkasm_rand_dist
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached:
    - checkasm_rand_norm
    linkageType: ''
    returnType: double
    signature: double checkasm_rand_dist(CheckasmDist dist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_rand_uint32
      Src: /src/vlc/test/checkasm/ext/src/utils.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - bufp
    - bytes
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: checkasm_randomize
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached:
    - checkasm_rand_uint32
    linkageType: ''
    returnType: void
    signature: void checkasm_randomize(void *bufp, size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_rand_uint32
      Src: /src/vlc/test/checkasm/ext/src/utils.c:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - width
    - mask
    argTypes:
    - uint8_t*
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: checkasm_randomize_mask8
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached:
    - checkasm_rand_uint32
    linkageType: ''
    returnType: void
    signature: void checkasm_randomize_mask8(uint8_t *buf, int width, uint8_t mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_rand_uint32
      Src: /src/vlc/test/checkasm/ext/src/utils.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - width
    - mask
    argTypes:
    - uint16_t*
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: checkasm_randomize_mask16
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached:
    - checkasm_rand_uint32
    linkageType: ''
    returnType: void
    signature: void checkasm_randomize_mask16(uint16_t *buf, int width, uint16_t mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_randf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - width
    - range
    argTypes:
    - double*
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: checkasm_randomize_range
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached:
    - checkasm_randf
    linkageType: ''
    returnType: void
    signature: void checkasm_randomize_range(double *buf, int width, double range)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_randf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - width
    - range
    argTypes:
    - float*
    - int
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 230
    functionName: checkasm_randomize_rangef
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached:
    - checkasm_randf
    linkageType: ''
    returnType: void
    signature: void checkasm_randomize_rangef(float *buf, int width, float range)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - buf
    - ','
    - ftype
    - ','
    - width
    - ','
    - mean
    - ','
    - stddev
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 246
    functionName: RANDOMIZE_DIST
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RANDOMIZE_DIST(buf, ftype, width, mean, stddev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - width
    - dist
    argTypes:
    - double*
    - int
    - CheckasmDist
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: checkasm_randomize_dist
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void checkasm_randomize_dist(double *buf, int width, CheckasmDist dist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - width
    - dist
    argTypes:
    - float*
    - int
    - CheckasmDist
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: checkasm_randomize_distf
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void checkasm_randomize_distf(float *buf, int width, CheckasmDist dist)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/test/checkasm/ext/src/utils.c:269,1
    - Dst: memset
      Src: /src/vlc/test/checkasm/ext/src/utils.c:274,1
    - Dst: stdc_leading_zeros_ui
      Src: /src/vlc/test/checkasm/ext/src/utils.c:288,1
    - Dst: _BitScanReverse
      Src: /src/vlc/test/checkasm/ext/src/utils.c:297,1
    - Dst: __builtin_clz
      Src: /src/vlc/test/checkasm/ext/src/utils.c:304,1
    - Dst: clz
      Src: /src/vlc/test/checkasm/ext/src/utils.c:311,1
    - Dst: checkasm_rand
      Src: /src/vlc/test/checkasm/ext/src/utils.c:312,1
    - Dst: checkasm_init_mask8
      Src: /src/vlc/test/checkasm/ext/src/utils.c:328,1
    - Dst: DEF_CHECKASM_INIT_MASK
      Src: /src/vlc/test/checkasm/ext/src/utils.c:360,1
    - Dst: DEF_CHECKASM_INIT_MASK
      Src: /src/vlc/test/checkasm/ext/src/utils.c:361,1
    - Dst: checkasm_fprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:366,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:372,1
    - Dst: va_start
      Src: /src/vlc/test/checkasm/ext/src/utils.c:374,1
    - Dst: vfprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:375,1
    - Dst: va_end
      Src: /src/vlc/test/checkasm/ext/src/utils.c:376,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:379,1
    - Dst: WINAPI_FAMILY_PARTITION
      Src: /src/vlc/test/checkasm/ext/src/utils.c:385,1
    - Dst: GetStdHandle
      Src: /src/vlc/test/checkasm/ext/src/utils.c:386,1
    - Dst: GetConsoleMode
      Src: /src/vlc/test/checkasm/ext/src/utils.c:388,1
    - Dst: SetConsoleMode
      Src: /src/vlc/test/checkasm/ext/src/utils.c:389,1
    - Dst: isatty
      Src: /src/vlc/test/checkasm/ext/src/utils.c:394,1
    - Dst: getenv
      Src: /src/vlc/test/checkasm/ext/src/utils.c:395,1
    - Dst: strcmp
      Src: /src/vlc/test/checkasm/ext/src/utils.c:396,1
    - Dst: should_use_color
      Src: /src/vlc/test/checkasm/ext/src/utils.c:406,1
    - Dst: should_use_color
      Src: /src/vlc/test/checkasm/ext/src/utils.c:407,1
    - Dst: GetConsoleScreenBufferInfo
      Src: /src/vlc/test/checkasm/ext/src/utils.c:414,1
    - Dst: GetStdHandle
      Src: /src/vlc/test/checkasm/ext/src/utils.c:414,1
    - Dst: _scrsize
      Src: /src/vlc/test/checkasm/ext/src/utils.c:418,1
    - Dst: ioctl
      Src: /src/vlc/test/checkasm/ext/src/utils.c:422,1
    - Dst: assert
      Src: /src/vlc/test/checkasm/ext/src/utils.c:430,1
    - Dst: fputs
      Src: /src/vlc/test/checkasm/ext/src/utils.c:431,1
    - Dst: fputc
      Src: /src/vlc/test/checkasm/ext/src/utils.c:433,1
    - Dst: va_start
      Src: /src/vlc/test/checkasm/ext/src/utils.c:436,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:438,1
    - Dst: vfprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:439,1
    - Dst: va_end
      Src: /src/vlc/test/checkasm/ext/src/utils.c:440,1
    - Dst: assert
      Src: /src/vlc/test/checkasm/ext/src/utils.c:446,1
    - Dst: fputs
      Src: /src/vlc/test/checkasm/ext/src/utils.c:447,1
    - Dst: fputc
      Src: /src/vlc/test/checkasm/ext/src/utils.c:449,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:452,1
    - Dst: fputc
      Src: /src/vlc/test/checkasm/ext/src/utils.c:454,1
    - Dst: fputs
      Src: /src/vlc/test/checkasm/ext/src/utils.c:458,1
    - Dst: fputs
      Src: /src/vlc/test/checkasm/ext/src/utils.c:459,1
    - Dst: fputs
      Src: /src/vlc/test/checkasm/ext/src/utils.c:460,1
    - Dst: fputc
      Src: /src/vlc/test/checkasm/ext/src/utils.c:461,1
    - Dst: fputc
      Src: /src/vlc/test/checkasm/ext/src/utils.c:465,1
    - Dst: fputs
      Src: /src/vlc/test/checkasm/ext/src/utils.c:471,1
    - Dst: fputc
      Src: /src/vlc/test/checkasm/ext/src/utils.c:473,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:476,1
    - Dst: fputc
      Src: /src/vlc/test/checkasm/ext/src/utils.c:478,1
    - Dst: assert
      Src: /src/vlc/test/checkasm/ext/src/utils.c:487,1
    - Dst: fputc
      Src: /src/vlc/test/checkasm/ext/src/utils.c:490,1
    - Dst: fputc
      Src: /src/vlc/test/checkasm/ext/src/utils.c:492,1
    - Dst: fputc
      Src: /src/vlc/test/checkasm/ext/src/utils.c:494,1
    - Dst: is_negative
      Src: /src/vlc/test/checkasm/ext/src/utils.c:516,1
    - Dst: is_negative
      Src: /src/vlc/test/checkasm/ext/src/utils.c:516,1
    - Dst: llabs
      Src: /src/vlc/test/checkasm/ext/src/utils.c:521,1
    - Dst: float_near_ulp
      Src: /src/vlc/test/checkasm/ext/src/utils.c:531,1
    - Dst: fabsf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:539,1
    - Dst: float_near_abs_eps
      Src: /src/vlc/test/checkasm/ext/src/utils.c:546,1
    - Dst: float_near_ulp
      Src: /src/vlc/test/checkasm/ext/src/utils.c:555,1
    - Dst: float_near_abs_eps
      Src: /src/vlc/test/checkasm/ext/src/utils.c:555,1
    - Dst: float_near_abs_eps_ulp
      Src: /src/vlc/test/checkasm/ext/src/utils.c:563,1
    - Dst: fabs
      Src: /src/vlc/test/checkasm/ext/src/utils.c:571,1
    - Dst: double_near_abs_eps
      Src: /src/vlc/test/checkasm/ext/src/utils.c:578,1
    - Dst: checkasm_fail_func
      Src: /src/vlc/test/checkasm/ext/src/utils.c:589,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:592,1
    - Dst: checkasm_fprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:618,1
    - Dst: PRINT_LINE
      Src: /src/vlc/test/checkasm/ext/src/utils.c:621,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:622,1
    - Dst: PRINT_LINE
      Src: /src/vlc/test/checkasm/ext/src/utils.c:623,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:624,1
    - Dst: checkasm_fprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:627,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:629,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:631,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 165
    argCount: 2
    argNames:
    - buf
    - width
    argTypes:
    - double*
    - int
    assertStmts:
    - condition: (json->level > 0)
      pos:
        line_end: 429
        line_start: 429
        source_file: /src/vlc/test/checkasm/ext/src/utils.c
    - condition: (json->level > 0)
      pos:
        line_end: 445
        line_start: 445
        source_file: /src/vlc/test/checkasm/ext/src/utils.c
    - condition: (json->level >= 2)
      pos:
        line_end: 486
        line_start: 486
        source_file: /src/vlc/test/checkasm/ext/src/utils.c
    constantsTouched: []
    func_position:
      end: 635
      start: 257
    functionDepth: 4
    functionLinenumber: 257
    functionLinenumberEnd: 635
    functionName: checkasm_randomize_norm
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached:
    - llabs
    - assert
    - _BitScanReverse
    - fputs
    - __builtin_clz
    - getenv
    - GetConsoleMode
    - checkasm_fprintf
    - SetConsoleMode
    - float_near_ulp
    - checkasm_init_mask8
    - float_near_abs_eps_ulp
    - WINAPI_FAMILY_PARTITION
    - ioctl
    - GetConsoleScreenBufferInfo
    - fabs
    - GetStdHandle
    - clz
    - va_start
    - should_use_color
    - fprintf
    - DEF_CHECKASM_INIT_MASK
    - strcmp
    - va_end
    - vfprintf
    - isatty
    - checkasm_fail_func
    - fputc
    - stdc_leading_zeros_ui
    - is_negative
    - memset
    - float_near_abs_eps
    - checkasm_rand
    - _scrsize
    - fabsf
    - PRINT_LINE
    - double_near_abs_eps
    linkageType: ''
    returnType: void
    signature: void checkasm_randomize_norm(double *buf, int width)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/test/checkasm/ext/src/utils.c:269,1
    - Dst: memset
      Src: /src/vlc/test/checkasm/ext/src/utils.c:274,1
    - Dst: stdc_leading_zeros_ui
      Src: /src/vlc/test/checkasm/ext/src/utils.c:288,1
    - Dst: _BitScanReverse
      Src: /src/vlc/test/checkasm/ext/src/utils.c:297,1
    - Dst: __builtin_clz
      Src: /src/vlc/test/checkasm/ext/src/utils.c:304,1
    - Dst: clz
      Src: /src/vlc/test/checkasm/ext/src/utils.c:311,1
    - Dst: checkasm_rand
      Src: /src/vlc/test/checkasm/ext/src/utils.c:312,1
    - Dst: checkasm_init_mask8
      Src: /src/vlc/test/checkasm/ext/src/utils.c:328,1
    - Dst: DEF_CHECKASM_INIT_MASK
      Src: /src/vlc/test/checkasm/ext/src/utils.c:360,1
    - Dst: DEF_CHECKASM_INIT_MASK
      Src: /src/vlc/test/checkasm/ext/src/utils.c:361,1
    - Dst: checkasm_fprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:366,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:372,1
    - Dst: va_start
      Src: /src/vlc/test/checkasm/ext/src/utils.c:374,1
    - Dst: vfprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:375,1
    - Dst: va_end
      Src: /src/vlc/test/checkasm/ext/src/utils.c:376,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:379,1
    - Dst: WINAPI_FAMILY_PARTITION
      Src: /src/vlc/test/checkasm/ext/src/utils.c:385,1
    - Dst: GetStdHandle
      Src: /src/vlc/test/checkasm/ext/src/utils.c:386,1
    - Dst: GetConsoleMode
      Src: /src/vlc/test/checkasm/ext/src/utils.c:388,1
    - Dst: SetConsoleMode
      Src: /src/vlc/test/checkasm/ext/src/utils.c:389,1
    - Dst: isatty
      Src: /src/vlc/test/checkasm/ext/src/utils.c:394,1
    - Dst: getenv
      Src: /src/vlc/test/checkasm/ext/src/utils.c:395,1
    - Dst: strcmp
      Src: /src/vlc/test/checkasm/ext/src/utils.c:396,1
    - Dst: should_use_color
      Src: /src/vlc/test/checkasm/ext/src/utils.c:406,1
    - Dst: should_use_color
      Src: /src/vlc/test/checkasm/ext/src/utils.c:407,1
    - Dst: GetConsoleScreenBufferInfo
      Src: /src/vlc/test/checkasm/ext/src/utils.c:414,1
    - Dst: GetStdHandle
      Src: /src/vlc/test/checkasm/ext/src/utils.c:414,1
    - Dst: _scrsize
      Src: /src/vlc/test/checkasm/ext/src/utils.c:418,1
    - Dst: ioctl
      Src: /src/vlc/test/checkasm/ext/src/utils.c:422,1
    - Dst: assert
      Src: /src/vlc/test/checkasm/ext/src/utils.c:430,1
    - Dst: fputs
      Src: /src/vlc/test/checkasm/ext/src/utils.c:431,1
    - Dst: fputc
      Src: /src/vlc/test/checkasm/ext/src/utils.c:433,1
    - Dst: va_start
      Src: /src/vlc/test/checkasm/ext/src/utils.c:436,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:438,1
    - Dst: vfprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:439,1
    - Dst: va_end
      Src: /src/vlc/test/checkasm/ext/src/utils.c:440,1
    - Dst: assert
      Src: /src/vlc/test/checkasm/ext/src/utils.c:446,1
    - Dst: fputs
      Src: /src/vlc/test/checkasm/ext/src/utils.c:447,1
    - Dst: fputc
      Src: /src/vlc/test/checkasm/ext/src/utils.c:449,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:452,1
    - Dst: fputc
      Src: /src/vlc/test/checkasm/ext/src/utils.c:454,1
    - Dst: fputs
      Src: /src/vlc/test/checkasm/ext/src/utils.c:458,1
    - Dst: fputs
      Src: /src/vlc/test/checkasm/ext/src/utils.c:459,1
    - Dst: fputs
      Src: /src/vlc/test/checkasm/ext/src/utils.c:460,1
    - Dst: fputc
      Src: /src/vlc/test/checkasm/ext/src/utils.c:461,1
    - Dst: fputc
      Src: /src/vlc/test/checkasm/ext/src/utils.c:465,1
    - Dst: fputs
      Src: /src/vlc/test/checkasm/ext/src/utils.c:471,1
    - Dst: fputc
      Src: /src/vlc/test/checkasm/ext/src/utils.c:473,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:476,1
    - Dst: fputc
      Src: /src/vlc/test/checkasm/ext/src/utils.c:478,1
    - Dst: assert
      Src: /src/vlc/test/checkasm/ext/src/utils.c:487,1
    - Dst: fputc
      Src: /src/vlc/test/checkasm/ext/src/utils.c:490,1
    - Dst: fputc
      Src: /src/vlc/test/checkasm/ext/src/utils.c:492,1
    - Dst: fputc
      Src: /src/vlc/test/checkasm/ext/src/utils.c:494,1
    - Dst: is_negative
      Src: /src/vlc/test/checkasm/ext/src/utils.c:516,1
    - Dst: is_negative
      Src: /src/vlc/test/checkasm/ext/src/utils.c:516,1
    - Dst: llabs
      Src: /src/vlc/test/checkasm/ext/src/utils.c:521,1
    - Dst: float_near_ulp
      Src: /src/vlc/test/checkasm/ext/src/utils.c:531,1
    - Dst: fabsf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:539,1
    - Dst: float_near_abs_eps
      Src: /src/vlc/test/checkasm/ext/src/utils.c:546,1
    - Dst: float_near_ulp
      Src: /src/vlc/test/checkasm/ext/src/utils.c:555,1
    - Dst: float_near_abs_eps
      Src: /src/vlc/test/checkasm/ext/src/utils.c:555,1
    - Dst: float_near_abs_eps_ulp
      Src: /src/vlc/test/checkasm/ext/src/utils.c:563,1
    - Dst: fabs
      Src: /src/vlc/test/checkasm/ext/src/utils.c:571,1
    - Dst: double_near_abs_eps
      Src: /src/vlc/test/checkasm/ext/src/utils.c:578,1
    - Dst: checkasm_fail_func
      Src: /src/vlc/test/checkasm/ext/src/utils.c:589,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:592,1
    - Dst: checkasm_fprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:618,1
    - Dst: PRINT_LINE
      Src: /src/vlc/test/checkasm/ext/src/utils.c:621,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:622,1
    - Dst: PRINT_LINE
      Src: /src/vlc/test/checkasm/ext/src/utils.c:623,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:624,1
    - Dst: checkasm_fprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:627,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:629,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:631,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 162
    argCount: 1
    argNames:
    - checkasm_randomize_normf
    argTypes:
    - void
    assertStmts:
    - condition: (json->level > 0)
      pos:
        line_end: 429
        line_start: 429
        source_file: /src/vlc/test/checkasm/ext/src/utils.c
    - condition: (json->level > 0)
      pos:
        line_end: 445
        line_start: 445
        source_file: /src/vlc/test/checkasm/ext/src/utils.c
    - condition: (json->level >= 2)
      pos:
        line_end: 486
        line_start: 486
        source_file: /src/vlc/test/checkasm/ext/src/utils.c
    constantsTouched: []
    func_position:
      end: 632
      start: 259
    functionDepth: 4
    functionLinenumber: 259
    functionLinenumberEnd: 632
    functionName: RANDOMIZE_DIST
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached:
    - llabs
    - assert
    - _BitScanReverse
    - fputs
    - __builtin_clz
    - getenv
    - GetConsoleMode
    - checkasm_fprintf
    - SetConsoleMode
    - float_near_ulp
    - checkasm_init_mask8
    - float_near_abs_eps_ulp
    - WINAPI_FAMILY_PARTITION
    - ioctl
    - GetConsoleScreenBufferInfo
    - fabs
    - GetStdHandle
    - clz
    - va_start
    - should_use_color
    - fprintf
    - DEF_CHECKASM_INIT_MASK
    - strcmp
    - va_end
    - vfprintf
    - isatty
    - checkasm_fail_func
    - fputc
    - stdc_leading_zeros_ui
    - is_negative
    - memset
    - float_near_abs_eps
    - checkasm_rand
    - _scrsize
    - fabsf
    - PRINT_LINE
    - double_near_abs_eps
    linkageType: ''
    returnType: void
    signature: 'void RANDOMIZE_DIST(buf, double, width, 0.0, 1.0);

      }


      void checkasm_randomize_normf(float *buf, int width)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/test/checkasm/ext/src/utils.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - checkasm_clear
    argTypes:
    - void
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 270
    functionName: RANDOMIZE_DIST
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void RANDOMIZE_DIST(buf, float, width, 0.0, 1.0);

      }


      void checkasm_clear(void *buf, size_t bytes)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/test/checkasm/ext/src/utils.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - width
    - val
    argTypes:
    - uint8_t*
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: checkasm_clear8
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void checkasm_clear8(uint8_t *buf, int width, uint8_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - width
    - val
    argTypes:
    - uint16_t*
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: checkasm_clear16
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void checkasm_clear16(uint16_t *buf, int width, uint16_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_leading_zeros_ui
      Src: /src/vlc/test/checkasm/ext/src/utils.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mask
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: clz
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 2
    functionsReached:
    - stdc_leading_zeros_ui
    linkageType: ''
    returnType: int
    signature: int clz(const unsigned int mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _BitScanReverse
      Src: /src/vlc/test/checkasm/ext/src/utils.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mask
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 299
    functionName: clz
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 2
    functionsReached:
    - _BitScanReverse
    linkageType: ''
    returnType: int
    signature: int clz(const unsigned int mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_clz
      Src: /src/vlc/test/checkasm/ext/src/utils.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mask
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: clz
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 3
    functionsReached:
    - __builtin_clz
    linkageType: ''
    returnType: int
    signature: int clz(const unsigned int mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clz
      Src: /src/vlc/test/checkasm/ext/src/utils.c:311,1
    - Dst: checkasm_rand
      Src: /src/vlc/test/checkasm/ext/src/utils.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 313
    functionName: shift_rand
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached:
    - clz
    - checkasm_rand
    linkageType: ''
    returnType: int
    signature: int shift_rand(int x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_init_mask8
      Src: /src/vlc/test/checkasm/ext/src/utils.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - bytes
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 329
    functionName: checkasm_init
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached:
    - checkasm_init_mask8
    linkageType: ''
    returnType: void
    signature: void checkasm_init(void *buf, size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - BITS
    - ','
    - PIXEL
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 359
    functionName: DEF_CHECKASM_INIT_MASK
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEF_CHECKASM_INIT_MASK(BITS, PIXEL)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetConsoleScreenBufferInfo
      Src: /src/vlc/test/checkasm/ext/src/utils.c:414,1
    - Dst: GetStdHandle
      Src: /src/vlc/test/checkasm/ext/src/utils.c:414,1
    - Dst: _scrsize
      Src: /src/vlc/test/checkasm/ext/src/utils.c:418,1
    - Dst: ioctl
      Src: /src/vlc/test/checkasm/ext/src/utils.c:422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 426
    functionName: get_terminal_width
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached:
    - GetConsoleScreenBufferInfo
    - _scrsize
    - GetStdHandle
    - ioctl
    linkageType: ''
    returnType: int
    signature: int get_terminal_width(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/checkasm/ext/src/utils.c:430,1
    - Dst: fputs
      Src: /src/vlc/test/checkasm/ext/src/utils.c:431,1
    - Dst: fputc
      Src: /src/vlc/test/checkasm/ext/src/utils.c:433,1
    - Dst: va_start
      Src: /src/vlc/test/checkasm/ext/src/utils.c:436,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:438,1
    - Dst: vfprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:439,1
    - Dst: va_end
      Src: /src/vlc/test/checkasm/ext/src/utils.c:440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - json
    - key
    - fmt
    argTypes:
    - CheckasmJson*
    - char*
    - char*
    assertStmts:
    - condition: (json->level > 0)
      pos:
        line_end: 429
        line_start: 429
        source_file: /src/vlc/test/checkasm/ext/src/utils.c
    constantsTouched: []
    func_position:
      end: 442
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 442
    functionName: checkasm_json
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 4
    functionsReached:
    - fputc
    - assert
    - va_start
    - fprintf
    - fputs
    - va_end
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void checkasm_json(CheckasmJson *json, const char *key, const char
      *const fmt, ...)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/checkasm/ext/src/utils.c:446,1
    - Dst: fputs
      Src: /src/vlc/test/checkasm/ext/src/utils.c:447,1
    - Dst: fputc
      Src: /src/vlc/test/checkasm/ext/src/utils.c:449,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:452,1
    - Dst: fputc
      Src: /src/vlc/test/checkasm/ext/src/utils.c:454,1
    - Dst: fputs
      Src: /src/vlc/test/checkasm/ext/src/utils.c:458,1
    - Dst: fputs
      Src: /src/vlc/test/checkasm/ext/src/utils.c:459,1
    - Dst: fputs
      Src: /src/vlc/test/checkasm/ext/src/utils.c:460,1
    - Dst: fputc
      Src: /src/vlc/test/checkasm/ext/src/utils.c:461,1
    - Dst: fputc
      Src: /src/vlc/test/checkasm/ext/src/utils.c:465,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - json
    - key
    - str
    argTypes:
    - CheckasmJson*
    - char*
    - char*
    assertStmts:
    - condition: (json->level > 0)
      pos:
        line_end: 445
        line_start: 445
        source_file: /src/vlc/test/checkasm/ext/src/utils.c
    constantsTouched: []
    func_position:
      end: 467
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 467
    functionName: checkasm_json_str
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 4
    functionsReached:
    - fputs
    - fputc
    - fprintf
    - assert
    linkageType: ''
    returnType: void
    signature: void checkasm_json_str(CheckasmJson *json, const char *key, const char
      *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/vlc/test/checkasm/ext/src/utils.c:471,1
    - Dst: fputc
      Src: /src/vlc/test/checkasm/ext/src/utils.c:473,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:476,1
    - Dst: fputc
      Src: /src/vlc/test/checkasm/ext/src/utils.c:478,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - json
    - key
    - type
    argTypes:
    - CheckasmJson*
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 483
    functionName: checkasm_json_push
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 4
    functionsReached:
    - fputs
    - fputc
    - fprintf
    linkageType: ''
    returnType: void
    signature: void checkasm_json_push(CheckasmJson *json, const char *const key,
      const char type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/checkasm/ext/src/utils.c:487,1
    - Dst: fputc
      Src: /src/vlc/test/checkasm/ext/src/utils.c:490,1
    - Dst: fputc
      Src: /src/vlc/test/checkasm/ext/src/utils.c:492,1
    - Dst: fputc
      Src: /src/vlc/test/checkasm/ext/src/utils.c:494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - json
    - type
    argTypes:
    - CheckasmJson*
    - char
    assertStmts:
    - condition: (json->level >= 2)
      pos:
        line_end: 486
        line_start: 486
        source_file: /src/vlc/test/checkasm/ext/src/utils.c
    constantsTouched: []
    func_position:
      end: 496
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 496
    functionName: checkasm_json_pop
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 5
    functionsReached:
    - fputc
    - assert
    linkageType: ''
    returnType: void
    signature: void checkasm_json_pop(CheckasmJson *json, char type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - intfloat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 507
    functionName: is_negative
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_negative(const intfloat u)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_negative
      Src: /src/vlc/test/checkasm/ext/src/utils.c:516,1
    - Dst: is_negative
      Src: /src/vlc/test/checkasm/ext/src/utils.c:516,1
    - Dst: llabs
      Src: /src/vlc/test/checkasm/ext/src/utils.c:521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - a
    - b
    - max_ulp
    argTypes:
    - float
    - float
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 525
    functionName: checkasm_float_near_ulp
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached:
    - llabs
    - is_negative
    linkageType: ''
    returnType: int
    signature: int checkasm_float_near_ulp(const float a, const float b, const unsigned
      max_ulp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: float_near_ulp
      Src: /src/vlc/test/checkasm/ext/src/utils.c:531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - a
    - b
    - max_ulp
    - len
    argTypes:
    - float*
    - float*
    - unsigned
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 535
    functionName: checkasm_float_near_ulp_array
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached:
    - float_near_ulp
    linkageType: ''
    returnType: int
    signature: "int checkasm_float_near_ulp_array(const float *const a, const float
      *const b,\n                                  const unsigned max_ulp, const int
      len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabsf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - eps
    argTypes:
    - float
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 540
    functionName: checkasm_float_near_abs_eps
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached:
    - fabsf
    linkageType: ''
    returnType: int
    signature: int checkasm_float_near_abs_eps(const float a, const float b, const
      float eps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: float_near_abs_eps
      Src: /src/vlc/test/checkasm/ext/src/utils.c:546,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - a
    - b
    - eps
    - len
    argTypes:
    - float*
    - float*
    - float
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 550
    functionName: checkasm_float_near_abs_eps_array
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached:
    - float_near_abs_eps
    linkageType: ''
    returnType: int
    signature: "int checkasm_float_near_abs_eps_array(const float *const a, const
      float *const b,\n                                      const float eps, const
      int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: float_near_ulp
      Src: /src/vlc/test/checkasm/ext/src/utils.c:555,1
    - Dst: float_near_abs_eps
      Src: /src/vlc/test/checkasm/ext/src/utils.c:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - a
    - b
    - eps
    - max_ulp
    argTypes:
    - float
    - float
    - float
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 556
    functionName: checkasm_float_near_abs_eps_ulp
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached:
    - float_near_ulp
    - float_near_abs_eps
    linkageType: ''
    returnType: int
    signature: "int checkasm_float_near_abs_eps_ulp(const float a, const float b,
      const float eps,\n                                    const unsigned max_ulp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: float_near_abs_eps_ulp
      Src: /src/vlc/test/checkasm/ext/src/utils.c:563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - a
    - b
    - eps
    - max_ulp
    - len
    argTypes:
    - float*
    - float*
    - float
    - unsigned
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 567
    functionName: checkasm_float_near_abs_eps_array_ulp
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached:
    - float_near_abs_eps_ulp
    linkageType: ''
    returnType: int
    signature: "int checkasm_float_near_abs_eps_array_ulp(const float *const a, const
      float *const b,\n                                          const float eps,
      const unsigned max_ulp,\n                                          const int
      len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/vlc/test/checkasm/ext/src/utils.c:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - eps
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 572
    functionName: checkasm_double_near_abs_eps
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached:
    - fabs
    linkageType: ''
    returnType: int
    signature: int checkasm_double_near_abs_eps(const double a, const double b, const
      double eps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: double_near_abs_eps
      Src: /src/vlc/test/checkasm/ext/src/utils.c:578,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - a
    - b
    - eps
    - len
    argTypes:
    - double*
    - double*
    - double
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 582
    functionName: checkasm_double_near_abs_eps_array
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached:
    - double_near_abs_eps
    linkageType: ''
    returnType: int
    signature: "int checkasm_double_near_abs_eps_array(const double *const a, const
      double *const b,\n                                       const double eps, const
      unsigned len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_fail_func
      Src: /src/vlc/test/checkasm/ext/src/utils.c:589,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:592,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - file
    - line
    - name
    - w
    - h
    - err
    argTypes:
    - char*
    - int
    - char*
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 584
    functionDepth: 4
    functionLinenumber: 584
    functionLinenumberEnd: 594
    functionName: check_err
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached:
    - fprintf
    - checkasm_fail_func
    linkageType: ''
    returnType: int
    signature: "int check_err(const char *const file, const int line, const char *const
      name,\n                     const int w, const int h, int *const err)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - buf1
    - ','
    - buf2
    - ','
    - xstart
    - ','
    - xend
    - ','
    - xpad
    - ','
    - fmt
    - ','
    - fmtw
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 607
    functionName: PRINT_LINE
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINT_LINE(buf1, buf2, xstart, xend, xpad, fmt, fmtw)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - type
    - ','
    - buf1
    - ','
    - buf2
    - ','
    - ystart
    - ','
    - yend
    - ','
    - xstart
    - ','
    - xend
    - ','
    - fmt
    - ','
    - fmtw
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 617
    functionName: PRINT_RECT
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINT_RECT(type, buf1, buf2, ystart, yend, xstart, xend, fmt, fmtw)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - buf1
    - ','
    - buf2
    - ','
    - ystart
    - ','
    - yend
    - ','
    - xstart
    - ','
    - xend
    - ','
    - msg
    - ','
    - compare
    - ','
    - type
    - ','
    - fmt
    - ','
    - fmtw
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 647
    functionName: CHECK_RECT
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "CHECK_RECT(buf1, buf2, ystart, yend, xstart, xend, msg, compare, type,
      fmt,      \\\n                   fmtw)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - compare
    - ','
    - type
    - ','
    - fmt
    - ','
    - fmtw
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 680
    functionName: DEF_CHECKASM_CHECK_BODY
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEF_CHECKASM_CHECK_BODY(compare, type, fmt, fmtw)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 682
    functionName: cmp_int
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmp_int(a, b, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - fmt
    - ','
    - fmtw
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 690
    functionName: DEF_CHECKASM_CHECK_FUNC
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEF_CHECKASM_CHECK_FUNC(type, fmt, fmtw)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/vlc/test/checkasm/ext/src/utils.c:714,1
    - Dst: vsnprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:715,1
    - Dst: va_end
      Src: /src/vlc/test/checkasm/ext/src/utils.c:716,1
    - Dst: checkasm_mallocz
      Src: /src/vlc/test/checkasm/ext/src/utils.c:720,1
    - Dst: vsnprintf
      Src: /src/vlc/test/checkasm/ext/src/utils.c:721,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - checkasm_vasprintf(const char *fmt, va_list arg)
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 697
    functionDepth: 2
    functionLinenumber: 697
    functionLinenumberEnd: 723
    functionName: DEF_CHECKASM_CHECK_FUNC
    functionSourceFile: /src/vlc/test/checkasm/ext/src/utils.c
    functionUses: 0
    functionsReached:
    - va_copy
    - va_end
    - checkasm_mallocz
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: "void DEF_CHECKASM_CHECK_FUNC(uint8_t,  \"%02\" PRIx8,  2)\nDEF_CHECKASM_CHECK_FUNC(uint16_t,
      \"%04\" PRIx16, 4)\nDEF_CHECKASM_CHECK_FUNC(uint32_t, \"%08\" PRIx32, 8)\n\nint
      checkasm_check_impl_float_ulp(const char *file, int line, const float *buf1,\n
      \                                 ptrdiff_t stride1, const float *buf2, ptrdiff_t
      stride2,\n                                  int w, int h, const char *name,
      unsigned max_ulp,\n                                  int align_w, int align_h,
      int padding)\n{\n#define cmp_float(a, b, len) float_near_ulp_array(a, b, max_ulp,
      len)\n    DEF_CHECKASM_CHECK_BODY(cmp_float, float, \"%7g\", 7);\n#undef cmp_float\n}\n\nchar
      *checkasm_vasprintf(const char *fmt, va_list arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECKASM_PERF_ASM
      Src: /src/vlc/test/checkasm/ext/src/perf.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: perf_start_asm
    functionSourceFile: /src/vlc/test/checkasm/ext/src/perf.c
    functionUses: 0
    functionsReached:
    - CHECKASM_PERF_ASM
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t perf_start_asm(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECKASM_PERF_ASM
      Src: /src/vlc/test/checkasm/ext/src/perf.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: perf_stop_asm
    functionSourceFile: /src/vlc/test/checkasm/ext/src/perf.c
    functionUses: 0
    functionsReached:
    - CHECKASM_PERF_ASM
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t perf_stop_asm(uint64_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: checkasm_get_perf
    functionSourceFile: /src/vlc/test/checkasm/ext/src/perf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CheckasmPerf
    signature: CheckasmPerf *checkasm_get_perf(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_gettime_nsec
      Src: /src/vlc/test/checkasm/ext/src/perf.c:62,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/perf.c:63,1
    - Dst: checkasm_save_context
      Src: /src/vlc/test/checkasm/ext/src/perf.c:68,1
    - Dst: checkasm_set_signal_handler_state
      Src: /src/vlc/test/checkasm/ext/src/perf.c:70,1
    - Dst: CHECKASM_PERF_ASM
      Src: /src/vlc/test/checkasm/ext/src/perf.c:71,1
    - Dst: checkasm_set_signal_handler_state
      Src: /src/vlc/test/checkasm/ext/src/perf.c:72,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/perf.c:80,1
    - Dst: checkasm_save_context
      Src: /src/vlc/test/checkasm/ext/src/perf.c:87,1
    - Dst: checkasm_set_signal_handler_state
      Src: /src/vlc/test/checkasm/ext/src/perf.c:88,1
    - Dst: CHECKASM_PERF_ASM_INIT
      Src: /src/vlc/test/checkasm/ext/src/perf.c:89,1
    - Dst: checkasm_set_signal_handler_state
      Src: /src/vlc/test/checkasm/ext/src/perf.c:90,1
    - Dst: checkasm_run_on_all_cores
      Src: /src/vlc/test/checkasm/ext/src/perf.c:93,1
    - Dst: checkasm_perf_validate_start
      Src: /src/vlc/test/checkasm/ext/src/perf.c:99,1
    - Dst: checkasm_perf_init_linux
      Src: /src/vlc/test/checkasm/ext/src/perf.c:106,1
    - Dst: checkasm_perf_init_macos
      Src: /src/vlc/test/checkasm/ext/src/perf.c:111,1
    - Dst: checkasm_perf_init_arm
      Src: /src/vlc/test/checkasm/ext/src/perf.c:116,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 126
    functionName: checkasm_perf_init
    functionSourceFile: /src/vlc/test/checkasm/ext/src/perf.c
    functionUses: 1
    functionsReached:
    - checkasm_gettime_nsec
    - CHECKASM_PERF_ASM_INIT
    - checkasm_save_context
    - checkasm_perf_validate_start
    - fprintf
    - checkasm_set_signal_handler_state
    - checkasm_perf_init_arm
    - checkasm_run_on_all_cores
    - checkasm_perf_init_linux
    - CHECKASM_PERF_ASM
    - checkasm_perf_init_macos
    linkageType: ''
    returnType: COLD
    signature: COLD checkasm_perf_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CheckasmPerf*::start
      Src: /src/vlc/test/checkasm/ext/src/perf.c:133,1
    - Dst: checkasm_gettime_nsec
      Src: /src/vlc/test/checkasm/ext/src/perf.c:134,1
    - Dst: CheckasmPerf*::start
      Src: /src/vlc/test/checkasm/ext/src/perf.c:140,1
    - Dst: checkasm_gettime_nsec_diff
      Src: /src/vlc/test/checkasm/ext/src/perf.c:141,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/perf.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - perf
    argTypes:
    - CheckasmPerf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 148
    functionName: checkasm_perf_validate_start
    functionSourceFile: /src/vlc/test/checkasm/ext/src/perf.c
    functionUses: 1
    functionsReached:
    - fprintf
    - CheckasmPerf*::start
    - checkasm_gettime_nsec
    - checkasm_gettime_nsec_diff
    linkageType: ''
    returnType: COLD
    signature: COLD checkasm_perf_validate_start(const CheckasmPerf *perf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_gettime_nsec
      Src: /src/vlc/test/checkasm/ext/src/perf.c:155,1
    - Dst: CheckasmPerf*::start
      Src: /src/vlc/test/checkasm/ext/src/perf.c:157,1
    - Dst: checkasm_gettime_nsec_diff
      Src: /src/vlc/test/checkasm/ext/src/perf.c:160,1
    - Dst: checkasm_noop
      Src: /src/vlc/test/checkasm/ext/src/perf.c:162,1
    - Dst: CheckasmPerf*::stop
      Src: /src/vlc/test/checkasm/ext/src/perf.c:164,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/perf.c:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - perf
    argTypes:
    - CheckasmPerf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 173
    functionName: checkasm_perf_validate_start_stop
    functionSourceFile: /src/vlc/test/checkasm/ext/src/perf.c
    functionUses: 0
    functionsReached:
    - checkasm_gettime_nsec
    - fprintf
    - CheckasmPerf*::start
    - checkasm_gettime_nsec_diff
    - CheckasmPerf*::stop
    - checkasm_noop
    linkageType: ''
    returnType: COLD
    signature: COLD checkasm_perf_validate_start_stop(const CheckasmPerf *perf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_stats_reset
      Src: /src/vlc/test/checkasm/ext/src/perf.c:179,1
    - Dst: checkasm_noop
      Src: /src/vlc/test/checkasm/ext/src/perf.c:194,1
    - Dst: CHECKASM_PERF_BENCH
      Src: /src/vlc/test/checkasm/ext/src/perf.c:197,1
    - Dst: alternate
      Src: /src/vlc/test/checkasm/ext/src/perf.c:197,1
    - Dst: checkasm_stats_add
      Src: /src/vlc/test/checkasm/ext/src/perf.c:200,1
    - Dst: checkasm_stats_count_grow
      Src: /src/vlc/test/checkasm/ext/src/perf.c:201,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/checkasm/ext/src/perf.c:202,1
    - Dst: checkasm_measurement_update
      Src: /src/vlc/test/checkasm/ext/src/perf.c:206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - meas
    - target_cycles
    argTypes:
    - CheckasmMeasurement*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 207
    functionName: checkasm_measure_nop_cycles
    functionSourceFile: /src/vlc/test/checkasm/ext/src/perf.c
    functionUses: 2
    functionsReached:
    - checkasm_measurement_update
    - ARRAY_SIZE
    - checkasm_stats_reset
    - alternate
    - CHECKASM_PERF_BENCH
    - checkasm_stats_add
    - checkasm_noop
    - checkasm_stats_count_grow
    linkageType: ''
    returnType: COLD
    signature: COLD checkasm_measure_nop_cycles(CheckasmMeasurement *meas, uint64_t
      target_cycles)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/test/checkasm/ext/src/perf.c:212,1
    - Dst: checkasm_var_const
      Src: /src/vlc/test/checkasm/ext/src/perf.c:214,1
    - Dst: checkasm_stats_reset
      Src: /src/vlc/test/checkasm/ext/src/perf.c:226,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/checkasm/ext/src/perf.c:229,1
    - Dst: checkasm_noop
      Src: /src/vlc/test/checkasm/ext/src/perf.c:234,1
    - Dst: CheckasmPerf::start
      Src: /src/vlc/test/checkasm/ext/src/perf.c:237,1
    - Dst: checkasm_noop
      Src: /src/vlc/test/checkasm/ext/src/perf.c:239,1
    - Dst: CheckasmPerf::stop
      Src: /src/vlc/test/checkasm/ext/src/perf.c:240,1
    - Dst: checkasm_gettime_nsec
      Src: /src/vlc/test/checkasm/ext/src/perf.c:243,1
    - Dst: checkasm_noop
      Src: /src/vlc/test/checkasm/ext/src/perf.c:245,1
    - Dst: checkasm_gettime_nsec_diff
      Src: /src/vlc/test/checkasm/ext/src/perf.c:246,1
    - Dst: assert
      Src: /src/vlc/test/checkasm/ext/src/perf.c:248,1
    - Dst: checkasm_stats_add
      Src: /src/vlc/test/checkasm/ext/src/perf.c:249,1
    - Dst: checkasm_stats_count_grow
      Src: /src/vlc/test/checkasm/ext/src/perf.c:250,1
    - Dst: checkasm_measurement_update
      Src: /src/vlc/test/checkasm/ext/src/perf.c:255,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - meas
    argTypes:
    - CheckasmMeasurement*
    assertStmts:
    - condition: (cycles <= INT_MAX)
      pos:
        line_end: 247
        line_start: 247
        source_file: /src/vlc/test/checkasm/ext/src/perf.c
    constantsTouched: []
    func_position:
      end: 256
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 256
    functionName: checkasm_measure_perf_scale
    functionSourceFile: /src/vlc/test/checkasm/ext/src/perf.c
    functionUses: 2
    functionsReached:
    - checkasm_var_const
    - CheckasmPerf::start
    - checkasm_gettime_nsec
    - ARRAY_SIZE
    - assert
    - checkasm_stats_add
    - checkasm_measurement_update
    - checkasm_gettime_nsec_diff
    - strcmp
    - checkasm_stats_reset
    - CheckasmPerf::stop
    - checkasm_noop
    - checkasm_stats_count_grow
    linkageType: ''
    returnType: COLD
    signature: COLD checkasm_measure_perf_scale(CheckasmMeasurement *meas)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 54
    functionName: checkasm_pmccntr_enable
    functionSourceFile: /src/vlc/test/checkasm/ext/src/perf_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void checkasm_pmccntr_enable(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: checkasm_counter_enable
    functionSourceFile: /src/vlc/test/checkasm/ext/src/perf_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void checkasm_counter_enable(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - guard
    argTypes:
    - uintptr_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 64
    functionName: checkasm_push_stack_guard
    functionSourceFile: /src/vlc/test/checkasm/ext/src/stackguard.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void checkasm_push_stack_guard(uintptr_t guard[2])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/checkasm/ext/src/stackguard.c:73,1
    - Dst: checkasm_fail_abort
      Src: /src/vlc/test/checkasm/ext/src/stackguard.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (guard != NULL)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/vlc/test/checkasm/ext/src/stackguard.c
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 4
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: checkasm_pop_stack_guard
    functionSourceFile: /src/vlc/test/checkasm/ext/src/stackguard.c
    functionUses: 0
    functionsReached:
    - checkasm_fail_abort
    - assert
    linkageType: ''
    returnType: void
    signature: void checkasm_pop_stack_guard(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/vlc/test/checkasm/ext/src/stats.h:42,1
    - Dst: sqrt
      Src: /src/vlc/test/checkasm/ext/src/stats.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - q
    argTypes:
    - CheckasmVar
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: checkasm_sample
    functionSourceFile: /src/vlc/test/checkasm/ext/src/stats.h
    functionUses: 3
    functionsReached:
    - exp
    - sqrt
    linkageType: ''
    returnType: double
    signature: double checkasm_sample(const CheckasmVar x, const double q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/vlc/test/checkasm/ext/src/stats.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - CheckasmVar
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: checkasm_median
    functionSourceFile: /src/vlc/test/checkasm/ext/src/stats.h
    functionUses: 1
    functionsReached:
    - exp
    linkageType: ''
    returnType: double
    signature: double checkasm_median(const CheckasmVar x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/vlc/test/checkasm/ext/src/stats.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - CheckasmVar
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: checkasm_mode
    functionSourceFile: /src/vlc/test/checkasm/ext/src/stats.h
    functionUses: 5
    functionsReached:
    - exp
    linkageType: ''
    returnType: double
    signature: double checkasm_mode(const CheckasmVar x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/vlc/test/checkasm/ext/src/stats.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - CheckasmVar
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: checkasm_mean
    functionSourceFile: /src/vlc/test/checkasm/ext/src/stats.h
    functionUses: 1
    functionsReached:
    - exp
    linkageType: ''
    returnType: double
    signature: double checkasm_mean(const CheckasmVar x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/vlc/test/checkasm/ext/src/stats.h:62,1
    - Dst: sqrt
      Src: /src/vlc/test/checkasm/ext/src/stats.h:62,1
    - Dst: exp
      Src: /src/vlc/test/checkasm/ext/src/stats.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - CheckasmVar
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: checkasm_stddev
    functionSourceFile: /src/vlc/test/checkasm/ext/src/stats.h
    functionUses: 4
    functionsReached:
    - exp
    - sqrt
    linkageType: ''
    returnType: double
    signature: double checkasm_stddev(const CheckasmVar x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log
      Src: /src/vlc/test/checkasm/ext/src/stats.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: checkasm_var_const
    functionSourceFile: /src/vlc/test/checkasm/ext/src/stats.h
    functionUses: 3
    functionsReached:
    - log
    linkageType: ''
    returnType: CheckasmVar
    signature: CheckasmVar checkasm_var_const(double x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - stats
    argTypes:
    - CheckasmStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: checkasm_stats_reset
    functionSourceFile: /src/vlc/test/checkasm/ext/src/stats.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void checkasm_stats_reset(CheckasmStats *const stats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/test/checkasm/ext/src/stats.h:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - stats
    - s
    argTypes:
    - CheckasmStats*
    - CheckasmSample
    assertStmts:
    - condition: (stats->nb_samples < CHECKASM_STATS_SAMPLES)
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/vlc/test/checkasm/ext/src/stats.h
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: checkasm_stats_add
    functionSourceFile: /src/vlc/test/checkasm/ext/src/stats.h
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void checkasm_stats_add(CheckasmStats *const stats, const CheckasmSample
      s)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - stats
    - cycles
    - target_cycles
    argTypes:
    - CheckasmStats*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: checkasm_stats_count_grow
    functionSourceFile: /src/vlc/test/checkasm/ext/src/stats.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void checkasm_stats_count_grow(CheckasmStats *const stats, uint64_t
      cycles,\n                                             uint64_t target_cycles)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_var_const
      Src: /src/vlc/test/checkasm/ext/src/stats.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - measurement
    argTypes:
    - CheckasmMeasurement*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: checkasm_measurement_init
    functionSourceFile: /src/vlc/test/checkasm/ext/src/stats.h
    functionUses: 2
    functionsReached:
    - checkasm_var_const
    linkageType: ''
    returnType: void
    signature: void checkasm_measurement_init(CheckasmMeasurement *measurement)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_stats_estimate
      Src: /src/vlc/test/checkasm/ext/src/stats.h:138,1
    - Dst: checkasm_var_mul
      Src: /src/vlc/test/checkasm/ext/src/stats.h:139,1
    - Dst: memcpy
      Src: /src/vlc/test/checkasm/ext/src/stats.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - measurement
    - stats
    argTypes:
    - CheckasmMeasurement*
    - CheckasmStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 144
    functionName: checkasm_measurement_update
    functionSourceFile: /src/vlc/test/checkasm/ext/src/stats.h
    functionUses: 3
    functionsReached:
    - memcpy
    - checkasm_stats_estimate
    - checkasm_var_mul
    linkageType: ''
    returnType: void
    signature: "void checkasm_measurement_update(CheckasmMeasurement *measurement,\n
      \                                              const CheckasmStats  stats)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_var_pow
      Src: /src/vlc/test/checkasm/ext/src/stats.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - measurement
    argTypes:
    - CheckasmMeasurement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: checkasm_measurement_result
    functionSourceFile: /src/vlc/test/checkasm/ext/src/stats.h
    functionUses: 5
    functionsReached:
    - checkasm_var_pow
    linkageType: ''
    returnType: CheckasmVar
    signature: CheckasmVar checkasm_measurement_result(const CheckasmMeasurement measurement)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: checkasm_set_signal_handler_state
    functionSourceFile: /src/vlc/test/checkasm/ext/src/signal.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void checkasm_set_signal_handler_state(const int enabled)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_load_context
      Src: /src/vlc/test/checkasm/ext/src/signal.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 70
    functionName: interrupt_handler
    functionSourceFile: /src/vlc/test/checkasm/ext/src/signal.c
    functionUses: 0
    functionsReached:
    - checkasm_load_context
    linkageType: ''
    returnType: void
    signature: void interrupt_handler(const int s)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_load_context
      Src: /src/vlc/test/checkasm/ext/src/signal.c:92,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - e
    argTypes:
    - EXCEPTION_POINTERS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 95
    functionName: signal_handler
    functionSourceFile: /src/vlc/test/checkasm/ext/src/signal.c
    functionUses: 0
    functionsReached:
    - checkasm_load_context
    linkageType: ''
    returnType: LONG
    signature: LONG signal_handler(EXCEPTION_POINTERS *const e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sigaction
      Src: /src/vlc/test/checkasm/ext/src/signal.c:116,1
    - Dst: checkasm_load_context
      Src: /src/vlc/test/checkasm/ext/src/signal.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: signal_handler
    functionSourceFile: /src/vlc/test/checkasm/ext/src/signal.c
    functionUses: 0
    functionsReached:
    - checkasm_load_context
    - sigaction
    linkageType: ''
    returnType: void
    signature: void signal_handler(const int s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/vlc/test/checkasm/ext/src/signal.c:126,1
    - Dst: checkasm_load_context
      Src: /src/vlc/test/checkasm/ext/src/signal.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: signal_handler
    functionSourceFile: /src/vlc/test/checkasm/ext/src/signal.c
    functionUses: 0
    functionsReached:
    - checkasm_load_context
    - signal
    linkageType: ''
    returnType: void
    signature: void signal_handler(const int s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WINAPI_FAMILY_PARTITION
      Src: /src/vlc/test/checkasm/ext/src/signal.c:139,1
    - Dst: AddVectoredExceptionHandler
      Src: /src/vlc/test/checkasm/ext/src/signal.c:140,1
    - Dst: signal
      Src: /src/vlc/test/checkasm/ext/src/signal.c:142,1
    - Dst: signal
      Src: /src/vlc/test/checkasm/ext/src/signal.c:143,1
    - Dst: sigaction
      Src: /src/vlc/test/checkasm/ext/src/signal.c:146,1
    - Dst: sigaction
      Src: /src/vlc/test/checkasm/ext/src/signal.c:148,1
    - Dst: sigaction
      Src: /src/vlc/test/checkasm/ext/src/signal.c:149,1
    - Dst: sigaction
      Src: /src/vlc/test/checkasm/ext/src/signal.c:150,1
    - Dst: sigaction
      Src: /src/vlc/test/checkasm/ext/src/signal.c:151,1
    - Dst: sigaction
      Src: /src/vlc/test/checkasm/ext/src/signal.c:152,1
    - Dst: signal
      Src: /src/vlc/test/checkasm/ext/src/signal.c:155,1
    - Dst: signal
      Src: /src/vlc/test/checkasm/ext/src/signal.c:157,1
    - Dst: signal
      Src: /src/vlc/test/checkasm/ext/src/signal.c:158,1
    - Dst: signal
      Src: /src/vlc/test/checkasm/ext/src/signal.c:159,1
    - Dst: signal
      Src: /src/vlc/test/checkasm/ext/src/signal.c:160,1
    - Dst: signal
      Src: /src/vlc/test/checkasm/ext/src/signal.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 165
    functionName: checkasm_set_signal_handlers
    functionSourceFile: /src/vlc/test/checkasm/ext/src/signal.c
    functionUses: 1
    functionsReached:
    - AddVectoredExceptionHandler
    - WINAPI_FAMILY_PARTITION
    - signal
    - sigaction
    linkageType: ''
    returnType: COLD
    signature: COLD checkasm_set_signal_handlers(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 180
    functionName: checkasm_get_last_signal_desc
    functionSourceFile: /src/vlc/test/checkasm/ext/src/signal.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *checkasm_get_last_signal_desc(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: checkasm_get_check_vzeroupper
    functionSourceFile: /src/vlc/test/checkasm/ext/src/x86/cpu.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: COLD
    signature: COLD checkasm_get_check_vzeroupper(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: noop
    functionSourceFile: /src/vlc/test/checkasm/ext/src/x86/cpu.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void noop(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_cpu_cpuid
      Src: /src/vlc/test/checkasm/ext/src/x86/cpu.c:56,1
    - Dst: checkasm_cpu_cpuid
      Src: /src/vlc/test/checkasm/ext/src/x86/cpu.c:60,1
    - Dst: checkasm_cpu_cpuid
      Src: /src/vlc/test/checkasm/ext/src/x86/cpu.c:61,1
    - Dst: checkasm_cpu_cpuid
      Src: /src/vlc/test/checkasm/ext/src/x86/cpu.c:62,1
    - Dst: checkasm_cpu_cpuid
      Src: /src/vlc/test/checkasm/ext/src/x86/cpu.c:65,1
    - Dst: memcpy
      Src: /src/vlc/test/checkasm/ext/src/x86/cpu.c:66,1
    - Dst: memcpy
      Src: /src/vlc/test/checkasm/ext/src/x86/cpu.c:67,1
    - Dst: memcpy
      Src: /src/vlc/test/checkasm/ext/src/x86/cpu.c:68,1
    - Dst: strlen
      Src: /src/vlc/test/checkasm/ext/src/x86/cpu.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: get_model_name
    functionSourceFile: /src/vlc/test/checkasm/ext/src/x86/cpu.c
    functionUses: 0
    functionsReached:
    - memcpy
    - checkasm_cpu_cpuid
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t get_model_name(char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_cpu_cpuid
      Src: /src/vlc/test/checkasm/ext/src/x86/cpu.c:84,1
    - Dst: checkasm_cpu_cpuid
      Src: /src/vlc/test/checkasm/ext/src/x86/cpu.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 92
    functionName: get_cpuid
    functionSourceFile: /src/vlc/test/checkasm/ext/src/x86/cpu.c
    functionUses: 0
    functionsReached:
    - checkasm_cpu_cpuid
    linkageType: ''
    returnType: unsigned
    signature: unsigned get_cpuid(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_model_name
      Src: /src/vlc/test/checkasm/ext/src/x86/cpu.c:99,1
    - Dst: get_cpuid
      Src: /src/vlc/test/checkasm/ext/src/x86/cpu.c:100,1
    - Dst: snprintf
      Src: /src/vlc/test/checkasm/ext/src/x86/cpu.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - buflen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: checkasm_get_x86_cpuid
    functionSourceFile: /src/vlc/test/checkasm/ext/src/x86/cpu.c
    functionUses: 1
    functionsReached:
    - get_cpuid
    - snprintf
    - get_model_name
    linkageType: ''
    returnType: COLD
    signature: COLD *checkasm_get_x86_cpuid(char *buf, size_t buflen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_cpu_cpuid
      Src: /src/vlc/test/checkasm/ext/src/x86/cpu.c:110,1
    - Dst: checkasm_cpu_cpuid
      Src: /src/vlc/test/checkasm/ext/src/x86/cpu.c:115,1
    - Dst: checkasm_cpu_cpuid
      Src: /src/vlc/test/checkasm/ext/src/x86/cpu.c:119,1
    - Dst: checkasm_dirty_ymm_state
      Src: /src/vlc/test/checkasm/ext/src/x86/cpu.c:126,1
    - Dst: checkasm_cpu_xgetbv
      Src: /src/vlc/test/checkasm/ext/src/x86/cpu.c:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 137
    functionName: checkasm_init_x86
    functionSourceFile: /src/vlc/test/checkasm/ext/src/x86/cpu.c
    functionUses: 1
    functionsReached:
    - checkasm_dirty_ymm_state
    - checkasm_cpu_xgetbv
    - checkasm_cpu_cpuid
    linkageType: ''
    returnType: COLD
    signature: COLD checkasm_init_x86(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_cpu_cpuid
      Src: /src/vlc/test/checkasm/ext/src/x86/cpu.c:144,1
    - Dst: checkasm_cpu_cpuid
      Src: /src/vlc/test/checkasm/ext/src/x86/cpu.c:149,1
    - Dst: checkasm_cpu_xgetbv
      Src: /src/vlc/test/checkasm/ext/src/x86/cpu.c:153,1
    - Dst: checkasm_cpu_cpuid
      Src: /src/vlc/test/checkasm/ext/src/x86/cpu.c:161,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 166
    functionName: checkasm_simd_warmup_func::get_simd_warmup
    functionSourceFile: /src/vlc/test/checkasm/ext/src/x86/cpu.c
    functionUses: 0
    functionsReached:
    - checkasm_cpu_xgetbv
    - checkasm_cpu_cpuid
    linkageType: ''
    returnType: COLD
    signature: COLD checkasm_simd_warmup_func get_simd_warmup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_simd_warmup
      Src: /src/vlc/test/checkasm/ext/src/x86/cpu.c:172,1
    - Dst: simd_warmup
      Src: /src/vlc/test/checkasm/ext/src/x86/cpu.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 175
    functionName: checkasm_simd_warmup
    functionSourceFile: /src/vlc/test/checkasm/ext/src/x86/cpu.c
    functionUses: 2
    functionsReached:
    - get_simd_warmup
    - simd_warmup
    linkageType: ''
    returnType: void
    signature: void checkasm_simd_warmup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/vlc/test/checkasm/ext/src/riscv/cpu.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pairs
    - pair_count
    - cpu_count
    - cpus
    - flags
    argTypes:
    - struct riscv_hwprobe*
    - size_t
    - size_t
    - unsigned long*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: __riscv_hwprobe
    functionSourceFile: /src/vlc/test/checkasm/ext/src/riscv/cpu.c
    functionUses: 0
    functionsReached:
    - syscall
    linkageType: ''
    returnType: int
    signature: "int __riscv_hwprobe(struct riscv_hwprobe *pairs, size_t pair_count,\n
      \                          size_t cpu_count, unsigned long *cpus,\n                           unsigned
      int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - letter
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: HWCAP_RV
    functionSourceFile: /src/vlc/test/checkasm/ext/src/riscv/cpu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HWCAP_RV(letter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __riscv_hwprobe
      Src: /src/vlc/test/checkasm/ext/src/riscv/cpu.c:72,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/checkasm/ext/src/riscv/cpu.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - vendor
    - arch
    - imp
    argTypes:
    - uint32_t*
    - uintptr_t*
    - uintptr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 80
    functionName: checkasm_get_cpuids
    functionSourceFile: /src/vlc/test/checkasm/ext/src/riscv/cpu.c
    functionUses: 1
    functionsReached:
    - __riscv_hwprobe
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int checkasm_get_cpuids(uint32_t *vendor, uintptr_t *arch, uintptr_t
      *imp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_get_jedec_vendor_name
      Src: /src/vlc/test/checkasm/ext/src/riscv/cpu.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - vendorid
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: checkasm_get_riscv_vendor_name
    functionSourceFile: /src/vlc/test/checkasm/ext/src/riscv/cpu.c
    functionUses: 1
    functionsReached:
    - checkasm_get_jedec_vendor_name
    linkageType: ''
    returnType: char
    signature: char *checkasm_get_riscv_vendor_name(uint32_t vendorid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/vlc/test/checkasm/ext/src/riscv/cpu.c:98,1
    - Dst: snprintf
      Src: /src/vlc/test/checkasm/ext/src/riscv/cpu.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - buf
    - buflen
    - vendor
    - arch
    argTypes:
    - char*
    - size_t
    - uint32_t
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 111
    functionName: checkasm_get_riscv_arch_name
    functionSourceFile: /src/vlc/test/checkasm/ext/src/riscv/cpu.c
    functionUses: 1
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: "char *checkasm_get_riscv_arch_name(char *buf, size_t buflen,\n                                         uint32_t
      vendor, uintptr_t arch)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: __riscv_hwprobe
      Src: /src/vlc/test/checkasm/ext/src/riscv/cpu.c:125,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/checkasm/ext/src/riscv/cpu.c:125,1
    - Dst: checkasm_getauxval
      Src: /src/vlc/test/checkasm/ext/src/riscv/cpu.c:145,1
    - Dst: HWCAP_RV
      Src: /src/vlc/test/checkasm/ext/src/riscv/cpu.c:147,1
    - Dst: HWCAP_RV
      Src: /src/vlc/test/checkasm/ext/src/riscv/cpu.c:149,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 160
    functionName: checkasm_hwprobe
    functionSourceFile: /src/vlc/test/checkasm/ext/src/riscv/cpu.c
    functionUses: 0
    functionsReached:
    - HWCAP_RV
    - __riscv_hwprobe
    - checkasm_getauxval
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int checkasm_hwprobe(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_explicit
      Src: /src/vlc/test/checkasm/ext/src/riscv/cpu.c:165,1
    - Dst: checkasm_hwprobe
      Src: /src/vlc/test/checkasm/ext/src/riscv/cpu.c:168,1
    - Dst: atomic_store_explicit
      Src: /src/vlc/test/checkasm/ext/src/riscv/cpu.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 173
    functionName: checkasm_cpu_flags
    functionSourceFile: /src/vlc/test/checkasm/ext/src/riscv/cpu.c
    functionUses: 0
    functionsReached:
    - atomic_store_explicit
    - checkasm_hwprobe
    - atomic_load_explicit
    linkageType: ''
    returnType: int
    signature: int checkasm_cpu_flags(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_cpu_flags
      Src: /src/vlc/test/checkasm/ext/src/riscv/cpu.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 4
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: checkasm_has_float
    functionSourceFile: /src/vlc/test/checkasm/ext/src/riscv/cpu.c
    functionUses: 1
    functionsReached:
    - checkasm_cpu_flags
    linkageType: ''
    returnType: int
    signature: int checkasm_has_float(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_cpu_flags
      Src: /src/vlc/test/checkasm/ext/src/riscv/cpu.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 4
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: checkasm_has_vector
    functionSourceFile: /src/vlc/test/checkasm/ext/src/riscv/cpu.c
    functionUses: 2
    functionsReached:
    - checkasm_cpu_flags
    linkageType: ''
    returnType: int
    signature: int checkasm_has_vector(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_cpu_flags
      Src: /src/vlc/test/checkasm/ext/src/riscv/cpu.c:188,1
    - Dst: assert
      Src: /src/vlc/test/checkasm/ext/src/riscv/cpu.c:206,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (checked_call != NULL)
      pos:
        line_end: 205
        line_start: 205
        source_file: /src/vlc/test/checkasm/ext/src/riscv/cpu.c
    constantsTouched: []
    func_position:
      end: 208
      start: 185
    functionDepth: 4
    functionLinenumber: 185
    functionLinenumberEnd: 208
    functionName: checkasm_checked_call_ptr
    functionSourceFile: /src/vlc/test/checkasm/ext/src/riscv/cpu.c
    functionUses: 0
    functionsReached:
    - assert
    - checkasm_cpu_flags
    linkageType: ''
    returnType: void
    signature: void *checkasm_checked_call_ptr(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sysctlbyname
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - feature
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: have_feature
    functionSourceFile: /src/vlc/test/checkasm/ext/src/arm/cpu.c
    functionUses: 0
    functionsReached:
    - sysctlbyname
    linkageType: ''
    returnType: int
    signature: int have_feature(const char *feature)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsProcessorFeaturePresent
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:70,1
    - Dst: checkasm_getauxval
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 82
    functionName: checkasm_has_sve
    functionSourceFile: /src/vlc/test/checkasm/ext/src/arm/cpu.c
    functionUses: 1
    functionsReached:
    - checkasm_getauxval
    - IsProcessorFeaturePresent
    linkageType: ''
    returnType: int
    signature: int checkasm_has_sve(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsProcessorFeaturePresent
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:88,1
    - Dst: have_feature
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:93,1
    - Dst: checkasm_getauxval
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 99
    functionName: checkasm_has_sme
    functionSourceFile: /src/vlc/test/checkasm/ext/src/arm/cpu.c
    functionUses: 1
    functionsReached:
    - checkasm_getauxval
    - have_feature
    - IsProcessorFeaturePresent
    linkageType: ''
    returnType: int
    signature: int checkasm_has_sme(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: checkasm_checked_call_ptr
    functionSourceFile: /src/vlc/test/checkasm/ext/src/arm/cpu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: checkasm_checked_call_func
    signature: checkasm_checked_call_func checkasm_checked_call_ptr(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_has_vfp
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: checkasm_init_arm
    functionSourceFile: /src/vlc/test/checkasm/ext/src/arm/cpu.c
    functionUses: 1
    functionsReached:
    - checkasm_has_vfp
    linkageType: ''
    returnType: COLD
    signature: COLD checkasm_init_arm(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsProcessorFeaturePresent
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:139,1
    - Dst: checkasm_getauxval
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: checkasm_has_vfpd32
    functionSourceFile: /src/vlc/test/checkasm/ext/src/arm/cpu.c
    functionUses: 1
    functionsReached:
    - checkasm_getauxval
    - IsProcessorFeaturePresent
    linkageType: ''
    returnType: int
    signature: int checkasm_has_vfpd32(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_getauxval
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 162
    functionName: checkasm_has_vfp
    functionSourceFile: /src/vlc/test/checkasm/ext/src/arm/cpu.c
    functionUses: 2
    functionsReached:
    - checkasm_getauxval
    linkageType: ''
    returnType: int
    signature: int checkasm_has_vfp(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - core
    - implementer
    - part
    argTypes:
    - struct arm_core_id*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 201
    functionName: find_implementer_part
    functionSourceFile: /src/vlc/test/checkasm/ext/src/arm/cpu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: COLD
    signature: "COLD find_implementer_part(const struct arm_core_id *core,\n                                       const
      char **implementer, const char **part)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:211,1
    - Dst: snprintf
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:212,1
    - Dst: find_implementer_part
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:214,1
    - Dst: snprintf
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - buf
    - buflen
    - cores
    - nb_cores
    argTypes:
    - char*
    - size_t
    - struct arm_core_id*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 219
    functionName: print_cores
    functionSourceFile: /src/vlc/test/checkasm/ext/src/arm/cpu.c
    functionUses: 0
    functionsReached:
    - snprintf
    - find_implementer_part
    linkageType: ''
    returnType: COLD
    signature: "COLD print_cores(char *buf, size_t buflen, const struct arm_core_id
      *cores,\n                               unsigned nb_cores)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:224,1
    - Dst: fgets
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:234,1
    - Dst: strlen
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:235,1
    - Dst: strchr
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:243,1
    - Dst: isspace
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:249,1
    - Dst: isspace
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:252,1
    - Dst: strcmp
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:255,1
    - Dst: strtol
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:256,1
    - Dst: strcmp
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:257,1
    - Dst: strtol
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:258,1
    - Dst: strcmp
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:259,1
    - Dst: strtol
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:260,1
    - Dst: strcmp
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:261,1
    - Dst: snprintf
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:262,1
    - Dst: memcmp
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:272,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:276,1
    - Dst: fclose
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:284,1
    - Dst: snprintf
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:290,1
    - Dst: print_cores
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:294,1
    - Dst: snprintf
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:297,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 47
    argCount: 3
    argNames:
    - buf
    - buflen
    - affinity
    argTypes:
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 300
    functionName: checkasm_get_arm_cpuinfo
    functionSourceFile: /src/vlc/test/checkasm/ext/src/arm/cpu.c
    functionUses: 1
    functionsReached:
    - strchr
    - ARRAY_SIZE
    - print_cores
    - strlen
    - isspace
    - fopen
    - strcmp
    - strtol
    - fgets
    - snprintf
    - memcmp
    - fclose
    linkageType: ''
    returnType: COLD
    signature: COLD *checkasm_get_arm_cpuinfo(char *buf, size_t buflen, int affinity)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: RegOpenKeyExA
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:307,1
    - Dst: RegEnumKeyExA
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:323,1
    - Dst: strtoul
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:327,1
    - Dst: RegGetValueA
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:335,1
    - Dst: memcmp
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:344,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:348,1
    - Dst: RegGetValueA
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:352,1
    - Dst: RegCloseKey
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:361,1
    - Dst: snprintf
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:367,1
    - Dst: print_cores
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:371,1
    - Dst: snprintf
      Src: /src/vlc/test/checkasm/ext/src/arm/cpu.c:374,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 3
    argNames:
    - buf
    - buflen
    - affinity
    argTypes:
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 304
    functionDepth: 2
    functionLinenumber: 304
    functionLinenumberEnd: 377
    functionName: checkasm_get_arm_win32_reg
    functionSourceFile: /src/vlc/test/checkasm/ext/src/arm/cpu.c
    functionUses: 1
    functionsReached:
    - snprintf
    - ARRAY_SIZE
    - print_cores
    - strtoul
    - RegGetValueA
    - RegOpenKeyExA
    - RegEnumKeyExA
    - RegCloseKey
    - memcmp
    linkageType: ''
    returnType: COLD
    signature: COLD *checkasm_get_arm_win32_reg(char *buf, size_t buflen, int affinity)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: kpc_get_thread_counters
      Src: /src/vlc/test/checkasm/ext/src/perf/macos_kperf.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: kperf_cycles
    functionSourceFile: /src/vlc/test/checkasm/ext/src/perf/macos_kperf.c
    functionUses: 0
    functionsReached:
    - kpc_get_thread_counters
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t kperf_cycles(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kperf_cycles
      Src: /src/vlc/test/checkasm/ext/src/perf/macos_kperf.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: perf_start
    functionSourceFile: /src/vlc/test/checkasm/ext/src/perf/macos_kperf.c
    functionUses: 0
    functionsReached:
    - kperf_cycles
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t perf_start(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kperf_cycles
      Src: /src/vlc/test/checkasm/ext/src/perf/macos_kperf.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: perf_stop
    functionSourceFile: /src/vlc/test/checkasm/ext/src/perf/macos_kperf.c
    functionUses: 0
    functionsReached:
    - kperf_cycles
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t perf_stop(uint64_t t)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dlopen
      Src: /src/vlc/test/checkasm/ext/src/perf/macos_kperf.c:77,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/perf/macos_kperf.c:79,1
    - Dst: dlerror
      Src: /src/vlc/test/checkasm/ext/src/perf/macos_kperf.c:79,1
    - Dst: dlsym
      Src: /src/vlc/test/checkasm/ext/src/perf/macos_kperf.c:83,1
    - Dst: dlsym
      Src: /src/vlc/test/checkasm/ext/src/perf/macos_kperf.c:84,1
    - Dst: dlsym
      Src: /src/vlc/test/checkasm/ext/src/perf/macos_kperf.c:85,1
    - Dst: dlsym
      Src: /src/vlc/test/checkasm/ext/src/perf/macos_kperf.c:86,1
    - Dst: dlsym
      Src: /src/vlc/test/checkasm/ext/src/perf/macos_kperf.c:87,1
    - Dst: dlsym
      Src: /src/vlc/test/checkasm/ext/src/perf/macos_kperf.c:88,1
    - Dst: dlsym
      Src: /src/vlc/test/checkasm/ext/src/perf/macos_kperf.c:89,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/perf/macos_kperf.c:92,1
    - Dst: kpc_get_counter_count
      Src: /src/vlc/test/checkasm/ext/src/perf/macos_kperf.c:96,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/perf/macos_kperf.c:97,1
    - Dst: kpc_get_config_count
      Src: /src/vlc/test/checkasm/ext/src/perf/macos_kperf.c:100,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/perf/macos_kperf.c:101,1
    - Dst: kpc_set_config
      Src: /src/vlc/test/checkasm/ext/src/perf/macos_kperf.c:107,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/perf/macos_kperf.c:108,1
    - Dst: kpc_force_all_ctrs_set
      Src: /src/vlc/test/checkasm/ext/src/perf/macos_kperf.c:111,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/perf/macos_kperf.c:112,1
    - Dst: kpc_set_counting
      Src: /src/vlc/test/checkasm/ext/src/perf/macos_kperf.c:115,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/perf/macos_kperf.c:116,1
    - Dst: kpc_set_thread_counting
      Src: /src/vlc/test/checkasm/ext/src/perf/macos_kperf.c:119,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/perf/macos_kperf.c:120,1
    - Dst: checkasm_perf_validate_start
      Src: /src/vlc/test/checkasm/ext/src/perf/macos_kperf.c:130,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 1
    argNames:
    - perf
    argTypes:
    - CheckasmPerf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 69
    functionDepth: 4
    functionLinenumber: 69
    functionLinenumberEnd: 131
    functionName: checkasm_perf_init_macos
    functionSourceFile: /src/vlc/test/checkasm/ext/src/perf/macos_kperf.c
    functionUses: 1
    functionsReached:
    - kpc_get_counter_count
    - kpc_set_thread_counting
    - kpc_force_all_ctrs_set
    - fprintf
    - dlsym
    - kpc_get_config_count
    - checkasm_perf_validate_start
    - dlerror
    - kpc_set_config
    - dlopen
    - kpc_set_counting
    linkageType: ''
    returnType: COLD
    signature: COLD checkasm_perf_init_macos(CheckasmPerf *perf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/vlc/test/checkasm/ext/src/perf/linux.c:48,1
    - Dst: ioctl
      Src: /src/vlc/test/checkasm/ext/src/perf/linux.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: perf_start
    functionSourceFile: /src/vlc/test/checkasm/ext/src/perf/linux.c
    functionUses: 0
    functionsReached:
    - ioctl
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t perf_start(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/vlc/test/checkasm/ext/src/perf/linux.c:55,1
    - Dst: read
      Src: /src/vlc/test/checkasm/ext/src/perf/linux.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: perf_stop
    functionSourceFile: /src/vlc/test/checkasm/ext/src/perf/linux.c
    functionUses: 0
    functionsReached:
    - read
    - ioctl
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t perf_stop(uint64_t t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/vlc/test/checkasm/ext/src/perf/linux.c:76,1
    - Dst: perror
      Src: /src/vlc/test/checkasm/ext/src/perf/linux.c:78,1
    - Dst: checkasm_perf_validate_start_stop
      Src: /src/vlc/test/checkasm/ext/src/perf/linux.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - perf
    argTypes:
    - CheckasmPerf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 88
    functionName: checkasm_perf_init_linux
    functionSourceFile: /src/vlc/test/checkasm/ext/src/perf/linux.c
    functionUses: 1
    functionsReached:
    - perror
    - checkasm_perf_validate_start_stop
    - syscall
    linkageType: ''
    returnType: COLD
    signature: COLD checkasm_perf_init_linux(CheckasmPerf *perf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: checkasm_cntvct
    functionSourceFile: /src/vlc/test/checkasm/ext/src/perf/arm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t checkasm_cntvct(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: checkasm_cntfrq
    functionSourceFile: /src/vlc/test/checkasm/ext/src/perf/arm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t checkasm_cntfrq(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_cntvct
      Src: /src/vlc/test/checkasm/ext/src/perf/arm.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: perf_start
    functionSourceFile: /src/vlc/test/checkasm/ext/src/perf/arm.c
    functionUses: 0
    functionsReached:
    - checkasm_cntvct
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t perf_start(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_cntvct
      Src: /src/vlc/test/checkasm/ext/src/perf/arm.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: perf_stop
    functionSourceFile: /src/vlc/test/checkasm/ext/src/perf/arm.c
    functionUses: 0
    functionsReached:
    - checkasm_cntvct
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t perf_stop(uint64_t t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_save_context
      Src: /src/vlc/test/checkasm/ext/src/perf/arm.c:66,1
    - Dst: checkasm_set_signal_handler_state
      Src: /src/vlc/test/checkasm/ext/src/perf/arm.c:67,1
    - Dst: checkasm_cntvct
      Src: /src/vlc/test/checkasm/ext/src/perf/arm.c:68,1
    - Dst: checkasm_cntfrq
      Src: /src/vlc/test/checkasm/ext/src/perf/arm.c:69,1
    - Dst: checkasm_set_signal_handler_state
      Src: /src/vlc/test/checkasm/ext/src/perf/arm.c:70,1
    - Dst: checkasm_perf_validate_start
      Src: /src/vlc/test/checkasm/ext/src/perf/arm.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - perf
    argTypes:
    - CheckasmPerf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 63
    functionDepth: 4
    functionLinenumber: 63
    functionLinenumberEnd: 88
    functionName: checkasm_perf_init_arm
    functionSourceFile: /src/vlc/test/checkasm/ext/src/perf/arm.c
    functionUses: 1
    functionsReached:
    - checkasm_save_context
    - checkasm_perf_validate_start
    - checkasm_set_signal_handler_state
    - checkasm_cntvct
    - checkasm_cntfrq
    linkageType: ''
    returnType: COLD
    signature: COLD checkasm_perf_init_arm(CheckasmPerf *perf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: checkasm_ccnt
    functionSourceFile: /src/vlc/test/checkasm/ext/src/perf/arm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t checkasm_ccnt(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: checkasm_ccnt_start
    functionSourceFile: /src/vlc/test/checkasm/ext/src/perf/arm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void checkasm_ccnt_start(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_ccnt
      Src: /src/vlc/test/checkasm/ext/src/perf/arm.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: perf_start
    functionSourceFile: /src/vlc/test/checkasm/ext/src/perf/arm.c
    functionUses: 0
    functionsReached:
    - checkasm_ccnt
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t perf_start(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_ccnt
      Src: /src/vlc/test/checkasm/ext/src/perf/arm.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: perf_stop
    functionSourceFile: /src/vlc/test/checkasm/ext/src/perf/arm.c
    functionUses: 0
    functionsReached:
    - checkasm_ccnt
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t perf_stop(uint64_t t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_save_context
      Src: /src/vlc/test/checkasm/ext/src/perf/arm.c:121,1
    - Dst: checkasm_set_signal_handler_state
      Src: /src/vlc/test/checkasm/ext/src/perf/arm.c:122,1
    - Dst: checkasm_ccnt
      Src: /src/vlc/test/checkasm/ext/src/perf/arm.c:123,1
    - Dst: checkasm_set_signal_handler_state
      Src: /src/vlc/test/checkasm/ext/src/perf/arm.c:124,1
    - Dst: checkasm_save_context
      Src: /src/vlc/test/checkasm/ext/src/perf/arm.c:127,1
    - Dst: checkasm_set_signal_handler_state
      Src: /src/vlc/test/checkasm/ext/src/perf/arm.c:128,1
    - Dst: checkasm_ccnt_start
      Src: /src/vlc/test/checkasm/ext/src/perf/arm.c:129,1
    - Dst: checkasm_set_signal_handler_state
      Src: /src/vlc/test/checkasm/ext/src/perf/arm.c:130,1
    - Dst: checkasm_run_on_all_cores
      Src: /src/vlc/test/checkasm/ext/src/perf/arm.c:133,1
    - Dst: checkasm_perf_validate_start
      Src: /src/vlc/test/checkasm/ext/src/perf/arm.c:141,1
    - Dst: fprintf
      Src: /src/vlc/test/checkasm/ext/src/perf/arm.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - perf
    argTypes:
    - CheckasmPerf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 118
    functionDepth: 4
    functionLinenumber: 118
    functionLinenumberEnd: 146
    functionName: checkasm_perf_init_arm
    functionSourceFile: /src/vlc/test/checkasm/ext/src/perf/arm.c
    functionUses: 1
    functionsReached:
    - checkasm_ccnt
    - checkasm_save_context
    - checkasm_perf_validate_start
    - checkasm_set_signal_handler_state
    - fprintf
    - checkasm_run_on_all_cores
    - checkasm_ccnt_start
    linkageType: ''
    returnType: COLD
    signature: COLD checkasm_perf_init_arm(CheckasmPerf *perf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - perf
    argTypes:
    - CheckasmPerf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: checkasm_perf_init_arm
    functionSourceFile: /src/vlc/test/checkasm/ext/src/perf/arm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: COLD
    signature: COLD checkasm_perf_init_arm(CheckasmPerf *perf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: CHECKASM_PRINTF
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/attributes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKASM_PRINTF(fmt, attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: CHECKASM_PRINTF
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/attributes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKASM_PRINTF(fmt, attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 255
    functionName: CLEAR_BUF
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEAR_BUF(buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 262
    functionName: RANDOMIZE_BUF
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RANDOMIZE_BUF(buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 270
    functionName: INITIALIZE_BUF
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INITIALIZE_BUF(buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 407
    functionName: CHECKASM_ALIGN
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKASM_ALIGN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 409
    functionName: CHECKASM_ALIGN
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKASM_ALIGN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - NAME
    - ','
    - TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 421
    functionName: DECL_CHECK_FUNC
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECL_CHECK_FUNC(NAME, TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 424
    functionName: DECL_CHECKASM_CHECK_FUNC
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECL_CHECKASM_CHECK_FUNC(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 446
    functionName: checkasm_check_impl2
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_check_impl2(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 447
    functionName: checkasm_check_impl
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_check_impl(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 448
    functionName: checkasm_check1
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_check1(type, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 449
    functionName: checkasm_check2
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_check2(type, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 483
    functionName: checkasm_check2d
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_check2d(type, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 505
    functionName: checkasm_check2d_padded
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_check2d_padded(type, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - type
    - ','
    - buf1
    - ','
    - buf2
    - ','
    - len
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 528
    functionName: checkasm_check1d
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_check1d(type, buf1, buf2, len, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - type
    - ','
    - buf1
    - ','
    - buf2
    - ','
    - len
    - ','
    - name
    - ','
    - align
    - ','
    - padding
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 548
    functionName: checkasm_check1d_padded
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_check1d_padded(type, buf1, buf2, len, name, align, padding)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 575
    functionName: CHECKASM_ROUND
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKASM_ROUND(x, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type
    - ','
    - name
    - ','
    - w
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 616
    functionName: BUF_RECT
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUF_RECT(type, name, w, h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 624
    functionName: CLEAR_BUF_RECT
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEAR_BUF_RECT(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 632
    functionName: INITIALIZE_BUF_RECT
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INITIALIZE_BUF_RECT(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 640
    functionName: RANDOMIZE_BUF_RECT
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RANDOMIZE_BUF_RECT(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rect1
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 649
    functionName: checkasm_check_rect
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_check_rect(rect1, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rect1
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 659
    functionName: checkasm_check_rect_padded
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_check_rect_padded(rect1, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rect1
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 675
    functionName: checkasm_check_rect_padded_align
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_check_rect_padded_align(rect1, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - buf1
    - ','
    - buf2
    - ','
    - w
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 688
    functionName: CHECK_BUF_RECT
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_BUF_RECT(buf1, buf2, w, h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: checkasm_check_func
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/test.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_check_func(func, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: checkasm_fail
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/test.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_fail()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ret
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: checkasm_declare
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_declare(ret, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cpu_flags
    - ','
    - ret
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 235
    functionName: checkasm_declare_emms
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_declare_emms(cpu_flags, ret, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: checkasm_call
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_call(func, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 278
    functionName: checkasm_call_checked
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_call_checked(func, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 367
    functionName: checkasm_call_ref
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_call_ref(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 382
    functionName: checkasm_call_new
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/test.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_call_new(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 421
    functionName: checkasm_bench
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_bench(func, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 447
    functionName: checkasm_bench_new
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_bench_new(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 469
    functionName: checkasm_alternate
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_alternate(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 525
    functionName: checkasm_clear_cpu_state
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_clear_cpu_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 566
    functionName: CHECKASM_PERF_CALL4
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKASM_PERF_CALL4(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 574
    functionName: CHECKASM_PERF_CALL16
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKASM_PERF_CALL16(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - count
    - ','
    - time
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 584
    functionName: CHECKASM_PERF_BENCH_SIMPLE
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKASM_PERF_BENCH_SIMPLE(count, time, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - total_count
    - ','
    - time
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 603
    functionName: CHECKASM_PERF_BENCH_ASM
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKASM_PERF_BENCH_ASM(total_count, time, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - count
    - ','
    - time
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 620
    functionName: CHECKASM_PERF_BENCH
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/test.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKASM_PERF_BENCH(count, time, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - count
    - ','
    - time
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 626
    functionName: CHECKASM_PERF_BENCH
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/test.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKASM_PERF_BENCH(count, time, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 659
    functionName: checkasm_unused
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void checkasm_unused(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkasm_get_cpu_info
      Src: /src/vlc/test/checkasm/ext/include/checkasm/checkasm.h:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: checkasm_get_cpu_suffix
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/checkasm.h
    functionUses: 0
    functionsReached:
    - checkasm_get_cpu_info
    linkageType: ''
    returnType: char
    signature: char *checkasm_get_cpu_suffix(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: CHECKASM_PERF_ASM
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/perf/aarch64.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKASM_PERF_ASM()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: checkasm_pmccntr
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/perf/aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t checkasm_pmccntr(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: CHECKASM_PERF_ASM
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/perf/aarch64.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKASM_PERF_ASM()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: checkasm_rdtsc
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/perf/x86.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_rdtsc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: checkasm_rdtsc
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/perf/x86.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t checkasm_rdtsc(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: CHECKASM_PERF_ASM
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/perf/x86.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKASM_PERF_ASM()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 61
    functionName: checkasm_counter
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/perf/arm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t checkasm_counter(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: CHECKASM_PERF_ASM
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/perf/arm.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKASM_PERF_ASM()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 49
    functionName: checkasm_mfspr
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/perf/ppc64le.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t checkasm_mfspr(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: CHECKASM_PERF_ASM
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/perf/ppc64le.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKASM_PERF_ASM()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: checkasm_rdtimel
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/perf/loongarch32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t checkasm_rdtimel(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: CHECKASM_PERF_ASM
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/perf/loongarch32.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKASM_PERF_ASM()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: checkasm_rdtime
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/perf/loongarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t checkasm_rdtime(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: CHECKASM_PERF_ASM
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/perf/loongarch64.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKASM_PERF_ASM()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: clobber_type
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/platform/aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: clobber_type(arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 33
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - i
    - ','
    - j
    - ','
    - k
    - ','
    - l
    - ','
    - m
    - ','
    - n
    - ','
    - o
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 77
    functionName: init_clobber_mask
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/platform/aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: init_clobber_mask(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: init_clobber_mask
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/platform/aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: init_clobber_mask(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ret
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: checkasm_declare_impl
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/platform/aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_declare_impl(ret, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: checkasm_call_checked
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/platform/aarch64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_call_checked(func, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ret
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: checkasm_declare_impl
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/platform/riscv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_declare_impl(ret, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: checkasm_call_checked
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/platform/riscv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_call_checked(func, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ret
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: checked_call_fn
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/platform/x86_32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checked_call_fn(ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ret
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: checked_call_fn
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/platform/x86_32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checked_call_fn(ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ret
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: checkasm_declare_impl
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/platform/x86_32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_declare_impl(ret, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: checkasm_call_checked
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/platform/x86_32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_call_checked(func, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cpu_flags
    - ','
    - ret
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: checkasm_declare_emms
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/platform/x86_32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_declare_emms(cpu_flags, ret, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: checkasm_emms
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/platform/x86_32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_emms()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: checkasm_emms
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/platform/x86_32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_emms()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: checkasm_clear_cpu_state
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/platform/x86_32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_clear_cpu_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ret
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: checkasm_declare_impl
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/platform/arm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_declare_impl(ret, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: checkasm_call_checked
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/platform/arm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_call_checked(func, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: clobber_type
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/platform/x86_64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: clobber_type(arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 35
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - i
    - ','
    - j
    - ','
    - k
    - ','
    - l
    - ','
    - m
    - ','
    - n
    - ','
    - o
    - ','
    - p
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: init_clobber_mask
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/platform/x86_64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: init_clobber_mask(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: init_clobber_mask
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/platform/x86_64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: init_clobber_mask(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ret
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: checkasm_declare_impl
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/platform/x86_64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_declare_impl(ret, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: checkasm_call_checked
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/platform/x86_64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_call_checked(func, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cpu_flags
    - ','
    - ret
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: checkasm_declare_emms
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/platform/x86_64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_declare_emms(cpu_flags, ret, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: checkasm_emms
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/platform/x86_64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_emms()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: checkasm_emms
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/platform/x86_64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_emms()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: checkasm_clear_cpu_state
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/platform/x86_64.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_clear_cpu_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ret
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: checkasm_declare_impl
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/platform/loongarch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_declare_impl(ret, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: checkasm_call_checked
    functionSourceFile: /src/vlc/test/checkasm/ext/include/checkasm/platform/loongarch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkasm_call_checked(func, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: DataCreate
    functionSourceFile: /src/vlc/test/dynamicoverlay/overlay-test.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void DataCreate( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - psz_text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: IsFailure
    functionSourceFile: /src/vlc/test/dynamicoverlay/overlay-test.c
    functionUses: 0
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: int
    signature: int IsFailure( char *psz_text )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fscanf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:75,1
    - Dst: IsFailure
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:76,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:77,1
    - Dst: exit
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_res
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: CheckResult
    functionSourceFile: /src/vlc/test/dynamicoverlay/overlay-test.c
    functionUses: 0
    functionsReached:
    - exit
    - printf
    - fscanf
    - IsFailure
    linkageType: ''
    returnType: void
    signature: void CheckResult( FILE *p_res )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:84,1
    - Dst: vfprintf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:86,1
    - Dst: fflush
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:87,1
    - Dst: CheckResult
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:89,1
    - Dst: va_end
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - p_cmd
    - p_res
    - p_format
    argTypes:
    - FILE*
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: CheckedCommand
    functionSourceFile: /src/vlc/test/dynamicoverlay/overlay-test.c
    functionUses: 0
    functionsReached:
    - va_start
    - fflush
    - CheckResult
    - va_end
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void CheckedCommand( FILE *p_cmd, FILE *p_res, char *p_format, ...
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:97,1
    - Dst: CheckedCommand
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:98,1
    - Dst: fscanf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:99,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p_cmd
    - p_res
    argTypes:
    - FILE*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: GenImage
    functionSourceFile: /src/vlc/test/dynamicoverlay/overlay-test.c
    functionUses: 0
    functionsReached:
    - CheckedCommand
    - printf
    - fscanf
    linkageType: ''
    returnType: int
    signature: int GenImage( FILE *p_cmd, FILE *p_res )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:106,1
    - Dst: CheckedCommand
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:107,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_cmd
    - p_res
    - i_overlay
    argTypes:
    - FILE*
    - FILE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: DeleteImage
    functionSourceFile: /src/vlc/test/dynamicoverlay/overlay-test.c
    functionUses: 0
    functionsReached:
    - CheckedCommand
    - printf
    linkageType: ''
    returnType: void
    signature: void DeleteImage( FILE *p_cmd, FILE *p_res, int i_overlay )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckedCommand
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_cmd
    - p_res
    argTypes:
    - FILE*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: StartAtomic
    functionSourceFile: /src/vlc/test/dynamicoverlay/overlay-test.c
    functionUses: 0
    functionsReached:
    - CheckedCommand
    linkageType: ''
    returnType: void
    signature: void StartAtomic( FILE *p_cmd, FILE *p_res )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckedCommand
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_cmd
    - p_res
    argTypes:
    - FILE*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: EndAtomic
    functionSourceFile: /src/vlc/test/dynamicoverlay/overlay-test.c
    functionUses: 0
    functionsReached:
    - CheckedCommand
    linkageType: ''
    returnType: void
    signature: void EndAtomic( FILE *p_cmd, FILE *p_res )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:122,1
    - Dst: CheckedCommand
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:123,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - p_cmd
    - p_res
    - i_overlay
    - i_width
    - i_height
    - psz_format
    - i_shmid
    argTypes:
    - FILE*
    - FILE*
    - int
    - int
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 126
    functionName: DataSharedMem
    functionSourceFile: /src/vlc/test/dynamicoverlay/overlay-test.c
    functionUses: 0
    functionsReached:
    - CheckedCommand
    - printf
    linkageType: ''
    returnType: void
    signature: "void DataSharedMem( FILE *p_cmd, FILE *p_res, int i_overlay, int i_width,\n
      \                   int i_height, char *psz_format, int i_shmid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckedCommand
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p_cmd
    - p_res
    - i_overlay
    - i_alpha
    argTypes:
    - FILE*
    - FILE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: SetAlpha
    functionSourceFile: /src/vlc/test/dynamicoverlay/overlay-test.c
    functionUses: 0
    functionsReached:
    - CheckedCommand
    linkageType: ''
    returnType: void
    signature: void SetAlpha( FILE *p_cmd, FILE *p_res, int i_overlay, int i_alpha
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckedCommand
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - p_cmd
    - p_res
    - i_overlay
    - i_x
    - i_y
    argTypes:
    - FILE*
    - FILE*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: SetPosition
    functionSourceFile: /src/vlc/test/dynamicoverlay/overlay-test.c
    functionUses: 4
    functionsReached:
    - CheckedCommand
    linkageType: ''
    returnType: void
    signature: void SetPosition( FILE *p_cmd, FILE *p_res, int i_overlay, int i_x,
      int i_y )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckedCommand
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p_cmd
    - p_res
    - i_overlay
    - i_visible
    argTypes:
    - FILE*
    - FILE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: SetVisibility
    functionSourceFile: /src/vlc/test/dynamicoverlay/overlay-test.c
    functionUses: 0
    functionsReached:
    - CheckedCommand
    linkageType: ''
    returnType: void
    signature: void SetVisibility( FILE *p_cmd, FILE *p_res, int i_overlay, int i_visible
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckedCommand
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p_cmd
    - p_res
    - i_overlay
    - i_alpha
    argTypes:
    - FILE*
    - FILE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: SetTextAlpha
    functionSourceFile: /src/vlc/test/dynamicoverlay/overlay-test.c
    functionUses: 0
    functionsReached:
    - CheckedCommand
    linkageType: ''
    returnType: void
    signature: void SetTextAlpha( FILE *p_cmd, FILE *p_res, int i_overlay, int i_alpha
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckedCommand
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - p_cmd
    - p_res
    - i_overlay
    - i_red
    - i_green
    - i_blue
    argTypes:
    - FILE*
    - FILE*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 3
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: SetTextColor
    functionSourceFile: /src/vlc/test/dynamicoverlay/overlay-test.c
    functionUses: 0
    functionsReached:
    - CheckedCommand
    linkageType: ''
    returnType: void
    signature: "void SetTextColor( FILE *p_cmd, FILE *p_res, int i_overlay, int i_red,\n
      \                  int i_green, int i_blue )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckedCommand
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p_cmd
    - p_res
    - i_overlay
    - i_size
    argTypes:
    - FILE*
    - FILE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: SetTextSize
    functionSourceFile: /src/vlc/test/dynamicoverlay/overlay-test.c
    functionUses: 0
    functionsReached:
    - CheckedCommand
    linkageType: ''
    returnType: void
    signature: void SetTextSize( FILE *p_cmd, FILE *p_res, int i_overlay, int i_size
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckedCommand
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:159,1
    - Dst: fscanf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_cmd
    - p_res
    - i_overlay
    argTypes:
    - FILE*
    - FILE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 163
    functionName: GetTextSize
    functionSourceFile: /src/vlc/test/dynamicoverlay/overlay-test.c
    functionUses: 0
    functionsReached:
    - CheckedCommand
    - fscanf
    linkageType: ''
    returnType: int
    signature: int GetTextSize( FILE *p_cmd, FILE *p_res, int i_overlay )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:170,1
    - Dst: SetVisibility
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:171,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:172,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:174,1
    - Dst: SetAlpha
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:176,1
    - Dst: abs
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:176,1
    - Dst: usleep
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:177,1
    - Dst: SetAlpha
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:179,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:180,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:182,1
    - Dst: SetPosition
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:184,1
    - Dst: cos
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:185,1
    - Dst: sin
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:186,1
    - Dst: usleep
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:187,1
    - Dst: SetPosition
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:189,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:190,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:192,1
    - Dst: StartAtomic
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:193,1
    - Dst: SetPosition
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:194,1
    - Dst: sleep
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:195,1
    - Dst: SetPosition
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:196,1
    - Dst: EndAtomic
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:197,1
    - Dst: CheckResult
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:198,1
    - Dst: CheckResult
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:199,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:200,1
    - Dst: sleep
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 3
    argNames:
    - p_cmd
    - p_res
    - i_overlay
    argTypes:
    - FILE*
    - FILE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 169
    functionDepth: 4
    functionLinenumber: 169
    functionLinenumberEnd: 203
    functionName: BasicTest
    functionSourceFile: /src/vlc/test/dynamicoverlay/overlay-test.c
    functionUses: 0
    functionsReached:
    - sleep
    - cos
    - printf
    - EndAtomic
    - SetVisibility
    - StartAtomic
    - sin
    - CheckResult
    - SetPosition
    - abs
    - usleep
    - SetAlpha
    linkageType: ''
    returnType: void
    signature: void BasicTest( FILE *p_cmd, FILE *p_res, int i_overlay )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:206,1
    - Dst: SetTextAlpha
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:208,1
    - Dst: abs
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:208,1
    - Dst: usleep
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:209,1
    - Dst: SetTextAlpha
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:211,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:212,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:214,1
    - Dst: SetTextColor
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:216,1
    - Dst: usleep
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:217,1
    - Dst: SetTextColor
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:220,1
    - Dst: usleep
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:221,1
    - Dst: SetTextColor
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:224,1
    - Dst: usleep
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:225,1
    - Dst: SetTextColor
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:227,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:228,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:230,1
    - Dst: GetTextSize
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:231,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:232,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:234,1
    - Dst: SetTextSize
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:236,1
    - Dst: sin
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:237,1
    - Dst: usleep
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:238,1
    - Dst: SetTextSize
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:240,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:241,1
    - Dst: sleep
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 3
    argNames:
    - p_cmd
    - p_res
    - i_overlay
    argTypes:
    - FILE*
    - FILE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 205
    functionDepth: 4
    functionLinenumber: 205
    functionLinenumberEnd: 244
    functionName: TextTest
    functionSourceFile: /src/vlc/test/dynamicoverlay/overlay-test.c
    functionUses: 0
    functionsReached:
    - SetTextSize
    - SetTextAlpha
    - sleep
    - printf
    - abs
    - usleep
    - sin
    - GetTextSize
    - SetTextColor
    linkageType: ''
    returnType: void
    signature: void TextTest( FILE *p_cmd, FILE *p_res, int i_overlay )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:252,1
    - Dst: exit
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:254,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:257,1
    - Dst: shmget
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:258,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:260,1
    - Dst: exit
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:261,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:263,1
    - Dst: shmget
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:264,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:266,1
    - Dst: exit
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:267,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:269,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:271,1
    - Dst: shmat
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:272,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:274,1
    - Dst: exit
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:275,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:277,1
    - Dst: shmat
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:278,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:280,1
    - Dst: exit
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:281,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:283,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:285,1
    - Dst: shmctl
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:286,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:287,1
    - Dst: exit
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:288,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:290,1
    - Dst: shmctl
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:291,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:292,1
    - Dst: exit
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:293,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:295,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:297,1
    - Dst: DataCreate
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:298,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:299,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:301,1
    - Dst: mkfifo
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:302,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:304,1
    - Dst: exit
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:305,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:307,1
    - Dst: mkfifo
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:309,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:311,1
    - Dst: exit
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:312,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:314,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:316,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:318,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:323,1
    - Dst: fopen
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:324,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:326,1
    - Dst: exit
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:327,1
    - Dst: fopen
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:329,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:331,1
    - Dst: exit
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:332,1
    - Dst: printf
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:334,1
    - Dst: GenImage
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:336,1
    - Dst: GenImage
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:337,1
    - Dst: DataSharedMem
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:338,1
    - Dst: DataSharedMem
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:340,1
    - Dst: BasicTest
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:343,1
    - Dst: BasicTest
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:344,1
    - Dst: TextTest
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:345,1
    - Dst: DeleteImage
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:347,1
    - Dst: DeleteImage
      Src: /src/vlc/test/dynamicoverlay/overlay-test.c:348,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 77
    argCount: 2
    argNames:
    - i_argc
    - ppsz_argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 250
    functionDepth: 5
    functionLinenumber: 250
    functionLinenumberEnd: 349
    functionName: main
    functionSourceFile: /src/vlc/test/dynamicoverlay/overlay-test.c
    functionUses: 1
    functionsReached:
    - shmctl
    - exit
    - GenImage
    - shmat
    - printf
    - DataSharedMem
    - BasicTest
    - fopen
    - DataCreate
    - TextTest
    - DeleteImage
    - mkfifo
    - shmget
    linkageType: ''
    returnType: int
    signature: int main( int i_argc, char *ppsz_argv[] )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/vlc/compat/sincos.c:29,1
    - Dst: cos
      Src: /src/vlc/compat/sincos.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - sr
    - cr
    argTypes:
    - double
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: sincos
    functionSourceFile: /src/vlc/compat/sincos.c
    functionUses: 0
    functionsReached:
    - sin
    - cos
    linkageType: ''
    returnType: void
    signature: void sincos(double r, double *restrict sr, double *restrict cr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sinf
      Src: /src/vlc/compat/sincos.c:35,1
    - Dst: cosf
      Src: /src/vlc/compat/sincos.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - sr
    - cr
    argTypes:
    - float
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: sincosf
    functionSourceFile: /src/vlc/compat/sincos.c
    functionUses: 0
    functionsReached:
    - cosf
    - sinf
    linkageType: ''
    returnType: void
    signature: void sincosf(float r, float *restrict sr, float *restrict cr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: _lock_file
    functionSourceFile: /src/vlc/compat/flockfile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _lock_file(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: _unlock_file
    functionSourceFile: /src/vlc/compat/flockfile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _unlock_file(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: _getc_nolock
    functionSourceFile: /src/vlc/compat/flockfile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _getc_nolock(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: _putc_nolock
    functionSourceFile: /src/vlc/compat/flockfile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _putc_nolock(s,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _lock_file
      Src: /src/vlc/compat/flockfile.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: flockfile
    functionSourceFile: /src/vlc/compat/flockfile.c
    functionUses: 1
    functionsReached:
    - _lock_file
    linkageType: ''
    returnType: void
    signature: void flockfile (FILE *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _unlock_file
      Src: /src/vlc/compat/flockfile.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: funlockfile
    functionSourceFile: /src/vlc/compat/flockfile.c
    functionUses: 1
    functionsReached:
    - _unlock_file
    linkageType: ''
    returnType: void
    signature: void funlockfile (FILE *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getc_nolock
      Src: /src/vlc/compat/flockfile.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: getc_unlocked
    functionSourceFile: /src/vlc/compat/flockfile.c
    functionUses: 0
    functionsReached:
    - _getc_nolock
    linkageType: ''
    returnType: int
    signature: int getc_unlocked (FILE *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _putc_nolock
      Src: /src/vlc/compat/flockfile.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - stream
    argTypes:
    - int
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: putc_unlocked
    functionSourceFile: /src/vlc/compat/flockfile.c
    functionUses: 0
    functionsReached:
    - _putc_nolock
    linkageType: ''
    returnType: int
    signature: int putc_unlocked (int c, FILE *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getc_unlocked
      Src: /src/vlc/compat/flockfile.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: getchar_unlocked
    functionSourceFile: /src/vlc/compat/flockfile.c
    functionUses: 0
    functionsReached:
    - getc_unlocked
    linkageType: ''
    returnType: int
    signature: int getchar_unlocked (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putc_unlocked
      Src: /src/vlc/compat/flockfile.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: putchar_unlocked
    functionSourceFile: /src/vlc/compat/flockfile.c
    functionUses: 0
    functionsReached:
    - putc_unlocked
    linkageType: ''
    returnType: int
    signature: int putchar_unlocked (int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - num
    - denom
    argTypes:
    - long long
    - long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: lldiv
    functionSourceFile: /src/vlc/compat/lldiv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: lldiv_t
    signature: lldiv_t lldiv (long long num, long long denom)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/compat/strnstr.c:30,1
    - Dst: strlen
      Src: /src/vlc/compat/strnstr.c:32,1
    - Dst: memcmp
      Src: /src/vlc/compat/strnstr.c:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - haystack
    - needle
    - len
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts:
    - condition: (needle != NULL)
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/vlc/compat/strnstr.c
    constantsTouched: []
    func_position:
      end: 50
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 50
    functionName: strnstr
    functionSourceFile: /src/vlc/compat/strnstr.c
    functionUses: 0
    functionsReached:
    - strlen
    - assert
    - memcmp
    linkageType: ''
    returnType: char
    signature: char * strnstr (const char *haystack, const char *needle, size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: posix_memalign
      Src: /src/vlc/compat/aligned_alloc.c:49,1
    - Dst: memalign
      Src: /src/vlc/compat/aligned_alloc.c:58,1
    - Dst: _aligned_malloc
      Src: /src/vlc/compat/aligned_alloc.c:60,1
    - Dst: assert
      Src: /src/vlc/compat/aligned_alloc.c:63,1
    - Dst: malloc
      Src: /src/vlc/compat/aligned_alloc.c:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - align
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts:
    - condition: (align <= alignof (max_align_t))
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/vlc/compat/aligned_alloc.c
    constantsTouched: []
    func_position:
      end: 66
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 66
    functionName: aligned_alloc
    functionSourceFile: /src/vlc/compat/aligned_alloc.c
    functionUses: 0
    functionsReached:
    - assert
    - memalign
    - posix_memalign
    - _aligned_malloc
    - malloc
    linkageType: ''
    returnType: void
    signature: void *aligned_alloc(size_t align, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/compat/strlcpy.c:40,1
    - Dst: memcpy
      Src: /src/vlc/compat/strlcpy.c:43,1
    - Dst: memcpy
      Src: /src/vlc/compat/strlcpy.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - tgt
    - src
    - bufsize
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 49
    functionName: strlcpy
    functionSourceFile: /src/vlc/compat/strlcpy.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t strlcpy (char *tgt, const char *src, size_t bufsize)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - y
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 38
    functionName: is_leap_year
    functionSourceFile: /src/vlc/compat/timegm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_leap_year(unsigned y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_leap_year
      Src: /src/vlc/compat/timegm.c:60,1
    - Dst: is_leap_year
      Src: /src/vlc/compat/timegm.c:63,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 1
    argNames:
    - tm
    argTypes:
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 72
    functionName: timegm
    functionSourceFile: /src/vlc/compat/timegm.c
    functionUses: 0
    functionsReached:
    - is_leap_year
    linkageType: ''
    returnType: time_t
    signature: time_t timegm(struct tm *tm)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/vlc/compat/getdelim.c:40,1
    - Dst: fgetc
      Src: /src/vlc/compat/getdelim.c:47,1
    - Dst: ferror
      Src: /src/vlc/compat/getdelim.c:50,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 4
    argNames:
    - lineptr
    - n
    - delimiter
    - stream
    argTypes:
    - char**
    - size_t*
    - int
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 61
    functionName: getdelim
    functionSourceFile: /src/vlc/compat/getdelim.c
    functionUses: 0
    functionsReached:
    - ferror
    - realloc
    - fgetc
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t getdelim (char **restrict lineptr, size_t *restrict n,\n                  int
      delimiter, FILE *restrict stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getdelim
      Src: /src/vlc/compat/getdelim.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - lineptr
    - n
    - stream
    argTypes:
    - char**
    - size_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: getline
    functionSourceFile: /src/vlc/compat/getdelim.c
    functionUses: 0
    functionsReached:
    - getdelim
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t getline (char **restrict lineptr, size_t *restrict n,\n                 FILE
      *restrict stream)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - p_src_
    - p_dst_
    - n
    argTypes:
    - void*
    - void*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 42
    functionName: swab
    functionSourceFile: /src/vlc/compat/swab.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swab( const void *p_src_, void *p_dst_, ssize_t n )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: toupper
      Src: /src/vlc/compat/strcasestr.c:37,1
    - Dst: toupper
      Src: /src/vlc/compat/strcasestr.c:37,1
    - Dst: toupper
      Src: /src/vlc/compat/strcasestr.c:42,1
    - Dst: toupper
      Src: /src/vlc/compat/strcasestr.c:42,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - psz_big
    - psz_little
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 52
    functionName: strcasestr
    functionSourceFile: /src/vlc/compat/strcasestr.c
    functionUses: 0
    functionsReached:
    - toupper
    linkageType: ''
    returnType: char
    signature: char *strcasestr (const char *psz_big, const char *psz_little)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/compat/recvmsg.c:48,1
    - Dst: WSARecvFrom
      Src: /src/vlc/compat/recvmsg.c:63,1
    - Dst: WSARecv
      Src: /src/vlc/compat/recvmsg.c:66,1
    - Dst: free
      Src: /src/vlc/compat/recvmsg.c:68,1
    - Dst: WSAGetLastError
      Src: /src/vlc/compat/recvmsg.c:77,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 69
    argCount: 3
    argNames:
    - fd
    - msg
    - flags
    argTypes:
    - int
    - struct msghdr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 124
    functionName: recvmsg
    functionSourceFile: /src/vlc/compat/recvmsg.c
    functionUses: 0
    functionsReached:
    - free
    - WSARecv
    - malloc
    - WSARecvFrom
    - WSAGetLastError
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t recvmsg(int fd, struct msghdr *msg, int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strpbrk
      Src: /src/vlc/compat/strsep.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ppsz_string
    - psz_delimiters
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 43
    functionName: strsep
    functionSourceFile: /src/vlc/compat/strsep.c
    functionUses: 0
    functionsReached:
    - strpbrk
    linkageType: ''
    returnType: char
    signature: char *strsep( char **ppsz_string, const char *psz_delimiters )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sysctl
      Src: /src/vlc/compat/clock_gettime.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tv
    argTypes:
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: vlc__get_system_boottime
    functionSourceFile: /src/vlc/compat/clock_gettime.c
    functionUses: 0
    functionsReached:
    - sysctl
    linkageType: ''
    returnType: int
    signature: int vlc__get_system_boottime(struct timeval *tv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc__get_system_boottime
      Src: /src/vlc/compat/clock_gettime.c:88,1
    - Dst: gettimeofday
      Src: /src/vlc/compat/clock_gettime.c:92,1
    - Dst: vlc__get_system_boottime
      Src: /src/vlc/compat/clock_gettime.c:96,1
    - Dst: timercmp
      Src: /src/vlc/compat/clock_gettime.c:99,1
    - Dst: timersub
      Src: /src/vlc/compat/clock_gettime.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - tv
    argTypes:
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 103
    functionName: vlc__get_monotonic
    functionSourceFile: /src/vlc/compat/clock_gettime.c
    functionUses: 0
    functionsReached:
    - timercmp
    - gettimeofday
    - vlc__get_system_boottime
    - timersub
    linkageType: ''
    returnType: int
    signature: int vlc__get_monotonic(struct timeval *tv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc__get_monotonic
      Src: /src/vlc/compat/clock_gettime.c:112,1
    - Dst: gettimeofday
      Src: /src/vlc/compat/clock_gettime.c:115,1
    - Dst: TIMEVAL_TO_TIMESPEC
      Src: /src/vlc/compat/clock_gettime.c:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - clock_id
    - tp
    argTypes:
    - clockid_t
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 125
    functionName: clock_gettime
    functionSourceFile: /src/vlc/compat/clock_gettime.c
    functionUses: 1
    functionsReached:
    - gettimeofday
    - vlc__get_monotonic
    - TIMEVAL_TO_TIMESPEC
    linkageType: ''
    returnType: int
    signature: int clock_gettime(clockid_t clock_id, struct timespec *tp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/vlc/compat/tdestroy.c:47,1
    - Dst: abort
      Src: /src/vlc/compat/tdestroy.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - node
    - which
    - depth
    argTypes:
    - void*
    - VISIT
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 54
    functionName: list_nodes
    functionSourceFile: /src/vlc/compat/tdestroy.c
    functionUses: 0
    functionsReached:
    - abort
    - realloc
    linkageType: ''
    returnType: void
    signature: void list_nodes(const void *node, const VISIT which, const int depth)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/vlc/compat/tdestroy.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: cmp_smallest
    functionSourceFile: /src/vlc/compat/tdestroy.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: int
    signature: int cmp_smallest(const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/compat/tdestroy.c:74,1
    - Dst: assert
      Src: /src/vlc/compat/tdestroy.c:77,1
    - Dst: twalk
      Src: /src/vlc/compat/tdestroy.c:78,1
    - Dst: tdelete
      Src: /src/vlc/compat/tdestroy.c:90,1
    - Dst: assert
      Src: /src/vlc/compat/tdestroy.c:91,1
    - Dst: assert
      Src: /src/vlc/compat/tdestroy.c:93,1
    - Dst: freenode
      Src: /src/vlc/compat/tdestroy.c:97,1
    - Dst: free
      Src: /src/vlc/compat/tdestroy.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - root
    argTypes:
    - void*
    assertStmts:
    - condition: (freenode != NULL)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/vlc/compat/tdestroy.c
    - condition: (node != NULL)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/vlc/compat/tdestroy.c
    - condition: (list.count == 0)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/vlc/compat/tdestroy.c
    - condition: (root == NULL)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/vlc/compat/tdestroy.c
    constantsTouched: []
    func_position:
      end: 99
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 99
    functionName: tdestroy
    functionSourceFile: /src/vlc/compat/tdestroy.c
    functionUses: 0
    functionsReached:
    - assert
    - freenode
    - twalk
    - free
    - tdelete
    linkageType: ''
    returnType: void
    signature: void tdestroy(void *root, void (*freenode)(void *))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/vlc/compat/inet_pton.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - af
    - src
    - dst
    argTypes:
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: inet_pton
    functionSourceFile: /src/vlc/compat/inet_pton.c
    functionUses: 0
    functionsReached:
    - sscanf
    linkageType: ''
    returnType: int
    signature: int inet_pton (int af, const char *src, void *dst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/vlc/compat/inet_pton.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - af
    - src
    - dst
    - len
    argTypes:
    - int
    - void*
    - char*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 67
    functionName: inet_ntop
    functionSourceFile: /src/vlc/compat/inet_pton.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: char *inet_ntop (int af, const void *src, char *dst, socklen_t len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/vlc/compat/strverscmp.c:78,1
    - Dst: isdigit
      Src: /src/vlc/compat/strverscmp.c:89,1
    - Dst: isdigit
      Src: /src/vlc/compat/strverscmp.c:92,1
    - Dst: isdigit
      Src: /src/vlc/compat/strverscmp.c:100,1
    - Dst: isdigit
      Src: /src/vlc/compat/strverscmp.c:101,1
    - Dst: isdigit
      Src: /src/vlc/compat/strverscmp.c:104,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 109
    functionName: strverscmp
    functionSourceFile: /src/vlc/compat/strverscmp.c
    functionUses: 0
    functionsReached:
    - isdigit
    linkageType: ''
    returnType: int
    signature: int strverscmp (const char *s1, const char *s2)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - s
    - c
    - n
    argTypes:
    - void*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 41
    functionName: memrchr
    functionSourceFile: /src/vlc/compat/memrchr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      memrchr(const void *s, int c, size_t n)'
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/compat/sendmsg.c:48,1
    - Dst: WSASendTo
      Src: /src/vlc/compat/sendmsg.c:60,1
    - Dst: free
      Src: /src/vlc/compat/sendmsg.c:62,1
    - Dst: WSAGetLastError
      Src: /src/vlc/compat/sendmsg.c:67,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 63
    argCount: 3
    argNames:
    - fd
    - msg
    - flags
    argTypes:
    - int
    - struct msghdr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 114
    functionName: sendmsg
    functionSourceFile: /src/vlc/compat/sendmsg.c
    functionUses: 1
    functionsReached:
    - WSASendTo
    - free
    - malloc
    - WSAGetLastError
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t sendmsg(int fd, const struct msghdr *msg, int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - errnum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: gai_strerror
    functionSourceFile: /src/vlc/compat/gai_strerror.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gai_strerror (int errnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strtod
      Src: /src/vlc/compat/atof.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: atof
    functionSourceFile: /src/vlc/compat/atof.c
    functionUses: 0
    functionsReached:
    - strtod
    linkageType: ''
    returnType: double
    signature: double atof (const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fseek
      Src: /src/vlc/compat/rewind.c:29,1
    - Dst: clearerr
      Src: /src/vlc/compat/rewind.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: rewind
    functionSourceFile: /src/vlc/compat/rewind.c
    functionUses: 0
    functionsReached:
    - fseek
    - clearerr
    linkageType: ''
    returnType: void
    signature: void rewind (FILE *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vlc/compat/asprintf.c:33,1
    - Dst: vasprintf
      Src: /src/vlc/compat/asprintf.c:34,1
    - Dst: va_end
      Src: /src/vlc/compat/asprintf.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - strp
    - fmt
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: asprintf
    functionSourceFile: /src/vlc/compat/asprintf.c
    functionUses: 13
    functionsReached:
    - va_end
    - vasprintf
    - va_start
    linkageType: ''
    returnType: int
    signature: int asprintf (char **strp, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/vlc/compat/strnlen.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - max
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: strnlen
    functionSourceFile: /src/vlc/compat/strnlen.c
    functionUses: 0
    functionsReached:
    - memchr
    linkageType: ''
    returnType: size_t
    signature: size_t strnlen (const char *str, size_t max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentProcessId
      Src: /src/vlc/compat/getpid.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: getpid
    functionSourceFile: /src/vlc/compat/getpid.c
    functionUses: 1
    functionsReached:
    - GetCurrentProcessId
    linkageType: ''
    returnType: pid_t
    signature: pid_t getpid (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/vlc/compat/writev.c:34,1
    - Dst: malloc
      Src: /src/vlc/compat/writev.c:48,1
    - Dst: memcpy
      Src: /src/vlc/compat/writev.c:57,1
    - Dst: write
      Src: /src/vlc/compat/writev.c:62,1
    - Dst: free
      Src: /src/vlc/compat/writev.c:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - fd
    - iov
    - iovcnt
    argTypes:
    - int
    - struct iovec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 68
    functionName: writev
    functionSourceFile: /src/vlc/compat/writev.c
    functionUses: 1
    functionsReached:
    - free
    - memcpy
    - malloc
    - write
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t writev(int fd, const struct iovec *iov, int iovcnt)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/vlc/compat/clock_nanosleep.c:66,1
    - Dst: pthread_testcancel
      Src: /src/vlc/compat/clock_nanosleep.c:79,1
    - Dst: nanosleep
      Src: /src/vlc/compat/clock_nanosleep.c:85,1
    - Dst: nanosleep
      Src: /src/vlc/compat/clock_nanosleep.c:91,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 4
    argNames:
    - clock_id
    - flags
    - rqtp
    - rmtp
    argTypes:
    - clockid_t
    - int
    - struct timespec*
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 97
    functionName: clock_nanosleep
    functionSourceFile: /src/vlc/compat/clock_nanosleep.c
    functionUses: 0
    functionsReached:
    - nanosleep
    - clock_gettime
    - pthread_testcancel
    linkageType: ''
    returnType: int
    signature: "int clock_nanosleep(clockid_t clock_id, int flags,\n        const
      struct timespec *rqtp, struct timespec *rmtp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/compat/freeaddrinfo.c:41,1
    - Dst: free
      Src: /src/vlc/compat/freeaddrinfo.c:42,1
    - Dst: free
      Src: /src/vlc/compat/freeaddrinfo.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - res
    argTypes:
    - struct addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: freeaddrinfo
    functionSourceFile: /src/vlc/compat/freeaddrinfo.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void freeaddrinfo (struct addrinfo *res)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gmtime_s
      Src: /src/vlc/compat/gmtime_r.c:32,1
    - Dst: lldiv
      Src: /src/vlc/compat/gmtime_r.c:49,1
    - Dst: lldiv
      Src: /src/vlc/compat/gmtime_r.c:57,1
    - Dst: lldiv
      Src: /src/vlc/compat/gmtime_r.c:60,1
    - Dst: lldiv
      Src: /src/vlc/compat/gmtime_r.c:65,1
    - Dst: lldiv
      Src: /src/vlc/compat/gmtime_r.c:73,1
    - Dst: lldiv
      Src: /src/vlc/compat/gmtime_r.c:80,1
    - Dst: lldiv
      Src: /src/vlc/compat/gmtime_r.c:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 2
    argNames:
    - timep
    - tm
    argTypes:
    - time_t*
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 103
    functionName: gmtime_r
    functionSourceFile: /src/vlc/compat/gmtime_r.c
    functionUses: 0
    functionsReached:
    - gmtime_s
    - lldiv
    linkageType: ''
    returnType: struct tm
    signature: struct tm *gmtime_r (const time_t *timep, struct tm *tm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/compat/posix_memalign.c:35,1
    - Dst: free
      Src: /src/vlc/compat/posix_memalign.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - align
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: memalign
    functionSourceFile: /src/vlc/compat/posix_memalign.c
    functionUses: 1
    functionsReached:
    - free
    - malloc
    linkageType: ''
    returnType: void
    signature: void *memalign(size_t align, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - align
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: check_align
    functionSourceFile: /src/vlc/compat/posix_memalign.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int check_align(size_t align)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_align
      Src: /src/vlc/compat/posix_memalign.c:58,1
    - Dst: memalign
      Src: /src/vlc/compat/posix_memalign.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ptr
    - align
    - size
    argTypes:
    - void**
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 80
    functionName: posix_memalign
    functionSourceFile: /src/vlc/compat/posix_memalign.c
    functionUses: 1
    functionsReached:
    - memalign
    - check_align
    linkageType: ''
    returnType: int
    signature: int posix_memalign(void **ptr, size_t align, size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strspn
      Src: /src/vlc/compat/strtok_r.c:35,1
    - Dst: strpbrk
      Src: /src/vlc/compat/strtok_r.c:41,1
    - Dst: strchr
      Src: /src/vlc/compat/strtok_r.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - s
    - delim
    - save_ptr
    argTypes:
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 52
    functionName: strtok_r
    functionSourceFile: /src/vlc/compat/strtok_r.c
    functionUses: 0
    functionsReached:
    - strspn
    - strchr
    - strpbrk
    linkageType: ''
    returnType: char
    signature: char *strtok_r(char *s, const char *delim, char **save_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: localtime_s
      Src: /src/vlc/compat/localtime_r.c:38,1
    - Dst: localtime_s
      Src: /src/vlc/compat/localtime_r.c:40,1
    - Dst: gmtime_r
      Src: /src/vlc/compat/localtime_r.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - timep
    - result
    argTypes:
    - time_t*
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 49
    functionName: localtime_r
    functionSourceFile: /src/vlc/compat/localtime_r.c
    functionUses: 0
    functionsReached:
    - localtime_s
    - gmtime_r
    linkageType: ''
    returnType: struct tm
    signature: struct tm *localtime_r (const time_t *timep, struct tm *result)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MultiByteToWideChar
      Src: /src/vlc/compat/realpath.c:40,1
    - Dst: malloc
      Src: /src/vlc/compat/realpath.c:44,1
    - Dst: MultiByteToWideChar
      Src: /src/vlc/compat/realpath.c:48,1
    - Dst: _wfullpath
      Src: /src/vlc/compat/realpath.c:50,1
    - Dst: free
      Src: /src/vlc/compat/realpath.c:51,1
    - Dst: WideCharToMultiByte
      Src: /src/vlc/compat/realpath.c:54,1
    - Dst: malloc
      Src: /src/vlc/compat/realpath.c:60,1
    - Dst: WideCharToMultiByte
      Src: /src/vlc/compat/realpath.c:63,1
    - Dst: free
      Src: /src/vlc/compat/realpath.c:64,1
    - Dst: free
      Src: /src/vlc/compat/realpath.c:67,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - relpath
    - resolved_path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 74
    functionName: realpath
    functionSourceFile: /src/vlc/compat/realpath.c
    functionUses: 1
    functionsReached:
    - WideCharToMultiByte
    - free
    - MultiByteToWideChar
    - _wfullpath
    - malloc
    linkageType: ''
    returnType: char
    signature: char *realpath(const char * restrict relpath, char * restrict resolved_path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemTimeAsFileTime
      Src: /src/vlc/compat/timespec_get.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ts
    - base
    argTypes:
    - struct timespec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: timespec_get
    functionSourceFile: /src/vlc/compat/timespec_get.c
    functionUses: 0
    functionsReached:
    - GetSystemTimeAsFileTime
    linkageType: ''
    returnType: int
    signature: int timespec_get(struct timespec *ts, int base)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/vlc/compat/timespec_get.c:62,1
    - Dst: gettimeofday
      Src: /src/vlc/compat/timespec_get.c:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - ts
    - base
    argTypes:
    - struct timespec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 82
    functionName: timespec_get
    functionSourceFile: /src/vlc/compat/timespec_get.c
    functionUses: 0
    functionsReached:
    - clock_gettime
    - gettimeofday
    linkageType: ''
    returnType: int
    signature: int timespec_get(struct timespec *ts, int base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strnlen
      Src: /src/vlc/compat/strndup.c:30,1
    - Dst: malloc
      Src: /src/vlc/compat/strndup.c:31,1
    - Dst: memcpy
      Src: /src/vlc/compat/strndup.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - str
    - max
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: strndup
    functionSourceFile: /src/vlc/compat/strndup.c
    functionUses: 0
    functionsReached:
    - memcpy
    - malloc
    - strnlen
    linkageType: ''
    returnType: char
    signature: char *strndup (const char *str, size_t max)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strspn
      Src: /src/vlc/compat/strtoll.c:33,1
    - Dst: strtol
      Src: /src/vlc/compat/strtoll.c:87,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 48
    argCount: 3
    argNames:
    - nptr
    - endptr
    - base
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 92
    functionName: strtoll
    functionSourceFile: /src/vlc/compat/strtoll.c
    functionUses: 1
    functionsReached:
    - strspn
    - strtol
    linkageType: ''
    returnType: long long int
    signature: long long int strtoll( const char *nptr, char **endptr, int base )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/vlc/compat/nrand48.c:29,1
    - Dst: UINT64_C
      Src: /src/vlc/compat/nrand48.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - subi
    argTypes:
    - unsigned short[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 46
    functionName: iterate48
    functionSourceFile: /src/vlc/compat/nrand48.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t iterate48 (unsigned short subi[3])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterate48
      Src: /src/vlc/compat/nrand48.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - subi
    argTypes:
    - unsigned short[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: erand48
    functionSourceFile: /src/vlc/compat/nrand48.c
    functionUses: 0
    functionsReached:
    - iterate48
    linkageType: ''
    returnType: double
    signature: double erand48 (unsigned short subi[3])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterate48
      Src: /src/vlc/compat/nrand48.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - subi
    argTypes:
    - unsigned short[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: jrand48
    functionSourceFile: /src/vlc/compat/nrand48.c
    functionUses: 0
    functionsReached:
    - iterate48
    linkageType: ''
    returnType: long
    signature: long jrand48 (unsigned short subi[3])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterate48
      Src: /src/vlc/compat/nrand48.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - subi
    argTypes:
    - unsigned short[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: nrand48
    functionSourceFile: /src/vlc/compat/nrand48.c
    functionUses: 0
    functionsReached:
    - iterate48
    linkageType: ''
    returnType: long
    signature: long nrand48 (unsigned short subi[3])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/vlc/compat/setenv.c:31,1
    - Dst: strlen
      Src: /src/vlc/compat/setenv.c:34,1
    - Dst: strlen
      Src: /src/vlc/compat/setenv.c:35,1
    - Dst: malloc
      Src: /src/vlc/compat/setenv.c:36,1
    - Dst: sprintf
      Src: /src/vlc/compat/setenv.c:41,1
    - Dst: putenv
      Src: /src/vlc/compat/setenv.c:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - name
    - value
    - override
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 47
    functionName: setenv
    functionSourceFile: /src/vlc/compat/setenv.c
    functionUses: 11
    functionsReached:
    - sprintf
    - strlen
    - putenv
    - malloc
    - getenv
    linkageType: ''
    returnType: int
    signature: int setenv (const char *name, const char *value, int override)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setenv
      Src: /src/vlc/compat/setenv.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: unsetenv
    functionSourceFile: /src/vlc/compat/setenv.c
    functionUses: 1
    functionsReached:
    - setenv
    linkageType: ''
    returnType: int
    signature: int unsetenv (const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strtod
      Src: /src/vlc/compat/strtof.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - end
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: strtof
    functionSourceFile: /src/vlc/compat/strtof.c
    functionUses: 0
    functionsReached:
    - strtod
    linkageType: ''
    returnType: float
    signature: float strtof (const char *str, char **end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strtoll
      Src: /src/vlc/compat/atoll.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: atoll
    functionSourceFile: /src/vlc/compat/atoll.c
    functionUses: 1
    functionsReached:
    - strtoll
    linkageType: ''
    returnType: long long
    signature: long long atoll (const char *str)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/vlc/compat/fdopendir.c:37,1
    - Dst: fstat
      Src: /src/vlc/compat/fdopendir.c:46,1
    - Dst: S_ISDIR
      Src: /src/vlc/compat/fdopendir.c:49,1
    - Dst: sprintf
      Src: /src/vlc/compat/fdopendir.c:58,1
    - Dst: opendir
      Src: /src/vlc/compat/fdopendir.c:60,1
    - Dst: close
      Src: /src/vlc/compat/fdopendir.c:63,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 81
    functionName: fdopendir
    functionSourceFile: /src/vlc/compat/fdopendir.c
    functionUses: 0
    functionsReached:
    - S_ISDIR
    - fstat
    - sprintf
    - fcntl
    - close
    - opendir
    linkageType: ''
    returnType: DIR
    signature: DIR *fdopendir (int fd)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - clock_id
    - tp
    argTypes:
    - clockid_t
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 52
    functionName: clock_getres
    functionSourceFile: /src/vlc/compat/clock_getres.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int clock_getres(clockid_t clock_id, struct timespec *tp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/compat/tfind.c:41,1
    - Dst: assert
      Src: /src/vlc/compat/tfind.c:42,1
    - Dst: free
      Src: /src/vlc/compat/tfind.c:70,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - vkey
    - vrootp
    argTypes:
    - void*
    - void**
    assertStmts:
    - condition: (vkey != NULL)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/vlc/compat/tfind.c
    - condition: (compar != NULL)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/vlc/compat/tfind.c
    constantsTouched: []
    func_position:
      end: 73
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 73
    functionName: tdelete
    functionSourceFile: /src/vlc/compat/tfind.c
    functionUses: 1
    functionsReached:
    - free
    - assert
    linkageType: ''
    returnType: void
    signature: "void *\ntdelete(const void *vkey, void **vrootp,\n    int (*compar)(const
      void *, const void *))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdestroy_recurse
      Src: /src/vlc/compat/tfind.c:94,1
    - Dst: tdestroy_recurse
      Src: /src/vlc/compat/tfind.c:96,1
    - Dst: free
      Src: /src/vlc/compat/tfind.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - root
    argTypes:
    - node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: tdestroy_recurse
    functionSourceFile: /src/vlc/compat/tfind.c
    functionUses: 1
    functionsReached:
    - free
    - tdestroy_recurse
    linkageType: ''
    returnType: void
    signature: void tdestroy_recurse(node_t* root, void (*free_action)(void *))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdestroy_recurse
      Src: /src/vlc/compat/tfind.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - vrootp
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: tdestroy
    functionSourceFile: /src/vlc/compat/tfind.c
    functionUses: 0
    functionsReached:
    - tdestroy_recurse
    linkageType: ''
    returnType: void
    signature: void tdestroy(void *vrootp, void (*freefct)(void*))
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/compat/tfind.c:132,1
    - Dst: assert
      Src: /src/vlc/compat/tfind.c:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - vkey
    - vrootp
    argTypes:
    - void*
    - void**
    assertStmts:
    - condition: (vkey != NULL)
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/vlc/compat/tfind.c
    - condition: (compar != NULL)
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/vlc/compat/tfind.c
    constantsTouched: []
    func_position:
      end: 148
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 148
    functionName: tfind
    functionSourceFile: /src/vlc/compat/tfind.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void *\ntfind(const void *vkey, void * const *vrootp,\n    int (*compar)(const
      void *, const void *))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/compat/tfind.c:172,1
    - Dst: assert
      Src: /src/vlc/compat/tfind.c:173,1
    - Dst: malloc
      Src: /src/vlc/compat/tfind.c:189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - vkey
    - vrootp
    argTypes:
    - void*
    - void**
    assertStmts:
    - condition: (vkey != NULL)
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/vlc/compat/tfind.c
    - condition: (compar != NULL)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/vlc/compat/tfind.c
    constantsTouched: []
    func_position:
      end: 196
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 196
    functionName: tsearch
    functionSourceFile: /src/vlc/compat/tfind.c
    functionUses: 0
    functionsReached:
    - assert
    - malloc
    linkageType: ''
    returnType: void
    signature: "void *\ntsearch(const void *vkey, void **vrootp,\n    int (*compar)(const
      void *, const void *))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/compat/tfind.c:217,1
    - Dst: assert
      Src: /src/vlc/compat/tfind.c:218,1
    - Dst: trecurse
      Src: /src/vlc/compat/tfind.c:225,1
    - Dst: trecurse
      Src: /src/vlc/compat/tfind.c:228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - root
    - action
    - level
    argTypes:
    - node_t*
    - cmp_fn_t
    - int
    assertStmts:
    - condition: (root != NULL)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/vlc/compat/tfind.c
    - condition: (action != NULL)
      pos:
        line_end: 217
        line_start: 217
        source_file: /src/vlc/compat/tfind.c
    constantsTouched: []
    func_position:
      end: 231
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 231
    functionName: trecurse
    functionSourceFile: /src/vlc/compat/tfind.c
    functionUses: 1
    functionsReached:
    - trecurse
    - assert
    linkageType: ''
    returnType: void
    signature: "void trecurse(const node_t *root,\t/* Root of the tree to be walked
      */\n\tcmp_fn_t action, int level)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: trecurse
      Src: /src/vlc/compat/tfind.c:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - vroot
    - action
    argTypes:
    - void*
    - cmp_fn_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 239
    functionName: twalk
    functionSourceFile: /src/vlc/compat/tfind.c
    functionUses: 1
    functionsReached:
    - trecurse
    linkageType: ''
    returnType: void
    signature: void twalk(const void *vroot, cmp_fn_t action)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _stricmp
      Src: /src/vlc/compat/strcasecmp.c:32,1
    - Dst: tolower
      Src: /src/vlc/compat/strcasecmp.c:37,1
    - Dst: tolower
      Src: /src/vlc/compat/strcasecmp.c:37,1
    - Dst: assert
      Src: /src/vlc/compat/strcasecmp.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts:
    - condition: (c2)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/vlc/compat/strcasecmp.c
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: strcasecmp
    functionSourceFile: /src/vlc/compat/strcasecmp.c
    functionUses: 0
    functionsReached:
    - _stricmp
    - assert
    - tolower
    linkageType: ''
    returnType: int
    signature: int strcasecmp (const char *s1, const char *s2)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/vlc/compat/poll.c:40,1
    - Dst: FD_ZERO
      Src: /src/vlc/compat/poll.c:41,1
    - Dst: FD_ZERO
      Src: /src/vlc/compat/poll.c:42,1
    - Dst: FD_SET
      Src: /src/vlc/compat/poll.c:64,1
    - Dst: FD_SET
      Src: /src/vlc/compat/poll.c:66,1
    - Dst: FD_SET
      Src: /src/vlc/compat/poll.c:68,1
    - Dst: div
      Src: /src/vlc/compat/poll.c:73,1
    - Dst: select
      Src: /src/vlc/compat/poll.c:78,1
    - Dst: fcntl
      Src: /src/vlc/compat/poll.c:88,1
    - Dst: FD_ISSET
      Src: /src/vlc/compat/poll.c:102,1
    - Dst: FD_ISSET
      Src: /src/vlc/compat/poll.c:103,1
    - Dst: FD_ISSET
      Src: /src/vlc/compat/poll.c:104,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 3
    argNames:
    - fds
    - nfds
    - timeout
    argTypes:
    - struct pollfd*
    - unsigned
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 107
    functionName: (poll) (struct pollfd *fds, unsigned nfds, int timeout)
    functionSourceFile: /src/vlc/compat/poll.c
    functionUses: 0
    functionsReached:
    - fcntl
    - FD_ISSET
    - select
    - FD_SET
    - FD_ZERO
    - div
    linkageType: ''
    returnType: int
    signature: int (poll) (struct pollfd *fds, unsigned nfds, int timeout)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: SleepEx
      Src: /src/vlc/compat/poll.c:118,1
    - Dst: malloc
      Src: /src/vlc/compat/poll.c:126,1
    - Dst: FD_ZERO
      Src: /src/vlc/compat/poll.c:137,1
    - Dst: FD_ZERO
      Src: /src/vlc/compat/poll.c:138,1
    - Dst: FD_ZERO
      Src: /src/vlc/compat/poll.c:139,1
    - Dst: FD_SET
      Src: /src/vlc/compat/poll.c:140,1
    - Dst: FD_SET
      Src: /src/vlc/compat/poll.c:145,1
    - Dst: FD_SET
      Src: /src/vlc/compat/poll.c:150,1
    - Dst: WSACreateEvent
      Src: /src/vlc/compat/poll.c:157,1
    - Dst: WSACloseEvent
      Src: /src/vlc/compat/poll.c:161,1
    - Dst: free
      Src: /src/vlc/compat/poll.c:162,1
    - Dst: WSAEventSelect
      Src: /src/vlc/compat/poll.c:167,1
    - Dst: WSAGetLastError
      Src: /src/vlc/compat/poll.c:168,1
    - Dst: select
      Src: /src/vlc/compat/poll.c:177,1
    - Dst: FD_ISSET
      Src: /src/vlc/compat/poll.c:179,1
    - Dst: FD_ISSET
      Src: /src/vlc/compat/poll.c:181,1
    - Dst: FD_ISSET
      Src: /src/vlc/compat/poll.c:183,1
    - Dst: WSAWaitForMultipleEvents
      Src: /src/vlc/compat/poll.c:194,1
    - Dst: WSAEnumNetworkEvents
      Src: /src/vlc/compat/poll.c:201,1
    - Dst: memset
      Src: /src/vlc/compat/poll.c:202,1
    - Dst: WSAEventSelect
      Src: /src/vlc/compat/poll.c:203,1
    - Dst: WSACloseEvent
      Src: /src/vlc/compat/poll.c:204,1
    - Dst: free
      Src: /src/vlc/compat/poll.c:245,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 92
    argCount: 3
    argNames:
    - fds
    - nfds
    - timeout
    argTypes:
    - struct pollfd*
    - unsigned
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 253
    functionName: poll_compat
    functionSourceFile: /src/vlc/compat/poll.c
    functionUses: 0
    functionsReached:
    - WSAWaitForMultipleEvents
    - SleepEx
    - memset
    - WSACloseEvent
    - free
    - FD_ISSET
    - FD_SET
    - FD_ZERO
    - WSACreateEvent
    - select
    - WSAEventSelect
    - malloc
    - WSAEnumNetworkEvents
    - WSAGetLastError
    linkageType: ''
    returnType: int
    signature: int poll_compat(struct pollfd *fds, unsigned nfds, int timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: poll_compat
      Src: /src/vlc/compat/poll.c:264,1
    - Dst: poll_compat
      Src: /src/vlc/compat/poll.c:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - fds
    - nfds
    - timeout
    argTypes:
    - struct pollfd*
    - unsigned
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 269
    functionName: poll
    functionSourceFile: /src/vlc/compat/poll.c
    functionUses: 1
    functionsReached:
    - poll_compat
    linkageType: ''
    returnType: int
    signature: int poll(struct pollfd *fds, unsigned nfds, int timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - type
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: getauxval
    functionSourceFile: /src/vlc/compat/getauxval.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long getauxval(unsigned long type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _commit
      Src: /src/vlc/compat/fsync.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 38
    functionName: fsync
    functionSourceFile: /src/vlc/compat/fsync.c
    functionUses: 0
    functionsReached:
    - _commit
    linkageType: ''
    returnType: int
    signature: int fsync (int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmp
      Src: /src/vlc/compat/lfind.c:15,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - key
    - base
    - nmemb
    - size
    argTypes:
    - void*
    - void*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 19
    functionName: lfind
    functionSourceFile: /src/vlc/compat/lfind.c
    functionUses: 0
    functionsReached:
    - cmp
    linkageType: ''
    returnType: void
    signature: "void *lfind(const void *key, const void *base, size_t *nmemb,\n            size_t
      size, int(*cmp)(const void *, const void *))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/vlc/compat/vasprintf.c:36,1
    - Dst: vsnprintf
      Src: /src/vlc/compat/vasprintf.c:37,1
    - Dst: va_end
      Src: /src/vlc/compat/vasprintf.c:38,1
    - Dst: malloc
      Src: /src/vlc/compat/vasprintf.c:40,1
    - Dst: va_copy
      Src: /src/vlc/compat/vasprintf.c:45,1
    - Dst: vsprintf
      Src: /src/vlc/compat/vasprintf.c:46,1
    - Dst: assert
      Src: /src/vlc/compat/vasprintf.c:47,1
    - Dst: va_end
      Src: /src/vlc/compat/vasprintf.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - strp
    - fmt
    - ap
    argTypes:
    - char**
    - char*
    - va_list
    assertStmts:
    - condition: (len2 == len)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/vlc/compat/vasprintf.c
    constantsTouched: []
    func_position:
      end: 59
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 59
    functionName: vasprintf
    functionSourceFile: /src/vlc/compat/vasprintf.c
    functionUses: 2
    functionsReached:
    - assert
    - va_copy
    - vsprintf
    - vsnprintf
    - va_end
    - malloc
    linkageType: ''
    returnType: int
    signature: int vasprintf (char **strp, const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dirfd
      Src: /src/vlc/compat/dirfd.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - dir
    argTypes:
    - DIR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 39
    functionName: (dirfd) (DIR *dir)
    functionSourceFile: /src/vlc/compat/dirfd.c
    functionUses: 0
    functionsReached:
    - dirfd
    linkageType: ''
    returnType: int
    signature: int (dirfd) (DIR *dir)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/vlc/compat/readv.c:34,1
    - Dst: malloc
      Src: /src/vlc/compat/readv.c:53,1
    - Dst: read
      Src: /src/vlc/compat/readv.c:59,1
    - Dst: memcpy
      Src: /src/vlc/compat/readv.c:68,1
    - Dst: free
      Src: /src/vlc/compat/readv.c:73,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - fd
    - iov
    - iovcnt
    argTypes:
    - int
    - struct iovec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 76
    functionName: readv
    functionSourceFile: /src/vlc/compat/readv.c
    functionUses: 1
    functionsReached:
    - free
    - read
    - memcpy
    - malloc
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t readv(int fd, const struct iovec *iov, int iovcnt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/compat/strdup.c:30,1
    - Dst: malloc
      Src: /src/vlc/compat/strdup.c:31,1
    - Dst: memcpy
      Src: /src/vlc/compat/strdup.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: strdup
    functionSourceFile: /src/vlc/compat/strdup.c
    functionUses: 17
    functionsReached:
    - strlen
    - memcpy
    - malloc
    linkageType: ''
    returnType: char
    signature: char *strdup (const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/compat/test/strnstr.c:35,1
    - Dst: strnstr
      Src: /src/vlc/compat/test/strnstr.c:36,1
    - Dst: assert
      Src: /src/vlc/compat/test/strnstr.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - haystack
    - needle
    - len
    - res
    argTypes:
    - char*
    - char*
    - size_t
    - bool
    assertStmts:
    - condition: ( res == ( str != NULL ) )
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/vlc/compat/test/strnstr.c
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: test
    functionSourceFile: /src/vlc/compat/test/strnstr.c
    functionUses: 11
    functionsReached:
    - strlen
    - strnstr
    - assert
    linkageType: ''
    returnType: void
    signature: void test( const char* haystack, const char* needle, size_t len, bool
      res )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/vlc/compat/test/strnstr.c:42,1
    - Dst: test
      Src: /src/vlc/compat/test/strnstr.c:43,1
    - Dst: test
      Src: /src/vlc/compat/test/strnstr.c:44,1
    - Dst: test
      Src: /src/vlc/compat/test/strnstr.c:45,1
    - Dst: test
      Src: /src/vlc/compat/test/strnstr.c:46,1
    - Dst: test
      Src: /src/vlc/compat/test/strnstr.c:47,1
    - Dst: test
      Src: /src/vlc/compat/test/strnstr.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/vlc/compat/test/strnstr.c
    functionUses: 1
    functionsReached:
    - test
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/compat/test/ckd.c:62,1
    - Dst: ckd_mul
      Src: /src/vlc/compat/test/ckd.c:62,1
    - Dst: assert
      Src: /src/vlc/compat/test/ckd.c:63,1
    - Dst: ckd_mul
      Src: /src/vlc/compat/test/ckd.c:63,1
    - Dst: assert
      Src: /src/vlc/compat/test/ckd.c:64,1
    - Dst: ckd_mul
      Src: /src/vlc/compat/test/ckd.c:64,1
    - Dst: assert
      Src: /src/vlc/compat/test/ckd.c:67,1
    - Dst: ckd_mul
      Src: /src/vlc/compat/test/ckd.c:67,1
    - Dst: assert
      Src: /src/vlc/compat/test/ckd.c:68,1
    - Dst: ckd_mul
      Src: /src/vlc/compat/test/ckd.c:68,1
    - Dst: assert
      Src: /src/vlc/compat/test/ckd.c:69,1
    - Dst: ckd_mul
      Src: /src/vlc/compat/test/ckd.c:69,1
    - Dst: assert
      Src: /src/vlc/compat/test/ckd.c:72,1
    - Dst: ckd_mul
      Src: /src/vlc/compat/test/ckd.c:72,1
    - Dst: assert
      Src: /src/vlc/compat/test/ckd.c:73,1
    - Dst: ckd_mul
      Src: /src/vlc/compat/test/ckd.c:73,1
    - Dst: assert
      Src: /src/vlc/compat/test/ckd.c:74,1
    - Dst: ckd_mul
      Src: /src/vlc/compat/test/ckd.c:74,1
    - Dst: assert
      Src: /src/vlc/compat/test/ckd.c:75,1
    - Dst: ckd_mul
      Src: /src/vlc/compat/test/ckd.c:75,1
    - Dst: assert
      Src: /src/vlc/compat/test/ckd.c:78,1
    - Dst: ckd_mul
      Src: /src/vlc/compat/test/ckd.c:78,1
    - Dst: assert
      Src: /src/vlc/compat/test/ckd.c:79,1
    - Dst: ckd_mul
      Src: /src/vlc/compat/test/ckd.c:79,1
    - Dst: assert
      Src: /src/vlc/compat/test/ckd.c:84,1
    - Dst: ckd_add
      Src: /src/vlc/compat/test/ckd.c:84,1
    - Dst: assert
      Src: /src/vlc/compat/test/ckd.c:85,1
    - Dst: ckd_add
      Src: /src/vlc/compat/test/ckd.c:85,1
    - Dst: assert
      Src: /src/vlc/compat/test/ckd.c:86,1
    - Dst: ckd_add
      Src: /src/vlc/compat/test/ckd.c:86,1
    - Dst: assert
      Src: /src/vlc/compat/test/ckd.c:87,1
    - Dst: ckd_add
      Src: /src/vlc/compat/test/ckd.c:87,1
    - Dst: assert
      Src: /src/vlc/compat/test/ckd.c:90,1
    - Dst: ckd_add
      Src: /src/vlc/compat/test/ckd.c:90,1
    - Dst: assert
      Src: /src/vlc/compat/test/ckd.c:91,1
    - Dst: ckd_add
      Src: /src/vlc/compat/test/ckd.c:91,1
    - Dst: assert
      Src: /src/vlc/compat/test/ckd.c:92,1
    - Dst: ckd_add
      Src: /src/vlc/compat/test/ckd.c:92,1
    - Dst: assert
      Src: /src/vlc/compat/test/ckd.c:93,1
    - Dst: ckd_add
      Src: /src/vlc/compat/test/ckd.c:93,1
    - Dst: assert
      Src: /src/vlc/compat/test/ckd.c:98,1
    - Dst: ckd_sub
      Src: /src/vlc/compat/test/ckd.c:98,1
    - Dst: assert
      Src: /src/vlc/compat/test/ckd.c:99,1
    - Dst: ckd_sub
      Src: /src/vlc/compat/test/ckd.c:99,1
    - Dst: assert
      Src: /src/vlc/compat/test/ckd.c:100,1
    - Dst: ckd_sub
      Src: /src/vlc/compat/test/ckd.c:100,1
    - Dst: assert
      Src: /src/vlc/compat/test/ckd.c:103,1
    - Dst: ckd_sub
      Src: /src/vlc/compat/test/ckd.c:103,1
    - Dst: assert
      Src: /src/vlc/compat/test/ckd.c:104,1
    - Dst: ckd_sub
      Src: /src/vlc/compat/test/ckd.c:104,1
    - Dst: assert
      Src: /src/vlc/compat/test/ckd.c:107,1
    - Dst: ckd_sub
      Src: /src/vlc/compat/test/ckd.c:107,1
    - Dst: assert
      Src: /src/vlc/compat/test/ckd.c:108,1
    - Dst: ckd_sub
      Src: /src/vlc/compat/test/ckd.c:108,1
    - Dst: assert
      Src: /src/vlc/compat/test/ckd.c:109,1
    - Dst: ckd_sub
      Src: /src/vlc/compat/test/ckd.c:109,1
    - Dst: assert
      Src: /src/vlc/compat/test/ckd.c:110,1
    - Dst: ckd_sub
      Src: /src/vlc/compat/test/ckd.c:110,1
    - Dst: assert
      Src: /src/vlc/compat/test/ckd.c:111,1
    - Dst: ckd_sub
      Src: /src/vlc/compat/test/ckd.c:111,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!ckd_mul(&ures, 0, 0) && ures == 0)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/vlc/compat/test/ckd.c
    - condition: (!ckd_mul(&ures, 2, 3) && ures == 6)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/vlc/compat/test/ckd.c
    - condition: (!ckd_mul(&res, LLONG_MAX, -1) && res == -LLONG_MAX)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/vlc/compat/test/ckd.c
    - condition: (!ckd_add(&ures, 1, 1) && ures == 2)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/vlc/compat/test/ckd.c
    - condition: (ckd_add(&ures, ULLONG_MAX, 1ULL) && ures == 0)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/vlc/compat/test/ckd.c
    - condition: (!ckd_sub(&ures, ULLONG_MAX, 0) && ures == ULLONG_MAX)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/vlc/compat/test/ckd.c
    - condition: (ckd_sub(&ures, 2, 3) && ures == ULLONG_MAX)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/vlc/compat/test/ckd.c
    - condition: (ckd_sub(&ures, 0ULL, ULLONG_MAX) && ures == 1)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/vlc/compat/test/ckd.c
    - condition: (ckd_mul(&res, LLONG_MAX, 2) && res == -2)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/vlc/compat/test/ckd.c
    - condition: (!ckd_mul(&res, LLONG_MIN, 1) && res == LLONG_MIN)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/vlc/compat/test/ckd.c
    - condition: (ckd_mul(&res, LLONG_MIN, -1) && res == LLONG_MIN)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/vlc/compat/test/ckd.c
    - condition: (!ckd_add(&ures, ULLONG_MAX, 0ULL) && ures == ULLONG_MAX)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/vlc/compat/test/ckd.c
    - condition: (!ckd_add(&ures, ULLONG_MAX - 1ULL, 1ULL) && ures == ULLONG_MAX)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/vlc/compat/test/ckd.c
    - condition: (!ckd_sub(&ures, 1, 1) && ures == 0)
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/vlc/compat/test/ckd.c
    - condition: (ckd_sub(&ures, 0, 1) && ures == ULLONG_MAX)
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/vlc/compat/test/ckd.c
    - condition: (!ckd_sub(&res, 0, 1) && res == -1)
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/vlc/compat/test/ckd.c
    - condition: (!ckd_sub(&ures, 1, 0) && ures == 1)
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/vlc/compat/test/ckd.c
    - condition: (!ckd_sub(&ures, ULLONG_MAX, 1) && ures == ULLONG_MAX - 1ULL)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/vlc/compat/test/ckd.c
    - condition: (ckd_sub(&res, LLONG_MIN, 1) && res == LLONG_MAX)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/vlc/compat/test/ckd.c
    - condition: (!ckd_mul(&ures, 0, 1) && ures == 0)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/vlc/compat/test/ckd.c
    - condition: (!ckd_mul(&res, -3, 3) && res == -9)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/vlc/compat/test/ckd.c
    - condition: (!ckd_mul(&res, LLONG_MAX, 1) && res == LLONG_MAX)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/vlc/compat/test/ckd.c
    - condition: (!ckd_mul(&res, LLONG_MAX / 2, 2) && res == LLONG_MAX / 2 * 2)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/vlc/compat/test/ckd.c
    - condition: (!ckd_add(&ures, 0, 0) && ures == 0)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/vlc/compat/test/ckd.c
    - condition: (!ckd_add(&ures, 0, 1) && ures == 1)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/vlc/compat/test/ckd.c
    - condition: (!ckd_mul(&ures, 1, 0) && ures == 0)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/vlc/compat/test/ckd.c
    - condition: (!ckd_mul(&res, -3, -3) && res == 9)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/vlc/compat/test/ckd.c
    - condition: (!ckd_add(&ures, 1, 0) && ures == 1)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/vlc/compat/test/ckd.c
    - condition: (ckd_add(&res, LLONG_MAX, 1ULL) && res == LLONG_MIN)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/vlc/compat/test/ckd.c
    - condition: (!ckd_sub(&ures, 0, 0) && ures == 0)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/vlc/compat/test/ckd.c
    constantsTouched: []
    func_position:
      end: 115
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 115
    functionName: main
    functionSourceFile: /src/vlc/compat/test/ckd.c
    functionUses: 1
    functionsReached:
    - ckd_mul
    - assert
    - ckd_sub
    - ckd_add
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - id
    - ','
    - flags
    - ','
    - tp
    - ','
    - eret
    - ','
    - eerr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: VLC_TEST
    functionSourceFile: /src/vlc/compat/test/clock_nanosleep.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLC_TEST(id, flags, tp, eret, eerr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/compat/test/clock_nanosleep.c:47,1
    - Dst: clock_nanosleep
      Src: /src/vlc/compat/test/clock_nanosleep.c:47,1
    - Dst: assert
      Src: /src/vlc/compat/test/clock_nanosleep.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - unused
    argTypes:
    - void*
    assertStmts:
    - condition: (clock_nanosleep(CLOCK_MONOTONIC, 0, &ts, NULL) == 0)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/vlc/compat/test/clock_nanosleep.c
    - condition: (0)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/vlc/compat/test/clock_nanosleep.c
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 4
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: waiting_thread_entry
    functionSourceFile: /src/vlc/compat/test/clock_nanosleep.c
    functionUses: 0
    functionsReached:
    - clock_nanosleep
    - assert
    linkageType: ''
    returnType: void
    signature: void *waiting_thread_entry(void *unused)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alarm
      Src: /src/vlc/compat/test/clock_nanosleep.c:54,1
    - Dst: VLC_TEST
      Src: /src/vlc/compat/test/clock_nanosleep.c:59,1
    - Dst: VLC_TEST
      Src: /src/vlc/compat/test/clock_nanosleep.c:60,1
    - Dst: VLC_TEST
      Src: /src/vlc/compat/test/clock_nanosleep.c:61,1
    - Dst: VLC_TEST
      Src: /src/vlc/compat/test/clock_nanosleep.c:62,1
    - Dst: VLC_TEST
      Src: /src/vlc/compat/test/clock_nanosleep.c:68,1
    - Dst: VLC_TEST
      Src: /src/vlc/compat/test/clock_nanosleep.c:69,1
    - Dst: VLC_TEST
      Src: /src/vlc/compat/test/clock_nanosleep.c:70,1
    - Dst: VLC_TEST
      Src: /src/vlc/compat/test/clock_nanosleep.c:71,1
    - Dst: VLC_TEST
      Src: /src/vlc/compat/test/clock_nanosleep.c:77,1
    - Dst: VLC_TEST
      Src: /src/vlc/compat/test/clock_nanosleep.c:78,1
    - Dst: VLC_TEST
      Src: /src/vlc/compat/test/clock_nanosleep.c:79,1
    - Dst: VLC_TEST
      Src: /src/vlc/compat/test/clock_nanosleep.c:80,1
    - Dst: alarm
      Src: /src/vlc/compat/test/clock_nanosleep.c:85,1
    - Dst: VLC_TEST
      Src: /src/vlc/compat/test/clock_nanosleep.c:87,1
    - Dst: VLC_TEST
      Src: /src/vlc/compat/test/clock_nanosleep.c:88,1
    - Dst: alarm
      Src: /src/vlc/compat/test/clock_nanosleep.c:93,1
    - Dst: clock_gettime
      Src: /src/vlc/compat/test/clock_nanosleep.c:96,1
    - Dst: VLC_TEST
      Src: /src/vlc/compat/test/clock_nanosleep.c:99,1
    - Dst: clock_gettime
      Src: /src/vlc/compat/test/clock_nanosleep.c:101,1
    - Dst: assert
      Src: /src/vlc/compat/test/clock_nanosleep.c:102,1
    - Dst: alarm
      Src: /src/vlc/compat/test/clock_nanosleep.c:107,1
    - Dst: VLC_TEST
      Src: /src/vlc/compat/test/clock_nanosleep.c:109,1
    - Dst: alarm
      Src: /src/vlc/compat/test/clock_nanosleep.c:114,1
    - Dst: pthread_create
      Src: /src/vlc/compat/test/clock_nanosleep.c:116,1
    - Dst: pthread_cancel
      Src: /src/vlc/compat/test/clock_nanosleep.c:117,1
    - Dst: pthread_join
      Src: /src/vlc/compat/test/clock_nanosleep.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ts.tv_sec <= ts_now.tv_sec)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/vlc/compat/test/clock_nanosleep.c
    constantsTouched: []
    func_position:
      end: 121
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 121
    functionName: main
    functionSourceFile: /src/vlc/compat/test/clock_nanosleep.c
    functionUses: 1
    functionsReached:
    - assert
    - pthread_create
    - VLC_TEST
    - alarm
    - pthread_cancel
    - clock_gettime
    - pthread_join
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: posix_memalign
      Src: /src/vlc/compat/test/heap.c:54,1
    - Dst: assert
      Src: /src/vlc/compat/test/heap.c:58,1
    - Dst: free
      Src: /src/vlc/compat/test/heap.c:59,1
    - Dst: assert
      Src: /src/vlc/compat/test/heap.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - align
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts:
    - condition: (((uintptr_t)p & (align - 1)) == 0)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/vlc/compat/test/heap.c
    - condition: (val != 0)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/vlc/compat/test/heap.c
    constantsTouched: []
    func_position:
      end: 63
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionName: test_posix_memalign
    functionSourceFile: /src/vlc/compat/test/heap.c
    functionUses: 0
    functionsReached:
    - posix_memalign
    - assert
    - free
    linkageType: ''
    returnType: void
    signature: void test_posix_memalign(size_t align, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/compat/test/heap.c:74,1
    - Dst: aligned_alloc
      Src: /src/vlc/compat/test/heap.c:76,1
    - Dst: free
      Src: /src/vlc/compat/test/heap.c:77,1
    - Dst: aligned_alloc
      Src: /src/vlc/compat/test/heap.c:85,1
    - Dst: assert
      Src: /src/vlc/compat/test/heap.c:86,1
    - Dst: assert
      Src: /src/vlc/compat/test/heap.c:87,1
    - Dst: free
      Src: /src/vlc/compat/test/heap.c:88,1
    - Dst: test_posix_memalign
      Src: /src/vlc/compat/test/heap.c:97,1
    - Dst: test_posix_memalign
      Src: /src/vlc/compat/test/heap.c:98,1
    - Dst: test_posix_memalign
      Src: /src/vlc/compat/test/heap.c:99,1
    - Dst: test_posix_memalign
      Src: /src/vlc/compat/test/heap.c:100,1
    - Dst: test_posix_memalign
      Src: /src/vlc/compat/test/heap.c:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ((align & (align - 1)) == 0)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/vlc/compat/test/heap.c
    - condition: (p != NULL)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/vlc/compat/test/heap.c
    - condition: (((uintptr_t)p & (align - 1)) == 0)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/vlc/compat/test/heap.c
    constantsTouched: []
    func_position:
      end: 105
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 105
    functionName: main
    functionSourceFile: /src/vlc/compat/test/heap.c
    functionUses: 1
    functionsReached:
    - free
    - assert
    - aligned_alloc
    - test_posix_memalign
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: __stdbit_generic_type_func
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __stdbit_generic_type_func(func, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_clzll
      Src: /src/vlc/compat/stdbit/stdbit.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: stdc_leading_zeros_ull
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - __builtin_clzll
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_leading_zeros_ull(unsigned long long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_clzl
      Src: /src/vlc/compat/stdbit/stdbit.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: stdc_leading_zeros_ul
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - __builtin_clzl
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_leading_zeros_ul(unsigned long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_clz
      Src: /src/vlc/compat/stdbit/stdbit.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: stdc_leading_zeros_ui
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 3
    functionsReached:
    - __builtin_clz
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_leading_zeros_ui(unsigned int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_leading_zeros_ui
      Src: /src/vlc/compat/stdbit/stdbit.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: stdc_leading_zeros_us
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_leading_zeros_ui
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_leading_zeros_us(unsigned short value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_leading_zeros_ui
      Src: /src/vlc/compat/stdbit/stdbit.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: stdc_leading_zeros_uc
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_leading_zeros_ui
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_leading_zeros_uc(unsigned char value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - value
    - size
    argTypes:
    - unsigned long long
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 86
    functionName: __stdc_leading_zeros
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int __stdc_leading_zeros(unsigned long long value,\n                                                unsigned
      int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __stdc_leading_zeros
      Src: /src/vlc/compat/stdbit/stdbit.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: stdc_leading_zeros_ull
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - __stdc_leading_zeros
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_leading_zeros_ull(unsigned long long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __stdc_leading_zeros
      Src: /src/vlc/compat/stdbit/stdbit.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: stdc_leading_zeros_ul
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - __stdc_leading_zeros
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_leading_zeros_ul(unsigned long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __stdc_leading_zeros
      Src: /src/vlc/compat/stdbit/stdbit.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: stdc_leading_zeros_ui
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 5
    functionsReached:
    - __stdc_leading_zeros
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_leading_zeros_ui(unsigned int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __stdc_leading_zeros
      Src: /src/vlc/compat/stdbit/stdbit.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: stdc_leading_zeros_us
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - __stdc_leading_zeros
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_leading_zeros_us(unsigned short value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __stdc_leading_zeros
      Src: /src/vlc/compat/stdbit/stdbit.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: stdc_leading_zeros_uc
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - __stdc_leading_zeros
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_leading_zeros_uc(unsigned char value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: stdc_leading_zeros
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stdc_leading_zeros(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_leading_zeros_ull
      Src: /src/vlc/compat/stdbit/stdbit.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: stdc_leading_ones_ull
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_leading_zeros_ull
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_leading_ones_ull(unsigned long long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_leading_zeros_ul
      Src: /src/vlc/compat/stdbit/stdbit.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: stdc_leading_ones_ul
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_leading_zeros_ul
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_leading_ones_ul(unsigned long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_leading_zeros_ui
      Src: /src/vlc/compat/stdbit/stdbit.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: stdc_leading_ones_ui
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_leading_zeros_ui
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_leading_ones_ui(unsigned int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_leading_zeros_us
      Src: /src/vlc/compat/stdbit/stdbit.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: stdc_leading_ones_us
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_leading_zeros_us
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_leading_ones_us(unsigned short value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_leading_zeros_uc
      Src: /src/vlc/compat/stdbit/stdbit.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: stdc_leading_ones_uc
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_leading_zeros_uc
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_leading_ones_uc(unsigned char value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: stdc_leading_ones
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stdc_leading_ones(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/vlc/compat/stdbit/stdbit.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: stdc_trailing_zeros_ull
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - __builtin_ctzll
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_trailing_zeros_ull(unsigned long long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzl
      Src: /src/vlc/compat/stdbit/stdbit.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: stdc_trailing_zeros_ul
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - __builtin_ctzl
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_trailing_zeros_ul(unsigned long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctz
      Src: /src/vlc/compat/stdbit/stdbit.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: stdc_trailing_zeros_ui
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - __builtin_ctz
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_trailing_zeros_ui(unsigned int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctz
      Src: /src/vlc/compat/stdbit/stdbit.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: stdc_trailing_zeros_us
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - __builtin_ctz
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_trailing_zeros_us(unsigned short value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctz
      Src: /src/vlc/compat/stdbit/stdbit.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: stdc_trailing_zeros_uc
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - __builtin_ctz
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_trailing_zeros_uc(unsigned char value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - value
    - size
    argTypes:
    - unsigned long long
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 189
    functionName: __stdc_trailing_zeros
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int __stdc_trailing_zeros(unsigned long long value,\n                                                 unsigned
      int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __stdc_trailing_zeros
      Src: /src/vlc/compat/stdbit/stdbit.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: stdc_trailing_zeros_ull
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - __stdc_trailing_zeros
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_trailing_zeros_ull(unsigned long long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __stdc_trailing_zeros
      Src: /src/vlc/compat/stdbit/stdbit.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: stdc_trailing_zeros_ul
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - __stdc_trailing_zeros
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_trailing_zeros_ul(unsigned long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __stdc_trailing_zeros
      Src: /src/vlc/compat/stdbit/stdbit.h:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: stdc_trailing_zeros_ui
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - __stdc_trailing_zeros
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_trailing_zeros_ui(unsigned int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __stdc_trailing_zeros
      Src: /src/vlc/compat/stdbit/stdbit.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: stdc_trailing_zeros_us
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - __stdc_trailing_zeros
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_trailing_zeros_us(unsigned short value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __stdc_trailing_zeros
      Src: /src/vlc/compat/stdbit/stdbit.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: stdc_trailing_zeros_uc
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - __stdc_trailing_zeros
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_trailing_zeros_uc(unsigned char value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 219
    functionName: stdc_trailing_zeros
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stdc_trailing_zeros(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_trailing_zeros_ull
      Src: /src/vlc/compat/stdbit/stdbit.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: stdc_trailing_ones_ull
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_trailing_zeros_ull
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_trailing_ones_ull(unsigned long long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_trailing_zeros_ul
      Src: /src/vlc/compat/stdbit/stdbit.h:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: stdc_trailing_ones_ul
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_trailing_zeros_ul
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_trailing_ones_ul(unsigned long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_trailing_zeros_ui
      Src: /src/vlc/compat/stdbit/stdbit.h:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: stdc_trailing_ones_ui
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_trailing_zeros_ui
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_trailing_ones_ui(unsigned int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_trailing_zeros_us
      Src: /src/vlc/compat/stdbit/stdbit.h:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: stdc_trailing_ones_us
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_trailing_zeros_us
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_trailing_ones_us(unsigned short value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_trailing_zeros_uc
      Src: /src/vlc/compat/stdbit/stdbit.h:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: stdc_trailing_ones_uc
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_trailing_zeros_uc
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_trailing_ones_uc(unsigned char value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: stdc_trailing_ones
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stdc_trailing_ones(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_leading_zeros_ull
      Src: /src/vlc/compat/stdbit/stdbit.h:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: stdc_first_leading_one_ull
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_leading_zeros_ull
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_first_leading_one_ull(unsigned long long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_leading_zeros_ul
      Src: /src/vlc/compat/stdbit/stdbit.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 256
    functionName: stdc_first_leading_one_ul
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_leading_zeros_ul
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_first_leading_one_ul(unsigned long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_leading_zeros_ui
      Src: /src/vlc/compat/stdbit/stdbit.h:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: stdc_first_leading_one_ui
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_leading_zeros_ui
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_first_leading_one_ui(unsigned int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_leading_zeros_us
      Src: /src/vlc/compat/stdbit/stdbit.h:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: stdc_first_leading_one_us
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_leading_zeros_us
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_first_leading_one_us(unsigned short value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_leading_zeros_uc
      Src: /src/vlc/compat/stdbit/stdbit.h:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: stdc_first_leading_one_uc
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_leading_zeros_uc
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_first_leading_one_uc(unsigned char value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 275
    functionName: stdc_first_leading_one
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stdc_first_leading_one(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_leading_ones_ull
      Src: /src/vlc/compat/stdbit/stdbit.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: stdc_first_leading_zero_ull
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_leading_ones_ull
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_first_leading_zero_ull(unsigned long long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_leading_ones_ul
      Src: /src/vlc/compat/stdbit/stdbit.h:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: stdc_first_leading_zero_ul
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_leading_ones_ul
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_first_leading_zero_ul(unsigned long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_leading_ones_ui
      Src: /src/vlc/compat/stdbit/stdbit.h:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: stdc_first_leading_zero_ui
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_leading_ones_ui
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_first_leading_zero_ui(unsigned int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_leading_ones_us
      Src: /src/vlc/compat/stdbit/stdbit.h:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 3
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: stdc_first_leading_zero_us
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_leading_ones_us
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_first_leading_zero_us(unsigned short value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_leading_ones_uc
      Src: /src/vlc/compat/stdbit/stdbit.h:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 3
    functionLinenumber: 296
    functionLinenumberEnd: 299
    functionName: stdc_first_leading_zero_uc
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_leading_ones_uc
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_first_leading_zero_uc(unsigned char value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: stdc_first_leading_zero
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stdc_first_leading_zero(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ffsll
      Src: /src/vlc/compat/stdbit/stdbit.h:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 308
    functionName: stdc_first_trailing_one_ull
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - __builtin_ffsll
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_first_trailing_one_ull(unsigned long long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ffsl
      Src: /src/vlc/compat/stdbit/stdbit.h:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: stdc_first_trailing_one_ul
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - __builtin_ffsl
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_first_trailing_one_ul(unsigned long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ffs
      Src: /src/vlc/compat/stdbit/stdbit.h:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 318
    functionName: stdc_first_trailing_one_ui
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - __builtin_ffs
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_first_trailing_one_ui(unsigned int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ffs
      Src: /src/vlc/compat/stdbit/stdbit.h:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: stdc_first_trailing_one_us
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - __builtin_ffs
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_first_trailing_one_us(unsigned short value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ffs
      Src: /src/vlc/compat/stdbit/stdbit.h:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 328
    functionName: stdc_first_trailing_one_uc
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - __builtin_ffs
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_first_trailing_one_uc(unsigned char value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_trailing_zeros_ull
      Src: /src/vlc/compat/stdbit/stdbit.h:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 333
    functionName: stdc_first_trailing_one_ull
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_trailing_zeros_ull
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_first_trailing_one_ull(unsigned long long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_trailing_zeros_ul
      Src: /src/vlc/compat/stdbit/stdbit.h:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 338
    functionName: stdc_first_trailing_one_ul
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_trailing_zeros_ul
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_first_trailing_one_ul(unsigned long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_trailing_zeros_ui
      Src: /src/vlc/compat/stdbit/stdbit.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 343
    functionName: stdc_first_trailing_one_ui
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_trailing_zeros_ui
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_first_trailing_one_ui(unsigned int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_trailing_zeros_us
      Src: /src/vlc/compat/stdbit/stdbit.h:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 348
    functionName: stdc_first_trailing_one_us
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_trailing_zeros_us
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_first_trailing_one_us(unsigned short value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_trailing_zeros_uc
      Src: /src/vlc/compat/stdbit/stdbit.h:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 353
    functionName: stdc_first_trailing_one_uc
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_trailing_zeros_uc
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_first_trailing_one_uc(unsigned char value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 358
    functionName: stdc_first_trailing_one
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stdc_first_trailing_one(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_first_trailing_one_ull
      Src: /src/vlc/compat/stdbit/stdbit.h:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: stdc_first_trailing_zero_ull
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_first_trailing_one_ull
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_first_trailing_zero_ull(unsigned long long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_first_trailing_one_ul
      Src: /src/vlc/compat/stdbit/stdbit.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 367
    functionName: stdc_first_trailing_zero_ul
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_first_trailing_one_ul
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_first_trailing_zero_ul(unsigned long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_first_trailing_one_ui
      Src: /src/vlc/compat/stdbit/stdbit.h:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 372
    functionName: stdc_first_trailing_zero_ui
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_first_trailing_one_ui
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_first_trailing_zero_ui(unsigned int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_first_trailing_one_us
      Src: /src/vlc/compat/stdbit/stdbit.h:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 377
    functionName: stdc_first_trailing_zero_us
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_first_trailing_one_us
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_first_trailing_zero_us(unsigned short value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_first_trailing_one_uc
      Src: /src/vlc/compat/stdbit/stdbit.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: stdc_first_trailing_zero_uc
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_first_trailing_one_uc
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_first_trailing_zero_uc(unsigned char value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 386
    functionName: stdc_first_trailing_zero
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stdc_first_trailing_zero(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_popcountll
      Src: /src/vlc/compat/stdbit/stdbit.h:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 391
    functionName: stdc_count_ones_ull
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - __builtin_popcountll
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_count_ones_ull(unsigned long long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_popcountl
      Src: /src/vlc/compat/stdbit/stdbit.h:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 396
    functionName: stdc_count_ones_ul
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - __builtin_popcountl
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_count_ones_ul(unsigned long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_popcount
      Src: /src/vlc/compat/stdbit/stdbit.h:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 401
    functionName: stdc_count_ones_ui
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - __builtin_popcount
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_count_ones_ui(unsigned int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_popcount
      Src: /src/vlc/compat/stdbit/stdbit.h:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 406
    functionName: stdc_count_ones_us
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - __builtin_popcount
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_count_ones_us(unsigned short value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_popcount
      Src: /src/vlc/compat/stdbit/stdbit.h:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 411
    functionName: stdc_count_ones_uc
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - __builtin_popcount
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_count_ones_uc(unsigned char value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - value
    - size
    argTypes:
    - unsigned long long
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 424
    functionName: __stdc_count_ones
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int __stdc_count_ones(unsigned long long value,\n                                             unsigned
      int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __stdc_count_ones
      Src: /src/vlc/compat/stdbit/stdbit.h:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 429
    functionName: stdc_count_ones_ull
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - __stdc_count_ones
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_count_ones_ull(unsigned long long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __stdc_count_ones
      Src: /src/vlc/compat/stdbit/stdbit.h:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 434
    functionName: stdc_count_ones_ul
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - __stdc_count_ones
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_count_ones_ul(unsigned long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __stdc_count_ones
      Src: /src/vlc/compat/stdbit/stdbit.h:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 439
    functionName: stdc_count_ones_ui
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - __stdc_count_ones
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_count_ones_ui(unsigned int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __stdc_count_ones
      Src: /src/vlc/compat/stdbit/stdbit.h:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 444
    functionName: stdc_count_ones_us
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - __stdc_count_ones
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_count_ones_us(unsigned short value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __stdc_count_ones
      Src: /src/vlc/compat/stdbit/stdbit.h:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 449
    functionName: stdc_count_ones_uc
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - __stdc_count_ones
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_count_ones_uc(unsigned char value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 454
    functionName: stdc_count_ones
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stdc_count_ones(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_count_ones_ull
      Src: /src/vlc/compat/stdbit/stdbit.h:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 458
    functionName: stdc_count_zeros_ull
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_count_ones_ull
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_count_zeros_ull(unsigned long long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_count_ones_ul
      Src: /src/vlc/compat/stdbit/stdbit.h:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 463
    functionName: stdc_count_zeros_ul
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_count_ones_ul
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_count_zeros_ul(unsigned long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_count_ones_ui
      Src: /src/vlc/compat/stdbit/stdbit.h:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 468
    functionName: stdc_count_zeros_ui
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_count_ones_ui
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_count_zeros_ui(unsigned int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_count_ones_us
      Src: /src/vlc/compat/stdbit/stdbit.h:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 473
    functionName: stdc_count_zeros_us
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_count_ones_us
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_count_zeros_us(unsigned short value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_count_ones_uc
      Src: /src/vlc/compat/stdbit/stdbit.h:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 478
    functionName: stdc_count_zeros_uc
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_count_ones_uc
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_count_zeros_uc(unsigned char value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 482
    functionName: stdc_count_zeros
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stdc_count_zeros(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 486
    functionName: stdc_has_single_bit_ull
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool stdc_has_single_bit_ull(unsigned long long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 491
    functionName: stdc_has_single_bit_ul
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool stdc_has_single_bit_ul(unsigned long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 496
    functionName: stdc_has_single_bit_ui
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool stdc_has_single_bit_ui(unsigned int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 501
    functionName: stdc_has_single_bit_us
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool stdc_has_single_bit_us(unsigned short value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 506
    functionName: stdc_has_single_bit_uc
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool stdc_has_single_bit_uc(unsigned char value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 510
    functionName: stdc_has_single_bit
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stdc_has_single_bit(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_leading_zeros_ull
      Src: /src/vlc/compat/stdbit/stdbit.h:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 514
    functionName: stdc_bit_width_ull
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_leading_zeros_ull
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_bit_width_ull(unsigned long long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_leading_zeros_ul
      Src: /src/vlc/compat/stdbit/stdbit.h:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 519
    functionName: stdc_bit_width_ul
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_leading_zeros_ul
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_bit_width_ul(unsigned long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_leading_zeros_ui
      Src: /src/vlc/compat/stdbit/stdbit.h:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 524
    functionName: stdc_bit_width_ui
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_leading_zeros_ui
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_bit_width_ui(unsigned int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_leading_zeros_us
      Src: /src/vlc/compat/stdbit/stdbit.h:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 529
    functionName: stdc_bit_width_us
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_leading_zeros_us
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_bit_width_us(unsigned short value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_leading_zeros_uc
      Src: /src/vlc/compat/stdbit/stdbit.h:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 534
    functionName: stdc_bit_width_uc
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_leading_zeros_uc
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_bit_width_uc(unsigned char value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 538
    functionName: stdc_bit_width
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stdc_bit_width(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_bit_width_ull
      Src: /src/vlc/compat/stdbit/stdbit.h:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 539
    functionDepth: 2
    functionLinenumber: 539
    functionLinenumberEnd: 542
    functionName: stdc_bit_floor_ull
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_bit_width_ull
    linkageType: ''
    returnType: unsigned long long
    signature: unsigned long long stdc_bit_floor_ull(unsigned long long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_bit_width_ul
      Src: /src/vlc/compat/stdbit/stdbit.h:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 544
    functionDepth: 2
    functionLinenumber: 544
    functionLinenumberEnd: 547
    functionName: stdc_bit_floor_ul
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_bit_width_ul
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long stdc_bit_floor_ul(unsigned long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_bit_width_ui
      Src: /src/vlc/compat/stdbit/stdbit.h:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 552
    functionName: stdc_bit_floor_ui
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_bit_width_ui
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_bit_floor_ui(unsigned int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_bit_width_us
      Src: /src/vlc/compat/stdbit/stdbit.h:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 554
    functionDepth: 3
    functionLinenumber: 554
    functionLinenumberEnd: 557
    functionName: stdc_bit_floor_us
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_bit_width_us
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short stdc_bit_floor_us(unsigned short value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_bit_width_uc
      Src: /src/vlc/compat/stdbit/stdbit.h:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 559
    functionDepth: 3
    functionLinenumber: 559
    functionLinenumberEnd: 562
    functionName: stdc_bit_floor_uc
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_bit_width_uc
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_bit_floor_uc(unsigned char value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 566
    functionName: stdc_bit_floor
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stdc_bit_floor(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_bit_width_ull
      Src: /src/vlc/compat/stdbit/stdbit.h:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 568
    functionDepth: 2
    functionLinenumber: 568
    functionLinenumberEnd: 571
    functionName: stdc_bit_ceil_ull
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_bit_width_ull
    linkageType: ''
    returnType: unsigned long long
    signature: unsigned long long stdc_bit_ceil_ull(unsigned long long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_bit_width_ul
      Src: /src/vlc/compat/stdbit/stdbit.h:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 573
    functionDepth: 2
    functionLinenumber: 573
    functionLinenumberEnd: 576
    functionName: stdc_bit_ceil_ul
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_bit_width_ul
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long stdc_bit_ceil_ul(unsigned long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_bit_width_ui
      Src: /src/vlc/compat/stdbit/stdbit.h:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 578
    functionDepth: 2
    functionLinenumber: 578
    functionLinenumberEnd: 581
    functionName: stdc_bit_ceil_ui
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_bit_width_ui
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_bit_ceil_ui(unsigned int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_bit_width_us
      Src: /src/vlc/compat/stdbit/stdbit.h:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 583
    functionDepth: 3
    functionLinenumber: 583
    functionLinenumberEnd: 586
    functionName: stdc_bit_ceil_us
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_bit_width_us
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short stdc_bit_ceil_us(unsigned short value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_bit_width_uc
      Src: /src/vlc/compat/stdbit/stdbit.h:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 588
    functionDepth: 3
    functionLinenumber: 588
    functionLinenumberEnd: 591
    functionName: stdc_bit_ceil_uc
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached:
    - stdc_bit_width_uc
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int stdc_bit_ceil_uc(unsigned char value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 595
    functionName: stdc_bit_ceil
    functionSourceFile: /src/vlc/compat/stdbit/stdbit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stdc_bit_ceil(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: ckd_add
    functionSourceFile: /src/vlc/compat/stdckdint/stdckdint.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ckd_add(r, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: ckd_sub
    functionSourceFile: /src/vlc/compat/stdckdint/stdckdint.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ckd_sub(r, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: ckd_mul
    functionSourceFile: /src/vlc/compat/stdckdint/stdckdint.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ckd_mul(r, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - suffix
    - ','
    - type
    - ','
    - MAX
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 47
    functionName: __ckd_unsigned
    functionSourceFile: /src/vlc/compat/stdckdint/stdckdint.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __ckd_unsigned(suffix, type, MAX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - suffix
    - ','
    - type
    - ','
    - MIN
    - ','
    - MAX
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 92
    functionName: __ckd_signed_common
    functionSourceFile: /src/vlc/compat/stdckdint/stdckdint.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __ckd_signed_common(suffix, type, MIN, MAX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - suffix
    - ','
    - type
    - ','
    - MIN
    - ','
    - MAX
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: __ckd_signed
    functionSourceFile: /src/vlc/compat/stdckdint/stdckdint.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __ckd_signed(suffix, type, MIN, MAX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - suffix
    - ','
    - type
    - ','
    - MIN
    - ','
    - MAX
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: __ckd_signed_forced
    functionSourceFile: /src/vlc/compat/stdckdint/stdckdint.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __ckd_signed_forced(suffix, type, MIN, MAX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - op
    - ','
    - r
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: __ckd_func
    functionSourceFile: /src/vlc/compat/stdckdint/stdckdint.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __ckd_func(op, r, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: ckd_add
    functionSourceFile: /src/vlc/compat/stdckdint/stdckdint.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ckd_add(r, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: ckd_sub
    functionSourceFile: /src/vlc/compat/stdckdint/stdckdint.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ckd_sub(r, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: ckd_mul
    functionSourceFile: /src/vlc/compat/stdckdint/stdckdint.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ckd_mul(r, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _fdopen
      Src: /src/vlc/compat/windows/unistd.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: fdopen
    functionSourceFile: /src/vlc/compat/windows/unistd.h
    functionUses: 1
    functionsReached:
    - _fdopen
    linkageType: ''
    returnType: FILE
    signature: FILE *fdopen(int fd, const char *mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _close
      Src: /src/vlc/compat/windows/unistd.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: close
    functionSourceFile: /src/vlc/compat/windows/unistd.h
    functionUses: 17
    functionsReached:
    - _close
    linkageType: ''
    returnType: int
    signature: int close(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _read
      Src: /src/vlc/compat/windows/unistd.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - dst
    - dst_size
    argTypes:
    - int
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: read
    functionSourceFile: /src/vlc/compat/windows/unistd.h
    functionUses: 10
    functionsReached:
    - _read
    linkageType: ''
    returnType: int
    signature: int read(int fd, void *dst, unsigned int dst_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _write
      Src: /src/vlc/compat/windows/unistd.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - src
    - src_size
    argTypes:
    - int
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: write
    functionSourceFile: /src/vlc/compat/windows/unistd.h
    functionUses: 5
    functionsReached:
    - _write
    linkageType: ''
    returnType: int
    signature: int write(int fd, const void *src, unsigned int src_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _setmode
      Src: /src/vlc/compat/windows/unistd.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: setmode
    functionSourceFile: /src/vlc/compat/windows/unistd.h
    functionUses: 3
    functionsReached:
    - _setmode
    linkageType: ''
    returnType: int
    signature: int setmode(int fd, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _dup
      Src: /src/vlc/compat/windows/unistd.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: dup
    functionSourceFile: /src/vlc/compat/windows/unistd.h
    functionUses: 18
    functionsReached:
    - _dup
    linkageType: ''
    returnType: int
    signature: int dup(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _dup2
      Src: /src/vlc/compat/windows/unistd.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: dup2
    functionSourceFile: /src/vlc/compat/windows/unistd.h
    functionUses: 2
    functionsReached:
    - _dup2
    linkageType: ''
    returnType: int
    signature: int dup2(int src, int dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 16
    functionName: opendir
    functionSourceFile: /src/vlc/compat/windows/dirent.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: opendir(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/doc/libvlc/thumbnailer.c:38,1
    - Dst: exit
      Src: /src/vlc/doc/libvlc/thumbnailer.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - ret
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: usage
    functionSourceFile: /src/vlc/doc/libvlc/thumbnailer.c
    functionUses: 3
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(const char *name, int ret)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/vlc/doc/libvlc/thumbnailer.c:50,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/thumbnailer.c:50,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/thumbnailer.c:55,1
    - Dst: usage
      Src: /src/vlc/doc/libvlc/thumbnailer.c:56,1
    - Dst: atoi
      Src: /src/vlc/doc/libvlc/thumbnailer.c:59,1
    - Dst: strdup
      Src: /src/vlc/doc/libvlc/thumbnailer.c:63,1
    - Dst: abort
      Src: /src/vlc/doc/libvlc/thumbnailer.c:65,1
    - Dst: strlen
      Src: /src/vlc/doc/libvlc/thumbnailer.c:67,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/thumbnailer.c:68,1
    - Dst: malloc
      Src: /src/vlc/doc/libvlc/thumbnailer.c:77,1
    - Dst: abort
      Src: /src/vlc/doc/libvlc/thumbnailer.c:79,1
    - Dst: strcpy
      Src: /src/vlc/doc/libvlc/thumbnailer.c:80,1
    - Dst: strcat
      Src: /src/vlc/doc/libvlc/thumbnailer.c:81,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 6
    argNames:
    - argc
    - argv
    - in
    - out
    - out_with_ext
    - w
    argTypes:
    - int
    - char**
    - char**
    - char**
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 82
    functionName: cmdline
    functionSourceFile: /src/vlc/doc/libvlc/thumbnailer.c
    functionUses: 1
    functionsReached:
    - usage
    - atoi
    - strdup
    - abort
    - strlen
    - strcmp
    - strcpy
    - strcat
    - malloc
    linkageType: ''
    returnType: void
    signature: "void cmdline(int argc, const char **argv, const char **in,\n                    char
      **out, char **out_with_ext, int *w)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_new
      Src: /src/vlc/doc/libvlc/thumbnailer.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 100
    functionName: create_libvlc
    functionSourceFile: /src/vlc/doc/libvlc/thumbnailer.c
    functionUses: 2
    functionsReached:
    - libvlc_new
    linkageType: ''
    returnType: libvlc_instance_t
    signature: libvlc_instance_t *create_libvlc(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_picture_retain
      Src: /src/vlc/doc/libvlc/thumbnailer.c:112,1
    - Dst: sem_post
      Src: /src/vlc/doc/libvlc/thumbnailer.c:115,1
    - Dst: libvlc_parser_task_release
      Src: /src/vlc/doc/libvlc/thumbnailer.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - opaque
    - task
    - picture
    argTypes:
    - void*
    - libvlc_parser_task*
    - libvlc_picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 117
    functionName: callback
    functionSourceFile: /src/vlc/doc/libvlc/thumbnailer.c
    functionUses: 3
    functionsReached:
    - libvlc_picture_retain
    - sem_post
    - libvlc_parser_task_release
    linkageType: ''
    returnType: void
    signature: void callback(void *opaque, libvlc_parser_task *task, libvlc_picture_t
      *picture)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sem_init
      Src: /src/vlc/doc/libvlc/thumbnailer.c:125,1
    - Dst: libvlc_parser_new
      Src: /src/vlc/doc/libvlc/thumbnailer.c:139,1
    - Dst: fprintf
      Src: /src/vlc/doc/libvlc/thumbnailer.c:142,1
    - Dst: exit
      Src: /src/vlc/doc/libvlc/thumbnailer.c:143,1
    - Dst: libvlc_parser_queue_thumbnailing
      Src: /src/vlc/doc/libvlc/thumbnailer.c:161,1
    - Dst: fprintf
      Src: /src/vlc/doc/libvlc/thumbnailer.c:165,1
    - Dst: exit
      Src: /src/vlc/doc/libvlc/thumbnailer.c:166,1
    - Dst: sem_wait
      Src: /src/vlc/doc/libvlc/thumbnailer.c:169,1
    - Dst: libvlc_parser_destroy
      Src: /src/vlc/doc/libvlc/thumbnailer.c:170,1
    - Dst: fprintf
      Src: /src/vlc/doc/libvlc/thumbnailer.c:174,1
    - Dst: exit
      Src: /src/vlc/doc/libvlc/thumbnailer.c:176,1
    - Dst: libvlc_picture_save
      Src: /src/vlc/doc/libvlc/thumbnailer.c:178,1
    - Dst: libvlc_picture_release
      Src: /src/vlc/doc/libvlc/thumbnailer.c:179,1
    - Dst: fprintf
      Src: /src/vlc/doc/libvlc/thumbnailer.c:182,1
    - Dst: exit
      Src: /src/vlc/doc/libvlc/thumbnailer.c:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - vlc
    - m
    - width
    - out_with_ext
    argTypes:
    - libvlc_instance_t*
    - libvlc_media_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 185
    functionName: snapshot
    functionSourceFile: /src/vlc/doc/libvlc/thumbnailer.c
    functionUses: 0
    functionsReached:
    - libvlc_picture_save
    - exit
    - libvlc_picture_release
    - fprintf
    - libvlc_parser_new
    - libvlc_parser_queue_thumbnailing
    - sem_init
    - libvlc_parser_destroy
    - sem_wait
    linkageType: ''
    returnType: void
    signature: "void snapshot(libvlc_instance_t *vlc, libvlc_media_t *m,\n                     int
      width, char *out_with_ext)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/vlc/doc/libvlc/thumbnailer.c:196,1
    - Dst: cmdline
      Src: /src/vlc/doc/libvlc/thumbnailer.c:198,1
    - Dst: create_libvlc
      Src: /src/vlc/doc/libvlc/thumbnailer.c:201,1
    - Dst: assert
      Src: /src/vlc/doc/libvlc/thumbnailer.c:202,1
    - Dst: libvlc_media_new_path
      Src: /src/vlc/doc/libvlc/thumbnailer.c:204,1
    - Dst: assert
      Src: /src/vlc/doc/libvlc/thumbnailer.c:205,1
    - Dst: snapshot
      Src: /src/vlc/doc/libvlc/thumbnailer.c:208,1
    - Dst: rename
      Src: /src/vlc/doc/libvlc/thumbnailer.c:212,1
    - Dst: free
      Src: /src/vlc/doc/libvlc/thumbnailer.c:213,1
    - Dst: free
      Src: /src/vlc/doc/libvlc/thumbnailer.c:215,1
    - Dst: libvlc_media_release
      Src: /src/vlc/doc/libvlc/thumbnailer.c:217,1
    - Dst: libvlc_release
      Src: /src/vlc/doc/libvlc/thumbnailer.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (libvlc)
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/vlc/doc/libvlc/thumbnailer.c
    - condition: (m)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/vlc/doc/libvlc/thumbnailer.c
    constantsTouched: []
    func_position:
      end: 221
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 221
    functionName: main
    functionSourceFile: /src/vlc/doc/libvlc/thumbnailer.c
    functionUses: 1
    functionsReached:
    - libvlc_media_new_path
    - libvlc_release
    - assert
    - libvlc_media_release
    - cmdline
    - setlocale
    - free
    - snapshot
    - rename
    - create_libvlc
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/doc/libvlc/renderer_discoverer.c:30,1
    - Dst: libvlc_renderer_discoverer_list_get
      Src: /src/vlc/doc/libvlc/renderer_discoverer.c:36,1
    - Dst: fprintf
      Src: /src/vlc/doc/libvlc/renderer_discoverer.c:40,1
    - Dst: libvlc_renderer_discoverer_list_release
      Src: /src/vlc/doc/libvlc/renderer_discoverer.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - name
    - libvlc
    argTypes:
    - char*
    - libvlc_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 44
    functionName: print_usage
    functionSourceFile: /src/vlc/doc/libvlc/renderer_discoverer.c
    functionUses: 1
    functionsReached:
    - fprintf
    - libvlc_renderer_discoverer_list_get
    - libvlc_renderer_discoverer_list_release
    linkageType: ''
    returnType: void
    signature: void print_usage(const char *name, libvlc_instance_t *libvlc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/doc/libvlc/renderer_discoverer.c:50,1
    - Dst: libvlc_renderer_item_name
      Src: /src/vlc/doc/libvlc/renderer_discoverer.c:51,1
    - Dst: libvlc_renderer_item_type
      Src: /src/vlc/doc/libvlc/renderer_discoverer.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - opaque
    - item
    argTypes:
    - void*
    - libvlc_renderer_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: on_item_added
    functionSourceFile: /src/vlc/doc/libvlc/renderer_discoverer.c
    functionUses: 0
    functionsReached:
    - libvlc_renderer_item_type
    - printf
    - libvlc_renderer_item_name
    linkageType: ''
    returnType: void
    signature: void on_item_added(void *opaque, libvlc_renderer_item_t *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/doc/libvlc/renderer_discoverer.c:59,1
    - Dst: libvlc_renderer_item_name
      Src: /src/vlc/doc/libvlc/renderer_discoverer.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - opaque
    - item
    argTypes:
    - void*
    - libvlc_renderer_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: on_item_removed
    functionSourceFile: /src/vlc/doc/libvlc/renderer_discoverer.c
    functionUses: 0
    functionsReached:
    - printf
    - libvlc_renderer_item_name
    linkageType: ''
    returnType: void
    signature: void on_item_removed(void *opaque, libvlc_renderer_item_t *item)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_new
      Src: /src/vlc/doc/libvlc/renderer_discoverer.c:69,1
    - Dst: print_usage
      Src: /src/vlc/doc/libvlc/renderer_discoverer.c:76,1
    - Dst: libvlc_release
      Src: /src/vlc/doc/libvlc/renderer_discoverer.c:77,1
    - Dst: libvlc_renderer_discoverer_new
      Src: /src/vlc/doc/libvlc/renderer_discoverer.c:89,1
    - Dst: libvlc_renderer_discoverer_start
      Src: /src/vlc/doc/libvlc/renderer_discoverer.c:92,1
    - Dst: fprintf
      Src: /src/vlc/doc/libvlc/renderer_discoverer.c:95,1
    - Dst: print_usage
      Src: /src/vlc/doc/libvlc/renderer_discoverer.c:96,1
    - Dst: libvlc_renderer_discoverer_destroy
      Src: /src/vlc/doc/libvlc/renderer_discoverer.c:99,1
    - Dst: libvlc_release
      Src: /src/vlc/doc/libvlc/renderer_discoverer.c:100,1
    - Dst: printf
      Src: /src/vlc/doc/libvlc/renderer_discoverer.c:104,1
    - Dst: getchar
      Src: /src/vlc/doc/libvlc/renderer_discoverer.c:105,1
    - Dst: libvlc_renderer_discoverer_stop
      Src: /src/vlc/doc/libvlc/renderer_discoverer.c:107,1
    - Dst: libvlc_renderer_discoverer_destroy
      Src: /src/vlc/doc/libvlc/renderer_discoverer.c:109,1
    - Dst: libvlc_release
      Src: /src/vlc/doc/libvlc/renderer_discoverer.c:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 112
    functionName: main
    functionSourceFile: /src/vlc/doc/libvlc/renderer_discoverer.c
    functionUses: 1
    functionsReached:
    - libvlc_release
    - print_usage
    - libvlc_renderer_discoverer_start
    - fprintf
    - printf
    - getchar
    - libvlc_renderer_discoverer_new
    - libvlc_new
    - libvlc_renderer_discoverer_stop
    - libvlc_renderer_discoverer_destroy
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/vlc/doc/libvlc/parser.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - status
    argTypes:
    - libvlc_parser_status_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 44
    functionName: status_to_string
    functionSourceFile: /src/vlc/doc/libvlc/parser.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: char
    signature: 'char *

      status_to_string(libvlc_parser_status_t status)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/vlc/doc/libvlc/parser.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - type
    argTypes:
    - libvlc_media_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 59
    functionName: type_to_string
    functionSourceFile: /src/vlc/doc/libvlc/parser.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: char
    signature: 'char *

      type_to_string(libvlc_media_type_t type)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_parser_task_get_media
      Src: /src/vlc/doc/libvlc/parser.c:67,1
    - Dst: status_to_string
      Src: /src/vlc/doc/libvlc/parser.c:69,1
    - Dst: type_to_string
      Src: /src/vlc/doc/libvlc/parser.c:70,1
    - Dst: libvlc_media_get_type
      Src: /src/vlc/doc/libvlc/parser.c:70,1
    - Dst: libvlc_media_get_mrl
      Src: /src/vlc/doc/libvlc/parser.c:72,1
    - Dst: printf
      Src: /src/vlc/doc/libvlc/parser.c:73,1
    - Dst: libvlc_media_get_duration
      Src: /src/vlc/doc/libvlc/parser.c:79,1
    - Dst: free
      Src: /src/vlc/doc/libvlc/parser.c:80,1
    - Dst: sem_post
      Src: /src/vlc/doc/libvlc/parser.c:83,1
    - Dst: libvlc_parser_task_release
      Src: /src/vlc/doc/libvlc/parser.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - opaque
    - task
    - status
    argTypes:
    - void*
    - libvlc_parser_task*
    - libvlc_parser_status_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 85
    functionName: on_media_parsed
    functionSourceFile: /src/vlc/doc/libvlc/parser.c
    functionUses: 0
    functionsReached:
    - sem_post
    - libvlc_media_get_type
    - libvlc_media_get_mrl
    - libvlc_parser_task_release
    - libvlc_parser_task_get_media
    - printf
    - free
    - libvlc_media_get_duration
    - status_to_string
    - type_to_string
    linkageType: ''
    returnType: void
    signature: "void on_media_parsed(void *opaque, libvlc_parser_task *task,\n                libvlc_parser_status_t
      status)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/vlc/doc/libvlc/parser.c:97,1
    - Dst: libvlc_media_new_location
      Src: /src/vlc/doc/libvlc/parser.c:98,1
    - Dst: libvlc_media_new_path
      Src: /src/vlc/doc/libvlc/parser.c:100,1
    - Dst: libvlc_parser_queue
      Src: /src/vlc/doc/libvlc/parser.c:118,1
    - Dst: libvlc_media_release
      Src: /src/vlc/doc/libvlc/parser.c:119,1
    - Dst: fprintf
      Src: /src/vlc/doc/libvlc/parser.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - parser
    - url
    - sem
    argTypes:
    - libvlc_parser_t*
    - char*
    - sem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 127
    functionName: parse_file_async
    functionSourceFile: /src/vlc/doc/libvlc/parser.c
    functionUses: 0
    functionsReached:
    - libvlc_media_new_path
    - libvlc_media_release
    - fprintf
    - strstr
    - libvlc_media_new_location
    - libvlc_parser_queue
    linkageType: ''
    returnType: int
    signature: int parse_file_async(libvlc_parser_t *parser, const char *url, sem_t
      *sem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_new
      Src: /src/vlc/doc/libvlc/parser.c:135,1
    - Dst: libvlc_parser_new
      Src: /src/vlc/doc/libvlc/parser.c:139,1
    - Dst: libvlc_release
      Src: /src/vlc/doc/libvlc/parser.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - struct libvlc_parser_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 143
    functionName: create_parser
    functionSourceFile: /src/vlc/doc/libvlc/parser.c
    functionUses: 0
    functionsReached:
    - libvlc_release
    - libvlc_parser_new
    - libvlc_new
    linkageType: ''
    returnType: libvlc_parser_t
    signature: 'libvlc_parser_t *

      create_parser(const struct libvlc_parser_cfg *cfg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/doc/libvlc/parser.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: print_usage
    functionSourceFile: /src/vlc/doc/libvlc/parser.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_usage(const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/vlc/doc/libvlc/parser.c:155,1
    - Dst: print_usage
      Src: /src/vlc/doc/libvlc/parser.c:159,1
    - Dst: sem_init
      Src: /src/vlc/doc/libvlc/parser.c:166,1
    - Dst: create_parser
      Src: /src/vlc/doc/libvlc/parser.c:174,1
    - Dst: sem_destroy
      Src: /src/vlc/doc/libvlc/parser.c:177,1
    - Dst: parse_file_async
      Src: /src/vlc/doc/libvlc/parser.c:187,1
    - Dst: sem_wait
      Src: /src/vlc/doc/libvlc/parser.c:197,1
    - Dst: libvlc_parser_destroy
      Src: /src/vlc/doc/libvlc/parser.c:200,1
    - Dst: sem_destroy
      Src: /src/vlc/doc/libvlc/parser.c:202,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 205
    functionName: main
    functionSourceFile: /src/vlc/doc/libvlc/parser.c
    functionUses: 1
    functionsReached:
    - print_usage
    - parse_file_async
    - setlocale
    - create_parser
    - sem_init
    - sem_destroy
    - libvlc_parser_destroy
    - sem_wait
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/vlc/doc/libvlc/media_discoverer.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - cat
    argTypes:
    - libvlc_media_discoverer_category_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: category_to_string
    functionSourceFile: /src/vlc/doc/libvlc/media_discoverer.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: char
    signature: 'char *

      category_to_string(libvlc_media_discoverer_category_t cat)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/doc/libvlc/media_discoverer.c:43,1
    - Dst: fprintf
      Src: /src/vlc/doc/libvlc/media_discoverer.c:58,1
    - Dst: category_to_string
      Src: /src/vlc/doc/libvlc/media_discoverer.c:58,1
    - Dst: libvlc_media_discoverer_list_get
      Src: /src/vlc/doc/libvlc/media_discoverer.c:59,1
    - Dst: fprintf
      Src: /src/vlc/doc/libvlc/media_discoverer.c:63,1
    - Dst: libvlc_media_discoverer_list_release
      Src: /src/vlc/doc/libvlc/media_discoverer.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - name
    - libvlc
    argTypes:
    - char*
    - libvlc_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 68
    functionName: print_usage
    functionSourceFile: /src/vlc/doc/libvlc/media_discoverer.c
    functionUses: 3
    functionsReached:
    - fprintf
    - category_to_string
    - libvlc_media_discoverer_list_release
    - libvlc_media_discoverer_list_get
    linkageType: ''
    returnType: void
    signature: void print_usage(const char *name, libvlc_instance_t *libvlc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_media_get_meta
      Src: /src/vlc/doc/libvlc/media_discoverer.c:75,1
    - Dst: libvlc_media_get_mrl
      Src: /src/vlc/doc/libvlc/media_discoverer.c:76,1
    - Dst: libvlc_media_get_meta
      Src: /src/vlc/doc/libvlc/media_discoverer.c:77,1
    - Dst: printf
      Src: /src/vlc/doc/libvlc/media_discoverer.c:78,1
    - Dst: free
      Src: /src/vlc/doc/libvlc/media_discoverer.c:82,1
    - Dst: free
      Src: /src/vlc/doc/libvlc/media_discoverer.c:83,1
    - Dst: free
      Src: /src/vlc/doc/libvlc/media_discoverer.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - opaque
    - parent
    - media
    argTypes:
    - void*
    - libvlc_media_t*
    - libvlc_media_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 85
    functionName: on_media_added
    functionSourceFile: /src/vlc/doc/libvlc/media_discoverer.c
    functionUses: 0
    functionsReached:
    - libvlc_media_get_mrl
    - printf
    - free
    - libvlc_media_get_meta
    linkageType: ''
    returnType: void
    signature: void on_media_added(void *opaque, libvlc_media_t *parent, libvlc_media_t
      *media)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_media_get_mrl
      Src: /src/vlc/doc/libvlc/media_discoverer.c:91,1
    - Dst: libvlc_media_get_meta
      Src: /src/vlc/doc/libvlc/media_discoverer.c:92,1
    - Dst: printf
      Src: /src/vlc/doc/libvlc/media_discoverer.c:93,1
    - Dst: free
      Src: /src/vlc/doc/libvlc/media_discoverer.c:96,1
    - Dst: free
      Src: /src/vlc/doc/libvlc/media_discoverer.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - opaque
    - media
    argTypes:
    - void*
    - libvlc_media_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 98
    functionName: on_media_removed
    functionSourceFile: /src/vlc/doc/libvlc/media_discoverer.c
    functionUses: 0
    functionsReached:
    - libvlc_media_get_mrl
    - printf
    - free
    - libvlc_media_get_meta
    linkageType: ''
    returnType: void
    signature: void on_media_removed(void *opaque, libvlc_media_t *media)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_new
      Src: /src/vlc/doc/libvlc/media_discoverer.c:106,1
    - Dst: print_usage
      Src: /src/vlc/doc/libvlc/media_discoverer.c:112,1
    - Dst: libvlc_release
      Src: /src/vlc/doc/libvlc/media_discoverer.c:113,1
    - Dst: libvlc_media_discoverer_new
      Src: /src/vlc/doc/libvlc/media_discoverer.c:125,1
    - Dst: libvlc_media_discoverer_start
      Src: /src/vlc/doc/libvlc/media_discoverer.c:128,1
    - Dst: fprintf
      Src: /src/vlc/doc/libvlc/media_discoverer.c:131,1
    - Dst: print_usage
      Src: /src/vlc/doc/libvlc/media_discoverer.c:132,1
    - Dst: libvlc_media_discoverer_destroy
      Src: /src/vlc/doc/libvlc/media_discoverer.c:135,1
    - Dst: libvlc_release
      Src: /src/vlc/doc/libvlc/media_discoverer.c:136,1
    - Dst: printf
      Src: /src/vlc/doc/libvlc/media_discoverer.c:140,1
    - Dst: getchar
      Src: /src/vlc/doc/libvlc/media_discoverer.c:141,1
    - Dst: libvlc_media_discoverer_stop
      Src: /src/vlc/doc/libvlc/media_discoverer.c:143,1
    - Dst: libvlc_media_discoverer_destroy
      Src: /src/vlc/doc/libvlc/media_discoverer.c:145,1
    - Dst: libvlc_release
      Src: /src/vlc/doc/libvlc/media_discoverer.c:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 148
    functionName: main
    functionSourceFile: /src/vlc/doc/libvlc/media_discoverer.c
    functionUses: 1
    functionsReached:
    - libvlc_media_discoverer_new
    - libvlc_release
    - print_usage
    - libvlc_media_discoverer_start
    - fprintf
    - printf
    - getchar
    - libvlc_new
    - libvlc_media_discoverer_stop
    - libvlc_media_discoverer_destroy
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_main_quit
      Src: /src/vlc/doc/libvlc/gtk_player.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - widget
    - data
    argTypes:
    - GtkWidget*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: destroy
    functionSourceFile: /src/vlc/doc/libvlc/gtk_player.c
    functionUses: 42
    functionsReached:
    - gtk_main_quit
    linkageType: ''
    returnType: void
    signature: void destroy(GtkWidget *widget, gpointer data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_media_player_set_xwindow
      Src: /src/vlc/doc/libvlc/gtk_player.c:31,1
    - Dst: GDK_WINDOW_XID
      Src: /src/vlc/doc/libvlc/gtk_player.c:31,1
    - Dst: gtk_widget_get_window
      Src: /src/vlc/doc/libvlc/gtk_player.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - widget
    - data
    argTypes:
    - GtkWidget*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: player_widget_on_realize
    functionSourceFile: /src/vlc/doc/libvlc/gtk_player.c
    functionUses: 0
    functionsReached:
    - libvlc_media_player_set_xwindow
    - GDK_WINDOW_XID
    - gtk_widget_get_window
    linkageType: ''
    returnType: void
    signature: void player_widget_on_realize(GtkWidget *widget, gpointer data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gtk_file_chooser_dialog_new
      Src: /src/vlc/doc/libvlc/gtk_player.c:36,1
    - Dst: gtk_dialog_run
      Src: /src/vlc/doc/libvlc/gtk_player.c:37,1
    - Dst: GTK_DIALOG
      Src: /src/vlc/doc/libvlc/gtk_player.c:37,1
    - Dst: gtk_file_chooser_get_uri
      Src: /src/vlc/doc/libvlc/gtk_player.c:39,1
    - Dst: GTK_FILE_CHOOSER
      Src: /src/vlc/doc/libvlc/gtk_player.c:39,1
    - Dst: open_media
      Src: /src/vlc/doc/libvlc/gtk_player.c:40,1
    - Dst: g_free
      Src: /src/vlc/doc/libvlc/gtk_player.c:41,1
    - Dst: gtk_widget_destroy
      Src: /src/vlc/doc/libvlc/gtk_player.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - widget
    - data
    argTypes:
    - GtkWidget*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: on_open
    functionSourceFile: /src/vlc/doc/libvlc/gtk_player.c
    functionUses: 0
    functionsReached:
    - g_free
    - gtk_file_chooser_get_uri
    - GTK_FILE_CHOOSER
    - gtk_dialog_run
    - open_media
    - gtk_file_chooser_dialog_new
    - gtk_widget_destroy
    - GTK_DIALOG
    linkageType: ''
    returnType: void
    signature: void on_open(GtkWidget *widget, gpointer data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_media_new_location
      Src: /src/vlc/doc/libvlc/gtk_player.c:48,1
    - Dst: libvlc_media_player_set_media
      Src: /src/vlc/doc/libvlc/gtk_player.c:49,1
    - Dst: play
      Src: /src/vlc/doc/libvlc/gtk_player.c:50,1
    - Dst: libvlc_media_release
      Src: /src/vlc/doc/libvlc/gtk_player.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - uri
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: open_media
    functionSourceFile: /src/vlc/doc/libvlc/gtk_player.c
    functionUses: 1
    functionsReached:
    - play
    - libvlc_media_release
    - libvlc_media_new_location
    - libvlc_media_player_set_media
    linkageType: ''
    returnType: void
    signature: void open_media(const char* uri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_media_player_is_playing
      Src: /src/vlc/doc/libvlc/gtk_player.c:55,1
    - Dst: pause_player
      Src: /src/vlc/doc/libvlc/gtk_player.c:56,1
    - Dst: play
      Src: /src/vlc/doc/libvlc/gtk_player.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - widget
    - data
    argTypes:
    - GtkWidget*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: on_playpause
    functionSourceFile: /src/vlc/doc/libvlc/gtk_player.c
    functionUses: 0
    functionsReached:
    - libvlc_media_player_is_playing
    - pause_player
    - play
    linkageType: ''
    returnType: void
    signature: void on_playpause(GtkWidget *widget, gpointer data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pause_player
      Src: /src/vlc/doc/libvlc/gtk_player.c:64,1
    - Dst: libvlc_media_player_stop_async
      Src: /src/vlc/doc/libvlc/gtk_player.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - widget
    - data
    argTypes:
    - GtkWidget*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: on_stop
    functionSourceFile: /src/vlc/doc/libvlc/gtk_player.c
    functionUses: 0
    functionsReached:
    - libvlc_media_player_stop_async
    - pause_player
    linkageType: ''
    returnType: void
    signature: void on_stop(GtkWidget *widget, gpointer data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_media_player_play
      Src: /src/vlc/doc/libvlc/gtk_player.c:69,1
    - Dst: gtk_button_set_label
      Src: /src/vlc/doc/libvlc/gtk_player.c:70,1
    - Dst: GTK_BUTTON
      Src: /src/vlc/doc/libvlc/gtk_player.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: play
    functionSourceFile: /src/vlc/doc/libvlc/gtk_player.c
    functionUses: 12
    functionsReached:
    - libvlc_media_player_play
    - GTK_BUTTON
    - gtk_button_set_label
    linkageType: ''
    returnType: void
    signature: void play(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_media_player_pause
      Src: /src/vlc/doc/libvlc/gtk_player.c:74,1
    - Dst: gtk_button_set_label
      Src: /src/vlc/doc/libvlc/gtk_player.c:75,1
    - Dst: GTK_BUTTON
      Src: /src/vlc/doc/libvlc/gtk_player.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: pause_player
    functionSourceFile: /src/vlc/doc/libvlc/gtk_player.c
    functionUses: 2
    functionsReached:
    - GTK_BUTTON
    - libvlc_media_player_pause
    - gtk_button_set_label
    linkageType: ''
    returnType: void
    signature: void pause_player(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XInitThreads
      Src: /src/vlc/doc/libvlc/gtk_player.c:89,1
    - Dst: gtk_init
      Src: /src/vlc/doc/libvlc/gtk_player.c:90,1
    - Dst: gtk_window_new
      Src: /src/vlc/doc/libvlc/gtk_player.c:92,1
    - Dst: gtk_window_set_default_size
      Src: /src/vlc/doc/libvlc/gtk_player.c:93,1
    - Dst: GTK_WINDOW
      Src: /src/vlc/doc/libvlc/gtk_player.c:93,1
    - Dst: g_signal_connect
      Src: /src/vlc/doc/libvlc/gtk_player.c:94,1
    - Dst: G_CALLBACK
      Src: /src/vlc/doc/libvlc/gtk_player.c:94,1
    - Dst: gtk_container_set_border_width
      Src: /src/vlc/doc/libvlc/gtk_player.c:95,1
    - Dst: GTK_CONTAINER
      Src: /src/vlc/doc/libvlc/gtk_player.c:95,1
    - Dst: gtk_window_set_title
      Src: /src/vlc/doc/libvlc/gtk_player.c:96,1
    - Dst: GTK_WINDOW
      Src: /src/vlc/doc/libvlc/gtk_player.c:96,1
    - Dst: gtk_box_new
      Src: /src/vlc/doc/libvlc/gtk_player.c:99,1
    - Dst: gtk_box_set_homogeneous
      Src: /src/vlc/doc/libvlc/gtk_player.c:100,1
    - Dst: GTK_BOX
      Src: /src/vlc/doc/libvlc/gtk_player.c:100,1
    - Dst: gtk_container_add
      Src: /src/vlc/doc/libvlc/gtk_player.c:101,1
    - Dst: GTK_CONTAINER
      Src: /src/vlc/doc/libvlc/gtk_player.c:101,1
    - Dst: gtk_menu_bar_new
      Src: /src/vlc/doc/libvlc/gtk_player.c:104,1
    - Dst: gtk_menu_new
      Src: /src/vlc/doc/libvlc/gtk_player.c:105,1
    - Dst: gtk_menu_item_new_with_label
      Src: /src/vlc/doc/libvlc/gtk_player.c:106,1
    - Dst: gtk_menu_item_new_with_label
      Src: /src/vlc/doc/libvlc/gtk_player.c:107,1
    - Dst: gtk_menu_shell_append
      Src: /src/vlc/doc/libvlc/gtk_player.c:108,1
    - Dst: GTK_MENU_SHELL
      Src: /src/vlc/doc/libvlc/gtk_player.c:108,1
    - Dst: gtk_menu_item_set_submenu
      Src: /src/vlc/doc/libvlc/gtk_player.c:109,1
    - Dst: GTK_MENU_ITEM
      Src: /src/vlc/doc/libvlc/gtk_player.c:109,1
    - Dst: gtk_menu_shell_append
      Src: /src/vlc/doc/libvlc/gtk_player.c:110,1
    - Dst: GTK_MENU_SHELL
      Src: /src/vlc/doc/libvlc/gtk_player.c:110,1
    - Dst: gtk_box_pack_start
      Src: /src/vlc/doc/libvlc/gtk_player.c:111,1
    - Dst: GTK_BOX
      Src: /src/vlc/doc/libvlc/gtk_player.c:111,1
    - Dst: g_signal_connect
      Src: /src/vlc/doc/libvlc/gtk_player.c:112,1
    - Dst: G_CALLBACK
      Src: /src/vlc/doc/libvlc/gtk_player.c:112,1
    - Dst: gtk_drawing_area_new
      Src: /src/vlc/doc/libvlc/gtk_player.c:115,1
    - Dst: gtk_box_pack_start
      Src: /src/vlc/doc/libvlc/gtk_player.c:116,1
    - Dst: GTK_BOX
      Src: /src/vlc/doc/libvlc/gtk_player.c:116,1
    - Dst: gtk_button_new_with_label
      Src: /src/vlc/doc/libvlc/gtk_player.c:120,1
    - Dst: gtk_button_new_with_label
      Src: /src/vlc/doc/libvlc/gtk_player.c:122,1
    - Dst: g_signal_connect
      Src: /src/vlc/doc/libvlc/gtk_player.c:123,1
    - Dst: G_CALLBACK
      Src: /src/vlc/doc/libvlc/gtk_player.c:123,1
    - Dst: g_signal_connect
      Src: /src/vlc/doc/libvlc/gtk_player.c:124,1
    - Dst: G_CALLBACK
      Src: /src/vlc/doc/libvlc/gtk_player.c:124,1
    - Dst: gtk_button_box_new
      Src: /src/vlc/doc/libvlc/gtk_player.c:125,1
    - Dst: gtk_container_set_border_width
      Src: /src/vlc/doc/libvlc/gtk_player.c:126,1
    - Dst: GTK_CONTAINER
      Src: /src/vlc/doc/libvlc/gtk_player.c:126,1
    - Dst: gtk_button_box_set_layout
      Src: /src/vlc/doc/libvlc/gtk_player.c:127,1
    - Dst: GTK_BUTTON_BOX
      Src: /src/vlc/doc/libvlc/gtk_player.c:127,1
    - Dst: gtk_box_pack_start
      Src: /src/vlc/doc/libvlc/gtk_player.c:128,1
    - Dst: GTK_BOX
      Src: /src/vlc/doc/libvlc/gtk_player.c:128,1
    - Dst: gtk_box_pack_start
      Src: /src/vlc/doc/libvlc/gtk_player.c:129,1
    - Dst: GTK_BOX
      Src: /src/vlc/doc/libvlc/gtk_player.c:129,1
    - Dst: gtk_box_pack_start
      Src: /src/vlc/doc/libvlc/gtk_player.c:130,1
    - Dst: GTK_BOX
      Src: /src/vlc/doc/libvlc/gtk_player.c:130,1
    - Dst: libvlc_new
      Src: /src/vlc/doc/libvlc/gtk_player.c:133,1
    - Dst: libvlc_media_player_new
      Src: /src/vlc/doc/libvlc/gtk_player.c:134,1
    - Dst: g_signal_connect
      Src: /src/vlc/doc/libvlc/gtk_player.c:135,1
    - Dst: G_OBJECT
      Src: /src/vlc/doc/libvlc/gtk_player.c:135,1
    - Dst: G_CALLBACK
      Src: /src/vlc/doc/libvlc/gtk_player.c:135,1
    - Dst: gtk_widget_show_all
      Src: /src/vlc/doc/libvlc/gtk_player.c:137,1
    - Dst: gtk_main
      Src: /src/vlc/doc/libvlc/gtk_player.c:138,1
    - Dst: libvlc_media_player_release
      Src: /src/vlc/doc/libvlc/gtk_player.c:140,1
    - Dst: libvlc_release
      Src: /src/vlc/doc/libvlc/gtk_player.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 143
    functionName: main
    functionSourceFile: /src/vlc/doc/libvlc/gtk_player.c
    functionUses: 2
    functionsReached:
    - gtk_window_new
    - libvlc_media_player_new
    - libvlc_new
    - gtk_menu_new
    - gtk_button_box_new
    - GTK_CONTAINER
    - gtk_button_new_with_label
    - gtk_main
    - gtk_box_pack_start
    - gtk_window_set_title
    - G_CALLBACK
    - gtk_init
    - g_signal_connect
    - GTK_BOX
    - gtk_menu_bar_new
    - gtk_button_box_set_layout
    - gtk_drawing_area_new
    - gtk_menu_item_set_submenu
    - gtk_container_set_border_width
    - libvlc_release
    - GTK_WINDOW
    - gtk_menu_shell_append
    - libvlc_media_player_release
    - gtk_container_add
    - GTK_MENU_SHELL
    - gtk_box_set_homogeneous
    - XInitThreads
    - G_OBJECT
    - gtk_window_set_default_size
    - GTK_MENU_ITEM
    - gtk_menu_item_new_with_label
    - gtk_widget_show_all
    - GTK_BUTTON_BOX
    - gtk_box_new
    linkageType: ''
    returnType: int
    signature: int main( int argc, char *argv[] )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: check_leak
    functionSourceFile: /src/vlc/doc/libvlc/d3d11_player.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_leak(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: D3D11CreateDeviceAndSwapChain
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:155,1
    - Dst: struct render_context*::d3device::QueryInterface
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:170,1
    - Dst: __uuidof
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:170,1
    - Dst: SUCCEEDED
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:171,1
    - Dst: ID3D10Multithread*::SetMultithreadProtected
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:172,1
    - Dst: ID3D10Multithread*::Release
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:173,1
    - Dst: struct render_context*::d3dctx::RSSetViewports
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:178,1
    - Dst: D3D11CreateDevice
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:180,1
    - Dst: struct render_context*::swapchain::GetBuffer
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:189,1
    - Dst: __uuidof
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:189,1
    - Dst: struct render_context*::d3device::CreateRenderTargetView
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:191,1
    - Dst: ID3D11Texture2D*::Release
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:192,1
    - Dst: struct render_context*::d3dctx::OMSetRenderTargets
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:194,1
    - Dst: D3DCompile
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:198,1
    - Dst: strlen
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:198,1
    - Dst: GetBufferPointer
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:200,1
    - Dst: D3DCompile
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:201,1
    - Dst: strlen
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:201,1
    - Dst: GetBufferPointer
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:203,1
    - Dst: struct render_context*::d3device::CreateVertexShader
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:205,1
    - Dst: ID3D10Blob*::GetBufferPointer
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:205,1
    - Dst: ID3D10Blob*::GetBufferSize
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:205,1
    - Dst: struct render_context*::d3device::CreatePixelShader
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:206,1
    - Dst: GetBufferPointer
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:206,1
    - Dst: GetBufferSize
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:206,1
    - Dst: struct render_context*::d3device::CreateInputLayout
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:214,1
    - Dst: ID3D10Blob*::GetBufferPointer
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:214,1
    - Dst: ID3D10Blob*::GetBufferSize
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:214,1
    - Dst: ZeroMemory
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:224,1
    - Dst: struct render_context*::d3device::CreateBuffer
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:231,1
    - Dst: struct render_context*::d3dctx::Map
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:235,1
    - Dst: memcpy
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:236,1
    - Dst: struct render_context*::d3dctx::Unmap
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:237,1
    - Dst: struct render_context*::d3device::CreateBuffer
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:245,1
    - Dst: struct render_context*::d3dctx::Map
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:247,1
    - Dst: static_cast<WORD*>
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:248,1
    - Dst: struct render_context*::d3dctx::Unmap
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:256,1
    - Dst: struct render_context*::d3dctx::IASetPrimitiveTopology
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:258,1
    - Dst: struct render_context*::d3dctx::IASetInputLayout
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:260,1
    - Dst: struct render_context*::d3dctx::IASetVertexBuffers
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:262,1
    - Dst: struct render_context*::d3dctx::IASetIndexBuffer
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:263,1
    - Dst: struct render_context*::d3dctx::VSSetShader
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:265,1
    - Dst: struct render_context*::d3dctx::PSSetShader
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:266,1
    - Dst: ZeroMemory
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:269,1
    - Dst: struct render_context*::d3device::CreateSamplerState
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:278,1
    - Dst: struct render_context*::d3dctx::PSSetSamplers
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 70
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct render_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 281
    functionName: init_direct3d
    functionSourceFile: /src/vlc/doc/libvlc/d3d11_player.cpp
    functionUses: 0
    functionsReached:
    - struct render_context*::d3dctx::Unmap
    - memcpy
    - struct render_context*::swapchain::GetBuffer
    - SUCCEEDED
    - __uuidof
    - D3D11CreateDevice
    - D3DCompile
    - ID3D10Blob*::GetBufferPointer
    - ID3D10Multithread*::SetMultithreadProtected
    - ZeroMemory
    - GetBufferPointer
    - struct render_context*::d3dctx::RSSetViewports
    - struct render_context*::d3dctx::OMSetRenderTargets
    - struct render_context*::d3dctx::PSSetSamplers
    - struct render_context*::d3dctx::IASetVertexBuffers
    - struct render_context*::d3dctx::PSSetShader
    - ID3D10Blob*::GetBufferSize
    - GetBufferSize
    - struct render_context*::d3dctx::VSSetShader
    - ID3D10Multithread*::Release
    - struct render_context*::d3device::CreateBuffer
    - struct render_context*::d3dctx::IASetPrimitiveTopology
    - struct render_context*::d3device::QueryInterface
    - struct render_context*::d3device::CreatePixelShader
    - struct render_context*::d3device::CreateInputLayout
    - ID3D11Texture2D*::Release
    - struct render_context*::d3dctx::IASetIndexBuffer
    - struct render_context*::d3device::CreateSamplerState
    - struct render_context*::d3device::CreateVertexShader
    - struct render_context*::d3device::CreateRenderTargetView
    - strlen
    - D3D11CreateDeviceAndSwapChain
    - static_cast<WORD*>
    - struct render_context*::d3dctx::IASetInputLayout
    - struct render_context*::d3dctx::Map
    linkageType: ''
    returnType: void
    signature: void init_direct3d(struct render_context *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CloseHandle
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:288,1
    - Dst: struct render_context*::resized::textureVLC::Release
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:293,1
    - Dst: check_leak
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:294,1
    - Dst: struct render_context*::resized::textureShaderInput::Release
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:299,1
    - Dst: check_leak
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:300,1
    - Dst: struct render_context*::resized::textureRenderTarget::Release
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:305,1
    - Dst: check_leak
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:306,1
    - Dst: struct render_context*::resized::texture::Release
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:311,1
    - Dst: check_leak
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:312,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct render_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 315
    functionName: release_textures
    functionSourceFile: /src/vlc/doc/libvlc/d3d11_player.cpp
    functionUses: 0
    functionsReached:
    - struct render_context*::resized::textureVLC::Release
    - struct render_context*::resized::textureShaderInput::Release
    - struct render_context*::resized::texture::Release
    - struct render_context*::resized::textureRenderTarget::Release
    - check_leak
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: void release_textures(struct render_context *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibrary
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:320,1
    - Dst: TEXT
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:320,1
    - Dst: reinterpret_cast<LPDXGIGETDEBUGINTERFACE>
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:325,1
    - Dst: reinterpret_cast<void*>
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:326,1
    - Dst: GetProcAddress
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:326,1
    - Dst: SUCCEEDED
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:330,1
    - Dst: pf_DXGIGetDebugInterface
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:330,1
    - Dst: __uuidof
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:330,1
    - Dst: IDXGIDebug*::ReportLiveObjects
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:331,1
    - Dst: IDXGIDebug*::Release
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:332,1
    - Dst: FreeLibrary
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 337
    functionName: list_dxgi_leaks
    functionSourceFile: /src/vlc/doc/libvlc/d3d11_player.cpp
    functionUses: 0
    functionsReached:
    - TEXT
    - reinterpret_cast<LPDXGIGETDEBUGINTERFACE>
    - LoadLibrary
    - IDXGIDebug*::Release
    - FreeLibrary
    - GetProcAddress
    - SUCCEEDED
    - __uuidof
    - IDXGIDebug*::ReportLiveObjects
    - reinterpret_cast<void*>
    - pf_DXGIGetDebugInterface
    linkageType: ''
    returnType: void
    signature: void list_dxgi_leaks(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release_textures
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:343,1
    - Dst: struct render_context*::d3dctxVLC::Release
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:345,1
    - Dst: check_leak
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:346,1
    - Dst: struct render_context*::d3deviceVLC::Release
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:347,1
    - Dst: check_leak
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:348,1
    - Dst: struct render_context*::samplerState::Release
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:350,1
    - Dst: check_leak
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:351,1
    - Dst: struct render_context*::pShadersInputLayout::Release
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:352,1
    - Dst: check_leak
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:353,1
    - Dst: struct render_context*::pVS::Release
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:354,1
    - Dst: check_leak
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:355,1
    - Dst: struct render_context*::pPS::Release
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:356,1
    - Dst: check_leak
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:357,1
    - Dst: struct render_context*::pIndexBuffer::Release
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:358,1
    - Dst: check_leak
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:359,1
    - Dst: struct render_context*::pVertexBuffer::Release
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:360,1
    - Dst: check_leak
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:361,1
    - Dst: struct render_context*::swapchain::Release
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:362,1
    - Dst: check_leak
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:363,1
    - Dst: struct render_context*::swapchainRenderTarget::Release
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:364,1
    - Dst: check_leak
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:365,1
    - Dst: struct render_context*::d3dctx::Release
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:366,1
    - Dst: check_leak
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:367,1
    - Dst: struct render_context*::d3device::Release
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:368,1
    - Dst: check_leak
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:369,1
    - Dst: list_dxgi_leaks
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct render_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 372
    functionName: release_direct3d
    functionSourceFile: /src/vlc/doc/libvlc/d3d11_player.cpp
    functionUses: 0
    functionsReached:
    - struct render_context*::pPS::Release
    - struct render_context*::swapchainRenderTarget::Release
    - struct render_context*::d3dctxVLC::Release
    - struct render_context*::pShadersInputLayout::Release
    - struct render_context*::pVertexBuffer::Release
    - struct render_context*::swapchain::Release
    - struct render_context*::pVS::Release
    - struct render_context*::samplerState::Release
    - check_leak
    - list_dxgi_leaks
    - struct render_context*::pIndexBuffer::Release
    - struct render_context*::d3deviceVLC::Release
    - struct render_context*::d3dctx::Release
    - release_textures
    - struct render_context*::d3device::Release
    linkageType: ''
    returnType: void
    signature: void release_direct3d(struct render_context *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct render_context *>
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:376,1
    - Dst: release_textures
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:382,1
    - Dst: struct render_context*::d3device::CreateTexture2D
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:404,1
    - Dst: FAILED
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:405,1
    - Dst: struct render_context*::resized::texture::QueryInterface
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:408,1
    - Dst: __uuidof
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:408,1
    - Dst: IDXGIResource1*::CreateSharedHandle
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:409,1
    - Dst: IDXGIResource1*::Release
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:410,1
    - Dst: struct render_context*::d3deviceVLC::QueryInterface
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:413,1
    - Dst: __uuidof
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:413,1
    - Dst: ID3D11Device1*::OpenSharedResource1
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:414,1
    - Dst: __uuidof
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:414,1
    - Dst: ID3D11Device1*::Release
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:415,1
    - Dst: ZeroMemory
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:418,1
    - Dst: struct render_context*::d3device::CreateShaderResourceView
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:422,1
    - Dst: FAILED
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:423,1
    - Dst: struct render_context*::d3dctx::PSSetShaderResources
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:425,1
    - Dst: struct render_context*::d3deviceVLC::CreateRenderTargetView
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:430,1
    - Dst: FAILED
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:431,1
    - Dst: struct render_context*::d3dctxVLC::OMSetRenderTargets
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:433,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 3
    argNames:
    - opaque
    - cfg
    - out
    argTypes:
    - void*
    - libvlc_video_render_cfg_t*
    - libvlc_video_output_cfg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 374
    functionDepth: 2
    functionLinenumber: 374
    functionLinenumberEnd: 443
    functionName: UpdateOutput_cb
    functionSourceFile: /src/vlc/doc/libvlc/d3d11_player.cpp
    functionUses: 0
    functionsReached:
    - IDXGIResource1*::Release
    - struct render_context*::d3deviceVLC::CreateRenderTargetView
    - IDXGIResource1*::CreateSharedHandle
    - ID3D11Device1*::OpenSharedResource1
    - FAILED
    - ID3D11Device1*::Release
    - struct render_context*::d3dctxVLC::OMSetRenderTargets
    - release_textures
    - struct render_context*::d3dctx::PSSetShaderResources
    - struct render_context*::d3device::CreateTexture2D
    - __uuidof
    - struct render_context*::d3deviceVLC::QueryInterface
    - struct render_context*::resized::texture::QueryInterface
    - static_cast<struct render_context *>
    - struct render_context*::d3device::CreateShaderResourceView
    - ZeroMemory
    linkageType: ''
    returnType: bool
    signature: bool UpdateOutput_cb( void *opaque, const libvlc_video_render_cfg_t
      *cfg, libvlc_video_output_cfg_t *out )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct render_context *>
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:447,1
    - Dst: struct render_context*::swapchain::Present
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 449
    functionName: Swap_cb
    functionSourceFile: /src/vlc/doc/libvlc/d3d11_player.cpp
    functionUses: 0
    functionsReached:
    - struct render_context*::swapchain::Present
    - static_cast<struct render_context *>
    linkageType: ''
    returnType: void
    signature: void Swap_cb( void* opaque )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct render_context *>
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:453,1
    - Dst: AcquireSRWLockExclusive
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:456,1
    - Dst: struct render_context*::d3dctxVLC::ClearRenderTargetView
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:460,1
    - Dst: struct render_context*::d3dctx::ClearRenderTargetView
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:465,1
    - Dst: struct render_context*::d3dctx::DrawIndexed
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:470,1
    - Dst: ReleaseSRWLockExclusive
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - opaque
    - enter
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 475
    functionName: StartRendering_cb
    functionSourceFile: /src/vlc/doc/libvlc/d3d11_player.cpp
    functionUses: 0
    functionsReached:
    - struct render_context*::d3dctx::ClearRenderTargetView
    - AcquireSRWLockExclusive
    - struct render_context*::d3dctxVLC::ClearRenderTargetView
    - struct render_context*::d3dctx::DrawIndexed
    - ReleaseSRWLockExclusive
    - static_cast<struct render_context *>
    linkageType: ''
    returnType: bool
    signature: bool StartRendering_cb( void *opaque, bool enter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ID3D11RenderTargetView**>
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:479,1
    - Dst: static_cast<struct render_context *>
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - opaque
    - plane
    - out
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 486
    functionName: SelectPlane_cb
    functionSourceFile: /src/vlc/doc/libvlc/d3d11_player.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct render_context *>
    - static_cast<ID3D11RenderTargetView**>
    linkageType: ''
    returnType: bool
    signature: bool SelectPlane_cb( void *opaque, size_t plane, void *out )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct render_context *>
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:490,1
    - Dst: struct render_context*::d3dctxVLC::AddRef
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - opaque
    - cfg
    - out
    argTypes:
    - void**
    - libvlc_video_setup_device_cfg_t*
    - libvlc_video_setup_device_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 495
    functionName: SetupDevice_cb
    functionSourceFile: /src/vlc/doc/libvlc/d3d11_player.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct render_context *>
    - struct render_context*::d3dctxVLC::AddRef
    linkageType: ''
    returnType: bool
    signature: bool SetupDevice_cb( void **opaque, const libvlc_video_setup_device_cfg_t
      *cfg, libvlc_video_setup_device_info_t *out )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct render_context *>
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:500,1
    - Dst: struct render_context*::d3dctxVLC::Release
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 502
    functionName: CleanupDevice_cb
    functionSourceFile: /src/vlc/doc/libvlc/d3d11_player.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct render_context *>
    - struct render_context*::d3dctxVLC::Release
    linkageType: ''
    returnType: void
    signature: void CleanupDevice_cb( void *opaque )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct render_context *>
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:512,1
    - Dst: AcquireSRWLockExclusive
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:513,1
    - Dst: struct render_context*::ReportSize
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:523,1
    - Dst: ReleaseSRWLockExclusive
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 6
    argNames:
    - opaque
    - report_size_change
    - report_mouse_move
    - report_mouse_press
    - report_mouse_release
    - report_opaque
    argTypes:
    - void*
    - libvlc_video_output_resize_cb
    - libvlc_video_output_mouse_move_cb
    - libvlc_video_output_mouse_press_cb
    - libvlc_video_output_mouse_release_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 526
    functionName: SetReport_cb
    functionSourceFile: /src/vlc/doc/libvlc/d3d11_player.cpp
    functionUses: 0
    functionsReached:
    - struct render_context*::ReportSize
    - static_cast<struct render_context *>
    - ReleaseSRWLockExclusive
    - AcquireSRWLockExclusive
    linkageType: ''
    returnType: void
    signature: "void SetReport_cb( void *opaque,\r\n                          libvlc_video_output_resize_cb
      report_size_change,\r\n                          libvlc_video_output_mouse_move_cb
      report_mouse_move,\r\n                          libvlc_video_output_mouse_press_cb
      report_mouse_press,\r\n                          libvlc_video_output_mouse_release_cb
      report_mouse_release,\r\n                          void *report_opaque )"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - message
    argTypes:
    - UINT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 545
    functionName: windowsButtonToVLC
    functionSourceFile: /src/vlc/doc/libvlc/d3d11_player.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: libvlc_video_output_mouse_button_t
    signature: libvlc_video_output_mouse_button_t windowsButtonToVLC(UINT message)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: SetWindowLongPtr
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:555,1
    - Dst: GetWindowLongPtr
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:559,1
    - Dst: DefWindowProc
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:561,1
    - Dst: LOWORD
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:568,1
    - Dst: HIWORD
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:569,1
    - Dst: AcquireSRWLockExclusive
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:572,1
    - Dst: struct render_context*::swapchainRenderTarget::Release
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:575,1
    - Dst: struct render_context*::swapchain::ResizeBuffers
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:576,1
    - Dst: struct render_context*::swapchain::GetBuffer
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:579,1
    - Dst: __uuidof
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:579,1
    - Dst: struct render_context*::d3device::CreateRenderTargetView
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:581,1
    - Dst: ID3D11Texture2D*::Release
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:582,1
    - Dst: struct render_context*::d3dctx::OMSetRenderTargets
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:584,1
    - Dst: struct render_context*::d3dctx::RSSetViewports
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:588,1
    - Dst: ReleaseSRWLockExclusive
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:590,1
    - Dst: unsigned
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:592,1
    - Dst: unsigned
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:593,1
    - Dst: AcquireSRWLockExclusive
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:597,1
    - Dst: struct render_context*::ReportSize
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:599,1
    - Dst: ReleaseSRWLockExclusive
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:600,1
    - Dst: GET_X_LPARAM
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:606,1
    - Dst: GET_Y_LPARAM
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:607,1
    - Dst: AcquireSRWLockExclusive
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:609,1
    - Dst: struct render_context*::MouseMove
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:611,1
    - Dst: ReleaseSRWLockExclusive
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:612,1
    - Dst: windowsButtonToVLC
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:620,1
    - Dst: AcquireSRWLockExclusive
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:621,1
    - Dst: struct render_context*::MousePress
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:623,1
    - Dst: ReleaseSRWLockExclusive
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:624,1
    - Dst: windowsButtonToVLC
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:632,1
    - Dst: AcquireSRWLockExclusive
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:633,1
    - Dst: struct render_context*::MouseRelease
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:635,1
    - Dst: ReleaseSRWLockExclusive
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:636,1
    - Dst: PostQuitMessage
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:641,1
    - Dst: tolower
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:647,1
    - Dst: MapVirtualKey
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:647,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:652,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:654,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:656,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:658,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:660,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:662,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:664,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:666,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:668,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:670,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:672,1
    - Dst: libvlc_video_set_aspect_ratio
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:674,1
    - Dst: DefWindowProc
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:681,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 93
    argCount: 4
    argNames:
    - hWnd
    - message
    - wParam
    - lParam
    argTypes:
    - HWND
    - UINT
    - WPARAM
    - LPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 682
    functionName: WindowProc
    functionSourceFile: /src/vlc/doc/libvlc/d3d11_player.cpp
    functionUses: 1
    functionsReached:
    - struct render_context*::swapchain::ResizeBuffers
    - tolower
    - struct render_context*::swapchain::GetBuffer
    - __uuidof
    - libvlc_video_set_aspect_ratio
    - ReleaseSRWLockExclusive
    - struct render_context*::d3dctx::OMSetRenderTargets
    - HIWORD
    - struct render_context*::d3dctx::RSSetViewports
    - struct render_context*::ReportSize
    - SetWindowLongPtr
    - DefWindowProc
    - MapVirtualKey
    - struct render_context*::swapchainRenderTarget::Release
    - ID3D11Texture2D*::Release
    - strcmp
    - AcquireSRWLockExclusive
    - unsigned
    - struct render_context*::MousePress
    - struct render_context*::MouseRelease
    - windowsButtonToVLC
    - struct render_context*::d3device::CreateRenderTargetView
    - GET_Y_LPARAM
    - PostQuitMessage
    - GetWindowLongPtr
    - struct render_context*::MouseMove
    - GET_X_LPARAM
    - LOWORD
    linkageType: ''
    returnType: LRESULT
    signature: LRESULT WindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:696,1
    - Dst: printf
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:698,1
    - Dst: _strdup
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:705,1
    - Dst: strlen
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:706,1
    - Dst: strlen
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:707,1
    - Dst: _strdup
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:710,1
    - Dst: libvlc_new
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:712,1
    - Dst: libvlc_media_new_path
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:713,1
    - Dst: free
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:714,1
    - Dst: libvlc_media_player_new_from_media
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:715,1
    - Dst: InitializeSRWLock
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:718,1
    - Dst: InitializeSRWLock
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:719,1
    - Dst: ZeroMemory
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:721,1
    - Dst: LoadCursor
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:727,1
    - Dst: TEXT
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:728,1
    - Dst: RegisterClassEx
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:730,1
    - Dst: AdjustWindowRect
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:733,1
    - Dst: CreateWindowEx
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:738,1
    - Dst: TEXT
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:739,1
    - Dst: TEXT
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:740,1
    - Dst: ShowWindow
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:750,1
    - Dst: init_direct3d
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:752,1
    - Dst: libvlc_video_set_output_callbacks
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:757,1
    - Dst: libvlc_media_player_play
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:763,1
    - Dst: printf
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:765,1
    - Dst: printf
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:766,1
    - Dst: printf
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:767,1
    - Dst: PeekMessage
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:773,1
    - Dst: TranslateMessage
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:775,1
    - Dst: DispatchMessage
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:776,1
    - Dst: libvlc_media_player_stop_async
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:783,1
    - Dst: libvlc_media_player_release
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:785,1
    - Dst: libvlc_media_release
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:786,1
    - Dst: release_direct3d
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:788,1
    - Dst: libvlc_release
      Src: /src/vlc/doc/libvlc/d3d11_player.cpp:790,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 51
    argCount: 4
    argNames:
    - hInstance
    - hPrevInstance
    - lpCmdLine
    - nCmdShow
    argTypes:
    - HINSTANCE
    - HINSTANCE
    - LPSTR
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 793
    functionName: WinMain
    functionSourceFile: /src/vlc/doc/libvlc/d3d11_player.cpp
    functionUses: 0
    functionsReached:
    - libvlc_media_new_path
    - AdjustWindowRect
    - libvlc_video_set_output_callbacks
    - libvlc_new
    - libvlc_media_player_new_from_media
    - ZeroMemory
    - TEXT
    - InitializeSRWLock
    - PeekMessage
    - RegisterClassEx
    - CreateWindowEx
    - release_direct3d
    - libvlc_release
    - libvlc_media_release
    - LoadCursor
    - DispatchMessage
    - libvlc_media_player_stop_async
    - printf
    - libvlc_media_player_release
    - _strdup
    - ShowWindow
    - libvlc_media_player_play
    - strlen
    - free
    - TranslateMessage
    - init_direct3d
    linkageType: ''
    returnType: int
    signature: "int WinMain(HINSTANCE hInstance,\r\n                   HINSTANCE hPrevInstance,\r\n
      \                  LPSTR lpCmdLine,\r\n                   int nCmdShow)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: SetWindowLongPtr
      Src: /src/vlc/doc/libvlc/win_player.c:26,1
    - Dst: GetWindowLongPtr
      Src: /src/vlc/doc/libvlc/win_player.c:30,1
    - Dst: DefWindowProc
      Src: /src/vlc/doc/libvlc/win_player.c:32,1
    - Dst: PostQuitMessage
      Src: /src/vlc/doc/libvlc/win_player.c:38,1
    - Dst: libvlc_media_player_stop_async
      Src: /src/vlc/doc/libvlc/win_player.c:44,1
    - Dst: DragQueryFile
      Src: /src/vlc/doc/libvlc/win_player.c:46,1
    - Dst: libvlc_media_new_path
      Src: /src/vlc/doc/libvlc/win_player.c:48,1
    - Dst: libvlc_media_player_get_media
      Src: /src/vlc/doc/libvlc/win_player.c:49,1
    - Dst: libvlc_media_player_set_media
      Src: /src/vlc/doc/libvlc/win_player.c:50,1
    - Dst: libvlc_media_release
      Src: /src/vlc/doc/libvlc/win_player.c:51,1
    - Dst: libvlc_media_player_play
      Src: /src/vlc/doc/libvlc/win_player.c:53,1
    - Dst: DragFinish
      Src: /src/vlc/doc/libvlc/win_player.c:55,1
    - Dst: tolower
      Src: /src/vlc/doc/libvlc/win_player.c:61,1
    - Dst: MapVirtualKey
      Src: /src/vlc/doc/libvlc/win_player.c:61,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/win_player.c:66,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/win_player.c:68,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/win_player.c:70,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/win_player.c:72,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/win_player.c:74,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/win_player.c:76,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/win_player.c:78,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/win_player.c:80,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/win_player.c:82,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/win_player.c:84,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/win_player.c:86,1
    - Dst: libvlc_video_set_aspect_ratio
      Src: /src/vlc/doc/libvlc/win_player.c:88,1
    - Dst: DefWindowProc
      Src: /src/vlc/doc/libvlc/win_player.c:95,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 4
    argNames:
    - hWnd
    - message
    - wParam
    - lParam
    argTypes:
    - HWND
    - UINT
    - WPARAM
    - LPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 96
    functionName: WindowProc
    functionSourceFile: /src/vlc/doc/libvlc/win_player.c
    functionUses: 2
    functionsReached:
    - libvlc_media_new_path
    - libvlc_media_player_play
    - MapVirtualKey
    - libvlc_video_set_aspect_ratio
    - libvlc_media_release
    - PostQuitMessage
    - libvlc_media_player_set_media
    - DragFinish
    - libvlc_media_player_stop_async
    - GetWindowLongPtr
    - tolower
    - strcmp
    - SetWindowLongPtr
    - libvlc_media_player_get_media
    - DragQueryFile
    - DefWindowProc
    linkageType: ''
    returnType: LRESULT
    signature: LRESULT WindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _strdup
      Src: /src/vlc/doc/libvlc/win_player.c:113,1
    - Dst: strlen
      Src: /src/vlc/doc/libvlc/win_player.c:114,1
    - Dst: strlen
      Src: /src/vlc/doc/libvlc/win_player.c:115,1
    - Dst: _strdup
      Src: /src/vlc/doc/libvlc/win_player.c:118,1
    - Dst: libvlc_new
      Src: /src/vlc/doc/libvlc/win_player.c:120,1
    - Dst: libvlc_media_new_path
      Src: /src/vlc/doc/libvlc/win_player.c:121,1
    - Dst: free
      Src: /src/vlc/doc/libvlc/win_player.c:122,1
    - Dst: libvlc_media_player_new_from_media
      Src: /src/vlc/doc/libvlc/win_player.c:123,1
    - Dst: ZeroMemory
      Src: /src/vlc/doc/libvlc/win_player.c:127,1
    - Dst: LoadCursor
      Src: /src/vlc/doc/libvlc/win_player.c:132,1
    - Dst: TEXT
      Src: /src/vlc/doc/libvlc/win_player.c:133,1
    - Dst: RegisterClassEx
      Src: /src/vlc/doc/libvlc/win_player.c:135,1
    - Dst: AdjustWindowRect
      Src: /src/vlc/doc/libvlc/win_player.c:138,1
    - Dst: CreateWindowEx
      Src: /src/vlc/doc/libvlc/win_player.c:140,1
    - Dst: TEXT
      Src: /src/vlc/doc/libvlc/win_player.c:141,1
    - Dst: TEXT
      Src: /src/vlc/doc/libvlc/win_player.c:142,1
    - Dst: DragAcceptFiles
      Src: /src/vlc/doc/libvlc/win_player.c:151,1
    - Dst: libvlc_media_player_set_hwnd
      Src: /src/vlc/doc/libvlc/win_player.c:153,1
    - Dst: ShowWindow
      Src: /src/vlc/doc/libvlc/win_player.c:155,1
    - Dst: libvlc_media_player_play
      Src: /src/vlc/doc/libvlc/win_player.c:157,1
    - Dst: GetMessage
      Src: /src/vlc/doc/libvlc/win_player.c:160,1
    - Dst: TranslateMessage
      Src: /src/vlc/doc/libvlc/win_player.c:162,1
    - Dst: DispatchMessage
      Src: /src/vlc/doc/libvlc/win_player.c:163,1
    - Dst: libvlc_media_player_stop_async
      Src: /src/vlc/doc/libvlc/win_player.c:169,1
    - Dst: libvlc_media_release
      Src: /src/vlc/doc/libvlc/win_player.c:171,1
    - Dst: libvlc_media_player_get_media
      Src: /src/vlc/doc/libvlc/win_player.c:171,1
    - Dst: libvlc_media_player_release
      Src: /src/vlc/doc/libvlc/win_player.c:172,1
    - Dst: libvlc_release
      Src: /src/vlc/doc/libvlc/win_player.c:173,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 4
    argNames:
    - hInstance
    - hPrevInstance
    - lpCmdLine
    - nCmdShow
    argTypes:
    - HINSTANCE
    - HINSTANCE
    - LPSTR
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 176
    functionName: WinMain
    functionSourceFile: /src/vlc/doc/libvlc/win_player.c
    functionUses: 0
    functionsReached:
    - libvlc_media_new_path
    - AdjustWindowRect
    - DragAcceptFiles
    - libvlc_new
    - libvlc_media_player_new_from_media
    - libvlc_media_player_get_media
    - ZeroMemory
    - TEXT
    - RegisterClassEx
    - CreateWindowEx
    - libvlc_release
    - libvlc_media_release
    - LoadCursor
    - DispatchMessage
    - libvlc_media_player_stop_async
    - libvlc_media_player_release
    - GetMessage
    - _strdup
    - ShowWindow
    - libvlc_media_player_play
    - strlen
    - free
    - libvlc_media_player_set_hwnd
    - TranslateMessage
    linkageType: ''
    returnType: int
    signature: "int WinMain(HINSTANCE hInstance,\r\n                   HINSTANCE hPrevInstance,\r\n
      \                  LPSTR lpCmdLine,\r\n                   int nCmdShow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/doc/libvlc/player.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: print_usage
    functionSourceFile: /src/vlc/doc/libvlc/player.c
    functionUses: 4
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_usage(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/doc/libvlc/player.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: print_ui
    functionSourceFile: /src/vlc/doc/libvlc/player.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_ui(struct context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_media_list_count
      Src: /src/vlc/doc/libvlc/player.c:77,1
    - Dst: libvlc_media_list_item_at_index
      Src: /src/vlc/doc/libvlc/player.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: get_next_media_locked
    functionSourceFile: /src/vlc/doc/libvlc/player.c
    functionUses: 0
    functionsReached:
    - libvlc_media_list_count
    - libvlc_media_list_item_at_index
    linkageType: ''
    returnType: libvlc_media_t
    signature: 'libvlc_media_t *

      get_next_media_locked(struct context *ctx)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/doc/libvlc/player.c:89,1
    - Dst: libvlc_media_get_meta
      Src: /src/vlc/doc/libvlc/player.c:90,1
    - Dst: print_ui
      Src: /src/vlc/doc/libvlc/player.c:91,1
    - Dst: libvlc_media_list_lock
      Src: /src/vlc/doc/libvlc/player.c:94,1
    - Dst: libvlc_media_list_index_of_item
      Src: /src/vlc/doc/libvlc/player.c:95,1
    - Dst: assert
      Src: /src/vlc/doc/libvlc/player.c:96,1
    - Dst: get_next_media_locked
      Src: /src/vlc/doc/libvlc/player.c:98,1
    - Dst: libvlc_media_list_unlock
      Src: /src/vlc/doc/libvlc/player.c:99,1
    - Dst: libvlc_media_player_set_next_media
      Src: /src/vlc/doc/libvlc/player.c:104,1
    - Dst: libvlc_media_release
      Src: /src/vlc/doc/libvlc/player.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - opaque
    - media
    argTypes:
    - void*
    - libvlc_media_t*
    assertStmts:
    - condition: (ctx->playing_idx >= 0)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/vlc/doc/libvlc/player.c
    constantsTouched: []
    func_position:
      end: 107
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 107
    functionName: player_on_media_changed
    functionSourceFile: /src/vlc/doc/libvlc/player.c
    functionUses: 0
    functionsReached:
    - assert
    - libvlc_media_release
    - get_next_media_locked
    - libvlc_media_get_meta
    - free
    - libvlc_media_list_unlock
    - libvlc_media_list_lock
    - libvlc_media_list_index_of_item
    - libvlc_media_player_set_next_media
    - print_ui
    linkageType: ''
    returnType: void
    signature: void player_on_media_changed(void *opaque, libvlc_media_t *media)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/doc/libvlc/player.c:114,1
    - Dst: libvlc_media_list_index_of_item
      Src: /src/vlc/doc/libvlc/player.c:114,1
    - Dst: libvlc_media_subitems
      Src: /src/vlc/doc/libvlc/player.c:116,1
    - Dst: libvlc_media_get_type
      Src: /src/vlc/doc/libvlc/player.c:120,1
    - Dst: libvlc_media_list_lock
      Src: /src/vlc/doc/libvlc/player.c:122,1
    - Dst: libvlc_media_list_remove_index
      Src: /src/vlc/doc/libvlc/player.c:128,1
    - Dst: libvlc_media_list_lock
      Src: /src/vlc/doc/libvlc/player.c:132,1
    - Dst: libvlc_media_list_count
      Src: /src/vlc/doc/libvlc/player.c:134,1
    - Dst: libvlc_media_list_item_at_index
      Src: /src/vlc/doc/libvlc/player.c:137,1
    - Dst: libvlc_media_list_insert_media
      Src: /src/vlc/doc/libvlc/player.c:138,1
    - Dst: libvlc_media_release
      Src: /src/vlc/doc/libvlc/player.c:139,1
    - Dst: get_next_media_locked
      Src: /src/vlc/doc/libvlc/player.c:141,1
    - Dst: libvlc_media_list_unlock
      Src: /src/vlc/doc/libvlc/player.c:143,1
    - Dst: libvlc_media_list_unlock
      Src: /src/vlc/doc/libvlc/player.c:144,1
    - Dst: libvlc_media_list_release
      Src: /src/vlc/doc/libvlc/player.c:145,1
    - Dst: libvlc_media_player_set_next_media
      Src: /src/vlc/doc/libvlc/player.c:150,1
    - Dst: libvlc_media_release
      Src: /src/vlc/doc/libvlc/player.c:151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - opaque
    - media
    argTypes:
    - void*
    - libvlc_media_t*
    assertStmts:
    - condition: (ctx->playing_idx == libvlc_media_list_index_of_item(ctx->mlist,
        media))
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/vlc/doc/libvlc/player.c
    constantsTouched: []
    func_position:
      end: 153
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 153
    functionName: player_on_media_subitems_changed
    functionSourceFile: /src/vlc/doc/libvlc/player.c
    functionUses: 0
    functionsReached:
    - assert
    - libvlc_media_list_item_at_index
    - libvlc_media_release
    - libvlc_media_get_type
    - libvlc_media_list_insert_media
    - get_next_media_locked
    - libvlc_media_subitems
    - libvlc_media_list_unlock
    - libvlc_media_list_remove_index
    - libvlc_media_list_lock
    - libvlc_media_list_index_of_item
    - libvlc_media_player_set_next_media
    - libvlc_media_list_count
    - libvlc_media_list_release
    linkageType: ''
    returnType: void
    signature: void player_on_media_subitems_changed(void *opaque, libvlc_media_t
      *media)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/vlc/doc/libvlc/player.c:160,1
    - Dst: pthread_mutex_unlock
      Src: /src/vlc/doc/libvlc/player.c:162,1
    - Dst: write
      Src: /src/vlc/doc/libvlc/player.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - opaque
    - volume
    argTypes:
    - void*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 166
    functionName: player_on_audio_volume_changed
    functionSourceFile: /src/vlc/doc/libvlc/player.c
    functionUses: 0
    functionsReached:
    - write
    - pthread_mutex_lock
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void player_on_audio_volume_changed(void *opaque, float volume)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/vlc/doc/libvlc/player.c:177,1
    - Dst: pthread_mutex_unlock
      Src: /src/vlc/doc/libvlc/player.c:180,1
    - Dst: write
      Src: /src/vlc/doc/libvlc/player.c:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - opaque
    - value
    argTypes:
    - void*
    - libvlc_media_player_time_point_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 184
    functionName: player_time_on_update
    functionSourceFile: /src/vlc/doc/libvlc/player.c
    functionUses: 0
    functionsReached:
    - write
    - pthread_mutex_lock
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: "void player_time_on_update(void *opaque,\n                      const
      libvlc_media_player_time_point_t *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/doc/libvlc/player.c:191,1
    - Dst: pthread_mutex_lock
      Src: /src/vlc/doc/libvlc/player.c:192,1
    - Dst: pthread_mutex_unlock
      Src: /src/vlc/doc/libvlc/player.c:194,1
    - Dst: write
      Src: /src/vlc/doc/libvlc/player.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - opaque
    - system_date_us
    argTypes:
    - void*
    - libvlc_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 198
    functionName: player_time_on_paused
    functionSourceFile: /src/vlc/doc/libvlc/player.c
    functionUses: 0
    functionsReached:
    - write
    - fprintf
    - pthread_mutex_lock
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void player_time_on_paused(void *opaque, libvlc_time_t system_date_us)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/vlc/doc/libvlc/player.c:205,1
    - Dst: pthread_mutex_unlock
      Src: /src/vlc/doc/libvlc/player.c:213,1
    - Dst: write
      Src: /src/vlc/doc/libvlc/player.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - opaque
    - value
    argTypes:
    - void*
    - libvlc_media_player_time_point_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 217
    functionName: player_time_on_seek
    functionSourceFile: /src/vlc/doc/libvlc/player.c
    functionUses: 0
    functionsReached:
    - write
    - pthread_mutex_lock
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void player_time_on_seek(void *opaque, const libvlc_media_player_time_point_t
      *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_media_list_release
      Src: /src/vlc/doc/libvlc/player.c:222,1
    - Dst: libvlc_media_player_unwatch_time
      Src: /src/vlc/doc/libvlc/player.c:223,1
    - Dst: libvlc_media_player_release
      Src: /src/vlc/doc/libvlc/player.c:224,1
    - Dst: pthread_mutex_destroy
      Src: /src/vlc/doc/libvlc/player.c:226,1
    - Dst: close
      Src: /src/vlc/doc/libvlc/player.c:227,1
    - Dst: close
      Src: /src/vlc/doc/libvlc/player.c:228,1
    - Dst: free
      Src: /src/vlc/doc/libvlc/player.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 231
    functionName: context_destroy
    functionSourceFile: /src/vlc/doc/libvlc/player.c
    functionUses: 0
    functionsReached:
    - libvlc_media_player_release
    - close
    - free
    - pthread_mutex_destroy
    - libvlc_media_player_unwatch_time
    - libvlc_media_list_release
    linkageType: ''
    returnType: void
    signature: void context_destroy(struct context *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/vlc/doc/libvlc/player.c:242,1
    - Dst: pthread_mutex_init
      Src: /src/vlc/doc/libvlc/player.c:246,1
    - Dst: libvlc_media_list_new
      Src: /src/vlc/doc/libvlc/player.c:248,1
    - Dst: libvlc_media_player_new
      Src: /src/vlc/doc/libvlc/player.c:259,1
    - Dst: libvlc_media_player_watch_time
      Src: /src/vlc/doc/libvlc/player.c:270,1
    - Dst: libvlc_media_player_release
      Src: /src/vlc/doc/libvlc/player.c:278,1
    - Dst: libvlc_media_list_release
      Src: /src/vlc/doc/libvlc/player.c:280,1
    - Dst: pthread_mutex_destroy
      Src: /src/vlc/doc/libvlc/player.c:282,1
    - Dst: close
      Src: /src/vlc/doc/libvlc/player.c:283,1
    - Dst: close
      Src: /src/vlc/doc/libvlc/player.c:284,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - ctx
    - libvlc
    argTypes:
    - struct context*
    - libvlc_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 286
    functionName: context_init
    functionSourceFile: /src/vlc/doc/libvlc/player.c
    functionUses: 0
    functionsReached:
    - libvlc_media_player_watch_time
    - libvlc_media_player_release
    - libvlc_media_player_new
    - close
    - libvlc_media_list_new
    - libvlc_media_list_release
    - pthread_mutex_destroy
    - pthread_mutex_init
    - pipe
    linkageType: ''
    returnType: int
    signature: int context_init(struct context *ctx, libvlc_instance_t *libvlc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_media_list_lock
      Src: /src/vlc/doc/libvlc/player.c:291,1
    - Dst: strstr
      Src: /src/vlc/doc/libvlc/player.c:298,1
    - Dst: libvlc_media_new_location
      Src: /src/vlc/doc/libvlc/player.c:299,1
    - Dst: libvlc_media_new_path
      Src: /src/vlc/doc/libvlc/player.c:301,1
    - Dst: libvlc_media_list_unlock
      Src: /src/vlc/doc/libvlc/player.c:305,1
    - Dst: libvlc_media_list_add_media
      Src: /src/vlc/doc/libvlc/player.c:309,1
    - Dst: libvlc_media_release
      Src: /src/vlc/doc/libvlc/player.c:310,1
    - Dst: libvlc_media_list_item_at_index
      Src: /src/vlc/doc/libvlc/player.c:313,1
    - Dst: libvlc_media_list_unlock
      Src: /src/vlc/doc/libvlc/player.c:314,1
    - Dst: libvlc_media_player_set_media
      Src: /src/vlc/doc/libvlc/player.c:319,1
    - Dst: libvlc_media_release
      Src: /src/vlc/doc/libvlc/player.c:320,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - argc
    - argv
    argTypes:
    - struct context*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 324
    functionName: context_parse_argv
    functionSourceFile: /src/vlc/doc/libvlc/player.c
    functionUses: 0
    functionsReached:
    - libvlc_media_new_path
    - libvlc_media_release
    - libvlc_media_list_item_at_index
    - libvlc_media_player_set_media
    - libvlc_media_list_unlock
    - strstr
    - libvlc_media_list_lock
    - libvlc_media_new_location
    - libvlc_media_list_add_media
    linkageType: ''
    returnType: int
    signature: int context_parse_argv(struct context *ctx, int argc, const char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/vlc/doc/libvlc/player.c:330,1
    - Dst: fcntl
      Src: /src/vlc/doc/libvlc/player.c:330,1
    - Dst: tcgetattr
      Src: /src/vlc/doc/libvlc/player.c:334,1
    - Dst: tcsetattr
      Src: /src/vlc/doc/libvlc/player.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 339
    functionName: setup_terminal
    functionSourceFile: /src/vlc/doc/libvlc/player.c
    functionUses: 0
    functionsReached:
    - tcsetattr
    - tcgetattr
    - fcntl
    linkageType: ''
    returnType: void
    signature: void setup_terminal(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_media_list_lock
      Src: /src/vlc/doc/libvlc/player.c:344,1
    - Dst: libvlc_media_list_count
      Src: /src/vlc/doc/libvlc/player.c:345,1
    - Dst: libvlc_media_list_item_at_index
      Src: /src/vlc/doc/libvlc/player.c:350,1
    - Dst: libvlc_media_list_unlock
      Src: /src/vlc/doc/libvlc/player.c:351,1
    - Dst: libvlc_media_player_set_media
      Src: /src/vlc/doc/libvlc/player.c:353,1
    - Dst: libvlc_media_player_play
      Src: /src/vlc/doc/libvlc/player.c:354,1
    - Dst: libvlc_media_release
      Src: /src/vlc/doc/libvlc/player.c:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 357
    functionName: play_next
    functionSourceFile: /src/vlc/doc/libvlc/player.c
    functionUses: 0
    functionsReached:
    - libvlc_media_player_play
    - libvlc_media_list_item_at_index
    - libvlc_media_release
    - libvlc_media_player_set_media
    - libvlc_media_list_unlock
    - libvlc_media_list_lock
    - libvlc_media_list_count
    linkageType: ''
    returnType: void
    signature: void play_next(struct context *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_media_list_lock
      Src: /src/vlc/doc/libvlc/player.c:362,1
    - Dst: libvlc_media_list_count
      Src: /src/vlc/doc/libvlc/player.c:364,1
    - Dst: libvlc_media_list_item_at_index
      Src: /src/vlc/doc/libvlc/player.c:368,1
    - Dst: libvlc_media_list_unlock
      Src: /src/vlc/doc/libvlc/player.c:369,1
    - Dst: libvlc_media_player_set_media
      Src: /src/vlc/doc/libvlc/player.c:371,1
    - Dst: libvlc_media_player_play
      Src: /src/vlc/doc/libvlc/player.c:372,1
    - Dst: libvlc_media_release
      Src: /src/vlc/doc/libvlc/player.c:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 374
    functionName: play_previous
    functionSourceFile: /src/vlc/doc/libvlc/player.c
    functionUses: 0
    functionsReached:
    - libvlc_media_player_play
    - libvlc_media_list_item_at_index
    - libvlc_media_release
    - libvlc_media_player_set_media
    - libvlc_media_list_unlock
    - libvlc_media_list_lock
    - libvlc_media_list_count
    linkageType: ''
    returnType: void
    signature: void play_previous(struct context *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_audio_get_volume
      Src: /src/vlc/doc/libvlc/player.c:379,1
    - Dst: libvlc_audio_set_volume
      Src: /src/vlc/doc/libvlc/player.c:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - value
    argTypes:
    - struct context*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 388
    functionName: increase_volume
    functionSourceFile: /src/vlc/doc/libvlc/player.c
    functionUses: 0
    functionsReached:
    - libvlc_audio_set_volume
    - libvlc_audio_get_volume
    linkageType: ''
    returnType: void
    signature: void increase_volume(struct context *ctx, int value)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: play_previous
      Src: /src/vlc/doc/libvlc/player.c:401,1
    - Dst: play_next
      Src: /src/vlc/doc/libvlc/player.c:404,1
    - Dst: libvlc_media_player_pause
      Src: /src/vlc/doc/libvlc/player.c:407,1
    - Dst: libvlc_media_player_next_frame
      Src: /src/vlc/doc/libvlc/player.c:410,1
    - Dst: print_ui
      Src: /src/vlc/doc/libvlc/player.c:413,1
    - Dst: strncmp
      Src: /src/vlc/doc/libvlc/player.c:425,1
    - Dst: libvlc_media_player_jump_time
      Src: /src/vlc/doc/libvlc/player.c:449,1
    - Dst: increase_volume
      Src: /src/vlc/doc/libvlc/player.c:452,1
    - Dst: libvlc_media_player_jump_time
      Src: /src/vlc/doc/libvlc/player.c:455,1
    - Dst: increase_volume
      Src: /src/vlc/doc/libvlc/player.c:458,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 3
    argNames:
    - ctx
    - command
    - len
    argTypes:
    - struct context*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 464
    functionName: mainloop_handle_command
    functionSourceFile: /src/vlc/doc/libvlc/player.c
    functionUses: 0
    functionsReached:
    - libvlc_media_player_next_frame
    - play_next
    - libvlc_media_player_pause
    - strncmp
    - libvlc_media_player_jump_time
    - increase_volume
    - play_previous
    - print_ui
    linkageType: ''
    returnType: int
    signature: int mainloop_handle_command(struct context *ctx, const char *command,
      size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gmtime_r
      Src: /src/vlc/doc/libvlc/player.c:473,1
    - Dst: strftime
      Src: /src/vlc/doc/libvlc/player.c:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - us
    - buffer
    - buffer_size
    argTypes:
    - libvlc_time_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 475
    functionName: format_time_us
    functionSourceFile: /src/vlc/doc/libvlc/player.c
    functionUses: 0
    functionsReached:
    - strftime
    - gmtime_r
    linkageType: ''
    returnType: size_t
    signature: size_t format_time_us(libvlc_time_t us, char *buffer, size_t buffer_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/vlc/doc/libvlc/player.c:481,1
    - Dst: libvlc_clock
      Src: /src/vlc/doc/libvlc/player.c:488,1
    - Dst: libvlc_media_player_time_point_interpolate
      Src: /src/vlc/doc/libvlc/player.c:490,1
    - Dst: pthread_mutex_unlock
      Src: /src/vlc/doc/libvlc/player.c:494,1
    - Dst: pthread_mutex_unlock
      Src: /src/vlc/doc/libvlc/player.c:509,1
    - Dst: format_time_us
      Src: /src/vlc/doc/libvlc/player.c:514,1
    - Dst: format_time_us
      Src: /src/vlc/doc/libvlc/player.c:519,1
    - Dst: fprintf
      Src: /src/vlc/doc/libvlc/player.c:520,1
    - Dst: fflush
      Src: /src/vlc/doc/libvlc/player.c:523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 477
    functionDepth: 3
    functionLinenumber: 477
    functionLinenumberEnd: 526
    functionName: mainloop_display_ui
    functionSourceFile: /src/vlc/doc/libvlc/player.c
    functionUses: 0
    functionsReached:
    - libvlc_media_player_time_point_interpolate
    - pthread_mutex_lock
    - libvlc_clock
    - fprintf
    - format_time_us
    - fflush
    - pthread_mutex_unlock
    linkageType: ''
    returnType: bool
    signature: bool mainloop_display_ui(struct context *ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/vlc/doc/libvlc/player.c:538,1
    - Dst: FD_SET
      Src: /src/vlc/doc/libvlc/player.c:539,1
    - Dst: FD_SET
      Src: /src/vlc/doc/libvlc/player.c:540,1
    - Dst: assert
      Src: /src/vlc/doc/libvlc/player.c:542,1
    - Dst: select
      Src: /src/vlc/doc/libvlc/player.c:551,1
    - Dst: perror
      Src: /src/vlc/doc/libvlc/player.c:554,1
    - Dst: mainloop_display_ui
      Src: /src/vlc/doc/libvlc/player.c:558,1
    - Dst: FD_ISSET
      Src: /src/vlc/doc/libvlc/player.c:561,1
    - Dst: read
      Src: /src/vlc/doc/libvlc/player.c:564,1
    - Dst: perror
      Src: /src/vlc/doc/libvlc/player.c:567,1
    - Dst: mainloop_handle_command
      Src: /src/vlc/doc/libvlc/player.c:573,1
    - Dst: FD_ISSET
      Src: /src/vlc/doc/libvlc/player.c:578,1
    - Dst: read
      Src: /src/vlc/doc/libvlc/player.c:581,1
    - Dst: perror
      Src: /src/vlc/doc/libvlc/player.c:584,1
    - Dst: mainloop_display_ui
      Src: /src/vlc/doc/libvlc/player.c:587,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct context*
    assertStmts:
    - condition: (ctx->pipefds[0] > STDIN_FILENO)
      pos:
        line_end: 541
        line_start: 541
        source_file: /src/vlc/doc/libvlc/player.c
    constantsTouched: []
    func_position:
      end: 591
      start: 528
    functionDepth: 4
    functionLinenumber: 528
    functionLinenumberEnd: 591
    functionName: mainloop
    functionSourceFile: /src/vlc/doc/libvlc/player.c
    functionUses: 0
    functionsReached:
    - assert
    - perror
    - mainloop_handle_command
    - read
    - FD_ISSET
    - FD_SET
    - FD_ZERO
    - select
    - mainloop_display_ui
    linkageType: ''
    returnType: void
    signature: void mainloop(struct context *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/vlc/doc/libvlc/player.c:599,1
    - Dst: print_usage
      Src: /src/vlc/doc/libvlc/player.c:603,1
    - Dst: libvlc_new
      Src: /src/vlc/doc/libvlc/player.c:610,1
    - Dst: fprintf
      Src: /src/vlc/doc/libvlc/player.c:614,1
    - Dst: context_init
      Src: /src/vlc/doc/libvlc/player.c:619,1
    - Dst: libvlc_release
      Src: /src/vlc/doc/libvlc/player.c:622,1
    - Dst: fprintf
      Src: /src/vlc/doc/libvlc/player.c:623,1
    - Dst: context_parse_argv
      Src: /src/vlc/doc/libvlc/player.c:627,1
    - Dst: fprintf
      Src: /src/vlc/doc/libvlc/player.c:630,1
    - Dst: libvlc_media_player_play
      Src: /src/vlc/doc/libvlc/player.c:634,1
    - Dst: fprintf
      Src: /src/vlc/doc/libvlc/player.c:637,1
    - Dst: setup_terminal
      Src: /src/vlc/doc/libvlc/player.c:641,1
    - Dst: mainloop
      Src: /src/vlc/doc/libvlc/player.c:643,1
    - Dst: libvlc_release
      Src: /src/vlc/doc/libvlc/player.c:647,1
    - Dst: context_destroy
      Src: /src/vlc/doc/libvlc/player.c:648,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 593
    functionDepth: 5
    functionLinenumber: 593
    functionLinenumberEnd: 650
    functionName: main
    functionSourceFile: /src/vlc/doc/libvlc/player.c
    functionUses: 2
    functionsReached:
    - libvlc_release
    - print_usage
    - libvlc_media_player_play
    - context_init
    - fprintf
    - setlocale
    - libvlc_new
    - context_parse_argv
    - context_destroy
    - mainloop
    - setup_terminal
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IDirect3DDevice9_SetRenderTarget
      Src: /src/vlc/doc/libvlc/d3d9_player.c:58,1
    - Dst: IDirect3DDevice9_Clear
      Src: /src/vlc/doc/libvlc/d3d9_player.c:61,1
    - Dst: D3DCOLOR_XRGB
      Src: /src/vlc/doc/libvlc/d3d9_player.c:61,1
    - Dst: IDirect3DDevice9_BeginScene
      Src: /src/vlc/doc/libvlc/d3d9_player.c:63,1
    - Dst: IDirect3DDevice9_SetTexture
      Src: /src/vlc/doc/libvlc/d3d9_player.c:64,1
    - Dst: IDirect3DDevice9_SetStreamSource
      Src: /src/vlc/doc/libvlc/d3d9_player.c:66,1
    - Dst: IDirect3DDevice9_SetFVF
      Src: /src/vlc/doc/libvlc/d3d9_player.c:67,1
    - Dst: IDirect3DDevice9_DrawPrimitive
      Src: /src/vlc/doc/libvlc/d3d9_player.c:68,1
    - Dst: IDirect3DDevice9_EndScene
      Src: /src/vlc/doc/libvlc/d3d9_player.c:69,1
    - Dst: IDirect3DDevice9_Present
      Src: /src/vlc/doc/libvlc/d3d9_player.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct render_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 72
    functionName: Swap
    functionSourceFile: /src/vlc/doc/libvlc/d3d9_player.c
    functionUses: 1
    functionsReached:
    - D3DCOLOR_XRGB
    - IDirect3DDevice9_SetStreamSource
    - IDirect3DDevice9_Present
    - IDirect3DDevice9_EndScene
    - IDirect3DDevice9_SetTexture
    - IDirect3DDevice9_DrawPrimitive
    - IDirect3DDevice9_BeginScene
    - IDirect3DDevice9_Clear
    - IDirect3DDevice9_SetFVF
    - IDirect3DDevice9_SetRenderTarget
    linkageType: ''
    returnType: void
    signature: void Swap(struct render_context *ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: IDirect3D9Ex_GetAdapterDisplayMode
      Src: /src/vlc/doc/libvlc/d3d9_player.c:87,1
    - Dst: IDirect3DTexture9_Release
      Src: /src/vlc/doc/libvlc/d3d9_player.c:92,1
    - Dst: IDirect3DTexture9_Release
      Src: /src/vlc/doc/libvlc/d3d9_player.c:98,1
    - Dst: IDirect3DSurface9_Release
      Src: /src/vlc/doc/libvlc/d3d9_player.c:103,1
    - Dst: IDirect3DDevice9_Release
      Src: /src/vlc/doc/libvlc/d3d9_player.c:109,1
    - Dst: IDirect3DDevice9_AddRef
      Src: /src/vlc/doc/libvlc/d3d9_player.c:112,1
    - Dst: IDirect3DDevice9_CreateTexture
      Src: /src/vlc/doc/libvlc/d3d9_player.c:115,1
    - Dst: FAILED
      Src: /src/vlc/doc/libvlc/d3d9_player.c:120,1
    - Dst: IDirect3DDevice9_CreateTexture
      Src: /src/vlc/doc/libvlc/d3d9_player.c:124,1
    - Dst: FAILED
      Src: /src/vlc/doc/libvlc/d3d9_player.c:129,1
    - Dst: IDirect3DTexture9_GetSurfaceLevel
      Src: /src/vlc/doc/libvlc/d3d9_player.c:132,1
    - Dst: FAILED
      Src: /src/vlc/doc/libvlc/d3d9_player.c:133,1
    - Dst: IDirect3DDevice9_SetRenderTarget
      Src: /src/vlc/doc/libvlc/d3d9_player.c:136,1
    - Dst: FAILED
      Src: /src/vlc/doc/libvlc/d3d9_player.c:137,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 5
    argNames:
    - ctx
    - width
    - height
    - vlc_device
    - out
    argTypes:
    - struct render_context*
    - unsigned
    - unsigned
    - IDirect3DDevice9*
    - libvlc_video_output_cfg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 147
    functionName: Resize
    functionSourceFile: /src/vlc/doc/libvlc/d3d9_player.c
    functionUses: 0
    functionsReached:
    - FAILED
    - IDirect3DTexture9_Release
    - IDirect3DDevice9_CreateTexture
    - IDirect3DDevice9_Release
    - IDirect3DTexture9_GetSurfaceLevel
    - IDirect3DSurface9_Release
    - IDirect3D9Ex_GetAdapterDisplayMode
    - IDirect3DDevice9_SetRenderTarget
    - IDirect3DDevice9_AddRef
    linkageType: ''
    returnType: bool
    signature: "bool Resize(struct render_context *ctx, unsigned width, unsigned height,\r\n
      \                  IDirect3DDevice9 *vlc_device,\r\n                   libvlc_video_output_cfg_t
      *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Direct3DCreate9Ex
      Src: /src/vlc/doc/libvlc/d3d9_player.c:152,1
    - Dst: IDirect3D9Ex_CreateDevice
      Src: /src/vlc/doc/libvlc/d3d9_player.c:159,1
    - Dst: IDirect3DDevice9_GetRenderTarget
      Src: /src/vlc/doc/libvlc/d3d9_player.c:166,1
    - Dst: D3DCOLOR_ARGB
      Src: /src/vlc/doc/libvlc/d3d9_player.c:170,1
    - Dst: D3DCOLOR_ARGB
      Src: /src/vlc/doc/libvlc/d3d9_player.c:171,1
    - Dst: D3DCOLOR_ARGB
      Src: /src/vlc/doc/libvlc/d3d9_player.c:172,1
    - Dst: D3DCOLOR_ARGB
      Src: /src/vlc/doc/libvlc/d3d9_player.c:173,1
    - Dst: IDirect3DDevice9Ex_CreateVertexBuffer
      Src: /src/vlc/doc/libvlc/d3d9_player.c:175,1
    - Dst: IDirect3DVertexBuffer9_Lock
      Src: /src/vlc/doc/libvlc/d3d9_player.c:183,1
    - Dst: memcpy
      Src: /src/vlc/doc/libvlc/d3d9_player.c:184,1
    - Dst: IDirect3DVertexBuffer9_Unlock
      Src: /src/vlc/doc/libvlc/d3d9_player.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - hWnd
    argTypes:
    - struct render_context*
    - HWND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 186
    functionName: init_direct3d
    functionSourceFile: /src/vlc/doc/libvlc/d3d9_player.c
    functionUses: 1
    functionsReached:
    - Direct3DCreate9Ex
    - IDirect3DDevice9Ex_CreateVertexBuffer
    - IDirect3DVertexBuffer9_Unlock
    - memcpy
    - IDirect3DVertexBuffer9_Lock
    - IDirect3D9Ex_CreateDevice
    - IDirect3DDevice9_GetRenderTarget
    - D3DCOLOR_ARGB
    linkageType: ''
    returnType: void
    signature: void init_direct3d(struct render_context *ctx, HWND hWnd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: IDirect3DSurface9_Release
      Src: /src/vlc/doc/libvlc/d3d9_player.c:191,1
    - Dst: IDirect3DTexture9_Release
      Src: /src/vlc/doc/libvlc/d3d9_player.c:193,1
    - Dst: IDirect3DSurface9_Release
      Src: /src/vlc/doc/libvlc/d3d9_player.c:195,1
    - Dst: IDirect3DTexture9_Release
      Src: /src/vlc/doc/libvlc/d3d9_player.c:197,1
    - Dst: IDirect3DVertexBuffer9_Release
      Src: /src/vlc/doc/libvlc/d3d9_player.c:199,1
    - Dst: IDirect3DDevice9_Release
      Src: /src/vlc/doc/libvlc/d3d9_player.c:201,1
    - Dst: IDirect3DDevice9_Release
      Src: /src/vlc/doc/libvlc/d3d9_player.c:202,1
    - Dst: IDirect3D9_Release
      Src: /src/vlc/doc/libvlc/d3d9_player.c:203,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct render_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 204
    functionName: release_direct3d
    functionSourceFile: /src/vlc/doc/libvlc/d3d9_player.c
    functionUses: 1
    functionsReached:
    - IDirect3DVertexBuffer9_Release
    - IDirect3D9_Release
    - IDirect3DTexture9_Release
    - IDirect3DDevice9_Release
    - IDirect3DSurface9_Release
    linkageType: ''
    returnType: void
    signature: void release_direct3d(struct render_context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - opaque
    - cfg
    - out
    argTypes:
    - void**
    - libvlc_video_setup_device_cfg_t*
    - libvlc_video_setup_device_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 212
    functionName: SetupDevice_cb
    functionSourceFile: /src/vlc/doc/libvlc/d3d9_player.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SetupDevice_cb( void **opaque, const libvlc_video_setup_device_cfg_t
      *cfg, libvlc_video_setup_device_info_t *out )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IDirect3DDevice9_Release
      Src: /src/vlc/doc/libvlc/d3d9_player.c:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 223
    functionName: CleanupDevice_cb
    functionSourceFile: /src/vlc/doc/libvlc/d3d9_player.c
    functionUses: 0
    functionsReached:
    - IDirect3DDevice9_Release
    linkageType: ''
    returnType: void
    signature: void CleanupDevice_cb( void *opaque )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/vlc/doc/libvlc/d3d9_player.c:233,1
    - Dst: struct render_context*::ReportSize
      Src: /src/vlc/doc/libvlc/d3d9_player.c:240,1
    - Dst: LeaveCriticalSection
      Src: /src/vlc/doc/libvlc/d3d9_player.c:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - opaque
    - report_size_change
    - report_mouse_move
    - report_mouse_press
    - report_mouse_release
    - report_opaque
    argTypes:
    - void*
    - libvlc_video_output_resize_cb
    - libvlc_video_output_mouse_move_cb
    - libvlc_video_output_mouse_press_cb
    - libvlc_video_output_mouse_release_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 243
    functionName: SetReport_cb
    functionSourceFile: /src/vlc/doc/libvlc/d3d9_player.c
    functionUses: 0
    functionsReached:
    - struct render_context*::ReportSize
    - EnterCriticalSection
    - LeaveCriticalSection
    linkageType: ''
    returnType: void
    signature: "void SetReport_cb( void *opaque,\r\n    libvlc_video_output_resize_cb
      report_size_change,\r\n    libvlc_video_output_mouse_move_cb report_mouse_move,\r\n
      \   libvlc_video_output_mouse_press_cb report_mouse_press,\r\n    libvlc_video_output_mouse_release_cb
      report_mouse_release,\r\n    void *report_opaque )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Resize
      Src: /src/vlc/doc/libvlc/d3d9_player.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - opaque
    - cfg
    - out
    argTypes:
    - void*
    - libvlc_video_render_cfg_t*
    - libvlc_video_output_cfg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: UpdateOutput_cb
    functionSourceFile: /src/vlc/doc/libvlc/d3d9_player.c
    functionUses: 0
    functionsReached:
    - Resize
    linkageType: ''
    returnType: bool
    signature: bool UpdateOutput_cb( void *opaque, const libvlc_video_render_cfg_t
      *cfg, libvlc_video_output_cfg_t *out )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/vlc/doc/libvlc/d3d9_player.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: Swap_cb
    functionSourceFile: /src/vlc/doc/libvlc/d3d9_player.c
    functionUses: 0
    functionsReached:
    - Swap
    linkageType: ''
    returnType: void
    signature: void Swap_cb( void* opaque )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IDirect3DDevice9_Present
      Src: /src/vlc/doc/libvlc/d3d9_player.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - opaque
    - enter
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 279
    functionName: StartRendering_cb
    functionSourceFile: /src/vlc/doc/libvlc/d3d9_player.c
    functionUses: 0
    functionsReached:
    - IDirect3DDevice9_Present
    linkageType: ''
    returnType: bool
    signature: bool StartRendering_cb( void *opaque, bool enter )
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: SetWindowLongPtr
      Src: /src/vlc/doc/libvlc/d3d9_player.c:289,1
    - Dst: GetWindowLongPtr
      Src: /src/vlc/doc/libvlc/d3d9_player.c:293,1
    - Dst: DefWindowProc
      Src: /src/vlc/doc/libvlc/d3d9_player.c:295,1
    - Dst: LOWORD
      Src: /src/vlc/doc/libvlc/d3d9_player.c:303,1
    - Dst: HIWORD
      Src: /src/vlc/doc/libvlc/d3d9_player.c:304,1
    - Dst: EnterCriticalSection
      Src: /src/vlc/doc/libvlc/d3d9_player.c:305,1
    - Dst: struct render_context*::ReportSize
      Src: /src/vlc/doc/libvlc/d3d9_player.c:307,1
    - Dst: LeaveCriticalSection
      Src: /src/vlc/doc/libvlc/d3d9_player.c:308,1
    - Dst: PostQuitMessage
      Src: /src/vlc/doc/libvlc/d3d9_player.c:314,1
    - Dst: tolower
      Src: /src/vlc/doc/libvlc/d3d9_player.c:322,1
    - Dst: MapVirtualKey
      Src: /src/vlc/doc/libvlc/d3d9_player.c:322,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/d3d9_player.c:327,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/d3d9_player.c:329,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/d3d9_player.c:331,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/d3d9_player.c:333,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/d3d9_player.c:335,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/d3d9_player.c:337,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/d3d9_player.c:339,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/d3d9_player.c:341,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/d3d9_player.c:343,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/d3d9_player.c:345,1
    - Dst: strcmp
      Src: /src/vlc/doc/libvlc/d3d9_player.c:347,1
    - Dst: libvlc_video_set_aspect_ratio
      Src: /src/vlc/doc/libvlc/d3d9_player.c:349,1
    - Dst: DefWindowProc
      Src: /src/vlc/doc/libvlc/d3d9_player.c:356,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 57
    argCount: 4
    argNames:
    - hWnd
    - message
    - wParam
    - lParam
    argTypes:
    - HWND
    - UINT
    - WPARAM
    - LPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 357
    functionName: WindowProc
    functionSourceFile: /src/vlc/doc/libvlc/d3d9_player.c
    functionUses: 3
    functionsReached:
    - HIWORD
    - MapVirtualKey
    - libvlc_video_set_aspect_ratio
    - PostQuitMessage
    - GetWindowLongPtr
    - EnterCriticalSection
    - tolower
    - strcmp
    - struct render_context*::ReportSize
    - LOWORD
    - SetWindowLongPtr
    - LeaveCriticalSection
    - DefWindowProc
    linkageType: ''
    returnType: LRESULT
    signature: LRESULT WindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _strdup
      Src: /src/vlc/doc/libvlc/d3d9_player.c:375,1
    - Dst: strlen
      Src: /src/vlc/doc/libvlc/d3d9_player.c:376,1
    - Dst: strlen
      Src: /src/vlc/doc/libvlc/d3d9_player.c:377,1
    - Dst: _strdup
      Src: /src/vlc/doc/libvlc/d3d9_player.c:380,1
    - Dst: libvlc_new
      Src: /src/vlc/doc/libvlc/d3d9_player.c:382,1
    - Dst: libvlc_media_new_path
      Src: /src/vlc/doc/libvlc/d3d9_player.c:383,1
    - Dst: free
      Src: /src/vlc/doc/libvlc/d3d9_player.c:384,1
    - Dst: libvlc_media_player_new_from_media
      Src: /src/vlc/doc/libvlc/d3d9_player.c:385,1
    - Dst: InitializeCriticalSection
      Src: /src/vlc/doc/libvlc/d3d9_player.c:387,1
    - Dst: ZeroMemory
      Src: /src/vlc/doc/libvlc/d3d9_player.c:389,1
    - Dst: LoadCursor
      Src: /src/vlc/doc/libvlc/d3d9_player.c:395,1
    - Dst: TEXT
      Src: /src/vlc/doc/libvlc/d3d9_player.c:397,1
    - Dst: RegisterClassEx
      Src: /src/vlc/doc/libvlc/d3d9_player.c:399,1
    - Dst: AdjustWindowRect
      Src: /src/vlc/doc/libvlc/d3d9_player.c:402,1
    - Dst: CreateWindowEx
      Src: /src/vlc/doc/libvlc/d3d9_player.c:404,1
    - Dst: TEXT
      Src: /src/vlc/doc/libvlc/d3d9_player.c:405,1
    - Dst: TEXT
      Src: /src/vlc/doc/libvlc/d3d9_player.c:406,1
    - Dst: ShowWindow
      Src: /src/vlc/doc/libvlc/d3d9_player.c:416,1
    - Dst: init_direct3d
      Src: /src/vlc/doc/libvlc/d3d9_player.c:418,1
    - Dst: libvlc_video_set_output_callbacks
      Src: /src/vlc/doc/libvlc/d3d9_player.c:423,1
    - Dst: libvlc_media_player_play
      Src: /src/vlc/doc/libvlc/d3d9_player.c:429,1
    - Dst: PeekMessage
      Src: /src/vlc/doc/libvlc/d3d9_player.c:435,1
    - Dst: TranslateMessage
      Src: /src/vlc/doc/libvlc/d3d9_player.c:437,1
    - Dst: DispatchMessage
      Src: /src/vlc/doc/libvlc/d3d9_player.c:438,1
    - Dst: libvlc_media_player_stop_async
      Src: /src/vlc/doc/libvlc/d3d9_player.c:445,1
    - Dst: libvlc_media_player_release
      Src: /src/vlc/doc/libvlc/d3d9_player.c:447,1
    - Dst: libvlc_media_release
      Src: /src/vlc/doc/libvlc/d3d9_player.c:448,1
    - Dst: libvlc_release
      Src: /src/vlc/doc/libvlc/d3d9_player.c:449,1
    - Dst: DeleteCriticalSection
      Src: /src/vlc/doc/libvlc/d3d9_player.c:451,1
    - Dst: release_direct3d
      Src: /src/vlc/doc/libvlc/d3d9_player.c:452,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 4
    argNames:
    - hInstance
    - hPrevInstance
    - lpCmdLine
    - nCmdShow
    argTypes:
    - HINSTANCE
    - HINSTANCE
    - LPSTR
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 455
    functionName: WinMain
    functionSourceFile: /src/vlc/doc/libvlc/d3d9_player.c
    functionUses: 0
    functionsReached:
    - libvlc_media_new_path
    - InitializeCriticalSection
    - AdjustWindowRect
    - libvlc_video_set_output_callbacks
    - libvlc_new
    - libvlc_media_player_new_from_media
    - ZeroMemory
    - TEXT
    - PeekMessage
    - RegisterClassEx
    - CreateWindowEx
    - release_direct3d
    - libvlc_release
    - libvlc_media_release
    - LoadCursor
    - DispatchMessage
    - libvlc_media_player_stop_async
    - libvlc_media_player_release
    - _strdup
    - ShowWindow
    - libvlc_media_player_play
    - DeleteCriticalSection
    - strlen
    - free
    - TranslateMessage
    - init_direct3d
    linkageType: ''
    returnType: int
    signature: "int WinMain(HINSTANCE hInstance,\r\n                   HINSTANCE hPrevInstance,\r\n
      \                  LPSTR lpCmdLine,\r\n                   int nCmdShow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/vlc/doc/libvlc/example.c:27,1
    - Dst: pthread_cond_signal
      Src: /src/vlc/doc/libvlc/example.c:32,1
    - Dst: pthread_mutex_unlock
      Src: /src/vlc/doc/libvlc/example.c:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - opaque
    - state
    argTypes:
    - void*
    - libvlc_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 34
    functionName: on_state_changed
    functionSourceFile: /src/vlc/doc/libvlc/example.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    - pthread_cond_signal
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void on_state_changed(void *opaque, libvlc_state_t state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/vlc/doc/libvlc/example.c:41,1
    - Dst: pthread_cond_signal
      Src: /src/vlc/doc/libvlc/example.c:44,1
    - Dst: pthread_mutex_unlock
      Src: /src/vlc/doc/libvlc/example.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - opaque
    - time
    - pos
    argTypes:
    - void*
    - libvlc_time_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: on_position_changed
    functionSourceFile: /src/vlc/doc/libvlc/example.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    - pthread_cond_signal
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void on_position_changed(void *opaque, libvlc_time_t time, double pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_new
      Src: /src/vlc/doc/libvlc/example.c:65,1
    - Dst: libvlc_media_new_location
      Src: /src/vlc/doc/libvlc/example.c:68,1
    - Dst: libvlc_media_player_new_from_media
      Src: /src/vlc/doc/libvlc/example.c:78,1
    - Dst: libvlc_media_release
      Src: /src/vlc/doc/libvlc/example.c:81,1
    - Dst: libvlc_media_player_play
      Src: /src/vlc/doc/libvlc/example.c:84,1
    - Dst: pthread_mutex_lock
      Src: /src/vlc/doc/libvlc/example.c:87,1
    - Dst: pthread_cond_wait
      Src: /src/vlc/doc/libvlc/example.c:91,1
    - Dst: pthread_mutex_unlock
      Src: /src/vlc/doc/libvlc/example.c:101,1
    - Dst: printf
      Src: /src/vlc/doc/libvlc/example.c:102,1
    - Dst: pthread_mutex_lock
      Src: /src/vlc/doc/libvlc/example.c:104,1
    - Dst: pthread_cond_wait
      Src: /src/vlc/doc/libvlc/example.c:110,1
    - Dst: pthread_mutex_unlock
      Src: /src/vlc/doc/libvlc/example.c:111,1
    - Dst: libvlc_media_player_release
      Src: /src/vlc/doc/libvlc/example.c:114,1
    - Dst: libvlc_release
      Src: /src/vlc/doc/libvlc/example.c:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 119
    functionName: main
    functionSourceFile: /src/vlc/doc/libvlc/example.c
    functionUses: 2
    functionsReached:
    - libvlc_media_player_play
    - libvlc_release
    - pthread_mutex_lock
    - libvlc_media_release
    - printf
    - libvlc_media_player_release
    - libvlc_media_player_new_from_media
    - libvlc_new
    - pthread_cond_wait
    - libvlc_media_new_location
    - pthread_mutex_unlock
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_new
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:54,1
    - Dst: SDL_GL_SetAttribute
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:57,1
    - Dst: SDL_GL_CreateContext
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - window
    argTypes:
    - SDL_Window*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: VLCVideo::VLCVideo
    functionSourceFile: /src/vlc/doc/libvlc/sdl_opengl_player.cpp
    functionUses: 0
    functionsReached:
    - SDL_GL_SetAttribute
    - SDL_GL_CreateContext
    - libvlc_new
    linkageType: ''
    returnType: void
    signature: void VLCVideo(SDL_Window *window)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:63,1
    - Dst: libvlc_release
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: ~VLCVideo()
    functionSourceFile: /src/vlc/doc/libvlc/sdl_opengl_player.cpp
    functionUses: 0
    functionsReached:
    - libvlc_release
    - stop
    linkageType: ''
    returnType: void
    signature: void ~VLCVideo()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_media_new_location
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:70,1
    - Dst: fprintf
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:72,1
    - Dst: libvlc_media_player_new_from_media
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:75,1
    - Dst: fprintf
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:77,1
    - Dst: libvlc_media_release
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:78,1
    - Dst: libvlc_video_set_output_callbacks
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:82,1
    - Dst: libvlc_media_player_play
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 91
    functionName: VLCVideo::playMedia
    functionSourceFile: /src/vlc/doc/libvlc/sdl_opengl_player.cpp
    functionUses: 0
    functionsReached:
    - libvlc_media_player_play
    - libvlc_media_release
    - libvlc_video_set_output_callbacks
    - fprintf
    - libvlc_media_player_new_from_media
    - libvlc_media_new_location
    linkageType: ''
    returnType: bool
    signature: bool playMedia(const char* url)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_media_player_release
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:96,1
    - Dst: libvlc_media_release
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 103
    functionName: VLCVideo::stop
    functionSourceFile: /src/vlc/doc/libvlc/sdl_opengl_player.cpp
    functionUses: 0
    functionsReached:
    - libvlc_media_release
    - libvlc_media_player_release
    linkageType: ''
    returnType: void
    signature: void stop()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLCVideo::swap
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - out_updated
    argTypes:
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: VLCVideo::getVideoFrame
    functionSourceFile: /src/vlc/doc/libvlc/sdl_opengl_player.cpp
    functionUses: 0
    functionsReached:
    - VLCVideo::swap
    linkageType: ''
    returnType: GLuint
    signature: GLuint getVideoFrame(bool* out_updated)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<VLCVideo*>
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:122,1
    - Dst: VLCVideo::cleanup
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:124,1
    - Dst: glGenTextures
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:126,1
    - Dst: glGenFramebuffers
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:127,1
    - Dst: glBindTexture
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:130,1
    - Dst: glTexImage2D
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:131,1
    - Dst: glTexParameteri
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:132,1
    - Dst: glTexParameteri
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:133,1
    - Dst: glTexParameteri
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:134,1
    - Dst: glTexParameteri
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:135,1
    - Dst: glBindFramebuffer
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:137,1
    - Dst: glFramebufferTexture2D
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:138,1
    - Dst: glBindTexture
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:140,1
    - Dst: glCheckFramebufferStatus
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:142,1
    - Dst: glBindFramebuffer
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 3
    argNames:
    - data
    - cfg
    - render_cfg
    argTypes:
    - void*
    - libvlc_video_render_cfg_t*
    - libvlc_video_output_cfg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 161
    functionName: VLCVideo::resize
    functionSourceFile: /src/vlc/doc/libvlc/sdl_opengl_player.cpp
    functionUses: 0
    functionsReached:
    - glFramebufferTexture2D
    - glBindTexture
    - glGenFramebuffers
    - VLCVideo::cleanup
    - static_cast<VLCVideo*>
    - glBindFramebuffer
    - glCheckFramebufferStatus
    - glGenTextures
    - glTexParameteri
    - glTexImage2D
    linkageType: ''
    returnType: bool
    signature: "bool resize(void* data, const libvlc_video_render_cfg_t *cfg,\n                       libvlc_video_output_cfg_t
      *render_cfg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<VLCVideo*>
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - cfg
    - out
    argTypes:
    - void**
    - libvlc_video_setup_device_cfg_t*
    - libvlc_video_setup_device_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: VLCVideo::setup
    functionSourceFile: /src/vlc/doc/libvlc/sdl_opengl_player.cpp
    functionUses: 0
    functionsReached:
    - static_cast<VLCVideo*>
    linkageType: ''
    returnType: bool
    signature: "bool setup(void** data, const libvlc_video_setup_device_cfg_t *cfg,\n
      \                     libvlc_video_setup_device_info_t *out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<VLCVideo*>
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:177,1
    - Dst: glDeleteTextures
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:181,1
    - Dst: glDeleteFramebuffers
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 183
    functionName: VLCVideo::cleanup
    functionSourceFile: /src/vlc/doc/libvlc/sdl_opengl_player.cpp
    functionUses: 1
    functionsReached:
    - glDeleteFramebuffers
    - glDeleteTextures
    - static_cast<VLCVideo*>
    linkageType: ''
    returnType: void
    signature: void cleanup(void* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<VLCVideo*>
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:188,1
    - Dst: VLCVideo::swap
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:191,1
    - Dst: glBindFramebuffer
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 193
    functionName: VLCVideo::swap
    functionSourceFile: /src/vlc/doc/libvlc/sdl_opengl_player.cpp
    functionUses: 2
    functionsReached:
    - glBindFramebuffer
    - VLCVideo::swap
    - static_cast<VLCVideo*>
    linkageType: ''
    returnType: void
    signature: void swap(void* data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<VLCVideo*>
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:198,1
    - Dst: SDL_GL_MakeCurrent
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:200,1
    - Dst: SDL_GL_MakeCurrent
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - current
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 203
    functionName: VLCVideo::make_current
    functionSourceFile: /src/vlc/doc/libvlc/sdl_opengl_player.cpp
    functionUses: 0
    functionsReached:
    - SDL_GL_MakeCurrent
    - static_cast<VLCVideo*>
    linkageType: ''
    returnType: bool
    signature: bool make_current(void* data, bool current)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SDL_GL_GetProcAddress
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - current
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: VLCVideo::get_proc_address
    functionSourceFile: /src/vlc/doc/libvlc/sdl_opengl_player.cpp
    functionUses: 0
    functionsReached:
    - SDL_GL_GetProcAddress
    linkageType: ''
    returnType: void
    signature: void * get_proc_address(void* /*data*/, const char* current)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:236,1
    - Dst: SDL_CreateWindow
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:240,1
    - Dst: SDL_GL_SetAttribute
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:244,1
    - Dst: SDL_GL_SetAttribute
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:245,1
    - Dst: SDL_GL_SetSwapInterval
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:246,1
    - Dst: SDL_GL_SetAttribute
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:247,1
    - Dst: SDL_GL_SetAttribute
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:248,1
    - Dst: SDL_GL_CreateContext
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:250,1
    - Dst: SDL_CreateRenderer
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:254,1
    - Dst: glGenVertexArrays
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:259,1
    - Dst: glBindVertexArray
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:260,1
    - Dst: glGenBuffers
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:264,1
    - Dst: glBindBuffer
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:274,1
    - Dst: glBufferData
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:275,1
    - Dst: glCreateShader
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:278,1
    - Dst: glShaderSource
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:279,1
    - Dst: glCompileShader
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:280,1
    - Dst: glCreateShader
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:283,1
    - Dst: glShaderSource
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:284,1
    - Dst: glCompileShader
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:285,1
    - Dst: glGetShaderiv
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:292,1
    - Dst: glGetShaderInfoLog
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:297,1
    - Dst: std::vector::data
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:297,1
    - Dst: fprintf
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:298,1
    - Dst: std::vector::data
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:298,1
    - Dst: glGetShaderiv
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:301,1
    - Dst: fprintf
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:303,1
    - Dst: SDL_DestroyWindow
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:304,1
    - Dst: SDL_Quit
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:305,1
    - Dst: glCreateProgram
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:312,1
    - Dst: glAttachShader
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:313,1
    - Dst: glAttachShader
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:314,1
    - Dst: glLinkProgram
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:315,1
    - Dst: glGetProgramiv
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:319,1
    - Dst: glGetProgramInfoLog
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:323,1
    - Dst: std::vector::data
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:323,1
    - Dst: fprintf
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:324,1
    - Dst: std::vector::data
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:324,1
    - Dst: glGetProgramiv
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:328,1
    - Dst: fprintf
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:330,1
    - Dst: SDL_DestroyWindow
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:331,1
    - Dst: SDL_Quit
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:332,1
    - Dst: glUseProgram
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:337,1
    - Dst: glGetAttribLocation
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:340,1
    - Dst: glEnableVertexAttribArray
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:341,1
    - Dst: glVertexAttribPointer
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:342,1
    - Dst: glGetAttribLocation
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:345,1
    - Dst: glEnableVertexAttribArray
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:346,1
    - Dst: glVertexAttribPointer
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:347,1
    - Dst: glGetUniformLocation
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:350,1
    - Dst: glActiveTexture
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:351,1
    - Dst: glUniform1i
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:352,1
    - Dst: VLCVideo::playMedia
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:355,1
    - Dst: SDL_DestroyWindow
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:356,1
    - Dst: SDL_Quit
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:357,1
    - Dst: SDL_PollEvent
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:365,1
    - Dst: glClearColor
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:371,1
    - Dst: glClear
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:372,1
    - Dst: VLCVideo::getVideoFrame
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:375,1
    - Dst: glBindTexture
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:376,1
    - Dst: glDrawArrays
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:379,1
    - Dst: glBindTexture
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:380,1
    - Dst: SDL_GL_SwapWindow
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:382,1
    - Dst: VLCVideo::stop
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:385,1
    - Dst: SDL_DestroyWindow
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:387,1
    - Dst: SDL_Quit
      Src: /src/vlc/doc/libvlc/sdl_opengl_player.cpp:388,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 79
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 391
    functionName: main
    functionSourceFile: /src/vlc/doc/libvlc/sdl_opengl_player.cpp
    functionUses: 2
    functionsReached:
    - glGetUniformLocation
    - SDL_GL_CreateContext
    - glUniform1i
    - glShaderSource
    - glEnableVertexAttribArray
    - glActiveTexture
    - glBindVertexArray
    - SDL_CreateWindow
    - VLCVideo::stop
    - glBindTexture
    - glClear
    - SDL_CreateRenderer
    - glLinkProgram
    - SDL_PollEvent
    - glCompileShader
    - glUseProgram
    - std::vector::data
    - SDL_Quit
    - glBindBuffer
    - SDL_GL_SwapWindow
    - glGenVertexArrays
    - glCreateShader
    - glGetAttribLocation
    - glGetProgramInfoLog
    - VLCVideo::playMedia
    - glDrawArrays
    - glCreateProgram
    - fprintf
    - SDL_DestroyWindow
    - glVertexAttribPointer
    - glBufferData
    - SDL_GL_SetAttribute
    - glGenBuffers
    - glGetShaderiv
    - glGetProgramiv
    - VLCVideo::getVideoFrame
    - SDL_GL_SetSwapInterval
    - glGetShaderInfoLog
    - glClearColor
    - glAttachShader
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - window
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 16
    functionName: GET_XID
    functionSourceFile: /src/vlc/doc/libvlc/wx_player.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_XID(window)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wxMenuBar::wxMenuBar
      Src: /src/vlc/doc/libvlc/wx_player.cpp:74,1
    - Dst: wxMenu::wxMenu
      Src: /src/vlc/doc/libvlc/wx_player.cpp:75,1
    - Dst: wxMenu*::Append
      Src: /src/vlc/doc/libvlc/wx_player.cpp:76,1
    - Dst: wxT
      Src: /src/vlc/doc/libvlc/wx_player.cpp:76,1
    - Dst: wxMenuBar*::Append
      Src: /src/vlc/doc/libvlc/wx_player.cpp:77,1
    - Dst: wxT
      Src: /src/vlc/doc/libvlc/wx_player.cpp:77,1
    - Dst: SetMenuBar
      Src: /src/vlc/doc/libvlc/wx_player.cpp:78,1
    - Dst: Connect
      Src: /src/vlc/doc/libvlc/wx_player.cpp:79,1
    - Dst: wxCommandEventHandler
      Src: /src/vlc/doc/libvlc/wx_player.cpp:79,1
    - Dst: wxBoxSizer::wxBoxSizer
      Src: /src/vlc/doc/libvlc/wx_player.cpp:82,1
    - Dst: MainWindow::SetSizer
      Src: /src/vlc/doc/libvlc/wx_player.cpp:83,1
    - Dst: wxWindow::wxWindow
      Src: /src/vlc/doc/libvlc/wx_player.cpp:86,1
    - Dst: SetBackgroundColour
      Src: /src/vlc/doc/libvlc/wx_player.cpp:87,1
    - Dst: wxColour
      Src: /src/vlc/doc/libvlc/wx_player.cpp:87,1
    - Dst: wxT
      Src: /src/vlc/doc/libvlc/wx_player.cpp:87,1
    - Dst: wxBoxSizer*::Add
      Src: /src/vlc/doc/libvlc/wx_player.cpp:88,1
    - Dst: wxSlider::wxSlider
      Src: /src/vlc/doc/libvlc/wx_player.cpp:91,1
    - Dst: Enable
      Src: /src/vlc/doc/libvlc/wx_player.cpp:92,1
    - Dst: wxBoxSizer*::Add
      Src: /src/vlc/doc/libvlc/wx_player.cpp:93,1
    - Dst: MainWindow::connectTimeline
      Src: /src/vlc/doc/libvlc/wx_player.cpp:94,1
    - Dst: Connect
      Src: /src/vlc/doc/libvlc/wx_player.cpp:95,1
    - Dst: wxMouseEventHandler
      Src: /src/vlc/doc/libvlc/wx_player.cpp:95,1
    - Dst: wxPanel::wxPanel
      Src: /src/vlc/doc/libvlc/wx_player.cpp:98,1
    - Dst: wxBoxSizer::wxBoxSizer
      Src: /src/vlc/doc/libvlc/wx_player.cpp:101,1
    - Dst: wxPanel*::SetSizer
      Src: /src/vlc/doc/libvlc/wx_player.cpp:102,1
    - Dst: wxBoxSizer*::Add
      Src: /src/vlc/doc/libvlc/wx_player.cpp:103,1
    - Dst: wxT
      Src: /src/vlc/doc/libvlc/wx_player.cpp:106,1
    - Dst: wxButton::wxButton
      Src: /src/vlc/doc/libvlc/wx_player.cpp:106,1
    - Dst: wxT
      Src: /src/vlc/doc/libvlc/wx_player.cpp:107,1
    - Dst: wxButton::wxButton
      Src: /src/vlc/doc/libvlc/wx_player.cpp:107,1
    - Dst: wxSize
      Src: /src/vlc/doc/libvlc/wx_player.cpp:108,1
    - Dst: wxSlider::wxSlider
      Src: /src/vlc/doc/libvlc/wx_player.cpp:108,1
    - Dst: Enable
      Src: /src/vlc/doc/libvlc/wx_player.cpp:109,1
    - Dst: Enable
      Src: /src/vlc/doc/libvlc/wx_player.cpp:110,1
    - Dst: wxBoxSizer*::Add
      Src: /src/vlc/doc/libvlc/wx_player.cpp:111,1
    - Dst: wxBoxSizer*::Add
      Src: /src/vlc/doc/libvlc/wx_player.cpp:112,1
    - Dst: wxBoxSizer*::AddStretchSpacer
      Src: /src/vlc/doc/libvlc/wx_player.cpp:113,1
    - Dst: wxBoxSizer*::Add
      Src: /src/vlc/doc/libvlc/wx_player.cpp:114,1
    - Dst: Connect
      Src: /src/vlc/doc/libvlc/wx_player.cpp:115,1
    - Dst: wxCommandEventHandler
      Src: /src/vlc/doc/libvlc/wx_player.cpp:115,1
    - Dst: Connect
      Src: /src/vlc/doc/libvlc/wx_player.cpp:116,1
    - Dst: wxCommandEventHandler
      Src: /src/vlc/doc/libvlc/wx_player.cpp:116,1
    - Dst: Connect
      Src: /src/vlc/doc/libvlc/wx_player.cpp:117,1
    - Dst: wxCommandEventHandler
      Src: /src/vlc/doc/libvlc/wx_player.cpp:117,1
    - Dst: Connect
      Src: /src/vlc/doc/libvlc/wx_player.cpp:118,1
    - Dst: wxMouseEventHandler
      Src: /src/vlc/doc/libvlc/wx_player.cpp:118,1
    - Dst: libvlc_new
      Src: /src/vlc/doc/libvlc/wx_player.cpp:126,1
    - Dst: libvlc_media_player_new
      Src: /src/vlc/doc/libvlc/wx_player.cpp:127,1
    - Dst: Connect
      Src: /src/vlc/doc/libvlc/wx_player.cpp:128,1
    - Dst: wxCommandEventHandler
      Src: /src/vlc/doc/libvlc/wx_player.cpp:128,1
    - Dst: Connect
      Src: /src/vlc/doc/libvlc/wx_player.cpp:129,1
    - Dst: wxCommandEventHandler
      Src: /src/vlc/doc/libvlc/wx_player.cpp:129,1
    - Dst: Show
      Src: /src/vlc/doc/libvlc/wx_player.cpp:131,1
    - Dst: MainWindow::initVLC
      Src: /src/vlc/doc/libvlc/wx_player.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 1
    argNames:
    - ' title'
    argTypes:
    - wxString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 133
    functionName: MainWindow::MainWindow
    functionSourceFile: /src/vlc/doc/libvlc/wx_player.cpp
    functionUses: 0
    functionsReached:
    - wxCommandEventHandler
    - wxMenuBar::wxMenuBar
    - SetMenuBar
    - wxMouseEventHandler
    - libvlc_media_player_new
    - libvlc_new
    - SetBackgroundColour
    - wxBoxSizer*::AddStretchSpacer
    - wxPanel::wxPanel
    - MainWindow::SetSizer
    - wxSlider::wxSlider
    - wxMenu*::Append
    - wxMenuBar*::Append
    - wxBoxSizer*::Add
    - Show
    - MainWindow::initVLC
    - wxSize
    - wxT
    - wxColour
    - Enable
    - wxWindow::wxWindow
    - wxMenu::wxMenu
    - wxButton::wxButton
    - MainWindow::connectTimeline
    - wxPanel*::SetSizer
    - Connect
    - wxBoxSizer::wxBoxSizer
    linkageType: ''
    returnType: void
    signature: void MainWindow::MainWindow(const wxString& title)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_media_player_release
      Src: /src/vlc/doc/libvlc/wx_player.cpp:136,1
    - Dst: libvlc_release
      Src: /src/vlc/doc/libvlc/wx_player.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: MainWindow::~MainWindow()
    functionSourceFile: /src/vlc/doc/libvlc/wx_player.cpp
    functionUses: 0
    functionsReached:
    - libvlc_release
    - libvlc_media_player_release
    linkageType: ''
    returnType: void
    signature: void MainWindow::~MainWindow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_media_player_set_xwindow
      Src: /src/vlc/doc/libvlc/wx_player.cpp:142,1
    - Dst: GET_XID
      Src: /src/vlc/doc/libvlc/wx_player.cpp:142,1
    - Dst: GetWindowLong
      Src: /src/vlc/doc/libvlc/wx_player.cpp:144,1
    - Dst: GetHandle
      Src: /src/vlc/doc/libvlc/wx_player.cpp:144,1
    - Dst: SetWindowLong
      Src: /src/vlc/doc/libvlc/wx_player.cpp:146,1
    - Dst: GetHandle
      Src: /src/vlc/doc/libvlc/wx_player.cpp:146,1
    - Dst: libvlc_media_player_set_hwnd
      Src: /src/vlc/doc/libvlc/wx_player.cpp:147,1
    - Dst: MainWindow::player_widget::GetHandle
      Src: /src/vlc/doc/libvlc/wx_player.cpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 149
    functionName: MainWindow::initVLC
    functionSourceFile: /src/vlc/doc/libvlc/wx_player.cpp
    functionUses: 1
    functionsReached:
    - libvlc_media_player_set_xwindow
    - GET_XID
    - GetWindowLong
    - GetHandle
    - MainWindow::player_widget::GetHandle
    - libvlc_media_player_set_hwnd
    - SetWindowLong
    linkageType: ''
    returnType: void
    signature: void MainWindow::initVLC()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wxT
      Src: /src/vlc/doc/libvlc/wx_player.cpp:152,1
    - Dst: wxFileDialog::ShowModal
      Src: /src/vlc/doc/libvlc/wx_player.cpp:154,1
    - Dst: DialogsProvider::getSaveFileName
      Src: /src/vlc/doc/libvlc/wx_player.cpp:159,1
    - Dst: wxFileDialog::GetPath
      Src: /src/vlc/doc/libvlc/wx_player.cpp:159,1
    - Dst: wxFileName::MakeRelativeTo
      Src: /src/vlc/doc/libvlc/wx_player.cpp:160,1
    - Dst: libvlc_media_new_path
      Src: /src/vlc/doc/libvlc/wx_player.cpp:161,1
    - Dst: wxFileName::GetFullPath
      Src: /src/vlc/doc/libvlc/wx_player.cpp:161,1
    - Dst: libvlc_media_player_set_media
      Src: /src/vlc/doc/libvlc/wx_player.cpp:162,1
    - Dst: MainWindow::play
      Src: /src/vlc/doc/libvlc/wx_player.cpp:163,1
    - Dst: libvlc_media_release
      Src: /src/vlc/doc/libvlc/wx_player.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' event'
    argTypes:
    - wxCommandEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 166
    functionName: MainWindow::OnOpen
    functionSourceFile: /src/vlc/doc/libvlc/wx_player.cpp
    functionUses: 0
    functionsReached:
    - libvlc_media_new_path
    - libvlc_media_release
    - libvlc_media_player_set_media
    - wxFileName::MakeRelativeTo
    - wxT
    - DialogsProvider::getSaveFileName
    - wxFileDialog::GetPath
    - MainWindow::play
    - wxFileName::GetFullPath
    - wxFileDialog::ShowModal
    linkageType: ''
    returnType: void
    signature: void MainWindow::OnOpen(wxCommandEvent& event)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_media_player_is_playing
      Src: /src/vlc/doc/libvlc/wx_player.cpp:169,1
    - Dst: MainWindow::pause
      Src: /src/vlc/doc/libvlc/wx_player.cpp:170,1
    - Dst: MainWindow::play
      Src: /src/vlc/doc/libvlc/wx_player.cpp:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' event'
    argTypes:
    - wxCommandEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 175
    functionName: MainWindow::OnPlayPause
    functionSourceFile: /src/vlc/doc/libvlc/wx_player.cpp
    functionUses: 0
    functionsReached:
    - libvlc_media_player_is_playing
    - MainWindow::pause
    - MainWindow::play
    linkageType: ''
    returnType: void
    signature: void MainWindow::OnPlayPause(wxCommandEvent& event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MainWindow::stop
      Src: /src/vlc/doc/libvlc/wx_player.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' event'
    argTypes:
    - wxCommandEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: MainWindow::OnStop
    functionSourceFile: /src/vlc/doc/libvlc/wx_player.cpp
    functionUses: 0
    functionsReached:
    - MainWindow::stop
    linkageType: ''
    returnType: void
    signature: void MainWindow::OnStop(wxCommandEvent& event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_media_player_set_position
      Src: /src/vlc/doc/libvlc/wx_player.cpp:182,1
    - Dst: GetInt
      Src: /src/vlc/doc/libvlc/wx_player.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' event'
    argTypes:
    - wxCommandEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: MainWindow::OnPositionChanged_USR
    functionSourceFile: /src/vlc/doc/libvlc/wx_player.cpp
    functionUses: 0
    functionsReached:
    - GetInt
    - libvlc_media_player_set_position
    linkageType: ''
    returnType: void
    signature: void MainWindow::OnPositionChanged_USR(wxCommandEvent& event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_media_player_get_position
      Src: /src/vlc/doc/libvlc/wx_player.cpp:186,1
    - Dst: MainWindow::setTimeline
      Src: /src/vlc/doc/libvlc/wx_player.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' event'
    argTypes:
    - wxCommandEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: MainWindow::OnPositionChanged_VLC
    functionSourceFile: /src/vlc/doc/libvlc/wx_player.cpp
    functionUses: 0
    functionsReached:
    - libvlc_media_player_get_position
    - MainWindow::setTimeline
    linkageType: ''
    returnType: void
    signature: void MainWindow::OnPositionChanged_VLC(wxCommandEvent& event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MainWindow::stop
      Src: /src/vlc/doc/libvlc/wx_player.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' event'
    argTypes:
    - wxCommandEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: MainWindow::OnEndReached_VLC
    functionSourceFile: /src/vlc/doc/libvlc/wx_player.cpp
    functionUses: 0
    functionsReached:
    - MainWindow::stop
    linkageType: ''
    returnType: void
    signature: void MainWindow::OnEndReached_VLC(wxCommandEvent& event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_audio_set_volume
      Src: /src/vlc/doc/libvlc/wx_player.cpp:195,1
    - Dst: GetValue
      Src: /src/vlc/doc/libvlc/wx_player.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' event'
    argTypes:
    - wxCommandEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: MainWindow::OnVolumeChanged
    functionSourceFile: /src/vlc/doc/libvlc/wx_player.cpp
    functionUses: 0
    functionsReached:
    - GetValue
    - libvlc_audio_set_volume
    linkageType: ''
    returnType: void
    signature: void MainWindow::OnVolumeChanged(wxCommandEvent& event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: volume_slider::GetSize
      Src: /src/vlc/doc/libvlc/wx_player.cpp:199,1
    - Dst: GetX
      Src: /src/vlc/doc/libvlc/wx_player.cpp:200,1
    - Dst: wxSize::GetWidth
      Src: /src/vlc/doc/libvlc/wx_player.cpp:200,1
    - Dst: volume_slider::SetValue
      Src: /src/vlc/doc/libvlc/wx_player.cpp:201,1
    - Dst: libvlc_audio_set_volume
      Src: /src/vlc/doc/libvlc/wx_player.cpp:202,1
    - Dst: Skip
      Src: /src/vlc/doc/libvlc/wx_player.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' event'
    argTypes:
    - wxMouseEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: MainWindow::OnVolumeClicked
    functionSourceFile: /src/vlc/doc/libvlc/wx_player.cpp
    functionUses: 0
    functionsReached:
    - Skip
    - wxSize::GetWidth
    - volume_slider::SetValue
    - GetX
    - volume_slider::GetSize
    - libvlc_audio_set_volume
    linkageType: ''
    returnType: void
    signature: void MainWindow::OnVolumeClicked(wxMouseEvent& event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timeline::GetSize
      Src: /src/vlc/doc/libvlc/wx_player.cpp:207,1
    - Dst: GetX
      Src: /src/vlc/doc/libvlc/wx_player.cpp:208,1
    - Dst: wxSize::GetWidth
      Src: /src/vlc/doc/libvlc/wx_player.cpp:208,1
    - Dst: libvlc_media_player_set_position
      Src: /src/vlc/doc/libvlc/wx_player.cpp:209,1
    - Dst: MainWindow::setTimeline
      Src: /src/vlc/doc/libvlc/wx_player.cpp:210,1
    - Dst: Skip
      Src: /src/vlc/doc/libvlc/wx_player.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' event'
    argTypes:
    - wxMouseEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 212
    functionName: MainWindow::OnTimelineClicked
    functionSourceFile: /src/vlc/doc/libvlc/wx_player.cpp
    functionUses: 0
    functionsReached:
    - timeline::GetSize
    - Skip
    - libvlc_media_player_set_position
    - wxSize::GetWidth
    - MainWindow::setTimeline
    - GetX
    linkageType: ''
    returnType: void
    signature: void MainWindow::OnTimelineClicked(wxMouseEvent& event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_media_player_play
      Src: /src/vlc/doc/libvlc/wx_player.cpp:215,1
    - Dst: SetLabel
      Src: /src/vlc/doc/libvlc/wx_player.cpp:216,1
    - Dst: wxT
      Src: /src/vlc/doc/libvlc/wx_player.cpp:216,1
    - Dst: Enable
      Src: /src/vlc/doc/libvlc/wx_player.cpp:217,1
    - Dst: Enable
      Src: /src/vlc/doc/libvlc/wx_player.cpp:218,1
    - Dst: Enable
      Src: /src/vlc/doc/libvlc/wx_player.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 220
    functionName: MainWindow::play
    functionSourceFile: /src/vlc/doc/libvlc/wx_player.cpp
    functionUses: 2
    functionsReached:
    - libvlc_media_player_play
    - SetLabel
    - Enable
    - wxT
    linkageType: ''
    returnType: void
    signature: void MainWindow::play()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_media_player_pause
      Src: /src/vlc/doc/libvlc/wx_player.cpp:223,1
    - Dst: SetLabel
      Src: /src/vlc/doc/libvlc/wx_player.cpp:224,1
    - Dst: wxT
      Src: /src/vlc/doc/libvlc/wx_player.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: MainWindow::pause
    functionSourceFile: /src/vlc/doc/libvlc/wx_player.cpp
    functionUses: 1
    functionsReached:
    - SetLabel
    - libvlc_media_player_pause
    - wxT
    linkageType: ''
    returnType: void
    signature: void MainWindow::pause()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MainWindow::pause
      Src: /src/vlc/doc/libvlc/wx_player.cpp:228,1
    - Dst: libvlc_media_player_stop_async
      Src: /src/vlc/doc/libvlc/wx_player.cpp:229,1
    - Dst: Enable
      Src: /src/vlc/doc/libvlc/wx_player.cpp:230,1
    - Dst: MainWindow::setTimeline
      Src: /src/vlc/doc/libvlc/wx_player.cpp:231,1
    - Dst: Enable
      Src: /src/vlc/doc/libvlc/wx_player.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 233
    functionName: MainWindow::stop
    functionSourceFile: /src/vlc/doc/libvlc/wx_player.cpp
    functionUses: 2
    functionsReached:
    - libvlc_media_player_stop_async
    - Enable
    - MainWindow::pause
    - MainWindow::setTimeline
    linkageType: ''
    returnType: void
    signature: void MainWindow::stop()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Disconnect
      Src: /src/vlc/doc/libvlc/wx_player.cpp:238,1
    - Dst: SetValue
      Src: /src/vlc/doc/libvlc/wx_player.cpp:239,1
    - Dst: MainWindow::connectTimeline
      Src: /src/vlc/doc/libvlc/wx_player.cpp:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 241
    functionName: MainWindow::setTimeline
    functionSourceFile: /src/vlc/doc/libvlc/wx_player.cpp
    functionUses: 3
    functionsReached:
    - Disconnect
    - SetValue
    - MainWindow::connectTimeline
    linkageType: ''
    returnType: void
    signature: void MainWindow::setTimeline(float value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Connect
      Src: /src/vlc/doc/libvlc/wx_player.cpp:244,1
    - Dst: wxCommandEventHandler
      Src: /src/vlc/doc/libvlc/wx_player.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 245
    functionName: MainWindow::connectTimeline
    functionSourceFile: /src/vlc/doc/libvlc/wx_player.cpp
    functionUses: 2
    functionsReached:
    - wxCommandEventHandler
    - Connect
    linkageType: ''
    returnType: void
    signature: void MainWindow::connectTimeline()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetEventHandler
      Src: /src/vlc/doc/libvlc/wx_player.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - opaque
    - time
    - pos
    argTypes:
    - void*
    - libvlc_time_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: OnPositionChanged_VLC
    functionSourceFile: /src/vlc/doc/libvlc/wx_player.cpp
    functionUses: 0
    functionsReached:
    - GetEventHandler
    linkageType: ''
    returnType: void
    signature: void OnPositionChanged_VLC(void *opaque, libvlc_time_t time, double
      pos )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetEventHandler
      Src: /src/vlc/doc/libvlc/wx_player.cpp:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - opaque
    - state
    argTypes:
    - void*
    - libvlc_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 263
    functionName: OnEndReached_VLC
    functionSourceFile: /src/vlc/doc/libvlc/wx_player.cpp
    functionUses: 0
    functionsReached:
    - GetEventHandler
    linkageType: ''
    returnType: void
    signature: void OnEndReached_VLC(void *opaque, libvlc_state_t state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wxT
      Src: /src/vlc/doc/libvlc/wx_player.cpp:266,1
    - Dst: MainWindow::MainWindow
      Src: /src/vlc/doc/libvlc/wx_player.cpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: MyApp::OnInit
    functionSourceFile: /src/vlc/doc/libvlc/wx_player.cpp
    functionUses: 0
    functionsReached:
    - MainWindow::MainWindow
    - wxT
    linkageType: ''
    returnType: bool
    signature: bool MyApp::OnInit()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QCoreApplication::setAttribute
      Src: /src/vlc/doc/libvlc/QtGL/main.cpp:21,1
    - Dst: QSurfaceFormat::setDepthBufferSize
      Src: /src/vlc/doc/libvlc/QtGL/main.cpp:24,1
    - Dst: QSurfaceFormat::setDefaultFormat
      Src: /src/vlc/doc/libvlc/QtGL/main.cpp:25,1
    - Dst: QtVLCWidget::QtVLCWidget
      Src: /src/vlc/doc/libvlc/QtGL/main.cpp:29,1
    - Dst: QMainWindow::setCentralWidget
      Src: /src/vlc/doc/libvlc/QtGL/main.cpp:30,1
    - Dst: QMainWindow::resize
      Src: /src/vlc/doc/libvlc/QtGL/main.cpp:32,1
    - Dst: QMainWindow::sizeHint
      Src: /src/vlc/doc/libvlc/QtGL/main.cpp:32,1
    - Dst: QGuiApplication::primaryScreen
      Src: /src/vlc/doc/libvlc/QtGL/main.cpp:33,1
    - Dst: QSize::width
      Src: /src/vlc/doc/libvlc/QtGL/main.cpp:34,1
    - Dst: QSize::height
      Src: /src/vlc/doc/libvlc/QtGL/main.cpp:34,1
    - Dst: QMainWindow::width
      Src: /src/vlc/doc/libvlc/QtGL/main.cpp:35,1
    - Dst: QMainWindow::height
      Src: /src/vlc/doc/libvlc/QtGL/main.cpp:35,1
    - Dst: QMainWindow::show
      Src: /src/vlc/doc/libvlc/QtGL/main.cpp:37,1
    - Dst: QMainWindow::showMaximized
      Src: /src/vlc/doc/libvlc/QtGL/main.cpp:39,1
    - Dst: QtVLCWidget*::playMedia
      Src: /src/vlc/doc/libvlc/QtGL/main.cpp:41,1
    - Dst: QApplication::exec
      Src: /src/vlc/doc/libvlc/QtGL/main.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 44
    functionName: main
    functionSourceFile: /src/vlc/doc/libvlc/QtGL/main.cpp
    functionUses: 2
    functionsReached:
    - QtVLCWidget*::playMedia
    - QGuiApplication::primaryScreen
    - QMainWindow::width
    - QMainWindow::resize
    - QSurfaceFormat::setDefaultFormat
    - QApplication::exec
    - QMainWindow::sizeHint
    - QtVLCWidget::QtVLCWidget
    - QMainWindow::height
    - QSurfaceFormat::setDepthBufferSize
    - QMainWindow::setCentralWidget
    - QMainWindow::show
    - QMainWindow::showMaximized
    - QSize::width
    - QSize::height
    - QCoreApplication::setAttribute
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QOpenGLContext::QOpenGLContext
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:22,1
    - Dst: QOffscreenSurface::QOffscreenSurface
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:25,1
    - Dst: Disconnect
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:28,1
    - Dst: setFormat
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:30,1
    - Dst: format
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:30,1
    - Dst: create
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:31,1
    - Dst: setFormat
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:33,1
    - Dst: format
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:33,1
    - Dst: setShareContext
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:34,1
    - Dst: create
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:35,1
    - Dst: release
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - widget
    argTypes:
    - QtVLCWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 39
    functionName: VLCVideo::VLCVideo
    functionSourceFile: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp
    functionUses: 0
    functionsReached:
    - create
    - QOpenGLContext::QOpenGLContext
    - QOffscreenSurface::QOffscreenSurface
    - format
    - setFormat
    - setShareContext
    - release
    - Disconnect
    linkageType: ''
    returnType: void
    signature: void VLCVideo(QtVLCWidget *widget)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: ~VLCVideo()
    functionSourceFile: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp
    functionUses: 0
    functionsReached:
    - cleanup
    linkageType: ''
    returnType: void
    signature: void ~VLCVideo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLCVideo::isOpenGLES
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: VLCVideo::isOpenGLES
    functionSourceFile: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp
    functionUses: 1
    functionsReached:
    - VLCVideo::isOpenGLES
    linkageType: ''
    returnType: bool
    signature: bool isOpenGLES()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLCVideo::swap
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:58,1
    - Dst: get
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: VLCVideo::getVideoFrame
    functionSourceFile: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp
    functionUses: 1
    functionsReached:
    - get
    - VLCVideo::swap
    linkageType: ''
    returnType: QOpenGLFramebufferObject
    signature: QOpenGLFramebufferObject *getVideoFrame()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: report_size_change
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:70,1
    - Dst: QSize::width
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:70,1
    - Dst: QSize::height
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - QSize
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: VLCVideo::onResize
    functionSourceFile: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp
    functionUses: 0
    functionsReached:
    - report_size_change
    - QSize::width
    - QSize::height
    linkageType: ''
    returnType: void
    signature: void onResize(QSize size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: report_mouse_move
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:78,1
    - Dst: QPoint::x
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:78,1
    - Dst: QPoint::y
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pos
    argTypes:
    - QPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: VLCVideo::onMouseMove
    functionSourceFile: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp
    functionUses: 0
    functionsReached:
    - QPoint::x
    - QPoint::y
    - report_mouse_move
    linkageType: ''
    returnType: void
    signature: void onMouseMove(QPoint pos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLCVideo::qtToVlcMouseButton
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:87,1
    - Dst: report_mouse_press
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - button
    argTypes:
    - Qt::MouseButton
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: VLCVideo::onMousePress
    functionSourceFile: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp
    functionUses: 0
    functionsReached:
    - VLCVideo::qtToVlcMouseButton
    - report_mouse_press
    linkageType: ''
    returnType: void
    signature: void onMousePress(Qt::MouseButton button)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLCVideo::qtToVlcMouseButton
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:99,1
    - Dst: report_mouse_release
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - button
    argTypes:
    - Qt::MouseButton
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 103
    functionName: VLCVideo::onMouseRelease
    functionSourceFile: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp
    functionUses: 0
    functionsReached:
    - VLCVideo::qtToVlcMouseButton
    - report_mouse_release
    linkageType: ''
    returnType: void
    signature: void onMouseRelease(Qt::MouseButton button)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<VLCVideo*>
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:112,1
    - Dst: VLCVideo*::m_windowSize::isValid
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:121,1
    - Dst: report_size_change
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:122,1
    - Dst: VLCVideo*::m_windowSize::width
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:122,1
    - Dst: VLCVideo*::m_windowSize::height
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - data
    - report_size_change
    - report_mouse_move
    - report_mouse_press
    - report_mouse_release
    - reportOpaque
    argTypes:
    - void*
    - libvlc_video_output_resize_cb
    - libvlc_video_output_mouse_move_cb
    - libvlc_video_output_mouse_press_cb
    - libvlc_video_output_mouse_release_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 123
    functionName: VLCVideo::setReportCallbacks
    functionSourceFile: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp
    functionUses: 0
    functionsReached:
    - VLCVideo*::m_windowSize::isValid
    - VLCVideo*::m_windowSize::width
    - static_cast<VLCVideo*>
    - report_size_change
    - VLCVideo*::m_windowSize::height
    linkageType: ''
    returnType: void
    signature: "void setReportCallbacks(void* data,\n        libvlc_video_output_resize_cb
      report_size_change,\n        libvlc_video_output_mouse_move_cb report_mouse_move,\n
      \       libvlc_video_output_mouse_press_cb report_mouse_press,\n        libvlc_video_output_mouse_release_cb
      report_mouse_release,\n        void* reportOpaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<VLCVideo*>
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:129,1
    - Dst: VLCVideo::cleanup
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:131,1
    - Dst: std::make_unique<QOpenGLFramebufferObject>
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:134,1
    - Dst: bind
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - data
    - cfg
    - render_cfg
    argTypes:
    - void*
    - libvlc_video_render_cfg_t*
    - libvlc_video_output_cfg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 149
    functionName: VLCVideo::resizeRenderTextures
    functionSourceFile: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp
    functionUses: 0
    functionsReached:
    - VLCVideo::cleanup
    - bind
    - static_cast<VLCVideo*>
    - std::make_unique<QOpenGLFramebufferObject>
    linkageType: ''
    returnType: bool
    signature: "bool resizeRenderTextures(void* data, const libvlc_video_render_cfg_t
      *cfg,\n                                     libvlc_video_output_cfg_t *render_cfg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNUSED
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:155,1
    - Dst: Q_UNUSED
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:156,1
    - Dst: QOpenGLContext::supportsThreadedOpenGL
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:158,1
    - Dst: static_cast<VLCVideo*>
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:161,1
    - Dst: VLCVideo*::videoReady::acquire
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - data
    - cfg
    - out
    argTypes:
    - void**
    - libvlc_video_setup_device_cfg_t*
    - libvlc_video_setup_device_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 169
    functionName: VLCVideo::setup
    functionSourceFile: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp
    functionUses: 0
    functionsReached:
    - static_cast<VLCVideo*>
    - VLCVideo*::videoReady::acquire
    - QOpenGLContext::supportsThreadedOpenGL
    - Q_UNUSED
    linkageType: ''
    returnType: bool
    signature: "bool setup(void** data, const libvlc_video_setup_device_cfg_t *cfg,\n
      \                     libvlc_video_setup_device_info_t *out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<VLCVideo*>
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:175,1
    - Dst: VLCVideo*::videoReady::release
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:177,1
    - Dst: reset
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: VLCVideo::cleanup
    functionSourceFile: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp
    functionUses: 2
    functionsReached:
    - VLCVideo*::videoReady::release
    - reset
    - static_cast<VLCVideo*>
    linkageType: ''
    returnType: void
    signature: void cleanup(void* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<VLCVideo*>
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:188,1
    - Dst: VLCVideo*::mWidget::update
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:191,1
    - Dst: VLCVideo::swap
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:192,1
    - Dst: bind
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: VLCVideo::swap
    functionSourceFile: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp
    functionUses: 4
    functionsReached:
    - VLCVideo::swap
    - bind
    - static_cast<VLCVideo*>
    - VLCVideo*::mWidget::update
    linkageType: ''
    returnType: void
    signature: void swap(void* data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<VLCVideo*>
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:199,1
    - Dst: VLCVideo*::mContext::makeCurrent
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:201,1
    - Dst: VLCVideo*::mContext::doneCurrent
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - current
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 205
    functionName: VLCVideo::make_current
    functionSourceFile: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp
    functionUses: 0
    functionsReached:
    - VLCVideo*::mContext::makeCurrent
    - VLCVideo*::mContext::doneCurrent
    - static_cast<VLCVideo*>
    linkageType: ''
    returnType: bool
    signature: bool make_current(void* data, bool current)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<VLCVideo*>
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:210,1
    - Dst: reinterpret_cast<void*>
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:219,1
    - Dst: VLCVideo*::mContext::getProcAddress
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - current
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 220
    functionName: VLCVideo::get_proc_address
    functionSourceFile: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp
    functionUses: 0
    functionsReached:
    - VLCVideo*::mContext::getProcAddress
    - reinterpret_cast<void*>
    - static_cast<VLCVideo*>
    linkageType: ''
    returnType: void
    signature: void * get_proc_address(void* data, const char* current)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - button
    - ok
    argTypes:
    - Qt::MouseButton
    - bool*
    assertStmts:
    - condition: (ok != nullptr)
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp
    constantsTouched: []
    func_position:
      end: 239
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 239
    functionName: VLCVideo::qtToVlcMouseButton
    functionSourceFile: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: libvlc_video_output_mouse_button_t
    signature: libvlc_video_output_mouse_button_t qtToVlcMouseButton(Qt::MouseButton
      button, bool* ok)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setMouseTracking
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:273,1
    - Dst: libvlc_new
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:281,1
    - Dst: std::make_unique<VLCVideo>
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 284
    functionName: QtVLCWidget::QtVLCWidget
    functionSourceFile: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp
    functionUses: 1
    functionsReached:
    - setMouseTracking
    - std::make_unique<VLCVideo>
    - libvlc_new
    linkageType: ''
    returnType: void
    signature: void QtVLCWidget::QtVLCWidget(QWidget *parent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_media_new_location
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:288,1
    - Dst: fprintf
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:290,1
    - Dst: libvlc_media_player_new_from_media
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:293,1
    - Dst: fprintf
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:295,1
    - Dst: libvlc_media_release
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:296,1
    - Dst: libvlc_video_set_output_callbacks
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:301,1
    - Dst: isOpenGLES
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:302,1
    - Dst: get
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:305,1
    - Dst: libvlc_media_player_play
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:308,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 311
    functionName: QtVLCWidget::playMedia
    functionSourceFile: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp
    functionUses: 0
    functionsReached:
    - libvlc_media_player_play
    - libvlc_media_release
    - libvlc_video_set_output_callbacks
    - fprintf
    - get
    - libvlc_media_player_new_from_media
    - libvlc_media_new_location
    - isOpenGLES
    linkageType: ''
    returnType: bool
    signature: bool QtVLCWidget::playMedia(const char* url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QtVLCWidget::cleanup
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 316
    functionName: QtVLCWidget::~QtVLCWidget()
    functionSourceFile: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp
    functionUses: 0
    functionsReached:
    - QtVLCWidget::cleanup
    linkageType: ''
    returnType: void
    signature: void QtVLCWidget::~QtVLCWidget()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QSize
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 321
    functionName: QtVLCWidget::minimumSizeHint
    functionSourceFile: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp
    functionUses: 0
    functionsReached:
    - QSize
    linkageType: ''
    returnType: QSize
    signature: QSize QtVLCWidget::minimumSizeHint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QSize
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 326
    functionName: QtVLCWidget::sizeHint
    functionSourceFile: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp
    functionUses: 0
    functionsReached:
    - QSize
    linkageType: ''
    returnType: QSize
    signature: QSize QtVLCWidget::sizeHint() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QtVLCWidget::stop
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:330,1
    - Dst: libvlc_release
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:333,1
    - Dst: makeCurrent
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:339,1
    - Dst: destroy
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:340,1
    - Dst: destroy
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:341,1
    - Dst: reset
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:342,1
    - Dst: doneCurrent
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 344
    functionName: QtVLCWidget::cleanup
    functionSourceFile: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp
    functionUses: 1
    functionsReached:
    - QtVLCWidget::stop
    - libvlc_release
    - reset
    - destroy
    - doneCurrent
    - makeCurrent
    linkageType: ''
    returnType: void
    signature: void QtVLCWidget::cleanup()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_media_player_release
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:349,1
    - Dst: libvlc_media_release
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 356
    functionName: QtVLCWidget::stop
    functionSourceFile: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp
    functionUses: 1
    functionsReached:
    - libvlc_media_release
    - libvlc_media_player_release
    linkageType: ''
    returnType: void
    signature: void QtVLCWidget::stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:411,1
    - Dst: context
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:411,1
    - Dst: create
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:413,1
    - Dst: bind
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:414,1
    - Dst: allocate
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:415,1
    - Dst: create
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:417,1
    - Dst: bind
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:418,1
    - Dst: allocate
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:419,1
    - Dst: std::make_unique<QOpenGLShaderProgram>
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:421,1
    - Dst: addShaderFromSourceCode
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:422,1
    - Dst: addShaderFromSourceCode
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:423,1
    - Dst: link
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:424,1
    - Dst: setUniformValue
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:426,1
    - Dst: bindAttributeLocation
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 431
    functionName: QtVLCWidget::initializeGL
    functionSourceFile: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp
    functionUses: 0
    functionsReached:
    - create
    - link
    - bindAttributeLocation
    - std::make_unique<QOpenGLShaderProgram>
    - addShaderFromSourceCode
    - connect
    - setUniformValue
    - context
    - allocate
    - bind
    linkageType: ''
    returnType: void
    signature: void QtVLCWidget::initializeGL()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: context
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:435,1
    - Dst: getVideoFrame
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:436,1
    - Dst: bind
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:439,1
    - Dst: QOpenGLFunctions*::glClearColor
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:441,1
    - Dst: QOpenGLFunctions*::glActiveTexture
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:443,1
    - Dst: QOpenGLFunctions*::glBindTexture
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:444,1
    - Dst: QOpenGLFramebufferObject*::texture
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:444,1
    - Dst: bind
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:446,1
    - Dst: setAttributeArray
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:447,1
    - Dst: enableAttributeArray
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:449,1
    - Dst: bind
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:451,1
    - Dst: QOpenGLFunctions*::glDrawElements
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:452,1
    - Dst: disableAttributeArray
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 461
    functionName: QtVLCWidget::paintGL
    functionSourceFile: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp
    functionUses: 0
    functionsReached:
    - enableAttributeArray
    - disableAttributeArray
    - QOpenGLFunctions*::glClearColor
    - QOpenGLFramebufferObject*::texture
    - setAttributeArray
    - QOpenGLFunctions*::glActiveTexture
    - context
    - QOpenGLFunctions*::glDrawElements
    - QOpenGLFunctions*::glBindTexture
    - bind
    - getVideoFrame
    linkageType: ''
    returnType: void
    signature: void QtVLCWidget::paintGL()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: onResize
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:465,1
    - Dst: QSize
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - h
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 466
    functionName: QtVLCWidget::resizeGL
    functionSourceFile: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp
    functionUses: 0
    functionsReached:
    - QSize
    - onResize
    linkageType: ''
    returnType: void
    signature: void QtVLCWidget::resizeGL(int w, int h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QtVLCWidget::mouseMoveEvent
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:470,1
    - Dst: onMouseMove
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:471,1
    - Dst: QMouseEvent*::pos
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - event
    argTypes:
    - QMouseEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 472
    functionName: QtVLCWidget::mouseMoveEvent
    functionSourceFile: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp
    functionUses: 1
    functionsReached:
    - QMouseEvent*::pos
    - onMouseMove
    - QtVLCWidget::mouseMoveEvent
    linkageType: ''
    returnType: void
    signature: void QtVLCWidget::mouseMoveEvent(QMouseEvent *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QtVLCWidget::mousePressEvent
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:476,1
    - Dst: onMousePress
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:477,1
    - Dst: QMouseEvent*::button
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - event
    argTypes:
    - QMouseEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 478
    functionName: QtVLCWidget::mousePressEvent
    functionSourceFile: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp
    functionUses: 1
    functionsReached:
    - onMousePress
    - QMouseEvent*::button
    - QtVLCWidget::mousePressEvent
    linkageType: ''
    returnType: void
    signature: void QtVLCWidget::mousePressEvent(QMouseEvent *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QtVLCWidget::mouseReleaseEvent
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:482,1
    - Dst: onMouseRelease
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:483,1
    - Dst: QMouseEvent*::button
      Src: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - event
    argTypes:
    - QMouseEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 484
    functionName: QtVLCWidget::mouseReleaseEvent
    functionSourceFile: /src/vlc/doc/libvlc/QtGL/qtvlcwidget.cpp
    functionUses: 1
    functionsReached:
    - QtVLCWidget::mouseReleaseEvent
    - onMouseRelease
    - QMouseEvent*::button
    linkageType: ''
    returnType: void
    signature: void QtVLCWidget::mouseReleaseEvent(QMouseEvent *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 12
    functionName: qtu
    functionSourceFile: /src/vlc/doc/libvlc/QtPlayer/player.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: qtu( i )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_new
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:26,1
    - Dst: QMessageBox::critical
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:30,1
    - Dst: exit
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:31,1
    - Dst: Mwindow::initUI
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 36
    functionName: Mwindow::Mwindow
    functionSourceFile: /src/vlc/doc/libvlc/QtPlayer/player.cpp
    functionUses: 0
    functionsReached:
    - QMessageBox::critical
    - exit
    - Mwindow::initUI
    - libvlc_new
    linkageType: ''
    returnType: void
    signature: void Mwindow::Mwindow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_release
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: Mwindow::~Mwindow()
    functionSourceFile: /src/vlc/doc/libvlc/QtPlayer/player.cpp
    functionUses: 0
    functionsReached:
    - libvlc_release
    linkageType: ''
    returnType: void
    signature: void Mwindow::~Mwindow()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: menuBar
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:47,1
    - Dst: menuBar
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:48,1
    - Dst: QAction::QAction
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:50,1
    - Dst: QAction::QAction
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:51,1
    - Dst: QAction::QAction
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:52,1
    - Dst: QAction::QAction
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:53,1
    - Dst: QAction::QAction
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:54,1
    - Dst: QAction*::setShortcut
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:56,1
    - Dst: QKeySequence
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:56,1
    - Dst: QAction*::setShortcut
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:57,1
    - Dst: QKeySequence
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:57,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:59,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:60,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:61,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:62,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:63,1
    - Dst: connect
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:65,1
    - Dst: SIGNAL
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:65,1
    - Dst: triggered
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:65,1
    - Dst: SLOT
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:65,1
    - Dst: Mwindow::openFile
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:65,1
    - Dst: connect
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:66,1
    - Dst: SIGNAL
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:66,1
    - Dst: triggered
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:66,1
    - Dst: SLOT
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:66,1
    - Dst: Mwindow::play
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:66,1
    - Dst: connect
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:67,1
    - Dst: SIGNAL
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:67,1
    - Dst: triggered
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:67,1
    - Dst: SLOT
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:67,1
    - Dst: Mwindow::about
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:67,1
    - Dst: connect
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:68,1
    - Dst: SIGNAL
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:68,1
    - Dst: triggered
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:68,1
    - Dst: SLOT
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:68,1
    - Dst: Mwindow::fullscreen
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:68,1
    - Dst: connect
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:69,1
    - Dst: SIGNAL
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:69,1
    - Dst: triggered
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:69,1
    - Dst: SLOT
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:69,1
    - Dst: quit
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:69,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:72,1
    - Dst: Disconnect
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:73,1
    - Dst: SIGNAL
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:73,1
    - Dst: clicked
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:73,1
    - Dst: SLOT
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:73,1
    - Dst: Mwindow::play
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:73,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:75,1
    - Dst: Disconnect
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:76,1
    - Dst: SIGNAL
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:76,1
    - Dst: clicked
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:76,1
    - Dst: SLOT
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:76,1
    - Dst: Mwindow::stop
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:76,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:78,1
    - Dst: Disconnect
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:79,1
    - Dst: SIGNAL
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:79,1
    - Dst: clicked
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:79,1
    - Dst: SLOT
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:79,1
    - Dst: Mwindow::mute
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:79,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:81,1
    - Dst: Disconnect
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:82,1
    - Dst: SIGNAL
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:82,1
    - Dst: clicked
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:82,1
    - Dst: SLOT
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:82,1
    - Dst: Mwindow::fullscreen
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:82,1
    - Dst: QSlider::QSlider
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:84,1
    - Dst: setValue
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:86,1
    - Dst: QSlider::QSlider
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:88,1
    - Dst: setMaximum
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:89,1
    - Dst: QTimer::QTimer
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:93,1
    - Dst: connect
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:94,1
    - Dst: SIGNAL
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:94,1
    - Dst: timeout
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:94,1
    - Dst: SLOT
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:94,1
    - Dst: Mwindow::updateInterface
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:94,1
    - Dst: QTimer*::start
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:95,1
    - Dst: QWidget::QWidget
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:98,1
    - Dst: QWidget::QWidget
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:99,1
    - Dst: setAutoFillBackground
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:101,1
    - Dst: palette
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:102,1
    - Dst: QPalette::setColor
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:103,1
    - Dst: setPalette
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:104,1
    - Dst: QHBoxLayout::QHBoxLayout
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:107,1
    - Dst: QHBoxLayout*::setContentsMargins
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:108,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:109,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:110,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:111,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:112,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:113,1
    - Dst: QVBoxLayout::QVBoxLayout
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:115,1
    - Dst: QVBoxLayout*::setContentsMargins
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:116,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:117,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:118,1
    - Dst: QVBoxLayout*::addLayout
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:119,1
    - Dst: QWidget*::setLayout
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:121,1
    - Dst: setCentralWidget
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:122,1
    - Dst: resize
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 124
    functionName: Mwindow::initUI
    functionSourceFile: /src/vlc/doc/libvlc/QtPlayer/player.cpp
    functionUses: 1
    functionsReached:
    - setAutoFillBackground
    - clicked
    - QTimer::QTimer
    - Mwindow::mute
    - connect
    - Mwindow::play
    - Disconnect
    - setPalette
    - setValue
    - QHBoxLayout::QHBoxLayout
    - resize
    - QVBoxLayout*::addWidget
    - SIGNAL
    - palette
    - QWidget*::setLayout
    - QAction*::setShortcut
    - setCentralWidget
    - SLOT
    - Mwindow::fullscreen
    - QAction::QAction
    - QHBoxLayout*::setContentsMargins
    - menuBar
    - QVBoxLayout::QVBoxLayout
    - Mwindow::updateInterface
    - QWidget::QWidget
    - timeout
    - QSlider::QSlider
    - QVBoxLayout*::setContentsMargins
    - QPushButton::QPushButton
    - QMenu*::addAction
    - setMaximum
    - triggered
    - Mwindow::about
    - QPalette::setColor
    - QHBoxLayout*::addWidget
    - Mwindow::openFile
    - quit
    - QTimer*::start
    - QVBoxLayout*::addLayout
    - QKeySequence
    - Mwindow::stop
    linkageType: ''
    returnType: void
    signature: void Mwindow::initUI()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QFileDialog::getOpenFileUrl
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:129,1
    - Dst: tr
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:129,1
    - Dst: libvlc_media_player_is_playing
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:132,1
    - Dst: Mwindow::stop
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:133,1
    - Dst: libvlc_media_new_location
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:136,1
    - Dst: qtu
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:136,1
    - Dst: QUrl::toString
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:136,1
    - Dst: libvlc_media_player_new_from_media
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:141,1
    - Dst: libvlc_media_release
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:144,1
    - Dst: libvlc_media_player_set_nsobject
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:148,1
    - Dst: winId
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:148,1
    - Dst: libvlc_media_player_set_xwindow
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:150,1
    - Dst: winId
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:150,1
    - Dst: GetWindowLong
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:152,1
    - Dst: winId
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:152,1
    - Dst: SetWindowLong
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:154,1
    - Dst: winId
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:154,1
    - Dst: libvlc_media_player_set_hwnd
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:155,1
    - Dst: winId
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:155,1
    - Dst: libvlc_media_player_play
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:159,1
    - Dst: setText
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 163
    functionName: Mwindow::openFile
    functionSourceFile: /src/vlc/doc/libvlc/QtPlayer/player.cpp
    functionUses: 1
    functionsReached:
    - libvlc_media_player_set_nsobject
    - libvlc_media_player_set_xwindow
    - libvlc_media_player_play
    - QFileDialog::getOpenFileUrl
    - libvlc_media_release
    - GetWindowLong
    - setText
    - libvlc_media_player_is_playing
    - QUrl::toString
    - winId
    - libvlc_media_player_new_from_media
    - qtu
    - tr
    - libvlc_media_new_location
    - libvlc_media_player_set_hwnd
    - SetWindowLong
    - Mwindow::stop
    linkageType: ''
    returnType: void
    signature: void Mwindow::openFile()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_media_player_is_playing
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:169,1
    - Dst: libvlc_media_player_pause
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:172,1
    - Dst: setText
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:173,1
    - Dst: libvlc_media_player_play
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:178,1
    - Dst: setText
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 181
    functionName: Mwindow::play
    functionSourceFile: /src/vlc/doc/libvlc/QtPlayer/player.cpp
    functionUses: 1
    functionsReached:
    - libvlc_media_player_is_playing
    - setText
    - libvlc_media_player_pause
    - libvlc_media_player_play
    linkageType: ''
    returnType: void
    signature: void Mwindow::play()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_audio_set_volume
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - vol
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 189
    functionName: Mwindow::changeVolume
    functionSourceFile: /src/vlc/doc/libvlc/QtPlayer/player.cpp
    functionUses: 0
    functionsReached:
    - libvlc_audio_set_volume
    linkageType: ''
    returnType: int
    signature: int Mwindow::changeVolume(int vol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_media_player_set_position
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pos
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: Mwindow::changePosition
    functionSourceFile: /src/vlc/doc/libvlc/QtPlayer/player.cpp
    functionUses: 0
    functionsReached:
    - libvlc_media_player_set_position
    linkageType: ''
    returnType: void
    signature: void Mwindow::changePosition(int pos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_media_player_get_position
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:203,1
    - Dst: setValue
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:204,1
    - Dst: libvlc_media_player_get_state
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:207,1
    - Dst: Mwindow::stop
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 209
    functionName: Mwindow::updateInterface
    functionSourceFile: /src/vlc/doc/libvlc/QtPlayer/player.cpp
    functionUses: 1
    functionsReached:
    - libvlc_media_player_get_state
    - libvlc_media_player_get_position
    - setValue
    - Mwindow::stop
    linkageType: ''
    returnType: void
    signature: void Mwindow::updateInterface()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_media_player_stop_async
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:214,1
    - Dst: libvlc_media_player_release
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:217,1
    - Dst: setValue
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:221,1
    - Dst: setText
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 224
    functionName: Mwindow::stop
    functionSourceFile: /src/vlc/doc/libvlc/QtPlayer/player.cpp
    functionUses: 3
    functionsReached:
    - libvlc_media_player_stop_async
    - setText
    - libvlc_media_player_release
    - setValue
    linkageType: ''
    returnType: void
    signature: void Mwindow::stop()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:228,1
    - Dst: Mwindow::changeVolume
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:230,1
    - Dst: setValue
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:231,1
    - Dst: Mwindow::changeVolume
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:235,1
    - Dst: setValue
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 240
    functionName: Mwindow::mute
    functionSourceFile: /src/vlc/doc/libvlc/QtPlayer/player.cpp
    functionUses: 1
    functionsReached:
    - Mwindow::changeVolume
    - value
    - setValue
    linkageType: ''
    returnType: void
    signature: void Mwindow::mute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mwindow::about
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:244,1
    - Dst: QString::fromUtf8
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:244,1
    - Dst: libvlc_get_version
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: Mwindow::about
    functionSourceFile: /src/vlc/doc/libvlc/QtPlayer/player.cpp
    functionUses: 2
    functionsReached:
    - Mwindow::about
    - QString::fromUtf8
    - libvlc_get_version
    linkageType: ''
    returnType: void
    signature: void Mwindow::about()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isFullScreen
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:249,1
    - Dst: showNormal
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:250,1
    - Dst: menuWidget
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:251,1
    - Dst: showFullScreen
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:254,1
    - Dst: menuWidget
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 257
    functionName: Mwindow::fullscreen
    functionSourceFile: /src/vlc/doc/libvlc/QtPlayer/player.cpp
    functionUses: 1
    functionsReached:
    - menuWidget
    - showFullScreen
    - isFullScreen
    - showNormal
    linkageType: ''
    returnType: void
    signature: void Mwindow::fullscreen()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mwindow::stop
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:260,1
    - Dst: QCloseEvent*::accept
      Src: /src/vlc/doc/libvlc/QtPlayer/player.cpp:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - event
    argTypes:
    - QCloseEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: Mwindow::closeEvent
    functionSourceFile: /src/vlc/doc/libvlc/QtPlayer/player.cpp
    functionUses: 0
    functionsReached:
    - QCloseEvent*::accept
    - Mwindow::stop
    linkageType: ''
    returnType: void
    signature: void Mwindow::closeEvent(QCloseEvent *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XInitThreads
      Src: /src/vlc/doc/libvlc/QtPlayer/main.cpp:24,1
    - Dst: Mwindow::Mwindow
      Src: /src/vlc/doc/libvlc/QtPlayer/main.cpp:29,1
    - Dst: Mwindow::show
      Src: /src/vlc/doc/libvlc/QtPlayer/main.cpp:30,1
    - Dst: QApplication::exec
      Src: /src/vlc/doc/libvlc/QtPlayer/main.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 33
    functionName: main
    functionSourceFile: /src/vlc/doc/libvlc/QtPlayer/main.cpp
    functionUses: 2
    functionsReached:
    - Mwindow::show
    - XInitThreads
    - Mwindow::Mwindow
    - QApplication::exec
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/lua/vlc.c:95,1
    - Dst: strlen
      Src: /src/vlc/modules/lua/vlc.c:99,1
    - Dst: strcmp
      Src: /src/vlc/modules/lua/vlc.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 104
    functionName: file_select
    functionSourceFile: /src/vlc/modules/lua/vlc.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcmp
    linkageType: ''
    returnType: int
    signature: int file_select( const char *file )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/lua/vlc.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: file_compare
    functionSourceFile: /src/vlc/modules/lua/vlc.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int file_compare( const char **a, const char **b )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lua_getfield
      Src: /src/vlc/modules/lua/vlc.c:115,1
    - Dst: lua_isnil
      Src: /src/vlc/modules/lua/vlc.c:116,1
    - Dst: lua_isboolean
      Src: /src/vlc/modules/lua/vlc.c:116,1
    - Dst: lua_toboolean
      Src: /src/vlc/modules/lua/vlc.c:117,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/vlc.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 121
    functionName: file_is_playlist
    functionSourceFile: /src/vlc/modules/lua/vlc.c
    functionUses: 0
    functionsReached:
    - lua_isboolean
    - lua_toboolean
    - lua_isnil
    - lua_pop
    - lua_getfield
    linkageType: ''
    returnType: bool
    signature: bool file_is_playlist( lua_State *L )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/lua/vlc.c:126,1
    - Dst: likely
      Src: /src/vlc/modules/lua/vlc.c:129,1
    - Dst: asprintf
      Src: /src/vlc/modules/lua/vlc.c:129,1
    - Dst: free
      Src: /src/vlc/modules/lua/vlc.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: vlclua_dir_list_append
    functionSourceFile: /src/vlc/modules/lua/vlc.c
    functionUses: 0
    functionsReached:
    - free
    - asprintf
    - unlikely
    - likely
    linkageType: ''
    returnType: char
    signature: "char **vlclua_dir_list_append( char **restrict list, char *basedir,\n
      \                                     const char *luadirname )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/lua/vlc.c:139,1
    - Dst: unlikely
      Src: /src/vlc/modules/lua/vlc.c:140,1
    - Dst: config_GetUserDir
      Src: /src/vlc/modules/lua/vlc.c:146,1
    - Dst: likely
      Src: /src/vlc/modules/lua/vlc.c:147,1
    - Dst: vlclua_dir_list_append
      Src: /src/vlc/modules/lua/vlc.c:148,1
    - Dst: config_GetSysPath
      Src: /src/vlc/modules/lua/vlc.c:150,1
    - Dst: config_GetSysPath
      Src: /src/vlc/modules/lua/vlc.c:151,1
    - Dst: strcmp
      Src: /src/vlc/modules/lua/vlc.c:152,1
    - Dst: vlclua_dir_list_append
      Src: /src/vlc/modules/lua/vlc.c:156,1
    - Dst: vlclua_dir_list_append
      Src: /src/vlc/modules/lua/vlc.c:160,1
    - Dst: free
      Src: /src/vlc/modules/lua/vlc.c:162,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - luadirname
    - listp
    argTypes:
    - char*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 166
    functionName: vlclua_dir_list
    functionSourceFile: /src/vlc/modules/lua/vlc.c
    functionUses: 0
    functionsReached:
    - vlclua_dir_list_append
    - config_GetSysPath
    - strcmp
    - free
    - likely
    - config_GetUserDir
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int vlclua_dir_list(const char *luadirname, char ***restrict listp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/lua/vlc.c:171,1
    - Dst: free
      Src: /src/vlc/modules/lua/vlc.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ppsz_dir_list
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: vlclua_dir_list_free
    functionSourceFile: /src/vlc/modules/lua/vlc.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void vlclua_dir_list_free( char **ppsz_dir_list )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_dir_list
      Src: /src/vlc/modules/lua/vlc.c:187,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/vlc.c:195,1
    - Dst: vlc_scandir
      Src: /src/vlc/modules/lua/vlc.c:196,1
    - Dst: asprintf
      Src: /src/vlc/modules/lua/vlc.c:208,1
    - Dst: free
      Src: /src/vlc/modules/lua/vlc.c:211,1
    - Dst: likely
      Src: /src/vlc/modules/lua/vlc.c:213,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/vlc.c:215,1
    - Dst: func
      Src: /src/vlc/modules/lua/vlc.c:216,1
    - Dst: free
      Src: /src/vlc/modules/lua/vlc.c:217,1
    - Dst: free
      Src: /src/vlc/modules/lua/vlc.c:224,1
    - Dst: free
      Src: /src/vlc/modules/lua/vlc.c:225,1
    - Dst: vlclua_dir_list_free
      Src: /src/vlc/modules/lua/vlc.c:230,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - p_this
    - luadirname
    - user_data
    argTypes:
    - vlc_object_t*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 179
    functionDepth: 4
    functionLinenumber: 179
    functionLinenumberEnd: 232
    functionName: vlclua_scripts_batch_execute
    functionSourceFile: /src/vlc/modules/lua/vlc.c
    functionUses: 0
    functionsReached:
    - asprintf
    - vlclua_dir_list
    - func
    - free
    - vlclua_dir_list_free
    - msg_Dbg
    - likely
    - vlc_scandir
    linkageType: ''
    returnType: int
    signature: "int vlclua_scripts_batch_execute( vlc_object_t *p_this,\n                                  const
      char * luadirname,\n                                  int (*func)(vlc_object_t
      *, const char *, const luabatch_context_t *),\n                                  void
      * user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_dir_list
      Src: /src/vlc/modules/lua/vlc.c:237,1
    - Dst: asprintf
      Src: /src/vlc/modules/lua/vlc.c:246,1
    - Dst: vlclua_dir_list_free
      Src: /src/vlc/modules/lua/vlc.c:249,1
    - Dst: vlc_stat
      Src: /src/vlc/modules/lua/vlc.c:253,1
    - Dst: S_ISREG
      Src: /src/vlc/modules/lua/vlc.c:254,1
    - Dst: vlclua_dir_list_free
      Src: /src/vlc/modules/lua/vlc.c:256,1
    - Dst: free
      Src: /src/vlc/modules/lua/vlc.c:259,1
    - Dst: vlclua_dir_list_free
      Src: /src/vlc/modules/lua/vlc.c:262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - psz_luadirname
    - psz_name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 234
    functionDepth: 4
    functionLinenumber: 234
    functionLinenumberEnd: 264
    functionName: vlclua_find_file
    functionSourceFile: /src/vlc/modules/lua/vlc.c
    functionUses: 0
    functionsReached:
    - asprintf
    - vlclua_dir_list
    - vlclua_dir_list_free
    - S_ISREG
    - free
    - vlc_stat
    linkageType: ''
    returnType: char
    signature: char *vlclua_find_file( const char *psz_luadirname, const char *psz_name
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_is_playlist
      Src: /src/vlc/modules/lua/vlc.c:274,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/vlc.c:291,1
    - Dst: TRY_META
      Src: /src/vlc/modules/lua/vlc.c:292,1
    - Dst: TRY_META
      Src: /src/vlc/modules/lua/vlc.c:293,1
    - Dst: TRY_META
      Src: /src/vlc/modules/lua/vlc.c:294,1
    - Dst: TRY_META
      Src: /src/vlc/modules/lua/vlc.c:295,1
    - Dst: TRY_META
      Src: /src/vlc/modules/lua/vlc.c:296,1
    - Dst: TRY_META
      Src: /src/vlc/modules/lua/vlc.c:297,1
    - Dst: TRY_META
      Src: /src/vlc/modules/lua/vlc.c:298,1
    - Dst: TRY_META
      Src: /src/vlc/modules/lua/vlc.c:299,1
    - Dst: TRY_META
      Src: /src/vlc/modules/lua/vlc.c:300,1
    - Dst: TRY_META
      Src: /src/vlc/modules/lua/vlc.c:301,1
    - Dst: TRY_META
      Src: /src/vlc/modules/lua/vlc.c:302,1
    - Dst: TRY_META
      Src: /src/vlc/modules/lua/vlc.c:303,1
    - Dst: TRY_META
      Src: /src/vlc/modules/lua/vlc.c:304,1
    - Dst: TRY_META
      Src: /src/vlc/modules/lua/vlc.c:305,1
    - Dst: TRY_META
      Src: /src/vlc/modules/lua/vlc.c:306,1
    - Dst: TRY_META
      Src: /src/vlc/modules/lua/vlc.c:307,1
    - Dst: TRY_META
      Src: /src/vlc/modules/lua/vlc.c:308,1
    - Dst: TRY_META
      Src: /src/vlc/modules/lua/vlc.c:309,1
    - Dst: TRY_META
      Src: /src/vlc/modules/lua/vlc.c:310,1
    - Dst: TRY_META
      Src: /src/vlc/modules/lua/vlc.c:311,1
    - Dst: TRY_META
      Src: /src/vlc/modules/lua/vlc.c:312,1
    - Dst: TRY_META
      Src: /src/vlc/modules/lua/vlc.c:313,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/vlc.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 3
    argNames:
    - p_this
    - L
    - p_input
    argTypes:
    - vlc_object_t*
    - lua_State*
    - input_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 315
    functionName: vlclua_read_meta_data
    functionSourceFile: /src/vlc/modules/lua/vlc.c
    functionUses: 0
    functionsReached:
    - TRY_META
    - file_is_playlist
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: "void vlclua_read_meta_data( vlc_object_t *p_this, lua_State *L,\n
      \                           input_item_t *p_input )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 291
    functionName: TRY_META
    functionSourceFile: /src/vlc/modules/lua/vlc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRY_META( a, b )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/vlc.c:322,1
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/lua/vlc.c:325,1
    - Dst: lua_getfield
      Src: /src/vlc/modules/lua/vlc.c:328,1
    - Dst: lua_istable
      Src: /src/vlc/modules/lua/vlc.c:330,1
    - Dst: lua_pushnil
      Src: /src/vlc/modules/lua/vlc.c:332,1
    - Dst: lua_next
      Src: /src/vlc/modules/lua/vlc.c:334,1
    - Dst: lua_isstring
      Src: /src/vlc/modules/lua/vlc.c:337,1
    - Dst: lua_isstring
      Src: /src/vlc/modules/lua/vlc.c:337,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/vlc.c:339,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/vlc.c:340,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/vlc.c:343,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/vlc.c:344,1
    - Dst: file_is_playlist
      Src: /src/vlc/modules/lua/vlc.c:346,1
    - Dst: vlc_meta_SetExtraWithPriority
      Src: /src/vlc/modules/lua/vlc.c:348,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/vlc.c:350,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/vlc.c:353,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/vlc.c:356,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - p_this
    - L
    - p_input
    argTypes:
    - vlc_object_t*
    - lua_State*
    - input_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 357
    functionName: vlclua_read_custom_meta_data
    functionSourceFile: /src/vlc/modules/lua/vlc.c
    functionUses: 0
    functionsReached:
    - lua_isstring
    - file_is_playlist
    - vlc_mutex_unlock
    - lua_pushnil
    - vlc_mutex_lock
    - lua_tostring
    - vlc_meta_New
    - lua_next
    - lua_istable
    - msg_Err
    - vlc_meta_SetExtraWithPriority
    - lua_pop
    - lua_getfield
    linkageType: ''
    returnType: void
    signature: "void vlclua_read_custom_meta_data( vlc_object_t *p_this, lua_State
      *L,\n                                     input_item_t *p_input )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lua_getfield
      Src: /src/vlc/modules/lua/vlc.c:369,1
    - Dst: lua_istable
      Src: /src/vlc/modules/lua/vlc.c:370,1
    - Dst: lua_pushnil
      Src: /src/vlc/modules/lua/vlc.c:372,1
    - Dst: lua_next
      Src: /src/vlc/modules/lua/vlc.c:373,1
    - Dst: lua_isstring
      Src: /src/vlc/modules/lua/vlc.c:375,1
    - Dst: strdup
      Src: /src/vlc/modules/lua/vlc.c:377,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/vlc.c:377,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/vlc.c:378,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/lua/vlc.c:379,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/vlc.c:383,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/vlc.c:385,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/vlc.c:388,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - p_this
    - L
    - pi_options
    - pppsz_options
    argTypes:
    - vlc_object_t*
    - lua_State*
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 389
    functionName: vlclua_read_options
    functionSourceFile: /src/vlc/modules/lua/vlc.c
    functionUses: 0
    functionsReached:
    - lua_pop
    - lua_isstring
    - strdup
    - lua_pushnil
    - lua_tostring
    - lua_next
    - TAB_APPEND
    - lua_istable
    - msg_Dbg
    - msg_Warn
    - lua_getfield
    linkageType: ''
    returnType: void
    signature: "void vlclua_read_options( vlc_object_t *p_this, lua_State *L,\n                            int
      *pi_options, char ***pppsz_options )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: lua_istable
      Src: /src/vlc/modules/lua/vlc.c:393,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/vlc.c:395,1
    - Dst: lua_getfield
      Src: /src/vlc/modules/lua/vlc.c:399,1
    - Dst: lua_isstring
      Src: /src/vlc/modules/lua/vlc.c:402,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/vlc.c:404,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/vlc.c:405,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/vlc.c:410,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/vlc.c:411,1
    - Dst: lua_getfield
      Src: /src/vlc/modules/lua/vlc.c:414,1
    - Dst: lua_isstring
      Src: /src/vlc/modules/lua/vlc.c:415,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/vlc.c:417,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/vlc.c:418,1
    - Dst: lua_isnil
      Src: /src/vlc/modules/lua/vlc.c:420,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/vlc.c:421,1
    - Dst: lua_getfield
      Src: /src/vlc/modules/lua/vlc.c:426,1
    - Dst: lua_isnumber
      Src: /src/vlc/modules/lua/vlc.c:427,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/lua/vlc.c:428,1
    - Dst: lua_tonumber
      Src: /src/vlc/modules/lua/vlc.c:428,1
    - Dst: lua_isnil
      Src: /src/vlc/modules/lua/vlc.c:429,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/vlc.c:430,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/vlc.c:431,1
    - Dst: lua_pushvalue
      Src: /src/vlc/modules/lua/vlc.c:437,1
    - Dst: vlclua_read_options
      Src: /src/vlc/modules/lua/vlc.c:438,1
    - Dst: input_item_NewExt
      Src: /src/vlc/modules/lua/vlc.c:441,1
    - Dst: unlikely
      Src: /src/vlc/modules/lua/vlc.c:444,1
    - Dst: input_item_AddOptions
      Src: /src/vlc/modules/lua/vlc.c:447,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/vlc.c:449,1
    - Dst: vlclua_read_meta_data
      Src: /src/vlc/modules/lua/vlc.c:453,1
    - Dst: input_item_GetTitle
      Src: /src/vlc/modules/lua/vlc.c:456,1
    - Dst: input_item_SetTitle
      Src: /src/vlc/modules/lua/vlc.c:458,1
    - Dst: free
      Src: /src/vlc/modules/lua/vlc.c:459,1
    - Dst: vlclua_read_custom_meta_data
      Src: /src/vlc/modules/lua/vlc.c:462,1
    - Dst: free
      Src: /src/vlc/modules/lua/vlc.c:466,1
    - Dst: free
      Src: /src/vlc/modules/lua/vlc.c:467,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 2
    argNames:
    - obj
    - L
    argTypes:
    - vlc_object_t*
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 469
    functionName: vlclua_read_input_item
    functionSourceFile: /src/vlc/modules/lua/vlc.c
    functionUses: 0
    functionsReached:
    - lua_isstring
    - vlclua_read_custom_meta_data
    - vlclua_read_options
    - lua_pop
    - input_item_NewExt
    - input_item_SetTitle
    - msg_Dbg
    - msg_Warn
    - input_item_GetTitle
    - lua_pushvalue
    - input_item_AddOptions
    - lua_istable
    - lua_isnil
    - vlclua_read_meta_data
    - lua_getfield
    - lua_tostring
    - lua_isnumber
    - vlc_tick_from_sec
    - free
    - lua_tonumber
    - unlikely
    linkageType: ''
    returnType: input_item_t
    signature: input_item_t *vlclua_read_input_item(vlc_object_t *obj, lua_State *L)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lua_Disabled
      Src: /src/vlc/modules/lua/vlc.c:473,1
    - Dst: vlclua_dir_list
      Src: /src/vlc/modules/lua/vlc.c:479,1
    - Dst: vlc_dictionary_init
      Src: /src/vlc/modules/lua/vlc.c:482,1
    - Dst: vlc_scandir
      Src: /src/vlc/modules/lua/vlc.c:486,1
    - Dst: strchr
      Src: /src/vlc/modules/lua/vlc.c:493,1
    - Dst: vlc_dictionary_has_key
      Src: /src/vlc/modules/lua/vlc.c:497,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/lua/vlc.c:498,1
    - Dst: free
      Src: /src/vlc/modules/lua/vlc.c:499,1
    - Dst: free
      Src: /src/vlc/modules/lua/vlc.c:501,1
    - Dst: vlclua_dir_list_free
      Src: /src/vlc/modules/lua/vlc.c:503,1
    - Dst: vlc_dictionary_all_keys
      Src: /src/vlc/modules/lua/vlc.c:506,1
    - Dst: vlclua_probe_sd
      Src: /src/vlc/modules/lua/vlc.c:511,1
    - Dst: free
      Src: /src/vlc/modules/lua/vlc.c:517,1
    - Dst: free
      Src: /src/vlc/modules/lua/vlc.c:519,1
    - Dst: vlc_dictionary_clear
      Src: /src/vlc/modules/lua/vlc.c:521,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 471
    functionDepth: 4
    functionLinenumber: 471
    functionLinenumberEnd: 524
    functionName: vlc_sd_probe_Open
    functionSourceFile: /src/vlc/modules/lua/vlc.c
    functionUses: 0
    functionsReached:
    - vlclua_dir_list
    - strchr
    - vlc_dictionary_has_key
    - vlc_dictionary_clear
    - vlclua_probe_sd
    - vlc_dictionary_init
    - vlc_dictionary_all_keys
    - free
    - vlclua_dir_list_free
    - vlc_dictionary_insert
    - vlc_scandir
    - lua_Disabled
    linkageType: ''
    returnType: int
    signature: int vlc_sd_probe_Open( vlc_object_t *obj )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushfstring
      Src: /src/vlc/modules/lua/vlc.c:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - L
    - psz_path
    argTypes:
    - lua_State*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 537
    functionName: vlclua_add_modules_path_inner
    functionSourceFile: /src/vlc/modules/lua/vlc.c
    functionUses: 0
    functionsReached:
    - lua_pushfstring
    linkageType: ''
    returnType: int
    signature: int vlclua_add_modules_path_inner( lua_State *L, const char *psz_path
      )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/lua/vlc.c:546,1
    - Dst: strrchr
      Src: /src/vlc/modules/lua/vlc.c:550,1
    - Dst: free
      Src: /src/vlc/modules/lua/vlc.c:553,1
    - Dst: strrchr
      Src: /src/vlc/modules/lua/vlc.c:559,1
    - Dst: free
      Src: /src/vlc/modules/lua/vlc.c:562,1
    - Dst: lua_getglobal
      Src: /src/vlc/modules/lua/vlc.c:569,1
    - Dst: vlclua_add_modules_path_inner
      Src: /src/vlc/modules/lua/vlc.c:572,1
    - Dst: vlclua_add_modules_path_inner
      Src: /src/vlc/modules/lua/vlc.c:576,1
    - Dst: vlclua_dir_list
      Src: /src/vlc/modules/lua/vlc.c:579,1
    - Dst: strcmp
      Src: /src/vlc/modules/lua/vlc.c:582,1
    - Dst: free
      Src: /src/vlc/modules/lua/vlc.c:583,1
    - Dst: strrchr
      Src: /src/vlc/modules/lua/vlc.c:590,1
    - Dst: vlclua_dir_list_free
      Src: /src/vlc/modules/lua/vlc.c:593,1
    - Dst: vlclua_add_modules_path_inner
      Src: /src/vlc/modules/lua/vlc.c:598,1
    - Dst: vlclua_add_modules_path_inner
      Src: /src/vlc/modules/lua/vlc.c:600,1
    - Dst: lua_getfield
      Src: /src/vlc/modules/lua/vlc.c:603,1
    - Dst: lua_concat
      Src: /src/vlc/modules/lua/vlc.c:604,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/vlc.c:605,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/vlc.c:606,1
    - Dst: vlclua_dir_list_free
      Src: /src/vlc/modules/lua/vlc.c:608,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 2
    argNames:
    - L
    - psz_filename
    argTypes:
    - lua_State*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 539
    functionDepth: 4
    functionLinenumber: 539
    functionLinenumberEnd: 610
    functionName: vlclua_add_modules_path
    functionSourceFile: /src/vlc/modules/lua/vlc.c
    functionUses: 0
    functionsReached:
    - lua_pop
    - lua_setfield
    - vlclua_dir_list
    - strdup
    - free
    - strcmp
    - vlclua_dir_list_free
    - lua_concat
    - lua_getglobal
    - vlclua_add_modules_path_inner
    - strrchr
    - lua_getfield
    linkageType: ''
    returnType: int
    signature: int vlclua_add_modules_path( lua_State *L, const char *psz_filename
      )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ToLocaleDup
      Src: /src/vlc/modules/lua/vlc.c:615,1
    - Dst: strstr
      Src: /src/vlc/modules/lua/vlc.c:616,1
    - Dst: luaL_dofile
      Src: /src/vlc/modules/lua/vlc.c:617,1
    - Dst: free
      Src: /src/vlc/modules/lua/vlc.c:618,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/lua/vlc.c:621,1
    - Dst: luaL_dofile
      Src: /src/vlc/modules/lua/vlc.c:622,1
    - Dst: free
      Src: /src/vlc/modules/lua/vlc.c:623,1
    - Dst: vlc_stream_NewURL
      Src: /src/vlc/modules/lua/vlc.c:626,1
    - Dst: free
      Src: /src/vlc/modules/lua/vlc.c:629,1
    - Dst: stream_Size
      Src: /src/vlc/modules/lua/vlc.c:632,1
    - Dst: malloc
      Src: /src/vlc/modules/lua/vlc.c:633,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/lua/vlc.c:637,1
    - Dst: free
      Src: /src/vlc/modules/lua/vlc.c:638,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/lua/vlc.c:641,1
    - Dst: luaL_loadbuffer
      Src: /src/vlc/modules/lua/vlc.c:644,1
    - Dst: lua_pcall
      Src: /src/vlc/modules/lua/vlc.c:646,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/lua/vlc.c:647,1
    - Dst: free
      Src: /src/vlc/modules/lua/vlc.c:648,1
    - Dst: free
      Src: /src/vlc/modules/lua/vlc.c:649,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - p_this
    - L
    - curi
    argTypes:
    - vlc_object_t*
    - lua_State*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 651
    functionName: vlclua_dofile
    functionSourceFile: /src/vlc/modules/lua/vlc.c
    functionUses: 0
    functionsReached:
    - luaL_loadbuffer
    - strncasecmp
    - stream_Size
    - vlc_stream_Delete
    - lua_pcall
    - free
    - vlc_stream_Read
    - strstr
    - luaL_dofile
    - ToLocaleDup
    - malloc
    - vlc_stream_NewURL
    linkageType: ''
    returnType: int
    signature: int vlclua_dofile( vlc_object_t *p_this, lua_State *L, const char *curi
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - L
    - ','
    - idx1
    - ','
    - idx2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: lua_equal
    functionSourceFile: /src/vlc/modules/lua/vlc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lua_equal(L,idx1,idx2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - L
    - ','
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: lua_objlen
    functionSourceFile: /src/vlc/modules/lua/vlc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lua_objlen(L,idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - L
    - ','
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: lua_strlen
    functionSourceFile: /src/vlc/modules/lua/vlc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lua_strlen(L,idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - L
    - ','
    - n
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: luaL_register
    functionSourceFile: /src/vlc/modules/lua/vlc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: luaL_register(L, n, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - L
    - ','
    - n
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 64
    functionName: luaL_register_namespace
    functionSourceFile: /src/vlc/modules/lua/vlc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: luaL_register_namespace(L, n, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - L
    - ','
    - n
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: luaL_register_namespace
    functionSourceFile: /src/vlc/modules/lua/vlc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: luaL_register_namespace(L, n, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vlc/modules/lua/vlc.h:101,1
    - Dst: msg_GenericVa
      Src: /src/vlc/modules/lua/vlc.h:102,1
    - Dst: va_end
      Src: /src/vlc/modules/lua/vlc.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_this
    - ppz_fmt
    argTypes:
    - vlc_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: lua_Dbg
    functionSourceFile: /src/vlc/modules/lua/vlc.h
    functionUses: 0
    functionsReached:
    - msg_GenericVa
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void lua_Dbg( vlc_object_t * p_this, const char * ppz_fmt, ... )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritBool
      Src: /src/vlc/modules/lua/vlc.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: lua_Disabled
    functionSourceFile: /src/vlc/modules/lua/vlc.h
    functionUses: 1
    functionsReached:
    - var_InheritBool
    linkageType: ''
    returnType: bool
    signature: bool lua_Disabled( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: lua_Disabled
    functionSourceFile: /src/vlc/modules/lua/vlc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lua_Disabled( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checktype
      Src: /src/vlc/modules/lua/vlc.h:117,1
    - Dst: lua_toboolean
      Src: /src/vlc/modules/lua/vlc.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - L
    - narg
    argTypes:
    - lua_State*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: luaL_checkboolean
    functionSourceFile: /src/vlc/modules/lua/vlc.h
    functionUses: 0
    functionsReached:
    - luaL_checktype
    - lua_toboolean
    linkageType: ''
    returnType: bool
    signature: bool luaL_checkboolean( lua_State *L, int narg )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_opt
      Src: /src/vlc/modules/lua/vlc.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - L
    - narg
    - def
    argTypes:
    - lua_State*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: luaL_optboolean
    functionSourceFile: /src/vlc/modules/lua/vlc.h
    functionUses: 0
    functionsReached:
    - luaL_opt
    linkageType: ''
    returnType: int
    signature: int luaL_optboolean( lua_State *L, int narg, int def )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lua_isnil
      Src: /src/vlc/modules/lua/vlc.h:128,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/vlc.h:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - L
    - narg
    argTypes:
    - lua_State*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: luaL_nilorcheckstring
    functionSourceFile: /src/vlc/modules/lua/vlc.h
    functionUses: 0
    functionsReached:
    - luaL_checkstring
    - lua_isnil
    linkageType: ''
    returnType: char
    signature: char *luaL_nilorcheckstring( lua_State *L, int narg )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lua_isstring
      Src: /src/vlc/modules/lua/vlc.h:135,1
    - Dst: strdup
      Src: /src/vlc/modules/lua/vlc.h:136,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/vlc.h:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - L
    - narg
    argTypes:
    - lua_State*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: luaL_strdupornull
    functionSourceFile: /src/vlc/modules/lua/vlc.h
    functionUses: 0
    functionsReached:
    - luaL_checkstring
    - lua_isstring
    - strdup
    linkageType: ''
    returnType: char
    signature: char *luaL_strdupornull( lua_State *L, int narg )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: vlclua_set_this
    functionSourceFile: /src/vlc/modules/lua/vlc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vlclua_set_this(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - L
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: vlclua_error
    functionSourceFile: /src/vlc/modules/lua/vlc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vlclua_error( L )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: vlclua_read_options
    functionSourceFile: /src/vlc/modules/lua/vlc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vlclua_read_options( a, b, c, d )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    functionName: vlclua_read_meta_data
    functionSourceFile: /src/vlc/modules/lua/vlc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vlclua_read_meta_data( a, b, c )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: vlclua_read_custom_meta_data
    functionSourceFile: /src/vlc/modules/lua/vlc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vlclua_read_custom_meta_data( a, b, c )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vlc/modules/lua/extension.h:111,1
    - Dst: PushCommand__
      Src: /src/vlc/modules/lua/extension.h:112,1
    - Dst: va_end
      Src: /src/vlc/modules/lua/extension.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ext
    - cmd
    argTypes:
    - extension_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: PushCommand
    functionSourceFile: /src/vlc/modules/lua/extension.h
    functionUses: 0
    functionsReached:
    - va_end
    - PushCommand__
    - va_start
    linkageType: ''
    returnType: int
    signature: int PushCommand( extension_t *ext, int cmd, ... )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vlc/modules/lua/extension.h:119,1
    - Dst: PushCommand__
      Src: /src/vlc/modules/lua/extension.h:120,1
    - Dst: va_end
      Src: /src/vlc/modules/lua/extension.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ext
    - cmd
    argTypes:
    - extension_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: PushCommandUnique
    functionSourceFile: /src/vlc/modules/lua/extension.h
    functionUses: 0
    functionsReached:
    - va_end
    - PushCommand__
    - va_start
    linkageType: ''
    returnType: int
    signature: int PushCommandUnique( extension_t *ext, int cmd, ... )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/stream_filter.c:53,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/stream_filter.c:54,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/lua/stream_filter.c:57,1
    - Dst: lua_pushlstring
      Src: /src/vlc/modules/lua/stream_filter.c:59,1
    - Dst: lua_pushnil
      Src: /src/vlc/modules/lua/stream_filter.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionName: vlclua_demux_peek
    functionSourceFile: /src/vlc/modules/lua/stream_filter.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    - lua_pushnil
    - luaL_checkinteger
    - vlclua_get_this
    - lua_pushlstring
    linkageType: ''
    returnType: int
    signature: int vlclua_demux_peek( lua_State *L )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/stream_filter.c:67,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/stream_filter.c:68,1
    - Dst: malloc
      Src: /src/vlc/modules/lua/stream_filter.c:69,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/lua/stream_filter.c:73,1
    - Dst: lua_pushlstring
      Src: /src/vlc/modules/lua/stream_filter.c:75,1
    - Dst: lua_pushnil
      Src: /src/vlc/modules/lua/stream_filter.c:77,1
    - Dst: free
      Src: /src/vlc/modules/lua/stream_filter.c:78,1
    - Dst: lua_pushnil
      Src: /src/vlc/modules/lua/stream_filter.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 84
    functionName: vlclua_demux_read
    functionSourceFile: /src/vlc/modules/lua/stream_filter.c
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - luaL_checkinteger
    - vlclua_get_this
    - free
    - vlc_stream_Read
    - malloc
    - lua_pushlstring
    linkageType: ''
    returnType: int
    signature: int vlclua_demux_read( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/stream_filter.c:88,1
    - Dst: vlc_stream_ReadLine
      Src: /src/vlc/modules/lua/stream_filter.c:89,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/stream_filter.c:93,1
    - Dst: free
      Src: /src/vlc/modules/lua/stream_filter.c:94,1
    - Dst: lua_pushnil
      Src: /src/vlc/modules/lua/stream_filter.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 100
    functionName: vlclua_demux_readline
    functionSourceFile: /src/vlc/modules/lua/stream_filter.c
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - lua_pushnil
    - vlclua_get_this
    - free
    - vlc_stream_ReadLine
    linkageType: ''
    returnType: int
    signature: int vlclua_demux_readline( lua_State *L )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: luaL_newstate
      Src: /src/vlc/modules/lua/stream_filter.c:113,1
    - Dst: luaL_openlibs
      Src: /src/vlc/modules/lua/stream_filter.c:120,1
    - Dst: vlclua_set_this
      Src: /src/vlc/modules/lua/stream_filter.c:122,1
    - Dst: luaL_register_namespace
      Src: /src/vlc/modules/lua/stream_filter.c:130,1
    - Dst: luaopen_msg
      Src: /src/vlc/modules/lua/stream_filter.c:131,1
    - Dst: luaopen_strings
      Src: /src/vlc/modules/lua/stream_filter.c:132,1
    - Dst: luaopen_stream
      Src: /src/vlc/modules/lua/stream_filter.c:133,1
    - Dst: luaopen_variables
      Src: /src/vlc/modules/lua/stream_filter.c:134,1
    - Dst: luaopen_xml
      Src: /src/vlc/modules/lua/stream_filter.c:135,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/stream_filter.c:138,1
    - Dst: lua_pushnil
      Src: /src/vlc/modules/lua/stream_filter.c:140,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/stream_filter.c:141,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/stream_filter.c:144,1
    - Dst: lua_pushnil
      Src: /src/vlc/modules/lua/stream_filter.c:146,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/stream_filter.c:147,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/stream_filter.c:149,1
    - Dst: vlclua_add_modules_path
      Src: /src/vlc/modules/lua/stream_filter.c:152,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/stream_filter.c:154,1
    - Dst: vlclua_dofile
      Src: /src/vlc/modules/lua/stream_filter.c:159,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/lua/stream_filter.c:159,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/stream_filter.c:161,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/stream_filter.c:162,1
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/stream_filter.c:162,1
    - Dst: lua_getglobal
      Src: /src/vlc/modules/lua/stream_filter.c:166,1
    - Dst: lua_isfunction
      Src: /src/vlc/modules/lua/stream_filter.c:167,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/stream_filter.c:169,1
    - Dst: lua_pcall
      Src: /src/vlc/modules/lua/stream_filter.c:174,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/stream_filter.c:176,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/stream_filter.c:177,1
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/stream_filter.c:177,1
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/stream_filter.c:181,1
    - Dst: lua_toboolean
      Src: /src/vlc/modules/lua/stream_filter.c:183,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/stream_filter.c:185,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/stream_filter.c:187,1
    - Dst: strdup
      Src: /src/vlc/modules/lua/stream_filter.c:188,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/stream_filter.c:195,1
    - Dst: lua_close
      Src: /src/vlc/modules/lua/stream_filter.c:196,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 56
    argCount: 3
    argNames:
    - obj
    - filename
    - ctx
    argTypes:
    - vlc_object_t*
    - char*
    - luabatch_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 106
    functionDepth: 5
    functionLinenumber: 106
    functionLinenumberEnd: 198
    functionName: probe_luascript
    functionSourceFile: /src/vlc/modules/lua/stream_filter.c
    functionUses: 0
    functionsReached:
    - lua_setfield
    - luaL_register_namespace
    - luaL_newstate
    - lua_pushstring
    - luaopen_stream
    - luaopen_strings
    - lua_pop
    - vlclua_add_modules_path
    - luaL_openlibs
    - vlclua_dofile
    - lua_gettop
    - msg_Dbg
    - msg_Warn
    - lua_getglobal
    - vlclua_set_this
    - strdup
    - lua_isfunction
    - lua_close
    - lua_pushnil
    - luaopen_variables
    - luaopen_xml
    - luaopen_msg
    - lua_toboolean
    - lua_tostring
    - lua_pcall
    - VLC_OBJECT
    linkageType: ''
    returnType: int
    signature: "int probe_luascript(vlc_object_t *obj, const char *filename,\n                           const
      luabatch_context_t *ctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: luaL_register_namespace
      Src: /src/vlc/modules/lua/stream_filter.c:212,1
    - Dst: lua_getglobal
      Src: /src/vlc/modules/lua/stream_filter.c:214,1
    - Dst: lua_isfunction
      Src: /src/vlc/modules/lua/stream_filter.c:216,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/stream_filter.c:218,1
    - Dst: lua_pcall
      Src: /src/vlc/modules/lua/stream_filter.c:223,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/stream_filter.c:225,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/stream_filter.c:226,1
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/stream_filter.c:226,1
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/stream_filter.c:230,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/stream_filter.c:232,1
    - Dst: lua_istable
      Src: /src/vlc/modules/lua/stream_filter.c:236,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/stream_filter.c:238,1
    - Dst: lua_pushnil
      Src: /src/vlc/modules/lua/stream_filter.c:242,1
    - Dst: lua_next
      Src: /src/vlc/modules/lua/stream_filter.c:245,1
    - Dst: vlclua_read_input_item
      Src: /src/vlc/modules/lua/stream_filter.c:247,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/lua/stream_filter.c:247,1
    - Dst: input_item_GetURL
      Src: /src/vlc/modules/lua/stream_filter.c:252,1
    - Dst: input_item_SetURL
      Src: /src/vlc/modules/lua/stream_filter.c:254,1
    - Dst: free
      Src: /src/vlc/modules/lua/stream_filter.c:255,1
    - Dst: input_item_node_AppendItem
      Src: /src/vlc/modules/lua/stream_filter.c:257,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/lua/stream_filter.c:258,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/stream_filter.c:261,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - s
    - node
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 266
    functionName: ReadDir
    functionSourceFile: /src/vlc/modules/lua/stream_filter.c
    functionUses: 1
    functionsReached:
    - luaL_register_namespace
    - lua_pop
    - lua_gettop
    - lua_next
    - msg_Err
    - lua_getglobal
    - msg_Warn
    - lua_isfunction
    - lua_pushnil
    - input_item_Release
    - lua_istable
    - input_item_node_AppendItem
    - input_item_GetURL
    - input_item_SetURL
    - lua_tostring
    - lua_pcall
    - free
    - VLC_OBJECT
    - vlclua_read_input_item
    linkageType: ''
    returnType: int
    signature: int ReadDir(stream_t *s, input_item_node_t *node)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lua_Disabled
      Src: /src/vlc/modules/lua/stream_filter.c:275,1
    - Dst: malloc
      Src: /src/vlc/modules/lua/stream_filter.c:278,1
    - Dst: unlikely
      Src: /src/vlc/modules/lua/stream_filter.c:279,1
    - Dst: strstr
      Src: /src/vlc/modules/lua/stream_filter.c:289,1
    - Dst: strndup
      Src: /src/vlc/modules/lua/stream_filter.c:292,1
    - Dst: vlclua_scripts_batch_execute
      Src: /src/vlc/modules/lua/stream_filter.c:297,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/lua/stream_filter.c:297,1
    - Dst: free
      Src: /src/vlc/modules/lua/stream_filter.c:301,1
    - Dst: free
      Src: /src/vlc/modules/lua/stream_filter.c:302,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 271
    functionDepth: 5
    functionLinenumber: 271
    functionLinenumberEnd: 309
    functionName: Import_LuaPlaylist
    functionSourceFile: /src/vlc/modules/lua/stream_filter.c
    functionUses: 0
    functionsReached:
    - strndup
    - vlclua_scripts_batch_execute
    - lua_Disabled
    - free
    - strstr
    - VLC_OBJECT
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Import_LuaPlaylist(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/lua/stream_filter.c:316,1
    - Dst: assert
      Src: /src/vlc/modules/lua/stream_filter.c:317,1
    - Dst: lua_close
      Src: /src/vlc/modules/lua/stream_filter.c:318,1
    - Dst: free
      Src: /src/vlc/modules/lua/stream_filter.c:319,1
    - Dst: free
      Src: /src/vlc/modules/lua/stream_filter.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: (sys->L != NULL)
      pos:
        line_end: 316
        line_start: 316
        source_file: /src/vlc/modules/lua/stream_filter.c
    constantsTouched: []
    func_position:
      end: 321
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 321
    functionName: Close_LuaPlaylist
    functionSourceFile: /src/vlc/modules/lua/stream_filter.c
    functionUses: 0
    functionsReached:
    - free
    - assert
    - lua_close
    linkageType: ''
    returnType: void
    signature: void Close_LuaPlaylist(vlc_object_t *obj)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/lua/intf.c:62,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/lua/intf.c:64,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/lua/intf.c:65,1
    - Dst: config_StringEscape
      Src: /src/vlc/modules/lua/intf.c:68,1
    - Dst: asprintf
      Src: /src/vlc/modules/lua/intf.c:70,1
    - Dst: free
      Src: /src/vlc/modules/lua/intf.c:73,1
    - Dst: free
      Src: /src/vlc/modules/lua/intf.c:74,1
    - Dst: asprintf
      Src: /src/vlc/modules/lua/intf.c:78,1
    - Dst: strcmp
      Src: /src/vlc/modules/lua/intf.c:83,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/lua/intf.c:85,1
    - Dst: strcmp
      Src: /src/vlc/modules/lua/intf.c:86,1
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/lua/intf.c:91,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/lua/intf.c:92,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/intf.c:98,1
    - Dst: config_StringEscape
      Src: /src/vlc/modules/lua/intf.c:102,1
    - Dst: free
      Src: /src/vlc/modules/lua/intf.c:103,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/lua/intf.c:104,1
    - Dst: asprintf
      Src: /src/vlc/modules/lua/intf.c:106,1
    - Dst: free
      Src: /src/vlc/modules/lua/intf.c:109,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/lua/intf.c:112,1
    - Dst: config_StringEscape
      Src: /src/vlc/modules/lua/intf.c:114,1
    - Dst: asprintf
      Src: /src/vlc/modules/lua/intf.c:116,1
    - Dst: free
      Src: /src/vlc/modules/lua/intf.c:120,1
    - Dst: free
      Src: /src/vlc/modules/lua/intf.c:121,1
    - Dst: free
      Src: /src/vlc/modules/lua/intf.c:122,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - p_intf
    - name
    argTypes:
    - intf_thread_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 126
    functionName: MakeConfig
    functionSourceFile: /src/vlc/modules/lua/intf.c
    functionUses: 0
    functionsReached:
    - asprintf
    - vlc_UrlParse
    - var_InheritString
    - var_InheritInteger
    - config_StringEscape
    - var_InheritBool
    - free
    - strcmp
    - msg_Warn
    - vlc_UrlClean
    linkageType: ''
    returnType: char
    signature: char *MakeConfig( intf_thread_t *p_intf, const char *name )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/vlc/modules/lua/intf.c:132,1
    - Dst: strdup
      Src: /src/vlc/modules/lua/intf.c:138,1
    - Dst: malloc
      Src: /src/vlc/modules/lua/intf.c:140,1
    - Dst: strlen
      Src: /src/vlc/modules/lua/intf.c:140,1
    - Dst: strlen
      Src: /src/vlc/modules/lua/intf.c:140,1
    - Dst: strstr
      Src: /src/vlc/modules/lua/intf.c:147,1
    - Dst: strcat
      Src: /src/vlc/modules/lua/intf.c:151,1
    - Dst: strlen
      Src: /src/vlc/modules/lua/intf.c:154,1
    - Dst: strncat
      Src: /src/vlc/modules/lua/intf.c:163,1
    - Dst: strcat
      Src: /src/vlc/modules/lua/intf.c:164,1
    - Dst: strpbrk
      Src: /src/vlc/modules/lua/intf.c:170,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - psz_config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 178
    functionName: StripPasswords
    functionSourceFile: /src/vlc/modules/lua/intf.c
    functionUses: 0
    functionsReached:
    - strdup
    - strncat
    - strlen
    - strpbrk
    - strstr
    - strcat
    - malloc
    linkageType: ''
    returnType: char
    signature: char *StripPasswords( const char *psz_config )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/lua/intf.c:182,1
    - Dst: vlclua_dofile
      Src: /src/vlc/modules/lua/intf.c:188,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/lua/intf.c:188,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/intf.c:190,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/intf.c:191,1
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/intf.c:191,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/intf.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 195
    functionName: Run
    functionSourceFile: /src/vlc/modules/lua/intf.c
    functionUses: 1
    functionsReached:
    - vlclua_dofile
    - vlc_thread_set_name
    - lua_gettop
    - lua_tostring
    - msg_Err
    - VLC_OBJECT
    - lua_pop
    linkageType: ''
    returnType: void
    signature: void *Run(void *data)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: lua_Disabled
      Src: /src/vlc/modules/lua/intf.c:199,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/lua/intf.c:207,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/lua/intf.c:211,1
    - Dst: unlikely
      Src: /src/vlc/modules/lua/intf.c:212,1
    - Dst: malloc
      Src: /src/vlc/modules/lua/intf.c:217,1
    - Dst: unlikely
      Src: /src/vlc/modules/lua/intf.c:218,1
    - Dst: free
      Src: /src/vlc/modules/lua/intf.c:220,1
    - Dst: vlc_LogHeaderCreate
      Src: /src/vlc/modules/lua/intf.c:225,1
    - Dst: free
      Src: /src/vlc/modules/lua/intf.c:229,1
    - Dst: free
      Src: /src/vlc/modules/lua/intf.c:230,1
    - Dst: vlclua_find_file
      Src: /src/vlc/modules/lua/intf.c:234,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/intf.c:237,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/intf.c:241,1
    - Dst: luaL_newstate
      Src: /src/vlc/modules/lua/intf.c:243,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/intf.c:246,1
    - Dst: vlclua_set_this
      Src: /src/vlc/modules/lua/intf.c:250,1
    - Dst: vlc_intf_GetMainPlaylist
      Src: /src/vlc/modules/lua/intf.c:251,1
    - Dst: vlclua_set_playlist_internal
      Src: /src/vlc/modules/lua/intf.c:252,1
    - Dst: luaL_openlibs
      Src: /src/vlc/modules/lua/intf.c:254,1
    - Dst: luaL_register_namespace
      Src: /src/vlc/modules/lua/intf.c:258,1
    - Dst: luaopen_config
      Src: /src/vlc/modules/lua/intf.c:261,1
    - Dst: luaopen_httpd
      Src: /src/vlc/modules/lua/intf.c:262,1
    - Dst: luaopen_input
      Src: /src/vlc/modules/lua/intf.c:263,1
    - Dst: luaopen_msg
      Src: /src/vlc/modules/lua/intf.c:264,1
    - Dst: luaopen_misc
      Src: /src/vlc/modules/lua/intf.c:265,1
    - Dst: vlclua_fd_init
      Src: /src/vlc/modules/lua/intf.c:266,1
    - Dst: lua_close
      Src: /src/vlc/modules/lua/intf.c:268,1
    - Dst: luaopen_object
      Src: /src/vlc/modules/lua/intf.c:271,1
    - Dst: luaopen_osd
      Src: /src/vlc/modules/lua/intf.c:272,1
    - Dst: luaopen_playlist
      Src: /src/vlc/modules/lua/intf.c:273,1
    - Dst: luaopen_stream
      Src: /src/vlc/modules/lua/intf.c:274,1
    - Dst: luaopen_strings
      Src: /src/vlc/modules/lua/intf.c:275,1
    - Dst: luaopen_variables
      Src: /src/vlc/modules/lua/intf.c:276,1
    - Dst: luaopen_video
      Src: /src/vlc/modules/lua/intf.c:277,1
    - Dst: luaopen_vlm
      Src: /src/vlc/modules/lua/intf.c:278,1
    - Dst: luaopen_volume
      Src: /src/vlc/modules/lua/intf.c:279,1
    - Dst: luaopen_gettext
      Src: /src/vlc/modules/lua/intf.c:280,1
    - Dst: luaopen_xml
      Src: /src/vlc/modules/lua/intf.c:281,1
    - Dst: luaopen_equalizer
      Src: /src/vlc/modules/lua/intf.c:282,1
    - Dst: luaopen_vlcio
      Src: /src/vlc/modules/lua/intf.c:283,1
    - Dst: luaopen_errno
      Src: /src/vlc/modules/lua/intf.c:284,1
    - Dst: luaopen_rand
      Src: /src/vlc/modules/lua/intf.c:285,1
    - Dst: luaopen_rd
      Src: /src/vlc/modules/lua/intf.c:286,1
    - Dst: luaopen_ml
      Src: /src/vlc/modules/lua/intf.c:287,1
    - Dst: WINAPI_FAMILY_PARTITION
      Src: /src/vlc/modules/lua/intf.c:289,1
    - Dst: luaopen_win
      Src: /src/vlc/modules/lua/intf.c:290,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/intf.c:295,1
    - Dst: vlclua_add_modules_path
      Src: /src/vlc/modules/lua/intf.c:298,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/intf.c:300,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/lua/intf.c:311,1
    - Dst: MakeConfig
      Src: /src/vlc/modules/lua/intf.c:313,1
    - Dst: asprintf
      Src: /src/vlc/modules/lua/intf.c:318,1
    - Dst: StripPasswords
      Src: /src/vlc/modules/lua/intf.c:320,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/intf.c:323,1
    - Dst: free
      Src: /src/vlc/modules/lua/intf.c:324,1
    - Dst: luaL_dostring
      Src: /src/vlc/modules/lua/intf.c:327,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/intf.c:328,1
    - Dst: free
      Src: /src/vlc/modules/lua/intf.c:329,1
    - Dst: lua_getglobal
      Src: /src/vlc/modules/lua/intf.c:330,1
    - Dst: lua_istable
      Src: /src/vlc/modules/lua/intf.c:331,1
    - Dst: strcmp
      Src: /src/vlc/modules/lua/intf.c:333,1
    - Dst: lua_getfield
      Src: /src/vlc/modules/lua/intf.c:335,1
    - Dst: lua_istable
      Src: /src/vlc/modules/lua/intf.c:336,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/intf.c:341,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/intf.c:344,1
    - Dst: lua_getfield
      Src: /src/vlc/modules/lua/intf.c:346,1
    - Dst: lua_istable
      Src: /src/vlc/modules/lua/intf.c:347,1
    - Dst: lua_setglobal
      Src: /src/vlc/modules/lua/intf.c:349,1
    - Dst: free
      Src: /src/vlc/modules/lua/intf.c:354,1
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/intf.c:359,1
    - Dst: lua_setglobal
      Src: /src/vlc/modules/lua/intf.c:360,1
    - Dst: strcmp
      Src: /src/vlc/modules/lua/intf.c:364,1
    - Dst: vlclua_find_file
      Src: /src/vlc/modules/lua/intf.c:369,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/intf.c:372,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/intf.c:376,1
    - Dst: lua_setglobal
      Src: /src/vlc/modules/lua/intf.c:377,1
    - Dst: free
      Src: /src/vlc/modules/lua/intf.c:378,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/lua/intf.c:383,1
    - Dst: free
      Src: /src/vlc/modules/lua/intf.c:385,1
    - Dst: vlclua_fd_cleanup
      Src: /src/vlc/modules/lua/intf.c:388,1
    - Dst: lua_close
      Src: /src/vlc/modules/lua/intf.c:389,1
    - Dst: free
      Src: /src/vlc/modules/lua/intf.c:391,1
    - Dst: free
      Src: /src/vlc/modules/lua/intf.c:392,1
    - Dst: vlc_LogDestroy
      Src: /src/vlc/modules/lua/intf.c:393,1
    - Dst: free
      Src: /src/vlc/modules/lua/intf.c:395,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 134
    argCount: 2
    argNames:
    - p_this
    - name
    argTypes:
    - vlc_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 197
    functionDepth: 5
    functionLinenumber: 197
    functionLinenumberEnd: 397
    functionName: Start_LuaIntf
    functionSourceFile: /src/vlc/modules/lua/intf.c
    functionUses: 0
    functionsReached:
    - luaopen_vlm
    - lua_setfield
    - luaL_register_namespace
    - luaopen_win
    - luaL_newstate
    - lua_pushstring
    - luaopen_video
    - StripPasswords
    - luaopen_equalizer
    - luaopen_object
    - luaopen_stream
    - luaopen_strings
    - MakeConfig
    - lua_pop
    - vlclua_add_modules_path
    - luaL_openlibs
    - lua_Disabled
    - vlc_LogDestroy
    - asprintf
    - luaL_dostring
    - vlclua_find_file
    - luaopen_rand
    - msg_Err
    - luaopen_playlist
    - WINAPI_FAMILY_PARTITION
    - lua_newtable
    - msg_Dbg
    - msg_Warn
    - luaopen_volume
    - lua_getglobal
    - luaopen_ml
    - vlclua_set_this
    - vlc_intf_GetMainPlaylist
    - lua_setglobal
    - lua_close
    - luaopen_variables
    - lua_istable
    - strcmp
    - luaopen_xml
    - luaopen_msg
    - vlclua_set_playlist_internal
    - luaopen_errno
    - luaopen_osd
    - luaopen_gettext
    - vlc_LogHeaderCreate
    - lua_getfield
    - var_InheritString
    - luaopen_config
    - luaopen_misc
    - vlclua_fd_init
    - vlc_clone
    - vlclua_fd_cleanup
    - config_ChainParse
    - free
    - luaopen_httpd
    - luaopen_vlcio
    - luaopen_input
    - luaopen_rd
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Start_LuaIntf( vlc_object_t *p_this, const char *name )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_fd_interrupt
      Src: /src/vlc/modules/lua/intf.c:404,1
    - Dst: vlc_join
      Src: /src/vlc/modules/lua/intf.c:405,1
    - Dst: lua_close
      Src: /src/vlc/modules/lua/intf.c:407,1
    - Dst: vlclua_fd_cleanup
      Src: /src/vlc/modules/lua/intf.c:408,1
    - Dst: free
      Src: /src/vlc/modules/lua/intf.c:409,1
    - Dst: free
      Src: /src/vlc/modules/lua/intf.c:410,1
    - Dst: vlc_LogDestroy
      Src: /src/vlc/modules/lua/intf.c:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 412
    functionName: Close_LuaIntf
    functionSourceFile: /src/vlc/modules/lua/intf.c
    functionUses: 0
    functionsReached:
    - vlclua_fd_interrupt
    - vlclua_fd_cleanup
    - lua_close
    - free
    - vlc_join
    - vlc_LogDestroy
    linkageType: ''
    returnType: void
    signature: void Close_LuaIntf( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Start_LuaIntf
      Src: /src/vlc/modules/lua/intf.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 414
    functionDepth: 6
    functionLinenumber: 414
    functionLinenumberEnd: 417
    functionName: Open_LuaIntf
    functionSourceFile: /src/vlc/modules/lua/intf.c
    functionUses: 0
    functionsReached:
    - Start_LuaIntf
    linkageType: ''
    returnType: int
    signature: int Open_LuaIntf( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Start_LuaIntf
      Src: /src/vlc/modules/lua/intf.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 419
    functionDepth: 6
    functionLinenumber: 419
    functionLinenumberEnd: 422
    functionName: Open_LuaHTTP
    functionSourceFile: /src/vlc/modules/lua/intf.c
    functionUses: 0
    functionsReached:
    - Start_LuaIntf
    linkageType: ''
    returnType: int
    signature: int Open_LuaHTTP( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: var_CreateGetNonEmptyString
      Src: /src/vlc/modules/lua/intf.c:426,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/intf.c:429,1
    - Dst: msg_Info
      Src: /src/vlc/modules/lua/intf.c:430,1
    - Dst: free
      Src: /src/vlc/modules/lua/intf.c:433,1
    - Dst: Start_LuaIntf
      Src: /src/vlc/modules/lua/intf.c:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 424
    functionDepth: 6
    functionLinenumber: 424
    functionLinenumberEnd: 435
    functionName: Open_LuaTelnet
    functionSourceFile: /src/vlc/modules/lua/intf.c
    functionUses: 0
    functionsReached:
    - var_CreateGetNonEmptyString
    - Start_LuaIntf
    - msg_Err
    - free
    - msg_Info
    linkageType: ''
    returnType: int
    signature: int Open_LuaTelnet( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: luaL_newstate
      Src: /src/vlc/modules/lua/meta.c:43,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/meta.c:46,1
    - Dst: vlclua_set_this
      Src: /src/vlc/modules/lua/meta.c:50,1
    - Dst: luaL_openlibs
      Src: /src/vlc/modules/lua/meta.c:53,1
    - Dst: luaL_register_namespace
      Src: /src/vlc/modules/lua/meta.c:56,1
    - Dst: luaopen_msg
      Src: /src/vlc/modules/lua/meta.c:58,1
    - Dst: luaopen_stream
      Src: /src/vlc/modules/lua/meta.c:59,1
    - Dst: luaopen_strings
      Src: /src/vlc/modules/lua/meta.c:60,1
    - Dst: luaopen_variables
      Src: /src/vlc/modules/lua/meta.c:61,1
    - Dst: luaopen_object
      Src: /src/vlc/modules/lua/meta.c:62,1
    - Dst: luaopen_xml
      Src: /src/vlc/modules/lua/meta.c:63,1
    - Dst: luaopen_input_item
      Src: /src/vlc/modules/lua/meta.c:64,1
    - Dst: vlclua_add_modules_path
      Src: /src/vlc/modules/lua/meta.c:66,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/meta.c:68,1
    - Dst: lua_close
      Src: /src/vlc/modules/lua/meta.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - p_this
    - p_item
    - psz_filename
    argTypes:
    - vlc_object_t*
    - input_item_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 41
    functionDepth: 5
    functionLinenumber: 41
    functionLinenumberEnd: 75
    functionName: init
    functionSourceFile: /src/vlc/modules/lua/meta.c
    functionUses: 142
    functionsReached:
    - vlclua_set_this
    - luaopen_input_item
    - luaL_register_namespace
    - luaL_newstate
    - lua_close
    - luaopen_variables
    - msg_Err
    - luaopen_stream
    - luaopen_strings
    - luaopen_object
    - luaopen_xml
    - luaopen_msg
    - msg_Warn
    - vlclua_add_modules_path
    - luaL_openlibs
    linkageType: ''
    returnType: lua_State
    signature: lua_State * init( vlc_object_t *p_this, input_item_t * p_item, const
      char *psz_filename )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushnil
      Src: /src/vlc/modules/lua/meta.c:86,1
    - Dst: lua_setglobal
      Src: /src/vlc/modules/lua/meta.c:87,1
    - Dst: vlclua_dofile
      Src: /src/vlc/modules/lua/meta.c:90,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/meta.c:92,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/meta.c:93,1
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/meta.c:93,1
    - Dst: lua_getglobal
      Src: /src/vlc/modules/lua/meta.c:99,1
    - Dst: lua_isfunction
      Src: /src/vlc/modules/lua/meta.c:100,1
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/meta.c:100,1
    - Dst: lua_pcall
      Src: /src/vlc/modules/lua/meta.c:100,1
    - Dst: lua_getfield
      Src: /src/vlc/modules/lua/meta.c:102,1
    - Dst: luaL_strdupornull
      Src: /src/vlc/modules/lua/meta.c:103,1
    - Dst: strcmp
      Src: /src/vlc/modules/lua/meta.c:104,1
    - Dst: free
      Src: /src/vlc/modules/lua/meta.c:106,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/meta.c:107,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/meta.c:109,1
    - Dst: luabatch_context_t*::pf_validator
      Src: /src/vlc/modules/lua/meta.c:111,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/meta.c:113,1
    - Dst: lua_getglobal
      Src: /src/vlc/modules/lua/meta.c:117,1
    - Dst: lua_isfunction
      Src: /src/vlc/modules/lua/meta.c:119,1
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/meta.c:119,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/meta.c:121,1
    - Dst: lua_pcall
      Src: /src/vlc/modules/lua/meta.c:126,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/meta.c:128,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/meta.c:130,1
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/meta.c:130,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/meta.c:136,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 5
    argNames:
    - p_this
    - psz_filename
    - L
    - luafunction
    - p_context
    argTypes:
    - vlc_object_t*
    - char*
    - lua_State*
    - char*
    - luabatch_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 138
    functionName: run
    functionSourceFile: /src/vlc/modules/lua/meta.c
    functionUses: 3
    functionsReached:
    - lua_pop
    - lua_getglobal
    - vlclua_dofile
    - lua_setglobal
    - lua_gettop
    - lua_pushnil
    - lua_tostring
    - lua_isfunction
    - lua_pcall
    - free
    - strcmp
    - luaL_strdupornull
    - msg_Dbg
    - msg_Warn
    - luabatch_context_t*::pf_validator
    - lua_getfield
    linkageType: ''
    returnType: int
    signature: "int run( vlc_object_t *p_this, const char * psz_filename,\n                lua_State
      * L, const char *luafunction,\n                const luabatch_context_t *p_context
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - p_context
    - e_scope
    argTypes:
    - luabatch_context_t*
    - meta_fetcher_scope_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: validate_scope
    functionSourceFile: /src/vlc/modules/lua/meta.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool validate_scope( const luabatch_context_t *p_context, meta_fetcher_scope_t
      e_scope )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/vlc/modules/lua/meta.c:153,1
    - Dst: run
      Src: /src/vlc/modules/lua/meta.c:157,1
    - Dst: lua_close
      Src: /src/vlc/modules/lua/meta.c:160,1
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/meta.c:164,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/meta.c:166,1
    - Dst: lua_isstring
      Src: /src/vlc/modules/lua/meta.c:170,1
    - Dst: lua_isnoneornil
      Src: /src/vlc/modules/lua/meta.c:172,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/meta.c:173,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/meta.c:178,1
    - Dst: lua_Dbg
      Src: /src/vlc/modules/lua/meta.c:181,1
    - Dst: input_item_SetArtURL
      Src: /src/vlc/modules/lua/meta.c:182,1
    - Dst: lua_close
      Src: /src/vlc/modules/lua/meta.c:185,1
    - Dst: lua_close
      Src: /src/vlc/modules/lua/meta.c:189,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - p_this
    - psz_filename
    - p_context
    argTypes:
    - vlc_object_t*
    - char*
    - luabatch_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 191
    functionName: fetch_art
    functionSourceFile: /src/vlc/modules/lua/meta.c
    functionUses: 0
    functionsReached:
    - init
    - lua_isstring
    - lua_gettop
    - lua_close
    - input_item_SetArtURL
    - lua_tostring
    - lua_Dbg
    - run
    - msg_Err
    - lua_isnoneornil
    linkageType: ''
    returnType: int
    signature: "int fetch_art( vlc_object_t *p_this, const char * psz_filename,\n
      \                     const luabatch_context_t *p_context )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/lua/meta.c:202,1
    - Dst: init
      Src: /src/vlc/modules/lua/meta.c:204,1
    - Dst: run
      Src: /src/vlc/modules/lua/meta.c:208,1
    - Dst: lua_close
      Src: /src/vlc/modules/lua/meta.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p_this
    - psz_filename
    - p_context
    argTypes:
    - vlc_object_t*
    - char*
    - luabatch_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 213
    functionName: read_meta
    functionSourceFile: /src/vlc/modules/lua/meta.c
    functionUses: 0
    functionsReached:
    - init
    - lua_close
    - run
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int read_meta( vlc_object_t *p_this, const char * psz_filename,\n
      \                     const luabatch_context_t *p_context )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/vlc/modules/lua/meta.c:223,1
    - Dst: run
      Src: /src/vlc/modules/lua/meta.c:227,1
    - Dst: lua_close
      Src: /src/vlc/modules/lua/meta.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - p_this
    - psz_filename
    - p_context
    argTypes:
    - vlc_object_t*
    - char*
    - luabatch_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 231
    functionName: fetch_meta
    functionSourceFile: /src/vlc/modules/lua/meta.c
    functionUses: 0
    functionsReached:
    - init
    - lua_close
    - run
    linkageType: ''
    returnType: int
    signature: "int fetch_meta( vlc_object_t *p_this, const char * psz_filename,\n
      \                      const luabatch_context_t *p_context )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lua_Disabled
      Src: /src/vlc/modules/lua/meta.c:239,1
    - Dst: vlclua_scripts_batch_execute
      Src: /src/vlc/modules/lua/meta.c:242,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/lua/meta.c:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - demux_meta_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 237
    functionDepth: 5
    functionLinenumber: 237
    functionLinenumberEnd: 244
    functionName: ReadMeta
    functionSourceFile: /src/vlc/modules/lua/meta.c
    functionUses: 0
    functionsReached:
    - lua_Disabled
    - vlclua_scripts_batch_execute
    - VLC_OBJECT
    linkageType: ''
    returnType: int
    signature: int ReadMeta( demux_meta_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lua_Disabled
      Src: /src/vlc/modules/lua/meta.c:253,1
    - Dst: vlclua_scripts_batch_execute
      Src: /src/vlc/modules/lua/meta.c:258,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/lua/meta.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_finder
    argTypes:
    - meta_fetcher_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 251
    functionDepth: 5
    functionLinenumber: 251
    functionLinenumberEnd: 260
    functionName: FetchMeta
    functionSourceFile: /src/vlc/modules/lua/meta.c
    functionUses: 0
    functionsReached:
    - lua_Disabled
    - vlclua_scripts_batch_execute
    - VLC_OBJECT
    linkageType: ''
    returnType: int
    signature: int FetchMeta( meta_fetcher_t *p_finder )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lua_Disabled
      Src: /src/vlc/modules/lua/meta.c:268,1
    - Dst: vlclua_scripts_batch_execute
      Src: /src/vlc/modules/lua/meta.c:273,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/lua/meta.c:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_finder
    argTypes:
    - meta_fetcher_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 266
    functionDepth: 5
    functionLinenumber: 266
    functionLinenumberEnd: 275
    functionName: FindArt
    functionSourceFile: /src/vlc/modules/lua/meta.c
    functionUses: 0
    functionsReached:
    - lua_Disabled
    - vlclua_scripts_batch_execute
    - VLC_OBJECT
    linkageType: ''
    returnType: int
    signature: int FindArt( meta_fetcher_t *p_finder )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lua_getglobal
      Src: /src/vlc/modules/lua/services_discovery.c:50,1
    - Dst: lua_isfunction
      Src: /src/vlc/modules/lua/services_discovery.c:51,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/services_discovery.c:53,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/services_discovery.c:54,1
    - Dst: lua_pcall
      Src: /src/vlc/modules/lua/services_discovery.c:58,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/services_discovery.c:60,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/services_discovery.c:62,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/services_discovery.c:63,1
    - Dst: lua_getfield
      Src: /src/vlc/modules/lua/services_discovery.c:67,1
    - Dst: lua_isstring
      Src: /src/vlc/modules/lua/services_discovery.c:68,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/services_discovery.c:70,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/services_discovery.c:72,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/services_discovery.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - obj
    - L
    - filename
    argTypes:
    - vlc_object_t*
    - lua_State*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 77
    functionName: vlclua_sd_description
    functionSourceFile: /src/vlc/modules/lua/services_discovery.c
    functionUses: 0
    functionsReached:
    - lua_pop
    - lua_getglobal
    - lua_isstring
    - lua_isfunction
    - lua_tostring
    - lua_pcall
    - msg_Warn
    - lua_getfield
    linkageType: ''
    returnType: char
    signature: "char *vlclua_sd_description( vlc_object_t *obj, lua_State *L,\n                                          const
      char *filename )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_find_file
      Src: /src/vlc/modules/lua/services_discovery.c:83,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/services_discovery.c:87,1
    - Dst: luaL_newstate
      Src: /src/vlc/modules/lua/services_discovery.c:92,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/services_discovery.c:95,1
    - Dst: free
      Src: /src/vlc/modules/lua/services_discovery.c:96,1
    - Dst: luaL_openlibs
      Src: /src/vlc/modules/lua/services_discovery.c:99,1
    - Dst: vlclua_add_modules_path
      Src: /src/vlc/modules/lua/services_discovery.c:100,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/services_discovery.c:102,1
    - Dst: lua_close
      Src: /src/vlc/modules/lua/services_discovery.c:104,1
    - Dst: free
      Src: /src/vlc/modules/lua/services_discovery.c:105,1
    - Dst: vlclua_dofile
      Src: /src/vlc/modules/lua/services_discovery.c:108,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/services_discovery.c:110,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/services_discovery.c:111,1
    - Dst: lua_close
      Src: /src/vlc/modules/lua/services_discovery.c:112,1
    - Dst: free
      Src: /src/vlc/modules/lua/services_discovery.c:113,1
    - Dst: vlclua_sd_description
      Src: /src/vlc/modules/lua/services_discovery.c:116,1
    - Dst: config_StringEscape
      Src: /src/vlc/modules/lua/services_discovery.c:121,1
    - Dst: asprintf
      Src: /src/vlc/modules/lua/services_discovery.c:123,1
    - Dst: vlc_sd_probe_Add
      Src: /src/vlc/modules/lua/services_discovery.c:125,1
    - Dst: free
      Src: /src/vlc/modules/lua/services_discovery.c:126,1
    - Dst: free
      Src: /src/vlc/modules/lua/services_discovery.c:128,1
    - Dst: lua_close
      Src: /src/vlc/modules/lua/services_discovery.c:130,1
    - Dst: free
      Src: /src/vlc/modules/lua/services_discovery.c:131,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 2
    argNames:
    - obj
    - name
    argTypes:
    - vlc_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 79
    functionDepth: 5
    functionLinenumber: 79
    functionLinenumberEnd: 133
    functionName: vlclua_probe_sd
    functionSourceFile: /src/vlc/modules/lua/services_discovery.c
    functionUses: 1
    functionsReached:
    - vlclua_dofile
    - asprintf
    - vlclua_find_file
    - luaL_newstate
    - lua_close
    - lua_tostring
    - vlclua_sd_description
    - config_StringEscape
    - vlc_sd_probe_Add
    - msg_Err
    - free
    - vlclua_add_modules_path
    - luaL_openlibs
    linkageType: ''
    returnType: int
    signature: int vlclua_probe_sd( vlc_object_t *obj, const char *name )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: lua_Disabled
      Src: /src/vlc/modules/lua/services_discovery.c:161,1
    - Dst: malloc
      Src: /src/vlc/modules/lua/services_discovery.c:169,1
    - Dst: strcmp
      Src: /src/vlc/modules/lua/services_discovery.c:172,1
    - Dst: strcmp
      Src: /src/vlc/modules/lua/services_discovery.c:173,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/lua/services_discovery.c:178,1
    - Dst: var_GetString
      Src: /src/vlc/modules/lua/services_discovery.c:179,1
    - Dst: strdup
      Src: /src/vlc/modules/lua/services_discovery.c:184,1
    - Dst: vlclua_find_file
      Src: /src/vlc/modules/lua/services_discovery.c:189,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/services_discovery.c:192,1
    - Dst: free
      Src: /src/vlc/modules/lua/services_discovery.c:194,1
    - Dst: free
      Src: /src/vlc/modules/lua/services_discovery.c:197,1
    - Dst: luaL_newstate
      Src: /src/vlc/modules/lua/services_discovery.c:198,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/services_discovery.c:201,1
    - Dst: vlclua_set_this
      Src: /src/vlc/modules/lua/services_discovery.c:204,1
    - Dst: luaL_openlibs
      Src: /src/vlc/modules/lua/services_discovery.c:205,1
    - Dst: luaL_register_namespace
      Src: /src/vlc/modules/lua/services_discovery.c:208,1
    - Dst: luaopen_input
      Src: /src/vlc/modules/lua/services_discovery.c:209,1
    - Dst: luaopen_msg
      Src: /src/vlc/modules/lua/services_discovery.c:210,1
    - Dst: luaopen_object
      Src: /src/vlc/modules/lua/services_discovery.c:211,1
    - Dst: luaopen_sd_sd
      Src: /src/vlc/modules/lua/services_discovery.c:212,1
    - Dst: luaopen_strings
      Src: /src/vlc/modules/lua/services_discovery.c:213,1
    - Dst: luaopen_variables
      Src: /src/vlc/modules/lua/services_discovery.c:214,1
    - Dst: luaopen_stream
      Src: /src/vlc/modules/lua/services_discovery.c:215,1
    - Dst: luaopen_gettext
      Src: /src/vlc/modules/lua/services_discovery.c:216,1
    - Dst: luaopen_xml
      Src: /src/vlc/modules/lua/services_discovery.c:217,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/services_discovery.c:218,1
    - Dst: vlclua_add_modules_path
      Src: /src/vlc/modules/lua/services_discovery.c:220,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/services_discovery.c:222,1
    - Dst: vlclua_dofile
      Src: /src/vlc/modules/lua/services_discovery.c:226,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/lua/services_discovery.c:226,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/services_discovery.c:228,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/services_discovery.c:229,1
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/services_discovery.c:229,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/services_discovery.c:230,1
    - Dst: vlclua_sd_description
      Src: /src/vlc/modules/lua/services_discovery.c:235,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/lua/services_discovery.c:235,1
    - Dst: vlc_queue_Init
      Src: /src/vlc/modules/lua/services_discovery.c:242,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/lua/services_discovery.c:244,1
    - Dst: lua_close
      Src: /src/vlc/modules/lua/services_discovery.c:252,1
    - Dst: free
      Src: /src/vlc/modules/lua/services_discovery.c:253,1
    - Dst: free
      Src: /src/vlc/modules/lua/services_discovery.c:254,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 69
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 159
    functionDepth: 5
    functionLinenumber: 159
    functionLinenumberEnd: 256
    functionName: Open_LuaSD
    functionSourceFile: /src/vlc/modules/lua/services_discovery.c
    functionUses: 0
    functionsReached:
    - luaL_register_namespace
    - var_GetString
    - luaL_newstate
    - luaopen_object
    - luaopen_strings
    - luaopen_stream
    - lua_pop
    - vlclua_add_modules_path
    - luaL_openlibs
    - lua_Disabled
    - vlclua_dofile
    - vlclua_find_file
    - lua_gettop
    - vlclua_sd_description
    - msg_Err
    - msg_Warn
    - vlclua_set_this
    - strdup
    - lua_close
    - luaopen_variables
    - strcmp
    - luaopen_xml
    - luaopen_msg
    - luaopen_sd_sd
    - luaopen_gettext
    - vlc_clone
    - lua_tostring
    - vlc_queue_Init
    - config_ChainParse
    - free
    - luaopen_input
    - VLC_OBJECT
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open_LuaSD( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_queue_Kill
      Src: /src/vlc/modules/lua/services_discovery.c:266,1
    - Dst: vlc_join
      Src: /src/vlc/modules/lua/services_discovery.c:267,1
    - Dst: free
      Src: /src/vlc/modules/lua/services_discovery.c:268,1
    - Dst: lua_close
      Src: /src/vlc/modules/lua/services_discovery.c:269,1
    - Dst: free
      Src: /src/vlc/modules/lua/services_discovery.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 271
    functionName: Close_LuaSD
    functionSourceFile: /src/vlc/modules/lua/services_discovery.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_queue_Kill
    - vlc_join
    - lua_close
    linkageType: ''
    returnType: void
    signature: void Close_LuaSD( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/lua/services_discovery.c:278,1
    - Dst: lua_getglobal
      Src: /src/vlc/modules/lua/services_discovery.c:284,1
    - Dst: lua_isfunction
      Src: /src/vlc/modules/lua/services_discovery.c:285,1
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/services_discovery.c:285,1
    - Dst: lua_pcall
      Src: /src/vlc/modules/lua/services_discovery.c:285,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/services_discovery.c:287,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/services_discovery.c:289,1
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/services_discovery.c:289,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/services_discovery.c:290,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/services_discovery.c:293,1
    - Dst: lua_gc
      Src: /src/vlc/modules/lua/services_discovery.c:297,1
    - Dst: vlc_queue_DequeueKillable
      Src: /src/vlc/modules/lua/services_discovery.c:302,1
    - Dst: DoSearch
      Src: /src/vlc/modules/lua/services_discovery.c:306,1
    - Dst: free
      Src: /src/vlc/modules/lua/services_discovery.c:307,1
    - Dst: lua_gc
      Src: /src/vlc/modules/lua/services_discovery.c:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 313
    functionName: Run
    functionSourceFile: /src/vlc/modules/lua/services_discovery.c
    functionUses: 1
    functionsReached:
    - lua_pop
    - vlc_queue_DequeueKillable
    - DoSearch
    - lua_gettop
    - lua_isfunction
    - vlc_thread_set_name
    - lua_tostring
    - lua_pcall
    - msg_Err
    - free
    - msg_Dbg
    - lua_gc
    - lua_getglobal
    linkageType: ''
    returnType: void
    signature: void * Run( void *data )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/lua/services_discovery.c:326,1
    - Dst: strlen
      Src: /src/vlc/modules/lua/services_discovery.c:327,1
    - Dst: malloc
      Src: /src/vlc/modules/lua/services_discovery.c:328,1
    - Dst: unlikely
      Src: /src/vlc/modules/lua/services_discovery.c:330,1
    - Dst: memcpy
      Src: /src/vlc/modules/lua/services_discovery.c:334,1
    - Dst: vlc_queue_Enqueue
      Src: /src/vlc/modules/lua/services_discovery.c:335,1
    - Dst: va_arg
      Src: /src/vlc/modules/lua/services_discovery.c:341,1
    - Dst: FillDescriptor
      Src: /src/vlc/modules/lua/services_discovery.c:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - p_sd
    - i_command
    - args
    argTypes:
    - services_discovery_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 348
    functionName: Control
    functionSourceFile: /src/vlc/modules/lua/services_discovery.c
    functionUses: 6
    functionsReached:
    - strlen
    - memcpy
    - va_arg
    - FillDescriptor
    - vlc_queue_Enqueue
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Control( services_discovery_t *p_sd, int i_command, va_list args
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lua_getglobal
      Src: /src/vlc/modules/lua/services_discovery.c:359,1
    - Dst: lua_isfunction
      Src: /src/vlc/modules/lua/services_discovery.c:360,1
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/services_discovery.c:360,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/services_discovery.c:362,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/services_discovery.c:364,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/services_discovery.c:369,1
    - Dst: lua_pcall
      Src: /src/vlc/modules/lua/services_discovery.c:372,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/services_discovery.c:374,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/services_discovery.c:375,1
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/services_discovery.c:375,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/services_discovery.c:376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - p_sd
    - psz_query
    argTypes:
    - services_discovery_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 381
    functionName: DoSearch
    functionSourceFile: /src/vlc/modules/lua/services_discovery.c
    functionUses: 1
    functionsReached:
    - lua_getglobal
    - lua_gettop
    - lua_isfunction
    - lua_pushstring
    - lua_tostring
    - lua_pcall
    - msg_Err
    - lua_pop
    linkageType: ''
    returnType: int
    signature: int DoSearch( services_discovery_t *p_sd, const char *psz_query )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: luaL_newstate
      Src: /src/vlc/modules/lua/services_discovery.c:399,1
    - Dst: vlclua_dofile
      Src: /src/vlc/modules/lua/services_discovery.c:401,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/lua/services_discovery.c:401,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/services_discovery.c:403,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/services_discovery.c:404,1
    - Dst: lua_getglobal
      Src: /src/vlc/modules/lua/services_discovery.c:409,1
    - Dst: lua_isfunction
      Src: /src/vlc/modules/lua/services_discovery.c:410,1
    - Dst: lua_pcall
      Src: /src/vlc/modules/lua/services_discovery.c:410,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/services_discovery.c:412,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/services_discovery.c:413,1
    - Dst: lua_getfield
      Src: /src/vlc/modules/lua/services_discovery.c:418,1
    - Dst: luaL_strdupornull
      Src: /src/vlc/modules/lua/services_discovery.c:419,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/services_discovery.c:420,1
    - Dst: lua_getfield
      Src: /src/vlc/modules/lua/services_discovery.c:422,1
    - Dst: luaL_strdupornull
      Src: /src/vlc/modules/lua/services_discovery.c:423,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/services_discovery.c:424,1
    - Dst: lua_getfield
      Src: /src/vlc/modules/lua/services_discovery.c:426,1
    - Dst: luaL_strdupornull
      Src: /src/vlc/modules/lua/services_discovery.c:427,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/services_discovery.c:428,1
    - Dst: lua_getfield
      Src: /src/vlc/modules/lua/services_discovery.c:430,1
    - Dst: lua_istable
      Src: /src/vlc/modules/lua/services_discovery.c:432,1
    - Dst: lua_pushnil
      Src: /src/vlc/modules/lua/services_discovery.c:435,1
    - Dst: lua_next
      Src: /src/vlc/modules/lua/services_discovery.c:436,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/services_discovery.c:439,1
    - Dst: strcmp
      Src: /src/vlc/modules/lua/services_discovery.c:445,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/services_discovery.c:452,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/services_discovery.c:455,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/services_discovery.c:460,1
    - Dst: lua_close
      Src: /src/vlc/modules/lua/services_discovery.c:464,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 2
    argNames:
    - p_sd
    - p_desc
    argTypes:
    - services_discovery_t*
    - services_discovery_descriptor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 392
    functionDepth: 2
    functionLinenumber: 392
    functionLinenumberEnd: 467
    functionName: FillDescriptor
    functionSourceFile: /src/vlc/modules/lua/services_discovery.c
    functionUses: 1
    functionsReached:
    - lua_pop
    - vlclua_dofile
    - lua_isfunction
    - luaL_newstate
    - lua_pushnil
    - lua_tostring
    - lua_close
    - lua_next
    - lua_pcall
    - msg_Err
    - lua_istable
    - luaL_checkstring
    - luaL_strdupornull
    - strcmp
    - msg_Warn
    - VLC_OBJECT
    - lua_getglobal
    - lua_getfield
    linkageType: ''
    returnType: int
    signature: "int FillDescriptor( services_discovery_t *p_sd,\n                           services_discovery_descriptor_t
      *p_desc )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lua_Disabled
      Src: /src/vlc/modules/lua/extension.c:87,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/extension.c:90,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/lua/extension.c:97,1
    - Dst: ScanExtensions
      Src: /src/vlc/modules/lua/extension.c:100,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/extension.c:102,1
    - Dst: var_Create
      Src: /src/vlc/modules/lua/extension.c:107,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/lua/extension.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 112
    functionName: Open_Extension
    functionSourceFile: /src/vlc/modules/lua/extension.c
    functionUses: 0
    functionsReached:
    - var_AddCallback
    - vlc_mutex_init
    - var_Create
    - msg_Err
    - msg_Dbg
    - ScanExtensions
    - lua_Disabled
    linkageType: ''
    returnType: int
    signature: int Open_Extension( vlc_object_t *p_this )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: var_DelCallback
      Src: /src/vlc/modules/lua/extension.c:121,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/lua/extension.c:123,1
    - Dst: ARRAY_FOREACH
      Src: /src/vlc/modules/lua/extension.c:128,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/extension.c:134,1
    - Dst: QueueDeactivateCommand
      Src: /src/vlc/modules/lua/extension.c:140,1
    - Dst: vlclua_fd_interrupt
      Src: /src/vlc/modules/lua/extension.c:145,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/lua/extension.c:148,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/extension.c:150,1
    - Dst: vlc_join
      Src: /src/vlc/modules/lua/extension.c:153,1
    - Dst: lua_close
      Src: /src/vlc/modules/lua/extension.c:158,1
    - Dst: vlclua_fd_cleanup
      Src: /src/vlc/modules/lua/extension.c:159,1
    - Dst: free
      Src: /src/vlc/modules/lua/extension.c:162,1
    - Dst: free
      Src: /src/vlc/modules/lua/extension.c:163,1
    - Dst: free
      Src: /src/vlc/modules/lua/extension.c:164,1
    - Dst: free
      Src: /src/vlc/modules/lua/extension.c:165,1
    - Dst: free
      Src: /src/vlc/modules/lua/extension.c:166,1
    - Dst: free
      Src: /src/vlc/modules/lua/extension.c:167,1
    - Dst: free
      Src: /src/vlc/modules/lua/extension.c:168,1
    - Dst: free
      Src: /src/vlc/modules/lua/extension.c:169,1
    - Dst: vlc_timer_destroy
      Src: /src/vlc/modules/lua/extension.c:171,1
    - Dst: free
      Src: /src/vlc/modules/lua/extension.c:173,1
    - Dst: free
      Src: /src/vlc/modules/lua/extension.c:174,1
    - Dst: ARRAY_RESET
      Src: /src/vlc/modules/lua/extension.c:177,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 178
    functionName: Close_Extension
    functionSourceFile: /src/vlc/modules/lua/extension.c
    functionUses: 0
    functionsReached:
    - var_Destroy
    - vlclua_fd_interrupt
    - vlc_cond_signal
    - vlclua_fd_cleanup
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - ARRAY_FOREACH
    - lua_close
    - ARRAY_RESET
    - var_DelCallback
    - free
    - QueueDeactivateCommand
    - vlc_join
    - vlc_timer_destroy
    linkageType: ''
    returnType: void
    signature: void Close_Extension( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_scripts_batch_execute
      Src: /src/vlc/modules/lua/extension.c:187,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/lua/extension.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_mgr
    argTypes:
    - extensions_manager_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 184
    functionDepth: 5
    functionLinenumber: 184
    functionLinenumberEnd: 196
    functionName: ScanExtensions
    functionSourceFile: /src/vlc/modules/lua/extension.c
    functionUses: 1
    functionsReached:
    - vlclua_scripts_batch_execute
    - VLC_OBJECT
    linkageType: ''
    returnType: int
    signature: int ScanExtensions( extensions_manager_t *p_mgr )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: vlclua_dummy_require
    functionSourceFile: /src/vlc/modules/lua/extension.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int vlclua_dummy_require( lua_State *L )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/extension.c:217,1
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/extension.c:218,1
    - Dst: vlclua_extension_get
      Src: /src/vlc/modules/lua/extension.c:219,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/extension.c:220,1
    - Dst: strdup
      Src: /src/vlc/modules/lua/extension.c:223,1
    - Dst: strrchr
      Src: /src/vlc/modules/lua/extension.c:224,1
    - Dst: free
      Src: /src/vlc/modules/lua/extension.c:227,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/extension.c:228,1
    - Dst: asprintf
      Src: /src/vlc/modules/lua/extension.c:231,1
    - Dst: free
      Src: /src/vlc/modules/lua/extension.c:234,1
    - Dst: vlclua_dofile
      Src: /src/vlc/modules/lua/extension.c:237,1
    - Dst: strlen
      Src: /src/vlc/modules/lua/extension.c:241,1
    - Dst: vlclua_dofile
      Src: /src/vlc/modules/lua/extension.c:242,1
    - Dst: free
      Src: /src/vlc/modules/lua/extension.c:244,1
    - Dst: free
      Src: /src/vlc/modules/lua/extension.c:245,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/extension.c:248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 252
    functionName: vlclua_extension_require
    functionSourceFile: /src/vlc/modules/lua/extension.c
    functionUses: 0
    functionsReached:
    - asprintf
    - vlclua_dofile
    - strdup
    - luaL_error
    - strlen
    - vlclua_get_this
    - strrchr
    - free
    - luaL_checkstring
    - msg_Dbg
    - vlclua_extension_get
    linkageType: ''
    returnType: int
    signature: int vlclua_extension_require( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_getfield
      Src: /src/vlc/modules/lua/extension.c:257,1
    - Dst: luaL_strdupornull
      Src: /src/vlc/modules/lua/extension.c:258,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/extension.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - L
    - name
    argTypes:
    - lua_State*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 261
    functionName: GetStringFieldOrNull
    functionSourceFile: /src/vlc/modules/lua/extension.c
    functionUses: 0
    functionsReached:
    - luaL_strdupornull
    - lua_getfield
    - lua_pop
    linkageType: ''
    returnType: char
    signature: 'char *

      GetStringFieldOrNull(lua_State *L, const char *name)'
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/lua/extension.c:273,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/extension.c:276,1
    - Dst: strrchr
      Src: /src/vlc/modules/lua/extension.c:280,1
    - Dst: strcmp
      Src: /src/vlc/modules/lua/extension.c:281,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/extension.c:283,1
    - Dst: asprintf
      Src: /src/vlc/modules/lua/extension.c:284,1
    - Dst: strdup
      Src: /src/vlc/modules/lua/extension.c:289,1
    - Dst: calloc
      Src: /src/vlc/modules/lua/extension.c:295,1
    - Dst: free
      Src: /src/vlc/modules/lua/extension.c:298,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/lua/extension.c:302,1
    - Dst: calloc
      Src: /src/vlc/modules/lua/extension.c:306,1
    - Dst: free
      Src: /src/vlc/modules/lua/extension.c:309,1
    - Dst: free
      Src: /src/vlc/modules/lua/extension.c:310,1
    - Dst: free
      Src: /src/vlc/modules/lua/extension.c:311,1
    - Dst: vlc_timer_create
      Src: /src/vlc/modules/lua/extension.c:317,1
    - Dst: free
      Src: /src/vlc/modules/lua/extension.c:319,1
    - Dst: free
      Src: /src/vlc/modules/lua/extension.c:320,1
    - Dst: free
      Src: /src/vlc/modules/lua/extension.c:321,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/lua/extension.c:326,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/lua/extension.c:327,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/lua/extension.c:328,1
    - Dst: luaL_newstate
      Src: /src/vlc/modules/lua/extension.c:331,1
    - Dst: lua_register
      Src: /src/vlc/modules/lua/extension.c:332,1
    - Dst: vlclua_dofile
      Src: /src/vlc/modules/lua/extension.c:335,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/extension.c:337,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/extension.c:338,1
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/extension.c:338,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/extension.c:339,1
    - Dst: lua_getglobal
      Src: /src/vlc/modules/lua/extension.c:344,1
    - Dst: lua_isfunction
      Src: /src/vlc/modules/lua/extension.c:346,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/extension.c:348,1
    - Dst: lua_pcall
      Src: /src/vlc/modules/lua/extension.c:353,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/extension.c:355,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/extension.c:357,1
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/extension.c:357,1
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/extension.c:361,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/extension.c:363,1
    - Dst: lua_istable
      Src: /src/vlc/modules/lua/extension.c:367,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/extension.c:369,1
    - Dst: lua_getfield
      Src: /src/vlc/modules/lua/extension.c:375,1
    - Dst: lua_istable
      Src: /src/vlc/modules/lua/extension.c:376,1
    - Dst: lua_pushnil
      Src: /src/vlc/modules/lua/extension.c:378,1
    - Dst: lua_next
      Src: /src/vlc/modules/lua/extension.c:379,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/extension.c:382,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/lua/extension.c:385,1
    - Dst: strcmp
      Src: /src/vlc/modules/lua/extension.c:387,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/extension.c:397,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/extension.c:401,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/extension.c:406,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/extension.c:410,1
    - Dst: lua_getfield
      Src: /src/vlc/modules/lua/extension.c:413,1
    - Dst: lua_isstring
      Src: /src/vlc/modules/lua/extension.c:414,1
    - Dst: strdup
      Src: /src/vlc/modules/lua/extension.c:416,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/extension.c:416,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/extension.c:420,1
    - Dst: strdup
      Src: /src/vlc/modules/lua/extension.c:423,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/extension.c:425,1
    - Dst: GetStringFieldOrNull
      Src: /src/vlc/modules/lua/extension.c:428,1
    - Dst: GetStringFieldOrNull
      Src: /src/vlc/modules/lua/extension.c:429,1
    - Dst: GetStringFieldOrNull
      Src: /src/vlc/modules/lua/extension.c:430,1
    - Dst: GetStringFieldOrNull
      Src: /src/vlc/modules/lua/extension.c:431,1
    - Dst: GetStringFieldOrNull
      Src: /src/vlc/modules/lua/extension.c:432,1
    - Dst: lua_getfield
      Src: /src/vlc/modules/lua/extension.c:434,1
    - Dst: lua_isnil
      Src: /src/vlc/modules/lua/extension.c:435,1
    - Dst: lua_isstring
      Src: /src/vlc/modules/lua/extension.c:435,1
    - Dst: lua_strlen
      Src: /src/vlc/modules/lua/extension.c:437,1
    - Dst: malloc
      Src: /src/vlc/modules/lua/extension.c:438,1
    - Dst: memcpy
      Src: /src/vlc/modules/lua/extension.c:442,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/extension.c:442,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/extension.c:445,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/extension.c:448,1
    - Dst: lua_close
      Src: /src/vlc/modules/lua/extension.c:451,1
    - Dst: ARRAY_APPEND
      Src: /src/vlc/modules/lua/extension.c:453,1
    - Dst: lua_close
      Src: /src/vlc/modules/lua/extension.c:458,1
    - Dst: free
      Src: /src/vlc/modules/lua/extension.c:459,1
    - Dst: free
      Src: /src/vlc/modules/lua/extension.c:460,1
    - Dst: free
      Src: /src/vlc/modules/lua/extension.c:461,1
    - Dst: free
      Src: /src/vlc/modules/lua/extension.c:462,1
    - Dst: free
      Src: /src/vlc/modules/lua/extension.c:463,1
    - Dst: free
      Src: /src/vlc/modules/lua/extension.c:464,1
    - Dst: free
      Src: /src/vlc/modules/lua/extension.c:465,1
    - Dst: free
      Src: /src/vlc/modules/lua/extension.c:466,1
    - Dst: free
      Src: /src/vlc/modules/lua/extension.c:467,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 121
    argCount: 3
    argNames:
    - p_this
    - psz_filename
    - dummy
    argTypes:
    - vlc_object_t*
    - char*
    - struct luabatch_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 469
    functionName: ScanLuaCallback
    functionSourceFile: /src/vlc/modules/lua/extension.c
    functionUses: 0
    functionsReached:
    - lua_isstring
    - luaL_newstate
    - memcpy
    - lua_pop
    - asprintf
    - vlclua_dofile
    - lua_gettop
    - ARRAY_SIZE
    - lua_next
    - msg_Err
    - calloc
    - lua_register
    - vlc_cond_init
    - GetStringFieldOrNull
    - msg_Dbg
    - msg_Warn
    - lua_getglobal
    - ARRAY_APPEND
    - strdup
    - lua_isfunction
    - lua_close
    - lua_pushnil
    - lua_istable
    - strcmp
    - luaL_checkstring
    - lua_isnil
    - lua_getfield
    - VLC_UNUSED
    - vlc_timer_create
    - lua_tostring
    - vlc_object_logger
    - lua_strlen
    - vlc_mutex_init
    - lua_pcall
    - free
    - strrchr
    - malloc
    linkageType: ''
    returnType: int
    signature: "int ScanLuaCallback( vlc_object_t *p_this, const char *psz_filename,\n
      \                    const struct luabatch_context_t *dummy )"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: Activate
      Src: /src/vlc/modules/lua/extension.c:484,1
    - Dst: Deactivate
      Src: /src/vlc/modules/lua/extension.c:487,1
    - Dst: va_arg
      Src: /src/vlc/modules/lua/extension.c:490,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/extension.c:491,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/extension.c:493,1
    - Dst: va_arg
      Src: /src/vlc/modules/lua/extension.c:497,1
    - Dst: va_arg
      Src: /src/vlc/modules/lua/extension.c:502,1
    - Dst: va_arg
      Src: /src/vlc/modules/lua/extension.c:503,1
    - Dst: GetMenuEntries
      Src: /src/vlc/modules/lua/extension.c:504,1
    - Dst: va_arg
      Src: /src/vlc/modules/lua/extension.c:507,1
    - Dst: TriggerExtension
      Src: /src/vlc/modules/lua/extension.c:512,1
    - Dst: va_arg
      Src: /src/vlc/modules/lua/extension.c:515,1
    - Dst: TriggerMenu
      Src: /src/vlc/modules/lua/extension.c:516,1
    - Dst: va_arg
      Src: /src/vlc/modules/lua/extension.c:520,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/extension.c:522,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/extension.c:525,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/extension.c:528,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/extension.c:530,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/lua/extension.c:535,1
    - Dst: input_item_Hold
      Src: /src/vlc/modules/lua/extension.c:537,1
    - Dst: PushCommandUnique
      Src: /src/vlc/modules/lua/extension.c:542,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/extension.c:545,1
    - Dst: assert
      Src: /src/vlc/modules/lua/extension.c:550,1
    - Dst: va_arg
      Src: /src/vlc/modules/lua/extension.c:551,1
    - Dst: PushCommand
      Src: /src/vlc/modules/lua/extension.c:554,1
    - Dst: PushCommand
      Src: /src/vlc/modules/lua/extension.c:560,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/extension.c:564,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 63
    argCount: 4
    argNames:
    - p_mgr
    - i_control
    - ext
    - args
    argTypes:
    - extensions_manager_t*
    - int
    - extension_t*
    - va_list
    assertStmts:
    - condition: (ext->psz_name != NULL)
      pos:
        line_end: 549
        line_start: 549
        source_file: /src/vlc/modules/lua/extension.c
    constantsTouched: []
    func_position:
      end: 570
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 570
    functionName: Control
    functionSourceFile: /src/vlc/modules/lua/extension.c
    functionUses: 6
    functionsReached:
    - assert
    - PushCommand
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - TriggerMenu
    - input_item_Release
    - GetMenuEntries
    - TriggerExtension
    - input_item_Hold
    - PushCommandUnique
    - va_arg
    - msg_Warn
    - Activate
    - Deactivate
    linkageType: ''
    returnType: int
    signature: "int Control(extensions_manager_t *p_mgr, int i_control,\n                   extension_t
      *ext, va_list args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/lua/extension.c:574,1
    - Dst: lua_ExecuteFunction
      Src: /src/vlc/modules/lua/extension.c:575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - p_mgr
    - p_ext
    argTypes:
    - extensions_manager_t*
    - extension_t*
    assertStmts:
    - condition: ( p_mgr != NULL && p_ext != NULL )
      pos:
        line_end: 573
        line_start: 573
        source_file: /src/vlc/modules/lua/extension.c
    constantsTouched: []
    func_position:
      end: 576
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 576
    functionName: lua_ExtensionActivate
    functionSourceFile: /src/vlc/modules/lua/extension.c
    functionUses: 0
    functionsReached:
    - lua_ExecuteFunction
    - assert
    linkageType: ''
    returnType: int
    signature: int lua_ExtensionActivate( extensions_manager_t *p_mgr, extension_t
      *p_ext )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/lua/extension.c:580,1
    - Dst: vlclua_fd_interrupt
      Src: /src/vlc/modules/lua/extension.c:583,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/lua/extension.c:588,1
    - Dst: lua_ExecuteFunction
      Src: /src/vlc/modules/lua/extension.c:592,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p_mgr
    - p_ext
    argTypes:
    - extensions_manager_t*
    - extension_t*
    assertStmts:
    - condition: ( p_mgr != NULL && p_ext != NULL )
      pos:
        line_end: 579
        line_start: 579
        source_file: /src/vlc/modules/lua/extension.c
    constantsTouched: []
    func_position:
      end: 593
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 593
    functionName: lua_ExtensionDeactivate
    functionSourceFile: /src/vlc/modules/lua/extension.c
    functionUses: 0
    functionsReached:
    - input_item_Release
    - lua_ExecuteFunction
    - assert
    - vlclua_fd_interrupt
    linkageType: ''
    returnType: int
    signature: int lua_ExtensionDeactivate( extensions_manager_t *p_mgr, extension_t
      *p_ext )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetLuaState
      Src: /src/vlc/modules/lua/extension.c:603,1
    - Dst: lua_pushlightuserdata
      Src: /src/vlc/modules/lua/extension.c:604,1
    - Dst: lua_gettable
      Src: /src/vlc/modules/lua/extension.c:605,1
    - Dst: lua_ExecuteFunction
      Src: /src/vlc/modules/lua/extension.c:606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p_mgr
    - p_ext
    - p_widget
    argTypes:
    - extensions_manager_t*
    - extension_t*
    - extension_widget_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 607
    functionName: lua_ExtensionWidgetClick
    functionSourceFile: /src/vlc/modules/lua/extension.c
    functionUses: 0
    functionsReached:
    - GetLuaState
    - lua_ExecuteFunction
    - lua_pushlightuserdata
    - lua_gettable
    linkageType: ''
    returnType: int
    signature: "int lua_ExtensionWidgetClick( extensions_manager_t *p_mgr,\n                              extension_t
      *p_ext,\n                              extension_widget_t *p_widget )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/lua/extension.c:623,1
    - Dst: assert
      Src: /src/vlc/modules/lua/extension.c:624,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/extension.c:627,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/extension.c:630,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/extension.c:631,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/extension.c:634,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/extension.c:636,1
    - Dst: GetLuaState
      Src: /src/vlc/modules/lua/extension.c:639,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/extension.c:643,1
    - Dst: lua_getglobal
      Src: /src/vlc/modules/lua/extension.c:647,1
    - Dst: lua_isfunction
      Src: /src/vlc/modules/lua/extension.c:649,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/extension.c:651,1
    - Dst: lua_pcall
      Src: /src/vlc/modules/lua/extension.c:656,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/extension.c:658,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/extension.c:660,1
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/extension.c:660,1
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/extension.c:664,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/extension.c:666,1
    - Dst: lua_istable
      Src: /src/vlc/modules/lua/extension.c:670,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/extension.c:672,1
    - Dst: lua_objlen
      Src: /src/vlc/modules/lua/extension.c:678,1
    - Dst: calloc
      Src: /src/vlc/modules/lua/extension.c:679,1
    - Dst: calloc
      Src: /src/vlc/modules/lua/extension.c:680,1
    - Dst: lua_pushnil
      Src: /src/vlc/modules/lua/extension.c:684,1
    - Dst: lua_next
      Src: /src/vlc/modules/lua/extension.c:685,1
    - Dst: assert
      Src: /src/vlc/modules/lua/extension.c:687,1
    - Dst: lua_isstring
      Src: /src/vlc/modules/lua/extension.c:688,1
    - Dst: lua_isnumber
      Src: /src/vlc/modules/lua/extension.c:688,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/extension.c:690,1
    - Dst: strdup
      Src: /src/vlc/modules/lua/extension.c:694,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/extension.c:694,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/extension.c:695,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/extension.c:697,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/extension.c:703,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/extension.c:706,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 4
    argNames:
    - p_mgr
    - p_ext
    - pppsz_titles
    - ppi_ids
    argTypes:
    - extensions_manager_t*
    - extension_t*
    - char***
    - uint16_t**
    assertStmts:
    - condition: (i_idx < i_size)
      pos:
        line_end: 686
        line_start: 686
        source_file: /src/vlc/modules/lua/extension.c
    - condition: ( *ppi_ids == NULL )
      pos:
        line_end: 623
        line_start: 623
        source_file: /src/vlc/modules/lua/extension.c
    - condition: ( *pppsz_titles == NULL )
      pos:
        line_end: 622
        line_start: 622
        source_file: /src/vlc/modules/lua/extension.c
    constantsTouched: []
    func_position:
      end: 710
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 710
    functionName: GetMenuEntries
    functionSourceFile: /src/vlc/modules/lua/extension.c
    functionUses: 1
    functionsReached:
    - lua_isstring
    - assert
    - lua_pop
    - GetLuaState
    - lua_gettop
    - vlc_mutex_lock
    - lua_next
    - calloc
    - msg_Dbg
    - msg_Warn
    - lua_getglobal
    - luaL_checkinteger
    - strdup
    - lua_isfunction
    - lua_pushnil
    - lua_objlen
    - lua_istable
    - luaL_checkstring
    - vlc_mutex_unlock
    - lua_tostring
    - lua_isnumber
    - lua_pcall
    linkageType: ''
    returnType: int
    signature: "int GetMenuEntries( extensions_manager_t *p_mgr, extension_t *p_ext,\n
      \                   char ***pppsz_titles, uint16_t **ppi_ids )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/lua/extension.c:716,1
    - Dst: luaL_newstate
      Src: /src/vlc/modules/lua/extension.c:722,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/extension.c:725,1
    - Dst: vlclua_set_this
      Src: /src/vlc/modules/lua/extension.c:728,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/lua/extension.c:729,1
    - Dst: vlc_intf_GetMainPlaylist
      Src: /src/vlc/modules/lua/extension.c:730,1
    - Dst: vlclua_set_playlist_internal
      Src: /src/vlc/modules/lua/extension.c:731,1
    - Dst: vlclua_extension_set
      Src: /src/vlc/modules/lua/extension.c:732,1
    - Dst: luaL_openlibs
      Src: /src/vlc/modules/lua/extension.c:734,1
    - Dst: luaL_register_namespace
      Src: /src/vlc/modules/lua/extension.c:735,1
    - Dst: luaopen_msg
      Src: /src/vlc/modules/lua/extension.c:736,1
    - Dst: luaopen_config
      Src: /src/vlc/modules/lua/extension.c:739,1
    - Dst: luaopen_dialog
      Src: /src/vlc/modules/lua/extension.c:740,1
    - Dst: luaopen_input
      Src: /src/vlc/modules/lua/extension.c:741,1
    - Dst: luaopen_msg
      Src: /src/vlc/modules/lua/extension.c:742,1
    - Dst: vlclua_fd_init
      Src: /src/vlc/modules/lua/extension.c:743,1
    - Dst: lua_close
      Src: /src/vlc/modules/lua/extension.c:745,1
    - Dst: luaopen_object
      Src: /src/vlc/modules/lua/extension.c:748,1
    - Dst: luaopen_osd
      Src: /src/vlc/modules/lua/extension.c:749,1
    - Dst: luaopen_playlist
      Src: /src/vlc/modules/lua/extension.c:750,1
    - Dst: luaopen_stream
      Src: /src/vlc/modules/lua/extension.c:751,1
    - Dst: luaopen_strings
      Src: /src/vlc/modules/lua/extension.c:752,1
    - Dst: luaopen_variables
      Src: /src/vlc/modules/lua/extension.c:753,1
    - Dst: luaopen_video
      Src: /src/vlc/modules/lua/extension.c:754,1
    - Dst: luaopen_vlm
      Src: /src/vlc/modules/lua/extension.c:755,1
    - Dst: luaopen_volume
      Src: /src/vlc/modules/lua/extension.c:756,1
    - Dst: luaopen_xml
      Src: /src/vlc/modules/lua/extension.c:757,1
    - Dst: luaopen_vlcio
      Src: /src/vlc/modules/lua/extension.c:758,1
    - Dst: luaopen_errno
      Src: /src/vlc/modules/lua/extension.c:759,1
    - Dst: luaopen_rand
      Src: /src/vlc/modules/lua/extension.c:760,1
    - Dst: luaopen_rd
      Src: /src/vlc/modules/lua/extension.c:761,1
    - Dst: luaopen_ml
      Src: /src/vlc/modules/lua/extension.c:762,1
    - Dst: WINAPI_FAMILY_PARTITION
      Src: /src/vlc/modules/lua/extension.c:764,1
    - Dst: luaopen_win
      Src: /src/vlc/modules/lua/extension.c:765,1
    - Dst: lua_getglobal
      Src: /src/vlc/modules/lua/extension.c:770,1
    - Dst: lua_pushcfunction
      Src: /src/vlc/modules/lua/extension.c:771,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/extension.c:772,1
    - Dst: lua_pushcfunction
      Src: /src/vlc/modules/lua/extension.c:773,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/extension.c:774,1
    - Dst: strncmp
      Src: /src/vlc/modules/lua/extension.c:777,1
    - Dst: lua_register
      Src: /src/vlc/modules/lua/extension.c:780,1
    - Dst: vlclua_add_modules_path
      Src: /src/vlc/modules/lua/extension.c:782,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/extension.c:784,1
    - Dst: vlclua_fd_cleanup
      Src: /src/vlc/modules/lua/extension.c:786,1
    - Dst: lua_close
      Src: /src/vlc/modules/lua/extension.c:787,1
    - Dst: vlclua_dofile
      Src: /src/vlc/modules/lua/extension.c:792,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/lua/extension.c:792,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/extension.c:794,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/extension.c:795,1
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/extension.c:795,1
    - Dst: vlclua_fd_cleanup
      Src: /src/vlc/modules/lua/extension.c:796,1
    - Dst: lua_close
      Src: /src/vlc/modules/lua/extension.c:797,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 60
    argCount: 2
    argNames:
    - p_mgr
    - p_ext
    argTypes:
    - extensions_manager_t*
    - extension_t*
    assertStmts:
    - condition: ( p_ext != NULL )
      pos:
        line_end: 715
        line_start: 715
        source_file: /src/vlc/modules/lua/extension.c
    constantsTouched: []
    func_position:
      end: 804
      start: 713
    functionDepth: 5
    functionLinenumber: 713
    functionLinenumberEnd: 804
    functionName: GetLuaState
    functionSourceFile: /src/vlc/modules/lua/extension.c
    functionUses: 2
    functionsReached:
    - luaopen_vlm
    - lua_setfield
    - assert
    - luaL_register_namespace
    - luaopen_win
    - luaL_newstate
    - luaopen_video
    - luaopen_object
    - luaopen_stream
    - luaopen_strings
    - vlclua_add_modules_path
    - luaL_openlibs
    - vlclua_dofile
    - lua_gettop
    - luaopen_rand
    - msg_Err
    - luaopen_playlist
    - WINAPI_FAMILY_PARTITION
    - lua_register
    - lua_getglobal
    - luaopen_volume
    - msg_Warn
    - luaopen_ml
    - vlclua_set_this
    - vlc_intf_GetMainPlaylist
    - lua_close
    - luaopen_dialog
    - luaopen_variables
    - strncmp
    - luaopen_xml
    - luaopen_msg
    - vlclua_set_playlist_internal
    - luaopen_errno
    - lua_pushcfunction
    - luaopen_osd
    - vlc_object_parent
    - vlclua_fd_init
    - luaopen_config
    - vlclua_fd_cleanup
    - lua_tostring
    - luaopen_vlcio
    - vlclua_extension_set
    - luaopen_input
    - VLC_OBJECT
    - luaopen_rd
    linkageType: ''
    returnType: lua_State
    signature: "lua_State * GetLuaState( extensions_manager_t *p_mgr,\n                               extension_t
      *p_ext )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vlc/modules/lua/extension.c:810,1
    - Dst: lua_ExecuteFunctionVa
      Src: /src/vlc/modules/lua/extension.c:811,1
    - Dst: va_end
      Src: /src/vlc/modules/lua/extension.c:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_mgr
    - p_ext
    - psz_function
    argTypes:
    - extensions_manager_t*
    - extension_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 806
    functionDepth: 1
    functionLinenumber: 806
    functionLinenumberEnd: 814
    functionName: lua_ExecuteFunction
    functionSourceFile: /src/vlc/modules/lua/extension.c
    functionUses: 3
    functionsReached:
    - va_end
    - lua_ExecuteFunctionVa
    - va_start
    linkageType: ''
    returnType: int
    signature: "int lua_ExecuteFunction( extensions_manager_t *p_mgr, extension_t
      *p_ext,\n                            const char *psz_function, ... )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/lua/extension.c:830,1
    - Dst: assert
      Src: /src/vlc/modules/lua/extension.c:831,1
    - Dst: GetLuaState
      Src: /src/vlc/modules/lua/extension.c:833,1
    - Dst: lua_getglobal
      Src: /src/vlc/modules/lua/extension.c:838,1
    - Dst: lua_isfunction
      Src: /src/vlc/modules/lua/extension.c:840,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/extension.c:842,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/extension.c:844,1
    - Dst: va_arg
      Src: /src/vlc/modules/lua/extension.c:849,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/extension.c:861,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/extension.c:864,1
    - Dst: lua_pcall
      Src: /src/vlc/modules/lua/extension.c:871,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/extension.c:873,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/extension.c:875,1
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/extension.c:875,1
    - Dst: lua_DialogFlush
      Src: /src/vlc/modules/lua/extension.c:880,1
    - Dst: lua_DialogFlush
      Src: /src/vlc/modules/lua/extension.c:882,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 4
    argNames:
    - p_mgr
    - p_ext
    - psz_function
    - args
    argTypes:
    - extensions_manager_t*
    - extension_t*
    - char*
    - va_list
    assertStmts:
    - condition: ( p_mgr != NULL )
      pos:
        line_end: 829
        line_start: 829
        source_file: /src/vlc/modules/lua/extension.c
    - condition: ( p_ext != NULL )
      pos:
        line_end: 830
        line_start: 830
        source_file: /src/vlc/modules/lua/extension.c
    constantsTouched: []
    func_position:
      end: 887
      start: 825
    functionDepth: 6
    functionLinenumber: 825
    functionLinenumberEnd: 887
    functionName: lua_ExecuteFunctionVa
    functionSourceFile: /src/vlc/modules/lua/extension.c
    functionUses: 1
    functionsReached:
    - GetLuaState
    - lua_getglobal
    - lua_pop
    - assert
    - lua_isfunction
    - lua_gettop
    - lua_tostring
    - lua_pcall
    - va_arg
    - lua_DialogFlush
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: "int lua_ExecuteFunctionVa( extensions_manager_t *p_mgr, extension_t
      *p_ext,\n                           const char *psz_function, va_list args )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PushCommand
      Src: /src/vlc/modules/lua/extension.c:891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_ext
    - i_id
    argTypes:
    - extension_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 889
    functionDepth: 2
    functionLinenumber: 889
    functionLinenumberEnd: 892
    functionName: TriggerMenu
    functionSourceFile: /src/vlc/modules/lua/extension.c
    functionUses: 1
    functionsReached:
    - PushCommand
    linkageType: ''
    returnType: int
    signature: int TriggerMenu( extension_t *p_ext, int i_id )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetLuaState
      Src: /src/vlc/modules/lua/extension.c:898,1
    - Dst: luaopen_dialog
      Src: /src/vlc/modules/lua/extension.c:903,1
    - Dst: lua_getglobal
      Src: /src/vlc/modules/lua/extension.c:905,1
    - Dst: lua_isfunction
      Src: /src/vlc/modules/lua/extension.c:906,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/extension.c:908,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/extension.c:914,1
    - Dst: lua_pcall
      Src: /src/vlc/modules/lua/extension.c:916,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/extension.c:918,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/extension.c:920,1
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/extension.c:920,1
    - Dst: lua_DialogFlush
      Src: /src/vlc/modules/lua/extension.c:925,1
    - Dst: lua_DialogFlush
      Src: /src/vlc/modules/lua/extension.c:927,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/extension.c:930,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - p_mgr
    - p_ext
    - id
    argTypes:
    - extensions_manager_t*
    - extension_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 894
    functionDepth: 6
    functionLinenumber: 894
    functionLinenumberEnd: 935
    functionName: lua_ExtensionTriggerMenu
    functionSourceFile: /src/vlc/modules/lua/extension.c
    functionUses: 0
    functionsReached:
    - GetLuaState
    - lua_isfunction
    - lua_gettop
    - luaopen_dialog
    - lua_tostring
    - lua_pcall
    - lua_pushinteger
    - lua_DialogFlush
    - msg_Dbg
    - msg_Warn
    - lua_getglobal
    linkageType: ''
    returnType: int
    signature: "int lua_ExtensionTriggerMenu( extensions_manager_t *p_mgr,\n                              extension_t
      *p_ext, int id )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lua_ExecuteFunction
      Src: /src/vlc/modules/lua/extension.c:948,1
    - Dst: vlclua_fd_cleanup
      Src: /src/vlc/modules/lua/extension.c:953,1
    - Dst: lua_close
      Src: /src/vlc/modules/lua/extension.c:954,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_mgr
    - p_ext
    argTypes:
    - extensions_manager_t*
    - extension_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 943
    functionDepth: 2
    functionLinenumber: 943
    functionLinenumberEnd: 959
    functionName: TriggerExtension
    functionSourceFile: /src/vlc/modules/lua/extension.c
    functionUses: 1
    functionsReached:
    - lua_ExecuteFunction
    - vlclua_fd_cleanup
    - lua_close
    linkageType: ''
    returnType: int
    signature: "int TriggerExtension( extensions_manager_t *p_mgr,\n                             extension_t
      *p_ext )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushlightuserdata
      Src: /src/vlc/modules/lua/extension.c:967,1
    - Dst: lua_pushlightuserdata
      Src: /src/vlc/modules/lua/extension.c:968,1
    - Dst: lua_rawset
      Src: /src/vlc/modules/lua/extension.c:969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - L
    - p_ext
    argTypes:
    - lua_State*
    - extension_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 970
    functionName: vlclua_extension_set
    functionSourceFile: /src/vlc/modules/lua/extension.c
    functionUses: 1
    functionsReached:
    - lua_pushlightuserdata
    - lua_rawset
    linkageType: ''
    returnType: void
    signature: void vlclua_extension_set( lua_State *L, extension_t *p_ext )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushlightuserdata
      Src: /src/vlc/modules/lua/extension.c:978,1
    - Dst: lua_rawget
      Src: /src/vlc/modules/lua/extension.c:979,1
    - Dst: lua_topointer
      Src: /src/vlc/modules/lua/extension.c:980,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/extension.c:981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 983
    functionName: vlclua_extension_get
    functionSourceFile: /src/vlc/modules/lua/extension.c
    functionUses: 1
    functionsReached:
    - lua_rawget
    - lua_pushlightuserdata
    - lua_topointer
    - lua_pop
    linkageType: ''
    returnType: extension_t
    signature: extension_t *vlclua_extension_get( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_extension_get
      Src: /src/vlc/modules/lua/extension.c:992,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/extension.c:995,1
    - Dst: QueueDeactivateCommand
      Src: /src/vlc/modules/lua/extension.c:996,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/extension.c:997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 990
    functionDepth: 1
    functionLinenumber: 990
    functionLinenumberEnd: 999
    functionName: vlclua_extension_deactivate
    functionSourceFile: /src/vlc/modules/lua/extension.c
    functionUses: 0
    functionsReached:
    - QueueDeactivateCommand
    - vlclua_extension_get
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: int
    signature: int vlclua_extension_deactivate( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_extension_get
      Src: /src/vlc/modules/lua/extension.c:1007,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/extension.c:1010,1
    - Dst: vlc_dialog_release
      Src: /src/vlc/modules/lua/extension.c:1013,1
    - Dst: vlc_timer_schedule
      Src: /src/vlc/modules/lua/extension.c:1016,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/extension.c:1018,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1005
    functionDepth: 1
    functionLinenumber: 1005
    functionLinenumberEnd: 1021
    functionName: vlclua_extension_keep_alive
    functionSourceFile: /src/vlc/modules/lua/extension.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_dialog_release
    - vlc_timer_schedule
    - vlclua_extension_get
    linkageType: ''
    returnType: int
    signature: int vlclua_extension_keep_alive( lua_State *L )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/lua/extension.c:1042,1
    - Dst: assert
      Src: /src/vlc/modules/lua/extension.c:1043,1
    - Dst: assert
      Src: /src/vlc/modules/lua/extension.c:1046,1
    - Dst: assert
      Src: /src/vlc/modules/lua/extension.c:1053,1
    - Dst: PushCommandUnique
      Src: /src/vlc/modules/lua/extension.c:1054,1
    - Dst: PushCommandUnique
      Src: /src/vlc/modules/lua/extension.c:1057,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/extension.c:1060,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - p_this
    - psz_var
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts:
    - condition: ( command != NULL )
      pos:
        line_end: 1041
        line_start: 1041
        source_file: /src/vlc/modules/lua/extension.c
    - condition: ( p_ext != NULL )
      pos:
        line_end: 1045
        line_start: 1045
        source_file: /src/vlc/modules/lua/extension.c
    - condition: ( p_widget != NULL )
      pos:
        line_end: 1052
        line_start: 1052
        source_file: /src/vlc/modules/lua/extension.c
    - condition: ( command->p_dlg != NULL)
      pos:
        line_end: 1042
        line_start: 1042
        source_file: /src/vlc/modules/lua/extension.c
    constantsTouched: []
    func_position:
      end: 1066
      start: 1030
    functionDepth: 2
    functionLinenumber: 1030
    functionLinenumberEnd: 1066
    functionName: vlclua_extension_dialog_callback
    functionSourceFile: /src/vlc/modules/lua/extension.c
    functionUses: 0
    functionsReached:
    - assert
    - msg_Dbg
    - PushCommandUnique
    linkageType: ''
    returnType: int
    signature: "int vlclua_extension_dialog_callback( vlc_object_t *p_this,\n                                             char
      const *psz_var,\n                                             vlc_value_t oldval,\n
      \                                            vlc_value_t newval,\n                                             void
      *p_data )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/extension.c:1077,1
    - Dst: vlc_dialog_release
      Src: /src/vlc/modules/lua/extension.c:1086,1
    - Dst: KillExtension
      Src: /src/vlc/modules/lua/extension.c:1089,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/extension.c:1090,1
    - Dst: vlc_dialog_display_progress
      Src: /src/vlc/modules/lua/extension.c:1097,1
    - Dst: _
      Src: /src/vlc/modules/lua/extension.c:1098,1
    - Dst: _
      Src: /src/vlc/modules/lua/extension.c:1099,1
    - Dst: _
      Src: /src/vlc/modules/lua/extension.c:1100,1
    - Dst: KillExtension
      Src: /src/vlc/modules/lua/extension.c:1105,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/extension.c:1106,1
    - Dst: vlc_timer_schedule
      Src: /src/vlc/modules/lua/extension.c:1109,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/lua/extension.c:1109,1
    - Dst: vlc_dialog_is_cancelled
      Src: /src/vlc/modules/lua/extension.c:1114,1
    - Dst: vlc_dialog_release
      Src: /src/vlc/modules/lua/extension.c:1116,1
    - Dst: KillExtension
      Src: /src/vlc/modules/lua/extension.c:1118,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/extension.c:1119,1
    - Dst: vlc_timer_schedule
      Src: /src/vlc/modules/lua/extension.c:1122,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/lua/extension.c:1122,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/extension.c:1125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1071
    functionDepth: 1
    functionLinenumber: 1071
    functionLinenumberEnd: 1126
    functionName: WatchTimerCallback
    functionSourceFile: /src/vlc/modules/lua/extension.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - VLC_TICK_FROM_MS
    - _
    - vlc_dialog_release
    - KillExtension
    - vlc_dialog_display_progress
    - vlc_timer_schedule
    - vlc_dialog_is_cancelled
    linkageType: ''
    returnType: void
    signature: void WatchTimerCallback( void *data )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/extension_thread.c:58,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/lua/extension_thread.c:62,1
    - Dst: input_item_Hold
      Src: /src/vlc/modules/lua/extension_thread.c:65,1
    - Dst: PushCommandUnique
      Src: /src/vlc/modules/lua/extension_thread.c:70,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/extension_thread.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - player
    - new_media
    - opaque
    argTypes:
    - vlc_player_t*
    - input_item_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 72
    functionName: OnCurrentMediaChanged
    functionSourceFile: /src/vlc/modules/lua/extension_thread.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - input_item_Release
    - PushCommandUnique
    - input_item_Hold
    linkageType: ''
    returnType: void
    signature: "void OnCurrentMediaChanged(vlc_player_t *player,\n                      input_item_t
      *new_media,\n                      void *opaque)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/lua/extension_thread.c:81,1
    - Dst: assert
      Src: /src/vlc/modules/lua/extension_thread.c:84,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/extension_thread.c:87,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/extension_thread.c:90,1
    - Dst: assert
      Src: /src/vlc/modules/lua/extension_thread.c:96,1
    - Dst: calloc
      Src: /src/vlc/modules/lua/extension_thread.c:97,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/extension_thread.c:100,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/lua/extension_thread.c:106,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/lua/extension_thread.c:107,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/extension_thread.c:111,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/lua/extension_thread.c:115,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/lua/extension_thread.c:117,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/lua/extension_thread.c:131,1
    - Dst: vlc_player_AddListener
      Src: /src/vlc/modules/lua/extension_thread.c:133,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/lua/extension_thread.c:134,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/extension_thread.c:141,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/lua/extension_thread.c:143,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/extension_thread.c:144,1
    - Dst: vlc_join
      Src: /src/vlc/modules/lua/extension_thread.c:145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 1
    argNames:
    - p_ext
    argTypes:
    - extension_t*
    assertStmts:
    - condition: ( p_ext != NULL )
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/vlc/modules/lua/extension_thread.c
    - condition: (sys->command == NULL)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/vlc/modules/lua/extension_thread.c
    - condition: (sys != NULL)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/vlc/modules/lua/extension_thread.c
    constantsTouched: []
    func_position:
      end: 147
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 147
    functionName: Activate
    functionSourceFile: /src/vlc/modules/lua/extension_thread.c
    functionUses: 2
    functionsReached:
    - assert
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_clone
    - vlc_player_Unlock
    - vlc_player_Lock
    - calloc
    - vlc_join
    - vlc_debug
    - vlc_player_AddListener
    linkageType: ''
    returnType: int
    signature: int Activate(extension_t *p_ext)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/lua/extension_thread.c:162,1
    - Dst: free
      Src: /src/vlc/modules/lua/extension_thread.c:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - command
    argTypes:
    - struct command_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 170
    functionName: FreeCommands
    functionSourceFile: /src/vlc/modules/lua/extension_thread.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void FreeCommands( struct command_t *command )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_assert
      Src: /src/vlc/modules/lua/extension_thread.c:175,1
    - Dst: calloc
      Src: /src/vlc/modules/lua/extension_thread.c:177,1
    - Dst: unlikely
      Src: /src/vlc/modules/lua/extension_thread.c:178,1
    - Dst: FreeCommands
      Src: /src/vlc/modules/lua/extension_thread.c:182,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/lua/extension_thread.c:194,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/lua/extension_thread.c:196,1
    - Dst: vlc_player_RemoveListener
      Src: /src/vlc/modules/lua/extension_thread.c:197,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/lua/extension_thread.c:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - p_ext
    argTypes:
    - extension_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 201
    functionName: QueueDeactivateCommand
    functionSourceFile: /src/vlc/modules/lua/extension_thread.c
    functionUses: 2
    functionsReached:
    - vlc_cond_signal
    - vlc_player_Unlock
    - FreeCommands
    - vlc_player_Lock
    - calloc
    - vlc_player_RemoveListener
    - vlc_mutex_assert
    - unlikely
    linkageType: ''
    returnType: bool
    signature: bool QueueDeactivateCommand( extension_t *p_ext )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/extension_thread.c:208,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/extension_thread.c:211,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/extension_thread.c:217,1
    - Dst: vlc_dialog_release
      Src: /src/vlc/modules/lua/extension_thread.c:224,1
    - Dst: KillExtension
      Src: /src/vlc/modules/lua/extension_thread.c:226,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/extension_thread.c:227,1
    - Dst: QueueDeactivateCommand
      Src: /src/vlc/modules/lua/extension_thread.c:231,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/extension_thread.c:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - p_mgr
    - p_ext
    argTypes:
    - extensions_manager_t*
    - extension_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 235
    functionName: Deactivate
    functionSourceFile: /src/vlc/modules/lua/extension_thread.c
    functionUses: 2
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_dialog_release
    - QueueDeactivateCommand
    - KillExtension
    linkageType: ''
    returnType: int
    signature: int Deactivate( extensions_manager_t *p_mgr, extension_t *p_ext )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_debug
      Src: /src/vlc/modules/lua/extension_thread.c:241,1
    - Dst: vlclua_fd_interrupt
      Src: /src/vlc/modules/lua/extension_thread.c:242,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/lua/extension_thread.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p_ext
    argTypes:
    - extension_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 246
    functionName: KillExtension
    functionSourceFile: /src/vlc/modules/lua/extension_thread.c
    functionUses: 2
    functionsReached:
    - vlc_cond_signal
    - vlclua_fd_interrupt
    - vlc_debug
    linkageType: ''
    returnType: void
    signature: void KillExtension(extension_t *p_ext)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/lua/extension_thread.c:254,1
    - Dst: unlikely
      Src: /src/vlc/modules/lua/extension_thread.c:255,1
    - Dst: va_arg
      Src: /src/vlc/modules/lua/extension_thread.c:261,1
    - Dst: malloc
      Src: /src/vlc/modules/lua/extension_thread.c:265,1
    - Dst: free
      Src: /src/vlc/modules/lua/extension_thread.c:268,1
    - Dst: va_arg
      Src: /src/vlc/modules/lua/extension_thread.c:271,1
    - Dst: malloc
      Src: /src/vlc/modules/lua/extension_thread.c:277,1
    - Dst: free
      Src: /src/vlc/modules/lua/extension_thread.c:280,1
    - Dst: va_arg
      Src: /src/vlc/modules/lua/extension_thread.c:283,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/extension_thread.c:293,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/extension_thread.c:298,1
    - Dst: memcmp
      Src: /src/vlc/modules/lua/extension_thread.c:314,1
    - Dst: FreeCommands
      Src: /src/vlc/modules/lua/extension_thread.c:328,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/lua/extension_thread.c:332,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/extension_thread.c:333,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 4
    argNames:
    - p_ext
    - b_unique
    - i_command
    - args
    argTypes:
    - extension_t*
    - bool
    - command_type_e
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 335
    functionName: PushCommand__
    functionSourceFile: /src/vlc/modules/lua/extension_thread.c
    functionUses: 2
    functionsReached:
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - FreeCommands
    - calloc
    - free
    - va_arg
    - msg_Dbg
    - unlikely
    - malloc
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int PushCommand__( extension_t *p_ext,  bool b_unique, command_type_e
      i_command,\n                   va_list args )"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/lua/extension_thread.c:344,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/extension_thread.c:346,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/lua/extension_thread.c:355,1
    - Dst: vlc_timer_schedule
      Src: /src/vlc/modules/lua/extension_thread.c:361,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/extension_thread.c:363,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/extension_thread.c:366,1
    - Dst: lua_ExecuteFunction
      Src: /src/vlc/modules/lua/extension_thread.c:371,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/extension_thread.c:373,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/extension_thread.c:374,1
    - Dst: QueueDeactivateCommand
      Src: /src/vlc/modules/lua/extension_thread.c:375,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/extension_thread.c:376,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/extension_thread.c:379,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/extension_thread.c:382,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/lua/extension_thread.c:388,1
    - Dst: lua_ExtensionDeactivate
      Src: /src/vlc/modules/lua/extension_thread.c:389,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/lua/extension_thread.c:391,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/extension_thread.c:394,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/extension_thread.c:397,1
    - Dst: lua_ExecuteFunction
      Src: /src/vlc/modules/lua/extension_thread.c:403,1
    - Dst: assert
      Src: /src/vlc/modules/lua/extension_thread.c:410,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/lua/extension_thread.c:411,1
    - Dst: lua_ExtensionWidgetClick
      Src: /src/vlc/modules/lua/extension_thread.c:413,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/lua/extension_thread.c:414,1
    - Dst: assert
      Src: /src/vlc/modules/lua/extension_thread.c:421,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/lua/extension_thread.c:422,1
    - Dst: lua_ExtensionTriggerMenu
      Src: /src/vlc/modules/lua/extension_thread.c:424,1
    - Dst: lua_ExecuteFunction
      Src: /src/vlc/modules/lua/extension_thread.c:430,1
    - Dst: lua_ExecuteFunction
      Src: /src/vlc/modules/lua/extension_thread.c:436,1
    - Dst: lua_ExecuteFunction
      Src: /src/vlc/modules/lua/extension_thread.c:442,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/extension_thread.c:449,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/extension_thread.c:454,1
    - Dst: FreeCommands
      Src: /src/vlc/modules/lua/extension_thread.c:456,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/extension_thread.c:458,1
    - Dst: vlc_dialog_release
      Src: /src/vlc/modules/lua/extension_thread.c:462,1
    - Dst: vlc_timer_disarm
      Src: /src/vlc/modules/lua/extension_thread.c:465,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/extension_thread.c:468,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/extension_thread.c:469,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 85
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts:
    - condition: ( p_widget )
      pos:
        line_end: 409
        line_start: 409
        source_file: /src/vlc/modules/lua/extension_thread.c
    - condition: ( pi_id )
      pos:
        line_end: 420
        line_start: 420
        source_file: /src/vlc/modules/lua/extension_thread.c
    constantsTouched: []
    func_position:
      end: 473
      start: 338
    functionDepth: 7
    functionLinenumber: 338
    functionLinenumberEnd: 473
    functionName: Run
    functionSourceFile: /src/vlc/modules/lua/extension_thread.c
    functionUses: 1
    functionsReached:
    - lua_ExtensionTriggerMenu
    - lua_ExecuteFunction
    - vlc_warning
    - assert
    - vlc_thread_set_name
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_timer_disarm
    - FreeCommands
    - msg_Err
    - vlc_dialog_release
    - QueueDeactivateCommand
    - vlc_timer_schedule
    - vlc_debug
    - msg_Dbg
    - lua_ExtensionWidgetClick
    - lua_ExtensionDeactivate
    - vlc_cond_wait
    linkageType: ''
    returnType: void
    signature: void * Run( void *data )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lua_newuserdata
      Src: /src/vlc/modules/lua/libs/xml.c:52,1
    - Dst: luaL_newmetatable
      Src: /src/vlc/modules/lua/libs/xml.c:54,1
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/xml.c:56,1
    - Dst: luaL_register
      Src: /src/vlc/modules/lua/libs/xml.c:57,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/xml.c:58,1
    - Dst: lua_setmetatable
      Src: /src/vlc/modules/lua/libs/xml.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: vlclua_xml_create
    functionSourceFile: /src/vlc/modules/lua/libs/xml.c
    functionUses: 0
    functionsReached:
    - lua_setfield
    - lua_setmetatable
    - lua_newuserdata
    - lua_newtable
    - luaL_register
    - luaL_newmetatable
    linkageType: ''
    returnType: int
    signature: int vlclua_xml_create( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/xml.c:81,1
    - Dst: xml_ReaderDelete
      Src: /src/vlc/modules/lua/libs/xml.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: vlclua_xml_reader_delete
    functionSourceFile: /src/vlc/modules/lua/libs/xml.c
    functionUses: 0
    functionsReached:
    - luaL_checkudata
    - xml_ReaderDelete
    linkageType: ''
    returnType: int
    signature: int vlclua_xml_reader_delete( lua_State *L )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/xml.c:88,1
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/xml.c:89,1
    - Dst: xml_ReaderCreate
      Src: /src/vlc/modules/lua/libs/xml.c:91,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/xml.c:93,1
    - Dst: lua_newuserdata
      Src: /src/vlc/modules/lua/libs/xml.c:95,1
    - Dst: luaL_newmetatable
      Src: /src/vlc/modules/lua/libs/xml.c:98,1
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/xml.c:100,1
    - Dst: luaL_register
      Src: /src/vlc/modules/lua/libs/xml.c:101,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/xml.c:102,1
    - Dst: lua_pushcfunction
      Src: /src/vlc/modules/lua/libs/xml.c:103,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/xml.c:104,1
    - Dst: lua_setmetatable
      Src: /src/vlc/modules/lua/libs/xml.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 109
    functionName: vlclua_xml_create_reader
    functionSourceFile: /src/vlc/modules/lua/libs/xml.c
    functionUses: 0
    functionsReached:
    - lua_setfield
    - lua_setmetatable
    - luaL_error
    - luaL_checkudata
    - lua_newuserdata
    - xml_ReaderCreate
    - vlclua_get_this
    - lua_newtable
    - luaL_register
    - lua_pushcfunction
    - luaL_newmetatable
    linkageType: ''
    returnType: int
    signature: int vlclua_xml_create_reader( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/xml.c:113,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/lua/libs/xml.c:115,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/xml.c:118,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/xml.c:122,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/xml.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: vlclua_xml_reader_next_node
    functionSourceFile: /src/vlc/modules/lua/libs/xml.c
    functionUses: 0
    functionsReached:
    - lua_pushinteger
    - luaL_checkudata
    - xml_ReaderNextNode
    - lua_pushstring
    linkageType: ''
    returnType: int
    signature: int vlclua_xml_reader_next_node( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/xml.c:129,1
    - Dst: xml_ReaderNextAttr
      Src: /src/vlc/modules/lua/libs/xml.c:131,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/xml.c:135,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/xml.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 138
    functionName: vlclua_xml_reader_next_attr
    functionSourceFile: /src/vlc/modules/lua/libs/xml.c
    functionUses: 0
    functionsReached:
    - luaL_checkudata
    - xml_ReaderNextAttr
    - lua_pushstring
    linkageType: ''
    returnType: int
    signature: int vlclua_xml_reader_next_attr( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/xml.c:142,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/xml.c:144,1
    - Dst: xml_ReaderIsEmptyElement
      Src: /src/vlc/modules/lua/libs/xml.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: vlclua_xml_reader_node_empty
    functionSourceFile: /src/vlc/modules/lua/libs/xml.c
    functionUses: 0
    functionsReached:
    - xml_ReaderIsEmptyElement
    - lua_pushinteger
    - luaL_checkudata
    linkageType: ''
    returnType: int
    signature: int vlclua_xml_reader_node_empty( lua_State* L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/vlc/modules/lua/libs/xml.c:150,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/xml.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: luaopen_xml
    functionSourceFile: /src/vlc/modules/lua/libs/xml.c
    functionUses: 5
    functionsReached:
    - lua_pushcfunction
    - lua_setfield
    linkageType: ''
    returnType: void
    signature: void luaopen_xml( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/lua/libs/osd.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - psz_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 64
    functionName: vlc_osd_icon_from_string
    functionSourceFile: /src/vlc/modules/lua/libs/osd.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int vlc_osd_icon_from_string( const char *psz_name )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/osd.c:68,1
    - Dst: vlc_osd_icon_from_string
      Src: /src/vlc/modules/lua/libs/osd.c:69,1
    - Dst: luaL_optinteger
      Src: /src/vlc/modules/lua/libs/osd.c:70,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/osd.c:72,1
    - Dst: vlclua_get_vout_internal
      Src: /src/vlc/modules/lua/libs/osd.c:74,1
    - Dst: vout_OSDIcon
      Src: /src/vlc/modules/lua/libs/osd.c:77,1
    - Dst: vout_Release
      Src: /src/vlc/modules/lua/libs/osd.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 81
    functionName: vlclua_osd_icon
    functionSourceFile: /src/vlc/modules/lua/libs/osd.c
    functionUses: 0
    functionsReached:
    - vlclua_get_vout_internal
    - luaL_error
    - luaL_checkstring
    - vout_OSDIcon
    - luaL_optinteger
    - vlc_osd_icon_from_string
    - vout_Release
    linkageType: ''
    returnType: int
    signature: int vlclua_osd_icon( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/lua/libs/osd.c:100,1
    - Dst: strcmp
      Src: /src/vlc/modules/lua/libs/osd.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - psz_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 106
    functionName: vlc_osd_position_from_string
    functionSourceFile: /src/vlc/modules/lua/libs/osd.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int vlc_osd_position_from_string( const char *psz_name )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/osd.c:110,1
    - Dst: luaL_optinteger
      Src: /src/vlc/modules/lua/libs/osd.c:111,1
    - Dst: luaL_optstring
      Src: /src/vlc/modules/lua/libs/osd.c:112,1
    - Dst: luaL_optinteger
      Src: /src/vlc/modules/lua/libs/osd.c:113,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/lua/libs/osd.c:113,1
    - Dst: vlclua_get_vout_internal
      Src: /src/vlc/modules/lua/libs/osd.c:115,1
    - Dst: vout_OSDText
      Src: /src/vlc/modules/lua/libs/osd.c:118,1
    - Dst: vlc_osd_position_from_string
      Src: /src/vlc/modules/lua/libs/osd.c:118,1
    - Dst: vout_Release
      Src: /src/vlc/modules/lua/libs/osd.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 123
    functionName: vlclua_osd_message
    functionSourceFile: /src/vlc/modules/lua/libs/osd.c
    functionUses: 0
    functionsReached:
    - vlc_osd_position_from_string
    - vlclua_get_vout_internal
    - VLC_TICK_FROM_SEC
    - luaL_optstring
    - luaL_checkstring
    - vout_OSDText
    - luaL_optinteger
    - vout_Release
    linkageType: ''
    returnType: int
    signature: int vlclua_osd_message( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/lua/libs/osd.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - psz_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 142
    functionName: vlc_osd_slider_type_from_string
    functionSourceFile: /src/vlc/modules/lua/libs/osd.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int vlc_osd_slider_type_from_string( const char *psz_name )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/osd.c:146,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/osd.c:147,1
    - Dst: vlc_osd_slider_type_from_string
      Src: /src/vlc/modules/lua/libs/osd.c:148,1
    - Dst: luaL_optinteger
      Src: /src/vlc/modules/lua/libs/osd.c:149,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/osd.c:151,1
    - Dst: vlclua_get_vout_internal
      Src: /src/vlc/modules/lua/libs/osd.c:154,1
    - Dst: vout_OSDSlider
      Src: /src/vlc/modules/lua/libs/osd.c:157,1
    - Dst: vout_Release
      Src: /src/vlc/modules/lua/libs/osd.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 161
    functionName: vlclua_osd_slider
    functionSourceFile: /src/vlc/modules/lua/libs/osd.c
    functionUses: 0
    functionsReached:
    - vlclua_get_vout_internal
    - vlc_osd_slider_type_from_string
    - luaL_error
    - luaL_checkstring
    - luaL_optinteger
    - vout_Release
    - luaL_checkinteger
    - vout_OSDSlider
    linkageType: ''
    returnType: int
    signature: int vlclua_osd_slider( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_vout_internal
      Src: /src/vlc/modules/lua/libs/osd.c:165,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/osd.c:167,1
    - Dst: vout_RegisterSubpictureChannel
      Src: /src/vlc/modules/lua/libs/osd.c:169,1
    - Dst: vout_Release
      Src: /src/vlc/modules/lua/libs/osd.c:170,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/osd.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 173
    functionName: vlclua_spu_channel_register
    functionSourceFile: /src/vlc/modules/lua/libs/osd.c
    functionUses: 0
    functionsReached:
    - vlclua_get_vout_internal
    - luaL_error
    - lua_pushinteger
    - vout_Release
    - vout_RegisterSubpictureChannel
    linkageType: ''
    returnType: int
    signature: int vlclua_spu_channel_register( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/osd.c:177,1
    - Dst: vlclua_get_vout_internal
      Src: /src/vlc/modules/lua/libs/osd.c:178,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/osd.c:180,1
    - Dst: vout_UnregisterSubpictureChannel
      Src: /src/vlc/modules/lua/libs/osd.c:182,1
    - Dst: vout_Release
      Src: /src/vlc/modules/lua/libs/osd.c:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: vlclua_spu_channel_clear
    functionSourceFile: /src/vlc/modules/lua/libs/osd.c
    functionUses: 0
    functionsReached:
    - vlclua_get_vout_internal
    - vout_UnregisterSubpictureChannel
    - luaL_error
    - vout_Release
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_spu_channel_clear( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/osd.c:201,1
    - Dst: luaL_register
      Src: /src/vlc/modules/lua/libs/osd.c:202,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/osd.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: luaopen_osd
    functionSourceFile: /src/vlc/modules/lua/libs/osd.c
    functionUses: 2
    functionsReached:
    - lua_newtable
    - lua_setfield
    - luaL_register
    linkageType: ''
    returnType: void
    signature: void luaopen_osd( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/gettext.c:42,1
    - Dst: _
      Src: /src/vlc/modules/lua/libs/gettext.c:42,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/gettext.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: vlclua_gettext
    functionSourceFile: /src/vlc/modules/lua/libs/gettext.c
    functionUses: 0
    functionsReached:
    - luaL_checkstring
    - _
    - lua_pushstring
    linkageType: ''
    returnType: int
    signature: int vlclua_gettext( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_settop
      Src: /src/vlc/modules/lua/libs/gettext.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: vlclua_gettext_noop
    functionSourceFile: /src/vlc/modules/lua/libs/gettext.c
    functionUses: 0
    functionsReached:
    - lua_settop
    linkageType: ''
    returnType: int
    signature: int vlclua_gettext_noop( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/gettext.c:64,1
    - Dst: luaL_register
      Src: /src/vlc/modules/lua/libs/gettext.c:65,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/gettext.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: luaopen_gettext
    functionSourceFile: /src/vlc/modules/lua/libs/gettext.c
    functionUses: 2
    functionsReached:
    - lua_newtable
    - lua_setfield
    - luaL_register
    linkageType: ''
    returnType: void
    signature: void luaopen_gettext( lua_State *L )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/vlm.c:54,1
    - Dst: vlm_New
      Src: /src/vlc/modules/lua/libs/vlm.c:55,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/lua/libs/vlm.c:55,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/vlm.c:57,1
    - Dst: lua_newuserdata
      Src: /src/vlc/modules/lua/libs/vlm.c:59,1
    - Dst: luaL_newmetatable
      Src: /src/vlc/modules/lua/libs/vlm.c:62,1
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/vlm.c:64,1
    - Dst: luaL_register
      Src: /src/vlc/modules/lua/libs/vlm.c:65,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/vlm.c:66,1
    - Dst: lua_pushcfunction
      Src: /src/vlc/modules/lua/libs/vlm.c:67,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/vlm.c:68,1
    - Dst: lua_setmetatable
      Src: /src/vlc/modules/lua/libs/vlm.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 73
    functionName: vlclua_vlm_new
    functionSourceFile: /src/vlc/modules/lua/libs/vlm.c
    functionUses: 0
    functionsReached:
    - lua_setfield
    - lua_setmetatable
    - luaL_error
    - lua_newuserdata
    - vlc_object_instance
    - vlclua_get_this
    - lua_newtable
    - vlm_New
    - luaL_register
    - lua_pushcfunction
    - luaL_newmetatable
    linkageType: ''
    returnType: int
    signature: int vlclua_vlm_new( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/vlm.c:77,1
    - Dst: vlm_Delete
      Src: /src/vlc/modules/lua/libs/vlm.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: vlclua_vlm_delete
    functionSourceFile: /src/vlc/modules/lua/libs/vlm.c
    functionUses: 0
    functionsReached:
    - luaL_checkudata
    - vlm_Delete
    linkageType: ''
    returnType: int
    signature: int vlclua_vlm_delete( lua_State *L )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lua_createtable
      Src: /src/vlc/modules/lua/libs/vlm.c:84,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/vlm.c:85,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/vlm.c:86,1
    - Dst: lua_createtable
      Src: /src/vlc/modules/lua/libs/vlm.c:90,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/vlm.c:93,1
    - Dst: push_message
      Src: /src/vlc/modules/lua/libs/vlm.c:94,1
    - Dst: lua_settable
      Src: /src/vlc/modules/lua/libs/vlm.c:95,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/vlm.c:97,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/vlm.c:101,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/vlm.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - L
    - message
    argTypes:
    - lua_State*
    - vlm_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 104
    functionName: push_message
    functionSourceFile: /src/vlc/modules/lua/libs/vlm.c
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_pushstring
    - lua_settable
    - push_message
    - lua_pushinteger
    - lua_createtable
    linkageType: ''
    returnType: void
    signature: void push_message( lua_State *L, vlm_message_t *message )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/vlm.c:108,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/vlm.c:109,1
    - Dst: vlm_ExecuteCommand
      Src: /src/vlc/modules/lua/libs/vlm.c:112,1
    - Dst: lua_settop
      Src: /src/vlc/modules/lua/libs/vlm.c:113,1
    - Dst: push_message
      Src: /src/vlc/modules/lua/libs/vlm.c:114,1
    - Dst: vlm_MessageDelete
      Src: /src/vlc/modules/lua/libs/vlm.c:115,1
    - Dst: vlclua_push_ret
      Src: /src/vlc/modules/lua/libs/vlm.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: vlclua_vlm_execute_command
    functionSourceFile: /src/vlc/modules/lua/libs/vlm.c
    functionUses: 0
    functionsReached:
    - luaL_checkudata
    - vlclua_push_ret
    - push_message
    - luaL_checkstring
    - vlm_MessageDelete
    - lua_settop
    - vlm_ExecuteCommand
    linkageType: ''
    returnType: int
    signature: int vlclua_vlm_execute_command( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/vlm.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: vlclua_vlm_new
    functionSourceFile: /src/vlc/modules/lua/libs/vlm.c
    functionUses: 0
    functionsReached:
    - luaL_error
    linkageType: ''
    returnType: int
    signature: int vlclua_vlm_new( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/vlc/modules/lua/libs/vlm.c:131,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/vlm.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: luaopen_vlm
    functionSourceFile: /src/vlc/modules/lua/libs/vlm.c
    functionUses: 2
    functionsReached:
    - lua_pushcfunction
    - lua_setfield
    linkageType: ''
    returnType: void
    signature: void luaopen_vlm( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushlightuserdata
      Src: /src/vlc/modules/lua/libs/misc.c:57,1
    - Dst: lua_pushlightuserdata
      Src: /src/vlc/modules/lua/libs/misc.c:58,1
    - Dst: lua_rawset
      Src: /src/vlc/modules/lua/libs/misc.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - L
    - id
    - value
    argTypes:
    - lua_State*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: vlclua_set_object
    functionSourceFile: /src/vlc/modules/lua/libs/misc.c
    functionUses: 0
    functionsReached:
    - lua_pushlightuserdata
    - lua_rawset
    linkageType: ''
    returnType: void
    signature: void vlclua_set_object( lua_State *L, void *id, void *value )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushlightuserdata
      Src: /src/vlc/modules/lua/libs/misc.c:64,1
    - Dst: lua_rawget
      Src: /src/vlc/modules/lua/libs/misc.c:65,1
    - Dst: lua_topointer
      Src: /src/vlc/modules/lua/libs/misc.c:66,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/libs/misc.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - L
    - id
    argTypes:
    - lua_State*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: vlclua_get_object
    functionSourceFile: /src/vlc/modules/lua/libs/misc.c
    functionUses: 0
    functionsReached:
    - lua_rawget
    - lua_pushlightuserdata
    - lua_topointer
    - lua_pop
    linkageType: ''
    returnType: void
    signature: void *vlclua_get_object( lua_State *L, void *id )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_set_object
      Src: /src/vlc/modules/lua/libs/misc.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - L
    - p_this
    argTypes:
    - lua_State*
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: vlclua_set_this
    functionSourceFile: /src/vlc/modules/lua/libs/misc.c
    functionUses: 5
    functionsReached:
    - vlclua_set_object
    linkageType: ''
    returnType: void
    signature: void vlclua_set_this( lua_State *L, vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_object
      Src: /src/vlc/modules/lua/libs/misc.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: vlclua_get_this
    functionSourceFile: /src/vlc/modules/lua/libs/misc.c
    functionUses: 6
    functionsReached:
    - vlclua_get_object
    linkageType: ''
    returnType: vlc_object_t
    signature: vlc_object_t * vlclua_get_this( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_playlist_internal
      Src: /src/vlc/modules/lua/libs/misc.c:84,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/lua/libs/misc.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: vlclua_get_player_internal
    functionSourceFile: /src/vlc/modules/lua/libs/misc.c
    functionUses: 0
    functionsReached:
    - vlclua_get_playlist_internal
    - vlc_playlist_GetPlayer
    linkageType: ''
    returnType: vlc_player_t
    signature: vlc_player_t *vlclua_get_player_internal( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushnumber
      Src: /src/vlc/modules/lua/libs/misc.c:95,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/lua/libs/misc.c:100,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/misc.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - L
    - i_error
    argTypes:
    - lua_State*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: vlclua_push_ret
    functionSourceFile: /src/vlc/modules/lua/libs/misc.c
    functionUses: 1
    functionsReached:
    - vlc_strerror_c
    - lua_pushnumber
    - lua_pushstring
    linkageType: ''
    returnType: int
    signature: int vlclua_push_ret( lua_State *L, int i_error )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/misc.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: vlclua_version
    functionSourceFile: /src/vlc/modules/lua/libs/misc.c
    functionUses: 0
    functionsReached:
    - lua_pushstring
    linkageType: ''
    returnType: int
    signature: int vlclua_version( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushliteral
      Src: /src/vlc/modules/lua/libs/misc.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: vlclua_copyright
    functionSourceFile: /src/vlc/modules/lua/libs/misc.c
    functionUses: 0
    functionsReached:
    - lua_pushliteral
    linkageType: ''
    returnType: int
    signature: int vlclua_copyright( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/misc.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: vlclua_license
    functionSourceFile: /src/vlc/modules/lua/libs/misc.c
    functionUses: 0
    functionsReached:
    - lua_pushstring
    linkageType: ''
    returnType: int
    signature: int vlclua_license( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/misc.c:138,1
    - Dst: libvlc_Quit
      Src: /src/vlc/modules/lua/libs/misc.c:141,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/lua/libs/misc.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: vlclua_quit
    functionSourceFile: /src/vlc/modules/lua/libs/misc.c
    functionUses: 0
    functionsReached:
    - vlc_object_instance
    - libvlc_Quit
    - vlclua_get_this
    linkageType: ''
    returnType: int
    signature: int vlclua_quit( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushnumber
      Src: /src/vlc/modules/lua/libs/misc.c:147,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/lua/libs/misc.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: vlclua_mdate
    functionSourceFile: /src/vlc/modules/lua/libs/misc.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - lua_pushnumber
    linkageType: ''
    returnType: int
    signature: int vlclua_mdate( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checknumber
      Src: /src/vlc/modules/lua/libs/misc.c:153,1
    - Dst: vlclua_set_interrupt
      Src: /src/vlc/modules/lua/libs/misc.c:155,1
    - Dst: vlc_mwait_i11e
      Src: /src/vlc/modules/lua/libs/misc.c:156,1
    - Dst: llround
      Src: /src/vlc/modules/lua/libs/misc.c:156,1
    - Dst: vlc_interrupt_set
      Src: /src/vlc/modules/lua/libs/misc.c:158,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/misc.c:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 162
    functionName: vlclua_mwait
    functionSourceFile: /src/vlc/modules/lua/libs/misc.c
    functionUses: 0
    functionsReached:
    - luaL_error
    - luaL_checknumber
    - vlc_interrupt_set
    - llround
    - vlclua_set_interrupt
    - vlc_mwait_i11e
    linkageType: ''
    returnType: int
    signature: int vlclua_mwait( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_actions_get_id
      Src: /src/vlc/modules/lua/libs/misc.c:166,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/misc.c:166,1
    - Dst: lua_pushnumber
      Src: /src/vlc/modules/lua/libs/misc.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: vlclua_action_id
    functionSourceFile: /src/vlc/modules/lua/libs/misc.c
    functionUses: 0
    functionsReached:
    - luaL_checkstring
    - vlc_actions_get_id
    - lua_pushnumber
    linkageType: ''
    returnType: int
    signature: int vlclua_action_id( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/misc.c:193,1
    - Dst: luaL_register
      Src: /src/vlc/modules/lua/libs/misc.c:194,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/misc.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: luaopen_misc
    functionSourceFile: /src/vlc/modules/lua/libs/misc.c
    functionUses: 1
    functionsReached:
    - lua_newtable
    - lua_setfield
    - luaL_register
    linkageType: ''
    returnType: void
    signature: void luaopen_misc( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/lua/libs/renderers.c:55,1
    - Dst: vlc_renderer_item_name
      Src: /src/vlc/modules/lua/libs/renderers.c:55,1
    - Dst: vlc_renderer_item_name
      Src: /src/vlc/modules/lua/libs/renderers.c:55,1
    - Dst: strcmp
      Src: /src/vlc/modules/lua/libs/renderers.c:56,1
    - Dst: vlc_renderer_item_type
      Src: /src/vlc/modules/lua/libs/renderers.c:56,1
    - Dst: vlc_renderer_item_type
      Src: /src/vlc/modules/lua/libs/renderers.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - rhs
    - lhs
    argTypes:
    - vlc_renderer_item_t*
    - vlc_renderer_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: vlclua_renderer_compare
    functionSourceFile: /src/vlc/modules/lua/libs/renderers.c
    functionUses: 0
    functionsReached:
    - strcmp
    - vlc_renderer_item_name
    - vlc_renderer_item_type
    linkageType: ''
    returnType: bool
    signature: "bool vlclua_renderer_compare( vlc_renderer_item_t* rhs,\n                                     vlc_renderer_item_t*
      lhs )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/renderers.c:61,1
    - Dst: vlclua_get_player_internal
      Src: /src/vlc/modules/lua/libs/renderers.c:64,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/lua/libs/renderers.c:65,1
    - Dst: vlc_player_GetRenderer
      Src: /src/vlc/modules/lua/libs/renderers.c:66,1
    - Dst: vlc_renderer_item_hold
      Src: /src/vlc/modules/lua/libs/renderers.c:68,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/lua/libs/renderers.c:69,1
    - Dst: lua_createtable
      Src: /src/vlc/modules/lua/libs/renderers.c:71,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/libs/renderers.c:72,1
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/renderers.c:75,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/renderers.c:77,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/renderers.c:78,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/renderers.c:79,1
    - Dst: vlc_renderer_item_name
      Src: /src/vlc/modules/lua/libs/renderers.c:79,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/renderers.c:80,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/renderers.c:81,1
    - Dst: vlc_renderer_item_type
      Src: /src/vlc/modules/lua/libs/renderers.c:81,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/renderers.c:82,1
    - Dst: vlclua_renderer_compare
      Src: /src/vlc/modules/lua/libs/renderers.c:85,1
    - Dst: lua_pushboolean
      Src: /src/vlc/modules/lua/libs/renderers.c:86,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/renderers.c:87,1
    - Dst: lua_rawseti
      Src: /src/vlc/modules/lua/libs/renderers.c:89,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/libs/renderers.c:91,1
    - Dst: vlc_renderer_item_release
      Src: /src/vlc/modules/lua/libs/renderers.c:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 97
    functionName: vlclua_rd_list
    functionSourceFile: /src/vlc/modules/lua/libs/renderers.c
    functionUses: 0
    functionsReached:
    - lua_setfield
    - vlc_renderer_item_hold
    - lua_pushstring
    - vlc_player_GetRenderer
    - luaL_checkudata
    - lua_pushinteger
    - vlc_renderer_item_release
    - lua_createtable
    - vlc_renderer_item_name
    - vlc_mutex_lock
    - vlc_player_Unlock
    - vlclua_get_player_internal
    - lua_newtable
    - vlclua_renderer_compare
    - vlc_renderer_item_type
    - lua_pushboolean
    - lua_rawseti
    - vlc_mutex_unlock
    - vlc_player_Lock
    linkageType: ''
    returnType: int
    signature: int vlclua_rd_list( lua_State* L )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_player_internal
      Src: /src/vlc/modules/lua/libs/renderers.c:101,1
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/renderers.c:104,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/renderers.c:105,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/lua/libs/renderers.c:108,1
    - Dst: vlc_player_SetRenderer
      Src: /src/vlc/modules/lua/libs/renderers.c:109,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/lua/libs/renderers.c:110,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/libs/renderers.c:112,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/lua/libs/renderers.c:117,1
    - Dst: vlc_player_SetRenderer
      Src: /src/vlc/modules/lua/libs/renderers.c:118,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/lua/libs/renderers.c:119,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/libs/renderers.c:121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 123
    functionName: vlclua_rd_select
    functionSourceFile: /src/vlc/modules/lua/libs/renderers.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - luaL_checkudata
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlclua_get_player_internal
    - vlc_player_SetRenderer
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_rd_select( lua_State* L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/renderers.c:133,1
    - Dst: vlc_rd_release
      Src: /src/vlc/modules/lua/libs/renderers.c:134,1
    - Dst: vlc_renderer_item_release
      Src: /src/vlc/modules/lua/libs/renderers.c:136,1
    - Dst: vlc_vector_destroy
      Src: /src/vlc/modules/lua/libs/renderers.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: vlclua_rd_obj_delete
    functionSourceFile: /src/vlc/modules/lua/libs/renderers.c
    functionUses: 0
    functionsReached:
    - vlc_rd_release
    - vlc_renderer_item_release
    - luaL_checkudata
    - vlc_vector_destroy
    linkageType: ''
    returnType: int
    signature: int vlclua_rd_obj_delete( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/libs/renderers.c:145,1
    - Dst: vlc_renderer_item_hold
      Src: /src/vlc/modules/lua/libs/renderers.c:149,1
    - Dst: vlc_vector_push
      Src: /src/vlc/modules/lua/libs/renderers.c:151,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/libs/renderers.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rd
    - item
    argTypes:
    - struct vlc_renderer_discovery_t*
    - struct vlc_renderer_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 153
    functionName: vlclua_rd_on_item_added
    functionSourceFile: /src/vlc/modules/lua/libs/renderers.c
    functionUses: 0
    functionsReached:
    - vlc_vector_push
    - vlc_renderer_item_hold
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: "void vlclua_rd_on_item_added( struct vlc_renderer_discovery_t* rd,\n
      \                                     struct vlc_renderer_item_t* item )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/libs/renderers.c:160,1
    - Dst: vlclua_renderer_compare
      Src: /src/vlc/modules/lua/libs/renderers.c:163,1
    - Dst: vlc_vector_remove
      Src: /src/vlc/modules/lua/libs/renderers.c:165,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/libs/renderers.c:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - rd
    - item
    argTypes:
    - struct vlc_renderer_discovery_t*
    - struct vlc_renderer_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 169
    functionName: vlclua_rd_on_item_removed
    functionSourceFile: /src/vlc/modules/lua/libs/renderers.c
    functionUses: 0
    functionsReached:
    - vlc_vector_remove
    - vlc_mutex_unlock
    - vlclua_renderer_compare
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: "void vlclua_rd_on_item_removed( struct vlc_renderer_discovery_t* rd,\n
      \                                       struct vlc_renderer_item_t* item )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lua_newuserdata
      Src: /src/vlc/modules/lua/libs/renderers.c:173,1
    - Dst: vlc_vector_init
      Src: /src/vlc/modules/lua/libs/renderers.c:179,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/lua/libs/renderers.c:180,1
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/renderers.c:183,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/renderers.c:184,1
    - Dst: vlc_rd_new
      Src: /src/vlc/modules/lua/libs/renderers.c:186,1
    - Dst: vlc_vector_destroy
      Src: /src/vlc/modules/lua/libs/renderers.c:189,1
    - Dst: luaL_newmetatable
      Src: /src/vlc/modules/lua/libs/renderers.c:193,1
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/renderers.c:195,1
    - Dst: luaL_register
      Src: /src/vlc/modules/lua/libs/renderers.c:196,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/renderers.c:197,1
    - Dst: lua_pushcfunction
      Src: /src/vlc/modules/lua/libs/renderers.c:198,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/renderers.c:199,1
    - Dst: lua_setmetatable
      Src: /src/vlc/modules/lua/libs/renderers.c:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 204
    functionName: vlclua_rd_create
    functionSourceFile: /src/vlc/modules/lua/libs/renderers.c
    functionUses: 0
    functionsReached:
    - lua_setfield
    - vlc_rd_new
    - lua_setmetatable
    - vlc_mutex_init
    - vlc_vector_init
    - lua_newuserdata
    - vlclua_get_this
    - lua_newtable
    - luaL_checkstring
    - vlc_vector_destroy
    - luaL_register
    - lua_pushcfunction
    - luaL_newmetatable
    linkageType: ''
    returnType: int
    signature: int vlclua_rd_create( lua_State* L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/renderers.c:213,1
    - Dst: luaL_register
      Src: /src/vlc/modules/lua/libs/renderers.c:214,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/renderers.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 216
    functionName: luaopen_rd
    functionSourceFile: /src/vlc/modules/lua/libs/renderers.c
    functionUses: 2
    functionsReached:
    - lua_newtable
    - lua_setfield
    - luaL_register
    linkageType: ''
    returnType: void
    signature: void luaopen_rd( lua_State *L )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/httpd.c:84,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/lua/libs/httpd.c:85,1
    - Dst: vlc_http_HostNew
      Src: /src/vlc/modules/lua/libs/httpd.c:86,1
    - Dst: vlc_https_HostNew
      Src: /src/vlc/modules/lua/libs/httpd.c:87,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/httpd.c:88,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/httpd.c:90,1
    - Dst: lua_newuserdata
      Src: /src/vlc/modules/lua/libs/httpd.c:92,1
    - Dst: luaL_newmetatable
      Src: /src/vlc/modules/lua/libs/httpd.c:95,1
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/httpd.c:97,1
    - Dst: luaL_register
      Src: /src/vlc/modules/lua/libs/httpd.c:98,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/httpd.c:99,1
    - Dst: lua_pushcfunction
      Src: /src/vlc/modules/lua/libs/httpd.c:100,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/httpd.c:101,1
    - Dst: lua_setmetatable
      Src: /src/vlc/modules/lua/libs/httpd.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 106
    functionName: vlclua_httpd_tls_host_new
    functionSourceFile: /src/vlc/modules/lua/libs/httpd.c
    functionUses: 0
    functionsReached:
    - lua_setfield
    - lua_setmetatable
    - var_InheritString
    - luaL_error
    - vlc_http_HostNew
    - lua_newuserdata
    - vlclua_get_this
    - free
    - lua_newtable
    - luaL_register
    - vlc_https_HostNew
    - lua_pushcfunction
    - luaL_newmetatable
    linkageType: ''
    returnType: int
    signature: int vlclua_httpd_tls_host_new( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/httpd.c:110,1
    - Dst: httpd_HostDelete
      Src: /src/vlc/modules/lua/libs/httpd.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: vlclua_httpd_host_delete
    functionSourceFile: /src/vlc/modules/lua/libs/httpd.c
    functionUses: 0
    functionsReached:
    - httpd_HostDelete
    - luaL_checkudata
    linkageType: ''
    returnType: int
    signature: int vlclua_httpd_host_delete( lua_State *L )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/lua/libs/httpd.c:131,1
    - Dst: lua_pushvalue
      Src: /src/vlc/modules/lua/libs/httpd.c:136,1
    - Dst: lua_pushvalue
      Src: /src/vlc/modules/lua/libs/httpd.c:137,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/httpd.c:139,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/httpd.c:141,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/httpd.c:143,1
    - Dst: lua_pushlstring
      Src: /src/vlc/modules/lua/libs/httpd.c:145,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/httpd.c:147,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/httpd.c:149,1
    - Dst: lua_pcall
      Src: /src/vlc/modules/lua/libs/httpd.c:151,1
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/httpd.c:154,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/libs/httpd.c:155,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/libs/httpd.c:156,1
    - Dst: asprintf
      Src: /src/vlc/modules/lua/libs/httpd.c:159,1
    - Dst: strlen
      Src: /src/vlc/modules/lua/libs/httpd.c:160,1
    - Dst: strlen
      Src: /src/vlc/modules/lua/libs/httpd.c:165,1
    - Dst: lua_settop
      Src: /src/vlc/modules/lua/libs/httpd.c:167,1
    - Dst: vlclua_todata
      Src: /src/vlc/modules/lua/libs/httpd.c:172,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/httpd.c:175,1
    - Dst: asprintf
      Src: /src/vlc/modules/lua/libs/httpd.c:177,1
    - Dst: _
      Src: /src/vlc/modules/lua/libs/httpd.c:178,1
    - Dst: _
      Src: /src/vlc/modules/lua/libs/httpd.c:178,1
    - Dst: strlen
      Src: /src/vlc/modules/lua/libs/httpd.c:181,1
    - Dst: asprintf
      Src: /src/vlc/modules/lua/libs/httpd.c:182,1
    - Dst: strlen
      Src: /src/vlc/modules/lua/libs/httpd.c:187,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/httpd.c:188,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/libs/httpd.c:191,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 11
    argNames:
    - opaque
    - p_handler
    - psz_url
    - psz_request
    - i_type
    - p_in
    - i_in
    - psz_remote_addr
    - psz_remote_host
    - pp_data
    - pi_data
    argTypes:
    - void*
    - httpd_handler_t*
    - char*
    - uint8_t*
    - int
    - uint8_t*
    - int
    - char*
    - char*
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 194
    functionName: vlclua_httpd_handler_callback
    functionSourceFile: /src/vlc/modules/lua/libs/httpd.c
    functionUses: 0
    functionsReached:
    - asprintf
    - lua_pushstring
    - lua_pushvalue
    - lua_tostring
    - strlen
    - _
    - lua_pcall
    - vlclua_get_this
    - msg_Err
    - free
    - lua_pushinteger
    - lua_settop
    - vlclua_todata
    - lua_pop
    - lua_pushlstring
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int vlclua_httpd_handler_callback(\n     void *opaque, httpd_handler_t
      *p_handler, char *psz_url,\n     uint8_t *psz_request, int i_type, uint8_t *p_in,
      int i_in,\n     char *psz_remote_addr, char *psz_remote_host,\n     uint8_t
      **pp_data, size_t *pi_data )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/httpd.c:198,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/httpd.c:199,1
    - Dst: luaL_nilorcheckstring
      Src: /src/vlc/modules/lua/libs/httpd.c:200,1
    - Dst: luaL_nilorcheckstring
      Src: /src/vlc/modules/lua/libs/httpd.c:201,1
    - Dst: luaL_argcheck
      Src: /src/vlc/modules/lua/libs/httpd.c:203,1
    - Dst: lua_isfunction
      Src: /src/vlc/modules/lua/libs/httpd.c:203,1
    - Dst: lua_settop
      Src: /src/vlc/modules/lua/libs/httpd.c:205,1
    - Dst: malloc
      Src: /src/vlc/modules/lua/libs/httpd.c:206,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/httpd.c:208,1
    - Dst: lua_newthread
      Src: /src/vlc/modules/lua/libs/httpd.c:209,1
    - Dst: luaL_ref
      Src: /src/vlc/modules/lua/libs/httpd.c:210,1
    - Dst: lua_xmove
      Src: /src/vlc/modules/lua/libs/httpd.c:214,1
    - Dst: httpd_HandlerNew
      Src: /src/vlc/modules/lua/libs/httpd.c:215,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/httpd.c:220,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/httpd.c:221,1
    - Dst: lua_newuserdata
      Src: /src/vlc/modules/lua/libs/httpd.c:224,1
    - Dst: luaL_newmetatable
      Src: /src/vlc/modules/lua/libs/httpd.c:227,1
    - Dst: lua_pushcfunction
      Src: /src/vlc/modules/lua/libs/httpd.c:229,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/httpd.c:230,1
    - Dst: lua_setmetatable
      Src: /src/vlc/modules/lua/libs/httpd.c:233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 235
    functionName: vlclua_httpd_handler_new
    functionSourceFile: /src/vlc/modules/lua/libs/httpd.c
    functionUses: 0
    functionsReached:
    - httpd_HandlerNew
    - lua_newthread
    - lua_setfield
    - lua_setmetatable
    - lua_isfunction
    - luaL_error
    - luaL_nilorcheckstring
    - luaL_checkudata
    - luaL_ref
    - lua_xmove
    - lua_newuserdata
    - luaL_argcheck
    - free
    - luaL_checkstring
    - lua_settop
    - lua_pushcfunction
    - luaL_newmetatable
    - malloc
    linkageType: ''
    returnType: int
    signature: int vlclua_httpd_handler_new( lua_State * L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/httpd.c:239,1
    - Dst: httpd_HandlerDelete
      Src: /src/vlc/modules/lua/libs/httpd.c:240,1
    - Dst: luaL_unref
      Src: /src/vlc/modules/lua/libs/httpd.c:241,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/httpd.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 244
    functionName: vlclua_httpd_handler_delete
    functionSourceFile: /src/vlc/modules/lua/libs/httpd.c
    functionUses: 0
    functionsReached:
    - httpd_HandlerDelete
    - luaL_checkudata
    - free
    - luaL_unref
    linkageType: ''
    returnType: int
    signature: int vlclua_httpd_handler_delete( lua_State *L )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/lua/libs/httpd.c:260,1
    - Dst: lua_pushvalue
      Src: /src/vlc/modules/lua/libs/httpd.c:264,1
    - Dst: lua_pushvalue
      Src: /src/vlc/modules/lua/libs/httpd.c:265,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/httpd.c:267,1
    - Dst: lua_pcall
      Src: /src/vlc/modules/lua/libs/httpd.c:269,1
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/httpd.c:272,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/libs/httpd.c:273,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/libs/httpd.c:274,1
    - Dst: lua_settop
      Src: /src/vlc/modules/lua/libs/httpd.c:276,1
    - Dst: vlclua_todata
      Src: /src/vlc/modules/lua/libs/httpd.c:281,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/httpd.c:284,1
    - Dst: asprintf
      Src: /src/vlc/modules/lua/libs/httpd.c:285,1
    - Dst: _
      Src: /src/vlc/modules/lua/libs/httpd.c:286,1
    - Dst: _
      Src: /src/vlc/modules/lua/libs/httpd.c:286,1
    - Dst: strlen
      Src: /src/vlc/modules/lua/libs/httpd.c:289,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/libs/httpd.c:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 5
    argNames:
    - p_sys
    - p_file
    - psz_request
    - pp_data
    - pi_data
    argTypes:
    - httpd_file_sys_t*
    - httpd_file_t*
    - uint8_t*
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 295
    functionName: vlclua_httpd_file_callback
    functionSourceFile: /src/vlc/modules/lua/libs/httpd.c
    functionUses: 0
    functionsReached:
    - asprintf
    - lua_pushstring
    - lua_pushvalue
    - lua_tostring
    - strlen
    - _
    - vlclua_get_this
    - lua_pcall
    - msg_Err
    - free
    - lua_settop
    - vlclua_todata
    - lua_pop
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int vlclua_httpd_file_callback(\n    httpd_file_sys_t *p_sys, httpd_file_t
      *p_file, uint8_t *psz_request,\n    uint8_t **pp_data, size_t *pi_data )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/httpd.c:299,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/httpd.c:300,1
    - Dst: luaL_nilorcheckstring
      Src: /src/vlc/modules/lua/libs/httpd.c:301,1
    - Dst: luaL_nilorcheckstring
      Src: /src/vlc/modules/lua/libs/httpd.c:302,1
    - Dst: luaL_nilorcheckstring
      Src: /src/vlc/modules/lua/libs/httpd.c:303,1
    - Dst: luaL_argcheck
      Src: /src/vlc/modules/lua/libs/httpd.c:305,1
    - Dst: lua_isfunction
      Src: /src/vlc/modules/lua/libs/httpd.c:305,1
    - Dst: malloc
      Src: /src/vlc/modules/lua/libs/httpd.c:308,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/httpd.c:310,1
    - Dst: lua_newthread
      Src: /src/vlc/modules/lua/libs/httpd.c:311,1
    - Dst: luaL_ref
      Src: /src/vlc/modules/lua/libs/httpd.c:313,1
    - Dst: lua_xmove
      Src: /src/vlc/modules/lua/libs/httpd.c:314,1
    - Dst: httpd_FileNew
      Src: /src/vlc/modules/lua/libs/httpd.c:315,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/httpd.c:320,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/httpd.c:321,1
    - Dst: lua_newuserdata
      Src: /src/vlc/modules/lua/libs/httpd.c:324,1
    - Dst: luaL_newmetatable
      Src: /src/vlc/modules/lua/libs/httpd.c:327,1
    - Dst: lua_pushcfunction
      Src: /src/vlc/modules/lua/libs/httpd.c:329,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/httpd.c:330,1
    - Dst: lua_setmetatable
      Src: /src/vlc/modules/lua/libs/httpd.c:333,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 335
    functionName: vlclua_httpd_file_new
    functionSourceFile: /src/vlc/modules/lua/libs/httpd.c
    functionUses: 0
    functionsReached:
    - lua_setfield
    - lua_newthread
    - lua_setmetatable
    - lua_isfunction
    - luaL_error
    - luaL_nilorcheckstring
    - luaL_checkudata
    - luaL_ref
    - lua_xmove
    - lua_newuserdata
    - luaL_argcheck
    - free
    - luaL_checkstring
    - httpd_FileNew
    - lua_pushcfunction
    - luaL_newmetatable
    - malloc
    linkageType: ''
    returnType: int
    signature: int vlclua_httpd_file_new( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/httpd.c:339,1
    - Dst: httpd_FileDelete
      Src: /src/vlc/modules/lua/libs/httpd.c:340,1
    - Dst: luaL_unref
      Src: /src/vlc/modules/lua/libs/httpd.c:341,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/httpd.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 344
    functionName: vlclua_httpd_file_delete
    functionSourceFile: /src/vlc/modules/lua/libs/httpd.c
    functionUses: 0
    functionsReached:
    - free
    - luaL_checkudata
    - httpd_FileDelete
    - luaL_unref
    linkageType: ''
    returnType: int
    signature: int vlclua_httpd_file_delete( lua_State *L )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/httpd.c:351,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/httpd.c:352,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/httpd.c:353,1
    - Dst: httpd_RedirectNew
      Src: /src/vlc/modules/lua/libs/httpd.c:354,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/httpd.c:358,1
    - Dst: lua_newuserdata
      Src: /src/vlc/modules/lua/libs/httpd.c:360,1
    - Dst: luaL_newmetatable
      Src: /src/vlc/modules/lua/libs/httpd.c:363,1
    - Dst: lua_pushcfunction
      Src: /src/vlc/modules/lua/libs/httpd.c:365,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/httpd.c:366,1
    - Dst: lua_setmetatable
      Src: /src/vlc/modules/lua/libs/httpd.c:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 371
    functionName: vlclua_httpd_redirect_new
    functionSourceFile: /src/vlc/modules/lua/libs/httpd.c
    functionUses: 0
    functionsReached:
    - lua_setfield
    - lua_setmetatable
    - luaL_error
    - luaL_checkudata
    - lua_newuserdata
    - httpd_RedirectNew
    - luaL_checkstring
    - lua_pushcfunction
    - luaL_newmetatable
    linkageType: ''
    returnType: int
    signature: int vlclua_httpd_redirect_new( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/httpd.c:375,1
    - Dst: httpd_RedirectDelete
      Src: /src/vlc/modules/lua/libs/httpd.c:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 378
    functionName: vlclua_httpd_redirect_delete
    functionSourceFile: /src/vlc/modules/lua/libs/httpd.c
    functionUses: 0
    functionsReached:
    - luaL_checkudata
    - httpd_RedirectDelete
    linkageType: ''
    returnType: int
    signature: int vlclua_httpd_redirect_delete( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lua_tolstring
      Src: /src/vlc/modules/lua/libs/httpd.c:385,1
    - Dst: malloc
      Src: /src/vlc/modules/lua/libs/httpd.c:386,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/httpd.c:389,1
    - Dst: memcpy
      Src: /src/vlc/modules/lua/libs/httpd.c:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - L
    - narg
    - pi_data
    argTypes:
    - lua_State*
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 394
    functionName: vlclua_todata
    functionSourceFile: /src/vlc/modules/lua/libs/httpd.c
    functionUses: 2
    functionsReached:
    - luaL_error
    - memcpy
    - malloc
    - lua_tolstring
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *vlclua_todata( lua_State *L, int narg, size_t *pi_data )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/vlc/modules/lua/libs/httpd.c:401,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/httpd.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 403
    functionName: luaopen_httpd
    functionSourceFile: /src/vlc/modules/lua/libs/httpd.c
    functionUses: 1
    functionsReached:
    - lua_pushcfunction
    - lua_setfield
    linkageType: ''
    returnType: void
    signature: void luaopen_httpd( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_set_object
      Src: /src/vlc/modules/lua/libs/playlist.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - L
    - playlist
    argTypes:
    - lua_State*
    - vlc_playlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: vlclua_set_playlist_internal
    functionSourceFile: /src/vlc/modules/lua/libs/playlist.c
    functionUses: 2
    functionsReached:
    - vlclua_set_object
    linkageType: ''
    returnType: void
    signature: void vlclua_set_playlist_internal(lua_State *L, vlc_playlist_t *playlist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_object
      Src: /src/vlc/modules/lua/libs/playlist.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: vlclua_get_playlist_internal
    functionSourceFile: /src/vlc/modules/lua/libs/playlist.c
    functionUses: 1
    functionsReached:
    - vlclua_get_object
    linkageType: ''
    returnType: vlc_playlist_t
    signature: vlc_playlist_t *vlclua_get_playlist_internal(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_playlist_internal
      Src: /src/vlc/modules/lua/libs/playlist.c:58,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/lua/libs/playlist.c:59,1
    - Dst: vlc_playlist_Prev
      Src: /src/vlc/modules/lua/libs/playlist.c:60,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/lua/libs/playlist.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: vlclua_playlist_prev
    functionSourceFile: /src/vlc/modules/lua/libs/playlist.c
    functionUses: 0
    functionsReached:
    - vlclua_get_playlist_internal
    - vlc_playlist_Prev
    - vlc_playlist_Unlock
    - vlc_playlist_Lock
    linkageType: ''
    returnType: int
    signature: int vlclua_playlist_prev(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_playlist_internal
      Src: /src/vlc/modules/lua/libs/playlist.c:67,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/lua/libs/playlist.c:68,1
    - Dst: vlc_playlist_Next
      Src: /src/vlc/modules/lua/libs/playlist.c:69,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/lua/libs/playlist.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: vlclua_playlist_next
    functionSourceFile: /src/vlc/modules/lua/libs/playlist.c
    functionUses: 0
    functionsReached:
    - vlclua_get_playlist_internal
    - vlc_playlist_Unlock
    - vlc_playlist_Next
    - vlc_playlist_Lock
    linkageType: ''
    returnType: int
    signature: int vlclua_playlist_next(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/playlist.c:76,1
    - Dst: vlclua_get_playlist_internal
      Src: /src/vlc/modules/lua/libs/playlist.c:77,1
    - Dst: vlc_playlist_Prev
      Src: /src/vlc/modules/lua/libs/playlist.c:80,1
    - Dst: vlc_playlist_Next
      Src: /src/vlc/modules/lua/libs/playlist.c:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 86
    functionName: vlclua_playlist_skip
    functionSourceFile: /src/vlc/modules/lua/libs/playlist.c
    functionUses: 0
    functionsReached:
    - vlclua_get_playlist_internal
    - vlc_playlist_Prev
    - vlc_playlist_Next
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_playlist_skip(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_playlist_internal
      Src: /src/vlc/modules/lua/libs/playlist.c:90,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/lua/libs/playlist.c:91,1
    - Dst: vlc_playlist_GetCurrentIndex
      Src: /src/vlc/modules/lua/libs/playlist.c:92,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/lua/libs/playlist.c:93,1
    - Dst: vlc_playlist_GoTo
      Src: /src/vlc/modules/lua/libs/playlist.c:94,1
    - Dst: vlc_playlist_Start
      Src: /src/vlc/modules/lua/libs/playlist.c:95,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/lua/libs/playlist.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: vlclua_playlist_play
    functionSourceFile: /src/vlc/modules/lua/libs/playlist.c
    functionUses: 0
    functionsReached:
    - vlc_playlist_Count
    - vlc_playlist_Lock
    - vlc_playlist_GoTo
    - vlc_playlist_Unlock
    - vlc_playlist_GetCurrentIndex
    - vlc_playlist_Start
    - vlclua_get_playlist_internal
    linkageType: ''
    returnType: int
    signature: int vlclua_playlist_play(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_playlist_internal
      Src: /src/vlc/modules/lua/libs/playlist.c:103,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/lua/libs/playlist.c:104,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/lua/libs/playlist.c:106,1
    - Dst: vlc_player_GetState
      Src: /src/vlc/modules/lua/libs/playlist.c:107,1
    - Dst: vlc_player_Pause
      Src: /src/vlc/modules/lua/libs/playlist.c:108,1
    - Dst: vlc_player_Resume
      Src: /src/vlc/modules/lua/libs/playlist.c:110,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/lua/libs/playlist.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: vlclua_playlist_pause
    functionSourceFile: /src/vlc/modules/lua/libs/playlist.c
    functionUses: 0
    functionsReached:
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlc_playlist_GetPlayer
    - vlclua_get_playlist_internal
    - vlc_player_Pause
    - vlc_player_Resume
    - vlc_player_GetState
    linkageType: ''
    returnType: int
    signature: int vlclua_playlist_pause(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_playlist_internal
      Src: /src/vlc/modules/lua/libs/playlist.c:118,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/lua/libs/playlist.c:119,1
    - Dst: vlc_playlist_Stop
      Src: /src/vlc/modules/lua/libs/playlist.c:120,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/lua/libs/playlist.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: vlclua_playlist_stop
    functionSourceFile: /src/vlc/modules/lua/libs/playlist.c
    functionUses: 0
    functionsReached:
    - vlclua_get_playlist_internal
    - vlc_playlist_Stop
    - vlc_playlist_Unlock
    - vlc_playlist_Lock
    linkageType: ''
    returnType: int
    signature: int vlclua_playlist_stop(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_playlist_internal
      Src: /src/vlc/modules/lua/libs/playlist.c:127,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/lua/libs/playlist.c:128,1
    - Dst: vlc_playlist_Clear
      Src: /src/vlc/modules/lua/libs/playlist.c:129,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/lua/libs/playlist.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: vlclua_playlist_clear
    functionSourceFile: /src/vlc/modules/lua/libs/playlist.c
    functionUses: 0
    functionsReached:
    - vlclua_get_playlist_internal
    - vlc_playlist_Unlock
    - vlc_playlist_Lock
    - vlc_playlist_Clear
    linkageType: ''
    returnType: int
    signature: int vlclua_playlist_clear( lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/playlist.c:136,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/libs/playlist.c:137,1
    - Dst: strcmp
      Src: /src/vlc/modules/lua/libs/playlist.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: take_bool
    functionSourceFile: /src/vlc/modules/lua/libs/playlist.c
    functionUses: 0
    functionsReached:
    - luaL_checkstring
    - strcmp
    - lua_pop
    linkageType: ''
    returnType: bool
    signature: bool take_bool(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_playlist_internal
      Src: /src/vlc/modules/lua/libs/playlist.c:144,1
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/libs/playlist.c:145,1
    - Dst: vlclua_error
      Src: /src/vlc/modules/lua/libs/playlist.c:147,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/lua/libs/playlist.c:149,1
    - Dst: vlc_playlist_GetPlaybackRepeat
      Src: /src/vlc/modules/lua/libs/playlist.c:156,1
    - Dst: take_bool
      Src: /src/vlc/modules/lua/libs/playlist.c:162,1
    - Dst: vlc_playlist_SetPlaybackRepeat
      Src: /src/vlc/modules/lua/libs/playlist.c:169,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/lua/libs/playlist.c:171,1
    - Dst: lua_pushboolean
      Src: /src/vlc/modules/lua/libs/playlist.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - L
    - enabled_mode
    argTypes:
    - lua_State*
    - enum vlc_playlist_playback_repeat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 175
    functionName: vlclua_playlist_repeat_
    functionSourceFile: /src/vlc/modules/lua/libs/playlist.c
    functionUses: 0
    functionsReached:
    - lua_gettop
    - vlc_playlist_Lock
    - vlc_playlist_GetPlaybackRepeat
    - lua_pushboolean
    - vlc_playlist_Unlock
    - vlc_playlist_SetPlaybackRepeat
    - vlclua_error
    - vlclua_get_playlist_internal
    - take_bool
    linkageType: ''
    returnType: int
    signature: "int vlclua_playlist_repeat_(lua_State *L,\n                               enum
      vlc_playlist_playback_repeat enabled_mode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_playlist_repeat_
      Src: /src/vlc/modules/lua/libs/playlist.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: vlclua_playlist_repeat
    functionSourceFile: /src/vlc/modules/lua/libs/playlist.c
    functionUses: 0
    functionsReached:
    - vlclua_playlist_repeat_
    linkageType: ''
    returnType: int
    signature: int vlclua_playlist_repeat(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_playlist_repeat_
      Src: /src/vlc/modules/lua/libs/playlist.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: vlclua_playlist_loop
    functionSourceFile: /src/vlc/modules/lua/libs/playlist.c
    functionUses: 0
    functionsReached:
    - vlclua_playlist_repeat_
    linkageType: ''
    returnType: int
    signature: int vlclua_playlist_loop(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_playlist_internal
      Src: /src/vlc/modules/lua/libs/playlist.c:189,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/lua/libs/playlist.c:191,1
    - Dst: vlc_playlist_GetPlaybackRepeat
      Src: /src/vlc/modules/lua/libs/playlist.c:193,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/lua/libs/playlist.c:195,1
    - Dst: lua_pushboolean
      Src: /src/vlc/modules/lua/libs/playlist.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 199
    functionName: vlclua_playlist_get_repeat
    functionSourceFile: /src/vlc/modules/lua/libs/playlist.c
    functionUses: 0
    functionsReached:
    - vlc_playlist_Lock
    - vlc_playlist_GetPlaybackRepeat
    - lua_pushboolean
    - vlc_playlist_Unlock
    - vlclua_get_playlist_internal
    linkageType: ''
    returnType: int
    signature: int vlclua_playlist_get_repeat(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_playlist_internal
      Src: /src/vlc/modules/lua/libs/playlist.c:203,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/lua/libs/playlist.c:205,1
    - Dst: vlc_playlist_GetPlaybackRepeat
      Src: /src/vlc/modules/lua/libs/playlist.c:207,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/lua/libs/playlist.c:209,1
    - Dst: lua_pushboolean
      Src: /src/vlc/modules/lua/libs/playlist.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 213
    functionName: vlclua_playlist_get_loop
    functionSourceFile: /src/vlc/modules/lua/libs/playlist.c
    functionUses: 0
    functionsReached:
    - vlc_playlist_Lock
    - vlc_playlist_GetPlaybackRepeat
    - lua_pushboolean
    - vlc_playlist_Unlock
    - vlclua_get_playlist_internal
    linkageType: ''
    returnType: int
    signature: int vlclua_playlist_get_loop(lua_State *L)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_playlist_internal
      Src: /src/vlc/modules/lua/libs/playlist.c:217,1
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/libs/playlist.c:218,1
    - Dst: vlclua_error
      Src: /src/vlc/modules/lua/libs/playlist.c:220,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/lua/libs/playlist.c:222,1
    - Dst: vlc_playlist_GetPlaybackOrder
      Src: /src/vlc/modules/lua/libs/playlist.c:228,1
    - Dst: take_bool
      Src: /src/vlc/modules/lua/libs/playlist.c:234,1
    - Dst: vlc_playlist_SetPlaybackOrder
      Src: /src/vlc/modules/lua/libs/playlist.c:241,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/lua/libs/playlist.c:243,1
    - Dst: lua_pushboolean
      Src: /src/vlc/modules/lua/libs/playlist.c:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 247
    functionName: vlclua_playlist_random
    functionSourceFile: /src/vlc/modules/lua/libs/playlist.c
    functionUses: 0
    functionsReached:
    - vlc_playlist_GetPlaybackOrder
    - lua_gettop
    - vlc_playlist_Lock
    - lua_pushboolean
    - vlc_playlist_Unlock
    - vlc_playlist_SetPlaybackOrder
    - vlclua_error
    - vlclua_get_playlist_internal
    - take_bool
    linkageType: ''
    returnType: int
    signature: int vlclua_playlist_random(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_playlist_internal
      Src: /src/vlc/modules/lua/libs/playlist.c:251,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/lua/libs/playlist.c:253,1
    - Dst: vlc_playlist_GetPlaybackOrder
      Src: /src/vlc/modules/lua/libs/playlist.c:255,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/lua/libs/playlist.c:257,1
    - Dst: lua_pushboolean
      Src: /src/vlc/modules/lua/libs/playlist.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 261
    functionName: vlclua_playlist_get_random
    functionSourceFile: /src/vlc/modules/lua/libs/playlist.c
    functionUses: 0
    functionsReached:
    - vlc_playlist_GetPlaybackOrder
    - vlc_playlist_Lock
    - lua_pushboolean
    - vlc_playlist_Unlock
    - vlclua_get_playlist_internal
    linkageType: ''
    returnType: int
    signature: int vlclua_playlist_get_random(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/playlist.c:265,1
    - Dst: vlclua_get_playlist_internal
      Src: /src/vlc/modules/lua/libs/playlist.c:266,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/lua/libs/playlist.c:270,1
    - Dst: vlc_playlist_IndexOfId
      Src: /src/vlc/modules/lua/libs/playlist.c:271,1
    - Dst: vlc_playlist_GoTo
      Src: /src/vlc/modules/lua/libs/playlist.c:276,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/lua/libs/playlist.c:279,1
    - Dst: vlclua_push_ret
      Src: /src/vlc/modules/lua/libs/playlist.c:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 282
    functionName: vlclua_playlist_gotoitem
    functionSourceFile: /src/vlc/modules/lua/libs/playlist.c
    functionUses: 0
    functionsReached:
    - vlc_playlist_IndexOfId
    - vlc_playlist_Lock
    - vlc_playlist_GoTo
    - vlc_playlist_Unlock
    - vlclua_push_ret
    - vlclua_get_playlist_internal
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_playlist_gotoitem(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/playlist.c:286,1
    - Dst: vlclua_get_playlist_internal
      Src: /src/vlc/modules/lua/libs/playlist.c:287,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/lua/libs/playlist.c:291,1
    - Dst: vlc_playlist_IndexOfId
      Src: /src/vlc/modules/lua/libs/playlist.c:292,1
    - Dst: vlc_playlist_RemoveOne
      Src: /src/vlc/modules/lua/libs/playlist.c:297,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/lua/libs/playlist.c:300,1
    - Dst: vlclua_push_ret
      Src: /src/vlc/modules/lua/libs/playlist.c:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 303
    functionName: vlclua_playlist_delete
    functionSourceFile: /src/vlc/modules/lua/libs/playlist.c
    functionUses: 0
    functionsReached:
    - vlc_playlist_IndexOfId
    - vlc_playlist_Lock
    - vlc_playlist_RemoveOne
    - vlc_playlist_Unlock
    - vlclua_push_ret
    - vlclua_get_playlist_internal
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_playlist_delete(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/playlist.c:307,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/playlist.c:308,1
    - Dst: vlclua_get_playlist_internal
      Src: /src/vlc/modules/lua/libs/playlist.c:309,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/lua/libs/playlist.c:313,1
    - Dst: vlc_playlist_IndexOfId
      Src: /src/vlc/modules/lua/libs/playlist.c:314,1
    - Dst: vlc_playlist_IndexOfId
      Src: /src/vlc/modules/lua/libs/playlist.c:315,1
    - Dst: vlc_playlist_MoveOne
      Src: /src/vlc/modules/lua/libs/playlist.c:324,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/lua/libs/playlist.c:327,1
    - Dst: vlclua_push_ret
      Src: /src/vlc/modules/lua/libs/playlist.c:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 330
    functionName: vlclua_playlist_move
    functionSourceFile: /src/vlc/modules/lua/libs/playlist.c
    functionUses: 0
    functionsReached:
    - vlc_playlist_IndexOfId
    - vlc_playlist_Lock
    - vlc_playlist_Unlock
    - vlclua_push_ret
    - vlclua_get_playlist_internal
    - vlc_playlist_MoveOne
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_playlist_move(lua_State *L)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/playlist.c:334,1
    - Dst: vlclua_get_playlist_internal
      Src: /src/vlc/modules/lua/libs/playlist.c:335,1
    - Dst: lua_istable
      Src: /src/vlc/modules/lua/libs/playlist.c:339,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/libs/playlist.c:341,1
    - Dst: lua_pushnil
      Src: /src/vlc/modules/lua/libs/playlist.c:345,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/lua/libs/playlist.c:347,1
    - Dst: lua_next
      Src: /src/vlc/modules/lua/libs/playlist.c:350,1
    - Dst: vlclua_read_input_item
      Src: /src/vlc/modules/lua/libs/playlist.c:352,1
    - Dst: vlc_playlist_AppendOne
      Src: /src/vlc/modules/lua/libs/playlist.c:355,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/lua/libs/playlist.c:361,1
    - Dst: vlc_playlist_PlayAt
      Src: /src/vlc/modules/lua/libs/playlist.c:362,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/lua/libs/playlist.c:365,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/libs/playlist.c:368,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/lua/libs/playlist.c:372,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/playlist.c:374,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - L
    - play
    argTypes:
    - lua_State*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 376
    functionName: vlclua_playlist_add_common
    functionSourceFile: /src/vlc/modules/lua/libs/playlist.c
    functionUses: 0
    functionsReached:
    - lua_pop
    - vlc_playlist_Lock
    - lua_pushnil
    - vlc_playlist_Count
    - vlc_playlist_PlayAt
    - lua_next
    - input_item_Release
    - vlc_playlist_Unlock
    - vlclua_get_this
    - lua_istable
    - lua_pushinteger
    - msg_Warn
    - vlclua_get_playlist_internal
    - vlclua_read_input_item
    - vlc_playlist_AppendOne
    linkageType: ''
    returnType: int
    signature: int vlclua_playlist_add_common(lua_State *L, bool play)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_playlist_add_common
      Src: /src/vlc/modules/lua/libs/playlist.c:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 3
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: vlclua_playlist_add
    functionSourceFile: /src/vlc/modules/lua/libs/playlist.c
    functionUses: 0
    functionsReached:
    - vlclua_playlist_add_common
    linkageType: ''
    returnType: int
    signature: int vlclua_playlist_add(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_playlist_add_common
      Src: /src/vlc/modules/lua/libs/playlist.c:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 383
    functionDepth: 3
    functionLinenumber: 383
    functionLinenumberEnd: 386
    functionName: vlclua_playlist_enqueue
    functionSourceFile: /src/vlc/modules/lua/libs/playlist.c
    functionUses: 0
    functionsReached:
    - vlclua_playlist_add_common
    linkageType: ''
    returnType: int
    signature: int vlclua_playlist_enqueue(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/playlist.c:390,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/playlist.c:392,1
    - Dst: vlc_playlist_item_GetId
      Src: /src/vlc/modules/lua/libs/playlist.c:392,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/playlist.c:393,1
    - Dst: vlc_playlist_item_GetMedia
      Src: /src/vlc/modules/lua/libs/playlist.c:395,1
    - Dst: input_item_GetTitleFbName
      Src: /src/vlc/modules/lua/libs/playlist.c:399,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/playlist.c:400,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/playlist.c:401,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/playlist.c:402,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/playlist.c:404,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/playlist.c:405,1
    - Dst: lua_pushnumber
      Src: /src/vlc/modules/lua/libs/playlist.c:408,1
    - Dst: lua_pushnumber
      Src: /src/vlc/modules/lua/libs/playlist.c:410,1
    - Dst: secf_from_vlc_tick
      Src: /src/vlc/modules/lua/libs/playlist.c:410,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/playlist.c:411,1
    - Dst: luaopen_input_item
      Src: /src/vlc/modules/lua/libs/playlist.c:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - L
    - item
    argTypes:
    - lua_State*
    - vlc_playlist_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 414
    functionName: push_playlist_item
    functionSourceFile: /src/vlc/modules/lua/libs/playlist.c
    functionUses: 0
    functionsReached:
    - lua_setfield
    - luaopen_input_item
    - vlc_playlist_item_GetMedia
    - lua_pushstring
    - lua_pushnumber
    - vlc_playlist_item_GetId
    - secf_from_vlc_tick
    - lua_newtable
    - lua_pushinteger
    - input_item_GetTitleFbName
    - free
    linkageType: ''
    returnType: void
    signature: void push_playlist_item(lua_State *L, vlc_playlist_item_t *item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_playlist_internal
      Src: /src/vlc/modules/lua/libs/playlist.c:418,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/playlist.c:419,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/lua/libs/playlist.c:421,1
    - Dst: vlc_playlist_IndexOfId
      Src: /src/vlc/modules/lua/libs/playlist.c:422,1
    - Dst: vlc_playlist_Get
      Src: /src/vlc/modules/lua/libs/playlist.c:423,1
    - Dst: push_playlist_item
      Src: /src/vlc/modules/lua/libs/playlist.c:426,1
    - Dst: lua_pushnil
      Src: /src/vlc/modules/lua/libs/playlist.c:428,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/lua/libs/playlist.c:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 432
    functionName: vlclua_playlist_get
    functionSourceFile: /src/vlc/modules/lua/libs/playlist.c
    functionUses: 0
    functionsReached:
    - vlc_playlist_IndexOfId
    - push_playlist_item
    - vlc_playlist_Lock
    - lua_pushnil
    - vlc_playlist_Unlock
    - vlc_playlist_Get
    - vlclua_get_playlist_internal
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_playlist_get(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_playlist_internal
      Src: /src/vlc/modules/lua/libs/playlist.c:436,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/lua/libs/playlist.c:438,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/lua/libs/playlist.c:440,1
    - Dst: lua_createtable
      Src: /src/vlc/modules/lua/libs/playlist.c:441,1
    - Dst: push_playlist_item
      Src: /src/vlc/modules/lua/libs/playlist.c:445,1
    - Dst: vlc_playlist_Get
      Src: /src/vlc/modules/lua/libs/playlist.c:445,1
    - Dst: lua_rawseti
      Src: /src/vlc/modules/lua/libs/playlist.c:446,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/lua/libs/playlist.c:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 452
    functionName: vlclua_playlist_list
    functionSourceFile: /src/vlc/modules/lua/libs/playlist.c
    functionUses: 0
    functionsReached:
    - push_playlist_item
    - vlc_playlist_Count
    - vlc_playlist_Lock
    - lua_rawseti
    - vlc_playlist_Unlock
    - vlc_playlist_Get
    - vlclua_get_playlist_internal
    - lua_createtable
    linkageType: ''
    returnType: int
    signature: int vlclua_playlist_list(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_playlist_internal
      Src: /src/vlc/modules/lua/libs/playlist.c:456,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/lua/libs/playlist.c:458,1
    - Dst: vlc_playlist_GetCurrentIndex
      Src: /src/vlc/modules/lua/libs/playlist.c:459,1
    - Dst: vlc_playlist_Get
      Src: /src/vlc/modules/lua/libs/playlist.c:462,1
    - Dst: vlc_playlist_item_GetId
      Src: /src/vlc/modules/lua/libs/playlist.c:463,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/lua/libs/playlist.c:466,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/playlist.c:468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 454
    functionDepth: 2
    functionLinenumber: 454
    functionLinenumberEnd: 470
    functionName: vlclua_playlist_current
    functionSourceFile: /src/vlc/modules/lua/libs/playlist.c
    functionUses: 0
    functionsReached:
    - vlc_playlist_Lock
    - vlc_playlist_Unlock
    - vlc_playlist_item_GetId
    - vlc_playlist_GetCurrentIndex
    - vlc_playlist_Get
    - lua_pushinteger
    - vlclua_get_playlist_internal
    linkageType: ''
    returnType: int
    signature: int vlclua_playlist_current(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_playlist_internal
      Src: /src/vlc/modules/lua/libs/playlist.c:474,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/lua/libs/playlist.c:476,1
    - Dst: vlc_playlist_GetCurrentIndex
      Src: /src/vlc/modules/lua/libs/playlist.c:477,1
    - Dst: vlc_playlist_Get
      Src: /src/vlc/modules/lua/libs/playlist.c:478,1
    - Dst: push_playlist_item
      Src: /src/vlc/modules/lua/libs/playlist.c:481,1
    - Dst: lua_pushnil
      Src: /src/vlc/modules/lua/libs/playlist.c:483,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/lua/libs/playlist.c:484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 472
    functionDepth: 2
    functionLinenumber: 472
    functionLinenumberEnd: 487
    functionName: vlclua_playlist_current_item
    functionSourceFile: /src/vlc/modules/lua/libs/playlist.c
    functionUses: 0
    functionsReached:
    - push_playlist_item
    - vlc_playlist_Lock
    - lua_pushnil
    - vlc_playlist_Unlock
    - vlc_playlist_GetCurrentIndex
    - vlc_playlist_Get
    - vlclua_get_playlist_internal
    linkageType: ''
    returnType: int
    signature: int vlclua_playlist_current_item(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/lua/libs/playlist.c:503,1
    - Dst: strcmp
      Src: /src/vlc/modules/lua/libs/playlist.c:505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - keyname
    - key
    argTypes:
    - char*
    - enum vlc_playlist_sort_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 512
    functionName: vlc_sort_key_from_string
    functionSourceFile: /src/vlc/modules/lua/libs/playlist.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ARRAY_SIZE
    linkageType: ''
    returnType: bool
    signature: "bool vlc_sort_key_from_string(const char *keyname,\n                                     enum
      vlc_playlist_sort_key *key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_playlist_internal
      Src: /src/vlc/modules/lua/libs/playlist.c:516,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/playlist.c:518,1
    - Dst: strcmp
      Src: /src/vlc/modules/lua/libs/playlist.c:521,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/lua/libs/playlist.c:524,1
    - Dst: vlc_playlist_Shuffle
      Src: /src/vlc/modules/lua/libs/playlist.c:525,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/lua/libs/playlist.c:526,1
    - Dst: vlc_sort_key_from_string
      Src: /src/vlc/modules/lua/libs/playlist.c:532,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/playlist.c:533,1
    - Dst: luaL_optboolean
      Src: /src/vlc/modules/lua/libs/playlist.c:534,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/lua/libs/playlist.c:538,1
    - Dst: vlc_playlist_Sort
      Src: /src/vlc/modules/lua/libs/playlist.c:539,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/lua/libs/playlist.c:540,1
    - Dst: vlclua_push_ret
      Src: /src/vlc/modules/lua/libs/playlist.c:542,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 543
    functionName: vlclua_playlist_sort
    functionSourceFile: /src/vlc/modules/lua/libs/playlist.c
    functionUses: 0
    functionsReached:
    - vlc_playlist_Shuffle
    - vlc_playlist_Lock
    - vlc_sort_key_from_string
    - luaL_error
    - luaL_optboolean
    - vlc_playlist_Unlock
    - vlc_playlist_Sort
    - vlclua_push_ret
    - luaL_checkstring
    - strcmp
    - vlclua_get_playlist_internal
    linkageType: ''
    returnType: int
    signature: int vlclua_playlist_sort( lua_State *L )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_playlist_internal
      Src: /src/vlc/modules/lua/libs/playlist.c:547,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/lua/libs/playlist.c:549,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/lua/libs/playlist.c:550,1
    - Dst: vlc_player_GetState
      Src: /src/vlc/modules/lua/libs/playlist.c:551,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/lua/libs/playlist.c:552,1
    - Dst: lua_pushliteral
      Src: /src/vlc/modules/lua/libs/playlist.c:557,1
    - Dst: lua_pushliteral
      Src: /src/vlc/modules/lua/libs/playlist.c:560,1
    - Dst: lua_pushliteral
      Src: /src/vlc/modules/lua/libs/playlist.c:563,1
    - Dst: lua_pushliteral
      Src: /src/vlc/modules/lua/libs/playlist.c:566,1
    - Dst: lua_pushliteral
      Src: /src/vlc/modules/lua/libs/playlist.c:569,1
    - Dst: lua_pushliteral
      Src: /src/vlc/modules/lua/libs/playlist.c:572,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 575
    functionName: vlclua_playlist_status
    functionSourceFile: /src/vlc/modules/lua/libs/playlist.c
    functionUses: 0
    functionsReached:
    - lua_pushliteral
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlc_playlist_GetPlayer
    - vlclua_get_playlist_internal
    - vlc_player_GetState
    linkageType: ''
    returnType: int
    signature: int vlclua_playlist_status(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/playlist.c:614,1
    - Dst: luaL_register
      Src: /src/vlc/modules/lua/libs/playlist.c:615,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/playlist.c:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 617
    functionName: luaopen_playlist
    functionSourceFile: /src/vlc/modules/lua/libs/playlist.c
    functionUses: 2
    functionsReached:
    - lua_newtable
    - lua_setfield
    - luaL_register
    linkageType: ''
    returnType: void
    signature: void luaopen_playlist( lua_State *L )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/configuration.c:57,1
    - Dst: config_GetType
      Src: /src/vlc/modules/lua/libs/configuration.c:58,1
    - Dst: config_GetPsz
      Src: /src/vlc/modules/lua/libs/configuration.c:62,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/configuration.c:63,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/configuration.c:64,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/configuration.c:69,1
    - Dst: config_GetInt
      Src: /src/vlc/modules/lua/libs/configuration.c:69,1
    - Dst: lua_pushboolean
      Src: /src/vlc/modules/lua/libs/configuration.c:73,1
    - Dst: config_GetInt
      Src: /src/vlc/modules/lua/libs/configuration.c:73,1
    - Dst: lua_pushnumber
      Src: /src/vlc/modules/lua/libs/configuration.c:77,1
    - Dst: config_GetFloat
      Src: /src/vlc/modules/lua/libs/configuration.c:77,1
    - Dst: vlclua_error
      Src: /src/vlc/modules/lua/libs/configuration.c:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 85
    functionName: vlclua_config_get
    functionSourceFile: /src/vlc/modules/lua/libs/configuration.c
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - lua_pushnumber
    - lua_pushboolean
    - config_GetType
    - free
    - luaL_checkstring
    - lua_pushinteger
    - vlclua_error
    - config_GetPsz
    - config_GetInt
    - config_GetFloat
    linkageType: ''
    returnType: int
    signature: int vlclua_config_get( lua_State *L )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/configuration.c:96,1
    - Dst: config_GetType
      Src: /src/vlc/modules/lua/libs/configuration.c:97,1
    - Dst: config_PutPsz
      Src: /src/vlc/modules/lua/libs/configuration.c:100,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/configuration.c:100,1
    - Dst: config_PutInt
      Src: /src/vlc/modules/lua/libs/configuration.c:104,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/configuration.c:104,1
    - Dst: config_PutInt
      Src: /src/vlc/modules/lua/libs/configuration.c:108,1
    - Dst: luaL_checkboolean
      Src: /src/vlc/modules/lua/libs/configuration.c:108,1
    - Dst: config_PutFloat
      Src: /src/vlc/modules/lua/libs/configuration.c:112,1
    - Dst: luaL_checknumber
      Src: /src/vlc/modules/lua/libs/configuration.c:112,1
    - Dst: vlclua_error
      Src: /src/vlc/modules/lua/libs/configuration.c:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 119
    functionName: vlclua_config_set
    functionSourceFile: /src/vlc/modules/lua/libs/configuration.c
    functionUses: 0
    functionsReached:
    - config_PutFloat
    - config_GetType
    - luaL_checknumber
    - luaL_checkstring
    - config_PutInt
    - config_PutPsz
    - vlclua_error
    - luaL_checkboolean
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_config_set( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config_GetSysPath
      Src: /src/vlc/modules/lua/libs/configuration.c:132,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/configuration.c:133,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/configuration.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: vlclua_datadir
    functionSourceFile: /src/vlc/modules/lua/libs/configuration.c
    functionUses: 0
    functionsReached:
    - config_GetSysPath
    - free
    - lua_pushstring
    linkageType: ''
    returnType: int
    signature: int vlclua_datadir( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config_GetUserDir
      Src: /src/vlc/modules/lua/libs/configuration.c:145,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/configuration.c:146,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/configuration.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: vlclua_userdatadir
    functionSourceFile: /src/vlc/modules/lua/libs/configuration.c
    functionUses: 0
    functionsReached:
    - free
    - config_GetUserDir
    - lua_pushstring
    linkageType: ''
    returnType: int
    signature: int vlclua_userdatadir( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config_GetUserDir
      Src: /src/vlc/modules/lua/libs/configuration.c:158,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/configuration.c:159,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/configuration.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: vlclua_homedir
    functionSourceFile: /src/vlc/modules/lua/libs/configuration.c
    functionUses: 0
    functionsReached:
    - free
    - config_GetUserDir
    - lua_pushstring
    linkageType: ''
    returnType: int
    signature: int vlclua_homedir( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config_GetUserDir
      Src: /src/vlc/modules/lua/libs/configuration.c:171,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/configuration.c:172,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/configuration.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: vlclua_configdir
    functionSourceFile: /src/vlc/modules/lua/libs/configuration.c
    functionUses: 0
    functionsReached:
    - free
    - config_GetUserDir
    - lua_pushstring
    linkageType: ''
    returnType: int
    signature: int vlclua_configdir( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config_GetUserDir
      Src: /src/vlc/modules/lua/libs/configuration.c:184,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/configuration.c:185,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/configuration.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: vlclua_cachedir
    functionSourceFile: /src/vlc/modules/lua/libs/configuration.c
    functionUses: 0
    functionsReached:
    - free
    - config_GetUserDir
    - lua_pushstring
    linkageType: ''
    returnType: int
    signature: int vlclua_cachedir( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/configuration.c:199,1
    - Dst: vlclua_dir_list
      Src: /src/vlc/modules/lua/libs/configuration.c:203,1
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/configuration.c:206,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/configuration.c:209,1
    - Dst: lua_rawseti
      Src: /src/vlc/modules/lua/libs/configuration.c:210,1
    - Dst: vlclua_dir_list_free
      Src: /src/vlc/modules/lua/libs/configuration.c:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 197
    functionDepth: 4
    functionLinenumber: 197
    functionLinenumberEnd: 215
    functionName: vlclua_datadir_list
    functionSourceFile: /src/vlc/modules/lua/libs/configuration.c
    functionUses: 0
    functionsReached:
    - vlclua_dir_list
    - lua_pushstring
    - lua_rawseti
    - lua_newtable
    - luaL_checkstring
    - vlclua_dir_list_free
    linkageType: ''
    returnType: int
    signature: int vlclua_datadir_list( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/configuration.c:234,1
    - Dst: luaL_register
      Src: /src/vlc/modules/lua/libs/configuration.c:235,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/configuration.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: luaopen_config
    functionSourceFile: /src/vlc/modules/lua/libs/configuration.c
    functionUses: 2
    functionsReached:
    - lua_newtable
    - lua_setfield
    - luaL_register
    linkageType: ''
    returnType: void
    signature: void luaopen_config( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_player_internal
      Src: /src/vlc/modules/lua/libs/input.c:50,1
    - Dst: vlc_player_vout_Hold
      Src: /src/vlc/modules/lua/libs/input.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: vlclua_get_vout_internal
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 5
    functionsReached:
    - vlclua_get_player_internal
    - vlc_player_vout_Hold
    linkageType: ''
    returnType: vout_thread_t
    signature: vout_thread_t *vlclua_get_vout_internal(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_player_internal
      Src: /src/vlc/modules/lua/libs/input.c:56,1
    - Dst: vlc_player_aout_Hold
      Src: /src/vlc/modules/lua/libs/input.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: vlclua_get_aout_internal
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlclua_get_player_internal
    - vlc_player_aout_Hold
    linkageType: ''
    returnType: audio_output_t
    signature: audio_output_t *vlclua_get_aout_internal(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_input_item_get_internal
      Src: /src/vlc/modules/lua/libs/input.c:64,1
    - Dst: vlc_list_foreach
      Src: /src/vlc/modules/lua/libs/input.c:68,1
    - Dst: lua_createtable
      Src: /src/vlc/modules/lua/libs/input.c:71,1
    - Dst: vlc_list_foreach
      Src: /src/vlc/modules/lua/libs/input.c:73,1
    - Dst: info_category_IsHidden
      Src: /src/vlc/modules/lua/libs/input.c:77,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/input.c:80,1
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/input.c:81,1
    - Dst: info_foreach
      Src: /src/vlc/modules/lua/libs/input.c:82,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/input.c:84,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/input.c:85,1
    - Dst: lua_settable
      Src: /src/vlc/modules/lua/libs/input.c:86,1
    - Dst: lua_settable
      Src: /src/vlc/modules/lua/libs/input.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 91
    functionName: vlclua_input_item_info
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - info_foreach
    - lua_pushstring
    - info_category_IsHidden
    - lua_settable
    - lua_newtable
    - vlclua_input_item_get_internal
    - vlc_list_foreach
    - lua_createtable
    linkageType: ''
    returnType: int
    signature: int vlclua_input_item_info( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_player_internal
      Src: /src/vlc/modules/lua/libs/input.c:95,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/lua/libs/input.c:97,1
    - Dst: vlc_player_IsStarted
      Src: /src/vlc/modules/lua/libs/input.c:98,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/lua/libs/input.c:99,1
    - Dst: lua_pushboolean
      Src: /src/vlc/modules/lua/libs/input.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 102
    functionName: vlclua_input_is_playing
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlc_player_Unlock
    - lua_pushboolean
    - vlc_player_Lock
    - vlclua_get_player_internal
    - vlc_player_IsStarted
    linkageType: ''
    returnType: int
    signature: int vlclua_input_is_playing( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_player_internal
      Src: /src/vlc/modules/lua/libs/input.c:106,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/lua/libs/input.c:108,1
    - Dst: vlc_player_GetSelectedTitleIdx
      Src: /src/vlc/modules/lua/libs/input.c:109,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/lua/libs/input.c:110,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/input.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: vlclua_player_get_title_index
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlclua_get_player_internal
    - lua_pushinteger
    - vlc_player_GetSelectedTitleIdx
    linkageType: ''
    returnType: int
    signature: int vlclua_player_get_title_index(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_player_internal
      Src: /src/vlc/modules/lua/libs/input.c:118,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/lua/libs/input.c:120,1
    - Dst: vlc_player_GetTitleList
      Src: /src/vlc/modules/lua/libs/input.c:121,1
    - Dst: vlc_player_title_list_GetCount
      Src: /src/vlc/modules/lua/libs/input.c:122,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/lua/libs/input.c:123,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/input.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: vlclua_player_get_titles_count
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlc_player_GetTitleList
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlclua_get_player_internal
    - lua_pushinteger
    - vlc_player_title_list_GetCount
    linkageType: ''
    returnType: int
    signature: int vlclua_player_get_titles_count(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_player_internal
      Src: /src/vlc/modules/lua/libs/input.c:131,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/lua/libs/input.c:133,1
    - Dst: vlc_player_SelectNextTitle
      Src: /src/vlc/modules/lua/libs/input.c:134,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/lua/libs/input.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: vlclua_player_title_next
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlclua_get_player_internal
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlc_player_SelectNextTitle
    linkageType: ''
    returnType: int
    signature: int vlclua_player_title_next(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_player_internal
      Src: /src/vlc/modules/lua/libs/input.c:142,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/lua/libs/input.c:144,1
    - Dst: vlc_player_SelectPrevTitle
      Src: /src/vlc/modules/lua/libs/input.c:145,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/lua/libs/input.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 149
    functionName: vlclua_player_title_prev
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlclua_get_player_internal
    - vlc_player_SelectPrevTitle
    - vlc_player_Unlock
    - vlc_player_Lock
    linkageType: ''
    returnType: int
    signature: int vlclua_player_title_prev(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/input.c:153,1
    - Dst: vlclua_get_player_internal
      Src: /src/vlc/modules/lua/libs/input.c:155,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/lua/libs/input.c:157,1
    - Dst: vlc_player_SelectTitleIdx
      Src: /src/vlc/modules/lua/libs/input.c:158,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/lua/libs/input.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 162
    functionName: vlclua_player_title_goto
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlc_player_SelectTitleIdx
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlclua_get_player_internal
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_player_title_goto(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_player_internal
      Src: /src/vlc/modules/lua/libs/input.c:166,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/lua/libs/input.c:168,1
    - Dst: vlc_player_GetSelectedChapterIdx
      Src: /src/vlc/modules/lua/libs/input.c:169,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/lua/libs/input.c:170,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/input.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 174
    functionName: vlclua_player_get_chapter_index
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlclua_get_player_internal
    - lua_pushinteger
    - vlc_player_GetSelectedChapterIdx
    linkageType: ''
    returnType: int
    signature: int vlclua_player_get_chapter_index(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_player_internal
      Src: /src/vlc/modules/lua/libs/input.c:178,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/lua/libs/input.c:180,1
    - Dst: vlc_player_GetSelectedTitle
      Src: /src/vlc/modules/lua/libs/input.c:182,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/lua/libs/input.c:185,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/input.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 189
    functionName: vlclua_player_get_chapters_count
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlc_player_GetSelectedTitle
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlclua_get_player_internal
    - lua_pushinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_player_get_chapters_count(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_player_internal
      Src: /src/vlc/modules/lua/libs/input.c:193,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/lua/libs/input.c:195,1
    - Dst: vlc_player_SelectNextChapter
      Src: /src/vlc/modules/lua/libs/input.c:196,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/lua/libs/input.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 200
    functionName: vlclua_player_chapter_next
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlclua_get_player_internal
    - vlc_player_Unlock
    - vlc_player_SelectNextChapter
    - vlc_player_Lock
    linkageType: ''
    returnType: int
    signature: int vlclua_player_chapter_next(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_player_internal
      Src: /src/vlc/modules/lua/libs/input.c:204,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/lua/libs/input.c:206,1
    - Dst: vlc_player_SelectPrevChapter
      Src: /src/vlc/modules/lua/libs/input.c:207,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/lua/libs/input.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 211
    functionName: vlclua_player_chapter_prev
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlclua_get_player_internal
    - vlc_player_Unlock
    - vlc_player_SelectPrevChapter
    - vlc_player_Lock
    linkageType: ''
    returnType: int
    signature: int vlclua_player_chapter_prev(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/input.c:215,1
    - Dst: vlclua_get_player_internal
      Src: /src/vlc/modules/lua/libs/input.c:217,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/lua/libs/input.c:219,1
    - Dst: vlc_player_SelectChapterIdx
      Src: /src/vlc/modules/lua/libs/input.c:220,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/lua/libs/input.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 224
    functionName: vlclua_player_chapter_goto
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - luaL_checkinteger
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlclua_get_player_internal
    - vlc_player_SelectChapterIdx
    linkageType: ''
    returnType: int
    signature: int vlclua_player_chapter_goto(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_player_internal
      Src: /src/vlc/modules/lua/libs/input.c:228,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/lua/libs/input.c:230,1
    - Dst: vlc_player_GetTime
      Src: /src/vlc/modules/lua/libs/input.c:231,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/lua/libs/input.c:232,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/input.c:234,1
    - Dst: US_FROM_VLC_TICK
      Src: /src/vlc/modules/lua/libs/input.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 236
    functionName: vlclua_player_get_time
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlc_player_GetTime
    - vlclua_get_player_internal
    - lua_pushinteger
    - US_FROM_VLC_TICK
    linkageType: ''
    returnType: int
    signature: int vlclua_player_get_time(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_player_internal
      Src: /src/vlc/modules/lua/libs/input.c:240,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/lua/libs/input.c:242,1
    - Dst: vlc_player_GetPosition
      Src: /src/vlc/modules/lua/libs/input.c:243,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/lua/libs/input.c:244,1
    - Dst: lua_pushnumber
      Src: /src/vlc/modules/lua/libs/input.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 248
    functionName: vlclua_player_get_position
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - lua_pushnumber
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlc_player_GetPosition
    - vlclua_get_player_internal
    linkageType: ''
    returnType: int
    signature: int vlclua_player_get_position(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_player_internal
      Src: /src/vlc/modules/lua/libs/input.c:252,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/lua/libs/input.c:254,1
    - Dst: vlc_player_GetRate
      Src: /src/vlc/modules/lua/libs/input.c:255,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/lua/libs/input.c:256,1
    - Dst: lua_pushnumber
      Src: /src/vlc/modules/lua/libs/input.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: vlclua_player_get_rate
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - lua_pushnumber
    - vlc_player_GetRate
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlclua_get_player_internal
    linkageType: ''
    returnType: int
    signature: int vlclua_player_get_rate(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_player_internal
      Src: /src/vlc/modules/lua/libs/input.c:264,1
    - Dst: luaL_checknumber
      Src: /src/vlc/modules/lua/libs/input.c:266,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/lua/libs/input.c:268,1
    - Dst: vlc_player_ChangeRate
      Src: /src/vlc/modules/lua/libs/input.c:269,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/lua/libs/input.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 273
    functionName: vlclua_player_set_rate
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlc_player_Unlock
    - vlc_player_Lock
    - luaL_checknumber
    - vlclua_get_player_internal
    - vlc_player_ChangeRate
    linkageType: ''
    returnType: int
    signature: int vlclua_player_set_rate(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_player_internal
      Src: /src/vlc/modules/lua/libs/input.c:277,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/lua/libs/input.c:279,1
    - Dst: vlc_player_IncrementRate
      Src: /src/vlc/modules/lua/libs/input.c:280,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/lua/libs/input.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 284
    functionName: vlclua_player_increment_rate
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlclua_get_player_internal
    - vlc_player_Unlock
    - vlc_player_IncrementRate
    - vlc_player_Lock
    linkageType: ''
    returnType: int
    signature: int vlclua_player_increment_rate(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_player_internal
      Src: /src/vlc/modules/lua/libs/input.c:288,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/lua/libs/input.c:290,1
    - Dst: vlc_player_DecrementRate
      Src: /src/vlc/modules/lua/libs/input.c:291,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/lua/libs/input.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 295
    functionName: vlclua_player_decrement_rate
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlclua_get_player_internal
    - vlc_player_DecrementRate
    - vlc_player_Unlock
    - vlc_player_Lock
    linkageType: ''
    returnType: int
    signature: int vlclua_player_decrement_rate(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_player_internal
      Src: /src/vlc/modules/lua/libs/input.c:300,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/lua/libs/input.c:302,1
    - Dst: vlc_player_GetTrackCount
      Src: /src/vlc/modules/lua/libs/input.c:304,1
    - Dst: lua_createtable
      Src: /src/vlc/modules/lua/libs/input.c:305,1
    - Dst: vlc_player_GetTrackAt
      Src: /src/vlc/modules/lua/libs/input.c:310,1
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/input.c:315,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/input.c:317,1
    - Dst: vlc_es_id_GetInputId
      Src: /src/vlc/modules/lua/libs/input.c:317,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/input.c:318,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/input.c:320,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/input.c:321,1
    - Dst: lua_pushboolean
      Src: /src/vlc/modules/lua/libs/input.c:323,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/input.c:324,1
    - Dst: lua_rawseti
      Src: /src/vlc/modules/lua/libs/input.c:326,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/lua/libs/input.c:329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - L
    - cat
    argTypes:
    - lua_State*
    - enum es_format_category_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 332
    functionName: vlclua_player_get_tracks_
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - lua_setfield
    - vlc_player_GetTrackAt
    - lua_pushstring
    - lua_pushboolean
    - lua_rawseti
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlclua_get_player_internal
    - lua_newtable
    - lua_pushinteger
    - vlc_player_GetTrackCount
    - vlc_es_id_GetInputId
    - lua_createtable
    linkageType: ''
    returnType: int
    signature: "int vlclua_player_get_tracks_(lua_State *L,\n                                     enum
      es_format_category_e cat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_player_get_tracks_
      Src: /src/vlc/modules/lua/libs/input.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 3
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: vlclua_player_get_video_tracks
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlclua_player_get_tracks_
    linkageType: ''
    returnType: int
    signature: int vlclua_player_get_video_tracks(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_player_get_tracks_
      Src: /src/vlc/modules/lua/libs/input.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 339
    functionDepth: 3
    functionLinenumber: 339
    functionLinenumberEnd: 342
    functionName: vlclua_player_get_audio_tracks
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlclua_player_get_tracks_
    linkageType: ''
    returnType: int
    signature: int vlclua_player_get_audio_tracks(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_player_get_tracks_
      Src: /src/vlc/modules/lua/libs/input.c:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 344
    functionDepth: 3
    functionLinenumber: 344
    functionLinenumberEnd: 347
    functionName: vlclua_player_get_spu_tracks
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlclua_player_get_tracks_
    linkageType: ''
    returnType: int
    signature: int vlclua_player_get_spu_tracks(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_GetTrackCount
      Src: /src/vlc/modules/lua/libs/input.c:352,1
    - Dst: vlc_player_GetTrackAt
      Src: /src/vlc/modules/lua/libs/input.c:356,1
    - Dst: vlc_es_id_GetInputId
      Src: /src/vlc/modules/lua/libs/input.c:357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - player
    - cat
    - id
    argTypes:
    - vlc_player_t*
    - enum es_format_category_e
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 361
    functionName: FindTrack
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlc_es_id_GetInputId
    - vlc_player_GetTrackAt
    - vlc_player_GetTrackCount
    linkageType: ''
    returnType: struct vlc_player_track
    signature: 'struct vlc_player_track *

      FindTrack(vlc_player_t *player, enum es_format_category_e cat, int id)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_player_internal
      Src: /src/vlc/modules/lua/libs/input.c:367,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/lua/libs/input.c:369,1
    - Dst: FindTrack
      Src: /src/vlc/modules/lua/libs/input.c:372,1
    - Dst: vlc_player_UnselectTrack
      Src: /src/vlc/modules/lua/libs/input.c:376,1
    - Dst: vlc_player_SelectTrack
      Src: /src/vlc/modules/lua/libs/input.c:378,1
    - Dst: vlc_player_UnselectTrackCategory
      Src: /src/vlc/modules/lua/libs/input.c:382,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/lua/libs/input.c:384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - L
    - cat
    - id
    argTypes:
    - lua_State*
    - enum es_format_category_e
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 387
    functionName: vlclua_player_toggle_track_
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlc_player_SelectTrack
    - vlc_player_Unlock
    - vlc_player_UnselectTrack
    - vlc_player_Lock
    - vlclua_get_player_internal
    - FindTrack
    - vlc_player_UnselectTrackCategory
    linkageType: ''
    returnType: int
    signature: "int vlclua_player_toggle_track_(lua_State *L,\n                                       enum
      es_format_category_e cat,\n                                       int id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/input.c:391,1
    - Dst: vlclua_player_toggle_track_
      Src: /src/vlc/modules/lua/libs/input.c:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 389
    functionDepth: 3
    functionLinenumber: 389
    functionLinenumberEnd: 393
    functionName: vlclua_player_toggle_video_track
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlclua_player_toggle_track_
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_player_toggle_video_track(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/input.c:397,1
    - Dst: vlclua_player_toggle_track_
      Src: /src/vlc/modules/lua/libs/input.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 3
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: vlclua_player_toggle_audio_track
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlclua_player_toggle_track_
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_player_toggle_audio_track(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/input.c:403,1
    - Dst: vlclua_player_toggle_track_
      Src: /src/vlc/modules/lua/libs/input.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 401
    functionDepth: 3
    functionLinenumber: 401
    functionLinenumberEnd: 405
    functionName: vlclua_player_toggle_spu_track
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlclua_player_toggle_track_
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_player_toggle_spu_track(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_player_internal
      Src: /src/vlc/modules/lua/libs/input.c:409,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/lua/libs/input.c:411,1
    - Dst: vlc_player_NextVideoFrame
      Src: /src/vlc/modules/lua/libs/input.c:412,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/lua/libs/input.c:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 416
    functionName: vlclua_player_next_video_frame
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlclua_get_player_internal
    - vlc_player_NextVideoFrame
    - vlc_player_Unlock
    - vlc_player_Lock
    linkageType: ''
    returnType: int
    signature: int vlclua_player_next_video_frame(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checknumber
      Src: /src/vlc/modules/lua/libs/input.c:421,1
    - Dst: vlclua_get_player_internal
      Src: /src/vlc/modules/lua/libs/input.c:423,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/lua/libs/input.c:425,1
    - Dst: vlc_player_SeekByPos
      Src: /src/vlc/modules/lua/libs/input.c:426,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/lua/libs/input.c:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - L
    - whence
    argTypes:
    - lua_State*
    - enum vlc_player_whence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 430
    functionName: vlclua_player_seek_by_pos_
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlc_player_Unlock
    - vlc_player_Lock
    - luaL_checknumber
    - vlclua_get_player_internal
    - vlc_player_SeekByPos
    linkageType: ''
    returnType: int
    signature: "int vlclua_player_seek_by_pos_(lua_State *L,\n                                      enum
      vlc_player_whence whence)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_player_seek_by_pos_
      Src: /src/vlc/modules/lua/libs/input.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 432
    functionDepth: 3
    functionLinenumber: 432
    functionLinenumberEnd: 435
    functionName: vlclua_player_seek_by_pos_absolute
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlclua_player_seek_by_pos_
    linkageType: ''
    returnType: int
    signature: int vlclua_player_seek_by_pos_absolute(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_player_seek_by_pos_
      Src: /src/vlc/modules/lua/libs/input.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 440
    functionName: vlclua_player_seek_by_pos_relative
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlclua_player_seek_by_pos_
    linkageType: ''
    returnType: int
    signature: int vlclua_player_seek_by_pos_relative(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/input.c:445,1
    - Dst: VLC_TICK_FROM_US
      Src: /src/vlc/modules/lua/libs/input.c:446,1
    - Dst: vlclua_get_player_internal
      Src: /src/vlc/modules/lua/libs/input.c:448,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/lua/libs/input.c:450,1
    - Dst: vlc_player_SeekByTime
      Src: /src/vlc/modules/lua/libs/input.c:451,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/lua/libs/input.c:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - L
    - whence
    argTypes:
    - lua_State*
    - enum vlc_player_whence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 455
    functionName: vlclua_player_seek_by_time_
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - VLC_TICK_FROM_US
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlclua_get_player_internal
    - vlc_player_SeekByTime
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: "int vlclua_player_seek_by_time_(lua_State *L,\n                                       enum
      vlc_player_whence whence)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_player_seek_by_time_
      Src: /src/vlc/modules/lua/libs/input.c:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 3
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: vlclua_player_seek_by_time_absolute
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlclua_player_seek_by_time_
    linkageType: ''
    returnType: int
    signature: int vlclua_player_seek_by_time_absolute(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_player_seek_by_time_
      Src: /src/vlc/modules/lua/libs/input.c:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 3
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: vlclua_player_seek_by_time_relative
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlclua_player_seek_by_time_
    linkageType: ''
    returnType: int
    signature: int vlclua_player_seek_by_time_relative(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_player_internal
      Src: /src/vlc/modules/lua/libs/input.c:469,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/lua/libs/input.c:471,1
    - Dst: vlc_player_GetAudioDelay
      Src: /src/vlc/modules/lua/libs/input.c:472,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/lua/libs/input.c:473,1
    - Dst: secf_from_vlc_tick
      Src: /src/vlc/modules/lua/libs/input.c:475,1
    - Dst: lua_pushnumber
      Src: /src/vlc/modules/lua/libs/input.c:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 479
    functionName: vlclua_player_get_audio_delay
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - lua_pushnumber
    - vlc_player_Unlock
    - secf_from_vlc_tick
    - vlc_player_Lock
    - vlclua_get_player_internal
    - vlc_player_GetAudioDelay
    linkageType: ''
    returnType: int
    signature: int vlclua_player_get_audio_delay(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_player_internal
      Src: /src/vlc/modules/lua/libs/input.c:483,1
    - Dst: luaL_checknumber
      Src: /src/vlc/modules/lua/libs/input.c:485,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/lua/libs/input.c:486,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/lua/libs/input.c:488,1
    - Dst: vlc_player_SetAudioDelay
      Src: /src/vlc/modules/lua/libs/input.c:489,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/lua/libs/input.c:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 493
    functionName: vlclua_player_set_audio_delay
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlc_tick_from_sec
    - vlc_player_Unlock
    - vlc_player_Lock
    - luaL_checknumber
    - vlclua_get_player_internal
    - vlc_player_SetAudioDelay
    linkageType: ''
    returnType: int
    signature: int vlclua_player_set_audio_delay(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_player_internal
      Src: /src/vlc/modules/lua/libs/input.c:497,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/lua/libs/input.c:499,1
    - Dst: vlc_player_GetSubtitleDelay
      Src: /src/vlc/modules/lua/libs/input.c:500,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/lua/libs/input.c:501,1
    - Dst: secf_from_vlc_tick
      Src: /src/vlc/modules/lua/libs/input.c:503,1
    - Dst: lua_pushnumber
      Src: /src/vlc/modules/lua/libs/input.c:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 507
    functionName: vlclua_player_get_subtitle_delay
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - lua_pushnumber
    - vlc_player_Unlock
    - secf_from_vlc_tick
    - vlc_player_Lock
    - vlclua_get_player_internal
    - vlc_player_GetSubtitleDelay
    linkageType: ''
    returnType: int
    signature: int vlclua_player_get_subtitle_delay(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_player_internal
      Src: /src/vlc/modules/lua/libs/input.c:511,1
    - Dst: luaL_checknumber
      Src: /src/vlc/modules/lua/libs/input.c:513,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/lua/libs/input.c:514,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/lua/libs/input.c:516,1
    - Dst: vlc_player_SetSubtitleDelay
      Src: /src/vlc/modules/lua/libs/input.c:517,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/lua/libs/input.c:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 509
    functionDepth: 2
    functionLinenumber: 509
    functionLinenumberEnd: 521
    functionName: vlclua_player_set_subtitle_delay
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlc_player_SetSubtitleDelay
    - vlc_tick_from_sec
    - vlc_player_Unlock
    - vlc_player_Lock
    - luaL_checknumber
    - vlclua_get_player_internal
    linkageType: ''
    returnType: int
    signature: int vlclua_player_set_subtitle_delay(lua_State *L)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushnil
      Src: /src/vlc/modules/lua/libs/input.c:527,1
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/input.c:531,1
    - Dst: input_item_GetURI
      Src: /src/vlc/modules/lua/libs/input.c:534,1
    - Dst: strrchr
      Src: /src/vlc/modules/lua/libs/input.c:535,1
    - Dst: strrchr
      Src: /src/vlc/modules/lua/libs/input.c:541,1
    - Dst: vlc_uri_decode
      Src: /src/vlc/modules/lua/libs/input.c:547,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/input.c:550,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/input.c:551,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/input.c:553,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/libs/input.c:560,1
    - Dst: PUSH_META
      Src: /src/vlc/modules/lua/libs/input.c:564,1
    - Dst: PUSH_META
      Src: /src/vlc/modules/lua/libs/input.c:565,1
    - Dst: PUSH_META
      Src: /src/vlc/modules/lua/libs/input.c:566,1
    - Dst: PUSH_META
      Src: /src/vlc/modules/lua/libs/input.c:567,1
    - Dst: PUSH_META
      Src: /src/vlc/modules/lua/libs/input.c:568,1
    - Dst: PUSH_META
      Src: /src/vlc/modules/lua/libs/input.c:569,1
    - Dst: PUSH_META
      Src: /src/vlc/modules/lua/libs/input.c:570,1
    - Dst: PUSH_META
      Src: /src/vlc/modules/lua/libs/input.c:571,1
    - Dst: PUSH_META
      Src: /src/vlc/modules/lua/libs/input.c:572,1
    - Dst: PUSH_META
      Src: /src/vlc/modules/lua/libs/input.c:573,1
    - Dst: PUSH_META
      Src: /src/vlc/modules/lua/libs/input.c:574,1
    - Dst: PUSH_META
      Src: /src/vlc/modules/lua/libs/input.c:575,1
    - Dst: PUSH_META
      Src: /src/vlc/modules/lua/libs/input.c:576,1
    - Dst: PUSH_META
      Src: /src/vlc/modules/lua/libs/input.c:577,1
    - Dst: PUSH_META
      Src: /src/vlc/modules/lua/libs/input.c:578,1
    - Dst: PUSH_META
      Src: /src/vlc/modules/lua/libs/input.c:579,1
    - Dst: PUSH_META
      Src: /src/vlc/modules/lua/libs/input.c:580,1
    - Dst: PUSH_META
      Src: /src/vlc/modules/lua/libs/input.c:581,1
    - Dst: PUSH_META
      Src: /src/vlc/modules/lua/libs/input.c:582,1
    - Dst: PUSH_META
      Src: /src/vlc/modules/lua/libs/input.c:583,1
    - Dst: PUSH_META
      Src: /src/vlc/modules/lua/libs/input.c:584,1
    - Dst: PUSH_META
      Src: /src/vlc/modules/lua/libs/input.c:585,1
    - Dst: PUSH_META
      Src: /src/vlc/modules/lua/libs/input.c:586,1
    - Dst: vlc_meta_CopyExtraNames
      Src: /src/vlc/modules/lua/libs/input.c:590,1
    - Dst: vlc_meta_GetExtra
      Src: /src/vlc/modules/lua/libs/input.c:593,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/input.c:594,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/input.c:595,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/input.c:596,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/input.c:598,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/libs/input.c:600,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 50
    argCount: 2
    argNames:
    - L
    - p_item
    argTypes:
    - lua_State*
    - input_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 603
    functionName: vlclua_input_metas_internal
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - lua_setfield
    - vlc_meta_CopyExtraNames
    - lua_pushstring
    - lua_pushnil
    - vlc_mutex_lock
    - vlc_mutex_unlock
    - vlc_meta_GetExtra
    - lua_newtable
    - free
    - vlc_uri_decode
    - PUSH_META
    - strrchr
    - input_item_GetURI
    linkageType: ''
    returnType: int
    signature: int vlclua_input_metas_internal( lua_State *L, input_item_t *p_item
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 559
    functionName: PUSH_META
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUSH_META( n, m )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_input_item_get_internal
      Src: /src/vlc/modules/lua/libs/input.c:607,1
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/input.c:608,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/libs/input.c:612,1
    - Dst: STATS_INT
      Src: /src/vlc/modules/lua/libs/input.c:620,1
    - Dst: STATS_INT
      Src: /src/vlc/modules/lua/libs/input.c:621,1
    - Dst: STATS_FLOAT
      Src: /src/vlc/modules/lua/libs/input.c:622,1
    - Dst: STATS_INT
      Src: /src/vlc/modules/lua/libs/input.c:623,1
    - Dst: STATS_INT
      Src: /src/vlc/modules/lua/libs/input.c:624,1
    - Dst: STATS_FLOAT
      Src: /src/vlc/modules/lua/libs/input.c:625,1
    - Dst: STATS_INT
      Src: /src/vlc/modules/lua/libs/input.c:626,1
    - Dst: STATS_INT
      Src: /src/vlc/modules/lua/libs/input.c:627,1
    - Dst: STATS_INT
      Src: /src/vlc/modules/lua/libs/input.c:628,1
    - Dst: STATS_INT
      Src: /src/vlc/modules/lua/libs/input.c:629,1
    - Dst: STATS_INT
      Src: /src/vlc/modules/lua/libs/input.c:630,1
    - Dst: STATS_INT
      Src: /src/vlc/modules/lua/libs/input.c:631,1
    - Dst: STATS_INT
      Src: /src/vlc/modules/lua/libs/input.c:632,1
    - Dst: STATS_INT
      Src: /src/vlc/modules/lua/libs/input.c:633,1
    - Dst: STATS_INT
      Src: /src/vlc/modules/lua/libs/input.c:634,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/libs/input.c:638,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 640
    functionName: vlclua_input_item_stats
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - STATS_FLOAT
    - lua_newtable
    - vlclua_input_item_get_internal
    - STATS_INT
    linkageType: ''
    returnType: int
    signature: int vlclua_input_item_stats( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 618
    functionName: STATS_INT
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATS_INT( n )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 620
    functionName: STATS_FLOAT
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATS_FLOAT( n )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_player_internal
      Src: /src/vlc/modules/lua/libs/input.c:644,1
    - Dst: lua_isstring
      Src: /src/vlc/modules/lua/libs/input.c:646,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/input.c:647,1
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/libs/input.c:650,1
    - Dst: lua_toboolean
      Src: /src/vlc/modules/lua/libs/input.c:651,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/input.c:653,1
    - Dst: vlc_path2uri
      Src: /src/vlc/modules/lua/libs/input.c:656,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/lua/libs/input.c:659,1
    - Dst: vlc_player_AddAssociatedMedia
      Src: /src/vlc/modules/lua/libs/input.c:660,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/lua/libs/input.c:661,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/input.c:663,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - L
    - b_path
    argTypes:
    - lua_State*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 666
    functionName: vlclua_input_add_subtitle
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - lua_isstring
    - lua_gettop
    - lua_toboolean
    - luaL_error
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlclua_get_player_internal
    - luaL_checkstring
    - free
    - vlc_player_AddAssociatedMedia
    - vlc_path2uri
    linkageType: ''
    returnType: int
    signature: int vlclua_input_add_subtitle(lua_State *L, bool b_path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_input_add_subtitle
      Src: /src/vlc/modules/lua/libs/input.c:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 668
    functionDepth: 3
    functionLinenumber: 668
    functionLinenumberEnd: 671
    functionName: vlclua_input_add_subtitle_path
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlclua_input_add_subtitle
    linkageType: ''
    returnType: int
    signature: int vlclua_input_add_subtitle_path( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_input_add_subtitle
      Src: /src/vlc/modules/lua/libs/input.c:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 673
    functionDepth: 3
    functionLinenumber: 673
    functionLinenumberEnd: 676
    functionName: vlclua_input_add_subtitle_mrl
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlclua_input_add_subtitle
    linkageType: ''
    returnType: int
    signature: int vlclua_input_add_subtitle_mrl( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/input.c:684,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/input.c:688,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 691
    functionName: vlclua_input_item_get_internal
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 2
    functionsReached:
    - luaL_error
    - luaL_checkudata
    linkageType: ''
    returnType: input_item_t
    signature: input_item_t * vlclua_input_item_get_internal( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/input.c:696,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/input.c:700,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/lua/libs/input.c:703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 706
    functionName: vlclua_input_item_delete
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - luaL_error
    - luaL_checkudata
    - input_item_Release
    linkageType: ''
    returnType: int
    signature: int vlclua_input_item_delete( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_player_internal
      Src: /src/vlc/modules/lua/libs/input.c:710,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/lua/libs/input.c:712,1
    - Dst: vlc_player_GetCurrentMedia
      Src: /src/vlc/modules/lua/libs/input.c:713,1
    - Dst: vlclua_input_item_get
      Src: /src/vlc/modules/lua/libs/input.c:715,1
    - Dst: lua_pushnil
      Src: /src/vlc/modules/lua/libs/input.c:717,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/lua/libs/input.c:718,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 708
    functionDepth: 2
    functionLinenumber: 708
    functionLinenumberEnd: 721
    functionName: vlclua_input_item_get_current
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlclua_get_player_internal
    - vlclua_input_item_get
    - vlc_player_GetCurrentMedia
    linkageType: ''
    returnType: int
    signature: int vlclua_input_item_get_current( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_input_metas_internal
      Src: /src/vlc/modules/lua/libs/input.c:725,1
    - Dst: vlclua_input_item_get_internal
      Src: /src/vlc/modules/lua/libs/input.c:725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 723
    functionDepth: 2
    functionLinenumber: 723
    functionLinenumberEnd: 727
    functionName: vlclua_input_item_metas
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlclua_input_item_get_internal
    - vlclua_input_metas_internal
    linkageType: ''
    returnType: int
    signature: int vlclua_input_item_metas( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushboolean
      Src: /src/vlc/modules/lua/libs/input.c:731,1
    - Dst: input_item_IsPreparsed
      Src: /src/vlc/modules/lua/libs/input.c:731,1
    - Dst: vlclua_input_item_get_internal
      Src: /src/vlc/modules/lua/libs/input.c:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 733
    functionName: vlclua_input_item_is_preparsed
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - input_item_IsPreparsed
    - lua_pushboolean
    - vlclua_input_item_get_internal
    linkageType: ''
    returnType: int
    signature: int vlclua_input_item_is_preparsed( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: input_item_GetURI
      Src: /src/vlc/modules/lua/libs/input.c:737,1
    - Dst: vlclua_input_item_get_internal
      Src: /src/vlc/modules/lua/libs/input.c:737,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/input.c:738,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/input.c:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 741
    functionName: vlclua_input_item_uri
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - free
    - vlclua_input_item_get_internal
    - input_item_GetURI
    - lua_pushstring
    linkageType: ''
    returnType: int
    signature: int vlclua_input_item_uri( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: input_item_GetName
      Src: /src/vlc/modules/lua/libs/input.c:745,1
    - Dst: vlclua_input_item_get_internal
      Src: /src/vlc/modules/lua/libs/input.c:745,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/input.c:746,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/input.c:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 749
    functionName: vlclua_input_item_name
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - free
    - vlclua_input_item_get_internal
    - input_item_GetName
    - lua_pushstring
    linkageType: ''
    returnType: int
    signature: int vlclua_input_item_name( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: input_item_GetDuration
      Src: /src/vlc/modules/lua/libs/input.c:753,1
    - Dst: vlclua_input_item_get_internal
      Src: /src/vlc/modules/lua/libs/input.c:753,1
    - Dst: lua_pushnumber
      Src: /src/vlc/modules/lua/libs/input.c:754,1
    - Dst: secf_from_vlc_tick
      Src: /src/vlc/modules/lua/libs/input.c:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 756
    functionName: vlclua_input_item_duration
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - vlclua_input_item_get_internal
    - input_item_GetDuration
    - lua_pushnumber
    - secf_from_vlc_tick
    linkageType: ''
    returnType: int
    signature: int vlclua_input_item_duration( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_input_item_get_internal
      Src: /src/vlc/modules/lua/libs/input.c:760,1
    - Dst: lua_settop
      Src: /src/vlc/modules/lua/libs/input.c:761,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/input.c:762,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/input.c:763,1
    - Dst: META_TYPE
      Src: /src/vlc/modules/lua/libs/input.c:771,1
    - Dst: META_TYPE
      Src: /src/vlc/modules/lua/libs/input.c:772,1
    - Dst: META_TYPE
      Src: /src/vlc/modules/lua/libs/input.c:773,1
    - Dst: META_TYPE
      Src: /src/vlc/modules/lua/libs/input.c:774,1
    - Dst: META_TYPE
      Src: /src/vlc/modules/lua/libs/input.c:775,1
    - Dst: META_TYPE
      Src: /src/vlc/modules/lua/libs/input.c:776,1
    - Dst: META_TYPE
      Src: /src/vlc/modules/lua/libs/input.c:777,1
    - Dst: META_TYPE
      Src: /src/vlc/modules/lua/libs/input.c:778,1
    - Dst: META_TYPE
      Src: /src/vlc/modules/lua/libs/input.c:779,1
    - Dst: META_TYPE
      Src: /src/vlc/modules/lua/libs/input.c:780,1
    - Dst: META_TYPE
      Src: /src/vlc/modules/lua/libs/input.c:781,1
    - Dst: META_TYPE
      Src: /src/vlc/modules/lua/libs/input.c:782,1
    - Dst: META_TYPE
      Src: /src/vlc/modules/lua/libs/input.c:783,1
    - Dst: META_TYPE
      Src: /src/vlc/modules/lua/libs/input.c:784,1
    - Dst: META_TYPE
      Src: /src/vlc/modules/lua/libs/input.c:785,1
    - Dst: META_TYPE
      Src: /src/vlc/modules/lua/libs/input.c:786,1
    - Dst: META_TYPE
      Src: /src/vlc/modules/lua/libs/input.c:787,1
    - Dst: META_TYPE
      Src: /src/vlc/modules/lua/libs/input.c:788,1
    - Dst: META_TYPE
      Src: /src/vlc/modules/lua/libs/input.c:789,1
    - Dst: META_TYPE
      Src: /src/vlc/modules/lua/libs/input.c:790,1
    - Dst: META_TYPE
      Src: /src/vlc/modules/lua/libs/input.c:791,1
    - Dst: META_TYPE
      Src: /src/vlc/modules/lua/libs/input.c:792,1
    - Dst: META_TYPE
      Src: /src/vlc/modules/lua/libs/input.c:793,1
    - Dst: META_TYPE
      Src: /src/vlc/modules/lua/libs/input.c:794,1
    - Dst: META_TYPE
      Src: /src/vlc/modules/lua/libs/input.c:795,1
    - Dst: META_TYPE
      Src: /src/vlc/modules/lua/libs/input.c:796,1
    - Dst: META_TYPE
      Src: /src/vlc/modules/lua/libs/input.c:797,1
    - Dst: META_TYPE
      Src: /src/vlc/modules/lua/libs/input.c:798,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/lua/libs/input.c:808,1
    - Dst: input_item_SetMeta
      Src: /src/vlc/modules/lua/libs/input.c:811,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/lua/libs/input.c:816,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 758
    functionDepth: 2
    functionLinenumber: 758
    functionLinenumberEnd: 818
    functionName: vlclua_input_item_set_meta
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 0
    functionsReached:
    - input_item_SetMeta
    - luaL_checkstring
    - lua_settop
    - META_TYPE
    - strcasecmp
    - vlclua_input_item_get_internal
    - vlc_meta_SetExtra
    linkageType: ''
    returnType: int
    signature: int vlclua_input_item_set_meta( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 766
    functionName: META_TYPE
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: META_TYPE( n, s )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/input.c:864,1
    - Dst: luaL_register
      Src: /src/vlc/modules/lua/libs/input.c:865,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/input.c:866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 862
    functionDepth: 1
    functionLinenumber: 862
    functionLinenumberEnd: 867
    functionName: luaopen_input
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 3
    functionsReached:
    - lua_newtable
    - lua_setfield
    - luaL_register
    linkageType: ''
    returnType: void
    signature: void luaopen_input( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: input_item_Hold
      Src: /src/vlc/modules/lua/libs/input.c:883,1
    - Dst: lua_newuserdata
      Src: /src/vlc/modules/lua/libs/input.c:884,1
    - Dst: luaL_newmetatable
      Src: /src/vlc/modules/lua/libs/input.c:887,1
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/input.c:889,1
    - Dst: luaL_register
      Src: /src/vlc/modules/lua/libs/input.c:890,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/input.c:891,1
    - Dst: lua_pushcfunction
      Src: /src/vlc/modules/lua/libs/input.c:892,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/input.c:893,1
    - Dst: lua_setmetatable
      Src: /src/vlc/modules/lua/libs/input.c:896,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - L
    - p_item
    argTypes:
    - lua_State*
    - input_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 881
    functionDepth: 1
    functionLinenumber: 881
    functionLinenumberEnd: 899
    functionName: vlclua_input_item_get
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 1
    functionsReached:
    - lua_setfield
    - lua_setmetatable
    - input_item_Hold
    - lua_newuserdata
    - lua_newtable
    - luaL_register
    - lua_pushcfunction
    - luaL_newmetatable
    linkageType: ''
    returnType: int
    signature: int vlclua_input_item_get( lua_State *L, input_item_t *p_item )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/lua/libs/input.c:904,1
    - Dst: vlclua_input_item_get
      Src: /src/vlc/modules/lua/libs/input.c:905,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/input.c:906,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - L
    - item
    argTypes:
    - lua_State*
    - input_item_t*
    assertStmts:
    - condition: (item)
      pos:
        line_end: 903
        line_start: 903
        source_file: /src/vlc/modules/lua/libs/input.c
    constantsTouched: []
    func_position:
      end: 907
      start: 902
    functionDepth: 2
    functionLinenumber: 902
    functionLinenumberEnd: 907
    functionName: luaopen_input_item
    functionSourceFile: /src/vlc/modules/lua/libs/input.c
    functionUses: 2
    functionsReached:
    - lua_setfield
    - assert
    - vlclua_input_item_get
    linkageType: ''
    returnType: void
    signature: void luaopen_input_item( lua_State *L, input_item_t *item )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/lua/libs/sd.c:48,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/lua/libs/sd.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pp_item
    argTypes:
    - input_item_t**
    assertStmts:
    - condition: (pp_item != NULL)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/vlc/modules/lua/libs/sd.c
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: vlclua_sd_delete_common
    functionSourceFile: /src/vlc/modules/lua/libs/sd.c
    functionUses: 0
    functionsReached:
    - input_item_Release
    - assert
    linkageType: ''
    returnType: int
    signature: int vlclua_sd_delete_common( input_item_t **pp_item )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/sd.c:59,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/sd.c:62,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/sd.c:66,1
    - Dst: services_discovery_RemoveItem
      Src: /src/vlc/modules/lua/libs/sd.c:68,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/lua/libs/sd.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - L
    - pp_item
    argTypes:
    - lua_State*
    - input_item_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: vlclua_sd_remove_common
    functionSourceFile: /src/vlc/modules/lua/libs/sd.c
    functionUses: 0
    functionsReached:
    - luaL_error
    - services_discovery_RemoveItem
    - input_item_Release
    - vlclua_get_this
    linkageType: ''
    returnType: int
    signature: int vlclua_sd_remove_common( lua_State *L, input_item_t **pp_item )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/sd.c:80,1
    - Dst: vlclua_sd_delete_common
      Src: /src/vlc/modules/lua/libs/sd.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: vlclua_sd_item_delete
    functionSourceFile: /src/vlc/modules/lua/libs/sd.c
    functionUses: 0
    functionsReached:
    - vlclua_sd_delete_common
    - luaL_checkudata
    linkageType: ''
    returnType: int
    signature: int vlclua_sd_item_delete( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: vlclua_item_luareg
    functionSourceFile: /src/vlc/modules/lua/libs/sd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vlclua_item_luareg( a )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lowercase
    - ','
    - normal
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 103
    functionName: vlclua_item_meta
    functionSourceFile: /src/vlc/modules/lua/libs/sd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vlclua_item_meta( lowercase, normal )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: lua_istable
      Src: /src/vlc/modules/lua/libs/sd.c:158,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/libs/sd.c:160,1
    - Dst: lua_getfield
      Src: /src/vlc/modules/lua/libs/sd.c:164,1
    - Dst: lua_isstring
      Src: /src/vlc/modules/lua/libs/sd.c:165,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/libs/sd.c:167,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/libs/sd.c:171,1
    - Dst: lua_getfield
      Src: /src/vlc/modules/lua/libs/sd.c:173,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/sd.c:175,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/sd.c:176,1
    - Dst: input_item_New
      Src: /src/vlc/modules/lua/libs/sd.c:179,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/libs/sd.c:180,1
    - Dst: unlikely
      Src: /src/vlc/modules/lua/libs/sd.c:182,1
    - Dst: lua_pushvalue
      Src: /src/vlc/modules/lua/libs/sd.c:190,1
    - Dst: vlclua_read_options
      Src: /src/vlc/modules/lua/libs/sd.c:191,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/libs/sd.c:192,1
    - Dst: input_item_AddOptions
      Src: /src/vlc/modules/lua/libs/sd.c:194,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/sd.c:197,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/sd.c:198,1
    - Dst: vlclua_read_meta_data
      Src: /src/vlc/modules/lua/libs/sd.c:200,1
    - Dst: vlclua_read_custom_meta_data
      Src: /src/vlc/modules/lua/libs/sd.c:202,1
    - Dst: lua_getfield
      Src: /src/vlc/modules/lua/libs/sd.c:205,1
    - Dst: lua_isnumber
      Src: /src/vlc/modules/lua/libs/sd.c:206,1
    - Dst: llround
      Src: /src/vlc/modules/lua/libs/sd.c:207,1
    - Dst: lua_tonumber
      Src: /src/vlc/modules/lua/libs/sd.c:207,1
    - Dst: lua_isnil
      Src: /src/vlc/modules/lua/libs/sd.c:208,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/libs/sd.c:209,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/libs/sd.c:210,1
    - Dst: lua_getfield
      Src: /src/vlc/modules/lua/libs/sd.c:213,1
    - Dst: lua_isstring
      Src: /src/vlc/modules/lua/libs/sd.c:214,1
    - Dst: strdup
      Src: /src/vlc/modules/lua/libs/sd.c:216,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/sd.c:216,1
    - Dst: vlc_hash_md5_Init
      Src: /src/vlc/modules/lua/libs/sd.c:220,1
    - Dst: vlc_hash_md5_Update
      Src: /src/vlc/modules/lua/libs/sd.c:221,1
    - Dst: strlen
      Src: /src/vlc/modules/lua/libs/sd.c:221,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/sd.c:222,1
    - Dst: vlc_hash_FinishHex
      Src: /src/vlc/modules/lua/libs/sd.c:224,1
    - Dst: input_item_AddInfo
      Src: /src/vlc/modules/lua/libs/sd.c:225,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/libs/sd.c:228,1
    - Dst: lua_newuserdata
      Src: /src/vlc/modules/lua/libs/sd.c:230,1
    - Dst: luaL_newmetatable
      Src: /src/vlc/modules/lua/libs/sd.c:233,1
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/sd.c:235,1
    - Dst: luaL_register
      Src: /src/vlc/modules/lua/libs/sd.c:236,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/sd.c:237,1
    - Dst: lua_pushcfunction
      Src: /src/vlc/modules/lua/libs/sd.c:238,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/sd.c:239,1
    - Dst: lua_pushliteral
      Src: /src/vlc/modules/lua/libs/sd.c:240,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/sd.c:241,1
    - Dst: lua_setmetatable
      Src: /src/vlc/modules/lua/libs/sd.c:243,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 52
    argCount: 2
    argNames:
    - p_sd
    - L
    argTypes:
    - services_discovery_t*
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 246
    functionName: vlclua_sd_create_item
    functionSourceFile: /src/vlc/modules/lua/libs/sd.c
    functionUses: 0
    functionsReached:
    - lua_setfield
    - lua_isstring
    - input_item_AddInfo
    - lua_setmetatable
    - vlclua_read_custom_meta_data
    - lua_newuserdata
    - vlclua_read_options
    - lua_pop
    - luaL_register
    - input_item_New
    - msg_Err
    - lua_newtable
    - msg_Warn
    - vlc_hash_FinishHex
    - vlc_hash_md5_Update
    - strdup
    - lua_pushvalue
    - input_item_AddOptions
    - lua_istable
    - luaL_checkstring
    - vlclua_read_meta_data
    - lua_isnil
    - lua_pushcfunction
    - llround
    - lua_getfield
    - lua_pushliteral
    - lua_tostring
    - strlen
    - lua_isnumber
    - free
    - lua_tonumber
    - luaL_newmetatable
    - unlikely
    - vlc_hash_md5_Init
    linkageType: ''
    returnType: input_item_t
    signature: "input_item_t *vlclua_sd_create_item( services_discovery_t *p_sd,\n
      \                                           lua_State *L )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/sd.c:253,1
    - Dst: vlclua_sd_delete_common
      Src: /src/vlc/modules/lua/libs/sd.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 256
    functionName: vlclua_sd_node_delete
    functionSourceFile: /src/vlc/modules/lua/libs/sd.c
    functionUses: 0
    functionsReached:
    - vlclua_sd_delete_common
    - luaL_checkudata
    linkageType: ''
    returnType: int
    signature: int vlclua_sd_node_delete( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: services_discovery_AddSubItem
      Src: /src/vlc/modules/lua/libs/sd.c:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - p_sd
    - pp_node
    - p_input
    argTypes:
    - services_discovery_t*
    - input_item_t**
    - input_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 265
    functionName: vlclua_sd_add_sub_common
    functionSourceFile: /src/vlc/modules/lua/libs/sd.c
    functionUses: 0
    functionsReached:
    - services_discovery_AddSubItem
    linkageType: ''
    returnType: int
    signature: "int vlclua_sd_add_sub_common( services_discovery_t *p_sd,\n                                     input_item_t
      **pp_node,\n                                     input_item_t *p_input )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/sd.c:269,1
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/sd.c:270,1
    - Dst: vlclua_sd_add_sub_common
      Src: /src/vlc/modules/lua/libs/sd.c:272,1
    - Dst: vlclua_sd_create_item
      Src: /src/vlc/modules/lua/libs/sd.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: vlclua_node_add_subitem
    functionSourceFile: /src/vlc/modules/lua/libs/sd.c
    functionUses: 0
    functionsReached:
    - vlclua_sd_add_sub_common
    - luaL_checkudata
    - vlclua_get_this
    - vlclua_sd_create_item
    linkageType: ''
    returnType: int
    signature: int vlclua_node_add_subitem( lua_State *L )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lua_istable
      Src: /src/vlc/modules/lua/libs/sd.c:281,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/libs/sd.c:283,1
    - Dst: lua_getfield
      Src: /src/vlc/modules/lua/libs/sd.c:287,1
    - Dst: lua_isstring
      Src: /src/vlc/modules/lua/libs/sd.c:288,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/libs/sd.c:290,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/libs/sd.c:294,1
    - Dst: input_item_NewExt
      Src: /src/vlc/modules/lua/libs/sd.c:295,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/libs/sd.c:299,1
    - Dst: unlikely
      Src: /src/vlc/modules/lua/libs/sd.c:301,1
    - Dst: lua_getfield
      Src: /src/vlc/modules/lua/libs/sd.c:304,1
    - Dst: lua_isstring
      Src: /src/vlc/modules/lua/libs/sd.c:305,1
    - Dst: strcmp
      Src: /src/vlc/modules/lua/libs/sd.c:305,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/libs/sd.c:305,1
    - Dst: strdup
      Src: /src/vlc/modules/lua/libs/sd.c:307,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/libs/sd.c:307,1
    - Dst: EnsureUTF8
      Src: /src/vlc/modules/lua/libs/sd.c:308,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/libs/sd.c:309,1
    - Dst: input_item_SetArtURL
      Src: /src/vlc/modules/lua/libs/sd.c:311,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/sd.c:312,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/libs/sd.c:314,1
    - Dst: lua_newuserdata
      Src: /src/vlc/modules/lua/libs/sd.c:316,1
    - Dst: luaL_newmetatable
      Src: /src/vlc/modules/lua/libs/sd.c:318,1
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/sd.c:320,1
    - Dst: luaL_register
      Src: /src/vlc/modules/lua/libs/sd.c:321,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/sd.c:322,1
    - Dst: lua_pushcfunction
      Src: /src/vlc/modules/lua/libs/sd.c:323,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/sd.c:324,1
    - Dst: lua_setmetatable
      Src: /src/vlc/modules/lua/libs/sd.c:326,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - p_sd
    - L
    argTypes:
    - services_discovery_t*
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 329
    functionName: vlclua_sd_create_node
    functionSourceFile: /src/vlc/modules/lua/libs/sd.c
    functionUses: 0
    functionsReached:
    - lua_setfield
    - lua_isstring
    - lua_setmetatable
    - input_item_SetArtURL
    - lua_newuserdata
    - EnsureUTF8
    - luaL_register
    - lua_pop
    - input_item_NewExt
    - msg_Err
    - lua_newtable
    - msg_Dbg
    - strdup
    - lua_istable
    - strcmp
    - lua_pushcfunction
    - lua_getfield
    - lua_tostring
    - free
    - luaL_newmetatable
    - unlikely
    linkageType: ''
    returnType: input_item_t
    signature: "input_item_t *vlclua_sd_create_node( services_discovery_t *p_sd,\n
      \                                           lua_State *L )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/sd.c:333,1
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/sd.c:334,1
    - Dst: vlclua_sd_add_sub_common
      Src: /src/vlc/modules/lua/libs/sd.c:336,1
    - Dst: vlclua_sd_create_node
      Src: /src/vlc/modules/lua/libs/sd.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 338
    functionName: vlclua_node_add_subnode
    functionSourceFile: /src/vlc/modules/lua/libs/sd.c
    functionUses: 0
    functionsReached:
    - vlclua_sd_add_sub_common
    - luaL_checkudata
    - vlclua_sd_create_node
    - vlclua_get_this
    linkageType: ''
    returnType: int
    signature: int vlclua_node_add_subnode( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: services_discovery_AddItem
      Src: /src/vlc/modules/lua/libs/sd.c:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_sd
    - p_input
    argTypes:
    - services_discovery_t*
    - input_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 355
    functionName: vlclua_sd_add_common
    functionSourceFile: /src/vlc/modules/lua/libs/sd.c
    functionUses: 0
    functionsReached:
    - services_discovery_AddItem
    linkageType: ''
    returnType: int
    signature: "int vlclua_sd_add_common( services_discovery_t *p_sd,\n                                 input_item_t
      *p_input )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/sd.c:359,1
    - Dst: vlclua_sd_add_common
      Src: /src/vlc/modules/lua/libs/sd.c:361,1
    - Dst: vlclua_sd_create_item
      Src: /src/vlc/modules/lua/libs/sd.c:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 362
    functionName: vlclua_sd_add_item
    functionSourceFile: /src/vlc/modules/lua/libs/sd.c
    functionUses: 0
    functionsReached:
    - vlclua_sd_add_common
    - vlclua_get_this
    - vlclua_sd_create_item
    linkageType: ''
    returnType: int
    signature: int vlclua_sd_add_item( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/sd.c:366,1
    - Dst: vlclua_sd_add_common
      Src: /src/vlc/modules/lua/libs/sd.c:368,1
    - Dst: vlclua_sd_create_node
      Src: /src/vlc/modules/lua/libs/sd.c:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 369
    functionName: vlclua_sd_add_node
    functionSourceFile: /src/vlc/modules/lua/libs/sd.c
    functionUses: 0
    functionsReached:
    - vlclua_sd_add_common
    - vlclua_sd_create_node
    - vlclua_get_this
    linkageType: ''
    returnType: int
    signature: int vlclua_sd_add_node( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/sd.c:373,1
    - Dst: vlclua_sd_remove_common
      Src: /src/vlc/modules/lua/libs/sd.c:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 371
    functionDepth: 3
    functionLinenumber: 371
    functionLinenumberEnd: 376
    functionName: vlclua_sd_remove_item
    functionSourceFile: /src/vlc/modules/lua/libs/sd.c
    functionUses: 0
    functionsReached:
    - luaL_checkudata
    - vlclua_sd_remove_common
    linkageType: ''
    returnType: int
    signature: int vlclua_sd_remove_item( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/sd.c:380,1
    - Dst: vlclua_sd_remove_common
      Src: /src/vlc/modules/lua/libs/sd.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 378
    functionDepth: 3
    functionLinenumber: 378
    functionLinenumberEnd: 383
    functionName: vlclua_sd_remove_node
    functionSourceFile: /src/vlc/modules/lua/libs/sd.c
    functionUses: 0
    functionsReached:
    - luaL_checkudata
    - vlclua_sd_remove_common
    linkageType: ''
    returnType: int
    signature: int vlclua_sd_remove_node( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/sd.c:395,1
    - Dst: luaL_register
      Src: /src/vlc/modules/lua/libs/sd.c:396,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/sd.c:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 398
    functionName: luaopen_sd_sd
    functionSourceFile: /src/vlc/modules/lua/libs/sd.c
    functionUses: 1
    functionsReached:
    - lua_newtable
    - lua_setfield
    - luaL_register
    linkageType: ''
    returnType: void
    signature: void luaopen_sd_sd( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_playlist_internal
      Src: /src/vlc/modules/lua/libs/volume.c:51,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/lua/libs/volume.c:52,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/volume.c:54,1
    - Dst: vlc_player_aout_SetVolume
      Src: /src/vlc/modules/lua/libs/volume.c:59,1
    - Dst: vlclua_push_ret
      Src: /src/vlc/modules/lua/libs/volume.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: vlclua_volume_set
    functionSourceFile: /src/vlc/modules/lua/libs/volume.c
    functionUses: 0
    functionsReached:
    - vlc_player_aout_SetVolume
    - vlclua_push_ret
    - vlc_playlist_GetPlayer
    - vlclua_get_playlist_internal
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_volume_set(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_playlist_internal
      Src: /src/vlc/modules/lua/libs/volume.c:65,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/lua/libs/volume.c:66,1
    - Dst: vlc_player_aout_GetVolume
      Src: /src/vlc/modules/lua/libs/volume.c:68,1
    - Dst: lroundf
      Src: /src/vlc/modules/lua/libs/volume.c:70,1
    - Dst: lua_pushnumber
      Src: /src/vlc/modules/lua/libs/volume.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: vlclua_volume_get
    functionSourceFile: /src/vlc/modules/lua/libs/volume.c
    functionUses: 0
    functionsReached:
    - lua_pushnumber
    - vlc_playlist_GetPlayer
    - vlc_player_aout_GetVolume
    - vlclua_get_playlist_internal
    - lroundf
    linkageType: ''
    returnType: int
    signature: int vlclua_volume_get(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_playlist_internal
      Src: /src/vlc/modules/lua/libs/volume.c:77,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/lua/libs/volume.c:78,1
    - Dst: luaL_optinteger
      Src: /src/vlc/modules/lua/libs/volume.c:81,1
    - Dst: vlc_player_aout_IncrementVolume
      Src: /src/vlc/modules/lua/libs/volume.c:82,1
    - Dst: lroundf
      Src: /src/vlc/modules/lua/libs/volume.c:84,1
    - Dst: lua_pushnumber
      Src: /src/vlc/modules/lua/libs/volume.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 88
    functionName: vlclua_volume_up
    functionSourceFile: /src/vlc/modules/lua/libs/volume.c
    functionUses: 0
    functionsReached:
    - lua_pushnumber
    - vlc_player_aout_IncrementVolume
    - vlc_playlist_GetPlayer
    - vlclua_get_playlist_internal
    - luaL_optinteger
    - lroundf
    linkageType: ''
    returnType: int
    signature: int vlclua_volume_up(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_playlist_internal
      Src: /src/vlc/modules/lua/libs/volume.c:92,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/lua/libs/volume.c:93,1
    - Dst: luaL_optinteger
      Src: /src/vlc/modules/lua/libs/volume.c:96,1
    - Dst: vlc_player_aout_DecrementVolume
      Src: /src/vlc/modules/lua/libs/volume.c:97,1
    - Dst: lroundf
      Src: /src/vlc/modules/lua/libs/volume.c:99,1
    - Dst: lua_pushnumber
      Src: /src/vlc/modules/lua/libs/volume.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 103
    functionName: vlclua_volume_down
    functionSourceFile: /src/vlc/modules/lua/libs/volume.c
    functionUses: 0
    functionsReached:
    - lua_pushnumber
    - vlc_playlist_GetPlayer
    - vlclua_get_playlist_internal
    - luaL_optinteger
    - vlc_player_aout_DecrementVolume
    - lroundf
    linkageType: ''
    returnType: int
    signature: int vlclua_volume_down(lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/volume.c:118,1
    - Dst: luaL_register
      Src: /src/vlc/modules/lua/libs/volume.c:119,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/volume.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: luaopen_volume
    functionSourceFile: /src/vlc/modules/lua/libs/volume.c
    functionUses: 2
    functionsReached:
    - lua_newtable
    - lua_setfield
    - luaL_register
    linkageType: ''
    returnType: void
    signature: void luaopen_volume( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_vout_internal
      Src: /src/vlc/modules/lua/libs/video.c:48,1
    - Dst: vlclua_error
      Src: /src/vlc/modules/lua/libs/video.c:50,1
    - Dst: vlclua_var_toggle_or_set
      Src: /src/vlc/modules/lua/libs/video.c:52,1
    - Dst: vout_Release
      Src: /src/vlc/modules/lua/libs/video.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 56
    functionName: vlclua_fullscreen
    functionSourceFile: /src/vlc/modules/lua/libs/video.c
    functionUses: 0
    functionsReached:
    - vlclua_get_vout_internal
    - vout_Release
    - vlclua_var_toggle_or_set
    - vlclua_error
    linkageType: ''
    returnType: int
    signature: int vlclua_fullscreen( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/video.c:68,1
    - Dst: luaL_register
      Src: /src/vlc/modules/lua/libs/video.c:69,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/video.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: luaopen_video
    functionSourceFile: /src/vlc/modules/lua/libs/video.c
    functionUses: 2
    functionsReached:
    - lua_newtable
    - lua_setfield
    - luaL_register
    linkageType: ''
    returnType: void
    signature: void luaopen_video( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/errno.c:34,1
    - Dst: ADD_ERRNO_VALUE
      Src: /src/vlc/modules/lua/libs/errno.c:40,1
    - Dst: ADD_ERRNO_VALUE
      Src: /src/vlc/modules/lua/libs/errno.c:41,1
    - Dst: ADD_ERRNO_VALUE
      Src: /src/vlc/modules/lua/libs/errno.c:42,1
    - Dst: ADD_ERRNO_VALUE
      Src: /src/vlc/modules/lua/libs/errno.c:43,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/errno.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 48
    functionName: luaopen_errno
    functionSourceFile: /src/vlc/modules/lua/libs/errno.c
    functionUses: 2
    functionsReached:
    - lua_newtable
    - lua_setfield
    - ADD_ERRNO_VALUE
    linkageType: ''
    returnType: void
    signature: void luaopen_errno( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: ADD_ERRNO_VALUE
    functionSourceFile: /src/vlc/modules/lua/libs/errno.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_ERRNO_VALUE( value )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: net_Write
      Src: /src/vlc/modules/lua/libs/tcp.c:74,1
    - Dst: net_Read
      Src: /src/vlc/modules/lua/libs/tcp.c:76,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/libs/tcp.c:79,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/libs/tcp.c:83,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/libs/tcp.c:89,1
    - Dst: strlen
      Src: /src/vlc/modules/lua/libs/tcp.c:94,1
    - Dst: strlen
      Src: /src/vlc/modules/lua/libs/tcp.c:95,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/libs/tcp.c:99,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/libs/tcp.c:104,1
    - Dst: memcpy
      Src: /src/vlc/modules/lua/libs/tcp.c:108,1
    - Dst: memcpy
      Src: /src/vlc/modules/lua/libs/tcp.c:110,1
    - Dst: net_Write
      Src: /src/vlc/modules/lua/libs/tcp.c:114,1
    - Dst: net_Read
      Src: /src/vlc/modules/lua/libs/tcp.c:117,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/libs/tcp.c:120,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/libs/tcp.c:123,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/libs/tcp.c:130,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/libs/tcp.c:133,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 5
    argNames:
    - p_obj
    - fd
    - i_socks_version
    - psz_socks_user
    - psz_socks_passwd
    argTypes:
    - vlc_object_t*
    - int
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 138
    functionName: SocksNegotiate
    functionSourceFile: /src/vlc/modules/lua/libs/tcp.c
    functionUses: 0
    functionsReached:
    - net_Write
    - strlen
    - memcpy
    - msg_Err
    - msg_Dbg
    - net_Read
    linkageType: ''
    returnType: int
    signature: "int SocksNegotiate( vlc_object_t *p_obj,\n                           int
      fd, int i_socks_version,\n                           const char *psz_socks_user,\n
      \                          const char *psz_socks_passwd )"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/libs/tcp.c:155,1
    - Dst: SocksNegotiate
      Src: /src/vlc/modules/lua/libs/tcp.c:160,1
    - Dst: vlc_getaddrinfo_i11e
      Src: /src/vlc/modules/lua/libs/tcp.c:175,1
    - Dst: SetWBE
      Src: /src/vlc/modules/lua/libs/tcp.c:180,1
    - Dst: memcpy
      Src: /src/vlc/modules/lua/libs/tcp.c:181,1
    - Dst: freeaddrinfo
      Src: /src/vlc/modules/lua/libs/tcp.c:183,1
    - Dst: net_Write
      Src: /src/vlc/modules/lua/libs/tcp.c:187,1
    - Dst: net_Read
      Src: /src/vlc/modules/lua/libs/tcp.c:189,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/libs/tcp.c:192,1
    - Dst: __MIN
      Src: /src/vlc/modules/lua/libs/tcp.c:200,1
    - Dst: strlen
      Src: /src/vlc/modules/lua/libs/tcp.c:200,1
    - Dst: memcpy
      Src: /src/vlc/modules/lua/libs/tcp.c:209,1
    - Dst: SetWBE
      Src: /src/vlc/modules/lua/libs/tcp.c:210,1
    - Dst: net_Write
      Src: /src/vlc/modules/lua/libs/tcp.c:215,1
    - Dst: net_Read
      Src: /src/vlc/modules/lua/libs/tcp.c:219,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/libs/tcp.c:222,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/libs/tcp.c:227,1
    - Dst: net_Read
      Src: /src/vlc/modules/lua/libs/tcp.c:241,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 7
    argNames:
    - p_obj
    - fd
    - i_socks_version
    - psz_user
    - psz_passwd
    - psz_host
    - i_port
    argTypes:
    - vlc_object_t*
    - int
    - int
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 246
    functionName: SocksHandshakeTCP
    functionSourceFile: /src/vlc/modules/lua/libs/tcp.c
    functionUses: 0
    functionsReached:
    - net_Write
    - SocksNegotiate
    - SetWBE
    - strlen
    - memcpy
    - msg_Err
    - msg_Dbg
    - msg_Warn
    - freeaddrinfo
    - vlc_getaddrinfo_i11e
    - __MIN
    - net_Read
    linkageType: ''
    returnType: int
    signature: "int SocksHandshakeTCP( vlc_object_t *p_obj,\n                              int
      fd,\n                              int i_socks_version,\n                              const
      char *psz_user, const char *psz_passwd,\n                              const
      char *psz_host, int i_port )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritString
      Src: /src/vlc/modules/lua/libs/tcp.c:253,1
    - Dst: strchr
      Src: /src/vlc/modules/lua/libs/tcp.c:258,1
    - Dst: atoi
      Src: /src/vlc/modules/lua/libs/tcp.c:262,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/libs/tcp.c:267,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/libs/tcp.c:272,1
    - Dst: net_Connect
      Src: /src/vlc/modules/lua/libs/tcp.c:277,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/tcp.c:278,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/lua/libs/tcp.c:283,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/lua/libs/tcp.c:284,1
    - Dst: SocksHandshakeTCP
      Src: /src/vlc/modules/lua/libs/tcp.c:286,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/libs/tcp.c:288,1
    - Dst: net_Close
      Src: /src/vlc/modules/lua/libs/tcp.c:289,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/tcp.c:293,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/tcp.c:294,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - obj
    - host
    - serv
    argTypes:
    - vlc_object_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 248
    functionDepth: 3
    functionLinenumber: 248
    functionLinenumberEnd: 298
    functionName: (net_ConnectTCP)(vlc_object_t *obj, const char *host, int serv)
    functionSourceFile: /src/vlc/modules/lua/libs/tcp.c
    functionUses: 0
    functionsReached:
    - atoi
    - net_Connect
    - strchr
    - var_InheritString
    - net_Close
    - msg_Err
    - free
    - msg_Dbg
    - SocksHandshakeTCP
    linkageType: ''
    returnType: int
    signature: int (net_ConnectTCP)(vlc_object_t *obj, const char *host, int serv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getline
      Src: /src/vlc/modules/lua/libs/io.c:46,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/io.c:51,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/io.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - L
    - p_file
    argTypes:
    - lua_State*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: vlclua_io_file_read_line
    functionSourceFile: /src/vlc/modules/lua/libs/io.c
    functionUses: 0
    functionsReached:
    - free
    - getline
    - lua_pushstring
    linkageType: ''
    returnType: int
    signature: int vlclua_io_file_read_line( lua_State *L, FILE* p_file )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fscanf
      Src: /src/vlc/modules/lua/libs/io.c:59,1
    - Dst: lua_pushnumber
      Src: /src/vlc/modules/lua/libs/io.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - L
    - p_file
    argTypes:
    - lua_State*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: vlclua_io_file_read_number
    functionSourceFile: /src/vlc/modules/lua/libs/io.c
    functionUses: 0
    functionsReached:
    - fscanf
    - lua_pushnumber
    linkageType: ''
    returnType: int
    signature: int vlclua_io_file_read_number( lua_State *L, FILE* p_file )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_buffinit
      Src: /src/vlc/modules/lua/libs/io.c:70,1
    - Dst: luaL_prepbuffer
      Src: /src/vlc/modules/lua/libs/io.c:72,1
    - Dst: fread
      Src: /src/vlc/modules/lua/libs/io.c:75,1
    - Dst: luaL_addsize
      Src: /src/vlc/modules/lua/libs/io.c:76,1
    - Dst: luaL_pushresult
      Src: /src/vlc/modules/lua/libs/io.c:79,1
    - Dst: lua_objlen
      Src: /src/vlc/modules/lua/libs/io.c:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - L
    - i_len
    - p_file
    argTypes:
    - lua_State*
    - size_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 81
    functionName: vlclua_io_file_read_chars
    functionSourceFile: /src/vlc/modules/lua/libs/io.c
    functionUses: 0
    functionsReached:
    - luaL_buffinit
    - fread
    - lua_objlen
    - luaL_pushresult
    - luaL_prepbuffer
    - luaL_addsize
    linkageType: ''
    returnType: int
    signature: int vlclua_io_file_read_chars( lua_State *L, size_t i_len, FILE* p_file
      )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/io.c:85,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/io.c:87,1
    - Dst: lua_type
      Src: /src/vlc/modules/lua/libs/io.c:88,1
    - Dst: vlclua_io_file_read_chars
      Src: /src/vlc/modules/lua/libs/io.c:90,1
    - Dst: lua_tointeger
      Src: /src/vlc/modules/lua/libs/io.c:90,1
    - Dst: luaL_optstring
      Src: /src/vlc/modules/lua/libs/io.c:93,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/io.c:95,1
    - Dst: vlclua_io_file_read_line
      Src: /src/vlc/modules/lua/libs/io.c:99,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/lua/libs/io.c:101,1
    - Dst: vlclua_io_file_read_chars
      Src: /src/vlc/modules/lua/libs/io.c:103,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/io.c:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 108
    functionName: vlclua_io_file_read
    functionSourceFile: /src/vlc/modules/lua/libs/io.c
    functionUses: 0
    functionsReached:
    - lua_tointeger
    - luaL_error
    - luaL_checkudata
    - vlclua_io_file_read_line
    - luaL_optstring
    - vlclua_io_file_read_number
    - lua_type
    - vlclua_io_file_read_chars
    linkageType: ''
    returnType: int
    signature: int vlclua_io_file_read( lua_State *L )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/io.c:112,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/io.c:114,1
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/libs/io.c:115,1
    - Dst: lua_type
      Src: /src/vlc/modules/lua/libs/io.c:120,1
    - Dst: fprintf
      Src: /src/vlc/modules/lua/libs/io.c:121,1
    - Dst: lua_tonumber
      Src: /src/vlc/modules/lua/libs/io.c:121,1
    - Dst: luaL_checklstring
      Src: /src/vlc/modules/lua/libs/io.c:125,1
    - Dst: fwrite
      Src: /src/vlc/modules/lua/libs/io.c:126,1
    - Dst: lua_pushboolean
      Src: /src/vlc/modules/lua/libs/io.c:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 132
    functionName: vlclua_io_file_write
    functionSourceFile: /src/vlc/modules/lua/libs/io.c
    functionUses: 0
    functionsReached:
    - lua_gettop
    - luaL_error
    - fprintf
    - luaL_checkudata
    - lua_pushboolean
    - fwrite
    - lua_tonumber
    - lua_type
    - luaL_checklstring
    linkageType: ''
    returnType: int
    signature: int vlclua_io_file_write( lua_State *L )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/io.c:136,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/io.c:138,1
    - Dst: luaL_optstring
      Src: /src/vlc/modules/lua/libs/io.c:139,1
    - Dst: luaL_optinteger
      Src: /src/vlc/modules/lua/libs/io.c:142,1
    - Dst: strcmp
      Src: /src/vlc/modules/lua/libs/io.c:144,1
    - Dst: strcmp
      Src: /src/vlc/modules/lua/libs/io.c:146,1
    - Dst: fseek
      Src: /src/vlc/modules/lua/libs/io.c:150,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/io.c:151,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/io.c:153,1
    - Dst: ftell
      Src: /src/vlc/modules/lua/libs/io.c:153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 155
    functionName: vlclua_io_file_seek
    functionSourceFile: /src/vlc/modules/lua/libs/io.c
    functionUses: 0
    functionsReached:
    - ftell
    - luaL_error
    - luaL_checkudata
    - fseek
    - luaL_optstring
    - strcmp
    - lua_pushinteger
    - luaL_optinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_io_file_seek( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/io.c:159,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/io.c:161,1
    - Dst: fflush
      Src: /src/vlc/modules/lua/libs/io.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: vlclua_io_file_flush
    functionSourceFile: /src/vlc/modules/lua/libs/io.c
    functionUses: 0
    functionsReached:
    - luaL_error
    - luaL_checkudata
    - fflush
    linkageType: ''
    returnType: int
    signature: int vlclua_io_file_flush( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/io.c:168,1
    - Dst: fclose
      Src: /src/vlc/modules/lua/libs/io.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 175
    functionName: vlclua_io_file_close
    functionSourceFile: /src/vlc/modules/lua/libs/io.c
    functionUses: 0
    functionsReached:
    - luaL_checkudata
    - fclose
    linkageType: ''
    returnType: int
    signature: int vlclua_io_file_close( lua_State *L )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/libs/io.c:188,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/io.c:189,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/io.c:190,1
    - Dst: luaL_optstring
      Src: /src/vlc/modules/lua/libs/io.c:191,1
    - Dst: vlc_fopen
      Src: /src/vlc/modules/lua/libs/io.c:192,1
    - Dst: lua_newuserdata
      Src: /src/vlc/modules/lua/libs/io.c:196,1
    - Dst: luaL_newmetatable
      Src: /src/vlc/modules/lua/libs/io.c:199,1
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/io.c:201,1
    - Dst: luaL_register
      Src: /src/vlc/modules/lua/libs/io.c:202,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/io.c:203,1
    - Dst: lua_pushcfunction
      Src: /src/vlc/modules/lua/libs/io.c:204,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/io.c:205,1
    - Dst: lua_setmetatable
      Src: /src/vlc/modules/lua/libs/io.c:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 209
    functionName: vlclua_io_open
    functionSourceFile: /src/vlc/modules/lua/libs/io.c
    functionUses: 0
    functionsReached:
    - lua_setfield
    - lua_setmetatable
    - lua_gettop
    - luaL_error
    - lua_newuserdata
    - lua_newtable
    - luaL_checkstring
    - vlc_fopen
    - luaL_optstring
    - luaL_register
    - lua_pushcfunction
    - luaL_newmetatable
    linkageType: ''
    returnType: int
    signature: int vlclua_io_open( lua_State *L )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/libs/io.c:213,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/io.c:214,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/io.c:215,1
    - Dst: vlc_opendir
      Src: /src/vlc/modules/lua/libs/io.c:216,1
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/io.c:220,1
    - Dst: vlc_readdir
      Src: /src/vlc/modules/lua/libs/io.c:223,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/io.c:225,1
    - Dst: lua_rawseti
      Src: /src/vlc/modules/lua/libs/io.c:226,1
    - Dst: vlc_closedir
      Src: /src/vlc/modules/lua/libs/io.c:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 231
    functionName: vlclua_io_readdir
    functionSourceFile: /src/vlc/modules/lua/libs/io.c
    functionUses: 0
    functionsReached:
    - lua_gettop
    - lua_pushstring
    - luaL_error
    - lua_rawseti
    - vlc_closedir
    - lua_newtable
    - luaL_checkstring
    - vlc_readdir
    - vlc_opendir
    linkageType: ''
    returnType: int
    signature: int vlclua_io_readdir( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/libs/io.c:235,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/io.c:236,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/io.c:237,1
    - Dst: vlc_unlink
      Src: /src/vlc/modules/lua/libs/io.c:238,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/io.c:240,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/io.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 243
    functionName: vlclua_io_unlink
    functionSourceFile: /src/vlc/modules/lua/libs/io.c
    functionUses: 0
    functionsReached:
    - lua_gettop
    - luaL_error
    - luaL_checkstring
    - lua_pushinteger
    - vlc_unlink
    linkageType: ''
    returnType: int
    signature: int vlclua_io_unlink( lua_State *L )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/libs/io.c:247,1
    - Dst: vlclua_error
      Src: /src/vlc/modules/lua/libs/io.c:247,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/io.c:249,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/io.c:250,1
    - Dst: vlclua_error
      Src: /src/vlc/modules/lua/libs/io.c:252,1
    - Dst: vlc_mkdir
      Src: /src/vlc/modules/lua/libs/io.c:253,1
    - Dst: strtoul
      Src: /src/vlc/modules/lua/libs/io.c:253,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/io.c:255,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/io.c:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 258
    functionName: vlclua_mkdir
    functionSourceFile: /src/vlc/modules/lua/libs/io.c
    functionUses: 0
    functionsReached:
    - lua_gettop
    - strtoul
    - luaL_checkstring
    - lua_pushinteger
    - vlc_mkdir
    - vlclua_error
    linkageType: ''
    returnType: int
    signature: int vlclua_mkdir( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/io.c:271,1
    - Dst: luaL_register
      Src: /src/vlc/modules/lua/libs/io.c:272,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/io.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 274
    functionName: luaopen_vlcio
    functionSourceFile: /src/vlc/modules/lua/libs/io.c
    functionUses: 2
    functionsReached:
    - lua_newtable
    - lua_setfield
    - luaL_register
    linkageType: ''
    returnType: void
    signature: void luaopen_vlcio( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/libs/strings.c:58,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/strings.c:62,1
    - Dst: vlc_uri_decode_duplicate
      Src: /src/vlc/modules/lua/libs/strings.c:63,1
    - Dst: lua_remove
      Src: /src/vlc/modules/lua/libs/strings.c:64,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/strings.c:67,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/strings.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 71
    functionName: vlclua_decode_uri
    functionSourceFile: /src/vlc/modules/lua/libs/strings.c
    functionUses: 0
    functionsReached:
    - vlc_uri_decode_duplicate
    - lua_gettop
    - lua_pushstring
    - lua_remove
    - free
    - luaL_checkstring
    linkageType: ''
    returnType: int
    signature: int vlclua_decode_uri( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/libs/strings.c:81,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/strings.c:85,1
    - Dst: vlc_uri_encode
      Src: /src/vlc/modules/lua/libs/strings.c:86,1
    - Dst: lua_remove
      Src: /src/vlc/modules/lua/libs/strings.c:87,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/strings.c:88,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/strings.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 92
    functionName: vlclua_encode_uri_component
    functionSourceFile: /src/vlc/modules/lua/libs/strings.c
    functionUses: 0
    functionsReached:
    - lua_gettop
    - lua_pushstring
    - lua_remove
    - free
    - luaL_checkstring
    - vlc_uri_encode
    linkageType: ''
    returnType: int
    signature: int vlclua_encode_uri_component( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/strings.c:101,1
    - Dst: luaL_optstring
      Src: /src/vlc/modules/lua/libs/strings.c:102,1
    - Dst: strstr
      Src: /src/vlc/modules/lua/libs/strings.c:103,1
    - Dst: vlc_path2uri
      Src: /src/vlc/modules/lua/libs/strings.c:105,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/strings.c:106,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/strings.c:107,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/strings.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 112
    functionName: vlclua_make_uri
    functionSourceFile: /src/vlc/modules/lua/libs/strings.c
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - free
    - luaL_optstring
    - luaL_checkstring
    - strstr
    - vlc_path2uri
    linkageType: ''
    returnType: int
    signature: int vlclua_make_uri( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/strings.c:120,1
    - Dst: vlc_uri2path
      Src: /src/vlc/modules/lua/libs/strings.c:121,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/strings.c:122,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/strings.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: vlclua_make_path
    functionSourceFile: /src/vlc/modules/lua/libs/strings.c
    functionUses: 0
    functionsReached:
    - free
    - luaL_checkstring
    - vlc_uri2path
    - lua_pushstring
    linkageType: ''
    returnType: int
    signature: int vlclua_make_path( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/strings.c:145,1
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/lua/libs/strings.c:148,1
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/strings.c:150,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/strings.c:151,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/strings.c:152,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/strings.c:153,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/strings.c:154,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/strings.c:155,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/strings.c:156,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/strings.c:157,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/strings.c:158,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/strings.c:159,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/strings.c:160,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/strings.c:161,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/strings.c:162,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/strings.c:163,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/strings.c:164,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/lua/libs/strings.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 169
    functionName: vlclua_url_parse
    functionSourceFile: /src/vlc/modules/lua/libs/strings.c
    functionUses: 0
    functionsReached:
    - lua_setfield
    - vlc_UrlParse
    - lua_pushstring
    - lua_newtable
    - luaL_checkstring
    - lua_pushinteger
    - vlc_UrlClean
    linkageType: ''
    returnType: int
    signature: int vlclua_url_parse( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/libs/strings.c:180,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/strings.c:184,1
    - Dst: strdup
      Src: /src/vlc/modules/lua/libs/strings.c:185,1
    - Dst: lua_remove
      Src: /src/vlc/modules/lua/libs/strings.c:186,1
    - Dst: vlc_xml_decode
      Src: /src/vlc/modules/lua/libs/strings.c:189,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/strings.c:190,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/strings.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 194
    functionName: vlclua_resolve_xml_special_chars
    functionSourceFile: /src/vlc/modules/lua/libs/strings.c
    functionUses: 0
    functionsReached:
    - strdup
    - lua_gettop
    - lua_pushstring
    - vlc_xml_decode
    - lua_remove
    - free
    - luaL_checkstring
    linkageType: ''
    returnType: int
    signature: int vlclua_resolve_xml_special_chars( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/libs/strings.c:205,1
    - Dst: vlc_xml_encode
      Src: /src/vlc/modules/lua/libs/strings.c:209,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/strings.c:209,1
    - Dst: lua_remove
      Src: /src/vlc/modules/lua/libs/strings.c:210,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/strings.c:211,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/strings.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 215
    functionName: vlclua_convert_xml_special_chars
    functionSourceFile: /src/vlc/modules/lua/libs/strings.c
    functionUses: 0
    functionsReached:
    - vlc_xml_encode
    - lua_gettop
    - lua_pushstring
    - lua_remove
    - free
    - luaL_checkstring
    linkageType: ''
    returnType: int
    signature: int vlclua_convert_xml_special_chars( lua_State *L )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/libs/strings.c:227,1
    - Dst: vlclua_error
      Src: /src/vlc/modules/lua/libs/strings.c:227,1
    - Dst: luaL_checklstring
      Src: /src/vlc/modules/lua/libs/strings.c:230,1
    - Dst: vlclua_error
      Src: /src/vlc/modules/lua/libs/strings.c:231,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/strings.c:233,1
    - Dst: FromCharset
      Src: /src/vlc/modules/lua/libs/strings.c:234,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/strings.c:235,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/strings.c:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 238
    functionName: vlclua_from_charset
    functionSourceFile: /src/vlc/modules/lua/libs/strings.c
    functionUses: 0
    functionsReached:
    - lua_gettop
    - lua_pushstring
    - free
    - luaL_checkstring
    - vlclua_error
    - FromCharset
    - luaL_checklstring
    linkageType: ''
    returnType: int
    signature: int vlclua_from_charset( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/strings.c:257,1
    - Dst: luaL_register
      Src: /src/vlc/modules/lua/libs/strings.c:258,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/strings.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 260
    functionName: luaopen_strings
    functionSourceFile: /src/vlc/modules/lua/libs/strings.c
    functionUses: 5
    functionsReached:
    - lua_newtable
    - lua_setfield
    - luaL_register
    linkageType: ''
    returnType: void
    signature: void luaopen_strings( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/objects.c:54,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/libs/objects.c:56,1
    - Dst: vlclua_object_t*::release
      Src: /src/vlc/modules/lua/libs/objects.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: vlclua_release_vlc_object
    functionSourceFile: /src/vlc/modules/lua/libs/objects.c
    functionUses: 0
    functionsReached:
    - vlclua_object_t*::release
    - luaL_checkudata
    - lua_pop
    linkageType: ''
    returnType: int
    signature: int vlclua_release_vlc_object(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lua_newuserdata
      Src: /src/vlc/modules/lua/libs/objects.c:66,1
    - Dst: luaL_newmetatable
      Src: /src/vlc/modules/lua/libs/objects.c:71,1
    - Dst: lua_pushliteral
      Src: /src/vlc/modules/lua/libs/objects.c:74,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/objects.c:75,1
    - Dst: lua_pushcfunction
      Src: /src/vlc/modules/lua/libs/objects.c:76,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/objects.c:77,1
    - Dst: lua_setmetatable
      Src: /src/vlc/modules/lua/libs/objects.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - L
    - p_obj
    argTypes:
    - lua_State*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 81
    functionName: vlclua_push_vlc_object
    functionSourceFile: /src/vlc/modules/lua/libs/objects.c
    functionUses: 0
    functionsReached:
    - lua_pushliteral
    - lua_setfield
    - lua_setmetatable
    - lua_newuserdata
    - lua_pushcfunction
    - luaL_newmetatable
    linkageType: ''
    returnType: int
    signature: "int vlclua_push_vlc_object(lua_State *L, void *p_obj,\n                                  void
      (*release)(void *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/lua/libs/objects.c:85,1
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/objects.c:85,1
    - Dst: vlclua_push_vlc_object
      Src: /src/vlc/modules/lua/libs/objects.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: vlclua_get_libvlc
    functionSourceFile: /src/vlc/modules/lua/libs/objects.c
    functionUses: 0
    functionsReached:
    - vlclua_push_vlc_object
    - vlc_object_instance
    - vlclua_get_this
    linkageType: ''
    returnType: int
    signature: int vlclua_get_libvlc( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_playlist_internal
      Src: /src/vlc/modules/lua/libs/objects.c:92,1
    - Dst: lua_pushlightuserdata
      Src: /src/vlc/modules/lua/libs/objects.c:94,1
    - Dst: lua_pushnil
      Src: /src/vlc/modules/lua/libs/objects.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: vlclua_get_playlist
    functionSourceFile: /src/vlc/modules/lua/libs/objects.c
    functionUses: 0
    functionsReached:
    - vlclua_get_playlist_internal
    - lua_pushlightuserdata
    - lua_pushnil
    linkageType: ''
    returnType: int
    signature: int vlclua_get_playlist( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_player_internal
      Src: /src/vlc/modules/lua/libs/objects.c:102,1
    - Dst: lua_pushlightuserdata
      Src: /src/vlc/modules/lua/libs/objects.c:104,1
    - Dst: lua_pushnil
      Src: /src/vlc/modules/lua/libs/objects.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: vlclua_get_player
    functionSourceFile: /src/vlc/modules/lua/libs/objects.c
    functionUses: 0
    functionsReached:
    - vlclua_get_player_internal
    - lua_pushlightuserdata
    - lua_pushnil
    linkageType: ''
    returnType: int
    signature: int vlclua_get_player( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vout_Release
      Src: /src/vlc/modules/lua/libs/objects.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vout
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: do_vout_Release
    functionSourceFile: /src/vlc/modules/lua/libs/objects.c
    functionUses: 0
    functionsReached:
    - vout_Release
    linkageType: ''
    returnType: void
    signature: void do_vout_Release( void *vout )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_vout_internal
      Src: /src/vlc/modules/lua/libs/objects.c:117,1
    - Dst: vlclua_push_vlc_object
      Src: /src/vlc/modules/lua/libs/objects.c:119,1
    - Dst: lua_pushnil
      Src: /src/vlc/modules/lua/libs/objects.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: vlclua_get_vout
    functionSourceFile: /src/vlc/modules/lua/libs/objects.c
    functionUses: 0
    functionsReached:
    - vlclua_push_vlc_object
    - vlclua_get_vout_internal
    - lua_pushnil
    linkageType: ''
    returnType: int
    signature: int vlclua_get_vout( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aout_Release
      Src: /src/vlc/modules/lua/libs/objects.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - aout
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: do_aout_Release
    functionSourceFile: /src/vlc/modules/lua/libs/objects.c
    functionUses: 0
    functionsReached:
    - aout_Release
    linkageType: ''
    returnType: void
    signature: void do_aout_Release( void *aout )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_aout_internal
      Src: /src/vlc/modules/lua/libs/objects.c:132,1
    - Dst: vlclua_push_vlc_object
      Src: /src/vlc/modules/lua/libs/objects.c:134,1
    - Dst: lua_pushnil
      Src: /src/vlc/modules/lua/libs/objects.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 3
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: vlclua_get_aout
    functionSourceFile: /src/vlc/modules/lua/libs/objects.c
    functionUses: 0
    functionsReached:
    - vlclua_get_aout_internal
    - vlclua_push_vlc_object
    - lua_pushnil
    linkageType: ''
    returnType: int
    signature: int vlclua_get_aout( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/objects.c:154,1
    - Dst: luaL_register
      Src: /src/vlc/modules/lua/libs/objects.c:155,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/objects.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionName: luaopen_object
    functionSourceFile: /src/vlc/modules/lua/libs/objects.c
    functionUses: 4
    functionsReached:
    - lua_newtable
    - lua_setfield
    - luaL_register
    linkageType: ''
    returnType: void
    signature: void luaopen_object( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_lrand48
      Src: /src/vlc/modules/lua/libs/rand.c:33,1
    - Dst: lua_pushnumber
      Src: /src/vlc/modules/lua/libs/rand.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: vlclua_rand_number
    functionSourceFile: /src/vlc/modules/lua/libs/rand.c
    functionUses: 0
    functionsReached:
    - lua_pushnumber
    - vlc_lrand48
    linkageType: ''
    returnType: int
    signature: int vlclua_rand_number( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/rand.c:40,1
    - Dst: malloc
      Src: /src/vlc/modules/lua/libs/rand.c:41,1
    - Dst: unlikely
      Src: /src/vlc/modules/lua/libs/rand.c:42,1
    - Dst: vlclua_error
      Src: /src/vlc/modules/lua/libs/rand.c:43,1
    - Dst: vlc_rand_bytes
      Src: /src/vlc/modules/lua/libs/rand.c:44,1
    - Dst: lua_pushlstring
      Src: /src/vlc/modules/lua/libs/rand.c:45,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/rand.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: vlclua_rand_bytes
    functionSourceFile: /src/vlc/modules/lua/libs/rand.c
    functionUses: 0
    functionsReached:
    - lua_pushlstring
    - unlikely
    - free
    - vlclua_error
    - vlc_rand_bytes
    - malloc
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_rand_bytes( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/rand.c:59,1
    - Dst: luaL_register
      Src: /src/vlc/modules/lua/libs/rand.c:60,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/rand.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: luaopen_rand
    functionSourceFile: /src/vlc/modules/lua/libs/rand.c
    functionUses: 2
    functionsReached:
    - lua_newtable
    - lua_setfield
    - luaL_register
    linkageType: ''
    returnType: void
    signature: void luaopen_rand( lua_State *L )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushboolean
      Src: /src/vlc/modules/lua/libs/variables.c:51,1
    - Dst: lua_pushnumber
      Src: /src/vlc/modules/lua/libs/variables.c:65,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/variables.c:67,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/variables.c:71,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/variables.c:73,1
    - Dst: lua_pushnumber
      Src: /src/vlc/modules/lua/libs/variables.c:76,1
    - Dst: vlclua_error
      Src: /src/vlc/modules/lua/libs/variables.c:79,1
    - Dst: vlclua_error
      Src: /src/vlc/modules/lua/libs/variables.c:83,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - L
    - i_type
    - val
    argTypes:
    - lua_State*
    - int
    - vlc_value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 86
    functionName: vlclua_pushvalue
    functionSourceFile: /src/vlc/modules/lua/libs/variables.c
    functionUses: 0
    functionsReached:
    - lua_pushnumber
    - lua_pushstring
    - lua_pushboolean
    - lua_pushinteger
    - vlclua_error
    linkageType: ''
    returnType: int
    signature: int vlclua_pushvalue( lua_State *L, int i_type, vlc_value_t val )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkboolean
      Src: /src/vlc/modules/lua/libs/variables.c:95,1
    - Dst: luaL_checknumber
      Src: /src/vlc/modules/lua/libs/variables.c:106,1
    - Dst: llround
      Src: /src/vlc/modules/lua/libs/variables.c:109,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/variables.c:111,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/variables.c:114,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/variables.c:117,1
    - Dst: luaL_checknumber
      Src: /src/vlc/modules/lua/libs/variables.c:120,1
    - Dst: vlclua_error
      Src: /src/vlc/modules/lua/libs/variables.c:123,1
    - Dst: vlclua_error
      Src: /src/vlc/modules/lua/libs/variables.c:126,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - L
    - i_type
    - val
    argTypes:
    - lua_State*
    - int
    - vlc_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 129
    functionName: vlclua_tovalue
    functionSourceFile: /src/vlc/modules/lua/libs/variables.c
    functionUses: 0
    functionsReached:
    - luaL_checknumber
    - luaL_checkstring
    - vlclua_error
    - llround
    - luaL_checkboolean
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_tovalue( lua_State *L, int i_type, vlc_value_t *val )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lua_type
      Src: /src/vlc/modules/lua/libs/variables.c:135,1
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/variables.c:136,1
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/variables.c:139,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/variables.c:142,1
    - Dst: config_GetType
      Src: /src/vlc/modules/lua/libs/variables.c:144,1
    - Dst: var_Inherit
      Src: /src/vlc/modules/lua/libs/variables.c:145,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/libs/variables.c:148,1
    - Dst: vlclua_pushvalue
      Src: /src/vlc/modules/lua/libs/variables.c:149,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/variables.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 153
    functionName: vlclua_var_inherit
    functionSourceFile: /src/vlc/modules/lua/libs/variables.c
    functionUses: 0
    functionsReached:
    - luaL_checkudata
    - config_GetType
    - vlclua_get_this
    - vlclua_pushvalue
    - var_Inherit
    - free
    - luaL_checkstring
    - lua_pop
    - lua_type
    linkageType: ''
    returnType: int
    signature: int vlclua_var_inherit( lua_State *L )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/variables.c:158,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/variables.c:159,1
    - Dst: var_Type
      Src: /src/vlc/modules/lua/libs/variables.c:161,1
    - Dst: var_Get
      Src: /src/vlc/modules/lua/libs/variables.c:162,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/libs/variables.c:165,1
    - Dst: vlclua_pushvalue
      Src: /src/vlc/modules/lua/libs/variables.c:166,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/variables.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 170
    functionName: vlclua_var_get
    functionSourceFile: /src/vlc/modules/lua/libs/variables.c
    functionUses: 0
    functionsReached:
    - luaL_checkudata
    - vlclua_pushvalue
    - free
    - luaL_checkstring
    - lua_pop
    - var_Get
    - var_Type
    linkageType: ''
    returnType: int
    signature: int vlclua_var_get( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/variables.c:175,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/variables.c:176,1
    - Dst: var_Type
      Src: /src/vlc/modules/lua/libs/variables.c:178,1
    - Dst: vlclua_tovalue
      Src: /src/vlc/modules/lua/libs/variables.c:179,1
    - Dst: var_Set
      Src: /src/vlc/modules/lua/libs/variables.c:181,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/libs/variables.c:183,1
    - Dst: vlclua_push_ret
      Src: /src/vlc/modules/lua/libs/variables.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 185
    functionName: vlclua_var_set
    functionSourceFile: /src/vlc/modules/lua/libs/variables.c
    functionUses: 0
    functionsReached:
    - luaL_checkudata
    - vlclua_tovalue
    - vlclua_push_ret
    - luaL_checkstring
    - var_Set
    - lua_pop
    - var_Type
    linkageType: ''
    returnType: int
    signature: int vlclua_var_set( lua_State *L )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/variables.c:190,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/variables.c:191,1
    - Dst: lua_type
      Src: /src/vlc/modules/lua/libs/variables.c:193,1
    - Dst: var_Create
      Src: /src/vlc/modules/lua/libs/variables.c:211,1
    - Dst: vlclua_push_ret
      Src: /src/vlc/modules/lua/libs/variables.c:212,1
    - Dst: vlclua_tovalue
      Src: /src/vlc/modules/lua/libs/variables.c:219,1
    - Dst: vlclua_push_ret
      Src: /src/vlc/modules/lua/libs/variables.c:220,1
    - Dst: var_Set
      Src: /src/vlc/modules/lua/libs/variables.c:220,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 221
    functionName: vlclua_var_create
    functionSourceFile: /src/vlc/modules/lua/libs/variables.c
    functionUses: 0
    functionsReached:
    - luaL_checkudata
    - var_Create
    - vlclua_push_ret
    - vlclua_tovalue
    - luaL_checkstring
    - var_Set
    - lua_type
    linkageType: ''
    returnType: int
    signature: int vlclua_var_create( lua_State *L )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/variables.c:228,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/variables.c:229,1
    - Dst: var_Change
      Src: /src/vlc/modules/lua/libs/variables.c:231,1
    - Dst: vlclua_push_ret
      Src: /src/vlc/modules/lua/libs/variables.c:234,1
    - Dst: var_Type
      Src: /src/vlc/modules/lua/libs/variables.c:236,1
    - Dst: lua_createtable
      Src: /src/vlc/modules/lua/libs/variables.c:238,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/variables.c:241,1
    - Dst: vlclua_pushvalue
      Src: /src/vlc/modules/lua/libs/variables.c:242,1
    - Dst: lua_pushnil
      Src: /src/vlc/modules/lua/libs/variables.c:243,1
    - Dst: lua_settable
      Src: /src/vlc/modules/lua/libs/variables.c:244,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/variables.c:246,1
    - Dst: lua_createtable
      Src: /src/vlc/modules/lua/libs/variables.c:249,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/variables.c:252,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/variables.c:253,1
    - Dst: lua_settable
      Src: /src/vlc/modules/lua/libs/variables.c:254,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/variables.c:255,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/variables.c:258,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/variables.c:259,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 261
    functionName: vlclua_var_get_list
    functionSourceFile: /src/vlc/modules/lua/libs/variables.c
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - lua_pushnil
    - luaL_checkudata
    - vlclua_pushvalue
    - lua_settable
    - vlclua_push_ret
    - free
    - luaL_checkstring
    - lua_pushinteger
    - var_Change
    - var_Type
    - lua_createtable
    linkageType: ''
    returnType: int
    signature: int vlclua_var_get_list( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/variables.c:265,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/lua/libs/variables.c:266,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/lua/libs/variables.c:266,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/variables.c:269,1
    - Dst: luaL_optstring
      Src: /src/vlc/modules/lua/libs/variables.c:270,1
    - Dst: var_Type
      Src: /src/vlc/modules/lua/libs/variables.c:272,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/variables.c:275,1
    - Dst: var_Set
      Src: /src/vlc/modules/lua/libs/variables.c:279,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/libs/variables.c:280,1
    - Dst: vlclua_push_ret
      Src: /src/vlc/modules/lua/libs/variables.c:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 283
    functionName: vlclua_libvlc_command
    functionSourceFile: /src/vlc/modules/lua/libs/variables.c
    functionUses: 0
    functionsReached:
    - luaL_error
    - vlc_object_instance
    - vlclua_get_this
    - vlclua_push_ret
    - luaL_optstring
    - luaL_checkstring
    - var_Set
    - VLC_OBJECT
    - lua_pop
    - var_Type
    linkageType: ''
    returnType: int
    signature: int vlclua_libvlc_command( lua_State *L )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/libs/variables.c:290,1
    - Dst: vlclua_error
      Src: /src/vlc/modules/lua/libs/variables.c:290,1
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/libs/variables.c:292,1
    - Dst: var_ToggleBool
      Src: /src/vlc/modules/lua/libs/variables.c:294,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/variables.c:299,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/libs/variables.c:300,1
    - Dst: strcmp
      Src: /src/vlc/modules/lua/libs/variables.c:302,1
    - Dst: strcmp
      Src: /src/vlc/modules/lua/libs/variables.c:304,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/lua/libs/variables.c:308,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/lua/libs/variables.c:312,1
    - Dst: var_SetBool
      Src: /src/vlc/modules/lua/libs/variables.c:313,1
    - Dst: lua_pushboolean
      Src: /src/vlc/modules/lua/libs/variables.c:316,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - L
    - p_obj
    - psz_name
    argTypes:
    - lua_State*
    - vlc_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 318
    functionName: vlclua_var_toggle_or_set
    functionSourceFile: /src/vlc/modules/lua/libs/variables.c
    functionUses: 1
    functionsReached:
    - var_ToggleBool
    - lua_gettop
    - lua_pushboolean
    - luaL_checkstring
    - strcmp
    - var_SetBool
    - lua_pop
    - vlclua_error
    - var_GetBool
    linkageType: ''
    returnType: int
    signature: "int vlclua_var_toggle_or_set( lua_State *L, vlc_object_t *p_obj,\n
      \                             const char *psz_name )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/variables.c:322,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/variables.c:323,1
    - Dst: var_TriggerCallback
      Src: /src/vlc/modules/lua/libs/variables.c:325,1
    - Dst: vlclua_push_ret
      Src: /src/vlc/modules/lua/libs/variables.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 327
    functionName: vlclua_trigger_callback
    functionSourceFile: /src/vlc/modules/lua/libs/variables.c
    functionUses: 0
    functionsReached:
    - luaL_checkstring
    - luaL_checkudata
    - var_TriggerCallback
    - vlclua_push_ret
    linkageType: ''
    returnType: int
    signature: int vlclua_trigger_callback( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/variables.c:331,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/variables.c:332,1
    - Dst: var_IncInteger
      Src: /src/vlc/modules/lua/libs/variables.c:333,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/variables.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 337
    functionName: vlclua_inc_integer
    functionSourceFile: /src/vlc/modules/lua/libs/variables.c
    functionUses: 0
    functionsReached:
    - luaL_checkstring
    - luaL_checkudata
    - lua_pushinteger
    - var_IncInteger
    linkageType: ''
    returnType: int
    signature: int vlclua_inc_integer( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/variables.c:341,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/variables.c:342,1
    - Dst: var_DecInteger
      Src: /src/vlc/modules/lua/libs/variables.c:343,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/variables.c:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 347
    functionName: vlclua_dec_integer
    functionSourceFile: /src/vlc/modules/lua/libs/variables.c
    functionUses: 0
    functionsReached:
    - var_DecInteger
    - luaL_checkstring
    - luaL_checkudata
    - lua_pushinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_dec_integer( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/variables.c:351,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/variables.c:352,1
    - Dst: var_CountChoices
      Src: /src/vlc/modules/lua/libs/variables.c:353,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/variables.c:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 357
    functionName: vlclua_countchoices
    functionSourceFile: /src/vlc/modules/lua/libs/variables.c
    functionUses: 0
    functionsReached:
    - luaL_checkstring
    - luaL_checkudata
    - lua_pushinteger
    - var_CountChoices
    linkageType: ''
    returnType: int
    signature: int vlclua_countchoices( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/variables.c:361,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/variables.c:362,1
    - Dst: var_ToggleBool
      Src: /src/vlc/modules/lua/libs/variables.c:363,1
    - Dst: lua_pushboolean
      Src: /src/vlc/modules/lua/libs/variables.c:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 367
    functionName: vlclua_togglebool
    functionSourceFile: /src/vlc/modules/lua/libs/variables.c
    functionUses: 0
    functionsReached:
    - var_ToggleBool
    - luaL_checkstring
    - luaL_checkudata
    - lua_pushboolean
    linkageType: ''
    returnType: int
    signature: int vlclua_togglebool( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/variables.c:389,1
    - Dst: luaL_register
      Src: /src/vlc/modules/lua/libs/variables.c:390,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/variables.c:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 392
    functionName: luaopen_variables
    functionSourceFile: /src/vlc/modules/lua/libs/variables.c
    functionUses: 5
    functionsReached:
    - lua_newtable
    - lua_setfield
    - luaL_register
    linkageType: ''
    returnType: void
    signature: void luaopen_variables( lua_State *L )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/medialibrary.c:34,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:35,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:36,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/medialibrary.c:37,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:38,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/medialibrary.c:39,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:40,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:41,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:42,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:43,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:44,1
    - Dst: lua_pushboolean
      Src: /src/vlc/modules/lua/libs/medialibrary.c:45,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:46,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:47,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:48,1
    - Dst: lua_pushnumber
      Src: /src/vlc/modules/lua/libs/medialibrary.c:49,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:50,1
    - Dst: lua_pushboolean
      Src: /src/vlc/modules/lua/libs/medialibrary.c:51,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:52,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:53,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:54,1
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/medialibrary.c:59,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:61,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:62,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:63,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:64,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:65,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:66,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:67,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:68,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:69,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:70,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:72,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/medialibrary.c:73,1
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/medialibrary.c:78,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/medialibrary.c:80,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:81,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:83,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/medialibrary.c:84,1
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/medialibrary.c:89,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/medialibrary.c:91,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:92,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:93,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:94,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:95,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:96,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:98,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/medialibrary.c:99,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/medialibrary.c:103,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:106,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/medialibrary.c:112,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:113,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/medialibrary.c:155,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:156,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:157,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:158,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 99
    argCount: 2
    argNames:
    - L
    - media
    argTypes:
    - lua_State*
    - vlc_ml_media_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 159
    functionName: vlclua_ml_push_media
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - lua_setfield
    - lua_pushstring
    - lua_pushnumber
    - lua_pushboolean
    - lua_newtable
    - lua_pushinteger
    linkageType: ''
    returnType: void
    signature: void vlclua_ml_push_media( lua_State *L, const vlc_ml_media_t *media
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/medialibrary.c:163,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:164,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:165,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/medialibrary.c:166,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:167,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/medialibrary.c:168,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:169,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:170,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:171,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:172,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:173,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:174,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:175,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:176,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:177,1
    - Dst: lua_pushboolean
      Src: /src/vlc/modules/lua/libs/medialibrary.c:178,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:179,1
    - Dst: lua_pushboolean
      Src: /src/vlc/modules/lua/libs/medialibrary.c:180,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:181,1
    - Dst: lua_pushboolean
      Src: /src/vlc/modules/lua/libs/medialibrary.c:182,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - L
    - folder
    argTypes:
    - lua_State*
    - vlc_ml_folder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 185
    functionName: vlclua_ml_push_folder
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - lua_setfield
    - lua_pushstring
    - lua_pushboolean
    - lua_newtable
    - lua_pushinteger
    linkageType: ''
    returnType: void
    signature: void vlclua_ml_push_folder( lua_State *L, const vlc_ml_folder_t *folder
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/medialibrary.c:189,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:190,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:191,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/medialibrary.c:192,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:193,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/medialibrary.c:194,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:195,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/medialibrary.c:196,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:197,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/medialibrary.c:198,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:199,1
    - Dst: lua_pushboolean
      Src: /src/vlc/modules/lua/libs/medialibrary.c:200,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:201,1
    - Dst: lua_pushboolean
      Src: /src/vlc/modules/lua/libs/medialibrary.c:202,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:203,1
    - Dst: lua_pushboolean
      Src: /src/vlc/modules/lua/libs/medialibrary.c:204,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - L
    - show
    argTypes:
    - lua_State*
    - vlc_ml_show_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 206
    functionName: vlclua_ml_push_show
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - lua_setfield
    - lua_pushstring
    - lua_pushboolean
    - lua_newtable
    - lua_pushinteger
    linkageType: ''
    returnType: void
    signature: void vlclua_ml_push_show( lua_State *L, const vlc_ml_show_t *show )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/medialibrary.c:210,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:211,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:212,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/medialibrary.c:213,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:214,1
    - Dst: lua_pushboolean
      Src: /src/vlc/modules/lua/libs/medialibrary.c:215,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:216,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:217,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:218,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/medialibrary.c:219,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:220,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:221,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:222,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:223,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:224,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:225,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:226,1
    - Dst: lua_pushboolean
      Src: /src/vlc/modules/lua/libs/medialibrary.c:227,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - L
    - album
    argTypes:
    - lua_State*
    - vlc_ml_album_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 229
    functionName: vlclua_ml_push_album
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - lua_setfield
    - lua_pushstring
    - lua_pushboolean
    - lua_newtable
    - lua_pushinteger
    linkageType: ''
    returnType: void
    signature: void vlclua_ml_push_album( lua_State *L, const vlc_ml_album_t *album
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/medialibrary.c:233,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:234,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:235,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/medialibrary.c:236,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:237,1
    - Dst: lua_pushboolean
      Src: /src/vlc/modules/lua/libs/medialibrary.c:238,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:239,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:240,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:241,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:242,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:243,1
    - Dst: lua_pushboolean
      Src: /src/vlc/modules/lua/libs/medialibrary.c:244,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - L
    - artist
    argTypes:
    - lua_State*
    - vlc_ml_artist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 246
    functionName: vlclua_ml_push_artist
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - lua_setfield
    - lua_pushstring
    - lua_pushboolean
    - lua_newtable
    - lua_pushinteger
    linkageType: ''
    returnType: void
    signature: void vlclua_ml_push_artist( lua_State *L, const vlc_ml_artist_t *artist
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/medialibrary.c:250,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:251,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:252,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/medialibrary.c:253,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:254,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:255,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:256,1
    - Dst: lua_pushboolean
      Src: /src/vlc/modules/lua/libs/medialibrary.c:257,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:258,1
    - Dst: lua_pushboolean
      Src: /src/vlc/modules/lua/libs/medialibrary.c:259,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - L
    - genre
    argTypes:
    - lua_State*
    - vlc_ml_genre_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 261
    functionName: vlclua_ml_push_genre
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - lua_setfield
    - lua_pushstring
    - lua_pushboolean
    - lua_newtable
    - lua_pushinteger
    linkageType: ''
    returnType: void
    signature: void vlclua_ml_push_genre( lua_State *L, const vlc_ml_genre_t *genre
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/medialibrary.c:265,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:266,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:267,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/medialibrary.c:268,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:269,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/medialibrary.c:270,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:271,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/medialibrary.c:272,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:273,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:274,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:275,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:276,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:277,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:278,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:279,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:280,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:281,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:282,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:283,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:284,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:285,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:286,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:287,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:288,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:289,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:290,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:291,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:292,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:293,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:294,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:295,1
    - Dst: lua_pushboolean
      Src: /src/vlc/modules/lua/libs/medialibrary.c:296,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:297,1
    - Dst: lua_pushboolean
      Src: /src/vlc/modules/lua/libs/medialibrary.c:298,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 2
    argNames:
    - L
    - playlist
    argTypes:
    - lua_State*
    - vlc_ml_playlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 300
    functionName: vlclua_ml_push_playlist
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - lua_setfield
    - lua_pushstring
    - lua_pushboolean
    - lua_newtable
    - lua_pushinteger
    linkageType: ''
    returnType: void
    signature: void vlclua_ml_push_playlist( lua_State *L, const vlc_ml_playlist_t
      *playlist )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/medialibrary.c:304,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:305,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:306,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:307,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:308,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/medialibrary.c:309,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:310,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/medialibrary.c:311,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - L
    - bookmark
    argTypes:
    - lua_State*
    - vlc_ml_bookmark_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 313
    functionName: vlclua_ml_push_bookmark
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - lua_newtable
    - lua_pushinteger
    - lua_setfield
    - lua_pushstring
    linkageType: ''
    returnType: void
    signature: void vlclua_ml_push_bookmark( lua_State *L, const vlc_ml_bookmark_t
      *bookmark )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/medialibrary.c:317,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:318,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/lua/libs/medialibrary.c:319,1
    - Dst: vlc_ml_get_media
      Src: /src/vlc/modules/lua/libs/medialibrary.c:320,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/medialibrary.c:322,1
    - Dst: vlclua_ml_push_media
      Src: /src/vlc/modules/lua/libs/medialibrary.c:323,1
    - Dst: vlc_ml_release
      Src: /src/vlc/modules/lua/libs/medialibrary.c:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 326
    functionName: vlclua_ml_get_media
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - luaL_error
    - vlclua_ml_push_media
    - vlclua_get_this
    - vlc_ml_get_media
    - vlc_ml_instance_get
    - luaL_checkinteger
    - vlc_ml_release
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_get_media( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/medialibrary.c:330,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/medialibrary.c:331,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/lua/libs/medialibrary.c:332,1
    - Dst: vlc_ml_get_media_by_mrl
      Src: /src/vlc/modules/lua/libs/medialibrary.c:333,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/medialibrary.c:335,1
    - Dst: vlclua_ml_push_media
      Src: /src/vlc/modules/lua/libs/medialibrary.c:336,1
    - Dst: vlc_ml_release
      Src: /src/vlc/modules/lua/libs/medialibrary.c:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 339
    functionName: vlclua_ml_get_media_by_mrl
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - luaL_error
    - vlclua_ml_push_media
    - vlclua_get_this
    - vlc_ml_get_media_by_mrl
    - luaL_checkstring
    - vlc_ml_instance_get
    - vlc_ml_release
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_get_media_by_mrl( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/medialibrary.c:344,1
    - Dst: lua_createtable
      Src: /src/vlc/modules/lua/libs/medialibrary.c:345,1
    - Dst: vlclua_ml_push_media
      Src: /src/vlc/modules/lua/libs/medialibrary.c:348,1
    - Dst: lua_rawseti
      Src: /src/vlc/modules/lua/libs/medialibrary.c:349,1
    - Dst: vlc_ml_release
      Src: /src/vlc/modules/lua/libs/medialibrary.c:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - L
    - list
    argTypes:
    - lua_State*
    - vlc_ml_media_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 353
    functionName: vlclua_ml_list_media
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - luaL_error
    - vlclua_ml_push_media
    - lua_rawseti
    - lua_createtable
    - vlc_ml_release
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_list_media( lua_State *L, vlc_ml_media_list_t *list )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/medialibrary.c:358,1
    - Dst: lua_createtable
      Src: /src/vlc/modules/lua/libs/medialibrary.c:359,1
    - Dst: vlclua_ml_push_folder
      Src: /src/vlc/modules/lua/libs/medialibrary.c:362,1
    - Dst: lua_rawseti
      Src: /src/vlc/modules/lua/libs/medialibrary.c:363,1
    - Dst: vlc_ml_release
      Src: /src/vlc/modules/lua/libs/medialibrary.c:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - L
    - list
    argTypes:
    - lua_State*
    - vlc_ml_folder_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 367
    functionName: vlclua_ml_list_folder
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - luaL_error
    - lua_rawseti
    - vlclua_ml_push_folder
    - lua_createtable
    - vlc_ml_release
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_list_folder( lua_State *L, vlc_ml_folder_list_t *list
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/medialibrary.c:372,1
    - Dst: lua_createtable
      Src: /src/vlc/modules/lua/libs/medialibrary.c:373,1
    - Dst: vlclua_ml_push_show
      Src: /src/vlc/modules/lua/libs/medialibrary.c:376,1
    - Dst: lua_rawseti
      Src: /src/vlc/modules/lua/libs/medialibrary.c:377,1
    - Dst: vlc_ml_release
      Src: /src/vlc/modules/lua/libs/medialibrary.c:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - L
    - list
    argTypes:
    - lua_State*
    - vlc_ml_show_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 381
    functionName: vlclua_ml_list_show
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - luaL_error
    - lua_rawseti
    - vlclua_ml_push_show
    - lua_createtable
    - vlc_ml_release
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_list_show( lua_State *L, vlc_ml_show_list_t *list )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/medialibrary.c:386,1
    - Dst: lua_createtable
      Src: /src/vlc/modules/lua/libs/medialibrary.c:387,1
    - Dst: vlclua_ml_push_bookmark
      Src: /src/vlc/modules/lua/libs/medialibrary.c:390,1
    - Dst: lua_rawseti
      Src: /src/vlc/modules/lua/libs/medialibrary.c:391,1
    - Dst: vlc_ml_release
      Src: /src/vlc/modules/lua/libs/medialibrary.c:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - L
    - list
    argTypes:
    - lua_State*
    - vlc_ml_bookmark_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 395
    functionName: vlclua_ml_list_bookmark
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - luaL_error
    - lua_rawseti
    - vlclua_ml_push_bookmark
    - lua_createtable
    - vlc_ml_release
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_list_bookmark( lua_State *L, vlc_ml_bookmark_list_t *list
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_query_params_create
      Src: /src/vlc/modules/lua/libs/medialibrary.c:399,1
    - Dst: lua_istable
      Src: /src/vlc/modules/lua/libs/medialibrary.c:400,1
    - Dst: lua_getfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:402,1
    - Dst: lua_getfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:403,1
    - Dst: lua_getfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:404,1
    - Dst: lua_getfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:405,1
    - Dst: lua_getfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:406,1
    - Dst: lua_getfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:407,1
    - Dst: lua_toboolean
      Src: /src/vlc/modules/lua/libs/medialibrary.c:411,1
    - Dst: lua_tointeger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:412,1
    - Dst: lua_tointeger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:413,1
    - Dst: lua_toboolean
      Src: /src/vlc/modules/lua/libs/medialibrary.c:414,1
    - Dst: lua_tointeger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:415,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/libs/medialibrary.c:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - L
    - params
    - paramIndex
    argTypes:
    - lua_State*
    - vlc_ml_query_params_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 417
    functionName: vlclua_ml_assign_params
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - lua_tointeger
    - vlc_ml_query_params_create
    - lua_toboolean
    - lua_tostring
    - lua_istable
    - lua_getfield
    linkageType: ''
    returnType: void
    signature: void vlclua_ml_assign_params( lua_State *L, vlc_ml_query_params_t *params,
      uint8_t paramIndex )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/medialibrary.c:421,1
    - Dst: vlclua_ml_assign_params
      Src: /src/vlc/modules/lua/libs/medialibrary.c:423,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/lua/libs/medialibrary.c:424,1
    - Dst: vlc_ml_list_video_media
      Src: /src/vlc/modules/lua/libs/medialibrary.c:425,1
    - Dst: vlclua_ml_list_media
      Src: /src/vlc/modules/lua/libs/medialibrary.c:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 427
    functionName: vlclua_ml_video
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - vlclua_ml_list_media
    - vlc_ml_list_video_media
    - vlclua_get_this
    - vlclua_ml_assign_params
    - vlc_ml_instance_get
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_video( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/medialibrary.c:431,1
    - Dst: vlclua_ml_assign_params
      Src: /src/vlc/modules/lua/libs/medialibrary.c:433,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/lua/libs/medialibrary.c:434,1
    - Dst: vlc_ml_list_folders
      Src: /src/vlc/modules/lua/libs/medialibrary.c:435,1
    - Dst: vlclua_ml_list_folder
      Src: /src/vlc/modules/lua/libs/medialibrary.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 429
    functionDepth: 2
    functionLinenumber: 429
    functionLinenumberEnd: 437
    functionName: vlclua_ml_folder
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - vlclua_ml_list_folder
    - vlclua_get_this
    - vlc_ml_list_folders
    - vlclua_ml_assign_params
    - vlc_ml_instance_get
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_folder( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/medialibrary.c:441,1
    - Dst: vlclua_ml_assign_params
      Src: /src/vlc/modules/lua/libs/medialibrary.c:443,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:444,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/lua/libs/medialibrary.c:445,1
    - Dst: vlc_ml_list_folders_by_type
      Src: /src/vlc/modules/lua/libs/medialibrary.c:446,1
    - Dst: vlclua_ml_list_folder
      Src: /src/vlc/modules/lua/libs/medialibrary.c:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 448
    functionName: vlclua_ml_folders_by_type
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - vlclua_ml_list_folder
    - vlclua_get_this
    - vlc_ml_list_folders_by_type
    - vlclua_ml_assign_params
    - vlc_ml_instance_get
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_folders_by_type( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/medialibrary.c:452,1
    - Dst: vlclua_ml_assign_params
      Src: /src/vlc/modules/lua/libs/medialibrary.c:454,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/lua/libs/medialibrary.c:455,1
    - Dst: vlc_ml_list_shows
      Src: /src/vlc/modules/lua/libs/medialibrary.c:456,1
    - Dst: vlclua_ml_list_show
      Src: /src/vlc/modules/lua/libs/medialibrary.c:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 450
    functionDepth: 2
    functionLinenumber: 450
    functionLinenumberEnd: 458
    functionName: vlclua_ml_list_shows
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - vlc_ml_list_shows
    - vlclua_get_this
    - vlclua_ml_assign_params
    - vlclua_ml_list_show
    - vlc_ml_instance_get
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_list_shows( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/medialibrary.c:462,1
    - Dst: vlclua_ml_assign_params
      Src: /src/vlc/modules/lua/libs/medialibrary.c:464,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/lua/libs/medialibrary.c:465,1
    - Dst: vlc_ml_list_audio_media
      Src: /src/vlc/modules/lua/libs/medialibrary.c:466,1
    - Dst: vlclua_ml_list_media
      Src: /src/vlc/modules/lua/libs/medialibrary.c:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 460
    functionDepth: 2
    functionLinenumber: 460
    functionLinenumberEnd: 468
    functionName: vlclua_ml_audio
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - vlclua_ml_list_media
    - vlc_ml_list_audio_media
    - vlclua_get_this
    - vlclua_ml_assign_params
    - vlc_ml_instance_get
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_audio( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/medialibrary.c:473,1
    - Dst: lua_createtable
      Src: /src/vlc/modules/lua/libs/medialibrary.c:474,1
    - Dst: vlclua_ml_push_album
      Src: /src/vlc/modules/lua/libs/medialibrary.c:477,1
    - Dst: lua_rawseti
      Src: /src/vlc/modules/lua/libs/medialibrary.c:478,1
    - Dst: vlc_ml_release
      Src: /src/vlc/modules/lua/libs/medialibrary.c:480,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - L
    - list
    argTypes:
    - lua_State*
    - vlc_ml_album_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 482
    functionName: vlclua_ml_list_albums
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - luaL_error
    - lua_rawseti
    - vlclua_ml_push_album
    - lua_createtable
    - vlc_ml_release
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_list_albums( lua_State *L, vlc_ml_album_list_t *list
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/medialibrary.c:486,1
    - Dst: vlclua_ml_assign_params
      Src: /src/vlc/modules/lua/libs/medialibrary.c:488,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/lua/libs/medialibrary.c:489,1
    - Dst: vlc_ml_list_albums
      Src: /src/vlc/modules/lua/libs/medialibrary.c:490,1
    - Dst: vlclua_ml_list_albums
      Src: /src/vlc/modules/lua/libs/medialibrary.c:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 492
    functionName: vlclua_ml_list_all_albums
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - vlclua_ml_list_albums
    - vlclua_get_this
    - vlclua_ml_assign_params
    - vlc_ml_instance_get
    - vlc_ml_list_albums
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_list_all_albums( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/medialibrary.c:496,1
    - Dst: vlclua_ml_assign_params
      Src: /src/vlc/modules/lua/libs/medialibrary.c:498,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/lua/libs/medialibrary.c:499,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:500,1
    - Dst: vlc_ml_list_artist_albums
      Src: /src/vlc/modules/lua/libs/medialibrary.c:501,1
    - Dst: vlclua_ml_list_albums
      Src: /src/vlc/modules/lua/libs/medialibrary.c:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 494
    functionDepth: 2
    functionLinenumber: 494
    functionLinenumberEnd: 503
    functionName: vlclua_ml_list_artist_albums
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - vlclua_ml_list_albums
    - vlclua_get_this
    - vlc_ml_list_artist_albums
    - vlclua_ml_assign_params
    - vlc_ml_instance_get
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_list_artist_albums( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/medialibrary.c:507,1
    - Dst: vlclua_ml_assign_params
      Src: /src/vlc/modules/lua/libs/medialibrary.c:509,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/lua/libs/medialibrary.c:510,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:511,1
    - Dst: vlc_ml_list_genre_albums
      Src: /src/vlc/modules/lua/libs/medialibrary.c:512,1
    - Dst: vlclua_ml_list_albums
      Src: /src/vlc/modules/lua/libs/medialibrary.c:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 505
    functionDepth: 2
    functionLinenumber: 505
    functionLinenumberEnd: 514
    functionName: vlclua_ml_list_genre_albums
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - vlclua_ml_list_albums
    - vlc_ml_list_genre_albums
    - vlclua_get_this
    - vlclua_ml_assign_params
    - vlc_ml_instance_get
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_list_genre_albums( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/medialibrary.c:518,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:519,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/lua/libs/medialibrary.c:520,1
    - Dst: vlc_ml_get_album
      Src: /src/vlc/modules/lua/libs/medialibrary.c:521,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/medialibrary.c:523,1
    - Dst: vlclua_ml_push_album
      Src: /src/vlc/modules/lua/libs/medialibrary.c:524,1
    - Dst: vlc_ml_release
      Src: /src/vlc/modules/lua/libs/medialibrary.c:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 516
    functionDepth: 2
    functionLinenumber: 516
    functionLinenumberEnd: 527
    functionName: vlclua_ml_get_album
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - luaL_error
    - vlclua_ml_push_album
    - vlclua_get_this
    - vlc_ml_get_album
    - vlc_ml_instance_get
    - luaL_checkinteger
    - vlc_ml_release
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_get_album( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/medialibrary.c:531,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:532,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/lua/libs/medialibrary.c:533,1
    - Dst: vlc_ml_get_folder
      Src: /src/vlc/modules/lua/libs/medialibrary.c:534,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/medialibrary.c:536,1
    - Dst: vlclua_ml_push_folder
      Src: /src/vlc/modules/lua/libs/medialibrary.c:537,1
    - Dst: vlc_ml_release
      Src: /src/vlc/modules/lua/libs/medialibrary.c:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 540
    functionName: vlclua_ml_get_folder
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - luaL_error
    - vlc_ml_get_folder
    - vlclua_ml_push_folder
    - vlclua_get_this
    - vlc_ml_instance_get
    - luaL_checkinteger
    - vlc_ml_release
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_get_folder( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/medialibrary.c:545,1
    - Dst: lua_createtable
      Src: /src/vlc/modules/lua/libs/medialibrary.c:546,1
    - Dst: vlclua_ml_push_artist
      Src: /src/vlc/modules/lua/libs/medialibrary.c:549,1
    - Dst: lua_rawseti
      Src: /src/vlc/modules/lua/libs/medialibrary.c:550,1
    - Dst: vlc_ml_release
      Src: /src/vlc/modules/lua/libs/medialibrary.c:552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - L
    - list
    argTypes:
    - lua_State*
    - vlc_ml_artist_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 554
    functionName: vlclua_ml_list_artists
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - luaL_error
    - lua_rawseti
    - vlclua_ml_push_artist
    - lua_createtable
    - vlc_ml_release
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_list_artists( lua_State *L, vlc_ml_artist_list_t *list
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/medialibrary.c:558,1
    - Dst: vlclua_ml_assign_params
      Src: /src/vlc/modules/lua/libs/medialibrary.c:560,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/lua/libs/medialibrary.c:561,1
    - Dst: vlc_ml_list_artists
      Src: /src/vlc/modules/lua/libs/medialibrary.c:562,1
    - Dst: vlclua_ml_list_artists
      Src: /src/vlc/modules/lua/libs/medialibrary.c:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 556
    functionDepth: 2
    functionLinenumber: 556
    functionLinenumberEnd: 564
    functionName: vlclua_ml_list_all_artists
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - vlclua_ml_list_artists
    - vlc_ml_list_artists
    - vlclua_get_this
    - vlclua_ml_assign_params
    - vlc_ml_instance_get
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_list_all_artists( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/medialibrary.c:568,1
    - Dst: vlclua_ml_assign_params
      Src: /src/vlc/modules/lua/libs/medialibrary.c:570,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/lua/libs/medialibrary.c:571,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:572,1
    - Dst: vlc_ml_list_genre_artists
      Src: /src/vlc/modules/lua/libs/medialibrary.c:573,1
    - Dst: vlclua_ml_list_artists
      Src: /src/vlc/modules/lua/libs/medialibrary.c:574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 566
    functionDepth: 2
    functionLinenumber: 566
    functionLinenumberEnd: 575
    functionName: vlclua_ml_list_genre_artists
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - vlclua_ml_list_artists
    - vlc_ml_list_genre_artists
    - vlclua_get_this
    - vlclua_ml_assign_params
    - vlc_ml_instance_get
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_list_genre_artists( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/medialibrary.c:579,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:580,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/lua/libs/medialibrary.c:581,1
    - Dst: vlc_ml_get_artist
      Src: /src/vlc/modules/lua/libs/medialibrary.c:582,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/medialibrary.c:584,1
    - Dst: vlclua_ml_push_artist
      Src: /src/vlc/modules/lua/libs/medialibrary.c:585,1
    - Dst: vlc_ml_release
      Src: /src/vlc/modules/lua/libs/medialibrary.c:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 577
    functionDepth: 2
    functionLinenumber: 577
    functionLinenumberEnd: 588
    functionName: vlclua_ml_get_artist
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - luaL_error
    - vlc_ml_get_artist
    - vlclua_get_this
    - vlclua_ml_push_artist
    - vlc_ml_instance_get
    - luaL_checkinteger
    - vlc_ml_release
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_get_artist( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/medialibrary.c:592,1
    - Dst: vlclua_ml_assign_params
      Src: /src/vlc/modules/lua/libs/medialibrary.c:594,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/lua/libs/medialibrary.c:595,1
    - Dst: vlc_ml_list_genres
      Src: /src/vlc/modules/lua/libs/medialibrary.c:596,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/medialibrary.c:598,1
    - Dst: lua_createtable
      Src: /src/vlc/modules/lua/libs/medialibrary.c:599,1
    - Dst: vlclua_ml_push_genre
      Src: /src/vlc/modules/lua/libs/medialibrary.c:602,1
    - Dst: lua_rawseti
      Src: /src/vlc/modules/lua/libs/medialibrary.c:603,1
    - Dst: vlc_ml_release
      Src: /src/vlc/modules/lua/libs/medialibrary.c:605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 590
    functionDepth: 2
    functionLinenumber: 590
    functionLinenumberEnd: 607
    functionName: vlclua_ml_list_genres
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - vlclua_ml_push_genre
    - vlc_ml_release
    - luaL_error
    - lua_rawseti
    - vlclua_get_this
    - vlc_ml_list_genres
    - vlclua_ml_assign_params
    - vlc_ml_instance_get
    - lua_createtable
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_list_genres( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/medialibrary.c:611,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:612,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/lua/libs/medialibrary.c:613,1
    - Dst: vlc_ml_get_genre
      Src: /src/vlc/modules/lua/libs/medialibrary.c:614,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/medialibrary.c:616,1
    - Dst: vlclua_ml_push_genre
      Src: /src/vlc/modules/lua/libs/medialibrary.c:617,1
    - Dst: vlc_ml_release
      Src: /src/vlc/modules/lua/libs/medialibrary.c:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 609
    functionDepth: 2
    functionLinenumber: 609
    functionLinenumberEnd: 620
    functionName: vlclua_ml_get_genre
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - vlclua_ml_push_genre
    - luaL_error
    - vlclua_get_this
    - vlc_ml_get_genre
    - vlc_ml_instance_get
    - luaL_checkinteger
    - vlc_ml_release
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_get_genre( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/medialibrary.c:625,1
    - Dst: lua_createtable
      Src: /src/vlc/modules/lua/libs/medialibrary.c:626,1
    - Dst: vlclua_ml_push_playlist
      Src: /src/vlc/modules/lua/libs/medialibrary.c:629,1
    - Dst: lua_rawseti
      Src: /src/vlc/modules/lua/libs/medialibrary.c:630,1
    - Dst: vlc_ml_release
      Src: /src/vlc/modules/lua/libs/medialibrary.c:632,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - L
    - list
    argTypes:
    - lua_State*
    - vlc_ml_playlist_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 634
    functionName: vlclua_ml_list_playlists
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - luaL_error
    - lua_rawseti
    - vlclua_ml_push_playlist
    - lua_createtable
    - vlc_ml_release
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_list_playlists( lua_State *L, vlc_ml_playlist_list_t
      *list )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/medialibrary.c:638,1
    - Dst: vlclua_ml_assign_params
      Src: /src/vlc/modules/lua/libs/medialibrary.c:640,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/lua/libs/medialibrary.c:641,1
    - Dst: vlc_ml_list_playlists
      Src: /src/vlc/modules/lua/libs/medialibrary.c:642,1
    - Dst: vlclua_ml_list_playlists
      Src: /src/vlc/modules/lua/libs/medialibrary.c:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 636
    functionDepth: 2
    functionLinenumber: 636
    functionLinenumberEnd: 644
    functionName: vlclua_ml_list_all_playlists
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - vlclua_get_this
    - vlc_ml_list_playlists
    - vlclua_ml_list_playlists
    - vlclua_ml_assign_params
    - vlc_ml_instance_get
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_list_all_playlists( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/medialibrary.c:648,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:649,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/lua/libs/medialibrary.c:650,1
    - Dst: vlc_ml_get_playlist
      Src: /src/vlc/modules/lua/libs/medialibrary.c:651,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/medialibrary.c:653,1
    - Dst: vlclua_ml_push_playlist
      Src: /src/vlc/modules/lua/libs/medialibrary.c:654,1
    - Dst: vlc_ml_release
      Src: /src/vlc/modules/lua/libs/medialibrary.c:655,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 646
    functionDepth: 2
    functionLinenumber: 646
    functionLinenumberEnd: 657
    functionName: vlclua_ml_get_playlist
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - luaL_error
    - vlclua_get_this
    - vlc_ml_get_playlist
    - vlclua_ml_push_playlist
    - vlc_ml_instance_get
    - luaL_checkinteger
    - vlc_ml_release
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_get_playlist( lua_State *L )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/libs/medialibrary.c:661,1
    - Dst: vlclua_error
      Src: /src/vlc/modules/lua/libs/medialibrary.c:661,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:663,1
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/medialibrary.c:664,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/lua/libs/medialibrary.c:665,1
    - Dst: vlc_ml_get_media
      Src: /src/vlc/modules/lua/libs/medialibrary.c:666,1
    - Dst: vlc_ml_release
      Src: /src/vlc/modules/lua/libs/medialibrary.c:670,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/medialibrary.c:673,1
    - Dst: vlc_ml_release
      Src: /src/vlc/modules/lua/libs/medialibrary.c:674,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 659
    functionDepth: 2
    functionLinenumber: 659
    functionLinenumberEnd: 676
    functionName: vlclua_ml_get_media_thumbnail
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - lua_gettop
    - lua_pushstring
    - vlclua_get_this
    - vlc_ml_get_media
    - vlclua_error
    - vlc_ml_instance_get
    - luaL_checkinteger
    - vlc_ml_release
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_get_media_thumbnail( lua_State *L )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/libs/medialibrary.c:680,1
    - Dst: vlclua_error
      Src: /src/vlc/modules/lua/libs/medialibrary.c:680,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:682,1
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/medialibrary.c:683,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/lua/libs/medialibrary.c:684,1
    - Dst: vlc_ml_get_artist
      Src: /src/vlc/modules/lua/libs/medialibrary.c:685,1
    - Dst: vlc_ml_release
      Src: /src/vlc/modules/lua/libs/medialibrary.c:689,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/medialibrary.c:692,1
    - Dst: vlc_ml_release
      Src: /src/vlc/modules/lua/libs/medialibrary.c:693,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 678
    functionDepth: 2
    functionLinenumber: 678
    functionLinenumberEnd: 695
    functionName: vlclua_ml_get_artist_thumbnail
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - lua_gettop
    - lua_pushstring
    - vlc_ml_get_artist
    - vlclua_get_this
    - vlclua_error
    - vlc_ml_instance_get
    - luaL_checkinteger
    - vlc_ml_release
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_get_artist_thumbnail( lua_State *L )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/libs/medialibrary.c:699,1
    - Dst: vlclua_error
      Src: /src/vlc/modules/lua/libs/medialibrary.c:699,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:701,1
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/medialibrary.c:702,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/lua/libs/medialibrary.c:703,1
    - Dst: vlc_ml_get_album
      Src: /src/vlc/modules/lua/libs/medialibrary.c:704,1
    - Dst: vlc_ml_release
      Src: /src/vlc/modules/lua/libs/medialibrary.c:708,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/medialibrary.c:711,1
    - Dst: vlc_ml_release
      Src: /src/vlc/modules/lua/libs/medialibrary.c:712,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 697
    functionDepth: 2
    functionLinenumber: 697
    functionLinenumberEnd: 714
    functionName: vlclua_ml_get_album_thumbnail
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - lua_gettop
    - lua_pushstring
    - vlclua_get_this
    - vlc_ml_get_album
    - vlclua_error
    - vlc_ml_instance_get
    - luaL_checkinteger
    - vlc_ml_release
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_get_album_thumbnail( lua_State *L )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/libs/medialibrary.c:718,1
    - Dst: vlclua_error
      Src: /src/vlc/modules/lua/libs/medialibrary.c:718,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:720,1
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/medialibrary.c:721,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/lua/libs/medialibrary.c:722,1
    - Dst: vlc_ml_get_genre
      Src: /src/vlc/modules/lua/libs/medialibrary.c:723,1
    - Dst: vlc_ml_release
      Src: /src/vlc/modules/lua/libs/medialibrary.c:727,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/medialibrary.c:730,1
    - Dst: vlc_ml_release
      Src: /src/vlc/modules/lua/libs/medialibrary.c:731,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 716
    functionDepth: 2
    functionLinenumber: 716
    functionLinenumberEnd: 733
    functionName: vlclua_ml_get_genre_thumbnail
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - lua_gettop
    - lua_pushstring
    - vlclua_get_this
    - vlc_ml_get_genre
    - vlclua_error
    - vlc_ml_instance_get
    - luaL_checkinteger
    - vlc_ml_release
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_get_genre_thumbnail( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/medialibrary.c:737,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/lua/libs/medialibrary.c:738,1
    - Dst: vlclua_ml_assign_params
      Src: /src/vlc/modules/lua/libs/medialibrary.c:740,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:741,1
    - Dst: vlc_ml_list_album_tracks
      Src: /src/vlc/modules/lua/libs/medialibrary.c:742,1
    - Dst: vlclua_ml_list_media
      Src: /src/vlc/modules/lua/libs/medialibrary.c:743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 735
    functionDepth: 2
    functionLinenumber: 735
    functionLinenumberEnd: 744
    functionName: vlclua_ml_list_album_tracks
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - vlclua_ml_list_media
    - vlclua_get_this
    - vlc_ml_list_album_tracks
    - vlclua_ml_assign_params
    - vlc_ml_instance_get
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_list_album_tracks( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/medialibrary.c:748,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/lua/libs/medialibrary.c:749,1
    - Dst: vlclua_ml_assign_params
      Src: /src/vlc/modules/lua/libs/medialibrary.c:751,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:752,1
    - Dst: vlc_ml_list_artist_tracks
      Src: /src/vlc/modules/lua/libs/medialibrary.c:753,1
    - Dst: vlclua_ml_list_media
      Src: /src/vlc/modules/lua/libs/medialibrary.c:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 746
    functionDepth: 2
    functionLinenumber: 746
    functionLinenumberEnd: 755
    functionName: vlclua_ml_list_artist_tracks
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - vlclua_ml_list_media
    - vlclua_get_this
    - vlc_ml_list_artist_tracks
    - vlclua_ml_assign_params
    - vlc_ml_instance_get
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_list_artist_tracks( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/medialibrary.c:759,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/lua/libs/medialibrary.c:760,1
    - Dst: vlclua_ml_assign_params
      Src: /src/vlc/modules/lua/libs/medialibrary.c:762,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:763,1
    - Dst: vlc_ml_list_genre_tracks
      Src: /src/vlc/modules/lua/libs/medialibrary.c:764,1
    - Dst: vlclua_ml_list_media
      Src: /src/vlc/modules/lua/libs/medialibrary.c:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 757
    functionDepth: 2
    functionLinenumber: 757
    functionLinenumberEnd: 766
    functionName: vlclua_ml_list_genre_tracks
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - vlclua_ml_list_media
    - vlclua_get_this
    - vlc_ml_list_genre_tracks
    - vlclua_ml_assign_params
    - vlc_ml_instance_get
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_list_genre_tracks( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/medialibrary.c:770,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/lua/libs/medialibrary.c:771,1
    - Dst: vlclua_ml_assign_params
      Src: /src/vlc/modules/lua/libs/medialibrary.c:773,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:774,1
    - Dst: vlc_ml_list_playlist_media
      Src: /src/vlc/modules/lua/libs/medialibrary.c:775,1
    - Dst: vlclua_ml_list_media
      Src: /src/vlc/modules/lua/libs/medialibrary.c:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 768
    functionDepth: 2
    functionLinenumber: 768
    functionLinenumberEnd: 777
    functionName: vlclua_ml_list_playlist_tracks
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - vlclua_ml_list_media
    - vlc_ml_list_playlist_media
    - vlclua_get_this
    - vlclua_ml_assign_params
    - vlc_ml_instance_get
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_list_playlist_tracks( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/medialibrary.c:781,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/lua/libs/medialibrary.c:782,1
    - Dst: vlc_ml_reload_folder
      Src: /src/vlc/modules/lua/libs/medialibrary.c:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 779
    functionDepth: 2
    functionLinenumber: 779
    functionLinenumberEnd: 785
    functionName: vlclua_ml_reload
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - vlc_ml_reload_folder
    - vlclua_get_this
    - vlc_ml_instance_get
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_reload( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/medialibrary.c:789,1
    - Dst: vlclua_ml_assign_params
      Src: /src/vlc/modules/lua/libs/medialibrary.c:791,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:792,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/lua/libs/medialibrary.c:793,1
    - Dst: vlc_ml_list_history
      Src: /src/vlc/modules/lua/libs/medialibrary.c:794,1
    - Dst: vlclua_ml_list_media
      Src: /src/vlc/modules/lua/libs/medialibrary.c:795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 787
    functionDepth: 2
    functionLinenumber: 787
    functionLinenumberEnd: 796
    functionName: vlclua_ml_history
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - vlclua_ml_list_media
    - vlclua_get_this
    - vlc_ml_list_history
    - vlclua_ml_assign_params
    - vlc_ml_instance_get
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_history( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/medialibrary.c:800,1
    - Dst: vlclua_ml_assign_params
      Src: /src/vlc/modules/lua/libs/medialibrary.c:802,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/lua/libs/medialibrary.c:803,1
    - Dst: vlc_ml_list_video_history
      Src: /src/vlc/modules/lua/libs/medialibrary.c:804,1
    - Dst: vlclua_ml_list_media
      Src: /src/vlc/modules/lua/libs/medialibrary.c:805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 798
    functionDepth: 2
    functionLinenumber: 798
    functionLinenumberEnd: 806
    functionName: vlclua_ml_video_history
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - vlclua_ml_list_media
    - vlc_ml_list_video_history
    - vlclua_get_this
    - vlclua_ml_assign_params
    - vlc_ml_instance_get
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_video_history( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/medialibrary.c:810,1
    - Dst: vlclua_ml_assign_params
      Src: /src/vlc/modules/lua/libs/medialibrary.c:812,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/lua/libs/medialibrary.c:813,1
    - Dst: vlc_ml_list_audio_history
      Src: /src/vlc/modules/lua/libs/medialibrary.c:814,1
    - Dst: vlclua_ml_list_media
      Src: /src/vlc/modules/lua/libs/medialibrary.c:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 808
    functionDepth: 2
    functionLinenumber: 808
    functionLinenumberEnd: 816
    functionName: vlclua_ml_audio_history
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - vlclua_ml_list_media
    - vlc_ml_list_audio_history
    - vlclua_get_this
    - vlclua_ml_assign_params
    - vlc_ml_instance_get
    linkageType: ''
    returnType: int
    signature: int vlclua_ml_audio_history( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/medialibrary.c:820,1
    - Dst: vlclua_ml_assign_params
      Src: /src/vlc/modules/lua/libs/medialibrary.c:822,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/medialibrary.c:823,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/lua/libs/medialibrary.c:824,1
    - Dst: vlc_ml_list_media_bookmarks
      Src: /src/vlc/modules/lua/libs/medialibrary.c:825,1
    - Dst: vlclua_ml_list_bookmark
      Src: /src/vlc/modules/lua/libs/medialibrary.c:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 818
    functionDepth: 2
    functionLinenumber: 818
    functionLinenumberEnd: 827
    functionName: vlclua_media_bookmarks
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 0
    functionsReached:
    - vlclua_ml_list_bookmark
    - vlc_ml_list_media_bookmarks
    - vlclua_get_this
    - vlclua_ml_assign_params
    - vlc_ml_instance_get
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_media_bookmarks( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/medialibrary.c:869,1
    - Dst: luaL_register
      Src: /src/vlc/modules/lua/libs/medialibrary.c:870,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/medialibrary.c:871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 872
    functionName: luaopen_ml
    functionSourceFile: /src/vlc/modules/lua/libs/medialibrary.c
    functionUses: 2
    functionsReached:
    - lua_newtable
    - lua_setfield
    - luaL_register
    linkageType: ''
    returnType: void
    signature: void luaopen_ml( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_dialog_add_text_inner
      Src: /src/vlc/modules/lua/libs/dialog.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: vlclua_dialog_add_text_input
    functionSourceFile: /src/vlc/modules/lua/libs/dialog.c
    functionUses: 0
    functionsReached:
    - vlclua_dialog_add_text_inner
    linkageType: ''
    returnType: int
    signature: int vlclua_dialog_add_text_input( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_dialog_add_text_inner
      Src: /src/vlc/modules/lua/libs/dialog.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: vlclua_dialog_add_password
    functionSourceFile: /src/vlc/modules/lua/libs/dialog.c
    functionUses: 0
    functionsReached:
    - vlclua_dialog_add_text_inner
    linkageType: ''
    returnType: int
    signature: int vlclua_dialog_add_password( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_dialog_add_text_inner
      Src: /src/vlc/modules/lua/libs/dialog.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: vlclua_dialog_add_html
    functionSourceFile: /src/vlc/modules/lua/libs/dialog.c
    functionUses: 0
    functionsReached:
    - vlclua_dialog_add_text_inner
    linkageType: ''
    returnType: int
    signature: int vlclua_dialog_add_html( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_getglobal
      Src: /src/vlc/modules/lua/libs/dialog.c:462,1
    - Dst: lua_pushcfunction
      Src: /src/vlc/modules/lua/libs/dialog.c:463,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/dialog.c:464,1
    - Dst: lua_pushlightuserdata
      Src: /src/vlc/modules/lua/libs/dialog.c:469,1
    - Dst: lua_pushlightuserdata
      Src: /src/vlc/modules/lua/libs/dialog.c:470,1
    - Dst: lua_settable
      Src: /src/vlc/modules/lua/libs/dialog.c:471,1
    - Dst: lua_SetDialogUpdate
      Src: /src/vlc/modules/lua/libs/dialog.c:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - L
    - opaque
    argTypes:
    - lua_State*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 475
    functionName: luaopen_dialog
    functionSourceFile: /src/vlc/modules/lua/libs/dialog.c
    functionUses: 2
    functionsReached:
    - lua_setfield
    - lua_SetDialogUpdate
    - lua_settable
    - lua_getglobal
    - lua_pushcfunction
    - lua_pushlightuserdata
    linkageType: ''
    returnType: void
    signature: void luaopen_dialog( lua_State *L, void *opaque )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lua_isstring
      Src: /src/vlc/modules/lua/libs/dialog.c:479,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:480,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/dialog.c:481,1
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/dialog.c:483,1
    - Dst: calloc
      Src: /src/vlc/modules/lua/libs/dialog.c:485,1
    - Dst: lua_getglobal
      Src: /src/vlc/modules/lua/libs/dialog.c:489,1
    - Dst: lua_getfield
      Src: /src/vlc/modules/lua/libs/dialog.c:490,1
    - Dst: lua_topointer
      Src: /src/vlc/modules/lua/libs/dialog.c:491,1
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/libs/dialog.c:491,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/dialog.c:493,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:494,1
    - Dst: strdup
      Src: /src/vlc/modules/lua/libs/dialog.c:498,1
    - Dst: ARRAY_INIT
      Src: /src/vlc/modules/lua/libs/dialog.c:500,1
    - Dst: lua_pushlightuserdata
      Src: /src/vlc/modules/lua/libs/dialog.c:503,1
    - Dst: lua_gettable
      Src: /src/vlc/modules/lua/libs/dialog.c:504,1
    - Dst: lua_topointer
      Src: /src/vlc/modules/lua/libs/dialog.c:505,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/libs/dialog.c:506,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/lua/libs/dialog.c:508,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/lua/libs/dialog.c:509,1
    - Dst: lua_getglobal
      Src: /src/vlc/modules/lua/libs/dialog.c:514,1
    - Dst: lua_pushlightuserdata
      Src: /src/vlc/modules/lua/libs/dialog.c:515,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/dialog.c:516,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/libs/dialog.c:517,1
    - Dst: lua_newuserdata
      Src: /src/vlc/modules/lua/libs/dialog.c:519,1
    - Dst: luaL_newmetatable
      Src: /src/vlc/modules/lua/libs/dialog.c:522,1
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/dialog.c:524,1
    - Dst: luaL_register
      Src: /src/vlc/modules/lua/libs/dialog.c:525,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/dialog.c:526,1
    - Dst: lua_pushcfunction
      Src: /src/vlc/modules/lua/libs/dialog.c:527,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/dialog.c:528,1
    - Dst: lua_setmetatable
      Src: /src/vlc/modules/lua/libs/dialog.c:531,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/libs/dialog.c:533,1
    - Dst: lua_SetDialogUpdate
      Src: /src/vlc/modules/lua/libs/dialog.c:534,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 537
    functionName: vlclua_dialog_create
    functionSourceFile: /src/vlc/modules/lua/libs/dialog.c
    functionUses: 0
    functionsReached:
    - lua_setfield
    - lua_isstring
    - lua_setmetatable
    - lua_newuserdata
    - lua_pop
    - luaL_register
    - lua_gettop
    - calloc
    - lua_newtable
    - vlc_cond_init
    - msg_Dbg
    - lua_getglobal
    - lua_pushlightuserdata
    - lua_topointer
    - strdup
    - lua_gettable
    - luaL_error
    - vlclua_get_this
    - luaL_checkstring
    - lua_pushcfunction
    - lua_getfield
    - lua_SetDialogUpdate
    - vlc_mutex_init
    - free
    - ARRAY_INIT
    - luaL_newmetatable
    linkageType: ''
    returnType: int
    signature: int vlclua_dialog_create( lua_State *L )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/dialog.c:541,1
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/dialog.c:545,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:548,1
    - Dst: lua_getglobal
      Src: /src/vlc/modules/lua/libs/dialog.c:554,1
    - Dst: lua_pushnil
      Src: /src/vlc/modules/lua/libs/dialog.c:555,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/dialog.c:556,1
    - Dst: assert
      Src: /src/vlc/modules/lua/libs/dialog.c:558,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/libs/dialog.c:561,1
    - Dst: lua_SetDialogUpdate
      Src: /src/vlc/modules/lua/libs/dialog.c:563,1
    - Dst: vlc_ext_dialog_update
      Src: /src/vlc/modules/lua/libs/dialog.c:564,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/libs/dialog.c:569,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/libs/dialog.c:570,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/lua/libs/dialog.c:573,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/libs/dialog.c:575,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/dialog.c:577,1
    - Dst: ARRAY_FOREACH
      Src: /src/vlc/modules/lua/libs/dialog.c:582,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/dialog.c:586,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/dialog.c:593,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/dialog.c:594,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/dialog.c:596,1
    - Dst: ARRAY_RESET
      Src: /src/vlc/modules/lua/libs/dialog.c:599,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/dialog.c:602,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts:
    - condition: ( !p_dlg->b_kill )
      pos:
        line_end: 557
        line_start: 557
        source_file: /src/vlc/modules/lua/libs/dialog.c
    constantsTouched: []
    func_position:
      end: 605
      start: 539
    functionDepth: 2
    functionLinenumber: 539
    functionLinenumberEnd: 605
    functionName: vlclua_dialog_delete
    functionSourceFile: /src/vlc/modules/lua/libs/dialog.c
    functionUses: 0
    functionsReached:
    - lua_setfield
    - assert
    - lua_SetDialogUpdate
    - lua_pushnil
    - luaL_error
    - vlc_mutex_lock
    - luaL_checkudata
    - vlc_ext_dialog_update
    - vlc_mutex_unlock
    - vlclua_get_this
    - ARRAY_FOREACH
    - ARRAY_RESET
    - free
    - msg_Dbg
    - lua_getglobal
    - vlc_cond_wait
    linkageType: ''
    returnType: int
    signature: int vlclua_dialog_delete( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/dialog.c:610,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:612,1
    - Dst: lua_SetDialogUpdate
      Src: /src/vlc/modules/lua/libs/dialog.c:616,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 619
    functionName: vlclua_dialog_show
    functionSourceFile: /src/vlc/modules/lua/libs/dialog.c
    functionUses: 0
    functionsReached:
    - luaL_error
    - luaL_checkudata
    - lua_SetDialogUpdate
    linkageType: ''
    returnType: int
    signature: int vlclua_dialog_show( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/dialog.c:624,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:626,1
    - Dst: lua_SetDialogUpdate
      Src: /src/vlc/modules/lua/libs/dialog.c:630,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 633
    functionName: vlclua_dialog_hide
    functionSourceFile: /src/vlc/modules/lua/libs/dialog.c
    functionUses: 0
    functionsReached:
    - luaL_error
    - luaL_checkudata
    - lua_SetDialogUpdate
    linkageType: ''
    returnType: int
    signature: int vlclua_dialog_hide( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/dialog.c:638,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:640,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/libs/dialog.c:643,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/dialog.c:645,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/dialog.c:646,1
    - Dst: strdup
      Src: /src/vlc/modules/lua/libs/dialog.c:647,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/libs/dialog.c:649,1
    - Dst: lua_SetDialogUpdate
      Src: /src/vlc/modules/lua/libs/dialog.c:651,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 654
    functionName: vlclua_dialog_set_title
    functionSourceFile: /src/vlc/modules/lua/libs/dialog.c
    functionUses: 0
    functionsReached:
    - strdup
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - luaL_error
    - lua_SetDialogUpdate
    - luaL_checkudata
    - free
    - luaL_checkstring
    linkageType: ''
    returnType: int
    signature: int vlclua_dialog_set_title( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/dialog.c:658,1
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/dialog.c:661,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:663,1
    - Dst: vlc_ext_dialog_update
      Src: /src/vlc/modules/lua/libs/dialog.c:667,1
    - Dst: lua_SetDialogUpdate
      Src: /src/vlc/modules/lua/libs/dialog.c:670,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 656
    functionDepth: 2
    functionLinenumber: 656
    functionLinenumberEnd: 673
    functionName: vlclua_dialog_update
    functionSourceFile: /src/vlc/modules/lua/libs/dialog.c
    functionUses: 0
    functionsReached:
    - lua_SetDialogUpdate
    - luaL_error
    - luaL_checkudata
    - vlc_ext_dialog_update
    - vlclua_get_this
    linkageType: ''
    returnType: int
    signature: int vlclua_dialog_update( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushlightuserdata
      Src: /src/vlc/modules/lua/libs/dialog.c:678,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/dialog.c:679,1
    - Dst: lua_settable
      Src: /src/vlc/modules/lua/libs/dialog.c:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - L
    - flag
    argTypes:
    - lua_State*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 681
    functionName: lua_SetDialogUpdate
    functionSourceFile: /src/vlc/modules/lua/libs/dialog.c
    functionUses: 7
    functionsReached:
    - lua_pushinteger
    - lua_pushlightuserdata
    - lua_settable
    linkageType: ''
    returnType: void
    signature: void lua_SetDialogUpdate( lua_State *L, int flag )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushlightuserdata
      Src: /src/vlc/modules/lua/libs/dialog.c:686,1
    - Dst: lua_gettable
      Src: /src/vlc/modules/lua/libs/dialog.c:687,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/dialog.c:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 689
    functionName: lua_GetDialogUpdate
    functionSourceFile: /src/vlc/modules/lua/libs/dialog.c
    functionUses: 0
    functionsReached:
    - lua_pushlightuserdata
    - lua_gettable
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: int lua_GetDialogUpdate( lua_State *L )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lua_getglobal
      Src: /src/vlc/modules/lua/libs/dialog.c:699,1
    - Dst: lua_getfield
      Src: /src/vlc/modules/lua/libs/dialog.c:700,1
    - Dst: lua_topointer
      Src: /src/vlc/modules/lua/libs/dialog.c:701,1
    - Dst: lua_GetDialogUpdate
      Src: /src/vlc/modules/lua/libs/dialog.c:707,1
    - Dst: vlc_ext_dialog_update
      Src: /src/vlc/modules/lua/libs/dialog.c:709,1
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/dialog.c:709,1
    - Dst: lua_SetDialogUpdate
      Src: /src/vlc/modules/lua/libs/dialog.c:710,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 697
    functionDepth: 2
    functionLinenumber: 697
    functionLinenumberEnd: 714
    functionName: lua_DialogFlush
    functionSourceFile: /src/vlc/modules/lua/libs/dialog.c
    functionUses: 2
    functionsReached:
    - lua_SetDialogUpdate
    - vlc_ext_dialog_update
    - vlclua_get_this
    - lua_GetDialogUpdate
    - lua_getglobal
    - lua_getfield
    - lua_topointer
    linkageType: ''
    returnType: int
    signature: int lua_DialogFlush( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lua_isstring
      Src: /src/vlc/modules/lua/libs/dialog.c:724,1
    - Dst: lua_isfunction
      Src: /src/vlc/modules/lua/libs/dialog.c:724,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:725,1
    - Dst: calloc
      Src: /src/vlc/modules/lua/libs/dialog.c:727,1
    - Dst: strdup
      Src: /src/vlc/modules/lua/libs/dialog.c:729,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/dialog.c:729,1
    - Dst: lua_settop
      Src: /src/vlc/modules/lua/libs/dialog.c:730,1
    - Dst: lua_pushlightuserdata
      Src: /src/vlc/modules/lua/libs/dialog.c:731,1
    - Dst: lua_pushvalue
      Src: /src/vlc/modules/lua/libs/dialog.c:732,1
    - Dst: lua_settable
      Src: /src/vlc/modules/lua/libs/dialog.c:733,1
    - Dst: vlclua_create_widget_inner
      Src: /src/vlc/modules/lua/libs/dialog.c:736,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 737
    functionName: vlclua_dialog_add_button
    functionSourceFile: /src/vlc/modules/lua/libs/dialog.c
    functionUses: 0
    functionsReached:
    - lua_isstring
    - strdup
    - lua_isfunction
    - lua_pushvalue
    - luaL_error
    - lua_settable
    - calloc
    - luaL_checkstring
    - vlclua_create_widget_inner
    - lua_settop
    - lua_pushlightuserdata
    linkageType: ''
    returnType: int
    signature: int vlclua_dialog_add_button( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lua_isstring
      Src: /src/vlc/modules/lua/libs/dialog.c:747,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:748,1
    - Dst: calloc
      Src: /src/vlc/modules/lua/libs/dialog.c:749,1
    - Dst: strdup
      Src: /src/vlc/modules/lua/libs/dialog.c:751,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/dialog.c:751,1
    - Dst: vlclua_create_widget_inner
      Src: /src/vlc/modules/lua/libs/dialog.c:753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 754
    functionName: vlclua_dialog_add_label
    functionSourceFile: /src/vlc/modules/lua/libs/dialog.c
    functionUses: 0
    functionsReached:
    - lua_isstring
    - strdup
    - luaL_error
    - calloc
    - luaL_checkstring
    - vlclua_create_widget_inner
    linkageType: ''
    returnType: int
    signature: int vlclua_dialog_add_label( lua_State *L )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lua_isstring
      Src: /src/vlc/modules/lua/libs/dialog.c:764,1
    - Dst: lua_isnil
      Src: /src/vlc/modules/lua/libs/dialog.c:764,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:765,1
    - Dst: calloc
      Src: /src/vlc/modules/lua/libs/dialog.c:767,1
    - Dst: lua_isnil
      Src: /src/vlc/modules/lua/libs/dialog.c:769,1
    - Dst: strdup
      Src: /src/vlc/modules/lua/libs/dialog.c:770,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/dialog.c:770,1
    - Dst: vlclua_create_widget_inner
      Src: /src/vlc/modules/lua/libs/dialog.c:772,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - L
    - i_type
    argTypes:
    - lua_State*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 773
    functionName: vlclua_dialog_add_text_inner
    functionSourceFile: /src/vlc/modules/lua/libs/dialog.c
    functionUses: 3
    functionsReached:
    - lua_isstring
    - strdup
    - luaL_error
    - calloc
    - luaL_checkstring
    - lua_isnil
    - vlclua_create_widget_inner
    linkageType: ''
    returnType: int
    signature: int vlclua_dialog_add_text_inner( lua_State *L, int i_type )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lua_isstring
      Src: /src/vlc/modules/lua/libs/dialog.c:783,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:784,1
    - Dst: calloc
      Src: /src/vlc/modules/lua/libs/dialog.c:786,1
    - Dst: strdup
      Src: /src/vlc/modules/lua/libs/dialog.c:788,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/dialog.c:788,1
    - Dst: lua_toboolean
      Src: /src/vlc/modules/lua/libs/dialog.c:789,1
    - Dst: vlclua_create_widget_inner
      Src: /src/vlc/modules/lua/libs/dialog.c:791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 792
    functionName: vlclua_dialog_add_check_box
    functionSourceFile: /src/vlc/modules/lua/libs/dialog.c
    functionUses: 0
    functionsReached:
    - lua_isstring
    - strdup
    - lua_toboolean
    - luaL_error
    - calloc
    - luaL_checkstring
    - vlclua_create_widget_inner
    linkageType: ''
    returnType: int
    signature: int vlclua_dialog_add_check_box( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/lua/libs/dialog.c:802,1
    - Dst: vlclua_create_widget_inner
      Src: /src/vlc/modules/lua/libs/dialog.c:805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 800
    functionDepth: 1
    functionLinenumber: 800
    functionLinenumberEnd: 806
    functionName: vlclua_dialog_add_dropdown
    functionSourceFile: /src/vlc/modules/lua/libs/dialog.c
    functionUses: 0
    functionsReached:
    - calloc
    - vlclua_create_widget_inner
    linkageType: ''
    returnType: int
    signature: int vlclua_dialog_add_dropdown( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/lua/libs/dialog.c:815,1
    - Dst: vlclua_create_widget_inner
      Src: /src/vlc/modules/lua/libs/dialog.c:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 819
    functionName: vlclua_dialog_add_list
    functionSourceFile: /src/vlc/modules/lua/libs/dialog.c
    functionUses: 0
    functionsReached:
    - calloc
    - vlclua_create_widget_inner
    linkageType: ''
    returnType: int
    signature: int vlclua_dialog_add_list( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lua_isstring
      Src: /src/vlc/modules/lua/libs/dialog.c:829,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:830,1
    - Dst: calloc
      Src: /src/vlc/modules/lua/libs/dialog.c:832,1
    - Dst: strdup
      Src: /src/vlc/modules/lua/libs/dialog.c:834,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/dialog.c:834,1
    - Dst: vlclua_create_widget_inner
      Src: /src/vlc/modules/lua/libs/dialog.c:836,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 826
    functionDepth: 1
    functionLinenumber: 826
    functionLinenumberEnd: 837
    functionName: vlclua_dialog_add_image
    functionSourceFile: /src/vlc/modules/lua/libs/dialog.c
    functionUses: 0
    functionsReached:
    - lua_isstring
    - strdup
    - luaL_error
    - calloc
    - luaL_checkstring
    - vlclua_create_widget_inner
    linkageType: ''
    returnType: int
    signature: int vlclua_dialog_add_image( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lua_isstring
      Src: /src/vlc/modules/lua/libs/dialog.c:847,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:848,1
    - Dst: calloc
      Src: /src/vlc/modules/lua/libs/dialog.c:850,1
    - Dst: vlclua_create_widget_inner
      Src: /src/vlc/modules/lua/libs/dialog.c:853,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 844
    functionDepth: 1
    functionLinenumber: 844
    functionLinenumberEnd: 854
    functionName: vlclua_dialog_add_spin_icon
    functionSourceFile: /src/vlc/modules/lua/libs/dialog.c
    functionUses: 0
    functionsReached:
    - luaL_error
    - lua_isstring
    - vlclua_create_widget_inner
    - calloc
    linkageType: ''
    returnType: int
    signature: int vlclua_dialog_add_spin_icon( lua_State *L )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/dialog.c:869,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:871,1
    - Dst: lua_isnumber
      Src: /src/vlc/modules/lua/libs/dialog.c:878,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/dialog.c:879,1
    - Dst: lua_isnumber
      Src: /src/vlc/modules/lua/libs/dialog.c:881,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/dialog.c:882,1
    - Dst: lua_isnumber
      Src: /src/vlc/modules/lua/libs/dialog.c:884,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/dialog.c:885,1
    - Dst: lua_isnumber
      Src: /src/vlc/modules/lua/libs/dialog.c:887,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/dialog.c:888,1
    - Dst: lua_isnumber
      Src: /src/vlc/modules/lua/libs/dialog.c:890,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/dialog.c:891,1
    - Dst: lua_isnumber
      Src: /src/vlc/modules/lua/libs/dialog.c:893,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/dialog.c:894,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/libs/dialog.c:898,1
    - Dst: AddWidget
      Src: /src/vlc/modules/lua/libs/dialog.c:901,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/libs/dialog.c:903,1
    - Dst: lua_newuserdata
      Src: /src/vlc/modules/lua/libs/dialog.c:906,1
    - Dst: luaL_newmetatable
      Src: /src/vlc/modules/lua/libs/dialog.c:908,1
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/dialog.c:910,1
    - Dst: luaL_register
      Src: /src/vlc/modules/lua/libs/dialog.c:911,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/dialog.c:912,1
    - Dst: lua_setmetatable
      Src: /src/vlc/modules/lua/libs/dialog.c:914,1
    - Dst: lua_SetDialogUpdate
      Src: /src/vlc/modules/lua/libs/dialog.c:916,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 3
    argNames:
    - L
    - i_args
    - p_widget
    argTypes:
    - lua_State*
    - int
    - extension_widget_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 862
    functionDepth: 1
    functionLinenumber: 862
    functionLinenumberEnd: 919
    functionName: vlclua_create_widget_inner
    functionSourceFile: /src/vlc/modules/lua/libs/dialog.c
    functionUses: 8
    functionsReached:
    - AddWidget
    - lua_setfield
    - lua_setmetatable
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - luaL_error
    - lua_SetDialogUpdate
    - luaL_checkudata
    - lua_isnumber
    - lua_newuserdata
    - lua_newtable
    - luaL_register
    - luaL_newmetatable
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: "int vlclua_create_widget_inner( lua_State *L, int i_args,\n                                       extension_widget_t
      *p_widget )"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/dialog.c:925,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:927,1
    - Dst: lua_isstring
      Src: /src/vlc/modules/lua/libs/dialog.c:931,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:932,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:948,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/libs/dialog.c:951,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/dialog.c:955,1
    - Dst: strdup
      Src: /src/vlc/modules/lua/libs/dialog.c:956,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/dialog.c:956,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/libs/dialog.c:958,1
    - Dst: lua_SetDialogUpdate
      Src: /src/vlc/modules/lua/libs/dialog.c:960,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 921
    functionDepth: 1
    functionLinenumber: 921
    functionLinenumberEnd: 963
    functionName: vlclua_widget_set_text
    functionSourceFile: /src/vlc/modules/lua/libs/dialog.c
    functionUses: 0
    functionsReached:
    - lua_isstring
    - strdup
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - luaL_error
    - lua_SetDialogUpdate
    - luaL_checkudata
    - free
    - luaL_checkstring
    linkageType: ''
    returnType: int
    signature: int vlclua_widget_set_text( lua_State *L )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/dialog.c:969,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:971,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:988,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/libs/dialog.c:992,1
    - Dst: strdup
      Src: /src/vlc/modules/lua/libs/dialog.c:996,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/libs/dialog.c:997,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/dialog.c:999,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/dialog.c:1001,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 965
    functionDepth: 1
    functionLinenumber: 965
    functionLinenumberEnd: 1003
    functionName: vlclua_widget_get_text
    functionSourceFile: /src/vlc/modules/lua/libs/dialog.c
    functionUses: 0
    functionsReached:
    - strdup
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - luaL_error
    - lua_pushstring
    - luaL_checkudata
    - free
    linkageType: ''
    returnType: int
    signature: int vlclua_widget_get_text( lua_State *L )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/dialog.c:1009,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:1011,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:1015,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/libs/dialog.c:1017,1
    - Dst: lua_pushboolean
      Src: /src/vlc/modules/lua/libs/dialog.c:1018,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/libs/dialog.c:1019,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1005
    functionDepth: 1
    functionLinenumber: 1005
    functionLinenumberEnd: 1022
    functionName: vlclua_widget_get_checked
    functionSourceFile: /src/vlc/modules/lua/libs/dialog.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - luaL_error
    - luaL_checkudata
    - lua_pushboolean
    linkageType: ''
    returnType: int
    signature: int vlclua_widget_get_checked( lua_State *L )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/dialog.c:1028,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:1030,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:1035,1
    - Dst: lua_isstring
      Src: /src/vlc/modules/lua/libs/dialog.c:1037,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:1038,1
    - Dst: calloc
      Src: /src/vlc/modules/lua/libs/dialog.c:1041,1
    - Dst: strdup
      Src: /src/vlc/modules/lua/libs/dialog.c:1042,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/dialog.c:1042,1
    - Dst: lua_tointeger
      Src: /src/vlc/modules/lua/libs/dialog.c:1043,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/libs/dialog.c:1045,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/libs/dialog.c:1063,1
    - Dst: lua_SetDialogUpdate
      Src: /src/vlc/modules/lua/libs/dialog.c:1065,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1024
    functionDepth: 1
    functionLinenumber: 1024
    functionLinenumberEnd: 1068
    functionName: vlclua_widget_add_value
    functionSourceFile: /src/vlc/modules/lua/libs/dialog.c
    functionUses: 0
    functionsReached:
    - lua_isstring
    - lua_tointeger
    - strdup
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - luaL_error
    - lua_SetDialogUpdate
    - luaL_checkudata
    - calloc
    - luaL_checkstring
    linkageType: ''
    returnType: int
    signature: int vlclua_widget_add_value( lua_State *L )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/dialog.c:1074,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:1076,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:1080,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/libs/dialog.c:1082,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/dialog.c:1091,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/dialog.c:1092,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/libs/dialog.c:1093,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/libs/dialog.c:1098,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/dialog.c:1100,1
    - Dst: lua_pushnil
      Src: /src/vlc/modules/lua/libs/dialog.c:1101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1103
    functionName: vlclua_widget_get_value
    functionSourceFile: /src/vlc/modules/lua/libs/dialog.c
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - vlc_mutex_lock
    - luaL_error
    - vlc_mutex_unlock
    - luaL_checkudata
    - lua_pushnil
    - lua_pushinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_widget_get_value( lua_State *L )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/dialog.c:1109,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:1111,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:1116,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/libs/dialog.c:1120,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/dialog.c:1127,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/dialog.c:1128,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/libs/dialog.c:1134,1
    - Dst: lua_SetDialogUpdate
      Src: /src/vlc/modules/lua/libs/dialog.c:1136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1105
    functionDepth: 1
    functionLinenumber: 1105
    functionLinenumberEnd: 1139
    functionName: vlclua_widget_clear
    functionSourceFile: /src/vlc/modules/lua/libs/dialog.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - luaL_error
    - lua_SetDialogUpdate
    - luaL_checkudata
    - free
    linkageType: ''
    returnType: int
    signature: int vlclua_widget_clear( lua_State *L )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/dialog.c:1145,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:1147,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:1151,1
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/dialog.c:1154,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/libs/dialog.c:1156,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/dialog.c:1165,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/dialog.c:1166,1
    - Dst: lua_settable
      Src: /src/vlc/modules/lua/libs/dialog.c:1167,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/libs/dialog.c:1171,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1141
    functionDepth: 1
    functionLinenumber: 1141
    functionLinenumberEnd: 1174
    functionName: vlclua_widget_get_selection
    functionSourceFile: /src/vlc/modules/lua/libs/dialog.c
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - vlc_mutex_lock
    - luaL_error
    - vlc_mutex_unlock
    - luaL_checkudata
    - lua_settable
    - lua_newtable
    - lua_pushinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_widget_get_selection( lua_State *L )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/dialog.c:1180,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:1182,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:1186,1
    - Dst: lua_isboolean
      Src: /src/vlc/modules/lua/libs/dialog.c:1189,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:1190,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/libs/dialog.c:1192,1
    - Dst: lua_toboolean
      Src: /src/vlc/modules/lua/libs/dialog.c:1195,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/libs/dialog.c:1197,1
    - Dst: lua_SetDialogUpdate
      Src: /src/vlc/modules/lua/libs/dialog.c:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1176
    functionDepth: 1
    functionLinenumber: 1176
    functionLinenumberEnd: 1207
    functionName: vlclua_widget_set_checked
    functionSourceFile: /src/vlc/modules/lua/libs/dialog.c
    functionUses: 0
    functionsReached:
    - lua_toboolean
    - vlc_mutex_lock
    - luaL_error
    - vlc_mutex_unlock
    - luaL_checkudata
    - lua_SetDialogUpdate
    - lua_isboolean
    linkageType: ''
    returnType: int
    signature: int vlclua_widget_set_checked( lua_State *L )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/dialog.c:1213,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:1215,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:1219,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/libs/dialog.c:1222,1
    - Dst: lua_isnumber
      Src: /src/vlc/modules/lua/libs/dialog.c:1223,1
    - Dst: lua_tointeger
      Src: /src/vlc/modules/lua/libs/dialog.c:1226,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/libs/dialog.c:1227,1
    - Dst: lua_SetDialogUpdate
      Src: /src/vlc/modules/lua/libs/dialog.c:1231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1209
    functionDepth: 1
    functionLinenumber: 1209
    functionLinenumberEnd: 1234
    functionName: vlclua_widget_animate
    functionSourceFile: /src/vlc/modules/lua/libs/dialog.c
    functionUses: 0
    functionsReached:
    - lua_tointeger
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - luaL_error
    - lua_SetDialogUpdate
    - luaL_checkudata
    - lua_isnumber
    linkageType: ''
    returnType: int
    signature: int vlclua_widget_animate( lua_State *L )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/dialog.c:1240,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:1242,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:1246,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/libs/dialog.c:1248,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/libs/dialog.c:1253,1
    - Dst: lua_SetDialogUpdate
      Src: /src/vlc/modules/lua/libs/dialog.c:1259,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1236
    functionDepth: 1
    functionLinenumber: 1236
    functionLinenumberEnd: 1263
    functionName: vlclua_widget_stop
    functionSourceFile: /src/vlc/modules/lua/libs/dialog.c
    functionUses: 0
    functionsReached:
    - lua_SetDialogUpdate
    - vlc_mutex_unlock
    - luaL_error
    - vlc_mutex_lock
    - luaL_checkudata
    linkageType: ''
    returnType: int
    signature: int vlclua_widget_stop( lua_State *L )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/dialog.c:1274,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:1276,1
    - Dst: lua_isuserdata
      Src: /src/vlc/modules/lua/libs/dialog.c:1280,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:1281,1
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/dialog.c:1285,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:1287,1
    - Dst: lua_pushlightuserdata
      Src: /src/vlc/modules/lua/libs/dialog.c:1295,1
    - Dst: lua_pushnil
      Src: /src/vlc/modules/lua/libs/dialog.c:1296,1
    - Dst: lua_settable
      Src: /src/vlc/modules/lua/libs/dialog.c:1297,1
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/dialog.c:1300,1
    - Dst: lua_SetDialogUpdate
      Src: /src/vlc/modules/lua/libs/dialog.c:1304,1
    - Dst: vlc_ext_dialog_update
      Src: /src/vlc/modules/lua/libs/dialog.c:1305,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:1309,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/lua/libs/dialog.c:1312,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/lua/libs/dialog.c:1321,1
    - Dst: DeleteWidget
      Src: /src/vlc/modules/lua/libs/dialog.c:1324,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/lua/libs/dialog.c:1326,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/dialog.c:1330,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1270
    functionDepth: 2
    functionLinenumber: 1270
    functionLinenumberEnd: 1334
    functionName: vlclua_dialog_delete_widget
    functionSourceFile: /src/vlc/modules/lua/libs/dialog.c
    functionUses: 0
    functionsReached:
    - lua_isuserdata
    - lua_SetDialogUpdate
    - lua_pushnil
    - luaL_error
    - vlc_mutex_lock
    - luaL_checkudata
    - vlc_ext_dialog_update
    - DeleteWidget
    - lua_settable
    - vlclua_get_this
    - vlc_mutex_unlock
    - lua_pushlightuserdata
    - vlc_cond_wait
    linkageType: ''
    returnType: int
    signature: int vlclua_dialog_delete_widget( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_APPEND
      Src: /src/vlc/modules/lua/libs/dialog.c:1350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_dialog
    - p_widget
    argTypes:
    - extension_dialog_t*
    - extension_widget_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1347
    functionDepth: 1
    functionLinenumber: 1347
    functionLinenumberEnd: 1351
    functionName: AddWidget
    functionSourceFile: /src/vlc/modules/lua/libs/dialog.c
    functionUses: 1
    functionsReached:
    - ARRAY_APPEND
    linkageType: ''
    returnType: void
    signature: "void AddWidget( extension_dialog_t *p_dialog,\n                       extension_widget_t
      *p_widget )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_FOREACH
      Src: /src/vlc/modules/lua/libs/dialog.c:1364,1
    - Dst: ARRAY_REMOVE
      Src: /src/vlc/modules/lua/libs/dialog.c:1377,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/dialog.c:1380,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/dialog.c:1384,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/dialog.c:1387,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/dialog.c:1389,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/dialog.c:1390,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - p_dialog
    - p_widget
    argTypes:
    - extension_dialog_t*
    - extension_widget_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1358
    functionDepth: 1
    functionLinenumber: 1358
    functionLinenumberEnd: 1393
    functionName: DeleteWidget
    functionSourceFile: /src/vlc/modules/lua/libs/dialog.c
    functionUses: 1
    functionsReached:
    - ARRAY_FOREACH
    - ARRAY_REMOVE
    - free
    linkageType: ''
    returnType: int
    signature: "int DeleteWidget( extension_dialog_t *p_dialog,\n                         extension_widget_t
      *p_widget )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/libs/messages.c:47,1
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/messages.c:48,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/libs/messages.c:51,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/messages.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: vlclua_msg_dbg
    functionSourceFile: /src/vlc/modules/lua/libs/messages.c
    functionUses: 0
    functionsReached:
    - vlclua_get_this
    - luaL_checkstring
    - msg_Dbg
    - lua_gettop
    linkageType: ''
    returnType: int
    signature: int vlclua_msg_dbg( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/libs/messages.c:57,1
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/messages.c:58,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/lua/libs/messages.c:61,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/messages.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: vlclua_msg_warn
    functionSourceFile: /src/vlc/modules/lua/libs/messages.c
    functionUses: 0
    functionsReached:
    - vlclua_get_this
    - luaL_checkstring
    - lua_gettop
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int vlclua_msg_warn( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/libs/messages.c:67,1
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/messages.c:68,1
    - Dst: msg_Err
      Src: /src/vlc/modules/lua/libs/messages.c:71,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/messages.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: vlclua_msg_err
    functionSourceFile: /src/vlc/modules/lua/libs/messages.c
    functionUses: 0
    functionsReached:
    - vlclua_get_this
    - luaL_checkstring
    - lua_gettop
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int vlclua_msg_err( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/libs/messages.c:77,1
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/messages.c:78,1
    - Dst: msg_Info
      Src: /src/vlc/modules/lua/libs/messages.c:81,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/messages.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: vlclua_msg_info
    functionSourceFile: /src/vlc/modules/lua/libs/messages.c
    functionUses: 0
    functionsReached:
    - vlclua_get_this
    - msg_Info
    - lua_gettop
    - luaL_checkstring
    linkageType: ''
    returnType: int
    signature: int vlclua_msg_info( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/messages.c:98,1
    - Dst: luaL_register
      Src: /src/vlc/modules/lua/libs/messages.c:99,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/messages.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: luaopen_msg
    functionSourceFile: /src/vlc/modules/lua/libs/messages.c
    functionUses: 5
    functionsReached:
    - lua_newtable
    - lua_setfield
    - luaL_register
    linkageType: ''
    returnType: void
    signature: void luaopen_msg( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetStdHandle
      Src: /src/vlc/modules/lua/libs/win.c:43,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/win.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: GetConsole
    functionSourceFile: /src/vlc/modules/lua/libs/win.c
    functionUses: 0
    functionsReached:
    - luaL_error
    - GetStdHandle
    linkageType: ''
    returnType: HANDLE
    signature: HANDLE GetConsole( lua_State *L )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ReadConsoleInput
      Src: /src/vlc/modules/lua/libs/win.c:60,1
    - Dst: putc
      Src: /src/vlc/modules/lua/libs/win.c:75,1
    - Dst: assert
      Src: /src/vlc/modules/lua/libs/win.c:97,1
    - Dst: stdc_leading_ones
      Src: /src/vlc/modules/lua/libs/win.c:97,1
    - Dst: fputs
      Src: /src/vlc/modules/lua/libs/win.c:104,1
    - Dst: FromWide
      Src: /src/vlc/modules/lua/libs/win.c:109,1
    - Dst: strlen
      Src: /src/vlc/modules/lua/libs/win.c:110,1
    - Dst: strcpy
      Src: /src/vlc/modules/lua/libs/win.c:116,1
    - Dst: utf8_fprintf
      Src: /src/vlc/modules/lua/libs/win.c:117,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/win.c:118,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 41
    argCount: 3
    argNames:
    - hConsoleIn
    - p_buffer
    - pi_size
    argTypes:
    - HANDLE*
    - unsigned char*
    - int*
    assertStmts:
    - condition: ( stdc_leading_ones( p_buffer[*pi_size] ) == nbBytes + 1 )
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/vlc/modules/lua/libs/win.c
    constantsTouched: []
    func_position:
      end: 126
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 126
    functionName: ReadWin32
    functionSourceFile: /src/vlc/modules/lua/libs/win.c
    functionUses: 0
    functionsReached:
    - assert
    - stdc_leading_ones
    - ReadConsoleInput
    - strlen
    - fputs
    - strcpy
    - free
    - FromWide
    - utf8_fprintf
    - putc
    linkageType: ''
    returnType: bool
    signature: bool ReadWin32( HANDLE *hConsoleIn, unsigned char *p_buffer, int *pi_size
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocConsole
      Src: /src/vlc/modules/lua/libs/win.c:133,1
    - Dst: freopen
      Src: /src/vlc/modules/lua/libs/win.c:135,1
    - Dst: freopen
      Src: /src/vlc/modules/lua/libs/win.c:136,1
    - Dst: freopen
      Src: /src/vlc/modules/lua/libs/win.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 139
    functionName: vlclua_console_init
    functionSourceFile: /src/vlc/modules/lua/libs/win.c
    functionUses: 0
    functionsReached:
    - freopen
    - AllocConsole
    linkageType: ''
    returnType: int
    signature: int vlclua_console_init( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_optinteger
      Src: /src/vlc/modules/lua/libs/win.c:143,1
    - Dst: WaitForSingleObject
      Src: /src/vlc/modules/lua/libs/win.c:144,1
    - Dst: GetConsole
      Src: /src/vlc/modules/lua/libs/win.c:144,1
    - Dst: lua_pushboolean
      Src: /src/vlc/modules/lua/libs/win.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: vlclua_console_wait
    functionSourceFile: /src/vlc/modules/lua/libs/win.c
    functionUses: 0
    functionsReached:
    - luaL_optinteger
    - lua_pushboolean
    - GetConsole
    - WaitForSingleObject
    linkageType: ''
    returnType: int
    signature: int vlclua_console_wait( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadWin32
      Src: /src/vlc/modules/lua/libs/win.c:154,1
    - Dst: GetConsole
      Src: /src/vlc/modules/lua/libs/win.c:154,1
    - Dst: lua_pushlstring
      Src: /src/vlc/modules/lua/libs/win.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 158
    functionName: vlclua_console_read
    functionSourceFile: /src/vlc/modules/lua/libs/win.c
    functionUses: 0
    functionsReached:
    - lua_pushlstring
    - ReadWin32
    - GetConsole
    linkageType: ''
    returnType: int
    signature: int vlclua_console_read( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lua_isstring
      Src: /src/vlc/modules/lua/libs/win.c:162,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/win.c:163,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/win.c:164,1
    - Dst: utf8_fprintf
      Src: /src/vlc/modules/lua/libs/win.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 167
    functionName: vlclua_console_write
    functionSourceFile: /src/vlc/modules/lua/libs/win.c
    functionUses: 0
    functionsReached:
    - luaL_error
    - luaL_checkstring
    - lua_isstring
    - utf8_fprintf
    linkageType: ''
    returnType: int
    signature: int vlclua_console_write( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/win.c:182,1
    - Dst: luaL_register
      Src: /src/vlc/modules/lua/libs/win.c:183,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/win.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: luaopen_win
    functionSourceFile: /src/vlc/modules/lua/libs/win.c
    functionUses: 2
    functionsReached:
    - lua_newtable
    - lua_setfield
    - luaL_register
    linkageType: ''
    returnType: void
    signature: void luaopen_win( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: vlclua_var_toggle_or_set
    functionSourceFile: /src/vlc/modules/lua/libs/variables.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vlclua_var_toggle_or_set( a, b, c )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushnil
      Src: /src/vlc/modules/lua/libs/stream.c:68,1
    - Dst: lua_pushliteral
      Src: /src/vlc/modules/lua/libs/stream.c:69,1
    - Dst: lua_newuserdata
      Src: /src/vlc/modules/lua/libs/stream.c:73,1
    - Dst: luaL_newmetatable
      Src: /src/vlc/modules/lua/libs/stream.c:76,1
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/stream.c:78,1
    - Dst: luaL_register
      Src: /src/vlc/modules/lua/libs/stream.c:79,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/stream.c:80,1
    - Dst: lua_pushcfunction
      Src: /src/vlc/modules/lua/libs/stream.c:81,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/stream.c:82,1
    - Dst: lua_setmetatable
      Src: /src/vlc/modules/lua/libs/stream.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - L
    - p_stream
    argTypes:
    - lua_State*
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 87
    functionName: vlclua_stream_new_inner
    functionSourceFile: /src/vlc/modules/lua/libs/stream.c
    functionUses: 0
    functionsReached:
    - lua_pushliteral
    - lua_setfield
    - lua_setmetatable
    - lua_pushnil
    - lua_newuserdata
    - lua_newtable
    - luaL_register
    - lua_pushcfunction
    - luaL_newmetatable
    linkageType: ''
    returnType: int
    signature: int vlclua_stream_new_inner( lua_State *L, stream_t *p_stream )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/stream.c:91,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/stream.c:92,1
    - Dst: vlc_stream_NewMRL
      Src: /src/vlc/modules/lua/libs/stream.c:93,1
    - Dst: vlclua_stream_new_inner
      Src: /src/vlc/modules/lua/libs/stream.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: vlclua_stream_new
    functionSourceFile: /src/vlc/modules/lua/libs/stream.c
    functionUses: 0
    functionsReached:
    - vlc_stream_NewMRL
    - luaL_checkstring
    - vlclua_get_this
    - vlclua_stream_new_inner
    linkageType: ''
    returnType: int
    signature: int vlclua_stream_new( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/stream.c:99,1
    - Dst: strdup
      Src: /src/vlc/modules/lua/libs/stream.c:101,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/stream.c:101,1
    - Dst: vlc_stream_MemoryNew
      Src: /src/vlc/modules/lua/libs/stream.c:102,1
    - Dst: strlen
      Src: /src/vlc/modules/lua/libs/stream.c:102,1
    - Dst: vlclua_stream_new_inner
      Src: /src/vlc/modules/lua/libs/stream.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: vlclua_memory_stream_new
    functionSourceFile: /src/vlc/modules/lua/libs/stream.c
    functionUses: 0
    functionsReached:
    - strdup
    - strlen
    - vlclua_get_this
    - luaL_checkstring
    - vlc_stream_MemoryNew
    - vlclua_stream_new_inner
    linkageType: ''
    returnType: int
    signature: int vlclua_memory_stream_new( lua_State *L )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/stream.c:108,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/stream.c:109,1
    - Dst: vlc_stream_NewURL
      Src: /src/vlc/modules/lua/libs/stream.c:110,1
    - Dst: vlclua_error
      Src: /src/vlc/modules/lua/libs/stream.c:112,1
    - Dst: vlc_stream_directory_Attach
      Src: /src/vlc/modules/lua/libs/stream.c:113,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/lua/libs/stream.c:115,1
    - Dst: vlclua_error
      Src: /src/vlc/modules/lua/libs/stream.c:116,1
    - Dst: vlclua_stream_new_inner
      Src: /src/vlc/modules/lua/libs/stream.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 119
    functionName: vlclua_directory_stream_new
    functionSourceFile: /src/vlc/modules/lua/libs/stream.c
    functionUses: 0
    functionsReached:
    - vlclua_get_this
    - vlc_stream_Delete
    - vlc_stream_directory_Attach
    - luaL_checkstring
    - vlclua_stream_new_inner
    - vlclua_error
    - vlc_stream_NewURL
    linkageType: ''
    returnType: int
    signature: int vlclua_directory_stream_new( lua_State *L )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/stream.c:124,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/stream.c:125,1
    - Dst: malloc
      Src: /src/vlc/modules/lua/libs/stream.c:126,1
    - Dst: vlclua_error
      Src: /src/vlc/modules/lua/libs/stream.c:127,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/lua/libs/stream.c:129,1
    - Dst: lua_pushlstring
      Src: /src/vlc/modules/lua/libs/stream.c:131,1
    - Dst: lua_pushnil
      Src: /src/vlc/modules/lua/libs/stream.c:133,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/stream.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 136
    functionName: vlclua_stream_read
    functionSourceFile: /src/vlc/modules/lua/libs/stream.c
    functionUses: 0
    functionsReached:
    - lua_pushlstring
    - lua_pushnil
    - luaL_checkudata
    - free
    - vlc_stream_Read
    - vlclua_error
    - malloc
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_stream_read( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/stream.c:140,1
    - Dst: vlc_stream_ReadLine
      Src: /src/vlc/modules/lua/libs/stream.c:141,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/stream.c:144,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/stream.c:145,1
    - Dst: lua_pushnil
      Src: /src/vlc/modules/lua/libs/stream.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 150
    functionName: vlclua_stream_readline
    functionSourceFile: /src/vlc/modules/lua/libs/stream.c
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - lua_pushnil
    - luaL_checkudata
    - free
    - vlc_stream_ReadLine
    linkageType: ''
    returnType: int
    signature: int vlclua_stream_readline( lua_State *L )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/stream.c:154,1
    - Dst: lua_settop
      Src: /src/vlc/modules/lua/libs/stream.c:157,1
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/stream.c:159,1
    - Dst: vlclua_error
      Src: /src/vlc/modules/lua/libs/stream.c:160,1
    - Dst: lua_isstring
      Src: /src/vlc/modules/lua/libs/stream.c:163,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/libs/stream.c:164,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/libs/stream.c:168,1
    - Dst: vlc_stream_FilterNew
      Src: /src/vlc/modules/lua/libs/stream.c:172,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/libs/stream.c:177,1
    - Dst: luaL_getmetatable
      Src: /src/vlc/modules/lua/libs/stream.c:181,1
    - Dst: lua_setmetatable
      Src: /src/vlc/modules/lua/libs/stream.c:182,1
    - Dst: vlc_stream_FilterNew
      Src: /src/vlc/modules/lua/libs/stream.c:187,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/lua/libs/stream.c:189,1
    - Dst: luaL_getmetatable
      Src: /src/vlc/modules/lua/libs/stream.c:194,1
    - Dst: lua_setmetatable
      Src: /src/vlc/modules/lua/libs/stream.c:195,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 200
    functionName: vlclua_stream_add_filter
    functionSourceFile: /src/vlc/modules/lua/libs/stream.c
    functionUses: 0
    functionsReached:
    - lua_isstring
    - lua_setmetatable
    - lua_tostring
    - vlc_stream_FilterNew
    - luaL_checkudata
    - vlclua_get_this
    - luaL_getmetatable
    - lua_settop
    - msg_Dbg
    - vlclua_error
    linkageType: ''
    returnType: int
    signature: int vlclua_stream_add_filter( lua_State *L )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/stream.c:204,1
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/libs/stream.c:207,1
    - Dst: lua_tostring
      Src: /src/vlc/modules/lua/libs/stream.c:209,1
    - Dst: lua_gettop
      Src: /src/vlc/modules/lua/libs/stream.c:210,1
    - Dst: lua_toboolean
      Src: /src/vlc/modules/lua/libs/stream.c:211,1
    - Dst: vlclua_error
      Src: /src/vlc/modules/lua/libs/stream.c:215,1
    - Dst: vlclua_error
      Src: /src/vlc/modules/lua/libs/stream.c:217,1
    - Dst: input_item_New
      Src: /src/vlc/modules/lua/libs/stream.c:219,1
    - Dst: asprintf
      Src: /src/vlc/modules/lua/libs/stream.c:223,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/lua/libs/stream.c:225,1
    - Dst: vlclua_error
      Src: /src/vlc/modules/lua/libs/stream.c:226,1
    - Dst: input_item_AddOption
      Src: /src/vlc/modules/lua/libs/stream.c:228,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/stream.c:229,1
    - Dst: input_item_AddOption
      Src: /src/vlc/modules/lua/libs/stream.c:232,1
    - Dst: input_item_AddOption
      Src: /src/vlc/modules/lua/libs/stream.c:235,1
    - Dst: input_item_node_Create
      Src: /src/vlc/modules/lua/libs/stream.c:237,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/lua/libs/stream.c:238,1
    - Dst: vlclua_error
      Src: /src/vlc/modules/lua/libs/stream.c:240,1
    - Dst: vlc_stream_ReadDir
      Src: /src/vlc/modules/lua/libs/stream.c:241,1
    - Dst: input_item_node_Delete
      Src: /src/vlc/modules/lua/libs/stream.c:243,1
    - Dst: vlclua_error
      Src: /src/vlc/modules/lua/libs/stream.c:244,1
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/stream.c:246,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/stream.c:249,1
    - Dst: vlclua_input_item_get
      Src: /src/vlc/modules/lua/libs/stream.c:250,1
    - Dst: lua_settable
      Src: /src/vlc/modules/lua/libs/stream.c:251,1
    - Dst: input_item_node_Delete
      Src: /src/vlc/modules/lua/libs/stream.c:253,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 255
    functionName: vlclua_stream_readdir
    functionSourceFile: /src/vlc/modules/lua/libs/stream.c
    functionUses: 0
    functionsReached:
    - asprintf
    - input_item_node_Delete
    - lua_gettop
    - lua_toboolean
    - input_item_New
    - lua_tostring
    - input_item_Release
    - luaL_checkudata
    - input_item_AddOption
    - lua_settable
    - free
    - lua_newtable
    - lua_pushinteger
    - vlc_stream_ReadDir
    - vlclua_error
    - vlclua_input_item_get
    - input_item_node_Create
    linkageType: ''
    returnType: int
    signature: int vlclua_stream_readdir( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/stream.c:259,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/lua/libs/stream.c:261,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/stream.c:263,1
    - Dst: lua_pushnumber
      Src: /src/vlc/modules/lua/libs/stream.c:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 266
    functionName: vlclua_stream_getsize
    functionSourceFile: /src/vlc/modules/lua/libs/stream.c
    functionUses: 0
    functionsReached:
    - luaL_error
    - luaL_checkudata
    - lua_pushnumber
    - vlc_stream_GetSize
    linkageType: ''
    returnType: int
    signature: int vlclua_stream_getsize( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/stream.c:270,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/stream.c:271,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/stream.c:273,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/lua/libs/stream.c:274,1
    - Dst: lua_pushboolean
      Src: /src/vlc/modules/lua/libs/stream.c:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 277
    functionName: vlclua_stream_seek
    functionSourceFile: /src/vlc/modules/lua/libs/stream.c
    functionUses: 0
    functionsReached:
    - luaL_error
    - luaL_checkudata
    - lua_pushboolean
    - vlc_stream_Seek
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_stream_seek( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/stream.c:281,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/lua/libs/stream.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: vlclua_stream_delete
    functionSourceFile: /src/vlc/modules/lua/libs/stream.c
    functionUses: 0
    functionsReached:
    - luaL_checkudata
    - vlc_stream_Delete
    linkageType: ''
    returnType: int
    signature: int vlclua_stream_delete( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/vlc/modules/lua/libs/stream.c:291,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/stream.c:292,1
    - Dst: lua_pushcfunction
      Src: /src/vlc/modules/lua/libs/stream.c:293,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/stream.c:294,1
    - Dst: lua_pushcfunction
      Src: /src/vlc/modules/lua/libs/stream.c:295,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/stream.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 297
    functionName: luaopen_stream
    functionSourceFile: /src/vlc/modules/lua/libs/stream.c
    functionUses: 5
    functionsReached:
    - lua_pushcfunction
    - lua_setfield
    linkageType: ''
    returnType: void
    signature: void luaopen_stream( lua_State *L )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_aout_internal
      Src: /src/vlc/modules/lua/libs/equalizer.c:62,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/lua/libs/equalizer.c:66,1
    - Dst: strstr
      Src: /src/vlc/modules/lua/libs/equalizer.c:67,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/equalizer.c:69,1
    - Dst: aout_Release
      Src: /src/vlc/modules/lua/libs/equalizer.c:70,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/equalizer.c:73,1
    - Dst: lua_pushnumber
      Src: /src/vlc/modules/lua/libs/equalizer.c:75,1
    - Dst: var_GetFloat
      Src: /src/vlc/modules/lua/libs/equalizer.c:75,1
    - Dst: aout_Release
      Src: /src/vlc/modules/lua/libs/equalizer.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 78
    functionName: vlclua_preamp_get
    functionSourceFile: /src/vlc/modules/lua/libs/equalizer.c
    functionUses: 0
    functionsReached:
    - var_GetFloat
    - lua_pushnumber
    - var_GetNonEmptyString
    - free
    - strstr
    - vlclua_get_aout_internal
    - aout_Release
    linkageType: ''
    returnType: int
    signature: int vlclua_preamp_get( lua_State *L )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_aout_internal
      Src: /src/vlc/modules/lua/libs/equalizer.c:86,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/lua/libs/equalizer.c:90,1
    - Dst: strstr
      Src: /src/vlc/modules/lua/libs/equalizer.c:91,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/equalizer.c:93,1
    - Dst: aout_Release
      Src: /src/vlc/modules/lua/libs/equalizer.c:94,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/equalizer.c:97,1
    - Dst: var_SetFloat
      Src: /src/vlc/modules/lua/libs/equalizer.c:99,1
    - Dst: luaL_checknumber
      Src: /src/vlc/modules/lua/libs/equalizer.c:99,1
    - Dst: aout_Release
      Src: /src/vlc/modules/lua/libs/equalizer.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 102
    functionName: vlclua_preamp_set
    functionSourceFile: /src/vlc/modules/lua/libs/equalizer.c
    functionUses: 0
    functionsReached:
    - var_SetFloat
    - var_GetNonEmptyString
    - free
    - luaL_checknumber
    - strstr
    - vlclua_get_aout_internal
    - aout_Release
    linkageType: ''
    returnType: int
    signature: int vlclua_preamp_set( lua_State *L )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_aout_internal
      Src: /src/vlc/modules/lua/libs/equalizer.c:125,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/lua/libs/equalizer.c:129,1
    - Dst: strstr
      Src: /src/vlc/modules/lua/libs/equalizer.c:130,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/equalizer.c:132,1
    - Dst: aout_Release
      Src: /src/vlc/modules/lua/libs/equalizer.c:133,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/equalizer.c:136,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/lua/libs/equalizer.c:139,1
    - Dst: aout_Release
      Src: /src/vlc/modules/lua/libs/equalizer.c:142,1
    - Dst: newlocale
      Src: /src/vlc/modules/lua/libs/equalizer.c:147,1
    - Dst: uselocale
      Src: /src/vlc/modules/lua/libs/equalizer.c:148,1
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/equalizer.c:149,1
    - Dst: strtof
      Src: /src/vlc/modules/lua/libs/equalizer.c:152,1
    - Dst: asprintf
      Src: /src/vlc/modules/lua/libs/equalizer.c:154,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/equalizer.c:159,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/equalizer.c:160,1
    - Dst: asprintf
      Src: /src/vlc/modules/lua/libs/equalizer.c:161,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/equalizer.c:166,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/equalizer.c:167,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/equalizer.c:170,1
    - Dst: uselocale
      Src: /src/vlc/modules/lua/libs/equalizer.c:173,1
    - Dst: freelocale
      Src: /src/vlc/modules/lua/libs/equalizer.c:174,1
    - Dst: aout_Release
      Src: /src/vlc/modules/lua/libs/equalizer.c:176,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 178
    functionName: vlclua_equalizer_get
    functionSourceFile: /src/vlc/modules/lua/libs/equalizer.c
    functionUses: 0
    functionsReached:
    - lua_setfield
    - asprintf
    - lua_pushstring
    - var_GetNonEmptyString
    - free
    - lua_newtable
    - freelocale
    - strstr
    - newlocale
    - strtof
    - vlclua_get_aout_internal
    - uselocale
    - aout_Release
    linkageType: ''
    returnType: int
    signature: int vlclua_equalizer_get( lua_State *L )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checknumber
      Src: /src/vlc/modules/lua/libs/equalizer.c:186,1
    - Dst: vlclua_get_aout_internal
      Src: /src/vlc/modules/lua/libs/equalizer.c:190,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/lua/libs/equalizer.c:194,1
    - Dst: strstr
      Src: /src/vlc/modules/lua/libs/equalizer.c:195,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/equalizer.c:197,1
    - Dst: aout_Release
      Src: /src/vlc/modules/lua/libs/equalizer.c:198,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/equalizer.c:201,1
    - Dst: luaL_checknumber
      Src: /src/vlc/modules/lua/libs/equalizer.c:203,1
    - Dst: var_GetString
      Src: /src/vlc/modules/lua/libs/equalizer.c:204,1
    - Dst: newlocale
      Src: /src/vlc/modules/lua/libs/equalizer.c:206,1
    - Dst: uselocale
      Src: /src/vlc/modules/lua/libs/equalizer.c:207,1
    - Dst: strtof
      Src: /src/vlc/modules/lua/libs/equalizer.c:211,1
    - Dst: strtof
      Src: /src/vlc/modules/lua/libs/equalizer.c:217,1
    - Dst: asprintf
      Src: /src/vlc/modules/lua/libs/equalizer.c:221,1
    - Dst: var_SetString
      Src: /src/vlc/modules/lua/libs/equalizer.c:223,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/equalizer.c:224,1
    - Dst: uselocale
      Src: /src/vlc/modules/lua/libs/equalizer.c:229,1
    - Dst: freelocale
      Src: /src/vlc/modules/lua/libs/equalizer.c:230,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/equalizer.c:232,1
    - Dst: aout_Release
      Src: /src/vlc/modules/lua/libs/equalizer.c:233,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 235
    functionName: vlclua_equalizer_set
    functionSourceFile: /src/vlc/modules/lua/libs/equalizer.c
    functionUses: 0
    functionsReached:
    - asprintf
    - var_GetString
    - var_GetNonEmptyString
    - free
    - luaL_checknumber
    - freelocale
    - strstr
    - newlocale
    - strtof
    - vlclua_get_aout_internal
    - var_SetString
    - uselocale
    - aout_Release
    linkageType: ''
    returnType: int
    signature: int vlclua_equalizer_set( lua_State *L )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checknumber
      Src: /src/vlc/modules/lua/libs/equalizer.c:242,1
    - Dst: vlclua_get_aout_internal
      Src: /src/vlc/modules/lua/libs/equalizer.c:246,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/lua/libs/equalizer.c:251,1
    - Dst: strstr
      Src: /src/vlc/modules/lua/libs/equalizer.c:252,1
    - Dst: var_SetString
      Src: /src/vlc/modules/lua/libs/equalizer.c:254,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/equalizer.c:257,1
    - Dst: aout_Release
      Src: /src/vlc/modules/lua/libs/equalizer.c:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 240
    functionDepth: 3
    functionLinenumber: 240
    functionLinenumberEnd: 260
    functionName: vlclua_equalizer_setpreset
    functionSourceFile: /src/vlc/modules/lua/libs/equalizer.c
    functionUses: 0
    functionsReached:
    - var_InheritString
    - luaL_checknumber
    - free
    - strstr
    - vlclua_get_aout_internal
    - var_SetString
    - aout_Release
    linkageType: ''
    returnType: int
    signature: int vlclua_equalizer_setpreset( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkboolean
      Src: /src/vlc/modules/lua/libs/equalizer.c:267,1
    - Dst: vlclua_get_aout_internal
      Src: /src/vlc/modules/lua/libs/equalizer.c:268,1
    - Dst: aout_EnableFilter
      Src: /src/vlc/modules/lua/libs/equalizer.c:271,1
    - Dst: aout_Release
      Src: /src/vlc/modules/lua/libs/equalizer.c:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 265
    functionDepth: 3
    functionLinenumber: 265
    functionLinenumberEnd: 275
    functionName: vlclua_equalizer_enable
    functionSourceFile: /src/vlc/modules/lua/libs/equalizer.c
    functionUses: 0
    functionsReached:
    - vlclua_get_aout_internal
    - aout_EnableFilter
    - luaL_checkboolean
    - aout_Release
    linkageType: ''
    returnType: int
    signature: int vlclua_equalizer_enable(lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/equalizer.c:281,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/equalizer.c:285,1
    - Dst: asprintf
      Src: /src/vlc/modules/lua/libs/equalizer.c:286,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/equalizer.c:288,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/equalizer.c:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 292
    functionName: vlclua_equalizer_get_presets
    functionSourceFile: /src/vlc/modules/lua/libs/equalizer.c
    functionUses: 0
    functionsReached:
    - lua_setfield
    - asprintf
    - lua_pushstring
    - lua_newtable
    - free
    linkageType: ''
    returnType: int
    signature: int vlclua_equalizer_get_presets( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/equalizer.c:307,1
    - Dst: luaL_register
      Src: /src/vlc/modules/lua/libs/equalizer.c:308,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/equalizer.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 310
    functionName: luaopen_equalizer
    functionSourceFile: /src/vlc/modules/lua/libs/equalizer.c
    functionUses: 1
    functionsReached:
    - lua_newtable
    - lua_setfield
    - luaL_register
    linkageType: ''
    returnType: void
    signature: void luaopen_equalizer( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_object
      Src: /src/vlc/modules/lua/libs/net.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: vlclua_get_dtable
    functionSourceFile: /src/vlc/modules/lua/libs/net.c
    functionUses: 0
    functionsReached:
    - vlclua_get_object
    linkageType: ''
    returnType: vlclua_dtable_t
    signature: vlclua_dtable_t *vlclua_get_dtable( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_dtable
      Src: /src/vlc/modules/lua/libs/net.c:57,1
    - Dst: vlc_interrupt_set
      Src: /src/vlc/modules/lua/libs/net.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: vlclua_set_interrupt
    functionSourceFile: /src/vlc/modules/lua/libs/net.c
    functionUses: 1
    functionsReached:
    - vlclua_get_dtable
    - vlc_interrupt_set
    linkageType: ''
    returnType: vlc_interrupt_t
    signature: vlc_interrupt_t *vlclua_set_interrupt( lua_State *L )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_dtable
      Src: /src/vlc/modules/lua/libs/net.c:64,1
    - Dst: assert
      Src: /src/vlc/modules/lua/libs/net.c:71,1
    - Dst: realloc
      Src: /src/vlc/modules/lua/libs/net.c:86,1
    - Dst: unlikely
      Src: /src/vlc/modules/lua/libs/net.c:87,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - L
    - fd
    argTypes:
    - lua_State*
    - int
    assertStmts:
    - condition: ( dt->fdv[i] != fd )
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/vlc/modules/lua/libs/net.c
    constantsTouched: []
    func_position:
      end: 95
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 95
    functionName: vlclua_fd_map
    functionSourceFile: /src/vlc/modules/lua/libs/net.c
    functionUses: 0
    functionsReached:
    - vlclua_get_dtable
    - assert
    - unlikely
    - realloc
    linkageType: ''
    returnType: int
    signature: int vlclua_fd_map( lua_State *L, int fd )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_fd_map
      Src: /src/vlc/modules/lua/libs/net.c:99,1
    - Dst: net_Close
      Src: /src/vlc/modules/lua/libs/net.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - L
    - fd
    argTypes:
    - lua_State*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: vlclua_fd_map_safe
    functionSourceFile: /src/vlc/modules/lua/libs/net.c
    functionUses: 0
    functionsReached:
    - net_Close
    - vlclua_fd_map
    linkageType: ''
    returnType: int
    signature: int vlclua_fd_map_safe( lua_State *L, int fd )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_dtable
      Src: /src/vlc/modules/lua/libs/net.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - L
    - idx
    argTypes:
    - lua_State*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: vlclua_fd_get
    functionSourceFile: /src/vlc/modules/lua/libs/net.c
    functionUses: 0
    functionsReached:
    - vlclua_get_dtable
    linkageType: ''
    returnType: int
    signature: int vlclua_fd_get( lua_State *L, unsigned idx )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_dtable
      Src: /src/vlc/modules/lua/libs/net.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - L
    - fd
    argTypes:
    - lua_State*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 127
    functionName: vlclua_fd_get_lua
    functionSourceFile: /src/vlc/modules/lua/libs/net.c
    functionUses: 0
    functionsReached:
    - vlclua_get_dtable
    linkageType: ''
    returnType: int
    signature: int vlclua_fd_get_lua( lua_State *L, int fd )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_dtable
      Src: /src/vlc/modules/lua/libs/net.c:132,1
    - Dst: assert
      Src: /src/vlc/modules/lua/libs/net.c:149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - L
    - idx
    argTypes:
    - lua_State*
    - unsigned
    assertStmts:
    - condition: ( dt->fdv[i] != fd )
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/vlc/modules/lua/libs/net.c
    constantsTouched: []
    func_position:
      end: 153
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 153
    functionName: vlclua_fd_unmap
    functionSourceFile: /src/vlc/modules/lua/libs/net.c
    functionUses: 0
    functionsReached:
    - vlclua_get_dtable
    - assert
    linkageType: ''
    returnType: void
    signature: void vlclua_fd_unmap( lua_State *L, unsigned idx )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_fd_get
      Src: /src/vlc/modules/lua/libs/net.c:157,1
    - Dst: vlclua_fd_unmap
      Src: /src/vlc/modules/lua/libs/net.c:159,1
    - Dst: net_Close
      Src: /src/vlc/modules/lua/libs/net.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - L
    - idx
    argTypes:
    - lua_State*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: vlclua_fd_unmap_safe
    functionSourceFile: /src/vlc/modules/lua/libs/net.c
    functionUses: 0
    functionsReached:
    - net_Close
    - vlclua_fd_get
    - vlclua_fd_unmap
    linkageType: ''
    returnType: void
    signature: void vlclua_fd_unmap_safe( lua_State *L, unsigned idx )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/net.c:179,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/net.c:180,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/net.c:181,1
    - Dst: net_ListenTCP
      Src: /src/vlc/modules/lua/libs/net.c:182,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/net.c:184,1
    - Dst: vlclua_fd_map
      Src: /src/vlc/modules/lua/libs/net.c:187,1
    - Dst: vlclua_fd_unmap
      Src: /src/vlc/modules/lua/libs/net.c:190,1
    - Dst: vlclua_fd_get_lua
      Src: /src/vlc/modules/lua/libs/net.c:190,1
    - Dst: net_ListenClose
      Src: /src/vlc/modules/lua/libs/net.c:192,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/net.c:193,1
    - Dst: lua_newuserdata
      Src: /src/vlc/modules/lua/libs/net.c:196,1
    - Dst: luaL_newmetatable
      Src: /src/vlc/modules/lua/libs/net.c:199,1
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/net.c:201,1
    - Dst: luaL_register
      Src: /src/vlc/modules/lua/libs/net.c:202,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/net.c:203,1
    - Dst: lua_pushcfunction
      Src: /src/vlc/modules/lua/libs/net.c:204,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/net.c:205,1
    - Dst: lua_setmetatable
      Src: /src/vlc/modules/lua/libs/net.c:208,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 210
    functionName: vlclua_net_listen_tcp
    functionSourceFile: /src/vlc/modules/lua/libs/net.c
    functionUses: 0
    functionsReached:
    - lua_setfield
    - lua_setmetatable
    - luaL_error
    - net_ListenClose
    - lua_newuserdata
    - vlclua_get_this
    - vlclua_fd_unmap
    - lua_newtable
    - luaL_checkstring
    - luaL_register
    - net_ListenTCP
    - vlclua_fd_map
    - vlclua_fd_get_lua
    - lua_pushcfunction
    - luaL_newmetatable
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_net_listen_tcp( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/net.c:214,1
    - Dst: vlclua_fd_unmap
      Src: /src/vlc/modules/lua/libs/net.c:218,1
    - Dst: vlclua_fd_get_lua
      Src: /src/vlc/modules/lua/libs/net.c:218,1
    - Dst: net_ListenClose
      Src: /src/vlc/modules/lua/libs/net.c:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 222
    functionName: vlclua_net_listen_close
    functionSourceFile: /src/vlc/modules/lua/libs/net.c
    functionUses: 0
    functionsReached:
    - vlclua_fd_get_lua
    - net_ListenClose
    - luaL_checkudata
    - vlclua_fd_unmap
    linkageType: ''
    returnType: int
    signature: int vlclua_net_listen_close( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/net.c:226,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/net.c:231,1
    - Dst: vlclua_fd_get_lua
      Src: /src/vlc/modules/lua/libs/net.c:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 234
    functionName: vlclua_net_fds
    functionSourceFile: /src/vlc/modules/lua/libs/net.c
    functionUses: 0
    functionsReached:
    - vlclua_fd_get_lua
    - lua_pushinteger
    - luaL_checkudata
    linkageType: ''
    returnType: int
    signature: int vlclua_net_fds( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/net.c:238,1
    - Dst: luaL_checkudata
      Src: /src/vlc/modules/lua/libs/net.c:239,1
    - Dst: net_Accept
      Src: /src/vlc/modules/lua/libs/net.c:240,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/net.c:242,1
    - Dst: vlclua_fd_map_safe
      Src: /src/vlc/modules/lua/libs/net.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 236
    functionDepth: 4
    functionLinenumber: 236
    functionLinenumberEnd: 244
    functionName: vlclua_net_accept
    functionSourceFile: /src/vlc/modules/lua/libs/net.c
    functionUses: 0
    functionsReached:
    - luaL_checkudata
    - net_Accept
    - vlclua_get_this
    - lua_pushinteger
    - vlclua_fd_map_safe
    linkageType: ''
    returnType: int
    signature: int vlclua_net_accept( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_get_this
      Src: /src/vlc/modules/lua/libs/net.c:251,1
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/net.c:252,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/net.c:253,1
    - Dst: net_ConnectTCP
      Src: /src/vlc/modules/lua/libs/net.c:254,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/net.c:255,1
    - Dst: vlclua_fd_map_safe
      Src: /src/vlc/modules/lua/libs/net.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 249
    functionDepth: 4
    functionLinenumber: 249
    functionLinenumberEnd: 257
    functionName: vlclua_net_connect_tcp
    functionSourceFile: /src/vlc/modules/lua/libs/net.c
    functionUses: 0
    functionsReached:
    - vlclua_get_this
    - lua_pushinteger
    - luaL_checkstring
    - net_ConnectTCP
    - vlclua_fd_map_safe
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_net_connect_tcp( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/net.c:261,1
    - Dst: vlclua_fd_unmap_safe
      Src: /src/vlc/modules/lua/libs/net.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 259
    functionDepth: 4
    functionLinenumber: 259
    functionLinenumberEnd: 264
    functionName: vlclua_net_close
    functionSourceFile: /src/vlc/modules/lua/libs/net.c
    functionUses: 0
    functionsReached:
    - vlclua_fd_unmap_safe
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_net_close( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_fd_get
      Src: /src/vlc/modules/lua/libs/net.c:268,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/net.c:268,1
    - Dst: luaL_checklstring
      Src: /src/vlc/modules/lua/libs/net.c:270,1
    - Dst: luaL_optinteger
      Src: /src/vlc/modules/lua/libs/net.c:272,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/net.c:273,1
    - Dst: vlc_send
      Src: /src/vlc/modules/lua/libs/net.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 266
    functionDepth: 3
    functionLinenumber: 266
    functionLinenumberEnd: 276
    functionName: vlclua_net_send
    functionSourceFile: /src/vlc/modules/lua/libs/net.c
    functionUses: 0
    functionsReached:
    - vlc_send
    - vlclua_fd_get
    - lua_pushinteger
    - luaL_optinteger
    - luaL_checkinteger
    - luaL_checklstring
    linkageType: ''
    returnType: int
    signature: int vlclua_net_send( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_fd_get
      Src: /src/vlc/modules/lua/libs/net.c:280,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/net.c:280,1
    - Dst: luaL_optinteger
      Src: /src/vlc/modules/lua/libs/net.c:281,1
    - Dst: recv
      Src: /src/vlc/modules/lua/libs/net.c:284,1
    - Dst: lua_pushlstring
      Src: /src/vlc/modules/lua/libs/net.c:286,1
    - Dst: lua_pushnil
      Src: /src/vlc/modules/lua/libs/net.c:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 278
    functionDepth: 3
    functionLinenumber: 278
    functionLinenumberEnd: 290
    functionName: vlclua_net_recv
    functionSourceFile: /src/vlc/modules/lua/libs/net.c
    functionUses: 0
    functionsReached:
    - recv
    - lua_pushnil
    - luaL_checkinteger
    - vlclua_fd_get
    - luaL_optinteger
    - lua_pushlstring
    linkageType: ''
    returnType: int
    signature: int vlclua_net_recv( lua_State *L )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checktype
      Src: /src/vlc/modules/lua/libs/net.c:298,1
    - Dst: lua_pushnil
      Src: /src/vlc/modules/lua/libs/net.c:301,1
    - Dst: lua_next
      Src: /src/vlc/modules/lua/libs/net.c:302,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/libs/net.c:305,1
    - Dst: xmalloc
      Src: /src/vlc/modules/lua/libs/net.c:308,1
    - Dst: xmalloc
      Src: /src/vlc/modules/lua/libs/net.c:309,1
    - Dst: lua_pushnil
      Src: /src/vlc/modules/lua/libs/net.c:311,1
    - Dst: lua_next
      Src: /src/vlc/modules/lua/libs/net.c:312,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/net.c:314,1
    - Dst: vlclua_fd_get
      Src: /src/vlc/modules/lua/libs/net.c:315,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/net.c:316,1
    - Dst: lua_pop
      Src: /src/vlc/modules/lua/libs/net.c:318,1
    - Dst: vlclua_set_interrupt
      Src: /src/vlc/modules/lua/libs/net.c:321,1
    - Dst: vlc_killed
      Src: /src/vlc/modules/lua/libs/net.c:326,1
    - Dst: vlc_poll_i11e
      Src: /src/vlc/modules/lua/libs/net.c:328,1
    - Dst: vlc_interrupt_set
      Src: /src/vlc/modules/lua/libs/net.c:332,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/net.c:336,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/net.c:337,1
    - Dst: lua_settable
      Src: /src/vlc/modules/lua/libs/net.c:338,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/net.c:340,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/net.c:342,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/net.c:343,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/net.c:346,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 296
    functionDepth: 3
    functionLinenumber: 296
    functionLinenumberEnd: 348
    functionName: vlclua_net_poll
    functionSourceFile: /src/vlc/modules/lua/libs/net.c
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - luaL_error
    - lua_next
    - vlclua_fd_get
    - luaL_checktype
    - vlclua_set_interrupt
    - lua_settable
    - vlc_interrupt_set
    - xmalloc
    - vlc_poll_i11e
    - lua_pushinteger
    - free
    - lua_pop
    - vlc_killed
    - luaL_checkinteger
    linkageType: ''
    returnType: int
    signature: int vlclua_net_poll( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_fd_get
      Src: /src/vlc/modules/lua/libs/net.c:362,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/net.c:362,1
    - Dst: luaL_checklstring
      Src: /src/vlc/modules/lua/libs/net.c:364,1
    - Dst: luaL_optinteger
      Src: /src/vlc/modules/lua/libs/net.c:366,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/net.c:367,1
    - Dst: vlc_write
      Src: /src/vlc/modules/lua/libs/net.c:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 360
    functionDepth: 3
    functionLinenumber: 360
    functionLinenumberEnd: 369
    functionName: vlclua_fd_write
    functionSourceFile: /src/vlc/modules/lua/libs/net.c
    functionUses: 0
    functionsReached:
    - vlc_write
    - vlclua_fd_get
    - lua_pushinteger
    - luaL_optinteger
    - luaL_checkinteger
    - luaL_checklstring
    linkageType: ''
    returnType: int
    signature: int vlclua_fd_write( lua_State *L )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_fd_get
      Src: /src/vlc/modules/lua/libs/net.c:373,1
    - Dst: luaL_checkinteger
      Src: /src/vlc/modules/lua/libs/net.c:373,1
    - Dst: luaL_optinteger
      Src: /src/vlc/modules/lua/libs/net.c:374,1
    - Dst: read
      Src: /src/vlc/modules/lua/libs/net.c:377,1
    - Dst: lua_pushlstring
      Src: /src/vlc/modules/lua/libs/net.c:379,1
    - Dst: lua_pushnil
      Src: /src/vlc/modules/lua/libs/net.c:381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 371
    functionDepth: 3
    functionLinenumber: 371
    functionLinenumberEnd: 383
    functionName: vlclua_fd_read
    functionSourceFile: /src/vlc/modules/lua/libs/net.c
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - luaL_checkinteger
    - vlclua_fd_get
    - read
    - luaL_optinteger
    - lua_pushlstring
    linkageType: ''
    returnType: int
    signature: int vlclua_fd_read( lua_State *L )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/net.c:391,1
    - Dst: vlc_stat
      Src: /src/vlc/modules/lua/libs/net.c:393,1
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/net.c:396,1
    - Dst: S_ISREG
      Src: /src/vlc/modules/lua/libs/net.c:397,1
    - Dst: lua_pushliteral
      Src: /src/vlc/modules/lua/libs/net.c:398,1
    - Dst: S_ISDIR
      Src: /src/vlc/modules/lua/libs/net.c:399,1
    - Dst: lua_pushliteral
      Src: /src/vlc/modules/lua/libs/net.c:400,1
    - Dst: S_ISCHR
      Src: /src/vlc/modules/lua/libs/net.c:402,1
    - Dst: lua_pushliteral
      Src: /src/vlc/modules/lua/libs/net.c:403,1
    - Dst: S_ISBLK
      Src: /src/vlc/modules/lua/libs/net.c:406,1
    - Dst: lua_pushliteral
      Src: /src/vlc/modules/lua/libs/net.c:407,1
    - Dst: S_ISFIFO
      Src: /src/vlc/modules/lua/libs/net.c:410,1
    - Dst: lua_pushliteral
      Src: /src/vlc/modules/lua/libs/net.c:411,1
    - Dst: S_ISLNK
      Src: /src/vlc/modules/lua/libs/net.c:414,1
    - Dst: lua_pushliteral
      Src: /src/vlc/modules/lua/libs/net.c:415,1
    - Dst: S_ISSOCK
      Src: /src/vlc/modules/lua/libs/net.c:418,1
    - Dst: lua_pushliteral
      Src: /src/vlc/modules/lua/libs/net.c:419,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/net.c:423,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/net.c:424,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/net.c:425,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/net.c:426,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/net.c:427,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/net.c:428,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/net.c:429,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/net.c:430,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/net.c:431,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/net.c:432,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/net.c:433,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/net.c:434,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/net.c:435,1
    - Dst: lua_pushinteger
      Src: /src/vlc/modules/lua/libs/net.c:436,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/net.c:437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 439
    functionName: vlclua_stat
    functionSourceFile: /src/vlc/modules/lua/libs/net.c
    functionUses: 0
    functionsReached:
    - lua_pushliteral
    - lua_setfield
    - S_ISFIFO
    - S_ISDIR
    - S_ISSOCK
    - lua_newtable
    - luaL_checkstring
    - S_ISREG
    - lua_pushinteger
    - S_ISLNK
    - vlc_stat
    - S_ISCHR
    - S_ISBLK
    linkageType: ''
    returnType: int
    signature: int vlclua_stat( lua_State *L )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkstring
      Src: /src/vlc/modules/lua/libs/net.c:443,1
    - Dst: vlc_opendir
      Src: /src/vlc/modules/lua/libs/net.c:447,1
    - Dst: luaL_error
      Src: /src/vlc/modules/lua/libs/net.c:448,1
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/net.c:450,1
    - Dst: vlc_readdir
      Src: /src/vlc/modules/lua/libs/net.c:453,1
    - Dst: lua_pushstring
      Src: /src/vlc/modules/lua/libs/net.c:456,1
    - Dst: lua_rawseti
      Src: /src/vlc/modules/lua/libs/net.c:457,1
    - Dst: vlc_closedir
      Src: /src/vlc/modules/lua/libs/net.c:459,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 461
    functionName: vlclua_opendir
    functionSourceFile: /src/vlc/modules/lua/libs/net.c
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - luaL_error
    - lua_rawseti
    - vlc_closedir
    - lua_newtable
    - luaL_checkstring
    - vlc_readdir
    - vlc_opendir
    linkageType: ''
    returnType: int
    signature: int vlclua_opendir( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/vlc/modules/lua/libs/net.c:487,1
    - Dst: luaL_register
      Src: /src/vlc/modules/lua/libs/net.c:488,1
    - Dst: ADD_CONSTANT
      Src: /src/vlc/modules/lua/libs/net.c:492,1
    - Dst: ADD_CONSTANT
      Src: /src/vlc/modules/lua/libs/net.c:493,1
    - Dst: ADD_CONSTANT
      Src: /src/vlc/modules/lua/libs/net.c:494,1
    - Dst: ADD_CONSTANT
      Src: /src/vlc/modules/lua/libs/net.c:495,1
    - Dst: ADD_CONSTANT
      Src: /src/vlc/modules/lua/libs/net.c:496,1
    - Dst: ADD_CONSTANT
      Src: /src/vlc/modules/lua/libs/net.c:497,1
    - Dst: lua_setfield
      Src: /src/vlc/modules/lua/libs/net.c:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 499
    functionName: luaopen_net_intf
    functionSourceFile: /src/vlc/modules/lua/libs/net.c
    functionUses: 0
    functionsReached:
    - lua_newtable
    - ADD_CONSTANT
    - lua_setfield
    - luaL_register
    linkageType: ''
    returnType: void
    signature: void luaopen_net_intf( lua_State *L )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 492
    functionName: ADD_CONSTANT
    functionSourceFile: /src/vlc/modules/lua/libs/net.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_CONSTANT( value )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_interrupt_create
      Src: /src/vlc/modules/lua/libs/net.c:503,1
    - Dst: unlikely
      Src: /src/vlc/modules/lua/libs/net.c:504,1
    - Dst: vlclua_set_object
      Src: /src/vlc/modules/lua/libs/net.c:508,1
    - Dst: luaopen_net_intf
      Src: /src/vlc/modules/lua/libs/net.c:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - L
    - dt
    argTypes:
    - lua_State*
    - vlclua_dtable_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 501
    functionDepth: 2
    functionLinenumber: 501
    functionLinenumberEnd: 511
    functionName: vlclua_fd_init
    functionSourceFile: /src/vlc/modules/lua/libs/net.c
    functionUses: 2
    functionsReached:
    - luaopen_net_intf
    - vlc_interrupt_create
    - vlclua_set_object
    - unlikely
    linkageType: ''
    returnType: int
    signature: int vlclua_fd_init( lua_State *L, vlclua_dtable_t *dt )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_interrupt_kill
      Src: /src/vlc/modules/lua/libs/net.c:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dt
    argTypes:
    - vlclua_dtable_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 516
    functionName: vlclua_fd_interrupt
    functionSourceFile: /src/vlc/modules/lua/libs/net.c
    functionUses: 4
    functionsReached:
    - vlc_interrupt_kill
    linkageType: ''
    returnType: void
    signature: void vlclua_fd_interrupt( vlclua_dtable_t *dt )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: net_Close
      Src: /src/vlc/modules/lua/libs/net.c:523,1
    - Dst: free
      Src: /src/vlc/modules/lua/libs/net.c:524,1
    - Dst: vlc_interrupt_destroy
      Src: /src/vlc/modules/lua/libs/net.c:525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - dt
    argTypes:
    - vlclua_dtable_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 526
    functionName: vlclua_fd_cleanup
    functionSourceFile: /src/vlc/modules/lua/libs/net.c
    functionUses: 5
    functionsReached:
    - free
    - net_Close
    - vlc_interrupt_destroy
    linkageType: ''
    returnType: void
    signature: void vlclua_fd_cleanup( vlclua_dtable_t *dt )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vasprintf
      Src: /src/vlc/modules/logger/journal.c:46,1
    - Dst: sd_journal_send
      Src: /src/vlc/modules/logger/journal.c:49,1
    - Dst: free
      Src: /src/vlc/modules/logger/journal.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - opaque
    - type
    - meta
    - format
    - ap
    argTypes:
    - void*
    - int
    - vlc_log_t*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 65
    functionName: Log
    functionSourceFile: /src/vlc/modules/logger/journal.c
    functionUses: 1
    functionsReached:
    - free
    - sd_journal_send
    - vasprintf
    linkageType: ''
    returnType: void
    signature: "void Log(void *opaque, int type, const vlc_log_t *meta,\n                const
      char *format, va_list ap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritBool
      Src: /src/vlc/modules/logger/journal.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - obj
    - sysp
    argTypes:
    - vlc_object_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: Open
    functionSourceFile: /src/vlc/modules/logger/journal.c
    functionUses: 1
    functionsReached:
    - var_InheritBool
    linkageType: ''
    returnType: struct vlc_logger_operations
    signature: struct vlc_logger_operations *Open(vlc_object_t *obj, void **sysp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flockfile
      Src: /src/vlc/modules/logger/file.c:62,1
    - Dst: fprintf
      Src: /src/vlc/modules/logger/file.c:63,1
    - Dst: vfprintf
      Src: /src/vlc/modules/logger/file.c:64,1
    - Dst: putc_unlocked
      Src: /src/vlc/modules/logger/file.c:65,1
    - Dst: funlockfile
      Src: /src/vlc/modules/logger/file.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - opaque
    - type
    - meta
    - format
    - ap
    argTypes:
    - void*
    - int
    - vlc_log_t*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 67
    functionName: LogText
    functionSourceFile: /src/vlc/modules/logger/file.c
    functionUses: 0
    functionsReached:
    - fprintf
    - flockfile
    - putc_unlocked
    - funlockfile
    - vfprintf
    linkageType: ''
    returnType: void
    signature: "void LogText(void *opaque, int type, const vlc_log_t *meta,\n                    const
      char *format, va_list ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/vlc/modules/logger/file.c:73,1
    - Dst: fclose
      Src: /src/vlc/modules/logger/file.c:74,1
    - Dst: free
      Src: /src/vlc/modules/logger/file.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: Close
    functionSourceFile: /src/vlc/modules/logger/file.c
    functionUses: 10
    functionsReached:
    - fputs
    - free
    - fclose
    linkageType: ''
    returnType: void
    signature: void Close(void *opaque)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flockfile
      Src: /src/vlc/modules/logger/file.c:115,1
    - Dst: fprintf
      Src: /src/vlc/modules/logger/file.c:116,1
    - Dst: vfprintf
      Src: /src/vlc/modules/logger/file.c:119,1
    - Dst: fputs
      Src: /src/vlc/modules/logger/file.c:120,1
    - Dst: funlockfile
      Src: /src/vlc/modules/logger/file.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - opaque
    - type
    - meta
    - format
    - ap
    argTypes:
    - void*
    - int
    - vlc_log_t*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 122
    functionName: LogHtml
    functionSourceFile: /src/vlc/modules/logger/file.c
    functionUses: 0
    functionsReached:
    - fprintf
    - flockfile
    - fputs
    - funlockfile
    - vfprintf
    linkageType: ''
    returnType: void
    signature: "void LogHtml(void *opaque, int type, const vlc_log_t *meta,\n                    const
      char *format, va_list ap)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritBool
      Src: /src/vlc/modules/logger/file.c:133,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/logger/file.c:136,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/logger/file.c:138,1
    - Dst: malloc
      Src: /src/vlc/modules/logger/file.c:144,1
    - Dst: unlikely
      Src: /src/vlc/modules/logger/file.c:145,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/logger/file.c:155,1
    - Dst: strcmp
      Src: /src/vlc/modules/logger/file.c:158,1
    - Dst: strcmp
      Src: /src/vlc/modules/logger/file.c:165,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/logger/file.c:166,1
    - Dst: free
      Src: /src/vlc/modules/logger/file.c:167,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/logger/file.c:170,1
    - Dst: config_GetUserDir
      Src: /src/vlc/modules/logger/file.c:174,1
    - Dst: asprintf
      Src: /src/vlc/modules/logger/file.c:177,1
    - Dst: free
      Src: /src/vlc/modules/logger/file.c:179,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/logger/file.c:187,1
    - Dst: vlc_fopen
      Src: /src/vlc/modules/logger/file.c:188,1
    - Dst: msg_Err
      Src: /src/vlc/modules/logger/file.c:191,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/logger/file.c:192,1
    - Dst: free
      Src: /src/vlc/modules/logger/file.c:193,1
    - Dst: free
      Src: /src/vlc/modules/logger/file.c:194,1
    - Dst: free
      Src: /src/vlc/modules/logger/file.c:197,1
    - Dst: setvbuf
      Src: /src/vlc/modules/logger/file.c:199,1
    - Dst: fputs
      Src: /src/vlc/modules/logger/file.c:200,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 2
    argNames:
    - obj
    - sysp
    argTypes:
    - vlc_object_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 204
    functionName: Open
    functionSourceFile: /src/vlc/modules/logger/file.c
    functionUses: 1
    functionsReached:
    - asprintf
    - vlc_strerror_c
    - var_InheritString
    - var_InheritInteger
    - var_InheritBool
    - msg_Err
    - free
    - strcmp
    - vlc_fopen
    - setvbuf
    - msg_Dbg
    - fputs
    - msg_Warn
    - config_GetUserDir
    - unlikely
    - malloc
    linkageType: ''
    returnType: struct vlc_logger_operations
    signature: "struct vlc_logger_operations *Open(vlc_object_t *obj,\n                                                void
      **restrict sysp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vasprintf
      Src: /src/vlc/modules/logger/syslog.c:47,1
    - Dst: syslog
      Src: /src/vlc/modules/logger/syslog.c:51,1
    - Dst: syslog
      Src: /src/vlc/modules/logger/syslog.c:54,1
    - Dst: free
      Src: /src/vlc/modules/logger/syslog.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - opaque
    - type
    - meta
    - format
    - ap
    argTypes:
    - void*
    - int
    - vlc_log_t*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 59
    functionName: Log
    functionSourceFile: /src/vlc/modules/logger/syslog.c
    functionUses: 1
    functionsReached:
    - free
    - syslog
    - vasprintf
    linkageType: ''
    returnType: void
    signature: "void Log(void *opaque, int type, const vlc_log_t *meta,\n                const
      char *format, va_list ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: DEF
    functionSourceFile: /src/vlc/modules/logger/syslog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEF(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: DEF
    functionSourceFile: /src/vlc/modules/logger/syslog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEF(a,b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritString
      Src: /src/vlc/modules/logger/syslog.c:84,1
    - Dst: unlikely
      Src: /src/vlc/modules/logger/syslog.c:85,1
    - Dst: strcmp
      Src: /src/vlc/modules/logger/syslog.c:90,1
    - Dst: free
      Src: /src/vlc/modules/logger/syslog.c:92,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/logger/syslog.c:97,1
    - Dst: free
      Src: /src/vlc/modules/logger/syslog.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - obj
    - varname
    argTypes:
    - vlc_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 100
    functionName: var_InheritFacility
    functionSourceFile: /src/vlc/modules/logger/syslog.c
    functionUses: 0
    functionsReached:
    - var_InheritString
    - free
    - strcmp
    - msg_Warn
    - unlikely
    linkageType: ''
    returnType: int
    signature: int var_InheritFacility(vlc_object_t *obj, const char *varname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: closelog
      Src: /src/vlc/modules/logger/syslog.c:108,1
    - Dst: free
      Src: /src/vlc/modules/logger/syslog.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: Close
    functionSourceFile: /src/vlc/modules/logger/syslog.c
    functionUses: 10
    functionsReached:
    - closelog
    - free
    linkageType: ''
    returnType: void
    signature: void Close(void *opaque)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritBool
      Src: /src/vlc/modules/logger/syslog.c:118,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/logger/syslog.c:121,1
    - Dst: var_InheritFacility
      Src: /src/vlc/modules/logger/syslog.c:127,1
    - Dst: openlog
      Src: /src/vlc/modules/logger/syslog.c:129,1
    - Dst: LOG_MASK
      Src: /src/vlc/modules/logger/syslog.c:132,1
    - Dst: LOG_MASK
      Src: /src/vlc/modules/logger/syslog.c:132,1
    - Dst: LOG_MASK
      Src: /src/vlc/modules/logger/syslog.c:132,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/logger/syslog.c:133,1
    - Dst: LOG_MASK
      Src: /src/vlc/modules/logger/syslog.c:134,1
    - Dst: setlogmask
      Src: /src/vlc/modules/logger/syslog.c:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - obj
    - sysp
    argTypes:
    - vlc_object_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 139
    functionName: Open
    functionSourceFile: /src/vlc/modules/logger/syslog.c
    functionUses: 1
    functionsReached:
    - var_InheritString
    - LOG_MASK
    - var_InheritBool
    - openlog
    - var_InheritFacility
    - setlogmask
    linkageType: ''
    returnType: struct vlc_logger_operations
    signature: "struct vlc_logger_operations *Open(vlc_object_t *obj,\n                                                void
      **restrict sysp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ts
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: TIME_FROM_TICK
    functionSourceFile: /src/vlc/modules/logger/json.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIME_FROM_TICK(ts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/modules/logger/json.c:56,1
    - Dst: fprintf
      Src: /src/vlc/modules/logger/json.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - stream
    - character
    argTypes:
    - FILE*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 72
    functionName: PrintUTF8Char
    functionSourceFile: /src/vlc/modules/logger/json.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void PrintUTF8Char(FILE *stream, uint32_t character)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: IsUTF8
      Src: /src/vlc/modules/logger/json.c:76,1
    - Dst: fputs
      Src: /src/vlc/modules/logger/json.c:78,1
    - Dst: fputc
      Src: /src/vlc/modules/logger/json.c:82,1
    - Dst: fputs
      Src: /src/vlc/modules/logger/json.c:90,1
    - Dst: fputs
      Src: /src/vlc/modules/logger/json.c:93,1
    - Dst: fputs
      Src: /src/vlc/modules/logger/json.c:96,1
    - Dst: fputs
      Src: /src/vlc/modules/logger/json.c:99,1
    - Dst: fputs
      Src: /src/vlc/modules/logger/json.c:102,1
    - Dst: fputs
      Src: /src/vlc/modules/logger/json.c:105,1
    - Dst: fprintf
      Src: /src/vlc/modules/logger/json.c:109,1
    - Dst: fprintf
      Src: /src/vlc/modules/logger/json.c:115,1
    - Dst: fputc
      Src: /src/vlc/modules/logger/json.c:119,1
    - Dst: vlc_towc
      Src: /src/vlc/modules/logger/json.c:124,1
    - Dst: assert
      Src: /src/vlc/modules/logger/json.c:125,1
    - Dst: PrintUTF8Char
      Src: /src/vlc/modules/logger/json.c:126,1
    - Dst: fputc
      Src: /src/vlc/modules/logger/json.c:132,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 2
    argNames:
    - stream
    - str
    argTypes:
    - FILE*
    - char*
    assertStmts:
    - condition: (len > 0)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/vlc/modules/logger/json.c
    constantsTouched: []
    func_position:
      end: 133
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 133
    functionName: JsonPrintString
    functionSourceFile: /src/vlc/modules/logger/json.c
    functionUses: 0
    functionsReached:
    - fputc
    - assert
    - IsUTF8
    - fprintf
    - PrintUTF8Char
    - fputs
    - vlc_towc
    linkageType: ''
    returnType: void
    signature: void JsonPrintString(FILE *stream, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JsonPrintString
      Src: /src/vlc/modules/logger/json.c:137,1
    - Dst: fprintf
      Src: /src/vlc/modules/logger/json.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - stream
    - key
    - value
    argTypes:
    - FILE*
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: JsonPrintKeyValueNumber
    functionSourceFile: /src/vlc/modules/logger/json.c
    functionUses: 0
    functionsReached:
    - fprintf
    - JsonPrintString
    linkageType: ''
    returnType: void
    signature: void JsonPrintKeyValueNumber(FILE *stream, const char *key, int64_t
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JsonPrintString
      Src: /src/vlc/modules/logger/json.c:143,1
    - Dst: fprintf
      Src: /src/vlc/modules/logger/json.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - stream
    - key
    - value
    argTypes:
    - FILE*
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: JsonPrintKeyValueUnsigned
    functionSourceFile: /src/vlc/modules/logger/json.c
    functionUses: 0
    functionsReached:
    - fprintf
    - JsonPrintString
    linkageType: ''
    returnType: void
    signature: void JsonPrintKeyValueUnsigned(FILE *stream, const char *key, uint64_t
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JsonPrintString
      Src: /src/vlc/modules/logger/json.c:149,1
    - Dst: vlc_fprintf_c
      Src: /src/vlc/modules/logger/json.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - stream
    - key
    - value
    argTypes:
    - FILE*
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: JsonPrintKeyValueNumberFromDouble
    functionSourceFile: /src/vlc/modules/logger/json.c
    functionUses: 0
    functionsReached:
    - JsonPrintString
    - vlc_fprintf_c
    linkageType: ''
    returnType: void
    signature: void JsonPrintKeyValueNumberFromDouble(FILE *stream, const char *key,
      double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JsonPrintString
      Src: /src/vlc/modules/logger/json.c:155,1
    - Dst: fputs
      Src: /src/vlc/modules/logger/json.c:156,1
    - Dst: JsonPrintString
      Src: /src/vlc/modules/logger/json.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - stream
    - key
    - value
    argTypes:
    - FILE*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: JsonPrintKeyValueLabel
    functionSourceFile: /src/vlc/modules/logger/json.c
    functionUses: 0
    functionsReached:
    - fputs
    - JsonPrintString
    linkageType: ''
    returnType: void
    signature: void JsonPrintKeyValueLabel(FILE *stream, const char *key, const char
      *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/modules/logger/json.c:163,1
    - Dst: fputc
      Src: /src/vlc/modules/logger/json.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - name
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: JsonStartObjectSection
    functionSourceFile: /src/vlc/modules/logger/json.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fputc
    linkageType: ''
    returnType: void
    signature: void JsonStartObjectSection(FILE *stream, const char* name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/vlc/modules/logger/json.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: JsonEndObjectSection
    functionSourceFile: /src/vlc/modules/logger/json.c
    functionUses: 0
    functionsReached:
    - fputc
    linkageType: ''
    returnType: void
    signature: void JsonEndObjectSection(FILE *stream)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: flockfile
      Src: /src/vlc/modules/logger/json.c:178,1
    - Dst: JsonStartObjectSection
      Src: /src/vlc/modules/logger/json.c:179,1
    - Dst: JsonPrintKeyValueNumber
      Src: /src/vlc/modules/logger/json.c:180,1
    - Dst: TIME_FROM_TICK
      Src: /src/vlc/modules/logger/json.c:180,1
    - Dst: fputc
      Src: /src/vlc/modules/logger/json.c:181,1
    - Dst: JsonStartObjectSection
      Src: /src/vlc/modules/logger/json.c:183,1
    - Dst: JsonPrintKeyValueUnsigned
      Src: /src/vlc/modules/logger/json.c:191,1
    - Dst: JsonPrintKeyValueNumber
      Src: /src/vlc/modules/logger/json.c:194,1
    - Dst: JsonPrintKeyValueNumberFromDouble
      Src: /src/vlc/modules/logger/json.c:197,1
    - Dst: JsonPrintKeyValueLabel
      Src: /src/vlc/modules/logger/json.c:200,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/logger/json.c:203,1
    - Dst: fputc
      Src: /src/vlc/modules/logger/json.c:209,1
    - Dst: JsonEndObjectSection
      Src: /src/vlc/modules/logger/json.c:212,1
    - Dst: JsonEndObjectSection
      Src: /src/vlc/modules/logger/json.c:213,1
    - Dst: fputc
      Src: /src/vlc/modules/logger/json.c:214,1
    - Dst: funlockfile
      Src: /src/vlc/modules/logger/json.c:215,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - opaque
    - ts
    - trace
    argTypes:
    - void*
    - vlc_tick_t
    - struct vlc_tracer_trace*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 216
    functionName: TraceJson
    functionSourceFile: /src/vlc/modules/logger/json.c
    functionUses: 0
    functionsReached:
    - fputc
    - JsonPrintKeyValueUnsigned
    - vlc_assert_unreachable
    - JsonPrintKeyValueNumberFromDouble
    - JsonStartObjectSection
    - flockfile
    - JsonPrintKeyValueLabel
    - JsonPrintKeyValueNumber
    - TIME_FROM_TICK
    - funlockfile
    - JsonEndObjectSection
    linkageType: ''
    returnType: void
    signature: void TraceJson(void *opaque, vlc_tick_t ts, const struct vlc_tracer_trace
      *trace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/vlc/modules/logger/json.c:221,1
    - Dst: free
      Src: /src/vlc/modules/logger/json.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: Close
    functionSourceFile: /src/vlc/modules/logger/json.c
    functionUses: 10
    functionsReached:
    - free
    - fclose
    linkageType: ''
    returnType: void
    signature: void Close(void *opaque)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/logger/json.c:234,1
    - Dst: unlikely
      Src: /src/vlc/modules/logger/json.c:235,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/logger/json.c:240,1
    - Dst: config_GetUserDir
      Src: /src/vlc/modules/logger/json.c:244,1
    - Dst: asprintf
      Src: /src/vlc/modules/logger/json.c:247,1
    - Dst: free
      Src: /src/vlc/modules/logger/json.c:249,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/logger/json.c:257,1
    - Dst: vlc_fopen
      Src: /src/vlc/modules/logger/json.c:258,1
    - Dst: msg_Err
      Src: /src/vlc/modules/logger/json.c:261,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/logger/json.c:262,1
    - Dst: free
      Src: /src/vlc/modules/logger/json.c:263,1
    - Dst: free
      Src: /src/vlc/modules/logger/json.c:264,1
    - Dst: free
      Src: /src/vlc/modules/logger/json.c:267,1
    - Dst: setvbuf
      Src: /src/vlc/modules/logger/json.c:269,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - obj
    - sysp
    argTypes:
    - vlc_object_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 273
    functionName: Open
    functionSourceFile: /src/vlc/modules/logger/json.c
    functionUses: 1
    functionsReached:
    - asprintf
    - vlc_strerror_c
    - var_InheritString
    - msg_Err
    - free
    - vlc_fopen
    - setvbuf
    - msg_Dbg
    - config_GetUserDir
    - unlikely
    - malloc
    linkageType: ''
    returnType: struct vlc_tracer_operations
    signature: "struct vlc_tracer_operations *Open(vlc_object_t *obj,\n                                               void
      **restrict sysp)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/vlc/modules/logger/android.c:49,1
    - Dst: __android_log_vprint
      Src: /src/vlc/modules/logger/android.c:67,1
    - Dst: free
      Src: /src/vlc/modules/logger/android.c:68,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - opaque
    - type
    - p_item
    - format
    - ap
    argTypes:
    - void*
    - int
    - vlc_log_t*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 69
    functionName: AndroidPrintMsg
    functionSourceFile: /src/vlc/modules/logger/android.c
    functionUses: 0
    functionsReached:
    - free
    - asprintf
    - __android_log_vprint
    linkageType: ''
    returnType: void
    signature: "void AndroidPrintMsg(void *opaque, int type, const vlc_log_t *p_item,\n
      \                           const char *format, va_list ap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/logger/android.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - obj
    - sysp
    argTypes:
    - vlc_object_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: Open
    functionSourceFile: /src/vlc/modules/logger/android.c
    functionUses: 1
    functionsReached:
    - var_InheritInteger
    linkageType: ''
    returnType: struct vlc_logger_operations
    signature: struct vlc_logger_operations *Open(vlc_object_t *obj, void **sysp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vasprintf
      Src: /src/vlc/modules/logger/console.c:49,1
    - Dst: ToLocale
      Src: /src/vlc/modules/logger/console.c:52,1
    - Dst: free
      Src: /src/vlc/modules/logger/console.c:54,1
    - Dst: fputs
      Src: /src/vlc/modules/logger/console.c:59,1
    - Dst: LocaleFree
      Src: /src/vlc/modules/logger/console.c:61,1
    - Dst: free
      Src: /src/vlc/modules/logger/console.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - stream
    - format
    - ap
    argTypes:
    - FILE*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 65
    functionName: OS2ConsoleOutput
    functionSourceFile: /src/vlc/modules/logger/console.c
    functionUses: 0
    functionsReached:
    - ToLocale
    - vasprintf
    - LocaleFree
    - fputs
    - free
    linkageType: ''
    returnType: int
    signature: int OS2ConsoleOutput(FILE *stream, const char *format, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: COL
    functionSourceFile: /src/vlc/modules/logger/console.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COL(x,y)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: flockfile
      Src: /src/vlc/modules/logger/console.c:85,1
    - Dst: fprintf
      Src: /src/vlc/modules/logger/console.c:86,1
    - Dst: fprintf
      Src: /src/vlc/modules/logger/console.c:89,1
    - Dst: fprintf
      Src: /src/vlc/modules/logger/console.c:90,1
    - Dst: OS2ConsoleOutput
      Src: /src/vlc/modules/logger/console.c:93,1
    - Dst: vfprintf
      Src: /src/vlc/modules/logger/console.c:95,1
    - Dst: fputs
      Src: /src/vlc/modules/logger/console.c:96,1
    - Dst: funlockfile
      Src: /src/vlc/modules/logger/console.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - opaque
    - type
    - meta
    - format
    - ap
    argTypes:
    - void*
    - int
    - vlc_log_t*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 98
    functionName: LogConsoleColor
    functionSourceFile: /src/vlc/modules/logger/console.c
    functionUses: 0
    functionsReached:
    - fprintf
    - flockfile
    - fputs
    - OS2ConsoleOutput
    - funlockfile
    - vfprintf
    linkageType: ''
    returnType: void
    signature: "void LogConsoleColor(void *opaque, int type, const vlc_log_t *meta,\n
      \                           const char *format, va_list ap)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: flockfile
      Src: /src/vlc/modules/logger/console.c:115,1
    - Dst: fprintf
      Src: /src/vlc/modules/logger/console.c:116,1
    - Dst: fprintf
      Src: /src/vlc/modules/logger/console.c:118,1
    - Dst: fprintf
      Src: /src/vlc/modules/logger/console.c:119,1
    - Dst: OS2ConsoleOutput
      Src: /src/vlc/modules/logger/console.c:122,1
    - Dst: vfprintf
      Src: /src/vlc/modules/logger/console.c:124,1
    - Dst: putc_unlocked
      Src: /src/vlc/modules/logger/console.c:125,1
    - Dst: funlockfile
      Src: /src/vlc/modules/logger/console.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - opaque
    - type
    - meta
    - format
    - ap
    argTypes:
    - void*
    - int
    - vlc_log_t*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 127
    functionName: LogConsoleGray
    functionSourceFile: /src/vlc/modules/logger/console.c
    functionUses: 0
    functionsReached:
    - fprintf
    - flockfile
    - putc_unlocked
    - OS2ConsoleOutput
    - funlockfile
    - vfprintf
    linkageType: ''
    returnType: void
    signature: "void LogConsoleGray(void *opaque, int type, const vlc_log_t *meta,\n
      \                          const char *format, va_list ap)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritBool
      Src: /src/vlc/modules/logger/console.c:140,1
    - Dst: getenv
      Src: /src/vlc/modules/logger/console.c:142,1
    - Dst: atoi
      Src: /src/vlc/modules/logger/console.c:144,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/logger/console.c:146,1
    - Dst: isatty
      Src: /src/vlc/modules/logger/console.c:159,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/logger/console.c:159,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - obj
    - sysp
    argTypes:
    - vlc_object_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 163
    functionName: Open
    functionSourceFile: /src/vlc/modules/logger/console.c
    functionUses: 1
    functionsReached:
    - atoi
    - var_InheritInteger
    - var_InheritBool
    - isatty
    - getenv
    linkageType: ''
    returnType: struct vlc_logger_operations
    signature: "struct vlc_logger_operations *Open(vlc_object_t *obj,\n                                                void
      **restrict sysp)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vasprintf
      Src: /src/vlc/modules/logger/emscripten.c:43,1
    - Dst: emscripten_log
      Src: /src/vlc/modules/logger/emscripten.c:61,1
    - Dst: free
      Src: /src/vlc/modules/logger/emscripten.c:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 5
    argNames:
    - opaque
    - type
    - p_item
    - format
    - ap
    argTypes:
    - void*
    - int
    - vlc_log_t*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 65
    functionName: EmscriptenPrintMsg
    functionSourceFile: /src/vlc/modules/logger/emscripten.c
    functionUses: 0
    functionsReached:
    - free
    - emscripten_log
    - vasprintf
    linkageType: ''
    returnType: void
    signature: "void EmscriptenPrintMsg(void *opaque, int type, const vlc_log_t *p_item,\n
      \                              const char *format, va_list ap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/logger/emscripten.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - obj
    - sysp
    argTypes:
    - vlc_object_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: Open
    functionSourceFile: /src/vlc/modules/logger/emscripten.c
    functionUses: 1
    functionsReached:
    - var_InheritInteger
    linkageType: ''
    returnType: struct vlc_logger_operations
    signature: struct vlc_logger_operations *Open(vlc_object_t *obj, void **sysp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/access/nfs.c:109,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/access/nfs.c:112,1
    - Dst: _
      Src: /src/vlc/modules/access/nfs.c:113,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/nfs.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - p_access
    - i_status
    - psz_error
    - psz_func
    argTypes:
    - stream_t*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 123
    functionName: nfs_check_status
    functionSourceFile: /src/vlc/modules/access/nfs.c
    functionUses: 0
    functionsReached:
    - msg_Warn
    - _
    - vlc_dialog_display_error
    - msg_Err
    linkageType: ''
    returnType: bool
    signature: "bool nfs_check_status(stream_t *p_access, int i_status, const char
      *psz_error,\n                 const char *psz_func)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p_access
    - ','
    - i_status
    - ','
    - p_data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: NFS_CHECK_STATUS
    functionSourceFile: /src/vlc/modules/access/nfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NFS_CHECK_STATUS(p_access, i_status, p_data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pf_until_cb
      Src: /src/vlc/modules/access/nfs.c:133,1
    - Dst: rpc_get_fd
      Src: /src/vlc/modules/access/nfs.c:137,1
    - Dst: rpc_which_events
      Src: /src/vlc/modules/access/nfs.c:138,1
    - Dst: vlc_poll_i11e
      Src: /src/vlc/modules/access/nfs.c:140,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/nfs.c:143,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/nfs.c:145,1
    - Dst: rpc_service
      Src: /src/vlc/modules/access/nfs.c:149,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/nfs.c:151,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - p_access
    - p_rpc_ctx
    argTypes:
    - stream_t*
    - struct rpc_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 156
    functionName: vlc_rpc_mainloop
    functionSourceFile: /src/vlc/modules/access/nfs.c
    functionUses: 0
    functionsReached:
    - rpc_service
    - rpc_get_fd
    - rpc_which_events
    - msg_Err
    - vlc_poll_i11e
    - msg_Warn
    - pf_until_cb
    linkageType: ''
    returnType: int
    signature: "int vlc_rpc_mainloop(stream_t *p_access, struct rpc_context *p_rpc_ctx,\n
      \                bool (*pf_until_cb)(stream_t *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/nfs.c:162,1
    - Dst: vlc_rpc_mainloop
      Src: /src/vlc/modules/access/nfs.c:163,1
    - Dst: nfs_get_rpc_context
      Src: /src/vlc/modules/access/nfs.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts:
    - condition: (p_sys->p_nfs != NULL)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/vlc/modules/access/nfs.c
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: vlc_nfs_mainloop
    functionSourceFile: /src/vlc/modules/access/nfs.c
    functionUses: 0
    functionsReached:
    - vlc_rpc_mainloop
    - assert
    - nfs_get_rpc_context
    linkageType: ''
    returnType: int
    signature: int vlc_nfs_mainloop(stream_t *p_access, bool (*pf_until_cb)(stream_t
      *))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/nfs.c:171,1
    - Dst: vlc_rpc_mainloop
      Src: /src/vlc/modules/access/nfs.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts:
    - condition: (p_sys->p_mount != NULL)
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/vlc/modules/access/nfs.c
    constantsTouched: []
    func_position:
      end: 173
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 173
    functionName: vlc_mount_mainloop
    functionSourceFile: /src/vlc/modules/access/nfs.c
    functionUses: 0
    functionsReached:
    - vlc_rpc_mainloop
    - assert
    linkageType: ''
    returnType: int
    signature: int vlc_mount_mainloop(stream_t *p_access, bool (*pf_until_cb)(stream_t
      *))
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/nfs.c:179,1
    - Dst: assert
      Src: /src/vlc/modules/access/nfs.c:182,1
    - Dst: NFS_CHECK_STATUS
      Src: /src/vlc/modules/access/nfs.c:183,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/nfs.c:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - i_status
    - p_nfs
    - p_data
    - p_private_data
    argTypes:
    - int
    - struct nfs_context*
    - void*
    - void*
    assertStmts:
    - condition: (p_sys->p_nfs == p_nfs)
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/vlc/modules/access/nfs.c
    constantsTouched: []
    func_position:
      end: 194
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 194
    functionName: nfs_read_cb
    functionSourceFile: /src/vlc/modules/access/nfs.c
    functionUses: 0
    functionsReached:
    - assert
    - memcpy
    - NFS_CHECK_STATUS
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void nfs_read_cb(int i_status, struct nfs_context *p_nfs, void *p_data,\n
      \           void *p_private_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: nfs_read_finished_cb
    functionSourceFile: /src/vlc/modules/access/nfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool nfs_read_finished_cb(stream_t *p_access)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nfs_read_async
      Src: /src/vlc/modules/access/nfs.c:214,1
    - Dst: nfs_read_async
      Src: /src/vlc/modules/access/nfs.c:218,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/nfs.c:222,1
    - Dst: vlc_nfs_mainloop
      Src: /src/vlc/modules/access/nfs.c:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - p_access
    - p_buf
    - i_len
    argTypes:
    - stream_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 230
    functionName: FileRead
    functionSourceFile: /src/vlc/modules/access/nfs.c
    functionUses: 0
    functionsReached:
    - vlc_nfs_mainloop
    - nfs_read_async
    - msg_Err
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t FileRead(stream_t *p_access, void *p_buf, size_t i_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/nfs.c:236,1
    - Dst: assert
      Src: /src/vlc/modules/access/nfs.c:239,1
    - Dst: NFS_CHECK_STATUS
      Src: /src/vlc/modules/access/nfs.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - i_status
    - p_nfs
    - p_data
    - p_private_data
    argTypes:
    - int
    - struct nfs_context*
    - void*
    - void*
    assertStmts:
    - condition: (p_sys->p_nfs == p_nfs)
      pos:
        line_end: 238
        line_start: 238
        source_file: /src/vlc/modules/access/nfs.c
    constantsTouched: []
    func_position:
      end: 245
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 245
    functionName: nfs_seek_cb
    functionSourceFile: /src/vlc/modules/access/nfs.c
    functionUses: 0
    functionsReached:
    - assert
    - NFS_CHECK_STATUS
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void nfs_seek_cb(int i_status, struct nfs_context *p_nfs, void *p_data,\n
      \           void *p_private_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 252
    functionName: nfs_seek_finished_cb
    functionSourceFile: /src/vlc/modules/access/nfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool nfs_seek_finished_cb(stream_t *p_access)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nfs_lseek_async
      Src: /src/vlc/modules/access/nfs.c:260,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/nfs.c:263,1
    - Dst: vlc_nfs_mainloop
      Src: /src/vlc/modules/access/nfs.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - p_access
    - i_pos
    argTypes:
    - stream_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 273
    functionName: FileSeek
    functionSourceFile: /src/vlc/modules/access/nfs.c
    functionUses: 0
    functionsReached:
    - vlc_nfs_mainloop
    - nfs_lseek_async
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int FileSeek(stream_t *p_access, uint64_t i_pos)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/nfs.c:283,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/nfs.c:287,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/nfs.c:292,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/nfs.c:302,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/nfs.c:302,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/nfs.c:303,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - p_access
    - i_query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 313
    functionName: FileControl
    functionSourceFile: /src/vlc/modules/access/nfs.c
    functionUses: 0
    functionsReached:
    - var_InheritInteger
    - va_arg
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: int
    signature: int FileControl(stream_t *p_access, int i_query, va_list args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/vlc/modules/access/nfs.c:320,1
    - Dst: strlen
      Src: /src/vlc/modules/access/nfs.c:323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - p_url
    - psz_file
    argTypes:
    - vlc_url_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 330
    functionName: NfsGetUrl
    functionSourceFile: /src/vlc/modules/access/nfs.c
    functionUses: 0
    functionsReached:
    - strlen
    - asprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      NfsGetUrl(vlc_url_t *p_url, const char *psz_file)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/nfs.c:338,1
    - Dst: vlc_readdir_helper_init
      Src: /src/vlc/modules/access/nfs.c:341,1
    - Dst: nfs_readdir
      Src: /src/vlc/modules/access/nfs.c:344,1
    - Dst: vlc_uri_encode
      Src: /src/vlc/modules/access/nfs.c:346,1
    - Dst: NfsGetUrl
      Src: /src/vlc/modules/access/nfs.c:352,1
    - Dst: free
      Src: /src/vlc/modules/access/nfs.c:353,1
    - Dst: vlc_readdir_helper_additem
      Src: /src/vlc/modules/access/nfs.c:375,1
    - Dst: input_item_AddStat
      Src: /src/vlc/modules/access/nfs.c:379,1
    - Dst: input_item_AddStat
      Src: /src/vlc/modules/access/nfs.c:380,1
    - Dst: free
      Src: /src/vlc/modules/access/nfs.c:382,1
    - Dst: vlc_readdir_helper_finish
      Src: /src/vlc/modules/access/nfs.c:385,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 2
    argNames:
    - p_access
    - p_node
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts:
    - condition: (p_sys->p_nfsdir)
      pos:
        line_end: 337
        line_start: 337
        source_file: /src/vlc/modules/access/nfs.c
    constantsTouched: []
    func_position:
      end: 388
      start: 332
    functionDepth: 3
    functionLinenumber: 332
    functionLinenumberEnd: 388
    functionName: DirRead
    functionSourceFile: /src/vlc/modules/access/nfs.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_readdir_helper_init
    - free
    - NfsGetUrl
    - vlc_uri_encode
    - nfs_readdir
    - vlc_readdir_helper_additem
    - input_item_AddStat
    - vlc_readdir_helper_finish
    linkageType: ''
    returnType: int
    signature: int DirRead(stream_t *p_access, input_item_node_t *p_node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/nfs.c:394,1
    - Dst: vlc_readdir_helper_init
      Src: /src/vlc/modules/access/nfs.c:398,1
    - Dst: NfsGetUrl
      Src: /src/vlc/modules/access/nfs.c:404,1
    - Dst: vlc_readdir_helper_additem
      Src: /src/vlc/modules/access/nfs.c:410,1
    - Dst: free
      Src: /src/vlc/modules/access/nfs.c:412,1
    - Dst: vlc_readdir_helper_finish
      Src: /src/vlc/modules/access/nfs.c:415,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - p_access
    - p_node
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts:
    - condition: (p_sys->p_mount != NULL && p_sys->res.exports.i_count >= 0)
      pos:
        line_end: 393
        line_start: 393
        source_file: /src/vlc/modules/access/nfs.c
    constantsTouched: []
    func_position:
      end: 418
      start: 390
    functionDepth: 3
    functionLinenumber: 390
    functionLinenumberEnd: 418
    functionName: MountRead
    functionSourceFile: /src/vlc/modules/access/nfs.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_readdir_helper_init
    - free
    - NfsGetUrl
    - vlc_readdir_helper_additem
    - vlc_readdir_helper_finish
    linkageType: ''
    returnType: int
    signature: int MountRead(stream_t *p_access, input_item_node_t *p_node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/nfs.c:424,1
    - Dst: assert
      Src: /src/vlc/modules/access/nfs.c:427,1
    - Dst: NFS_CHECK_STATUS
      Src: /src/vlc/modules/access/nfs.c:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - i_status
    - p_nfs
    - p_data
    - p_private_data
    argTypes:
    - int
    - struct nfs_context*
    - void*
    - void*
    assertStmts:
    - condition: (p_sys->p_nfs == p_nfs)
      pos:
        line_end: 426
        line_start: 426
        source_file: /src/vlc/modules/access/nfs.c
    constantsTouched: []
    func_position:
      end: 432
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 432
    functionName: nfs_opendir_cb
    functionSourceFile: /src/vlc/modules/access/nfs.c
    functionUses: 0
    functionsReached:
    - assert
    - NFS_CHECK_STATUS
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void nfs_opendir_cb(int i_status, struct nfs_context *p_nfs, void
      *p_data,\n               void *p_private_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/nfs.c:438,1
    - Dst: assert
      Src: /src/vlc/modules/access/nfs.c:441,1
    - Dst: NFS_CHECK_STATUS
      Src: /src/vlc/modules/access/nfs.c:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - i_status
    - p_nfs
    - p_data
    - p_private_data
    argTypes:
    - int
    - struct nfs_context*
    - void*
    - void*
    assertStmts:
    - condition: (p_sys->p_nfs == p_nfs)
      pos:
        line_end: 440
        line_start: 440
        source_file: /src/vlc/modules/access/nfs.c
    constantsTouched: []
    func_position:
      end: 446
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 446
    functionName: nfs_open_cb
    functionSourceFile: /src/vlc/modules/access/nfs.c
    functionUses: 0
    functionsReached:
    - assert
    - NFS_CHECK_STATUS
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void nfs_open_cb(int i_status, struct nfs_context *p_nfs, void *p_data,\n
      \           void *p_private_data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/nfs.c:452,1
    - Dst: assert
      Src: /src/vlc/modules/access/nfs.c:455,1
    - Dst: NFS_CHECK_STATUS
      Src: /src/vlc/modules/access/nfs.c:456,1
    - Dst: nfs_set_uid
      Src: /src/vlc/modules/access/nfs.c:464,1
    - Dst: nfs_set_gid
      Src: /src/vlc/modules/access/nfs.c:465,1
    - Dst: S_ISDIR
      Src: /src/vlc/modules/access/nfs.c:468,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/nfs.c:470,1
    - Dst: nfs_opendir_async
      Src: /src/vlc/modules/access/nfs.c:471,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/nfs.c:474,1
    - Dst: S_ISREG
      Src: /src/vlc/modules/access/nfs.c:478,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/nfs.c:480,1
    - Dst: nfs_open_async
      Src: /src/vlc/modules/access/nfs.c:481,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/nfs.c:484,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/nfs.c:490,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - i_status
    - p_nfs
    - p_data
    - p_private_data
    argTypes:
    - int
    - struct nfs_context*
    - void*
    - void*
    assertStmts:
    - condition: (p_sys->p_nfs == p_nfs)
      pos:
        line_end: 454
        line_start: 454
        source_file: /src/vlc/modules/access/nfs.c
    constantsTouched: []
    func_position:
      end: 493
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 493
    functionName: nfs_stat64_cb
    functionSourceFile: /src/vlc/modules/access/nfs.c
    functionUses: 0
    functionsReached:
    - nfs_opendir_async
    - assert
    - nfs_set_gid
    - S_ISDIR
    - msg_Err
    - S_ISREG
    - nfs_open_async
    - msg_Dbg
    - nfs_set_uid
    - NFS_CHECK_STATUS
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void nfs_stat64_cb(int i_status, struct nfs_context *p_nfs, void *p_data,\n
      \             void *p_private_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/nfs.c:499,1
    - Dst: assert
      Src: /src/vlc/modules/access/nfs.c:502,1
    - Dst: vlc_UrlParseFixup
      Src: /src/vlc/modules/access/nfs.c:513,1
    - Dst: strlen
      Src: /src/vlc/modules/access/nfs.c:515,1
    - Dst: NfsGetUrl
      Src: /src/vlc/modules/access/nfs.c:516,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/nfs.c:518,1
    - Dst: NFS_CHECK_STATUS
      Src: /src/vlc/modules/access/nfs.c:519,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/nfs.c:524,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/nfs.c:525,1
    - Dst: NFS_CHECK_STATUS
      Src: /src/vlc/modules/access/nfs.c:531,1
    - Dst: nfs_stat64_async
      Src: /src/vlc/modules/access/nfs.c:534,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/nfs.c:537,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - i_status
    - p_nfs
    - p_data
    - p_private_data
    argTypes:
    - int
    - struct nfs_context*
    - void*
    - void*
    assertStmts:
    - condition: (p_sys->p_nfs == p_nfs)
      pos:
        line_end: 501
        line_start: 501
        source_file: /src/vlc/modules/access/nfs.c
    constantsTouched: []
    func_position:
      end: 540
      start: 495
    functionDepth: 3
    functionLinenumber: 495
    functionLinenumberEnd: 540
    functionName: nfs_mount_cb
    functionSourceFile: /src/vlc/modules/access/nfs.c
    functionUses: 0
    functionsReached:
    - assert
    - strlen
    - vlc_UrlParseFixup
    - vlc_UrlClean
    - msg_Err
    - NfsGetUrl
    - msg_Warn
    - nfs_stat64_async
    - NFS_CHECK_STATUS
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void nfs_mount_cb(int i_status, struct nfs_context *p_nfs, void *p_data,\n
      \            void *p_private_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 548
    functionName: nfs_mount_open_finished_cb
    functionSourceFile: /src/vlc/modules/access/nfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool nfs_mount_open_finished_cb(stream_t *p_access)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 555
    functionName: nfs_mount_open_slash_finished_cb
    functionSourceFile: /src/vlc/modules/access/nfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool nfs_mount_open_slash_finished_cb(stream_t *p_access)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/nfs.c:561,1
    - Dst: assert
      Src: /src/vlc/modules/access/nfs.c:564,1
    - Dst: NFS_CHECK_STATUS
      Src: /src/vlc/modules/access/nfs.c:565,1
    - Dst: calloc
      Src: /src/vlc/modules/access/nfs.c:580,1
    - Dst: strdup
      Src: /src/vlc/modules/access/nfs.c:592,1
    - Dst: free
      Src: /src/vlc/modules/access/nfs.c:596,1
    - Dst: free
      Src: /src/vlc/modules/access/nfs.c:597,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 4
    argNames:
    - p_ctx
    - i_status
    - p_data
    - p_private_data
    argTypes:
    - struct rpc_context*
    - int
    - void*
    - void*
    assertStmts:
    - condition: (p_sys->p_mount == p_ctx)
      pos:
        line_end: 563
        line_start: 563
        source_file: /src/vlc/modules/access/nfs.c
    constantsTouched: []
    func_position:
      end: 606
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 606
    functionName: mount_export_cb
    functionSourceFile: /src/vlc/modules/access/nfs.c
    functionUses: 0
    functionsReached:
    - assert
    - strdup
    - calloc
    - free
    - NFS_CHECK_STATUS
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void mount_export_cb(struct rpc_context *p_ctx, int i_status, void
      *p_data,\n                void *p_private_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 613
    functionName: mount_getexports_finished_cb
    functionSourceFile: /src/vlc/modules/access/nfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool mount_getexports_finished_cb(stream_t *p_access)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nfs_init_context
      Src: /src/vlc/modules/access/nfs.c:619,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/nfs.c:622,1
    - Dst: nfs_parse_url_incomplete
      Src: /src/vlc/modules/access/nfs.c:626,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/nfs.c:629,1
    - Dst: nfs_get_error
      Src: /src/vlc/modules/access/nfs.c:630,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - p_access
    - psz_url_decoded
    argTypes:
    - stream_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 634
    functionName: NfsInit
    functionSourceFile: /src/vlc/modules/access/nfs.c
    functionUses: 0
    functionsReached:
    - nfs_get_error
    - nfs_parse_url_incomplete
    - nfs_init_context
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int NfsInit(stream_t *p_access, const char *psz_url_decoded)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/access/nfs.c:640,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/nfs.c:642,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/access/nfs.c:646,1
    - Dst: vlc_uri_decode_duplicate
      Src: /src/vlc/modules/access/nfs.c:649,1
    - Dst: vlc_UrlParseFixup
      Src: /src/vlc/modules/access/nfs.c:654,1
    - Dst: strstr
      Src: /src/vlc/modules/access/nfs.c:658,1
    - Dst: strstr
      Src: /src/vlc/modules/access/nfs.c:659,1
    - Dst: NfsInit
      Src: /src/vlc/modules/access/nfs.c:663,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/nfs.c:670,1
    - Dst: nfs_mount_async
      Src: /src/vlc/modules/access/nfs.c:673,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/nfs.c:676,1
    - Dst: vlc_nfs_mainloop
      Src: /src/vlc/modules/access/nfs.c:680,1
    - Dst: nfs_destroy_url
      Src: /src/vlc/modules/access/nfs.c:687,1
    - Dst: nfs_destroy_context
      Src: /src/vlc/modules/access/nfs.c:688,1
    - Dst: NfsInit
      Src: /src/vlc/modules/access/nfs.c:692,1
    - Dst: nfs_mount_async
      Src: /src/vlc/modules/access/nfs.c:696,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/nfs.c:699,1
    - Dst: vlc_nfs_mainloop
      Src: /src/vlc/modules/access/nfs.c:703,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/access/nfs.c:720,1
    - Dst: nfs_destroy_context
      Src: /src/vlc/modules/access/nfs.c:725,1
    - Dst: rpc_init_context
      Src: /src/vlc/modules/access/nfs.c:728,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/nfs.c:731,1
    - Dst: mount_getexports_async
      Src: /src/vlc/modules/access/nfs.c:738,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/nfs.c:741,1
    - Dst: vlc_mount_mainloop
      Src: /src/vlc/modules/access/nfs.c:745,1
    - Dst: Close
      Src: /src/vlc/modules/access/nfs.c:756,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 85
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 636
    functionDepth: 3
    functionLinenumber: 636
    functionLinenumberEnd: 758
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/nfs.c
    functionUses: 1
    functionsReached:
    - NfsInit
    - nfs_mount_async
    - vlc_uri_decode_duplicate
    - vlc_assert_unreachable
    - nfs_destroy_context
    - Close
    - vlc_UrlParseFixup
    - var_InheritBool
    - msg_Err
    - rpc_init_context
    - vlc_mount_mainloop
    - msg_Dbg
    - strstr
    - mount_getexports_async
    - nfs_destroy_url
    - vlc_nfs_mainloop
    - unlikely
    - vlc_obj_calloc
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *p_obj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nfs_close
      Src: /src/vlc/modules/access/nfs.c:767,1
    - Dst: nfs_closedir
      Src: /src/vlc/modules/access/nfs.c:770,1
    - Dst: nfs_destroy_context
      Src: /src/vlc/modules/access/nfs.c:773,1
    - Dst: free
      Src: /src/vlc/modules/access/nfs.c:778,1
    - Dst: free
      Src: /src/vlc/modules/access/nfs.c:779,1
    - Dst: rpc_destroy_context
      Src: /src/vlc/modules/access/nfs.c:780,1
    - Dst: nfs_destroy_url
      Src: /src/vlc/modules/access/nfs.c:784,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/nfs.c:786,1
    - Dst: free
      Src: /src/vlc/modules/access/nfs.c:788,1
    - Dst: free
      Src: /src/vlc/modules/access/nfs.c:789,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 790
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/nfs.c
    functionUses: 11
    functionsReached:
    - nfs_destroy_context
    - rpc_destroy_context
    - nfs_closedir
    - free
    - nfs_destroy_url
    - nfs_close
    - vlc_UrlClean
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *p_obj)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_agent_init
      Src: /src/vlc/modules/access/sftp.c:110,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/sftp.c:114,1
    - Dst: libssh2_agent_connect
      Src: /src/vlc/modules/access/sftp.c:117,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/sftp.c:119,1
    - Dst: libssh2_agent_list_identities
      Src: /src/vlc/modules/access/sftp.c:122,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/sftp.c:124,1
    - Dst: libssh2_agent_get_identity
      Src: /src/vlc/modules/access/sftp.c:128,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/sftp.c:130,1
    - Dst: libssh2_agent_userauth
      Src: /src/vlc/modules/access/sftp.c:131,1
    - Dst: msg_Info
      Src: /src/vlc/modules/access/sftp.c:133,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/sftp.c:137,1
    - Dst: libssh2_agent_disconnect
      Src: /src/vlc/modules/access/sftp.c:144,1
    - Dst: libssh2_agent_free
      Src: /src/vlc/modules/access/sftp.c:145,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - p_access
    - psz_username
    argTypes:
    - stream_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 148
    functionName: AuthKeyAgent
    functionSourceFile: /src/vlc/modules/access/sftp.c
    functionUses: 0
    functionsReached:
    - libssh2_agent_init
    - libssh2_agent_list_identities
    - libssh2_agent_connect
    - libssh2_agent_userauth
    - msg_Info
    - libssh2_agent_free
    - msg_Dbg
    - libssh2_agent_get_identity
    - libssh2_agent_disconnect
    linkageType: ''
    returnType: int
    signature: int AuthKeyAgent( stream_t *p_access, const char *psz_username )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/sftp.c:164,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/sftp.c:169,1
    - Dst: free
      Src: /src/vlc/modules/access/sftp.c:171,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/sftp.c:175,1
    - Dst: libssh2_userauth_publickey_fromfile
      Src: /src/vlc/modules/access/sftp.c:177,1
    - Dst: free
      Src: /src/vlc/modules/access/sftp.c:178,1
    - Dst: free
      Src: /src/vlc/modules/access/sftp.c:179,1
    - Dst: msg_Info
      Src: /src/vlc/modules/access/sftp.c:182,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/sftp.c:185,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/sftp.c:190,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/sftp.c:192,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/sftp.c:194,1
    - Dst: free
      Src: /src/vlc/modules/access/sftp.c:196,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/sftp.c:200,1
    - Dst: libssh2_userauth_publickey_fromfile
      Src: /src/vlc/modules/access/sftp.c:202,1
    - Dst: free
      Src: /src/vlc/modules/access/sftp.c:203,1
    - Dst: free
      Src: /src/vlc/modules/access/sftp.c:204,1
    - Dst: msg_Info
      Src: /src/vlc/modules/access/sftp.c:207,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/sftp.c:210,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 3
    argNames:
    - p_access
    - psz_home
    - psz_username
    argTypes:
    - stream_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 213
    functionName: AuthPublicKey
    functionSourceFile: /src/vlc/modules/access/sftp.c
    functionUses: 0
    functionsReached:
    - asprintf
    - var_InheritString
    - ARRAY_SIZE
    - msg_Err
    - free
    - msg_Info
    - msg_Dbg
    - libssh2_userauth_publickey_fromfile
    linkageType: ''
    returnType: int
    signature: int AuthPublicKey( stream_t *p_access, const char *psz_home, const
      char *psz_username )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_session_free
      Src: /src/vlc/modules/access/sftp.c:221,1
    - Dst: net_Close
      Src: /src/vlc/modules/access/sftp.c:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 229
    functionName: SSHSessionDestroy
    functionSourceFile: /src/vlc/modules/access/sftp.c
    functionUses: 0
    functionsReached:
    - net_Close
    - libssh2_session_free
    linkageType: ''
    returnType: void
    signature: void SSHSessionDestroy( stream_t *p_access )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/sftp.c:236,1
    - Dst: net_Connect
      Src: /src/vlc/modules/access/sftp.c:237,1
    - Dst: libssh2_session_init
      Src: /src/vlc/modules/access/sftp.c:243,1
    - Dst: libssh2_session_handshake
      Src: /src/vlc/modules/access/sftp.c:249,1
    - Dst: libssh2_session_startup
      Src: /src/vlc/modules/access/sftp.c:252,1
    - Dst: libssh2_session_set_blocking
      Src: /src/vlc/modules/access/sftp.c:259,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/sftp.c:263,1
    - Dst: SSHSessionDestroy
      Src: /src/vlc/modules/access/sftp.c:265,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - p_access
    - psz_host
    - i_port
    argTypes:
    - stream_t*
    - char*
    - int
    assertStmts:
    - condition: ( p_sys->i_socket == -1 )
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/vlc/modules/access/sftp.c
    constantsTouched: []
    func_position:
      end: 267
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 267
    functionName: SSHSessionInit
    functionSourceFile: /src/vlc/modules/access/sftp.c
    functionUses: 0
    functionsReached:
    - assert
    - net_Connect
    - SSHSessionDestroy
    - msg_Err
    - libssh2_session_handshake
    - libssh2_session_startup
    - libssh2_session_set_blocking
    - libssh2_session_init
    linkageType: ''
    returnType: int
    signature: int SSHSessionInit( stream_t *p_access, const char *psz_host, int i_port
      )
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/access/sftp.c:291,1
    - Dst: vlc_UrlParseFixup
      Src: /src/vlc/modules/access/sftp.c:297,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/sftp.c:299,1
    - Dst: vlc_credential_init
      Src: /src/vlc/modules/access/sftp.c:302,1
    - Dst: vlc_uri_decode_duplicate
      Src: /src/vlc/modules/access/sftp.c:305,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/access/sftp.c:311,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/sftp.c:313,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/sftp.c:318,1
    - Dst: SSHSessionInit
      Src: /src/vlc/modules/access/sftp.c:323,1
    - Dst: libssh2_knownhost_init
      Src: /src/vlc/modules/access/sftp.c:327,1
    - Dst: config_GetUserDir
      Src: /src/vlc/modules/access/sftp.c:331,1
    - Dst: likely
      Src: /src/vlc/modules/access/sftp.c:332,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/sftp.c:335,1
    - Dst: libssh2_knownhost_readfile
      Src: /src/vlc/modules/access/sftp.c:337,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/sftp.c:339,1
    - Dst: free
      Src: /src/vlc/modules/access/sftp.c:340,1
    - Dst: libssh2_session_hostkey
      Src: /src/vlc/modules/access/sftp.c:344,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/sftp.c:375,1
    - Dst: libssh2_knownhost_free
      Src: /src/vlc/modules/access/sftp.c:376,1
    - Dst: libssh2_knownhost_checkp
      Src: /src/vlc/modules/access/sftp.c:382,1
    - Dst: libssh2_knownhost_check
      Src: /src/vlc/modules/access/sftp.c:389,1
    - Dst: libssh2_knownhost_free
      Src: /src/vlc/modules/access/sftp.c:397,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/sftp.c:404,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/sftp.c:407,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/sftp.c:410,1
    - Dst: vlc_credential_get
      Src: /src/vlc/modules/access/sftp.c:414,1
    - Dst: strdup
      Src: /src/vlc/modules/access/sftp.c:427,1
    - Dst: libssh2_userauth_list
      Src: /src/vlc/modules/access/sftp.c:429,1
    - Dst: strlen
      Src: /src/vlc/modules/access/sftp.c:430,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/sftp.c:432,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/sftp.c:434,1
    - Dst: SSHSessionDestroy
      Src: /src/vlc/modules/access/sftp.c:436,1
    - Dst: SSHSessionInit
      Src: /src/vlc/modules/access/sftp.c:437,1
    - Dst: free
      Src: /src/vlc/modules/access/sftp.c:441,1
    - Dst: strdup
      Src: /src/vlc/modules/access/sftp.c:442,1
    - Dst: libssh2_userauth_list
      Src: /src/vlc/modules/access/sftp.c:444,1
    - Dst: strlen
      Src: /src/vlc/modules/access/sftp.c:445,1
    - Dst: strstr
      Src: /src/vlc/modules/access/sftp.c:452,1
    - Dst: AuthKeyAgent
      Src: /src/vlc/modules/access/sftp.c:457,1
    - Dst: AuthPublicKey
      Src: /src/vlc/modules/access/sftp.c:458,1
    - Dst: vlc_credential_store
      Src: /src/vlc/modules/access/sftp.c:461,1
    - Dst: strstr
      Src: /src/vlc/modules/access/sftp.c:466,1
    - Dst: libssh2_userauth_password
      Src: /src/vlc/modules/access/sftp.c:468,1
    - Dst: vlc_credential_store
      Src: /src/vlc/modules/access/sftp.c:472,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/sftp.c:476,1
    - Dst: vlc_credential_get
      Src: /src/vlc/modules/access/sftp.c:477,1
    - Dst: _
      Src: /src/vlc/modules/access/sftp.c:478,1
    - Dst: _
      Src: /src/vlc/modules/access/sftp.c:479,1
    - Dst: libssh2_sftp_init
      Src: /src/vlc/modules/access/sftp.c:483,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/sftp.c:487,1
    - Dst: malloc
      Src: /src/vlc/modules/access/sftp.c:498,1
    - Dst: libssh2_sftp_symlink_ex
      Src: /src/vlc/modules/access/sftp.c:502,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/sftp.c:507,1
    - Dst: free
      Src: /src/vlc/modules/access/sftp.c:508,1
    - Dst: vlc_path2uri
      Src: /src/vlc/modules/access/sftp.c:515,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/sftp.c:518,1
    - Dst: free
      Src: /src/vlc/modules/access/sftp.c:520,1
    - Dst: free
      Src: /src/vlc/modules/access/sftp.c:524,1
    - Dst: libssh2_sftp_stat
      Src: /src/vlc/modules/access/sftp.c:529,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/sftp.c:531,1
    - Dst: LIBSSH2_SFTP_S_ISDIR
      Src: /src/vlc/modules/access/sftp.c:535,1
    - Dst: libssh2_sftp_open
      Src: /src/vlc/modules/access/sftp.c:538,1
    - Dst: ACCESS_SET_CALLBACKS
      Src: /src/vlc/modules/access/sftp.c:541,1
    - Dst: libssh2_sftp_opendir
      Src: /src/vlc/modules/access/sftp.c:546,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/sftp.c:553,1
    - Dst: strlen
      Src: /src/vlc/modules/access/sftp.c:558,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/sftp.c:566,1
    - Dst: free
      Src: /src/vlc/modules/access/sftp.c:573,1
    - Dst: free
      Src: /src/vlc/modules/access/sftp.c:574,1
    - Dst: free
      Src: /src/vlc/modules/access/sftp.c:575,1
    - Dst: vlc_credential_clean
      Src: /src/vlc/modules/access/sftp.c:576,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/sftp.c:577,1
    - Dst: Close
      Src: /src/vlc/modules/access/sftp.c:579,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 185
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 582
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/sftp.c
    functionUses: 1
    functionsReached:
    - libssh2_session_hostkey
    - vlc_credential_store
    - vlc_path2uri
    - SSHSessionDestroy
    - libssh2_sftp_symlink_ex
    - EMPTY_STR
    - libssh2_sftp_init
    - libssh2_sftp_opendir
    - vlc_obj_calloc
    - libssh2_knownhost_readfile
    - asprintf
    - libssh2_knownhost_check
    - AuthPublicKey
    - LIBSSH2_SFTP_S_ISDIR
    - _
    - msg_Err
    - msg_Dbg
    - strstr
    - msg_Warn
    - AuthKeyAgent
    - vlc_UrlClean
    - strdup
    - libssh2_userauth_list
    - var_InheritInteger
    - libssh2_sftp_open
    - strcmp
    - likely
    - ACCESS_SET_CALLBACKS
    - vlc_credential_init
    - Close
    - libssh2_knownhost_init
    - libssh2_knownhost_free
    - vlc_uri_decode_duplicate
    - vlc_credential_clean
    - SSHSessionInit
    - vlc_UrlParseFixup
    - strlen
    - libssh2_sftp_stat
    - free
    - vlc_credential_get
    - libssh2_knownhost_checkp
    - config_GetUserDir
    - malloc
    - libssh2_userauth_password
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t* p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_close_handle
      Src: /src/vlc/modules/access/sftp.c:592,1
    - Dst: libssh2_sftp_shutdown
      Src: /src/vlc/modules/access/sftp.c:594,1
    - Dst: SSHSessionDestroy
      Src: /src/vlc/modules/access/sftp.c:595,1
    - Dst: free
      Src: /src/vlc/modules/access/sftp.c:597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 586
    functionDepth: 2
    functionLinenumber: 586
    functionLinenumberEnd: 598
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/sftp.c
    functionUses: 13
    functionsReached:
    - free
    - libssh2_sftp_close_handle
    - libssh2_sftp_shutdown
    - SSHSessionDestroy
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t* p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_read
      Src: /src/vlc/modules/access/sftp.c:605,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/sftp.c:608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p_access
    - buf
    - len
    argTypes:
    - stream_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 613
    functionName: Read
    functionSourceFile: /src/vlc/modules/access/sftp.c
    functionUses: 10
    functionsReached:
    - libssh2_sftp_read
    - msg_Err
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Read( stream_t *p_access, void *buf, size_t len )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libssh2_sftp_seek64
      Src: /src/vlc/modules/access/sftp.c:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_access
    - i_pos
    argTypes:
    - stream_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 622
    functionName: Seek
    functionSourceFile: /src/vlc/modules/access/sftp.c
    functionUses: 5
    functionsReached:
    - libssh2_sftp_seek64
    linkageType: ''
    returnType: int
    signature: int Seek( stream_t* p_access, uint64_t i_pos )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/sftp.c:633,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/sftp.c:638,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/sftp.c:644,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/sftp.c:651,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/sftp.c:655,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/sftp.c:656,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/sftp.c:656,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - p_access
    - i_query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 667
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/sftp.c
    functionUses: 6
    functionsReached:
    - var_InheritInteger
    - va_arg
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: int
    signature: int Control( stream_t* p_access, int i_query, va_list args )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/sftp.c:686,1
    - Dst: vlc_readdir_helper_init
      Src: /src/vlc/modules/access/sftp.c:692,1
    - Dst: libssh2_sftp_readdir
      Src: /src/vlc/modules/access/sftp.c:695,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/sftp.c:702,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/sftp.c:709,1
    - Dst: vlc_uri_encode
      Src: /src/vlc/modules/access/sftp.c:717,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/sftp.c:724,1
    - Dst: free
      Src: /src/vlc/modules/access/sftp.c:726,1
    - Dst: free
      Src: /src/vlc/modules/access/sftp.c:730,1
    - Dst: LIBSSH2_SFTP_S_ISDIR
      Src: /src/vlc/modules/access/sftp.c:732,1
    - Dst: vlc_readdir_helper_additem
      Src: /src/vlc/modules/access/sftp.c:735,1
    - Dst: input_item_AddStat
      Src: /src/vlc/modules/access/sftp.c:739,1
    - Dst: input_item_AddStat
      Src: /src/vlc/modules/access/sftp.c:740,1
    - Dst: free
      Src: /src/vlc/modules/access/sftp.c:742,1
    - Dst: vlc_readdir_helper_finish
      Src: /src/vlc/modules/access/sftp.c:745,1
    - Dst: free
      Src: /src/vlc/modules/access/sftp.c:746,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 2
    argNames:
    - p_access
    - p_current_node
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 674
    functionDepth: 2
    functionLinenumber: 674
    functionLinenumberEnd: 748
    functionName: DirRead
    functionSourceFile: /src/vlc/modules/access/sftp.c
    functionUses: 0
    functionsReached:
    - asprintf
    - LIBSSH2_SFTP_S_ISDIR
    - vlc_readdir_helper_init
    - msg_Err
    - free
    - libssh2_sftp_readdir
    - msg_Dbg
    - vlc_uri_encode
    - vlc_readdir_helper_additem
    - input_item_AddStat
    - malloc
    - vlc_readdir_helper_finish
    linkageType: ''
    returnType: int
    signature: int DirRead (stream_t *p_access, input_item_node_t *p_current_node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/access/wasapi.c:60,1
    - Dst: QueryPerformanceCounter
      Src: /src/vlc/modules/access/wasapi.c:60,1
    - Dst: abort
      Src: /src/vlc/modules/access/wasapi.c:61,1
    - Dst: lldiv
      Src: /src/vlc/modules/access/wasapi.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: GetQPC
    functionSourceFile: /src/vlc/modules/access/wasapi.c
    functionUses: 0
    functionsReached:
    - lldiv
    - abort
    - unlikely
    - QueryPerformanceCounter
    linkageType: ''
    returnType: msftime_t
    signature: msftime_t GetQPC(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/access/wasapi.c:71,1
    - Dst: QueryPerformanceCounter
      Src: /src/vlc/modules/access/wasapi.c:71,1
    - Dst: abort
      Src: /src/vlc/modules/access/wasapi.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: GetQPC_100ns
    functionSourceFile: /src/vlc/modules/access/wasapi.c
    functionUses: 0
    functionsReached:
    - abort
    - unlikely
    - QueryPerformanceCounter
    linkageType: ''
    returnType: msftime_t
    signature: msftime_t GetQPC_100ns(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QueryPerformanceFrequency
      Src: /src/vlc/modules/access/wasapi.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - dll
    - reason
    - reserved
    argTypes:
    - void*
    - DWORD
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 96
    functionName: DllMain
    functionSourceFile: /src/vlc/modules/access/wasapi.c
    functionUses: 0
    functionsReached:
    - QueryPerformanceFrequency
    linkageType: ''
    returnType: int
    signature: int DllMain(void *dll, DWORD reason, void *reserved)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FAILED
      Src: /src/vlc/modules/access/wasapi.c:105,1
    - Dst: IMMDevice_QueryInterface
      Src: /src/vlc/modules/access/wasapi.c:105,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/wasapi.c:111,1
    - Dst: IMMEndpoint_GetDataFlow
      Src: /src/vlc/modules/access/wasapi.c:111,1
    - Dst: IMMEndpoint_Release
      Src: /src/vlc/modules/access/wasapi.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - dev
    argTypes:
    - IMMDevice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 115
    functionName: GetDeviceFlow
    functionSourceFile: /src/vlc/modules/access/wasapi.c
    functionUses: 0
    functionsReached:
    - FAILED
    - IMMDevice_QueryInterface
    - IMMEndpoint_GetDataFlow
    - SUCCEEDED
    - IMMEndpoint_Release
    linkageType: ''
    returnType: EDataFlow
    signature: EDataFlow GetDeviceFlow(IMMDevice *dev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CoCreateInstance
      Src: /src/vlc/modules/access/wasapi.c:124,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/wasapi.c:126,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/wasapi.c:128,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/access/wasapi.c:133,1
    - Dst: IMMDeviceEnumerator_GetDefaultAudioEndpoint
      Src: /src/vlc/modules/access/wasapi.c:137,1
    - Dst: IMMDeviceEnumerator_Release
      Src: /src/vlc/modules/access/wasapi.c:138,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/wasapi.c:139,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/wasapi.c:141,1
    - Dst: IMMDevice_Activate
      Src: /src/vlc/modules/access/wasapi.c:145,1
    - Dst: GetDeviceFlow
      Src: /src/vlc/modules/access/wasapi.c:146,1
    - Dst: IMMDevice_Release
      Src: /src/vlc/modules/access/wasapi.c:147,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/wasapi.c:148,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/wasapi.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - demux
    - loopbackp
    argTypes:
    - demux_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 151
    functionName: GetClient
    functionSourceFile: /src/vlc/modules/access/wasapi.c
    functionUses: 0
    functionsReached:
    - IMMDeviceEnumerator_GetDefaultAudioEndpoint
    - IMMDevice_Release
    - FAILED
    - GetDeviceFlow
    - var_InheritBool
    - IMMDeviceEnumerator_Release
    - msg_Err
    - IMMDevice_Activate
    - CoCreateInstance
    linkageType: ''
    returnType: IAudioClient
    signature: IAudioClient *GetClient(demux_t *demux, bool *restrict loopbackp)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/wasapi.c:159,1
    - Dst: assert
      Src: /src/vlc/modules/access/wasapi.c:160,1
    - Dst: container_of
      Src: /src/vlc/modules/access/wasapi.c:162,1
    - Dst: assert
      Src: /src/vlc/modules/access/wasapi.c:174,1
    - Dst: stdc_count_ones
      Src: /src/vlc/modules/access/wasapi.c:174,1
    - Dst: IsEqualIID
      Src: /src/vlc/modules/access/wasapi.c:176,1
    - Dst: IsEqualIID
      Src: /src/vlc/modules/access/wasapi.c:215,1
    - Dst: IsEqualIID
      Src: /src/vlc/modules/access/wasapi.c:233,1
    - Dst: IsEqualIID
      Src: /src/vlc/modules/access/wasapi.c:235,1
    - Dst: IsEqualIID
      Src: /src/vlc/modules/access/wasapi.c:237,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/access/wasapi.c:242,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 72
    argCount: 2
    argNames:
    - wf
    - fmt
    argTypes:
    - WAVEFORMATEX*
    - audio_sample_format_t*
    assertStmts:
    - condition: (wf->wFormatTag == WAVE_FORMAT_EXTENSIBLE)
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/vlc/modules/access/wasapi.c
    - condition: (wf->cbSize >= sizeof(WAVEFORMATEXTENSIBLE) - sizeof(WAVEFORMATEX))
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/vlc/modules/access/wasapi.c
    - condition: (stdc_count_ones(wfe->dwChannelMask) == wf->nChannels)
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/vlc/modules/access/wasapi.c
    constantsTouched: []
    func_position:
      end: 247
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 247
    functionName: vlc_FromWave
    functionSourceFile: /src/vlc/modules/access/wasapi.c
    functionUses: 0
    functionsReached:
    - aout_FormatPrepare
    - assert
    - container_of
    - stdc_count_ones
    - IsEqualIID
    linkageType: ''
    returnType: int
    signature: "int vlc_FromWave(const WAVEFORMATEX *restrict wf,\n                        audio_sample_format_t
      *restrict fmt)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IAudioClient_GetMixFormat
      Src: /src/vlc/modules/access/wasapi.c:256,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/wasapi.c:257,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/wasapi.c:259,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/wasapi.c:263,1
    - Dst: vlc_FromWave
      Src: /src/vlc/modules/access/wasapi.c:264,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/wasapi.c:266,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/access/wasapi.c:267,1
    - Dst: MSFTIME_FROM_VLC_TICK
      Src: /src/vlc/modules/access/wasapi.c:281,1
    - Dst: IAudioClient_Initialize
      Src: /src/vlc/modules/access/wasapi.c:286,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/access/wasapi.c:288,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/wasapi.c:289,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/wasapi.c:291,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/wasapi.c:294,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 5
    argNames:
    - demux
    - client
    - loop
    - caching
    - frame_size
    argTypes:
    - demux_t*
    - IAudioClient*
    - bool
    - vlc_tick_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 295
    functionName: CreateES
    functionSourceFile: /src/vlc/modules/access/wasapi.c
    functionUses: 0
    functionsReached:
    - IAudioClient_Initialize
    - CoTaskMemFree
    - FAILED
    - vlc_FromWave
    - msg_Err
    - es_out_Add
    - es_format_Init
    - MSFTIME_FROM_VLC_TICK
    - IAudioClient_GetMixFormat
    linkageType: ''
    returnType: es_out_id_t
    signature: "es_out_id_t *CreateES(demux_t *demux, IAudioClient *client, bool loop,\n
      \                            vlc_tick_t caching, size_t *restrict frame_size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CoInitializeEx
      Src: /src/vlc/modules/access/wasapi.c:321,1
    - Dst: assert
      Src: /src/vlc/modules/access/wasapi.c:322,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/wasapi.c:322,1
    - Dst: SetEvent
      Src: /src/vlc/modules/access/wasapi.c:323,1
    - Dst: IAudioClient_GetService
      Src: /src/vlc/modules/access/wasapi.c:325,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/wasapi.c:326,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/wasapi.c:328,1
    - Dst: IAudioClient_Start
      Src: /src/vlc/modules/access/wasapi.c:333,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/wasapi.c:334,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/wasapi.c:336,1
    - Dst: IAudioCaptureClient_Release
      Src: /src/vlc/modules/access/wasapi.c:337,1
    - Dst: WaitForMultipleObjects
      Src: /src/vlc/modules/access/wasapi.c:341,1
    - Dst: IAudioCaptureClient_GetBuffer
      Src: /src/vlc/modules/access/wasapi.c:350,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/wasapi.c:355,1
    - Dst: VLC_TICK_FROM_MSFTIME
      Src: /src/vlc/modules/access/wasapi.c:355,1
    - Dst: get_qpc
      Src: /src/vlc/modules/access/wasapi.c:355,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/wasapi.c:357,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/wasapi.c:360,1
    - Dst: likely
      Src: /src/vlc/modules/access/wasapi.c:362,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/wasapi.c:363,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/wasapi.c:366,1
    - Dst: IAudioCaptureClient_ReleaseBuffer
      Src: /src/vlc/modules/access/wasapi.c:369,1
    - Dst: IAudioClient_Stop
      Src: /src/vlc/modules/access/wasapi.c:372,1
    - Dst: IAudioCaptureClient_Release
      Src: /src/vlc/modules/access/wasapi.c:373,1
    - Dst: CoUninitialize
      Src: /src/vlc/modules/access/wasapi.c:375,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts:
    - condition: (SUCCEEDED(hr))
      pos:
        line_end: 321
        line_start: 321
        source_file: /src/vlc/modules/access/wasapi.c
    constantsTouched: []
    func_position:
      end: 377
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 377
    functionName: Thread
    functionSourceFile: /src/vlc/modules/access/wasapi.c
    functionUses: 0
    functionsReached:
    - assert
    - IAudioClient_Start
    - IAudioCaptureClient_Release
    - CoInitializeEx
    - memcpy
    - WaitForMultipleObjects
    - CoUninitialize
    - block_Alloc
    - SUCCEEDED
    - SetEvent
    - IAudioCaptureClient_GetBuffer
    - vlc_tick_now
    - es_out_Send
    - msg_Err
    - IAudioCaptureClient_ReleaseBuffer
    - VLC_TICK_FROM_MSFTIME
    - likely
    - get_qpc
    - es_out_SetPCR
    - FAILED
    - IAudioClient_GetService
    - IAudioClient_Stop
    linkageType: ''
    returnType: unsigned
    signature: unsigned Thread(void *data)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/wasapi.c:386,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - demux
    - query
    - ap
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 407
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/wasapi.c
    functionUses: 6
    functionsReached:
    - vlc_tick_now
    linkageType: ''
    returnType: int
    signature: int Control(demux_t *demux, int query, va_list ap)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/access/wasapi.c:420,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/wasapi.c:421,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/wasapi.c:426,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/wasapi.c:426,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/wasapi.c:427,1
    - Dst: CreateEvent
      Src: /src/vlc/modules/access/wasapi.c:432,1
    - Dst: CoInitializeEx
      Src: /src/vlc/modules/access/wasapi.c:437,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/wasapi.c:438,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/wasapi.c:438,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/wasapi.c:439,1
    - Dst: GetClient
      Src: /src/vlc/modules/access/wasapi.c:444,1
    - Dst: CoUninitialize
      Src: /src/vlc/modules/access/wasapi.c:446,1
    - Dst: CreateES
      Src: /src/vlc/modules/access/wasapi.c:450,1
    - Dst: IAudioClient_SetEventHandle
      Src: /src/vlc/modules/access/wasapi.c:455,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/wasapi.c:456,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/wasapi.c:457,1
    - Dst: CreateEvent
      Src: /src/vlc/modules/access/wasapi.c:463,1
    - Dst: _beginthreadex
      Src: /src/vlc/modules/access/wasapi.c:467,1
    - Dst: WaitForSingleObject
      Src: /src/vlc/modules/access/wasapi.c:469,1
    - Dst: CloseHandle
      Src: /src/vlc/modules/access/wasapi.c:470,1
    - Dst: CoUninitialize
      Src: /src/vlc/modules/access/wasapi.c:475,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/access/wasapi.c:483,1
    - Dst: IAudioClient_Release
      Src: /src/vlc/modules/access/wasapi.c:486,1
    - Dst: CoUninitialize
      Src: /src/vlc/modules/access/wasapi.c:487,1
    - Dst: CloseHandle
      Src: /src/vlc/modules/access/wasapi.c:491,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 69
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 493
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/wasapi.c
    functionUses: 1
    functionsReached:
    - vlc_tick_now
    - GetClient
    - vlc_obj_malloc
    - CloseHandle
    - _beginthreadex
    - WaitForSingleObject
    - var_InheritInteger
    - FAILED
    - VLC_TICK_FROM_MS
    - CoInitializeEx
    - msg_Err
    - CoUninitialize
    - es_out_Del
    - IAudioClient_Release
    - IAudioClient_SetEventHandle
    - CreateES
    - unlikely
    - CreateEvent
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoInitializeEx
      Src: /src/vlc/modules/access/wasapi.c:501,1
    - Dst: assert
      Src: /src/vlc/modules/access/wasapi.c:502,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/wasapi.c:502,1
    - Dst: SetEvent
      Src: /src/vlc/modules/access/wasapi.c:504,1
    - Dst: WaitForSingleObject
      Src: /src/vlc/modules/access/wasapi.c:505,1
    - Dst: CloseHandle
      Src: /src/vlc/modules/access/wasapi.c:506,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/access/wasapi.c:508,1
    - Dst: IAudioClient_Release
      Src: /src/vlc/modules/access/wasapi.c:509,1
    - Dst: CoUninitialize
      Src: /src/vlc/modules/access/wasapi.c:510,1
    - Dst: CloseHandle
      Src: /src/vlc/modules/access/wasapi.c:512,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: (SUCCEEDED(hr))
      pos:
        line_end: 501
        line_start: 501
        source_file: /src/vlc/modules/access/wasapi.c
    constantsTouched: []
    func_position:
      end: 513
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 513
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/wasapi.c
    functionUses: 13
    functionsReached:
    - assert
    - WaitForSingleObject
    - CoInitializeEx
    - CoUninitialize
    - es_out_Del
    - IAudioClient_Release
    - SUCCEEDED
    - SetEvent
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: void Close (vlc_object_t *obj)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fstatfs
      Src: /src/vlc/modules/access/file.c:81,1
    - Dst: fstatvfs
      Src: /src/vlc/modules/access/file.c:89,1
    - Dst: fstatfs
      Src: /src/vlc/modules/access/file.c:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 117
    functionName: IsRemote
    functionSourceFile: /src/vlc/modules/access/file.c
    functionUses: 0
    functionsReached:
    - fstatvfs
    - fstatfs
    linkageType: ''
    returnType: bool
    signature: bool IsRemote (int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fd
    - ','
    - path
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: IsRemote
    functionSourceFile: /src/vlc/modules/access/file.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IsRemote(fd,path)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/file.c:124,1
    - Dst: strlen
      Src: /src/vlc/modules/access/file.c:126,1
    - Dst: WINAPI_FAMILY_PARTITION
      Src: /src/vlc/modules/access/file.c:131,1
    - Dst: GetDriveTypeA
      Src: /src/vlc/modules/access/file.c:139,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - fd
    - path
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 153
    functionName: IsRemote
    functionSourceFile: /src/vlc/modules/access/file.c
    functionUses: 0
    functionsReached:
    - GetDriveTypeA
    - strlen
    - WINAPI_FAMILY_PARTITION
    - VLC_UNUSED
    linkageType: ''
    returnType: bool
    signature: bool IsRemote(int fd, const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/vlc/modules/access/file.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: IsRemote
    functionSourceFile: /src/vlc/modules/access/file.c
    functionUses: 0
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: bool
    signature: bool IsRemote (const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fd
    - ','
    - path
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: IsRemote
    functionSourceFile: /src/vlc/modules/access/file.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IsRemote(fd,path)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/file.c:182,1
    - Dst: strtoul
      Src: /src/vlc/modules/access/file.c:185,1
    - Dst: vlc_dup
      Src: /src/vlc/modules/access/file.c:190,1
    - Dst: vlc_uri_decode_duplicate
      Src: /src/vlc/modules/access/file.c:193,1
    - Dst: vlc_openat
      Src: /src/vlc/modules/access/file.c:197,1
    - Dst: free
      Src: /src/vlc/modules/access/file.c:198,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/file.c:204,1
    - Dst: vlc_open
      Src: /src/vlc/modules/access/file.c:206,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/file.c:211,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/file.c:214,1
    - Dst: fstat
      Src: /src/vlc/modules/access/file.c:219,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/file.c:221,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/file.c:221,1
    - Dst: fcntl
      Src: /src/vlc/modules/access/file.c:227,1
    - Dst: fcntl
      Src: /src/vlc/modules/access/file.c:227,1
    - Dst: S_ISDIR
      Src: /src/vlc/modules/access/file.c:232,1
    - Dst: fdopendir
      Src: /src/vlc/modules/access/file.c:235,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/file.c:237,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/file.c:237,1
    - Dst: DirInit
      Src: /src/vlc/modules/access/file.c:240,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/file.c:242,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/access/file.c:247,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/file.c:248,1
    - Dst: S_ISREG
      Src: /src/vlc/modules/access/file.c:256,1
    - Dst: S_ISBLK
      Src: /src/vlc/modules/access/file.c:256,1
    - Dst: posix_fadvise
      Src: /src/vlc/modules/access/file.c:262,1
    - Dst: posix_fadvise
      Src: /src/vlc/modules/access/file.c:264,1
    - Dst: fcntl
      Src: /src/vlc/modules/access/file.c:266,1
    - Dst: IsRemote
      Src: /src/vlc/modules/access/file.c:269,1
    - Dst: fcntl
      Src: /src/vlc/modules/access/file.c:270,1
    - Dst: fcntl
      Src: /src/vlc/modules/access/file.c:272,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/file.c:278,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/file.c:284,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 65
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 286
    functionName: FileOpen
    functionSourceFile: /src/vlc/modules/access/file.c
    functionUses: 0
    functionsReached:
    - vlc_strerror_c
    - vlc_obj_malloc
    - S_ISBLK
    - fstat
    - strtoul
    - fcntl
    - msg_Err
    - msg_Dbg
    - strcasecmp
    - vlc_open
    - vlc_dup
    - posix_fadvise
    - S_ISREG
    - DirInit
    - fdopendir
    - vlc_uri_decode_duplicate
    - S_ISDIR
    - vlc_close
    - IsRemote
    - free
    - unlikely
    - vlc_openat
    linkageType: ''
    returnType: int
    signature: int FileOpen( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DirClose
      Src: /src/vlc/modules/access/file.c:297,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/file.c:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 304
    functionName: FileClose
    functionSourceFile: /src/vlc/modules/access/file.c
    functionUses: 0
    functionsReached:
    - DirClose
    - vlc_close
    linkageType: ''
    returnType: void
    signature: void FileClose (vlc_object_t * p_this)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_read_i11e
      Src: /src/vlc/modules/access/file.c:312,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/file.c:322,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/file.c:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - p_access
    - p_buffer
    - i_len
    argTypes:
    - stream_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 327
    functionName: Read
    functionSourceFile: /src/vlc/modules/access/file.c
    functionUses: 10
    functionsReached:
    - vlc_strerror_c
    - vlc_read_i11e
    - msg_Err
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Read (stream_t *p_access, void *p_buffer, size_t i_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lseek
      Src: /src/vlc/modules/access/file.c:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_access
    - i_pos
    argTypes:
    - stream_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 339
    functionName: FileSeek
    functionSourceFile: /src/vlc/modules/access/file.c
    functionUses: 0
    functionsReached:
    - lseek
    linkageType: ''
    returnType: int
    signature: int FileSeek (stream_t *p_access, uint64_t i_pos)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/file.c:354,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/file.c:360,1
    - Dst: fstat
      Src: /src/vlc/modules/access/file.c:369,1
    - Dst: S_ISREG
      Src: /src/vlc/modules/access/file.c:369,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/file.c:378,1
    - Dst: IsRemote
      Src: /src/vlc/modules/access/file.c:379,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/file.c:380,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/file.c:381,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/file.c:383,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/file.c:384,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - p_access
    - i_query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 396
    functionName: FileControl
    functionSourceFile: /src/vlc/modules/access/file.c
    functionUses: 0
    functionsReached:
    - fstat
    - var_InheritInteger
    - VLC_TICK_FROM_MS
    - IsRemote
    - S_ISREG
    - va_arg
    linkageType: ''
    returnType: int
    signature: int FileControl( stream_t *p_access, int i_query, va_list args )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: date_Get
      Src: /src/vlc/modules/access/timecode.c:63,1
    - Dst: lldiv
      Src: /src/vlc/modules/access/timecode.c:67,1
    - Dst: lldiv
      Src: /src/vlc/modules/access/timecode.c:69,1
    - Dst: lldiv
      Src: /src/vlc/modules/access/timecode.c:71,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/timecode.c:76,1
    - Dst: block_heap_Alloc
      Src: /src/vlc/modules/access/timecode.c:80,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/timecode.c:81,1
    - Dst: assert
      Src: /src/vlc/modules/access/timecode.c:85,1
    - Dst: date_Increment
      Src: /src/vlc/modules/access/timecode.c:88,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/timecode.c:89,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/timecode.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - demux
    - master
    argTypes:
    - demux_t*
    - bool
    assertStmts:
    - condition: (str[len] == '\0')
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/vlc/modules/access/timecode.c
    constantsTouched: []
    func_position:
      end: 93
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 93
    functionName: DemuxOnce
    functionSourceFile: /src/vlc/modules/access/timecode.c
    functionUses: 0
    functionsReached:
    - asprintf
    - assert
    - es_out_Send
    - lldiv
    - date_Get
    - date_Increment
    - block_heap_Alloc
    - unlikely
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int DemuxOnce (demux_t *demux, bool master)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DemuxOnce
      Src: /src/vlc/modules/access/timecode.c:100,1
    - Dst: date_Get
      Src: /src/vlc/modules/access/timecode.c:103,1
    - Dst: DemuxOnce
      Src: /src/vlc/modules/access/timecode.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 110
    functionName: Demux
    functionSourceFile: /src/vlc/modules/access/timecode.c
    functionUses: 1
    functionsReached:
    - date_Get
    - DemuxOnce
    linkageType: ''
    returnType: int
    signature: int Demux (demux_t *demux)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/timecode.c:119,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/timecode.c:123,1
    - Dst: INT64_C
      Src: /src/vlc/modules/access/timecode.c:123,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/timecode.c:127,1
    - Dst: date_Get
      Src: /src/vlc/modules/access/timecode.c:127,1
    - Dst: date_Set
      Src: /src/vlc/modules/access/timecode.c:131,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/timecode.c:131,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/timecode.c:136,1
    - Dst: date_Set
      Src: /src/vlc/modules/access/timecode.c:140,1
    - Dst: date_Decrement
      Src: /src/vlc/modules/access/timecode.c:141,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/timecode.c:150,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/timecode.c:150,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/timecode.c:157,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - demux
    - query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 164
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/timecode.c
    functionUses: 6
    functionsReached:
    - var_InheritInteger
    - VLC_TICK_FROM_MS
    - date_Set
    - INT64_C
    - va_arg
    - date_Get
    - date_Decrement
    linkageType: ''
    returnType: int
    signature: int Control (demux_t *demux, int query, va_list args)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/access/timecode.c:172,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/timecode.c:173,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/timecode.c:177,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/timecode.c:178,1
    - Dst: var_InheritURational
      Src: /src/vlc/modules/access/timecode.c:181,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/timecode.c:184,1
    - Dst: date_Init
      Src: /src/vlc/modules/access/timecode.c:188,1
    - Dst: date_Set
      Src: /src/vlc/modules/access/timecode.c:189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 196
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/timecode.c
    functionUses: 1
    functionsReached:
    - vlc_obj_malloc
    - date_Init
    - date_Set
    - var_InheritURational
    - msg_Err
    - es_out_Add
    - es_format_Init
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Open (vlc_object_t *obj)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/access/http.c:145,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http.c:146,1
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/access/http.c:169,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/http.c:171,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/http.c:172,1
    - Dst: vlc_credential_init
      Src: /src/vlc/modules/access/http.c:178,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/http.c:183,1
    - Dst: strchr
      Src: /src/vlc/modules/access/http.c:192,1
    - Dst: strchr
      Src: /src/vlc/modules/access/http.c:199,1
    - Dst: strchr
      Src: /src/vlc/modules/access/http.c:212,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/http.c:218,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/http.c:221,1
    - Dst: vlc_getProxyUrl
      Src: /src/vlc/modules/access/http.c:222,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/http.c:225,1
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/access/http.c:227,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:228,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/http.c:230,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/http.c:236,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/http.c:245,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/http.c:247,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/http.c:252,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/http.c:257,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/access/http.c:260,1
    - Dst: vlc_credential_get
      Src: /src/vlc/modules/access/http.c:262,1
    - Dst: Connect
      Src: /src/vlc/modules/access/http.c:275,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/http.c:282,1
    - Dst: Disconnect
      Src: /src/vlc/modules/access/http.c:289,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:292,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:293,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/http.c:296,1
    - Dst: vlc_credential_get
      Src: /src/vlc/modules/access/http.c:302,1
    - Dst: _
      Src: /src/vlc/modules/access/http.c:303,1
    - Dst: _
      Src: /src/vlc/modules/access/http.c:304,1
    - Dst: strdup
      Src: /src/vlc/modules/access/http.c:307,1
    - Dst: strdup
      Src: /src/vlc/modules/access/http.c:308,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/http.c:311,1
    - Dst: Disconnect
      Src: /src/vlc/modules/access/http.c:314,1
    - Dst: vlc_credential_store
      Src: /src/vlc/modules/access/http.c:321,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/http.c:333,1
    - Dst: vlc_credential_clean
      Src: /src/vlc/modules/access/http.c:340,1
    - Dst: Disconnect
      Src: /src/vlc/modules/access/http.c:345,1
    - Dst: vlc_credential_clean
      Src: /src/vlc/modules/access/http.c:348,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/http.c:349,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/http.c:351,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:352,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:353,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:354,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:355,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:356,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:357,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:358,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 160
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 361
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/http.c
    functionUses: 1
    functionsReached:
    - vlc_credential_store
    - vlc_getProxyUrl
    - strchr
    - vlc_obj_malloc
    - Disconnect
    - _
    - msg_Err
    - msg_Dbg
    - msg_Warn
    - vlc_UrlClean
    - vlc_UrlParse
    - strdup
    - var_InheritBool
    - vlc_credential_init
    - vlc_credential_clean
    - var_InheritString
    - free
    - vlc_credential_get
    - Connect
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/http.c:371,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/http.c:373,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:375,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:376,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:378,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:379,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:380,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:382,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:383,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:384,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:385,1
    - Dst: Disconnect
      Src: /src/vlc/modules/access/http.c:387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 388
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/http.c
    functionUses: 14
    functionsReached:
    - free
    - Disconnect
    - vlc_UrlClean
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tls_Read
      Src: /src/vlc/modules/access/http.c:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - p_access
    - pi_read
    - p_buffer
    - i_len
    argTypes:
    - stream_t*
    - int*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 400
    functionName: ReadData
    functionSourceFile: /src/vlc/modules/access/http.c
    functionUses: 0
    functionsReached:
    - vlc_tls_Read
    linkageType: ''
    returnType: int
    signature: "int ReadData( stream_t *p_access, int *pi_read,\n                     void
      *p_buffer, size_t i_len )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ReadData
      Src: /src/vlc/modules/access/http.c:427,1
    - Dst: Disconnect
      Src: /src/vlc/modules/access/http.c:435,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/http.c:438,1
    - Dst: Connect
      Src: /src/vlc/modules/access/http.c:439,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/http.c:440,1
    - Dst: assert
      Src: /src/vlc/modules/access/http.c:447,1
    - Dst: ReadICYMeta
      Src: /src/vlc/modules/access/http.c:453,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 3
    argNames:
    - p_access
    - p_buffer
    - i_len
    argTypes:
    - stream_t*
    - void*
    - size_t
    assertStmts:
    - condition: ( i_read >= 0 )
      pos:
        line_end: 446
        line_start: 446
        source_file: /src/vlc/modules/access/http.c
    constantsTouched: []
    func_position:
      end: 459
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 459
    functionName: Read
    functionSourceFile: /src/vlc/modules/access/http.c
    functionUses: 11
    functionsReached:
    - assert
    - ReadICYMeta
    - msg_Dbg
    - ReadData
    - Disconnect
    - Connect
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Read( stream_t *p_access, void *p_buffer, size_t i_len )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ReadData
      Src: /src/vlc/modules/access/http.c:470,1
    - Dst: malloc
      Src: /src/vlc/modules/access/http.c:477,1
    - Dst: ReadData
      Src: /src/vlc/modules/access/http.c:484,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:486,1
    - Dst: strcasestr
      Src: /src/vlc/modules/access/http.c:497,1
    - Dst: strlen
      Src: /src/vlc/modules/access/http.c:500,1
    - Dst: strstr
      Src: /src/vlc/modules/access/http.c:504,1
    - Dst: strchr
      Src: /src/vlc/modules/access/http.c:506,1
    - Dst: strchr
      Src: /src/vlc/modules/access/http.c:513,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http.c:518,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:520,1
    - Dst: strdup
      Src: /src/vlc/modules/access/http.c:521,1
    - Dst: EnsureUTF8
      Src: /src/vlc/modules/access/http.c:522,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:524,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/http.c:526,1
    - Dst: input_item_SetMeta
      Src: /src/vlc/modules/access/http.c:528,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:532,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 535
    functionName: ReadICYMeta
    functionSourceFile: /src/vlc/modules/access/http.c
    functionUses: 1
    functionsReached:
    - strchr
    - strdup
    - strlen
    - input_item_SetMeta
    - EnsureUTF8
    - free
    - strcmp
    - msg_Dbg
    - strstr
    - ReadData
    - strcasestr
    - malloc
    linkageType: ''
    returnType: int
    signature: int ReadICYMeta( stream_t *p_access )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_access
    - i_pos
    argTypes:
    - stream_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 544
    functionName: Seek
    functionSourceFile: /src/vlc/modules/access/http.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Seek( stream_t *p_access, uint64_t i_pos )
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/http.c:559,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/http.c:564,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/http.c:570,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/http.c:571,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/http.c:571,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/http.c:577,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/http.c:586,1
    - Dst: strdup
      Src: /src/vlc/modules/access/http.c:589,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/http.c:590,1
    - Dst: strdup
      Src: /src/vlc/modules/access/http.c:591,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/http.c:592,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/http.c:594,1
    - Dst: strdup
      Src: /src/vlc/modules/access/http.c:596,1
    - Dst: strdup
      Src: /src/vlc/modules/access/http.c:598,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 3
    argNames:
    - p_access
    - i_query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 609
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/http.c
    functionUses: 6
    functionsReached:
    - strdup
    - var_InheritInteger
    - VLC_TICK_FROM_MS
    - va_arg
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int Control( stream_t *p_access, int i_query, va_list args )
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/http.c:621,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:622,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:624,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:625,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:626,1
    - Dst: vlc_http_auth_Init
      Src: /src/vlc/modules/access/http.c:628,1
    - Dst: vlc_http_auth_Init
      Src: /src/vlc/modules/access/http.c:629,1
    - Dst: vlc_memstream_open
      Src: /src/vlc/modules/access/http.c:643,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/access/http.c:645,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/access/http.c:647,1
    - Dst: vlc_memstream_putc
      Src: /src/vlc/modules/access/http.c:650,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/access/http.c:652,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/access/http.c:654,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/access/http.c:655,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/access/http.c:657,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/access/http.c:659,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/access/http.c:660,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/access/http.c:663,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/access/http.c:667,1
    - Dst: vlc_http_auth_FormatAuthorizationHeader
      Src: /src/vlc/modules/access/http.c:675,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/http.c:675,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/access/http.c:679,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:680,1
    - Dst: vlc_http_auth_FormatAuthorizationHeader
      Src: /src/vlc/modules/access/http.c:689,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/http.c:689,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/access/http.c:693,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:695,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/access/http.c:699,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/access/http.c:701,1
    - Dst: vlc_memstream_close
      Src: /src/vlc/modules/access/http.c:703,1
    - Dst: assert
      Src: /src/vlc/modules/access/http.c:707,1
    - Dst: vlc_tls_SocketOpenTCP
      Src: /src/vlc/modules/access/http.c:708,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/http.c:708,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/http.c:712,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:713,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/http.c:717,1
    - Dst: vlc_tls_Write
      Src: /src/vlc/modules/access/http.c:718,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:719,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/http.c:723,1
    - Dst: Disconnect
      Src: /src/vlc/modules/access/http.c:724,1
    - Dst: vlc_tls_GetLine
      Src: /src/vlc/modules/access/http.c:729,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/http.c:732,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/http.c:735,1
    - Dst: atoi
      Src: /src/vlc/modules/access/http.c:737,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/http.c:738,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/http.c:740,1
    - Dst: atoi
      Src: /src/vlc/modules/access/http.c:742,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/http.c:743,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/http.c:749,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:750,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/http.c:761,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:762,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:765,1
    - Dst: vlc_tls_GetLine
      Src: /src/vlc/modules/access/http.c:771,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/http.c:774,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:781,1
    - Dst: strchr
      Src: /src/vlc/modules/access/http.c:785,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/http.c:787,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:788,1
    - Dst: strspn
      Src: /src/vlc/modules/access/http.c:792,1
    - Dst: strlen
      Src: /src/vlc/modules/access/http.c:795,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/http.c:806,1
    - Dst: atoll
      Src: /src/vlc/modules/access/http.c:808,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/http.c:814,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/http.c:824,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/http.c:830,1
    - Dst: strdup
      Src: /src/vlc/modules/access/http.c:837,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:840,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/http.c:843,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:845,1
    - Dst: strdup
      Src: /src/vlc/modules/access/http.c:846,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/http.c:847,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/http.c:849,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/http.c:851,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/http.c:853,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/http.c:855,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/access/http.c:856,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/access/http.c:857,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/http.c:870,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/http.c:872,1
    - Dst: atoi
      Src: /src/vlc/modules/access/http.c:873,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/http.c:882,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/http.c:884,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:886,1
    - Dst: strdup
      Src: /src/vlc/modules/access/http.c:887,1
    - Dst: EnsureUTF8
      Src: /src/vlc/modules/access/http.c:888,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:890,1
    - Dst: vlc_xml_decode
      Src: /src/vlc/modules/access/http.c:892,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/http.c:893,1
    - Dst: input_item_SetMeta
      Src: /src/vlc/modules/access/http.c:895,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/http.c:901,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:903,1
    - Dst: strdup
      Src: /src/vlc/modules/access/http.c:904,1
    - Dst: EnsureUTF8
      Src: /src/vlc/modules/access/http.c:905,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:907,1
    - Dst: vlc_xml_decode
      Src: /src/vlc/modules/access/http.c:909,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/http.c:910,1
    - Dst: input_item_SetMeta
      Src: /src/vlc/modules/access/http.c:912,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/access/http.c:915,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/http.c:917,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/access/http.c:919,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/access/http.c:920,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/access/http.c:921,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/http.c:923,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/http.c:925,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/http.c:927,1
    - Dst: vlc_http_auth_ParseWwwAuthenticateHeader
      Src: /src/vlc/modules/access/http.c:928,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/http.c:928,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/http.c:931,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/http.c:933,1
    - Dst: vlc_http_auth_ParseWwwAuthenticateHeader
      Src: /src/vlc/modules/access/http.c:934,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/http.c:934,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/http.c:937,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/http.c:939,1
    - Dst: AuthCheckReply
      Src: /src/vlc/modules/access/http.c:940,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/http.c:943,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/http.c:945,1
    - Dst: AuthCheckReply
      Src: /src/vlc/modules/access/http.c:946,1
    - Dst: free
      Src: /src/vlc/modules/access/http.c:950,1
    - Dst: Disconnect
      Src: /src/vlc/modules/access/http.c:955,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 226
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts:
    - condition: (p_sys->stream == NULL)
      pos:
        line_end: 706
        line_start: 706
        source_file: /src/vlc/modules/access/http.c
    constantsTouched: []
    func_position:
      end: 957
      start: 614
    functionDepth: 2
    functionLinenumber: 614
    functionLinenumberEnd: 957
    functionName: Connect
    functionSourceFile: /src/vlc/modules/access/http.c
    functionUses: 6
    functionsReached:
    - atoi
    - assert
    - strchr
    - vlc_http_auth_Init
    - vlc_xml_decode
    - vlc_memstream_open
    - EnsureUTF8
    - Disconnect
    - asprintf
    - vlc_tls_GetLine
    - vlc_tls_Write
    - msg_Err
    - msg_Dbg
    - strcasecmp
    - vlc_http_auth_FormatAuthorizationHeader
    - msg_Warn
    - strdup
    - vlc_memstream_printf
    - vlc_http_auth_ParseWwwAuthenticateHeader
    - strncmp
    - vlc_memstream_putc
    - vlc_memstream_close
    - vlc_tls_SocketOpenTCP
    - AuthCheckReply
    - strncasecmp
    - vlc_memstream_puts
    - strlen
    - strspn
    - input_item_SetMeta
    - free
    - VLC_OBJECT
    - atoll
    linkageType: ''
    returnType: int
    signature: int Connect( stream_t *p_access )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tls_Close
      Src: /src/vlc/modules/access/http.c:967,1
    - Dst: vlc_http_auth_Deinit
      Src: /src/vlc/modules/access/http.c:970,1
    - Dst: vlc_http_auth_Deinit
      Src: /src/vlc/modules/access/http.c:971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 972
    functionName: Disconnect
    functionSourceFile: /src/vlc/modules/access/http.c
    functionUses: 7
    functionsReached:
    - vlc_http_auth_Deinit
    - vlc_tls_Close
    linkageType: ''
    returnType: void
    signature: void Disconnect( stream_t *p_access )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_auth_ParseAuthenticationInfoHeader
      Src: /src/vlc/modules/access/http.c:982,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/http.c:982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p_access
    - psz_header
    - p_url
    - p_auth
    argTypes:
    - stream_t*
    - char*
    - vlc_url_t*
    - vlc_http_auth_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 978
    functionDepth: 1
    functionLinenumber: 978
    functionLinenumberEnd: 988
    functionName: AuthCheckReply
    functionSourceFile: /src/vlc/modules/access/http.c
    functionUses: 1
    functionsReached:
    - vlc_http_auth_ParseAuthenticationInfoHeader
    - VLC_OBJECT
    linkageType: ''
    returnType: int
    signature: "int AuthCheckReply( stream_t *p_access, const char *psz_header,\n
      \                          vlc_url_t *p_url, vlc_http_auth_t *p_auth )"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - dom
    argTypes:
    - BMDFieldDominance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 196
    functionName: FieldDominanceStr
    functionSourceFile: /src/vlc/modules/access/decklink.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *FieldDominanceStr(BMDFieldDominance dom)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - dom
    argTypes:
    - BMDFieldDominance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 212
    functionName: FieldDominanceBlockFlag
    functionSourceFile: /src/vlc/modules/access/decklink.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t FieldDominanceBlockFlag(BMDFieldDominance dom)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IDeckLinkDisplayMode*::GetFrameRate
      Src: /src/vlc/modules/access/decklink.cpp:220,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/decklink.cpp:234,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/decklink.cpp:237,1
    - Dst: IDeckLinkDisplayMode*::GetWidth
      Src: /src/vlc/modules/access/decklink.cpp:240,1
    - Dst: IDeckLinkDisplayMode*::GetHeight
      Src: /src/vlc/modules/access/decklink.cpp:241,1
    - Dst: var_InheritURational
      Src: /src/vlc/modules/access/decklink.cpp:249,1
    - Dst: FieldDominanceBlockFlag
      Src: /src/vlc/modules/access/decklink.cpp:255,1
    - Dst: IDeckLinkDisplayMode*::GetFieldDominance
      Src: /src/vlc/modules/access/decklink.cpp:255,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - demux
    - m
    - fmt_flags
    argTypes:
    - demux_t*
    - IDeckLinkDisplayMode*
    - BMDDetectedVideoInputFormatFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 257
    functionName: GetModeSettings
    functionSourceFile: /src/vlc/modules/access/decklink.cpp
    functionUses: 0
    functionsReached:
    - IDeckLinkDisplayMode*::GetFieldDominance
    - IDeckLinkDisplayMode*::GetHeight
    - msg_Err
    - var_InheritURational
    - IDeckLinkDisplayMode*::GetWidth
    - es_format_Init
    - FieldDominanceBlockFlag
    - IDeckLinkDisplayMode*::GetFrameRate
    linkageType: ''
    returnType: int
    signature: "int GetModeSettings(demux_t *demux, IDeckLinkDisplayMode *m,\n        BMDDetectedVideoInputFormatFlags
      fmt_flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/vlc/modules/access/decklink.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: DeckLinkCaptureDelegate::DeckLinkCaptureDelegate
    functionSourceFile: /src/vlc/modules/access/decklink.cpp
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void DeckLinkCaptureDelegate(demux_t *demux)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 267
    functionName: ~DeckLinkCaptureDelegate()
    functionSourceFile: /src/vlc/modules/access/decklink.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DeckLinkCaptureDelegate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 269
    functionName: DeckLinkCaptureDelegate::QueryInterface
    functionSourceFile: /src/vlc/modules/access/decklink.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QueryInterface(REFIID, LPVOID *) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_add
      Src: /src/vlc/modules/access/decklink.cpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: DeckLinkCaptureDelegate::AddRef
    functionSourceFile: /src/vlc/modules/access/decklink.cpp
    functionUses: 0
    functionsReached:
    - fetch_add
    linkageType: ''
    returnType: void
    signature: void AddRef(void) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fetch_sub
      Src: /src/vlc/modules/access/decklink.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 282
    functionName: DeckLinkCaptureDelegate::Release
    functionSourceFile: /src/vlc/modules/access/decklink.cpp
    functionUses: 0
    functionsReached:
    - fetch_sub
    linkageType: ''
    returnType: void
    signature: void Release(void) override
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<demux_sys_t *>
      Src: /src/vlc/modules/access/decklink.cpp:289,1
    - Dst: IDeckLinkDisplayMode*::GetName
      Src: /src/vlc/modules/access/decklink.cpp:296,1
    - Dst: DECKLINK_STRDUP
      Src: /src/vlc/modules/access/decklink.cpp:297,1
    - Dst: DECKLINK_FREE
      Src: /src/vlc/modules/access/decklink.cpp:298,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/decklink.cpp:301,1
    - Dst: free
      Src: /src/vlc/modules/access/decklink.cpp:303,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/decklink.cpp:305,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/decklink.cpp:318,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/access/decklink.cpp:322,1
    - Dst: GetModeSettings
      Src: /src/vlc/modules/access/decklink.cpp:324,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/decklink.cpp:326,1
    - Dst: demux_sys_t*::input::PauseStreams
      Src: /src/vlc/modules/access/decklink.cpp:328,1
    - Dst: demux_sys_t*::input::EnableVideoInput
      Src: /src/vlc/modules/access/decklink.cpp:329,1
    - Dst: IDeckLinkDisplayMode*::GetDisplayMode
      Src: /src/vlc/modules/access/decklink.cpp:329,1
    - Dst: demux_sys_t*::input::FlushStreams
      Src: /src/vlc/modules/access/decklink.cpp:330,1
    - Dst: demux_sys_t*::input::StartStreams
      Src: /src/vlc/modules/access/decklink.cpp:331,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - events
    - mode
    - flags
    argTypes:
    - BMDVideoInputFormatChangedEvents
    - IDeckLinkDisplayMode*
    - BMDDetectedVideoInputFormatFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 334
    functionName: DeckLinkCaptureDelegate::VideoInputFormatChanged
    functionSourceFile: /src/vlc/modules/access/decklink.cpp
    functionUses: 0
    functionsReached:
    - GetModeSettings
    - demux_sys_t*::input::EnableVideoInput
    - static_cast<demux_sys_t *>
    - IDeckLinkDisplayMode*::GetDisplayMode
    - demux_sys_t*::input::FlushStreams
    - DECKLINK_STRDUP
    - msg_Err
    - free
    - demux_sys_t*::input::PauseStreams
    - es_out_Del
    - msg_Dbg
    - IDeckLinkDisplayMode*::GetName
    - es_out_Add
    - demux_sys_t*::input::StartStreams
    - DECKLINK_FREE
    linkageType: ''
    returnType: void
    signature: "void VideoInputFormatChanged(BMDVideoInputFormatChangedEvents events,\n
      \                           IDeckLinkDisplayMode *mode,\n                             BMDDetectedVideoInputFormatFlags
      flags) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/vlc/modules/access/decklink.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: DeckLinkCaptureDelegate::DeckLinkCaptureDelegate
    functionSourceFile: /src/vlc/modules/access/decklink.cpp
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void DeckLinkCaptureDelegate(demux_t *demux)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 267
    functionName: ~DeckLinkCaptureDelegate()
    functionSourceFile: /src/vlc/modules/access/decklink.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DeckLinkCaptureDelegate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 269
    functionName: DeckLinkCaptureDelegate::QueryInterface
    functionSourceFile: /src/vlc/modules/access/decklink.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QueryInterface(REFIID, LPVOID *) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetch_add
      Src: /src/vlc/modules/access/decklink.cpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: DeckLinkCaptureDelegate::AddRef
    functionSourceFile: /src/vlc/modules/access/decklink.cpp
    functionUses: 0
    functionsReached:
    - fetch_add
    linkageType: ''
    returnType: void
    signature: void AddRef(void) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fetch_sub
      Src: /src/vlc/modules/access/decklink.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 282
    functionName: DeckLinkCaptureDelegate::Release
    functionSourceFile: /src/vlc/modules/access/decklink.cpp
    functionUses: 0
    functionsReached:
    - fetch_sub
    linkageType: ''
    returnType: void
    signature: void Release(void) override
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<demux_sys_t *>
      Src: /src/vlc/modules/access/decklink.cpp:289,1
    - Dst: IDeckLinkDisplayMode*::GetName
      Src: /src/vlc/modules/access/decklink.cpp:296,1
    - Dst: DECKLINK_STRDUP
      Src: /src/vlc/modules/access/decklink.cpp:297,1
    - Dst: DECKLINK_FREE
      Src: /src/vlc/modules/access/decklink.cpp:298,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/decklink.cpp:301,1
    - Dst: free
      Src: /src/vlc/modules/access/decklink.cpp:303,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/decklink.cpp:305,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/decklink.cpp:318,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/access/decklink.cpp:322,1
    - Dst: GetModeSettings
      Src: /src/vlc/modules/access/decklink.cpp:324,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/decklink.cpp:326,1
    - Dst: demux_sys_t*::input::PauseStreams
      Src: /src/vlc/modules/access/decklink.cpp:328,1
    - Dst: demux_sys_t*::input::EnableVideoInput
      Src: /src/vlc/modules/access/decklink.cpp:329,1
    - Dst: IDeckLinkDisplayMode*::GetDisplayMode
      Src: /src/vlc/modules/access/decklink.cpp:329,1
    - Dst: demux_sys_t*::input::FlushStreams
      Src: /src/vlc/modules/access/decklink.cpp:330,1
    - Dst: demux_sys_t*::input::StartStreams
      Src: /src/vlc/modules/access/decklink.cpp:331,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - events
    - mode
    - flags
    argTypes:
    - BMDVideoInputFormatChangedEvents
    - IDeckLinkDisplayMode*
    - BMDDetectedVideoInputFormatFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 334
    functionName: DeckLinkCaptureDelegate::VideoInputFormatChanged
    functionSourceFile: /src/vlc/modules/access/decklink.cpp
    functionUses: 0
    functionsReached:
    - GetModeSettings
    - demux_sys_t*::input::EnableVideoInput
    - static_cast<demux_sys_t *>
    - IDeckLinkDisplayMode*::GetDisplayMode
    - demux_sys_t*::input::FlushStreams
    - DECKLINK_STRDUP
    - msg_Err
    - free
    - demux_sys_t*::input::PauseStreams
    - es_out_Del
    - msg_Dbg
    - IDeckLinkDisplayMode*::GetName
    - es_out_Add
    - demux_sys_t*::input::StartStreams
    - DECKLINK_FREE
    linkageType: ''
    returnType: void
    signature: "void VideoInputFormatChanged(BMDVideoInputFormatChangedEvents events,\n
      \                           IDeckLinkDisplayMode *mode,\n                             BMDDetectedVideoInputFormatFlags
      flags) override"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<demux_sys_t *>
      Src: /src/vlc/modules/access/decklink.cpp:349,1
    - Dst: IDeckLinkVideoInputFrame*::GetFlags
      Src: /src/vlc/modules/access/decklink.cpp:352,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/decklink.cpp:353,1
    - Dst: IDeckLinkVideoInputFrame*::GetWidth
      Src: /src/vlc/modules/access/decklink.cpp:354,1
    - Dst: IDeckLinkVideoInputFrame*::GetHeight
      Src: /src/vlc/modules/access/decklink.cpp:354,1
    - Dst: IDeckLinkVideoInputFrame*::GetWidth
      Src: /src/vlc/modules/access/decklink.cpp:358,1
    - Dst: IDeckLinkVideoInputFrame*::GetHeight
      Src: /src/vlc/modules/access/decklink.cpp:359,1
    - Dst: IDeckLinkVideoInputFrame*::GetRowBytes
      Src: /src/vlc/modules/access/decklink.cpp:360,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/decklink.cpp:372,1
    - Dst: IDeckLinkVideoInputFrame*::GetBytes
      Src: /src/vlc/modules/access/decklink.cpp:377,1
    - Dst: IDeckLinkVideoInputFrame*::GetStreamTime
      Src: /src/vlc/modules/access/decklink.cpp:380,1
    - Dst: v210_convert
      Src: /src/vlc/modules/access/decklink.cpp:385,1
    - Dst: IDeckLinkVideoInputFrame*::GetAncillaryData
      Src: /src/vlc/modules/access/decklink.cpp:387,1
    - Dst: IDeckLinkVideoFrameAncillary*::GetBufferForVerticalBlankingLine
      Src: /src/vlc/modules/access/decklink.cpp:390,1
    - Dst: v210_convert
      Src: /src/vlc/modules/access/decklink.cpp:393,1
    - Dst: std::vector::front
      Src: /src/vlc/modules/access/decklink.cpp:393,1
    - Dst: vanc_to_cc
      Src: /src/vlc/modules/access/decklink.cpp:394,1
    - Dst: std::vector::front
      Src: /src/vlc/modules/access/decklink.cpp:394,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/decklink.cpp:402,1
    - Dst: strdup
      Src: /src/vlc/modules/access/decklink.cpp:403,1
    - Dst: N_
      Src: /src/vlc/modules/access/decklink.cpp:403,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/decklink.cpp:405,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/decklink.cpp:406,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/decklink.cpp:410,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/decklink.cpp:412,1
    - Dst: IDeckLinkVideoFrameAncillary*::Release
      Src: /src/vlc/modules/access/decklink.cpp:415,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/decklink.cpp:421,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/decklink.cpp:424,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/decklink.cpp:427,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/decklink.cpp:430,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/decklink.cpp:432,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/decklink.cpp:433,1
    - Dst: IDeckLinkAudioInputPacket*::GetSampleFrameCount
      Src: /src/vlc/modules/access/decklink.cpp:436,1
    - Dst: IDeckLinkAudioInputPacket*::GetSampleFrameCount
      Src: /src/vlc/modules/access/decklink.cpp:438,1
    - Dst: IDeckLinkAudioInputPacket*::GetBytes
      Src: /src/vlc/modules/access/decklink.cpp:442,1
    - Dst: IDeckLinkAudioInputPacket*::GetPacketTime
      Src: /src/vlc/modules/access/decklink.cpp:443,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/decklink.cpp:450,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/decklink.cpp:456,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/vlc/modules/access/decklink.cpp:457,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/decklink.cpp:462,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/decklink.cpp:467,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/decklink.cpp:470,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/decklink.cpp:472,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/decklink.cpp:475,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/decklink.cpp:478,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/decklink.cpp:480,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 89
    argCount: 2
    argNames:
    - videoFrame
    - audioFrame
    argTypes:
    - IDeckLinkVideoInputFrame*
    - IDeckLinkAudioInputPacket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 484
    functionName: DeckLinkCaptureDelegate::VideoInputFrameArrived
    functionSourceFile: /src/vlc/modules/access/decklink.cpp
    functionUses: 0
    functionsReached:
    - N_
    - memcpy
    - block_Alloc
    - es_format_Init
    - v210_convert
    - es_out_Send
    - vlc_mutex_lock
    - IDeckLinkVideoInputFrame*::GetHeight
    - msg_Dbg
    - msg_Warn
    - reinterpret_cast<uint8_t *>
    - IDeckLinkAudioInputPacket*::GetPacketTime
    - static_cast<demux_sys_t *>
    - IDeckLinkVideoFrameAncillary*::GetBufferForVerticalBlankingLine
    - strdup
    - IDeckLinkAudioInputPacket*::GetBytes
    - IDeckLinkVideoFrameAncillary*::Release
    - IDeckLinkVideoInputFrame*::GetBytes
    - std::vector::front
    - es_out_SetPCR
    - IDeckLinkVideoInputFrame*::GetAncillaryData
    - block_Release
    - IDeckLinkAudioInputPacket*::GetSampleFrameCount
    - vlc_mutex_unlock
    - IDeckLinkVideoInputFrame*::GetStreamTime
    - IDeckLinkVideoInputFrame*::GetWidth
    - IDeckLinkVideoInputFrame*::GetRowBytes
    - es_out_Add
    - vanc_to_cc
    - IDeckLinkVideoInputFrame*::GetFlags
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT DeckLinkCaptureDelegate::VideoInputFrameArrived(IDeckLinkVideoInputFrame*
      videoFrame, IDeckLinkAudioInputPacket* audioFrame)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: var_CreateGetNonEmptyString
      Src: /src/vlc/modules/access/decklink.cpp:491,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/decklink.cpp:496,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/decklink.cpp:498,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/decklink.cpp:500,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/decklink.cpp:503,1
    - Dst: free
      Src: /src/vlc/modules/access/decklink.cpp:504,1
    - Dst: free
      Src: /src/vlc/modules/access/decklink.cpp:508,1
    - Dst: demux_sys_t*::config::SetInt
      Src: /src/vlc/modules/access/decklink.cpp:509,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/decklink.cpp:510,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 515
    functionName: GetAudioConn
    functionSourceFile: /src/vlc/modules/access/decklink.cpp
    functionUses: 0
    functionsReached:
    - demux_sys_t*::config::SetInt
    - var_CreateGetNonEmptyString
    - msg_Err
    - free
    - strcmp
    linkageType: ''
    returnType: int
    signature: int GetAudioConn(demux_t *demux)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/decklink.cpp:521,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/decklink.cpp:526,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/decklink.cpp:528,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/decklink.cpp:530,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/decklink.cpp:532,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/decklink.cpp:534,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/decklink.cpp:536,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/decklink.cpp:539,1
    - Dst: free
      Src: /src/vlc/modules/access/decklink.cpp:540,1
    - Dst: free
      Src: /src/vlc/modules/access/decklink.cpp:544,1
    - Dst: demux_sys_t*::config::SetInt
      Src: /src/vlc/modules/access/decklink.cpp:545,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/decklink.cpp:546,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 551
    functionName: GetVideoConn
    functionSourceFile: /src/vlc/modules/access/decklink.cpp
    functionUses: 0
    functionsReached:
    - demux_sys_t*::config::SetInt
    - var_InheritString
    - msg_Err
    - free
    - strcmp
    linkageType: ''
    returnType: int
    signature: int GetVideoConn(demux_t *demux)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/access/decklink.cpp:570,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/access/decklink.cpp:574,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/access/decklink.cpp:576,1
    - Dst: CreateDeckLinkIteratorInstance
      Src: /src/vlc/modules/access/decklink.cpp:578,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/decklink.cpp:580,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/decklink.cpp:584,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/decklink.cpp:586,1
    - Dst: demux_sys_t*::card::Release
      Src: /src/vlc/modules/access/decklink.cpp:592,1
    - Dst: IDeckLinkIterator*::Next
      Src: /src/vlc/modules/access/decklink.cpp:593,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/decklink.cpp:594,1
    - Dst: demux_sys_t*::card::GetModelName
      Src: /src/vlc/modules/access/decklink.cpp:601,1
    - Dst: strdup
      Src: /src/vlc/modules/access/decklink.cpp:602,1
    - Dst: DECKLINK_STRDUP
      Src: /src/vlc/modules/access/decklink.cpp:604,1
    - Dst: DECKLINK_FREE
      Src: /src/vlc/modules/access/decklink.cpp:605,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/decklink.cpp:608,1
    - Dst: free
      Src: /src/vlc/modules/access/decklink.cpp:609,1
    - Dst: demux_sys_t*::card::QueryInterface
      Src: /src/vlc/modules/access/decklink.cpp:611,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/decklink.cpp:612,1
    - Dst: static_cast<IDeckLinkInput*>
      Src: /src/vlc/modules/access/decklink.cpp:615,1
    - Dst: demux_sys_t*::card::QueryInterface
      Src: /src/vlc/modules/access/decklink.cpp:618,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/decklink.cpp:619,1
    - Dst: static_cast<IDeckLinkConfiguration*>
      Src: /src/vlc/modules/access/decklink.cpp:622,1
    - Dst: demux_sys_t*::card::QueryInterface
      Src: /src/vlc/modules/access/decklink.cpp:624,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/decklink.cpp:625,1
    - Dst: static_cast<IDeckLinkProfileAttributes*>
      Src: /src/vlc/modules/access/decklink.cpp:628,1
    - Dst: GetVideoConn
      Src: /src/vlc/modules/access/decklink.cpp:630,1
    - Dst: GetAudioConn
      Src: /src/vlc/modules/access/decklink.cpp:630,1
    - Dst: demux_sys_t*::attributes::GetFlag
      Src: /src/vlc/modules/access/decklink.cpp:635,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/decklink.cpp:636,1
    - Dst: demux_sys_t*::input::GetDisplayModeIterator
      Src: /src/vlc/modules/access/decklink.cpp:642,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/decklink.cpp:643,1
    - Dst: var_CreateGetNonEmptyString
      Src: /src/vlc/modules/access/decklink.cpp:650,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/decklink.cpp:655,1
    - Dst: strnlen
      Src: /src/vlc/modules/access/decklink.cpp:660,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/decklink.cpp:662,1
    - Dst: free
      Src: /src/vlc/modules/access/decklink.cpp:663,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/decklink.cpp:667,1
    - Dst: BMDDisplayMode
      Src: /src/vlc/modules/access/decklink.cpp:670,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/access/decklink.cpp:670,1
    - Dst: free
      Src: /src/vlc/modules/access/decklink.cpp:671,1
    - Dst: IDeckLinkDisplayMode*::Release
      Src: /src/vlc/modules/access/decklink.cpp:677,1
    - Dst: IDeckLinkDisplayModeIterator*::Next
      Src: /src/vlc/modules/access/decklink.cpp:678,1
    - Dst: IDeckLinkDisplayMode*::GetDisplayMode
      Src: /src/vlc/modules/access/decklink.cpp:687,1
    - Dst: IDeckLinkDisplayMode*::GetName
      Src: /src/vlc/modules/access/decklink.cpp:689,1
    - Dst: DECKLINK_STRDUP
      Src: /src/vlc/modules/access/decklink.cpp:692,1
    - Dst: DECKLINK_FREE
      Src: /src/vlc/modules/access/decklink.cpp:693,1
    - Dst: IDeckLinkDisplayMode*::GetFrameRate
      Src: /src/vlc/modules/access/decklink.cpp:695,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/decklink.cpp:700,1
    - Dst: IDeckLinkDisplayMode*::GetWidth
      Src: /src/vlc/modules/access/decklink.cpp:702,1
    - Dst: IDeckLinkDisplayMode*::GetHeight
      Src: /src/vlc/modules/access/decklink.cpp:702,1
    - Dst: FieldDominanceStr
      Src: /src/vlc/modules/access/decklink.cpp:704,1
    - Dst: IDeckLinkDisplayMode*::GetFieldDominance
      Src: /src/vlc/modules/access/decklink.cpp:704,1
    - Dst: GetModeSettings
      Src: /src/vlc/modules/access/decklink.cpp:707,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/decklink.cpp:708,1
    - Dst: IDeckLinkDisplayModeIterator*::Release
      Src: /src/vlc/modules/access/decklink.cpp:712,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/decklink.cpp:715,1
    - Dst: demux_sys_t*::input::EnableVideoInput
      Src: /src/vlc/modules/access/decklink.cpp:719,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/decklink.cpp:720,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/decklink.cpp:725,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/decklink.cpp:742,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/decklink.cpp:746,1
    - Dst: demux_sys_t*::input::EnableAudioInput
      Src: /src/vlc/modules/access/decklink.cpp:748,1
    - Dst: BMDAudioSampleRate
      Src: /src/vlc/modules/access/decklink.cpp:748,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/decklink.cpp:749,1
    - Dst: DeckLinkCaptureDelegate::DeckLinkCaptureDelegate
      Src: /src/vlc/modules/access/decklink.cpp:754,1
    - Dst: demux_sys_t*::input::SetCallback
      Src: /src/vlc/modules/access/decklink.cpp:755,1
    - Dst: demux_sys_t*::input::StartStreams
      Src: /src/vlc/modules/access/decklink.cpp:757,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/decklink.cpp:758,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/decklink.cpp:763,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/decklink.cpp:765,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/decklink.cpp:768,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/decklink.cpp:778,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/decklink.cpp:781,1
    - Dst: IDeckLinkIterator*::Release
      Src: /src/vlc/modules/access/decklink.cpp:788,1
    - Dst: Close
      Src: /src/vlc/modules/access/decklink.cpp:791,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 179
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 553
    functionDepth: 2
    functionLinenumber: 553
    functionLinenumberEnd: 794
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/decklink.cpp
    functionUses: 1
    functionsReached:
    - demux_sys_t*::card::GetModelName
    - var_CreateGetNonEmptyString
    - static_cast<IDeckLinkProfileAttributes*>
    - es_format_Init
    - IDeckLinkIterator*::Next
    - DECKLINK_FREE
    - GetModeSettings
    - IDeckLinkDisplayMode*::Release
    - strnlen
    - demux_sys_t*::input::SetCallback
    - demux_sys_t*::input::EnableAudioInput
    - msg_Err
    - calloc
    - CreateDeckLinkIteratorInstance
    - demux_sys_t*::card::Release
    - msg_Dbg
    - IDeckLinkDisplayModeIterator*::Next
    - DeckLinkCaptureDelegate::DeckLinkCaptureDelegate
    - IDeckLinkDisplayMode*::GetFrameRate
    - FieldDominanceStr
    - demux_sys_t*::input::EnableVideoInput
    - demux_sys_t*::input::GetDisplayModeIterator
    - strdup
    - BMDDisplayMode
    - IDeckLinkDisplayMode*::GetHeight
    - IDeckLinkDisplayMode*::GetFieldDominance
    - var_InheritInteger
    - DECKLINK_STRDUP
    - var_InheritBool
    - BMDAudioSampleRate
    - IDeckLinkDisplayMode*::GetWidth
    - GetDWBE
    - IDeckLinkDisplayMode*::GetName
    - demux_sys_t*::attributes::GetFlag
    - demux_sys_t*::input::StartStreams
    - Close
    - static_cast<IDeckLinkConfiguration*>
    - GetVideoConn
    - IDeckLinkDisplayModeIterator*::Release
    - IDeckLinkIterator*::Release
    - IDeckLinkDisplayMode*::GetDisplayMode
    - demux_sys_t*::card::QueryInterface
    - vlc_mutex_init
    - static_cast<IDeckLinkInput*>
    - GetAudioConn
    - free
    - es_out_Add
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *p_this)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: demux_sys_t*::attributes::Release
      Src: /src/vlc/modules/access/decklink.cpp:802,1
    - Dst: demux_sys_t*::config::Release
      Src: /src/vlc/modules/access/decklink.cpp:805,1
    - Dst: demux_sys_t*::input::StopStreams
      Src: /src/vlc/modules/access/decklink.cpp:808,1
    - Dst: demux_sys_t*::input::Release
      Src: /src/vlc/modules/access/decklink.cpp:809,1
    - Dst: demux_sys_t*::card::Release
      Src: /src/vlc/modules/access/decklink.cpp:813,1
    - Dst: demux_sys_t*::delegate::Release
      Src: /src/vlc/modules/access/decklink.cpp:816,1
    - Dst: free
      Src: /src/vlc/modules/access/decklink.cpp:818,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 819
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/decklink.cpp
    functionUses: 16
    functionsReached:
    - demux_sys_t*::attributes::Release
    - demux_sys_t*::delegate::Release
    - free
    - demux_sys_t*::card::Release
    - demux_sys_t*::input::Release
    - demux_sys_t*::config::Release
    - demux_sys_t*::input::StopStreams
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *p_this)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/decklink.cpp:832,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/decklink.cpp:837,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/decklink.cpp:838,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/decklink.cpp:838,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/decklink.cpp:842,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/decklink.cpp:843,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/decklink.cpp:844,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 3
    argNames:
    - demux
    - query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 850
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/decklink.cpp
    functionUses: 6
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - var_InheritInteger
    - VLC_TICK_FROM_MS
    - va_arg
    linkageType: ''
    returnType: int
    signature: int Control(demux_t *demux, int query, va_list args)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/access/rist.h:118,1
    - Dst: strlen
      Src: /src/vlc/modules/access/rist.h:118,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/rist.h:120,1
    - Dst: strlen
      Src: /src/vlc/modules/access/rist.h:120,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/rist.h:124,1
    - Dst: strlen
      Src: /src/vlc/modules/access/rist.h:124,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/rist.h:126,1
    - Dst: strlen
      Src: /src/vlc/modules/access/rist.h:126,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - arg
    - log_level
    - msg
    argTypes:
    - void*
    - enum rist_log_level
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 129
    functionName: log_cb
    functionSourceFile: /src/vlc/modules/access/rist.h
    functionUses: 0
    functionsReached:
    - strlen
    - msg_Dbg
    - msg_Warn
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int log_cb(void *arg, enum rist_log_level log_level, const char *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/rist.h:133,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/rist.h:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 141
    functionName: rist_get_max_packet_size
    functionSourceFile: /src/vlc/modules/access/rist.h
    functionUses: 0
    functionsReached:
    - var_InheritInteger
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int rist_get_max_packet_size(vlc_object_t *p_this)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/rist.h:145,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/rist.h:146,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/rist.h:147,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/rist.h:148,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/rist.h:151,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/rist.h:155,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/rist.h:159,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/rist.h:165,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/rist.h:169,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/rist.h:173,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/rist.h:178,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/rist.h:181,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/rist.h:183,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/rist.h:186,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/rist.h:188,1
    - Dst: msg_Info
      Src: /src/vlc/modules/access/rist.h:192,1
    - Dst: strdup
      Src: /src/vlc/modules/access/rist.h:195,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/rist.h:196,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/rist.h:197,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/rist.h:198,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/rist.h:202,1
    - Dst: free
      Src: /src/vlc/modules/access/rist.h:207,1
    - Dst: strlcpy
      Src: /src/vlc/modules/access/rist.h:230,1
    - Dst: strlcpy
      Src: /src/vlc/modules/access/rist.h:234,1
    - Dst: strlcpy
      Src: /src/vlc/modules/access/rist.h:238,1
    - Dst: strlcpy
      Src: /src/vlc/modules/access/rist.h:243,1
    - Dst: rist_parse_address2
      Src: /src/vlc/modules/access/rist.h:249,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/rist.h:251,1
    - Dst: free
      Src: /src/vlc/modules/access/rist.h:252,1
    - Dst: rist_peer_create
      Src: /src/vlc/modules/access/rist.h:257,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/rist.h:258,1
    - Dst: free
      Src: /src/vlc/modules/access/rist.h:259,1
    - Dst: free
      Src: /src/vlc/modules/access/rist.h:265,1
    - Dst: free
      Src: /src/vlc/modules/access/rist.h:268,1
    - Dst: free
      Src: /src/vlc/modules/access/rist.h:269,1
    - Dst: free
      Src: /src/vlc/modules/access/rist.h:270,1
    - Dst: free
      Src: /src/vlc/modules/access/rist.h:271,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 72
    argCount: 6
    argNames:
    - p_this
    - ctx
    - psz_url
    - i_multipeer_mode
    - virt_dst_port
    - i_recovery_length
    argTypes:
    - vlc_object_t*
    - struct rist_ctx*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 275
    functionName: rist_add_peers
    functionSourceFile: /src/vlc/modules/access/rist.h
    functionUses: 0
    functionsReached:
    - strdup
    - var_InheritString
    - ARRAY_SIZE
    - strlcpy
    - rist_parse_address2
    - var_InheritInteger
    - msg_Err
    - free
    - msg_Info
    - msg_Warn
    - rist_peer_create
    linkageType: ''
    returnType: bool
    signature: bool rist_add_peers(vlc_object_t *p_this, struct rist_ctx *ctx, char
      *psz_url, int i_multipeer_mode, int virt_dst_port, int i_recovery_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/imem.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sys
    argTypes:
    - imem_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: CloseCommon
    functionSourceFile: /src/vlc/modules/access/imem.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void CloseCommon(imem_sys_t *sys)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/access/imem.c:241,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/imem.c:246,1
    - Dst: strtoll
      Src: /src/vlc/modules/access/imem.c:248,1
    - Dst: free
      Src: /src/vlc/modules/access/imem.c:249,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/imem.c:251,1
    - Dst: strtoll
      Src: /src/vlc/modules/access/imem.c:253,1
    - Dst: free
      Src: /src/vlc/modules/access/imem.c:254,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/imem.c:260,1
    - Dst: strtoull
      Src: /src/vlc/modules/access/imem.c:262,1
    - Dst: free
      Src: /src/vlc/modules/access/imem.c:263,1
    - Dst: ParseMRL
      Src: /src/vlc/modules/access/imem.c:268,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/imem.c:270,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/imem.c:272,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - object
    - sys_ptr
    - psz_path
    argTypes:
    - vlc_object_t*
    - imem_sys_t**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 283
    functionName: OpenCommon
    functionSourceFile: /src/vlc/modules/access/imem.c
    functionUses: 0
    functionsReached:
    - strtoull
    - var_InheritString
    - strtoll
    - free
    - msg_Dbg
    - ParseMRL
    - vlc_obj_calloc
    linkageType: ''
    returnType: int
    signature: int OpenCommon(vlc_object_t *object, imem_sys_t **sys_ptr, const char
      *psz_path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OpenCommon
      Src: /src/vlc/modules/access/imem.c:293,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/imem.c:296,1
    - Dst: CloseCommon
      Src: /src/vlc/modules/access/imem.c:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 309
    functionName: OpenAccess
    functionSourceFile: /src/vlc/modules/access/imem.c
    functionUses: 0
    functionsReached:
    - OpenCommon
    - var_InheritInteger
    - CloseCommon
    linkageType: ''
    returnType: int
    signature: int OpenAccess(vlc_object_t *object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CloseCommon
      Src: /src/vlc/modules/access/imem.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 319
    functionName: CloseAccess
    functionSourceFile: /src/vlc/modules/access/imem.c
    functionUses: 0
    functionsReached:
    - CloseCommon
    linkageType: ''
    returnType: void
    signature: void CloseAccess(vlc_object_t *object)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/imem.c:331,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/imem.c:337,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/imem.c:342,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/imem.c:343,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/imem.c:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 3
    argNames:
    - access
    - i_query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 356
    functionName: ControlAccess
    functionSourceFile: /src/vlc/modules/access/imem.c
    functionUses: 0
    functionsReached:
    - var_InheritInteger
    - va_arg
    linkageType: ''
    returnType: int
    signature: int ControlAccess(stream_t *access, int i_query, va_list args)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: imem_sys_t*::source::get
      Src: /src/vlc/modules/access/imem.c:370,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/imem.c:378,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/imem.c:380,1
    - Dst: imem_sys_t*::source::release
      Src: /src/vlc/modules/access/imem.c:383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - access
    - eof
    argTypes:
    - stream_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 386
    functionName: Block
    functionSourceFile: /src/vlc/modules/access/imem.c
    functionUses: 2
    functionsReached:
    - block_Alloc
    - memcpy
    - imem_sys_t*::source::release
    - imem_sys_t*::source::get
    linkageType: ''
    returnType: block_t
    signature: block_t *Block(stream_t *access, bool *restrict eof)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/imem.c:390,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/imem.c:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 405
    functionName: GetCategory
    functionSourceFile: /src/vlc/modules/access/imem.c
    functionUses: 0
    functionsReached:
    - var_InheritInteger
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int GetCategory(vlc_object_t *object)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: OpenCommon
      Src: /src/vlc/modules/access/imem.c:418,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/imem.c:423,1
    - Dst: GetCategory
      Src: /src/vlc/modules/access/imem.c:423,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/imem.c:425,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/imem.c:426,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/imem.c:428,1
    - Dst: vlc_fourcc_GetCodecFromString
      Src: /src/vlc/modules/access/imem.c:430,1
    - Dst: free
      Src: /src/vlc/modules/access/imem.c:431,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/imem.c:435,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/imem.c:436,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/imem.c:438,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/imem.c:444,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/imem.c:445,1
    - Dst: var_InheritURational
      Src: /src/vlc/modules/access/imem.c:447,1
    - Dst: var_InheritURational
      Src: /src/vlc/modules/access/imem.c:453,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/imem.c:458,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/imem.c:467,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/imem.c:469,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/imem.c:471,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/access/imem.c:476,1
    - Dst: CloseCommon
      Src: /src/vlc/modules/access/imem.c:477,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/imem.c:481,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/imem.c:483,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/access/imem.c:484,1
    - Dst: CloseCommon
      Src: /src/vlc/modules/access/imem.c:487,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 1
    argNames:
    - object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 497
    functionName: OpenDemux
    functionSourceFile: /src/vlc/modules/access/imem.c
    functionUses: 0
    functionsReached:
    - var_InheritString
    - es_format_Clean
    - CloseCommon
    - var_InheritInteger
    - var_InheritURational
    - free
    - vlc_fourcc_GetCodecFromString
    - msg_Dbg
    - es_out_Add
    - es_format_Init
    - OpenCommon
    - GetCategory
    linkageType: ''
    returnType: int
    signature: int OpenDemux(vlc_object_t *object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CloseCommon
      Src: /src/vlc/modules/access/imem.c:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 507
    functionName: CloseDemux
    functionSourceFile: /src/vlc/modules/access/imem.c
    functionUses: 0
    functionsReached:
    - CloseCommon
    linkageType: ''
    returnType: void
    signature: void CloseDemux(vlc_object_t *object)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/imem.c:520,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/imem.c:532,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/imem.c:545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 35
    argCount: 3
    argNames:
    - demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 557
    functionName: ControlDemux
    functionSourceFile: /src/vlc/modules/access/imem.c
    functionUses: 0
    functionsReached:
    - va_arg
    linkageType: ''
    returnType: int
    signature: int ControlDemux(demux_t *demux, int i_query, va_list args)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: imem_sys_t*::source::get
      Src: /src/vlc/modules/access/imem.c:580,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/imem.c:588,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/imem.c:592,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/imem.c:594,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/imem.c:595,1
    - Dst: imem_sys_t*::source::release
      Src: /src/vlc/modules/access/imem.c:601,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 606
    functionName: Demux
    functionSourceFile: /src/vlc/modules/access/imem.c
    functionUses: 1
    functionsReached:
    - imem_sys_t*::source::release
    - es_out_Send
    - memcpy
    - block_Alloc
    - es_out_SetPCR
    - imem_sys_t*::source::get
    linkageType: ''
    returnType: int
    signature: int Demux(demux_t *demux)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/access/imem.c:636,1
    - Dst: strchr
      Src: /src/vlc/modules/access/imem.c:642,1
    - Dst: strchr
      Src: /src/vlc/modules/access/imem.c:647,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/imem.c:650,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/imem.c:652,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/imem.c:656,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/imem.c:659,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/imem.c:662,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/access/imem.c:664,1
    - Dst: strtol
      Src: /src/vlc/modules/access/imem.c:664,1
    - Dst: var_SetString
      Src: /src/vlc/modules/access/imem.c:666,1
    - Dst: free
      Src: /src/vlc/modules/access/imem.c:670,1
    - Dst: free
      Src: /src/vlc/modules/access/imem.c:675,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 2
    argNames:
    - object
    - psz_path
    argTypes:
    - vlc_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 615
    functionDepth: 2
    functionLinenumber: 615
    functionLinenumberEnd: 676
    functionName: ParseMRL
    functionSourceFile: /src/vlc/modules/access/imem.c
    functionUses: 1
    functionsReached:
    - asprintf
    - strchr
    - strdup
    - var_Create
    - var_SetInteger
    - strcmp
    - strtol
    - free
    - msg_Dbg
    - var_SetString
    linkageType: ''
    returnType: void
    signature: void ParseMRL(vlc_object_t *object, const char *psz_path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EM_ASM
      Src: /src/vlc/modules/access/emjsfile.c:51,1
    - Dst: worker_js_file::slice
      Src: /src/vlc/modules/access/emjsfile.c:55,1
    - Dst: set
      Src: /src/vlc/modules/access/emjsfile.c:56,1
    - Dst: reader::readAsArrayBuffer
      Src: /src/vlc/modules/access/emjsfile.c:56,1
    - Dst: Uint8Array::Uint8Array
      Src: /src/vlc/modules/access/emjsfile.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - p_access
    - buffer
    - size
    argTypes:
    - stream_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: Read
    functionSourceFile: /src/vlc/modules/access/emjsfile.c
    functionUses: 11
    functionsReached:
    - worker_js_file::slice
    - Uint8Array::Uint8Array
    - EM_ASM
    - set
    - reader::readAsArrayBuffer
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Read (stream_t *p_access, void *buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_access
    - offset
    argTypes:
    - stream_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: Seek
    functionSourceFile: /src/vlc/modules/access/emjsfile.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Seek (stream_t *p_access, uint64_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/emjsfile.c:75,1
    - Dst: EM_ASM_INT
      Src: /src/vlc/modules/access/emjsfile.c:76,1
    - Dst: BigUint64Array::BigUint64Array
      Src: /src/vlc/modules/access/emjsfile.c:78,1
    - Dst: BigInt
      Src: /src/vlc/modules/access/emjsfile.c:79,1
    - Dst: error
      Src: /src/vlc/modules/access/emjsfile.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - p_access
    - value
    argTypes:
    - stream_t*
    - uint64_t*
    assertStmts:
    - condition: (((uintptr_t)value % 8) == 0)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/vlc/modules/access/emjsfile.c
    constantsTouched: []
    func_position:
      end: 87
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 87
    functionName: get_js_file_size
    functionSourceFile: /src/vlc/modules/access/emjsfile.c
    functionUses: 0
    functionsReached:
    - assert
    - EM_ASM_INT
    - error
    - BigUint64Array::BigUint64Array
    - BigInt
    linkageType: ''
    returnType: int
    signature: int get_js_file_size(stream_t *p_access, uint64_t *value)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/emjsfile.c:99,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/emjsfile.c:105,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/emjsfile.c:116,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/emjsfile.c:117,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/emjsfile.c:118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - p_access
    - i_query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 129
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/emjsfile.c
    functionUses: 6
    functionsReached:
    - var_InheritInteger
    - va_arg
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: int
    signature: int Control( stream_t *p_access, int i_query, va_list args )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handleFileResult
      Src: /src/vlc/modules/access/emjsfile.c:133,1
    - Dst: removeEventListener
      Src: /src/vlc/modules/access/emjsfile.c:136,1
    - Dst: FileReaderSync::FileReaderSync
      Src: /src/vlc/modules/access/emjsfile.c:139,1
    - Dst: resolve
      Src: /src/vlc/modules/access/emjsfile.c:140,1
    - Dst: reject
      Src: /src/vlc/modules/access/emjsfile.c:143,1
    - Dst: reject
      Src: /src/vlc/modules/access/emjsfile.c:147,1
    - Dst: reject
      Src: /src/vlc/modules/access/emjsfile.c:150,1
    - Dst: reject
      Src: /src/vlc/modules/access/emjsfile.c:153,1
    - Dst: Promise::Promise
      Src: /src/vlc/modules/access/emjsfile.c:132,1
    - Dst: setTimeout
      Src: /src/vlc/modules/access/emjsfile.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 161
    functionName: EM_ASYNC_JS
    functionSourceFile: /src/vlc/modules/access/emjsfile.c
    functionUses: 0
    functionsReached:
    - setTimeout
    - removeEventListener
    - reject
    - resolve
    - Promise::Promise
    - FileReaderSync::FileReaderSync
    - handleFileResult
    linkageType: ''
    returnType: void
    signature: "void EM_ASYNC_JS(int, init_js_file, (stream_t *p_access, long id),
      {\n    let p = new Promise((resolve, reject) => {\n        function handleFileResult(e)
      {\n            const msg = e['data'];\n            if (msg.type === 'FileResult')
      {\n                self.removeEventListener('message', handleFileResult);\n
      \               if (msg.file !== undefined) {\n                    Module.vlcAccess[p_access].worker_js_file
      = msg.file;\n                    Module.vlcAccess[p_access].reader = new FileReaderSync();\n
      \                   resolve();\n                }\n                else {\n
      \                   reject(\"error: sent an undefined File object from the main
      thread\");\n                }\n            }\n            else if (msg.type
      === 'ErrorVLCAccessFileUndefined') {\n                reject(\"error: vlc_access_file
      object is not defined\");\n            }\n            else if (msg.type ===
      'ErrorRequestFileMessageWithoutId') {\n                reject(\"error: request
      file message send without an id\");\n            }\n            else if (msg.type
      === 'ErrorMissingFile') {\n                reject(\"error: missing file, bad
      id or vlc_access_file[id] is not defined\");\n            }\n        }\n        self.addEventListener('message',
      handleFileResult);\n    });\n    let timer = undefined;\n    let timeout = new
      Promise((resolve)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EM_ASM
      Src: /src/vlc/modules/access/emjsfile.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: EmFileClose
    functionSourceFile: /src/vlc/modules/access/emjsfile.c
    functionUses: 0
    functionsReached:
    - EM_ASM
    linkageType: ''
    returnType: void
    signature: void EmFileClose (vlc_object_t * p_this)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EM_ASM
      Src: /src/vlc/modules/access/emjsfile.c:193,1
    - Dst: MAIN_THREAD_EM_ASM
      Src: /src/vlc/modules/access/emjsfile.c:208,1
    - Dst: let::removeEventListener
      Src: /src/vlc/modules/access/emjsfile.c:214,1
    - Dst: error
      Src: /src/vlc/modules/access/emjsfile.c:216,1
    - Dst: let::postMessage
      Src: /src/vlc/modules/access/emjsfile.c:217,1
    - Dst: error
      Src: /src/vlc/modules/access/emjsfile.c:223,1
    - Dst: let::postMessage
      Src: /src/vlc/modules/access/emjsfile.c:224,1
    - Dst: error
      Src: /src/vlc/modules/access/emjsfile.c:230,1
    - Dst: let::postMessage
      Src: /src/vlc/modules/access/emjsfile.c:231,1
    - Dst: let::postMessage
      Src: /src/vlc/modules/access/emjsfile.c:241,1
    - Dst: let::addEventListener
      Src: /src/vlc/modules/access/emjsfile.c:247,1
    - Dst: pthread_self
      Src: /src/vlc/modules/access/emjsfile.c:248,1
    - Dst: strtol
      Src: /src/vlc/modules/access/emjsfile.c:251,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/emjsfile.c:253,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/access/emjsfile.c:257,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/emjsfile.c:258,1
    - Dst: init_js_file
      Src: /src/vlc/modules/access/emjsfile.c:268,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/emjsfile.c:269,1
    - Dst: get_js_file_size
      Src: /src/vlc/modules/access/emjsfile.c:280,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/emjsfile.c:281,1
    - Dst: EmFileClose
      Src: /src/vlc/modules/access/emjsfile.c:282,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 287
    functionName: EmFileOpen
    functionSourceFile: /src/vlc/modules/access/emjsfile.c
    functionUses: 0
    functionsReached:
    - get_js_file_size
    - vlc_obj_malloc
    - EmFileClose
    - let::addEventListener
    - let::postMessage
    - error
    - init_js_file
    - msg_Err
    - EM_ASM
    - strtol
    - let::removeEventListener
    - MAIN_THREAD_EM_ASM
    - pthread_self
    - unlikely
    linkageType: ''
    returnType: int
    signature: int EmFileOpen( vlc_object_t *p_this )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: removeEventListener
      Src: /src/vlc/modules/access/emjsfile.c:214,1
    - Dst: error
      Src: /src/vlc/modules/access/emjsfile.c:216,1
    - Dst: postMessage
      Src: /src/vlc/modules/access/emjsfile.c:217,1
    - Dst: error
      Src: /src/vlc/modules/access/emjsfile.c:223,1
    - Dst: postMessage
      Src: /src/vlc/modules/access/emjsfile.c:224,1
    - Dst: error
      Src: /src/vlc/modules/access/emjsfile.c:230,1
    - Dst: postMessage
      Src: /src/vlc/modules/access/emjsfile.c:231,1
    - Dst: postMessage
      Src: /src/vlc/modules/access/emjsfile.c:241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 246
    functionName: handleFileRequest
    functionSourceFile: /src/vlc/modules/access/emjsfile.c
    functionUses: 0
    functionsReached:
    - error
    - postMessage
    - removeEventListener
    linkageType: ''
    returnType: function
    signature: function handleFileRequest(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ' env'
    - rtspURL
    - verbosityLevel
    - applicationName
    - tunnelOverHTTPPortNum
    - p_sys
    argTypes:
    - UsageEnvironment
    - char*
    - int
    - char*
    - portNumBits
    - demux_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 266
    functionName: RTSPClientVlc::RTSPClientVlc
    functionSourceFile: /src/vlc/modules/access/live555.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void RTSPClientVlc( UsageEnvironment& env, char const* rtspURL, int
      verbosityLevel,\n                   char const* applicationName, portNumBits
      tunnelOverHTTPPortNum,\n                   demux_sys_t *p_sys)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ' env'
    - rtspURL
    - verbosityLevel
    - applicationName
    - tunnelOverHTTPPortNum
    - p_sys
    argTypes:
    - UsageEnvironment
    - char*
    - int
    - char*
    - portNumBits
    - demux_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 266
    functionName: RTSPClientVlc::RTSPClientVlc
    functionSourceFile: /src/vlc/modules/access/live555.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void RTSPClientVlc( UsageEnvironment& env, char const* rtspURL, int
      verbosityLevel,\n                   char const* applicationName, portNumBits
      tunnelOverHTTPPortNum,\n                   demux_sys_t *p_sys)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseGeneralConfigStr
      Src: /src/vlc/modules/access/live555.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - configStr
    - configSize
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 305
    functionName: parseGeneralConfigStr
    functionSourceFile: /src/vlc/modules/access/live555.cpp
    functionUses: 1
    functionsReached:
    - parseGeneralConfigStr
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * parseGeneralConfigStr(char const *configStr, size_t &configSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseStreamMuxConfigStr
      Src: /src/vlc/modules/access/live555.cpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - configStr
    - configSize
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 314
    functionName: parseStreamMuxConfigStr
    functionSourceFile: /src/vlc/modules/access/live555.cpp
    functionUses: 1
    functionsReached:
    - parseStreamMuxConfigStr
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * parseStreamMuxConfigStr(char const *configStr, size_t &configSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseGeneralConfigStr
      Src: /src/vlc/modules/access/live555.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - configStr
    - configSize
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 305
    functionName: parseGeneralConfigStr
    functionSourceFile: /src/vlc/modules/access/live555.cpp
    functionUses: 2
    functionsReached:
    - parseGeneralConfigStr
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * parseGeneralConfigStr(char const *configStr, size_t &configSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseStreamMuxConfigStr
      Src: /src/vlc/modules/access/live555.cpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - configStr
    - configSize
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 314
    functionName: parseStreamMuxConfigStr
    functionSourceFile: /src/vlc/modules/access/live555.cpp
    functionUses: 2
    functionsReached:
    - parseStreamMuxConfigStr
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * parseStreamMuxConfigStr(char const *configStr, size_t &configSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::malloc
      Src: /src/vlc/modules/access/live555.cpp:326,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/live555.cpp:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - p_extra
    - i_extra
    - dst
    argTypes:
    - void*
    - size_t
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 333
    functionName: copyExtradata
    functionSourceFile: /src/vlc/modules/access/live555.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - std::malloc
    linkageType: ''
    returnType: bool
    signature: bool copyExtradata( const void *p_extra, size_t i_extra, es_format_t
      *dst )
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/vlc/modules/access/live555.cpp:354,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/live555.cpp:356,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/live555.cpp:361,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/live555.cpp:363,1
    - Dst: free
      Src: /src/vlc/modules/access/live555.cpp:364,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/access/live555.cpp:373,1
    - Dst: memcmp
      Src: /src/vlc/modules/access/live555.cpp:375,1
    - Dst: memcmp
      Src: /src/vlc/modules/access/live555.cpp:376,1
    - Dst: demux_sys_t::demux_sys_t
      Src: /src/vlc/modules/access/live555.cpp:385,1
    - Dst: vlc_timer_create
      Src: /src/vlc/modules/access/live555.cpp:388,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/live555.cpp:394,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/access/live555.cpp:397,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/access/live555.cpp:398,1
    - Dst: TAB_INIT
      Src: /src/vlc/modules/access/live555.cpp:403,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/access/live555.cpp:405,1
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/access/live555.cpp:409,1
    - Dst: passwordLessURL
      Src: /src/vlc/modules/access/live555.cpp:411,1
    - Dst: BasicTaskScheduler::createNew
      Src: /src/vlc/modules/access/live555.cpp:417,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/live555.cpp:419,1
    - Dst: BasicUsageEnvironment::createNew
      Src: /src/vlc/modules/access/live555.cpp:422,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/live555.cpp:424,1
    - Dst: strchr
      Src: /src/vlc/modules/access/live555.cpp:431,1
    - Dst: malloc
      Src: /src/vlc/modules/access/live555.cpp:439,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/access/live555.cpp:449,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/live555.cpp:453,1
    - Dst: free
      Src: /src/vlc/modules/access/live555.cpp:454,1
    - Dst: xrealloc
      Src: /src/vlc/modules/access/live555.cpp:467,1
    - Dst: Connect
      Src: /src/vlc/modules/access/live555.cpp:471,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/live555.cpp:473,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/live555.cpp:479,1
    - Dst: SessionsSetup
      Src: /src/vlc/modules/access/live555.cpp:484,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/live555.cpp:486,1
    - Dst: Play
      Src: /src/vlc/modules/access/live555.cpp:492,1
    - Dst: ParseASF
      Src: /src/vlc/modules/access/live555.cpp:495,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/live555.cpp:497,1
    - Dst: Close
      Src: /src/vlc/modules/access/live555.cpp:508,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 115
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 510
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/live555.cpp
    functionUses: 1
    functionsReached:
    - strchr
    - demux_sys_t::demux_sys_t
    - memcmp
    - BasicUsageEnvironment::createNew
    - ParseASF
    - passwordLessURL
    - msg_Err
    - vlc_stream_Read
    - msg_Dbg
    - vlc_UrlParse
    - var_InheritBool
    - strncmp
    - Close
    - var_GetBool
    - Play
    - BasicTaskScheduler::createNew
    - vlc_timer_create
    - var_InheritString
    - vlc_stream_Peek
    - xrealloc
    - TAB_INIT
    - SessionsSetup
    - free
    - Connect
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open ( vlc_object_t *p_this )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_timer_destroy
      Src: /src/vlc/modules/access/live555.cpp:520,1
    - Dst: demux_sys_t*::rtsp::sendTeardownCommand
      Src: /src/vlc/modules/access/live555.cpp:522,1
    - Dst: encoder_close
      Src: /src/vlc/modules/access/live555.cpp:523,1
    - Dst: encoder_close
      Src: /src/vlc/modules/access/live555.cpp:524,1
    - Dst: demux_sys_t*::env::reclaim
      Src: /src/vlc/modules/access/live555.cpp:525,1
    - Dst: vlc_demux_chained_Delete
      Src: /src/vlc/modules/access/live555.cpp:532,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/access/live555.cpp:533,1
    - Dst: dtsgen_Clean
      Src: /src/vlc/modules/access/live555.cpp:534,1
    - Dst: free
      Src: /src/vlc/modules/access/live555.cpp:535,1
    - Dst: free
      Src: /src/vlc/modules/access/live555.cpp:536,1
    - Dst: TAB_CLEAN
      Src: /src/vlc/modules/access/live555.cpp:538,1
    - Dst: vlc_demux_chained_Delete
      Src: /src/vlc/modules/access/live555.cpp:540,1
    - Dst: free
      Src: /src/vlc/modules/access/live555.cpp:542,1
    - Dst: free
      Src: /src/vlc/modules/access/live555.cpp:543,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/live555.cpp:545,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 548
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/live555.cpp
    functionUses: 18
    functionsReached:
    - es_format_Clean
    - demux_sys_t*::rtsp::sendTeardownCommand
    - TAB_CLEAN
    - free
    - encoder_close
    - dtsgen_Clean
    - vlc_demux_chained_Delete
    - vlc_timer_destroy
    - demux_sys_t*::env::reclaim
    - vlc_UrlClean
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 550
    functionName: toBool
    functionSourceFile: /src/vlc/modules/access/live555.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Boolean
    signature: Boolean toBool( bool b )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RTSPClientVlc *>
      Src: /src/vlc/modules/access/live555.cpp:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - client
    - result_code
    - result_string
    argTypes:
    - RTSPClient*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 560
    functionName: default_live555_callback
    functionSourceFile: /src/vlc/modules/access/live555.cpp
    functionUses: 0
    functionsReached:
    - static_cast<RTSPClientVlc *>
    linkageType: ''
    returnType: void
    signature: void default_live555_callback( RTSPClient* client, int result_code,
      char* result_string )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: demux_sys_t*::scheduler::scheduleDelayedTask
      Src: /src/vlc/modules/access/live555.cpp:571,1
    - Dst: demux_sys_t*::scheduler::doEventLoop
      Src: /src/vlc/modules/access/live555.cpp:578,1
    - Dst: demux_sys_t*::scheduler::unscheduleDelayedTask
      Src: /src/vlc/modules/access/live555.cpp:583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 586
    functionName: wait_Live555_response
    functionSourceFile: /src/vlc/modules/access/live555.cpp
    functionUses: 0
    functionsReached:
    - demux_sys_t*::scheduler::scheduleDelayedTask
    - demux_sys_t*::scheduler::doEventLoop
    - demux_sys_t*::scheduler::unscheduleDelayedTask
    linkageType: ''
    returnType: bool
    signature: bool wait_Live555_response( demux_t *p_demux, int i_timeout = 0 /*
      ms */ )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RTSPClientVlc *>
      Src: /src/vlc/modules/access/live555.cpp:591,1
    - Dst: free
      Src: /src/vlc/modules/access/live555.cpp:597,1
    - Dst: strdup
      Src: /src/vlc/modules/access/live555.cpp:601,1
    - Dst: RTSPClientVlc*::serverString
      Src: /src/vlc/modules/access/live555.cpp:610,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/live555.cpp:612,1
    - Dst: RTSPClientVlc*::serverString
      Src: /src/vlc/modules/access/live555.cpp:612,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/live555.cpp:613,1
    - Dst: RTSPClientVlc*::serverString
      Src: /src/vlc/modules/access/live555.cpp:613,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/live555.cpp:615,1
    - Dst: RTSPClientVlc*::serverString
      Src: /src/vlc/modules/access/live555.cpp:615,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - client
    - result_code
    - result_string
    argTypes:
    - RTSPClient*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 619
    functionName: continueAfterDESCRIBE
    functionSourceFile: /src/vlc/modules/access/live555.cpp
    functionUses: 0
    functionsReached:
    - static_cast<RTSPClientVlc *>
    - strdup
    - RTSPClientVlc*::serverString
    - free
    - strncmp
    linkageType: ''
    returnType: void
    signature: "void continueAfterDESCRIBE( RTSPClient* client, int result_code,\n
      \                                  char* result_string )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RTSPClientVlc *>
      Src: /src/vlc/modules/access/live555.cpp:624,1
    - Dst: strstr
      Src: /src/vlc/modules/access/live555.cpp:632,1
    - Dst: RTSPClient*::sendDescribeCommand
      Src: /src/vlc/modules/access/live555.cpp:633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - client
    - result_code
    - result_string
    argTypes:
    - RTSPClient*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 635
    functionName: continueAfterOPTIONS
    functionSourceFile: /src/vlc/modules/access/live555.cpp
    functionUses: 0
    functionsReached:
    - RTSPClient*::sendDescribeCommand
    - static_cast<RTSPClientVlc *>
    - strstr
    linkageType: ''
    returnType: void
    signature: "void continueAfterOPTIONS( RTSPClient* client, int result_code,\n
      \                                 char* result_string )"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/live555.cpp:649,1
    - Dst: vlc_credential_init
      Src: /src/vlc/modules/access/live555.cpp:651,1
    - Dst: vlc_credential_get
      Src: /src/vlc/modules/access/live555.cpp:653,1
    - Dst: vlc_killed
      Src: /src/vlc/modules/access/live555.cpp:669,1
    - Dst: var_CreateGetBool
      Src: /src/vlc/modules/access/live555.cpp:675,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/live555.cpp:676,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/live555.cpp:679,1
    - Dst: RTSPClientVlc::RTSPClientVlc
      Src: /src/vlc/modules/access/live555.cpp:678,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/live555.cpp:683,1
    - Dst: demux_sys_t*::env::getResultMsg
      Src: /src/vlc/modules/access/live555.cpp:684,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/access/live555.cpp:696,1
    - Dst: demux_sys_t*::rtsp::setUserAgentString
      Src: /src/vlc/modules/access/live555.cpp:698,1
    - Dst: Authenticator::setUsernameAndPassword
      Src: /src/vlc/modules/access/live555.cpp:702,1
    - Dst: demux_sys_t*::rtsp::sendOptionsCommand
      Src: /src/vlc/modules/access/live555.cpp:704,1
    - Dst: wait_Live555_response
      Src: /src/vlc/modules/access/live555.cpp:706,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/live555.cpp:711,1
    - Dst: vlc_credential_get
      Src: /src/vlc/modules/access/live555.cpp:713,1
    - Dst: _
      Src: /src/vlc/modules/access/live555.cpp:714,1
    - Dst: _
      Src: /src/vlc/modules/access/live555.cpp:715,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/live555.cpp:719,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/access/live555.cpp:723,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/live555.cpp:726,1
    - Dst: var_SetBool
      Src: /src/vlc/modules/access/live555.cpp:727,1
    - Dst: encoder_close
      Src: /src/vlc/modules/access/live555.cpp:728,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/live555.cpp:735,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/live555.cpp:738,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/access/live555.cpp:740,1
    - Dst: _
      Src: /src/vlc/modules/access/live555.cpp:740,1
    - Dst: _
      Src: /src/vlc/modules/access/live555.cpp:741,1
    - Dst: encoder_close
      Src: /src/vlc/modules/access/live555.cpp:743,1
    - Dst: vlc_credential_store
      Src: /src/vlc/modules/access/live555.cpp:749,1
    - Dst: vlc_credential_clean
      Src: /src/vlc/modules/access/live555.cpp:752,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 71
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 755
    functionName: Connect
    functionSourceFile: /src/vlc/modules/access/live555.cpp
    functionUses: 7
    functionsReached:
    - vlc_credential_store
    - encoder_close
    - vlc_killed
    - RTSPClientVlc::RTSPClientVlc
    - wait_Live555_response
    - vlc_dialog_display_error
    - _
    - msg_Err
    - demux_sys_t*::rtsp::sendOptionsCommand
    - msg_Dbg
    - var_InheritInteger
    - var_InheritBool
    - vlc_credential_init
    - var_GetBool
    - Authenticator::setUsernameAndPassword
    - demux_sys_t*::rtsp::setUserAgentString
    - vlc_credential_clean
    - var_CreateGetBool
    - demux_sys_t*::env::getResultMsg
    - var_SetBool
    - vlc_credential_get
    linkageType: ''
    returnType: int
    signature: int Connect( demux_t *p_demux )
  - BBCount: 71
    BranchProfiles: []
    Callsites:
    - Dst: var_CreateGetBool
      Src: /src/vlc/modules/access/live555.cpp:775,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/access/live555.cpp:776,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/live555.cpp:777,1
    - Dst: MediaSession::createNew
      Src: /src/vlc/modules/access/live555.cpp:781,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/live555.cpp:783,1
    - Dst: demux_sys_t*::env::getResultMsg
      Src: /src/vlc/modules/access/live555.cpp:784,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:788,1
    - Dst: strstr
      Src: /src/vlc/modules/access/live555.cpp:792,1
    - Dst: strstr
      Src: /src/vlc/modules/access/live555.cpp:794,1
    - Dst: strstr
      Src: /src/vlc/modules/access/live555.cpp:796,1
    - Dst: MediaSubsessionIterator::MediaSubsessionIterator
      Src: /src/vlc/modules/access/live555.cpp:803,1
    - Dst: MediaSubsessionIterator*::next
      Src: /src/vlc/modules/access/live555.cpp:804,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:810,1
    - Dst: MediaSubsession*::mediumName
      Src: /src/vlc/modules/access/live555.cpp:810,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:812,1
    - Dst: MediaSubsession*::mediumName
      Src: /src/vlc/modules/access/live555.cpp:812,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/live555.cpp:814,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:819,1
    - Dst: MediaSubsession*::mediumName
      Src: /src/vlc/modules/access/live555.cpp:819,1
    - Dst: strcasestr
      Src: /src/vlc/modules/access/live555.cpp:823,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:823,1
    - Dst: msg_Info
      Src: /src/vlc/modules/access/live555.cpp:825,1
    - Dst: MediaSubsession*::setClientPortNum
      Src: /src/vlc/modules/access/live555.cpp:832,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:836,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:836,1
    - Dst: MediaSubsession*::initiate
      Src: /src/vlc/modules/access/live555.cpp:837,1
    - Dst: MediaSubsession*::initiate
      Src: /src/vlc/modules/access/live555.cpp:839,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/live555.cpp:843,1
    - Dst: MediaSubsession*::mediumName
      Src: /src/vlc/modules/access/live555.cpp:844,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:844,1
    - Dst: demux_sys_t*::env::getResultMsg
      Src: /src/vlc/modules/access/live555.cpp:845,1
    - Dst: MediaSubsession*::rtpSource
      Src: /src/vlc/modules/access/live555.cpp:849,1
    - Dst: MediaSubsession*::rtpSource
      Src: /src/vlc/modules/access/live555.cpp:851,1
    - Dst: increaseReceiveBufferTo
      Src: /src/vlc/modules/access/live555.cpp:855,1
    - Dst: MediaSubsession*::rtpSource
      Src: /src/vlc/modules/access/live555.cpp:858,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/live555.cpp:860,1
    - Dst: MediaSubsession*::mediumName
      Src: /src/vlc/modules/access/live555.cpp:860,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:861,1
    - Dst: demux_sys_t*::rtsp::sendSetupCommand
      Src: /src/vlc/modules/access/live555.cpp:866,1
    - Dst: toBool
      Src: /src/vlc/modules/access/live555.cpp:867,1
    - Dst: toBool
      Src: /src/vlc/modules/access/live555.cpp:868,1
    - Dst: wait_Live555_response
      Src: /src/vlc/modules/access/live555.cpp:869,1
    - Dst: demux_sys_t*::rtsp::sendSetupCommand
      Src: /src/vlc/modules/access/live555.cpp:874,1
    - Dst: toBool
      Src: /src/vlc/modules/access/live555.cpp:875,1
    - Dst: wait_Live555_response
      Src: /src/vlc/modules/access/live555.cpp:876,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/live555.cpp:878,1
    - Dst: MediaSubsession*::mediumName
      Src: /src/vlc/modules/access/live555.cpp:879,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:879,1
    - Dst: demux_sys_t*::env::getResultMsg
      Src: /src/vlc/modules/access/live555.cpp:880,1
    - Dst: var_SetBool
      Src: /src/vlc/modules/access/live555.cpp:885,1
    - Dst: MediaSubsession*::readSource
      Src: /src/vlc/modules/access/live555.cpp:893,1
    - Dst: MediaSubsession*::connectionEndpointAddress
      Src: /src/vlc/modules/access/live555.cpp:898,1
    - Dst: MediaSubsession*::getConnectionEndpointAddress
      Src: /src/vlc/modules/access/live555.cpp:901,1
    - Dst: IsMulticastAddress
      Src: /src/vlc/modules/access/live555.cpp:903,1
    - Dst: malloc
      Src: /src/vlc/modules/access/live555.cpp:906,1
    - Dst: dtsgen_Init
      Src: /src/vlc/modules/access/live555.cpp:926,1
    - Dst: malloc
      Src: /src/vlc/modules/access/live555.cpp:929,1
    - Dst: free
      Src: /src/vlc/modules/access/live555.cpp:933,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:939,1
    - Dst: MediaSubsession*::mediumName
      Src: /src/vlc/modules/access/live555.cpp:939,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/live555.cpp:941,1
    - Dst: MediaSubsession*::numChannels
      Src: /src/vlc/modules/access/live555.cpp:942,1
    - Dst: MediaSubsession*::rtpTimestampFrequency
      Src: /src/vlc/modules/access/live555.cpp:943,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:945,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:945,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:946,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:946,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:947,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:947,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:952,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:952,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:957,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:957,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:962,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:962,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:967,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:967,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:972,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:972,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:977,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:977,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:982,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:982,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:987,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:987,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/live555.cpp:992,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:992,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:997,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:997,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:999,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:999,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1001,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:1001,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1003,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:1003,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1006,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:1006,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1010,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:1010,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1014,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:1014,1
    - Dst: parseStreamMuxConfigStr
      Src: /src/vlc/modules/access/live555.cpp:1021,1
    - Dst: MediaSubsession*::fmtp_config
      Src: /src/vlc/modules/access/live555.cpp:1021,1
    - Dst: copyExtradata
      Src: /src/vlc/modules/access/live555.cpp:1024,1
    - Dst: MediaSubsession*::rtpSource
      Src: /src/vlc/modules/access/live555.cpp:1030,1
    - Dst: omitLATMDataLengthField
      Src: /src/vlc/modules/access/live555.cpp:1030,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1032,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:1032,1
    - Dst: parseGeneralConfigStr
      Src: /src/vlc/modules/access/live555.cpp:1039,1
    - Dst: MediaSubsession*::fmtp_config
      Src: /src/vlc/modules/access/live555.cpp:1039,1
    - Dst: copyExtradata
      Src: /src/vlc/modules/access/live555.cpp:1042,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1046,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:1046,1
    - Dst: vlc_demux_chained_New
      Src: /src/vlc/modules/access/live555.cpp:1051,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/live555.cpp:1051,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1054,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:1054,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1055,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:1055,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1059,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:1059,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/access/live555.cpp:1061,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1063,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:1063,1
    - Dst: parseVorbisConfigStr
      Src: /src/vlc/modules/access/live555.cpp:1068,1
    - Dst: MediaSubsession*::fmtp_config
      Src: /src/vlc/modules/access/live555.cpp:1068,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/live555.cpp:1075,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1077,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:1077,1
    - Dst: parseOpusConfigStr
      Src: /src/vlc/modules/access/live555.cpp:1080,1
    - Dst: MediaSubsession*::fmtp_config
      Src: /src/vlc/modules/access/live555.cpp:1080,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/live555.cpp:1088,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1091,1
    - Dst: MediaSubsession*::mediumName
      Src: /src/vlc/modules/access/live555.cpp:1091,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/live555.cpp:1093,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1094,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:1094,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1099,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:1099,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1100,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:1100,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1101,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:1101,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1105,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:1105,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1109,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:1109,1
    - Dst: parseH264ConfigStr
      Src: /src/vlc/modules/access/live555.cpp:1117,1
    - Dst: MediaSubsession*::fmtp_spropparametersets
      Src: /src/vlc/modules/access/live555.cpp:1117,1
    - Dst: copyExtradata
      Src: /src/vlc/modules/access/live555.cpp:1120,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1125,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:1125,1
    - Dst: parseH264ConfigStr
      Src: /src/vlc/modules/access/live555.cpp:1138,1
    - Dst: MediaSubsession*::fmtp_spropvps
      Src: /src/vlc/modules/access/live555.cpp:1138,1
    - Dst: parseH264ConfigStr
      Src: /src/vlc/modules/access/live555.cpp:1139,1
    - Dst: MediaSubsession*::fmtp_spropsps
      Src: /src/vlc/modules/access/live555.cpp:1139,1
    - Dst: parseH264ConfigStr
      Src: /src/vlc/modules/access/live555.cpp:1140,1
    - Dst: MediaSubsession*::fmtp_sproppps
      Src: /src/vlc/modules/access/live555.cpp:1140,1
    - Dst: std::malloc
      Src: /src/vlc/modules/access/live555.cpp:1143,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/live555.cpp:1151,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1160,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:1160,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1164,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:1164,1
    - Dst: parseGeneralConfigStr
      Src: /src/vlc/modules/access/live555.cpp:1171,1
    - Dst: MediaSubsession*::fmtp_config
      Src: /src/vlc/modules/access/live555.cpp:1171,1
    - Dst: copyExtradata
      Src: /src/vlc/modules/access/live555.cpp:1174,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1178,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:1178,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1179,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:1179,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1180,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:1180,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1181,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:1181,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1182,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:1182,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1186,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:1186,1
    - Dst: vlc_demux_chained_New
      Src: /src/vlc/modules/access/live555.cpp:1190,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/live555.cpp:1190,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1193,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:1193,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1194,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:1194,1
    - Dst: vlc_demux_chained_New
      Src: /src/vlc/modules/access/live555.cpp:1198,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/live555.cpp:1198,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1201,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:1201,1
    - Dst: vlc_demux_chained_New
      Src: /src/vlc/modules/access/live555.cpp:1206,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/live555.cpp:1206,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1209,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:1209,1
    - Dst: vlc_demux_chained_New
      Src: /src/vlc/modules/access/live555.cpp:1214,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/live555.cpp:1214,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1217,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:1217,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1221,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:1221,1
    - Dst: parseVorbisConfigStr
      Src: /src/vlc/modules/access/live555.cpp:1226,1
    - Dst: MediaSubsession*::fmtp_config
      Src: /src/vlc/modules/access/live555.cpp:1226,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/live555.cpp:1233,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1236,1
    - Dst: MediaSubsession*::mediumName
      Src: /src/vlc/modules/access/live555.cpp:1236,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/live555.cpp:1238,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1240,1
    - Dst: MediaSubsession*::codecName
      Src: /src/vlc/modules/access/live555.cpp:1240,1
    - Dst: strstr
      Src: /src/vlc/modules/access/live555.cpp:1247,1
    - Dst: MediaSubsession*::savedSDPLines
      Src: /src/vlc/modules/access/live555.cpp:1247,1
    - Dst: strcspn
      Src: /src/vlc/modules/access/live555.cpp:1255,1
    - Dst: strndup
      Src: /src/vlc/modules/access/live555.cpp:1256,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/live555.cpp:1261,1
    - Dst: MediaSubsession*::rtcpInstance
      Src: /src/vlc/modules/access/live555.cpp:1264,1
    - Dst: MediaSubsession*::rtcpInstance
      Src: /src/vlc/modules/access/live555.cpp:1266,1
    - Dst: TAB_APPEND_CAST
      Src: /src/vlc/modules/access/live555.cpp:1274,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/live555.cpp:1279,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/access/live555.cpp:1280,1
    - Dst: free
      Src: /src/vlc/modules/access/live555.cpp:1281,1
    - Dst: demux_sys_t*::ms::playStartTime
      Src: /src/vlc/modules/access/live555.cpp:1289,1
    - Dst: demux_sys_t*::ms::playEndTime
      Src: /src/vlc/modules/access/live555.cpp:1292,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/live555.cpp:1295,1
    CyclomaticComplexity: 99
    EdgeCount: 99
    ICount: 312
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 760
    functionDepth: 2
    functionLinenumber: 760
    functionLinenumberEnd: 1304
    functionName: SessionsSetup
    functionSourceFile: /src/vlc/modules/access/live555.cpp
    functionUses: 1
    functionsReached:
    - MediaSubsession*::fmtp_spropsps
    - omitLATMDataLengthField
    - memcpy
    - MediaSubsession*::rtcpInstance
    - MediaSubsession*::initiate
    - es_format_Init
    - MediaSubsession*::savedSDPLines
    - MediaSubsession*::fmtp_config
    - parseOpusConfigStr
    - demux_sys_t*::ms::playStartTime
    - wait_Live555_response
    - MediaSubsessionIterator*::next
    - increaseReceiveBufferTo
    - msg_Err
    - strcspn
    - MediaSubsession*::fmtp_sproppps
    - msg_Dbg
    - strstr
    - MediaSubsession*::fmtp_spropparametersets
    - msg_Warn
    - vlc_demux_chained_New
    - std::malloc
    - strcasestr
    - MediaSubsession*::rtpTimestampFrequency
    - VLC_FOURCC
    - MediaSubsession*::fmtp_spropvps
    - strndup
    - MediaSubsession*::mediumName
    - demux_sys_t*::rtsp::sendSetupCommand
    - parseH264ConfigStr
    - var_InheritInteger
    - MediaSubsession*::readSource
    - MediaSubsession*::connectionEndpointAddress
    - IsMulticastAddress
    - parseGeneralConfigStr
    - dtsgen_Init
    - strncmp
    - strcmp
    - parseVorbisConfigStr
    - demux_sys_t*::ms::playEndTime
    - parseStreamMuxConfigStr
    - copyExtradata
    - MediaSubsessionIterator::MediaSubsessionIterator
    - MediaSubsession*::setClientPortNum
    - var_GetBool
    - MediaSubsession*::codecName
    - MediaSubsession*::numChannels
    - es_format_Clean
    - TAB_APPEND_CAST
    - var_CreateGetBool
    - demux_sys_t*::env::getResultMsg
    - free
    - msg_Info
    - var_SetBool
    - MediaSubsession*::rtpSource
    - MediaSession::createNew
    - MediaSubsession*::getConnectionEndpointAddress
    - VLC_OBJECT
    - es_out_Add
    - malloc
    - toBool
    linkageType: ''
    returnType: int
    signature: int SessionsSetup( demux_t *p_demux )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: demux_sys_t*::rtsp::sendPlayCommand
      Src: /src/vlc/modules/access/live555.cpp:1316,1
    - Dst: wait_Live555_response
      Src: /src/vlc/modules/access/live555.cpp:1318,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/live555.cpp:1320,1
    - Dst: demux_sys_t*::env::getResultMsg
      Src: /src/vlc/modules/access/live555.cpp:1320,1
    - Dst: demux_sys_t*::rtsp::sessionTimeoutParameter
      Src: /src/vlc/modules/access/live555.cpp:1325,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/live555.cpp:1328,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/access/live555.cpp:1330,1
    - Dst: vlc_timer_schedule
      Src: /src/vlc/modules/access/live555.cpp:1331,1
    - Dst: demux_sys_t*::ms::playStartTime
      Src: /src/vlc/modules/access/live555.cpp:1336,1
    - Dst: demux_sys_t*::ms::playEndTime
      Src: /src/vlc/modules/access/live555.cpp:1337,1
    - Dst: demux_sys_t*::ms::playEndTime
      Src: /src/vlc/modules/access/live555.cpp:1338,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/live555.cpp:1340,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1309
    functionDepth: 1
    functionLinenumber: 1309
    functionLinenumberEnd: 1342
    functionName: Play
    functionSourceFile: /src/vlc/modules/access/live555.cpp
    functionUses: 12
    functionsReached:
    - demux_sys_t*::ms::playStartTime
    - wait_Live555_response
    - vlc_tick_from_sec
    - demux_sys_t*::rtsp::sessionTimeoutParameter
    - demux_sys_t*::env::getResultMsg
    - msg_Err
    - msg_Dbg
    - vlc_timer_schedule
    - demux_sys_t*::ms::playEndTime
    - demux_sys_t*::rtsp::sendPlayCommand
    linkageType: ''
    returnType: int
    signature: int Play( demux_t *p_demux )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MediaSubsession*::sessionId
      Src: /src/vlc/modules/access/live555.cpp:1349,1
    - Dst: MediaSubsession*::parentSession
      Src: /src/vlc/modules/access/live555.cpp:1352,1
    - Dst: MediaSubsessionIterator::MediaSubsessionIterator
      Src: /src/vlc/modules/access/live555.cpp:1352,1
    - Dst: MediaSubsessionIterator*::next
      Src: /src/vlc/modules/access/live555.cpp:1355,1
    - Dst: MediaSubsession*::sessionId
      Src: /src/vlc/modules/access/live555.cpp:1359,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/live555.cpp:1360,1
    - Dst: MediaSubsession*::sessionId
      Src: /src/vlc/modules/access/live555.cpp:1360,1
    - Dst: MediaSubsession*::sessionId
      Src: /src/vlc/modules/access/live555.cpp:1360,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - session
    argTypes:
    - MediaSubsession*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1347
    functionDepth: 0
    functionLinenumber: 1347
    functionLinenumberEnd: 1368
    functionName: HasSharedSession
    functionSourceFile: /src/vlc/modules/access/live555.cpp
    functionUses: 0
    functionsReached:
    - MediaSubsessionIterator*::next
    - MediaSubsession*::sessionId
    - MediaSubsession*::parentSession
    - strcmp
    - MediaSubsessionIterator::MediaSubsessionIterator
    linkageType: ''
    returnType: bool
    signature: bool HasSharedSession( MediaSubsession *session )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: var_GetBool
      Src: /src/vlc/modules/access/live555.cpp:1377,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/access/live555.cpp:1378,1
    - Dst: demux_sys_t*::rtsp::sendSetupCommand
      Src: /src/vlc/modules/access/live555.cpp:1379,1
    - Dst: toBool
      Src: /src/vlc/modules/access/live555.cpp:1380,1
    - Dst: toBool
      Src: /src/vlc/modules/access/live555.cpp:1381,1
    - Dst: wait_Live555_response
      Src: /src/vlc/modules/access/live555.cpp:1382,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/live555.cpp:1384,1
    - Dst: live_track_t*::sub::mediumName
      Src: /src/vlc/modules/access/live555.cpp:1385,1
    - Dst: live_track_t*::sub::codecName
      Src: /src/vlc/modules/access/live555.cpp:1385,1
    - Dst: demux_sys_t*::env::getResultMsg
      Src: /src/vlc/modules/access/live555.cpp:1386,1
    - Dst: demux_sys_t*::rtsp::sendPlayCommand
      Src: /src/vlc/modules/access/live555.cpp:1390,1
    - Dst: demux_sys_t*::ms::scale
      Src: /src/vlc/modules/access/live555.cpp:1390,1
    - Dst: wait_Live555_response
      Src: /src/vlc/modules/access/live555.cpp:1391,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/live555.cpp:1393,1
    - Dst: demux_sys_t*::env::getResultMsg
      Src: /src/vlc/modules/access/live555.cpp:1393,1
    - Dst: HasSharedSession
      Src: /src/vlc/modules/access/live555.cpp:1395,1
    - Dst: demux_sys_t*::rtsp::sendTeardownCommand
      Src: /src/vlc/modules/access/live555.cpp:1398,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - p_demux
    - tk
    argTypes:
    - demux_t*
    - live_track_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1373
    functionDepth: 1
    functionLinenumber: 1373
    functionLinenumberEnd: 1404
    functionName: ResumeTrack
    functionSourceFile: /src/vlc/modules/access/live555.cpp
    functionUses: 0
    functionsReached:
    - HasSharedSession
    - demux_sys_t*::rtsp::sendSetupCommand
    - wait_Live555_response
    - demux_sys_t*::rtsp::sendTeardownCommand
    - demux_sys_t*::ms::scale
    - demux_sys_t*::env::getResultMsg
    - msg_Err
    - live_track_t*::sub::codecName
    - demux_sys_t*::rtsp::sendPlayCommand
    - live_track_t*::sub::mediumName
    - var_GetBool
    - toBool
    linkageType: ''
    returnType: void
    signature: void ResumeTrack( demux_t *p_demux, live_track_t *tk )
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/live555.cpp:1428,1
    - Dst: HasSharedSession
      Src: /src/vlc/modules/access/live555.cpp:1432,1
    - Dst: demux_sys_t*::rtsp::sendTeardownCommand
      Src: /src/vlc/modules/access/live555.cpp:1435,1
    - Dst: ResumeTrack
      Src: /src/vlc/modules/access/live555.cpp:1442,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/live555.cpp:1447,1
    - Dst: live_track_t*::sub::readSource
      Src: /src/vlc/modules/access/live555.cpp:1467,1
    - Dst: demux_sys_t*::scheduler::scheduleDelayedTask
      Src: /src/vlc/modules/access/live555.cpp:1472,1
    - Dst: demux_sys_t*::scheduler::doEventLoop
      Src: /src/vlc/modules/access/live555.cpp:1475,1
    - Dst: demux_sys_t*::scheduler::unscheduleDelayedTask
      Src: /src/vlc/modules/access/live555.cpp:1478,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/live555.cpp:1503,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/live555.cpp:1517,1
    - Dst: std::max<vlc_tick_t>
      Src: /src/vlc/modules/access/live555.cpp:1518,1
    - Dst: std::max<vlc_tick_t>
      Src: /src/vlc/modules/access/live555.cpp:1523,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/live555.cpp:1525,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/access/live555.cpp:1540,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/access/live555.cpp:1541,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/live555.cpp:1545,1
    - Dst: RollOverTcp
      Src: /src/vlc/modules/access/live555.cpp:1546,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/live555.cpp:1548,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/live555.cpp:1553,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/live555.cpp:1560,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 80
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1564
      start: 1409
    functionDepth: 2
    functionLinenumber: 1409
    functionLinenumberEnd: 1564
    functionName: Demux
    functionSourceFile: /src/vlc/modules/access/live555.cpp
    functionUses: 1
    functionsReached:
    - HasSharedSession
    - es_out_Control
    - live_track_t*::sub::readSource
    - demux_sys_t*::rtsp::sendTeardownCommand
    - demux_sys_t*::scheduler::doEventLoop
    - msg_Err
    - ResumeTrack
    - demux_sys_t*::scheduler::unscheduleDelayedTask
    - msg_Warn
    - std::max<vlc_tick_t>
    - demux_sys_t*::scheduler::scheduleDelayedTask
    - var_GetBool
    - es_out_SetPCR
    - RollOverTcp
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/access/live555.cpp:1582,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/live555.cpp:1590,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/live555.cpp:1591,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/live555.cpp:1593,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/access/live555.cpp:1593,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/live555.cpp:1599,1
    - Dst: secf_from_vlc_tick
      Src: /src/vlc/modules/access/live555.cpp:1615,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/live555.cpp:1615,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/live555.cpp:1621,1
    - Dst: demux_sys_t*::rtsp::sendPauseCommand
      Src: /src/vlc/modules/access/live555.cpp:1631,1
    - Dst: wait_Live555_response
      Src: /src/vlc/modules/access/live555.cpp:1633,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/live555.cpp:1635,1
    - Dst: demux_sys_t*::env::getResultMsg
      Src: /src/vlc/modules/access/live555.cpp:1636,1
    - Dst: demux_sys_t*::rtsp::sendPlayCommand
      Src: /src/vlc/modules/access/live555.cpp:1640,1
    - Dst: wait_Live555_response
      Src: /src/vlc/modules/access/live555.cpp:1642,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/live555.cpp:1644,1
    - Dst: demux_sys_t*::env::getResultMsg
      Src: /src/vlc/modules/access/live555.cpp:1645,1
    - Dst: dtsgen_Resync
      Src: /src/vlc/modules/access/live555.cpp:1655,1
    - Dst: demux_sys_t*::ms::playStartTime
      Src: /src/vlc/modules/access/live555.cpp:1659,1
    - Dst: demux_sys_t*::ms::playEndTime
      Src: /src/vlc/modules/access/live555.cpp:1662,1
    - Dst: demux_sys_t*::ms::playEndTime
      Src: /src/vlc/modules/access/live555.cpp:1663,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/live555.cpp:1665,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/live555.cpp:1673,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/live555.cpp:1682,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/live555.cpp:1693,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/live555.cpp:1723,1
    - Dst: demux_sys_t*::ms::scale
      Src: /src/vlc/modules/access/live555.cpp:1725,1
    - Dst: demux_sys_t*::rtsp::sendPlayCommand
      Src: /src/vlc/modules/access/live555.cpp:1730,1
    - Dst: wait_Live555_response
      Src: /src/vlc/modules/access/live555.cpp:1732,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/live555.cpp:1734,1
    - Dst: demux_sys_t*::env::getResultMsg
      Src: /src/vlc/modules/access/live555.cpp:1735,1
    - Dst: demux_sys_t*::ms::scale
      Src: /src/vlc/modules/access/live555.cpp:1739,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/live555.cpp:1741,1
    - Dst: demux_sys_t*::ms::scale
      Src: /src/vlc/modules/access/live555.cpp:1742,1
    - Dst: demux_sys_t*::ms::scale
      Src: /src/vlc/modules/access/live555.cpp:1751,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/live555.cpp:1752,1
    - Dst: demux_sys_t*::ms::scale
      Src: /src/vlc/modules/access/live555.cpp:1752,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/live555.cpp:1758,1
    - Dst: demux_sys_t*::rtsp::sendPauseCommand
      Src: /src/vlc/modules/access/live555.cpp:1765,1
    - Dst: demux_sys_t*::rtsp::sendPlayCommand
      Src: /src/vlc/modules/access/live555.cpp:1767,1
    - Dst: demux_sys_t*::ms::scale
      Src: /src/vlc/modules/access/live555.cpp:1768,1
    - Dst: wait_Live555_response
      Src: /src/vlc/modules/access/live555.cpp:1770,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/live555.cpp:1772,1
    - Dst: demux_sys_t*::env::getResultMsg
      Src: /src/vlc/modules/access/live555.cpp:1772,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/live555.cpp:1790,1
    - Dst: demux_sys_t*::ms::playStartTime
      Src: /src/vlc/modules/access/live555.cpp:1797,1
    - Dst: demux_sys_t*::ms::playEndTime
      Src: /src/vlc/modules/access/live555.cpp:1800,1
    - Dst: demux_sys_t*::ms::playEndTime
      Src: /src/vlc/modules/access/live555.cpp:1801,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/live555.cpp:1803,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/live555.cpp:1813,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/live555.cpp:1814,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/live555.cpp:1814,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 142
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1569
    functionDepth: 1
    functionLinenumber: 1569
    functionLinenumberEnd: 1820
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/live555.cpp
    functionUses: 8
    functionsReached:
    - demux_sys_t*::ms::playStartTime
    - wait_Live555_response
    - es_out_Control
    - var_InheritInteger
    - vlc_tick_from_sec
    - demux_sys_t*::ms::scale
    - demux_sys_t*::env::getResultMsg
    - VLC_TICK_FROM_MS
    - secf_from_vlc_tick
    - msg_Err
    - va_arg
    - demux_sys_t*::ms::playEndTime
    - msg_Dbg
    - demux_sys_t*::rtsp::sendPauseCommand
    - demux_sys_t*::rtsp::sendPlayCommand
    - unlikely
    - dtsgen_Resync
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: var_SetBool
      Src: /src/vlc/modules/access/live555.cpp:1832,1
    - Dst: vlc_timer_disarm
      Src: /src/vlc/modules/access/live555.cpp:1835,1
    - Dst: demux_sys_t*::rtsp::sendTeardownCommand
      Src: /src/vlc/modules/access/live555.cpp:1836,1
    - Dst: encoder_close
      Src: /src/vlc/modules/access/live555.cpp:1837,1
    - Dst: encoder_close
      Src: /src/vlc/modules/access/live555.cpp:1838,1
    - Dst: vlc_demux_chained_Delete
      Src: /src/vlc/modules/access/live555.cpp:1844,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/access/live555.cpp:1845,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/live555.cpp:1846,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/access/live555.cpp:1847,1
    - Dst: free
      Src: /src/vlc/modules/access/live555.cpp:1848,1
    - Dst: free
      Src: /src/vlc/modules/access/live555.cpp:1849,1
    - Dst: TAB_CLEAN
      Src: /src/vlc/modules/access/live555.cpp:1851,1
    - Dst: vlc_demux_chained_Delete
      Src: /src/vlc/modules/access/live555.cpp:1852,1
    - Dst: Connect
      Src: /src/vlc/modules/access/live555.cpp:1861,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/live555.cpp:1863,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/live555.cpp:1869,1
    - Dst: SessionsSetup
      Src: /src/vlc/modules/access/live555.cpp:1873,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/live555.cpp:1875,1
    - Dst: Play
      Src: /src/vlc/modules/access/live555.cpp:1879,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1886
      start: 1827
    functionDepth: 3
    functionLinenumber: 1827
    functionLinenumberEnd: 1886
    functionName: RollOverTcp
    functionSourceFile: /src/vlc/modules/access/live555.cpp
    functionUses: 1
    functionsReached:
    - block_Release
    - es_format_Clean
    - demux_sys_t*::rtsp::sendTeardownCommand
    - vlc_timer_disarm
    - TAB_CLEAN
    - SessionsSetup
    - Play
    - msg_Err
    - free
    - var_SetBool
    - encoder_close
    - es_out_Del
    - vlc_demux_chained_Delete
    - Connect
    linkageType: ''
    returnType: int
    signature: int RollOverTcp( demux_t *p_demux )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/live555.cpp:1923,1
    - Dst: std::min
      Src: /src/vlc/modules/access/live555.cpp:1935,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/live555.cpp:1941,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/live555.cpp:1949,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/access/live555.cpp:1955,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/live555.cpp:1962,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 5
    argNames:
    - p_demux
    - tk
    - b_marker
    - p_data
    - i_size
    argTypes:
    - demux_t*
    - live_track_t*
    - bool
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1972
      start: 1892
    functionDepth: 1
    functionLinenumber: 1892
    functionLinenumberEnd: 1972
    functionName: StreamParseAsf
    functionSourceFile: /src/vlc/modules/access/live555.cpp
    functionUses: 0
    functionsReached:
    - block_ChainAppend
    - memcpy
    - std::min
    - msg_Err
    - block_Alloc
    - msg_Warn
    linkageType: ''
    returnType: block_t
    signature: "block_t *StreamParseAsf( demux_t *p_demux, live_track_t *tk,\n                                bool
      b_marker,\n                                const uint8_t *p_data, unsigned i_size
      )"
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/live555.cpp:1981,1
    - Dst: vlc_tick_from_timeval
      Src: /src/vlc/modules/access/live555.cpp:1990,1
    - Dst: INT64_C
      Src: /src/vlc/modules/access/live555.cpp:1993,1
    - Dst: live_track_t*::sub::getNormalPlayTime
      Src: /src/vlc/modules/access/live555.cpp:1996,1
    - Dst: live_track_t*::sub::rtpSource
      Src: /src/vlc/modules/access/live555.cpp:2001,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/access/live555.cpp:2015,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/access/live555.cpp:2019,1
    - Dst: memcmp
      Src: /src/vlc/modules/access/live555.cpp:2027,1
    - Dst: copyExtradata
      Src: /src/vlc/modules/access/live555.cpp:2031,1
    - Dst: copyExtradata
      Src: /src/vlc/modules/access/live555.cpp:2039,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/access/live555.cpp:2050,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/live555.cpp:2053,1
    - Dst: fprintf
      Src: /src/vlc/modules/access/live555.cpp:2057,1
    - Dst: vlc_tick_from_timeval
      Src: /src/vlc/modules/access/live555.cpp:2058,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/live555.cpp:2068,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/live555.cpp:2069,1
    - Dst: realloc
      Src: /src/vlc/modules/access/live555.cpp:2070,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/live555.cpp:2073,1
    - Dst: assert
      Src: /src/vlc/modules/access/live555.cpp:2090,1
    - Dst: live_track_t*::sub::readSource
      Src: /src/vlc/modules/access/live555.cpp:2095,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/live555.cpp:2097,1
    - Dst: AMRAudioSource*::lastFrameHeader
      Src: /src/vlc/modules/access/live555.cpp:2099,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/live555.cpp:2100,1
    - Dst: live_track_t*::sub::rtpSource
      Src: /src/vlc/modules/access/live555.cpp:2105,1
    - Dst: H261VideoRTPSource*::lastSpecialHeader
      Src: /src/vlc/modules/access/live555.cpp:2106,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/live555.cpp:2107,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/live555.cpp:2109,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/live555.cpp:2110,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/live555.cpp:2116,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/live555.cpp:2118,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/live555.cpp:2121,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/live555.cpp:2127,1
    - Dst: live_track_t*::sub::rtpSource
      Src: /src/vlc/modules/access/live555.cpp:2128,1
    - Dst: StreamParseAsf
      Src: /src/vlc/modules/access/live555.cpp:2134,1
    - Dst: live_track_t*::sub::rtpSource
      Src: /src/vlc/modules/access/live555.cpp:2135,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/live555.cpp:2140,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/live555.cpp:2141,1
    - Dst: live_track_t*::sub::rtpSource
      Src: /src/vlc/modules/access/live555.cpp:2145,1
    - Dst: live_track_t*::sub::rtpSource
      Src: /src/vlc/modules/access/live555.cpp:2146,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/live555.cpp:2148,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/access/live555.cpp:2153,1
    - Dst: llabs
      Src: /src/vlc/modules/access/live555.cpp:2154,1
    - Dst: vlc_demux_chained_Send
      Src: /src/vlc/modules/access/live555.cpp:2170,1
    - Dst: vlc_demux_chained_Send
      Src: /src/vlc/modules/access/live555.cpp:2173,1
    - Dst: dtsgen_AddNextPTS
      Src: /src/vlc/modules/access/live555.cpp:2181,1
    - Dst: dtsgen_GetDTS
      Src: /src/vlc/modules/access/live555.cpp:2190,1
    - Dst: dtsgen_Debug
      Src: /src/vlc/modules/access/live555.cpp:2191,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/live555.cpp:2191,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/live555.cpp:2202,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/live555.cpp:2209,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 147
    argCount: 5
    argNames:
    - p_private
    - i_size
    - i_truncated_bytes
    - pts
    - duration
    argTypes:
    - void*
    - unsigned int
    - unsigned int
    - struct timeval
    - unsigned int
    assertStmts:
    - condition: ( i_size <= tk->i_buffer )
      pos:
        line_end: 2089
        line_start: 2089
        source_file: /src/vlc/modules/access/live555.cpp
    constantsTouched: []
    func_position:
      end: 2226
      start: 1977
    functionDepth: 2
    functionLinenumber: 1977
    functionLinenumberEnd: 2226
    functionName: StreamRead
    functionSourceFile: /src/vlc/modules/access/live555.cpp
    functionUses: 0
    functionsReached:
    - llabs
    - assert
    - dtsgen_GetDTS
    - live_track_t*::sub::readSource
    - vlc_demux_chained_Send
    - realloc
    - AMRAudioSource*::lastFrameHeader
    - INT64_C
    - memcpy
    - block_Alloc
    - memcmp
    - es_out_Send
    - live_track_t*::sub::getNormalPlayTime
    - StreamParseAsf
    - msg_Dbg
    - msg_Warn
    - dtsgen_Debug
    - VLC_FOURCC
    - live_track_t*::sub::rtpSource
    - fprintf
    - dtsgen_AddNextPTS
    - copyExtradata
    - vlc_tick_from_timeval
    - VLC_UNUSED
    - H261VideoRTPSource*::lastSpecialHeader
    - vlc_tick_from_sec
    - es_out_Add
    - VLC_OBJECT
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void StreamRead( void *p_private, unsigned int i_size,\n                        unsigned
      int i_truncated_bytes, struct timeval pts,\n                        unsigned
      int duration )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/live555.cpp:2241,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/live555.cpp:2249,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - p_private
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2252
      start: 2231
    functionDepth: 1
    functionLinenumber: 2231
    functionLinenumberEnd: 2252
    functionName: StreamClose
    functionSourceFile: /src/vlc/modules/access/live555.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - es_out_Control
    linkageType: ''
    returnType: void
    signature: void StreamClose( void *p_private )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_private
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2265
      start: 2258
    functionDepth: 0
    functionLinenumber: 2258
    functionLinenumberEnd: 2265
    functionName: TaskInterruptRTSP
    functionSourceFile: /src/vlc/modules/access/live555.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TaskInterruptRTSP( void *p_private )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_private
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2276
      start: 2267
    functionDepth: 0
    functionLinenumber: 2267
    functionLinenumberEnd: 2276
    functionName: TaskInterruptData
    functionSourceFile: /src/vlc/modules/access/live555.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TaskInterruptData( void *p_private )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: var_GetBool
      Src: /src/vlc/modules/access/live555.cpp:2287,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/access/live555.cpp:2308,1
    - Dst: demux_sys_t*::rtsp::sendGetParameterCommand
      Src: /src/vlc/modules/access/live555.cpp:2312,1
    - Dst: demux_sys_t*::rtsp::sendOptionsCommand
      Src: /src/vlc/modules/access/live555.cpp:2315,1
    - Dst: wait_Live555_response
      Src: /src/vlc/modules/access/live555.cpp:2317,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/live555.cpp:2319,1
    - Dst: demux_sys_t*::env::getResultMsg
      Src: /src/vlc/modules/access/live555.cpp:2320,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - p_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2323
      start: 2281
    functionDepth: 1
    functionLinenumber: 2281
    functionLinenumberEnd: 2323
    functionName: TimeoutPrevention
    functionSourceFile: /src/vlc/modules/access/live555.cpp
    functionUses: 0
    functionsReached:
    - wait_Live555_response
    - demux_sys_t*::env::getResultMsg
    - msg_Err
    - demux_sys_t*::rtsp::sendOptionsCommand
    - var_GetBool
    - demux_sys_t*::rtsp::sendGetParameterCommand
    linkageType: ''
    returnType: void
    signature: void TimeoutPrevention( void *p_data )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasestr
      Src: /src/vlc/modules/access/live555.cpp:2333,1
    - Dst: strlen
      Src: /src/vlc/modules/access/live555.cpp:2341,1
    - Dst: strdup
      Src: /src/vlc/modules/access/live555.cpp:2342,1
    - Dst: strchr
      Src: /src/vlc/modules/access/live555.cpp:2343,1
    - Dst: free
      Src: /src/vlc/modules/access/live555.cpp:2350,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/live555.cpp:2355,1
    - Dst: vlc_b64_decode_binary_to_buffer
      Src: /src/vlc/modules/access/live555.cpp:2356,1
    - Dst: free
      Src: /src/vlc/modules/access/live555.cpp:2361,1
    - Dst: asf_HeaderParse
      Src: /src/vlc/modules/access/live555.cpp:2366,1
    - Dst: vlc_demux_chained_Send
      Src: /src/vlc/modules/access/live555.cpp:2369,1
    - Dst: free
      Src: /src/vlc/modules/access/live555.cpp:2371,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2373
      start: 2328
    functionDepth: 1
    functionLinenumber: 2328
    functionLinenumberEnd: 2373
    functionName: ParseASF
    functionSourceFile: /src/vlc/modules/access/live555.cpp
    functionUses: 1
    functionsReached:
    - vlc_b64_decode_binary_to_buffer
    - strchr
    - strdup
    - vlc_demux_chained_Send
    - strlen
    - free
    - block_Alloc
    - asf_HeaderParse
    - strcasestr
    linkageType: ''
    returnType: int
    signature: int ParseASF( demux_t *p_demux )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/access/live555.cpp:2387,1
    - Dst: strlen
      Src: /src/vlc/modules/access/live555.cpp:2399,1
    - Dst: unsigned char::unsigned char
      Src: /src/vlc/modules/access/live555.cpp:2400,1
    - Dst: vlc_b64_decode_binary_to_buffer
      Src: /src/vlc/modules/access/live555.cpp:2409,1
    - Dst: strlen
      Src: /src/vlc/modules/access/live555.cpp:2411,1
    - Dst: free
      Src: /src/vlc/modules/access/live555.cpp:2414,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - configStr
    - ' configSize'
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2416
      start: 2376
    functionDepth: 1
    functionLinenumber: 2376
    functionLinenumberEnd: 2416
    functionName: parseH264ConfigStr
    functionSourceFile: /src/vlc/modules/access/live555.cpp
    functionUses: 1
    functionsReached:
    - vlc_b64_decode_binary_to_buffer
    - strdup
    - strlen
    - free
    - unsigned char::unsigned char
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      parseH264ConfigStr(char const* configStr, size_t& configSize)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: base64Decode
      Src: /src/vlc/modules/access/live555.cpp:2428,1
    - Dst: strdup
      Src: /src/vlc/modules/access/live555.cpp:2430,1
    - Dst: base64Decode
      Src: /src/vlc/modules/access/live555.cpp:2431,1
    - Dst: free
      Src: /src/vlc/modules/access/live555.cpp:2432,1
    - Dst: std::malloc
      Src: /src/vlc/modules/access/live555.cpp:2441,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/live555.cpp:2445,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - configStr
    - ' configSize'
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2451
      start: 2418
    functionDepth: 0
    functionLinenumber: 2418
    functionLinenumberEnd: 2451
    functionName: parseVorbisConfigStr
    functionSourceFile: /src/vlc/modules/access/live555.cpp
    functionUses: 1
    functionsReached:
    - base64Decode
    - strdup
    - memcpy
    - free
    - std::malloc
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t *

      parseVorbisConfigStr(char const* configStr, size_t& configSize)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: opus_header_init
      Src: /src/vlc/modules/access/live555.cpp:2457,1
    - Dst: strcasestr
      Src: /src/vlc/modules/access/live555.cpp:2465,1
    - Dst: strtoul
      Src: /src/vlc/modules/access/live555.cpp:2469,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/live555.cpp:2471,1
    - Dst: strcasestr
      Src: /src/vlc/modules/access/live555.cpp:2478,1
    - Dst: strtoul
      Src: /src/vlc/modules/access/live555.cpp:2481,1
    - Dst: opus_prepare_header
      Src: /src/vlc/modules/access/live555.cpp:2490,1
    - Dst: opus_write_header
      Src: /src/vlc/modules/access/live555.cpp:2493,1
    - Dst: opus_header_clean
      Src: /src/vlc/modules/access/live555.cpp:2498,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - configStr
    - ' configSize'
    - ' fmt'
    argTypes:
    - char*
    - size_t
    - audio_format_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2501
      start: 2453
    functionDepth: 1
    functionLinenumber: 2453
    functionLinenumberEnd: 2501
    functionName: parseOpusConfigStr
    functionSourceFile: /src/vlc/modules/access/live555.cpp
    functionUses: 1
    functionsReached:
    - ARRAY_SIZE
    - strtoul
    - opus_write_header
    - opus_header_clean
    - opus_header_init
    - strcasestr
    - opus_prepare_header
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t *

      parseOpusConfigStr(char const* configStr, size_t& configSize, audio_format_t&
      fmt)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/access/live555.cpp:2507,1
    - Dst: vlc_uri_compose
      Src: /src/vlc/modules/access/live555.cpp:2513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_url
    argTypes:
    - vlc_url_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2514
      start: 2503
    functionDepth: 1
    functionLinenumber: 2503
    functionLinenumberEnd: 2514
    functionName: passwordLessURL
    functionSourceFile: /src/vlc/modules/access/live555.cpp
    functionUses: 1
    functionsReached:
    - memcpy
    - vlc_uri_compose
    linkageType: ''
    returnType: char
    signature: char *passwordLessURL( const vlc_url_t *p_url )
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - p_sys
    - map
    argTypes:
    - demux_sys_t*
    - vobu_map_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 68
    functionName: DvdVRGetProgramSectorSpan
    functionSourceFile: /src/vlc/modules/access/dvdread_vr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t DvdVRGetProgramSectorSpan( const demux_sys_t *p_sys,\n                                    const
      vobu_map_t *map )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FROM_SCALE_NZ
      Src: /src/vlc/modules/access/dvdread_vr.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pgi
    argTypes:
    - pgi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: DvdVRProgramDuration
    functionSourceFile: /src/vlc/modules/access/dvdread_vr.c
    functionUses: 0
    functionsReached:
    - FROM_SCALE_NZ
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t DvdVRProgramDuration( const pgi_t *pgi )
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - map
    - total_sectors
    argTypes:
    - vobu_map_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 97
    functionName: DvdVRTimeInfosSane
    functionSourceFile: /src/vlc/modules/access/dvdread_vr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DvdVRTimeInfosSane( const vobu_map_t *map, uint32_t total_sectors
      )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DvdVRProgramDuration
      Src: /src/vlc/modules/access/dvdread_vr.c:119,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 2
    argNames:
    - p_sys
    - t
    argTypes:
    - demux_sys_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 134
    functionName: DvdVRReadTimeToVobuOffset
    functionSourceFile: /src/vlc/modules/access/dvdread_vr.c
    functionUses: 0
    functionsReached:
    - DvdVRProgramDuration
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t DvdVRReadTimeToVobuOffset( const demux_sys_t *p_sys, vlc_tick_t
      t )
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dvdread_vr.c:139,1
    - Dst: DVDCloseFile
      Src: /src/vlc/modules/access/dvdread_vr.c:152,1
    - Dst: DVDOpenFile
      Src: /src/vlc/modules/access/dvdread_vr.c:153,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvdread_vr.c:155,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvdread_vr.c:163,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvdread_vr.c:175,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvdread_vr.c:191,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvdread_vr.c:209,1
    - Dst: DvdReadResetCellTs
      Src: /src/vlc/modules/access/dvdread_vr.c:217,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/access/dvdread_vr.c:231,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/access/dvdread_vr.c:232,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/dvdread_vr.c:237,1
    - Dst: DvdVRGetProgramSectorSpan
      Src: /src/vlc/modules/access/dvdread_vr.c:306,1
    - Dst: DvdVRTimeInfosSane
      Src: /src/vlc/modules/access/dvdread_vr.c:321,1
    - Dst: DvdReadResetCellTs
      Src: /src/vlc/modules/access/dvdread_vr.c:335,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/dvdread_vr.c:336,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 127
    argCount: 4
    argNames:
    - p_demux
    - i_title
    - i_chapter
    - i_angle
    argTypes:
    - demux_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 371
    functionName: DvdVRReadSetArea
    functionSourceFile: /src/vlc/modules/access/dvdread_vr.c
    functionUses: 0
    functionsReached:
    - DVDCloseFile
    - es_out_Control
    - es_format_Clean
    - DvdVRGetProgramSectorSpan
    - DvdVRTimeInfosSane
    - DvdReadResetCellTs
    - DVDOpenFile
    - msg_Err
    - es_out_Del
    - msg_Warn
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int DvdVRReadSetArea( demux_t *p_demux, int i_title, int i_chapter,\n
      \                     int i_angle )"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 415
    functionName: DvdVRFindCell
    functionSourceFile: /src/vlc/modules/access/dvdread_vr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DvdVRFindCell( demux_t *p_demux )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FROM_SCALE_NZ
      Src: /src/vlc/modules/access/dvdread_vr.c:435,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - pgc_gi
    - ud_pgcit
    - program
    argTypes:
    - pgc_gi_t*
    - ud_pgcit_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 436
    functionName: DVDVRGetTitleLength
    functionSourceFile: /src/vlc/modules/access/dvdread_vr.c
    functionUses: 0
    functionsReached:
    - FROM_SCALE_NZ
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t DVDVRGetTitleLength( pgc_gi_t *pgc_gi, ud_pgcit_t *ud_pgcit,
      int program)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DvdReadResetCellTs
      Src: /src/vlc/modules/access/dvdread_vr.c:474,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/dvdread_vr.c:475,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvdread_vr.c:490,1
    - Dst: DvdVRGetProgramSectorSpan
      Src: /src/vlc/modules/access/dvdread_vr.c:495,1
    - Dst: ckd_mul
      Src: /src/vlc/modules/access/dvdread_vr.c:503,1
    - Dst: DvdVRTimeInfosSane
      Src: /src/vlc/modules/access/dvdread_vr.c:511,1
    - Dst: DvdReadResetCellTs
      Src: /src/vlc/modules/access/dvdread_vr.c:527,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/dvdread_vr.c:528,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 48
    argCount: 2
    argNames:
    - p_demux
    - i_block_offset
    argTypes:
    - demux_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 531
    functionName: DvdVRReadSeek
    functionSourceFile: /src/vlc/modules/access/dvdread_vr.c
    functionUses: 0
    functionsReached:
    - es_out_Control
    - DvdVRGetProgramSectorSpan
    - DvdVRTimeInfosSane
    - DvdReadResetCellTs
    - ckd_mul
    - unlikely
    linkageType: ''
    returnType: int
    signature: int DvdVRReadSeek( demux_t *p_demux, uint32_t i_block_offset )
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - txt_encoding
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 549
    functionName: ParseTxtEncoding
    functionSourceFile: /src/vlc/modules/access/dvdread_vr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ParseTxtEncoding( uint8_t txt_encoding )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - demux_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 556
    functionName: DvdVRReadTitleLength
    functionSourceFile: /src/vlc/modules/access/dvdread_vr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t DvdVRReadTitleLength( const demux_sys_t *p_sys )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DvdVRProgramDuration
      Src: /src/vlc/modules/access/dvdread_vr.c:573,1
    - Dst: DvdVRProgramDuration
      Src: /src/vlc/modules/access/dvdread_vr.c:584,1
    - Dst: DvdVRGetProgramSectorSpan
      Src: /src/vlc/modules/access/dvdread_vr.c:587,1
    - Dst: ckd_mul
      Src: /src/vlc/modules/access/dvdread_vr.c:597,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 24
    argCount: 2
    argNames:
    - p_sys
    - base
    argTypes:
    - demux_sys_t*
    - vlc_tick_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 558
    functionDepth: 2
    functionLinenumber: 558
    functionLinenumberEnd: 603
    functionName: DvdVRReadTimelineBase
    functionSourceFile: /src/vlc/modules/access/dvdread_vr.c
    functionUses: 0
    functionsReached:
    - ckd_mul
    - DvdVRGetProgramSectorSpan
    - DvdVRProgramDuration
    linkageType: ''
    returnType: bool
    signature: bool DvdVRReadTimelineBase( const demux_sys_t *p_sys, vlc_tick_t *base
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dvdread_vr.c:608,1
    - Dst: DvdVRReadTimeToVobuOffset
      Src: /src/vlc/modules/access/dvdread_vr.c:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p_sys
    - time
    - i_block_offset
    argTypes:
    - demux_sys_t*
    - vlc_tick_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 605
    functionDepth: 3
    functionLinenumber: 605
    functionLinenumberEnd: 610
    functionName: DvdVRReadTimeToSeekOffset
    functionSourceFile: /src/vlc/modules/access/dvdread_vr.c
    functionUses: 0
    functionsReached:
    - DvdVRReadTimeToVobuOffset
    - VLC_UNUSED
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t DvdVRReadTimeToSeekOffset( const demux_sys_t *p_sys, vlc_tick_t
      time,\n                                           uint32_t i_block_offset )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 615
    functionName: DvdVRReadPsSource
    functionSourceFile: /src/vlc/modules/access/dvdread_vr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DvdVRReadPsSource( void )
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - p_sys
    - pkt
    argTypes:
    - demux_sys_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 629
    functionName: DvdVRReadAdjustAnchor
    functionSourceFile: /src/vlc/modules/access/dvdread_vr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DvdVRReadAdjustAnchor( demux_sys_t *p_sys, block_t *pkt )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dvdread_vr.c:633,1
    - Dst: ParseTxtEncoding
      Src: /src/vlc/modules/access/dvdread_vr.c:639,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdread_vr.c:641,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdread_vr.c:659,1
    - Dst: vlc_input_title_New
      Src: /src/vlc/modules/access/dvdread_vr.c:661,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvdread_vr.c:662,1
    - Dst: FROM_SCALE_NZ
      Src: /src/vlc/modules/access/dvdread_vr.c:668,1
    - Dst: FromCharset
      Src: /src/vlc/modules/access/dvdread_vr.c:670,1
    - Dst: strnlen
      Src: /src/vlc/modules/access/dvdread_vr.c:673,1
    - Dst: free
      Src: /src/vlc/modules/access/dvdread_vr.c:680,1
    - Dst: strndup
      Src: /src/vlc/modules/access/dvdread_vr.c:681,1
    - Dst: DVDVRGetTitleLength
      Src: /src/vlc/modules/access/dvdread_vr.c:684,1
    - Dst: vlc_seekpoint_New
      Src: /src/vlc/modules/access/dvdread_vr.c:694,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvdread_vr.c:695,1
    - Dst: FROM_SCALE_NZ
      Src: /src/vlc/modules/access/dvdread_vr.c:699,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/access/dvdread_vr.c:701,1
    - Dst: vlc_seekpoint_New
      Src: /src/vlc/modules/access/dvdread_vr.c:706,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvdread_vr.c:707,1
    - Dst: FROM_SCALE_NZ
      Src: /src/vlc/modules/access/dvdread_vr.c:710,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/access/dvdread_vr.c:712,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/access/dvdread_vr.c:716,1
    - Dst: vlc_input_title_Delete
      Src: /src/vlc/modules/access/dvdread_vr.c:721,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 2
    argNames:
    - p_demux
    - pi_angle
    argTypes:
    - demux_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 631
    functionDepth: 2
    functionLinenumber: 631
    functionLinenumberEnd: 722
    functionName: DvdVRReadDemuxTitles
    functionSourceFile: /src/vlc/modules/access/dvdread_vr.c
    functionUses: 0
    functionsReached:
    - strndup
    - ParseTxtEncoding
    - vlc_input_title_Delete
    - strnlen
    - TAB_APPEND
    - vlc_seekpoint_New
    - DVDVRGetTitleLength
    - free
    - vlc_input_title_New
    - msg_Dbg
    - FROM_SCALE_NZ
    - FromCharset
    - unlikely
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void DvdVRReadDemuxTitles( demux_t *p_demux, int *pi_angle )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenCommonDvdread
      Src: /src/vlc/modules/access/dvdread_vr.c:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 740
    functionName: OpenVideoRecording
    functionSourceFile: /src/vlc/modules/access/dvdread_vr.c
    functionUses: 0
    functionsReached:
    - OpenCommonDvdread
    linkageType: ''
    returnType: int
    signature: int OpenVideoRecording( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dvdread_vr.c:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 746
    functionName: OpenVideoRecording
    functionSourceFile: /src/vlc/modules/access/dvdread_vr.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int OpenVideoRecording( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - obj
    - ','
    - buf
    - ','
    - words
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: vanc_to_cc
    functionSourceFile: /src/vlc/modules/access/sdi.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vanc_to_cc(obj, buf, words)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/udp.c:72,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/udp.c:76,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/udp.c:77,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/udp.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - access
    - query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 84
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/udp.c
    functionUses: 11
    functionsReached:
    - var_InheritInteger
    - va_arg
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: int
    signature: int Control(stream_t *access, int query, va_list args)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/access/udp.c:94,1
    - Dst: vlc_poll_i11e
      Src: /src/vlc/modules/access/udp.c:105,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/udp.c:107,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/udp.c:119,1
    - Dst: recvmsg
      Src: /src/vlc/modules/access/udp.c:121,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/udp.c:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - access
    - buf
    - len
    argTypes:
    - stream_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 133
    functionName: Read
    functionSourceFile: /src/vlc/modules/access/udp.c
    functionUses: 12
    functionsReached:
    - ARRAY_SIZE
    - memcpy
    - msg_Err
    - vlc_poll_i11e
    - recvmsg
    - unlikely
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Read(stream_t *access, void *buf, size_t len)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/access/udp.c:146,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/udp.c:147,1
    - Dst: strdup
      Src: /src/vlc/modules/access/udp.c:157,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/udp.c:162,1
    - Dst: strchr
      Src: /src/vlc/modules/access/udp.c:167,1
    - Dst: strchr
      Src: /src/vlc/modules/access/udp.c:176,1
    - Dst: strchr
      Src: /src/vlc/modules/access/udp.c:180,1
    - Dst: atoi
      Src: /src/vlc/modules/access/udp.c:184,1
    - Dst: strchr
      Src: /src/vlc/modules/access/udp.c:191,1
    - Dst: strchr
      Src: /src/vlc/modules/access/udp.c:196,1
    - Dst: atoi
      Src: /src/vlc/modules/access/udp.c:200,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/udp.c:204,1
    - Dst: net_OpenDgram
      Src: /src/vlc/modules/access/udp.c:207,1
    - Dst: free
      Src: /src/vlc/modules/access/udp.c:209,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/udp.c:212,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/udp.c:216,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 221
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/udp.c
    functionUses: 1
    functionsReached:
    - atoi
    - strchr
    - strdup
    - vlc_obj_malloc
    - var_InheritInteger
    - net_OpenDgram
    - free
    - msg_Err
    - msg_Dbg
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: net_Close
      Src: /src/vlc/modules/access/udp.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/udp.c
    functionUses: 19
    functionsReached:
    - net_Close
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: rfbClientGetClientData
      Src: /src/vlc/modules/access/vnc.c:142,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/access/vnc.c:147,1
    - Dst: assert
      Src: /src/vlc/modules/access/vnc.c:153,1
    - Dst: assert
      Src: /src/vlc/modules/access/vnc.c:154,1
    - Dst: strstr
      Src: /src/vlc/modules/access/vnc.c:161,1
    - Dst: mul_overflow
      Src: /src/vlc/modules/access/vnc.c:204,1
    - Dst: mul_overflow
      Src: /src/vlc/modules/access/vnc.c:205,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vnc.c:206,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/access/vnc.c:212,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/vnc.c:214,1
    - Dst: SetFormatAndEncodings
      Src: /src/vlc/modules/access/vnc.c:222,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/vnc.c:226,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/vnc.c:243,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 67
    argCount: 1
    argNames:
    - p_client
    argTypes:
    - rfbClient*
    assertStmts:
    - condition: (p_client->height <= UINT16_MAX)
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/vlc/modules/access/vnc.c
    - condition: (p_client->width <= UINT16_MAX)
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/vlc/modules/access/vnc.c
    constantsTouched: []
    func_position:
      end: 246
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 246
    functionName: mallocFrameBufferHandler
    functionSourceFile: /src/vlc/modules/access/vnc.c
    functionUses: 0
    functionsReached:
    - SetFormatAndEncodings
    - assert
    - block_Realloc
    - msg_Err
    - block_Alloc
    - es_out_Del
    - strstr
    - es_out_Add
    - es_format_Init
    - rfbClientGetClientData
    - mul_overflow
    linkageType: ''
    returnType: rfbBool
    signature: rfbBool mallocFrameBufferHandler( rfbClient* p_client )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rfbClientGetClientData
      Src: /src/vlc/modules/access/vnc.c:251,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/vnc.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_client
    argTypes:
    - rfbClient*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 254
    functionName: getPasswordHandler
    functionSourceFile: /src/vlc/modules/access/vnc.c
    functionUses: 0
    functionsReached:
    - var_InheritString
    - rfbClientGetClientData
    linkageType: ''
    returnType: char
    signature: char *getPasswordHandler( rfbClient *p_client )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rfbClientGetClientData
      Src: /src/vlc/modules/access/vnc.c:258,1
    - Dst: calloc
      Src: /src/vlc/modules/access/vnc.c:260,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/vnc.c:268,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/vnc.c:270,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/vnc.c:273,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/vnc.c:275,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/vnc.c:280,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/vnc.c:282,1
    - Dst: free
      Src: /src/vlc/modules/access/vnc.c:286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - p_client
    - i_credentialType
    argTypes:
    - rfbClient*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 291
    functionName: getCredentialHandler
    functionSourceFile: /src/vlc/modules/access/vnc.c
    functionUses: 0
    functionsReached:
    - calloc
    - var_InheritString
    - rfbClientGetClientData
    - free
    linkageType: ''
    returnType: rfbCredential
    signature: rfbCredential * getCredentialHandler( rfbClient *p_client, int i_credentialType
      )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/vnc.c:310,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/vnc.c:315,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/vnc.c:320,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/vnc.c:321,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/vnc.c:321,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/vnc.c:325,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/vnc.c:325,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/vnc.c:329,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/vnc.c:333,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/vnc.c:338,1
    - Dst: vlc_meta_Set
      Src: /src/vlc/modules/access/vnc.c:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 345
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/vnc.c
    functionUses: 11
    functionsReached:
    - vlc_tick_now
    - vlc_meta_Set
    - var_InheritInteger
    - VLC_TICK_FROM_MS
    - va_arg
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/vnc.c:355,1
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/access/vnc.c:358,1
    - Dst: WaitForMessage
      Src: /src/vlc/modules/access/vnc.c:362,1
    - Dst: vlc_sem_timedwait
      Src: /src/vlc/modules/access/vnc.c:366,1
    - Dst: HandleRFBServerMessage
      Src: /src/vlc/modules/access/vnc.c:374,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/vnc.c:377,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/access/vnc.c:379,1
    - Dst: block_Duplicate
      Src: /src/vlc/modules/access/vnc.c:385,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/vnc.c:388,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/vnc.c:389,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/vnc.c:391,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/vnc.c:393,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - p_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 400
    functionName: DemuxThread
    functionSourceFile: /src/vlc/modules/access/vnc.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - block_Release
    - vlc_thread_set_name
    - HandleRFBServerMessage
    - es_out_Send
    - WaitForMessage
    - block_Duplicate
    - es_out_Del
    - msg_Warn
    - vlc_sem_timedwait
    - es_out_SetPCR
    linkageType: ''
    returnType: void
    signature: void *DemuxThread( void *p_data )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/access/vnc.c:413,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/access/vnc.c:416,1
    - Dst: vlc_tick_rate_duration
      Src: /src/vlc/modules/access/vnc.c:418,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/vnc.c:420,1
    - Dst: vlc_fourcc_GetCodecFromString
      Src: /src/vlc/modules/access/vnc.c:421,1
    - Dst: free
      Src: /src/vlc/modules/access/vnc.c:422,1
    - Dst: vlc_fourcc_IsYUV
      Src: /src/vlc/modules/access/vnc.c:423,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vnc.c:425,1
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/access/vnc.c:429,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vnc.c:432,1
    - Dst: rfbGetClient
      Src: /src/vlc/modules/access/vnc.c:440,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/vnc.c:445,1
    - Dst: vlc_fourcc_GetDescription
      Src: /src/vlc/modules/access/vnc.c:446,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/vnc.c:450,1
    - Dst: vlc_fourcc_GetDescription
      Src: /src/vlc/modules/access/vnc.c:451,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/vnc.c:461,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/vnc.c:463,1
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/access/vnc.c:467,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/access/vnc.c:469,1
    - Dst: strdup
      Src: /src/vlc/modules/access/vnc.c:470,1
    - Dst: strdup
      Src: /src/vlc/modules/access/vnc.c:472,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/vnc.c:477,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/vnc.c:482,1
    - Dst: rfbClientSetClientData
      Src: /src/vlc/modules/access/vnc.c:485,1
    - Dst: rfbInitClient
      Src: /src/vlc/modules/access/vnc.c:488,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vnc.c:490,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/vnc.c:494,1
    - Dst: vlc_sem_init
      Src: /src/vlc/modules/access/vnc.c:495,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/access/vnc.c:497,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vnc.c:499,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 55
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 507
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/vnc.c
    functionUses: 1
    functionsReached:
    - vlc_sem_init
    - EMPTY_STR
    - vlc_tick_rate_duration
    - vlc_obj_calloc
    - vlc_fourcc_GetDescription
    - vlc_tick_now
    - msg_Err
    - vlc_fourcc_IsYUV
    - msg_Dbg
    - vlc_UrlClean
    - vlc_UrlParse
    - strdup
    - var_InheritInteger
    - rfbClientSetClientData
    - vlc_fourcc_GetChromaDescription
    - var_InheritFloat
    - var_InheritString
    - vlc_clone
    - rfbGetClient
    - free
    - rfbInitClient
    - vlc_fourcc_GetCodecFromString
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sem_post
      Src: /src/vlc/modules/access/vnc.c:517,1
    - Dst: vlc_join
      Src: /src/vlc/modules/access/vnc.c:518,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/access/vnc.c:521,1
    - Dst: rfbClientCleanup
      Src: /src/vlc/modules/access/vnc.c:523,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/vnc.c:526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 527
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/vnc.c
    functionUses: 19
    functionsReached:
    - block_Release
    - vlc_sem_post
    - vlc_join
    - rfbClientCleanup
    - es_out_Del
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/samba.c:74,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/samba.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - psz_server
    - psz_share_path
    - psz_name
    argTypes:
    - char*
    - char*
    - char*
    assertStmts:
    - condition: (psz_server)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/vlc/modules/access/samba.c
    constantsTouched: []
    func_position:
      end: 80
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 80
    functionName: smb_get_uri
    functionSourceFile: /src/vlc/modules/access/samba.c
    functionUses: 0
    functionsReached:
    - asprintf
    - assert
    linkageType: ''
    returnType: char
    signature: "char *smb_get_uri(const char *psz_server, const char *psz_share_path,\n
      \                        const char *psz_name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/samba.c:93,1
    - Dst: access_sys_t*::filevt::lseek
      Src: /src/vlc/modules/access/samba.c:95,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/samba.c:98,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/samba.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - p_access
    - i_pos
    argTypes:
    - stream_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 103
    functionName: Seek
    functionSourceFile: /src/vlc/modules/access/samba.c
    functionUses: 5
    functionsReached:
    - vlc_strerror_c
    - msg_Dbg
    - access_sys_t*::filevt::lseek
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int Seek( stream_t *p_access, uint64_t i_pos )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: access_sys_t*::filevt::read
      Src: /src/vlc/modules/access/samba.c:121,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/samba.c:124,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/samba.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - p_access
    - p_buffer
    - i_len
    argTypes:
    - stream_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 129
    functionName: Read
    functionSourceFile: /src/vlc/modules/access/samba.c
    functionUses: 12
    functionsReached:
    - vlc_strerror_c
    - access_sys_t*::filevt::read
    - msg_Err
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Read( stream_t *p_access, void *p_buffer, size_t i_len )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: vlc_readdir_helper_init
      Src: /src/vlc/modules/access/samba.c:140,1
    - Dst: access_sys_t*::dirvt::readdir
      Src: /src/vlc/modules/access/samba.c:144,1
    - Dst: vlc_uri_encode
      Src: /src/vlc/modules/access/samba.c:176,1
    - Dst: smb_get_uri
      Src: /src/vlc/modules/access/samba.c:182,1
    - Dst: free
      Src: /src/vlc/modules/access/samba.c:184,1
    - Dst: access_sys_t*::dirvt::stat
      Src: /src/vlc/modules/access/samba.c:189,1
    - Dst: free
      Src: /src/vlc/modules/access/samba.c:192,1
    - Dst: vlc_readdir_helper_additem
      Src: /src/vlc/modules/access/samba.c:193,1
    - Dst: input_item_AddStat
      Src: /src/vlc/modules/access/samba.c:197,1
    - Dst: input_item_AddStat
      Src: /src/vlc/modules/access/samba.c:198,1
    - Dst: free
      Src: /src/vlc/modules/access/samba.c:200,1
    - Dst: vlc_readdir_helper_finish
      Src: /src/vlc/modules/access/samba.c:203,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 2
    argNames:
    - p_access
    - p_node
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 206
    functionName: DirRead
    functionSourceFile: /src/vlc/modules/access/samba.c
    functionUses: 0
    functionsReached:
    - access_sys_t*::dirvt::readdir
    - vlc_readdir_helper_init
    - free
    - smb_get_uri
    - access_sys_t*::dirvt::stat
    - vlc_uri_encode
    - vlc_readdir_helper_additem
    - input_item_AddStat
    - vlc_readdir_helper_finish
    linkageType: ''
    returnType: int
    signature: int DirRead (stream_t *p_access, input_item_node_t *p_node )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/samba.c:220,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/samba.c:224,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/samba.c:230,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/samba.c:234,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/samba.c:234,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/samba.c:235,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - p_access
    - i_query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 247
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/samba.c
    functionUses: 11
    functionsReached:
    - var_InheritInteger
    - va_arg
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: int
    signature: int Control( stream_t *p_access, int i_query, va_list args )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/samba.c:254,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/samba.c:255,1
    - Dst: smbc_getOptionUserData
      Src: /src/vlc/modules/access/samba.c:257,1
    - Dst: assert
      Src: /src/vlc/modules/access/samba.c:258,1
    - Dst: strlcpy
      Src: /src/vlc/modules/access/samba.c:261,1
    - Dst: strlcpy
      Src: /src/vlc/modules/access/samba.c:263,1
    - Dst: strlcpy
      Src: /src/vlc/modules/access/samba.c:265,1
    - Dst: strlcpy
      Src: /src/vlc/modules/access/samba.c:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 9
    argNames:
    - ctx
    - srv
    - shr
    - wg
    - wglen
    - un
    - unlen
    - pw
    - pwlen
    argTypes:
    - SMBCCTX*
    - char*
    - char*
    - char*
    - int
    - char*
    - int
    - char*
    - int
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/vlc/modules/access/samba.c
    constantsTouched: []
    func_position:
      end: 274
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 274
    functionName: smb_auth
    functionSourceFile: /src/vlc/modules/access/samba.c
    functionUses: 0
    functionsReached:
    - strlcpy
    - assert
    - smbc_getOptionUserData
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void smb_auth(SMBCCTX *ctx, const char *srv, const char *shr,\n                     char
      *wg, int wglen,\n                     char *un, int unlen,\n                     char
      *pw, int pwlen)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/access/samba.c:285,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/samba.c:286,1
    - Dst: smbc_new_context
      Src: /src/vlc/modules/access/samba.c:289,1
    - Dst: smbc_setDebug
      Src: /src/vlc/modules/access/samba.c:293,1
    - Dst: smbc_setOptionUserData
      Src: /src/vlc/modules/access/samba.c:294,1
    - Dst: smbc_setFunctionAuthDataWithContext
      Src: /src/vlc/modules/access/samba.c:295,1
    - Dst: smbc_init_context
      Src: /src/vlc/modules/access/samba.c:297,1
    - Dst: vlc_UrlParseFixup
      Src: /src/vlc/modules/access/samba.c:300,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/samba.c:302,1
    - Dst: vlc_uri_decode_duplicate
      Src: /src/vlc/modules/access/samba.c:308,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/samba.c:311,1
    - Dst: vlc_credential_init
      Src: /src/vlc/modules/access/samba.c:316,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/samba.c:317,1
    - Dst: vlc_credential_get
      Src: /src/vlc/modules/access/samba.c:319,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/samba.c:323,1
    - Dst: smbc_getFunctionStat
      Src: /src/vlc/modules/access/samba.c:327,1
    - Dst: assert
      Src: /src/vlc/modules/access/samba.c:328,1
    - Dst: smb_get_uri
      Src: /src/vlc/modules/access/samba.c:334,1
    - Dst: free
      Src: /src/vlc/modules/access/samba.c:337,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/samba.c:338,1
    - Dst: stat_fn
      Src: /src/vlc/modules/access/samba.c:344,1
    - Dst: S_ISDIR
      Src: /src/vlc/modules/access/samba.c:346,1
    - Dst: vlc_credential_get
      Src: /src/vlc/modules/access/samba.c:359,1
    - Dst: free
      Src: /src/vlc/modules/access/samba.c:365,1
    - Dst: smbc_getFunctionOpendir
      Src: /src/vlc/modules/access/samba.c:371,1
    - Dst: assert
      Src: /src/vlc/modules/access/samba.c:372,1
    - Dst: smbc_getFunctionClosedir
      Src: /src/vlc/modules/access/samba.c:374,1
    - Dst: assert
      Src: /src/vlc/modules/access/samba.c:375,1
    - Dst: smbc_getFunctionReaddir
      Src: /src/vlc/modules/access/samba.c:376,1
    - Dst: assert
      Src: /src/vlc/modules/access/samba.c:377,1
    - Dst: opendir_fn
      Src: /src/vlc/modules/access/samba.c:383,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/samba.c:385,1
    - Dst: smbc_getFunctionOpen
      Src: /src/vlc/modules/access/samba.c:389,1
    - Dst: assert
      Src: /src/vlc/modules/access/samba.c:390,1
    - Dst: smbc_getFunctionClose
      Src: /src/vlc/modules/access/samba.c:392,1
    - Dst: assert
      Src: /src/vlc/modules/access/samba.c:393,1
    - Dst: smbc_getFunctionRead
      Src: /src/vlc/modules/access/samba.c:394,1
    - Dst: assert
      Src: /src/vlc/modules/access/samba.c:395,1
    - Dst: smbc_getFunctionLseek
      Src: /src/vlc/modules/access/samba.c:396,1
    - Dst: assert
      Src: /src/vlc/modules/access/samba.c:397,1
    - Dst: open_fn
      Src: /src/vlc/modules/access/samba.c:402,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/samba.c:403,1
    - Dst: free
      Src: /src/vlc/modules/access/samba.c:405,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/samba.c:409,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/samba.c:410,1
    - Dst: vlc_credential_store
      Src: /src/vlc/modules/access/samba.c:414,1
    - Dst: vlc_credential_clean
      Src: /src/vlc/modules/access/samba.c:418,1
    - Dst: free
      Src: /src/vlc/modules/access/samba.c:419,1
    - Dst: smbc_free_context
      Src: /src/vlc/modules/access/samba.c:420,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 99
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: (opendir_fn)
      pos:
        line_end: 371
        line_start: 371
        source_file: /src/vlc/modules/access/samba.c
    - condition: (sys->filevt.close)
      pos:
        line_end: 392
        line_start: 392
        source_file: /src/vlc/modules/access/samba.c
    - condition: (sys->filevt.read)
      pos:
        line_end: 394
        line_start: 394
        source_file: /src/vlc/modules/access/samba.c
    - condition: (sys->filevt.lseek)
      pos:
        line_end: 396
        line_start: 396
        source_file: /src/vlc/modules/access/samba.c
    - condition: (sys->dirvt.closedir)
      pos:
        line_end: 374
        line_start: 374
        source_file: /src/vlc/modules/access/samba.c
    - condition: (stat_fn)
      pos:
        line_end: 327
        line_start: 327
        source_file: /src/vlc/modules/access/samba.c
    - condition: (sys->dirvt.readdir)
      pos:
        line_end: 376
        line_start: 376
        source_file: /src/vlc/modules/access/samba.c
    - condition: (open_fn)
      pos:
        line_end: 389
        line_start: 389
        source_file: /src/vlc/modules/access/samba.c
    constantsTouched: []
    func_position:
      end: 422
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 422
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/samba.c
    functionUses: 2
    functionsReached:
    - vlc_credential_store
    - assert
    - smbc_getFunctionRead
    - vlc_strerror_c
    - open_fn
    - smbc_free_context
    - smbc_init_context
    - smbc_setFunctionAuthDataWithContext
    - smbc_setDebug
    - vlc_obj_calloc
    - msg_Err
    - smbc_getFunctionClose
    - smbc_getFunctionReaddir
    - vlc_UrlClean
    - smbc_setOptionUserData
    - smbc_getFunctionStat
    - smbc_getFunctionClosedir
    - smbc_getFunctionLseek
    - vlc_credential_init
    - opendir_fn
    - smbc_new_context
    - vlc_credential_clean
    - vlc_uri_decode_duplicate
    - var_InheritString
    - S_ISDIR
    - stat_fn
    - vlc_UrlParseFixup
    - smbc_getFunctionOpendir
    - free
    - smbc_getFunctionOpen
    - smb_get_uri
    - vlc_credential_get
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_credential_clean
      Src: /src/vlc/modules/access/samba.c:429,1
    - Dst: free
      Src: /src/vlc/modules/access/samba.c:430,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/samba.c:432,1
    - Dst: access_sys_t*::dirvt::closedir
      Src: /src/vlc/modules/access/samba.c:435,1
    - Dst: access_sys_t*::filevt::close
      Src: /src/vlc/modules/access/samba.c:437,1
    - Dst: smbc_free_context
      Src: /src/vlc/modules/access/samba.c:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 440
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/samba.c
    functionUses: 20
    functionsReached:
    - vlc_credential_clean
    - access_sys_t*::dirvt::closedir
    - access_sys_t*::filevt::close
    - free
    - smbc_free_context
    - vlc_UrlClean
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *obj)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: ACCESS_SET_CALLBACKS
      Src: /src/vlc/modules/access/amt.c:379,1
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/access/amt.c:387,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/amt.c:388,1
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/access/amt.c:401,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:403,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/amt.c:433,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/amt.c:437,1
    - Dst: memset
      Src: /src/vlc/modules/access/amt.c:440,1
    - Dst: vlc_getaddrinfo
      Src: /src/vlc/modules/access/amt.c:445,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:450,1
    - Dst: gai_strerror
      Src: /src/vlc/modules/access/amt.c:450,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/amt.c:465,1
    - Dst: inet_ntop
      Src: /src/vlc/modules/access/amt.c:465,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:468,1
    - Dst: gai_strerror
      Src: /src/vlc/modules/access/amt.c:468,1
    - Dst: freeaddrinfo
      Src: /src/vlc/modules/access/amt.c:484,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/amt.c:489,1
    - Dst: strtok_r
      Src: /src/vlc/modules/access/amt.c:492,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:495,1
    - Dst: strstr
      Src: /src/vlc/modules/access/amt.c:505,1
    - Dst: memset
      Src: /src/vlc/modules/access/amt.c:508,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/amt.c:509,1
    - Dst: vlc_getaddrinfo
      Src: /src/vlc/modules/access/amt.c:514,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:519,1
    - Dst: gai_strerror
      Src: /src/vlc/modules/access/amt.c:519,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/amt.c:534,1
    - Dst: inet_ntop
      Src: /src/vlc/modules/access/amt.c:534,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:537,1
    - Dst: gai_strerror
      Src: /src/vlc/modules/access/amt.c:537,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/amt.c:548,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/amt.c:553,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/amt.c:554,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:556,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/amt.c:561,1
    - Dst: net_OpenDgram
      Src: /src/vlc/modules/access/amt.c:565,1
    - Dst: vlc_timer_create
      Src: /src/vlc/modules/access/amt.c:573,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/amt.c:580,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/amt.c:588,1
    - Dst: freeaddrinfo
      Src: /src/vlc/modules/access/amt.c:590,1
    - Dst: free
      Src: /src/vlc/modules/access/amt.c:594,1
    - Dst: net_Close
      Src: /src/vlc/modules/access/amt.c:596,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 130
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 600
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/amt.c
    functionUses: 2
    functionsReached:
    - strtok_r
    - net_Close
    - gai_strerror
    - vlc_obj_calloc
    - msg_Err
    - msg_Dbg
    - strstr
    - freeaddrinfo
    - vlc_UrlClean
    - inet_ntop
    - vlc_UrlParse
    - var_InheritInteger
    - ACCESS_SET_CALLBACKS
    - vlc_timer_create
    - var_InheritString
    - memset
    - vlc_getaddrinfo
    - net_OpenDgram
    - free
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_timer_destroy
      Src: /src/vlc/modules/access/amt.c:610,1
    - Dst: amt_send_mem_update
      Src: /src/vlc/modules/access/amt.c:616,1
    - Dst: free
      Src: /src/vlc/modules/access/amt.c:618,1
    - Dst: net_Close
      Src: /src/vlc/modules/access/amt.c:620,1
    - Dst: net_Close
      Src: /src/vlc/modules/access/amt.c:622,1
    - Dst: net_Close
      Src: /src/vlc/modules/access/amt.c:624,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 625
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/amt.c
    functionUses: 22
    functionsReached:
    - free
    - net_Close
    - vlc_timer_destroy
    - amt_send_mem_update
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/amt.c:638,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/amt.c:642,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/amt.c:643,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/amt.c:643,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - p_access
    - i_query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 651
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/amt.c
    functionUses: 11
    functionsReached:
    - var_InheritInteger
    - va_arg
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: int
    signature: int Control( stream_t *p_access, int i_query, va_list args )
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/amt.c:666,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/amt.c:667,1
    - Dst: vlc_poll_i11e
      Src: /src/vlc/modules/access/amt.c:680,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:685,1
    - Dst: open_amt_tunnel
      Src: /src/vlc/modules/access/amt.c:686,1
    - Dst: recv
      Src: /src/vlc/modules/access/amt.c:704,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:709,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/amt.c:736,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:744,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/amt.c:749,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:760,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/amt.c:764,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:770,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/amt.c:777,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:794,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:803,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:814,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:822,1
    - Dst: recvfrom
      Src: /src/vlc/modules/access/amt.c:833,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:836,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/amt.c:845,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/amt.c:849,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 116
    argCount: 2
    argNames:
    - p_access
    - eof
    argTypes:
    - stream_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 851
    functionName: BlockAMT
    functionSourceFile: /src/vlc/modules/access/amt.c
    functionUses: 0
    functionsReached:
    - block_Release
    - recv
    - open_amt_tunnel
    - memcpy
    - msg_Err
    - vlc_poll_i11e
    - block_Alloc
    - msg_Dbg
    - msg_Warn
    - unlikely
    - recvfrom
    linkageType: ''
    returnType: block_t
    signature: block_t *BlockAMT(stream_t *p_access, bool *restrict eof)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/access/amt.c:861,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/amt.c:865,1
    - Dst: vlc_getaddrinfo
      Src: /src/vlc/modules/access/amt.c:869,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:874,1
    - Dst: gai_strerror
      Src: /src/vlc/modules/access/amt.c:874,1
    - Dst: vlc_killed
      Src: /src/vlc/modules/access/amt.c:879,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/amt.c:894,1
    - Dst: inet_ntop
      Src: /src/vlc/modules/access/amt.c:894,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:897,1
    - Dst: gai_strerror
      Src: /src/vlc/modules/access/amt.c:897,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/amt.c:901,1
    - Dst: amt_sockets_init
      Src: /src/vlc/modules/access/amt.c:911,1
    - Dst: amt_send_relay_discovery_msg
      Src: /src/vlc/modules/access/amt.c:917,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/amt.c:918,1
    - Dst: amt_rcv_relay_adv
      Src: /src/vlc/modules/access/amt.c:920,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:922,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/amt.c:925,1
    - Dst: amt_send_relay_request
      Src: /src/vlc/modules/access/amt.c:927,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/amt.c:928,1
    - Dst: amt_rcv_relay_mem_query
      Src: /src/vlc/modules/access/amt.c:930,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:932,1
    - Dst: vlc_strerror
      Src: /src/vlc/modules/access/amt.c:932,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/amt.c:935,1
    - Dst: amt_send_mem_update
      Src: /src/vlc/modules/access/amt.c:937,1
    - Dst: BlockAMT
      Src: /src/vlc/modules/access/amt.c:942,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:944,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/amt.c:949,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/amt.c:950,1
    - Dst: vlc_timer_schedule
      Src: /src/vlc/modules/access/amt.c:953,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/access/amt.c:954,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:955,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:964,1
    - Dst: freeaddrinfo
      Src: /src/vlc/modules/access/amt.c:969,1
    - Dst: vlc_timer_disarm
      Src: /src/vlc/modules/access/amt.c:973,1
    - Dst: freeaddrinfo
      Src: /src/vlc/modules/access/amt.c:976,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 73
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 856
    functionDepth: 2
    functionLinenumber: 856
    functionLinenumberEnd: 979
    functionName: open_amt_tunnel
    functionSourceFile: /src/vlc/modules/access/amt.c
    functionUses: 1
    functionsReached:
    - BlockAMT
    - vlc_strerror
    - amt_sockets_init
    - vlc_killed
    - gai_strerror
    - amt_send_mem_update
    - msg_Err
    - msg_Dbg
    - freeaddrinfo
    - inet_ntop
    - amt_rcv_relay_mem_query
    - VLC_TICK_FROM_SEC
    - vlc_timer_disarm
    - amt_send_relay_request
    - amt_rcv_relay_adv
    - amt_send_relay_discovery_msg
    - block_Release
    - memset
    - vlc_getaddrinfo
    - vlc_timer_schedule
    - unlikely
    linkageType: ''
    returnType: bool
    signature: bool open_amt_tunnel( stream_t *p_access )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/access/amt.c:992,1
    - Dst: htonl
      Src: /src/vlc/modules/access/amt.c:998,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/amt.c:999,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - buffer
    - nLen
    argTypes:
    - unsigned short*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 1027
    functionName: ipv6_checksum
    functionSourceFile: /src/vlc/modules/access/amt.c
    functionUses: 0
    functionsReached:
    - htonl
    - memcpy
    - memset
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short ipv6_checksum(unsigned short *buffer, int nLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - buffer
    - nLen
    argTypes:
    - unsigned short*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1057
    functionName: get_checksum
    functionSourceFile: /src/vlc/modules/access/amt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short get_checksum( unsigned short *buffer, int nLen )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/access/amt.c:1073,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 5
    argNames:
    - p_access
    - leave
    - report
    - group
    - src
    argTypes:
    - stream_t*
    - bool
    - amt_mldv2_listener_report_t*
    - struct in6_addr*
    - struct in6_addr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1062
    functionDepth: 1
    functionLinenumber: 1062
    functionLinenumberEnd: 1080
    functionName: make_mld_report
    functionSourceFile: /src/vlc/modules/access/amt.c
    functionUses: 0
    functionsReached:
    - vlc_obj_calloc
    linkageType: ''
    returnType: int
    signature: int make_mld_report( stream_t *p_access, bool leave, amt_mldv2_listener_report_t
      *report, struct in6_addr *group, struct in6_addr *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/vlc/modules/access/amt.c:1092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - mr
    argTypes:
    - amt_igmpv3_membership_report_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1093
    functionName: make_report
    functionSourceFile: /src/vlc/modules/access/amt.c
    functionUses: 0
    functionsReached:
    - htons
    linkageType: ''
    returnType: void
    signature: void make_report( amt_igmpv3_membership_report_t *mr )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/vlc/modules/access/amt.c:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - p_ipHead
    argTypes:
    - amt_ip_alert_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1110
    functionName: make_ip_header
    functionSourceFile: /src/vlc/modules/access/amt.c
    functionUses: 0
    functionsReached:
    - htons
    linkageType: ''
    returnType: void
    signature: void make_ip_header( amt_ip_alert_t *p_ipHead )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 3
    argNames:
    - p
    - length
    - dst
    argTypes:
    - amt_ipv6_t*
    - uint16_t
    - struct in6_addr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1136
    functionName: make_ipv6
    functionSourceFile: /src/vlc/modules/access/amt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void make_ipv6( amt_ipv6_t *p, uint16_t length, struct in6_addr *dst
      )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vlc_socket
      Src: /src/vlc/modules/access/amt.c:1149,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:1152,1
    - Dst: setsockopt
      Src: /src/vlc/modules/access/amt.c:1156,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:1159,1
    - Dst: htons
      Src: /src/vlc/modules/access/amt.c:1168,1
    - Dst: htons
      Src: /src/vlc/modules/access/amt.c:1175,1
    - Dst: bind
      Src: /src/vlc/modules/access/amt.c:1179,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:1181,1
    - Dst: vlc_strerror
      Src: /src/vlc/modules/access/amt.c:1181,1
    - Dst: vlc_socket
      Src: /src/vlc/modules/access/amt.c:1185,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:1188,1
    - Dst: htons
      Src: /src/vlc/modules/access/amt.c:1199,1
    - Dst: htons
      Src: /src/vlc/modules/access/amt.c:1206,1
    - Dst: bind
      Src: /src/vlc/modules/access/amt.c:1210,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:1212,1
    - Dst: net_Close
      Src: /src/vlc/modules/access/amt.c:1221,1
    - Dst: net_Close
      Src: /src/vlc/modules/access/amt.c:1227,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 63
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1142
    functionDepth: 1
    functionLinenumber: 1142
    functionLinenumberEnd: 1231
    functionName: amt_sockets_init
    functionSourceFile: /src/vlc/modules/access/amt.c
    functionUses: 1
    functionsReached:
    - vlc_socket
    - htons
    - vlc_strerror
    - net_Close
    - setsockopt
    - msg_Err
    - bind
    linkageType: ''
    returnType: int
    signature: int amt_sockets_init( stream_t *p_access )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/access/amt.c:1243,1
    - Dst: vlc_rand_bytes
      Src: /src/vlc/modules/access/amt.c:1258,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/amt.c:1259,1
    - Dst: sendto
      Src: /src/vlc/modules/access/amt.c:1262,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:1266,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/amt.c:1266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - p_access
    - relay_ip
    argTypes:
    - stream_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1236
    functionDepth: 1
    functionLinenumber: 1236
    functionLinenumberEnd: 1268
    functionName: amt_send_relay_discovery_msg
    functionSourceFile: /src/vlc/modules/access/amt.c
    functionUses: 1
    functionsReached:
    - vlc_strerror_c
    - memset
    - memcpy
    - sendto
    - msg_Err
    - vlc_rand_bytes
    linkageType: ''
    returnType: void
    signature: void amt_send_relay_discovery_msg( stream_t *p_access, char *relay_ip
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/access/amt.c:1279,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/amt.c:1310,1
    - Dst: send
      Src: /src/vlc/modules/access/amt.c:1312,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:1316,1
    - Dst: vlc_strerror
      Src: /src/vlc/modules/access/amt.c:1316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - p_access
    - relay_ip
    argTypes:
    - stream_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1273
    functionDepth: 1
    functionLinenumber: 1273
    functionLinenumberEnd: 1318
    functionName: amt_send_relay_request
    functionSourceFile: /src/vlc/modules/access/amt.c
    functionUses: 1
    functionsReached:
    - vlc_strerror
    - memset
    - send
    - memcpy
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void amt_send_relay_request( stream_t *p_access, char *relay_ip )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/access/amt.c:1346,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/amt.c:1348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 3
    argNames:
    - ip
    - buf
    - buflen
    argTypes:
    - amt_ipv6_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1361
    functionName: serialize_ipv6_pkt
    functionSourceFile: /src/vlc/modules/access/amt.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int serialize_ipv6_pkt(amt_ipv6_t *ip, char *buf, int buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/access/amt.c:1391,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/amt.c:1393,1
    - Dst: htons
      Src: /src/vlc/modules/access/amt.c:1397,1
    - Dst: ipv6_checksum
      Src: /src/vlc/modules/access/amt.c:1397,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/amt.c:1398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 4
    argNames:
    - report
    - buf
    - buflen
    - p_access
    argTypes:
    - amt_mldv2_listener_report_t*
    - char*
    - int
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1370
    functionDepth: 1
    functionLinenumber: 1370
    functionLinenumberEnd: 1403
    functionName: serialize_mld_report
    functionSourceFile: /src/vlc/modules/access/amt.c
    functionUses: 0
    functionsReached:
    - htons
    - memcpy
    - msg_Dbg
    - ipv6_checksum
    linkageType: ''
    returnType: int
    signature: int serialize_mld_report(amt_mldv2_listener_report_t *report, char
      *buf, int buflen, stream_t *p_access)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/access/amt.c:1423,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/amt.c:1426,1
    - Dst: memset
      Src: /src/vlc/modules/access/amt.c:1432,1
    - Dst: make_ip_header
      Src: /src/vlc/modules/access/amt.c:1433,1
    - Dst: inet_pton
      Src: /src/vlc/modules/access/amt.c:1436,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:1439,1
    - Dst: gai_strerror
      Src: /src/vlc/modules/access/amt.c:1439,1
    - Dst: get_checksum
      Src: /src/vlc/modules/access/amt.c:1443,1
    - Dst: htons
      Src: /src/vlc/modules/access/amt.c:1452,1
    - Dst: htons
      Src: /src/vlc/modules/access/amt.c:1459,1
    - Dst: make_report
      Src: /src/vlc/modules/access/amt.c:1464,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/amt.c:1466,1
    - Dst: get_checksum
      Src: /src/vlc/modules/access/amt.c:1467,1
    - Dst: memset
      Src: /src/vlc/modules/access/amt.c:1470,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/amt.c:1471,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/amt.c:1472,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/amt.c:1474,1
    - Dst: send
      Src: /src/vlc/modules/access/amt.c:1475,1
    - Dst: memset
      Src: /src/vlc/modules/access/amt.c:1481,1
    - Dst: memset
      Src: /src/vlc/modules/access/amt.c:1483,1
    - Dst: inet_pton
      Src: /src/vlc/modules/access/amt.c:1486,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:1488,1
    - Dst: gai_strerror
      Src: /src/vlc/modules/access/amt.c:1488,1
    - Dst: make_ipv6
      Src: /src/vlc/modules/access/amt.c:1492,1
    - Dst: make_mld_report
      Src: /src/vlc/modules/access/amt.c:1494,1
    - Dst: serialize_ipv6_pkt
      Src: /src/vlc/modules/access/amt.c:1499,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:1502,1
    - Dst: serialize_mld_report
      Src: /src/vlc/modules/access/amt.c:1506,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:1508,1
    - Dst: send
      Src: /src/vlc/modules/access/amt.c:1512,1
    - Dst: vlc_obj_free
      Src: /src/vlc/modules/access/amt.c:1514,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/amt.c:1518,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:1522,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 64
    argCount: 2
    argNames:
    - p_access
    - leave
    argTypes:
    - stream_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1525
      start: 1411
    functionDepth: 2
    functionLinenumber: 1411
    functionLinenumberEnd: 1525
    functionName: amt_send_mem_update
    functionSourceFile: /src/vlc/modules/access/amt.c
    functionUses: 2
    functionsReached:
    - htons
    - serialize_mld_report
    - memset
    - send
    - vlc_obj_free
    - memcpy
    - make_report
    - msg_Err
    - get_checksum
    - msg_Dbg
    - inet_pton
    - serialize_ipv6_pkt
    - make_ipv6
    - gai_strerror
    - make_ip_header
    - make_mld_report
    linkageType: ''
    returnType: int
    signature: int amt_send_mem_update( stream_t *p_access, bool leave)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/access/amt.c:1546,1
    - Dst: vlc_poll_i11e
      Src: /src/vlc/modules/access/amt.c:1553,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:1556,1
    - Dst: recvfrom
      Src: /src/vlc/modules/access/amt.c:1562,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:1566,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/amt.c:1574,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:1577,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/amt.c:1581,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:1584,1
    - Dst: htonl
      Src: /src/vlc/modules/access/amt.c:1584,1
    - Dst: htonl
      Src: /src/vlc/modules/access/amt.c:1584,1
    - Dst: htons
      Src: /src/vlc/modules/access/amt.c:1595,1
    - Dst: htons
      Src: /src/vlc/modules/access/amt.c:1602,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/amt.c:1606,1
    - Dst: connect
      Src: /src/vlc/modules/access/amt.c:1608,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:1611,1
    - Dst: vlc_strerror
      Src: /src/vlc/modules/access/amt.c:1611,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1541
    functionDepth: 1
    functionLinenumber: 1541
    functionLinenumberEnd: 1616
    functionName: amt_rcv_relay_adv
    functionSourceFile: /src/vlc/modules/access/amt.c
    functionUses: 1
    functionsReached:
    - htons
    - vlc_strerror
    - memset
    - htonl
    - memcpy
    - msg_Err
    - connect
    - vlc_poll_i11e
    - recvfrom
    linkageType: ''
    returnType: bool
    signature: bool amt_rcv_relay_adv( stream_t *p_access )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vlc_poll_i11e
      Src: /src/vlc/modules/access/amt.c:1654,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:1657,1
    - Dst: recv
      Src: /src/vlc/modules/access/amt.c:1663,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:1667,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/amt.c:1671,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/amt.c:1673,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/amt.c:1674,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/amt.c:1677,1
    - Dst: htonl
      Src: /src/vlc/modules/access/amt.c:1677,1
    - Dst: htonl
      Src: /src/vlc/modules/access/amt.c:1677,1
    - Dst: assert
      Src: /src/vlc/modules/access/amt.c:1685,1
    - Dst: assert
      Src: /src/vlc/modules/access/amt.c:1687,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/amt.c:1688,1
    - Dst: assert
      Src: /src/vlc/modules/access/amt.c:1689,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/amt.c:1690,1
    - Dst: assert
      Src: /src/vlc/modules/access/amt.c:1691,1
    - Dst: assert
      Src: /src/vlc/modules/access/amt.c:1693,1
    - Dst: assert
      Src: /src/vlc/modules/access/amt.c:1703,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/amt.c:1704,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/amt.c:1712,1
    - Dst: ntohs
      Src: /src/vlc/modules/access/amt.c:1713,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/amt.c:1715,1
    - Dst: ntohs
      Src: /src/vlc/modules/access/amt.c:1716,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/amt.c:1718,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/amt.c:1728,1
    - Dst: ntohs
      Src: /src/vlc/modules/access/amt.c:1729,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:1733,1
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/access/amt.c:1736,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/amt.c:1737,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/amt.c:1739,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/amt.c:1745,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/amt.c:1749,1
    - Dst: inet_ntop
      Src: /src/vlc/modules/access/amt.c:1750,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 82
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts:
    - condition: ( shift < RELAY_QUERY_MSG_LEN)
      pos:
        line_end: 1692
        line_start: 1692
        source_file: /src/vlc/modules/access/amt.c
    - condition: ( shift < RELAY_QUERY_MSG_LEN)
      pos:
        line_end: 1686
        line_start: 1686
        source_file: /src/vlc/modules/access/amt.c
    - condition: ( shift < RELAY_QUERY_MSG_LEN)
      pos:
        line_end: 1684
        line_start: 1684
        source_file: /src/vlc/modules/access/amt.c
    - condition: ( shift < RELAY_QUERY_MSG_LEN)
      pos:
        line_end: 1688
        line_start: 1688
        source_file: /src/vlc/modules/access/amt.c
    - condition: ( shift < RELAY_QUERY_MSG_LEN)
      pos:
        line_end: 1690
        line_start: 1690
        source_file: /src/vlc/modules/access/amt.c
    - condition: ( shift < RELAY_QUERY_MSG_LEN)
      pos:
        line_end: 1702
        line_start: 1702
        source_file: /src/vlc/modules/access/amt.c
    constantsTouched: []
    func_position:
      end: 1756
      start: 1644
    functionDepth: 1
    functionLinenumber: 1644
    functionLinenumberEnd: 1756
    functionName: amt_rcv_relay_mem_query
    functionSourceFile: /src/vlc/modules/access/amt.c
    functionUses: 1
    functionsReached:
    - inet_ntop
    - recv
    - assert
    - ntohs
    - htonl
    - memcpy
    - unlikely
    - msg_Err
    - vlc_poll_i11e
    - msg_Dbg
    - msg_Warn
    - vlc_obj_calloc
    linkageType: ''
    returnType: bool
    signature: bool amt_rcv_relay_mem_query( stream_t *p_access )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: amt_send_mem_update
      Src: /src/vlc/modules/access/amt.c:1765,1
    - Dst: vlc_timer_schedule
      Src: /src/vlc/modules/access/amt.c:1769,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/access/amt.c:1770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1760
    functionDepth: 3
    functionLinenumber: 1760
    functionLinenumberEnd: 1771
    functionName: amt_update_timer_cb
    functionSourceFile: /src/vlc/modules/access/amt.c
    functionUses: 0
    functionsReached:
    - vlc_timer_schedule
    - VLC_TICK_FROM_SEC
    - amt_send_mem_update
    linkageType: ''
    returnType: void
    signature: void amt_update_timer_cb( void *data )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/dvdnav.c:224,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/dvdnav.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - demux_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: WaitEmptyTimeout
    functionSourceFile: /src/vlc/modules/access/dvdnav.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    linkageType: ''
    returnType: bool
    signature: bool WaitEmptyTimeout( demux_sys_t *p_sys )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/dvdnav.c:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 240
    functionName: EsOutDrainOnce
    functionSourceFile: /src/vlc/modules/access/dvdnav.c
    functionUses: 0
    functionsReached:
    - es_out_Control
    linkageType: ''
    returnType: int
    signature: int EsOutDrainOnce( demux_t *p_demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_GenericVa
      Src: /src/vlc/modules/access/dvdnav.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - foo
    - i
    - p
    - z
    argTypes:
    - void*
    - dvdnav_logger_level_t
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: DvdNavLog
    functionSourceFile: /src/vlc/modules/access/dvdnav.c
    functionUses: 0
    functionsReached:
    - msg_GenericVa
    linkageType: ''
    returnType: void
    signature: void DvdNavLog( void *foo, dvdnav_logger_level_t i, const char *p,
      va_list z)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/dvdnav.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - menuid
    - seekpoint
    argTypes:
    - DVDMenuID_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 279
    functionName: MenuIDToSeekpoint
    functionSourceFile: /src/vlc/modules/access/dvdnav.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int MenuIDToSeekpoint( DVDMenuID_t menuid, int *seekpoint )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/dvdnav.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - seekpoint
    - id
    argTypes:
    - int
    - DVDMenuID_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 287
    functionName: SeekpointToMenuID
    functionSourceFile: /src/vlc/modules/access/dvdnav.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int SeekpointToMenuID( int seekpoint, DVDMenuID_t *id )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dvdnav_menu_call
      Src: /src/vlc/modules/access/dvdnav.c:295,1
    - Dst: MenuIDToSeekpoint
      Src: /src/vlc/modules/access/dvdnav.c:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - p_dvdnav
    - pi_title
    - pi_seekpoint
    argTypes:
    - dvdnav_t*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 304
    functionName: CallRootTitleMenu
    functionSourceFile: /src/vlc/modules/access/dvdnav.c
    functionUses: 0
    functionsReached:
    - dvdnav_menu_call
    - MenuIDToSeekpoint
    linkageType: ''
    returnType: int
    signature: "int CallRootTitleMenu( dvdnav_t *p_dvdnav,\n                              int
      *pi_title, int *pi_seekpoint )"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/dvdnav.c:317,1
    - Dst: DEMUX_INIT_COMMON
      Src: /src/vlc/modules/access/dvdnav.c:320,1
    - Dst: timestamps_filter_es_out_New
      Src: /src/vlc/modules/access/dvdnav.c:322,1
    - Dst: free
      Src: /src/vlc/modules/access/dvdnav.c:325,1
    - Dst: ps_track_init
      Src: /src/vlc/modules/access/dvdnav.c:332,1
    - Dst: vlc_mouse_Init
      Src: /src/vlc/modules/access/dvdnav.c:334,1
    - Dst: dvdnav_set_readahead_flag
      Src: /src/vlc/modules/access/dvdnav.c:337,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvdnav.c:340,1
    - Dst: dvdnav_set_PGC_positioning_flag
      Src: /src/vlc/modules/access/dvdnav.c:343,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvdnav.c:346,1
    - Dst: DemuxGetLanguageCode
      Src: /src/vlc/modules/access/dvdnav.c:350,1
    - Dst: dvdnav_menu_language_select
      Src: /src/vlc/modules/access/dvdnav.c:351,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvdnav.c:354,1
    - Dst: dvdnav_err_to_string
      Src: /src/vlc/modules/access/dvdnav.c:355,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/dvdnav.c:357,1
    - Dst: dvdnav_menu_language_select
      Src: /src/vlc/modules/access/dvdnav.c:358,1
    - Dst: free
      Src: /src/vlc/modules/access/dvdnav.c:360,1
    - Dst: DemuxGetLanguageCode
      Src: /src/vlc/modules/access/dvdnav.c:363,1
    - Dst: dvdnav_audio_language_select
      Src: /src/vlc/modules/access/dvdnav.c:364,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvdnav.c:367,1
    - Dst: dvdnav_err_to_string
      Src: /src/vlc/modules/access/dvdnav.c:368,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/dvdnav.c:370,1
    - Dst: dvdnav_audio_language_select
      Src: /src/vlc/modules/access/dvdnav.c:371,1
    - Dst: free
      Src: /src/vlc/modules/access/dvdnav.c:373,1
    - Dst: DemuxGetLanguageCode
      Src: /src/vlc/modules/access/dvdnav.c:376,1
    - Dst: dvdnav_spu_language_select
      Src: /src/vlc/modules/access/dvdnav.c:377,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvdnav.c:380,1
    - Dst: dvdnav_err_to_string
      Src: /src/vlc/modules/access/dvdnav.c:381,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/dvdnav.c:383,1
    - Dst: dvdnav_spu_language_select
      Src: /src/vlc/modules/access/dvdnav.c:384,1
    - Dst: free
      Src: /src/vlc/modules/access/dvdnav.c:386,1
    - Dst: DemuxTitles
      Src: /src/vlc/modules/access/dvdnav.c:388,1
    - Dst: var_CreateGetBool
      Src: /src/vlc/modules/access/dvdnav.c:390,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdnav.c:392,1
    - Dst: dvdnav_title_play
      Src: /src/vlc/modules/access/dvdnav.c:394,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvdnav.c:396,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/access/dvdnav.c:397,1
    - Dst: _
      Src: /src/vlc/modules/access/dvdnav.c:397,1
    - Dst: _
      Src: /src/vlc/modules/access/dvdnav.c:398,1
    - Dst: timestamps_filter_es_out_Delete
      Src: /src/vlc/modules/access/dvdnav.c:400,1
    - Dst: free
      Src: /src/vlc/modules/access/dvdnav.c:401,1
    - Dst: CallRootTitleMenu
      Src: /src/vlc/modules/access/dvdnav.c:405,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvdnav.c:407,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/access/dvdnav.c:410,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/access/dvdnav.c:419,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/access/dvdnav.c:420,1
    - Dst: vlc_timer_create
      Src: /src/vlc/modules/access/dvdnav.c:421,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 69
    argCount: 3
    argNames:
    - p_this
    - p_dvdnav
    - b_readahead
    argTypes:
    - vlc_object_t*
    - dvdnav_t*
    - bool
    assertStmts:
    - condition: ( p_dvdnav )
      pos:
        line_end: 316
        line_start: 316
        source_file: /src/vlc/modules/access/dvdnav.c
    constantsTouched: []
    func_position:
      end: 425
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 425
    functionName: CommonOpen
    functionSourceFile: /src/vlc/modules/access/dvdnav.c
    functionUses: 0
    functionsReached:
    - timestamps_filter_es_out_New
    - assert
    - dvdnav_set_PGC_positioning_flag
    - DEMUX_INIT_COMMON
    - timestamps_filter_es_out_Delete
    - DemuxTitles
    - dvdnav_audio_language_select
    - DemuxGetLanguageCode
    - vlc_dialog_display_error
    - vlc_mouse_Init
    - ps_track_init
    - _
    - msg_Err
    - dvdnav_set_readahead_flag
    - msg_Dbg
    - msg_Warn
    - dvdnav_spu_language_select
    - CallRootTitleMenu
    - strcmp
    - vlc_timer_create
    - dvdnav_menu_language_select
    - var_CreateGetBool
    - vlc_mutex_init
    - free
    - dvdnav_err_to_string
    - var_CreateGetInteger
    - dvdnav_title_play
    linkageType: ''
    returnType: int
    signature: "int CommonOpen( vlc_object_t *p_this,\n                       dvdnav_t
      *p_dvdnav, bool b_readahead )"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/vlc/modules/access/dvdnav.c:442,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/dvdnav.c:451,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dvdnav.c:454,1
    - Dst: strlen
      Src: /src/vlc/modules/access/dvdnav.c:460,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dvdnav.c:465,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvdnav.c:468,1
    - Dst: ProbeDVD
      Src: /src/vlc/modules/access/dvdnav.c:472,1
    - Dst: DiscProbeMacOSPermission
      Src: /src/vlc/modules/access/dvdnav.c:476,1
    - Dst: DVDREAD_VERSION_CODE
      Src: /src/vlc/modules/access/dvdnav.c:481,1
    - Dst: ToLocale
      Src: /src/vlc/modules/access/dvdnav.c:485,1
    - Dst: dvdnav_open2
      Src: /src/vlc/modules/access/dvdnav.c:491,1
    - Dst: dvdnav_open
      Src: /src/vlc/modules/access/dvdnav.c:493,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvdnav.c:496,1
    - Dst: CommonOpen
      Src: /src/vlc/modules/access/dvdnav.c:500,1
    - Dst: dvdnav_close
      Src: /src/vlc/modules/access/dvdnav.c:502,1
    - Dst: free
      Src: /src/vlc/modules/access/dvdnav.c:505,1
    - Dst: DVDREAD_VERSION_CODE
      Src: /src/vlc/modules/access/dvdnav.c:506,1
    - Dst: LocaleFree
      Src: /src/vlc/modules/access/dvdnav.c:508,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 42
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 511
    functionName: AccessDemuxOpen
    functionSourceFile: /src/vlc/modules/access/dvdnav.c
    functionUses: 0
    functionsReached:
    - ToLocale
    - DVDREAD_VERSION_CODE
    - strncasecmp
    - strdup
    - var_InheritString
    - dvdnav_open
    - ProbeDVD
    - CommonOpen
    - strlen
    - DiscProbeMacOSPermission
    - dvdnav_open2
    - LocaleFree
    - free
    - msg_Warn
    - dvdnav_close
    - unlikely
    linkageType: ''
    returnType: int
    signature: int AccessDemuxOpen ( vlc_object_t *p_this )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/access/dvdnav.c:521,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/access/dvdnav.c:533,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/access/dvdnav.c:534,1
    - Dst: memcmp
      Src: /src/vlc/modules/access/dvdnav.c:535,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/access/dvdnav.c:541,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/access/dvdnav.c:542,1
    - Dst: GetWLE
      Src: /src/vlc/modules/access/dvdnav.c:543,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 547
    functionName: StreamProbeDVD
    functionSourceFile: /src/vlc/modules/access/dvdnav.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    - GetWLE
    - vlc_stream_Read
    - vlc_stream_Seek
    - memcmp
    linkageType: ''
    returnType: int
    signature: int StreamProbeDVD( stream_t *s )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/access/dvdnav.c:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - demux
    - pos
    argTypes:
    - void*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: stream_cb_seek
    functionSourceFile: /src/vlc/modules/access/dvdnav.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Seek
    linkageType: ''
    returnType: int
    signature: int stream_cb_seek( void *demux, uint64_t pos )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/access/dvdnav.c:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - demux
    - buffer
    - size
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 560
    functionName: stream_cb_read
    functionSourceFile: /src/vlc/modules/access/dvdnav.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Read
    linkageType: ''
    returnType: int
    signature: int stream_cb_read( void *demux, void* buffer, int size )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/vlc/modules/access/dvdnav.c:571,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/access/dvdnav.c:576,1
    - Dst: StreamProbeDVD
      Src: /src/vlc/modules/access/dvdnav.c:582,1
    - Dst: dvdnav_open_stream2
      Src: /src/vlc/modules/access/dvdnav.c:596,1
    - Dst: dvdnav_open_stream
      Src: /src/vlc/modules/access/dvdnav.c:599,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvdnav.c:603,1
    - Dst: CommonOpen
      Src: /src/vlc/modules/access/dvdnav.c:607,1
    - Dst: dvdnav_close
      Src: /src/vlc/modules/access/dvdnav.c:609,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 565
    functionDepth: 2
    functionLinenumber: 565
    functionLinenumberEnd: 611
    functionName: DemuxOpen
    functionSourceFile: /src/vlc/modules/access/dvdnav.c
    functionUses: 0
    functionsReached:
    - CommonOpen
    - dvdnav_open_stream2
    - StreamProbeDVD
    - strncmp
    - msg_Warn
    - dvdnav_open_stream
    - dvdnav_close
    - vlc_stream_Control
    linkageType: ''
    returnType: int
    signature: int DemuxOpen ( vlc_object_t *p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_timer_destroy
      Src: /src/vlc/modules/access/dvdnav.c:623,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/access/dvdnav.c:630,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/access/dvdnav.c:631,1
    - Dst: vlc_input_title_Delete
      Src: /src/vlc/modules/access/dvdnav.c:637,1
    - Dst: TAB_CLEAN
      Src: /src/vlc/modules/access/dvdnav.c:638,1
    - Dst: timestamps_filter_es_out_Delete
      Src: /src/vlc/modules/access/dvdnav.c:640,1
    - Dst: dvdnav_close
      Src: /src/vlc/modules/access/dvdnav.c:642,1
    - Dst: free
      Src: /src/vlc/modules/access/dvdnav.c:643,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 644
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/dvdnav.c
    functionUses: 23
    functionsReached:
    - vlc_input_title_Delete
    - es_format_Clean
    - TAB_CLEAN
    - free
    - es_out_Del
    - timestamps_filter_es_out_Delete
    - dvdnav_close
    - vlc_timer_destroy
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - demux_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 653
    functionName: RandomAccessCleanup
    functionSourceFile: /src/vlc/modules/access/dvdnav.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RandomAccessCleanup(demux_sys_t *p_sys)
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: dvdnav_get_position
      Src: /src/vlc/modules/access/dvdnav.c:671,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvdnav.c:692,1
    - Dst: StillReset
      Src: /src/vlc/modules/access/dvdnav.c:697,1
    - Dst: dvdnav_jump_to_sector_by_time
      Src: /src/vlc/modules/access/dvdnav.c:699,1
    - Dst: TO_SCALE_NZ
      Src: /src/vlc/modules/access/dvdnav.c:700,1
    - Dst: dvdnav_sector_search
      Src: /src/vlc/modules/access/dvdnav.c:704,1
    - Dst: RandomAccessCleanup
      Src: /src/vlc/modules/access/dvdnav.c:709,1
    - Dst: FROM_SCALE_NZ
      Src: /src/vlc/modules/access/dvdnav.c:744,1
    - Dst: dvdnav_get_current_time
      Src: /src/vlc/modules/access/dvdnav.c:744,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvdnav.c:752,1
    - Dst: StillReset
      Src: /src/vlc/modules/access/dvdnav.c:755,1
    - Dst: dvdnav_jump_to_sector_by_time
      Src: /src/vlc/modules/access/dvdnav.c:756,1
    - Dst: TO_SCALE_NZ
      Src: /src/vlc/modules/access/dvdnav.c:757,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvdnav.c:760,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvdnav.c:769,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvdnav.c:774,1
    - Dst: StillStep
      Src: /src/vlc/modules/access/dvdnav.c:777,1
    - Dst: StillSkipIfNoButtons
      Src: /src/vlc/modules/access/dvdnav.c:781,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvdnav.c:787,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/access/dvdnav.c:790,1
    - Dst: vlc_input_title_Duplicate
      Src: /src/vlc/modules/access/dvdnav.c:795,1
    - Dst: free
      Src: /src/vlc/modules/access/dvdnav.c:799,1
    - Dst: free
      Src: /src/vlc/modules/access/dvdnav.c:800,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvdnav.c:804,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvdnav.c:805,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvdnav.c:806,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvdnav.c:810,1
    - Dst: dvdnav_menu_call
      Src: /src/vlc/modules/access/dvdnav.c:811,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvdnav.c:814,1
    - Dst: StillReset
      Src: /src/vlc/modules/access/dvdnav.c:820,1
    - Dst: dvdnav_title_play
      Src: /src/vlc/modules/access/dvdnav.c:821,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvdnav.c:823,1
    - Dst: MenuIDToSeekpoint
      Src: /src/vlc/modules/access/dvdnav.c:833,1
    - Dst: RandomAccessCleanup
      Src: /src/vlc/modules/access/dvdnav.c:834,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvdnav.c:838,1
    - Dst: SeekpointToMenuID
      Src: /src/vlc/modules/access/dvdnav.c:842,1
    - Dst: dvdnav_menu_call
      Src: /src/vlc/modules/access/dvdnav.c:843,1
    - Dst: StillReset
      Src: /src/vlc/modules/access/dvdnav.c:848,1
    - Dst: dvdnav_part_play
      Src: /src/vlc/modules/access/dvdnav.c:849,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvdnav.c:852,1
    - Dst: RandomAccessCleanup
      Src: /src/vlc/modules/access/dvdnav.c:858,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvdnav.c:863,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvdnav.c:870,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvdnav.c:874,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvdnav.c:878,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/dvdnav.c:879,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dvdnav.c:879,1
    - Dst: dvdnav_get_title_string
      Src: /src/vlc/modules/access/dvdnav.c:886,1
    - Dst: IsUTF8
      Src: /src/vlc/modules/access/dvdnav.c:887,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvdnav.c:889,1
    - Dst: vlc_meta_Set
      Src: /src/vlc/modules/access/dvdnav.c:890,1
    - Dst: dvdnav_get_current_nav_pci
      Src: /src/vlc/modules/access/dvdnav.c:898,1
    - Dst: StillStep
      Src: /src/vlc/modules/access/dvdnav.c:900,1
    - Dst: StillSkipIfNoButtons
      Src: /src/vlc/modules/access/dvdnav.c:900,1
    - Dst: dvdnav_button_activate
      Src: /src/vlc/modules/access/dvdnav.c:905,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/dvdnav.c:907,1
    - Dst: ButtonUpdate
      Src: /src/vlc/modules/access/dvdnav.c:908,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/dvdnav.c:909,1
    - Dst: dvdnav_get_current_nav_pci
      Src: /src/vlc/modules/access/dvdnav.c:915,1
    - Dst: dvdnav_upper_button_select
      Src: /src/vlc/modules/access/dvdnav.c:917,1
    - Dst: dvdnav_get_current_nav_pci
      Src: /src/vlc/modules/access/dvdnav.c:924,1
    - Dst: dvdnav_lower_button_select
      Src: /src/vlc/modules/access/dvdnav.c:926,1
    - Dst: dvdnav_get_current_nav_pci
      Src: /src/vlc/modules/access/dvdnav.c:933,1
    - Dst: StillStep
      Src: /src/vlc/modules/access/dvdnav.c:935,1
    - Dst: dvdnav_left_button_select
      Src: /src/vlc/modules/access/dvdnav.c:938,1
    - Dst: dvdnav_get_current_nav_pci
      Src: /src/vlc/modules/access/dvdnav.c:945,1
    - Dst: StillStep
      Src: /src/vlc/modules/access/dvdnav.c:947,1
    - Dst: dvdnav_right_button_select
      Src: /src/vlc/modules/access/dvdnav.c:950,1
    - Dst: CallRootTitleMenu
      Src: /src/vlc/modules/access/dvdnav.c:957,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvdnav.c:960,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 203
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 658
    functionDepth: 2
    functionLinenumber: 658
    functionLinenumberEnd: 979
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/dvdnav.c
    functionUses: 13
    functionsReached:
    - vlc_meta_Set
    - ButtonUpdate
    - vlc_alloc
    - dvdnav_menu_call
    - StillSkipIfNoButtons
    - IsUTF8
    - vlc_mutex_lock
    - msg_Err
    - dvdnav_button_activate
    - FROM_SCALE_NZ
    - MenuIDToSeekpoint
    - dvdnav_get_position
    - msg_Warn
    - dvdnav_get_current_time
    - StillReset
    - TO_SCALE_NZ
    - CallRootTitleMenu
    - dvdnav_upper_button_select
    - var_InheritInteger
    - dvdnav_left_button_select
    - dvdnav_get_title_string
    - StillStep
    - dvdnav_lower_button_select
    - RandomAccessCleanup
    - SeekpointToMenuID
    - vlc_mutex_unlock
    - dvdnav_sector_search
    - vlc_input_title_Duplicate
    - dvdnav_right_button_select
    - VLC_TICK_FROM_MS
    - free
    - dvdnav_jump_to_sector_by_time
    - va_arg
    - dvdnav_part_play
    - dvdnav_get_current_nav_pci
    - dvdnav_title_play
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vlc/modules/access/dvdnav.c:986,1
    - Dst: Control
      Src: /src/vlc/modules/access/dvdnav.c:987,1
    - Dst: va_end
      Src: /src/vlc/modules/access/dvdnav.c:988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p_demux
    - i_query
    argTypes:
    - demux_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 991
    functionName: ControlInternal
    functionSourceFile: /src/vlc/modules/access/dvdnav.c
    functionUses: 0
    functionsReached:
    - va_end
    - Control
    - va_start
    linkageType: ''
    returnType: int
    signature: int ControlInternal( demux_t *p_demux, int i_query, ... )
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/dvdnav.c:1008,1
    - Dst: WaitEmptyTimeout
      Src: /src/vlc/modules/access/dvdnav.c:1009,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/access/dvdnav.c:1011,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/dvdnav.c:1011,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvdnav.c:1015,1
    - Dst: dvdnav_get_next_cache_block
      Src: /src/vlc/modules/access/dvdnav.c:1023,1
    - Dst: dvdnav_get_next_block
      Src: /src/vlc/modules/access/dvdnav.c:1026,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvdnav.c:1030,1
    - Dst: dvdnav_err_to_string
      Src: /src/vlc/modules/access/dvdnav.c:1031,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdnav.c:1034,1
    - Dst: ControlInternal
      Src: /src/vlc/modules/access/dvdnav.c:1035,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/dvdnav.c:1041,1
    - Dst: ButtonUpdate
      Src: /src/vlc/modules/access/dvdnav.c:1043,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/dvdnav.c:1044,1
    - Dst: StillReset
      Src: /src/vlc/modules/access/dvdnav.c:1049,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/dvdnav.c:1052,1
    - Dst: DemuxBlock
      Src: /src/vlc/modules/access/dvdnav.c:1055,1
    - Dst: DemuxForceStill
      Src: /src/vlc/modules/access/dvdnav.c:1059,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdnav.c:1065,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/dvdnav.c:1073,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdnav.c:1076,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdnav.c:1077,1
    - Dst: dvdnav_get_current_nav_pci
      Src: /src/vlc/modules/access/dvdnav.c:1078,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdnav.c:1079,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/access/dvdnav.c:1095,1
    - Dst: vlc_timer_schedule
      Src: /src/vlc/modules/access/dvdnav.c:1096,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/dvdnav.c:1101,1
    - Dst: DemuxForceStill
      Src: /src/vlc/modules/access/dvdnav.c:1104,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/access/dvdnav.c:1108,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/dvdnav.c:1108,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdnav.c:1114,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvdnav.c:1115,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvdnav.c:1116,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/dvdnav.c:1120,1
    - Dst: dvdnav_spu_stream_to_lang
      Src: /src/vlc/modules/access/dvdnav.c:1125,1
    - Dst: ESNew
      Src: /src/vlc/modules/access/dvdnav.c:1126,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdnav.c:1139,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdnav.c:1140,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdnav.c:1142,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdnav.c:1144,1
    - Dst: ESSubtitleUpdate
      Src: /src/vlc/modules/access/dvdnav.c:1147,1
    - Dst: dvdnav_spu_stream_to_lang
      Src: /src/vlc/modules/access/dvdnav.c:1153,1
    - Dst: ESNew
      Src: /src/vlc/modules/access/dvdnav.c:1154,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdnav.c:1164,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdnav.c:1165,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdnav.c:1176,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdnav.c:1177,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdnav.c:1178,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/access/dvdnav.c:1189,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/dvdnav.c:1194,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/dvdnav.c:1197,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/access/dvdnav.c:1199,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/dvdnav.c:1207,1
    - Dst: dvdnav_get_video_resolution
      Src: /src/vlc/modules/access/dvdnav.c:1210,1
    - Dst: dvdnav_get_video_aspect
      Src: /src/vlc/modules/access/dvdnav.c:1213,1
    - Dst: dvdnav_current_title_info
      Src: /src/vlc/modules/access/dvdnav.c:1229,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdnav.c:1249,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdnav.c:1250,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdnav.c:1251,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdnav.c:1252,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdnav.c:1253,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdnav.c:1254,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdnav.c:1255,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdnav.c:1256,1
    - Dst: FROM_SCALE_NZ
      Src: /src/vlc/modules/access/dvdnav.c:1259,1
    - Dst: FROM_SCALE_NZ
      Src: /src/vlc/modules/access/dvdnav.c:1260,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/dvdnav.c:1265,1
    - Dst: dvdnav_current_title_info
      Src: /src/vlc/modules/access/dvdnav.c:1271,1
    - Dst: MenuIDToSeekpoint
      Src: /src/vlc/modules/access/dvdnav.c:1297,1
    - Dst: dvdnav_get_current_nav_pci
      Src: /src/vlc/modules/access/dvdnav.c:1316,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvdnav.c:1317,1
    - Dst: dvdnav_get_current_nav_dsi
      Src: /src/vlc/modules/access/dvdnav.c:1322,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvdnav.c:1323,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdnav.c:1337,1
    - Dst: DemuxBlock
      Src: /src/vlc/modules/access/dvdnav.c:1344,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/dvdnav.c:1347,1
    - Dst: ButtonUpdate
      Src: /src/vlc/modules/access/dvdnav.c:1348,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/dvdnav.c:1349,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdnav.c:1356,1
    - Dst: dvdnav_free_cache_block
      Src: /src/vlc/modules/access/dvdnav.c:1359,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdnav.c:1365,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdnav.c:1366,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdnav.c:1367,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/dvdnav.c:1368,1
    - Dst: ButtonUpdate
      Src: /src/vlc/modules/access/dvdnav.c:1369,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/dvdnav.c:1370,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdnav.c:1375,1
    - Dst: StillReset
      Src: /src/vlc/modules/access/dvdnav.c:1379,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/dvdnav.c:1381,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdnav.c:1385,1
    - Dst: EsOutDrainOnce
      Src: /src/vlc/modules/access/dvdnav.c:1388,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/dvdnav.c:1389,1
    - Dst: WaitEmptyTimeout
      Src: /src/vlc/modules/access/dvdnav.c:1390,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/access/dvdnav.c:1392,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/dvdnav.c:1392,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvdnav.c:1397,1
    - Dst: dvdnav_wait_skip
      Src: /src/vlc/modules/access/dvdnav.c:1399,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvdnav.c:1405,1
    - Dst: dvdnav_free_cache_block
      Src: /src/vlc/modules/access/dvdnav.c:1410,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 260
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 995
    functionDepth: 2
    functionLinenumber: 995
    functionLinenumberEnd: 1413
    functionName: Demux
    functionSourceFile: /src/vlc/modules/access/dvdnav.c
    functionUses: 1
    functionsReached:
    - dvdnav_get_video_resolution
    - DemuxBlock
    - memcpy
    - ButtonUpdate
    - vlc_tick_sleep
    - dvdnav_get_next_block
    - dvdnav_spu_stream_to_lang
    - DemuxForceStill
    - dvdnav_get_next_cache_block
    - vlc_mutex_lock
    - dvdnav_current_title_info
    - msg_Err
    - FROM_SCALE_NZ
    - msg_Dbg
    - MenuIDToSeekpoint
    - msg_Warn
    - ControlInternal
    - StillReset
    - ESNew
    - dvdnav_free_cache_block
    - dvdnav_get_video_aspect
    - dvdnav_get_current_nav_dsi
    - WaitEmptyTimeout
    - es_out_Control
    - vlc_mutex_unlock
    - es_format_Clean
    - EsOutDrainOnce
    - vlc_tick_from_sec
    - VLC_TICK_FROM_MS
    - dvdnav_wait_skip
    - ESSubtitleUpdate
    - dvdnav_err_to_string
    - dvdnav_get_current_nav_pci
    - vlc_timer_schedule
    - es_out_Del
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: var_CreateGetString
      Src: /src/vlc/modules/access/dvdnav.c:1424,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dvdnav.c:1426,1
    - Dst: strchr
      Src: /src/vlc/modules/access/dvdnav.c:1430,1
    - Dst: vlc_find_iso639
      Src: /src/vlc/modules/access/dvdnav.c:1433,1
    - Dst: free
      Src: /src/vlc/modules/access/dvdnav.c:1435,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dvdnav.c:1438,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dvdnav.c:1440,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - p_demux
    - psz_var
    argTypes:
    - demux_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1418
    functionDepth: 1
    functionLinenumber: 1418
    functionLinenumberEnd: 1441
    functionName: DemuxGetLanguageCode
    functionSourceFile: /src/vlc/modules/access/dvdnav.c
    functionUses: 1
    functionsReached:
    - var_CreateGetString
    - strchr
    - strdup
    - vlc_find_iso639
    - free
    linkageType: ''
    returnType: char
    signature: char *DemuxGetLanguageCode( demux_t *p_demux, const char *psz_var )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_input_title_New
      Src: /src/vlc/modules/access/dvdnav.c:1451,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dvdnav.c:1453,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/dvdnav.c:1455,1
    - Dst: vlc_seekpoint_New
      Src: /src/vlc/modules/access/dvdnav.c:1457,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dvdnav.c:1460,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/access/dvdnav.c:1461,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/access/dvdnav.c:1464,1
    - Dst: dvdnav_get_number_of_titles
      Src: /src/vlc/modules/access/dvdnav.c:1467,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvdnav.c:1470,1
    - Dst: dvdnav_describe_title_chapters
      Src: /src/vlc/modules/access/dvdnav.c:1477,1
    - Dst: vlc_input_title_New
      Src: /src/vlc/modules/access/dvdnav.c:1485,1
    - Dst: FROM_SCALE_NZ
      Src: /src/vlc/modules/access/dvdnav.c:1486,1
    - Dst: __MAX
      Src: /src/vlc/modules/access/dvdnav.c:1487,1
    - Dst: vlc_seekpoint_New
      Src: /src/vlc/modules/access/dvdnav.c:1489,1
    - Dst: FROM_SCALE_NZ
      Src: /src/vlc/modules/access/dvdnav.c:1493,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/access/dvdnav.c:1497,1
    - Dst: free
      Src: /src/vlc/modules/access/dvdnav.c:1499,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/access/dvdnav.c:1500,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1443
    functionDepth: 1
    functionLinenumber: 1443
    functionLinenumberEnd: 1502
    functionName: DemuxTitles
    functionSourceFile: /src/vlc/modules/access/dvdnav.c
    functionUses: 1
    functionsReached:
    - dvdnav_get_number_of_titles
    - strdup
    - ARRAY_SIZE
    - dvdnav_describe_title_chapters
    - TAB_APPEND
    - vlc_seekpoint_New
    - msg_Err
    - free
    - __MAX
    - vlc_input_title_New
    - FROM_SCALE_NZ
    linkageType: ''
    returnType: void
    signature: void DemuxTitles( demux_t *p_demux )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dvdnav_current_title_info
      Src: /src/vlc/modules/access/dvdnav.c:1519,1
    - Dst: dvdnav_get_current_highlight
      Src: /src/vlc/modules/access/dvdnav.c:1527,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvdnav.c:1530,1
    - Dst: dvdnav_get_current_nav_pci
      Src: /src/vlc/modules/access/dvdnav.c:1537,1
    - Dst: dvdnav_get_highlight_area
      Src: /src/vlc/modules/access/dvdnav.c:1540,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/dvdnav.c:1566,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/dvdnav.c:1571,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdnav.c:1577,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - p_demux
    - b_mode
    argTypes:
    - demux_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1507
    functionDepth: 1
    functionLinenumber: 1507
    functionLinenumberEnd: 1582
    functionName: ButtonUpdate
    functionSourceFile: /src/vlc/modules/access/dvdnav.c
    functionUses: 2
    functionsReached:
    - es_out_Control
    - dvdnav_current_title_info
    - dvdnav_get_highlight_area
    - msg_Err
    - dvdnav_get_current_nav_pci
    - msg_Dbg
    - dvdnav_get_current_highlight
    linkageType: ''
    returnType: void
    signature: void ButtonUpdate( demux_t *p_demux, bool b_mode )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dvdnav_get_active_spu_stream
      Src: /src/vlc/modules/access/dvdnav.c:1587,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/dvdnav.c:1590,1
    - Dst: ButtonUpdate
      Src: /src/vlc/modules/access/dvdnav.c:1591,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/dvdnav.c:1592,1
    - Dst: dvdnav_current_title_info
      Src: /src/vlc/modules/access/dvdnav.c:1594,1
    - Dst: ps_id_to_tk
      Src: /src/vlc/modules/access/dvdnav.c:1601,1
    - Dst: ESNew
      Src: /src/vlc/modules/access/dvdnav.c:1603,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/dvdnav.c:1608,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/dvdnav.c:1612,1
    - Dst: assert
      Src: /src/vlc/modules/access/dvdnav.c:1614,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/dvdnav.c:1616,1
    - Dst: ButtonUpdate
      Src: /src/vlc/modules/access/dvdnav.c:1618,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/dvdnav.c:1619,1
    - Dst: ps_id_to_tk
      Src: /src/vlc/modules/access/dvdnav.c:1627,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/dvdnav.c:1630,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts:
    - condition: ( tk->fmt.i_cat == SPU_ES )
      pos:
        line_end: 1613
        line_start: 1613
        source_file: /src/vlc/modules/access/dvdnav.c
    constantsTouched: []
    func_position:
      end: 1635
      start: 1584
    functionDepth: 2
    functionLinenumber: 1584
    functionLinenumberEnd: 1635
    functionName: ESSubtitleUpdate
    functionSourceFile: /src/vlc/modules/access/dvdnav.c
    functionUses: 1
    functionsReached:
    - dvdnav_get_active_spu_stream
    - assert
    - ESNew
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - es_out_Control
    - dvdnav_current_title_info
    - ButtonUpdate
    - ps_id_to_tk
    linkageType: ''
    returnType: void
    signature: void ESSubtitleUpdate( demux_t *p_demux )
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ps_pkt_size
      Src: /src/vlc/modules/access/dvdnav.c:1648,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/dvdnav.c:1655,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/dvdnav.c:1658,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvdnav.c:1669,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvdnav.c:1673,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/dvdnav.c:1676,1
    - Dst: ps_pkt_parse_pack
      Src: /src/vlc/modules/access/dvdnav.c:1683,1
    - Dst: FROM_SCALE
      Src: /src/vlc/modules/access/dvdnav.c:1690,1
    - Dst: dvdnav_get_current_time
      Src: /src/vlc/modules/access/dvdnav.c:1690,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/dvdnav.c:1698,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/dvdnav.c:1703,1
    - Dst: ps_pkt_id
      Src: /src/vlc/modules/access/dvdnav.c:1708,1
    - Dst: ps_id_to_tk
      Src: /src/vlc/modules/access/dvdnav.c:1711,1
    - Dst: ESNew
      Src: /src/vlc/modules/access/dvdnav.c:1713,1
    - Dst: ps_pkt_parse_pes
      Src: /src/vlc/modules/access/dvdnav.c:1716,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/dvdnav.c:1716,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/dvdnav.c:1738,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/dvdnav.c:1743,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/dvdnav.c:1748,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 3
    argNames:
    - p_demux
    - p
    - len
    argTypes:
    - demux_t*
    - uint8_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1640
    functionDepth: 1
    functionLinenumber: 1640
    functionLinenumberEnd: 1759
    functionName: DemuxBlock
    functionSourceFile: /src/vlc/modules/access/dvdnav.c
    functionUses: 1
    functionsReached:
    - block_Release
    - ESNew
    - es_out_Send
    - ps_pkt_parse_pes
    - memcpy
    - block_Alloc
    - ps_pkt_parse_pack
    - ps_pkt_size
    - ps_id_to_tk
    - VLC_OBJECT
    - msg_Warn
    - ps_pkt_id
    - dvdnav_get_current_time
    - FROM_SCALE
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int DemuxBlock( demux_t *p_demux, const uint8_t *p, int32_t len )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EsOutDrainOnce
      Src: /src/vlc/modules/access/dvdnav.c:1768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1770
      start: 1764
    functionDepth: 2
    functionLinenumber: 1764
    functionLinenumberEnd: 1770
    functionName: DemuxForceStill
    functionSourceFile: /src/vlc/modules/access/dvdnav.c
    functionUses: 1
    functionsReached:
    - EsOutDrainOnce
    linkageType: ''
    returnType: void
    signature: void DemuxForceStill( demux_t *p_demux )
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: ps_id_to_tk
      Src: /src/vlc/modules/access/dvdnav.c:1778,1
    - Dst: ps_track_fill
      Src: /src/vlc/modules/access/dvdnav.c:1784,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvdnav.c:1786,1
    - Dst: dvdnav_audio_stream_to_lang
      Src: /src/vlc/modules/access/dvdnav.c:1819,1
    - Dst: dvdnav_get_active_audio_stream
      Src: /src/vlc/modules/access/dvdnav.c:1820,1
    - Dst: dvdnav_get_audio_attr
      Src: /src/vlc/modules/access/dvdnav.c:1827,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/dvdnav.c:1830,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dvdnav.c:1833,1
    - Dst: vlc_gettext
      Src: /src/vlc/modules/access/dvdnav.c:1833,1
    - Dst: dvdnav_spu_stream_to_lang
      Src: /src/vlc/modules/access/dvdnav.c:1840,1
    - Dst: dvdnav_get_spu_attr
      Src: /src/vlc/modules/access/dvdnav.c:1844,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/dvdnav.c:1847,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dvdnav.c:1850,1
    - Dst: vlc_gettext
      Src: /src/vlc/modules/access/dvdnav.c:1850,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/dvdnav.c:1860,1
    - Dst: dvdnav_get_active_spu_stream
      Src: /src/vlc/modules/access/dvdnav.c:1863,1
    - Dst: dvdnav_current_title_info
      Src: /src/vlc/modules/access/dvdnav.c:1864,1
    - Dst: assert
      Src: /src/vlc/modules/access/dvdnav.c:1874,1
    - Dst: malloc
      Src: /src/vlc/modules/access/dvdnav.c:1877,1
    - Dst: SetWBE
      Src: /src/vlc/modules/access/dvdnav.c:1880,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/dvdnav.c:1886,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/dvdnav.c:1889,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/dvdnav.c:1893,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/dvdnav.c:1895,1
    - Dst: ButtonUpdate
      Src: /src/vlc/modules/access/dvdnav.c:1896,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/dvdnav.c:1897,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 72
    argCount: 2
    argNames:
    - p_demux
    - i_id
    argTypes:
    - demux_t*
    - int
    assertStmts:
    - condition: ( tk->fmt.psz_language == NULL )
      pos:
        line_end: 1873
        line_start: 1873
        source_file: /src/vlc/modules/access/dvdnav.c
    constantsTouched: []
    func_position:
      end: 1901
      start: 1775
    functionDepth: 2
    functionLinenumber: 1775
    functionLinenumberEnd: 1901
    functionName: ESNew
    functionSourceFile: /src/vlc/modules/access/dvdnav.c
    functionUses: 3
    functionsReached:
    - assert
    - memcpy
    - ButtonUpdate
    - dvdnav_spu_stream_to_lang
    - ARRAY_SIZE
    - vlc_mutex_lock
    - dvdnav_current_title_info
    - msg_Warn
    - dvdnav_get_active_spu_stream
    - strdup
    - vlc_gettext
    - SetWBE
    - ps_track_fill
    - dvdnav_get_active_audio_stream
    - dvdnav_get_audio_attr
    - ps_id_to_tk
    - dvdnav_audio_stream_to_lang
    - es_out_Control
    - dvdnav_get_spu_attr
    - vlc_mutex_unlock
    - es_out_Add
    - malloc
    linkageType: ''
    returnType: void
    signature: void ESNew( demux_t *p_demux, int i_id )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/dvdnav.c:1910,1
    - Dst: likely
      Src: /src/vlc/modules/access/dvdnav.c:1911,1
    - Dst: dvdnav_still_skip
      Src: /src/vlc/modules/access/dvdnav.c:1914,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/dvdnav.c:1916,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1906
    functionDepth: 1
    functionLinenumber: 1906
    functionLinenumberEnd: 1917
    functionName: StillTimer
    functionSourceFile: /src/vlc/modules/access/dvdnav.c
    functionUses: 0
    functionsReached:
    - dvdnav_still_skip
    - likely
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void StillTimer( void *p_data )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/dvdnav.c:1921,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/dvdnav.c:1923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - demux_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1919
    functionDepth: 1
    functionLinenumber: 1919
    functionLinenumberEnd: 1925
    functionName: StillActive
    functionSourceFile: /src/vlc/modules/access/dvdnav.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: bool
    signature: bool StillActive( demux_sys_t *p_sys )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/dvdnav.c:1931,1
    - Dst: vlc_timer_disarm
      Src: /src/vlc/modules/access/dvdnav.c:1932,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/dvdnav.c:1937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - demux_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1938
      start: 1929
    functionDepth: 1
    functionLinenumber: 1929
    functionLinenumberEnd: 1938
    functionName: StillReset
    functionSourceFile: /src/vlc/modules/access/dvdnav.c
    functionUses: 2
    functionsReached:
    - vlc_timer_disarm
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void StillReset( demux_sys_t *p_sys )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/dvdnav.c:1943,1
    - Dst: vlc_timer_disarm
      Src: /src/vlc/modules/access/dvdnav.c:1946,1
    - Dst: dvdnav_still_skip
      Src: /src/vlc/modules/access/dvdnav.c:1948,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/dvdnav.c:1954,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - demux_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1955
      start: 1941
    functionDepth: 1
    functionLinenumber: 1941
    functionLinenumberEnd: 1955
    functionName: StillEnd
    functionSourceFile: /src/vlc/modules/access/dvdnav.c
    functionUses: 0
    functionsReached:
    - vlc_timer_disarm
    - dvdnav_still_skip
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void StillEnd( demux_sys_t *p_sys )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dvdnav_get_current_nav_pci
      Src: /src/vlc/modules/access/dvdnav.c:1962,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/dvdnav.c:1964,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdnav.c:1969,1
    - Dst: vlc_timer_disarm
      Src: /src/vlc/modules/access/dvdnav.c:1970,1
    - Dst: dvdnav_still_skip
      Src: /src/vlc/modules/access/dvdnav.c:1972,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/dvdnav.c:1978,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1980
      start: 1959
    functionDepth: 1
    functionLinenumber: 1959
    functionLinenumberEnd: 1980
    functionName: StillSkipIfNoButtons
    functionSourceFile: /src/vlc/modules/access/dvdnav.c
    functionUses: 1
    functionsReached:
    - dvdnav_still_skip
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_timer_disarm
    - dvdnav_get_current_nav_pci
    - msg_Dbg
    linkageType: ''
    returnType: bool
    signature: bool StillSkipIfNoButtons( demux_t *p_demux )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dvdnav_get_current_nav_pci
      Src: /src/vlc/modules/access/dvdnav.c:1987,1
    - Dst: StillActive
      Src: /src/vlc/modules/access/dvdnav.c:1999,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdnav.c:2003,1
    - Dst: StillEnd
      Src: /src/vlc/modules/access/dvdnav.c:2004,1
    - Dst: StillActive
      Src: /src/vlc/modules/access/dvdnav.c:2018,1
    - Dst: StillReset
      Src: /src/vlc/modules/access/dvdnav.c:2019,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdnav.c:2020,1
    - Dst: dvdnav_part_play
      Src: /src/vlc/modules/access/dvdnav.c:2021,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - p_demux
    - i_dir
    argTypes:
    - demux_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2040
      start: 1984
    functionDepth: 2
    functionLinenumber: 1984
    functionLinenumberEnd: 2040
    functionName: StillStep
    functionSourceFile: /src/vlc/modules/access/dvdnav.c
    functionUses: 1
    functionsReached:
    - StillEnd
    - dvdnav_part_play
    - dvdnav_get_current_nav_pci
    - msg_Dbg
    - StillActive
    - StillReset
    linkageType: ''
    returnType: bool
    signature: bool StillStep( demux_t *p_demux, int i_dir )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mouse_Init
      Src: /src/vlc/modules/access/dvdnav.c:2049,1
    - Dst: dvdnav_get_current_nav_pci
      Src: /src/vlc/modules/access/dvdnav.c:2054,1
    - Dst: vlc_mouse_HasMoved
      Src: /src/vlc/modules/access/dvdnav.c:2056,1
    - Dst: dvdnav_mouse_select
      Src: /src/vlc/modules/access/dvdnav.c:2057,1
    - Dst: vlc_mouse_HasPressed
      Src: /src/vlc/modules/access/dvdnav.c:2058,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/dvdnav.c:2060,1
    - Dst: ButtonUpdate
      Src: /src/vlc/modules/access/dvdnav.c:2061,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/dvdnav.c:2062,1
    - Dst: dvdnav_mouse_activate
      Src: /src/vlc/modules/access/dvdnav.c:2063,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - newmouse
    - p_data
    argTypes:
    - vlc_mouse_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2066
      start: 2042
    functionDepth: 2
    functionLinenumber: 2042
    functionLinenumberEnd: 2066
    functionName: EventMouse
    functionSourceFile: /src/vlc/modules/access/dvdnav.c
    functionUses: 0
    functionsReached:
    - vlc_mouse_HasPressed
    - dvdnav_mouse_select
    - vlc_mutex_lock
    - vlc_mutex_unlock
    - vlc_mouse_Init
    - ButtonUpdate
    - dvdnav_get_current_nav_pci
    - vlc_mouse_HasMoved
    - dvdnav_mouse_activate
    linkageType: ''
    returnType: void
    signature: void EventMouse( const vlc_mouse_t *newmouse, void *p_data )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vlc_open
      Src: /src/vlc/modules/access/dvdnav.c:2077,1
    - Dst: fstat
      Src: /src/vlc/modules/access/dvdnav.c:2088,1
    - Dst: S_ISREG
      Src: /src/vlc/modules/access/dvdnav.c:2090,1
    - Dst: S_ISBLK
      Src: /src/vlc/modules/access/dvdnav.c:2092,1
    - Dst: S_ISDIR
      Src: /src/vlc/modules/access/dvdnav.c:2097,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/dvdnav.c:2102,1
    - Dst: access
      Src: /src/vlc/modules/access/dvdnav.c:2108,1
    - Dst: free
      Src: /src/vlc/modules/access/dvdnav.c:2112,1
    - Dst: lseek
      Src: /src/vlc/modules/access/dvdnav.c:2119,1
    - Dst: read
      Src: /src/vlc/modules/access/dvdnav.c:2120,1
    - Dst: memcmp
      Src: /src/vlc/modules/access/dvdnav.c:2121,1
    - Dst: lseek
      Src: /src/vlc/modules/access/dvdnav.c:2127,1
    - Dst: read
      Src: /src/vlc/modules/access/dvdnav.c:2128,1
    - Dst: GetWLE
      Src: /src/vlc/modules/access/dvdnav.c:2129,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/dvdnav.c:2132,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 1
    argNames:
    - psz_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2134
      start: 2071
    functionDepth: 2
    functionLinenumber: 2071
    functionLinenumberEnd: 2134
    functionName: ProbeDVD
    functionSourceFile: /src/vlc/modules/access/dvdnav.c
    functionUses: 2
    functionsReached:
    - vlc_open
    - asprintf
    - S_ISDIR
    - fstat
    - GetWLE
    - vlc_close
    - read
    - free
    - S_ISREG
    - access
    - lseek
    - S_ISBLK
    - memcmp
    linkageType: ''
    returnType: int
    signature: int ProbeDVD( const char *psz_name )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: __MIN
      Src: /src/vlc/modules/access/ndi.c:62,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/ndi.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - p_sys
    - p_demux
    argTypes:
    - demux_sys_t*
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 69
    functionName: update_pcr
    functionSourceFile: /src/vlc/modules/access/ndi.c
    functionUses: 0
    functionsReached:
    - __MIN
    - es_out_SetPCR
    linkageType: ''
    returnType: void
    signature: void update_pcr( demux_sys_t *p_sys, demux_t *p_demux )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/access/ndi.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_base
    - i_timecode
    argTypes:
    - uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: timecode_to_pts
    functionSourceFile: /src/vlc/modules/access/ndi.c
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t timecode_to_pts( uint64_t *p_base, uint64_t i_timecode )
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - channels
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: get_physical_channels
    functionSourceFile: /src/vlc/modules/access/ndi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_physical_channels( unsigned channels )
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ndi.c:117,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/ndi.c:121,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/ndi.c:127,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ndi.c:130,1
    - Dst: block_heap_Alloc
      Src: /src/vlc/modules/access/ndi.c:135,1
    - Dst: timecode_to_pts
      Src: /src/vlc/modules/access/ndi.c:141,1
    - Dst: vlc_tick_from_frac
      Src: /src/vlc/modules/access/ndi.c:144,1
    - Dst: update_pcr
      Src: /src/vlc/modules/access/ndi.c:147,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/ndi.c:149,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/ndi.c:158,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ndi.c:181,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/ndi.c:185,1
    - Dst: get_physical_channels
      Src: /src/vlc/modules/access/ndi.c:189,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/ndi.c:191,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ndi.c:194,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/ndi.c:200,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/ndi.c:209,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/access/ndi.c:215,1
    - Dst: timecode_to_pts
      Src: /src/vlc/modules/access/ndi.c:224,1
    - Dst: update_pcr
      Src: /src/vlc/modules/access/ndi.c:228,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/ndi.c:230,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/ndi.c:237,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/ndi.c:242,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 99
    argCount: 2
    argNames:
    - noidea_packet
    - user_data
    argTypes:
    - noidea_packet_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 247
    functionName: data_callback
    functionSourceFile: /src/vlc/modules/access/ndi.c
    functionUses: 0
    functionsReached:
    - es_out_Send
    - memcpy
    - update_pcr
    - msg_Err
    - block_Alloc
    - get_physical_channels
    - vlc_tick_from_samples
    - msg_Warn
    - timecode_to_pts
    - es_format_Init
    - es_out_Add
    - block_heap_Alloc
    - msg_Dbg
    - vlc_tick_from_frac
    linkageType: ''
    returnType: int
    signature: int data_callback( noidea_packet_t *noidea_packet, void *user_data
      )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: noidea_recv_get_socket_fd
      Src: /src/vlc/modules/access/ndi.c:254,1
    - Dst: noidea_recv_which_events
      Src: /src/vlc/modules/access/ndi.c:255,1
    - Dst: noidea_recv_is_connected
      Src: /src/vlc/modules/access/ndi.c:257,1
    - Dst: vlc_poll_i11e
      Src: /src/vlc/modules/access/ndi.c:260,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/ndi.c:264,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ndi.c:269,1
    - Dst: noidea_recv_capture
      Src: /src/vlc/modules/access/ndi.c:275,1
    - Dst: vlc_killed
      Src: /src/vlc/modules/access/ndi.c:275,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ndi.c:279,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/ndi.c:279,1
    - Dst: noidea_recv_get_socket_fd
      Src: /src/vlc/modules/access/ndi.c:283,1
    - Dst: noidea_recv_which_events
      Src: /src/vlc/modules/access/ndi.c:284,1
    - Dst: vlc_poll_i11e
      Src: /src/vlc/modules/access/ndi.c:285,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/ndi.c:289,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 294
    functionName: Demux
    functionSourceFile: /src/vlc/modules/access/ndi.c
    functionUses: 1
    functionsReached:
    - vlc_strerror_c
    - noidea_recv_which_events
    - noidea_recv_is_connected
    - msg_Err
    - vlc_poll_i11e
    - msg_Warn
    - noidea_recv_capture
    - vlc_killed
    - noidea_recv_get_socket_fd
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/ndi.c:305,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/ndi.c:318,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/ndi.c:324,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/ndi.c:325,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/ndi.c:325,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/ndi.c:329,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - p_demux
    - query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 337
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/ndi.c
    functionUses: 18
    functionsReached:
    - var_InheritInteger
    - va_arg
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int query, va_list args )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/access/ndi.c:347,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/ndi.c:348,1
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/access/ndi.c:352,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/access/ndi.c:356,1
    - Dst: noidea_recv_create
      Src: /src/vlc/modules/access/ndi.c:360,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ndi.c:364,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/ndi.c:370,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/ndi.c:370,1
    - Dst: noidea_recv_connect
      Src: /src/vlc/modules/access/ndi.c:371,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ndi.c:375,1
    - Dst: noidea_recv_get_socket_fd
      Src: /src/vlc/modules/access/ndi.c:379,1
    - Dst: noidea_recv_which_events
      Src: /src/vlc/modules/access/ndi.c:380,1
    - Dst: vlc_poll_i11e
      Src: /src/vlc/modules/access/ndi.c:381,1
    - Dst: getsockopt
      Src: /src/vlc/modules/access/ndi.c:389,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ndi.c:391,1
    - Dst: noidea_recv_send_metadata
      Src: /src/vlc/modules/access/ndi.c:398,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ndi.c:402,1
    - Dst: noidea_recv_get_socket_fd
      Src: /src/vlc/modules/access/ndi.c:406,1
    - Dst: noidea_recv_which_events
      Src: /src/vlc/modules/access/ndi.c:407,1
    - Dst: vlc_poll_i11e
      Src: /src/vlc/modules/access/ndi.c:408,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/ndi.c:428,1
    - Dst: noidea_recv_close
      Src: /src/vlc/modules/access/ndi.c:433,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/ndi.c:434,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 69
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 436
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/ndi.c
    functionUses: 4
    functionsReached:
    - noidea_recv_close
    - vlc_UrlParse
    - noidea_recv_create
    - vlc_obj_malloc
    - noidea_recv_which_events
    - noidea_recv_send_metadata
    - noidea_recv_connect
    - var_InheritInteger
    - VLC_TICK_FROM_MS
    - msg_Err
    - vlc_poll_i11e
    - EMPTY_STR
    - getsockopt
    - unlikely
    - noidea_recv_get_socket_fd
    - vlc_UrlClean
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noidea_recv_close
      Src: /src/vlc/modules/access/ndi.c:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 444
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/ndi.c
    functionUses: 23
    functionsReached:
    - noidea_recv_close
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strnlen
      Src: /src/vlc/modules/access/sdp.c:35,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/sdp.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - access
    - buf
    - len
    argTypes:
    - stream_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: Read
    functionSourceFile: /src/vlc/modules/access/sdp.c
    functionUses: 15
    functionsReached:
    - memcpy
    - strnlen
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Read (stream_t *access, void *buf, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/access/sdp.c:50,1
    - Dst: strnlen
      Src: /src/vlc/modules/access/sdp.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - access
    - position
    argTypes:
    - stream_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: Seek
    functionSourceFile: /src/vlc/modules/access/sdp.c
    functionUses: 7
    functionsReached:
    - unlikely
    - strnlen
    linkageType: ''
    returnType: int
    signature: int Seek (stream_t *access, uint64_t position)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/sdp.c:66,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/sdp.c:72,1
    - Dst: strlen
      Src: /src/vlc/modules/access/sdp.c:72,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/sdp.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 3
    argNames:
    - access
    - query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 83
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/sdp.c
    functionUses: 18
    functionsReached:
    - strlen
    - va_arg
    linkageType: ''
    returnType: int
    signature: int Control (stream_t *access, int query, va_list args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/access/sdp.c:89,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/sdp.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/sdp.c
    functionUses: 4
    functionsReached:
    - unlikely
    - vlc_obj_malloc
    linkageType: ''
    returnType: int
    signature: int Open (vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: netbios_ns_abort
      Src: /src/vlc/modules/access/smb2.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: netbios_ns_interrupt_callback
    functionSourceFile: /src/vlc/modules/access/smb2.c
    functionUses: 0
    functionsReached:
    - netbios_ns_abort
    linkageType: ''
    returnType: void
    signature: void netbios_ns_interrupt_callback(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_interrupt_register
      Src: /src/vlc/modules/access/smb2.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - netbios_ns*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: netbios_ns_interrupt_register
    functionSourceFile: /src/vlc/modules/access/smb2.c
    functionUses: 0
    functionsReached:
    - vlc_interrupt_register
    linkageType: ''
    returnType: void
    signature: void netbios_ns_interrupt_register(netbios_ns *ns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_interrupt_unregister
      Src: /src/vlc/modules/access/smb2.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: netbios_ns_interrupt_unregister
    functionSourceFile: /src/vlc/modules/access/smb2.c
    functionUses: 0
    functionsReached:
    - vlc_interrupt_unregister
    linkageType: ''
    returnType: int
    signature: int netbios_ns_interrupt_unregister(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - netbios_ns*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: netbios_ns_interrupt_register
    functionSourceFile: /src/vlc/modules/access/smb2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void netbios_ns_interrupt_register(netbios_ns *ns)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: netbios_ns_interrupt_unregister
    functionSourceFile: /src/vlc/modules/access/smb2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int netbios_ns_interrupt_unregister(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - access
    - ','
    - smb2p_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: VLC_SMB2_OP
    functionSourceFile: /src/vlc/modules/access/smb2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLC_SMB2_OP(access, smb2p_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - op
    - smb2p
    argTypes:
    - struct vlc_smb2_op*
    - struct smb2_context**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 169
    functionName: vlc_smb2_op_reset
    functionSourceFile: /src/vlc/modules/access/smb2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vlc_smb2_op_reset(struct vlc_smb2_op *op, struct smb2_context
      **smb2p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: smb2_get_error
      Src: /src/vlc/modules/access/smb2.c:176,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/access/smb2.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - op
    - psz_func
    - status
    argTypes:
    - struct vlc_smb2_op*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 187
    functionName: vlc_smb2_check_status
    functionSourceFile: /src/vlc/modules/access/smb2.c
    functionUses: 0
    functionsReached:
    - smb2_get_error
    - vlc_warning
    linkageType: ''
    returnType: int
    signature: int vlc_smb2_check_status(struct vlc_smb2_op *op, const char *psz_func,
      int status)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_error
      Src: /src/vlc/modules/access/smb2.c:193,1
    - Dst: smb2_get_error
      Src: /src/vlc/modules/access/smb2.c:193,1
    - Dst: smb2_destroy_context
      Src: /src/vlc/modules/access/smb2.c:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - op
    - psz_func
    - err
    argTypes:
    - struct vlc_smb2_op*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 202
    functionName: vlc_smb2_set_error
    functionSourceFile: /src/vlc/modules/access/smb2.c
    functionUses: 0
    functionsReached:
    - vlc_error
    - smb2_get_error
    - smb2_destroy_context
    linkageType: ''
    returnType: void
    signature: void vlc_smb2_set_error(struct vlc_smb2_op *op, const char *psz_func,
      int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - op
    - ','
    - status
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: VLC_SMB2_CHECK_STATUS
    functionSourceFile: /src/vlc/modules/access/smb2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLC_SMB2_CHECK_STATUS(op, status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - op
    - ','
    - func
    - ','
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: VLC_SMB2_SET_ERROR
    functionSourceFile: /src/vlc/modules/access/smb2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLC_SMB2_SET_ERROR(op, func, err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 211
    functionName: VLC_SMB2_STATUS_DENIED
    functionSourceFile: /src/vlc/modules/access/smb2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLC_SMB2_STATUS_DENIED(x)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: smb2_get_fds
      Src: /src/vlc/modules/access/smb2.c:219,1
    - Dst: smb2_which_events
      Src: /src/vlc/modules/access/smb2.c:220,1
    - Dst: vlc_poll_i11e
      Src: /src/vlc/modules/access/smb2.c:229,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/access/smb2.c:232,1
    - Dst: VLC_SMB2_SET_ERROR
      Src: /src/vlc/modules/access/smb2.c:233,1
    - Dst: smb2_service_fd
      Src: /src/vlc/modules/access/smb2.c:237,1
    - Dst: VLC_SMB2_SET_ERROR
      Src: /src/vlc/modules/access/smb2.c:238,1
    - Dst: smb2_service_fd
      Src: /src/vlc/modules/access/smb2.c:245,1
    - Dst: VLC_SMB2_SET_ERROR
      Src: /src/vlc/modules/access/smb2.c:246,1
    - Dst: smb2_destroy_context
      Src: /src/vlc/modules/access/smb2.c:256,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 1
    argNames:
    - op
    argTypes:
    - struct vlc_smb2_op*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 262
    functionName: vlc_smb2_mainloop
    functionSourceFile: /src/vlc/modules/access/smb2.c
    functionUses: 0
    functionsReached:
    - vlc_warning
    - smb2_get_fds
    - VLC_SMB2_SET_ERROR
    - smb2_service_fd
    - smb2_destroy_context
    - vlc_poll_i11e
    - smb2_which_events
    linkageType: ''
    returnType: int
    signature: int vlc_smb2_mainloop(struct vlc_smb2_op *op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: VLC_SMB2_GENERIC_CB
    functionSourceFile: /src/vlc/modules/access/smb2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLC_SMB2_GENERIC_CB()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/smb2.c:274,1
    - Dst: VLC_SMB2_GENERIC_CB
      Src: /src/vlc/modules/access/smb2.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - smb2
    - status
    - data
    - private_data
    argTypes:
    - struct smb2_context*
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 276
    functionName: smb2_generic_cb
    functionSourceFile: /src/vlc/modules/access/smb2.c
    functionUses: 0
    functionsReached:
    - VLC_SMB2_GENERIC_CB
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void smb2_generic_cb(struct smb2_context *smb2, int status, void *data,\n
      \               void *private_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/smb2.c:282,1
    - Dst: VLC_SMB2_GENERIC_CB
      Src: /src/vlc/modules/access/smb2.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - smb2
    - status
    - data
    - private_data
    argTypes:
    - struct smb2_context*
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 286
    functionName: smb2_read_cb
    functionSourceFile: /src/vlc/modules/access/smb2.c
    functionUses: 0
    functionsReached:
    - VLC_SMB2_GENERIC_CB
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void smb2_read_cb(struct smb2_context *smb2, int status, void *data,\n
      \            void *private_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VLC_SMB2_OP
      Src: /src/vlc/modules/access/smb2.c:302,1
    - Dst: smb2_read_async
      Src: /src/vlc/modules/access/smb2.c:305,1
    - Dst: VLC_SMB2_SET_ERROR
      Src: /src/vlc/modules/access/smb2.c:309,1
    - Dst: vlc_smb2_mainloop
      Src: /src/vlc/modules/access/smb2.c:313,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - access
    - buf
    - len
    argTypes:
    - stream_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 320
    functionName: FileRead
    functionSourceFile: /src/vlc/modules/access/smb2.c
    functionUses: 0
    functionsReached:
    - smb2_read_async
    - VLC_SMB2_OP
    - vlc_smb2_mainloop
    - VLC_SMB2_SET_ERROR
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t FileRead(stream_t *access, void *buf, size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/access/smb2.c:332,1
    - Dst: VLC_SMB2_OP
      Src: /src/vlc/modules/access/smb2.c:337,1
    - Dst: smb2_lseek
      Src: /src/vlc/modules/access/smb2.c:339,1
    - Dst: VLC_SMB2_SET_ERROR
      Src: /src/vlc/modules/access/smb2.c:342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - access
    - i_pos
    argTypes:
    - stream_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 348
    functionName: FileSeek
    functionSourceFile: /src/vlc/modules/access/smb2.c
    functionUses: 0
    functionsReached:
    - VLC_SMB2_SET_ERROR
    - VLC_SMB2_OP
    - smb2_lseek
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int FileSeek(stream_t *access, uint64_t i_pos)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/smb2.c:358,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/smb2.c:362,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/smb2.c:367,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/smb2.c:377,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/smb2.c:377,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/smb2.c:378,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - access
    - i_query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 388
    functionName: FileControl
    functionSourceFile: /src/vlc/modules/access/smb2.c
    functionUses: 0
    functionsReached:
    - var_InheritInteger
    - va_arg
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: int
    signature: int FileControl(stream_t *access, int i_query, va_list args)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_memstream_open
      Src: /src/vlc/modules/access/smb2.c:395,1
    - Dst: strchr
      Src: /src/vlc/modules/access/smb2.c:396,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/access/smb2.c:397,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/access/smb2.c:399,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/access/smb2.c:402,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/access/smb2.c:406,1
    - Dst: strlen
      Src: /src/vlc/modules/access/smb2.c:407,1
    - Dst: vlc_memstream_putc
      Src: /src/vlc/modules/access/smb2.c:408,1
    - Dst: vlc_memstream_putc
      Src: /src/vlc/modules/access/smb2.c:411,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/access/smb2.c:413,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/access/smb2.c:416,1
    - Dst: vlc_memstream_close
      Src: /src/vlc/modules/access/smb2.c:418,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - url
    - file
    argTypes:
    - vlc_url_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 421
    functionName: vlc_smb2_get_url
    functionSourceFile: /src/vlc/modules/access/smb2.c
    functionUses: 0
    functionsReached:
    - strchr
    - vlc_memstream_puts
    - strlen
    - vlc_memstream_open
    - vlc_memstream_printf
    - vlc_memstream_putc
    - vlc_memstream_close
    linkageType: ''
    returnType: VLC_MALLOC
    signature: 'VLC_MALLOC *

      vlc_smb2_get_url(vlc_url_t *url, const char *file)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_uri_encode
      Src: /src/vlc/modules/access/smb2.c:427,1
    - Dst: vlc_smb2_get_url
      Src: /src/vlc/modules/access/smb2.c:431,1
    - Dst: free
      Src: /src/vlc/modules/access/smb2.c:432,1
    - Dst: vlc_readdir_helper_additem
      Src: /src/vlc/modules/access/smb2.c:437,1
    - Dst: input_item_AddStat
      Src: /src/vlc/modules/access/smb2.c:442,1
    - Dst: input_item_AddStat
      Src: /src/vlc/modules/access/smb2.c:443,1
    - Dst: free
      Src: /src/vlc/modules/access/smb2.c:445,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - access
    - rdh
    - name
    - i_type
    - stats
    argTypes:
    - stream_t*
    - struct vlc_readdir_helper*
    - char*
    - int
    - struct smb2_stat_64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 447
    functionName: AddItem
    functionSourceFile: /src/vlc/modules/access/smb2.c
    functionUses: 1
    functionsReached:
    - free
    - vlc_smb2_get_url
    - vlc_uri_encode
    - vlc_readdir_helper_additem
    - input_item_AddStat
    linkageType: ''
    returnType: int
    signature: "int AddItem(stream_t *access, struct vlc_readdir_helper *rdh,\n                   const
      char* name, int i_type, struct smb2_stat_64 *stats)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/smb2.c:455,1
    - Dst: vlc_readdir_helper_init
      Src: /src/vlc/modules/access/smb2.c:458,1
    - Dst: smb2_readdir
      Src: /src/vlc/modules/access/smb2.c:461,1
    - Dst: AddItem
      Src: /src/vlc/modules/access/smb2.c:476,1
    - Dst: vlc_readdir_helper_finish
      Src: /src/vlc/modules/access/smb2.c:479,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - access
    - p_node
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts:
    - condition: (sys->smb2dir)
      pos:
        line_end: 454
        line_start: 454
        source_file: /src/vlc/modules/access/smb2.c
    constantsTouched: []
    func_position:
      end: 482
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 482
    functionName: DirRead
    functionSourceFile: /src/vlc/modules/access/smb2.c
    functionUses: 0
    functionsReached:
    - assert
    - AddItem
    - vlc_readdir_helper_init
    - smb2_readdir
    - vlc_readdir_helper_finish
    linkageType: ''
    returnType: int
    signature: int DirRead(stream_t *access, input_item_node_t *p_node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/smb2.c:488,1
    - Dst: vlc_readdir_helper_init
      Src: /src/vlc/modules/access/smb2.c:492,1
    - Dst: AddItem
      Src: /src/vlc/modules/access/smb2.c:520,1
    - Dst: vlc_readdir_helper_finish
      Src: /src/vlc/modules/access/smb2.c:525,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - access
    - p_node
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts:
    - condition: (sys->share_enum != NULL)
      pos:
        line_end: 487
        line_start: 487
        source_file: /src/vlc/modules/access/smb2.c
    constantsTouched: []
    func_position:
      end: 527
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 527
    functionName: ShareEnum
    functionSourceFile: /src/vlc/modules/access/smb2.c
    functionUses: 0
    functionsReached:
    - assert
    - AddItem
    - vlc_readdir_helper_finish
    - vlc_readdir_helper_init
    linkageType: ''
    returnType: int
    signature: int ShareEnum(stream_t *access, input_item_node_t *p_node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_SMB2_OP
      Src: /src/vlc/modules/access/smb2.c:533,1
    - Dst: smb2_close_async
      Src: /src/vlc/modules/access/smb2.c:535,1
    - Dst: VLC_SMB2_SET_ERROR
      Src: /src/vlc/modules/access/smb2.c:538,1
    - Dst: vlc_smb2_mainloop
      Src: /src/vlc/modules/access/smb2.c:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - access
    - smb2p
    - smb2fh
    argTypes:
    - stream_t*
    - struct smb2_context**
    - struct smb2fh*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 543
    functionName: vlc_smb2_close_fh
    functionSourceFile: /src/vlc/modules/access/smb2.c
    functionUses: 0
    functionsReached:
    - VLC_SMB2_SET_ERROR
    - smb2_close_async
    - VLC_SMB2_OP
    - vlc_smb2_mainloop
    linkageType: ''
    returnType: int
    signature: "int vlc_smb2_close_fh(stream_t *access, struct smb2_context **smb2p,\n
      \                 struct smb2fh *smb2fh)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_SMB2_OP
      Src: /src/vlc/modules/access/smb2.c:548,1
    - Dst: smb2_disconnect_share_async
      Src: /src/vlc/modules/access/smb2.c:550,1
    - Dst: VLC_SMB2_SET_ERROR
      Src: /src/vlc/modules/access/smb2.c:553,1
    - Dst: vlc_smb2_mainloop
      Src: /src/vlc/modules/access/smb2.c:557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - access
    - smb2p
    argTypes:
    - stream_t*
    - struct smb2_context**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 558
    functionName: vlc_smb2_disconnect_share
    functionSourceFile: /src/vlc/modules/access/smb2.c
    functionUses: 0
    functionsReached:
    - VLC_SMB2_SET_ERROR
    - smb2_disconnect_share_async
    - VLC_SMB2_OP
    - vlc_smb2_mainloop
    linkageType: ''
    returnType: int
    signature: int vlc_smb2_disconnect_share(stream_t *access, struct smb2_context
      **smb2p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_SMB2_GENERIC_CB
      Src: /src/vlc/modules/access/smb2.c:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - smb2
    - status
    - data
    - private_data
    argTypes:
    - struct smb2_context*
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 567
    functionName: smb2_open_cb
    functionSourceFile: /src/vlc/modules/access/smb2.c
    functionUses: 0
    functionsReached:
    - VLC_SMB2_GENERIC_CB
    linkageType: ''
    returnType: void
    signature: "void smb2_open_cb(struct smb2_context *smb2, int status, void *data,\n
      \            void *private_data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getsockname
      Src: /src/vlc/modules/access/smb2.c:575,1
    - Dst: smb2_get_fd
      Src: /src/vlc/modules/access/smb2.c:575,1
    - Dst: inet_ntop
      Src: /src/vlc/modules/access/smb2.c:592,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/smb2.c:595,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/smb2.c:598,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 599
    functionName: vlc_smb2_print_addr
    functionSourceFile: /src/vlc/modules/access/smb2.c
    functionUses: 0
    functionsReached:
    - inet_ntop
    - smb2_get_fd
    - strcmp
    - msg_Dbg
    - getsockname
    linkageType: ''
    returnType: void
    signature: void vlc_smb2_print_addr(stream_t *access)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: VLC_SMB2_OP
      Src: /src/vlc/modules/access/smb2.c:608,1
    - Dst: smb2_share_enum_async
      Src: /src/vlc/modules/access/smb2.c:614,1
    - Dst: smb2_share_enum_async
      Src: /src/vlc/modules/access/smb2.c:616,1
    - Dst: smb2_stat_async
      Src: /src/vlc/modules/access/smb2.c:621,1
    - Dst: VLC_SMB2_SET_ERROR
      Src: /src/vlc/modules/access/smb2.c:625,1
    - Dst: vlc_smb2_mainloop
      Src: /src/vlc/modules/access/smb2.c:629,1
    - Dst: vlc_smb2_op_reset
      Src: /src/vlc/modules/access/smb2.c:634,1
    - Dst: smb2_open_async
      Src: /src/vlc/modules/access/smb2.c:637,1
    - Dst: vlc_smb2_op_reset
      Src: /src/vlc/modules/access/smb2.c:642,1
    - Dst: smb2_opendir_async
      Src: /src/vlc/modules/access/smb2.c:644,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/smb2.c:648,1
    - Dst: VLC_SMB2_SET_ERROR
      Src: /src/vlc/modules/access/smb2.c:655,1
    - Dst: vlc_smb2_mainloop
      Src: /src/vlc/modules/access/smb2.c:659,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/access/smb2.c:669,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 4
    argNames:
    - access
    - smb2p
    - smb2_url
    - do_enum
    argTypes:
    - stream_t*
    - struct smb2_context**
    - struct smb2_url*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 601
    functionDepth: 2
    functionLinenumber: 601
    functionLinenumberEnd: 674
    functionName: vlc_smb2_open_share
    functionSourceFile: /src/vlc/modules/access/smb2.c
    functionUses: 0
    functionsReached:
    - smb2_stat_async
    - smb2_share_enum_async
    - VLC_SMB2_SET_ERROR
    - VLC_SMB2_OP
    - smb2_open_async
    - vlc_assert_unreachable
    - msg_Err
    - vlc_smb2_op_reset
    - vlc_smb2_mainloop
    - smb2_opendir_async
    linkageType: ''
    returnType: int
    signature: "int vlc_smb2_open_share(stream_t *access, struct smb2_context **smb2p,\n
      \                   struct smb2_url *smb2_url, bool do_enum)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_smb2_disconnect_share
      Src: /src/vlc/modules/access/smb2.c:681,1
    - Dst: smb2_destroy_context
      Src: /src/vlc/modules/access/smb2.c:683,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 676
    functionDepth: 3
    functionLinenumber: 676
    functionLinenumberEnd: 684
    functionName: vlc_smb2_FreeContext
    functionSourceFile: /src/vlc/modules/access/smb2.c
    functionUses: 0
    functionsReached:
    - vlc_smb2_disconnect_share
    - smb2_destroy_context
    linkageType: ''
    returnType: void
    signature: void vlc_smb2_FreeContext(void *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_SMB2_OP
      Src: /src/vlc/modules/access/smb2.c:692,1
    - Dst: smb2_connect_share_async
      Src: /src/vlc/modules/access/smb2.c:693,1
    - Dst: VLC_SMB2_SET_ERROR
      Src: /src/vlc/modules/access/smb2.c:697,1
    - Dst: vlc_smb2_mainloop
      Src: /src/vlc/modules/access/smb2.c:701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - access
    - server
    - share
    - username
    argTypes:
    - stream_t*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 686
    functionDepth: 2
    functionLinenumber: 686
    functionLinenumberEnd: 702
    functionName: vlc_smb2_connect_share
    functionSourceFile: /src/vlc/modules/access/smb2.c
    functionUses: 0
    functionsReached:
    - VLC_SMB2_SET_ERROR
    - VLC_SMB2_OP
    - vlc_smb2_mainloop
    - smb2_connect_share_async
    linkageType: ''
    returnType: int
    signature: "int vlc_smb2_connect_share(stream_t *access, const char *server,\n
      \                      const char *share, const char *username)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: smb2_init_context
      Src: /src/vlc/modules/access/smb2.c:714,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/smb2.c:717,1
    - Dst: smb2_parse_url
      Src: /src/vlc/modules/access/smb2.c:720,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/smb2.c:724,1
    - Dst: vlc_access_cache_GetSmbEntry
      Src: /src/vlc/modules/access/smb2.c:742,1
    - Dst: vlc_smb2_open_share
      Src: /src/vlc/modules/access/smb2.c:747,1
    - Dst: assert
      Src: /src/vlc/modules/access/smb2.c:750,1
    - Dst: smb2_destroy_context
      Src: /src/vlc/modules/access/smb2.c:752,1
    - Dst: smb2_destroy_url
      Src: /src/vlc/modules/access/smb2.c:757,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/smb2.c:758,1
    - Dst: vlc_access_cache_entry_Delete
      Src: /src/vlc/modules/access/smb2.c:762,1
    - Dst: smb2_set_security_mode
      Src: /src/vlc/modules/access/smb2.c:765,1
    - Dst: smb2_set_password
      Src: /src/vlc/modules/access/smb2.c:766,1
    - Dst: smb2_set_domain
      Src: /src/vlc/modules/access/smb2.c:767,1
    - Dst: vlc_smb2_connect_share
      Src: /src/vlc/modules/access/smb2.c:769,1
    - Dst: vlc_smb2_print_addr
      Src: /src/vlc/modules/access/smb2.c:775,1
    - Dst: vlc_smb2_open_share
      Src: /src/vlc/modules/access/smb2.c:777,1
    - Dst: vlc_access_cache_entry_NewSmb
      Src: /src/vlc/modules/access/smb2.c:781,1
    - Dst: smb2_destroy_url
      Src: /src/vlc/modules/access/smb2.c:790,1
    - Dst: smb2_destroy_url
      Src: /src/vlc/modules/access/smb2.c:795,1
    - Dst: vlc_smb2_disconnect_share
      Src: /src/vlc/modules/access/smb2.c:801,1
    - Dst: smb2_destroy_context
      Src: /src/vlc/modules/access/smb2.c:806,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 67
    argCount: 4
    argNames:
    - access
    - url
    - credential
    - guest_with_valid_passwd
    argTypes:
    - stream_t*
    - char*
    - vlc_credential*
    - bool
    assertStmts:
    - condition: (smb2 != NULL)
      pos:
        line_end: 749
        line_start: 749
        source_file: /src/vlc/modules/access/smb2.c
    constantsTouched: []
    func_position:
      end: 811
      start: 704
    functionDepth: 3
    functionLinenumber: 704
    functionLinenumberEnd: 811
    functionName: vlc_smb2_connect_open_share
    functionSourceFile: /src/vlc/modules/access/smb2.c
    functionUses: 0
    functionsReached:
    - smb2_set_password
    - vlc_access_cache_GetSmbEntry
    - assert
    - smb2_set_security_mode
    - smb2_parse_url
    - smb2_destroy_url
    - vlc_access_cache_entry_Delete
    - msg_Err
    - vlc_smb2_open_share
    - smb2_destroy_context
    - smb2_set_domain
    - vlc_smb2_connect_share
    - msg_Dbg
    - vlc_access_cache_entry_NewSmb
    - smb2_init_context
    - vlc_smb2_disconnect_share
    - vlc_smb2_print_addr
    linkageType: ''
    returnType: int
    signature: "int vlc_smb2_connect_open_share(stream_t *access, const char *url,\n
      \                           const vlc_credential *credential,\n                            bool
      guest_with_valid_passwd)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/vlc/modules/access/smb2.c:824,1
    - Dst: vlc_getaddrinfo_i11e
      Src: /src/vlc/modules/access/smb2.c:829,1
    - Dst: freeaddrinfo
      Src: /src/vlc/modules/access/smb2.c:831,1
    - Dst: netbios_ns_new
      Src: /src/vlc/modules/access/smb2.c:837,1
    - Dst: netbios_ns_interrupt_register
      Src: /src/vlc/modules/access/smb2.c:842,1
    - Dst: netbios_ns_resolve
      Src: /src/vlc/modules/access/smb2.c:844,1
    - Dst: inet_ntop
      Src: /src/vlc/modules/access/smb2.c:847,1
    - Dst: strdup
      Src: /src/vlc/modules/access/smb2.c:849,1
    - Dst: netbios_ns_interrupt_unregister
      Src: /src/vlc/modules/access/smb2.c:853,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/smb2.c:855,1
    - Dst: free
      Src: /src/vlc/modules/access/smb2.c:856,1
    - Dst: netbios_ns_destroy
      Src: /src/vlc/modules/access/smb2.c:857,1
    - Dst: netbios_ns_destroy
      Src: /src/vlc/modules/access/smb2.c:860,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - access
    - host
    - port
    - out_host
    argTypes:
    - stream_t*
    - char*
    - unsigned
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 866
    functionName: vlc_smb2_resolve
    functionSourceFile: /src/vlc/modules/access/smb2.c
    functionUses: 0
    functionsReached:
    - inet_pton
    - netbios_ns_interrupt_register
    - inet_ntop
    - strdup
    - netbios_ns_new
    - netbios_ns_interrupt_unregister
    - netbios_ns_resolve
    - free
    - freeaddrinfo
    - vlc_getaddrinfo_i11e
    - netbios_ns_destroy
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int vlc_smb2_resolve(stream_t *access, const char *host, unsigned
      port,\n                 char **out_host)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/access/smb2.c:872,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/smb2.c:876,1
    - Dst: vlc_UrlParseFixup
      Src: /src/vlc/modules/access/smb2.c:881,1
    - Dst: vlc_smb2_resolve
      Src: /src/vlc/modules/access/smb2.c:888,1
    - Dst: vlc_uri_compose
      Src: /src/vlc/modules/access/smb2.c:900,1
    - Dst: vlc_uri_compose
      Src: /src/vlc/modules/access/smb2.c:904,1
    - Dst: vlc_uri_decode
      Src: /src/vlc/modules/access/smb2.c:906,1
    - Dst: free
      Src: /src/vlc/modules/access/smb2.c:908,1
    - Dst: free
      Src: /src/vlc/modules/access/smb2.c:909,1
    - Dst: vlc_credential_init
      Src: /src/vlc/modules/access/smb2.c:915,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/smb2.c:916,1
    - Dst: vlc_credential_get
      Src: /src/vlc/modules/access/smb2.c:921,1
    - Dst: vlc_credential_clean
      Src: /src/vlc/modules/access/smb2.c:924,1
    - Dst: free
      Src: /src/vlc/modules/access/smb2.c:925,1
    - Dst: vlc_smb2_connect_open_share
      Src: /src/vlc/modules/access/smb2.c:930,1
    - Dst: vlc_smb2_connect_open_share
      Src: /src/vlc/modules/access/smb2.c:943,1
    - Dst: VLC_SMB2_STATUS_DENIED
      Src: /src/vlc/modules/access/smb2.c:946,1
    - Dst: vlc_credential_get
      Src: /src/vlc/modules/access/smb2.c:947,1
    - Dst: vlc_smb2_connect_open_share
      Src: /src/vlc/modules/access/smb2.c:950,1
    - Dst: free
      Src: /src/vlc/modules/access/smb2.c:951,1
    - Dst: free
      Src: /src/vlc/modules/access/smb2.c:952,1
    - Dst: vlc_credential_store
      Src: /src/vlc/modules/access/smb2.c:954,1
    - Dst: vlc_credential_clean
      Src: /src/vlc/modules/access/smb2.c:955,1
    - Dst: smb2_get_error
      Src: /src/vlc/modules/access/smb2.c:959,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/access/smb2.c:961,1
    - Dst: _
      Src: /src/vlc/modules/access/smb2.c:962,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/smb2.c:968,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/access/smb2.c:992,1
    - Dst: free
      Src: /src/vlc/modules/access/smb2.c:994,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/smb2.c:998,1
    - Dst: free
      Src: /src/vlc/modules/access/smb2.c:999,1
    - Dst: vlc_killed
      Src: /src/vlc/modules/access/smb2.c:1006,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 78
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 868
    functionDepth: 4
    functionLinenumber: 868
    functionLinenumberEnd: 1007
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/smb2.c
    functionUses: 4
    functionsReached:
    - vlc_credential_store
    - VLC_SMB2_STATUS_DENIED
    - vlc_killed
    - vlc_smb2_resolve
    - vlc_obj_calloc
    - vlc_dialog_display_error
    - vlc_assert_unreachable
    - _
    - var_Create
    - vlc_uri_compose
    - vlc_UrlClean
    - vlc_credential_init
    - vlc_credential_clean
    - var_InheritString
    - vlc_UrlParseFixup
    - unlikely
    - free
    - smb2_get_error
    - vlc_credential_get
    - vlc_uri_decode
    - vlc_smb2_connect_open_share
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *p_obj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_smb2_close_fh
      Src: /src/vlc/modules/access/smb2.c:1018,1
    - Dst: smb2_closedir
      Src: /src/vlc/modules/access/smb2.c:1021,1
    - Dst: smb2_free_data
      Src: /src/vlc/modules/access/smb2.c:1023,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/access/smb2.c:1025,1
    - Dst: assert
      Src: /src/vlc/modules/access/smb2.c:1027,1
    - Dst: vlc_access_cache_AddEntry
      Src: /src/vlc/modules/access/smb2.c:1030,1
    - Dst: vlc_access_cache_entry_Delete
      Src: /src/vlc/modules/access/smb2.c:1032,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/smb2.c:1034,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: (sys->smb2_connected)
      pos:
        line_end: 1026
        line_start: 1026
        source_file: /src/vlc/modules/access/smb2.c
    constantsTouched: []
    func_position:
      end: 1035
      start: 1009
    functionDepth: 3
    functionLinenumber: 1009
    functionLinenumberEnd: 1035
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/smb2.c
    functionUses: 23
    functionsReached:
    - assert
    - vlc_assert_unreachable
    - vlc_access_cache_entry_Delete
    - smb2_free_data
    - smb2_closedir
    - vlc_smb2_close_fh
    - vlc_access_cache_AddEntry
    - vlc_UrlClean
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *p_obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vlc/modules/access/satip.c:128,1
    - Dst: vasprintf
      Src: /src/vlc/modules/access/satip.c:129,1
    - Dst: va_end
      Src: /src/vlc/modules/access/satip.c:130,1
    - Dst: net_Write
      Src: /src/vlc/modules/access/satip.c:133,1
    - Dst: free
      Src: /src/vlc/modules/access/satip.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - access
    - fd
    - fmt
    argTypes:
    - stream_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 136
    functionName: net_Printf
    functionSourceFile: /src/vlc/modules/access/satip.c
    functionUses: 0
    functionsReached:
    - net_Write
    - vasprintf
    - va_start
    - free
    - va_end
    linkageType: ''
    returnType: void
    signature: void net_Printf(stream_t *access, int fd, const char *fmt, ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strtok_r
      Src: /src/vlc/modules/access/satip.c:142,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/satip.c:145,1
    - Dst: __MIN
      Src: /src/vlc/modules/access/satip.c:145,1
    - Dst: strlen
      Src: /src/vlc/modules/access/satip.c:145,1
    - Dst: strtok_r
      Src: /src/vlc/modules/access/satip.c:147,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/satip.c:148,1
    - Dst: atoi
      Src: /src/vlc/modules/access/satip.c:149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - request_line
    - session
    - max
    - timeout
    argTypes:
    - char*
    - char*
    - unsigned
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 156
    functionName: parse_session
    functionSourceFile: /src/vlc/modules/access/satip.c
    functionUses: 0
    functionsReached:
    - strtok_r
    - atoi
    - strlen
    - memcpy
    - strncmp
    - __MIN
    linkageType: ''
    returnType: void
    signature: void parse_session(char *request_line, char *session, unsigned max,
      int *timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/vlc/modules/access/satip.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - str
    - port
    argTypes:
    - char*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 167
    functionName: parse_port
    functionSourceFile: /src/vlc/modules/access/satip.c
    functionUses: 0
    functionsReached:
    - atoi
    linkageType: ''
    returnType: int
    signature: int parse_port(char *str, uint16_t *port)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strtok_r
      Src: /src/vlc/modules/access/satip.c:175,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/satip.c:176,1
    - Dst: strtok_r
      Src: /src/vlc/modules/access/satip.c:179,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/satip.c:180,1
    - Dst: strtok_r
      Src: /src/vlc/modules/access/satip.c:183,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/satip.c:184,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/satip.c:185,1
    - Dst: __MIN
      Src: /src/vlc/modules/access/satip.c:185,1
    - Dst: strlen
      Src: /src/vlc/modules/access/satip.c:185,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/satip.c:186,1
    - Dst: memset
      Src: /src/vlc/modules/access/satip.c:190,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/satip.c:191,1
    - Dst: __MIN
      Src: /src/vlc/modules/access/satip.c:191,1
    - Dst: strlen
      Src: /src/vlc/modules/access/satip.c:191,1
    - Dst: strstr
      Src: /src/vlc/modules/access/satip.c:192,1
    - Dst: parse_port
      Src: /src/vlc/modules/access/satip.c:194,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - access
    - request_line
    argTypes:
    - stream_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 201
    functionName: parse_transport
    functionSourceFile: /src/vlc/modules/access/satip.c
    functionUses: 0
    functionsReached:
    - strtok_r
    - parse_port
    - memset
    - strlen
    - memcpy
    - strncmp
    - __MIN
    - strstr
    linkageType: ''
    returnType: int
    signature: int parse_transport(stream_t *access, char *request_line)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/access/satip.c:220,1
    - Dst: realloc
      Src: /src/vlc/modules/access/satip.c:226,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/satip.c:227,1
    - Dst: assert
      Src: /src/vlc/modules/access/satip.c:232,1
    - Dst: vlc_recv_i11e
      Src: /src/vlc/modules/access/satip.c:236,1
    - Dst: poll
      Src: /src/vlc/modules/access/satip.c:252,1
    - Dst: recv
      Src: /src/vlc/modules/access/satip.c:255,1
    - Dst: memchr
      Src: /src/vlc/modules/access/satip.c:260,1
    - Dst: recv
      Src: /src/vlc/modules/access/satip.c:263,1
    - Dst: assert
      Src: /src/vlc/modules/access/satip.c:270,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/satip.c:276,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/satip.c:276,1
    - Dst: free
      Src: /src/vlc/modules/access/satip.c:277,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 53
    argCount: 4
    argNames:
    - obj
    - fd
    - timeout
    - interrupted
    argTypes:
    - vlc_object_t*
    - int
    - int
    - bool*
    assertStmts:
    - condition: (len < size)
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/vlc/modules/access/satip.c
    - condition: (len > 0)
      pos:
        line_end: 269
        line_start: 269
        source_file: /src/vlc/modules/access/satip.c
    constantsTouched: []
    func_position:
      end: 279
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 279
    functionName: net_readln_timeout
    functionSourceFile: /src/vlc/modules/access/satip.c
    functionUses: 0
    functionsReached:
    - vlc_recv_i11e
    - assert
    - recv
    - vlc_strerror_c
    - poll
    - realloc
    - msg_Err
    - free
    - unlikely
    - memchr
    linkageType: ''
    returnType: char
    signature: char *net_readln_timeout(vlc_object_t *obj, int fd, int timeout, bool
      *interrupted)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 282
    functionName: skip_whitespace
    functionSourceFile: /src/vlc/modules/access/satip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: skip_whitespace(x)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: net_readln_timeout
      Src: /src/vlc/modules/access/satip.c:293,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/satip.c:293,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/satip.c:298,1
    - Dst: atoi
      Src: /src/vlc/modules/access/satip.c:299,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/satip.c:300,1
    - Dst: free
      Src: /src/vlc/modules/access/satip.c:301,1
    - Dst: skip_whitespace
      Src: /src/vlc/modules/access/satip.c:304,1
    - Dst: strdup
      Src: /src/vlc/modules/access/satip.c:306,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/satip.c:307,1
    - Dst: skip_whitespace
      Src: /src/vlc/modules/access/satip.c:309,1
    - Dst: atoi
      Src: /src/vlc/modules/access/satip.c:311,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/satip.c:312,1
    - Dst: skip_whitespace
      Src: /src/vlc/modules/access/satip.c:314,1
    - Dst: parse_session
      Src: /src/vlc/modules/access/satip.c:316,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/satip.c:317,1
    - Dst: skip_whitespace
      Src: /src/vlc/modules/access/satip.c:319,1
    - Dst: parse_transport
      Src: /src/vlc/modules/access/satip.c:321,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/satip.c:325,1
    - Dst: skip_whitespace
      Src: /src/vlc/modules/access/satip.c:327,1
    - Dst: atoi
      Src: /src/vlc/modules/access/satip.c:329,1
    - Dst: free
      Src: /src/vlc/modules/access/satip.c:334,1
    - Dst: net_Read
      Src: /src/vlc/modules/access/satip.c:339,1
    - Dst: __MIN
      Src: /src/vlc/modules/access/satip.c:339,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 2
    argNames:
    - access
    - interrupted
    argTypes:
    - stream_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 343
    functionName: rtsp_handle
    functionSourceFile: /src/vlc/modules/access/satip.c
    functionUses: 0
    functionsReached:
    - net_Read
    - atoi
    - strdup
    - parse_session
    - parse_transport
    - strncmp
    - free
    - __MIN
    - VLC_OBJECT
    - skip_whitespace
    - net_readln_timeout
    linkageType: ''
    returnType: enum rtsp_result
    signature: enum rtsp_result rtsp_handle(stream_t *access, bool *interrupted)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/access/satip.c:352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 353
    functionName: satip_cleanup_blocks
    functionSourceFile: /src/vlc/modules/access/satip.c
    functionUses: 0
    functionsReached:
    - block_Release
    linkageType: ''
    returnType: void
    signature: void satip_cleanup_blocks(void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/satip.c:362,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/satip.c:365,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/satip.c:369,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - access
    - block
    argTypes:
    - stream_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 375
    functionName: check_rtp_seq
    functionSourceFile: /src/vlc/modules/access/satip.c
    functionUses: 0
    functionsReached:
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int check_rtp_seq(stream_t *access, block_t *block)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/vlc/modules/access/satip.c:391,1
    - Dst: fcntl
      Src: /src/vlc/modules/access/satip.c:401,1
    - Dst: fcntl
      Src: /src/vlc/modules/access/satip.c:401,1
    - Dst: ioctlsocket
      Src: /src/vlc/modules/access/satip.c:403,1
    - Dst: poll
      Src: /src/vlc/modules/access/satip.c:407,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/satip.c:409,1
    - Dst: free
      Src: /src/vlc/modules/access/satip.c:410,1
    - Dst: vlc_send
      Src: /src/vlc/modules/access/satip.c:414,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/satip.c:416,1
    - Dst: free
      Src: /src/vlc/modules/access/satip.c:417,1
    - Dst: free
      Src: /src/vlc/modules/access/satip.c:422,1
    - Dst: rtsp_handle
      Src: /src/vlc/modules/access/satip.c:424,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/satip.c:425,1
    - Dst: recv
      Src: /src/vlc/modules/access/satip.c:431,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/access/satip.c:435,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/satip.c:435,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 377
    functionDepth: 3
    functionLinenumber: 377
    functionLinenumberEnd: 438
    functionName: satip_teardown
    functionSourceFile: /src/vlc/modules/access/satip.c
    functionUses: 0
    functionsReached:
    - vlc_send
    - asprintf
    - recv
    - ioctlsocket
    - poll
    - VLC_TICK_FROM_MS
    - fcntl
    - msg_Err
    - free
    - rtsp_handle
    - vlc_tick_sleep
    linkageType: ''
    returnType: void
    signature: void satip_teardown(void *data)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/satip.c:445,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/satip.c:447,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/access/satip.c:447,1
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/access/satip.c:449,1
    - Dst: memset
      Src: /src/vlc/modules/access/satip.c:458,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/satip.c:472,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/satip.c:478,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/satip.c:479,1
    - Dst: vlc_cleanup_push
      Src: /src/vlc/modules/access/satip.c:485,1
    - Dst: recvmmsg
      Src: /src/vlc/modules/access/satip.c:486,1
    - Dst: vlc_cleanup_pop
      Src: /src/vlc/modules/access/satip.c:487,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/satip.c:491,1
    - Dst: check_rtp_seq
      Src: /src/vlc/modules/access/satip.c:496,1
    - Dst: vlc_queue_Enqueue
      Src: /src/vlc/modules/access/satip.c:501,1
    - Dst: poll
      Src: /src/vlc/modules/access/satip.c:505,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/satip.c:508,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/satip.c:510,1
    - Dst: block_cleanup_push
      Src: /src/vlc/modules/access/satip.c:514,1
    - Dst: recv
      Src: /src/vlc/modules/access/satip.c:515,1
    - Dst: vlc_cleanup_pop
      Src: /src/vlc/modules/access/satip.c:516,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/satip.c:519,1
    - Dst: check_rtp_seq
      Src: /src/vlc/modules/access/satip.c:523,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/satip.c:524,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/satip.c:527,1
    - Dst: vlc_queue_Enqueue
      Src: /src/vlc/modules/access/satip.c:530,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/satip.c:533,1
    - Dst: net_Printf
      Src: /src/vlc/modules/access/satip.c:534,1
    - Dst: rtsp_handle
      Src: /src/vlc/modules/access/satip.c:539,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/satip.c:540,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/satip.c:542,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/access/satip.c:542,1
    - Dst: satip_cleanup_blocks
      Src: /src/vlc/modules/access/satip.c:547,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/satip.c:549,1
    - Dst: vlc_queue_Kill
      Src: /src/vlc/modules/access/satip.c:550,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 68
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 441
    functionDepth: 3
    functionLinenumber: 441
    functionLinenumberEnd: 552
    functionName: satip_thread
    functionSourceFile: /src/vlc/modules/access/satip.c
    functionUses: 0
    functionsReached:
    - block_Alloc
    - vlc_queue_Enqueue
    - net_Printf
    - vlc_cleanup_pop
    - vlc_tick_now
    - block_cleanup_push
    - recvmmsg
    - satip_cleanup_blocks
    - msg_Err
    - msg_Dbg
    - rtsp_handle
    - msg_Warn
    - vlc_queue_Kill
    - recv
    - vlc_thread_set_name
    - check_rtp_seq
    - vlc_cleanup_push
    - block_Release
    - memset
    - poll
    - vlc_tick_from_sec
    - unlikely
    linkageType: ''
    returnType: void
    signature: void *satip_thread(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_queue_DequeueKillable
      Src: /src/vlc/modules/access/satip.c:556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - access
    - eof
    argTypes:
    - stream_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 562
    functionName: satip_block
    functionSourceFile: /src/vlc/modules/access/satip.c
    functionUses: 0
    functionsReached:
    - vlc_queue_DequeueKillable
    linkageType: ''
    returnType: block_t
    signature: block_t * satip_block(stream_t *access, bool *restrict eof)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/satip.c:572,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/satip.c:577,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/satip.c:578,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/satip.c:578,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - access
    - i_query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 586
    functionName: satip_control
    functionSourceFile: /src/vlc/modules/access/satip.c
    functionUses: 0
    functionsReached:
    - var_InheritInteger
    - va_arg
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: int
    signature: int satip_control(stream_t *access, int i_query, va_list args)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_rand_bytes
      Src: /src/vlc/modules/access/satip.c:596,1
    - Dst: net_OpenDgram
      Src: /src/vlc/modules/access/satip.c:599,1
    - Dst: net_OpenDgram
      Src: /src/vlc/modules/access/satip.c:609,1
    - Dst: close
      Src: /src/vlc/modules/access/satip.c:612,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/satip.c:619,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 624
    functionName: satip_bind_ports
    functionSourceFile: /src/vlc/modules/access/satip.c
    functionUses: 0
    functionsReached:
    - close
    - vlc_rand_bytes
    - msg_Err
    - net_OpenDgram
    linkageType: ''
    returnType: int
    signature: int satip_bind_ports(stream_t *access)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritBool
      Src: /src/vlc/modules/access/satip.c:632,1
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/access/satip.c:634,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/satip.c:638,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/satip.c:640,1
    - Dst: strdup
      Src: /src/vlc/modules/access/satip.c:650,1
    - Dst: free
      Src: /src/vlc/modules/access/satip.c:653,1
    - Dst: strlen
      Src: /src/vlc/modules/access/satip.c:657,1
    - Dst: tolower
      Src: /src/vlc/modules/access/satip.c:658,1
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/access/satip.c:660,1
    - Dst: strdup
      Src: /src/vlc/modules/access/satip.c:664,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/satip.c:670,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/satip.c:674,1
    - Dst: net_Connect
      Src: /src/vlc/modules/access/satip.c:675,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/satip.c:677,1
    - Dst: setsockopt
      Src: /src/vlc/modules/access/satip.c:681,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/satip.c:683,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/access/satip.c:695,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/access/satip.c:701,1
    - Dst: vlc_uri_compose
      Src: /src/vlc/modules/access/satip.c:706,1
    - Dst: net_Printf
      Src: /src/vlc/modules/access/satip.c:711,1
    - Dst: satip_bind_ports
      Src: /src/vlc/modules/access/satip.c:719,1
    - Dst: free
      Src: /src/vlc/modules/access/satip.c:720,1
    - Dst: net_Printf
      Src: /src/vlc/modules/access/satip.c:724,1
    - Dst: free
      Src: /src/vlc/modules/access/satip.c:731,1
    - Dst: rtsp_handle
      Src: /src/vlc/modules/access/satip.c:734,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/satip.c:735,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/satip.c:739,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/satip.c:745,1
    - Dst: vlc_msleep_i11e
      Src: /src/vlc/modules/access/satip.c:751,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/satip.c:751,1
    - Dst: net_OpenDgram
      Src: /src/vlc/modules/access/satip.c:756,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/satip.c:758,1
    - Dst: net_OpenDgram
      Src: /src/vlc/modules/access/satip.c:762,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/satip.c:764,1
    - Dst: net_Printf
      Src: /src/vlc/modules/access/satip.c:769,1
    - Dst: rtsp_handle
      Src: /src/vlc/modules/access/satip.c:776,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/satip.c:777,1
    - Dst: vlc_queue_Init
      Src: /src/vlc/modules/access/satip.c:781,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/access/satip.c:783,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/satip.c:784,1
    - Dst: free
      Src: /src/vlc/modules/access/satip.c:791,1
    - Dst: free
      Src: /src/vlc/modules/access/satip.c:792,1
    - Dst: free
      Src: /src/vlc/modules/access/satip.c:796,1
    - Dst: free
      Src: /src/vlc/modules/access/satip.c:797,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/satip.c:798,1
    - Dst: satip_teardown
      Src: /src/vlc/modules/access/satip.c:800,1
    - Dst: net_Close
      Src: /src/vlc/modules/access/satip.c:803,1
    - Dst: net_Close
      Src: /src/vlc/modules/access/satip.c:805,1
    - Dst: net_Close
      Src: /src/vlc/modules/access/satip.c:807,1
    - Dst: free
      Src: /src/vlc/modules/access/satip.c:809,1
    - Dst: free
      Src: /src/vlc/modules/access/satip.c:810,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 126
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 626
    functionDepth: 4
    functionLinenumber: 626
    functionLinenumberEnd: 812
    functionName: satip_open
    functionSourceFile: /src/vlc/modules/access/satip.c
    functionUses: 0
    functionsReached:
    - net_Close
    - tolower
    - net_Printf
    - vlc_obj_calloc
    - asprintf
    - vlc_uri_compose
    - msg_Err
    - msg_Dbg
    - rtsp_handle
    - msg_Warn
    - vlc_UrlClean
    - vlc_UrlParse
    - net_Connect
    - strdup
    - satip_bind_ports
    - var_InheritBool
    - setsockopt
    - strncasecmp
    - var_InheritString
    - vlc_clone
    - strlen
    - vlc_queue_Init
    - VLC_TICK_FROM_MS
    - satip_teardown
    - net_OpenDgram
    - free
    - vlc_msleep_i11e
    linkageType: ''
    returnType: int
    signature: int satip_open(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_cancel
      Src: /src/vlc/modules/access/satip.c:819,1
    - Dst: vlc_join
      Src: /src/vlc/modules/access/satip.c:820,1
    - Dst: satip_teardown
      Src: /src/vlc/modules/access/satip.c:822,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/access/satip.c:824,1
    - Dst: vlc_queue_DequeueAll
      Src: /src/vlc/modules/access/satip.c:824,1
    - Dst: net_Close
      Src: /src/vlc/modules/access/satip.c:825,1
    - Dst: net_Close
      Src: /src/vlc/modules/access/satip.c:826,1
    - Dst: net_Close
      Src: /src/vlc/modules/access/satip.c:827,1
    - Dst: free
      Src: /src/vlc/modules/access/satip.c:828,1
    - Dst: free
      Src: /src/vlc/modules/access/satip.c:829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 814
    functionDepth: 4
    functionLinenumber: 814
    functionLinenumberEnd: 830
    functionName: satip_close
    functionSourceFile: /src/vlc/modules/access/satip.c
    functionUses: 0
    functionsReached:
    - vlc_cancel
    - block_ChainRelease
    - net_Close
    - satip_teardown
    - free
    - vlc_join
    - vlc_queue_DequeueAll
    linkageType: ''
    returnType: void
    signature: void satip_close(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pos
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: FILE_SIZE
    functionSourceFile: /src/vlc/modules/access/vdr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILE_SIZE(pos)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/access/vdr.c:169,1
    - Dst: BaseName
      Src: /src/vlc/modules/access/vdr.c:178,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/vdr.c:179,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/vdr.c:180,1
    - Dst: vlc_stat
      Src: /src/vlc/modules/access/vdr.c:187,1
    - Dst: S_ISDIR
      Src: /src/vlc/modules/access/vdr.c:188,1
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/access/vdr.c:191,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/vdr.c:193,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/access/vdr.c:199,1
    - Dst: ARRAY_INIT
      Src: /src/vlc/modules/access/vdr.c:200,1
    - Dst: ScanDirectory
      Src: /src/vlc/modules/access/vdr.c:203,1
    - Dst: SwitchFile
      Src: /src/vlc/modules/access/vdr.c:204,1
    - Dst: Close
      Src: /src/vlc/modules/access/vdr.c:206,1
    - Dst: ACCESS_SET_CALLBACKS
      Src: /src/vlc/modules/access/vdr.c:210,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 212
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/vdr.c
    functionUses: 4
    functionsReached:
    - sscanf
    - var_InheritFloat
    - ScanDirectory
    - Close
    - S_ISDIR
    - SwitchFile
    - unlikely
    - strcmp
    - ARRAY_INIT
    - strcasecmp
    - ACCESS_SET_CALLBACKS
    - vlc_stat
    - vlc_obj_calloc
    - BaseName
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_close
      Src: /src/vlc/modules/access/vdr.c:223,1
    - Dst: ARRAY_RESET
      Src: /src/vlc/modules/access/vdr.c:224,1
    - Dst: vlc_meta_Delete
      Src: /src/vlc/modules/access/vdr.c:227,1
    - Dst: free
      Src: /src/vlc/modules/access/vdr.c:229,1
    - Dst: vlc_input_title_Delete
      Src: /src/vlc/modules/access/vdr.c:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 231
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/vdr.c
    functionUses: 26
    functionsReached:
    - vlc_meta_Delete
    - vlc_input_title_Delete
    - ARRAY_RESET
    - vlc_close
    - free
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t * p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ImportNextFile
      Src: /src/vlc/modules/access/vdr.c:242,1
    - Dst: ImportNextFile
      Src: /src/vlc/modules/access/vdr.c:245,1
    - Dst: ImportNextFile
      Src: /src/vlc/modules/access/vdr.c:250,1
    - Dst: ImportMeta
      Src: /src/vlc/modules/access/vdr.c:254,1
    - Dst: ImportMarks
      Src: /src/vlc/modules/access/vdr.c:257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 260
    functionName: ScanDirectory
    functionSourceFile: /src/vlc/modules/access/vdr.c
    functionUses: 1
    functionsReached:
    - ImportNextFile
    - ImportMarks
    - ImportMeta
    linkageType: ''
    returnType: bool
    signature: bool ScanDirectory( stream_t *p_access )
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/vdr.c:278,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/vdr.c:282,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/vdr.c:286,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/vdr.c:287,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/vdr.c:287,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/vdr.c:298,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/vdr.c:299,1
    - Dst: malloc
      Src: /src/vlc/modules/access/vdr.c:300,1
    - Dst: vlc_input_title_Duplicate
      Src: /src/vlc/modules/access/vdr.c:303,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/vdr.c:307,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/vdr.c:311,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/vdr.c:315,1
    - Dst: strdup
      Src: /src/vlc/modules/access/vdr.c:316,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/vdr.c:324,1
    - Dst: Seek
      Src: /src/vlc/modules/access/vdr.c:325,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/vdr.c:328,1
    - Dst: vlc_meta_Merge
      Src: /src/vlc/modules/access/vdr.c:329,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 3
    argNames:
    - p_access
    - i_query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 336
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/vdr.c
    functionUses: 18
    functionsReached:
    - strdup
    - vlc_input_title_Duplicate
    - var_InheritInteger
    - VLC_TICK_FROM_MS
    - Seek
    - vlc_meta_Merge
    - va_arg
    - malloc
    linkageType: ''
    returnType: int
    signature: int Control( stream_t *p_access, int i_query, va_list args )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/vlc/modules/access/vdr.c:349,1
    - Dst: UpdateFileSize
      Src: /src/vlc/modules/access/vdr.c:355,1
    - Dst: FindSeekpoint
      Src: /src/vlc/modules/access/vdr.c:356,1
    - Dst: ImportNextFile
      Src: /src/vlc/modules/access/vdr.c:363,1
    - Dst: SwitchFile
      Src: /src/vlc/modules/access/vdr.c:365,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vdr.c:376,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/vdr.c:376,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/access/vdr.c:377,1
    - Dst: _
      Src: /src/vlc/modules/access/vdr.c:377,1
    - Dst: _
      Src: /src/vlc/modules/access/vdr.c:378,1
    - Dst: vlc_strerror
      Src: /src/vlc/modules/access/vdr.c:379,1
    - Dst: SwitchFile
      Src: /src/vlc/modules/access/vdr.c:380,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - p_access
    - p_buffer
    - i_len
    argTypes:
    - stream_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 383
    functionName: Read
    functionSourceFile: /src/vlc/modules/access/vdr.c
    functionUses: 16
    functionsReached:
    - vlc_strerror_c
    - vlc_strerror
    - vlc_dialog_display_error
    - SwitchFile
    - read
    - _
    - msg_Err
    - ImportNextFile
    - UpdateFileSize
    - FindSeekpoint
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Read( stream_t *p_access, void *p_buffer, size_t i_len )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __MIN
      Src: /src/vlc/modules/access/vdr.c:393,1
    - Dst: FindSeekpoint
      Src: /src/vlc/modules/access/vdr.c:398,1
    - Dst: FILE_SIZE
      Src: /src/vlc/modules/access/vdr.c:403,1
    - Dst: FILE_SIZE
      Src: /src/vlc/modules/access/vdr.c:405,1
    - Dst: SwitchFile
      Src: /src/vlc/modules/access/vdr.c:408,1
    - Dst: lseek
      Src: /src/vlc/modules/access/vdr.c:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - p_access
    - i_pos
    argTypes:
    - stream_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 414
    functionName: Seek
    functionSourceFile: /src/vlc/modules/access/vdr.c
    functionUses: 8
    functionsReached:
    - SwitchFile
    - FILE_SIZE
    - lseek
    - __MIN
    - FindSeekpoint
    linkageType: ''
    returnType: int
    signature: int Seek( stream_t *p_access, uint64_t i_pos )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 440
    functionName: FindSeekpoint
    functionSourceFile: /src/vlc/modules/access/vdr.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FindSeekpoint( stream_t *p_access )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/vlc/modules/access/vdr.c:450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_access
    - i_file
    argTypes:
    - stream_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 445
    functionDepth: 2
    functionLinenumber: 445
    functionLinenumberEnd: 456
    functionName: GetFilePath
    functionSourceFile: /src/vlc/modules/access/vdr.c
    functionUses: 0
    functionsReached:
    - asprintf
    linkageType: ''
    returnType: char
    signature: char *GetFilePath( stream_t *p_access, unsigned i_file )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetFilePath
      Src: /src/vlc/modules/access/vdr.c:465,1
    - Dst: vlc_stat
      Src: /src/vlc/modules/access/vdr.c:470,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/vdr.c:472,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/vdr.c:473,1
    - Dst: free
      Src: /src/vlc/modules/access/vdr.c:474,1
    - Dst: S_ISREG
      Src: /src/vlc/modules/access/vdr.c:477,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/vdr.c:479,1
    - Dst: free
      Src: /src/vlc/modules/access/vdr.c:480,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/vdr.c:483,1
    - Dst: free
      Src: /src/vlc/modules/access/vdr.c:484,1
    - Dst: ARRAY_APPEND
      Src: /src/vlc/modules/access/vdr.c:486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 461
    functionDepth: 3
    functionLinenumber: 461
    functionLinenumberEnd: 490
    functionName: ImportNextFile
    functionSourceFile: /src/vlc/modules/access/vdr.c
    functionUses: 2
    functionsReached:
    - vlc_strerror_c
    - GetFilePath
    - free
    - S_ISREG
    - msg_Dbg
    - vlc_stat
    - ARRAY_APPEND
    linkageType: ''
    returnType: bool
    signature: bool ImportNextFile( stream_t *p_access )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_close
      Src: /src/vlc/modules/access/vdr.c:506,1
    - Dst: GetFilePath
      Src: /src/vlc/modules/access/vdr.c:516,1
    - Dst: vlc_open
      Src: /src/vlc/modules/access/vdr.c:519,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vdr.c:523,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/vdr.c:524,1
    - Dst: fstat
      Src: /src/vlc/modules/access/vdr.c:530,1
    - Dst: S_ISREG
      Src: /src/vlc/modules/access/vdr.c:530,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vdr.c:532,1
    - Dst: OptimizeForRead
      Src: /src/vlc/modules/access/vdr.c:536,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/vdr.c:538,1
    - Dst: free
      Src: /src/vlc/modules/access/vdr.c:539,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/access/vdr.c:543,1
    - Dst: _
      Src: /src/vlc/modules/access/vdr.c:543,1
    - Dst: _
      Src: /src/vlc/modules/access/vdr.c:543,1
    - Dst: vlc_strerror
      Src: /src/vlc/modules/access/vdr.c:544,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/vdr.c:547,1
    - Dst: free
      Src: /src/vlc/modules/access/vdr.c:550,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 2
    argNames:
    - p_access
    - i_file
    argTypes:
    - stream_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 495
    functionDepth: 3
    functionLinenumber: 495
    functionLinenumberEnd: 552
    functionName: SwitchFile
    functionSourceFile: /src/vlc/modules/access/vdr.c
    functionUses: 3
    functionsReached:
    - vlc_open
    - vlc_strerror_c
    - vlc_strerror
    - vlc_dialog_display_error
    - fstat
    - vlc_close
    - GetFilePath
    - _
    - msg_Err
    - free
    - S_ISREG
    - OptimizeForRead
    - msg_Dbg
    linkageType: ''
    returnType: bool
    signature: bool SwitchFile( stream_t *p_access, unsigned i_file )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/vdr.c:560,1
    - Dst: posix_fadvise
      Src: /src/vlc/modules/access/vdr.c:562,1
    - Dst: posix_fadvise
      Src: /src/vlc/modules/access/vdr.c:563,1
    - Dst: fcntl
      Src: /src/vlc/modules/access/vdr.c:566,1
    - Dst: fcntl
      Src: /src/vlc/modules/access/vdr.c:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 571
    functionName: OptimizeForRead
    functionSourceFile: /src/vlc/modules/access/vdr.c
    functionUses: 1
    functionsReached:
    - posix_fadvise
    - fcntl
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void OptimizeForRead( int fd )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/vlc/modules/access/vdr.c:585,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 593
    functionName: UpdateFileSize
    functionSourceFile: /src/vlc/modules/access/vdr.c
    functionUses: 1
    functionsReached:
    - fstat
    linkageType: ''
    returnType: void
    signature: void UpdateFileSize( stream_t *p_access )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/vlc/modules/access/vdr.c:604,1
    - Dst: vlc_fopen
      Src: /src/vlc/modules/access/vdr.c:608,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/vdr.c:610,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/vdr.c:611,1
    - Dst: free
      Src: /src/vlc/modules/access/vdr.c:612,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - p_access
    - psz_file
    argTypes:
    - stream_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 598
    functionDepth: 2
    functionLinenumber: 598
    functionLinenumberEnd: 615
    functionName: OpenRelativeFile
    functionSourceFile: /src/vlc/modules/access/vdr.c
    functionUses: 0
    functionsReached:
    - asprintf
    - vlc_strerror_c
    - free
    - vlc_fopen
    - msg_Warn
    linkageType: ''
    returnType: FILE
    signature: FILE *OpenRelativeFile( stream_t *p_access, const char *psz_file )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getline
      Src: /src/vlc/modules/access/vdr.c:622,1
    - Dst: free
      Src: /src/vlc/modules/access/vdr.c:627,1
    - Dst: EnsureUTF8
      Src: /src/vlc/modules/access/vdr.c:634,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ppsz_line
    - pi_size
    - p_file
    argTypes:
    - char**
    - size_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 620
    functionDepth: 2
    functionLinenumber: 620
    functionLinenumberEnd: 637
    functionName: ReadLine
    functionSourceFile: /src/vlc/modules/access/vdr.c
    functionUses: 2
    functionsReached:
    - free
    - getline
    - EnsureUTF8
    linkageType: ''
    returnType: bool
    signature: bool ReadLine( char **ppsz_line, size_t *pi_size, FILE *p_file )
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: OpenRelativeFile
      Src: /src/vlc/modules/access/vdr.c:646,1
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/access/vdr.c:650,1
    - Dst: fclose
      Src: /src/vlc/modules/access/vdr.c:654,1
    - Dst: ReadLine
      Src: /src/vlc/modules/access/vdr.c:662,1
    - Dst: isalpha
      Src: /src/vlc/modules/access/vdr.c:664,1
    - Dst: strchr
      Src: /src/vlc/modules/access/vdr.c:672,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/access/vdr.c:676,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/access/vdr.c:678,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/vdr.c:684,1
    - Dst: localtime_r
      Src: /src/vlc/modules/access/vdr.c:689,1
    - Dst: strftime
      Src: /src/vlc/modules/access/vdr.c:692,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/access/vdr.c:693,1
    - Dst: free
      Src: /src/vlc/modules/access/vdr.c:694,1
    - Dst: strdup
      Src: /src/vlc/modules/access/vdr.c:695,1
    - Dst: snprintf
      Src: /src/vlc/modules/access/vdr.c:699,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/access/vdr.c:700,1
    - Dst: free
      Src: /src/vlc/modules/access/vdr.c:706,1
    - Dst: strdup
      Src: /src/vlc/modules/access/vdr.c:707,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/access/vdr.c:708,1
    - Dst: free
      Src: /src/vlc/modules/access/vdr.c:713,1
    - Dst: strdup
      Src: /src/vlc/modules/access/vdr.c:714,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/access/vdr.c:715,1
    - Dst: vlc_meta_SetDescription
      Src: /src/vlc/modules/access/vdr.c:725,1
    - Dst: atof
      Src: /src/vlc/modules/access/vdr.c:731,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/access/vdr.c:734,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/access/vdr.c:739,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/access/vdr.c:744,1
    - Dst: strlen
      Src: /src/vlc/modules/access/vdr.c:750,1
    - Dst: strlen
      Src: /src/vlc/modules/access/vdr.c:751,1
    - Dst: strlen
      Src: /src/vlc/modules/access/vdr.c:752,1
    - Dst: malloc
      Src: /src/vlc/modules/access/vdr.c:753,1
    - Dst: strcat
      Src: /src/vlc/modules/access/vdr.c:759,1
    - Dst: strcat
      Src: /src/vlc/modules/access/vdr.c:761,1
    - Dst: strcat
      Src: /src/vlc/modules/access/vdr.c:763,1
    - Dst: strcat
      Src: /src/vlc/modules/access/vdr.c:766,1
    - Dst: strcat
      Src: /src/vlc/modules/access/vdr.c:767,1
    - Dst: strcat
      Src: /src/vlc/modules/access/vdr.c:768,1
    - Dst: vlc_meta_SetTitle
      Src: /src/vlc/modules/access/vdr.c:771,1
    - Dst: free
      Src: /src/vlc/modules/access/vdr.c:774,1
    - Dst: free
      Src: /src/vlc/modules/access/vdr.c:775,1
    - Dst: free
      Src: /src/vlc/modules/access/vdr.c:776,1
    - Dst: free
      Src: /src/vlc/modules/access/vdr.c:777,1
    - Dst: fclose
      Src: /src/vlc/modules/access/vdr.c:779,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 80
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 642
    functionDepth: 3
    functionLinenumber: 642
    functionLinenumberEnd: 780
    functionName: ImportMeta
    functionSourceFile: /src/vlc/modules/access/vdr.c
    functionUses: 1
    functionsReached:
    - sscanf
    - strchr
    - OpenRelativeFile
    - fclose
    - isalpha
    - vlc_meta_New
    - ReadLine
    - atof
    - strcat
    - snprintf
    - strdup
    - vlc_meta_SetDescription
    - localtime_r
    - vlc_meta_SetExtra
    - vlc_meta_SetTitle
    - strlen
    - free
    - strftime
    - malloc
    linkageType: ''
    returnType: void
    signature: void ImportMeta( stream_t *p_access )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: OpenRelativeFile
      Src: /src/vlc/modules/access/vdr.c:789,1
    - Dst: OpenRelativeFile
      Src: /src/vlc/modules/access/vdr.c:793,1
    - Dst: fclose
      Src: /src/vlc/modules/access/vdr.c:796,1
    - Dst: fstat
      Src: /src/vlc/modules/access/vdr.c:802,1
    - Dst: fileno
      Src: /src/vlc/modules/access/vdr.c:802,1
    - Dst: fclose
      Src: /src/vlc/modules/access/vdr.c:804,1
    - Dst: fclose
      Src: /src/vlc/modules/access/vdr.c:805,1
    - Dst: vlc_input_title_New
      Src: /src/vlc/modules/access/vdr.c:811,1
    - Dst: fclose
      Src: /src/vlc/modules/access/vdr.c:814,1
    - Dst: fclose
      Src: /src/vlc/modules/access/vdr.c:815,1
    - Dst: strdup
      Src: /src/vlc/modules/access/vdr.c:818,1
    - Dst: _
      Src: /src/vlc/modules/access/vdr.c:818,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/vdr.c:825,1
    - Dst: ReadLine
      Src: /src/vlc/modules/access/vdr.c:837,1
    - Dst: ParseFrameNumber
      Src: /src/vlc/modules/access/vdr.c:839,1
    - Dst: ReadIndexRecord
      Src: /src/vlc/modules/access/vdr.c:855,1
    - Dst: vlc_seekpoint_New
      Src: /src/vlc/modules/access/vdr.c:862,1
    - Dst: strdup
      Src: /src/vlc/modules/access/vdr.c:866,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/access/vdr.c:868,1
    - Dst: xrealloc
      Src: /src/vlc/modules/access/vdr.c:869,1
    - Dst: FILE_SIZE
      Src: /src/vlc/modules/access/vdr.c:872,1
    - Dst: vlc_seekpoint_New
      Src: /src/vlc/modules/access/vdr.c:880,1
    - Dst: strdup
      Src: /src/vlc/modules/access/vdr.c:884,1
    - Dst: _
      Src: /src/vlc/modules/access/vdr.c:884,1
    - Dst: TAB_INSERT
      Src: /src/vlc/modules/access/vdr.c:885,1
    - Dst: xrealloc
      Src: /src/vlc/modules/access/vdr.c:886,1
    - Dst: memmove
      Src: /src/vlc/modules/access/vdr.c:888,1
    - Dst: vlc_input_title_Delete
      Src: /src/vlc/modules/access/vdr.c:901,1
    - Dst: free
      Src: /src/vlc/modules/access/vdr.c:902,1
    - Dst: fclose
      Src: /src/vlc/modules/access/vdr.c:905,1
    - Dst: fclose
      Src: /src/vlc/modules/access/vdr.c:906,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 785
    functionDepth: 3
    functionLinenumber: 785
    functionLinenumberEnd: 907
    functionName: ImportMarks
    functionSourceFile: /src/vlc/modules/access/vdr.c
    functionUses: 1
    functionsReached:
    - TAB_INSERT
    - OpenRelativeFile
    - fclose
    - fstat
    - _
    - ReadLine
    - vlc_input_title_New
    - strdup
    - var_InheritInteger
    - TAB_APPEND
    - vlc_seekpoint_New
    - fileno
    - xrealloc
    - vlc_input_title_Delete
    - ParseFrameNumber
    - ReadIndexRecord
    - FILE_SIZE
    - memmove
    - free
    linkageType: ''
    returnType: void
    signature: void ImportMarks( stream_t *p_access )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fseek
      Src: /src/vlc/modules/access/vdr.c:916,1
    - Dst: fread
      Src: /src/vlc/modules/access/vdr.c:918,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/access/vdr.c:925,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/access/vdr.c:926,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/access/vdr.c:931,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - p_file
    - b_ts
    - i_frame
    - pi_offset
    - pi_file_num
    argTypes:
    - FILE*
    - bool
    - int64_t
    - uint64_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 936
    functionName: ReadIndexRecord
    functionSourceFile: /src/vlc/modules/access/vdr.c
    functionUses: 1
    functionsReached:
    - GetQWLE
    - fread
    - fseek
    - UINT64_C
    - GetDWLE
    linkageType: ''
    returnType: bool
    signature: "bool ReadIndexRecord( FILE *p_file, bool b_ts, int64_t i_frame,\n
      \                           uint64_t *pi_offset, uint16_t *pi_file_num )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/vlc/modules/access/vdr.c:946,1
    - Dst: __MAX
      Src: /src/vlc/modules/access/vdr.c:952,1
    - Dst: strtoll
      Src: /src/vlc/modules/access/vdr.c:956,1
    - Dst: __MAX
      Src: /src/vlc/modules/access/vdr.c:957,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - psz_line
    - fps
    argTypes:
    - char*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 941
    functionDepth: 1
    functionLinenumber: 941
    functionLinenumberEnd: 958
    functionName: ParseFrameNumber
    functionSourceFile: /src/vlc/modules/access/vdr.c
    functionUses: 1
    functionsReached:
    - sscanf
    - __MAX
    - strtoll
    linkageType: ''
    returnType: int64_t
    signature: int64_t ParseFrameNumber( const char *psz_line, float fps )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/access/vdr.c:965,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - psz_path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 976
    functionName: BaseName
    functionSourceFile: /src/vlc/modules/access/vdr.c
    functionUses: 1
    functionsReached:
    - strlen
    linkageType: ''
    returnType: char
    signature: char *BaseName( const char *psz_path )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: cmpvlctickp
    functionSourceFile: /src/vlc/modules/access/live555_dtsgen.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmpvlctickp(const void *p1, const void *p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct dtsgen_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: dtsgen_Init
    functionSourceFile: /src/vlc/modules/access/live555_dtsgen.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dtsgen_Init(struct dtsgen_t *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct dtsgen_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: dtsgen_Resync
    functionSourceFile: /src/vlc/modules/access/live555_dtsgen.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dtsgen_Resync(struct dtsgen_t *d)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/vlc/modules/access/live555_dtsgen.h:126,1
    - Dst: qsort
      Src: /src/vlc/modules/access/live555_dtsgen.h:136,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - d
    - i_pts
    argTypes:
    - struct dtsgen_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 137
    functionName: dtsgen_AddNextPTS
    functionSourceFile: /src/vlc/modules/access/live555_dtsgen.h
    functionUses: 1
    functionsReached:
    - memmove
    - qsort
    linkageType: ''
    returnType: void
    signature: void dtsgen_AddNextPTS(struct dtsgen_t *d, vlc_tick_t i_pts)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: __MAX
      Src: /src/vlc/modules/access/live555_dtsgen.h:154,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/live555_dtsgen.h:154,1
    - Dst: __MIN
      Src: /src/vlc/modules/access/live555_dtsgen.h:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct dtsgen_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 167
    functionName: dtsgen_GetDTS
    functionSourceFile: /src/vlc/modules/access/live555_dtsgen.h
    functionUses: 1
    functionsReached:
    - __MAX
    - VLC_TICK_FROM_MS
    - __MIN
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t dtsgen_GetDTS(struct dtsgen_t *d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/live555_dtsgen.h:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - p_demux
    - d
    - dts
    - pts
    argTypes:
    - vlc_object_t*
    - struct dtsgen_t*
    - vlc_tick_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 181
    functionName: dtsgen_Debug
    functionSourceFile: /src/vlc/modules/access/live555_dtsgen.h
    functionUses: 1
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: "void dtsgen_Debug(vlc_object_t *p_demux, struct dtsgen_t *d,\n                         vlc_tick_t
      dts, vlc_tick_t pts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tls_Read
      Src: /src/vlc/modules/access/tcp.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - access
    - buf
    - len
    argTypes:
    - stream_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: Read
    functionSourceFile: /src/vlc/modules/access/tcp.c
    functionUses: 18
    functionsReached:
    - vlc_tls_Read
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Read(stream_t *access, void *buf, size_t len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/tcp.c:48,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/tcp.c:52,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/tcp.c:56,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/tcp.c:61,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/tcp.c:62,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/tcp.c:62,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - p_access
    - i_query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 73
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/tcp.c
    functionUses: 18
    functionsReached:
    - var_InheritInteger
    - va_arg
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: int
    signature: int Control( stream_t *p_access, int i_query, va_list args )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/access/tcp.c:81,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/tcp.c:84,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/tcp.c:85,1
    - Dst: vlc_tls_SocketOpenTCP
      Src: /src/vlc/modules/access/tcp.c:89,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/tcp.c:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 100
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/tcp.c
    functionUses: 4
    functionsReached:
    - vlc_UrlParse
    - vlc_UrlClean
    - vlc_tls_SocketOpenTCP
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tls_SessionDelete
      Src: /src/vlc/modules/access/tcp.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/tcp.c
    functionUses: 26
    functionsReached:
    - vlc_tls_SessionDelete
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dc1394.c:98,1
    - Dst: dc1394_camera_enumerate
      Src: /src/vlc/modules/access/dc1394.c:100,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dc1394.c:102,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dc1394.c:108,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dc1394.c:113,1
    - Dst: dc1394_camera_new
      Src: /src/vlc/modules/access/dc1394.c:122,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dc1394.c:130,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dc1394.c:137,1
    - Dst: dc1394_camera_new
      Src: /src/vlc/modules/access/dc1394.c:143,1
    - Dst: dc1394_camera_new
      Src: /src/vlc/modules/access/dc1394.c:148,1
    - Dst: dc1394_camera_free_list
      Src: /src/vlc/modules/access/dc1394.c:155,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 2
    argNames:
    - sys
    - p_demux
    argTypes:
    - demux_sys_t*
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 157
    functionName: FindCamera
    functionSourceFile: /src/vlc/modules/access/dc1394.c
    functionUses: 0
    functionsReached:
    - dc1394_camera_new
    - msg_Err
    - msg_Dbg
    - dc1394_camera_enumerate
    - dc1394_camera_free_list
    linkageType: ''
    returnType: int
    signature: int FindCamera( demux_sys_t *sys, demux_t *p_demux )
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/access/dc1394.c:176,1
    - Dst: memset
      Src: /src/vlc/modules/access/dc1394.c:180,1
    - Dst: process_options
      Src: /src/vlc/modules/access/dc1394.c:196,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dc1394.c:198,1
    - Dst: dc1394_new
      Src: /src/vlc/modules/access/dc1394.c:204,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dc1394.c:207,1
    - Dst: FindCamera
      Src: /src/vlc/modules/access/dc1394.c:211,1
    - Dst: dc1394_free
      Src: /src/vlc/modules/access/dc1394.c:213,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dc1394.c:219,1
    - Dst: dc1394_free
      Src: /src/vlc/modules/access/dc1394.c:220,1
    - Dst: dc1394_reset_bus
      Src: /src/vlc/modules/access/dc1394.c:226,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dc1394.c:228,1
    - Dst: Close
      Src: /src/vlc/modules/access/dc1394.c:229,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dc1394.c:232,1
    - Dst: dc1394_camera_reset
      Src: /src/vlc/modules/access/dc1394.c:235,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dc1394.c:237,1
    - Dst: Close
      Src: /src/vlc/modules/access/dc1394.c:238,1
    - Dst: dc1394_camera_print_info
      Src: /src/vlc/modules/access/dc1394.c:242,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dc1394.c:245,1
    - Dst: Close
      Src: /src/vlc/modules/access/dc1394.c:246,1
    - Dst: dc1394_feature_get_all
      Src: /src/vlc/modules/access/dc1394.c:250,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dc1394.c:253,1
    - Dst: Close
      Src: /src/vlc/modules/access/dc1394.c:254,1
    - Dst: dc1394_feature_print_all
      Src: /src/vlc/modules/access/dc1394.c:258,1
    - Dst: dc1394_capture_set_device_filename
      Src: /src/vlc/modules/access/dc1394.c:263,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dc1394.c:266,1
    - Dst: Close
      Src: /src/vlc/modules/access/dc1394.c:267,1
    - Dst: dc1394_feature_set_value
      Src: /src/vlc/modules/access/dc1394.c:275,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dc1394.c:279,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dc1394.c:283,1
    - Dst: dc1394_feature_set_value
      Src: /src/vlc/modules/access/dc1394.c:286,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dc1394.c:290,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dc1394.c:294,1
    - Dst: dc1394_video_set_framerate
      Src: /src/vlc/modules/access/dc1394.c:296,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dc1394.c:299,1
    - Dst: Close
      Src: /src/vlc/modules/access/dc1394.c:300,1
    - Dst: dc1394_video_set_mode
      Src: /src/vlc/modules/access/dc1394.c:304,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dc1394.c:307,1
    - Dst: Close
      Src: /src/vlc/modules/access/dc1394.c:308,1
    - Dst: dc1394_video_set_iso_speed
      Src: /src/vlc/modules/access/dc1394.c:312,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dc1394.c:315,1
    - Dst: Close
      Src: /src/vlc/modules/access/dc1394.c:316,1
    - Dst: dc1394_capture_setup
      Src: /src/vlc/modules/access/dc1394.c:321,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dc1394.c:328,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dc1394.c:333,1
    - Dst: Close
      Src: /src/vlc/modules/access/dc1394.c:335,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/dc1394.c:342,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dc1394.c:347,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/dc1394.c:350,1
    - Dst: dc1394_video_set_transmission
      Src: /src/vlc/modules/access/dc1394.c:353,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dc1394.c:356,1
    - Dst: dc1394_capture_stop
      Src: /src/vlc/modules/access/dc1394.c:357,1
    - Dst: Close
      Src: /src/vlc/modules/access/dc1394.c:358,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dc1394.c:361,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 117
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 364
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/dc1394.c
    functionUses: 4
    functionsReached:
    - dc1394_feature_set_value
    - dc1394_camera_reset
    - es_format_Init
    - dc1394_reset_bus
    - dc1394_feature_print_all
    - vlc_obj_calloc
    - dc1394_video_set_iso_speed
    - dc1394_capture_stop
    - dc1394_feature_get_all
    - dc1394_new
    - FindCamera
    - msg_Err
    - msg_Dbg
    - dc1394_camera_print_info
    - dc1394_video_set_mode
    - dc1394_video_set_framerate
    - dc1394_free
    - Close
    - dc1394_capture_setup
    - dc1394_capture_set_device_filename
    - memset
    - dc1394_video_set_transmission
    - es_out_Add
    - process_options
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dc1394_video_set_transmission
      Src: /src/vlc/modules/access/dc1394.c:375,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dc1394.c:377,1
    - Dst: dc1394_capture_stop
      Src: /src/vlc/modules/access/dc1394.c:380,1
    - Dst: dc1394_camera_free
      Src: /src/vlc/modules/access/dc1394.c:382,1
    - Dst: dc1394_free
      Src: /src/vlc/modules/access/dc1394.c:383,1
    - Dst: free
      Src: /src/vlc/modules/access/dc1394.c:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 386
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/dc1394.c
    functionUses: 27
    functionsReached:
    - dc1394_capture_stop
    - msg_Err
    - dc1394_video_set_transmission
    - free
    - dc1394_free
    - dc1394_camera_free
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 4
    argNames:
    - src
    - spos
    - dst
    - dpos
    argTypes:
    - void*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 419
    functionName: MovePixelUYVY
    functionSourceFile: /src/vlc/modules/access/dc1394.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MovePixelUYVY( void *src, int spos, void *dst, int dpos )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dc1394_capture_dequeue
      Src: /src/vlc/modules/access/dc1394.c:430,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dc1394.c:434,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/dc1394.c:438,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dc1394.c:441,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dc1394.c:447,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/dc1394.c:448,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/dc1394.c:452,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/dc1394.c:455,1
    - Dst: dc1394_capture_enqueue
      Src: /src/vlc/modules/access/dc1394.c:456,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 458
    functionName: GrabVideo
    functionSourceFile: /src/vlc/modules/access/dc1394.c
    functionUses: 0
    functionsReached:
    - block_Release
    - vlc_tick_now
    - dc1394_capture_dequeue
    - memcpy
    - msg_Err
    - block_Alloc
    - dc1394_capture_enqueue
    linkageType: ''
    returnType: block_t
    signature: block_t *GrabVideo( demux_t *p_demux )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GrabVideo
      Src: /src/vlc/modules/access/dc1394.c:466,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/access/dc1394.c:473,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/dc1394.c:479,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/dc1394.c:480,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 483
    functionName: Demux
    functionSourceFile: /src/vlc/modules/access/dc1394.c
    functionUses: 1
    functionsReached:
    - GrabVideo
    - es_out_Send
    - es_out_SetPCR
    - vlc_tick_sleep
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dc1394.c:490,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dc1394.c:497,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dc1394.c:501,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dc1394.c:505,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/dc1394.c:505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 513
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/dc1394.c
    functionUses: 18
    functionsReached:
    - vlc_tick_now
    - va_arg
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/access/dc1394.c:526,1
    - Dst: strtok_r
      Src: /src/vlc/modules/access/dc1394.c:528,1
    - Dst: strtok_r
      Src: /src/vlc/modules/access/dc1394.c:529,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dc1394.c:531,1
    - Dst: strlen
      Src: /src/vlc/modules/access/dc1394.c:531,1
    - Dst: strlen
      Src: /src/vlc/modules/access/dc1394.c:533,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dc1394.c:534,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dc1394.c:539,1
    - Dst: free
      Src: /src/vlc/modules/access/dc1394.c:543,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dc1394.c:551,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dc1394.c:557,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dc1394.c:565,1
    - Dst: free
      Src: /src/vlc/modules/access/dc1394.c:570,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dc1394.c:573,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dc1394.c:575,1
    - Dst: strlen
      Src: /src/vlc/modules/access/dc1394.c:575,1
    - Dst: strlen
      Src: /src/vlc/modules/access/dc1394.c:577,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dc1394.c:578,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dc1394.c:582,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dc1394.c:586,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dc1394.c:590,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dc1394.c:594,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dc1394.c:598,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dc1394.c:604,1
    - Dst: free
      Src: /src/vlc/modules/access/dc1394.c:605,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dc1394.c:608,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dc1394.c:610,1
    - Dst: strlen
      Src: /src/vlc/modules/access/dc1394.c:610,1
    - Dst: strlen
      Src: /src/vlc/modules/access/dc1394.c:612,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/dc1394.c:613,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dc1394.c:628,1
    - Dst: free
      Src: /src/vlc/modules/access/dc1394.c:633,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dc1394.c:636,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dc1394.c:638,1
    - Dst: strlen
      Src: /src/vlc/modules/access/dc1394.c:638,1
    - Dst: strlen
      Src: /src/vlc/modules/access/dc1394.c:640,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dc1394.c:643,1
    - Dst: strlen
      Src: /src/vlc/modules/access/dc1394.c:643,1
    - Dst: strlen
      Src: /src/vlc/modules/access/dc1394.c:646,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/dc1394.c:647,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dc1394.c:650,1
    - Dst: free
      Src: /src/vlc/modules/access/dc1394.c:653,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dc1394.c:657,1
    - Dst: strlen
      Src: /src/vlc/modules/access/dc1394.c:657,1
    - Dst: strlen
      Src: /src/vlc/modules/access/dc1394.c:661,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/dc1394.c:662,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dc1394.c:665,1
    - Dst: free
      Src: /src/vlc/modules/access/dc1394.c:666,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dc1394.c:674,1
    - Dst: strlen
      Src: /src/vlc/modules/access/dc1394.c:674,1
    - Dst: strlen
      Src: /src/vlc/modules/access/dc1394.c:677,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/dc1394.c:678,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dc1394.c:681,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dc1394.c:688,1
    - Dst: strlen
      Src: /src/vlc/modules/access/dc1394.c:688,1
    - Dst: strlen
      Src: /src/vlc/modules/access/dc1394.c:691,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/dc1394.c:692,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dc1394.c:695,1
    - Dst: free
      Src: /src/vlc/modules/access/dc1394.c:698,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dc1394.c:702,1
    - Dst: strlen
      Src: /src/vlc/modules/access/dc1394.c:702,1
    - Dst: strlen
      Src: /src/vlc/modules/access/dc1394.c:704,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dc1394.c:705,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dc1394.c:706,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dc1394.c:708,1
    - Dst: strlen
      Src: /src/vlc/modules/access/dc1394.c:708,1
    - Dst: strlen
      Src: /src/vlc/modules/access/dc1394.c:711,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/dc1394.c:712,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dc1394.c:715,1
    - Dst: free
      Src: /src/vlc/modules/access/dc1394.c:718,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dc1394.c:722,1
    - Dst: strlen
      Src: /src/vlc/modules/access/dc1394.c:722,1
    - Dst: strlen
      Src: /src/vlc/modules/access/dc1394.c:724,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/dc1394.c:725,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/dc1394.c:733,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/dc1394.c:735,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dc1394.c:736,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/dc1394.c:739,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/dc1394.c:741,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dc1394.c:742,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/dc1394.c:750,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/dc1394.c:752,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/dc1394.c:754,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/dc1394.c:756,1
    - Dst: free
      Src: /src/vlc/modules/access/dc1394.c:765,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 158
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 767
    functionName: process_options
    functionSourceFile: /src/vlc/modules/access/dc1394.c
    functionUses: 1
    functionsReached:
    - sscanf
    - strtok_r
    - strdup
    - strlen
    - msg_Err
    - strncmp
    - free
    - strcmp
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int process_options( demux_t *p_demux )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: access_sys_t*::cbs::read
      Src: /src/vlc/modules/access/imem-access.c:51,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/imem-access.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - access
    - buf
    - len
    argTypes:
    - stream_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: Read
    functionSourceFile: /src/vlc/modules/access/imem-access.c
    functionUses: 18
    functionsReached:
    - access_sys_t*::cbs::read
    - msg_Err
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Read(stream_t *access, void *buf, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/imem-access.c:65,1
    - Dst: access_sys_t*::cbs::seek
      Src: /src/vlc/modules/access/imem-access.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - access
    - offset
    argTypes:
    - stream_t*
    - uint64_t
    assertStmts:
    - condition: (sys->cbs->seek != NULL)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/vlc/modules/access/imem-access.c
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: Seek
    functionSourceFile: /src/vlc/modules/access/imem-access.c
    functionUses: 8
    functionsReached:
    - access_sys_t*::cbs::seek
    - assert
    linkageType: ''
    returnType: int
    signature: int Seek(stream_t *access, uint64_t offset)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/imem-access.c:79,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/imem-access.c:83,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/imem-access.c:88,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/imem-access.c:94,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/imem-access.c:98,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - access
    - query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 109
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/imem-access.c
    functionUses: 18
    functionsReached:
    - va_arg
    linkageType: ''
    returnType: int
    signature: int Control(stream_t *access, int query, va_list args)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/access/imem-access.c:115,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/imem-access.c:116,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/access/imem-access.c:120,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/access/imem-access.c:121,1
    - Dst: access_sys_t*::cbs::open
      Src: /src/vlc/modules/access/imem-access.c:130,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/imem-access.c:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 142
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/imem-access.c
    functionUses: 4
    functionsReached:
    - vlc_obj_malloc
    - var_InheritAddress
    - msg_Err
    - access_sys_t*::cbs::open
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *object)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: access_sys_t*::cbs::close
      Src: /src/vlc/modules/access/imem-access.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/imem-access.c
    functionUses: 27
    functionsReached:
    - access_sys_t*::cbs::close
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *object)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/access/bluray.c:75,1
    - Dst: strndup
      Src: /src/vlc/modules/access/bluray.c:79,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/bluray.c:80,1
    - Dst: free
      Src: /src/vlc/modules/access/bluray.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - psz
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: bluray_DebugHandler
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - strndup
    - strlen
    - msg_Dbg
    - free
    linkageType: ''
    returnType: void
    signature: void bluray_DebugHandler(const char *psz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: BD_DEBUG_EVENT_ENTRY
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BD_DEBUG_EVENT_ENTRY(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: blurayDebugEvent
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: blurayDebugEvent(e, v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/bluray.c:329,1
    - Dst: likely
      Src: /src/vlc/modules/access/bluray.c:330,1
    - Dst: vlc_array_append
      Src: /src/vlc/modules/access/bluray.c:335,1
    - Dst: free
      Src: /src/vlc/modules/access/bluray.c:337,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/bluray.c:342,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/access/bluray.c:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - p_array
    - p_fmt
    - p_es
    argTypes:
    - vlc_array_t*
    - es_format_t*
    - es_out_id_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 347
    functionName: es_pair_Add
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - vlc_array_append
    - free
    - likely
    - es_format_Init
    - es_format_Copy
    - malloc
    linkageType: ''
    returnType: bool
    signature: "bool es_pair_Add(vlc_array_t *p_array, const es_format_t *p_fmt,\n
      \                       es_out_id_t *p_es)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Clean
      Src: /src/vlc/modules/access/bluray.c:351,1
    - Dst: free
      Src: /src/vlc/modules/access/bluray.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_pair
    argTypes:
    - es_pair_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 353
    functionName: es_pair_Delete
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - free
    - es_format_Clean
    linkageType: ''
    returnType: void
    signature: void es_pair_Delete(es_pair_t *p_pair)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_array_remove
      Src: /src/vlc/modules/access/bluray.c:357,1
    - Dst: vlc_array_index_of_item
      Src: /src/vlc/modules/access/bluray.c:357,1
    - Dst: es_pair_Delete
      Src: /src/vlc/modules/access/bluray.c:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_array
    - p_pair
    argTypes:
    - vlc_array_t*
    - es_pair_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 359
    functionName: es_pair_Remove
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - vlc_array_index_of_item
    - vlc_array_remove
    - es_pair_Delete
    linkageType: ''
    returnType: void
    signature: void es_pair_Remove(vlc_array_t *p_array, es_pair_t *p_pair)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_array_count
      Src: /src/vlc/modules/access/bluray.c:365,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/access/bluray.c:367,1
    - Dst: match
      Src: /src/vlc/modules/access/bluray.c:368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p_array
    - param
    argTypes:
    - vlc_array_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 372
    functionName: getEsPair
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - vlc_array_item_at_index
    - vlc_array_count
    - match
    linkageType: ''
    returnType: es_pair_t
    signature: "es_pair_t *getEsPair(vlc_array_t *p_array,\n                            bool
      (*match)(const es_pair_t *, const void *),\n                            const
      void *param)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_pair
    - p_pid
    argTypes:
    - es_pair_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 377
    functionName: es_pair_compare_PID
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool es_pair_compare_PID(const es_pair_t *p_pair, const void *p_pid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_pair
    - p_es
    argTypes:
    - es_pair_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: es_pair_compare_ES
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool es_pair_compare_ES(const es_pair_t *p_pair, const void *p_es)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/bluray.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_pair
    - priv
    argTypes:
    - es_pair_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 388
    functionName: es_pair_compare_Unused
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: bool
    signature: bool es_pair_compare_Unused(const es_pair_t *p_pair, const void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEsPair
      Src: /src/vlc/modules/access/bluray.c:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_array
    - i_pid
    argTypes:
    - vlc_array_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 393
    functionName: getEsPairByPID
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - getEsPair
    linkageType: ''
    returnType: es_pair_t
    signature: es_pair_t *getEsPairByPID(vlc_array_t *p_array, int i_pid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEsPair
      Src: /src/vlc/modules/access/bluray.c:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_array
    - p_es
    argTypes:
    - vlc_array_t*
    - es_out_id_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 398
    functionName: getEsPairByES
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - getEsPair
    linkageType: ''
    returnType: es_pair_t
    signature: es_pair_t *getEsPairByES(vlc_array_t *p_array, const es_out_id_t *p_es)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEsPair
      Src: /src/vlc/modules/access/bluray.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_array
    argTypes:
    - vlc_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 403
    functionName: getUnusedEsPair
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - getEsPair
    linkageType: ''
    returnType: es_pair_t
    signature: es_pair_t *getUnusedEsPair(vlc_array_t *p_array)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/bluray.c:422,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/bluray.c:425,1
    - Dst: free
      Src: /src/vlc/modules/access/bluray.c:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - bluray_spu_updater_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 429
    functionName: unref_subpicture_updater
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void unref_subpicture_updater(bluray_spu_updater_sys_t *p_sys)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: var_CreateGetString
      Src: /src/vlc/modules/access/bluray.c:440,1
    - Dst: strchr
      Src: /src/vlc/modules/access/bluray.c:446,1
    - Dst: vlc_find_iso639
      Src: /src/vlc/modules/access/bluray.c:449,1
    - Dst: free
      Src: /src/vlc/modules/access/bluray.c:451,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - p_demux
    - psz_var
    argTypes:
    - demux_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 457
    functionName: DemuxGetLanguageCode
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 1
    functionsReached:
    - var_CreateGetString
    - strchr
    - free
    - vlc_find_iso639
    linkageType: ''
    returnType: char
    signature: char *DemuxGetLanguageCode( demux_t *p_demux, const char *psz_var )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: realpath
      Src: /src/vlc/modules/access/bluray.c:491,1
    - Dst: lstat
      Src: /src/vlc/modules/access/bluray.c:496,1
    - Dst: S_ISBLK
      Src: /src/vlc/modules/access/bluray.c:496,1
    - Dst: setmntent
      Src: /src/vlc/modules/access/bluray.c:497,1
    - Dst: getmntent_r
      Src: /src/vlc/modules/access/bluray.c:502,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/bluray.c:503,1
    - Dst: free
      Src: /src/vlc/modules/access/bluray.c:504,1
    - Dst: strdup
      Src: /src/vlc/modules/access/bluray.c:505,1
    - Dst: endmntent
      Src: /src/vlc/modules/access/bluray.c:509,1
    - Dst: free
      Src: /src/vlc/modules/access/bluray.c:512,1
    - Dst: stat
      Src: /src/vlc/modules/access/bluray.c:516,1
    - Dst: S_ISBLK
      Src: /src/vlc/modules/access/bluray.c:516,1
    - Dst: getfsstat
      Src: /src/vlc/modules/access/bluray.c:517,1
    - Dst: malloc
      Src: /src/vlc/modules/access/bluray.c:520,1
    - Dst: getfsstat
      Src: /src/vlc/modules/access/bluray.c:521,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/bluray.c:523,1
    - Dst: free
      Src: /src/vlc/modules/access/bluray.c:524,1
    - Dst: strdup
      Src: /src/vlc/modules/access/bluray.c:525,1
    - Dst: free
      Src: /src/vlc/modules/access/bluray.c:526,1
    - Dst: free
      Src: /src/vlc/modules/access/bluray.c:530,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/bluray.c:535,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 1
    argNames:
    - file
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 537
    functionName: FindMountPoint
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - lstat
    - endmntent
    - setmntent
    - strdup
    - free
    - strcmp
    - getfsstat
    - stat
    - getmntent_r
    - S_ISBLK
    - realpath
    - malloc
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void FindMountPoint(char **file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Info
      Src: /src/vlc/modules/access/bluray.c:548,1
    - Dst: assert
      Src: /src/vlc/modules/access/bluray.c:550,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/bluray.c:551,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/bluray.c:553,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/bluray.c:558,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/bluray.c:558,1
    - Dst: memset
      Src: /src/vlc/modules/access/bluray.c:562,1
    - Dst: memset
      Src: /src/vlc/modules/access/bluray.c:564,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/bluray.c:566,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/bluray.c:566,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/bluray.c:567,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/bluray.c:568,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/bluray.c:569,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/bluray.c:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 4
    argNames:
    - p_obj
    - p_dst_out
    - p_es
    - p_fmt
    argTypes:
    - vlc_object_t*
    - es_out_t*
    - es_out_id_t*
    - video_format_t*
    assertStmts:
    - condition: (p_fmt->i_chroma == VLC_CODEC_I420)
      pos:
        line_end: 549
        line_start: 549
        source_file: /src/vlc/modules/access/bluray.c
    constantsTouched: []
    func_position:
      end: 571
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 571
    functionName: bluraySendBackgroundImage
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - assert
    - es_out_Control
    - memset
    - es_out_Send
    - VLC_TICK_FROM_MS
    - msg_Err
    - msg_Info
    - block_Alloc
    - es_out_SetPCR
    linkageType: ''
    returnType: void
    signature: "void bluraySendBackgroundImage(vlc_object_t *p_obj,\n                                      es_out_t
      *p_dst_out,\n                                      es_out_id_t *p_es,\n                                      const
      video_format_t *p_fmt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/bluray.c:579,1
    - Dst: bd_free_title_info
      Src: /src/vlc/modules/access/bluray.c:582,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/bluray.c:591,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - p_sys
    - info
    argTypes:
    - demux_sys_t*
    - BLURAY_TITLE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 592
    functionName: setTitleInfo
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - bd_free_title_info
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void setTitleInfo(demux_sys_t *p_sys, BLURAY_TITLE_INFO *info)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BLURAY_VERSION_CODE
      Src: /src/vlc/modules/access/bluray.c:605,1
    - Dst: bd_get_meta_file
      Src: /src/vlc/modules/access/bluray.c:609,1
    - Dst: snprintf
      Src: /src/vlc/modules/access/bluray.c:613,1
    - Dst: vlc_input_attachment_New
      Src: /src/vlc/modules/access/bluray.c:615,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/access/bluray.c:618,1
    - Dst: free
      Src: /src/vlc/modules/access/bluray.c:621,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 624
    functionName: attachThumbnail
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - TAB_APPEND
    - bd_get_meta_file
    - vlc_input_attachment_New
    - free
    - BLURAY_VERSION_CODE
    - snprintf
    linkageType: ''
    returnType: void
    signature: void attachThumbnail(demux_t *p_demux)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/access/bluray.c:634,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/access/bluray.c:642,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 653
    functionName: probeStream
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    - vlc_stream_Control
    linkageType: ''
    returnType: int
    signature: int probeStream(demux_t *p_demux)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/bluray.c:662,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/bluray.c:664,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/access/bluray.c:666,1
    - Dst: INT64_C
      Src: /src/vlc/modules/access/bluray.c:666,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/access/bluray.c:670,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/bluray.c:672,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/bluray.c:677,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/bluray.c:680,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - object
    - buf
    - lba
    - num_blocks
    argTypes:
    - void*
    - void*
    - int
    - int
    assertStmts:
    - condition: (p_demux->s != NULL)
      pos:
        line_end: 661
        line_start: 661
        source_file: /src/vlc/modules/access/bluray.c
    constantsTouched: []
    func_position:
      end: 683
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 683
    functionName: blurayReadBlock
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - INT64_C
    - msg_Err
    - vlc_stream_Read
    - vlc_stream_Seek
    linkageType: ''
    returnType: int
    signature: int blurayReadBlock(void *object, void *buf, int lba, int num_blocks)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - buf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 712
    functionName: decode_descriptor_tag
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int decode_descriptor_tag(const uint8_t *buf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_open
      Src: /src/vlc/modules/access/bluray.c:722,1
    - Dst: fstat
      Src: /src/vlc/modules/access/bluray.c:727,1
    - Dst: S_ISREG
      Src: /src/vlc/modules/access/bluray.c:730,1
    - Dst: S_ISBLK
      Src: /src/vlc/modules/access/bluray.c:730,1
    - Dst: read
      Src: /src/vlc/modules/access/bluray.c:735,1
    - Dst: lseek
      Src: /src/vlc/modules/access/bluray.c:745,1
    - Dst: read
      Src: /src/vlc/modules/access/bluray.c:746,1
    - Dst: decode_descriptor_tag
      Src: /src/vlc/modules/access/bluray.c:747,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/bluray.c:754,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 1
    argNames:
    - psz_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 756
    functionName: probeFile
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - vlc_open
    - decode_descriptor_tag
    - fstat
    - vlc_close
    - read
    - S_ISREG
    - lseek
    - S_ISBLK
    linkageType: ''
    returnType: int
    signature: int probeFile(const char *psz_name)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/vlc/modules/access/bluray.c:774,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/access/bluray.c:777,1
    - Dst: probeStream
      Src: /src/vlc/modules/access/bluray.c:782,1
    - Dst: probeFile
      Src: /src/vlc/modules/access/bluray.c:791,1
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/access/bluray.c:797,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/bluray.c:798,1
    - Dst: TAB_INIT
      Src: /src/vlc/modules/access/bluray.c:806,1
    - Dst: TAB_INIT
      Src: /src/vlc/modules/access/bluray.c:807,1
    - Dst: ARRAY_INIT
      Src: /src/vlc/modules/access/bluray.c:808,1
    - Dst: vlc_mouse_Init
      Src: /src/vlc/modules/access/bluray.c:810,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/access/bluray.c:812,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/access/bluray.c:813,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/access/bluray.c:814,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/bluray.c:818,1
    - Dst: var_SetBool
      Src: /src/vlc/modules/access/bluray.c:819,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/bluray.c:820,1
    - Dst: var_SetString
      Src: /src/vlc/modules/access/bluray.c:821,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/bluray.c:822,1
    - Dst: var_SetBool
      Src: /src/vlc/modules/access/bluray.c:823,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/bluray.c:824,1
    - Dst: var_SetBool
      Src: /src/vlc/modules/access/bluray.c:825,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/bluray.c:826,1
    - Dst: var_SetBool
      Src: /src/vlc/modules/access/bluray.c:827,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/bluray.c:830,1
    - Dst: bd_set_debug_mask
      Src: /src/vlc/modules/access/bluray.c:831,1
    - Dst: bd_set_debug_handler
      Src: /src/vlc/modules/access/bluray.c:832,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/access/bluray.c:838,1
    - Dst: bd_init
      Src: /src/vlc/modules/access/bluray.c:840,1
    - Dst: bd_open_stream
      Src: /src/vlc/modules/access/bluray.c:841,1
    - Dst: bd_close
      Src: /src/vlc/modules/access/bluray.c:842,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/bluray.c:850,1
    - Dst: strdup
      Src: /src/vlc/modules/access/bluray.c:853,1
    - Dst: FindMountPoint
      Src: /src/vlc/modules/access/bluray.c:857,1
    - Dst: bd_init
      Src: /src/vlc/modules/access/bluray.c:860,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/bluray.c:862,1
    - Dst: bd_set_player_setting_str
      Src: /src/vlc/modules/access/bluray.c:863,1
    - Dst: free
      Src: /src/vlc/modules/access/bluray.c:864,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/access/bluray.c:867,1
    - Dst: bd_set_player_setting
      Src: /src/vlc/modules/access/bluray.c:868,1
    - Dst: bd_open_disc
      Src: /src/vlc/modules/access/bluray.c:871,1
    - Dst: bd_close
      Src: /src/vlc/modules/access/bluray.c:872,1
    - Dst: bd_get_disc_info
      Src: /src/vlc/modules/access/bluray.c:881,1
    - Dst: BLURAY_ERROR
      Src: /src/vlc/modules/access/bluray.c:886,1
    - Dst: _
      Src: /src/vlc/modules/access/bluray.c:886,1
    - Dst: msg_Info
      Src: /src/vlc/modules/access/bluray.c:891,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/bluray.c:899,1
    - Dst: BLURAY_ERROR
      Src: /src/vlc/modules/access/bluray.c:901,1
    - Dst: _
      Src: /src/vlc/modules/access/bluray.c:901,1
    - Dst: BLURAY_ERROR
      Src: /src/vlc/modules/access/bluray.c:907,1
    - Dst: _
      Src: /src/vlc/modules/access/bluray.c:907,1
    - Dst: BLURAY_ERROR
      Src: /src/vlc/modules/access/bluray.c:909,1
    - Dst: _
      Src: /src/vlc/modules/access/bluray.c:909,1
    - Dst: BLURAY_ERROR
      Src: /src/vlc/modules/access/bluray.c:911,1
    - Dst: _
      Src: /src/vlc/modules/access/bluray.c:911,1
    - Dst: BLURAY_ERROR
      Src: /src/vlc/modules/access/bluray.c:913,1
    - Dst: _
      Src: /src/vlc/modules/access/bluray.c:913,1
    - Dst: BLURAY_ERROR
      Src: /src/vlc/modules/access/bluray.c:915,1
    - Dst: _
      Src: /src/vlc/modules/access/bluray.c:915,1
    - Dst: BLURAY_ERROR
      Src: /src/vlc/modules/access/bluray.c:917,1
    - Dst: _
      Src: /src/vlc/modules/access/bluray.c:917,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/bluray.c:925,1
    - Dst: BLURAY_ERROR
      Src: /src/vlc/modules/access/bluray.c:927,1
    - Dst: _
      Src: /src/vlc/modules/access/bluray.c:927,1
    - Dst: BLURAY_ERROR
      Src: /src/vlc/modules/access/bluray.c:930,1
    - Dst: _
      Src: /src/vlc/modules/access/bluray.c:930,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/bluray.c:935,1
    - Dst: free
      Src: /src/vlc/modules/access/bluray.c:937,1
    - Dst: bd_set_player_setting
      Src: /src/vlc/modules/access/bluray.c:938,1
    - Dst: DemuxGetLanguageCode
      Src: /src/vlc/modules/access/bluray.c:941,1
    - Dst: bd_set_player_setting_str
      Src: /src/vlc/modules/access/bluray.c:942,1
    - Dst: DemuxGetLanguageCode
      Src: /src/vlc/modules/access/bluray.c:943,1
    - Dst: bd_set_player_setting_str
      Src: /src/vlc/modules/access/bluray.c:944,1
    - Dst: DemuxGetLanguageCode
      Src: /src/vlc/modules/access/bluray.c:945,1
    - Dst: bd_set_player_setting_str
      Src: /src/vlc/modules/access/bluray.c:946,1
    - Dst: bd_get_meta
      Src: /src/vlc/modules/access/bluray.c:949,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/bluray.c:951,1
    - Dst: attachThumbnail
      Src: /src/vlc/modules/access/bluray.c:954,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/access/bluray.c:956,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/bluray.c:960,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/access/bluray.c:963,1
    - Dst: _
      Src: /src/vlc/modules/access/bluray.c:963,1
    - Dst: _
      Src: /src/vlc/modules/access/bluray.c:964,1
    - Dst: _
      Src: /src/vlc/modules/access/bluray.c:965,1
    - Dst: blurayInitTitles
      Src: /src/vlc/modules/access/bluray.c:970,1
    - Dst: bd_get_event
      Src: /src/vlc/modules/access/bluray.c:975,1
    - Dst: bd_register_overlay_proc
      Src: /src/vlc/modules/access/bluray.c:978,1
    - Dst: bd_register_argb_overlay_proc
      Src: /src/vlc/modules/access/bluray.c:984,1
    - Dst: bd_play
      Src: /src/vlc/modules/access/bluray.c:987,1
    - Dst: BLURAY_ERROR
      Src: /src/vlc/modules/access/bluray.c:988,1
    - Dst: _
      Src: /src/vlc/modules/access/bluray.c:988,1
    - Dst: bluraySetTitle
      Src: /src/vlc/modules/access/bluray.c:992,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/bluray.c:993,1
    - Dst: timestamps_filter_es_out_New
      Src: /src/vlc/modules/access/bluray.c:998,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/bluray.c:999,1
    - Dst: esOutNew
      Src: /src/vlc/modules/access/bluray.c:1002,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/bluray.c:1002,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/bluray.c:1003,1
    - Dst: vlc_demux_chained_New
      Src: /src/vlc/modules/access/bluray.c:1006,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/bluray.c:1006,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/bluray.c:1008,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/access/bluray.c:1019,1
    - Dst: _
      Src: /src/vlc/modules/access/bluray.c:1019,1
    - Dst: blurayClose
      Src: /src/vlc/modules/access/bluray.c:1020,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/access/bluray.c:1024,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/bluray.c:1025,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 172
    argCount: 1
    argNames:
    - object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 761
    functionDepth: 2
    functionLinenumber: 761
    functionLinenumberEnd: 1032
    functionName: blurayOpen
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - timestamps_filter_es_out_New
    - blurayClose
    - bd_set_debug_handler
    - bd_register_overlay_proc
    - bd_register_argb_overlay_proc
    - BLURAY_ERROR
    - attachThumbnail
    - vlc_obj_calloc
    - bd_set_player_setting_str
    - bd_open_stream
    - DemuxGetLanguageCode
    - vlc_dialog_display_error
    - bd_open_disc
    - vlc_mouse_Init
    - _
    - var_Create
    - msg_Err
    - bd_get_meta
    - bluraySetTitle
    - msg_Dbg
    - esOutNew
    - msg_Warn
    - bd_set_player_setting
    - probeStream
    - vlc_demux_chained_New
    - bd_set_debug_mask
    - strdup
    - bd_play
    - var_InheritBool
    - bd_get_disc_info
    - blurayInitTitles
    - bd_get_event
    - vlc_stream_Seek
    - bd_close
    - vlc_stream_Tell
    - strncasecmp
    - var_InheritString
    - probeFile
    - TAB_INIT
    - vlc_mutex_init
    - free
    - msg_Info
    - var_SetBool
    - bd_init
    - ARRAY_INIT
    - VLC_OBJECT
    - FindMountPoint
    - var_SetString
    - unlikely
    linkageType: ''
    returnType: int
    signature: int blurayOpen(vlc_object_t *object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 770
    functionName: BLURAY_ERROR
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BLURAY_ERROR(s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setTitleInfo
      Src: /src/vlc/modules/access/bluray.c:1043,1
    - Dst: bd_close
      Src: /src/vlc/modules/access/bluray.c:1051,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/bluray.c:1054,1
    - Dst: blurayCloseOverlay
      Src: /src/vlc/modules/access/bluray.c:1056,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/bluray.c:1057,1
    - Dst: vlc_demux_chained_Delete
      Src: /src/vlc/modules/access/bluray.c:1060,1
    - Dst: es_out_Delete
      Src: /src/vlc/modules/access/bluray.c:1063,1
    - Dst: timestamps_filter_es_out_Delete
      Src: /src/vlc/modules/access/bluray.c:1065,1
    - Dst: vlc_input_title_Delete
      Src: /src/vlc/modules/access/bluray.c:1069,1
    - Dst: TAB_CLEAN
      Src: /src/vlc/modules/access/bluray.c:1070,1
    - Dst: vlc_input_attachment_Release
      Src: /src/vlc/modules/access/bluray.c:1073,1
    - Dst: TAB_CLEAN
      Src: /src/vlc/modules/access/bluray.c:1074,1
    - Dst: ARRAY_RESET
      Src: /src/vlc/modules/access/bluray.c:1076,1
    - Dst: free
      Src: /src/vlc/modules/access/bluray.c:1078,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1038
    functionDepth: 2
    functionLinenumber: 1038
    functionLinenumberEnd: 1079
    functionName: blurayClose
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 1
    functionsReached:
    - setTitleInfo
    - vlc_input_title_Delete
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - ARRAY_RESET
    - TAB_CLEAN
    - vlc_input_attachment_Release
    - vlc_demux_chained_Delete
    - free
    - timestamps_filter_es_out_Delete
    - blurayCloseOverlay
    - es_out_Delete
    - bd_close
    linkageType: ''
    returnType: void
    signature: void blurayClose(vlc_object_t *object)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - p_sys
    - i_stream_type
    - pp_streams
    argTypes:
    - demux_sys_t*
    - int
    - BLURAY_STREAM_INFO**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1102
    functionName: blurayGetStreamsUnlocked
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t blurayGetStreamsUnlocked(demux_sys_t *p_sys,\n                                        int
      i_stream_type,\n                                        BLURAY_STREAM_INFO **pp_streams)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blurayGetStreamsUnlocked
      Src: /src/vlc/modules/access/bluray.c:1109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - p_sys
    - i_stream_type
    - i_stream_idx
    argTypes:
    - demux_sys_t*
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1104
    functionDepth: 1
    functionLinenumber: 1104
    functionLinenumberEnd: 1114
    functionName: blurayGetStreamInfoUnlocked
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - blurayGetStreamsUnlocked
    linkageType: ''
    returnType: BLURAY_STREAM_INFO
    signature: "BLURAY_STREAM_INFO * blurayGetStreamInfoUnlocked(demux_sys_t *p_sys,\n
      \                                                       int i_stream_type,\n
      \                                                       uint8_t i_stream_idx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blurayGetStreamsUnlocked
      Src: /src/vlc/modules/access/bluray.c:1122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - p_sys
    - i_pid
    argTypes:
    - demux_sys_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1116
    functionDepth: 1
    functionLinenumber: 1116
    functionLinenumberEnd: 1130
    functionName: blurayGetStreamInfoByPIDUnlocked
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - blurayGetStreamsUnlocked
    linkageType: ''
    returnType: BLURAY_STREAM_INFO
    signature: "BLURAY_STREAM_INFO * blurayGetStreamInfoByPIDUnlocked(demux_sys_t
      *p_sys,\n                                                             int i_pid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/bluray.c:1134,1
    - Dst: blurayGetStreamInfoByPIDUnlocked
      Src: /src/vlc/modules/access/bluray.c:1136,1
    - Dst: free
      Src: /src/vlc/modules/access/bluray.c:1139,1
    - Dst: strndup
      Src: /src/vlc/modules/access/bluray.c:1140,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/bluray.c:1143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_sys
    - p_fmt
    argTypes:
    - demux_sys_t*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1132
    functionDepth: 2
    functionLinenumber: 1132
    functionLinenumberEnd: 1144
    functionName: setStreamLang
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - strndup
    - blurayGetStreamInfoByPIDUnlocked
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - free
    linkageType: ''
    returnType: void
    signature: void setStreamLang(demux_sys_t *p_sys, es_format_t *p_fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/bluray.c:1148,1
    - Dst: blurayGetStreamInfoUnlocked
      Src: /src/vlc/modules/access/bluray.c:1150,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/bluray.c:1155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_sys
    - i_stream_type
    - i_stream_idx
    argTypes:
    - demux_sys_t*
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1146
    functionDepth: 2
    functionLinenumber: 1146
    functionLinenumberEnd: 1158
    functionName: blurayGetStreamPID
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - blurayGetStreamInfoUnlocked
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: int
    signature: int blurayGetStreamPID(demux_sys_t *p_sys, int i_stream_type, uint8_t
      i_stream_idx)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Copy
      Src: /src/vlc/modules/access/bluray.c:1210,1
    - Dst: setStreamLang
      Src: /src/vlc/modules/access/bluray.c:1228,1
    - Dst: setStreamLang
      Src: /src/vlc/modules/access/bluray.c:1236,1
    - Dst: getEsPairByPID
      Src: /src/vlc/modules/access/bluray.c:1245,1
    - Dst: msg_Info
      Src: /src/vlc/modules/access/bluray.c:1248,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/bluray.c:1249,1
    - Dst: es_pair_Add
      Src: /src/vlc/modules/access/bluray.c:1250,1
    - Dst: msg_Info
      Src: /src/vlc/modules/access/bluray.c:1254,1
    - Dst: es_format_IsSimilar
      Src: /src/vlc/modules/access/bluray.c:1257,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/bluray.c:1259,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/bluray.c:1262,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/access/bluray.c:1263,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/access/bluray.c:1264,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/bluray.c:1267,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/bluray.c:1272,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/access/bluray.c:1277,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 2
    argNames:
    - esout_priv
    - p_fmt
    argTypes:
    - bluray_esout_priv_t*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1202
    functionDepth: 3
    functionLinenumber: 1202
    functionLinenumberEnd: 1280
    functionName: bluray_esOutAddUnlocked
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - es_out_Control
    - es_format_Clean
    - es_format_IsSimilar
    - es_pair_Add
    - getEsPairByPID
    - msg_Info
    - strcmp
    - es_out_Add
    - setStreamLang
    - es_format_Copy
    linkageType: ''
    returnType: es_out_id_t
    signature: "es_out_id_t *bluray_esOutAddUnlocked(bluray_esout_priv_t *esout_priv,\n
      \                                           const es_format_t *p_fmt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/bluray.c:1284,1
    - Dst: container_of
      Src: /src/vlc/modules/access/bluray.c:1285,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/bluray.c:1287,1
    - Dst: bluray_esOutAddUnlocked
      Src: /src/vlc/modules/access/bluray.c:1288,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/bluray.c:1289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - p_out
    - in
    - p_fmt
    argTypes:
    - es_out_t*
    - input_source_t*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1282
    functionDepth: 4
    functionLinenumber: 1282
    functionLinenumberEnd: 1292
    functionName: bluray_esOutAdd
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - container_of
    - vlc_mutex_lock
    - bluray_esOutAddUnlocked
    - VLC_UNUSED
    linkageType: ''
    returnType: es_out_id_t
    signature: es_out_id_t *bluray_esOutAdd(es_out_t *p_out, input_source_t *in, const
      es_format_t *p_fmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/access/bluray.c:1296,1
    - Dst: getUnusedEsPair
      Src: /src/vlc/modules/access/bluray.c:1304,1
    - Dst: msg_Info
      Src: /src/vlc/modules/access/bluray.c:1306,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/access/bluray.c:1311,1
    - Dst: es_pair_Remove
      Src: /src/vlc/modules/access/bluray.c:1313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - p_out
    argTypes:
    - es_out_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1294
    functionDepth: 3
    functionLinenumber: 1294
    functionLinenumberEnd: 1315
    functionName: bluray_esOutDeleteNonReusedESUnlocked
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - getUnusedEsPair
    - es_pair_Remove
    - container_of
    - msg_Info
    - es_out_Del
    linkageType: ''
    returnType: void
    signature: void bluray_esOutDeleteNonReusedESUnlocked(es_out_t *p_out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/access/bluray.c:1319,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/bluray.c:1320,1
    - Dst: bluray_esOutDeleteNonReusedESUnlocked
      Src: /src/vlc/modules/access/bluray.c:1322,1
    - Dst: getEsPairByES
      Src: /src/vlc/modules/access/bluray.c:1327,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/bluray.c:1335,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/bluray.c:1338,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/bluray.c:1339,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - p_out
    - p_es
    - p_block
    argTypes:
    - es_out_t*
    - es_out_id_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1317
    functionDepth: 4
    functionLinenumber: 1317
    functionLinenumberEnd: 1340
    functionName: bluray_esOutSend
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - bluray_esOutDeleteNonReusedESUnlocked
    - block_Release
    - getEsPairByES
    - vlc_mutex_lock
    - container_of
    - vlc_mutex_unlock
    - es_out_Send
    linkageType: ''
    returnType: int
    signature: int bluray_esOutSend(es_out_t *p_out, es_out_id_t *p_es, block_t *p_block)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/access/bluray.c:1344,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/bluray.c:1345,1
    - Dst: getEsPairByES
      Src: /src/vlc/modules/access/bluray.c:1350,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/bluray.c:1357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p_out
    - p_es
    argTypes:
    - es_out_t*
    - es_out_id_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1342
    functionDepth: 3
    functionLinenumber: 1342
    functionLinenumberEnd: 1358
    functionName: bluray_esOutDel
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_lock
    - vlc_mutex_unlock
    - getEsPairByES
    - container_of
    linkageType: ''
    returnType: void
    signature: void bluray_esOutDel(es_out_t *p_out, es_out_id_t *p_es)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/bluray.c:1362,1
    - Dst: container_of
      Src: /src/vlc/modules/access/bluray.c:1363,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/bluray.c:1365,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/bluray.c:1370,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/bluray.c:1383,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/bluray.c:1384,1
    - Dst: getEsPairByPID
      Src: /src/vlc/modules/access/bluray.c:1397,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/bluray.c:1398,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/bluray.c:1400,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/bluray.c:1404,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/bluray.c:1417,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/bluray.c:1437,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/bluray.c:1438,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/bluray.c:1442,1
    - Dst: video_format_Setup
      Src: /src/vlc/modules/access/bluray.c:1443,1
    - Dst: bluray_esOutAddUnlocked
      Src: /src/vlc/modules/access/bluray.c:1450,1
    - Dst: bluraySendBackgroundImage
      Src: /src/vlc/modules/access/bluray.c:1453,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/access/bluray.c:1458,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/bluray.c:1463,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/bluray.c:1476,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/bluray.c:1481,1
    - Dst: likely
      Src: /src/vlc/modules/access/bluray.c:1487,1
    - Dst: assert
      Src: /src/vlc/modules/access/bluray.c:1489,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/bluray.c:1503,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/bluray.c:1504,1
    - Dst: es_out_vaControl
      Src: /src/vlc/modules/access/bluray.c:1509,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/bluray.c:1512,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 103
    argCount: 4
    argNames:
    - p_out
    - in
    - i_query
    - args
    argTypes:
    - es_out_t*
    - input_source_t*
    - int
    - va_list
    assertStmts:
    - condition: ((ssize_t)esout_priv->overlay.channels[i_plane] == VOUT_SPU_CHANNEL_INVALID)
      pos:
        line_end: 1488
        line_start: 1488
        source_file: /src/vlc/modules/access/bluray.c
    constantsTouched: []
    func_position:
      end: 1514
      start: 1360
    functionDepth: 4
    functionLinenumber: 1360
    functionLinenumberEnd: 1514
    functionName: bluray_esOutControl
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - assert
    - es_out_Control
    - vlc_mutex_unlock
    - container_of
    - vlc_mutex_lock
    - video_format_Setup
    - bluray_esOutAddUnlocked
    - es_format_Clean
    - es_out_vaControl
    - getEsPairByPID
    - va_arg
    - bluraySendBackgroundImage
    - likely
    - es_format_Init
    - unlikely
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int bluray_esOutControl(es_out_t *p_out, input_source_t *in, int i_query,
      va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/access/bluray.c:1518,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/access/bluray.c:1520,1
    - Dst: es_pair_Delete
      Src: /src/vlc/modules/access/bluray.c:1521,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/access/bluray.c:1521,1
    - Dst: vlc_array_clear
      Src: /src/vlc/modules/access/bluray.c:1522,1
    - Dst: free
      Src: /src/vlc/modules/access/bluray.c:1523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_out
    argTypes:
    - es_out_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1516
    functionDepth: 2
    functionLinenumber: 1516
    functionLinenumberEnd: 1524
    functionName: bluray_esOutDestroy
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - container_of
    - vlc_array_item_at_index
    - free
    - vlc_array_count
    - vlc_array_clear
    - es_pair_Delete
    linkageType: ''
    returnType: void
    signature: void bluray_esOutDestroy(es_out_t *p_out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/bluray.c:1536,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/bluray.c:1537,1
    - Dst: vlc_array_init
      Src: /src/vlc/modules/access/bluray.c:1540,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/access/bluray.c:1555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - p_obj
    - p_dst_out
    - priv
    argTypes:
    - vlc_object_t*
    - es_out_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1557
      start: 1534
    functionDepth: 1
    functionLinenumber: 1534
    functionLinenumberEnd: 1557
    functionName: esOutNew
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 1
    functionsReached:
    - vlc_mutex_init
    - unlikely
    - malloc
    - vlc_array_init
    linkageType: ''
    returnType: es_out_t
    signature: es_out_t *esOutNew(vlc_object_t *p_obj, es_out_t *p_dst_out, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/bluray.c:1566,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/bluray.c:1571,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/bluray.c:1576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p_upd_sys
    argTypes:
    - bluray_spu_updater_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1563
    functionDepth: 1
    functionLinenumber: 1563
    functionLinenumberEnd: 1578
    functionName: updater_lock_overlay
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: bluray_overlay_t
    signature: bluray_overlay_t *updater_lock_overlay(bluray_spu_updater_sys_t *p_upd_sys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/bluray.c:1582,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/bluray.c:1584,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/bluray.c:1585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_upd_sys
    argTypes:
    - bluray_spu_updater_sys_t*
    assertStmts:
    - condition: (p_upd_sys->p_overlay)
      pos:
        line_end: 1581
        line_start: 1581
        source_file: /src/vlc/modules/access/bluray.c
    constantsTouched: []
    func_position:
      end: 1586
      start: 1580
    functionDepth: 1
    functionLinenumber: 1580
    functionLinenumberEnd: 1586
    functionName: updater_unlock_overlay
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void updater_unlock_overlay(bluray_spu_updater_sys_t *p_upd_sys)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/bluray.c:1591,1
    - Dst: updater_lock_overlay
      Src: /src/vlc/modules/access/bluray.c:1594,1
    - Dst: updater_unlock_overlay
      Src: /src/vlc/modules/access/bluray.c:1602,1
    - Dst: vlc_spu_regions_Clear
      Src: /src/vlc/modules/access/bluray.c:1606,1
    - Dst: vlc_spu_regions_foreach_const
      Src: /src/vlc/modules/access/bluray.c:1614,1
    - Dst: subpicture_region_ForPicture
      Src: /src/vlc/modules/access/bluray.c:1615,1
    - Dst: vlc_spu_regions_push
      Src: /src/vlc/modules/access/bluray.c:1626,1
    - Dst: updater_unlock_overlay
      Src: /src/vlc/modules/access/bluray.c:1630,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - p_subpic
    - cfg
    argTypes:
    - subpicture_t*
    - struct vlc_spu_updater_configuration*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1631
      start: 1588
    functionDepth: 2
    functionLinenumber: 1588
    functionLinenumberEnd: 1631
    functionName: subpictureUpdaterUpdate
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - vlc_spu_regions_push
    - VLC_UNUSED
    - vlc_spu_regions_foreach_const
    - updater_unlock_overlay
    - subpicture_region_ForPicture
    - vlc_spu_regions_Clear
    - updater_lock_overlay
    linkageType: ''
    returnType: void
    signature: "void subpictureUpdaterUpdate(subpicture_t *p_subpic,\n                                    const
      struct vlc_spu_updater_configuration *cfg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: updater_lock_overlay
      Src: /src/vlc/modules/access/bluray.c:1636,1
    - Dst: updater_unlock_overlay
      Src: /src/vlc/modules/access/bluray.c:1642,1
    - Dst: unref_subpicture_updater
      Src: /src/vlc/modules/access/bluray.c:1645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_subpic
    argTypes:
    - subpicture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1646
      start: 1633
    functionDepth: 2
    functionLinenumber: 1633
    functionLinenumberEnd: 1646
    functionName: subpictureUpdaterDestroy
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - updater_unlock_overlay
    - unref_subpicture_updater
    - updater_lock_overlay
    linkageType: ''
    returnType: void
    signature: void subpictureUpdaterDestroy(subpicture_t *p_subpic)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/bluray.c:1650,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/bluray.c:1651,1
    - Dst: subpicture_New
      Src: /src/vlc/modules/access/bluray.c:1668,1
    - Dst: free
      Src: /src/vlc/modules/access/bluray.c:1670,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/access/bluray.c:1677,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - p_ov
    argTypes:
    - bluray_overlay_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1683
      start: 1648
    functionDepth: 1
    functionLinenumber: 1648
    functionLinenumberEnd: 1683
    functionName: bluraySubpictureCreate
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - subpicture_New
    - vlc_mutex_init
    - free
    - unlikely
    - malloc
    linkageType: ''
    returnType: subpicture_t
    signature: subpicture_t *bluraySubpictureCreate(bluray_overlay_t *p_ov)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mouse_Init
      Src: /src/vlc/modules/access/bluray.c:1694,1
    - Dst: vlc_mouse_HasMoved
      Src: /src/vlc/modules/access/bluray.c:1698,1
    - Dst: bd_mouse_select
      Src: /src/vlc/modules/access/bluray.c:1699,1
    - Dst: vlc_mouse_HasPressed
      Src: /src/vlc/modules/access/bluray.c:1701,1
    - Dst: bd_user_input
      Src: /src/vlc/modules/access/bluray.c:1702,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - newmouse
    - user_data
    argTypes:
    - vlc_mouse_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1704
      start: 1688
    functionDepth: 1
    functionLinenumber: 1688
    functionLinenumberEnd: 1704
    functionName: onMouseEvent
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - bd_user_input
    - vlc_mouse_HasPressed
    - bd_mouse_select
    - vlc_mouse_Init
    - vlc_mouse_HasMoved
    linkageType: ''
    returnType: void
    signature: void onMouseEvent(const vlc_mouse_t *newmouse, void *user_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bd_user_input
      Src: /src/vlc/modules/access/bluray.c:1708,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_sys
    - key
    argTypes:
    - demux_sys_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1712
      start: 1706
    functionDepth: 0
    functionLinenumber: 1706
    functionLinenumberEnd: 1712
    functionName: sendKeyEvent
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - bd_user_input
    linkageType: ''
    returnType: int
    signature: int sendKeyEvent(demux_sys_t *p_sys, unsigned int key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unref_subpicture_updater
      Src: /src/vlc/modules/access/bluray.c:1727,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/bluray.c:1731,1
    - Dst: vlc_spu_regions_Clear
      Src: /src/vlc/modules/access/bluray.c:1733,1
    - Dst: free
      Src: /src/vlc/modules/access/bluray.c:1734,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - p_demux
    - plane
    argTypes:
    - demux_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1738
      start: 1718
    functionDepth: 2
    functionLinenumber: 1718
    functionLinenumberEnd: 1738
    functionName: blurayCloseOverlay
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 1
    functionsReached:
    - free
    - vlc_spu_regions_Clear
    - es_out_Control
    - unref_subpicture_updater
    linkageType: ''
    returnType: void
    signature: void blurayCloseOverlay(demux_t *p_demux, int plane)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/bluray.c:1759,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/bluray.c:1762,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/bluray.c:1772,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - p_demux
    - plane
    argTypes:
    - demux_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1773
      start: 1747
    functionDepth: 1
    functionLinenumber: 1747
    functionLinenumberEnd: 1773
    functionName: blurayActivateOverlay
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void blurayActivateOverlay(demux_t *p_demux, int plane)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/bluray.c:1791,1
    - Dst: vlc_spu_regions_Clear
      Src: /src/vlc/modules/access/bluray.c:1793,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/bluray.c:1796,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_demux
    - plane
    argTypes:
    - demux_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1797
      start: 1783
    functionDepth: 1
    functionLinenumber: 1783
    functionLinenumberEnd: 1797
    functionName: blurayClearOverlay
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - vlc_spu_regions_Clear
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void blurayClearOverlay(demux_t *p_demux, int plane)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/bluray.c:1806,1
    - Dst: blurayClearOverlay
      Src: /src/vlc/modules/access/bluray.c:1807,1
    - Dst: blurayCloseOverlay
      Src: /src/vlc/modules/access/bluray.c:1808,1
    - Dst: calloc
      Src: /src/vlc/modules/access/bluray.c:1811,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/bluray.c:1812,1
    - Dst: vlc_spu_regions_init
      Src: /src/vlc/modules/access/bluray.c:1818,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/access/bluray.c:1820,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - p_demux
    - plane
    - width
    - height
    argTypes:
    - demux_t*
    - int
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1823
      start: 1799
    functionDepth: 3
    functionLinenumber: 1799
    functionLinenumberEnd: 1823
    functionName: blurayInitOverlay
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - vlc_spu_regions_init
    - vlc_mutex_init
    - calloc
    - blurayCloseOverlay
    - blurayClearOverlay
    - msg_Warn
    - unlikely
    linkageType: ''
    returnType: void
    signature: void blurayInitOverlay(demux_t *p_demux, int plane, uint16_t width,
      uint16_t height)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/bluray.c:1841,1
    - Dst: vlc_spu_regions_foreach
      Src: /src/vlc/modules/access/bluray.c:1846,1
    - Dst: vlc_spu_regions_remove
      Src: /src/vlc/modules/access/bluray.c:1861,1
    - Dst: subpicture_region_Delete
      Src: /src/vlc/modules/access/bluray.c:1862,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/bluray.c:1864,1
    - Dst: video_format_Init
      Src: /src/vlc/modules/access/bluray.c:1871,1
    - Dst: video_format_Setup
      Src: /src/vlc/modules/access/bluray.c:1872,1
    - Dst: subpicture_region_New
      Src: /src/vlc/modules/access/bluray.c:1874,1
    - Dst: vlc_spu_regions_push
      Src: /src/vlc/modules/access/bluray.c:1879,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/bluray.c:1883,1
    - Dst: memset
      Src: /src/vlc/modules/access/bluray.c:1893,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/bluray.c:1908,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 2
    argNames:
    - p_demux
    - eventov
    argTypes:
    - demux_t*
    - BD_OVERLAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1912
      start: 1829
    functionDepth: 1
    functionLinenumber: 1829
    functionLinenumberEnd: 1912
    functionName: blurayDrawOverlay
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - video_format_Init
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - memset
    - video_format_Setup
    - vlc_spu_regions_push
    - vlc_spu_regions_foreach
    - subpicture_region_Delete
    - vlc_spu_regions_remove
    - subpicture_region_New
    linkageType: ''
    returnType: void
    signature: void blurayDrawOverlay(demux_t *p_demux, const BD_OVERLAY* const eventov)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/bluray.c:1919,1
    - Dst: msg_Info
      Src: /src/vlc/modules/access/bluray.c:1922,1
    - Dst: blurayCloseOverlay
      Src: /src/vlc/modules/access/bluray.c:1924,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/bluray.c:1925,1
    - Dst: msg_Info
      Src: /src/vlc/modules/access/bluray.c:1934,1
    - Dst: blurayInitOverlay
      Src: /src/vlc/modules/access/bluray.c:1935,1
    - Dst: blurayClearOverlay
      Src: /src/vlc/modules/access/bluray.c:1938,1
    - Dst: blurayCloseOverlay
      Src: /src/vlc/modules/access/bluray.c:1939,1
    - Dst: blurayClearOverlay
      Src: /src/vlc/modules/access/bluray.c:1942,1
    - Dst: blurayActivateOverlay
      Src: /src/vlc/modules/access/bluray.c:1945,1
    - Dst: blurayDrawOverlay
      Src: /src/vlc/modules/access/bluray.c:1949,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/bluray.c:1952,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/bluray.c:1956,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 2
    argNames:
    - ptr
    - overlay
    argTypes:
    - void*
    - BD_OVERLAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1957
      start: 1914
    functionDepth: 4
    functionLinenumber: 1914
    functionLinenumberEnd: 1957
    functionName: blurayOverlayProc
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - blurayInitOverlay
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - blurayDrawOverlay
    - msg_Info
    - blurayCloseOverlay
    - blurayClearOverlay
    - msg_Warn
    - blurayActivateOverlay
    linkageType: ''
    returnType: void
    signature: void blurayOverlayProc(void *ptr, const BD_OVERLAY *const overlay)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blurayInitOverlay
      Src: /src/vlc/modules/access/bluray.c:1964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p_demux
    - plane
    - width
    - height
    argTypes:
    - demux_t*
    - int
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1965
      start: 1962
    functionDepth: 4
    functionLinenumber: 1962
    functionLinenumberEnd: 1965
    functionName: blurayInitArgbOverlay
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - blurayInitOverlay
    linkageType: ''
    returnType: void
    signature: void blurayInitArgbOverlay(demux_t *p_demux, int plane, uint16_t width,
      uint16_t height)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/bluray.c:1974,1
    - Dst: vlc_spu_regions_first_or_null
      Src: /src/vlc/modules/access/bluray.c:1982,1
    - Dst: video_format_Init
      Src: /src/vlc/modules/access/bluray.c:1986,1
    - Dst: video_format_Setup
      Src: /src/vlc/modules/access/bluray.c:1987,1
    - Dst: subpicture_region_New
      Src: /src/vlc/modules/access/bluray.c:1991,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/bluray.c:1992,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/bluray.c:1993,1
    - Dst: vlc_spu_regions_push
      Src: /src/vlc/modules/access/bluray.c:1998,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/bluray.c:2003,1
    - Dst: likely
      Src: /src/vlc/modules/access/bluray.c:2014,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/bluray.c:2016,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/bluray.c:2022,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/bluray.c:2028,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - p_demux
    - eventov
    argTypes:
    - demux_t*
    - BD_ARGB_OVERLAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2032
      start: 1967
    functionDepth: 1
    functionLinenumber: 1967
    functionLinenumberEnd: 2032
    functionName: blurayDrawArgbOverlay
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - video_format_Init
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - video_format_Setup
    - vlc_spu_regions_push
    - memcpy
    - likely
    - unlikely
    - vlc_spu_regions_first_or_null
    - subpicture_region_New
    linkageType: ''
    returnType: void
    signature: void blurayDrawArgbOverlay(demux_t *p_demux, const BD_ARGB_OVERLAY*
      const eventov)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/bluray.c:2044,1
    - Dst: blurayInitArgbOverlay
      Src: /src/vlc/modules/access/bluray.c:2045,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/bluray.c:2046,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/bluray.c:2049,1
    - Dst: blurayClearOverlay
      Src: /src/vlc/modules/access/bluray.c:2050,1
    - Dst: blurayCloseOverlay
      Src: /src/vlc/modules/access/bluray.c:2051,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/bluray.c:2052,1
    - Dst: blurayActivateOverlay
      Src: /src/vlc/modules/access/bluray.c:2055,1
    - Dst: blurayDrawArgbOverlay
      Src: /src/vlc/modules/access/bluray.c:2058,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/bluray.c:2061,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - ptr
    - overlay
    argTypes:
    - void*
    - BD_ARGB_OVERLAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2064
      start: 2034
    functionDepth: 5
    functionLinenumber: 2034
    functionLinenumberEnd: 2064
    functionName: blurayArgbOverlayProc
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - blurayInitArgbOverlay
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - blurayDrawArgbOverlay
    - blurayCloseOverlay
    - blurayClearOverlay
    - msg_Warn
    - blurayActivateOverlay
    linkageType: ''
    returnType: void
    signature: void blurayArgbOverlayProc(void *ptr, const BD_ARGB_OVERLAY *const
      overlay)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/bluray.c:2070,1
    - Dst: assert
      Src: /src/vlc/modules/access/bluray.c:2071,1
    - Dst: unref_subpicture_updater
      Src: /src/vlc/modules/access/bluray.c:2074,1
    - Dst: bluraySubpictureCreate
      Src: /src/vlc/modules/access/bluray.c:2078,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/bluray.c:2080,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/bluray.c:2090,1
    - Dst: unref_subpicture_updater
      Src: /src/vlc/modules/access/bluray.c:2094,1
    - Dst: subpicture_Delete
      Src: /src/vlc/modules/access/bluray.c:2097,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - p_demux
    - plane
    - p_ov
    argTypes:
    - demux_t*
    - int
    - bluray_overlay_t*
    assertStmts:
    - condition: (p_ov != NULL)
      pos:
        line_end: 2069
        line_start: 2069
        source_file: /src/vlc/modules/access/bluray.c
    - condition: (!p_ov->b_on_vout)
      pos:
        line_end: 2070
        line_start: 2070
        source_file: /src/vlc/modules/access/bluray.c
    constantsTouched: []
    func_position:
      end: 2107
      start: 2066
    functionDepth: 2
    functionLinenumber: 2066
    functionLinenumberEnd: 2107
    functionName: bluraySendOverlayToVout
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - assert
    - es_out_Control
    - msg_Err
    - subpicture_Delete
    - bluraySubpictureCreate
    - unref_subpicture_updater
    linkageType: ''
    returnType: void
    signature: void bluraySendOverlayToVout(demux_t *p_demux, int plane, bluray_overlay_t
      *p_ov)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BLURAY_VERSION_CODE
      Src: /src/vlc/modules/access/bluray.c:2112,1
    - Dst: memcmp
      Src: /src/vlc/modules/access/bluray.c:2128,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - title_info
    - repeats
    - ratio
    argTypes:
    - BLURAY_TITLE_INFO*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2148
      start: 2109
    functionDepth: 0
    functionLinenumber: 2109
    functionLinenumberEnd: 2148
    functionName: blurayTitleIsRepeating
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - memcmp
    - BLURAY_VERSION_CODE
    linkageType: ''
    returnType: bool
    signature: "bool blurayTitleIsRepeating(BLURAY_TITLE_INFO *title_info,\n                                   unsigned
      repeats, unsigned ratio)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FROM_SCALE_NZ
      Src: /src/vlc/modules/access/bluray.c:2152,1
    - Dst: vlc_seekpoint_Delete
      Src: /src/vlc/modules/access/bluray.c:2155,1
    - Dst: TAB_CLEAN
      Src: /src/vlc/modules/access/bluray.c:2156,1
    - Dst: blurayTitleIsRepeating
      Src: /src/vlc/modules/access/bluray.c:2159,1
    - Dst: vlc_seekpoint_New
      Src: /src/vlc/modules/access/bluray.c:2163,1
    - Dst: FROM_SCALE_NZ
      Src: /src/vlc/modules/access/bluray.c:2167,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/access/bluray.c:2169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - t
    - title_info
    argTypes:
    - input_title_t*
    - BLURAY_TITLE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2171
      start: 2150
    functionDepth: 1
    functionLinenumber: 2150
    functionLinenumberEnd: 2171
    functionName: blurayUpdateTitleInfo
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - vlc_seekpoint_Delete
    - TAB_CLEAN
    - TAB_APPEND
    - vlc_seekpoint_New
    - FROM_SCALE_NZ
    - blurayTitleIsRepeating
    linkageType: ''
    returnType: void
    signature: void blurayUpdateTitleInfo(input_title_t *t, BLURAY_TITLE_INFO *title_info)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: bd_get_disc_info
      Src: /src/vlc/modules/access/bluray.c:2176,1
    - Dst: bd_get_titles
      Src: /src/vlc/modules/access/bluray.c:2182,1
    - Dst: bd_get_main_title
      Src: /src/vlc/modules/access/bluray.c:2183,1
    - Dst: vlc_input_title_New
      Src: /src/vlc/modules/access/bluray.c:2187,1
    - Dst: bd_get_title_info
      Src: /src/vlc/modules/access/bluray.c:2192,1
    - Dst: blurayUpdateTitleInfo
      Src: /src/vlc/modules/access/bluray.c:2193,1
    - Dst: bd_free_title_info
      Src: /src/vlc/modules/access/bluray.c:2194,1
    - Dst: strdup
      Src: /src/vlc/modules/access/bluray.c:2197,1
    - Dst: _
      Src: /src/vlc/modules/access/bluray.c:2197,1
    - Dst: strdup
      Src: /src/vlc/modules/access/bluray.c:2200,1
    - Dst: _
      Src: /src/vlc/modules/access/bluray.c:2200,1
    - Dst: strdup
      Src: /src/vlc/modules/access/bluray.c:2208,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/access/bluray.c:2216,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 2
    argNames:
    - p_demux
    - menu_titles
    argTypes:
    - demux_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2221
      start: 2173
    functionDepth: 2
    functionLinenumber: 2173
    functionLinenumberEnd: 2221
    functionName: blurayInitTitles
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 1
    functionsReached:
    - bd_get_titles
    - bd_free_title_info
    - strdup
    - bd_get_main_title
    - bd_get_title_info
    - TAB_APPEND
    - _
    - bd_get_disc_info
    - blurayUpdateTitleInfo
    - vlc_input_title_New
    linkageType: ''
    returnType: void
    signature: void blurayInitTitles(demux_t *p_demux, uint32_t menu_titles)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/bluray.c:2233,1
    - Dst: vlc_demux_chained_Delete
      Src: /src/vlc/modules/access/bluray.c:2236,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/bluray.c:2239,1
    - Dst: vlc_demux_chained_New
      Src: /src/vlc/modules/access/bluray.c:2241,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/bluray.c:2241,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/bluray.c:2243,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/bluray.c:2245,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/bluray.c:2247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - p_demux
    - b_flush
    - b_random_access
    argTypes:
    - demux_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2248
      start: 2223
    functionDepth: 1
    functionLinenumber: 2223
    functionLinenumberEnd: 2248
    functionName: blurayRestartParser
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - es_out_Control
    - msg_Err
    - VLC_OBJECT
    - vlc_demux_chained_New
    - vlc_demux_chained_Delete
    linkageType: ''
    returnType: void
    signature: void blurayRestartParser(demux_t *p_demux, bool b_flush, bool b_random_access)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/bluray.c:2260,1
    - Dst: bd_menu_call
      Src: /src/vlc/modules/access/bluray.c:2261,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/bluray.c:2263,1
    - Dst: bd_play_title
      Src: /src/vlc/modules/access/bluray.c:2264,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/bluray.c:2266,1
    - Dst: bd_play_title
      Src: /src/vlc/modules/access/bluray.c:2267,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/bluray.c:2271,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/bluray.c:2284,1
    - Dst: bd_select_title
      Src: /src/vlc/modules/access/bluray.c:2286,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/bluray.c:2287,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - p_demux
    - i_title
    argTypes:
    - demux_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2292
      start: 2253
    functionDepth: 1
    functionLinenumber: 2253
    functionLinenumberEnd: 2292
    functionName: bluraySetTitle
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 1
    functionsReached:
    - bd_play_title
    - bd_menu_call
    - msg_Err
    - msg_Dbg
    - bd_select_title
    linkageType: ''
    returnType: int
    signature: int bluraySetTitle(demux_t *p_demux, int i_title)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/bluray.c:2301,1
    - Dst: bd_select_stream
      Src: /src/vlc/modules/access/bluray.c:2304,1
    - Dst: bd_select_stream
      Src: /src/vlc/modules/access/bluray.c:2306,1
    - Dst: bd_select_stream
      Src: /src/vlc/modules/access/bluray.c:2314,1
    - Dst: bd_set_player_setting_str
      Src: /src/vlc/modules/access/bluray.c:2317,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/bluray.c:2327,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/bluray.c:2328,1
    - Dst: bd_select_stream
      Src: /src/vlc/modules/access/bluray.c:2336,1
    - Dst: bd_set_player_setting_str
      Src: /src/vlc/modules/access/bluray.c:2338,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/bluray.c:2346,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/bluray.c:2347,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/bluray.c:2353,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 2
    argNames:
    - p_demux
    - i_pid
    argTypes:
    - demux_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2354
      start: 2298
    functionDepth: 1
    functionLinenumber: 2298
    functionLinenumberEnd: 2354
    functionName: blurayOnUserStreamSelection
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - bd_set_player_setting_str
    - es_out_Control
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - msg_Warn
    - bd_select_stream
    linkageType: ''
    returnType: void
    signature: void blurayOnUserStreamSelection(demux_t *p_demux, int i_pid)
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/bluray.c:2368,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/bluray.c:2373,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/bluray.c:2374,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/bluray.c:2374,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/bluray.c:2380,1
    - Dst: bd_set_rate
      Src: /src/vlc/modules/access/bluray.c:2381,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/bluray.c:2389,1
    - Dst: blurayOnUserStreamSelection
      Src: /src/vlc/modules/access/bluray.c:2390,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/bluray.c:2397,1
    - Dst: bluraySetTitle
      Src: /src/vlc/modules/access/bluray.c:2398,1
    - Dst: blurayRestartParser
      Src: /src/vlc/modules/access/bluray.c:2403,1
    - Dst: notifyDiscontinuityToParser
      Src: /src/vlc/modules/access/bluray.c:2404,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/bluray.c:2406,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/bluray.c:2407,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/bluray.c:2412,1
    - Dst: bd_seek_chapter
      Src: /src/vlc/modules/access/bluray.c:2413,1
    - Dst: blurayRestartParser
      Src: /src/vlc/modules/access/bluray.c:2414,1
    - Dst: notifyDiscontinuityToParser
      Src: /src/vlc/modules/access/bluray.c:2415,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/bluray.c:2417,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/bluray.c:2423,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/bluray.c:2429,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/bluray.c:2433,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/bluray.c:2438,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/bluray.c:2439,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/bluray.c:2440,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/bluray.c:2441,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/access/bluray.c:2449,1
    - Dst: vlc_input_title_Duplicate
      Src: /src/vlc/modules/access/bluray.c:2454,1
    - Dst: bd_seek_time
      Src: /src/vlc/modules/access/bluray.c:2472,1
    - Dst: TO_SCALE_NZ
      Src: /src/vlc/modules/access/bluray.c:2472,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/bluray.c:2472,1
    - Dst: blurayRestartParser
      Src: /src/vlc/modules/access/bluray.c:2473,1
    - Dst: notifyDiscontinuityToParser
      Src: /src/vlc/modules/access/bluray.c:2474,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/bluray.c:2476,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/bluray.c:2481,1
    - Dst: FROM_SCALE_NZ
      Src: /src/vlc/modules/access/bluray.c:2485,1
    - Dst: bd_tell_time
      Src: /src/vlc/modules/access/bluray.c:2485,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/bluray.c:2491,1
    - Dst: FROM_SCALE_NZ
      Src: /src/vlc/modules/access/bluray.c:2496,1
    - Dst: bd_tell_time
      Src: /src/vlc/modules/access/bluray.c:2496,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/bluray.c:2501,1
    - Dst: bd_seek_time
      Src: /src/vlc/modules/access/bluray.c:2502,1
    - Dst: TO_SCALE_NZ
      Src: /src/vlc/modules/access/bluray.c:2502,1
    - Dst: blurayRestartParser
      Src: /src/vlc/modules/access/bluray.c:2503,1
    - Dst: notifyDiscontinuityToParser
      Src: /src/vlc/modules/access/bluray.c:2504,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/bluray.c:2506,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/bluray.c:2512,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/access/bluray.c:2517,1
    - Dst: vlc_meta_SetTitle
      Src: /src/vlc/modules/access/bluray.c:2517,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/access/bluray.c:2519,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/access/bluray.c:2519,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/access/bluray.c:2520,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/access/bluray.c:2520,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/access/bluray.c:2521,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/access/bluray.c:2521,1
    - Dst: snprintf
      Src: /src/vlc/modules/access/bluray.c:2528,1
    - Dst: vlc_meta_Set
      Src: /src/vlc/modules/access/bluray.c:2530,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/bluray.c:2534,1
    - Dst: vlc_path2uri
      Src: /src/vlc/modules/access/bluray.c:2536,1
    - Dst: free
      Src: /src/vlc/modules/access/bluray.c:2537,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/bluray.c:2538,1
    - Dst: vlc_meta_SetArtURL
      Src: /src/vlc/modules/access/bluray.c:2541,1
    - Dst: free
      Src: /src/vlc/modules/access/bluray.c:2542,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/bluray.c:2552,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/bluray.c:2553,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/access/bluray.c:2559,1
    - Dst: vlc_input_attachment_Hold
      Src: /src/vlc/modules/access/bluray.c:2564,1
    - Dst: sendKeyEvent
      Src: /src/vlc/modules/access/bluray.c:2571,1
    - Dst: sendKeyEvent
      Src: /src/vlc/modules/access/bluray.c:2573,1
    - Dst: sendKeyEvent
      Src: /src/vlc/modules/access/bluray.c:2575,1
    - Dst: sendKeyEvent
      Src: /src/vlc/modules/access/bluray.c:2577,1
    - Dst: sendKeyEvent
      Src: /src/vlc/modules/access/bluray.c:2579,1
    - Dst: sendKeyEvent
      Src: /src/vlc/modules/access/bluray.c:2581,1
    - Dst: sendKeyEvent
      Src: /src/vlc/modules/access/bluray.c:2583,1
    - Dst: bd_menu_call
      Src: /src/vlc/modules/access/bluray.c:2586,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/bluray.c:2590,1
    - Dst: sendKeyEvent
      Src: /src/vlc/modules/access/bluray.c:2591,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 179
    argCount: 3
    argNames:
    - p_demux
    - query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2611
      start: 2359
    functionDepth: 2
    functionLinenumber: 2359
    functionLinenumberEnd: 2611
    functionName: blurayControl
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - vlc_meta_Set
    - bd_seek_time
    - vlc_input_attachment_Hold
    - EMPTY_STR
    - vlc_alloc
    - asprintf
    - bd_tell_time
    - bd_menu_call
    - msg_Err
    - bluraySetTitle
    - FROM_SCALE_NZ
    - bd_set_rate
    - snprintf
    - TO_SCALE_NZ
    - sendKeyEvent
    - var_InheritInteger
    - bd_seek_chapter
    - notifyDiscontinuityToParser
    - vlc_meta_SetExtra
    - es_out_Control
    - vlc_meta_SetTitle
    - vlc_input_title_Duplicate
    - VLC_TICK_FROM_MS
    - blurayRestartParser
    - free
    - va_arg
    - vlc_meta_SetArtURL
    - blurayOnUserStreamSelection
    - unlikely
    - vlc_path2uri
    linkageType: ''
    returnType: int
    signature: int blurayControl(demux_t *p_demux, int query, va_list args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/access/bluray.c:2631,1
    - Dst: memset
      Src: /src/vlc/modules/access/bluray.c:2632,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/bluray.c:2634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - p_buf
    - i_pid
    - p_payload
    - i_payload
    argTypes:
    - uint8_t*
    - uint16_t
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2635
      start: 2616
    functionDepth: 0
    functionLinenumber: 2616
    functionLinenumberEnd: 2635
    functionName: writeTsPacketWDiscontinuity
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: "void writeTsPacketWDiscontinuity( uint8_t *p_buf, uint16_t i_pid,\n
      \                                        const uint8_t *p_payload, uint8_t i_payload
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/bluray.c:2644,1
    - Dst: writeTsPacketWDiscontinuity
      Src: /src/vlc/modules/access/bluray.c:2648,1
    - Dst: vlc_demux_chained_Send
      Src: /src/vlc/modules/access/bluray.c:2650,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - p_parser
    - p_sinfo
    - i_sinfo
    argTypes:
    - vlc_demux_chained_t*
    - BLURAY_STREAM_INFO*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2652
      start: 2637
    functionDepth: 1
    functionLinenumber: 2637
    functionLinenumberEnd: 2652
    functionName: notifyStreamsDiscontinuity
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - vlc_demux_chained_Send
    - block_Alloc
    - writeTsPacketWDiscontinuity
    linkageType: ''
    returnType: void
    signature: "void notifyStreamsDiscontinuity( vlc_demux_chained_t *p_parser,\n
      \                                       const BLURAY_STREAM_INFO *p_sinfo, size_t
      i_sinfo )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - memb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2656
      start: 2654
    functionDepth: 0
    functionLinenumber: 2654
    functionLinenumberEnd: 2656
    functionName: DONOTIFY
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DONOTIFY(memb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DONOTIFY
      Src: /src/vlc/modules/access/bluray.c:2662,1
    - Dst: DONOTIFY
      Src: /src/vlc/modules/access/bluray.c:2663,1
    - Dst: DONOTIFY
      Src: /src/vlc/modules/access/bluray.c:2664,1
    - Dst: DONOTIFY
      Src: /src/vlc/modules/access/bluray.c:2665,1
    - Dst: DONOTIFY
      Src: /src/vlc/modules/access/bluray.c:2666,1
    - Dst: DONOTIFY
      Src: /src/vlc/modules/access/bluray.c:2667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - demux_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2669
      start: 2657
    functionDepth: 1
    functionLinenumber: 2657
    functionLinenumberEnd: 2669
    functionName: notifyDiscontinuityToParser
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 1
    functionsReached:
    - DONOTIFY
    linkageType: ''
    returnType: void
    signature: void notifyDiscontinuityToParser( demux_sys_t *p_sys )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/bluray.c:2687,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/bluray.c:2694,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/bluray.c:2699,1
    - Dst: writeTsPacketWDiscontinuity
      Src: /src/vlc/modules/access/bluray.c:2724,1
    - Dst: vlc_demux_chained_Send
      Src: /src/vlc/modules/access/bluray.c:2726,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - demux_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2728
      start: 2673
    functionDepth: 1
    functionLinenumber: 2673
    functionLinenumberEnd: 2728
    functionName: streamFlush
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_demux_chained_Send
    - block_Alloc
    - writeTsPacketWDiscontinuity
    linkageType: ''
    returnType: void
    signature: void streamFlush( demux_sys_t *p_sys )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blurayRestartParser
      Src: /src/vlc/modules/access/bluray.c:2737,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/bluray.c:2738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2740
      start: 2730
    functionDepth: 2
    functionLinenumber: 2730
    functionLinenumberEnd: 2740
    functionName: blurayResetStillImage
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - es_out_Control
    - blurayRestartParser
    linkageType: ''
    returnType: void
    signature: void blurayResetStillImage( demux_t *p_demux )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/bluray.c:2749,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/bluray.c:2750,1
    - Dst: bd_read_skip_still
      Src: /src/vlc/modules/access/bluray.c:2751,1
    - Dst: blurayResetStillImage
      Src: /src/vlc/modules/access/bluray.c:2753,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/bluray.c:2760,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/bluray.c:2761,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/access/bluray.c:2761,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/bluray.c:2763,1
    - Dst: streamFlush
      Src: /src/vlc/modules/access/bluray.c:2768,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/bluray.c:2771,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/access/bluray.c:2775,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/bluray.c:2775,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - p_demux
    - i_timeout
    argTypes:
    - demux_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2776
      start: 2742
    functionDepth: 3
    functionLinenumber: 2742
    functionLinenumberEnd: 2776
    functionName: blurayStillImage
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - es_out_Control
    - blurayResetStillImage
    - bd_read_skip_still
    - vlc_tick_from_sec
    - VLC_TICK_FROM_MS
    - msg_Dbg
    - vlc_tick_sleep
    - streamFlush
    linkageType: ''
    returnType: void
    signature: void blurayStillImage( demux_t *p_demux, unsigned i_timeout )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: blurayGetStreamPID
      Src: /src/vlc/modules/access/bluray.c:2787,1
    - Dst: blurayGetStreamPID
      Src: /src/vlc/modules/access/bluray.c:2789,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/bluray.c:2795,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/bluray.c:2797,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - p_demux
    - i_type
    - i_id
    argTypes:
    - demux_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2799
      start: 2778
    functionDepth: 3
    functionLinenumber: 2778
    functionLinenumberEnd: 2799
    functionName: blurayOnStreamSelectedEvent
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - blurayGetStreamPID
    - es_out_Control
    linkageType: ''
    returnType: void
    signature: void blurayOnStreamSelectedEvent(demux_t *p_demux, uint32_t i_type,
      uint32_t i_id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: blurayRestartParser
      Src: /src/vlc/modules/access/bluray.c:2805,1
    - Dst: bd_get_current_title
      Src: /src/vlc/modules/access/bluray.c:2809,1
    - Dst: bd_get_playlist_info
      Src: /src/vlc/modules/access/bluray.c:2813,1
    - Dst: blurayUpdateTitleInfo
      Src: /src/vlc/modules/access/bluray.c:2815,1
    - Dst: setTitleInfo
      Src: /src/vlc/modules/access/bluray.c:2819,1
    - Dst: blurayResetStillImage
      Src: /src/vlc/modules/access/bluray.c:2821,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - p_demux
    - i_playlist
    argTypes:
    - demux_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2822
      start: 2801
    functionDepth: 3
    functionLinenumber: 2801
    functionLinenumberEnd: 2822
    functionName: blurayUpdatePlaylist
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - setTitleInfo
    - blurayResetStillImage
    - bd_get_current_title
    - blurayRestartParser
    - blurayUpdateTitleInfo
    - bd_get_playlist_info
    linkageType: ''
    returnType: void
    signature: void blurayUpdatePlaylist(demux_t *p_demux, unsigned i_playlist)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/bluray.c:2828,1
    - Dst: assert
      Src: /src/vlc/modules/access/bluray.c:2839,1
    - Dst: bd_get_clpi
      Src: /src/vlc/modules/access/bluray.c:2842,1
    - Dst: blurayRestartParser
      Src: /src/vlc/modules/access/bluray.c:2847,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/bluray.c:2850,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/bluray.c:2852,1
    - Dst: bd_free_clpi
      Src: /src/vlc/modules/access/bluray.c:2853,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/bluray.c:2856,1
    - Dst: blurayResetStillImage
      Src: /src/vlc/modules/access/bluray.c:2858,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - p_demux
    - clip
    argTypes:
    - demux_t*
    - uint32_t
    assertStmts:
    - condition: (p_sys->p_clip_info->video_stream_count >= 1)
      pos:
        line_end: 2838
        line_start: 2838
        source_file: /src/vlc/modules/access/bluray.c
    constantsTouched: []
    func_position:
      end: 2859
      start: 2824
    functionDepth: 3
    functionLinenumber: 2824
    functionLinenumberEnd: 2859
    functionName: blurayOnClipUpdate
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - bd_get_clpi
    - assert
    - es_out_Control
    - bd_free_clpi
    - vlc_mutex_lock
    - vlc_mutex_unlock
    - blurayResetStillImage
    - blurayRestartParser
    linkageType: ''
    returnType: void
    signature: void blurayOnClipUpdate(demux_t *p_demux, uint32_t clip)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: blurayDebugEvent
      Src: /src/vlc/modules/access/bluray.c:2865,1
    - Dst: setTitleInfo
      Src: /src/vlc/modules/access/bluray.c:2874,1
    - Dst: blurayUpdatePlaylist
      Src: /src/vlc/modules/access/bluray.c:2881,1
    - Dst: msg_Info
      Src: /src/vlc/modules/access/bluray.c:2884,1
    - Dst: blurayRestartParser
      Src: /src/vlc/modules/access/bluray.c:2885,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/bluray.c:2886,1
    - Dst: notifyDiscontinuityToParser
      Src: /src/vlc/modules/access/bluray.c:2891,1
    - Dst: blurayOnClipUpdate
      Src: /src/vlc/modules/access/bluray.c:2892,1
    - Dst: blurayRestartParser
      Src: /src/vlc/modules/access/bluray.c:2909,1
    - Dst: notifyDiscontinuityToParser
      Src: /src/vlc/modules/access/bluray.c:2910,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/bluray.c:2911,1
    - Dst: BLURAY_VERSION_CODE
      Src: /src/vlc/modules/access/bluray.c:2913,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/access/bluray.c:2931,1
    - Dst: _
      Src: /src/vlc/modules/access/bluray.c:2931,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/access/bluray.c:2936,1
    - Dst: _
      Src: /src/vlc/modules/access/bluray.c:2936,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/bluray.c:2941,1
    - Dst: blurayOnStreamSelectedEvent
      Src: /src/vlc/modules/access/bluray.c:2953,1
    - Dst: ARRAY_APPEND
      Src: /src/vlc/modules/access/bluray.c:2955,1
    - Dst: blurayStillImage
      Src: /src/vlc/modules/access/bluray.c:2969,1
    - Dst: blurayRestartParser
      Src: /src/vlc/modules/access/bluray.c:2973,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/bluray.c:2974,1
    - Dst: notifyDiscontinuityToParser
      Src: /src/vlc/modules/access/bluray.c:2979,1
    - Dst: blurayRestartParser
      Src: /src/vlc/modules/access/bluray.c:2980,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/access/bluray.c:2988,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/bluray.c:2988,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/bluray.c:2992,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 94
    argCount: 3
    argNames:
    - p_demux
    - e
    - b_delayed
    argTypes:
    - demux_t*
    - BD_EVENT*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2995
      start: 2861
    functionDepth: 4
    functionLinenumber: 2861
    functionLinenumberEnd: 2995
    functionName: blurayHandleEvent
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - vlc_tick_sleep
    - setTitleInfo
    - blurayUpdatePlaylist
    - es_out_Control
    - vlc_dialog_display_error
    - blurayOnClipUpdate
    - VLC_TICK_FROM_MS
    - _
    - blurayRestartParser
    - blurayOnStreamSelectedEvent
    - msg_Err
    - msg_Info
    - msg_Warn
    - BLURAY_VERSION_CODE
    - blurayDebugEvent
    - blurayStillImage
    - ARRAY_APPEND
    - notifyDiscontinuityToParser
    linkageType: ''
    returnType: void
    signature: void blurayHandleEvent(demux_t *p_demux, const BD_EVENT *e, bool b_delayed)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/bluray.c:3000,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/bluray.c:3007,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/bluray.c:3009,1
    - Dst: bluraySendOverlayToVout
      Src: /src/vlc/modules/access/bluray.c:3017,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/bluray.c:3021,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3022
      start: 2997
    functionDepth: 3
    functionLinenumber: 2997
    functionLinenumberEnd: 3022
    functionName: blurayHandleOverlays
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - bluraySendOverlayToVout
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void blurayHandleOverlays(demux_t *p_demux)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/bluray.c:3031,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/bluray.c:3035,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/bluray.c:3038,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/bluray.c:3043,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/access/bluray.c:3044,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/bluray.c:3044,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/bluray.c:3049,1
    - Dst: bd_read
      Src: /src/vlc/modules/access/bluray.c:3056,1
    - Dst: bd_get_event
      Src: /src/vlc/modules/access/bluray.c:3057,1
    - Dst: blurayHandleEvent
      Src: /src/vlc/modules/access/bluray.c:3058,1
    - Dst: bd_read_ext
      Src: /src/vlc/modules/access/bluray.c:3060,1
    - Dst: blurayHandleEvent
      Src: /src/vlc/modules/access/bluray.c:3062,1
    - Dst: bd_get_event
      Src: /src/vlc/modules/access/bluray.c:3063,1
    - Dst: blurayHandleEvent
      Src: /src/vlc/modules/access/bluray.c:3069,1
    - Dst: blurayHandleOverlays
      Src: /src/vlc/modules/access/bluray.c:3072,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/bluray.c:3075,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/bluray.c:3077,1
    - Dst: vlc_demux_chained_Send
      Src: /src/vlc/modules/access/bluray.c:3088,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3093
      start: 3024
    functionDepth: 5
    functionLinenumber: 3024
    functionLinenumberEnd: 3093
    functionName: blurayDemux
    functionSourceFile: /src/vlc/modules/access/bluray.c
    functionUses: 0
    functionsReached:
    - block_Release
    - es_out_Control
    - bd_read
    - bd_read_ext
    - blurayHandleOverlays
    - vlc_demux_chained_Send
    - VLC_TICK_FROM_MS
    - msg_Err
    - bd_get_event
    - block_Alloc
    - msg_Dbg
    - blurayHandleEvent
    - vlc_tick_sleep
    linkageType: ''
    returnType: int
    signature: int blurayDemux(demux_t *p_demux)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: VLC_ACCESS_CACHE_INITIALIZER
    functionSourceFile: /src/vlc/modules/access/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLC_ACCESS_CACHE_INITIALIZER(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: VLC_ACCESS_CACHE_INITIALIZER
    functionSourceFile: /src/vlc/modules/access/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLC_ACCESS_CACHE_INITIALIZER(name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/vlc/modules/access/cache.h:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - server
    - share
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionName: vlc_access_cache_entry_CreateSmbUrl
    functionSourceFile: /src/vlc/modules/access/cache.h
    functionUses: 0
    functionsReached:
    - asprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      vlc_access_cache_entry_CreateSmbUrl(const char *server, const char *share)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_access_cache_entry_CreateSmbUrl
      Src: /src/vlc/modules/access/cache.h:94,1
    - Dst: vlc_access_cache_entry_New
      Src: /src/vlc/modules/access/cache.h:99,1
    - Dst: free
      Src: /src/vlc/modules/access/cache.h:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - context
    - server
    - share
    - username
    argTypes:
    - void*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 102
    functionName: vlc_access_cache_entry_NewSmb
    functionSourceFile: /src/vlc/modules/access/cache.h
    functionUses: 1
    functionsReached:
    - free
    - vlc_access_cache_entry_New
    - vlc_access_cache_entry_CreateSmbUrl
    linkageType: ''
    returnType: struct vlc_access_cache_entry
    signature: "struct vlc_access_cache_entry *\nvlc_access_cache_entry_NewSmb(void
      *context, const char *server,\n                              const char *share,
      const char *username,\n                              void (*free_cb)(void *context))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_access_cache_entry_CreateSmbUrl
      Src: /src/vlc/modules/access/cache.h:121,1
    - Dst: vlc_access_cache_GetEntry
      Src: /src/vlc/modules/access/cache.h:126,1
    - Dst: free
      Src: /src/vlc/modules/access/cache.h:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - cache
    - server
    - share
    - username
    argTypes:
    - struct vlc_access_cache*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 130
    functionName: vlc_access_cache_GetSmbEntry
    functionSourceFile: /src/vlc/modules/access/cache.h
    functionUses: 1
    functionsReached:
    - free
    - vlc_access_cache_GetEntry
    - vlc_access_cache_entry_CreateSmbUrl
    linkageType: ''
    returnType: struct vlc_access_cache_entry
    signature: "struct vlc_access_cache_entry *\nvlc_access_cache_GetSmbEntry(struct
      vlc_access_cache *cache,\n                             const char *server, const
      char *share,\n                             const char *username)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: VLC_ACCESS_CACHE_REGISTER
    functionSourceFile: /src/vlc/modules/access/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLC_ACCESS_CACHE_REGISTER(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: VLC_ACCESS_CACHE_REGISTER
    functionSourceFile: /src/vlc/modules/access/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLC_ACCESS_CACHE_REGISTER(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: av_le2ne32
    functionSourceFile: /src/vlc/modules/access/sdi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t av_le2ne32(uint32_t val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: READ_PIXELS
      Src: /src/vlc/modules/access/sdi.c:59,1
    - Dst: READ_PIXELS
      Src: /src/vlc/modules/access/sdi.c:60,1
    - Dst: READ_PIXELS
      Src: /src/vlc/modules/access/sdi.c:61,1
    - Dst: READ_PIXELS
      Src: /src/vlc/modules/access/sdi.c:62,1
    - Dst: READ_PIXELS
      Src: /src/vlc/modules/access/sdi.c:65,1
    - Dst: av_le2ne32
      Src: /src/vlc/modules/access/sdi.c:67,1
    - Dst: av_le2ne32
      Src: /src/vlc/modules/access/sdi.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - dst
    - bytes
    - width
    - height
    argTypes:
    - uint16_t*
    - uint32_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 81
    functionName: v210_convert
    functionSourceFile: /src/vlc/modules/access/sdi.c
    functionUses: 1
    functionsReached:
    - av_le2ne32
    - READ_PIXELS
    linkageType: ''
    returnType: void
    signature: void v210_convert(uint16_t *dst, const uint32_t *bytes, const int width,
      const int height)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: READ_PIXELS
    functionSourceFile: /src/vlc/modules/access/sdi.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_PIXELS(a, b, c)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/access/sdi.c:87,1
    - Dst: memcmp
      Src: /src/vlc/modules/access/sdi.c:92,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/sdi.c:99,1
    - Dst: parity
      Src: /src/vlc/modules/access/sdi.c:107,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/sdi.c:109,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/sdi.c:119,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/sdi.c:132,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/sdi.c:139,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/sdi.c:148,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/sdi.c:154,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/sdi.c:159,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/sdi.c:164,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/sdi.c:170,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/sdi.c:176,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/sdi.c:182,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/sdi.c:187,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/sdi.c:193,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/sdi.c:197,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 85
    argCount: 3
    argNames:
    - obj
    - buf
    - words
    argTypes:
    - vlc_object_t*
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 206
    functionName: vanc_to_cc
    functionSourceFile: /src/vlc/modules/access/sdi.c
    functionUses: 1
    functionsReached:
    - block_Alloc
    - parity
    - memcmp
    - msg_Err
    linkageType: ''
    returnType: block_t
    signature: block_t *vanc_to_cc(vlc_object_t *obj, uint16_t *buf, size_t words)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tls_Read
      Src: /src/vlc/modules/access/gopher.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - access
    - buf
    - len
    argTypes:
    - stream_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: Read
    functionSourceFile: /src/vlc/modules/access/gopher.c
    functionUses: 20
    functionsReached:
    - vlc_tls_Read
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Read(stream_t *access, void *buf, size_t len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/gopher.c:68,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/gopher.c:72,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/gopher.c:76,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/gopher.c:81,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/gopher.c:82,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/gopher.c:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - p_access
    - i_query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 93
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/gopher.c
    functionUses: 33
    functionsReached:
    - var_InheritInteger
    - va_arg
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: int
    signature: int Control( stream_t *p_access, int i_query, va_list args )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/access/gopher.c:105,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/gopher.c:107,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/gopher.c:108,1
    - Dst: vlc_tls_SocketOpenTCP
      Src: /src/vlc/modules/access/gopher.c:116,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/gopher.c:118,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/gopher.c:120,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/gopher.c:121,1
    - Dst: strlen
      Src: /src/vlc/modules/access/gopher.c:125,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/gopher.c:128,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/gopher.c:130,1
    - Dst: vlc_tls_SessionDelete
      Src: /src/vlc/modules/access/gopher.c:131,1
    - Dst: msg_Info
      Src: /src/vlc/modules/access/gopher.c:134,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/gopher.c:137,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/gopher.c:139,1
    - Dst: vlc_tls_SessionDelete
      Src: /src/vlc/modules/access/gopher.c:140,1
    - Dst: msg_Info
      Src: /src/vlc/modules/access/gopher.c:143,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/gopher.c:145,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/gopher.c:153,1
    - Dst: vlc_tls_Write
      Src: /src/vlc/modules/access/gopher.c:154,1
    - Dst: strlen
      Src: /src/vlc/modules/access/gopher.c:154,1
    - Dst: vlc_tls_SessionDelete
      Src: /src/vlc/modules/access/gopher.c:156,1
    - Dst: free
      Src: /src/vlc/modules/access/gopher.c:157,1
    - Dst: free
      Src: /src/vlc/modules/access/gopher.c:161,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 163
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/gopher.c
    functionUses: 4
    functionsReached:
    - vlc_UrlParse
    - asprintf
    - vlc_tls_Write
    - strlen
    - msg_Err
    - free
    - msg_Info
    - msg_Dbg
    - vlc_tls_SessionDelete
    - unlikely
    - vlc_tls_SocketOpenTCP
    - vlc_UrlClean
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tls_SessionDelete
      Src: /src/vlc/modules/access/gopher.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/gopher.c
    functionUses: 28
    functionsReached:
    - vlc_tls_SessionDelete
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_killed
      Src: /src/vlc/modules/access/avio.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - access
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: UrlInterruptCallback
    functionSourceFile: /src/vlc/modules/access/avio.c
    functionUses: 0
    functionsReached:
    - vlc_killed
    linkageType: ''
    returnType: int
    signature: int UrlInterruptCallback(void *access)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/access/avio.c:87,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/avio.c:97,1
    - Dst: strdup
      Src: /src/vlc/modules/access/avio.c:98,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/avio.c:99,1
    - Dst: vlc_init_avformat
      Src: /src/vlc/modules/access/avio.c:107,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/avio.c:115,1
    - Dst: vlc_av_get_options
      Src: /src/vlc/modules/access/avio.c:117,1
    - Dst: free
      Src: /src/vlc/modules/access/avio.c:118,1
    - Dst: avio_open2
      Src: /src/vlc/modules/access/avio.c:120,1
    - Dst: av_dict_get
      Src: /src/vlc/modules/access/avio.c:122,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/avio.c:123,1
    - Dst: av_dict_free
      Src: /src/vlc/modules/access/avio.c:124,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/avio.c:126,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/avio.c:127,1
    - Dst: AVUNERROR
      Src: /src/vlc/modules/access/avio.c:127,1
    - Dst: free
      Src: /src/vlc/modules/access/avio.c:128,1
    - Dst: free
      Src: /src/vlc/modules/access/avio.c:131,1
    - Dst: avio_size
      Src: /src/vlc/modules/access/avio.c:133,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/avio.c:137,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 148
    functionName: OpenAvio
    functionSourceFile: /src/vlc/modules/access/avio.c
    functionUses: 0
    functionsReached:
    - vlc_init_avformat
    - asprintf
    - vlc_strerror_c
    - strdup
    - vlc_obj_malloc
    - var_InheritString
    - av_dict_free
    - msg_Err
    - free
    - strcmp
    - avio_size
    - avio_open2
    - vlc_av_get_options
    - msg_Dbg
    - AVUNERROR
    - av_dict_get
    linkageType: ''
    returnType: int
    signature: int OpenAvio(vlc_object_t *object)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: config_ChainParse
      Src: /src/vlc/modules/access/avio.c:161,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/access/avio.c:163,1
    - Dst: vlc_init_avformat
      Src: /src/vlc/modules/access/avio.c:169,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/avio.c:176,1
    - Dst: vlc_av_get_options
      Src: /src/vlc/modules/access/avio.c:178,1
    - Dst: free
      Src: /src/vlc/modules/access/avio.c:179,1
    - Dst: avio_open2
      Src: /src/vlc/modules/access/avio.c:181,1
    - Dst: av_dict_get
      Src: /src/vlc/modules/access/avio.c:184,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/avio.c:185,1
    - Dst: av_dict_free
      Src: /src/vlc/modules/access/avio.c:186,1
    - Dst: AVUNERROR
      Src: /src/vlc/modules/access/avio.c:188,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/avio.c:189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 199
    functionName: OutOpenAvio
    functionSourceFile: /src/vlc/modules/access/avio.c
    functionUses: 0
    functionsReached:
    - vlc_init_avformat
    - var_InheritString
    - vlc_obj_malloc
    - av_dict_free
    - config_ChainParse
    - free
    - msg_Err
    - avio_open2
    - vlc_av_get_options
    - AVUNERROR
    - av_dict_get
    linkageType: ''
    returnType: int
    signature: int OutOpenAvio(vlc_object_t *object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avio_close
      Src: /src/vlc/modules/access/avio.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 207
    functionName: CloseAvio
    functionSourceFile: /src/vlc/modules/access/avio.c
    functionUses: 0
    functionsReached:
    - avio_close
    linkageType: ''
    returnType: void
    signature: void CloseAvio(vlc_object_t *object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avio_close
      Src: /src/vlc/modules/access/avio.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 215
    functionName: OutCloseAvio
    functionSourceFile: /src/vlc/modules/access/avio.c
    functionUses: 0
    functionsReached:
    - avio_close
    linkageType: ''
    returnType: void
    signature: void OutCloseAvio(vlc_object_t *object)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avio_read
      Src: /src/vlc/modules/access/avio.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - access
    - data
    - size
    argTypes:
    - stream_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 225
    functionName: Read
    functionSourceFile: /src/vlc/modules/access/avio.c
    functionUses: 20
    functionsReached:
    - avio_read
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Read(stream_t *access, void *data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avio_write
      Src: /src/vlc/modules/access/avio.c:239,1
    - Dst: avio_flush
      Src: /src/vlc/modules/access/avio.c:240,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/avio.c:247,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/avio.c:255,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/avio.c:256,1
    - Dst: AVUNERROR
      Src: /src/vlc/modules/access/avio.c:256,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/access/avio.c:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - p_access
    - p_buffer
    argTypes:
    - sout_access_out_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 259
    functionName: Write
    functionSourceFile: /src/vlc/modules/access/avio.c
    functionUses: 11
    functionsReached:
    - block_Release
    - vlc_strerror_c
    - block_ChainRelease
    - AVUNERROR
    - msg_Err
    - avio_write
    - avio_flush
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Write(sout_access_out_t *p_access, block_t *p_buffer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AVERROR
      Src: /src/vlc/modules/access/avio.c:271,1
    - Dst: avio_seek
      Src: /src/vlc/modules/access/avio.c:273,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/avio.c:275,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/avio.c:276,1
    - Dst: AVUNERROR
      Src: /src/vlc/modules/access/avio.c:276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - access
    - position
    argTypes:
    - stream_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 281
    functionName: Seek
    functionSourceFile: /src/vlc/modules/access/avio.c
    functionUses: 10
    functionsReached:
    - vlc_strerror_c
    - avio_seek
    - AVERROR
    - msg_Err
    - AVUNERROR
    linkageType: ''
    returnType: int
    signature: int Seek(stream_t *access, uint64_t position)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avio_seek
      Src: /src/vlc/modules/access/avio.c:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_access
    - i_pos
    argTypes:
    - sout_access_out_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 290
    functionName: OutSeek
    functionSourceFile: /src/vlc/modules/access/avio.c
    functionUses: 0
    functionsReached:
    - avio_seek
    linkageType: ''
    returnType: int
    signature: int OutSeek(sout_access_out_t *p_access, uint64_t i_pos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/avio.c:296,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/avio.c:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - p_access
    - i_query
    - args
    argTypes:
    - sout_access_out_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 309
    functionName: OutControl
    functionSourceFile: /src/vlc/modules/access/avio.c
    functionUses: 0
    functionsReached:
    - va_arg
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int OutControl(sout_access_out_t *p_access, int i_query, va_list args)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/avio.c:319,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/avio.c:323,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/avio.c:327,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/avio.c:333,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/avio.c:336,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/avio.c:337,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/avio.c:337,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/avio.c:341,1
    - Dst: avio_pause
      Src: /src/vlc/modules/access/avio.c:342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 3
    argNames:
    - access
    - query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 349
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/avio.c
    functionUses: 33
    functionsReached:
    - var_InheritInteger
    - va_arg
    - VLC_TICK_FROM_MS
    - avio_pause
    linkageType: ''
    returnType: int
    signature: int Control(stream_t *access, int query, va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: DECKLINK_STRDUP
    functionSourceFile: /src/vlc/modules/access/vlc_decklink.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECKLINK_STRDUP(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: DECKLINK_FREE
    functionSourceFile: /src/vlc/modules/access/vlc_decklink.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECKLINK_FREE(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: DECKLINK_STRDUP
    functionSourceFile: /src/vlc/modules/access/vlc_decklink.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECKLINK_STRDUP(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: DECKLINK_FREE
    functionSourceFile: /src/vlc/modules/access/vlc_decklink.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECKLINK_FREE(s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/vlc_decklink.h:55,1
    - Dst: CoCreateInstance
      Src: /src/vlc/modules/access/vlc_decklink.h:55,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/vlc_decklink.h:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: CreateDeckLinkIteratorInstance
    functionSourceFile: /src/vlc/modules/access/vlc_decklink.h
    functionUses: 1
    functionsReached:
    - CoCreateInstance
    - IID_PPV_ARGS
    - SUCCEEDED
    linkageType: ''
    returnType: IDeckLinkIterator
    signature: IDeckLinkIterator *CreateDeckLinkIteratorInstance(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: DECKLINK_STRDUP
    functionSourceFile: /src/vlc/modules/access/vlc_decklink.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECKLINK_STRDUP(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: DECKLINK_FREE
    functionSourceFile: /src/vlc/modules/access/vlc_decklink.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECKLINK_FREE(s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Eof
      Src: /src/vlc/modules/access/concat.c:58,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/access/concat.c:61,1
    - Dst: vlc_access_NewMRL
      Src: /src/vlc/modules/access/concat.c:68,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/concat.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 75
    functionName: GetAccess
    functionSourceFile: /src/vlc/modules/access/concat.c
    functionUses: 0
    functionsReached:
    - VLC_OBJECT
    - vlc_access_NewMRL
    - vlc_stream_Delete
    - vlc_stream_Eof
    linkageType: ''
    returnType: stream_t
    signature: stream_t *GetAccess(stream_t *access)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetAccess
      Src: /src/vlc/modules/access/concat.c:79,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/concat.c:86,1
    - Dst: vlc_stream_ReadPartial
      Src: /src/vlc/modules/access/concat.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - access
    - buf
    - len
    argTypes:
    - stream_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 90
    functionName: Read
    functionSourceFile: /src/vlc/modules/access/concat.c
    functionUses: 20
    functionsReached:
    - unlikely
    - vlc_stream_ReadPartial
    - GetAccess
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Read(stream_t *access, void *buf, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetAccess
      Src: /src/vlc/modules/access/concat.c:94,1
    - Dst: vlc_stream_ReadBlock
      Src: /src/vlc/modules/access/concat.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - access
    - eof
    argTypes:
    - stream_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: Block
    functionSourceFile: /src/vlc/modules/access/concat.c
    functionUses: 4
    functionsReached:
    - GetAccess
    - vlc_stream_ReadBlock
    linkageType: ''
    returnType: block_t
    signature: block_t *Block(stream_t *access, bool *restrict eof)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/access/concat.c:110,1
    - Dst: GetAccess
      Src: /src/vlc/modules/access/concat.c:118,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/access/concat.c:123,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/access/concat.c:129,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/access/concat.c:133,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/access/concat.c:139,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - access
    - position
    argTypes:
    - stream_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 144
    functionName: Seek
    functionSourceFile: /src/vlc/modules/access/concat.c
    functionUses: 11
    functionsReached:
    - vlc_stream_Delete
    - vlc_stream_Seek
    - GetAccess
    - vlc_stream_GetSize
    - vlc_stream_Control
    linkageType: ''
    returnType: int
    signature: int Seek(stream_t *access, uint64_t position)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/concat.c:153,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/concat.c:156,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/concat.c:159,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/concat.c:162,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/concat.c:167,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/concat.c:170,1
    - Dst: vlc_stream_vaControl
      Src: /src/vlc/modules/access/concat.c:175,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - access
    - query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 181
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/concat.c
    functionUses: 35
    functionsReached:
    - va_arg
    - vlc_stream_vaControl
    linkageType: ''
    returnType: int
    signature: int Control(stream_t *access, int query, va_list args)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: var_CreateGetNonEmptyString
      Src: /src/vlc/modules/access/concat.c:187,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/access/concat.c:191,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/concat.c:192,1
    - Dst: free
      Src: /src/vlc/modules/access/concat.c:194,1
    - Dst: var_SetString
      Src: /src/vlc/modules/access/concat.c:198,1
    - Dst: strtok_r
      Src: /src/vlc/modules/access/concat.c:212,1
    - Dst: strtok_r
      Src: /src/vlc/modules/access/concat.c:214,1
    - Dst: strlen
      Src: /src/vlc/modules/access/concat.c:216,1
    - Dst: malloc
      Src: /src/vlc/modules/access/concat.c:217,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/concat.c:218,1
    - Dst: vlc_access_NewMRL
      Src: /src/vlc/modules/access/concat.c:221,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/concat.c:224,1
    - Dst: free
      Src: /src/vlc/modules/access/concat.c:225,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/concat.c:233,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/access/concat.c:234,1
    - Dst: free
      Src: /src/vlc/modules/access/concat.c:235,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/concat.c:243,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/access/concat.c:246,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/access/concat.c:248,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/access/concat.c:250,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/access/concat.c:252,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/access/concat.c:258,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/access/concat.c:265,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/access/concat.c:269,1
    - Dst: free
      Src: /src/vlc/modules/access/concat.c:273,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 63
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 284
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/concat.c
    functionUses: 4
    functionsReached:
    - vlc_access_NewMRL
    - strtok_r
    - vlc_obj_malloc
    - var_CreateGetNonEmptyString
    - strlen
    - memcpy
    - vlc_stream_Delete
    - msg_Err
    - free
    - var_SetString
    - unlikely
    - malloc
    - vlc_stream_GetSize
    - vlc_stream_Control
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/access/concat.c:292,1
    - Dst: free
      Src: /src/vlc/modules/access/concat.c:297,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/access/concat.c:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 301
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/concat.c
    functionUses: 28
    functionsReached:
    - free
    - var_Destroy
    - vlc_stream_Delete
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/access/alsa.c:79,1
    - Dst: snd_output_buffer_open
      Src: /src/vlc/modules/access/alsa.c:79,1
    - Dst: cb
      Src: /src/vlc/modules/access/alsa.c:82,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/alsa.c:85,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/access/alsa.c:85,1
    - Dst: snd_output_buffer_string
      Src: /src/vlc/modules/access/alsa.c:89,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/alsa.c:92,1
    - Dst: snd_output_close
      Src: /src/vlc/modules/access/alsa.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - obj
    - msg
    - p
    argTypes:
    - vlc_object_t*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 94
    functionName: Dump
    functionSourceFile: /src/vlc/modules/access/alsa.c
    functionUses: 1
    functionsReached:
    - cb
    - snd_strerror
    - msg_Dbg
    - msg_Warn
    - snd_output_buffer_string
    - snd_output_buffer_open
    - unlikely
    - snd_output_close
    linkageType: ''
    returnType: void
    signature: "void Dump (vlc_object_t *obj, const char *msg,\n                  int
      (*cb)(void *, snd_output_t *), void *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - o
    - ','
    - m
    - ','
    - cb
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: Dump
    functionSourceFile: /src/vlc/modules/access/alsa.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Dump(o, m, cb, p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dump
      Src: /src/vlc/modules/access/alsa.c:102,1
    - Dst: snd_pcm_info_alloca
      Src: /src/vlc/modules/access/alsa.c:103,1
    - Dst: snd_pcm_info
      Src: /src/vlc/modules/access/alsa.c:104,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/alsa.c:106,1
    - Dst: snd_pcm_info_get_name
      Src: /src/vlc/modules/access/alsa.c:106,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/alsa.c:107,1
    - Dst: snd_pcm_info_get_id
      Src: /src/vlc/modules/access/alsa.c:107,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/alsa.c:108,1
    - Dst: snd_pcm_info_get_subdevice_name
      Src: /src/vlc/modules/access/alsa.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - obj
    - pcm
    argTypes:
    - vlc_object_t*
    - snd_pcm_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 111
    functionName: DumpDevice
    functionSourceFile: /src/vlc/modules/access/alsa.c
    functionUses: 0
    functionsReached:
    - snd_pcm_info
    - snd_pcm_info_alloca
    - snd_pcm_info_get_name
    - Dump
    - msg_Dbg
    - snd_pcm_info_get_id
    - snd_pcm_info_get_subdevice_name
    linkageType: ''
    returnType: void
    signature: void DumpDevice (vlc_object_t *obj, snd_pcm_t *pcm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snd_pcm_status_alloca
      Src: /src/vlc/modules/access/alsa.c:117,1
    - Dst: snd_pcm_status
      Src: /src/vlc/modules/access/alsa.c:118,1
    - Dst: Dump
      Src: /src/vlc/modules/access/alsa.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - obj
    - pcm
    argTypes:
    - vlc_object_t*
    - snd_pcm_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: DumpDeviceStatus
    functionSourceFile: /src/vlc/modules/access/alsa.c
    functionUses: 0
    functionsReached:
    - snd_pcm_status
    - Dump
    - snd_pcm_status_alloca
    linkageType: ''
    returnType: void
    signature: void DumpDeviceStatus (vlc_object_t *obj, snd_pcm_t *pcm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - o
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: DumpDeviceStatus
    functionSourceFile: /src/vlc/modules/access/alsa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DumpDeviceStatus(o, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snd_pcm_poll_descriptors_count
      Src: /src/vlc/modules/access/alsa.c:138,1
    - Dst: snd_pcm_poll_descriptors
      Src: /src/vlc/modules/access/alsa.c:142,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/access/alsa.c:145,1
    - Dst: poll
      Src: /src/vlc/modules/access/alsa.c:146,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/access/alsa.c:147,1
    - Dst: snd_pcm_poll_descriptors_revents
      Src: /src/vlc/modules/access/alsa.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pcm
    - canc
    argTypes:
    - snd_pcm_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 151
    functionName: Poll
    functionSourceFile: /src/vlc/modules/access/alsa.c
    functionUses: 0
    functionsReached:
    - vlc_restorecancel
    - snd_pcm_poll_descriptors
    - poll
    - snd_pcm_poll_descriptors_count
    - vlc_savecancel
    - snd_pcm_poll_descriptors_revents
    linkageType: ''
    returnType: void
    signature: void Poll (snd_pcm_t *pcm, int canc)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/access/alsa.c:161,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/access/alsa.c:163,1
    - Dst: snd_pcm_frames_to_bytes
      Src: /src/vlc/modules/access/alsa.c:164,1
    - Dst: snd_pcm_start
      Src: /src/vlc/modules/access/alsa.c:165,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/alsa.c:168,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/access/alsa.c:168,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/alsa.c:174,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/alsa.c:175,1
    - Dst: Poll
      Src: /src/vlc/modules/access/alsa.c:179,1
    - Dst: snd_pcm_readi
      Src: /src/vlc/modules/access/alsa.c:185,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/alsa.c:186,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/alsa.c:189,1
    - Dst: snd_pcm_recover
      Src: /src/vlc/modules/access/alsa.c:193,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/alsa.c:196,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/access/alsa.c:197,1
    - Dst: snd_pcm_state
      Src: /src/vlc/modules/access/alsa.c:198,1
    - Dst: snd_pcm_start
      Src: /src/vlc/modules/access/alsa.c:202,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/alsa.c:205,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/access/alsa.c:206,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/alsa.c:216,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/access/alsa.c:217,1
    - Dst: DumpDeviceStatus
      Src: /src/vlc/modules/access/alsa.c:218,1
    - Dst: snd_pcm_delay
      Src: /src/vlc/modules/access/alsa.c:223,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/access/alsa.c:226,1
    - Dst: snd_pcm_frames_to_bytes
      Src: /src/vlc/modules/access/alsa.c:228,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/access/alsa.c:231,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/alsa.c:233,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/alsa.c:234,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 237
    functionName: Thread
    functionSourceFile: /src/vlc/modules/access/alsa.c
    functionUses: 0
    functionsReached:
    - snd_pcm_frames_to_bytes
    - block_Alloc
    - vlc_tick_now
    - es_out_Send
    - msg_Err
    - vlc_tick_from_samples
    - msg_Warn
    - vlc_savecancel
    - vlc_thread_set_name
    - snd_pcm_state
    - Poll
    - snd_pcm_readi
    - es_out_SetPCR
    - snd_pcm_delay
    - block_Release
    - snd_pcm_start
    - snd_pcm_recover
    - DumpDeviceStatus
    - snd_strerror
    - unlikely
    linkageType: ''
    returnType: void
    signature: void *Thread (void *data)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/alsa.c:246,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/alsa.c:246,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/alsa.c:250,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/alsa.c:261,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - demux
    - query
    - ap
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 269
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/alsa.c
    functionUses: 36
    functionsReached:
    - vlc_tick_now
    - va_arg
    linkageType: ''
    returnType: int
    signature: int Control (demux_t *demux, int query, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 314
    functionName: C
    functionSourceFile: /src/vlc/modules/access/alsa.c
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 316
    functionName: C
    functionSourceFile: /src/vlc/modules/access/alsa.c
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C(f)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/access/alsa.c:349,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/alsa.c:350,1
    - Dst: snd_pcm_open
      Src: /src/vlc/modules/access/alsa.c:363,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/alsa.c:366,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/access/alsa.c:367,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/alsa.c:371,1
    - Dst: DumpDevice
      Src: /src/vlc/modules/access/alsa.c:372,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/alsa.c:372,1
    - Dst: snd_pcm_hw_params_alloca
      Src: /src/vlc/modules/access/alsa.c:380,1
    - Dst: snd_pcm_hw_params_any
      Src: /src/vlc/modules/access/alsa.c:381,1
    - Dst: Dump
      Src: /src/vlc/modules/access/alsa.c:382,1
    - Dst: snd_pcm_hw_params_set_rate_resample
      Src: /src/vlc/modules/access/alsa.c:384,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/alsa.c:387,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/access/alsa.c:387,1
    - Dst: snd_pcm_hw_params_set_access
      Src: /src/vlc/modules/access/alsa.c:391,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/alsa.c:395,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/access/alsa.c:395,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/alsa.c:400,1
    - Dst: snd_pcm_hw_params_test_format
      Src: /src/vlc/modules/access/alsa.c:401,1
    - Dst: snd_pcm_hw_params_set_format
      Src: /src/vlc/modules/access/alsa.c:403,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/alsa.c:406,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/access/alsa.c:407,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/alsa.c:416,1
    - Dst: assert
      Src: /src/vlc/modules/access/alsa.c:420,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/alsa.c:420,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/alsa.c:421,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/access/alsa.c:424,1
    - Dst: snd_pcm_hw_params_set_channels_max
      Src: /src/vlc/modules/access/alsa.c:425,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/alsa.c:428,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/access/alsa.c:429,1
    - Dst: snd_pcm_hw_params_set_channels_last
      Src: /src/vlc/modules/access/alsa.c:432,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/alsa.c:435,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/access/alsa.c:435,1
    - Dst: assert
      Src: /src/vlc/modules/access/alsa.c:438,1
    - Dst: assert
      Src: /src/vlc/modules/access/alsa.c:439,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/alsa.c:439,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/alsa.c:443,1
    - Dst: snd_pcm_hw_params_set_rate_max
      Src: /src/vlc/modules/access/alsa.c:444,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/alsa.c:447,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/access/alsa.c:448,1
    - Dst: snd_pcm_hw_params_set_rate_last
      Src: /src/vlc/modules/access/alsa.c:451,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/alsa.c:454,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/access/alsa.c:454,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/alsa.c:458,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/alsa.c:462,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/alsa.c:463,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/alsa.c:463,1
    - Dst: snd_pcm_hw_params_set_buffer_time_near
      Src: /src/vlc/modules/access/alsa.c:465,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/alsa.c:468,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/access/alsa.c:468,1
    - Dst: snd_pcm_hw_params_set_period_time_near
      Src: /src/vlc/modules/access/alsa.c:473,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/alsa.c:476,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/access/alsa.c:476,1
    - Dst: snd_pcm_hw_params_get_period_size
      Src: /src/vlc/modules/access/alsa.c:480,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/alsa.c:483,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/access/alsa.c:483,1
    - Dst: snd_pcm_hw_params
      Src: /src/vlc/modules/access/alsa.c:490,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/alsa.c:493,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/access/alsa.c:494,1
    - Dst: Dump
      Src: /src/vlc/modules/access/alsa.c:497,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/access/alsa.c:500,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/alsa.c:501,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/access/alsa.c:504,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/access/alsa.c:506,1
    - Dst: snd_pcm_close
      Src: /src/vlc/modules/access/alsa.c:514,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 128
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: ((size_t)format < ARRAY_SIZE(formats))
      pos:
        line_end: 419
        line_start: 419
        source_file: /src/vlc/modules/access/alsa.c
    - condition: (param > 0)
      pos:
        line_end: 437
        line_start: 437
        source_file: /src/vlc/modules/access/alsa.c
    - condition: (param < ARRAY_SIZE(channel_maps))
      pos:
        line_end: 438
        line_start: 438
        source_file: /src/vlc/modules/access/alsa.c
    constantsTouched: []
    func_position:
      end: 516
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 516
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/alsa.c
    functionUses: 4
    functionsReached:
    - snd_pcm_hw_params_any
    - assert
    - snd_pcm_hw_params_test_format
    - vlc_obj_malloc
    - snd_pcm_open
    - snd_pcm_hw_params_set_channels_max
    - snd_pcm_hw_params_set_access
    - snd_pcm_hw_params_set_buffer_time_near
    - snd_pcm_hw_params_get_period_size
    - es_format_Init
    - snd_pcm_close
    - vlc_tick_now
    - snd_pcm_hw_params_alloca
    - ARRAY_SIZE
    - snd_pcm_hw_params_set_rate_last
    - msg_Err
    - msg_Dbg
    - msg_Warn
    - aout_FormatPrepare
    - DumpDevice
    - snd_pcm_hw_params_set_format
    - var_InheritInteger
    - Dump
    - var_InheritBool
    - snd_pcm_hw_params_set_rate_resample
    - snd_pcm_hw_params_set_channels_last
    - snd_pcm_hw_params_set_period_time_near
    - snd_pcm_hw_params
    - snd_pcm_hw_params_set_rate_max
    - vlc_clone
    - VLC_TICK_FROM_MS
    - snd_strerror
    - es_out_Del
    - VLC_OBJECT
    - es_out_Add
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Open (vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_cancel
      Src: /src/vlc/modules/access/alsa.c:523,1
    - Dst: vlc_join
      Src: /src/vlc/modules/access/alsa.c:524,1
    - Dst: snd_pcm_close
      Src: /src/vlc/modules/access/alsa.c:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 527
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/alsa.c
    functionUses: 28
    functionsReached:
    - snd_pcm_close
    - vlc_join
    - vlc_cancel
    linkageType: ''
    returnType: void
    signature: void Close (vlc_object_t *obj)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dvdread_audio.c:37,1
    - Dst: DVDCloseFile
      Src: /src/vlc/modules/access/dvdread_audio.c:46,1
    - Dst: DvdReadResetCellTs
      Src: /src/vlc/modules/access/dvdread_audio.c:50,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdread_audio.c:58,1
    - Dst: ifoClose
      Src: /src/vlc/modules/access/dvdread_audio.c:64,1
    - Dst: ifoOpen
      Src: /src/vlc/modules/access/dvdread_audio.c:65,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvdread_audio.c:68,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvdread_audio.c:80,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvdread_audio.c:92,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdread_audio.c:101,1
    - Dst: DVDOpenFile
      Src: /src/vlc/modules/access/dvdread_audio.c:119,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvdread_audio.c:123,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/access/dvdread_audio.c:140,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/access/dvdread_audio.c:141,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/dvdread_audio.c:146,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdread_audio.c:171,1
    - Dst: DvdReadResetCellTs
      Src: /src/vlc/modules/access/dvdread_audio.c:177,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdread_audio.c:188,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 70
    argCount: 4
    argNames:
    - p_demux
    - i_title
    - i_track
    - i_angle
    argTypes:
    - demux_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 192
    functionName: DvdAudioReadSetArea
    functionSourceFile: /src/vlc/modules/access/dvdread_audio.c
    functionUses: 0
    functionsReached:
    - DVDCloseFile
    - es_out_Control
    - es_format_Clean
    - DvdReadResetCellTs
    - DVDOpenFile
    - msg_Err
    - es_out_Del
    - msg_Dbg
    - ifoOpen
    - ifoClose
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int DvdAudioReadSetArea( demux_t *p_demux, int i_title, int i_track,\n
      \                        int i_angle )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DvdReadResetCellTs
      Src: /src/vlc/modules/access/dvdread_audio.c:237,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - p_demux
    - i_block_offset
    argTypes:
    - demux_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 240
    functionName: DvdAudioReadSeek
    functionSourceFile: /src/vlc/modules/access/dvdread_audio.c
    functionUses: 0
    functionsReached:
    - DvdReadResetCellTs
    linkageType: ''
    returnType: int
    signature: int DvdAudioReadSeek( demux_t *p_demux, uint32_t i_block_offset )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dvdread_audio.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: DvdAudioReadFindCell
    functionSourceFile: /src/vlc/modules/access/dvdread_audio.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void DvdAudioReadFindCell( demux_t *p_demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_SCALE_NZ
      Src: /src/vlc/modules/access/dvdread_audio.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - demux_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: DvdAudioReadTitleLength
    functionSourceFile: /src/vlc/modules/access/dvdread_audio.c
    functionUses: 0
    functionsReached:
    - FROM_SCALE_NZ
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t DvdAudioReadTitleLength( const demux_sys_t *p_sys )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FROM_SCALE_NZ
      Src: /src/vlc/modules/access/dvdread_audio.c:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - p_sys
    - base
    argTypes:
    - demux_sys_t*
    - vlc_tick_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 264
    functionName: DvdAudioReadTimelineBase
    functionSourceFile: /src/vlc/modules/access/dvdread_audio.c
    functionUses: 0
    functionsReached:
    - FROM_SCALE_NZ
    linkageType: ''
    returnType: bool
    signature: bool DvdAudioReadTimelineBase( const demux_sys_t *p_sys, vlc_tick_t
      *base )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dvdread_audio.c:269,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dvdread_audio.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_sys
    - time
    - i_block_offset
    argTypes:
    - demux_sys_t*
    - vlc_tick_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 272
    functionName: DvdAudioReadTimeToSeekOffset
    functionSourceFile: /src/vlc/modules/access/dvdread_audio.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t DvdAudioReadTimeToSeekOffset( const demux_sys_t *p_sys, vlc_tick_t
      time,\n                                              uint32_t i_block_offset
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: DvdAudioReadPsSource
    functionSourceFile: /src/vlc/modules/access/dvdread_audio.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DvdAudioReadPsSource( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dvdread_audio.c:281,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dvdread_audio.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_sys
    - pkt
    argTypes:
    - demux_sys_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: DvdAudioReadAdjustAnchor
    functionSourceFile: /src/vlc/modules/access/dvdread_audio.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void DvdAudioReadAdjustAnchor( demux_sys_t *p_sys, block_t *pkt )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dvdread_audio.c:287,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdread_audio.c:296,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdread_audio.c:302,1
    - Dst: vlc_input_title_New
      Src: /src/vlc/modules/access/dvdread_audio.c:304,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvdread_audio.c:305,1
    - Dst: FROM_SCALE_NZ
      Src: /src/vlc/modules/access/dvdread_audio.c:311,1
    - Dst: ifoOpen
      Src: /src/vlc/modules/access/dvdread_audio.c:314,1
    - Dst: FROM_SCALE_NZ
      Src: /src/vlc/modules/access/dvdread_audio.c:322,1
    - Dst: __MAX
      Src: /src/vlc/modules/access/dvdread_audio.c:337,1
    - Dst: vlc_seekpoint_New
      Src: /src/vlc/modules/access/dvdread_audio.c:339,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvdread_audio.c:340,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/access/dvdread_audio.c:347,1
    - Dst: ifoClose
      Src: /src/vlc/modules/access/dvdread_audio.c:352,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/access/dvdread_audio.c:356,1
    - Dst: ifoClose
      Src: /src/vlc/modules/access/dvdread_audio.c:363,1
    - Dst: vlc_input_title_Delete
      Src: /src/vlc/modules/access/dvdread_audio.c:365,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 2
    argNames:
    - p_demux
    - pi_angle
    argTypes:
    - demux_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 366
    functionName: DvdAudioReadDemuxTitles
    functionSourceFile: /src/vlc/modules/access/dvdread_audio.c
    functionUses: 0
    functionsReached:
    - vlc_input_title_Delete
    - TAB_APPEND
    - vlc_seekpoint_New
    - __MAX
    - FROM_SCALE_NZ
    - vlc_input_title_New
    - msg_Dbg
    - ifoOpen
    - ifoClose
    - unlikely
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void DvdAudioReadDemuxTitles( demux_t *p_demux, int *pi_angle )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenCommonDvdread
      Src: /src/vlc/modules/access/dvdread_audio.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 384
    functionName: OpenAudio
    functionSourceFile: /src/vlc/modules/access/dvdread_audio.c
    functionUses: 0
    functionsReached:
    - OpenCommonDvdread
    linkageType: ''
    returnType: int
    signature: int OpenAudio( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dvdread_audio.c:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 390
    functionName: OpenAudio
    functionSourceFile: /src/vlc/modules/access/dvdread_audio.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int OpenAudio( vlc_object_t *p_this )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_available
      Src: /src/vlc/modules/access/disc_helper.h:32,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/disc_helper.h:41,1
    - Dst: vlc_stat
      Src: /src/vlc/modules/access/disc_helper.h:44,1
    - Dst: S_ISBLK
      Src: /src/vlc/modules/access/disc_helper.h:47,1
    - Dst: S_ISCHR
      Src: /src/vlc/modules/access/disc_helper.h:47,1
    - Dst: access
      Src: /src/vlc/modules/access/disc_helper.h:51,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/disc_helper.h:54,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/access/disc_helper.h:55,1
    - Dst: _
      Src: /src/vlc/modules/access/disc_helper.h:55,1
    - Dst: _
      Src: /src/vlc/modules/access/disc_helper.h:56,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - p_this
    - psz_file
    argTypes:
    - vlc_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 64
    functionName: DiscProbeMacOSPermission
    functionSourceFile: /src/vlc/modules/access/disc_helper.h
    functionUses: 1
    functionsReached:
    - vlc_dialog_display_error
    - _
    - msg_Err
    - msg_Dbg
    - access
    - vlc_stat
    - S_ISCHR
    - S_ISBLK
    - __builtin_available
    linkageType: ''
    returnType: int
    signature: int DiscProbeMacOSPermission( vlc_object_t *p_this, const char *psz_file
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/oss.c:124,1
    - Dst: ProbeAudioDevOss
      Src: /src/vlc/modules/access/oss.c:125,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/oss.c:127,1
    - Dst: OpenAudioDev
      Src: /src/vlc/modules/access/oss.c:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 134
    functionName: FindMainDevice
    functionSourceFile: /src/vlc/modules/access/oss.c
    functionUses: 0
    functionsReached:
    - OpenAudioDev
    - msg_Dbg
    - ProbeAudioDevOss
    linkageType: ''
    returnType: int
    signature: int FindMainDevice( demux_t *p_demux )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/access/oss.c:155,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/oss.c:158,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/access/oss.c:159,1
    - Dst: FindMainDevice
      Src: /src/vlc/modules/access/oss.c:170,1
    - Dst: DemuxClose
      Src: /src/vlc/modules/access/oss.c:172,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 177
    functionName: DemuxOpen
    functionSourceFile: /src/vlc/modules/access/oss.c
    functionUses: 0
    functionsReached:
    - DemuxClose
    - FindMainDevice
    - var_InheritInteger
    - var_InheritBool
    - vlc_obj_calloc
    linkageType: ''
    returnType: int
    signature: int DemuxOpen( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_close
      Src: /src/vlc/modules/access/oss.c:188,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/oss.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 191
    functionName: DemuxClose
    functionSourceFile: /src/vlc/modules/access/oss.c
    functionUses: 1
    functionsReached:
    - vlc_close
    - block_Release
    linkageType: ''
    returnType: void
    signature: void DemuxClose( vlc_object_t *p_this )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/oss.c:207,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/oss.c:212,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/oss.c:213,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/oss.c:213,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/oss.c:217,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/oss.c:217,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/oss.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 230
    functionName: DemuxControl
    functionSourceFile: /src/vlc/modules/access/oss.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - var_InheritInteger
    - va_arg
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: int
    signature: int DemuxControl( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/oss.c:250,1
    - Dst: poll
      Src: /src/vlc/modules/access/oss.c:255,1
    - Dst: GrabAudio
      Src: /src/vlc/modules/access/oss.c:261,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/oss.c:263,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/oss.c:270,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 273
    functionName: Demux
    functionSourceFile: /src/vlc/modules/access/oss.c
    functionUses: 1
    functionsReached:
    - poll
    - GrabAudio
    - es_out_SetPCR
    - es_out_Send
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/oss.c:286,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/oss.c:290,1
    - Dst: read
      Src: /src/vlc/modules/access/oss.c:296,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/oss.c:306,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/oss.c:313,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/access/oss.c:313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 317
    functionName: GrabAudio
    functionSourceFile: /src/vlc/modules/access/oss.c
    functionUses: 1
    functionsReached:
    - vlc_tick_now
    - read
    - block_Alloc
    - vlc_tick_from_samples
    - msg_Warn
    - ioctl
    linkageType: ''
    returnType: block_t
    signature: block_t * GrabAudio( demux_t *p_demux )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_open
      Src: /src/vlc/modules/access/oss.c:328,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/oss.c:332,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/oss.c:333,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/oss.c:338,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/oss.c:341,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/oss.c:343,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/oss.c:347,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/oss.c:349,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/oss.c:350,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/oss.c:354,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/oss.c:356,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/oss.c:357,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/oss.c:368,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 370
    functionName: OpenAudioDevOss
    functionSourceFile: /src/vlc/modules/access/oss.c
    functionUses: 0
    functionsReached:
    - vlc_open
    - vlc_strerror_c
    - vlc_close
    - msg_Err
    - ioctl
    linkageType: ''
    returnType: int
    signature: int OpenAudioDevOss( demux_t *p_demux )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OpenAudioDevOss
      Src: /src/vlc/modules/access/oss.c:375,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/oss.c:380,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/oss.c:385,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/oss.c:393,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/oss.c:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 399
    functionName: OpenAudioDev
    functionSourceFile: /src/vlc/modules/access/oss.c
    functionUses: 1
    functionsReached:
    - OpenAudioDevOss
    - msg_Dbg
    - es_out_Add
    - es_format_Init
    linkageType: ''
    returnType: int
    signature: int OpenAudioDev( demux_t *p_demux )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_open
      Src: /src/vlc/modules/access/oss.c:407,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/oss.c:411,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/oss.c:412,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/oss.c:417,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/oss.c:419,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/oss.c:420,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/oss.c:425,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/oss.c:431,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - p_demux
    - psz_device
    argTypes:
    - demux_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 433
    functionName: ProbeAudioDevOss
    functionSourceFile: /src/vlc/modules/access/oss.c
    functionUses: 1
    functionsReached:
    - vlc_open
    - vlc_strerror_c
    - vlc_close
    - msg_Err
    - ioctl
    linkageType: ''
    returnType: bool
    signature: bool ProbeAudioDevOss( demux_t *p_demux, const char *psz_device )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/rist.c:66,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/rist.c:71,1
    - Dst: jitter
      Src: /src/vlc/modules/access/rist.c:71,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/rist.c:85,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/rist.c:91,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/rist.c:96,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/rist.c:103,1
    - Dst: rist_stats_free
      Src: /src/vlc/modules/access/rist.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - arg
    - stats_container
    argTypes:
    - void*
    - struct rist_stats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 107
    functionName: cb_stats
    functionSourceFile: /src/vlc/modules/access/rist.c
    functionUses: 0
    functionsReached:
    - rist_stats_free
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - msg_Err
    - msg_Dbg
    - jitter
    linkageType: ''
    returnType: int
    signature: int cb_stats(void *arg, const struct rist_stats *stats_container)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/rist.c:117,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/rist.c:121,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/rist.c:121,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/rist.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - p_access
    - i_query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 130
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/rist.c
    functionUses: 37
    functionsReached:
    - var_InheritInteger
    - va_arg
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: int
    signature: int Control(stream_t *p_access, int i_query, va_list args)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/rist.c:146,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/rist.c:148,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/rist.c:149,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/rist.c:153,1
    - Dst: rist_receiver_data_read2
      Src: /src/vlc/modules/access/rist.c:155,1
    - Dst: rist_receiver_data_block_free2
      Src: /src/vlc/modules/access/rist.c:158,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/rist.c:165,1
    - Dst: msg_Info
      Src: /src/vlc/modules/access/rist.c:170,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/rist.c:174,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/rist.c:177,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/rist.c:183,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/rist.c:186,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/rist.c:196,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/rist.c:197,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/rist.c:203,1
    - Dst: rist_receiver_data_block_free2
      Src: /src/vlc/modules/access/rist.c:205,1
    - Dst: rist_receiver_data_block_free2
      Src: /src/vlc/modules/access/rist.c:212,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 63
    argCount: 2
    argNames:
    - p_access
    - eof
    argTypes:
    - stream_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 215
    functionName: BlockRIST
    functionSourceFile: /src/vlc/modules/access/rist.c
    functionUses: 0
    functionsReached:
    - rist_receiver_data_block_free2
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - memcpy
    - msg_Err
    - msg_Info
    - block_Alloc
    - msg_Dbg
    - unlikely
    - rist_receiver_data_read2
    linkageType: ''
    returnType: block_t
    signature: block_t *BlockRIST(stream_t *p_access, bool *restrict eof)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rist_destroy
      Src: /src/vlc/modules/access/rist.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/rist.c
    functionUses: 31
    functionsReached:
    - rist_destroy
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *p_this)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/access/rist.c:230,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/rist.c:231,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/access/rist.c:236,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/rist.c:238,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/rist.c:239,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/rist.c:240,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/rist.c:242,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/rist.c:248,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/rist.c:255,1
    - Dst: rist_logging_set_global
      Src: /src/vlc/modules/access/rist.c:261,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/rist.c:262,1
    - Dst: rist_receiver_create
      Src: /src/vlc/modules/access/rist.c:273,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/rist.c:274,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/rist.c:278,1
    - Dst: rist_receiver_nack_type_set
      Src: /src/vlc/modules/access/rist.c:279,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/rist.c:280,1
    - Dst: rist_stats_callback_set
      Src: /src/vlc/modules/access/rist.c:285,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/rist.c:286,1
    - Dst: rist_add_peers
      Src: /src/vlc/modules/access/rist.c:290,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/rist.c:290,1
    - Dst: rist_start
      Src: /src/vlc/modules/access/rist.c:294,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/rist.c:295,1
    - Dst: rist_destroy
      Src: /src/vlc/modules/access/rist.c:305,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/rist.c:306,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 57
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 308
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/rist.c
    functionUses: 6
    functionsReached:
    - rist_logging_set_global
    - rist_start
    - var_InheritInteger
    - rist_receiver_nack_type_set
    - vlc_mutex_init
    - rist_receiver_create
    - msg_Err
    - rist_stats_callback_set
    - rist_add_peers
    - VLC_OBJECT
    - rist_destroy
    - unlikely
    - vlc_obj_calloc
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *p_this)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pa_stream_get_state
      Src: /src/vlc/modules/access/pulse.c:69,1
    - Dst: pa_threaded_mainloop_signal
      Src: /src/vlc/modules/access/pulse.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - s
    - userdata
    argTypes:
    - pa_stream*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: stream_state_cb
    functionSourceFile: /src/vlc/modules/access/pulse.c
    functionUses: 0
    functionsReached:
    - pa_stream_get_state
    - pa_threaded_mainloop_signal
    linkageType: ''
    returnType: void
    signature: void stream_state_cb(pa_stream *s, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pa_threaded_mainloop_signal
      Src: /src/vlc/modules/access/pulse.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - s
    - success
    - userdata
    argTypes:
    - pa_stream*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: stream_success_cb
    functionSourceFile: /src/vlc/modules/access/pulse.c
    functionUses: 0
    functionsReached:
    - pa_threaded_mainloop_signal
    linkageType: ''
    returnType: void
    signature: void stream_success_cb (pa_stream *s, int success, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pa_stream_get_buffer_attr
      Src: /src/vlc/modules/access/pulse.c:91,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/pulse.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - userdata
    argTypes:
    - pa_stream*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: stream_buffer_attr_cb
    functionSourceFile: /src/vlc/modules/access/pulse.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - pa_stream_get_buffer_attr
    linkageType: ''
    returnType: void
    signature: void stream_buffer_attr_cb(pa_stream *s, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pa_stream_get_device_index
      Src: /src/vlc/modules/access/pulse.c:100,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/pulse.c:102,1
    - Dst: pa_stream_get_device_name
      Src: /src/vlc/modules/access/pulse.c:103,1
    - Dst: stream_buffer_attr_cb
      Src: /src/vlc/modules/access/pulse.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - userdata
    argTypes:
    - pa_stream*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: stream_moved_cb
    functionSourceFile: /src/vlc/modules/access/pulse.c
    functionUses: 0
    functionsReached:
    - stream_buffer_attr_cb
    - pa_stream_get_device_index
    - msg_Dbg
    - pa_stream_get_device_name
    linkageType: ''
    returnType: void
    signature: void stream_moved_cb(pa_stream *s, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/access/pulse.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - userdata
    argTypes:
    - pa_stream*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: stream_overflow_cb
    functionSourceFile: /src/vlc/modules/access/pulse.c
    functionUses: 0
    functionsReached:
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void stream_overflow_cb(pa_stream *s, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/pulse.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - userdata
    argTypes:
    - pa_stream*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: stream_started_cb
    functionSourceFile: /src/vlc/modules/access/pulse.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void stream_started_cb(pa_stream *s, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/pulse.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - userdata
    argTypes:
    - pa_stream*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: stream_suspended_cb
    functionSourceFile: /src/vlc/modules/access/pulse.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void stream_suspended_cb(pa_stream *s, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/pulse.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - userdata
    argTypes:
    - pa_stream*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 137
    functionName: stream_underflow_cb
    functionSourceFile: /src/vlc/modules/access/pulse.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void stream_underflow_cb(pa_stream *s, void *userdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pa_stream_get_state
      Src: /src/vlc/modules/access/pulse.c:143,1
    - Dst: pa_threaded_mainloop_wait
      Src: /src/vlc/modules/access/pulse.c:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - stream
    - mainloop
    argTypes:
    - pa_stream*
    - pa_threaded_mainloop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 149
    functionName: stream_wait
    functionSourceFile: /src/vlc/modules/access/pulse.c
    functionUses: 0
    functionsReached:
    - pa_threaded_mainloop_wait
    - pa_stream_get_state
    linkageType: ''
    returnType: int
    signature: int stream_wait(pa_stream *stream, pa_threaded_mainloop *mainloop)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pa_stream_peek
      Src: /src/vlc/modules/access/pulse.c:158,1
    - Dst: vlc_pa_error
      Src: /src/vlc/modules/access/pulse.c:159,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/pulse.c:163,1
    - Dst: pa_stream_get_latency
      Src: /src/vlc/modules/access/pulse.c:167,1
    - Dst: vlc_pa_error
      Src: /src/vlc/modules/access/pulse.c:168,1
    - Dst: VLC_TICK_FROM_US
      Src: /src/vlc/modules/access/pulse.c:172,1
    - Dst: VLC_TICK_FROM_US
      Src: /src/vlc/modules/access/pulse.c:174,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/pulse.c:176,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/pulse.c:177,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/pulse.c:180,1
    - Dst: likely
      Src: /src/vlc/modules/access/pulse.c:181,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/pulse.c:182,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/pulse.c:190,1
    - Dst: pa_stream_drop
      Src: /src/vlc/modules/access/pulse.c:194,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - s
    - length
    - userdata
    argTypes:
    - pa_stream*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 195
    functionName: stream_read_cb
    functionSourceFile: /src/vlc/modules/access/pulse.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - VLC_TICK_FROM_US
    - es_out_Send
    - unlikely
    - vlc_pa_error
    - memcpy
    - block_Alloc
    - likely
    - pa_stream_drop
    - pa_stream_get_latency
    - pa_stream_peek
    - es_out_SetPCR
    linkageType: ''
    returnType: void
    signature: void stream_read_cb(pa_stream *s, size_t length, void *userdata)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: pa_stream_get_time
      Src: /src/vlc/modules/access/pulse.c:207,1
    - Dst: VLC_TICK_FROM_US
      Src: /src/vlc/modules/access/pulse.c:209,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - demux
    - query
    - ap
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 234
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/pulse.c
    functionUses: 37
    functionsReached:
    - pa_stream_get_time
    - VLC_TICK_FROM_US
    linkageType: ''
    returnType: int
    signature: int Control(demux_t *demux, int query, va_list ap)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/access/pulse.c:260,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/pulse.c:261,1
    - Dst: vlc_pa_connect
      Src: /src/vlc/modules/access/pulse.c:264,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/pulse.c:271,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/pulse.c:271,1
    - Dst: assert
      Src: /src/vlc/modules/access/pulse.c:279,1
    - Dst: pa_sample_spec_valid
      Src: /src/vlc/modules/access/pulse.c:279,1
    - Dst: assert
      Src: /src/vlc/modules/access/pulse.c:285,1
    - Dst: pa_channel_map_valid
      Src: /src/vlc/modules/access/pulse.c:285,1
    - Dst: pa_usec_to_bytes
      Src: /src/vlc/modules/access/pulse.c:300,1
    - Dst: pa_threaded_mainloop_lock
      Src: /src/vlc/modules/access/pulse.c:309,1
    - Dst: pa_stream_new
      Src: /src/vlc/modules/access/pulse.c:310,1
    - Dst: pa_stream_set_state_callback
      Src: /src/vlc/modules/access/pulse.c:315,1
    - Dst: pa_stream_set_read_callback
      Src: /src/vlc/modules/access/pulse.c:316,1
    - Dst: pa_stream_set_buffer_attr_callback
      Src: /src/vlc/modules/access/pulse.c:317,1
    - Dst: pa_stream_set_moved_callback
      Src: /src/vlc/modules/access/pulse.c:318,1
    - Dst: pa_stream_set_overflow_callback
      Src: /src/vlc/modules/access/pulse.c:319,1
    - Dst: pa_stream_set_started_callback
      Src: /src/vlc/modules/access/pulse.c:320,1
    - Dst: pa_stream_set_suspended_callback
      Src: /src/vlc/modules/access/pulse.c:321,1
    - Dst: pa_stream_set_underflow_callback
      Src: /src/vlc/modules/access/pulse.c:322,1
    - Dst: pa_stream_connect_record
      Src: /src/vlc/modules/access/pulse.c:324,1
    - Dst: stream_wait
      Src: /src/vlc/modules/access/pulse.c:325,1
    - Dst: vlc_pa_error
      Src: /src/vlc/modules/access/pulse.c:326,1
    - Dst: pa_stream_get_sample_spec
      Src: /src/vlc/modules/access/pulse.c:331,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/pulse.c:332,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/pulse.c:333,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/pulse.c:340,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/pulse.c:345,1
    - Dst: aout_BitsPerSample
      Src: /src/vlc/modules/access/pulse.c:349,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/pulse.c:353,1
    - Dst: pa_usec_to_bytes
      Src: /src/vlc/modules/access/pulse.c:356,1
    - Dst: pa_stream_set_buffer_attr
      Src: /src/vlc/modules/access/pulse.c:357,1
    - Dst: likely
      Src: /src/vlc/modules/access/pulse.c:358,1
    - Dst: pa_operation_get_state
      Src: /src/vlc/modules/access/pulse.c:359,1
    - Dst: pa_threaded_mainloop_wait
      Src: /src/vlc/modules/access/pulse.c:360,1
    - Dst: pa_operation_unref
      Src: /src/vlc/modules/access/pulse.c:361,1
    - Dst: stream_buffer_attr_cb
      Src: /src/vlc/modules/access/pulse.c:363,1
    - Dst: pa_threaded_mainloop_unlock
      Src: /src/vlc/modules/access/pulse.c:364,1
    - Dst: pa_threaded_mainloop_unlock
      Src: /src/vlc/modules/access/pulse.c:371,1
    - Dst: Close
      Src: /src/vlc/modules/access/pulse.c:372,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 78
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: (pa_sample_spec_valid(&ss))
      pos:
        line_end: 278
        line_start: 278
        source_file: /src/vlc/modules/access/pulse.c
    - condition: (pa_channel_map_valid(&map))
      pos:
        line_end: 284
        line_start: 284
        source_file: /src/vlc/modules/access/pulse.c
    constantsTouched: []
    func_position:
      end: 374
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 374
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/pulse.c
    functionUses: 6
    functionsReached:
    - assert
    - pa_operation_unref
    - vlc_obj_malloc
    - pa_stream_set_started_callback
    - pa_sample_spec_valid
    - pa_threaded_mainloop_lock
    - es_format_Init
    - pa_stream_set_underflow_callback
    - vlc_pa_connect
    - pa_threaded_mainloop_unlock
    - ARRAY_SIZE
    - pa_stream_set_moved_callback
    - pa_stream_set_buffer_attr_callback
    - vlc_pa_error
    - msg_Err
    - aout_BitsPerSample
    - pa_operation_get_state
    - pa_stream_set_overflow_callback
    - pa_stream_set_suspended_callback
    - var_InheritInteger
    - stream_buffer_attr_cb
    - likely
    - Close
    - pa_usec_to_bytes
    - pa_stream_get_sample_spec
    - VLC_TICK_FROM_MS
    - pa_stream_connect_record
    - pa_stream_new
    - pa_stream_set_state_callback
    - pa_channel_map_valid
    - pa_stream_set_read_callback
    - stream_wait
    - pa_stream_set_buffer_attr
    - es_out_Add
    - pa_threaded_mainloop_wait
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/vlc/modules/access/pulse.c:382,1
    - Dst: pa_threaded_mainloop_lock
      Src: /src/vlc/modules/access/pulse.c:383,1
    - Dst: pa_stream_disconnect
      Src: /src/vlc/modules/access/pulse.c:384,1
    - Dst: pa_stream_set_state_callback
      Src: /src/vlc/modules/access/pulse.c:385,1
    - Dst: pa_stream_set_read_callback
      Src: /src/vlc/modules/access/pulse.c:386,1
    - Dst: pa_stream_set_buffer_attr_callback
      Src: /src/vlc/modules/access/pulse.c:387,1
    - Dst: pa_stream_set_moved_callback
      Src: /src/vlc/modules/access/pulse.c:388,1
    - Dst: pa_stream_set_overflow_callback
      Src: /src/vlc/modules/access/pulse.c:389,1
    - Dst: pa_stream_set_started_callback
      Src: /src/vlc/modules/access/pulse.c:390,1
    - Dst: pa_stream_set_suspended_callback
      Src: /src/vlc/modules/access/pulse.c:391,1
    - Dst: pa_stream_set_underflow_callback
      Src: /src/vlc/modules/access/pulse.c:392,1
    - Dst: pa_stream_unref
      Src: /src/vlc/modules/access/pulse.c:393,1
    - Dst: pa_threaded_mainloop_unlock
      Src: /src/vlc/modules/access/pulse.c:394,1
    - Dst: vlc_pa_disconnect
      Src: /src/vlc/modules/access/pulse.c:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 398
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/pulse.c
    functionUses: 32
    functionsReached:
    - pa_stream_disconnect
    - vlc_pa_disconnect
    - pa_stream_set_suspended_callback
    - pa_stream_set_moved_callback
    - pa_stream_set_started_callback
    - pa_stream_unref
    - pa_stream_set_buffer_attr_callback
    - pa_stream_set_state_callback
    - pa_stream_set_read_callback
    - likely
    - pa_threaded_mainloop_lock
    - pa_stream_set_underflow_callback
    - pa_stream_set_overflow_callback
    - pa_threaded_mainloop_unlock
    linkageType: ''
    returnType: void
    signature: void Close (vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vlc/modules/access/srt_common.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - str
    - find
    argTypes:
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: find
    functionSourceFile: /src/vlc/modules/access/srt_common.c
    functionUses: 2
    functionsReached:
    - strchr
    linkageType: ''
    returnType: char
    signature: 'char *

      find(char *str, char find)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strtok_r
      Src: /src/vlc/modules/access/srt_common.c:67,1
    - Dst: strchr
      Src: /src/vlc/modules/access/srt_common.c:71,1
    - Dst: strlen
      Src: /src/vlc/modules/access/srt_common.c:72,1
    - Dst: strtok_r
      Src: /src/vlc/modules/access/srt_common.c:86,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 4
    argNames:
    - query
    - delimiter
    - params
    - max_params
    argTypes:
    - char*
    - char*
    - parsed_param_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 89
    functionName: srt_url_parse_query
    functionSourceFile: /src/vlc/modules/access/srt_common.c
    functionUses: 0
    functionsReached:
    - strlen
    - strtok_r
    - strchr
    linkageType: ''
    returnType: int
    signature: "int srt_url_parse_query(char *query, const char* delimiter,\n        parsed_param_t
      *params, int max_params)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/vlc/modules/access/srt_common.c:112,1
    - Dst: srt_url_parse_query
      Src: /src/vlc/modules/access/srt_common.c:114,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/srt_common.c:115,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/srt_common.c:123,1
    - Dst: atoi
      Src: /src/vlc/modules/access/srt_common.c:124,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/srt_common.c:127,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/srt_common.c:130,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/srt_common.c:133,1
    - Dst: atoi
      Src: /src/vlc/modules/access/srt_common.c:135,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/srt_common.c:138,1
    - Dst: atoi
      Src: /src/vlc/modules/access/srt_common.c:140,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/srt_common.c:145,1
    - Dst: atoi
      Src: /src/vlc/modules/access/srt_common.c:147,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/srt_common.c:151,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/srt_common.c:152,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 52
    argCount: 2
    argNames:
    - url
    - params
    argTypes:
    - char*
    - srt_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 163
    functionName: srt_parse_url
    functionSourceFile: /src/vlc/modules/access/srt_common.c
    functionUses: 0
    functionsReached:
    - atoi
    - ARRAY_SIZE
    - srt_url_parse_query
    - strcmp
    - find
    linkageType: ''
    returnType: bool
    signature: bool srt_parse_url(char* url, srt_params_t* params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: srt_setsockopt
      Src: /src/vlc/modules/access/srt_common.c:170,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/srt_common.c:172,1
    - Dst: srt_getlasterror_str
      Src: /src/vlc/modules/access/srt_common.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - this
    - srt_param
    - u
    - opt
    - optval
    - optlen
    argTypes:
    - vlc_object_t*
    - char*
    - SRTSOCKET
    - SRT_SOCKOPT
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: srt_set_socket_option
    functionSourceFile: /src/vlc/modules/access/srt_common.c
    functionUses: 0
    functionsReached:
    - srt_getlasterror_str
    - srt_setsockopt
    - msg_Err
    linkageType: ''
    returnType: int
    signature: "int srt_set_socket_option(vlc_object_t *this, const char *srt_param,\n
      \       SRTSOCKET u, SRT_SOCKOPT opt, const void *optval, int optlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_GenericVa
      Src: /src/vlc/modules/access/dvdread.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - foo
    - i
    - p
    - z
    argTypes:
    - void*
    - dvd_logger_level_t
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: DvdReadLog
    functionSourceFile: /src/vlc/modules/access/dvdread.c
    functionUses: 0
    functionsReached:
    - msg_GenericVa
    linkageType: ''
    returnType: void
    signature: void DvdReadLog( void *foo, dvd_logger_level_t i, const char *p, va_list
      z )
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/dvdread.c:126,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dvdread.c:128,1
    - Dst: strlen
      Src: /src/vlc/modules/access/dvdread.c:133,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dvdread.c:138,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvdread.c:140,1
    - Dst: DiscProbeMacOSPermission
      Src: /src/vlc/modules/access/dvdread.c:144,1
    - Dst: free
      Src: /src/vlc/modules/access/dvdread.c:146,1
    - Dst: DVDREAD_VERSION_CODE
      Src: /src/vlc/modules/access/dvdread.c:152,1
    - Dst: ToLocale
      Src: /src/vlc/modules/access/dvdread.c:156,1
    - Dst: DVDREAD_VERSION_CODE
      Src: /src/vlc/modules/access/dvdread.c:160,1
    - Dst: DVDREAD_VERSION_CODE
      Src: /src/vlc/modules/access/dvdread.c:164,1
    - Dst: DVDOpenAudio
      Src: /src/vlc/modules/access/dvdread.c:167,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvdread.c:171,1
    - Dst: free
      Src: /src/vlc/modules/access/dvdread.c:172,1
    - Dst: DVDOpen2
      Src: /src/vlc/modules/access/dvdread.c:176,1
    - Dst: DVDREAD_VERSION_CODE
      Src: /src/vlc/modules/access/dvdread.c:179,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvdread.c:182,1
    - Dst: free
      Src: /src/vlc/modules/access/dvdread.c:184,1
    - Dst: DVDOpen2
      Src: /src/vlc/modules/access/dvdread.c:187,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvdread.c:191,1
    - Dst: free
      Src: /src/vlc/modules/access/dvdread.c:193,1
    - Dst: DVDOpen
      Src: /src/vlc/modules/access/dvdread.c:196,1
    - Dst: DVDREAD_VERSION_CODE
      Src: /src/vlc/modules/access/dvdread.c:198,1
    - Dst: LocaleFree
      Src: /src/vlc/modules/access/dvdread.c:199,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvdread.c:203,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/access/dvdread.c:204,1
    - Dst: _
      Src: /src/vlc/modules/access/dvdread.c:204,1
    - Dst: _
      Src: /src/vlc/modules/access/dvdread.c:205,1
    - Dst: free
      Src: /src/vlc/modules/access/dvdread.c:207,1
    - Dst: free
      Src: /src/vlc/modules/access/dvdread.c:210,1
    - Dst: ifoOpen
      Src: /src/vlc/modules/access/dvdread.c:213,1
    - Dst: DVDUDFVolumeInfo
      Src: /src/vlc/modules/access/dvdread.c:216,1
    - Dst: DVDISOVolumeInfo
      Src: /src/vlc/modules/access/dvdread.c:218,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/access/dvdread.c:220,1
    - Dst: _
      Src: /src/vlc/modules/access/dvdread.c:220,1
    - Dst: _
      Src: /src/vlc/modules/access/dvdread.c:221,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvdread.c:222,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvdread.c:225,1
    - Dst: DVDClose
      Src: /src/vlc/modules/access/dvdread.c:226,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdread.c:229,1
    - Dst: DEMUX_INIT_COMMON
      Src: /src/vlc/modules/access/dvdread.c:232,1
    - Dst: ps_track_init
      Src: /src/vlc/modules/access/dvdread.c:234,1
    - Dst: DvdReadResetCellTs
      Src: /src/vlc/modules/access/dvdread.c:249,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/access/dvdread.c:251,1
    - Dst: DvdReadSetOps
      Src: /src/vlc/modules/access/dvdread.c:276,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvdread.c:277,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvdread.c:279,1
    - Dst: Close
      Src: /src/vlc/modules/access/dvdread.c:280,1
    - Dst: DemuxTitles
      Src: /src/vlc/modules/access/dvdread.c:284,1
    - Dst: demux_sys_t*::ops::set_area
      Src: /src/vlc/modules/access/dvdread.c:285,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvdread.c:287,1
    - Dst: Close
      Src: /src/vlc/modules/access/dvdread.c:289,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 105
    argCount: 3
    argNames:
    - p_this
    - type
    - video_ops
    argTypes:
    - vlc_object_t*
    - dvd_type_t
    - dvdread_ops_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 293
    functionName: OpenCommonDvdread
    functionSourceFile: /src/vlc/modules/access/dvdread.c
    functionUses: 2
    functionsReached:
    - DiscProbeMacOSPermission
    - DvdReadResetCellTs
    - DVDOpenAudio
    - DEMUX_INIT_COMMON
    - demux_sys_t*::ops::set_area
    - DemuxTitles
    - ToLocale
    - DVDOpen
    - vlc_dialog_display_error
    - _
    - ps_track_init
    - msg_Err
    - LocaleFree
    - msg_Dbg
    - msg_Warn
    - DVDREAD_VERSION_CODE
    - strdup
    - DVDOpen2
    - DvdReadSetOps
    - Close
    - DVDClose
    - DVDISOVolumeInfo
    - var_InheritString
    - strlen
    - free
    - DVDUDFVolumeInfo
    - ifoOpen
    - var_CreateGetInteger
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int OpenCommonDvdread( vlc_object_t *p_this , dvd_type_t type,\n                       const
      dvdread_ops_t *video_ops )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OpenCommonDvdread
      Src: /src/vlc/modules/access/dvdread.c:298,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdread.c:300,1
    - Dst: OpenCommonDvdread
      Src: /src/vlc/modules/access/dvdread.c:301,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdread.c:304,1
    - Dst: OpenCommonDvdread
      Src: /src/vlc/modules/access/dvdread.c:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 296
    functionDepth: 3
    functionLinenumber: 296
    functionLinenumberEnd: 308
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/dvdread.c
    functionUses: 7
    functionsReached:
    - msg_Dbg
    - OpenCommonDvdread
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - p_sys
    - video_ops
    argTypes:
    - demux_sys_t*
    - dvdread_ops_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 332
    functionName: DvdReadSetOps
    functionSourceFile: /src/vlc/modules/access/dvdread.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DvdReadSetOps( demux_sys_t *p_sys, const dvdread_ops_t *video_ops
      )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Clean
      Src: /src/vlc/modules/access/dvdread.c:348,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/access/dvdread.c:349,1
    - Dst: vlc_input_title_Delete
      Src: /src/vlc/modules/access/dvdread.c:355,1
    - Dst: TAB_CLEAN
      Src: /src/vlc/modules/access/dvdread.c:356,1
    - Dst: DVDCloseFile
      Src: /src/vlc/modules/access/dvdread.c:359,1
    - Dst: ifoClose
      Src: /src/vlc/modules/access/dvdread.c:360,1
    - Dst: ifoClose
      Src: /src/vlc/modules/access/dvdread.c:361,1
    - Dst: DVDClose
      Src: /src/vlc/modules/access/dvdread.c:362,1
    - Dst: free
      Src: /src/vlc/modules/access/dvdread.c:364,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 365
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/dvdread.c
    functionUses: 34
    functionsReached:
    - DVDClose
    - DVDCloseFile
    - vlc_input_title_Delete
    - es_format_Clean
    - TAB_CLEAN
    - free
    - es_out_Del
    - ifoClose
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - p_sys
    - shift
    argTypes:
    - demux_sys_t*
    - vlc_tick_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 374
    functionName: DvdReadCellTsShift
    functionSourceFile: /src/vlc/modules/access/dvdread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DvdReadCellTsShift( const demux_sys_t *p_sys, vlc_tick_t *shift
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: demux_sys_t*::ops::timeline_base
      Src: /src/vlc/modules/access/dvdread.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_sys
    - base
    argTypes:
    - demux_sys_t*
    - vlc_tick_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 379
    functionName: DvdReadGetTimelineBase
    functionSourceFile: /src/vlc/modules/access/dvdread.c
    functionUses: 0
    functionsReached:
    - demux_sys_t*::ops::timeline_base
    linkageType: ''
    returnType: bool
    signature: bool DvdReadGetTimelineBase( const demux_sys_t *p_sys, vlc_tick_t *base
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: demux_sys_t*::ops::title_length
      Src: /src/vlc/modules/access/dvdread.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - demux_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 384
    functionName: DvdReadGetControlLength
    functionSourceFile: /src/vlc/modules/access/dvdread.c
    functionUses: 0
    functionsReached:
    - demux_sys_t*::ops::title_length
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t DvdReadGetControlLength( const demux_sys_t *p_sys )
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvdread.c:392,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvdread.c:401,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvdread.c:408,1
    - Dst: DvdReadGetTimelineBase
      Src: /src/vlc/modules/access/dvdread.c:416,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvdread.c:433,1
    - Dst: demux_sys_t*::ops::seek
      Src: /src/vlc/modules/access/dvdread.c:434,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvdread.c:439,1
    - Dst: DvdReadGetControlLength
      Src: /src/vlc/modules/access/dvdread.c:444,1
    - Dst: DvdReadGetTimelineBase
      Src: /src/vlc/modules/access/dvdread.c:448,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvdread.c:459,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvdread.c:464,1
    - Dst: DvdReadGetControlLength
      Src: /src/vlc/modules/access/dvdread.c:469,1
    - Dst: demux_sys_t*::ops::time_to_seek_offset
      Src: /src/vlc/modules/access/dvdread.c:482,1
    - Dst: demux_sys_t*::ops::seek
      Src: /src/vlc/modules/access/dvdread.c:483,1
    - Dst: DvdReadGetControlLength
      Src: /src/vlc/modules/access/dvdread.c:489,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvdread.c:494,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvdread.c:502,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvdread.c:510,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvdread.c:511,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvdread.c:512,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvdread.c:513,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/access/dvdread.c:517,1
    - Dst: vlc_input_title_Duplicate
      Src: /src/vlc/modules/access/dvdread.c:522,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvdread.c:529,1
    - Dst: demux_sys_t*::ops::set_area
      Src: /src/vlc/modules/access/dvdread.c:531,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvdread.c:533,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvdread.c:542,1
    - Dst: demux_sys_t*::ops::set_area
      Src: /src/vlc/modules/access/dvdread.c:543,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvdread.c:545,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdread.c:550,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvdread.c:555,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvdread.c:562,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvdread.c:566,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvdread.c:570,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/dvdread.c:571,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dvdread.c:571,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvdread.c:575,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 126
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 582
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/dvdread.c
    functionUses: 37
    functionsReached:
    - demux_sys_t*::ops::seek
    - DvdReadGetTimelineBase
    - vlc_input_title_Duplicate
    - var_InheritInteger
    - VLC_TICK_FROM_MS
    - DvdReadGetControlLength
    - va_arg
    - demux_sys_t*::ops::time_to_seek_offset
    - demux_sys_t*::ops::set_area
    - vlc_alloc
    - msg_Dbg
    - msg_Warn
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvdread.c:590,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvdread.c:594,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvdread.c:628,1
    - Dst: DvdVRGetProgramSectorSpan
      Src: /src/vlc/modules/access/dvdread.c:633,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvdread.c:648,1
    - Dst: DvdReadResetCellTs
      Src: /src/vlc/modules/access/dvdread.c:655,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvdread.c:661,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvdread.c:663,1
    - Dst: DvdVRGetProgramSectorSpan
      Src: /src/vlc/modules/access/dvdread.c:673,1
    - Dst: demux_sys_t*::ops::find_cell
      Src: /src/vlc/modules/access/dvdread.c:674,1
    - Dst: DVDReadBlocks
      Src: /src/vlc/modules/access/dvdread.c:692,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvdread.c:695,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/access/dvdread.c:696,1
    - Dst: _
      Src: /src/vlc/modules/access/dvdread.c:696,1
    - Dst: _
      Src: /src/vlc/modules/access/dvdread.c:697,1
    - Dst: DemuxBlock
      Src: /src/vlc/modules/access/dvdread.c:705,1
    - Dst: DvdReadHandleDSI
      Src: /src/vlc/modules/access/dvdread.c:708,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvdread.c:712,1
    - Dst: demux_sys_t*::ops::set_area
      Src: /src/vlc/modules/access/dvdread.c:727,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvdread.c:729,1
    - Dst: __MIN
      Src: /src/vlc/modules/access/dvdread.c:738,1
    - Dst: DVDReadBlocks
      Src: /src/vlc/modules/access/dvdread.c:742,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvdread.c:746,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/access/dvdread.c:748,1
    - Dst: _
      Src: /src/vlc/modules/access/dvdread.c:748,1
    - Dst: _
      Src: /src/vlc/modules/access/dvdread.c:749,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdread.c:758,1
    - Dst: DemuxBlock
      Src: /src/vlc/modules/access/dvdread.c:766,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 81
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 775
    functionName: Demux
    functionSourceFile: /src/vlc/modules/access/dvdread.c
    functionUses: 1
    functionsReached:
    - vlc_dialog_display_error
    - DvdVRGetProgramSectorSpan
    - DVDReadBlocks
    - DvdReadResetCellTs
    - DemuxBlock
    - _
    - DvdReadHandleDSI
    - msg_Err
    - demux_sys_t*::ops::find_cell
    - demux_sys_t*::ops::set_area
    - __MIN
    - msg_Dbg
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: ps_pkt_size
      Src: /src/vlc/modules/access/dvdread.c:786,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/dvdread.c:793,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/dvdread.c:794,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvdread.c:806,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvdread.c:810,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/dvdread.c:813,1
    - Dst: ps_pkt_parse_pack
      Src: /src/vlc/modules/access/dvdread.c:820,1
    - Dst: DvdReadGetTimelineBase
      Src: /src/vlc/modules/access/dvdread.c:827,1
    - Dst: DvdReadCellTsShift
      Src: /src/vlc/modules/access/dvdread.c:835,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/dvdread.c:841,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdread.c:846,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/dvdread.c:847,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/dvdread.c:851,1
    - Dst: ps_pkt_id
      Src: /src/vlc/modules/access/dvdread.c:856,1
    - Dst: demux_sys_t*::ops::ps_source
      Src: /src/vlc/modules/access/dvdread.c:857,1
    - Dst: ps_id_to_tk
      Src: /src/vlc/modules/access/dvdread.c:860,1
    - Dst: DvdReadESNew
      Src: /src/vlc/modules/access/dvdread.c:864,1
    - Dst: ps_pkt_parse_pes
      Src: /src/vlc/modules/access/dvdread.c:867,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/dvdread.c:867,1
    - Dst: demux_sys_t*::ops::adjust_anchor
      Src: /src/vlc/modules/access/dvdread.c:871,1
    - Dst: DvdReadCellTsShift
      Src: /src/vlc/modules/access/dvdread.c:873,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/dvdread.c:893,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/dvdread.c:897,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/dvdread.c:902,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 76
    argCount: 3
    argNames:
    - p_demux
    - p
    - len
    argTypes:
    - demux_t*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 913
    functionName: DemuxBlock
    functionSourceFile: /src/vlc/modules/access/dvdread.c
    functionUses: 2
    functionsReached:
    - block_Release
    - demux_sys_t*::ops::adjust_anchor
    - DvdReadGetTimelineBase
    - es_out_Send
    - ps_pkt_parse_pes
    - memcpy
    - block_Alloc
    - ps_pkt_parse_pack
    - ps_pkt_size
    - msg_Dbg
    - ps_id_to_tk
    - msg_Warn
    - ps_pkt_id
    - DvdReadESNew
    - VLC_OBJECT
    - DvdReadCellTsShift
    - es_out_SetPCR
    - demux_sys_t*::ops::ps_source
    linkageType: ''
    returnType: int
    signature: int DemuxBlock( demux_t *p_demux, const uint8_t *p, int len )
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ps_id_to_tk
      Src: /src/vlc/modules/access/dvdread.c:921,1
    - Dst: ps_track_fill
      Src: /src/vlc/modules/access/dvdread.c:926,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvdread.c:928,1
    - Dst: assert
      Src: /src/vlc/modules/access/dvdread.c:940,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dvdread.c:969,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/dvdread.c:971,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dvdread.c:974,1
    - Dst: vlc_gettext
      Src: /src/vlc/modules/access/dvdread.c:974,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/dvdread.c:982,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dvdread.c:984,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/dvdread.c:986,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dvdread.c:989,1
    - Dst: vlc_gettext
      Src: /src/vlc/modules/access/dvdread.c:989,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/dvdread.c:995,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 4
    argNames:
    - p_demux
    - i_id
    - i_lang
    - i_code_ext
    argTypes:
    - demux_t*
    - int
    - int
    - int
    assertStmts:
    - condition: ( tk->fmt.psz_language == NULL )
      pos:
        line_end: 939
        line_start: 939
        source_file: /src/vlc/modules/access/dvdread.c
    constantsTouched: []
    func_position:
      end: 997
      start: 918
    functionDepth: 1
    functionLinenumber: 918
    functionLinenumberEnd: 997
    functionName: DvdReadESNew
    functionSourceFile: /src/vlc/modules/access/dvdread.c
    functionUses: 1
    functionsReached:
    - assert
    - strdup
    - ARRAY_SIZE
    - vlc_gettext
    - ps_track_fill
    - memcpy
    - ps_id_to_tk
    - es_out_Add
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: void DvdReadESNew( demux_t *p_demux, int i_id, int i_lang, int i_code_ext
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvdread.c:1002,1
    - Dst: demux_sys_t*::ops::demux_titles
      Src: /src/vlc/modules/access/dvdread.c:1004,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_demux
    - pi_angle
    argTypes:
    - demux_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 999
    functionDepth: 1
    functionLinenumber: 999
    functionLinenumberEnd: 1005
    functionName: DemuxTitles
    functionSourceFile: /src/vlc/modules/access/dvdread.c
    functionUses: 2
    functionsReached:
    - unlikely
    - demux_sys_t*::ops::demux_titles
    linkageType: ''
    returnType: void
    signature: void DemuxTitles( demux_t *p_demux, int *pi_angle )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dv.c:126,1
    - Dst: ACCESS_SET_CALLBACKS
      Src: /src/vlc/modules/access/dv.c:129,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/access/dv.c:131,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/access/dv.c:145,1
    - Dst: DiscoverAVC
      Src: /src/vlc/modules/access/dv.c:147,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dv.c:150,1
    - Dst: Close
      Src: /src/vlc/modules/access/dv.c:151,1
    - Dst: AVCOpen
      Src: /src/vlc/modules/access/dv.c:155,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dv.c:158,1
    - Dst: Close
      Src: /src/vlc/modules/access/dv.c:159,1
    - Dst: raw1394_new_handle
      Src: /src/vlc/modules/access/dv.c:163,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dv.c:166,1
    - Dst: Close
      Src: /src/vlc/modules/access/dv.c:167,1
    - Dst: raw1394_get_port_info
      Src: /src/vlc/modules/access/dv.c:171,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dv.c:174,1
    - Dst: Close
      Src: /src/vlc/modules/access/dv.c:175,1
    - Dst: raw1394_set_port
      Src: /src/vlc/modules/access/dv.c:179,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dv.c:181,1
    - Dst: Close
      Src: /src/vlc/modules/access/dv.c:182,1
    - Dst: raw1394_iso_recv_init
      Src: /src/vlc/modules/access/dv.c:186,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dv.c:190,1
    - Dst: Close
      Src: /src/vlc/modules/access/dv.c:191,1
    - Dst: raw1394_set_userdata
      Src: /src/vlc/modules/access/dv.c:195,1
    - Dst: raw1394_iso_recv_start
      Src: /src/vlc/modules/access/dv.c:196,1
    - Dst: raw1394_get_fd
      Src: /src/vlc/modules/access/dv.c:198,1
    - Dst: calloc
      Src: /src/vlc/modules/access/dv.c:202,1
    - Dst: Close
      Src: /src/vlc/modules/access/dv.c:205,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/access/dv.c:212,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/access/dv.c:213,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dv.c:215,1
    - Dst: Close
      Src: /src/vlc/modules/access/dv.c:216,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 69
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 221
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/dv.c
    functionUses: 8
    functionsReached:
    - DiscoverAVC
    - raw1394_get_port_info
    - vlc_obj_malloc
    - vlc_clone
    - vlc_mutex_init
    - raw1394_set_userdata
    - AVCOpen
    - msg_Err
    - calloc
    - raw1394_get_fd
    - raw1394_iso_recv_start
    - msg_Dbg
    - ACCESS_SET_CALLBACKS
    - Close
    - raw1394_iso_recv_init
    - raw1394_new_handle
    - raw1394_set_port
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_cancel
      Src: /src/vlc/modules/access/dv.c:234,1
    - Dst: raw1394_iso_shutdown
      Src: /src/vlc/modules/access/dv.c:237,1
    - Dst: vlc_join
      Src: /src/vlc/modules/access/dv.c:239,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/access/dv.c:244,1
    - Dst: free
      Src: /src/vlc/modules/access/dv.c:248,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/access/dv.c:252,1
    - Dst: raw1394_destroy_handle
      Src: /src/vlc/modules/access/dv.c:254,1
    - Dst: AVCClose
      Src: /src/vlc/modules/access/dv.c:256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 257
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/dv.c
    functionUses: 36
    functionsReached:
    - vlc_cancel
    - block_ChainRelease
    - AVCClose
    - free
    - vlc_join
    - raw1394_iso_shutdown
    - raw1394_destroy_handle
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/dv.c:270,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dv.c:276,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dv.c:280,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/dv.c:281,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dv.c:281,1
    - Dst: AVCPause
      Src: /src/vlc/modules/access/dv.c:286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - p_access
    - i_query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 294
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/dv.c
    functionUses: 37
    functionsReached:
    - var_InheritInteger
    - va_arg
    - VLC_TICK_FROM_MS
    - AVCPause
    linkageType: ''
    returnType: int
    signature: int Control( stream_t *p_access, int i_query, va_list args )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/dv.c:301,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/dv.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - p_access
    - eof
    argTypes:
    - stream_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 309
    functionName: Block
    functionSourceFile: /src/vlc/modules/access/dv.c
    functionUses: 5
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: block_t
    signature: block_t *Block( stream_t *p_access, bool *restrict eof )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVCStop
      Src: /src/vlc/modules/access/dv.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 317
    functionName: Raw1394EventThreadCleanup
    functionSourceFile: /src/vlc/modules/access/dv.c
    functionUses: 0
    functionsReached:
    - AVCStop
    linkageType: ''
    returnType: void
    signature: void Raw1394EventThreadCleanup( void *obj )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/access/dv.c:325,1
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/access/dv.c:327,1
    - Dst: AVCPlay
      Src: /src/vlc/modules/access/dv.c:329,1
    - Dst: vlc_cleanup_push
      Src: /src/vlc/modules/access/dv.c:330,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/access/dv.c:331,1
    - Dst: poll
      Src: /src/vlc/modules/access/dv.c:335,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dv.c:338,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dv.c:338,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/access/dv.c:344,1
    - Dst: raw1394_loop_iterate
      Src: /src/vlc/modules/access/dv.c:345,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/access/dv.c:346,1
    - Dst: vlc_cleanup_pop
      Src: /src/vlc/modules/access/dv.c:350,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/access/dv.c:351,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - obj
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 352
    functionName: Raw1394EventThread
    functionSourceFile: /src/vlc/modules/access/dv.c
    functionUses: 0
    functionsReached:
    - vlc_cleanup_pop
    - vlc_restorecancel
    - vlc_strerror_c
    - vlc_thread_set_name
    - vlc_assert_unreachable
    - poll
    - AVCPlay
    - msg_Err
    - vlc_savecancel
    - raw1394_loop_iterate
    - vlc_cleanup_push
    linkageType: ''
    returnType: void
    signature: void * Raw1394EventThread( void *obj )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dv.c:363,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dv.c:363,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dv.c:364,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dv.c:364,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dv.c:364,1
    - Dst: raw1394_get_userdata
      Src: /src/vlc/modules/access/dv.c:366,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/dv.c:379,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/dv.c:385,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/access/dv.c:390,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/dv.c:393,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/dv.c:395,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/dv.c:405,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/dv.c:409,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/dv.c:413,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/dv.c:417,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/dv.c:421,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/dv.c:425,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/dv.c:431,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 8
    argNames:
    - handle
    - data
    - length
    - channel
    - tag
    - sy
    - cycle
    - dropped
    argTypes:
    - raw1394handle_t
    - unsigned char*
    - unsigned int
    - unsigned char
    - unsigned char
    - unsigned char
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 434
    functionName: Raw1394Handler
    functionSourceFile: /src/vlc/modules/access/dv.c
    functionUses: 0
    functionsReached:
    - block_Release
    - block_ChainAppend
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - raw1394_get_userdata
    - memcpy
    - block_Alloc
    - VLC_UNUSED
    linkageType: ''
    returnType: enum raw1394_iso_disposition
    signature: "enum raw1394_iso_disposition Raw1394Handler(raw1394handle_t handle,
      unsigned char *data,\n        unsigned int length, unsigned char channel,\n
      \       unsigned char tag, unsigned char sy, unsigned int cycle,\n        unsigned
      int dropped)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: raw1394_new_handle
      Src: /src/vlc/modules/access/dv.c:448,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dv.c:450,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dv.c:451,1
    - Dst: raw1394_get_port_info
      Src: /src/vlc/modules/access/dv.c:455,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dv.c:457,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dv.c:458,1
    - Dst: raw1394_destroy_handle
      Src: /src/vlc/modules/access/dv.c:459,1
    - Dst: raw1394_destroy_handle
      Src: /src/vlc/modules/access/dv.c:462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 465
    functionName: Raw1394GetNumPorts
    functionSourceFile: /src/vlc/modules/access/dv.c
    functionUses: 0
    functionsReached:
    - raw1394_get_port_info
    - vlc_strerror_c
    - msg_Err
    - raw1394_destroy_handle
    - raw1394_new_handle
    linkageType: ''
    returnType: int
    signature: int Raw1394GetNumPorts( stream_t *p_access )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: raw1394_new_handle
      Src: /src/vlc/modules/access/dv.c:474,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dv.c:477,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dv.c:478,1
    - Dst: raw1394_get_port_info
      Src: /src/vlc/modules/access/dv.c:482,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dv.c:484,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dv.c:485,1
    - Dst: raw1394_destroy_handle
      Src: /src/vlc/modules/access/dv.c:486,1
    - Dst: raw1394_set_port
      Src: /src/vlc/modules/access/dv.c:491,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dv.c:493,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dv.c:494,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - p_access
    - port
    argTypes:
    - stream_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 499
    functionName: Raw1394Open
    functionSourceFile: /src/vlc/modules/access/dv.c
    functionUses: 0
    functionsReached:
    - raw1394_get_port_info
    - vlc_strerror_c
    - msg_Err
    - raw1394_destroy_handle
    - raw1394_new_handle
    - raw1394_set_port
    linkageType: ''
    returnType: raw1394handle_t
    signature: raw1394handle_t Raw1394Open( stream_t *p_access, int port )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raw1394_destroy_handle
      Src: /src/vlc/modules/access/dv.c:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - raw1394handle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 504
    functionName: Raw1394Close
    functionSourceFile: /src/vlc/modules/access/dv.c
    functionUses: 0
    functionsReached:
    - raw1394_destroy_handle
    linkageType: ''
    returnType: void
    signature: void Raw1394Close( raw1394handle_t handle )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Raw1394GetNumPorts
      Src: /src/vlc/modules/access/dv.c:512,1
    - Dst: Raw1394Open
      Src: /src/vlc/modules/access/dv.c:523,1
    - Dst: raw1394_get_nodecount
      Src: /src/vlc/modules/access/dv.c:527,1
    - Dst: rom1394_get_guid
      Src: /src/vlc/modules/access/dv.c:532,1
    - Dst: rom1394_get_directory
      Src: /src/vlc/modules/access/dv.c:542,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dv.c:544,1
    - Dst: rom1394_get_node_type
      Src: /src/vlc/modules/access/dv.c:547,1
    - Dst: avc1394_check_subunit_type
      Src: /src/vlc/modules/access/dv.c:548,1
    - Dst: Raw1394Close
      Src: /src/vlc/modules/access/dv.c:556,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 3
    argNames:
    - p_access
    - port
    - guid
    argTypes:
    - stream_t*
    - int*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 560
    functionName: DiscoverAVC
    functionSourceFile: /src/vlc/modules/access/dv.c
    functionUses: 1
    functionsReached:
    - rom1394_get_guid
    - Raw1394GetNumPorts
    - rom1394_get_node_type
    - Raw1394Close
    - msg_Err
    - raw1394_get_nodecount
    - Raw1394Open
    - avc1394_check_subunit_type
    - rom1394_get_directory
    linkageType: ''
    returnType: int
    signature: int DiscoverAVC( stream_t *p_access, int* port, uint64_t guid )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: raw1394_new_handle
      Src: /src/vlc/modules/access/dv.c:571,1
    - Dst: raw1394_get_port_info
      Src: /src/vlc/modules/access/dv.c:575,1
    - Dst: raw1394_set_port
      Src: /src/vlc/modules/access/dv.c:578,1
    - Dst: raw1394_set_bus_reset_handler
      Src: /src/vlc/modules/access/dv.c:581,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - p_access
    - port
    argTypes:
    - stream_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 584
    functionName: AVCOpen
    functionSourceFile: /src/vlc/modules/access/dv.c
    functionUses: 1
    functionsReached:
    - raw1394_get_port_info
    - raw1394_new_handle
    - raw1394_set_bus_reset_handler
    - raw1394_set_port
    linkageType: ''
    returnType: raw1394handle_t
    signature: raw1394handle_t AVCOpen( stream_t *p_access, int port )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raw1394_destroy_handle
      Src: /src/vlc/modules/access/dv.c:592,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 595
    functionName: AVCClose
    functionSourceFile: /src/vlc/modules/access/dv.c
    functionUses: 1
    functionsReached:
    - raw1394_destroy_handle
    linkageType: ''
    returnType: void
    signature: void AVCClose( stream_t *p_access )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raw1394_update_generation
      Src: /src/vlc/modules/access/dv.c:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - handle
    - generation
    argTypes:
    - raw1394handle_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 601
    functionName: AVCResetHandler
    functionSourceFile: /src/vlc/modules/access/dv.c
    functionUses: 0
    functionsReached:
    - raw1394_update_generation
    linkageType: ''
    returnType: int
    signature: int AVCResetHandler( raw1394handle_t handle, unsigned int generation
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dv.c:607,1
    - Dst: avc1394_vcr_is_recording
      Src: /src/vlc/modules/access/dv.c:611,1
    - Dst: avc1394_vcr_is_playing
      Src: /src/vlc/modules/access/dv.c:612,1
    - Dst: avc1394_vcr_play
      Src: /src/vlc/modules/access/dv.c:613,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - p_access
    - phyID
    argTypes:
    - stream_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 616
    functionName: AVCPlay
    functionSourceFile: /src/vlc/modules/access/dv.c
    functionUses: 1
    functionsReached:
    - avc1394_vcr_is_playing
    - avc1394_vcr_play
    - msg_Dbg
    - avc1394_vcr_is_recording
    linkageType: ''
    returnType: int
    signature: int AVCPlay( stream_t *p_access, int phyID )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avc1394_vcr_is_recording
      Src: /src/vlc/modules/access/dv.c:624,1
    - Dst: avc1394_vcr_is_playing
      Src: /src/vlc/modules/access/dv.c:625,1
    - Dst: avc1394_vcr_pause
      Src: /src/vlc/modules/access/dv.c:626,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - p_access
    - phyID
    argTypes:
    - stream_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 629
    functionName: AVCPause
    functionSourceFile: /src/vlc/modules/access/dv.c
    functionUses: 1
    functionsReached:
    - avc1394_vcr_is_playing
    - avc1394_vcr_is_recording
    - avc1394_vcr_pause
    linkageType: ''
    returnType: int
    signature: int AVCPause( stream_t *p_access, int phyID )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dv.c:636,1
    - Dst: avc1394_vcr_stop
      Src: /src/vlc/modules/access/dv.c:639,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - p_access
    - phyID
    argTypes:
    - stream_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 642
    functionName: AVCStop
    functionSourceFile: /src/vlc/modules/access/dv.c
    functionUses: 1
    functionsReached:
    - avc1394_vcr_stop
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int AVCStop( stream_t *p_access, int phyID )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _format
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: FREERDP_PIXEL_BPP
    functionSourceFile: /src/vlc/modules/access/rdp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREERDP_PIXEL_BPP(_format)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: FREERDP_PIXEL_BPP
      Src: /src/vlc/modules/access/rdp.c:138,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/access/rdp.c:142,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/rdp.c:151,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/rdp.c:198,1
    - Dst: video_format_Setup
      Src: /src/vlc/modules/access/rdp.c:199,1
    - Dst: ckd_mul
      Src: /src/vlc/modules/access/rdp.c:204,1
    - Dst: ckd_mul
      Src: /src/vlc/modules/access/rdp.c:205,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/rdp.c:207,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/access/rdp.c:212,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/rdp.c:214,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/rdp.c:216,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 1
    argNames:
    - p_context
    argTypes:
    - rdpContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 218
    functionName: desktopResizeHandler
    functionSourceFile: /src/vlc/modules/access/rdp.c
    functionUses: 0
    functionsReached:
    - block_Realloc
    - video_format_Setup
    - FREERDP_PIXEL_BPP
    - msg_Err
    - ckd_mul
    - block_Alloc
    - es_out_Del
    - msg_Dbg
    - es_out_Add
    - es_format_Init
    linkageType: ''
    returnType: BOOL
    signature: BOOL desktopResizeHandler( rdpContext *p_context )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/rdp.c:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - p_context
    argTypes:
    - rdpContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 229
    functionName: beginPaintHandler
    functionSourceFile: /src/vlc/modules/access/rdp.c
    functionUses: 0
    functionsReached:
    - block_Alloc
    linkageType: ''
    returnType: BOOL
    signature: BOOL beginPaintHandler( rdpContext *p_context )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/access/rdp.c:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p_context
    argTypes:
    - rdpContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 243
    functionName: endPaintHandler
    functionSourceFile: /src/vlc/modules/access/rdp.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: BOOL
    signature: BOOL endPaintHandler( rdpContext *p_context )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/access/rdp.c:255,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/rdp.c:257,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/rdp.c:259,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/access/rdp.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - p_instance
    argTypes:
    - freerdp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 265
    functionName: preConnectHandler
    functionSourceFile: /src/vlc/modules/access/rdp.c
    functionUses: 0
    functionsReached:
    - var_InheritString
    - var_InheritBool
    - strdup
    linkageType: ''
    returnType: BOOL
    signature: BOOL preConnectHandler( freerdp *p_instance )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/rdp.c:271,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/rdp.c:284,1
    - Dst: gdi_init
      Src: /src/vlc/modules/access/rdp.c:297,1
    - Dst: desktopResizeHandler
      Src: /src/vlc/modules/access/rdp.c:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - p_instance
    argTypes:
    - freerdp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 302
    functionName: postConnectHandler
    functionSourceFile: /src/vlc/modules/access/rdp.c
    functionUses: 0
    functionsReached:
    - desktopResizeHandler
    - msg_Dbg
    - gdi_init
    linkageType: ''
    returnType: BOOL
    signature: BOOL postConnectHandler( freerdp *p_instance )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/rdp.c:307,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/rdp.c:309,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/rdp.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - p_instance
    - ppsz_username
    - ppsz_password
    - ppsz_domain
    argTypes:
    - freerdp*
    - char**
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 312
    functionName: authenticateHandler
    functionSourceFile: /src/vlc/modules/access/rdp.c
    functionUses: 0
    functionsReached:
    - var_InheritString
    - VLC_UNUSED
    linkageType: ''
    returnType: BOOL
    signature: "BOOL authenticateHandler( freerdp *p_instance, char** ppsz_username,\n
      \                                char** ppsz_password, char** ppsz_domain )"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/rdp.c:331,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/rdp.c:336,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/rdp.c:341,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/rdp.c:342,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/rdp.c:342,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/rdp.c:346,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/rdp.c:346,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/rdp.c:350,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/rdp.c:354,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/rdp.c:359,1
    - Dst: vlc_meta_Set
      Src: /src/vlc/modules/access/rdp.c:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 366
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/rdp.c
    functionUses: 37
    functionsReached:
    - vlc_tick_now
    - vlc_meta_Set
    - var_InheritInteger
    - VLC_TICK_FROM_MS
    - va_arg
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/rdp.c:375,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/rdp.c:376,1
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/access/rdp.c:379,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/access/rdp.c:384,1
    - Dst: freerdp_shall_disconnect
      Src: /src/vlc/modules/access/rdp.c:385,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/access/rdp.c:387,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/rdp.c:388,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/access/rdp.c:389,1
    - Dst: freerdp_get_fds
      Src: /src/vlc/modules/access/rdp.c:405,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/access/rdp.c:408,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/rdp.c:409,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/access/rdp.c:414,1
    - Dst: poll
      Src: /src/vlc/modules/access/rdp.c:429,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/access/rdp.c:431,1
    - Dst: vlc_tick_wait
      Src: /src/vlc/modules/access/rdp.c:434,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/access/rdp.c:440,1
    - Dst: freerdp_check_fds
      Src: /src/vlc/modules/access/rdp.c:441,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/access/rdp.c:442,1
    - Dst: block_Duplicate
      Src: /src/vlc/modules/access/rdp.c:443,1
    - Dst: likely
      Src: /src/vlc/modules/access/rdp.c:444,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/rdp.c:446,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/rdp.c:447,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/rdp.c:448,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 1
    argNames:
    - p_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 454
    functionName: DemuxThread
    functionSourceFile: /src/vlc/modules/access/rdp.c
    functionUses: 0
    functionsReached:
    - vlc_tick_wait
    - vlc_tick_now
    - vlc_restorecancel
    - vlc_thread_set_name
    - freerdp_get_fds
    - es_out_Send
    - poll
    - msg_Err
    - block_Duplicate
    - freerdp_check_fds
    - es_out_Del
    - likely
    - msg_Warn
    - vlc_savecancel
    - freerdp_shall_disconnect
    - es_out_SetPCR
    linkageType: ''
    returnType: void
    signature: void *DemuxThread( void *p_data )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/access/rdp.c:467,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/access/rdp.c:470,1
    - Dst: freerdp_new
      Src: /src/vlc/modules/access/rdp.c:474,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/rdp.c:477,1
    - Dst: freerdp_context_new
      Src: /src/vlc/modules/access/rdp.c:488,1
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/access/rdp.c:495,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/access/rdp.c:497,1
    - Dst: strdup
      Src: /src/vlc/modules/access/rdp.c:498,1
    - Dst: strdup
      Src: /src/vlc/modules/access/rdp.c:500,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/rdp.c:504,1
    - Dst: freerdp_connect
      Src: /src/vlc/modules/access/rdp.c:506,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/rdp.c:508,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/access/rdp.c:512,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/rdp.c:514,1
    - Dst: freerdp_disconnect
      Src: /src/vlc/modules/access/rdp.c:515,1
    - Dst: freerdp_free
      Src: /src/vlc/modules/access/rdp.c:525,1
    - Dst: free
      Src: /src/vlc/modules/access/rdp.c:526,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 528
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/rdp.c
    functionUses: 9
    functionsReached:
    - vlc_UrlParse
    - freerdp_free
    - strdup
    - freerdp_connect
    - vlc_clone
    - freerdp_disconnect
    - vlc_UrlClean
    - msg_Err
    - free
    - EMPTY_STR
    - freerdp_context_new
    - var_InheritFloat
    - vlc_obj_calloc
    - freerdp_new
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_cancel
      Src: /src/vlc/modules/access/rdp.c:538,1
    - Dst: vlc_join
      Src: /src/vlc/modules/access/rdp.c:539,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/access/rdp.c:542,1
    - Dst: freerdp_disconnect
      Src: /src/vlc/modules/access/rdp.c:544,1
    - Dst: freerdp_free
      Src: /src/vlc/modules/access/rdp.c:545,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/rdp.c:548,1
    - Dst: free
      Src: /src/vlc/modules/access/rdp.c:550,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 551
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/rdp.c
    functionUses: 37
    functionsReached:
    - freerdp_free
    - block_Release
    - vlc_cancel
    - freerdp_disconnect
    - free
    - vlc_join
    - es_out_Del
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/cdda.c:71,1
    - Dst: ToLocaleDup
      Src: /src/vlc/modules/access/cdda.c:74,1
    - Dst: vlc_uri_decode_duplicate
      Src: /src/vlc/modules/access/cdda.c:78,1
    - Dst: strrchr
      Src: /src/vlc/modules/access/cdda.c:83,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/cdda.c:95,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/cdda.c:103,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/cdda.c:103,1
    - Dst: free
      Src: /src/vlc/modules/access/cdda.c:105,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/cdda.c:112,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/cdda.c:119,1
    - Dst: DiscProbeMacOSPermission
      Src: /src/vlc/modules/access/cdda.c:124,1
    - Dst: free
      Src: /src/vlc/modules/access/cdda.c:125,1
    - Dst: ioctl_Open
      Src: /src/vlc/modules/access/cdda.c:131,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/cdda.c:133,1
    - Dst: free
      Src: /src/vlc/modules/access/cdda.c:134,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 4
    argNames:
    - obj
    - location
    - path
    - trackp
    argTypes:
    - vlc_object_t*
    - char*
    - char*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 137
    functionName: DiscOpen
    functionSourceFile: /src/vlc/modules/access/cdda.c
    functionUses: 0
    functionsReached:
    - sscanf
    - asprintf
    - ioctl_Open
    - vlc_uri_decode_duplicate
    - var_InheritString
    - var_InheritInteger
    - DiscProbeMacOSPermission
    - unlikely
    - free
    - strcmp
    - msg_Warn
    - strrchr
    - ToLocaleDup
    linkageType: ''
    returnType: vcddev_t
    signature: "vcddev_t *DiscOpen(vlc_object_t *obj, const char *location,\n                         const
      char *path, unsigned *restrict trackp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/cdda.c:164,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/cdda.c:165,1
    - Dst: ioctl_ReadSectors
      Src: /src/vlc/modules/access/cdda.c:168,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/cdda.c:168,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/cdda.c:172,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/cdda.c:173,1
    - Dst: date_Get
      Src: /src/vlc/modules/access/cdda.c:183,1
    - Dst: date_Increment
      Src: /src/vlc/modules/access/cdda.c:184,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/cdda.c:186,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/cdda.c:187,1
    - Dst: date_Get
      Src: /src/vlc/modules/access/cdda.c:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 189
    functionName: Demux
    functionSourceFile: /src/vlc/modules/access/cdda.c
    functionUses: 1
    functionsReached:
    - block_Release
    - es_out_Send
    - ioctl_ReadSectors
    - msg_Err
    - block_Alloc
    - VLC_OBJECT
    - date_Get
    - date_Increment
    - unlikely
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int Demux(demux_t *demux)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/cdda.c:200,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/cdda.c:203,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/cdda.c:204,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/cdda.c:204,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/cdda.c:211,1
    - Dst: lround
      Src: /src/vlc/modules/access/cdda.c:216,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/cdda.c:216,1
    - Dst: date_Set
      Src: /src/vlc/modules/access/cdda.c:217,1
    - Dst: date_Increment
      Src: /src/vlc/modules/access/cdda.c:218,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/cdda.c:222,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/access/cdda.c:222,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/cdda.c:225,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/access/cdda.c:225,1
    - Dst: samples_from_vlc_tick
      Src: /src/vlc/modules/access/cdda.c:228,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/cdda.c:228,1
    - Dst: date_Set
      Src: /src/vlc/modules/access/cdda.c:229,1
    - Dst: date_Increment
      Src: /src/vlc/modules/access/cdda.c:230,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - demux
    - query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 237
    functionName: DemuxControl
    functionSourceFile: /src/vlc/modules/access/cdda.c
    functionUses: 0
    functionsReached:
    - samples_from_vlc_tick
    - lround
    - var_InheritInteger
    - VLC_TICK_FROM_MS
    - date_Set
    - va_arg
    - vlc_tick_from_samples
    - date_Increment
    linkageType: ''
    returnType: int
    signature: int DemuxControl(demux_t *demux, int query, va_list args)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - p_toc
    - pi_first
    - pi_last
    argTypes:
    - vcddev_toc_t*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 298
    functionName: TOC_GetAudioRange
    functionSourceFile: /src/vlc/modules/access/cdda.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int TOC_GetAudioRange(vcddev_toc_t *p_toc,\n                             int
      *pi_first, int *pi_last)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/access/cdda.c:307,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/cdda.c:308,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/cdda.c:313,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/cdda.c:314,1
    - Dst: ioctl_GetTOC
      Src: /src/vlc/modules/access/cdda.c:319,1
    - Dst: TOC_GetAudioRange
      Src: /src/vlc/modules/access/cdda.c:324,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/cdda.c:328,1
    - Dst: vcddev_toc_Free
      Src: /src/vlc/modules/access/cdda.c:329,1
    - Dst: vcddev_toc_Free
      Src: /src/vlc/modules/access/cdda.c:341,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/cdda.c:346,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/cdda.c:349,1
    - Dst: date_Init
      Src: /src/vlc/modules/access/cdda.c:351,1
    - Dst: date_Set
      Src: /src/vlc/modules/access/cdda.c:352,1
    - Dst: ioctl_Close
      Src: /src/vlc/modules/access/cdda.c:360,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 3
    argNames:
    - obj
    - dev
    - track
    argTypes:
    - vlc_object_t*
    - vcddev_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 362
    functionName: DemuxOpen
    functionSourceFile: /src/vlc/modules/access/cdda.c
    functionUses: 0
    functionsReached:
    - vcddev_toc_Free
    - vlc_obj_malloc
    - TOC_GetAudioRange
    - var_InheritInteger
    - date_Init
    - date_Set
    - ioctl_Close
    - msg_Err
    - ioctl_GetTOC
    - es_out_Add
    - es_format_Init
    - unlikely
    linkageType: ''
    returnType: int
    signature: int DemuxOpen(vlc_object_t *obj, vcddev_t *dev, unsigned track)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_sector
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 384
    functionName: LBAPregap
    functionSourceFile: /src/vlc/modules/access/cdda.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LBAPregap( int i_sector )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_open
      Src: /src/vlc/modules/access/cdda.c:391,1
    - Dst: gcry_md_enable
      Src: /src/vlc/modules/access/cdda.c:395,1
    - Dst: gcry_md_close
      Src: /src/vlc/modules/access/cdda.c:397,1
    - Dst: snprintf
      Src: /src/vlc/modules/access/cdda.c:403,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/cdda.c:403,1
    - Dst: gcry_md_write
      Src: /src/vlc/modules/access/cdda.c:404,1
    - Dst: snprintf
      Src: /src/vlc/modules/access/cdda.c:405,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/cdda.c:405,1
    - Dst: gcry_md_write
      Src: /src/vlc/modules/access/cdda.c:406,1
    - Dst: LBAPregap
      Src: /src/vlc/modules/access/cdda.c:413,1
    - Dst: LBAPregap
      Src: /src/vlc/modules/access/cdda.c:415,1
    - Dst: snprintf
      Src: /src/vlc/modules/access/cdda.c:417,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/cdda.c:417,1
    - Dst: gcry_md_write
      Src: /src/vlc/modules/access/cdda.c:418,1
    - Dst: snprintf
      Src: /src/vlc/modules/access/cdda.c:422,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/cdda.c:422,1
    - Dst: LBAPregap
      Src: /src/vlc/modules/access/cdda.c:422,1
    - Dst: gcry_md_write
      Src: /src/vlc/modules/access/cdda.c:423,1
    - Dst: gcry_md_write
      Src: /src/vlc/modules/access/cdda.c:430,1
    - Dst: gcry_md_final
      Src: /src/vlc/modules/access/cdda.c:433,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/vlc/modules/access/cdda.c:435,1
    - Dst: gcry_md_read
      Src: /src/vlc/modules/access/cdda.c:436,1
    - Dst: vlc_b64_encode_binary
      Src: /src/vlc/modules/access/cdda.c:437,1
    - Dst: strlen
      Src: /src/vlc/modules/access/cdda.c:440,1
    - Dst: isalpha
      Src: /src/vlc/modules/access/cdda.c:443,1
    - Dst: gcry_md_close
      Src: /src/vlc/modules/access/cdda.c:455,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 4
    argNames:
    - p_toc
    - i_total
    - i_first
    - i_last
    argTypes:
    - vcddev_toc_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 458
    functionName: BuildMusicbrainzDiscID
    functionSourceFile: /src/vlc/modules/access/cdda.c
    functionUses: 0
    functionsReached:
    - isalpha
    - gcry_md_final
    - ARRAY_SIZE
    - vlc_b64_encode_binary
    - strlen
    - gcry_md_close
    - gcry_md_enable
    - gcry_md_get_algo_dlen
    - gcry_md_open
    - LBAPregap
    - gcry_md_write
    - gcry_md_read
    - snprintf
    linkageType: ''
    returnType: char
    signature: "char * BuildMusicbrainzDiscID( const vcddev_toc_t *p_toc,\n                                      int
      i_total, int i_first, int i_last )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 461
    functionName: BuildMusicbrainzDiscID
    functionSourceFile: /src/vlc/modules/access/cdda.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BuildMusicbrainzDiscID(a, b, c, d)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/cdda.c:469,1
    - Dst: BuildMusicbrainzDiscID
      Src: /src/vlc/modules/access/cdda.c:478,1
    - Dst: musicbrainz_lookup_recording_by_discid
      Src: /src/vlc/modules/access/cdda.c:482,1
    - Dst: free
      Src: /src/vlc/modules/access/cdda.c:483,1
    - Dst: vlc_memstream_open
      Src: /src/vlc/modules/access/cdda.c:489,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/access/cdda.c:490,1
    - Dst: LBAPregap
      Src: /src/vlc/modules/access/cdda.c:496,1
    - Dst: LBAPregap
      Src: /src/vlc/modules/access/cdda.c:498,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/access/cdda.c:499,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/access/cdda.c:501,1
    - Dst: LBAPregap
      Src: /src/vlc/modules/access/cdda.c:501,1
    - Dst: vlc_memstream_close
      Src: /src/vlc/modules/access/cdda.c:502,1
    - Dst: musicbrainz_lookup_recording_by_toc
      Src: /src/vlc/modules/access/cdda.c:504,1
    - Dst: free
      Src: /src/vlc/modules/access/cdda.c:505,1
    - Dst: free
      Src: /src/vlc/modules/access/cdda.c:509,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - obj
    - p_toc
    - i_total
    - i_first
    - i_last
    argTypes:
    - vlc_object_t*
    - vcddev_toc_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 463
    functionDepth: 2
    functionLinenumber: 463
    functionLinenumberEnd: 511
    functionName: GetMusicbrainzInfo
    functionSourceFile: /src/vlc/modules/access/cdda.c
    functionUses: 0
    functionsReached:
    - var_InheritString
    - vlc_memstream_open
    - vlc_memstream_printf
    - free
    - BuildMusicbrainzDiscID
    - musicbrainz_lookup_recording_by_discid
    - LBAPregap
    - vlc_memstream_close
    - musicbrainz_lookup_recording_by_toc
    linkageType: ''
    returnType: musicbrainz_recording_t
    signature: "musicbrainz_recording_t * GetMusicbrainzInfo( vlc_object_t *obj,\n
      \                                                    const vcddev_toc_t *p_toc,\n
      \                                                    int i_total, int i_first,
      int i_last )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_meta_SetTitle
      Src: /src/vlc/modules/access/cdda.c:517,1
    - Dst: vlc_meta_Merge
      Src: /src/vlc/modules/access/cdda.c:521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - access
    - meta
    argTypes:
    - stream_t*
    - vlc_meta_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 527
    functionName: AccessGetMeta
    functionSourceFile: /src/vlc/modules/access/cdda.c
    functionUses: 0
    functionsReached:
    - vlc_meta_Merge
    - vlc_meta_SetTitle
    linkageType: ''
    returnType: void
    signature: void AccessGetMeta(stream_t *access, vlc_meta_t *meta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - psz
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 525
    functionName: NONEMPTY
    functionSourceFile: /src/vlc/modules/access/cdda.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NONEMPTY( psz )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - psz
    - ','
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 527
    functionName: ON_EMPTY
    functionSourceFile: /src/vlc/modules/access/cdda.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ON_EMPTY( psz, code )
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/cdda.c:538,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/cdda.c:543,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/cdda.c:543,1
    - Dst: _
      Src: /src/vlc/modules/access/cdda.c:543,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/access/cdda.c:555,1
    - Dst: input_item_NewDisc
      Src: /src/vlc/modules/access/cdda.c:557,1
    - Dst: free
      Src: /src/vlc/modules/access/cdda.c:560,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/cdda.c:562,1
    - Dst: likely
      Src: /src/vlc/modules/access/cdda.c:566,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/cdda.c:566,1
    - Dst: input_item_AddOption
      Src: /src/vlc/modules/access/cdda.c:568,1
    - Dst: free
      Src: /src/vlc/modules/access/cdda.c:569,1
    - Dst: likely
      Src: /src/vlc/modules/access/cdda.c:572,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/cdda.c:572,1
    - Dst: input_item_AddOption
      Src: /src/vlc/modules/access/cdda.c:574,1
    - Dst: free
      Src: /src/vlc/modules/access/cdda.c:575,1
    - Dst: likely
      Src: /src/vlc/modules/access/cdda.c:578,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/cdda.c:578,1
    - Dst: input_item_AddOption
      Src: /src/vlc/modules/access/cdda.c:580,1
    - Dst: free
      Src: /src/vlc/modules/access/cdda.c:581,1
    - Dst: ON_EMPTY
      Src: /src/vlc/modules/access/cdda.c:604,1
    - Dst: vlc_meta_Get
      Src: /src/vlc/modules/access/cdda.c:604,1
    - Dst: ON_EMPTY
      Src: /src/vlc/modules/access/cdda.c:605,1
    - Dst: vlc_meta_Get
      Src: /src/vlc/modules/access/cdda.c:605,1
    - Dst: ON_EMPTY
      Src: /src/vlc/modules/access/cdda.c:610,1
    - Dst: vlc_meta_Get
      Src: /src/vlc/modules/access/cdda.c:610,1
    - Dst: ON_EMPTY
      Src: /src/vlc/modules/access/cdda.c:611,1
    - Dst: vlc_meta_Get
      Src: /src/vlc/modules/access/cdda.c:611,1
    - Dst: ON_EMPTY
      Src: /src/vlc/modules/access/cdda.c:612,1
    - Dst: vlc_meta_Get
      Src: /src/vlc/modules/access/cdda.c:612,1
    - Dst: ON_EMPTY
      Src: /src/vlc/modules/access/cdda.c:613,1
    - Dst: vlc_meta_Get
      Src: /src/vlc/modules/access/cdda.c:613,1
    - Dst: ON_EMPTY
      Src: /src/vlc/modules/access/cdda.c:614,1
    - Dst: vlc_meta_Get
      Src: /src/vlc/modules/access/cdda.c:614,1
    - Dst: ON_EMPTY
      Src: /src/vlc/modules/access/cdda.c:615,1
    - Dst: vlc_meta_Get
      Src: /src/vlc/modules/access/cdda.c:615,1
    - Dst: vlc_meta_GetExtra
      Src: /src/vlc/modules/access/cdda.c:617,1
    - Dst: vlc_meta_GetExtra
      Src: /src/vlc/modules/access/cdda.c:618,1
    - Dst: vlc_meta_GetExtra
      Src: /src/vlc/modules/access/cdda.c:619,1
    - Dst: vlc_meta_GetExtra
      Src: /src/vlc/modules/access/cdda.c:620,1
    - Dst: ON_EMPTY
      Src: /src/vlc/modules/access/cdda.c:633,1
    - Dst: ON_EMPTY
      Src: /src/vlc/modules/access/cdda.c:634,1
    - Dst: ON_EMPTY
      Src: /src/vlc/modules/access/cdda.c:639,1
    - Dst: NONEMPTY
      Src: /src/vlc/modules/access/cdda.c:640,1
    - Dst: input_item_SetAlbumArtist
      Src: /src/vlc/modules/access/cdda.c:643,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/cdda.c:648,1
    - Dst: NONEMPTY
      Src: /src/vlc/modules/access/cdda.c:651,1
    - Dst: input_item_SetArtworkURL
      Src: /src/vlc/modules/access/cdda.c:652,1
    - Dst: NONEMPTY
      Src: /src/vlc/modules/access/cdda.c:655,1
    - Dst: input_item_SetName
      Src: /src/vlc/modules/access/cdda.c:657,1
    - Dst: input_item_SetTitle
      Src: /src/vlc/modules/access/cdda.c:658,1
    - Dst: NONEMPTY
      Src: /src/vlc/modules/access/cdda.c:661,1
    - Dst: input_item_SetArtist
      Src: /src/vlc/modules/access/cdda.c:662,1
    - Dst: NONEMPTY
      Src: /src/vlc/modules/access/cdda.c:664,1
    - Dst: input_item_SetGenre
      Src: /src/vlc/modules/access/cdda.c:665,1
    - Dst: NONEMPTY
      Src: /src/vlc/modules/access/cdda.c:667,1
    - Dst: input_item_SetDescription
      Src: /src/vlc/modules/access/cdda.c:668,1
    - Dst: NONEMPTY
      Src: /src/vlc/modules/access/cdda.c:670,1
    - Dst: input_item_SetAlbum
      Src: /src/vlc/modules/access/cdda.c:671,1
    - Dst: NONEMPTY
      Src: /src/vlc/modules/access/cdda.c:673,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/access/cdda.c:674,1
    - Dst: NONEMPTY
      Src: /src/vlc/modules/access/cdda.c:675,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/access/cdda.c:676,1
    - Dst: NONEMPTY
      Src: /src/vlc/modules/access/cdda.c:677,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/access/cdda.c:678,1
    - Dst: NONEMPTY
      Src: /src/vlc/modules/access/cdda.c:679,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/access/cdda.c:680,1
    - Dst: snprintf
      Src: /src/vlc/modules/access/cdda.c:686,1
    - Dst: input_item_SetDate
      Src: /src/vlc/modules/access/cdda.c:687,1
    - Dst: snprintf
      Src: /src/vlc/modules/access/cdda.c:691,1
    - Dst: input_item_SetTrackNum
      Src: /src/vlc/modules/access/cdda.c:692,1
    - Dst: snprintf
      Src: /src/vlc/modules/access/cdda.c:693,1
    - Dst: input_item_SetTrackTotal
      Src: /src/vlc/modules/access/cdda.c:694,1
    - Dst: input_item_node_AppendItem
      Src: /src/vlc/modules/access/cdda.c:696,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/access/cdda.c:697,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 94
    argCount: 2
    argNames:
    - access
    - node
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 702
    functionName: ReadDir
    functionSourceFile: /src/vlc/modules/access/cdda.c
    functionUses: 2
    functionsReached:
    - sscanf
    - input_item_SetGenre
    - input_item_SetAlbum
    - vlc_meta_Get
    - input_item_SetTitle
    - input_item_NewDisc
    - asprintf
    - vlc_meta_GetExtra
    - _
    - input_item_SetArtworkURL
    - vlc_tick_from_samples
    - msg_Dbg
    - snprintf
    - input_item_AddOption
    - input_item_Release
    - input_item_SetName
    - input_item_SetAlbumArtist
    - input_item_SetDescription
    - likely
    - input_item_node_AppendItem
    - vlc_meta_SetExtra
    - NONEMPTY
    - input_item_SetTrackNum
    - input_item_SetDate
    - input_item_SetTrackTotal
    - free
    - ON_EMPTY
    - input_item_SetArtist
    - unlikely
    linkageType: ''
    returnType: int
    signature: int ReadDir(stream_t *access, input_item_node_t *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: access_vaDirectoryControlHelper
      Src: /src/vlc/modules/access/cdda.c:711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - access
    - query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 712
    functionName: AccessControl
    functionSourceFile: /src/vlc/modules/access/cdda.c
    functionUses: 0
    functionsReached:
    - access_vaDirectoryControlHelper
    linkageType: ''
    returnType: int
    signature: int AccessControl(stream_t *access, int query, va_list args)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/access/cdda.c:718,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/cdda.c:719,1
    - Dst: ioctl_Close
      Src: /src/vlc/modules/access/cdda.c:721,1
    - Dst: ioctl_GetTOC
      Src: /src/vlc/modules/access/cdda.c:726,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/cdda.c:729,1
    - Dst: TOC_GetAudioRange
      Src: /src/vlc/modules/access/cdda.c:733,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/cdda.c:736,1
    - Dst: vcddev_toc_Free
      Src: /src/vlc/modules/access/cdda.c:737,1
    - Dst: ioctl_GetCdText
      Src: /src/vlc/modules/access/cdda.c:741,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/cdda.c:743,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/access/cdda.c:750,1
    - Dst: GetMusicbrainzInfo
      Src: /src/vlc/modules/access/cdda.c:752,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/cdda.c:755,1
    - Dst: ioctl_Close
      Src: /src/vlc/modules/access/cdda.c:766,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 2
    argNames:
    - obj
    - dev
    argTypes:
    - vlc_object_t*
    - vcddev_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 714
    functionDepth: 3
    functionLinenumber: 714
    functionLinenumberEnd: 768
    functionName: AccessOpen
    functionSourceFile: /src/vlc/modules/access/cdda.c
    functionUses: 0
    functionsReached:
    - vcddev_toc_Free
    - vlc_obj_malloc
    - TOC_GetAudioRange
    - var_InheritBool
    - ioctl_Close
    - msg_Err
    - GetMusicbrainzInfo
    - ioctl_GetTOC
    - msg_Dbg
    - ioctl_GetCdText
    - unlikely
    linkageType: ''
    returnType: int
    signature: int AccessOpen(vlc_object_t *obj, vcddev_t *dev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_meta_Delete
      Src: /src/vlc/modules/access/cdda.c:776,1
    - Dst: free
      Src: /src/vlc/modules/access/cdda.c:778,1
    - Dst: musicbrainz_recording_release
      Src: /src/vlc/modules/access/cdda.c:781,1
    - Dst: vcddev_toc_Free
      Src: /src/vlc/modules/access/cdda.c:782,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - sys
    argTypes:
    - access_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 783
    functionName: AccessClose
    functionSourceFile: /src/vlc/modules/access/cdda.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_meta_Delete
    - vcddev_toc_Free
    - musicbrainz_recording_release
    linkageType: ''
    returnType: void
    signature: void AccessClose(access_sys_t *sys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DiscOpen
      Src: /src/vlc/modules/access/cdda.c:790,1
    - Dst: AccessOpen
      Src: /src/vlc/modules/access/cdda.c:796,1
    - Dst: DemuxOpen
      Src: /src/vlc/modules/access/cdda.c:798,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 785
    functionDepth: 3
    functionLinenumber: 785
    functionLinenumberEnd: 799
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/cdda.c
    functionUses: 11
    functionsReached:
    - DiscOpen
    - DemuxOpen
    - AccessOpen
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AccessClose
      Src: /src/vlc/modules/access/cdda.c:807,1
    - Dst: ioctl_Close
      Src: /src/vlc/modules/access/cdda.c:811,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 801
    functionDepth: 1
    functionLinenumber: 801
    functionLinenumberEnd: 812
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/cdda.c
    functionUses: 40
    functionsReached:
    - AccessClose
    - ioctl_Close
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p_this
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: GET_OUT_SYS
    functionSourceFile: /src/vlc/modules/access/ftp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_OUT_SYS( p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/access/ftp.c:163,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/ftp.c:166,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/ftp.c:167,1
    - Dst: va_start
      Src: /src/vlc/modules/access/ftp.c:173,1
    - Dst: vasprintf
      Src: /src/vlc/modules/access/ftp.c:174,1
    - Dst: va_end
      Src: /src/vlc/modules/access/ftp.c:175,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/ftp.c:176,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/ftp.c:179,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/ftp.c:179,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/ftp.c:180,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/ftp.c:182,1
    - Dst: vlc_tls_Write
      Src: /src/vlc/modules/access/ftp.c:184,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ftp.c:186,1
    - Dst: free
      Src: /src/vlc/modules/access/ftp.c:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - obj
    - sys
    - fmt
    argTypes:
    - vlc_object_t*
    - access_sys_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 193
    functionName: ftp_SendCommand
    functionSourceFile: /src/vlc/modules/access/ftp.c
    functionUses: 0
    functionsReached:
    - vasprintf
    - va_start
    - vlc_tls_Write
    - strlen
    - memcpy
    - msg_Err
    - strncmp
    - free
    - msg_Dbg
    - va_end
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int ftp_SendCommand( vlc_object_t *obj, access_sys_t *sys,\n                            const
      char *fmt, ... )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tls_GetLine
      Src: /src/vlc/modules/access/ftp.c:197,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ftp.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - obj
    - sys
    argTypes:
    - vlc_object_t*
    - access_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 201
    functionName: ftp_GetLine
    functionSourceFile: /src/vlc/modules/access/ftp.c
    functionUses: 0
    functionsReached:
    - vlc_tls_GetLine
    - msg_Err
    linkageType: ''
    returnType: char
    signature: char *ftp_GetLine( vlc_object_t *obj, access_sys_t *sys )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ftp_GetLine
      Src: /src/vlc/modules/access/ftp.c:222,1
    - Dst: strtoul
      Src: /src/vlc/modules/access/ftp.c:227,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ftp.c:230,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/ftp.c:233,1
    - Dst: ftp_GetLine
      Src: /src/vlc/modules/access/ftp.c:242,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/ftp.c:246,1
    - Dst: cb
      Src: /src/vlc/modules/access/ftp.c:248,1
    - Dst: free
      Src: /src/vlc/modules/access/ftp.c:249,1
    - Dst: free
      Src: /src/vlc/modules/access/ftp.c:257,1
    - Dst: free
      Src: /src/vlc/modules/access/ftp.c:260,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 4
    argNames:
    - obj
    - sys
    - strp
    - opaque
    argTypes:
    - vlc_object_t*
    - access_sys_t*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 262
    functionName: ftp_RecvReply
    functionSourceFile: /src/vlc/modules/access/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_GetLine
    - strtoul
    - cb
    - msg_Err
    - strncmp
    - free
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: "int ftp_RecvReply( vlc_object_t *obj, access_sys_t *sys,\n                          char
      **restrict strp,\n                          void (*cb)(void *, const char *),
      void *opaque )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ftp_RecvReply
      Src: /src/vlc/modules/access/ftp.c:269,1
    - Dst: free
      Src: /src/vlc/modules/access/ftp.c:272,1
    - Dst: ftp_RecvReply
      Src: /src/vlc/modules/access/ftp.c:273,1
    - Dst: free
      Src: /src/vlc/modules/access/ftp.c:283,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 5
    argNames:
    - obj
    - sys
    - codep
    - strp
    - opaque
    argTypes:
    - vlc_object_t*
    - access_sys_t*
    - int*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 264
    functionDepth: 3
    functionLinenumber: 264
    functionLinenumberEnd: 294
    functionName: ftp_RecvAnswer
    functionSourceFile: /src/vlc/modules/access/ftp.c
    functionUses: 0
    functionsReached:
    - free
    - ftp_RecvReply
    linkageType: ''
    returnType: int
    signature: "int ftp_RecvAnswer( vlc_object_t *obj, access_sys_t *sys,\n                           int
      *restrict codep, char **restrict strp,\n                           void (*cb)(void
      *, const char *), void *opaque )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - str
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 299
    functionName: DummyLine
    functionSourceFile: /src/vlc/modules/access/ftp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DummyLine( void *data, const char *str )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftp_RecvAnswer
      Src: /src/vlc/modules/access/ftp.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - obj
    - sys
    - codep
    - strp
    argTypes:
    - vlc_object_t*
    - access_sys_t*
    - int*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 4
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: ftp_RecvCommand
    functionSourceFile: /src/vlc/modules/access/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_RecvAnswer
    linkageType: ''
    returnType: int
    signature: "int ftp_RecvCommand( vlc_object_t *obj, access_sys_t *sys,\n                            int
      *restrict codep, char **restrict strp )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ftp_RecvReply
      Src: /src/vlc/modules/access/ftp.c:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - obj
    - sys
    argTypes:
    - vlc_object_t*
    - access_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 307
    functionDepth: 3
    functionLinenumber: 307
    functionLinenumberEnd: 313
    functionName: ftp_RecvCommandInit
    functionSourceFile: /src/vlc/modules/access/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_RecvReply
    linkageType: ''
    returnType: int
    signature: int ftp_RecvCommandInit( vlc_object_t *obj, access_sys_t *sys )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/vlc/modules/access/ftp.c:321,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/ftp.c:324,1
    - Dst: vlc_tls_ClientCreate
      Src: /src/vlc/modules/access/ftp.c:333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - obj
    - p_sys
    - psz_access
    argTypes:
    - vlc_object_t*
    - access_sys_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 335
    functionName: readTLSMode
    functionSourceFile: /src/vlc/modules/access/ftp.c
    functionUses: 0
    functionsReached:
    - strncmp
    - vlc_tls_ClientCreate
    linkageType: ''
    returnType: int
    signature: "int readTLSMode( vlc_object_t *obj, access_sys_t *p_sys,\n                        const
      char * psz_access )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tls_ClientSessionCreate
      Src: /src/vlc/modules/access/ftp.c:341,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ftp.c:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - p_access
    - p_sys
    - psz_session_name
    argTypes:
    - vlc_object_t*
    - access_sys_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 353
    functionName: createCmdTLS
    functionSourceFile: /src/vlc/modules/access/ftp.c
    functionUses: 0
    functionsReached:
    - vlc_tls_ClientSessionCreate
    - msg_Err
    linkageType: ''
    returnType: int
    signature: "int createCmdTLS( vlc_object_t *p_access, access_sys_t *p_sys,\n                         const
      char *psz_session_name )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tls_Close
      Src: /src/vlc/modules/access/ftp.c:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - access_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 362
    functionName: clearCmd
    functionSourceFile: /src/vlc/modules/access/ftp.c
    functionUses: 0
    functionsReached:
    - vlc_tls_Close
    linkageType: ''
    returnType: void
    signature: void clearCmd( access_sys_t *p_sys )
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tls_SocketOpenTCP
      Src: /src/vlc/modules/access/ftp.c:369,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ftp.c:373,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/access/ftp.c:374,1
    - Dst: _
      Src: /src/vlc/modules/access/ftp.c:374,1
    - Dst: _
      Src: /src/vlc/modules/access/ftp.c:375,1
    - Dst: createCmdTLS
      Src: /src/vlc/modules/access/ftp.c:381,1
    - Dst: ftp_RecvCommand
      Src: /src/vlc/modules/access/ftp.c:385,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ftp.c:389,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/access/ftp.c:390,1
    - Dst: _
      Src: /src/vlc/modules/access/ftp.c:390,1
    - Dst: _
      Src: /src/vlc/modules/access/ftp.c:391,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/ftp.c:395,1
    - Dst: ftp_SendCommand
      Src: /src/vlc/modules/access/ftp.c:398,1
    - Dst: ftp_RecvAnswer
      Src: /src/vlc/modules/access/ftp.c:399,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ftp.c:402,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ftp.c:411,1
    - Dst: ftp_SendCommand
      Src: /src/vlc/modules/access/ftp.c:415,1
    - Dst: ftp_RecvCommand
      Src: /src/vlc/modules/access/ftp.c:416,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ftp.c:419,1
    - Dst: createCmdTLS
      Src: /src/vlc/modules/access/ftp.c:424,1
    - Dst: ftp_SendCommand
      Src: /src/vlc/modules/access/ftp.c:432,1
    - Dst: ftp_RecvCommand
      Src: /src/vlc/modules/access/ftp.c:433,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ftp.c:436,1
    - Dst: ftp_SendCommand
      Src: /src/vlc/modules/access/ftp.c:440,1
    - Dst: ftp_RecvCommand
      Src: /src/vlc/modules/access/ftp.c:441,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ftp.c:444,1
    - Dst: vlc_UrlParseFixup
      Src: /src/vlc/modules/access/ftp.c:451,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/ftp.c:453,1
    - Dst: vlc_credential_init
      Src: /src/vlc/modules/access/ftp.c:456,1
    - Dst: vlc_credential_get
      Src: /src/vlc/modules/access/ftp.c:460,1
    - Dst: vlc_credential_clean
      Src: /src/vlc/modules/access/ftp.c:463,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/ftp.c:464,1
    - Dst: LoginUserPwd
      Src: /src/vlc/modules/access/ftp.c:475,1
    - Dst: vlc_credential_get
      Src: /src/vlc/modules/access/ftp.c:480,1
    - Dst: vlc_credential_store
      Src: /src/vlc/modules/access/ftp.c:486,1
    - Dst: vlc_credential_clean
      Src: /src/vlc/modules/access/ftp.c:487,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/ftp.c:488,1
    - Dst: vlc_credential_clean
      Src: /src/vlc/modules/access/ftp.c:491,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/ftp.c:492,1
    - Dst: clearCmd
      Src: /src/vlc/modules/access/ftp.c:494,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 85
    argCount: 3
    argNames:
    - p_access
    - p_sys
    - path
    argTypes:
    - vlc_object_t*
    - access_sys_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 364
    functionDepth: 5
    functionLinenumber: 364
    functionLinenumberEnd: 496
    functionName: Login
    functionSourceFile: /src/vlc/modules/access/ftp.c
    functionUses: 0
    functionsReached:
    - vlc_credential_store
    - ftp_RecvAnswer
    - vlc_credential_clean
    - vlc_dialog_display_error
    - clearCmd
    - ftp_SendCommand
    - vlc_UrlParseFixup
    - _
    - vlc_UrlClean
    - msg_Err
    - createCmdTLS
    - msg_Dbg
    - vlc_credential_get
    - vlc_credential_init
    - ftp_RecvCommand
    - LoginUserPwd
    - vlc_tls_SocketOpenTCP
    linkageType: ''
    returnType: int
    signature: int Login( vlc_object_t *p_access, access_sys_t *p_sys, const char
      *path )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ftp_SendCommand
      Src: /src/vlc/modules/access/ftp.c:505,1
    - Dst: ftp_RecvCommand
      Src: /src/vlc/modules/access/ftp.c:506,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/ftp.c:514,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/ftp.c:516,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/ftp.c:519,1
    - Dst: ftp_SendCommand
      Src: /src/vlc/modules/access/ftp.c:521,1
    - Dst: ftp_RecvCommand
      Src: /src/vlc/modules/access/ftp.c:522,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/ftp.c:528,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/ftp.c:533,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/ftp.c:534,1
    - Dst: ftp_SendCommand
      Src: /src/vlc/modules/access/ftp.c:535,1
    - Dst: ftp_RecvCommand
      Src: /src/vlc/modules/access/ftp.c:537,1
    - Dst: free
      Src: /src/vlc/modules/access/ftp.c:539,1
    - Dst: free
      Src: /src/vlc/modules/access/ftp.c:542,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ftp.c:546,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/access/ftp.c:547,1
    - Dst: _
      Src: /src/vlc/modules/access/ftp.c:548,1
    - Dst: _
      Src: /src/vlc/modules/access/ftp.c:549,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/ftp.c:552,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/ftp.c:557,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/ftp.c:563,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 5
    argNames:
    - p_access
    - p_sys
    - psz_user
    - psz_pwd
    - p_logged
    argTypes:
    - vlc_object_t*
    - access_sys_t*
    - char*
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 498
    functionDepth: 5
    functionLinenumber: 498
    functionLinenumberEnd: 570
    functionName: LoginUserPwd
    functionSourceFile: /src/vlc/modules/access/ftp.c
    functionUses: 1
    functionsReached:
    - var_InheritString
    - vlc_dialog_display_error
    - ftp_SendCommand
    - _
    - msg_Err
    - free
    - msg_Dbg
    - msg_Warn
    - ftp_RecvCommand
    linkageType: ''
    returnType: int
    signature: "int LoginUserPwd( vlc_object_t *p_access, access_sys_t *p_sys,\n                         const
      char *psz_user, const char *psz_pwd,\n                         bool *p_logged
      )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasestr
      Src: /src/vlc/modules/access/ftp.c:576,1
    - Dst: strcasestr
      Src: /src/vlc/modules/access/ftp.c:579,1
    - Dst: strcasestr
      Src: /src/vlc/modules/access/ftp.c:582,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - opaque
    - feature
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 584
    functionName: FeaturesCheck
    functionSourceFile: /src/vlc/modules/access/ftp.c
    functionUses: 0
    functionsReached:
    - strcasestr
    linkageType: ''
    returnType: void
    signature: void FeaturesCheck( void *opaque, const char *feature )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Login
      Src: /src/vlc/modules/access/ftp.c:588,1
    - Dst: ftp_SendCommand
      Src: /src/vlc/modules/access/ftp.c:592,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ftp.c:594,1
    - Dst: ftp_RecvCommand
      Src: /src/vlc/modules/access/ftp.c:598,1
    - Dst: vlc_tls_GetFD
      Src: /src/vlc/modules/access/ftp.c:600,1
    - Dst: net_GetPeerAddress
      Src: /src/vlc/modules/access/ftp.c:601,1
    - Dst: msg_Info
      Src: /src/vlc/modules/access/ftp.c:611,1
    - Dst: clearCmd
      Src: /src/vlc/modules/access/ftp.c:612,1
    - Dst: Login
      Src: /src/vlc/modules/access/ftp.c:614,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ftp.c:621,1
    - Dst: ftp_SendCommand
      Src: /src/vlc/modules/access/ftp.c:626,1
    - Dst: ftp_RecvCommand
      Src: /src/vlc/modules/access/ftp.c:627,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ftp.c:629,1
    - Dst: clearCmd
      Src: /src/vlc/modules/access/ftp.c:636,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 3
    argNames:
    - p_access
    - p_sys
    - path
    argTypes:
    - vlc_object_t*
    - access_sys_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 586
    functionDepth: 6
    functionLinenumber: 586
    functionLinenumberEnd: 638
    functionName: Connect
    functionSourceFile: /src/vlc/modules/access/ftp.c
    functionUses: 9
    functionsReached:
    - clearCmd
    - net_GetPeerAddress
    - ftp_SendCommand
    - msg_Err
    - msg_Info
    - Login
    - ftp_RecvCommand
    - vlc_tls_GetFD
    linkageType: ''
    returnType: int
    signature: int Connect( vlc_object_t *p_access, access_sys_t *p_sys, const char
      *path )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_UrlParseFixup
      Src: /src/vlc/modules/access/ftp.c:650,1
    - Dst: assert
      Src: /src/vlc/modules/access/ftp.c:670,1
    - Dst: strstr
      Src: /src/vlc/modules/access/ftp.c:674,1
    - Dst: strchr
      Src: /src/vlc/modules/access/ftp.c:678,1
    - Dst: vlc_uri_decode
      Src: /src/vlc/modules/access/ftp.c:681,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - url
    - path
    - mode
    argTypes:
    - vlc_url_t*
    - char*
    - enum tls_mode_e
    assertStmts:
    - condition: ( url->psz_path[0] == '/' )
      pos:
        line_end: 669
        line_start: 669
        source_file: /src/vlc/modules/access/ftp.c
    constantsTouched: []
    func_position:
      end: 683
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 683
    functionName: parseURL
    functionSourceFile: /src/vlc/modules/access/ftp.c
    functionUses: 0
    functionsReached:
    - assert
    - strchr
    - vlc_UrlParseFixup
    - strstr
    - vlc_uri_decode
    linkageType: ''
    returnType: int
    signature: int parseURL( vlc_url_t *url, const char *path, enum tls_mode_e mode
      )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/access/ftp.c:697,1
    - Dst: readTLSMode
      Src: /src/vlc/modules/access/ftp.c:705,1
    - Dst: parseURL
      Src: /src/vlc/modules/access/ftp.c:708,1
    - Dst: Connect
      Src: /src/vlc/modules/access/ftp.c:711,1
    - Dst: ftp_SendCommand
      Src: /src/vlc/modules/access/ftp.c:722,1
    - Dst: ftp_RecvCommand
      Src: /src/vlc/modules/access/ftp.c:726,1
    - Dst: atoll
      Src: /src/vlc/modules/access/ftp.c:730,1
    - Dst: free
      Src: /src/vlc/modules/access/ftp.c:731,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/ftp.c:732,1
    - Dst: free
      Src: /src/vlc/modules/access/ftp.c:736,1
    - Dst: ftp_SendCommand
      Src: /src/vlc/modules/access/ftp.c:738,1
    - Dst: ftp_RecvCommand
      Src: /src/vlc/modules/access/ftp.c:742,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ftp.c:748,1
    - Dst: ACCESS_SET_CALLBACKS
      Src: /src/vlc/modules/access/ftp.c:757,1
    - Dst: ftp_StartStream
      Src: /src/vlc/modules/access/ftp.c:760,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ftp.c:762,1
    - Dst: clearCmd
      Src: /src/vlc/modules/access/ftp.c:769,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/ftp.c:772,1
    - Dst: vlc_tls_ClientDelete
      Src: /src/vlc/modules/access/ftp.c:773,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 64
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 689
    functionDepth: 5
    functionLinenumber: 689
    functionLinenumberEnd: 775
    functionName: InOpen
    functionSourceFile: /src/vlc/modules/access/ftp.c
    functionUses: 0
    functionsReached:
    - readTLSMode
    - parseURL
    - clearCmd
    - ftp_SendCommand
    - vlc_tls_ClientDelete
    - ftp_StartStream
    - ftp_RecvCommand
    - msg_Err
    - free
    - msg_Dbg
    - ACCESS_SET_CALLBACKS
    - atoll
    - Connect
    - vlc_obj_calloc
    - vlc_UrlClean
    linkageType: ''
    returnType: int
    signature: int InOpen( vlc_object_t *p_this )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/access/ftp.c:783,1
    - Dst: readTLSMode
      Src: /src/vlc/modules/access/ftp.c:791,1
    - Dst: parseURL
      Src: /src/vlc/modules/access/ftp.c:794,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ftp.c:798,1
    - Dst: Connect
      Src: /src/vlc/modules/access/ftp.c:802,1
    - Dst: ftp_StartStream
      Src: /src/vlc/modules/access/ftp.c:806,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ftp.c:808,1
    - Dst: clearCmd
      Src: /src/vlc/modules/access/ftp.c:809,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/ftp.c:820,1
    - Dst: vlc_tls_ClientDelete
      Src: /src/vlc/modules/access/ftp.c:821,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 778
    functionDepth: 2
    functionLinenumber: 778
    functionLinenumberEnd: 823
    functionName: OutOpen
    functionSourceFile: /src/vlc/modules/access/ftp.c
    functionUses: 0
    functionsReached:
    - readTLSMode
    - parseURL
    - clearCmd
    - vlc_tls_ClientDelete
    - ftp_StartStream
    - msg_Err
    - Connect
    - vlc_obj_calloc
    - vlc_UrlClean
    linkageType: ''
    returnType: int
    signature: int OutOpen( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/ftp.c:831,1
    - Dst: ftp_StopStream
      Src: /src/vlc/modules/access/ftp.c:832,1
    - Dst: ftp_SendCommand
      Src: /src/vlc/modules/access/ftp.c:834,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/ftp.c:836,1
    - Dst: ftp_RecvCommand
      Src: /src/vlc/modules/access/ftp.c:840,1
    - Dst: clearCmd
      Src: /src/vlc/modules/access/ftp.c:843,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/ftp.c:846,1
    - Dst: vlc_tls_ClientDelete
      Src: /src/vlc/modules/access/ftp.c:847,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - p_access
    - p_sys
    argTypes:
    - vlc_object_t*
    - access_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 829
    functionDepth: 5
    functionLinenumber: 829
    functionLinenumberEnd: 848
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/ftp.c
    functionUses: 41
    functionsReached:
    - clearCmd
    - ftp_SendCommand
    - vlc_tls_ClientDelete
    - ftp_RecvCommand
    - msg_Dbg
    - msg_Warn
    - ftp_StopStream
    - vlc_UrlClean
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_access, access_sys_t *p_sys )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/vlc/modules/access/ftp.c:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 853
    functionName: InClose
    functionSourceFile: /src/vlc/modules/access/ftp.c
    functionUses: 0
    functionsReached:
    - Close
    linkageType: ''
    returnType: void
    signature: void InClose( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/vlc/modules/access/ftp.c:858,1
    - Dst: GET_OUT_SYS
      Src: /src/vlc/modules/access/ftp.c:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 859
    functionName: OutClose
    functionSourceFile: /src/vlc/modules/access/ftp.c
    functionUses: 0
    functionsReached:
    - Close
    - GET_OUT_SYS
    linkageType: ''
    returnType: void
    signature: void OutClose( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/ftp.c:869,1
    - Dst: ftp_StopStream
      Src: /src/vlc/modules/access/ftp.c:871,1
    - Dst: ftp_StartStream
      Src: /src/vlc/modules/access/ftp.c:873,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p_access
    - p_sys
    - i_pos
    argTypes:
    - vlc_object_t*
    - access_sys_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 876
    functionName: SeekCommon
    functionSourceFile: /src/vlc/modules/access/ftp.c
    functionUses: 0
    functionsReached:
    - ftp_StopStream
    - ftp_StartStream
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: "int SeekCommon( vlc_object_t *p_access, access_sys_t *p_sys,\n                       uint64_t
      i_pos )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SeekCommon
      Src: /src/vlc/modules/access/ftp.c:882,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/ftp.c:882,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_access
    - i_pos
    argTypes:
    - stream_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 878
    functionDepth: 2
    functionLinenumber: 878
    functionLinenumberEnd: 889
    functionName: Seek
    functionSourceFile: /src/vlc/modules/access/ftp.c
    functionUses: 11
    functionsReached:
    - SeekCommon
    - VLC_OBJECT
    linkageType: ''
    returnType: int
    signature: int Seek( stream_t *p_access, uint64_t i_pos )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SeekCommon
      Src: /src/vlc/modules/access/ftp.c:894,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/ftp.c:894,1
    - Dst: GET_OUT_SYS
      Src: /src/vlc/modules/access/ftp.c:894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_access
    - i_pos
    argTypes:
    - sout_access_out_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 892
    functionDepth: 2
    functionLinenumber: 892
    functionLinenumberEnd: 895
    functionName: OutSeek
    functionSourceFile: /src/vlc/modules/access/ftp.c
    functionUses: 0
    functionsReached:
    - SeekCommon
    - VLC_OBJECT
    - GET_OUT_SYS
    linkageType: ''
    returnType: int
    signature: int OutSeek( sout_access_out_t *p_access, uint64_t i_pos )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/ftp.c:907,1
    - Dst: vlc_tls_Read
      Src: /src/vlc/modules/access/ftp.c:909,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ftp.c:914,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/ftp.c:914,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - p_access
    - p_buffer
    - i_len
    argTypes:
    - stream_t*
    - void*
    - size_t
    assertStmts:
    - condition: ( !p_sys->out )
      pos:
        line_end: 906
        line_start: 906
        source_file: /src/vlc/modules/access/ftp.c
    constantsTouched: []
    func_position:
      end: 919
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 919
    functionName: Read
    functionSourceFile: /src/vlc/modules/access/ftp.c
    functionUses: 21
    functionsReached:
    - assert
    - vlc_strerror_c
    - msg_Err
    - vlc_tls_Read
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Read( stream_t *p_access, void *p_buffer, size_t i_len )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strsep
      Src: /src/vlc/modules/access/ftp.c:940,1
    - Dst: strchr
      Src: /src/vlc/modules/access/ftp.c:948,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - linep
    - key
    - val
    argTypes:
    - char**
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 956
    functionName: mlst_facts_iter
    functionSourceFile: /src/vlc/modules/access/ftp.c
    functionUses: 0
    functionsReached:
    - strsep
    - strchr
    linkageType: ''
    returnType: bool
    signature: bool mlst_facts_iter(char **linep, const char **key, const char **val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/vlc/modules/access/ftp.c:983,1
    - Dst: isdigit
      Src: /src/vlc/modules/access/ftp.c:1010,1
    - Dst: timegm
      Src: /src/vlc/modules/access/ftp.c:1034,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 17
    argCount: 1
    argNames:
    - timeval
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 965
    functionDepth: 2
    functionLinenumber: 965
    functionLinenumberEnd: 1038
    functionName: ftp_mktime
    functionSourceFile: /src/vlc/modules/access/ftp.c
    functionUses: 0
    functionsReached:
    - sscanf
    - isdigit
    - timegm
    linkageType: ''
    returnType: time_t
    signature: time_t ftp_mktime(const char *const timeval)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1046
    functionName: SkipToken
    functionSourceFile: /src/vlc/modules/access/ftp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *SkipToken( char *p )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/access/ftp.c:1060,1
    - Dst: SkipToken
      Src: /src/vlc/modules/access/ftp.c:1078,1
    - Dst: SkipToken
      Src: /src/vlc/modules/access/ftp.c:1079,1
    - Dst: SkipToken
      Src: /src/vlc/modules/access/ftp.c:1080,1
    - Dst: isdigit
      Src: /src/vlc/modules/access/ftp.c:1083,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/ftp.c:1083,1
    - Dst: SkipToken
      Src: /src/vlc/modules/access/ftp.c:1085,1
    - Dst: SkipToken
      Src: /src/vlc/modules/access/ftp.c:1087,1
    - Dst: SkipToken
      Src: /src/vlc/modules/access/ftp.c:1088,1
    - Dst: SkipToken
      Src: /src/vlc/modules/access/ftp.c:1089,1
    - Dst: strstr
      Src: /src/vlc/modules/access/ftp.c:1099,1
    - Dst: strstr
      Src: /src/vlc/modules/access/ftp.c:1100,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 4
    argNames:
    - line
    - type
    - size
    - filename
    argTypes:
    - char*
    - int*
    - long long*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1107
    functionName: ParseListUnixEntry
    functionSourceFile: /src/vlc/modules/access/ftp.c
    functionUses: 0
    functionsReached:
    - sscanf
    - SkipToken
    - strlen
    - isdigit
    - strstr
    linkageType: ''
    returnType: int
    signature: "int ParseListUnixEntry( char *line, int *type, long long *size,\n
      \                              char **filename )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/vlc/modules/access/ftp.c:1124,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/ftp.c:1137,1
    - Dst: isdigit
      Src: /src/vlc/modules/access/ftp.c:1139,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/ftp.c:1139,1
    - Dst: SkipToken
      Src: /src/vlc/modules/access/ftp.c:1144,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 4
    argNames:
    - line
    - type
    - size
    - filename
    argTypes:
    - char*
    - int*
    - long long*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1119
    functionDepth: 1
    functionLinenumber: 1119
    functionLinenumberEnd: 1150
    functionName: ParseListDosEntry
    functionSourceFile: /src/vlc/modules/access/ftp.c
    functionUses: 0
    functionsReached:
    - sscanf
    - isdigit
    - SkipToken
    - strncmp
    linkageType: ''
    returnType: int
    signature: "int ParseListDosEntry( char *line, int *type, long long *size,\n                              char
      **filename )"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/ftp.c:1160,1
    - Dst: assert
      Src: /src/vlc/modules/access/ftp.c:1161,1
    - Dst: vlc_readdir_helper_init
      Src: /src/vlc/modules/access/ftp.c:1164,1
    - Dst: vlc_tls_GetLine
      Src: /src/vlc/modules/access/ftp.c:1173,1
    - Dst: strchr
      Src: /src/vlc/modules/access/ftp.c:1183,1
    - Dst: likely
      Src: /src/vlc/modules/access/ftp.c:1184,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/ftp.c:1187,1
    - Dst: free
      Src: /src/vlc/modules/access/ftp.c:1188,1
    - Dst: mlst_facts_iter
      Src: /src/vlc/modules/access/ftp.c:1192,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/ftp.c:1194,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/ftp.c:1197,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/ftp.c:1198,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/ftp.c:1200,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/ftp.c:1202,1
    - Dst: atoll
      Src: /src/vlc/modules/access/ftp.c:1203,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/ftp.c:1204,1
    - Dst: ftp_mktime
      Src: /src/vlc/modules/access/ftp.c:1205,1
    - Dst: ParseListUnixEntry
      Src: /src/vlc/modules/access/ftp.c:1212,1
    - Dst: ParseListDosEntry
      Src: /src/vlc/modules/access/ftp.c:1214,1
    - Dst: free
      Src: /src/vlc/modules/access/ftp.c:1218,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/ftp.c:1227,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/ftp.c:1227,1
    - Dst: free
      Src: /src/vlc/modules/access/ftp.c:1229,1
    - Dst: vlc_uri_encode
      Src: /src/vlc/modules/access/ftp.c:1233,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/ftp.c:1235,1
    - Dst: vlc_memstream_open
      Src: /src/vlc/modules/access/ftp.c:1241,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/access/ftp.c:1242,1
    - Dst: vlc_memstream_putc
      Src: /src/vlc/modules/access/ftp.c:1246,1
    - Dst: vlc_memstream_putc
      Src: /src/vlc/modules/access/ftp.c:1247,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/access/ftp.c:1249,1
    - Dst: strchr
      Src: /src/vlc/modules/access/ftp.c:1253,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/access/ftp.c:1254,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/access/ftp.c:1256,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/access/ftp.c:1262,1
    - Dst: vlc_memstream_putc
      Src: /src/vlc/modules/access/ftp.c:1265,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/access/ftp.c:1269,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/access/ftp.c:1272,1
    - Dst: free
      Src: /src/vlc/modules/access/ftp.c:1273,1
    - Dst: likely
      Src: /src/vlc/modules/access/ftp.c:1275,1
    - Dst: vlc_memstream_close
      Src: /src/vlc/modules/access/ftp.c:1275,1
    - Dst: vlc_readdir_helper_additem
      Src: /src/vlc/modules/access/ftp.c:1278,1
    - Dst: input_item_AddStat
      Src: /src/vlc/modules/access/ftp.c:1283,1
    - Dst: input_item_AddStat
      Src: /src/vlc/modules/access/ftp.c:1285,1
    - Dst: free
      Src: /src/vlc/modules/access/ftp.c:1287,1
    - Dst: free
      Src: /src/vlc/modules/access/ftp.c:1289,1
    - Dst: vlc_readdir_helper_finish
      Src: /src/vlc/modules/access/ftp.c:1292,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 81
    argCount: 2
    argNames:
    - p_access
    - p_current_node
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts:
    - condition: ( !p_sys->out )
      pos:
        line_end: 1160
        line_start: 1160
        source_file: /src/vlc/modules/access/ftp.c
    - condition: ( p_sys->data != NULL )
      pos:
        line_end: 1159
        line_start: 1159
        source_file: /src/vlc/modules/access/ftp.c
    constantsTouched: []
    func_position:
      end: 1294
      start: 1155
    functionDepth: 3
    functionLinenumber: 1155
    functionLinenumberEnd: 1294
    functionName: DirRead
    functionSourceFile: /src/vlc/modules/access/ftp.c
    functionUses: 0
    functionsReached:
    - assert
    - strchr
    - vlc_memstream_open
    - vlc_tls_GetLine
    - vlc_readdir_helper_init
    - msg_Warn
    - vlc_readdir_helper_additem
    - input_item_AddStat
    - ParseListUnixEntry
    - vlc_memstream_printf
    - ftp_mktime
    - strcmp
    - vlc_memstream_putc
    - likely
    - vlc_uri_encode
    - vlc_memstream_close
    - mlst_facts_iter
    - vlc_readdir_helper_finish
    - vlc_ascii_strcasecmp
    - vlc_memstream_puts
    - ParseListDosEntry
    - free
    - atoll
    - unlikely
    linkageType: ''
    returnType: int
    signature: int DirRead (stream_t *p_access, input_item_node_t *p_current_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_OUT_SYS
      Src: /src/vlc/modules/access/ftp.c:1302,1
    - Dst: assert
      Src: /src/vlc/modules/access/ftp.c:1305,1
    - Dst: vlc_tls_Write
      Src: /src/vlc/modules/access/ftp.c:1311,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/ftp.c:1313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p_access
    - p_buffer
    argTypes:
    - sout_access_out_t*
    - block_t*
    assertStmts:
    - condition: ( p_sys->data != NULL )
      pos:
        line_end: 1304
        line_start: 1304
        source_file: /src/vlc/modules/access/ftp.c
    constantsTouched: []
    func_position:
      end: 1319
      start: 1300
    functionDepth: 1
    functionLinenumber: 1300
    functionLinenumberEnd: 1319
    functionName: Write
    functionSourceFile: /src/vlc/modules/access/ftp.c
    functionUses: 13
    functionsReached:
    - vlc_tls_Write
    - GET_OUT_SYS
    - block_Release
    - assert
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Write( sout_access_out_t *p_access, block_t *p_buffer )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/ftp.c:1333,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/ftp.c:1337,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/ftp.c:1341,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/ftp.c:1345,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/ftp.c:1351,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/ftp.c:1355,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/ftp.c:1356,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/ftp.c:1356,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/ftp.c:1360,1
    - Dst: Seek
      Src: /src/vlc/modules/access/ftp.c:1361,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - p_access
    - i_query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1369
      start: 1325
    functionDepth: 1
    functionLinenumber: 1325
    functionLinenumberEnd: 1369
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/ftp.c
    functionUses: 37
    functionsReached:
    - var_InheritInteger
    - va_arg
    - VLC_TICK_FROM_MS
    - Seek
    linkageType: ''
    returnType: int
    signature: int Control( stream_t *p_access, int i_query, va_list args )
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/ftp.c:1379,1
    - Dst: ftp_SendCommand
      Src: /src/vlc/modules/access/ftp.c:1381,1
    - Dst: ftp_RecvCommand
      Src: /src/vlc/modules/access/ftp.c:1382,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ftp.c:1384,1
    - Dst: strchr
      Src: /src/vlc/modules/access/ftp.c:1388,1
    - Dst: free
      Src: /src/vlc/modules/access/ftp.c:1391,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ftp.c:1392,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/ftp.c:1398,1
    - Dst: free
      Src: /src/vlc/modules/access/ftp.c:1400,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ftp.c:1401,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/ftp.c:1409,1
    - Dst: free
      Src: /src/vlc/modules/access/ftp.c:1413,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ftp.c:1414,1
    - Dst: snprintf
      Src: /src/vlc/modules/access/ftp.c:1418,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/ftp.c:1418,1
    - Dst: free
      Src: /src/vlc/modules/access/ftp.c:1422,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/ftp.c:1424,1
    - Dst: ftp_SendCommand
      Src: /src/vlc/modules/access/ftp.c:1426,1
    - Dst: ftp_RecvCommand
      Src: /src/vlc/modules/access/ftp.c:1427,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ftp.c:1429,1
    - Dst: ftp_SendCommand
      Src: /src/vlc/modules/access/ftp.c:1435,1
    - Dst: ftp_RecvCommand
      Src: /src/vlc/modules/access/ftp.c:1436,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ftp.c:1438,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/ftp.c:1443,1
    - Dst: vlc_tls_SocketOpenTCP
      Src: /src/vlc/modules/access/ftp.c:1444,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ftp.c:1447,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/ftp.c:1450,1
    - Dst: ftp_SendCommand
      Src: /src/vlc/modules/access/ftp.c:1456,1
    - Dst: ftp_RecvCommandInit
      Src: /src/vlc/modules/access/ftp.c:1457,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/ftp.c:1459,1
    - Dst: ftp_SendCommand
      Src: /src/vlc/modules/access/ftp.c:1462,1
    - Dst: ftp_RecvCommandInit
      Src: /src/vlc/modules/access/ftp.c:1463,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/ftp.c:1467,1
    - Dst: ftp_SendCommand
      Src: /src/vlc/modules/access/ftp.c:1470,1
    - Dst: ftp_RecvCommandInit
      Src: /src/vlc/modules/access/ftp.c:1471,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ftp.c:1473,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/ftp.c:1480,1
    - Dst: assert
      Src: /src/vlc/modules/access/ftp.c:1486,1
    - Dst: ftp_SendCommand
      Src: /src/vlc/modules/access/ftp.c:1487,1
    - Dst: ftp_RecvCommandInit
      Src: /src/vlc/modules/access/ftp.c:1490,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ftp.c:1492,1
    - Dst: vlc_tls_ClientSessionCreate
      Src: /src/vlc/modules/access/ftp.c:1501,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/ftp.c:1508,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 79
    argCount: 4
    argNames:
    - p_access
    - p_sys
    - i_start
    - b_directory
    argTypes:
    - vlc_object_t*
    - access_sys_t*
    - uint64_t
    - bool
    assertStmts:
    - condition: ( p_sys->url.psz_path )
      pos:
        line_end: 1485
        line_start: 1485
        source_file: /src/vlc/modules/access/ftp.c
    - condition: ( p_sys->data == NULL )
      pos:
        line_end: 1378
        line_start: 1378
        source_file: /src/vlc/modules/access/ftp.c
    constantsTouched: []
    func_position:
      end: 1516
      start: 1371
    functionDepth: 5
    functionLinenumber: 1371
    functionLinenumberEnd: 1516
    functionName: ftp_StartStream
    functionSourceFile: /src/vlc/modules/access/ftp.c
    functionUses: 3
    functionsReached:
    - sscanf
    - snprintf
    - assert
    - strchr
    - ARRAY_SIZE
    - ftp_SendCommand
    - msg_Err
    - free
    - msg_Dbg
    - vlc_tls_ClientSessionCreate
    - ftp_RecvCommand
    - ftp_RecvCommandInit
    - vlc_tls_SocketOpenTCP
    linkageType: ''
    returnType: int
    signature: "int ftp_StartStream( vlc_object_t *p_access, access_sys_t *p_sys,\n
      \                           uint64_t i_start, bool b_directory )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ftp_SendCommand
      Src: /src/vlc/modules/access/ftp.c:1522,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/ftp.c:1524,1
    - Dst: vlc_tls_Close
      Src: /src/vlc/modules/access/ftp.c:1530,1
    - Dst: ftp_RecvCommand
      Src: /src/vlc/modules/access/ftp.c:1535,1
    - Dst: ftp_RecvCommand
      Src: /src/vlc/modules/access/ftp.c:1540,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - p_access
    - p_sys
    argTypes:
    - vlc_object_t*
    - access_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1518
    functionDepth: 5
    functionLinenumber: 1518
    functionLinenumberEnd: 1543
    functionName: ftp_StopStream
    functionSourceFile: /src/vlc/modules/access/ftp.c
    functionUses: 2
    functionsReached:
    - ftp_SendCommand
    - ftp_RecvCommand
    - vlc_tls_Close
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int ftp_StopStream ( vlc_object_t *p_access, access_sys_t *p_sys )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: access_vaDirectoryControlHelper
      Src: /src/vlc/modules/access/directory.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - p_access
    - i_query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: DirControl
    functionSourceFile: /src/vlc/modules/access/directory.c
    functionUses: 0
    functionsReached:
    - access_vaDirectoryControlHelper
    linkageType: ''
    returnType: int
    signature: int DirControl( stream_t *p_access, int i_query, va_list args )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/access/directory.c:72,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/directory.c:72,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/directory.c:73,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/directory.c:76,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/directory.c:78,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/directory.c:78,1
    - Dst: vlc_path2uri
      Src: /src/vlc/modules/access/directory.c:83,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/directory.c:84,1
    - Dst: strlen
      Src: /src/vlc/modules/access/directory.c:87,1
    - Dst: vlc_closedir
      Src: /src/vlc/modules/access/directory.c:101,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - access
    - dir
    argTypes:
    - stream_t*
    - vlc_DIR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 103
    functionName: DirInit
    functionSourceFile: /src/vlc/modules/access/directory.c
    functionUses: 1
    functionsReached:
    - asprintf
    - vlc_obj_malloc
    - strlen
    - vlc_closedir
    - strcmp
    - VLC_OBJECT
    - unlikely
    - vlc_path2uri
    linkageType: ''
    returnType: int
    signature: int DirInit (stream_t *access, vlc_DIR *dir)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_opendir
      Src: /src/vlc/modules/access/directory.c:115,1
    - Dst: DirInit
      Src: /src/vlc/modules/access/directory.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 120
    functionName: DirOpen
    functionSourceFile: /src/vlc/modules/access/directory.c
    functionUses: 0
    functionsReached:
    - DirInit
    - vlc_opendir
    linkageType: ''
    returnType: int
    signature: int DirOpen (vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/directory.c:130,1
    - Dst: vlc_closedir
      Src: /src/vlc/modules/access/directory.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: DirClose
    functionSourceFile: /src/vlc/modules/access/directory.c
    functionUses: 1
    functionsReached:
    - free
    - vlc_closedir
    linkageType: ''
    returnType: void
    signature: void DirClose(vlc_object_t *obj)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritBool
      Src: /src/vlc/modules/access/directory.c:140,1
    - Dst: vlc_readdir_helper_init
      Src: /src/vlc/modules/access/directory.c:143,1
    - Dst: vlc_readdir
      Src: /src/vlc/modules/access/directory.c:145,1
    - Dst: fstatat
      Src: /src/vlc/modules/access/directory.c:151,1
    - Dst: dirfd
      Src: /src/vlc/modules/access/directory.c:151,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/directory.c:156,1
    - Dst: vlc_stat
      Src: /src/vlc/modules/access/directory.c:157,1
    - Dst: free
      Src: /src/vlc/modules/access/directory.c:157,1
    - Dst: vlc_uri_encode
      Src: /src/vlc/modules/access/directory.c:192,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/directory.c:193,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/directory.c:200,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/directory.c:200,1
    - Dst: free
      Src: /src/vlc/modules/access/directory.c:204,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/directory.c:205,1
    - Dst: vlc_readdir_helper_additem
      Src: /src/vlc/modules/access/directory.c:211,1
    - Dst: input_item_AddStat
      Src: /src/vlc/modules/access/directory.c:216,1
    - Dst: input_item_AddStat
      Src: /src/vlc/modules/access/directory.c:217,1
    - Dst: free
      Src: /src/vlc/modules/access/directory.c:219,1
    - Dst: vlc_readdir_helper_finish
      Src: /src/vlc/modules/access/directory.c:222,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 52
    argCount: 2
    argNames:
    - access
    - node
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 225
    functionName: DirRead
    functionSourceFile: /src/vlc/modules/access/directory.c
    functionUses: 0
    functionsReached:
    - asprintf
    - vlc_readdir_helper_init
    - fstatat
    - var_InheritBool
    - vlc_stat
    - input_item_AddStat
    - free
    - dirfd
    - vlc_uri_encode
    - vlc_readdir
    - vlc_readdir_helper_additem
    - unlikely
    - vlc_readdir_helper_finish
    linkageType: ''
    returnType: int
    signature: int DirRead (stream_t *access, input_item_node_t *node)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/access/shm.c:145,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/shm.c:146,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/shm.c:152,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/shm.c:177,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/shm.c:178,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/shm.c:183,1
    - Dst: vlc_open
      Src: /src/vlc/modules/access/shm.c:186,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/shm.c:188,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/shm.c:189,1
    - Dst: free
      Src: /src/vlc/modules/access/shm.c:190,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/shm.c:204,1
    - Dst: shmat
      Src: /src/vlc/modules/access/shm.c:207,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/shm.c:211,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/shm.c:212,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/access/shm.c:224,1
    - Dst: llroundf
      Src: /src/vlc/modules/access/shm.c:228,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/shm.c:233,1
    - Dst: video_format_Setup
      Src: /src/vlc/modules/access/shm.c:234,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/shm.c:238,1
    - Dst: vlc_timer_create
      Src: /src/vlc/modules/access/shm.c:241,1
    - Dst: vlc_timer_schedule_asap
      Src: /src/vlc/modules/access/shm.c:243,1
    - Dst: demux_sys_t*::detach
      Src: /src/vlc/modules/access/shm.c:251,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 85
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 253
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/shm.c
    functionUses: 11
    functionsReached:
    - demux_sys_t*::detach
    - vlc_open
    - vlc_strerror_c
    - var_InheritString
    - vlc_obj_malloc
    - var_InheritFloat
    - shmat
    - vlc_timer_create
    - var_InheritInteger
    - video_format_Setup
    - msg_Err
    - free
    - llroundf
    - es_out_Add
    - es_format_Init
    - unlikely
    - vlc_timer_schedule_asap
    linkageType: ''
    returnType: int
    signature: int Open (vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_timer_destroy
      Src: /src/vlc/modules/access/shm.c:264,1
    - Dst: demux_sys_t*::detach
      Src: /src/vlc/modules/access/shm.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 266
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/shm.c
    functionUses: 44
    functionsReached:
    - demux_sys_t*::detach
    - vlc_timer_destroy
    linkageType: ''
    returnType: void
    signature: void Close (vlc_object_t *obj)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/shm.c:277,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/shm.c:292,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/shm.c:292,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/shm.c:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 3
    argNames:
    - demux
    - query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 311
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/shm.c
    functionUses: 37
    functionsReached:
    - var_InheritInteger
    - va_arg
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: int
    signature: int Control (demux_t *demux, int query, va_list args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_File
      Src: /src/vlc/modules/access/shm.c:322,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/shm.c:325,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/shm.c:328,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/shm.c:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 330
    functionName: DemuxFile
    functionSourceFile: /src/vlc/modules/access/shm.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - es_out_Send
    - es_out_SetPCR
    - block_File
    linkageType: ''
    returnType: void
    signature: void DemuxFile (void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_close
      Src: /src/vlc/modules/access/shm.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sys
    argTypes:
    - demux_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: CloseFile
    functionSourceFile: /src/vlc/modules/access/shm.c
    functionUses: 3
    functionsReached:
    - vlc_close
    linkageType: ''
    returnType: void
    signature: void CloseFile (demux_sys_t *sys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/shm.c:344,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/shm.c:347,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/shm.c:348,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/shm.c:351,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/shm.c:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 353
    functionName: DemuxIPC
    functionSourceFile: /src/vlc/modules/access/shm.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - es_out_Send
    - memcpy
    - block_Alloc
    - es_out_SetPCR
    linkageType: ''
    returnType: void
    signature: void DemuxIPC (void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shmdt
      Src: /src/vlc/modules/access/shm.c:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sys
    argTypes:
    - demux_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 358
    functionName: CloseIPC
    functionSourceFile: /src/vlc/modules/access/shm.c
    functionUses: 0
    functionsReached:
    - shmdt
    linkageType: ''
    returnType: void
    signature: void CloseIPC (demux_sys_t *sys)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/access/jack.c:152,1
    - Dst: var_LocationParse
      Src: /src/vlc/modules/access/jack.c:157,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/jack.c:158,1
    - Dst: var_GetString
      Src: /src/vlc/modules/access/jack.c:159,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/jack.c:162,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/jack.c:164,1
    - Dst: sprintf
      Src: /src/vlc/modules/access/jack.c:170,1
    - Dst: getpid
      Src: /src/vlc/modules/access/jack.c:170,1
    - Dst: jack_client_open
      Src: /src/vlc/modules/access/jack.c:171,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/jack.c:174,1
    - Dst: Port_finder
      Src: /src/vlc/modules/access/jack.c:181,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/access/jack.c:190,1
    - Dst: jack_client_close
      Src: /src/vlc/modules/access/jack.c:193,1
    - Dst: jack_ringbuffer_create
      Src: /src/vlc/modules/access/jack.c:200,1
    - Dst: jack_get_sample_rate
      Src: /src/vlc/modules/access/jack.c:201,1
    - Dst: free
      Src: /src/vlc/modules/access/jack.c:205,1
    - Dst: jack_client_close
      Src: /src/vlc/modules/access/jack.c:206,1
    - Dst: snprintf
      Src: /src/vlc/modules/access/jack.c:214,1
    - Dst: jack_port_register
      Src: /src/vlc/modules/access/jack.c:215,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/jack.c:220,1
    - Dst: jack_ringbuffer_free
      Src: /src/vlc/modules/access/jack.c:221,1
    - Dst: free
      Src: /src/vlc/modules/access/jack.c:222,1
    - Dst: jack_client_close
      Src: /src/vlc/modules/access/jack.c:223,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/access/jack.c:229,1
    - Dst: jack_port_unregister
      Src: /src/vlc/modules/access/jack.c:233,1
    - Dst: jack_ringbuffer_free
      Src: /src/vlc/modules/access/jack.c:234,1
    - Dst: free
      Src: /src/vlc/modules/access/jack.c:235,1
    - Dst: jack_client_close
      Src: /src/vlc/modules/access/jack.c:236,1
    - Dst: jack_set_process_callback
      Src: /src/vlc/modules/access/jack.c:241,1
    - Dst: jack_activate
      Src: /src/vlc/modules/access/jack.c:244,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/jack.c:246,1
    - Dst: free
      Src: /src/vlc/modules/access/jack.c:247,1
    - Dst: jack_port_unregister
      Src: /src/vlc/modules/access/jack.c:249,1
    - Dst: jack_ringbuffer_free
      Src: /src/vlc/modules/access/jack.c:250,1
    - Dst: free
      Src: /src/vlc/modules/access/jack.c:251,1
    - Dst: jack_client_close
      Src: /src/vlc/modules/access/jack.c:252,1
    - Dst: jack_connect
      Src: /src/vlc/modules/access/jack.c:263,1
    - Dst: jack_port_name
      Src: /src/vlc/modules/access/jack.c:264,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/access/jack.c:269,1
    - Dst: jack_get_ports
      Src: /src/vlc/modules/access/jack.c:271,1
    - Dst: jack_connect
      Src: /src/vlc/modules/access/jack.c:282,1
    - Dst: jack_port_name
      Src: /src/vlc/modules/access/jack.c:283,1
    - Dst: free
      Src: /src/vlc/modules/access/jack.c:286,1
    - Dst: jack_get_buffer_size
      Src: /src/vlc/modules/access/jack.c:291,1
    - Dst: jack_get_sample_rate
      Src: /src/vlc/modules/access/jack.c:293,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/jack.c:298,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/jack.c:306,1
    - Dst: date_Init
      Src: /src/vlc/modules/access/jack.c:307,1
    - Dst: date_Set
      Src: /src/vlc/modules/access/jack.c:308,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 96
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 311
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/jack.c
    functionUses: 11
    functionsReached:
    - var_GetString
    - jack_activate
    - jack_port_register
    - jack_port_name
    - Port_finder
    - vlc_alloc
    - es_format_Init
    - var_GetInteger
    - jack_ringbuffer_free
    - vlc_obj_calloc
    - jack_get_buffer_size
    - var_Create
    - msg_Err
    - jack_get_sample_rate
    - jack_set_process_callback
    - snprintf
    - sprintf
    - jack_client_close
    - date_Set
    - jack_connect
    - var_LocationParse
    - getpid
    - var_GetBool
    - jack_get_ports
    - jack_port_unregister
    - date_Init
    - jack_client_open
    - free
    - jack_ringbuffer_create
    - es_out_Add
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/jack.c:322,1
    - Dst: jack_client_close
      Src: /src/vlc/modules/access/jack.c:323,1
    - Dst: jack_ringbuffer_free
      Src: /src/vlc/modules/access/jack.c:324,1
    - Dst: free
      Src: /src/vlc/modules/access/jack.c:325,1
    - Dst: free
      Src: /src/vlc/modules/access/jack.c:326,1
    - Dst: free
      Src: /src/vlc/modules/access/jack.c:327,1
    - Dst: free
      Src: /src/vlc/modules/access/jack.c:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 329
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/jack.c
    functionUses: 44
    functionsReached:
    - jack_ringbuffer_free
    - jack_client_close
    - msg_Dbg
    - free
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/jack.c:345,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/jack.c:352,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/access/jack.c:353,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/jack.c:357,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/jack.c:358,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/jack.c:358,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/jack.c:362,1
    - Dst: date_Get
      Src: /src/vlc/modules/access/jack.c:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 371
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/jack.c
    functionUses: 37
    functionsReached:
    - var_InheritInteger
    - VLC_TICK_FROM_MS
    - va_arg
    - date_Get
    - var_GetBool
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GrabJack
      Src: /src/vlc/modules/access/jack.c:385,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/jack.c:389,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/jack.c:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 394
    functionName: Demux
    functionSourceFile: /src/vlc/modules/access/jack.c
    functionUses: 1
    functionsReached:
    - es_out_SetPCR
    - GrabJack
    - es_out_Send
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jack_port_get_buffer
      Src: /src/vlc/modules/access/jack.c:408,1
    - Dst: jack_ringbuffer_write_space
      Src: /src/vlc/modules/access/jack.c:417,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/jack.c:419,1
    - Dst: jack_ringbuffer_write
      Src: /src/vlc/modules/access/jack.c:422,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/jack.c:426,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - i_frames
    - p_arg
    argTypes:
    - jack_nframes_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 432
    functionName: Process
    functionSourceFile: /src/vlc/modules/access/jack.c
    functionUses: 1
    functionsReached:
    - msg_Err
    - jack_ringbuffer_write_space
    - msg_Warn
    - jack_port_get_buffer
    - jack_ringbuffer_write
    linkageType: ''
    returnType: int
    signature: int Process( jack_nframes_t i_frames, void *p_arg )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jack_ringbuffer_read_space
      Src: /src/vlc/modules/access/jack.c:444,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/access/jack.c:450,1
    - Dst: stdc_bit_floor
      Src: /src/vlc/modules/access/jack.c:455,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/jack.c:457,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/jack.c:461,1
    - Dst: jack_ringbuffer_read
      Src: /src/vlc/modules/access/jack.c:465,1
    - Dst: date_Increment
      Src: /src/vlc/modules/access/jack.c:467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 473
    functionName: GrabJack
    functionSourceFile: /src/vlc/modules/access/jack.c
    functionUses: 1
    functionsReached:
    - stdc_bit_floor
    - block_Alloc
    - jack_ringbuffer_read_space
    - msg_Warn
    - vlc_tick_sleep
    - date_Increment
    - jack_ringbuffer_read
    linkageType: ''
    returnType: block_t
    signature: block_t *GrabJack( demux_t *p_demux )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtok_r
      Src: /src/vlc/modules/access/jack.c:492,1
    - Dst: strtok_r
      Src: /src/vlc/modules/access/jack.c:493,1
    - Dst: vlc_uri_decode_duplicate
      Src: /src/vlc/modules/access/jack.c:495,1
    - Dst: jack_get_ports
      Src: /src/vlc/modules/access/jack.c:497,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/jack.c:500,1
    - Dst: xrealloc
      Src: /src/vlc/modules/access/jack.c:506,1
    - Dst: free
      Src: /src/vlc/modules/access/jack.c:514,1
    - Dst: free
      Src: /src/vlc/modules/access/jack.c:516,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 520
    functionName: Port_finder
    functionSourceFile: /src/vlc/modules/access/jack.c
    functionUses: 1
    functionsReached:
    - strtok_r
    - vlc_uri_decode_duplicate
    - xrealloc
    - msg_Err
    - free
    - jack_get_ports
    linkageType: ''
    returnType: void
    signature: void Port_finder( demux_t *p_demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: DemuxNoOp
    functionSourceFile: /src/vlc/modules/access/idummy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DemuxNoOp( demux_t *demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/access/idummy.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: DemuxHold
    functionSourceFile: /src/vlc/modules/access/idummy.c
    functionUses: 0
    functionsReached:
    - vlc_tick_sleep
    linkageType: ''
    returnType: int
    signature: int DemuxHold( demux_t *demux )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/idummy.c:71,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/access/idummy.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: DemuxPause
    functionSourceFile: /src/vlc/modules/access/idummy.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - vlc_tick_sleep
    linkageType: ''
    returnType: int
    signature: int DemuxPause( demux_t *demux )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/idummy.c:88,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/idummy.c:90,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/idummy.c:99,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/idummy.c:100,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/idummy.c:114,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/idummy.c:115,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/idummy.c:121,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/idummy.c:122,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/idummy.c:127,1
    - Dst: DemuxControl
      Src: /src/vlc/modules/access/idummy.c:131,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - demux
    - query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 134
    functionName: ControlPause
    functionSourceFile: /src/vlc/modules/access/idummy.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - va_arg
    - DemuxControl
    linkageType: ''
    returnType: int
    signature: int ControlPause( demux_t *demux, int query, va_list args )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/idummy.c:147,1
    - Dst: msg_Info
      Src: /src/vlc/modules/access/idummy.c:150,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/idummy.c:157,1
    - Dst: msg_Info
      Src: /src/vlc/modules/access/idummy.c:159,1
    - Dst: libvlc_Quit
      Src: /src/vlc/modules/access/idummy.c:162,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/access/idummy.c:162,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/idummy.c:166,1
    - Dst: msg_Info
      Src: /src/vlc/modules/access/idummy.c:168,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/access/idummy.c:176,1
    - Dst: vlc_atof_c
      Src: /src/vlc/modules/access/idummy.c:178,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/access/idummy.c:179,1
    - Dst: msg_Info
      Src: /src/vlc/modules/access/idummy.c:181,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/access/idummy.c:185,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/idummy.c:189,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/idummy.c:198,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 200
    functionName: OpenDemux
    functionSourceFile: /src/vlc/modules/access/idummy.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - strncasecmp
    - vlc_obj_malloc
    - vlc_atof_c
    - vlc_tick_from_sec
    - vlc_object_instance
    - msg_Err
    - msg_Info
    - strcasecmp
    - libvlc_Quit
    linkageType: ''
    returnType: int
    signature: int OpenDemux( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 215
    functionName: DemuxControl
    functionSourceFile: /src/vlc/modules/access/idummy.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DemuxControl( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcspn
      Src: /src/vlc/modules/access/unc.c:61,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/unc.c:63,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/unc.c:68,1
    - Dst: ToWide
      Src: /src/vlc/modules/access/unc.c:74,1
    - Dst: free
      Src: /src/vlc/modules/access/unc.c:77,1
    - Dst: ToWide
      Src: /src/vlc/modules/access/unc.c:80,1
    - Dst: ToWide
      Src: /src/vlc/modules/access/unc.c:81,1
    - Dst: WNetAddConnection2
      Src: /src/vlc/modules/access/unc.c:83,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/unc.c:95,1
    - Dst: free
      Src: /src/vlc/modules/access/unc.c:96,1
    - Dst: free
      Src: /src/vlc/modules/access/unc.c:97,1
    - Dst: free
      Src: /src/vlc/modules/access/unc.c:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 5
    argNames:
    - access
    - server
    - share
    - user
    - pwd
    argTypes:
    - stream_t*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 99
    functionName: Win32AddConnection
    functionSourceFile: /src/vlc/modules/access/unc.c
    functionUses: 0
    functionsReached:
    - asprintf
    - WNetAddConnection2
    - free
    - strcspn
    - msg_Dbg
    - ToWide
    linkageType: ''
    returnType: void
    signature: "void Win32AddConnection(stream_t *access, const char *server,\n                               const
      char *share, const char *user,\n                               const char *pwd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/unc.c:108,1
    - Dst: Win32AddConnection
      Src: /src/vlc/modules/access/unc.c:112,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/unc.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 7
    argNames:
    - p_access
    - ppsz_uri
    - psz_user
    - psz_pwd
    - psz_server
    - psz_share_path
    - psz_name
    argTypes:
    - stream_t*
    - char**
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts:
    - condition: (psz_server)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/vlc/modules/access/unc.c
    constantsTouched: []
    func_position:
      end: 116
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 116
    functionName: smb_get_uri
    functionSourceFile: /src/vlc/modules/access/unc.c
    functionUses: 2
    functionsReached:
    - asprintf
    - assert
    - Win32AddConnection
    linkageType: ''
    returnType: int
    signature: "int smb_get_uri( stream_t *p_access, char **ppsz_uri,\n                        const
      char *psz_user, const char *psz_pwd,\n                        const char *psz_server,
      const char *psz_share_path,\n                        const char *psz_name )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/unc.c:126,1
    - Dst: SetFilePointerEx
      Src: /src/vlc/modules/access/unc.c:130,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/unc.c:132,1
    - Dst: GetLastError
      Src: /src/vlc/modules/access/unc.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - p_access
    - i_pos
    argTypes:
    - stream_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 137
    functionName: Seek
    functionSourceFile: /src/vlc/modules/access/unc.c
    functionUses: 12
    functionsReached:
    - GetLastError
    - SetFilePointerEx
    - msg_Dbg
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int Seek( stream_t *p_access, uint64_t i_pos )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReadFile
      Src: /src/vlc/modules/access/unc.c:144,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/unc.c:146,1
    - Dst: GetLastError
      Src: /src/vlc/modules/access/unc.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p_access
    - p_buffer
    - i_len
    argTypes:
    - stream_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 151
    functionName: Read
    functionSourceFile: /src/vlc/modules/access/unc.c
    functionUses: 21
    functionsReached:
    - ReadFile
    - GetLastError
    - msg_Err
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Read( stream_t *p_access, void *p_buffer, size_t i_len )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_readdir_helper_init
      Src: /src/vlc/modules/access/unc.c:159,1
    - Dst: ToWide
      Src: /src/vlc/modules/access/unc.c:168,1
    - Dst: NetShareEnum
      Src: /src/vlc/modules/access/unc.c:173,1
    - Dst: FromWide
      Src: /src/vlc/modules/access/unc.c:184,1
    - Dst: smb_get_uri
      Src: /src/vlc/modules/access/unc.c:192,1
    - Dst: free
      Src: /src/vlc/modules/access/unc.c:196,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/unc.c:205,1
    - Dst: free
      Src: /src/vlc/modules/access/unc.c:207,1
    - Dst: free
      Src: /src/vlc/modules/access/unc.c:208,1
    - Dst: free
      Src: /src/vlc/modules/access/unc.c:212,1
    - Dst: vlc_readdir_helper_additem
      Src: /src/vlc/modules/access/unc.c:214,1
    - Dst: free
      Src: /src/vlc/modules/access/unc.c:216,1
    - Dst: free
      Src: /src/vlc/modules/access/unc.c:217,1
    - Dst: NetApiBufferFree
      Src: /src/vlc/modules/access/unc.c:220,1
    - Dst: free
      Src: /src/vlc/modules/access/unc.c:223,1
    - Dst: vlc_readdir_helper_finish
      Src: /src/vlc/modules/access/unc.c:225,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 2
    argNames:
    - p_access
    - p_node
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 228
    functionName: DirRead
    functionSourceFile: /src/vlc/modules/access/unc.c
    functionUses: 0
    functionsReached:
    - asprintf
    - vlc_readdir_helper_init
    - free
    - NetApiBufferFree
    - smb_get_uri
    - FromWide
    - NetShareEnum
    - ToWide
    - vlc_readdir_helper_additem
    - vlc_readdir_helper_finish
    linkageType: ''
    returnType: int
    signature: int DirRead(stream_t *p_access, input_item_node_t *p_node)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/unc.c:239,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/unc.c:243,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/unc.c:251,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/unc.c:255,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/unc.c:255,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/unc.c:256,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - p_access
    - i_query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 268
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/unc.c
    functionUses: 38
    functionsReached:
    - var_InheritInteger
    - va_arg
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: int
    signature: int Control( stream_t *p_access, int i_query, va_list args )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: vlc_UrlParseFixup
      Src: /src/vlc/modules/access/unc.c:280,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/unc.c:282,1
    - Dst: vlc_uri_decode_duplicate
      Src: /src/vlc/modules/access/unc.c:288,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/unc.c:291,1
    - Dst: vlc_credential_init
      Src: /src/vlc/modules/access/unc.c:296,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/unc.c:297,1
    - Dst: vlc_credential_get
      Src: /src/vlc/modules/access/unc.c:299,1
    - Dst: vlc_credential_clean
      Src: /src/vlc/modules/access/unc.c:301,1
    - Dst: free
      Src: /src/vlc/modules/access/unc.c:302,1
    - Dst: free
      Src: /src/vlc/modules/access/unc.c:303,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/unc.c:304,1
    - Dst: smb_get_uri
      Src: /src/vlc/modules/access/unc.c:312,1
    - Dst: vlc_credential_clean
      Src: /src/vlc/modules/access/unc.c:316,1
    - Dst: free
      Src: /src/vlc/modules/access/unc.c:317,1
    - Dst: free
      Src: /src/vlc/modules/access/unc.c:318,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/unc.c:319,1
    - Dst: ToWide
      Src: /src/vlc/modules/access/unc.c:323,1
    - Dst: free
      Src: /src/vlc/modules/access/unc.c:324,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/unc.c:325,1
    - Dst: GetFileAttributesW
      Src: /src/vlc/modules/access/unc.c:328,1
    - Dst: free
      Src: /src/vlc/modules/access/unc.c:331,1
    - Dst: vlc_credential_get
      Src: /src/vlc/modules/access/unc.c:339,1
    - Dst: vlc_credential_store
      Src: /src/vlc/modules/access/unc.c:345,1
    - Dst: vlc_credential_clean
      Src: /src/vlc/modules/access/unc.c:346,1
    - Dst: free
      Src: /src/vlc/modules/access/unc.c:347,1
    - Dst: free
      Src: /src/vlc/modules/access/unc.c:348,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/unc.c:352,1
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/access/unc.c:357,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/unc.c:358,1
    - Dst: free
      Src: /src/vlc/modules/access/unc.c:360,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/unc.c:361,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/unc.c:376,1
    - Dst: CreateFileW
      Src: /src/vlc/modules/access/unc.c:377,1
    - Dst: free
      Src: /src/vlc/modules/access/unc.c:383,1
    - Dst: GetFileSizeEx
      Src: /src/vlc/modules/access/unc.c:391,1
    - Dst: free
      Src: /src/vlc/modules/access/unc.c:394,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 79
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 399
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/unc.c
    functionUses: 11
    functionsReached:
    - vlc_credential_store
    - vlc_credential_clean
    - var_InheritString
    - vlc_uri_decode_duplicate
    - CreateFileW
    - GetFileSizeEx
    - vlc_UrlParseFixup
    - GetFileAttributesW
    - free
    - smb_get_uri
    - ToWide
    - vlc_credential_get
    - vlc_credential_init
    - unlikely
    - vlc_obj_calloc
    - vlc_UrlClean
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/unc.c:406,1
    - Dst: CloseHandle
      Src: /src/vlc/modules/access/unc.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 408
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/unc.c
    functionUses: 44
    functionsReached:
    - CloseHandle
    - vlc_UrlClean
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - demux_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: DvdReadResetCellTs
    functionSourceFile: /src/vlc/modules/access/dvdread.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DvdReadResetCellTs( demux_sys_t *p_sys )
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 1
    argNames:
    - spa_format
    argTypes:
    - enum spa_audio_format
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 104
    functionName: spa_audio_format_to_fourcc
    functionSourceFile: /src/vlc/modules/access/pipewire.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t spa_audio_format_to_fourcc(enum spa_audio_format spa_format)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - spa_format
    argTypes:
    - enum spa_video_format
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 124
    functionName: spa_video_format_to_fourcc
    functionSourceFile: /src/vlc/modules/access/pipewire.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t spa_video_format_to_fourcc(enum spa_video_format spa_format)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/pipewire.c:147,1
    - Dst: vlc_pw_error
      Src: /src/vlc/modules/access/pipewire.c:152,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/pipewire.c:161,1
    - Dst: vlc_pw_error
      Src: /src/vlc/modules/access/pipewire.c:166,1
    - Dst: aout_CheckChannelReorder
      Src: /src/vlc/modules/access/pipewire.c:173,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/access/pipewire.c:177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - s
    - fmt
    - format
    argTypes:
    - struct vlc_pw_stream*
    - es_format_t*
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 183
    functionName: initialize_audio_format
    functionSourceFile: /src/vlc/modules/access/pipewire.c
    functionUses: 0
    functionsReached:
    - aout_FormatPrepare
    - ARRAY_SIZE
    - aout_CheckChannelReorder
    - vlc_pw_error
    - es_format_Init
    linkageType: ''
    returnType: int
    signature: int initialize_audio_format(struct vlc_pw_stream *s, es_format_t *fmt,
      vlc_fourcc_t format)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/pipewire.c:192,1
    - Dst: video_format_Setup
      Src: /src/vlc/modules/access/pipewire.c:195,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/access/pipewire.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - s
    - fmt
    - format
    argTypes:
    - struct vlc_pw_stream*
    - es_format_t*
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 202
    functionName: initialize_video_format
    functionSourceFile: /src/vlc/modules/access/pipewire.c
    functionUses: 0
    functionsReached:
    - video_format_Setup
    - vlc_tick_from_samples
    - es_format_Init
    linkageType: ''
    returnType: void
    signature: void initialize_video_format(struct vlc_pw_stream *s, es_format_t *fmt,
      vlc_fourcc_t format)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: spa_format_parse
      Src: /src/vlc/modules/access/pipewire.c:225,1
    - Dst: spa_format_audio_raw_parse
      Src: /src/vlc/modules/access/pipewire.c:232,1
    - Dst: spa_audio_format_to_fourcc
      Src: /src/vlc/modules/access/pipewire.c:235,1
    - Dst: vlc_pw_error
      Src: /src/vlc/modules/access/pipewire.c:238,1
    - Dst: initialize_audio_format
      Src: /src/vlc/modules/access/pipewire.c:243,1
    - Dst: spa_format_parse
      Src: /src/vlc/modules/access/pipewire.c:248,1
    - Dst: spa_format_video_raw_parse
      Src: /src/vlc/modules/access/pipewire.c:255,1
    - Dst: spa_video_format_to_fourcc
      Src: /src/vlc/modules/access/pipewire.c:258,1
    - Dst: vlc_pw_error
      Src: /src/vlc/modules/access/pipewire.c:261,1
    - Dst: initialize_video_format
      Src: /src/vlc/modules/access/pipewire.c:266,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/pipewire.c:269,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 3
    argNames:
    - data
    - id
    - param
    argTypes:
    - void*
    - uint32_t
    - struct spa_pod*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 271
    functionName: on_stream_param_changed
    functionSourceFile: /src/vlc/modules/access/pipewire.c
    functionUses: 0
    functionsReached:
    - initialize_video_format
    - spa_audio_format_to_fourcc
    - initialize_audio_format
    - spa_format_parse
    - spa_video_format_to_fourcc
    - vlc_pw_error
    - es_out_Add
    - spa_format_video_raw_parse
    - spa_format_audio_raw_parse
    linkageType: ''
    returnType: void
    signature: void on_stream_param_changed(void *data, uint32_t id, const struct
      spa_pod *param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_pw_error
      Src: /src/vlc/modules/access/pipewire.c:284,1
    - Dst: vlc_pw_debug
      Src: /src/vlc/modules/access/pipewire.c:286,1
    - Dst: pw_stream_state_as_string
      Src: /src/vlc/modules/access/pipewire.c:287,1
    - Dst: vlc_pw_signal
      Src: /src/vlc/modules/access/pipewire.c:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - data
    - old
    - state
    - err
    argTypes:
    - void*
    - enum pw_stream_state
    - enum pw_stream_state
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 290
    functionName: stream_state_changed
    functionSourceFile: /src/vlc/modules/access/pipewire.c
    functionUses: 0
    functionsReached:
    - vlc_pw_signal
    - vlc_pw_error
    - pw_stream_state_as_string
    - vlc_pw_debug
    linkageType: ''
    returnType: void
    signature: "void stream_state_changed(void *data, enum pw_stream_state old,\n
      \                                enum pw_stream_state state, const char *err)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PW_CHECK_VERSION
      Src: /src/vlc/modules/access/pipewire.c:299,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/access/pipewire.c:301,1
    - Dst: pw_stream_get_nsec
      Src: /src/vlc/modules/access/pipewire.c:301,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/pipewire.c:303,1
    - Dst: pw_stream_get_time_n
      Src: /src/vlc/modules/access/pipewire.c:306,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/access/pipewire.c:310,1
    - Dst: vlc_tick_from_frac
      Src: /src/vlc/modules/access/pipewire.c:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - s
    - now
    argTypes:
    - struct vlc_pw_stream*
    - vlc_tick_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 311
    functionName: stream_update_latency
    functionSourceFile: /src/vlc/modules/access/pipewire.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - PW_CHECK_VERSION
    - pw_stream_get_time_n
    - pw_stream_get_nsec
    - VLC_TICK_FROM_NS
    - vlc_tick_from_frac
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t stream_update_latency(struct vlc_pw_stream *s, vlc_tick_t
      *now)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stream_update_latency
      Src: /src/vlc/modules/access/pipewire.c:324,1
    - Dst: pw_stream_dequeue_buffer
      Src: /src/vlc/modules/access/pipewire.c:325,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/pipewire.c:327,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/pipewire.c:341,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/pipewire.c:342,1
    - Dst: vlc_frame_Alloc
      Src: /src/vlc/modules/access/pipewire.c:345,1
    - Dst: likely
      Src: /src/vlc/modules/access/pipewire.c:346,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/pipewire.c:348,1
    - Dst: aout_ChannelReorder
      Src: /src/vlc/modules/access/pipewire.c:353,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/pipewire.c:364,1
    - Dst: pw_stream_queue_buffer
      Src: /src/vlc/modules/access/pipewire.c:370,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 371
    functionName: on_process
    functionSourceFile: /src/vlc/modules/access/pipewire.c
    functionUses: 0
    functionsReached:
    - pw_stream_dequeue_buffer
    - pw_stream_queue_buffer
    - es_out_Send
    - stream_update_latency
    - aout_ChannelReorder
    - memcpy
    - vlc_frame_Alloc
    - likely
    - unlikely
    - es_out_SetPCR
    linkageType: ''
    returnType: void
    signature: void on_process(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_pw_lock
      Src: /src/vlc/modules/access/pipewire.c:378,1
    - Dst: pw_stream_flush
      Src: /src/vlc/modules/access/pipewire.c:379,1
    - Dst: pw_stream_disconnect
      Src: /src/vlc/modules/access/pipewire.c:380,1
    - Dst: pw_stream_destroy
      Src: /src/vlc/modules/access/pipewire.c:381,1
    - Dst: vlc_pw_unlock
      Src: /src/vlc/modules/access/pipewire.c:382,1
    - Dst: free
      Src: /src/vlc/modules/access/pipewire.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct vlc_pw_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 384
    functionName: vlc_pw_stream_destroy
    functionSourceFile: /src/vlc/modules/access/pipewire.c
    functionUses: 0
    functionsReached:
    - vlc_pw_unlock
    - vlc_pw_lock
    - pw_stream_disconnect
    - free
    - pw_stream_destroy
    - pw_stream_flush
    linkageType: ''
    returnType: void
    signature: void vlc_pw_stream_destroy(struct vlc_pw_stream *s)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pw_stream_get_time_n
      Src: /src/vlc/modules/access/pipewire.c:404,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/access/pipewire.c:406,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/pipewire.c:412,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - demux
    - query
    - ap
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 435
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/pipewire.c
    functionUses: 38
    functionsReached:
    - pw_stream_get_time_n
    - va_arg
    - VLC_TICK_FROM_NS
    linkageType: ''
    returnType: int
    signature: int Control(demux_t *demux, int query, va_list ap)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/access/pipewire.c:449,1
    - Dst: spa_dict_lookup
      Src: /src/vlc/modules/access/pipewire.c:451,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/pipewire.c:452,1
    - Dst: spa_dict_lookup
      Src: /src/vlc/modules/access/pipewire.c:455,1
    - Dst: strstr
      Src: /src/vlc/modules/access/pipewire.c:459,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/pipewire.c:462,1
    - Dst: strstr
      Src: /src/vlc/modules/access/pipewire.c:464,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 6
    argNames:
    - data
    - id
    - perms
    - type
    - version
    - props
    argTypes:
    - void*
    - uint32_t
    - uint32_t
    - char*
    - uint32_t
    - struct spa_dict*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 468
    functionName: registry_global
    functionSourceFile: /src/vlc/modules/access/pipewire.c
    functionUses: 0
    functionsReached:
    - strcmp
    - unlikely
    - strstr
    - spa_dict_lookup
    linkageType: ''
    returnType: void
    signature: "void registry_global(void *data, uint32_t id, uint32_t perms,\n                            const
      char *type, uint32_t version,\n                            const struct spa_dict
      *props)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/pipewire.c:482,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/pipewire.c:483,1
    - Dst: vlc_pw_connect
      Src: /src/vlc/modules/access/pipewire.c:486,1
    - Dst: free
      Src: /src/vlc/modules/access/pipewire.c:489,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/pipewire.c:496,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/pipewire.c:496,1
    - Dst: vlc_pw_lock
      Src: /src/vlc/modules/access/pipewire.c:503,1
    - Dst: vlc_pw_registry_listen
      Src: /src/vlc/modules/access/pipewire.c:504,1
    - Dst: vlc_pw_roundtrip_unlocked
      Src: /src/vlc/modules/access/pipewire.c:505,1
    - Dst: vlc_pw_unlock
      Src: /src/vlc/modules/access/pipewire.c:506,1
    - Dst: SPA_POD_BUILDER_INIT
      Src: /src/vlc/modules/access/pipewire.c:519,1
    - Dst: spa_format_audio_raw_build
      Src: /src/vlc/modules/access/pipewire.c:525,1
    - Dst: pw_properties_new
      Src: /src/vlc/modules/access/pipewire.c:528,1
    - Dst: spa_pod_builder_add_object
      Src: /src/vlc/modules/access/pipewire.c:536,1
    - Dst: SPA_POD_Id
      Src: /src/vlc/modules/access/pipewire.c:538,1
    - Dst: SPA_POD_Id
      Src: /src/vlc/modules/access/pipewire.c:539,1
    - Dst: SPA_POD_CHOICE_ENUM_Id
      Src: /src/vlc/modules/access/pipewire.c:540,1
    - Dst: SPA_POD_CHOICE_RANGE_Rectangle
      Src: /src/vlc/modules/access/pipewire.c:547,1
    - Dst: SPA_RECTANGLE
      Src: /src/vlc/modules/access/pipewire.c:548,1
    - Dst: SPA_RECTANGLE
      Src: /src/vlc/modules/access/pipewire.c:549,1
    - Dst: SPA_RECTANGLE
      Src: /src/vlc/modules/access/pipewire.c:550,1
    - Dst: SPA_POD_CHOICE_RANGE_Fraction
      Src: /src/vlc/modules/access/pipewire.c:551,1
    - Dst: SPA_FRACTION
      Src: /src/vlc/modules/access/pipewire.c:552,1
    - Dst: SPA_FRACTION
      Src: /src/vlc/modules/access/pipewire.c:553,1
    - Dst: SPA_FRACTION
      Src: /src/vlc/modules/access/pipewire.c:554,1
    - Dst: pw_properties_new
      Src: /src/vlc/modules/access/pipewire.c:556,1
    - Dst: pw_properties_set
      Src: /src/vlc/modules/access/pipewire.c:563,1
    - Dst: malloc
      Src: /src/vlc/modules/access/pipewire.c:566,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/pipewire.c:567,1
    - Dst: pw_properties_free
      Src: /src/vlc/modules/access/pipewire.c:569,1
    - Dst: vlc_pw_disconnect
      Src: /src/vlc/modules/access/pipewire.c:570,1
    - Dst: free
      Src: /src/vlc/modules/access/pipewire.c:571,1
    - Dst: vlc_pw_lock
      Src: /src/vlc/modules/access/pipewire.c:586,1
    - Dst: vlc_pw_stream_new
      Src: /src/vlc/modules/access/pipewire.c:587,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/pipewire.c:588,1
    - Dst: vlc_pw_unlock
      Src: /src/vlc/modules/access/pipewire.c:590,1
    - Dst: free
      Src: /src/vlc/modules/access/pipewire.c:591,1
    - Dst: vlc_pw_disconnect
      Src: /src/vlc/modules/access/pipewire.c:592,1
    - Dst: free
      Src: /src/vlc/modules/access/pipewire.c:593,1
    - Dst: pw_stream_add_listener
      Src: /src/vlc/modules/access/pipewire.c:598,1
    - Dst: pw_stream_connect
      Src: /src/vlc/modules/access/pipewire.c:599,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/pipewire.c:600,1
    - Dst: pw_stream_get_state
      Src: /src/vlc/modules/access/pipewire.c:603,1
    - Dst: vlc_pw_wait
      Src: /src/vlc/modules/access/pipewire.c:605,1
    - Dst: vlc_pw_unlock
      Src: /src/vlc/modules/access/pipewire.c:607,1
    - Dst: vlc_pw_stream_destroy
      Src: /src/vlc/modules/access/pipewire.c:615,1
    - Dst: vlc_pw_disconnect
      Src: /src/vlc/modules/access/pipewire.c:616,1
    - Dst: free
      Src: /src/vlc/modules/access/pipewire.c:617,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 69
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 624
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/pipewire.c
    functionUses: 11
    functionsReached:
    - pw_stream_get_state
    - SPA_POD_Id
    - SPA_POD_BUILDER_INIT
    - ARRAY_SIZE
    - spa_format_audio_raw_build
    - vlc_pw_connect
    - pw_stream_connect
    - pw_properties_new
    - SPA_FRACTION
    - var_InheritInteger
    - vlc_pw_lock
    - vlc_pw_unlock
    - SPA_RECTANGLE
    - vlc_pw_stream_destroy
    - spa_pod_builder_add_object
    - vlc_pw_disconnect
    - pw_properties_set
    - pw_properties_free
    - SPA_POD_CHOICE_RANGE_Fraction
    - VLC_TICK_FROM_MS
    - SPA_POD_CHOICE_ENUM_Id
    - unlikely
    - vlc_pw_stream_new
    - free
    - vlc_pw_roundtrip_unlocked
    - pw_stream_add_listener
    - vlc_pw_wait
    - SPA_POD_CHOICE_RANGE_Rectangle
    - malloc
    - vlc_pw_registry_listen
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_pw_stream_destroy
      Src: /src/vlc/modules/access/pipewire.c:630,1
    - Dst: vlc_pw_disconnect
      Src: /src/vlc/modules/access/pipewire.c:631,1
    - Dst: free
      Src: /src/vlc/modules/access/pipewire.c:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 633
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/pipewire.c
    functionUses: 44
    functionsReached:
    - vlc_pw_stream_destroy
    - free
    - vlc_pw_disconnect
    linkageType: ''
    returnType: void
    signature: void Close (vlc_object_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_uri_compose
      Src: /src/vlc/modules/access/webdav.c:94,1
    - Dst: vlc_uri_resolve
      Src: /src/vlc/modules/access/webdav.c:98,1
    - Dst: free
      Src: /src/vlc/modules/access/webdav.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sys
    - href
    argTypes:
    - access_sys_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 101
    functionName: BuildChildUrl
    functionSourceFile: /src/vlc/modules/access/webdav.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_uri_resolve
    - vlc_uri_compose
    linkageType: ''
    returnType: char
    signature: char *BuildChildUrl(access_sys_t *sys, const char *href)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/access/webdav.c:107,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/webdav.c:109,1
    - Dst: strlen
      Src: /src/vlc/modules/access/webdav.c:114,1
    - Dst: strcspn
      Src: /src/vlc/modules/access/webdav.c:115,1
    - Dst: memcmp
      Src: /src/vlc/modules/access/webdav.c:120,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/webdav.c:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - sys
    - href
    - is_collection
    argTypes:
    - access_sys_t*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 124
    functionName: IsSelfHref
    functionSourceFile: /src/vlc/modules/access/webdav.c
    functionUses: 0
    functionsReached:
    - vlc_UrlParse
    - strlen
    - strcspn
    - memcmp
    - vlc_UrlClean
    linkageType: ''
    returnType: bool
    signature: "bool IsSelfHref(const access_sys_t *sys, const char *href,\n                       bool
      is_collection)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcspn
      Src: /src/vlc/modules/access/webdav.c:128,1
    - Dst: strndup
      Src: /src/vlc/modules/access/webdav.c:138,1
    - Dst: vlc_uri_decode
      Src: /src/vlc/modules/access/webdav.c:140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - href
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 142
    functionName: LeafName
    functionSourceFile: /src/vlc/modules/access/webdav.c
    functionUses: 0
    functionsReached:
    - strndup
    - strcspn
    - vlc_uri_decode
    linkageType: ''
    returnType: char
    signature: char *LeafName(const char *href)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/webdav.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: HttpRespDestroy
    functionSourceFile: /src/vlc/modules/access/webdav.c
    functionUses: 0
    functionsReached:
    - vlc_http_msg_destroy
    linkageType: ''
    returnType: void
    signature: void HttpRespDestroy(stream_t *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_msg_read
      Src: /src/vlc/modules/access/webdav.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - s
    - eof
    argTypes:
    - stream_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 160
    functionName: HttpRespBlock
    functionSourceFile: /src/vlc/modules/access/webdav.c
    functionUses: 0
    functionsReached:
    - vlc_http_msg_read
    linkageType: ''
    returnType: block_t
    signature: block_t *HttpRespBlock(stream_t *s, bool *eof)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/webdav.c:171,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/webdav.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - s
    - query
    - ap
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 179
    functionName: HttpRespControl
    functionSourceFile: /src/vlc/modules/access/webdav.c
    functionUses: 0
    functionsReached:
    - va_arg
    linkageType: ''
    returnType: int
    signature: int HttpRespControl(stream_t *s, int query, va_list ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_CommonNew
      Src: /src/vlc/modules/access/webdav.c:183,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/webdav.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - parent
    - resp
    argTypes:
    - vlc_object_t*
    - struct vlc_http_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 193
    functionName: HttpRespStream
    functionSourceFile: /src/vlc/modules/access/webdav.c
    functionUses: 0
    functionsReached:
    - vlc_http_msg_destroy
    - vlc_stream_CommonNew
    linkageType: ''
    returnType: stream_t
    signature: stream_t *HttpRespStream(vlc_object_t *parent, struct vlc_http_msg
      *resp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_req_create
      Src: /src/vlc/modules/access/webdav.c:200,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/webdav.c:205,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/webdav.c:206,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/webdav.c:207,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/webdav.c:209,1
    - Dst: vlc_http_msg_add_agent
      Src: /src/vlc/modules/access/webdav.c:212,1
    - Dst: free
      Src: /src/vlc/modules/access/webdav.c:213,1
    - Dst: vlc_http_msg_add_creds_basic
      Src: /src/vlc/modules/access/webdav.c:217,1
    - Dst: vlc_http_mgr_request
      Src: /src/vlc/modules/access/webdav.c:219,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/webdav.c:222,1
    - Dst: vlc_http_msg_get_final
      Src: /src/vlc/modules/access/webdav.c:224,1
    - Dst: vlc_http_msg_get_status
      Src: /src/vlc/modules/access/webdav.c:230,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - access
    - user
    - pass
    - status
    argTypes:
    - stream_t*
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 232
    functionName: DoPropfind
    functionSourceFile: /src/vlc/modules/access/webdav.c
    functionUses: 0
    functionsReached:
    - vlc_http_req_create
    - var_InheritString
    - vlc_http_msg_add_agent
    - vlc_http_msg_get_status
    - vlc_http_msg_add_header
    - free
    - vlc_http_mgr_request
    - vlc_http_msg_destroy
    - vlc_http_msg_add_creds_basic
    - vlc_http_msg_get_final
    linkageType: ''
    returnType: struct vlc_http_msg
    signature: "struct vlc_http_msg *DoPropfind(stream_t *access, const char *user,\n
      \                                      const char *pass, int *status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/access/webdav.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: IsDavNamespace
    functionSourceFile: /src/vlc/modules/access/webdav.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool IsDavNamespace(const char *ns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strspn
      Src: /src/vlc/modules/access/webdav.c:242,1
    - Dst: strlen
      Src: /src/vlc/modules/access/webdav.c:243,1
    - Dst: strchr
      Src: /src/vlc/modules/access/webdav.c:244,1
    - Dst: strndup
      Src: /src/vlc/modules/access/webdav.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 247
    functionName: DupXmlText
    functionSourceFile: /src/vlc/modules/access/webdav.c
    functionUses: 0
    functionsReached:
    - strndup
    - strlen
    - strspn
    - strchr
    linkageType: ''
    returnType: char
    signature: char *DupXmlText(const char *s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BuildChildUrl
      Src: /src/vlc/modules/access/webdav.c:254,1
    - Dst: LeafName
      Src: /src/vlc/modules/access/webdav.c:262,1
    - Dst: free
      Src: /src/vlc/modules/access/webdav.c:267,1
    - Dst: vlc_readdir_helper_additem
      Src: /src/vlc/modules/access/webdav.c:273,1
    - Dst: input_item_AddStat
      Src: /src/vlc/modules/access/webdav.c:278,1
    - Dst: input_item_AddStat
      Src: /src/vlc/modules/access/webdav.c:280,1
    - Dst: free
      Src: /src/vlc/modules/access/webdav.c:283,1
    - Dst: free
      Src: /src/vlc/modules/access/webdav.c:284,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - access
    - rdh
    - e
    argTypes:
    - stream_t*
    - struct vlc_readdir_helper*
    - struct dav_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 249
    functionDepth: 3
    functionLinenumber: 249
    functionLinenumberEnd: 285
    functionName: EmitEntry
    functionSourceFile: /src/vlc/modules/access/webdav.c
    functionUses: 0
    functionsReached:
    - BuildChildUrl
    - free
    - vlc_readdir_helper_additem
    - input_item_AddStat
    - LeafName
    linkageType: ''
    returnType: void
    signature: "void EmitEntry(stream_t *access, struct vlc_readdir_helper *rdh,\n
      \                     const struct dav_entry *e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/webdav.c:289,1
    - Dst: free
      Src: /src/vlc/modules/access/webdav.c:290,1
    - Dst: memset
      Src: /src/vlc/modules/access/webdav.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct dav_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: ResetEntry
    functionSourceFile: /src/vlc/modules/access/webdav.c
    functionUses: 0
    functionsReached:
    - free
    - memset
    linkageType: ''
    returnType: void
    signature: void ResetEntry(struct dav_entry *e)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderCreate
      Src: /src/vlc/modules/access/webdav.c:320,1
    - Dst: xml_ReaderNextNodeNS
      Src: /src/vlc/modules/access/webdav.c:334,1
    - Dst: xml_ReaderIsEmptyElement
      Src: /src/vlc/modules/access/webdav.c:338,1
    - Dst: IsDavNamespace
      Src: /src/vlc/modules/access/webdav.c:341,1
    - Dst: strchr
      Src: /src/vlc/modules/access/webdav.c:345,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/webdav.c:350,1
    - Dst: ResetEntry
      Src: /src/vlc/modules/access/webdav.c:353,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/webdav.c:360,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/webdav.c:362,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/webdav.c:367,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/webdav.c:370,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/webdav.c:372,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/webdav.c:374,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/webdav.c:376,1
    - Dst: DupXmlText
      Src: /src/vlc/modules/access/webdav.c:384,1
    - Dst: free
      Src: /src/vlc/modules/access/webdav.c:394,1
    - Dst: free
      Src: /src/vlc/modules/access/webdav.c:400,1
    - Dst: strtoull
      Src: /src/vlc/modules/access/webdav.c:405,1
    - Dst: free
      Src: /src/vlc/modules/access/webdav.c:411,1
    - Dst: vlc_http_mktime
      Src: /src/vlc/modules/access/webdav.c:416,1
    - Dst: free
      Src: /src/vlc/modules/access/webdav.c:422,1
    - Dst: free
      Src: /src/vlc/modules/access/webdav.c:426,1
    - Dst: IsDavNamespace
      Src: /src/vlc/modules/access/webdav.c:434,1
    - Dst: strchr
      Src: /src/vlc/modules/access/webdav.c:437,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/webdav.c:440,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/webdav.c:442,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/webdav.c:447,1
    - Dst: IsSelfHref
      Src: /src/vlc/modules/access/webdav.c:452,1
    - Dst: ResetEntry
      Src: /src/vlc/modules/access/webdav.c:456,1
    - Dst: vlc_vector_push
      Src: /src/vlc/modules/access/webdav.c:459,1
    - Dst: ResetEntry
      Src: /src/vlc/modules/access/webdav.c:460,1
    - Dst: memset
      Src: /src/vlc/modules/access/webdav.c:462,1
    - Dst: ResetEntry
      Src: /src/vlc/modules/access/webdav.c:470,1
    - Dst: xml_ReaderDelete
      Src: /src/vlc/modules/access/webdav.c:471,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 102
    argCount: 3
    argNames:
    - access
    - body
    - self_is_collection_out
    argTypes:
    - stream_t*
    - stream_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 473
    functionName: ParseMultistatus
    functionSourceFile: /src/vlc/modules/access/webdav.c
    functionUses: 0
    functionsReached:
    - strtoull
    - strchr
    - ResetEntry
    - memset
    - vlc_http_mktime
    - xml_ReaderCreate
    - free
    - strcmp
    - vlc_vector_push
    - xml_ReaderIsEmptyElement
    - IsSelfHref
    - DupXmlText
    - xml_ReaderDelete
    - IsDavNamespace
    - xml_ReaderNextNodeNS
    linkageType: ''
    returnType: int
    signature: "int ParseMultistatus(stream_t *access, stream_t *body,\n                            bool
      *self_is_collection_out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_readdir_helper_init
      Src: /src/vlc/modules/access/webdav.c:480,1
    - Dst: vlc_vector_foreach_ref
      Src: /src/vlc/modules/access/webdav.c:482,1
    - Dst: EmitEntry
      Src: /src/vlc/modules/access/webdav.c:483,1
    - Dst: vlc_readdir_helper_finish
      Src: /src/vlc/modules/access/webdav.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - access
    - node
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 475
    functionDepth: 4
    functionLinenumber: 475
    functionLinenumberEnd: 486
    functionName: DirRead
    functionSourceFile: /src/vlc/modules/access/webdav.c
    functionUses: 0
    functionsReached:
    - vlc_vector_foreach_ref
    - EmitEntry
    - vlc_readdir_helper_finish
    - vlc_readdir_helper_init
    linkageType: ''
    returnType: int
    signature: int DirRead(stream_t *access, input_item_node_t *node)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/access/webdav.c:491,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/webdav.c:492,1
    - Dst: vlc_UrlParseFixup
      Src: /src/vlc/modules/access/webdav.c:497,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/webdav.c:502,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/webdav.c:503,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/webdav.c:505,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/webdav.c:506,1
    - Dst: strdup
      Src: /src/vlc/modules/access/webdav.c:511,1
    - Dst: vlc_http_authority
      Src: /src/vlc/modules/access/webdav.c:513,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/webdav.c:520,1
    - Dst: strdup
      Src: /src/vlc/modules/access/webdav.c:524,1
    - Dst: vlc_http_mgr_create
      Src: /src/vlc/modules/access/webdav.c:528,1
    - Dst: vlc_credential_init
      Src: /src/vlc/modules/access/webdav.c:535,1
    - Dst: vlc_credential_get
      Src: /src/vlc/modules/access/webdav.c:539,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/webdav.c:551,1
    - Dst: DoPropfind
      Src: /src/vlc/modules/access/webdav.c:552,1
    - Dst: vlc_credential_clean
      Src: /src/vlc/modules/access/webdav.c:555,1
    - Dst: vlc_http_msg_get_basic_realm
      Src: /src/vlc/modules/access/webdav.c:562,1
    - Dst: vlc_credential_get
      Src: /src/vlc/modules/access/webdav.c:568,1
    - Dst: _
      Src: /src/vlc/modules/access/webdav.c:569,1
    - Dst: _
      Src: /src/vlc/modules/access/webdav.c:570,1
    - Dst: free
      Src: /src/vlc/modules/access/webdav.c:572,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/webdav.c:581,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/webdav.c:582,1
    - Dst: vlc_credential_clean
      Src: /src/vlc/modules/access/webdav.c:583,1
    - Dst: vlc_credential_store
      Src: /src/vlc/modules/access/webdav.c:587,1
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/access/webdav.c:593,1
    - Dst: vlc_uri_resolve
      Src: /src/vlc/modules/access/webdav.c:596,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/webdav.c:600,1
    - Dst: vlc_credential_clean
      Src: /src/vlc/modules/access/webdav.c:601,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/webdav.c:606,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/webdav.c:607,1
    - Dst: vlc_credential_clean
      Src: /src/vlc/modules/access/webdav.c:608,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/webdav.c:617,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/webdav.c:623,1
    - Dst: vlc_credential_clean
      Src: /src/vlc/modules/access/webdav.c:624,1
    - Dst: vlc_credential_clean
      Src: /src/vlc/modules/access/webdav.c:628,1
    - Dst: HttpRespStream
      Src: /src/vlc/modules/access/webdav.c:631,1
    - Dst: ParseMultistatus
      Src: /src/vlc/modules/access/webdav.c:634,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/access/webdav.c:635,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/webdav.c:643,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/webdav.c:650,1
    - Dst: vlc_http_mgr_destroy
      Src: /src/vlc/modules/access/webdav.c:660,1
    - Dst: vlc_vector_foreach_ref
      Src: /src/vlc/modules/access/webdav.c:662,1
    - Dst: free
      Src: /src/vlc/modules/access/webdav.c:664,1
    - Dst: free
      Src: /src/vlc/modules/access/webdav.c:665,1
    - Dst: vlc_vector_destroy
      Src: /src/vlc/modules/access/webdav.c:667,1
    - Dst: free
      Src: /src/vlc/modules/access/webdav.c:668,1
    - Dst: free
      Src: /src/vlc/modules/access/webdav.c:669,1
    - Dst: free
      Src: /src/vlc/modules/access/webdav.c:670,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/webdav.c:671,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 126
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 488
    functionDepth: 4
    functionLinenumber: 488
    functionLinenumberEnd: 673
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/webdav.c
    functionUses: 11
    functionsReached:
    - vlc_vector_foreach_ref
    - vlc_credential_store
    - vlc_uri_resolve
    - ParseMultistatus
    - vlc_http_authority
    - DoPropfind
    - vlc_obj_calloc
    - vlc_http_mgr_destroy
    - vlc_http_msg_get_basic_realm
    - asprintf
    - _
    - msg_Err
    - vlc_http_msg_destroy
    - vlc_http_mgr_create
    - vlc_UrlClean
    - strdup
    - vlc_credential_init
    - vlc_credential_clean
    - vlc_ascii_strcasecmp
    - HttpRespStream
    - vlc_UrlParseFixup
    - vlc_stream_Delete
    - free
    - vlc_vector_destroy
    - vlc_credential_get
    - vlc_http_msg_get_header
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_mgr_destroy
      Src: /src/vlc/modules/access/webdav.c:681,1
    - Dst: vlc_vector_foreach_ref
      Src: /src/vlc/modules/access/webdav.c:683,1
    - Dst: free
      Src: /src/vlc/modules/access/webdav.c:685,1
    - Dst: free
      Src: /src/vlc/modules/access/webdav.c:686,1
    - Dst: vlc_vector_destroy
      Src: /src/vlc/modules/access/webdav.c:688,1
    - Dst: free
      Src: /src/vlc/modules/access/webdav.c:689,1
    - Dst: free
      Src: /src/vlc/modules/access/webdav.c:690,1
    - Dst: free
      Src: /src/vlc/modules/access/webdav.c:691,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/webdav.c:692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 693
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/webdav.c
    functionUses: 44
    functionsReached:
    - vlc_http_mgr_destroy
    - vlc_vector_foreach_ref
    - free
    - vlc_vector_destroy
    - vlc_UrlClean
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/srt.c:54,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/srt.c:59,1
    - Dst: srt_epoll_remove_usock
      Src: /src/vlc/modules/access/srt.c:63,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/srt.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - p_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 66
    functionName: srt_wait_interrupted
    functionSourceFile: /src/vlc/modules/access/srt.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - srt_epoll_remove_usock
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void srt_wait_interrupted(void *p_data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/srt.c:78,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/srt.c:81,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/srt.c:81,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/srt.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - p_stream
    - i_query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 90
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/srt.c
    functionUses: 38
    functionsReached:
    - var_InheritInteger
    - va_arg
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: int
    signature: int Control(stream_t *p_stream, int i_query, va_list args)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/srt.c:94,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/srt.c:95,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/srt.c:97,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/srt.c:99,1
    - Dst: strdup
      Src: /src/vlc/modules/access/srt.c:118,1
    - Dst: srt_parse_url
      Src: /src/vlc/modules/access/srt.c:124,1
    - Dst: free
      Src: /src/vlc/modules/access/srt.c:128,1
    - Dst: free
      Src: /src/vlc/modules/access/srt.c:133,1
    - Dst: vlc_getaddrinfo
      Src: /src/vlc/modules/access/srt.c:145,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/srt.c:148,1
    - Dst: gai_strerror
      Src: /src/vlc/modules/access/srt.c:151,1
    - Dst: srt_epoll_remove_usock
      Src: /src/vlc/modules/access/srt.c:161,1
    - Dst: srt_close
      Src: /src/vlc/modules/access/srt.c:162,1
    - Dst: srt_create_socket
      Src: /src/vlc/modules/access/srt.c:165,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/srt.c:168,1
    - Dst: srt_setsockopt
      Src: /src/vlc/modules/access/srt.c:174,1
    - Dst: srt_setsockopt
      Src: /src/vlc/modules/access/srt.c:176,1
    - Dst: srt_setsockopt
      Src: /src/vlc/modules/access/srt.c:180,1
    - Dst: srt_setsockopt
      Src: /src/vlc/modules/access/srt.c:184,1
    - Dst: srt_set_socket_option
      Src: /src/vlc/modules/access/srt.c:188,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/srt.c:193,1
    - Dst: srt_set_socket_option
      Src: /src/vlc/modules/access/srt.c:195,1
    - Dst: srt_set_socket_option
      Src: /src/vlc/modules/access/srt.c:198,1
    - Dst: strlen
      Src: /src/vlc/modules/access/srt.c:199,1
    - Dst: srt_set_socket_option
      Src: /src/vlc/modules/access/srt.c:204,1
    - Dst: strlen
      Src: /src/vlc/modules/access/srt.c:205,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/srt.c:208,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/srt.c:214,1
    - Dst: srt_connect
      Src: /src/vlc/modules/access/srt.c:217,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/srt.c:219,1
    - Dst: srt_getlasterror_str
      Src: /src/vlc/modules/access/srt.c:220,1
    - Dst: srt_epoll_add_usock
      Src: /src/vlc/modules/access/srt.c:225,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/srt.c:230,1
    - Dst: vlc_getaddrinfo
      Src: /src/vlc/modules/access/srt.c:243,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/srt.c:245,1
    - Dst: gai_strerror
      Src: /src/vlc/modules/access/srt.c:245,1
    - Dst: srt_setsockopt
      Src: /src/vlc/modules/access/srt.c:251,1
    - Dst: srt_setsockopt
      Src: /src/vlc/modules/access/srt.c:254,1
    - Dst: srt_bind
      Src: /src/vlc/modules/access/srt.c:256,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/srt.c:258,1
    - Dst: srt_getlasterror_str
      Src: /src/vlc/modules/access/srt.c:258,1
    - Dst: freeaddrinfo
      Src: /src/vlc/modules/access/srt.c:259,1
    - Dst: freeaddrinfo
      Src: /src/vlc/modules/access/srt.c:264,1
    - Dst: srt_listen
      Src: /src/vlc/modules/access/srt.c:266,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/srt.c:268,1
    - Dst: srt_getlasterror_str
      Src: /src/vlc/modules/access/srt.c:268,1
    - Dst: srt_epoll_add_usock
      Src: /src/vlc/modules/access/srt.c:273,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/srt.c:275,1
    - Dst: srt_getlasterror_str
      Src: /src/vlc/modules/access/srt.c:275,1
    - Dst: srt_accept
      Src: /src/vlc/modules/access/srt.c:281,1
    - Dst: srt_getlasterror
      Src: /src/vlc/modules/access/srt.c:284,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/srt.c:286,1
    - Dst: srt_getlasterror_str
      Src: /src/vlc/modules/access/srt.c:286,1
    - Dst: srt_epoll_remove_usock
      Src: /src/vlc/modules/access/srt.c:289,1
    - Dst: srt_close
      Src: /src/vlc/modules/access/srt.c:290,1
    - Dst: srt_epoll_add_usock
      Src: /src/vlc/modules/access/srt.c:292,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/srt.c:298,1
    - Dst: srt_epoll_remove_usock
      Src: /src/vlc/modules/access/srt.c:311,1
    - Dst: srt_close
      Src: /src/vlc/modules/access/srt.c:312,1
    - Dst: free
      Src: /src/vlc/modules/access/srt.c:317,1
    - Dst: free
      Src: /src/vlc/modules/access/srt.c:319,1
    - Dst: freeaddrinfo
      Src: /src/vlc/modules/access/srt.c:321,1
    - Dst: free
      Src: /src/vlc/modules/access/srt.c:322,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 137
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 325
    functionName: srt_schedule_reconnect
    functionSourceFile: /src/vlc/modules/access/srt.c
    functionUses: 0
    functionsReached:
    - srt_getlasterror
    - srt_set_socket_option
    - gai_strerror
    - srt_connect
    - srt_setsockopt
    - msg_Err
    - srt_listen
    - srt_close
    - msg_Dbg
    - srt_epoll_add_usock
    - freeaddrinfo
    - msg_Warn
    - srt_create_socket
    - strdup
    - var_InheritInteger
    - srt_bind
    - srt_getlasterror_str
    - srt_parse_url
    - var_InheritString
    - strlen
    - srt_accept
    - vlc_getaddrinfo
    - free
    - srt_epoll_remove_usock
    - VLC_OBJECT
    linkageType: ''
    returnType: bool
    signature: bool srt_schedule_reconnect(stream_t *p_stream)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/srt.c:330,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/srt.c:332,1
    - Dst: vlc_killed
      Src: /src/vlc/modules/access/srt.c:334,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/srt.c:345,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/srt.c:346,1
    - Dst: vlc_interrupt_register
      Src: /src/vlc/modules/access/srt.c:351,1
    - Dst: srt_epoll_wait
      Src: /src/vlc/modules/access/srt.c:356,1
    - Dst: srt_close
      Src: /src/vlc/modules/access/srt.c:362,1
    - Dst: srt_getsockstate
      Src: /src/vlc/modules/access/srt.c:366,1
    - Dst: srt_accept
      Src: /src/vlc/modules/access/srt.c:370,1
    - Dst: srt_getlasterror
      Src: /src/vlc/modules/access/srt.c:372,1
    - Dst: srt_epoll_remove_usock
      Src: /src/vlc/modules/access/srt.c:377,1
    - Dst: srt_close
      Src: /src/vlc/modules/access/srt.c:378,1
    - Dst: srt_epoll_add_usock
      Src: /src/vlc/modules/access/srt.c:380,1
    - Dst: srt_schedule_reconnect
      Src: /src/vlc/modules/access/srt.c:392,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/srt.c:393,1
    - Dst: srt_recvmsg
      Src: /src/vlc/modules/access/srt.c:409,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/srt.c:420,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/srt.c:449,1
    - Dst: vlc_interrupt_unregister
      Src: /src/vlc/modules/access/srt.c:453,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/srt.c:456,1
    - Dst: srt_epoll_add_usock
      Src: /src/vlc/modules/access/srt.c:459,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/srt.c:463,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 69
    argCount: 2
    argNames:
    - p_stream
    - eof
    argTypes:
    - stream_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 466
    functionName: BlockSRT
    functionSourceFile: /src/vlc/modules/access/srt.c
    functionUses: 0
    functionsReached:
    - block_Alloc
    - srt_getlasterror
    - vlc_interrupt_unregister
    - vlc_killed
    - vlc_mutex_lock
    - msg_Err
    - srt_close
    - srt_epoll_wait
    - msg_Dbg
    - srt_epoll_add_usock
    - srt_recvmsg
    - srt_schedule_reconnect
    - srt_getsockstate
    - var_InheritInteger
    - VLC_UNUSED
    - block_Release
    - vlc_mutex_unlock
    - srt_accept
    - vlc_interrupt_register
    - srt_epoll_remove_usock
    - unlikely
    linkageType: ''
    returnType: block_t
    signature: block_t *BlockSRT(stream_t *p_stream, bool *restrict eof)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/access/srt.c:474,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/srt.c:475,1
    - Dst: srt_startup
      Src: /src/vlc/modules/access/srt.c:478,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/access/srt.c:480,1
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/access/srt.c:484,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/srt.c:486,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/srt.c:488,1
    - Dst: vlc_obj_strdup
      Src: /src/vlc/modules/access/srt.c:492,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/srt.c:499,1
    - Dst: srt_epoll_create
      Src: /src/vlc/modules/access/srt.c:501,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/srt.c:504,1
    - Dst: srt_schedule_reconnect
      Src: /src/vlc/modules/access/srt.c:509,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/srt.c:511,1
    - Dst: srt_close
      Src: /src/vlc/modules/access/srt.c:522,1
    - Dst: srt_epoll_release
      Src: /src/vlc/modules/access/srt.c:523,1
    - Dst: srt_cleanup
      Src: /src/vlc/modules/access/srt.c:524,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 527
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/srt.c
    functionUses: 11
    functionsReached:
    - vlc_UrlParse
    - vlc_mutex_init
    - msg_Err
    - srt_startup
    - srt_schedule_reconnect
    - srt_close
    - vlc_obj_strdup
    - srt_epoll_release
    - srt_epoll_create
    - srt_cleanup
    - unlikely
    - vlc_obj_calloc
    - vlc_UrlClean
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: srt_epoll_remove_usock
      Src: /src/vlc/modules/access/srt.c:534,1
    - Dst: srt_close
      Src: /src/vlc/modules/access/srt.c:535,1
    - Dst: srt_epoll_release
      Src: /src/vlc/modules/access/srt.c:536,1
    - Dst: srt_cleanup
      Src: /src/vlc/modules/access/srt.c:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 539
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/srt.c
    functionUses: 44
    functionsReached:
    - srt_close
    - srt_cleanup
    - srt_epoll_release
    - srt_epoll_remove_usock
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *p_this)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/access/mtp.c:85,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/mtp.c:86,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/mtp.c:89,1
    - Dst: LIBMTP_Detect_Raw_Devices
      Src: /src/vlc/modules/access/mtp.c:93,1
    - Dst: LIBMTP_Open_Raw_Device
      Src: /src/vlc/modules/access/mtp.c:106,1
    - Dst: vlc_memfd
      Src: /src/vlc/modules/access/mtp.c:110,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/mtp.c:111,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mtp.c:114,1
    - Dst: LIBMTP_Get_File_To_File_Descriptor
      Src: /src/vlc/modules/access/mtp.c:115,1
    - Dst: LIBMTP_Release_Device
      Src: /src/vlc/modules/access/mtp.c:117,1
    - Dst: free
      Src: /src/vlc/modules/access/mtp.c:121,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mtp.c:125,1
    - Dst: lseek
      Src: /src/vlc/modules/access/mtp.c:129,1
    - Dst: close
      Src: /src/vlc/modules/access/mtp.c:131,1
    - Dst: ACCESS_SET_CALLBACKS
      Src: /src/vlc/modules/access/mtp.c:137,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 139
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/mtp.c
    functionUses: 11
    functionsReached:
    - sscanf
    - LIBMTP_Release_Device
    - vlc_obj_malloc
    - LIBMTP_Detect_Raw_Devices
    - vlc_memfd
    - free
    - msg_Err
    - close
    - msg_Dbg
    - lseek
    - ACCESS_SET_CALLBACKS
    - unlikely
    - LIBMTP_Get_File_To_File_Descriptor
    - LIBMTP_Open_Raw_Device
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_close
      Src: /src/vlc/modules/access/mtp.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/mtp.c
    functionUses: 44
    functionsReached:
    - vlc_close
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t * p_this )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/vlc/modules/access/mtp.c:158,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mtp.c:169,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/mtp.c:169,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/access/mtp.c:170,1
    - Dst: _
      Src: /src/vlc/modules/access/mtp.c:170,1
    - Dst: _
      Src: /src/vlc/modules/access/mtp.c:171,1
    - Dst: vlc_strerror
      Src: /src/vlc/modules/access/mtp.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - p_access
    - p_buffer
    - i_len
    argTypes:
    - stream_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 178
    functionName: Read
    functionSourceFile: /src/vlc/modules/access/mtp.c
    functionUses: 21
    functionsReached:
    - vlc_strerror_c
    - vlc_strerror
    - vlc_dialog_display_error
    - read
    - _
    - msg_Err
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Read( stream_t *p_access, void *p_buffer, size_t i_len )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lseek
      Src: /src/vlc/modules/access/mtp.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_access
    - i_pos
    argTypes:
    - stream_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: Seek
    functionSourceFile: /src/vlc/modules/access/mtp.c
    functionUses: 12
    functionsReached:
    - lseek
    linkageType: ''
    returnType: int
    signature: int Seek( stream_t *p_access, uint64_t i_pos )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/mtp.c:205,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/mtp.c:211,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/mtp.c:217,1
    - Dst: fstat
      Src: /src/vlc/modules/access/mtp.c:219,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mtp.c:221,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/mtp.c:221,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/mtp.c:229,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/mtp.c:230,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/mtp.c:230,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - p_access
    - i_query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 242
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/mtp.c
    functionUses: 38
    functionsReached:
    - vlc_strerror_c
    - fstat
    - var_InheritInteger
    - VLC_TICK_FROM_MS
    - msg_Err
    - va_arg
    linkageType: ''
    returnType: int
    signature: int Control( stream_t *p_access, int i_query, va_list args )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/cache.c:38,1
    - Dst: free
      Src: /src/vlc/modules/access/cache.c:39,1
    - Dst: free
      Src: /src/vlc/modules/access/cache.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct vlc_access_cache_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: vlc_access_cache_entry_Delete
    functionSourceFile: /src/vlc/modules/access/cache.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void vlc_access_cache_entry_Delete(struct vlc_access_cache_entry *entry)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/cache.c:48,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/cache.c:49,1
    - Dst: strdup
      Src: /src/vlc/modules/access/cache.c:52,1
    - Dst: strdup
      Src: /src/vlc/modules/access/cache.c:53,1
    - Dst: vlc_access_cache_entry_Delete
      Src: /src/vlc/modules/access/cache.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - context
    - url
    - username
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 64
    functionName: vlc_access_cache_entry_New
    functionSourceFile: /src/vlc/modules/access/cache.c
    functionUses: 1
    functionsReached:
    - strdup
    - unlikely
    - malloc
    - vlc_access_cache_entry_Delete
    linkageType: ''
    returnType: struct vlc_access_cache_entry
    signature: "struct vlc_access_cache_entry *\nvlc_access_cache_entry_New(void *context,
      const char *url, const char *username,\n                           void (*free_cb)(void
      *context))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/access/cache.c:72,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/cache.c:74,1
    - Dst: vlc_list_is_empty
      Src: /src/vlc/modules/access/cache.c:77,1
    - Dst: vlc_list_first_entry_or_null
      Src: /src/vlc/modules/access/cache.c:80,1
    - Dst: vlc_cond_timedwait
      Src: /src/vlc/modules/access/cache.c:84,1
    - Dst: vlc_list_remove
      Src: /src/vlc/modules/access/cache.c:86,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/cache.c:88,1
    - Dst: struct vlc_access_cache_entry*::free_cb
      Src: /src/vlc/modules/access/cache.c:90,1
    - Dst: vlc_access_cache_entry_Delete
      Src: /src/vlc/modules/access/cache.c:91,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/cache.c:93,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/access/cache.c:97,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/cache.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 102
    functionName: vlc_access_cache_Thread
    functionSourceFile: /src/vlc/modules/access/cache.c
    functionUses: 0
    functionsReached:
    - vlc_list_first_entry_or_null
    - vlc_thread_set_name
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_cond_timedwait
    - vlc_access_cache_entry_Delete
    - vlc_list_remove
    - vlc_list_is_empty
    - struct vlc_access_cache_entry*::free_cb
    - vlc_cond_wait
    linkageType: ''
    returnType: void
    signature: 'void *

      vlc_access_cache_Thread(void *data)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/cache.c:109,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/access/cache.c:112,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/cache.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 117
    functionName: vlc_access_cache_InitOnce
    functionSourceFile: /src/vlc/modules/access/cache.c
    functionUses: 0
    functionsReached:
    - vlc_clone
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void vlc_access_cache_InitOnce(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/cache.c:122,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/access/cache.c:126,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/cache.c:127,1
    - Dst: vlc_join
      Src: /src/vlc/modules/access/cache.c:128,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/cache.c:131,1
    - Dst: vlc_list_foreach
      Src: /src/vlc/modules/access/cache.c:134,1
    - Dst: struct vlc_access_cache_entry*::free_cb
      Src: /src/vlc/modules/access/cache.c:136,1
    - Dst: vlc_access_cache_entry_Delete
      Src: /src/vlc/modules/access/cache.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - cache
    argTypes:
    - struct vlc_access_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 139
    functionName: vlc_access_cache_Destroy
    functionSourceFile: /src/vlc/modules/access/cache.c
    functionUses: 0
    functionsReached:
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_access_cache_entry_Delete
    - vlc_join
    - struct vlc_access_cache_entry*::free_cb
    - vlc_list_foreach
    linkageType: ''
    returnType: void
    signature: void vlc_access_cache_Destroy(struct vlc_access_cache *cache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_once
      Src: /src/vlc/modules/access/cache.c:147,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/cache.c:150,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/cache.c:155,1
    - Dst: struct vlc_access_cache_entry*::free_cb
      Src: /src/vlc/modules/access/cache.c:156,1
    - Dst: vlc_access_cache_entry_Delete
      Src: /src/vlc/modules/access/cache.c:157,1
    - Dst: vlc_list_foreach
      Src: /src/vlc/modules/access/cache.c:164,1
    - Dst: vlc_list_first_entry_or_null
      Src: /src/vlc/modules/access/cache.c:170,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/cache.c:175,1
    - Dst: vlc_list_append
      Src: /src/vlc/modules/access/cache.c:176,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/access/cache.c:179,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/cache.c:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - cache
    - entry
    argTypes:
    - struct vlc_access_cache*
    - struct vlc_access_cache_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 182
    functionName: vlc_access_cache_AddEntry
    functionSourceFile: /src/vlc/modules/access/cache.c
    functionUses: 1
    functionsReached:
    - vlc_list_first_entry_or_null
    - vlc_tick_now
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_list_append
    - vlc_access_cache_entry_Delete
    - struct vlc_access_cache_entry*::free_cb
    - vlc_once
    - vlc_list_foreach
    linkageType: ''
    returnType: void
    signature: "void vlc_access_cache_AddEntry(struct vlc_access_cache *cache,\n                          struct
      vlc_access_cache_entry *entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_once
      Src: /src/vlc/modules/access/cache.c:189,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/cache.c:192,1
    - Dst: vlc_list_foreach
      Src: /src/vlc/modules/access/cache.c:196,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/cache.c:199,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/cache.c:201,1
    - Dst: vlc_list_remove
      Src: /src/vlc/modules/access/cache.c:203,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/access/cache.c:205,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/cache.c:207,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/cache.c:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cache
    - url
    - username
    argTypes:
    - struct vlc_access_cache*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 215
    functionName: vlc_access_cache_GetEntry
    functionSourceFile: /src/vlc/modules/access/cache.c
    functionUses: 1
    functionsReached:
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - strcmp
    - vlc_list_remove
    - vlc_once
    - vlc_list_foreach
    linkageType: ''
    returnType: struct vlc_access_cache_entry
    signature: "struct vlc_access_cache_entry *\nvlc_access_cache_GetEntry(struct
      vlc_access_cache *cache,\n                          const char *url, const char
      *username)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/data.c:48,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/data.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - access
    - buf
    - len
    argTypes:
    - stream_t*
    - void*
    - size_t
    assertStmts:
    - condition: (sys->offset <= sys->length)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/vlc/modules/access/data.c
    constantsTouched: []
    func_position:
      end: 56
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 56
    functionName: Read
    functionSourceFile: /src/vlc/modules/access/data.c
    functionUses: 21
    functionsReached:
    - assert
    - memcpy
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Read(stream_t *access, void *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - access
    - position
    argTypes:
    - stream_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: Seek
    functionSourceFile: /src/vlc/modules/access/data.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Seek(stream_t *access, uint64_t position)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/data.c:76,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/data.c:80,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/data.c:84,1
    - Dst: strndup
      Src: /src/vlc/modules/access/data.c:88,1
    - Dst: likely
      Src: /src/vlc/modules/access/data.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 3
    argNames:
    - access
    - query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 98
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/data.c
    functionUses: 38
    functionsReached:
    - strndup
    - va_arg
    - likely
    linkageType: ''
    returnType: int
    signature: int Control(stream_t *access, int query, va_list args)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/vlc/modules/access/data.c:105,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/access/data.c:110,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/data.c:111,1
    - Dst: strchr
      Src: /src/vlc/modules/access/data.c:114,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/data.c:115,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/data.c:116,1
    - Dst: vlc_uri_decode_duplicate
      Src: /src/vlc/modules/access/data.c:120,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/data.c:121,1
    - Dst: strlen
      Src: /src/vlc/modules/access/data.c:125,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/data.c:128,1
    - Dst: malloc
      Src: /src/vlc/modules/access/data.c:132,1
    - Dst: likely
      Src: /src/vlc/modules/access/data.c:134,1
    - Dst: vlc_b64_decode_binary_to_buffer
      Src: /src/vlc/modules/access/data.c:135,1
    - Dst: free
      Src: /src/vlc/modules/access/data.c:136,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/data.c:139,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 149
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/data.c
    functionUses: 11
    functionsReached:
    - vlc_b64_decode_binary_to_buffer
    - strchr
    - vlc_uri_decode_duplicate
    - vlc_obj_malloc
    - strlen
    - msg_Err
    - strncmp
    - free
    - likely
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/data.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/data.c
    functionUses: 44
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BCD2D
      Src: /src/vlc/modules/access/dvdread_video.c:40,1
    - Dst: BCD2D
      Src: /src/vlc/modules/access/dvdread_video.c:41,1
    - Dst: BCD2D
      Src: /src/vlc/modules/access/dvdread_video.c:42,1
    - Dst: BCD2D
      Src: /src/vlc/modules/access/dvdread_video.c:56,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/access/dvdread_video.c:57,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/dvdread_video.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - dtime
    argTypes:
    - dvd_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 58
    functionName: dvdtime_to_time
    functionSourceFile: /src/vlc/modules/access/dvdread_video.c
    functionUses: 0
    functionsReached:
    - vlc_tick_from_sec
    - VLC_TICK_FROM_MS
    - BCD2D
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t dvdtime_to_time( const dvd_time_t *dtime )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - __x__
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: BCD2D
    functionSourceFile: /src/vlc/modules/access/dvdread_video.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BCD2D(__x__)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dvdtime_to_time
      Src: /src/vlc/modules/access/dvdread_video.c:73,1
    - Dst: dvdtime_to_time
      Src: /src/vlc/modules/access/dvdread_video.c:79,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - demux_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 81
    functionName: DvdReadVideoTitleDuration
    functionSourceFile: /src/vlc/modules/access/dvdread_video.c
    functionUses: 0
    functionsReached:
    - dvdtime_to_time
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t DvdReadVideoTitleDuration( const demux_sys_t *p_sys )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DvdReadVideoTitleDuration
      Src: /src/vlc/modules/access/dvdread_video.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - demux_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: DvdReadTitleLength
    functionSourceFile: /src/vlc/modules/access/dvdread_video.c
    functionUses: 0
    functionsReached:
    - DvdReadVideoTitleDuration
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t DvdReadTitleLength( const demux_sys_t *p_sys )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dvdtime_to_time
      Src: /src/vlc/modules/access/dvdread_video.c:100,1
    - Dst: dvdtime_to_time
      Src: /src/vlc/modules/access/dvdread_video.c:103,1
    - Dst: ckd_mul
      Src: /src/vlc/modules/access/dvdread_video.c:116,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 2
    argNames:
    - p_sys
    - base
    argTypes:
    - demux_sys_t*
    - vlc_tick_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 122
    functionName: DvdReadTimelineBase
    functionSourceFile: /src/vlc/modules/access/dvdread_video.c
    functionUses: 0
    functionsReached:
    - ckd_mul
    - dvdtime_to_time
    linkageType: ''
    returnType: bool
    signature: bool DvdReadTimelineBase( const demux_sys_t *p_sys, vlc_tick_t *base
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dvdread_video.c:127,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dvdread_video.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_sys
    - time
    - i_block_offset
    argTypes:
    - demux_sys_t*
    - vlc_tick_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: DvdReadTimeToSeekOffset
    functionSourceFile: /src/vlc/modules/access/dvdread_video.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t DvdReadTimeToSeekOffset( const demux_sys_t *p_sys, vlc_tick_t
      time,\n                                         uint32_t i_block_offset )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DvdReadVideoTitleDuration
      Src: /src/vlc/modules/access/dvdread_video.c:141,1
    - Dst: ckd_mul
      Src: /src/vlc/modules/access/dvdread_video.c:143,1
    - Dst: dvdtime_to_time
      Src: /src/vlc/modules/access/dvdread_video.c:152,1
    - Dst: ckd_add
      Src: /src/vlc/modules/access/dvdread_video.c:159,1
    - Dst: ckd_add
      Src: /src/vlc/modules/access/dvdread_video.c:160,1
    - Dst: ckd_mul
      Src: /src/vlc/modules/access/dvdread_video.c:166,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 2
    argNames:
    - p_sys
    - i_block_offset
    argTypes:
    - demux_sys_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 174
    functionName: DvdReadCellAwareBlock
    functionSourceFile: /src/vlc/modules/access/dvdread_video.c
    functionUses: 0
    functionsReached:
    - ckd_mul
    - ckd_add
    - DvdReadVideoTitleDuration
    - dvdtime_to_time
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t DvdReadCellAwareBlock( const demux_sys_t *p_sys,\n                                       uint32_t
      i_block_offset )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: DvdReadPsSource
    functionSourceFile: /src/vlc/modules/access/dvdread_video.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DvdReadPsSource( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dvdread_video.c:183,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dvdread_video.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_sys
    - pkt
    argTypes:
    - demux_sys_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: DvdReadAdjustAnchor
    functionSourceFile: /src/vlc/modules/access/dvdread_video.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void DvdReadAdjustAnchor( demux_sys_t *p_sys, block_t *pkt )
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 233
    functionName: DvdReadFindCell
    functionSourceFile: /src/vlc/modules/access/dvdread_video.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DvdReadFindCell( demux_t *p_demux )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/access/dvdread_video.c:246,1
    - Dst: navRead_DSI
      Src: /src/vlc/modules/access/dvdread_video.c:248,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvdread_video.c:271,1
    - Dst: DvdReadResetCellTs
      Src: /src/vlc/modules/access/dvdread_video.c:324,1
    - Dst: DvdReadFindCell
      Src: /src/vlc/modules/access/dvdread_video.c:329,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdread_video.c:337,1
    - Dst: dvdtime_to_time
      Src: /src/vlc/modules/access/dvdread_video.c:343,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdread_video.c:345,1
    - Dst: dvdtime_to_time
      Src: /src/vlc/modules/access/dvdread_video.c:346,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdread_video.c:348,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdread_video.c:354,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 2
    argNames:
    - p_demux
    - p_data
    argTypes:
    - demux_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 359
    functionName: DvdReadHandleDSI
    functionSourceFile: /src/vlc/modules/access/dvdread_video.c
    functionUses: 1
    functionsReached:
    - DvdReadResetCellTs
    - dvdtime_to_time
    - DvdReadFindCell
    - msg_Dbg
    - msg_Warn
    - memcmp
    - navRead_DSI
    linkageType: ''
    returnType: void
    signature: void DvdReadHandleDSI( demux_t *p_demux, uint8_t *p_data )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DvdReadCellAwareBlock
      Src: /src/vlc/modules/access/dvdread_video.c:376,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvdread_video.c:391,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvdread_video.c:421,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvdread_video.c:429,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdread_video.c:454,1
    - Dst: DvdReadFindCell
      Src: /src/vlc/modules/access/dvdread_video.c:472,1
    - Dst: DvdReadResetCellTs
      Src: /src/vlc/modules/access/dvdread_video.c:474,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/dvdread_video.c:475,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 2
    argNames:
    - p_demux
    - i_block_offset
    argTypes:
    - demux_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 367
    functionDepth: 4
    functionLinenumber: 367
    functionLinenumberEnd: 478
    functionName: DvdReadSeek
    functionSourceFile: /src/vlc/modules/access/dvdread_video.c
    functionUses: 0
    functionsReached:
    - es_out_Control
    - DvdReadResetCellTs
    - msg_Err
    - DvdReadFindCell
    - DvdReadCellAwareBlock
    - msg_Dbg
    - unlikely
    linkageType: ''
    returnType: int
    signature: int DvdReadSeek( demux_t *p_demux, uint32_t i_block_offset )
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dvdread_video.c:489,1
    - Dst: DVDCloseFile
      Src: /src/vlc/modules/access/dvdread_video.c:501,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdread_video.c:510,1
    - Dst: ifoClose
      Src: /src/vlc/modules/access/dvdread_video.c:515,1
    - Dst: ifoOpen
      Src: /src/vlc/modules/access/dvdread_video.c:516,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvdread_video.c:519,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvdread_video.c:536,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvdread_video.c:557,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdread_video.c:563,1
    - Dst: DvdReadFindCell
      Src: /src/vlc/modules/access/dvdread_video.c:585,1
    - Dst: DvdReadResetCellTs
      Src: /src/vlc/modules/access/dvdread_video.c:589,1
    - Dst: DVDOpenFile
      Src: /src/vlc/modules/access/dvdread_video.c:602,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvdread_video.c:606,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/access/dvdread_video.c:623,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/access/dvdread_video.c:624,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/dvdread_video.c:629,1
    - Dst: DvdReadESNew
      Src: /src/vlc/modules/access/dvdread_video.c:641,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdread_video.c:692,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvdread_video.c:710,1
    - Dst: DvdReadESNew
      Src: /src/vlc/modules/access/dvdread_video.c:714,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/dvdread_video.c:723,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdread_video.c:733,1
    - Dst: DvdReadESNew
      Src: /src/vlc/modules/access/dvdread_video.c:762,1
    - Dst: DvdReadFindCell
      Src: /src/vlc/modules/access/dvdread_video.c:795,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 171
    argCount: 4
    argNames:
    - p_demux
    - i_title
    - i_chapter
    - i_angle
    argTypes:
    - demux_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 486
    functionDepth: 2
    functionLinenumber: 486
    functionLinenumberEnd: 821
    functionName: DvdReadSetArea
    functionSourceFile: /src/vlc/modules/access/dvdread_video.c
    functionUses: 0
    functionsReached:
    - DVDCloseFile
    - es_out_Control
    - es_format_Clean
    - DvdReadResetCellTs
    - DVDOpenFile
    - memcpy
    - msg_Err
    - DvdReadFindCell
    - es_out_Del
    - msg_Dbg
    - DvdReadESNew
    - ifoOpen
    - ifoClose
    - unlikely
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int DvdReadSetArea( demux_t *p_demux, int i_title, int i_chapter,\n
      \                          int i_angle )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dvdtime_to_time
      Src: /src/vlc/modules/access/dvdread_video.c:855,1
    - Dst: __MIN
      Src: /src/vlc/modules/access/dvdread_video.c:858,1
    - Dst: dvdtime_to_time
      Src: /src/vlc/modules/access/dvdread_video.c:871,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 25
    argCount: 3
    argNames:
    - p_vts
    - i_ttn
    - t
    argTypes:
    - ifo_handle_t*
    - int
    - input_title_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 824
    functionDepth: 2
    functionLinenumber: 824
    functionLinenumberEnd: 876
    functionName: DvdReadFillTitleTimes
    functionSourceFile: /src/vlc/modules/access/dvdread_video.c
    functionUses: 0
    functionsReached:
    - __MIN
    - dvdtime_to_time
    linkageType: ''
    returnType: void
    signature: "void DvdReadFillTitleTimes( const ifo_handle_t *p_vts, int i_ttn,\n
      \                                  input_title_t *t )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dvdread_video.c:883,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdread_video.c:890,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvdread_video.c:896,1
    - Dst: vlc_input_title_New
      Src: /src/vlc/modules/access/dvdread_video.c:898,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvdread_video.c:899,1
    - Dst: __MAX
      Src: /src/vlc/modules/access/dvdread_video.c:902,1
    - Dst: vlc_seekpoint_New
      Src: /src/vlc/modules/access/dvdread_video.c:904,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvdread_video.c:905,1
    - Dst: vlc_input_title_Delete
      Src: /src/vlc/modules/access/dvdread_video.c:907,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/access/dvdread_video.c:910,1
    - Dst: ifoOpen
      Src: /src/vlc/modules/access/dvdread_video.c:914,1
    - Dst: DvdReadFillTitleTimes
      Src: /src/vlc/modules/access/dvdread_video.c:917,1
    - Dst: ifoClose
      Src: /src/vlc/modules/access/dvdread_video.c:918,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/access/dvdread_video.c:921,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - p_demux
    - pi_angle
    argTypes:
    - demux_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 881
    functionDepth: 3
    functionLinenumber: 881
    functionLinenumberEnd: 923
    functionName: DvdReadDemuxTitles
    functionSourceFile: /src/vlc/modules/access/dvdread_video.c
    functionUses: 0
    functionsReached:
    - vlc_input_title_Delete
    - TAB_APPEND
    - vlc_seekpoint_New
    - __MAX
    - vlc_input_title_New
    - msg_Dbg
    - DvdReadFillTitleTimes
    - ifoOpen
    - ifoClose
    - unlikely
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void DvdReadDemuxTitles( demux_t *p_demux, int *pi_angle )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:270,1
    - Dst: CoInitializeEx
      Src: /src/vlc/modules/access/dshow/dshow.cpp:270,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/access/dshow/dshow.cpp:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: dshow::ComContext
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 0
    functionsReached:
    - FAILED
    - CoInitializeEx
    - std::runtime_error
    linkageType: ''
    returnType: void
    signature: void ComContext( int mode )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoUninitialize
      Src: /src/vlc/modules/access/dshow/dshow.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: ~ComContext()
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 0
    functionsReached:
    - CoUninitialize
    linkageType: ''
    returnType: void
    signature: void ~ComContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dshow::ShowPropertyPageO
      Src: /src/vlc/modules/access/dshow/dshow.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - ComPtr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: dshow::ShowPropertyPage
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 0
    functionsReached:
    - dshow::ShowPropertyPageO
    linkageType: ''
    returnType: void
    signature: void ShowPropertyPage( ComPtr<T> & t )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:319,1
    - Dst: CoCreateInstance
      Src: /src/vlc/modules/access/dshow/dshow.cpp:319,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dshow/dshow.cpp:320,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:323,1
    - Dst: CoCreateInstance
      Src: /src/vlc/modules/access/dshow/dshow.cpp:323,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dshow/dshow.cpp:324,1
    - Dst: access_sys_t*::p_capture_graph_builder2::SetFiltergraph
      Src: /src/vlc/modules/access/dshow/dshow.cpp:326,1
    - Dst: static_cast<IGraphBuilder *>
      Src: /src/vlc/modules/access/dshow/dshow.cpp:327,1
    - Dst: access_sys_t*::p_graph::Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:327,1
    - Dst: access_sys_t*::p_graph::As
      Src: /src/vlc/modules/access/dshow/dshow.cpp:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - access_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 332
    functionName: dshow::CreateDirectShowGraph
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 0
    functionsReached:
    - static_cast<IGraphBuilder *>
    - IID_PPV_ARGS
    - access_sys_t*::p_capture_graph_builder2::SetFiltergraph
    - SUCCEEDED
    - access_sys_t*::p_graph::Get
    - CoCreateInstance
    - access_sys_t*::p_graph::As
    linkageType: ''
    returnType: void
    signature: void CreateDirectShowGraph( access_sys_t *p_sys )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dshow::DeleteCrossbarRoutes
      Src: /src/vlc/modules/access/dshow/dshow.cpp:336,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:339,1
    - Dst: access_sys_t*::pp_streams::begin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:340,1
    - Dst: access_sys_t*::pp_streams::end
      Src: /src/vlc/modules/access/dshow/dshow.cpp:341,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:346,1
    - Dst: access_sys_t*::p_graph::RemoveFilter
      Src: /src/vlc/modules/access/dshow/dshow.cpp:347,1
    - Dst: p_capture_filter::Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:347,1
    - Dst: p_capture_filter::Reset
      Src: /src/vlc/modules/access/dshow/dshow.cpp:348,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:350,1
    - Dst: access_sys_t*::p_graph::RemoveFilter
      Src: /src/vlc/modules/access/dshow/dshow.cpp:351,1
    - Dst: p_device_filter::Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:351,1
    - Dst: p_device_filter::Reset
      Src: /src/vlc/modules/access/dshow/dshow.cpp:352,1
    - Dst: access_sys_t*::p_control::Reset
      Src: /src/vlc/modules/access/dshow/dshow.cpp:356,1
    - Dst: access_sys_t*::p_capture_graph_builder2::Reset
      Src: /src/vlc/modules/access/dshow/dshow.cpp:357,1
    - Dst: access_sys_t*::p_graph::Reset
      Src: /src/vlc/modules/access/dshow/dshow.cpp:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - p_this
    - p_sys
    argTypes:
    - vlc_object_t*
    - access_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 359
    functionName: dshow::DeleteDirectShowGraph
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 0
    functionsReached:
    - access_sys_t*::p_control::Reset
    - access_sys_t*::p_graph::RemoveFilter
    - access_sys_t*::pp_streams::end
    - access_sys_t*::p_capture_graph_builder2::Reset
    - access_sys_t*::p_graph::Reset
    - msg_Dbg
    - dshow::DeleteCrossbarRoutes
    - p_capture_filter::Get
    - p_device_filter::Get
    - access_sys_t*::pp_streams::begin
    - p_capture_filter::Reset
    - p_device_filter::Reset
    linkageType: ''
    returnType: void
    signature: void DeleteDirectShowGraph( vlc_object_t *p_this, access_sys_t *p_sys
      )
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: var_Create
      Src: /src/vlc/modules/access/dshow/dshow.cpp:376,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dshow/dshow.cpp:377,1
    - Dst: var_CreateGetString
      Src: /src/vlc/modules/access/dshow/dshow.cpp:378,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:381,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/access/dshow/dshow.cpp:383,1
    - Dst: std::string
      Src: /src/vlc/modules/access/dshow/dshow.cpp:384,1
    - Dst: free
      Src: /src/vlc/modules/access/dshow/dshow.cpp:388,1
    - Dst: var_CreateGetString
      Src: /src/vlc/modules/access/dshow/dshow.cpp:390,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:393,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/access/dshow/dshow.cpp:395,1
    - Dst: std::string
      Src: /src/vlc/modules/access/dshow/dshow.cpp:396,1
    - Dst: free
      Src: /src/vlc/modules/access/dshow/dshow.cpp:400,1
    - Dst: var_CreateGetString
      Src: /src/vlc/modules/access/dshow/dshow.cpp:417,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/access/dshow/dshow.cpp:418,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/dshow/dshow.cpp:423,1
    - Dst: strtol
      Src: /src/vlc/modules/access/dshow/dshow.cpp:433,1
    - Dst: strtol
      Src: /src/vlc/modules/access/dshow/dshow.cpp:436,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:438,1
    - Dst: free
      Src: /src/vlc/modules/access/dshow/dshow.cpp:441,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/dshow/dshow.cpp:444,1
    - Dst: vlc_fourcc_GetCodecFromString
      Src: /src/vlc/modules/access/dshow/dshow.cpp:445,1
    - Dst: free
      Src: /src/vlc/modules/access/dshow/dshow.cpp:446,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dshow/dshow.cpp:448,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dshow/dshow.cpp:449,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dshow/dshow.cpp:451,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dshow/dshow.cpp:453,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dshow/dshow.cpp:456,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dshow/dshow.cpp:459,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dshow/dshow.cpp:460,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dshow/dshow.cpp:461,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dshow/dshow.cpp:462,1
    - Dst: dshow::CreateDirectShowGraph
      Src: /src/vlc/modules/access/dshow/dshow.cpp:471,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/access/dshow/dshow.cpp:473,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/access/dshow/dshow.cpp:474,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/access/dshow/dshow.cpp:478,1
    - Dst: _
      Src: /src/vlc/modules/access/dshow/dshow.cpp:478,1
    - Dst: _
      Src: /src/vlc/modules/access/dshow/dshow.cpp:479,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:484,1
    - Dst: dshow::OpenDevice
      Src: /src/vlc/modules/access/dshow/dshow.cpp:487,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dshow/dshow.cpp:489,1
    - Dst: access_sys_t*::pp_streams::rbegin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:497,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/access/dshow/dshow.cpp:526,1
    - Dst: dshow::ShowTunerProperties
      Src: /src/vlc/modules/access/dshow/dshow.cpp:530,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:537,1
    - Dst: dshow::OpenDevice
      Src: /src/vlc/modules/access/dshow/dshow.cpp:541,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dshow/dshow.cpp:543,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dshow/dshow.cpp:551,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/access/dshow/dshow.cpp:552,1
    - Dst: _
      Src: /src/vlc/modules/access/dshow/dshow.cpp:552,1
    - Dst: _
      Src: /src/vlc/modules/access/dshow/dshow.cpp:553,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dshow/dshow.cpp:560,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dshow/dshow.cpp:563,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dshow/dshow.cpp:566,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dshow/dshow.cpp:569,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:579,1
    - Dst: ComPtr::Route
      Src: /src/vlc/modules/access/dshow/dshow.cpp:579,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:581,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:587,1
    - Dst: ComPtr::Route
      Src: /src/vlc/modules/access/dshow/dshow.cpp:587,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:590,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dshow/dshow.cpp:597,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/access/dshow/dshow.cpp:604,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:611,1
    - Dst: ComPtr::As
      Src: /src/vlc/modules/access/dshow/dshow.cpp:611,1
    - Dst: dshow::ShowPropertyPage
      Src: /src/vlc/modules/access/dshow/dshow.cpp:613,1
    - Dst: access_sys_t*::pp_streams::empty
      Src: /src/vlc/modules/access/dshow/dshow.cpp:621,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 128
    argCount: 3
    argNames:
    - p_this
    - p_sys
    - b_access_demux
    argTypes:
    - vlc_object_t*
    - access_sys_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 624
    functionName: dshow::CommonOpen
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 0
    functionsReached:
    - var_CreateGetString
    - dshow::OpenDevice
    - dshow::ShowTunerProperties
    - dshow::ShowPropertyPage
    - EMPTY_STR
    - SUCCEEDED
    - access_sys_t*::pp_streams::empty
    - access_sys_t*::pp_streams::rbegin
    - var_GetInteger
    - vlc_dialog_display_error
    - _
    - var_Create
    - msg_Err
    - vlc_cond_init
    - msg_Dbg
    - ComPtr::As
    - ComPtr::Route
    - strcmp
    - dshow::CreateDirectShowGraph
    - var_GetBool
    - strncasecmp
    - var_InheritString
    - vlc_mutex_init
    - free
    - strtol
    - vlc_fourcc_GetCodecFromString
    - std::string
    linkageType: ''
    returnType: int
    signature: "int CommonOpen( vlc_object_t *p_this, access_sys_t *p_sys,\n                       bool
      b_access_demux )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/access/dshow/dshow.cpp:637,1
    - Dst: vlc_mta_acquire
      Src: /src/vlc/modules/access/dshow/dshow.cpp:644,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dshow/dshow.cpp:646,1
    - Dst: dshow::CommonOpen
      Src: /src/vlc/modules/access/dshow/dshow.cpp:650,1
    - Dst: dshow::CommonClose
      Src: /src/vlc/modules/access/dshow/dshow.cpp:652,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:657,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:658,1
    - Dst: access_sys_t*::p_control::Run
      Src: /src/vlc/modules/access/dshow/dshow.cpp:658,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dshow/dshow.cpp:660,1
    - Dst: dshow::CommonClose
      Src: /src/vlc/modules/access/dshow/dshow.cpp:661,1
    - Dst: access_sys_t*::pp_streams::begin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:668,1
    - Dst: access_sys_t*::pp_streams::end
      Src: /src/vlc/modules/access/dshow/dshow.cpp:669,1
    - Dst: var_CreateGetString
      Src: /src/vlc/modules/access/dshow/dshow.cpp:677,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/access/dshow/dshow.cpp:678,1
    - Dst: strchr
      Src: /src/vlc/modules/access/dshow/dshow.cpp:678,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/dshow/dshow.cpp:680,1
    - Dst: atoi
      Src: /src/vlc/modules/access/dshow/dshow.cpp:687,1
    - Dst: atoi
      Src: /src/vlc/modules/access/dshow/dshow.cpp:688,1
    - Dst: free
      Src: /src/vlc/modules/access/dshow/dshow.cpp:695,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/dshow/dshow.cpp:712,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/dshow/dshow.cpp:723,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/dshow/dshow.cpp:726,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 56
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 728
    functionName: dshow::DemuxOpen
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 0
    functionsReached:
    - var_CreateGetString
    - dshow::CommonOpen
    - atoi
    - strchr
    - vlc_tick_now
    - access_sys_t*::pp_streams::end
    - dshow::CommonClose
    - FAILED
    - msg_Err
    - calloc
    - access_sys_t*::p_control::Run
    - free
    - EMPTY_STR
    - msg_Dbg
    - es_out_Add
    - es_format_Init
    - access_sys_t*::pp_streams::begin
    - vlc_mta_acquire
    linkageType: ''
    returnType: int
    signature: int DemuxOpen( vlc_object_t *p_this )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/access/dshow/dshow.cpp:738,1
    - Dst: vlc_mta_acquire
      Src: /src/vlc/modules/access/dshow/dshow.cpp:744,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dshow/dshow.cpp:746,1
    - Dst: dshow::CommonOpen
      Src: /src/vlc/modules/access/dshow/dshow.cpp:750,1
    - Dst: dshow::CommonClose
      Src: /src/vlc/modules/access/dshow/dshow.cpp:752,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:764,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:765,1
    - Dst: access_sys_t*::p_control::Run
      Src: /src/vlc/modules/access/dshow/dshow.cpp:765,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dshow/dshow.cpp:767,1
    - Dst: dshow::CommonClose
      Src: /src/vlc/modules/access/dshow/dshow.cpp:768,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 773
    functionName: dshow::AccessOpen
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 0
    functionsReached:
    - dshow::CommonOpen
    - dshow::CommonClose
    - FAILED
    - msg_Err
    - calloc
    - access_sys_t*::p_control::Run
    - msg_Dbg
    - vlc_mta_acquire
    linkageType: ''
    returnType: int
    signature: int AccessOpen( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:780,1
    - Dst: dshow::DeleteDirectShowGraph
      Src: /src/vlc/modules/access/dshow/dshow.cpp:782,1
    - Dst: vlc_delete_all
      Src: /src/vlc/modules/access/dshow/dshow.cpp:784,1
    - Dst: vlc_mta_release
      Src: /src/vlc/modules/access/dshow/dshow.cpp:786,1
    - Dst: free
      Src: /src/vlc/modules/access/dshow/dshow.cpp:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p_this
    - p_sys
    argTypes:
    - vlc_object_t*
    - access_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 778
    functionDepth: 2
    functionLinenumber: 778
    functionLinenumberEnd: 789
    functionName: dshow::CommonClose
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 2
    functionsReached:
    - dshow::DeleteDirectShowGraph
    - free
    - msg_Dbg
    - vlc_delete_all
    - vlc_mta_release
    linkageType: ''
    returnType: void
    signature: void CommonClose( vlc_object_t *p_this, access_sys_t *p_sys )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: access_sys_t*::p_control::Stop
      Src: /src/vlc/modules/access/dshow/dshow.cpp:802,1
    - Dst: dshow::CommonClose
      Src: /src/vlc/modules/access/dshow/dshow.cpp:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 805
    functionName: dshow::AccessClose
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 0
    functionsReached:
    - dshow::CommonClose
    - access_sys_t*::p_control::Stop
    linkageType: ''
    returnType: void
    signature: void AccessClose( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: access_sys_t*::p_control::Stop
      Src: /src/vlc/modules/access/dshow/dshow.cpp:818,1
    - Dst: dshow::CommonClose
      Src: /src/vlc/modules/access/dshow/dshow.cpp:820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 821
    functionName: dshow::DemuxClose
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 0
    functionsReached:
    - dshow::CommonClose
    - access_sys_t*::p_control::Stop
    linkageType: ''
    returnType: void
    signature: void DemuxClose( vlc_object_t *p_this )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CustomGetPin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:830,1
    - Dst: ComPtr::CustomGetMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:832,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:836,1
    - Dst: access_sys_t*::p_capture_graph_builder2::RenderStream
      Src: /src/vlc/modules/access/dshow/dshow.cpp:836,1
    - Dst: Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:838,1
    - Dst: Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:838,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:848,1
    - Dst: EnumPins
      Src: /src/vlc/modules/access/dshow/dshow.cpp:848,1
    - Dst: ComPtr::Next
      Src: /src/vlc/modules/access/dshow/dshow.cpp:857,1
    - Dst: ComPtr::QueryPinInfo
      Src: /src/vlc/modules/access/dshow/dshow.cpp:859,1
    - Dst: ComPtr::As
      Src: /src/vlc/modules/access/dshow/dshow.cpp:864,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:866,1
    - Dst: dshow::FindCrossbarRoutes
      Src: /src/vlc/modules/access/dshow/dshow.cpp:873,1
    - Dst: PIN_INFO::pFilter::Release
      Src: /src/vlc/modules/access/dshow/dshow.cpp:879,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:882,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dshow/dshow.cpp:884,1
    - Dst: EnumPins
      Src: /src/vlc/modules/access/dshow/dshow.cpp:893,1
    - Dst: ComPtr::Next
      Src: /src/vlc/modules/access/dshow/dshow.cpp:895,1
    - Dst: ComPtr::QueryDirection
      Src: /src/vlc/modules/access/dshow/dshow.cpp:898,1
    - Dst: access_sys_t*::p_graph::ConnectDirect
      Src: /src/vlc/modules/access/dshow/dshow.cpp:901,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:901,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:901,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 4
    argNames:
    - p_this
    - p_sys
    - ' p_filter'
    - ' p_capture_filter'
    argTypes:
    - vlc_object_t*
    - access_sys_t*
    - ComPtr<IBaseFilter>
    - ComPtr<CaptureFilter>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 826
    functionDepth: 1
    functionLinenumber: 826
    functionLinenumberEnd: 909
    functionName: dshow::ConnectFilters
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 0
    functionsReached:
    - ComPtr::CustomGetMediaType
    - PIN_INFO::pFilter::Release
    - ComPtr::QueryPinInfo
    - FAILED
    - ComPtr::Next
    - ComPtr::As
    - Get
    - CustomGetPin
    - EnumPins
    - access_sys_t*::p_capture_graph_builder2::RenderStream
    - SUCCEEDED
    - ComPtr::Get
    - msg_Dbg
    - msg_Warn
    - dshow::FindCrossbarRoutes
    - access_sys_t*::p_graph::ConnectDirect
    - ComPtr::QueryDirection
    linkageType: ''
    returnType: bool
    signature: "bool ConnectFilters( vlc_object_t *p_this, access_sys_t *p_sys,\n
      \                           ComPtr<IBaseFilter> & p_filter,\n                            ComPtr<CaptureFilter>
      & p_capture_filter )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/access/dshow/dshow.cpp:922,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - i_fourcc
    argTypes:
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 933
    functionName: dshow::GetFourCCPriority
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    linkageType: ''
    returnType: int
    signature: int GetFourCCPriority( vlc_fourcc_t i_fourcc )
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: access_sys_t*::pp_streams::begin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:943,1
    - Dst: access_sys_t*::pp_streams::end
      Src: /src/vlc/modules/access/dshow/dshow.cpp:944,1
    - Dst: std::string::size
      Src: /src/vlc/modules/access/dshow/dshow.cpp:947,1
    - Dst: ToWide
      Src: /src/vlc/modules/access/dshow/dshow.cpp:951,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/access/dshow/dshow.cpp:951,1
    - Dst: likely
      Src: /src/vlc/modules/access/dshow/dshow.cpp:953,1
    - Dst: access_sys_t*::p_graph::FindFilterByName
      Src: /src/vlc/modules/access/dshow/dshow.cpp:954,1
    - Dst: free
      Src: /src/vlc/modules/access/dshow/dshow.cpp:956,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dshow/dshow.cpp:960,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/access/dshow/dshow.cpp:960,1
    - Dst: dshow::FindCaptureDevice
      Src: /src/vlc/modules/access/dshow/dshow.cpp:973,1
    - Dst: std::list::empty
      Src: /src/vlc/modules/access/dshow/dshow.cpp:974,1
    - Dst: std::list::begin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:978,1
    - Dst: std::list::end
      Src: /src/vlc/modules/access/dshow/dshow.cpp:978,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:979,1
    - Dst: std::list<std::string>::iterator::c_str
      Src: /src/vlc/modules/access/dshow/dshow.cpp:979,1
    - Dst: std::string::size
      Src: /src/vlc/modules/access/dshow/dshow.cpp:982,1
    - Dst: std::list::begin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:985,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:986,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/access/dshow/dshow.cpp:986,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:989,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/access/dshow/dshow.cpp:989,1
    - Dst: dshow::FindCaptureDevice
      Src: /src/vlc/modules/access/dshow/dshow.cpp:993,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:996,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/access/dshow/dshow.cpp:996,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dshow/dshow.cpp:999,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1000,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1001,1
    - Dst: _
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1001,1
    - Dst: _
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1002,1
    - Dst: ToWide
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1011,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1011,1
    - Dst: likely
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1013,1
    - Dst: access_sys_t*::p_graph::AddFilter
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1015,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1015,1
    - Dst: free
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1016,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1019,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1021,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1021,1
    - Dst: dshow::EnumDeviceCaps
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1029,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1031,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1032,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1033,1
    - Dst: CoTaskMemAlloc
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1040,1
    - Dst: dshow::GetFourCCPriority
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1047,1
    - Dst: dshow::GetFourCCFromMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1047,1
    - Dst: dshow::GetFourCCPriority
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1052,1
    - Dst: dshow::GetFourCCFromMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1052,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1072,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1072,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1073,1
    - Dst: _
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1073,1
    - Dst: _
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1074,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1075,1
    - Dst: CaptureFilter::CaptureFilter
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1081,1
    - Dst: access_sys_t*::p_graph::AddFilter
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1082,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1082,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1085,1
    - Dst: dshow::ConnectFilters
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1086,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1089,1
    - Dst: ComPtr::CustomGetPin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1096,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1100,1
    - Dst: dshow::ShowDeviceProperties
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1102,1
    - Dst: dshow::ConfigTuner
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1106,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1109,1
    - Dst: dshow::ShowTunerProperties
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1113,1
    - Dst: ComPtr::CustomGetPin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1118,1
    - Dst: dshow::GetFourCCFromMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1120,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1127,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1128,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1135,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1136,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1141,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1142,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1147,1
    - Dst: access_sys_t*::pp_streams::push_back
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1155,1
    - Dst: dshow_stream_t::dshow_stream_t
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1155,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1163,1
    - Dst: access_sys_t*::p_graph::RemoveFilter
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1164,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1164,1
    - Dst: access_sys_t*::p_graph::RemoveFilter
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1165,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1165,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 109
    argCount: 4
    argNames:
    - p_this
    - p_sys
    - devicename
    - b_audio
    argTypes:
    - vlc_object_t*
    - access_sys_t*
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 937
    functionDepth: 2
    functionLinenumber: 937
    functionLinenumberEnd: 1168
    functionName: dshow::OpenDevice
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 1
    functionsReached:
    - dshow::FindCaptureDevice
    - dshow::ConnectFilters
    - access_sys_t*::pp_streams::end
    - std::list::empty
    - std::list<std::string>::iterator::c_str
    - access_sys_t*::p_graph::AddFilter
    - std::string::c_str
    - ComPtr::Get
    - dshow::ShowTunerProperties
    - ToWide
    - ComPtr::CustomGetPin
    - std::list::begin
    - vlc_dialog_display_error
    - std::list::end
    - _
    - msg_Err
    - msg_Dbg
    - dshow::EnumDeviceCaps
    - dshow_stream_t::dshow_stream_t
    - dshow::GetFourCCFromMediaType
    - access_sys_t*::p_graph::FindFilterByName
    - access_sys_t*::p_graph::RemoveFilter
    - CaptureFilter::CaptureFilter
    - access_sys_t*::pp_streams::push_back
    - likely
    - var_GetBool
    - dshow::GetFourCCPriority
    - FAILED
    - CoTaskMemAlloc
    - std::string::size
    - free
    - var_CreateGetInteger
    - dshow::ShowDeviceProperties
    - access_sys_t*::pp_streams::begin
    - dshow::ConfigTuner
    linkageType: ''
    returnType: int
    signature: "int OpenDevice( vlc_object_t *p_this, access_sys_t *p_sys,\n                       std::string
      devicename, bool b_audio )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CoCreateInstance
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1188,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1189,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1190,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1192,1
    - Dst: ComPtr::CreateClassEnumerator
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1199,1
    - Dst: ComPtr::CreateClassEnumerator
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1202,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1204,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1206,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1214,1
    - Dst: ComPtr::Next
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1224,1
    - Dst: ComPtr::BindToStorage
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1228,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1228,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1229,1
    - Dst: ComPtr::Read
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1233,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1234,1
    - Dst: FromWide
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1236,1
    - Dst: free
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1238,1
    - Dst: std::list::begin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1242,1
    - Dst: std::list::end
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1243,1
    - Dst: compare
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1247,1
    - Dst: snprintf
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1251,1
    - Dst: std::list::begin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1253,1
    - Dst: std::list::push_back
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1258,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1262,1
    - Dst: std::string*::c_str
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1262,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1262,1
    - Dst: ComPtr::BindToObject
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1264,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1264,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1265,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1267,1
    - Dst: ComPtr::Reset
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1269,1
    - Dst: std::list::sort
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1278,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 4
    argNames:
    - p_this
    - p_devicename
    - p_listdevices
    - b_audio
    argTypes:
    - vlc_object_t*
    - std::string*
    - std::list<std::string>*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1175
    functionDepth: 1
    functionLinenumber: 1175
    functionLinenumberEnd: 1282
    functionName: dshow::FindCaptureDevice
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 1
    functionsReached:
    - ComPtr::BindToObject
    - IID_PPV_ARGS
    - std::string::c_str
    - SUCCEEDED
    - ComPtr::CreateClassEnumerator
    - ComPtr::Reset
    - std::list::begin
    - std::string*::c_str
    - std::list::end
    - ComPtr::Next
    - msg_Err
    - msg_Dbg
    - CoCreateInstance
    - snprintf
    - compare
    - std::list::sort
    - std::list::push_back
    - ComPtr::BindToStorage
    - ComPtr::Read
    - FAILED
    - free
    - FromWide
    linkageType: ''
    returnType: ComPtr<IBaseFilter>
    signature: "ComPtr<IBaseFilter> FindCaptureDevice( vlc_object_t *p_this, std::string
      *p_devicename,\n                   std::list<std::string> *p_listdevices, bool
      b_audio )"
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: var_GetFloat
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1296,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1300,1
    - Dst: ComPtr<IBaseFilter>::EnumPins
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1300,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1302,1
    - Dst: ComPtr::Next
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1306,1
    - Dst: ComPtr::QueryPinInfo
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1310,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1312,1
    - Dst: PIN_INFO::pFilter::Release
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1315,1
    - Dst: ComPtr::Reset
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1319,1
    - Dst: ComPtr::Next
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1321,1
    - Dst: ComPtr::QueryPinInfo
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1325,1
    - Dst: PIN_INFO::pFilter::Release
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1327,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1330,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1340,1
    - Dst: ComPtr::As
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1340,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1343,1
    - Dst: ComPtr::GetNumberOfCapabilities
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1343,1
    - Dst: CoTaskMemAlloc
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1345,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1351,1
    - Dst: ComPtr::GetStreamCaps
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1351,1
    - Dst: static_cast<BYTE*>
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1351,1
    - Dst: dshow::GetFourCCFromMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1353,1
    - Dst: dshow::GetFourCCPriority
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1354,1
    - Dst: dshow::FreeMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1360,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1361,1
    - Dst: static_cast<VIDEO_STREAM_CONFIG_CAPS*>
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1368,1
    - Dst: reinterpret_cast<VIDEOINFOHEADER*>
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1369,1
    - Dst: dshow::FreeMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1377,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1378,1
    - Dst: dshow::FreeMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1396,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1397,1
    - Dst: dshow::FreeMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1415,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1416,1
    - Dst: memset
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1429,1
    - Dst: memset
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1430,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1433,1
    - Dst: ComPtr::SetFormat
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1433,1
    - Dst: static_cast<AUDIO_STREAM_CONFIG_CAPS*>
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1444,1
    - Dst: reinterpret_cast<WAVEFORMATEX*>
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1445,1
    - Dst: dshow::FreeMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1463,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1464,1
    - Dst: dshow::FreeMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1483,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1484,1
    - Dst: dshow::FreeMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1508,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1509,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1518,1
    - Dst: ComPtr::SetFormat
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1518,1
    - Dst: dshow::FreeMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1524,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1525,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1528,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1530,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1539,1
    - Dst: ComPtr::EnumMediaTypes
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1539,1
    - Dst: ComPtr::Next
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1544,1
    - Dst: dshow::GetFourCCFromMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1546,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1557,1
    - Dst: dshow::FreeMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1571,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1583,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1602,1
    - Dst: ComPtr::QueryInterface
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1602,1
    - Dst: ComPtr::SuggestAllocatorProperties
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1614,1
    - Dst: dshow::FreeMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1617,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1621,1
    - Dst: dshow::FreeMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1632,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1640,1
    - Dst: dshow::FreeMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1643,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1645,1
    - Dst: ComPtr::Reset
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1648,1
    - Dst: ComPtr::Next
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1656,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1660,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1661,1
    - Dst: memset
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1682,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1696,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1698,1
    - Dst: dshow::CopyMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1698,1
    - Dst: dshow::FreeMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1702,1
    CyclomaticComplexity: 129
    EdgeCount: 129
    ICount: 193
    argCount: 11
    argNames:
    - p_this
    - p_filter
    - i_fourcc
    - i_width
    - i_height
    - i_channels
    - i_samplespersec
    - i_bitspersample
    - mt
    - mt_max
    - b_audio
    argTypes:
    - vlc_object_t*
    - ComPtr<IBaseFilter>
    - vlc_fourcc_t
    - int
    - int
    - int
    - int
    - int
    - AM_MEDIA_TYPE*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1284
    functionDepth: 1
    functionLinenumber: 1284
    functionLinenumberEnd: 1708
    functionName: dshow::EnumDeviceCaps
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 1
    functionsReached:
    - static_cast<VIDEO_STREAM_CONFIG_CAPS*>
    - ComPtr::GetStreamCaps
    - SUCCEEDED
    - reinterpret_cast<WAVEFORMATEX*>
    - ComPtr::SuggestAllocatorProperties
    - ComPtr::Reset
    - var_GetFloat
    - reinterpret_cast<VIDEOINFOHEADER*>
    - ComPtr::Next
    - dshow::FreeMediaType
    - msg_Dbg
    - static_cast<AUDIO_STREAM_CONFIG_CAPS*>
    - dshow::GetFourCCFromMediaType
    - PIN_INFO::pFilter::Release
    - VLC_FOURCC
    - ComPtr::QueryPinInfo
    - ComPtr::As
    - ComPtr<IBaseFilter>::EnumPins
    - dshow::CopyMediaType
    - ComPtr::QueryInterface
    - dshow::GetFourCCPriority
    - CoTaskMemFree
    - memset
    - FAILED
    - static_cast<BYTE*>
    - ComPtr::GetNumberOfCapabilities
    - CoTaskMemAlloc
    - ComPtr::SetFormat
    - ComPtr::EnumMediaTypes
    linkageType: ''
    returnType: size_t
    signature: "size_t EnumDeviceCaps( vlc_object_t *p_this, ComPtr<IBaseFilter> &p_filter,\n
      \                             vlc_fourcc_t i_fourcc, int i_width, int i_height,\n
      \                             int i_channels, int i_samplespersec,\n                              int
      i_bitspersample, AM_MEDIA_TYPE *mt,\n                              size_t mt_max,
      bool b_audio )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1726,1
    - Dst: dshow_stream_t*::p_capture_filter::CustomGetPin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1728,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1730,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1731,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1734,1
    - Dst: VLCMediaSample::p_sample::GetActualDataLength
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1741,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1745,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1746,1
    - Dst: VLCMediaSample::p_sample::GetPointer
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1749,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1750,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - p_access
    - eof
    argTypes:
    - stream_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1755
      start: 1713
    functionDepth: 1
    functionLinenumber: 1713
    functionLinenumberEnd: 1755
    functionName: dshow::ReadCompressed
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - memcpy
    - dshow_stream_t*::p_capture_filter::CustomGetPin
    - block_Alloc
    - VLCMediaSample::p_sample::GetActualDataLength
    - unlikely
    - VLCMediaSample::p_sample::GetPointer
    - vlc_cond_wait
    linkageType: ''
    returnType: block_t
    signature: block_t *ReadCompressed( stream_t *p_access, bool *eof )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1768,1
    - Dst: access_sys_t*::pp_streams::begin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1773,1
    - Dst: access_sys_t*::pp_streams::end
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1774,1
    - Dst: dshow_stream_t*::p_capture_filter::CustomGetPin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1779,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1790,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1797,1
    - Dst: access_sys_t*::pp_streams::begin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1799,1
    - Dst: access_sys_t*::pp_streams::end
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1800,1
    - Dst: dshow_stream_t*::samples_queue::size
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1806,1
    - Dst: dshow_stream_t*::samples_queue::front
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1814,1
    - Dst: dshow_stream_t*::samples_queue::pop_front
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1815,1
    - Dst: VLCMediaSample::p_sample::GetActualDataLength
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1817,1
    - Dst: VLCMediaSample::p_sample::GetPointer
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1818,1
    - Dst: VLCMediaSample::p_sample::GetTime
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1821,1
    - Dst: MSFTIME_FROM_VLC_TICK
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1827,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1838,1
    - Dst: VLC_TICK_FROM_MSFTIME
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1839,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1842,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1843,1
    - Dst: VLC_TICK_FROM_MSFTIME
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1845,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1848,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1849,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1856
      start: 1760
    functionDepth: 1
    functionLinenumber: 1760
    functionLinenumberEnd: 1856
    functionName: dshow::Demux
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 0
    functionsReached:
    - access_sys_t*::pp_streams::end
    - memcpy
    - dshow_stream_t*::p_capture_filter::CustomGetPin
    - block_Alloc
    - VLCMediaSample::p_sample::GetActualDataLength
    - VLCMediaSample::p_sample::GetPointer
    - dshow_stream_t*::samples_queue::pop_front
    - vlc_mutex_lock
    - es_out_Send
    - msg_Dbg
    - VLC_TICK_FROM_MSFTIME
    - vlc_cond_wait
    - es_out_SetPCR
    - dshow_stream_t*::samples_queue::size
    - vlc_mutex_unlock
    - dshow_stream_t*::samples_queue::front
    - access_sys_t*::pp_streams::begin
    - MSFTIME_FROM_VLC_TICK
    - VLCMediaSample::p_sample::GetTime
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1872,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1877,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1878,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1878,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1884,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1888,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1890,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - p_access
    - i_query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1901
      start: 1861
    functionDepth: 1
    functionLinenumber: 1861
    functionLinenumberEnd: 1901
    functionName: dshow::AccessControl
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 0
    functionsReached:
    - var_InheritInteger
    - va_arg
    - VLC_TICK_FROM_MS
    - strdup
    linkageType: ''
    returnType: int
    signature: int AccessControl( stream_t *p_access, int i_query, va_list args )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1919,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1924,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1925,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1925,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1929,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1929,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1938
      start: 1906
    functionDepth: 1
    functionLinenumber: 1906
    functionLinenumberEnd: 1938
    functionName: dshow::DemuxControl
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - var_InheritInteger
    - va_arg
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: int
    signature: int DemuxControl( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1947,1
    - Dst: CoCreateInstance
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1947,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1947,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1950,1
    - Dst: ComPtr::As
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1950,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1953,1
    - Dst: CoCreateInstance
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1953,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1954,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1957,1
    - Dst: ComPtr::SetFiltergraph
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1957,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1957,1
    - Dst: std::list<std::string>::begin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1960,1
    - Dst: std::list<std::string>::end
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1961,1
    - Dst: dshow::FindCaptureDevice
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1967,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1970,1
    - Dst: ComPtr::AddFilter
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1970,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1970,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1973,1
    - Dst: ComPtr::FindPin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1973,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1973,1
    - Dst: std::list<std::string>::push_back
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1975,1
    - Dst: ComPtr::RemoveFilter
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1977,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1977,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - p_this
    - audio_list
    - video_list
    argTypes:
    - vlc_object_t*
    - std::list<std::string>
    - std::list<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1981
      start: 1940
    functionDepth: 2
    functionLinenumber: 1940
    functionLinenumberEnd: 1981
    functionName: dshow::AppendAudioEnabledVDevs
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 0
    functionsReached:
    - dshow::FindCaptureDevice
    - ComPtr::RemoveFilter
    - FAILED
    - ComPtr::AddFilter
    - IID_PPV_ARGS
    - ComPtr::SetFiltergraph
    - ComPtr::As
    - std::list<std::string>::begin
    - std::list<std::string>::end
    - ComPtr::Get
    - ComPtr::FindPin
    - std::list<std::string>::push_back
    - SUCCEEDED
    - CoCreateInstance
    linkageType: ''
    returnType: int
    signature: "int AppendAudioEnabledVDevs( vlc_object_t *p_this, std::list<std::string>
      &audio_list,\n                                    std::list<std::string> &video_list
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1992,1
    - Dst: dshow::FindCaptureDevice
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1998,1
    - Dst: dshow::FindCaptureDevice
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2003,1
    - Dst: std::list::empty
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2004,1
    - Dst: dshow::AppendAudioEnabledVDevs
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2005,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2010,1
    - Dst: what
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2010,1
    - Dst: std::list::size
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2013,1
    - Dst: xmalloc
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2014,1
    - Dst: xmalloc
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2015,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2017,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2018,1
    - Dst: _
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2018,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2019,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2020,1
    - Dst: _
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2020,1
    - Dst: std::list::begin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2022,1
    - Dst: std::list::end
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2023,1
    - Dst: assert
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2026,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2027,1
    - Dst: std::list<std::string>::iterator::c_str
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2027,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2028,1
    - Dst: std::list<std::string>::iterator::c_str
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2028,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - psz_name
    - vp
    - tp
    argTypes:
    - char*
    - char***
    - char***
    assertStmts:
    - condition: ( i < count )
      pos:
        line_end: 2025
        line_start: 2025
        source_file: /src/vlc/modules/access/dshow/dshow.cpp
    constantsTouched: []
    func_position:
      end: 2035
      start: 1986
    functionDepth: 3
    functionLinenumber: 1986
    functionLinenumberEnd: 2035
    functionName: dshow::FindDevices
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 0
    functionsReached:
    - dshow::FindCaptureDevice
    - assert
    - strdup
    - std::list::begin
    - std::list::empty
    - std::list<std::string>::iterator::c_str
    - std::list::end
    - _
    - what
    - msg_Err
    - dshow::AppendAudioEnabledVDevs
    - strcmp
    - xmalloc
    - std::list::size
    linkageType: ''
    returnType: int
    signature: int FindDevices( const char *psz_name, char ***vp, char ***tp )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: As
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2048,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2049,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2051,1
    - Dst: ComPtr::GetPages
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2051,1
    - Dst: ::GetDesktopWindow
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2055,1
    - Dst: OleCreatePropertyFrame
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2057,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2060,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - ComPtr<IUnknown>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2063
      start: 2043
    functionDepth: 0
    functionLinenumber: 2043
    functionLinenumberEnd: 2063
    functionName: dshow::ShowPropertyPageO
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 1
    functionsReached:
    - OleCreatePropertyFrame
    - ::GetDesktopWindow
    - CoTaskMemFree
    - FAILED
    - As
    - SUCCEEDED
    - ComPtr::GetPages
    linkageType: ''
    returnType: void
    signature: void ShowPropertyPageO( ComPtr<IUnknown> & obj )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2071,1
    - Dst: dshow::ShowPropertyPage
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2076,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2085,1
    - Dst: FindInterface
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2087,1
    - Dst: Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2088,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2089,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2090,1
    - Dst: dshow::ShowPropertyPage
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2092,1
    - Dst: FindInterface
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2100,1
    - Dst: Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2101,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2103,1
    - Dst: dshow::ShowPropertyPage
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2105,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2116,1
    - Dst: FindInterface
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2118,1
    - Dst: Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2119,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2120,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2121,1
    - Dst: FindInterface
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2123,1
    - Dst: Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2124,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2125,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2128,1
    - Dst: FindInterface
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2130,1
    - Dst: Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2131,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2132,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2135,1
    - Dst: dshow::ShowPropertyPage
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2137,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 4
    argNames:
    - p_this
    - ' p_graph'
    - ' p_device_filter'
    - b_audio
    argTypes:
    - vlc_object_t*
    - ComPtr<ICaptureGraphBuilder2>
    - ComPtr<IBaseFilter>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 2065
    functionDepth: 2
    functionLinenumber: 2065
    functionLinenumberEnd: 2140
    functionName: dshow::ShowDeviceProperties
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 1
    functionsReached:
    - FindInterface
    - FAILED
    - IID_PPV_ARGS
    - Get
    - dshow::ShowPropertyPage
    - msg_Dbg
    - SUCCEEDED
    linkageType: ''
    returnType: void
    signature: "void ShowDeviceProperties( vlc_object_t *p_this,\n                                  ComPtr<ICaptureGraphBuilder2>
      & p_graph,\n                                  ComPtr<IBaseFilter> & p_device_filter,\n
      \                                 bool b_audio )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FindInterface
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2147,1
    - Dst: Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2148,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2150,1
    - Dst: FindInterface
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2153,1
    - Dst: Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2154,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2156,1
    - Dst: FindInterface
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2159,1
    - Dst: Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2160,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2162,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - ' p_graph'
    - ' p_device_filter'
    - ' p_TV'
    argTypes:
    - ComPtr<ICaptureGraphBuilder2>
    - ComPtr<IBaseFilter>
    - ComPtr<IAMTVTuner>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2167
      start: 2142
    functionDepth: 0
    functionLinenumber: 2142
    functionLinenumberEnd: 2167
    functionName: dshow::GetCaptureTVTuner
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 0
    functionsReached:
    - FindInterface
    - SUCCEEDED
    - Get
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT GetCaptureTVTuner(ComPtr<ICaptureGraphBuilder2> & p_graph,\n
      \                                ComPtr<IBaseFilter> & p_device_filter,\n                                 ComPtr<IAMTVTuner>
      & p_TV)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2174,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2179,1
    - Dst: dshow::GetCaptureTVTuner
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2179,1
    - Dst: dshow::ShowPropertyPage
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - p_this
    - ' p_graph'
    - ' p_device_filter'
    - b_audio
    argTypes:
    - vlc_object_t*
    - ComPtr<ICaptureGraphBuilder2>
    - ComPtr<IBaseFilter>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2183
      start: 2169
    functionDepth: 2
    functionLinenumber: 2169
    functionLinenumberEnd: 2183
    functionName: dshow::ShowTunerProperties
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 2
    functionsReached:
    - dshow::ShowPropertyPage
    - dshow::GetCaptureTVTuner
    - msg_Dbg
    - SUCCEEDED
    linkageType: ''
    returnType: void
    signature: "void ShowTunerProperties( vlc_object_t *p_this,\n                                 ComPtr<ICaptureGraphBuilder2>
      & p_graph,\n                                 ComPtr<IBaseFilter> & p_device_filter,\n
      \                                bool b_audio )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2195,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2196,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2197,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2198,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2202,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2205,1
    - Dst: dshow::GetCaptureTVTuner
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2205,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2207,1
    - Dst: ComPtr::GetAvailableModes
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2211,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2212,1
    - Dst: ComPtr::put_Mode
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2214,1
    - Dst: ComPtr::put_InputType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2217,1
    - Dst: ComPtr::put_InputType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2218,1
    - Dst: ComPtr::put_CountryCode
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2220,1
    - Dst: ComPtr::put_Channel
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2221,1
    - Dst: ComPtr::Release
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2223,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - p_this
    - ' p_graph'
    - ' p_device_filter'
    argTypes:
    - vlc_object_t*
    - ComPtr<ICaptureGraphBuilder2>
    - ComPtr<IBaseFilter>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2224
      start: 2185
    functionDepth: 1
    functionLinenumber: 2185
    functionLinenumberEnd: 2224
    functionName: dshow::ConfigTuner
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 1
    functionsReached:
    - ComPtr::put_Mode
    - dshow::GetCaptureTVTuner
    - ComPtr::put_InputType
    - ComPtr::put_CountryCode
    - ComPtr::Release
    - ComPtr::put_Channel
    - FAILED
    - msg_Dbg
    - SUCCEEDED
    - var_GetInteger
    - ComPtr::GetAvailableModes
    linkageType: ''
    returnType: void
    signature: "void ConfigTuner( vlc_object_t *p_this, ComPtr<ICaptureGraphBuilder2>
      & p_graph,\n                         ComPtr<IBaseFilter>  & p_device_filter
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:270,1
    - Dst: CoInitializeEx
      Src: /src/vlc/modules/access/dshow/dshow.cpp:270,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/access/dshow/dshow.cpp:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: dshow::ComContext
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 0
    functionsReached:
    - FAILED
    - CoInitializeEx
    - std::runtime_error
    linkageType: ''
    returnType: void
    signature: void ComContext( int mode )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoUninitialize
      Src: /src/vlc/modules/access/dshow/dshow.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: ~ComContext()
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 0
    functionsReached:
    - CoUninitialize
    linkageType: ''
    returnType: void
    signature: void ~ComContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dshow::ShowPropertyPageO
      Src: /src/vlc/modules/access/dshow/dshow.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - ComPtr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: dshow::ShowPropertyPage
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 3
    functionsReached:
    - dshow::ShowPropertyPageO
    linkageType: ''
    returnType: void
    signature: void ShowPropertyPage( ComPtr<T> & t )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:319,1
    - Dst: CoCreateInstance
      Src: /src/vlc/modules/access/dshow/dshow.cpp:319,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dshow/dshow.cpp:320,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:323,1
    - Dst: CoCreateInstance
      Src: /src/vlc/modules/access/dshow/dshow.cpp:323,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dshow/dshow.cpp:324,1
    - Dst: access_sys_t*::p_capture_graph_builder2::SetFiltergraph
      Src: /src/vlc/modules/access/dshow/dshow.cpp:326,1
    - Dst: static_cast<IGraphBuilder *>
      Src: /src/vlc/modules/access/dshow/dshow.cpp:327,1
    - Dst: access_sys_t*::p_graph::Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:327,1
    - Dst: access_sys_t*::p_graph::As
      Src: /src/vlc/modules/access/dshow/dshow.cpp:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - access_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 332
    functionName: dshow::CreateDirectShowGraph
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 1
    functionsReached:
    - static_cast<IGraphBuilder *>
    - IID_PPV_ARGS
    - access_sys_t*::p_capture_graph_builder2::SetFiltergraph
    - SUCCEEDED
    - access_sys_t*::p_graph::Get
    - CoCreateInstance
    - access_sys_t*::p_graph::As
    linkageType: ''
    returnType: void
    signature: void CreateDirectShowGraph( access_sys_t *p_sys )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dshow::DeleteCrossbarRoutes
      Src: /src/vlc/modules/access/dshow/dshow.cpp:336,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:339,1
    - Dst: access_sys_t*::pp_streams::begin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:340,1
    - Dst: access_sys_t*::pp_streams::end
      Src: /src/vlc/modules/access/dshow/dshow.cpp:341,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:346,1
    - Dst: access_sys_t*::p_graph::RemoveFilter
      Src: /src/vlc/modules/access/dshow/dshow.cpp:347,1
    - Dst: p_capture_filter::Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:347,1
    - Dst: p_capture_filter::Reset
      Src: /src/vlc/modules/access/dshow/dshow.cpp:348,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:350,1
    - Dst: access_sys_t*::p_graph::RemoveFilter
      Src: /src/vlc/modules/access/dshow/dshow.cpp:351,1
    - Dst: p_device_filter::Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:351,1
    - Dst: p_device_filter::Reset
      Src: /src/vlc/modules/access/dshow/dshow.cpp:352,1
    - Dst: access_sys_t*::p_control::Reset
      Src: /src/vlc/modules/access/dshow/dshow.cpp:356,1
    - Dst: access_sys_t*::p_capture_graph_builder2::Reset
      Src: /src/vlc/modules/access/dshow/dshow.cpp:357,1
    - Dst: access_sys_t*::p_graph::Reset
      Src: /src/vlc/modules/access/dshow/dshow.cpp:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - p_this
    - p_sys
    argTypes:
    - vlc_object_t*
    - access_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 359
    functionName: dshow::DeleteDirectShowGraph
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 1
    functionsReached:
    - access_sys_t*::p_control::Reset
    - access_sys_t*::p_graph::RemoveFilter
    - access_sys_t*::pp_streams::end
    - access_sys_t*::p_capture_graph_builder2::Reset
    - access_sys_t*::p_graph::Reset
    - msg_Dbg
    - dshow::DeleteCrossbarRoutes
    - p_capture_filter::Get
    - p_device_filter::Get
    - access_sys_t*::pp_streams::begin
    - p_capture_filter::Reset
    - p_device_filter::Reset
    linkageType: ''
    returnType: void
    signature: void DeleteDirectShowGraph( vlc_object_t *p_this, access_sys_t *p_sys
      )
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: var_Create
      Src: /src/vlc/modules/access/dshow/dshow.cpp:376,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dshow/dshow.cpp:377,1
    - Dst: var_CreateGetString
      Src: /src/vlc/modules/access/dshow/dshow.cpp:378,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:381,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/access/dshow/dshow.cpp:383,1
    - Dst: std::string
      Src: /src/vlc/modules/access/dshow/dshow.cpp:384,1
    - Dst: free
      Src: /src/vlc/modules/access/dshow/dshow.cpp:388,1
    - Dst: var_CreateGetString
      Src: /src/vlc/modules/access/dshow/dshow.cpp:390,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:393,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/access/dshow/dshow.cpp:395,1
    - Dst: std::string
      Src: /src/vlc/modules/access/dshow/dshow.cpp:396,1
    - Dst: free
      Src: /src/vlc/modules/access/dshow/dshow.cpp:400,1
    - Dst: var_CreateGetString
      Src: /src/vlc/modules/access/dshow/dshow.cpp:417,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/access/dshow/dshow.cpp:418,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/dshow/dshow.cpp:423,1
    - Dst: strtol
      Src: /src/vlc/modules/access/dshow/dshow.cpp:433,1
    - Dst: strtol
      Src: /src/vlc/modules/access/dshow/dshow.cpp:436,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:438,1
    - Dst: free
      Src: /src/vlc/modules/access/dshow/dshow.cpp:441,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/dshow/dshow.cpp:444,1
    - Dst: vlc_fourcc_GetCodecFromString
      Src: /src/vlc/modules/access/dshow/dshow.cpp:445,1
    - Dst: free
      Src: /src/vlc/modules/access/dshow/dshow.cpp:446,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dshow/dshow.cpp:448,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dshow/dshow.cpp:449,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dshow/dshow.cpp:451,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dshow/dshow.cpp:453,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dshow/dshow.cpp:456,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dshow/dshow.cpp:459,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dshow/dshow.cpp:460,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dshow/dshow.cpp:461,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dshow/dshow.cpp:462,1
    - Dst: dshow::CreateDirectShowGraph
      Src: /src/vlc/modules/access/dshow/dshow.cpp:471,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/access/dshow/dshow.cpp:473,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/access/dshow/dshow.cpp:474,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/access/dshow/dshow.cpp:478,1
    - Dst: _
      Src: /src/vlc/modules/access/dshow/dshow.cpp:478,1
    - Dst: _
      Src: /src/vlc/modules/access/dshow/dshow.cpp:479,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:484,1
    - Dst: dshow::OpenDevice
      Src: /src/vlc/modules/access/dshow/dshow.cpp:487,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dshow/dshow.cpp:489,1
    - Dst: access_sys_t*::pp_streams::rbegin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:497,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/access/dshow/dshow.cpp:526,1
    - Dst: dshow::ShowTunerProperties
      Src: /src/vlc/modules/access/dshow/dshow.cpp:530,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:537,1
    - Dst: dshow::OpenDevice
      Src: /src/vlc/modules/access/dshow/dshow.cpp:541,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dshow/dshow.cpp:543,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dshow/dshow.cpp:551,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/access/dshow/dshow.cpp:552,1
    - Dst: _
      Src: /src/vlc/modules/access/dshow/dshow.cpp:552,1
    - Dst: _
      Src: /src/vlc/modules/access/dshow/dshow.cpp:553,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dshow/dshow.cpp:560,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dshow/dshow.cpp:563,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dshow/dshow.cpp:566,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dshow/dshow.cpp:569,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:579,1
    - Dst: ComPtr::Route
      Src: /src/vlc/modules/access/dshow/dshow.cpp:579,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:581,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:587,1
    - Dst: ComPtr::Route
      Src: /src/vlc/modules/access/dshow/dshow.cpp:587,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:590,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dshow/dshow.cpp:597,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/access/dshow/dshow.cpp:604,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:611,1
    - Dst: ComPtr::As
      Src: /src/vlc/modules/access/dshow/dshow.cpp:611,1
    - Dst: dshow::ShowPropertyPage
      Src: /src/vlc/modules/access/dshow/dshow.cpp:613,1
    - Dst: access_sys_t*::pp_streams::empty
      Src: /src/vlc/modules/access/dshow/dshow.cpp:621,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 128
    argCount: 3
    argNames:
    - p_this
    - p_sys
    - b_access_demux
    argTypes:
    - vlc_object_t*
    - access_sys_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 364
    functionDepth: 3
    functionLinenumber: 364
    functionLinenumberEnd: 624
    functionName: dshow::CommonOpen
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 2
    functionsReached:
    - var_CreateGetString
    - dshow::OpenDevice
    - dshow::ShowTunerProperties
    - dshow::ShowPropertyPage
    - EMPTY_STR
    - SUCCEEDED
    - access_sys_t*::pp_streams::empty
    - access_sys_t*::pp_streams::rbegin
    - var_GetInteger
    - vlc_dialog_display_error
    - _
    - var_Create
    - msg_Err
    - vlc_cond_init
    - msg_Dbg
    - ComPtr::As
    - ComPtr::Route
    - strcmp
    - dshow::CreateDirectShowGraph
    - var_GetBool
    - strncasecmp
    - var_InheritString
    - vlc_mutex_init
    - free
    - strtol
    - vlc_fourcc_GetCodecFromString
    - std::string
    linkageType: ''
    returnType: int
    signature: "int CommonOpen( vlc_object_t *p_this, access_sys_t *p_sys,\n                       bool
      b_access_demux )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/access/dshow/dshow.cpp:637,1
    - Dst: vlc_mta_acquire
      Src: /src/vlc/modules/access/dshow/dshow.cpp:644,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dshow/dshow.cpp:646,1
    - Dst: dshow::CommonOpen
      Src: /src/vlc/modules/access/dshow/dshow.cpp:650,1
    - Dst: dshow::CommonClose
      Src: /src/vlc/modules/access/dshow/dshow.cpp:652,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:657,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:658,1
    - Dst: access_sys_t*::p_control::Run
      Src: /src/vlc/modules/access/dshow/dshow.cpp:658,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dshow/dshow.cpp:660,1
    - Dst: dshow::CommonClose
      Src: /src/vlc/modules/access/dshow/dshow.cpp:661,1
    - Dst: access_sys_t*::pp_streams::begin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:668,1
    - Dst: access_sys_t*::pp_streams::end
      Src: /src/vlc/modules/access/dshow/dshow.cpp:669,1
    - Dst: var_CreateGetString
      Src: /src/vlc/modules/access/dshow/dshow.cpp:677,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/access/dshow/dshow.cpp:678,1
    - Dst: strchr
      Src: /src/vlc/modules/access/dshow/dshow.cpp:678,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/dshow/dshow.cpp:680,1
    - Dst: atoi
      Src: /src/vlc/modules/access/dshow/dshow.cpp:687,1
    - Dst: atoi
      Src: /src/vlc/modules/access/dshow/dshow.cpp:688,1
    - Dst: free
      Src: /src/vlc/modules/access/dshow/dshow.cpp:695,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/dshow/dshow.cpp:712,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/dshow/dshow.cpp:723,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/dshow/dshow.cpp:726,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 56
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 728
    functionName: dshow::DemuxOpen
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 0
    functionsReached:
    - var_CreateGetString
    - dshow::CommonOpen
    - atoi
    - strchr
    - vlc_tick_now
    - access_sys_t*::pp_streams::end
    - dshow::CommonClose
    - FAILED
    - msg_Err
    - calloc
    - access_sys_t*::p_control::Run
    - free
    - EMPTY_STR
    - msg_Dbg
    - es_out_Add
    - es_format_Init
    - access_sys_t*::pp_streams::begin
    - vlc_mta_acquire
    linkageType: ''
    returnType: int
    signature: int DemuxOpen( vlc_object_t *p_this )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/access/dshow/dshow.cpp:738,1
    - Dst: vlc_mta_acquire
      Src: /src/vlc/modules/access/dshow/dshow.cpp:744,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dshow/dshow.cpp:746,1
    - Dst: dshow::CommonOpen
      Src: /src/vlc/modules/access/dshow/dshow.cpp:750,1
    - Dst: dshow::CommonClose
      Src: /src/vlc/modules/access/dshow/dshow.cpp:752,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:764,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:765,1
    - Dst: access_sys_t*::p_control::Run
      Src: /src/vlc/modules/access/dshow/dshow.cpp:765,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dshow/dshow.cpp:767,1
    - Dst: dshow::CommonClose
      Src: /src/vlc/modules/access/dshow/dshow.cpp:768,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 773
    functionName: dshow::AccessOpen
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 0
    functionsReached:
    - dshow::CommonOpen
    - dshow::CommonClose
    - FAILED
    - msg_Err
    - calloc
    - access_sys_t*::p_control::Run
    - msg_Dbg
    - vlc_mta_acquire
    linkageType: ''
    returnType: int
    signature: int AccessOpen( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:780,1
    - Dst: dshow::DeleteDirectShowGraph
      Src: /src/vlc/modules/access/dshow/dshow.cpp:782,1
    - Dst: vlc_delete_all
      Src: /src/vlc/modules/access/dshow/dshow.cpp:784,1
    - Dst: vlc_mta_release
      Src: /src/vlc/modules/access/dshow/dshow.cpp:786,1
    - Dst: free
      Src: /src/vlc/modules/access/dshow/dshow.cpp:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p_this
    - p_sys
    argTypes:
    - vlc_object_t*
    - access_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 778
    functionDepth: 2
    functionLinenumber: 778
    functionLinenumberEnd: 789
    functionName: dshow::CommonClose
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 6
    functionsReached:
    - dshow::DeleteDirectShowGraph
    - free
    - msg_Dbg
    - vlc_delete_all
    - vlc_mta_release
    linkageType: ''
    returnType: void
    signature: void CommonClose( vlc_object_t *p_this, access_sys_t *p_sys )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: access_sys_t*::p_control::Stop
      Src: /src/vlc/modules/access/dshow/dshow.cpp:802,1
    - Dst: dshow::CommonClose
      Src: /src/vlc/modules/access/dshow/dshow.cpp:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 805
    functionName: dshow::AccessClose
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 0
    functionsReached:
    - dshow::CommonClose
    - access_sys_t*::p_control::Stop
    linkageType: ''
    returnType: void
    signature: void AccessClose( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: access_sys_t*::p_control::Stop
      Src: /src/vlc/modules/access/dshow/dshow.cpp:818,1
    - Dst: dshow::CommonClose
      Src: /src/vlc/modules/access/dshow/dshow.cpp:820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 821
    functionName: dshow::DemuxClose
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 0
    functionsReached:
    - dshow::CommonClose
    - access_sys_t*::p_control::Stop
    linkageType: ''
    returnType: void
    signature: void DemuxClose( vlc_object_t *p_this )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CustomGetPin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:830,1
    - Dst: ComPtr::CustomGetMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:832,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:836,1
    - Dst: access_sys_t*::p_capture_graph_builder2::RenderStream
      Src: /src/vlc/modules/access/dshow/dshow.cpp:836,1
    - Dst: Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:838,1
    - Dst: Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:838,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:848,1
    - Dst: EnumPins
      Src: /src/vlc/modules/access/dshow/dshow.cpp:848,1
    - Dst: ComPtr::Next
      Src: /src/vlc/modules/access/dshow/dshow.cpp:857,1
    - Dst: ComPtr::QueryPinInfo
      Src: /src/vlc/modules/access/dshow/dshow.cpp:859,1
    - Dst: ComPtr::As
      Src: /src/vlc/modules/access/dshow/dshow.cpp:864,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:866,1
    - Dst: dshow::FindCrossbarRoutes
      Src: /src/vlc/modules/access/dshow/dshow.cpp:873,1
    - Dst: PIN_INFO::pFilter::Release
      Src: /src/vlc/modules/access/dshow/dshow.cpp:879,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:882,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dshow/dshow.cpp:884,1
    - Dst: EnumPins
      Src: /src/vlc/modules/access/dshow/dshow.cpp:893,1
    - Dst: ComPtr::Next
      Src: /src/vlc/modules/access/dshow/dshow.cpp:895,1
    - Dst: ComPtr::QueryDirection
      Src: /src/vlc/modules/access/dshow/dshow.cpp:898,1
    - Dst: access_sys_t*::p_graph::ConnectDirect
      Src: /src/vlc/modules/access/dshow/dshow.cpp:901,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:901,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:901,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 4
    argNames:
    - p_this
    - p_sys
    - ' p_filter'
    - ' p_capture_filter'
    argTypes:
    - vlc_object_t*
    - access_sys_t*
    - ComPtr<IBaseFilter>
    - ComPtr<CaptureFilter>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 826
    functionDepth: 1
    functionLinenumber: 826
    functionLinenumberEnd: 909
    functionName: dshow::ConnectFilters
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 1
    functionsReached:
    - ComPtr::CustomGetMediaType
    - PIN_INFO::pFilter::Release
    - ComPtr::QueryPinInfo
    - FAILED
    - ComPtr::Next
    - ComPtr::As
    - Get
    - CustomGetPin
    - EnumPins
    - access_sys_t*::p_capture_graph_builder2::RenderStream
    - SUCCEEDED
    - ComPtr::Get
    - msg_Dbg
    - msg_Warn
    - dshow::FindCrossbarRoutes
    - access_sys_t*::p_graph::ConnectDirect
    - ComPtr::QueryDirection
    linkageType: ''
    returnType: bool
    signature: "bool ConnectFilters( vlc_object_t *p_this, access_sys_t *p_sys,\n
      \                           ComPtr<IBaseFilter> & p_filter,\n                            ComPtr<CaptureFilter>
      & p_capture_filter )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/access/dshow/dshow.cpp:922,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - i_fourcc
    argTypes:
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 933
    functionName: dshow::GetFourCCPriority
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 2
    functionsReached:
    - VLC_FOURCC
    linkageType: ''
    returnType: int
    signature: int GetFourCCPriority( vlc_fourcc_t i_fourcc )
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: access_sys_t*::pp_streams::begin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:943,1
    - Dst: access_sys_t*::pp_streams::end
      Src: /src/vlc/modules/access/dshow/dshow.cpp:944,1
    - Dst: std::string::size
      Src: /src/vlc/modules/access/dshow/dshow.cpp:947,1
    - Dst: ToWide
      Src: /src/vlc/modules/access/dshow/dshow.cpp:951,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/access/dshow/dshow.cpp:951,1
    - Dst: likely
      Src: /src/vlc/modules/access/dshow/dshow.cpp:953,1
    - Dst: access_sys_t*::p_graph::FindFilterByName
      Src: /src/vlc/modules/access/dshow/dshow.cpp:954,1
    - Dst: free
      Src: /src/vlc/modules/access/dshow/dshow.cpp:956,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dshow/dshow.cpp:960,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/access/dshow/dshow.cpp:960,1
    - Dst: dshow::FindCaptureDevice
      Src: /src/vlc/modules/access/dshow/dshow.cpp:973,1
    - Dst: std::list::empty
      Src: /src/vlc/modules/access/dshow/dshow.cpp:974,1
    - Dst: std::list::begin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:978,1
    - Dst: std::list::end
      Src: /src/vlc/modules/access/dshow/dshow.cpp:978,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:979,1
    - Dst: std::list<std::string>::iterator::c_str
      Src: /src/vlc/modules/access/dshow/dshow.cpp:979,1
    - Dst: std::string::size
      Src: /src/vlc/modules/access/dshow/dshow.cpp:982,1
    - Dst: std::list::begin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:985,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:986,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/access/dshow/dshow.cpp:986,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:989,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/access/dshow/dshow.cpp:989,1
    - Dst: dshow::FindCaptureDevice
      Src: /src/vlc/modules/access/dshow/dshow.cpp:993,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:996,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/access/dshow/dshow.cpp:996,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dshow/dshow.cpp:999,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1000,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1001,1
    - Dst: _
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1001,1
    - Dst: _
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1002,1
    - Dst: ToWide
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1011,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1011,1
    - Dst: likely
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1013,1
    - Dst: access_sys_t*::p_graph::AddFilter
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1015,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1015,1
    - Dst: free
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1016,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1019,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1021,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1021,1
    - Dst: dshow::EnumDeviceCaps
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1029,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1031,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1032,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1033,1
    - Dst: CoTaskMemAlloc
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1040,1
    - Dst: dshow::GetFourCCPriority
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1047,1
    - Dst: dshow::GetFourCCFromMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1047,1
    - Dst: dshow::GetFourCCPriority
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1052,1
    - Dst: dshow::GetFourCCFromMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1052,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1072,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1072,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1073,1
    - Dst: _
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1073,1
    - Dst: _
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1074,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1075,1
    - Dst: CaptureFilter::CaptureFilter
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1081,1
    - Dst: access_sys_t*::p_graph::AddFilter
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1082,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1082,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1085,1
    - Dst: dshow::ConnectFilters
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1086,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1089,1
    - Dst: ComPtr::CustomGetPin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1096,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1100,1
    - Dst: dshow::ShowDeviceProperties
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1102,1
    - Dst: dshow::ConfigTuner
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1106,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1109,1
    - Dst: dshow::ShowTunerProperties
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1113,1
    - Dst: ComPtr::CustomGetPin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1118,1
    - Dst: dshow::GetFourCCFromMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1120,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1127,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1128,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1135,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1136,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1141,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1142,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1147,1
    - Dst: access_sys_t*::pp_streams::push_back
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1155,1
    - Dst: dshow_stream_t::dshow_stream_t
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1155,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1163,1
    - Dst: access_sys_t*::p_graph::RemoveFilter
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1164,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1164,1
    - Dst: access_sys_t*::p_graph::RemoveFilter
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1165,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1165,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 109
    argCount: 4
    argNames:
    - p_this
    - p_sys
    - devicename
    - b_audio
    argTypes:
    - vlc_object_t*
    - access_sys_t*
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 937
    functionDepth: 3
    functionLinenumber: 937
    functionLinenumberEnd: 1168
    functionName: dshow::OpenDevice
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 2
    functionsReached:
    - dshow::FindCaptureDevice
    - dshow::ConnectFilters
    - access_sys_t*::pp_streams::end
    - std::list::empty
    - std::list<std::string>::iterator::c_str
    - access_sys_t*::p_graph::AddFilter
    - std::string::c_str
    - ComPtr::Get
    - dshow::ShowTunerProperties
    - ToWide
    - ComPtr::CustomGetPin
    - std::list::begin
    - vlc_dialog_display_error
    - std::list::end
    - _
    - msg_Err
    - msg_Dbg
    - dshow::EnumDeviceCaps
    - dshow_stream_t::dshow_stream_t
    - dshow::GetFourCCFromMediaType
    - access_sys_t*::p_graph::FindFilterByName
    - access_sys_t*::p_graph::RemoveFilter
    - CaptureFilter::CaptureFilter
    - access_sys_t*::pp_streams::push_back
    - likely
    - var_GetBool
    - dshow::GetFourCCPriority
    - FAILED
    - CoTaskMemAlloc
    - std::string::size
    - free
    - var_CreateGetInteger
    - dshow::ShowDeviceProperties
    - access_sys_t*::pp_streams::begin
    - dshow::ConfigTuner
    linkageType: ''
    returnType: int
    signature: "int OpenDevice( vlc_object_t *p_this, access_sys_t *p_sys,\n                       std::string
      devicename, bool b_audio )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CoCreateInstance
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1188,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1189,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1190,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1192,1
    - Dst: ComPtr::CreateClassEnumerator
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1199,1
    - Dst: ComPtr::CreateClassEnumerator
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1202,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1204,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1206,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1214,1
    - Dst: ComPtr::Next
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1224,1
    - Dst: ComPtr::BindToStorage
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1228,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1228,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1229,1
    - Dst: ComPtr::Read
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1233,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1234,1
    - Dst: FromWide
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1236,1
    - Dst: free
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1238,1
    - Dst: std::list::begin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1242,1
    - Dst: std::list::end
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1243,1
    - Dst: compare
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1247,1
    - Dst: snprintf
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1251,1
    - Dst: std::list::begin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1253,1
    - Dst: std::list::push_back
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1258,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1262,1
    - Dst: std::string*::c_str
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1262,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1262,1
    - Dst: ComPtr::BindToObject
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1264,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1264,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1265,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1267,1
    - Dst: ComPtr::Reset
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1269,1
    - Dst: std::list::sort
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1278,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 4
    argNames:
    - p_this
    - p_devicename
    - p_listdevices
    - b_audio
    argTypes:
    - vlc_object_t*
    - std::string*
    - std::list<std::string>*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1175
    functionDepth: 1
    functionLinenumber: 1175
    functionLinenumberEnd: 1282
    functionName: dshow::FindCaptureDevice
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 4
    functionsReached:
    - ComPtr::BindToObject
    - IID_PPV_ARGS
    - std::string::c_str
    - SUCCEEDED
    - ComPtr::CreateClassEnumerator
    - ComPtr::Reset
    - std::list::begin
    - std::string*::c_str
    - std::list::end
    - ComPtr::Next
    - msg_Err
    - msg_Dbg
    - CoCreateInstance
    - snprintf
    - compare
    - std::list::sort
    - std::list::push_back
    - ComPtr::BindToStorage
    - ComPtr::Read
    - FAILED
    - free
    - FromWide
    linkageType: ''
    returnType: ComPtr<IBaseFilter>
    signature: "ComPtr<IBaseFilter> FindCaptureDevice( vlc_object_t *p_this, std::string
      *p_devicename,\n                   std::list<std::string> *p_listdevices, bool
      b_audio )"
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: var_GetFloat
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1296,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1300,1
    - Dst: ComPtr<IBaseFilter>::EnumPins
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1300,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1302,1
    - Dst: ComPtr::Next
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1306,1
    - Dst: ComPtr::QueryPinInfo
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1310,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1312,1
    - Dst: PIN_INFO::pFilter::Release
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1315,1
    - Dst: ComPtr::Reset
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1319,1
    - Dst: ComPtr::Next
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1321,1
    - Dst: ComPtr::QueryPinInfo
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1325,1
    - Dst: PIN_INFO::pFilter::Release
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1327,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1330,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1340,1
    - Dst: ComPtr::As
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1340,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1343,1
    - Dst: ComPtr::GetNumberOfCapabilities
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1343,1
    - Dst: CoTaskMemAlloc
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1345,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1351,1
    - Dst: ComPtr::GetStreamCaps
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1351,1
    - Dst: static_cast<BYTE*>
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1351,1
    - Dst: dshow::GetFourCCFromMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1353,1
    - Dst: dshow::GetFourCCPriority
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1354,1
    - Dst: dshow::FreeMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1360,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1361,1
    - Dst: static_cast<VIDEO_STREAM_CONFIG_CAPS*>
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1368,1
    - Dst: reinterpret_cast<VIDEOINFOHEADER*>
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1369,1
    - Dst: dshow::FreeMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1377,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1378,1
    - Dst: dshow::FreeMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1396,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1397,1
    - Dst: dshow::FreeMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1415,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1416,1
    - Dst: memset
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1429,1
    - Dst: memset
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1430,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1433,1
    - Dst: ComPtr::SetFormat
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1433,1
    - Dst: static_cast<AUDIO_STREAM_CONFIG_CAPS*>
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1444,1
    - Dst: reinterpret_cast<WAVEFORMATEX*>
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1445,1
    - Dst: dshow::FreeMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1463,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1464,1
    - Dst: dshow::FreeMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1483,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1484,1
    - Dst: dshow::FreeMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1508,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1509,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1518,1
    - Dst: ComPtr::SetFormat
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1518,1
    - Dst: dshow::FreeMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1524,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1525,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1528,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1530,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1539,1
    - Dst: ComPtr::EnumMediaTypes
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1539,1
    - Dst: ComPtr::Next
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1544,1
    - Dst: dshow::GetFourCCFromMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1546,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1557,1
    - Dst: dshow::FreeMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1571,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1583,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1602,1
    - Dst: ComPtr::QueryInterface
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1602,1
    - Dst: ComPtr::SuggestAllocatorProperties
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1614,1
    - Dst: dshow::FreeMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1617,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1621,1
    - Dst: dshow::FreeMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1632,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1640,1
    - Dst: dshow::FreeMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1643,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1645,1
    - Dst: ComPtr::Reset
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1648,1
    - Dst: ComPtr::Next
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1656,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1660,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1661,1
    - Dst: memset
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1682,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1696,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1698,1
    - Dst: dshow::CopyMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1698,1
    - Dst: dshow::FreeMediaType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1702,1
    CyclomaticComplexity: 129
    EdgeCount: 129
    ICount: 193
    argCount: 11
    argNames:
    - p_this
    - p_filter
    - i_fourcc
    - i_width
    - i_height
    - i_channels
    - i_samplespersec
    - i_bitspersample
    - mt
    - mt_max
    - b_audio
    argTypes:
    - vlc_object_t*
    - ComPtr<IBaseFilter>
    - vlc_fourcc_t
    - int
    - int
    - int
    - int
    - int
    - AM_MEDIA_TYPE*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1284
    functionDepth: 1
    functionLinenumber: 1284
    functionLinenumberEnd: 1708
    functionName: dshow::EnumDeviceCaps
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 2
    functionsReached:
    - static_cast<VIDEO_STREAM_CONFIG_CAPS*>
    - ComPtr::GetStreamCaps
    - SUCCEEDED
    - reinterpret_cast<WAVEFORMATEX*>
    - ComPtr::SuggestAllocatorProperties
    - ComPtr::Reset
    - var_GetFloat
    - reinterpret_cast<VIDEOINFOHEADER*>
    - ComPtr::Next
    - dshow::FreeMediaType
    - msg_Dbg
    - static_cast<AUDIO_STREAM_CONFIG_CAPS*>
    - dshow::GetFourCCFromMediaType
    - PIN_INFO::pFilter::Release
    - VLC_FOURCC
    - ComPtr::QueryPinInfo
    - ComPtr::As
    - ComPtr<IBaseFilter>::EnumPins
    - dshow::CopyMediaType
    - ComPtr::QueryInterface
    - dshow::GetFourCCPriority
    - CoTaskMemFree
    - memset
    - FAILED
    - static_cast<BYTE*>
    - ComPtr::GetNumberOfCapabilities
    - CoTaskMemAlloc
    - ComPtr::SetFormat
    - ComPtr::EnumMediaTypes
    linkageType: ''
    returnType: size_t
    signature: "size_t EnumDeviceCaps( vlc_object_t *p_this, ComPtr<IBaseFilter> &p_filter,\n
      \                             vlc_fourcc_t i_fourcc, int i_width, int i_height,\n
      \                             int i_channels, int i_samplespersec,\n                              int
      i_bitspersample, AM_MEDIA_TYPE *mt,\n                              size_t mt_max,
      bool b_audio )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1726,1
    - Dst: dshow_stream_t*::p_capture_filter::CustomGetPin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1728,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1730,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1731,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1734,1
    - Dst: VLCMediaSample::p_sample::GetActualDataLength
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1741,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1745,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1746,1
    - Dst: VLCMediaSample::p_sample::GetPointer
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1749,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1750,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - p_access
    - eof
    argTypes:
    - stream_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1755
      start: 1713
    functionDepth: 1
    functionLinenumber: 1713
    functionLinenumberEnd: 1755
    functionName: dshow::ReadCompressed
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - memcpy
    - dshow_stream_t*::p_capture_filter::CustomGetPin
    - block_Alloc
    - VLCMediaSample::p_sample::GetActualDataLength
    - unlikely
    - VLCMediaSample::p_sample::GetPointer
    - vlc_cond_wait
    linkageType: ''
    returnType: block_t
    signature: block_t *ReadCompressed( stream_t *p_access, bool *eof )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1768,1
    - Dst: access_sys_t*::pp_streams::begin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1773,1
    - Dst: access_sys_t*::pp_streams::end
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1774,1
    - Dst: dshow_stream_t*::p_capture_filter::CustomGetPin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1779,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1790,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1797,1
    - Dst: access_sys_t*::pp_streams::begin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1799,1
    - Dst: access_sys_t*::pp_streams::end
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1800,1
    - Dst: dshow_stream_t*::samples_queue::size
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1806,1
    - Dst: dshow_stream_t*::samples_queue::front
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1814,1
    - Dst: dshow_stream_t*::samples_queue::pop_front
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1815,1
    - Dst: VLCMediaSample::p_sample::GetActualDataLength
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1817,1
    - Dst: VLCMediaSample::p_sample::GetPointer
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1818,1
    - Dst: VLCMediaSample::p_sample::GetTime
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1821,1
    - Dst: MSFTIME_FROM_VLC_TICK
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1827,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1838,1
    - Dst: VLC_TICK_FROM_MSFTIME
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1839,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1842,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1843,1
    - Dst: VLC_TICK_FROM_MSFTIME
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1845,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1848,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1849,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1856
      start: 1760
    functionDepth: 1
    functionLinenumber: 1760
    functionLinenumberEnd: 1856
    functionName: dshow::Demux
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 0
    functionsReached:
    - access_sys_t*::pp_streams::end
    - memcpy
    - dshow_stream_t*::p_capture_filter::CustomGetPin
    - block_Alloc
    - VLCMediaSample::p_sample::GetActualDataLength
    - VLCMediaSample::p_sample::GetPointer
    - dshow_stream_t*::samples_queue::pop_front
    - vlc_mutex_lock
    - es_out_Send
    - msg_Dbg
    - VLC_TICK_FROM_MSFTIME
    - vlc_cond_wait
    - es_out_SetPCR
    - dshow_stream_t*::samples_queue::size
    - vlc_mutex_unlock
    - dshow_stream_t*::samples_queue::front
    - access_sys_t*::pp_streams::begin
    - MSFTIME_FROM_VLC_TICK
    - VLCMediaSample::p_sample::GetTime
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1872,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1877,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1878,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1878,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1884,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1888,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1890,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - p_access
    - i_query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1901
      start: 1861
    functionDepth: 1
    functionLinenumber: 1861
    functionLinenumberEnd: 1901
    functionName: dshow::AccessControl
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 0
    functionsReached:
    - var_InheritInteger
    - va_arg
    - VLC_TICK_FROM_MS
    - strdup
    linkageType: ''
    returnType: int
    signature: int AccessControl( stream_t *p_access, int i_query, va_list args )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1919,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1924,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1925,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1925,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1929,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1929,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1938
      start: 1906
    functionDepth: 1
    functionLinenumber: 1906
    functionLinenumberEnd: 1938
    functionName: dshow::DemuxControl
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - var_InheritInteger
    - va_arg
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: int
    signature: int DemuxControl( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1947,1
    - Dst: CoCreateInstance
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1947,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1947,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1950,1
    - Dst: ComPtr::As
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1950,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1953,1
    - Dst: CoCreateInstance
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1953,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1954,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1957,1
    - Dst: ComPtr::SetFiltergraph
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1957,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1957,1
    - Dst: std::list<std::string>::begin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1960,1
    - Dst: std::list<std::string>::end
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1961,1
    - Dst: dshow::FindCaptureDevice
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1967,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1970,1
    - Dst: ComPtr::AddFilter
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1970,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1970,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1973,1
    - Dst: ComPtr::FindPin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1973,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1973,1
    - Dst: std::list<std::string>::push_back
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1975,1
    - Dst: ComPtr::RemoveFilter
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1977,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1977,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - p_this
    - audio_list
    - video_list
    argTypes:
    - vlc_object_t*
    - std::list<std::string>
    - std::list<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1981
      start: 1940
    functionDepth: 2
    functionLinenumber: 1940
    functionLinenumberEnd: 1981
    functionName: dshow::AppendAudioEnabledVDevs
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 1
    functionsReached:
    - dshow::FindCaptureDevice
    - ComPtr::RemoveFilter
    - FAILED
    - ComPtr::AddFilter
    - IID_PPV_ARGS
    - ComPtr::SetFiltergraph
    - ComPtr::As
    - std::list<std::string>::begin
    - std::list<std::string>::end
    - ComPtr::Get
    - ComPtr::FindPin
    - std::list<std::string>::push_back
    - SUCCEEDED
    - CoCreateInstance
    linkageType: ''
    returnType: int
    signature: "int AppendAudioEnabledVDevs( vlc_object_t *p_this, std::list<std::string>
      &audio_list,\n                                    std::list<std::string> &video_list
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1992,1
    - Dst: dshow::FindCaptureDevice
      Src: /src/vlc/modules/access/dshow/dshow.cpp:1998,1
    - Dst: dshow::FindCaptureDevice
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2003,1
    - Dst: std::list::empty
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2004,1
    - Dst: dshow::AppendAudioEnabledVDevs
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2005,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2010,1
    - Dst: what
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2010,1
    - Dst: std::list::size
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2013,1
    - Dst: xmalloc
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2014,1
    - Dst: xmalloc
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2015,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2017,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2018,1
    - Dst: _
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2018,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2019,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2020,1
    - Dst: _
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2020,1
    - Dst: std::list::begin
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2022,1
    - Dst: std::list::end
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2023,1
    - Dst: assert
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2026,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2027,1
    - Dst: std::list<std::string>::iterator::c_str
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2027,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2028,1
    - Dst: std::list<std::string>::iterator::c_str
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2028,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - psz_name
    - vp
    - tp
    argTypes:
    - char*
    - char***
    - char***
    assertStmts:
    - condition: ( i < count )
      pos:
        line_end: 2025
        line_start: 2025
        source_file: /src/vlc/modules/access/dshow/dshow.cpp
    constantsTouched: []
    func_position:
      end: 2035
      start: 1986
    functionDepth: 3
    functionLinenumber: 1986
    functionLinenumberEnd: 2035
    functionName: dshow::FindDevices
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 0
    functionsReached:
    - dshow::FindCaptureDevice
    - assert
    - strdup
    - std::list::begin
    - std::list::empty
    - std::list<std::string>::iterator::c_str
    - std::list::end
    - _
    - what
    - msg_Err
    - dshow::AppendAudioEnabledVDevs
    - strcmp
    - xmalloc
    - std::list::size
    linkageType: ''
    returnType: int
    signature: int FindDevices( const char *psz_name, char ***vp, char ***tp )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: As
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2048,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2049,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2051,1
    - Dst: ComPtr::GetPages
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2051,1
    - Dst: ::GetDesktopWindow
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2055,1
    - Dst: OleCreatePropertyFrame
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2057,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2060,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - ComPtr<IUnknown>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2063
      start: 2043
    functionDepth: 0
    functionLinenumber: 2043
    functionLinenumberEnd: 2063
    functionName: dshow::ShowPropertyPageO
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 2
    functionsReached:
    - OleCreatePropertyFrame
    - ::GetDesktopWindow
    - CoTaskMemFree
    - FAILED
    - As
    - SUCCEEDED
    - ComPtr::GetPages
    linkageType: ''
    returnType: void
    signature: void ShowPropertyPageO( ComPtr<IUnknown> & obj )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2071,1
    - Dst: dshow::ShowPropertyPage
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2076,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2085,1
    - Dst: FindInterface
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2087,1
    - Dst: Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2088,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2089,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2090,1
    - Dst: dshow::ShowPropertyPage
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2092,1
    - Dst: FindInterface
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2100,1
    - Dst: Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2101,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2103,1
    - Dst: dshow::ShowPropertyPage
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2105,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2116,1
    - Dst: FindInterface
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2118,1
    - Dst: Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2119,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2120,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2121,1
    - Dst: FindInterface
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2123,1
    - Dst: Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2124,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2125,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2128,1
    - Dst: FindInterface
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2130,1
    - Dst: Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2131,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2132,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2135,1
    - Dst: dshow::ShowPropertyPage
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2137,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 4
    argNames:
    - p_this
    - ' p_graph'
    - ' p_device_filter'
    - b_audio
    argTypes:
    - vlc_object_t*
    - ComPtr<ICaptureGraphBuilder2>
    - ComPtr<IBaseFilter>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 2065
    functionDepth: 2
    functionLinenumber: 2065
    functionLinenumberEnd: 2140
    functionName: dshow::ShowDeviceProperties
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 2
    functionsReached:
    - FindInterface
    - FAILED
    - IID_PPV_ARGS
    - Get
    - dshow::ShowPropertyPage
    - msg_Dbg
    - SUCCEEDED
    linkageType: ''
    returnType: void
    signature: "void ShowDeviceProperties( vlc_object_t *p_this,\n                                  ComPtr<ICaptureGraphBuilder2>
      & p_graph,\n                                  ComPtr<IBaseFilter> & p_device_filter,\n
      \                                 bool b_audio )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FindInterface
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2147,1
    - Dst: Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2148,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2150,1
    - Dst: FindInterface
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2153,1
    - Dst: Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2154,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2156,1
    - Dst: FindInterface
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2159,1
    - Dst: Get
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2160,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2162,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - ' p_graph'
    - ' p_device_filter'
    - ' p_TV'
    argTypes:
    - ComPtr<ICaptureGraphBuilder2>
    - ComPtr<IBaseFilter>
    - ComPtr<IAMTVTuner>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2167
      start: 2142
    functionDepth: 0
    functionLinenumber: 2142
    functionLinenumberEnd: 2167
    functionName: dshow::GetCaptureTVTuner
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 2
    functionsReached:
    - FindInterface
    - SUCCEEDED
    - Get
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT GetCaptureTVTuner(ComPtr<ICaptureGraphBuilder2> & p_graph,\n
      \                                ComPtr<IBaseFilter> & p_device_filter,\n                                 ComPtr<IAMTVTuner>
      & p_TV)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2174,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2179,1
    - Dst: dshow::GetCaptureTVTuner
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2179,1
    - Dst: dshow::ShowPropertyPage
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - p_this
    - ' p_graph'
    - ' p_device_filter'
    - b_audio
    argTypes:
    - vlc_object_t*
    - ComPtr<ICaptureGraphBuilder2>
    - ComPtr<IBaseFilter>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2183
      start: 2169
    functionDepth: 2
    functionLinenumber: 2169
    functionLinenumberEnd: 2183
    functionName: dshow::ShowTunerProperties
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 4
    functionsReached:
    - dshow::ShowPropertyPage
    - dshow::GetCaptureTVTuner
    - msg_Dbg
    - SUCCEEDED
    linkageType: ''
    returnType: void
    signature: "void ShowTunerProperties( vlc_object_t *p_this,\n                                 ComPtr<ICaptureGraphBuilder2>
      & p_graph,\n                                 ComPtr<IBaseFilter> & p_device_filter,\n
      \                                bool b_audio )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2195,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2196,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2197,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2198,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2202,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2205,1
    - Dst: dshow::GetCaptureTVTuner
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2205,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2207,1
    - Dst: ComPtr::GetAvailableModes
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2211,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2212,1
    - Dst: ComPtr::put_Mode
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2214,1
    - Dst: ComPtr::put_InputType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2217,1
    - Dst: ComPtr::put_InputType
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2218,1
    - Dst: ComPtr::put_CountryCode
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2220,1
    - Dst: ComPtr::put_Channel
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2221,1
    - Dst: ComPtr::Release
      Src: /src/vlc/modules/access/dshow/dshow.cpp:2223,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - p_this
    - ' p_graph'
    - ' p_device_filter'
    argTypes:
    - vlc_object_t*
    - ComPtr<ICaptureGraphBuilder2>
    - ComPtr<IBaseFilter>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2224
      start: 2185
    functionDepth: 1
    functionLinenumber: 2185
    functionLinenumberEnd: 2224
    functionName: dshow::ConfigTuner
    functionSourceFile: /src/vlc/modules/access/dshow/dshow.cpp
    functionUses: 2
    functionsReached:
    - ComPtr::put_Mode
    - dshow::GetCaptureTVTuner
    - ComPtr::put_InputType
    - ComPtr::put_CountryCode
    - ComPtr::Release
    - ComPtr::put_Channel
    - FAILED
    - msg_Dbg
    - SUCCEEDED
    - var_GetInteger
    - ComPtr::GetAvailableModes
    linkageType: ''
    returnType: void
    signature: "void ConfigTuner( vlc_object_t *p_this, ComPtr<ICaptureGraphBuilder2>
      & p_graph,\n                         ComPtr<IBaseFilter>  & p_device_filter
      )"
  - BBCount: 25
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 51
    argCount: 1
    argNames:
    - lType
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 71
    functionName: dshow::GetPhysicalPinName
    functionSourceFile: /src/vlc/modules/access/dshow/crossbar.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * GetPhysicalPinName(long lType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pXbar::Reset
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - access_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: dshow::DeleteCrossbarRoutes
    functionSourceFile: /src/vlc/modules/access/dshow/crossbar.cpp
    functionUses: 2
    functionsReached:
    - pXbar::Reset
    linkageType: ''
    returnType: void
    signature: void DeleteCrossbarRoutes( access_sys_t *p_sys )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_PinCounts
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:97,1
    - Dst: As
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:101,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:103,1
    - Dst: ComPtr::EnumPins
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:103,1
    - Dst: ComPtr::Next
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - ' pXbar'
    - PinIndex
    - IsInputPin
    - ' pin'
    argTypes:
    - ComPtr<IAMCrossbar>
    - LONG
    - BOOL
    - ComPtr<IPin>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 119
    functionName: dshow::GetCrossbarIPinAtIndex
    functionSourceFile: /src/vlc/modules/access/dshow/crossbar.cpp
    functionUses: 0
    functionsReached:
    - ComPtr::EnumPins
    - ComPtr::Next
    - As
    - SUCCEEDED
    - get_PinCounts
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT GetCrossbarIPinAtIndex( ComPtr<IAMCrossbar> & pXbar, LONG
      PinIndex,\n                                       BOOL IsInputPin, ComPtr<IPin>
      & pin )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:134,1
    - Dst: get_PinCounts
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:136,1
    - Dst: As
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:139,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:141,1
    - Dst: ComPtr::EnumPins
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:141,1
    - Dst: ComPtr::Next
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:145,1
    - Dst: Get
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:147,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - ' pXbar'
    - PinIndex
    - IsInputPin
    - ' pPin'
    argTypes:
    - ComPtr<IAMCrossbar>
    - LONG*
    - BOOL
    - ComPtr<IPin>
    assertStmts:
    - condition: (!PinIndex)
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/vlc/modules/access/dshow/crossbar.cpp
    constantsTouched: []
    func_position:
      end: 159
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 159
    functionName: dshow::GetCrossbarIndexFromIPin
    functionSourceFile: /src/vlc/modules/access/dshow/crossbar.cpp
    functionUses: 0
    functionsReached:
    - assert
    - ComPtr::EnumPins
    - As
    - ComPtr::Next
    - Get
    - ComPtr::Get
    - SUCCEEDED
    - get_PinCounts
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT GetCrossbarIndexFromIPin( ComPtr<IAMCrossbar> & pXbar, LONG
      * PinIndex,\n                                         BOOL IsInputPin, ComPtr<IPin>
      & pPin )"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:170,1
    - Dst: ConnectedTo
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:170,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:174,1
    - Dst: ComPtr::QueryPinInfo
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:174,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:181,1
    - Dst: PIN_INFO::pFilter::QueryInterface
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:181,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:181,1
    - Dst: PIN_INFO::pFilter::Release
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:183,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:188,1
    - Dst: ComPtr::get_PinCounts
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:188,1
    - Dst: PIN_INFO::pFilter::Release
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:190,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:197,1
    - Dst: dshow::GetCrossbarIndexFromIPin
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:197,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:199,1
    - Dst: ComPtr::get_CrossbarPinInfo
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:199,1
    - Dst: PIN_INFO::pFilter::Release
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:203,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:214,1
    - Dst: ComPtr::get_IsRoutedTo
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:214,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:217,1
    - Dst: ComPtr::get_CrossbarPinInfo
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:217,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:223,1
    - Dst: dshow::GetPhysicalPinName
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:224,1
    - Dst: dshow::GetPhysicalPinName
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:225,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:243,1
    - Dst: ComPtr::get_CrossbarPinInfo
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:243,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:250,1
    - Dst: ComPtr::CanRoute
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:250,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:254,1
    - Dst: dshow::GetCrossbarIPinAtIndex
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:254,1
    - Dst: dshow::FindCrossbarRoutes
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:257,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:271,1
    - Dst: dshow::GetPhysicalPinName
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:273,1
    - Dst: dshow::GetPhysicalPinName
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:274,1
    - Dst: PIN_INFO::pFilter::Release
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:279,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 51
    argCount: 5
    argNames:
    - p_this
    - p_sys
    - ' p_input_pin'
    - physicalType
    - depth
    argTypes:
    - vlc_object_t*
    - access_sys_t*
    - ComPtr<IPin>
    - LONG
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 282
    functionName: dshow::FindCrossbarRoutes
    functionSourceFile: /src/vlc/modules/access/dshow/crossbar.cpp
    functionUses: 3
    functionsReached:
    - PIN_INFO::pFilter::Release
    - ComPtr::get_CrossbarPinInfo
    - ComPtr::QueryPinInfo
    - dshow::GetPhysicalPinName
    - dshow::FindCrossbarRoutes
    - FAILED
    - PIN_INFO::pFilter::QueryInterface
    - IID_PPV_ARGS
    - ComPtr::get_PinCounts
    - dshow::GetCrossbarIPinAtIndex
    - ComPtr::get_IsRoutedTo
    - dshow::GetCrossbarIndexFromIPin
    - SUCCEEDED
    - msg_Dbg
    - ComPtr::CanRoute
    - ConnectedTo
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT FindCrossbarRoutes( vlc_object_t *p_this, access_sys_t *p_sys,\n
      \                           ComPtr<IPin> & p_input_pin, LONG physicalType, int
      depth )"
  - BBCount: 25
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 51
    argCount: 1
    argNames:
    - lType
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 71
    functionName: dshow::GetPhysicalPinName
    functionSourceFile: /src/vlc/modules/access/dshow/crossbar.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * GetPhysicalPinName(long lType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pXbar::Reset
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - access_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: dshow::DeleteCrossbarRoutes
    functionSourceFile: /src/vlc/modules/access/dshow/crossbar.cpp
    functionUses: 2
    functionsReached:
    - pXbar::Reset
    linkageType: ''
    returnType: void
    signature: void DeleteCrossbarRoutes( access_sys_t *p_sys )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_PinCounts
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:97,1
    - Dst: As
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:101,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:103,1
    - Dst: ComPtr::EnumPins
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:103,1
    - Dst: ComPtr::Next
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - ' pXbar'
    - PinIndex
    - IsInputPin
    - ' pin'
    argTypes:
    - ComPtr<IAMCrossbar>
    - LONG
    - BOOL
    - ComPtr<IPin>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 119
    functionName: dshow::GetCrossbarIPinAtIndex
    functionSourceFile: /src/vlc/modules/access/dshow/crossbar.cpp
    functionUses: 1
    functionsReached:
    - ComPtr::EnumPins
    - ComPtr::Next
    - As
    - SUCCEEDED
    - get_PinCounts
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT GetCrossbarIPinAtIndex( ComPtr<IAMCrossbar> & pXbar, LONG
      PinIndex,\n                                       BOOL IsInputPin, ComPtr<IPin>
      & pin )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:134,1
    - Dst: get_PinCounts
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:136,1
    - Dst: As
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:139,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:141,1
    - Dst: ComPtr::EnumPins
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:141,1
    - Dst: ComPtr::Next
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:145,1
    - Dst: Get
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:147,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - ' pXbar'
    - PinIndex
    - IsInputPin
    - ' pPin'
    argTypes:
    - ComPtr<IAMCrossbar>
    - LONG*
    - BOOL
    - ComPtr<IPin>
    assertStmts:
    - condition: (!PinIndex)
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/vlc/modules/access/dshow/crossbar.cpp
    constantsTouched: []
    func_position:
      end: 159
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 159
    functionName: dshow::GetCrossbarIndexFromIPin
    functionSourceFile: /src/vlc/modules/access/dshow/crossbar.cpp
    functionUses: 1
    functionsReached:
    - assert
    - ComPtr::EnumPins
    - As
    - ComPtr::Next
    - Get
    - ComPtr::Get
    - SUCCEEDED
    - get_PinCounts
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT GetCrossbarIndexFromIPin( ComPtr<IAMCrossbar> & pXbar, LONG
      * PinIndex,\n                                         BOOL IsInputPin, ComPtr<IPin>
      & pPin )"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:170,1
    - Dst: ConnectedTo
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:170,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:174,1
    - Dst: ComPtr::QueryPinInfo
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:174,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:181,1
    - Dst: PIN_INFO::pFilter::QueryInterface
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:181,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:181,1
    - Dst: PIN_INFO::pFilter::Release
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:183,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:188,1
    - Dst: ComPtr::get_PinCounts
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:188,1
    - Dst: PIN_INFO::pFilter::Release
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:190,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:197,1
    - Dst: dshow::GetCrossbarIndexFromIPin
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:197,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:199,1
    - Dst: ComPtr::get_CrossbarPinInfo
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:199,1
    - Dst: PIN_INFO::pFilter::Release
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:203,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:214,1
    - Dst: ComPtr::get_IsRoutedTo
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:214,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:217,1
    - Dst: ComPtr::get_CrossbarPinInfo
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:217,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:223,1
    - Dst: dshow::GetPhysicalPinName
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:224,1
    - Dst: dshow::GetPhysicalPinName
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:225,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:243,1
    - Dst: ComPtr::get_CrossbarPinInfo
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:243,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:250,1
    - Dst: ComPtr::CanRoute
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:250,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:254,1
    - Dst: dshow::GetCrossbarIPinAtIndex
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:254,1
    - Dst: dshow::FindCrossbarRoutes
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:257,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:271,1
    - Dst: dshow::GetPhysicalPinName
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:273,1
    - Dst: dshow::GetPhysicalPinName
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:274,1
    - Dst: PIN_INFO::pFilter::Release
      Src: /src/vlc/modules/access/dshow/crossbar.cpp:279,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 51
    argCount: 5
    argNames:
    - p_this
    - p_sys
    - ' p_input_pin'
    - physicalType
    - depth
    argTypes:
    - vlc_object_t*
    - access_sys_t*
    - ComPtr<IPin>
    - LONG
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 282
    functionName: dshow::FindCrossbarRoutes
    functionSourceFile: /src/vlc/modules/access/dshow/crossbar.cpp
    functionUses: 4
    functionsReached:
    - PIN_INFO::pFilter::Release
    - ComPtr::get_CrossbarPinInfo
    - ComPtr::QueryPinInfo
    - dshow::GetPhysicalPinName
    - dshow::FindCrossbarRoutes
    - FAILED
    - PIN_INFO::pFilter::QueryInterface
    - IID_PPV_ARGS
    - ComPtr::get_PinCounts
    - dshow::GetCrossbarIPinAtIndex
    - ComPtr::get_IsRoutedTo
    - dshow::GetCrossbarIndexFromIPin
    - SUCCEEDED
    - msg_Dbg
    - ComPtr::CanRoute
    - ConnectedTo
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT FindCrossbarRoutes( vlc_object_t *p_this, access_sys_t *p_sys,\n
      \                           ComPtr<IPin> & p_input_pin, LONG physicalType, int
      depth )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/access/dshow/filter.cpp:58,1
    - Dst: pUnk::Release
      Src: /src/vlc/modules/access/dshow/filter.cpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' mt'
    argTypes:
    - AM_MEDIA_TYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 67
    functionName: dshow::FreeMediaType
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 2
    functionsReached:
    - pUnk::Release
    - CoTaskMemFree
    linkageType: ''
    returnType: void
    signature: void FreeMediaType( AM_MEDIA_TYPE& mt )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CoTaskMemAlloc
      Src: /src/vlc/modules/access/dshow/filter.cpp:78,1
    - Dst: CopyMemory
      Src: /src/vlc/modules/access/dshow/filter.cpp:86,1
    - Dst: AM_MEDIA_TYPE*::pUnk::AddRef
      Src: /src/vlc/modules/access/dshow/filter.cpp:92,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - pmtTarget
    - pmtSource
    argTypes:
    - AM_MEDIA_TYPE*
    - AM_MEDIA_TYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 96
    functionName: dshow::CopyMediaType
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 2
    functionsReached:
    - CopyMemory
    - AM_MEDIA_TYPE*::pUnk::AddRef
    - CoTaskMemAlloc
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT CopyMediaType( AM_MEDIA_TYPE *pmtTarget,\n                              const
      AM_MEDIA_TYPE *pmtSource )"
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/access/dshow/filter.cpp:109,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/access/dshow/filter.cpp:111,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/access/dshow/filter.cpp:113,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/access/dshow/filter.cpp:147,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/access/dshow/filter.cpp:194,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/access/dshow/filter.cpp:202,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/access/dshow/filter.cpp:204,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 76
    argCount: 1
    argNames:
    - media_type
    argTypes:
    - AM_MEDIA_TYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 208
    functionName: dshow::GetFourCCFromMediaType
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 4
    functionsReached:
    - VLC_FOURCC
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t GetFourCCFromMediaType( const AM_MEDIA_TYPE &media_type
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - _p_input
    - _p_sys
    - _p_filter
    - mt
    - mt_count
    argTypes:
    - vlc_object_t*
    - access_sys_t*
    - CaptureFilter*
    - AM_MEDIA_TYPE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 222
    functionName: dshow::CapturePin::CapturePin
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CapturePin::CapturePin( vlc_object_t *_p_input, access_sys_t
      *_p_sys,\n                        CaptureFilter* _p_filter,\n                        AM_MEDIA_TYPE
      *mt, size_t mt_count )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:227,1
    - Dst: FreeMediaType
      Src: /src/vlc/modules/access/dshow/filter.cpp:231,1
    - Dst: FreeMediaType
      Src: /src/vlc/modules/access/dshow/filter.cpp:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 234
    functionName: CapturePin::~CapturePin()
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - FreeMediaType
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void CapturePin::~CapturePin()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:247,1
    - Dst: size
      Src: /src/vlc/modules/access/dshow/filter.cpp:247,1
    - Dst: empty
      Src: /src/vlc/modules/access/dshow/filter.cpp:250,1
    - Dst: std::deque<VLCMediaSample>::swap
      Src: /src/vlc/modules/access/dshow/filter.cpp:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - external_queue
    argTypes:
    - std::deque<VLCMediaSample>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 256
    functionName: dshow::CapturePin::CustomGetSamples
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - std::deque<VLCMediaSample>::swap
    - size
    - empty
    - msg_Dbg
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT CapturePin::CustomGetSamples( std::deque<VLCMediaSample> &external_queue
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:270,1
    - Dst: empty
      Src: /src/vlc/modules/access/dshow/filter.cpp:273,1
    - Dst: back
      Src: /src/vlc/modules/access/dshow/filter.cpp:275,1
    - Dst: pop_back
      Src: /src/vlc/modules/access/dshow/filter.cpp:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - vlc_sample
    argTypes:
    - VLCMediaSample*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 280
    functionName: dshow::CapturePin::CustomGetSample
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - pop_back
    - empty
    - msg_Dbg
    - back
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT CapturePin::CustomGetSample( VLCMediaSample *vlc_sample )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: '&CapturePin::CustomGetMediaType()'
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AM_MEDIA_TYPE
    signature: AM_MEDIA_TYPE &CapturePin::CustomGetMediaType()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:291,1
    - Dst: dshow::CapturePin::AddRef
      Src: /src/vlc/modules/access/dshow/filter.cpp:297,1
    - Dst: dshow::CapturePin::AddRef
      Src: /src/vlc/modules/access/dshow/filter.cpp:303,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:310,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/access/dshow/filter.cpp:313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - riid
    - ppv
    argTypes:
    - REFIID
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 321
    functionName: dshow::CapturePin::QueryInterface
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - dshow::CapturePin::AddRef
    - static_cast<int>
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::QueryInterface(REFIID riid, void **ppv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 330
    functionName: dshow::CapturePin::AddRef
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 1
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void CapturePin::AddRef()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:334,1
    - Dst: InterlockedDecrement
      Src: /src/vlc/modules/access/dshow/filter.cpp:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 340
    functionName: dshow::CapturePin::Release
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - InterlockedDecrement
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void CapturePin::Release()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:348,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:354,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:363,1
    - Dst: GetFourCCFromMediaType
      Src: /src/vlc/modules/access/dshow/filter.cpp:367,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:369,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:379,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:385,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - pmt
    argTypes:
    - AM_MEDIA_TYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 387
    functionName: dshow::CapturePin::Connect
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - GetFourCCFromMediaType
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: "STDMETHODIMP CapturePin::Connect( IPin *,\n                                  const
      AM_MEDIA_TYPE *pmt )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:393,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:399,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:405,1
    - Dst: dshow::CapturePin::QueryAccept
      Src: /src/vlc/modules/access/dshow/filter.cpp:409,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:411,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:416,1
    - Dst: FreeMediaType
      Src: /src/vlc/modules/access/dshow/filter.cpp:420,1
    - Dst: CopyMediaType
      Src: /src/vlc/modules/access/dshow/filter.cpp:421,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - pConnector
    - pmt
    argTypes:
    - IPin*
    - AM_MEDIA_TYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 422
    functionName: dshow::CapturePin::ReceiveConnection
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - dshow::CapturePin::QueryAccept
    - FreeMediaType
    - msg_Dbg
    - CopyMediaType
    linkageType: ''
    returnType: STDMETHODIMP
    signature: "STDMETHODIMP CapturePin::ReceiveConnection( IPin * pConnector,\n                                            const
      AM_MEDIA_TYPE *pmt )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:427,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:431,1
    - Dst: Reset
      Src: /src/vlc/modules/access/dshow/filter.cpp:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 440
    functionName: dshow::CapturePin::Disconnect
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - Reset
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::Disconnect()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:445,1
    - Dst: CopyTo
      Src: /src/vlc/modules/access/dshow/filter.cpp:449,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pPin
    argTypes:
    - IPin**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 454
    functionName: dshow::CapturePin::ConnectedTo
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - CopyTo
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::ConnectedTo( IPin **pPin )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:459,1
    - Dst: CopyMediaType
      Src: /src/vlc/modules/access/dshow/filter.cpp:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pmt
    argTypes:
    - AM_MEDIA_TYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 464
    functionName: dshow::CapturePin::ConnectionMediaType
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - CopyMediaType
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::ConnectionMediaType( AM_MEDIA_TYPE *pmt )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:468,1
    - Dst: dshow::CapturePin::AddRef
      Src: /src/vlc/modules/access/dshow/filter.cpp:472,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/dshow/filter.cpp:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - PIN_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 478
    functionName: dshow::CapturePin::QueryPinInfo
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - msg_Dbg
    - dshow::CapturePin::AddRef
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::QueryPinInfo( PIN_INFO * pInfo )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pPinDir
    argTypes:
    - PIN_DIRECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 487
    functionName: dshow::CapturePin::QueryDirection
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::QueryDirection( PIN_DIRECTION * pPinDir )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - Id
    argTypes:
    - LPWSTR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 497
    functionName: dshow::CapturePin::QueryId
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::QueryId( LPWSTR * Id )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:502,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:508,1
    - Dst: GetFourCCFromMediaType
      Src: /src/vlc/modules/access/dshow/filter.cpp:512,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:515,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:526,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:530,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:539,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:548,1
    - Dst: FreeMediaType
      Src: /src/vlc/modules/access/dshow/filter.cpp:554,1
    - Dst: CopyMediaType
      Src: /src/vlc/modules/access/dshow/filter.cpp:555,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - pmt
    argTypes:
    - AM_MEDIA_TYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 559
    functionName: dshow::CapturePin::QueryAccept
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 1
    functionsReached:
    - FreeMediaType
    - GetFourCCFromMediaType
    - msg_Dbg
    - CopyMediaType
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::QueryAccept( const AM_MEDIA_TYPE *pmt )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:563,1
    - Dst: CaptureEnumMediaTypes::CaptureEnumMediaTypes
      Src: /src/vlc/modules/access/dshow/filter.cpp:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ppEnum
    argTypes:
    - IEnumMediaTypes**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 571
    functionName: dshow::CapturePin::EnumMediaTypes
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - CaptureEnumMediaTypes::CaptureEnumMediaTypes
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::EnumMediaTypes( IEnumMediaTypes **ppEnum )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 578
    functionName: dshow::CapturePin::QueryInternalConnections
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::QueryInternalConnections( IPin**, ULONG *
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 585
    functionName: dshow::CapturePin::EndOfStream
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::EndOfStream( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 592
    functionName: dshow::CapturePin::BeginFlush
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::BeginFlush( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:596,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/dshow/filter.cpp:599,1
    - Dst: empty
      Src: /src/vlc/modules/access/dshow/filter.cpp:600,1
    - Dst: pop_back
      Src: /src/vlc/modules/access/dshow/filter.cpp:602,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/dshow/filter.cpp:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 607
    functionName: dshow::CapturePin::EndFlush
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - pop_back
    - empty
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::EndFlush( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 614
    functionName: dshow::CapturePin::NewSegment
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::NewSegment( REFERENCE_TIME, REFERENCE_TIME,
      double )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 624
    functionName: dshow::CapturePin::GetAllocator
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::GetAllocator( IMemAllocator ** )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 632
    functionName: dshow::CapturePin::NotifyAllocator
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::NotifyAllocator( IMemAllocator *, BOOL )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 640
    functionName: dshow::CapturePin::GetAllocatorRequirements
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::GetAllocatorRequirements( ALLOCATOR_PROPERTIES
      * )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:644,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/dshow/filter.cpp:647,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/dshow/filter.cpp:649,1
    - Dst: push_front
      Src: /src/vlc/modules/access/dshow/filter.cpp:650,1
    - Dst: size
      Src: /src/vlc/modules/access/dshow/filter.cpp:653,1
    - Dst: pop_back
      Src: /src/vlc/modules/access/dshow/filter.cpp:655,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:656,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/access/dshow/filter.cpp:659,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/dshow/filter.cpp:660,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - pSample
    argTypes:
    - IMediaSample*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 663
    functionName: dshow::CapturePin::Receive
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - size
    - pop_back
    - push_front
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::Receive( IMediaSample *pSample )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dshow::CapturePin::Receive
      Src: /src/vlc/modules/access/dshow/filter.cpp:673,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - pSamples
    - nSamples
    - nSamplesProcessed
    argTypes:
    - IMediaSample**
    - long
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 664
    functionDepth: 2
    functionLinenumber: 664
    functionLinenumberEnd: 678
    functionName: dshow::CapturePin::ReceiveMultiple
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - dshow::CapturePin::Receive
    linkageType: ''
    returnType: STDMETHODIMP
    signature: "STDMETHODIMP CapturePin::ReceiveMultiple( IMediaSample **pSamples,\n
      \                                         long nSamples,\n                                          long
      *nSamplesProcessed )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 686
    functionName: dshow::CapturePin::ReceiveCanBlock
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::ReceiveCanBlock( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CapturePin::CapturePin
      Src: /src/vlc/modules/access/dshow/filter.cpp:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - _p_input
    - p_sys
    - mt
    - mt_count
    argTypes:
    - vlc_object_t*
    - access_sys_t*
    - AM_MEDIA_TYPE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 697
    functionName: dshow::CaptureFilter::CaptureFilter
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - CapturePin::CapturePin
    linkageType: ''
    returnType: void
    signature: "void CaptureFilter::CaptureFilter( vlc_object_t *_p_input, access_sys_t
      *p_sys,\n                              AM_MEDIA_TYPE *mt, size_t mt_count )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 704
    functionName: CaptureFilter::~CaptureFilter()
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void CaptureFilter::~CaptureFilter()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:710,1
    - Dst: dshow::CaptureFilter::AddRef
      Src: /src/vlc/modules/access/dshow/filter.cpp:715,1
    - Dst: dshow::CaptureFilter::AddRef
      Src: /src/vlc/modules/access/dshow/filter.cpp:721,1
    - Dst: dshow::CaptureFilter::AddRef
      Src: /src/vlc/modules/access/dshow/filter.cpp:727,1
    - Dst: dshow::CaptureFilter::AddRef
      Src: /src/vlc/modules/access/dshow/filter.cpp:733,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:740,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/access/dshow/filter.cpp:743,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - riid
    - ppv
    argTypes:
    - REFIID
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 751
    functionName: dshow::CaptureFilter::QueryInterface
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - dshow::CaptureFilter::AddRef
    - msg_Dbg
    - static_cast<int>
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureFilter::QueryInterface( REFIID riid, void **ppv
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 759
    functionName: dshow::CaptureFilter::AddRef
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 1
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void CaptureFilter::AddRef()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:763,1
    - Dst: InterlockedDecrement
      Src: /src/vlc/modules/access/dshow/filter.cpp:766,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 769
    functionName: dshow::CaptureFilter::Release
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - InterlockedDecrement
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void CaptureFilter::Release()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 778
    functionName: dshow::CaptureFilter::GetClassID
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureFilter::GetClassID(CLSID *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - State
    argTypes:
    - FILTER_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 781
    functionDepth: 1
    functionLinenumber: 781
    functionLinenumberEnd: 789
    functionName: dshow::CaptureFilter::GetState
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureFilter::GetState(DWORD, FILTER_STATE *State)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 797
    functionName: dshow::CaptureFilter::SetSyncSource
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureFilter::SetSyncSource(IReferenceClock *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pClock
    argTypes:
    - IReferenceClock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 806
    functionName: dshow::CaptureFilter::GetSyncSource
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureFilter::GetSyncSource(IReferenceClock **pClock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:810,1
    - Dst: EndFlush
      Src: /src/vlc/modules/access/dshow/filter.cpp:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 807
    functionDepth: 1
    functionLinenumber: 807
    functionLinenumberEnd: 817
    functionName: dshow::CaptureFilter::Stop
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - EndFlush
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureFilter::Stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 826
    functionName: dshow::CaptureFilter::Pause
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureFilter::Pause()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 835
    functionName: dshow::CaptureFilter::Run
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureFilter::Run(REFERENCE_TIME)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:841,1
    - Dst: CaptureEnumPins::CaptureEnumPins
      Src: /src/vlc/modules/access/dshow/filter.cpp:845,1
    - Dst: dshow::CaptureFilter::AddRef
      Src: /src/vlc/modules/access/dshow/filter.cpp:847,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ppEnum
    argTypes:
    - IEnumPins**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 838
    functionDepth: 1
    functionLinenumber: 838
    functionLinenumberEnd: 849
    functionName: dshow::CaptureFilter::EnumPins
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - dshow::CaptureFilter::AddRef
    - msg_Dbg
    - CaptureEnumPins::CaptureEnumPins
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureFilter::EnumPins( IEnumPins ** ppEnum )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 856
    functionName: dshow::CaptureFilter::FindPin
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureFilter::FindPin( LPCWSTR, IPin ** )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:860,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/dshow/filter.cpp:863,1
    - Dst: CopyTo
      Src: /src/vlc/modules/access/dshow/filter.cpp:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - FILTER_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 868
    functionName: dshow::CaptureFilter::QueryFilterInfo
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - CopyTo
    - memcpy
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureFilter::QueryFilterInfo( FILTER_INFO * pInfo )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pGraph
    argTypes:
    - IFilterGraph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 879
    functionName: dshow::CaptureFilter::JoinFilterGraph
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: "STDMETHODIMP CaptureFilter::JoinFilterGraph( IFilterGraph * pGraph,\n
      \                                            LPCWSTR )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 886
    functionName: dshow::CaptureFilter::QueryVendorInfo
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureFilter::QueryVendorInfo( LPWSTR* )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 892
    functionName: '& CaptureFilter::CustomGetPin()'
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ComPtr<CapturePin>
    signature: ComPtr<CapturePin> & CaptureFilter::CustomGetPin()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - _p_input
    - _p_filter
    - pEnumPins
    argTypes:
    - vlc_object_t*
    - ComPtr<CaptureFilter>
    - ComPtr<CaptureEnumPins>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 913
    functionName: dshow::CaptureEnumPins::CaptureEnumPins
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CaptureEnumPins::CaptureEnumPins( vlc_object_t *_p_input,\n                                  ComPtr<CaptureFilter>
      _p_filter,\n                                  ComPtr<CaptureEnumPins> pEnumPins
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 915
    functionDepth: 1
    functionLinenumber: 915
    functionLinenumberEnd: 920
    functionName: CaptureEnumPins::~CaptureEnumPins()
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void CaptureEnumPins::~CaptureEnumPins()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:926,1
    - Dst: dshow::CaptureEnumPins::AddRef
      Src: /src/vlc/modules/access/dshow/filter.cpp:932,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - riid
    - ppv
    argTypes:
    - REFIID
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 923
    functionDepth: 1
    functionLinenumber: 923
    functionLinenumberEnd: 941
    functionName: dshow::CaptureEnumPins::QueryInterface
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - dshow::CaptureEnumPins::AddRef
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureEnumPins::QueryInterface( REFIID riid, void **ppv
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 949
    functionName: dshow::CaptureEnumPins::AddRef
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 1
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void CaptureEnumPins::AddRef()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:953,1
    - Dst: InterlockedDecrement
      Src: /src/vlc/modules/access/dshow/filter.cpp:956,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 950
    functionDepth: 1
    functionLinenumber: 950
    functionLinenumberEnd: 959
    functionName: dshow::CaptureEnumPins::Release
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - InterlockedDecrement
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void CaptureEnumPins::Release()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:966,1
    - Dst: CustomGetPin
      Src: /src/vlc/modules/access/dshow/filter.cpp:973,1
    - Dst: ComPtr::CopyTo
      Src: /src/vlc/modules/access/dshow/filter.cpp:974,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - cPins
    - ppPins
    - pcFetched
    argTypes:
    - ULONG
    - IPin**
    - ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 982
    functionName: dshow::CaptureEnumPins::Next
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - CustomGetPin
    - ComPtr::CopyTo
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: "STDMETHODIMP CaptureEnumPins::Next( ULONG cPins, IPin ** ppPins,\n
      \                                   ULONG * pcFetched )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:986,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - cPins
    argTypes:
    - ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 997
    functionName: dshow::CaptureEnumPins::Skip
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureEnumPins::Skip( ULONG cPins )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1006
    functionName: dshow::CaptureEnumPins::Reset
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureEnumPins::Reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:1010,1
    - Dst: CaptureEnumPins::CaptureEnumPins
      Src: /src/vlc/modules/access/dshow/filter.cpp:1013,1
    - Dst: dshow::CaptureEnumPins::AddRef
      Src: /src/vlc/modules/access/dshow/filter.cpp:1015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ppEnum
    argTypes:
    - IEnumPins**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1007
    functionDepth: 1
    functionLinenumber: 1007
    functionLinenumberEnd: 1017
    functionName: dshow::CaptureEnumPins::Clone
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - dshow::CaptureEnumPins::AddRef
    - CaptureEnumPins::CaptureEnumPins
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureEnumPins::Clone( IEnumPins **ppEnum )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CopyMediaType
      Src: /src/vlc/modules/access/dshow/filter.cpp:1029,1
    - Dst: CopyMediaType
      Src: /src/vlc/modules/access/dshow/filter.cpp:1034,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - _p_input
    - _p_pin
    - pEnumMediaTypes
    argTypes:
    - vlc_object_t*
    - ComPtr<CapturePin>
    - CaptureEnumMediaTypes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1037
    functionName: dshow::CaptureEnumMediaTypes::CaptureEnumMediaTypes
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - CopyMediaType
    linkageType: ''
    returnType: void
    signature: "void CaptureEnumMediaTypes::CaptureEnumMediaTypes( vlc_object_t *_p_input,\n
      \   ComPtr<CapturePin> _p_pin, CaptureEnumMediaTypes *pEnumMediaTypes )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:1042,1
    - Dst: FreeMediaType
      Src: /src/vlc/modules/access/dshow/filter.cpp:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1039
    functionDepth: 1
    functionLinenumber: 1039
    functionLinenumberEnd: 1045
    functionName: CaptureEnumMediaTypes::~CaptureEnumMediaTypes()
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - FreeMediaType
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void CaptureEnumMediaTypes::~CaptureEnumMediaTypes()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:1051,1
    - Dst: dshow::CaptureEnumMediaTypes::AddRef
      Src: /src/vlc/modules/access/dshow/filter.cpp:1057,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - riid
    - ppv
    argTypes:
    - REFIID
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1066
    functionName: dshow::CaptureEnumMediaTypes::QueryInterface
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - dshow::CaptureEnumMediaTypes::AddRef
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureEnumMediaTypes::QueryInterface( REFIID riid, void
      **ppv )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:1070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1067
    functionDepth: 1
    functionLinenumber: 1067
    functionLinenumberEnd: 1074
    functionName: dshow::CaptureEnumMediaTypes::AddRef
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 1
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void CaptureEnumMediaTypes::AddRef()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:1078,1
    - Dst: InterlockedDecrement
      Src: /src/vlc/modules/access/dshow/filter.cpp:1081,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1075
    functionDepth: 1
    functionLinenumber: 1075
    functionLinenumberEnd: 1084
    functionName: dshow::CaptureEnumMediaTypes::Release
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - InterlockedDecrement
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void CaptureEnumMediaTypes::Release()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:1092,1
    - Dst: CoTaskMemAlloc
      Src: /src/vlc/modules/access/dshow/filter.cpp:1114,1
    - Dst: CopyMediaType
      Src: /src/vlc/modules/access/dshow/filter.cpp:1115,1
    - Dst: CoTaskMemAlloc
      Src: /src/vlc/modules/access/dshow/filter.cpp:1125,1
    - Dst: CopyMediaType
      Src: /src/vlc/modules/access/dshow/filter.cpp:1126,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - cMediaTypes
    - ppMediaTypes
    - pcFetched
    argTypes:
    - ULONG
    - AM_MEDIA_TYPE**
    - ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1087
    functionDepth: 1
    functionLinenumber: 1087
    functionLinenumberEnd: 1137
    functionName: dshow::CaptureEnumMediaTypes::Next
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - CopyMediaType
    - msg_Dbg
    - CoTaskMemAlloc
    linkageType: ''
    returnType: STDMETHODIMP
    signature: "STDMETHODIMP CaptureEnumMediaTypes::Next( ULONG cMediaTypes,\n                                          AM_MEDIA_TYPE
      ** ppMediaTypes,\n                                          ULONG * pcFetched
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:1146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - cMediaTypes
    argTypes:
    - ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1138
    functionDepth: 1
    functionLinenumber: 1138
    functionLinenumberEnd: 1151
    functionName: dshow::CaptureEnumMediaTypes::Skip
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureEnumMediaTypes::Skip( ULONG cMediaTypes )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:1155,1
    - Dst: FreeMediaType
      Src: /src/vlc/modules/access/dshow/filter.cpp:1158,1
    - Dst: CopyMediaType
      Src: /src/vlc/modules/access/dshow/filter.cpp:1159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1152
    functionDepth: 1
    functionLinenumber: 1152
    functionLinenumberEnd: 1162
    functionName: dshow::CaptureEnumMediaTypes::Reset
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - FreeMediaType
    - msg_Dbg
    - CopyMediaType
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureEnumMediaTypes::Reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:1166,1
    - Dst: CaptureEnumMediaTypes::CaptureEnumMediaTypes
      Src: /src/vlc/modules/access/dshow/filter.cpp:1169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ppEnum
    argTypes:
    - IEnumMediaTypes**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1163
    functionDepth: 1
    functionLinenumber: 1163
    functionLinenumberEnd: 1173
    functionName: dshow::CaptureEnumMediaTypes::Clone
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - CaptureEnumMediaTypes::CaptureEnumMediaTypes
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureEnumMediaTypes::Clone( IEnumMediaTypes **ppEnum
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/access/dshow/filter.cpp:58,1
    - Dst: pUnk::Release
      Src: /src/vlc/modules/access/dshow/filter.cpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' mt'
    argTypes:
    - AM_MEDIA_TYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 67
    functionName: dshow::FreeMediaType
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 2
    functionsReached:
    - pUnk::Release
    - CoTaskMemFree
    linkageType: ''
    returnType: void
    signature: void FreeMediaType( AM_MEDIA_TYPE& mt )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CoTaskMemAlloc
      Src: /src/vlc/modules/access/dshow/filter.cpp:78,1
    - Dst: CopyMemory
      Src: /src/vlc/modules/access/dshow/filter.cpp:86,1
    - Dst: AM_MEDIA_TYPE*::pUnk::AddRef
      Src: /src/vlc/modules/access/dshow/filter.cpp:92,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - pmtTarget
    - pmtSource
    argTypes:
    - AM_MEDIA_TYPE*
    - AM_MEDIA_TYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 96
    functionName: dshow::CopyMediaType
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 2
    functionsReached:
    - CopyMemory
    - AM_MEDIA_TYPE*::pUnk::AddRef
    - CoTaskMemAlloc
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT CopyMediaType( AM_MEDIA_TYPE *pmtTarget,\n                              const
      AM_MEDIA_TYPE *pmtSource )"
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/access/dshow/filter.cpp:109,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/access/dshow/filter.cpp:111,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/access/dshow/filter.cpp:113,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/access/dshow/filter.cpp:147,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/access/dshow/filter.cpp:194,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/access/dshow/filter.cpp:202,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/access/dshow/filter.cpp:204,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 76
    argCount: 1
    argNames:
    - media_type
    argTypes:
    - AM_MEDIA_TYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 208
    functionName: dshow::GetFourCCFromMediaType
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 4
    functionsReached:
    - VLC_FOURCC
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t GetFourCCFromMediaType( const AM_MEDIA_TYPE &media_type
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - _p_input
    - _p_sys
    - _p_filter
    - mt
    - mt_count
    argTypes:
    - vlc_object_t*
    - access_sys_t*
    - CaptureFilter*
    - AM_MEDIA_TYPE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 222
    functionName: dshow::CapturePin::CapturePin
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CapturePin::CapturePin( vlc_object_t *_p_input, access_sys_t
      *_p_sys,\n                        CaptureFilter* _p_filter,\n                        AM_MEDIA_TYPE
      *mt, size_t mt_count )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:227,1
    - Dst: FreeMediaType
      Src: /src/vlc/modules/access/dshow/filter.cpp:231,1
    - Dst: FreeMediaType
      Src: /src/vlc/modules/access/dshow/filter.cpp:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 234
    functionName: CapturePin::~CapturePin()
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - FreeMediaType
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void CapturePin::~CapturePin()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:247,1
    - Dst: size
      Src: /src/vlc/modules/access/dshow/filter.cpp:247,1
    - Dst: empty
      Src: /src/vlc/modules/access/dshow/filter.cpp:250,1
    - Dst: std::deque<VLCMediaSample>::swap
      Src: /src/vlc/modules/access/dshow/filter.cpp:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - external_queue
    argTypes:
    - std::deque<VLCMediaSample>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 256
    functionName: dshow::CapturePin::CustomGetSamples
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - std::deque<VLCMediaSample>::swap
    - size
    - empty
    - msg_Dbg
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT CapturePin::CustomGetSamples( std::deque<VLCMediaSample> &external_queue
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:270,1
    - Dst: empty
      Src: /src/vlc/modules/access/dshow/filter.cpp:273,1
    - Dst: back
      Src: /src/vlc/modules/access/dshow/filter.cpp:275,1
    - Dst: pop_back
      Src: /src/vlc/modules/access/dshow/filter.cpp:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - vlc_sample
    argTypes:
    - VLCMediaSample*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 280
    functionName: dshow::CapturePin::CustomGetSample
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - pop_back
    - empty
    - msg_Dbg
    - back
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT CapturePin::CustomGetSample( VLCMediaSample *vlc_sample )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: '&CapturePin::CustomGetMediaType()'
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AM_MEDIA_TYPE
    signature: AM_MEDIA_TYPE &CapturePin::CustomGetMediaType()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:291,1
    - Dst: dshow::CapturePin::AddRef
      Src: /src/vlc/modules/access/dshow/filter.cpp:297,1
    - Dst: dshow::CapturePin::AddRef
      Src: /src/vlc/modules/access/dshow/filter.cpp:303,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:310,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/access/dshow/filter.cpp:313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - riid
    - ppv
    argTypes:
    - REFIID
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 321
    functionName: dshow::CapturePin::QueryInterface
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - dshow::CapturePin::AddRef
    - static_cast<int>
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::QueryInterface(REFIID riid, void **ppv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 330
    functionName: dshow::CapturePin::AddRef
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 3
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void CapturePin::AddRef()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:334,1
    - Dst: InterlockedDecrement
      Src: /src/vlc/modules/access/dshow/filter.cpp:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 340
    functionName: dshow::CapturePin::Release
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - InterlockedDecrement
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void CapturePin::Release()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:348,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:354,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:363,1
    - Dst: GetFourCCFromMediaType
      Src: /src/vlc/modules/access/dshow/filter.cpp:367,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:369,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:379,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:385,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - pmt
    argTypes:
    - AM_MEDIA_TYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 387
    functionName: dshow::CapturePin::Connect
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - GetFourCCFromMediaType
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: "STDMETHODIMP CapturePin::Connect( IPin *,\n                                  const
      AM_MEDIA_TYPE *pmt )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:393,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:399,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:405,1
    - Dst: dshow::CapturePin::QueryAccept
      Src: /src/vlc/modules/access/dshow/filter.cpp:409,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:411,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:416,1
    - Dst: FreeMediaType
      Src: /src/vlc/modules/access/dshow/filter.cpp:420,1
    - Dst: CopyMediaType
      Src: /src/vlc/modules/access/dshow/filter.cpp:421,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - pConnector
    - pmt
    argTypes:
    - IPin*
    - AM_MEDIA_TYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 422
    functionName: dshow::CapturePin::ReceiveConnection
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - dshow::CapturePin::QueryAccept
    - FreeMediaType
    - msg_Dbg
    - CopyMediaType
    linkageType: ''
    returnType: STDMETHODIMP
    signature: "STDMETHODIMP CapturePin::ReceiveConnection( IPin * pConnector,\n                                            const
      AM_MEDIA_TYPE *pmt )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:427,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:431,1
    - Dst: Reset
      Src: /src/vlc/modules/access/dshow/filter.cpp:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 440
    functionName: dshow::CapturePin::Disconnect
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - Reset
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::Disconnect()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:445,1
    - Dst: CopyTo
      Src: /src/vlc/modules/access/dshow/filter.cpp:449,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pPin
    argTypes:
    - IPin**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 454
    functionName: dshow::CapturePin::ConnectedTo
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - CopyTo
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::ConnectedTo( IPin **pPin )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:459,1
    - Dst: CopyMediaType
      Src: /src/vlc/modules/access/dshow/filter.cpp:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pmt
    argTypes:
    - AM_MEDIA_TYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 464
    functionName: dshow::CapturePin::ConnectionMediaType
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - CopyMediaType
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::ConnectionMediaType( AM_MEDIA_TYPE *pmt )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:468,1
    - Dst: dshow::CapturePin::AddRef
      Src: /src/vlc/modules/access/dshow/filter.cpp:472,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/dshow/filter.cpp:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - PIN_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 478
    functionName: dshow::CapturePin::QueryPinInfo
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - msg_Dbg
    - dshow::CapturePin::AddRef
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::QueryPinInfo( PIN_INFO * pInfo )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pPinDir
    argTypes:
    - PIN_DIRECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 487
    functionName: dshow::CapturePin::QueryDirection
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::QueryDirection( PIN_DIRECTION * pPinDir )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - Id
    argTypes:
    - LPWSTR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 497
    functionName: dshow::CapturePin::QueryId
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::QueryId( LPWSTR * Id )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:502,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:508,1
    - Dst: GetFourCCFromMediaType
      Src: /src/vlc/modules/access/dshow/filter.cpp:512,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:515,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:526,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:530,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:539,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:548,1
    - Dst: FreeMediaType
      Src: /src/vlc/modules/access/dshow/filter.cpp:554,1
    - Dst: CopyMediaType
      Src: /src/vlc/modules/access/dshow/filter.cpp:555,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - pmt
    argTypes:
    - AM_MEDIA_TYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 559
    functionName: dshow::CapturePin::QueryAccept
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 2
    functionsReached:
    - FreeMediaType
    - GetFourCCFromMediaType
    - msg_Dbg
    - CopyMediaType
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::QueryAccept( const AM_MEDIA_TYPE *pmt )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:563,1
    - Dst: CaptureEnumMediaTypes::CaptureEnumMediaTypes
      Src: /src/vlc/modules/access/dshow/filter.cpp:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ppEnum
    argTypes:
    - IEnumMediaTypes**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 571
    functionName: dshow::CapturePin::EnumMediaTypes
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - CaptureEnumMediaTypes::CaptureEnumMediaTypes
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::EnumMediaTypes( IEnumMediaTypes **ppEnum )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 578
    functionName: dshow::CapturePin::QueryInternalConnections
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::QueryInternalConnections( IPin**, ULONG *
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 585
    functionName: dshow::CapturePin::EndOfStream
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::EndOfStream( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 592
    functionName: dshow::CapturePin::BeginFlush
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::BeginFlush( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:596,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/dshow/filter.cpp:599,1
    - Dst: empty
      Src: /src/vlc/modules/access/dshow/filter.cpp:600,1
    - Dst: pop_back
      Src: /src/vlc/modules/access/dshow/filter.cpp:602,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/dshow/filter.cpp:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 607
    functionName: dshow::CapturePin::EndFlush
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - pop_back
    - empty
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::EndFlush( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 614
    functionName: dshow::CapturePin::NewSegment
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::NewSegment( REFERENCE_TIME, REFERENCE_TIME,
      double )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 624
    functionName: dshow::CapturePin::GetAllocator
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::GetAllocator( IMemAllocator ** )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 632
    functionName: dshow::CapturePin::NotifyAllocator
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::NotifyAllocator( IMemAllocator *, BOOL )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 640
    functionName: dshow::CapturePin::GetAllocatorRequirements
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::GetAllocatorRequirements( ALLOCATOR_PROPERTIES
      * )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:644,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/dshow/filter.cpp:647,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/dshow/filter.cpp:649,1
    - Dst: push_front
      Src: /src/vlc/modules/access/dshow/filter.cpp:650,1
    - Dst: size
      Src: /src/vlc/modules/access/dshow/filter.cpp:653,1
    - Dst: pop_back
      Src: /src/vlc/modules/access/dshow/filter.cpp:655,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:656,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/access/dshow/filter.cpp:659,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/dshow/filter.cpp:660,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - pSample
    argTypes:
    - IMediaSample*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 663
    functionName: dshow::CapturePin::Receive
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 1
    functionsReached:
    - vlc_tick_now
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - size
    - pop_back
    - push_front
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::Receive( IMediaSample *pSample )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dshow::CapturePin::Receive
      Src: /src/vlc/modules/access/dshow/filter.cpp:673,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - pSamples
    - nSamples
    - nSamplesProcessed
    argTypes:
    - IMediaSample**
    - long
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 664
    functionDepth: 2
    functionLinenumber: 664
    functionLinenumberEnd: 678
    functionName: dshow::CapturePin::ReceiveMultiple
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - dshow::CapturePin::Receive
    linkageType: ''
    returnType: STDMETHODIMP
    signature: "STDMETHODIMP CapturePin::ReceiveMultiple( IMediaSample **pSamples,\n
      \                                         long nSamples,\n                                          long
      *nSamplesProcessed )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 686
    functionName: dshow::CapturePin::ReceiveCanBlock
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CapturePin::ReceiveCanBlock( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CapturePin::CapturePin
      Src: /src/vlc/modules/access/dshow/filter.cpp:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - _p_input
    - p_sys
    - mt
    - mt_count
    argTypes:
    - vlc_object_t*
    - access_sys_t*
    - AM_MEDIA_TYPE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 697
    functionName: dshow::CaptureFilter::CaptureFilter
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - CapturePin::CapturePin
    linkageType: ''
    returnType: void
    signature: "void CaptureFilter::CaptureFilter( vlc_object_t *_p_input, access_sys_t
      *p_sys,\n                              AM_MEDIA_TYPE *mt, size_t mt_count )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 704
    functionName: CaptureFilter::~CaptureFilter()
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void CaptureFilter::~CaptureFilter()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:710,1
    - Dst: dshow::CaptureFilter::AddRef
      Src: /src/vlc/modules/access/dshow/filter.cpp:715,1
    - Dst: dshow::CaptureFilter::AddRef
      Src: /src/vlc/modules/access/dshow/filter.cpp:721,1
    - Dst: dshow::CaptureFilter::AddRef
      Src: /src/vlc/modules/access/dshow/filter.cpp:727,1
    - Dst: dshow::CaptureFilter::AddRef
      Src: /src/vlc/modules/access/dshow/filter.cpp:733,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:740,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/access/dshow/filter.cpp:743,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - riid
    - ppv
    argTypes:
    - REFIID
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 751
    functionName: dshow::CaptureFilter::QueryInterface
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - dshow::CaptureFilter::AddRef
    - msg_Dbg
    - static_cast<int>
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureFilter::QueryInterface( REFIID riid, void **ppv
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 759
    functionName: dshow::CaptureFilter::AddRef
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 3
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void CaptureFilter::AddRef()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:763,1
    - Dst: InterlockedDecrement
      Src: /src/vlc/modules/access/dshow/filter.cpp:766,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 769
    functionName: dshow::CaptureFilter::Release
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - InterlockedDecrement
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void CaptureFilter::Release()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 778
    functionName: dshow::CaptureFilter::GetClassID
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureFilter::GetClassID(CLSID *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - State
    argTypes:
    - FILTER_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 781
    functionDepth: 1
    functionLinenumber: 781
    functionLinenumberEnd: 789
    functionName: dshow::CaptureFilter::GetState
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureFilter::GetState(DWORD, FILTER_STATE *State)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 797
    functionName: dshow::CaptureFilter::SetSyncSource
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureFilter::SetSyncSource(IReferenceClock *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pClock
    argTypes:
    - IReferenceClock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 806
    functionName: dshow::CaptureFilter::GetSyncSource
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureFilter::GetSyncSource(IReferenceClock **pClock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:810,1
    - Dst: EndFlush
      Src: /src/vlc/modules/access/dshow/filter.cpp:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 807
    functionDepth: 1
    functionLinenumber: 807
    functionLinenumberEnd: 817
    functionName: dshow::CaptureFilter::Stop
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - EndFlush
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureFilter::Stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 826
    functionName: dshow::CaptureFilter::Pause
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureFilter::Pause()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 835
    functionName: dshow::CaptureFilter::Run
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureFilter::Run(REFERENCE_TIME)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:841,1
    - Dst: CaptureEnumPins::CaptureEnumPins
      Src: /src/vlc/modules/access/dshow/filter.cpp:845,1
    - Dst: dshow::CaptureFilter::AddRef
      Src: /src/vlc/modules/access/dshow/filter.cpp:847,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ppEnum
    argTypes:
    - IEnumPins**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 838
    functionDepth: 1
    functionLinenumber: 838
    functionLinenumberEnd: 849
    functionName: dshow::CaptureFilter::EnumPins
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - dshow::CaptureFilter::AddRef
    - msg_Dbg
    - CaptureEnumPins::CaptureEnumPins
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureFilter::EnumPins( IEnumPins ** ppEnum )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 856
    functionName: dshow::CaptureFilter::FindPin
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureFilter::FindPin( LPCWSTR, IPin ** )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:860,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/dshow/filter.cpp:863,1
    - Dst: CopyTo
      Src: /src/vlc/modules/access/dshow/filter.cpp:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - FILTER_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 868
    functionName: dshow::CaptureFilter::QueryFilterInfo
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - CopyTo
    - memcpy
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureFilter::QueryFilterInfo( FILTER_INFO * pInfo )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pGraph
    argTypes:
    - IFilterGraph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 879
    functionName: dshow::CaptureFilter::JoinFilterGraph
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: "STDMETHODIMP CaptureFilter::JoinFilterGraph( IFilterGraph * pGraph,\n
      \                                            LPCWSTR )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 886
    functionName: dshow::CaptureFilter::QueryVendorInfo
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureFilter::QueryVendorInfo( LPWSTR* )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 892
    functionName: '& CaptureFilter::CustomGetPin()'
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ComPtr<CapturePin>
    signature: ComPtr<CapturePin> & CaptureFilter::CustomGetPin()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - _p_input
    - _p_filter
    - pEnumPins
    argTypes:
    - vlc_object_t*
    - ComPtr<CaptureFilter>
    - ComPtr<CaptureEnumPins>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 913
    functionName: dshow::CaptureEnumPins::CaptureEnumPins
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CaptureEnumPins::CaptureEnumPins( vlc_object_t *_p_input,\n                                  ComPtr<CaptureFilter>
      _p_filter,\n                                  ComPtr<CaptureEnumPins> pEnumPins
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 915
    functionDepth: 1
    functionLinenumber: 915
    functionLinenumberEnd: 920
    functionName: CaptureEnumPins::~CaptureEnumPins()
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void CaptureEnumPins::~CaptureEnumPins()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:926,1
    - Dst: dshow::CaptureEnumPins::AddRef
      Src: /src/vlc/modules/access/dshow/filter.cpp:932,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - riid
    - ppv
    argTypes:
    - REFIID
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 923
    functionDepth: 1
    functionLinenumber: 923
    functionLinenumberEnd: 941
    functionName: dshow::CaptureEnumPins::QueryInterface
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - dshow::CaptureEnumPins::AddRef
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureEnumPins::QueryInterface( REFIID riid, void **ppv
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 949
    functionName: dshow::CaptureEnumPins::AddRef
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 3
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void CaptureEnumPins::AddRef()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:953,1
    - Dst: InterlockedDecrement
      Src: /src/vlc/modules/access/dshow/filter.cpp:956,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 950
    functionDepth: 1
    functionLinenumber: 950
    functionLinenumberEnd: 959
    functionName: dshow::CaptureEnumPins::Release
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - InterlockedDecrement
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void CaptureEnumPins::Release()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:966,1
    - Dst: CustomGetPin
      Src: /src/vlc/modules/access/dshow/filter.cpp:973,1
    - Dst: ComPtr::CopyTo
      Src: /src/vlc/modules/access/dshow/filter.cpp:974,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - cPins
    - ppPins
    - pcFetched
    argTypes:
    - ULONG
    - IPin**
    - ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 982
    functionName: dshow::CaptureEnumPins::Next
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - CustomGetPin
    - ComPtr::CopyTo
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: "STDMETHODIMP CaptureEnumPins::Next( ULONG cPins, IPin ** ppPins,\n
      \                                   ULONG * pcFetched )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:986,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - cPins
    argTypes:
    - ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 997
    functionName: dshow::CaptureEnumPins::Skip
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureEnumPins::Skip( ULONG cPins )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1006
    functionName: dshow::CaptureEnumPins::Reset
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureEnumPins::Reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:1010,1
    - Dst: CaptureEnumPins::CaptureEnumPins
      Src: /src/vlc/modules/access/dshow/filter.cpp:1013,1
    - Dst: dshow::CaptureEnumPins::AddRef
      Src: /src/vlc/modules/access/dshow/filter.cpp:1015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ppEnum
    argTypes:
    - IEnumPins**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1007
    functionDepth: 1
    functionLinenumber: 1007
    functionLinenumberEnd: 1017
    functionName: dshow::CaptureEnumPins::Clone
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - dshow::CaptureEnumPins::AddRef
    - CaptureEnumPins::CaptureEnumPins
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureEnumPins::Clone( IEnumPins **ppEnum )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CopyMediaType
      Src: /src/vlc/modules/access/dshow/filter.cpp:1029,1
    - Dst: CopyMediaType
      Src: /src/vlc/modules/access/dshow/filter.cpp:1034,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - _p_input
    - _p_pin
    - pEnumMediaTypes
    argTypes:
    - vlc_object_t*
    - ComPtr<CapturePin>
    - CaptureEnumMediaTypes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1037
    functionName: dshow::CaptureEnumMediaTypes::CaptureEnumMediaTypes
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - CopyMediaType
    linkageType: ''
    returnType: void
    signature: "void CaptureEnumMediaTypes::CaptureEnumMediaTypes( vlc_object_t *_p_input,\n
      \   ComPtr<CapturePin> _p_pin, CaptureEnumMediaTypes *pEnumMediaTypes )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:1042,1
    - Dst: FreeMediaType
      Src: /src/vlc/modules/access/dshow/filter.cpp:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1039
    functionDepth: 1
    functionLinenumber: 1039
    functionLinenumberEnd: 1045
    functionName: CaptureEnumMediaTypes::~CaptureEnumMediaTypes()
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - FreeMediaType
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void CaptureEnumMediaTypes::~CaptureEnumMediaTypes()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:1051,1
    - Dst: dshow::CaptureEnumMediaTypes::AddRef
      Src: /src/vlc/modules/access/dshow/filter.cpp:1057,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - riid
    - ppv
    argTypes:
    - REFIID
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1066
    functionName: dshow::CaptureEnumMediaTypes::QueryInterface
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - dshow::CaptureEnumMediaTypes::AddRef
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureEnumMediaTypes::QueryInterface( REFIID riid, void
      **ppv )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:1070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1067
    functionDepth: 1
    functionLinenumber: 1067
    functionLinenumberEnd: 1074
    functionName: dshow::CaptureEnumMediaTypes::AddRef
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 2
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void CaptureEnumMediaTypes::AddRef()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:1078,1
    - Dst: InterlockedDecrement
      Src: /src/vlc/modules/access/dshow/filter.cpp:1081,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1075
    functionDepth: 1
    functionLinenumber: 1075
    functionLinenumberEnd: 1084
    functionName: dshow::CaptureEnumMediaTypes::Release
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - InterlockedDecrement
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void CaptureEnumMediaTypes::Release()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:1092,1
    - Dst: CoTaskMemAlloc
      Src: /src/vlc/modules/access/dshow/filter.cpp:1114,1
    - Dst: CopyMediaType
      Src: /src/vlc/modules/access/dshow/filter.cpp:1115,1
    - Dst: CoTaskMemAlloc
      Src: /src/vlc/modules/access/dshow/filter.cpp:1125,1
    - Dst: CopyMediaType
      Src: /src/vlc/modules/access/dshow/filter.cpp:1126,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - cMediaTypes
    - ppMediaTypes
    - pcFetched
    argTypes:
    - ULONG
    - AM_MEDIA_TYPE**
    - ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1087
    functionDepth: 1
    functionLinenumber: 1087
    functionLinenumberEnd: 1137
    functionName: dshow::CaptureEnumMediaTypes::Next
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - CopyMediaType
    - msg_Dbg
    - CoTaskMemAlloc
    linkageType: ''
    returnType: STDMETHODIMP
    signature: "STDMETHODIMP CaptureEnumMediaTypes::Next( ULONG cMediaTypes,\n                                          AM_MEDIA_TYPE
      ** ppMediaTypes,\n                                          ULONG * pcFetched
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:1146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - cMediaTypes
    argTypes:
    - ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1138
    functionDepth: 1
    functionLinenumber: 1138
    functionLinenumberEnd: 1151
    functionName: dshow::CaptureEnumMediaTypes::Skip
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureEnumMediaTypes::Skip( ULONG cMediaTypes )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:1155,1
    - Dst: FreeMediaType
      Src: /src/vlc/modules/access/dshow/filter.cpp:1158,1
    - Dst: CopyMediaType
      Src: /src/vlc/modules/access/dshow/filter.cpp:1159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1152
    functionDepth: 1
    functionLinenumber: 1152
    functionLinenumberEnd: 1162
    functionName: dshow::CaptureEnumMediaTypes::Reset
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - FreeMediaType
    - msg_Dbg
    - CopyMediaType
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureEnumMediaTypes::Reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dshow/filter.cpp:1166,1
    - Dst: CaptureEnumMediaTypes::CaptureEnumMediaTypes
      Src: /src/vlc/modules/access/dshow/filter.cpp:1169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ppEnum
    argTypes:
    - IEnumMediaTypes**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1163
    functionDepth: 1
    functionLinenumber: 1163
    functionLinenumberEnd: 1173
    functionName: dshow::CaptureEnumMediaTypes::Clone
    functionSourceFile: /src/vlc/modules/access/dshow/filter.cpp
    functionUses: 0
    functionsReached:
    - CaptureEnumMediaTypes::CaptureEnumMediaTypes
    - msg_Dbg
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP CaptureEnumMediaTypes::Clone( IEnumMediaTypes **ppEnum
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/access/screen/dxgi.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: ~dxgi_screen()
    functionSourceFile: /src/vlc/modules/access/screen/dxgi.cpp
    functionUses: 0
    functionsReached:
    - vlc_video_context_Release
    linkageType: ''
    returnType: void
    signature: void ~dxgi_screen()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/access/screen/dxgi.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: ~dxgi_screen()
    functionSourceFile: /src/vlc/modules/access/screen/dxgi.cpp
    functionUses: 0
    functionsReached:
    - vlc_video_context_Release
    linkageType: ''
    returnType: void
    signature: void ~dxgi_screen()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: D3D11BLOCK_FROM_BLOCK
      Src: /src/vlc/modules/access/screen/dxgi.cpp:61,1
    - Dst: picture_Release
      Src: /src/vlc/modules/access/screen/dxgi.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_block
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: CaptureBlockRelease
    functionSourceFile: /src/vlc/modules/access/screen/dxgi.cpp
    functionUses: 0
    functionsReached:
    - picture_Release
    - D3D11BLOCK_FROM_BLOCK
    linkageType: ''
    returnType: void
    signature: void CaptureBlockRelease( block_t *p_block )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<demux_sys_t*>
      Src: /src/vlc/modules/access/screen/dxgi.cpp:68,1
    - Dst: static_cast<dxgi_screen *>
      Src: /src/vlc/modules/access/screen/dxgi.cpp:69,1
    - Dst: block_sys_d3d11_t::block_sys_d3d11_t
      Src: /src/vlc/modules/access/screen/dxgi.cpp:70,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/screen/dxgi.cpp:76,1
    - Dst: GetD3D11OpaqueContext
      Src: /src/vlc/modules/access/screen/dxgi.cpp:79,1
    - Dst: block_Init
      Src: /src/vlc/modules/access/screen/dxgi.cpp:84,1
    - Dst: D3D11_AllocPicture
      Src: /src/vlc/modules/access/screen/dxgi.cpp:86,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/screen/dxgi.cpp:86,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/screen/dxgi.cpp:91,1
    - Dst: dxgi_screen*::duplication::AcquireNextFrame
      Src: /src/vlc/modules/access/screen/dxgi.cpp:97,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/screen/dxgi.cpp:98,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/screen/dxgi.cpp:100,1
    - Dst: WINAPI_FAMILY_PARTITION
      Src: /src/vlc/modules/access/screen/dxgi.cpp:104,1
    - Dst: GetCursorPos
      Src: /src/vlc/modules/access/screen/dxgi.cpp:108,1
    - Dst: FollowMouse
      Src: /src/vlc/modules/access/screen/dxgi.cpp:111,1
    - Dst: ComPtr::As
      Src: /src/vlc/modules/access/screen/dxgi.cpp:116,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/screen/dxgi.cpp:117,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/screen/dxgi.cpp:117,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/screen/dxgi.cpp:119,1
    - Dst: ActiveD3D11PictureSys
      Src: /src/vlc/modules/access/screen/dxgi.cpp:122,1
    - Dst: d3d11_device_lock
      Src: /src/vlc/modules/access/screen/dxgi.cpp:136,1
    - Dst: d3d11_decoder_device_t*::d3d_dev::d3dcontext::CopySubresourceRegion
      Src: /src/vlc/modules/access/screen/dxgi.cpp:137,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/access/screen/dxgi.cpp:140,1
    - Dst: dxgi_screen*::duplication::ReleaseFrame
      Src: /src/vlc/modules/access/screen/dxgi.cpp:142,1
    - Dst: d3d11_device_unlock
      Src: /src/vlc/modules/access/screen/dxgi.cpp:146,1
    - Dst: picture_Release
      Src: /src/vlc/modules/access/screen/dxgi.cpp:151,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 154
    functionName: screen_Capture
    functionSourceFile: /src/vlc/modules/access/screen/dxgi.cpp
    functionUses: 0
    functionsReached:
    - picture_Release
    - ComPtr::Get
    - D3D11_AllocPicture
    - block_sys_d3d11_t::block_sys_d3d11_t
    - block_Init
    - msg_Err
    - WINAPI_FAMILY_PARTITION
    - d3d11_decoder_device_t*::d3d_dev::d3dcontext::CopySubresourceRegion
    - static_cast<demux_sys_t*>
    - FollowMouse
    - dxgi_screen*::duplication::AcquireNextFrame
    - static_cast<dxgi_screen *>
    - GetCursorPos
    - ComPtr::As
    - d3d11_device_unlock
    - GetD3D11OpaqueContext
    - dxgi_screen*::duplication::ReleaseFrame
    - FAILED
    - ActiveD3D11PictureSys
    - VLC_OBJECT
    - d3d11_device_lock
    - unlikely
    linkageType: ''
    returnType: block_t
    signature: block_t *screen_Capture(demux_t *p_demux)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<dxgi_screen*>
      Src: /src/vlc/modules/access/screen/dxgi.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: screen_CloseCapture
    functionSourceFile: /src/vlc/modules/access/screen/dxgi.cpp
    functionUses: 0
    functionsReached:
    - static_cast<dxgi_screen*>
    linkageType: ''
    returnType: void
    signature: void screen_CloseCapture(void *opaque)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<demux_sys_t*>
      Src: /src/vlc/modules/access/screen/dxgi.cpp:164,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/access/screen/dxgi.cpp:169,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/screen/dxgi.cpp:171,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/screen/dxgi.cpp:175,1
    - Dst: free
      Src: /src/vlc/modules/access/screen/dxgi.cpp:176,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/screen/dxgi.cpp:179,1
    - Dst: WINAPI_FAMILY_PARTITION
      Src: /src/vlc/modules/access/screen/dxgi.cpp:183,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/screen/dxgi.cpp:186,1
    - Dst: dxgi_screen::dxgi_screen
      Src: /src/vlc/modules/access/screen/dxgi.cpp:191,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/screen/dxgi.cpp:192,1
    - Dst: WINAPI_FAMILY_PARTITION
      Src: /src/vlc/modules/access/screen/dxgi.cpp:195,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/access/screen/dxgi.cpp:196,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/access/screen/dxgi.cpp:197,1
    - Dst: vlc_decoder_device_Create
      Src: /src/vlc/modules/access/screen/dxgi.cpp:200,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/screen/dxgi.cpp:200,1
    - Dst: GetD3D11OpaqueDevice
      Src: /src/vlc/modules/access/screen/dxgi.cpp:201,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/screen/dxgi.cpp:204,1
    - Dst: d3d11_decoder_device_t*::d3d_dev::d3ddevice::QueryInterface
      Src: /src/vlc/modules/access/screen/dxgi.cpp:209,1
    - Dst: IID_GRAPHICS_PPV_ARGS
      Src: /src/vlc/modules/access/screen/dxgi.cpp:209,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/screen/dxgi.cpp:210,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/screen/dxgi.cpp:211,1
    - Dst: d3d11_decoder_device_t*::d3d_dev::d3ddevice::QueryInterface
      Src: /src/vlc/modules/access/screen/dxgi.cpp:216,1
    - Dst: IID_GRAPHICS_PPV_ARGS
      Src: /src/vlc/modules/access/screen/dxgi.cpp:216,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/screen/dxgi.cpp:217,1
    - Dst: ComPtr::GetAdapter
      Src: /src/vlc/modules/access/screen/dxgi.cpp:222,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/screen/dxgi.cpp:223,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/access/screen/dxgi.cpp:228,1
    - Dst: ComPtr::EnumOutputs
      Src: /src/vlc/modules/access/screen/dxgi.cpp:231,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/screen/dxgi.cpp:232,1
    - Dst: ComPtr::As
      Src: /src/vlc/modules/access/screen/dxgi.cpp:235,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/screen/dxgi.cpp:236,1
    - Dst: ComPtr::DuplicateOutput
      Src: /src/vlc/modules/access/screen/dxgi.cpp:239,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/screen/dxgi.cpp:240,1
    - Dst: ComPtr::Reset
      Src: /src/vlc/modules/access/screen/dxgi.cpp:241,1
    - Dst: dxgi_screen*::duplication::GetDesc
      Src: /src/vlc/modules/access/screen/dxgi.cpp:249,1
    - Dst: D3D11_RenderFormat
      Src: /src/vlc/modules/access/screen/dxgi.cpp:251,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/screen/dxgi.cpp:252,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/screen/dxgi.cpp:254,1
    - Dst: D3D11CreateVideoContext
      Src: /src/vlc/modules/access/screen/dxgi.cpp:258,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/access/screen/dxgi.cpp:259,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/screen/dxgi.cpp:261,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/screen/dxgi.cpp:264,1
    - Dst: video_format_Setup
      Src: /src/vlc/modules/access/screen/dxgi.cpp:265,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/access/screen/dxgi.cpp:281,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 80
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 284
    functionName: screen_InitCaptureDXGI
    functionSourceFile: /src/vlc/modules/access/screen/dxgi.cpp
    functionUses: 0
    functionsReached:
    - D3D11CreateVideoContext
    - GetSystemMetrics
    - dxgi_screen*::duplication::GetDesc
    - vlc_decoder_device_Release
    - ComPtr::Get
    - es_format_Init
    - d3d11_decoder_device_t*::d3d_dev::d3ddevice::QueryInterface
    - ComPtr::Reset
    - dxgi_screen::dxgi_screen
    - GetD3D11OpaqueDevice
    - D3D11_RenderFormat
    - ComPtr::DuplicateOutput
    - msg_Err
    - WINAPI_FAMILY_PARTITION
    - msg_Dbg
    - static_cast<demux_sys_t*>
    - ComPtr::GetAdapter
    - msg_Warn
    - vlc_decoder_device_Create
    - ComPtr::EnumOutputs
    - ComPtr::As
    - IID_GRAPHICS_PPV_ARGS
    - var_InheritString
    - FAILED
    - video_format_Setup
    - free
    - var_CreateGetInteger
    - VLC_OBJECT
    - unlikely
    linkageType: ''
    returnType: int
    signature: int screen_InitCaptureDXGI(demux_t *p_demux)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: screen_InitCaptureDXGI
      Src: /src/vlc/modules/access/screen/dxgi.cpp:288,1
    - Dst: WINAPI_FAMILY_PARTITION
      Src: /src/vlc/modules/access/screen/dxgi.cpp:291,1
    - Dst: screen_InitCaptureGDI
      Src: /src/vlc/modules/access/screen/dxgi.cpp:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 296
    functionName: screen_InitCapture
    functionSourceFile: /src/vlc/modules/access/screen/dxgi.cpp
    functionUses: 0
    functionsReached:
    - WINAPI_FAMILY_PARTITION
    - screen_InitCaptureDXGI
    - screen_InitCaptureGDI
    linkageType: ''
    returnType: int
    signature: int screen_InitCapture(demux_t *p_demux)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wl_display_get_error
      Src: /src/vlc/modules/access/screen/wayland.c:70,1
    - Dst: wl_display_get_protocol_error
      Src: /src/vlc/modules/access/screen/wayland.c:79,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/screen/wayland.c:80,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/screen/wayland.c:84,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/screen/wayland.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - obj
    - display
    argTypes:
    - vlc_object_t*
    - struct wl_display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 87
    functionName: DisplayError
    functionSourceFile: /src/vlc/modules/access/screen/wayland.c
    functionUses: 0
    functionsReached:
    - wl_display_get_error
    - vlc_strerror_c
    - wl_display_get_protocol_error
    - msg_Err
    linkageType: ''
    returnType: bool
    signature: bool DisplayError(vlc_object_t *obj, struct wl_display *display)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - o
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: DisplayError
    functionSourceFile: /src/vlc/modules/access/screen/wayland.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DisplayError(o,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/screen/wayland.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 10
    argNames:
    - data
    - output
    - x
    - y
    - width
    - height
    - subpixel
    - vendor
    - model
    - transform
    argTypes:
    - void*
    - struct wl_output*
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    - char*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: output_geometry_cb
    functionSourceFile: /src/vlc/modules/access/screen/wayland.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: "void output_geometry_cb(void *data, struct wl_output *output, int32_t
      x,\n                               int32_t y, int32_t width, int32_t height,\n
      \                              int32_t subpixel, const char *vendor,\n                               const
      char *model, int32_t transform)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/screen/wayland.c:110,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/access/screen/wayland.c:120,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/screen/wayland.c:125,1
    - Dst: lroundf
      Src: /src/vlc/modules/access/screen/wayland.c:128,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/screen/wayland.c:144,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 6
    argNames:
    - data
    - output
    - flags
    - width
    - height
    - refresh
    argTypes:
    - void*
    - struct wl_output*
    - uint32_t
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 148
    functionName: output_mode_cb
    functionSourceFile: /src/vlc/modules/access/screen/wayland.c
    functionUses: 0
    functionsReached:
    - es_out_Del
    - msg_Dbg
    - es_out_Add
    - es_format_Init
    - lroundf
    linkageType: ''
    returnType: void
    signature: "void output_mode_cb(void *data, struct wl_output *output,\n                           uint32_t
      flags, int32_t width, int32_t height,\n                           int32_t refresh)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - screenshooter
    argTypes:
    - void*
    - struct screenshooter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: screenshooter_done_cb
    functionSourceFile: /src/vlc/modules/access/screen/wayland.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void screenshooter_done_cb(void *data,\n                                  struct
      screenshooter *screenshooter)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_memfd
      Src: /src/vlc/modules/access/screen/wayland.c:182,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/screen/wayland.c:185,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/screen/wayland.c:185,1
    - Dst: ftruncate
      Src: /src/vlc/modules/access/screen/wayland.c:194,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/screen/wayland.c:196,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/screen/wayland.c:196,1
    - Dst: wl_shm_create_pool
      Src: /src/vlc/modules/access/screen/wayland.c:200,1
    - Dst: wl_shm_pool_create_buffer
      Src: /src/vlc/modules/access/screen/wayland.c:205,1
    - Dst: wl_shm_pool_destroy
      Src: /src/vlc/modules/access/screen/wayland.c:207,1
    - Dst: screenshooter_shoot
      Src: /src/vlc/modules/access/screen/wayland.c:212,1
    - Dst: wl_display_roundtrip
      Src: /src/vlc/modules/access/screen/wayland.c:215,1
    - Dst: wl_buffer_destroy
      Src: /src/vlc/modules/access/screen/wayland.c:217,1
    - Dst: block_File
      Src: /src/vlc/modules/access/screen/wayland.c:218,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/screen/wayland.c:229,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 231
    functionName: Shoot
    functionSourceFile: /src/vlc/modules/access/screen/wayland.c
    functionUses: 0
    functionsReached:
    - vlc_strerror_c
    - wl_shm_create_pool
    - vlc_close
    - wl_shm_pool_destroy
    - wl_shm_pool_create_buffer
    - msg_Err
    - ftruncate
    - vlc_memfd
    - block_File
    - screenshooter_shoot
    - wl_buffer_destroy
    - wl_display_roundtrip
    linkageType: ''
    returnType: block_t
    signature: block_t *Shoot(demux_t *demux)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wl_display_cancel_read
      Src: /src/vlc/modules/access/screen/wayland.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 238
    functionName: cleanup_wl_display_read
    functionSourceFile: /src/vlc/modules/access/screen/wayland.c
    functionUses: 0
    functionsReached:
    - wl_display_cancel_read
    linkageType: ''
    returnType: void
    signature: void cleanup_wl_display_read(void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lroundf
      Src: /src/vlc/modules/access/screen/wayland.c:246,1
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/access/screen/wayland.c:248,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/access/screen/wayland.c:250,1
    - Dst: vlc_cleanup_push
      Src: /src/vlc/modules/access/screen/wayland.c:251,1
    - Dst: wl_display_get_fd
      Src: /src/vlc/modules/access/screen/wayland.c:253,1
    - Dst: DisplayError
      Src: /src/vlc/modules/access/screen/wayland.c:258,1
    - Dst: Shoot
      Src: /src/vlc/modules/access/screen/wayland.c:263,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/screen/wayland.c:265,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/screen/wayland.c:266,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/screen/wayland.c:267,1
    - Dst: wl_display_prepare_read
      Src: /src/vlc/modules/access/screen/wayland.c:270,1
    - Dst: wl_display_dispatch_pending
      Src: /src/vlc/modules/access/screen/wayland.c:271,1
    - Dst: wl_display_flush
      Src: /src/vlc/modules/access/screen/wayland.c:272,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/access/screen/wayland.c:273,1
    - Dst: poll
      Src: /src/vlc/modules/access/screen/wayland.c:275,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/access/screen/wayland.c:277,1
    - Dst: wl_display_read_events
      Src: /src/vlc/modules/access/screen/wayland.c:278,1
    - Dst: wl_display_dispatch_pending
      Src: /src/vlc/modules/access/screen/wayland.c:279,1
    - Dst: vlc_cleanup_pop
      Src: /src/vlc/modules/access/screen/wayland.c:281,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/access/screen/wayland.c:282,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 284
    functionName: Thread
    functionSourceFile: /src/vlc/modules/access/screen/wayland.c
    functionUses: 0
    functionsReached:
    - vlc_cleanup_pop
    - vlc_tick_now
    - vlc_restorecancel
    - Shoot
    - vlc_thread_set_name
    - wl_display_read_events
    - es_out_Send
    - poll
    - wl_display_prepare_read
    - wl_display_get_fd
    - DisplayError
    - wl_display_dispatch_pending
    - wl_display_flush
    - vlc_savecancel
    - es_out_SetPCR
    - lroundf
    - vlc_cleanup_push
    linkageType: ''
    returnType: void
    signature: void *Thread(void *data)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/screen/wayland.c:293,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/screen/wayland.c:297,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/screen/wayland.c:301,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/screen/wayland.c:301,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/screen/wayland.c:305,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/screen/wayland.c:309,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/screen/wayland.c:315,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/screen/wayland.c:315,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/screen/wayland.c:316,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/screen/wayland.c:322,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - demux
    - query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 330
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/screen/wayland.c
    functionUses: 40
    functionsReached:
    - vlc_tick_now
    - var_InheritInteger
    - va_arg
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: int
    signature: int Control(demux_t *demux, int query, va_list args)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/screen/wayland.c:338,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/screen/wayland.c:340,1
    - Dst: wl_registry_bind
      Src: /src/vlc/modules/access/screen/wayland.c:341,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/screen/wayland.c:344,1
    - Dst: wl_registry_bind
      Src: /src/vlc/modules/access/screen/wayland.c:345,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/screen/wayland.c:347,1
    - Dst: wl_registry_bind
      Src: /src/vlc/modules/access/screen/wayland.c:348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - data
    - registry
    - name
    - iface
    - vers
    argTypes:
    - void*
    - struct wl_registry*
    - uint32_t
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 350
    functionName: registry_global_cb
    functionSourceFile: /src/vlc/modules/access/screen/wayland.c
    functionUses: 0
    functionsReached:
    - wl_registry_bind
    - strcmp
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: "void registry_global_cb(void *data, struct wl_registry *registry,\n
      \                              uint32_t name, const char *iface, uint32_t vers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/screen/wayland.c:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - data
    - registry
    - name
    argTypes:
    - void*
    - struct wl_registry*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 359
    functionName: registry_global_remove_cb
    functionSourceFile: /src/vlc/modules/access/screen/wayland.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: "void registry_global_remove_cb(void *data, struct wl_registry *registry,\n
      \                                     uint32_t name)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/screen/wayland.c:373,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/screen/wayland.c:374,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/screen/wayland.c:378,1
    - Dst: wl_display_connect
      Src: /src/vlc/modules/access/screen/wayland.c:379,1
    - Dst: free
      Src: /src/vlc/modules/access/screen/wayland.c:380,1
    - Dst: free
      Src: /src/vlc/modules/access/screen/wayland.c:384,1
    - Dst: sysconf
      Src: /src/vlc/modules/access/screen/wayland.c:392,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/access/screen/wayland.c:393,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/screen/wayland.c:394,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/screen/wayland.c:395,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/screen/wayland.c:396,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/screen/wayland.c:397,1
    - Dst: wl_display_get_registry
      Src: /src/vlc/modules/access/screen/wayland.c:405,1
    - Dst: wl_registry_add_listener
      Src: /src/vlc/modules/access/screen/wayland.c:409,1
    - Dst: wl_display_roundtrip
      Src: /src/vlc/modules/access/screen/wayland.c:410,1
    - Dst: wl_registry_destroy
      Src: /src/vlc/modules/access/screen/wayland.c:411,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/screen/wayland.c:415,1
    - Dst: wl_output_add_listener
      Src: /src/vlc/modules/access/screen/wayland.c:419,1
    - Dst: screenshooter_add_listener
      Src: /src/vlc/modules/access/screen/wayland.c:420,1
    - Dst: wl_display_roundtrip
      Src: /src/vlc/modules/access/screen/wayland.c:422,1
    - Dst: DisplayError
      Src: /src/vlc/modules/access/screen/wayland.c:424,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/screen/wayland.c:428,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/access/screen/wayland.c:430,1
    - Dst: screenshooter_destroy
      Src: /src/vlc/modules/access/screen/wayland.c:439,1
    - Dst: wl_shm_destroy
      Src: /src/vlc/modules/access/screen/wayland.c:441,1
    - Dst: wl_output_destroy
      Src: /src/vlc/modules/access/screen/wayland.c:443,1
    - Dst: wl_display_disconnect
      Src: /src/vlc/modules/access/screen/wayland.c:444,1
    - Dst: free
      Src: /src/vlc/modules/access/screen/wayland.c:445,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 447
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/screen/wayland.c
    functionUses: 17
    functionsReached:
    - wl_display_connect
    - wl_display_get_registry
    - wl_registry_add_listener
    - screenshooter_add_listener
    - screenshooter_destroy
    - vlc_tick_now
    - sysconf
    - msg_Err
    - wl_display_disconnect
    - wl_output_add_listener
    - wl_output_destroy
    - wl_display_roundtrip
    - wl_shm_destroy
    - var_InheritInteger
    - DisplayError
    - wl_registry_destroy
    - var_InheritFloat
    - var_InheritString
    - vlc_clone
    - free
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_cancel
      Src: /src/vlc/modules/access/screen/wayland.c:454,1
    - Dst: vlc_join
      Src: /src/vlc/modules/access/screen/wayland.c:455,1
    - Dst: screenshooter_destroy
      Src: /src/vlc/modules/access/screen/wayland.c:457,1
    - Dst: wl_shm_destroy
      Src: /src/vlc/modules/access/screen/wayland.c:458,1
    - Dst: wl_output_destroy
      Src: /src/vlc/modules/access/screen/wayland.c:459,1
    - Dst: wl_display_disconnect
      Src: /src/vlc/modules/access/screen/wayland.c:460,1
    - Dst: free
      Src: /src/vlc/modules/access/screen/wayland.c:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 462
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/screen/wayland.c
    functionUses: 54
    functionsReached:
    - wl_shm_destroy
    - vlc_cancel
    - wl_display_disconnect
    - free
    - vlc_join
    - screenshooter_destroy
    - wl_output_destroy
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: SCREEN_CAPTURE_OBSOLETE
    functionSourceFile: /src/vlc/modules/access/screen/mac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCREEN_CAPTURE_OBSOLETE(x,y,z)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/access/screen/mac.c:89,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/access/screen/mac.c:93,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/access/screen/mac.c:94,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/access/screen/mac.c:98,1
    - Dst: CGGetOnlineDisplayList
      Src: /src/vlc/modules/access/screen/mac.c:101,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/access/screen/mac.c:104,1
    - Dst: CGGetOnlineDisplayList
      Src: /src/vlc/modules/access/screen/mac.c:105,1
    - Dst: free
      Src: /src/vlc/modules/access/screen/mac.c:117,1
    - Dst: CGDisplayBounds
      Src: /src/vlc/modules/access/screen/mac.c:121,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/screen/mac.c:138,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 155
    functionName: screen_InitCapture
    functionSourceFile: /src/vlc/modules/access/screen/mac.c
    functionUses: 0
    functionsReached:
    - CGGetOnlineDisplayList
    - calloc
    - free
    - es_format_Init
    - var_CreateGetInteger
    - vlc_alloc
    - CGDisplayBounds
    - var_InheritFloat
    linkageType: ''
    returnType: int
    signature: int screen_InitCapture(demux_t *p_demux)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CFRelease
      Src: /src/vlc/modules/access/screen/mac.c:161,1
    - Dst: free
      Src: /src/vlc/modules/access/screen/mac.c:164,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/screen/mac.c:167,1
    - Dst: free
      Src: /src/vlc/modules/access/screen/mac.c:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 170
    functionName: screen_CloseCapture
    functionSourceFile: /src/vlc/modules/access/screen/mac.c
    functionUses: 0
    functionsReached:
    - free
    - block_Release
    - CFRelease
    linkageType: ''
    returnType: void
    signature: void screen_CloseCapture(void *opaque)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CGEventCreate
      Src: /src/vlc/modules/access/screen/mac.c:183,1
    - Dst: CGEventGetLocation
      Src: /src/vlc/modules/access/screen/mac.c:184,1
    - Dst: CFRelease
      Src: /src/vlc/modules/access/screen/mac.c:185,1
    - Dst: FollowMouse
      Src: /src/vlc/modules/access/screen/mac.c:192,1
    - Dst: CGDisplayCreateImageForRect
      Src: /src/vlc/modules/access/screen/mac.c:204,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/screen/mac.c:206,1
    - Dst: CGColorSpaceCreateWithName
      Src: /src/vlc/modules/access/screen/mac.c:214,1
    - Dst: calloc
      Src: /src/vlc/modules/access/screen/mac.c:217,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/screen/mac.c:219,1
    - Dst: CFRelease
      Src: /src/vlc/modules/access/screen/mac.c:220,1
    - Dst: CGBitmapContextCreate
      Src: /src/vlc/modules/access/screen/mac.c:224,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/screen/mac.c:226,1
    - Dst: CFRelease
      Src: /src/vlc/modules/access/screen/mac.c:227,1
    - Dst: CGColorSpaceRelease
      Src: /src/vlc/modules/access/screen/mac.c:231,1
    - Dst: CGRectMake
      Src: /src/vlc/modules/access/screen/mac.c:233,1
    - Dst: CGSMainConnectionID
      Src: /src/vlc/modules/access/screen/mac.c:238,1
    - Dst: CGSCreateRegisteredCursorImage
      Src: /src/vlc/modules/access/screen/mac.c:240,1
    - Dst: CGImageGetWidth
      Src: /src/vlc/modules/access/screen/mac.c:244,1
    - Dst: CGImageGetHeight
      Src: /src/vlc/modules/access/screen/mac.c:245,1
    - Dst: CGContextDrawImage
      Src: /src/vlc/modules/access/screen/mac.c:256,1
    - Dst: CGContextDrawImage
      Src: /src/vlc/modules/access/screen/mac.c:257,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/screen/mac.c:260,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/screen/mac.c:262,1
    - Dst: CFRelease
      Src: /src/vlc/modules/access/screen/mac.c:263,1
    - Dst: memmove
      Src: /src/vlc/modules/access/screen/mac.c:267,1
    - Dst: CFRelease
      Src: /src/vlc/modules/access/screen/mac.c:269,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 54
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 272
    functionName: screen_Capture
    functionSourceFile: /src/vlc/modules/access/screen/mac.c
    functionUses: 0
    functionsReached:
    - CFRelease
    - CGRectMake
    - CGEventGetLocation
    - CGEventCreate
    - CGColorSpaceCreateWithName
    - CGBitmapContextCreate
    - CGSMainConnectionID
    - CGImageGetWidth
    - CGColorSpaceRelease
    - CGDisplayCreateImageForRect
    - calloc
    - block_Alloc
    - CGContextDrawImage
    - CGImageGetHeight
    - memmove
    - msg_Warn
    - FollowMouse
    - CGSCreateRegisteredCursorImage
    linkageType: ''
    returnType: block_t
    signature: block_t *screen_Capture(demux_t *p_demux)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/access/screen/screen.c:153,1
    - Dst: var_CreateGetFloat
      Src: /src/vlc/modules/access/screen/screen.c:157,1
    - Dst: vlc_tick_rate_duration
      Src: /src/vlc/modules/access/screen/screen.c:158,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/access/screen/screen.c:162,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/access/screen/screen.c:163,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/access/screen/screen.c:164,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/access/screen/screen.c:165,1
    - Dst: screen_InitCapture
      Src: /src/vlc/modules/access/screen/screen.c:168,1
    - Dst: free
      Src: /src/vlc/modules/access/screen/screen.c:170,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/screen/screen.c:174,1
    - Dst: vlc_fourcc_GetChromaBPP
      Src: /src/vlc/modules/access/screen/screen.c:176,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/screen/screen.c:182,1
    - Dst: free
      Src: /src/vlc/modules/access/screen/screen.c:183,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/screen/screen.c:195,1
    - Dst: free
      Src: /src/vlc/modules/access/screen/screen.c:196,1
    - Dst: var_CreateGetBool
      Src: /src/vlc/modules/access/screen/screen.c:207,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/screen/screen.c:209,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/screen/screen.c:212,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/screen/screen.c:217,1
    - Dst: vlc_path2uri
      Src: /src/vlc/modules/access/screen/screen.c:218,1
    - Dst: free
      Src: /src/vlc/modules/access/screen/screen.c:219,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/screen/screen.c:224,1
    - Dst: video_format_Init
      Src: /src/vlc/modules/access/screen/screen.c:225,1
    - Dst: image_HandlerCreate
      Src: /src/vlc/modules/access/screen/screen.c:226,1
    - Dst: image_ReadUrl
      Src: /src/vlc/modules/access/screen/screen.c:230,1
    - Dst: image_HandlerDelete
      Src: /src/vlc/modules/access/screen/screen.c:231,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/screen/screen.c:234,1
    - Dst: free
      Src: /src/vlc/modules/access/screen/screen.c:236,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/access/screen/screen.c:237,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/screen/screen.c:241,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/screen/screen.c:243,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 60
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 246
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/screen/screen.c
    functionUses: 17
    functionsReached:
    - vlc_tick_rate_duration
    - video_format_Clean
    - var_CreateGetFloat
    - vlc_fourcc_GetChromaBPP
    - vlc_tick_now
    - image_HandlerDelete
    - msg_Err
    - calloc
    - msg_Dbg
    - image_ReadUrl
    - image_HandlerCreate
    - video_format_Init
    - screen_InitCapture
    - var_InheritString
    - var_CreateGetBool
    - free
    - var_CreateGetInteger
    - es_out_Add
    - vlc_path2uri
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: demux_sys_t*::ops::close
      Src: /src/vlc/modules/access/screen/screen.c:257,1
    - Dst: picture_Release
      Src: /src/vlc/modules/access/screen/screen.c:260,1
    - Dst: free
      Src: /src/vlc/modules/access/screen/screen.c:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 263
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/screen/screen.c
    functionUses: 54
    functionsReached:
    - free
    - picture_Release
    - demux_sys_t*::ops::close
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/screen/screen.c:273,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/screen/screen.c:277,1
    - Dst: vlc_tick_wait
      Src: /src/vlc/modules/access/screen/screen.c:280,1
    - Dst: demux_sys_t*::ops::capture
      Src: /src/vlc/modules/access/screen/screen.c:281,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/screen/screen.c:289,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/screen/screen.c:294,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/screen/screen.c:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 300
    functionName: Demux
    functionSourceFile: /src/vlc/modules/access/screen/screen.c
    functionUses: 1
    functionsReached:
    - vlc_tick_wait
    - vlc_tick_now
    - es_out_Send
    - demux_sys_t*::ops::capture
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/screen/screen.c:317,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/screen/screen.c:322,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/screen/screen.c:323,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/screen/screen.c:323,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/screen/screen.c:327,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/screen/screen.c:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 334
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/screen/screen.c
    functionUses: 40
    functionsReached:
    - vlc_tick_now
    - var_InheritInteger
    - va_arg
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: __MIN
      Src: /src/vlc/modules/access/screen/screen.c:341,1
    - Dst: __MIN
      Src: /src/vlc/modules/access/screen/screen.c:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - p_sys
    - i_x
    - i_y
    argTypes:
    - demux_sys_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 348
    functionName: FollowMouse
    functionSourceFile: /src/vlc/modules/access/screen/screen.c
    functionUses: 2
    functionsReached:
    - __MIN
    linkageType: ''
    returnType: void
    signature: void FollowMouse( demux_sys_t *p_sys, int i_x, int i_y )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_demux
    - p_point
    argTypes:
    - demux_t*
    - POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: FromScreenCoordinates
    functionSourceFile: /src/vlc/modules/access/screen/win32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FromScreenCoordinates( demux_t *p_demux, POINT *p_point )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_demux
    - p_point
    argTypes:
    - demux_t*
    - POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: ToScreenCoordinates
    functionSourceFile: /src/vlc/modules/access/screen/win32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ToScreenCoordinates( demux_t *p_demux, POINT *p_point )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/access/screen/win32.c:104,1
    - Dst: CreateDC
      Src: /src/vlc/modules/access/screen/win32.c:109,1
    - Dst: TEXT
      Src: /src/vlc/modules/access/screen/win32.c:109,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/screen/win32.c:112,1
    - Dst: free
      Src: /src/vlc/modules/access/screen/win32.c:113,1
    - Dst: CreateCompatibleDC
      Src: /src/vlc/modules/access/screen/win32.c:117,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/screen/win32.c:120,1
    - Dst: ReleaseDC
      Src: /src/vlc/modules/access/screen/win32.c:121,1
    - Dst: free
      Src: /src/vlc/modules/access/screen/win32.c:122,1
    - Dst: GetDeviceCaps
      Src: /src/vlc/modules/access/screen/win32.c:126,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/screen/win32.c:144,1
    - Dst: DeleteDC
      Src: /src/vlc/modules/access/screen/win32.c:145,1
    - Dst: ReleaseDC
      Src: /src/vlc/modules/access/screen/win32.c:146,1
    - Dst: free
      Src: /src/vlc/modules/access/screen/win32.c:147,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/access/screen/win32.c:151,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/access/screen/win32.c:152,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/screen/win32.c:153,1
    - Dst: video_format_Setup
      Src: /src/vlc/modules/access/screen/win32.c:154,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/access/screen/win32.c:161,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/access/screen/win32.c:162,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 170
    functionName: screen_InitCaptureGDI
    functionSourceFile: /src/vlc/modules/access/screen/win32.c
    functionUses: 1
    functionsReached:
    - CreateDC
    - GetSystemMetrics
    - TEXT
    - video_format_Setup
    - DeleteDC
    - ReleaseDC
    - msg_Err
    - calloc
    - free
    - GetDeviceCaps
    - es_format_Init
    - CreateCompatibleDC
    linkageType: ''
    returnType: int
    signature: int screen_InitCaptureGDI( demux_t *p_demux )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/access/screen/win32.c:175,1
    - Dst: SelectObject
      Src: /src/vlc/modules/access/screen/win32.c:178,1
    - Dst: DeleteDC
      Src: /src/vlc/modules/access/screen/win32.c:180,1
    - Dst: ReleaseDC
      Src: /src/vlc/modules/access/screen/win32.c:181,1
    - Dst: vlc_filter_Delete
      Src: /src/vlc/modules/access/screen/win32.c:186,1
    - Dst: free
      Src: /src/vlc/modules/access/screen/win32.c:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 191
    functionName: screen_CloseCapture
    functionSourceFile: /src/vlc/modules/access/screen/win32.c
    functionUses: 0
    functionsReached:
    - block_Release
    - DeleteDC
    - ReleaseDC
    - vlc_filter_Delete
    - free
    - SelectObject
    linkageType: ''
    returnType: void
    signature: void screen_CloseCapture( void *opaque )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/access/screen/win32.c:201,1
    - Dst: DeleteObject
      Src: /src/vlc/modules/access/screen/win32.c:202,1
    - Dst: free
      Src: /src/vlc/modules/access/screen/win32.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_block
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: CaptureBlockRelease
    functionSourceFile: /src/vlc/modules/access/screen/win32.c
    functionUses: 0
    functionsReached:
    - free
    - DeleteObject
    - container_of
    linkageType: ''
    returnType: void
    signature: void CaptureBlockRelease( block_t *p_block )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/access/screen/win32.c:236,1
    - Dst: vlc_tick_rate_duration
      Src: /src/vlc/modules/access/screen/win32.c:242,1
    - Dst: CreateDIBSection
      Src: /src/vlc/modules/access/screen/win32.c:249,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/screen/win32.c:253,1
    - Dst: SelectObject
      Src: /src/vlc/modules/access/screen/win32.c:259,1
    - Dst: SelectObject
      Src: /src/vlc/modules/access/screen/win32.c:261,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/screen/win32.c:265,1
    - Dst: malloc
      Src: /src/vlc/modules/access/screen/win32.c:270,1
    - Dst: block_Init
      Src: /src/vlc/modules/access/screen/win32.c:275,1
    - Dst: DeleteObject
      Src: /src/vlc/modules/access/screen/win32.c:281,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 283
    functionName: CaptureBlockNew
    functionSourceFile: /src/vlc/modules/access/screen/win32.c
    functionUses: 0
    functionsReached:
    - CreateDIBSection
    - block_Init
    - DeleteObject
    - msg_Err
    - SelectObject
    - vlc_tick_rate_duration
    - var_CreateGetInteger
    - malloc
    linkageType: ''
    returnType: block_t
    signature: block_t *CaptureBlockNew( demux_t *p_demux )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: picture_Setup
      Src: /src/vlc/modules/access/screen/win32.c:292,1
    - Dst: vlc_object_create
      Src: /src/vlc/modules/access/screen/win32.c:302,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/screen/win32.c:305,1
    - Dst: vlc_filter_LoadModule
      Src: /src/vlc/modules/access/screen/win32.c:310,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/screen/win32.c:313,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/access/screen/win32.c:314,1
    - Dst: picture_Release
      Src: /src/vlc/modules/access/screen/win32.c:316,1
    - Dst: assert
      Src: /src/vlc/modules/access/screen/win32.c:319,1
    - Dst: screen_data_t*::p_blend::ops::blend_video
      Src: /src/vlc/modules/access/screen/win32.c:325,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - p_demux
    - i_x
    - i_y
    - p_dst
    argTypes:
    - demux_t*
    - int
    - int
    - uint8_t*
    assertStmts:
    - condition: ( p_data->p_blend->ops != NULL )
      pos:
        line_end: 318
        line_start: 318
        source_file: /src/vlc/modules/access/screen/win32.c
    constantsTouched: []
    func_position:
      end: 340
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 340
    functionName: RenderCursor
    functionSourceFile: /src/vlc/modules/access/screen/win32.c
    functionUses: 0
    functionsReached:
    - picture_Setup
    - assert
    - vlc_object_create
    - msg_Err
    - picture_Release
    - vlc_object_delete
    - es_format_Init
    - screen_data_t*::p_blend::ops::blend_video
    - vlc_filter_LoadModule
    linkageType: ''
    returnType: void
    signature: "void RenderCursor( demux_t *p_demux, int i_x, int i_y,\n                          uint8_t
      *p_dst )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CaptureBlockNew
      Src: /src/vlc/modules/access/screen/win32.c:350,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/screen/win32.c:352,1
    - Dst: GetCursorPos
      Src: /src/vlc/modules/access/screen/win32.c:359,1
    - Dst: FromScreenCoordinates
      Src: /src/vlc/modules/access/screen/win32.c:360,1
    - Dst: FollowMouse
      Src: /src/vlc/modules/access/screen/win32.c:365,1
    - Dst: ToScreenCoordinates
      Src: /src/vlc/modules/access/screen/win32.c:371,1
    - Dst: BitBlt
      Src: /src/vlc/modules/access/screen/win32.c:376,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/screen/win32.c:383,1
    - Dst: GetCursorPos
      Src: /src/vlc/modules/access/screen/win32.c:401,1
    - Dst: FromScreenCoordinates
      Src: /src/vlc/modules/access/screen/win32.c:402,1
    - Dst: RenderCursor
      Src: /src/vlc/modules/access/screen/win32.c:403,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 412
    functionName: screen_Capture
    functionSourceFile: /src/vlc/modules/access/screen/win32.c
    functionUses: 0
    functionsReached:
    - CaptureBlockNew
    - RenderCursor
    - FromScreenCoordinates
    - BitBlt
    - GetCursorPos
    - msg_Err
    - msg_Warn
    - FollowMouse
    - ToScreenCoordinates
    linkageType: ''
    returnType: block_t
    signature: block_t *screen_Capture( demux_t *p_demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcb_shm_query_version
      Src: /src/vlc/modules/access/screen/xcb.c:128,1
    - Dst: xcb_shm_query_version_reply
      Src: /src/vlc/modules/access/screen/xcb.c:131,1
    - Dst: free
      Src: /src/vlc/modules/access/screen/xcb.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - conn
    argTypes:
    - xcb_connection_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 138
    functionName: CheckSHM
    functionSourceFile: /src/vlc/modules/access/screen/xcb.c
    functionUses: 0
    functionsReached:
    - xcb_shm_query_version_reply
    - free
    - xcb_shm_query_version
    linkageType: ''
    returnType: bool
    signature: bool CheckSHM (xcb_connection_t *conn)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/screen/xcb.c:149,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/screen/xcb.c:155,1
    - Dst: xcb_connect
      Src: /src/vlc/modules/access/screen/xcb.c:157,1
    - Dst: free
      Src: /src/vlc/modules/access/screen/xcb.c:158,1
    - Dst: xcb_connection_has_error
      Src: /src/vlc/modules/access/screen/xcb.c:159,1
    - Dst: free
      Src: /src/vlc/modules/access/screen/xcb.c:161,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/screen/xcb.c:167,1
    - Dst: xcb_get_setup
      Src: /src/vlc/modules/access/screen/xcb.c:169,1
    - Dst: xcb_setup_roots_iterator
      Src: /src/vlc/modules/access/screen/xcb.c:171,1
    - Dst: xcb_screen_next
      Src: /src/vlc/modules/access/screen/xcb.c:172,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/screen/xcb.c:183,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/screen/xcb.c:190,1
    - Dst: strtoul
      Src: /src/vlc/modules/access/screen/xcb.c:193,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/screen/xcb.c:196,1
    - Dst: xcb_composite_query_version_reply
      Src: /src/vlc/modules/access/screen/xcb.c:202,1
    - Dst: xcb_composite_query_version
      Src: /src/vlc/modules/access/screen/xcb.c:203,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/screen/xcb.c:206,1
    - Dst: free
      Src: /src/vlc/modules/access/screen/xcb.c:207,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/screen/xcb.c:210,1
    - Dst: free
      Src: /src/vlc/modules/access/screen/xcb.c:212,1
    - Dst: xcb_composite_redirect_window
      Src: /src/vlc/modules/access/screen/xcb.c:214,1
    - Dst: xcb_generate_id
      Src: /src/vlc/modules/access/screen/xcb.c:221,1
    - Dst: xcb_generate_id
      Src: /src/vlc/modules/access/screen/xcb.c:223,1
    - Dst: CheckSHM
      Src: /src/vlc/modules/access/screen/xcb.c:225,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/screen/xcb.c:226,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/screen/xcb.c:227,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/access/screen/xcb.c:229,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/screen/xcb.c:234,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/screen/xcb.c:235,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/access/screen/xcb.c:239,1
    - Dst: vlc_timer_create
      Src: /src/vlc/modules/access/screen/xcb.c:251,1
    - Dst: vlc_timer_schedule_asap
      Src: /src/vlc/modules/access/screen/xcb.c:253,1
    - Dst: xcb_disconnect
      Src: /src/vlc/modules/access/screen/xcb.c:261,1
    - Dst: free
      Src: /src/vlc/modules/access/screen/xcb.c:262,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 81
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 264
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/screen/xcb.c
    functionUses: 17
    functionsReached:
    - xcb_setup_roots_iterator
    - xcb_generate_id
    - xcb_connect
    - CheckSHM
    - xcb_get_setup
    - xcb_screen_next
    - strtoul
    - msg_Err
    - msg_Dbg
    - strcasecmp
    - xcb_composite_query_version
    - var_InheritInteger
    - var_InheritBool
    - vlc_timer_schedule_asap
    - var_InheritFloat
    - vlc_timer_create
    - var_InheritString
    - xcb_composite_query_version_reply
    - free
    - xcb_connection_has_error
    - xcb_composite_redirect_window
    - xcb_disconnect
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open (vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_timer_destroy
      Src: /src/vlc/modules/access/screen/xcb.c:275,1
    - Dst: xcb_disconnect
      Src: /src/vlc/modules/access/screen/xcb.c:276,1
    - Dst: free
      Src: /src/vlc/modules/access/screen/xcb.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 278
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/screen/xcb.c
    functionUses: 54
    functionsReached:
    - free
    - xcb_disconnect
    - vlc_timer_destroy
    linkageType: ''
    returnType: void
    signature: void Close (vlc_object_t *obj)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/screen/xcb.c:290,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/screen/xcb.c:307,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/screen/xcb.c:307,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/screen/xcb.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 3
    argNames:
    - demux
    - query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 326
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/screen/xcb.c
    functionUses: 40
    functionsReached:
    - var_InheritInteger
    - va_arg
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: int
    signature: int Control (demux_t *demux, int query, va_list args)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: xcb_get_geometry
      Src: /src/vlc/modules/access/screen/xcb.c:342,1
    - Dst: xcb_query_pointer
      Src: /src/vlc/modules/access/screen/xcb.c:344,1
    - Dst: xcb_get_geometry_reply
      Src: /src/vlc/modules/access/screen/xcb.c:346,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/screen/xcb.c:349,1
    - Dst: xcb_discard_reply
      Src: /src/vlc/modules/access/screen/xcb.c:352,1
    - Dst: xcb_query_pointer_reply
      Src: /src/vlc/modules/access/screen/xcb.c:363,1
    - Dst: free
      Src: /src/vlc/modules/access/screen/xcb.c:366,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/access/screen/xcb.c:413,1
    - Dst: xcb_free_pixmap
      Src: /src/vlc/modules/access/screen/xcb.c:418,1
    - Dst: xcb_composite_name_window_pixmap
      Src: /src/vlc/modules/access/screen/xcb.c:419,1
    - Dst: xcb_create_pixmap
      Src: /src/vlc/modules/access/screen/xcb.c:420,1
    - Dst: InitES
      Src: /src/vlc/modules/access/screen/xcb.c:424,1
    - Dst: free
      Src: /src/vlc/modules/access/screen/xcb.c:436,1
    - Dst: shmget
      Src: /src/vlc/modules/access/screen/xcb.c:443,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/screen/xcb.c:446,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/screen/xcb.c:447,1
    - Dst: xcb_shm_attach
      Src: /src/vlc/modules/access/screen/xcb.c:455,1
    - Dst: xcb_shm_get_image
      Src: /src/vlc/modules/access/screen/xcb.c:456,1
    - Dst: xcb_shm_detach
      Src: /src/vlc/modules/access/screen/xcb.c:458,1
    - Dst: xcb_shm_get_image_reply
      Src: /src/vlc/modules/access/screen/xcb.c:459,1
    - Dst: xcb_flush
      Src: /src/vlc/modules/access/screen/xcb.c:460,1
    - Dst: shmctl
      Src: /src/vlc/modules/access/screen/xcb.c:464,1
    - Dst: free
      Src: /src/vlc/modules/access/screen/xcb.c:467,1
    - Dst: shmat
      Src: /src/vlc/modules/access/screen/xcb.c:470,1
    - Dst: shmctl
      Src: /src/vlc/modules/access/screen/xcb.c:471,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/screen/xcb.c:474,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/screen/xcb.c:475,1
    - Dst: block_shm_Alloc
      Src: /src/vlc/modules/access/screen/xcb.c:479,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/screen/xcb.c:480,1
    - Dst: shmdt
      Src: /src/vlc/modules/access/screen/xcb.c:481,1
    - Dst: xcb_get_image_reply
      Src: /src/vlc/modules/access/screen/xcb.c:489,1
    - Dst: xcb_get_image
      Src: /src/vlc/modules/access/screen/xcb.c:490,1
    - Dst: xcb_get_image_data
      Src: /src/vlc/modules/access/screen/xcb.c:495,1
    - Dst: xcb_get_image_data_length
      Src: /src/vlc/modules/access/screen/xcb.c:496,1
    - Dst: block_heap_Alloc
      Src: /src/vlc/modules/access/screen/xcb.c:497,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/screen/xcb.c:507,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/screen/xcb.c:509,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/screen/xcb.c:510,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/screen/xcb.c:513,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 110
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 514
    functionName: Demux
    functionSourceFile: /src/vlc/modules/access/screen/xcb.c
    functionUses: 1
    functionsReached:
    - shmctl
    - vlc_strerror_c
    - block_shm_Alloc
    - xcb_composite_name_window_pixmap
    - xcb_create_pixmap
    - shmdt
    - xcb_shm_get_image_reply
    - xcb_shm_detach
    - xcb_shm_attach
    - xcb_free_pixmap
    - xcb_get_image
    - vlc_tick_now
    - es_out_Send
    - msg_Err
    - xcb_get_image_data
    - xcb_flush
    - shmat
    - InitES
    - xcb_get_geometry
    - xcb_query_pointer
    - xcb_get_geometry_reply
    - shmget
    - es_out_SetPCR
    - block_Release
    - xcb_discard_reply
    - xcb_query_pointer_reply
    - xcb_get_image_reply
    - free
    - es_out_Del
    - xcb_get_image_data_length
    - block_heap_Alloc
    - xcb_shm_get_image
    - unlikely
    linkageType: ''
    returnType: void
    signature: void Demux (void *opaque)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: xcb_get_setup
      Src: /src/vlc/modules/access/screen/xcb.c:521,1
    - Dst: xcb_setup_pixmap_formats
      Src: /src/vlc/modules/access/screen/xcb.c:524,1
    - Dst: xcb_setup_pixmap_formats_length
      Src: /src/vlc/modules/access/screen/xcb.c:525,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/screen/xcb.c:564,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/screen/xcb.c:570,1
    - Dst: video_format_Setup
      Src: /src/vlc/modules/access/screen/xcb.c:571,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/screen/xcb.c:575,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 5
    argNames:
    - demux
    - width
    - height
    - depth
    - bpp
    argTypes:
    - demux_t*
    - uint_fast16_t
    - uint_fast16_t
    - uint_fast8_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 576
    functionName: InitES
    functionSourceFile: /src/vlc/modules/access/screen/xcb.c
    functionUses: 1
    functionsReached:
    - xcb_get_setup
    - video_format_Setup
    - xcb_setup_pixmap_formats
    - msg_Err
    - xcb_setup_pixmap_formats_length
    - es_out_Add
    - es_format_Init
    linkageType: ''
    returnType: es_out_id_t
    signature: "es_out_id_t *InitES (demux_t *demux, uint_fast16_t width,\n                            uint_fast16_t
      height, uint_fast8_t depth,\n                            uint8_t *bpp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/access/rtp/h26x.h:46,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/rtp/h26x.h:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sys
    argTypes:
    - struct rtp_h26x_sys*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: rtp_h26x_clear
    functionSourceFile: /src/vlc/modules/access/rtp/h26x.h
    functionUses: 0
    functionsReached:
    - block_ChainRelease
    - block_Release
    linkageType: ''
    returnType: void
    signature: void rtp_h26x_clear(struct rtp_h26x_sys *sys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtsgen_Init
      Src: /src/vlc/modules/access/rtp/h26x.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - sys
    argTypes:
    - struct rtp_h26x_sys*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: rtp_h26x_init
    functionSourceFile: /src/vlc/modules/access/rtp/h26x.h
    functionUses: 0
    functionsReached:
    - dtsgen_Init
    linkageType: ''
    returnType: void
    signature: void rtp_h26x_init(struct rtp_h26x_sys *sys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strspn
      Src: /src/vlc/modules/access/rtp/h26x.h:70,1
    - Dst: vlc_b64_decode_binary
      Src: /src/vlc/modules/access/rtp/h26x.h:72,1
    - Dst: pf_output
      Src: /src/vlc/modules/access/rtp/h26x.h:73,1
    - Dst: strchr
      Src: /src/vlc/modules/access/rtp/h26x.h:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - psz64
    - pszend
    - outputsys
    argTypes:
    - char*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: h26x_extractbase64xps
    functionSourceFile: /src/vlc/modules/access/rtp/h26x.h
    functionUses: 0
    functionsReached:
    - pf_output
    - strspn
    - strchr
    - vlc_b64_decode_binary
    linkageType: ''
    returnType: void
    signature: "void h26x_extractbase64xps(const char *psz64,\n                                  const
      char *pszend,\n                                  void(*pf_output)(void *, uint8_t
      *, size_t),\n                                  void *outputsys)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: block_Realloc
      Src: /src/vlc/modules/access/rtp/h26x.h:82,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/rtp/h26x.h:86,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/access/rtp/h26x.h:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - block
    - b_annexb
    argTypes:
    - block_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: h26x_wrap_prefix
    functionSourceFile: /src/vlc/modules/access/rtp/h26x.h
    functionUses: 0
    functionsReached:
    - SetDWBE
    - block_Realloc
    - memcpy
    linkageType: ''
    returnType: block_t
    signature: block_t * h26x_wrap_prefix(block_t *block, bool b_annexb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_heap_Alloc
      Src: /src/vlc/modules/access/rtp/h26x.h:95,1
    - Dst: h26x_wrap_prefix
      Src: /src/vlc/modules/access/rtp/h26x.h:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - priv
    - xps
    - xpssz
    argTypes:
    - void*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 102
    functionName: h26x_add_xps
    functionSourceFile: /src/vlc/modules/access/rtp/h26x.h
    functionUses: 0
    functionsReached:
    - block_heap_Alloc
    - h26x_wrap_prefix
    linkageType: ''
    returnType: void
    signature: void h26x_add_xps(void *priv, uint8_t *xps, size_t xpssz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h26x_extractbase64xps
      Src: /src/vlc/modules/access/rtp/h26x.h:108,1
    - Dst: strchr
      Src: /src/vlc/modules/access/rtp/h26x.h:108,1
    - Dst: block_ChainGather
      Src: /src/vlc/modules/access/rtp/h26x.h:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - psz
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: h26x_fillextradata
    functionSourceFile: /src/vlc/modules/access/rtp/h26x.h
    functionUses: 0
    functionsReached:
    - strchr
    - h26x_extractbase64xps
    - block_ChainGather
    linkageType: ''
    returnType: block_t
    signature: block_t * h26x_fillextradata (const char *psz)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: h26x_output
      Src: /src/vlc/modules/access/rtp/h26x.h:125,1
    - Dst: dtsgen_Resync
      Src: /src/vlc/modules/access/rtp/h26x.h:129,1
    - Dst: struct rtp_h26x_sys*::p_packetizer::pf_packetize
      Src: /src/vlc/modules/access/rtp/h26x.h:139,1
    - Dst: dtsgen_AddNextPTS
      Src: /src/vlc/modules/access/rtp/h26x.h:142,1
    - Dst: dtsgen_GetDTS
      Src: /src/vlc/modules/access/rtp/h26x.h:143,1
    - Dst: vlc_rtp_es_send
      Src: /src/vlc/modules/access/rtp/h26x.h:145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - sys
    - block
    - pts
    - pcr
    - au_end
    argTypes:
    - struct rtp_h26x_sys*
    - block_t*
    - vlc_tick_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 149
    functionName: h26x_output
    functionSourceFile: /src/vlc/modules/access/rtp/h26x.h
    functionUses: 1
    functionsReached:
    - vlc_rtp_es_send
    - dtsgen_GetDTS
    - h26x_output
    - dtsgen_AddNextPTS
    - dtsgen_Resync
    - struct rtp_h26x_sys*::p_packetizer::pf_packetize
    linkageType: ''
    returnType: void
    signature: "void h26x_output(struct rtp_h26x_sys *sys,\n                        block_t
      *block,\n                        vlc_tick_t pts, bool pcr, bool au_end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainGather
      Src: /src/vlc/modules/access/rtp/h26x.h:155,1
    - Dst: h26x_wrap_prefix
      Src: /src/vlc/modules/access/rtp/h26x.h:158,1
    - Dst: h26x_output
      Src: /src/vlc/modules/access/rtp/h26x.h:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - sys
    - b_annexb
    argTypes:
    - struct rtp_h26x_sys*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 160
    functionName: h26x_output_blocks
    functionSourceFile: /src/vlc/modules/access/rtp/h26x.h
    functionUses: 0
    functionsReached:
    - h26x_wrap_prefix
    - h26x_output
    - block_ChainGather
    linkageType: ''
    returnType: void
    signature: void h26x_output_blocks(struct rtp_h26x_sys *sys, bool b_annexb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/rtp/pcm.c:57,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/access/rtp/pcm.c:61,1
    - Dst: vlc_rtp_pt_request_es
      Src: /src/vlc/modules/access/rtp/pcm.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - pt
    argTypes:
    - struct vlc_rtp_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: rtp_pcm_init
    functionSourceFile: /src/vlc/modules/access/rtp/pcm.c
    functionUses: 0
    functionsReached:
    - aout_FormatPrepare
    - vlc_rtp_pt_request_es
    - es_format_Init
    linkageType: ''
    returnType: void
    signature: void *rtp_pcm_init(struct vlc_rtp_pt *pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_rtp_es_destroy
      Src: /src/vlc/modules/access/rtp/pcm.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pt
    - data
    argTypes:
    - struct vlc_rtp_pt*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: rtp_pcm_destroy
    functionSourceFile: /src/vlc/modules/access/rtp/pcm.c
    functionUses: 0
    functionsReached:
    - vlc_rtp_es_destroy
    linkageType: ''
    returnType: void
    signature: void rtp_pcm_destroy(struct vlc_rtp_pt *pt, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/access/rtp/pcm.c:82,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/rtp/pcm.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 6
    argNames:
    - out
    - in
    - frames
    - sample_size
    - channels
    - map
    argTypes:
    - void*
    - void*
    - size_t
    - size_t
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 92
    functionName: rtp_pcm_reorder
    functionSourceFile: /src/vlc/modules/access/rtp/pcm.c
    functionUses: 0
    functionsReached:
    - memcpy
    - vlc_assert_unreachable
    linkageType: ''
    returnType: void
    signature: "void rtp_pcm_reorder(void *restrict out, const void *restrict in,\n
      \                           size_t frames, size_t sample_size,\n                            size_t
      channels, const uint8_t *restrict map)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/rtp/pcm.c:109,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/pcm.c:111,1
    - Dst: likely
      Src: /src/vlc/modules/access/rtp/pcm.c:113,1
    - Dst: block_CopyProperties
      Src: /src/vlc/modules/access/rtp/pcm.c:114,1
    - Dst: rtp_pcm_reorder
      Src: /src/vlc/modules/access/rtp/pcm.c:115,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/rtp/pcm.c:121,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/rtp/pcm.c:124,1
    - Dst: vlc_rtp_es_send
      Src: /src/vlc/modules/access/rtp/pcm.c:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - pt
    - data
    - block
    - info
    argTypes:
    - struct vlc_rtp_pt*
    - void*
    - block_t*
    - struct vlc_rtp_pktinfo*
    assertStmts:
    - condition: ((sys->sample_bits % 8) == 0)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/vlc/modules/access/rtp/pcm.c
    constantsTouched: []
    func_position:
      end: 129
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 129
    functionName: rtp_pcm_decode
    functionSourceFile: /src/vlc/modules/access/rtp/pcm.c
    functionUses: 0
    functionsReached:
    - vlc_rtp_es_send
    - block_Release
    - assert
    - block_CopyProperties
    - block_Alloc
    - rtp_pcm_reorder
    - likely
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void rtp_pcm_decode(struct vlc_rtp_pt *pt, void *data, block_t *block,\n
      \                          const struct vlc_rtp_pktinfo *restrict info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/rtp/pcm.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pt
    argTypes:
    - struct vlc_rtp_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: rtp_pcm_release
    functionSourceFile: /src/vlc/modules/access/rtp/pcm.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void rtp_pcm_release(struct vlc_rtp_pt *pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/rtp/pcm.c:148,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/access/rtp/pcm.c:154,1
    - Dst: vlc_rtp_pt_request_es
      Src: /src/vlc/modules/access/rtp/pcm.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - pt
    argTypes:
    - struct vlc_rtp_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 156
    functionName: rtp_g722_init
    functionSourceFile: /src/vlc/modules/access/rtp/pcm.c
    functionUses: 0
    functionsReached:
    - aout_FormatPrepare
    - vlc_rtp_pt_request_es
    - es_format_Init
    linkageType: ''
    returnType: void
    signature: void *rtp_g722_init(struct vlc_rtp_pt *pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/rtp/pcm.c:168,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/access/rtp/pcm.c:174,1
    - Dst: vlc_rtp_pt_request_es
      Src: /src/vlc/modules/access/rtp/pcm.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pt
    argTypes:
    - struct vlc_rtp_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 176
    functionName: rtp_g726_init
    functionSourceFile: /src/vlc/modules/access/rtp/pcm.c
    functionUses: 0
    functionsReached:
    - aout_FormatPrepare
    - vlc_rtp_pt_request_es
    - es_format_Init
    linkageType: ''
    returnType: void
    signature: void *rtp_g726_init(struct vlc_rtp_pt *pt)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/rtp/pcm.c:217,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/rtp/pcm.c:221,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/rtp/pcm.c:225,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/rtp/pcm.c:229,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/rtp/pcm.c:233,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/rtp/pcm.c:237,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/rtp/pcm.c:241,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/rtp/pcm.c:246,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/rtp/pcm.c:247,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/rtp/pcm.c:252,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/rtp/pcm.c:255,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/rtp/pcm.c:259,1
    - Dst: malloc
      Src: /src/vlc/modules/access/rtp/pcm.c:267,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/rtp/pcm.c:268,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/rtp/pcm.c:276,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/pcm.c:278,1
    - Dst: stdc_count_ones
      Src: /src/vlc/modules/access/rtp/pcm.c:278,1
    - Dst: aout_CheckChannelReorder
      Src: /src/vlc/modules/access/rtp/pcm.c:288,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/rtp/pcm.c:293,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 69
    argCount: 3
    argNames:
    - obj
    - pt
    - desc
    argTypes:
    - vlc_object_t*
    - struct vlc_rtp_pt*
    - struct vlc_sdp_pt*
    assertStmts:
    - condition: (stdc_count_ones(sys->channel_mask) == sys->channel_count)
      pos:
        line_end: 277
        line_start: 277
        source_file: /src/vlc/modules/access/rtp/pcm.c
    constantsTouched: []
    func_position:
      end: 300
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 300
    functionName: rtp_pcm_open
    functionSourceFile: /src/vlc/modules/access/rtp/pcm.c
    functionUses: 0
    functionsReached:
    - sscanf
    - assert
    - vlc_ascii_strcasecmp
    - ARRAY_SIZE
    - aout_CheckChannelReorder
    - stdc_count_ones
    - msg_Warn
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: "int rtp_pcm_open(vlc_object_t *obj, struct vlc_rtp_pt *pt,\n                        const
      struct vlc_sdp_pt *desc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/rtp/opus.c:38,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/rtp/opus.c:41,1
    - Dst: malloc
      Src: /src/vlc/modules/access/rtp/opus.c:47,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/rtp/opus.c:51,1
    - Dst: vlc_rtp_pt_request_es
      Src: /src/vlc/modules/access/rtp/opus.c:53,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/access/rtp/opus.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pt
    argTypes:
    - struct vlc_rtp_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 57
    functionName: rtp_opus_init
    functionSourceFile: /src/vlc/modules/access/rtp/opus.c
    functionUses: 0
    functionsReached:
    - es_format_Clean
    - memcpy
    - es_format_Init
    - vlc_rtp_pt_request_es
    - malloc
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void *rtp_opus_init(struct vlc_rtp_pt *pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/rtp/opus.c:61,1
    - Dst: vlc_rtp_es_destroy
      Src: /src/vlc/modules/access/rtp/opus.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pt
    - data
    argTypes:
    - struct vlc_rtp_pt*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: rtp_opus_destroy
    functionSourceFile: /src/vlc/modules/access/rtp/opus.c
    functionUses: 0
    functionsReached:
    - vlc_rtp_es_destroy
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void rtp_opus_destroy(struct vlc_rtp_pt *pt, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/rtp/opus.c:69,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/rtp/opus.c:69,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/rtp/opus.c:74,1
    - Dst: vlc_rtp_es_send
      Src: /src/vlc/modules/access/rtp/opus.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - pt
    - data
    - block
    - info
    argTypes:
    - struct vlc_rtp_pt*
    - void*
    - block_t*
    - struct vlc_rtp_pktinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 79
    functionName: rtp_opus_decode
    functionSourceFile: /src/vlc/modules/access/rtp/opus.c
    functionUses: 0
    functionsReached:
    - block_Release
    - vlc_rtp_es_send
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void rtp_opus_decode(struct vlc_rtp_pt *pt, void *data, block_t *block,\n
      \                          const struct vlc_rtp_pktinfo *restrict info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/rtp/opus.c:88,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/rtp/opus.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - obj
    - pt
    - desc
    argTypes:
    - vlc_object_t*
    - struct vlc_rtp_pt*
    - struct vlc_sdp_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 98
    functionName: rtp_opus_open
    functionSourceFile: /src/vlc/modules/access/rtp/opus.c
    functionUses: 0
    functionsReached:
    - vlc_ascii_strcasecmp
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int rtp_opus_open(vlc_object_t *obj, struct vlc_rtp_pt *pt,\n                        const
      struct vlc_sdp_pt *desc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/rtp/session.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - max_dropout
    - max_misorder
    - max_src
    - timeout
    argTypes:
    - uint16_t
    - uint16_t
    - uint8_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 82
    functionName: rtp_session_create_custom
    functionSourceFile: /src/vlc/modules/access/rtp/session.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: rtp_session_t
    signature: "rtp_session_t *\nrtp_session_create_custom (uint16_t max_dropout,
      uint16_t max_misorder,\n                           uint8_t max_src, vlc_tick_t
      timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtp_session_create_custom
      Src: /src/vlc/modules/access/rtp/session.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: rtp_session_create
    functionSourceFile: /src/vlc/modules/access/rtp/session.c
    functionUses: 0
    functionsReached:
    - rtp_session_create_custom
    linkageType: ''
    returnType: rtp_session_t
    signature: 'rtp_session_t *

      rtp_session_create (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtp_source_destroy
      Src: /src/vlc/modules/access/rtp/session.c:99,1
    - Dst: vlc_rtp_pt_release
      Src: /src/vlc/modules/access/rtp/session.c:102,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/session.c:104,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/session.c:105,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/session.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - logger
    - session
    argTypes:
    - struct vlc_logger*
    - rtp_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 107
    functionName: rtp_session_destroy
    functionSourceFile: /src/vlc/modules/access/rtp/session.c
    functionUses: 0
    functionsReached:
    - free
    - rtp_source_destroy
    - vlc_rtp_pt_release
    linkageType: ''
    returnType: void
    signature: void rtp_session_destroy (struct vlc_logger *logger, rtp_session_t
      *session)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/session.c:114,1
    - Dst: realloc
      Src: /src/vlc/modules/access/rtp/session.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ses
    - pt
    argTypes:
    - rtp_session_t*
    - rtp_pt_t*
    assertStmts:
    - condition: (pt->frequency > 0)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/vlc/modules/access/rtp/session.c
    constantsTouched: []
    func_position:
      end: 126
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 126
    functionName: rtp_add_type
    functionSourceFile: /src/vlc/modules/access/rtp/session.c
    functionUses: 0
    functionsReached:
    - realloc
    - assert
    linkageType: ''
    returnType: int
    signature: int rtp_add_type(rtp_session_t *ses, rtp_pt_t *pt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/rtp/session.c:159,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/access/rtp/session.c:166,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/access/rtp/session.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - logger
    - session
    - ssrc
    - init_seq
    argTypes:
    - struct vlc_logger*
    - rtp_session_t*
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 173
    functionName: rtp_source_create
    functionSourceFile: /src/vlc/modules/access/rtp/session.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    - vlc_debug
    - malloc
    linkageType: ''
    returnType: rtp_source_t
    signature: "rtp_source_t *\nrtp_source_create (struct vlc_logger *logger, const
      rtp_session_t *session,\n                   uint32_t ssrc, uint16_t init_seq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_debug
      Src: /src/vlc/modules/access/rtp/session.c:181,1
    - Dst: vlc_rtp_pt_end
      Src: /src/vlc/modules/access/rtp/session.c:183,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/access/rtp/session.c:184,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/session.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - logger
    - source
    argTypes:
    - struct vlc_logger*
    - rtp_source_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 186
    functionName: rtp_source_destroy
    functionSourceFile: /src/vlc/modules/access/rtp/session.c
    functionUses: 1
    functionsReached:
    - block_ChainRelease
    - vlc_rtp_pt_end
    - free
    - vlc_debug
    linkageType: ''
    returnType: void
    signature: void rtp_source_destroy(struct vlc_logger *logger, rtp_source_t *source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/session.c:190,1
    - Dst: GetWBE
      Src: /src/vlc/modules/access/rtp/session.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - block
    argTypes:
    - block_t*
    assertStmts:
    - condition: (block->i_buffer >= 4)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/vlc/modules/access/rtp/session.c
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: rtp_seq
    functionSourceFile: /src/vlc/modules/access/rtp/session.c
    functionUses: 1
    functionsReached:
    - GetWBE
    - assert
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t rtp_seq (const block_t *block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/session.c:196,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/access/rtp/session.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - block
    argTypes:
    - block_t*
    assertStmts:
    - condition: (block->i_buffer >= 12)
      pos:
        line_end: 195
        line_start: 195
        source_file: /src/vlc/modules/access/rtp/session.c
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: rtp_timestamp
    functionSourceFile: /src/vlc/modules/access/rtp/session.c
    functionUses: 0
    functionsReached:
    - assert
    - GetDWBE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rtp_timestamp (const block_t *block)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtp_ptype
      Src: /src/vlc/modules/access/rtp/session.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - session
    - block
    argTypes:
    - rtp_session_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 213
    functionName: rtp_find_ptype
    functionSourceFile: /src/vlc/modules/access/rtp/session.c
    functionUses: 0
    functionsReached:
    - rtp_ptype
    linkageType: ''
    returnType: struct vlc_rtp_pt
    signature: "struct vlc_rtp_pt *rtp_find_ptype(const rtp_session_t *session,\n
      \                                        const block_t *block)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/rtp/session.c:241,1
    - Dst: rtp_seq
      Src: /src/vlc/modules/access/rtp/session.c:243,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/access/rtp/session.c:244,1
    - Dst: rtp_source_destroy
      Src: /src/vlc/modules/access/rtp/session.c:259,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/access/rtp/session.c:270,1
    - Dst: realloc
      Src: /src/vlc/modules/access/rtp/session.c:275,1
    - Dst: rtp_source_create
      Src: /src/vlc/modules/access/rtp/session.c:280,1
    - Dst: rtp_find_ptype
      Src: /src/vlc/modules/access/rtp/session.c:289,1
    - Dst: rtp_timestamp
      Src: /src/vlc/modules/access/rtp/session.c:297,1
    - Dst: samples_from_vlc_tick
      Src: /src/vlc/modules/access/rtp/session.c:298,1
    - Dst: rtp_timestamp
      Src: /src/vlc/modules/access/rtp/session.c:306,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/access/rtp/session.c:319,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/access/rtp/session.c:325,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/access/rtp/session.c:326,1
    - Dst: rtp_seq
      Src: /src/vlc/modules/access/rtp/session.c:344,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/access/rtp/session.c:349,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/rtp/session.c:361,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 84
    argCount: 3
    argNames:
    - logger
    - session
    - block
    argTypes:
    - struct vlc_logger*
    - rtp_session_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 362
    functionName: rtp_queue
    functionSourceFile: /src/vlc/modules/access/rtp/session.c
    functionUses: 0
    functionsReached:
    - samples_from_vlc_tick
    - vlc_tick_now
    - vlc_warning
    - block_Release
    - block_ChainRelease
    - rtp_source_create
    - realloc
    - rtp_find_ptype
    - rtp_timestamp
    - GetDWBE
    - vlc_debug
    - rtp_seq
    - rtp_source_destroy
    linkageType: ''
    returnType: void
    signature: void rtp_queue (struct vlc_logger *logger, rtp_session_t *session,
      block_t *block)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rtp_seq
      Src: /src/vlc/modules/access/rtp/session.c:408,1
    - Dst: rtp_decode
      Src: /src/vlc/modules/access/rtp/session.c:410,1
    - Dst: rtp_find_ptype
      Src: /src/vlc/modules/access/rtp/session.c:418,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/access/rtp/session.c:420,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/rtp/session.c:425,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/rtp/session.c:426,1
    - Dst: rtp_decode
      Src: /src/vlc/modules/access/rtp/session.c:436,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - logger
    - session
    - now
    - deadlinep
    argTypes:
    - struct vlc_logger*
    - rtp_session_t*
    - vlc_tick_t
    - vlc_tick_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 446
    functionName: rtp_dequeue
    functionSourceFile: /src/vlc/modules/access/rtp/session.c
    functionUses: 0
    functionsReached:
    - rtp_decode
    - VLC_TICK_FROM_MS
    - rtp_find_ptype
    - vlc_tick_from_samples
    - rtp_seq
    linkageType: ''
    returnType: bool
    signature: "bool rtp_dequeue (struct vlc_logger *logger, const rtp_session_t *session,\n
      \                 vlc_tick_t now, vlc_tick_t *restrict deadlinep)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/session.c:456,1
    - Dst: rtp_seq
      Src: /src/vlc/modules/access/rtp/session.c:461,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/access/rtp/session.c:466,1
    - Dst: rtp_seq
      Src: /src/vlc/modules/access/rtp/session.c:467,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/access/rtp/session.c:470,1
    - Dst: rtp_seq
      Src: /src/vlc/modules/access/rtp/session.c:473,1
    - Dst: rtp_find_ptype
      Src: /src/vlc/modules/access/rtp/session.c:476,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/access/rtp/session.c:479,1
    - Dst: rtp_ptype
      Src: /src/vlc/modules/access/rtp/session.c:480,1
    - Dst: vlc_rtp_pt_end
      Src: /src/vlc/modules/access/rtp/session.c:487,1
    - Dst: vlc_rtp_pt_begin
      Src: /src/vlc/modules/access/rtp/session.c:490,1
    - Dst: rtp_timestamp
      Src: /src/vlc/modules/access/rtp/session.c:497,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/access/rtp/session.c:502,1
    - Dst: GetWBE
      Src: /src/vlc/modules/access/rtp/session.c:519,1
    - Dst: vlc_rtp_pt_decode
      Src: /src/vlc/modules/access/rtp/session.c:533,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/rtp/session.c:537,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 3
    argNames:
    - logger
    - session
    - src
    argTypes:
    - struct vlc_logger*
    - rtp_session_t*
    - rtp_source_t*
    assertStmts:
    - condition: (block)
      pos:
        line_end: 455
        line_start: 455
        source_file: /src/vlc/modules/access/rtp/session.c
    constantsTouched: []
    func_position:
      end: 538
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 538
    functionName: rtp_decode
    functionSourceFile: /src/vlc/modules/access/rtp/session.c
    functionUses: 1
    functionsReached:
    - GetWBE
    - block_Release
    - assert
    - vlc_warning
    - vlc_rtp_pt_decode
    - vlc_rtp_pt_begin
    - rtp_ptype
    - rtp_find_ptype
    - rtp_timestamp
    - vlc_tick_from_samples
    - vlc_debug
    - rtp_seq
    - vlc_rtp_pt_end
    linkageType: ''
    returnType: void
    signature: void rtp_decode (struct vlc_logger *logger, const rtp_session_t *session,
      rtp_source_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/access/rtp/rtp.c:65,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/access/rtp/rtp.c:67,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/rtp.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - es
    argTypes:
    - struct vlc_rtp_es*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: vlc_rtp_es_id_destroy
    functionSourceFile: /src/vlc/modules/access/rtp/rtp.c
    functionUses: 0
    functionsReached:
    - free
    - es_out_Del
    - container_of
    linkageType: ''
    returnType: void
    signature: void vlc_rtp_es_id_destroy(struct vlc_rtp_es *es)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/access/rtp/rtp.c:73,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/rtp/rtp.c:80,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/rtp/rtp.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - es
    - block
    argTypes:
    - struct vlc_rtp_es*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 82
    functionName: vlc_rtp_es_id_send
    functionSourceFile: /src/vlc/modules/access/rtp/rtp.c
    functionUses: 0
    functionsReached:
    - es_out_Send
    - es_out_SetPCR
    - container_of
    linkageType: ''
    returnType: void
    signature: void vlc_rtp_es_id_send(struct vlc_rtp_es *es, block_t *block)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/rtp/rtp.c:93,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/rtp/rtp.c:94,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/rtp/rtp.c:99,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/rtp.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pt
    - fmt
    argTypes:
    - struct vlc_rtp_pt*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 105
    functionName: vlc_rtp_es_request
    functionSourceFile: /src/vlc/modules/access/rtp/rtp.c
    functionUses: 0
    functionsReached:
    - free
    - unlikely
    - malloc
    - es_out_Add
    linkageType: ''
    returnType: struct vlc_rtp_es
    signature: "struct vlc_rtp_es *vlc_rtp_es_request(struct vlc_rtp_pt *pt,\n                                             const
      es_format_t *restrict fmt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/access/rtp/rtp.c:114,1
    - Dst: vlc_demux_chained_Delete
      Src: /src/vlc/modules/access/rtp/rtp.c:116,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/rtp.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - es
    argTypes:
    - struct vlc_rtp_es*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: vlc_rtp_es_mux_destroy
    functionSourceFile: /src/vlc/modules/access/rtp/rtp.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_demux_chained_Delete
    - container_of
    linkageType: ''
    returnType: void
    signature: void vlc_rtp_es_mux_destroy(struct vlc_rtp_es *es)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/access/rtp/rtp.c:122,1
    - Dst: vlc_demux_chained_Send
      Src: /src/vlc/modules/access/rtp/rtp.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - es
    - block
    argTypes:
    - struct vlc_rtp_es*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: vlc_rtp_es_mux_send
    functionSourceFile: /src/vlc/modules/access/rtp/rtp.c
    functionUses: 0
    functionsReached:
    - vlc_demux_chained_Send
    - container_of
    linkageType: ''
    returnType: void
    signature: void vlc_rtp_es_mux_send(struct vlc_rtp_es *es, block_t *block)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/rtp/rtp.c:136,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/rtp/rtp.c:137,1
    - Dst: vlc_demux_chained_New
      Src: /src/vlc/modules/access/rtp/rtp.c:141,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/rtp/rtp.c:141,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/rtp.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pt
    - name
    argTypes:
    - struct vlc_rtp_pt*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 148
    functionName: vlc_rtp_mux_request
    functionSourceFile: /src/vlc/modules/access/rtp/rtp.c
    functionUses: 0
    functionsReached:
    - free
    - VLC_OBJECT
    - vlc_demux_chained_New
    - unlikely
    - malloc
    linkageType: ''
    returnType: struct vlc_rtp_es
    signature: "struct vlc_rtp_es *vlc_rtp_mux_request(struct vlc_rtp_pt *pt,\n                                              const
      char *name)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vlc/modules/access/rtp/rtp.c:160,1
    - Dst: snprintf
      Src: /src/vlc/modules/access/rtp/rtp.c:163,1
    - Dst: vlc_module_match
      Src: /src/vlc/modules/access/rtp/rtp.c:168,1
    - Dst: vlc_module_map
      Src: /src/vlc/modules/access/rtp/rtp.c:171,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/access/rtp/rtp.c:171,1
    - Dst: cb
      Src: /src/vlc/modules/access/rtp/rtp.c:175,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/rtp/rtp.c:177,1
    - Dst: module_get_name
      Src: /src/vlc/modules/access/rtp/rtp.c:177,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/rtp.c:178,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/rtp.c:184,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - obj
    - pt
    - desc
    argTypes:
    - vlc_object_t*
    - struct vlc_rtp_pt*
    - struct vlc_sdp_pt*
    assertStmts:
    - condition: (pt->ops != NULL)
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/vlc/modules/access/rtp/rtp.c
    constantsTouched: []
    func_position:
      end: 186
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 186
    functionName: vlc_rtp_pt_instantiate
    functionSourceFile: /src/vlc/modules/access/rtp/rtp.c
    functionUses: 0
    functionsReached:
    - strchr
    - assert
    - module_get_name
    - vlc_object_logger
    - cb
    - free
    - msg_Dbg
    - snprintf
    - vlc_module_match
    - vlc_module_map
    linkageType: ''
    returnType: int
    signature: "int vlc_rtp_pt_instantiate(vlc_object_t *obj, struct vlc_rtp_pt *restrict
      pt,\n                           const struct vlc_sdp_pt *restrict desc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vlc/modules/access/rtp/rtp.c:202,1
    - Dst: strchr
      Src: /src/vlc/modules/access/rtp/rtp.c:207,1
    - Dst: atoi
      Src: /src/vlc/modules/access/rtp/rtp.c:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - phost
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 213
    functionName: extract_port
    functionSourceFile: /src/vlc/modules/access/rtp/rtp.c
    functionUses: 0
    functionsReached:
    - atoi
    - strchr
    linkageType: ''
    returnType: int
    signature: int extract_port (char **phost)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/rtp/rtp.c:225,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/rtp/rtp.c:225,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/rtp/rtp.c:233,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/rtp/rtp.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 3
    argNames:
    - demux
    - query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 257
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/rtp/rtp.c
    functionUses: 40
    functionsReached:
    - var_InheritInteger
    - va_arg
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: int
    signature: int Control (demux_t *demux, int query, va_list args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_cancel
      Src: /src/vlc/modules/access/rtp/rtp.c:267,1
    - Dst: vlc_join
      Src: /src/vlc/modules/access/rtp/rtp.c:268,1
    - Dst: srtp_destroy
      Src: /src/vlc/modules/access/rtp/rtp.c:271,1
    - Dst: rtp_session_destroy
      Src: /src/vlc/modules/access/rtp/rtp.c:273,1
    - Dst: vlc_dtls_Close
      Src: /src/vlc/modules/access/rtp/rtp.c:275,1
    - Dst: vlc_dtls_Close
      Src: /src/vlc/modules/access/rtp/rtp.c:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 277
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/rtp/rtp.c
    functionUses: 55
    functionsReached:
    - vlc_cancel
    - srtp_destroy
    - vlc_join
    - vlc_dtls_Close
    - rtp_session_destroy
    linkageType: ''
    returnType: void
    signature: void Close (vlc_object_t *obj)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/rtp.c:285,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/access/rtp/rtp.c:287,1
    - Dst: memcmp
      Src: /src/vlc/modules/access/rtp/rtp.c:287,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/access/rtp/rtp.c:290,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/rtp/rtp.c:293,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/access/rtp/rtp.c:298,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/access/rtp/rtp.c:302,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/rtp/rtp.c:303,1
    - Dst: vlc_sdp_parse
      Src: /src/vlc/modules/access/rtp/rtp.c:313,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/rtp/rtp.c:315,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/rtp/rtp.c:321,1
    - Dst: vlc_sdp_media_attr_value
      Src: /src/vlc/modules/access/rtp/rtp.c:325,1
    - Dst: vlc_sdp_attr_value
      Src: /src/vlc/modules/access/rtp/rtp.c:326,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/rtp/rtp.c:327,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/rtp/rtp.c:333,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/rtp/rtp.c:340,1
    - Dst: vlc_sdp_media_attr_present
      Src: /src/vlc/modules/access/rtp/rtp.c:347,1
    - Dst: vlc_sdp_media_attr_value
      Src: /src/vlc/modules/access/rtp/rtp.c:348,1
    - Dst: strtoul
      Src: /src/vlc/modules/access/rtp/rtp.c:353,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/rtp/rtp.c:356,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/rtp/rtp.c:374,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/rtp/rtp.c:375,1
    - Dst: vlc_sdp_media_attr_value
      Src: /src/vlc/modules/access/rtp/rtp.c:381,1
    - Dst: vlc_sdp_attr_value
      Src: /src/vlc/modules/access/rtp/rtp.c:383,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/rtp/rtp.c:387,1
    - Dst: net_OpenDgram
      Src: /src/vlc/modules/access/rtp/rtp.c:391,1
    - Dst: vlc_datagram_CreateFD
      Src: /src/vlc/modules/access/rtp/rtp.c:395,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/rtp/rtp.c:396,1
    - Dst: net_Close
      Src: /src/vlc/modules/access/rtp/rtp.c:397,1
    - Dst: net_OpenDgram
      Src: /src/vlc/modules/access/rtp/rtp.c:402,1
    - Dst: vlc_datagram_CreateFD
      Src: /src/vlc/modules/access/rtp/rtp.c:406,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/rtp/rtp.c:407,1
    - Dst: net_Close
      Src: /src/vlc/modules/access/rtp/rtp.c:408,1
    - Dst: rtp_session_create_custom
      Src: /src/vlc/modules/access/rtp/rtp.c:419,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/rtp/rtp.c:419,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/rtp/rtp.c:420,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/rtp/rtp.c:421,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/access/rtp/rtp.c:422,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/rtp/rtp.c:422,1
    - Dst: vlc_rtp_add_media_types
      Src: /src/vlc/modules/access/rtp/rtp.c:428,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/rtp/rtp.c:430,1
    - Dst: module_exists
      Src: /src/vlc/modules/access/rtp/rtp.c:433,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/access/rtp/rtp.c:436,1
    - Dst: rtp_session_destroy
      Src: /src/vlc/modules/access/rtp/rtp.c:437,1
    - Dst: vlc_sdp_free
      Src: /src/vlc/modules/access/rtp/rtp.c:441,1
    - Dst: vlc_dtls_Close
      Src: /src/vlc/modules/access/rtp/rtp.c:446,1
    - Dst: vlc_dtls_Close
      Src: /src/vlc/modules/access/rtp/rtp.c:448,1
    - Dst: vlc_sdp_free
      Src: /src/vlc/modules/access/rtp/rtp.c:449,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 122
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: (demux->out != NULL)
      pos:
        line_end: 284
        line_start: 284
        source_file: /src/vlc/modules/access/rtp/rtp.c
    constantsTouched: []
    func_position:
      end: 451
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 451
    functionName: OpenSDP
    functionSourceFile: /src/vlc/modules/access/rtp/rtp.c
    functionUses: 0
    functionsReached:
    - sscanf
    - assert
    - vlc_obj_malloc
    - net_Close
    - vlc_sdp_media_attr_value
    - rtp_session_create_custom
    - memcmp
    - strtoul
    - msg_Err
    - msg_Dbg
    - vlc_rtp_add_media_types
    - vlc_sdp_free
    - vlc_stream_GetSize
    - rtp_session_destroy
    - var_InheritInteger
    - strcmp
    - vlc_dtls_Close
    - vlc_sdp_parse
    - vlc_stream_Peek
    - vlc_clone
    - vlc_tick_from_sec
    - unlikely
    - module_exists
    - vlc_sdp_attr_value
    - vlc_sdp_media_attr_present
    - net_OpenDgram
    - vlc_datagram_CreateFD
    linkageType: ''
    returnType: int
    signature: int OpenSDP(vlc_object_t *obj)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/rtp/rtp.c:464,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/rtp/rtp.c:467,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/access/rtp/rtp.c:472,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/rtp/rtp.c:473,1
    - Dst: strdup
      Src: /src/vlc/modules/access/rtp/rtp.c:476,1
    - Dst: strchr
      Src: /src/vlc/modules/access/rtp/rtp.c:481,1
    - Dst: extract_port
      Src: /src/vlc/modules/access/rtp/rtp.c:496,1
    - Dst: extract_port
      Src: /src/vlc/modules/access/rtp/rtp.c:498,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/access/rtp/rtp.c:502,1
    - Dst: net_OpenDgram
      Src: /src/vlc/modules/access/rtp/rtp.c:511,1
    - Dst: net_OpenDgram
      Src: /src/vlc/modules/access/rtp/rtp.c:515,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/rtp/rtp.c:525,1
    - Dst: var_SetString
      Src: /src/vlc/modules/access/rtp/rtp.c:526,1
    - Dst: net_Connect
      Src: /src/vlc/modules/access/rtp/rtp.c:527,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/rtp/rtp.c:530,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/rtp.c:535,1
    - Dst: net_Close
      Src: /src/vlc/modules/access/rtp/rtp.c:543,1
    - Dst: net_SetCSCov
      Src: /src/vlc/modules/access/rtp/rtp.c:546,1
    - Dst: vlc_datagram_CreateFD
      Src: /src/vlc/modules/access/rtp/rtp.c:549,1
    - Dst: net_Close
      Src: /src/vlc/modules/access/rtp/rtp.c:551,1
    - Dst: rtp_session_create_custom
      Src: /src/vlc/modules/access/rtp/rtp.c:564,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/rtp/rtp.c:565,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/rtp/rtp.c:566,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/rtp/rtp.c:567,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/access/rtp/rtp.c:568,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/rtp/rtp.c:568,1
    - Dst: rtp_autodetect
      Src: /src/vlc/modules/access/rtp/rtp.c:573,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/rtp/rtp.c:573,1
    - Dst: var_CreateGetNonEmptyString
      Src: /src/vlc/modules/access/rtp/rtp.c:576,1
    - Dst: vlc_gcrypt_init
      Src: /src/vlc/modules/access/rtp/rtp.c:579,1
    - Dst: srtp_create
      Src: /src/vlc/modules/access/rtp/rtp.c:580,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/rtp.c:584,1
    - Dst: var_CreateGetNonEmptyString
      Src: /src/vlc/modules/access/rtp/rtp.c:588,1
    - Dst: srtp_setkeystring
      Src: /src/vlc/modules/access/rtp/rtp.c:589,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/rtp.c:590,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/rtp.c:591,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/rtp/rtp.c:594,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/rtp/rtp.c:595,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/access/rtp/rtp.c:601,1
    - Dst: srtp_destroy
      Src: /src/vlc/modules/access/rtp/rtp.c:608,1
    - Dst: rtp_session_destroy
      Src: /src/vlc/modules/access/rtp/rtp.c:611,1
    - Dst: vlc_dtls_Close
      Src: /src/vlc/modules/access/rtp/rtp.c:613,1
    - Dst: vlc_dtls_Close
      Src: /src/vlc/modules/access/rtp/rtp.c:614,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 98
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 456
    functionDepth: 2
    functionLinenumber: 456
    functionLinenumberEnd: 616
    functionName: OpenURL
    functionSourceFile: /src/vlc/modules/access/rtp/rtp.c
    functionUses: 0
    functionsReached:
    - strchr
    - vlc_strerror_c
    - vlc_obj_malloc
    - var_CreateGetNonEmptyString
    - net_Close
    - rtp_session_create_custom
    - srtp_create
    - var_Create
    - msg_Err
    - strcasecmp
    - rtp_session_destroy
    - net_Connect
    - strdup
    - var_InheritInteger
    - srtp_destroy
    - srtp_setkeystring
    - vlc_gcrypt_init
    - vlc_dtls_Close
    - net_SetCSCov
    - extract_port
    - vlc_clone
    - vlc_tick_from_sec
    - unlikely
    - net_OpenDgram
    - free
    - var_CreateGetInteger
    - VLC_OBJECT
    - var_SetString
    - vlc_datagram_CreateFD
    - rtp_autodetect
    linkageType: ''
    returnType: int
    signature: int OpenURL(vlc_object_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/rtp/xiph.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pt
    argTypes:
    - struct vlc_rtp_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: xiph_init
    functionSourceFile: /src/vlc/modules/access/rtp/xiph.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: void *xiph_init(struct vlc_rtp_pt *pt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_rtp_es_send
      Src: /src/vlc/modules/access/rtp/xiph.c:73,1
    - Dst: vlc_rtp_es_destroy
      Src: /src/vlc/modules/access/rtp/xiph.c:75,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/xiph.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pt
    - data
    argTypes:
    - struct vlc_rtp_pt*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: xiph_destroy
    functionSourceFile: /src/vlc/modules/access/rtp/xiph.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_rtp_es_destroy
    - vlc_rtp_es_send
    linkageType: ''
    returnType: void
    signature: void xiph_destroy(struct vlc_rtp_pt *pt, void *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: xiph_PackHeaders
      Src: /src/vlc/modules/access/rtp/xiph.c:124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - pextra
    - buf
    - len
    argTypes:
    - void**
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 128
    functionName: xiph_header
    functionSourceFile: /src/vlc/modules/access/rtp/xiph.c
    functionUses: 0
    functionsReached:
    - xiph_PackHeaders
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t xiph_header (void **pextra, const uint8_t *buf, size_t len)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: GetDWBE
      Src: /src/vlc/modules/access/rtp/xiph.c:140,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/rtp/xiph.c:152,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/rtp/xiph.c:153,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/rtp/xiph.c:161,1
    - Dst: GetWBE
      Src: /src/vlc/modules/access/rtp/xiph.c:176,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/access/rtp/xiph.c:188,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/rtp/xiph.c:191,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/rtp/xiph.c:194,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/rtp/xiph.c:196,1
    - Dst: SetWBE
      Src: /src/vlc/modules/access/rtp/xiph.c:204,1
    - Dst: GetWBE
      Src: /src/vlc/modules/access/rtp/xiph.c:214,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/rtp/xiph.c:226,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/rtp/xiph.c:230,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/rtp/xiph.c:231,1
    - Dst: vlc_rtp_es_send
      Src: /src/vlc/modules/access/rtp/xiph.c:234,1
    - Dst: xiph_header
      Src: /src/vlc/modules/access/rtp/xiph.c:244,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/rtp/xiph.c:249,1
    - Dst: vlc_rtp_es_destroy
      Src: /src/vlc/modules/access/rtp/xiph.c:252,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/rtp/xiph.c:253,1
    - Dst: vlc_rtp_pt_request_es
      Src: /src/vlc/modules/access/rtp/xiph.c:256,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/rtp/xiph.c:268,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 93
    argCount: 4
    argNames:
    - pt
    - data
    - block
    - info
    argTypes:
    - struct vlc_rtp_pt*
    - void*
    - block_t*
    - struct vlc_rtp_pktinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 269
    functionName: xiph_decode
    functionSourceFile: /src/vlc/modules/access/rtp/xiph.c
    functionUses: 0
    functionsReached:
    - GetWBE
    - block_Release
    - block_Realloc
    - SetWBE
    - vlc_rtp_es_destroy
    - memcpy
    - es_format_Init
    - block_Alloc
    - xiph_header
    - GetDWBE
    - msg_Dbg
    - msg_Warn
    - vlc_rtp_pt_request_es
    - vlc_rtp_es_send
    linkageType: ''
    returnType: void
    signature: "void xiph_decode(struct vlc_rtp_pt *pt, void *data, block_t *block,\n
      \                       const struct vlc_rtp_pktinfo *restrict info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/rtp/xiph.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pt
    argTypes:
    - struct vlc_rtp_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: xiph_release
    functionSourceFile: /src/vlc/modules/access/rtp/xiph.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void xiph_release(struct vlc_rtp_pt *pt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/rtp/xiph.c:284,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/rtp/xiph.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - obj
    - pt
    - desc
    - cat
    - fourcc
    argTypes:
    - vlc_object_t*
    - struct vlc_rtp_pt*
    - struct vlc_sdp_pt*
    - int
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 295
    functionName: xiph_open
    functionSourceFile: /src/vlc/modules/access/rtp/xiph.c
    functionUses: 0
    functionsReached:
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: "int xiph_open(vlc_object_t *obj, struct vlc_rtp_pt *pt,\n                     const
      struct vlc_sdp_pt *desc,\n                     int cat, vlc_fourcc_t fourcc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xiph_open
      Src: /src/vlc/modules/access/rtp/xiph.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - obj
    - pt
    - desc
    argTypes:
    - vlc_object_t*
    - struct vlc_rtp_pt*
    - struct vlc_sdp_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 302
    functionName: vorbis_open
    functionSourceFile: /src/vlc/modules/access/rtp/xiph.c
    functionUses: 0
    functionsReached:
    - xiph_open
    linkageType: ''
    returnType: int
    signature: "int vorbis_open(vlc_object_t *obj, struct vlc_rtp_pt *pt,\n                       const
      struct vlc_sdp_pt *desc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xiph_open
      Src: /src/vlc/modules/access/rtp/xiph.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - obj
    - pt
    - desc
    argTypes:
    - vlc_object_t*
    - struct vlc_rtp_pt*
    - struct vlc_sdp_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: theora_open
    functionSourceFile: /src/vlc/modules/access/rtp/xiph.c
    functionUses: 0
    functionsReached:
    - xiph_open
    linkageType: ''
    returnType: int
    signature: "int theora_open(vlc_object_t *obj, struct vlc_rtp_pt *pt,\n                       const
      struct vlc_sdp_pt *desc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/vlc/modules/access/rtp/sdp.c:38,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: istokenchar
    functionSourceFile: /src/vlc/modules/access/rtp/sdp.c
    functionUses: 0
    functionsReached:
    - memchr
    linkageType: ''
    returnType: bool
    signature: bool istokenchar(unsigned char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: istokenchar
      Src: /src/vlc/modules/access/rtp/sdp.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: vlc_sdp_token_length
    functionSourceFile: /src/vlc/modules/access/rtp/sdp.c
    functionUses: 0
    functionsReached:
    - istokenchar
    linkageType: ''
    returnType: size_t
    signature: size_t vlc_sdp_token_length(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sdp_token_length
      Src: /src/vlc/modules/access/rtp/sdp.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: vlc_sdp_is_token
    functionSourceFile: /src/vlc/modules/access/rtp/sdp.c
    functionUses: 0
    functionsReached:
    - vlc_sdp_token_length
    linkageType: ''
    returnType: bool
    signature: bool vlc_sdp_is_token(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/rtp/sdp.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct vlc_sdp_conn**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: vlc_sdp_conn_free
    functionSourceFile: /src/vlc/modules/access/rtp/sdp.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void vlc_sdp_conn_free(struct vlc_sdp_conn **conn)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/vlc/modules/access/rtp/sdp.c:71,1
    - Dst: memchr
      Src: /src/vlc/modules/access/rtp/sdp.c:80,1
    - Dst: memchr
      Src: /src/vlc/modules/access/rtp/sdp.c:87,1
    - Dst: malloc
      Src: /src/vlc/modules/access/rtp/sdp.c:91,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/rtp/sdp.c:92,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/rtp/sdp.c:99,1
    - Dst: memcmp
      Src: /src/vlc/modules/access/rtp/sdp.c:102,1
    - Dst: memcmp
      Src: /src/vlc/modules/access/rtp/sdp.c:105,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/rtp/sdp.c:108,1
    - Dst: memcmp
      Src: /src/vlc/modules/access/rtp/sdp.c:111,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/rtp/sdp.c:114,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 122
    functionName: vlc_sdp_conn_parse
    functionSourceFile: /src/vlc/modules/access/rtp/sdp.c
    functionUses: 0
    functionsReached:
    - sscanf
    - memchr
    - memcpy
    - unlikely
    - malloc
    - memcmp
    linkageType: ''
    returnType: struct vlc_sdp_conn
    signature: struct vlc_sdp_conn *vlc_sdp_conn_parse(const char *str, size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sdp_token_length
      Src: /src/vlc/modules/access/rtp/sdp.c:126,1
    - Dst: malloc
      Src: /src/vlc/modules/access/rtp/sdp.c:132,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/rtp/sdp.c:133,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/rtp/sdp.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 145
    functionName: vlc_sdp_attr_parse
    functionSourceFile: /src/vlc/modules/access/rtp/sdp.c
    functionUses: 0
    functionsReached:
    - memcpy
    - unlikely
    - malloc
    - vlc_sdp_token_length
    linkageType: ''
    returnType: struct vlc_sdp_attr
    signature: struct vlc_sdp_attr *vlc_sdp_attr_parse(const char *str, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/rtp/sdp.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - attr
    argTypes:
    - struct vlc_sdp_attr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: vlc_sdp_attr_free
    functionSourceFile: /src/vlc/modules/access/rtp/sdp.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void vlc_sdp_attr_free(struct vlc_sdp_attr **attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sdp_conn_free
      Src: /src/vlc/modules/access/rtp/sdp.c:160,1
    - Dst: vlc_sdp_attr_free
      Src: /src/vlc/modules/access/rtp/sdp.c:162,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/sdp.c:165,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/sdp.c:166,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/sdp.c:167,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/sdp.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - media
    argTypes:
    - struct vlc_sdp_media**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 169
    functionName: vlc_sdp_media_free
    functionSourceFile: /src/vlc/modules/access/rtp/sdp.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_sdp_attr_free
    - vlc_sdp_conn_free
    linkageType: ''
    returnType: void
    signature: void vlc_sdp_media_free(struct vlc_sdp_media **media)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/vlc/modules/access/rtp/sdp.c:176,1
    - Dst: memchr
      Src: /src/vlc/modules/access/rtp/sdp.c:185,1
    - Dst: strtoul
      Src: /src/vlc/modules/access/rtp/sdp.c:192,1
    - Dst: strtoul
      Src: /src/vlc/modules/access/rtp/sdp.c:196,1
    - Dst: memchr
      Src: /src/vlc/modules/access/rtp/sdp.c:200,1
    - Dst: malloc
      Src: /src/vlc/modules/access/rtp/sdp.c:210,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/rtp/sdp.c:211,1
    - Dst: strndup
      Src: /src/vlc/modules/access/rtp/sdp.c:218,1
    - Dst: strndup
      Src: /src/vlc/modules/access/rtp/sdp.c:221,1
    - Dst: strndup
      Src: /src/vlc/modules/access/rtp/sdp.c:222,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/rtp/sdp.c:224,1
    - Dst: vlc_sdp_media_free
      Src: /src/vlc/modules/access/rtp/sdp.c:225,1
    - Dst: vlc_sdp_is_token
      Src: /src/vlc/modules/access/rtp/sdp.c:226,1
    - Dst: vlc_sdp_media_free
      Src: /src/vlc/modules/access/rtp/sdp.c:227,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 3
    argNames:
    - sdp
    - str
    - len
    argTypes:
    - struct vlc_sdp*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 232
    functionName: vlc_sdp_media_parse
    functionSourceFile: /src/vlc/modules/access/rtp/sdp.c
    functionUses: 0
    functionsReached:
    - strndup
    - vlc_sdp_media_free
    - memchr
    - strtoul
    - vlc_sdp_is_token
    - unlikely
    - malloc
    linkageType: ''
    returnType: struct vlc_sdp_media
    signature: "struct vlc_sdp_media *vlc_sdp_media_parse(struct vlc_sdp *sdp,\n                                                 const
      char *str, size_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/sdp.c:243,1
    - Dst: memchr
      Src: /src/vlc/modules/access/rtp/sdp.c:249,1
    - Dst: memchr
      Src: /src/vlc/modules/access/rtp/sdp.c:254,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - in
    - pp
    - lenp
    argTypes:
    - struct vlc_sdp_input*
    - char**
    - size_t*
    assertStmts:
    - condition: (in->end >= in->cursor)
      pos:
        line_end: 242
        line_start: 242
        source_file: /src/vlc/modules/access/rtp/sdp.c
    constantsTouched: []
    func_position:
      end: 276
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 276
    functionName: vlc_sdp_getline
    functionSourceFile: /src/vlc/modules/access/rtp/sdp.c
    functionUses: 0
    functionsReached:
    - assert
    - memchr
    linkageType: ''
    returnType: int
    signature: "int vlc_sdp_getline(struct vlc_sdp_input *restrict in,\n                           const
      char **restrict pp, size_t *restrict lenp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/access/rtp/sdp.c:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ap
    - name
    argTypes:
    - struct vlc_sdp_attr**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 286
    functionName: vlc_sdp_attr_first_by_name
    functionSourceFile: /src/vlc/modules/access/rtp/sdp.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: struct vlc_sdp_attr
    signature: "struct vlc_sdp_attr *vlc_sdp_attr_first_by_name(\n    struct vlc_sdp_attr
      *const *ap, const char *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sdp_media_free
      Src: /src/vlc/modules/access/rtp/sdp.c:291,1
    - Dst: vlc_sdp_attr_free
      Src: /src/vlc/modules/access/rtp/sdp.c:294,1
    - Dst: vlc_sdp_conn_free
      Src: /src/vlc/modules/access/rtp/sdp.c:297,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/sdp.c:299,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/sdp.c:300,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/sdp.c:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - sdp
    argTypes:
    - struct vlc_sdp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 302
    functionName: vlc_sdp_free
    functionSourceFile: /src/vlc/modules/access/rtp/sdp.c
    functionUses: 1
    functionsReached:
    - free
    - vlc_sdp_media_free
    - vlc_sdp_attr_free
    - vlc_sdp_conn_free
    linkageType: ''
    returnType: void
    signature: void vlc_sdp_free(struct vlc_sdp *sdp)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/vlc/modules/access/rtp/sdp.c:306,1
    - Dst: vlc_sdp_getline
      Src: /src/vlc/modules/access/rtp/sdp.c:318,1
    - Dst: memcmp
      Src: /src/vlc/modules/access/rtp/sdp.c:319,1
    - Dst: vlc_sdp_getline
      Src: /src/vlc/modules/access/rtp/sdp.c:325,1
    - Dst: malloc
      Src: /src/vlc/modules/access/rtp/sdp.c:330,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/rtp/sdp.c:331,1
    - Dst: vlc_sdp_getline
      Src: /src/vlc/modules/access/rtp/sdp.c:341,1
    - Dst: strndup
      Src: /src/vlc/modules/access/rtp/sdp.c:344,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/rtp/sdp.c:345,1
    - Dst: vlc_sdp_getline
      Src: /src/vlc/modules/access/rtp/sdp.c:348,1
    - Dst: strndup
      Src: /src/vlc/modules/access/rtp/sdp.c:352,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/rtp/sdp.c:353,1
    - Dst: vlc_sdp_getline
      Src: /src/vlc/modules/access/rtp/sdp.c:356,1
    - Dst: vlc_sdp_getline
      Src: /src/vlc/modules/access/rtp/sdp.c:361,1
    - Dst: vlc_sdp_getline
      Src: /src/vlc/modules/access/rtp/sdp.c:365,1
    - Dst: vlc_sdp_getline
      Src: /src/vlc/modules/access/rtp/sdp.c:369,1
    - Dst: vlc_sdp_conn_parse
      Src: /src/vlc/modules/access/rtp/sdp.c:373,1
    - Dst: vlc_sdp_getline
      Src: /src/vlc/modules/access/rtp/sdp.c:377,1
    - Dst: vlc_sdp_getline
      Src: /src/vlc/modules/access/rtp/sdp.c:382,1
    - Dst: vlc_sdp_getline
      Src: /src/vlc/modules/access/rtp/sdp.c:386,1
    - Dst: vlc_sdp_getline
      Src: /src/vlc/modules/access/rtp/sdp.c:390,1
    - Dst: vlc_sdp_getline
      Src: /src/vlc/modules/access/rtp/sdp.c:395,1
    - Dst: vlc_sdp_getline
      Src: /src/vlc/modules/access/rtp/sdp.c:399,1
    - Dst: vlc_sdp_attr_parse
      Src: /src/vlc/modules/access/rtp/sdp.c:403,1
    - Dst: vlc_sdp_getline
      Src: /src/vlc/modules/access/rtp/sdp.c:409,1
    - Dst: vlc_sdp_media_parse
      Src: /src/vlc/modules/access/rtp/sdp.c:414,1
    - Dst: vlc_sdp_getline
      Src: /src/vlc/modules/access/rtp/sdp.c:420,1
    - Dst: vlc_sdp_getline
      Src: /src/vlc/modules/access/rtp/sdp.c:424,1
    - Dst: vlc_sdp_conn_parse
      Src: /src/vlc/modules/access/rtp/sdp.c:428,1
    - Dst: vlc_sdp_getline
      Src: /src/vlc/modules/access/rtp/sdp.c:434,1
    - Dst: vlc_sdp_getline
      Src: /src/vlc/modules/access/rtp/sdp.c:439,1
    - Dst: vlc_sdp_getline
      Src: /src/vlc/modules/access/rtp/sdp.c:443,1
    - Dst: vlc_sdp_attr_parse
      Src: /src/vlc/modules/access/rtp/sdp.c:447,1
    - Dst: vlc_sdp_getline
      Src: /src/vlc/modules/access/rtp/sdp.c:453,1
    - Dst: vlc_sdp_free
      Src: /src/vlc/modules/access/rtp/sdp.c:463,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 106
    argCount: 2
    argNames:
    - str
    - length
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 304
    functionDepth: 4
    functionLinenumber: 304
    functionLinenumberEnd: 465
    functionName: vlc_sdp_parse
    functionSourceFile: /src/vlc/modules/access/rtp/sdp.c
    functionUses: 1
    functionsReached:
    - strndup
    - vlc_sdp_conn_parse
    - memchr
    - vlc_sdp_media_parse
    - memcmp
    - vlc_sdp_attr_parse
    - vlc_sdp_free
    - unlikely
    - malloc
    - vlc_sdp_getline
    linkageType: ''
    returnType: struct vlc_sdp
    signature: struct vlc_sdp *vlc_sdp_parse(const char *str, size_t length)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rtp_ptype
      Src: /src/vlc/modules/access/rtp/input.c:62,1
    - Dst: srtp_recv
      Src: /src/vlc/modules/access/rtp/input.c:70,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/access/rtp/input.c:72,1
    - Dst: rtp_queue
      Src: /src/vlc/modules/access/rtp/input.c:79,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/rtp/input.c:82,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - logger
    - sys
    - session
    - block
    argTypes:
    - struct vlc_logger*
    - rtp_input_sys_t*
    - rtp_session_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 83
    functionName: rtp_process
    functionSourceFile: /src/vlc/modules/access/rtp/input.c
    functionUses: 0
    functionsReached:
    - block_Release
    - rtp_ptype
    - srtp_recv
    - rtp_queue
    - vlc_debug
    linkageType: ''
    returnType: void
    signature: "void rtp_process (struct vlc_logger *logger, rtp_input_sys_t *sys,\n
      \                        rtp_session_t *session, block_t *block)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/rtp/input.c:90,1
    - Dst: INT64_C
      Src: /src/vlc/modules/access/rtp/input.c:94,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/rtp/input.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - deadline
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 98
    functionName: rtp_timeout
    functionSourceFile: /src/vlc/modules/access/rtp/input.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - unlikely
    - INT64_C
    linkageType: ''
    returnType: int
    signature: int rtp_timeout (vlc_tick_t deadline)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/access/rtp/input.c:109,1
    - Dst: vlc_dtls_GetPollFD
      Src: /src/vlc/modules/access/rtp/input.c:116,1
    - Dst: poll
      Src: /src/vlc/modules/access/rtp/input.c:118,1
    - Dst: rtp_timeout
      Src: /src/vlc/modules/access/rtp/input.c:118,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/access/rtp/input.c:122,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/rtp/input.c:128,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/rtp/input.c:129,1
    - Dst: vlc_dtls_Recv
      Src: /src/vlc/modules/access/rtp/input.c:133,1
    - Dst: vlc_error
      Src: /src/vlc/modules/access/rtp/input.c:137,1
    - Dst: rtp_process
      Src: /src/vlc/modules/access/rtp/input.c:144,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/access/rtp/input.c:150,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/rtp/input.c:151,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/rtp/input.c:152,1
    - Dst: rtp_dequeue
      Src: /src/vlc/modules/access/rtp/input.c:159,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/rtp/input.c:159,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/access/rtp/input.c:161,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 103
    functionDepth: 4
    functionLinenumber: 103
    functionLinenumberEnd: 164
    functionName: rtp_dgram_thread
    functionSourceFile: /src/vlc/modules/access/rtp/input.c
    functionUses: 0
    functionsReached:
    - vlc_dtls_Recv
    - vlc_warning
    - vlc_strerror_c
    - vlc_thread_set_name
    - block_Release
    - vlc_tick_now
    - vlc_dtls_GetPollFD
    - poll
    - vlc_restorecancel
    - rtp_timeout
    - rtp_dequeue
    - block_Alloc
    - rtp_process
    - vlc_savecancel
    - vlc_error
    - unlikely
    linkageType: ''
    returnType: void
    signature: void *rtp_dgram_thread (void *opaque)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/access/rtp/fmtp.h:33,1
    - Dst: strspn
      Src: /src/vlc/modules/access/rtp/fmtp.h:36,1
    - Dst: vlc_ascii_strncasecmp
      Src: /src/vlc/modules/access/rtp/fmtp.h:38,1
    - Dst: strcspn
      Src: /src/vlc/modules/access/rtp/fmtp.h:40,1
    - Dst: strchr
      Src: /src/vlc/modules/access/rtp/fmtp.h:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - desc
    - name
    - lenp
    argTypes:
    - struct vlc_sdp_pt*
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 50
    functionName: vlc_sdp_fmtp_get_str
    functionSourceFile: /src/vlc/modules/access/rtp/fmtp.h
    functionUses: 0
    functionsReached:
    - strchr
    - strlen
    - strspn
    - vlc_ascii_strncasecmp
    - strcspn
    linkageType: ''
    returnType: char
    signature: "char *vlc_sdp_fmtp_get_str(const struct vlc_sdp_pt *desc,\n                                 const
      char *name, size_t *restrict lenp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sdp_fmtp_get_str
      Src: /src/vlc/modules/access/rtp/fmtp.h:57,1
    - Dst: strtoull
      Src: /src/vlc/modules/access/rtp/fmtp.h:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - desc
    - name
    - res
    argTypes:
    - struct vlc_sdp_pt*
    - char*
    - unsigned long long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 70
    functionName: vlc_sdp_fmtp_get_ull
    functionSourceFile: /src/vlc/modules/access/rtp/fmtp.h
    functionUses: 0
    functionsReached:
    - strtoull
    - vlc_sdp_fmtp_get_str
    linkageType: ''
    returnType: int
    signature: "int vlc_sdp_fmtp_get_ull(const struct vlc_sdp_pt *desc, const char
      *name,\n                         unsigned long long *restrict res)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sdp_fmtp_get_ull
      Src: /src/vlc/modules/access/rtp/fmtp.h:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - desc
    - name
    - res
    argTypes:
    - struct vlc_sdp_pt*
    - char*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 85
    functionName: vlc_sdp_fmtp_get_u16
    functionSourceFile: /src/vlc/modules/access/rtp/fmtp.h
    functionUses: 0
    functionsReached:
    - vlc_sdp_fmtp_get_ull
    linkageType: ''
    returnType: int
    signature: "int vlc_sdp_fmtp_get_u16(const struct vlc_sdp_pt *desc, const char
      *name,\n                         uint16_t *restrict res)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sdp_fmtp_get_ull
      Src: /src/vlc/modules/access/rtp/fmtp.h:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - desc
    - name
    - res
    argTypes:
    - struct vlc_sdp_pt*
    - char*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: vlc_sdp_fmtp_get_u8
    functionSourceFile: /src/vlc/modules/access/rtp/fmtp.h
    functionUses: 0
    functionsReached:
    - vlc_sdp_fmtp_get_ull
    linkageType: ''
    returnType: int
    signature: "int vlc_sdp_fmtp_get_u8(const struct vlc_sdp_pt *desc, const char
      *name,\n                        uint8_t *restrict res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - desc
    - ','
    - name
    - ','
    - vp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: vlc_sdp_fmtp_get
    functionSourceFile: /src/vlc/modules/access/rtp/fmtp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vlc_sdp_fmtp_get(desc, name, vp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/rtp/mpeg12.c:52,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/rtp/mpeg12.c:53,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/rtp/mpeg12.c:62,1
    - Dst: vlc_rtp_pt_request_es
      Src: /src/vlc/modules/access/rtp/mpeg12.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pt
    argTypes:
    - struct vlc_rtp_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 65
    functionName: rtp_mpa_init
    functionSourceFile: /src/vlc/modules/access/rtp/mpeg12.c
    functionUses: 0
    functionsReached:
    - vlc_rtp_pt_request_es
    - unlikely
    - malloc
    - es_format_Init
    linkageType: ''
    returnType: void
    signature: void *rtp_mpa_init(struct vlc_rtp_pt *pt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainGather
      Src: /src/vlc/modules/access/rtp/mpeg12.c:70,1
    - Dst: likely
      Src: /src/vlc/modules/access/rtp/mpeg12.c:72,1
    - Dst: vlc_rtp_es_send
      Src: /src/vlc/modules/access/rtp/mpeg12.c:73,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/access/rtp/mpeg12.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sys
    argTypes:
    - struct rtp_mpa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 80
    functionName: rtp_mpa_send
    functionSourceFile: /src/vlc/modules/access/rtp/mpeg12.c
    functionUses: 0
    functionsReached:
    - block_ChainRelease
    - vlc_rtp_es_send
    - likely
    - block_ChainGather
    linkageType: ''
    returnType: void
    signature: void rtp_mpa_send(struct rtp_mpa *sys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/access/rtp/mpeg12.c:86,1
    - Dst: rtp_mpa_send
      Src: /src/vlc/modules/access/rtp/mpeg12.c:90,1
    - Dst: vlc_rtp_es_destroy
      Src: /src/vlc/modules/access/rtp/mpeg12.c:91,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/mpeg12.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pt
    - data
    argTypes:
    - struct vlc_rtp_pt*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 94
    functionName: rtp_mpa_destroy
    functionSourceFile: /src/vlc/modules/access/rtp/mpeg12.c
    functionUses: 0
    functionsReached:
    - free
    - rtp_mpa_send
    - unlikely
    - vlc_rtp_es_destroy
    linkageType: ''
    returnType: void
    signature: void rtp_mpa_destroy(struct vlc_rtp_pt *pt, void *data)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/access/rtp/mpeg12.c:102,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/access/rtp/mpeg12.c:105,1
    - Dst: GetWBE
      Src: /src/vlc/modules/access/rtp/mpeg12.c:110,1
    - Dst: rtp_mpa_send
      Src: /src/vlc/modules/access/rtp/mpeg12.c:116,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/access/rtp/mpeg12.c:120,1
    - Dst: block_ChainExtract
      Src: /src/vlc/modules/access/rtp/mpeg12.c:140,1
    - Dst: mpga_decode_frameheader
      Src: /src/vlc/modules/access/rtp/mpeg12.c:146,1
    - Dst: ntoh32
      Src: /src/vlc/modules/access/rtp/mpeg12.c:146,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/access/rtp/mpeg12.c:148,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/access/rtp/mpeg12.c:157,1
    - Dst: rtp_mpa_send
      Src: /src/vlc/modules/access/rtp/mpeg12.c:158,1
    - Dst: rtp_mpa_send
      Src: /src/vlc/modules/access/rtp/mpeg12.c:164,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/access/rtp/mpeg12.c:174,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/rtp/mpeg12.c:180,1
    - Dst: likely
      Src: /src/vlc/modules/access/rtp/mpeg12.c:181,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/mpeg12.c:182,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/rtp/mpeg12.c:183,1
    - Dst: vlc_rtp_es_send
      Src: /src/vlc/modules/access/rtp/mpeg12.c:186,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/rtp/mpeg12.c:199,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 69
    argCount: 4
    argNames:
    - pt
    - data
    - block
    - info
    argTypes:
    - struct vlc_rtp_pt*
    - void*
    - block_t*
    - struct vlc_rtp_pktinfo*
    assertStmts:
    - condition: (block->p_next == NULL)
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/vlc/modules/access/rtp/mpeg12.c
    constantsTouched: []
    func_position:
      end: 200
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 200
    functionName: rtp_mpa_decode
    functionSourceFile: /src/vlc/modules/access/rtp/mpeg12.c
    functionUses: 0
    functionsReached:
    - GetWBE
    - block_ChainExtract
    - vlc_warning
    - assert
    - vlc_rtp_es_send
    - block_Release
    - memcpy
    - block_Alloc
    - rtp_mpa_send
    - likely
    - mpga_decode_frameheader
    - ntoh32
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void rtp_mpa_decode(struct vlc_rtp_pt *pt, void *data, block_t *block,\n
      \                          const struct vlc_rtp_pktinfo *restrict info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/rtp/mpeg12.c:216,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/rtp/mpeg12.c:217,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/rtp/mpeg12.c:226,1
    - Dst: vlc_rtp_pt_request_es
      Src: /src/vlc/modules/access/rtp/mpeg12.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pt
    argTypes:
    - struct vlc_rtp_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 229
    functionName: rtp_mpv_init
    functionSourceFile: /src/vlc/modules/access/rtp/mpeg12.c
    functionUses: 0
    functionsReached:
    - vlc_rtp_pt_request_es
    - unlikely
    - malloc
    - es_format_Init
    linkageType: ''
    returnType: void
    signature: void *rtp_mpv_init(struct vlc_rtp_pt *pt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainGather
      Src: /src/vlc/modules/access/rtp/mpeg12.c:234,1
    - Dst: likely
      Src: /src/vlc/modules/access/rtp/mpeg12.c:236,1
    - Dst: vlc_rtp_es_send
      Src: /src/vlc/modules/access/rtp/mpeg12.c:237,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/access/rtp/mpeg12.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sys
    argTypes:
    - struct rtp_mpv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 244
    functionName: rtp_mpv_send
    functionSourceFile: /src/vlc/modules/access/rtp/mpeg12.c
    functionUses: 0
    functionsReached:
    - block_ChainRelease
    - vlc_rtp_es_send
    - likely
    - block_ChainGather
    linkageType: ''
    returnType: void
    signature: void rtp_mpv_send(struct rtp_mpv *sys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/access/rtp/mpeg12.c:250,1
    - Dst: rtp_mpv_send
      Src: /src/vlc/modules/access/rtp/mpeg12.c:254,1
    - Dst: vlc_rtp_es_destroy
      Src: /src/vlc/modules/access/rtp/mpeg12.c:255,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/mpeg12.c:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pt
    - data
    argTypes:
    - struct vlc_rtp_pt*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 258
    functionName: rtp_mpv_destroy
    functionSourceFile: /src/vlc/modules/access/rtp/mpeg12.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_rtp_es_destroy
    - unlikely
    - rtp_mpv_send
    linkageType: ''
    returnType: void
    signature: void rtp_mpv_destroy(struct vlc_rtp_pt *pt, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 281
    functionName: EXTRACT
    functionSourceFile: /src/vlc/modules/access/rtp/mpeg12.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT(x,mask)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/access/rtp/mpeg12.c:288,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/access/rtp/mpeg12.c:291,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/access/rtp/mpeg12.c:295,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/access/rtp/mpeg12.c:300,1
    - Dst: EXTRACT
      Src: /src/vlc/modules/access/rtp/mpeg12.c:316,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/access/rtp/mpeg12.c:322,1
    - Dst: rtp_mpv_send
      Src: /src/vlc/modules/access/rtp/mpeg12.c:323,1
    - Dst: rtp_mpv_send
      Src: /src/vlc/modules/access/rtp/mpeg12.c:327,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/rtp/mpeg12.c:332,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 4
    argNames:
    - pt
    - data
    - block
    - info
    argTypes:
    - struct vlc_rtp_pt*
    - void*
    - block_t*
    - struct vlc_rtp_pktinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 333
    functionName: rtp_mpv_decode
    functionSourceFile: /src/vlc/modules/access/rtp/mpeg12.c
    functionUses: 0
    functionsReached:
    - block_Release
    - vlc_warning
    - rtp_mpv_send
    - GetDWBE
    - unlikely
    - EXTRACT
    linkageType: ''
    returnType: void
    signature: "void rtp_mpv_decode(struct vlc_rtp_pt *pt, void *data, block_t *block,\n
      \                          const struct vlc_rtp_pktinfo *restrict info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_rtp_pt_request_mux
      Src: /src/vlc/modules/access/rtp/mpeg12.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pt
    argTypes:
    - struct vlc_rtp_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 343
    functionName: rtp_mp2p_init
    functionSourceFile: /src/vlc/modules/access/rtp/mpeg12.c
    functionUses: 0
    functionsReached:
    - vlc_rtp_pt_request_mux
    linkageType: ''
    returnType: void
    signature: void *rtp_mp2p_init(struct vlc_rtp_pt *pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_rtp_es_destroy
      Src: /src/vlc/modules/access/rtp/mpeg12.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pt
    - data
    argTypes:
    - struct vlc_rtp_pt*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 349
    functionName: rtp_mp2p_destroy
    functionSourceFile: /src/vlc/modules/access/rtp/mpeg12.c
    functionUses: 0
    functionsReached:
    - vlc_rtp_es_destroy
    linkageType: ''
    returnType: void
    signature: void rtp_mp2p_destroy(struct vlc_rtp_pt *pt, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_rtp_es_send
      Src: /src/vlc/modules/access/rtp/mpeg12.c:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - pt
    - data
    - block
    - info
    argTypes:
    - struct vlc_rtp_pt*
    - void*
    - block_t*
    - struct vlc_rtp_pktinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 359
    functionName: rtp_mp2p_decode
    functionSourceFile: /src/vlc/modules/access/rtp/mpeg12.c
    functionUses: 0
    functionsReached:
    - vlc_rtp_es_send
    linkageType: ''
    returnType: void
    signature: "void rtp_mp2p_decode(struct vlc_rtp_pt *pt, void *data, block_t *block,\n
      \                           const struct vlc_rtp_pktinfo *restrict info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_rtp_pt_request_mux
      Src: /src/vlc/modules/access/rtp/mpeg12.c:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pt
    argTypes:
    - struct vlc_rtp_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: rtp_mp2t_init
    functionSourceFile: /src/vlc/modules/access/rtp/mpeg12.c
    functionUses: 0
    functionsReached:
    - vlc_rtp_pt_request_mux
    linkageType: ''
    returnType: void
    signature: void *rtp_mp2t_init(struct vlc_rtp_pt *pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_rtp_es_destroy
      Src: /src/vlc/modules/access/rtp/mpeg12.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pt
    - data
    argTypes:
    - struct vlc_rtp_pt*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 375
    functionName: rtp_mp2t_destroy
    functionSourceFile: /src/vlc/modules/access/rtp/mpeg12.c
    functionUses: 0
    functionsReached:
    - vlc_rtp_es_destroy
    linkageType: ''
    returnType: void
    signature: void rtp_mp2t_destroy(struct vlc_rtp_pt *pt, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_rtp_es_send
      Src: /src/vlc/modules/access/rtp/mpeg12.c:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - pt
    - data
    - block
    - info
    argTypes:
    - struct vlc_rtp_pt*
    - void*
    - block_t*
    - struct vlc_rtp_pktinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 386
    functionName: rtp_mp2t_decode
    functionSourceFile: /src/vlc/modules/access/rtp/mpeg12.c
    functionUses: 0
    functionsReached:
    - vlc_rtp_es_send
    linkageType: ''
    returnType: void
    signature: "void rtp_mp2t_decode(struct vlc_rtp_pt *pt, void *data, block_t *block,\n
      \                           const struct vlc_rtp_pktinfo *restrict info)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/access/rtp/mpeg12.c:396,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/rtp/mpeg12.c:398,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/rtp/mpeg12.c:400,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/rtp/mpeg12.c:402,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/rtp/mpeg12.c:403,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/rtp/mpeg12.c:405,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - obj
    - pt
    - desc
    argTypes:
    - vlc_object_t*
    - struct vlc_rtp_pt*
    - struct vlc_sdp_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 411
    functionName: rtp_mpeg12_open
    functionSourceFile: /src/vlc/modules/access/rtp/mpeg12.c
    functionUses: 0
    functionsReached:
    - vlc_object_logger
    - vlc_ascii_strcasecmp
    linkageType: ''
    returnType: int
    signature: "int rtp_mpeg12_open(vlc_object_t *obj, struct vlc_rtp_pt *pt,\n                        const
      struct vlc_sdp_pt *desc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/rtp/raw.c:61,1
    - Dst: strlen
      Src: /src/vlc/modules/access/rtp/raw.c:91,1
    - Dst: vlc_rtp_pt_request_es
      Src: /src/vlc/modules/access/rtp/raw.c:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - pt
    argTypes:
    - struct vlc_rtp_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 94
    functionName: rtp_raw_begin
    functionSourceFile: /src/vlc/modules/access/rtp/raw.c
    functionUses: 0
    functionsReached:
    - strlen
    - vlc_rtp_pt_request_es
    - es_format_Init
    linkageType: ''
    returnType: void
    signature: void *rtp_raw_begin(struct vlc_rtp_pt *pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_rtp_es_destroy
      Src: /src/vlc/modules/access/rtp/raw.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pt
    - data
    argTypes:
    - struct vlc_rtp_pt*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: rtp_raw_end
    functionSourceFile: /src/vlc/modules/access/rtp/raw.c
    functionUses: 0
    functionsReached:
    - vlc_rtp_es_destroy
    linkageType: ''
    returnType: void
    signature: void rtp_raw_end(struct vlc_rtp_pt *pt, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_warning
      Src: /src/vlc/modules/access/rtp/raw.c:111,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/rtp/raw.c:113,1
    - Dst: vlc_rtp_es_send
      Src: /src/vlc/modules/access/rtp/raw.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - pt
    - data
    - block
    - info
    argTypes:
    - struct vlc_rtp_pt*
    - void*
    - block_t*
    - struct vlc_rtp_pktinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 128
    functionName: rtp_raw_unwrap
    functionSourceFile: /src/vlc/modules/access/rtp/raw.c
    functionUses: 0
    functionsReached:
    - block_Release
    - vlc_warning
    - vlc_rtp_es_send
    linkageType: ''
    returnType: void
    signature: "void rtp_raw_unwrap(struct vlc_rtp_pt *pt, void *data, block_t *block,\n
      \                          const struct vlc_rtp_pktinfo *restrict info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/rtp/raw.c:134,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/raw.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pt
    argTypes:
    - struct vlc_rtp_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: rtp_raw_close
    functionSourceFile: /src/vlc/modules/access/rtp/raw.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void rtp_raw_close(struct vlc_rtp_pt *pt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/rtp/raw.c:145,1
    - Dst: malloc
      Src: /src/vlc/modules/access/rtp/raw.c:148,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/rtp/raw.c:149,1
    - Dst: vlc_sdp_fmtp_get_str
      Src: /src/vlc/modules/access/rtp/raw.c:155,1
    - Dst: vlc_sdp_fmtp_get_str
      Src: /src/vlc/modules/access/rtp/raw.c:156,1
    - Dst: vlc_sdp_fmtp_get
      Src: /src/vlc/modules/access/rtp/raw.c:158,1
    - Dst: vlc_sdp_fmtp_get
      Src: /src/vlc/modules/access/rtp/raw.c:159,1
    - Dst: vlc_sdp_fmtp_get
      Src: /src/vlc/modules/access/rtp/raw.c:160,1
    - Dst: vlc_error
      Src: /src/vlc/modules/access/rtp/raw.c:161,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/raw.c:162,1
    - Dst: strndup
      Src: /src/vlc/modules/access/rtp/raw.c:166,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/rtp/raw.c:168,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/rtp/raw.c:170,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/rtp/raw.c:172,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/access/rtp/raw.c:175,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 3
    argNames:
    - obj
    - pt
    - desc
    argTypes:
    - vlc_object_t*
    - struct vlc_rtp_pt*
    - struct vlc_sdp_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 183
    functionName: rtp_raw_open
    functionSourceFile: /src/vlc/modules/access/rtp/raw.c
    functionUses: 0
    functionsReached:
    - strndup
    - vlc_sdp_fmtp_get
    - vlc_warning
    - vlc_ascii_strcasecmp
    - free
    - strncmp
    - vlc_sdp_fmtp_get_str
    - vlc_error
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: "int rtp_raw_open(vlc_object_t *obj, struct vlc_rtp_pt *pt,\n                        const
      struct vlc_sdp_pt *desc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct vlc_dtls*::ops::close
      Src: /src/vlc/modules/access/rtp/vlc_dtls.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dgs
    argTypes:
    - struct vlc_dtls*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: vlc_dtls_Close
    functionSourceFile: /src/vlc/modules/access/rtp/vlc_dtls.h
    functionUses: 3
    functionsReached:
    - struct vlc_dtls*::ops::close
    linkageType: ''
    returnType: void
    signature: void vlc_dtls_Close(struct vlc_dtls *dgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct vlc_dtls*::ops::get_fd
      Src: /src/vlc/modules/access/rtp/vlc_dtls.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dgs
    - ev
    argTypes:
    - struct vlc_dtls*
    - short*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: vlc_dtls_GetPollFD
    functionSourceFile: /src/vlc/modules/access/rtp/vlc_dtls.h
    functionUses: 1
    functionsReached:
    - struct vlc_dtls*::ops::get_fd
    linkageType: ''
    returnType: int
    signature: int vlc_dtls_GetPollFD(struct vlc_dtls *dgs, short *restrict ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct vlc_dtls*::ops::readv
      Src: /src/vlc/modules/access/rtp/vlc_dtls.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dgs
    - buf
    - len
    - truncated
    argTypes:
    - struct vlc_dtls*
    - void*
    - size_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: vlc_dtls_Recv
    functionSourceFile: /src/vlc/modules/access/rtp/vlc_dtls.h
    functionUses: 1
    functionsReached:
    - struct vlc_dtls*::ops::readv
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t vlc_dtls_Recv(struct vlc_dtls *dgs, void *buf, size_t len,\n
      \                                  bool *restrict truncated)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct vlc_dtls*::ops::writev
      Src: /src/vlc/modules/access/rtp/vlc_dtls.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dgs
    - buf
    - len
    argTypes:
    - struct vlc_dtls*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: vlc_dtls_Send
    functionSourceFile: /src/vlc/modules/access/rtp/vlc_dtls.h
    functionUses: 0
    functionsReached:
    - struct vlc_dtls*::ops::writev
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t vlc_dtls_Send(struct vlc_dtls *dgs, const void *buf,\n                                   size_t
      len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sdp_attr_first_by_name
      Src: /src/vlc/modules/access/rtp/sdp.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - media
    - name
    argTypes:
    - struct vlc_sdp_media*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: vlc_sdp_media_attr_get
    functionSourceFile: /src/vlc/modules/access/rtp/sdp.h
    functionUses: 0
    functionsReached:
    - vlc_sdp_attr_first_by_name
    linkageType: ''
    returnType: struct vlc_sdp_attr
    signature: "struct vlc_sdp_attr *vlc_sdp_media_attr_get(\n    const struct vlc_sdp_media
      *media, const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sdp_media_attr_get
      Src: /src/vlc/modules/access/rtp/sdp.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - media
    - name
    argTypes:
    - struct vlc_sdp_media*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: vlc_sdp_media_attr_present
    functionSourceFile: /src/vlc/modules/access/rtp/sdp.h
    functionUses: 1
    functionsReached:
    - vlc_sdp_media_attr_get
    linkageType: ''
    returnType: bool
    signature: "bool vlc_sdp_media_attr_present(const struct vlc_sdp_media *media,\n
      \                               const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sdp_media_attr_get
      Src: /src/vlc/modules/access/rtp/sdp.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - media
    - name
    argTypes:
    - struct vlc_sdp_media*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: vlc_sdp_media_attr_value
    functionSourceFile: /src/vlc/modules/access/rtp/sdp.h
    functionUses: 1
    functionsReached:
    - vlc_sdp_media_attr_get
    linkageType: ''
    returnType: char
    signature: "char *vlc_sdp_media_attr_value(const struct vlc_sdp_media *media,\n
      \                                    const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - media
    argTypes:
    - struct vlc_sdp_media*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: vlc_sdp_media_conn
    functionSourceFile: /src/vlc/modules/access/rtp/sdp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct vlc_sdp_conn
    signature: "struct vlc_sdp_conn *vlc_sdp_media_conn(\n    const struct vlc_sdp_media
      *media)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sdp_attr_first_by_name
      Src: /src/vlc/modules/access/rtp/sdp.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sdp
    - name
    argTypes:
    - struct vlc_sdp*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: vlc_sdp_attr_get
    functionSourceFile: /src/vlc/modules/access/rtp/sdp.h
    functionUses: 0
    functionsReached:
    - vlc_sdp_attr_first_by_name
    linkageType: ''
    returnType: struct vlc_sdp_attr
    signature: "struct vlc_sdp_attr *vlc_sdp_attr_get(const struct vlc_sdp *sdp,\n
      \                                           const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sdp_attr_get
      Src: /src/vlc/modules/access/rtp/sdp.h:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sdp
    - name
    argTypes:
    - struct vlc_sdp*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: vlc_sdp_attr_present
    functionSourceFile: /src/vlc/modules/access/rtp/sdp.h
    functionUses: 0
    functionsReached:
    - vlc_sdp_attr_get
    linkageType: ''
    returnType: bool
    signature: bool vlc_sdp_attr_present(const struct vlc_sdp *sdp, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sdp_attr_get
      Src: /src/vlc/modules/access/rtp/sdp.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sdp
    - name
    argTypes:
    - struct vlc_sdp*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 211
    functionName: vlc_sdp_attr_value
    functionSourceFile: /src/vlc/modules/access/rtp/sdp.h
    functionUses: 1
    functionsReached:
    - vlc_sdp_attr_get
    linkageType: ''
    returnType: char
    signature: char *vlc_sdp_attr_value(const struct vlc_sdp *sdp, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: debug
    functionSourceFile: /src/vlc/modules/access/rtp/srtp.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: debug( ... )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - srtp_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: rcc_mode
    functionSourceFile: /src/vlc/modules/access/rtp/srtp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned rcc_mode (const srtp_session_t *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_close
      Src: /src/vlc/modules/access/rtp/srtp.c:90,1
    - Dst: gcry_cipher_close
      Src: /src/vlc/modules/access/rtp/srtp.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - srtp_proto_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: proto_destroy
    functionSourceFile: /src/vlc/modules/access/rtp/srtp.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_close
    - gcry_md_close
    linkageType: ''
    returnType: void
    signature: void proto_destroy (srtp_proto_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/srtp.c:100,1
    - Dst: proto_destroy
      Src: /src/vlc/modules/access/rtp/srtp.c:102,1
    - Dst: proto_destroy
      Src: /src/vlc/modules/access/rtp/srtp.c:103,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/srtp.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - srtp_session_t*
    assertStmts:
    - condition: (s != NULL)
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/vlc/modules/access/rtp/srtp.c
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: srtp_destroy
    functionSourceFile: /src/vlc/modules/access/rtp/srtp.c
    functionUses: 2
    functionsReached:
    - proto_destroy
    - assert
    - free
    linkageType: ''
    returnType: void
    signature: void srtp_destroy (srtp_session_t *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_open
      Src: /src/vlc/modules/access/rtp/srtp.c:110,1
    - Dst: gcry_md_open
      Src: /src/vlc/modules/access/rtp/srtp.c:112,1
    - Dst: gcry_cipher_close
      Src: /src/vlc/modules/access/rtp/srtp.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - p
    - gcipher
    - gmd
    argTypes:
    - srtp_proto_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 117
    functionName: proto_create
    functionSourceFile: /src/vlc/modules/access/rtp/srtp.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_close
    - gcry_cipher_open
    - gcry_md_open
    linkageType: ''
    returnType: int
    signature: int proto_create (srtp_proto_t *p, int gcipher, int gmd)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_get_algo_dlen
      Src: /src/vlc/modules/access/rtp/srtp.c:169,1
    - Dst: malloc
      Src: /src/vlc/modules/access/rtp/srtp.c:175,1
    - Dst: memset
      Src: /src/vlc/modules/access/rtp/srtp.c:179,1
    - Dst: rcc_mode
      Src: /src/vlc/modules/access/rtp/srtp.c:183,1
    - Dst: proto_create
      Src: /src/vlc/modules/access/rtp/srtp.c:189,1
    - Dst: proto_create
      Src: /src/vlc/modules/access/rtp/srtp.c:191,1
    - Dst: proto_destroy
      Src: /src/vlc/modules/access/rtp/srtp.c:193,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/srtp.c:197,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 5
    argNames:
    - encr
    - auth
    - tag_len
    - prf
    - flags
    argTypes:
    - int
    - int
    - unsigned
    - int
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 199
    functionName: srtp_create
    functionSourceFile: /src/vlc/modules/access/rtp/srtp.c
    functionUses: 1
    functionsReached:
    - rcc_mode
    - memset
    - proto_create
    - proto_destroy
    - free
    - gcry_md_get_algo_dlen
    - malloc
    linkageType: ''
    returnType: srtp_session_t
    signature: 'srtp_session_t *

      srtp_create (int encr, int auth, unsigned tag_len, int prf, unsigned flags)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: div
      Src: /src/vlc/modules/access/rtp/srtp.c:210,1
    - Dst: gcry_cipher_setctr
      Src: /src/vlc/modules/access/rtp/srtp.c:212,1
    - Dst: gcry_cipher_encrypt
      Src: /src/vlc/modules/access/rtp/srtp.c:213,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/rtp/srtp.c:221,1
    - Dst: memset
      Src: /src/vlc/modules/access/rtp/srtp.c:222,1
    - Dst: gcry_cipher_encrypt
      Src: /src/vlc/modules/access/rtp/srtp.c:224,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/rtp/srtp.c:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - hd
    - ctr
    - data
    - len
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 230
    functionName: do_ctr_crypt
    functionSourceFile: /src/vlc/modules/access/rtp/srtp.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_setctr
    - memset
    - memcpy
    - gcry_cipher_encrypt
    - div
    linkageType: ''
    returnType: int
    signature: int do_ctr_crypt (gcry_cipher_hd_t hd, const void *ctr, uint8_t *data,
      size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/access/rtp/srtp.c:243,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/srtp.c:246,1
    - Dst: memset
      Src: /src/vlc/modules/access/rtp/srtp.c:251,1
    - Dst: do_ctr_crypt
      Src: /src/vlc/modules/access/rtp/srtp.c:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 7
    argNames:
    - prf
    - salt
    - r
    - rlen
    - label
    - out
    - outlen
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - uint8_t*
    - size_t
    - uint8_t
    - void*
    - size_t
    assertStmts:
    - condition: (rlen < 14)
      pos:
        line_end: 245
        line_start: 245
        source_file: /src/vlc/modules/access/rtp/srtp.c
    constantsTouched: []
    func_position:
      end: 253
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 253
    functionName: do_derive
    functionSourceFile: /src/vlc/modules/access/rtp/srtp.c
    functionUses: 0
    functionsReached:
    - assert
    - memcpy
    - do_ctr_crypt
    - memset
    linkageType: ''
    returnType: int
    signature: "int do_derive (gcry_cipher_hd_t prf, const void *salt,\n           const
      uint8_t *r, size_t rlen, uint8_t label,\n           void *out, size_t outlen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_open
      Src: /src/vlc/modules/access/rtp/srtp.c:277,1
    - Dst: gcry_cipher_setkey
      Src: /src/vlc/modules/access/rtp/srtp.c:278,1
    - Dst: memset
      Src: /src/vlc/modules/access/rtp/srtp.c:296,1
    - Dst: do_derive
      Src: /src/vlc/modules/access/rtp/srtp.c:297,1
    - Dst: gcry_cipher_setkey
      Src: /src/vlc/modules/access/rtp/srtp.c:298,1
    - Dst: do_derive
      Src: /src/vlc/modules/access/rtp/srtp.c:299,1
    - Dst: gcry_md_setkey
      Src: /src/vlc/modules/access/rtp/srtp.c:300,1
    - Dst: do_derive
      Src: /src/vlc/modules/access/rtp/srtp.c:301,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/rtp/srtp.c:305,1
    - Dst: htonl
      Src: /src/vlc/modules/access/rtp/srtp.c:305,1
    - Dst: do_derive
      Src: /src/vlc/modules/access/rtp/srtp.c:306,1
    - Dst: gcry_cipher_setkey
      Src: /src/vlc/modules/access/rtp/srtp.c:307,1
    - Dst: do_derive
      Src: /src/vlc/modules/access/rtp/srtp.c:308,1
    - Dst: gcry_md_setkey
      Src: /src/vlc/modules/access/rtp/srtp.c:309,1
    - Dst: do_derive
      Src: /src/vlc/modules/access/rtp/srtp.c:310,1
    - Dst: gcry_cipher_close
      Src: /src/vlc/modules/access/rtp/srtp.c:313,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 5
    argNames:
    - s
    - key
    - keylen
    - salt
    - saltlen
    argTypes:
    - srtp_session_t*
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 315
    functionName: srtp_setkey
    functionSourceFile: /src/vlc/modules/access/rtp/srtp.c
    functionUses: 0
    functionsReached:
    - gcry_md_setkey
    - gcry_cipher_close
    - memset
    - gcry_cipher_setkey
    - htonl
    - do_derive
    - memcpy
    - gcry_cipher_open
    linkageType: ''
    returnType: int
    signature: "int srtp_setkey (srtp_session_t *s, const void *key, size_t keylen,\n
      \            const void *salt, size_t saltlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 326
    functionName: hexdigit
    functionSourceFile: /src/vlc/modules/access/rtp/srtp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hexdigit (char c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/access/rtp/srtp.c:330,1
    - Dst: hexdigit
      Src: /src/vlc/modules/access/rtp/srtp.c:337,1
    - Dst: hexdigit
      Src: /src/vlc/modules/access/rtp/srtp.c:337,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - in
    - out
    - outlen
    argTypes:
    - char*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 343
    functionName: hexstring
    functionSourceFile: /src/vlc/modules/access/rtp/srtp.c
    functionUses: 0
    functionsReached:
    - strlen
    - hexdigit
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t hexstring (const char *in, uint8_t *out, size_t outlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hexstring
      Src: /src/vlc/modules/access/rtp/srtp.c:357,1
    - Dst: hexstring
      Src: /src/vlc/modules/access/rtp/srtp.c:358,1
    - Dst: srtp_setkey
      Src: /src/vlc/modules/access/rtp/srtp.c:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - s
    - key
    - salt
    argTypes:
    - srtp_session_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 352
    functionDepth: 3
    functionLinenumber: 352
    functionLinenumberEnd: 363
    functionName: srtp_setkeystring
    functionSourceFile: /src/vlc/modules/access/rtp/srtp.c
    functionUses: 1
    functionsReached:
    - hexstring
    - srtp_setkey
    linkageType: ''
    returnType: int
    signature: int srtp_setkeystring (srtp_session_t *s, const char *key, const char
      *salt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/srtp.c:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - rate
    argTypes:
    - srtp_session_t*
    - uint16_t
    assertStmts:
    - condition: (rate != 0)
      pos:
        line_end: 387
        line_start: 387
        source_file: /src/vlc/modules/access/rtp/srtp.c
    constantsTouched: []
    func_position:
      end: 390
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 390
    functionName: srtp_setrcc_rate
    functionSourceFile: /src/vlc/modules/access/rtp/srtp.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void srtp_setrcc_rate (srtp_session_t *s, uint16_t rate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/vlc/modules/access/rtp/srtp.c:402,1
    - Dst: htonl
      Src: /src/vlc/modules/access/rtp/srtp.c:403,1
    - Dst: do_ctr_crypt
      Src: /src/vlc/modules/access/rtp/srtp.c:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 7
    argNames:
    - hd
    - ssrc
    - roc
    - seq
    - salt
    - data
    - len
    argTypes:
    - gcry_cipher_hd_t
    - uint32_t
    - uint32_t
    - uint16_t
    - uint32_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 407
    functionName: rtp_crypt
    functionSourceFile: /src/vlc/modules/access/rtp/srtp.c
    functionUses: 0
    functionsReached:
    - htonl
    - do_ctr_crypt
    linkageType: ''
    returnType: int
    signature: "int rtp_crypt (gcry_cipher_hd_t hd, uint32_t ssrc, uint32_t roc, uint16_t
      seq,\n           const uint32_t *salt, uint8_t *data, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - s
    - seq
    argTypes:
    - srtp_session_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 429
    functionName: srtp_compute_roc
    functionSourceFile: /src/vlc/modules/access/rtp/srtp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t srtp_compute_roc (const srtp_session_t *s, uint16_t seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 436
    functionName: rtp_seq
    functionSourceFile: /src/vlc/modules/access/rtp/srtp.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t rtp_seq (const uint8_t *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_reset
      Src: /src/vlc/modules/access/rtp/srtp.c:444,1
    - Dst: gcry_md_write
      Src: /src/vlc/modules/access/rtp/srtp.c:445,1
    - Dst: gcry_md_write
      Src: /src/vlc/modules/access/rtp/srtp.c:446,1
    - Dst: htonl
      Src: /src/vlc/modules/access/rtp/srtp.c:446,1
    - Dst: gcry_md_read
      Src: /src/vlc/modules/access/rtp/srtp.c:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - md
    - data
    - len
    - roc
    argTypes:
    - gcry_md_hd_t
    - uint8_t*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 448
    functionName: rtp_digest
    functionSourceFile: /src/vlc/modules/access/rtp/srtp.c
    functionUses: 0
    functionsReached:
    - gcry_md_write
    - gcry_md_read
    - gcry_md_reset
    - htonl
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *\nrtp_digest (gcry_md_hd_t md, const uint8_t *data, size_t
      len,\n            uint32_t roc)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/srtp.c:466,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/srtp.c:467,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/rtp/srtp.c:484,1
    - Dst: htons
      Src: /src/vlc/modules/access/rtp/srtp.c:485,1
    - Dst: rtp_seq
      Src: /src/vlc/modules/access/rtp/srtp.c:492,1
    - Dst: srtp_compute_roc
      Src: /src/vlc/modules/access/rtp/srtp.c:493,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/rtp/srtp.c:494,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/access/rtp/srtp.c:502,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/access/rtp/srtp.c:511,1
    - Dst: rtp_crypt
      Src: /src/vlc/modules/access/rtp/srtp.c:518,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - s
    - buf
    - len
    argTypes:
    - srtp_session_t*
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (s != NULL)
      pos:
        line_end: 465
        line_start: 465
        source_file: /src/vlc/modules/access/rtp/srtp.c
    - condition: (len >= 12u)
      pos:
        line_end: 466
        line_start: 466
        source_file: /src/vlc/modules/access/rtp/srtp.c
    constantsTouched: []
    func_position:
      end: 523
      start: 464
    functionDepth: 2
    functionLinenumber: 464
    functionLinenumberEnd: 523
    functionName: srtp_crypt
    functionSourceFile: /src/vlc/modules/access/rtp/srtp.c
    functionUses: 0
    functionsReached:
    - htons
    - srtp_compute_roc
    - assert
    - memcpy
    - UINT64_C
    - rtp_crypt
    - rtp_seq
    linkageType: ''
    returnType: int
    signature: int srtp_crypt (srtp_session_t *s, uint8_t *buf, size_t len)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: rcc_mode
      Src: /src/vlc/modules/access/rtp/srtp.c:558,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/srtp.c:560,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/srtp.c:561,1
    - Dst: rtp_seq
      Src: /src/vlc/modules/access/rtp/srtp.c:562,1
    - Dst: rcc_mode
      Src: /src/vlc/modules/access/rtp/srtp.c:565,1
    - Dst: rcc_mode
      Src: /src/vlc/modules/access/rtp/srtp.c:572,1
    - Dst: srtp_crypt
      Src: /src/vlc/modules/access/rtp/srtp.c:586,1
    - Dst: srtp_compute_roc
      Src: /src/vlc/modules/access/rtp/srtp.c:593,1
    - Dst: rtp_seq
      Src: /src/vlc/modules/access/rtp/srtp.c:593,1
    - Dst: rtp_digest
      Src: /src/vlc/modules/access/rtp/srtp.c:594,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/rtp/srtp.c:598,1
    - Dst: htonl
      Src: /src/vlc/modules/access/rtp/srtp.c:598,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/rtp/srtp.c:601,1
    - Dst: printf
      Src: /src/vlc/modules/access/rtp/srtp.c:603,1
    - Dst: printf
      Src: /src/vlc/modules/access/rtp/srtp.c:605,1
    - Dst: puts
      Src: /src/vlc/modules/access/rtp/srtp.c:606,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 4
    argNames:
    - s
    - buf
    - lenp
    - bufsize
    argTypes:
    - srtp_session_t*
    - uint8_t*
    - size_t*
    - size_t
    assertStmts:
    - condition: (tag_len >= 4)
      pos:
        line_end: 559
        line_start: 559
        source_file: /src/vlc/modules/access/rtp/srtp.c
    - condition: (s->rtp_rcc != 0)
      pos:
        line_end: 560
        line_start: 560
        source_file: /src/vlc/modules/access/rtp/srtp.c
    constantsTouched: []
    func_position:
      end: 611
      start: 543
    functionDepth: 3
    functionLinenumber: 543
    functionLinenumberEnd: 611
    functionName: srtp_send
    functionSourceFile: /src/vlc/modules/access/rtp/srtp.c
    functionUses: 0
    functionsReached:
    - srtp_compute_roc
    - assert
    - rcc_mode
    - htonl
    - printf
    - rtp_digest
    - memcpy
    - rtp_seq
    - srtp_crypt
    - puts
    linkageType: ''
    returnType: int
    signature: int srtp_send (srtp_session_t *s, uint8_t *buf, size_t *lenp, size_t
      bufsize)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: rcc_mode
      Src: /src/vlc/modules/access/rtp/srtp.c:637,1
    - Dst: rtp_seq
      Src: /src/vlc/modules/access/rtp/srtp.c:639,1
    - Dst: rcc_mode
      Src: /src/vlc/modules/access/rtp/srtp.c:642,1
    - Dst: rcc_mode
      Src: /src/vlc/modules/access/rtp/srtp.c:649,1
    - Dst: srtp_compute_roc
      Src: /src/vlc/modules/access/rtp/srtp.c:658,1
    - Dst: rtp_seq
      Src: /src/vlc/modules/access/rtp/srtp.c:658,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/srtp.c:661,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/rtp/srtp.c:662,1
    - Dst: ntohl
      Src: /src/vlc/modules/access/rtp/srtp.c:663,1
    - Dst: rtp_digest
      Src: /src/vlc/modules/access/rtp/srtp.c:668,1
    - Dst: printf
      Src: /src/vlc/modules/access/rtp/srtp.c:670,1
    - Dst: printf
      Src: /src/vlc/modules/access/rtp/srtp.c:672,1
    - Dst: printf
      Src: /src/vlc/modules/access/rtp/srtp.c:673,1
    - Dst: printf
      Src: /src/vlc/modules/access/rtp/srtp.c:675,1
    - Dst: puts
      Src: /src/vlc/modules/access/rtp/srtp.c:676,1
    - Dst: memcmp
      Src: /src/vlc/modules/access/rtp/srtp.c:678,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/srtp.c:685,1
    - Dst: srtp_compute_roc
      Src: /src/vlc/modules/access/rtp/srtp.c:685,1
    - Dst: rtp_seq
      Src: /src/vlc/modules/access/rtp/srtp.c:685,1
    - Dst: srtp_crypt
      Src: /src/vlc/modules/access/rtp/srtp.c:690,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 3
    argNames:
    - s
    - buf
    - lenp
    argTypes:
    - srtp_session_t*
    - uint8_t*
    - size_t*
    assertStmts:
    - condition: (roc_len == 4)
      pos:
        line_end: 660
        line_start: 660
        source_file: /src/vlc/modules/access/rtp/srtp.c
    - condition: (srtp_compute_roc (s, rtp_seq (buf)) == rcc)
      pos:
        line_end: 684
        line_start: 684
        source_file: /src/vlc/modules/access/rtp/srtp.c
    constantsTouched: []
    func_position:
      end: 691
      start: 627
    functionDepth: 3
    functionLinenumber: 627
    functionLinenumberEnd: 691
    functionName: srtp_recv
    functionSourceFile: /src/vlc/modules/access/rtp/srtp.c
    functionUses: 1
    functionsReached:
    - srtp_compute_roc
    - assert
    - ntohl
    - rcc_mode
    - printf
    - memcpy
    - rtp_digest
    - rtp_seq
    - memcmp
    - srtp_crypt
    - puts
    linkageType: ''
    returnType: int
    signature: int srtp_recv (srtp_session_t *s, uint8_t *buf, size_t *lenp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtp_crypt
      Src: /src/vlc/modules/access/rtp/srtp.c:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - hd
    - ssrc
    - index
    - salt
    - data
    - len
    argTypes:
    - gcry_cipher_hd_t
    - uint32_t
    - uint32_t
    - uint32_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 695
    functionDepth: 2
    functionLinenumber: 695
    functionLinenumberEnd: 700
    functionName: rtcp_crypt
    functionSourceFile: /src/vlc/modules/access/rtp/srtp.c
    functionUses: 0
    functionsReached:
    - rtp_crypt
    linkageType: ''
    returnType: int
    signature: "int rtcp_crypt (gcry_cipher_hd_t hd, uint32_t ssrc, uint32_t index,\n
      \           const uint32_t *salt, uint8_t *data, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_reset
      Src: /src/vlc/modules/access/rtp/srtp.c:707,1
    - Dst: gcry_md_write
      Src: /src/vlc/modules/access/rtp/srtp.c:708,1
    - Dst: gcry_md_read
      Src: /src/vlc/modules/access/rtp/srtp.c:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - md
    - data
    - len
    argTypes:
    - gcry_md_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 710
    functionName: rtcp_digest
    functionSourceFile: /src/vlc/modules/access/rtp/srtp.c
    functionUses: 0
    functionsReached:
    - gcry_md_write
    - gcry_md_read
    - gcry_md_reset
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t *

      rtcp_digest (gcry_md_hd_t md, const void *data, size_t len)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/srtp.c:727,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/rtp/srtp.c:734,1
    - Dst: ntohl
      Src: /src/vlc/modules/access/rtp/srtp.c:735,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/access/rtp/srtp.c:747,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/access/rtp/srtp.c:756,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/rtp/srtp.c:764,1
    - Dst: rtcp_crypt
      Src: /src/vlc/modules/access/rtp/srtp.c:766,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - s
    - buf
    - len
    argTypes:
    - srtp_session_t*
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (s != NULL)
      pos:
        line_end: 726
        line_start: 726
        source_file: /src/vlc/modules/access/rtp/srtp.c
    constantsTouched: []
    func_position:
      end: 770
      start: 725
    functionDepth: 3
    functionLinenumber: 725
    functionLinenumberEnd: 770
    functionName: srtcp_crypt
    functionSourceFile: /src/vlc/modules/access/rtp/srtp.c
    functionUses: 0
    functionsReached:
    - assert
    - ntohl
    - memcpy
    - UINT64_C
    - rtcp_crypt
    linkageType: ''
    returnType: int
    signature: int srtcp_crypt (srtp_session_t *s, uint8_t *buf, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/access/rtp/srtp.c:800,1
    - Dst: htonl
      Src: /src/vlc/modules/access/rtp/srtp.c:800,1
    - Dst: srtcp_crypt
      Src: /src/vlc/modules/access/rtp/srtp.c:802,1
    - Dst: rtcp_digest
      Src: /src/vlc/modules/access/rtp/srtp.c:808,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/rtp/srtp.c:809,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - s
    - buf
    - lenp
    - bufsize
    argTypes:
    - srtp_session_t*
    - uint8_t*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 787
    functionDepth: 4
    functionLinenumber: 787
    functionLinenumberEnd: 812
    functionName: srtcp_send
    functionSourceFile: /src/vlc/modules/access/rtp/srtp.c
    functionUses: 0
    functionsReached:
    - rtcp_digest
    - htonl
    - srtcp_crypt
    - memcpy
    linkageType: ''
    returnType: int
    signature: int srtcp_send (srtp_session_t *s, uint8_t *buf, size_t *lenp, size_t
      bufsize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtcp_digest
      Src: /src/vlc/modules/access/rtp/srtp.c:837,1
    - Dst: memcmp
      Src: /src/vlc/modules/access/rtp/srtp.c:838,1
    - Dst: srtp_crypt
      Src: /src/vlc/modules/access/rtp/srtp.c:843,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - s
    - buf
    - lenp
    argTypes:
    - srtp_session_t*
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 828
    functionDepth: 3
    functionLinenumber: 828
    functionLinenumberEnd: 844
    functionName: srtcp_recv
    functionSourceFile: /src/vlc/modules/access/rtp/srtp.c
    functionUses: 0
    functionsReached:
    - rtcp_digest
    - memcmp
    - srtp_crypt
    linkageType: ''
    returnType: int
    signature: int srtcp_recv (srtp_session_t *s, uint8_t *buf, size_t *lenp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/access/rtp/datagram.c:48,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/rtp/datagram.c:51,1
    - Dst: closesocket
      Src: /src/vlc/modules/access/rtp/datagram.c:53,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/datagram.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dgs
    argTypes:
    - struct vlc_dtls*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: vlc_datagram_Close
    functionSourceFile: /src/vlc/modules/access/rtp/datagram.c
    functionUses: 0
    functionsReached:
    - vlc_close
    - free
    - closesocket
    - container_of
    linkageType: ''
    returnType: void
    signature: void vlc_datagram_Close(struct vlc_dtls *dgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/access/rtp/datagram.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dgs
    - ev
    argTypes:
    - struct vlc_dtls*
    - short*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: vlc_datagram_GetPollFD
    functionSourceFile: /src/vlc/modules/access/rtp/datagram.c
    functionUses: 0
    functionsReached:
    - container_of
    linkageType: ''
    returnType: int
    signature: int vlc_datagram_GetPollFD(struct vlc_dtls *dgs, short *restrict ev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/access/rtp/datagram.c:72,1
    - Dst: recvmsg
      Src: /src/vlc/modules/access/rtp/datagram.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - dgs
    - iov
    - iovlen
    - truncated
    argTypes:
    - struct vlc_dtls*
    - struct iovec*
    - unsigned
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 79
    functionName: vlc_datagram_Recv
    functionSourceFile: /src/vlc/modules/access/rtp/datagram.c
    functionUses: 0
    functionsReached:
    - recvmsg
    - container_of
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t vlc_datagram_Recv(struct vlc_dtls *dgs, struct iovec *iov,\n
      \                                unsigned iovlen, bool *truncated)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/access/rtp/datagram.c:88,1
    - Dst: vlc_sendmsg
      Src: /src/vlc/modules/access/rtp/datagram.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dgs
    - iov
    - iovlen
    argTypes:
    - struct vlc_dtls*
    - struct iovec*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: vlc_datagram_Send
    functionSourceFile: /src/vlc/modules/access/rtp/datagram.c
    functionUses: 0
    functionsReached:
    - vlc_sendmsg
    - container_of
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t vlc_datagram_Send(struct vlc_dtls *dgs,\n                                 const
      struct iovec *iov, unsigned iovlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/rtp/datagram.c:102,1
    - Dst: likely
      Src: /src/vlc/modules/access/rtp/datagram.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 110
    functionName: vlc_datagram_CreateFD
    functionSourceFile: /src/vlc/modules/access/rtp/datagram.c
    functionUses: 2
    functionsReached:
    - likely
    - malloc
    linkageType: ''
    returnType: struct vlc_dtls
    signature: struct vlc_dtls *vlc_datagram_CreateFD(int fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_datagram_Recv
      Src: /src/vlc/modules/access/rtp/datagram.c:115,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/rtp/datagram.c:117,1
    - Dst: container_of
      Src: /src/vlc/modules/access/rtp/datagram.c:118,1
    - Dst: poll
      Src: /src/vlc/modules/access/rtp/datagram.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - dgs
    - iov
    - iovlen
    - truncated
    argTypes:
    - struct vlc_dtls*
    - struct iovec*
    - unsigned
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 142
    functionName: vlc_dccp_Recv
    functionSourceFile: /src/vlc/modules/access/rtp/datagram.c
    functionUses: 0
    functionsReached:
    - poll
    - container_of
    - unlikely
    - vlc_datagram_Recv
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t vlc_dccp_Recv(struct vlc_dtls *dgs, struct iovec *iov,\n                             unsigned
      iovlen, bool *truncated)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/rtp/datagram.c:153,1
    - Dst: likely
      Src: /src/vlc/modules/access/rtp/datagram.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 161
    functionName: vlc_dccp_CreateFD
    functionSourceFile: /src/vlc/modules/access/rtp/datagram.c
    functionUses: 0
    functionsReached:
    - likely
    - malloc
    linkageType: ''
    returnType: struct vlc_dtls
    signature: struct vlc_dtls *vlc_dccp_CreateFD(int fd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/rtp/h265.c:45,1
    - Dst: rtp_h26x_init
      Src: /src/vlc/modules/access/rtp/h265.c:48,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/rtp/h265.c:51,1
    - Dst: demux_PacketizerNew
      Src: /src/vlc/modules/access/rtp/h265.c:54,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/h265.c:57,1
    - Dst: vlc_rtp_pt_request_es
      Src: /src/vlc/modules/access/rtp/h265.c:61,1
    - Dst: block_Duplicate
      Src: /src/vlc/modules/access/rtp/h265.c:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - pt
    argTypes:
    - struct vlc_rtp_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 68
    functionName: rtp_h265_init
    functionSourceFile: /src/vlc/modules/access/rtp/h265.c
    functionUses: 0
    functionsReached:
    - demux_PacketizerNew
    - free
    - block_Duplicate
    - es_format_Init
    - rtp_h26x_init
    - vlc_rtp_pt_request_es
    - malloc
    linkageType: ''
    returnType: void
    signature: void *rtp_h265_init(struct vlc_rtp_pt *pt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/rtp/h265.c:72,1
    - Dst: demux_PacketizerDestroy
      Src: /src/vlc/modules/access/rtp/h265.c:77,1
    - Dst: vlc_rtp_es_destroy
      Src: /src/vlc/modules/access/rtp/h265.c:78,1
    - Dst: rtp_h26x_clear
      Src: /src/vlc/modules/access/rtp/h265.c:79,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/h265.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pt
    - data
    argTypes:
    - struct vlc_rtp_pt*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 82
    functionName: rtp_h265_destroy
    functionSourceFile: /src/vlc/modules/access/rtp/h265.c
    functionUses: 0
    functionsReached:
    - demux_PacketizerDestroy
    - vlc_rtp_es_destroy
    - free
    - rtp_h26x_clear
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void rtp_h265_destroy(struct vlc_rtp_pt *pt, void *data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/access/rtp/h265.c:92,1
    - Dst: GetWBE
      Src: /src/vlc/modules/access/rtp/h265.c:112,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/rtp/h265.c:119,1
    - Dst: GetWBE
      Src: /src/vlc/modules/access/rtp/h265.c:133,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/rtp/h265.c:137,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/access/rtp/h265.c:139,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/rtp/h265.c:141,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/rtp/h265.c:146,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/rtp/h265.c:151,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 3
    argNames:
    - block
    - b_donl
    - b_annexb
    argTypes:
    - block_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 155
    functionName: h265_deaggregate_AP
    functionSourceFile: /src/vlc/modules/access/rtp/h265.c
    functionUses: 0
    functionsReached:
    - GetWBE
    - block_Release
    - memcpy
    - SetDWBE
    - block_Alloc
    linkageType: ''
    returnType: block_t
    signature: block_t * h265_deaggregate_AP(block_t *block, bool b_donl, bool b_annexb)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/rtp/h265.c:160,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/rtp/h265.c:166,1
    - Dst: h26x_output_blocks
      Src: /src/vlc/modules/access/rtp/h265.c:179,1
    - Dst: h265_deaggregate_AP
      Src: /src/vlc/modules/access/rtp/h265.c:183,1
    - Dst: h26x_output
      Src: /src/vlc/modules/access/rtp/h265.c:184,1
    - Dst: h26x_output_blocks
      Src: /src/vlc/modules/access/rtp/h265.c:198,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/access/rtp/h265.c:219,1
    - Dst: block_ChainGather
      Src: /src/vlc/modules/access/rtp/h265.c:222,1
    - Dst: h26x_wrap_prefix
      Src: /src/vlc/modules/access/rtp/h265.c:225,1
    - Dst: h26x_output
      Src: /src/vlc/modules/access/rtp/h265.c:226,1
    - Dst: rtp_h265_decode
      Src: /src/vlc/modules/access/rtp/h265.c:246,1
    - Dst: h26x_output_blocks
      Src: /src/vlc/modules/access/rtp/h265.c:251,1
    - Dst: h26x_wrap_prefix
      Src: /src/vlc/modules/access/rtp/h265.c:263,1
    - Dst: h26x_output
      Src: /src/vlc/modules/access/rtp/h265.c:264,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/rtp/h265.c:270,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 77
    argCount: 4
    argNames:
    - pt
    - data
    - block
    - info
    argTypes:
    - struct vlc_rtp_pt*
    - void*
    - block_t*
    - struct vlc_rtp_pktinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 157
    functionDepth: 4
    functionLinenumber: 157
    functionLinenumberEnd: 271
    functionName: rtp_h265_decode
    functionSourceFile: /src/vlc/modules/access/rtp/h265.c
    functionUses: 1
    functionsReached:
    - block_Release
    - h26x_output
    - block_ChainLastAppend
    - block_ChainGather
    - rtp_h265_decode
    - h26x_wrap_prefix
    - h26x_output_blocks
    - h265_deaggregate_AP
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void rtp_h265_decode (struct vlc_rtp_pt *pt, void *data, block_t *block,\n
      \                            const struct vlc_rtp_pktinfo *restrict info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/access/rtp/h265.c:277,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/h265.c:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pt
    argTypes:
    - struct vlc_rtp_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 279
    functionName: rtp_h265_release
    functionSourceFile: /src/vlc/modules/access/rtp/h265.c
    functionUses: 0
    functionsReached:
    - free
    - block_Release
    linkageType: ''
    returnType: void
    signature: void rtp_h265_release(struct vlc_rtp_pt *pt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/rtp/h265.c:288,1
    - Dst: calloc
      Src: /src/vlc/modules/access/rtp/h265.c:293,1
    - Dst: vlc_sdp_fmtp_get
      Src: /src/vlc/modules/access/rtp/h265.c:301,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/rtp/h265.c:306,1
    - Dst: vlc_sdp_fmtp_get_str
      Src: /src/vlc/modules/access/rtp/h265.c:308,1
    - Dst: h26x_fillextradata
      Src: /src/vlc/modules/access/rtp/h265.c:311,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/access/rtp/h265.c:313,1
    - Dst: block_ChainGather
      Src: /src/vlc/modules/access/rtp/h265.c:316,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - obj
    - pt
    - desc
    argTypes:
    - vlc_object_t*
    - struct vlc_rtp_pt*
    - struct vlc_sdp_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 319
    functionName: rtp_h265_open
    functionSourceFile: /src/vlc/modules/access/rtp/h265.c
    functionUses: 0
    functionsReached:
    - vlc_sdp_fmtp_get
    - vlc_ascii_strcasecmp
    - ARRAY_SIZE
    - h26x_fillextradata
    - calloc
    - block_ChainLastAppend
    - vlc_sdp_fmtp_get_str
    - block_ChainGather
    linkageType: ''
    returnType: int
    signature: "int rtp_h265_open(vlc_object_t *obj, struct vlc_rtp_pt *pt,\n                         const
      struct vlc_sdp_pt *desc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_rtp_es_destroy
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pt
    - data
    argTypes:
    - struct vlc_rtp_pt*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: codec_destroy
    functionSourceFile: /src/vlc/modules/access/rtp/rtpfmt.c
    functionUses: 0
    functionsReached:
    - vlc_rtp_es_destroy
    linkageType: ''
    returnType: void
    signature: void codec_destroy(struct vlc_rtp_pt *pt, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_rtp_es_send
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - pt
    - data
    - block
    - info
    argTypes:
    - struct vlc_rtp_pt*
    - void*
    - block_t*
    - struct vlc_rtp_pktinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: codec_decode
    functionSourceFile: /src/vlc/modules/access/rtp/rtpfmt.c
    functionUses: 0
    functionsReached:
    - vlc_rtp_es_send
    linkageType: ''
    returnType: void
    signature: "void codec_decode(struct vlc_rtp_pt *pt, void *data, block_t *block,\n
      \                        const struct vlc_rtp_pktinfo *restrict info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:66,1
    - Dst: vlc_rtp_pt_request_es
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pt
    argTypes:
    - struct vlc_rtp_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: gsm_init
    functionSourceFile: /src/vlc/modules/access/rtp/rtpfmt.c
    functionUses: 0
    functionsReached:
    - vlc_rtp_pt_request_es
    - es_format_Init
    linkageType: ''
    returnType: void
    signature: void *gsm_init(struct vlc_rtp_pt *pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:83,1
    - Dst: vlc_rtp_pt_request_es
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pt
    argTypes:
    - struct vlc_rtp_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: qcelp_init
    functionSourceFile: /src/vlc/modules/access/rtp/rtpfmt.c
    functionUses: 0
    functionsReached:
    - vlc_rtp_pt_request_es
    - es_format_Init
    linkageType: ''
    returnType: void
    signature: void *qcelp_init(struct vlc_rtp_pt *pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_rtp_add_media_types
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:103,1
    - Dst: strcpy
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:104,1
    - Dst: strcpy
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:105,1
    - Dst: vlc_rtp_add_media_types
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - obj
    - session
    - owner
    argTypes:
    - vlc_object_t*
    - rtp_session_t*
    - struct vlc_rtp_pt_owner*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 107
    functionName: rtp_autodetect
    functionSourceFile: /src/vlc/modules/access/rtp/rtpfmt.c
    functionUses: 1
    functionsReached:
    - strcpy
    - vlc_rtp_add_media_types
    linkageType: ''
    returnType: void
    signature: "void rtp_autodetect(vlc_object_t *obj, rtp_session_t *session,\n                    const
      struct vlc_rtp_pt_owner *restrict owner)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:123,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:124,1
    - Dst: vlc_rtp_pt_instantiate
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:131,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:136,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:137,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:139,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:144,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:146,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - obj
    - desc
    - owner
    argTypes:
    - vlc_object_t*
    - struct vlc_sdp_pt*
    - struct vlc_rtp_pt_owner*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 152
    functionName: vlc_rtp_pt_create
    functionSourceFile: /src/vlc/modules/access/rtp/rtpfmt.c
    functionUses: 0
    functionsReached:
    - msg_Err
    - free
    - strcmp
    - vlc_rtp_pt_instantiate
    - unlikely
    - malloc
    linkageType: ''
    returnType: struct vlc_rtp_pt
    signature: "struct vlc_rtp_pt *vlc_rtp_pt_create(vlc_object_t *obj,\n                                            const
      struct vlc_sdp_pt *desc,\n                                 const struct vlc_rtp_pt_owner
      *restrict owner)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct vlc_rtp_pt*::ops::release
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:157,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pt
    argTypes:
    - struct vlc_rtp_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: vlc_rtp_pt_release
    functionSourceFile: /src/vlc/modules/access/rtp/rtpfmt.c
    functionUses: 1
    functionsReached:
    - free
    - struct vlc_rtp_pt*::ops::release
    linkageType: ''
    returnType: void
    signature: void vlc_rtp_pt_release(struct vlc_rtp_pt *pt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:207,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:209,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:210,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:212,1
    - Dst: strcpy
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - types
    - media
    argTypes:
    - struct vlc_sdp_pt*
    - struct vlc_sdp_media*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 224
    functionName: vlc_rtp_set_default_types
    functionSourceFile: /src/vlc/modules/access/rtp/rtpfmt.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ARRAY_SIZE
    - strcpy
    linkageType: ''
    returnType: void
    signature: "void vlc_rtp_set_default_types(struct vlc_sdp_pt *restrict types,\n
      \                                     const struct vlc_sdp_media *media)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: vlc_rtp_set_default_types
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:235,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:241,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:246,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:252,1
    - Dst: strcpy
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:254,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:261,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:265,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:266,1
    - Dst: strtoul
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:276,1
    - Dst: strspn
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:284,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:286,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:294,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:297,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:299,1
    - Dst: vlc_rtp_pt_create
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:301,1
    - Dst: rtp_add_type
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:304,1
    - Dst: vlc_rtp_pt_release
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:305,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 49
    argCount: 4
    argNames:
    - obj
    - session
    - media
    - owner
    argTypes:
    - vlc_object_t*
    - rtp_session_t*
    - struct vlc_sdp_media*
    - struct vlc_rtp_pt_owner*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 313
    functionName: vlc_rtp_add_media_types
    functionSourceFile: /src/vlc/modules/access/rtp/rtpfmt.c
    functionUses: 2
    functionsReached:
    - sscanf
    - ARRAY_SIZE
    - vlc_rtp_pt_create
    - strtoul
    - strspn
    - strcmp
    - strcpy
    - msg_Dbg
    - vlc_rtp_set_default_types
    - vlc_rtp_pt_release
    - rtp_add_type
    linkageType: ''
    returnType: int
    signature: "int vlc_rtp_add_media_types(vlc_object_t *obj, rtp_session_t *session,\n
      \                           const struct vlc_sdp_media *media,\n                            const
      struct vlc_rtp_pt_owner *restrict owner)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - es
    argTypes:
    - struct vlc_rtp_es*
    assertStmts:
    - condition: (es == vlc_rtp_es_dummy)
      pos:
        line_end: 316
        line_start: 316
        source_file: /src/vlc/modules/access/rtp/rtpfmt.c
    constantsTouched: []
    func_position:
      end: 318
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 318
    functionName: es_dummy_destroy
    functionSourceFile: /src/vlc/modules/access/rtp/rtpfmt.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void es_dummy_destroy(struct vlc_rtp_es *es)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:322,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/rtp/rtpfmt.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - es
    - block
    argTypes:
    - struct vlc_rtp_es*
    - block_t*
    assertStmts:
    - condition: (es == vlc_rtp_es_dummy)
      pos:
        line_end: 321
        line_start: 321
        source_file: /src/vlc/modules/access/rtp/rtpfmt.c
    constantsTouched: []
    func_position:
      end: 324
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 324
    functionName: es_dummy_decode
    functionSourceFile: /src/vlc/modules/access/rtp/rtpfmt.c
    functionUses: 0
    functionsReached:
    - block_Release
    - assert
    linkageType: ''
    returnType: void
    signature: void es_dummy_decode(struct vlc_rtp_es *es, block_t *block)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/rtp/mpeg4.c:60,1
    - Dst: rtp_h26x_init
      Src: /src/vlc/modules/access/rtp/mpeg4.c:63,1
    - Dst: demux_PacketizerNew
      Src: /src/vlc/modules/access/rtp/mpeg4.c:65,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/mpeg4.c:68,1
    - Dst: vlc_rtp_pt_request_es
      Src: /src/vlc/modules/access/rtp/mpeg4.c:72,1
    - Dst: block_Duplicate
      Src: /src/vlc/modules/access/rtp/mpeg4.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pt
    - fmt
    argTypes:
    - struct vlc_rtp_pt*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 77
    functionName: rtp_mpeg4_init
    functionSourceFile: /src/vlc/modules/access/rtp/mpeg4.c
    functionUses: 0
    functionsReached:
    - demux_PacketizerNew
    - free
    - block_Duplicate
    - rtp_h26x_init
    - vlc_rtp_pt_request_es
    - malloc
    linkageType: ''
    returnType: void
    signature: void *rtp_mpeg4_init(struct vlc_rtp_pt *pt, es_format_t *fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/rtp/mpeg4.c:82,1
    - Dst: rtp_mpeg4_init
      Src: /src/vlc/modules/access/rtp/mpeg4.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pt
    argTypes:
    - struct vlc_rtp_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: rtp_mpeg4v_init
    functionSourceFile: /src/vlc/modules/access/rtp/mpeg4.c
    functionUses: 0
    functionsReached:
    - rtp_mpeg4_init
    - es_format_Init
    linkageType: ''
    returnType: void
    signature: void *rtp_mpeg4v_init(struct vlc_rtp_pt *pt)
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - objectType
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 112
    functionName: audioObjectTypeToCodec
    functionSourceFile: /src/vlc/modules/access/rtp/mpeg4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t audioObjectTypeToCodec(uint8_t objectType)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/rtp/mpeg4.c:118,1
    - Dst: audioObjectTypeToCodec
      Src: /src/vlc/modules/access/rtp/mpeg4.c:123,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/access/rtp/mpeg4.c:124,1
    - Dst: bs_init
      Src: /src/vlc/modules/access/rtp/mpeg4.c:132,1
    - Dst: MPEG4_read_AudioSpecificConfig
      Src: /src/vlc/modules/access/rtp/mpeg4.c:134,1
    - Dst: audioObjectTypeToCodec
      Src: /src/vlc/modules/access/rtp/mpeg4.c:136,1
    - Dst: rtp_mpeg4_init
      Src: /src/vlc/modules/access/rtp/mpeg4.c:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - pt
    argTypes:
    - struct vlc_rtp_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 148
    functionName: rtp_mpeg4a_init
    functionSourceFile: /src/vlc/modules/access/rtp/mpeg4.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - MPEG4_read_AudioSpecificConfig
    - rtp_mpeg4_init
    - audioObjectTypeToCodec
    - bs_init
    - es_format_Init
    linkageType: ''
    returnType: void
    signature: void *rtp_mpeg4a_init(struct vlc_rtp_pt *pt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/rtp/mpeg4.c:152,1
    - Dst: demux_PacketizerDestroy
      Src: /src/vlc/modules/access/rtp/mpeg4.c:157,1
    - Dst: vlc_rtp_es_destroy
      Src: /src/vlc/modules/access/rtp/mpeg4.c:158,1
    - Dst: rtp_h26x_clear
      Src: /src/vlc/modules/access/rtp/mpeg4.c:159,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/mpeg4.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pt
    - data
    argTypes:
    - struct vlc_rtp_pt*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 162
    functionName: rtp_mpeg4_destroy
    functionSourceFile: /src/vlc/modules/access/rtp/mpeg4.c
    functionUses: 0
    functionsReached:
    - demux_PacketizerDestroy
    - vlc_rtp_es_destroy
    - free
    - rtp_h26x_clear
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void rtp_mpeg4_destroy(struct vlc_rtp_pt *pt, void *data)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: GetWBE
      Src: /src/vlc/modules/access/rtp/mpeg4.c:174,1
    - Dst: bs_init
      Src: /src/vlc/modules/access/rtp/mpeg4.c:185,1
    - Dst: bs_read
      Src: /src/vlc/modules/access/rtp/mpeg4.c:186,1
    - Dst: bs_init
      Src: /src/vlc/modules/access/rtp/mpeg4.c:197,1
    - Dst: bs_pos
      Src: /src/vlc/modules/access/rtp/mpeg4.c:202,1
    - Dst: bs_read
      Src: /src/vlc/modules/access/rtp/mpeg4.c:205,1
    - Dst: bs_read
      Src: /src/vlc/modules/access/rtp/mpeg4.c:210,1
    - Dst: bs_read
      Src: /src/vlc/modules/access/rtp/mpeg4.c:212,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/rtp/mpeg4.c:213,1
    - Dst: bs_read
      Src: /src/vlc/modules/access/rtp/mpeg4.c:217,1
    - Dst: bs_read
      Src: /src/vlc/modules/access/rtp/mpeg4.c:218,1
    - Dst: bs_read
      Src: /src/vlc/modules/access/rtp/mpeg4.c:220,1
    - Dst: bs_read
      Src: /src/vlc/modules/access/rtp/mpeg4.c:221,1
    - Dst: bs_read
      Src: /src/vlc/modules/access/rtp/mpeg4.c:224,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/rtp/mpeg4.c:230,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/rtp/mpeg4.c:233,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/access/rtp/mpeg4.c:235,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/access/rtp/mpeg4.c:237,1
    - Dst: h26x_output
      Src: /src/vlc/modules/access/rtp/mpeg4.c:240,1
    - Dst: bs_eof
      Src: /src/vlc/modules/access/rtp/mpeg4.c:245,1
    - Dst: bs_error
      Src: /src/vlc/modules/access/rtp/mpeg4.c:245,1
    - Dst: bs_pos
      Src: /src/vlc/modules/access/rtp/mpeg4.c:247,1
    - Dst: h26x_output
      Src: /src/vlc/modules/access/rtp/mpeg4.c:252,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/rtp/mpeg4.c:257,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 52
    argCount: 4
    argNames:
    - pt
    - data
    - block
    - info
    argTypes:
    - struct vlc_rtp_pt*
    - void*
    - block_t*
    - struct vlc_rtp_pktinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 258
    functionName: rtp_mpeg4_decode
    functionSourceFile: /src/vlc/modules/access/rtp/mpeg4.c
    functionUses: 0
    functionsReached:
    - GetWBE
    - block_Release
    - bs_eof
    - memcpy
    - h26x_output
    - bs_read
    - block_Alloc
    - vlc_tick_from_samples
    - bs_error
    - bs_pos
    - bs_init
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void rtp_mpeg4_decode(struct vlc_rtp_pt *pt, void *data, block_t *block,\n
      \                            const struct vlc_rtp_pktinfo *restrict info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/access/rtp/mpeg4.c:264,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/mpeg4.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pt
    argTypes:
    - struct vlc_rtp_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 266
    functionName: rtp_mpeg4_release
    functionSourceFile: /src/vlc/modules/access/rtp/mpeg4.c
    functionUses: 0
    functionsReached:
    - free
    - block_Release
    linkageType: ''
    returnType: void
    signature: void rtp_mpeg4_release(struct vlc_rtp_pt *pt)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 285
    functionName: hex_to_dec
    functionSourceFile: /src/vlc/modules/access/rtp/mpeg4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char hex_to_dec(char c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/rtp/mpeg4.c:292,1
    - Dst: hex_to_dec
      Src: /src/vlc/modules/access/rtp/mpeg4.c:298,1
    - Dst: hex_to_dec
      Src: /src/vlc/modules/access/rtp/mpeg4.c:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - psz
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 304
    functionName: mpeg4_decode_config
    functionSourceFile: /src/vlc/modules/access/rtp/mpeg4.c
    functionUses: 0
    functionsReached:
    - hex_to_dec
    - block_Alloc
    linkageType: ''
    returnType: block_t
    signature: block_t * mpeg4_decode_config(const char *psz, size_t len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/rtp/mpeg4.c:309,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/rtp/mpeg4.c:315,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/rtp/mpeg4.c:317,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/rtp/mpeg4.c:320,1
    - Dst: vlc_sdp_fmtp_get_str
      Src: /src/vlc/modules/access/rtp/mpeg4.c:322,1
    - Dst: strtod
      Src: /src/vlc/modules/access/rtp/mpeg4.c:325,1
    - Dst: vlc_sdp_fmtp_get
      Src: /src/vlc/modules/access/rtp/mpeg4.c:337,1
    - Dst: vlc_sdp_fmtp_get
      Src: /src/vlc/modules/access/rtp/mpeg4.c:340,1
    - Dst: vlc_sdp_fmtp_get
      Src: /src/vlc/modules/access/rtp/mpeg4.c:341,1
    - Dst: vlc_sdp_fmtp_get
      Src: /src/vlc/modules/access/rtp/mpeg4.c:345,1
    - Dst: vlc_sdp_fmtp_get
      Src: /src/vlc/modules/access/rtp/mpeg4.c:348,1
    - Dst: vlc_sdp_fmtp_get
      Src: /src/vlc/modules/access/rtp/mpeg4.c:349,1
    - Dst: vlc_sdp_fmtp_get
      Src: /src/vlc/modules/access/rtp/mpeg4.c:350,1
    - Dst: vlc_sdp_fmtp_get
      Src: /src/vlc/modules/access/rtp/mpeg4.c:351,1
    - Dst: calloc
      Src: /src/vlc/modules/access/rtp/mpeg4.c:359,1
    - Dst: vlc_sdp_fmtp_get
      Src: /src/vlc/modules/access/rtp/mpeg4.c:368,1
    - Dst: vlc_sdp_fmtp_get_str
      Src: /src/vlc/modules/access/rtp/mpeg4.c:378,1
    - Dst: mpeg4_decode_config
      Src: /src/vlc/modules/access/rtp/mpeg4.c:380,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - obj
    - pt
    - desc
    argTypes:
    - vlc_object_t*
    - struct vlc_rtp_pt*
    - struct vlc_sdp_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 383
    functionName: rtp_mpeg4_open
    functionSourceFile: /src/vlc/modules/access/rtp/mpeg4.c
    functionUses: 0
    functionsReached:
    - vlc_sdp_fmtp_get
    - vlc_ascii_strcasecmp
    - mpeg4_decode_config
    - calloc
    - strtod
    - vlc_sdp_fmtp_get_str
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int rtp_mpeg4_open(vlc_object_t *obj, struct vlc_rtp_pt *pt,\n                          const
      struct vlc_sdp_pt *desc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/rtp/h264.c:43,1
    - Dst: rtp_h26x_init
      Src: /src/vlc/modules/access/rtp/h264.c:46,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/rtp/h264.c:49,1
    - Dst: demux_PacketizerNew
      Src: /src/vlc/modules/access/rtp/h264.c:52,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/h264.c:55,1
    - Dst: vlc_rtp_pt_request_es
      Src: /src/vlc/modules/access/rtp/h264.c:59,1
    - Dst: block_Duplicate
      Src: /src/vlc/modules/access/rtp/h264.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - pt
    argTypes:
    - struct vlc_rtp_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 64
    functionName: rtp_h264_init
    functionSourceFile: /src/vlc/modules/access/rtp/h264.c
    functionUses: 0
    functionsReached:
    - demux_PacketizerNew
    - free
    - block_Duplicate
    - es_format_Init
    - rtp_h26x_init
    - vlc_rtp_pt_request_es
    - malloc
    linkageType: ''
    returnType: void
    signature: void *rtp_h264_init(struct vlc_rtp_pt *pt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/rtp/h264.c:68,1
    - Dst: demux_PacketizerDestroy
      Src: /src/vlc/modules/access/rtp/h264.c:73,1
    - Dst: vlc_rtp_es_destroy
      Src: /src/vlc/modules/access/rtp/h264.c:74,1
    - Dst: rtp_h26x_clear
      Src: /src/vlc/modules/access/rtp/h264.c:75,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/h264.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pt
    - data
    argTypes:
    - struct vlc_rtp_pt*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: rtp_h264_destroy
    functionSourceFile: /src/vlc/modules/access/rtp/h264.c
    functionUses: 0
    functionsReached:
    - demux_PacketizerDestroy
    - vlc_rtp_es_destroy
    - free
    - rtp_h26x_clear
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void rtp_h264_destroy(struct vlc_rtp_pt *pt, void *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetWBE
      Src: /src/vlc/modules/access/rtp/h264.c:88,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/rtp/h264.c:95,1
    - Dst: GetWBE
      Src: /src/vlc/modules/access/rtp/h264.c:103,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/rtp/h264.c:107,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/access/rtp/h264.c:109,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/rtp/h264.c:111,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/rtp/h264.c:116,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - block
    - b_annexb
    argTypes:
    - block_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 120
    functionName: h264_deaggregate_STAP
    functionSourceFile: /src/vlc/modules/access/rtp/h264.c
    functionUses: 0
    functionsReached:
    - GetWBE
    - block_Release
    - memcpy
    - SetDWBE
    - block_Alloc
    linkageType: ''
    returnType: block_t
    signature: block_t * h264_deaggregate_STAP(block_t *block, bool b_annexb)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetWBE
      Src: /src/vlc/modules/access/rtp/h264.c:138,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/rtp/h264.c:144,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/rtp/h264.c:147,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/rtp/h264.c:149,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/access/rtp/h264.c:151,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/access/rtp/h264.c:153,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/access/rtp/h264.c:154,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/rtp/h264.c:160,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - block
    - b_24ext
    - b_annexb
    argTypes:
    - block_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 162
    functionName: h264_chainsplit_MTAP
    functionSourceFile: /src/vlc/modules/access/rtp/h264.c
    functionUses: 0
    functionsReached:
    - GetWBE
    - block_Release
    - memcpy
    - block_ChainLastAppend
    - SetDWBE
    - block_Alloc
    - vlc_tick_from_samples
    linkageType: ''
    returnType: block_t
    signature: "block_t * h264_chainsplit_MTAP(block_t *block, bool b_24ext,\n                                      bool
      b_annexb)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/rtp/h264.c:167,1
    - Dst: h26x_output_blocks
      Src: /src/vlc/modules/access/rtp/h264.c:180,1
    - Dst: h264_deaggregate_STAP
      Src: /src/vlc/modules/access/rtp/h264.c:184,1
    - Dst: h26x_output
      Src: /src/vlc/modules/access/rtp/h264.c:185,1
    - Dst: h264_chainsplit_MTAP
      Src: /src/vlc/modules/access/rtp/h264.c:193,1
    - Dst: h26x_output
      Src: /src/vlc/modules/access/rtp/h264.c:199,1
    - Dst: h26x_output_blocks
      Src: /src/vlc/modules/access/rtp/h264.c:216,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/access/rtp/h264.c:228,1
    - Dst: block_ChainGather
      Src: /src/vlc/modules/access/rtp/h264.c:231,1
    - Dst: h26x_wrap_prefix
      Src: /src/vlc/modules/access/rtp/h264.c:234,1
    - Dst: h26x_output
      Src: /src/vlc/modules/access/rtp/h264.c:235,1
    - Dst: h26x_output_blocks
      Src: /src/vlc/modules/access/rtp/h264.c:241,1
    - Dst: h26x_wrap_prefix
      Src: /src/vlc/modules/access/rtp/h264.c:244,1
    - Dst: h26x_output
      Src: /src/vlc/modules/access/rtp/h264.c:245,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/rtp/h264.c:252,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 63
    argCount: 4
    argNames:
    - pt
    - data
    - block
    - info
    argTypes:
    - struct vlc_rtp_pt*
    - void*
    - block_t*
    - struct vlc_rtp_pktinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 164
    functionDepth: 4
    functionLinenumber: 164
    functionLinenumberEnd: 253
    functionName: rtp_h264_decode
    functionSourceFile: /src/vlc/modules/access/rtp/h264.c
    functionUses: 0
    functionsReached:
    - block_Release
    - h264_chainsplit_MTAP
    - h26x_output
    - block_ChainLastAppend
    - h264_deaggregate_STAP
    - block_ChainGather
    - h26x_wrap_prefix
    - h26x_output_blocks
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void rtp_h264_decode(struct vlc_rtp_pt *pt, void *data, block_t *block,\n
      \                           const struct vlc_rtp_pktinfo *restrict info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/access/rtp/h264.c:259,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/h264.c:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pt
    argTypes:
    - struct vlc_rtp_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 261
    functionName: rtp_h264_release
    functionSourceFile: /src/vlc/modules/access/rtp/h264.c
    functionUses: 0
    functionsReached:
    - free
    - block_Release
    linkageType: ''
    returnType: void
    signature: void rtp_h264_release(struct vlc_rtp_pt *pt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/rtp/h264.c:270,1
    - Dst: vlc_sdp_fmtp_get
      Src: /src/vlc/modules/access/rtp/h264.c:276,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/rtp/h264.c:280,1
    - Dst: calloc
      Src: /src/vlc/modules/access/rtp/h264.c:285,1
    - Dst: vlc_sdp_fmtp_get_str
      Src: /src/vlc/modules/access/rtp/h264.c:293,1
    - Dst: h26x_fillextradata
      Src: /src/vlc/modules/access/rtp/h264.c:295,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - obj
    - pt
    - desc
    argTypes:
    - vlc_object_t*
    - struct vlc_rtp_pt*
    - struct vlc_sdp_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 298
    functionName: rtp_h264_open
    functionSourceFile: /src/vlc/modules/access/rtp/h264.c
    functionUses: 0
    functionsReached:
    - vlc_sdp_fmtp_get
    - vlc_ascii_strcasecmp
    - h26x_fillextradata
    - calloc
    - vlc_sdp_fmtp_get_str
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int rtp_h264_open(vlc_object_t *obj, struct vlc_rtp_pt *pt,\n                         const
      struct vlc_sdp_pt *desc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/rtp.h:197,1
    - Dst: struct vlc_rtp_pt*::ops::init
      Src: /src/vlc/modules/access/rtp/rtp.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pt
    argTypes:
    - struct vlc_rtp_pt*
    assertStmts:
    - condition: (pt->ops->init != NULL)
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/vlc/modules/access/rtp/rtp.h
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: vlc_rtp_pt_begin
    functionSourceFile: /src/vlc/modules/access/rtp/rtp.h
    functionUses: 1
    functionsReached:
    - struct vlc_rtp_pt*::ops::init
    - assert
    linkageType: ''
    returnType: void
    signature: void *vlc_rtp_pt_begin(struct vlc_rtp_pt *pt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct vlc_rtp_pt*::ops::destroy
      Src: /src/vlc/modules/access/rtp/rtp.h:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - pt
    - data
    argTypes:
    - struct vlc_rtp_pt*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: vlc_rtp_pt_end
    functionSourceFile: /src/vlc/modules/access/rtp/rtp.h
    functionUses: 2
    functionsReached:
    - struct vlc_rtp_pt*::ops::destroy
    linkageType: ''
    returnType: void
    signature: void vlc_rtp_pt_end(struct vlc_rtp_pt *pt, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/rtp.h:227,1
    - Dst: struct vlc_rtp_pt*::ops::decode
      Src: /src/vlc/modules/access/rtp/rtp.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pt
    - data
    - pkt
    - info
    argTypes:
    - struct vlc_rtp_pt*
    - void*
    - block_t*
    - struct vlc_rtp_pktinfo*
    assertStmts:
    - condition: (pt->ops->decode != NULL)
      pos:
        line_end: 226
        line_start: 226
        source_file: /src/vlc/modules/access/rtp/rtp.h
    constantsTouched: []
    func_position:
      end: 229
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 229
    functionName: vlc_rtp_pt_decode
    functionSourceFile: /src/vlc/modules/access/rtp/rtp.h
    functionUses: 1
    functionsReached:
    - assert
    - struct vlc_rtp_pt*::ops::decode
    linkageType: ''
    returnType: void
    signature: "void vlc_rtp_pt_decode(struct vlc_rtp_pt *pt, void *data, block_t
      *pkt,\n                       const struct vlc_rtp_pktinfo *restrict info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct vlc_rtp_pt*::owner::ops::request_es
      Src: /src/vlc/modules/access/rtp/rtp.h:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pt
    - fmt
    argTypes:
    - struct vlc_rtp_pt*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: vlc_rtp_pt_request_es
    functionSourceFile: /src/vlc/modules/access/rtp/rtp.h
    functionUses: 13
    functionsReached:
    - struct vlc_rtp_pt*::owner::ops::request_es
    linkageType: ''
    returnType: struct vlc_rtp_es
    signature: "struct vlc_rtp_es *vlc_rtp_pt_request_es(struct vlc_rtp_pt *pt,\n
      \                                        const es_format_t *restrict fmt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct vlc_rtp_pt*::owner::ops::request_mux
      Src: /src/vlc/modules/access/rtp/rtp.h:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pt
    - name
    argTypes:
    - struct vlc_rtp_pt*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 260
    functionName: vlc_rtp_pt_request_mux
    functionSourceFile: /src/vlc/modules/access/rtp/rtp.h
    functionUses: 2
    functionsReached:
    - struct vlc_rtp_pt*::owner::ops::request_mux
    linkageType: ''
    returnType: struct vlc_rtp_es
    signature: "struct vlc_rtp_es *vlc_rtp_pt_request_mux(struct vlc_rtp_pt *pt,\n
      \                                         const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/rtp.h:300,1
    - Dst: struct vlc_rtp_es*::ops::destroy
      Src: /src/vlc/modules/access/rtp/rtp.h:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - es
    argTypes:
    - struct vlc_rtp_es*
    assertStmts:
    - condition: (es->ops->destroy != NULL)
      pos:
        line_end: 299
        line_start: 299
        source_file: /src/vlc/modules/access/rtp/rtp.h
    constantsTouched: []
    func_position:
      end: 302
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 302
    functionName: vlc_rtp_es_destroy
    functionSourceFile: /src/vlc/modules/access/rtp/rtp.h
    functionUses: 13
    functionsReached:
    - assert
    - struct vlc_rtp_es*::ops::destroy
    linkageType: ''
    returnType: void
    signature: void vlc_rtp_es_destroy(struct vlc_rtp_es *es)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/rtp.h:312,1
    - Dst: struct vlc_rtp_es*::ops::send
      Src: /src/vlc/modules/access/rtp/rtp.h:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - es
    - block
    argTypes:
    - struct vlc_rtp_es*
    - block_t*
    assertStmts:
    - condition: (es->ops->send != NULL)
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/vlc/modules/access/rtp/rtp.h
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: vlc_rtp_es_send
    functionSourceFile: /src/vlc/modules/access/rtp/rtp.h
    functionUses: 12
    functionsReached:
    - struct vlc_rtp_es*::ops::send
    - assert
    linkageType: ''
    returnType: void
    signature: void vlc_rtp_es_send(struct vlc_rtp_es *es, block_t *block)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 344
    functionName: set_rtp_parser_callback
    functionSourceFile: /src/vlc/modules/access/rtp/rtp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_rtp_parser_callback(cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - block
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: rtp_ptype
    functionSourceFile: /src/vlc/modules/access/rtp/rtp.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t rtp_ptype (const block_t *block)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/rtp/ac3.c:54,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/rtp/ac3.c:55,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/rtp/ac3.c:63,1
    - Dst: vlc_rtp_pt_request_es
      Src: /src/vlc/modules/access/rtp/ac3.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pt
    argTypes:
    - struct vlc_rtp_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 70
    functionName: rtp_ac3_begin
    functionSourceFile: /src/vlc/modules/access/rtp/ac3.c
    functionUses: 0
    functionsReached:
    - vlc_rtp_pt_request_es
    - unlikely
    - malloc
    - es_format_Init
    linkageType: ''
    returnType: void
    signature: void *rtp_ac3_begin(struct vlc_rtp_pt *pt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/access/rtp/ac3.c:76,1
    - Dst: vlc_rtp_es_destroy
      Src: /src/vlc/modules/access/rtp/ac3.c:79,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/access/rtp/ac3.c:80,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/ac3.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pt
    - data
    argTypes:
    - struct vlc_rtp_pt*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: rtp_ac3_end
    functionSourceFile: /src/vlc/modules/access/rtp/ac3.c
    functionUses: 0
    functionsReached:
    - block_ChainRelease
    - vlc_rtp_es_destroy
    - unlikely
    - free
    linkageType: ''
    returnType: void
    signature: void rtp_ac3_end(struct vlc_rtp_pt *pt, void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/access/rtp/ac3.c:92,1
    - Dst: vlc_a52_header_Parse
      Src: /src/vlc/modules/access/rtp/ac3.c:97,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/access/rtp/ac3.c:100,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/rtp/ac3.c:102,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/rtp/ac3.c:106,1
    - Dst: likely
      Src: /src/vlc/modules/access/rtp/ac3.c:108,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/rtp/ac3.c:109,1
    - Dst: vlc_rtp_es_send
      Src: /src/vlc/modules/access/rtp/ac3.c:111,1
    - Dst: vlc_rtp_es_send
      Src: /src/vlc/modules/access/rtp/ac3.c:121,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 5
    argNames:
    - log
    - enhanced
    - src
    - block
    - frames
    argTypes:
    - struct vlc_logger*
    - bool
    - struct rtp_ac3_source*
    - block_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 122
    functionName: rtp_ac3_decode_compound
    functionSourceFile: /src/vlc/modules/access/rtp/ac3.c
    functionUses: 0
    functionsReached:
    - block_Release
    - vlc_a52_header_Parse
    - vlc_warning
    - memcpy
    - block_Alloc
    - likely
    - vlc_rtp_es_send
    linkageType: ''
    returnType: void
    signature: "void rtp_ac3_decode_compound(struct vlc_logger *log, bool enhanced,\n
      \                                   struct rtp_ac3_source *src,\n                                    block_t
      *block, unsigned int frames)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainGather
      Src: /src/vlc/modules/access/rtp/ac3.c:127,1
    - Dst: likely
      Src: /src/vlc/modules/access/rtp/ac3.c:129,1
    - Dst: vlc_rtp_es_send
      Src: /src/vlc/modules/access/rtp/ac3.c:130,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/access/rtp/ac3.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - src
    argTypes:
    - struct rtp_ac3_source*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 136
    functionName: rtp_ac3_send
    functionSourceFile: /src/vlc/modules/access/rtp/ac3.c
    functionUses: 0
    functionsReached:
    - block_ChainRelease
    - vlc_rtp_es_send
    - likely
    - block_ChainGather
    linkageType: ''
    returnType: void
    signature: void rtp_ac3_send(struct rtp_ac3_source *src)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/access/rtp/ac3.c:145,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/rtp/ac3.c:146,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/access/rtp/ac3.c:151,1
    - Dst: rtp_ac3_send
      Src: /src/vlc/modules/access/rtp/ac3.c:166,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/access/rtp/ac3.c:167,1
    - Dst: rtp_ac3_decode_compound
      Src: /src/vlc/modules/access/rtp/ac3.c:172,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/ac3.c:179,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/rtp/ac3.c:180,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/access/rtp/ac3.c:181,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/rtp/ac3.c:187,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/ac3.c:194,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/access/rtp/ac3.c:202,1
    - Dst: rtp_ac3_send
      Src: /src/vlc/modules/access/rtp/ac3.c:205,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 4
    argNames:
    - pt
    - data
    - block
    - info
    argTypes:
    - struct vlc_rtp_pt*
    - void*
    - block_t*
    - struct vlc_rtp_pktinfo*
    assertStmts:
    - condition: (!sys->enhanced)
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/vlc/modules/access/rtp/ac3.c
    - condition: (src->missing > 0)
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/vlc/modules/access/rtp/ac3.c
    constantsTouched: []
    func_position:
      end: 207
      start: 138
    functionDepth: 3
    functionLinenumber: 138
    functionLinenumberEnd: 207
    functionName: rtp_ac3_decode
    functionSourceFile: /src/vlc/modules/access/rtp/ac3.c
    functionUses: 0
    functionsReached:
    - block_Release
    - vlc_warning
    - assert
    - rtp_ac3_decode_compound
    - unlikely
    - rtp_ac3_send
    linkageType: ''
    returnType: void
    signature: "void rtp_ac3_decode(struct vlc_rtp_pt *pt, void *data, block_t *block,\n
      \                          const struct vlc_rtp_pktinfo *restrict info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/rtp/ac3.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pt
    argTypes:
    - struct vlc_rtp_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 214
    functionName: rtp_ac3_destroy
    functionSourceFile: /src/vlc/modules/access/rtp/ac3.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void rtp_ac3_destroy(struct vlc_rtp_pt *pt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/rtp/ac3.c:226,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/rtp/ac3.c:229,1
    - Dst: malloc
      Src: /src/vlc/modules/access/rtp/ac3.c:234,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/rtp/ac3.c:235,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/access/rtp/ac3.c:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - obj
    - pt
    - desc
    argTypes:
    - vlc_object_t*
    - struct vlc_rtp_pt*
    - struct vlc_sdp_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 243
    functionName: rtp_ac3_open
    functionSourceFile: /src/vlc/modules/access/rtp/ac3.c
    functionUses: 0
    functionsReached:
    - malloc
    - vlc_object_logger
    - unlikely
    - vlc_ascii_strcasecmp
    linkageType: ''
    returnType: int
    signature: "int rtp_ac3_open(vlc_object_t *obj, struct vlc_rtp_pt *pt,\n                        const
      struct vlc_sdp_pt *desc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: srtp_create
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:46,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:48,1
    - Dst: srtp_create
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:51,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:53,1
    - Dst: srtp_create
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:56,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:58,1
    - Dst: srtp_create
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:60,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:62,1
    - Dst: srtp_setrcc_rate
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:64,1
    - Dst: srtp_setrcc_rate
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:65,1
    - Dst: srtp_setkeystring
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:67,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:68,1
    - Dst: srtp_setkeystring
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:69,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:70,1
    - Dst: memset
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:77,1
    - Dst: srtp_send
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:78,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:79,1
    - Dst: memset
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:82,1
    - Dst: srtp_recv
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:83,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:84,1
    - Dst: srtp_send
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:89,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:90,1
    - Dst: srtp_recv
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:93,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:94,1
    - Dst: srtp_recv
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:98,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:99,1
    - Dst: srtp_send
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:104,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:105,1
    - Dst: srtp_send
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:110,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:111,1
    - Dst: memset
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:115,1
    - Dst: srtp_send
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:118,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:119,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:120,1
    - Dst: srtp_recv
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:123,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:124,1
    - Dst: srtp_send
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:132,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:133,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:134,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:136,1
    - Dst: srtp_recv
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:137,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:138,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:139,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:140,1
    - Dst: memcmp
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:140,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:143,1
    - Dst: srtp_recv
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:147,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:148,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:149,1
    - Dst: srtp_send
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:154,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:155,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:156,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:158,1
    - Dst: srtp_recv
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:159,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:160,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:161,1
    - Dst: srtp_recv
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:165,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:166,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:167,1
    - Dst: srtp_destroy
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:169,1
    - Dst: srtp_destroy
      Src: /src/vlc/modules/access/rtp/test/srtp-recv.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (se == NULL)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/vlc/modules/access/rtp/test/srtp-recv.c
    - condition: (se == NULL)
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/vlc/modules/access/rtp/test/srtp-recv.c
    - condition: (val == ENOSPC)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/vlc/modules/access/rtp/test/srtp-recv.c
    - condition: (len == 0x120)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/vlc/modules/access/rtp/test/srtp-recv.c
    - condition: (val == 0)
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/vlc/modules/access/rtp/test/srtp-recv.c
    - condition: (sd != NULL)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/vlc/modules/access/rtp/test/srtp-recv.c
    - condition: (val == 0)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/vlc/modules/access/rtp/test/srtp-recv.c
    - condition: (val == EINVAL)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/vlc/modules/access/rtp/test/srtp-recv.c
    - condition: (val == 0)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/vlc/modules/access/rtp/test/srtp-recv.c
    - condition: (len == 0x10c)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/vlc/modules/access/rtp/test/srtp-recv.c
    - condition: (len == 0x120)
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/vlc/modules/access/rtp/test/srtp-recv.c
    - condition: (se != NULL)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/vlc/modules/access/rtp/test/srtp-recv.c
    - condition: (val == EINVAL)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/vlc/modules/access/rtp/test/srtp-recv.c
    - condition: (val == EINVAL)
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/vlc/modules/access/rtp/test/srtp-recv.c
    - condition: (val == EINVAL)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/vlc/modules/access/rtp/test/srtp-recv.c
    - condition: (val == EACCES)
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/vlc/modules/access/rtp/test/srtp-recv.c
    - condition: (len == 0x10c)
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/vlc/modules/access/rtp/test/srtp-recv.c
    - condition: (buf2[i + 12] == i)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/vlc/modules/access/rtp/test/srtp-recv.c
    - condition: (len == 0x10c)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/vlc/modules/access/rtp/test/srtp-recv.c
    - condition: (val == EACCES)
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/vlc/modules/access/rtp/test/srtp-recv.c
    - condition: (val == EINVAL)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/vlc/modules/access/rtp/test/srtp-recv.c
    - condition: (val == EINVAL)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/vlc/modules/access/rtp/test/srtp-recv.c
    - condition: (val == 0)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/vlc/modules/access/rtp/test/srtp-recv.c
    - condition: (val == EINVAL)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/vlc/modules/access/rtp/test/srtp-recv.c
    - condition: (val == EINVAL)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/vlc/modules/access/rtp/test/srtp-recv.c
    - condition: (len == 40)
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/vlc/modules/access/rtp/test/srtp-recv.c
    - condition: (val == 0)
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/vlc/modules/access/rtp/test/srtp-recv.c
    - condition: "(!memcmp (buf2, \"\\x80\\x00\\x00\\x03\" \"\\x00\\x00\\x00\\x00\"\n
        \                          \"\\x00\\x00\\x00\\x00\", 12))"
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/vlc/modules/access/rtp/test/srtp-recv.c
    - condition: (val == 0)
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/vlc/modules/access/rtp/test/srtp-recv.c
    - condition: (len == 0x10c)
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/vlc/modules/access/rtp/test/srtp-recv.c
    constantsTouched: []
    func_position:
      end: 172
      start: 36
    functionDepth: 4
    functionLinenumber: 36
    functionLinenumberEnd: 172
    functionName: main
    functionSourceFile: /src/vlc/modules/access/rtp/test/srtp-recv.c
    functionUses: 3
    functionsReached:
    - assert
    - memset
    - memcpy
    - srtp_destroy
    - srtp_setkeystring
    - srtp_recv
    - srtp_send
    - memcmp
    - srtp_create
    - srtp_setrcc_rate
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:26,1
    - Dst: fputc
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: printhex
    functionSourceFile: /src/vlc/modules/access/rtp/test/srtp-aes.c
    functionUses: 0
    functionsReached:
    - fputc
    - printf
    linkageType: ''
    returnType: void
    signature: void printhex (const void *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:32,1
    - Dst: exit
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: fatal
    functionSourceFile: /src/vlc/modules/access/rtp/test/srtp-aes.c
    functionUses: 0
    functionsReached:
    - exit
    - puts
    linkageType: ''
    returnType: void
    signature: void fatal (const char *msg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:60,1
    - Dst: printf
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:61,1
    - Dst: printhex
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:62,1
    - Dst: printf
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:63,1
    - Dst: printhex
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:64,1
    - Dst: gcry_cipher_open
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:66,1
    - Dst: gcry_cipher_setkey
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:67,1
    - Dst: fatal
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:68,1
    - Dst: do_derive
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:70,1
    - Dst: fatal
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:71,1
    - Dst: printf
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:72,1
    - Dst: printhex
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:73,1
    - Dst: memcmp
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:74,1
    - Dst: fatal
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:75,1
    - Dst: do_derive
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:77,1
    - Dst: fatal
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:78,1
    - Dst: printf
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:79,1
    - Dst: printhex
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:80,1
    - Dst: memcmp
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:81,1
    - Dst: fatal
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:82,1
    - Dst: do_derive
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:84,1
    - Dst: fatal
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:85,1
    - Dst: printf
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:86,1
    - Dst: printhex
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:87,1
    - Dst: memcmp
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:88,1
    - Dst: fatal
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:89,1
    - Dst: gcry_cipher_close
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:91,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 92
    functionName: test_derivation
    functionSourceFile: /src/vlc/modules/access/rtp/test/srtp-aes.c
    functionUses: 0
    functionsReached:
    - fatal
    - gcry_cipher_close
    - gcry_cipher_setkey
    - do_derive
    - printf
    - printhex
    - gcry_cipher_open
    - memcmp
    - puts
    linkageType: ''
    returnType: void
    signature: void test_derivation (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:100,1
    - Dst: htonl
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:100,1
    - Dst: htonl
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:101,1
    - Dst: htonl
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:101,1
    - Dst: puts
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:103,1
    - Dst: calloc
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:104,1
    - Dst: fputs
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:107,1
    - Dst: printf
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:111,1
    - Dst: printhex
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:112,1
    - Dst: gcry_cipher_open
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:115,1
    - Dst: fatal
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:116,1
    - Dst: gcry_cipher_setkey
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:117,1
    - Dst: fatal
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:118,1
    - Dst: rtp_crypt
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:120,1
    - Dst: fatal
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:121,1
    - Dst: gcry_cipher_close
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:122,1
    - Dst: printf
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:133,1
    - Dst: printhex
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:134,1
    - Dst: printf
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:135,1
    - Dst: printhex
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:136,1
    - Dst: memcmp
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:137,1
    - Dst: memcmp
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:138,1
    - Dst: fatal
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:140,1
    - Dst: free
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 142
    functionName: test_keystream
    functionSourceFile: /src/vlc/modules/access/rtp/test/srtp-aes.c
    functionUses: 0
    functionsReached:
    - fatal
    - gcry_cipher_close
    - gcry_cipher_setkey
    - htonl
    - printf
    - calloc
    - fputs
    - printhex
    - free
    - rtp_crypt
    - gcry_cipher_open
    - memcmp
    - puts
    linkageType: ''
    returnType: void
    signature: void test_keystream (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_derivation
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:146,1
    - Dst: test_keystream
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: srtp_test
    functionSourceFile: /src/vlc/modules/access/rtp/test/srtp-aes.c
    functionUses: 0
    functionsReached:
    - test_derivation
    - test_keystream
    linkageType: ''
    returnType: void
    signature: void srtp_test (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_control
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:152,1
    - Dst: srtp_test
      Src: /src/vlc/modules/access/rtp/test/srtp-aes.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 4
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: main
    functionSourceFile: /src/vlc/modules/access/rtp/test/srtp-aes.c
    functionUses: 3
    functionsReached:
    - srtp_test
    - gcry_control
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sdp_parse
      Src: /src/vlc/modules/access/rtp/test/sdp.c:38,1
    - Dst: vlc_sdp_free
      Src: /src/vlc/modules/access/rtp/test/sdp.c:41,1
    - Dst: vlc_sdp_parse
      Src: /src/vlc/modules/access/rtp/test/sdp.c:44,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:46,1
    - Dst: vlc_sdp_free
      Src: /src/vlc/modules/access/rtp/test/sdp.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts:
    - condition: (sdp != NULL)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    constantsTouched: []
    func_position:
      end: 48
      start: 33
    functionDepth: 5
    functionLinenumber: 33
    functionLinenumberEnd: 48
    functionName: test_sdp_valid
    functionSourceFile: /src/vlc/modules/access/rtp/test/sdp.c
    functionUses: 0
    functionsReached:
    - vlc_sdp_free
    - vlc_sdp_parse
    - assert
    linkageType: ''
    returnType: void
    signature: void test_sdp_valid(const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sdp_parse
      Src: /src/vlc/modules/access/rtp/test/sdp.c:55,1
    - Dst: vlc_sdp_free
      Src: /src/vlc/modules/access/rtp/test/sdp.c:58,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - base
    - len
    argTypes:
    - char*
    - size_t
    assertStmts:
    - condition: (!ok)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 5
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: test_sdp_invalid
    functionSourceFile: /src/vlc/modules/access/rtp/test/sdp.c
    functionUses: 0
    functionsReached:
    - vlc_sdp_free
    - vlc_sdp_parse
    - assert
    linkageType: ''
    returnType: void
    signature: void test_sdp_invalid(const char *base, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_sdp_valid
      Src: /src/vlc/modules/access/rtp/test/sdp.c:90,1
    - Dst: vlc_sdp_parse
      Src: /src/vlc/modules/access/rtp/test/sdp.c:92,1
    - Dst: strlen
      Src: /src/vlc/modules/access/rtp/test/sdp.c:92,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:93,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:94,1
    - Dst: vlc_sdp_attr_present
      Src: /src/vlc/modules/access/rtp/test/sdp.c:94,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:95,1
    - Dst: vlc_sdp_attr_present
      Src: /src/vlc/modules/access/rtp/test/sdp.c:95,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:96,1
    - Dst: vlc_sdp_attr_value
      Src: /src/vlc/modules/access/rtp/test/sdp.c:96,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:99,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:100,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:101,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/rtp/test/sdp.c:101,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:102,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:103,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:104,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/rtp/test/sdp.c:104,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:105,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/rtp/test/sdp.c:105,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:106,1
    - Dst: vlc_sdp_media_attr_present
      Src: /src/vlc/modules/access/rtp/test/sdp.c:106,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:107,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/rtp/test/sdp.c:107,1
    - Dst: vlc_sdp_media_attr_value
      Src: /src/vlc/modules/access/rtp/test/sdp.c:107,1
    - Dst: vlc_sdp_media_conn
      Src: /src/vlc/modules/access/rtp/test/sdp.c:109,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:110,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:111,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:112,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/rtp/test/sdp.c:112,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:113,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:114,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:116,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:117,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:118,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/rtp/test/sdp.c:118,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:119,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:120,1
    - Dst: vlc_sdp_free
      Src: /src/vlc/modules/access/rtp/test/sdp.c:122,1
    - Dst: test_sdp_valid
      Src: /src/vlc/modules/access/rtp/test/sdp.c:135,1
    - Dst: vlc_sdp_parse
      Src: /src/vlc/modules/access/rtp/test/sdp.c:137,1
    - Dst: strlen
      Src: /src/vlc/modules/access/rtp/test/sdp.c:137,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:138,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:140,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:141,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:142,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/rtp/test/sdp.c:142,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:143,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:144,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:145,1
    - Dst: vlc_sdp_media_conn
      Src: /src/vlc/modules/access/rtp/test/sdp.c:146,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:147,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:148,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:149,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/rtp/test/sdp.c:149,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/sdp.c:150,1
    - Dst: vlc_sdp_free
      Src: /src/vlc/modules/access/rtp/test/sdp.c:151,1
    - Dst: test_sdp_valid
      Src: /src/vlc/modules/access/rtp/test/sdp.c:159,1
    - Dst: test_sdp_invalid
      Src: /src/vlc/modules/access/rtp/test/sdp.c:162,1
    - Dst: test_sdp_invalid
      Src: /src/vlc/modules/access/rtp/test/sdp.c:164,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/rtp/test/sdp.c:179,1
    - Dst: test_sdp_invalid
      Src: /src/vlc/modules/access/rtp/test/sdp.c:180,1
    - Dst: strlen
      Src: /src/vlc/modules/access/rtp/test/sdp.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m->next == NULL)
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    - condition: (!strcmp(m->type, "text"))
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    - condition: (!strcmp(vlc_sdp_media_attr_value(m, "rtpmap"), "96 t140/1000"))
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    - condition: (c->family == 4)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    - condition: (!strcmp(c->addr, "239.255.0.2"))
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    - condition: (c->addr_count == 1)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    - condition: (sdp != NULL)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    - condition: (c->ttl == 255)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    - condition: (vlc_sdp_media_attr_present(m, "rtpmap"))
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    - condition: (c->family == 6)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    - condition: (!strcmp(c->addr, ""))
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    - condition: (c->addr_count == 1)
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    - condition: (c != NULL)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    - condition: (sdp->media != NULL)
      pos:
        line_end: 144
        line_start: 144
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    - condition: (!strcmp(c->addr, "ff03::1"))
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    - condition: (c->addr_count == 1)
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    - condition: (c->family == 4)
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    - condition: (vlc_sdp_attr_present(sdp, "recvonly"))
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    - condition: (!strcmp(m->proto, "RTP/AVP"))
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    - condition: (m->port == 5004)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    - condition: (m->port_count == 1)
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    - condition: (!strcmp(m->format, "96"))
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    - condition: (c != NULL)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    - condition: (c != NULL)
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    - condition: (c->addr_count == 2)
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    - condition: (c->ttl == 127)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    - condition: (!strcmp(c->addr, ""))
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    - condition: (c != NULL)
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    - condition: (sdp != NULL)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    - condition: (!vlc_sdp_attr_present(sdp, "sendrecv"))
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    - condition: (vlc_sdp_attr_value(sdp, "recvonly") == NULL)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    - condition: (m != NULL)
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    - condition: (c->ttl == 255)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    - condition: (c->family == 6)
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/vlc/modules/access/rtp/test/sdp.c
    constantsTouched: []
    func_position:
      end: 182
      start: 66
    functionDepth: 6
    functionLinenumber: 66
    functionLinenumberEnd: 182
    functionName: main
    functionSourceFile: /src/vlc/modules/access/rtp/test/sdp.c
    functionUses: 3
    functionsReached:
    - vlc_sdp_parse
    - vlc_sdp_attr_present
    - assert
    - test_sdp_invalid
    - ARRAY_SIZE
    - strlen
    - test_sdp_valid
    - vlc_sdp_media_attr_value
    - vlc_sdp_attr_value
    - vlc_sdp_media_attr_present
    - strcmp
    - vlc_sdp_media_conn
    - vlc_sdp_free
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/rtpfmt.c:44,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/rtpfmt.c:45,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/rtpfmt.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - obj
    - pt
    - desc
    argTypes:
    - vlc_object_t*
    - struct vlc_rtp_pt*
    - struct vlc_sdp_pt*
    assertStmts:
    - condition: (obj == NULL)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/vlc/modules/access/rtp/test/rtpfmt.c
    - condition: (pt != NULL)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/vlc/modules/access/rtp/test/rtpfmt.c
    - condition: (desc != NULL)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/vlc/modules/access/rtp/test/rtpfmt.c
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: vlc_rtp_pt_instantiate
    functionSourceFile: /src/vlc/modules/access/rtp/test/rtpfmt.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: "int vlc_rtp_pt_instantiate(vlc_object_t *obj, struct vlc_rtp_pt *restrict
      pt,\n                           const struct vlc_sdp_pt *restrict desc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/rtpfmt.c:57,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/rtpfmt.c:58,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/rtpfmt.c:59,1
    - Dst: vlc_rtp_pt_release
      Src: /src/vlc/modules/access/rtp/test/rtpfmt.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - s
    - pt
    argTypes:
    - rtp_session_t*
    - struct vlc_rtp_pt*
    assertStmts:
    - condition: (s == NULL)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/vlc/modules/access/rtp/test/rtpfmt.c
    - condition: (num < 128)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/vlc/modules/access/rtp/test/rtpfmt.c
    - condition: ((ptmask[num / 8] >> (num % 8)) & 1)
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/vlc/modules/access/rtp/test/rtpfmt.c
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: rtp_add_type
    functionSourceFile: /src/vlc/modules/access/rtp/test/rtpfmt.c
    functionUses: 1
    functionsReached:
    - assert
    - vlc_rtp_pt_release
    linkageType: ''
    returnType: int
    signature: int rtp_add_type(rtp_session_t *s, struct vlc_rtp_pt *pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: EXPECT_PTS
    functionSourceFile: /src/vlc/modules/access/rtp/test/rtpfmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPECT_PTS(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sdp_parse
      Src: /src/vlc/modules/access/rtp/test/rtpfmt.c:105,1
    - Dst: strlen
      Src: /src/vlc/modules/access/rtp/test/rtpfmt.c:105,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/rtpfmt.c:106,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/rtpfmt.c:110,1
    - Dst: EXPECT_PTS
      Src: /src/vlc/modules/access/rtp/test/rtpfmt.c:111,1
    - Dst: vlc_rtp_add_media_types
      Src: /src/vlc/modules/access/rtp/test/rtpfmt.c:112,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/rtpfmt.c:113,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/rtpfmt.c:117,1
    - Dst: EXPECT_PTS
      Src: /src/vlc/modules/access/rtp/test/rtpfmt.c:118,1
    - Dst: vlc_rtp_add_media_types
      Src: /src/vlc/modules/access/rtp/test/rtpfmt.c:119,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/rtpfmt.c:120,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/rtpfmt.c:123,1
    - Dst: EXPECT_PTS
      Src: /src/vlc/modules/access/rtp/test/rtpfmt.c:124,1
    - Dst: vlc_rtp_add_media_types
      Src: /src/vlc/modules/access/rtp/test/rtpfmt.c:125,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/rtpfmt.c:126,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/rtpfmt.c:129,1
    - Dst: EXPECT_PTS
      Src: /src/vlc/modules/access/rtp/test/rtpfmt.c:130,1
    - Dst: vlc_rtp_add_media_types
      Src: /src/vlc/modules/access/rtp/test/rtpfmt.c:131,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/rtpfmt.c:134,1
    - Dst: EXPECT_PTS
      Src: /src/vlc/modules/access/rtp/test/rtpfmt.c:135,1
    - Dst: vlc_rtp_add_media_types
      Src: /src/vlc/modules/access/rtp/test/rtpfmt.c:136,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/rtpfmt.c:140,1
    - Dst: EXPECT_PTS
      Src: /src/vlc/modules/access/rtp/test/rtpfmt.c:141,1
    - Dst: vlc_rtp_add_media_types
      Src: /src/vlc/modules/access/rtp/test/rtpfmt.c:142,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/rtpfmt.c:143,1
    - Dst: EXPECT_PTS
      Src: /src/vlc/modules/access/rtp/test/rtpfmt.c:146,1
    - Dst: assert
      Src: /src/vlc/modules/access/rtp/test/rtpfmt.c:147,1
    - Dst: vlc_sdp_free
      Src: /src/vlc/modules/access/rtp/test/rtpfmt.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (media != NULL)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/vlc/modules/access/rtp/test/rtpfmt.c
    - condition: (val == 0)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/vlc/modules/access/rtp/test/rtpfmt.c
    - condition: (media != NULL)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/vlc/modules/access/rtp/test/rtpfmt.c
    - condition: (val == 0)
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/vlc/modules/access/rtp/test/rtpfmt.c
    - condition: (sdp != NULL)
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/vlc/modules/access/rtp/test/rtpfmt.c
    - condition: (val == 0)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/vlc/modules/access/rtp/test/rtpfmt.c
    - condition: (media != NULL)
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/vlc/modules/access/rtp/test/rtpfmt.c
    - condition: (media == NULL)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/vlc/modules/access/rtp/test/rtpfmt.c
    - condition: (media != NULL)
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/vlc/modules/access/rtp/test/rtpfmt.c
    - condition: (val == 0)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/vlc/modules/access/rtp/test/rtpfmt.c
    - condition: (media != NULL)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/vlc/modules/access/rtp/test/rtpfmt.c
    - condition: (media != NULL)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/vlc/modules/access/rtp/test/rtpfmt.c
    constantsTouched: []
    func_position:
      end: 150
      start: 78
    functionDepth: 5
    functionLinenumber: 78
    functionLinenumberEnd: 150
    functionName: main
    functionSourceFile: /src/vlc/modules/access/rtp/test/rtpfmt.c
    functionUses: 3
    functionsReached:
    - vlc_sdp_free
    - vlc_sdp_parse
    - assert
    - strlen
    - vlc_rtp_add_media_types
    - EXPECT_PTS
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/access/dsm/sd.c:66,1
    - Dst: input_item_Hold
      Src: /src/vlc/modules/access/dsm/sd.c:72,1
    - Dst: vlc_array_append_or_abort
      Src: /src/vlc/modules/access/dsm/sd.c:73,1
    - Dst: services_discovery_AddItem
      Src: /src/vlc/modules/access/dsm/sd.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - p_sd
    - p_entry
    - p_item
    argTypes:
    - services_discovery_t*
    - netbios_ns_entry*
    - input_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 75
    functionName: entry_item_append
    functionSourceFile: /src/vlc/modules/access/dsm/sd.c
    functionUses: 0
    functionsReached:
    - calloc
    - vlc_array_append_or_abort
    - services_discovery_AddItem
    - input_item_Hold
    linkageType: ''
    returnType: void
    signature: "void entry_item_append( services_discovery_t *p_sd,\n                               netbios_ns_entry
      *p_entry,\n                               input_item_t *p_item )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_array_count
      Src: /src/vlc/modules/access/dsm/sd.c:82,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/access/dsm/sd.c:86,1
    - Dst: services_discovery_RemoveItem
      Src: /src/vlc/modules/access/dsm/sd.c:89,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/access/dsm/sd.c:90,1
    - Dst: vlc_array_remove
      Src: /src/vlc/modules/access/dsm/sd.c:91,1
    - Dst: free
      Src: /src/vlc/modules/access/dsm/sd.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - p_sd
    - p_entry
    argTypes:
    - services_discovery_t*
    - netbios_ns_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 96
    functionName: entry_item_remove
    functionSourceFile: /src/vlc/modules/access/dsm/sd.c
    functionUses: 0
    functionsReached:
    - services_discovery_RemoveItem
    - vlc_array_item_at_index
    - input_item_Release
    - free
    - vlc_array_count
    - vlc_array_remove
    linkageType: ''
    returnType: void
    signature: "void entry_item_remove( services_discovery_t *p_sd,\n                               netbios_ns_entry
      *p_entry )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: netbios_ns_entry_type
      Src: /src/vlc/modules/access/dsm/sd.c:103,1
    - Dst: netbios_ns_entry_name
      Src: /src/vlc/modules/access/dsm/sd.c:109,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/dsm/sd.c:111,1
    - Dst: input_item_NewDirectory
      Src: /src/vlc/modules/access/dsm/sd.c:114,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dsm/sd.c:115,1
    - Dst: free
      Src: /src/vlc/modules/access/dsm/sd.c:116,1
    - Dst: entry_item_append
      Src: /src/vlc/modules/access/dsm/sd.c:118,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/access/dsm/sd.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - p_opaque
    - p_entry
    argTypes:
    - void*
    - netbios_ns_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 121
    functionName: netbios_ns_discover_on_entry_added
    functionSourceFile: /src/vlc/modules/access/dsm/sd.c
    functionUses: 0
    functionsReached:
    - asprintf
    - input_item_Release
    - free
    - netbios_ns_entry_name
    - input_item_NewDirectory
    - msg_Dbg
    - netbios_ns_entry_type
    - entry_item_append
    linkageType: ''
    returnType: void
    signature: "void netbios_ns_discover_on_entry_added( void *p_opaque,\n                                                netbios_ns_entry
      *p_entry )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: entry_item_remove
      Src: /src/vlc/modules/access/dsm/sd.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_opaque
    - p_entry
    argTypes:
    - void*
    - netbios_ns_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: netbios_ns_discover_on_entry_removed
    functionSourceFile: /src/vlc/modules/access/dsm/sd.c
    functionUses: 0
    functionsReached:
    - entry_item_remove
    linkageType: ''
    returnType: void
    signature: "void netbios_ns_discover_on_entry_removed( void *p_opaque,\n                                                  netbios_ns_entry
      *p_entry )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/access/dsm/sd.c:134,1
    - Dst: _
      Src: /src/vlc/modules/access/dsm/sd.c:140,1
    - Dst: vlc_array_init
      Src: /src/vlc/modules/access/dsm/sd.c:142,1
    - Dst: netbios_ns_new
      Src: /src/vlc/modules/access/dsm/sd.c:144,1
    - Dst: netbios_ns_discover_start
      Src: /src/vlc/modules/access/dsm/sd.c:152,1
    - Dst: bdsm_SdClose
      Src: /src/vlc/modules/access/dsm/sd.c:159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 161
    functionName: bdsm_SdOpen
    functionSourceFile: /src/vlc/modules/access/dsm/sd.c
    functionUses: 0
    functionsReached:
    - netbios_ns_new
    - bdsm_SdClose
    - _
    - vlc_array_init
    - calloc
    - netbios_ns_discover_start
    linkageType: ''
    returnType: int
    signature: int bdsm_SdOpen (vlc_object_t *p_this)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: netbios_ns_discover_stop
      Src: /src/vlc/modules/access/dsm/sd.c:173,1
    - Dst: netbios_ns_destroy
      Src: /src/vlc/modules/access/dsm/sd.c:174,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/access/dsm/sd.c:177,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/access/dsm/sd.c:181,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/access/dsm/sd.c:182,1
    - Dst: free
      Src: /src/vlc/modules/access/dsm/sd.c:183,1
    - Dst: vlc_array_clear
      Src: /src/vlc/modules/access/dsm/sd.c:185,1
    - Dst: free
      Src: /src/vlc/modules/access/dsm/sd.c:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 188
    functionName: bdsm_SdClose
    functionSourceFile: /src/vlc/modules/access/dsm/sd.c
    functionUses: 1
    functionsReached:
    - netbios_ns_discover_stop
    - input_item_Release
    - vlc_array_item_at_index
    - free
    - vlc_array_count
    - vlc_array_clear
    - netbios_ns_destroy
    linkageType: ''
    returnType: void
    signature: void bdsm_SdClose (vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smb_session_abort
      Src: /src/vlc/modules/access/dsm/access.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: smb_session_interrupt_callback
    functionSourceFile: /src/vlc/modules/access/dsm/access.c
    functionUses: 0
    functionsReached:
    - smb_session_abort
    linkageType: ''
    returnType: void
    signature: void smb_session_interrupt_callback( void *data )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_interrupt_register
      Src: /src/vlc/modules/access/dsm/access.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sys
    argTypes:
    - access_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: smb_session_interrupt_register
    functionSourceFile: /src/vlc/modules/access/dsm/access.c
    functionUses: 0
    functionsReached:
    - vlc_interrupt_register
    linkageType: ''
    returnType: void
    signature: void smb_session_interrupt_register( access_sys_t *sys )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_interrupt_unregister
      Src: /src/vlc/modules/access/dsm/access.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: smb_session_interrupt_unregister
    functionSourceFile: /src/vlc/modules/access/dsm/access.c
    functionUses: 0
    functionsReached:
    - vlc_interrupt_unregister
    linkageType: ''
    returnType: int
    signature: int smb_session_interrupt_unregister( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: netbios_ns_abort
      Src: /src/vlc/modules/access/dsm/access.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: netbios_ns_interrupt_callback
    functionSourceFile: /src/vlc/modules/access/dsm/access.c
    functionUses: 0
    functionsReached:
    - netbios_ns_abort
    linkageType: ''
    returnType: void
    signature: void netbios_ns_interrupt_callback( void *data )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_interrupt_register
      Src: /src/vlc/modules/access/dsm/access.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - netbios_ns*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: netbios_ns_interrupt_register
    functionSourceFile: /src/vlc/modules/access/dsm/access.c
    functionUses: 1
    functionsReached:
    - vlc_interrupt_register
    linkageType: ''
    returnType: void
    signature: void netbios_ns_interrupt_register( netbios_ns *ns )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_interrupt_unregister
      Src: /src/vlc/modules/access/dsm/access.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: netbios_ns_interrupt_unregister
    functionSourceFile: /src/vlc/modules/access/dsm/access.c
    functionUses: 1
    functionsReached:
    - vlc_interrupt_unregister
    linkageType: ''
    returnType: int
    signature: int netbios_ns_interrupt_unregister( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sys
    argTypes:
    - access_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: smb_session_interrupt_register
    functionSourceFile: /src/vlc/modules/access/dsm/access.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void smb_session_interrupt_register( access_sys_t *sys )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: smb_session_interrupt_unregister
    functionSourceFile: /src/vlc/modules/access/dsm/access.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int smb_session_interrupt_unregister( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - netbios_ns*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: netbios_ns_interrupt_register
    functionSourceFile: /src/vlc/modules/access/dsm/access.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void netbios_ns_interrupt_register( netbios_ns *ns )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: netbios_ns_interrupt_unregister
    functionSourceFile: /src/vlc/modules/access/dsm/access.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int netbios_ns_interrupt_unregister( void )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/access/dsm/access.c:226,1
    - Dst: smb_session_new
      Src: /src/vlc/modules/access/dsm/access.c:230,1
    - Dst: vlc_UrlParseFixup
      Src: /src/vlc/modules/access/dsm/access.c:234,1
    - Dst: get_address
      Src: /src/vlc/modules/access/dsm/access.c:237,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dsm/access.c:243,1
    - Dst: inet_ntoa
      Src: /src/vlc/modules/access/dsm/access.c:244,1
    - Dst: get_path
      Src: /src/vlc/modules/access/dsm/access.c:246,1
    - Dst: login
      Src: /src/vlc/modules/access/dsm/access.c:248,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dsm/access.c:250,1
    - Dst: BrowserInit
      Src: /src/vlc/modules/access/dsm/access.c:258,1
    - Dst: assert
      Src: /src/vlc/modules/access/dsm/access.c:261,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dsm/access.c:263,1
    - Dst: smb_session_interrupt_register
      Src: /src/vlc/modules/access/dsm/access.c:266,1
    - Dst: smb_stat_fd
      Src: /src/vlc/modules/access/dsm/access.c:268,1
    - Dst: smb_stat_get
      Src: /src/vlc/modules/access/dsm/access.c:269,1
    - Dst: smb_fclose
      Src: /src/vlc/modules/access/dsm/access.c:271,1
    - Dst: smb_session_interrupt_unregister
      Src: /src/vlc/modules/access/dsm/access.c:272,1
    - Dst: BrowserInit
      Src: /src/vlc/modules/access/dsm/access.c:274,1
    - Dst: smb_session_interrupt_unregister
      Src: /src/vlc/modules/access/dsm/access.c:277,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dsm/access.c:280,1
    - Dst: ACCESS_SET_CALLBACKS
      Src: /src/vlc/modules/access/dsm/access.c:282,1
    - Dst: Close
      Src: /src/vlc/modules/access/dsm/access.c:286,1
    - Dst: vlc_killed
      Src: /src/vlc/modules/access/dsm/access.c:293,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: (p_sys->i_fd > 0)
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/vlc/modules/access/dsm/access.c
    constantsTouched: []
    func_position:
      end: 295
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 295
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/dsm/access.c
    functionUses: 17
    functionsReached:
    - assert
    - smb_session_new
    - get_address
    - smb_fclose
    - smb_session_interrupt_unregister
    - login
    - vlc_killed
    - smb_session_interrupt_register
    - msg_Err
    - calloc
    - msg_Dbg
    - BrowserInit
    - smb_stat_get
    - get_path
    - inet_ntoa
    - ACCESS_SET_CALLBACKS
    - Close
    - vlc_UrlParseFixup
    - smb_stat_fd
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritBool
      Src: /src/vlc/modules/access/dsm/access.c:299,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dsm/access.c:302,1
    - Dst: Open
      Src: /src/vlc/modules/access/dsm/access.c:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 304
    functionName: OpenForced
    functionSourceFile: /src/vlc/modules/access/dsm/access.c
    functionUses: 0
    functionsReached:
    - var_InheritBool
    - Open
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int OpenForced( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritBool
      Src: /src/vlc/modules/access/dsm/access.c:308,1
    - Dst: Open
      Src: /src/vlc/modules/access/dsm/access.c:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 312
    functionName: OpenNotForced
    functionSourceFile: /src/vlc/modules/access/dsm/access.c
    functionUses: 0
    functionsReached:
    - var_InheritBool
    - Open
    linkageType: ''
    returnType: int
    signature: int OpenNotForced( vlc_object_t *p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: smb_fclose
      Src: /src/vlc/modules/access/dsm/access.c:324,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/dsm/access.c:325,1
    - Dst: free
      Src: /src/vlc/modules/access/dsm/access.c:326,1
    - Dst: vlc_access_cache_AddEntry
      Src: /src/vlc/modules/access/dsm/access.c:329,1
    - Dst: smb_session_destroy
      Src: /src/vlc/modules/access/dsm/access.c:331,1
    - Dst: free
      Src: /src/vlc/modules/access/dsm/access.c:333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 334
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/dsm/access.c
    functionUses: 59
    functionsReached:
    - smb_fclose
    - smb_session_destroy
    - free
    - vlc_access_cache_AddEntry
    - vlc_UrlClean
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/vlc/modules/access/dsm/access.c:346,1
    - Dst: netbios_ns_new
      Src: /src/vlc/modules/access/dsm/access.c:351,1
    - Dst: netbios_ns_interrupt_register
      Src: /src/vlc/modules/access/dsm/access.c:354,1
    - Dst: netbios_ns_resolve
      Src: /src/vlc/modules/access/dsm/access.c:359,1
    - Dst: netbios_ns_interrupt_unregister
      Src: /src/vlc/modules/access/dsm/access.c:361,1
    - Dst: netbios_ns_destroy
      Src: /src/vlc/modules/access/dsm/access.c:363,1
    - Dst: netbios_ns_destroy
      Src: /src/vlc/modules/access/dsm/access.c:366,1
    - Dst: strlcpy
      Src: /src/vlc/modules/access/dsm/access.c:371,1
    - Dst: getaddrinfo
      Src: /src/vlc/modules/access/dsm/access.c:375,1
    - Dst: freeaddrinfo
      Src: /src/vlc/modules/access/dsm/access.c:384,1
    - Dst: freeaddrinfo
      Src: /src/vlc/modules/access/dsm/access.c:387,1
    - Dst: netbios_ns_new
      Src: /src/vlc/modules/access/dsm/access.c:393,1
    - Dst: netbios_ns_interrupt_register
      Src: /src/vlc/modules/access/dsm/access.c:396,1
    - Dst: netbios_ns_inverse
      Src: /src/vlc/modules/access/dsm/access.c:399,1
    - Dst: netbios_ns_interrupt_unregister
      Src: /src/vlc/modules/access/dsm/access.c:401,1
    - Dst: netbios_ns_interrupt_unregister
      Src: /src/vlc/modules/access/dsm/access.c:402,1
    - Dst: netbios_ns_destroy
      Src: /src/vlc/modules/access/dsm/access.c:404,1
    - Dst: netbios_ns_destroy
      Src: /src/vlc/modules/access/dsm/access.c:407,1
    - Dst: strlcpy
      Src: /src/vlc/modules/access/dsm/access.c:410,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dsm/access.c:413,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 419
    functionName: get_address
    functionSourceFile: /src/vlc/modules/access/dsm/access.c
    functionUses: 1
    functionsReached:
    - netbios_ns_interrupt_register
    - netbios_ns_new
    - strlcpy
    - netbios_ns_inverse
    - netbios_ns_interrupt_unregister
    - netbios_ns_resolve
    - msg_Warn
    - getaddrinfo
    - inet_pton
    - freeaddrinfo
    - netbios_ns_destroy
    linkageType: ''
    returnType: int
    signature: int get_address( stream_t *p_access )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: smb_session_set_creds
      Src: /src/vlc/modules/access/dsm/access.c:428,1
    - Dst: smb_session_login
      Src: /src/vlc/modules/access/dsm/access.c:430,1
    - Dst: smb_tree_connect
      Src: /src/vlc/modules/access/dsm/access.c:437,1
    - Dst: smb_fopen
      Src: /src/vlc/modules/access/dsm/access.c:442,1
    - Dst: smb_session_get_nt_status
      Src: /src/vlc/modules/access/dsm/access.c:450,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - p_access
    - psz_login
    - psz_password
    - psz_domain
    argTypes:
    - stream_t*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 452
    functionName: smb_connect
    functionSourceFile: /src/vlc/modules/access/dsm/access.c
    functionUses: 0
    functionsReached:
    - smb_session_get_nt_status
    - smb_tree_connect
    - smb_fopen
    - smb_session_login
    - smb_session_set_creds
    linkageType: ''
    returnType: int
    signature: "int smb_connect( stream_t *p_access, const char *psz_login,\n                        const
      char *psz_password, const char *psz_domain)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smb_session_destroy
      Src: /src/vlc/modules/access/dsm/access.c:458,1
    - Dst: free
      Src: /src/vlc/modules/access/dsm/access.c:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context_
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 460
    functionName: dsm_FreeContext
    functionSourceFile: /src/vlc/modules/access/dsm/access.c
    functionUses: 0
    functionsReached:
    - free
    - smb_session_destroy
    linkageType: ''
    returnType: void
    signature: void dsm_FreeContext(void *context_)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: vlc_credential_init
      Src: /src/vlc/modules/access/dsm/access.c:473,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/dsm/access.c:474,1
    - Dst: vlc_credential_get
      Src: /src/vlc/modules/access/dsm/access.c:477,1
    - Dst: vlc_access_cache_GetSmbEntry
      Src: /src/vlc/modules/access/dsm/access.c:496,1
    - Dst: smb_session_interrupt_register
      Src: /src/vlc/modules/access/dsm/access.c:503,1
    - Dst: smb_fopen
      Src: /src/vlc/modules/access/dsm/access.c:504,1
    - Dst: smb_session_interrupt_unregister
      Src: /src/vlc/modules/access/dsm/access.c:506,1
    - Dst: smb_session_destroy
      Src: /src/vlc/modules/access/dsm/access.c:512,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dsm/access.c:517,1
    - Dst: smb_session_interrupt_register
      Src: /src/vlc/modules/access/dsm/access.c:522,1
    - Dst: smb_session_connect
      Src: /src/vlc/modules/access/dsm/access.c:525,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dsm/access.c:529,1
    - Dst: smb_session_interrupt_unregister
      Src: /src/vlc/modules/access/dsm/access.c:532,1
    - Dst: smb_connect
      Src: /src/vlc/modules/access/dsm/access.c:537,1
    - Dst: smb_session_interrupt_unregister
      Src: /src/vlc/modules/access/dsm/access.c:540,1
    - Dst: smb_session_interrupt_unregister
      Src: /src/vlc/modules/access/dsm/access.c:544,1
    - Dst: var_Type
      Src: /src/vlc/modules/access/dsm/access.c:549,1
    - Dst: vlc_credential_get
      Src: /src/vlc/modules/access/dsm/access.c:556,1
    - Dst: smb_session_interrupt_register
      Src: /src/vlc/modules/access/dsm/access.c:566,1
    - Dst: smb_connect
      Src: /src/vlc/modules/access/dsm/access.c:567,1
    - Dst: smb_session_interrupt_unregister
      Src: /src/vlc/modules/access/dsm/access.c:568,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dsm/access.c:573,1
    - Dst: assert
      Src: /src/vlc/modules/access/dsm/access.c:577,1
    - Dst: smb_session_is_guest
      Src: /src/vlc/modules/access/dsm/access.c:579,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dsm/access.c:581,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dsm/access.c:585,1
    - Dst: vlc_credential_store
      Src: /src/vlc/modules/access/dsm/access.c:588,1
    - Dst: malloc
      Src: /src/vlc/modules/access/dsm/access.c:592,1
    - Dst: vlc_access_cache_entry_NewSmb
      Src: /src/vlc/modules/access/dsm/access.c:598,1
    - Dst: smb_session_destroy
      Src: /src/vlc/modules/access/dsm/access.c:608,1
    - Dst: vlc_credential_clean
      Src: /src/vlc/modules/access/dsm/access.c:614,1
    - Dst: free
      Src: /src/vlc/modules/access/dsm/access.c:615,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 92
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts:
    - condition: ( connect_err == 0 )
      pos:
        line_end: 576
        line_start: 576
        source_file: /src/vlc/modules/access/dsm/access.c
    constantsTouched: []
    func_position:
      end: 617
      start: 464
    functionDepth: 4
    functionLinenumber: 464
    functionLinenumberEnd: 617
    functionName: login
    functionSourceFile: /src/vlc/modules/access/dsm/access.c
    functionUses: 5
    functionsReached:
    - vlc_credential_store
    - assert
    - smb_connect
    - smb_session_interrupt_unregister
    - smb_fopen
    - smb_session_is_guest
    - vlc_access_cache_GetSmbEntry
    - smb_session_destroy
    - smb_session_interrupt_register
    - msg_Err
    - msg_Dbg
    - msg_Warn
    - vlc_credential_init
    - var_Type
    - smb_session_connect
    - vlc_credential_clean
    - var_InheritString
    - vlc_access_cache_entry_NewSmb
    - free
    - vlc_credential_get
    - malloc
    linkageType: ''
    returnType: int
    signature: int login( stream_t *p_access )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - psz_path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 630
    functionName: backslash_path
    functionSourceFile: /src/vlc/modules/access/dsm/access.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void backslash_path( char *psz_path )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_uri_decode_duplicate
      Src: /src/vlc/modules/access/dsm/access.c:641,1
    - Dst: backslash_path
      Src: /src/vlc/modules/access/dsm/access.c:645,1
    - Dst: strnlen
      Src: /src/vlc/modules/access/dsm/access.c:648,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dsm/access.c:657,1
    - Dst: strchr
      Src: /src/vlc/modules/access/dsm/access.c:661,1
    - Dst: strlen
      Src: /src/vlc/modules/access/dsm/access.c:662,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dsm/access.c:668,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 676
    functionName: get_path
    functionSourceFile: /src/vlc/modules/access/dsm/access.c
    functionUses: 1
    functionsReached:
    - strchr
    - vlc_uri_decode_duplicate
    - strnlen
    - strlen
    - msg_Dbg
    - backslash_path
    linkageType: ''
    returnType: bool
    signature: bool get_path( stream_t *p_access )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dsm/access.c:688,1
    - Dst: smb_session_interrupt_register
      Src: /src/vlc/modules/access/dsm/access.c:690,1
    - Dst: smb_fseek
      Src: /src/vlc/modules/access/dsm/access.c:691,1
    - Dst: smb_session_interrupt_unregister
      Src: /src/vlc/modules/access/dsm/access.c:692,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p_access
    - i_pos
    argTypes:
    - stream_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 681
    functionDepth: 2
    functionLinenumber: 681
    functionLinenumberEnd: 698
    functionName: Seek
    functionSourceFile: /src/vlc/modules/access/dsm/access.c
    functionUses: 12
    functionsReached:
    - smb_session_interrupt_unregister
    - smb_fseek
    - msg_Dbg
    - smb_session_interrupt_register
    linkageType: ''
    returnType: int
    signature: int Seek( stream_t *p_access, uint64_t i_pos )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: smb_session_interrupt_register
      Src: /src/vlc/modules/access/dsm/access.c:708,1
    - Dst: smb_fread
      Src: /src/vlc/modules/access/dsm/access.c:709,1
    - Dst: smb_session_interrupt_unregister
      Src: /src/vlc/modules/access/dsm/access.c:710,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dsm/access.c:715,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - p_access
    - p_buffer
    - i_len
    argTypes:
    - stream_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 703
    functionDepth: 2
    functionLinenumber: 703
    functionLinenumberEnd: 722
    functionName: Read
    functionSourceFile: /src/vlc/modules/access/dsm/access.c
    functionUses: 23
    functionsReached:
    - smb_session_interrupt_unregister
    - smb_fread
    - smb_session_interrupt_register
    - msg_Err
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Read( stream_t *p_access, void *p_buffer, size_t i_len )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/dsm/access.c:736,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dsm/access.c:740,1
    - Dst: smb_stat_fd
      Src: /src/vlc/modules/access/dsm/access.c:745,1
    - Dst: smb_stat_get
      Src: /src/vlc/modules/access/dsm/access.c:746,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dsm/access.c:750,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/dsm/access.c:750,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dsm/access.c:751,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - p_access
    - i_query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 763
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/dsm/access.c
    functionUses: 40
    functionsReached:
    - var_InheritInteger
    - VLC_TICK_FROM_MS
    - va_arg
    - smb_stat_fd
    - smb_stat_get
    linkageType: ''
    returnType: int
    signature: int Control( stream_t *p_access, int i_query, va_list args )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_uri_encode
      Src: /src/vlc/modules/access/dsm/access.c:771,1
    - Dst: strlen
      Src: /src/vlc/modules/access/dsm/access.c:775,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/dsm/access.c:777,1
    - Dst: free
      Src: /src/vlc/modules/access/dsm/access.c:779,1
    - Dst: vlc_readdir_helper_additem
      Src: /src/vlc/modules/access/dsm/access.c:784,1
    - Dst: input_item_AddStat
      Src: /src/vlc/modules/access/dsm/access.c:788,1
    - Dst: smb_stat_get
      Src: /src/vlc/modules/access/dsm/access.c:788,1
    - Dst: input_item_AddStat
      Src: /src/vlc/modules/access/dsm/access.c:789,1
    - Dst: smb_stat_get
      Src: /src/vlc/modules/access/dsm/access.c:789,1
    - Dst: free
      Src: /src/vlc/modules/access/dsm/access.c:791,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 5
    argNames:
    - p_access
    - p_rdh
    - psz_name
    - i_type
    - p_st
    argTypes:
    - stream_t*
    - struct vlc_readdir_helper*
    - char*
    - int
    - smb_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 765
    functionDepth: 2
    functionLinenumber: 765
    functionLinenumberEnd: 793
    functionName: add_item
    functionSourceFile: /src/vlc/modules/access/dsm/access.c
    functionUses: 0
    functionsReached:
    - asprintf
    - strlen
    - free
    - vlc_uri_encode
    - vlc_readdir_helper_additem
    - input_item_AddStat
    - smb_stat_get
    linkageType: ''
    returnType: int
    signature: "int add_item( stream_t *p_access, struct vlc_readdir_helper *p_rdh,\n
      \                    const char *psz_name, int i_type, smb_stat *p_st )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: smb_session_interrupt_register
      Src: /src/vlc/modules/access/dsm/access.c:803,1
    - Dst: smb_share_get_list
      Src: /src/vlc/modules/access/dsm/access.c:805,1
    - Dst: smb_session_interrupt_unregister
      Src: /src/vlc/modules/access/dsm/access.c:808,1
    - Dst: smb_session_interrupt_unregister
      Src: /src/vlc/modules/access/dsm/access.c:812,1
    - Dst: vlc_readdir_helper_init
      Src: /src/vlc/modules/access/dsm/access.c:815,1
    - Dst: smb_share_list_at
      Src: /src/vlc/modules/access/dsm/access.c:819,1
    - Dst: strlen
      Src: /src/vlc/modules/access/dsm/access.c:821,1
    - Dst: add_item
      Src: /src/vlc/modules/access/dsm/access.c:824,1
    - Dst: vlc_readdir_helper_finish
      Src: /src/vlc/modules/access/dsm/access.c:827,1
    - Dst: smb_share_list_destroy
      Src: /src/vlc/modules/access/dsm/access.c:829,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - p_access
    - p_node
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 795
    functionDepth: 3
    functionLinenumber: 795
    functionLinenumberEnd: 831
    functionName: BrowseShare
    functionSourceFile: /src/vlc/modules/access/dsm/access.c
    functionUses: 0
    functionsReached:
    - vlc_readdir_helper_init
    - strlen
    - smb_share_list_at
    - smb_session_interrupt_register
    - smb_session_interrupt_unregister
    - add_item
    - smb_share_list_destroy
    - smb_share_get_list
    - vlc_readdir_helper_finish
    linkageType: ''
    returnType: int
    signature: int BrowseShare( stream_t *p_access, input_item_node_t *p_node )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/vlc/modules/access/dsm/access.c:845,1
    - Dst: smb_session_interrupt_register
      Src: /src/vlc/modules/access/dsm/access.c:848,1
    - Dst: smb_find
      Src: /src/vlc/modules/access/dsm/access.c:849,1
    - Dst: smb_session_interrupt_unregister
      Src: /src/vlc/modules/access/dsm/access.c:850,1
    - Dst: free
      Src: /src/vlc/modules/access/dsm/access.c:851,1
    - Dst: smb_session_interrupt_register
      Src: /src/vlc/modules/access/dsm/access.c:855,1
    - Dst: smb_find
      Src: /src/vlc/modules/access/dsm/access.c:856,1
    - Dst: smb_session_interrupt_unregister
      Src: /src/vlc/modules/access/dsm/access.c:857,1
    - Dst: vlc_readdir_helper_init
      Src: /src/vlc/modules/access/dsm/access.c:864,1
    - Dst: smb_stat_list_count
      Src: /src/vlc/modules/access/dsm/access.c:866,1
    - Dst: smb_stat_list_at
      Src: /src/vlc/modules/access/dsm/access.c:871,1
    - Dst: smb_stat_name
      Src: /src/vlc/modules/access/dsm/access.c:878,1
    - Dst: smb_stat_get
      Src: /src/vlc/modules/access/dsm/access.c:880,1
    - Dst: add_item
      Src: /src/vlc/modules/access/dsm/access.c:882,1
    - Dst: vlc_readdir_helper_finish
      Src: /src/vlc/modules/access/dsm/access.c:885,1
    - Dst: smb_stat_list_destroy
      Src: /src/vlc/modules/access/dsm/access.c:887,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - p_access
    - p_node
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 833
    functionDepth: 3
    functionLinenumber: 833
    functionLinenumberEnd: 889
    functionName: BrowseDirectory
    functionSourceFile: /src/vlc/modules/access/dsm/access.c
    functionUses: 0
    functionsReached:
    - asprintf
    - vlc_readdir_helper_init
    - smb_stat_list_destroy
    - smb_session_interrupt_register
    - vlc_readdir_helper_finish
    - smb_session_interrupt_unregister
    - free
    - smb_stat_name
    - add_item
    - smb_find
    - smb_stat_list_count
    - smb_stat_list_at
    - smb_stat_get
    linkageType: ''
    returnType: int
    signature: int BrowseDirectory( stream_t *p_access, input_item_node_t *p_node
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 902
    functionName: BrowserInit
    functionSourceFile: /src/vlc/modules/access/dsm/access.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int BrowserInit( stream_t *p_access )
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ToLocaleDup
      Src: /src/vlc/modules/access/vcd/vcd.c:99,1
    - Dst: strchr
      Src: /src/vlc/modules/access/vcd/vcd.c:106,1
    - Dst: strtol
      Src: /src/vlc/modules/access/vcd/vcd.c:110,1
    - Dst: strtol
      Src: /src/vlc/modules/access/vcd/vcd.c:112,1
    - Dst: free
      Src: /src/vlc/modules/access/vcd/vcd.c:117,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/vcd/vcd.c:120,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/vcd/vcd.c:121,1
    - Dst: var_CreateGetString
      Src: /src/vlc/modules/access/vcd/vcd.c:124,1
    - Dst: free
      Src: /src/vlc/modules/access/vcd/vcd.c:127,1
    - Dst: ioctl_Open
      Src: /src/vlc/modules/access/vcd/vcd.c:138,1
    - Dst: free
      Src: /src/vlc/modules/access/vcd/vcd.c:139,1
    - Dst: calloc
      Src: /src/vlc/modules/access/vcd/vcd.c:144,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/vcd/vcd.c:145,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/vcd/vcd.c:150,1
    - Dst: ioctl_GetTOC
      Src: /src/vlc/modules/access/vcd/vcd.c:154,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/vcd/vcd.c:154,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vcd/vcd.c:157,1
    - Dst: vcddev_toc_Free
      Src: /src/vlc/modules/access/vcd/vcd.c:162,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vcd/vcd.c:164,1
    - Dst: USABLE_TITLES
      Src: /src/vlc/modules/access/vcd/vcd.c:172,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/vcd/vcd.c:174,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/vcd/vcd.c:175,1
    - Dst: EntryPoints
      Src: /src/vlc/modules/access/vcd/vcd.c:179,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/vcd/vcd.c:181,1
    - Dst: USABLE_TITLES
      Src: /src/vlc/modules/access/vcd/vcd.c:185,1
    - Dst: ioctl_Close
      Src: /src/vlc/modules/access/vcd/vcd.c:209,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/vcd/vcd.c:209,1
    - Dst: free
      Src: /src/vlc/modules/access/vcd/vcd.c:210,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 73
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 212
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/vcd/vcd.c
    functionUses: 20
    functionsReached:
    - var_CreateGetString
    - strchr
    - EntryPoints
    - USABLE_TITLES
    - ARRAY_SIZE
    - msg_Err
    - calloc
    - msg_Dbg
    - msg_Warn
    - ioctl_Open
    - strcmp
    - ToLocaleDup
    - vcddev_toc_Free
    - ioctl_Close
    - free
    - strtol
    - ioctl_GetTOC
    - VLC_OBJECT
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: USABLE_TITLES
    functionSourceFile: /src/vlc/modules/access/vcd/vcd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: USABLE_TITLES(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/vcd/vcd.c:222,1
    - Dst: free
      Src: /src/vlc/modules/access/vcd/vcd.c:223,1
    - Dst: vcddev_toc_Free
      Src: /src/vlc/modules/access/vcd/vcd.c:225,1
    - Dst: ioctl_Close
      Src: /src/vlc/modules/access/vcd/vcd.c:227,1
    - Dst: free
      Src: /src/vlc/modules/access/vcd/vcd.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 229
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/vcd/vcd.c
    functionUses: 61
    functionsReached:
    - free
    - vcddev_toc_Free
    - ioctl_Close
    - ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/vcd/vcd.c:246,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/vcd/vcd.c:261,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/vcd/vcd.c:261,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/vcd/vcd.c:262,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/vcd/vcd.c:270,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/access/vcd/vcd.c:272,1
    - Dst: USABLE_TITLES
      Src: /src/vlc/modules/access/vcd/vcd.c:272,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/vcd/vcd.c:276,1
    - Dst: USABLE_TITLES
      Src: /src/vlc/modules/access/vcd/vcd.c:276,1
    - Dst: USABLE_TITLES
      Src: /src/vlc/modules/access/vcd/vcd.c:277,1
    - Dst: vlc_input_title_New
      Src: /src/vlc/modules/access/vcd/vcd.c:278,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/vcd/vcd.c:282,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/vcd/vcd.c:286,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/vcd/vcd.c:290,1
    - Dst: strdup
      Src: /src/vlc/modules/access/vcd/vcd.c:290,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/vcd/vcd.c:295,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/vcd/vcd.c:311,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 3
    argNames:
    - p_access
    - i_query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 331
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/vcd/vcd.c
    functionUses: 40
    functionsReached:
    - strdup
    - var_InheritInteger
    - VLC_TICK_FROM_MS
    - va_arg
    - vlc_input_title_New
    - vlc_alloc
    - USABLE_TITLES
    linkageType: ''
    returnType: int
    signature: int Control( stream_t *p_access, int i_query, va_list args )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: USABLE_TITLES
      Src: /src/vlc/modules/access/vcd/vcd.c:346,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/vcd/vcd.c:365,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vcd/vcd.c:367,1
    - Dst: ioctl_ReadSectors
      Src: /src/vlc/modules/access/vcd/vcd.c:372,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/vcd/vcd.c:372,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vcd/vcd.c:375,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/vcd/vcd.c:376,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/vcd/vcd.c:394,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - p_access
    - eof
    argTypes:
    - stream_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 404
    functionName: Block
    functionSourceFile: /src/vlc/modules/access/vcd/vcd.c
    functionUses: 6
    functionsReached:
    - block_Release
    - ioctl_ReadSectors
    - msg_Err
    - block_Alloc
    - msg_Dbg
    - VLC_OBJECT
    - USABLE_TITLES
    linkageType: ''
    returnType: block_t
    signature: block_t *Block( stream_t *p_access, bool *restrict eof )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/vcd/vcd.c:430,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - p_access
    - i_pos
    argTypes:
    - stream_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 435
    functionName: Seek
    functionSourceFile: /src/vlc/modules/access/vcd/vcd.c
    functionUses: 12
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int Seek( stream_t *p_access, uint64_t i_pos )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ioctl_ReadSectors
      Src: /src/vlc/modules/access/vcd/vcd.c:450,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/vcd/vcd.c:450,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vcd/vcd.c:453,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/vcd/vcd.c:456,1
    - Dst: GetWBE
      Src: /src/vlc/modules/access/vcd/vcd.c:458,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vcd/vcd.c:461,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/vcd/vcd.c:465,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/vcd/vcd.c:466,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vcd/vcd.c:468,1
    - Dst: BCD_TO_BIN
      Src: /src/vlc/modules/access/vcd/vcd.c:474,1
    - Dst: MSF_TO_LBA2
      Src: /src/vlc/modules/access/vcd/vcd.c:476,1
    - Dst: BCD_TO_BIN
      Src: /src/vlc/modules/access/vcd/vcd.c:476,1
    - Dst: BCD_TO_BIN
      Src: /src/vlc/modules/access/vcd/vcd.c:477,1
    - Dst: BCD_TO_BIN
      Src: /src/vlc/modules/access/vcd/vcd.c:478,1
    - Dst: USABLE_TITLES
      Src: /src/vlc/modules/access/vcd/vcd.c:480,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/vcd/vcd.c:482,1
    - Dst: xrealloc
      Src: /src/vlc/modules/access/vcd/vcd.c:485,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 493
    functionName: EntryPoints
    functionSourceFile: /src/vlc/modules/access/vcd/vcd.c
    functionUses: 1
    functionsReached:
    - GetWBE
    - xrealloc
    - memcpy
    - ioctl_ReadSectors
    - msg_Err
    - strncmp
    - MSF_TO_LBA2
    - msg_Dbg
    - VLC_OBJECT
    - BCD_TO_BIN
    - USABLE_TITLES
    linkageType: ''
    returnType: int
    signature: int EntryPoints( stream_t *p_access )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DosAllocMem
      Src: /src/vlc/modules/access/vcd/cdrom.c:104,1
    - Dst: DosAllocMem
      Src: /src/vlc/modules/access/vcd/cdrom.c:108,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/vcd/cdrom.c:112,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/vcd/cdrom.c:113,1
    - Dst: DosDevIOCtl
      Src: /src/vlc/modules/access/vcd/cdrom.c:118,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/vcd/cdrom.c:124,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/vcd/cdrom.c:125,1
    - Dst: DosFreeMem
      Src: /src/vlc/modules/access/vcd/cdrom.c:132,1
    - Dst: DosFreeMem
      Src: /src/vlc/modules/access/vcd/cdrom.c:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 9
    argNames:
    - hdevice
    - category
    - function
    - pParams
    - cbParamLenMax
    - pcbParamLen
    - pData
    - cbDataLenMax
    - pcbDataLen
    argTypes:
    - HFILE
    - ULONG
    - ULONG
    - PVOID
    - ULONG
    - PULONG
    - PVOID
    - ULONG
    - PULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 136
    functionName: vlc_DosDevIOCtl
    functionSourceFile: /src/vlc/modules/access/vcd/cdrom.c
    functionUses: 0
    functionsReached:
    - DosAllocMem
    - memcpy
    - DosFreeMem
    - DosDevIOCtl
    linkageType: ''
    returnType: APIRET
    signature: "APIRET vlc_DosDevIOCtl( HFILE hdevice, ULONG category, ULONG function,\n
      \                              PVOID pParams, ULONG cbParamLenMax,\n                               PULONG
      pcbParamLen, PVOID pData,\n                               ULONG cbDataLenMax,
      PULONG pcbDataLen )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/vcd/cdrom.c:163,1
    - Dst: memset
      Src: /src/vlc/modules/access/vcd/cdrom.c:168,1
    - Dst: strlen
      Src: /src/vlc/modules/access/vcd/cdrom.c:175,1
    - Dst: vlc_stat
      Src: /src/vlc/modules/access/vcd/cdrom.c:181,1
    - Dst: free
      Src: /src/vlc/modules/access/vcd/cdrom.c:183,1
    - Dst: S_ISBLK
      Src: /src/vlc/modules/access/vcd/cdrom.c:188,1
    - Dst: S_ISCHR
      Src: /src/vlc/modules/access/vcd/cdrom.c:188,1
    - Dst: OpenVCDImage
      Src: /src/vlc/modules/access/vcd/cdrom.c:194,1
    - Dst: win32_vcd_open
      Src: /src/vlc/modules/access/vcd/cdrom.c:203,1
    - Dst: os2_vcd_open
      Src: /src/vlc/modules/access/vcd/cdrom.c:205,1
    - Dst: vlc_open
      Src: /src/vlc/modules/access/vcd/cdrom.c:208,1
    - Dst: strdup
      Src: /src/vlc/modules/access/vcd/cdrom.c:215,1
    - Dst: free
      Src: /src/vlc/modules/access/vcd/cdrom.c:219,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - p_this
    - psz_dev
    argTypes:
    - vlc_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 224
    functionName: ioctl_Open
    functionSourceFile: /src/vlc/modules/access/vcd/cdrom.c
    functionUses: 2
    functionsReached:
    - OpenVCDImage
    - vlc_open
    - strdup
    - win32_vcd_open
    - memset
    - strlen
    - free
    - os2_vcd_open
    - vlc_stat
    - S_ISCHR
    - S_ISBLK
    - malloc
    linkageType: ''
    returnType: vcddev_t
    signature: vcddev_t *ioctl_Open( vlc_object_t *p_this, const char *psz_dev )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/vcd/cdrom.c:231,1
    - Dst: CloseVCDImage
      Src: /src/vlc/modules/access/vcd/cdrom.c:239,1
    - Dst: CloseHandle
      Src: /src/vlc/modules/access/vcd/cdrom.c:249,1
    - Dst: DosClose
      Src: /src/vlc/modules/access/vcd/cdrom.c:252,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/vcd/cdrom.c:255,1
    - Dst: free
      Src: /src/vlc/modules/access/vcd/cdrom.c:257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - p_this
    - p_vcddev
    argTypes:
    - vlc_object_t*
    - vcddev_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 258
    functionName: ioctl_Close
    functionSourceFile: /src/vlc/modules/access/vcd/cdrom.c
    functionUses: 5
    functionsReached:
    - vlc_close
    - free
    - DosClose
    - CloseVCDImage
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: void ioctl_Close( vlc_object_t * p_this, vcddev_t *p_vcddev )
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/access/vcd/cdrom.c:266,1
    - Dst: calloc
      Src: /src/vlc/modules/access/vcd/cdrom.c:279,1
    - Dst: free
      Src: /src/vlc/modules/access/vcd/cdrom.c:282,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/vcd/cdrom.c:285,1
    - Dst: darwin_getTOC
      Src: /src/vlc/modules/access/vcd/cdrom.c:302,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vcd/cdrom.c:304,1
    - Dst: vcddev_toc_Free
      Src: /src/vlc/modules/access/vcd/cdrom.c:305,1
    - Dst: CDTOCGetDescriptorCount
      Src: /src/vlc/modules/access/vcd/cdrom.c:309,1
    - Dst: darwin_getNumberOfTracks
      Src: /src/vlc/modules/access/vcd/cdrom.c:310,1
    - Dst: calloc
      Src: /src/vlc/modules/access/vcd/cdrom.c:318,1
    - Dst: vcddev_toc_Free
      Src: /src/vlc/modules/access/vcd/cdrom.c:322,1
    - Dst: darwin_freeTOC
      Src: /src/vlc/modules/access/vcd/cdrom.c:323,1
    - Dst: CDConvertMSFToLBA
      Src: /src/vlc/modules/access/vcd/cdrom.c:341,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vcd/cdrom.c:346,1
    - Dst: vcddev_toc_Free
      Src: /src/vlc/modules/access/vcd/cdrom.c:347,1
    - Dst: darwin_freeTOC
      Src: /src/vlc/modules/access/vcd/cdrom.c:348,1
    - Dst: CDConvertMSFToLBA
      Src: /src/vlc/modules/access/vcd/cdrom.c:354,1
    - Dst: darwin_freeTOC
      Src: /src/vlc/modules/access/vcd/cdrom.c:356,1
    - Dst: DeviceIoControl
      Src: /src/vlc/modules/access/vcd/cdrom.c:363,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vcd/cdrom.c:367,1
    - Dst: vcddev_toc_Free
      Src: /src/vlc/modules/access/vcd/cdrom.c:368,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/vcd/cdrom.c:377,1
    - Dst: calloc
      Src: /src/vlc/modules/access/vcd/cdrom.c:379,1
    - Dst: vcddev_toc_Free
      Src: /src/vlc/modules/access/vcd/cdrom.c:382,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/vcd/cdrom.c:393,1
    - Dst: DosDevIOCtl
      Src: /src/vlc/modules/access/vcd/cdrom.c:404,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vcd/cdrom.c:410,1
    - Dst: vcddev_toc_Free
      Src: /src/vlc/modules/access/vcd/cdrom.c:411,1
    - Dst: calloc
      Src: /src/vlc/modules/access/vcd/cdrom.c:423,1
    - Dst: vcddev_toc_Free
      Src: /src/vlc/modules/access/vcd/cdrom.c:426,1
    - Dst: DosDevIOCtl
      Src: /src/vlc/modules/access/vcd/cdrom.c:433,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vcd/cdrom.c:439,1
    - Dst: vcddev_toc_Free
      Src: /src/vlc/modules/access/vcd/cdrom.c:441,1
    - Dst: MSF_TO_LBA2
      Src: /src/vlc/modules/access/vcd/cdrom.c:445,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/vcd/cdrom.c:449,1
    - Dst: MSF_TO_LBA2
      Src: /src/vlc/modules/access/vcd/cdrom.c:453,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/vcd/cdrom.c:457,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/vcd/cdrom.c:464,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vcd/cdrom.c:467,1
    - Dst: vcddev_toc_Free
      Src: /src/vlc/modules/access/vcd/cdrom.c:468,1
    - Dst: calloc
      Src: /src/vlc/modules/access/vcd/cdrom.c:476,1
    - Dst: vcddev_toc_Free
      Src: /src/vlc/modules/access/vcd/cdrom.c:479,1
    - Dst: malloc
      Src: /src/vlc/modules/access/vcd/cdrom.c:488,1
    - Dst: vcddev_toc_Free
      Src: /src/vlc/modules/access/vcd/cdrom.c:491,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/vcd/cdrom.c:496,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vcd/cdrom.c:499,1
    - Dst: free
      Src: /src/vlc/modules/access/vcd/cdrom.c:500,1
    - Dst: vcddev_toc_Free
      Src: /src/vlc/modules/access/vcd/cdrom.c:501,1
    - Dst: ntohl
      Src: /src/vlc/modules/access/vcd/cdrom.c:512,1
    - Dst: free
      Src: /src/vlc/modules/access/vcd/cdrom.c:515,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/vcd/cdrom.c:521,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vcd/cdrom.c:524,1
    - Dst: free
      Src: /src/vlc/modules/access/vcd/cdrom.c:525,1
    - Dst: calloc
      Src: /src/vlc/modules/access/vcd/cdrom.c:533,1
    - Dst: free
      Src: /src/vlc/modules/access/vcd/cdrom.c:536,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/vcd/cdrom.c:547,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vcd/cdrom.c:550,1
    - Dst: free
      Src: /src/vlc/modules/access/vcd/cdrom.c:551,1
    - Dst: free
      Src: /src/vlc/modules/access/vcd/cdrom.c:552,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 151
    argCount: 2
    argNames:
    - p_this
    - p_vcddev
    argTypes:
    - vlc_object_t*
    - vcddev_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 563
    functionName: ioctl_GetTOC
    functionSourceFile: /src/vlc/modules/access/vcd/cdrom.c
    functionUses: 3
    functionsReached:
    - vcddev_toc_Free
    - darwin_getTOC
    - ntohl
    - DeviceIoControl
    - memcpy
    - darwin_getNumberOfTracks
    - CDConvertMSFToLBA
    - msg_Err
    - calloc
    - free
    - ioctl
    - MSF_TO_LBA2
    - msg_Dbg
    - malloc
    - CDTOCGetDescriptorCount
    - msg_Warn
    - DosDevIOCtl
    - darwin_freeTOC
    linkageType: ''
    returnType: vcddev_toc_t
    signature: vcddev_toc_t * ioctl_GetTOC( vlc_object_t *p_this, const vcddev_t *p_vcddev
      )
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: vlc_alloc
      Src: /src/vlc/modules/access/vcd/cdrom.c:574,1
    - Dst: lseek
      Src: /src/vlc/modules/access/vcd/cdrom.c:583,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vcd/cdrom.c:586,1
    - Dst: read
      Src: /src/vlc/modules/access/vcd/cdrom.c:591,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vcd/cdrom.c:593,1
    - Dst: memset
      Src: /src/vlc/modules/access/vcd/cdrom.c:608,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/vcd/cdrom.c:619,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vcd/cdrom.c:621,1
    - Dst: DeviceIoControl
      Src: /src/vlc/modules/access/vcd/cdrom.c:634,1
    - Dst: DeviceIoControl
      Src: /src/vlc/modules/access/vcd/cdrom.c:643,1
    - Dst: DosDevIOCtl
      Src: /src/vlc/modules/access/vcd/cdrom.c:664,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vcd/cdrom.c:669,1
    - Dst: memset
      Src: /src/vlc/modules/access/vcd/cdrom.c:677,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/vcd/cdrom.c:697,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vcd/cdrom.c:700,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vcd/cdrom.c:705,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/vcd/cdrom.c:713,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vcd/cdrom.c:716,1
    - Dst: lseek
      Src: /src/vlc/modules/access/vcd/cdrom.c:720,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vcd/cdrom.c:723,1
    - Dst: read
      Src: /src/vlc/modules/access/vcd/cdrom.c:728,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vcd/cdrom.c:730,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/vcd/cdrom.c:745,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vcd/cdrom.c:748,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/vcd/cdrom.c:766,1
    - Dst: free
      Src: /src/vlc/modules/access/vcd/cdrom.c:770,1
    - Dst: free
      Src: /src/vlc/modules/access/vcd/cdrom.c:777,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 117
    argCount: 6
    argNames:
    - p_this
    - p_vcddev
    - i_sector
    - p_buffer
    - i_nb
    - i_type
    argTypes:
    - vlc_object_t*
    - vcddev_t*
    - int
    - uint8_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 779
    functionName: ioctl_ReadSectors
    functionSourceFile: /src/vlc/modules/access/vcd/cdrom.c
    functionUses: 3
    functionsReached:
    - memset
    - DeviceIoControl
    - read
    - memcpy
    - msg_Err
    - free
    - lseek
    - vlc_alloc
    - ioctl
    - DosDevIOCtl
    linkageType: ''
    returnType: int
    signature: "int ioctl_ReadSectors( vlc_object_t *p_this, const vcddev_t *p_vcddev,\n
      \                      int i_sector, uint8_t *p_buffer, int i_nb, int i_type
      )"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/vlc/modules/access/vcd/cdrom.c:800,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/vcd/cdrom.c:801,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/vcd/cdrom.c:805,1
    - Dst: strdup
      Src: /src/vlc/modules/access/vcd/cdrom.c:808,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/vcd/cdrom.c:815,1
    - Dst: strdup
      Src: /src/vlc/modules/access/vcd/cdrom.c:818,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/vcd/cdrom.c:822,1
    - Dst: strdup
      Src: /src/vlc/modules/access/vcd/cdrom.c:826,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/vcd/cdrom.c:833,1
    - Dst: vlc_fopen
      Src: /src/vlc/modules/access/vcd/cdrom.c:834,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/vcd/cdrom.c:837,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/vcd/cdrom.c:841,1
    - Dst: vlc_open
      Src: /src/vlc/modules/access/vcd/cdrom.c:842,1
    - Dst: fgets
      Src: /src/vlc/modules/access/vcd/cdrom.c:845,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/vcd/cdrom.c:850,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/vcd/cdrom.c:854,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/vcd/cdrom.c:855,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/vcd/cdrom.c:861,1
    - Dst: free
      Src: /src/vlc/modules/access/vcd/cdrom.c:862,1
    - Dst: strrchr
      Src: /src/vlc/modules/access/vcd/cdrom.c:863,1
    - Dst: strrchr
      Src: /src/vlc/modules/access/vcd/cdrom.c:864,1
    - Dst: malloc
      Src: /src/vlc/modules/access/vcd/cdrom.c:866,1
    - Dst: strlen
      Src: /src/vlc/modules/access/vcd/cdrom.c:866,1
    - Dst: strncpy
      Src: /src/vlc/modules/access/vcd/cdrom.c:873,1
    - Dst: strcpy
      Src: /src/vlc/modules/access/vcd/cdrom.c:874,1
    - Dst: strdup
      Src: /src/vlc/modules/access/vcd/cdrom.c:878,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/vcd/cdrom.c:885,1
    - Dst: vlc_open
      Src: /src/vlc/modules/access/vcd/cdrom.c:886,1
    - Dst: fgets
      Src: /src/vlc/modules/access/vcd/cdrom.c:904,1
    - Dst: strstr
      Src: /src/vlc/modules/access/vcd/cdrom.c:909,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/vcd/cdrom.c:913,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/vcd/cdrom.c:917,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/vcd/cdrom.c:920,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/vcd/cdrom.c:922,1
    - Dst: fgets
      Src: /src/vlc/modules/access/vcd/cdrom.c:929,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/vcd/cdrom.c:933,1
    - Dst: realloc
      Src: /src/vlc/modules/access/vcd/cdrom.c:937,1
    - Dst: MSF_TO_LBA
      Src: /src/vlc/modules/access/vcd/cdrom.c:942,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/vcd/cdrom.c:944,1
    - Dst: realloc
      Src: /src/vlc/modules/access/vcd/cdrom.c:952,1
    - Dst: lseek
      Src: /src/vlc/modules/access/vcd/cdrom.c:958,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/vcd/cdrom.c:960,1
    - Dst: vcddev_toc_Reset
      Src: /src/vlc/modules/access/vcd/cdrom.c:968,1
    - Dst: fclose
      Src: /src/vlc/modules/access/vcd/cdrom.c:970,1
    - Dst: free
      Src: /src/vlc/modules/access/vcd/cdrom.c:971,1
    - Dst: free
      Src: /src/vlc/modules/access/vcd/cdrom.c:972,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 118
    argCount: 3
    argNames:
    - p_this
    - psz_dev
    - p_vcddev
    argTypes:
    - vlc_object_t*
    - char*
    - vcddev_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 788
    functionDepth: 2
    functionLinenumber: 788
    functionLinenumberEnd: 975
    functionName: OpenVCDImage
    functionSourceFile: /src/vlc/modules/access/vcd/cdrom.c
    functionUses: 1
    functionsReached:
    - sscanf
    - realloc
    - strcpy
    - fclose
    - asprintf
    - msg_Dbg
    - strstr
    - strcasecmp
    - lseek
    - fgets
    - vlc_open
    - strdup
    - MSF_TO_LBA
    - strcmp
    - vcddev_toc_Reset
    - strncpy
    - strlen
    - free
    - vlc_fopen
    - strrchr
    - malloc
    linkageType: ''
    returnType: int
    signature: "int OpenVCDImage( vlc_object_t * p_this, const char *psz_dev,\n                         vcddev_t
      *p_vcddev )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/vcd/cdrom.c:982,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/vcd/cdrom.c:984,1
    - Dst: free
      Src: /src/vlc/modules/access/vcd/cdrom.c:988,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p_this
    - p_vcddev
    argTypes:
    - vlc_object_t*
    - vcddev_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 980
    functionDepth: 1
    functionLinenumber: 980
    functionLinenumberEnd: 989
    functionName: CloseVCDImage
    functionSourceFile: /src/vlc/modules/access/vcd/cdrom.c
    functionUses: 1
    functionsReached:
    - vlc_close
    - free
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void CloseVCDImage( vlc_object_t * p_this, vcddev_t *p_vcddev )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/vlc/modules/access/vcd/cdrom.c:1007,1
    - Dst: IOMasterPort
      Src: /src/vlc/modules/access/vcd/cdrom.c:1017,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vcd/cdrom.c:1019,1
    - Dst: IOServiceGetMatchingServices
      Src: /src/vlc/modules/access/vcd/cdrom.c:1024,1
    - Dst: IOBSDNameMatching
      Src: /src/vlc/modules/access/vcd/cdrom.c:1025,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vcd/cdrom.c:1028,1
    - Dst: IOIteratorNext
      Src: /src/vlc/modules/access/vcd/cdrom.c:1033,1
    - Dst: IOObjectRelease
      Src: /src/vlc/modules/access/vcd/cdrom.c:1034,1
    - Dst: IOObjectConformsTo
      Src: /src/vlc/modules/access/vcd/cdrom.c:1037,1
    - Dst: IORegistryEntryGetParentIterator
      Src: /src/vlc/modules/access/vcd/cdrom.c:1039,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vcd/cdrom.c:1042,1
    - Dst: IOObjectRelease
      Src: /src/vlc/modules/access/vcd/cdrom.c:1043,1
    - Dst: IOObjectRelease
      Src: /src/vlc/modules/access/vcd/cdrom.c:1047,1
    - Dst: IOIteratorNext
      Src: /src/vlc/modules/access/vcd/cdrom.c:1048,1
    - Dst: IOObjectRelease
      Src: /src/vlc/modules/access/vcd/cdrom.c:1049,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vcd/cdrom.c:1054,1
    - Dst: IORegistryEntryCreateCFProperties
      Src: /src/vlc/modules/access/vcd/cdrom.c:1059,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vcd/cdrom.c:1062,1
    - Dst: IOObjectRelease
      Src: /src/vlc/modules/access/vcd/cdrom.c:1063,1
    - Dst: CFDictionaryGetValue
      Src: /src/vlc/modules/access/vcd/cdrom.c:1068,1
    - Dst: CFSTR
      Src: /src/vlc/modules/access/vcd/cdrom.c:1069,1
    - Dst: CFDataGetLength
      Src: /src/vlc/modules/access/vcd/cdrom.c:1074,1
    - Dst: CFRangeMake
      Src: /src/vlc/modules/access/vcd/cdrom.c:1075,1
    - Dst: malloc
      Src: /src/vlc/modules/access/vcd/cdrom.c:1077,1
    - Dst: CFDataGetBytes
      Src: /src/vlc/modules/access/vcd/cdrom.c:1079,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vcd/cdrom.c:1084,1
    - Dst: CFRelease
      Src: /src/vlc/modules/access/vcd/cdrom.c:1087,1
    - Dst: IOObjectRelease
      Src: /src/vlc/modules/access/vcd/cdrom.c:1088,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 2
    argNames:
    - p_this
    - p_vcddev
    argTypes:
    - vlc_object_t*
    - vcddev_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 995
    functionDepth: 1
    functionLinenumber: 995
    functionLinenumberEnd: 1091
    functionName: darwin_getTOC
    functionSourceFile: /src/vlc/modules/access/vcd/cdrom.c
    functionUses: 1
    functionsReached:
    - CFDataGetLength
    - CFDataGetBytes
    - IOMasterPort
    - CFRelease
    - CFDictionaryGetValue
    - IORegistryEntryGetParentIterator
    - strrchr
    - IOServiceGetMatchingServices
    - msg_Err
    - IOObjectConformsTo
    - IORegistryEntryCreateCFProperties
    - CFSTR
    - CFRangeMake
    - IOIteratorNext
    - IOObjectRelease
    - IOBSDNameMatching
    - malloc
    linkageType: ''
    returnType: CDTOC
    signature: CDTOC *darwin_getTOC( vlc_object_t * p_this, const vcddev_t *p_vcddev
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: __MIN
      Src: /src/vlc/modules/access/vcd/cdrom.c:1118,1
    - Dst: __MAX
      Src: /src/vlc/modules/access/vcd/cdrom.c:1119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - pTOC
    - i_descriptors
    - pi_first_track
    - pi_last_track
    argTypes:
    - CDTOC*
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1097
    functionDepth: 1
    functionLinenumber: 1097
    functionLinenumberEnd: 1134
    functionName: darwin_getNumberOfTracks
    functionSourceFile: /src/vlc/modules/access/vcd/cdrom.c
    functionUses: 1
    functionsReached:
    - __MAX
    - __MIN
    linkageType: ''
    returnType: int
    signature: "int darwin_getNumberOfTracks( CDTOC *pTOC, int i_descriptors,\n                                     int
      *pi_first_track,\n                                     int *pi_last_track )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/vcd/cdrom.c:1151,1
    - Dst: sprintf
      Src: /src/vlc/modules/access/vcd/cdrom.c:1153,1
    - Dst: CreateFileA
      Src: /src/vlc/modules/access/vcd/cdrom.c:1155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - p_this
    - psz_dev
    - p_vcddev
    argTypes:
    - vlc_object_t*
    - char*
    - vcddev_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1143
    functionDepth: 1
    functionLinenumber: 1143
    functionLinenumberEnd: 1161
    functionName: win32_vcd_open
    functionSourceFile: /src/vlc/modules/access/vcd/cdrom.c
    functionUses: 1
    functionsReached:
    - CreateFileA
    - msg_Dbg
    - sprintf
    linkageType: ''
    returnType: int
    signature: "int win32_vcd_open( vlc_object_t * p_this, const char *psz_dev,\n
      \                          vcddev_t *p_vcddev )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DosOpen
      Src: /src/vlc/modules/access/vcd/cdrom.c:1180,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/vcd/cdrom.c:1186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - p_this
    - psz_dev
    - p_vcddev
    argTypes:
    - vlc_object_t*
    - char*
    - vcddev_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1169
    functionDepth: 1
    functionLinenumber: 1169
    functionLinenumberEnd: 1193
    functionName: os2_vcd_open
    functionSourceFile: /src/vlc/modules/access/vcd/cdrom.c
    functionUses: 1
    functionsReached:
    - DosOpen
    - msg_Err
    linkageType: ''
    returnType: int
    signature: "int os2_vcd_open( vlc_object_t * p_this, const char *psz_dev,\n                         vcddev_t
      *p_vcddev )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/access/vcd/cdrom.c:1233,1
    - Dst: realloc
      Src: /src/vlc/modules/access/vcd/cdrom.c:1255,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/vcd/cdrom.c:1263,1
    - Dst: EnsureUTF8
      Src: /src/vlc/modules/access/vcd/cdrom.c:1265,1
    - Dst: vlc_iconv_open
      Src: /src/vlc/modules/access/vcd/cdrom.c:1269,1
    - Dst: vlc_iconv
      Src: /src/vlc/modules/access/vcd/cdrom.c:1276,1
    - Dst: vlc_iconv_close
      Src: /src/vlc/modules/access/vcd/cdrom.c:1278,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 4
    argNames:
    - buffer
    - i_len
    - e_charset
    - ppsz_text
    argTypes:
    - char*
    - size_t
    - enum cdtext_charset_e
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1230
    functionDepth: 1
    functionLinenumber: 1230
    functionLinenumberEnd: 1281
    functionName: CdTextAppendPayload
    functionSourceFile: /src/vlc/modules/access/vcd/cdrom.c
    functionUses: 0
    functionsReached:
    - strlen
    - realloc
    - memcpy
    - vlc_iconv_open
    - EnsureUTF8
    - vlc_iconv_close
    - vlc_iconv
    linkageType: ''
    returnType: void
    signature: "void CdTextAppendPayload( const char *buffer, size_t i_len,\n                                 enum
      cdtext_charset_e e_charset, char **ppsz_text )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strnlen
      Src: /src/vlc/modules/access/vcd/cdrom.c:1299,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - p_buffer
    - i_buffer
    - b_doublebytes
    argTypes:
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1284
    functionDepth: 1
    functionLinenumber: 1284
    functionLinenumberEnd: 1300
    functionName: CdTextPayloadLength
    functionSourceFile: /src/vlc/modules/access/vcd/cdrom.c
    functionUses: 0
    functionsReached:
    - strnlen
    linkageType: ''
    returnType: size_t
    signature: "size_t CdTextPayloadLength( const char *p_buffer, size_t i_buffer,\n
      \                                  bool b_doublebytes )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CdTextPayloadLength
      Src: /src/vlc/modules/access/vcd/cdrom.c:1323,1
    - Dst: __MAX
      Src: /src/vlc/modules/access/vcd/cdrom.c:1329,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/vcd/cdrom.c:1344,1
    - Dst: CdTextAppendPayload
      Src: /src/vlc/modules/access/vcd/cdrom.c:1355,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 7
    argNames:
    - p_pack
    - e_charset
    - pi_textbuffer
    - pi_repeatbuffer
    - textbuffer
    - pi_last_track
    - pppsz_info
    argTypes:
    - uint8_t*
    - enum cdtext_charset_e
    - size_t*
    - size_t*
    - char*
    - int*
    - char*[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1302
    functionDepth: 2
    functionLinenumber: 1302
    functionLinenumberEnd: 1371
    functionName: CdTextParsePackText
    functionSourceFile: /src/vlc/modules/access/vcd/cdrom.c
    functionUses: 0
    functionsReached:
    - CdTextPayloadLength
    - __MAX
    - CdTextAppendPayload
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void CdTextParsePackText( const uint8_t *p_pack,\n                                 enum
      cdtext_charset_e e_charset,\n                                 size_t *pi_textbuffer,\n
      \                                size_t *pi_repeatbuffer,\n                                 char
      *textbuffer,\n                                 int *pi_last_track,\n                                 char
      *pppsz_info[CDTEXT_MAX_TRACKS + 1][0x10] )"
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/access/vcd/cdrom.c:1411,1
    - Dst: CdTextParsePackText
      Src: /src/vlc/modules/access/vcd/cdrom.c:1465,1
    - Dst: calloc
      Src: /src/vlc/modules/access/vcd/cdrom.c:1480,1
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/access/vcd/cdrom.c:1502,1
    - Dst: vlc_meta_SetAlbum
      Src: /src/vlc/modules/access/vcd/cdrom.c:1511,1
    - Dst: vlc_meta_SetTitle
      Src: /src/vlc/modules/access/vcd/cdrom.c:1516,1
    - Dst: vlc_meta_SetAlbum
      Src: /src/vlc/modules/access/vcd/cdrom.c:1518,1
    - Dst: vlc_meta_SetArtist
      Src: /src/vlc/modules/access/vcd/cdrom.c:1522,1
    - Dst: vlc_meta_SetAlbumArtist
      Src: /src/vlc/modules/access/vcd/cdrom.c:1525,1
    - Dst: vlc_meta_SetDescription
      Src: /src/vlc/modules/access/vcd/cdrom.c:1528,1
    - Dst: vlc_meta_SetGenre
      Src: /src/vlc/modules/access/vcd/cdrom.c:1532,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/access/vcd/cdrom.c:1537,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/access/vcd/cdrom.c:1542,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/access/vcd/cdrom.c:1546,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/access/vcd/cdrom.c:1552,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/access/vcd/cdrom.c:1554,1
    - Dst: free
      Src: /src/vlc/modules/access/vcd/cdrom.c:1565,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 119
    argCount: 4
    argNames:
    - ppp_tracks
    - pi_tracks
    - p_buffer
    - i_buffer
    argTypes:
    - vlc_meta_t***
    - int*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1373
    functionDepth: 3
    functionLinenumber: 1373
    functionLinenumberEnd: 1570
    functionName: CdTextParse
    functionSourceFile: /src/vlc/modules/access/vcd/cdrom.c
    functionUses: 0
    functionsReached:
    - vlc_meta_SetTitle
    - vlc_meta_SetDescription
    - memset
    - vlc_meta_SetAlbum
    - vlc_meta_New
    - CdTextParsePackText
    - vlc_meta_SetAlbumArtist
    - calloc
    - free
    - vlc_meta_SetArtist
    - vlc_meta_SetGenre
    - vlc_meta_SetExtra
    linkageType: ''
    returnType: int
    signature: "int CdTextParse( vlc_meta_t ***ppp_tracks, int *pi_tracks,\n                        const
      uint8_t *p_buffer, int i_buffer )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/vcd/cdrom.c:1579,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/vcd/cdrom.c:1580,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/vcd/cdrom.c:1581,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/vcd/cdrom.c:1582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - p_object
    - p_vcddev
    - pp_buffer
    - pi_buffer
    argTypes:
    - vlc_object_t*
    - vcddev_t*
    - uint8_t**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1576
    functionDepth: 1
    functionLinenumber: 1576
    functionLinenumberEnd: 1584
    functionName: CdTextRead
    functionSourceFile: /src/vlc/modules/access/vcd/cdrom.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int CdTextRead( vlc_object_t *p_object, const vcddev_t *p_vcddev,\n
      \                      uint8_t **pp_buffer, int *pi_buffer )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/vcd/cdrom.c:1589,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/vcd/cdrom.c:1594,1
    - Dst: DeviceIoControl
      Src: /src/vlc/modules/access/vcd/cdrom.c:1596,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/vcd/cdrom.c:1597,1
    - Dst: calloc
      Src: /src/vlc/modules/access/vcd/cdrom.c:1605,1
    - Dst: DeviceIoControl
      Src: /src/vlc/modules/access/vcd/cdrom.c:1609,1
    - Dst: free
      Src: /src/vlc/modules/access/vcd/cdrom.c:1612,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - p_object
    - p_vcddev
    - pp_buffer
    - pi_buffer
    argTypes:
    - vlc_object_t*
    - vcddev_t*
    - uint8_t**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1620
      start: 1586
    functionDepth: 1
    functionLinenumber: 1586
    functionLinenumberEnd: 1620
    functionName: CdTextRead
    functionSourceFile: /src/vlc/modules/access/vcd/cdrom.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - DeviceIoControl
    - calloc
    - free
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int CdTextRead( vlc_object_t *p_object, const vcddev_t *p_vcddev,\n
      \                      uint8_t **pp_buffer, int *pi_buffer )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/vcd/cdrom.c:1625,1
    - Dst: memset
      Src: /src/vlc/modules/access/vcd/cdrom.c:1634,1
    - Dst: memset
      Src: /src/vlc/modules/access/vcd/cdrom.c:1635,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/vcd/cdrom.c:1647,1
    - Dst: calloc
      Src: /src/vlc/modules/access/vcd/cdrom.c:1657,1
    - Dst: memset
      Src: /src/vlc/modules/access/vcd/cdrom.c:1661,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/vcd/cdrom.c:1673,1
    - Dst: free
      Src: /src/vlc/modules/access/vcd/cdrom.c:1675,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 4
    argNames:
    - p_object
    - p_vcddev
    - pp_buffer
    - pi_buffer
    argTypes:
    - vlc_object_t*
    - vcddev_t*
    - uint8_t**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1683
      start: 1622
    functionDepth: 1
    functionLinenumber: 1622
    functionLinenumberEnd: 1683
    functionName: CdTextRead
    functionSourceFile: /src/vlc/modules/access/vcd/cdrom.c
    functionUses: 0
    functionsReached:
    - memset
    - calloc
    - free
    - ioctl
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int CdTextRead( vlc_object_t *p_object, const vcddev_t *p_vcddev,\n
      \                      uint8_t **pp_buffer, int *pi_buffer )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CdTextRead
      Src: /src/vlc/modules/access/vcd/cdrom.c:1695,1
    - Dst: CdTextParse
      Src: /src/vlc/modules/access/vcd/cdrom.c:1698,1
    - Dst: free
      Src: /src/vlc/modules/access/vcd/cdrom.c:1699,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - p_object
    - p_vcddev
    - ppp_tracks
    - pi_tracks
    argTypes:
    - vlc_object_t*
    - vcddev_t*
    - vlc_meta_t***
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1701
      start: 1686
    functionDepth: 4
    functionLinenumber: 1686
    functionLinenumberEnd: 1701
    functionName: ioctl_GetCdText
    functionSourceFile: /src/vlc/modules/access/vcd/cdrom.c
    functionUses: 1
    functionsReached:
    - CdTextRead
    - CdTextParse
    - free
    linkageType: ''
    returnType: int
    signature: "int ioctl_GetCdText( vlc_object_t *p_object, const vcddev_t *p_vcddev,\n
      \                    vlc_meta_t ***ppp_tracks, int *pi_tracks )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - min
    - sec
    - frame
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: MSF_TO_LBA
    functionSourceFile: /src/vlc/modules/access/vcd/cdrom.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MSF_TO_LBA(uint8_t min, uint8_t sec, uint8_t frame)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - min
    - sec
    - frame
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: MSF_TO_LBA2
    functionSourceFile: /src/vlc/modules/access/vcd/cdrom.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MSF_TO_LBA2(uint8_t min, uint8_t sec, uint8_t frame)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: BCD_TO_BIN
    functionSourceFile: /src/vlc/modules/access/vcd/cdrom.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BCD_TO_BIN(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/access/vcd/cdrom.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: vcddev_toc_New
    functionSourceFile: /src/vlc/modules/access/vcd/cdrom.h
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: vcddev_toc_t
    signature: vcddev_toc_t * vcddev_toc_New( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/vcd/cdrom.h:111,1
    - Dst: memset
      Src: /src/vlc/modules/access/vcd/cdrom.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - toc
    argTypes:
    - vcddev_toc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: vcddev_toc_Reset
    functionSourceFile: /src/vlc/modules/access/vcd/cdrom.h
    functionUses: 1
    functionsReached:
    - free
    - memset
    linkageType: ''
    returnType: void
    signature: void vcddev_toc_Reset( vcddev_toc_t *toc )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/vcd/cdrom.h:117,1
    - Dst: free
      Src: /src/vlc/modules/access/vcd/cdrom.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - toc
    argTypes:
    - vcddev_toc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: vcddev_toc_Free
    functionSourceFile: /src/vlc/modules/access/vcd/cdrom.h
    functionUses: 6
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void vcddev_toc_Free( vcddev_toc_t *toc )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: darwin_freeTOC
    functionSourceFile: /src/vlc/modules/access/vcd/cdrom_internals.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: darwin_freeTOC( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: STRINGIFY
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRINGIFY( z )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: UGLY_KLUDGE
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UGLY_KLUDGE( z )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:68,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:69,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:70,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:71,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - mod
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: dvb_parse_modulation
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: ModulationType
    signature: ModulationType dvb_parse_modulation (const char *mod)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VLC_FEC
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:80,1
    - Dst: VLC_FEC
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:81,1
    - Dst: VLC_FEC
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:82,1
    - Dst: VLC_FEC
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:83,1
    - Dst: VLC_FEC
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - fec
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: dvb_parse_fec
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - VLC_FEC
    linkageType: ''
    returnType: BinaryConvolutionCodeRate
    signature: BinaryConvolutionCodeRate dvb_parse_fec (uint32_t fec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VLC_GUARD
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:93,1
    - Dst: VLC_GUARD
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:94,1
    - Dst: VLC_GUARD
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:95,1
    - Dst: VLC_GUARD
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - guard
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: dvb_parse_guard
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - VLC_GUARD
    linkageType: ''
    returnType: GuardInterval
    signature: GuardInterval dvb_parse_guard (uint32_t guard)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - transmit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: dvb_parse_transmission
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TransmissionMode
    signature: TransmissionMode dvb_parse_transmission (int transmit)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - hierarchy
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: dvb_parse_hierarchy
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HierarchyAlpha
    signature: HierarchyAlpha dvb_parse_hierarchy (int hierarchy)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - pol
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: dvb_parse_polarization
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Polarisation
    signature: Polarisation dvb_parse_polarization (char pol)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - inversion
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: dvb_parse_inversion
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SpectralInversion
    signature: SpectralInversion dvb_parse_inversion (int inversion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dvb_device_t::dvb_device_t
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:164,1
    - Dst: BDAGraph::BDAGraph
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 174
    functionName: dvb_open
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - dvb_device_t::dvb_device_t
    - BDAGraph::BDAGraph
    linkageType: ''
    returnType: dvb_device_t
    signature: dvb_device_t *dvb_open (vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - dvb_device_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: dvb_close
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dvb_close (dvb_device_t *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dvb_device_t*::module::Pop
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - d
    - buf
    - len
    - ms
    argTypes:
    - dvb_device_t*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: dvb_read
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - dvb_device_t*::module::Pop
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t dvb_read (dvb_device_t *d, void *buf, size_t len, int ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: dvb_add_pid
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dvb_add_pid (dvb_device_t *, uint16_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: dvb_remove_pid
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dvb_remove_pid (dvb_device_t *, uint16_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: dvb_get_pid_state
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dvb_get_pid_state (const dvb_device_t *, uint16_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dvb_device_t*::module::EnumSystems
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - dvb_device_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: dvb_enum_systems
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - dvb_device_t*::module::EnumSystems
    linkageType: ''
    returnType: unsigned
    signature: unsigned dvb_enum_systems (dvb_device_t *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dvb_device_t*::module::GetSignalStrength
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - dvb_device_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: dvb_get_signal_strength
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - dvb_device_t*::module::GetSignalStrength
    linkageType: ''
    returnType: float
    signature: float dvb_get_signal_strength (dvb_device_t *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dvb_device_t*::module::GetSignalNoiseRatio
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - dvb_device_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: dvb_get_snr
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - dvb_device_t*::module::GetSignalNoiseRatio
    linkageType: ''
    returnType: float
    signature: float dvb_get_snr (dvb_device_t *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dvb_device_t*::module::SetInversion
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - d
    - inversion
    argTypes:
    - dvb_device_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: dvb_set_inversion
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - dvb_device_t*::module::SetInversion
    linkageType: ''
    returnType: int
    signature: int dvb_set_inversion (dvb_device_t *d, int inversion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dvb_device_t*::module::SubmitTuneRequest
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - dvb_device_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: dvb_tune
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - dvb_device_t*::module::SubmitTuneRequest
    linkageType: ''
    returnType: int
    signature: int dvb_tune (dvb_device_t *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: dvb_fill_device_caps
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dvb_fill_device_caps( dvb_device_t *, dvb_device_caps_t * )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: dvb_set_ca_pmt
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dvb_set_ca_pmt (dvb_device_t *, const en50221_capmt_info_t *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dvb_device_t*::module::SetDVBC
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - d
    - freq
    - mod
    - srate
    argTypes:
    - dvb_device_t*
    - uint32_t
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: dvb_set_dvbc
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - dvb_device_t*::module::SetDVBC
    linkageType: ''
    returnType: int
    signature: "int dvb_set_dvbc (dvb_device_t *d, uint32_t freq, const char *mod,\n
      \                 uint32_t srate, uint32_t /*fec*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dvb_device_t*::module::SetDVBS
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - d
    - freq
    - srate
    - fec
    argTypes:
    - dvb_device_t*
    - uint64_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: dvb_set_dvbs
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - dvb_device_t*::module::SetDVBS
    linkageType: ''
    returnType: int
    signature: int dvb_set_dvbs (dvb_device_t *d, uint64_t freq, uint32_t srate, uint32_t
      fec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 268
    functionName: dvb_set_dvbs2
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int dvb_set_dvbs2 (dvb_device_t *, uint64_t /*freq*/, const char *
      /*mod*/,\n                   uint32_t /*srate*/, uint32_t /*fec*/, int /*pilot*/,
      int /*rolloff*/,\n                   uint8_t /*sid*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dvb_device_t*::module::SetDVBS
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - d
    - freq
    - pol
    - lowf
    - highf
    - switchf
    argTypes:
    - dvb_device_t*
    - uint64_t
    - char
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 281
    functionName: dvb_set_sec
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - dvb_device_t*::module::SetDVBS
    linkageType: ''
    returnType: int
    signature: "int dvb_set_sec (dvb_device_t *d, uint64_t freq, char pol,\n                 uint32_t
      lowf, uint32_t highf, uint32_t switchf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dvb_device_t*::module::SetDVBT
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - d
    - freq
    - fec_hp
    - fec_lp
    - bandwidth
    - transmission
    - guard
    - hierarchy
    argTypes:
    - dvb_device_t*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 291
    functionName: dvb_set_dvbt
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - dvb_device_t*::module::SetDVBT
    linkageType: ''
    returnType: int
    signature: "int dvb_set_dvbt (dvb_device_t *d, uint32_t freq, const char * /*mod*/,\n
      \                 uint32_t fec_hp, uint32_t fec_lp, uint32_t bandwidth,\n                  int
      transmission, uint32_t guard, int hierarchy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dvb_device_t*::module::SetDVBT2
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - d
    - freq
    - fec
    - bandwidth
    - transmission
    - guard
    - plp
    argTypes:
    - dvb_device_t*
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    - uint32_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 301
    functionName: dvb_set_dvbt2
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - dvb_device_t*::module::SetDVBT2
    linkageType: ''
    returnType: int
    signature: "int dvb_set_dvbt2 (dvb_device_t *d, uint32_t freq, const char * /*mod*/,\n
      \                  uint32_t fec, uint32_t bandwidth, int transmission,\n                   uint32_t
      guard, uint8_t plp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 308
    functionName: dvb_set_isdbc
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int dvb_set_isdbc (dvb_device_t *, uint32_t /*freq*/, const char *
      /*mod*/,\n                   uint32_t /*srate*/, uint32_t /*fec*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: dvb_set_isdbs
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dvb_set_isdbs (dvb_device_t *, uint64_t /*freq*/, uint16_t /*ts_id*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 322
    functionName: dvb_set_isdbt
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int dvb_set_isdbt (dvb_device_t *, uint32_t /*freq*/, uint32_t /*bandwidth*/,\n
      \                  int /*transmit_mode*/, uint32_t /*guard*/,\n                   const
      isdbt_layer_t /*layers*/[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dvb_device_t*::module::SetATSC
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - freq
    argTypes:
    - dvb_device_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 329
    functionName: dvb_set_atsc
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - dvb_device_t*::module::SetATSC
    linkageType: ''
    returnType: int
    signature: int dvb_set_atsc (dvb_device_t *d, uint32_t freq, const char * /*mod*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dvb_device_t*::module::SetCQAM
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - freq
    argTypes:
    - dvb_device_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 335
    functionName: dvb_set_cqam
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - dvb_device_t*::module::SetCQAM
    linkageType: ''
    returnType: int
    signature: int dvb_set_cqam (dvb_device_t *d, uint32_t freq, const char * /*mod*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:343,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 345
    functionName: BDAOutput::BDAOutput
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - vlc_cond_init
    - vlc_mutex_init
    linkageType: ''
    returnType: void
    signature: void BDAOutput::BDAOutput( )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BDAOutput::Empty
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: BDAOutput::~BDAOutput()
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - BDAOutput::Empty
    linkageType: ''
    returnType: void
    signature: void BDAOutput::~BDAOutput()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:356,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_block
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 358
    functionName: BDAOutput::Push
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - vlc_cond_signal
    - block_ChainLastAppend
    linkageType: ''
    returnType: void
    signature: void BDAOutput::Push( block_t *p_block )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:367,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:367,1
    - Dst: vlc_cond_timedwait
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:370,1
    - Dst: __MIN
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:377,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:378,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:388,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - buf
    - len
    - ms
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 399
    functionName: BDAOutput::Pop
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - block_Release
    - VLC_TICK_FROM_MS
    - memcpy
    - vlc_cond_timedwait
    - __MIN
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t BDAOutput::Pop(void *buf, size_t len, int ms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 409
    functionName: BDAOutput::Empty
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 1
    functionsReached:
    - block_ChainRelease
    linkageType: ''
    returnType: void
    signature: void BDAOutput::Empty()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 430
    functionName: BDAGraph::BDAGraph
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BDAGraph::BDAGraph( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BDAGraph::Destroy
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:437,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 444
    functionName: BDAGraph::~BDAGraph()
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - BDAGraph::Release
    - BDAGraph::Destroy
    linkageType: ''
    returnType: void
    signature: void BDAGraph::~BDAGraph()
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - clsid
    argTypes:
    - REFCLSID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 466
    functionName: BDAGraph::GetSystem
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned BDAGraph::GetSystem( REFCLSID clsid )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:485,1
    - Dst: BDAGraph::GetNextNetworkType
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:489,1
    - Dst: BDAGraph::Check
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:491,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:492,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:493,1
    - Dst: BDAGraph::Destroy
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:498,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:499,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 501
    functionName: BDAGraph::EnumSystems
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - BDAGraph::GetNextNetworkType
    - FAILED
    - BDAGraph::Check
    - msg_Dbg
    - BDAGraph::Destroy
    linkageType: ''
    returnType: unsigned
    signature: unsigned BDAGraph::EnumSystems()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 508
    functionName: BDAGraph::GetSignalNoiseRatio
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float BDAGraph::GetSignalNoiseRatio(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:514,1
    - Dst: get_SignalStrength
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:517,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:518,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:520,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:524,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 528
    functionName: BDAGraph::GetSignalStrength
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - get_SignalStrength
    - FAILED
    - msg_Dbg
    - msg_Warn
    linkageType: ''
    returnType: float
    signature: float BDAGraph::GetSignalStrength(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:540,1
    - Dst: BDAGraph::Build
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:542,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:543,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:545,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:549,1
    - Dst: BDAGraph::Start
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:551,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:552,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:554,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:561,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:563,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 569
    functionName: BDAGraph::SubmitTuneRequest
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - BDAGraph::Build
    - FAILED
    - BDAGraph::Start
    - msg_Dbg
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int BDAGraph::SubmitTuneRequest(void)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:592,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:594,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:596,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:601,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:602,1
    - Dst: BDAGraph::Check
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:605,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:606,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:608,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:615,1
    - Dst: get_TuneRequest
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:619,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:620,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:622,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*               p_tune_request;\n
        \       IDigitalCableTuneRequest*   p_cqam_tune_request;\n        IDigitalCableLocator*
        \      p_cqam_locator;\n        localComPtr():\n            p_tune_request(NULL),\n
        \           p_cqam_tune_request(NULL),\n            p_cqam_locator(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_cqam_tune_request
        )\n                p_cqam_tune_request->Release();\n            if( p_cqam_locator
        )\n                p_cqam_locator->Release();\n        }\n    }::p_tune_request::QueryInterface"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:627,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:627,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:628,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:630,1
    - Dst: ::CoCreateInstance
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:635,1
    - Dst: __uuidof
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:635,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:636,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:637,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:639,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:645,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*               p_tune_request;\n
        \       IDigitalCableTuneRequest*   p_cqam_tune_request;\n        IDigitalCableLocator*
        \      p_cqam_locator;\n        localComPtr():\n            p_tune_request(NULL),\n
        \           p_cqam_tune_request(NULL),\n            p_cqam_locator(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_cqam_tune_request
        )\n                p_cqam_tune_request->Release();\n            if( p_cqam_locator
        )\n                p_cqam_locator->Release();\n        }\n    }::p_cqam_locator::put_PhysicalChannel"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:646,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:647,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*               p_tune_request;\n
        \       IDigitalCableTuneRequest*   p_cqam_tune_request;\n        IDigitalCableLocator*
        \      p_cqam_locator;\n        localComPtr():\n            p_tune_request(NULL),\n
        \           p_cqam_tune_request(NULL),\n            p_cqam_locator(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_cqam_tune_request
        )\n                p_cqam_tune_request->Release();\n            if( p_cqam_locator
        )\n                p_cqam_locator->Release();\n        }\n    }::p_cqam_locator::put_CarrierFrequency"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:648,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:649,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*               p_tune_request;\n
        \       IDigitalCableTuneRequest*   p_cqam_tune_request;\n        IDigitalCableLocator*
        \      p_cqam_locator;\n        localComPtr():\n            p_tune_request(NULL),\n
        \           p_cqam_tune_request(NULL),\n            p_cqam_locator(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_cqam_tune_request
        )\n                p_cqam_tune_request->Release();\n            if( p_cqam_locator
        )\n                p_cqam_locator->Release();\n        }\n    }::p_cqam_tune_request::put_MinorChannel"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:650,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:651,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:653,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*               p_tune_request;\n
        \       IDigitalCableTuneRequest*   p_cqam_tune_request;\n        IDigitalCableLocator*
        \      p_cqam_locator;\n        localComPtr():\n            p_tune_request(NULL),\n
        \           p_cqam_tune_request(NULL),\n            p_cqam_locator(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_cqam_tune_request
        )\n                p_cqam_tune_request->Release();\n            if( p_cqam_locator
        )\n                p_cqam_locator->Release();\n        }\n    }::p_cqam_tune_request::put_Locator"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:658,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:659,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:661,1
    - Dst: Validate
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:666,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:667,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:669,1
    - Dst: put_TuneRequest
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:673,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:674,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:676,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 1
    argNames:
    - l_frequency
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 682
    functionName: BDAGraph::SetCQAM
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*               p_tune_request;\n
      \       IDigitalCableTuneRequest*   p_cqam_tune_request;\n        IDigitalCableLocator*
      \      p_cqam_locator;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_cqam_tune_request(NULL),\n            p_cqam_locator(NULL)\n            {};\n
      \       ~localComPtr()\n        {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_cqam_tune_request )\n                p_cqam_tune_request->Release();\n
      \           if( p_cqam_locator )\n                p_cqam_locator->Release();\n
      \       }\n    }::p_tune_request::QueryInterface"
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*               p_tune_request;\n
      \       IDigitalCableTuneRequest*   p_cqam_tune_request;\n        IDigitalCableLocator*
      \      p_cqam_locator;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_cqam_tune_request(NULL),\n            p_cqam_locator(NULL)\n            {};\n
      \       ~localComPtr()\n        {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_cqam_tune_request )\n                p_cqam_tune_request->Release();\n
      \           if( p_cqam_locator )\n                p_cqam_locator->Release();\n
      \       }\n    }::p_cqam_locator::put_CarrierFrequency"
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*               p_tune_request;\n
      \       IDigitalCableTuneRequest*   p_cqam_tune_request;\n        IDigitalCableLocator*
      \      p_cqam_locator;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_cqam_tune_request(NULL),\n            p_cqam_locator(NULL)\n            {};\n
      \       ~localComPtr()\n        {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_cqam_tune_request )\n                p_cqam_tune_request->Release();\n
      \           if( p_cqam_locator )\n                p_cqam_locator->Release();\n
      \       }\n    }::p_cqam_tune_request::put_Locator"
    - Validate
    - put_TuneRequest
    - FAILED
    - BDAGraph::Check
    - IID_PPV_ARGS
    - get_TuneRequest
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*               p_tune_request;\n
      \       IDigitalCableTuneRequest*   p_cqam_tune_request;\n        IDigitalCableLocator*
      \      p_cqam_locator;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_cqam_tune_request(NULL),\n            p_cqam_locator(NULL)\n            {};\n
      \       ~localComPtr()\n        {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_cqam_tune_request )\n                p_cqam_tune_request->Release();\n
      \           if( p_cqam_locator )\n                p_cqam_locator->Release();\n
      \       }\n    }::p_cqam_tune_request::put_MinorChannel"
    - BDAGraph::Release
    - msg_Dbg
    - __uuidof
    - SUCCEEDED
    - msg_Warn
    - var_GetInteger
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*               p_tune_request;\n
      \       IDigitalCableTuneRequest*   p_cqam_tune_request;\n        IDigitalCableLocator*
      \      p_cqam_locator;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_cqam_tune_request(NULL),\n            p_cqam_locator(NULL)\n            {};\n
      \       ~localComPtr()\n        {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_cqam_tune_request )\n                p_cqam_tune_request->Release();\n
      \           if( p_cqam_locator )\n                p_cqam_locator->Release();\n
      \       }\n    }::p_cqam_locator::put_PhysicalChannel"
    - ::CoCreateInstance
    linkageType: ''
    returnType: int
    signature: int BDAGraph::SetCQAM(long l_frequency)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 588
    functionName: localComPtr::localComPtr
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void localComPtr()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:592,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:594,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:596,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 597
    functionName: ~localComPtr()
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - Release
    linkageType: ''
    returnType: void
    signature: void ~localComPtr()
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:704,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:706,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:708,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:714,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:715,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:716,1
    - Dst: BDAGraph::Check
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:719,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:720,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:722,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:729,1
    - Dst: get_TuneRequest
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:733,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:734,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:736,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*               p_tune_request;\n
        \       IATSCChannelTuneRequest*    p_atsc_tune_request;\n        IATSCLocator*
        \              p_atsc_locator;\n        localComPtr():\n            p_tune_request(NULL),\n
        \           p_atsc_tune_request(NULL),\n            p_atsc_locator(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_atsc_tune_request
        )\n                p_atsc_tune_request->Release();\n            if( p_atsc_locator
        )\n                p_atsc_locator->Release();\n        }\n    }::p_tune_request::QueryInterface"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:741,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:741,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:742,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:744,1
    - Dst: ::CoCreateInstance
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:749,1
    - Dst: __uuidof
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:749,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:750,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:751,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:753,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*               p_tune_request;\n
        \       IATSCChannelTuneRequest*    p_atsc_tune_request;\n        IATSCLocator*
        \              p_atsc_locator;\n        localComPtr():\n            p_tune_request(NULL),\n
        \           p_atsc_tune_request(NULL),\n            p_atsc_locator(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_atsc_tune_request
        )\n                p_atsc_tune_request->Release();\n            if( p_atsc_locator
        )\n                p_atsc_locator->Release();\n        }\n    }::p_atsc_locator::put_CarrierFrequency"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:760,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*               p_tune_request;\n
        \       IATSCChannelTuneRequest*    p_atsc_tune_request;\n        IATSCLocator*
        \              p_atsc_locator;\n        localComPtr():\n            p_tune_request(NULL),\n
        \           p_atsc_tune_request(NULL),\n            p_atsc_locator(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_atsc_tune_request
        )\n                p_atsc_tune_request->Release();\n            if( p_atsc_locator
        )\n                p_atsc_locator->Release();\n        }\n    }::p_atsc_tune_request::put_Channel"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:762,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:763,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*               p_tune_request;\n
        \       IATSCChannelTuneRequest*    p_atsc_tune_request;\n        IATSCLocator*
        \              p_atsc_locator;\n        localComPtr():\n            p_tune_request(NULL),\n
        \           p_atsc_tune_request(NULL),\n            p_atsc_locator(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_atsc_tune_request
        )\n                p_atsc_tune_request->Release();\n            if( p_atsc_locator
        )\n                p_atsc_locator->Release();\n        }\n    }::p_atsc_tune_request::put_MinorChannel"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:764,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:765,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*               p_tune_request;\n
        \       IATSCChannelTuneRequest*    p_atsc_tune_request;\n        IATSCLocator*
        \              p_atsc_locator;\n        localComPtr():\n            p_tune_request(NULL),\n
        \           p_atsc_tune_request(NULL),\n            p_atsc_locator(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_atsc_tune_request
        )\n                p_atsc_tune_request->Release();\n            if( p_atsc_locator
        )\n                p_atsc_locator->Release();\n        }\n    }::p_atsc_locator::put_PhysicalChannel"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:766,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:767,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:769,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*               p_tune_request;\n
        \       IATSCChannelTuneRequest*    p_atsc_tune_request;\n        IATSCLocator*
        \              p_atsc_locator;\n        localComPtr():\n            p_tune_request(NULL),\n
        \           p_atsc_tune_request(NULL),\n            p_atsc_locator(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_atsc_tune_request
        )\n                p_atsc_tune_request->Release();\n            if( p_atsc_locator
        )\n                p_atsc_locator->Release();\n        }\n    }::p_atsc_tune_request::put_Locator"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:774,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:775,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:777,1
    - Dst: Validate
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:782,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:783,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:785,1
    - Dst: put_TuneRequest
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:789,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:790,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:792,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 64
    argCount: 1
    argNames:
    - l_frequency
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 798
    functionName: BDAGraph::SetATSC
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*               p_tune_request;\n
      \       IATSCChannelTuneRequest*    p_atsc_tune_request;\n        IATSCLocator*
      \              p_atsc_locator;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_atsc_tune_request(NULL),\n            p_atsc_locator(NULL)\n            {};\n
      \       ~localComPtr()\n        {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_atsc_tune_request )\n                p_atsc_tune_request->Release();\n
      \           if( p_atsc_locator )\n                p_atsc_locator->Release();\n
      \       }\n    }::p_atsc_locator::put_PhysicalChannel"
    - IID_PPV_ARGS
    - __uuidof
    - SUCCEEDED
    - var_GetInteger
    - ::CoCreateInstance
    - put_TuneRequest
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*               p_tune_request;\n
      \       IATSCChannelTuneRequest*    p_atsc_tune_request;\n        IATSCLocator*
      \              p_atsc_locator;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_atsc_tune_request(NULL),\n            p_atsc_locator(NULL)\n            {};\n
      \       ~localComPtr()\n        {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_atsc_tune_request )\n                p_atsc_tune_request->Release();\n
      \           if( p_atsc_locator )\n                p_atsc_locator->Release();\n
      \       }\n    }::p_atsc_locator::put_CarrierFrequency"
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*               p_tune_request;\n
      \       IATSCChannelTuneRequest*    p_atsc_tune_request;\n        IATSCLocator*
      \              p_atsc_locator;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_atsc_tune_request(NULL),\n            p_atsc_locator(NULL)\n            {};\n
      \       ~localComPtr()\n        {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_atsc_tune_request )\n                p_atsc_tune_request->Release();\n
      \           if( p_atsc_locator )\n                p_atsc_locator->Release();\n
      \       }\n    }::p_atsc_tune_request::put_Channel"
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*               p_tune_request;\n
      \       IATSCChannelTuneRequest*    p_atsc_tune_request;\n        IATSCLocator*
      \              p_atsc_locator;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_atsc_tune_request(NULL),\n            p_atsc_locator(NULL)\n            {};\n
      \       ~localComPtr()\n        {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_atsc_tune_request )\n                p_atsc_tune_request->Release();\n
      \           if( p_atsc_locator )\n                p_atsc_locator->Release();\n
      \       }\n    }::p_atsc_tune_request::put_MinorChannel"
    - msg_Dbg
    - msg_Warn
    - BDAGraph::Check
    - get_TuneRequest
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*               p_tune_request;\n
      \       IATSCChannelTuneRequest*    p_atsc_tune_request;\n        IATSCLocator*
      \              p_atsc_locator;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_atsc_tune_request(NULL),\n            p_atsc_locator(NULL)\n            {};\n
      \       ~localComPtr()\n        {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_atsc_tune_request )\n                p_atsc_tune_request->Release();\n
      \           if( p_atsc_locator )\n                p_atsc_locator->Release();\n
      \       }\n    }::p_atsc_tune_request::put_Locator"
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*               p_tune_request;\n
      \       IATSCChannelTuneRequest*    p_atsc_tune_request;\n        IATSCLocator*
      \              p_atsc_locator;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_atsc_tune_request(NULL),\n            p_atsc_locator(NULL)\n            {};\n
      \       ~localComPtr()\n        {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_atsc_tune_request )\n                p_atsc_tune_request->Release();\n
      \           if( p_atsc_locator )\n                p_atsc_locator->Release();\n
      \       }\n    }::p_tune_request::QueryInterface"
    - BDAGraph::Release
    - FAILED
    - Validate
    linkageType: ''
    returnType: int
    signature: int BDAGraph::SetATSC(long l_frequency)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 700
    functionName: localComPtr::localComPtr
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void localComPtr()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:704,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:706,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:708,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 709
    functionName: ~localComPtr()
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - Release
    linkageType: ''
    returnType: void
    signature: void ~localComPtr()
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:829,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:831,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:833,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:835,1
    - Dst: dvb_parse_fec
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:841,1
    - Dst: dvb_parse_fec
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:842,1
    - Dst: dvb_parse_guard
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:843,1
    - Dst: dvb_parse_transmission
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:844,1
    - Dst: dvb_parse_hierarchy
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:845,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:848,1
    - Dst: BDAGraph::Check
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:849,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:850,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:852,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:859,1
    - Dst: get_TuneRequest
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:863,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:864,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:866,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:871,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator*       p_dvbt_locator;\n
        \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n
        \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
        )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
        )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_tune_request::QueryInterface"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:872,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:872,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:873,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:875,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator*       p_dvbt_locator;\n
        \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n
        \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
        )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
        )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvb_tune_request::put_ONID"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:880,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator*       p_dvbt_locator;\n
        \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n
        \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
        )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
        )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvb_tune_request::put_SID"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:881,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator*       p_dvbt_locator;\n
        \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n
        \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
        )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
        )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvb_tune_request::put_TSID"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:882,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:884,1
    - Dst: get_TuningSpace
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:885,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:886,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:888,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:893,1
    - Dst: BDAGraph::QueryInterface
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:894,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:894,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:895,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:897,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:902,1
    - Dst: ::CoCreateInstance
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:903,1
    - Dst: __uuidof
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:903,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:904,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:905,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:907,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator*       p_dvbt_locator;\n
        \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n
        \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
        )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
        )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvb_tuning_space::put_SystemType"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:912,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:913,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator*       p_dvbt_locator;\n
        \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n
        \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
        )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
        )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvbt_locator::put_CarrierFrequency"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:914,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:915,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator*       p_dvbt_locator;\n
        \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n
        \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
        )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
        )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvbt_locator::put_Bandwidth"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:916,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:917,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator*       p_dvbt_locator;\n
        \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n
        \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
        )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
        )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvbt_locator::put_InnerFECRate"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:918,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:919,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator*       p_dvbt_locator;\n
        \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n
        \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
        )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
        )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvbt_locator::put_LPInnerFECRate"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:920,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:921,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator*       p_dvbt_locator;\n
        \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n
        \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
        )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
        )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvbt_locator::put_Guard"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:922,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:923,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator*       p_dvbt_locator;\n
        \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n
        \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
        )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
        )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvbt_locator::put_Mode"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:924,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:925,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator*       p_dvbt_locator;\n
        \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n
        \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
        )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
        )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvbt_locator::put_HAlpha"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:926,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:928,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:930,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:935,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator*       p_dvbt_locator;\n
        \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n
        \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
        )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
        )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvb_tune_request::put_Locator"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:937,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:938,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:940,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:945,1
    - Dst: Validate
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:946,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:947,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:949,1
    - Dst: put_TuneRequest
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:953,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:954,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:956,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:961,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 90
    argCount: 7
    argNames:
    - l_frequency
    - fec_hp
    - fec_lp
    - l_bandwidth
    - transmission
    - guard
    - hierarchy
    argTypes:
    - long
    - uint32_t
    - uint32_t
    - long
    - int
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 963
    functionName: BDAGraph::SetDVBT
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - dvb_parse_fec
    - dvb_parse_guard
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator*       p_dvbt_locator;\n
      \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_dvb_tune_request(NULL),\n            p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
      \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
      )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
      )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
      )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
      )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvbt_locator::put_HAlpha"
    - IID_PPV_ARGS
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator*       p_dvbt_locator;\n
      \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_dvb_tune_request(NULL),\n            p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
      \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
      )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
      )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
      )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
      )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvbt_locator::put_Guard"
    - __uuidof
    - SUCCEEDED
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator*       p_dvbt_locator;\n
      \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_dvb_tune_request(NULL),\n            p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
      \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
      )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
      )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
      )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
      )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvb_tune_request::put_Locator"
    - ::CoCreateInstance
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator*       p_dvbt_locator;\n
      \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_dvb_tune_request(NULL),\n            p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
      \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
      )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
      )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
      )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
      )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvbt_locator::put_InnerFECRate"
    - put_TuneRequest
    - msg_Dbg
    - msg_Warn
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator*       p_dvbt_locator;\n
      \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_dvb_tune_request(NULL),\n            p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
      \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
      )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
      )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
      )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
      )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvbt_locator::put_Bandwidth"
    - BDAGraph::Check
    - BDAGraph::QueryInterface
    - get_TuneRequest
    - BDAGraph::Release
    - dvb_parse_transmission
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator*       p_dvbt_locator;\n
      \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_dvb_tune_request(NULL),\n            p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
      \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
      )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
      )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
      )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
      )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvb_tune_request::put_SID"
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator*       p_dvbt_locator;\n
      \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_dvb_tune_request(NULL),\n            p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
      \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
      )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
      )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
      )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
      )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvb_tuning_space::put_SystemType"
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator*       p_dvbt_locator;\n
      \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_dvb_tune_request(NULL),\n            p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
      \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
      )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
      )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
      )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
      )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvb_tune_request::put_TSID"
    - get_TuningSpace
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator*       p_dvbt_locator;\n
      \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_dvb_tune_request(NULL),\n            p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
      \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
      )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
      )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
      )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
      )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvbt_locator::put_Mode"
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator*       p_dvbt_locator;\n
      \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_dvb_tune_request(NULL),\n            p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
      \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
      )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
      )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
      )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
      )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvbt_locator::put_LPInnerFECRate"
    - FAILED
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator*       p_dvbt_locator;\n
      \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_dvb_tune_request(NULL),\n            p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
      \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
      )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
      )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
      )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
      )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvbt_locator::put_CarrierFrequency"
    - dvb_parse_hierarchy
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator*       p_dvbt_locator;\n
      \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_dvb_tune_request(NULL),\n            p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
      \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
      )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
      )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
      )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
      )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_tune_request::QueryInterface"
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator*       p_dvbt_locator;\n
      \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_dvb_tune_request(NULL),\n            p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
      \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
      )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
      )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
      )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
      )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvb_tune_request::put_ONID"
    - Validate
    linkageType: ''
    returnType: int
    signature: "int BDAGraph::SetDVBT(long l_frequency, uint32_t fec_hp, uint32_t
      fec_lp,\n    long l_bandwidth, int transmission, uint32_t guard, int hierarchy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 825
    functionName: localComPtr::localComPtr
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void localComPtr()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:829,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:831,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:833,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:835,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 836
    functionName: ~localComPtr()
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - Release
    linkageType: ''
    returnType: void
    signature: void ~localComPtr()
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:994,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:996,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:998,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1000,1
    - Dst: dvb_parse_fec
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1006,1
    - Dst: dvb_parse_guard
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1007,1
    - Dst: dvb_parse_transmission
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1008,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1012,1
    - Dst: BDAGraph::Check
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1013,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1014,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1016,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1023,1
    - Dst: get_TuneRequest
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1027,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1028,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1030,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1035,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator2*       p_dvbt_locator;\n
        \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n
        \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
        )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
        )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_tune_request::QueryInterface"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1036,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1036,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1037,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1039,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator2*       p_dvbt_locator;\n
        \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n
        \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
        )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
        )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvb_tune_request::put_ONID"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1044,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator2*       p_dvbt_locator;\n
        \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n
        \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
        )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
        )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvb_tune_request::put_SID"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1045,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator2*       p_dvbt_locator;\n
        \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n
        \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
        )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
        )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvb_tune_request::put_TSID"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1046,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1048,1
    - Dst: get_TuningSpace
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1049,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1050,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1052,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1057,1
    - Dst: BDAGraph::QueryInterface
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1058,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1058,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1059,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1061,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1066,1
    - Dst: ::CoCreateInstance
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1068,1
    - Dst: __uuidof
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1068,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1069,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1072,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1074,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator2*       p_dvbt_locator;\n
        \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n
        \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
        )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
        )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvb_tuning_space::put_SystemType"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1079,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1080,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator2*       p_dvbt_locator;\n
        \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n
        \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
        )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
        )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvbt_locator::put_CarrierFrequency"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1081,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1082,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator2*       p_dvbt_locator;\n
        \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n
        \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
        )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
        )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvbt_locator::put_Bandwidth"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1083,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1084,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator2*       p_dvbt_locator;\n
        \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n
        \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
        )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
        )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvbt_locator::put_InnerFECRate"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1085,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1086,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator2*       p_dvbt_locator;\n
        \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n
        \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
        )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
        )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvbt_locator::put_LPInnerFECRate"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1087,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1088,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator2*       p_dvbt_locator;\n
        \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n
        \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
        )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
        )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvbt_locator::put_Guard"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1089,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1090,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator2*       p_dvbt_locator;\n
        \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n
        \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
        )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
        )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvbt_locator::put_Mode"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1091,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1092,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator2*       p_dvbt_locator;\n
        \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n
        \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
        )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
        )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvbt_locator::put_PhysicalLayerPipeId"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1093,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1096,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1098,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1103,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator2*       p_dvbt_locator;\n
        \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n
        \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
        )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
        )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvb_tune_request::put_Locator"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1105,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1106,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1108,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1113,1
    - Dst: Validate
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1114,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1115,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1117,1
    - Dst: put_TuneRequest
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1121,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1122,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1124,1
    - Dst: BDAGraph::FindPinOnFilter
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1131,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1134,1
    - Dst: IPin*::QueryInterface
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1136,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1136,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1137,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1139,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1143,1
    - Dst: ZeroMemory
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1145,1
    - Dst: ComPtr::Set
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1147,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1153,1
    - Dst: IPin*::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1155,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1159,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1162,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 107
    argCount: 6
    argNames:
    - l_frequency
    - fec
    - l_bandwidth
    - transmission
    - guard
    - plp
    argTypes:
    - long
    - uint32_t
    - long
    - int
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 973
    functionDepth: 1
    functionLinenumber: 973
    functionLinenumberEnd: 1164
    functionName: BDAGraph::SetDVBT2
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator2*       p_dvbt_locator;\n
      \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_dvb_tune_request(NULL),\n            p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
      \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
      )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
      )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
      )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
      )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvb_tune_request::put_Locator"
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator2*       p_dvbt_locator;\n
      \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_dvb_tune_request(NULL),\n            p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
      \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
      )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
      )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
      )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
      )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_tune_request::QueryInterface"
    - dvb_parse_fec
    - dvb_parse_guard
    - IID_PPV_ARGS
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator2*       p_dvbt_locator;\n
      \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_dvb_tune_request(NULL),\n            p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
      \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
      )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
      )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
      )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
      )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvb_tune_request::put_TSID"
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator2*       p_dvbt_locator;\n
      \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_dvb_tune_request(NULL),\n            p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
      \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
      )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
      )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
      )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
      )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvb_tuning_space::put_SystemType"
    - IPin*::Release
    - __uuidof
    - SUCCEEDED
    - ::CoCreateInstance
    - ZeroMemory
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator2*       p_dvbt_locator;\n
      \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_dvb_tune_request(NULL),\n            p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
      \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
      )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
      )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
      )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
      )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvbt_locator::put_Bandwidth"
    - put_TuneRequest
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator2*       p_dvbt_locator;\n
      \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_dvb_tune_request(NULL),\n            p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
      \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
      )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
      )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
      )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
      )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvbt_locator::put_CarrierFrequency"
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator2*       p_dvbt_locator;\n
      \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_dvb_tune_request(NULL),\n            p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
      \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
      )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
      )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
      )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
      )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvbt_locator::put_Guard"
    - msg_Dbg
    - msg_Warn
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator2*       p_dvbt_locator;\n
      \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_dvb_tune_request(NULL),\n            p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
      \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
      )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
      )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
      )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
      )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvb_tune_request::put_ONID"
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator2*       p_dvbt_locator;\n
      \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_dvb_tune_request(NULL),\n            p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
      \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
      )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
      )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
      )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
      )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvbt_locator::put_LPInnerFECRate"
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator2*       p_dvbt_locator;\n
      \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_dvb_tune_request(NULL),\n            p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
      \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
      )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
      )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
      )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
      )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvbt_locator::put_PhysicalLayerPipeId"
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator2*       p_dvbt_locator;\n
      \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_dvb_tune_request(NULL),\n            p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
      \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
      )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
      )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
      )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
      )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvb_tune_request::put_SID"
    - BDAGraph::FindPinOnFilter
    - BDAGraph::Check
    - BDAGraph::QueryInterface
    - get_TuneRequest
    - IPin*::QueryInterface
    - BDAGraph::Release
    - dvb_parse_transmission
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator2*       p_dvbt_locator;\n
      \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_dvb_tune_request(NULL),\n            p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
      \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
      )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
      )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
      )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
      )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvbt_locator::put_InnerFECRate"
    - ComPtr::Set
    - get_TuningSpace
    - FAILED
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBTLocator2*       p_dvbt_locator;\n
      \       IDVBTuningSpace2*   p_dvb_tuning_space;\n        localComPtr():\n            p_tune_request(NULL),\n
      \           p_dvb_tune_request(NULL),\n            p_dvbt_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
      \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
      )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
      )\n                p_dvb_tune_request->Release();\n            if( p_dvbt_locator
      )\n                p_dvbt_locator->Release();\n            if( p_dvb_tuning_space
      )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvbt_locator::put_Mode"
    - Validate
    linkageType: ''
    returnType: int
    signature: "int BDAGraph::SetDVBT2(long l_frequency, uint32_t fec,\n    long l_bandwidth,
      int transmission, uint32_t guard, int plp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 990
    functionName: localComPtr::localComPtr
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void localComPtr()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:994,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:996,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:998,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1000,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 1001
    functionName: ~localComPtr()
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - Release
    linkageType: ''
    returnType: void
    signature: void ~localComPtr()
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1191,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1193,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1195,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1197,1
    - Dst: dvb_parse_modulation
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1201,1
    - Dst: BDAGraph::Check
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1204,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1205,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1207,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1209,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1214,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1217,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1221,1
    - Dst: get_TuneRequest
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1222,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1223,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1225,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1230,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBCLocator*       p_dvbc_locator;\n
        \       IDVBTuningSpace2*   p_dvb_tuning_space;\n\n        localComPtr():\n
        \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbc_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_dvbc_locator
        )\n                p_dvbc_locator->Release();\n            if( p_dvb_tuning_space
        )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_tune_request::QueryInterface"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1231,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1231,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1232,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1234,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBCLocator*       p_dvbc_locator;\n
        \       IDVBTuningSpace2*   p_dvb_tuning_space;\n\n        localComPtr():\n
        \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbc_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_dvbc_locator
        )\n                p_dvbc_locator->Release();\n            if( p_dvb_tuning_space
        )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvb_tune_request::put_ONID"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1239,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBCLocator*       p_dvbc_locator;\n
        \       IDVBTuningSpace2*   p_dvb_tuning_space;\n\n        localComPtr():\n
        \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbc_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_dvbc_locator
        )\n                p_dvbc_locator->Release();\n            if( p_dvb_tuning_space
        )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvb_tune_request::put_SID"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1240,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBCLocator*       p_dvbc_locator;\n
        \       IDVBTuningSpace2*   p_dvb_tuning_space;\n\n        localComPtr():\n
        \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbc_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_dvbc_locator
        )\n                p_dvbc_locator->Release();\n            if( p_dvb_tuning_space
        )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvb_tune_request::put_TSID"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1241,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1243,1
    - Dst: ::CoCreateInstance
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1244,1
    - Dst: __uuidof
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1244,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1245,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1246,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1248,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1254,1
    - Dst: get_TuningSpace
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1255,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1256,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1258,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1263,1
    - Dst: BDAGraph::QueryInterface
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1264,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1264,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1265,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1267,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1272,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBCLocator*       p_dvbc_locator;\n
        \       IDVBTuningSpace2*   p_dvb_tuning_space;\n\n        localComPtr():\n
        \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbc_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_dvbc_locator
        )\n                p_dvbc_locator->Release();\n            if( p_dvb_tuning_space
        )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvb_tuning_space::put_SystemType"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1274,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1276,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBCLocator*       p_dvbc_locator;\n
        \       IDVBTuningSpace2*   p_dvb_tuning_space;\n\n        localComPtr():\n
        \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbc_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_dvbc_locator
        )\n                p_dvbc_locator->Release();\n            if( p_dvb_tuning_space
        )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvbc_locator::put_CarrierFrequency"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1277,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1278,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBCLocator*       p_dvbc_locator;\n
        \       IDVBTuningSpace2*   p_dvb_tuning_space;\n\n        localComPtr():\n
        \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbc_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_dvbc_locator
        )\n                p_dvbc_locator->Release();\n            if( p_dvb_tuning_space
        )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvbc_locator::put_SymbolRate"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1279,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1280,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBCLocator*       p_dvbc_locator;\n
        \       IDVBTuningSpace2*   p_dvb_tuning_space;\n\n        localComPtr():\n
        \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbc_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_dvbc_locator
        )\n                p_dvbc_locator->Release();\n            if( p_dvb_tuning_space
        )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvbc_locator::put_Modulation"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1281,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1283,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1285,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1290,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBCLocator*       p_dvbc_locator;\n
        \       IDVBTuningSpace2*   p_dvb_tuning_space;\n\n        localComPtr():\n
        \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbc_locator(NULL),\n            p_dvb_tuning_space(NULL)\n
        \           {};\n        ~localComPtr()\n        {\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_dvbc_locator
        )\n                p_dvbc_locator->Release();\n            if( p_dvb_tuning_space
        )\n                p_dvb_tuning_space->Release();\n        }\n    }::p_dvb_tune_request::put_Locator"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1291,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1292,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1294,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1299,1
    - Dst: Validate
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1300,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1301,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1303,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1308,1
    - Dst: put_TuneRequest
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1309,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1310,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1312,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1316,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 87
    argCount: 3
    argNames:
    - l_frequency
    - mod
    - l_symbolrate
    argTypes:
    - long
    - char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1319
    functionName: BDAGraph::SetDVBC
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - dvb_parse_modulation
    - IID_PPV_ARGS
    - __uuidof
    - SUCCEEDED
    - ::CoCreateInstance
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBCLocator*       p_dvbc_locator;\n
      \       IDVBTuningSpace2*   p_dvb_tuning_space;\n\n        localComPtr():\n
      \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n            p_dvbc_locator(NULL),\n
      \           p_dvb_tuning_space(NULL)\n            {};\n        ~localComPtr()\n
      \       {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_dvbc_locator )\n                p_dvbc_locator->Release();\n
      \           if( p_dvb_tuning_space )\n                p_dvb_tuning_space->Release();\n
      \       }\n    }::p_dvb_tuning_space::put_SystemType"
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBCLocator*       p_dvbc_locator;\n
      \       IDVBTuningSpace2*   p_dvb_tuning_space;\n\n        localComPtr():\n
      \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n            p_dvbc_locator(NULL),\n
      \           p_dvb_tuning_space(NULL)\n            {};\n        ~localComPtr()\n
      \       {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_dvbc_locator )\n                p_dvbc_locator->Release();\n
      \           if( p_dvb_tuning_space )\n                p_dvb_tuning_space->Release();\n
      \       }\n    }::p_dvbc_locator::put_Modulation"
    - put_TuneRequest
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBCLocator*       p_dvbc_locator;\n
      \       IDVBTuningSpace2*   p_dvb_tuning_space;\n\n        localComPtr():\n
      \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n            p_dvbc_locator(NULL),\n
      \           p_dvb_tuning_space(NULL)\n            {};\n        ~localComPtr()\n
      \       {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_dvbc_locator )\n                p_dvbc_locator->Release();\n
      \           if( p_dvb_tuning_space )\n                p_dvb_tuning_space->Release();\n
      \       }\n    }::p_dvbc_locator::put_SymbolRate"
    - msg_Dbg
    - msg_Warn
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBCLocator*       p_dvbc_locator;\n
      \       IDVBTuningSpace2*   p_dvb_tuning_space;\n\n        localComPtr():\n
      \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n            p_dvbc_locator(NULL),\n
      \           p_dvb_tuning_space(NULL)\n            {};\n        ~localComPtr()\n
      \       {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_dvbc_locator )\n                p_dvbc_locator->Release();\n
      \           if( p_dvb_tuning_space )\n                p_dvb_tuning_space->Release();\n
      \       }\n    }::p_dvb_tune_request::put_TSID"
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBCLocator*       p_dvbc_locator;\n
      \       IDVBTuningSpace2*   p_dvb_tuning_space;\n\n        localComPtr():\n
      \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n            p_dvbc_locator(NULL),\n
      \           p_dvb_tuning_space(NULL)\n            {};\n        ~localComPtr()\n
      \       {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_dvbc_locator )\n                p_dvbc_locator->Release();\n
      \           if( p_dvb_tuning_space )\n                p_dvb_tuning_space->Release();\n
      \       }\n    }::p_dvb_tune_request::put_Locator"
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBCLocator*       p_dvbc_locator;\n
      \       IDVBTuningSpace2*   p_dvb_tuning_space;\n\n        localComPtr():\n
      \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n            p_dvbc_locator(NULL),\n
      \           p_dvb_tuning_space(NULL)\n            {};\n        ~localComPtr()\n
      \       {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_dvbc_locator )\n                p_dvbc_locator->Release();\n
      \           if( p_dvb_tuning_space )\n                p_dvb_tuning_space->Release();\n
      \       }\n    }::p_dvb_tune_request::put_ONID"
    - BDAGraph::Check
    - BDAGraph::QueryInterface
    - get_TuneRequest
    - BDAGraph::Release
    - Validate
    - get_TuningSpace
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBCLocator*       p_dvbc_locator;\n
      \       IDVBTuningSpace2*   p_dvb_tuning_space;\n\n        localComPtr():\n
      \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n            p_dvbc_locator(NULL),\n
      \           p_dvb_tuning_space(NULL)\n            {};\n        ~localComPtr()\n
      \       {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_dvbc_locator )\n                p_dvbc_locator->Release();\n
      \           if( p_dvb_tuning_space )\n                p_dvb_tuning_space->Release();\n
      \       }\n    }::p_dvb_tune_request::put_SID"
    - FAILED
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBCLocator*       p_dvbc_locator;\n
      \       IDVBTuningSpace2*   p_dvb_tuning_space;\n\n        localComPtr():\n
      \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n            p_dvbc_locator(NULL),\n
      \           p_dvb_tuning_space(NULL)\n            {};\n        ~localComPtr()\n
      \       {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_dvbc_locator )\n                p_dvbc_locator->Release();\n
      \           if( p_dvb_tuning_space )\n                p_dvb_tuning_space->Release();\n
      \       }\n    }::p_dvbc_locator::put_CarrierFrequency"
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBCLocator*       p_dvbc_locator;\n
      \       IDVBTuningSpace2*   p_dvb_tuning_space;\n\n        localComPtr():\n
      \           p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n            p_dvbc_locator(NULL),\n
      \           p_dvb_tuning_space(NULL)\n            {};\n        ~localComPtr()\n
      \       {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_dvbc_locator )\n                p_dvbc_locator->Release();\n
      \           if( p_dvb_tuning_space )\n                p_dvb_tuning_space->Release();\n
      \       }\n    }::p_tune_request::QueryInterface"
    linkageType: ''
    returnType: int
    signature: int BDAGraph::SetDVBC(long l_frequency, const char *mod, long l_symbolrate)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1182
    functionDepth: 0
    functionLinenumber: 1182
    functionLinenumberEnd: 1187
    functionName: localComPtr::localComPtr
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void localComPtr()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1191,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1193,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1195,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1188
    functionDepth: 0
    functionLinenumber: 1188
    functionLinenumberEnd: 1198
    functionName: ~localComPtr()
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - Release
    linkageType: ''
    returnType: void
    signature: void ~localComPtr()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1337,1
    - Dst: dvb_parse_inversion
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1341,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1345,1
    - Dst: BDAGraph::GetSystem
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1354,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1356,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1360,1
    - Dst: get_TuningSpace
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1361,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1362,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1364,1
    - Dst: BDAGraph::QueryInterface
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1369,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1369,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1370,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1372,1
    - Dst: "class localComPtr\n    {\n        public:\n        IDVBSTuningSpace*   p_dvbs_tuning_space;\n
        \       localComPtr() :\n            p_dvbs_tuning_space(NULL)\n        {}\n
        \       ~localComPtr()\n        {\n            if( p_dvbs_tuning_space )\n
        \               p_dvbs_tuning_space->Release();\n        }\n    }::p_dvbs_tuning_space::put_SpectralInversion"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1378,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1379,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1381,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - inversion
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1324
    functionDepth: 1
    functionLinenumber: 1324
    functionLinenumberEnd: 1387
    functionName: BDAGraph::SetInversion
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - get_TuningSpace
    - BDAGraph::GetSystem
    - FAILED
    - BDAGraph::QueryInterface
    - IID_PPV_ARGS
    - BDAGraph::Release
    - msg_Dbg
    - "class localComPtr\n    {\n        public:\n        IDVBSTuningSpace*   p_dvbs_tuning_space;\n
      \       localComPtr() :\n            p_dvbs_tuning_space(NULL)\n        {}\n
      \       ~localComPtr()\n        {\n            if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
      \       }\n    }::p_dvbs_tuning_space::put_SpectralInversion"
    - msg_Warn
    - dvb_parse_inversion
    linkageType: ''
    returnType: int
    signature: int BDAGraph::SetInversion(int inversion)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1331
    functionDepth: 0
    functionLinenumber: 1331
    functionLinenumberEnd: 1333
    functionName: localComPtr::localComPtr
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void localComPtr()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1334
    functionDepth: 0
    functionLinenumber: 1334
    functionLinenumberEnd: 1338
    functionName: ~localComPtr()
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - Release
    linkageType: ''
    returnType: void
    signature: void ~localComPtr()
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1424,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1426,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1428,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1430,1
    - Dst: SysFreeString
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1431,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1434,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1435,1
    - Dst: dvb_parse_fec
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1442,1
    - Dst: dvb_parse_polarization
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1443,1
    - Dst: dvb_parse_inversion
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1444,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1446,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1447,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1448,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1449,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1451,1
    - Dst: abort
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1452,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1456,1
    - Dst: MultiByteToWideChar
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1457,1
    - Dst: WCHAR::WCHAR
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1461,1
    - Dst: MultiByteToWideChar
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1462,1
    - Dst: SysAllocString
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1464,1
    - Dst: BDAGraph::Check
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1468,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1469,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1471,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1478,1
    - Dst: get_TuneRequest
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1482,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1483,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1485,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
        \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
        \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
        \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
        \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
        \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n
        \           bstr_input_range(NULL),\n            pwsz_input_range(NULL),\n
        \           i_range_len(0)\n        {}\n        ~localComPtr()\n        {\n
        \           if( p_tune_request )\n                p_tune_request->Release();\n
        \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
        \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
        \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
        \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
        )\n                delete[] pwsz_input_range;\n            free( psz_input_range
        );\n            free( psz_polarisation );\n        }\n    }::p_tune_request::QueryInterface"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1490,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1490,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1491,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1493,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
        \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
        \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
        \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
        \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
        \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n
        \           bstr_input_range(NULL),\n            pwsz_input_range(NULL),\n
        \           i_range_len(0)\n        {}\n        ~localComPtr()\n        {\n
        \           if( p_tune_request )\n                p_tune_request->Release();\n
        \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
        \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
        \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
        \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
        )\n                delete[] pwsz_input_range;\n            free( psz_input_range
        );\n            free( psz_polarisation );\n        }\n    }::p_dvb_tune_request::put_ONID"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1498,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
        \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
        \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
        \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
        \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
        \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n
        \           bstr_input_range(NULL),\n            pwsz_input_range(NULL),\n
        \           i_range_len(0)\n        {}\n        ~localComPtr()\n        {\n
        \           if( p_tune_request )\n                p_tune_request->Release();\n
        \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
        \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
        \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
        \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
        )\n                delete[] pwsz_input_range;\n            free( psz_input_range
        );\n            free( psz_polarisation );\n        }\n    }::p_dvb_tune_request::put_SID"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1499,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
        \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
        \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
        \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
        \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
        \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n
        \           bstr_input_range(NULL),\n            pwsz_input_range(NULL),\n
        \           i_range_len(0)\n        {}\n        ~localComPtr()\n        {\n
        \           if( p_tune_request )\n                p_tune_request->Release();\n
        \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
        \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
        \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
        \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
        )\n                delete[] pwsz_input_range;\n            free( psz_input_range
        );\n            free( psz_polarisation );\n        }\n    }::p_dvb_tune_request::put_TSID"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1500,1
    - Dst: ::CoCreateInstance
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1502,1
    - Dst: __uuidof
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1502,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1503,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1504,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1506,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1511,1
    - Dst: get_TuningSpace
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1512,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1513,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1515,1
    - Dst: BDAGraph::QueryInterface
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1520,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1520,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1521,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1523,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
        \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
        \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
        \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
        \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
        \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n
        \           bstr_input_range(NULL),\n            pwsz_input_range(NULL),\n
        \           i_range_len(0)\n        {}\n        ~localComPtr()\n        {\n
        \           if( p_tune_request )\n                p_tune_request->Release();\n
        \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
        \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
        \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
        \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
        )\n                delete[] pwsz_input_range;\n            free( psz_input_range
        );\n            free( psz_polarisation );\n        }\n    }::p_dvbs_tuning_space::put_SystemType"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1528,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1529,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
        \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
        \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
        \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
        \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
        \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n
        \           bstr_input_range(NULL),\n            pwsz_input_range(NULL),\n
        \           i_range_len(0)\n        {}\n        ~localComPtr()\n        {\n
        \           if( p_tune_request )\n                p_tune_request->Release();\n
        \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
        \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
        \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
        \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
        )\n                delete[] pwsz_input_range;\n            free( psz_input_range
        );\n            free( psz_polarisation );\n        }\n    }::p_dvbs_tuning_space::put_LowOscillator"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1530,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1531,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
        \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
        \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
        \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
        \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
        \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n
        \           bstr_input_range(NULL),\n            pwsz_input_range(NULL),\n
        \           i_range_len(0)\n        {}\n        ~localComPtr()\n        {\n
        \           if( p_tune_request )\n                p_tune_request->Release();\n
        \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
        \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
        \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
        \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
        )\n                delete[] pwsz_input_range;\n            free( psz_input_range
        );\n            free( psz_polarisation );\n        }\n    }::p_dvbs_tuning_space::put_LNBSwitch"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1532,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1533,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
        \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
        \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
        \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
        \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
        \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n
        \           bstr_input_range(NULL),\n            pwsz_input_range(NULL),\n
        \           i_range_len(0)\n        {}\n        ~localComPtr()\n        {\n
        \           if( p_tune_request )\n                p_tune_request->Release();\n
        \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
        \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
        \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
        \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
        )\n                delete[] pwsz_input_range;\n            free( psz_input_range
        );\n            free( psz_polarisation );\n        }\n    }::p_dvbs_tuning_space::put_HighOscillator"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1534,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1535,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
        \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
        \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
        \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
        \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
        \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n
        \           bstr_input_range(NULL),\n            pwsz_input_range(NULL),\n
        \           i_range_len(0)\n        {}\n        ~localComPtr()\n        {\n
        \           if( p_tune_request )\n                p_tune_request->Release();\n
        \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
        \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
        \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
        \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
        )\n                delete[] pwsz_input_range;\n            free( psz_input_range
        );\n            free( psz_polarisation );\n        }\n    }::p_dvbs_tuning_space::put_SpectralInversion"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1536,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1537,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
        \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
        \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
        \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
        \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
        \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n
        \           bstr_input_range(NULL),\n            pwsz_input_range(NULL),\n
        \           i_range_len(0)\n        {}\n        ~localComPtr()\n        {\n
        \           if( p_tune_request )\n                p_tune_request->Release();\n
        \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
        \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
        \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
        \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
        )\n                delete[] pwsz_input_range;\n            free( psz_input_range
        );\n            free( psz_polarisation );\n        }\n    }::p_dvbs_tuning_space::put_NetworkID"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1538,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1539,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
        \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
        \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
        \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
        \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
        \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n
        \           bstr_input_range(NULL),\n            pwsz_input_range(NULL),\n
        \           i_range_len(0)\n        {}\n        ~localComPtr()\n        {\n
        \           if( p_tune_request )\n                p_tune_request->Release();\n
        \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
        \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
        \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
        \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
        )\n                delete[] pwsz_input_range;\n            free( psz_input_range
        );\n            free( psz_polarisation );\n        }\n    }::p_dvbs_tuning_space::put_InputRange"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1540,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1542,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
        \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
        \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
        \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
        \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
        \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n
        \           bstr_input_range(NULL),\n            pwsz_input_range(NULL),\n
        \           i_range_len(0)\n        {}\n        ~localComPtr()\n        {\n
        \           if( p_tune_request )\n                p_tune_request->Release();\n
        \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
        \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
        \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
        \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
        )\n                delete[] pwsz_input_range;\n            free( psz_input_range
        );\n            free( psz_polarisation );\n        }\n    }::p_dvbs_locator::put_CarrierFrequency"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1543,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1544,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
        \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
        \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
        \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
        \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
        \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n
        \           bstr_input_range(NULL),\n            pwsz_input_range(NULL),\n
        \           i_range_len(0)\n        {}\n        ~localComPtr()\n        {\n
        \           if( p_tune_request )\n                p_tune_request->Release();\n
        \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
        \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
        \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
        \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
        )\n                delete[] pwsz_input_range;\n            free( psz_input_range
        );\n            free( psz_polarisation );\n        }\n    }::p_dvbs_locator::put_SymbolRate"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1545,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1546,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
        \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
        \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
        \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
        \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
        \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n
        \           bstr_input_range(NULL),\n            pwsz_input_range(NULL),\n
        \           i_range_len(0)\n        {}\n        ~localComPtr()\n        {\n
        \           if( p_tune_request )\n                p_tune_request->Release();\n
        \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
        \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
        \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
        \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
        )\n                delete[] pwsz_input_range;\n            free( psz_input_range
        );\n            free( psz_polarisation );\n        }\n    }::p_dvbs_locator::put_SignalPolarisation"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1547,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1548,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
        \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
        \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
        \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
        \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
        \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n
        \           bstr_input_range(NULL),\n            pwsz_input_range(NULL),\n
        \           i_range_len(0)\n        {}\n        ~localComPtr()\n        {\n
        \           if( p_tune_request )\n                p_tune_request->Release();\n
        \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
        \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
        \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
        \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
        )\n                delete[] pwsz_input_range;\n            free( psz_input_range
        );\n            free( psz_polarisation );\n        }\n    }::p_dvbs_locator::put_Modulation"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1549,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1550,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
        \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
        \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
        \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
        \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
        \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n
        \           bstr_input_range(NULL),\n            pwsz_input_range(NULL),\n
        \           i_range_len(0)\n        {}\n        ~localComPtr()\n        {\n
        \           if( p_tune_request )\n                p_tune_request->Release();\n
        \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
        \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
        \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
        \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
        )\n                delete[] pwsz_input_range;\n            free( psz_input_range
        );\n            free( psz_polarisation );\n        }\n    }::p_dvbs_locator::put_InnerFECRate"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1551,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1553,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
        \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
        \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
        \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
        \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
        \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n
        \           bstr_input_range(NULL),\n            pwsz_input_range(NULL),\n
        \           i_range_len(0)\n        {}\n        ~localComPtr()\n        {\n
        \           if( p_tune_request )\n                p_tune_request->Release();\n
        \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
        \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
        \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
        \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
        )\n                delete[] pwsz_input_range;\n            free( psz_input_range
        );\n            free( psz_polarisation );\n        }\n    }::p_dvbs_locator::put_Azimuth"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1554,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1555,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
        \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
        \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
        \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
        \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
        \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n
        \           bstr_input_range(NULL),\n            pwsz_input_range(NULL),\n
        \           i_range_len(0)\n        {}\n        ~localComPtr()\n        {\n
        \           if( p_tune_request )\n                p_tune_request->Release();\n
        \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
        \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
        \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
        \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
        )\n                delete[] pwsz_input_range;\n            free( psz_input_range
        );\n            free( psz_polarisation );\n        }\n    }::p_dvbs_locator::put_Elevation"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1556,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1557,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
        \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
        \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
        \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
        \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
        \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n
        \           bstr_input_range(NULL),\n            pwsz_input_range(NULL),\n
        \           i_range_len(0)\n        {}\n        ~localComPtr()\n        {\n
        \           if( p_tune_request )\n                p_tune_request->Release();\n
        \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
        \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
        \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
        \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
        )\n                delete[] pwsz_input_range;\n            free( psz_input_range
        );\n            free( psz_polarisation );\n        }\n    }::p_dvbs_locator::put_WestPosition"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1558,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1559,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
        \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
        \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
        \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
        \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
        \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n
        \           bstr_input_range(NULL),\n            pwsz_input_range(NULL),\n
        \           i_range_len(0)\n        {}\n        ~localComPtr()\n        {\n
        \           if( p_tune_request )\n                p_tune_request->Release();\n
        \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
        \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
        \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
        \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
        )\n                delete[] pwsz_input_range;\n            free( psz_input_range
        );\n            free( psz_polarisation );\n        }\n    }::p_dvbs_locator::put_OrbitalPosition"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1560,1
    - Dst: labs
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1560,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1562,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1564,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
        \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
        \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
        \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
        \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
        \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
        \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
        \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n
        \           bstr_input_range(NULL),\n            pwsz_input_range(NULL),\n
        \           i_range_len(0)\n        {}\n        ~localComPtr()\n        {\n
        \           if( p_tune_request )\n                p_tune_request->Release();\n
        \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
        \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
        \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
        \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
        )\n                delete[] pwsz_input_range;\n            free( psz_input_range
        );\n            free( psz_polarisation );\n        }\n    }::p_dvb_tune_request::put_Locator"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1569,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1570,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1572,1
    - Dst: Validate
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1577,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1578,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1580,1
    - Dst: put_TuneRequest
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1585,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1586,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1588,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 118
    argCount: 8
    argNames:
    - l_frequency
    - l_symbolrate
    - fec
    - inversion
    - pol
    - l_lnb_lof1
    - l_lnb_lof2
    - l_lnb_slof
    argTypes:
    - long
    - long
    - uint32_t
    - int
    - char
    - long
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1392
    functionDepth: 2
    functionLinenumber: 1392
    functionLinenumberEnd: 1594
    functionName: BDAGraph::SetDVBS
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
      \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
      \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
      \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
      \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
      \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
      \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n            bstr_input_range(NULL),\n
      \           pwsz_input_range(NULL),\n            i_range_len(0)\n        {}\n
      \       ~localComPtr()\n        {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
      \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
      \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
      )\n                delete[] pwsz_input_range;\n            free( psz_input_range
      );\n            free( psz_polarisation );\n        }\n    }::p_dvbs_tuning_space::put_LNBSwitch"
    - dvb_parse_fec
    - IID_PPV_ARGS
    - MultiByteToWideChar
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
      \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
      \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
      \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
      \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
      \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
      \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n            bstr_input_range(NULL),\n
      \           pwsz_input_range(NULL),\n            i_range_len(0)\n        {}\n
      \       ~localComPtr()\n        {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
      \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
      \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
      )\n                delete[] pwsz_input_range;\n            free( psz_input_range
      );\n            free( psz_polarisation );\n        }\n    }::p_dvbs_tuning_space::put_SpectralInversion"
    - __uuidof
    - SysFreeString
    - SUCCEEDED
    - var_GetInteger
    - dvb_parse_polarization
    - ::CoCreateInstance
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
      \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
      \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
      \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
      \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
      \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
      \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n            bstr_input_range(NULL),\n
      \           pwsz_input_range(NULL),\n            i_range_len(0)\n        {}\n
      \       ~localComPtr()\n        {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
      \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
      \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
      )\n                delete[] pwsz_input_range;\n            free( psz_input_range
      );\n            free( psz_polarisation );\n        }\n    }::p_dvb_tune_request::put_SID"
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
      \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
      \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
      \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
      \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
      \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
      \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n            bstr_input_range(NULL),\n
      \           pwsz_input_range(NULL),\n            i_range_len(0)\n        {}\n
      \       ~localComPtr()\n        {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
      \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
      \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
      )\n                delete[] pwsz_input_range;\n            free( psz_input_range
      );\n            free( psz_polarisation );\n        }\n    }::p_dvbs_locator::put_WestPosition"
    - SysAllocString
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
      \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
      \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
      \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
      \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
      \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
      \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n            bstr_input_range(NULL),\n
      \           pwsz_input_range(NULL),\n            i_range_len(0)\n        {}\n
      \       ~localComPtr()\n        {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
      \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
      \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
      )\n                delete[] pwsz_input_range;\n            free( psz_input_range
      );\n            free( psz_polarisation );\n        }\n    }::p_dvbs_tuning_space::put_NetworkID"
    - asprintf
    - abort
    - put_TuneRequest
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
      \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
      \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
      \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
      \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
      \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
      \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n            bstr_input_range(NULL),\n
      \           pwsz_input_range(NULL),\n            i_range_len(0)\n        {}\n
      \       ~localComPtr()\n        {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
      \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
      \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
      )\n                delete[] pwsz_input_range;\n            free( psz_input_range
      );\n            free( psz_polarisation );\n        }\n    }::p_dvbs_locator::put_SymbolRate"
    - labs
    - WCHAR::WCHAR
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
      \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
      \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
      \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
      \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
      \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
      \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n            bstr_input_range(NULL),\n
      \           pwsz_input_range(NULL),\n            i_range_len(0)\n        {}\n
      \       ~localComPtr()\n        {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
      \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
      \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
      )\n                delete[] pwsz_input_range;\n            free( psz_input_range
      );\n            free( psz_polarisation );\n        }\n    }::p_dvbs_tuning_space::put_HighOscillator"
    - msg_Dbg
    - msg_Warn
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
      \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
      \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
      \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
      \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
      \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
      \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n            bstr_input_range(NULL),\n
      \           pwsz_input_range(NULL),\n            i_range_len(0)\n        {}\n
      \       ~localComPtr()\n        {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
      \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
      \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
      )\n                delete[] pwsz_input_range;\n            free( psz_input_range
      );\n            free( psz_polarisation );\n        }\n    }::p_tune_request::QueryInterface"
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
      \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
      \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
      \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
      \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
      \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
      \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n            bstr_input_range(NULL),\n
      \           pwsz_input_range(NULL),\n            i_range_len(0)\n        {}\n
      \       ~localComPtr()\n        {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
      \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
      \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
      )\n                delete[] pwsz_input_range;\n            free( psz_input_range
      );\n            free( psz_polarisation );\n        }\n    }::p_dvbs_tuning_space::put_LowOscillator"
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
      \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
      \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
      \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
      \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
      \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
      \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n            bstr_input_range(NULL),\n
      \           pwsz_input_range(NULL),\n            i_range_len(0)\n        {}\n
      \       ~localComPtr()\n        {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
      \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
      \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
      )\n                delete[] pwsz_input_range;\n            free( psz_input_range
      );\n            free( psz_polarisation );\n        }\n    }::p_dvbs_locator::put_SignalPolarisation"
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
      \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
      \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
      \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
      \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
      \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
      \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n            bstr_input_range(NULL),\n
      \           pwsz_input_range(NULL),\n            i_range_len(0)\n        {}\n
      \       ~localComPtr()\n        {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
      \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
      \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
      )\n                delete[] pwsz_input_range;\n            free( psz_input_range
      );\n            free( psz_polarisation );\n        }\n    }::p_dvbs_locator::put_Modulation"
    - BDAGraph::Check
    - BDAGraph::QueryInterface
    - get_TuneRequest
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
      \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
      \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
      \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
      \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
      \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
      \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n            bstr_input_range(NULL),\n
      \           pwsz_input_range(NULL),\n            i_range_len(0)\n        {}\n
      \       ~localComPtr()\n        {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
      \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
      \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
      )\n                delete[] pwsz_input_range;\n            free( psz_input_range
      );\n            free( psz_polarisation );\n        }\n    }::p_dvbs_locator::put_Elevation"
    - var_GetNonEmptyString
    - BDAGraph::Release
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
      \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
      \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
      \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
      \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
      \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
      \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n            bstr_input_range(NULL),\n
      \           pwsz_input_range(NULL),\n            i_range_len(0)\n        {}\n
      \       ~localComPtr()\n        {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
      \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
      \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
      )\n                delete[] pwsz_input_range;\n            free( psz_input_range
      );\n            free( psz_polarisation );\n        }\n    }::p_dvb_tune_request::put_TSID"
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
      \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
      \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
      \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
      \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
      \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
      \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n            bstr_input_range(NULL),\n
      \           pwsz_input_range(NULL),\n            i_range_len(0)\n        {}\n
      \       ~localComPtr()\n        {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
      \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
      \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
      )\n                delete[] pwsz_input_range;\n            free( psz_input_range
      );\n            free( psz_polarisation );\n        }\n    }::p_dvbs_tuning_space::put_InputRange"
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
      \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
      \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
      \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
      \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
      \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
      \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n            bstr_input_range(NULL),\n
      \           pwsz_input_range(NULL),\n            i_range_len(0)\n        {}\n
      \       ~localComPtr()\n        {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
      \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
      \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
      )\n                delete[] pwsz_input_range;\n            free( psz_input_range
      );\n            free( psz_polarisation );\n        }\n    }::p_dvbs_locator::put_Azimuth"
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
      \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
      \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
      \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
      \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
      \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
      \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n            bstr_input_range(NULL),\n
      \           pwsz_input_range(NULL),\n            i_range_len(0)\n        {}\n
      \       ~localComPtr()\n        {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
      \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
      \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
      )\n                delete[] pwsz_input_range;\n            free( psz_input_range
      );\n            free( psz_polarisation );\n        }\n    }::p_dvb_tune_request::put_Locator"
    - get_TuningSpace
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
      \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
      \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
      \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
      \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
      \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
      \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n            bstr_input_range(NULL),\n
      \           pwsz_input_range(NULL),\n            i_range_len(0)\n        {}\n
      \       ~localComPtr()\n        {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
      \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
      \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
      )\n                delete[] pwsz_input_range;\n            free( psz_input_range
      );\n            free( psz_polarisation );\n        }\n    }::p_dvb_tune_request::put_ONID"
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
      \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
      \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
      \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
      \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
      \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
      \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n            bstr_input_range(NULL),\n
      \           pwsz_input_range(NULL),\n            i_range_len(0)\n        {}\n
      \       ~localComPtr()\n        {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
      \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
      \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
      )\n                delete[] pwsz_input_range;\n            free( psz_input_range
      );\n            free( psz_polarisation );\n        }\n    }::p_dvbs_locator::put_OrbitalPosition"
    - FAILED
    - free
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
      \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
      \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
      \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
      \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
      \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
      \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n            bstr_input_range(NULL),\n
      \           pwsz_input_range(NULL),\n            i_range_len(0)\n        {}\n
      \       ~localComPtr()\n        {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
      \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
      \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
      )\n                delete[] pwsz_input_range;\n            free( psz_input_range
      );\n            free( psz_polarisation );\n        }\n    }::p_dvbs_locator::put_CarrierFrequency"
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
      \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
      \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
      \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
      \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
      \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
      \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n            bstr_input_range(NULL),\n
      \           pwsz_input_range(NULL),\n            i_range_len(0)\n        {}\n
      \       ~localComPtr()\n        {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
      \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
      \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
      )\n                delete[] pwsz_input_range;\n            free( psz_input_range
      );\n            free( psz_polarisation );\n        }\n    }::p_dvbs_tuning_space::put_SystemType"
    - Validate
    - "class localComPtr\n    {\n        public:\n        ITuneRequest*       p_tune_request;\n
      \       IDVBTuneRequest*    p_dvb_tune_request;\n        IDVBSLocator*       p_dvbs_locator;\n
      \       IDVBSTuningSpace*   p_dvbs_tuning_space;\n        char*               psz_polarisation;\n
      \       char*               psz_input_range;\n        BSTR                bstr_input_range;\n
      \       WCHAR*              pwsz_input_range;\n        int                 i_range_len;\n
      \       localComPtr() :\n            p_tune_request(NULL),\n            p_dvb_tune_request(NULL),\n
      \           p_dvbs_locator(NULL),\n            p_dvbs_tuning_space(NULL),\n
      \           psz_polarisation(NULL),\n            psz_input_range(NULL),\n            bstr_input_range(NULL),\n
      \           pwsz_input_range(NULL),\n            i_range_len(0)\n        {}\n
      \       ~localComPtr()\n        {\n            if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_dvbs_locator )\n                p_dvbs_locator->Release();\n
      \           if( p_dvbs_tuning_space )\n                p_dvbs_tuning_space->Release();\n
      \           SysFreeString( bstr_input_range );\n            if( pwsz_input_range
      )\n                delete[] pwsz_input_range;\n            free( psz_input_range
      );\n            free( psz_polarisation );\n        }\n    }::p_dvbs_locator::put_InnerFECRate"
    - dvb_parse_inversion
    linkageType: ''
    returnType: int
    signature: "int BDAGraph::SetDVBS(long l_frequency, long l_symbolrate, uint32_t
      fec,\n                      int inversion, char pol,\n                      long
      l_lnb_lof1, long l_lnb_lof2, long l_lnb_slof)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1410
    functionDepth: 0
    functionLinenumber: 1410
    functionLinenumberEnd: 1420
    functionName: localComPtr::localComPtr
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void localComPtr()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1424,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1426,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1428,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1430,1
    - Dst: SysFreeString
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1431,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1434,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1435,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1421
    functionDepth: 0
    functionLinenumber: 1421
    functionLinenumberEnd: 1436
    functionName: ~localComPtr()
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - free
    - Release
    - SysFreeString
    linkageType: ''
    returnType: void
    signature: void ~localComPtr()
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1658,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1660,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1662,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1664,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1666,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1668,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1670,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1672,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1674,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1676,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1678,1
    - Dst: SysFreeString
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1679,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1681,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1685,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1694,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1698,1
    - Dst: char::char
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1703,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1710,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1713,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1720,1
    - Dst: get__NetworkType
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1721,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1722,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1724,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1729,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1732,1
    - Dst: SysFreeString
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1733,1
    - Dst: get_UniqueName
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1735,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1736,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1739,1
    - Dst: WideCharToMultiByte
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1748,1
    - Dst: char::char
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1750,1
    - Dst: WideCharToMultiByte
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1751,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1757,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1759,1
    - Dst: get_TuneRequest
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1763,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1764,1
    - Dst: CreateTuneRequest
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1770,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1771,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1775,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1784,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuningSpaceContainer*
        \     p_tuning_space_container;\n        IEnumTuningSpaces*          p_tuning_space_enum;\n
        \       ITuningSpace*               p_test_tuning_space;\n        ITuneRequest*
        \              p_tune_request;\n        IDVBTuneRequest*            p_dvb_tune_request;\n\n
        \       IDigitalCableTuneRequest*   p_cqam_tune_request;\n        IATSCChannelTuneRequest*
        \   p_atsc_tune_request;\n        ILocator*                   p_locator;\n
        \       IDVBTLocator*               p_dvbt_locator;\n        IDVBCLocator*
        \              p_dvbc_locator;\n        IDVBSLocator*               p_dvbs_locator;\n\n
        \       BSTR                        bstr_name;\n\n        CLSID                       clsid_test_network_type;\n
        \       char*                       psz_network_name;\n        char*                       psz_bstr_name;\n
        \       int                         i_name_len;\n\n        localComPtr():\n
        \           p_tuning_space_container(NULL),\n            p_tuning_space_enum(NULL),\n
        \           p_test_tuning_space(NULL),\n            p_tune_request(NULL),\n
        \           p_dvb_tune_request(NULL),\n            p_cqam_tune_request(NULL),\n
        \           p_atsc_tune_request(NULL),\n            p_locator(NULL),\n            p_dvbt_locator(NULL),\n
        \           p_dvbc_locator(NULL),\n            p_dvbs_locator(NULL),\n            bstr_name(NULL),\n
        \           clsid_test_network_type(CLSID_NULL),\n            psz_network_name(NULL),\n
        \           psz_bstr_name(NULL),\n            i_name_len(0)\n        {}\n
        \       ~localComPtr()\n        {\n            if( p_tuning_space_enum )\n
        \               p_tuning_space_enum->Release();\n            if( p_tuning_space_container
        )\n                p_tuning_space_container->Release();\n            if( p_test_tuning_space
        )\n                p_test_tuning_space->Release();\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_cqam_tune_request
        )\n                p_cqam_tune_request->Release();\n            if( p_atsc_tune_request
        )\n                p_atsc_tune_request->Release();\n            if( p_locator
        )\n                p_locator->Release();\n            if( p_dvbt_locator )\n
        \               p_dvbt_locator->Release();\n            if( p_dvbc_locator
        )\n                p_dvbc_locator->Release();\n            if( p_dvbs_locator
        )\n                p_dvbs_locator->Release();\n            SysFreeString(
        bstr_name );\n            delete[] psz_bstr_name;\n            free( psz_network_name
        );\n        }\n    }::p_tune_request::Release"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1788,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1797,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuningSpaceContainer*
        \     p_tuning_space_container;\n        IEnumTuningSpaces*          p_tuning_space_enum;\n
        \       ITuningSpace*               p_test_tuning_space;\n        ITuneRequest*
        \              p_tune_request;\n        IDVBTuneRequest*            p_dvb_tune_request;\n\n
        \       IDigitalCableTuneRequest*   p_cqam_tune_request;\n        IATSCChannelTuneRequest*
        \   p_atsc_tune_request;\n        ILocator*                   p_locator;\n
        \       IDVBTLocator*               p_dvbt_locator;\n        IDVBCLocator*
        \              p_dvbc_locator;\n        IDVBSLocator*               p_dvbs_locator;\n\n
        \       BSTR                        bstr_name;\n\n        CLSID                       clsid_test_network_type;\n
        \       char*                       psz_network_name;\n        char*                       psz_bstr_name;\n
        \       int                         i_name_len;\n\n        localComPtr():\n
        \           p_tuning_space_container(NULL),\n            p_tuning_space_enum(NULL),\n
        \           p_test_tuning_space(NULL),\n            p_tune_request(NULL),\n
        \           p_dvb_tune_request(NULL),\n            p_cqam_tune_request(NULL),\n
        \           p_atsc_tune_request(NULL),\n            p_locator(NULL),\n            p_dvbt_locator(NULL),\n
        \           p_dvbc_locator(NULL),\n            p_dvbs_locator(NULL),\n            bstr_name(NULL),\n
        \           clsid_test_network_type(CLSID_NULL),\n            psz_network_name(NULL),\n
        \           psz_bstr_name(NULL),\n            i_name_len(0)\n        {}\n
        \       ~localComPtr()\n        {\n            if( p_tuning_space_enum )\n
        \               p_tuning_space_enum->Release();\n            if( p_tuning_space_container
        )\n                p_tuning_space_container->Release();\n            if( p_test_tuning_space
        )\n                p_test_tuning_space->Release();\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_cqam_tune_request
        )\n                p_cqam_tune_request->Release();\n            if( p_atsc_tune_request
        )\n                p_atsc_tune_request->Release();\n            if( p_locator
        )\n                p_locator->Release();\n            if( p_dvbt_locator )\n
        \               p_dvbt_locator->Release();\n            if( p_dvbc_locator
        )\n                p_dvbc_locator->Release();\n            if( p_dvbs_locator
        )\n                p_dvbs_locator->Release();\n            SysFreeString(
        bstr_name );\n            delete[] psz_bstr_name;\n            free( psz_network_name
        );\n        }\n    }::p_tuning_space_enum::Release"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1799,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1800,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1802,1
    - Dst: EnumTuningSpaces
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1804,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1805,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1807,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1814,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuningSpaceContainer*
        \     p_tuning_space_container;\n        IEnumTuningSpaces*          p_tuning_space_enum;\n
        \       ITuningSpace*               p_test_tuning_space;\n        ITuneRequest*
        \              p_tune_request;\n        IDVBTuneRequest*            p_dvb_tune_request;\n\n
        \       IDigitalCableTuneRequest*   p_cqam_tune_request;\n        IATSCChannelTuneRequest*
        \   p_atsc_tune_request;\n        ILocator*                   p_locator;\n
        \       IDVBTLocator*               p_dvbt_locator;\n        IDVBCLocator*
        \              p_dvbc_locator;\n        IDVBSLocator*               p_dvbs_locator;\n\n
        \       BSTR                        bstr_name;\n\n        CLSID                       clsid_test_network_type;\n
        \       char*                       psz_network_name;\n        char*                       psz_bstr_name;\n
        \       int                         i_name_len;\n\n        localComPtr():\n
        \           p_tuning_space_container(NULL),\n            p_tuning_space_enum(NULL),\n
        \           p_test_tuning_space(NULL),\n            p_tune_request(NULL),\n
        \           p_dvb_tune_request(NULL),\n            p_cqam_tune_request(NULL),\n
        \           p_atsc_tune_request(NULL),\n            p_locator(NULL),\n            p_dvbt_locator(NULL),\n
        \           p_dvbc_locator(NULL),\n            p_dvbs_locator(NULL),\n            bstr_name(NULL),\n
        \           clsid_test_network_type(CLSID_NULL),\n            psz_network_name(NULL),\n
        \           psz_bstr_name(NULL),\n            i_name_len(0)\n        {}\n
        \       ~localComPtr()\n        {\n            if( p_tuning_space_enum )\n
        \               p_tuning_space_enum->Release();\n            if( p_tuning_space_container
        )\n                p_tuning_space_container->Release();\n            if( p_test_tuning_space
        )\n                p_test_tuning_space->Release();\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_cqam_tune_request
        )\n                p_cqam_tune_request->Release();\n            if( p_atsc_tune_request
        )\n                p_atsc_tune_request->Release();\n            if( p_locator
        )\n                p_locator->Release();\n            if( p_dvbt_locator )\n
        \               p_dvbt_locator->Release();\n            if( p_dvbc_locator
        )\n                p_dvbc_locator->Release();\n            if( p_dvbs_locator
        )\n                p_dvbs_locator->Release();\n            SysFreeString(
        bstr_name );\n            delete[] psz_bstr_name;\n            free( psz_network_name
        );\n        }\n    }::p_test_tuning_space::Release"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1817,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1820,1
    - Dst: SysFreeString
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1822,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1824,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1826,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuningSpaceContainer*
        \     p_tuning_space_container;\n        IEnumTuningSpaces*          p_tuning_space_enum;\n
        \       ITuningSpace*               p_test_tuning_space;\n        ITuneRequest*
        \              p_tune_request;\n        IDVBTuneRequest*            p_dvb_tune_request;\n\n
        \       IDigitalCableTuneRequest*   p_cqam_tune_request;\n        IATSCChannelTuneRequest*
        \   p_atsc_tune_request;\n        ILocator*                   p_locator;\n
        \       IDVBTLocator*               p_dvbt_locator;\n        IDVBCLocator*
        \              p_dvbc_locator;\n        IDVBSLocator*               p_dvbs_locator;\n\n
        \       BSTR                        bstr_name;\n\n        CLSID                       clsid_test_network_type;\n
        \       char*                       psz_network_name;\n        char*                       psz_bstr_name;\n
        \       int                         i_name_len;\n\n        localComPtr():\n
        \           p_tuning_space_container(NULL),\n            p_tuning_space_enum(NULL),\n
        \           p_test_tuning_space(NULL),\n            p_tune_request(NULL),\n
        \           p_dvb_tune_request(NULL),\n            p_cqam_tune_request(NULL),\n
        \           p_atsc_tune_request(NULL),\n            p_locator(NULL),\n            p_dvbt_locator(NULL),\n
        \           p_dvbc_locator(NULL),\n            p_dvbs_locator(NULL),\n            bstr_name(NULL),\n
        \           clsid_test_network_type(CLSID_NULL),\n            psz_network_name(NULL),\n
        \           psz_bstr_name(NULL),\n            i_name_len(0)\n        {}\n
        \       ~localComPtr()\n        {\n            if( p_tuning_space_enum )\n
        \               p_tuning_space_enum->Release();\n            if( p_tuning_space_container
        )\n                p_tuning_space_container->Release();\n            if( p_test_tuning_space
        )\n                p_test_tuning_space->Release();\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_cqam_tune_request
        )\n                p_cqam_tune_request->Release();\n            if( p_atsc_tune_request
        )\n                p_atsc_tune_request->Release();\n            if( p_locator
        )\n                p_locator->Release();\n            if( p_dvbt_locator )\n
        \               p_dvbt_locator->Release();\n            if( p_dvbc_locator
        )\n                p_dvbc_locator->Release();\n            if( p_dvbs_locator
        )\n                p_dvbs_locator->Release();\n            SysFreeString(
        bstr_name );\n            delete[] psz_bstr_name;\n            free( psz_network_name
        );\n        }\n    }::p_tuning_space_enum::Next"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1827,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1829,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuningSpaceContainer*
        \     p_tuning_space_container;\n        IEnumTuningSpaces*          p_tuning_space_enum;\n
        \       ITuningSpace*               p_test_tuning_space;\n        ITuneRequest*
        \              p_tune_request;\n        IDVBTuneRequest*            p_dvb_tune_request;\n\n
        \       IDigitalCableTuneRequest*   p_cqam_tune_request;\n        IATSCChannelTuneRequest*
        \   p_atsc_tune_request;\n        ILocator*                   p_locator;\n
        \       IDVBTLocator*               p_dvbt_locator;\n        IDVBCLocator*
        \              p_dvbc_locator;\n        IDVBSLocator*               p_dvbs_locator;\n\n
        \       BSTR                        bstr_name;\n\n        CLSID                       clsid_test_network_type;\n
        \       char*                       psz_network_name;\n        char*                       psz_bstr_name;\n
        \       int                         i_name_len;\n\n        localComPtr():\n
        \           p_tuning_space_container(NULL),\n            p_tuning_space_enum(NULL),\n
        \           p_test_tuning_space(NULL),\n            p_tune_request(NULL),\n
        \           p_dvb_tune_request(NULL),\n            p_cqam_tune_request(NULL),\n
        \           p_atsc_tune_request(NULL),\n            p_locator(NULL),\n            p_dvbt_locator(NULL),\n
        \           p_dvbc_locator(NULL),\n            p_dvbs_locator(NULL),\n            bstr_name(NULL),\n
        \           clsid_test_network_type(CLSID_NULL),\n            psz_network_name(NULL),\n
        \           psz_bstr_name(NULL),\n            i_name_len(0)\n        {}\n
        \       ~localComPtr()\n        {\n            if( p_tuning_space_enum )\n
        \               p_tuning_space_enum->Release();\n            if( p_tuning_space_container
        )\n                p_tuning_space_container->Release();\n            if( p_test_tuning_space
        )\n                p_test_tuning_space->Release();\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_cqam_tune_request
        )\n                p_cqam_tune_request->Release();\n            if( p_atsc_tune_request
        )\n                p_atsc_tune_request->Release();\n            if( p_locator
        )\n                p_locator->Release();\n            if( p_dvbt_locator )\n
        \               p_dvbt_locator->Release();\n            if( p_dvbc_locator
        )\n                p_dvbc_locator->Release();\n            if( p_dvbs_locator
        )\n                p_dvbs_locator->Release();\n            SysFreeString(
        bstr_name );\n            delete[] psz_bstr_name;\n            free( psz_network_name
        );\n        }\n    }::p_test_tuning_space::get__NetworkType"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1830,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1831,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1833,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1839,1
    - Dst: SysFreeString
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1841,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1842,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuningSpaceContainer*
        \     p_tuning_space_container;\n        IEnumTuningSpaces*          p_tuning_space_enum;\n
        \       ITuningSpace*               p_test_tuning_space;\n        ITuneRequest*
        \              p_tune_request;\n        IDVBTuneRequest*            p_dvb_tune_request;\n\n
        \       IDigitalCableTuneRequest*   p_cqam_tune_request;\n        IATSCChannelTuneRequest*
        \   p_atsc_tune_request;\n        ILocator*                   p_locator;\n
        \       IDVBTLocator*               p_dvbt_locator;\n        IDVBCLocator*
        \              p_dvbc_locator;\n        IDVBSLocator*               p_dvbs_locator;\n\n
        \       BSTR                        bstr_name;\n\n        CLSID                       clsid_test_network_type;\n
        \       char*                       psz_network_name;\n        char*                       psz_bstr_name;\n
        \       int                         i_name_len;\n\n        localComPtr():\n
        \           p_tuning_space_container(NULL),\n            p_tuning_space_enum(NULL),\n
        \           p_test_tuning_space(NULL),\n            p_tune_request(NULL),\n
        \           p_dvb_tune_request(NULL),\n            p_cqam_tune_request(NULL),\n
        \           p_atsc_tune_request(NULL),\n            p_locator(NULL),\n            p_dvbt_locator(NULL),\n
        \           p_dvbc_locator(NULL),\n            p_dvbs_locator(NULL),\n            bstr_name(NULL),\n
        \           clsid_test_network_type(CLSID_NULL),\n            psz_network_name(NULL),\n
        \           psz_bstr_name(NULL),\n            i_name_len(0)\n        {}\n
        \       ~localComPtr()\n        {\n            if( p_tuning_space_enum )\n
        \               p_tuning_space_enum->Release();\n            if( p_tuning_space_container
        )\n                p_tuning_space_container->Release();\n            if( p_test_tuning_space
        )\n                p_test_tuning_space->Release();\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_cqam_tune_request
        )\n                p_cqam_tune_request->Release();\n            if( p_atsc_tune_request
        )\n                p_atsc_tune_request->Release();\n            if( p_locator
        )\n                p_locator->Release();\n            if( p_dvbt_locator )\n
        \               p_dvbt_locator->Release();\n            if( p_dvbc_locator
        )\n                p_dvbc_locator->Release();\n            if( p_dvbs_locator
        )\n                p_dvbs_locator->Release();\n            SysFreeString(
        bstr_name );\n            delete[] psz_bstr_name;\n            free( psz_network_name
        );\n        }\n    }::p_test_tuning_space::get_UniqueName"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1844,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1845,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1848,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1852,1
    - Dst: WideCharToMultiByte
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1855,1
    - Dst: char::char
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1857,1
    - Dst: WideCharToMultiByte
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1858,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1860,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1867,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1871,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1875,1
    - Dst: put_TuningSpace
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1876,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1877,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1879,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1884,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuningSpaceContainer*
        \     p_tuning_space_container;\n        IEnumTuningSpaces*          p_tuning_space_enum;\n
        \       ITuningSpace*               p_test_tuning_space;\n        ITuneRequest*
        \              p_tune_request;\n        IDVBTuneRequest*            p_dvb_tune_request;\n\n
        \       IDigitalCableTuneRequest*   p_cqam_tune_request;\n        IATSCChannelTuneRequest*
        \   p_atsc_tune_request;\n        ILocator*                   p_locator;\n
        \       IDVBTLocator*               p_dvbt_locator;\n        IDVBCLocator*
        \              p_dvbc_locator;\n        IDVBSLocator*               p_dvbs_locator;\n\n
        \       BSTR                        bstr_name;\n\n        CLSID                       clsid_test_network_type;\n
        \       char*                       psz_network_name;\n        char*                       psz_bstr_name;\n
        \       int                         i_name_len;\n\n        localComPtr():\n
        \           p_tuning_space_container(NULL),\n            p_tuning_space_enum(NULL),\n
        \           p_test_tuning_space(NULL),\n            p_tune_request(NULL),\n
        \           p_dvb_tune_request(NULL),\n            p_cqam_tune_request(NULL),\n
        \           p_atsc_tune_request(NULL),\n            p_locator(NULL),\n            p_dvbt_locator(NULL),\n
        \           p_dvbc_locator(NULL),\n            p_dvbs_locator(NULL),\n            bstr_name(NULL),\n
        \           clsid_test_network_type(CLSID_NULL),\n            psz_network_name(NULL),\n
        \           psz_bstr_name(NULL),\n            i_name_len(0)\n        {}\n
        \       ~localComPtr()\n        {\n            if( p_tuning_space_enum )\n
        \               p_tuning_space_enum->Release();\n            if( p_tuning_space_container
        )\n                p_tuning_space_container->Release();\n            if( p_test_tuning_space
        )\n                p_test_tuning_space->Release();\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_cqam_tune_request
        )\n                p_cqam_tune_request->Release();\n            if( p_atsc_tune_request
        )\n                p_atsc_tune_request->Release();\n            if( p_locator
        )\n                p_locator->Release();\n            if( p_dvbt_locator )\n
        \               p_dvbt_locator->Release();\n            if( p_dvbc_locator
        )\n                p_dvbc_locator->Release();\n            if( p_dvbs_locator
        )\n                p_dvbs_locator->Release();\n            SysFreeString(
        bstr_name );\n            delete[] psz_bstr_name;\n            free( psz_network_name
        );\n        }\n    }::p_test_tuning_space::get_DefaultLocator"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1885,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1886,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1888,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1893,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuningSpaceContainer*
        \     p_tuning_space_container;\n        IEnumTuningSpaces*          p_tuning_space_enum;\n
        \       ITuningSpace*               p_test_tuning_space;\n        ITuneRequest*
        \              p_tune_request;\n        IDVBTuneRequest*            p_dvb_tune_request;\n\n
        \       IDigitalCableTuneRequest*   p_cqam_tune_request;\n        IATSCChannelTuneRequest*
        \   p_atsc_tune_request;\n        ILocator*                   p_locator;\n
        \       IDVBTLocator*               p_dvbt_locator;\n        IDVBCLocator*
        \              p_dvbc_locator;\n        IDVBSLocator*               p_dvbs_locator;\n\n
        \       BSTR                        bstr_name;\n\n        CLSID                       clsid_test_network_type;\n
        \       char*                       psz_network_name;\n        char*                       psz_bstr_name;\n
        \       int                         i_name_len;\n\n        localComPtr():\n
        \           p_tuning_space_container(NULL),\n            p_tuning_space_enum(NULL),\n
        \           p_test_tuning_space(NULL),\n            p_tune_request(NULL),\n
        \           p_dvb_tune_request(NULL),\n            p_cqam_tune_request(NULL),\n
        \           p_atsc_tune_request(NULL),\n            p_locator(NULL),\n            p_dvbt_locator(NULL),\n
        \           p_dvbc_locator(NULL),\n            p_dvbs_locator(NULL),\n            bstr_name(NULL),\n
        \           clsid_test_network_type(CLSID_NULL),\n            psz_network_name(NULL),\n
        \           psz_bstr_name(NULL),\n            i_name_len(0)\n        {}\n
        \       ~localComPtr()\n        {\n            if( p_tuning_space_enum )\n
        \               p_tuning_space_enum->Release();\n            if( p_tuning_space_container
        )\n                p_tuning_space_container->Release();\n            if( p_test_tuning_space
        )\n                p_test_tuning_space->Release();\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_cqam_tune_request
        )\n                p_cqam_tune_request->Release();\n            if( p_atsc_tune_request
        )\n                p_atsc_tune_request->Release();\n            if( p_locator
        )\n                p_locator->Release();\n            if( p_dvbt_locator )\n
        \               p_dvbt_locator->Release();\n            if( p_dvbc_locator
        )\n                p_dvbc_locator->Release();\n            if( p_dvbs_locator
        )\n                p_dvbs_locator->Release();\n            SysFreeString(
        bstr_name );\n            delete[] psz_bstr_name;\n            free( psz_network_name
        );\n        }\n    }::p_test_tuning_space::CreateTuneRequest"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1894,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1895,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1897,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1902,1
    - Dst: "class localComPtr\n    {\n        public:\n        ITuningSpaceContainer*
        \     p_tuning_space_container;\n        IEnumTuningSpaces*          p_tuning_space_enum;\n
        \       ITuningSpace*               p_test_tuning_space;\n        ITuneRequest*
        \              p_tune_request;\n        IDVBTuneRequest*            p_dvb_tune_request;\n\n
        \       IDigitalCableTuneRequest*   p_cqam_tune_request;\n        IATSCChannelTuneRequest*
        \   p_atsc_tune_request;\n        ILocator*                   p_locator;\n
        \       IDVBTLocator*               p_dvbt_locator;\n        IDVBCLocator*
        \              p_dvbc_locator;\n        IDVBSLocator*               p_dvbs_locator;\n\n
        \       BSTR                        bstr_name;\n\n        CLSID                       clsid_test_network_type;\n
        \       char*                       psz_network_name;\n        char*                       psz_bstr_name;\n
        \       int                         i_name_len;\n\n        localComPtr():\n
        \           p_tuning_space_container(NULL),\n            p_tuning_space_enum(NULL),\n
        \           p_test_tuning_space(NULL),\n            p_tune_request(NULL),\n
        \           p_dvb_tune_request(NULL),\n            p_cqam_tune_request(NULL),\n
        \           p_atsc_tune_request(NULL),\n            p_locator(NULL),\n            p_dvbt_locator(NULL),\n
        \           p_dvbc_locator(NULL),\n            p_dvbs_locator(NULL),\n            bstr_name(NULL),\n
        \           clsid_test_network_type(CLSID_NULL),\n            psz_network_name(NULL),\n
        \           psz_bstr_name(NULL),\n            i_name_len(0)\n        {}\n
        \       ~localComPtr()\n        {\n            if( p_tuning_space_enum )\n
        \               p_tuning_space_enum->Release();\n            if( p_tuning_space_container
        )\n                p_tuning_space_container->Release();\n            if( p_test_tuning_space
        )\n                p_test_tuning_space->Release();\n            if( p_tune_request
        )\n                p_tune_request->Release();\n            if( p_dvb_tune_request
        )\n                p_dvb_tune_request->Release();\n            if( p_cqam_tune_request
        )\n                p_cqam_tune_request->Release();\n            if( p_atsc_tune_request
        )\n                p_atsc_tune_request->Release();\n            if( p_locator
        )\n                p_locator->Release();\n            if( p_dvbt_locator )\n
        \               p_dvbt_locator->Release();\n            if( p_dvbc_locator
        )\n                p_dvbc_locator->Release();\n            if( p_dvbs_locator
        )\n                p_dvbs_locator->Release();\n            SysFreeString(
        bstr_name );\n            delete[] psz_bstr_name;\n            free( psz_network_name
        );\n        }\n    }::p_tune_request::put_Locator"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1903,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1904,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1906,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1911,1
    - Dst: Validate
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1912,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1913,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1915,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1919,1
    - Dst: put_TuneRequest
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1921,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1922,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1924,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1929,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1935,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 191
    argCount: 1
    argNames:
    - clsid_this_network_type
    argTypes:
    - REFCLSID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1937
      start: 1611
    functionDepth: 1
    functionLinenumber: 1611
    functionLinenumberEnd: 1937
    functionName: BDAGraph::SetUpTuner
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - "class localComPtr\n    {\n        public:\n        ITuningSpaceContainer*      p_tuning_space_container;\n
      \       IEnumTuningSpaces*          p_tuning_space_enum;\n        ITuningSpace*
      \              p_test_tuning_space;\n        ITuneRequest*               p_tune_request;\n
      \       IDVBTuneRequest*            p_dvb_tune_request;\n\n        IDigitalCableTuneRequest*
      \  p_cqam_tune_request;\n        IATSCChannelTuneRequest*    p_atsc_tune_request;\n
      \       ILocator*                   p_locator;\n        IDVBTLocator*               p_dvbt_locator;\n
      \       IDVBCLocator*               p_dvbc_locator;\n        IDVBSLocator*               p_dvbs_locator;\n\n
      \       BSTR                        bstr_name;\n\n        CLSID                       clsid_test_network_type;\n
      \       char*                       psz_network_name;\n        char*                       psz_bstr_name;\n
      \       int                         i_name_len;\n\n        localComPtr():\n
      \           p_tuning_space_container(NULL),\n            p_tuning_space_enum(NULL),\n
      \           p_test_tuning_space(NULL),\n            p_tune_request(NULL),\n
      \           p_dvb_tune_request(NULL),\n            p_cqam_tune_request(NULL),\n
      \           p_atsc_tune_request(NULL),\n            p_locator(NULL),\n            p_dvbt_locator(NULL),\n
      \           p_dvbc_locator(NULL),\n            p_dvbs_locator(NULL),\n            bstr_name(NULL),\n
      \           clsid_test_network_type(CLSID_NULL),\n            psz_network_name(NULL),\n
      \           psz_bstr_name(NULL),\n            i_name_len(0)\n        {}\n        ~localComPtr()\n
      \       {\n            if( p_tuning_space_enum )\n                p_tuning_space_enum->Release();\n
      \           if( p_tuning_space_container )\n                p_tuning_space_container->Release();\n
      \           if( p_test_tuning_space )\n                p_test_tuning_space->Release();\n
      \           if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_cqam_tune_request )\n                p_cqam_tune_request->Release();\n
      \           if( p_atsc_tune_request )\n                p_atsc_tune_request->Release();\n
      \           if( p_locator )\n                p_locator->Release();\n            if(
      p_dvbt_locator )\n                p_dvbt_locator->Release();\n            if(
      p_dvbc_locator )\n                p_dvbc_locator->Release();\n            if(
      p_dvbs_locator )\n                p_dvbs_locator->Release();\n            SysFreeString(
      bstr_name );\n            delete[] psz_bstr_name;\n            free( psz_network_name
      );\n        }\n    }::p_test_tuning_space::get_UniqueName"
    - WideCharToMultiByte
    - CreateTuneRequest
    - "class localComPtr\n    {\n        public:\n        ITuningSpaceContainer*      p_tuning_space_container;\n
      \       IEnumTuningSpaces*          p_tuning_space_enum;\n        ITuningSpace*
      \              p_test_tuning_space;\n        ITuneRequest*               p_tune_request;\n
      \       IDVBTuneRequest*            p_dvb_tune_request;\n\n        IDigitalCableTuneRequest*
      \  p_cqam_tune_request;\n        IATSCChannelTuneRequest*    p_atsc_tune_request;\n
      \       ILocator*                   p_locator;\n        IDVBTLocator*               p_dvbt_locator;\n
      \       IDVBCLocator*               p_dvbc_locator;\n        IDVBSLocator*               p_dvbs_locator;\n\n
      \       BSTR                        bstr_name;\n\n        CLSID                       clsid_test_network_type;\n
      \       char*                       psz_network_name;\n        char*                       psz_bstr_name;\n
      \       int                         i_name_len;\n\n        localComPtr():\n
      \           p_tuning_space_container(NULL),\n            p_tuning_space_enum(NULL),\n
      \           p_test_tuning_space(NULL),\n            p_tune_request(NULL),\n
      \           p_dvb_tune_request(NULL),\n            p_cqam_tune_request(NULL),\n
      \           p_atsc_tune_request(NULL),\n            p_locator(NULL),\n            p_dvbt_locator(NULL),\n
      \           p_dvbc_locator(NULL),\n            p_dvbs_locator(NULL),\n            bstr_name(NULL),\n
      \           clsid_test_network_type(CLSID_NULL),\n            psz_network_name(NULL),\n
      \           psz_bstr_name(NULL),\n            i_name_len(0)\n        {}\n        ~localComPtr()\n
      \       {\n            if( p_tuning_space_enum )\n                p_tuning_space_enum->Release();\n
      \           if( p_tuning_space_container )\n                p_tuning_space_container->Release();\n
      \           if( p_test_tuning_space )\n                p_test_tuning_space->Release();\n
      \           if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_cqam_tune_request )\n                p_cqam_tune_request->Release();\n
      \           if( p_atsc_tune_request )\n                p_atsc_tune_request->Release();\n
      \           if( p_locator )\n                p_locator->Release();\n            if(
      p_dvbt_locator )\n                p_dvbt_locator->Release();\n            if(
      p_dvbc_locator )\n                p_dvbc_locator->Release();\n            if(
      p_dvbs_locator )\n                p_dvbs_locator->Release();\n            SysFreeString(
      bstr_name );\n            delete[] psz_bstr_name;\n            free( psz_network_name
      );\n        }\n    }::p_test_tuning_space::get_DefaultLocator"
    - SUCCEEDED
    - SysFreeString
    - "class localComPtr\n    {\n        public:\n        ITuningSpaceContainer*      p_tuning_space_container;\n
      \       IEnumTuningSpaces*          p_tuning_space_enum;\n        ITuningSpace*
      \              p_test_tuning_space;\n        ITuneRequest*               p_tune_request;\n
      \       IDVBTuneRequest*            p_dvb_tune_request;\n\n        IDigitalCableTuneRequest*
      \  p_cqam_tune_request;\n        IATSCChannelTuneRequest*    p_atsc_tune_request;\n
      \       ILocator*                   p_locator;\n        IDVBTLocator*               p_dvbt_locator;\n
      \       IDVBCLocator*               p_dvbc_locator;\n        IDVBSLocator*               p_dvbs_locator;\n\n
      \       BSTR                        bstr_name;\n\n        CLSID                       clsid_test_network_type;\n
      \       char*                       psz_network_name;\n        char*                       psz_bstr_name;\n
      \       int                         i_name_len;\n\n        localComPtr():\n
      \           p_tuning_space_container(NULL),\n            p_tuning_space_enum(NULL),\n
      \           p_test_tuning_space(NULL),\n            p_tune_request(NULL),\n
      \           p_dvb_tune_request(NULL),\n            p_cqam_tune_request(NULL),\n
      \           p_atsc_tune_request(NULL),\n            p_locator(NULL),\n            p_dvbt_locator(NULL),\n
      \           p_dvbc_locator(NULL),\n            p_dvbs_locator(NULL),\n            bstr_name(NULL),\n
      \           clsid_test_network_type(CLSID_NULL),\n            psz_network_name(NULL),\n
      \           psz_bstr_name(NULL),\n            i_name_len(0)\n        {}\n        ~localComPtr()\n
      \       {\n            if( p_tuning_space_enum )\n                p_tuning_space_enum->Release();\n
      \           if( p_tuning_space_container )\n                p_tuning_space_container->Release();\n
      \           if( p_test_tuning_space )\n                p_test_tuning_space->Release();\n
      \           if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_cqam_tune_request )\n                p_cqam_tune_request->Release();\n
      \           if( p_atsc_tune_request )\n                p_atsc_tune_request->Release();\n
      \           if( p_locator )\n                p_locator->Release();\n            if(
      p_dvbt_locator )\n                p_dvbt_locator->Release();\n            if(
      p_dvbc_locator )\n                p_dvbc_locator->Release();\n            if(
      p_dvbs_locator )\n                p_dvbs_locator->Release();\n            SysFreeString(
      bstr_name );\n            delete[] psz_bstr_name;\n            free( psz_network_name
      );\n        }\n    }::p_tuning_space_enum::Next"
    - char::char
    - "class localComPtr\n    {\n        public:\n        ITuningSpaceContainer*      p_tuning_space_container;\n
      \       IEnumTuningSpaces*          p_tuning_space_enum;\n        ITuningSpace*
      \              p_test_tuning_space;\n        ITuneRequest*               p_tune_request;\n
      \       IDVBTuneRequest*            p_dvb_tune_request;\n\n        IDigitalCableTuneRequest*
      \  p_cqam_tune_request;\n        IATSCChannelTuneRequest*    p_atsc_tune_request;\n
      \       ILocator*                   p_locator;\n        IDVBTLocator*               p_dvbt_locator;\n
      \       IDVBCLocator*               p_dvbc_locator;\n        IDVBSLocator*               p_dvbs_locator;\n\n
      \       BSTR                        bstr_name;\n\n        CLSID                       clsid_test_network_type;\n
      \       char*                       psz_network_name;\n        char*                       psz_bstr_name;\n
      \       int                         i_name_len;\n\n        localComPtr():\n
      \           p_tuning_space_container(NULL),\n            p_tuning_space_enum(NULL),\n
      \           p_test_tuning_space(NULL),\n            p_tune_request(NULL),\n
      \           p_dvb_tune_request(NULL),\n            p_cqam_tune_request(NULL),\n
      \           p_atsc_tune_request(NULL),\n            p_locator(NULL),\n            p_dvbt_locator(NULL),\n
      \           p_dvbc_locator(NULL),\n            p_dvbs_locator(NULL),\n            bstr_name(NULL),\n
      \           clsid_test_network_type(CLSID_NULL),\n            psz_network_name(NULL),\n
      \           psz_bstr_name(NULL),\n            i_name_len(0)\n        {}\n        ~localComPtr()\n
      \       {\n            if( p_tuning_space_enum )\n                p_tuning_space_enum->Release();\n
      \           if( p_tuning_space_container )\n                p_tuning_space_container->Release();\n
      \           if( p_test_tuning_space )\n                p_test_tuning_space->Release();\n
      \           if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_cqam_tune_request )\n                p_cqam_tune_request->Release();\n
      \           if( p_atsc_tune_request )\n                p_atsc_tune_request->Release();\n
      \           if( p_locator )\n                p_locator->Release();\n            if(
      p_dvbt_locator )\n                p_dvbt_locator->Release();\n            if(
      p_dvbc_locator )\n                p_dvbc_locator->Release();\n            if(
      p_dvbs_locator )\n                p_dvbs_locator->Release();\n            SysFreeString(
      bstr_name );\n            delete[] psz_bstr_name;\n            free( psz_network_name
      );\n        }\n    }::p_test_tuning_space::CreateTuneRequest"
    - put_TuneRequest
    - msg_Dbg
    - msg_Warn
    - EnumTuningSpaces
    - "class localComPtr\n    {\n        public:\n        ITuningSpaceContainer*      p_tuning_space_container;\n
      \       IEnumTuningSpaces*          p_tuning_space_enum;\n        ITuningSpace*
      \              p_test_tuning_space;\n        ITuneRequest*               p_tune_request;\n
      \       IDVBTuneRequest*            p_dvb_tune_request;\n\n        IDigitalCableTuneRequest*
      \  p_cqam_tune_request;\n        IATSCChannelTuneRequest*    p_atsc_tune_request;\n
      \       ILocator*                   p_locator;\n        IDVBTLocator*               p_dvbt_locator;\n
      \       IDVBCLocator*               p_dvbc_locator;\n        IDVBSLocator*               p_dvbs_locator;\n\n
      \       BSTR                        bstr_name;\n\n        CLSID                       clsid_test_network_type;\n
      \       char*                       psz_network_name;\n        char*                       psz_bstr_name;\n
      \       int                         i_name_len;\n\n        localComPtr():\n
      \           p_tuning_space_container(NULL),\n            p_tuning_space_enum(NULL),\n
      \           p_test_tuning_space(NULL),\n            p_tune_request(NULL),\n
      \           p_dvb_tune_request(NULL),\n            p_cqam_tune_request(NULL),\n
      \           p_atsc_tune_request(NULL),\n            p_locator(NULL),\n            p_dvbt_locator(NULL),\n
      \           p_dvbc_locator(NULL),\n            p_dvbs_locator(NULL),\n            bstr_name(NULL),\n
      \           clsid_test_network_type(CLSID_NULL),\n            psz_network_name(NULL),\n
      \           psz_bstr_name(NULL),\n            i_name_len(0)\n        {}\n        ~localComPtr()\n
      \       {\n            if( p_tuning_space_enum )\n                p_tuning_space_enum->Release();\n
      \           if( p_tuning_space_container )\n                p_tuning_space_container->Release();\n
      \           if( p_test_tuning_space )\n                p_test_tuning_space->Release();\n
      \           if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_cqam_tune_request )\n                p_cqam_tune_request->Release();\n
      \           if( p_atsc_tune_request )\n                p_atsc_tune_request->Release();\n
      \           if( p_locator )\n                p_locator->Release();\n            if(
      p_dvbt_locator )\n                p_dvbt_locator->Release();\n            if(
      p_dvbc_locator )\n                p_dvbc_locator->Release();\n            if(
      p_dvbs_locator )\n                p_dvbs_locator->Release();\n            SysFreeString(
      bstr_name );\n            delete[] psz_bstr_name;\n            free( psz_network_name
      );\n        }\n    }::p_tune_request::put_Locator"
    - get_TuneRequest
    - "class localComPtr\n    {\n        public:\n        ITuningSpaceContainer*      p_tuning_space_container;\n
      \       IEnumTuningSpaces*          p_tuning_space_enum;\n        ITuningSpace*
      \              p_test_tuning_space;\n        ITuneRequest*               p_tune_request;\n
      \       IDVBTuneRequest*            p_dvb_tune_request;\n\n        IDigitalCableTuneRequest*
      \  p_cqam_tune_request;\n        IATSCChannelTuneRequest*    p_atsc_tune_request;\n
      \       ILocator*                   p_locator;\n        IDVBTLocator*               p_dvbt_locator;\n
      \       IDVBCLocator*               p_dvbc_locator;\n        IDVBSLocator*               p_dvbs_locator;\n\n
      \       BSTR                        bstr_name;\n\n        CLSID                       clsid_test_network_type;\n
      \       char*                       psz_network_name;\n        char*                       psz_bstr_name;\n
      \       int                         i_name_len;\n\n        localComPtr():\n
      \           p_tuning_space_container(NULL),\n            p_tuning_space_enum(NULL),\n
      \           p_test_tuning_space(NULL),\n            p_tune_request(NULL),\n
      \           p_dvb_tune_request(NULL),\n            p_cqam_tune_request(NULL),\n
      \           p_atsc_tune_request(NULL),\n            p_locator(NULL),\n            p_dvbt_locator(NULL),\n
      \           p_dvbc_locator(NULL),\n            p_dvbs_locator(NULL),\n            bstr_name(NULL),\n
      \           clsid_test_network_type(CLSID_NULL),\n            psz_network_name(NULL),\n
      \           psz_bstr_name(NULL),\n            i_name_len(0)\n        {}\n        ~localComPtr()\n
      \       {\n            if( p_tuning_space_enum )\n                p_tuning_space_enum->Release();\n
      \           if( p_tuning_space_container )\n                p_tuning_space_container->Release();\n
      \           if( p_test_tuning_space )\n                p_test_tuning_space->Release();\n
      \           if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_cqam_tune_request )\n                p_cqam_tune_request->Release();\n
      \           if( p_atsc_tune_request )\n                p_atsc_tune_request->Release();\n
      \           if( p_locator )\n                p_locator->Release();\n            if(
      p_dvbt_locator )\n                p_dvbt_locator->Release();\n            if(
      p_dvbc_locator )\n                p_dvbc_locator->Release();\n            if(
      p_dvbs_locator )\n                p_dvbs_locator->Release();\n            SysFreeString(
      bstr_name );\n            delete[] psz_bstr_name;\n            free( psz_network_name
      );\n        }\n    }::p_test_tuning_space::Release"
    - var_GetNonEmptyString
    - BDAGraph::Release
    - strcmp
    - "class localComPtr\n    {\n        public:\n        ITuningSpaceContainer*      p_tuning_space_container;\n
      \       IEnumTuningSpaces*          p_tuning_space_enum;\n        ITuningSpace*
      \              p_test_tuning_space;\n        ITuneRequest*               p_tune_request;\n
      \       IDVBTuneRequest*            p_dvb_tune_request;\n\n        IDigitalCableTuneRequest*
      \  p_cqam_tune_request;\n        IATSCChannelTuneRequest*    p_atsc_tune_request;\n
      \       ILocator*                   p_locator;\n        IDVBTLocator*               p_dvbt_locator;\n
      \       IDVBCLocator*               p_dvbc_locator;\n        IDVBSLocator*               p_dvbs_locator;\n\n
      \       BSTR                        bstr_name;\n\n        CLSID                       clsid_test_network_type;\n
      \       char*                       psz_network_name;\n        char*                       psz_bstr_name;\n
      \       int                         i_name_len;\n\n        localComPtr():\n
      \           p_tuning_space_container(NULL),\n            p_tuning_space_enum(NULL),\n
      \           p_test_tuning_space(NULL),\n            p_tune_request(NULL),\n
      \           p_dvb_tune_request(NULL),\n            p_cqam_tune_request(NULL),\n
      \           p_atsc_tune_request(NULL),\n            p_locator(NULL),\n            p_dvbt_locator(NULL),\n
      \           p_dvbc_locator(NULL),\n            p_dvbs_locator(NULL),\n            bstr_name(NULL),\n
      \           clsid_test_network_type(CLSID_NULL),\n            psz_network_name(NULL),\n
      \           psz_bstr_name(NULL),\n            i_name_len(0)\n        {}\n        ~localComPtr()\n
      \       {\n            if( p_tuning_space_enum )\n                p_tuning_space_enum->Release();\n
      \           if( p_tuning_space_container )\n                p_tuning_space_container->Release();\n
      \           if( p_test_tuning_space )\n                p_test_tuning_space->Release();\n
      \           if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_cqam_tune_request )\n                p_cqam_tune_request->Release();\n
      \           if( p_atsc_tune_request )\n                p_atsc_tune_request->Release();\n
      \           if( p_locator )\n                p_locator->Release();\n            if(
      p_dvbt_locator )\n                p_dvbt_locator->Release();\n            if(
      p_dvbc_locator )\n                p_dvbc_locator->Release();\n            if(
      p_dvbs_locator )\n                p_dvbs_locator->Release();\n            SysFreeString(
      bstr_name );\n            delete[] psz_bstr_name;\n            free( psz_network_name
      );\n        }\n    }::p_tune_request::Release"
    - "class localComPtr\n    {\n        public:\n        ITuningSpaceContainer*      p_tuning_space_container;\n
      \       IEnumTuningSpaces*          p_tuning_space_enum;\n        ITuningSpace*
      \              p_test_tuning_space;\n        ITuneRequest*               p_tune_request;\n
      \       IDVBTuneRequest*            p_dvb_tune_request;\n\n        IDigitalCableTuneRequest*
      \  p_cqam_tune_request;\n        IATSCChannelTuneRequest*    p_atsc_tune_request;\n
      \       ILocator*                   p_locator;\n        IDVBTLocator*               p_dvbt_locator;\n
      \       IDVBCLocator*               p_dvbc_locator;\n        IDVBSLocator*               p_dvbs_locator;\n\n
      \       BSTR                        bstr_name;\n\n        CLSID                       clsid_test_network_type;\n
      \       char*                       psz_network_name;\n        char*                       psz_bstr_name;\n
      \       int                         i_name_len;\n\n        localComPtr():\n
      \           p_tuning_space_container(NULL),\n            p_tuning_space_enum(NULL),\n
      \           p_test_tuning_space(NULL),\n            p_tune_request(NULL),\n
      \           p_dvb_tune_request(NULL),\n            p_cqam_tune_request(NULL),\n
      \           p_atsc_tune_request(NULL),\n            p_locator(NULL),\n            p_dvbt_locator(NULL),\n
      \           p_dvbc_locator(NULL),\n            p_dvbs_locator(NULL),\n            bstr_name(NULL),\n
      \           clsid_test_network_type(CLSID_NULL),\n            psz_network_name(NULL),\n
      \           psz_bstr_name(NULL),\n            i_name_len(0)\n        {}\n        ~localComPtr()\n
      \       {\n            if( p_tuning_space_enum )\n                p_tuning_space_enum->Release();\n
      \           if( p_tuning_space_container )\n                p_tuning_space_container->Release();\n
      \           if( p_test_tuning_space )\n                p_test_tuning_space->Release();\n
      \           if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_cqam_tune_request )\n                p_cqam_tune_request->Release();\n
      \           if( p_atsc_tune_request )\n                p_atsc_tune_request->Release();\n
      \           if( p_locator )\n                p_locator->Release();\n            if(
      p_dvbt_locator )\n                p_dvbt_locator->Release();\n            if(
      p_dvbc_locator )\n                p_dvbc_locator->Release();\n            if(
      p_dvbs_locator )\n                p_dvbs_locator->Release();\n            SysFreeString(
      bstr_name );\n            delete[] psz_bstr_name;\n            free( psz_network_name
      );\n        }\n    }::p_tuning_space_enum::Release"
    - get_UniqueName
    - get__NetworkType
    - "class localComPtr\n    {\n        public:\n        ITuningSpaceContainer*      p_tuning_space_container;\n
      \       IEnumTuningSpaces*          p_tuning_space_enum;\n        ITuningSpace*
      \              p_test_tuning_space;\n        ITuneRequest*               p_tune_request;\n
      \       IDVBTuneRequest*            p_dvb_tune_request;\n\n        IDigitalCableTuneRequest*
      \  p_cqam_tune_request;\n        IATSCChannelTuneRequest*    p_atsc_tune_request;\n
      \       ILocator*                   p_locator;\n        IDVBTLocator*               p_dvbt_locator;\n
      \       IDVBCLocator*               p_dvbc_locator;\n        IDVBSLocator*               p_dvbs_locator;\n\n
      \       BSTR                        bstr_name;\n\n        CLSID                       clsid_test_network_type;\n
      \       char*                       psz_network_name;\n        char*                       psz_bstr_name;\n
      \       int                         i_name_len;\n\n        localComPtr():\n
      \           p_tuning_space_container(NULL),\n            p_tuning_space_enum(NULL),\n
      \           p_test_tuning_space(NULL),\n            p_tune_request(NULL),\n
      \           p_dvb_tune_request(NULL),\n            p_cqam_tune_request(NULL),\n
      \           p_atsc_tune_request(NULL),\n            p_locator(NULL),\n            p_dvbt_locator(NULL),\n
      \           p_dvbc_locator(NULL),\n            p_dvbs_locator(NULL),\n            bstr_name(NULL),\n
      \           clsid_test_network_type(CLSID_NULL),\n            psz_network_name(NULL),\n
      \           psz_bstr_name(NULL),\n            i_name_len(0)\n        {}\n        ~localComPtr()\n
      \       {\n            if( p_tuning_space_enum )\n                p_tuning_space_enum->Release();\n
      \           if( p_tuning_space_container )\n                p_tuning_space_container->Release();\n
      \           if( p_test_tuning_space )\n                p_test_tuning_space->Release();\n
      \           if( p_tune_request )\n                p_tune_request->Release();\n
      \           if( p_dvb_tune_request )\n                p_dvb_tune_request->Release();\n
      \           if( p_cqam_tune_request )\n                p_cqam_tune_request->Release();\n
      \           if( p_atsc_tune_request )\n                p_atsc_tune_request->Release();\n
      \           if( p_locator )\n                p_locator->Release();\n            if(
      p_dvbt_locator )\n                p_dvbt_locator->Release();\n            if(
      p_dvbc_locator )\n                p_dvbc_locator->Release();\n            if(
      p_dvbs_locator )\n                p_dvbs_locator->Release();\n            SysFreeString(
      bstr_name );\n            delete[] psz_bstr_name;\n            free( psz_network_name
      );\n        }\n    }::p_test_tuning_space::get__NetworkType"
    - FAILED
    - put_TuningSpace
    - free
    - Validate
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT BDAGraph::SetUpTuner( REFCLSID clsid_this_network_type )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1637
    functionDepth: 0
    functionLinenumber: 1637
    functionLinenumberEnd: 1654
    functionName: localComPtr::localComPtr
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void localComPtr()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1658,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1660,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1662,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1664,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1666,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1668,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1670,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1672,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1674,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1676,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1678,1
    - Dst: SysFreeString
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1679,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1681,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1655
    functionDepth: 0
    functionLinenumber: 1655
    functionLinenumberEnd: 1682
    functionName: ~localComPtr()
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - free
    - Release
    - SysFreeString
    linkageType: ''
    returnType: void
    signature: void ~localComPtr()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1949,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1955,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1961,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1967,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:1971,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - clsid_this_network_type
    argTypes:
    - CLSID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1975
      start: 1944
    functionDepth: 1
    functionLinenumber: 1944
    functionLinenumberEnd: 1975
    functionName: BDAGraph::GetNextNetworkType
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 1
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT BDAGraph::GetNextNetworkType( CLSID* clsid_this_network_type
      )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2002,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2006,1
    - Dst: BDAGraph::GetSystem
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2015,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2019,1
    - Dst: BDAGraph::Destroy
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2021,1
    - Dst: ::CoCreateInstance
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2023,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2024,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2025,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2027,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2035,1
    - Dst: ::CoCreateInstance
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2037,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2038,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2039,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2041,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2046,1
    - Dst: AddFilter
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2047,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2048,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2050,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2066,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2072,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2074,1
    - Dst: BDAGraph::QueryInterface
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2076,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2076,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2077,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2079,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2085,1
    - Dst: BDAGraph::SetUpTuner
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2086,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2087,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2089,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2094,1
    - Dst: BDAGraph::FindFilter
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2097,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2099,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2101,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2109,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2114,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2119,1
    - Dst: BDAGraph::GetSystem
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2120,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2121,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 63
    argCount: 1
    argNames:
    - clsid_this_network_type
    argTypes:
    - REFCLSID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2123
      start: 1987
    functionDepth: 2
    functionLinenumber: 1987
    functionLinenumberEnd: 2123
    functionName: BDAGraph::Check
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 7
    functionsReached:
    - BDAGraph::GetSystem
    - BDAGraph::SetUpTuner
    - AddFilter
    - FAILED
    - var_InheritInteger
    - IID_PPV_ARGS
    - BDAGraph::QueryInterface
    - BDAGraph::FindFilter
    - BDAGraph::Release
    - msg_Dbg
    - msg_Warn
    - ::CoCreateInstance
    - BDAGraph::Destroy
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT BDAGraph::Check( REFCLSID clsid_this_network_type )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1998
      start: 1996
    functionDepth: 0
    functionLinenumber: 1996
    functionLinenumberEnd: 1998
    functionName: localComPtr::localComPtr
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void localComPtr()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2002,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1999
    functionDepth: 0
    functionLinenumber: 1999
    functionLinenumberEnd: 2003
    functionName: ~localComPtr()
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - Release
    linkageType: ''
    returnType: void
    signature: void ~localComPtr()
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2154,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2158,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2165,1
    - Dst: get_TuneRequest
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2170,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2171,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2173,1
    - Dst: get_TuningSpace
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2176,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2177,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2179,1
    - Dst: get__NetworkType
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2182,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2187,1
    - Dst: BDAGraph::FindFilter
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2190,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2192,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2196,1
    - Dst: BDAGraph::AddRef
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2200,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2204,1
    - Dst: ::CoCreateInstance
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2207,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2208,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2209,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2211,1
    - Dst: AddFilter
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2216,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2217,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2219,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2226,1
    - Dst: BDAGraph::QueryInterface
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2228,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2228,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2229,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2231,1
    - Dst: ZeroMemory
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2240,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2243,1
    - Dst: SetMediaType
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2246,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2247,1
    - Dst: BDAGraph::Connect
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2249,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2250,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2252,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2256,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2261,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2265,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2266,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2268,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2278,1
    - Dst: ::CoCreateInstance
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2280,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2281,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2282,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2284,1
    - Dst: AddFilter
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2290,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2291,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2293,1
    - Dst: BDAGraph::Connect
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2298,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2299,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2301,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2310,1
    - Dst: BDAGraph::FindFilter
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2315,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2317,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2319,1
    - Dst: SetBufferSamples
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2325,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2326,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2328,1
    - Dst: SetOneShot
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2333,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2334,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2336,1
    - Dst: SetCallback
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2345,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2346,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2348,1
    - Dst: BDAGraph::Register
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2353,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2354,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2357,1
    - Dst: BDAGraph::QueryInterface
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2362,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2362,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2363,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2365,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 124
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2373
      start: 2137
    functionDepth: 1
    functionLinenumber: 2137
    functionLinenumberEnd: 2373
    functionName: BDAGraph::Build
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 1
    functionsReached:
    - BDAGraph::Connect
    - SetCallback
    - IID_PPV_ARGS
    - BDAGraph::AddRef
    - SetMediaType
    - SUCCEEDED
    - ::CoCreateInstance
    - ZeroMemory
    - BDAGraph::FindFilter
    - SetBufferSamples
    - msg_Dbg
    - SetOneShot
    - msg_Warn
    - BDAGraph::QueryInterface
    - get_TuneRequest
    - BDAGraph::Release
    - get__NetworkType
    - get_TuningSpace
    - AddFilter
    - FAILED
    - BDAGraph::Register
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT BDAGraph::Build()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2150
      start: 2148
    functionDepth: 0
    functionLinenumber: 2148
    functionLinenumberEnd: 2150
    functionName: localComPtr::localComPtr
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void localComPtr()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2155
      start: 2151
    functionDepth: 0
    functionLinenumber: 2151
    functionLinenumberEnd: 2155
    functionName: ~localComPtr()
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - Release
    linkageType: ''
    returnType: void
    signature: void ~localComPtr()
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2409,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2411,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2413,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2415,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2417,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2419,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2421,1
    - Dst: "class localComPtr\n    {\n        public:\n        ICreateDevEnum*    p_local_system_dev_enum;\n
        \       IEnumMoniker*      p_moniker_enum;\n        IMoniker*          p_moniker;\n
        \       IBaseFilter*       p_filter;\n        IBaseFilter*       p_this_filter;\n
        \       IBindCtx*          p_bind_context;\n        IPropertyBag*      p_property_bag;\n\n
        \       char*              psz_downstream;\n        char*              psz_bstr;\n
        \       int                i_bstr_len;\n\n        localComPtr():\n            p_local_system_dev_enum(NULL),\n
        \           p_moniker_enum(NULL),\n            p_moniker(NULL),\n            p_filter(NULL),\n
        \           p_this_filter(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
        \           psz_downstream( NULL ),\n            psz_bstr( NULL )\n        {}\n
        \       ~localComPtr()\n        {\n            if( p_property_bag )\n                p_property_bag->Release();\n
        \           if( p_bind_context )\n                p_bind_context->Release();\n
        \           if( p_filter )\n                p_filter->Release();\n            if(
        p_this_filter )\n                p_this_filter->Release();\n            if(
        p_moniker )\n                p_moniker->Release();\n            if( p_moniker_enum
        )\n                p_moniker_enum->Release();\n            if( p_local_system_dev_enum
        )\n                p_local_system_dev_enum->Release();\n            if( psz_bstr
        )\n                delete[] psz_bstr;\n            if( psz_downstream )\n
        \               delete[] psz_downstream;\n        }\n    }::p_local_system_dev_enum::Release"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2432,1
    - Dst: ::CoCreateInstance
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2434,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2435,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2436,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2438,1
    - Dst: "class localComPtr\n    {\n        public:\n        ICreateDevEnum*    p_local_system_dev_enum;\n
        \       IEnumMoniker*      p_moniker_enum;\n        IMoniker*          p_moniker;\n
        \       IBaseFilter*       p_filter;\n        IBaseFilter*       p_this_filter;\n
        \       IBindCtx*          p_bind_context;\n        IPropertyBag*      p_property_bag;\n\n
        \       char*              psz_downstream;\n        char*              psz_bstr;\n
        \       int                i_bstr_len;\n\n        localComPtr():\n            p_local_system_dev_enum(NULL),\n
        \           p_moniker_enum(NULL),\n            p_moniker(NULL),\n            p_filter(NULL),\n
        \           p_this_filter(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
        \           psz_downstream( NULL ),\n            psz_bstr( NULL )\n        {}\n
        \       ~localComPtr()\n        {\n            if( p_property_bag )\n                p_property_bag->Release();\n
        \           if( p_bind_context )\n                p_bind_context->Release();\n
        \           if( p_filter )\n                p_filter->Release();\n            if(
        p_this_filter )\n                p_this_filter->Release();\n            if(
        p_moniker )\n                p_moniker->Release();\n            if( p_moniker_enum
        )\n                p_moniker_enum->Release();\n            if( p_local_system_dev_enum
        )\n                p_local_system_dev_enum->Release();\n            if( psz_bstr
        )\n                delete[] psz_bstr;\n            if( psz_downstream )\n
        \               delete[] psz_downstream;\n        }\n    }::p_moniker_enum::Release"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2445,1
    - Dst: "class localComPtr\n    {\n        public:\n        ICreateDevEnum*    p_local_system_dev_enum;\n
        \       IEnumMoniker*      p_moniker_enum;\n        IMoniker*          p_moniker;\n
        \       IBaseFilter*       p_filter;\n        IBaseFilter*       p_this_filter;\n
        \       IBindCtx*          p_bind_context;\n        IPropertyBag*      p_property_bag;\n\n
        \       char*              psz_downstream;\n        char*              psz_bstr;\n
        \       int                i_bstr_len;\n\n        localComPtr():\n            p_local_system_dev_enum(NULL),\n
        \           p_moniker_enum(NULL),\n            p_moniker(NULL),\n            p_filter(NULL),\n
        \           p_this_filter(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
        \           psz_downstream( NULL ),\n            psz_bstr( NULL )\n        {}\n
        \       ~localComPtr()\n        {\n            if( p_property_bag )\n                p_property_bag->Release();\n
        \           if( p_bind_context )\n                p_bind_context->Release();\n
        \           if( p_filter )\n                p_filter->Release();\n            if(
        p_this_filter )\n                p_this_filter->Release();\n            if(
        p_moniker )\n                p_moniker->Release();\n            if( p_moniker_enum
        )\n                p_moniker_enum->Release();\n            if( p_local_system_dev_enum
        )\n                p_local_system_dev_enum->Release();\n            if( psz_bstr
        )\n                delete[] psz_bstr;\n            if( psz_downstream )\n
        \               delete[] psz_downstream;\n        }\n    }::p_local_system_dev_enum::CreateClassEnumerator"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2447,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2449,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2451,1
    - Dst: "class localComPtr\n    {\n        public:\n        ICreateDevEnum*    p_local_system_dev_enum;\n
        \       IEnumMoniker*      p_moniker_enum;\n        IMoniker*          p_moniker;\n
        \       IBaseFilter*       p_filter;\n        IBaseFilter*       p_this_filter;\n
        \       IBindCtx*          p_bind_context;\n        IPropertyBag*      p_property_bag;\n\n
        \       char*              psz_downstream;\n        char*              psz_bstr;\n
        \       int                i_bstr_len;\n\n        localComPtr():\n            p_local_system_dev_enum(NULL),\n
        \           p_moniker_enum(NULL),\n            p_moniker(NULL),\n            p_filter(NULL),\n
        \           p_this_filter(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
        \           psz_downstream( NULL ),\n            psz_bstr( NULL )\n        {}\n
        \       ~localComPtr()\n        {\n            if( p_property_bag )\n                p_property_bag->Release();\n
        \           if( p_bind_context )\n                p_bind_context->Release();\n
        \           if( p_filter )\n                p_filter->Release();\n            if(
        p_this_filter )\n                p_this_filter->Release();\n            if(
        p_moniker )\n                p_moniker->Release();\n            if( p_moniker_enum
        )\n                p_moniker_enum->Release();\n            if( p_local_system_dev_enum
        )\n                p_local_system_dev_enum->Release();\n            if( psz_bstr
        )\n                delete[] psz_bstr;\n            if( psz_downstream )\n
        \               delete[] psz_downstream;\n        }\n    }::p_property_bag::Release"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2465,1
    - Dst: "class localComPtr\n    {\n        public:\n        ICreateDevEnum*    p_local_system_dev_enum;\n
        \       IEnumMoniker*      p_moniker_enum;\n        IMoniker*          p_moniker;\n
        \       IBaseFilter*       p_filter;\n        IBaseFilter*       p_this_filter;\n
        \       IBindCtx*          p_bind_context;\n        IPropertyBag*      p_property_bag;\n\n
        \       char*              psz_downstream;\n        char*              psz_bstr;\n
        \       int                i_bstr_len;\n\n        localComPtr():\n            p_local_system_dev_enum(NULL),\n
        \           p_moniker_enum(NULL),\n            p_moniker(NULL),\n            p_filter(NULL),\n
        \           p_this_filter(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
        \           psz_downstream( NULL ),\n            psz_bstr( NULL )\n        {}\n
        \       ~localComPtr()\n        {\n            if( p_property_bag )\n                p_property_bag->Release();\n
        \           if( p_bind_context )\n                p_bind_context->Release();\n
        \           if( p_filter )\n                p_filter->Release();\n            if(
        p_this_filter )\n                p_this_filter->Release();\n            if(
        p_moniker )\n                p_moniker->Release();\n            if( p_moniker_enum
        )\n                p_moniker_enum->Release();\n            if( p_local_system_dev_enum
        )\n                p_local_system_dev_enum->Release();\n            if( psz_bstr
        )\n                delete[] psz_bstr;\n            if( psz_downstream )\n
        \               delete[] psz_downstream;\n        }\n    }::p_filter::Release"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2469,1
    - Dst: "class localComPtr\n    {\n        public:\n        ICreateDevEnum*    p_local_system_dev_enum;\n
        \       IEnumMoniker*      p_moniker_enum;\n        IMoniker*          p_moniker;\n
        \       IBaseFilter*       p_filter;\n        IBaseFilter*       p_this_filter;\n
        \       IBindCtx*          p_bind_context;\n        IPropertyBag*      p_property_bag;\n\n
        \       char*              psz_downstream;\n        char*              psz_bstr;\n
        \       int                i_bstr_len;\n\n        localComPtr():\n            p_local_system_dev_enum(NULL),\n
        \           p_moniker_enum(NULL),\n            p_moniker(NULL),\n            p_filter(NULL),\n
        \           p_this_filter(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
        \           psz_downstream( NULL ),\n            psz_bstr( NULL )\n        {}\n
        \       ~localComPtr()\n        {\n            if( p_property_bag )\n                p_property_bag->Release();\n
        \           if( p_bind_context )\n                p_bind_context->Release();\n
        \           if( p_filter )\n                p_filter->Release();\n            if(
        p_this_filter )\n                p_this_filter->Release();\n            if(
        p_moniker )\n                p_moniker->Release();\n            if( p_moniker_enum
        )\n                p_moniker_enum->Release();\n            if( p_local_system_dev_enum
        )\n                p_local_system_dev_enum->Release();\n            if( psz_bstr
        )\n                delete[] psz_bstr;\n            if( psz_downstream )\n
        \               delete[] psz_downstream;\n        }\n    }::p_bind_context::Release"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2473,1
    - Dst: "class localComPtr\n    {\n        public:\n        ICreateDevEnum*    p_local_system_dev_enum;\n
        \       IEnumMoniker*      p_moniker_enum;\n        IMoniker*          p_moniker;\n
        \       IBaseFilter*       p_filter;\n        IBaseFilter*       p_this_filter;\n
        \       IBindCtx*          p_bind_context;\n        IPropertyBag*      p_property_bag;\n\n
        \       char*              psz_downstream;\n        char*              psz_bstr;\n
        \       int                i_bstr_len;\n\n        localComPtr():\n            p_local_system_dev_enum(NULL),\n
        \           p_moniker_enum(NULL),\n            p_moniker(NULL),\n            p_filter(NULL),\n
        \           p_this_filter(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
        \           psz_downstream( NULL ),\n            psz_bstr( NULL )\n        {}\n
        \       ~localComPtr()\n        {\n            if( p_property_bag )\n                p_property_bag->Release();\n
        \           if( p_bind_context )\n                p_bind_context->Release();\n
        \           if( p_filter )\n                p_filter->Release();\n            if(
        p_this_filter )\n                p_this_filter->Release();\n            if(
        p_moniker )\n                p_moniker->Release();\n            if( p_moniker_enum
        )\n                p_moniker_enum->Release();\n            if( p_local_system_dev_enum
        )\n                p_local_system_dev_enum->Release();\n            if( psz_bstr
        )\n                delete[] psz_bstr;\n            if( psz_downstream )\n
        \               delete[] psz_downstream;\n        }\n    }::p_moniker::Release"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2477,1
    - Dst: "class localComPtr\n    {\n        public:\n        ICreateDevEnum*    p_local_system_dev_enum;\n
        \       IEnumMoniker*      p_moniker_enum;\n        IMoniker*          p_moniker;\n
        \       IBaseFilter*       p_filter;\n        IBaseFilter*       p_this_filter;\n
        \       IBindCtx*          p_bind_context;\n        IPropertyBag*      p_property_bag;\n\n
        \       char*              psz_downstream;\n        char*              psz_bstr;\n
        \       int                i_bstr_len;\n\n        localComPtr():\n            p_local_system_dev_enum(NULL),\n
        \           p_moniker_enum(NULL),\n            p_moniker(NULL),\n            p_filter(NULL),\n
        \           p_this_filter(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
        \           psz_downstream( NULL ),\n            psz_bstr( NULL )\n        {}\n
        \       ~localComPtr()\n        {\n            if( p_property_bag )\n                p_property_bag->Release();\n
        \           if( p_bind_context )\n                p_bind_context->Release();\n
        \           if( p_filter )\n                p_filter->Release();\n            if(
        p_this_filter )\n                p_this_filter->Release();\n            if(
        p_moniker )\n                p_moniker->Release();\n            if( p_moniker_enum
        )\n                p_moniker_enum->Release();\n            if( p_local_system_dev_enum
        )\n                p_local_system_dev_enum->Release();\n            if( psz_bstr
        )\n                delete[] psz_bstr;\n            if( psz_downstream )\n
        \               delete[] psz_downstream;\n        }\n    }::p_moniker_enum::Next"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2482,1
    - Dst: CreateBindCtx
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2486,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2487,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2489,1
    - Dst: "class localComPtr\n    {\n        public:\n        ICreateDevEnum*    p_local_system_dev_enum;\n
        \       IEnumMoniker*      p_moniker_enum;\n        IMoniker*          p_moniker;\n
        \       IBaseFilter*       p_filter;\n        IBaseFilter*       p_this_filter;\n
        \       IBindCtx*          p_bind_context;\n        IPropertyBag*      p_property_bag;\n\n
        \       char*              psz_downstream;\n        char*              psz_bstr;\n
        \       int                i_bstr_len;\n\n        localComPtr():\n            p_local_system_dev_enum(NULL),\n
        \           p_moniker_enum(NULL),\n            p_moniker(NULL),\n            p_filter(NULL),\n
        \           p_this_filter(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
        \           psz_downstream( NULL ),\n            psz_bstr( NULL )\n        {}\n
        \       ~localComPtr()\n        {\n            if( p_property_bag )\n                p_property_bag->Release();\n
        \           if( p_bind_context )\n                p_bind_context->Release();\n
        \           if( p_filter )\n                p_filter->Release();\n            if(
        p_this_filter )\n                p_this_filter->Release();\n            if(
        p_moniker )\n                p_moniker->Release();\n            if( p_moniker_enum
        )\n                p_moniker_enum->Release();\n            if( p_local_system_dev_enum
        )\n                p_local_system_dev_enum->Release();\n            if( psz_bstr
        )\n                delete[] psz_bstr;\n            if( psz_downstream )\n
        \               delete[] psz_downstream;\n        }\n    }::p_moniker::BindToObject"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2495,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2496,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2497,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2499,1
    - Dst: "class localComPtr\n    {\n        public:\n        ICreateDevEnum*    p_local_system_dev_enum;\n
        \       IEnumMoniker*      p_moniker_enum;\n        IMoniker*          p_moniker;\n
        \       IBaseFilter*       p_filter;\n        IBaseFilter*       p_this_filter;\n
        \       IBindCtx*          p_bind_context;\n        IPropertyBag*      p_property_bag;\n\n
        \       char*              psz_downstream;\n        char*              psz_bstr;\n
        \       int                i_bstr_len;\n\n        localComPtr():\n            p_local_system_dev_enum(NULL),\n
        \           p_moniker_enum(NULL),\n            p_moniker(NULL),\n            p_filter(NULL),\n
        \           p_this_filter(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
        \           psz_downstream( NULL ),\n            psz_bstr( NULL )\n        {}\n
        \       ~localComPtr()\n        {\n            if( p_property_bag )\n                p_property_bag->Release();\n
        \           if( p_bind_context )\n                p_bind_context->Release();\n
        \           if( p_filter )\n                p_filter->Release();\n            if(
        p_this_filter )\n                p_this_filter->Release();\n            if(
        p_moniker )\n                p_moniker->Release();\n            if( p_moniker_enum
        )\n                p_moniker_enum->Release();\n            if( p_local_system_dev_enum
        )\n                p_local_system_dev_enum->Release();\n            if( psz_bstr
        )\n                delete[] psz_bstr;\n            if( psz_downstream )\n
        \               delete[] psz_downstream;\n        }\n    }::p_moniker::GetDisplayName"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2507,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2509,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2511,1
    - Dst: WideCharToMultiByte
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2518,1
    - Dst: char::char
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2520,1
    - Dst: WideCharToMultiByte
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2521,1
    - Dst: ::CoGetMalloc
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2525,1
    - Dst: LPMALLOC::Free
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2526,1
    - Dst: LPMALLOC::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2527,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2528,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2531,1
    - Dst: "class localComPtr\n    {\n        public:\n        ICreateDevEnum*    p_local_system_dev_enum;\n
        \       IEnumMoniker*      p_moniker_enum;\n        IMoniker*          p_moniker;\n
        \       IBaseFilter*       p_filter;\n        IBaseFilter*       p_this_filter;\n
        \       IBindCtx*          p_bind_context;\n        IPropertyBag*      p_property_bag;\n\n
        \       char*              psz_downstream;\n        char*              psz_bstr;\n
        \       int                i_bstr_len;\n\n        localComPtr():\n            p_local_system_dev_enum(NULL),\n
        \           p_moniker_enum(NULL),\n            p_moniker(NULL),\n            p_filter(NULL),\n
        \           p_this_filter(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
        \           psz_downstream( NULL ),\n            psz_bstr( NULL )\n        {}\n
        \       ~localComPtr()\n        {\n            if( p_property_bag )\n                p_property_bag->Release();\n
        \           if( p_bind_context )\n                p_bind_context->Release();\n
        \           if( p_filter )\n                p_filter->Release();\n            if(
        p_this_filter )\n                p_this_filter->Release();\n            if(
        p_moniker )\n                p_moniker->Release();\n            if( p_moniker_enum
        )\n                p_moniker_enum->Release();\n            if( p_local_system_dev_enum
        )\n                p_local_system_dev_enum->Release();\n            if( psz_bstr
        )\n                delete[] psz_bstr;\n            if( psz_downstream )\n
        \               delete[] psz_downstream;\n        }\n    }::p_moniker::BindToStorage"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2534,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2535,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2536,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2538,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 87
    argCount: 1
    argNames:
    - this_clsid
    argTypes:
    - REFCLSID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2548
      start: 2376
    functionDepth: 1
    functionLinenumber: 2376
    functionLinenumberEnd: 2548
    functionName: BDAGraph::ListFilters
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - "class localComPtr\n    {\n        public:\n        ICreateDevEnum*    p_local_system_dev_enum;\n
      \       IEnumMoniker*      p_moniker_enum;\n        IMoniker*          p_moniker;\n
      \       IBaseFilter*       p_filter;\n        IBaseFilter*       p_this_filter;\n
      \       IBindCtx*          p_bind_context;\n        IPropertyBag*      p_property_bag;\n\n
      \       char*              psz_downstream;\n        char*              psz_bstr;\n
      \       int                i_bstr_len;\n\n        localComPtr():\n            p_local_system_dev_enum(NULL),\n
      \           p_moniker_enum(NULL),\n            p_moniker(NULL),\n            p_filter(NULL),\n
      \           p_this_filter(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
      \           psz_downstream( NULL ),\n            psz_bstr( NULL )\n        {}\n
      \       ~localComPtr()\n        {\n            if( p_property_bag )\n                p_property_bag->Release();\n
      \           if( p_bind_context )\n                p_bind_context->Release();\n
      \           if( p_filter )\n                p_filter->Release();\n            if(
      p_this_filter )\n                p_this_filter->Release();\n            if(
      p_moniker )\n                p_moniker->Release();\n            if( p_moniker_enum
      )\n                p_moniker_enum->Release();\n            if( p_local_system_dev_enum
      )\n                p_local_system_dev_enum->Release();\n            if( psz_bstr
      )\n                delete[] psz_bstr;\n            if( psz_downstream )\n                delete[]
      psz_downstream;\n        }\n    }::p_moniker::GetDisplayName"
    - WideCharToMultiByte
    - "class localComPtr\n    {\n        public:\n        ICreateDevEnum*    p_local_system_dev_enum;\n
      \       IEnumMoniker*      p_moniker_enum;\n        IMoniker*          p_moniker;\n
      \       IBaseFilter*       p_filter;\n        IBaseFilter*       p_this_filter;\n
      \       IBindCtx*          p_bind_context;\n        IPropertyBag*      p_property_bag;\n\n
      \       char*              psz_downstream;\n        char*              psz_bstr;\n
      \       int                i_bstr_len;\n\n        localComPtr():\n            p_local_system_dev_enum(NULL),\n
      \           p_moniker_enum(NULL),\n            p_moniker(NULL),\n            p_filter(NULL),\n
      \           p_this_filter(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
      \           psz_downstream( NULL ),\n            psz_bstr( NULL )\n        {}\n
      \       ~localComPtr()\n        {\n            if( p_property_bag )\n                p_property_bag->Release();\n
      \           if( p_bind_context )\n                p_bind_context->Release();\n
      \           if( p_filter )\n                p_filter->Release();\n            if(
      p_this_filter )\n                p_this_filter->Release();\n            if(
      p_moniker )\n                p_moniker->Release();\n            if( p_moniker_enum
      )\n                p_moniker_enum->Release();\n            if( p_local_system_dev_enum
      )\n                p_local_system_dev_enum->Release();\n            if( psz_bstr
      )\n                delete[] psz_bstr;\n            if( psz_downstream )\n                delete[]
      psz_downstream;\n        }\n    }::p_moniker::BindToStorage"
    - IID_PPV_ARGS
    - ::CoCreateInstance
    - char::char
    - CreateBindCtx
    - "class localComPtr\n    {\n        public:\n        ICreateDevEnum*    p_local_system_dev_enum;\n
      \       IEnumMoniker*      p_moniker_enum;\n        IMoniker*          p_moniker;\n
      \       IBaseFilter*       p_filter;\n        IBaseFilter*       p_this_filter;\n
      \       IBindCtx*          p_bind_context;\n        IPropertyBag*      p_property_bag;\n\n
      \       char*              psz_downstream;\n        char*              psz_bstr;\n
      \       int                i_bstr_len;\n\n        localComPtr():\n            p_local_system_dev_enum(NULL),\n
      \           p_moniker_enum(NULL),\n            p_moniker(NULL),\n            p_filter(NULL),\n
      \           p_this_filter(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
      \           psz_downstream( NULL ),\n            psz_bstr( NULL )\n        {}\n
      \       ~localComPtr()\n        {\n            if( p_property_bag )\n                p_property_bag->Release();\n
      \           if( p_bind_context )\n                p_bind_context->Release();\n
      \           if( p_filter )\n                p_filter->Release();\n            if(
      p_this_filter )\n                p_this_filter->Release();\n            if(
      p_moniker )\n                p_moniker->Release();\n            if( p_moniker_enum
      )\n                p_moniker_enum->Release();\n            if( p_local_system_dev_enum
      )\n                p_local_system_dev_enum->Release();\n            if( psz_bstr
      )\n                delete[] psz_bstr;\n            if( psz_downstream )\n                delete[]
      psz_downstream;\n        }\n    }::p_bind_context::Release"
    - "class localComPtr\n    {\n        public:\n        ICreateDevEnum*    p_local_system_dev_enum;\n
      \       IEnumMoniker*      p_moniker_enum;\n        IMoniker*          p_moniker;\n
      \       IBaseFilter*       p_filter;\n        IBaseFilter*       p_this_filter;\n
      \       IBindCtx*          p_bind_context;\n        IPropertyBag*      p_property_bag;\n\n
      \       char*              psz_downstream;\n        char*              psz_bstr;\n
      \       int                i_bstr_len;\n\n        localComPtr():\n            p_local_system_dev_enum(NULL),\n
      \           p_moniker_enum(NULL),\n            p_moniker(NULL),\n            p_filter(NULL),\n
      \           p_this_filter(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
      \           psz_downstream( NULL ),\n            psz_bstr( NULL )\n        {}\n
      \       ~localComPtr()\n        {\n            if( p_property_bag )\n                p_property_bag->Release();\n
      \           if( p_bind_context )\n                p_bind_context->Release();\n
      \           if( p_filter )\n                p_filter->Release();\n            if(
      p_this_filter )\n                p_this_filter->Release();\n            if(
      p_moniker )\n                p_moniker->Release();\n            if( p_moniker_enum
      )\n                p_moniker_enum->Release();\n            if( p_local_system_dev_enum
      )\n                p_local_system_dev_enum->Release();\n            if( psz_bstr
      )\n                delete[] psz_bstr;\n            if( psz_downstream )\n                delete[]
      psz_downstream;\n        }\n    }::p_local_system_dev_enum::CreateClassEnumerator"
    - "class localComPtr\n    {\n        public:\n        ICreateDevEnum*    p_local_system_dev_enum;\n
      \       IEnumMoniker*      p_moniker_enum;\n        IMoniker*          p_moniker;\n
      \       IBaseFilter*       p_filter;\n        IBaseFilter*       p_this_filter;\n
      \       IBindCtx*          p_bind_context;\n        IPropertyBag*      p_property_bag;\n\n
      \       char*              psz_downstream;\n        char*              psz_bstr;\n
      \       int                i_bstr_len;\n\n        localComPtr():\n            p_local_system_dev_enum(NULL),\n
      \           p_moniker_enum(NULL),\n            p_moniker(NULL),\n            p_filter(NULL),\n
      \           p_this_filter(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
      \           psz_downstream( NULL ),\n            psz_bstr( NULL )\n        {}\n
      \       ~localComPtr()\n        {\n            if( p_property_bag )\n                p_property_bag->Release();\n
      \           if( p_bind_context )\n                p_bind_context->Release();\n
      \           if( p_filter )\n                p_filter->Release();\n            if(
      p_this_filter )\n                p_this_filter->Release();\n            if(
      p_moniker )\n                p_moniker->Release();\n            if( p_moniker_enum
      )\n                p_moniker_enum->Release();\n            if( p_local_system_dev_enum
      )\n                p_local_system_dev_enum->Release();\n            if( psz_bstr
      )\n                delete[] psz_bstr;\n            if( psz_downstream )\n                delete[]
      psz_downstream;\n        }\n    }::p_local_system_dev_enum::Release"
    - "class localComPtr\n    {\n        public:\n        ICreateDevEnum*    p_local_system_dev_enum;\n
      \       IEnumMoniker*      p_moniker_enum;\n        IMoniker*          p_moniker;\n
      \       IBaseFilter*       p_filter;\n        IBaseFilter*       p_this_filter;\n
      \       IBindCtx*          p_bind_context;\n        IPropertyBag*      p_property_bag;\n\n
      \       char*              psz_downstream;\n        char*              psz_bstr;\n
      \       int                i_bstr_len;\n\n        localComPtr():\n            p_local_system_dev_enum(NULL),\n
      \           p_moniker_enum(NULL),\n            p_moniker(NULL),\n            p_filter(NULL),\n
      \           p_this_filter(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
      \           psz_downstream( NULL ),\n            psz_bstr( NULL )\n        {}\n
      \       ~localComPtr()\n        {\n            if( p_property_bag )\n                p_property_bag->Release();\n
      \           if( p_bind_context )\n                p_bind_context->Release();\n
      \           if( p_filter )\n                p_filter->Release();\n            if(
      p_this_filter )\n                p_this_filter->Release();\n            if(
      p_moniker )\n                p_moniker->Release();\n            if( p_moniker_enum
      )\n                p_moniker_enum->Release();\n            if( p_local_system_dev_enum
      )\n                p_local_system_dev_enum->Release();\n            if( psz_bstr
      )\n                delete[] psz_bstr;\n            if( psz_downstream )\n                delete[]
      psz_downstream;\n        }\n    }::p_moniker_enum::Release"
    - msg_Dbg
    - msg_Warn
    - "class localComPtr\n    {\n        public:\n        ICreateDevEnum*    p_local_system_dev_enum;\n
      \       IEnumMoniker*      p_moniker_enum;\n        IMoniker*          p_moniker;\n
      \       IBaseFilter*       p_filter;\n        IBaseFilter*       p_this_filter;\n
      \       IBindCtx*          p_bind_context;\n        IPropertyBag*      p_property_bag;\n\n
      \       char*              psz_downstream;\n        char*              psz_bstr;\n
      \       int                i_bstr_len;\n\n        localComPtr():\n            p_local_system_dev_enum(NULL),\n
      \           p_moniker_enum(NULL),\n            p_moniker(NULL),\n            p_filter(NULL),\n
      \           p_this_filter(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
      \           psz_downstream( NULL ),\n            psz_bstr( NULL )\n        {}\n
      \       ~localComPtr()\n        {\n            if( p_property_bag )\n                p_property_bag->Release();\n
      \           if( p_bind_context )\n                p_bind_context->Release();\n
      \           if( p_filter )\n                p_filter->Release();\n            if(
      p_this_filter )\n                p_this_filter->Release();\n            if(
      p_moniker )\n                p_moniker->Release();\n            if( p_moniker_enum
      )\n                p_moniker_enum->Release();\n            if( p_local_system_dev_enum
      )\n                p_local_system_dev_enum->Release();\n            if( psz_bstr
      )\n                delete[] psz_bstr;\n            if( psz_downstream )\n                delete[]
      psz_downstream;\n        }\n    }::p_moniker_enum::Next"
    - ::CoGetMalloc
    - strdup
    - LPMALLOC::Free
    - BDAGraph::Release
    - "class localComPtr\n    {\n        public:\n        ICreateDevEnum*    p_local_system_dev_enum;\n
      \       IEnumMoniker*      p_moniker_enum;\n        IMoniker*          p_moniker;\n
      \       IBaseFilter*       p_filter;\n        IBaseFilter*       p_this_filter;\n
      \       IBindCtx*          p_bind_context;\n        IPropertyBag*      p_property_bag;\n\n
      \       char*              psz_downstream;\n        char*              psz_bstr;\n
      \       int                i_bstr_len;\n\n        localComPtr():\n            p_local_system_dev_enum(NULL),\n
      \           p_moniker_enum(NULL),\n            p_moniker(NULL),\n            p_filter(NULL),\n
      \           p_this_filter(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
      \           psz_downstream( NULL ),\n            psz_bstr( NULL )\n        {}\n
      \       ~localComPtr()\n        {\n            if( p_property_bag )\n                p_property_bag->Release();\n
      \           if( p_bind_context )\n                p_bind_context->Release();\n
      \           if( p_filter )\n                p_filter->Release();\n            if(
      p_this_filter )\n                p_this_filter->Release();\n            if(
      p_moniker )\n                p_moniker->Release();\n            if( p_moniker_enum
      )\n                p_moniker_enum->Release();\n            if( p_local_system_dev_enum
      )\n                p_local_system_dev_enum->Release();\n            if( psz_bstr
      )\n                delete[] psz_bstr;\n            if( psz_downstream )\n                delete[]
      psz_downstream;\n        }\n    }::p_filter::Release"
    - "class localComPtr\n    {\n        public:\n        ICreateDevEnum*    p_local_system_dev_enum;\n
      \       IEnumMoniker*      p_moniker_enum;\n        IMoniker*          p_moniker;\n
      \       IBaseFilter*       p_filter;\n        IBaseFilter*       p_this_filter;\n
      \       IBindCtx*          p_bind_context;\n        IPropertyBag*      p_property_bag;\n\n
      \       char*              psz_downstream;\n        char*              psz_bstr;\n
      \       int                i_bstr_len;\n\n        localComPtr():\n            p_local_system_dev_enum(NULL),\n
      \           p_moniker_enum(NULL),\n            p_moniker(NULL),\n            p_filter(NULL),\n
      \           p_this_filter(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
      \           psz_downstream( NULL ),\n            psz_bstr( NULL )\n        {}\n
      \       ~localComPtr()\n        {\n            if( p_property_bag )\n                p_property_bag->Release();\n
      \           if( p_bind_context )\n                p_bind_context->Release();\n
      \           if( p_filter )\n                p_filter->Release();\n            if(
      p_this_filter )\n                p_this_filter->Release();\n            if(
      p_moniker )\n                p_moniker->Release();\n            if( p_moniker_enum
      )\n                p_moniker_enum->Release();\n            if( p_local_system_dev_enum
      )\n                p_local_system_dev_enum->Release();\n            if( psz_bstr
      )\n                delete[] psz_bstr;\n            if( psz_downstream )\n                delete[]
      psz_downstream;\n        }\n    }::p_property_bag::Release"
    - "class localComPtr\n    {\n        public:\n        ICreateDevEnum*    p_local_system_dev_enum;\n
      \       IEnumMoniker*      p_moniker_enum;\n        IMoniker*          p_moniker;\n
      \       IBaseFilter*       p_filter;\n        IBaseFilter*       p_this_filter;\n
      \       IBindCtx*          p_bind_context;\n        IPropertyBag*      p_property_bag;\n\n
      \       char*              psz_downstream;\n        char*              psz_bstr;\n
      \       int                i_bstr_len;\n\n        localComPtr():\n            p_local_system_dev_enum(NULL),\n
      \           p_moniker_enum(NULL),\n            p_moniker(NULL),\n            p_filter(NULL),\n
      \           p_this_filter(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
      \           psz_downstream( NULL ),\n            psz_bstr( NULL )\n        {}\n
      \       ~localComPtr()\n        {\n            if( p_property_bag )\n                p_property_bag->Release();\n
      \           if( p_bind_context )\n                p_bind_context->Release();\n
      \           if( p_filter )\n                p_filter->Release();\n            if(
      p_this_filter )\n                p_this_filter->Release();\n            if(
      p_moniker )\n                p_moniker->Release();\n            if( p_moniker_enum
      )\n                p_moniker_enum->Release();\n            if( p_local_system_dev_enum
      )\n                p_local_system_dev_enum->Release();\n            if( psz_bstr
      )\n                delete[] psz_bstr;\n            if( psz_downstream )\n                delete[]
      psz_downstream;\n        }\n    }::p_moniker::BindToObject"
    - "class localComPtr\n    {\n        public:\n        ICreateDevEnum*    p_local_system_dev_enum;\n
      \       IEnumMoniker*      p_moniker_enum;\n        IMoniker*          p_moniker;\n
      \       IBaseFilter*       p_filter;\n        IBaseFilter*       p_this_filter;\n
      \       IBindCtx*          p_bind_context;\n        IPropertyBag*      p_property_bag;\n\n
      \       char*              psz_downstream;\n        char*              psz_bstr;\n
      \       int                i_bstr_len;\n\n        localComPtr():\n            p_local_system_dev_enum(NULL),\n
      \           p_moniker_enum(NULL),\n            p_moniker(NULL),\n            p_filter(NULL),\n
      \           p_this_filter(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
      \           psz_downstream( NULL ),\n            psz_bstr( NULL )\n        {}\n
      \       ~localComPtr()\n        {\n            if( p_property_bag )\n                p_property_bag->Release();\n
      \           if( p_bind_context )\n                p_bind_context->Release();\n
      \           if( p_filter )\n                p_filter->Release();\n            if(
      p_this_filter )\n                p_this_filter->Release();\n            if(
      p_moniker )\n                p_moniker->Release();\n            if( p_moniker_enum
      )\n                p_moniker_enum->Release();\n            if( p_local_system_dev_enum
      )\n                p_local_system_dev_enum->Release();\n            if( psz_bstr
      )\n                delete[] psz_bstr;\n            if( psz_downstream )\n                delete[]
      psz_downstream;\n        }\n    }::p_moniker::Release"
    - FAILED
    - LPMALLOC::Release
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT BDAGraph::ListFilters( REFCLSID this_clsid )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2405
      start: 2395
    functionDepth: 0
    functionLinenumber: 2395
    functionLinenumberEnd: 2405
    functionName: localComPtr::localComPtr
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void localComPtr()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2409,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2411,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2413,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2415,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2417,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2419,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2421,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2426
      start: 2406
    functionDepth: 0
    functionLinenumber: 2406
    functionLinenumberEnd: 2426
    functionName: ~localComPtr()
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - Release
    linkageType: ''
    returnType: void
    signature: void ~localComPtr()
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: ::VariantInit
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2584,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2589,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2591,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2593,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2595,1
    - Dst: ::VariantClear
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2601,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2609,1
    - Dst: ::CoCreateInstance
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2610,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2611,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2612,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2614,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2620,1
    - Dst: CreateClassEnumerator
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2621,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2623,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2625,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2630,1
    - Dst: BDAGraph::GetFilterName
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2631,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2632,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2634,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2639,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2647,1
    - Dst: "class localComPtr\n    {\n        public:\n        IEnumMoniker*  p_moniker_enum;\n
        \       IMoniker*      p_moniker;\n        IBindCtx*      p_bind_context;\n
        \       IPropertyBag*  p_property_bag;\n        char*          psz_upstream;\n\n
        \       char*          psz_downstream;\n        VARIANT        var_bstr;\n
        \       int            i_bstr_len;\n        localComPtr():\n            p_moniker_enum(NULL),\n
        \           p_moniker(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
        \           psz_upstream( NULL ),\n            psz_downstream( NULL )\n        {\n
        \           ::VariantInit(&var_bstr);\n        }\n        ~localComPtr()\n
        \       {\n            if( p_moniker_enum )\n                p_moniker_enum->Release();\n
        \           if( p_moniker )\n                p_moniker->Release();\n            if(
        p_bind_context )\n                p_bind_context->Release();\n            if(
        p_property_bag )\n                p_property_bag->Release();\n            if(
        psz_upstream )\n                delete[] psz_upstream;\n            if( psz_downstream
        )\n                delete[] psz_downstream;\n\n            ::VariantClear(&var_bstr);\n
        \       }\n    }::p_property_bag::Release"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2649,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2651,1
    - Dst: "class localComPtr\n    {\n        public:\n        IEnumMoniker*  p_moniker_enum;\n
        \       IMoniker*      p_moniker;\n        IBindCtx*      p_bind_context;\n
        \       IPropertyBag*  p_property_bag;\n        char*          psz_upstream;\n\n
        \       char*          psz_downstream;\n        VARIANT        var_bstr;\n
        \       int            i_bstr_len;\n        localComPtr():\n            p_moniker_enum(NULL),\n
        \           p_moniker(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
        \           psz_upstream( NULL ),\n            psz_downstream( NULL )\n        {\n
        \           ::VariantInit(&var_bstr);\n        }\n        ~localComPtr()\n
        \       {\n            if( p_moniker_enum )\n                p_moniker_enum->Release();\n
        \           if( p_moniker )\n                p_moniker->Release();\n            if(
        p_bind_context )\n                p_bind_context->Release();\n            if(
        p_property_bag )\n                p_property_bag->Release();\n            if(
        psz_upstream )\n                delete[] psz_upstream;\n            if( psz_downstream
        )\n                delete[] psz_downstream;\n\n            ::VariantClear(&var_bstr);\n
        \       }\n    }::p_bind_context::Release"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2653,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2655,1
    - Dst: "class localComPtr\n    {\n        public:\n        IEnumMoniker*  p_moniker_enum;\n
        \       IMoniker*      p_moniker;\n        IBindCtx*      p_bind_context;\n
        \       IPropertyBag*  p_property_bag;\n        char*          psz_upstream;\n\n
        \       char*          psz_downstream;\n        VARIANT        var_bstr;\n
        \       int            i_bstr_len;\n        localComPtr():\n            p_moniker_enum(NULL),\n
        \           p_moniker(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
        \           psz_upstream( NULL ),\n            psz_downstream( NULL )\n        {\n
        \           ::VariantInit(&var_bstr);\n        }\n        ~localComPtr()\n
        \       {\n            if( p_moniker_enum )\n                p_moniker_enum->Release();\n
        \           if( p_moniker )\n                p_moniker->Release();\n            if(
        p_bind_context )\n                p_bind_context->Release();\n            if(
        p_property_bag )\n                p_property_bag->Release();\n            if(
        psz_upstream )\n                delete[] psz_upstream;\n            if( psz_downstream
        )\n                delete[] psz_downstream;\n\n            ::VariantClear(&var_bstr);\n
        \       }\n    }::p_moniker::Release"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2657,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2658,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2661,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2663,1
    - Dst: "class localComPtr\n    {\n        public:\n        IEnumMoniker*  p_moniker_enum;\n
        \       IMoniker*      p_moniker;\n        IBindCtx*      p_bind_context;\n
        \       IPropertyBag*  p_property_bag;\n        char*          psz_upstream;\n\n
        \       char*          psz_downstream;\n        VARIANT        var_bstr;\n
        \       int            i_bstr_len;\n        localComPtr():\n            p_moniker_enum(NULL),\n
        \           p_moniker(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
        \           psz_upstream( NULL ),\n            psz_downstream( NULL )\n        {\n
        \           ::VariantInit(&var_bstr);\n        }\n        ~localComPtr()\n
        \       {\n            if( p_moniker_enum )\n                p_moniker_enum->Release();\n
        \           if( p_moniker )\n                p_moniker->Release();\n            if(
        p_bind_context )\n                p_bind_context->Release();\n            if(
        p_property_bag )\n                p_property_bag->Release();\n            if(
        psz_upstream )\n                delete[] psz_upstream;\n            if( psz_downstream
        )\n                delete[] psz_downstream;\n\n            ::VariantClear(&var_bstr);\n
        \       }\n    }::p_moniker_enum::Next"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2664,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2670,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2676,1
    - Dst: CreateBindCtx
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2677,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2678,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2680,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2685,1
    - Dst: "class localComPtr\n    {\n        public:\n        IEnumMoniker*  p_moniker_enum;\n
        \       IMoniker*      p_moniker;\n        IBindCtx*      p_bind_context;\n
        \       IPropertyBag*  p_property_bag;\n        char*          psz_upstream;\n\n
        \       char*          psz_downstream;\n        VARIANT        var_bstr;\n
        \       int            i_bstr_len;\n        localComPtr():\n            p_moniker_enum(NULL),\n
        \           p_moniker(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
        \           psz_upstream( NULL ),\n            psz_downstream( NULL )\n        {\n
        \           ::VariantInit(&var_bstr);\n        }\n        ~localComPtr()\n
        \       {\n            if( p_moniker_enum )\n                p_moniker_enum->Release();\n
        \           if( p_moniker )\n                p_moniker->Release();\n            if(
        p_bind_context )\n                p_bind_context->Release();\n            if(
        p_property_bag )\n                p_property_bag->Release();\n            if(
        psz_upstream )\n                delete[] psz_upstream;\n            if( psz_downstream
        )\n                delete[] psz_downstream;\n\n            ::VariantClear(&var_bstr);\n
        \       }\n    }::p_moniker::BindToObject"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2687,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2688,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2689,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2691,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2697,1
    - Dst: "class localComPtr\n    {\n        public:\n        IEnumMoniker*  p_moniker_enum;\n
        \       IMoniker*      p_moniker;\n        IBindCtx*      p_bind_context;\n
        \       IPropertyBag*  p_property_bag;\n        char*          psz_upstream;\n\n
        \       char*          psz_downstream;\n        VARIANT        var_bstr;\n
        \       int            i_bstr_len;\n        localComPtr():\n            p_moniker_enum(NULL),\n
        \           p_moniker(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
        \           psz_upstream( NULL ),\n            psz_downstream( NULL )\n        {\n
        \           ::VariantInit(&var_bstr);\n        }\n        ~localComPtr()\n
        \       {\n            if( p_moniker_enum )\n                p_moniker_enum->Release();\n
        \           if( p_moniker )\n                p_moniker->Release();\n            if(
        p_bind_context )\n                p_bind_context->Release();\n            if(
        p_property_bag )\n                p_property_bag->Release();\n            if(
        psz_upstream )\n                delete[] psz_upstream;\n            if( psz_downstream
        )\n                delete[] psz_downstream;\n\n            ::VariantClear(&var_bstr);\n
        \       }\n    }::p_moniker::GetDisplayName"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2701,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2703,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2705,1
    - Dst: WideCharToMultiByte
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2712,1
    - Dst: char::char
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2714,1
    - Dst: WideCharToMultiByte
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2715,1
    - Dst: ::CoGetMalloc
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2719,1
    - Dst: LPMALLOC::Free
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2720,1
    - Dst: LPMALLOC::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2721,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2723,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2727,1
    - Dst: "class localComPtr\n    {\n        public:\n        IEnumMoniker*  p_moniker_enum;\n
        \       IMoniker*      p_moniker;\n        IBindCtx*      p_bind_context;\n
        \       IPropertyBag*  p_property_bag;\n        char*          psz_upstream;\n\n
        \       char*          psz_downstream;\n        VARIANT        var_bstr;\n
        \       int            i_bstr_len;\n        localComPtr():\n            p_moniker_enum(NULL),\n
        \           p_moniker(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
        \           psz_upstream( NULL ),\n            psz_downstream( NULL )\n        {\n
        \           ::VariantInit(&var_bstr);\n        }\n        ~localComPtr()\n
        \       {\n            if( p_moniker_enum )\n                p_moniker_enum->Release();\n
        \           if( p_moniker )\n                p_moniker->Release();\n            if(
        p_bind_context )\n                p_bind_context->Release();\n            if(
        p_property_bag )\n                p_property_bag->Release();\n            if(
        psz_upstream )\n                delete[] psz_upstream;\n            if( psz_downstream
        )\n                delete[] psz_downstream;\n\n            ::VariantClear(&var_bstr);\n
        \       }\n    }::p_moniker::BindToStorage"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2729,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2730,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2731,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2733,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2738,1
    - Dst: "class localComPtr\n    {\n        public:\n        IEnumMoniker*  p_moniker_enum;\n
        \       IMoniker*      p_moniker;\n        IBindCtx*      p_bind_context;\n
        \       IPropertyBag*  p_property_bag;\n        char*          psz_upstream;\n\n
        \       char*          psz_downstream;\n        VARIANT        var_bstr;\n
        \       int            i_bstr_len;\n        localComPtr():\n            p_moniker_enum(NULL),\n
        \           p_moniker(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
        \           psz_upstream( NULL ),\n            psz_downstream( NULL )\n        {\n
        \           ::VariantInit(&var_bstr);\n        }\n        ~localComPtr()\n
        \       {\n            if( p_moniker_enum )\n                p_moniker_enum->Release();\n
        \           if( p_moniker )\n                p_moniker->Release();\n            if(
        p_bind_context )\n                p_bind_context->Release();\n            if(
        p_property_bag )\n                p_property_bag->Release();\n            if(
        psz_upstream )\n                delete[] psz_upstream;\n            if( psz_downstream
        )\n                delete[] psz_downstream;\n\n            ::VariantClear(&var_bstr);\n
        \       }\n    }::p_property_bag::Read"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2739,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2740,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2742,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2747,1
    - Dst: AddFilter
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2748,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2749,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2751,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2756,1
    - Dst: BDAGraph::Connect
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2758,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2759,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2761,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2768,1
    - Dst: RemoveFilter
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2769,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2770,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2772,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2776,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2781,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 127
    argCount: 4
    argNames:
    - this_clsid
    - i_moniker_used
    - p_upstream
    - p_p_downstream
    argTypes:
    - REFCLSID
    - long*
    - IBaseFilter*
    - IBaseFilter**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2784
      start: 2559
    functionDepth: 1
    functionLinenumber: 2559
    functionLinenumberEnd: 2784
    functionName: BDAGraph::FindFilter
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 2
    functionsReached:
    - BDAGraph::Connect
    - "class localComPtr\n    {\n        public:\n        IEnumMoniker*  p_moniker_enum;\n
      \       IMoniker*      p_moniker;\n        IBindCtx*      p_bind_context;\n
      \       IPropertyBag*  p_property_bag;\n        char*          psz_upstream;\n\n
      \       char*          psz_downstream;\n        VARIANT        var_bstr;\n        int
      \           i_bstr_len;\n        localComPtr():\n            p_moniker_enum(NULL),\n
      \           p_moniker(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
      \           psz_upstream( NULL ),\n            psz_downstream( NULL )\n        {\n
      \           ::VariantInit(&var_bstr);\n        }\n        ~localComPtr()\n        {\n
      \           if( p_moniker_enum )\n                p_moniker_enum->Release();\n
      \           if( p_moniker )\n                p_moniker->Release();\n            if(
      p_bind_context )\n                p_bind_context->Release();\n            if(
      p_property_bag )\n                p_property_bag->Release();\n            if(
      psz_upstream )\n                delete[] psz_upstream;\n            if( psz_downstream
      )\n                delete[] psz_downstream;\n\n            ::VariantClear(&var_bstr);\n
      \       }\n    }::p_moniker::GetDisplayName"
    - "class localComPtr\n    {\n        public:\n        IEnumMoniker*  p_moniker_enum;\n
      \       IMoniker*      p_moniker;\n        IBindCtx*      p_bind_context;\n
      \       IPropertyBag*  p_property_bag;\n        char*          psz_upstream;\n\n
      \       char*          psz_downstream;\n        VARIANT        var_bstr;\n        int
      \           i_bstr_len;\n        localComPtr():\n            p_moniker_enum(NULL),\n
      \           p_moniker(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
      \           psz_upstream( NULL ),\n            psz_downstream( NULL )\n        {\n
      \           ::VariantInit(&var_bstr);\n        }\n        ~localComPtr()\n        {\n
      \           if( p_moniker_enum )\n                p_moniker_enum->Release();\n
      \           if( p_moniker )\n                p_moniker->Release();\n            if(
      p_bind_context )\n                p_bind_context->Release();\n            if(
      p_property_bag )\n                p_property_bag->Release();\n            if(
      psz_upstream )\n                delete[] psz_upstream;\n            if( psz_downstream
      )\n                delete[] psz_downstream;\n\n            ::VariantClear(&var_bstr);\n
      \       }\n    }::p_moniker_enum::Next"
    - WideCharToMultiByte
    - IID_PPV_ARGS
    - ::VariantInit
    - ::VariantClear
    - "class localComPtr\n    {\n        public:\n        IEnumMoniker*  p_moniker_enum;\n
      \       IMoniker*      p_moniker;\n        IBindCtx*      p_bind_context;\n
      \       IPropertyBag*  p_property_bag;\n        char*          psz_upstream;\n\n
      \       char*          psz_downstream;\n        VARIANT        var_bstr;\n        int
      \           i_bstr_len;\n        localComPtr():\n            p_moniker_enum(NULL),\n
      \           p_moniker(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
      \           psz_upstream( NULL ),\n            psz_downstream( NULL )\n        {\n
      \           ::VariantInit(&var_bstr);\n        }\n        ~localComPtr()\n        {\n
      \           if( p_moniker_enum )\n                p_moniker_enum->Release();\n
      \           if( p_moniker )\n                p_moniker->Release();\n            if(
      p_bind_context )\n                p_bind_context->Release();\n            if(
      p_property_bag )\n                p_property_bag->Release();\n            if(
      psz_upstream )\n                delete[] psz_upstream;\n            if( psz_downstream
      )\n                delete[] psz_downstream;\n\n            ::VariantClear(&var_bstr);\n
      \       }\n    }::p_moniker::BindToObject"
    - SUCCEEDED
    - ::CoCreateInstance
    - char::char
    - CreateBindCtx
    - "class localComPtr\n    {\n        public:\n        IEnumMoniker*  p_moniker_enum;\n
      \       IMoniker*      p_moniker;\n        IBindCtx*      p_bind_context;\n
      \       IPropertyBag*  p_property_bag;\n        char*          psz_upstream;\n\n
      \       char*          psz_downstream;\n        VARIANT        var_bstr;\n        int
      \           i_bstr_len;\n        localComPtr():\n            p_moniker_enum(NULL),\n
      \           p_moniker(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
      \           psz_upstream( NULL ),\n            psz_downstream( NULL )\n        {\n
      \           ::VariantInit(&var_bstr);\n        }\n        ~localComPtr()\n        {\n
      \           if( p_moniker_enum )\n                p_moniker_enum->Release();\n
      \           if( p_moniker )\n                p_moniker->Release();\n            if(
      p_bind_context )\n                p_bind_context->Release();\n            if(
      p_property_bag )\n                p_property_bag->Release();\n            if(
      psz_upstream )\n                delete[] psz_upstream;\n            if( psz_downstream
      )\n                delete[] psz_downstream;\n\n            ::VariantClear(&var_bstr);\n
      \       }\n    }::p_bind_context::Release"
    - "class localComPtr\n    {\n        public:\n        IEnumMoniker*  p_moniker_enum;\n
      \       IMoniker*      p_moniker;\n        IBindCtx*      p_bind_context;\n
      \       IPropertyBag*  p_property_bag;\n        char*          psz_upstream;\n\n
      \       char*          psz_downstream;\n        VARIANT        var_bstr;\n        int
      \           i_bstr_len;\n        localComPtr():\n            p_moniker_enum(NULL),\n
      \           p_moniker(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
      \           psz_upstream( NULL ),\n            psz_downstream( NULL )\n        {\n
      \           ::VariantInit(&var_bstr);\n        }\n        ~localComPtr()\n        {\n
      \           if( p_moniker_enum )\n                p_moniker_enum->Release();\n
      \           if( p_moniker )\n                p_moniker->Release();\n            if(
      p_bind_context )\n                p_bind_context->Release();\n            if(
      p_property_bag )\n                p_property_bag->Release();\n            if(
      psz_upstream )\n                delete[] psz_upstream;\n            if( psz_downstream
      )\n                delete[] psz_downstream;\n\n            ::VariantClear(&var_bstr);\n
      \       }\n    }::p_moniker::BindToStorage"
    - msg_Dbg
    - BDAGraph::GetFilterName
    - msg_Warn
    - RemoveFilter
    - ::CoGetMalloc
    - strdup
    - LPMALLOC::Free
    - "class localComPtr\n    {\n        public:\n        IEnumMoniker*  p_moniker_enum;\n
      \       IMoniker*      p_moniker;\n        IBindCtx*      p_bind_context;\n
      \       IPropertyBag*  p_property_bag;\n        char*          psz_upstream;\n\n
      \       char*          psz_downstream;\n        VARIANT        var_bstr;\n        int
      \           i_bstr_len;\n        localComPtr():\n            p_moniker_enum(NULL),\n
      \           p_moniker(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
      \           psz_upstream( NULL ),\n            psz_downstream( NULL )\n        {\n
      \           ::VariantInit(&var_bstr);\n        }\n        ~localComPtr()\n        {\n
      \           if( p_moniker_enum )\n                p_moniker_enum->Release();\n
      \           if( p_moniker )\n                p_moniker->Release();\n            if(
      p_bind_context )\n                p_bind_context->Release();\n            if(
      p_property_bag )\n                p_property_bag->Release();\n            if(
      psz_upstream )\n                delete[] psz_upstream;\n            if( psz_downstream
      )\n                delete[] psz_downstream;\n\n            ::VariantClear(&var_bstr);\n
      \       }\n    }::p_property_bag::Release"
    - CreateClassEnumerator
    - BDAGraph::Release
    - "class localComPtr\n    {\n        public:\n        IEnumMoniker*  p_moniker_enum;\n
      \       IMoniker*      p_moniker;\n        IBindCtx*      p_bind_context;\n
      \       IPropertyBag*  p_property_bag;\n        char*          psz_upstream;\n\n
      \       char*          psz_downstream;\n        VARIANT        var_bstr;\n        int
      \           i_bstr_len;\n        localComPtr():\n            p_moniker_enum(NULL),\n
      \           p_moniker(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
      \           psz_upstream( NULL ),\n            psz_downstream( NULL )\n        {\n
      \           ::VariantInit(&var_bstr);\n        }\n        ~localComPtr()\n        {\n
      \           if( p_moniker_enum )\n                p_moniker_enum->Release();\n
      \           if( p_moniker )\n                p_moniker->Release();\n            if(
      p_bind_context )\n                p_bind_context->Release();\n            if(
      p_property_bag )\n                p_property_bag->Release();\n            if(
      psz_upstream )\n                delete[] psz_upstream;\n            if( psz_downstream
      )\n                delete[] psz_downstream;\n\n            ::VariantClear(&var_bstr);\n
      \       }\n    }::p_property_bag::Read"
    - "class localComPtr\n    {\n        public:\n        IEnumMoniker*  p_moniker_enum;\n
      \       IMoniker*      p_moniker;\n        IBindCtx*      p_bind_context;\n
      \       IPropertyBag*  p_property_bag;\n        char*          psz_upstream;\n\n
      \       char*          psz_downstream;\n        VARIANT        var_bstr;\n        int
      \           i_bstr_len;\n        localComPtr():\n            p_moniker_enum(NULL),\n
      \           p_moniker(NULL),\n            p_bind_context( NULL ),\n            p_property_bag(NULL),\n
      \           psz_upstream( NULL ),\n            psz_downstream( NULL )\n        {\n
      \           ::VariantInit(&var_bstr);\n        }\n        ~localComPtr()\n        {\n
      \           if( p_moniker_enum )\n                p_moniker_enum->Release();\n
      \           if( p_moniker )\n                p_moniker->Release();\n            if(
      p_bind_context )\n                p_bind_context->Release();\n            if(
      p_property_bag )\n                p_property_bag->Release();\n            if(
      psz_upstream )\n                delete[] psz_upstream;\n            if( psz_downstream
      )\n                delete[] psz_downstream;\n\n            ::VariantClear(&var_bstr);\n
      \       }\n    }::p_moniker::Release"
    - AddFilter
    - FAILED
    - LPMALLOC::Release
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT BDAGraph::FindFilter( REFCLSID this_clsid, long* i_moniker_used,\n
      \   IBaseFilter* p_upstream, IBaseFilter** p_p_downstream )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::VariantInit
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2585
      start: 2576
    functionDepth: 0
    functionLinenumber: 2576
    functionLinenumberEnd: 2585
    functionName: localComPtr::localComPtr
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - ::VariantInit
    linkageType: ''
    returnType: void
    signature: void localComPtr()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2589,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2591,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2593,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2595,1
    - Dst: ::VariantClear
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2601,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2602
      start: 2586
    functionDepth: 0
    functionLinenumber: 2586
    functionLinenumberEnd: 2602
    functionName: ~localComPtr()
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - ::VariantClear
    - Release
    linkageType: ''
    returnType: void
    signature: void ~localComPtr()
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2813,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2815,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2817,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2819,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2821,1
    - Dst: IBaseFilter*::EnumPins
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2832,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2833,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2835,1
    - Dst: "class localComPtr\n    {\n        public:\n        IPin*      p_pin_upstream;\n
        \       IPin*      p_pin_downstream;\n        IEnumPins* p_pin_upstream_enum;\n
        \       IEnumPins* p_pin_downstream_enum;\n        IPin*      p_pin_temp;\n
        \       char*      psz_upstream;\n        char*      psz_downstream;\n\n        localComPtr():\n
        \           p_pin_upstream(NULL), p_pin_downstream(NULL),\n            p_pin_upstream_enum(NULL),
        p_pin_downstream_enum(NULL),\n            p_pin_temp(NULL),\n            psz_upstream(
        NULL ),\n            psz_downstream( NULL )\n            { };\n        ~localComPtr()\n
        \       {\n            if( p_pin_temp )\n                p_pin_temp->Release();\n
        \           if( p_pin_downstream )\n                p_pin_downstream->Release();\n
        \           if( p_pin_upstream )\n                p_pin_upstream->Release();\n
        \           if( p_pin_downstream_enum )\n                p_pin_downstream_enum->Release();\n
        \           if( p_pin_upstream_enum )\n                p_pin_upstream_enum->Release();\n
        \           if( psz_upstream )\n                delete[] psz_upstream;\n            if(
        psz_downstream )\n                delete[] psz_downstream;\n        }\n    }::p_pin_upstream::Release"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2844,1
    - Dst: "class localComPtr\n    {\n        public:\n        IPin*      p_pin_upstream;\n
        \       IPin*      p_pin_downstream;\n        IEnumPins* p_pin_upstream_enum;\n
        \       IEnumPins* p_pin_downstream_enum;\n        IPin*      p_pin_temp;\n
        \       char*      psz_upstream;\n        char*      psz_downstream;\n\n        localComPtr():\n
        \           p_pin_upstream(NULL), p_pin_downstream(NULL),\n            p_pin_upstream_enum(NULL),
        p_pin_downstream_enum(NULL),\n            p_pin_temp(NULL),\n            psz_upstream(
        NULL ),\n            psz_downstream( NULL )\n            { };\n        ~localComPtr()\n
        \       {\n            if( p_pin_temp )\n                p_pin_temp->Release();\n
        \           if( p_pin_downstream )\n                p_pin_downstream->Release();\n
        \           if( p_pin_upstream )\n                p_pin_upstream->Release();\n
        \           if( p_pin_downstream_enum )\n                p_pin_downstream_enum->Release();\n
        \           if( p_pin_upstream_enum )\n                p_pin_upstream_enum->Release();\n
        \           if( psz_upstream )\n                delete[] psz_upstream;\n            if(
        psz_downstream )\n                delete[] psz_downstream;\n        }\n    }::p_pin_upstream_enum::Next"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2847,1
    - Dst: BDAGraph::GetPinName
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2851,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2852,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2854,1
    - Dst: "class localComPtr\n    {\n        public:\n        IPin*      p_pin_upstream;\n
        \       IPin*      p_pin_downstream;\n        IEnumPins* p_pin_upstream_enum;\n
        \       IEnumPins* p_pin_downstream_enum;\n        IPin*      p_pin_temp;\n
        \       char*      psz_upstream;\n        char*      psz_downstream;\n\n        localComPtr():\n
        \           p_pin_upstream(NULL), p_pin_downstream(NULL),\n            p_pin_upstream_enum(NULL),
        p_pin_downstream_enum(NULL),\n            p_pin_temp(NULL),\n            psz_upstream(
        NULL ),\n            psz_downstream( NULL )\n            { };\n        ~localComPtr()\n
        \       {\n            if( p_pin_temp )\n                p_pin_temp->Release();\n
        \           if( p_pin_downstream )\n                p_pin_downstream->Release();\n
        \           if( p_pin_upstream )\n                p_pin_upstream->Release();\n
        \           if( p_pin_downstream_enum )\n                p_pin_downstream_enum->Release();\n
        \           if( p_pin_upstream_enum )\n                p_pin_upstream_enum->Release();\n
        \           if( psz_upstream )\n                delete[] psz_upstream;\n            if(
        psz_downstream )\n                delete[] psz_downstream;\n        }\n    }::p_pin_upstream::QueryDirection"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2860,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2861,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2863,1
    - Dst: "class localComPtr\n    {\n        public:\n        IPin*      p_pin_upstream;\n
        \       IPin*      p_pin_downstream;\n        IEnumPins* p_pin_upstream_enum;\n
        \       IEnumPins* p_pin_downstream_enum;\n        IPin*      p_pin_temp;\n
        \       char*      psz_upstream;\n        char*      psz_downstream;\n\n        localComPtr():\n
        \           p_pin_upstream(NULL), p_pin_downstream(NULL),\n            p_pin_upstream_enum(NULL),
        p_pin_downstream_enum(NULL),\n            p_pin_temp(NULL),\n            psz_upstream(
        NULL ),\n            psz_downstream( NULL )\n            { };\n        ~localComPtr()\n
        \       {\n            if( p_pin_temp )\n                p_pin_temp->Release();\n
        \           if( p_pin_downstream )\n                p_pin_downstream->Release();\n
        \           if( p_pin_upstream )\n                p_pin_upstream->Release();\n
        \           if( p_pin_downstream_enum )\n                p_pin_downstream_enum->Release();\n
        \           if( p_pin_upstream_enum )\n                p_pin_upstream_enum->Release();\n
        \           if( psz_upstream )\n                delete[] psz_upstream;\n            if(
        psz_downstream )\n                delete[] psz_downstream;\n        }\n    }::p_pin_upstream::ConnectedTo"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2868,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2869,1
    - Dst: "class localComPtr\n    {\n        public:\n        IPin*      p_pin_upstream;\n
        \       IPin*      p_pin_downstream;\n        IEnumPins* p_pin_upstream_enum;\n
        \       IEnumPins* p_pin_downstream_enum;\n        IPin*      p_pin_temp;\n
        \       char*      psz_upstream;\n        char*      psz_downstream;\n\n        localComPtr():\n
        \           p_pin_upstream(NULL), p_pin_downstream(NULL),\n            p_pin_upstream_enum(NULL),
        p_pin_downstream_enum(NULL),\n            p_pin_temp(NULL),\n            psz_upstream(
        NULL ),\n            psz_downstream( NULL )\n            { };\n        ~localComPtr()\n
        \       {\n            if( p_pin_temp )\n                p_pin_temp->Release();\n
        \           if( p_pin_downstream )\n                p_pin_downstream->Release();\n
        \           if( p_pin_upstream )\n                p_pin_upstream->Release();\n
        \           if( p_pin_downstream_enum )\n                p_pin_downstream_enum->Release();\n
        \           if( p_pin_upstream_enum )\n                p_pin_upstream_enum->Release();\n
        \           if( psz_upstream )\n                delete[] psz_upstream;\n            if(
        psz_downstream )\n                delete[] psz_downstream;\n        }\n    }::p_pin_downstream::Release"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2871,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2875,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2877,1
    - Dst: IBaseFilter*::EnumPins
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2887,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2888,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2890,1
    - Dst: "class localComPtr\n    {\n        public:\n        IPin*      p_pin_upstream;\n
        \       IPin*      p_pin_downstream;\n        IEnumPins* p_pin_upstream_enum;\n
        \       IEnumPins* p_pin_downstream_enum;\n        IPin*      p_pin_temp;\n
        \       char*      psz_upstream;\n        char*      psz_downstream;\n\n        localComPtr():\n
        \           p_pin_upstream(NULL), p_pin_downstream(NULL),\n            p_pin_upstream_enum(NULL),
        p_pin_downstream_enum(NULL),\n            p_pin_temp(NULL),\n            psz_upstream(
        NULL ),\n            psz_downstream( NULL )\n            { };\n        ~localComPtr()\n
        \       {\n            if( p_pin_temp )\n                p_pin_temp->Release();\n
        \           if( p_pin_downstream )\n                p_pin_downstream->Release();\n
        \           if( p_pin_upstream )\n                p_pin_upstream->Release();\n
        \           if( p_pin_downstream_enum )\n                p_pin_downstream_enum->Release();\n
        \           if( p_pin_upstream_enum )\n                p_pin_upstream_enum->Release();\n
        \           if( psz_upstream )\n                delete[] psz_upstream;\n            if(
        psz_downstream )\n                delete[] psz_downstream;\n        }\n    }::p_pin_downstream::Release"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2899,1
    - Dst: "class localComPtr\n    {\n        public:\n        IPin*      p_pin_upstream;\n
        \       IPin*      p_pin_downstream;\n        IEnumPins* p_pin_upstream_enum;\n
        \       IEnumPins* p_pin_downstream_enum;\n        IPin*      p_pin_temp;\n
        \       char*      psz_upstream;\n        char*      psz_downstream;\n\n        localComPtr():\n
        \           p_pin_upstream(NULL), p_pin_downstream(NULL),\n            p_pin_upstream_enum(NULL),
        p_pin_downstream_enum(NULL),\n            p_pin_temp(NULL),\n            psz_upstream(
        NULL ),\n            psz_downstream( NULL )\n            { };\n        ~localComPtr()\n
        \       {\n            if( p_pin_temp )\n                p_pin_temp->Release();\n
        \           if( p_pin_downstream )\n                p_pin_downstream->Release();\n
        \           if( p_pin_upstream )\n                p_pin_upstream->Release();\n
        \           if( p_pin_downstream_enum )\n                p_pin_downstream_enum->Release();\n
        \           if( p_pin_upstream_enum )\n                p_pin_upstream_enum->Release();\n
        \           if( psz_upstream )\n                delete[] psz_upstream;\n            if(
        psz_downstream )\n                delete[] psz_downstream;\n        }\n    }::p_pin_downstream_enum::Next"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2902,1
    - Dst: BDAGraph::GetPinName
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2906,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2907,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2909,1
    - Dst: "class localComPtr\n    {\n        public:\n        IPin*      p_pin_upstream;\n
        \       IPin*      p_pin_downstream;\n        IEnumPins* p_pin_upstream_enum;\n
        \       IEnumPins* p_pin_downstream_enum;\n        IPin*      p_pin_temp;\n
        \       char*      psz_upstream;\n        char*      psz_downstream;\n\n        localComPtr():\n
        \           p_pin_upstream(NULL), p_pin_downstream(NULL),\n            p_pin_upstream_enum(NULL),
        p_pin_downstream_enum(NULL),\n            p_pin_temp(NULL),\n            psz_upstream(
        NULL ),\n            psz_downstream( NULL )\n            { };\n        ~localComPtr()\n
        \       {\n            if( p_pin_temp )\n                p_pin_temp->Release();\n
        \           if( p_pin_downstream )\n                p_pin_downstream->Release();\n
        \           if( p_pin_upstream )\n                p_pin_upstream->Release();\n
        \           if( p_pin_downstream_enum )\n                p_pin_downstream_enum->Release();\n
        \           if( p_pin_upstream_enum )\n                p_pin_upstream_enum->Release();\n
        \           if( psz_upstream )\n                delete[] psz_upstream;\n            if(
        psz_downstream )\n                delete[] psz_downstream;\n        }\n    }::p_pin_downstream::QueryDirection"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2918,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2919,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2921,1
    - Dst: "class localComPtr\n    {\n        public:\n        IPin*      p_pin_upstream;\n
        \       IPin*      p_pin_downstream;\n        IEnumPins* p_pin_upstream_enum;\n
        \       IEnumPins* p_pin_downstream_enum;\n        IPin*      p_pin_temp;\n
        \       char*      psz_upstream;\n        char*      psz_downstream;\n\n        localComPtr():\n
        \           p_pin_upstream(NULL), p_pin_downstream(NULL),\n            p_pin_upstream_enum(NULL),
        p_pin_downstream_enum(NULL),\n            p_pin_temp(NULL),\n            psz_upstream(
        NULL ),\n            psz_downstream( NULL )\n            { };\n        ~localComPtr()\n
        \       {\n            if( p_pin_temp )\n                p_pin_temp->Release();\n
        \           if( p_pin_downstream )\n                p_pin_downstream->Release();\n
        \           if( p_pin_upstream )\n                p_pin_upstream->Release();\n
        \           if( p_pin_downstream_enum )\n                p_pin_downstream_enum->Release();\n
        \           if( p_pin_upstream_enum )\n                p_pin_upstream_enum->Release();\n
        \           if( psz_upstream )\n                delete[] psz_upstream;\n            if(
        psz_downstream )\n                delete[] psz_downstream;\n        }\n    }::p_pin_downstream::ConnectedTo"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2929,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2930,1
    - Dst: "class localComPtr\n    {\n        public:\n        IPin*      p_pin_upstream;\n
        \       IPin*      p_pin_downstream;\n        IEnumPins* p_pin_upstream_enum;\n
        \       IEnumPins* p_pin_downstream_enum;\n        IPin*      p_pin_temp;\n
        \       char*      psz_upstream;\n        char*      psz_downstream;\n\n        localComPtr():\n
        \           p_pin_upstream(NULL), p_pin_downstream(NULL),\n            p_pin_upstream_enum(NULL),
        p_pin_downstream_enum(NULL),\n            p_pin_temp(NULL),\n            psz_upstream(
        NULL ),\n            psz_downstream( NULL )\n            { };\n        ~localComPtr()\n
        \       {\n            if( p_pin_temp )\n                p_pin_temp->Release();\n
        \           if( p_pin_downstream )\n                p_pin_downstream->Release();\n
        \           if( p_pin_upstream )\n                p_pin_upstream->Release();\n
        \           if( p_pin_downstream_enum )\n                p_pin_downstream_enum->Release();\n
        \           if( p_pin_upstream_enum )\n                p_pin_upstream_enum->Release();\n
        \           if( psz_upstream )\n                delete[] psz_upstream;\n            if(
        psz_downstream )\n                delete[] psz_downstream;\n        }\n    }::p_pin_temp::Release"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2932,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2938,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2940,1
    - Dst: ConnectDirect
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2951,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2953,1
    - Dst: "class localComPtr\n    {\n        public:\n        IPin*      p_pin_upstream;\n
        \       IPin*      p_pin_downstream;\n        IEnumPins* p_pin_upstream_enum;\n
        \       IEnumPins* p_pin_downstream_enum;\n        IPin*      p_pin_temp;\n
        \       char*      psz_upstream;\n        char*      psz_downstream;\n\n        localComPtr():\n
        \           p_pin_upstream(NULL), p_pin_downstream(NULL),\n            p_pin_upstream_enum(NULL),
        p_pin_downstream_enum(NULL),\n            p_pin_temp(NULL),\n            psz_upstream(
        NULL ),\n            psz_downstream( NULL )\n            { };\n        ~localComPtr()\n
        \       {\n            if( p_pin_temp )\n                p_pin_temp->Release();\n
        \           if( p_pin_downstream )\n                p_pin_downstream->Release();\n
        \           if( p_pin_upstream )\n                p_pin_upstream->Release();\n
        \           if( p_pin_downstream_enum )\n                p_pin_downstream_enum->Release();\n
        \           if( p_pin_upstream_enum )\n                p_pin_upstream_enum->Release();\n
        \           if( psz_upstream )\n                delete[] psz_upstream;\n            if(
        psz_downstream )\n                delete[] psz_downstream;\n        }\n    }::p_pin_downstream_enum::Release"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2968,1
    - Dst: "class localComPtr\n    {\n        public:\n        IPin*      p_pin_upstream;\n
        \       IPin*      p_pin_downstream;\n        IEnumPins* p_pin_upstream_enum;\n
        \       IEnumPins* p_pin_downstream_enum;\n        IPin*      p_pin_temp;\n
        \       char*      psz_upstream;\n        char*      psz_downstream;\n\n        localComPtr():\n
        \           p_pin_upstream(NULL), p_pin_downstream(NULL),\n            p_pin_upstream_enum(NULL),
        p_pin_downstream_enum(NULL),\n            p_pin_temp(NULL),\n            psz_upstream(
        NULL ),\n            psz_downstream( NULL )\n            { };\n        ~localComPtr()\n
        \       {\n            if( p_pin_temp )\n                p_pin_temp->Release();\n
        \           if( p_pin_downstream )\n                p_pin_downstream->Release();\n
        \           if( p_pin_upstream )\n                p_pin_upstream->Release();\n
        \           if( p_pin_downstream_enum )\n                p_pin_downstream_enum->Release();\n
        \           if( p_pin_upstream_enum )\n                p_pin_upstream_enum->Release();\n
        \           if( psz_upstream )\n                delete[] psz_upstream;\n            if(
        psz_downstream )\n                delete[] psz_downstream;\n        }\n    }::p_pin_downstream::Release"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2971,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 102
    argCount: 2
    argNames:
    - p_upstream
    - p_downstream
    argTypes:
    - IBaseFilter*
    - IBaseFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2983
      start: 2789
    functionDepth: 1
    functionLinenumber: 2789
    functionLinenumberEnd: 2983
    functionName: BDAGraph::Connect
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 2
    functionsReached:
    - "class localComPtr\n    {\n        public:\n        IPin*      p_pin_upstream;\n
      \       IPin*      p_pin_downstream;\n        IEnumPins* p_pin_upstream_enum;\n
      \       IEnumPins* p_pin_downstream_enum;\n        IPin*      p_pin_temp;\n
      \       char*      psz_upstream;\n        char*      psz_downstream;\n\n        localComPtr():\n
      \           p_pin_upstream(NULL), p_pin_downstream(NULL),\n            p_pin_upstream_enum(NULL),
      p_pin_downstream_enum(NULL),\n            p_pin_temp(NULL),\n            psz_upstream(
      NULL ),\n            psz_downstream( NULL )\n            { };\n        ~localComPtr()\n
      \       {\n            if( p_pin_temp )\n                p_pin_temp->Release();\n
      \           if( p_pin_downstream )\n                p_pin_downstream->Release();\n
      \           if( p_pin_upstream )\n                p_pin_upstream->Release();\n
      \           if( p_pin_downstream_enum )\n                p_pin_downstream_enum->Release();\n
      \           if( p_pin_upstream_enum )\n                p_pin_upstream_enum->Release();\n
      \           if( psz_upstream )\n                delete[] psz_upstream;\n            if(
      psz_downstream )\n                delete[] psz_downstream;\n        }\n    }::p_pin_upstream_enum::Next"
    - "class localComPtr\n    {\n        public:\n        IPin*      p_pin_upstream;\n
      \       IPin*      p_pin_downstream;\n        IEnumPins* p_pin_upstream_enum;\n
      \       IEnumPins* p_pin_downstream_enum;\n        IPin*      p_pin_temp;\n
      \       char*      psz_upstream;\n        char*      psz_downstream;\n\n        localComPtr():\n
      \           p_pin_upstream(NULL), p_pin_downstream(NULL),\n            p_pin_upstream_enum(NULL),
      p_pin_downstream_enum(NULL),\n            p_pin_temp(NULL),\n            psz_upstream(
      NULL ),\n            psz_downstream( NULL )\n            { };\n        ~localComPtr()\n
      \       {\n            if( p_pin_temp )\n                p_pin_temp->Release();\n
      \           if( p_pin_downstream )\n                p_pin_downstream->Release();\n
      \           if( p_pin_upstream )\n                p_pin_upstream->Release();\n
      \           if( p_pin_downstream_enum )\n                p_pin_downstream_enum->Release();\n
      \           if( p_pin_upstream_enum )\n                p_pin_upstream_enum->Release();\n
      \           if( psz_upstream )\n                delete[] psz_upstream;\n            if(
      psz_downstream )\n                delete[] psz_downstream;\n        }\n    }::p_pin_downstream::Release"
    - "class localComPtr\n    {\n        public:\n        IPin*      p_pin_upstream;\n
      \       IPin*      p_pin_downstream;\n        IEnumPins* p_pin_upstream_enum;\n
      \       IEnumPins* p_pin_downstream_enum;\n        IPin*      p_pin_temp;\n
      \       char*      psz_upstream;\n        char*      psz_downstream;\n\n        localComPtr():\n
      \           p_pin_upstream(NULL), p_pin_downstream(NULL),\n            p_pin_upstream_enum(NULL),
      p_pin_downstream_enum(NULL),\n            p_pin_temp(NULL),\n            psz_upstream(
      NULL ),\n            psz_downstream( NULL )\n            { };\n        ~localComPtr()\n
      \       {\n            if( p_pin_temp )\n                p_pin_temp->Release();\n
      \           if( p_pin_downstream )\n                p_pin_downstream->Release();\n
      \           if( p_pin_upstream )\n                p_pin_upstream->Release();\n
      \           if( p_pin_downstream_enum )\n                p_pin_downstream_enum->Release();\n
      \           if( p_pin_upstream_enum )\n                p_pin_upstream_enum->Release();\n
      \           if( psz_upstream )\n                delete[] psz_upstream;\n            if(
      psz_downstream )\n                delete[] psz_downstream;\n        }\n    }::p_pin_downstream::QueryDirection"
    - "class localComPtr\n    {\n        public:\n        IPin*      p_pin_upstream;\n
      \       IPin*      p_pin_downstream;\n        IEnumPins* p_pin_upstream_enum;\n
      \       IEnumPins* p_pin_downstream_enum;\n        IPin*      p_pin_temp;\n
      \       char*      psz_upstream;\n        char*      psz_downstream;\n\n        localComPtr():\n
      \           p_pin_upstream(NULL), p_pin_downstream(NULL),\n            p_pin_upstream_enum(NULL),
      p_pin_downstream_enum(NULL),\n            p_pin_temp(NULL),\n            psz_upstream(
      NULL ),\n            psz_downstream( NULL )\n            { };\n        ~localComPtr()\n
      \       {\n            if( p_pin_temp )\n                p_pin_temp->Release();\n
      \           if( p_pin_downstream )\n                p_pin_downstream->Release();\n
      \           if( p_pin_upstream )\n                p_pin_upstream->Release();\n
      \           if( p_pin_downstream_enum )\n                p_pin_downstream_enum->Release();\n
      \           if( p_pin_upstream_enum )\n                p_pin_upstream_enum->Release();\n
      \           if( psz_upstream )\n                delete[] psz_upstream;\n            if(
      psz_downstream )\n                delete[] psz_downstream;\n        }\n    }::p_pin_downstream::ConnectedTo"
    - BDAGraph::GetPinName
    - "class localComPtr\n    {\n        public:\n        IPin*      p_pin_upstream;\n
      \       IPin*      p_pin_downstream;\n        IEnumPins* p_pin_upstream_enum;\n
      \       IEnumPins* p_pin_downstream_enum;\n        IPin*      p_pin_temp;\n
      \       char*      psz_upstream;\n        char*      psz_downstream;\n\n        localComPtr():\n
      \           p_pin_upstream(NULL), p_pin_downstream(NULL),\n            p_pin_upstream_enum(NULL),
      p_pin_downstream_enum(NULL),\n            p_pin_temp(NULL),\n            psz_upstream(
      NULL ),\n            psz_downstream( NULL )\n            { };\n        ~localComPtr()\n
      \       {\n            if( p_pin_temp )\n                p_pin_temp->Release();\n
      \           if( p_pin_downstream )\n                p_pin_downstream->Release();\n
      \           if( p_pin_upstream )\n                p_pin_upstream->Release();\n
      \           if( p_pin_downstream_enum )\n                p_pin_downstream_enum->Release();\n
      \           if( p_pin_upstream_enum )\n                p_pin_upstream_enum->Release();\n
      \           if( psz_upstream )\n                delete[] psz_upstream;\n            if(
      psz_downstream )\n                delete[] psz_downstream;\n        }\n    }::p_pin_downstream_enum::Next"
    - FAILED
    - ConnectDirect
    - IBaseFilter*::EnumPins
    - BDAGraph::Release
    - "class localComPtr\n    {\n        public:\n        IPin*      p_pin_upstream;\n
      \       IPin*      p_pin_downstream;\n        IEnumPins* p_pin_upstream_enum;\n
      \       IEnumPins* p_pin_downstream_enum;\n        IPin*      p_pin_temp;\n
      \       char*      psz_upstream;\n        char*      psz_downstream;\n\n        localComPtr():\n
      \           p_pin_upstream(NULL), p_pin_downstream(NULL),\n            p_pin_upstream_enum(NULL),
      p_pin_downstream_enum(NULL),\n            p_pin_temp(NULL),\n            psz_upstream(
      NULL ),\n            psz_downstream( NULL )\n            { };\n        ~localComPtr()\n
      \       {\n            if( p_pin_temp )\n                p_pin_temp->Release();\n
      \           if( p_pin_downstream )\n                p_pin_downstream->Release();\n
      \           if( p_pin_upstream )\n                p_pin_upstream->Release();\n
      \           if( p_pin_downstream_enum )\n                p_pin_downstream_enum->Release();\n
      \           if( p_pin_upstream_enum )\n                p_pin_upstream_enum->Release();\n
      \           if( psz_upstream )\n                delete[] psz_upstream;\n            if(
      psz_downstream )\n                delete[] psz_downstream;\n        }\n    }::p_pin_upstream::Release"
    - "class localComPtr\n    {\n        public:\n        IPin*      p_pin_upstream;\n
      \       IPin*      p_pin_downstream;\n        IEnumPins* p_pin_upstream_enum;\n
      \       IEnumPins* p_pin_downstream_enum;\n        IPin*      p_pin_temp;\n
      \       char*      psz_upstream;\n        char*      psz_downstream;\n\n        localComPtr():\n
      \           p_pin_upstream(NULL), p_pin_downstream(NULL),\n            p_pin_upstream_enum(NULL),
      p_pin_downstream_enum(NULL),\n            p_pin_temp(NULL),\n            psz_upstream(
      NULL ),\n            psz_downstream( NULL )\n            { };\n        ~localComPtr()\n
      \       {\n            if( p_pin_temp )\n                p_pin_temp->Release();\n
      \           if( p_pin_downstream )\n                p_pin_downstream->Release();\n
      \           if( p_pin_upstream )\n                p_pin_upstream->Release();\n
      \           if( p_pin_downstream_enum )\n                p_pin_downstream_enum->Release();\n
      \           if( p_pin_upstream_enum )\n                p_pin_upstream_enum->Release();\n
      \           if( psz_upstream )\n                delete[] psz_upstream;\n            if(
      psz_downstream )\n                delete[] psz_downstream;\n        }\n    }::p_pin_upstream::ConnectedTo"
    - "class localComPtr\n    {\n        public:\n        IPin*      p_pin_upstream;\n
      \       IPin*      p_pin_downstream;\n        IEnumPins* p_pin_upstream_enum;\n
      \       IEnumPins* p_pin_downstream_enum;\n        IPin*      p_pin_temp;\n
      \       char*      psz_upstream;\n        char*      psz_downstream;\n\n        localComPtr():\n
      \           p_pin_upstream(NULL), p_pin_downstream(NULL),\n            p_pin_upstream_enum(NULL),
      p_pin_downstream_enum(NULL),\n            p_pin_temp(NULL),\n            psz_upstream(
      NULL ),\n            psz_downstream( NULL )\n            { };\n        ~localComPtr()\n
      \       {\n            if( p_pin_temp )\n                p_pin_temp->Release();\n
      \           if( p_pin_downstream )\n                p_pin_downstream->Release();\n
      \           if( p_pin_upstream )\n                p_pin_upstream->Release();\n
      \           if( p_pin_downstream_enum )\n                p_pin_downstream_enum->Release();\n
      \           if( p_pin_upstream_enum )\n                p_pin_upstream_enum->Release();\n
      \           if( psz_upstream )\n                delete[] psz_upstream;\n            if(
      psz_downstream )\n                delete[] psz_downstream;\n        }\n    }::p_pin_downstream_enum::Release"
    - SUCCEEDED
    - "class localComPtr\n    {\n        public:\n        IPin*      p_pin_upstream;\n
      \       IPin*      p_pin_downstream;\n        IEnumPins* p_pin_upstream_enum;\n
      \       IEnumPins* p_pin_downstream_enum;\n        IPin*      p_pin_temp;\n
      \       char*      psz_upstream;\n        char*      psz_downstream;\n\n        localComPtr():\n
      \           p_pin_upstream(NULL), p_pin_downstream(NULL),\n            p_pin_upstream_enum(NULL),
      p_pin_downstream_enum(NULL),\n            p_pin_temp(NULL),\n            psz_upstream(
      NULL ),\n            psz_downstream( NULL )\n            { };\n        ~localComPtr()\n
      \       {\n            if( p_pin_temp )\n                p_pin_temp->Release();\n
      \           if( p_pin_downstream )\n                p_pin_downstream->Release();\n
      \           if( p_pin_upstream )\n                p_pin_upstream->Release();\n
      \           if( p_pin_downstream_enum )\n                p_pin_downstream_enum->Release();\n
      \           if( p_pin_upstream_enum )\n                p_pin_upstream_enum->Release();\n
      \           if( psz_upstream )\n                delete[] psz_upstream;\n            if(
      psz_downstream )\n                delete[] psz_downstream;\n        }\n    }::p_pin_temp::Release"
    - msg_Warn
    - "class localComPtr\n    {\n        public:\n        IPin*      p_pin_upstream;\n
      \       IPin*      p_pin_downstream;\n        IEnumPins* p_pin_upstream_enum;\n
      \       IEnumPins* p_pin_downstream_enum;\n        IPin*      p_pin_temp;\n
      \       char*      psz_upstream;\n        char*      psz_downstream;\n\n        localComPtr():\n
      \           p_pin_upstream(NULL), p_pin_downstream(NULL),\n            p_pin_upstream_enum(NULL),
      p_pin_downstream_enum(NULL),\n            p_pin_temp(NULL),\n            psz_upstream(
      NULL ),\n            psz_downstream( NULL )\n            { };\n        ~localComPtr()\n
      \       {\n            if( p_pin_temp )\n                p_pin_temp->Release();\n
      \           if( p_pin_downstream )\n                p_pin_downstream->Release();\n
      \           if( p_pin_upstream )\n                p_pin_upstream->Release();\n
      \           if( p_pin_downstream_enum )\n                p_pin_downstream_enum->Release();\n
      \           if( p_pin_upstream_enum )\n                p_pin_upstream_enum->Release();\n
      \           if( psz_upstream )\n                delete[] psz_upstream;\n            if(
      psz_downstream )\n                delete[] psz_downstream;\n        }\n    }::p_pin_upstream::QueryDirection"
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT BDAGraph::Connect( IBaseFilter* p_upstream, IBaseFilter* p_downstream
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2809
      start: 2803
    functionDepth: 0
    functionLinenumber: 2803
    functionLinenumberEnd: 2809
    functionName: localComPtr::localComPtr
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void localComPtr()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2813,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2815,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2817,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2819,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2821,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2826
      start: 2810
    functionDepth: 0
    functionLinenumber: 2810
    functionLinenumberEnd: 2826
    functionName: ~localComPtr()
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - Release
    linkageType: ''
    returnType: void
    signature: void ~localComPtr()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2993,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:2997,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3001,1
    - Dst: Run
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3002,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3003,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3005,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3009,1
    - Dst: GetState
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3011,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3013,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3015,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3021,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3024,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3029,1
    - Dst: StopWhenReady
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3030,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3031,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3033,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3039
      start: 2988
    functionDepth: 1
    functionLinenumber: 2988
    functionLinenumberEnd: 3039
    functionName: BDAGraph::Start
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 1
    functionsReached:
    - FAILED
    - GetState
    - Run
    - msg_Dbg
    - SUCCEEDED
    - msg_Warn
    - StopWhenReady
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT BDAGraph::Start()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BDAGraph::Pop
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - len
    - ms
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3047
      start: 3044
    functionDepth: 0
    functionLinenumber: 3044
    functionLinenumberEnd: 3047
    functionName: BDAGraph::Pop
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 1
    functionsReached:
    - BDAGraph::Pop
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t BDAGraph::Pop(void *buf, size_t len, int ms)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IMediaSample*::IsDiscontinuity
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3054,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3055,1
    - Dst: IMediaSample*::GetActualDataLength
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3057,1
    - Dst: IMediaSample*::GetPointer
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3063,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3067,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3071,1
    - Dst: Push
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3072,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - p_sample
    argTypes:
    - IMediaSample*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3076
      start: 3052
    functionDepth: 1
    functionLinenumber: 3052
    functionLinenumberEnd: 3076
    functionName: BDAGraph::SampleCB
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - IMediaSample*::GetActualDataLength
    - IMediaSample*::GetPointer
    - memcpy
    - IMediaSample*::IsDiscontinuity
    - block_Alloc
    - Push
    - msg_Warn
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP BDAGraph::SampleCB( double /*date*/, IMediaSample *p_sample
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3082
      start: 3078
    functionDepth: 0
    functionLinenumber: 3078
    functionLinenumberEnd: 3082
    functionName: BDAGraph::BufferCB
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: STDMETHODIMP
    signature: "STDMETHODIMP BDAGraph::BufferCB( double /*date*/, BYTE* /*buffer*/,\n
      \                                long /*buffer_len*/ )"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: StopWhenReady
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3093,1
    - Dst: BDAGraph::Deregister
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3097,1
    - Dst: Empty
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3100,1
    - Dst: RemoveFilter
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3107,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3108,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3110,1
    - Dst: RemoveFilter
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3119,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3120,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3122,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3131,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3134,1
    - Dst: RemoveFilter
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3143,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3145,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3147,1
    - Dst: RemoveFilter
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3155,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3156,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3158,1
    - Dst: RemoveFilter
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3168,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3171,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3173,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3181,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3184,1
    - Dst: RemoveFilter
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3194,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3196,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3198,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3206,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3209,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3221,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3224,1
    - Dst: Get
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3231,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3233,1
    - Dst: Reset
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3234,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3237,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3240,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 88
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3249
      start: 3087
    functionDepth: 1
    functionLinenumber: 3087
    functionLinenumberEnd: 3249
    functionName: BDAGraph::Destroy
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 3
    functionsReached:
    - Empty
    - FAILED
    - Reset
    - Get
    - BDAGraph::Release
    - msg_Dbg
    - BDAGraph::Deregister
    - RemoveFilter
    - StopWhenReady
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT BDAGraph::Destroy()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3269,1
    - Dst: BDAGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3271,1
    - Dst: ::GetRunningObjectTable
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3277,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3278,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3280,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3284,1
    - Dst: _snwprintf
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3285,1
    - Dst: ::GetCurrentProcessId
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3286,1
    - Dst: CreateItemMoniker
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3288,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3289,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3291,1
    - Dst: "class localComPtr\n    {\n        public:\n        IMoniker*             p_moniker;\n
        \       IRunningObjectTable*  p_ro_table;\n        localComPtr():\n            p_moniker(NULL),\n
        \           p_ro_table(NULL)\n        {};\n        ~localComPtr()\n        {\n
        \           if( p_moniker )\n                p_moniker->Release();\n            if(
        p_ro_table )\n                p_ro_table->Release();\n        }\n    }::p_ro_table::Register"
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3294,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3296,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3298,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3302,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3304
      start: 3255
    functionDepth: 1
    functionLinenumber: 3255
    functionLinenumberEnd: 3304
    functionName: BDAGraph::Register
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 1
    functionsReached:
    - "class localComPtr\n    {\n        public:\n        IMoniker*             p_moniker;\n
      \       IRunningObjectTable*  p_ro_table;\n        localComPtr():\n            p_moniker(NULL),\n
      \           p_ro_table(NULL)\n        {};\n        ~localComPtr()\n        {\n
      \           if( p_moniker )\n                p_moniker->Release();\n            if(
      p_ro_table )\n                p_ro_table->Release();\n        }\n    }::p_ro_table::Register"
    - CreateItemMoniker
    - ARRAY_SIZE
    - FAILED
    - ::GetCurrentProcessId
    - BDAGraph::Release
    - ::GetRunningObjectTable
    - _snwprintf
    - msg_Dbg
    - msg_Warn
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT BDAGraph::Register()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3265
      start: 3262
    functionDepth: 0
    functionLinenumber: 3262
    functionLinenumberEnd: 3265
    functionName: localComPtr::localComPtr
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void localComPtr()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3269,1
    - Dst: Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3272
      start: 3266
    functionDepth: 0
    functionLinenumber: 3266
    functionLinenumberEnd: 3272
    functionName: ~localComPtr()
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 0
    functionsReached:
    - Release
    linkageType: ''
    returnType: void
    signature: void ~localComPtr()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::GetRunningObjectTable
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3310,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3312,1
    - Dst: IRunningObjectTable*::Revoke
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3313,1
    - Dst: IRunningObjectTable*::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3316
      start: 3306
    functionDepth: 0
    functionLinenumber: 3306
    functionLinenumberEnd: 3316
    functionName: BDAGraph::Deregister
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 1
    functionsReached:
    - ::GetRunningObjectTable
    - IRunningObjectTable*::Revoke
    - IRunningObjectTable*::Release
    - SUCCEEDED
    linkageType: ''
    returnType: void
    signature: void BDAGraph::Deregister()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IBaseFilter*::QueryFilterInfo
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3323,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3324,1
    - Dst: WideCharToMultiByte
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3326,1
    - Dst: char::char
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3328,1
    - Dst: WideCharToMultiByte
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3329,1
    - Dst: FILTER_INFO::pGraph::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p_filter
    - psz_bstr_name
    argTypes:
    - IBaseFilter*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3337
      start: 3318
    functionDepth: 0
    functionLinenumber: 3318
    functionLinenumberEnd: 3337
    functionName: BDAGraph::GetFilterName
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 1
    functionsReached:
    - WideCharToMultiByte
    - FAILED
    - FILTER_INFO::pGraph::Release
    - IBaseFilter*::QueryFilterInfo
    - char::char
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT BDAGraph::GetFilterName( IBaseFilter* p_filter, char** psz_bstr_name
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IPin*::QueryPinInfo
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3344,1
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3345,1
    - Dst: WideCharToMultiByte
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3347,1
    - Dst: char::char
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3349,1
    - Dst: WideCharToMultiByte
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3350,1
    - Dst: PIN_INFO::pFilter::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p_pin
    - psz_bstr_name
    argTypes:
    - IPin*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3358
      start: 3339
    functionDepth: 0
    functionLinenumber: 3339
    functionLinenumberEnd: 3358
    functionName: BDAGraph::GetPinName
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 1
    functionsReached:
    - PIN_INFO::pFilter::Release
    - IPin*::QueryPinInfo
    - FAILED
    - WideCharToMultiByte
    - char::char
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT BDAGraph::GetPinName( IPin* p_pin, char** psz_bstr_name )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IBaseFilter*::EnumPins
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3375,1
    - Dst: IEnumPins*::Reset
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3378,1
    - Dst: IEnumPins*::Next
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3379,1
    - Dst: memset
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3381,1
    - Dst: IPin*::QueryPinInfo
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3383,1
    - Dst: wcslen
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3386,1
    - Dst: char::char
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3387,1
    - Dst: WideCharToMultiByte
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3390,1
    - Dst: snprintf
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3395,1
    - Dst: strlen
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3395,1
    - Dst: strlen
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3395,1
    - Dst: strstr
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3398,1
    - Dst: IPin*::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3409,1
    - Dst: IEnumPins*::Release
      Src: /src/vlc/modules/access/dtv/bdagraph.cpp:3416,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - pBaseFilter
    - pPinName
    argTypes:
    - IBaseFilter*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3422
      start: 3360
    functionDepth: 1
    functionLinenumber: 3360
    functionLinenumberEnd: 3422
    functionName: BDAGraph::FindPinOnFilter
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.cpp
    functionUses: 1
    functionsReached:
    - memset
    - IPin*::QueryPinInfo
    - WideCharToMultiByte
    - strlen
    - IBaseFilter*::EnumPins
    - IEnumPins*::Reset
    - IPin*::Release
    - wcslen
    - strstr
    - IEnumPins*::Next
    - IEnumPins*::Release
    - char::char
    - snprintf
    linkageType: ''
    returnType: IPin
    signature: IPin * BDAGraph::FindPinOnFilter( IBaseFilter* pBaseFilter, const char*
      pPinName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: VLC_FEC
    functionSourceFile: /src/vlc/modules/access/dtv/dtv.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLC_FEC(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: VLC_GUARD
    functionSourceFile: /src/vlc/modules/access/dtv/dtv.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLC_GUARD(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: ISampleGrabberCB
    functionSourceFile: /src/vlc/modules/access/dtv/qedit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: interface
    signature: interface ISampleGrabberCB
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - This
    - ','
    - riid
    - ','
    - ppvObject
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: ISampleGrabberCB_QueryInterface
    functionSourceFile: /src/vlc/modules/access/dtv/qedit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISampleGrabberCB_QueryInterface(This,riid,ppvObject)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - This
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: ISampleGrabberCB_AddRef
    functionSourceFile: /src/vlc/modules/access/dtv/qedit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISampleGrabberCB_AddRef(This)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - This
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: ISampleGrabberCB_Release
    functionSourceFile: /src/vlc/modules/access/dtv/qedit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISampleGrabberCB_Release(This)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - This
    - ','
    - SampleTime
    - ','
    - pSample
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: ISampleGrabberCB_SampleCB
    functionSourceFile: /src/vlc/modules/access/dtv/qedit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISampleGrabberCB_SampleCB(This,SampleTime,pSample)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - This
    - ','
    - SampleTime
    - ','
    - pBuffer
    - ','
    - BufferLen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: ISampleGrabberCB_BufferCB
    functionSourceFile: /src/vlc/modules/access/dtv/qedit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISampleGrabberCB_BufferCB(This,SampleTime,pBuffer,BufferLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISampleGrabberCB*::lpVtbl::QueryInterface
      Src: /src/vlc/modules/access/dtv/qedit.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - This
    - riid
    - ppvObject
    argTypes:
    - ISampleGrabberCB*
    - REFIID
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: ISampleGrabberCB_QueryInterface
    functionSourceFile: /src/vlc/modules/access/dtv/qedit.h
    functionUses: 0
    functionsReached:
    - ISampleGrabberCB*::lpVtbl::QueryInterface
    linkageType: ''
    returnType: FORCEINLINE
    signature: FORCEINLINE ISampleGrabberCB_QueryInterface(ISampleGrabberCB* This,REFIID
      riid,void **ppvObject)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISampleGrabberCB*::lpVtbl::AddRef
      Src: /src/vlc/modules/access/dtv/qedit.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - This
    argTypes:
    - ISampleGrabberCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: ISampleGrabberCB_AddRef
    functionSourceFile: /src/vlc/modules/access/dtv/qedit.h
    functionUses: 0
    functionsReached:
    - ISampleGrabberCB*::lpVtbl::AddRef
    linkageType: ''
    returnType: FORCEINLINE
    signature: FORCEINLINE ISampleGrabberCB_AddRef(ISampleGrabberCB* This)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISampleGrabberCB*::lpVtbl::Release
      Src: /src/vlc/modules/access/dtv/qedit.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - This
    argTypes:
    - ISampleGrabberCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: ISampleGrabberCB_Release
    functionSourceFile: /src/vlc/modules/access/dtv/qedit.h
    functionUses: 0
    functionsReached:
    - ISampleGrabberCB*::lpVtbl::Release
    linkageType: ''
    returnType: FORCEINLINE
    signature: FORCEINLINE ISampleGrabberCB_Release(ISampleGrabberCB* This)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISampleGrabberCB*::lpVtbl::SampleCB
      Src: /src/vlc/modules/access/dtv/qedit.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - This
    - SampleTime
    - pSample
    argTypes:
    - ISampleGrabberCB*
    - double
    - IMediaSample*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: ISampleGrabberCB_SampleCB
    functionSourceFile: /src/vlc/modules/access/dtv/qedit.h
    functionUses: 0
    functionsReached:
    - ISampleGrabberCB*::lpVtbl::SampleCB
    linkageType: ''
    returnType: FORCEINLINE
    signature: FORCEINLINE ISampleGrabberCB_SampleCB(ISampleGrabberCB* This,double
      SampleTime,IMediaSample *pSample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISampleGrabberCB*::lpVtbl::BufferCB
      Src: /src/vlc/modules/access/dtv/qedit.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - This
    - SampleTime
    - pBuffer
    - BufferLen
    argTypes:
    - ISampleGrabberCB*
    - double
    - BYTE*
    - LONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: ISampleGrabberCB_BufferCB
    functionSourceFile: /src/vlc/modules/access/dtv/qedit.h
    functionUses: 0
    functionsReached:
    - ISampleGrabberCB*::lpVtbl::BufferCB
    linkageType: ''
    returnType: FORCEINLINE
    signature: FORCEINLINE ISampleGrabberCB_BufferCB(ISampleGrabberCB* This,double
      SampleTime,BYTE *pBuffer,LONG BufferLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: ISampleGrabber
    functionSourceFile: /src/vlc/modules/access/dtv/qedit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: interface
    signature: interface ISampleGrabber
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - This
    - ','
    - riid
    - ','
    - ppvObject
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 232
    functionName: ISampleGrabber_QueryInterface
    functionSourceFile: /src/vlc/modules/access/dtv/qedit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISampleGrabber_QueryInterface(This,riid,ppvObject)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - This
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: ISampleGrabber_AddRef
    functionSourceFile: /src/vlc/modules/access/dtv/qedit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISampleGrabber_AddRef(This)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - This
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 234
    functionName: ISampleGrabber_Release
    functionSourceFile: /src/vlc/modules/access/dtv/qedit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISampleGrabber_Release(This)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - This
    - ','
    - OneShot
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 236
    functionName: ISampleGrabber_SetOneShot
    functionSourceFile: /src/vlc/modules/access/dtv/qedit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISampleGrabber_SetOneShot(This,OneShot)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - This
    - ','
    - pType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 237
    functionName: ISampleGrabber_SetMediaType
    functionSourceFile: /src/vlc/modules/access/dtv/qedit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISampleGrabber_SetMediaType(This,pType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - This
    - ','
    - pType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 238
    functionName: ISampleGrabber_GetConnectedMediaType
    functionSourceFile: /src/vlc/modules/access/dtv/qedit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISampleGrabber_GetConnectedMediaType(This,pType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - This
    - ','
    - BufferThem
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 239
    functionName: ISampleGrabber_SetBufferSamples
    functionSourceFile: /src/vlc/modules/access/dtv/qedit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISampleGrabber_SetBufferSamples(This,BufferThem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - This
    - ','
    - pBufferSize
    - ','
    - pBuffer
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 240
    functionName: ISampleGrabber_GetCurrentBuffer
    functionSourceFile: /src/vlc/modules/access/dtv/qedit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISampleGrabber_GetCurrentBuffer(This,pBufferSize,pBuffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - This
    - ','
    - ppSample
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 241
    functionName: ISampleGrabber_GetCurrentSample
    functionSourceFile: /src/vlc/modules/access/dtv/qedit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISampleGrabber_GetCurrentSample(This,ppSample)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - This
    - ','
    - pCallback
    - ','
    - WhichMethodToCallback
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 242
    functionName: ISampleGrabber_SetCallback
    functionSourceFile: /src/vlc/modules/access/dtv/qedit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISampleGrabber_SetCallback(This,pCallback,WhichMethodToCallback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISampleGrabber*::lpVtbl::QueryInterface
      Src: /src/vlc/modules/access/dtv/qedit.h:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - This
    - riid
    - ppvObject
    argTypes:
    - ISampleGrabber*
    - REFIID
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: ISampleGrabber_QueryInterface
    functionSourceFile: /src/vlc/modules/access/dtv/qedit.h
    functionUses: 0
    functionsReached:
    - ISampleGrabber*::lpVtbl::QueryInterface
    linkageType: ''
    returnType: FORCEINLINE
    signature: FORCEINLINE ISampleGrabber_QueryInterface(ISampleGrabber* This,REFIID
      riid,void **ppvObject)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISampleGrabber*::lpVtbl::AddRef
      Src: /src/vlc/modules/access/dtv/qedit.h:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - This
    argTypes:
    - ISampleGrabber*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: ISampleGrabber_AddRef
    functionSourceFile: /src/vlc/modules/access/dtv/qedit.h
    functionUses: 0
    functionsReached:
    - ISampleGrabber*::lpVtbl::AddRef
    linkageType: ''
    returnType: FORCEINLINE
    signature: FORCEINLINE ISampleGrabber_AddRef(ISampleGrabber* This)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISampleGrabber*::lpVtbl::Release
      Src: /src/vlc/modules/access/dtv/qedit.h:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - This
    argTypes:
    - ISampleGrabber*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: ISampleGrabber_Release
    functionSourceFile: /src/vlc/modules/access/dtv/qedit.h
    functionUses: 0
    functionsReached:
    - ISampleGrabber*::lpVtbl::Release
    linkageType: ''
    returnType: FORCEINLINE
    signature: FORCEINLINE ISampleGrabber_Release(ISampleGrabber* This)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISampleGrabber*::lpVtbl::SetOneShot
      Src: /src/vlc/modules/access/dtv/qedit.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - This
    - OneShot
    argTypes:
    - ISampleGrabber*
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: ISampleGrabber_SetOneShot
    functionSourceFile: /src/vlc/modules/access/dtv/qedit.h
    functionUses: 0
    functionsReached:
    - ISampleGrabber*::lpVtbl::SetOneShot
    linkageType: ''
    returnType: FORCEINLINE
    signature: FORCEINLINE ISampleGrabber_SetOneShot(ISampleGrabber* This,BOOL OneShot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISampleGrabber*::lpVtbl::SetMediaType
      Src: /src/vlc/modules/access/dtv/qedit.h:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - This
    - pType
    argTypes:
    - ISampleGrabber*
    - AM_MEDIA_TYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: ISampleGrabber_SetMediaType
    functionSourceFile: /src/vlc/modules/access/dtv/qedit.h
    functionUses: 0
    functionsReached:
    - ISampleGrabber*::lpVtbl::SetMediaType
    linkageType: ''
    returnType: FORCEINLINE
    signature: FORCEINLINE ISampleGrabber_SetMediaType(ISampleGrabber* This,const
      AM_MEDIA_TYPE *pType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISampleGrabber*::lpVtbl::GetConnectedMediaType
      Src: /src/vlc/modules/access/dtv/qedit.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - This
    - pType
    argTypes:
    - ISampleGrabber*
    - AM_MEDIA_TYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: ISampleGrabber_GetConnectedMediaType
    functionSourceFile: /src/vlc/modules/access/dtv/qedit.h
    functionUses: 0
    functionsReached:
    - ISampleGrabber*::lpVtbl::GetConnectedMediaType
    linkageType: ''
    returnType: FORCEINLINE
    signature: FORCEINLINE ISampleGrabber_GetConnectedMediaType(ISampleGrabber* This,AM_MEDIA_TYPE
      *pType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISampleGrabber*::lpVtbl::SetBufferSamples
      Src: /src/vlc/modules/access/dtv/qedit.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - This
    - BufferThem
    argTypes:
    - ISampleGrabber*
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: ISampleGrabber_SetBufferSamples
    functionSourceFile: /src/vlc/modules/access/dtv/qedit.h
    functionUses: 0
    functionsReached:
    - ISampleGrabber*::lpVtbl::SetBufferSamples
    linkageType: ''
    returnType: FORCEINLINE
    signature: FORCEINLINE ISampleGrabber_SetBufferSamples(ISampleGrabber* This,BOOL
      BufferThem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISampleGrabber*::lpVtbl::GetCurrentBuffer
      Src: /src/vlc/modules/access/dtv/qedit.h:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - This
    - pBufferSize
    - pBuffer
    argTypes:
    - ISampleGrabber*
    - LONG*
    - LONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 268
    functionName: ISampleGrabber_GetCurrentBuffer
    functionSourceFile: /src/vlc/modules/access/dtv/qedit.h
    functionUses: 0
    functionsReached:
    - ISampleGrabber*::lpVtbl::GetCurrentBuffer
    linkageType: ''
    returnType: FORCEINLINE
    signature: FORCEINLINE ISampleGrabber_GetCurrentBuffer(ISampleGrabber* This,LONG
      *pBufferSize,LONG *pBuffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISampleGrabber*::lpVtbl::GetCurrentSample
      Src: /src/vlc/modules/access/dtv/qedit.h:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - This
    - ppSample
    argTypes:
    - ISampleGrabber*
    - IMediaSample**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 271
    functionName: ISampleGrabber_GetCurrentSample
    functionSourceFile: /src/vlc/modules/access/dtv/qedit.h
    functionUses: 0
    functionsReached:
    - ISampleGrabber*::lpVtbl::GetCurrentSample
    linkageType: ''
    returnType: FORCEINLINE
    signature: FORCEINLINE ISampleGrabber_GetCurrentSample(ISampleGrabber* This,IMediaSample
      **ppSample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISampleGrabber*::lpVtbl::SetCallback
      Src: /src/vlc/modules/access/dtv/qedit.h:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - This
    - pCallback
    - WhichMethodToCallback
    argTypes:
    - ISampleGrabber*
    - ISampleGrabberCB*
    - LONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: ISampleGrabber_SetCallback
    functionSourceFile: /src/vlc/modules/access/dtv/qedit.h
    functionUses: 0
    functionsReached:
    - ISampleGrabber*::lpVtbl::SetCallback
    linkageType: ''
    returnType: FORCEINLINE
    signature: FORCEINLINE ISampleGrabber_SetCallback(ISampleGrabber* This,ISampleGrabberCB
      *pCallback,LONG WhichMethodToCallback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: lfind
    functionSourceFile: /src/vlc/modules/access/dtv/access.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lfind(a,b,c,d,e)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/dtv/access.c:447,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dtv/access.c:448,1
    - Dst: var_LocationParse
      Src: /src/vlc/modules/access/dtv/access.c:451,1
    - Dst: dvb_open
      Src: /src/vlc/modules/access/dtv/access.c:453,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/access.c:456,1
    - Dst: var_InheritFrequency
      Src: /src/vlc/modules/access/dtv/access.c:465,1
    - Dst: GuessSystem
      Src: /src/vlc/modules/access/dtv/access.c:468,1
    - Dst: dtv_get_delivery_tuner_setup
      Src: /src/vlc/modules/access/dtv/access.c:470,1
    - Dst: Tune
      Src: /src/vlc/modules/access/dtv/access.c:472,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/access.c:474,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/access/dtv/access.c:475,1
    - Dst: N_
      Src: /src/vlc/modules/access/dtv/access.c:475,1
    - Dst: N_
      Src: /src/vlc/modules/access/dtv/access.c:476,1
    - Dst: dvb_add_pid
      Src: /src/vlc/modules/access/dtv/access.c:482,1
    - Dst: Close
      Src: /src/vlc/modules/access/dtv/access.c:489,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 492
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/dtv/access.c
    functionUses: 21
    functionsReached:
    - dtv_get_delivery_tuner_setup
    - dvb_add_pid
    - vlc_dialog_display_error
    - N_
    - GuessSystem
    - msg_Err
    - free
    - dvb_open
    - Tune
    - var_InheritFrequency
    - Close
    - var_LocationParse
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open (vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dvb_close
      Src: /src/vlc/modules/access/dtv/access.c:499,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/access.c:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 501
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/dtv/access.c
    functionUses: 63
    functionsReached:
    - free
    - dvb_close
    linkageType: ''
    returnType: void
    signature: void Close (vlc_object_t *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/dtv/access.c:506,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dtv/access.c:507,1
    - Dst: dvb_read
      Src: /src/vlc/modules/access/dtv/access.c:511,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/dtv/access.c:517,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - access
    - eof
    argTypes:
    - stream_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 524
    functionName: Read
    functionSourceFile: /src/vlc/modules/access/dtv/access.c
    functionUses: 25
    functionsReached:
    - dvb_read
    - block_Alloc
    - unlikely
    - block_Release
    linkageType: ''
    returnType: block_t
    signature: block_t *Read (stream_t *access, bool *restrict eof)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/dtv/access.c:537,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/dtv/access.c:543,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dtv/access.c:543,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dtv/access.c:548,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dtv/access.c:548,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dtv/access.c:557,1
    - Dst: dvb_get_snr
      Src: /src/vlc/modules/access/dtv/access.c:557,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dtv/access.c:558,1
    - Dst: dvb_get_signal_strength
      Src: /src/vlc/modules/access/dtv/access.c:558,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dtv/access.c:563,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dtv/access.c:564,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dtv/access.c:566,1
    - Dst: dvb_add_pid
      Src: /src/vlc/modules/access/dtv/access.c:570,1
    - Dst: dvb_remove_pid
      Src: /src/vlc/modules/access/dtv/access.c:574,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dtv/access.c:580,1
    - Dst: dvb_set_ca_pmt
      Src: /src/vlc/modules/access/dtv/access.c:582,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dtv/access.c:589,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dtv/access.c:590,1
    - Dst: likely
      Src: /src/vlc/modules/access/dtv/access.c:592,1
    - Dst: dvb_get_pid_state
      Src: /src/vlc/modules/access/dtv/access.c:592,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 3
    argNames:
    - access
    - query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 601
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/dtv/access.c
    functionUses: 43
    functionsReached:
    - dvb_add_pid
    - dvb_remove_pid
    - strdup
    - var_InheritInteger
    - VLC_TICK_FROM_MS
    - dvb_get_pid_state
    - dvb_get_snr
    - va_arg
    - likely
    - dvb_set_ca_pmt
    - unlikely
    - dvb_get_signal_strength
    linkageType: ''
    returnType: int
    signature: int Control (stream_t *access, int query, va_list args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pf_setup
      Src: /src/vlc/modules/access/dtv/access.c:609,1
    - Dst: dvb_set_inversion
      Src: /src/vlc/modules/access/dtv/access.c:610,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dtv/access.c:610,1
    - Dst: dvb_tune
      Src: /src/vlc/modules/access/dtv/access.c:611,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - obj
    - dev
    - pf_setup
    - freq
    argTypes:
    - vlc_object_t*
    - dvb_device_t*
    - tuner_setup_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 614
    functionName: Tune
    functionSourceFile: /src/vlc/modules/access/dtv/access.c
    functionUses: 1
    functionsReached:
    - var_InheritInteger
    - pf_setup
    - dvb_set_inversion
    - dvb_tune
    linkageType: ''
    returnType: int
    signature: "int Tune (vlc_object_t *obj, dvb_device_t *dev, tuner_setup_t pf_setup,\n
      \                uint64_t freq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dtv/access.c:618,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/access.c:621,1
    - Dst: msg_Info
      Src: /src/vlc/modules/access/dtv/access.c:623,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 626
    functionName: var_InheritFrequency
    functionSourceFile: /src/vlc/modules/access/dtv/access.c
    functionUses: 1
    functionsReached:
    - var_InheritInteger
    - msg_Info
    - msg_Err
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t var_InheritFrequency (vlc_object_t *obj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/dtv/access.c:630,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/dtv/access.c:635,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/access.c:636,1
    - Dst: VLC_FEC
      Src: /src/vlc/modules/access/dtv/access.c:640,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/access.c:647,1
    - Dst: VLC_FEC
      Src: /src/vlc/modules/access/dtv/access.c:650,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/access.c:653,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - obj
    - varname
    argTypes:
    - vlc_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 656
    functionName: var_InheritCodeRate
    functionSourceFile: /src/vlc/modules/access/dtv/access.c
    functionUses: 0
    functionsReached:
    - sscanf
    - VLC_FEC
    - var_InheritString
    - free
    - msg_Warn
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t var_InheritCodeRate (vlc_object_t *obj, const char *varname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/dtv/access.c:660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 658
    functionDepth: 2
    functionLinenumber: 658
    functionLinenumberEnd: 661
    functionName: modcmp
    functionSourceFile: /src/vlc/modules/access/dtv/access.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int modcmp (const void *a, const void *b)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/dtv/access.c:665,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/dtv/access.c:669,1
    - Dst: lfind
      Src: /src/vlc/modules/access/dtv/access.c:670,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/access.c:673,1
    - Dst: atoi
      Src: /src/vlc/modules/access/dtv/access.c:679,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/access.c:690,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/access.c:694,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/access.c:696,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - obj
    - var
    argTypes:
    - vlc_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 698
    functionName: var_InheritModulation
    functionSourceFile: /src/vlc/modules/access/dtv/access.c
    functionUses: 0
    functionsReached:
    - atoi
    - var_InheritString
    - ARRAY_SIZE
    - free
    - msg_Warn
    - lfind
    linkageType: ''
    returnType: char
    signature: char *var_InheritModulation (vlc_object_t *obj, const char *var)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/dtv/access.c:702,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/dtv/access.c:707,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/access.c:708,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/access.c:715,1
    - Dst: VLC_GUARD
      Src: /src/vlc/modules/access/dtv/access.c:721,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 724
    functionName: var_InheritGuardInterval
    functionSourceFile: /src/vlc/modules/access/dtv/access.c
    functionUses: 0
    functionsReached:
    - sscanf
    - VLC_GUARD
    - var_InheritString
    - free
    - msg_Warn
    linkageType: ''
    returnType: unsigned
    signature: unsigned var_InheritGuardInterval (vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritModulation
      Src: /src/vlc/modules/access/dtv/access.c:730,1
    - Dst: dvb_set_atsc
      Src: /src/vlc/modules/access/dtv/access.c:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - obj
    - dev
    - freq
    argTypes:
    - vlc_object_t*
    - dvb_device_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 728
    functionDepth: 2
    functionLinenumber: 728
    functionLinenumberEnd: 733
    functionName: atsc_setup
    functionSourceFile: /src/vlc/modules/access/dtv/access.c
    functionUses: 0
    functionsReached:
    - var_InheritModulation
    - dvb_set_atsc
    linkageType: ''
    returnType: int
    signature: int atsc_setup (vlc_object_t *obj, dvb_device_t *dev, uint64_t freq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritModulation
      Src: /src/vlc/modules/access/dtv/access.c:737,1
    - Dst: dvb_set_cqam
      Src: /src/vlc/modules/access/dtv/access.c:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - obj
    - dev
    - freq
    argTypes:
    - vlc_object_t*
    - dvb_device_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 735
    functionDepth: 2
    functionLinenumber: 735
    functionLinenumberEnd: 740
    functionName: cqam_setup
    functionSourceFile: /src/vlc/modules/access/dtv/access.c
    functionUses: 0
    functionsReached:
    - dvb_set_cqam
    - var_InheritModulation
    linkageType: ''
    returnType: int
    signature: int cqam_setup (vlc_object_t *obj, dvb_device_t *dev, uint64_t freq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritModulation
      Src: /src/vlc/modules/access/dtv/access.c:745,1
    - Dst: var_InheritCodeRate
      Src: /src/vlc/modules/access/dtv/access.c:746,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dtv/access.c:747,1
    - Dst: dvb_set_dvbc
      Src: /src/vlc/modules/access/dtv/access.c:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - obj
    - dev
    - freq
    argTypes:
    - vlc_object_t*
    - dvb_device_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 743
    functionDepth: 2
    functionLinenumber: 743
    functionLinenumberEnd: 750
    functionName: dvbc_setup
    functionSourceFile: /src/vlc/modules/access/dtv/access.c
    functionUses: 0
    functionsReached:
    - var_InheritCodeRate
    - var_InheritModulation
    - var_InheritInteger
    - dvb_set_dvbc
    linkageType: ''
    returnType: int
    signature: int dvbc_setup (vlc_object_t *obj, dvb_device_t *dev, uint64_t freq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/dtv/access.c:755,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/access.c:759,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dtv/access.c:760,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 766
    functionName: var_InheritPolarization
    functionSourceFile: /src/vlc/modules/access/dtv/access.c
    functionUses: 0
    functionsReached:
    - free
    - var_InheritString
    - unlikely
    linkageType: ''
    returnType: char
    signature: char var_InheritPolarization (vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritPolarization
      Src: /src/vlc/modules/access/dtv/access.c:770,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dtv/access.c:771,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dtv/access.c:772,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dtv/access.c:773,1
    - Dst: dvb_set_sec
      Src: /src/vlc/modules/access/dtv/access.c:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - obj
    - dev
    - freq
    argTypes:
    - vlc_object_t*
    - dvb_device_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 768
    functionDepth: 2
    functionLinenumber: 768
    functionLinenumberEnd: 776
    functionName: sec_setup
    functionSourceFile: /src/vlc/modules/access/dtv/access.c
    functionUses: 0
    functionsReached:
    - var_InheritPolarization
    - var_InheritInteger
    - dvb_set_sec
    linkageType: ''
    returnType: void
    signature: void sec_setup (vlc_object_t *obj, dvb_device_t *dev, uint64_t freq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritCodeRate
      Src: /src/vlc/modules/access/dtv/access.c:780,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dtv/access.c:781,1
    - Dst: dvb_set_dvbs
      Src: /src/vlc/modules/access/dtv/access.c:783,1
    - Dst: sec_setup
      Src: /src/vlc/modules/access/dtv/access.c:785,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - obj
    - dev
    - freq
    argTypes:
    - vlc_object_t*
    - dvb_device_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 778
    functionDepth: 3
    functionLinenumber: 778
    functionLinenumberEnd: 787
    functionName: dvbs_setup
    functionSourceFile: /src/vlc/modules/access/dtv/access.c
    functionUses: 0
    functionsReached:
    - sec_setup
    - var_InheritCodeRate
    - var_InheritInteger
    - dvb_set_dvbs
    linkageType: ''
    returnType: int
    signature: int dvbs_setup (vlc_object_t *obj, dvb_device_t *dev, uint64_t freq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritModulation
      Src: /src/vlc/modules/access/dtv/access.c:791,1
    - Dst: var_InheritCodeRate
      Src: /src/vlc/modules/access/dtv/access.c:792,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dtv/access.c:793,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dtv/access.c:794,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dtv/access.c:795,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dtv/access.c:796,1
    - Dst: dvb_set_dvbs2
      Src: /src/vlc/modules/access/dtv/access.c:798,1
    - Dst: sec_setup
      Src: /src/vlc/modules/access/dtv/access.c:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - obj
    - dev
    - freq
    argTypes:
    - vlc_object_t*
    - dvb_device_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 789
    functionDepth: 3
    functionLinenumber: 789
    functionLinenumberEnd: 802
    functionName: dvbs2_setup
    functionSourceFile: /src/vlc/modules/access/dtv/access.c
    functionUses: 0
    functionsReached:
    - sec_setup
    - var_InheritCodeRate
    - var_InheritInteger
    - dvb_set_dvbs2
    - var_InheritModulation
    linkageType: ''
    returnType: int
    signature: int dvbs2_setup (vlc_object_t *obj, dvb_device_t *dev, uint64_t freq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritModulation
      Src: /src/vlc/modules/access/dtv/access.c:807,1
    - Dst: var_InheritCodeRate
      Src: /src/vlc/modules/access/dtv/access.c:808,1
    - Dst: var_InheritCodeRate
      Src: /src/vlc/modules/access/dtv/access.c:809,1
    - Dst: var_InheritGuardInterval
      Src: /src/vlc/modules/access/dtv/access.c:810,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dtv/access.c:811,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dtv/access.c:812,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dtv/access.c:813,1
    - Dst: dvb_set_dvbt
      Src: /src/vlc/modules/access/dtv/access.c:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - obj
    - dev
    - freq
    argTypes:
    - vlc_object_t*
    - dvb_device_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 805
    functionDepth: 2
    functionLinenumber: 805
    functionLinenumberEnd: 816
    functionName: dvbt_setup
    functionSourceFile: /src/vlc/modules/access/dtv/access.c
    functionUses: 0
    functionsReached:
    - var_InheritCodeRate
    - var_InheritInteger
    - var_InheritModulation
    - var_InheritGuardInterval
    - dvb_set_dvbt
    linkageType: ''
    returnType: int
    signature: int dvbt_setup (vlc_object_t *obj, dvb_device_t *dev, uint64_t freq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritModulation
      Src: /src/vlc/modules/access/dtv/access.c:820,1
    - Dst: var_InheritCodeRate
      Src: /src/vlc/modules/access/dtv/access.c:821,1
    - Dst: var_InheritGuardInterval
      Src: /src/vlc/modules/access/dtv/access.c:822,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dtv/access.c:823,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dtv/access.c:824,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dtv/access.c:825,1
    - Dst: dvb_set_dvbt2
      Src: /src/vlc/modules/access/dtv/access.c:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - obj
    - dev
    - freq
    argTypes:
    - vlc_object_t*
    - dvb_device_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 818
    functionDepth: 2
    functionLinenumber: 818
    functionLinenumberEnd: 828
    functionName: dvbt2_setup
    functionSourceFile: /src/vlc/modules/access/dtv/access.c
    functionUses: 0
    functionsReached:
    - var_InheritCodeRate
    - var_InheritInteger
    - var_InheritModulation
    - var_InheritGuardInterval
    - dvb_set_dvbt2
    linkageType: ''
    returnType: int
    signature: int dvbt2_setup (vlc_object_t *obj, dvb_device_t *dev, uint64_t freq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritModulation
      Src: /src/vlc/modules/access/dtv/access.c:833,1
    - Dst: var_InheritCodeRate
      Src: /src/vlc/modules/access/dtv/access.c:834,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dtv/access.c:835,1
    - Dst: dvb_set_isdbc
      Src: /src/vlc/modules/access/dtv/access.c:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - obj
    - dev
    - freq
    argTypes:
    - vlc_object_t*
    - dvb_device_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 831
    functionDepth: 2
    functionLinenumber: 831
    functionLinenumberEnd: 838
    functionName: isdbc_setup
    functionSourceFile: /src/vlc/modules/access/dtv/access.c
    functionUses: 0
    functionsReached:
    - var_InheritCodeRate
    - var_InheritModulation
    - var_InheritInteger
    - dvb_set_isdbc
    linkageType: ''
    returnType: int
    signature: int isdbc_setup (vlc_object_t *obj, dvb_device_t *dev, uint64_t freq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dtv/access.c:843,1
    - Dst: dvb_set_isdbs
      Src: /src/vlc/modules/access/dtv/access.c:845,1
    - Dst: sec_setup
      Src: /src/vlc/modules/access/dtv/access.c:847,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - obj
    - dev
    - freq
    argTypes:
    - vlc_object_t*
    - dvb_device_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 841
    functionDepth: 3
    functionLinenumber: 841
    functionLinenumberEnd: 849
    functionName: isdbs_setup
    functionSourceFile: /src/vlc/modules/access/dtv/access.c
    functionUses: 0
    functionsReached:
    - dvb_set_isdbs
    - var_InheritInteger
    - sec_setup
    linkageType: ''
    returnType: int
    signature: int isdbs_setup (vlc_object_t *obj, dvb_device_t *dev, uint64_t freq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritGuardInterval
      Src: /src/vlc/modules/access/dtv/access.c:855,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dtv/access.c:856,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dtv/access.c:857,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/dtv/access.c:862,1
    - Dst: strcpy
      Src: /src/vlc/modules/access/dtv/access.c:865,1
    - Dst: var_InheritModulation
      Src: /src/vlc/modules/access/dtv/access.c:866,1
    - Dst: strcpy
      Src: /src/vlc/modules/access/dtv/access.c:867,1
    - Dst: var_InheritCodeRate
      Src: /src/vlc/modules/access/dtv/access.c:868,1
    - Dst: strcpy
      Src: /src/vlc/modules/access/dtv/access.c:869,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dtv/access.c:870,1
    - Dst: strcpy
      Src: /src/vlc/modules/access/dtv/access.c:871,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dtv/access.c:872,1
    - Dst: dvb_set_isdbt
      Src: /src/vlc/modules/access/dtv/access.c:875,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - obj
    - dev
    - freq
    argTypes:
    - vlc_object_t*
    - dvb_device_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 852
    functionDepth: 2
    functionLinenumber: 852
    functionLinenumberEnd: 876
    functionName: isdbt_setup
    functionSourceFile: /src/vlc/modules/access/dtv/access.c
    functionUses: 0
    functionsReached:
    - dvb_set_isdbt
    - var_InheritInteger
    - var_InheritCodeRate
    - memcpy
    - strcpy
    - var_InheritModulation
    - var_InheritGuardInterval
    linkageType: ''
    returnType: int
    signature: int isdbt_setup (vlc_object_t *obj, dvb_device_t *dev, uint64_t freq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/dtv/access.c:899,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - dtv_delivery_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 905
    functionName: dtv_get_delivery_tuner_setup
    functionSourceFile: /src/vlc/modules/access/dtv/access.c
    functionUses: 1
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: tuner_setup_t
    signature: tuner_setup_t dtv_get_delivery_tuner_setup( dtv_delivery_t d )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/dtv/access.c:909,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/dtv/access.c:911,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - psz_scheme
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 907
    functionDepth: 2
    functionLinenumber: 907
    functionLinenumberEnd: 915
    functionName: GetDeliveryByScheme
    functionSourceFile: /src/vlc/modules/access/dtv/access.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - strcasecmp
    linkageType: ''
    returnType: dtv_delivery_t
    signature: dtv_delivery_t GetDeliveryByScheme(const char *psz_scheme)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stdc_trailing_zeros
      Src: /src/vlc/modules/access/dtv/access.c:922,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - d
    argTypes:
    - dtv_delivery_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 923
    functionName: GetSingleDelivery
    functionSourceFile: /src/vlc/modules/access/dtv/access.c
    functionUses: 0
    functionsReached:
    - stdc_trailing_zeros
    linkageType: ''
    returnType: dtv_delivery_t
    signature: dtv_delivery_t GetSingleDelivery( dtv_delivery_t d )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetDeliveryByScheme
      Src: /src/vlc/modules/access/dtv/access.c:929,1
    - Dst: dvb_enum_systems
      Src: /src/vlc/modules/access/dtv/access.c:937,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/dtv/access.c:944,1
    - Dst: GetSingleDelivery
      Src: /src/vlc/modules/access/dtv/access.c:946,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/dtv/access.c:948,1
    - Dst: GetSingleDelivery
      Src: /src/vlc/modules/access/dtv/access.c:950,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/dtv/access.c:952,1
    - Dst: GetSingleDelivery
      Src: /src/vlc/modules/access/dtv/access.c:954,1
    - Dst: GetSingleDelivery
      Src: /src/vlc/modules/access/dtv/access.c:959,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - scheme
    - dev
    argTypes:
    - char*
    - dvb_device_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 926
    functionDepth: 3
    functionLinenumber: 926
    functionLinenumberEnd: 964
    functionName: GuessSystem
    functionSourceFile: /src/vlc/modules/access/dtv/access.c
    functionUses: 1
    functionsReached:
    - GetSingleDelivery
    - GetDeliveryByScheme
    - dvb_enum_systems
    - strcasecmp
    linkageType: ''
    returnType: dtv_delivery_t
    signature: dtv_delivery_t GuessSystem (const char *scheme, dvb_device_t *dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/vlc/modules/access/dtv/en50221_capmt.h:44,1
    - Dst: likely
      Src: /src/vlc/modules/access/dtv/en50221_capmt.h:45,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/dtv/en50221_capmt.h:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - p_desc
    - pi_desc
    - p_data
    - i_data
    argTypes:
    - uint8_t**
    - size_t*
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: en50221_capmt_CADescriptorAppend
    functionSourceFile: /src/vlc/modules/access/dtv/en50221_capmt.h
    functionUses: 0
    functionsReached:
    - realloc
    - memcpy
    - likely
    linkageType: ''
    returnType: void
    signature: "void en50221_capmt_CADescriptorAppend( uint8_t **p_desc, size_t *pi_desc,\n
      \                                                    const uint8_t *p_data,
      uint8_t i_data )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/vlc/modules/access/dtv/en50221_capmt.h:59,1
    - Dst: likely
      Src: /src/vlc/modules/access/dtv/en50221_capmt.h:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - p_en
    - i_stream_type
    - i_es_pid
    argTypes:
    - en50221_capmt_info_t*
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 72
    functionName: en50221_capmt_EsAdd
    functionSourceFile: /src/vlc/modules/access/dtv/en50221_capmt.h
    functionUses: 0
    functionsReached:
    - realloc
    - likely
    linkageType: ''
    returnType: en50221_capmt_es_info_t
    signature: "en50221_capmt_es_info_t *en50221_capmt_EsAdd( en50221_capmt_info_t
      *p_en,\n                                                            uint8_t
      i_stream_type,\n                                                            uint16_t
      i_es_pid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: en50221_capmt_CADescriptorAppend
      Src: /src/vlc/modules/access/dtv/en50221_capmt.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_es
    - p_data
    - i_data
    argTypes:
    - en50221_capmt_es_info_t*
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: en50221_capmt_AddESCADescriptor
    functionSourceFile: /src/vlc/modules/access/dtv/en50221_capmt.h
    functionUses: 0
    functionsReached:
    - en50221_capmt_CADescriptorAppend
    linkageType: ''
    returnType: void
    signature: "void en50221_capmt_AddESCADescriptor( en50221_capmt_es_info_t *p_es,\n
      \                                                   const uint8_t *p_data, uint8_t
      i_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: en50221_capmt_CADescriptorAppend
      Src: /src/vlc/modules/access/dtv/en50221_capmt.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_en
    - p_data
    - i_data
    argTypes:
    - en50221_capmt_info_t*
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: en50221_capmt_AddCADescriptor
    functionSourceFile: /src/vlc/modules/access/dtv/en50221_capmt.h
    functionUses: 0
    functionsReached:
    - en50221_capmt_CADescriptorAppend
    linkageType: ''
    returnType: void
    signature: "void en50221_capmt_AddCADescriptor( en50221_capmt_info_t *p_en,\n
      \                                                 const uint8_t *p_data, uint8_t
      i_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/dtv/en50221_capmt.h:91,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/en50221_capmt.h:93,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/en50221_capmt.h:94,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/en50221_capmt.h:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_en
    argTypes:
    - en50221_capmt_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: en50221_capmt_Delete
    functionSourceFile: /src/vlc/modules/access/dtv/en50221_capmt.h
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void en50221_capmt_Delete( en50221_capmt_info_t *p_en )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/dtv/en50221_capmt.h:100,1
    - Dst: likely
      Src: /src/vlc/modules/access/dtv/en50221_capmt.h:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - i_version
    - i_program
    argTypes:
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 111
    functionName: en50221_capmt_New
    functionSourceFile: /src/vlc/modules/access/dtv/en50221_capmt.h
    functionUses: 0
    functionsReached:
    - likely
    - malloc
    linkageType: ''
    returnType: en50221_capmt_info_t
    signature: en50221_capmt_info_t * en50221_capmt_New( uint8_t i_version, uint16_t
      i_program )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: en50221_capmt_New
      Src: /src/vlc/modules/access/dtv/en50221_capmt.h:115,1
    - Dst: calloc
      Src: /src/vlc/modules/access/dtv/en50221_capmt.h:118,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/dtv/en50221_capmt.h:121,1
    - Dst: calloc
      Src: /src/vlc/modules/access/dtv/en50221_capmt.h:124,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/dtv/en50221_capmt.h:127,1
    - Dst: malloc
      Src: /src/vlc/modules/access/dtv/en50221_capmt.h:132,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/dtv/en50221_capmt.h:138,1
    - Dst: en50221_capmt_Delete
      Src: /src/vlc/modules/access/dtv/en50221_capmt.h:145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - p_src
    argTypes:
    - en50221_capmt_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 147
    functionName: en50221_capmt_Duplicate
    functionSourceFile: /src/vlc/modules/access/dtv/en50221_capmt.h
    functionUses: 0
    functionsReached:
    - en50221_capmt_New
    - memcpy
    - calloc
    - en50221_capmt_Delete
    - malloc
    linkageType: ''
    returnType: en50221_capmt_info_t
    signature: en50221_capmt_info_t * en50221_capmt_Duplicate( const en50221_capmt_info_t
      *p_src )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p_data
    - pi_length
    argTypes:
    - uint8_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 159
    functionName: GetLength
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *GetLength( uint8_t *p_data, int *pi_length )
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - p_data
    - i_length
    argTypes:
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 197
    functionName: SetLength
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *SetLength( uint8_t *p_data, int i_length )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/modules/access/dtv/en50221.c:225,1
    - Dst: fprintf
      Src: /src/vlc/modules/access/dtv/en50221.c:227,1
    - Dst: fprintf
      Src: /src/vlc/modules/access/dtv/en50221.c:228,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dtv/en50221.c:230,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dtv/en50221.c:230,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dtv/en50221.c:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - b_outgoing
    - p_data
    - i_size
    argTypes:
    - bool
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 232
    functionName: Dump
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 4
    functionsReached:
    - fprintf
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void Dump( bool b_outgoing, uint8_t *p_data, int i_size )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetLength
      Src: /src/vlc/modules/access/dtv/en50221.c:245,1
    - Dst: Dump
      Src: /src/vlc/modules/access/dtv/en50221.c:248,1
    - Dst: writev
      Src: /src/vlc/modules/access/dtv/en50221.c:255,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:257,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dtv/en50221.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - p_cam
    - i_slot
    - i_tag
    - p_content
    - i_length
    argTypes:
    - cam_t*
    - uint8_t
    - uint8_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 262
    functionName: TPDUSend
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - writev
    - vlc_strerror_c
    - Dump
    - msg_Err
    - SetLength
    linkageType: ''
    returnType: int
    signature: "int TPDUSend( cam_t * p_cam, uint8_t i_slot, uint8_t i_tag,\n                     const
      uint8_t *p_content, size_t i_length )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: poll
      Src: /src/vlc/modules/access/dtv/en50221.c:280,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:283,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dtv/en50221.c:283,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:289,1
    - Dst: xmalloc
      Src: /src/vlc/modules/access/dtv/en50221.c:295,1
    - Dst: read
      Src: /src/vlc/modules/access/dtv/en50221.c:300,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:308,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dtv/en50221.c:309,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/en50221.c:311,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:317,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/en50221.c:320,1
    - Dst: Dump
      Src: /src/vlc/modules/access/dtv/en50221.c:331,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/en50221.c:334,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 5
    argNames:
    - p_cam
    - i_slot
    - pi_tag
    - p_data
    - pi_size
    argTypes:
    - cam_t*
    - uint8_t
    - uint8_t*
    - uint8_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 339
    functionName: TPDURecv
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - vlc_strerror_c
    - poll
    - read
    - Dump
    - msg_Err
    - free
    - xmalloc
    linkageType: ''
    returnType: int
    signature: "int TPDURecv( cam_t *p_cam, uint8_t i_slot, uint8_t *pi_tag,\n                     uint8_t
      *p_data, int *pi_size )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 368
    functionName: ResourceIdToInt
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ResourceIdToInt( uint8_t *p_data )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/vlc/modules/access/dtv/en50221.c:376,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/dtv/en50221.c:386,1
    - Dst: TPDUSend
      Src: /src/vlc/modules/access/dtv/en50221.c:395,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:398,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/en50221.c:400,1
    - Dst: TPDUSend
      Src: /src/vlc/modules/access/dtv/en50221.c:408,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:411,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/en50221.c:413,1
    - Dst: TPDURecv
      Src: /src/vlc/modules/access/dtv/en50221.c:419,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:422,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/en50221.c:424,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/en50221.c:429,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 4
    argNames:
    - p_cam
    - i_session_id
    - p_data
    - i_size
    argTypes:
    - cam_t*
    - int
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 373
    functionDepth: 3
    functionLinenumber: 373
    functionLinenumberEnd: 431
    functionName: SPDUSend
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - memcpy
    - msg_Err
    - free
    - xmalloc
    - TPDUSend
    - TPDURecv
    linkageType: ''
    returnType: int
    signature: "int SPDUSend( cam_t * p_cam, int i_session_id,\n                     uint8_t
      *p_data, int i_size )"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dtv/en50221.c:439,1
    - Dst: ResourceIdToInt
      Src: /src/vlc/modules/access/dtv/en50221.c:442,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:454,1
    - Dst: TPDUSend
      Src: /src/vlc/modules/access/dtv/en50221.c:481,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:484,1
    - Dst: TPDURecv
      Src: /src/vlc/modules/access/dtv/en50221.c:488,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:490,1
    - Dst: ResourceManagerOpen
      Src: /src/vlc/modules/access/dtv/en50221.c:498,1
    - Dst: ApplicationInformationOpen
      Src: /src/vlc/modules/access/dtv/en50221.c:500,1
    - Dst: ConditionalAccessOpen
      Src: /src/vlc/modules/access/dtv/en50221.c:502,1
    - Dst: DateTimeOpen
      Src: /src/vlc/modules/access/dtv/en50221.c:504,1
    - Dst: MMIOpen
      Src: /src/vlc/modules/access/dtv/en50221.c:506,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:510,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 4
    argNames:
    - p_cam
    - i_slot
    - p_spdu
    - i_size
    argTypes:
    - cam_t*
    - uint8_t
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 436
    functionDepth: 3
    functionLinenumber: 436
    functionLinenumberEnd: 513
    functionName: SessionOpen
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - DateTimeOpen
    - ResourceIdToInt
    - ConditionalAccessOpen
    - msg_Err
    - TPDUSend
    - TPDURecv
    - ResourceManagerOpen
    - ApplicationInformationOpen
    - MMIOpen
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void SessionOpen( cam_t * p_cam, uint8_t i_slot,\n                         uint8_t
      *p_spdu, int i_size )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:533,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/access/dtv/en50221.c:544,1
    - Dst: SetWBE
      Src: /src/vlc/modules/access/dtv/en50221.c:545,1
    - Dst: TPDUSend
      Src: /src/vlc/modules/access/dtv/en50221.c:547,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:550,1
    - Dst: TPDURecv
      Src: /src/vlc/modules/access/dtv/en50221.c:554,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:556,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - p_cam
    - i_slot
    - i_resource_id
    argTypes:
    - cam_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 520
    functionDepth: 3
    functionLinenumber: 520
    functionLinenumberEnd: 560
    functionName: SessionCreate
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 3
    functionsReached:
    - SetWBE
    - msg_Err
    - SetDWBE
    - TPDUSend
    - TPDURecv
    linkageType: ''
    returnType: void
    signature: void SessionCreate( cam_t * p_cam, int i_slot, int i_resource_id )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dtv/en50221.c:569,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dtv/en50221.c:570,1
    - Dst: ResourceIdToInt
      Src: /src/vlc/modules/access/dtv/en50221.c:573,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:578,1
    - Dst: ResourceManagerOpen
      Src: /src/vlc/modules/access/dtv/en50221.c:588,1
    - Dst: ApplicationInformationOpen
      Src: /src/vlc/modules/access/dtv/en50221.c:590,1
    - Dst: ConditionalAccessOpen
      Src: /src/vlc/modules/access/dtv/en50221.c:592,1
    - Dst: DateTimeOpen
      Src: /src/vlc/modules/access/dtv/en50221.c:594,1
    - Dst: MMIOpen
      Src: /src/vlc/modules/access/dtv/en50221.c:596,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:600,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 4
    argNames:
    - p_cam
    - i_slot
    - p_spdu
    - i_size
    argTypes:
    - cam_t*
    - uint8_t
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 603
    functionName: SessionCreateResponse
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - DateTimeOpen
    - ResourceIdToInt
    - ConditionalAccessOpen
    - msg_Err
    - ResourceManagerOpen
    - ApplicationInformationOpen
    - MMIOpen
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void SessionCreateResponse( cam_t * p_cam, uint8_t i_slot,\n                                   uint8_t
      *p_spdu, int i_size )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SetWBE
      Src: /src/vlc/modules/access/dtv/en50221.c:616,1
    - Dst: TPDUSend
      Src: /src/vlc/modules/access/dtv/en50221.c:618,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:621,1
    - Dst: TPDURecv
      Src: /src/vlc/modules/access/dtv/en50221.c:625,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:627,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - p_cam
    - i_session_id
    argTypes:
    - cam_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 608
    functionDepth: 3
    functionLinenumber: 608
    functionLinenumberEnd: 631
    functionName: SessionSendClose
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - SetWBE
    - TPDUSend
    - TPDURecv
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void SessionSendClose( cam_t *p_cam, int i_session_id )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pf_close
      Src: /src/vlc/modules/access/dtv/en50221.c:643,1
    - Dst: TPDUSend
      Src: /src/vlc/modules/access/dtv/en50221.c:652,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:655,1
    - Dst: TPDURecv
      Src: /src/vlc/modules/access/dtv/en50221.c:659,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:661,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - p_cam
    - i_session_id
    argTypes:
    - cam_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 636
    functionDepth: 3
    functionLinenumber: 636
    functionLinenumberEnd: 665
    functionName: SessionClose
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - TPDUSend
    - TPDURecv
    - pf_close
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void SessionClose( cam_t * p_cam, int i_session_id )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: pf_handle
      Src: /src/vlc/modules/access/dtv/en50221.c:681,1
    - Dst: SessionOpen
      Src: /src/vlc/modules/access/dtv/en50221.c:688,1
    - Dst: SessionCreateResponse
      Src: /src/vlc/modules/access/dtv/en50221.c:694,1
    - Dst: SessionClose
      Src: /src/vlc/modules/access/dtv/en50221.c:701,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:710,1
    - Dst: pf_close
      Src: /src/vlc/modules/access/dtv/en50221.c:717,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:724,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 4
    argNames:
    - p_cam
    - i_slot
    - p_spdu
    - i_size
    argTypes:
    - cam_t*
    - uint8_t
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 670
    functionDepth: 4
    functionLinenumber: 670
    functionLinenumberEnd: 727
    functionName: SPDUHandle
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - SessionClose
    - pf_handle
    - pf_close
    - msg_Err
    - SessionCreateResponse
    - SessionOpen
    linkageType: ''
    returnType: void
    signature: "void SPDUHandle( cam_t * p_cam, uint8_t i_slot,\n                        uint8_t
      *p_spdu, int i_size )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - p_apdu
    - i_size
    argTypes:
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 797
    functionName: APDUGetTag
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int APDUGetTag( const uint8_t *p_apdu, int i_size )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetLength
      Src: /src/vlc/modules/access/dtv/en50221.c:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_apdu
    - pi_size
    argTypes:
    - uint8_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 805
    functionName: APDUGetLength
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - GetLength
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *APDUGetLength( uint8_t *p_apdu, int *pi_size )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/vlc/modules/access/dtv/en50221.c:813,1
    - Dst: SetLength
      Src: /src/vlc/modules/access/dtv/en50221.c:821,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/dtv/en50221.c:823,1
    - Dst: SPDUSend
      Src: /src/vlc/modules/access/dtv/en50221.c:826,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:832,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/dtv/en50221.c:839,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dtv/en50221.c:840,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:843,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dtv/en50221.c:844,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/en50221.c:849,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 5
    argNames:
    - p_cam
    - i_session_id
    - i_tag
    - p_data
    - i_size
    argTypes:
    - cam_t*
    - int
    - int
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 810
    functionDepth: 4
    functionLinenumber: 810
    functionLinenumberEnd: 851
    functionName: APDUSend
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - vlc_strerror_c
    - SPDUSend
    - memcpy
    - msg_Err
    - free
    - xmalloc
    - ioctl
    - SetLength
    linkageType: ''
    returnType: int
    signature: "int APDUSend( cam_t * p_cam, int i_session_id, int i_tag,\n                     uint8_t
      *p_data, size_t i_size )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: APDUGetTag
      Src: /src/vlc/modules/access/dtv/en50221.c:863,1
    - Dst: htonl
      Src: /src/vlc/modules/access/dtv/en50221.c:869,1
    - Dst: htonl
      Src: /src/vlc/modules/access/dtv/en50221.c:870,1
    - Dst: htonl
      Src: /src/vlc/modules/access/dtv/en50221.c:871,1
    - Dst: htonl
      Src: /src/vlc/modules/access/dtv/en50221.c:872,1
    - Dst: htonl
      Src: /src/vlc/modules/access/dtv/en50221.c:873,1
    - Dst: APDUSend
      Src: /src/vlc/modules/access/dtv/en50221.c:875,1
    - Dst: APDUSend
      Src: /src/vlc/modules/access/dtv/en50221.c:880,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:884,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - p_cam
    - i_session_id
    - p_apdu
    - i_size
    argTypes:
    - cam_t*
    - int
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 860
    functionDepth: 5
    functionLinenumber: 860
    functionLinenumberEnd: 887
    functionName: ResourceManagerHandle
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - htonl
    - APDUGetTag
    - APDUSend
    - msg_Err
    linkageType: ''
    returnType: void
    signature: "void ResourceManagerHandle( cam_t * p_cam, int i_session_id,\n                                   uint8_t
      *p_apdu, int i_size )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/en50221.c:894,1
    - Dst: APDUSend
      Src: /src/vlc/modules/access/dtv/en50221.c:897,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_cam
    - i_session_id
    argTypes:
    - cam_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 892
    functionDepth: 5
    functionLinenumber: 892
    functionLinenumberEnd: 898
    functionName: ResourceManagerOpen
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 2
    functionsReached:
    - APDUSend
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void ResourceManagerOpen( cam_t * p_cam, unsigned i_session_id )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/vlc/modules/access/dtv/en50221.c:914,1
    - Dst: strlen
      Src: /src/vlc/modules/access/dtv/en50221.c:918,1
    - Dst: strlen
      Src: /src/vlc/modules/access/dtv/en50221.c:927,1
    - Dst: strchr
      Src: /src/vlc/modules/access/dtv/en50221.c:930,1
    - Dst: strchr
      Src: /src/vlc/modules/access/dtv/en50221.c:932,1
    - Dst: strchr
      Src: /src/vlc/modules/access/dtv/en50221.c:937,1
    - Dst: strchr
      Src: /src/vlc/modules/access/dtv/en50221.c:939,1
    - Dst: strlen
      Src: /src/vlc/modules/access/dtv/en50221.c:944,1
    - Dst: __MIN
      Src: /src/vlc/modules/access/dtv/en50221.c:947,1
    - Dst: strncpy
      Src: /src/vlc/modules/access/dtv/en50221.c:950,1
    - Dst: strncpy
      Src: /src/vlc/modules/access/dtv/en50221.c:955,1
    - Dst: strncpy
      Src: /src/vlc/modules/access/dtv/en50221.c:961,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 4
    argNames:
    - psz_uri
    - psz_name
    - psz_value
    - i_value_max
    argTypes:
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 909
    functionDepth: 1
    functionLinenumber: 909
    functionLinenumberEnd: 965
    functionName: HTTPExtractValue
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - strchr
    - strlen
    - __MIN
    - strstr
    - strncpy
    linkageType: ''
    returnType: char
    signature: "char *HTTPExtractValue( const char *psz_uri, const char *psz_name,\n
      \                       char *psz_value, int i_value_max )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/en50221.c:974,1
    - Dst: APDUSend
      Src: /src/vlc/modules/access/dtv/en50221.c:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_cam
    - i_session_id
    argTypes:
    - cam_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 970
    functionDepth: 5
    functionLinenumber: 970
    functionLinenumberEnd: 977
    functionName: ApplicationInformationEnterMenu
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - APDUSend
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void ApplicationInformationEnterMenu( cam_t * p_cam, int i_session_id
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dtv/en50221.c:986,1
    - Dst: APDUGetTag
      Src: /src/vlc/modules/access/dtv/en50221.c:987,1
    - Dst: APDUGetLength
      Src: /src/vlc/modules/access/dtv/en50221.c:995,1
    - Dst: GetLength
      Src: /src/vlc/modules/access/dtv/en50221.c:1005,1
    - Dst: msg_Info
      Src: /src/vlc/modules/access/dtv/en50221.c:1007,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:1012,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - p_cam
    - i_session_id
    - p_apdu
    - i_size
    argTypes:
    - cam_t*
    - int
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 1016
    functionName: ApplicationInformationHandle
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - APDUGetLength
    - GetLength
    - msg_Err
    - msg_Info
    - APDUGetTag
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void ApplicationInformationHandle( cam_t * p_cam, int i_session_id,\n
      \                                         uint8_t *p_apdu, int i_size )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/en50221.c:1023,1
    - Dst: APDUSend
      Src: /src/vlc/modules/access/dtv/en50221.c:1027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_cam
    - i_session_id
    argTypes:
    - cam_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1021
    functionDepth: 5
    functionLinenumber: 1021
    functionLinenumberEnd: 1028
    functionName: ApplicationInformationOpen
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 2
    functionsReached:
    - APDUSend
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void ApplicationInformationOpen( cam_t * p_cam, unsigned i_session_id
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - p_ids
    - i_id
    argTypes:
    - system_ids_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1054
    functionName: CheckSystemID
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CheckSystemID( const system_ids_t *p_ids, uint16_t i_id )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - p_info
    argTypes:
    - en50221_capmt_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1071
    functionName: CAPMTNeedsDescrambling
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CAPMTNeedsDescrambling( const en50221_capmt_info_t *p_info )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/dtv/en50221.c:1082,1
    - Dst: GetWBE
      Src: /src/vlc/modules/access/dtv/en50221.c:1084,1
    - Dst: CheckSystemID
      Src: /src/vlc/modules/access/dtv/en50221.c:1085,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/dtv/en50221.c:1088,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - p_drdata
    - i_drdata
    - p_ids
    - p_dest
    argTypes:
    - uint8_t*
    - size_t
    - system_ids_t*
    - uint8_t*
    assertStmts:
    - condition: ( p_drdata[0] == 0x09 )
      pos:
        line_end: 1081
        line_start: 1081
        source_file: /src/vlc/modules/access/dtv/en50221.c
    constantsTouched: []
    func_position:
      end: 1095
      start: 1076
    functionDepth: 1
    functionLinenumber: 1076
    functionLinenumberEnd: 1095
    functionName: CopyDescriptors
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - GetWBE
    - CheckSystemID
    - assert
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t CopyDescriptors( const uint8_t *p_drdata, size_t i_drdata,\n
      \                              const system_ids_t *p_ids, uint8_t *p_dest )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CopyDescriptors
      Src: /src/vlc/modules/access/dtv/en50221.c:1100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_ids
    - p_drdata
    - i_drdata
    argTypes:
    - system_ids_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1097
    functionDepth: 2
    functionLinenumber: 1097
    functionLinenumberEnd: 1101
    functionName: GetCADSize
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - CopyDescriptors
    linkageType: ''
    returnType: size_t
    signature: "size_t GetCADSize( const system_ids_t *p_ids,\n                          const
      uint8_t *p_drdata, size_t i_drdata )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/vlc/modules/access/dtv/en50221.c:1110,1
    - Dst: xmalloc
      Src: /src/vlc/modules/access/dtv/en50221.c:1112,1
    - Dst: CopyDescriptors
      Src: /src/vlc/modules/access/dtv/en50221.c:1125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 5
    argNames:
    - p_info
    - p_ids
    - i_list_mgt
    - i_size
    - i_cmd
    argTypes:
    - en50221_capmt_info_t*
    - system_ids_t*
    - uint8_t
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1103
    functionDepth: 2
    functionLinenumber: 1103
    functionLinenumberEnd: 1136
    functionName: CAPMTHeader
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - CopyDescriptors
    - xmalloc
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *CAPMTHeader( const en50221_capmt_info_t *p_info,\n                             const
      system_ids_t *p_ids, uint8_t i_list_mgt,\n                             size_t
      i_size, uint8_t i_cmd )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xrealloc
      Src: /src/vlc/modules/access/dtv/en50221.c:1146,1
    - Dst: xrealloc
      Src: /src/vlc/modules/access/dtv/en50221.c:1148,1
    - Dst: CopyDescriptors
      Src: /src/vlc/modules/access/dtv/en50221.c:1162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 6
    argNames:
    - p_es
    - p_ids
    - i_capmt_size
    - i_size
    - i_cmd
    - p_capmt
    argTypes:
    - en50221_capmt_es_info_t*
    - system_ids_t*
    - size_t
    - size_t
    - uint8_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1138
    functionDepth: 2
    functionLinenumber: 1138
    functionLinenumberEnd: 1173
    functionName: CAPMTES
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - CopyDescriptors
    - xrealloc
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *CAPMTES( const en50221_capmt_es_info_t *p_es,\n                         const
      system_ids_t *p_ids,\n                         size_t i_capmt_size, size_t i_size,\n
      \                        uint8_t i_cmd, uint8_t *p_capmt )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetCADSize
      Src: /src/vlc/modules/access/dtv/en50221.c:1185,1
    - Dst: GetCADSize
      Src: /src/vlc/modules/access/dtv/en50221.c:1191,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/en50221.c:1196,1
    - Dst: CAPMTHeader
      Src: /src/vlc/modules/access/dtv/en50221.c:1202,1
    - Dst: GetCADSize
      Src: /src/vlc/modules/access/dtv/en50221.c:1213,1
    - Dst: CAPMTES
      Src: /src/vlc/modules/access/dtv/en50221.c:1217,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 6
    argNames:
    - p_cam
    - i_session_id
    - p_info
    - i_list_mgt
    - i_cmd
    - pi_capmt_size
    argTypes:
    - cam_t*
    - int
    - en50221_capmt_info_t*
    - uint8_t
    - uint8_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1175
    functionDepth: 3
    functionLinenumber: 1175
    functionLinenumberEnd: 1227
    functionName: CAPMTBuild
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - GetCADSize
    - CAPMTHeader
    - CAPMTES
    - msg_Warn
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *CAPMTBuild( cam_t * p_cam, int i_session_id,\n                            const
      en50221_capmt_info_t *p_info,\n                            uint8_t i_list_mgt,\n
      \                           uint8_t i_cmd, size_t *restrict pi_capmt_size )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/en50221.c:1238,1
    - Dst: CAPMTBuild
      Src: /src/vlc/modules/access/dtv/en50221.c:1241,1
    - Dst: APDUSend
      Src: /src/vlc/modules/access/dtv/en50221.c:1246,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/en50221.c:1247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - p_cam
    - i_session_id
    - p_info
    argTypes:
    - cam_t*
    - int
    - en50221_capmt_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1232
    functionDepth: 5
    functionLinenumber: 1232
    functionLinenumberEnd: 1249
    functionName: CAPMTFirst
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - APDUSend
    - msg_Dbg
    - free
    - CAPMTBuild
    linkageType: ''
    returnType: void
    signature: "void CAPMTFirst( cam_t * p_cam, int i_session_id,\n                        const
      en50221_capmt_info_t *p_info )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/en50221.c:1262,1
    - Dst: CAPMTFirst
      Src: /src/vlc/modules/access/dtv/en50221.c:1269,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/access/dtv/en50221.c:1274,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/dtv/en50221.c:1274,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/en50221.c:1277,1
    - Dst: CAPMTBuild
      Src: /src/vlc/modules/access/dtv/en50221.c:1280,1
    - Dst: APDUSend
      Src: /src/vlc/modules/access/dtv/en50221.c:1285,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/en50221.c:1286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - p_cam
    - i_session_id
    - p_info
    argTypes:
    - cam_t*
    - int
    - en50221_capmt_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1254
    functionDepth: 6
    functionLinenumber: 1254
    functionLinenumberEnd: 1288
    functionName: CAPMTAdd
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - APDUSend
    - VLC_TICK_FROM_MS
    - CAPMTBuild
    - free
    - msg_Dbg
    - msg_Warn
    - vlc_tick_sleep
    - CAPMTFirst
    linkageType: ''
    returnType: void
    signature: "void CAPMTAdd( cam_t * p_cam, int i_session_id,\n                      const
      en50221_capmt_info_t *p_info )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/en50221.c:1299,1
    - Dst: CAPMTBuild
      Src: /src/vlc/modules/access/dtv/en50221.c:1302,1
    - Dst: APDUSend
      Src: /src/vlc/modules/access/dtv/en50221.c:1307,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/en50221.c:1308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - p_cam
    - i_session_id
    - p_info
    argTypes:
    - cam_t*
    - int
    - en50221_capmt_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1293
    functionDepth: 5
    functionLinenumber: 1293
    functionLinenumberEnd: 1310
    functionName: CAPMTUpdate
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - APDUSend
    - msg_Dbg
    - free
    - CAPMTBuild
    linkageType: ''
    returnType: void
    signature: "void CAPMTUpdate( cam_t * p_cam, int i_session_id,\n                         const
      en50221_capmt_info_t *p_info )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/en50221.c:1322,1
    - Dst: CAPMTBuild
      Src: /src/vlc/modules/access/dtv/en50221.c:1325,1
    - Dst: APDUSend
      Src: /src/vlc/modules/access/dtv/en50221.c:1330,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/en50221.c:1331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - p_cam
    - i_session_id
    - p_info
    argTypes:
    - cam_t*
    - int
    - en50221_capmt_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1315
    functionDepth: 5
    functionLinenumber: 1315
    functionLinenumberEnd: 1333
    functionName: CAPMTDelete
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - APDUSend
    - msg_Dbg
    - free
    - CAPMTBuild
    linkageType: ''
    returnType: void
    signature: "void CAPMTDelete( cam_t * p_cam, int i_session_id,\n                         const
      en50221_capmt_info_t *p_info )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: APDUGetTag
      Src: /src/vlc/modules/access/dtv/en50221.c:1343,1
    - Dst: APDUGetLength
      Src: /src/vlc/modules/access/dtv/en50221.c:1351,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/en50221.c:1352,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/en50221.c:1358,1
    - Dst: CAPMTAdd
      Src: /src/vlc/modules/access/dtv/en50221.c:1366,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:1374,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - p_cam
    - i_session_id
    - p_apdu
    - i_size
    argTypes:
    - cam_t*
    - int
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1338
    functionDepth: 7
    functionLinenumber: 1338
    functionLinenumberEnd: 1378
    functionName: ConditionalAccessHandle
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - APDUGetLength
    - CAPMTAdd
    - msg_Err
    - msg_Dbg
    - APDUGetTag
    linkageType: ''
    returnType: void
    signature: "void ConditionalAccessHandle( cam_t * p_cam, int i_session_id,\n                                     uint8_t
      *p_apdu, int i_size )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/en50221.c:1385,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/en50221.c:1387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_cam
    - i_session_id
    argTypes:
    - cam_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1383
    functionDepth: 1
    functionLinenumber: 1383
    functionLinenumberEnd: 1388
    functionName: ConditionalAccessClose
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - free
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void ConditionalAccessClose( cam_t * p_cam, int i_session_id )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/en50221.c:1395,1
    - Dst: calloc
      Src: /src/vlc/modules/access/dtv/en50221.c:1399,1
    - Dst: APDUSend
      Src: /src/vlc/modules/access/dtv/en50221.c:1401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p_cam
    - i_session_id
    argTypes:
    - cam_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1393
    functionDepth: 5
    functionLinenumber: 1393
    functionLinenumberEnd: 1402
    functionName: ConditionalAccessOpen
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 2
    functionsReached:
    - calloc
    - msg_Dbg
    - APDUSend
    linkageType: ''
    returnType: void
    signature: void ConditionalAccessOpen( cam_t * p_cam, unsigned i_session_id )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/vlc/modules/access/dtv/en50221.c:1422,1
    - Dst: gmtime_r
      Src: /src/vlc/modules/access/dtv/en50221.c:1426,1
    - Dst: localtime_r
      Src: /src/vlc/modules/access/dtv/en50221.c:1426,1
    - Dst: SetWBE
      Src: /src/vlc/modules/access/dtv/en50221.c:1438,1
    - Dst: DEC2BCD
      Src: /src/vlc/modules/access/dtv/en50221.c:1439,1
    - Dst: DEC2BCD
      Src: /src/vlc/modules/access/dtv/en50221.c:1440,1
    - Dst: DEC2BCD
      Src: /src/vlc/modules/access/dtv/en50221.c:1441,1
    - Dst: SetWBE
      Src: /src/vlc/modules/access/dtv/en50221.c:1442,1
    - Dst: APDUSend
      Src: /src/vlc/modules/access/dtv/en50221.c:1444,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/dtv/en50221.c:1446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - p_cam
    - i_session_id
    argTypes:
    - cam_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1448
      start: 1417
    functionDepth: 5
    functionLinenumber: 1417
    functionLinenumberEnd: 1448
    functionName: DateTimeSend
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - gmtime_r
    - SetWBE
    - localtime_r
    - time
    - DEC2BCD
    - APDUSend
    linkageType: ''
    returnType: void
    signature: void DateTimeSend( cam_t * p_cam, int i_session_id )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1436
    functionDepth: 0
    functionLinenumber: 1436
    functionLinenumberEnd: 1437
    functionName: DEC2BCD
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEC2BCD(d)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: APDUGetTag
      Src: /src/vlc/modules/access/dtv/en50221.c:1459,1
    - Dst: APDUGetLength
      Src: /src/vlc/modules/access/dtv/en50221.c:1466,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/en50221.c:1471,1
    - Dst: DateTimeSend
      Src: /src/vlc/modules/access/dtv/en50221.c:1477,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:1481,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - p_cam
    - i_session_id
    - p_apdu
    - i_size
    argTypes:
    - cam_t*
    - int
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1453
    functionDepth: 6
    functionLinenumber: 1453
    functionLinenumberEnd: 1484
    functionName: DateTimeHandle
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - APDUGetLength
    - msg_Err
    - msg_Dbg
    - DateTimeSend
    - APDUGetTag
    linkageType: ''
    returnType: void
    signature: "void DateTimeHandle( cam_t *p_cam, int i_session_id,\n                            uint8_t
      *p_apdu, int i_size )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/dtv/en50221.c:1495,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/access/dtv/en50221.c:1495,1
    - Dst: DateTimeSend
      Src: /src/vlc/modules/access/dtv/en50221.c:1497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - p_cam
    - i_session_id
    argTypes:
    - cam_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1489
    functionDepth: 6
    functionLinenumber: 1489
    functionLinenumberEnd: 1499
    functionName: DateTimeManage
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - DateTimeSend
    - vlc_tick_from_sec
    linkageType: ''
    returnType: void
    signature: void DateTimeManage( cam_t * p_cam, int i_session_id )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/en50221.c:1506,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/en50221.c:1508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_cam
    - i_session_id
    argTypes:
    - cam_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1509
      start: 1504
    functionDepth: 1
    functionLinenumber: 1504
    functionLinenumberEnd: 1509
    functionName: DateTimeClose
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - free
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void DateTimeClose( cam_t * p_cam, int i_session_id )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/en50221.c:1516,1
    - Dst: calloc
      Src: /src/vlc/modules/access/dtv/en50221.c:1521,1
    - Dst: DateTimeSend
      Src: /src/vlc/modules/access/dtv/en50221.c:1523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - p_cam
    - i_session_id
    argTypes:
    - cam_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1514
    functionDepth: 6
    functionLinenumber: 1514
    functionLinenumberEnd: 1524
    functionName: DateTimeOpen
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 2
    functionsReached:
    - calloc
    - DateTimeSend
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void DateTimeOpen( cam_t * p_cam, unsigned i_session_id )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FREENULL
      Src: /src/vlc/modules/access/dtv/en50221.c:1569,1
    - Dst: FREENULL
      Src: /src/vlc/modules/access/dtv/en50221.c:1575,1
    - Dst: FREENULL
      Src: /src/vlc/modules/access/dtv/en50221.c:1581,1
    - Dst: FREENULL
      Src: /src/vlc/modules/access/dtv/en50221.c:1582,1
    - Dst: FREENULL
      Src: /src/vlc/modules/access/dtv/en50221.c:1583,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/en50221.c:1586,1
    - Dst: FREENULL
      Src: /src/vlc/modules/access/dtv/en50221.c:1588,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - p_object
    argTypes:
    - mmi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1564
    functionDepth: 1
    functionLinenumber: 1564
    functionLinenumberEnd: 1594
    functionName: MMIFree
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - free
    - FREENULL
    linkageType: ''
    returnType: void
    signature: void MMIFree( mmi_t *p_object )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/access/dtv/en50221.c:1611,1
    - Dst: xmalloc
      Src: /src/vlc/modules/access/dtv/en50221.c:1612,1
    - Dst: strncpy
      Src: /src/vlc/modules/access/dtv/en50221.c:1614,1
    - Dst: xmalloc
      Src: /src/vlc/modules/access/dtv/en50221.c:1620,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:1625,1
    - Dst: APDUSend
      Src: /src/vlc/modules/access/dtv/en50221.c:1629,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/en50221.c:1630,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - p_cam
    - i_session_id
    - p_object
    argTypes:
    - cam_t*
    - int
    - mmi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1633
      start: 1600
    functionDepth: 5
    functionLinenumber: 1600
    functionLinenumberEnd: 1633
    functionName: MMISendObject
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - strlen
    - strncpy
    - msg_Err
    - xmalloc
    - free
    - APDUSend
    linkageType: ''
    returnType: void
    signature: "void MMISendObject( cam_t *p_cam, int i_session_id,\n                           mmi_t
      *p_object )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APDUSend
      Src: /src/vlc/modules/access/dtv/en50221.c:1642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_cam
    - i_session_id
    argTypes:
    - cam_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1638
    functionDepth: 5
    functionLinenumber: 1638
    functionLinenumberEnd: 1645
    functionName: MMISendClose
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - APDUSend
    linkageType: ''
    returnType: void
    signature: void MMISendClose( cam_t *p_cam, int i_session_id )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: APDUSend
      Src: /src/vlc/modules/access/dtv/en50221.c:1658,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/en50221.c:1660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p_cam
    - i_session_id
    argTypes:
    - cam_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1651
    functionDepth: 5
    functionLinenumber: 1651
    functionLinenumberEnd: 1661
    functionName: MMIDisplayReply
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - APDUSend
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void MMIDisplayReply( cam_t *p_cam, int i_session_id )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APDUGetTag
      Src: /src/vlc/modules/access/dtv/en50221.c:1668,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:1674,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dtv/en50221.c:1676,1
    - Dst: APDUGetLength
      Src: /src/vlc/modules/access/dtv/en50221.c:1679,1
    - Dst: vlc_from_EIT
      Src: /src/vlc/modules/access/dtv/en50221.c:1684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - p_cam
    - pp_apdu
    - pi_size
    argTypes:
    - cam_t*
    - uint8_t**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1666
    functionDepth: 1
    functionLinenumber: 1666
    functionLinenumberEnd: 1685
    functionName: MMIGetText
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - APDUGetLength
    - strdup
    - vlc_from_EIT
    - msg_Err
    - APDUGetTag
    linkageType: ''
    returnType: char
    signature: char *MMIGetText( cam_t *p_cam, uint8_t **pp_apdu, int *pi_size )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dtv/en50221.c:1693,1
    - Dst: APDUGetLength
      Src: /src/vlc/modules/access/dtv/en50221.c:1698,1
    - Dst: MMIFree
      Src: /src/vlc/modules/access/dtv/en50221.c:1700,1
    - Dst: xmalloc
      Src: /src/vlc/modules/access/dtv/en50221.c:1705,1
    - Dst: strncpy
      Src: /src/vlc/modules/access/dtv/en50221.c:1706,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/en50221.c:1709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - p_cam
    - i_session_id
    - p_apdu
    - i_size
    argTypes:
    - cam_t*
    - int
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1713
      start: 1690
    functionDepth: 2
    functionLinenumber: 1690
    functionLinenumberEnd: 1713
    functionName: MMIHandleEnq
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - APDUGetLength
    - xmalloc
    - msg_Dbg
    - strncpy
    - MMIFree
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void MMIHandleEnq( cam_t *p_cam, int i_session_id,\n                          uint8_t
      *p_apdu, int i_size )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dtv/en50221.c:1721,1
    - Dst: APDUGetLength
      Src: /src/vlc/modules/access/dtv/en50221.c:1726,1
    - Dst: MMIFree
      Src: /src/vlc/modules/access/dtv/en50221.c:1728,1
    - Dst: GET_FIELD
      Src: /src/vlc/modules/access/dtv/en50221.c:1746,1
    - Dst: GET_FIELD
      Src: /src/vlc/modules/access/dtv/en50221.c:1747,1
    - Dst: GET_FIELD
      Src: /src/vlc/modules/access/dtv/en50221.c:1748,1
    - Dst: MMIGetText
      Src: /src/vlc/modules/access/dtv/en50221.c:1753,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/access/dtv/en50221.c:1754,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/en50221.c:1757,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 5
    argNames:
    - p_cam
    - i_session_id
    - i_tag
    - p_apdu
    - i_size
    argTypes:
    - cam_t*
    - int
    - int
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1718
    functionDepth: 2
    functionLinenumber: 1718
    functionLinenumberEnd: 1762
    functionName: MMIHandleMenu
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - APDUGetLength
    - TAB_APPEND
    - GET_FIELD
    - msg_Dbg
    - MMIGetText
    - MMIFree
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void MMIHandleMenu( cam_t *p_cam, int i_session_id, int i_tag,\n                           uint8_t
      *p_apdu, int i_size )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1745
      start: 1738
    functionDepth: 0
    functionLinenumber: 1738
    functionLinenumberEnd: 1745
    functionName: GET_FIELD
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_FIELD( x )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: APDUGetTag
      Src: /src/vlc/modules/access/dtv/en50221.c:1770,1
    - Dst: APDUGetLength
      Src: /src/vlc/modules/access/dtv/en50221.c:1777,1
    - Dst: MMIDisplayReply
      Src: /src/vlc/modules/access/dtv/en50221.c:1785,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:1787,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:1791,1
    - Dst: MMIHandleEnq
      Src: /src/vlc/modules/access/dtv/en50221.c:1800,1
    - Dst: MMIHandleMenu
      Src: /src/vlc/modules/access/dtv/en50221.c:1805,1
    - Dst: SessionSendClose
      Src: /src/vlc/modules/access/dtv/en50221.c:1809,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:1813,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 4
    argNames:
    - p_cam
    - i_session_id
    - p_apdu
    - i_size
    argTypes:
    - cam_t*
    - int
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1767
    functionDepth: 6
    functionLinenumber: 1767
    functionLinenumberEnd: 1815
    functionName: MMIHandle
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - APDUGetLength
    - MMIHandleEnq
    - MMIHandleMenu
    - SessionSendClose
    - msg_Err
    - MMIDisplayReply
    - APDUGetTag
    linkageType: ''
    returnType: void
    signature: "void MMIHandle( cam_t *p_cam, int i_session_id,\n                       uint8_t
      *p_apdu, int i_size )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MMIFree
      Src: /src/vlc/modules/access/dtv/en50221.c:1825,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/en50221.c:1826,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/en50221.c:1828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p_cam
    - i_session_id
    argTypes:
    - cam_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1831
      start: 1820
    functionDepth: 2
    functionLinenumber: 1820
    functionLinenumberEnd: 1831
    functionName: MMIClose
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - free
    - msg_Dbg
    - MMIFree
    linkageType: ''
    returnType: void
    signature: void MMIClose( cam_t *p_cam, int i_session_id )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/en50221.c:1840,1
    - Dst: xmalloc
      Src: /src/vlc/modules/access/dtv/en50221.c:1844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - p_cam
    - i_session_id
    argTypes:
    - cam_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1847
      start: 1836
    functionDepth: 1
    functionLinenumber: 1836
    functionLinenumberEnd: 1847
    functionName: MMIOpen
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 2
    functionsReached:
    - xmalloc
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void MMIOpen( cam_t *p_cam, unsigned i_session_id )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TPDUSend
      Src: /src/vlc/modules/access/dtv/en50221.c:1861,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:1863,1
    - Dst: TPDURecv
      Src: /src/vlc/modules/access/dtv/en50221.c:1872,1
    - Dst: TPDUSend
      Src: /src/vlc/modules/access/dtv/en50221.c:1879,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:1882,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/dtv/en50221.c:1891,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - p_cam
    - i_slot
    argTypes:
    - cam_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1896
      start: 1859
    functionDepth: 3
    functionLinenumber: 1859
    functionLinenumberEnd: 1896
    functionName: InitSlot
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - TPDUSend
    - VLC_TICK_FROM_MS
    - TPDURecv
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int InitSlot( cam_t * p_cam, int i_slot )
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/access/dtv/en50221.c:1910,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dtv/en50221.c:1911,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:1913,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/en50221.c:1918,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/en50221.c:1920,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/en50221.c:1922,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/en50221.c:1924,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/en50221.c:1926,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/en50221.c:1928,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/en50221.c:1930,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/en50221.c:1932,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/en50221.c:1934,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/en50221.c:1936,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:1940,1
    - Dst: calloc
      Src: /src/vlc/modules/access/dtv/en50221.c:1944,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dtv/en50221.c:1945,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dtv/en50221.c:1958,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:1960,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/dtv/en50221.c:1965,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/access/dtv/en50221.c:1967,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/dtv/en50221.c:1967,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dtv/en50221.c:1979,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:1981,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dtv/en50221.c:1981,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:1986,1
    - Dst: memset
      Src: /src/vlc/modules/access/dtv/en50221.c:2000,1
    - Dst: APDUSend
      Src: /src/vlc/modules/access/dtv/en50221.c:2001,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dtv/en50221.c:2002,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:2004,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:2010,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/en50221.c:2013,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:2018,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/en50221.c:2024,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 86
    argCount: 2
    argNames:
    - obj
    - fd
    argTypes:
    - vlc_object_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2026
      start: 1906
    functionDepth: 5
    functionLinenumber: 1906
    functionLinenumberEnd: 2026
    functionName: en50221_Init
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - vlc_strerror_c
    - memset
    - APDUSend
    - VLC_TICK_FROM_MS
    - msg_Err
    - calloc
    - free
    - msg_Dbg
    - ioctl
    - vlc_tick_sleep
    - unlikely
    linkageType: ''
    returnType: cam_t
    signature: cam_t *en50221_Init( vlc_object_t *obj, int fd )
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/dtv/en50221.c:2037,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/access/dtv/en50221.c:2042,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dtv/en50221.c:2051,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:2053,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/en50221.c:2062,1
    - Dst: pf_close
      Src: /src/vlc/modules/access/dtv/en50221.c:2076,1
    - Dst: InitSlot
      Src: /src/vlc/modules/access/dtv/en50221.c:2087,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/en50221.c:2091,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dtv/en50221.c:2093,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:2095,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/en50221.c:2101,1
    - Dst: TPDUSend
      Src: /src/vlc/modules/access/dtv/en50221.c:2107,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:2110,1
    - Dst: TPDURecv
      Src: /src/vlc/modules/access/dtv/en50221.c:2115,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:2118,1
    - Dst: TPDUSend
      Src: /src/vlc/modules/access/dtv/en50221.c:2131,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:2133,1
    - Dst: TPDURecv
      Src: /src/vlc/modules/access/dtv/en50221.c:2138,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:2141,1
    - Dst: GetLength
      Src: /src/vlc/modules/access/dtv/en50221.c:2147,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:2156,1
    - Dst: SPDUHandle
      Src: /src/vlc/modules/access/dtv/en50221.c:2161,1
    - Dst: pf_manage
      Src: /src/vlc/modules/access/dtv/en50221.c:2170,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/dtv/en50221.c:2175,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 81
    argCount: 1
    argNames:
    - p_cam
    argTypes:
    - cam_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2176
      start: 2032
    functionDepth: 5
    functionLinenumber: 2032
    functionLinenumberEnd: 2176
    functionName: en50221_Poll
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - vlc_assert_unreachable
    - GetLength
    - InitSlot
    - pf_close
    - msg_Err
    - TPDUSend
    - msg_Dbg
    - TPDURecv
    - ioctl
    - pf_manage
    - SPDUHandle
    linkageType: ''
    returnType: void
    signature: void en50221_Poll( cam_t * p_cam )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CAPMTNeedsDescrambling
      Src: /src/vlc/modules/access/dtv/en50221.c:2185,1
    - Dst: en50221_capmt_Delete
      Src: /src/vlc/modules/access/dtv/en50221.c:2205,1
    - Dst: en50221_capmt_Duplicate
      Src: /src/vlc/modules/access/dtv/en50221.c:2206,1
    - Dst: en50221_capmt_Duplicate
      Src: /src/vlc/modules/access/dtv/en50221.c:2220,1
    - Dst: CAPMTUpdate
      Src: /src/vlc/modules/access/dtv/en50221.c:2235,1
    - Dst: CAPMTDelete
      Src: /src/vlc/modules/access/dtv/en50221.c:2237,1
    - Dst: CAPMTAdd
      Src: /src/vlc/modules/access/dtv/en50221.c:2239,1
    - Dst: en50221_capmt_Delete
      Src: /src/vlc/modules/access/dtv/en50221.c:2245,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 2
    argNames:
    - p_cam
    - p_info
    argTypes:
    - cam_t*
    - en50221_capmt_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2248
      start: 2182
    functionDepth: 7
    functionLinenumber: 2182
    functionLinenumberEnd: 2248
    functionName: en50221_SetCAPMT
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - CAPMTAdd
    - CAPMTDelete
    - en50221_capmt_Delete
    - en50221_capmt_Duplicate
    - CAPMTUpdate
    - CAPMTNeedsDescrambling
    linkageType: ''
    returnType: int
    signature: int en50221_SetCAPMT( cam_t * p_cam, const en50221_capmt_info_t *p_info
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/en50221.c:2263,1
    - Dst: ApplicationInformationEnterMenu
      Src: /src/vlc/modules/access/dtv/en50221.c:2276,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:2281,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:2286,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - p_cam
    - i_slot
    argTypes:
    - cam_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2289
      start: 2254
    functionDepth: 6
    functionLinenumber: 2254
    functionLinenumberEnd: 2289
    functionName: en50221_OpenMMI
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - ApplicationInformationEnterMenu
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int en50221_OpenMMI( cam_t * p_cam, unsigned i_slot )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MMISendClose
      Src: /src/vlc/modules/access/dtv/en50221.c:2303,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/en50221.c:2308,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:2314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - p_cam
    - i_slot
    argTypes:
    - cam_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2317
      start: 2294
    functionDepth: 6
    functionLinenumber: 2294
    functionLinenumberEnd: 2317
    functionName: en50221_CloseMMI
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - MMISendClose
    - msg_Err
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int en50221_CloseMMI( cam_t * p_cam, unsigned i_slot )
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - p_cam
    - i_slot
    argTypes:
    - cam_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2341
      start: 2322
    functionDepth: 0
    functionLinenumber: 2322
    functionLinenumberEnd: 2341
    functionName: en50221_GetMMIObject
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mmi_t
    signature: mmi_t *en50221_GetMMIObject( cam_t * p_cam, unsigned i_slot )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MMISendObject
      Src: /src/vlc/modules/access/dtv/en50221.c:2355,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/en50221.c:2360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - p_cam
    - i_slot
    - p_object
    argTypes:
    - cam_t*
    - unsigned
    - mmi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2361
      start: 2347
    functionDepth: 6
    functionLinenumber: 2347
    functionLinenumberEnd: 2361
    functionName: en50221_SendMMIObject
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - MMISendObject
    - msg_Err
    linkageType: ''
    returnType: void
    signature: "void en50221_SendMMIObject( cam_t * p_cam, unsigned i_slot,\n                                   mmi_t
      *p_object )"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/en50221.c:2374,1
    - Dst: HTTPExtractValue
      Src: /src/vlc/modules/access/dtv/en50221.c:2389,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dtv/en50221.c:2392,1
    - Dst: atoi
      Src: /src/vlc/modules/access/dtv/en50221.c:2394,1
    - Dst: HTTPExtractValue
      Src: /src/vlc/modules/access/dtv/en50221.c:2396,1
    - Dst: en50221_OpenMMI
      Src: /src/vlc/modules/access/dtv/en50221.c:2399,1
    - Dst: HTTPExtractValue
      Src: /src/vlc/modules/access/dtv/en50221.c:2403,1
    - Dst: en50221_CloseMMI
      Src: /src/vlc/modules/access/dtv/en50221.c:2406,1
    - Dst: HTTPExtractValue
      Src: /src/vlc/modules/access/dtv/en50221.c:2410,1
    - Dst: HTTPExtractValue
      Src: /src/vlc/modules/access/dtv/en50221.c:2416,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dtv/en50221.c:2419,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/dtv/en50221.c:2422,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dtv/en50221.c:2428,1
    - Dst: HTTPExtractValue
      Src: /src/vlc/modules/access/dtv/en50221.c:2432,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dtv/en50221.c:2435,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dtv/en50221.c:2438,1
    - Dst: HTTPExtractValue
      Src: /src/vlc/modules/access/dtv/en50221.c:2450,1
    - Dst: atoi
      Src: /src/vlc/modules/access/dtv/en50221.c:2454,1
    - Dst: en50221_SendMMIObject
      Src: /src/vlc/modules/access/dtv/en50221.c:2458,1
    - Dst: open_memstream
      Src: /src/vlc/modules/access/dtv/en50221.c:2471,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dtv/en50221.c:2472,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dtv/en50221.c:2477,1
    - Dst: fprintf
      Src: /src/vlc/modules/access/dtv/en50221.c:2479,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dtv/en50221.c:2479,1
    - Dst: fprintf
      Src: /src/vlc/modules/access/dtv/en50221.c:2484,1
    - Dst: CHECK_CAPS
      Src: /src/vlc/modules/access/dtv/en50221.c:2490,1
    - Dst: CHECK_CAPS
      Src: /src/vlc/modules/access/dtv/en50221.c:2491,1
    - Dst: CHECK_CAPS
      Src: /src/vlc/modules/access/dtv/en50221.c:2492,1
    - Dst: CHECK_CAPS
      Src: /src/vlc/modules/access/dtv/en50221.c:2493,1
    - Dst: CHECK_CAPS
      Src: /src/vlc/modules/access/dtv/en50221.c:2494,1
    - Dst: fprintf
      Src: /src/vlc/modules/access/dtv/en50221.c:2497,1
    - Dst: CHECK_DESC
      Src: /src/vlc/modules/access/dtv/en50221.c:2503,1
    - Dst: CHECK_DESC
      Src: /src/vlc/modules/access/dtv/en50221.c:2504,1
    - Dst: CHECK_DESC
      Src: /src/vlc/modules/access/dtv/en50221.c:2505,1
    - Dst: fputs
      Src: /src/vlc/modules/access/dtv/en50221.c:2508,1
    - Dst: fprintf
      Src: /src/vlc/modules/access/dtv/en50221.c:2515,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dtv/en50221.c:2518,1
    - Dst: fprintf
      Src: /src/vlc/modules/access/dtv/en50221.c:2520,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dtv/en50221.c:2521,1
    - Dst: CHECK_TYPE
      Src: /src/vlc/modules/access/dtv/en50221.c:2529,1
    - Dst: CHECK_TYPE
      Src: /src/vlc/modules/access/dtv/en50221.c:2530,1
    - Dst: CHECK_TYPE
      Src: /src/vlc/modules/access/dtv/en50221.c:2531,1
    - Dst: en50221_GetMMIObject
      Src: /src/vlc/modules/access/dtv/en50221.c:2536,1
    - Dst: fputs
      Src: /src/vlc/modules/access/dtv/en50221.c:2538,1
    - Dst: fputs
      Src: /src/vlc/modules/access/dtv/en50221.c:2539,1
    - Dst: fprintf
      Src: /src/vlc/modules/access/dtv/en50221.c:2540,1
    - Dst: fputs
      Src: /src/vlc/modules/access/dtv/en50221.c:2545,1
    - Dst: fputs
      Src: /src/vlc/modules/access/dtv/en50221.c:2553,1
    - Dst: fprintf
      Src: /src/vlc/modules/access/dtv/en50221.c:2554,1
    - Dst: fprintf
      Src: /src/vlc/modules/access/dtv/en50221.c:2556,1
    - Dst: fputs
      Src: /src/vlc/modules/access/dtv/en50221.c:2562,1
    - Dst: fprintf
      Src: /src/vlc/modules/access/dtv/en50221.c:2563,1
    - Dst: fprintf
      Src: /src/vlc/modules/access/dtv/en50221.c:2565,1
    - Dst: fprintf
      Src: /src/vlc/modules/access/dtv/en50221.c:2568,1
    - Dst: fprintf
      Src: /src/vlc/modules/access/dtv/en50221.c:2571,1
    - Dst: fputs
      Src: /src/vlc/modules/access/dtv/en50221.c:2576,1
    - Dst: fputs
      Src: /src/vlc/modules/access/dtv/en50221.c:2577,1
    - Dst: fprintf
      Src: /src/vlc/modules/access/dtv/en50221.c:2578,1
    - Dst: fprintf
      Src: /src/vlc/modules/access/dtv/en50221.c:2580,1
    - Dst: fprintf
      Src: /src/vlc/modules/access/dtv/en50221.c:2583,1
    - Dst: fprintf
      Src: /src/vlc/modules/access/dtv/en50221.c:2585,1
    - Dst: fputs
      Src: /src/vlc/modules/access/dtv/en50221.c:2590,1
    - Dst: fputs
      Src: /src/vlc/modules/access/dtv/en50221.c:2593,1
    - Dst: fputs
      Src: /src/vlc/modules/access/dtv/en50221.c:2594,1
    - Dst: fputs
      Src: /src/vlc/modules/access/dtv/en50221.c:2595,1
    - Dst: fputs
      Src: /src/vlc/modules/access/dtv/en50221.c:2597,1
    - Dst: fputs
      Src: /src/vlc/modules/access/dtv/en50221.c:2600,1
    - Dst: fputs
      Src: /src/vlc/modules/access/dtv/en50221.c:2602,1
    - Dst: fclose
      Src: /src/vlc/modules/access/dtv/en50221.c:2605,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 133
    argCount: 2
    argNames:
    - p_cam
    - psz_request
    argTypes:
    - cam_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2607
      start: 2363
    functionDepth: 7
    functionLinenumber: 2363
    functionLinenumberEnd: 2607
    functionName: en50221_Status
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - atoi
    - vlc_strerror_c
    - en50221_CloseMMI
    - fputs
    - en50221_OpenMMI
    - fclose
    - en50221_GetMMIObject
    - msg_Dbg
    - ioctl
    - HTTPExtractValue
    - strdup
    - fprintf
    - open_memstream
    - strcmp
    - en50221_SendMMIObject
    - CHECK_CAPS
    - CHECK_DESC
    - CHECK_TYPE
    - unlikely
    linkageType: ''
    returnType: char
    signature: char *en50221_Status( cam_t *p_cam, char *psz_request )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2489
      start: 2486
    functionDepth: 0
    functionLinenumber: 2486
    functionLinenumberEnd: 2489
    functionName: CHECK_CAPS
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_CAPS( x, s )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2502
      start: 2499
    functionDepth: 0
    functionLinenumber: 2499
    functionLinenumberEnd: 2502
    functionName: CHECK_DESC
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_DESC( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2528
      start: 2525
    functionDepth: 0
    functionLinenumber: 2525
    functionLinenumberEnd: 2528
    functionName: CHECK_TYPE
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_TYPE( x, s )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: en50221_capmt_Delete
      Src: /src/vlc/modules/access/dtv/en50221.c:2620,1
    - Dst: pf_close
      Src: /src/vlc/modules/access/dtv/en50221.c:2629,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/dtv/en50221.c:2633,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/en50221.c:2634,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - p_cam
    argTypes:
    - cam_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2635
      start: 2614
    functionDepth: 1
    functionLinenumber: 2614
    functionLinenumberEnd: 2635
    functionName: en50221_End
    functionSourceFile: /src/vlc/modules/access/dtv/en50221.c
    functionUses: 0
    functionsReached:
    - en50221_capmt_Delete
    - vlc_close
    - free
    - pf_close
    linkageType: ''
    returnType: void
    signature: void en50221_End( cam_t * p_cam )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - minor
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: DVBv5
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DVBv5(minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: icmp
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int icmp (const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/vlc/modules/access/dtv/linux.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - i
    - map
    - n
    - def
    argTypes:
    - int
    - dvb_int_map_t*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: dvb_parse_int
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 0
    functionsReached:
    - bsearch
    linkageType: ''
    returnType: int
    signature: int dvb_parse_int (int i, const dvb_int_map_t *map, size_t n, int def)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/access/dtv/linux.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: scmp
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int scmp (const void *a, const void *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/vlc/modules/access/dtv/linux.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - str
    - map
    - n
    - def
    argTypes:
    - char*
    - dvb_str_map_t*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: dvb_parse_str
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 0
    functionsReached:
    - bsearch
    linkageType: ''
    returnType: int
    signature: "int dvb_parse_str (const char *str, const dvb_str_map_t *map, size_t
      n,\n                          int def)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dvb_parse_str
      Src: /src/vlc/modules/access/dtv/linux.c:117,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/dtv/linux.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - def
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 118
    functionName: dvb_parse_modulation
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 1
    functionsReached:
    - dvb_parse_str
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int dvb_parse_modulation (const char *str, int def)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_FEC
      Src: /src/vlc/modules/access/dtv/linux.c:125,1
    - Dst: VLC_FEC
      Src: /src/vlc/modules/access/dtv/linux.c:128,1
    - Dst: VLC_FEC
      Src: /src/vlc/modules/access/dtv/linux.c:129,1
    - Dst: VLC_FEC
      Src: /src/vlc/modules/access/dtv/linux.c:130,1
    - Dst: VLC_FEC
      Src: /src/vlc/modules/access/dtv/linux.c:131,1
    - Dst: VLC_FEC
      Src: /src/vlc/modules/access/dtv/linux.c:132,1
    - Dst: VLC_FEC
      Src: /src/vlc/modules/access/dtv/linux.c:133,1
    - Dst: VLC_FEC
      Src: /src/vlc/modules/access/dtv/linux.c:134,1
    - Dst: VLC_FEC
      Src: /src/vlc/modules/access/dtv/linux.c:135,1
    - Dst: VLC_FEC
      Src: /src/vlc/modules/access/dtv/linux.c:136,1
    - Dst: dvb_parse_int
      Src: /src/vlc/modules/access/dtv/linux.c:139,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/dtv/linux.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fec
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 140
    functionName: dvb_parse_fec
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 3
    functionsReached:
    - VLC_FEC
    - ARRAY_SIZE
    - dvb_parse_int
    linkageType: ''
    returnType: int
    signature: int dvb_parse_fec (uint32_t fec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/vlc/modules/access/dtv/linux.c:168,1
    - Dst: vlc_open
      Src: /src/vlc/modules/access/dtv/linux.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - adapter
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: dvb_open_adapter
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 0
    functionsReached:
    - vlc_open
    - snprintf
    linkageType: ''
    returnType: int
    signature: int dvb_open_adapter (uint8_t adapter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/access/dtv/linux.c:175,1
    - Dst: snprintf
      Src: /src/vlc/modules/access/dtv/linux.c:177,1
    - Dst: vlc_openat
      Src: /src/vlc/modules/access/dtv/linux.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - d
    - type
    - flags
    argTypes:
    - dvb_device_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: dvb_open_node
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 0
    functionsReached:
    - strlen
    - snprintf
    - vlc_openat
    linkageType: ''
    returnType: int
    signature: int dvb_open_node (dvb_device_t *d, const char *type, int flags)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_close
      Src: /src/vlc/modules/access/dtv/linux.c:281,1
    - Dst: en50221_End
      Src: /src/vlc/modules/access/dtv/linux.c:285,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/dtv/linux.c:287,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/dtv/linux.c:288,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/dtv/linux.c:289,1
    - Dst: free
      Src: /src/vlc/modules/access/dtv/linux.c:290,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - d
    argTypes:
    - dvb_device_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 291
    functionName: dvb_close
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 1
    functionsReached:
    - vlc_close
    - free
    - en50221_End
    linkageType: ''
    returnType: void
    signature: void dvb_close (dvb_device_t *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/linux.c:295,1
    - Dst: S
      Src: /src/vlc/modules/access/dtv/linux.c:300,1
    - Dst: S
      Src: /src/vlc/modules/access/dtv/linux.c:301,1
    - Dst: S
      Src: /src/vlc/modules/access/dtv/linux.c:302,1
    - Dst: S
      Src: /src/vlc/modules/access/dtv/linux.c:303,1
    - Dst: S
      Src: /src/vlc/modules/access/dtv/linux.c:304,1
    - Dst: S
      Src: /src/vlc/modules/access/dtv/linux.c:305,1
    - Dst: S
      Src: /src/vlc/modules/access/dtv/linux.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - obj
    - s
    argTypes:
    - vlc_object_t*
    - fe_status_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 308
    functionName: dvb_frontend_status
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - S
    linkageType: ''
    returnType: void
    signature: void dvb_frontend_status(vlc_object_t *obj, fe_status_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 299
    functionName: S
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 195
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S(f)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: en50221_Poll
      Src: /src/vlc/modules/access/dtv/linux.c:320,1
    - Dst: vlc_poll_i11e
      Src: /src/vlc/modules/access/dtv/linux.c:334,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dtv/linux.c:344,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/linux.c:348,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/linux.c:351,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dtv/linux.c:352,1
    - Dst: dvb_frontend_status
      Src: /src/vlc/modules/access/dtv/linux.c:356,1
    - Dst: read
      Src: /src/vlc/modules/access/dtv/linux.c:361,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/linux.c:366,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/linux.c:369,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dtv/linux.c:369,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 4
    argNames:
    - d
    - buf
    - len
    - ms
    argTypes:
    - dvb_device_t*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 314
    functionDepth: 6
    functionLinenumber: 314
    functionLinenumberEnd: 376
    functionName: dvb_read
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 1
    functionsReached:
    - dvb_frontend_status
    - vlc_strerror_c
    - read
    - en50221_Poll
    - msg_Err
    - vlc_poll_i11e
    - ioctl
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t dvb_read (dvb_device_t *d, void *buf, size_t len, int ms)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/vlc/modules/access/dtv/linux.c:429,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/dtv/linux.c:435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - d
    - pid
    argTypes:
    - dvb_device_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 441
    functionName: dvb_remove_pid
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 1
    functionsReached:
    - vlc_close
    - ioctl
    linkageType: ''
    returnType: void
    signature: void dvb_remove_pid (dvb_device_t *d, uint16_t pid)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - d
    - pid
    argTypes:
    - dvb_device_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 453
    functionName: dvb_get_pid_state
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dvb_get_pid_state (const dvb_device_t *d, uint16_t pid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dvb_open_node
      Src: /src/vlc/modules/access/dtv/linux.c:460,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/linux.c:463,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dtv/linux.c:463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - d
    argTypes:
    - dvb_device_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 469
    functionName: dvb_open_frontend
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 0
    functionsReached:
    - dvb_open_node
    - vlc_strerror_c
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int dvb_open_frontend (dvb_device_t *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - sys
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 471
    functionName: dvb_find_frontend
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dvb_find_frontend(d, sys)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: dvb_open_frontend
      Src: /src/vlc/modules/access/dtv/linux.c:479,1
    - Dst: DVBv5
      Src: /src/vlc/modules/access/dtv/linux.c:481,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dtv/linux.c:491,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/linux.c:493,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dtv/linux.c:494,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/linux.c:520,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/dtv/linux.c:528,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dtv/linux.c:530,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/linux.c:533,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dtv/linux.c:549,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/linux.c:551,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dtv/linux.c:552,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/linux.c:556,1
    - Dst: DVBv5
      Src: /src/vlc/modules/access/dtv/linux.c:559,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/linux.c:565,1
    - Dst: msg_Info
      Src: /src/vlc/modules/access/dtv/linux.c:566,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dtv/linux.c:569,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/linux.c:571,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dtv/linux.c:572,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/linux.c:575,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/linux.c:576,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/linux.c:577,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/linux.c:579,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/linux.c:581,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/linux.c:583,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/linux.c:593,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 67
    argCount: 1
    argNames:
    - d
    argTypes:
    - dvb_device_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 476
    functionDepth: 2
    functionLinenumber: 476
    functionLinenumberEnd: 613
    functionName: dvb_enum_systems
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 1
    functionsReached:
    - vlc_strerror_c
    - ARRAY_SIZE
    - dvb_open_frontend
    - msg_Err
    - msg_Info
    - msg_Dbg
    - DVBv5
    - msg_Warn
    - ioctl
    linkageType: ''
    returnType: unsigned
    signature: unsigned dvb_enum_systems (dvb_device_t *d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/vlc/modules/access/dtv/linux.c:620,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - d
    argTypes:
    - dvb_device_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 623
    functionName: dvb_get_signal_strength
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 1
    functionsReached:
    - ioctl
    linkageType: ''
    returnType: float
    signature: float dvb_get_signal_strength (dvb_device_t *d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/vlc/modules/access/dtv/linux.c:629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - d
    argTypes:
    - dvb_device_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 632
    functionName: dvb_get_snr
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 1
    functionsReached:
    - ioctl
    linkageType: ''
    returnType: float
    signature: float dvb_get_snr (dvb_device_t *d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: en50221_SetCAPMT
      Src: /src/vlc/modules/access/dtv/linux.c:638,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - d
    - p_capmtinfo
    argTypes:
    - dvb_device_t*
    - en50221_capmt_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 634
    functionDepth: 8
    functionLinenumber: 634
    functionLinenumberEnd: 642
    functionName: dvb_set_ca_pmt
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 1
    functionsReached:
    - en50221_SetCAPMT
    linkageType: ''
    returnType: bool
    signature: bool dvb_set_ca_pmt (dvb_device_t *d, const en50221_capmt_info_t *p_capmtinfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/dtv/linux.c:646,1
    - Dst: memset
      Src: /src/vlc/modules/access/dtv/linux.c:651,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dtv/linux.c:655,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dtv/linux.c:656,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/linux.c:657,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dtv/linux.c:663,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/linux.c:665,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dtv/linux.c:666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - d
    - n
    - ap
    argTypes:
    - dvb_device_t*
    - size_t
    - va_list
    assertStmts:
    - condition: (n <= DTV_IOCTL_MAX_MSGS)
      pos:
        line_end: 645
        line_start: 645
        source_file: /src/vlc/modules/access/dtv/linux.c
    constantsTouched: []
    func_position:
      end: 670
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 670
    functionName: dvb_vset_props
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_strerror_c
    - memset
    - msg_Err
    - va_arg
    - msg_Dbg
    - ioctl
    linkageType: ''
    returnType: int
    signature: int dvb_vset_props (dvb_device_t *d, size_t n, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vlc/modules/access/dtv/linux.c:677,1
    - Dst: dvb_vset_props
      Src: /src/vlc/modules/access/dtv/linux.c:678,1
    - Dst: va_end
      Src: /src/vlc/modules/access/dtv/linux.c:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - d
    - n
    argTypes:
    - dvb_device_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 672
    functionDepth: 2
    functionLinenumber: 672
    functionLinenumberEnd: 681
    functionName: dvb_set_props
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 0
    functionsReached:
    - dvb_vset_props
    - va_end
    - va_start
    linkageType: ''
    returnType: int
    signature: int dvb_set_props (dvb_device_t *d, size_t n, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dvb_set_props
      Src: /src/vlc/modules/access/dtv/linux.c:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - d
    - prop
    - val
    argTypes:
    - dvb_device_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 683
    functionDepth: 3
    functionLinenumber: 683
    functionLinenumberEnd: 686
    functionName: dvb_set_prop
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 0
    functionsReached:
    - dvb_set_props
    linkageType: ''
    returnType: int
    signature: int dvb_set_prop (dvb_device_t *d, uint32_t prop, uint32_t val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dvb_set_prop
      Src: /src/vlc/modules/access/dtv/linux.c:696,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - d
    - v
    argTypes:
    - dvb_device_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 688
    functionDepth: 4
    functionLinenumber: 688
    functionLinenumberEnd: 697
    functionName: dvb_set_inversion
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 1
    functionsReached:
    - dvb_set_prop
    linkageType: ''
    returnType: int
    signature: int dvb_set_inversion (dvb_device_t *d, int v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dvb_set_prop
      Src: /src/vlc/modules/access/dtv/linux.c:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - dvb_device_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 699
    functionDepth: 4
    functionLinenumber: 699
    functionLinenumberEnd: 702
    functionName: dvb_tune
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 1
    functionsReached:
    - dvb_set_prop
    linkageType: ''
    returnType: int
    signature: int dvb_tune (dvb_device_t *d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/vlc/modules/access/dtv/linux.c:707,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/linux.c:709,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dtv/linux.c:710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - d
    - caps
    argTypes:
    - dvb_device_t*
    - dvb_device_caps_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 721
    functionName: dvb_fill_device_caps
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 0
    functionsReached:
    - vlc_strerror_c
    - msg_Err
    - ioctl
    linkageType: ''
    returnType: int
    signature: int dvb_fill_device_caps(dvb_device_t *d, dvb_device_caps_t *caps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dvb_parse_modulation
      Src: /src/vlc/modules/access/dtv/linux.c:727,1
    - Dst: dvb_parse_fec
      Src: /src/vlc/modules/access/dtv/linux.c:728,1
    - Dst: dvb_find_frontend
      Src: /src/vlc/modules/access/dtv/linux.c:730,1
    - Dst: dvb_set_props
      Src: /src/vlc/modules/access/dtv/linux.c:732,1
    - Dst: DVBv5
      Src: /src/vlc/modules/access/dtv/linux.c:733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - d
    - freq
    - modstr
    - srate
    - fec
    argTypes:
    - dvb_device_t*
    - uint32_t
    - char*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 724
    functionDepth: 3
    functionLinenumber: 724
    functionLinenumberEnd: 740
    functionName: dvb_set_dvbc
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 1
    functionsReached:
    - dvb_parse_modulation
    - dvb_parse_fec
    - dvb_set_props
    - dvb_find_frontend
    - DVBv5
    linkageType: ''
    returnType: int
    signature: "int dvb_set_dvbc (dvb_device_t *d, uint32_t freq, const char *modstr,\n
      \                 uint32_t srate, uint32_t fec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dvb_parse_int
      Src: /src/vlc/modules/access/dtv/linux.c:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pol
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 754
    functionName: dvb_parse_polarization
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 1
    functionsReached:
    - dvb_parse_int
    linkageType: ''
    returnType: unsigned
    signature: unsigned dvb_parse_polarization (char pol)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritBool
      Src: /src/vlc/modules/access/dtv/linux.c:762,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dtv/linux.c:763,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/linux.c:764,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dtv/linux.c:765,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/dtv/linux.c:784,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/linux.c:792,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dtv/linux.c:794,1
    - Dst: assert
      Src: /src/vlc/modules/access/dtv/linux.c:804,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dtv/linux.c:807,1
    - Dst: dvb_parse_polarization
      Src: /src/vlc/modules/access/dtv/linux.c:815,1
    - Dst: dvb_set_props
      Src: /src/vlc/modules/access/dtv/linux.c:816,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dtv/linux.c:819,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/access/dtv/linux.c:844,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/dtv/linux.c:844,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dtv/linux.c:845,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dtv/linux.c:858,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/linux.c:860,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dtv/linux.c:861,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dtv/linux.c:866,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/linux.c:868,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dtv/linux.c:870,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/access/dtv/linux.c:873,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/dtv/linux.c:873,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dtv/linux.c:875,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/linux.c:877,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dtv/linux.c:878,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/access/dtv/linux.c:881,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/dtv/linux.c:881,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dtv/linux.c:885,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/linux.c:888,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dtv/linux.c:889,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/access/dtv/linux.c:892,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/dtv/linux.c:892,1
    - Dst: dvb_set_props
      Src: /src/vlc/modules/access/dtv/linux.c:896,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 73
    argCount: 6
    argNames:
    - d
    - freq_Hz
    - pol
    - lowf
    - highf
    - switchf
    argTypes:
    - dvb_device_t*
    - uint64_t
    - char
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (freq < 0x7fffffff)
      pos:
        line_end: 803
        line_start: 803
        source_file: /src/vlc/modules/access/dtv/linux.c
    constantsTouched: []
    func_position:
      end: 897
      start: 756
    functionDepth: 3
    functionLinenumber: 756
    functionLinenumberEnd: 897
    functionName: dvb_set_sec
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 1
    functionsReached:
    - vlc_tick_sleep
    - vlc_strerror_c
    - assert
    - ARRAY_SIZE
    - var_InheritInteger
    - var_InheritBool
    - VLC_TICK_FROM_MS
    - msg_Err
    - dvb_set_props
    - msg_Dbg
    - ioctl
    - dvb_parse_polarization
    linkageType: ''
    returnType: int
    signature: "int dvb_set_sec (dvb_device_t *d, uint64_t freq_Hz, char pol,\n                 uint32_t
      lowf, uint32_t highf, uint32_t switchf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dvb_parse_fec
      Src: /src/vlc/modules/access/dtv/linux.c:903,1
    - Dst: dvb_find_frontend
      Src: /src/vlc/modules/access/dtv/linux.c:905,1
    - Dst: dvb_set_props
      Src: /src/vlc/modules/access/dtv/linux.c:907,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - d
    - freq_Hz
    - srate
    - fec
    argTypes:
    - dvb_device_t*
    - uint64_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 899
    functionDepth: 3
    functionLinenumber: 899
    functionLinenumberEnd: 910
    functionName: dvb_set_dvbs
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 1
    functionsReached:
    - dvb_find_frontend
    - dvb_parse_fec
    - dvb_set_props
    linkageType: ''
    returnType: int
    signature: "int dvb_set_dvbs (dvb_device_t *d, uint64_t freq_Hz,\n                  uint32_t
      srate, uint32_t fec)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dvb_parse_modulation
      Src: /src/vlc/modules/access/dtv/linux.c:917,1
    - Dst: dvb_parse_fec
      Src: /src/vlc/modules/access/dtv/linux.c:918,1
    - Dst: dvb_find_frontend
      Src: /src/vlc/modules/access/dtv/linux.c:935,1
    - Dst: DVBv5
      Src: /src/vlc/modules/access/dtv/linux.c:937,1
    - Dst: dvb_set_props
      Src: /src/vlc/modules/access/dtv/linux.c:938,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/linux.c:947,1
    - Dst: dvb_set_props
      Src: /src/vlc/modules/access/dtv/linux.c:950,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 8
    argNames:
    - d
    - freq_Hz
    - modstr
    - srate
    - fec
    - pilot
    - rolloff
    - sid
    argTypes:
    - dvb_device_t*
    - uint64_t
    - char*
    - uint32_t
    - uint32_t
    - int
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 912
    functionDepth: 3
    functionLinenumber: 912
    functionLinenumberEnd: 955
    functionName: dvb_set_dvbs2
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 1
    functionsReached:
    - dvb_parse_modulation
    - dvb_parse_fec
    - msg_Err
    - dvb_set_props
    - dvb_find_frontend
    - DVBv5
    linkageType: ''
    returnType: int
    signature: "int dvb_set_dvbs2 (dvb_device_t *d, uint64_t freq_Hz, const char *modstr,\n
      \                  uint32_t srate, uint32_t fec, int pilot, int rolloff,\n                   uint8_t
      sid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - i
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 967
    functionName: dvb_parse_bandwidth
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dvb_parse_bandwidth (uint32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DVBv5
      Src: /src/vlc/modules/access/dtv/linux.c:973,1
    - Dst: DVBv5
      Src: /src/vlc/modules/access/dtv/linux.c:979,1
    - Dst: dvb_parse_int
      Src: /src/vlc/modules/access/dtv/linux.c:984,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/dtv/linux.c:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 969
    functionDepth: 1
    functionLinenumber: 969
    functionLinenumberEnd: 985
    functionName: dvb_parse_transmit_mode
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - DVBv5
    - dvb_parse_int
    linkageType: ''
    returnType: int
    signature: int dvb_parse_transmit_mode (int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_GUARD
      Src: /src/vlc/modules/access/dtv/linux.c:990,1
    - Dst: VLC_GUARD
      Src: /src/vlc/modules/access/dtv/linux.c:991,1
    - Dst: VLC_GUARD
      Src: /src/vlc/modules/access/dtv/linux.c:992,1
    - Dst: VLC_GUARD
      Src: /src/vlc/modules/access/dtv/linux.c:993,1
    - Dst: DVBv5
      Src: /src/vlc/modules/access/dtv/linux.c:994,1
    - Dst: VLC_GUARD
      Src: /src/vlc/modules/access/dtv/linux.c:995,1
    - Dst: VLC_GUARD
      Src: /src/vlc/modules/access/dtv/linux.c:996,1
    - Dst: VLC_GUARD
      Src: /src/vlc/modules/access/dtv/linux.c:997,1
    - Dst: dvb_parse_int
      Src: /src/vlc/modules/access/dtv/linux.c:1001,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/dtv/linux.c:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - guard
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 987
    functionDepth: 1
    functionLinenumber: 987
    functionLinenumberEnd: 1002
    functionName: dvb_parse_guard
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 2
    functionsReached:
    - ARRAY_SIZE
    - VLC_GUARD
    - DVBv5
    - dvb_parse_int
    linkageType: ''
    returnType: int
    signature: int dvb_parse_guard (uint32_t guard)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dvb_parse_int
      Src: /src/vlc/modules/access/dtv/linux.c:1013,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/dtv/linux.c:1013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1004
    functionDepth: 1
    functionLinenumber: 1004
    functionLinenumberEnd: 1014
    functionName: dvb_parse_hierarchy
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 1
    functionsReached:
    - ARRAY_SIZE
    - dvb_parse_int
    linkageType: ''
    returnType: int
    signature: int dvb_parse_hierarchy (int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dvb_parse_modulation
      Src: /src/vlc/modules/access/dtv/linux.c:1020,1
    - Dst: dvb_parse_fec
      Src: /src/vlc/modules/access/dtv/linux.c:1021,1
    - Dst: dvb_parse_fec
      Src: /src/vlc/modules/access/dtv/linux.c:1022,1
    - Dst: dvb_parse_bandwidth
      Src: /src/vlc/modules/access/dtv/linux.c:1023,1
    - Dst: dvb_parse_transmit_mode
      Src: /src/vlc/modules/access/dtv/linux.c:1024,1
    - Dst: dvb_parse_guard
      Src: /src/vlc/modules/access/dtv/linux.c:1025,1
    - Dst: dvb_parse_hierarchy
      Src: /src/vlc/modules/access/dtv/linux.c:1026,1
    - Dst: dvb_find_frontend
      Src: /src/vlc/modules/access/dtv/linux.c:1028,1
    - Dst: dvb_set_props
      Src: /src/vlc/modules/access/dtv/linux.c:1030,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 9
    argNames:
    - d
    - freq
    - modstr
    - fec_hp
    - fec_lp
    - bandwidth
    - transmit_mode
    - guard
    - hierarchy
    argTypes:
    - dvb_device_t*
    - uint32_t
    - char*
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1016
    functionDepth: 3
    functionLinenumber: 1016
    functionLinenumberEnd: 1037
    functionName: dvb_set_dvbt
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 1
    functionsReached:
    - dvb_parse_modulation
    - dvb_parse_fec
    - dvb_parse_guard
    - dvb_set_props
    - dvb_find_frontend
    - dvb_parse_hierarchy
    - dvb_parse_bandwidth
    - dvb_parse_transmit_mode
    linkageType: ''
    returnType: int
    signature: "int dvb_set_dvbt (dvb_device_t *d, uint32_t freq, const char *modstr,\n
      \                 uint32_t fec_hp, uint32_t fec_lp, uint32_t bandwidth,\n                  int
      transmit_mode, uint32_t guard, int hierarchy)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DVBv5
      Src: /src/vlc/modules/access/dtv/linux.c:1043,1
    - Dst: dvb_parse_modulation
      Src: /src/vlc/modules/access/dtv/linux.c:1044,1
    - Dst: dvb_parse_fec
      Src: /src/vlc/modules/access/dtv/linux.c:1045,1
    - Dst: dvb_parse_bandwidth
      Src: /src/vlc/modules/access/dtv/linux.c:1046,1
    - Dst: dvb_parse_transmit_mode
      Src: /src/vlc/modules/access/dtv/linux.c:1047,1
    - Dst: dvb_parse_guard
      Src: /src/vlc/modules/access/dtv/linux.c:1048,1
    - Dst: dvb_find_frontend
      Src: /src/vlc/modules/access/dtv/linux.c:1050,1
    - Dst: dvb_set_props
      Src: /src/vlc/modules/access/dtv/linux.c:1052,1
    - Dst: DVBv5
      Src: /src/vlc/modules/access/dtv/linux.c:1057,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dtv/linux.c:1065,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 8
    argNames:
    - d
    - freq
    - modstr
    - fec
    - bandwidth
    - transmit_mode
    - guard
    - plp
    argTypes:
    - dvb_device_t*
    - uint32_t
    - char*
    - uint32_t
    - uint32_t
    - int
    - uint32_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1039
    functionDepth: 3
    functionLinenumber: 1039
    functionLinenumberEnd: 1070
    functionName: dvb_set_dvbt2
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 1
    functionsReached:
    - dvb_parse_modulation
    - dvb_parse_fec
    - dvb_parse_guard
    - msg_Err
    - dvb_set_props
    - dvb_find_frontend
    - DVBv5
    - dvb_parse_bandwidth
    - dvb_parse_transmit_mode
    linkageType: ''
    returnType: int
    signature: "int dvb_set_dvbt2 (dvb_device_t *d, uint32_t freq, const char *modstr,\n
      \                  uint32_t fec, uint32_t bandwidth,\n                   int
      transmit_mode, uint32_t guard, uint8_t plp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dvb_parse_modulation
      Src: /src/vlc/modules/access/dtv/linux.c:1077,1
    - Dst: dvb_parse_fec
      Src: /src/vlc/modules/access/dtv/linux.c:1078,1
    - Dst: dvb_find_frontend
      Src: /src/vlc/modules/access/dtv/linux.c:1080,1
    - Dst: DVBv5
      Src: /src/vlc/modules/access/dtv/linux.c:1083,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - d
    - freq
    - modstr
    - srate
    - fec
    argTypes:
    - dvb_device_t*
    - uint32_t
    - char*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1074
    functionDepth: 1
    functionLinenumber: 1074
    functionLinenumberEnd: 1091
    functionName: dvb_set_isdbc
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 1
    functionsReached:
    - DVBv5
    - dvb_parse_modulation
    - dvb_parse_fec
    - dvb_find_frontend
    linkageType: ''
    returnType: int
    signature: "int dvb_set_isdbc (dvb_device_t *d, uint32_t freq, const char *modstr,\n
      \                  uint32_t srate, uint32_t fec)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dvb_find_frontend
      Src: /src/vlc/modules/access/dtv/linux.c:1099,1
    - Dst: dvb_set_props
      Src: /src/vlc/modules/access/dtv/linux.c:1101,1
    - Dst: DVBv5
      Src: /src/vlc/modules/access/dtv/linux.c:1103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - d
    - freq_Hz
    - ts_id
    argTypes:
    - dvb_device_t*
    - uint64_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1095
    functionDepth: 3
    functionLinenumber: 1095
    functionLinenumberEnd: 1109
    functionName: dvb_set_isdbs
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 1
    functionsReached:
    - dvb_set_props
    - dvb_find_frontend
    - DVBv5
    linkageType: ''
    returnType: int
    signature: int dvb_set_isdbs (dvb_device_t *d, uint64_t freq_Hz, uint16_t ts_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dvb_parse_modulation
      Src: /src/vlc/modules/access/dtv/linux.c:1116,1
    - Dst: dvb_parse_fec
      Src: /src/vlc/modules/access/dtv/linux.c:1117,1
    - Dst: dvb_set_props
      Src: /src/vlc/modules/access/dtv/linux.c:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - d
    - num
    - l
    argTypes:
    - dvb_device_t*
    - unsigned
    - isdbt_layer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1113
    functionDepth: 3
    functionLinenumber: 1113
    functionLinenumberEnd: 1128
    functionName: dvb_set_isdbt_layer
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 0
    functionsReached:
    - dvb_parse_modulation
    - dvb_parse_fec
    - dvb_set_props
    linkageType: ''
    returnType: int
    signature: "int dvb_set_isdbt_layer (dvb_device_t *d, unsigned num,\n                                const
      isdbt_layer_t *l)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dvb_parse_bandwidth
      Src: /src/vlc/modules/access/dtv/linux.c:1134,1
    - Dst: dvb_parse_transmit_mode
      Src: /src/vlc/modules/access/dtv/linux.c:1135,1
    - Dst: dvb_parse_guard
      Src: /src/vlc/modules/access/dtv/linux.c:1136,1
    - Dst: dvb_find_frontend
      Src: /src/vlc/modules/access/dtv/linux.c:1138,1
    - Dst: dvb_set_props
      Src: /src/vlc/modules/access/dtv/linux.c:1140,1
    - Dst: dvb_set_isdbt_layer
      Src: /src/vlc/modules/access/dtv/linux.c:1146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 6
    argNames:
    - d
    - freq
    - bandwidth
    - transmit_mode
    - guard
    - layers
    argTypes:
    - dvb_device_t*
    - uint32_t
    - uint32_t
    - int
    - uint32_t
    - isdbt_layer_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1130
    functionDepth: 4
    functionLinenumber: 1130
    functionLinenumberEnd: 1149
    functionName: dvb_set_isdbt
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 1
    functionsReached:
    - dvb_parse_guard
    - dvb_set_isdbt_layer
    - dvb_set_props
    - dvb_find_frontend
    - dvb_parse_bandwidth
    - dvb_parse_transmit_mode
    linkageType: ''
    returnType: int
    signature: "int dvb_set_isdbt (dvb_device_t *d, uint32_t freq, uint32_t bandwidth,\n
      \                  int transmit_mode, uint32_t guard,\n                   const
      isdbt_layer_t layers[3])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dvb_parse_modulation
      Src: /src/vlc/modules/access/dtv/linux.c:1155,1
    - Dst: dvb_find_frontend
      Src: /src/vlc/modules/access/dtv/linux.c:1157,1
    - Dst: dvb_set_props
      Src: /src/vlc/modules/access/dtv/linux.c:1159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - d
    - freq
    - modstr
    argTypes:
    - dvb_device_t*
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1153
    functionDepth: 3
    functionLinenumber: 1153
    functionLinenumberEnd: 1161
    functionName: dvb_set_atsc
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 1
    functionsReached:
    - dvb_parse_modulation
    - dvb_find_frontend
    - dvb_set_props
    linkageType: ''
    returnType: int
    signature: int dvb_set_atsc (dvb_device_t *d, uint32_t freq, const char *modstr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dvb_parse_modulation
      Src: /src/vlc/modules/access/dtv/linux.c:1165,1
    - Dst: dvb_find_frontend
      Src: /src/vlc/modules/access/dtv/linux.c:1167,1
    - Dst: dvb_set_props
      Src: /src/vlc/modules/access/dtv/linux.c:1169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - d
    - freq
    - modstr
    argTypes:
    - dvb_device_t*
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1163
    functionDepth: 3
    functionLinenumber: 1163
    functionLinenumberEnd: 1172
    functionName: dvb_set_cqam
    functionSourceFile: /src/vlc/modules/access/dtv/linux.c
    functionUses: 1
    functionsReached:
    - dvb_parse_modulation
    - dvb_find_frontend
    - dvb_set_props
    linkageType: ''
    returnType: int
    signature: int dvb_set_cqam (dvb_device_t *d, uint32_t freq, const char *modstr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FAILED
      Src: /src/vlc/modules/access/dtv/bdagraph.hpp:83,1
    - Dst: CoInitializeEx
      Src: /src/vlc/modules/access/dtv/bdagraph.hpp:83,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/access/dtv/bdagraph.hpp:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: ComContext
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.hpp
    functionUses: 0
    functionsReached:
    - FAILED
    - CoInitializeEx
    - std::runtime_error
    linkageType: ''
    returnType: void
    signature: void ComContext( int mode )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoUninitialize
      Src: /src/vlc/modules/access/dtv/bdagraph.hpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: ~ComContext()
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.hpp
    functionUses: 0
    functionsReached:
    - CoUninitialize
    linkageType: ''
    returnType: void
    signature: void ~ComContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: BDAGraph::AddRef
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: STDMETHODIMP_
    signature: STDMETHODIMP_ AddRef( )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: BDAGraph::Release
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.hpp
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: STDMETHODIMP_
    signature: STDMETHODIMP_ Release( )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: BDAGraph::QueryInterface
    functionSourceFile: /src/vlc/modules/access/dtv/bdagraph.hpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP QueryInterface( REFIID /*riid*/, void** /*p_p_object*/
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: string::append
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:62,1
    - Dst: snprintf
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:65,1
    - Dst: string::append
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:68,1
    - Dst: string::append
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:70,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - ps_string
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 79
    functionName: createUUID
    functionSourceFile: /src/vlc/modules/access/dcp/dcpdecrypt.cpp
    functionUses: 0
    functionsReached:
    - string::append
    - snprintf
    linkageType: ''
    returnType: string
    signature: string createUUID( unsigned char *ps_string )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: KDM::OpenXml
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:94,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:96,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:100,1
    - Dst: XmlFile::ReadNextNode
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:103,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:105,1
    - Dst: XmlFile::ReadNextNode
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:109,1
    - Dst: AESKeyList::AESKeyList
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:112,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:113,1
    - Dst: KDM::ParsePrivate
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:116,1
    - Dst: AESKeyList*::size
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:123,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:125,1
    - Dst: KDM::CloseXml
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:130,1
    - Dst: KDM::CloseXml
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:133,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 135
    functionName: KDM::Parse
    functionSourceFile: /src/vlc/modules/access/dcp/dcpdecrypt.cpp
    functionUses: 0
    functionsReached:
    - KDM::CloseXml
    - KDM::OpenXml
    - AESKeyList*::size
    - msg_Err
    - AESKeyList::AESKeyList
    - msg_Dbg
    - KDM::ParsePrivate
    - XmlFile::ReadNextNode
    - unlikely
    linkageType: ''
    returnType: int
    signature: int KDM::Parse()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: XmlFile::ReadNextNode
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:150,1
    - Dst: AESKey::AESKey
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:157,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:158,1
    - Dst: AESKey*::Parse
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:160,1
    - Dst: p_key_list::push_back
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:165,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:180,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 2
    argNames:
    - _s_node
    - _i_type
    argTypes:
    - string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 182
    functionName: KDM::ParsePrivate
    functionSourceFile: /src/vlc/modules/access/dcp/dcpdecrypt.cpp
    functionUses: 1
    functionsReached:
    - p_key_list::push_back
    - AESKey*::Parse
    - AESKey::AESKey
    - msg_Err
    - XmlFile::ReadNextNode
    - unlikely
    linkageType: ''
    returnType: int
    signature: int KDM::ParsePrivate( const string _s_node, int _i_type )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: XmlFile::ReadNextNode
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:199,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:206,1
    - Dst: AESKey::decryptRSA
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:208,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:224,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 3
    argNames:
    - p_xml_reader
    - _s_node
    - _i_type
    argTypes:
    - xml_reader_t*
    - string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 226
    functionName: AESKey::Parse
    functionSourceFile: /src/vlc/modules/access/dcp/dcpdecrypt.cpp
    functionUses: 0
    functionsReached:
    - XmlFile::ReadEndNode
    - AESKey::decryptRSA
    - XmlFile::ReadNextNode
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int AESKey::Parse( xml_reader_t *p_xml_reader, string _s_node, int
      _i_type)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: RSAKey::setPath
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:247,1
    - Dst: RSAKey::readPEM
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:251,1
    - Dst: string::erase
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:259,1
    - Dst: remove_if
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:259,1
    - Dst: string::begin
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:259,1
    - Dst: string::end
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:259,1
    - Dst: static_cast<int(*)(int)>
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:259,1
    - Dst: string::end
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:260,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:264,1
    - Dst: vlc_b64_decode_binary
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:269,1
    - Dst: string::c_str
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:269,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:271,1
    - Dst: vlc_gcrypt_init
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:276,1
    - Dst: gcry_mpi_scan
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:279,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:281,1
    - Dst: gcry_strerror
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:281,1
    - Dst: gcry_sexp_build
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:284,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:286,1
    - Dst: gcry_strerror
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:286,1
    - Dst: gcry_pk_decrypt
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:291,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:293,1
    - Dst: gcry_strerror
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:293,1
    - Dst: gcry_sexp_find_token
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:298,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:302,1
    - Dst: gcry_sexp_nth_mpi
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:308,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:310,1
    - Dst: gcry_mpi_aprint
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:314,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:316,1
    - Dst: gcry_strerror
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:316,1
    - Dst: AESKey::extractInfo
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:324,1
    - Dst: AESKey::extractInfo
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:328,1
    - Dst: static_cast<size_t>
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:331,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:332,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:335,1
    - Dst: free
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:342,1
    - Dst: gcry_mpi_release
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:343,1
    - Dst: gcry_sexp_release
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:344,1
    - Dst: gcry_sexp_release
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:345,1
    - Dst: gcry_mpi_release
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:346,1
    - Dst: gcry_sexp_release
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:347,1
    - Dst: gcry_free
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:348,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 81
    argCount: 1
    argNames:
    - s_cipher_text_b64
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 350
    functionName: AESKey::decryptRSA
    functionSourceFile: /src/vlc/modules/access/dcp/dcpdecrypt.cpp
    functionUses: 1
    functionsReached:
    - string::end
    - gcry_mpi_aprint
    - gcry_free
    - gcry_strerror
    - static_cast<size_t>
    - gcry_sexp_release
    - msg_Err
    - static_cast<int(*)(int)>
    - RSAKey::setPath
    - gcry_sexp_find_token
    - gcry_mpi_scan
    - gcry_mpi_release
    - string::c_str
    - vlc_gcrypt_init
    - string::erase
    - RSAKey::readPEM
    - gcry_sexp_build
    - string::begin
    - AESKey::extractInfo
    - remove_if
    - free
    - gcry_sexp_nth_mpi
    - vlc_b64_decode_binary
    - gcry_pk_decrypt
    linkageType: ''
    returnType: int
    signature: int AESKey::decryptRSA( string s_cipher_text_b64 )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:367,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:370,1
    - Dst: string::append
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:375,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:379,1
    - Dst: string::compare
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:384,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:386,1
    - Dst: createUUID
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:395,1
    - Dst: empty
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:395,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:397,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:405,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - ps_plain_text
    - smpte
    argTypes:
    - unsigned char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 408
    functionName: AESKey::extractInfo
    functionSourceFile: /src/vlc/modules/access/dcp/dcpdecrypt.cpp
    functionUses: 1
    functionsReached:
    - string::append
    - string::compare
    - memcpy
    - msg_Err
    - empty
    - snprintf
    - createUUID
    linkageType: ''
    returnType: int
    signature: int AESKey::extractInfo( unsigned char * ps_plain_text, bool smpte
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: config_GetUserDir
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:422,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:424,1
    - Dst: RSAKey::s_path::assign
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:429,1
    - Dst: RSAKey::s_path::append
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:430,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:434,1
    - Dst: free
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:438,1
    - Dst: free
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:442,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 444
    functionName: RSAKey::setPath
    functionSourceFile: /src/vlc/modules/access/dcp/dcpdecrypt.cpp
    functionUses: 1
    functionsReached:
    - RSAKey::s_path::assign
    - msg_Err
    - free
    - RSAKey::s_path::append
    - config_GetUserDir
    linkageType: ''
    returnType: int
    signature: int RSAKey::setPath( )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RSAKey::s_path::c_str
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:460,1
    - Dst: ifstream::is_open
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:461,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:463,1
    - Dst: getline
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:468,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:470,1
    - Dst: string::compare
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:473,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:475,1
    - Dst: getline
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:480,1
    - Dst: string::compare
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:482,1
    - Dst: string::append
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:486,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:490,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:496,1
    - Dst: vlc_b64_decode_binary
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:501,1
    - Dst: string::c_str
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:501,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:503,1
    - Dst: RSAKey::readDER
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:508,1
    - Dst: free
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:512,1
    - Dst: free
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:516,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 450
    functionDepth: 2
    functionLinenumber: 450
    functionLinenumberEnd: 518
    functionName: RSAKey::readPEM
    functionSourceFile: /src/vlc/modules/access/dcp/dcpdecrypt.cpp
    functionUses: 1
    functionsReached:
    - string::append
    - string::compare
    - ifstream::is_open
    - RSAKey::s_path::c_str
    - string::c_str
    - msg_Err
    - RSAKey::readDER
    - free
    - getline
    - vlc_b64_decode_binary
    linkageType: ''
    returnType: int
    signature: int RSAKey::readPEM( )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RSAKey::parseTag
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:531,1
    - Dst: RSAKey::parseTag
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:534,1
    - Dst: RSAKey::parseTag
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:544,1
    - Dst: gcry_mpi_scan
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:547,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:550,1
    - Dst: gpg_strerror
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:550,1
    - Dst: gcry_mpi_cmp
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:560,1
    - Dst: gcry_mpi_swap
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:562,1
    - Dst: gcry_mpi_invm
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:563,1
    - Dst: gcry_sexp_build
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:567,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:573,1
    - Dst: gpg_strerror
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:573,1
    - Dst: gcry_mpi_release
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:579,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:583,1
    - Dst: gcry_mpi_release
      Src: /src/vlc/modules/access/dcp/dcpdecrypt.cpp:587,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 46
    argCount: 2
    argNames:
    - ps_data_der
    - length
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 589
    functionName: RSAKey::readDER
    functionSourceFile: /src/vlc/modules/access/dcp/dcpdecrypt.cpp
    functionUses: 1
    functionsReached:
    - gcry_mpi_swap
    - gcry_sexp_build
    - gcry_mpi_scan
    - gcry_mpi_release
    - msg_Err
    - RSAKey::parseTag
    - gpg_strerror
    - gcry_mpi_invm
    - gcry_mpi_cmp
    linkageType: ''
    returnType: int
    signature: int RSAKey::readDER( unsigned char const* ps_data_der, size_t length
      )
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 3
    argNames:
    - buffer
    - buflen
    - ti
    argTypes:
    - unsigned char**
    - size_t*
    - struct tag_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 673
    functionName: RSAKey::parseTag
    functionSourceFile: /src/vlc/modules/access/dcp/dcpdecrypt.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RSAKey::parseTag( unsigned char const **buffer, size_t *buflen,
      struct tag_info *ti)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: dcp_t
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dcp_t()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_delete_all
      Src: /src/vlc/modules/access/dcp/dcpparser.h:106,1
    - Dst: vlc_delete_all
      Src: /src/vlc/modules/access/dcp/dcpparser.h:108,1
    - Dst: vlc_delete_all
      Src: /src/vlc/modules/access/dcp/dcpparser.h:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 116
    functionName: ~dcp_t( )
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached:
    - vlc_delete_all
    linkageType: ''
    returnType: void
    signature: void ~dcp_t( )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_demux
    - s_path
    argTypes:
    - demux_t*
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: XmlFile::XmlFile
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XmlFile( demux_t * p_demux, string s_path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: Chunk::Chunk
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Chunk(demux_t * demux)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: Chunk::getPath
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: string getPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: Asset::Asset
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asset (demux_t * demux)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_string
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: Asset::setId
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setId(string p_string )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_string
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: Asset::setPath
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setPath(string p_string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Asset::s_annotation::empty
      Src: /src/vlc/modules/access/dcp/dcpparser.h:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_string
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: Asset::setAnnotation
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached:
    - Asset::s_annotation::empty
    linkageType: ''
    returnType: void
    signature: void setAnnotation(string p_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_string
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: Asset::setKeyId
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setKeyId(string p_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_bool
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: Asset::setPackingList
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setPackingList(bool p_bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 180
    functionName: Asset::setEntryPoint
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setEntryPoint(int i_val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: Asset::setDuration
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDuration (int i_val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: Asset::setIntrinsicDuration
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setIntrinsicDuration (int i_val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: Asset::getId
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: string getId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: Asset::getPath
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: string getPath() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: Asset::getType
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: Asset::getOriginalFilename
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: string getOriginalFilename() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: Asset::getKeyId
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: string getKeyId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: Asset::getEntryPoint
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getEntryPoint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: Asset::getDuration
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getDuration() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: Asset::getIntrinsicDuration
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getIntrinsicDuration() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: Asset::isPackingList
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isPackingList() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - demux
    - asset_list
    - xmlReader
    argTypes:
    - demux_t*
    - AssetList*
    - xml_reader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: Reel::Reel
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reel(demux_t * demux, AssetList *asset_list, xml_reader_t *xmlReader)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - p_demux
    - s_path
    - _asset_list
    argTypes:
    - demux_t*
    - string
    - AssetList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: CPL::CPL
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CPL(demux_t * p_demux, string s_path, AssetList *_asset_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 266
    functionName: CPL::getReel
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Reel
    signature: Reel *getReel(int pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 267
    functionName: CPL::getReelList
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Reel *>
    signature: std::vector<Reel *> getReelList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - p_demux
    - s_path
    - _asset_list
    - s
    argTypes:
    - demux_t*
    - string
    - AssetList*
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: PKL::PKL
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PKL( demux_t * p_demux, string s_path, AssetList *_asset_list,
      string s )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 298
    functionName: PKL::getCPL
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CPL
    signature: CPL *getCPL(int pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - p_demux
    - s_path
    - _p_dcp
    argTypes:
    - demux_t*
    - string
    - dcp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 324
    functionName: AssetMap::AssetMap
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AssetMap( demux_t * p_demux, string s_path, dcp_t *_p_dcp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - p_demux
    - s_path
    - _p_dcp
    argTypes:
    - demux_t*
    - string
    - dcp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 340
    functionName: KDM::KDM
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KDM( demux_t * p_demux, string s_path, dcp_t *_p_dcp )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: AESKey::AESKey
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AESKey( demux_t *demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 354
    functionName: ~AESKey()
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AESKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 356
    functionName: AESKey::getKeyId
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: string getKeyId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 357
    functionName: AESKey::getKey
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * getKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 374
    functionName: RSAKey::RSAKey
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSAKey( demux_t *demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_sexp_release
      Src: /src/vlc/modules/access/dcp/dcpparser.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 375
    functionName: ~RSAKey()
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.h
    functionUses: 0
    functionsReached:
    - gcry_sexp_release
    linkageType: ''
    returnType: void
    signature: void ~RSAKey()
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: XmlFile::ReadNextNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:137,1
    - Dst: ChunkTag_t
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:142,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:145,1
    - Dst: atoi
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:152,1
    - Dst: string::c_str
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:152,1
    - Dst: atoi
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:155,1
    - Dst: string::c_str
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:155,1
    - Dst: atoi
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:158,1
    - Dst: string::c_str
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:158,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:174,1
    - Dst: string::empty
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:174,1
    - Dst: Chunk::s_path::empty
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:181,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:182,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:186,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 58
    argCount: 3
    argNames:
    - p_xmlReader
    - p_node
    - p_type
    argTypes:
    - xml_reader_t*
    - string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 196
    functionName: Chunk::Parse
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.cpp
    functionUses: 0
    functionsReached:
    - atoi
    - Chunk::s_path::empty
    - XmlFile::ReadEndNode
    - string::c_str
    - string::empty
    - msg_Err
    - XmlFile::ReadNextNode
    - ChunkTag_t
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Chunk::Parse( xml_reader_t *p_xmlReader, string p_node, int p_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: AssetMap::~AssetMap()
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AssetMap::~AssetMap()
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: AssetMap::OpenXml
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:222,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:223,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:228,1
    - Dst: XmlFile::ReadNextNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:229,1
    - Dst: AssetMap::CloseXml
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:232,1
    - Dst: AssetList::AssetList
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:236,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:237,1
    - Dst: AssetMap::CloseXml
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:238,1
    - Dst: AssetMap::ParseAssetList
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:242,1
    - Dst: AssetMap::CloseXml
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:243,1
    - Dst: AssetList*::size
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:252,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:253,1
    - Dst: AssetMap::CloseXml
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:254,1
    - Dst: AssetList*::begin
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:258,1
    - Dst: AssetList*::end
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:259,1
    - Dst: getPath
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:261,1
    - Dst: string::empty
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:262,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:263,1
    - Dst: isPackingList
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:270,1
    - Dst: vector::push_back
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:271,1
    - Dst: vector::size
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:278,1
    - Dst: empty
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:278,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:280,1
    - Dst: AssetMap::CloseXml
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:281,1
    - Dst: PKL::PKL
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:286,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:287,1
    - Dst: AssetMap::CloseXml
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:288,1
    - Dst: PKL*::Parse
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:291,1
    - Dst: AssetMap::CloseXml
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:293,1
    - Dst: pkls::push_back
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:296,1
    - Dst: PKL*::FindCPLs
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:299,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:300,1
    - Dst: AssetMap::CloseXml
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:301,1
    - Dst: PKL*::getCPL
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:308,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:310,1
    - Dst: AssetMap::CloseXml
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:311,1
    - Dst: CPL*::Parse
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:314,1
    - Dst: AssetMap::CloseXml
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:315,1
    - Dst: AssetList*::begin
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:320,1
    - Dst: AssetList*::end
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:320,1
    - Dst: getKeyId
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:321,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:323,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:324,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:327,1
    - Dst: free
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:328,1
    - Dst: AssetMap::CloseXml
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:329,1
    - Dst: free
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:333,1
    - Dst: KDM::Parse
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:334,1
    - Dst: AssetMap::CloseXml
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:336,1
    - Dst: CPL*::getReelList
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:342,1
    - Dst: CPL*::getReel
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:345,1
    - Dst: Reel*::getTrack
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:352,1
    - Dst: Asset*::getDuration
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:355,1
    - Dst: Asset*::getPath
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:356,1
    - Dst: Asset*::getEntryPoint
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:357,1
    - Dst: Asset*::getDuration
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:358,1
    - Dst: Asset*::getAESKeyById
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:361,1
    - Dst: Asset*::getKeyId
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:361,1
    - Dst: video_reels::push_back
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:362,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:363,1
    - Dst: Asset*::getPath
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:363,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:364,1
    - Dst: Asset*::getEntryPoint
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:364,1
    - Dst: Reel*::getTrack
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:367,1
    - Dst: Asset*::getDuration
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:378,1
    - Dst: Asset*::getPath
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:379,1
    - Dst: Asset*::getEntryPoint
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:380,1
    - Dst: Asset*::getDuration
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:381,1
    - Dst: Asset*::getAESKeyById
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:384,1
    - Dst: Asset*::getKeyId
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:384,1
    - Dst: audio_reels::push_back
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:385,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:386,1
    - Dst: Asset*::getPath
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:386,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:387,1
    - Dst: Asset*::getEntryPoint
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:387,1
    - Dst: AssetMap::CloseXml
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:391,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 121
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 393
    functionName: AssetMap::Parse
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.cpp
    functionUses: 0
    functionsReached:
    - Asset*::getPath
    - AssetList::AssetList
    - PKL*::getCPL
    - PKL*::Parse
    - Asset*::getKeyId
    - AssetMap::CloseXml
    - CPL*::getReel
    - CPL*::getReelList
    - AssetMap::ParseAssetList
    - audio_reels::push_back
    - vector::size
    - getPath
    - string::empty
    - msg_Err
    - msg_Dbg
    - Asset*::getDuration
    - XmlFile::ReadNextNode
    - video_reels::push_back
    - PKL::PKL
    - vector::push_back
    - AssetList*::size
    - pkls::push_back
    - PKL*::FindCPLs
    - CPL*::Parse
    - Reel*::getTrack
    - AssetList*::end
    - Asset*::getAESKeyById
    - AssetList*::begin
    - Asset*::getEntryPoint
    - var_InheritString
    - KDM::Parse
    - isPackingList
    - free
    - empty
    - getKeyId
    - unlikely
    - AssetMap::OpenXml
    linkageType: ''
    returnType: int
    signature: int AssetMap::Parse ( )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 400
    functionName: Asset::~Asset()
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asset::~Asset()
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: XmlFile::ReadNextNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:414,1
    - Dst: AssetTag_t
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:419,1
    - Dst: xml_ReaderIsEmptyElement
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:426,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:430,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:432,1
    - Dst: string::c_str
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:432,1
    - Dst: Asset::parseChunkList
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:439,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:441,1
    - Dst: string::c_str
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:441,1
    - Dst: Asset::getPath
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:444,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:447,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:449,1
    - Dst: string::c_str
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:449,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:455,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:457,1
    - Dst: string::c_str
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:457,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:469,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:478,1
    - Dst: string::c_str
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:478,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:484,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:488,1
    - Dst: string::c_str
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:489,1
    - Dst: Asset::s_id::empty
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:493,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:494,1
    - Dst: Asset::s_path::empty
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:497,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:498,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 84
    argCount: 3
    argNames:
    - p_xmlReader
    - p_node
    - p_type
    argTypes:
    - xml_reader_t*
    - string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 507
    functionName: Asset::Parse
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.cpp
    functionUses: 0
    functionsReached:
    - Asset::parseChunkList
    - XmlFile::ReadEndNode
    - string::c_str
    - Asset::s_id::empty
    - msg_Err
    - Asset::s_path::empty
    - AssetTag_t
    - XmlFile::ReadNextNode
    - msg_Warn
    - xml_ReaderIsEmptyElement
    - Asset::getPath
    linkageType: ''
    returnType: int
    signature: int Asset::Parse( xml_reader_t *p_xmlReader, string p_node, int p_type)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: XmlFile::ReadNextNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:518,1
    - Dst: AssetTag_t
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:523,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:528,1
    - Dst: Asset::s_annotation::empty
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:530,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:536,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:541,1
    - Dst: atol
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:543,1
    - Dst: string::c_str
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:543,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:546,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:551,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:561,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:576,1
    - Dst: string::c_str
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:577,1
    - Dst: Asset::s_hash::empty
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:581,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:582,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:586,1
    - Dst: Asset::s_type::empty
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:589,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:590,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 75
    argCount: 1
    argNames:
    - p_xmlReader
    argTypes:
    - xml_reader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 601
    functionName: Asset::ParsePKL
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.cpp
    functionUses: 0
    functionsReached:
    - Asset::s_hash::empty
    - atol
    - XmlFile::ReadEndNode
    - string::c_str
    - Asset::s_type::empty
    - msg_Err
    - AssetTag_t
    - XmlFile::ReadNextNode
    - msg_Warn
    - Asset::s_annotation::empty
    linkageType: ''
    returnType: int
    signature: int Asset::ParsePKL( xml_reader_t *p_xmlReader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:605,1
    - Dst: Asset::s_id::c_str
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:605,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:606,1
    - Dst: Asset::s_path::c_str
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:606,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:607,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:608,1
    - Dst: Asset::s_hash::c_str
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:608,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:609,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:610,1
    - Dst: Asset::s_type::c_str
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:610,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:611,1
    - Dst: Asset::s_original_filename::c_str
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:611,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:612,1
    - Dst: Asset::s_annotation::c_str
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 613
    functionName: Asset::Dump
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.cpp
    functionUses: 0
    functionsReached:
    - Asset::s_id::c_str
    - Asset::s_type::c_str
    - Asset::s_annotation::c_str
    - Asset::s_path::c_str
    - msg_Dbg
    - Asset::s_hash::c_str
    - Asset::s_original_filename::c_str
    linkageType: ''
    returnType: void
    signature: void Asset::Dump()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: XmlFile::ReadNextNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:627,1
    - Dst: Chunk::Parse
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:634,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:636,1
    - Dst: std::vector::size
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:641,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:642,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - p_xmlReader
    - p_node
    - p_type
    argTypes:
    - xml_reader_t*
    - string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 652
    functionName: Asset::parseChunkList
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.cpp
    functionUses: 1
    functionsReached:
    - Chunk::Parse
    - msg_Err
    - std::vector::push_back
    - std::vector::size
    - XmlFile::ReadNextNode
    linkageType: ''
    returnType: int
    signature: int Asset::parseChunkList( xml_reader_t *p_xmlReader, string p_node,
      int p_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: string::empty
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:657,1
    - Dst: AESKeyList*::begin
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:660,1
    - Dst: AESKeyList*::end
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:660,1
    - Dst: Asset::getKeyId
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:661,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - p_key_list
    - s_id
    argTypes:
    - AESKeyList*
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 665
    functionName: Asset::getAESKeyById
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.cpp
    functionUses: 0
    functionsReached:
    - AESKeyList*::end
    - string::empty
    - AESKeyList*::begin
    - Asset::getKeyId
    linkageType: ''
    returnType: AESKey
    signature: AESKey * Asset::getAESKeyById( AESKeyList* p_key_list, const string
      s_id )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: XmlFile::ReadNextNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:679,1
    - Dst: Asset::Asset
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:684,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:685,1
    - Dst: Asset*::Parse
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:687,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:688,1
    - Dst: p_asset_list::push_back
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:692,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:701,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - p_xmlReader
    - p_node
    - p_type
    argTypes:
    - xml_reader_t*
    - string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 706
    functionName: AssetMap::ParseAssetList
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.cpp
    functionUses: 1
    functionsReached:
    - Asset::Asset
    - p_asset_list::push_back
    - msg_Err
    - XmlFile::ReadNextNode
    - Asset*::Parse
    - unlikely
    linkageType: ''
    returnType: int
    signature: int AssetMap::ParseAssetList (xml_reader_t *p_xmlReader, const string
      p_node, int p_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AssetList*::begin
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:710,1
    - Dst: AssetList*::begin
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:711,1
    - Dst: AssetList*::end
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:711,1
    - Dst: getId
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:712,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - asset_list
    - p_id
    argTypes:
    - AssetList*
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 715
    functionName: AssetMap::getAssetById
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.cpp
    functionUses: 0
    functionsReached:
    - AssetList*::end
    - getId
    - AssetList*::begin
    linkageType: ''
    returnType: Asset
    signature: Asset * AssetMap::getAssetById(AssetList *asset_list, const string
      p_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 720
    functionName: XmlFile::~XmlFile()
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XmlFile::~XmlFile()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_path2uri
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:726,1
    - Dst: XmlFile::s_path::c_str
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:726,1
    - Dst: vlc_stream_NewURL
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:727,1
    - Dst: free
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:728,1
    - Dst: xml_ReaderCreate
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:733,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:735,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 739
    functionName: XmlFile::OpenXml
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.cpp
    functionUses: 0
    functionsReached:
    - xml_ReaderCreate
    - vlc_stream_Delete
    - free
    - XmlFile::s_path::c_str
    - vlc_path2uri
    - vlc_stream_NewURL
    linkageType: ''
    returnType: int
    signature: int XmlFile::OpenXml()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:744,1
    - Dst: string::find
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:751,1
    - Dst: string::substr
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:757,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:761,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - p_demux
    - p_xmlReader
    - ' p_node'
    argTypes:
    - demux_t*
    - xml_reader_t*
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 769
    functionName: XmlFile::ReadNextNode
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.cpp
    functionUses: 9
    functionsReached:
    - string::substr
    - string::find
    - xml_ReaderNextNode
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int XmlFile::ReadNextNode( demux_t *p_demux, xml_reader_t *p_xmlReader,
      string& p_node )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderIsEmptyElement
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:775,1
    - Dst: XmlFile::ReadNextNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:781,1
    - Dst: XmlFile::ReadNextNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:785,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - p_demux
    - p_xmlReader
    - p_node
    - p_type
    - s_value
    argTypes:
    - demux_t*
    - xml_reader_t*
    - string
    - int
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 771
    functionDepth: 2
    functionLinenumber: 771
    functionLinenumberEnd: 790
    functionName: XmlFile::ReadEndNode
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.cpp
    functionUses: 4
    functionsReached:
    - xml_ReaderIsEmptyElement
    - XmlFile::ReadNextNode
    linkageType: ''
    returnType: int
    signature: int XmlFile::ReadEndNode( demux_t *p_demux, xml_reader_t *p_xmlReader,
      string p_node, int p_type, string &s_value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XmlFile::OpenXml
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:802,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:804,1
    - Dst: XmlFile::ReadNextNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:809,1
    - Dst: XmlFile::CloseXml
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:816,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 797
    functionDepth: 2
    functionLinenumber: 797
    functionLinenumberEnd: 818
    functionName: XmlFile::isCPL
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.cpp
    functionUses: 0
    functionsReached:
    - XmlFile::OpenXml
    - XmlFile::CloseXml
    - XmlFile::ReadNextNode
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int XmlFile::isCPL()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:822,1
    - Dst: xml_ReaderDelete
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:824,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 825
    functionName: XmlFile::CloseXml
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.cpp
    functionUses: 1
    functionsReached:
    - vlc_stream_Delete
    - xml_ReaderDelete
    linkageType: ''
    returnType: void
    signature: void XmlFile::CloseXml()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_delete_all
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 833
    functionName: PKL::~PKL()
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.cpp
    functionUses: 0
    functionsReached:
    - vlc_delete_all
    linkageType: ''
    returnType: void
    signature: void PKL::~PKL()
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: PKL::OpenXml
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:855,1
    - Dst: XmlFile::ReadNextNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:859,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:861,1
    - Dst: XmlFile::ReadNextNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:864,1
    - Dst: PKLTag_t
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:868,1
    - Dst: PKL::ParseAssetList
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:874,1
    - Dst: PKL::ParseSigner
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:878,1
    - Dst: PKL::ParseSignature
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:882,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:887,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:892,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:897,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:902,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:907,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:912,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:917,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:922,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:938,1
    - Dst: string::c_str
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:939,1
    - Dst: PKL::CloseXml
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:948,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:951,1
    - Dst: PKL::CloseXml
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:952,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 104
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 835
    functionDepth: 3
    functionLinenumber: 835
    functionLinenumberEnd: 954
    functionName: PKL::Parse
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.cpp
    functionUses: 0
    functionsReached:
    - PKL::OpenXml
    - XmlFile::ReadEndNode
    - string::c_str
    - PKL::ParseSignature
    - msg_Err
    - PKLTag_t
    - PKL::CloseXml
    - PKL::ParseAssetList
    - PKL::ParseSigner
    - XmlFile::ReadNextNode
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int PKL::Parse()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PKL::vec_cpl::size
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:958,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:959,1
    - Dst: PKL::asset_list::begin
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:963,1
    - Dst: PKL::asset_list::end
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:964,1
    - Dst: Asset*::getType
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:966,1
    - Dst: Asset*::getPath
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:972,1
    - Dst: CPL::CPL
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:971,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:974,1
    - Dst: CPL*::isCPL
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:976,1
    - Dst: PKL::vec_cpl::push_back
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:980,1
    - Dst: PKL::vec_cpl::size
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:992,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 956
    functionDepth: 1
    functionLinenumber: 956
    functionLinenumberEnd: 993
    functionName: PKL::FindCPLs
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.cpp
    functionUses: 0
    functionsReached:
    - PKL::asset_list::begin
    - Asset*::getPath
    - CPL::CPL
    - PKL::vec_cpl::size
    - msg_Err
    - Asset*::getType
    - PKL::vec_cpl::push_back
    - unlikely
    - PKL::asset_list::end
    - CPL*::isCPL
    linkageType: ''
    returnType: int
    signature: int PKL::FindCPLs()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: XmlFile::ReadNextNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1004,1
    - Dst: PKL::ParseAsset
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1008,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - p_node
    - p_type
    argTypes:
    - string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 996
    functionDepth: 2
    functionLinenumber: 996
    functionLinenumberEnd: 1026
    functionName: PKL::ParseAssetList
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.cpp
    functionUses: 1
    functionsReached:
    - PKL::ParseAsset
    - XmlFile::ReadNextNode
    linkageType: ''
    returnType: int
    signature: int PKL::ParseAssetList(string p_node, int p_type)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: XmlFile::ReadNextNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1040,1
    - Dst: XmlFile::ReadNextNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1043,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1048,1
    - Dst: string::empty
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1048,1
    - Dst: XmlFile::ReadNextNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1055,1
    - Dst: AssetMap::getAssetById
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1059,1
    - Dst: Asset*::ParsePKL
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1069,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 2
    argNames:
    - p_node
    - p_type
    argTypes:
    - string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1028
    functionDepth: 2
    functionLinenumber: 1028
    functionLinenumberEnd: 1072
    functionName: PKL::ParseAsset
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.cpp
    functionUses: 1
    functionsReached:
    - string::empty
    - Asset*::ParsePKL
    - AssetMap::getAssetById
    - XmlFile::ReadNextNode
    - unlikely
    linkageType: ''
    returnType: int
    signature: int PKL::ParseAsset(string p_node, int p_type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XmlFile::ReadNextNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1084,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1090,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - p_node
    - p_type
    argTypes:
    - string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1074
    functionDepth: 2
    functionLinenumber: 1074
    functionLinenumberEnd: 1092
    functionName: PKL::ParseSigner
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.cpp
    functionUses: 1
    functionsReached:
    - XmlFile::ReadNextNode
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int PKL::ParseSigner(string p_node, int p_type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XmlFile::ReadNextNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1104,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - p_node
    - p_type
    argTypes:
    - string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1094
    functionDepth: 2
    functionLinenumber: 1094
    functionLinenumberEnd: 1111
    functionName: PKL::ParseSignature
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.cpp
    functionUses: 1
    functionsReached:
    - XmlFile::ReadNextNode
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int PKL::ParseSignature(string p_node, int p_type)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: XmlFile::ReadNextNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1126,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1130,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1134,1
    - Dst: Reel::ParseAssetList
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1138,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1142,1
    - Dst: string::c_str
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1142,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1148,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 2
    argNames:
    - p_node
    - p_type
    argTypes:
    - string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1116
    functionDepth: 3
    functionLinenumber: 1116
    functionLinenumberEnd: 1160
    functionName: Reel::Parse
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.cpp
    functionUses: 0
    functionsReached:
    - string::c_str
    - XmlFile::ReadEndNode
    - msg_Err
    - Reel::ParseAssetList
    - XmlFile::ReadNextNode
    linkageType: ''
    returnType: int
    signature: int Reel::Parse(string p_node, int p_type)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - e_track
    argTypes:
    - TrackType_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1177
    functionName: Reel::getTrack
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Asset
    signature: Asset * Reel::getTrack(TrackType_t e_track)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: XmlFile::ReadNextNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1189,1
    - Dst: Reel::ParseAsset
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1193,1
    - Dst: Reel::ParseAsset
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1196,1
    - Dst: Reel::ParseAsset
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1199,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1203,1
    - Dst: string::c_str
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1203,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1209,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - p_node
    - p_type
    argTypes:
    - string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1179
    functionDepth: 2
    functionLinenumber: 1179
    functionLinenumberEnd: 1221
    functionName: Reel::ParseAssetList
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.cpp
    functionUses: 1
    functionsReached:
    - Reel::ParseAsset
    - string::c_str
    - XmlFile::ReadNextNode
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int Reel::ParseAssetList(string p_node, int p_type)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: XmlFile::ReadNextNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1234,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1238,1
    - Dst: AssetMap::getAssetById
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1241,1
    - Dst: XmlFile::ReadNextNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1246,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1250,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1253,1
    - Dst: Asset*::setAnnotation
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1255,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1257,1
    - Dst: Asset*::setIntrinsicDuration
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1259,1
    - Dst: atoi
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1259,1
    - Dst: string::c_str
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1259,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1261,1
    - Dst: Asset*::setEntryPoint
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1263,1
    - Dst: atoi
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1263,1
    - Dst: string::c_str
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1263,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1265,1
    - Dst: Asset*::setDuration
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1267,1
    - Dst: atoi
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1267,1
    - Dst: string::c_str
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1267,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1269,1
    - Dst: Asset*::setKeyId
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1271,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1273,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1276,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1279,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1282,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1286,1
    - Dst: string::c_str
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1286,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 88
    argCount: 3
    argNames:
    - p_node
    - p_type
    - e_track
    argTypes:
    - string
    - int
    - TrackType_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1223
    functionDepth: 3
    functionLinenumber: 1223
    functionLinenumberEnd: 1319
    functionName: Reel::ParseAsset
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.cpp
    functionUses: 1
    functionsReached:
    - atoi
    - Asset*::setKeyId
    - XmlFile::ReadEndNode
    - string::c_str
    - msg_Err
    - Asset*::setEntryPoint
    - AssetMap::getAssetById
    - XmlFile::ReadNextNode
    - Asset*::setAnnotation
    - Asset*::setIntrinsicDuration
    - Asset*::setDuration
    linkageType: ''
    returnType: int
    signature: int Reel::ParseAsset(string p_node, int p_type, TrackType_t e_track)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_delete_all
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1325
    functionDepth: 1
    functionLinenumber: 1325
    functionLinenumberEnd: 1327
    functionName: CPL::~CPL()
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.cpp
    functionUses: 0
    functionsReached:
    - vlc_delete_all
    linkageType: ''
    returnType: void
    signature: void CPL::~CPL()
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: CPL::OpenXml
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1352,1
    - Dst: XmlFile::ReadNextNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1356,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1358,1
    - Dst: XmlFile::ReadNextNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1362,1
    - Dst: CPLTag_t
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1366,1
    - Dst: CPL::ParseReelList
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1372,1
    - Dst: CPL::DummyParse
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1379,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1384,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1389,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1394,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1399,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1404,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1409,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1414,1
    - Dst: XmlFile::ReadEndNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1419,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1424,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1441,1
    - Dst: string::c_str
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1442,1
    - Dst: CPL::CloseXml
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1452,1
    - Dst: CPL::CloseXml
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1455,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 107
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1329
    functionDepth: 3
    functionLinenumber: 1329
    functionLinenumberEnd: 1457
    functionName: CPL::Parse
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.cpp
    functionUses: 0
    functionsReached:
    - CPL::OpenXml
    - XmlFile::ReadEndNode
    - string::c_str
    - CPL::CloseXml
    - msg_Err
    - CPL::ParseReelList
    - CPLTag_t
    - XmlFile::ReadNextNode
    - msg_Warn
    - CPL::DummyParse
    linkageType: ''
    returnType: int
    signature: int CPL::Parse()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: XmlFile::ReadNextNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1467,1
    - Dst: Reel::Reel
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1470,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1471,1
    - Dst: Reel*::Parse
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1474,1
    - Dst: CPL::vec_reel::push_back
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1482,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - p_node
    - p_type
    argTypes:
    - string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1459
    functionDepth: 2
    functionLinenumber: 1459
    functionLinenumberEnd: 1496
    functionName: CPL::ParseReelList
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.cpp
    functionUses: 1
    functionsReached:
    - Reel::Reel
    - CPL::vec_reel::push_back
    - Reel*::Parse
    - XmlFile::ReadNextNode
    - unlikely
    linkageType: ''
    returnType: int
    signature: int CPL::ParseReelList(string p_node, int p_type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderIsEmptyElement
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1507,1
    - Dst: XmlFile::ReadNextNode
      Src: /src/vlc/modules/access/dcp/dcpparser.cpp:1510,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - p_node
    - p_type
    argTypes:
    - string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1517
      start: 1499
    functionDepth: 2
    functionLinenumber: 1499
    functionLinenumberEnd: 1517
    functionName: CPL::DummyParse
    functionSourceFile: /src/vlc/modules/access/dcp/dcpparser.cpp
    functionUses: 1
    functionsReached:
    - xml_ReaderIsEmptyElement
    - XmlFile::ReadNextNode
    linkageType: ''
    returnType: int
    signature: int CPL::DummyParse(string p_node, int p_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 190
    functionName: demux_sys_t::demux_sys_t
    functionSourceFile: /src/vlc/modules/access/dcp/dcp.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void demux_sys_t()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/access/dcp/dcp.cpp:199,1
    - Dst: size
      Src: /src/vlc/modules/access/dcp/dcp.cpp:205,1
    - Dst: size
      Src: /src/vlc/modules/access/dcp/dcp.cpp:211,1
    - Dst: size
      Src: /src/vlc/modules/access/dcp/dcp.cpp:220,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 226
    functionName: ~demux_sys_t()
    functionSourceFile: /src/vlc/modules/access/dcp/dcp.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void ~demux_sys_t()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 190
    functionName: demux_sys_t::demux_sys_t
    functionSourceFile: /src/vlc/modules/access/dcp/dcp.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void demux_sys_t()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/access/dcp/dcp.cpp:199,1
    - Dst: size
      Src: /src/vlc/modules/access/dcp/dcp.cpp:205,1
    - Dst: size
      Src: /src/vlc/modules/access/dcp/dcp.cpp:211,1
    - Dst: size
      Src: /src/vlc/modules/access/dcp/dcp.cpp:220,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 226
    functionName: ~demux_sys_t()
    functionSourceFile: /src/vlc/modules/access/dcp/dcp.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void ~demux_sys_t()
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: demux_sys_t::demux_sys_t
      Src: /src/vlc/modules/access/dcp/dcp.cpp:325,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dcp/dcp.cpp:326,1
    - Dst: dcp_t::dcp_t
      Src: /src/vlc/modules/access/dcp/dcp.cpp:332,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dcp/dcp.cpp:333,1
    - Dst: dcpInit
      Src: /src/vlc/modules/access/dcp/dcp.cpp:341,1
    - Dst: demux_sys_t*::p_dcp::video_reels::size
      Src: /src/vlc/modules/access/dcp/dcp.cpp:346,1
    - Dst: EssenceType
      Src: /src/vlc/modules/access/dcp/dcp.cpp:348,1
    - Dst: filename::c_str
      Src: /src/vlc/modules/access/dcp/dcp.cpp:348,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcp.cpp:357,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcp.cpp:366,1
    - Dst: filename::c_str
      Src: /src/vlc/modules/access/dcp/dcp.cpp:366,1
    - Dst: JP2K::MXFSReader::MXFSReader
      Src: /src/vlc/modules/access/dcp/dcp.cpp:374,1
    - Dst: ASDCP_SUCCESS
      Src: /src/vlc/modules/access/dcp/dcp.cpp:380,1
    - Dst: JP2K::MXFSReader*::OpenRead
      Src: /src/vlc/modules/access/dcp/dcp.cpp:380,1
    - Dst: filename::c_str
      Src: /src/vlc/modules/access/dcp/dcp.cpp:380,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcp.cpp:381,1
    - Dst: filename::c_str
      Src: /src/vlc/modules/access/dcp/dcp.cpp:381,1
    - Dst: JP2K::MXFSReader*::FillPictureDescriptor
      Src: /src/vlc/modules/access/dcp/dcp.cpp:387,1
    - Dst: demux_sys_t*::v_videoReader::push_back
      Src: /src/vlc/modules/access/dcp/dcp.cpp:390,1
    - Dst: JP2K::MXFReader::MXFReader
      Src: /src/vlc/modules/access/dcp/dcp.cpp:392,1
    - Dst: ASDCP_SUCCESS
      Src: /src/vlc/modules/access/dcp/dcp.cpp:397,1
    - Dst: JP2K::MXFReader*::OpenRead
      Src: /src/vlc/modules/access/dcp/dcp.cpp:397,1
    - Dst: filename::c_str
      Src: /src/vlc/modules/access/dcp/dcp.cpp:397,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcp.cpp:398,1
    - Dst: filename::c_str
      Src: /src/vlc/modules/access/dcp/dcp.cpp:399,1
    - Dst: JP2K::MXFReader*::FillPictureDescriptor
      Src: /src/vlc/modules/access/dcp/dcp.cpp:405,1
    - Dst: demux_sys_t*::v_videoReader::push_back
      Src: /src/vlc/modules/access/dcp/dcp.cpp:408,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/dcp/dcp.cpp:410,1
    - Dst: fillVideoFmt
      Src: /src/vlc/modules/access/dcp/dcp.cpp:411,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcp.cpp:419,1
    - Dst: MPEG2::MXFReader::MXFReader
      Src: /src/vlc/modules/access/dcp/dcp.cpp:435,1
    - Dst: demux_sys_t*::v_videoReader::push_back
      Src: /src/vlc/modules/access/dcp/dcp.cpp:439,1
    - Dst: ASDCP_SUCCESS
      Src: /src/vlc/modules/access/dcp/dcp.cpp:448,1
    - Dst: MPEG2::MXFReader*::OpenRead
      Src: /src/vlc/modules/access/dcp/dcp.cpp:448,1
    - Dst: filename::c_str
      Src: /src/vlc/modules/access/dcp/dcp.cpp:448,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcp.cpp:449,1
    - Dst: filename::c_str
      Src: /src/vlc/modules/access/dcp/dcp.cpp:449,1
    - Dst: MPEG2::MXFReader*::FillVideoDescriptor
      Src: /src/vlc/modules/access/dcp/dcp.cpp:454,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/dcp/dcp.cpp:456,1
    - Dst: fillVideoFmt
      Src: /src/vlc/modules/access/dcp/dcp.cpp:457,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcp.cpp:465,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcp.cpp:480,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcp.cpp:487,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/dcp/dcp.cpp:493,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcp.cpp:494,1
    - Dst: demux_sys_t*::p_dcp::audio_reels::empty
      Src: /src/vlc/modules/access/dcp/dcp.cpp:503,1
    - Dst: EssenceType
      Src: /src/vlc/modules/access/dcp/dcp.cpp:505,1
    - Dst: filename::c_str
      Src: /src/vlc/modules/access/dcp/dcp.cpp:505,1
    - Dst: demux_sys_t*::p_dcp::audio_reels::size
      Src: /src/vlc/modules/access/dcp/dcp.cpp:510,1
    - Dst: EssenceType
      Src: /src/vlc/modules/access/dcp/dcp.cpp:514,1
    - Dst: filename::c_str
      Src: /src/vlc/modules/access/dcp/dcp.cpp:514,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcp.cpp:517,1
    - Dst: filename::c_str
      Src: /src/vlc/modules/access/dcp/dcp.cpp:518,1
    - Dst: PCM::MXFReader::MXFReader
      Src: /src/vlc/modules/access/dcp/dcp.cpp:523,1
    - Dst: ASDCP_SUCCESS
      Src: /src/vlc/modules/access/dcp/dcp.cpp:530,1
    - Dst: PCM::MXFReader*::OpenRead
      Src: /src/vlc/modules/access/dcp/dcp.cpp:530,1
    - Dst: filename::c_str
      Src: /src/vlc/modules/access/dcp/dcp.cpp:530,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcp.cpp:531,1
    - Dst: filename::c_str
      Src: /src/vlc/modules/access/dcp/dcp.cpp:532,1
    - Dst: PCM::MXFReader*::FillAudioDescriptor
      Src: /src/vlc/modules/access/dcp/dcp.cpp:538,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcp.cpp:543,1
    - Dst: demux_sys_t*::v_audioReader::push_back
      Src: /src/vlc/modules/access/dcp/dcp.cpp:550,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/dcp/dcp.cpp:553,1
    - Dst: PCM::CalcFrameBufferSize
      Src: /src/vlc/modules/access/dcp/dcp.cpp:563,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcp.cpp:565,1
    - Dst: aout_CheckChannelReorder
      Src: /src/vlc/modules/access/dcp/dcp.cpp:576,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/dcp/dcp.cpp:580,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcp.cpp:581,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcp.cpp:586,1
    - Dst: filename::c_str
      Src: /src/vlc/modules/access/dcp/dcp.cpp:587,1
    - Dst: CloseDcpAndMxf
      Src: /src/vlc/modules/access/dcp/dcp.cpp:598,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 209
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 600
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/dcp/dcp.cpp
    functionUses: 24
    functionsReached:
    - JP2K::MXFSReader*::FillPictureDescriptor
    - filename::c_str
    - demux_sys_t::demux_sys_t
    - JP2K::MXFSReader::MXFSReader
    - demux_sys_t*::v_videoReader::push_back
    - es_format_Init
    - PCM::MXFReader::MXFReader
    - msg_Err
    - PCM::MXFReader*::OpenRead
    - CloseDcpAndMxf
    - PCM::MXFReader*::FillAudioDescriptor
    - demux_sys_t*::p_dcp::audio_reels::size
    - dcp_t::dcp_t
    - ASDCP_SUCCESS
    - JP2K::MXFReader::MXFReader
    - PCM::CalcFrameBufferSize
    - JP2K::MXFSReader*::OpenRead
    - JP2K::MXFReader*::OpenRead
    - MPEG2::MXFReader::MXFReader
    - demux_sys_t*::p_dcp::audio_reels::empty
    - EssenceType
    - dcpInit
    - MPEG2::MXFReader*::FillVideoDescriptor
    - aout_CheckChannelReorder
    - demux_sys_t*::p_dcp::video_reels::size
    - demux_sys_t*::v_audioReader::push_back
    - MPEG2::MXFReader*::OpenRead
    - es_out_Add
    - JP2K::MXFReader*::FillPictureDescriptor
    - unlikely
    - fillVideoFmt
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *obj )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CloseDcpAndMxf
      Src: /src/vlc/modules/access/dcp/dcp.cpp:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 610
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/dcp/dcp.cpp
    functionUses: 66
    functionsReached:
    - CloseDcpAndMxf
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *obj )
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: demux_sys_t*::v_videoReader::size
      Src: /src/vlc/modules/access/dcp/dcp.cpp:628,1
    - Dst: demux_sys_t*::p_dcp::audio_reels::empty
      Src: /src/vlc/modules/access/dcp/dcp.cpp:639,1
    - Dst: demux_sys_t*::v_audioReader::size
      Src: /src/vlc/modules/access/dcp/dcp.cpp:641,1
    - Dst: demux_sys_t*::p_dcp::video_reels::size
      Src: /src/vlc/modules/access/dcp/dcp.cpp:654,1
    - Dst: ASDCP_SUCCESS
      Src: /src/vlc/modules/access/dcp/dcp.cpp:657,1
    - Dst: AESDecContext::InitKey
      Src: /src/vlc/modules/access/dcp/dcp.cpp:657,1
    - Dst: p_key::getKey
      Src: /src/vlc/modules/access/dcp/dcp.cpp:657,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcp.cpp:659,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/dcp/dcp.cpp:670,1
    - Dst: ASDCP_SUCCESS
      Src: /src/vlc/modules/access/dcp/dcp.cpp:673,1
    - Dst: JP2K::FrameBuffer::SetData
      Src: /src/vlc/modules/access/dcp/dcp.cpp:674,1
    - Dst: ASDCP_SUCCESS
      Src: /src/vlc/modules/access/dcp/dcp.cpp:677,1
    - Dst: p_PicMXFSReader::ReadFrame
      Src: /src/vlc/modules/access/dcp/dcp.cpp:678,1
    - Dst: JP2K::FrameBuffer::SetData
      Src: /src/vlc/modules/access/dcp/dcp.cpp:679,1
    - Dst: ASDCP_SUCCESS
      Src: /src/vlc/modules/access/dcp/dcp.cpp:683,1
    - Dst: p_PicMXFReader::ReadFrame
      Src: /src/vlc/modules/access/dcp/dcp.cpp:684,1
    - Dst: JP2K::FrameBuffer::SetData
      Src: /src/vlc/modules/access/dcp/dcp.cpp:685,1
    - Dst: JP2K::FrameBuffer::Size
      Src: /src/vlc/modules/access/dcp/dcp.cpp:689,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/dcp/dcp.cpp:694,1
    - Dst: ASDCP_SUCCESS
      Src: /src/vlc/modules/access/dcp/dcp.cpp:697,1
    - Dst: MPEG2::FrameBuffer::SetData
      Src: /src/vlc/modules/access/dcp/dcp.cpp:698,1
    - Dst: ASDCP_SUCCESS
      Src: /src/vlc/modules/access/dcp/dcp.cpp:701,1
    - Dst: p_VideoMXFReader::ReadFrame
      Src: /src/vlc/modules/access/dcp/dcp.cpp:702,1
    - Dst: MPEG2::FrameBuffer::SetData
      Src: /src/vlc/modules/access/dcp/dcp.cpp:703,1
    - Dst: MPEG2::FrameBuffer::Size
      Src: /src/vlc/modules/access/dcp/dcp.cpp:707,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcp.cpp:711,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/access/dcp/dcp.cpp:715,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/access/dcp/dcp.cpp:716,1
    - Dst: demux_sys_t*::p_dcp::audio_reels::empty
      Src: /src/vlc/modules/access/dcp/dcp.cpp:718,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/dcp/dcp.cpp:721,1
    - Dst: demux_sys_t*::p_dcp::audio_reels::size
      Src: /src/vlc/modules/access/dcp/dcp.cpp:726,1
    - Dst: ASDCP_SUCCESS
      Src: /src/vlc/modules/access/dcp/dcp.cpp:729,1
    - Dst: InitKey
      Src: /src/vlc/modules/access/dcp/dcp.cpp:729,1
    - Dst: p_key::getKey
      Src: /src/vlc/modules/access/dcp/dcp.cpp:729,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcp.cpp:731,1
    - Dst: ASDCP_SUCCESS
      Src: /src/vlc/modules/access/dcp/dcp.cpp:736,1
    - Dst: PCM::FrameBuffer::SetData
      Src: /src/vlc/modules/access/dcp/dcp.cpp:737,1
    - Dst: ASDCP_SUCCESS
      Src: /src/vlc/modules/access/dcp/dcp.cpp:741,1
    - Dst: p_AudioMXFReader::ReadFrame
      Src: /src/vlc/modules/access/dcp/dcp.cpp:742,1
    - Dst: PCM::FrameBuffer::SetData
      Src: /src/vlc/modules/access/dcp/dcp.cpp:743,1
    - Dst: aout_ChannelReorder
      Src: /src/vlc/modules/access/dcp/dcp.cpp:748,1
    - Dst: PCM::FrameBuffer::Size
      Src: /src/vlc/modules/access/dcp/dcp.cpp:752,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/access/dcp/dcp.cpp:753,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/access/dcp/dcp.cpp:754,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcp.cpp:757,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/dcp/dcp.cpp:762,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/dcp/dcp.cpp:764,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/dcp/dcp.cpp:766,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcp.cpp:773,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/dcp/dcp.cpp:776,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/dcp/dcp.cpp:778,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 117
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 780
    functionName: Demux
    functionSourceFile: /src/vlc/modules/access/dcp/dcp.cpp
    functionUses: 1
    functionsReached:
    - p_PicMXFSReader::ReadFrame
    - p_key::getKey
    - JP2K::FrameBuffer::SetData
    - block_Alloc
    - MPEG2::FrameBuffer::SetData
    - es_out_Send
    - AESDecContext::InitKey
    - p_PicMXFReader::ReadFrame
    - msg_Err
    - vlc_tick_from_samples
    - demux_sys_t*::p_dcp::audio_reels::size
    - ASDCP_SUCCESS
    - aout_ChannelReorder
    - JP2K::FrameBuffer::Size
    - demux_sys_t*::p_dcp::audio_reels::empty
    - PCM::FrameBuffer::SetData
    - PCM::FrameBuffer::Size
    - InitKey
    - MPEG2::FrameBuffer::Size
    - demux_sys_t*::v_videoReader::size
    - p_AudioMXFReader::ReadFrame
    - es_out_SetPCR
    - block_Release
    - demux_sys_t*::v_audioReader::size
    - demux_sys_t*::p_dcp::video_reels::size
    - p_VideoMXFReader::ReadFrame
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/dcp/dcp.cpp:795,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dcp/dcp.cpp:800,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dcp/dcp.cpp:811,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dcp/dcp.cpp:815,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dcp/dcp.cpp:821,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dcp/dcp.cpp:826,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/access/dcp/dcp.cpp:827,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dcp/dcp.cpp:831,1
    - Dst: std::max<vlc_tick_t>
      Src: /src/vlc/modules/access/dcp/dcp.cpp:831,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dcp/dcp.cpp:835,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dcp/dcp.cpp:836,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/dcp/dcp.cpp:838,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/access/dcp/dcp.cpp:839,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dcp/dcp.cpp:842,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/dcp/dcp.cpp:843,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/dcp/dcp.cpp:843,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dcp/dcp.cpp:848,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 3
    argNames:
    - p_demux
    - query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 853
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/dcp/dcp.cpp
    functionUses: 44
    functionsReached:
    - es_out_Control
    - var_InheritInteger
    - vlc_tick_from_sec
    - VLC_TICK_FROM_MS
    - va_arg
    - msg_Warn
    - std::max<vlc_tick_t>
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int query, va_list args )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - fmt
    - width
    - height
    - frame_rate_num
    - frame_rate_denom
    argTypes:
    - video_format_t*
    - unsigned int
    - unsigned int
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 875
    functionName: fillVideoFmt
    functionSourceFile: /src/vlc/modules/access/dcp/dcp.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fillVideoFmt( video_format_t * fmt, unsigned int width, unsigned
      int height, unsigned int frame_rate_num, unsigned int frame_rate_denom )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: demux_sys_t*::v_videoReader::size
      Src: /src/vlc/modules/access/dcp/dcp.cpp:892,1
    - Dst: p_PicMXFReader::Close
      Src: /src/vlc/modules/access/dcp/dcp.cpp:895,1
    - Dst: demux_sys_t*::v_videoReader::size
      Src: /src/vlc/modules/access/dcp/dcp.cpp:899,1
    - Dst: p_PicMXFSReader::Close
      Src: /src/vlc/modules/access/dcp/dcp.cpp:902,1
    - Dst: demux_sys_t*::v_videoReader::size
      Src: /src/vlc/modules/access/dcp/dcp.cpp:906,1
    - Dst: p_VideoMXFReader::Close
      Src: /src/vlc/modules/access/dcp/dcp.cpp:909,1
    - Dst: demux_sys_t*::v_audioReader::size
      Src: /src/vlc/modules/access/dcp/dcp.cpp:916,1
    - Dst: p_AudioMXFReader::Close
      Src: /src/vlc/modules/access/dcp/dcp.cpp:919,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 923
    functionName: CloseDcpAndMxf
    functionSourceFile: /src/vlc/modules/access/dcp/dcp.cpp
    functionUses: 2
    functionsReached:
    - p_AudioMXFReader::Close
    - demux_sys_t*::v_audioReader::size
    - p_PicMXFReader::Close
    - p_PicMXFSReader::Close
    - p_VideoMXFReader::Close
    - demux_sys_t*::v_videoReader::size
    linkageType: ''
    returnType: void
    signature: void CloseDcpAndMxf( demux_t *p_demux )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rbegin
      Src: /src/vlc/modules/access/dcp/dcp.cpp:944,1
    - Dst: dcp_t*::path::append
      Src: /src/vlc/modules/access/dcp/dcp.cpp:945,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dcp/dcp.cpp:948,1
    - Dst: parseXML
      Src: /src/vlc/modules/access/dcp/dcp.cpp:949,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dcp/dcp.cpp:952,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 955
    functionName: dcpInit
    functionSourceFile: /src/vlc/modules/access/dcp/dcp.cpp
    functionUses: 1
    functionsReached:
    - rbegin
    - msg_Dbg
    - parseXML
    - dcp_t*::path::append
    linkageType: ''
    returnType: int
    signature: int dcpInit ( demux_t *p_demux )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_opendir
      Src: /src/vlc/modules/access/dcp/dcp.cpp:974,1
    - Dst: dcp_t*::path::c_str
      Src: /src/vlc/modules/access/dcp/dcp.cpp:974,1
    - Dst: vlc_readdir
      Src: /src/vlc/modules/access/dcp/dcp.cpp:977,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/dcp/dcp.cpp:979,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/dcp/dcp.cpp:979,1
    - Dst: std::string::append
      Src: /src/vlc/modules/access/dcp/dcp.cpp:983,1
    - Dst: vlc_closedir
      Src: /src/vlc/modules/access/dcp/dcp.cpp:987,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcp.cpp:990,1
    - Dst: dcp_t*::path::c_str
      Src: /src/vlc/modules/access/dcp/dcp.cpp:990,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/access/dcp/dcp.cpp:993,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dcp/dcp.cpp:994,1
    - Dst: dcp_t*::path::c_str
      Src: /src/vlc/modules/access/dcp/dcp.cpp:994,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 966
    functionDepth: 2
    functionLinenumber: 966
    functionLinenumberEnd: 997
    functionName: assetmapPath
    functionSourceFile: /src/vlc/modules/access/dcp/dcp.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - vlc_closedir
    - dcp_t*::path::c_str
    - msg_Err
    - std::string::append
    - strcasecmp
    - vlc_readdir
    - vlc_opendir
    linkageType: ''
    returnType: std::string
    signature: std::string assetmapPath( demux_t * p_demux )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assetmapPath
      Src: /src/vlc/modules/access/dcp/dcp.cpp:1010,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/access/dcp/dcp.cpp:1012,1
    - Dst: AssetMap::AssetMap
      Src: /src/vlc/modules/access/dcp/dcp.cpp:1017,1
    - Dst: AssetMap*::Parse
      Src: /src/vlc/modules/access/dcp/dcp.cpp:1018,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1005
    functionDepth: 3
    functionLinenumber: 1005
    functionLinenumberEnd: 1023
    functionName: parseXML
    functionSourceFile: /src/vlc/modules/access/dcp/dcp.cpp
    functionUses: 1
    functionsReached:
    - std::string::empty
    - assetmapPath
    - AssetMap*::Parse
    - AssetMap::AssetMap
    linkageType: ''
    returnType: int
    signature: int parseXML ( demux_t * p_demux )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/access/mms/mmsh.c:78,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/mms/mmsh.c:81,1
    - Dst: vlc_getProxyUrl
      Src: /src/vlc/modules/access/mms/mmsh.c:93,1
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/access/mms/mmsh.c:97,1
    - Dst: free
      Src: /src/vlc/modules/access/mms/mmsh.c:98,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/mms/mmsh.c:103,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/mms/mmsh.c:104,1
    - Dst: free
      Src: /src/vlc/modules/access/mms/mmsh.c:105,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmsh.c:111,1
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/access/mms/mmsh.c:116,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmsh.c:120,1
    - Dst: Describe
      Src: /src/vlc/modules/access/mms/mmsh.c:126,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmsh.c:132,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/mms/mmsh.c:135,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/mms/mmsh.c:136,1
    - Dst: free
      Src: /src/vlc/modules/access/mms/mmsh.c:137,1
    - Dst: Start
      Src: /src/vlc/modules/access/mms/mmsh.c:142,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmsh.c:144,1
    - Dst: free
      Src: /src/vlc/modules/access/mms/mmsh.c:145,1
    - Dst: ACCESS_SET_CALLBACKS
      Src: /src/vlc/modules/access/mms/mmsh.c:149,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/mms/mmsh.c:154,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/mms/mmsh.c:155,1
    - Dst: free
      Src: /src/vlc/modules/access/mms/mmsh.c:156,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 158
    functionName: MMSHOpen
    functionSourceFile: /src/vlc/modules/access/mms/mmsh.c
    functionUses: 0
    functionsReached:
    - vlc_getProxyUrl
    - vlc_UrlParse
    - Describe
    - msg_Err
    - calloc
    - free
    - msg_Dbg
    - Start
    - msg_Warn
    - ACCESS_SET_CALLBACKS
    - unlikely
    - vlc_UrlClean
    linkageType: ''
    returnType: int
    signature: int MMSHOpen( stream_t *p_access )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Stop
      Src: /src/vlc/modules/access/mms/mmsh.c:167,1
    - Dst: free
      Src: /src/vlc/modules/access/mms/mmsh.c:169,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/mms/mmsh.c:172,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/mms/mmsh.c:173,1
    - Dst: free
      Src: /src/vlc/modules/access/mms/mmsh.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 175
    functionName: MMSHClose
    functionSourceFile: /src/vlc/modules/access/mms/mmsh.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_UrlClean
    - Stop
    linkageType: ''
    returnType: void
    signature: void MMSHClose ( stream_t *p_access )
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/mms/mmsh.c:190,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/mms/mmsh.c:195,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/mms/mmsh.c:201,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/mms/mmsh.c:207,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/mms/mmsh.c:215,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/mms/mmsh.c:216,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/mms/mmsh.c:216,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/mms/mmsh.c:220,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/mms/mmsh.c:221,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/mms/mmsh.c:230,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/mms/mmsh.c:231,1
    - Dst: assert
      Src: /src/vlc/modules/access/mms/mmsh.c:238,1
    - Dst: assert
      Src: /src/vlc/modules/access/mms/mmsh.c:246,1
    - Dst: Stop
      Src: /src/vlc/modules/access/mms/mmsh.c:260,1
    - Dst: Seek
      Src: /src/vlc/modules/access/mms/mmsh.c:261,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/mms/mmsh.c:266,1
    - Dst: Stop
      Src: /src/vlc/modules/access/mms/mmsh.c:268,1
    - Dst: Seek
      Src: /src/vlc/modules/access/mms/mmsh.c:270,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 65
    argCount: 3
    argNames:
    - p_access
    - i_query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts:
    - condition: ( !b_bool )
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/vlc/modules/access/mms/mmsh.c
    - condition: ( b_bool )
      pos:
        line_end: 245
        line_start: 245
        source_file: /src/vlc/modules/access/mms/mmsh.c
    constantsTouched: []
    func_position:
      end: 277
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 277
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/mms/mmsh.c
    functionUses: 44
    functionsReached:
    - assert
    - var_InheritInteger
    - VLC_TICK_FROM_MS
    - Seek
    - Stop
    - va_arg
    linkageType: ''
    returnType: int
    signature: int Control( stream_t *p_access, int i_query, va_list args )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmsh.c:289,1
    - Dst: Stop
      Src: /src/vlc/modules/access/mms/mmsh.c:294,1
    - Dst: Start
      Src: /src/vlc/modules/access/mms/mmsh.c:295,1
    - Dst: GetPacket
      Src: /src/vlc/modules/access/mms/mmsh.c:299,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/mms/mmsh.c:306,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - p_access
    - i_pos
    argTypes:
    - stream_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 313
    functionName: Seek
    functionSourceFile: /src/vlc/modules/access/mms/mmsh.c
    functionUses: 13
    functionsReached:
    - Stop
    - msg_Dbg
    - msg_Warn
    - Start
    - GetPacket
    linkageType: ''
    returnType: int
    signature: int Seek( stream_t *p_access, uint64_t i_pos )
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/mms/mmsh.c:328,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/mms/mmsh.c:332,1
    - Dst: __MAX
      Src: /src/vlc/modules/access/mms/mmsh.c:337,1
    - Dst: __MAX
      Src: /src/vlc/modules/access/mms/mmsh.c:344,1
    - Dst: __MAX
      Src: /src/vlc/modules/access/mms/mmsh.c:345,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/mms/mmsh.c:347,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/mms/mmsh.c:352,1
    - Dst: memset
      Src: /src/vlc/modules/access/mms/mmsh.c:354,1
    - Dst: GetPacket
      Src: /src/vlc/modules/access/mms/mmsh.c:363,1
    - Dst: Restart
      Src: /src/vlc/modules/access/mms/mmsh.c:369,1
    - Dst: Reset
      Src: /src/vlc/modules/access/mms/mmsh.c:371,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 2
    argNames:
    - p_access
    - eof
    argTypes:
    - stream_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 386
    functionName: Block
    functionSourceFile: /src/vlc/modules/access/mms/mmsh.c
    functionUses: 6
    functionsReached:
    - memset
    - Restart
    - Reset
    - memcpy
    - __MAX
    - block_Alloc
    - GetPacket
    linkageType: ''
    returnType: block_t
    signature: block_t *Block( stream_t *p_access, bool *restrict eof )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmsh.c:394,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmsh.c:398,1
    - Dst: Stop
      Src: /src/vlc/modules/access/mms/mmsh.c:399,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmsh.c:402,1
    - Dst: Describe
      Src: /src/vlc/modules/access/mms/mmsh.c:403,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmsh.c:405,1
    - Dst: free
      Src: /src/vlc/modules/access/mms/mmsh.c:408,1
    - Dst: Start
      Src: /src/vlc/modules/access/mms/mmsh.c:411,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmsh.c:413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 417
    functionName: Restart
    functionSourceFile: /src/vlc/modules/access/mms/mmsh.c
    functionUses: 1
    functionsReached:
    - Describe
    - msg_Err
    - free
    - Stop
    - msg_Dbg
    - Start
    linkageType: ''
    returnType: int
    signature: int Restart( stream_t *p_access )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmsh.c:424,1
    - Dst: GetHeader
      Src: /src/vlc/modules/access/mms/mmsh.c:434,1
    - Dst: asf_HeaderParse
      Src: /src/vlc/modules/access/mms/mmsh.c:438,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmsh.c:440,1
    - Dst: asf_StreamSelect
      Src: /src/vlc/modules/access/mms/mmsh.c:444,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/mms/mmsh.c:445,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/access/mms/mmsh.c:446,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/access/mms/mmsh.c:447,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/access/mms/mmsh.c:448,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/mms/mmsh.c:461,1
    - Dst: Restart
      Src: /src/vlc/modules/access/mms/mmsh.c:462,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 469
    functionName: Reset
    functionSourceFile: /src/vlc/modules/access/mms/mmsh.c
    functionUses: 21
    functionsReached:
    - GetHeader
    - Restart
    - var_InheritInteger
    - var_InheritBool
    - asf_StreamSelect
    - asf_HeaderParse
    - msg_Dbg
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int Reset( stream_t *p_access )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_memstream_open
      Src: /src/vlc/modules/access/mms/mmsh.c:474,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/access/mms/mmsh.c:476,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/access/mms/mmsh.c:478,1
    - Dst: vlc_memstream_putc
      Src: /src/vlc/modules/access/mms/mmsh.c:481,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/access/mms/mmsh.c:483,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/access/mms/mmsh.c:485,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/access/mms/mmsh.c:486,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/access/mms/mmsh.c:488,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/mms/mmsh.c:499,1
    - Dst: vlc_b64_encode
      Src: /src/vlc/modules/access/mms/mmsh.c:501,1
    - Dst: free
      Src: /src/vlc/modules/access/mms/mmsh.c:502,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/access/mms/mmsh.c:505,1
    - Dst: free
      Src: /src/vlc/modules/access/mms/mmsh.c:507,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/access/mms/mmsh.c:512,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/access/mms/mmsh.c:513,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - sys
    - stream
    argTypes:
    - access_sys_t*
    - struct vlc_memstream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 514
    functionName: WriteRequestLine
    functionSourceFile: /src/vlc/modules/access/mms/mmsh.c
    functionUses: 0
    functionsReached:
    - asprintf
    - vlc_memstream_puts
    - vlc_memstream_open
    - vlc_memstream_printf
    - free
    - vlc_memstream_putc
    - vlc_b64_encode
    linkageType: ''
    returnType: void
    signature: "void WriteRequestLine( const access_sys_t *sys,\n                              struct
      vlc_memstream *restrict stream )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/access/mms/mmsh.c:523,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/access/mms/mmsh.c:525,1
    - Dst: vlc_memstream_close
      Src: /src/vlc/modules/access/mms/mmsh.c:527,1
    - Dst: vlc_tls_SocketOpenTCP
      Src: /src/vlc/modules/access/mms/mmsh.c:530,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/mms/mmsh.c:530,1
    - Dst: free
      Src: /src/vlc/modules/access/mms/mmsh.c:534,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmsh.c:538,1
    - Dst: vlc_tls_Write
      Src: /src/vlc/modules/access/mms/mmsh.c:540,1
    - Dst: free
      Src: /src/vlc/modules/access/mms/mmsh.c:541,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmsh.c:544,1
    - Dst: vlc_tls_Close
      Src: /src/vlc/modules/access/mms/mmsh.c:545,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - p_access
    - stream
    argTypes:
    - stream_t*
    - struct vlc_memstream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 551
    functionName: OpenConnection
    functionSourceFile: /src/vlc/modules/access/mms/mmsh.c
    functionUses: 0
    functionsReached:
    - vlc_memstream_puts
    - vlc_tls_Write
    - msg_Err
    - free
    - msg_Dbg
    - VLC_OBJECT
    - vlc_memstream_close
    - vlc_tls_Close
    - vlc_tls_SocketOpenTCP
    linkageType: ''
    returnType: int
    signature: "int OpenConnection( stream_t *p_access,\n                           struct
      vlc_memstream *restrict stream )"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: GenerateGuid
      Src: /src/vlc/modules/access/mms/mmsh.c:573,1
    - Dst: WriteRequestLine
      Src: /src/vlc/modules/access/mms/mmsh.c:575,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/access/mms/mmsh.c:577,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/access/mms/mmsh.c:581,1
    - Dst: GUID_PRINT
      Src: /src/vlc/modules/access/mms/mmsh.c:582,1
    - Dst: OpenConnection
      Src: /src/vlc/modules/access/mms/mmsh.c:584,1
    - Dst: vlc_tls_GetLine
      Src: /src/vlc/modules/access/mms/mmsh.c:588,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmsh.c:591,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/mms/mmsh.c:595,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmsh.c:597,1
    - Dst: free
      Src: /src/vlc/modules/access/mms/mmsh.c:598,1
    - Dst: atoi
      Src: /src/vlc/modules/access/mms/mmsh.c:601,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmsh.c:604,1
    - Dst: free
      Src: /src/vlc/modules/access/mms/mmsh.c:605,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmsh.c:609,1
    - Dst: free
      Src: /src/vlc/modules/access/mms/mmsh.c:610,1
    - Dst: vlc_tls_GetLine
      Src: /src/vlc/modules/access/mms/mmsh.c:613,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmsh.c:617,1
    - Dst: free
      Src: /src/vlc/modules/access/mms/mmsh.c:618,1
    - Dst: free
      Src: /src/vlc/modules/access/mms/mmsh.c:624,1
    - Dst: strchr
      Src: /src/vlc/modules/access/mms/mmsh.c:628,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmsh.c:631,1
    - Dst: free
      Src: /src/vlc/modules/access/mms/mmsh.c:632,1
    - Dst: free
      Src: /src/vlc/modules/access/mms/mmsh.c:633,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/mms/mmsh.c:641,1
    - Dst: strstr
      Src: /src/vlc/modules/access/mms/mmsh.c:643,1
    - Dst: strstr
      Src: /src/vlc/modules/access/mms/mmsh.c:646,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmsh.c:648,1
    - Dst: strstr
      Src: /src/vlc/modules/access/mms/mmsh.c:651,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmsh.c:653,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/mms/mmsh.c:658,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/mms/mmsh.c:663,1
    - Dst: free
      Src: /src/vlc/modules/access/mms/mmsh.c:665,1
    - Dst: vlc_uri_resolve
      Src: /src/vlc/modules/access/mms/mmsh.c:666,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/mms/mmsh.c:668,1
    - Dst: atoi
      Src: /src/vlc/modules/access/mms/mmsh.c:670,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmsh.c:671,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/mms/mmsh.c:673,1
    - Dst: strcasestr
      Src: /src/vlc/modules/access/mms/mmsh.c:675,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmsh.c:677,1
    - Dst: free
      Src: /src/vlc/modules/access/mms/mmsh.c:683,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmsh.c:691,1
    - Dst: vlc_tls_Close
      Src: /src/vlc/modules/access/mms/mmsh.c:692,1
    - Dst: free
      Src: /src/vlc/modules/access/mms/mmsh.c:698,1
    - Dst: GetHeader
      Src: /src/vlc/modules/access/mms/mmsh.c:701,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmsh.c:704,1
    - Dst: vlc_tls_Close
      Src: /src/vlc/modules/access/mms/mmsh.c:708,1
    - Dst: asf_HeaderParse
      Src: /src/vlc/modules/access/mms/mmsh.c:716,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmsh.c:718,1
    - Dst: asf_StreamSelect
      Src: /src/vlc/modules/access/mms/mmsh.c:725,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/mms/mmsh.c:726,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/access/mms/mmsh.c:727,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/access/mms/mmsh.c:728,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/access/mms/mmsh.c:729,1
    - Dst: vlc_tls_Close
      Src: /src/vlc/modules/access/mms/mmsh.c:735,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 116
    argCount: 2
    argNames:
    - p_access
    - ppsz_location
    argTypes:
    - stream_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 556
    functionDepth: 3
    functionLinenumber: 556
    functionLinenumberEnd: 739
    functionName: Describe
    functionSourceFile: /src/vlc/modules/access/mms/mmsh.c
    functionUses: 2
    functionsReached:
    - vlc_uri_resolve
    - atoi
    - strchr
    - asf_HeaderParse
    - OpenConnection
    - vlc_tls_GetLine
    - asf_StreamSelect
    - msg_Err
    - msg_Dbg
    - strstr
    - strcasecmp
    - msg_Warn
    - strcasestr
    - vlc_tls_Close
    - GenerateGuid
    - var_InheritInteger
    - var_InheritBool
    - vlc_memstream_printf
    - strncmp
    - GetHeader
    - free
    - WriteRequestLine
    - GUID_PRINT
    linkageType: ''
    returnType: int
    signature: int Describe( stream_t  *p_access, char **ppsz_location )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/mms/mmsh.c:748,1
    - Dst: GetPacket
      Src: /src/vlc/modules/access/mms/mmsh.c:753,1
    - Dst: xrealloc
      Src: /src/vlc/modules/access/mms/mmsh.c:761,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/mms/mmsh.c:762,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmsh.c:766,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - p_access
    - i_content_length
    argTypes:
    - stream_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 767
    functionName: GetHeader
    functionSourceFile: /src/vlc/modules/access/mms/mmsh.c
    functionUses: 2
    functionsReached:
    - xrealloc
    - memcpy
    - free
    - msg_Dbg
    - GetPacket
    linkageType: ''
    returnType: void
    signature: void GetHeader( stream_t *p_access, int i_content_length )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmsh.c:780,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmsh.c:792,1
    - Dst: WriteRequestLine
      Src: /src/vlc/modules/access/mms/mmsh.c:796,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/access/mms/mmsh.c:798,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/access/mms/mmsh.c:800,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/access/mms/mmsh.c:803,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/access/mms/mmsh.c:806,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/access/mms/mmsh.c:807,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/access/mms/mmsh.c:809,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/access/mms/mmsh.c:810,1
    - Dst: GUID_PRINT
      Src: /src/vlc/modules/access/mms/mmsh.c:811,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/access/mms/mmsh.c:812,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/access/mms/mmsh.c:815,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/access/mms/mmsh.c:821,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/access/mms/mmsh.c:824,1
    - Dst: OpenConnection
      Src: /src/vlc/modules/access/mms/mmsh.c:826,1
    - Dst: vlc_tls_GetLine
      Src: /src/vlc/modules/access/mms/mmsh.c:829,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmsh.c:832,1
    - Dst: atoi
      Src: /src/vlc/modules/access/mms/mmsh.c:836,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmsh.c:838,1
    - Dst: free
      Src: /src/vlc/modules/access/mms/mmsh.c:839,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmsh.c:842,1
    - Dst: free
      Src: /src/vlc/modules/access/mms/mmsh.c:843,1
    - Dst: vlc_tls_GetLine
      Src: /src/vlc/modules/access/mms/mmsh.c:848,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmsh.c:851,1
    - Dst: free
      Src: /src/vlc/modules/access/mms/mmsh.c:856,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmsh.c:859,1
    - Dst: free
      Src: /src/vlc/modules/access/mms/mmsh.c:860,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 2
    argNames:
    - p_access
    - i_pos
    argTypes:
    - stream_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 773
    functionDepth: 3
    functionLinenumber: 773
    functionLinenumberEnd: 867
    functionName: Start
    functionSourceFile: /src/vlc/modules/access/mms/mmsh.c
    functionUses: 26
    functionsReached:
    - atoi
    - vlc_tls_GetLine
    - vlc_memstream_puts
    - vlc_memstream_printf
    - msg_Err
    - free
    - GUID_PRINT
    - msg_Dbg
    - WriteRequestLine
    - OpenConnection
    linkageType: ''
    returnType: int
    signature: int Start( stream_t *p_access, uint64_t i_pos )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmsh.c:876,1
    - Dst: vlc_tls_Close
      Src: /src/vlc/modules/access/mms/mmsh.c:879,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 872
    functionDepth: 1
    functionLinenumber: 872
    functionLinenumberEnd: 882
    functionName: Stop
    functionSourceFile: /src/vlc/modules/access/mms/mmsh.c
    functionUses: 16
    functionsReached:
    - msg_Dbg
    - vlc_tls_Close
    linkageType: ''
    returnType: void
    signature: void Stop( stream_t *p_access )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/access/mms/mmsh.c:893,1
    - Dst: vlc_tls_Read
      Src: /src/vlc/modules/access/mms/mmsh.c:901,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmsh.c:903,1
    - Dst: GetWLE
      Src: /src/vlc/modules/access/mms/mmsh.c:907,1
    - Dst: GetWLE
      Src: /src/vlc/modules/access/mms/mmsh.c:908,1
    - Dst: vlc_tls_Read
      Src: /src/vlc/modules/access/mms/mmsh.c:914,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmsh.c:916,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/access/mms/mmsh.c:919,1
    - Dst: GetWLE
      Src: /src/vlc/modules/access/mms/mmsh.c:920,1
    - Dst: GetWLE
      Src: /src/vlc/modules/access/mms/mmsh.c:930,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmsh.c:934,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/mms/mmsh.c:946,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/mms/mmsh.c:951,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/mms/mmsh.c:958,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmsh.c:968,1
    - Dst: vlc_tls_Read
      Src: /src/vlc/modules/access/mms/mmsh.c:973,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmsh.c:976,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/mms/mmsh.c:984,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 2
    argNames:
    - p_access
    - p_ck
    argTypes:
    - stream_t*
    - chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 994
    functionName: GetPacket
    functionSourceFile: /src/vlc/modules/access/mms/mmsh.c
    functionUses: 3
    functionsReached:
    - GetWLE
    - vlc_tls_Read
    - memset
    - msg_Err
    - GetDWLE
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int GetPacket( stream_t * p_access, chunk_t *p_ck )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/vlc/modules/access/mms/mms.c:92,1
    - Dst: MMSTUOpen
      Src: /src/vlc/modules/access/mms/mms.c:93,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/mms/mms.c:94,1
    - Dst: MMSTUOpen
      Src: /src/vlc/modules/access/mms/mms.c:95,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/mms/mms.c:96,1
    - Dst: MMSHOpen
      Src: /src/vlc/modules/access/mms/mms.c:97,1
    - Dst: MMSTUOpen
      Src: /src/vlc/modules/access/mms/mms.c:99,1
    - Dst: MMSHOpen
      Src: /src/vlc/modules/access/mms/mms.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 104
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/mms/mms.c
    functionUses: 25
    functionsReached:
    - strncmp
    - MMSTUOpen
    - MMSHOpen
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MMSTUClose
      Src: /src/vlc/modules/access/mms/mms.c:117,1
    - Dst: MMSHClose
      Src: /src/vlc/modules/access/mms/mms.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 123
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/mms/mms.c
    functionUses: 71
    functionsReached:
    - MMSTUClose
    - MMSHClose
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/access/mms/mmstu.c:102,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/access/mms/mmstu.c:105,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/access/mms/mmstu.c:107,1
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/access/mms/mmstu.c:110,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmstu.c:113,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/mms/mmstu.c:114,1
    - Dst: free
      Src: /src/vlc/modules/access/mms/mmstu.c:115,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/mms/mmstu.c:126,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/mms/mmstu.c:130,1
    - Dst: MMSOpen
      Src: /src/vlc/modules/access/mms/mmstu.c:138,1
    - Dst: MMSOpen
      Src: /src/vlc/modules/access/mms/mmstu.c:140,1
    - Dst: MMSOpen
      Src: /src/vlc/modules/access/mms/mmstu.c:144,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmstu.c:149,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/mms/mmstu.c:150,1
    - Dst: free
      Src: /src/vlc/modules/access/mms/mmstu.c:151,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmstu.c:155,1
    - Dst: MMSStart
      Src: /src/vlc/modules/access/mms/mmstu.c:180,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmstu.c:182,1
    - Dst: MMSTUClose
      Src: /src/vlc/modules/access/mms/mmstu.c:183,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 57
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 188
    functionName: MMSTUOpen
    functionSourceFile: /src/vlc/modules/access/mms/mmstu.c
    functionUses: 1
    functionsReached:
    - vlc_UrlParse
    - MMSTUClose
    - MMSOpen
    - vlc_mutex_init
    - msg_Err
    - calloc
    - free
    - strncmp
    - msg_Dbg
    - var_CreateGetInteger
    - MMSStart
    - vlc_UrlClean
    linkageType: ''
    returnType: int
    signature: int MMSTUOpen( stream_t *p_access )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KeepAliveStop
      Src: /src/vlc/modules/access/mms/mmstu.c:197,1
    - Dst: MMSClose
      Src: /src/vlc/modules/access/mms/mmstu.c:200,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/mms/mmstu.c:203,1
    - Dst: free
      Src: /src/vlc/modules/access/mms/mmstu.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 206
    functionName: MMSTUClose
    functionSourceFile: /src/vlc/modules/access/mms/mmstu.c
    functionUses: 2
    functionsReached:
    - free
    - MMSClose
    - KeepAliveStop
    - vlc_UrlClean
    linkageType: ''
    returnType: void
    signature: void MMSTUClose( stream_t *p_access )
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/mms/mmstu.c:221,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/mms/mmstu.c:226,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/mms/mmstu.c:231,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/mms/mmstu.c:236,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/mms/mmstu.c:248,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/mms/mmstu.c:252,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/mms/mmstu.c:253,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/mms/mmstu.c:253,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/mms/mmstu.c:257,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/mms/mmstu.c:258,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/mms/mmstu.c:267,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/mms/mmstu.c:268,1
    - Dst: assert
      Src: /src/vlc/modules/access/mms/mmstu.c:275,1
    - Dst: assert
      Src: /src/vlc/modules/access/mms/mmstu.c:283,1
    - Dst: MMSStop
      Src: /src/vlc/modules/access/mms/mmstu.c:297,1
    - Dst: Seek
      Src: /src/vlc/modules/access/mms/mmstu.c:298,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/mms/mmstu.c:303,1
    - Dst: MMSStop
      Src: /src/vlc/modules/access/mms/mmstu.c:306,1
    - Dst: KeepAliveStart
      Src: /src/vlc/modules/access/mms/mmstu.c:307,1
    - Dst: KeepAliveStop
      Src: /src/vlc/modules/access/mms/mmstu.c:311,1
    - Dst: Seek
      Src: /src/vlc/modules/access/mms/mmstu.c:312,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 72
    argCount: 3
    argNames:
    - p_access
    - i_query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts:
    - condition: ( !b_bool )
      pos:
        line_end: 274
        line_start: 274
        source_file: /src/vlc/modules/access/mms/mmstu.c
    - condition: ( b_bool )
      pos:
        line_end: 282
        line_start: 282
        source_file: /src/vlc/modules/access/mms/mmstu.c
    constantsTouched: []
    func_position:
      end: 320
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 320
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/mms/mmstu.c
    functionUses: 44
    functionsReached:
    - assert
    - KeepAliveStop
    - var_InheritInteger
    - VLC_TICK_FROM_MS
    - Seek
    - KeepAliveStart
    - va_arg
    - MMSStop
    linkageType: ''
    returnType: int
    signature: int Control( stream_t *p_access, int i_query, va_list args )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmstu.c:355,1
    - Dst: MMSStop
      Src: /src/vlc/modules/access/mms/mmstu.c:357,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmstu.c:358,1
    - Dst: var_buffer_initwrite
      Src: /src/vlc/modules/access/mms/mmstu.c:361,1
    - Dst: var_buffer_add64
      Src: /src/vlc/modules/access/mms/mmstu.c:362,1
    - Dst: var_buffer_add32
      Src: /src/vlc/modules/access/mms/mmstu.c:363,1
    - Dst: var_buffer_add32
      Src: /src/vlc/modules/access/mms/mmstu.c:364,1
    - Dst: var_buffer_add8
      Src: /src/vlc/modules/access/mms/mmstu.c:365,1
    - Dst: var_buffer_add8
      Src: /src/vlc/modules/access/mms/mmstu.c:366,1
    - Dst: var_buffer_add8
      Src: /src/vlc/modules/access/mms/mmstu.c:367,1
    - Dst: var_buffer_add8
      Src: /src/vlc/modules/access/mms/mmstu.c:368,1
    - Dst: var_buffer_add32
      Src: /src/vlc/modules/access/mms/mmstu.c:369,1
    - Dst: mms_CommandSend
      Src: /src/vlc/modules/access/mms/mmstu.c:371,1
    - Dst: var_buffer_free
      Src: /src/vlc/modules/access/mms/mmstu.c:374,1
    - Dst: mms_HeaderMediaRead
      Src: /src/vlc/modules/access/mms/mmstu.c:379,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmstu.c:387,1
    - Dst: mms_HeaderMediaRead
      Src: /src/vlc/modules/access/mms/mmstu.c:394,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmstu.c:401,1
    - Dst: mms_HeaderMediaRead
      Src: /src/vlc/modules/access/mms/mmstu.c:407,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmstu.c:413,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 57
    argCount: 2
    argNames:
    - p_access
    - i_pos
    argTypes:
    - stream_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 419
    functionName: Seek
    functionSourceFile: /src/vlc/modules/access/mms/mmstu.c
    functionUses: 14
    functionsReached:
    - var_buffer_add8
    - var_buffer_initwrite
    - var_buffer_free
    - mms_HeaderMediaRead
    - var_buffer_add64
    - msg_Dbg
    - mms_CommandSend
    - var_buffer_add32
    - MMSStop
    linkageType: ''
    returnType: int
    signature: int Seek( stream_t * p_access, uint64_t i_pos )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/mms/mmstu.c:438,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/mms/mmstu.c:442,1
    - Dst: __MAX
      Src: /src/vlc/modules/access/mms/mmstu.c:446,1
    - Dst: __MAX
      Src: /src/vlc/modules/access/mms/mmstu.c:453,1
    - Dst: __MAX
      Src: /src/vlc/modules/access/mms/mmstu.c:454,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/mms/mmstu.c:456,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/mms/mmstu.c:461,1
    - Dst: memset
      Src: /src/vlc/modules/access/mms/mmstu.c:463,1
    - Dst: mms_HeaderMediaRead
      Src: /src/vlc/modules/access/mms/mmstu.c:470,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - p_access
    - eof
    argTypes:
    - stream_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 472
    functionName: Block
    functionSourceFile: /src/vlc/modules/access/mms/mmstu.c
    functionUses: 6
    functionsReached:
    - memset
    - memcpy
    - mms_HeaderMediaRead
    - __MAX
    - block_Alloc
    linkageType: ''
    returnType: block_t
    signature: block_t *Block( stream_t *p_access, bool *restrict eof )
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmstu.c:496,1
    - Dst: net_Connect
      Src: /src/vlc/modules/access/mms/mmstu.c:497,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmstu.c:500,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmstu.c:503,1
    - Dst: net_GetSockAddress
      Src: /src/vlc/modules/access/mms/mmstu.c:511,1
    - Dst: net_Close
      Src: /src/vlc/modules/access/mms/mmstu.c:514,1
    - Dst: net_ListenUDP1
      Src: /src/vlc/modules/access/mms/mmstu.c:518,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/mms/mmstu.c:518,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmstu.c:522,1
    - Dst: net_Close
      Src: /src/vlc/modules/access/mms/mmstu.c:523,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmstu.c:526,1
    - Dst: GenerateGuid
      Src: /src/vlc/modules/access/mms/mmstu.c:532,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmstu.c:533,1
    - Dst: GUID_PRINT
      Src: /src/vlc/modules/access/mms/mmstu.c:535,1
    - Dst: var_buffer_initwrite
      Src: /src/vlc/modules/access/mms/mmstu.c:556,1
    - Dst: var_buffer_add16
      Src: /src/vlc/modules/access/mms/mmstu.c:557,1
    - Dst: var_buffer_add16
      Src: /src/vlc/modules/access/mms/mmstu.c:558,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/mms/mmstu.c:559,1
    - Dst: GUID_PRINT
      Src: /src/vlc/modules/access/mms/mmstu.c:561,1
    - Dst: var_buffer_free
      Src: /src/vlc/modules/access/mms/mmstu.c:564,1
    - Dst: net_Close
      Src: /src/vlc/modules/access/mms/mmstu.c:565,1
    - Dst: var_buffer_addUTF16
      Src: /src/vlc/modules/access/mms/mmstu.c:569,1
    - Dst: free
      Src: /src/vlc/modules/access/mms/mmstu.c:570,1
    - Dst: mms_CommandSend
      Src: /src/vlc/modules/access/mms/mmstu.c:572,1
    - Dst: mms_CommandRead
      Src: /src/vlc/modules/access/mms/mmstu.c:579,1
    - Dst: var_buffer_free
      Src: /src/vlc/modules/access/mms/mmstu.c:581,1
    - Dst: MMSClose
      Src: /src/vlc/modules/access/mms/mmstu.c:582,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/access/mms/mmstu.c:586,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/access/mms/mmstu.c:587,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/access/mms/mmstu.c:588,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/access/mms/mmstu.c:589,1
    - Dst: GETUTF16
      Src: /src/vlc/modules/access/mms/mmstu.c:611,1
    - Dst: GETUTF16
      Src: /src/vlc/modules/access/mms/mmstu.c:612,1
    - Dst: GETUTF16
      Src: /src/vlc/modules/access/mms/mmstu.c:613,1
    - Dst: GETUTF16
      Src: /src/vlc/modules/access/mms/mmstu.c:614,1
    - Dst: var_buffer_reinitwrite
      Src: /src/vlc/modules/access/mms/mmstu.c:620,1
    - Dst: var_buffer_add32
      Src: /src/vlc/modules/access/mms/mmstu.c:621,1
    - Dst: var_buffer_add32
      Src: /src/vlc/modules/access/mms/mmstu.c:622,1
    - Dst: var_buffer_add32
      Src: /src/vlc/modules/access/mms/mmstu.c:623,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/mms/mmstu.c:626,1
    - Dst: var_buffer_free
      Src: /src/vlc/modules/access/mms/mmstu.c:631,1
    - Dst: MMSClose
      Src: /src/vlc/modules/access/mms/mmstu.c:632,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/mms/mmstu.c:638,1
    - Dst: var_buffer_free
      Src: /src/vlc/modules/access/mms/mmstu.c:640,1
    - Dst: MMSClose
      Src: /src/vlc/modules/access/mms/mmstu.c:641,1
    - Dst: var_buffer_addUTF16
      Src: /src/vlc/modules/access/mms/mmstu.c:645,1
    - Dst: var_buffer_add16
      Src: /src/vlc/modules/access/mms/mmstu.c:646,1
    - Dst: free
      Src: /src/vlc/modules/access/mms/mmstu.c:647,1
    - Dst: mms_CommandSend
      Src: /src/vlc/modules/access/mms/mmstu.c:649,1
    - Dst: mms_CommandRead
      Src: /src/vlc/modules/access/mms/mmstu.c:657,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmstu.c:660,1
    - Dst: var_buffer_free
      Src: /src/vlc/modules/access/mms/mmstu.c:662,1
    - Dst: MMSClose
      Src: /src/vlc/modules/access/mms/mmstu.c:663,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/mms/mmstu.c:668,1
    - Dst: var_buffer_reinitwrite
      Src: /src/vlc/modules/access/mms/mmstu.c:672,1
    - Dst: var_buffer_add64
      Src: /src/vlc/modules/access/mms/mmstu.c:673,1
    - Dst: var_buffer_addUTF16
      Src: /src/vlc/modules/access/mms/mmstu.c:681,1
    - Dst: mms_CommandSend
      Src: /src/vlc/modules/access/mms/mmstu.c:683,1
    - Dst: mms_CommandRead
      Src: /src/vlc/modules/access/mms/mmstu.c:691,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmstu.c:696,1
    - Dst: var_buffer_free
      Src: /src/vlc/modules/access/mms/mmstu.c:698,1
    - Dst: MMSClose
      Src: /src/vlc/modules/access/mms/mmstu.c:699,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmstu.c:704,1
    - Dst: var_buffer_free
      Src: /src/vlc/modules/access/mms/mmstu.c:707,1
    - Dst: MMSClose
      Src: /src/vlc/modules/access/mms/mmstu.c:708,1
    - Dst: var_buffer_free
      Src: /src/vlc/modules/access/mms/mmstu.c:714,1
    - Dst: MMSClose
      Src: /src/vlc/modules/access/mms/mmstu.c:715,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/access/mms/mmstu.c:720,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmstu.c:723,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmstu.c:726,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmstu.c:730,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/access/mms/mmstu.c:731,1
    - Dst: var_buffer_free
      Src: /src/vlc/modules/access/mms/mmstu.c:732,1
    - Dst: MMSClose
      Src: /src/vlc/modules/access/mms/mmstu.c:733,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/access/mms/mmstu.c:738,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/access/mms/mmstu.c:740,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/access/mms/mmstu.c:742,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/access/mms/mmstu.c:744,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/access/mms/mmstu.c:746,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/access/mms/mmstu.c:748,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmstu.c:750,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmstu.c:763,1
    - Dst: var_buffer_free
      Src: /src/vlc/modules/access/mms/mmstu.c:764,1
    - Dst: MMSClose
      Src: /src/vlc/modules/access/mms/mmstu.c:765,1
    - Dst: var_buffer_reinitwrite
      Src: /src/vlc/modules/access/mms/mmstu.c:771,1
    - Dst: var_buffer_add32
      Src: /src/vlc/modules/access/mms/mmstu.c:772,1
    - Dst: var_buffer_add32
      Src: /src/vlc/modules/access/mms/mmstu.c:773,1
    - Dst: var_buffer_add32
      Src: /src/vlc/modules/access/mms/mmstu.c:774,1
    - Dst: var_buffer_add32
      Src: /src/vlc/modules/access/mms/mmstu.c:775,1
    - Dst: var_buffer_add32
      Src: /src/vlc/modules/access/mms/mmstu.c:776,1
    - Dst: var_buffer_add32
      Src: /src/vlc/modules/access/mms/mmstu.c:777,1
    - Dst: var_buffer_add64
      Src: /src/vlc/modules/access/mms/mmstu.c:778,1
    - Dst: var_buffer_add32
      Src: /src/vlc/modules/access/mms/mmstu.c:779,1
    - Dst: var_buffer_add32
      Src: /src/vlc/modules/access/mms/mmstu.c:780,1
    - Dst: mms_CommandSend
      Src: /src/vlc/modules/access/mms/mmstu.c:781,1
    - Dst: mms_CommandRead
      Src: /src/vlc/modules/access/mms/mmstu.c:787,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmstu.c:791,1
    - Dst: var_buffer_free
      Src: /src/vlc/modules/access/mms/mmstu.c:794,1
    - Dst: MMSClose
      Src: /src/vlc/modules/access/mms/mmstu.c:795,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmstu.c:802,1
    - Dst: mms_HeaderMediaRead
      Src: /src/vlc/modules/access/mms/mmstu.c:805,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmstu.c:807,1
    - Dst: var_buffer_free
      Src: /src/vlc/modules/access/mms/mmstu.c:808,1
    - Dst: MMSClose
      Src: /src/vlc/modules/access/mms/mmstu.c:809,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmstu.c:814,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmstu.c:819,1
    - Dst: asf_HeaderParse
      Src: /src/vlc/modules/access/mms/mmstu.c:830,1
    - Dst: asf_StreamSelect
      Src: /src/vlc/modules/access/mms/mmstu.c:832,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/mms/mmstu.c:833,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/access/mms/mmstu.c:834,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/access/mms/mmstu.c:835,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/access/mms/mmstu.c:836,1
    - Dst: var_buffer_reinitwrite
      Src: /src/vlc/modules/access/mms/mmstu.c:842,1
    - Dst: var_buffer_add16
      Src: /src/vlc/modules/access/mms/mmstu.c:852,1
    - Dst: var_buffer_add16
      Src: /src/vlc/modules/access/mms/mmstu.c:853,1
    - Dst: var_buffer_add16
      Src: /src/vlc/modules/access/mms/mmstu.c:861,1
    - Dst: msg_Info
      Src: /src/vlc/modules/access/mms/mmstu.c:862,1
    - Dst: var_buffer_add16
      Src: /src/vlc/modules/access/mms/mmstu.c:871,1
    - Dst: msg_Info
      Src: /src/vlc/modules/access/mms/mmstu.c:872,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmstu.c:885,1
    - Dst: var_buffer_free
      Src: /src/vlc/modules/access/mms/mmstu.c:886,1
    - Dst: MMSClose
      Src: /src/vlc/modules/access/mms/mmstu.c:887,1
    - Dst: mms_CommandSend
      Src: /src/vlc/modules/access/mms/mmstu.c:890,1
    - Dst: mms_CommandRead
      Src: /src/vlc/modules/access/mms/mmstu.c:895,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmstu.c:898,1
    - Dst: var_buffer_free
      Src: /src/vlc/modules/access/mms/mmstu.c:901,1
    - Dst: MMSClose
      Src: /src/vlc/modules/access/mms/mmstu.c:902,1
    - Dst: var_buffer_free
      Src: /src/vlc/modules/access/mms/mmstu.c:907,1
    - Dst: msg_Info
      Src: /src/vlc/modules/access/mms/mmstu.c:909,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 222
    argCount: 3
    argNames:
    - p_access
    - p_url
    - i_proto
    argTypes:
    - stream_t*
    - vlc_url_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 912
    functionName: MMSOpen
    functionSourceFile: /src/vlc/modules/access/mms/mmstu.c
    functionUses: 1
    functionsReached:
    - net_Close
    - var_buffer_add64
    - asf_HeaderParse
    - GETUTF16
    - asprintf
    - var_buffer_reinitwrite
    - asf_StreamSelect
    - msg_Err
    - msg_Dbg
    - var_buffer_add16
    - mms_CommandSend
    - msg_Warn
    - net_ListenUDP1
    - var_buffer_addUTF16
    - net_Connect
    - GenerateGuid
    - net_GetSockAddress
    - var_buffer_initwrite
    - var_InheritInteger
    - var_InheritBool
    - MMSClose
    - var_buffer_add32
    - mms_CommandRead
    - var_buffer_free
    - mms_HeaderMediaRead
    - free
    - msg_Info
    - GetDWLE
    - VLC_OBJECT
    - GUID_PRINT
    linkageType: ''
    returnType: int
    signature: int MMSOpen( stream_t  *p_access, vlc_url_t *p_url, int  i_proto )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 610
    functionName: GETUTF16
    functionSourceFile: /src/vlc/modules/access/mms/mmstu.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETUTF16( fmt, size )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: var_buffer_initwrite
      Src: /src/vlc/modules/access/mms/mmstu.c:923,1
    - Dst: var_buffer_add64
      Src: /src/vlc/modules/access/mms/mmstu.c:924,1
    - Dst: var_buffer_add32
      Src: /src/vlc/modules/access/mms/mmstu.c:925,1
    - Dst: var_buffer_add32
      Src: /src/vlc/modules/access/mms/mmstu.c:926,1
    - Dst: var_buffer_add8
      Src: /src/vlc/modules/access/mms/mmstu.c:927,1
    - Dst: var_buffer_add8
      Src: /src/vlc/modules/access/mms/mmstu.c:928,1
    - Dst: var_buffer_add8
      Src: /src/vlc/modules/access/mms/mmstu.c:929,1
    - Dst: var_buffer_add8
      Src: /src/vlc/modules/access/mms/mmstu.c:930,1
    - Dst: var_buffer_add32
      Src: /src/vlc/modules/access/mms/mmstu.c:931,1
    - Dst: mms_CommandSend
      Src: /src/vlc/modules/access/mms/mmstu.c:933,1
    - Dst: var_buffer_free
      Src: /src/vlc/modules/access/mms/mmstu.c:936,1
    - Dst: mms_CommandRead
      Src: /src/vlc/modules/access/mms/mmstu.c:938,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmstu.c:942,1
    - Dst: mms_HeaderMediaRead
      Src: /src/vlc/modules/access/mms/mmstu.c:950,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmstu.c:952,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - p_access
    - i_packet
    argTypes:
    - stream_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 955
    functionName: MMSStart
    functionSourceFile: /src/vlc/modules/access/mms/mmstu.c
    functionUses: 1
    functionsReached:
    - var_buffer_add8
    - var_buffer_initwrite
    - var_buffer_free
    - mms_HeaderMediaRead
    - msg_Err
    - var_buffer_add64
    - msg_Dbg
    - mms_CommandSend
    - var_buffer_add32
    - mms_CommandRead
    linkageType: ''
    returnType: int
    signature: int MMSStart( stream_t  *p_access, uint32_t i_packet )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mms_CommandSend
      Src: /src/vlc/modules/access/mms/mmstu.c:965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 960
    functionDepth: 1
    functionLinenumber: 960
    functionLinenumberEnd: 971
    functionName: MMSStop
    functionSourceFile: /src/vlc/modules/access/mms/mmstu.c
    functionUses: 2
    functionsReached:
    - mms_CommandSend
    linkageType: ''
    returnType: int
    signature: int MMSStop( stream_t  *p_access )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmstu.c:980,1
    - Dst: mms_CommandSend
      Src: /src/vlc/modules/access/mms/mmstu.c:983,1
    - Dst: net_Close
      Src: /src/vlc/modules/access/mms/mmstu.c:990,1
    - Dst: net_Close
      Src: /src/vlc/modules/access/mms/mmstu.c:993,1
    - Dst: FREENULL
      Src: /src/vlc/modules/access/mms/mmstu.c:996,1
    - Dst: FREENULL
      Src: /src/vlc/modules/access/mms/mmstu.c:997,1
    - Dst: FREENULL
      Src: /src/vlc/modules/access/mms/mmstu.c:998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 976
    functionDepth: 1
    functionLinenumber: 976
    functionLinenumberEnd: 1000
    functionName: MMSClose
    functionSourceFile: /src/vlc/modules/access/mms/mmstu.c
    functionUses: 2
    functionsReached:
    - FREENULL
    - net_Close
    - msg_Dbg
    - mms_CommandSend
    linkageType: ''
    returnType: void
    signature: void MMSClose( stream_t  *p_access )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: var_buffer_initwrite
      Src: /src/vlc/modules/access/mms/mmstu.c:1020,1
    - Dst: var_buffer_add32
      Src: /src/vlc/modules/access/mms/mmstu.c:1022,1
    - Dst: var_buffer_add32
      Src: /src/vlc/modules/access/mms/mmstu.c:1023,1
    - Dst: var_buffer_add32
      Src: /src/vlc/modules/access/mms/mmstu.c:1025,1
    - Dst: var_buffer_add32
      Src: /src/vlc/modules/access/mms/mmstu.c:1026,1
    - Dst: var_buffer_add32
      Src: /src/vlc/modules/access/mms/mmstu.c:1027,1
    - Dst: var_buffer_add32
      Src: /src/vlc/modules/access/mms/mmstu.c:1028,1
    - Dst: var_buffer_add64
      Src: /src/vlc/modules/access/mms/mmstu.c:1029,1
    - Dst: var_buffer_add32
      Src: /src/vlc/modules/access/mms/mmstu.c:1030,1
    - Dst: var_buffer_add32
      Src: /src/vlc/modules/access/mms/mmstu.c:1031,1
    - Dst: var_buffer_add32
      Src: /src/vlc/modules/access/mms/mmstu.c:1032,1
    - Dst: var_buffer_add32
      Src: /src/vlc/modules/access/mms/mmstu.c:1033,1
    - Dst: var_buffer_addmemory
      Src: /src/vlc/modules/access/mms/mmstu.c:1038,1
    - Dst: var_buffer_add64
      Src: /src/vlc/modules/access/mms/mmstu.c:1042,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/mms/mmstu.c:1045,1
    - Dst: net_Write
      Src: /src/vlc/modules/access/mms/mmstu.c:1046,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/mms/mmstu.c:1048,1
    - Dst: var_buffer_free
      Src: /src/vlc/modules/access/mms/mmstu.c:1052,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmstu.c:1053,1
    - Dst: var_buffer_free
      Src: /src/vlc/modules/access/mms/mmstu.c:1057,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 6
    argNames:
    - p_access
    - i_command
    - i_prefix1
    - i_prefix2
    - p_data
    - i_data_old
    argTypes:
    - stream_t*
    - int
    - uint32_t
    - uint32_t
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1007
    functionDepth: 1
    functionLinenumber: 1007
    functionLinenumberEnd: 1059
    functionName: mms_CommandSend
    functionSourceFile: /src/vlc/modules/access/mms/mmstu.c
    functionUses: 5
    functionsReached:
    - net_Write
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - var_buffer_initwrite
    - var_buffer_free
    - var_buffer_addmemory
    - msg_Err
    - var_buffer_add64
    - var_buffer_add32
    linkageType: ''
    returnType: int
    signature: "int mms_CommandSend( stream_t *p_access, int i_command,\n                            uint32_t
      i_prefix1, uint32_t i_prefix2,\n                            uint8_t *p_data,
      int i_data_old )"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/mms/mmstu.c:1085,1
    - Dst: vlc_killed
      Src: /src/vlc/modules/access/mms/mmstu.c:1113,1
    - Dst: vlc_poll_i11e
      Src: /src/vlc/modules/access/mms/mmstu.c:1116,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmstu.c:1122,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmstu.c:1128,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/mms/mmstu.c:1128,1
    - Dst: recv
      Src: /src/vlc/modules/access/mms/mmstu.c:1137,1
    - Dst: recv
      Src: /src/vlc/modules/access/mms/mmstu.c:1144,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmstu.c:1152,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmstu.c:1158,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1167
    functionName: NetFillBuffer
    functionSourceFile: /src/vlc/modules/access/mms/mmstu.c
    functionUses: 0
    functionsReached:
    - vlc_strerror_c
    - recv
    - msg_Err
    - vlc_poll_i11e
    - msg_Dbg
    - msg_Warn
    - vlc_killed
    linkageType: ''
    returnType: int
    signature: int NetFillBuffer( stream_t *p_access )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/mms/mmstu.c:1183,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/mms/mmstu.c:1190,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/access/mms/mmstu.c:1193,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/access/mms/mmstu.c:1194,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmstu.c:1198,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/mms/mmstu.c:1205,1
    - Dst: malloc
      Src: /src/vlc/modules/access/mms/mmstu.c:1211,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/mms/mmstu.c:1213,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/mms/mmstu.c:1222,1
    - Dst: GET32
      Src: /src/vlc/modules/access/mms/mmstu.c:1224,1
    - Dst: GET32
      Src: /src/vlc/modules/access/mms/mmstu.c:1225,1
    - Dst: GET32
      Src: /src/vlc/modules/access/mms/mmstu.c:1226,1
    - Dst: GET32
      Src: /src/vlc/modules/access/mms/mmstu.c:1228,1
    - Dst: GET32
      Src: /src/vlc/modules/access/mms/mmstu.c:1229,1
    - Dst: GET32
      Src: /src/vlc/modules/access/mms/mmstu.c:1232,1
    - Dst: GET32
      Src: /src/vlc/modules/access/mms/mmstu.c:1233,1
    - Dst: GET32
      Src: /src/vlc/modules/access/mms/mmstu.c:1237,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - p_access
    - p_data
    - i_data
    - pi_used
    argTypes:
    - stream_t*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1169
    functionDepth: 1
    functionLinenumber: 1169
    functionLinenumberEnd: 1241
    functionName: mms_ParseCommand
    functionSourceFile: /src/vlc/modules/access/mms/mmstu.c
    functionUses: 0
    functionsReached:
    - memcpy
    - msg_Err
    - free
    - GetDWLE
    - msg_Dbg
    - GET32
    - msg_Warn
    - malloc
    linkageType: ''
    returnType: int
    signature: "int mms_ParseCommand( stream_t *p_access,\n                              const
      char *p_data,\n                              size_t i_data,\n                              size_t
      *pi_used )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i_pos
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1178
    functionName: GET32
    functionSourceFile: /src/vlc/modules/access/mms/mmstu.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET32( i_pos )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/mms/mmstu.c:1255,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/access/mms/mmstu.c:1260,1
    - Dst: GetWLE
      Src: /src/vlc/modules/access/mms/mmstu.c:1261,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/mms/mmstu.c:1280,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/mms/mmstu.c:1288,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/mms/mmstu.c:1297,1
    - Dst: ckd_add
      Src: /src/vlc/modules/access/mms/mmstu.c:1309,1
    - Dst: realloc
      Src: /src/vlc/modules/access/mms/mmstu.c:1311,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/mms/mmstu.c:1315,1
    - Dst: free
      Src: /src/vlc/modules/access/mms/mmstu.c:1327,1
    - Dst: malloc
      Src: /src/vlc/modules/access/mms/mmstu.c:1331,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/mms/mmstu.c:1336,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 4
    argNames:
    - p_access
    - p_data
    - i_data
    - pi_used
    argTypes:
    - stream_t*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1243
    functionDepth: 1
    functionLinenumber: 1243
    functionLinenumberEnd: 1343
    functionName: mms_ParsePacket
    functionSourceFile: /src/vlc/modules/access/mms/mmstu.c
    functionUses: 0
    functionsReached:
    - ckd_add
    - GetWLE
    - realloc
    - memcpy
    - free
    - GetDWLE
    - msg_Warn
    - malloc
    linkageType: ''
    returnType: int
    signature: "int mms_ParsePacket( stream_t *p_access,\n                             const
      char *p_data, size_t i_data,\n                             size_t *pi_used )"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: GetDWLE
      Src: /src/vlc/modules/access/mms/mmstu.c:1358,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/access/mms/mmstu.c:1360,1
    - Dst: GetWLE
      Src: /src/vlc/modules/access/mms/mmstu.c:1366,1
    - Dst: GetWLE
      Src: /src/vlc/modules/access/mms/mmstu.c:1372,1
    - Dst: NetFillBuffer
      Src: /src/vlc/modules/access/mms/mmstu.c:1377,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/mms/mmstu.c:1379,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/access/mms/mmstu.c:1390,1
    - Dst: mms_ParseCommand
      Src: /src/vlc/modules/access/mms/mmstu.c:1393,1
    - Dst: mms_ParsePacket
      Src: /src/vlc/modules/access/mms/mmstu.c:1400,1
    - Dst: memmove
      Src: /src/vlc/modules/access/mms/mmstu.c:1405,1
    - Dst: mms_ParsePacket
      Src: /src/vlc/modules/access/mms/mmstu.c:1415,1
    - Dst: memmove
      Src: /src/vlc/modules/access/mms/mmstu.c:1420,1
    - Dst: mms_CommandSend
      Src: /src/vlc/modules/access/mms/mmstu.c:1428,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 50
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1345
    functionDepth: 2
    functionLinenumber: 1345
    functionLinenumberEnd: 1441
    functionName: mms_ReceivePacket
    functionSourceFile: /src/vlc/modules/access/mms/mmstu.c
    functionUses: 0
    functionsReached:
    - GetWLE
    - mms_ParsePacket
    - mms_ParseCommand
    - NetFillBuffer
    - memmove
    - GetDWLE
    - mms_CommandSend
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int mms_ReceivePacket( stream_t *p_access )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NetFillBuffer
      Src: /src/vlc/modules/access/mms/mmstu.c:1452,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/mms/mmstu.c:1454,1
    - Dst: mms_ParseCommand
      Src: /src/vlc/modules/access/mms/mmstu.c:1459,1
    - Dst: memmove
      Src: /src/vlc/modules/access/mms/mmstu.c:1463,1
    - Dst: mms_CommandSend
      Src: /src/vlc/modules/access/mms/mmstu.c:1475,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1443
    functionDepth: 2
    functionLinenumber: 1443
    functionLinenumberEnd: 1489
    functionName: mms_ReceiveCommand
    functionSourceFile: /src/vlc/modules/access/mms/mmstu.c
    functionUses: 0
    functionsReached:
    - mms_ParseCommand
    - NetFillBuffer
    - memmove
    - mms_CommandSend
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int mms_ReceiveCommand( stream_t *p_access )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mms_ReceiveCommand
      Src: /src/vlc/modules/access/mms/mmstu.c:1502,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/mms/mmstu.c:1521,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/mms/mmstu.c:1525,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/mms/mmstu.c:1534,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - p_access
    - i_command1
    - i_command2
    argTypes:
    - stream_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1493
    functionDepth: 3
    functionLinenumber: 1493
    functionLinenumberEnd: 1537
    functionName: mms_CommandRead
    functionSourceFile: /src/vlc/modules/access/mms/mmstu.c
    functionUses: 2
    functionsReached:
    - mms_ReceiveCommand
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: "int mms_CommandRead( stream_t *p_access, int i_command1,\n                            int
      i_command2 )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mms_ReceivePacket
      Src: /src/vlc/modules/access/mms/mmstu.c:1549,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/mms/mmstu.c:1553,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/mms/mmstu.c:1565,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/mms/mmstu.c:1569,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmstu.c:1576,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/mmstu.c:1586,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - p_access
    - i_type
    argTypes:
    - stream_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1590
      start: 1540
    functionDepth: 3
    functionLinenumber: 1540
    functionLinenumberEnd: 1590
    functionName: mms_HeaderMediaRead
    functionSourceFile: /src/vlc/modules/access/mms/mmstu.c
    functionUses: 4
    functionsReached:
    - mms_ReceivePacket
    - msg_Err
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int mms_HeaderMediaRead( stream_t *p_access, int i_type )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/access/mms/mmstu.c:1597,1
    - Dst: mms_CommandSend
      Src: /src/vlc/modules/access/mms/mmstu.c:1600,1
    - Dst: vlc_sem_timedwait
      Src: /src/vlc/modules/access/mms/mmstu.c:1601,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/mms/mmstu.c:1602,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/access/mms/mmstu.c:1602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1592
    functionDepth: 2
    functionLinenumber: 1592
    functionLinenumberEnd: 1605
    functionName: KeepAliveThread
    functionSourceFile: /src/vlc/modules/access/mms/mmstu.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - vlc_thread_set_name
    - VLC_TICK_FROM_SEC
    - mms_CommandSend
    - vlc_sem_timedwait
    linkageType: ''
    returnType: void
    signature: void *KeepAliveThread( void *p_data )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sem_init
      Src: /src/vlc/modules/access/mms/mmstu.c:1613,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/access/mms/mmstu.c:1614,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1607
    functionDepth: 1
    functionLinenumber: 1607
    functionLinenumberEnd: 1616
    functionName: KeepAliveStart
    functionSourceFile: /src/vlc/modules/access/mms/mmstu.c
    functionUses: 1
    functionsReached:
    - vlc_sem_init
    - vlc_clone
    linkageType: ''
    returnType: void
    signature: void KeepAliveStart( stream_t *p_access )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sem_post
      Src: /src/vlc/modules/access/mms/mmstu.c:1624,1
    - Dst: vlc_join
      Src: /src/vlc/modules/access/mms/mmstu.c:1625,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1627
      start: 1618
    functionDepth: 1
    functionLinenumber: 1618
    functionLinenumberEnd: 1627
    functionName: KeepAliveStop
    functionSourceFile: /src/vlc/modules/access/mms/mmstu.c
    functionUses: 2
    functionsReached:
    - vlc_join
    - vlc_sem_post
    linkageType: ''
    returnType: void
    signature: void KeepAliveStop( stream_t *p_access )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/mms/buffer.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p_buf
    - i_default_size
    argTypes:
    - var_buffer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: var_buffer_initwrite
    functionSourceFile: /src/vlc/modules/access/mms/buffer.c
    functionUses: 4
    functionsReached:
    - malloc
    linkageType: ''
    returnType: int
    signature: int var_buffer_initwrite( var_buffer_t *p_buf, int i_default_size )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/mms/buffer.c:55,1
    - Dst: malloc
      Src: /src/vlc/modules/access/mms/buffer.c:56,1
    - Dst: malloc
      Src: /src/vlc/modules/access/mms/buffer.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - p_buf
    - i_default_size
    argTypes:
    - var_buffer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 64
    functionName: var_buffer_reinitwrite
    functionSourceFile: /src/vlc/modules/access/mms/buffer.c
    functionUses: 1
    functionsReached:
    - free
    - malloc
    linkageType: ''
    returnType: int
    signature: int var_buffer_reinitwrite( var_buffer_t *p_buf, int i_default_size
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xrealloc
      Src: /src/vlc/modules/access/mms/buffer.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_buf
    - i_byte
    argTypes:
    - var_buffer_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: var_buffer_add8
    functionSourceFile: /src/vlc/modules/access/mms/buffer.c
    functionUses: 2
    functionsReached:
    - xrealloc
    linkageType: ''
    returnType: void
    signature: void var_buffer_add8 ( var_buffer_t *p_buf, uint8_t  i_byte )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_buffer_add8
      Src: /src/vlc/modules/access/mms/buffer.c:80,1
    - Dst: var_buffer_add8
      Src: /src/vlc/modules/access/mms/buffer.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_buf
    - i_word
    argTypes:
    - var_buffer_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: var_buffer_add16
    functionSourceFile: /src/vlc/modules/access/mms/buffer.c
    functionUses: 1
    functionsReached:
    - var_buffer_add8
    linkageType: ''
    returnType: void
    signature: void var_buffer_add16( var_buffer_t *p_buf, uint16_t i_word )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_buffer_add16
      Src: /src/vlc/modules/access/mms/buffer.c:86,1
    - Dst: var_buffer_add16
      Src: /src/vlc/modules/access/mms/buffer.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_buf
    - i_dword
    argTypes:
    - var_buffer_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: var_buffer_add32
    functionSourceFile: /src/vlc/modules/access/mms/buffer.c
    functionUses: 4
    functionsReached:
    - var_buffer_add16
    linkageType: ''
    returnType: void
    signature: void var_buffer_add32( var_buffer_t *p_buf, uint32_t i_dword )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_buffer_add32
      Src: /src/vlc/modules/access/mms/buffer.c:92,1
    - Dst: var_buffer_add32
      Src: /src/vlc/modules/access/mms/buffer.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_buf
    - i_long
    argTypes:
    - var_buffer_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 4
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: var_buffer_add64
    functionSourceFile: /src/vlc/modules/access/mms/buffer.c
    functionUses: 4
    functionsReached:
    - var_buffer_add32
    linkageType: ''
    returnType: void
    signature: void var_buffer_add64( var_buffer_t *p_buf, uint64_t i_long )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xrealloc
      Src: /src/vlc/modules/access/mms/buffer.c:102,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/mms/buffer.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - p_buf
    - p_mem
    - i_mem
    argTypes:
    - var_buffer_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 107
    functionName: var_buffer_addmemory
    functionSourceFile: /src/vlc/modules/access/mms/buffer.c
    functionUses: 1
    functionsReached:
    - memcpy
    - xrealloc
    linkageType: ''
    returnType: void
    signature: void var_buffer_addmemory( var_buffer_t *p_buf, void *p_mem, int i_mem
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ToCharset
      Src: /src/vlc/modules/access/mms/buffer.c:116,1
    - Dst: ToCharset
      Src: /src/vlc/modules/access/mms/buffer.c:118,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/mms/buffer.c:124,1
    - Dst: var_buffer_add16
      Src: /src/vlc/modules/access/mms/buffer.c:130,1
    - Dst: free
      Src: /src/vlc/modules/access/mms/buffer.c:131,1
    - Dst: var_buffer_add16
      Src: /src/vlc/modules/access/mms/buffer.c:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - p_access
    - p_buf
    - p_str
    argTypes:
    - stream_t*
    - var_buffer_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 134
    functionName: var_buffer_addUTF16
    functionSourceFile: /src/vlc/modules/access/mms/buffer.c
    functionUses: 1
    functionsReached:
    - free
    - ToCharset
    - var_buffer_add16
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void var_buffer_addUTF16( stream_t  *p_access, var_buffer_t *p_buf,
      const char *p_str )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/mms/buffer.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_buf
    argTypes:
    - var_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: var_buffer_free
    functionSourceFile: /src/vlc/modules/access/mms/buffer.c
    functionUses: 4
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void var_buffer_free( var_buffer_t *p_buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_buf
    - p_data
    - i_data
    argTypes:
    - var_buffer_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: var_buffer_initread
    functionSourceFile: /src/vlc/modules/access/mms/buffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void var_buffer_initread( var_buffer_t *p_buf, void *p_data, int i_data
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_buf
    argTypes:
    - var_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 160
    functionName: var_buffer_get8
    functionSourceFile: /src/vlc/modules/access/mms/buffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t var_buffer_get8 ( var_buffer_t *p_buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_buffer_get8
      Src: /src/vlc/modules/access/mms/buffer.c:166,1
    - Dst: var_buffer_get8
      Src: /src/vlc/modules/access/mms/buffer.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_buf
    argTypes:
    - var_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 171
    functionName: var_buffer_get16
    functionSourceFile: /src/vlc/modules/access/mms/buffer.c
    functionUses: 0
    functionsReached:
    - var_buffer_get8
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t var_buffer_get16( var_buffer_t *p_buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_buffer_get16
      Src: /src/vlc/modules/access/mms/buffer.c:177,1
    - Dst: var_buffer_get16
      Src: /src/vlc/modules/access/mms/buffer.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_buf
    argTypes:
    - var_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 181
    functionName: var_buffer_get32
    functionSourceFile: /src/vlc/modules/access/mms/buffer.c
    functionUses: 0
    functionsReached:
    - var_buffer_get16
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t var_buffer_get32( var_buffer_t *p_buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_buffer_get32
      Src: /src/vlc/modules/access/mms/buffer.c:187,1
    - Dst: var_buffer_get32
      Src: /src/vlc/modules/access/mms/buffer.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_buf
    argTypes:
    - var_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 183
    functionDepth: 3
    functionLinenumber: 183
    functionLinenumberEnd: 191
    functionName: var_buffer_get64
    functionSourceFile: /src/vlc/modules/access/mms/buffer.c
    functionUses: 0
    functionsReached:
    - var_buffer_get32
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t var_buffer_get64( var_buffer_t *p_buf )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: __MIN
      Src: /src/vlc/modules/access/mms/buffer.c:197,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/mms/buffer.c:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - p_buf
    - p_mem
    - i_mem
    argTypes:
    - var_buffer_t*
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: var_buffer_getmemory
    functionSourceFile: /src/vlc/modules/access/mms/buffer.c
    functionUses: 0
    functionsReached:
    - memcpy
    - __MIN
    linkageType: ''
    returnType: int
    signature: int var_buffer_getmemory ( var_buffer_t *p_buf, void *p_mem, int64_t
      i_mem )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_buf
    argTypes:
    - var_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: var_buffer_readempty
    functionSourceFile: /src/vlc/modules/access/mms/buffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int var_buffer_readempty( const var_buffer_t *p_buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_buffer_get32
      Src: /src/vlc/modules/access/mms/buffer.c:217,1
    - Dst: var_buffer_get16
      Src: /src/vlc/modules/access/mms/buffer.c:218,1
    - Dst: var_buffer_get16
      Src: /src/vlc/modules/access/mms/buffer.c:219,1
    - Dst: var_buffer_get8
      Src: /src/vlc/modules/access/mms/buffer.c:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p_buf
    - p_guid
    argTypes:
    - var_buffer_t*
    - vlc_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 215
    functionDepth: 3
    functionLinenumber: 215
    functionLinenumberEnd: 223
    functionName: var_buffer_getguid
    functionSourceFile: /src/vlc/modules/access/mms/buffer.c
    functionUses: 0
    functionsReached:
    - var_buffer_get16
    - var_buffer_get32
    - var_buffer_get8
    linkageType: ''
    returnType: void
    signature: void var_buffer_getguid( var_buffer_t *p_buf, vlc_guid_t *p_guid )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: var_buffer_readempty
      Src: /src/vlc/modules/access/mms/buffer.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_buf
    argTypes:
    - var_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 230
    functionName: var_buffer_remain
    functionSourceFile: /src/vlc/modules/access/mms/buffer.c
    functionUses: 0
    functionsReached:
    - var_buffer_readempty
    linkageType: ''
    returnType: int
    signature: int var_buffer_remain( const var_buffer_t *p_buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_rand_bytes
      Src: /src/vlc/modules/access/mms/asf.c:37,1
    - Dst: vlc_rand_bytes
      Src: /src/vlc/modules/access/mms/asf.c:38,1
    - Dst: vlc_rand_bytes
      Src: /src/vlc/modules/access/mms/asf.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_guid
    argTypes:
    - vlc_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: GenerateGuid
    functionSourceFile: /src/vlc/modules/access/mms/asf.c
    functionUses: 2
    functionsReached:
    - vlc_rand_bytes
    linkageType: ''
    returnType: void
    signature: void GenerateGuid ( vlc_guid_t *p_guid )
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: var_buffer_initread
      Src: /src/vlc/modules/access/mms/asf.c:59,1
    - Dst: var_buffer_remain
      Src: /src/vlc/modules/access/mms/asf.c:60,1
    - Dst: var_buffer_getguid
      Src: /src/vlc/modules/access/mms/asf.c:62,1
    - Dst: guidcmp
      Src: /src/vlc/modules/access/mms/asf.c:64,1
    - Dst: var_buffer_getmemory
      Src: /src/vlc/modules/access/mms/asf.c:68,1
    - Dst: var_buffer_remain
      Src: /src/vlc/modules/access/mms/asf.c:72,1
    - Dst: var_buffer_getguid
      Src: /src/vlc/modules/access/mms/asf.c:75,1
    - Dst: var_buffer_get64
      Src: /src/vlc/modules/access/mms/asf.c:76,1
    - Dst: var_buffer_remain
      Src: /src/vlc/modules/access/mms/asf.c:77,1
    - Dst: guidcmp
      Src: /src/vlc/modules/access/mms/asf.c:80,1
    - Dst: var_buffer_getmemory
      Src: /src/vlc/modules/access/mms/asf.c:85,1
    - Dst: var_buffer_get64
      Src: /src/vlc/modules/access/mms/asf.c:86,1
    - Dst: var_buffer_getmemory
      Src: /src/vlc/modules/access/mms/asf.c:87,1
    - Dst: var_buffer_get64
      Src: /src/vlc/modules/access/mms/asf.c:88,1
    - Dst: var_buffer_getmemory
      Src: /src/vlc/modules/access/mms/asf.c:89,1
    - Dst: var_buffer_get32
      Src: /src/vlc/modules/access/mms/asf.c:90,1
    - Dst: var_buffer_getmemory
      Src: /src/vlc/modules/access/mms/asf.c:92,1
    - Dst: guidcmp
      Src: /src/vlc/modules/access/mms/asf.c:94,1
    - Dst: var_buffer_getmemory
      Src: /src/vlc/modules/access/mms/asf.c:99,1
    - Dst: guidcmp
      Src: /src/vlc/modules/access/mms/asf.c:101,1
    - Dst: var_buffer_getmemory
      Src: /src/vlc/modules/access/mms/asf.c:109,1
    - Dst: var_buffer_get16
      Src: /src/vlc/modules/access/mms/asf.c:111,1
    - Dst: var_buffer_get16
      Src: /src/vlc/modules/access/mms/asf.c:112,1
    - Dst: var_buffer_get16
      Src: /src/vlc/modules/access/mms/asf.c:122,1
    - Dst: var_buffer_get16
      Src: /src/vlc/modules/access/mms/asf.c:123,1
    - Dst: var_buffer_getmemory
      Src: /src/vlc/modules/access/mms/asf.c:126,1
    - Dst: var_buffer_getmemory
      Src: /src/vlc/modules/access/mms/asf.c:137,1
    - Dst: var_buffer_get32
      Src: /src/vlc/modules/access/mms/asf.c:138,1
    - Dst: var_buffer_getmemory
      Src: /src/vlc/modules/access/mms/asf.c:141,1
    - Dst: var_buffer_getmemory
      Src: /src/vlc/modules/access/mms/asf.c:148,1
    - Dst: guidcmp
      Src: /src/vlc/modules/access/mms/asf.c:153,1
    - Dst: var_buffer_getguid
      Src: /src/vlc/modules/access/mms/asf.c:162,1
    - Dst: var_buffer_getmemory
      Src: /src/vlc/modules/access/mms/asf.c:163,1
    - Dst: var_buffer_get8
      Src: /src/vlc/modules/access/mms/asf.c:165,1
    - Dst: var_buffer_getmemory
      Src: /src/vlc/modules/access/mms/asf.c:166,1
    - Dst: guidcmp
      Src: /src/vlc/modules/access/mms/asf.c:168,1
    - Dst: guidcmp
      Src: /src/vlc/modules/access/mms/asf.c:172,1
    - Dst: guidcmp
      Src: /src/vlc/modules/access/mms/asf.c:181,1
    - Dst: var_buffer_get16
      Src: /src/vlc/modules/access/mms/asf.c:189,1
    - Dst: var_buffer_get16
      Src: /src/vlc/modules/access/mms/asf.c:193,1
    - Dst: var_buffer_get32
      Src: /src/vlc/modules/access/mms/asf.c:194,1
    - Dst: var_buffer_getmemory
      Src: /src/vlc/modules/access/mms/asf.c:198,1
    - Dst: var_buffer_getmemory
      Src: /src/vlc/modules/access/mms/asf.c:203,1
    - Dst: var_buffer_readempty
      Src: /src/vlc/modules/access/mms/asf.c:206,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 104
    argCount: 3
    argNames:
    - hdr
    - p_header
    - i_header
    argTypes:
    - asf_header_t*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 42
    functionDepth: 4
    functionLinenumber: 42
    functionLinenumberEnd: 209
    functionName: asf_HeaderParse
    functionSourceFile: /src/vlc/modules/access/mms/asf.c
    functionUses: 4
    functionsReached:
    - var_buffer_get16
    - var_buffer_readempty
    - var_buffer_getmemory
    - var_buffer_get8
    - var_buffer_getguid
    - var_buffer_get32
    - var_buffer_initread
    - var_buffer_get64
    - var_buffer_remain
    - guidcmp
    linkageType: ''
    returnType: void
    signature: "void asf_HeaderParse ( asf_header_t *hdr,\n                            uint8_t
      *p_header, int i_header )"
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 47
    argCount: 5
    argNames:
    - hdr
    - i_bitrate_max
    - b_all
    - b_audio
    - b_video
    argTypes:
    - asf_header_t*
    - int
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 321
    functionName: asf_StreamSelect
    functionSourceFile: /src/vlc/modules/access/mms/asf.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void asf_StreamSelect  ( asf_header_t *hdr,\n                              int
      i_bitrate_max,\n                              bool b_all, bool b_audio, bool
      b_video )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vlc/modules/access/http/connmgr.c:42,1
    - Dst: vlc_vaLog
      Src: /src/vlc/modules/access/http/connmgr.c:43,1
    - Dst: va_end
      Src: /src/vlc/modules/access/http/connmgr.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - fmt
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: vlc_http_err
    functionSourceFile: /src/vlc/modules/access/http/connmgr.c
    functionUses: 0
    functionsReached:
    - vlc_vaLog
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void vlc_http_err(void *ctx, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vlc/modules/access/http/connmgr.c:53,1
    - Dst: vlc_vaLog
      Src: /src/vlc/modules/access/http/connmgr.c:54,1
    - Dst: va_end
      Src: /src/vlc/modules/access/http/connmgr.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - fmt
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: vlc_http_dbg
    functionSourceFile: /src/vlc/modules/access/http/connmgr.c
    functionUses: 0
    functionsReached:
    - vlc_vaLog
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void vlc_http_dbg(void *ctx, const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tls_SocketOpenTLS
      Src: /src/vlc/modules/access/http/connmgr.c:69,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/connmgr.c:73,1
    - Dst: free
      Src: /src/vlc/modules/access/http/connmgr.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - creds
    - name
    - port
    - two
    argTypes:
    - vlc_tls_client_t*
    - char*
    - unsigned
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 77
    functionName: vlc_https_connect
    functionSourceFile: /src/vlc/modules/access/http/connmgr.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_tls_SocketOpenTLS
    - strcmp
    linkageType: ''
    returnType: vlc_tls_t
    signature: "vlc_tls_t *vlc_https_connect(vlc_tls_client_t *creds, const char *name,\n
      \                            unsigned port, bool *restrict two)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vlc/modules/access/http/connmgr.c:85,1
    - Dst: likely
      Src: /src/vlc/modules/access/http/connmgr.c:90,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/http/connmgr.c:90,1
    - Dst: vlc_getProxyUrl
      Src: /src/vlc/modules/access/http/connmgr.c:92,1
    - Dst: free
      Src: /src/vlc/modules/access/http/connmgr.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - hostname
    - port
    - secure
    argTypes:
    - char*
    - unsigned
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 96
    functionName: vlc_http_proxy_find
    functionSourceFile: /src/vlc/modules/access/http/connmgr.c
    functionUses: 0
    functionsReached:
    - asprintf
    - strchr
    - vlc_getProxyUrl
    - free
    - likely
    linkageType: ''
    returnType: char
    signature: "char *vlc_http_proxy_find(const char *hostname, unsigned port,\n                                 bool
      secure)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mgr
    - host
    - port
    argTypes:
    - struct vlc_http_mgr*
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: vlc_http_mgr_find
    functionSourceFile: /src/vlc/modules/access/http/connmgr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct vlc_http_conn
    signature: "struct vlc_http_conn *vlc_http_mgr_find(struct vlc_http_mgr *mgr,\n
      \                                              const char *host, unsigned port)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/connmgr.c:118,1
    - Dst: vlc_http_conn_release
      Src: /src/vlc/modules/access/http/connmgr.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mgr
    - conn
    argTypes:
    - struct vlc_http_mgr*
    - struct vlc_http_conn*
    assertStmts:
    - condition: (mgr->conn == conn)
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/vlc/modules/access/http/connmgr.c
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: vlc_http_mgr_release
    functionSourceFile: /src/vlc/modules/access/http/connmgr.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_http_conn_release
    linkageType: ''
    returnType: void
    signature: "void vlc_http_mgr_release(struct vlc_http_mgr *mgr,\n                                 struct
      vlc_http_conn *conn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_mgr_find
      Src: /src/vlc/modules/access/http/connmgr.c:130,1
    - Dst: vlc_http_stream_open
      Src: /src/vlc/modules/access/http/connmgr.c:134,1
    - Dst: vlc_http_msg_get_initial
      Src: /src/vlc/modules/access/http/connmgr.c:137,1
    - Dst: vlc_http_mgr_release
      Src: /src/vlc/modules/access/http/connmgr.c:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - mgr
    - host
    - port
    - req
    - payload
    argTypes:
    - struct vlc_http_mgr*
    - char*
    - unsigned
    - struct vlc_http_msg*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 144
    functionName: vlc_http_mgr_reuse
    functionSourceFile: /src/vlc/modules/access/http/connmgr.c
    functionUses: 0
    functionsReached:
    - vlc_http_msg_get_initial
    - vlc_http_stream_open
    - vlc_http_mgr_find
    - vlc_http_mgr_release
    linkageType: ''
    returnType: struct vlc_http_msg
    signature: "struct vlc_http_msg *vlc_http_mgr_reuse(struct vlc_http_mgr *mgr,\n
      \                                       const char *host, unsigned port,\n                                        const
      struct vlc_http_msg *req,\n                                        bool payload)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tls_ClientCreate
      Src: /src/vlc/modules/access/http/connmgr.c:159,1
    - Dst: vlc_http_mgr_reuse
      Src: /src/vlc/modules/access/http/connmgr.c:170,1
    - Dst: vlc_http_proxy_find
      Src: /src/vlc/modules/access/http/connmgr.c:176,1
    - Dst: vlc_https_connect_proxy
      Src: /src/vlc/modules/access/http/connmgr.c:179,1
    - Dst: free
      Src: /src/vlc/modules/access/http/connmgr.c:181,1
    - Dst: vlc_https_connect
      Src: /src/vlc/modules/access/http/connmgr.c:184,1
    - Dst: vlc_h2_conn_create
      Src: /src/vlc/modules/access/http/connmgr.c:199,1
    - Dst: vlc_h1_conn_create
      Src: /src/vlc/modules/access/http/connmgr.c:201,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/connmgr.c:203,1
    - Dst: vlc_tls_Close
      Src: /src/vlc/modules/access/http/connmgr.c:205,1
    - Dst: vlc_http_mgr_release
      Src: /src/vlc/modules/access/http/connmgr.c:210,1
    - Dst: vlc_http_mgr_reuse
      Src: /src/vlc/modules/access/http/connmgr.c:213,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 6
    argNames:
    - mgr
    - host
    - port
    - req
    - idempotent
    - payload
    argTypes:
    - struct vlc_http_mgr*
    - char*
    - unsigned
    - struct vlc_http_msg*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 146
    functionDepth: 3
    functionLinenumber: 146
    functionLinenumberEnd: 214
    functionName: vlc_https_request
    functionSourceFile: /src/vlc/modules/access/http/connmgr.c
    functionUses: 0
    functionsReached:
    - vlc_https_connect
    - vlc_http_proxy_find
    - vlc_https_connect_proxy
    - vlc_h1_conn_create
    - free
    - vlc_http_mgr_release
    - vlc_h2_conn_create
    - vlc_http_mgr_reuse
    - unlikely
    - vlc_tls_Close
    - vlc_tls_ClientCreate
    linkageType: ''
    returnType: struct vlc_http_msg
    signature: "struct vlc_http_msg *vlc_https_request(struct vlc_http_mgr *mgr,\n
      \                                             const char *host, unsigned port,\n
      \                                             const struct vlc_http_msg *req,\n
      \                                             bool idempotent, bool payload)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_mgr_reuse
      Src: /src/vlc/modules/access/http/connmgr.c:226,1
    - Dst: vlc_http_proxy_find
      Src: /src/vlc/modules/access/http/connmgr.c:235,1
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/access/http/connmgr.c:240,1
    - Dst: free
      Src: /src/vlc/modules/access/http/connmgr.c:241,1
    - Dst: vlc_h1_request
      Src: /src/vlc/modules/access/http/connmgr.c:244,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/http/connmgr.c:250,1
    - Dst: vlc_h1_request
      Src: /src/vlc/modules/access/http/connmgr.c:253,1
    - Dst: vlc_http_msg_get_initial
      Src: /src/vlc/modules/access/http/connmgr.c:259,1
    - Dst: vlc_http_conn_release
      Src: /src/vlc/modules/access/http/connmgr.c:262,1
    - Dst: vlc_http_mgr_release
      Src: /src/vlc/modules/access/http/connmgr.c:267,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 6
    argNames:
    - mgr
    - host
    - port
    - req
    - idempotent
    - payload
    argTypes:
    - struct vlc_http_mgr*
    - char*
    - unsigned
    - struct vlc_http_msg*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 271
    functionName: vlc_http_request
    functionSourceFile: /src/vlc/modules/access/http/connmgr.c
    functionUses: 0
    functionsReached:
    - vlc_UrlParse
    - vlc_http_proxy_find
    - vlc_h1_request
    - free
    - vlc_http_mgr_release
    - vlc_http_mgr_reuse
    - vlc_http_msg_get_initial
    - vlc_http_conn_release
    - vlc_UrlClean
    linkageType: ''
    returnType: struct vlc_http_msg
    signature: "struct vlc_http_msg *vlc_http_request(struct vlc_http_mgr *mgr,\n
      \                                            const char *host, unsigned port,\n
      \                                            const struct vlc_http_msg *req,\n
      \                                            bool idempotent, bool payload)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_port_blocked
      Src: /src/vlc/modules/access/http/connmgr.c:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 7
    argNames:
    - mgr
    - https
    - host
    - port
    - m
    - idempotent
    - payload
    argTypes:
    - struct vlc_http_mgr*
    - bool
    - char*
    - unsigned
    - struct vlc_http_msg*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 283
    functionName: vlc_http_mgr_request
    functionSourceFile: /src/vlc/modules/access/http/connmgr.c
    functionUses: 1
    functionsReached:
    - vlc_http_port_blocked
    linkageType: ''
    returnType: struct vlc_http_msg
    signature: "struct vlc_http_msg *vlc_http_mgr_request(struct vlc_http_mgr *mgr,
      bool https,\n                                          const char *host, unsigned
      port,\n                                          const struct vlc_http_msg *m,\n
      \                                         bool idempotent, bool payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mgr
    argTypes:
    - struct vlc_http_mgr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 288
    functionName: vlc_http_mgr_get_jar
    functionSourceFile: /src/vlc/modules/access/http/connmgr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct vlc_http_cookie_jar_t
    signature: struct vlc_http_cookie_jar_t *vlc_http_mgr_get_jar(struct vlc_http_mgr
      *mgr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/http/connmgr.c:293,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/connmgr.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - obj
    - jar
    argTypes:
    - vlc_object_t*
    - struct vlc_http_cookie_jar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 303
    functionName: vlc_http_mgr_create
    functionSourceFile: /src/vlc/modules/access/http/connmgr.c
    functionUses: 1
    functionsReached:
    - unlikely
    - malloc
    linkageType: ''
    returnType: struct vlc_http_mgr
    signature: "struct vlc_http_mgr *vlc_http_mgr_create(vlc_object_t *obj,\n                                         struct
      vlc_http_cookie_jar_t *jar)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_mgr_release
      Src: /src/vlc/modules/access/http/connmgr.c:308,1
    - Dst: vlc_tls_ClientDelete
      Src: /src/vlc/modules/access/http/connmgr.c:310,1
    - Dst: free
      Src: /src/vlc/modules/access/http/connmgr.c:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - mgr
    argTypes:
    - struct vlc_http_mgr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 312
    functionName: vlc_http_mgr_destroy
    functionSourceFile: /src/vlc/modules/access/http/connmgr.c
    functionUses: 2
    functionsReached:
    - vlc_tls_ClientDelete
    - vlc_http_mgr_release
    - free
    linkageType: ''
    returnType: void
    signature: void vlc_http_mgr_destroy(struct vlc_http_mgr *mgr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/access/http/file.c:56,1
    - Dst: memcmp
      Src: /src/vlc/modules/access/http/file.c:60,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/file.c:62,1
    - Dst: vlc_http_msg_get_mtime
      Src: /src/vlc/modules/access/http/file.c:66,1
    - Dst: vlc_http_msg_add_time
      Src: /src/vlc/modules/access/http/file.c:68,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/file.c:72,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - res
    - req
    - opaque
    argTypes:
    - struct vlc_http_resource*
    - struct vlc_http_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 76
    functionName: vlc_http_file_req
    functionSourceFile: /src/vlc/modules/access/http/file.c
    functionUses: 0
    functionsReached:
    - vlc_http_msg_add_header
    - vlc_http_msg_add_time
    - vlc_http_msg_get_mtime
    - vlc_http_msg_get_header
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int vlc_http_file_req(const struct vlc_http_resource *res,\n                             struct
      vlc_http_msg *req, void *opaque)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_msg_get_status
      Src: /src/vlc/modules/access/http/file.c:83,1
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/access/http/file.c:85,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/http/file.c:92,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - res
    - resp
    - opaque
    argTypes:
    - struct vlc_http_resource*
    - struct vlc_http_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 105
    functionName: vlc_http_file_resp
    functionSourceFile: /src/vlc/modules/access/http/file.c
    functionUses: 0
    functionsReached:
    - vlc_http_msg_get_header
    - vlc_http_msg_get_status
    - sscanf
    linkageType: ''
    returnType: int
    signature: "int vlc_http_file_resp(const struct vlc_http_resource *res,\n                              const
      struct vlc_http_msg *resp, void *opaque)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/http/file.c:117,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/file.c:118,1
    - Dst: vlc_http_res_init
      Src: /src/vlc/modules/access/http/file.c:121,1
    - Dst: free
      Src: /src/vlc/modules/access/http/file.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - mgr
    - uri
    - ua
    - ref
    argTypes:
    - struct vlc_http_mgr*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 130
    functionName: vlc_http_file_create
    functionSourceFile: /src/vlc/modules/access/http/file.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_http_res_init
    - unlikely
    - malloc
    linkageType: ''
    returnType: struct vlc_http_resource
    signature: "struct vlc_http_resource *vlc_http_file_create(struct vlc_http_mgr
      *mgr,\n                                               const char *uri, const
      char *ua,\n                                               const char *ref)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_msg_get_status
      Src: /src/vlc/modules/access/http/file.c:134,1
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/access/http/file.c:135,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file.c:139,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/http/file.c:143,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/file.c:146,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/access/http/file.c:152,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/http/file.c:162,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - resp
    argTypes:
    - struct vlc_http_msg*
    assertStmts:
    - condition: (range != NULL)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/vlc/modules/access/http/file.c
    constantsTouched: []
    func_position:
      end: 167
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 167
    functionName: vlc_http_msg_get_file_size
    functionSourceFile: /src/vlc/modules/access/http/file.c
    functionUses: 0
    functionsReached:
    - sscanf
    - assert
    - vlc_assert_unreachable
    - vlc_http_msg_get_status
    - vlc_http_msg_get_header
    - unlikely
    linkageType: ''
    returnType: uintmax_t
    signature: uintmax_t vlc_http_msg_get_file_size(const struct vlc_http_msg *resp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_msg_get_status
      Src: /src/vlc/modules/access/http/file.c:171,1
    - Dst: vlc_http_msg_get_token
      Src: /src/vlc/modules/access/http/file.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - resp
    argTypes:
    - struct vlc_http_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 176
    functionName: vlc_http_msg_can_seek
    functionSourceFile: /src/vlc/modules/access/http/file.c
    functionUses: 0
    functionsReached:
    - vlc_http_msg_get_token
    - vlc_http_msg_get_status
    linkageType: ''
    returnType: bool
    signature: bool vlc_http_msg_can_seek(const struct vlc_http_msg *resp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_res_get_status
      Src: /src/vlc/modules/access/http/file.c:180,1
    - Dst: vlc_http_msg_get_file_size
      Src: /src/vlc/modules/access/http/file.c:184,1
    - Dst: vlc_http_msg_get_size
      Src: /src/vlc/modules/access/http/file.c:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - res
    argTypes:
    - struct vlc_http_resource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 194
    functionName: vlc_http_file_get_size
    functionSourceFile: /src/vlc/modules/access/http/file.c
    functionUses: 0
    functionsReached:
    - vlc_http_res_get_status
    - vlc_http_msg_get_size
    - vlc_http_msg_get_file_size
    linkageType: ''
    returnType: uintmax_t
    signature: uintmax_t vlc_http_file_get_size(struct vlc_http_resource *res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_res_get_status
      Src: /src/vlc/modules/access/http/file.c:198,1
    - Dst: vlc_http_msg_can_seek
      Src: /src/vlc/modules/access/http/file.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - res
    argTypes:
    - struct vlc_http_resource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: vlc_http_file_can_seek
    functionSourceFile: /src/vlc/modules/access/http/file.c
    functionUses: 0
    functionsReached:
    - vlc_http_res_get_status
    - vlc_http_msg_can_seek
    linkageType: ''
    returnType: bool
    signature: bool vlc_http_file_can_seek(struct vlc_http_resource *res)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_res_open
      Src: /src/vlc/modules/access/http/file.c:206,1
    - Dst: vlc_http_msg_get_status
      Src: /src/vlc/modules/access/http/file.c:212,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/file.c:221,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/file.c:224,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - res
    - offset
    argTypes:
    - struct vlc_http_resource*
    - uintmax_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 230
    functionName: vlc_http_file_seek
    functionSourceFile: /src/vlc/modules/access/http/file.c
    functionUses: 0
    functionsReached:
    - vlc_http_msg_destroy
    - vlc_http_msg_get_status
    - vlc_http_res_open
    linkageType: ''
    returnType: int
    signature: int vlc_http_file_seek(struct vlc_http_resource *res, uintmax_t offset)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_res_read
      Src: /src/vlc/modules/access/http/file.c:235,1
    - Dst: vlc_http_msg_can_seek
      Src: /src/vlc/modules/access/http/file.c:242,1
    - Dst: vlc_http_msg_get_file_size
      Src: /src/vlc/modules/access/http/file.c:243,1
    - Dst: vlc_http_file_seek
      Src: /src/vlc/modules/access/http/file.c:244,1
    - Dst: vlc_http_res_read
      Src: /src/vlc/modules/access/http/file.c:246,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - res
    argTypes:
    - struct vlc_http_resource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 255
    functionName: vlc_http_file_read
    functionSourceFile: /src/vlc/modules/access/http/file.c
    functionUses: 0
    functionsReached:
    - vlc_http_msg_get_file_size
    - vlc_http_file_seek
    - vlc_http_msg_can_seek
    - vlc_http_res_read
    linkageType: ''
    returnType: block_t
    signature: block_t *vlc_http_file_read(struct vlc_http_resource *res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tls_SocketPair
      Src: /src/vlc/modules/access/http/h1conn_test.c:55,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:56,1
    - Dst: vlc_h1_conn_create
      Src: /src/vlc/modules/access/http/h1conn_test.c:60,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!"vlc_tls_SocketPair")
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (conn != NULL)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: conn_create
    functionSourceFile: /src/vlc/modules/access/http/h1conn_test.c
    functionUses: 2
    functionsReached:
    - vlc_h1_conn_create
    - assert
    - vlc_tls_SocketPair
    linkageType: ''
    returnType: void
    signature: void conn_create(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tls_Write
      Src: /src/vlc/modules/access/http/h1conn_test.c:66,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - void*
    - size_t
    assertStmts:
    - condition: ((size_t)val == len)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: conn_send_raw
    functionSourceFile: /src/vlc/modules/access/http/h1conn_test.c
    functionUses: 0
    functionsReached:
    - vlc_tls_Write
    - assert
    linkageType: ''
    returnType: void
    signature: void conn_send_raw(const void *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: conn_send_raw
      Src: /src/vlc/modules/access/http/h1conn_test.c:72,1
    - Dst: strlen
      Src: /src/vlc/modules/access/http/h1conn_test.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: conn_send
    functionSourceFile: /src/vlc/modules/access/http/h1conn_test.c
    functionUses: 0
    functionsReached:
    - strlen
    - conn_send_raw
    linkageType: ''
    returnType: void
    signature: void conn_send(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tls_Shutdown
      Src: /src/vlc/modules/access/http/h1conn_test.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - duplex
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: conn_shutdown
    functionSourceFile: /src/vlc/modules/access/http/h1conn_test.c
    functionUses: 0
    functionsReached:
    - vlc_tls_Shutdown
    linkageType: ''
    returnType: void
    signature: void conn_shutdown(bool duplex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: conn_shutdown
      Src: /src/vlc/modules/access/http/h1conn_test.c:82,1
    - Dst: vlc_http_conn_release
      Src: /src/vlc/modules/access/http/h1conn_test.c:83,1
    - Dst: vlc_tls_SessionDelete
      Src: /src/vlc/modules/access/http/h1conn_test.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: conn_destroy
    functionSourceFile: /src/vlc/modules/access/http/h1conn_test.c
    functionUses: 0
    functionsReached:
    - vlc_tls_SessionDelete
    - vlc_http_conn_release
    - conn_shutdown
    linkageType: ''
    returnType: void
    signature: void conn_destroy(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_req_create
      Src: /src/vlc/modules/access/http/h1conn_test.c:90,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:92,1
    - Dst: vlc_http_stream_open
      Src: /src/vlc/modules/access/http/h1conn_test.c:94,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/h1conn_test.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - has_data
    argTypes:
    - bool
    assertStmts:
    - condition: (m != NULL)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    constantsTouched: []
    func_position:
      end: 97
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionName: stream_open
    functionSourceFile: /src/vlc/modules/access/http/h1conn_test.c
    functionUses: 8
    functionsReached:
    - vlc_http_req_create
    - vlc_http_msg_destroy
    - assert
    - vlc_http_stream_open
    linkageType: ''
    returnType: struct vlc_http_stream
    signature: struct vlc_http_stream *stream_open(bool has_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: conn_create
      Src: /src/vlc/modules/access/http/h1conn_test.c:106,1
    - Dst: conn_destroy
      Src: /src/vlc/modules/access/http/h1conn_test.c:107,1
    - Dst: conn_create
      Src: /src/vlc/modules/access/http/h1conn_test.c:110,1
    - Dst: conn_shutdown
      Src: /src/vlc/modules/access/http/h1conn_test.c:111,1
    - Dst: stream_open
      Src: /src/vlc/modules/access/http/h1conn_test.c:112,1
    - Dst: vlc_http_stream_close
      Src: /src/vlc/modules/access/http/h1conn_test.c:115,1
    - Dst: conn_destroy
      Src: /src/vlc/modules/access/http/h1conn_test.c:116,1
    - Dst: conn_create
      Src: /src/vlc/modules/access/http/h1conn_test.c:119,1
    - Dst: stream_open
      Src: /src/vlc/modules/access/http/h1conn_test.c:120,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:121,1
    - Dst: conn_shutdown
      Src: /src/vlc/modules/access/http/h1conn_test.c:122,1
    - Dst: vlc_http_stream_read_headers
      Src: /src/vlc/modules/access/http/h1conn_test.c:124,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:125,1
    - Dst: vlc_http_stream_read
      Src: /src/vlc/modules/access/http/h1conn_test.c:126,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:127,1
    - Dst: vlc_http_stream_read_headers
      Src: /src/vlc/modules/access/http/h1conn_test.c:128,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:129,1
    - Dst: vlc_http_stream_read
      Src: /src/vlc/modules/access/http/h1conn_test.c:130,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:131,1
    - Dst: vlc_http_msg_get_initial
      Src: /src/vlc/modules/access/http/h1conn_test.c:132,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:133,1
    - Dst: stream_open
      Src: /src/vlc/modules/access/http/h1conn_test.c:135,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:136,1
    - Dst: conn_destroy
      Src: /src/vlc/modules/access/http/h1conn_test.c:137,1
    - Dst: conn_create
      Src: /src/vlc/modules/access/http/h1conn_test.c:140,1
    - Dst: stream_open
      Src: /src/vlc/modules/access/http/h1conn_test.c:141,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:142,1
    - Dst: conn_send
      Src: /src/vlc/modules/access/http/h1conn_test.c:143,1
    - Dst: conn_shutdown
      Src: /src/vlc/modules/access/http/h1conn_test.c:144,1
    - Dst: vlc_http_stream_read_headers
      Src: /src/vlc/modules/access/http/h1conn_test.c:146,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:147,1
    - Dst: vlc_http_stream_read
      Src: /src/vlc/modules/access/http/h1conn_test.c:148,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:149,1
    - Dst: conn_destroy
      Src: /src/vlc/modules/access/http/h1conn_test.c:150,1
    - Dst: vlc_http_stream_close
      Src: /src/vlc/modules/access/http/h1conn_test.c:151,1
    - Dst: conn_create
      Src: /src/vlc/modules/access/http/h1conn_test.c:154,1
    - Dst: stream_open
      Src: /src/vlc/modules/access/http/h1conn_test.c:155,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:156,1
    - Dst: conn_send
      Src: /src/vlc/modules/access/http/h1conn_test.c:157,1
    - Dst: vlc_http_msg_get_initial
      Src: /src/vlc/modules/access/http/h1conn_test.c:158,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:159,1
    - Dst: conn_send
      Src: /src/vlc/modules/access/http/h1conn_test.c:161,1
    - Dst: conn_shutdown
      Src: /src/vlc/modules/access/http/h1conn_test.c:162,1
    - Dst: vlc_http_msg_read
      Src: /src/vlc/modules/access/http/h1conn_test.c:163,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:164,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:165,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:166,1
    - Dst: memcmp
      Src: /src/vlc/modules/access/http/h1conn_test.c:166,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/http/h1conn_test.c:167,1
    - Dst: vlc_http_msg_read
      Src: /src/vlc/modules/access/http/h1conn_test.c:168,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:169,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/h1conn_test.c:170,1
    - Dst: conn_destroy
      Src: /src/vlc/modules/access/http/h1conn_test.c:171,1
    - Dst: conn_create
      Src: /src/vlc/modules/access/http/h1conn_test.c:174,1
    - Dst: stream_open
      Src: /src/vlc/modules/access/http/h1conn_test.c:175,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:176,1
    - Dst: conn_send
      Src: /src/vlc/modules/access/http/h1conn_test.c:177,1
    - Dst: vlc_http_msg_get_initial
      Src: /src/vlc/modules/access/http/h1conn_test.c:178,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:179,1
    - Dst: conn_send
      Src: /src/vlc/modules/access/http/h1conn_test.c:181,1
    - Dst: conn_shutdown
      Src: /src/vlc/modules/access/http/h1conn_test.c:182,1
    - Dst: vlc_http_msg_read
      Src: /src/vlc/modules/access/http/h1conn_test.c:183,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:184,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:185,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:186,1
    - Dst: memcmp
      Src: /src/vlc/modules/access/http/h1conn_test.c:186,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/http/h1conn_test.c:187,1
    - Dst: vlc_http_msg_read
      Src: /src/vlc/modules/access/http/h1conn_test.c:188,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:189,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/h1conn_test.c:190,1
    - Dst: conn_destroy
      Src: /src/vlc/modules/access/http/h1conn_test.c:191,1
    - Dst: conn_create
      Src: /src/vlc/modules/access/http/h1conn_test.c:194,1
    - Dst: stream_open
      Src: /src/vlc/modules/access/http/h1conn_test.c:195,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:196,1
    - Dst: conn_send
      Src: /src/vlc/modules/access/http/h1conn_test.c:197,1
    - Dst: vlc_http_msg_get_initial
      Src: /src/vlc/modules/access/http/h1conn_test.c:199,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:200,1
    - Dst: conn_send
      Src: /src/vlc/modules/access/http/h1conn_test.c:202,1
    - Dst: vlc_http_msg_read
      Src: /src/vlc/modules/access/http/h1conn_test.c:203,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:204,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:205,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:206,1
    - Dst: memcmp
      Src: /src/vlc/modules/access/http/h1conn_test.c:206,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/http/h1conn_test.c:207,1
    - Dst: conn_destroy
      Src: /src/vlc/modules/access/http/h1conn_test.c:208,1
    - Dst: vlc_http_msg_read
      Src: /src/vlc/modules/access/http/h1conn_test.c:209,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:210,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/h1conn_test.c:211,1
    - Dst: conn_create
      Src: /src/vlc/modules/access/http/h1conn_test.c:214,1
    - Dst: stream_open
      Src: /src/vlc/modules/access/http/h1conn_test.c:215,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:216,1
    - Dst: conn_send
      Src: /src/vlc/modules/access/http/h1conn_test.c:217,1
    - Dst: vlc_http_msg_get_initial
      Src: /src/vlc/modules/access/http/h1conn_test.c:218,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:219,1
    - Dst: conn_send
      Src: /src/vlc/modules/access/http/h1conn_test.c:221,1
    - Dst: vlc_http_msg_read
      Src: /src/vlc/modules/access/http/h1conn_test.c:222,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:223,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:224,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:225,1
    - Dst: memcmp
      Src: /src/vlc/modules/access/http/h1conn_test.c:225,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/http/h1conn_test.c:226,1
    - Dst: vlc_http_msg_read
      Src: /src/vlc/modules/access/http/h1conn_test.c:227,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:228,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/h1conn_test.c:229,1
    - Dst: conn_destroy
      Src: /src/vlc/modules/access/http/h1conn_test.c:230,1
    - Dst: conn_create
      Src: /src/vlc/modules/access/http/h1conn_test.c:233,1
    - Dst: stream_open
      Src: /src/vlc/modules/access/http/h1conn_test.c:234,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:235,1
    - Dst: conn_send
      Src: /src/vlc/modules/access/http/h1conn_test.c:236,1
    - Dst: vlc_http_msg_get_initial
      Src: /src/vlc/modules/access/http/h1conn_test.c:237,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:238,1
    - Dst: conn_send
      Src: /src/vlc/modules/access/http/h1conn_test.c:240,1
    - Dst: vlc_http_msg_read
      Src: /src/vlc/modules/access/http/h1conn_test.c:241,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:242,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:243,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:244,1
    - Dst: memcmp
      Src: /src/vlc/modules/access/http/h1conn_test.c:244,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/http/h1conn_test.c:245,1
    - Dst: conn_shutdown
      Src: /src/vlc/modules/access/http/h1conn_test.c:246,1
    - Dst: vlc_http_msg_read
      Src: /src/vlc/modules/access/http/h1conn_test.c:247,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:248,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/h1conn_test.c:249,1
    - Dst: conn_destroy
      Src: /src/vlc/modules/access/http/h1conn_test.c:250,1
    - Dst: conn_create
      Src: /src/vlc/modules/access/http/h1conn_test.c:253,1
    - Dst: stream_open
      Src: /src/vlc/modules/access/http/h1conn_test.c:254,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:255,1
    - Dst: conn_send
      Src: /src/vlc/modules/access/http/h1conn_test.c:256,1
    - Dst: vlc_http_msg_get_initial
      Src: /src/vlc/modules/access/http/h1conn_test.c:257,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:258,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/http/h1conn_test.c:259,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:260,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/http/h1conn_test.c:261,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:262,1
    - Dst: vlc_http_msg_write
      Src: /src/vlc/modules/access/http/h1conn_test.c:262,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:263,1
    - Dst: vlc_http_msg_write
      Src: /src/vlc/modules/access/http/h1conn_test.c:263,1
    - Dst: conn_send
      Src: /src/vlc/modules/access/http/h1conn_test.c:264,1
    - Dst: vlc_http_msg_iterate
      Src: /src/vlc/modules/access/http/h1conn_test.c:265,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:266,1
    - Dst: vlc_http_msg_read
      Src: /src/vlc/modules/access/http/h1conn_test.c:267,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:268,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:269,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:270,1
    - Dst: memcmp
      Src: /src/vlc/modules/access/http/h1conn_test.c:270,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/http/h1conn_test.c:271,1
    - Dst: vlc_http_msg_read
      Src: /src/vlc/modules/access/http/h1conn_test.c:272,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn_test.c:273,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/h1conn_test.c:274,1
    - Dst: conn_destroy
      Src: /src/vlc/modules/access/http/h1conn_test.c:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 144
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (vlc_http_msg_write(m, NULL, true) == 0)
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (m == NULL)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (s != NULL)
      pos:
        line_end: 195
        line_start: 195
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (b != NULL)
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (!memcmp(b->p_buffer, "Hello again!", 12))
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (s != NULL)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (b == vlc_http_error)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (b == NULL)
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (b->i_buffer == 12)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (s != NULL)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (s != NULL)
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (s != NULL)
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (m == NULL)
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (s != NULL)
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (b != NULL)
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (!memcmp(b->p_buffer, "Hello world!", 12))
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (s != NULL)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (b == vlc_http_error)
      pos:
        line_end: 247
        line_start: 247
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (m == NULL)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (b->i_buffer == 8)
      pos:
        line_end: 223
        line_start: 223
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (!memcmp(b->p_buffer, "Hello ", 6))
      pos:
        line_end: 243
        line_start: 243
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (m != NULL)
      pos:
        line_end: 265
        line_start: 265
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (m == NULL)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (b == vlc_http_error)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (m != NULL)
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (b != NULL)
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (m != NULL)
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (b == NULL)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (b != NULL)
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (vlc_http_msg_write(m, b, false) == 0)
      pos:
        line_end: 261
        line_start: 261
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (!memcmp(b->p_buffer, "Hello there!", 12))
      pos:
        line_end: 205
        line_start: 205
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (s == NULL)
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (b->i_buffer == 12)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (m != NULL)
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (b == NULL)
      pos:
        line_end: 227
        line_start: 227
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (b->i_buffer == 2)
      pos:
        line_end: 268
        line_start: 268
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (!memcmp(b->p_buffer, "OK", 2))
      pos:
        line_end: 269
        line_start: 269
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (m != NULL)
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (b->i_buffer == 6)
      pos:
        line_end: 242
        line_start: 242
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (b != NULL)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (s != NULL)
      pos:
        line_end: 234
        line_start: 234
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (b != NULL)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (!memcmp(b->p_buffer, "Bye bye!", 8))
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (m != NULL)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (b != NULL)
      pos:
        line_end: 241
        line_start: 241
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (m != NULL)
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (b == vlc_http_error)
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (b->i_buffer == 12)
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (b == NULL)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    - condition: (b == NULL)
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/vlc/modules/access/http/h1conn_test.c
    constantsTouched: []
    func_position:
      end: 278
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 278
    functionName: main
    functionSourceFile: /src/vlc/modules/access/http/h1conn_test.c
    functionUses: 4
    functionsReached:
    - vlc_http_msg_write
    - block_Release
    - assert
    - conn_destroy
    - vlc_http_msg_get_initial
    - memcpy
    - vlc_http_msg_iterate
    - stream_open
    - conn_send
    - vlc_http_msg_destroy
    - block_Alloc
    - vlc_http_stream_close
    - vlc_http_stream_read
    - conn_create
    - vlc_http_stream_read_headers
    - vlc_http_msg_read
    - memcmp
    - conn_shutdown
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: accept4
    functionSourceFile: /src/vlc/modules/access/http/tunnel_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: accept4(a,b,c,d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strnstr
      Src: /src/vlc/modules/access/http/tunnel_test.c:64,1
    - Dst: recv
      Src: /src/vlc/modules/access/http/tunnel_test.c:66,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/tunnel_test.c:68,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/tunnel_test.c:78,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/http/tunnel_test.c:78,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/tunnel_test.c:80,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/tunnel_test.c:80,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/tunnel_test.c:81,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/tunnel_test.c:82,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/tunnel_test.c:84,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/http/tunnel_test.c:84,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/tunnel_test.c:85,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/tunnel_test.c:85,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/tunnel_test.c:86,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/tunnel_test.c:88,1
    - Dst: strstr
      Src: /src/vlc/modules/access/http/tunnel_test.c:88,1
    - Dst: write
      Src: /src/vlc/modules/access/http/tunnel_test.c:93,1
    - Dst: strlen
      Src: /src/vlc/modules/access/http/tunnel_test.c:93,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/tunnel_test.c:94,1
    - Dst: strlen
      Src: /src/vlc/modules/access/http/tunnel_test.c:94,1
    - Dst: shutdown
      Src: /src/vlc/modules/access/http/tunnel_test.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts:
    - condition: (ver == 1)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/vlc/modules/access/http/tunnel_test.c
    - condition: "(sscanf(buf, \"CONNECT %63[^:]:%u HTTP/1.%1u%n\", host, &port, &ver,\n
        \                 &offset) == 3)"
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/vlc/modules/access/http/tunnel_test.c
    - condition: (!"Incomplete request")
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/vlc/modules/access/http/tunnel_test.c
    - condition: (port == 443)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/vlc/modules/access/http/tunnel_test.c
    - condition: '(sscanf(buf + offset + 2, "Host: %63[^:]:%u", host, &port) == 2)'
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/vlc/modules/access/http/tunnel_test.c
    - condition: (port == 443)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/vlc/modules/access/http/tunnel_test.c
    - condition: "(strstr(buf, \"\\r\\nProxy-Authorization: Basic \"\n                  \"QWxhZGRpbjpvcGVuIHNlc2FtZQ==\\r\\n\")
        != NULL)"
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/vlc/modules/access/http/tunnel_test.c
    - condition: ((size_t)val == strlen(resp))
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/vlc/modules/access/http/tunnel_test.c
    - condition: (!strcmp(host, "www.example.com"))
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/vlc/modules/access/http/tunnel_test.c
    - condition: (!strcmp(host, "www.example.com"))
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/vlc/modules/access/http/tunnel_test.c
    constantsTouched: []
    func_position:
      end: 96
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 96
    functionName: proxy_client_process
    functionSourceFile: /src/vlc/modules/access/http/tunnel_test.c
    functionUses: 0
    functionsReached:
    - sscanf
    - recv
    - assert
    - strlen
    - write
    - strnstr
    - strcmp
    - strstr
    - shutdown
    linkageType: ''
    returnType: void
    signature: void proxy_client_process(int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: accept4
      Src: /src/vlc/modules/access/http/tunnel_test.c:106,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/access/http/tunnel_test.c:110,1
    - Dst: proxy_client_process
      Src: /src/vlc/modules/access/http/tunnel_test.c:111,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/http/tunnel_test.c:112,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/access/http/tunnel_test.c:114,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/access/http/tunnel_test.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 117
    functionName: proxy_thread
    functionSourceFile: /src/vlc/modules/access/http/tunnel_test.c
    functionUses: 0
    functionsReached:
    - vlc_restorecancel
    - vlc_assert_unreachable
    - vlc_close
    - accept4
    - vlc_savecancel
    - proxy_client_process
    linkageType: ''
    returnType: void
    signature: void *proxy_thread(void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/vlc/modules/access/http/tunnel_test.c:121,1
    - Dst: bind
      Src: /src/vlc/modules/access/http/tunnel_test.c:134,1
    - Dst: getsockname
      Src: /src/vlc/modules/access/http/tunnel_test.c:135,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/http/tunnel_test.c:137,1
    - Dst: ntohs
      Src: /src/vlc/modules/access/http/tunnel_test.c:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - port
    argTypes:
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 143
    functionName: server_socket
    functionSourceFile: /src/vlc/modules/access/http/tunnel_test.c
    functionUses: 0
    functionsReached:
    - socket
    - ntohs
    - vlc_close
    - getsockname
    - bind
    linkageType: ''
    returnType: int
    signature: int server_socket(unsigned *port)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_https_connect_proxy
      Src: /src/vlc/modules/access/http/tunnel_test.c:152,1
    - Dst: vlc_https_connect_proxy
      Src: /src/vlc/modules/access/http/tunnel_test.c:154,1
    - Dst: malloc
      Src: /src/vlc/modules/access/http/tunnel_test.c:157,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/tunnel_test.c:158,1
    - Dst: server_socket
      Src: /src/vlc/modules/access/http/tunnel_test.c:159,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/http/tunnel_test.c:163,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/tunnel_test.c:166,1
    - Dst: vlc_https_connect_proxy
      Src: /src/vlc/modules/access/http/tunnel_test.c:169,1
    - Dst: listen
      Src: /src/vlc/modules/access/http/tunnel_test.c:171,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/http/tunnel_test.c:173,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/access/http/tunnel_test.c:178,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/tunnel_test.c:179,1
    - Dst: vlc_https_connect_proxy
      Src: /src/vlc/modules/access/http/tunnel_test.c:182,1
    - Dst: vlc_cancel
      Src: /src/vlc/modules/access/http/tunnel_test.c:184,1
    - Dst: vlc_join
      Src: /src/vlc/modules/access/http/tunnel_test.c:185,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/tunnel_test.c:186,1
    - Dst: free
      Src: /src/vlc/modules/access/http/tunnel_test.c:187,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/http/tunnel_test.c:188,1
    - Dst: free
      Src: /src/vlc/modules/access/http/tunnel_test.c:189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (lfd != NULL)
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/vlc/modules/access/http/tunnel_test.c
    - condition: (url != NULL)
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/vlc/modules/access/http/tunnel_test.c
    - condition: (connection_count > 0)
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/vlc/modules/access/http/tunnel_test.c
    - condition: (!"Thread error")
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/vlc/modules/access/http/tunnel_test.c
    constantsTouched: []
    func_position:
      end: 191
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 191
    functionName: main
    functionSourceFile: /src/vlc/modules/access/http/tunnel_test.c
    functionUses: 4
    functionsReached:
    - asprintf
    - assert
    - vlc_clone
    - vlc_close
    - vlc_cancel
    - listen
    - vlc_https_connect_proxy
    - free
    - vlc_join
    - server_socket
    - malloc
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct vlc_http_stream*::cbs::read_headers
      Src: /src/vlc/modules/access/http/message.h:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct vlc_http_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 404
    functionName: vlc_http_stream_read_headers
    functionSourceFile: /src/vlc/modules/access/http/message.h
    functionUses: 1
    functionsReached:
    - struct vlc_http_stream*::cbs::read_headers
    linkageType: ''
    returnType: struct vlc_http_msg
    signature: struct vlc_http_msg *vlc_http_stream_read_headers(struct vlc_http_stream
      *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct vlc_http_stream*::cbs::write
      Src: /src/vlc/modules/access/http/message.h:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - s
    - base
    - length
    - eos
    argTypes:
    - struct vlc_http_stream*
    - void*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 425
    functionName: vlc_http_stream_write
    functionSourceFile: /src/vlc/modules/access/http/message.h
    functionUses: 0
    functionsReached:
    - struct vlc_http_stream*::cbs::write
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t vlc_http_stream_write(struct vlc_http_stream *s,\n                                            const
      void *base, size_t length,\n                                            bool
      eos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct vlc_http_stream*::cbs::read
      Src: /src/vlc/modules/access/http/message.h:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct vlc_http_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 440
    functionName: vlc_http_stream_read
    functionSourceFile: /src/vlc/modules/access/http/message.h
    functionUses: 1
    functionsReached:
    - struct vlc_http_stream*::cbs::read
    linkageType: ''
    returnType: block_t
    signature: block_t *vlc_http_stream_read(struct vlc_http_stream *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct vlc_http_stream*::cbs::close
      Src: /src/vlc/modules/access/http/message.h:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - abort
    argTypes:
    - struct vlc_http_stream*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 454
    functionName: vlc_http_stream_close
    functionSourceFile: /src/vlc/modules/access/http/message.h
    functionUses: 1
    functionsReached:
    - struct vlc_http_stream*::cbs::close
    linkageType: ''
    returnType: void
    signature: void vlc_http_stream_close(struct vlc_http_stream *s, bool abort)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vlc/modules/access/http/h2frame_test.c:48,1
    - Dst: vfprintf
      Src: /src/vlc/modules/access/http/h2frame_test.c:49,1
    - Dst: va_end
      Src: /src/vlc/modules/access/http/h2frame_test.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - fmt
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: vlc_http_dbg
    functionSourceFile: /src/vlc/modules/access/http/h2frame_test.c
    functionUses: 0
    functionsReached:
    - va_end
    - vfprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: void vlc_http_dbg(void *stream, const char *fmt, ...)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:55,1
    - Dst: fprintf
      Src: /src/vlc/modules/access/http/h2frame_test.c:58,1
    - Dst: vlc_h2_setting_name
      Src: /src/vlc/modules/access/http/h2frame_test.c:59,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:64,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:67,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:70,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:73,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:76,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:79,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:82,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - ctx
    - id
    - value
    argTypes:
    - void*
    - uint_fast16_t
    - uint_fast32_t
    assertStmts:
    - condition: (ctx == CTX)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (value == VLC_H2_MAX_HEADER_TABLE)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (value == 0)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (value == VLC_H2_MAX_STREAMS)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (value == VLC_H2_INIT_WINDOW)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (value == VLC_H2_MAX_FRAME)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (value == VLC_H2_MAX_HEADER_LIST)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (!"Known setting")
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    constantsTouched: []
    func_position:
      end: 85
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 85
    functionName: vlc_h2_setting
    functionSourceFile: /src/vlc/modules/access/http/h2frame_test.c
    functionUses: 0
    functionsReached:
    - fprintf
    - assert
    - vlc_h2_setting_name
    linkageType: ''
    returnType: void
    signature: void vlc_h2_setting(void *ctx, uint_fast16_t id, uint_fast32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts:
    - condition: (ctx == CTX)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: vlc_h2_settings_done
    functionSourceFile: /src/vlc/modules/access/http/h2frame_test.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int vlc_h2_settings_done(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:103,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - opaque
    argTypes:
    - void*
    - uint_fast64_t
    assertStmts:
    - condition: (ctx == CTX)
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (opaque == PING_VALUE)
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: vlc_h2_ping
    functionSourceFile: /src/vlc/modules/access/http/h2frame_test.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int vlc_h2_ping(void *ctx, uint_fast64_t opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - code
    argTypes:
    - void*
    - uint_fast32_t
    assertStmts:
    - condition: (ctx == CTX)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: vlc_h2_error
    functionSourceFile: /src/vlc/modules/access/http/h2frame_test.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void vlc_h2_error(void *ctx, uint_fast32_t code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:119,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - last_seq
    - code
    argTypes:
    - void*
    - uint_fast32_t
    - uint_fast32_t
    assertStmts:
    - condition: (ctx == CTX)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (last_seq == 0)
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: vlc_h2_reset
    functionSourceFile: /src/vlc/modules/access/http/h2frame_test.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int vlc_h2_reset(void *ctx, uint_fast32_t last_seq, uint_fast32_t code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - rcwd
    argTypes:
    - void*
    - uint32_t*
    assertStmts:
    - condition: (ctx == CTX)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: vlc_h2_window_status
    functionSourceFile: /src/vlc/modules/access/http/h2frame_test.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void vlc_h2_window_status(void *ctx, uint32_t * restrict rcwd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:133,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - credit
    argTypes:
    - void*
    - uint_fast32_t
    assertStmts:
    - condition: (ctx == CTX)
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (credit == 0x1000)
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: vlc_h2_window_update
    functionSourceFile: /src/vlc/modules/access/http/h2frame_test.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void vlc_h2_window_update(void *ctx, uint_fast32_t credit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - id
    argTypes:
    - void*
    - uint_fast32_t
    assertStmts:
    - condition: (ctx == CTX)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: vlc_h2_stream_lookup
    functionSourceFile: /src/vlc/modules/access/http/h2frame_test.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void *vlc_h2_stream_lookup(void *ctx, uint_fast32_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:165,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:166,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:170,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/h2frame_test.c:170,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:171,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/h2frame_test.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - count
    - hdrs
    argTypes:
    - void*
    - unsigned
    - char*[][]
    assertStmts:
    - condition: (ctx == &stream_cookie)
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (!strcmp(hdrs[i][1], resp_hdrv[i][1]))
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (!strcmp(hdrs[i][0], resp_hdrv[i][0]))
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (count == resp_hdrc)
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    constantsTouched: []
    func_position:
      end: 175
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 175
    functionName: vlc_h2_stream_headers
    functionSourceFile: /src/vlc/modules/access/http/h2frame_test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - assert
    linkageType: ''
    returnType: void
    signature: "void vlc_h2_stream_headers(void *ctx, unsigned count,\n                                  const
      char *const hdrs[][2])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_frame_data_get
      Src: /src/vlc/modules/access/http/h2frame_test.c:184,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:186,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:187,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:188,1
    - Dst: memcmp
      Src: /src/vlc/modules/access/http/h2frame_test.c:188,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame_test.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - f
    argTypes:
    - void*
    - struct vlc_h2_frame*
    assertStmts:
    - condition: (len == sizeof (MESSAGE))
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (!memcmp(buf, MESSAGE, len))
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (ctx == &stream_cookie)
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    constantsTouched: []
    func_position:
      end: 192
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 192
    functionName: vlc_h2_stream_data
    functionSourceFile: /src/vlc/modules/access/http/h2frame_test.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_h2_frame_data_get
    - assert
    - memcmp
    linkageType: ''
    returnType: int
    signature: int vlc_h2_stream_data(void *ctx, struct vlc_h2_frame *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts:
    - condition: (ctx == &stream_cookie)
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: vlc_h2_stream_end
    functionSourceFile: /src/vlc/modules/access/http/h2frame_test.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void vlc_h2_stream_end(void *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:204,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:209,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:212,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:215,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - id
    - code
    argTypes:
    - void*
    - uint_fast32_t
    - uint_fast32_t
    assertStmts:
    - condition: (ctx == CTX)
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (0)
      pos:
        line_end: 217
        line_start: 217
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (code == VLC_H2_PROTOCOL_ERROR)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (code == VLC_H2_REFUSED_STREAM)
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (code == VLC_H2_FRAME_SIZE_ERROR)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    constantsTouched: []
    func_position:
      end: 221
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 221
    functionName: vlc_h2_stream_error
    functionSourceFile: /src/vlc/modules/access/http/h2frame_test.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int vlc_h2_stream_error(void *ctx, uint_fast32_t id, uint_fast32_t
      code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:225,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - code
    argTypes:
    - void*
    - uint_fast32_t
    assertStmts:
    - condition: (ctx == &stream_cookie)
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (code == VLC_H2_CANCEL)
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: vlc_h2_stream_reset
    functionSourceFile: /src/vlc/modules/access/http/h2frame_test.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int vlc_h2_stream_reset(void *ctx, uint_fast32_t code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - credit
    argTypes:
    - void*
    - uint_fast32_t
    assertStmts:
    - condition: (ctx == &stream_cookie)
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: vlc_h2_stream_window_update
    functionSourceFile: /src/vlc/modules/access/http/h2frame_test.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void vlc_h2_stream_window_update(void *ctx, uint_fast32_t credit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - f
    - size
    argTypes:
    - struct vlc_h2_frame*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 243
    functionName: resize
    functionSourceFile: /src/vlc/modules/access/http/h2frame_test.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: struct vlc_h2_frame
    signature: struct vlc_h2_frame *resize(struct vlc_h2_frame *f, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - f
    - type
    argTypes:
    - struct vlc_h2_frame*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: retype
    functionSourceFile: /src/vlc/modules/access/http/h2frame_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct vlc_h2_frame
    signature: struct vlc_h2_frame *retype(struct vlc_h2_frame *f, unsigned char type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - f
    - flags
    argTypes:
    - struct vlc_h2_frame*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: reflag
    functionSourceFile: /src/vlc/modules/access/http/h2frame_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct vlc_h2_frame
    signature: struct vlc_h2_frame *reflag(struct vlc_h2_frame *f, unsigned char flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/access/http/h2frame_test.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct vlc_h2_frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: globalize
    functionSourceFile: /src/vlc/modules/access/http/h2frame_test.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: struct vlc_h2_frame
    signature: struct vlc_h2_frame *globalize(struct vlc_h2_frame *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct vlc_h2_frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 270
    functionName: localize
    functionSourceFile: /src/vlc/modules/access/http/h2frame_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct vlc_h2_frame
    signature: struct vlc_h2_frame *localize(struct vlc_h2_frame *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_frame_headers
      Src: /src/vlc/modules/access/http/h2frame_test.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - eos
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: response
    functionSourceFile: /src/vlc/modules/access/http/h2frame_test.c
    functionUses: 6
    functionsReached:
    - vlc_h2_frame_headers
    linkageType: ''
    returnType: struct vlc_h2_frame
    signature: struct vlc_h2_frame *response(bool eos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_frame_data
      Src: /src/vlc/modules/access/http/h2frame_test.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - eos
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: data
    functionSourceFile: /src/vlc/modules/access/http/h2frame_test.c
    functionUses: 106
    functionsReached:
    - vlc_h2_frame_data
    linkageType: ''
    returnType: struct vlc_h2_frame
    signature: struct vlc_h2_frame *data(bool eos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: localize
      Src: /src/vlc/modules/access/http/h2frame_test.c:285,1
    - Dst: resize
      Src: /src/vlc/modules/access/http/h2frame_test.c:285,1
    - Dst: retype
      Src: /src/vlc/modules/access/http/h2frame_test.c:285,1
    - Dst: data
      Src: /src/vlc/modules/access/http/h2frame_test.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: priority
    functionSourceFile: /src/vlc/modules/access/http/h2frame_test.c
    functionUses: 0
    functionsReached:
    - data
    - retype
    - localize
    - resize
    linkageType: ''
    returnType: struct vlc_h2_frame
    signature: struct vlc_h2_frame *priority(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_frame_rst_stream
      Src: /src/vlc/modules/access/http/h2frame_test.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: rst_stream
    functionSourceFile: /src/vlc/modules/access/http/h2frame_test.c
    functionUses: 1
    functionsReached:
    - vlc_h2_frame_rst_stream
    linkageType: ''
    returnType: struct vlc_h2_frame
    signature: struct vlc_h2_frame *rst_stream(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_frame_ping
      Src: /src/vlc/modules/access/http/h2frame_test.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: ping
    functionSourceFile: /src/vlc/modules/access/http/h2frame_test.c
    functionUses: 1
    functionsReached:
    - vlc_h2_frame_ping
    linkageType: ''
    returnType: struct vlc_h2_frame
    signature: struct vlc_h2_frame *ping(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_frame_goaway
      Src: /src/vlc/modules/access/http/h2frame_test.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: goaway
    functionSourceFile: /src/vlc/modules/access/http/h2frame_test.c
    functionUses: 1
    functionsReached:
    - vlc_h2_frame_goaway
    linkageType: ''
    returnType: struct vlc_h2_frame
    signature: struct vlc_h2_frame *goaway(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: retype
      Src: /src/vlc/modules/access/http/h2frame_test.c:305,1
    - Dst: ping
      Src: /src/vlc/modules/access/http/h2frame_test.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: unknown
    functionSourceFile: /src/vlc/modules/access/http/h2frame_test.c
    functionUses: 0
    functionsReached:
    - retype
    - ping
    linkageType: ''
    returnType: struct vlc_h2_frame
    signature: struct vlc_h2_frame *unknown(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:314,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/http/h2frame_test.c:316,1
    - Dst: vlc_h2_parse
      Src: /src/vlc/modules/access/http/h2frame_test.c:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p
    - ap
    argTypes:
    - struct vlc_h2_parser*
    - va_list
    assertStmts:
    - condition: (p != NULL)
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    constantsTouched: []
    func_position:
      end: 321
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 321
    functionName: test_raw_seqv
    functionSourceFile: /src/vlc/modules/access/http/h2frame_test.c
    functionUses: 0
    functionsReached:
    - va_arg
    - assert
    - vlc_h2_parse
    linkageType: ''
    returnType: unsigned
    signature: unsigned test_raw_seqv(struct vlc_h2_parser *p, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:328,1
    - Dst: va_start
      Src: /src/vlc/modules/access/http/h2frame_test.c:329,1
    - Dst: test_raw_seqv
      Src: /src/vlc/modules/access/http/h2frame_test.c:330,1
    - Dst: va_end
      Src: /src/vlc/modules/access/http/h2frame_test.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct vlc_h2_parser*
    assertStmts:
    - condition: (p != NULL)
      pos:
        line_end: 327
        line_start: 327
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: test_raw_seq
    functionSourceFile: /src/vlc/modules/access/http/h2frame_test.c
    functionUses: 0
    functionsReached:
    - va_end
    - assert
    - test_raw_seqv
    - va_start
    linkageType: ''
    returnType: unsigned
    signature: unsigned test_raw_seq(struct vlc_h2_parser *p, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_parse_init
      Src: /src/vlc/modules/access/http/h2frame_test.c:364,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:365,1
    - Dst: test_raw_seq
      Src: /src/vlc/modules/access/http/h2frame_test.c:367,1
    - Dst: vlc_h2_frame_settings
      Src: /src/vlc/modules/access/http/h2frame_test.c:367,1
    - Dst: vlc_h2_frame_settings_ack
      Src: /src/vlc/modules/access/http/h2frame_test.c:367,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:369,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:370,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:371,1
    - Dst: va_start
      Src: /src/vlc/modules/access/http/h2frame_test.c:373,1
    - Dst: test_raw_seqv
      Src: /src/vlc/modules/access/http/h2frame_test.c:374,1
    - Dst: va_end
      Src: /src/vlc/modules/access/http/h2frame_test.c:375,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:377,1
    - Dst: test_raw_seq
      Src: /src/vlc/modules/access/http/h2frame_test.c:377,1
    - Dst: goaway
      Src: /src/vlc/modules/access/http/h2frame_test.c:377,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:378,1
    - Dst: vlc_h2_parse_destroy
      Src: /src/vlc/modules/access/http/h2frame_test.c:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts:
    - condition: (p != NULL)
      pos:
        line_end: 364
        line_start: 364
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (i == 2)
      pos:
        line_end: 368
        line_start: 368
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (settings >= 1)
      pos:
        line_end: 369
        line_start: 369
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (settings_acked == 1)
      pos:
        line_end: 370
        line_start: 370
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (test_raw_seq(p, goaway(), NULL) == 1)
      pos:
        line_end: 376
        line_start: 376
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (remote_error == VLC_H2_NO_ERROR)
      pos:
        line_end: 377
        line_start: 377
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    constantsTouched: []
    func_position:
      end: 382
      start: 353
    functionDepth: 3
    functionLinenumber: 353
    functionLinenumberEnd: 382
    functionName: test_seq
    functionSourceFile: /src/vlc/modules/access/http/h2frame_test.c
    functionUses: 0
    functionsReached:
    - vlc_h2_parse_destroy
    - assert
    - va_start
    - goaway
    - vlc_h2_parse_init
    - test_raw_seq
    - vlc_h2_frame_settings_ack
    - test_raw_seqv
    - vlc_h2_frame_settings
    - va_end
    linkageType: ''
    returnType: unsigned
    signature: unsigned test_seq(void *ctx, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_parse_init
      Src: /src/vlc/modules/access/http/h2frame_test.c:390,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:391,1
    - Dst: test_raw_seq
      Src: /src/vlc/modules/access/http/h2frame_test.c:393,1
    - Dst: vlc_h2_frame_settings
      Src: /src/vlc/modules/access/http/h2frame_test.c:393,1
    - Dst: vlc_h2_frame_settings_ack
      Src: /src/vlc/modules/access/http/h2frame_test.c:393,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:395,1
    - Dst: va_start
      Src: /src/vlc/modules/access/http/h2frame_test.c:397,1
    - Dst: test_raw_seqv
      Src: /src/vlc/modules/access/http/h2frame_test.c:398,1
    - Dst: va_end
      Src: /src/vlc/modules/access/http/h2frame_test.c:399,1
    - Dst: test_raw_seq
      Src: /src/vlc/modules/access/http/h2frame_test.c:401,1
    - Dst: goaway
      Src: /src/vlc/modules/access/http/h2frame_test.c:401,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:402,1
    - Dst: vlc_h2_parse_destroy
      Src: /src/vlc/modules/access/http/h2frame_test.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts:
    - condition: (p != NULL)
      pos:
        line_end: 390
        line_start: 390
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (i == 2)
      pos:
        line_end: 394
        line_start: 394
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (i == 0)
      pos:
        line_end: 401
        line_start: 401
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    constantsTouched: []
    func_position:
      end: 405
      start: 384
    functionDepth: 3
    functionLinenumber: 384
    functionLinenumberEnd: 405
    functionName: test_bad_seq
    functionSourceFile: /src/vlc/modules/access/http/h2frame_test.c
    functionUses: 0
    functionsReached:
    - vlc_h2_parse_destroy
    - assert
    - va_start
    - goaway
    - vlc_h2_parse_init
    - test_raw_seq
    - vlc_h2_frame_settings_ack
    - test_raw_seqv
    - vlc_h2_frame_settings
    - va_end
    linkageType: ''
    returnType: unsigned
    signature: unsigned test_bad_seq(void *ctx, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_parse_init
      Src: /src/vlc/modules/access/http/h2frame_test.c:411,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:412,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:414,1
    - Dst: test_raw_seq
      Src: /src/vlc/modules/access/http/h2frame_test.c:414,1
    - Dst: ping
      Src: /src/vlc/modules/access/http/h2frame_test.c:414,1
    - Dst: ping
      Src: /src/vlc/modules/access/http/h2frame_test.c:414,1
    - Dst: vlc_h2_parse_destroy
      Src: /src/vlc/modules/access/http/h2frame_test.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (p != NULL)
      pos:
        line_end: 411
        line_start: 411
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (test_raw_seq(p, ping(), ping(), NULL) == 0)
      pos:
        line_end: 413
        line_start: 413
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    constantsTouched: []
    func_position:
      end: 417
      start: 407
    functionDepth: 3
    functionLinenumber: 407
    functionLinenumberEnd: 417
    functionName: test_preface_fail
    functionSourceFile: /src/vlc/modules/access/http/h2frame_test.c
    functionUses: 0
    functionsReached:
    - vlc_h2_parse_destroy
    - assert
    - vlc_h2_parse_init
    - test_raw_seq
    - ping
    linkageType: ''
    returnType: void
    signature: void test_preface_fail(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: response
      Src: /src/vlc/modules/access/http/h2frame_test.c:421,1
    - Dst: ping
      Src: /src/vlc/modules/access/http/h2frame_test.c:422,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:425,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:428,1
    - Dst: test_bad_seq
      Src: /src/vlc/modules/access/http/h2frame_test.c:428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (hf != NULL && hf->next != NULL && pf != NULL)
      pos:
        line_end: 424
        line_start: 424
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (test_bad_seq(CTX, hf, NULL) == 0)
      pos:
        line_end: 427
        line_start: 427
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    constantsTouched: []
    func_position:
      end: 429
      start: 419
    functionDepth: 4
    functionLinenumber: 419
    functionLinenumberEnd: 429
    functionName: test_header_block_fail
    functionSourceFile: /src/vlc/modules/access/http/h2frame_test.c
    functionUses: 0
    functionsReached:
    - test_bad_seq
    - assert
    - response
    - ping
    linkageType: ''
    returnType: void
    signature: void test_header_block_fail(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_seq
      Src: /src/vlc/modules/access/http/h2frame_test.c:435,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:436,1
    - Dst: test_seq
      Src: /src/vlc/modules/access/http/h2frame_test.c:438,1
    - Dst: ping
      Src: /src/vlc/modules/access/http/h2frame_test.c:438,1
    - Dst: vlc_h2_frame_pong
      Src: /src/vlc/modules/access/http/h2frame_test.c:438,1
    - Dst: ping
      Src: /src/vlc/modules/access/http/h2frame_test.c:438,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:439,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:440,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:441,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:442,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:443,1
    - Dst: test_seq
      Src: /src/vlc/modules/access/http/h2frame_test.c:445,1
    - Dst: response
      Src: /src/vlc/modules/access/http/h2frame_test.c:445,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:446,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:447,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:448,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:449,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:450,1
    - Dst: test_seq
      Src: /src/vlc/modules/access/http/h2frame_test.c:452,1
    - Dst: response
      Src: /src/vlc/modules/access/http/h2frame_test.c:452,1
    - Dst: data
      Src: /src/vlc/modules/access/http/h2frame_test.c:452,1
    - Dst: ping
      Src: /src/vlc/modules/access/http/h2frame_test.c:452,1
    - Dst: response
      Src: /src/vlc/modules/access/http/h2frame_test.c:453,1
    - Dst: data
      Src: /src/vlc/modules/access/http/h2frame_test.c:453,1
    - Dst: data
      Src: /src/vlc/modules/access/http/h2frame_test.c:453,1
    - Dst: response
      Src: /src/vlc/modules/access/http/h2frame_test.c:454,1
    - Dst: data
      Src: /src/vlc/modules/access/http/h2frame_test.c:454,1
    - Dst: priority
      Src: /src/vlc/modules/access/http/h2frame_test.c:454,1
    - Dst: unknown
      Src: /src/vlc/modules/access/http/h2frame_test.c:454,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:456,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:457,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:458,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:459,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:460,1
    - Dst: test_seq
      Src: /src/vlc/modules/access/http/h2frame_test.c:462,1
    - Dst: rst_stream
      Src: /src/vlc/modules/access/http/h2frame_test.c:462,1
    - Dst: vlc_h2_frame_window_update
      Src: /src/vlc/modules/access/http/h2frame_test.c:463,1
    - Dst: vlc_h2_frame_headers
      Src: /src/vlc/modules/access/http/h2frame_test.c:464,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:468,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:469,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:470,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:471,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:472,1
    - Dst: test_preface_fail
      Src: /src/vlc/modules/access/http/h2frame_test.c:474,1
    - Dst: test_header_block_fail
      Src: /src/vlc/modules/access/http/h2frame_test.c:475,1
    - Dst: test_bad_seq
      Src: /src/vlc/modules/access/http/h2frame_test.c:477,1
    - Dst: globalize
      Src: /src/vlc/modules/access/http/h2frame_test.c:477,1
    - Dst: response
      Src: /src/vlc/modules/access/http/h2frame_test.c:477,1
    - Dst: test_bad_seq
      Src: /src/vlc/modules/access/http/h2frame_test.c:478,1
    - Dst: resize
      Src: /src/vlc/modules/access/http/h2frame_test.c:478,1
    - Dst: reflag
      Src: /src/vlc/modules/access/http/h2frame_test.c:478,1
    - Dst: response
      Src: /src/vlc/modules/access/http/h2frame_test.c:478,1
    - Dst: test_bad_seq
      Src: /src/vlc/modules/access/http/h2frame_test.c:479,1
    - Dst: resize
      Src: /src/vlc/modules/access/http/h2frame_test.c:479,1
    - Dst: reflag
      Src: /src/vlc/modules/access/http/h2frame_test.c:479,1
    - Dst: response
      Src: /src/vlc/modules/access/http/h2frame_test.c:479,1
    - Dst: test_bad_seq
      Src: /src/vlc/modules/access/http/h2frame_test.c:480,1
    - Dst: globalize
      Src: /src/vlc/modules/access/http/h2frame_test.c:480,1
    - Dst: data
      Src: /src/vlc/modules/access/http/h2frame_test.c:480,1
    - Dst: test_bad_seq
      Src: /src/vlc/modules/access/http/h2frame_test.c:481,1
    - Dst: globalize
      Src: /src/vlc/modules/access/http/h2frame_test.c:481,1
    - Dst: priority
      Src: /src/vlc/modules/access/http/h2frame_test.c:481,1
    - Dst: test_bad_seq
      Src: /src/vlc/modules/access/http/h2frame_test.c:482,1
    - Dst: globalize
      Src: /src/vlc/modules/access/http/h2frame_test.c:482,1
    - Dst: rst_stream
      Src: /src/vlc/modules/access/http/h2frame_test.c:482,1
    - Dst: test_bad_seq
      Src: /src/vlc/modules/access/http/h2frame_test.c:483,1
    - Dst: localize
      Src: /src/vlc/modules/access/http/h2frame_test.c:483,1
    - Dst: vlc_h2_frame_settings
      Src: /src/vlc/modules/access/http/h2frame_test.c:483,1
    - Dst: test_bad_seq
      Src: /src/vlc/modules/access/http/h2frame_test.c:484,1
    - Dst: resize
      Src: /src/vlc/modules/access/http/h2frame_test.c:484,1
    - Dst: vlc_h2_frame_settings
      Src: /src/vlc/modules/access/http/h2frame_test.c:484,1
    - Dst: test_bad_seq
      Src: /src/vlc/modules/access/http/h2frame_test.c:485,1
    - Dst: resize
      Src: /src/vlc/modules/access/http/h2frame_test.c:485,1
    - Dst: ping
      Src: /src/vlc/modules/access/http/h2frame_test.c:485,1
    - Dst: test_bad_seq
      Src: /src/vlc/modules/access/http/h2frame_test.c:486,1
    - Dst: localize
      Src: /src/vlc/modules/access/http/h2frame_test.c:486,1
    - Dst: ping
      Src: /src/vlc/modules/access/http/h2frame_test.c:486,1
    - Dst: test_bad_seq
      Src: /src/vlc/modules/access/http/h2frame_test.c:487,1
    - Dst: localize
      Src: /src/vlc/modules/access/http/h2frame_test.c:487,1
    - Dst: goaway
      Src: /src/vlc/modules/access/http/h2frame_test.c:487,1
    - Dst: test_bad_seq
      Src: /src/vlc/modules/access/http/h2frame_test.c:488,1
    - Dst: resize
      Src: /src/vlc/modules/access/http/h2frame_test.c:488,1
    - Dst: goaway
      Src: /src/vlc/modules/access/http/h2frame_test.c:488,1
    - Dst: test_bad_seq
      Src: /src/vlc/modules/access/http/h2frame_test.c:489,1
    - Dst: vlc_h2_frame_window_update
      Src: /src/vlc/modules/access/http/h2frame_test.c:489,1
    - Dst: test_bad_seq
      Src: /src/vlc/modules/access/http/h2frame_test.c:490,1
    - Dst: resize
      Src: /src/vlc/modules/access/http/h2frame_test.c:490,1
    - Dst: vlc_h2_frame_window_update
      Src: /src/vlc/modules/access/http/h2frame_test.c:490,1
    - Dst: test_seq
      Src: /src/vlc/modules/access/http/h2frame_test.c:492,1
    - Dst: resize
      Src: /src/vlc/modules/access/http/h2frame_test.c:492,1
    - Dst: vlc_h2_frame_window_update
      Src: /src/vlc/modules/access/http/h2frame_test.c:492,1
    - Dst: test_seq
      Src: /src/vlc/modules/access/http/h2frame_test.c:494,1
    - Dst: vlc_h2_frame_window_update
      Src: /src/vlc/modules/access/http/h2frame_test.c:494,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:499,1
    - Dst: vlc_h2_frame_data
      Src: /src/vlc/modules/access/http/h2frame_test.c:499,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:502,1
    - Dst: strlen
      Src: /src/vlc/modules/access/http/h2frame_test.c:502,1
    - Dst: vlc_h2_setting_name
      Src: /src/vlc/modules/access/http/h2frame_test.c:502,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame_test.c:504,1
    - Dst: strlen
      Src: /src/vlc/modules/access/http/h2frame_test.c:504,1
    - Dst: vlc_h2_strerror
      Src: /src/vlc/modules/access/http/h2frame_test.c:504,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (stream_header_tables == 0)
      pos:
        line_end: 440
        line_start: 440
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (stream_ends == 1)
      pos:
        line_end: 449
        line_start: 449
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (ret == 10)
      pos:
        line_end: 455
        line_start: 455
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (stream_blocks == 4)
      pos:
        line_end: 458
        line_start: 458
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (stream_header_tables == 0)
      pos:
        line_end: 469
        line_start: 469
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (ret == 1)
      pos:
        line_end: 445
        line_start: 445
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (pings == 2)
      pos:
        line_end: 439
        line_start: 439
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (stream_blocks == 0)
      pos:
        line_end: 448
        line_start: 448
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (ret == 0)
      pos:
        line_end: 435
        line_start: 435
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (stream_ends == 0)
      pos:
        line_end: 442
        line_start: 442
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (strlen(vlc_h2_setting_name(i)) > 0)
      pos:
        line_end: 501
        line_start: 501
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (strlen(vlc_h2_strerror(i)) > 0)
      pos:
        line_end: 503
        line_start: 503
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (stream_header_tables == 3)
      pos:
        line_end: 457
        line_start: 457
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (pings == 0)
      pos:
        line_end: 468
        line_start: 468
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (stream_ends == 0)
      pos:
        line_end: 471
        line_start: 471
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (vlc_h2_frame_data(1, NULL, 1 << 28, false) == NULL)
      pos:
        line_end: 498
        line_start: 498
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (ret == 3)
      pos:
        line_end: 438
        line_start: 438
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (stream_header_tables == 1)
      pos:
        line_end: 447
        line_start: 447
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (stream_blocks == 0)
      pos:
        line_end: 441
        line_start: 441
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (pings == 1)
      pos:
        line_end: 456
        line_start: 456
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (ret == 3)
      pos:
        line_end: 467
        line_start: 467
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (stream_ends == 2)
      pos:
        line_end: 459
        line_start: 459
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (stream_blocks == 0)
      pos:
        line_end: 470
        line_start: 470
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    - condition: (pings == 0)
      pos:
        line_end: 446
        line_start: 446
        source_file: /src/vlc/modules/access/http/h2frame_test.c
    constantsTouched: []
    func_position:
      end: 507
      start: 431
    functionDepth: 5
    functionLinenumber: 431
    functionLinenumberEnd: 507
    functionName: main
    functionSourceFile: /src/vlc/modules/access/http/h2frame_test.c
    functionUses: 4
    functionsReached:
    - assert
    - vlc_h2_frame_window_update
    - test_preface_fail
    - vlc_h2_frame_pong
    - goaway
    - test_header_block_fail
    - test_bad_seq
    - unknown
    - resize
    - reflag
    - rst_stream
    - response
    - ping
    - vlc_h2_frame_headers
    - vlc_h2_strerror
    - vlc_h2_frame_data
    - data
    - globalize
    - localize
    - test_seq
    - vlc_h2_frame_settings
    - vlc_h2_setting_name
    - priority
    - strlen
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_cookies_new
      Src: /src/vlc/modules/access/http/file_test.c:59,1
    - Dst: vlc_http_file_create
      Src: /src/vlc/modules/access/http/file_test.c:62,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:63,1
    - Dst: vlc_http_res_set_login
      Src: /src/vlc/modules/access/http/file_test.c:64,1
    - Dst: vlc_http_res_set_login
      Src: /src/vlc/modules/access/http/file_test.c:65,1
    - Dst: vlc_http_res_set_login
      Src: /src/vlc/modules/access/http/file_test.c:66,1
    - Dst: vlc_http_res_set_login
      Src: /src/vlc/modules/access/http/file_test.c:67,1
    - Dst: vlc_http_res_set_login
      Src: /src/vlc/modules/access/http/file_test.c:68,1
    - Dst: vlc_http_file_seek
      Src: /src/vlc/modules/access/http/file_test.c:69,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:70,1
    - Dst: vlc_http_file_get_status
      Src: /src/vlc/modules/access/http/file_test.c:70,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:71,1
    - Dst: vlc_http_file_get_redirect
      Src: /src/vlc/modules/access/http/file_test.c:71,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:72,1
    - Dst: vlc_http_file_get_size
      Src: /src/vlc/modules/access/http/file_test.c:72,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:73,1
    - Dst: vlc_http_file_can_seek
      Src: /src/vlc/modules/access/http/file_test.c:73,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:74,1
    - Dst: vlc_http_file_get_type
      Src: /src/vlc/modules/access/http/file_test.c:74,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:75,1
    - Dst: vlc_http_file_read
      Src: /src/vlc/modules/access/http/file_test.c:75,1
    - Dst: vlc_http_res_destroy
      Src: /src/vlc/modules/access/http/file_test.c:76,1
    - Dst: vlc_http_file_create
      Src: /src/vlc/modules/access/http/file_test.c:86,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:87,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:88,1
    - Dst: vlc_http_file_get_status
      Src: /src/vlc/modules/access/http/file_test.c:88,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:89,1
    - Dst: vlc_http_file_can_seek
      Src: /src/vlc/modules/access/http/file_test.c:89,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:90,1
    - Dst: vlc_http_file_get_size
      Src: /src/vlc/modules/access/http/file_test.c:90,1
    - Dst: vlc_http_file_get_type
      Src: /src/vlc/modules/access/http/file_test.c:91,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:92,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/file_test.c:92,1
    - Dst: free
      Src: /src/vlc/modules/access/http/file_test.c:93,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:98,1
    - Dst: vlc_http_file_seek
      Src: /src/vlc/modules/access/http/file_test.c:98,1
    - Dst: vlc_http_file_destroy
      Src: /src/vlc/modules/access/http/file_test.c:99,1
    - Dst: vlc_http_file_create
      Src: /src/vlc/modules/access/http/file_test.c:109,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:110,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:111,1
    - Dst: vlc_http_file_can_seek
      Src: /src/vlc/modules/access/http/file_test.c:111,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:112,1
    - Dst: vlc_http_file_get_size
      Src: /src/vlc/modules/access/http/file_test.c:112,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:113,1
    - Dst: vlc_http_file_read
      Src: /src/vlc/modules/access/http/file_test.c:113,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:121,1
    - Dst: vlc_http_file_seek
      Src: /src/vlc/modules/access/http/file_test.c:121,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:122,1
    - Dst: vlc_http_file_can_seek
      Src: /src/vlc/modules/access/http/file_test.c:122,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:123,1
    - Dst: vlc_http_file_get_size
      Src: /src/vlc/modules/access/http/file_test.c:123,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:124,1
    - Dst: vlc_http_file_read
      Src: /src/vlc/modules/access/http/file_test.c:124,1
    - Dst: vlc_http_file_seek
      Src: /src/vlc/modules/access/http/file_test.c:132,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:133,1
    - Dst: vlc_http_file_can_seek
      Src: /src/vlc/modules/access/http/file_test.c:133,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:134,1
    - Dst: vlc_http_file_get_size
      Src: /src/vlc/modules/access/http/file_test.c:134,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:135,1
    - Dst: vlc_http_file_read
      Src: /src/vlc/modules/access/http/file_test.c:135,1
    - Dst: vlc_http_file_destroy
      Src: /src/vlc/modules/access/http/file_test.c:136,1
    - Dst: vlc_http_file_create
      Src: /src/vlc/modules/access/http/file_test.c:144,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:145,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:146,1
    - Dst: vlc_http_file_can_seek
      Src: /src/vlc/modules/access/http/file_test.c:146,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:147,1
    - Dst: vlc_http_file_get_size
      Src: /src/vlc/modules/access/http/file_test.c:147,1
    - Dst: vlc_http_file_get_redirect
      Src: /src/vlc/modules/access/http/file_test.c:148,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:149,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:150,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/file_test.c:150,1
    - Dst: free
      Src: /src/vlc/modules/access/http/file_test.c:151,1
    - Dst: vlc_http_file_destroy
      Src: /src/vlc/modules/access/http/file_test.c:152,1
    - Dst: vlc_http_file_create
      Src: /src/vlc/modules/access/http/file_test.c:161,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:162,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:163,1
    - Dst: vlc_http_file_get_size
      Src: /src/vlc/modules/access/http/file_test.c:163,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:164,1
    - Dst: vlc_http_file_get_redirect
      Src: /src/vlc/modules/access/http/file_test.c:164,1
    - Dst: vlc_http_file_destroy
      Src: /src/vlc/modules/access/http/file_test.c:165,1
    - Dst: vlc_http_file_create
      Src: /src/vlc/modules/access/http/file_test.c:175,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:176,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:177,1
    - Dst: vlc_http_file_can_seek
      Src: /src/vlc/modules/access/http/file_test.c:177,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:183,1
    - Dst: vlc_http_file_seek
      Src: /src/vlc/modules/access/http/file_test.c:183,1
    - Dst: vlc_http_file_destroy
      Src: /src/vlc/modules/access/http/file_test.c:184,1
    - Dst: vlc_http_file_create
      Src: /src/vlc/modules/access/http/file_test.c:192,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:193,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:194,1
    - Dst: vlc_http_file_get_size
      Src: /src/vlc/modules/access/http/file_test.c:194,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:199,1
    - Dst: vlc_http_file_seek
      Src: /src/vlc/modules/access/http/file_test.c:199,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:205,1
    - Dst: vlc_http_file_seek
      Src: /src/vlc/modules/access/http/file_test.c:205,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:206,1
    - Dst: vlc_http_file_get_size
      Src: /src/vlc/modules/access/http/file_test.c:206,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:212,1
    - Dst: vlc_http_file_seek
      Src: /src/vlc/modules/access/http/file_test.c:212,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:213,1
    - Dst: vlc_http_file_get_size
      Src: /src/vlc/modules/access/http/file_test.c:213,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:222,1
    - Dst: vlc_http_file_seek
      Src: /src/vlc/modules/access/http/file_test.c:222,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:223,1
    - Dst: vlc_http_file_can_seek
      Src: /src/vlc/modules/access/http/file_test.c:223,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:224,1
    - Dst: vlc_http_file_get_size
      Src: /src/vlc/modules/access/http/file_test.c:224,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:230,1
    - Dst: vlc_http_file_seek
      Src: /src/vlc/modules/access/http/file_test.c:230,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:231,1
    - Dst: vlc_http_file_get_redirect
      Src: /src/vlc/modules/access/http/file_test.c:231,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:236,1
    - Dst: vlc_http_file_seek
      Src: /src/vlc/modules/access/http/file_test.c:236,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:237,1
    - Dst: vlc_http_file_get_redirect
      Src: /src/vlc/modules/access/http/file_test.c:237,1
    - Dst: vlc_http_file_destroy
      Src: /src/vlc/modules/access/http/file_test.c:239,1
    - Dst: vlc_http_file_create
      Src: /src/vlc/modules/access/http/file_test.c:243,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:244,1
    - Dst: vlc_http_file_get_redirect
      Src: /src/vlc/modules/access/http/file_test.c:250,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:251,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/file_test.c:251,1
    - Dst: free
      Src: /src/vlc/modules/access/http/file_test.c:252,1
    - Dst: vlc_http_file_seek
      Src: /src/vlc/modules/access/http/file_test.c:257,1
    - Dst: vlc_http_file_get_redirect
      Src: /src/vlc/modules/access/http/file_test.c:258,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:259,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/file_test.c:259,1
    - Dst: free
      Src: /src/vlc/modules/access/http/file_test.c:260,1
    - Dst: vlc_http_file_destroy
      Src: /src/vlc/modules/access/http/file_test.c:262,1
    - Dst: vlc_http_file_create
      Src: /src/vlc/modules/access/http/file_test.c:265,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:266,1
    - Dst: vlc_http_file_create
      Src: /src/vlc/modules/access/http/file_test.c:267,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:268,1
    - Dst: vlc_http_file_create
      Src: /src/vlc/modules/access/http/file_test.c:269,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:270,1
    - Dst: vlc_http_file_destroy
      Src: /src/vlc/modules/access/http/file_test.c:271,1
    - Dst: vlc_http_cookies_destroy
      Src: /src/vlc/modules/access/http/file_test.c:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 126
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (vlc_http_file_get_size(f) == 2345)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (vlc_http_file_get_size(f) == 4567)
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (vlc_http_file_read(f) == NULL)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (vlc_http_file_can_seek(f))
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (vlc_http_file_can_seek(f))
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (f != NULL)
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (vlc_http_file_seek(f, 0) == 0)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (vlc_http_file_seek(f, 0) == 0)
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (vlc_http_file_get_type(f) == NULL)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (vlc_http_file_get_size(f) == (uintmax_t)-1)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (str != NULL && !strcmp(str, "video/mpeg"))
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (vlc_http_file_get_size(f) == 9999)
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (f != NULL)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (!vlc_http_file_can_seek(f))
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (f != NULL)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (vlc_http_file_seek(f, 0) == -1)
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (vlc_http_file_seek(f, 0) == 0)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (vlc_http_file_seek(f, offset = 1234) < 0)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (vlc_http_file_can_seek(f))
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (vlc_http_file_get_redirect(f) == NULL)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (f == NULL)
      pos:
        line_end: 265
        line_start: 265
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (vlc_http_file_read(f) == NULL)
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (f == NULL)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (f != NULL)
      pos:
        line_end: 144
        line_start: 144
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (vlc_http_file_read(f) == NULL)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (f != NULL)
      pos:
        line_end: 192
        line_start: 192
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (vlc_http_file_get_status(f) < 0)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (f != NULL)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (vlc_http_file_get_size(f) == 1234)
      pos:
        line_end: 205
        line_start: 205
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (vlc_http_file_get_size(f) == (uintmax_t)-1)
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (vlc_http_file_can_seek(f))
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (vlc_http_file_get_size(f) == (uintmax_t)-1)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (vlc_http_file_get_redirect(f) == NULL)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (vlc_http_file_get_status(f) == 200)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (vlc_http_file_get_size(f) == 3456)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (vlc_http_file_get_redirect(f) == NULL)
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (!strcmp(str, "https://www.example.com:8443/somewhere/else/"))
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (!vlc_http_file_can_seek(f))
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (vlc_http_file_read(f) == NULL)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (vlc_http_file_can_seek(f))
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (vlc_http_file_get_size(f) == (uintmax_t)-1)
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (vlc_http_file_seek(f, 0) == 0)
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (!vlc_http_file_can_seek(f))
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (vlc_http_file_get_size(f) == (uintmax_t)-1)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (str != NULL)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (vlc_http_file_get_redirect(f) == NULL)
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (f != NULL)
      pos:
        line_end: 243
        line_start: 243
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (str != NULL && strcmp(str, url_mmsh) == 0)
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (f != NULL)
      pos:
        line_end: 269
        line_start: 269
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (vlc_http_file_seek(f, offset = 1234) == 0)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (str != NULL && strcmp(str, url_icyx) == 0)
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (f != NULL)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (vlc_http_file_seek(f, offset = 1234) == 0)
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (vlc_http_file_get_size(f) == 2)
      pos:
        line_end: 223
        line_start: 223
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (vlc_http_file_seek(f, 0) == 0)
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/vlc/modules/access/http/file_test.c
    constantsTouched: []
    func_position:
      end: 275
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 275
    functionName: main
    functionSourceFile: /src/vlc/modules/access/http/file_test.c
    functionUses: 4
    functionsReached:
    - assert
    - vlc_http_res_set_login
    - vlc_http_cookies_new
    - vlc_http_res_destroy
    - vlc_http_cookies_destroy
    - vlc_http_file_get_size
    - vlc_http_file_get_status
    - vlc_http_file_get_type
    - vlc_http_file_get_redirect
    - vlc_http_file_read
    - strcmp
    - free
    - vlc_http_file_can_seek
    - vlc_http_file_seek
    - vlc_http_file_create
    - vlc_http_file_destroy
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - id
    - mtu
    - eos
    - count
    - tab
    argTypes:
    - uint_fast32_t
    - uint_fast32_t
    - bool
    - unsigned
    - char*[][]
    assertStmts:
    - condition: (!eos)
      pos:
        line_end: 284
        line_start: 284
        source_file: /src/vlc/modules/access/http/file_test.c
    constantsTouched: []
    func_position:
      end: 287
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 287
    functionName: vlc_h2_frame_headers
    functionSourceFile: /src/vlc/modules/access/http/file_test.c
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: struct vlc_h2_frame
    signature: "struct vlc_h2_frame *\nvlc_h2_frame_headers(uint_fast32_t id, uint_fast32_t
      mtu, bool eos,\n                     unsigned count, const char *const tab[][2])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:296,1
    - Dst: vlc_http_msg_headers
      Src: /src/vlc/modules/access/http/file_test.c:304,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:305,1
    - Dst: vlc_http_msg_attach
      Src: /src/vlc/modules/access/http/file_test.c:306,1
    - Dst: memmove
      Src: /src/vlc/modules/access/http/file_test.c:309,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/http/file_test.c:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct vlc_http_stream*
    assertStmts:
    - condition: (s == &stream)
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (m != NULL)
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/vlc/modules/access/http/file_test.c
    constantsTouched: []
    func_position:
      end: 313
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 313
    functionName: stream_read_headers
    functionSourceFile: /src/vlc/modules/access/http/file_test.c
    functionUses: 1
    functionsReached:
    - assert
    - ARRAY_SIZE
    - vlc_http_msg_attach
    - memmove
    - vlc_http_msg_headers
    linkageType: ''
    returnType: struct vlc_http_msg
    signature: struct vlc_http_msg *stream_read_headers(struct vlc_http_stream *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct vlc_http_stream*
    assertStmts:
    - condition: (s == &stream)
      pos:
        line_end: 316
        line_start: 316
        source_file: /src/vlc/modules/access/http/file_test.c
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: stream_read
    functionSourceFile: /src/vlc/modules/access/http/file_test.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: block_t
    signature: block_t *stream_read(struct vlc_http_stream *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:323,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - abort
    argTypes:
    - struct vlc_http_stream*
    - bool
    assertStmts:
    - condition: (s == &stream)
      pos:
        line_end: 322
        line_start: 322
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (!abort)
      pos:
        line_end: 323
        line_start: 323
        source_file: /src/vlc/modules/access/http/file_test.c
    constantsTouched: []
    func_position:
      end: 325
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 325
    functionName: stream_close
    functionSourceFile: /src/vlc/modules/access/http/file_test.c
    functionUses: 6
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void stream_close(struct vlc_http_stream *s, bool abort)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:345,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:346,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:347,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/file_test.c:347,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:348,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:349,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:350,1
    - Dst: vlc_http_msg_get_method
      Src: /src/vlc/modules/access/http/file_test.c:352,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:353,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/file_test.c:353,1
    - Dst: vlc_http_msg_get_scheme
      Src: /src/vlc/modules/access/http/file_test.c:354,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:355,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/file_test.c:355,1
    - Dst: vlc_http_msg_get_authority
      Src: /src/vlc/modules/access/http/file_test.c:356,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:357,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/file_test.c:357,1
    - Dst: vlc_http_msg_get_path
      Src: /src/vlc/modules/access/http/file_test.c:358,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:359,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/file_test.c:359,1
    - Dst: vlc_http_msg_get_agent
      Src: /src/vlc/modules/access/http/file_test.c:360,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:361,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/file_test.c:361,1
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/access/http/file_test.c:362,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:363,1
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/access/http/file_test.c:364,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:365,1
    - Dst: strstr
      Src: /src/vlc/modules/access/http/file_test.c:365,1
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/access/http/file_test.c:367,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:371,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/http/file_test.c:371,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:376,1
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/access/http/file_test.c:378,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:379,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/http/file_test.c:379,1
    - Dst: strtoul
      Src: /src/vlc/modules/access/http/file_test.c:380,1
    - Dst: vlc_http_msg_get_time
      Src: /src/vlc/modules/access/http/file_test.c:382,1
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/access/http/file_test.c:383,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:388,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/file_test.c:388,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:391,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/file_test.c:391,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/file_test.c:391,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:396,1
    - Dst: vlc_http_msg_get_initial
      Src: /src/vlc/modules/access/http/file_test.c:399,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 7
    argNames:
    - mgr
    - https
    - host
    - port
    - req
    - idempotent
    - payload
    argTypes:
    - struct vlc_http_mgr*
    - bool
    - char*
    - unsigned
    - struct vlc_http_msg*
    - bool
    - bool
    assertStmts:
    - condition: (mgr == NULL)
      pos:
        line_end: 345
        line_start: 345
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (port == 8443)
      pos:
        line_end: 347
        line_start: 347
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: '(!strcmp(str, secure ? "https" : "http"))'
      pos:
        line_end: 354
        line_start: 354
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (!strcmp(str, ua))
      pos:
        line_end: 360
        line_start: 360
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (str != NULL && strncmp(str, "en_US", 5) == 0)
      pos:
        line_end: 370
        line_start: 370
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (str == NULL)
      pos:
        line_end: 375
        line_start: 375
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (!strcmp(str, "GET"))
      pos:
        line_end: 352
        line_start: 352
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (str == NULL)
      pos:
        line_end: 362
        line_start: 362
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (str == NULL || strstr(str, "*/*") != NULL)
      pos:
        line_end: 364
        line_start: 364
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: "(str != NULL && !strncmp(str, \"bytes=\", 6)\n        && strtoul(str
        + 6, &end, 10) == offset && *end == '-')"
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (str != NULL && !strcmp(str, "\"foobar42\""))
      pos:
        line_end: 387
        line_start: 387
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (strcmp(str, "*") || strcmp(str, "\"foobar42\""))
      pos:
        line_end: 390
        line_start: 390
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (https == secure)
      pos:
        line_end: 344
        line_start: 344
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (idempotent)
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (!strcmp(str, "/dir/file.ext?a=b"))
      pos:
        line_end: 358
        line_start: 358
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (mtime == 1382386402)
      pos:
        line_end: 395
        line_start: 395
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (!strcmp(host, "www.example.com"))
      pos:
        line_end: 346
        line_start: 346
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (!payload)
      pos:
        line_end: 349
        line_start: 349
        source_file: /src/vlc/modules/access/http/file_test.c
    - condition: (!strcmp(str, "www.example.com:8443"))
      pos:
        line_end: 356
        line_start: 356
        source_file: /src/vlc/modules/access/http/file_test.c
    constantsTouched: []
    func_position:
      end: 400
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 400
    functionName: vlc_http_mgr_request
    functionSourceFile: /src/vlc/modules/access/http/file_test.c
    functionUses: 1
    functionsReached:
    - assert
    - vlc_http_msg_get_scheme
    - vlc_http_msg_get_path
    - vlc_http_msg_get_time
    - strtoul
    - strncmp
    - strcmp
    - strstr
    - vlc_http_msg_get_agent
    - vlc_http_msg_get_authority
    - vlc_http_msg_get_initial
    - vlc_http_msg_get_header
    - vlc_http_msg_get_method
    linkageType: ''
    returnType: struct vlc_http_msg
    signature: "struct vlc_http_msg *vlc_http_mgr_request(struct vlc_http_mgr *mgr,
      bool https,\n                                          const char *host, unsigned
      port,\n                                          const struct vlc_http_msg *req,\n
      \                                         bool idempotent, bool payload)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/file_test.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mgr
    argTypes:
    - struct vlc_http_mgr*
    assertStmts:
    - condition: (mgr == NULL)
      pos:
        line_end: 403
        line_start: 403
        source_file: /src/vlc/modules/access/http/file_test.c
    constantsTouched: []
    func_position:
      end: 406
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 406
    functionName: vlc_http_mgr_get_jar
    functionSourceFile: /src/vlc/modules/access/http/file_test.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: struct vlc_http_cookie_jar_t
    signature: struct vlc_http_cookie_jar_t *vlc_http_mgr_get_jar(struct vlc_http_mgr
      *mgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/vlc/modules/access/http/h2output_test.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tls
    - events
    argTypes:
    - vlc_tls_t*
    - short*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: fd_callback
    functionSourceFile: /src/vlc/modules/access/http/h2output_test.c
    functionUses: 0
    functionsReached:
    - fileno
    linkageType: ''
    returnType: int
    signature: int fd_callback(vlc_tls_t *tls, short *restrict events)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2output_test.c:57,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2output_test.c:58,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2output_test.c:65,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2output_test.c:66,1
    - Dst: memcmp
      Src: /src/vlc/modules/access/http/h2output_test.c:66,1
    - Dst: vlc_sem_post
      Src: /src/vlc/modules/access/http/h2output_test.c:69,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2output_test.c:78,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2output_test.c:79,1
    - Dst: vlc_sem_post
      Src: /src/vlc/modules/access/http/h2output_test.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - tls
    - iov
    - count
    argTypes:
    - vlc_tls_t*
    - struct iovec*
    - unsigned
    assertStmts:
    - condition: (count == 1)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/vlc/modules/access/http/h2output_test.c
    - condition: (!memcmp(p, "PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n", 24))
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/vlc/modules/access/http/h2output_test.c
    - condition: (len >= 24)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/vlc/modules/access/http/h2output_test.c
    - condition: (tls->ops->writev == send_callback)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/vlc/modules/access/http/h2output_test.c
    - condition: (len == 9 + 1)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/vlc/modules/access/http/h2output_test.c
    - condition: (p[9] == counter)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/vlc/modules/access/http/h2output_test.c
    constantsTouched: []
    func_position:
      end: 88
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 88
    functionName: send_callback
    functionSourceFile: /src/vlc/modules/access/http/h2output_test.c
    functionUses: 0
    functionsReached:
    - vlc_sem_post
    - assert
    - memcmp
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t send_callback(vlc_tls_t *tls, const struct iovec *iov,\n                             unsigned
      count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_frame_data
      Src: /src/vlc/modules/access/http/h2output_test.c:103,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2output_test.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    assertStmts:
    - condition: (f != NULL)
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/vlc/modules/access/http/h2output_test.c
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: frame
    functionSourceFile: /src/vlc/modules/access/http/h2output_test.c
    functionUses: 8
    functionsReached:
    - vlc_h2_frame_data
    - assert
    linkageType: ''
    returnType: struct vlc_h2_frame
    signature: struct vlc_h2_frame *frame(unsigned char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vlc/modules/access/http/h2output_test.c:113,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/http/h2output_test.c:116,1
    - Dst: va_end
      Src: /src/vlc/modules/access/http/h2output_test.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - first
    argTypes:
    - struct vlc_h2_frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 123
    functionName: frame_list
    functionSourceFile: /src/vlc/modules/access/http/h2output_test.c
    functionUses: 0
    functionsReached:
    - va_arg
    - va_end
    - va_start
    linkageType: ''
    returnType: struct vlc_h2_frame
    signature: struct vlc_h2_frame *frame_list(struct vlc_h2_frame *first, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_output_create
      Src: /src/vlc/modules/access/http/h2output_test.c:130,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2output_test.c:131,1
    - Dst: vlc_h2_output_destroy
      Src: /src/vlc/modules/access/http/h2output_test.c:132,1
    - Dst: vlc_sem_init
      Src: /src/vlc/modules/access/http/h2output_test.c:134,1
    - Dst: vlc_h2_output_create
      Src: /src/vlc/modules/access/http/h2output_test.c:135,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2output_test.c:136,1
    - Dst: vlc_h2_output_destroy
      Src: /src/vlc/modules/access/http/h2output_test.c:137,1
    - Dst: vlc_sem_init
      Src: /src/vlc/modules/access/http/h2output_test.c:140,1
    - Dst: vlc_h2_output_create
      Src: /src/vlc/modules/access/http/h2output_test.c:141,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2output_test.c:142,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2output_test.c:143,1
    - Dst: vlc_h2_output_send_prio
      Src: /src/vlc/modules/access/http/h2output_test.c:143,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2output_test.c:144,1
    - Dst: vlc_h2_output_send_prio
      Src: /src/vlc/modules/access/http/h2output_test.c:144,1
    - Dst: frame
      Src: /src/vlc/modules/access/http/h2output_test.c:144,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2output_test.c:145,1
    - Dst: vlc_h2_output_send_prio
      Src: /src/vlc/modules/access/http/h2output_test.c:145,1
    - Dst: frame
      Src: /src/vlc/modules/access/http/h2output_test.c:145,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2output_test.c:146,1
    - Dst: vlc_h2_output_send
      Src: /src/vlc/modules/access/http/h2output_test.c:146,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2output_test.c:147,1
    - Dst: vlc_h2_output_send
      Src: /src/vlc/modules/access/http/h2output_test.c:147,1
    - Dst: frame
      Src: /src/vlc/modules/access/http/h2output_test.c:147,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2output_test.c:148,1
    - Dst: vlc_h2_output_send
      Src: /src/vlc/modules/access/http/h2output_test.c:148,1
    - Dst: frame
      Src: /src/vlc/modules/access/http/h2output_test.c:148,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2output_test.c:149,1
    - Dst: vlc_h2_output_send
      Src: /src/vlc/modules/access/http/h2output_test.c:149,1
    - Dst: frame_list
      Src: /src/vlc/modules/access/http/h2output_test.c:149,1
    - Dst: frame
      Src: /src/vlc/modules/access/http/h2output_test.c:149,1
    - Dst: frame
      Src: /src/vlc/modules/access/http/h2output_test.c:149,1
    - Dst: frame
      Src: /src/vlc/modules/access/http/h2output_test.c:150,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2output_test.c:151,1
    - Dst: vlc_h2_output_send
      Src: /src/vlc/modules/access/http/h2output_test.c:151,1
    - Dst: frame
      Src: /src/vlc/modules/access/http/h2output_test.c:151,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/modules/access/http/h2output_test.c:153,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2output_test.c:155,1
    - Dst: vlc_h2_output_send_prio
      Src: /src/vlc/modules/access/http/h2output_test.c:155,1
    - Dst: frame
      Src: /src/vlc/modules/access/http/h2output_test.c:155,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2output_test.c:156,1
    - Dst: vlc_h2_output_send
      Src: /src/vlc/modules/access/http/h2output_test.c:156,1
    - Dst: frame
      Src: /src/vlc/modules/access/http/h2output_test.c:156,1
    - Dst: vlc_h2_output_destroy
      Src: /src/vlc/modules/access/http/h2output_test.c:158,1
    - Dst: vlc_sem_init
      Src: /src/vlc/modules/access/http/h2output_test.c:163,1
    - Dst: vlc_h2_output_create
      Src: /src/vlc/modules/access/http/h2output_test.c:165,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2output_test.c:166,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2output_test.c:168,1
    - Dst: vlc_h2_output_send
      Src: /src/vlc/modules/access/http/h2output_test.c:168,1
    - Dst: frame
      Src: /src/vlc/modules/access/http/h2output_test.c:168,1
    - Dst: vlc_h2_output_send
      Src: /src/vlc/modules/access/http/h2output_test.c:169,1
    - Dst: frame
      Src: /src/vlc/modules/access/http/h2output_test.c:169,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/access/http/h2output_test.c:170,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/http/h2output_test.c:170,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2output_test.c:171,1
    - Dst: vlc_h2_output_send
      Src: /src/vlc/modules/access/http/h2output_test.c:171,1
    - Dst: frame
      Src: /src/vlc/modules/access/http/h2output_test.c:171,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2output_test.c:172,1
    - Dst: vlc_h2_output_send_prio
      Src: /src/vlc/modules/access/http/h2output_test.c:172,1
    - Dst: frame
      Src: /src/vlc/modules/access/http/h2output_test.c:172,1
    - Dst: vlc_h2_output_destroy
      Src: /src/vlc/modules/access/http/h2output_test.c:173,1
    - Dst: vlc_sem_init
      Src: /src/vlc/modules/access/http/h2output_test.c:176,1
    - Dst: vlc_h2_output_create
      Src: /src/vlc/modules/access/http/h2output_test.c:178,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2output_test.c:179,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/modules/access/http/h2output_test.c:180,1
    - Dst: vlc_h2_output_send_prio
      Src: /src/vlc/modules/access/http/h2output_test.c:182,1
    - Dst: frame
      Src: /src/vlc/modules/access/http/h2output_test.c:182,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/access/http/h2output_test.c:183,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/http/h2output_test.c:183,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2output_test.c:184,1
    - Dst: vlc_h2_output_send
      Src: /src/vlc/modules/access/http/h2output_test.c:184,1
    - Dst: frame
      Src: /src/vlc/modules/access/http/h2output_test.c:184,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2output_test.c:185,1
    - Dst: vlc_h2_output_send_prio
      Src: /src/vlc/modules/access/http/h2output_test.c:185,1
    - Dst: frame
      Src: /src/vlc/modules/access/http/h2output_test.c:185,1
    - Dst: vlc_h2_output_destroy
      Src: /src/vlc/modules/access/http/h2output_test.c:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (out != NULL)
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/vlc/modules/access/http/h2output_test.c
    - condition: (vlc_h2_output_send(out, frame(2)) == 0)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/vlc/modules/access/http/h2output_test.c
    - condition: (vlc_h2_output_send(out, frame(3)) == 0)
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/vlc/modules/access/http/h2output_test.c
    - condition: "(vlc_h2_output_send(out, frame_list(frame(4), frame(5),\n                                              frame(6),
        NULL)) == 0)"
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/vlc/modules/access/http/h2output_test.c
    - condition: (out != NULL)
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/vlc/modules/access/http/h2output_test.c
    - condition: (vlc_h2_output_send_prio(out, frame(0)) == -1)
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/vlc/modules/access/http/h2output_test.c
    - condition: (out != NULL)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/vlc/modules/access/http/h2output_test.c
    - condition: (vlc_h2_output_send(out, NULL) == -1)
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/vlc/modules/access/http/h2output_test.c
    - condition: (vlc_h2_output_send(out, frame(0)) == -1)
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/vlc/modules/access/http/h2output_test.c
    - condition: (out != NULL)
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/vlc/modules/access/http/h2output_test.c
    - condition: (vlc_h2_output_send_prio(out, frame(0)) == 0)
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/vlc/modules/access/http/h2output_test.c
    - condition: (vlc_h2_output_send_prio(out, NULL) == -1)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/vlc/modules/access/http/h2output_test.c
    - condition: (vlc_h2_output_send(out, frame(10)) == 0)
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/vlc/modules/access/http/h2output_test.c
    - condition: (vlc_h2_output_send_prio(out, frame(1)) == 0)
      pos:
        line_end: 144
        line_start: 144
        source_file: /src/vlc/modules/access/http/h2output_test.c
    - condition: (vlc_h2_output_send(out, frame(9)) == 0)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/vlc/modules/access/http/h2output_test.c
    - condition: (vlc_h2_output_send_prio(out, frame(8)) == 0)
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/vlc/modules/access/http/h2output_test.c
    - condition: (out != NULL)
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/vlc/modules/access/http/h2output_test.c
    - condition: (vlc_h2_output_send_prio(out, frame(0)) == -1)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/vlc/modules/access/http/h2output_test.c
    - condition: (vlc_h2_output_send(out, frame(0)) == -1)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/vlc/modules/access/http/h2output_test.c
    - condition: (vlc_h2_output_send(out, frame(7)) == 0)
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/vlc/modules/access/http/h2output_test.c
    constantsTouched: []
    func_position:
      end: 189
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 189
    functionName: main
    functionSourceFile: /src/vlc/modules/access/http/h2output_test.c
    functionUses: 4
    functionsReached:
    - vlc_sem_init
    - assert
    - frame
    - vlc_sem_wait
    - vlc_h2_output_destroy
    - vlc_h2_output_send_prio
    - VLC_TICK_FROM_MS
    - frame_list
    - vlc_h2_output_create
    - vlc_tick_sleep
    - vlc_h2_output_send
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:43,1
    - Dst: vlc_http_msg_get_status
      Src: /src/vlc/modules/access/http/message_test.c:43,1
    - Dst: vlc_http_msg_get_method
      Src: /src/vlc/modules/access/http/message_test.c:44,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:45,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/message_test.c:45,1
    - Dst: vlc_http_msg_get_scheme
      Src: /src/vlc/modules/access/http/message_test.c:46,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:47,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/message_test.c:47,1
    - Dst: vlc_http_msg_get_authority
      Src: /src/vlc/modules/access/http/message_test.c:48,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:49,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/message_test.c:49,1
    - Dst: vlc_http_msg_get_path
      Src: /src/vlc/modules/access/http/message_test.c:50,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:51,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/message_test.c:51,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:52,1
    - Dst: vlc_http_msg_get_size
      Src: /src/vlc/modules/access/http/message_test.c:52,1
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/access/http/message_test.c:54,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:55,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/message_test.c:55,1
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/access/http/message_test.c:56,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:57,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/message_test.c:57,1
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/access/http/message_test.c:59,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct vlc_http_msg*
    assertStmts:
    - condition: (vlc_http_msg_get_status(m) < 0)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (vlc_http_msg_get_size(m) == 0)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str != NULL && !strcmp(str, "no-cache"))
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str == NULL)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str != NULL && !strcmp(str, "GET"))
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str != NULL && !strcmp(str, "http"))
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str != NULL && !strcmp(str, "www.example.com"))
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str != NULL && !strcmp(str, "/"))
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str != NULL && !strcmp(str, "custom-value"))
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/vlc/modules/access/http/message_test.c
    constantsTouched: []
    func_position:
      end: 61
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 61
    functionName: check_req
    functionSourceFile: /src/vlc/modules/access/http/message_test.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_http_msg_get_scheme
    - vlc_http_msg_get_path
    - strcmp
    - vlc_http_msg_get_header
    - vlc_http_msg_get_authority
    - vlc_http_msg_get_status
    - vlc_http_msg_get_method
    - vlc_http_msg_get_size
    linkageType: ''
    returnType: void
    signature: void check_req(const struct vlc_http_msg *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:67,1
    - Dst: vlc_http_msg_get_status
      Src: /src/vlc/modules/access/http/message_test.c:67,1
    - Dst: vlc_http_msg_get_method
      Src: /src/vlc/modules/access/http/message_test.c:68,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:69,1
    - Dst: vlc_http_msg_get_scheme
      Src: /src/vlc/modules/access/http/message_test.c:70,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:71,1
    - Dst: vlc_http_msg_get_authority
      Src: /src/vlc/modules/access/http/message_test.c:72,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:73,1
    - Dst: vlc_http_msg_get_path
      Src: /src/vlc/modules/access/http/message_test.c:74,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:75,1
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/access/http/message_test.c:77,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:78,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/message_test.c:78,1
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/access/http/message_test.c:79,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:80,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/message_test.c:80,1
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/access/http/message_test.c:81,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:82,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/message_test.c:82,1
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/access/http/message_test.c:83,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:84,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/message_test.c:84,1
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/access/http/message_test.c:85,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:86,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/message_test.c:86,1
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/access/http/message_test.c:89,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct vlc_http_msg*
    assertStmts:
    - condition: (str != NULL && !strcmp(str, "https://www.example.com"))
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: "(str != NULL && !strcmp(str, \"foo=ASDJKHQKBZXOQWEOPIUAXQWEOIU;
        \"\n                                  \"max-age=3600; version=1\"))"
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str == NULL)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str == NULL)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str == NULL)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str != NULL && !strcmp(str, "gzip"))
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (vlc_http_msg_get_status(m) == 200)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str != NULL && !strcmp(str, "private"))
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str == NULL)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str != NULL && !strcmp(str, "Mon, 21 Oct 2013 20:13:22 GMT"))
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str == NULL)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/vlc/modules/access/http/message_test.c
    constantsTouched: []
    func_position:
      end: 91
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 91
    functionName: check_resp
    functionSourceFile: /src/vlc/modules/access/http/message_test.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_http_msg_get_scheme
    - vlc_http_msg_get_path
    - strcmp
    - vlc_http_msg_get_header
    - vlc_http_msg_get_authority
    - vlc_http_msg_get_status
    - vlc_http_msg_get_method
    linkageType: ''
    returnType: void
    signature: void check_resp(const struct vlc_http_msg *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:97,1
    - Dst: vlc_http_msg_get_status
      Src: /src/vlc/modules/access/http/message_test.c:97,1
    - Dst: vlc_http_msg_get_method
      Src: /src/vlc/modules/access/http/message_test.c:98,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:99,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/message_test.c:99,1
    - Dst: vlc_http_msg_get_scheme
      Src: /src/vlc/modules/access/http/message_test.c:100,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:101,1
    - Dst: vlc_http_msg_get_authority
      Src: /src/vlc/modules/access/http/message_test.c:102,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:103,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/message_test.c:103,1
    - Dst: vlc_http_msg_get_path
      Src: /src/vlc/modules/access/http/message_test.c:104,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:105,1
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/access/http/message_test.c:107,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct vlc_http_msg*
    assertStmts:
    - condition: (vlc_http_msg_get_status(m) < 0)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str != NULL && !strcmp(str, "CONNECT"))
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str == NULL)
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str != NULL && !strcmp(str, "www.example.com"))
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str == NULL)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str == NULL)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/vlc/modules/access/http/message_test.c
    constantsTouched: []
    func_position:
      end: 109
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 109
    functionName: check_connect
    functionSourceFile: /src/vlc/modules/access/http/message_test.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_http_msg_get_scheme
    - vlc_http_msg_get_path
    - strcmp
    - vlc_http_msg_get_header
    - vlc_http_msg_get_authority
    - vlc_http_msg_get_status
    - vlc_http_msg_get_method
    linkageType: ''
    returnType: void
    signature: void check_connect(const struct vlc_http_msg *m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cb
      Src: /src/vlc/modules/access/http/message_test.c:118,1
    - Dst: vlc_http_msg_format
      Src: /src/vlc/modules/access/http/message_test.c:120,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:121,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:122,1
    - Dst: strlen
      Src: /src/vlc/modules/access/http/message_test.c:122,1
    - Dst: vlc_http_msg_headers
      Src: /src/vlc/modules/access/http/message_test.c:123,1
    - Dst: fprintf
      Src: /src/vlc/modules/access/http/message_test.c:124,1
    - Dst: free
      Src: /src/vlc/modules/access/http/message_test.c:125,1
    - Dst: vlc_http_msg_get_status
      Src: /src/vlc/modules/access/http/message_test.c:127,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:129,1
    - Dst: cb
      Src: /src/vlc/modules/access/http/message_test.c:130,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/message_test.c:131,1
    - Dst: vlc_http_msg_h2_frame
      Src: /src/vlc/modules/access/http/message_test.c:134,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:135,1
    - Dst: cb
      Src: /src/vlc/modules/access/http/message_test.c:136,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:137,1
    - Dst: vlc_http_msg_read
      Src: /src/vlc/modules/access/http/message_test.c:137,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/message_test.c:138,1
    - Dst: cb
      Src: /src/vlc/modules/access/http/message_test.c:140,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/message_test.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - in
    argTypes:
    - struct vlc_http_msg*
    assertStmts:
    - condition: (vlc_http_msg_read(out) == NULL)
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (strlen(m1) == len)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (out != NULL)
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (m1 != NULL)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (out != NULL)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/vlc/modules/access/http/message_test.c
    constantsTouched: []
    func_position:
      end: 142
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 142
    functionName: check_msg
    functionSourceFile: /src/vlc/modules/access/http/message_test.c
    functionUses: 0
    functionsReached:
    - assert
    - strlen
    - fprintf
    - cb
    - free
    - vlc_http_msg_format
    - vlc_http_msg_destroy
    - vlc_http_msg_headers
    - vlc_http_msg_h2_frame
    - vlc_http_msg_get_status
    - vlc_http_msg_read
    linkageType: ''
    returnType: void
    signature: "void check_msg(struct vlc_http_msg *in,\n                      void
      (*cb)(const struct vlc_http_msg *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_req_create
      Src: /src/vlc/modules/access/http/message_test.c:149,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:150,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:151,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/message_test.c:151,1
    - Dst: vlc_http_msg_get_atime
      Src: /src/vlc/modules/access/http/message_test.c:152,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:153,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/message_test.c:153,1
    - Dst: vlc_http_msg_get_mtime
      Src: /src/vlc/modules/access/http/message_test.c:154,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:155,1
    - Dst: vlc_http_msg_get_retry_after
      Src: /src/vlc/modules/access/http/message_test.c:155,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:156,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/message_test.c:156,1
    - Dst: vlc_http_msg_get_retry_after
      Src: /src/vlc/modules/access/http/message_test.c:157,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/message_test.c:158,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts:
    - condition: (m != NULL)
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (vlc_http_msg_add_header(m, "Date", "%s", str) == 0)
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (vlc_http_msg_add_header(m, "Last-Modified", "%s", str) == 0)
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (vlc_http_msg_get_retry_after(m) == 0)
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (vlc_http_msg_add_header(m, "Retry-After", "%s", str) == 0)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (t1 == t2)
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/vlc/modules/access/http/message_test.c
    constantsTouched: []
    func_position:
      end: 162
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 162
    functionName: parse_date
    functionSourceFile: /src/vlc/modules/access/http/message_test.c
    functionUses: 0
    functionsReached:
    - vlc_http_req_create
    - assert
    - vlc_http_msg_get_atime
    - vlc_http_msg_add_header
    - vlc_http_msg_get_retry_after
    - vlc_http_msg_destroy
    - vlc_http_msg_get_mtime
    linkageType: ''
    returnType: time_t
    signature: time_t parse_date(const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_resp_create
      Src: /src/vlc/modules/access/http/message_test.c:169,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:170,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:171,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/message_test.c:171,1
    - Dst: vlc_http_msg_get_basic_realm
      Src: /src/vlc/modules/access/http/message_test.c:172,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:174,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:177,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:178,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/message_test.c:178,1
    - Dst: free
      Src: /src/vlc/modules/access/http/message_test.c:179,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/message_test.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - line
    - realm
    argTypes:
    - char*
    - char*
    assertStmts:
    - condition: (m != NULL)
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (vlc_http_msg_add_header(m, "WWW-Authenticate", "%s", line) == 0)
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (value == NULL)
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (value != NULL)
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (!strcmp(value, realm))
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/vlc/modules/access/http/message_test.c
    constantsTouched: []
    func_position:
      end: 183
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 183
    functionName: check_realm
    functionSourceFile: /src/vlc/modules/access/http/message_test.c
    functionUses: 0
    functionsReached:
    - vlc_http_msg_get_basic_realm
    - assert
    - vlc_http_resp_create
    - vlc_http_msg_add_header
    - free
    - strcmp
    - vlc_http_msg_destroy
    linkageType: ''
    returnType: char
    signature: char *check_realm(const char *line, const char *realm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_req_create
      Src: /src/vlc/modules/access/http/message_test.c:192,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:193,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/message_test.c:194,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:195,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/message_test.c:196,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:197,1
    - Dst: check_msg
      Src: /src/vlc/modules/access/http/message_test.c:198,1
    - Dst: vlc_http_resp_create
      Src: /src/vlc/modules/access/http/message_test.c:200,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:201,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/message_test.c:202,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:203,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/message_test.c:204,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:205,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/message_test.c:206,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:207,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/message_test.c:208,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:209,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/message_test.c:210,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:213,1
    - Dst: check_msg
      Src: /src/vlc/modules/access/http/message_test.c:214,1
    - Dst: vlc_http_req_create
      Src: /src/vlc/modules/access/http/message_test.c:216,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:217,1
    - Dst: check_msg
      Src: /src/vlc/modules/access/http/message_test.c:218,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:221,1
    - Dst: parse_date
      Src: /src/vlc/modules/access/http/message_test.c:221,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:222,1
    - Dst: parse_date
      Src: /src/vlc/modules/access/http/message_test.c:222,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:223,1
    - Dst: parse_date
      Src: /src/vlc/modules/access/http/message_test.c:223,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:224,1
    - Dst: parse_date
      Src: /src/vlc/modules/access/http/message_test.c:224,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:225,1
    - Dst: parse_date
      Src: /src/vlc/modules/access/http/message_test.c:225,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:226,1
    - Dst: parse_date
      Src: /src/vlc/modules/access/http/message_test.c:226,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:228,1
    - Dst: check_realm
      Src: /src/vlc/modules/access/http/message_test.c:228,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:229,1
    - Dst: check_realm
      Src: /src/vlc/modules/access/http/message_test.c:229,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:230,1
    - Dst: check_realm
      Src: /src/vlc/modules/access/http/message_test.c:230,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:231,1
    - Dst: check_realm
      Src: /src/vlc/modules/access/http/message_test.c:231,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:233,1
    - Dst: check_realm
      Src: /src/vlc/modules/access/http/message_test.c:233,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:235,1
    - Dst: check_realm
      Src: /src/vlc/modules/access/http/message_test.c:235,1
    - Dst: vlc_http_req_create
      Src: /src/vlc/modules/access/http/message_test.c:237,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:238,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:240,1
    - Dst: vlc_http_msg_add_agent
      Src: /src/vlc/modules/access/http/message_test.c:240,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:241,1
    - Dst: vlc_http_msg_add_agent
      Src: /src/vlc/modules/access/http/message_test.c:241,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:242,1
    - Dst: vlc_http_msg_add_agent
      Src: /src/vlc/modules/access/http/message_test.c:242,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:243,1
    - Dst: vlc_http_msg_add_agent
      Src: /src/vlc/modules/access/http/message_test.c:243,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:245,1
    - Dst: vlc_http_msg_add_atime
      Src: /src/vlc/modules/access/http/message_test.c:245,1
    - Dst: vlc_http_msg_get_atime
      Src: /src/vlc/modules/access/http/message_test.c:246,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:247,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:248,1
    - Dst: vlc_http_msg_add_time
      Src: /src/vlc/modules/access/http/message_test.c:248,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:249,1
    - Dst: vlc_http_msg_get_mtime
      Src: /src/vlc/modules/access/http/message_test.c:249,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:251,1
    - Dst: vlc_http_msg_add_creds_basic
      Src: /src/vlc/modules/access/http/message_test.c:251,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:253,1
    - Dst: vlc_http_msg_add_creds_basic
      Src: /src/vlc/modules/access/http/message_test.c:253,1
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/access/http/message_test.c:254,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:255,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/message_test.c:255,1
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/access/http/message_test.c:256,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:257,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/message_test.c:257,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/message_test.c:259,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:260,1
    - Dst: vlc_http_msg_get_size
      Src: /src/vlc/modules/access/http/message_test.c:260,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/message_test.c:263,1
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/access/http/message_test.c:264,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:265,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/message_test.c:265,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/message_test.c:267,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/message_test.c:268,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/message_test.c:269,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/message_test.c:270,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/message_test.c:271,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/message_test.c:272,1
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/access/http/message_test.c:274,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:275,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/message_test.c:275,1
    - Dst: vlc_http_msg_get_token
      Src: /src/vlc/modules/access/http/message_test.c:276,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:277,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/http/message_test.c:277,1
    - Dst: vlc_http_msg_get_token
      Src: /src/vlc/modules/access/http/message_test.c:278,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:279,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/http/message_test.c:279,1
    - Dst: vlc_http_msg_get_token
      Src: /src/vlc/modules/access/http/message_test.c:280,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:281,1
    - Dst: vlc_http_msg_get_token
      Src: /src/vlc/modules/access/http/message_test.c:282,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:283,1
    - Dst: vlc_http_msg_get_token
      Src: /src/vlc/modules/access/http/message_test.c:284,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:285,1
    - Dst: vlc_http_msg_get_token
      Src: /src/vlc/modules/access/http/message_test.c:286,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:287,1
    - Dst: vlc_http_msg_get_token
      Src: /src/vlc/modules/access/http/message_test.c:288,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:289,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/http/message_test.c:289,1
    - Dst: vlc_http_msg_get_token
      Src: /src/vlc/modules/access/http/message_test.c:290,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:291,1
    - Dst: vlc_http_msg_get_token
      Src: /src/vlc/modules/access/http/message_test.c:292,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:293,1
    - Dst: vlc_http_msg_get_token
      Src: /src/vlc/modules/access/http/message_test.c:294,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:295,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/http/message_test.c:295,1
    - Dst: vlc_http_msg_get_token
      Src: /src/vlc/modules/access/http/message_test.c:296,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:297,1
    - Dst: vlc_http_msg_get_token
      Src: /src/vlc/modules/access/http/message_test.c:298,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:299,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/message_test.c:299,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/message_test.c:301,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/message_test.c:302,1
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/access/http/message_test.c:303,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:304,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/message_test.c:304,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:307,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/message_test.c:307,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:308,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/message_test.c:308,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:310,1
    - Dst: vlc_http_msg_add_agent
      Src: /src/vlc/modules/access/http/message_test.c:310,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:311,1
    - Dst: vlc_http_msg_add_agent
      Src: /src/vlc/modules/access/http/message_test.c:311,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:312,1
    - Dst: vlc_http_msg_add_agent
      Src: /src/vlc/modules/access/http/message_test.c:312,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:313,1
    - Dst: vlc_http_msg_add_agent
      Src: /src/vlc/modules/access/http/message_test.c:313,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:314,1
    - Dst: vlc_http_msg_add_agent
      Src: /src/vlc/modules/access/http/message_test.c:314,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:315,1
    - Dst: vlc_http_msg_add_agent
      Src: /src/vlc/modules/access/http/message_test.c:315,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:316,1
    - Dst: vlc_http_msg_add_agent
      Src: /src/vlc/modules/access/http/message_test.c:316,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:318,1
    - Dst: vlc_http_msg_add_creds_basic
      Src: /src/vlc/modules/access/http/message_test.c:318,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:319,1
    - Dst: vlc_http_msg_add_creds_basic
      Src: /src/vlc/modules/access/http/message_test.c:319,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:320,1
    - Dst: vlc_http_msg_add_creds_basic
      Src: /src/vlc/modules/access/http/message_test.c:320,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/message_test.c:322,1
    - Dst: vlc_http_msg_h2_headers
      Src: /src/vlc/modules/access/http/message_test.c:330,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:331,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:334,1
    - Dst: vlc_http_msg_headers
      Src: /src/vlc/modules/access/http/message_test.c:334,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:335,1
    - Dst: vlc_http_msg_headers
      Src: /src/vlc/modules/access/http/message_test.c:335,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:336,1
    - Dst: vlc_http_msg_headers
      Src: /src/vlc/modules/access/http/message_test.c:336,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:337,1
    - Dst: vlc_http_msg_headers
      Src: /src/vlc/modules/access/http/message_test.c:337,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:338,1
    - Dst: vlc_http_msg_headers
      Src: /src/vlc/modules/access/http/message_test.c:338,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:340,1
    - Dst: vlc_http_msg_headers
      Src: /src/vlc/modules/access/http/message_test.c:340,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 115
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ret == 0)
      pos:
        line_end: 206
        line_start: 206
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (ret == 0)
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (parse_date("Sun, 06 Bug 1994 08:49:37 GMT") == -1)
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (vlc_http_msg_add_agent(m, "Foo") == 0)
      pos:
        line_end: 239
        line_start: 239
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (vlc_http_msg_add_creds_basic(m, false, "john", "asdfg\x7f") != 0)
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: "(vlc_http_msg_headers(\"HTTP/1.1 200 OK\\r\\n\"\n                                \":status:
        200\\r\\n\\r\\n\") == NULL)"
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str == NULL)
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (vlc_http_msg_headers("\r\n") == NULL)
      pos:
        line_end: 334
        line_start: 334
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str != NULL && !strcmp(str, "no-cache"))
      pos:
        line_end: 298
        line_start: 298
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (m == NULL)
      pos:
        line_end: 330
        line_start: 330
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (vlc_http_msg_add_header(m, "", "void") == -1)
      pos:
        line_end: 307
        line_start: 307
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (parse_date("Sun Nov  6 08:49:37 1994") == 784111777)
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: "(check_realm(\"Basic realm=\\\"Realm is \\\\\\\"Hello world!\\\\\\\"\\\"\",\n
        \                      \"Realm is \\\"Hello world!\\\"\"))"
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str == NULL)
      pos:
        line_end: 292
        line_start: 292
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (vlc_http_msg_add_agent(m, "") != 0)
      pos:
        line_end: 309
        line_start: 309
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (vlc_http_msg_headers("HTTP/1.1 200 OK") == NULL)
      pos:
        line_end: 335
        line_start: 335
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (t != (time_t)-1)
      pos:
        line_end: 246
        line_start: 246
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (ret == 0)
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str == NULL)
      pos:
        line_end: 280
        line_start: 280
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str != NULL && !strncmp(str, "client-id=", 10))
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (vlc_http_msg_add_header(m, "/naughty", "header") == -1)
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (m != NULL)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (check_realm("Basic", NULL) == NULL)
      pos:
        line_end: 234
        line_start: 234
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str != NULL && !strcmp(str, "gzip, deflate"))
      pos:
        line_end: 274
        line_start: 274
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (vlc_http_msg_add_agent(m, "Bad/1.0 (\\\x08)") != 0)
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str == NULL)
      pos:
        line_end: 284
        line_start: 284
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (check_realm("basic Realm\t=\"kingdom\"", "kingdom"))
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (vlc_http_msg_add_agent(m, "(Hello world)") != 0)
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (vlc_http_msg_add_time(m, "Last-Modified", &t) == 0)
      pos:
        line_end: 247
        line_start: 247
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (ret == 0)
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (parse_date("Sun, 06 Nov 1994 08:49:37 GMT") == 784111777)
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (parse_date("bogus") == -1)
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: "(check_realm(\"Basic charset=\\\"utf-8\\\", realm=\\\"kingdom\\\"\",\n
        \                      \"kingdom\"))"
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str != NULL && !strncmp(str, "gzip", 4))
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str == NULL)
      pos:
        line_end: 286
        line_start: 286
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (vlc_http_msg_add_creds_basic(m, false, "User:name", "12345") !=
        0)
      pos:
        line_end: 317
        line_start: 317
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (m != NULL)
      pos:
        line_end: 200
        line_start: 200
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (ret == 0)
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (ret == 0)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (vlc_http_msg_get_size(m) == 1234)
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (vlc_http_msg_add_agent(m, "Bad/1.0\"") != 0)
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (parse_date("Sunday, 06-Nov-14 08:49:37 GMT") == 1415263777)
      pos:
        line_end: 223
        line_start: 223
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str != NULL && !strcmp(str, "Basic dGVzdDoxMjPCow=="))
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (vlc_http_msg_add_agent(m, "Foo/1.0 (compatible (\\(!))") == 0)
      pos:
        line_end: 242
        line_start: 242
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str != NULL && !strncmp(str, "deflate", 7))
      pos:
        line_end: 278
        line_start: 278
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: '(vlc_http_msg_headers("HTTP/1.1 200 OK\r\nH: V\r\n") == NULL)'
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (check_realm("Basic realm=\"kingdom\"", "kingdom"))
      pos:
        line_end: 227
        line_start: 227
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (vlc_http_msg_add_agent(m, "Foo/1.0 (Hello world) Bar/2.3") == 0)
      pos:
        line_end: 241
        line_start: 241
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (parse_date("Sunday, 06-Nov-94 08:49:37 GMT") == 784111777)
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (t == vlc_http_msg_get_mtime(m))
      pos:
        line_end: 248
        line_start: 248
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str != NULL && !strcmp(str, "a=1; b=2"))
      pos:
        line_end: 303
        line_start: 303
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (vlc_http_msg_add_agent(m, "Bad/1.0 \"Evil\"") != 0)
      pos:
        line_end: 314
        line_start: 314
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (vlc_http_msg_add_creds_basic(m, false, "Alice\nand\nbob", "") !=
        0)
      pos:
        line_end: 318
        line_start: 318
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (vlc_http_msg_headers("") == NULL)
      pos:
        line_end: 333
        line_start: 333
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (m != NULL)
      pos:
        line_end: 192
        line_start: 192
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (vlc_http_msg_add_atime(m) == 0)
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str != NULL && !strcmp(str, "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=="))
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str != NULL && !strcmp(str, "Hello \tworld!"))
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str != NULL && !strncmp(str, "features=\"", 10))
      pos:
        line_end: 288
        line_start: 288
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: "(vlc_http_msg_headers(\"HTTP/1.1 200 OK\\r\\n\"\n                                \"/naughty:
        invalid\\r\\n\\r\\n\") == NULL)"
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (check_realm("BaSiC REALM= \"kingdom\"", "kingdom"))
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (vlc_http_msg_add_agent(m, "Foo/1.0") == 0)
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: "(vlc_http_msg_add_creds_basic(m, false,\n                                        \"Aladdin\",
        \"open sesame\") == 0)"
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (ret == 0)
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (vlc_http_msg_add_agent(m, "/1.0") != 0)
      pos:
        line_end: 310
        line_start: 310
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str == NULL)
      pos:
        line_end: 290
        line_start: 290
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: "(vlc_http_msg_add_creds_basic(m, true, \"test\", \"123\xA3\") ==
        0)"
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (m != NULL)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (str == NULL)
      pos:
        line_end: 282
        line_start: 282
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (vlc_http_msg_add_agent(m, "Bad/1.0 (\\)") != 0)
      pos:
        line_end: 312
        line_start: 312
        source_file: /src/vlc/modules/access/http/message_test.c
    constantsTouched: []
    func_position:
      end: 344
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 344
    functionName: main
    functionSourceFile: /src/vlc/modules/access/http/message_test.c
    functionUses: 4
    functionsReached:
    - assert
    - vlc_http_msg_add_atime
    - vlc_http_msg_get_atime
    - check_realm
    - vlc_http_msg_add_time
    - vlc_http_msg_get_size
    - vlc_http_req_create
    - vlc_http_resp_create
    - vlc_http_msg_destroy
    - vlc_http_msg_headers
    - check_msg
    - vlc_http_msg_add_agent
    - vlc_http_msg_add_header
    - strncmp
    - strcmp
    - vlc_http_msg_h2_headers
    - vlc_http_msg_add_creds_basic
    - parse_date
    - vlc_http_msg_get_token
    - vlc_http_msg_get_mtime
    - vlc_http_msg_get_header
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:353,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:354,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message_test.c:355,1
    - Dst: vlc_http_msg_h2_headers
      Src: /src/vlc/modules/access/http/message_test.c:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - id
    - mtu
    - eos
    - count
    - tab
    argTypes:
    - uint_fast32_t
    - uint_fast32_t
    - bool
    - unsigned
    - char*[][]
    assertStmts:
    - condition: (id == 1)
      pos:
        line_end: 352
        line_start: 352
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (eos)
      pos:
        line_end: 354
        line_start: 354
        source_file: /src/vlc/modules/access/http/message_test.c
    - condition: (mtu == VLC_H2_DEFAULT_MAX_FRAME)
      pos:
        line_end: 353
        line_start: 353
        source_file: /src/vlc/modules/access/http/message_test.c
    constantsTouched: []
    func_position:
      end: 367
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 367
    functionName: vlc_h2_frame_headers
    functionSourceFile: /src/vlc/modules/access/http/message_test.c
    functionUses: 2
    functionsReached:
    - assert
    - vlc_http_msg_h2_headers
    linkageType: ''
    returnType: struct vlc_h2_frame
    signature: "struct vlc_h2_frame *\nvlc_h2_frame_headers(uint_fast32_t id, uint_fast32_t
      mtu, bool eos,\n                     unsigned count, const char *const tab[][2])"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/hpackenc.c:48,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - buf
    - size
    - value
    - n
    argTypes:
    - uint8_t*
    - size_t
    - uintmax_t
    - unsigned
    assertStmts:
    - condition: (n >= 1 && n <= 8)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/vlc/modules/access/http/hpackenc.c
    constantsTouched: []
    func_position:
      end: 74
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 74
    functionName: hpack_encode_int
    functionSourceFile: /src/vlc/modules/access/http/hpackenc.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: size_t
    signature: "size_t hpack_encode_int(uint8_t *restrict buf, size_t size,\n                               uintmax_t
      value, unsigned n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/access/http/hpackenc.c:79,1
    - Dst: hpack_encode_int
      Src: /src/vlc/modules/access/http/hpackenc.c:84,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/http/hpackenc.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - size
    - str
    argTypes:
    - uint8_t*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 94
    functionName: hpack_encode_str_raw
    functionSourceFile: /src/vlc/modules/access/http/hpackenc.c
    functionUses: 0
    functionsReached:
    - strlen
    - hpack_encode_int
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t hpack_encode_str_raw(uint8_t *restrict buf, size_t size,\n
      \                                  const char *str)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/access/http/hpackenc.c:99,1
    - Dst: hpack_encode_int
      Src: /src/vlc/modules/access/http/hpackenc.c:104,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - size
    - str
    argTypes:
    - uint8_t*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 118
    functionName: hpack_encode_str_raw_lower
    functionSourceFile: /src/vlc/modules/access/http/hpackenc.c
    functionUses: 0
    functionsReached:
    - strlen
    - hpack_encode_int
    linkageType: ''
    returnType: size_t
    signature: "size_t hpack_encode_str_raw_lower(uint8_t *restrict buf, size_t size,\n
      \                                        const char *str)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hpack_encode_str_raw_lower
      Src: /src/vlc/modules/access/http/hpackenc.c:131,1
    - Dst: hpack_encode_str_raw
      Src: /src/vlc/modules/access/http/hpackenc.c:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - buf
    - size
    - name
    - value
    argTypes:
    - uint8_t*
    - size_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 152
    functionName: hpack_encode_hdr_neverindex
    functionSourceFile: /src/vlc/modules/access/http/hpackenc.c
    functionUses: 0
    functionsReached:
    - hpack_encode_str_raw
    - hpack_encode_str_raw_lower
    linkageType: ''
    returnType: size_t
    signature: "size_t hpack_encode_hdr_neverindex(uint8_t *restrict buf, size_t size,\n
      \                                  const char *name, const char *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hpack_encode_hdr_neverindex
      Src: /src/vlc/modules/access/http/hpackenc.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - buf
    - size
    - headers
    - count
    argTypes:
    - uint8_t*
    - size_t
    - char*[][]
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 154
    functionDepth: 4
    functionLinenumber: 154
    functionLinenumberEnd: 176
    functionName: hpack_encode
    functionSourceFile: /src/vlc/modules/access/http/hpackenc.c
    functionUses: 0
    functionsReached:
    - hpack_encode_hdr_neverindex
    linkageType: ''
    returnType: size_t
    signature: "size_t hpack_encode(uint8_t *restrict buf, size_t size,\n                    const
      char *const headers[][2], unsigned count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hpack_encode_int
      Src: /src/vlc/modules/access/http/hpackenc.c:191,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/hpackenc.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - n
    - value
    argTypes:
    - unsigned
    - uintmax_t
    assertStmts:
    - condition: (ret > 0)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/vlc/modules/access/http/hpackenc.c
    constantsTouched: []
    func_position:
      end: 194
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 194
    functionName: test_integer
    functionSourceFile: /src/vlc/modules/access/http/hpackenc.c
    functionUses: 1
    functionsReached:
    - hpack_encode_int
    - assert
    linkageType: ''
    returnType: void
    signature: void test_integer(unsigned n, uintmax_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_integer
      Src: /src/vlc/modules/access/http/hpackenc.c:198,1
    - Dst: test_integer
      Src: /src/vlc/modules/access/http/hpackenc.c:199,1
    - Dst: test_integer
      Src: /src/vlc/modules/access/http/hpackenc.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: test_integers
    functionSourceFile: /src/vlc/modules/access/http/hpackenc.c
    functionUses: 0
    functionsReached:
    - test_integer
    linkageType: ''
    returnType: void
    signature: void test_integers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/hpackenc.c:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts:
    - condition: (c < 'A' || c > 'Z')
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/vlc/modules/access/http/hpackenc.c
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: test_lowercase
    functionSourceFile: /src/vlc/modules/access/http/hpackenc.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void test_lowercase(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vlc/modules/access/http/hpackenc.c:217,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/http/hpackenc.c:221,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/http/hpackenc.c:222,1
    - Dst: va_end
      Src: /src/vlc/modules/access/http/hpackenc.c:225,1
    - Dst: printf
      Src: /src/vlc/modules/access/http/hpackenc.c:227,1
    - Dst: hpack_encode
      Src: /src/vlc/modules/access/http/hpackenc.c:231,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/hpackenc.c:234,1
    - Dst: hpack_encode
      Src: /src/vlc/modules/access/http/hpackenc.c:234,1
    - Dst: memset
      Src: /src/vlc/modules/access/http/hpackenc.c:236,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/hpackenc.c:237,1
    - Dst: hpack_encode
      Src: /src/vlc/modules/access/http/hpackenc.c:237,1
    - Dst: hpack_decode_init
      Src: /src/vlc/modules/access/http/hpackenc.c:241,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/hpackenc.c:242,1
    - Dst: hpack_decode
      Src: /src/vlc/modules/access/http/hpackenc.c:244,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/hpackenc.c:245,1
    - Dst: hpack_decode_destroy
      Src: /src/vlc/modules/access/http/hpackenc.c:247,1
    - Dst: printf
      Src: /src/vlc/modules/access/http/hpackenc.c:251,1
    - Dst: test_lowercase
      Src: /src/vlc/modules/access/http/hpackenc.c:252,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/hpackenc.c:253,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/http/hpackenc.c:253,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/hpackenc.c:254,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/hpackenc.c:254,1
    - Dst: free
      Src: /src/vlc/modules/access/http/hpackenc.c:255,1
    - Dst: free
      Src: /src/vlc/modules/access/http/hpackenc.c:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts:
    - condition: (!strcasecmp(eheaders[i][0], headers[i][0]))
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/vlc/modules/access/http/hpackenc.c
    - condition: (!strcmp(eheaders[i][1], headers[i][1]))
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/vlc/modules/access/http/hpackenc.c
    - condition: (hpack_encode(buf, i, headers, count) == length)
      pos:
        line_end: 233
        line_start: 233
        source_file: /src/vlc/modules/access/http/hpackenc.c
    - condition: (hpack_encode(buf, length, headers, count) == length)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/vlc/modules/access/http/hpackenc.c
    - condition: (dec != NULL)
      pos:
        line_end: 241
        line_start: 241
        source_file: /src/vlc/modules/access/http/hpackenc.c
    - condition: ((unsigned)ecount == count)
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/vlc/modules/access/http/hpackenc.c
    constantsTouched: []
    func_position:
      end: 258
      start: 211
    functionDepth: 5
    functionLinenumber: 211
    functionLinenumberEnd: 258
    functionName: test_block
    functionSourceFile: /src/vlc/modules/access/http/hpackenc.c
    functionUses: 0
    functionsReached:
    - hpack_decode_init
    - assert
    - va_start
    - memset
    - printf
    - hpack_decode_destroy
    - free
    - strcmp
    - va_arg
    - hpack_encode
    - test_lowercase
    - hpack_decode
    - strcasecmp
    - va_end
    linkageType: ''
    returnType: void
    signature: void test_block(const char *name, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_block
      Src: /src/vlc/modules/access/http/hpackenc.c:262,1
    - Dst: test_block
      Src: /src/vlc/modules/access/http/hpackenc.c:263,1
    - Dst: test_block
      Src: /src/vlc/modules/access/http/hpackenc.c:265,1
    - Dst: test_block
      Src: /src/vlc/modules/access/http/hpackenc.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 271
    functionName: test_reqs
    functionSourceFile: /src/vlc/modules/access/http/hpackenc.c
    functionUses: 0
    functionsReached:
    - test_block
    linkageType: ''
    returnType: void
    signature: void test_reqs(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_block
      Src: /src/vlc/modules/access/http/hpackenc.c:275,1
    - Dst: test_block
      Src: /src/vlc/modules/access/http/hpackenc.c:278,1
    - Dst: test_block
      Src: /src/vlc/modules/access/http/hpackenc.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 288
    functionName: test_resps
    functionSourceFile: /src/vlc/modules/access/http/hpackenc.c
    functionUses: 0
    functionsReached:
    - test_block
    linkageType: ''
    returnType: void
    signature: void test_resps(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_integers
      Src: /src/vlc/modules/access/http/hpackenc.c:292,1
    - Dst: test_reqs
      Src: /src/vlc/modules/access/http/hpackenc.c:293,1
    - Dst: test_resps
      Src: /src/vlc/modules/access/http/hpackenc.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: main
    functionSourceFile: /src/vlc/modules/access/http/hpackenc.c
    functionUses: 4
    functionsReached:
    - test_reqs
    - test_integers
    - test_resps
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/http/hpack.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - header_table_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: hpack_decode_init
    functionSourceFile: /src/vlc/modules/access/http/hpack.c
    functionUses: 1
    functionsReached:
    - malloc
    linkageType: ''
    returnType: struct hpack_decoder
    signature: struct hpack_decoder *hpack_decode_init(size_t header_table_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/http/hpack.c:89,1
    - Dst: free
      Src: /src/vlc/modules/access/http/hpack.c:90,1
    - Dst: free
      Src: /src/vlc/modules/access/http/hpack.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dec
    argTypes:
    - struct hpack_decoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: hpack_decode_destroy
    functionSourceFile: /src/vlc/modules/access/http/hpack.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void hpack_decode_destroy(struct hpack_decoder *dec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/hpack.c:105,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/hpack.c:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - n
    - datap
    - lengthp
    argTypes:
    - unsigned
    - uint8_t**
    - size_t*
    assertStmts:
    - condition: (n >= 1 && n <= 8)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/vlc/modules/access/http/hpack.c
    - condition: (length >= 1)
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/vlc/modules/access/http/hpack.c
    constantsTouched: []
    func_position:
      end: 141
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 141
    functionName: hpack_decode_int
    functionSourceFile: /src/vlc/modules/access/http/hpack.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int_fast32_t
    signature: "int_fast32_t hpack_decode_int(unsigned n,\n                                     const
      uint8_t **restrict datap,\n                                     size_t *restrict
      lengthp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/http/hpack.c:148,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/http/hpack.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 155
    functionName: hpack_decode_str_raw
    functionSourceFile: /src/vlc/modules/access/http/hpack.c
    functionUses: 0
    functionsReached:
    - memcpy
    - malloc
    linkageType: ''
    returnType: char
    signature: char *hpack_decode_str_raw(const uint8_t *data, size_t length)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/hpack.c:236,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/hpack.c:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - end
    - bit_offset
    argTypes:
    - uint8_t*
    - int*
    assertStmts:
    - condition: (code >= offset)
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/vlc/modules/access/http/hpack.c
    - condition: (p - tab == 256)
      pos:
        line_end: 242
        line_start: 242
        source_file: /src/vlc/modules/access/http/hpack.c
    constantsTouched: []
    func_position:
      end: 250
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 250
    functionName: hpack_decode_byte_huffman
    functionSourceFile: /src/vlc/modules/access/http/hpack.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: "int hpack_decode_byte_huffman(const uint8_t *restrict end,\n                                     int
      *restrict bit_offset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/http/hpack.c:257,1
    - Dst: hpack_decode_byte_huffman
      Src: /src/vlc/modules/access/http/hpack.c:267,1
    - Dst: free
      Src: /src/vlc/modules/access/http/hpack.c:284,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 286
    functionName: hpack_decode_str_huffman
    functionSourceFile: /src/vlc/modules/access/http/hpack.c
    functionUses: 0
    functionsReached:
    - free
    - hpack_decode_byte_huffman
    - malloc
    linkageType: ''
    returnType: char
    signature: char *hpack_decode_str_huffman(const uint8_t *data, size_t length)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hpack_decode_int
      Src: /src/vlc/modules/access/http/hpack.c:303,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - datap
    - lengthp
    argTypes:
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 326
    functionName: hpack_decode_str
    functionSourceFile: /src/vlc/modules/access/http/hpack.c
    functionUses: 0
    functionsReached:
    - hpack_decode_int
    linkageType: ''
    returnType: char
    signature: "char *hpack_decode_str(const uint8_t **restrict datap,\n                              size_t
      *restrict lengthp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/http/hpack.c:338,1
    - Dst: strdup
      Src: /src/vlc/modules/access/http/hpack.c:339,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/http/hpack.c:341,1
    - Dst: strdup
      Src: /src/vlc/modules/access/http/hpack.c:345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - dec
    - idx
    argTypes:
    - struct hpack_decoder*
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 350
    functionName: hpack_lookup_name
    functionSourceFile: /src/vlc/modules/access/http/hpack.c
    functionUses: 0
    functionsReached:
    - strdup
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: "char *hpack_lookup_name(const struct hpack_decoder *dec,\n                               uint_fast32_t
      idx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/http/hpack.c:362,1
    - Dst: strdup
      Src: /src/vlc/modules/access/http/hpack.c:363,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/http/hpack.c:364,1
    - Dst: strdup
      Src: /src/vlc/modules/access/http/hpack.c:365,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/http/hpack.c:367,1
    - Dst: strdup
      Src: /src/vlc/modules/access/http/hpack.c:371,1
    - Dst: strlen
      Src: /src/vlc/modules/access/http/hpack.c:371,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - dec
    - idx
    argTypes:
    - struct hpack_decoder*
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 376
    functionName: hpack_lookup_value
    functionSourceFile: /src/vlc/modules/access/http/hpack.c
    functionUses: 0
    functionsReached:
    - strlen
    - strdup
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: "char *hpack_lookup_value(const struct hpack_decoder *dec,\n                                uint_fast32_t
      idx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/hpack.c:384,1
    - Dst: strlen
      Src: /src/vlc/modules/access/http/hpack.c:386,1
    - Dst: strlen
      Src: /src/vlc/modules/access/http/hpack.c:387,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/hpack.c:389,1
    - Dst: free
      Src: /src/vlc/modules/access/http/hpack.c:398,1
    - Dst: memmove
      Src: /src/vlc/modules/access/http/hpack.c:401,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - dec
    argTypes:
    - struct hpack_decoder*
    assertStmts:
    - condition: (evicted < dec->entries)
      pos:
        line_end: 383
        line_start: 383
        source_file: /src/vlc/modules/access/http/hpack.c
    - condition: (dec->size >= 32 + namelen + valuelen)
      pos:
        line_end: 388
        line_start: 388
        source_file: /src/vlc/modules/access/http/hpack.c
    constantsTouched: []
    func_position:
      end: 404
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 404
    functionName: hpack_decode_evict
    functionSourceFile: /src/vlc/modules/access/http/hpack.c
    functionUses: 0
    functionsReached:
    - free
    - strlen
    - assert
    - memmove
    linkageType: ''
    returnType: void
    signature: void hpack_decode_evict(struct hpack_decoder *dec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/access/http/hpack.c:409,1
    - Dst: strlen
      Src: /src/vlc/modules/access/http/hpack.c:409,1
    - Dst: malloc
      Src: /src/vlc/modules/access/http/hpack.c:410,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/http/hpack.c:413,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/http/hpack.c:414,1
    - Dst: realloc
      Src: /src/vlc/modules/access/http/hpack.c:416,1
    - Dst: free
      Src: /src/vlc/modules/access/http/hpack.c:420,1
    - Dst: hpack_decode_evict
      Src: /src/vlc/modules/access/http/hpack.c:429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - dec
    - name
    - value
    argTypes:
    - struct hpack_decoder*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 431
    functionName: hpack_append_hdr
    functionSourceFile: /src/vlc/modules/access/http/hpack.c
    functionUses: 0
    functionsReached:
    - strlen
    - realloc
    - memcpy
    - free
    - hpack_decode_evict
    - malloc
    linkageType: ''
    returnType: int
    signature: "int hpack_append_hdr(struct hpack_decoder *dec,\n                            const
      char *name, const char *value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hpack_decode_int
      Src: /src/vlc/modules/access/http/hpack.c:439,1
    - Dst: hpack_lookup_name
      Src: /src/vlc/modules/access/http/hpack.c:443,1
    - Dst: hpack_lookup_value
      Src: /src/vlc/modules/access/http/hpack.c:447,1
    - Dst: free
      Src: /src/vlc/modules/access/http/hpack.c:450,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - dec
    - datap
    - lengthp
    - namep
    - valuep
    argTypes:
    - struct hpack_decoder*
    - uint8_t**
    - size_t*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 457
    functionName: hpack_decode_hdr_indexed
    functionSourceFile: /src/vlc/modules/access/http/hpack.c
    functionUses: 0
    functionsReached:
    - free
    - hpack_lookup_value
    - hpack_lookup_name
    - hpack_decode_int
    linkageType: ''
    returnType: int
    signature: "int hpack_decode_hdr_indexed(struct hpack_decoder *dec,\n                                    const
      uint8_t **restrict datap,\n                                    size_t *restrict
      lengthp,\n                                    char **restrict namep,\n                                    char
      **restrict valuep)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hpack_decode_int
      Src: /src/vlc/modules/access/http/hpack.c:465,1
    - Dst: hpack_lookup_name
      Src: /src/vlc/modules/access/http/hpack.c:472,1
    - Dst: hpack_decode_str
      Src: /src/vlc/modules/access/http/hpack.c:474,1
    - Dst: hpack_decode_str
      Src: /src/vlc/modules/access/http/hpack.c:478,1
    - Dst: free
      Src: /src/vlc/modules/access/http/hpack.c:481,1
    - Dst: hpack_append_hdr
      Src: /src/vlc/modules/access/http/hpack.c:485,1
    - Dst: free
      Src: /src/vlc/modules/access/http/hpack.c:487,1
    - Dst: free
      Src: /src/vlc/modules/access/http/hpack.c:488,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - dec
    - datap
    - lengthp
    - namep
    - valuep
    argTypes:
    - struct hpack_decoder*
    - uint8_t**
    - size_t*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 459
    functionDepth: 3
    functionLinenumber: 459
    functionLinenumberEnd: 495
    functionName: hpack_decode_hdr_index
    functionSourceFile: /src/vlc/modules/access/http/hpack.c
    functionUses: 0
    functionsReached:
    - hpack_lookup_name
    - free
    - hpack_decode_str
    - hpack_append_hdr
    - hpack_decode_int
    linkageType: ''
    returnType: int
    signature: "int hpack_decode_hdr_index(struct hpack_decoder *dec,\n                                  const
      uint8_t **restrict datap,\n                                  size_t *restrict
      lengthp,\n                                  char **restrict namep,\n                                  char
      **restrict valuep)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hpack_decode_int
      Src: /src/vlc/modules/access/http/hpack.c:503,1
    - Dst: hpack_lookup_name
      Src: /src/vlc/modules/access/http/hpack.c:510,1
    - Dst: hpack_decode_str
      Src: /src/vlc/modules/access/http/hpack.c:512,1
    - Dst: hpack_decode_str
      Src: /src/vlc/modules/access/http/hpack.c:516,1
    - Dst: free
      Src: /src/vlc/modules/access/http/hpack.c:519,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - dec
    - datap
    - lengthp
    - namep
    - valuep
    argTypes:
    - struct hpack_decoder*
    - uint8_t**
    - size_t*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 497
    functionDepth: 3
    functionLinenumber: 497
    functionLinenumberEnd: 526
    functionName: hpack_decode_hdr_noindex
    functionSourceFile: /src/vlc/modules/access/http/hpack.c
    functionUses: 0
    functionsReached:
    - free
    - hpack_decode_str
    - hpack_lookup_name
    - hpack_decode_int
    linkageType: ''
    returnType: int
    signature: "int hpack_decode_hdr_noindex(struct hpack_decoder *dec,\n                                    const
      uint8_t **restrict datap,\n                                    size_t *restrict
      lengthp,\n                                    char **restrict namep,\n                                    char
      **restrict valuep)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hpack_decode_int
      Src: /src/vlc/modules/access/http/hpack.c:534,1
    - Dst: hpack_decode_evict
      Src: /src/vlc/modules/access/http/hpack.c:546,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - dec
    - datap
    - lengthp
    - name
    - value
    argTypes:
    - struct hpack_decoder*
    - uint8_t**
    - size_t*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 548
    functionName: hpack_decode_tbl_update
    functionSourceFile: /src/vlc/modules/access/http/hpack.c
    functionUses: 0
    functionsReached:
    - hpack_decode_evict
    - hpack_decode_int
    linkageType: ''
    returnType: int
    signature: "int hpack_decode_tbl_update(struct hpack_decoder *dec,\n                                   const
      uint8_t **restrict datap,\n                                   size_t *restrict
      lengthp,\n                                   char **restrict name,\n                                   char
      **restrict value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/hpack.c:559,1
    - Dst: cb
      Src: /src/vlc/modules/access/http/hpack.c:573,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - dec
    - datap
    - lengthp
    - namep
    - valuep
    argTypes:
    - struct hpack_decoder*
    - uint8_t**
    - size_t*
    - char**
    - char**
    assertStmts:
    - condition: (*lengthp >= 1)
      pos:
        line_end: 558
        line_start: 558
        source_file: /src/vlc/modules/access/http/hpack.c
    constantsTouched: []
    func_position:
      end: 574
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 574
    functionName: hpack_decode_hdr
    functionSourceFile: /src/vlc/modules/access/http/hpack.c
    functionUses: 0
    functionsReached:
    - assert
    - cb
    linkageType: ''
    returnType: int
    signature: "int hpack_decode_hdr(struct hpack_decoder *dec,\n                            const
      uint8_t **restrict datap,\n                            size_t *restrict lengthp,\n
      \                           char **restrict namep,\n                            char
      **restrict valuep)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hpack_decode_hdr
      Src: /src/vlc/modules/access/http/hpack.c:584,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/hpack.c:588,1
    - Dst: free
      Src: /src/vlc/modules/access/http/hpack.c:599,1
    - Dst: free
      Src: /src/vlc/modules/access/http/hpack.c:600,1
    - Dst: free
      Src: /src/vlc/modules/access/http/hpack.c:610,1
    - Dst: free
      Src: /src/vlc/modules/access/http/hpack.c:611,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 5
    argNames:
    - dec
    - data
    - length
    - headers
    - max
    argTypes:
    - struct hpack_decoder*
    - uint8_t*
    - size_t
    - char*[][]
    - unsigned
    assertStmts:
    - condition: ((name == NULL) == (value == NULL))
      pos:
        line_end: 587
        line_start: 587
        source_file: /src/vlc/modules/access/http/hpack.c
    constantsTouched: []
    func_position:
      end: 614
      start: 576
    functionDepth: 2
    functionLinenumber: 576
    functionLinenumberEnd: 614
    functionName: hpack_decode
    functionSourceFile: /src/vlc/modules/access/http/hpack.c
    functionUses: 1
    functionsReached:
    - free
    - assert
    - hpack_decode_hdr
    linkageType: ''
    returnType: int
    signature: "int hpack_decode(struct hpack_decoder *dec, const uint8_t *data,\n
      \                size_t length, char *headers[][2], unsigned max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/modules/access/http/hpack.c:624,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/hpack.c:631,1
    - Dst: hpack_decode_int
      Src: /src/vlc/modules/access/http/hpack.c:631,1
    - Dst: hpack_decode_int
      Src: /src/vlc/modules/access/http/hpack.c:636,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/hpack.c:638,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/hpack.c:639,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/hpack.c:640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - n
    - buf
    - len
    - value
    argTypes:
    - unsigned
    - uint8_t*
    - size_t
    - int_fast32_t
    assertStmts:
    - condition: (hpack_decode_int(n, &cutbuf, &cutlen) == -1)
      pos:
        line_end: 630
        line_start: 630
        source_file: /src/vlc/modules/access/http/hpack.c
    - condition: (v == value)
      pos:
        line_end: 637
        line_start: 637
        source_file: /src/vlc/modules/access/http/hpack.c
    - condition: (buf == end)
      pos:
        line_end: 638
        line_start: 638
        source_file: /src/vlc/modules/access/http/hpack.c
    - condition: (len == 0)
      pos:
        line_end: 639
        line_start: 639
        source_file: /src/vlc/modules/access/http/hpack.c
    constantsTouched: []
    func_position:
      end: 641
      start: 621
    functionDepth: 2
    functionLinenumber: 621
    functionLinenumberEnd: 641
    functionName: test_integer
    functionSourceFile: /src/vlc/modules/access/http/hpack.c
    functionUses: 2
    functionsReached:
    - printf
    - assert
    - hpack_decode_int
    linkageType: ''
    returnType: void
    signature: "void test_integer(unsigned n, const uint8_t *buf, size_t len,\n                         int_fast32_t
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_integer
      Src: /src/vlc/modules/access/http/hpack.c:649,1
    - Dst: test_integer
      Src: /src/vlc/modules/access/http/hpack.c:656,1
    - Dst: test_integer
      Src: /src/vlc/modules/access/http/hpack.c:661,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 662
    functionName: test_integers
    functionSourceFile: /src/vlc/modules/access/http/hpack.c
    functionUses: 1
    functionsReached:
    - test_integer
    linkageType: ''
    returnType: void
    signature: void test_integers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/modules/access/http/hpack.c:667,1
    - Dst: hpack_decode_init
      Src: /src/vlc/modules/access/http/hpack.c:669,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/hpack.c:670,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/hpack.c:681,1
    - Dst: hpack_decode_hdr
      Src: /src/vlc/modules/access/http/hpack.c:681,1
    - Dst: hpack_decode_hdr
      Src: /src/vlc/modules/access/http/hpack.c:685,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/hpack.c:686,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/hpack.c:687,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/hpack.c:687,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/hpack.c:688,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/hpack.c:688,1
    - Dst: free
      Src: /src/vlc/modules/access/http/hpack.c:689,1
    - Dst: free
      Src: /src/vlc/modules/access/http/hpack.c:690,1
    - Dst: hpack_decode_destroy
      Src: /src/vlc/modules/access/http/hpack.c:692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - str
    - len
    - name
    - value
    argTypes:
    - char*
    - size_t
    - char*
    - char*
    assertStmts:
    - condition: (dec != NULL)
      pos:
        line_end: 669
        line_start: 669
        source_file: /src/vlc/modules/access/http/hpack.c
    - condition: (hpack_decode_hdr(dec, &cutbuf, &cutlen, &n, &v) == -1)
      pos:
        line_end: 680
        line_start: 680
        source_file: /src/vlc/modules/access/http/hpack.c
    - condition: (ret == 0)
      pos:
        line_end: 685
        line_start: 685
        source_file: /src/vlc/modules/access/http/hpack.c
    - condition: (!strcmp(name, n))
      pos:
        line_end: 686
        line_start: 686
        source_file: /src/vlc/modules/access/http/hpack.c
    - condition: (!strcmp(value, v))
      pos:
        line_end: 687
        line_start: 687
        source_file: /src/vlc/modules/access/http/hpack.c
    constantsTouched: []
    func_position:
      end: 693
      start: 664
    functionDepth: 2
    functionLinenumber: 664
    functionLinenumberEnd: 693
    functionName: test_header
    functionSourceFile: /src/vlc/modules/access/http/hpack.c
    functionUses: 0
    functionsReached:
    - hpack_decode_init
    - assert
    - printf
    - hpack_decode_destroy
    - free
    - strcmp
    - hpack_decode_hdr
    linkageType: ''
    returnType: void
    signature: "void test_header(const char *str, size_t len,\n                        const
      char *name, const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_header
      Src: /src/vlc/modules/access/http/hpack.c:697,1
    - Dst: test_header
      Src: /src/vlc/modules/access/http/hpack.c:699,1
    - Dst: test_header
      Src: /src/vlc/modules/access/http/hpack.c:700,1
    - Dst: test_header
      Src: /src/vlc/modules/access/http/hpack.c:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 695
    functionDepth: 3
    functionLinenumber: 695
    functionLinenumberEnd: 702
    functionName: test_headers
    functionSourceFile: /src/vlc/modules/access/http/hpack.c
    functionUses: 0
    functionsReached:
    - test_header
    linkageType: ''
    returnType: void
    signature: void test_headers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/modules/access/http/hpack.c:707,1
    - Dst: hpack_decode
      Src: /src/vlc/modules/access/http/hpack.c:713,1
    - Dst: printf
      Src: /src/vlc/modules/access/http/hpack.c:715,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/hpack.c:716,1
    - Dst: va_start
      Src: /src/vlc/modules/access/http/hpack.c:718,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/http/hpack.c:721,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/http/hpack.c:722,1
    - Dst: printf
      Src: /src/vlc/modules/access/http/hpack.c:724,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/hpack.c:725,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/hpack.c:725,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/hpack.c:726,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/hpack.c:726,1
    - Dst: free
      Src: /src/vlc/modules/access/http/hpack.c:727,1
    - Dst: free
      Src: /src/vlc/modules/access/http/hpack.c:728,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - dec
    - req
    - len
    argTypes:
    - struct hpack_decoder*
    - char*
    - size_t
    assertStmts:
    - condition: (count >= 0)
      pos:
        line_end: 715
        line_start: 715
        source_file: /src/vlc/modules/access/http/hpack.c
    - condition: (!strcmp(name, headers[i][0]))
      pos:
        line_end: 724
        line_start: 724
        source_file: /src/vlc/modules/access/http/hpack.c
    - condition: (!strcmp(value, headers[i][1]))
      pos:
        line_end: 725
        line_start: 725
        source_file: /src/vlc/modules/access/http/hpack.c
    constantsTouched: []
    func_position:
      end: 731
      start: 704
    functionDepth: 3
    functionLinenumber: 704
    functionLinenumberEnd: 731
    functionName: test_block
    functionSourceFile: /src/vlc/modules/access/http/hpack.c
    functionUses: 2
    functionsReached:
    - assert
    - va_start
    - printf
    - free
    - strcmp
    - va_arg
    - hpack_decode
    linkageType: ''
    returnType: void
    signature: "void test_block(struct hpack_decoder *dec, const char *req, size_t
      len,\n                       ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hpack_decode_init
      Src: /src/vlc/modules/access/http/hpack.c:735,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/hpack.c:736,1
    - Dst: test_block
      Src: /src/vlc/modules/access/http/hpack.c:738,1
    - Dst: test_block
      Src: /src/vlc/modules/access/http/hpack.c:739,1
    - Dst: test_block
      Src: /src/vlc/modules/access/http/hpack.c:742,1
    - Dst: test_block
      Src: /src/vlc/modules/access/http/hpack.c:746,1
    - Dst: hpack_decode_destroy
      Src: /src/vlc/modules/access/http/hpack.c:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (dec != NULL)
      pos:
        line_end: 735
        line_start: 735
        source_file: /src/vlc/modules/access/http/hpack.c
    constantsTouched: []
    func_position:
      end: 753
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 753
    functionName: test_reqs
    functionSourceFile: /src/vlc/modules/access/http/hpack.c
    functionUses: 1
    functionsReached:
    - hpack_decode_destroy
    - hpack_decode_init
    - test_block
    - assert
    linkageType: ''
    returnType: void
    signature: void test_reqs(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hpack_decode_init
      Src: /src/vlc/modules/access/http/hpack.c:757,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/hpack.c:758,1
    - Dst: test_block
      Src: /src/vlc/modules/access/http/hpack.c:760,1
    - Dst: test_block
      Src: /src/vlc/modules/access/http/hpack.c:764,1
    - Dst: test_block
      Src: /src/vlc/modules/access/http/hpack.c:768,1
    - Dst: hpack_decode_destroy
      Src: /src/vlc/modules/access/http/hpack.c:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (dec != NULL)
      pos:
        line_end: 757
        line_start: 757
        source_file: /src/vlc/modules/access/http/hpack.c
    constantsTouched: []
    func_position:
      end: 775
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 775
    functionName: test_reqs_huffman
    functionSourceFile: /src/vlc/modules/access/http/hpack.c
    functionUses: 0
    functionsReached:
    - hpack_decode_destroy
    - hpack_decode_init
    - test_block
    - assert
    linkageType: ''
    returnType: void
    signature: void test_reqs_huffman(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hpack_decode_init
      Src: /src/vlc/modules/access/http/hpack.c:779,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/hpack.c:780,1
    - Dst: test_block
      Src: /src/vlc/modules/access/http/hpack.c:782,1
    - Dst: test_block
      Src: /src/vlc/modules/access/http/hpack.c:788,1
    - Dst: test_block
      Src: /src/vlc/modules/access/http/hpack.c:792,1
    - Dst: hpack_decode_destroy
      Src: /src/vlc/modules/access/http/hpack.c:803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (dec != NULL)
      pos:
        line_end: 779
        line_start: 779
        source_file: /src/vlc/modules/access/http/hpack.c
    constantsTouched: []
    func_position:
      end: 804
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 804
    functionName: test_resps
    functionSourceFile: /src/vlc/modules/access/http/hpack.c
    functionUses: 1
    functionsReached:
    - hpack_decode_destroy
    - hpack_decode_init
    - test_block
    - assert
    linkageType: ''
    returnType: void
    signature: void test_resps(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hpack_decode_init
      Src: /src/vlc/modules/access/http/hpack.c:808,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/hpack.c:809,1
    - Dst: test_block
      Src: /src/vlc/modules/access/http/hpack.c:811,1
    - Dst: test_block
      Src: /src/vlc/modules/access/http/hpack.c:818,1
    - Dst: test_block
      Src: /src/vlc/modules/access/http/hpack.c:822,1
    - Dst: hpack_decode_destroy
      Src: /src/vlc/modules/access/http/hpack.c:836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (dec != NULL)
      pos:
        line_end: 808
        line_start: 808
        source_file: /src/vlc/modules/access/http/hpack.c
    constantsTouched: []
    func_position:
      end: 837
      start: 806
    functionDepth: 1
    functionLinenumber: 806
    functionLinenumberEnd: 837
    functionName: test_resps_huffman
    functionSourceFile: /src/vlc/modules/access/http/hpack.c
    functionUses: 0
    functionsReached:
    - hpack_decode_destroy
    - hpack_decode_init
    - test_block
    - assert
    linkageType: ''
    returnType: void
    signature: void test_resps_huffman(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_integers
      Src: /src/vlc/modules/access/http/hpack.c:842,1
    - Dst: test_headers
      Src: /src/vlc/modules/access/http/hpack.c:843,1
    - Dst: test_reqs
      Src: /src/vlc/modules/access/http/hpack.c:844,1
    - Dst: test_reqs_huffman
      Src: /src/vlc/modules/access/http/hpack.c:845,1
    - Dst: test_resps
      Src: /src/vlc/modules/access/http/hpack.c:846,1
    - Dst: test_resps_huffman
      Src: /src/vlc/modules/access/http/hpack.c:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 840
    functionDepth: 4
    functionLinenumber: 840
    functionLinenumberEnd: 848
    functionName: main
    functionSourceFile: /src/vlc/modules/access/http/hpack.c
    functionUses: 4
    functionsReached:
    - test_resps
    - test_headers
    - test_reqs
    - test_integers
    - test_resps_huffman
    - test_reqs_huffman
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - entry
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: portcmp
    functionSourceFile: /src/vlc/modules/access/http/ports.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int portcmp(const void *key, const void *entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/vlc/modules/access/http/ports.c:111,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/http/ports.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - port
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: vlc_http_port_blocked
    functionSourceFile: /src/vlc/modules/access/http/ports.c
    functionUses: 1
    functionsReached:
    - bsearch
    - ARRAY_SIZE
    linkageType: ''
    returnType: bool
    signature: bool vlc_http_port_blocked(unsigned port)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/access/http/h1conn.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: vlc_http_can_read
    functionSourceFile: /src/vlc/modules/access/http/h1conn.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: unsigned
    signature: unsigned vlc_http_can_read(const char *buf, size_t len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_can_read
      Src: /src/vlc/modules/access/http/h1conn.c:62,1
    - Dst: realloc
      Src: /src/vlc/modules/access/http/h1conn.c:72,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/h1conn.c:73,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn.c:79,1
    - Dst: vlc_tls_Read
      Src: /src/vlc/modules/access/http/h1conn.c:81,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn.c:90,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h1conn.c:96,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - tls
    - lenp
    argTypes:
    - struct vlc_tls*
    - size_t*
    assertStmts:
    - condition: (size - len >= canread)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/vlc/modules/access/http/h1conn.c
    - condition: (size - len >= 1)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/vlc/modules/access/http/h1conn.c
    constantsTouched: []
    func_position:
      end: 98
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 98
    functionName: vlc_https_headers_recv
    functionSourceFile: /src/vlc/modules/access/http/h1conn.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_tls_Read
    - realloc
    - free
    - vlc_http_can_read
    - unlikely
    linkageType: ''
    returnType: char
    signature: char *vlc_https_headers_recv(struct vlc_tls *tls, size_t *restrict
      lenp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/vlc/modules/access/http/h1conn.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: vlc_http_minor
    functionSourceFile: /src/vlc/modules/access/http/h1conn.c
    functionUses: 0
    functionsReached:
    - sscanf
    linkageType: ''
    returnType: int
    signature: int vlc_http_minor(const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - conn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: CO
    functionSourceFile: /src/vlc/modules/access/http/h1conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CO(conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_dbg
      Src: /src/vlc/modules/access/http/h1conn.c:130,1
    - Dst: CO
      Src: /src/vlc/modules/access/http/h1conn.c:130,1
    - Dst: vlc_tls_Shutdown
      Src: /src/vlc/modules/access/http/h1conn.c:131,1
    - Dst: vlc_tls_Close
      Src: /src/vlc/modules/access/http/h1conn.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct vlc_h1_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: vlc_h1_stream_fatal
    functionSourceFile: /src/vlc/modules/access/http/h1conn.c
    functionUses: 0
    functionsReached:
    - vlc_tls_Shutdown
    - CO
    - vlc_tls_Close
    - vlc_http_dbg
    linkageType: ''
    returnType: void
    signature: void *vlc_h1_stream_fatal(struct vlc_h1_conn *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/access/http/h1conn.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - struct vlc_http_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: vlc_h1_stream_conn
    functionSourceFile: /src/vlc/modules/access/http/h1conn.c
    functionUses: 0
    functionsReached:
    - container_of
    linkageType: ''
    returnType: struct vlc_h1_conn
    signature: struct vlc_h1_conn *vlc_h1_stream_conn(struct vlc_http_stream *stream)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/access/http/h1conn.c:146,1
    - Dst: vlc_http_msg_format
      Src: /src/vlc/modules/access/http/h1conn.c:153,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/h1conn.c:154,1
    - Dst: vlc_http_dbg
      Src: /src/vlc/modules/access/http/h1conn.c:157,1
    - Dst: CO
      Src: /src/vlc/modules/access/http/h1conn.c:157,1
    - Dst: vlc_tls_Write
      Src: /src/vlc/modules/access/http/h1conn.c:158,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h1conn.c:159,1
    - Dst: vlc_h1_stream_fatal
      Src: /src/vlc/modules/access/http/h1conn.c:162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - c
    - req
    - has_data
    argTypes:
    - struct vlc_http_conn*
    - struct vlc_http_msg*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 168
    functionName: vlc_h1_stream_open
    functionSourceFile: /src/vlc/modules/access/http/h1conn.c
    functionUses: 0
    functionsReached:
    - vlc_h1_stream_fatal
    - vlc_http_dbg
    - container_of
    - vlc_tls_Write
    - free
    - vlc_http_msg_format
    - CO
    - unlikely
    linkageType: ''
    returnType: struct vlc_http_stream
    signature: "struct vlc_http_stream *vlc_h1_stream_open(struct vlc_http_conn *c,\n
      \                                const struct vlc_http_msg *req, bool has_data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h1_stream_conn
      Src: /src/vlc/modules/access/http/h1conn.c:172,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn.c:178,1
    - Dst: vlc_https_headers_recv
      Src: /src/vlc/modules/access/http/h1conn.c:183,1
    - Dst: vlc_h1_stream_fatal
      Src: /src/vlc/modules/access/http/h1conn.c:185,1
    - Dst: vlc_http_dbg
      Src: /src/vlc/modules/access/http/h1conn.c:187,1
    - Dst: CO
      Src: /src/vlc/modules/access/http/h1conn.c:187,1
    - Dst: vlc_http_msg_headers
      Src: /src/vlc/modules/access/http/h1conn.c:189,1
    - Dst: vlc_http_minor
      Src: /src/vlc/modules/access/http/h1conn.c:190,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h1conn.c:191,1
    - Dst: vlc_h1_stream_fatal
      Src: /src/vlc/modules/access/http/h1conn.c:194,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn.c:196,1
    - Dst: vlc_http_msg_get_size
      Src: /src/vlc/modules/access/http/h1conn.c:198,1
    - Dst: vlc_http_msg_get_token
      Src: /src/vlc/modules/access/http/h1conn.c:203,1
    - Dst: vlc_http_msg_get_token
      Src: /src/vlc/modules/access/http/h1conn.c:206,1
    - Dst: vlc_http_next_token
      Src: /src/vlc/modules/access/http/h1conn.c:209,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/h1conn.c:211,1
    - Dst: vlc_h1_stream_fatal
      Src: /src/vlc/modules/access/http/h1conn.c:212,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn.c:215,1
    - Dst: vlc_chunked_open
      Src: /src/vlc/modules/access/http/h1conn.c:216,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/h1conn.c:217,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/h1conn.c:219,1
    - Dst: vlc_h1_stream_fatal
      Src: /src/vlc/modules/access/http/h1conn.c:220,1
    - Dst: vlc_http_msg_attach
      Src: /src/vlc/modules/access/http/h1conn.c:227,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - stream
    argTypes:
    - struct vlc_http_stream*
    assertStmts:
    - condition: (conn->content_length == UINTMAX_MAX)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/vlc/modules/access/http/h1conn.c
    - condition: (minor >= 0)
      pos:
        line_end: 195
        line_start: 195
        source_file: /src/vlc/modules/access/http/h1conn.c
    - condition: (conn->active)
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/vlc/modules/access/http/h1conn.c
    constantsTouched: []
    func_position:
      end: 229
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 229
    functionName: vlc_h1_stream_wait
    functionSourceFile: /src/vlc/modules/access/http/h1conn.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_h1_stream_fatal
    - vlc_h1_stream_conn
    - vlc_http_dbg
    - vlc_http_msg_get_token
    - vlc_http_msg_attach
    - vlc_http_minor
    - free
    - vlc_http_msg_destroy
    - vlc_http_next_token
    - vlc_http_msg_headers
    - vlc_chunked_open
    - vlc_https_headers_recv
    - CO
    - unlikely
    - vlc_http_msg_get_size
    linkageType: ''
    returnType: struct vlc_http_msg
    signature: struct vlc_http_msg *vlc_h1_stream_wait(struct vlc_http_stream *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h1_stream_conn
      Src: /src/vlc/modules/access/http/h1conn.c:234,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn.c:236,1
    - Dst: vlc_https_chunked_write
      Src: /src/vlc/modules/access/http/h1conn.c:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - stream
    - base
    - length
    - eos
    argTypes:
    - struct vlc_http_stream*
    - void*
    - size_t
    - bool
    assertStmts:
    - condition: (conn->active)
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/vlc/modules/access/http/h1conn.c
    constantsTouched: []
    func_position:
      end: 245
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 245
    functionName: vlc_h1_stream_write
    functionSourceFile: /src/vlc/modules/access/http/h1conn.c
    functionUses: 0
    functionsReached:
    - vlc_https_chunked_write
    - assert
    - vlc_h1_stream_conn
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t vlc_h1_stream_write(struct vlc_http_stream *stream,\n                                   const
      void *base, size_t length, bool eos)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h1_stream_conn
      Src: /src/vlc/modules/access/http/h1conn.c:249,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn.c:252,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/http/h1conn.c:262,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/h1conn.c:263,1
    - Dst: vlc_tls_Read
      Src: /src/vlc/modules/access/http/h1conn.c:266,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/http/h1conn.c:269,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - stream
    argTypes:
    - struct vlc_http_stream*
    assertStmts:
    - condition: (conn->active)
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/vlc/modules/access/http/h1conn.c
    constantsTouched: []
    func_position:
      end: 285
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 285
    functionName: vlc_h1_stream_read
    functionSourceFile: /src/vlc/modules/access/http/h1conn.c
    functionUses: 0
    functionsReached:
    - block_Release
    - assert
    - vlc_h1_stream_conn
    - vlc_tls_Read
    - block_Alloc
    - unlikely
    linkageType: ''
    returnType: block_t
    signature: block_t *vlc_h1_stream_read(struct vlc_http_stream *stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h1_stream_conn
      Src: /src/vlc/modules/access/http/h1conn.c:289,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn.c:291,1
    - Dst: vlc_h1_stream_fatal
      Src: /src/vlc/modules/access/http/h1conn.c:303,1
    - Dst: vlc_h1_conn_destroy
      Src: /src/vlc/modules/access/http/h1conn.c:308,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - stream
    - abort
    argTypes:
    - struct vlc_http_stream*
    - bool
    assertStmts:
    - condition: (conn->active)
      pos:
        line_end: 290
        line_start: 290
        source_file: /src/vlc/modules/access/http/h1conn.c
    constantsTouched: []
    func_position:
      end: 309
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 309
    functionName: vlc_h1_stream_close
    functionSourceFile: /src/vlc/modules/access/http/h1conn.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_h1_stream_fatal
    - vlc_h1_stream_conn
    - vlc_h1_conn_destroy
    linkageType: ''
    returnType: void
    signature: void vlc_h1_stream_close(struct vlc_http_stream *stream, bool abort)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn.c:321,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn.c:322,1
    - Dst: vlc_tls_Shutdown
      Src: /src/vlc/modules/access/http/h1conn.c:326,1
    - Dst: vlc_tls_Close
      Src: /src/vlc/modules/access/http/h1conn.c:327,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h1conn.c:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct vlc_h1_conn*
    assertStmts:
    - condition: (!conn->active)
      pos:
        line_end: 320
        line_start: 320
        source_file: /src/vlc/modules/access/http/h1conn.c
    - condition: (conn->released)
      pos:
        line_end: 321
        line_start: 321
        source_file: /src/vlc/modules/access/http/h1conn.c
    constantsTouched: []
    func_position:
      end: 330
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 330
    functionName: vlc_h1_conn_destroy
    functionSourceFile: /src/vlc/modules/access/http/h1conn.c
    functionUses: 1
    functionsReached:
    - free
    - vlc_tls_Shutdown
    - assert
    - vlc_tls_Close
    linkageType: ''
    returnType: void
    signature: void vlc_h1_conn_destroy(struct vlc_h1_conn *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/access/http/h1conn.c:334,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h1conn.c:336,1
    - Dst: vlc_h1_conn_destroy
      Src: /src/vlc/modules/access/http/h1conn.c:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct vlc_http_conn*
    assertStmts:
    - condition: (!conn->released)
      pos:
        line_end: 335
        line_start: 335
        source_file: /src/vlc/modules/access/http/h1conn.c
    constantsTouched: []
    func_position:
      end: 341
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 341
    functionName: vlc_h1_conn_release
    functionSourceFile: /src/vlc/modules/access/http/h1conn.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_h1_conn_destroy
    - container_of
    linkageType: ''
    returnType: void
    signature: void vlc_h1_conn_release(struct vlc_http_conn *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/http/h1conn.c:351,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/h1conn.c:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - tls
    - proxy
    argTypes:
    - void*
    - vlc_tls_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 364
    functionName: vlc_h1_conn_create
    functionSourceFile: /src/vlc/modules/access/http/h1conn.c
    functionUses: 2
    functionsReached:
    - unlikely
    - malloc
    linkageType: ''
    returnType: struct vlc_http_conn
    signature: struct vlc_http_conn *vlc_h1_conn_create(void *ctx, vlc_tls_t *tls,
      bool proxy)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_dbg
      Src: /src/vlc/modules/access/http/h1conn.c:378,1
    - Dst: vlc_getaddrinfo_i11e
      Src: /src/vlc/modules/access/http/h1conn.c:380,1
    - Dst: vlc_http_err
      Src: /src/vlc/modules/access/http/h1conn.c:383,1
    - Dst: gai_strerror
      Src: /src/vlc/modules/access/http/h1conn.c:384,1
    - Dst: vlc_tls_SocketOpenAddrInfo
      Src: /src/vlc/modules/access/http/h1conn.c:390,1
    - Dst: vlc_http_err
      Src: /src/vlc/modules/access/http/h1conn.c:393,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/http/h1conn.c:393,1
    - Dst: vlc_h1_conn_create
      Src: /src/vlc/modules/access/http/h1conn.c:397,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/h1conn.c:398,1
    - Dst: vlc_tls_SessionDelete
      Src: /src/vlc/modules/access/http/h1conn.c:400,1
    - Dst: vlc_http_stream_open
      Src: /src/vlc/modules/access/http/h1conn.c:405,1
    - Dst: vlc_http_conn_release
      Src: /src/vlc/modules/access/http/h1conn.c:413,1
    - Dst: freeaddrinfo
      Src: /src/vlc/modules/access/http/h1conn.c:415,1
    - Dst: vlc_http_conn_release
      Src: /src/vlc/modules/access/http/h1conn.c:419,1
    - Dst: freeaddrinfo
      Src: /src/vlc/modules/access/http/h1conn.c:426,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 8
    argNames:
    - ctx
    - hostname
    - port
    - proxy
    - req
    - idempotent
    - has_data
    - connp
    argTypes:
    - void*
    - char*
    - unsigned
    - bool
    - struct vlc_http_msg*
    - bool
    - bool
    - struct vlc_http_conn**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 428
    functionName: vlc_h1_request
    functionSourceFile: /src/vlc/modules/access/http/h1conn.c
    functionUses: 1
    functionsReached:
    - vlc_strerror_c
    - vlc_http_dbg
    - vlc_http_err
    - unlikely
    - vlc_http_stream_open
    - vlc_h1_conn_create
    - vlc_tls_SessionDelete
    - vlc_getaddrinfo_i11e
    - freeaddrinfo
    - vlc_tls_SocketOpenAddrInfo
    - gai_strerror
    - vlc_http_conn_release
    linkageType: ''
    returnType: struct vlc_http_stream
    signature: "struct vlc_http_stream *vlc_h1_request(void *ctx, const char *hostname,\n
      \                                      unsigned port, bool proxy,\n                                       const
      struct vlc_http_msg *req,\n                                       bool idempotent,
      bool has_data,\n                                       struct vlc_http_conn
      **restrict connp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tls
    - events
    argTypes:
    - struct vlc_tls*
    - short*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: fd_callback
    functionSourceFile: /src/vlc/modules/access/http/chunked_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fd_callback(struct vlc_tls *tls, short *restrict events)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/access/http/chunked_test.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - tls
    - iov
    - count
    argTypes:
    - struct vlc_tls*
    - struct iovec*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 75
    functionName: recv_callback
    functionSourceFile: /src/vlc/modules/access/http/chunked_test.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t recv_callback(struct vlc_tls *tls, struct iovec *iov,\n                             unsigned
      count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tls
    argTypes:
    - struct vlc_tls*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: close_callback
    functionSourceFile: /src/vlc/modules/access/http/chunked_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void close_callback(struct vlc_tls *tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/chunked_test.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - stream
    - bad
    argTypes:
    - struct vlc_http_stream*
    - bool
    assertStmts:
    - condition: (bad == stream_bad)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/vlc/modules/access/http/chunked_test.c
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: stream_close_callback
    functionSourceFile: /src/vlc/modules/access/http/chunked_test.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void stream_close_callback(struct vlc_http_stream *stream, bool bad)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/access/http/chunked_test.c:122,1
    - Dst: vlc_chunked_open
      Src: /src/vlc/modules/access/http/chunked_test.c:125,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/chunked_test.c:126,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/chunked_test.c:127,1
    - Dst: vlc_http_stream_read_headers
      Src: /src/vlc/modules/access/http/chunked_test.c:127,1
    - Dst: vlc_http_stream_read
      Src: /src/vlc/modules/access/http/chunked_test.c:129,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/chunked_test.c:130,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/chunked_test.c:131,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/chunked_test.c:132,1
    - Dst: memcmp
      Src: /src/vlc/modules/access/http/chunked_test.c:132,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/http/chunked_test.c:133,1
    - Dst: vlc_http_stream_read
      Src: /src/vlc/modules/access/http/chunked_test.c:135,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/chunked_test.c:136,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/chunked_test.c:137,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/chunked_test.c:138,1
    - Dst: memcmp
      Src: /src/vlc/modules/access/http/chunked_test.c:138,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/http/chunked_test.c:139,1
    - Dst: vlc_http_stream_read
      Src: /src/vlc/modules/access/http/chunked_test.c:141,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/chunked_test.c:142,1
    - Dst: vlc_http_stream_read
      Src: /src/vlc/modules/access/http/chunked_test.c:143,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/chunked_test.c:144,1
    - Dst: vlc_http_stream_close
      Src: /src/vlc/modules/access/http/chunked_test.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (s != NULL)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/vlc/modules/access/http/chunked_test.c
    - condition: (!memcmp(b->p_buffer, "abcdefghijklmnopqrstuvwxyz", 26))
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/vlc/modules/access/http/chunked_test.c
    - condition: (b != NULL)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/vlc/modules/access/http/chunked_test.c
    - condition: (b != NULL)
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/vlc/modules/access/http/chunked_test.c
    - condition: (b == NULL)
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/vlc/modules/access/http/chunked_test.c
    - condition: (vlc_http_stream_read_headers(s) == NULL)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/vlc/modules/access/http/chunked_test.c
    - condition: (!memcmp(b->p_buffer, "1234567890", 10))
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/vlc/modules/access/http/chunked_test.c
    - condition: (b->i_buffer == 10)
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/vlc/modules/access/http/chunked_test.c
    - condition: (b->i_buffer == 26)
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/vlc/modules/access/http/chunked_test.c
    - condition: (b == NULL)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/vlc/modules/access/http/chunked_test.c
    constantsTouched: []
    func_position:
      end: 147
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 147
    functionName: test_good
    functionSourceFile: /src/vlc/modules/access/http/chunked_test.c
    functionUses: 0
    functionsReached:
    - block_Release
    - assert
    - strlen
    - vlc_chunked_open
    - vlc_http_stream_read
    - vlc_http_stream_close
    - vlc_http_stream_read_headers
    - memcmp
    linkageType: ''
    returnType: void
    signature: void test_good(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_chunked_open
      Src: /src/vlc/modules/access/http/chunked_test.c:158,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/chunked_test.c:159,1
    - Dst: vlc_http_stream_read
      Src: /src/vlc/modules/access/http/chunked_test.c:161,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/chunked_test.c:162,1
    - Dst: vlc_http_stream_read
      Src: /src/vlc/modules/access/http/chunked_test.c:163,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/chunked_test.c:164,1
    - Dst: vlc_http_stream_close
      Src: /src/vlc/modules/access/http/chunked_test.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (b == NULL)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/vlc/modules/access/http/chunked_test.c
    - condition: (s != NULL)
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/vlc/modules/access/http/chunked_test.c
    - condition: (b == NULL)
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/vlc/modules/access/http/chunked_test.c
    constantsTouched: []
    func_position:
      end: 166
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 166
    functionName: test_empty
    functionSourceFile: /src/vlc/modules/access/http/chunked_test.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_chunked_open
    - vlc_http_stream_close
    - vlc_http_stream_read
    linkageType: ''
    returnType: void
    signature: void test_empty(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/access/http/chunked_test.c:174,1
    - Dst: vlc_chunked_open
      Src: /src/vlc/modules/access/http/chunked_test.c:177,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/chunked_test.c:178,1
    - Dst: vlc_http_stream_read
      Src: /src/vlc/modules/access/http/chunked_test.c:180,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/chunked_test.c:182,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/http/chunked_test.c:183,1
    - Dst: vlc_http_stream_close
      Src: /src/vlc/modules/access/http/chunked_test.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - payload
    argTypes:
    - char*
    assertStmts:
    - condition: (s != NULL)
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/vlc/modules/access/http/chunked_test.c
    - condition: (b != NULL)
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/vlc/modules/access/http/chunked_test.c
    constantsTouched: []
    func_position:
      end: 187
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 187
    functionName: test_bad
    functionSourceFile: /src/vlc/modules/access/http/chunked_test.c
    functionUses: 0
    functionsReached:
    - block_Release
    - assert
    - strlen
    - vlc_chunked_open
    - vlc_http_stream_read
    - vlc_http_stream_close
    linkageType: ''
    returnType: void
    signature: void test_bad(const char *payload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_good
      Src: /src/vlc/modules/access/http/chunked_test.c:191,1
    - Dst: test_empty
      Src: /src/vlc/modules/access/http/chunked_test.c:192,1
    - Dst: test_bad
      Src: /src/vlc/modules/access/http/chunked_test.c:193,1
    - Dst: test_bad
      Src: /src/vlc/modules/access/http/chunked_test.c:194,1
    - Dst: test_bad
      Src: /src/vlc/modules/access/http/chunked_test.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 189
    functionDepth: 3
    functionLinenumber: 189
    functionLinenumberEnd: 198
    functionName: main
    functionSourceFile: /src/vlc/modules/access/http/chunked_test.c
    functionUses: 4
    functionsReached:
    - test_empty
    - test_bad
    - test_good
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame.c:42,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/h2frame.c:44,1
    - Dst: malloc
      Src: /src/vlc/modules/access/http/h2frame.c:50,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/h2frame.c:51,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/access/http/h2frame.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - type
    - flags
    - stream_id
    - length
    argTypes:
    - uint_fast8_t
    - uint_fast8_t
    - uint_fast32_t
    - size_t
    assertStmts:
    - condition: ((stream_id >> 31) == 0)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/vlc/modules/access/http/h2frame.c
    constantsTouched: []
    func_position:
      end: 62
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 62
    functionName: vlc_h2_frame_alloc
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 0
    functionsReached:
    - SetDWBE
    - assert
    - unlikely
    - malloc
    linkageType: ''
    returnType: struct vlc_h2_frame
    signature: "struct vlc_h2_frame *\nvlc_h2_frame_alloc(uint_fast8_t type, uint_fast8_t
      flags,\n                   uint_fast32_t stream_id, size_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: vlc_h2_frame_payload
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vlc_h2_frame_payload(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct vlc_h2_frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: vlc_h2_frame_length
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint_fast32_t
    signature: uint_fast32_t vlc_h2_frame_length(const struct vlc_h2_frame *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_frame_length
      Src: /src/vlc/modules/access/http/h2frame.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct vlc_h2_frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: vlc_h2_frame_size
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 0
    functionsReached:
    - vlc_h2_frame_length
    linkageType: ''
    returnType: size_t
    signature: size_t vlc_h2_frame_size(const struct vlc_h2_frame *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct vlc_h2_frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: vlc_h2_frame_type
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint_fast8_t
    signature: uint_fast8_t vlc_h2_frame_type(const struct vlc_h2_frame *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct vlc_h2_frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: vlc_h2_frame_flags
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint_fast8_t
    signature: uint_fast8_t vlc_h2_frame_flags(const struct vlc_h2_frame *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDWBE
      Src: /src/vlc/modules/access/http/h2frame.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct vlc_h2_frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: vlc_h2_frame_id
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 0
    functionsReached:
    - GetDWBE
    linkageType: ''
    returnType: uint_fast32_t
    signature: uint_fast32_t vlc_h2_frame_id(const struct vlc_h2_frame *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/http/h2frame.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint_fast8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 123
    functionName: vlc_h2_type_name
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char *vlc_h2_type_name(uint_fast8_t type)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hpack_encode
      Src: /src/vlc/modules/access/http/h2frame.c:161,1
    - Dst: likely
      Src: /src/vlc/modules/access/http/h2frame.c:163,1
    - Dst: vlc_h2_frame_alloc
      Src: /src/vlc/modules/access/http/h2frame.c:167,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/h2frame.c:168,1
    - Dst: hpack_encode
      Src: /src/vlc/modules/access/http/h2frame.c:171,1
    - Dst: vlc_h2_frame_payload
      Src: /src/vlc/modules/access/http/h2frame.c:171,1
    - Dst: malloc
      Src: /src/vlc/modules/access/http/h2frame.c:176,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/h2frame.c:177,1
    - Dst: hpack_encode
      Src: /src/vlc/modules/access/http/h2frame.c:180,1
    - Dst: vlc_h2_frame_alloc
      Src: /src/vlc/modules/access/http/h2frame.c:190,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/h2frame.c:191,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/http/h2frame.c:194,1
    - Dst: vlc_h2_frame_payload
      Src: /src/vlc/modules/access/http/h2frame.c:194,1
    - Dst: vlc_h2_frame_alloc
      Src: /src/vlc/modules/access/http/h2frame.c:206,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/h2frame.c:207,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/http/h2frame.c:210,1
    - Dst: vlc_h2_frame_payload
      Src: /src/vlc/modules/access/http/h2frame.c:210,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:213,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:220,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:223,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 5
    argNames:
    - stream_id
    - mtu
    - eos
    - count
    - headers
    argTypes:
    - uint_fast32_t
    - uint_fast32_t
    - bool
    - unsigned
    - char*[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 154
    functionDepth: 5
    functionLinenumber: 154
    functionLinenumberEnd: 225
    functionName: vlc_h2_frame_headers
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 2
    functionsReached:
    - memcpy
    - vlc_h2_frame_payload
    - free
    - hpack_encode
    - vlc_h2_frame_alloc
    - likely
    - unlikely
    - malloc
    linkageType: ''
    returnType: struct vlc_h2_frame
    signature: "struct vlc_h2_frame *\nvlc_h2_frame_headers(uint_fast32_t stream_id,
      uint_fast32_t mtu, bool eos,\n                     unsigned count, const char
      *const headers[][2])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_frame_alloc
      Src: /src/vlc/modules/access/http/h2frame.c:234,1
    - Dst: likely
      Src: /src/vlc/modules/access/http/h2frame.c:235,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/http/h2frame.c:236,1
    - Dst: vlc_h2_frame_payload
      Src: /src/vlc/modules/access/http/h2frame.c:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - stream_id
    - buf
    - len
    - eos
    argTypes:
    - uint_fast32_t
    - void*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 238
    functionName: vlc_h2_frame_data
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 3
    functionsReached:
    - memcpy
    - vlc_h2_frame_payload
    - vlc_h2_frame_alloc
    - likely
    linkageType: ''
    returnType: struct vlc_h2_frame
    signature: "struct vlc_h2_frame *\nvlc_h2_frame_data(uint_fast32_t stream_id,
      const void *buf, size_t len,\n                  bool eos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_frame_alloc
      Src: /src/vlc/modules/access/http/h2frame.c:243,1
    - Dst: likely
      Src: /src/vlc/modules/access/http/h2frame.c:245,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/access/http/h2frame.c:246,1
    - Dst: vlc_h2_frame_payload
      Src: /src/vlc/modules/access/http/h2frame.c:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - stream_id
    - error_code
    argTypes:
    - uint_fast32_t
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 248
    functionName: vlc_h2_frame_rst_stream
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 1
    functionsReached:
    - SetDWBE
    - vlc_h2_frame_payload
    - vlc_h2_frame_alloc
    - likely
    linkageType: ''
    returnType: struct vlc_h2_frame
    signature: 'struct vlc_h2_frame *

      vlc_h2_frame_rst_stream(uint_fast32_t stream_id, uint_fast32_t error_code)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_frame_alloc
      Src: /src/vlc/modules/access/http/h2frame.c:263,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/h2frame.c:265,1
    - Dst: vlc_h2_frame_payload
      Src: /src/vlc/modules/access/http/h2frame.c:268,1
    - Dst: SetWBE
      Src: /src/vlc/modules/access/http/h2frame.c:271,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/access/http/h2frame.c:272,1
    - Dst: SetWBE
      Src: /src/vlc/modules/access/http/h2frame.c:276,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/access/http/h2frame.c:277,1
    - Dst: SetWBE
      Src: /src/vlc/modules/access/http/h2frame.c:281,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/access/http/h2frame.c:282,1
    - Dst: SetWBE
      Src: /src/vlc/modules/access/http/h2frame.c:289,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/access/http/h2frame.c:290,1
    - Dst: SetWBE
      Src: /src/vlc/modules/access/http/h2frame.c:297,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/access/http/h2frame.c:298,1
    - Dst: SetWBE
      Src: /src/vlc/modules/access/http/h2frame.c:303,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/access/http/h2frame.c:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 309
    functionName: vlc_h2_frame_settings
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 3
    functionsReached:
    - SetWBE
    - vlc_h2_frame_payload
    - SetDWBE
    - vlc_h2_frame_alloc
    - unlikely
    linkageType: ''
    returnType: struct vlc_h2_frame
    signature: struct vlc_h2_frame *vlc_h2_frame_settings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_frame_alloc
      Src: /src/vlc/modules/access/http/h2frame.c:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 315
    functionName: vlc_h2_frame_settings_ack
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 2
    functionsReached:
    - vlc_h2_frame_alloc
    linkageType: ''
    returnType: struct vlc_h2_frame
    signature: struct vlc_h2_frame *vlc_h2_frame_settings_ack(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/http/h2frame.c:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint_fast16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 332
    functionName: vlc_h2_setting_name
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 2
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char *vlc_h2_setting_name(uint_fast16_t id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_frame_alloc
      Src: /src/vlc/modules/access/http/h2frame.c:336,1
    - Dst: likely
      Src: /src/vlc/modules/access/http/h2frame.c:337,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/http/h2frame.c:338,1
    - Dst: vlc_h2_frame_payload
      Src: /src/vlc/modules/access/http/h2frame.c:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 340
    functionName: vlc_h2_frame_ping
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 1
    functionsReached:
    - memcpy
    - vlc_h2_frame_payload
    - vlc_h2_frame_alloc
    - likely
    linkageType: ''
    returnType: struct vlc_h2_frame
    signature: struct vlc_h2_frame *vlc_h2_frame_ping(uint64_t opaque)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_frame_alloc
      Src: /src/vlc/modules/access/http/h2frame.c:344,1
    - Dst: likely
      Src: /src/vlc/modules/access/http/h2frame.c:346,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/http/h2frame.c:347,1
    - Dst: vlc_h2_frame_payload
      Src: /src/vlc/modules/access/http/h2frame.c:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 349
    functionName: vlc_h2_frame_pong
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 1
    functionsReached:
    - memcpy
    - vlc_h2_frame_payload
    - vlc_h2_frame_alloc
    - likely
    linkageType: ''
    returnType: struct vlc_h2_frame
    signature: struct vlc_h2_frame *vlc_h2_frame_pong(uint64_t opaque)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_frame_alloc
      Src: /src/vlc/modules/access/http/h2frame.c:354,1
    - Dst: likely
      Src: /src/vlc/modules/access/http/h2frame.c:355,1
    - Dst: vlc_h2_frame_payload
      Src: /src/vlc/modules/access/http/h2frame.c:357,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/access/http/h2frame.c:359,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/access/http/h2frame.c:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - last_stream_id
    - error_code
    argTypes:
    - uint_fast32_t
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 363
    functionName: vlc_h2_frame_goaway
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 1
    functionsReached:
    - SetDWBE
    - vlc_h2_frame_payload
    - vlc_h2_frame_alloc
    - likely
    linkageType: ''
    returnType: struct vlc_h2_frame
    signature: 'struct vlc_h2_frame *

      vlc_h2_frame_goaway(uint_fast32_t last_stream_id, uint_fast32_t error_code)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame.c:368,1
    - Dst: vlc_h2_frame_alloc
      Src: /src/vlc/modules/access/http/h2frame.c:370,1
    - Dst: likely
      Src: /src/vlc/modules/access/http/h2frame.c:372,1
    - Dst: vlc_h2_frame_payload
      Src: /src/vlc/modules/access/http/h2frame.c:374,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/access/http/h2frame.c:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - stream_id
    - credit
    argTypes:
    - uint_fast32_t
    - uint_fast32_t
    assertStmts:
    - condition: ((stream_id >> 31) == 0)
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/vlc/modules/access/http/h2frame.c
    constantsTouched: []
    func_position:
      end: 379
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 379
    functionName: vlc_h2_frame_window_update
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 1
    functionsReached:
    - assert
    - vlc_h2_frame_payload
    - SetDWBE
    - vlc_h2_frame_alloc
    - likely
    linkageType: ''
    returnType: struct vlc_h2_frame
    signature: 'struct vlc_h2_frame *

      vlc_h2_frame_window_update(uint_fast32_t stream_id, uint_fast32_t credit)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/http/h2frame.c:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - code
    argTypes:
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 403
    functionName: vlc_h2_strerror
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 1
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char *vlc_h2_strerror(uint_fast32_t code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_frame_length
      Src: /src/vlc/modules/access/http/h2frame.c:408,1
    - Dst: vlc_h2_frame_type
      Src: /src/vlc/modules/access/http/h2frame.c:409,1
    - Dst: vlc_h2_frame_flags
      Src: /src/vlc/modules/access/http/h2frame.c:410,1
    - Dst: vlc_h2_frame_id
      Src: /src/vlc/modules/access/http/h2frame.c:411,1
    - Dst: vlc_http_dbg
      Src: /src/vlc/modules/access/http/h2frame.c:414,1
    - Dst: vlc_h2_type_name
      Src: /src/vlc/modules/access/http/h2frame.c:416,1
    - Dst: vlc_http_dbg
      Src: /src/vlc/modules/access/http/h2frame.c:418,1
    - Dst: vlc_h2_type_name
      Src: /src/vlc/modules/access/http/h2frame.c:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - opaque
    - f
    - msg
    argTypes:
    - void*
    - struct vlc_h2_frame*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 421
    functionName: vlc_h2_frame_dump
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 0
    functionsReached:
    - vlc_h2_type_name
    - vlc_http_dbg
    - vlc_h2_frame_id
    - vlc_h2_frame_flags
    - vlc_h2_frame_length
    - vlc_h2_frame_type
    linkageType: ''
    returnType: void
    signature: "void vlc_h2_frame_dump(void *opaque, const struct vlc_h2_frame *f,\n
      \                      const char *msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame.c:426,1
    - Dst: vlc_h2_frame_type
      Src: /src/vlc/modules/access/http/h2frame.c:426,1
    - Dst: vlc_h2_frame_length
      Src: /src/vlc/modules/access/http/h2frame.c:428,1
    - Dst: vlc_h2_frame_flags
      Src: /src/vlc/modules/access/http/h2frame.c:429,1
    - Dst: vlc_h2_frame_payload
      Src: /src/vlc/modules/access/http/h2frame.c:430,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame.c:435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - f
    - lenp
    argTypes:
    - struct vlc_h2_frame*
    - size_t*
    assertStmts:
    - condition: (vlc_h2_frame_type(f) == VLC_H2_FRAME_DATA)
      pos:
        line_end: 425
        line_start: 425
        source_file: /src/vlc/modules/access/http/h2frame.c
    - condition: (len >= 1u && len >= 1u + ptr[0])
      pos:
        line_end: 434
        line_start: 434
        source_file: /src/vlc/modules/access/http/h2frame.c
    constantsTouched: []
    func_position:
      end: 441
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 441
    functionName: "*(vlc_h2_frame_data_get)(const struct vlc_h2_frame *f,\n                                       size_t
      *restrict lenp)"
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_h2_frame_payload
    - vlc_h2_frame_flags
    - vlc_h2_frame_length
    - vlc_h2_frame_type
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *(vlc_h2_frame_data_get)(const struct vlc_h2_frame *f,\n                                       size_t
      *restrict lenp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct vlc_h2_parser*::cbs::error
      Src: /src/vlc/modules/access/http/h2frame.c:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - code
    argTypes:
    - struct vlc_h2_parser*
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 476
    functionName: vlc_h2_parse_error
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 0
    functionsReached:
    - struct vlc_h2_parser*::cbs::error
    linkageType: ''
    returnType: int
    signature: int vlc_h2_parse_error(struct vlc_h2_parser *p, uint_fast32_t code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct vlc_h2_parser*::cbs::stream_error
      Src: /src/vlc/modules/access/http/h2frame.c:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - id
    - code
    argTypes:
    - struct vlc_h2_parser*
    - uint_fast32_t
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 482
    functionName: vlc_h2_stream_error
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 0
    functionsReached:
    - struct vlc_h2_parser*::cbs::stream_error
    linkageType: ''
    returnType: int
    signature: "int vlc_h2_stream_error(struct vlc_h2_parser *p, uint_fast32_t id,\n
      \                              uint_fast32_t code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct vlc_h2_parser*::cbs::stream_lookup
      Src: /src/vlc/modules/access/http/h2frame.c:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - id
    argTypes:
    - struct vlc_h2_parser*
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 487
    functionName: vlc_h2_stream_lookup
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 0
    functionsReached:
    - struct vlc_h2_parser*::cbs::stream_lookup
    linkageType: ''
    returnType: void
    signature: void *vlc_h2_stream_lookup(struct vlc_h2_parser *p, uint_fast32_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame.c:492,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame.c:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - p
    - sid
    - eos
    argTypes:
    - struct vlc_h2_parser*
    - uint_fast32_t
    - bool
    assertStmts:
    - condition: (sid != 0)
      pos:
        line_end: 491
        line_start: 491
        source_file: /src/vlc/modules/access/http/h2frame.c
    - condition: (p->headers.sid == 0)
      pos:
        line_end: 492
        line_start: 492
        source_file: /src/vlc/modules/access/http/h2frame.c
    constantsTouched: []
    func_position:
      end: 499
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 499
    functionName: vlc_h2_parse_headers_start
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void vlc_h2_parse_headers_start(struct vlc_h2_parser *p,\n                                       uint_fast32_t
      sid, bool eos)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame.c:504,1
    - Dst: vlc_h2_parse_error
      Src: /src/vlc/modules/access/http/h2frame.c:507,1
    - Dst: realloc
      Src: /src/vlc/modules/access/http/h2frame.c:509,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/h2frame.c:510,1
    - Dst: vlc_h2_parse_error
      Src: /src/vlc/modules/access/http/h2frame.c:511,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/http/h2frame.c:514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - p
    - data
    - len
    argTypes:
    - struct vlc_h2_parser*
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (p->headers.sid != 0)
      pos:
        line_end: 503
        line_start: 503
        source_file: /src/vlc/modules/access/http/h2frame.c
    constantsTouched: []
    func_position:
      end: 517
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 517
    functionName: vlc_h2_parse_headers_append
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 0
    functionsReached:
    - assert
    - realloc
    - memcpy
    - vlc_h2_parse_error
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int vlc_h2_parse_headers_append(struct vlc_h2_parser *p,\n                                       const
      uint8_t *data, size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hpack_decode
      Src: /src/vlc/modules/access/http/h2frame.c:524,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:530,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:531,1
    - Dst: vlc_h2_parse_error
      Src: /src/vlc/modules/access/http/h2frame.c:536,1
    - Dst: vlc_h2_stream_lookup
      Src: /src/vlc/modules/access/http/h2frame.c:538,1
    - Dst: struct vlc_h2_parser*::cbs::stream_headers
      Src: /src/vlc/modules/access/http/h2frame.c:548,1
    - Dst: struct vlc_h2_parser*::cbs::stream_end
      Src: /src/vlc/modules/access/http/h2frame.c:551,1
    - Dst: vlc_h2_stream_error
      Src: /src/vlc/modules/access/http/h2frame.c:558,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:562,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:563,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct vlc_h2_parser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 519
    functionDepth: 3
    functionLinenumber: 519
    functionLinenumberEnd: 569
    functionName: vlc_h2_parse_headers_end
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 0
    functionsReached:
    - vlc_h2_stream_error
    - struct vlc_h2_parser*::cbs::stream_end
    - vlc_h2_stream_lookup
    - free
    - vlc_h2_parse_error
    - hpack_decode
    - struct vlc_h2_parser*::cbs::stream_headers
    linkageType: ''
    returnType: int
    signature: int vlc_h2_parse_headers_end(struct vlc_h2_parser *p)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_frame_flags
      Src: /src/vlc/modules/access/http/h2frame.c:576,1
    - Dst: vlc_h2_frame_payload
      Src: /src/vlc/modules/access/http/h2frame.c:577,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:581,1
    - Dst: vlc_h2_parse_error
      Src: /src/vlc/modules/access/http/h2frame.c:582,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:587,1
    - Dst: vlc_h2_stream_error
      Src: /src/vlc/modules/access/http/h2frame.c:588,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:595,1
    - Dst: vlc_h2_stream_error
      Src: /src/vlc/modules/access/http/h2frame.c:596,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:603,1
    - Dst: vlc_h2_parse_error
      Src: /src/vlc/modules/access/http/h2frame.c:604,1
    - Dst: struct vlc_h2_parser*::cbs::window_status
      Src: /src/vlc/modules/access/http/h2frame.c:608,1
    - Dst: vlc_h2_stream_lookup
      Src: /src/vlc/modules/access/http/h2frame.c:610,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:613,1
    - Dst: vlc_h2_stream_error
      Src: /src/vlc/modules/access/http/h2frame.c:614,1
    - Dst: struct vlc_h2_parser*::cbs::stream_data
      Src: /src/vlc/modules/access/http/h2frame.c:617,1
    - Dst: struct vlc_h2_parser*::cbs::stream_end
      Src: /src/vlc/modules/access/http/h2frame.c:621,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - p
    - f
    - len
    - id
    argTypes:
    - struct vlc_h2_parser*
    - struct vlc_h2_frame*
    - size_t
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 623
    functionName: vlc_h2_parse_frame_data
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 0
    functionsReached:
    - vlc_h2_stream_error
    - struct vlc_h2_parser*::cbs::stream_end
    - vlc_h2_frame_payload
    - vlc_h2_stream_lookup
    - free
    - vlc_h2_parse_error
    - vlc_h2_frame_flags
    - struct vlc_h2_parser*::cbs::window_status
    - struct vlc_h2_parser*::cbs::stream_data
    linkageType: ''
    returnType: int
    signature: "int vlc_h2_parse_frame_data(struct vlc_h2_parser *p,\n                                   struct
      vlc_h2_frame *f, size_t len,\n                                   uint_fast32_t
      id)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_frame_flags
      Src: /src/vlc/modules/access/http/h2frame.c:630,1
    - Dst: vlc_h2_frame_payload
      Src: /src/vlc/modules/access/http/h2frame.c:631,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:635,1
    - Dst: vlc_h2_parse_error
      Src: /src/vlc/modules/access/http/h2frame.c:636,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:641,1
    - Dst: vlc_h2_parse_error
      Src: /src/vlc/modules/access/http/h2frame.c:642,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:649,1
    - Dst: vlc_h2_parse_error
      Src: /src/vlc/modules/access/http/h2frame.c:650,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:660,1
    - Dst: vlc_h2_parse_error
      Src: /src/vlc/modules/access/http/h2frame.c:661,1
    - Dst: vlc_h2_parse_headers_start
      Src: /src/vlc/modules/access/http/h2frame.c:667,1
    - Dst: vlc_h2_parse_headers_append
      Src: /src/vlc/modules/access/http/h2frame.c:669,1
    - Dst: vlc_h2_parse_headers_end
      Src: /src/vlc/modules/access/http/h2frame.c:672,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:674,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - p
    - f
    - len
    - id
    argTypes:
    - struct vlc_h2_parser*
    - struct vlc_h2_frame*
    - size_t
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 626
    functionDepth: 4
    functionLinenumber: 626
    functionLinenumberEnd: 676
    functionName: vlc_h2_parse_frame_headers
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 0
    functionsReached:
    - vlc_h2_frame_payload
    - vlc_h2_parse_headers_end
    - free
    - vlc_h2_parse_headers_append
    - vlc_h2_parse_error
    - vlc_h2_frame_flags
    - vlc_h2_parse_headers_start
    linkageType: ''
    returnType: int
    signature: "int vlc_h2_parse_frame_headers(struct vlc_h2_parser *p,\n                                      struct
      vlc_h2_frame *f, size_t len,\n                                      uint_fast32_t
      id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:683,1
    - Dst: vlc_h2_parse_error
      Src: /src/vlc/modules/access/http/h2frame.c:686,1
    - Dst: vlc_h2_stream_error
      Src: /src/vlc/modules/access/http/h2frame.c:689,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - p
    - f
    - len
    - id
    argTypes:
    - struct vlc_h2_parser*
    - struct vlc_h2_frame*
    - size_t
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 693
    functionName: vlc_h2_parse_frame_priority
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_h2_parse_error
    - vlc_h2_stream_error
    linkageType: ''
    returnType: int
    signature: "int vlc_h2_parse_frame_priority(struct vlc_h2_parser *p,\n                                       struct
      vlc_h2_frame *f, size_t len,\n                                       uint_fast32_t
      id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:702,1
    - Dst: vlc_h2_parse_error
      Src: /src/vlc/modules/access/http/h2frame.c:703,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:708,1
    - Dst: vlc_h2_parse_error
      Src: /src/vlc/modules/access/http/h2frame.c:709,1
    - Dst: vlc_h2_stream_lookup
      Src: /src/vlc/modules/access/http/h2frame.c:712,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/access/http/h2frame.c:713,1
    - Dst: vlc_h2_frame_payload
      Src: /src/vlc/modules/access/http/h2frame.c:713,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:715,1
    - Dst: struct vlc_h2_parser*::cbs::stream_reset
      Src: /src/vlc/modules/access/http/h2frame.c:719,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - p
    - f
    - len
    - id
    argTypes:
    - struct vlc_h2_parser*
    - struct vlc_h2_frame*
    - size_t
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 720
    functionName: vlc_h2_parse_frame_rst_stream
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 0
    functionsReached:
    - struct vlc_h2_parser*::cbs::stream_reset
    - vlc_h2_frame_payload
    - vlc_h2_stream_lookup
    - free
    - vlc_h2_parse_error
    - GetDWBE
    linkageType: ''
    returnType: int
    signature: "int vlc_h2_parse_frame_rst_stream(struct vlc_h2_parser *p,\n                                         struct
      vlc_h2_frame *f, size_t len,\n                                         uint_fast32_t
      id)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_frame_payload
      Src: /src/vlc/modules/access/http/h2frame.c:727,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:731,1
    - Dst: vlc_h2_parse_error
      Src: /src/vlc/modules/access/http/h2frame.c:732,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:737,1
    - Dst: vlc_h2_parse_error
      Src: /src/vlc/modules/access/http/h2frame.c:738,1
    - Dst: vlc_h2_frame_flags
      Src: /src/vlc/modules/access/http/h2frame.c:741,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:743,1
    - Dst: vlc_h2_parse_error
      Src: /src/vlc/modules/access/http/h2frame.c:745,1
    - Dst: struct vlc_h2_parser*::cbs::setting
      Src: /src/vlc/modules/access/http/h2frame.c:751,1
    - Dst: GetWBE
      Src: /src/vlc/modules/access/http/h2frame.c:751,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/access/http/h2frame.c:751,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:753,1
    - Dst: struct vlc_h2_parser*::cbs::settings_done
      Src: /src/vlc/modules/access/http/h2frame.c:754,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - p
    - f
    - len
    - id
    argTypes:
    - struct vlc_h2_parser*
    - struct vlc_h2_frame*
    - size_t
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 755
    functionName: vlc_h2_parse_frame_settings
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 0
    functionsReached:
    - GetWBE
    - struct vlc_h2_parser*::cbs::settings_done
    - vlc_h2_frame_payload
    - struct vlc_h2_parser*::cbs::setting
    - free
    - vlc_h2_parse_error
    - GetDWBE
    - vlc_h2_frame_flags
    linkageType: ''
    returnType: int
    signature: "int vlc_h2_parse_frame_settings(struct vlc_h2_parser *p,\n                                       struct
      vlc_h2_frame *f, size_t len,\n                                       uint_fast32_t
      id)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_frame_flags
      Src: /src/vlc/modules/access/http/h2frame.c:762,1
    - Dst: vlc_h2_frame_payload
      Src: /src/vlc/modules/access/http/h2frame.c:763,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:767,1
    - Dst: vlc_h2_parse_error
      Src: /src/vlc/modules/access/http/h2frame.c:768,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:773,1
    - Dst: vlc_h2_parse_error
      Src: /src/vlc/modules/access/http/h2frame.c:774,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:781,1
    - Dst: vlc_h2_parse_error
      Src: /src/vlc/modules/access/http/h2frame.c:782,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:789,1
    - Dst: vlc_h2_parse_error
      Src: /src/vlc/modules/access/http/h2frame.c:790,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - p
    - f
    - len
    - id
    argTypes:
    - struct vlc_h2_parser*
    - struct vlc_h2_frame*
    - size_t
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 791
    functionName: vlc_h2_parse_frame_push_promise
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_h2_parse_error
    - vlc_h2_frame_payload
    - vlc_h2_frame_flags
    linkageType: ''
    returnType: int
    signature: "int vlc_h2_parse_frame_push_promise(struct vlc_h2_parser *p,\n                                           struct
      vlc_h2_frame *f, size_t len,\n                                           uint_fast32_t
      id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:802,1
    - Dst: vlc_h2_parse_error
      Src: /src/vlc/modules/access/http/h2frame.c:803,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:808,1
    - Dst: vlc_h2_parse_error
      Src: /src/vlc/modules/access/http/h2frame.c:809,1
    - Dst: vlc_h2_frame_flags
      Src: /src/vlc/modules/access/http/h2frame.c:812,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:814,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/http/h2frame.c:818,1
    - Dst: vlc_h2_frame_payload
      Src: /src/vlc/modules/access/http/h2frame.c:818,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:819,1
    - Dst: struct vlc_h2_parser*::cbs::ping
      Src: /src/vlc/modules/access/http/h2frame.c:821,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - p
    - f
    - len
    - id
    argTypes:
    - struct vlc_h2_parser*
    - struct vlc_h2_frame*
    - size_t
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 794
    functionDepth: 2
    functionLinenumber: 794
    functionLinenumberEnd: 822
    functionName: vlc_h2_parse_frame_ping
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 0
    functionsReached:
    - struct vlc_h2_parser*::cbs::ping
    - memcpy
    - vlc_h2_frame_payload
    - free
    - vlc_h2_parse_error
    - vlc_h2_frame_flags
    linkageType: ''
    returnType: int
    signature: "int vlc_h2_parse_frame_ping(struct vlc_h2_parser *p,\n                                   struct
      vlc_h2_frame *f, size_t len,\n                                   uint_fast32_t
      id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_frame_payload
      Src: /src/vlc/modules/access/http/h2frame.c:829,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:833,1
    - Dst: vlc_h2_parse_error
      Src: /src/vlc/modules/access/http/h2frame.c:834,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:839,1
    - Dst: vlc_h2_parse_error
      Src: /src/vlc/modules/access/http/h2frame.c:840,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/access/http/h2frame.c:843,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/access/http/h2frame.c:844,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:846,1
    - Dst: struct vlc_h2_parser*::cbs::reset
      Src: /src/vlc/modules/access/http/h2frame.c:847,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - p
    - f
    - len
    - id
    argTypes:
    - struct vlc_h2_parser*
    - struct vlc_h2_frame*
    - size_t
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 825
    functionDepth: 1
    functionLinenumber: 825
    functionLinenumberEnd: 848
    functionName: vlc_h2_parse_frame_goaway
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 0
    functionsReached:
    - vlc_h2_frame_payload
    - free
    - vlc_h2_parse_error
    - GetDWBE
    - struct vlc_h2_parser*::cbs::reset
    linkageType: ''
    returnType: int
    signature: "int vlc_h2_parse_frame_goaway(struct vlc_h2_parser *p,\n                                     struct
      vlc_h2_frame *f, size_t len,\n                                     uint_fast32_t
      id)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:857,1
    - Dst: vlc_h2_parse_error
      Src: /src/vlc/modules/access/http/h2frame.c:860,1
    - Dst: vlc_h2_stream_error
      Src: /src/vlc/modules/access/http/h2frame.c:861,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/access/http/h2frame.c:864,1
    - Dst: vlc_h2_frame_payload
      Src: /src/vlc/modules/access/http/h2frame.c:864,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:866,1
    - Dst: vlc_h2_parse_error
      Src: /src/vlc/modules/access/http/h2frame.c:871,1
    - Dst: vlc_h2_stream_error
      Src: /src/vlc/modules/access/http/h2frame.c:872,1
    - Dst: struct vlc_h2_parser*::cbs::window_update
      Src: /src/vlc/modules/access/http/h2frame.c:876,1
    - Dst: vlc_h2_stream_lookup
      Src: /src/vlc/modules/access/http/h2frame.c:879,1
    - Dst: struct vlc_h2_parser*::cbs::stream_window_update
      Src: /src/vlc/modules/access/http/h2frame.c:882,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - p
    - f
    - len
    - id
    argTypes:
    - struct vlc_h2_parser*
    - struct vlc_h2_frame*
    - size_t
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 851
    functionDepth: 1
    functionLinenumber: 851
    functionLinenumberEnd: 885
    functionName: vlc_h2_parse_frame_window_update
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 0
    functionsReached:
    - vlc_h2_stream_error
    - struct vlc_h2_parser*::cbs::stream_window_update
    - vlc_h2_frame_payload
    - vlc_h2_stream_lookup
    - free
    - vlc_h2_parse_error
    - GetDWBE
    - struct vlc_h2_parser*::cbs::window_update
    linkageType: ''
    returnType: int
    signature: "int vlc_h2_parse_frame_window_update(struct vlc_h2_parser *p,\n                                            struct
      vlc_h2_frame *f, size_t len,\n                                            uint_fast32_t
      id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_frame_payload
      Src: /src/vlc/modules/access/http/h2frame.c:892,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:897,1
    - Dst: vlc_h2_parse_error
      Src: /src/vlc/modules/access/http/h2frame.c:898,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:903,1
    - Dst: vlc_h2_parse_error
      Src: /src/vlc/modules/access/http/h2frame.c:904,1
    - Dst: vlc_h2_parse_headers_append
      Src: /src/vlc/modules/access/http/h2frame.c:907,1
    - Dst: vlc_h2_frame_flags
      Src: /src/vlc/modules/access/http/h2frame.c:909,1
    - Dst: vlc_h2_parse_headers_end
      Src: /src/vlc/modules/access/http/h2frame.c:910,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:912,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - p
    - f
    - len
    - id
    argTypes:
    - struct vlc_h2_parser*
    - struct vlc_h2_frame*
    - size_t
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 888
    functionDepth: 4
    functionLinenumber: 888
    functionLinenumberEnd: 914
    functionName: vlc_h2_parse_frame_continuation
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 0
    functionsReached:
    - vlc_h2_frame_payload
    - vlc_h2_parse_headers_end
    - free
    - vlc_h2_parse_headers_append
    - vlc_h2_parse_error
    - vlc_h2_frame_flags
    linkageType: ''
    returnType: int
    signature: "int vlc_h2_parse_frame_continuation(struct vlc_h2_parser *p,\n                                           struct
      vlc_h2_frame *f, size_t len,\n                                           uint_fast32_t
      id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:921,1
    - Dst: vlc_h2_parse_error
      Src: /src/vlc/modules/access/http/h2frame.c:926,1
    - Dst: vlc_h2_stream_error
      Src: /src/vlc/modules/access/http/h2frame.c:927,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - p
    - f
    - len
    - id
    argTypes:
    - struct vlc_h2_parser*
    - struct vlc_h2_frame*
    - size_t
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 932
    functionName: vlc_h2_parse_frame_unknown
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_h2_parse_error
    - vlc_h2_stream_error
    linkageType: ''
    returnType: int
    signature: "int vlc_h2_parse_frame_unknown(struct vlc_h2_parser *p,\n                                      struct
      vlc_h2_frame *f, size_t len,\n                                      uint_fast32_t
      id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_frame_type
      Src: /src/vlc/modules/access/http/h2frame.c:955,1
    - Dst: vlc_h2_frame_flags
      Src: /src/vlc/modules/access/http/h2frame.c:957,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:959,1
    - Dst: vlc_h2_parse_error
      Src: /src/vlc/modules/access/http/h2frame.c:960,1
    - Dst: vlc_h2_parse_frame_settings
      Src: /src/vlc/modules/access/http/h2frame.c:965,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - p
    - f
    - len
    - id
    argTypes:
    - struct vlc_h2_parser*
    - struct vlc_h2_frame*
    - size_t
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 948
    functionDepth: 2
    functionLinenumber: 948
    functionLinenumberEnd: 966
    functionName: vlc_h2_parse_preface
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 0
    functionsReached:
    - vlc_h2_parse_frame_settings
    - free
    - vlc_h2_parse_error
    - vlc_h2_frame_flags
    - vlc_h2_frame_type
    linkageType: ''
    returnType: int
    signature: "int vlc_h2_parse_preface(struct vlc_h2_parser *p,\n                                struct
      vlc_h2_frame *f, size_t len,\n                                uint_fast32_t
      id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_frame_type
      Src: /src/vlc/modules/access/http/h2frame.c:973,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame.c:976,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/http/h2frame.c:978,1
    - Dst: func
      Src: /src/vlc/modules/access/http/h2frame.c:981,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - p
    - f
    - len
    - id
    argTypes:
    - struct vlc_h2_parser*
    - struct vlc_h2_frame*
    - size_t
    - uint_fast32_t
    assertStmts:
    - condition: (p->headers.sid == 0)
      pos:
        line_end: 975
        line_start: 975
        source_file: /src/vlc/modules/access/http/h2frame.c
    constantsTouched: []
    func_position:
      end: 982
      start: 969
    functionDepth: 1
    functionLinenumber: 969
    functionLinenumberEnd: 982
    functionName: vlc_h2_parse_generic
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 0
    functionsReached:
    - func
    - assert
    - ARRAY_SIZE
    - vlc_h2_frame_type
    linkageType: ''
    returnType: int
    signature: "int vlc_h2_parse_generic(struct vlc_h2_parser *p,\n                                struct
      vlc_h2_frame *f, size_t len,\n                                uint_fast32_t
      id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2frame.c:988,1
    - Dst: vlc_h2_frame_type
      Src: /src/vlc/modules/access/http/h2frame.c:992,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:994,1
    - Dst: vlc_h2_parse_error
      Src: /src/vlc/modules/access/http/h2frame.c:995,1
    - Dst: vlc_h2_parse_frame_continuation
      Src: /src/vlc/modules/access/http/h2frame.c:998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - p
    - f
    - len
    - id
    argTypes:
    - struct vlc_h2_parser*
    - struct vlc_h2_frame*
    - size_t
    - uint_fast32_t
    assertStmts:
    - condition: (p->headers.sid != 0)
      pos:
        line_end: 987
        line_start: 987
        source_file: /src/vlc/modules/access/http/h2frame.c
    constantsTouched: []
    func_position:
      end: 999
      start: 984
    functionDepth: 5
    functionLinenumber: 984
    functionLinenumberEnd: 999
    functionName: vlc_h2_parse_headers_block
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 0
    functionsReached:
    - assert
    - free
    - vlc_h2_parse_error
    - vlc_h2_frame_type
    - vlc_h2_parse_frame_continuation
    linkageType: ''
    returnType: int
    signature: "int vlc_h2_parse_headers_block(struct vlc_h2_parser *p,\n                                      struct
      vlc_h2_frame *f, size_t len,\n                                      uint_fast32_t
      id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:1004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - p
    - f
    - len
    - id
    argTypes:
    - struct vlc_h2_parser*
    - struct vlc_h2_frame*
    - size_t
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1007
    functionName: vlc_h2_parse_failed
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: int
    signature: "int vlc_h2_parse_failed(struct vlc_h2_parser *p, struct vlc_h2_frame
      *f,\n                               size_t len, uint_fast32_t id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_frame_length
      Src: /src/vlc/modules/access/http/h2frame.c:1016,1
    - Dst: vlc_h2_frame_id
      Src: /src/vlc/modules/access/http/h2frame.c:1017,1
    - Dst: struct vlc_h2_parser*::parser
      Src: /src/vlc/modules/access/http/h2frame.c:1020,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p
    - f
    argTypes:
    - struct vlc_h2_parser*
    - struct vlc_h2_frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1009
    functionDepth: 2
    functionLinenumber: 1009
    functionLinenumberEnd: 1027
    functionName: vlc_h2_parse
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 1
    functionsReached:
    - vlc_h2_frame_length
    - vlc_h2_frame_id
    - struct vlc_h2_parser*::parser
    linkageType: ''
    returnType: int
    signature: int vlc_h2_parse(struct vlc_h2_parser *p, struct vlc_h2_frame *f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/http/h2frame.c:1032,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/h2frame.c:1033,1
    - Dst: hpack_decode_init
      Src: /src/vlc/modules/access/http/h2frame.c:1042,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/h2frame.c:1043,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:1045,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - cbs
    argTypes:
    - void*
    - struct vlc_h2_parser_cbs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1050
    functionName: vlc_h2_parse_init
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 3
    functionsReached:
    - free
    - hpack_decode_init
    - unlikely
    - malloc
    linkageType: ''
    returnType: struct vlc_h2_parser
    signature: "struct vlc_h2_parser *vlc_h2_parse_init(void *ctx,\n                                        const
      struct vlc_h2_parser_cbs *cbs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hpack_decode_destroy
      Src: /src/vlc/modules/access/http/h2frame.c:1054,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:1055,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2frame.c:1056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct vlc_h2_parser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1052
    functionDepth: 1
    functionLinenumber: 1052
    functionLinenumberEnd: 1057
    functionName: vlc_h2_parse_destroy
    functionSourceFile: /src/vlc/modules/access/http/h2frame.c
    functionUses: 3
    functionsReached:
    - free
    - hpack_decode_destroy
    linkageType: ''
    returnType: void
    signature: void vlc_h2_parse_destroy(struct vlc_h2_parser *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/h2output.c:68,1
    - Dst: vlc_h2_frame_size
      Src: /src/vlc/modules/access/http/h2output.c:79,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/http/h2output.c:84,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2output.c:98,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/access/http/h2output.c:101,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/http/h2output.c:102,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/http/h2output.c:106,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2output.c:111,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - out
    - q
    - f
    argTypes:
    - struct vlc_h2_output*
    - struct vlc_h2_queue*
    - struct vlc_h2_frame*
    assertStmts:
    - condition: (*(q->last) == NULL)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/vlc/modules/access/http/h2output.c
    constantsTouched: []
    func_position:
      end: 115
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 115
    functionName: vlc_h2_output_queue
    functionSourceFile: /src/vlc/modules/access/http/h2output.c
    functionUses: 0
    functionsReached:
    - vlc_cond_signal
    - assert
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_h2_frame_size
    - free
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int vlc_h2_output_queue(struct vlc_h2_output *out,\n                               struct
      vlc_h2_queue *q, struct vlc_h2_frame *f)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_output_queue
      Src: /src/vlc/modules/access/http/h2output.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - f
    argTypes:
    - struct vlc_h2_output*
    - struct vlc_h2_frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: vlc_h2_output_send_prio
    functionSourceFile: /src/vlc/modules/access/http/h2output.c
    functionUses: 1
    functionsReached:
    - vlc_h2_output_queue
    linkageType: ''
    returnType: int
    signature: int vlc_h2_output_send_prio(struct vlc_h2_output *out, struct vlc_h2_frame
      *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_output_queue
      Src: /src/vlc/modules/access/http/h2output.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - f
    argTypes:
    - struct vlc_h2_output*
    - struct vlc_h2_frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: vlc_h2_output_send
    functionSourceFile: /src/vlc/modules/access/http/h2output.c
    functionUses: 1
    functionsReached:
    - vlc_h2_output_queue
    linkageType: ''
    returnType: int
    signature: int vlc_h2_output_send(struct vlc_h2_output *out, struct vlc_h2_frame
      *f)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/http/h2output.c:134,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/h2output.c:146,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/http/h2output.c:148,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/access/http/h2output.c:152,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/access/http/h2output.c:153,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/access/http/h2output.c:154,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2output.c:161,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2output.c:164,1
    - Dst: vlc_h2_frame_size
      Src: /src/vlc/modules/access/http/h2output.c:166,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2output.c:167,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/http/h2output.c:170,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - out
    argTypes:
    - struct vlc_h2_output*
    assertStmts:
    - condition: (q->last == &frame->next)
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/vlc/modules/access/http/h2output.c
    - condition: (q->last != &frame->next)
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/vlc/modules/access/http/h2output.c
    - condition: (out->size >= len)
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/vlc/modules/access/http/h2output.c
    constantsTouched: []
    func_position:
      end: 174
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 174
    functionName: vlc_h2_output_dequeue
    functionSourceFile: /src/vlc/modules/access/http/h2output.c
    functionUses: 0
    functionsReached:
    - vlc_restorecancel
    - assert
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_h2_frame_size
    - vlc_savecancel
    - unlikely
    - vlc_cond_wait
    linkageType: ''
    returnType: struct vlc_h2_frame
    signature: struct vlc_h2_frame *vlc_h2_output_dequeue(struct vlc_h2_output *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/http/h2output.c:181,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2output.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - out
    argTypes:
    - struct vlc_h2_output*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 188
    functionName: vlc_h2_output_flush_unlocked
    functionSourceFile: /src/vlc/modules/access/http/h2output.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void vlc_h2_output_flush_unlocked(struct vlc_h2_output *out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/access/http/h2output.c:205,1
    - Dst: vlc_tls_t*::ops::writev
      Src: /src/vlc/modules/access/http/h2output.c:206,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/access/http/h2output.c:208,1
    - Dst: vlc_tls_GetPollFD
      Src: /src/vlc/modules/access/http/h2output.c:227,1
    - Dst: poll
      Src: /src/vlc/modules/access/http/h2output.c:228,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - tls
    - buf
    - len
    argTypes:
    - vlc_tls_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 232
    functionName: vlc_https_send
    functionSourceFile: /src/vlc/modules/access/http/h2output.c
    functionUses: 0
    functionsReached:
    - vlc_tls_t*::ops::writev
    - vlc_restorecancel
    - vlc_tls_GetPollFD
    - poll
    - vlc_savecancel
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t vlc_https_send(vlc_tls_t *tls, const void *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_frame_size
      Src: /src/vlc/modules/access/http/h2output.c:248,1
    - Dst: vlc_cleanup_push
      Src: /src/vlc/modules/access/http/h2output.c:251,1
    - Dst: vlc_https_send
      Src: /src/vlc/modules/access/http/h2output.c:252,1
    - Dst: vlc_cleanup_pop
      Src: /src/vlc/modules/access/http/h2output.c:253,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2output.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - tls
    - f
    argTypes:
    - struct vlc_tls*
    - struct vlc_h2_frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 246
    functionDepth: 3
    functionLinenumber: 246
    functionLinenumberEnd: 257
    functionName: vlc_h2_frame_send
    functionSourceFile: /src/vlc/modules/access/http/h2output.c
    functionUses: 0
    functionsReached:
    - vlc_cleanup_push
    - vlc_https_send
    - vlc_h2_frame_size
    - free
    - vlc_cleanup_pop
    linkageType: ''
    returnType: int
    signature: int vlc_h2_frame_send(struct vlc_tls *tls, struct vlc_h2_frame *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/access/http/h2output.c:265,1
    - Dst: vlc_h2_output_dequeue
      Src: /src/vlc/modules/access/http/h2output.c:267,1
    - Dst: vlc_h2_frame_send
      Src: /src/vlc/modules/access/http/h2output.c:269,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/http/h2output.c:272,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/http/h2output.c:274,1
    - Dst: vlc_h2_output_flush_unlocked
      Src: /src/vlc/modules/access/http/h2output.c:278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 260
    functionDepth: 4
    functionLinenumber: 260
    functionLinenumberEnd: 288
    functionName: vlc_h2_output_thread
    functionSourceFile: /src/vlc/modules/access/http/h2output.c
    functionUses: 0
    functionsReached:
    - vlc_h2_frame_send
    - vlc_thread_set_name
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_h2_output_dequeue
    - vlc_h2_output_flush_unlocked
    linkageType: ''
    returnType: void
    signature: void *vlc_h2_output_thread(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/access/http/h2output.c:295,1
    - Dst: vlc_https_send
      Src: /src/vlc/modules/access/http/h2output.c:297,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/http/h2output.c:299,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/http/h2output.c:301,1
    - Dst: vlc_h2_output_thread
      Src: /src/vlc/modules/access/http/h2output.c:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 290
    functionDepth: 5
    functionLinenumber: 290
    functionLinenumberEnd: 306
    functionName: vlc_h2_client_output_thread
    functionSourceFile: /src/vlc/modules/access/http/h2output.c
    functionUses: 0
    functionsReached:
    - vlc_thread_set_name
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_https_send
    - vlc_h2_output_thread
    linkageType: ''
    returnType: void
    signature: void *vlc_h2_client_output_thread(void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/http/h2output.c:310,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/h2output.c:311,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/access/http/h2output.c:324,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/access/http/h2output.c:325,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/access/http/h2output.c:329,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2output.c:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - tls
    - client
    argTypes:
    - struct vlc_tls*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 335
    functionName: vlc_h2_output_create
    functionSourceFile: /src/vlc/modules/access/http/h2output.c
    functionUses: 1
    functionsReached:
    - vlc_clone
    - vlc_mutex_init
    - free
    - vlc_cond_init
    - unlikely
    - malloc
    linkageType: ''
    returnType: struct vlc_h2_output
    signature: struct vlc_h2_output *vlc_h2_output_create(struct vlc_tls *tls, bool
      client)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/http/h2output.c:339,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/access/http/h2output.c:341,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/http/h2output.c:342,1
    - Dst: vlc_cancel
      Src: /src/vlc/modules/access/http/h2output.c:344,1
    - Dst: vlc_join
      Src: /src/vlc/modules/access/http/h2output.c:345,1
    - Dst: vlc_h2_output_flush_unlocked
      Src: /src/vlc/modules/access/http/h2output.c:349,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2output.c:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - out
    argTypes:
    - struct vlc_h2_output*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 351
    functionName: vlc_h2_output_destroy
    functionSourceFile: /src/vlc/modules/access/http/h2output.c
    functionUses: 1
    functionsReached:
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_cancel
    - vlc_mutex_lock
    - free
    - vlc_join
    - vlc_h2_output_flush_unlocked
    linkageType: ''
    returnType: void
    signature: void vlc_h2_output_destroy(struct vlc_h2_output *out)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_req_create
      Src: /src/vlc/modules/access/http/resource.c:44,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/resource.c:46,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/resource.c:50,1
    - Dst: vlc_gettext
      Src: /src/vlc/modules/access/http/resource.c:54,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/resource.c:55,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/resource.c:57,1
    - Dst: vlc_http_msg_add_creds_basic
      Src: /src/vlc/modules/access/http/resource.c:62,1
    - Dst: vlc_http_msg_add_agent
      Src: /src/vlc/modules/access/http/resource.c:66,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/resource.c:69,1
    - Dst: vlc_http_msg_add_cookies
      Src: /src/vlc/modules/access/http/resource.c:71,1
    - Dst: vlc_http_mgr_get_jar
      Src: /src/vlc/modules/access/http/resource.c:71,1
    - Dst: struct vlc_http_resource*::cbs::request_format
      Src: /src/vlc/modules/access/http/resource.c:75,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/resource.c:77,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - res
    - opaque
    argTypes:
    - struct vlc_http_resource*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 82
    functionName: vlc_http_res_req
    functionSourceFile: /src/vlc/modules/access/http/resource.c
    functionUses: 0
    functionsReached:
    - vlc_http_req_create
    - struct vlc_http_resource*::cbs::request_format
    - vlc_http_msg_add_agent
    - vlc_gettext
    - vlc_http_mgr_get_jar
    - vlc_http_msg_add_header
    - strcmp
    - vlc_http_msg_destroy
    - vlc_http_msg_add_creds_basic
    - unlikely
    - vlc_http_msg_add_cookies
    linkageType: ''
    returnType: struct vlc_http_msg
    signature: 'struct vlc_http_msg *

      vlc_http_res_req(const struct vlc_http_resource *res, void *opaque)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_res_req
      Src: /src/vlc/modules/access/http/resource.c:89,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/resource.c:90,1
    - Dst: vlc_http_mgr_request
      Src: /src/vlc/modules/access/http/resource.c:93,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/resource.c:95,1
    - Dst: vlc_http_msg_get_final
      Src: /src/vlc/modules/access/http/resource.c:97,1
    - Dst: vlc_http_msg_get_cookies
      Src: /src/vlc/modules/access/http/resource.c:101,1
    - Dst: vlc_http_mgr_get_jar
      Src: /src/vlc/modules/access/http/resource.c:101,1
    - Dst: vlc_http_msg_get_status
      Src: /src/vlc/modules/access/http/resource.c:104,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/resource.c:117,1
    - Dst: struct vlc_http_resource*::cbs::response_validate
      Src: /src/vlc/modules/access/http/resource.c:122,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/resource.c:127,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - res
    - opaque
    argTypes:
    - struct vlc_http_resource*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 129
    functionName: vlc_http_res_open
    functionSourceFile: /src/vlc/modules/access/http/resource.c
    functionUses: 1
    functionsReached:
    - vlc_http_mgr_get_jar
    - vlc_http_msg_destroy
    - vlc_http_mgr_request
    - vlc_http_res_req
    - struct vlc_http_resource*::cbs::response_validate
    - vlc_http_msg_get_cookies
    - vlc_http_msg_get_status
    - unlikely
    - vlc_http_msg_get_final
    linkageType: ''
    returnType: struct vlc_http_msg
    signature: "struct vlc_http_msg *vlc_http_res_open(struct vlc_http_resource *res,\n
      \                                      void *opaque)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_res_open
      Src: /src/vlc/modules/access/http/resource.c:138,1
    - Dst: vlc_http_msg_get_status
      Src: /src/vlc/modules/access/http/resource.c:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - res
    argTypes:
    - struct vlc_http_resource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 146
    functionName: vlc_http_res_get_status
    functionSourceFile: /src/vlc/modules/access/http/resource.c
    functionUses: 2
    functionsReached:
    - vlc_http_msg_get_status
    - vlc_http_res_open
    linkageType: ''
    returnType: int
    signature: int vlc_http_res_get_status(struct vlc_http_resource *res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/http/resource.c:150,1
    - Dst: free
      Src: /src/vlc/modules/access/http/resource.c:151,1
    - Dst: free
      Src: /src/vlc/modules/access/http/resource.c:152,1
    - Dst: free
      Src: /src/vlc/modules/access/http/resource.c:153,1
    - Dst: free
      Src: /src/vlc/modules/access/http/resource.c:154,1
    - Dst: free
      Src: /src/vlc/modules/access/http/resource.c:155,1
    - Dst: free
      Src: /src/vlc/modules/access/http/resource.c:156,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/resource.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - res
    argTypes:
    - struct vlc_http_resource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 160
    functionName: vlc_http_res_deinit
    functionSourceFile: /src/vlc/modules/access/http/resource.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_http_msg_destroy
    linkageType: ''
    returnType: void
    signature: void vlc_http_res_deinit(struct vlc_http_resource *res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_res_deinit
      Src: /src/vlc/modules/access/http/resource.c:164,1
    - Dst: free
      Src: /src/vlc/modules/access/http/resource.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - res
    argTypes:
    - struct vlc_http_resource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: vlc_http_res_destroy
    functionSourceFile: /src/vlc/modules/access/http/resource.c
    functionUses: 1
    functionsReached:
    - free
    - vlc_http_res_deinit
    linkageType: ''
    returnType: void
    signature: void vlc_http_res_destroy(struct vlc_http_resource *res)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/access/http/resource.c:176,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/http/resource.c:184,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/http/resource.c:186,1
    - Dst: strdup
      Src: /src/vlc/modules/access/http/resource.c:199,1
    - Dst: vlc_http_authority
      Src: /src/vlc/modules/access/http/resource.c:201,1
    - Dst: strdup
      Src: /src/vlc/modules/access/http/resource.c:202,1
    - Dst: strdup
      Src: /src/vlc/modules/access/http/resource.c:204,1
    - Dst: strdup
      Src: /src/vlc/modules/access/http/resource.c:206,1
    - Dst: strdup
      Src: /src/vlc/modules/access/http/resource.c:207,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/http/resource.c:215,1
    - Dst: strdup
      Src: /src/vlc/modules/access/http/resource.c:219,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/http/resource.c:221,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/resource.c:224,1
    - Dst: vlc_http_res_deinit
      Src: /src/vlc/modules/access/http/resource.c:227,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/http/resource.c:232,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 6
    argNames:
    - res
    - cbs
    - mgr
    - uri
    - ua
    - ref
    argTypes:
    - struct vlc_http_resource*
    - struct vlc_http_resource_cbs*
    - struct vlc_http_mgr*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 234
    functionName: vlc_http_res_init
    functionSourceFile: /src/vlc/modules/access/http/resource.c
    functionUses: 1
    functionsReached:
    - asprintf
    - vlc_UrlParse
    - strdup
    - vlc_ascii_strcasecmp
    - vlc_http_res_deinit
    - vlc_http_authority
    - unlikely
    - vlc_UrlClean
    linkageType: ''
    returnType: int
    signature: "int vlc_http_res_init(struct vlc_http_resource *restrict res,\n                      const
      struct vlc_http_resource_cbs *cbs,\n                      struct vlc_http_mgr
      *mgr,\n                      const char *uri, const char *ua, const char *ref)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_res_get_status
      Src: /src/vlc/modules/access/http/resource.c:238,1
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/access/http/resource.c:247,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/http/resource.c:248,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/http/resource.c:249,1
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/access/http/resource.c:253,1
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/access/http/resource.c:254,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/http/resource.c:255,1
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/access/http/resource.c:269,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/resource.c:277,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/http/resource.c:277,1
    - Dst: vlc_uri_fixup
      Src: /src/vlc/modules/access/http/resource.c:281,1
    - Dst: vlc_uri_resolve
      Src: /src/vlc/modules/access/http/resource.c:285,1
    - Dst: free
      Src: /src/vlc/modules/access/http/resource.c:287,1
    - Dst: free
      Src: /src/vlc/modules/access/http/resource.c:288,1
    - Dst: likely
      Src: /src/vlc/modules/access/http/resource.c:290,1
    - Dst: strcspn
      Src: /src/vlc/modules/access/http/resource.c:294,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 1
    argNames:
    - res
    argTypes:
    - struct vlc_http_resource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 236
    functionDepth: 4
    functionLinenumber: 236
    functionLinenumberEnd: 298
    functionName: vlc_http_res_get_redirect
    functionSourceFile: /src/vlc/modules/access/http/resource.c
    functionUses: 0
    functionsReached:
    - vlc_uri_resolve
    - asprintf
    - vlc_ascii_strcasecmp
    - vlc_http_res_get_status
    - vlc_uri_fixup
    - free
    - strcspn
    - likely
    - vlc_http_msg_get_header
    - unlikely
    linkageType: ''
    returnType: char
    signature: char *vlc_http_res_get_redirect(struct vlc_http_resource *restrict
      res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_res_get_status
      Src: /src/vlc/modules/access/http/resource.c:302,1
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/access/http/resource.c:306,1
    - Dst: strdup
      Src: /src/vlc/modules/access/http/resource.c:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - res
    argTypes:
    - struct vlc_http_resource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 300
    functionDepth: 4
    functionLinenumber: 300
    functionLinenumberEnd: 308
    functionName: vlc_http_res_get_type
    functionSourceFile: /src/vlc/modules/access/http/resource.c
    functionUses: 0
    functionsReached:
    - vlc_http_res_get_status
    - vlc_http_msg_get_header
    - strdup
    linkageType: ''
    returnType: char
    signature: char *vlc_http_res_get_type(struct vlc_http_resource *res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_res_get_status
      Src: /src/vlc/modules/access/http/resource.c:312,1
    - Dst: vlc_http_msg_read
      Src: /src/vlc/modules/access/http/resource.c:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - res
    argTypes:
    - struct vlc_http_resource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 310
    functionDepth: 4
    functionLinenumber: 310
    functionLinenumberEnd: 317
    functionName: vlc_http_res_read
    functionSourceFile: /src/vlc/modules/access/http/resource.c
    functionUses: 1
    functionsReached:
    - vlc_http_res_get_status
    - vlc_http_msg_read
    linkageType: ''
    returnType: block_t
    signature: block_t *vlc_http_res_read(struct vlc_http_resource *res)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/access/http/resource.c:327,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/resource.c:328,1
    - Dst: strdup
      Src: /src/vlc/modules/access/http/resource.c:331,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/resource.c:332,1
    - Dst: free
      Src: /src/vlc/modules/access/http/resource.c:334,1
    - Dst: free
      Src: /src/vlc/modules/access/http/resource.c:339,1
    - Dst: free
      Src: /src/vlc/modules/access/http/resource.c:340,1
    - Dst: vlc_http_msg_get_status
      Src: /src/vlc/modules/access/http/resource.c:344,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/resource.c:346,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - res
    - username
    - password
    argTypes:
    - struct vlc_http_resource*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 351
    functionName: vlc_http_res_set_login
    functionSourceFile: /src/vlc/modules/access/http/resource.c
    functionUses: 1
    functionsReached:
    - strdup
    - free
    - vlc_http_msg_destroy
    - vlc_http_msg_get_status
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int vlc_http_res_set_login(struct vlc_http_resource *res,\n                           const
      char *username, const char *password)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_res_get_status
      Src: /src/vlc/modules/access/http/resource.c:355,1
    - Dst: vlc_http_msg_get_basic_realm
      Src: /src/vlc/modules/access/http/resource.c:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - res
    argTypes:
    - struct vlc_http_resource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 353
    functionDepth: 4
    functionLinenumber: 353
    functionLinenumberEnd: 359
    functionName: vlc_http_res_get_basic_realm
    functionSourceFile: /src/vlc/modules/access/http/resource.c
    functionUses: 0
    functionsReached:
    - vlc_http_res_get_status
    - vlc_http_msg_get_basic_realm
    linkageType: ''
    returnType: char
    signature: char *vlc_http_res_get_basic_realm(struct vlc_http_resource *res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:54,1
    - Dst: vlc_h2_frame_size
      Src: /src/vlc/modules/access/http/h2conn_test.c:56,1
    - Dst: vlc_tls_Write
      Src: /src/vlc/modules/access/http/h2conn_test.c:57,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:58,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2conn_test.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct vlc_h2_frame*
    assertStmts:
    - condition: (f != NULL)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: ((size_t)val == len)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: conn_send
    functionSourceFile: /src/vlc/modules/access/http/h2conn_test.c
    functionUses: 1
    functionsReached:
    - vlc_tls_Write
    - assert
    - free
    - vlc_h2_frame_size
    linkageType: ''
    returnType: void
    signature: void conn_send(struct vlc_h2_frame *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tls_Read
      Src: /src/vlc/modules/access/http/h2conn_test.c:75,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:76,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:77,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:81,1
    - Dst: vlc_tls_Read
      Src: /src/vlc/modules/access/http/h2conn_test.c:88,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - wanted
    argTypes:
    - uint_fast8_t
    assertStmts:
    - condition: (hdr[0] == 0)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (val == 9)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (wanted == got || WINDOW_UPDATE == got)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (val == (ssize_t)len)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    constantsTouched: []
    func_position:
      end: 93
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 93
    functionName: conn_expect
    functionSourceFile: /src/vlc/modules/access/http/h2conn_test.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_tls_Read
    linkageType: ''
    returnType: void
    signature: void conn_expect(uint_fast8_t wanted)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tls_SocketPair
      Src: /src/vlc/modules/access/http/h2conn_test.c:101,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:102,1
    - Dst: vlc_h2_conn_create
      Src: /src/vlc/modules/access/http/h2conn_test.c:106,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:107,1
    - Dst: conn_send
      Src: /src/vlc/modules/access/http/h2conn_test.c:108,1
    - Dst: vlc_h2_frame_settings
      Src: /src/vlc/modules/access/http/h2conn_test.c:108,1
    - Dst: vlc_tls_Read
      Src: /src/vlc/modules/access/http/h2conn_test.c:110,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:111,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:112,1
    - Dst: memcmp
      Src: /src/vlc/modules/access/http/h2conn_test.c:112,1
    - Dst: conn_expect
      Src: /src/vlc/modules/access/http/h2conn_test.c:113,1
    - Dst: conn_expect
      Src: /src/vlc/modules/access/http/h2conn_test.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!"socketpair")
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (conn != NULL)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (val == 24)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (!memcmp(hello, "PRI * HTTP/2.0\r\n", 16))
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    constantsTouched: []
    func_position:
      end: 115
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 115
    functionName: conn_create
    functionSourceFile: /src/vlc/modules/access/http/h2conn_test.c
    functionUses: 5
    functionsReached:
    - assert
    - vlc_tls_Read
    - vlc_tls_SocketPair
    - conn_expect
    - conn_send
    - vlc_h2_conn_create
    - vlc_h2_frame_settings
    - memcmp
    linkageType: ''
    returnType: void
    signature: void conn_create(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tls_Shutdown
      Src: /src/vlc/modules/access/http/h2conn_test.c:119,1
    - Dst: vlc_http_conn_release
      Src: /src/vlc/modules/access/http/h2conn_test.c:120,1
    - Dst: vlc_tls_SessionDelete
      Src: /src/vlc/modules/access/http/h2conn_test.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: conn_destroy
    functionSourceFile: /src/vlc/modules/access/http/h2conn_test.c
    functionUses: 3
    functionsReached:
    - vlc_tls_SessionDelete
    - vlc_tls_Shutdown
    - vlc_http_conn_release
    linkageType: ''
    returnType: void
    signature: void conn_destroy(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_req_create
      Src: /src/vlc/modules/access/http/h2conn_test.c:127,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:129,1
    - Dst: vlc_http_stream_open
      Src: /src/vlc/modules/access/http/h2conn_test.c:131,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/h2conn_test.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - has_data
    argTypes:
    - bool
    assertStmts:
    - condition: (m != NULL)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: stream_open
    functionSourceFile: /src/vlc/modules/access/http/h2conn_test.c
    functionUses: 11
    functionsReached:
    - vlc_http_req_create
    - vlc_http_msg_destroy
    - assert
    - vlc_http_stream_open
    linkageType: ''
    returnType: struct vlc_http_stream
    signature: struct vlc_http_stream *stream_open(bool has_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_resp_create
      Src: /src/vlc/modules/access/http/h2conn_test.c:138,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:139,1
    - Dst: vlc_http_msg_add_agent
      Src: /src/vlc/modules/access/http/h2conn_test.c:140,1
    - Dst: conn_send
      Src: /src/vlc/modules/access/http/h2conn_test.c:142,1
    - Dst: vlc_http_msg_h2_frame
      Src: /src/vlc/modules/access/http/h2conn_test.c:142,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/h2conn_test.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - id
    - nodata
    argTypes:
    - uint_fast32_t
    - bool
    assertStmts:
    - condition: (m != NULL)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: stream_reply
    functionSourceFile: /src/vlc/modules/access/http/h2conn_test.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_http_msg_add_agent
    - vlc_http_resp_create
    - conn_send
    - vlc_http_msg_destroy
    - vlc_http_msg_h2_frame
    linkageType: ''
    returnType: void
    signature: void stream_reply(uint_fast32_t id, bool nodata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: conn_send
      Src: /src/vlc/modules/access/http/h2conn_test.c:152,1
    - Dst: vlc_h2_frame_headers
      Src: /src/vlc/modules/access/http/h2conn_test.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: stream_continuation
    functionSourceFile: /src/vlc/modules/access/http/h2conn_test.c
    functionUses: 0
    functionsReached:
    - vlc_h2_frame_headers
    - conn_send
    linkageType: ''
    returnType: void
    signature: void stream_continuation(uint_fast32_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: conn_send
      Src: /src/vlc/modules/access/http/h2conn_test.c:157,1
    - Dst: vlc_h2_frame_data
      Src: /src/vlc/modules/access/http/h2conn_test.c:157,1
    - Dst: strlen
      Src: /src/vlc/modules/access/http/h2conn_test.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - id
    - str
    - eos
    argTypes:
    - uint_fast32_t
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: stream_data
    functionSourceFile: /src/vlc/modules/access/http/h2conn_test.c
    functionUses: 1
    functionsReached:
    - vlc_h2_frame_data
    - strlen
    - conn_send
    linkageType: ''
    returnType: void
    signature: void stream_data(uint_fast32_t id, const char *str, bool eos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: conn_create
      Src: /src/vlc/modules/access/http/h2conn_test.c:169,1
    - Dst: conn_destroy
      Src: /src/vlc/modules/access/http/h2conn_test.c:170,1
    - Dst: conn_create
      Src: /src/vlc/modules/access/http/h2conn_test.c:172,1
    - Dst: conn_send
      Src: /src/vlc/modules/access/http/h2conn_test.c:173,1
    - Dst: vlc_h2_frame_ping
      Src: /src/vlc/modules/access/http/h2conn_test.c:173,1
    - Dst: conn_expect
      Src: /src/vlc/modules/access/http/h2conn_test.c:174,1
    - Dst: stream_open
      Src: /src/vlc/modules/access/http/h2conn_test.c:178,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:179,1
    - Dst: conn_expect
      Src: /src/vlc/modules/access/http/h2conn_test.c:180,1
    - Dst: conn_send
      Src: /src/vlc/modules/access/http/h2conn_test.c:181,1
    - Dst: vlc_h2_frame_rst_stream
      Src: /src/vlc/modules/access/http/h2conn_test.c:181,1
    - Dst: vlc_http_stream_read_headers
      Src: /src/vlc/modules/access/http/h2conn_test.c:182,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:183,1
    - Dst: vlc_http_stream_read
      Src: /src/vlc/modules/access/http/h2conn_test.c:184,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:185,1
    - Dst: vlc_http_stream_close
      Src: /src/vlc/modules/access/http/h2conn_test.c:186,1
    - Dst: conn_expect
      Src: /src/vlc/modules/access/http/h2conn_test.c:187,1
    - Dst: stream_open
      Src: /src/vlc/modules/access/http/h2conn_test.c:191,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:192,1
    - Dst: stream_reply
      Src: /src/vlc/modules/access/http/h2conn_test.c:193,1
    - Dst: vlc_http_msg_get_initial
      Src: /src/vlc/modules/access/http/h2conn_test.c:194,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:195,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/h2conn_test.c:196,1
    - Dst: stream_data
      Src: /src/vlc/modules/access/http/h2conn_test.c:198,1
    - Dst: stream_data
      Src: /src/vlc/modules/access/http/h2conn_test.c:199,1
    - Dst: conn_expect
      Src: /src/vlc/modules/access/http/h2conn_test.c:201,1
    - Dst: conn_expect
      Src: /src/vlc/modules/access/http/h2conn_test.c:202,1
    - Dst: conn_expect
      Src: /src/vlc/modules/access/http/h2conn_test.c:203,1
    - Dst: conn_expect
      Src: /src/vlc/modules/access/http/h2conn_test.c:204,1
    - Dst: stream_open
      Src: /src/vlc/modules/access/http/h2conn_test.c:208,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:209,1
    - Dst: stream_continuation
      Src: /src/vlc/modules/access/http/h2conn_test.c:210,1
    - Dst: vlc_http_msg_get_initial
      Src: /src/vlc/modules/access/http/h2conn_test.c:211,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:212,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:213,1
    - Dst: vlc_http_msg_get_status
      Src: /src/vlc/modules/access/http/h2conn_test.c:213,1
    - Dst: stream_reply
      Src: /src/vlc/modules/access/http/h2conn_test.c:214,1
    - Dst: vlc_http_msg_iterate
      Src: /src/vlc/modules/access/http/h2conn_test.c:215,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:216,1
    - Dst: stream_data
      Src: /src/vlc/modules/access/http/h2conn_test.c:217,1
    - Dst: stream_data
      Src: /src/vlc/modules/access/http/h2conn_test.c:218,1
    - Dst: stream_data
      Src: /src/vlc/modules/access/http/h2conn_test.c:219,1
    - Dst: vlc_http_msg_read
      Src: /src/vlc/modules/access/http/h2conn_test.c:220,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:221,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/http/h2conn_test.c:222,1
    - Dst: vlc_http_msg_read
      Src: /src/vlc/modules/access/http/h2conn_test.c:223,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:224,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/http/h2conn_test.c:225,1
    - Dst: vlc_http_msg_read
      Src: /src/vlc/modules/access/http/h2conn_test.c:226,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:227,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/h2conn_test.c:228,1
    - Dst: conn_expect
      Src: /src/vlc/modules/access/http/h2conn_test.c:230,1
    - Dst: conn_expect
      Src: /src/vlc/modules/access/http/h2conn_test.c:231,1
    - Dst: conn_expect
      Src: /src/vlc/modules/access/http/h2conn_test.c:232,1
    - Dst: stream_open
      Src: /src/vlc/modules/access/http/h2conn_test.c:236,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:237,1
    - Dst: stream_continuation
      Src: /src/vlc/modules/access/http/h2conn_test.c:238,1
    - Dst: stream_reply
      Src: /src/vlc/modules/access/http/h2conn_test.c:239,1
    - Dst: stream_open
      Src: /src/vlc/modules/access/http/h2conn_test.c:241,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:242,1
    - Dst: stream_reply
      Src: /src/vlc/modules/access/http/h2conn_test.c:243,1
    - Dst: vlc_http_msg_get_initial
      Src: /src/vlc/modules/access/http/h2conn_test.c:244,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:245,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/h2conn_test.c:246,1
    - Dst: vlc_http_msg_get_initial
      Src: /src/vlc/modules/access/http/h2conn_test.c:247,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:248,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:249,1
    - Dst: vlc_http_msg_get_status
      Src: /src/vlc/modules/access/http/h2conn_test.c:249,1
    - Dst: vlc_http_msg_read
      Src: /src/vlc/modules/access/http/h2conn_test.c:250,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:251,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/h2conn_test.c:252,1
    - Dst: conn_expect
      Src: /src/vlc/modules/access/http/h2conn_test.c:254,1
    - Dst: conn_expect
      Src: /src/vlc/modules/access/http/h2conn_test.c:255,1
    - Dst: conn_expect
      Src: /src/vlc/modules/access/http/h2conn_test.c:256,1
    - Dst: conn_expect
      Src: /src/vlc/modules/access/http/h2conn_test.c:257,1
    - Dst: stream_open
      Src: /src/vlc/modules/access/http/h2conn_test.c:261,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:262,1
    - Dst: stream_continuation
      Src: /src/vlc/modules/access/http/h2conn_test.c:263,1
    - Dst: vlc_http_msg_get_initial
      Src: /src/vlc/modules/access/http/h2conn_test.c:264,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:265,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/http/h2conn_test.c:266,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:267,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/http/h2conn_test.c:268,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:269,1
    - Dst: vlc_http_msg_write
      Src: /src/vlc/modules/access/http/h2conn_test.c:269,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:270,1
    - Dst: vlc_http_msg_write
      Src: /src/vlc/modules/access/http/h2conn_test.c:270,1
    - Dst: stream_reply
      Src: /src/vlc/modules/access/http/h2conn_test.c:271,1
    - Dst: vlc_http_msg_iterate
      Src: /src/vlc/modules/access/http/h2conn_test.c:272,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:273,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/h2conn_test.c:274,1
    - Dst: conn_expect
      Src: /src/vlc/modules/access/http/h2conn_test.c:276,1
    - Dst: conn_expect
      Src: /src/vlc/modules/access/http/h2conn_test.c:277,1
    - Dst: conn_expect
      Src: /src/vlc/modules/access/http/h2conn_test.c:278,1
    - Dst: conn_expect
      Src: /src/vlc/modules/access/http/h2conn_test.c:279,1
    - Dst: conn_send
      Src: /src/vlc/modules/access/http/h2conn_test.c:282,1
    - Dst: vlc_h2_frame_rst_stream
      Src: /src/vlc/modules/access/http/h2conn_test.c:282,1
    - Dst: stream_open
      Src: /src/vlc/modules/access/http/h2conn_test.c:286,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:287,1
    - Dst: stream_open
      Src: /src/vlc/modules/access/http/h2conn_test.c:289,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:290,1
    - Dst: stream_reply
      Src: /src/vlc/modules/access/http/h2conn_test.c:291,1
    - Dst: stream_reply
      Src: /src/vlc/modules/access/http/h2conn_test.c:292,1
    - Dst: stream_data
      Src: /src/vlc/modules/access/http/h2conn_test.c:293,1
    - Dst: vlc_http_msg_get_initial
      Src: /src/vlc/modules/access/http/h2conn_test.c:294,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:295,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/h2conn_test.c:296,1
    - Dst: vlc_http_msg_get_initial
      Src: /src/vlc/modules/access/http/h2conn_test.c:297,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:298,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/h2conn_test.c:299,1
    - Dst: conn_expect
      Src: /src/vlc/modules/access/http/h2conn_test.c:301,1
    - Dst: conn_expect
      Src: /src/vlc/modules/access/http/h2conn_test.c:302,1
    - Dst: conn_expect
      Src: /src/vlc/modules/access/http/h2conn_test.c:303,1
    - Dst: conn_expect
      Src: /src/vlc/modules/access/http/h2conn_test.c:304,1
    - Dst: stream_open
      Src: /src/vlc/modules/access/http/h2conn_test.c:309,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:310,1
    - Dst: conn_send
      Src: /src/vlc/modules/access/http/h2conn_test.c:311,1
    - Dst: vlc_h2_frame_goaway
      Src: /src/vlc/modules/access/http/h2conn_test.c:311,1
    - Dst: vlc_http_stream_read_headers
      Src: /src/vlc/modules/access/http/h2conn_test.c:312,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:313,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn_test.c:316,1
    - Dst: stream_open
      Src: /src/vlc/modules/access/http/h2conn_test.c:316,1
    - Dst: conn_destroy
      Src: /src/vlc/modules/access/http/h2conn_test.c:319,1
    - Dst: vlc_http_stream_close
      Src: /src/vlc/modules/access/http/h2conn_test.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 126
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (b == vlc_http_error)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (b != NULL)
      pos:
        line_end: 223
        line_start: 223
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (s != NULL)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (m != NULL)
      pos:
        line_end: 247
        line_start: 247
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (s != NULL)
      pos:
        line_end: 286
        line_start: 286
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (s != NULL)
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (m != NULL)
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (vlc_http_msg_write(m, NULL, true) == 0)
      pos:
        line_end: 269
        line_start: 269
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (m != NULL)
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (m == NULL)
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (stream_open(false) == NULL)
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (s != NULL)
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (m != NULL)
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (b == NULL)
      pos:
        line_end: 226
        line_start: 226
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (b == NULL)
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (s2 != NULL)
      pos:
        line_end: 241
        line_start: 241
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (vlc_http_msg_get_status(m) == 100)
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (b != NULL)
      pos:
        line_end: 266
        line_start: 266
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (s != NULL)
      pos:
        line_end: 261
        line_start: 261
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (m != NULL)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (m != NULL)
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (s2 != NULL)
      pos:
        line_end: 289
        line_start: 289
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (m != NULL)
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (vlc_http_msg_get_status(m) == 200)
      pos:
        line_end: 248
        line_start: 248
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (m == NULL)
      pos:
        line_end: 312
        line_start: 312
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (m != NULL)
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (b != NULL)
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (s != NULL)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (s != NULL)
      pos:
        line_end: 309
        line_start: 309
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (m != NULL)
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    - condition: (vlc_http_msg_write(m, b, false) == 0)
      pos:
        line_end: 268
        line_start: 268
        source_file: /src/vlc/modules/access/http/h2conn_test.c
    constantsTouched: []
    func_position:
      end: 323
      start: 162
    functionDepth: 4
    functionLinenumber: 162
    functionLinenumberEnd: 323
    functionName: main
    functionSourceFile: /src/vlc/modules/access/http/h2conn_test.c
    functionUses: 4
    functionsReached:
    - assert
    - memcpy
    - conn_expect
    - block_Alloc
    - stream_reply
    - vlc_h2_frame_goaway
    - stream_continuation
    - vlc_h2_frame_ping
    - vlc_h2_frame_rst_stream
    - stream_open
    - vlc_http_msg_destroy
    - vlc_http_stream_read
    - vlc_http_stream_close
    - conn_create
    - vlc_http_msg_get_status
    - vlc_http_msg_write
    - vlc_http_msg_iterate
    - conn_send
    - vlc_http_msg_get_initial
    - vlc_http_stream_read_headers
    - vlc_http_msg_read
    - block_Release
    - conn_destroy
    - stream_data
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_file_read
      Src: /src/vlc/modules/access/http/access.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - access
    - eof
    argTypes:
    - stream_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: FileRead
    functionSourceFile: /src/vlc/modules/access/http/access.c
    functionUses: 0
    functionsReached:
    - vlc_http_file_read
    linkageType: ''
    returnType: block_t
    signature: block_t *FileRead(stream_t *access, bool *restrict eof)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_file_seek
      Src: /src/vlc/modules/access/http/access.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - access
    - pos
    argTypes:
    - stream_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: FileSeek
    functionSourceFile: /src/vlc/modules/access/http/access.c
    functionUses: 0
    functionsReached:
    - vlc_http_file_seek
    linkageType: ''
    returnType: int
    signature: int FileSeek(stream_t *access, uint64_t pos)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/http/access.c:76,1
    - Dst: vlc_http_file_can_seek
      Src: /src/vlc/modules/access/http/access.c:76,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/http/access.c:80,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/http/access.c:85,1
    - Dst: vlc_http_file_get_size
      Src: /src/vlc/modules/access/http/access.c:90,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/http/access.c:99,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/http/access.c:99,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/http/access.c:100,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/http/access.c:104,1
    - Dst: vlc_http_file_get_type
      Src: /src/vlc/modules/access/http/access.c:104,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - access
    - query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 114
    functionName: FileControl
    functionSourceFile: /src/vlc/modules/access/http/access.c
    functionUses: 0
    functionsReached:
    - var_InheritInteger
    - vlc_http_file_get_size
    - VLC_TICK_FROM_MS
    - va_arg
    - vlc_http_file_can_seek
    - vlc_http_file_get_type
    linkageType: ''
    returnType: int
    signature: int FileControl(stream_t *access, int query, va_list args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_live_read
      Src: /src/vlc/modules/access/http/access.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - access
    - eof
    argTypes:
    - stream_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: LiveRead
    functionSourceFile: /src/vlc/modules/access/http/access.c
    functionUses: 0
    functionsReached:
    - vlc_http_live_read
    linkageType: ''
    returnType: block_t
    signature: block_t *LiveRead(stream_t *access, bool *restrict eof)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/http/access.c:136,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/http/access.c:140,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/http/access.c:140,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/http/access.c:141,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/http/access.c:145,1
    - Dst: vlc_http_live_get_type
      Src: /src/vlc/modules/access/http/access.c:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - access
    - query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 152
    functionName: LiveControl
    functionSourceFile: /src/vlc/modules/access/http/access.c
    functionUses: 0
    functionsReached:
    - var_InheritInteger
    - va_arg
    - VLC_TICK_FROM_MS
    - vlc_http_live_get_type
    linkageType: ''
    returnType: int
    signature: int LiveControl(stream_t *access, int query, va_list args)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/http/access.c:157,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/access.c:160,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/access/http/access.c:167,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/access/http/access.c:168,1
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/access/http/access.c:174,1
    - Dst: vlc_credential_init
      Src: /src/vlc/modules/access/http/access.c:175,1
    - Dst: vlc_http_mgr_create
      Src: /src/vlc/modules/access/http/access.c:177,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/http/access.c:181,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/http/access.c:182,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/access/http/access.c:183,1
    - Dst: free
      Src: /src/vlc/modules/access/http/access.c:187,1
    - Dst: free
      Src: /src/vlc/modules/access/http/access.c:188,1
    - Dst: vlc_credential_get
      Src: /src/vlc/modules/access/http/access.c:193,1
    - Dst: vlc_http_res_set_login
      Src: /src/vlc/modules/access/http/access.c:195,1
    - Dst: vlc_http_res_get_status
      Src: /src/vlc/modules/access/http/access.c:202,1
    - Dst: free
      Src: /src/vlc/modules/access/http/access.c:207,1
    - Dst: vlc_http_res_get_basic_realm
      Src: /src/vlc/modules/access/http/access.c:208,1
    - Dst: vlc_credential_get
      Src: /src/vlc/modules/access/http/access.c:213,1
    - Dst: _
      Src: /src/vlc/modules/access/http/access.c:213,1
    - Dst: _
      Src: /src/vlc/modules/access/http/access.c:214,1
    - Dst: vlc_http_res_set_login
      Src: /src/vlc/modules/access/http/access.c:218,1
    - Dst: vlc_http_res_get_status
      Src: /src/vlc/modules/access/http/access.c:220,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/http/access.c:225,1
    - Dst: vlc_http_res_get_redirect
      Src: /src/vlc/modules/access/http/access.c:229,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/http/access.c:239,1
    - Dst: vlc_credential_store
      Src: /src/vlc/modules/access/http/access.c:243,1
    - Dst: free
      Src: /src/vlc/modules/access/http/access.c:244,1
    - Dst: vlc_credential_clean
      Src: /src/vlc/modules/access/http/access.c:245,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/http/access.c:246,1
    - Dst: vlc_http_res_destroy
      Src: /src/vlc/modules/access/http/access.c:266,1
    - Dst: vlc_http_mgr_destroy
      Src: /src/vlc/modules/access/http/access.c:268,1
    - Dst: free
      Src: /src/vlc/modules/access/http/access.c:269,1
    - Dst: vlc_credential_clean
      Src: /src/vlc/modules/access/http/access.c:270,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/http/access.c:271,1
    - Dst: free
      Src: /src/vlc/modules/access/http/access.c:272,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 81
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 154
    functionDepth: 5
    functionLinenumber: 154
    functionLinenumberEnd: 274
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/http/access.c
    functionUses: 26
    functionsReached:
    - vlc_http_res_get_redirect
    - vlc_credential_store
    - var_InheritAddress
    - vlc_http_res_destroy
    - vlc_http_mgr_destroy
    - vlc_http_res_get_basic_realm
    - _
    - msg_Err
    - vlc_UrlClean
    - vlc_http_mgr_create
    - vlc_UrlParse
    - vlc_http_res_set_login
    - var_InheritBool
    - vlc_credential_init
    - vlc_credential_clean
    - var_InheritString
    - vlc_http_res_get_status
    - free
    - vlc_credential_get
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_res_destroy
      Src: /src/vlc/modules/access/http/access.c:281,1
    - Dst: vlc_http_mgr_destroy
      Src: /src/vlc/modules/access/http/access.c:282,1
    - Dst: free
      Src: /src/vlc/modules/access/http/access.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 276
    functionDepth: 3
    functionLinenumber: 276
    functionLinenumberEnd: 284
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/http/access.c
    functionUses: 78
    functionsReached:
    - vlc_http_mgr_destroy
    - free
    - vlc_http_res_destroy
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: vlc_h2_frame_data_get
    functionSourceFile: /src/vlc/modules/access/http/h2frame.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vlc_h2_frame_data_get(f, l)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_authority
      Src: /src/vlc/modules/access/http/tunnel.c:45,1
    - Dst: vlc_http_req_create
      Src: /src/vlc/modules/access/http/tunnel.c:49,1
    - Dst: free
      Src: /src/vlc/modules/access/http/tunnel.c:51,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/tunnel.c:52,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/tunnel.c:55,1
    - Dst: vlc_http_msg_add_agent
      Src: /src/vlc/modules/access/http/tunnel.c:56,1
    - Dst: vlc_http_msg_add_creds_basic
      Src: /src/vlc/modules/access/http/tunnel.c:58,1
    - Dst: vlc_http_stream_open
      Src: /src/vlc/modules/access/http/tunnel.c:61,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/tunnel.c:63,1
    - Dst: vlc_http_msg_get_initial
      Src: /src/vlc/modules/access/http/tunnel.c:67,1
    - Dst: vlc_http_msg_get_final
      Src: /src/vlc/modules/access/http/tunnel.c:68,1
    - Dst: vlc_http_msg_get_status
      Src: /src/vlc/modules/access/http/tunnel.c:72,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/tunnel.c:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - conn
    - hostname
    - port
    - username
    - password
    argTypes:
    - struct vlc_http_conn*
    - char*
    - unsigned
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 79
    functionName: vlc_http_tunnel_open
    functionSourceFile: /src/vlc/modules/access/http/tunnel.c
    functionUses: 0
    functionsReached:
    - vlc_http_req_create
    - vlc_http_msg_add_agent
    - vlc_http_msg_get_status
    - vlc_http_msg_add_header
    - vlc_http_stream_open
    - free
    - vlc_http_msg_destroy
    - vlc_http_authority
    - vlc_http_msg_get_initial
    - vlc_http_msg_add_creds_basic
    - unlikely
    - vlc_http_msg_get_final
    linkageType: ''
    returnType: struct vlc_http_msg
    signature: "struct vlc_http_msg *vlc_http_tunnel_open(struct vlc_http_conn *conn,\n
      \                                                const char *hostname,\n                                                 unsigned
      port,\n                                                 const char *username,\n
      \                                                const char *password)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tls_GetPollFD
      Src: /src/vlc/modules/access/http/tunnel.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tls
    - events
    argTypes:
    - vlc_tls_t*
    - short*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: vlc_tls_ProxyGetFD
    functionSourceFile: /src/vlc/modules/access/http/tunnel.c
    functionUses: 0
    functionsReached:
    - vlc_tls_GetPollFD
    linkageType: ''
    returnType: int
    signature: int vlc_tls_ProxyGetFD(vlc_tls_t *tls, short *restrict events)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tls_t*::ops::readv
      Src: /src/vlc/modules/access/http/tunnel.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tls
    - iov
    - count
    argTypes:
    - vlc_tls_t*
    - struct iovec*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: vlc_tls_ProxyRead
    functionSourceFile: /src/vlc/modules/access/http/tunnel.c
    functionUses: 0
    functionsReached:
    - vlc_tls_t*::ops::readv
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t vlc_tls_ProxyRead(vlc_tls_t *tls, struct iovec *iov,\n                                 unsigned
      count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tls_t*::ops::writev
      Src: /src/vlc/modules/access/http/tunnel.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tls
    - iov
    - count
    argTypes:
    - vlc_tls_t*
    - struct iovec*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: vlc_tls_ProxyWrite
    functionSourceFile: /src/vlc/modules/access/http/tunnel.c
    functionUses: 0
    functionsReached:
    - vlc_tls_t*::ops::writev
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t vlc_tls_ProxyWrite(vlc_tls_t *tls, const struct iovec *iov,\n
      \                                 unsigned count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tls_Shutdown
      Src: /src/vlc/modules/access/http/tunnel.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tls
    - duplex
    argTypes:
    - vlc_tls_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: vlc_tls_ProxyShutdown
    functionSourceFile: /src/vlc/modules/access/http/tunnel.c
    functionUses: 0
    functionsReached:
    - vlc_tls_Shutdown
    linkageType: ''
    returnType: int
    signature: int vlc_tls_ProxyShutdown(vlc_tls_t *tls, bool duplex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/http/tunnel.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tls
    argTypes:
    - vlc_tls_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: vlc_tls_ProxyClose
    functionSourceFile: /src/vlc/modules/access/http/tunnel.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void vlc_tls_ProxyClose(vlc_tls_t *tls)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/tunnel.c:142,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/access/http/tunnel.c:147,1
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/access/http/tunnel.c:148,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/access/http/tunnel.c:149,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/http/tunnel.c:153,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/http/tunnel.c:159,1
    - Dst: vlc_https_connect
      Src: /src/vlc/modules/access/http/tunnel.c:160,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/http/tunnel.c:162,1
    - Dst: vlc_tls_SocketOpenTCP
      Src: /src/vlc/modules/access/http/tunnel.c:163,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/access/http/tunnel.c:163,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/http/tunnel.c:170,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/tunnel.c:174,1
    - Dst: malloc
      Src: /src/vlc/modules/access/http/tunnel.c:176,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/tunnel.c:177,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/http/tunnel.c:179,1
    - Dst: vlc_h1_conn_create
      Src: /src/vlc/modules/access/http/tunnel.c:188,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/tunnel.c:189,1
    - Dst: vlc_tls_Close
      Src: /src/vlc/modules/access/http/tunnel.c:191,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/http/tunnel.c:192,1
    - Dst: vlc_http_tunnel_open
      Src: /src/vlc/modules/access/http/tunnel.c:196,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/http/tunnel.c:199,1
    - Dst: vlc_http_conn_release
      Src: /src/vlc/modules/access/http/tunnel.c:202,1
    - Dst: vlc_tls_ClientSessionCreate
      Src: /src/vlc/modules/access/http/tunnel.c:211,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/tunnel.c:216,1
    - Dst: free
      Src: /src/vlc/modules/access/http/tunnel.c:217,1
    - Dst: vlc_tls_Close
      Src: /src/vlc/modules/access/http/tunnel.c:220,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 6
    argNames:
    - ctx
    - creds
    - hostname
    - port
    - two
    - proxy
    argTypes:
    - void*
    - vlc_tls_client_t*
    - char*
    - unsigned
    - bool*
    - char*
    assertStmts:
    - condition: (proxy != NULL)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/vlc/modules/access/http/tunnel.c
    - condition: (!ptwo)
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/vlc/modules/access/http/tunnel.c
    constantsTouched: []
    func_position:
      end: 222
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 222
    functionName: vlc_https_connect_proxy
    functionSourceFile: /src/vlc/modules/access/http/tunnel.c
    functionUses: 2
    functionsReached:
    - vlc_UrlParse
    - assert
    - vlc_restorecancel
    - vlc_https_connect
    - vlc_object_parent
    - vlc_http_conn_release
    - vlc_tls_ClientSessionCreate
    - vlc_http_tunnel_open
    - vlc_h1_conn_create
    - vlc_tls_Close
    - strcmp
    - free
    - strcasecmp
    - vlc_savecancel
    - unlikely
    - malloc
    - vlc_tls_SocketOpenTCP
    - vlc_UrlClean
    linkageType: ''
    returnType: vlc_tls_t
    signature: "vlc_tls_t *vlc_https_connect_proxy(void *ctx, vlc_tls_client_t *creds,\n
      \                                  const char *hostname, unsigned port,\n                                   bool
      *restrict two, const char *proxy)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/vlc/modules/access/http/chunked.c:45,1
    - Dst: vlc_tls_Write
      Src: /src/vlc/modules/access/http/chunked.c:48,1
    - Dst: vlc_tls_Write
      Src: /src/vlc/modules/access/http/chunked.c:50,1
    - Dst: vlc_tls_Write
      Src: /src/vlc/modules/access/http/chunked.c:52,1
    - Dst: vlc_tls_Write
      Src: /src/vlc/modules/access/http/chunked.c:58,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - tls
    - base
    - len
    - eos
    argTypes:
    - struct vlc_tls*
    - void*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 63
    functionName: vlc_https_chunked_write
    functionSourceFile: /src/vlc/modules/access/http/chunked.c
    functionUses: 1
    functionsReached:
    - vlc_tls_Write
    - snprintf
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t vlc_https_chunked_write(struct vlc_tls *tls, const void *base,\n
      \                               size_t len, bool eos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct vlc_chunked_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: vlc_chunked_fatal
    functionSourceFile: /src/vlc/modules/access/http/chunked.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *vlc_chunked_fatal(struct vlc_chunked_stream *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - struct vlc_http_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: vlc_chunked_wait
    functionSourceFile: /src/vlc/modules/access/http/chunked.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct vlc_http_msg
    signature: struct vlc_http_msg *vlc_chunked_wait(struct vlc_http_stream *stream)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/access/http/chunked.c:92,1
    - Dst: vlc_tls_GetLine
      Src: /src/vlc/modules/access/http/chunked.c:103,1
    - Dst: vlc_chunked_fatal
      Src: /src/vlc/modules/access/http/chunked.c:107,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/http/chunked.c:112,1
    - Dst: free
      Src: /src/vlc/modules/access/http/chunked.c:116,1
    - Dst: vlc_chunked_fatal
      Src: /src/vlc/modules/access/http/chunked.c:121,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/http/chunked.c:132,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/chunked.c:133,1
    - Dst: vlc_tls_Read
      Src: /src/vlc/modules/access/http/chunked.c:136,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/http/chunked.c:139,1
    - Dst: vlc_chunked_fatal
      Src: /src/vlc/modules/access/http/chunked.c:140,1
    - Dst: vlc_tls_Read
      Src: /src/vlc/modules/access/http/chunked.c:154,1
    - Dst: memcmp
      Src: /src/vlc/modules/access/http/chunked.c:154,1
    - Dst: vlc_chunked_fatal
      Src: /src/vlc/modules/access/http/chunked.c:155,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 1
    argNames:
    - stream
    argTypes:
    - struct vlc_http_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 158
    functionName: vlc_chunked_read
    functionSourceFile: /src/vlc/modules/access/http/chunked.c
    functionUses: 0
    functionsReached:
    - sscanf
    - block_Release
    - vlc_tls_GetLine
    - container_of
    - vlc_tls_Read
    - free
    - block_Alloc
    - vlc_chunked_fatal
    - unlikely
    - memcmp
    linkageType: ''
    returnType: block_t
    signature: block_t *vlc_chunked_read(struct vlc_http_stream *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/access/http/chunked.c:163,1
    - Dst: vlc_chunked_fatal
      Src: /src/vlc/modules/access/http/chunked.c:166,1
    - Dst: vlc_http_stream_close
      Src: /src/vlc/modules/access/http/chunked.c:168,1
    - Dst: free
      Src: /src/vlc/modules/access/http/chunked.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - stream
    - abort
    argTypes:
    - struct vlc_http_stream*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 170
    functionName: vlc_chunked_close
    functionSourceFile: /src/vlc/modules/access/http/chunked.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_chunked_fatal
    - vlc_http_stream_close
    - container_of
    linkageType: ''
    returnType: void
    signature: void vlc_chunked_close(struct vlc_http_stream *stream, bool abort)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/http/chunked.c:183,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/chunked.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - parent
    - tls
    argTypes:
    - struct vlc_http_stream*
    - struct vlc_tls*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: vlc_chunked_open
    functionSourceFile: /src/vlc/modules/access/http/chunked.c
    functionUses: 4
    functionsReached:
    - unlikely
    - malloc
    linkageType: ''
    returnType: struct vlc_http_stream
    signature: "struct vlc_http_stream *vlc_chunked_open(struct vlc_http_stream *parent,\n
      \                                        struct vlc_tls *tls)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/http/message.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - m
    - name
    argTypes:
    - struct vlc_http_msg*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: vlc_http_msg_find_header
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t vlc_http_msg_find_header(const struct vlc_http_msg *m,\n                                        const
      char *name)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_is_token
      Src: /src/vlc/modules/access/http/message.c:73,1
    - Dst: vasprintf
      Src: /src/vlc/modules/access/http/message.c:80,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/message.c:81,1
    - Dst: strspn
      Src: /src/vlc/modules/access/http/message.c:90,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message.c:93,1
    - Dst: memmove
      Src: /src/vlc/modules/access/http/message.c:94,1
    - Dst: vlc_http_msg_find_header
      Src: /src/vlc/modules/access/http/message.c:104,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/http/message.c:105,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/http/message.c:108,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/http/message.c:110,1
    - Dst: free
      Src: /src/vlc/modules/access/http/message.c:112,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/message.c:114,1
    - Dst: free
      Src: /src/vlc/modules/access/http/message.c:117,1
    - Dst: realloc
      Src: /src/vlc/modules/access/http/message.c:122,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/message.c:123,1
    - Dst: free
      Src: /src/vlc/modules/access/http/message.c:125,1
    - Dst: strdup
      Src: /src/vlc/modules/access/http/message.c:132,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/message.c:133,1
    - Dst: free
      Src: /src/vlc/modules/access/http/message.c:135,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 4
    argNames:
    - m
    - name
    - fmt
    - ap
    argTypes:
    - struct vlc_http_msg*
    - char*
    - char*
    - va_list
    assertStmts:
    - condition: ((unsigned)len >= crop)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/vlc/modules/access/http/message.c
    constantsTouched: []
    func_position:
      end: 142
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 142
    functionName: vlc_http_msg_vadd_header
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 0
    functionsReached:
    - vlc_http_is_token
    - vlc_http_msg_find_header
    - asprintf
    - assert
    - strdup
    - vasprintf
    - strspn
    - realloc
    - memmove
    - free
    - strcasecmp
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int vlc_http_msg_vadd_header(struct vlc_http_msg *m, const char *name,\n
      \                                   const char *fmt, va_list ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vlc/modules/access/http/message.c:150,1
    - Dst: vlc_http_msg_vadd_header
      Src: /src/vlc/modules/access/http/message.c:151,1
    - Dst: va_end
      Src: /src/vlc/modules/access/http/message.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - m
    - name
    - fmt
    argTypes:
    - struct vlc_http_msg*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 4
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: vlc_http_msg_add_header
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 7
    functionsReached:
    - vlc_http_msg_vadd_header
    - va_end
    - va_start
    linkageType: ''
    returnType: int
    signature: "int vlc_http_msg_add_header(struct vlc_http_msg *m, const char *name,\n
      \                           const char *fmt, ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_msg_find_header
      Src: /src/vlc/modules/access/http/message.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - m
    - name
    argTypes:
    - struct vlc_http_msg*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 166
    functionName: vlc_http_msg_get_header
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 11
    functionsReached:
    - vlc_http_msg_find_header
    linkageType: ''
    returnType: char
    signature: "char *vlc_http_msg_get_header(const struct vlc_http_msg *m,\n                                    const
      char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct vlc_http_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: vlc_http_msg_get_status
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int vlc_http_msg_get_status(const struct vlc_http_msg *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct vlc_http_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: vlc_http_msg_get_method
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *vlc_http_msg_get_method(const struct vlc_http_msg *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct vlc_http_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: vlc_http_msg_get_scheme
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *vlc_http_msg_get_scheme(const struct vlc_http_msg *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct vlc_http_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: vlc_http_msg_get_authority
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *vlc_http_msg_get_authority(const struct vlc_http_msg *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct vlc_http_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: vlc_http_msg_get_path
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *vlc_http_msg_get_path(const struct vlc_http_msg *m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_stream_close
      Src: /src/vlc/modules/access/http/message.c:196,1
    - Dst: free
      Src: /src/vlc/modules/access/http/message.c:200,1
    - Dst: free
      Src: /src/vlc/modules/access/http/message.c:201,1
    - Dst: free
      Src: /src/vlc/modules/access/http/message.c:204,1
    - Dst: free
      Src: /src/vlc/modules/access/http/message.c:205,1
    - Dst: free
      Src: /src/vlc/modules/access/http/message.c:206,1
    - Dst: free
      Src: /src/vlc/modules/access/http/message.c:207,1
    - Dst: free
      Src: /src/vlc/modules/access/http/message.c:208,1
    - Dst: free
      Src: /src/vlc/modules/access/http/message.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct vlc_http_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 210
    functionName: vlc_http_msg_destroy
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 20
    functionsReached:
    - free
    - vlc_http_stream_close
    linkageType: ''
    returnType: void
    signature: void vlc_http_msg_destroy(struct vlc_http_msg *m)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/http/message.c:216,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/message.c:217,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message.c:220,1
    - Dst: strdup
      Src: /src/vlc/modules/access/http/message.c:222,1
    - Dst: strdup
      Src: /src/vlc/modules/access/http/message.c:223,1
    - Dst: strdup
      Src: /src/vlc/modules/access/http/message.c:224,1
    - Dst: strdup
      Src: /src/vlc/modules/access/http/message.c:225,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/message.c:230,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/message.c:235,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - method
    - scheme
    - authority
    - path
    argTypes:
    - char*
    - char*
    - char*
    - char*
    assertStmts:
    - condition: (method != NULL)
      pos:
        line_end: 219
        line_start: 219
        source_file: /src/vlc/modules/access/http/message.c
    constantsTouched: []
    func_position:
      end: 239
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 239
    functionName: vlc_http_req_create
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 7
    functionsReached:
    - assert
    - strdup
    - vlc_http_msg_destroy
    - unlikely
    - malloc
    linkageType: ''
    returnType: struct vlc_http_msg
    signature: "struct vlc_http_msg *\nvlc_http_req_create(const char *method, const
      char *scheme,\n                    const char *authority, const char *path)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/http/message.c:243,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/message.c:244,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message.c:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - status
    argTypes:
    - unsigned
    assertStmts:
    - condition: (status < 1000)
      pos:
        line_end: 246
        line_start: 246
        source_file: /src/vlc/modules/access/http/message.c
    constantsTouched: []
    func_position:
      end: 257
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 257
    functionName: vlc_http_resp_create
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 3
    functionsReached:
    - assert
    - unlikely
    - malloc
    linkageType: ''
    returnType: struct vlc_http_msg
    signature: struct vlc_http_msg *vlc_http_resp_create(unsigned status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/message.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - m
    - s
    argTypes:
    - struct vlc_http_msg*
    - struct vlc_http_stream*
    assertStmts:
    - condition: (m->payload == NULL)
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/vlc/modules/access/http/message.c
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: vlc_http_msg_attach
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void vlc_http_msg_attach(struct vlc_http_msg *m, struct vlc_http_stream
      *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_stream_read_headers
      Src: /src/vlc/modules/access/http/message.c:267,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/message.c:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct vlc_http_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 265
    functionDepth: 3
    functionLinenumber: 265
    functionLinenumberEnd: 274
    functionName: vlc_http_msg_iterate
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 2
    functionsReached:
    - vlc_http_stream_read_headers
    - vlc_http_msg_destroy
    linkageType: ''
    returnType: struct vlc_http_msg
    signature: struct vlc_http_msg *vlc_http_msg_iterate(struct vlc_http_msg *m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_stream_read_headers
      Src: /src/vlc/modules/access/http/message.c:278,1
    - Dst: vlc_http_stream_close
      Src: /src/vlc/modules/access/http/message.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct vlc_http_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 282
    functionName: vlc_http_msg_get_initial
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 6
    functionsReached:
    - vlc_http_stream_read_headers
    - vlc_http_stream_close
    linkageType: ''
    returnType: struct vlc_http_msg
    signature: struct vlc_http_msg *vlc_http_msg_get_initial(struct vlc_http_stream
      *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_msg_get_status
      Src: /src/vlc/modules/access/http/message.c:286,1
    - Dst: vlc_http_msg_iterate
      Src: /src/vlc/modules/access/http/message.c:287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct vlc_http_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 284
    functionDepth: 4
    functionLinenumber: 284
    functionLinenumberEnd: 289
    functionName: vlc_http_msg_get_final
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 3
    functionsReached:
    - vlc_http_msg_get_status
    - vlc_http_msg_iterate
    linkageType: ''
    returnType: struct vlc_http_msg
    signature: struct vlc_http_msg *vlc_http_msg_get_final(struct vlc_http_msg *m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_stream_read
      Src: /src/vlc/modules/access/http/message.c:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct vlc_http_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 297
    functionName: vlc_http_msg_read
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 5
    functionsReached:
    - vlc_http_stream_read
    linkageType: ''
    returnType: block_t
    signature: block_t *vlc_http_msg_read(struct vlc_http_msg *m)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_stream_write
      Src: /src/vlc/modules/access/http/message.c:308,1
    - Dst: vlc_http_stream_write
      Src: /src/vlc/modules/access/http/message.c:315,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/http/message.c:319,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/access/http/message.c:325,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - m
    - block
    - eos
    argTypes:
    - struct vlc_http_msg*
    - block_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 327
    functionName: vlc_http_msg_write
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 2
    functionsReached:
    - block_ChainRelease
    - block_Release
    - vlc_http_stream_write
    linkageType: ''
    returnType: int
    signature: int vlc_http_msg_write(struct vlc_http_msg *m, block_t *block, bool
      eos)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_memstream_open
      Src: /src/vlc/modules/access/http/message.c:336,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/access/http/message.c:340,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/access/http/message.c:342,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/access/http/message.c:343,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/access/http/message.c:347,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/access/http/message.c:350,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/access/http/message.c:354,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/access/http/message.c:356,1
    - Dst: vlc_memstream_close
      Src: /src/vlc/modules/access/http/message.c:358,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - m
    - lenp
    - proxied
    - chunked
    argTypes:
    - struct vlc_http_msg*
    - size_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 364
    functionName: vlc_http_msg_format
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 2
    functionsReached:
    - vlc_memstream_close
    - vlc_memstream_open
    - vlc_memstream_printf
    - vlc_memstream_puts
    linkageType: ''
    returnType: char
    signature: "char *vlc_http_msg_format(const struct vlc_http_msg *m, size_t *restrict
      lenp,\n                          bool proxied, bool chunked)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/vlc/modules/access/http/message.c:371,1
    - Dst: vlc_http_resp_create
      Src: /src/vlc/modules/access/http/message.c:373,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/message.c:374,1
    - Dst: strstr
      Src: /src/vlc/modules/access/http/message.c:380,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/message.c:384,1
    - Dst: strstr
      Src: /src/vlc/modules/access/http/message.c:390,1
    - Dst: memchr
      Src: /src/vlc/modules/access/http/message.c:398,1
    - Dst: strndup
      Src: /src/vlc/modules/access/http/message.c:402,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/message.c:403,1
    - Dst: strspn
      Src: /src/vlc/modules/access/http/message.c:407,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/message.c:409,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/message.c:409,1
    - Dst: free
      Src: /src/vlc/modules/access/http/message.c:412,1
    - Dst: free
      Src: /src/vlc/modules/access/http/message.c:415,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/message.c:421,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 366
    functionDepth: 5
    functionLinenumber: 366
    functionLinenumberEnd: 423
    functionName: vlc_http_msg_headers
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 4
    functionsReached:
    - sscanf
    - strndup
    - vlc_http_resp_create
    - strspn
    - vlc_http_msg_add_header
    - free
    - strcmp
    - vlc_http_msg_destroy
    - strstr
    - unlikely
    - memchr
    linkageType: ''
    returnType: struct vlc_http_msg
    signature: struct vlc_http_msg *vlc_http_msg_headers(const char *msg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/message.c:430,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/http/message.c:430,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message.c:431,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/http/message.c:431,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message.c:432,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/http/message.c:432,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/access/http/message.c:435,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/message.c:436,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/access/http/message.c:445,1
    - Dst: snprintf
      Src: /src/vlc/modules/access/http/message.c:446,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/http/message.c:446,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/http/message.c:477,1
    - Dst: vlc_h2_frame_headers
      Src: /src/vlc/modules/access/http/message.c:481,1
    - Dst: free
      Src: /src/vlc/modules/access/http/message.c:483,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 3
    argNames:
    - m
    - stream_id
    - eos
    argTypes:
    - struct vlc_http_msg*
    - uint_fast32_t
    - bool
    assertStmts:
    - condition: (strcasecmp(m->headers[j][0], "Connection"))
      pos:
        line_end: 429
        line_start: 429
        source_file: /src/vlc/modules/access/http/message.c
    - condition: (strcasecmp(m->headers[j][0], "HTTP2-Settings"))
      pos:
        line_end: 431
        line_start: 431
        source_file: /src/vlc/modules/access/http/message.c
    - condition: (strcasecmp(m->headers[j][0], "Upgrade"))
      pos:
        line_end: 430
        line_start: 430
        source_file: /src/vlc/modules/access/http/message.c
    constantsTouched: []
    func_position:
      end: 485
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 485
    functionName: vlc_http_msg_h2_frame
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 2
    functionsReached:
    - snprintf
    - assert
    - vlc_assert_unreachable
    - ARRAY_SIZE
    - memcpy
    - free
    - vlc_alloc
    - strcasecmp
    - vlc_h2_frame_headers
    - unlikely
    linkageType: ''
    returnType: struct vlc_h2_frame
    signature: "struct vlc_h2_frame *vlc_http_msg_h2_frame(const struct vlc_http_msg
      *m,\n                                           uint_fast32_t stream_id, bool
      eos)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_resp_create
      Src: /src/vlc/modules/access/http/message.c:490,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/message.c:491,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/message.c:500,1
    - Dst: strtoul
      Src: /src/vlc/modules/access/http/message.c:503,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/message.c:512,1
    - Dst: strdup
      Src: /src/vlc/modules/access/http/message.c:517,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/message.c:518,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/message.c:525,1
    - Dst: strdup
      Src: /src/vlc/modules/access/http/message.c:530,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/message.c:531,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/message.c:536,1
    - Dst: strdup
      Src: /src/vlc/modules/access/http/message.c:541,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/message.c:542,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/message.c:547,1
    - Dst: strdup
      Src: /src/vlc/modules/access/http/message.c:552,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/message.c:553,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/message.c:558,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/message.c:565,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 63
    argCount: 2
    argNames:
    - n
    - hdrs
    argTypes:
    - unsigned
    - char*[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 487
    functionDepth: 5
    functionLinenumber: 487
    functionLinenumberEnd: 569
    functionName: vlc_http_msg_h2_headers
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 2
    functionsReached:
    - strdup
    - vlc_http_resp_create
    - strtoul
    - vlc_http_msg_add_header
    - strcmp
    - vlc_http_msg_destroy
    - unlikely
    linkageType: ''
    returnType: struct vlc_http_msg
    signature: "struct vlc_http_msg *vlc_http_msg_h2_headers(unsigned n,\n                                             const
      char *const hdrs[][2])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vlc/modules/access/http/message.c:576,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/message.c:580,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/http/message.c:580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - host
    - port
    argTypes:
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 573
    functionDepth: 2
    functionLinenumber: 573
    functionLinenumberEnd: 583
    functionName: vlc_http_authority
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 3
    functionsReached:
    - asprintf
    - strchr
    - unlikely
    linkageType: ''
    returnType: char
    signature: char *vlc_http_authority(const char *host, unsigned port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vlc/modules/access/http/message.c:590,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 591
    functionName: vlc_http_istoken
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: int
    signature: int vlc_http_istoken(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 598
    functionName: vlc_http_isctext
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int vlc_http_isctext(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_istoken
      Src: /src/vlc/modules/access/http/message.c:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 607
    functionName: vlc_http_token_length
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 0
    functionsReached:
    - vlc_http_istoken
    linkageType: ''
    returnType: size_t
    signature: size_t vlc_http_token_length(const char *str)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 634
    functionName: vlc_http_quoted_length
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t vlc_http_quoted_length(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_token_length
      Src: /src/vlc/modules/access/http/message.c:638,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 636
    functionDepth: 2
    functionLinenumber: 636
    functionLinenumberEnd: 640
    functionName: vlc_http_is_token
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 1
    functionsReached:
    - vlc_http_token_length
    linkageType: ''
    returnType: bool
    signature: bool vlc_http_is_token(const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcspn
      Src: /src/vlc/modules/access/http/message.c:644,1
    - Dst: vlc_http_quoted_length
      Src: /src/vlc/modules/access/http/message.c:648,1
    - Dst: strspn
      Src: /src/vlc/modules/access/http/message.c:649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 650
    functionName: vlc_http_next_token
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 1
    functionsReached:
    - strcspn
    - vlc_http_quoted_length
    - strspn
    linkageType: ''
    returnType: char
    signature: char *vlc_http_next_token(const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/access/http/message.c:654,1
    - Dst: vlc_http_token_length
      Src: /src/vlc/modules/access/http/message.c:658,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/access/http/message.c:659,1
    - Dst: vlc_http_next_token
      Src: /src/vlc/modules/access/http/message.c:662,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - value
    - token
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 652
    functionDepth: 2
    functionLinenumber: 652
    functionLinenumberEnd: 666
    functionName: vlc_http_get_token
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 0
    functionsReached:
    - strlen
    - vlc_http_token_length
    - strncasecmp
    - vlc_http_next_token
    linkageType: ''
    returnType: char
    signature: char *vlc_http_get_token(const char *value, const char *token)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_get_token
      Src: /src/vlc/modules/access/http/message.c:670,1
    - Dst: vlc_http_token_length
      Src: /src/vlc/modules/access/http/message.c:674,1
    - Dst: strspn
      Src: /src/vlc/modules/access/http/message.c:675,1
    - Dst: strspn
      Src: /src/vlc/modules/access/http/message.c:681,1
    - Dst: vlc_http_quoted_length
      Src: /src/vlc/modules/access/http/message.c:683,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/message.c:687,1
    - Dst: malloc
      Src: /src/vlc/modules/access/http/message.c:691,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/message.c:692,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - value
    - token
    argTypes:
    - char*
    - char*
    assertStmts:
    - condition: (len >= 2)
      pos:
        line_end: 686
        line_start: 686
        source_file: /src/vlc/modules/access/http/message.c
    constantsTouched: []
    func_position:
      end: 707
      start: 668
    functionDepth: 3
    functionLinenumber: 668
    functionLinenumberEnd: 707
    functionName: vlc_http_get_token_value
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 0
    functionsReached:
    - assert
    - strspn
    - vlc_http_quoted_length
    - vlc_http_get_token
    - vlc_http_token_length
    - unlikely
    - malloc
    linkageType: ''
    returnType: char
    signature: char *vlc_http_get_token_value(const char *value, const char *token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_get_token
      Src: /src/vlc/modules/access/http/message.c:712,1
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/access/http/message.c:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - field
    - token
    argTypes:
    - struct vlc_http_msg*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 709
    functionDepth: 4
    functionLinenumber: 709
    functionLinenumberEnd: 713
    functionName: vlc_http_msg_get_token
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 3
    functionsReached:
    - vlc_http_msg_get_header
    - vlc_http_get_token
    linkageType: ''
    returnType: char
    signature: "char *vlc_http_msg_get_token(const struct vlc_http_msg *msg,\n                                   const
      char *field, const char *token)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_isctext
      Src: /src/vlc/modules/access/http/message.c:739,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 743
    functionName: vlc_http_comment_length
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 0
    functionsReached:
    - vlc_http_isctext
    linkageType: ''
    returnType: size_t
    signature: size_t vlc_http_comment_length(const char *str)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_istoken
      Src: /src/vlc/modules/access/http/message.c:747,1
    - Dst: vlc_http_token_length
      Src: /src/vlc/modules/access/http/message.c:752,1
    - Dst: vlc_http_token_length
      Src: /src/vlc/modules/access/http/message.c:758,1
    - Dst: vlc_http_comment_length
      Src: /src/vlc/modules/access/http/message.c:762,1
    - Dst: strspn
      Src: /src/vlc/modules/access/http/message.c:772,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 745
    functionDepth: 2
    functionLinenumber: 745
    functionLinenumberEnd: 781
    functionName: vlc_http_is_agent
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 0
    functionsReached:
    - vlc_http_token_length
    - vlc_http_istoken
    - strspn
    - vlc_http_comment_length
    linkageType: ''
    returnType: bool
    signature: bool vlc_http_is_agent(const char *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_is_agent
      Src: /src/vlc/modules/access/http/message.c:787,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/message.c:792,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - m
    - str
    argTypes:
    - struct vlc_http_msg*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 783
    functionDepth: 5
    functionLinenumber: 783
    functionLinenumberEnd: 793
    functionName: vlc_http_msg_add_agent
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 5
    functionsReached:
    - vlc_http_is_agent
    - vlc_http_msg_add_header
    linkageType: ''
    returnType: int
    signature: int vlc_http_msg_add_agent(struct vlc_http_msg *m, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/access/http/message.c:798,1
    - Dst: vlc_http_is_agent
      Src: /src/vlc/modules/access/http/message.c:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct vlc_http_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 795
    functionDepth: 4
    functionLinenumber: 795
    functionLinenumberEnd: 801
    functionName: vlc_http_msg_get_agent
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 1
    functionsReached:
    - vlc_http_is_agent
    - vlc_http_msg_get_header
    linkageType: ''
    returnType: char
    signature: char *vlc_http_msg_get_agent(const struct vlc_http_msg *m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gmtime_r
      Src: /src/vlc/modules/access/http/message.c:816,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/message.c:818,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - m
    - hname
    - t
    argTypes:
    - struct vlc_http_msg*
    - char*
    - time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 811
    functionDepth: 5
    functionLinenumber: 811
    functionLinenumberEnd: 824
    functionName: vlc_http_msg_add_time
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 2
    functionsReached:
    - gmtime_r
    - vlc_http_msg_add_header
    linkageType: ''
    returnType: int
    signature: "int vlc_http_msg_add_time(struct vlc_http_msg *m, const char *hname,\n
      \                         const time_t *t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/vlc/modules/access/http/message.c:830,1
    - Dst: vlc_http_msg_add_time
      Src: /src/vlc/modules/access/http/message.c:831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct vlc_http_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 826
    functionDepth: 6
    functionLinenumber: 826
    functionLinenumberEnd: 832
    functionName: vlc_http_msg_add_atime
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 1
    functionsReached:
    - time
    - vlc_http_msg_add_time
    linkageType: ''
    returnType: int
    signature: int vlc_http_msg_add_atime(struct vlc_http_msg *m)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/vlc/modules/access/http/message.c:840,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/http/message.c:843,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/http/message.c:847,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/http/message.c:857,1
    - Dst: timegm
      Src: /src/vlc/modules/access/http/message.c:858,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 834
    functionDepth: 2
    functionLinenumber: 834
    functionLinenumberEnd: 862
    functionName: vlc_http_mktime
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 1
    functionsReached:
    - sscanf
    - strcmp
    - timegm
    linkageType: ''
    returnType: time_t
    signature: time_t vlc_http_mktime(const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/access/http/message.c:866,1
    - Dst: vlc_http_mktime
      Src: /src/vlc/modules/access/http/message.c:869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - m
    - name
    argTypes:
    - struct vlc_http_msg*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 864
    functionDepth: 4
    functionLinenumber: 864
    functionLinenumberEnd: 870
    functionName: vlc_http_msg_get_time
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 1
    functionsReached:
    - vlc_http_mktime
    - vlc_http_msg_get_header
    linkageType: ''
    returnType: time_t
    signature: time_t vlc_http_msg_get_time(const struct vlc_http_msg *m, const char
      *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_msg_get_time
      Src: /src/vlc/modules/access/http/message.c:874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct vlc_http_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 872
    functionDepth: 5
    functionLinenumber: 872
    functionLinenumberEnd: 875
    functionName: vlc_http_msg_get_atime
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 2
    functionsReached:
    - vlc_http_msg_get_time
    linkageType: ''
    returnType: time_t
    signature: time_t vlc_http_msg_get_atime(const struct vlc_http_msg *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_msg_get_time
      Src: /src/vlc/modules/access/http/message.c:879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct vlc_http_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 877
    functionDepth: 5
    functionLinenumber: 877
    functionLinenumberEnd: 880
    functionName: vlc_http_msg_get_mtime
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 3
    functionsReached:
    - vlc_http_msg_get_time
    linkageType: ''
    returnType: time_t
    signature: time_t vlc_http_msg_get_mtime(const struct vlc_http_msg *m)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/access/http/message.c:884,1
    - Dst: strtoul
      Src: /src/vlc/modules/access/http/message.c:889,1
    - Dst: vlc_http_mktime
      Src: /src/vlc/modules/access/http/message.c:893,1
    - Dst: time
      Src: /src/vlc/modules/access/http/message.c:898,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct vlc_http_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 882
    functionDepth: 4
    functionLinenumber: 882
    functionLinenumberEnd: 903
    functionName: vlc_http_msg_get_retry_after
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 1
    functionsReached:
    - vlc_http_mktime
    - strtoul
    - vlc_http_msg_get_header
    - time
    linkageType: ''
    returnType: unsigned
    signature: unsigned vlc_http_msg_get_retry_after(const struct vlc_http_msg *m)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/access/http/message.c:913,1
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/access/http/message.c:917,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/http/message.c:927,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct vlc_http_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 905
    functionDepth: 4
    functionLinenumber: 905
    functionLinenumberEnd: 932
    functionName: vlc_http_msg_get_size
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 4
    functionsReached:
    - sscanf
    - vlc_http_msg_get_header
    linkageType: ''
    returnType: uintmax_t
    signature: uintmax_t vlc_http_msg_get_size(const struct vlc_http_msg *m)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/http/message.c:942,1
    - Dst: vlc_http_cookies_store
      Src: /src/vlc/modules/access/http/message.c:943,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - m
    - jar
    - host
    - path
    argTypes:
    - struct vlc_http_msg*
    - vlc_http_cookie_jar_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 934
    functionDepth: 2
    functionLinenumber: 934
    functionLinenumberEnd: 944
    functionName: vlc_http_msg_get_cookies
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 1
    functionsReached:
    - vlc_http_cookies_store
    - strcasecmp
    linkageType: ''
    returnType: void
    signature: "void vlc_http_msg_get_cookies(const struct vlc_http_msg *m,\n                              vlc_http_cookie_jar_t
      *jar,\n                              const char *host, const char *path)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/http/message.c:959,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/http/message.c:961,1
    - Dst: strndup
      Src: /src/vlc/modules/access/http/message.c:970,1
    - Dst: strcspn
      Src: /src/vlc/modules/access/http/message.c:970,1
    - Dst: strndup
      Src: /src/vlc/modules/access/http/message.c:972,1
    - Dst: strcspn
      Src: /src/vlc/modules/access/http/message.c:972,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/message.c:973,1
    - Dst: vlc_http_cookies_fetch
      Src: /src/vlc/modules/access/http/message.c:976,1
    - Dst: free
      Src: /src/vlc/modules/access/http/message.c:977,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/message.c:981,1
    - Dst: free
      Src: /src/vlc/modules/access/http/message.c:982,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - m
    - jar
    argTypes:
    - struct vlc_http_msg*
    - vlc_http_cookie_jar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 946
    functionDepth: 5
    functionLinenumber: 946
    functionLinenumberEnd: 985
    functionName: vlc_http_msg_add_cookies
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 1
    functionsReached:
    - strndup
    - vlc_http_cookies_fetch
    - vlc_http_msg_add_header
    - free
    - strcspn
    - strcasecmp
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int vlc_http_msg_add_cookies(struct vlc_http_msg *m,\n                             vlc_http_cookie_jar_t
      *jar)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_msg_get_token
      Src: /src/vlc/modules/access/http/message.c:995,1
    - Dst: strspn
      Src: /src/vlc/modules/access/http/message.c:1000,1
    - Dst: vlc_http_get_token_value
      Src: /src/vlc/modules/access/http/message.c:1002,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct vlc_http_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 987
    functionDepth: 5
    functionLinenumber: 987
    functionLinenumberEnd: 1003
    functionName: vlc_http_msg_get_basic_realm
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 3
    functionsReached:
    - vlc_http_msg_get_token
    - strspn
    - vlc_http_get_token_value
    linkageType: ''
    returnType: char
    signature: char *vlc_http_msg_get_basic_realm(const struct vlc_http_msg *m)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/vlc/modules/access/http/message.c:1028,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/message.c:1029,1
    - Dst: vlc_b64_encode_binary
      Src: /src/vlc/modules/access/http/message.c:1032,1
    - Dst: free
      Src: /src/vlc/modules/access/http/message.c:1033,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/message.c:1034,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/message.c:1037,1
    - Dst: free
      Src: /src/vlc/modules/access/http/message.c:1039,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 4
    argNames:
    - m
    - proxy
    - username
    - password
    argTypes:
    - struct vlc_http_msg*
    - bool
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1005
    functionDepth: 5
    functionLinenumber: 1005
    functionLinenumberEnd: 1041
    functionName: vlc_http_msg_add_creds_basic
    functionSourceFile: /src/vlc/modules/access/http/message.c
    functionUses: 4
    functionsReached:
    - asprintf
    - vlc_b64_encode_binary
    - vlc_http_msg_add_header
    - free
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int vlc_http_msg_add_creds_basic(struct vlc_http_msg *m, bool proxy,\n
      \                                const char *username, const char *password)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/live.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - res
    - req
    - opaque
    argTypes:
    - struct vlc_http_resource*
    - struct vlc_http_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: vlc_http_live_req
    functionSourceFile: /src/vlc/modules/access/http/live.c
    functionUses: 0
    functionsReached:
    - vlc_http_msg_add_header
    linkageType: ''
    returnType: int
    signature: "int vlc_http_live_req(const struct vlc_http_resource *res,\n                             struct
      vlc_http_msg *req, void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - res
    - resp
    - opaque
    argTypes:
    - struct vlc_http_resource*
    - struct vlc_http_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: vlc_http_live_resp
    functionSourceFile: /src/vlc/modules/access/http/live.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int vlc_http_live_resp(const struct vlc_http_resource *res,\n                              const
      struct vlc_http_msg *resp, void *opaque)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/http/live.c:62,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/live.c:63,1
    - Dst: vlc_http_res_init
      Src: /src/vlc/modules/access/http/live.c:66,1
    - Dst: free
      Src: /src/vlc/modules/access/http/live.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - mgr
    - uri
    - ua
    - ref
    argTypes:
    - struct vlc_http_mgr*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 73
    functionName: vlc_http_live_create
    functionSourceFile: /src/vlc/modules/access/http/live.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_http_res_init
    - unlikely
    - malloc
    linkageType: ''
    returnType: struct vlc_http_resource
    signature: "struct vlc_http_resource *vlc_http_live_create(struct vlc_http_mgr
      *mgr,\n                                               const char *uri, const
      char *ua,\n                                               const char *ref)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_res_read
      Src: /src/vlc/modules/access/http/live.c:77,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/live.c:83,1
    - Dst: vlc_http_res_read
      Src: /src/vlc/modules/access/http/live.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - res
    argTypes:
    - struct vlc_http_resource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 75
    functionDepth: 5
    functionLinenumber: 75
    functionLinenumberEnd: 86
    functionName: vlc_http_live_read
    functionSourceFile: /src/vlc/modules/access/http/live.c
    functionUses: 1
    functionsReached:
    - vlc_http_msg_destroy
    - vlc_http_res_read
    linkageType: ''
    returnType: block_t
    signature: block_t *vlc_http_live_read(struct vlc_http_resource *res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct vlc_http_conn*::cbs::stream_open
      Src: /src/vlc/modules/access/http/conn.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - conn
    - m
    - has_data
    argTypes:
    - struct vlc_http_conn*
    - struct vlc_http_msg*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: vlc_http_stream_open
    functionSourceFile: /src/vlc/modules/access/http/conn.h
    functionUses: 5
    functionsReached:
    - struct vlc_http_conn*::cbs::stream_open
    linkageType: ''
    returnType: struct vlc_http_stream
    signature: "struct vlc_http_stream *\nvlc_http_stream_open(struct vlc_http_conn
      *conn, const struct vlc_http_msg *m,\n                     bool has_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct vlc_http_conn*::cbs::release
      Src: /src/vlc/modules/access/http/conn.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct vlc_http_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: vlc_http_conn_release
    functionSourceFile: /src/vlc/modules/access/http/conn.h
    functionUses: 6
    functionsReached:
    - struct vlc_http_conn*::cbs::release
    linkageType: ''
    returnType: void
    signature: void vlc_http_conn_release(struct vlc_http_conn *conn)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/access/http/outfile.c:44,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/http/outfile.c:52,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/access/http/outfile.c:54,1
    - Dst: vlc_http_authority
      Src: /src/vlc/modules/access/http/outfile.c:62,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/outfile.c:63,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/http/outfile.c:68,1
    - Dst: free
      Src: /src/vlc/modules/access/http/outfile.c:70,1
    - Dst: vlc_http_req_create
      Src: /src/vlc/modules/access/http/outfile.c:75,1
    - Dst: free
      Src: /src/vlc/modules/access/http/outfile.c:77,1
    - Dst: free
      Src: /src/vlc/modules/access/http/outfile.c:78,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/outfile.c:79,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/access/http/outfile.c:82,1
    - Dst: vlc_http_msg_add_creds_basic
      Src: /src/vlc/modules/access/http/outfile.c:85,1
    - Dst: vlc_http_msg_add_agent
      Src: /src/vlc/modules/access/http/outfile.c:87,1
    - Dst: vlc_http_msg_add_cookies
      Src: /src/vlc/modules/access/http/outfile.c:89,1
    - Dst: vlc_http_mgr_get_jar
      Src: /src/vlc/modules/access/http/outfile.c:89,1
    - Dst: vlc_http_mgr_request
      Src: /src/vlc/modules/access/http/outfile.c:91,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/outfile.c:93,1
    - Dst: vlc_http_msg_get_status
      Src: /src/vlc/modules/access/http/outfile.c:97,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/outfile.c:103,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access/http/outfile.c:108,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 51
    argCount: 5
    argNames:
    - mgr
    - uri
    - ua
    - user
    - pwd
    argTypes:
    - struct vlc_http_mgr*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 36
    functionDepth: 6
    functionLinenumber: 36
    functionLinenumberEnd: 110
    functionName: vlc_http_outfile_create
    functionSourceFile: /src/vlc/modules/access/http/outfile.c
    functionUses: 0
    functionsReached:
    - vlc_http_req_create
    - asprintf
    - vlc_UrlParse
    - vlc_ascii_strcasecmp
    - vlc_http_msg_add_agent
    - vlc_http_mgr_get_jar
    - vlc_http_msg_get_status
    - vlc_http_msg_add_header
    - free
    - vlc_http_mgr_request
    - vlc_http_msg_destroy
    - vlc_http_authority
    - vlc_http_msg_add_creds_basic
    - unlikely
    - vlc_http_msg_add_cookies
    - vlc_UrlClean
    linkageType: ''
    returnType: struct vlc_http_outfile
    signature: "struct vlc_http_outfile *vlc_http_outfile_create(struct vlc_http_mgr
      *mgr,\n    const char *uri, const char *ua, const char *user, const char *pwd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_msg_write
      Src: /src/vlc/modules/access/http/outfile.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - f
    - b
    argTypes:
    - struct vlc_http_outfile*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: vlc_http_outfile_write
    functionSourceFile: /src/vlc/modules/access/http/outfile.c
    functionUses: 0
    functionsReached:
    - vlc_http_msg_write
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t vlc_http_outfile_write(struct vlc_http_outfile *f, block_t
      *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_msg_write
      Src: /src/vlc/modules/access/http/outfile.c:122,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/outfile.c:126,1
    - Dst: vlc_http_msg_iterate
      Src: /src/vlc/modules/access/http/outfile.c:130,1
    - Dst: vlc_http_msg_get_status
      Src: /src/vlc/modules/access/http/outfile.c:134,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/outfile.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct vlc_http_outfile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 140
    functionName: vlc_http_outfile_close
    functionSourceFile: /src/vlc/modules/access/http/outfile.c
    functionUses: 0
    functionsReached:
    - vlc_http_msg_write
    - vlc_http_msg_destroy
    - vlc_http_msg_get_status
    - vlc_http_msg_iterate
    linkageType: ''
    returnType: int
    signature: int vlc_http_outfile_close(struct vlc_http_outfile *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: CO
    functionSourceFile: /src/vlc/modules/access/http/h2conn.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CO(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: SO
    functionSourceFile: /src/vlc/modules/access/http/h2conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SO(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_frame_dump
      Src: /src/vlc/modules/access/http/h2conn.c:97,1
    - Dst: vlc_h2_output_send
      Src: /src/vlc/modules/access/http/h2conn.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - conn
    - f
    argTypes:
    - struct vlc_h2_conn*
    - struct vlc_h2_frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 4
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: vlc_h2_conn_queue
    functionSourceFile: /src/vlc/modules/access/http/h2conn.c
    functionUses: 0
    functionsReached:
    - vlc_h2_output_send
    - vlc_h2_frame_dump
    linkageType: ''
    returnType: int
    signature: int vlc_h2_conn_queue(struct vlc_h2_conn *conn, struct vlc_h2_frame
      *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_frame_dump
      Src: /src/vlc/modules/access/http/h2conn.c:104,1
    - Dst: vlc_h2_output_send_prio
      Src: /src/vlc/modules/access/http/h2conn.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - conn
    - f
    argTypes:
    - struct vlc_h2_conn*
    - struct vlc_h2_frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 4
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: vlc_h2_conn_queue_prio
    functionSourceFile: /src/vlc/modules/access/http/h2conn.c
    functionUses: 0
    functionsReached:
    - vlc_h2_output_send_prio
    - vlc_h2_frame_dump
    linkageType: ''
    returnType: int
    signature: "int vlc_h2_conn_queue_prio(struct vlc_h2_conn *conn,\n                                  struct
      vlc_h2_frame *f)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - id
    argTypes:
    - void*
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: vlc_h2_stream_lookup
    functionSourceFile: /src/vlc/modules/access/http/h2conn.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *vlc_h2_stream_lookup(void *ctx, uint_fast32_t id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_err
      Src: /src/vlc/modules/access/http/h2conn.c:129,1
    - Dst: CO
      Src: /src/vlc/modules/access/http/h2conn.c:129,1
    - Dst: vlc_h2_strerror
      Src: /src/vlc/modules/access/http/h2conn.c:130,1
    - Dst: vlc_http_dbg
      Src: /src/vlc/modules/access/http/h2conn.c:132,1
    - Dst: CO
      Src: /src/vlc/modules/access/http/h2conn.c:132,1
    - Dst: vlc_h2_conn_queue
      Src: /src/vlc/modules/access/http/h2conn.c:133,1
    - Dst: vlc_h2_frame_rst_stream
      Src: /src/vlc/modules/access/http/h2conn.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - id
    - code
    argTypes:
    - void*
    - uint_fast32_t
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 123
    functionDepth: 5
    functionLinenumber: 123
    functionLinenumberEnd: 134
    functionName: vlc_h2_stream_error
    functionSourceFile: /src/vlc/modules/access/http/h2conn.c
    functionUses: 5
    functionsReached:
    - vlc_http_dbg
    - vlc_h2_frame_rst_stream
    - vlc_http_err
    - vlc_h2_conn_queue
    - CO
    - vlc_h2_strerror
    linkageType: ''
    returnType: int
    signature: int vlc_h2_stream_error(void *ctx, uint_fast32_t id, uint_fast32_t
      code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_stream_error
      Src: /src/vlc/modules/access/http/h2conn.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - code
    argTypes:
    - struct vlc_h2_stream*
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: vlc_h2_stream_fatal
    functionSourceFile: /src/vlc/modules/access/http/h2conn.c
    functionUses: 0
    functionsReached:
    - vlc_h2_stream_error
    linkageType: ''
    returnType: int
    signature: int vlc_h2_stream_fatal(struct vlc_h2_stream *s, uint_fast32_t code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_dbg
      Src: /src/vlc/modules/access/http/h2conn.c:154,1
    - Dst: SO
      Src: /src/vlc/modules/access/http/h2conn.c:154,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/h2conn.c:155,1
    - Dst: vlc_http_dbg
      Src: /src/vlc/modules/access/http/h2conn.c:159,1
    - Dst: SO
      Src: /src/vlc/modules/access/http/h2conn.c:159,1
    - Dst: vlc_http_dbg
      Src: /src/vlc/modules/access/http/h2conn.c:162,1
    - Dst: SO
      Src: /src/vlc/modules/access/http/h2conn.c:162,1
    - Dst: vlc_http_msg_h2_headers
      Src: /src/vlc/modules/access/http/h2conn.c:164,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/h2conn.c:165,1
    - Dst: vlc_h2_stream_fatal
      Src: /src/vlc/modules/access/http/h2conn.c:166,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/access/http/h2conn.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - count
    - hdrs
    argTypes:
    - void*
    - unsigned
    - char*[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 144
    functionDepth: 6
    functionLinenumber: 144
    functionLinenumberEnd: 168
    functionName: vlc_h2_stream_headers
    functionSourceFile: /src/vlc/modules/access/http/h2conn.c
    functionUses: 0
    functionsReached:
    - vlc_cond_signal
    - vlc_http_dbg
    - vlc_h2_stream_fatal
    - vlc_http_msg_destroy
    - vlc_http_msg_h2_headers
    - unlikely
    - SO
    linkageType: ''
    returnType: void
    signature: "void vlc_h2_stream_headers(void *ctx, unsigned count,\n                                  const
      char *const hdrs[][2])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/http/h2conn.c:178,1
    - Dst: vlc_h2_stream_error
      Src: /src/vlc/modules/access/http/h2conn.c:179,1
    - Dst: vlc_h2_frame_data_get
      Src: /src/vlc/modules/access/http/h2conn.c:183,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2conn.c:186,1
    - Dst: vlc_h2_stream_fatal
      Src: /src/vlc/modules/access/http/h2conn.c:187,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/access/http/h2conn.c:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - f
    argTypes:
    - void*
    - struct vlc_h2_frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 194
    functionName: vlc_h2_stream_data
    functionSourceFile: /src/vlc/modules/access/http/h2conn.c
    functionUses: 0
    functionsReached:
    - vlc_cond_signal
    - vlc_h2_stream_error
    - free
    - vlc_h2_frame_data_get
    - vlc_h2_stream_fatal
    linkageType: ''
    returnType: int
    signature: int vlc_h2_stream_data(void *ctx, struct vlc_h2_frame *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_dbg
      Src: /src/vlc/modules/access/http/h2conn.c:201,1
    - Dst: SO
      Src: /src/vlc/modules/access/http/h2conn.c:201,1
    - Dst: vlc_cond_broadcast
      Src: /src/vlc/modules/access/http/h2conn.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 205
    functionName: vlc_h2_stream_end
    functionSourceFile: /src/vlc/modules/access/http/h2conn.c
    functionUses: 0
    functionsReached:
    - vlc_cond_broadcast
    - SO
    - vlc_http_dbg
    linkageType: ''
    returnType: void
    signature: void vlc_h2_stream_end(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_err
      Src: /src/vlc/modules/access/http/h2conn.c:212,1
    - Dst: SO
      Src: /src/vlc/modules/access/http/h2conn.c:212,1
    - Dst: vlc_h2_strerror
      Src: /src/vlc/modules/access/http/h2conn.c:213,1
    - Dst: vlc_cond_broadcast
      Src: /src/vlc/modules/access/http/h2conn.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - code
    argTypes:
    - void*
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 219
    functionName: vlc_h2_stream_reset
    functionSourceFile: /src/vlc/modules/access/http/h2conn.c
    functionUses: 0
    functionsReached:
    - vlc_h2_strerror
    - vlc_http_err
    - SO
    - vlc_cond_broadcast
    linkageType: ''
    returnType: int
    signature: int vlc_h2_stream_reset(void *ctx, uint_fast32_t code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_cond_broadcast
      Src: /src/vlc/modules/access/http/h2conn.c:231,1
    - Dst: vlc_http_dbg
      Src: /src/vlc/modules/access/http/h2conn.c:233,1
    - Dst: SO
      Src: /src/vlc/modules/access/http/h2conn.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - credit
    argTypes:
    - void*
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 235
    functionName: vlc_h2_stream_window_update
    functionSourceFile: /src/vlc/modules/access/http/h2conn.c
    functionUses: 0
    functionsReached:
    - vlc_cond_broadcast
    - SO
    - vlc_http_dbg
    linkageType: ''
    returnType: void
    signature: void vlc_h2_stream_window_update(void *ctx, uint_fast32_t credit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/http/h2conn.c:242,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/access/http/h2conn.c:244,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/http/h2conn.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 246
    functionName: vlc_h2_stream_wake_up
    functionSourceFile: /src/vlc/modules/access/http/h2conn.c
    functionUses: 0
    functionsReached:
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void vlc_h2_stream_wake_up(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_interrupt_register
      Src: /src/vlc/modules/access/http/h2conn.c:253,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/http/h2conn.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct vlc_h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 255
    functionName: vlc_h2_stream_lock
    functionSourceFile: /src/vlc/modules/access/http/h2conn.c
    functionUses: 0
    functionsReached:
    - vlc_interrupt_register
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void vlc_h2_stream_lock(struct vlc_h2_stream *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/http/h2conn.c:259,1
    - Dst: vlc_interrupt_unregister
      Src: /src/vlc/modules/access/http/h2conn.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct vlc_h2_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: vlc_h2_stream_unlock
    functionSourceFile: /src/vlc/modules/access/http/h2conn.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_interrupt_unregister
    linkageType: ''
    returnType: int
    signature: int vlc_h2_stream_unlock(struct vlc_h2_stream *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/access/http/h2conn.c:266,1
    - Dst: vlc_h2_stream_lock
      Src: /src/vlc/modules/access/http/h2conn.c:270,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/access/http/h2conn.c:272,1
    - Dst: vlc_h2_stream_unlock
      Src: /src/vlc/modules/access/http/h2conn.c:274,1
    - Dst: vlc_http_msg_attach
      Src: /src/vlc/modules/access/http/h2conn.c:278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - stream
    argTypes:
    - struct vlc_http_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 280
    functionName: vlc_h2_stream_wait
    functionSourceFile: /src/vlc/modules/access/http/h2conn.c
    functionUses: 0
    functionsReached:
    - vlc_cond_wait
    - container_of
    - vlc_h2_stream_lock
    - vlc_http_msg_attach
    - vlc_h2_stream_unlock
    linkageType: ''
    returnType: struct vlc_http_msg
    signature: struct vlc_http_msg *vlc_h2_stream_wait(struct vlc_http_stream *stream)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/access/http/h2conn.c:286,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/h2conn.c:291,1
    - Dst: vlc_h2_stream_lock
      Src: /src/vlc/modules/access/http/h2conn.c:294,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/access/http/h2conn.c:316,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/access/http/h2conn.c:331,1
    - Dst: vlc_h2_frame_data
      Src: /src/vlc/modules/access/http/h2conn.c:337,1
    - Dst: vlc_h2_conn_queue
      Src: /src/vlc/modules/access/http/h2conn.c:345,1
    - Dst: likely
      Src: /src/vlc/modules/access/http/h2conn.c:351,1
    - Dst: vlc_h2_stream_unlock
      Src: /src/vlc/modules/access/http/h2conn.c:359,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 48
    argCount: 4
    argNames:
    - stream
    - base
    - length
    - eos
    argTypes:
    - struct vlc_http_stream*
    - void*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 282
    functionDepth: 5
    functionLinenumber: 282
    functionLinenumberEnd: 367
    functionName: vlc_h2_stream_write
    functionSourceFile: /src/vlc/modules/access/http/h2conn.c
    functionUses: 0
    functionsReached:
    - vlc_h2_frame_data
    - vlc_h2_stream_unlock
    - container_of
    - vlc_h2_stream_lock
    - vlc_h2_conn_queue
    - likely
    - unlikely
    - vlc_cond_wait
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t vlc_h2_stream_write(struct vlc_http_stream *stream,\n                                   const
      void *base, size_t length, bool eos)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/access/http/h2conn.c:381,1
    - Dst: vlc_h2_stream_lock
      Src: /src/vlc/modules/access/http/h2conn.c:385,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/access/http/h2conn.c:387,1
    - Dst: vlc_h2_stream_unlock
      Src: /src/vlc/modules/access/http/h2conn.c:393,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn.c:405,1
    - Dst: vlc_h2_frame_data_get
      Src: /src/vlc/modules/access/http/h2conn.c:410,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn.c:412,1
    - Dst: vlc_h2_conn_queue
      Src: /src/vlc/modules/access/http/h2conn.c:418,1
    - Dst: vlc_h2_frame_window_update
      Src: /src/vlc/modules/access/http/h2conn.c:418,1
    - Dst: vlc_h2_stream_unlock
      Src: /src/vlc/modules/access/http/h2conn.c:421,1
    - Dst: block_heap_Alloc
      Src: /src/vlc/modules/access/http/h2conn.c:424,1
    - Dst: vlc_h2_frame_size
      Src: /src/vlc/modules/access/http/h2conn.c:424,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/h2conn.c:425,1
    - Dst: vlc_h2_stream_error
      Src: /src/vlc/modules/access/http/h2conn.c:427,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn.c:431,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn.c:432,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn.c:433,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - stream
    argTypes:
    - struct vlc_http_stream*
    assertStmts:
    - condition: (s->recv_tailp == &f->next)
      pos:
        line_end: 404
        line_start: 404
        source_file: /src/vlc/modules/access/http/h2conn.c
    - condition: (s->recv_cwnd >= len)
      pos:
        line_end: 411
        line_start: 411
        source_file: /src/vlc/modules/access/http/h2conn.c
    - condition: (block->p_buffer + block->i_buffer >= buf + len)
      pos:
        line_end: 432
        line_start: 432
        source_file: /src/vlc/modules/access/http/h2conn.c
    - condition: (block->p_buffer <= buf)
      pos:
        line_end: 431
        line_start: 431
        source_file: /src/vlc/modules/access/http/h2conn.c
    - condition: (block->i_buffer >= len)
      pos:
        line_end: 430
        line_start: 430
        source_file: /src/vlc/modules/access/http/h2conn.c
    constantsTouched: []
    func_position:
      end: 437
      start: 378
    functionDepth: 5
    functionLinenumber: 378
    functionLinenumberEnd: 437
    functionName: vlc_h2_stream_read
    functionSourceFile: /src/vlc/modules/access/http/h2conn.c
    functionUses: 0
    functionsReached:
    - vlc_cond_wait
    - assert
    - vlc_h2_frame_window_update
    - vlc_h2_stream_error
    - container_of
    - vlc_h2_stream_lock
    - vlc_h2_frame_size
    - vlc_h2_frame_data_get
    - vlc_h2_conn_queue
    - block_heap_Alloc
    - unlikely
    - vlc_h2_stream_unlock
    linkageType: ''
    returnType: block_t
    signature: block_t *vlc_h2_stream_read(struct vlc_http_stream *stream)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/access/http/h2conn.c:448,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/http/h2conn.c:453,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn.c:460,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/http/h2conn.c:464,1
    - Dst: vlc_h2_stream_error
      Src: /src/vlc/modules/access/http/h2conn.c:470,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/access/http/h2conn.c:473,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2conn.c:478,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2conn.c:481,1
    - Dst: vlc_h2_conn_destroy
      Src: /src/vlc/modules/access/http/h2conn.c:484,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - stream
    - aborted
    argTypes:
    - struct vlc_http_stream*
    - bool
    assertStmts:
    - condition: (conn->streams == s)
      pos:
        line_end: 459
        line_start: 459
        source_file: /src/vlc/modules/access/http/h2conn.c
    constantsTouched: []
    func_position:
      end: 485
      start: 445
    functionDepth: 3
    functionLinenumber: 445
    functionLinenumberEnd: 485
    functionName: vlc_h2_stream_close
    functionSourceFile: /src/vlc/modules/access/http/h2conn.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_h2_stream_error
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - container_of
    - free
    - vlc_http_msg_destroy
    - vlc_h2_conn_destroy
    linkageType: ''
    returnType: void
    signature: void vlc_h2_stream_close(struct vlc_http_stream *stream, bool aborted)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/access/http/h2conn.c:512,1
    - Dst: malloc
      Src: /src/vlc/modules/access/http/h2conn.c:513,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/h2conn.c:514,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/access/http/h2conn.c:526,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/access/http/h2conn.c:527,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/http/h2conn.c:530,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn.c:531,1
    - Dst: vlc_http_dbg
      Src: /src/vlc/modules/access/http/h2conn.c:535,1
    - Dst: CO
      Src: /src/vlc/modules/access/http/h2conn.c:535,1
    - Dst: vlc_http_msg_h2_frame
      Src: /src/vlc/modules/access/http/h2conn.c:542,1
    - Dst: vlc_h2_conn_queue
      Src: /src/vlc/modules/access/http/h2conn.c:546,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/http/h2conn.c:552,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/http/h2conn.c:556,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2conn.c:557,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 3
    argNames:
    - c
    - msg
    - has_data
    argTypes:
    - struct vlc_http_conn*
    - struct vlc_http_msg*
    - bool
    assertStmts:
    - condition: (!conn->released)
      pos:
        line_end: 530
        line_start: 530
        source_file: /src/vlc/modules/access/http/h2conn.c
    constantsTouched: []
    func_position:
      end: 559
      start: 509
    functionDepth: 5
    functionLinenumber: 509
    functionLinenumberEnd: 559
    functionName: vlc_h2_stream_open
    functionSourceFile: /src/vlc/modules/access/http/h2conn.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - container_of
    - vlc_http_dbg
    - free
    - vlc_cond_init
    - vlc_h2_conn_queue
    - vlc_http_msg_h2_frame
    - CO
    - unlikely
    - malloc
    linkageType: ''
    returnType: struct vlc_http_stream
    signature: "struct vlc_http_stream *vlc_h2_stream_open(struct vlc_http_conn *c,\n
      \                                const struct vlc_http_msg *msg, bool has_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_cond_broadcast
      Src: /src/vlc/modules/access/http/h2conn.c:570,1
    - Dst: vlc_cond_broadcast
      Src: /src/vlc/modules/access/http/h2conn.c:575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - conn
    - value
    argTypes:
    - struct vlc_h2_conn*
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 577
    functionName: vlc_h2_initial_window_update
    functionSourceFile: /src/vlc/modules/access/http/h2conn.c
    functionUses: 0
    functionsReached:
    - vlc_cond_broadcast
    linkageType: ''
    returnType: void
    signature: "void vlc_h2_initial_window_update(struct vlc_h2_conn *conn,\n                                         uint_fast32_t
      value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_dbg
      Src: /src/vlc/modules/access/http/h2conn.c:584,1
    - Dst: CO
      Src: /src/vlc/modules/access/http/h2conn.c:584,1
    - Dst: vlc_h2_setting_name
      Src: /src/vlc/modules/access/http/h2conn.c:585,1
    - Dst: vlc_h2_initial_window_update
      Src: /src/vlc/modules/access/http/h2conn.c:590,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - id
    - value
    argTypes:
    - void*
    - uint_fast16_t
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 580
    functionDepth: 2
    functionLinenumber: 580
    functionLinenumberEnd: 598
    functionName: vlc_h2_setting
    functionSourceFile: /src/vlc/modules/access/http/h2conn.c
    functionUses: 0
    functionsReached:
    - vlc_h2_initial_window_update
    - CO
    - vlc_h2_setting_name
    - vlc_http_dbg
    linkageType: ''
    returnType: void
    signature: void vlc_h2_setting(void *ctx, uint_fast16_t id, uint_fast32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_conn_queue
      Src: /src/vlc/modules/access/http/h2conn.c:605,1
    - Dst: vlc_h2_frame_settings_ack
      Src: /src/vlc/modules/access/http/h2conn.c:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 601
    functionDepth: 5
    functionLinenumber: 601
    functionLinenumberEnd: 606
    functionName: vlc_h2_settings_done
    functionSourceFile: /src/vlc/modules/access/http/h2conn.c
    functionUses: 0
    functionsReached:
    - vlc_h2_conn_queue
    - vlc_h2_frame_settings_ack
    linkageType: ''
    returnType: int
    signature: int vlc_h2_settings_done(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_conn_queue_prio
      Src: /src/vlc/modules/access/http/h2conn.c:613,1
    - Dst: vlc_h2_frame_pong
      Src: /src/vlc/modules/access/http/h2conn.c:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - opaque
    argTypes:
    - void*
    - uint_fast64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 609
    functionDepth: 5
    functionLinenumber: 609
    functionLinenumberEnd: 614
    functionName: vlc_h2_ping
    functionSourceFile: /src/vlc/modules/access/http/h2conn.c
    functionUses: 0
    functionsReached:
    - vlc_h2_frame_pong
    - vlc_h2_conn_queue_prio
    linkageType: ''
    returnType: int
    signature: int vlc_h2_ping(void *ctx, uint_fast64_t opaque)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_err
      Src: /src/vlc/modules/access/http/h2conn.c:623,1
    - Dst: CO
      Src: /src/vlc/modules/access/http/h2conn.c:623,1
    - Dst: vlc_h2_strerror
      Src: /src/vlc/modules/access/http/h2conn.c:624,1
    - Dst: vlc_http_dbg
      Src: /src/vlc/modules/access/http/h2conn.c:626,1
    - Dst: CO
      Src: /src/vlc/modules/access/http/h2conn.c:626,1
    - Dst: vlc_h2_conn_queue
      Src: /src/vlc/modules/access/http/h2conn.c:628,1
    - Dst: vlc_h2_frame_goaway
      Src: /src/vlc/modules/access/http/h2conn.c:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - code
    argTypes:
    - void*
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 617
    functionDepth: 5
    functionLinenumber: 617
    functionLinenumberEnd: 629
    functionName: vlc_h2_error
    functionSourceFile: /src/vlc/modules/access/http/h2conn.c
    functionUses: 0
    functionsReached:
    - vlc_http_dbg
    - vlc_http_err
    - vlc_h2_conn_queue
    - CO
    - vlc_h2_frame_goaway
    - vlc_h2_strerror
    linkageType: ''
    returnType: void
    signature: void vlc_h2_error(void *ctx, uint_fast32_t code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_err
      Src: /src/vlc/modules/access/http/h2conn.c:636,1
    - Dst: CO
      Src: /src/vlc/modules/access/http/h2conn.c:636,1
    - Dst: vlc_h2_strerror
      Src: /src/vlc/modules/access/http/h2conn.c:637,1
    - Dst: vlc_http_dbg
      Src: /src/vlc/modules/access/http/h2conn.c:638,1
    - Dst: CO
      Src: /src/vlc/modules/access/http/h2conn.c:638,1
    - Dst: vlc_h2_conn_queue
      Src: /src/vlc/modules/access/http/h2conn.c:641,1
    - Dst: vlc_h2_frame_goaway
      Src: /src/vlc/modules/access/http/h2conn.c:641,1
    - Dst: vlc_h2_stream_reset
      Src: /src/vlc/modules/access/http/h2conn.c:649,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - last_seq
    - code
    argTypes:
    - void*
    - uint_fast32_t
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 632
    functionDepth: 5
    functionLinenumber: 632
    functionLinenumberEnd: 652
    functionName: vlc_h2_reset
    functionSourceFile: /src/vlc/modules/access/http/h2conn.c
    functionUses: 0
    functionsReached:
    - vlc_h2_stream_reset
    - vlc_http_dbg
    - vlc_http_err
    - vlc_h2_conn_queue
    - CO
    - vlc_h2_frame_goaway
    - vlc_h2_strerror
    linkageType: ''
    returnType: int
    signature: int vlc_h2_reset(void *ctx, uint_fast32_t last_seq, uint_fast32_t code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_conn_queue_prio
      Src: /src/vlc/modules/access/http/h2conn.c:661,1
    - Dst: vlc_h2_frame_window_update
      Src: /src/vlc/modules/access/http/h2conn.c:662,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - rcwd
    argTypes:
    - void*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 654
    functionDepth: 5
    functionLinenumber: 654
    functionLinenumberEnd: 664
    functionName: vlc_h2_window_status
    functionSourceFile: /src/vlc/modules/access/http/h2conn.c
    functionUses: 0
    functionsReached:
    - vlc_h2_frame_window_update
    - vlc_h2_conn_queue_prio
    linkageType: ''
    returnType: void
    signature: void vlc_h2_window_status(void *ctx, uint32_t *restrict rcwd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_cond_broadcast
      Src: /src/vlc/modules/access/http/h2conn.c:671,1
    - Dst: vlc_http_dbg
      Src: /src/vlc/modules/access/http/h2conn.c:673,1
    - Dst: CO
      Src: /src/vlc/modules/access/http/h2conn.c:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - credit
    argTypes:
    - void*
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 675
    functionName: vlc_h2_window_update
    functionSourceFile: /src/vlc/modules/access/http/h2conn.c
    functionUses: 0
    functionsReached:
    - CO
    - vlc_cond_broadcast
    - vlc_http_dbg
    linkageType: ''
    returnType: void
    signature: void vlc_h2_window_update(void *ctx, uint_fast32_t credit)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/access/http/h2conn.c:713,1
    - Dst: vlc_tls_t*::ops::readv
      Src: /src/vlc/modules/access/http/h2conn.c:714,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/access/http/h2conn.c:716,1
    - Dst: vlc_tls_GetPollFD
      Src: /src/vlc/modules/access/http/h2conn.c:735,1
    - Dst: poll
      Src: /src/vlc/modules/access/http/h2conn.c:736,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - tls
    - buf
    - len
    argTypes:
    - vlc_tls_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 703
    functionDepth: 2
    functionLinenumber: 703
    functionLinenumberEnd: 740
    functionName: vlc_https_recv
    functionSourceFile: /src/vlc/modules/access/http/h2conn.c
    functionUses: 0
    functionsReached:
    - vlc_restorecancel
    - vlc_tls_GetPollFD
    - poll
    - vlc_tls_t*::ops::readv
    - vlc_savecancel
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t vlc_https_recv(vlc_tls_t *tls, void *buf, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_https_recv
      Src: /src/vlc/modules/access/http/h2conn.c:757,1
    - Dst: malloc
      Src: /src/vlc/modules/access/http/h2conn.c:764,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/h2conn.c:765,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/http/h2conn.c:769,1
    - Dst: vlc_cleanup_push
      Src: /src/vlc/modules/access/http/h2conn.c:774,1
    - Dst: vlc_https_recv
      Src: /src/vlc/modules/access/http/h2conn.c:775,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2conn.c:777,1
    - Dst: vlc_cleanup_pop
      Src: /src/vlc/modules/access/http/h2conn.c:780,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - tls
    argTypes:
    - struct vlc_tls*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 754
    functionDepth: 3
    functionLinenumber: 754
    functionLinenumberEnd: 783
    functionName: vlc_h2_frame_recv
    functionSourceFile: /src/vlc/modules/access/http/h2conn.c
    functionUses: 0
    functionsReached:
    - vlc_cleanup_pop
    - vlc_https_recv
    - memcpy
    - free
    - unlikely
    - malloc
    - vlc_cleanup_push
    linkageType: ''
    returnType: struct vlc_h2_frame
    signature: struct vlc_h2_frame *vlc_h2_frame_recv(struct vlc_tls *tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_h2_parse_destroy
      Src: /src/vlc/modules/access/http/h2conn.c:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 785
    functionDepth: 2
    functionLinenumber: 785
    functionLinenumberEnd: 788
    functionName: cleanup_parser
    functionSourceFile: /src/vlc/modules/access/http/h2conn.c
    functionUses: 0
    functionsReached:
    - vlc_h2_parse_destroy
    linkageType: ''
    returnType: void
    signature: void cleanup_parser(void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/access/http/h2conn.c:798,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/access/http/h2conn.c:800,1
    - Dst: vlc_h2_parse_init
      Src: /src/vlc/modules/access/http/h2conn.c:801,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/h2conn.c:802,1
    - Dst: vlc_cleanup_push
      Src: /src/vlc/modules/access/http/h2conn.c:805,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/access/http/h2conn.c:808,1
    - Dst: vlc_h2_frame_recv
      Src: /src/vlc/modules/access/http/h2conn.c:809,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/access/http/h2conn.c:810,1
    - Dst: vlc_http_dbg
      Src: /src/vlc/modules/access/http/h2conn.c:814,1
    - Dst: CO
      Src: /src/vlc/modules/access/http/h2conn.c:814,1
    - Dst: vlc_h2_frame_dump
      Src: /src/vlc/modules/access/http/h2conn.c:818,1
    - Dst: CO
      Src: /src/vlc/modules/access/http/h2conn.c:818,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/http/h2conn.c:819,1
    - Dst: vlc_h2_parse
      Src: /src/vlc/modules/access/http/h2conn.c:820,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/http/h2conn.c:821,1
    - Dst: vlc_cleanup_pop
      Src: /src/vlc/modules/access/http/h2conn.c:825,1
    - Dst: vlc_h2_parse_destroy
      Src: /src/vlc/modules/access/http/h2conn.c:826,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/http/h2conn.c:829,1
    - Dst: vlc_h2_stream_reset
      Src: /src/vlc/modules/access/http/h2conn.c:831,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/http/h2conn.c:832,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 791
    functionDepth: 4
    functionLinenumber: 791
    functionLinenumberEnd: 834
    functionName: vlc_h2_recv_thread
    functionSourceFile: /src/vlc/modules/access/http/h2conn.c
    functionUses: 0
    functionsReached:
    - vlc_cleanup_pop
    - vlc_h2_parse_destroy
    - vlc_restorecancel
    - vlc_h2_stream_reset
    - vlc_h2_frame_recv
    - vlc_thread_set_name
    - vlc_mutex_unlock
    - vlc_http_dbg
    - vlc_mutex_lock
    - vlc_h2_parse_init
    - vlc_h2_frame_dump
    - vlc_h2_parse
    - vlc_savecancel
    - CO
    - unlikely
    - vlc_cleanup_push
    linkageType: ''
    returnType: void
    signature: void *vlc_h2_recv_thread(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn.c:838,1
    - Dst: vlc_h2_error
      Src: /src/vlc/modules/access/http/h2conn.c:840,1
    - Dst: vlc_cancel
      Src: /src/vlc/modules/access/http/h2conn.c:842,1
    - Dst: vlc_join
      Src: /src/vlc/modules/access/http/h2conn.c:843,1
    - Dst: vlc_h2_output_destroy
      Src: /src/vlc/modules/access/http/h2conn.c:845,1
    - Dst: vlc_tls_Shutdown
      Src: /src/vlc/modules/access/http/h2conn.c:846,1
    - Dst: vlc_tls_Close
      Src: /src/vlc/modules/access/http/h2conn.c:848,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2conn.c:849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct vlc_h2_conn*
    assertStmts:
    - condition: (conn->streams == NULL)
      pos:
        line_end: 837
        line_start: 837
        source_file: /src/vlc/modules/access/http/h2conn.c
    constantsTouched: []
    func_position:
      end: 850
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 850
    functionName: vlc_h2_conn_destroy
    functionSourceFile: /src/vlc/modules/access/http/h2conn.c
    functionUses: 1
    functionsReached:
    - vlc_h2_error
    - vlc_tls_Shutdown
    - assert
    - vlc_cancel
    - vlc_h2_output_destroy
    - free
    - vlc_join
    - vlc_tls_Close
    linkageType: ''
    returnType: void
    signature: void vlc_h2_conn_destroy(struct vlc_h2_conn *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/access/http/h2conn.c:854,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/http/h2conn.c:857,1
    - Dst: assert
      Src: /src/vlc/modules/access/http/h2conn.c:858,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/http/h2conn.c:862,1
    - Dst: vlc_h2_conn_destroy
      Src: /src/vlc/modules/access/http/h2conn.c:865,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct vlc_http_conn*
    assertStmts:
    - condition: (!conn->released)
      pos:
        line_end: 857
        line_start: 857
        source_file: /src/vlc/modules/access/http/h2conn.c
    constantsTouched: []
    func_position:
      end: 866
      start: 852
    functionDepth: 3
    functionLinenumber: 852
    functionLinenumberEnd: 866
    functionName: vlc_h2_conn_release
    functionSourceFile: /src/vlc/modules/access/http/h2conn.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - container_of
    - vlc_h2_conn_destroy
    linkageType: ''
    returnType: void
    signature: void vlc_h2_conn_release(struct vlc_http_conn *c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/http/h2conn.c:876,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/h2conn.c:877,1
    - Dst: vlc_h2_output_create
      Src: /src/vlc/modules/access/http/h2conn.c:882,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/http/h2conn.c:891,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/access/http/h2conn.c:894,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/access/http/h2conn.c:895,1
    - Dst: vlc_h2_conn_queue
      Src: /src/vlc/modules/access/http/h2conn.c:897,1
    - Dst: vlc_h2_frame_settings
      Src: /src/vlc/modules/access/http/h2conn.c:897,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/access/http/h2conn.c:898,1
    - Dst: vlc_h2_output_destroy
      Src: /src/vlc/modules/access/http/h2conn.c:900,1
    - Dst: free
      Src: /src/vlc/modules/access/http/h2conn.c:905,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - ctx
    - tls
    argTypes:
    - void*
    - struct vlc_tls*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 874
    functionDepth: 5
    functionLinenumber: 874
    functionLinenumberEnd: 907
    functionName: vlc_h2_conn_create
    functionSourceFile: /src/vlc/modules/access/http/h2conn.c
    functionUses: 2
    functionsReached:
    - vlc_clone
    - vlc_h2_output_destroy
    - vlc_mutex_init
    - free
    - vlc_cond_init
    - vlc_h2_conn_queue
    - vlc_h2_output_create
    - vlc_h2_frame_settings
    - unlikely
    - malloc
    linkageType: ''
    returnType: struct vlc_http_conn
    signature: struct vlc_http_conn *vlc_h2_conn_create(void *ctx, struct vlc_tls
      *tls)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/v4l2/radio.c:49,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/v4l2/radio.c:53,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/v4l2/radio.c:53,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/v4l2/radio.c:54,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/v4l2/radio.c:58,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/v4l2/radio.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - demux
    - query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 66
    functionName: RadioControl
    functionSourceFile: /src/vlc/modules/access/v4l2/radio.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - var_InheritInteger
    - va_arg
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: int
    signature: int RadioControl (demux_t *demux, int query, va_list args)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcspn
      Src: /src/vlc/modules/access/v4l2/radio.c:75,1
    - Dst: strndup
      Src: /src/vlc/modules/access/v4l2/radio.c:76,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/v4l2/radio.c:77,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/v4l2/radio.c:78,1
    - Dst: var_LocationParse
      Src: /src/vlc/modules/access/v4l2/radio.c:81,1
    - Dst: OpenDevice
      Src: /src/vlc/modules/access/v4l2/radio.c:85,1
    - Dst: free
      Src: /src/vlc/modules/access/v4l2/radio.c:86,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/radio.c:91,1
    - Dst: SetupTuner
      Src: /src/vlc/modules/access/v4l2/radio.c:95,1
    - Dst: malloc
      Src: /src/vlc/modules/access/v4l2/radio.c:98,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/v4l2/radio.c:99,1
    - Dst: ControlsInit
      Src: /src/vlc/modules/access/v4l2/radio.c:103,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/access/v4l2/radio.c:103,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/v4l2/radio.c:104,1
    - Dst: v4l2_close
      Src: /src/vlc/modules/access/v4l2/radio.c:112,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 114
    functionName: RadioOpen
    functionSourceFile: /src/vlc/modules/access/v4l2/radio.c
    functionUses: 0
    functionsReached:
    - strndup
    - OpenDevice
    - vlc_object_parent
    - var_InheritString
    - vlc_tick_now
    - SetupTuner
    - msg_Err
    - free
    - v4l2_close
    - strcspn
    - ControlsInit
    - var_LocationParse
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int RadioOpen (vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ControlsDeinit
      Src: /src/vlc/modules/access/v4l2/radio.c:121,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/access/v4l2/radio.c:121,1
    - Dst: v4l2_close
      Src: /src/vlc/modules/access/v4l2/radio.c:122,1
    - Dst: free
      Src: /src/vlc/modules/access/v4l2/radio.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: RadioClose
    functionSourceFile: /src/vlc/modules/access/v4l2/radio.c
    functionUses: 0
    functionsReached:
    - free
    - v4l2_close
    - vlc_object_parent
    - ControlsDeinit
    linkageType: ''
    returnType: void
    signature: void RadioClose (vlc_object_t *obj)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/access/v4l2/demux.c:69,1
    - Dst: GetFdVBI
      Src: /src/vlc/modules/access/v4l2/demux.c:77,1
    - Dst: poll
      Src: /src/vlc/modules/access/v4l2/demux.c:86,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/demux.c:89,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/v4l2/demux.c:89,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/access/v4l2/demux.c:95,1
    - Dst: GrabVideo
      Src: /src/vlc/modules/access/v4l2/demux.c:96,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/v4l2/demux.c:96,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/v4l2/demux.c:100,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/v4l2/demux.c:101,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/access/v4l2/demux.c:103,1
    - Dst: GrabVBI
      Src: /src/vlc/modules/access/v4l2/demux.c:107,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/access/v4l2/demux.c:111,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 112
    functionName: MmapThread
    functionSourceFile: /src/vlc/modules/access/v4l2/demux.c
    functionUses: 0
    functionsReached:
    - vlc_restorecancel
    - vlc_strerror_c
    - vlc_thread_set_name
    - vlc_assert_unreachable
    - es_out_Send
    - poll
    - GrabVideo
    - msg_Err
    - GetFdVBI
    - GrabVBI
    - VLC_OBJECT
    - vlc_savecancel
    - es_out_SetPCR
    linkageType: ''
    returnType: void
    signature: void *MmapThread(void *data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/access/v4l2/demux.c:122,1
    - Dst: GetFdVBI
      Src: /src/vlc/modules/access/v4l2/demux.c:130,1
    - Dst: poll
      Src: /src/vlc/modules/access/v4l2/demux.c:139,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/demux.c:142,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/v4l2/demux.c:142,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/v4l2/demux.c:148,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/v4l2/demux.c:149,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/demux.c:151,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/v4l2/demux.c:151,1
    - Dst: v4l2_read
      Src: /src/vlc/modules/access/v4l2/demux.c:152,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/v4l2/demux.c:155,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/access/v4l2/demux.c:158,1
    - Dst: v4l2_read
      Src: /src/vlc/modules/access/v4l2/demux.c:159,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/v4l2/demux.c:163,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/v4l2/demux.c:164,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/v4l2/demux.c:167,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/access/v4l2/demux.c:168,1
    - Dst: GrabVBI
      Src: /src/vlc/modules/access/v4l2/demux.c:172,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/access/v4l2/demux.c:175,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 176
    functionName: ReadThread
    functionSourceFile: /src/vlc/modules/access/v4l2/demux.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - vlc_strerror_c
    - v4l2_read
    - vlc_thread_set_name
    - block_Release
    - es_out_Send
    - poll
    - vlc_restorecancel
    - vlc_assert_unreachable
    - msg_Err
    - block_Alloc
    - GetFdVBI
    - GrabVBI
    - vlc_savecancel
    - unlikely
    - es_out_SetPCR
    linkageType: ''
    returnType: void
    signature: void *ReadThread(void *data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/v4l2/demux.c:188,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/v4l2/demux.c:193,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/v4l2/demux.c:195,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/v4l2/demux.c:195,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/v4l2/demux.c:202,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/v4l2/demux.c:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - demux
    - query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 211
    functionName: DemuxControl
    functionSourceFile: /src/vlc/modules/access/v4l2/demux.c
    functionUses: 1
    functionsReached:
    - vlc_tick_now
    - var_InheritInteger
    - va_arg
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: int
    signature: int DemuxControl( demux_t *demux, int query, va_list args )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SetupVideo
      Src: /src/vlc/modules/access/v4l2/demux.c:218,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/v4l2/demux.c:218,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/access/v4l2/demux.c:224,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/v4l2/demux.c:226,1
    - Dst: StartMmap
      Src: /src/vlc/modules/access/v4l2/demux.c:232,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/v4l2/demux.c:232,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/demux.c:236,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/demux.c:243,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/demux.c:247,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/v4l2/demux.c:253,1
    - Dst: OpenVBI
      Src: /src/vlc/modules/access/v4l2/demux.c:255,1
    - Dst: free
      Src: /src/vlc/modules/access/v4l2/demux.c:256,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/access/v4l2/demux.c:260,1
    - Dst: CloseVBI
      Src: /src/vlc/modules/access/v4l2/demux.c:264,1
    - Dst: StopMmap
      Src: /src/vlc/modules/access/v4l2/demux.c:267,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - demux
    - fd
    - caps
    argTypes:
    - demux_t*
    - int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 271
    functionName: InitVideo
    functionSourceFile: /src/vlc/modules/access/v4l2/demux.c
    functionUses: 0
    functionsReached:
    - StopMmap
    - OpenVBI
    - var_InheritString
    - vlc_clone
    - msg_Err
    - StartMmap
    - free
    - CloseVBI
    - vlc_tick_from_samples
    - msg_Dbg
    - es_out_Add
    - VLC_OBJECT
    - SetupVideo
    linkageType: ''
    returnType: int
    signature: int InitVideo (demux_t *demux, int fd, uint32_t caps)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_cancel
      Src: /src/vlc/modules/access/v4l2/demux.c:278,1
    - Dst: vlc_join
      Src: /src/vlc/modules/access/v4l2/demux.c:279,1
    - Dst: StopMmap
      Src: /src/vlc/modules/access/v4l2/demux.c:281,1
    - Dst: ControlsDeinit
      Src: /src/vlc/modules/access/v4l2/demux.c:282,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/access/v4l2/demux.c:282,1
    - Dst: v4l2_close
      Src: /src/vlc/modules/access/v4l2/demux.c:283,1
    - Dst: CloseVBI
      Src: /src/vlc/modules/access/v4l2/demux.c:287,1
    - Dst: free
      Src: /src/vlc/modules/access/v4l2/demux.c:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 291
    functionName: DemuxClose
    functionSourceFile: /src/vlc/modules/access/v4l2/demux.c
    functionUses: 1
    functionsReached:
    - StopMmap
    - vlc_object_parent
    - vlc_cancel
    - CloseVBI
    - free
    - v4l2_close
    - vlc_join
    - ControlsDeinit
    linkageType: ''
    returnType: void
    signature: void DemuxClose( vlc_object_t *obj )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/v4l2/demux.c:299,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/v4l2/demux.c:300,1
    - Dst: ParseMRL
      Src: /src/vlc/modules/access/v4l2/demux.c:307,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/v4l2/demux.c:309,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/v4l2/demux.c:310,1
    - Dst: OpenDevice
      Src: /src/vlc/modules/access/v4l2/demux.c:314,1
    - Dst: free
      Src: /src/vlc/modules/access/v4l2/demux.c:315,1
    - Dst: InitVideo
      Src: /src/vlc/modules/access/v4l2/demux.c:320,1
    - Dst: v4l2_close
      Src: /src/vlc/modules/access/v4l2/demux.c:322,1
    - Dst: ControlsInit
      Src: /src/vlc/modules/access/v4l2/demux.c:326,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/access/v4l2/demux.c:326,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/v4l2/demux.c:327,1
    - Dst: free
      Src: /src/vlc/modules/access/v4l2/demux.c:332,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 334
    functionName: DemuxOpen
    functionSourceFile: /src/vlc/modules/access/v4l2/demux.c
    functionUses: 1
    functionsReached:
    - OpenDevice
    - vlc_tick_now
    - vlc_object_parent
    - var_InheritString
    - free
    - v4l2_close
    - ParseMRL
    - InitVideo
    - ControlsInit
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int DemuxOpen( vlc_object_t *obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:47,1
    - Dst: var_InheritStandard
      Src: /src/vlc/modules/access/v4l2/video.c:52,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/v4l2/video.c:55,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/video.c:58,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/video.c:59,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/video.c:62,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/video.c:64,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/v4l2/video.c:65,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - obj
    - fd
    - input
    - std
    argTypes:
    - vlc_object_t*
    - int
    - struct v4l2_input*
    - v4l2_std_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 70
    functionName: SetupStandard
    functionSourceFile: /src/vlc/modules/access/v4l2/video.c
    functionUses: 0
    functionsReached:
    - vlc_strerror_c
    - msg_Err
    - msg_Dbg
    - msg_Warn
    - v4l2_ioctl
    - var_InheritStandard
    linkageType: ''
    returnType: int
    signature: "int SetupStandard (vlc_object_t *obj, int fd,\n                          const
      struct v4l2_input *restrict input,\n                          v4l2_std_id *restrict
      std)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:77,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:80,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/v4l2/video.c:82,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:85,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/v4l2/video.c:90,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/video.c:97,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/video.c:99,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/v4l2/video.c:100,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:104,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:109,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/video.c:114,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/video.c:116,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/v4l2/video.c:117,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:120,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - obj
    - fd
    - input
    argTypes:
    - vlc_object_t*
    - int
    - struct v4l2_input*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 122
    functionName: SetupAudio
    functionSourceFile: /src/vlc/modules/access/v4l2/video.c
    functionUses: 0
    functionsReached:
    - vlc_strerror_c
    - var_InheritInteger
    - msg_Err
    - msg_Dbg
    - msg_Warn
    - v4l2_ioctl
    linkageType: ''
    returnType: int
    signature: "int SetupAudio (vlc_object_t *obj, int fd,\n                       const
      struct v4l2_input *restrict input)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/video.c:128,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/video.c:130,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/v4l2/video.c:131,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:151,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:153,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/v4l2/video.c:166,1
    - Dst: memset
      Src: /src/vlc/modules/access/v4l2/video.c:167,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:170,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/v4l2/video.c:173,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:177,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:179,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/v4l2/video.c:182,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/video.c:186,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/video.c:188,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/v4l2/video.c:189,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:192,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/v4l2/video.c:195,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/video.c:204,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/video.c:206,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/v4l2/video.c:208,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:211,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:215,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 3
    argNames:
    - obj
    - fd
    - idx
    argTypes:
    - vlc_object_t*
    - int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 217
    functionName: SetupTuner
    functionSourceFile: /src/vlc/modules/access/v4l2/video.c
    functionUses: 1
    functionsReached:
    - vlc_strerror_c
    - memset
    - var_InheritInteger
    - msg_Err
    - msg_Dbg
    - msg_Warn
    - v4l2_ioctl
    linkageType: ''
    returnType: int
    signature: int SetupTuner (vlc_object_t *obj, int fd, uint32_t idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/video.c:225,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:227,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/v4l2/video.c:228,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/video.c:238,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/v4l2/video.c:240,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/v4l2/video.c:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - obj
    - fd
    argTypes:
    - vlc_object_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 245
    functionName: ResetCrop
    functionSourceFile: /src/vlc/modules/access/v4l2/video.c
    functionUses: 0
    functionsReached:
    - v4l2_ioctl
    - vlc_strerror_c
    - msg_Dbg
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int ResetCrop (vlc_object_t *obj, int fd)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/v4l2/video.c:251,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/video.c:252,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/video.c:254,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/v4l2/video.c:255,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:270,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/video.c:274,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/video.c:276,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/v4l2/video.c:277,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:280,1
    - Dst: SetupStandard
      Src: /src/vlc/modules/access/v4l2/video.c:282,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:287,1
    - Dst: SetupTuner
      Src: /src/vlc/modules/access/v4l2/video.c:288,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:291,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/video.c:294,1
    - Dst: SetupAudio
      Src: /src/vlc/modules/access/v4l2/video.c:298,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - obj
    - fd
    - std
    argTypes:
    - vlc_object_t*
    - int
    - v4l2_std_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 300
    functionName: SetupInput
    functionSourceFile: /src/vlc/modules/access/v4l2/video.c
    functionUses: 0
    functionsReached:
    - vlc_strerror_c
    - var_InheritInteger
    - SetupTuner
    - msg_Err
    - SetupStandard
    - msg_Dbg
    - v4l2_ioctl
    - SetupAudio
    linkageType: ''
    returnType: int
    signature: int SetupInput(vlc_object_t *obj, int fd, v4l2_std_id *std)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct v4l2_fract*
    - struct v4l2_fract*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: fcmp
    functionSourceFile: /src/vlc/modules/access/v4l2/video.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: "int64_t fcmp (const struct v4l2_fract *a,\n                     const
      struct v4l2_fract *b)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/video.c:333,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:335,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/v4l2/video.c:335,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/video.c:342,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/video.c:343,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:350,1
    - Dst: fcmp
      Src: /src/vlc/modules/access/v4l2/video.c:361,1
    - Dst: fcmp
      Src: /src/vlc/modules/access/v4l2/video.c:362,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/video.c:366,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:368,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:374,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:379,1
    - Dst: fcmp
      Src: /src/vlc/modules/access/v4l2/video.c:383,1
    - Dst: fcmp
      Src: /src/vlc/modules/access/v4l2/video.c:389,1
    - Dst: fcmp
      Src: /src/vlc/modules/access/v4l2/video.c:403,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 5
    argNames:
    - obj
    - fd
    - fmt
    - min_it
    - it
    argTypes:
    - vlc_object_t*
    - int
    - struct v4l2_format*
    - struct v4l2_fract*
    - struct v4l2_fract*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 408
    functionName: FindMaxRate
    functionSourceFile: /src/vlc/modules/access/v4l2/video.c
    functionUses: 0
    functionsReached:
    - fcmp
    - v4l2_ioctl
    - vlc_strerror_c
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: "int FindMaxRate (vlc_object_t *obj, int fd,\n                        const
      struct v4l2_format *restrict fmt,\n                        const struct v4l2_fract
      *restrict min_it,\n                        struct v4l2_fract *restrict it)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/access/v4l2/video.c:421,1
    - Dst: memset
      Src: /src/vlc/modules/access/v4l2/video.c:423,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/video.c:426,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/video.c:428,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/v4l2/video.c:428,1
    - Dst: var_InheritURational
      Src: /src/vlc/modules/access/v4l2/video.c:439,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:441,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/v4l2/video.c:446,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/v4l2/video.c:447,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:452,1
    - Dst: FindMaxRate
      Src: /src/vlc/modules/access/v4l2/video.c:454,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/video.c:457,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:460,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/v4l2/video.c:460,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:461,1
    - Dst: FindMaxRate
      Src: /src/vlc/modules/access/v4l2/video.c:463,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:473,1
    - Dst: FindMaxRate
      Src: /src/vlc/modules/access/v4l2/video.c:477,1
    - Dst: fcmp
      Src: /src/vlc/modules/access/v4l2/video.c:479,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/video.c:491,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:495,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:501,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:506,1
    - Dst: FindMaxRate
      Src: /src/vlc/modules/access/v4l2/video.c:519,1
    - Dst: fcmp
      Src: /src/vlc/modules/access/v4l2/video.c:521,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:535,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/video.c:541,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/video.c:543,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/v4l2/video.c:543,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/video.c:548,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/video.c:550,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/v4l2/video.c:551,1
    - Dst: memset
      Src: /src/vlc/modules/access/v4l2/video.c:552,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/video.c:559,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/v4l2/video.c:560,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/v4l2/video.c:561,1
    - Dst: ResetCrop
      Src: /src/vlc/modules/access/v4l2/video.c:563,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 80
    argCount: 5
    argNames:
    - obj
    - fd
    - fourcc
    - fmt
    - parm
    argTypes:
    - vlc_object_t*
    - int
    - uint32_t
    - struct v4l2_format*
    - struct v4l2_streamparm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 417
    functionDepth: 2
    functionLinenumber: 417
    functionLinenumberEnd: 566
    functionName: SetupFormat
    functionSourceFile: /src/vlc/modules/access/v4l2/video.c
    functionUses: 0
    functionsReached:
    - vlc_strerror_c
    - memset
    - var_InheritInteger
    - var_InheritURational
    - msg_Err
    - msg_Dbg
    - FindMaxRate
    - msg_Warn
    - v4l2_ioctl
    - fcmp
    - ResetCrop
    linkageType: ''
    returnType: int
    signature: "int SetupFormat(vlc_object_t *obj, int fd, uint32_t fourcc,\n                       struct
      v4l2_format *restrict fmt,\n                       struct v4l2_streamparm *restrict
      parm)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/v4l2/video.c:676,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fourcc
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 680
    functionName: vlc_from_v4l2_fourcc
    functionSourceFile: /src/vlc/modules/access/v4l2/video.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: vlc_v4l2_fmt_t
    signature: vlc_v4l2_fmt_t *vlc_from_v4l2_fourcc (uint32_t fourcc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/access/v4l2/video.c:688,1
    - Dst: assert
      Src: /src/vlc/modules/access/v4l2/video.c:689,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/v4l2/video.c:689,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - vlc_v4l2_fmt_t*
    assertStmts:
    - condition: (d >= 0)
      pos:
        line_end: 687
        line_start: 687
        source_file: /src/vlc/modules/access/v4l2/video.c
    - condition: (d < (ptrdiff_t)(ARRAY_SIZE(v4l2_fmts)))
      pos:
        line_end: 688
        line_start: 688
        source_file: /src/vlc/modules/access/v4l2/video.c
    constantsTouched: []
    func_position:
      end: 691
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 691
    functionName: vlc_v4l2_fmt_rank
    functionSourceFile: /src/vlc/modules/access/v4l2/video.c
    functionUses: 0
    functionsReached:
    - assert
    - ARRAY_SIZE
    linkageType: ''
    returnType: size_t
    signature: size_t vlc_v4l2_fmt_rank (const vlc_v4l2_fmt_t *fmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/v4l2/video.c:695,1
    - Dst: vlc_fourcc_GetCodecFromString
      Src: /src/vlc/modules/access/v4l2/video.c:699,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/video.c:701,1
    - Dst: free
      Src: /src/vlc/modules/access/v4l2/video.c:702,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - obj
    - varname
    argTypes:
    - vlc_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 704
    functionName: var_InheritFourCC
    functionSourceFile: /src/vlc/modules/access/v4l2/video.c
    functionUses: 0
    functionsReached:
    - vlc_fourcc_GetCodecFromString
    - var_InheritString
    - free
    - msg_Err
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t var_InheritFourCC (vlc_object_t *obj, const char *varname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - o
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 706
    functionName: var_InheritFourCC
    functionSourceFile: /src/vlc/modules/access/v4l2/video.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: var_InheritFourCC(o, v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/video.c:712,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - fd
    - num
    - den
    argTypes:
    - int
    - unsigned*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 719
    functionName: GetAR
    functionSourceFile: /src/vlc/modules/access/v4l2/video.c
    functionUses: 0
    functionsReached:
    - v4l2_ioctl
    linkageType: ''
    returnType: void
    signature: void GetAR (int fd, unsigned *restrict num, unsigned *restrict den)
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/video.c:729,1
    - Dst: SetupInput
      Src: /src/vlc/modules/access/v4l2/video.c:733,1
    - Dst: var_InheritFourCC
      Src: /src/vlc/modules/access/v4l2/video.c:738,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/video.c:742,1
    - Dst: vlc_from_v4l2_fourcc
      Src: /src/vlc/modules/access/v4l2/video.c:745,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:747,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:759,1
    - Dst: vlc_v4l2_fmt_rank
      Src: /src/vlc/modules/access/v4l2/video.c:772,1
    - Dst: vlc_v4l2_fmt_rank
      Src: /src/vlc/modules/access/v4l2/video.c:772,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/video.c:780,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:783,1
    - Dst: SetupFormat
      Src: /src/vlc/modules/access/v4l2/video.c:789,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:793,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:800,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:803,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:808,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:813,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:820,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:823,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:826,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:830,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:834,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/v4l2/video.c:838,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/v4l2/video.c:844,1
    - Dst: GetAR
      Src: /src/vlc/modules/access/v4l2/video.c:855,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:857,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/v4l2/video.c:911,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:915,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/v4l2/video.c:941,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:946,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/video.c:969,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:973,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/video.c:985,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:989,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:993,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/video.c:995,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 206
    argCount: 6
    argNames:
    - obj
    - fd
    - caps
    - es_fmt
    - block_size
    - block_flags
    argTypes:
    - vlc_object_t*
    - int
    - uint32_t
    - es_format_t*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 721
    functionDepth: 3
    functionLinenumber: 721
    functionLinenumberEnd: 999
    functionName: SetupVideo
    functionSourceFile: /src/vlc/modules/access/v4l2/video.c
    functionUses: 1
    functionsReached:
    - vlc_v4l2_fmt_rank
    - GetAR
    - var_InheritFourCC
    - vlc_from_v4l2_fourcc
    - msg_Err
    - SetupFormat
    - SetupInput
    - msg_Dbg
    - msg_Warn
    - v4l2_ioctl
    - es_format_Init
    linkageType: ''
    returnType: int
    signature: "int SetupVideo(vlc_object_t *obj, int fd, uint32_t caps,\n               es_format_t
      *restrict es_fmt,\n               uint32_t *restrict block_size, uint32_t *restrict
      block_flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_from_timeval
      Src: /src/vlc/modules/access/v4l2/buffers.c:49,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/v4l2/buffers.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct v4l2_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: GetBufferPTS
    functionSourceFile: /src/vlc/modules/access/v4l2/buffers.c
    functionUses: 0
    functionsReached:
    - vlc_tick_from_timeval
    - vlc_tick_now
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t GetBufferPTS(const struct v4l2_buffer *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: v4l2_munmap
      Src: /src/vlc/modules/access/v4l2/buffers.c:64,1
    - Dst: free
      Src: /src/vlc/modules/access/v4l2/buffers.c:65,1
    - Dst: vlc_atomic_rc_dec
      Src: /src/vlc/modules/access/v4l2/buffers.c:67,1
    - Dst: free
      Src: /src/vlc/modules/access/v4l2/buffers.c:68,1
    - Dst: free
      Src: /src/vlc/modules/access/v4l2/buffers.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pool
    - buf
    argTypes:
    - struct vlc_v4l2_buffers*
    - struct vlc_v4l2_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: DestroyBuffer
    functionSourceFile: /src/vlc/modules/access/v4l2/buffers.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_atomic_rc_dec
    - v4l2_munmap
    linkageType: ''
    returnType: void
    signature: "void DestroyBuffer(struct vlc_v4l2_buffers *pool,\n                          struct
      vlc_v4l2_buffer *buf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/access/v4l2/buffers.c:75,1
    - Dst: assert
      Src: /src/vlc/modules/access/v4l2/buffers.c:85,1
    - Dst: assert
      Src: /src/vlc/modules/access/v4l2/buffers.c:86,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/v4l2/buffers.c:88,1
    - Dst: likely
      Src: /src/vlc/modules/access/v4l2/buffers.c:91,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/buffers.c:93,1
    - Dst: atomic_fetch_add
      Src: /src/vlc/modules/access/v4l2/buffers.c:94,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/v4l2/buffers.c:96,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/v4l2/buffers.c:98,1
    - Dst: DestroyBuffer
      Src: /src/vlc/modules/access/v4l2/buffers.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - block
    argTypes:
    - block_t*
    assertStmts:
    - condition: (buf->index < pool->count)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/vlc/modules/access/v4l2/buffers.c
    - condition: (pool->bufs[buf->index] == NULL)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/vlc/modules/access/v4l2/buffers.c
    constantsTouched: []
    func_position:
      end: 100
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 100
    functionName: ReleaseBuffer
    functionSourceFile: /src/vlc/modules/access/v4l2/buffers.c
    functionUses: 1
    functionsReached:
    - assert
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - container_of
    - atomic_fetch_add
    - likely
    - DestroyBuffer
    - v4l2_ioctl
    - unlikely
    linkageType: ''
    returnType: void
    signature: void ReleaseBuffer(block_t *block)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/buffers.c:116,1
    - Dst: malloc
      Src: /src/vlc/modules/access/v4l2/buffers.c:119,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/v4l2/buffers.c:120,1
    - Dst: v4l2_mmap
      Src: /src/vlc/modules/access/v4l2/buffers.c:123,1
    - Dst: free
      Src: /src/vlc/modules/access/v4l2/buffers.c:126,1
    - Dst: block_Init
      Src: /src/vlc/modules/access/v4l2/buffers.c:130,1
    - Dst: vlc_atomic_rc_inc
      Src: /src/vlc/modules/access/v4l2/buffers.c:133,1
    - Dst: assert
      Src: /src/vlc/modules/access/v4l2/buffers.c:135,1
    - Dst: assert
      Src: /src/vlc/modules/access/v4l2/buffers.c:136,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/buffers.c:139,1
    - Dst: DestroyBuffer
      Src: /src/vlc/modules/access/v4l2/buffers.c:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - pool
    - index
    argTypes:
    - struct vlc_v4l2_buffers*
    - uint32_t
    assertStmts:
    - condition: (buf->index < pool->count)
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/vlc/modules/access/v4l2/buffers.c
    - condition: (pool->bufs[index] == NULL)
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/vlc/modules/access/v4l2/buffers.c
    constantsTouched: []
    func_position:
      end: 145
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 145
    functionName: AllocateBuffer
    functionSourceFile: /src/vlc/modules/access/v4l2/buffers.c
    functionUses: 0
    functionsReached:
    - assert
    - block_Init
    - free
    - vlc_atomic_rc_inc
    - DestroyBuffer
    - v4l2_ioctl
    - unlikely
    - malloc
    - v4l2_mmap
    linkageType: ''
    returnType: struct vlc_v4l2_buffer
    signature: "struct vlc_v4l2_buffer *AllocateBuffer(struct vlc_v4l2_buffers *pool,\n
      \                                             uint32_t index)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/buffers.c:156,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/buffers.c:166,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/v4l2/buffers.c:166,1
    - Dst: assert
      Src: /src/vlc/modules/access/v4l2/buffers.c:171,1
    - Dst: assert
      Src: /src/vlc/modules/access/v4l2/buffers.c:175,1
    - Dst: assert
      Src: /src/vlc/modules/access/v4l2/buffers.c:176,1
    - Dst: assert
      Src: /src/vlc/modules/access/v4l2/buffers.c:182,1
    - Dst: atomic_fetch_sub
      Src: /src/vlc/modules/access/v4l2/buffers.c:186,1
    - Dst: block_Duplicate
      Src: /src/vlc/modules/access/v4l2/buffers.c:188,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/v4l2/buffers.c:189,1
    - Dst: GetBufferPTS
      Src: /src/vlc/modules/access/v4l2/buffers.c:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - demux
    - pool
    argTypes:
    - vlc_object_t*
    - struct vlc_v4l2_buffers*
    assertStmts:
    - condition: (buf_req.index < pool->count)
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/vlc/modules/access/v4l2/buffers.c
    - condition: (buf != NULL)
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/vlc/modules/access/v4l2/buffers.c
    - condition: (buf->index == buf_req.index)
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/vlc/modules/access/v4l2/buffers.c
    - condition: (buf_req.bytesused <= block->i_size)
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/vlc/modules/access/v4l2/buffers.c
    constantsTouched: []
    func_position:
      end: 194
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 194
    functionName: GrabVideo
    functionSourceFile: /src/vlc/modules/access/v4l2/buffers.c
    functionUses: 2
    functionsReached:
    - block_Release
    - vlc_strerror_c
    - assert
    - atomic_fetch_sub
    - GetBufferPTS
    - msg_Err
    - block_Duplicate
    - v4l2_ioctl
    linkageType: ''
    returnType: block_t
    signature: block_t *GrabVideo(vlc_object_t *demux, struct vlc_v4l2_buffers *restrict
      pool)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/buffers.c:209,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/buffers.c:211,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/v4l2/buffers.c:211,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/buffers.c:217,1
    - Dst: malloc
      Src: /src/vlc/modules/access/v4l2/buffers.c:221,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/v4l2/buffers.c:222,1
    - Dst: calloc
      Src: /src/vlc/modules/access/v4l2/buffers.c:225,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/v4l2/buffers.c:226,1
    - Dst: free
      Src: /src/vlc/modules/access/v4l2/buffers.c:227,1
    - Dst: vlc_atomic_rc_init
      Src: /src/vlc/modules/access/v4l2/buffers.c:236,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/access/v4l2/buffers.c:237,1
    - Dst: AllocateBuffer
      Src: /src/vlc/modules/access/v4l2/buffers.c:241,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/v4l2/buffers.c:243,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/buffers.c:244,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/v4l2/buffers.c:245,1
    - Dst: atomic_init
      Src: /src/vlc/modules/access/v4l2/buffers.c:250,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/buffers.c:253,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/buffers.c:255,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/v4l2/buffers.c:255,1
    - Dst: StopMmap
      Src: /src/vlc/modules/access/v4l2/buffers.c:260,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 2
    argNames:
    - obj
    - fd
    argTypes:
    - vlc_object_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 262
    functionName: StartMmap
    functionSourceFile: /src/vlc/modules/access/v4l2/buffers.c
    functionUses: 1
    functionsReached:
    - StopMmap
    - atomic_init
    - vlc_strerror_c
    - vlc_mutex_init
    - msg_Err
    - calloc
    - free
    - vlc_atomic_rc_init
    - v4l2_ioctl
    - unlikely
    - malloc
    - AllocateBuffer
    linkageType: ''
    returnType: struct vlc_v4l2_buffers
    signature: struct vlc_v4l2_buffers *StartMmap(vlc_object_t *obj, int fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access/v4l2/buffers.c:270,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access/v4l2/buffers.c:272,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/buffers.c:275,1
    - Dst: DestroyBuffer
      Src: /src/vlc/modules/access/v4l2/buffers.c:281,1
    - Dst: vlc_atomic_rc_dec
      Src: /src/vlc/modules/access/v4l2/buffers.c:284,1
    - Dst: free
      Src: /src/vlc/modules/access/v4l2/buffers.c:285,1
    - Dst: free
      Src: /src/vlc/modules/access/v4l2/buffers.c:286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct vlc_v4l2_buffers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 288
    functionName: StopMmap
    functionSourceFile: /src/vlc/modules/access/v4l2/buffers.c
    functionUses: 3
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_atomic_rc_dec
    - free
    - DestroyBuffer
    - v4l2_ioctl
    linkageType: ''
    returnType: void
    signature: void StopMmap(struct vlc_v4l2_buffers *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_poll_i11e
      Src: /src/vlc/modules/access/v4l2/access.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: AccessPoll
    functionSourceFile: /src/vlc/modules/access/v4l2/access.c
    functionUses: 0
    functionsReached:
    - vlc_poll_i11e
    linkageType: ''
    returnType: int
    signature: int AccessPoll(stream_t *access)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AccessPoll
      Src: /src/vlc/modules/access/v4l2/access.c:71,1
    - Dst: GrabVideo
      Src: /src/vlc/modules/access/v4l2/access.c:74,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/v4l2/access.c:74,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/v4l2/access.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - access
    - eof
    argTypes:
    - stream_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 82
    functionName: MMapBlock
    functionSourceFile: /src/vlc/modules/access/v4l2/access.c
    functionUses: 0
    functionsReached:
    - VLC_OBJECT
    - vlc_tick_now
    - AccessPoll
    - GrabVideo
    linkageType: ''
    returnType: block_t
    signature: block_t *MMapBlock(stream_t *access, bool *restrict eof)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AccessPoll
      Src: /src/vlc/modules/access/v4l2/access.c:88,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/v4l2/access.c:91,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/v4l2/access.c:92,1
    - Dst: v4l2_read
      Src: /src/vlc/modules/access/v4l2/access.c:95,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/v4l2/access.c:98,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/access.c:99,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/v4l2/access.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - access
    - eof
    argTypes:
    - stream_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 106
    functionName: ReadBlock
    functionSourceFile: /src/vlc/modules/access/v4l2/access.c
    functionUses: 2
    functionsReached:
    - block_Release
    - v4l2_read
    - vlc_strerror_c
    - msg_Err
    - AccessPoll
    - block_Alloc
    - unlikely
    linkageType: ''
    returnType: block_t
    signature: block_t *ReadBlock(stream_t *access, bool *restrict eof)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/v4l2/access.c:116,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/v4l2/access.c:120,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/v4l2/access.c:120,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/v4l2/access.c:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - access
    - query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 133
    functionName: AccessControl
    functionSourceFile: /src/vlc/modules/access/v4l2/access.c
    functionUses: 0
    functionsReached:
    - var_InheritInteger
    - va_arg
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: int
    signature: int AccessControl(stream_t *access, int query, va_list args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StopMmap
      Src: /src/vlc/modules/access/v4l2/access.c:141,1
    - Dst: ControlsDeinit
      Src: /src/vlc/modules/access/v4l2/access.c:142,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/access/v4l2/access.c:142,1
    - Dst: v4l2_close
      Src: /src/vlc/modules/access/v4l2/access.c:143,1
    - Dst: free
      Src: /src/vlc/modules/access/v4l2/access.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 145
    functionName: AccessClose
    functionSourceFile: /src/vlc/modules/access/v4l2/access.c
    functionUses: 1
    functionsReached:
    - StopMmap
    - vlc_object_parent
    - free
    - v4l2_close
    - ControlsDeinit
    linkageType: ''
    returnType: void
    signature: void AccessClose(vlc_object_t *obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SetupVideo
      Src: /src/vlc/modules/access/v4l2/access.c:152,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/v4l2/access.c:152,1
    - Dst: StartMmap
      Src: /src/vlc/modules/access/v4l2/access.c:159,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/v4l2/access.c:159,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/access.c:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - access
    - fd
    - caps
    argTypes:
    - stream_t*
    - int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 147
    functionDepth: 4
    functionLinenumber: 147
    functionLinenumberEnd: 175
    functionName: InitVideo
    functionSourceFile: /src/vlc/modules/access/v4l2/access.c
    functionUses: 1
    functionsReached:
    - StartMmap
    - SetupVideo
    - VLC_OBJECT
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int InitVideo(stream_t *access, int fd, uint32_t caps)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/access/v4l2/access.c:184,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/v4l2/access.c:185,1
    - Dst: ParseMRL
      Src: /src/vlc/modules/access/v4l2/access.c:189,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/v4l2/access.c:191,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/v4l2/access.c:192,1
    - Dst: OpenDevice
      Src: /src/vlc/modules/access/v4l2/access.c:196,1
    - Dst: free
      Src: /src/vlc/modules/access/v4l2/access.c:197,1
    - Dst: InitVideo
      Src: /src/vlc/modules/access/v4l2/access.c:202,1
    - Dst: v4l2_close
      Src: /src/vlc/modules/access/v4l2/access.c:204,1
    - Dst: ControlsInit
      Src: /src/vlc/modules/access/v4l2/access.c:208,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/access/v4l2/access.c:208,1
    - Dst: free
      Src: /src/vlc/modules/access/v4l2/access.c:213,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 215
    functionName: AccessOpen
    functionSourceFile: /src/vlc/modules/access/v4l2/access.c
    functionUses: 3
    functionsReached:
    - OpenDevice
    - vlc_object_parent
    - var_InheritString
    - calloc
    - free
    - v4l2_close
    - ParseMRL
    - InitVideo
    - ControlsInit
    - unlikely
    linkageType: ''
    returnType: int
    signature: int AccessOpen(vlc_object_t *obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/v4l2/vbi.c:50,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/v4l2/vbi.c:51,1
    - Dst: vlc_open
      Src: /src/vlc/modules/access/v4l2/vbi.c:54,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/vbi.c:57,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/v4l2/vbi.c:58,1
    - Dst: vbi_capture_v4l2k_new
      Src: /src/vlc/modules/access/v4l2/vbi.c:66,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/vbi.c:74,1
    - Dst: free
      Src: /src/vlc/modules/access/v4l2/vbi.c:75,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/v4l2/vbi.c:76,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/v4l2/vbi.c:84,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/access/v4l2/vbi.c:84,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/v4l2/vbi.c:85,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/vbi.c:87,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/v4l2/vbi.c:88,1
    - Dst: GrabVBI
      Src: /src/vlc/modules/access/v4l2/vbi.c:94,1
    - Dst: free
      Src: /src/vlc/modules/access/v4l2/vbi.c:98,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - demux
    - psz_device
    argTypes:
    - demux_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 100
    functionName: OpenVBI
    functionSourceFile: /src/vlc/modules/access/v4l2/vbi.c
    functionUses: 1
    functionsReached:
    - vbi_capture_v4l2k_new
    - VLC_FOURCC
    - vlc_open
    - vlc_strerror_c
    - asprintf
    - vlc_close
    - msg_Err
    - free
    - msg_Dbg
    - GrabVBI
    - es_out_Add
    - es_format_Init
    - unlikely
    - malloc
    linkageType: ''
    returnType: vlc_v4l2_vbi_t
    signature: vlc_v4l2_vbi_t *OpenVBI (demux_t *demux, const char *psz_device)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vbi_capture_fd
      Src: /src/vlc/modules/access/v4l2/vbi.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vbi
    argTypes:
    - vlc_v4l2_vbi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: GetFdVBI
    functionSourceFile: /src/vlc/modules/access/v4l2/vbi.c
    functionUses: 2
    functionsReached:
    - vbi_capture_fd
    linkageType: ''
    returnType: int
    signature: int GetFdVBI (vlc_v4l2_vbi_t *vbi)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/access/v4l2/vbi.c:111,1
    - Dst: vbi_capture_pull_sliced
      Src: /src/vlc/modules/access/v4l2/vbi.c:113,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/vbi.c:116,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/v4l2/vbi.c:116,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/v4l2/vbi.c:127,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/v4l2/vbi.c:128,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/v4l2/vbi.c:137,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/v4l2/vbi.c:140,1
    - Dst: block_Duplicate
      Src: /src/vlc/modules/access/v4l2/vbi.c:147,1
    - Dst: likely
      Src: /src/vlc/modules/access/v4l2/vbi.c:148,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/v4l2/vbi.c:149,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/v4l2/vbi.c:151,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/access/v4l2/vbi.c:154,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - p_demux
    - vbi
    argTypes:
    - demux_t*
    - vlc_v4l2_vbi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 155
    functionName: GrabVBI
    functionSourceFile: /src/vlc/modules/access/v4l2/vbi.c
    functionUses: 3
    functionsReached:
    - vlc_tick_now
    - vlc_strerror_c
    - block_Release
    - vlc_restorecancel
    - es_out_Send
    - memcpy
    - msg_Err
    - block_Duplicate
    - vbi_capture_pull_sliced
    - block_Alloc
    - likely
    - vlc_savecancel
    - unlikely
    linkageType: ''
    returnType: void
    signature: void GrabVBI (demux_t *p_demux, vlc_v4l2_vbi_t *vbi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_close
      Src: /src/vlc/modules/access/v4l2/vbi.c:159,1
    - Dst: vbi_capture_fd
      Src: /src/vlc/modules/access/v4l2/vbi.c:159,1
    - Dst: vbi_capture_delete
      Src: /src/vlc/modules/access/v4l2/vbi.c:160,1
    - Dst: free
      Src: /src/vlc/modules/access/v4l2/vbi.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - vbi
    argTypes:
    - vlc_v4l2_vbi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: CloseVBI
    functionSourceFile: /src/vlc/modules/access/v4l2/vbi.c
    functionUses: 2
    functionsReached:
    - vlc_close
    - free
    - vbi_capture_fd
    - vbi_capture_delete
    linkageType: ''
    returnType: void
    signature: void CloseVBI (vlc_v4l2_vbi_t *vbi)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vlc/modules/access/v4l2/v4l2.c:427,1
    - Dst: var_LocationParse
      Src: /src/vlc/modules/access/v4l2/v4l2.c:432,1
    - Dst: strndup
      Src: /src/vlc/modules/access/v4l2/v4l2.c:434,1
    - Dst: strdup
      Src: /src/vlc/modules/access/v4l2/v4l2.c:439,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/v4l2/v4l2.c:444,1
    - Dst: var_SetString
      Src: /src/vlc/modules/access/v4l2/v4l2.c:445,1
    - Dst: free
      Src: /src/vlc/modules/access/v4l2/v4l2.c:446,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - obj
    - mrl
    argTypes:
    - vlc_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 448
    functionName: ParseMRL
    functionSourceFile: /src/vlc/modules/access/v4l2/v4l2.c
    functionUses: 3
    functionsReached:
    - strndup
    - strchr
    - strdup
    - var_Create
    - free
    - var_LocationParse
    - var_SetString
    linkageType: ''
    returnType: void
    signature: void ParseMRL( vlc_object_t *obj, const char *mrl )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/v4l2.c:452,1
    - Dst: vlc_open
      Src: /src/vlc/modules/access/v4l2/v4l2.c:454,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/v4l2.c:457,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/v4l2/v4l2.c:458,1
    - Dst: v4l2_fd_open
      Src: /src/vlc/modules/access/v4l2/v4l2.c:462,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/v4l2/v4l2.c:465,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/v4l2/v4l2.c:466,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/v4l2.c:473,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/v4l2.c:475,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/v4l2/v4l2.c:476,1
    - Dst: v4l2_close
      Src: /src/vlc/modules/access/v4l2/v4l2.c:477,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/v4l2.c:481,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/v4l2.c:487,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/v4l2.c:493,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - obj
    - path
    - caps
    argTypes:
    - vlc_object_t*
    - char*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 498
    functionName: OpenDevice
    functionSourceFile: /src/vlc/modules/access/v4l2/v4l2.c
    functionUses: 5
    functionsReached:
    - vlc_open
    - vlc_strerror_c
    - v4l2_fd_open
    - msg_Err
    - v4l2_close
    - msg_Dbg
    - msg_Warn
    - v4l2_ioctl
    linkageType: ''
    returnType: int
    signature: int OpenDevice (vlc_object_t *obj, const char *path, uint32_t *restrict
      caps)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/v4l2/v4l2.c:502,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/v4l2/v4l2.c:506,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/v4l2/v4l2.c:508,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/v4l2/v4l2.c:508,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/v4l2/v4l2.c:510,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/v4l2/v4l2.c:510,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/v4l2/v4l2.c:514,1
    - Dst: free
      Src: /src/vlc/modules/access/v4l2/v4l2.c:516,1
    - Dst: strtoull
      Src: /src/vlc/modules/access/v4l2/v4l2.c:522,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/v4l2.c:525,1
    - Dst: free
      Src: /src/vlc/modules/access/v4l2/v4l2.c:528,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - obj
    - varname
    argTypes:
    - vlc_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 530
    functionName: var_InheritStandard
    functionSourceFile: /src/vlc/modules/access/v4l2/v4l2.c
    functionUses: 1
    functionsReached:
    - strtoull
    - var_InheritString
    - ARRAY_SIZE
    - msg_Err
    - free
    - strcasecmp
    linkageType: ''
    returnType: v4l2_std_id
    signature: v4l2_std_id var_InheritStandard (vlc_object_t *obj, const char *varname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/controls.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - c
    - value
    argTypes:
    - vlc_v4l2_ctrl_t*
    - int_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: ControlSet
    functionSourceFile: /src/vlc/modules/access/v4l2/controls.c
    functionUses: 0
    functionsReached:
    - v4l2_ioctl
    linkageType: ''
    returnType: int
    signature: int ControlSet (const vlc_v4l2_ctrl_t *c, int_fast32_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: V4L2_CTRL_ID2CLASS
      Src: /src/vlc/modules/access/v4l2/controls.c:118,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/controls.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - c
    - value
    argTypes:
    - vlc_v4l2_ctrl_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 127
    functionName: ControlSet64
    functionSourceFile: /src/vlc/modules/access/v4l2/controls.c
    functionUses: 0
    functionsReached:
    - v4l2_ioctl
    - V4L2_CTRL_ID2CLASS
    linkageType: ''
    returnType: int
    signature: int ControlSet64 (const vlc_v4l2_ctrl_t *c, int64_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/access/v4l2/controls.c:133,1
    - Dst: V4L2_CTRL_ID2CLASS
      Src: /src/vlc/modules/access/v4l2/controls.c:137,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/controls.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - c
    - value
    argTypes:
    - vlc_v4l2_ctrl_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 146
    functionName: ControlSetStr
    functionSourceFile: /src/vlc/modules/access/v4l2/controls.c
    functionUses: 0
    functionsReached:
    - strlen
    - v4l2_ioctl
    - V4L2_CTRL_ID2CLASS
    linkageType: ''
    returnType: int
    signature: int ControlSetStr (const vlc_v4l2_ctrl_t *c, const char *restrict value)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ControlSet
      Src: /src/vlc/modules/access/v4l2/controls.c:160,1
    - Dst: ControlSet
      Src: /src/vlc/modules/access/v4l2/controls.c:163,1
    - Dst: ControlSet
      Src: /src/vlc/modules/access/v4l2/controls.c:166,1
    - Dst: ControlSet64
      Src: /src/vlc/modules/access/v4l2/controls.c:169,1
    - Dst: ControlSetStr
      Src: /src/vlc/modules/access/v4l2/controls.c:172,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/access/v4l2/controls.c:175,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/controls.c:180,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/v4l2/controls.c:180,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 5
    argNames:
    - obj
    - var
    - old
    - cur
    - data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 185
    functionName: ControlSetCallback
    functionSourceFile: /src/vlc/modules/access/v4l2/controls.c
    functionUses: 0
    functionsReached:
    - vlc_strerror_c
    - vlc_assert_unreachable
    - ControlSet64
    - msg_Err
    - ControlSet
    - ControlSetStr
    linkageType: ''
    returnType: int
    signature: "int ControlSetCallback (vlc_object_t *obj, const char *var,\n                               vlc_value_t
      old, vlc_value_t cur, void *data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: var_SetInteger
      Src: /src/vlc/modules/access/v4l2/controls.c:196,1
    - Dst: var_SetBool
      Src: /src/vlc/modules/access/v4l2/controls.c:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - obj
    - list
    argTypes:
    - vlc_object_t*
    - vlc_v4l2_ctrl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 205
    functionName: ControlsReset
    functionSourceFile: /src/vlc/modules/access/v4l2/controls.c
    functionUses: 0
    functionsReached:
    - var_SetInteger
    - var_SetBool
    linkageType: ''
    returnType: void
    signature: void ControlsReset (vlc_object_t *obj, vlc_v4l2_ctrl_t *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ControlsReset
      Src: /src/vlc/modules/access/v4l2/controls.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - obj
    - var
    - old
    - cur
    - data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: ControlsResetCallback
    functionSourceFile: /src/vlc/modules/access/v4l2/controls.c
    functionUses: 0
    functionsReached:
    - ControlsReset
    linkageType: ''
    returnType: int
    signature: "int ControlsResetCallback (vlc_object_t *obj, const char *var,\n                                  vlc_value_t
      old, vlc_value_t cur, void *data)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/v4l2/controls.c:218,1
    - Dst: strchr
      Src: /src/vlc/modules/access/v4l2/controls.c:226,1
    - Dst: strspn
      Src: /src/vlc/modules/access/v4l2/controls.c:234,1
    - Dst: strchr
      Src: /src/vlc/modules/access/v4l2/controls.c:237,1
    - Dst: strchr
      Src: /src/vlc/modules/access/v4l2/controls.c:242,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/controls.c:246,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/v4l2/controls.c:253,1
    - Dst: strtol
      Src: /src/vlc/modules/access/v4l2/controls.c:261,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/controls.c:264,1
    - Dst: ControlSet
      Src: /src/vlc/modules/access/v4l2/controls.c:268,1
    - Dst: strtoll
      Src: /src/vlc/modules/access/v4l2/controls.c:274,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/controls.c:277,1
    - Dst: ControlSet64
      Src: /src/vlc/modules/access/v4l2/controls.c:281,1
    - Dst: ControlSetStr
      Src: /src/vlc/modules/access/v4l2/controls.c:286,1
    - Dst: strtoul
      Src: /src/vlc/modules/access/v4l2/controls.c:291,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/controls.c:294,1
    - Dst: ControlSet
      Src: /src/vlc/modules/access/v4l2/controls.c:298,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/controls.c:303,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/v4l2/controls.c:307,1
    - Dst: free
      Src: /src/vlc/modules/access/v4l2/controls.c:309,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 67
    argCount: 2
    argNames:
    - obj
    - list
    argTypes:
    - vlc_object_t*
    - vlc_v4l2_ctrl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 310
    functionName: ControlsSetFromString
    functionSourceFile: /src/vlc/modules/access/v4l2/controls.c
    functionUses: 0
    functionsReached:
    - strchr
    - var_InheritString
    - strspn
    - strtoul
    - strtoll
    - ControlSet64
    - msg_Err
    - free
    - strtol
    - ControlSet
    - strcasecmp
    - ControlSetStr
    linkageType: ''
    returnType: void
    signature: "void ControlsSetFromString (vlc_object_t *obj,\n                                   const
      vlc_v4l2_ctrl_t *list)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 318
    functionName: cidcmp
    functionSourceFile: /src/vlc/modules/access/v4l2/controls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cidcmp (const void *a, const void *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/v4l2/controls.c:329,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/v4l2/controls.c:330,1
    - Dst: bsearch
      Src: /src/vlc/modules/access/v4l2/controls.c:339,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/v4l2/controls.c:339,1
    - Dst: strcpy
      Src: /src/vlc/modules/access/v4l2/controls.c:342,1
    - Dst: tolower
      Src: /src/vlc/modules/access/v4l2/controls.c:353,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - fd
    - query
    argTypes:
    - int
    - struct v4l2_queryctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 361
    functionName: ControlCreate
    functionSourceFile: /src/vlc/modules/access/v4l2/controls.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - tolower
    - bsearch
    - strcpy
    - unlikely
    - malloc
    linkageType: ''
    returnType: vlc_v4l2_ctrl_t
    signature: "vlc_v4l2_ctrl_t *ControlCreate (int fd,\n                                       const
      struct v4l2_queryctrl *query)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/controls.c:372,1
    - Dst: ControlCreate
      Src: /src/vlc/modules/access/v4l2/controls.c:376,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/v4l2/controls.c:377,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/v4l2/controls.c:380,1
    - Dst: free
      Src: /src/vlc/modules/access/v4l2/controls.c:382,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/controls.c:389,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/controls.c:391,1
    - Dst: var_Change
      Src: /src/vlc/modules/access/v4l2/controls.c:394,1
    - Dst: var_Change
      Src: /src/vlc/modules/access/v4l2/controls.c:396,1
    - Dst: var_Change
      Src: /src/vlc/modules/access/v4l2/controls.c:402,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 405
    functionName: query
    functionSourceFile: /src/vlc/modules/access/v4l2/controls.c
    functionUses: 2
    functionsReached:
    - ControlCreate
    - var_Create
    - free
    - msg_Dbg
    - var_Change
    - v4l2_ioctl
    - unlikely
    linkageType: ''
    returnType: struct v4l2_queryctrl
    signature: struct v4l2_queryctrl *query
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/controls.c:410,1
    - Dst: ControlCreate
      Src: /src/vlc/modules/access/v4l2/controls.c:414,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/v4l2/controls.c:415,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/v4l2/controls.c:418,1
    - Dst: free
      Src: /src/vlc/modules/access/v4l2/controls.c:420,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/controls.c:427,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/controls.c:429,1
    - Dst: var_Change
      Src: /src/vlc/modules/access/v4l2/controls.c:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - obj
    - fd
    - query
    argTypes:
    - vlc_object_t*
    - int
    - struct v4l2_queryctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 436
    functionName: ControlAddBoolean
    functionSourceFile: /src/vlc/modules/access/v4l2/controls.c
    functionUses: 0
    functionsReached:
    - ControlCreate
    - var_Create
    - free
    - msg_Dbg
    - var_Change
    - v4l2_ioctl
    - unlikely
    linkageType: ''
    returnType: vlc_v4l2_ctrl_t
    signature: "vlc_v4l2_ctrl_t *ControlAddBoolean (vlc_object_t *obj, int fd,\n                                           const
      struct v4l2_queryctrl *query)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/controls.c:441,1
    - Dst: ControlCreate
      Src: /src/vlc/modules/access/v4l2/controls.c:445,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/v4l2/controls.c:446,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/v4l2/controls.c:449,1
    - Dst: free
      Src: /src/vlc/modules/access/v4l2/controls.c:451,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/controls.c:458,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/controls.c:460,1
    - Dst: var_Change
      Src: /src/vlc/modules/access/v4l2/controls.c:463,1
    - Dst: var_Change
      Src: /src/vlc/modules/access/v4l2/controls.c:465,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/controls.c:476,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/controls.c:478,1
    - Dst: var_Change
      Src: /src/vlc/modules/access/v4l2/controls.c:481,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - obj
    - fd
    - query
    argTypes:
    - vlc_object_t*
    - int
    - struct v4l2_queryctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 485
    functionName: ControlAddMenu
    functionSourceFile: /src/vlc/modules/access/v4l2/controls.c
    functionUses: 0
    functionsReached:
    - ControlCreate
    - var_Create
    - free
    - msg_Dbg
    - var_Change
    - v4l2_ioctl
    - unlikely
    linkageType: ''
    returnType: vlc_v4l2_ctrl_t
    signature: "vlc_v4l2_ctrl_t *ControlAddMenu (vlc_object_t *obj, int fd,\n                                        const
      struct v4l2_queryctrl *query)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/controls.c:490,1
    - Dst: ControlCreate
      Src: /src/vlc/modules/access/v4l2/controls.c:494,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/v4l2/controls.c:495,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/v4l2/controls.c:498,1
    - Dst: free
      Src: /src/vlc/modules/access/v4l2/controls.c:500,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - obj
    - fd
    - query
    argTypes:
    - vlc_object_t*
    - int
    - struct v4l2_queryctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 504
    functionName: ControlAddButton
    functionSourceFile: /src/vlc/modules/access/v4l2/controls.c
    functionUses: 0
    functionsReached:
    - ControlCreate
    - var_Create
    - free
    - msg_Dbg
    - unlikely
    linkageType: ''
    returnType: vlc_v4l2_ctrl_t
    signature: "vlc_v4l2_ctrl_t *ControlAddButton (vlc_object_t *obj, int fd,\n                                          const
      struct v4l2_queryctrl *query)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/controls.c:509,1
    - Dst: ControlCreate
      Src: /src/vlc/modules/access/v4l2/controls.c:513,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/v4l2/controls.c:514,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/v4l2/controls.c:517,1
    - Dst: free
      Src: /src/vlc/modules/access/v4l2/controls.c:519,1
    - Dst: V4L2_CTRL_ID2CLASS
      Src: /src/vlc/modules/access/v4l2/controls.c:525,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/controls.c:531,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/controls.c:535,1
    - Dst: var_Change
      Src: /src/vlc/modules/access/v4l2/controls.c:536,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - obj
    - fd
    - query
    argTypes:
    - vlc_object_t*
    - int
    - struct v4l2_queryctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 540
    functionName: ControlAddInteger64
    functionSourceFile: /src/vlc/modules/access/v4l2/controls.c
    functionUses: 0
    functionsReached:
    - ControlCreate
    - var_Create
    - free
    - msg_Dbg
    - var_Change
    - v4l2_ioctl
    - unlikely
    - V4L2_CTRL_ID2CLASS
    linkageType: ''
    returnType: vlc_v4l2_ctrl_t
    signature: "vlc_v4l2_ctrl_t *ControlAddInteger64 (vlc_object_t *obj, int fd,\n
      \                                           const struct v4l2_queryctrl *query)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/controls.c:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - obj
    - fd
    - query
    argTypes:
    - vlc_object_t*
    - int
    - struct v4l2_queryctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 548
    functionName: ControlAddClass
    functionSourceFile: /src/vlc/modules/access/v4l2/controls.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: vlc_v4l2_ctrl_t
    signature: "vlc_v4l2_ctrl_t *ControlAddClass (vlc_object_t *obj, int fd,\n                                         const
      struct v4l2_queryctrl *query)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/controls.c:553,1
    - Dst: ControlCreate
      Src: /src/vlc/modules/access/v4l2/controls.c:557,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/v4l2/controls.c:558,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/v4l2/controls.c:561,1
    - Dst: free
      Src: /src/vlc/modules/access/v4l2/controls.c:563,1
    - Dst: malloc
      Src: /src/vlc/modules/access/v4l2/controls.c:568,1
    - Dst: likely
      Src: /src/vlc/modules/access/v4l2/controls.c:569,1
    - Dst: V4L2_CTRL_ID2CLASS
      Src: /src/vlc/modules/access/v4l2/controls.c:577,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/controls.c:583,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/controls.c:587,1
    - Dst: var_Change
      Src: /src/vlc/modules/access/v4l2/controls.c:588,1
    - Dst: free
      Src: /src/vlc/modules/access/v4l2/controls.c:590,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - obj
    - fd
    - query
    argTypes:
    - vlc_object_t*
    - int
    - struct v4l2_queryctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 550
    functionDepth: 2
    functionLinenumber: 550
    functionLinenumberEnd: 594
    functionName: ControlAddString
    functionSourceFile: /src/vlc/modules/access/v4l2/controls.c
    functionUses: 0
    functionsReached:
    - ControlCreate
    - var_Create
    - free
    - msg_Dbg
    - likely
    - var_Change
    - v4l2_ioctl
    - unlikely
    - malloc
    - V4L2_CTRL_ID2CLASS
    linkageType: ''
    returnType: vlc_v4l2_ctrl_t
    signature: "vlc_v4l2_ctrl_t *ControlAddString (vlc_object_t *obj, int fd,\n                                          const
      struct v4l2_queryctrl *query)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/controls.c:599,1
    - Dst: ControlCreate
      Src: /src/vlc/modules/access/v4l2/controls.c:603,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/v4l2/controls.c:604,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/v4l2/controls.c:607,1
    - Dst: free
      Src: /src/vlc/modules/access/v4l2/controls.c:609,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/controls.c:616,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/controls.c:618,1
    - Dst: var_Change
      Src: /src/vlc/modules/access/v4l2/controls.c:621,1
    - Dst: var_Change
      Src: /src/vlc/modules/access/v4l2/controls.c:623,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - obj
    - fd
    - query
    argTypes:
    - vlc_object_t*
    - int
    - struct v4l2_queryctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 596
    functionDepth: 2
    functionLinenumber: 596
    functionLinenumberEnd: 627
    functionName: ControlAddBitMask
    functionSourceFile: /src/vlc/modules/access/v4l2/controls.c
    functionUses: 0
    functionsReached:
    - ControlCreate
    - var_Create
    - free
    - msg_Dbg
    - var_Change
    - v4l2_ioctl
    - unlikely
    linkageType: ''
    returnType: vlc_v4l2_ctrl_t
    signature: "vlc_v4l2_ctrl_t *ControlAddBitMask (vlc_object_t *obj, int fd,\n                                           const
      struct v4l2_queryctrl *query)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/controls.c:632,1
    - Dst: ControlCreate
      Src: /src/vlc/modules/access/v4l2/controls.c:636,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/v4l2/controls.c:637,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/v4l2/controls.c:640,1
    - Dst: free
      Src: /src/vlc/modules/access/v4l2/controls.c:642,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/controls.c:649,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/controls.c:651,1
    - Dst: var_Change
      Src: /src/vlc/modules/access/v4l2/controls.c:654,1
    - Dst: var_Change
      Src: /src/vlc/modules/access/v4l2/controls.c:656,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/controls.c:668,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/controls.c:670,1
    - Dst: sprintf
      Src: /src/vlc/modules/access/v4l2/controls.c:674,1
    - Dst: var_Change
      Src: /src/vlc/modules/access/v4l2/controls.c:675,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - obj
    - fd
    - query
    argTypes:
    - vlc_object_t*
    - int
    - struct v4l2_queryctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 629
    functionDepth: 2
    functionLinenumber: 629
    functionLinenumberEnd: 679
    functionName: ControlAddIntMenu
    functionSourceFile: /src/vlc/modules/access/v4l2/controls.c
    functionUses: 0
    functionsReached:
    - ControlCreate
    - sprintf
    - var_Create
    - free
    - msg_Dbg
    - var_Change
    - v4l2_ioctl
    - unlikely
    linkageType: ''
    returnType: vlc_v4l2_ctrl_t
    signature: "vlc_v4l2_ctrl_t *ControlAddIntMenu (vlc_object_t *obj, int fd,\n                                           const
      struct v4l2_queryctrl *query)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/v4l2/controls.c:684,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/v4l2/controls.c:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - obj
    - fd
    - query
    argTypes:
    - vlc_object_t*
    - int
    - struct v4l2_queryctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 688
    functionName: ControlAddUnknown
    functionSourceFile: /src/vlc/modules/access/v4l2/controls.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - msg_Warn
    linkageType: ''
    returnType: vlc_v4l2_ctrl_t
    signature: "vlc_v4l2_ctrl_t *ControlAddUnknown (vlc_object_t *obj, int fd,\n                                           const
      struct v4l2_queryctrl *query)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: var_Create
      Src: /src/vlc/modules/access/v4l2/controls.c:701,1
    - Dst: v4l2_ioctl
      Src: /src/vlc/modules/access/v4l2/controls.c:720,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/v4l2/controls.c:723,1
    - Dst: handler
      Src: /src/vlc/modules/access/v4l2/controls.c:728,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/access/v4l2/controls.c:733,1
    - Dst: var_Change
      Src: /src/vlc/modules/access/v4l2/controls.c:734,1
    - Dst: var_Change
      Src: /src/vlc/modules/access/v4l2/controls.c:737,1
    - Dst: CTRL_CID_KNOWN
      Src: /src/vlc/modules/access/v4l2/controls.c:749,1
    - Dst: sprintf
      Src: /src/vlc/modules/access/v4l2/controls.c:753,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/v4l2/controls.c:755,1
    - Dst: ControlSet
      Src: /src/vlc/modules/access/v4l2/controls.c:758,1
    - Dst: ControlsSetFromString
      Src: /src/vlc/modules/access/v4l2/controls.c:762,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/v4l2/controls.c:768,1
    - Dst: var_Change
      Src: /src/vlc/modules/access/v4l2/controls.c:769,1
    - Dst: _
      Src: /src/vlc/modules/access/v4l2/controls.c:769,1
    - Dst: var_Change
      Src: /src/vlc/modules/access/v4l2/controls.c:772,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/access/v4l2/controls.c:773,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/access/v4l2/controls.c:775,1
    - Dst: ControlsReset
      Src: /src/vlc/modules/access/v4l2/controls.c:776,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - obj
    - fd
    argTypes:
    - vlc_object_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 697
    functionDepth: 3
    functionLinenumber: 697
    functionLinenumberEnd: 779
    functionName: ControlsInit
    functionSourceFile: /src/vlc/modules/access/v4l2/controls.c
    functionUses: 3
    functionsReached:
    - ARRAY_SIZE
    - sprintf
    - var_AddCallback
    - handler
    - var_InheritInteger
    - _
    - var_Create
    - var_InheritBool
    - ControlsReset
    - ControlSet
    - ControlsSetFromString
    - CTRL_CID_KNOWN
    - var_Change
    - v4l2_ioctl
    linkageType: ''
    returnType: vlc_v4l2_ctrl_t
    signature: vlc_v4l2_ctrl_t *ControlsInit (vlc_object_t *obj, int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_DelCallback
      Src: /src/vlc/modules/access/v4l2/controls.c:783,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/access/v4l2/controls.c:784,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/access/v4l2/controls.c:790,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/access/v4l2/controls.c:791,1
    - Dst: free
      Src: /src/vlc/modules/access/v4l2/controls.c:792,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/access/v4l2/controls.c:796,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - obj
    - list
    argTypes:
    - vlc_object_t*
    - vlc_v4l2_ctrl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 781
    functionDepth: 1
    functionLinenumber: 781
    functionLinenumberEnd: 797
    functionName: ControlsDeinit
    functionSourceFile: /src/vlc/modules/access/v4l2/controls.c
    functionUses: 3
    functionsReached:
    - free
    - var_Destroy
    - var_DelCallback
    linkageType: ''
    returnType: void
    signature: void ControlsDeinit (vlc_object_t *obj, vlc_v4l2_ctrl_t *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fd
    - flags
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: fd_open
    functionSourceFile: /src/vlc/modules/access/v4l2/lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fd_open (int fd, int flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dlopen
      Src: /src/vlc/modules/access/v4l2/lib.c:62,1
    - Dst: dlopen
      Src: /src/vlc/modules/access/v4l2/lib.c:64,1
    - Dst: dlsym
      Src: /src/vlc/modules/access/v4l2/lib.c:68,1
    - Dst: SYM
      Src: /src/vlc/modules/access/v4l2/lib.c:76,1
    - Dst: SYM
      Src: /src/vlc/modules/access/v4l2/lib.c:76,1
    - Dst: SYM
      Src: /src/vlc/modules/access/v4l2/lib.c:77,1
    - Dst: SYM
      Src: /src/vlc/modules/access/v4l2/lib.c:77,1
    - Dst: SYM
      Src: /src/vlc/modules/access/v4l2/lib.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 80
    functionName: v4l2_lib_load
    functionSourceFile: /src/vlc/modules/access/v4l2/lib.c
    functionUses: 0
    functionsReached:
    - dlopen
    - dlsym
    - SYM
    linkageType: ''
    returnType: void
    signature: void v4l2_lib_load (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: SYM
    functionSourceFile: /src/vlc/modules/access/v4l2/lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SYM(name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlclose
      Src: /src/vlc/modules/access/v4l2/lib.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: v4l2_lib_unload
    functionSourceFile: /src/vlc/modules/access/v4l2/lib.c
    functionUses: 0
    functionsReached:
    - dlclose
    linkageType: ''
    returnType: void
    signature: void v4l2_lib_unload (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_once
      Src: /src/vlc/modules/access/v4l2/lib.c:93,1
    - Dst: v4l2_fd_open_cb
      Src: /src/vlc/modules/access/v4l2/lib.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fd
    - flags
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: v4l2_fd_open
    functionSourceFile: /src/vlc/modules/access/v4l2/lib.c
    functionUses: 1
    functionsReached:
    - pthread_once
    - v4l2_fd_open_cb
    linkageType: ''
    returnType: int
    signature: int v4l2_fd_open(int fd, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: v4l2_fourcc
    functionSourceFile: /src/vlc/modules/access/v4l2/linux/videodev2.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: v4l2_fourcc(a, b, c, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: v4l2_fourcc_be
    functionSourceFile: /src/vlc/modules/access/v4l2/linux/videodev2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: v4l2_fourcc_be(a, b, c, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: V4L2_FIELD_HAS_TOP
    functionSourceFile: /src/vlc/modules/access/v4l2/linux/videodev2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: V4L2_FIELD_HAS_TOP(field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: V4L2_FIELD_HAS_BOTTOM
    functionSourceFile: /src/vlc/modules/access/v4l2/linux/videodev2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: V4L2_FIELD_HAS_BOTTOM(field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: V4L2_FIELD_HAS_BOTH
    functionSourceFile: /src/vlc/modules/access/v4l2/linux/videodev2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: V4L2_FIELD_HAS_BOTH(field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: V4L2_FIELD_HAS_T_OR_B
    functionSourceFile: /src/vlc/modules/access/v4l2/linux/videodev2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: V4L2_FIELD_HAS_T_OR_B(field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: V4L2_TYPE_IS_MULTIPLANAR
    functionSourceFile: /src/vlc/modules/access/v4l2/linux/videodev2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: V4L2_TYPE_IS_MULTIPLANAR(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 164
    functionName: V4L2_TYPE_IS_OUTPUT
    functionSourceFile: /src/vlc/modules/access/v4l2/linux/videodev2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: V4L2_TYPE_IS_OUTPUT(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - is_sdtv
    - ','
    - is_hdtv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: V4L2_MAP_COLORSPACE_DEFAULT
    functionSourceFile: /src/vlc/modules/access/v4l2/linux/videodev2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: V4L2_MAP_COLORSPACE_DEFAULT(is_sdtv, is_hdtv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - colsp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 290
    functionName: V4L2_MAP_XFER_FUNC_DEFAULT
    functionSourceFile: /src/vlc/modules/access/v4l2/linux/videodev2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: V4L2_MAP_XFER_FUNC_DEFAULT(colsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - colsp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 345
    functionName: V4L2_MAP_YCBCR_ENC_DEFAULT
    functionSourceFile: /src/vlc/modules/access/v4l2/linux/videodev2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: V4L2_MAP_YCBCR_ENC_DEFAULT(colsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - is_rgb
    - ','
    - colsp
    - ','
    - ycbcr_enc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 368
    functionName: V4L2_MAP_QUANTIZATION_DEFAULT
    functionSourceFile: /src/vlc/modules/access/v4l2/linux/videodev2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: V4L2_MAP_QUANTIZATION_DEFAULT(is_rgb, colsp, ycbcr_enc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1292
    functionDepth: 0
    functionLinenumber: 1292
    functionLinenumberEnd: 1294
    functionName: V4L2_DV_BT_BLANKING_WIDTH
    functionSourceFile: /src/vlc/modules/access/v4l2/linux/videodev2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: V4L2_DV_BT_BLANKING_WIDTH(bt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1296
    functionName: V4L2_DV_BT_FRAME_WIDTH
    functionSourceFile: /src/vlc/modules/access/v4l2/linux/videodev2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: V4L2_DV_BT_FRAME_WIDTH(bt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1299
    functionName: V4L2_DV_BT_BLANKING_HEIGHT
    functionSourceFile: /src/vlc/modules/access/v4l2/linux/videodev2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: V4L2_DV_BT_BLANKING_HEIGHT(bt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1301
    functionName: V4L2_DV_BT_FRAME_HEIGHT
    functionSourceFile: /src/vlc/modules/access/v4l2/linux/videodev2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: V4L2_DV_BT_FRAME_HEIGHT(bt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1492
    functionDepth: 0
    functionLinenumber: 1492
    functionLinenumberEnd: 1493
    functionName: V4L2_CTRL_ID2CLASS
    functionSourceFile: /src/vlc/modules/access/v4l2/linux/videodev2.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: V4L2_CTRL_ID2CLASS(id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1494
    functionDepth: 0
    functionLinenumber: 1494
    functionLinenumberEnd: 1495
    functionName: V4L2_CTRL_ID2WHICH
    functionSourceFile: /src/vlc/modules/access/v4l2/linux/videodev2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: V4L2_CTRL_ID2WHICH(id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1495
    functionDepth: 0
    functionLinenumber: 1495
    functionLinenumberEnd: 1496
    functionName: V4L2_CTRL_DRIVER_PRIV
    functionSourceFile: /src/vlc/modules/access/v4l2/linux/videodev2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: V4L2_CTRL_DRIVER_PRIV(id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: make_tuple
    functionSourceFile: /src/vlc/modules/access/dvb/scan.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: make_tuple(a,b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/access/dvb/scan.c:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - p_cfg
    - p_params
    argTypes:
    - scan_tuner_config_t*
    - scan_parameter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 198
    functionName: scan_tuner_config_Init
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void scan_tuner_config_Init( scan_tuner_config_t *p_cfg, const scan_parameter_t
      *p_params )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - p_cfg
    argTypes:
    - scan_tuner_config_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: scan_tuner_config_StandardValidate
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool scan_tuner_config_StandardValidate( const scan_tuner_config_t
      *p_cfg )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/dvb/scan.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - i_program
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 231
    functionName: scan_service_New
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: scan_service_t
    signature: scan_service_t *scan_service_New( uint16_t i_program )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/dvb/scan.c:235,1
    - Dst: free
      Src: /src/vlc/modules/access/dvb/scan.c:236,1
    - Dst: free
      Src: /src/vlc/modules/access/dvb/scan.c:237,1
    - Dst: free
      Src: /src/vlc/modules/access/dvb/scan.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_srv
    argTypes:
    - scan_service_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 239
    functionName: scan_service_Delete
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void scan_service_Delete( scan_service_t *p_srv )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 250
    functionName: decode_BCD
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t decode_BCD( uint32_t input )
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - service_type
    argTypes:
    - scan_service_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 267
    functionName: scan_service_type_Supported
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int scan_service_type_Supported( scan_service_type_t service_type )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/dvb/scan.c:271,1
    - Dst: likely
      Src: /src/vlc/modules/access/dvb/scan.c:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - p_cfg
    - i_ts_id
    argTypes:
    - scan_tuner_config_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 286
    functionName: scan_multiplex_New
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - likely
    - malloc
    linkageType: ''
    returnType: scan_multiplex_t
    signature: scan_multiplex_t *scan_multiplex_New( const scan_tuner_config_t *p_cfg,
      uint16_t i_ts_id )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scan_service_Delete
      Src: /src/vlc/modules/access/dvb/scan.c:291,1
    - Dst: free
      Src: /src/vlc/modules/access/dvb/scan.c:292,1
    - Dst: free
      Src: /src/vlc/modules/access/dvb/scan.c:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_mplex
    argTypes:
    - scan_multiplex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 294
    functionName: scan_multiplex_Clean
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - free
    - scan_service_Delete
    linkageType: ''
    returnType: void
    signature: void scan_multiplex_Clean( scan_multiplex_t *p_mplex )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scan_multiplex_Clean
      Src: /src/vlc/modules/access/dvb/scan.c:298,1
    - Dst: free
      Src: /src/vlc/modules/access/dvb/scan.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_mplex
    argTypes:
    - scan_multiplex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: scan_multiplex_Delete
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - free
    - scan_multiplex_Clean
    linkageType: ''
    returnType: void
    signature: void scan_multiplex_Delete( scan_multiplex_t *p_mplex )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvb/scan.c:304,1
    - Dst: realloc
      Src: /src/vlc/modules/access/dvb/scan.c:307,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvb/scan.c:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - p_mplex
    - p_service
    argTypes:
    - scan_multiplex_t*
    - scan_service_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 316
    functionName: scan_multiplex_AddService
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - realloc
    - unlikely
    linkageType: ''
    returnType: bool
    signature: bool scan_multiplex_AddService( scan_multiplex_t *p_mplex, scan_service_t
      *p_service )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p_mplex
    - i_program
    argTypes:
    - scan_multiplex_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 326
    functionName: scan_multiplex_FindService
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: scan_service_t
    signature: scan_service_t * scan_multiplex_FindService( const scan_multiplex_t
      *p_mplex, uint16_t i_program )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/access/dvb/scan.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_dst
    argTypes:
    - scan_parameter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: scan_parameter_Init
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void scan_parameter_Init( scan_parameter_t *p_dst )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/dvb/scan.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_dst
    argTypes:
    - scan_parameter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 336
    functionName: scan_parameter_Clean
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void scan_parameter_Clean( scan_parameter_t *p_dst )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scan_parameter_Clean
      Src: /src/vlc/modules/access/dvb/scan.c:340,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dvb/scan.c:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_src
    - p_dst
    argTypes:
    - scan_parameter_t*
    - scan_parameter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 344
    functionName: scan_parameter_Copy
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - scan_parameter_Clean
    - strdup
    linkageType: ''
    returnType: void
    signature: void scan_parameter_Copy( const scan_parameter_t *p_src, scan_parameter_t
      *p_dst )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: scan_list_dvbv3_load
      Src: /src/vlc/modules/access/dvb/scan.c:352,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:354,1
    - Dst: scan_list_dvbv5_load
      Src: /src/vlc/modules/access/dvb/scan.c:361,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - p_obj
    - p_parameter
    - p_scan
    argTypes:
    - vlc_object_t*
    - scan_parameter_t*
    - scan_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 366
    functionName: scan_Prepare
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - scan_list_dvbv5_load
    - scan_list_dvbv3_load
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void scan_Prepare( vlc_object_t *p_obj, const scan_parameter_t *p_parameter,
      scan_t *p_scan )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:374,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:378,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:380,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:382,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:386,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:389,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:391,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:392,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - p_obj
    - p_parameter
    argTypes:
    - vlc_object_t*
    - scan_parameter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 393
    functionName: scan_Debug_Parameters
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void scan_Debug_Parameters( vlc_object_t *p_obj, const scan_parameter_t
      *p_parameter )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/dvb/scan.c:406,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvb/scan.c:407,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/dvb/scan.c:410,1
    - Dst: scan_parameter_Init
      Src: /src/vlc/modules/access/dvb/scan.c:422,1
    - Dst: scan_parameter_Copy
      Src: /src/vlc/modules/access/dvb/scan.c:423,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/dvb/scan.c:424,1
    - Dst: scan_Prepare
      Src: /src/vlc/modules/access/dvb/scan.c:428,1
    - Dst: scan_Debug_Parameters
      Src: /src/vlc/modules/access/dvb/scan.c:435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 7
    argNames:
    - p_obj
    - p_parameter
    - pf_frontend
    - pf_status
    - pf_filter
    - pf_read
    - p_cbdata
    argTypes:
    - vlc_object_t*
    - scan_parameter_t*
    - scan_frontend_tune_cb
    - scan_frontend_stats_cb
    - scan_demux_filter_cb
    - scan_demux_read_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 438
    functionName: scan_New
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - scan_parameter_Init
    - scan_parameter_Copy
    - VLC_OBJECT
    - scan_Prepare
    - unlikely
    - malloc
    - scan_Debug_Parameters
    linkageType: ''
    returnType: scan_t
    signature: "scan_t *scan_New( vlc_object_t *p_obj, const scan_parameter_t *p_parameter,\n
      \                 scan_frontend_tune_cb pf_frontend,\n                  scan_frontend_stats_cb
      pf_status,\n                  scan_demux_filter_cb pf_filter,\n                  scan_demux_read_cb
      pf_read,\n                  void *p_cbdata )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_dialog_release
      Src: /src/vlc/modules/access/dvb/scan.c:445,1
    - Dst: scan_parameter_Clean
      Src: /src/vlc/modules/access/dvb/scan.c:447,1
    - Dst: scan_multiplex_Delete
      Src: /src/vlc/modules/access/dvb/scan.c:450,1
    - Dst: free
      Src: /src/vlc/modules/access/dvb/scan.c:451,1
    - Dst: scan_list_entries_release
      Src: /src/vlc/modules/access/dvb/scan.c:453,1
    - Dst: free
      Src: /src/vlc/modules/access/dvb/scan.c:455,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - p_scan
    argTypes:
    - scan_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 440
    functionDepth: 3
    functionLinenumber: 440
    functionLinenumberEnd: 456
    functionName: scan_Destroy
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - scan_parameter_Clean
    - scan_multiplex_Delete
    - scan_list_entries_release
    - free
    - vlc_dialog_release
    linkageType: ''
    returnType: void
    signature: void scan_Destroy( scan_t *p_scan )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - p_scan
    - p_mplex
    - b_scanned
    argTypes:
    - scan_t*
    - scan_multiplex_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 465
    functionName: scan_SetMultiplexScanStatus
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void scan_SetMultiplexScanStatus( scan_t *p_scan, scan_multiplex_t
      *p_mplex, bool b_scanned )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/vlc/modules/access/dvb/scan.c:469,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvb/scan.c:471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p_scan
    - p_mplex
    argTypes:
    - scan_t*
    - scan_multiplex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 479
    functionName: scan_AddMultiplex
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - realloc
    - unlikely
    linkageType: ''
    returnType: bool
    signature: bool scan_AddMultiplex( scan_t *p_scan, scan_multiplex_t *p_mplex )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p_scan
    - i_ts_id
    argTypes:
    - scan_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 489
    functionName: scan_FindMultiplex
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: scan_multiplex_t
    signature: scan_multiplex_t * scan_FindMultiplex( const scan_t *p_scan, uint16_t
      i_ts_id )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: scan_FindMultiplex
      Src: /src/vlc/modules/access/dvb/scan.c:494,1
    - Dst: scan_multiplex_New
      Src: /src/vlc/modules/access/dvb/scan.c:497,1
    - Dst: likely
      Src: /src/vlc/modules/access/dvb/scan.c:498,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvb/scan.c:500,1
    - Dst: scan_AddMultiplex
      Src: /src/vlc/modules/access/dvb/scan.c:500,1
    - Dst: scan_multiplex_Delete
      Src: /src/vlc/modules/access/dvb/scan.c:502,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - p_scan
    - i_ts_id
    - p_cfg
    argTypes:
    - scan_t*
    - uint16_t
    - scan_tuner_config_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 491
    functionDepth: 3
    functionLinenumber: 491
    functionLinenumberEnd: 508
    functionName: scan_FindOrCreateMultiplex
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - scan_AddMultiplex
    - scan_multiplex_Delete
    - scan_FindMultiplex
    - scan_multiplex_New
    - likely
    - unlikely
    linkageType: ''
    returnType: scan_multiplex_t
    signature: "scan_multiplex_t *scan_FindOrCreateMultiplex( scan_t *p_scan, uint16_t
      i_ts_id,\n                                                     const scan_tuner_config_t
      *p_cfg )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_scan
    argTypes:
    - scan_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 516
    functionName: scan_CountServices
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t scan_CountServices( const scan_t *p_scan )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - p_params
    - p_spectrum
    - p_cfg
    - pf_pos
    argTypes:
    - scan_parameter_t*
    - scan_enumeration_t*
    - scan_tuner_config_t*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 539
    functionName: Scan_Next_DVB_SpectrumExhaustive
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int Scan_Next_DVB_SpectrumExhaustive( const scan_parameter_t *p_params,
      scan_enumeration_t *p_spectrum,\n                                             scan_tuner_config_t
      *p_cfg, double *pf_pos )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Scan_Next_DVB_SpectrumExhaustive
      Src: /src/vlc/modules/access/dvb/scan.c:590,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 4
    argNames:
    - p_params
    - p_spectrum
    - p_cfg
    - pf_pos
    argTypes:
    - scan_parameter_t*
    - scan_enumeration_t*
    - scan_tuner_config_t*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 628
    functionName: Scan_Next_DVBC
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - Scan_Next_DVB_SpectrumExhaustive
    linkageType: ''
    returnType: int
    signature: "int Scan_Next_DVBC( const scan_parameter_t *p_params, scan_enumeration_t
      *p_spectrum,\n                           scan_tuner_config_t *p_cfg, double
      *pf_pos )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Scan_Next_DVB_SpectrumExhaustive
      Src: /src/vlc/modules/access/dvb/scan.c:634,1
    - Dst: __MIN
      Src: /src/vlc/modules/access/dvb/scan.c:701,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 4
    argNames:
    - p_params
    - p_spectrum
    - p_cfg
    - pf_pos
    argTypes:
    - scan_parameter_t*
    - scan_enumeration_t*
    - scan_tuner_config_t*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 710
    functionName: Scan_Next_DVBT
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - __MIN
    - Scan_Next_DVB_SpectrumExhaustive
    linkageType: ''
    returnType: int
    signature: "int Scan_Next_DVBT( const scan_parameter_t *p_params, scan_enumeration_t
      *p_spectrum,\n                           scan_tuner_config_t *p_cfg, double
      *pf_pos )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Scan_Next_DVBT
      Src: /src/vlc/modules/access/dvb/scan.c:718,1
    - Dst: Scan_Next_DVBC
      Src: /src/vlc/modules/access/dvb/scan.c:721,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - p_scan
    - p_cfg
    - pf_pos
    argTypes:
    - scan_t*
    - scan_tuner_config_t*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 712
    functionDepth: 2
    functionLinenumber: 712
    functionLinenumberEnd: 727
    functionName: Scan_GetNextSpectrumTunerConfig
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - Scan_Next_DVBT
    - Scan_Next_DVBC
    linkageType: ''
    returnType: int
    signature: int Scan_GetNextSpectrumTunerConfig( scan_t *p_scan, scan_tuner_config_t
      *p_cfg, double *pf_pos )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Scan_GetNextSpectrumTunerConfig
      Src: /src/vlc/modules/access/dvb/scan.c:774,1
    - Dst: scan_SetMultiplexScanStatus
      Src: /src/vlc/modules/access/dvb/scan.c:785,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 3
    argNames:
    - p_scan
    - p_cfg
    - pf_pos
    argTypes:
    - scan_t*
    - scan_tuner_config_t*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 729
    functionDepth: 3
    functionLinenumber: 729
    functionLinenumberEnd: 794
    functionName: Scan_GetNextTunerConfig
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - Scan_GetNextSpectrumTunerConfig
    - scan_SetMultiplexScanStatus
    linkageType: ''
    returnType: int
    signature: int Scan_GetNextTunerConfig( scan_t *p_scan, scan_tuner_config_t *p_cfg,
      double *pf_pos )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: scan_IsCancelled
      Src: /src/vlc/modules/access/dvb/scan.c:801,1
    - Dst: scan_tuner_config_Init
      Src: /src/vlc/modules/access/dvb/scan.c:806,1
    - Dst: Scan_GetNextTunerConfig
      Src: /src/vlc/modules/access/dvb/scan.c:808,1
    - Dst: scan_CountServices
      Src: /src/vlc/modules/access/dvb/scan.c:814,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/dvb/scan.c:815,1
    - Dst: _
      Src: /src/vlc/modules/access/dvb/scan.c:817,1
    - Dst: vlc_tick_to_str
      Src: /src/vlc/modules/access/dvb/scan.c:818,1
    - Dst: msg_Info
      Src: /src/vlc/modules/access/dvb/scan.c:821,1
    - Dst: vlc_dialog_display_progress
      Src: /src/vlc/modules/access/dvb/scan.c:826,1
    - Dst: _
      Src: /src/vlc/modules/access/dvb/scan.c:827,1
    - Dst: _
      Src: /src/vlc/modules/access/dvb/scan.c:828,1
    - Dst: vlc_dialog_update_progress_text
      Src: /src/vlc/modules/access/dvb/scan.c:835,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - p_scan
    - p_cfg
    argTypes:
    - scan_t*
    - scan_tuner_config_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 796
    functionDepth: 4
    functionLinenumber: 796
    functionLinenumberEnd: 843
    functionName: scan_Next
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - scan_IsCancelled
    - vlc_dialog_update_progress_text
    - vlc_tick_to_str
    - _
    - Scan_GetNextTunerConfig
    - msg_Info
    - vlc_dialog_display_progress
    - scan_tuner_config_Init
    - scan_CountServices
    linkageType: ''
    returnType: int
    signature: int scan_Next( scan_t *p_scan, scan_tuner_config_t *p_cfg )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_dialog_is_cancelled
      Src: /src/vlc/modules/access/dvb/scan.c:849,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_scan
    argTypes:
    - scan_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 850
    functionName: scan_IsCancelled
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 1
    functionsReached:
    - vlc_dialog_is_cancelled
    linkageType: ''
    returnType: bool
    signature: bool scan_IsCancelled( scan_t *p_scan )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: scan_Next
      Src: /src/vlc/modules/access/dvb/scan.c:855,1
    - Dst: scan_session_New
      Src: /src/vlc/modules/access/dvb/scan.c:858,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvb/scan.c:859,1
    - Dst: scan_t*::pf_tune
      Src: /src/vlc/modules/access/dvb/scan.c:862,1
    - Dst: scan_session_Destroy
      Src: /src/vlc/modules/access/dvb/scan.c:864,1
    - Dst: scan_t*::pf_filter
      Src: /src/vlc/modules/access/dvb/scan.c:868,1
    - Dst: scan_t*::pf_filter
      Src: /src/vlc/modules/access/dvb/scan.c:869,1
    - Dst: scan_t*::pf_filter
      Src: /src/vlc/modules/access/dvb/scan.c:871,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/dvb/scan.c:875,1
    - Dst: scan_session_GetTablesTimeout
      Src: /src/vlc/modules/access/dvb/scan.c:879,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/dvb/scan.c:880,1
    - Dst: scan_t*::pf_read
      Src: /src/vlc/modules/access/dvb/scan.c:885,1
    - Dst: scan_t*::pf_stats
      Src: /src/vlc/modules/access/dvb/scan.c:891,1
    - Dst: scan_session_Push
      Src: /src/vlc/modules/access/dvb/scan.c:898,1
    - Dst: scan_session_Destroy
      Src: /src/vlc/modules/access/dvb/scan.c:904,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 1
    argNames:
    - p_scan
    argTypes:
    - scan_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 852
    functionDepth: 5
    functionLinenumber: 852
    functionLinenumberEnd: 907
    functionName: scan_Run
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - scan_session_GetTablesTimeout
    - scan_t*::pf_filter
    - unlikely
    - scan_Next
    - scan_t*::pf_tune
    - scan_session_New
    - scan_t*::pf_stats
    - scan_session_Push
    - scan_session_Destroy
    - scan_t*::pf_read
    linkageType: ''
    returnType: int
    signature: int scan_Run( scan_t *p_scan )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scan_service_type_Supported
      Src: /src/vlc/modules/access/dvb/scan.c:911,1
    - Dst: scan_t*::pf_notify_service
      Src: /src/vlc/modules/access/dvb/scan.c:913,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - p_scan
    - p_service
    - b_updated
    argTypes:
    - scan_t*
    - scan_service_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 909
    functionDepth: 1
    functionLinenumber: 909
    functionLinenumberEnd: 916
    functionName: scan_NotifyService
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - scan_service_type_Supported
    - scan_t*::pf_notify_service
    linkageType: ''
    returnType: void
    signature: void scan_NotifyService( scan_t *p_scan, scan_service_t *p_service,
      bool b_updated )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 919
    functionName: scan_NotifyNewService
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: scan_NotifyNewService( a, b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 920
    functionName: scan_NotifyUpdatedService
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: scan_NotifyUpdatedService( a, b )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - p_session
    - i_network_id
    - ppp_nit
    argTypes:
    - scan_session_t*
    - uint16_t
    - dvbpsi_nit_t***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 934
    functionName: GetOtherNetworkNIT
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool GetOtherNetworkNIT( scan_session_t *p_session, uint16_t i_network_id,\n
      \                               dvbpsi_nit_t ***ppp_nit )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - p_session
    - i_ts_id
    - ppp_sdt
    argTypes:
    - scan_session_t*
    - uint16_t
    - dvbpsi_sdt_t***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 949
    functionName: GetOtherTsSDT
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool GetOtherTsSDT( scan_session_t *p_session, uint16_t i_ts_id,\n
      \                          dvbpsi_sdt_t ***ppp_sdt )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: scan_FindOrCreateMultiplex
      Src: /src/vlc/modules/access/dvb/scan.c:959,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvb/scan.c:960,1
    - Dst: msg_Info
      Src: /src/vlc/modules/access/dvb/scan.c:965,1
    - Dst: scan_multiplex_FindService
      Src: /src/vlc/modules/access/dvb/scan.c:978,1
    - Dst: scan_service_New
      Src: /src/vlc/modules/access/dvb/scan.c:981,1
    - Dst: likely
      Src: /src/vlc/modules/access/dvb/scan.c:982,1
    - Dst: scan_multiplex_AddService
      Src: /src/vlc/modules/access/dvb/scan.c:984,1
    - Dst: scan_service_Delete
      Src: /src/vlc/modules/access/dvb/scan.c:985,1
    - Dst: scan_NotifyNewService
      Src: /src/vlc/modules/access/dvb/scan.c:987,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 5
    argNames:
    - p_obj
    - p_scan
    - p_pat
    - p_cfg
    - i_snr
    argTypes:
    - vlc_object_t*
    - scan_t*
    - dvbpsi_pat_t*
    - scan_tuner_config_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 951
    functionDepth: 4
    functionLinenumber: 951
    functionLinenumberEnd: 991
    functionName: ParsePAT
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - scan_multiplex_FindService
    - scan_service_New
    - scan_service_Delete
    - scan_NotifyNewService
    - msg_Info
    - likely
    - scan_FindOrCreateMultiplex
    - unlikely
    - scan_multiplex_AddService
    linkageType: ''
    returnType: void
    signature: "void ParsePAT( vlc_object_t *p_obj, scan_t *p_scan,\n                      const
      dvbpsi_pat_t *p_pat, const scan_tuner_config_t *p_cfg,\n                      int
      i_snr )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dvbpsi_pat_delete
      Src: /src/vlc/modules/access/dvb/scan.c:1002,1
    - Dst: dvbpsi_pat_delete
      Src: /src/vlc/modules/access/dvb/scan.c:1007,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1017,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1021,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - opaque
    - p_pat
    argTypes:
    - void*
    - dvbpsi_pat_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 994
    functionDepth: 1
    functionLinenumber: 994
    functionLinenumberEnd: 1025
    functionName: PATCallBack
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - dvbpsi_pat_delete
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void PATCallBack( void *opaque, dvbpsi_pat_t *p_pat )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dvb/scan.c:1029,1
    - Dst: scan_FindMultiplex
      Src: /src/vlc/modules/access/dvb/scan.c:1033,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvb/scan.c:1034,1
    - Dst: scan_SetMultiplexScanStatus
      Src: /src/vlc/modules/access/dvb/scan.c:1037,1
    - Dst: scan_multiplex_FindService
      Src: /src/vlc/modules/access/dvb/scan.c:1046,1
    - Dst: scan_service_New
      Src: /src/vlc/modules/access/dvb/scan.c:1050,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvb/scan.c:1051,1
    - Dst: scan_multiplex_AddService
      Src: /src/vlc/modules/access/dvb/scan.c:1053,1
    - Dst: scan_service_Delete
      Src: /src/vlc/modules/access/dvb/scan.c:1055,1
    - Dst: dvbpsi_DecodeServiceDr
      Src: /src/vlc/modules/access/dvb/scan.c:1068,1
    - Dst: vlc_from_EIT
      Src: /src/vlc/modules/access/dvb/scan.c:1072,1
    - Dst: free
      Src: /src/vlc/modules/access/dvb/scan.c:1074,1
    - Dst: vlc_from_EIT
      Src: /src/vlc/modules/access/dvb/scan.c:1075,1
    - Dst: scan_NotifyService
      Src: /src/vlc/modules/access/dvb/scan.c:1082,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 3
    argNames:
    - p_obj
    - p_scan
    - p_sdt
    argTypes:
    - vlc_object_t*
    - scan_t*
    - dvbpsi_sdt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1027
    functionDepth: 2
    functionLinenumber: 1027
    functionLinenumberEnd: 1084
    functionName: ParseSDT
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - scan_multiplex_FindService
    - dvbpsi_DecodeServiceDr
    - scan_service_New
    - scan_service_Delete
    - vlc_from_EIT
    - scan_FindMultiplex
    - free
    - scan_NotifyService
    - unlikely
    - scan_multiplex_AddService
    - scan_SetMultiplexScanStatus
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void ParseSDT( vlc_object_t *p_obj, scan_t *p_scan, const dvbpsi_sdt_t
      *p_sdt )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GetOtherTsSDT
      Src: /src/vlc/modules/access/dvb/scan.c:1093,1
    - Dst: realloc
      Src: /src/vlc/modules/access/dvb/scan.c:1095,1
    - Dst: dvbpsi_sdt_delete
      Src: /src/vlc/modules/access/dvb/scan.c:1099,1
    - Dst: dvbpsi_sdt_delete
      Src: /src/vlc/modules/access/dvb/scan.c:1119,1
    - Dst: dvbpsi_sdt_delete
      Src: /src/vlc/modules/access/dvb/scan.c:1122,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1127,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1137,1
    - Dst: dvbpsi_DecodeServiceDr
      Src: /src/vlc/modules/access/dvb/scan.c:1145,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/dvb/scan.c:1150,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1153,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1159,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - opaque
    - p_sdt
    argTypes:
    - void*
    - dvbpsi_sdt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1086
    functionDepth: 1
    functionLinenumber: 1086
    functionLinenumberEnd: 1163
    functionName: SDTCallBack
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - dvbpsi_DecodeServiceDr
    - GetOtherTsSDT
    - realloc
    - memcpy
    - dvbpsi_sdt_delete
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void SDTCallBack( void *opaque, dvbpsi_sdt_t *p_sdt )
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1182
    functionName: ConvertDelDrInnerFec
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: scan_coderate_t
    signature: scan_coderate_t ConvertDelDrInnerFec( uint8_t v )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConvertDelDrInnerFec
      Src: /src/vlc/modules/access/dvb/scan.c:1189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1184
    functionDepth: 1
    functionLinenumber: 1184
    functionLinenumberEnd: 1190
    functionName: ConvertDelDrCodeRate
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - ConvertDelDrInnerFec
    linkageType: ''
    returnType: scan_coderate_t
    signature: scan_coderate_t ConvertDelDrCodeRate( uint8_t v )
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1198,1
    - Dst: scan_tuner_config_Init
      Src: /src/vlc/modules/access/dvb/scan.c:1203,1
    - Dst: dvbpsi_DecodeServiceListDr
      Src: /src/vlc/modules/access/dvb/scan.c:1217,1
    - Dst: dvbpsi_DecodeTerrDelivSysDr
      Src: /src/vlc/modules/access/dvb/scan.c:1221,1
    - Dst: ConvertDelDrCodeRate
      Src: /src/vlc/modules/access/dvb/scan.c:1242,1
    - Dst: ConvertDelDrCodeRate
      Src: /src/vlc/modules/access/dvb/scan.c:1246,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1248,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1249,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1250,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1251,1
    - Dst: scan_value_modulation
      Src: /src/vlc/modules/access/dvb/scan.c:1251,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1252,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1253,1
    - Dst: scan_value_coderate
      Src: /src/vlc/modules/access/dvb/scan.c:1253,1
    - Dst: scan_value_coderate
      Src: /src/vlc/modules/access/dvb/scan.c:1254,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1255,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1256,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1257,1
    - Dst: dvbpsi_DecodeSatDelivSysDr
      Src: /src/vlc/modules/access/dvb/scan.c:1262,1
    - Dst: decode_BCD
      Src: /src/vlc/modules/access/dvb/scan.c:1265,1
    - Dst: decode_BCD
      Src: /src/vlc/modules/access/dvb/scan.c:1266,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvb/scan.c:1267,1
    - Dst: ConvertDelDrInnerFec
      Src: /src/vlc/modules/access/dvb/scan.c:1296,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1298,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1299,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1300,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1301,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1302,1
    - Dst: scan_value_modulation
      Src: /src/vlc/modules/access/dvb/scan.c:1302,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1303,1
    - Dst: scan_value_coderate
      Src: /src/vlc/modules/access/dvb/scan.c:1303,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1306,1
    - Dst: dvbpsi_DecodeCableDelivSysDr
      Src: /src/vlc/modules/access/dvb/scan.c:1312,1
    - Dst: decode_BCD
      Src: /src/vlc/modules/access/dvb/scan.c:1315,1
    - Dst: decode_BCD
      Src: /src/vlc/modules/access/dvb/scan.c:1316,1
    - Dst: ConvertDelDrInnerFec
      Src: /src/vlc/modules/access/dvb/scan.c:1321,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1323,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1324,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1325,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1326,1
    - Dst: scan_value_modulation
      Src: /src/vlc/modules/access/dvb/scan.c:1326,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1327,1
    - Dst: scan_value_coderate
      Src: /src/vlc/modules/access/dvb/scan.c:1327,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1332,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/access/dvb/scan.c:1333,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1334,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1338,1
    - Dst: dvbpsi_DecodeLCNDr
      Src: /src/vlc/modules/access/dvb/scan.c:1339,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvb/scan.c:1347,1
    - Dst: scan_tuner_config_StandardValidate
      Src: /src/vlc/modules/access/dvb/scan.c:1351,1
    - Dst: scan_FindMultiplex
      Src: /src/vlc/modules/access/dvb/scan.c:1357,1
    - Dst: scan_multiplex_New
      Src: /src/vlc/modules/access/dvb/scan.c:1360,1
    - Dst: likely
      Src: /src/vlc/modules/access/dvb/scan.c:1361,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvb/scan.c:1363,1
    - Dst: scan_AddMultiplex
      Src: /src/vlc/modules/access/dvb/scan.c:1363,1
    - Dst: scan_multiplex_Delete
      Src: /src/vlc/modules/access/dvb/scan.c:1365,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvb/scan.c:1371,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1383,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1388,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvb/scan.c:1393,1
    - Dst: scan_multiplex_FindService
      Src: /src/vlc/modules/access/dvb/scan.c:1399,1
    - Dst: scan_service_New
      Src: /src/vlc/modules/access/dvb/scan.c:1402,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvb/scan.c:1403,1
    - Dst: scan_multiplex_AddService
      Src: /src/vlc/modules/access/dvb/scan.c:1409,1
    - Dst: scan_service_Delete
      Src: /src/vlc/modules/access/dvb/scan.c:1411,1
    - Dst: strndup
      Src: /src/vlc/modules/access/dvb/scan.c:1417,1
    - Dst: scan_NotifyService
      Src: /src/vlc/modules/access/dvb/scan.c:1419,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1430,1
    - Dst: scan_multiplex_FindService
      Src: /src/vlc/modules/access/dvb/scan.c:1432,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 159
    argCount: 4
    argNames:
    - p_obj
    - p_scan
    - p_nit
    - p_cfg
    argTypes:
    - vlc_object_t*
    - scan_t*
    - dvbpsi_nit_t*
    - scan_tuner_config_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1192
    functionDepth: 3
    functionLinenumber: 1192
    functionLinenumberEnd: 1438
    functionName: ParseNIT
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - scan_FindMultiplex
    - ConvertDelDrInnerFec
    - scan_multiplex_New
    - scan_value_coderate
    - dvbpsi_DecodeCableDelivSysDr
    - ConvertDelDrCodeRate
    - scan_NotifyService
    - scan_tuner_config_Init
    - scan_AddMultiplex
    - scan_tuner_config_StandardValidate
    - msg_Dbg
    - msg_Warn
    - strndup
    - scan_multiplex_FindService
    - dvbpsi_DecodeTerrDelivSysDr
    - scan_service_New
    - scan_service_Delete
    - scan_multiplex_Delete
    - scan_value_modulation
    - GetDWBE
    - dvbpsi_DecodeSatDelivSysDr
    - likely
    - decode_BCD
    - unlikely
    - dvbpsi_DecodeServiceListDr
    - dvbpsi_DecodeLCNDr
    - scan_multiplex_AddService
    linkageType: ''
    returnType: void
    signature: "void ParseNIT( vlc_object_t *p_obj, scan_t *p_scan,\n                      const
      dvbpsi_nit_t *p_nit, const scan_tuner_config_t *p_cfg )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GetOtherNetworkNIT
      Src: /src/vlc/modules/access/dvb/scan.c:1448,1
    - Dst: realloc
      Src: /src/vlc/modules/access/dvb/scan.c:1450,1
    - Dst: dvbpsi_nit_delete
      Src: /src/vlc/modules/access/dvb/scan.c:1454,1
    - Dst: dvbpsi_nit_delete
      Src: /src/vlc/modules/access/dvb/scan.c:1474,1
    - Dst: dvbpsi_nit_delete
      Src: /src/vlc/modules/access/dvb/scan.c:1477,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1481,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1491,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/dvb/scan.c:1494,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1496,1
    - Dst: dvbpsi_DecodeLinkageDr
      Src: /src/vlc/modules/access/dvb/scan.c:1501,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1504,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1505,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1506,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1507,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1508,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1514,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 2
    argNames:
    - opaque
    - p_nit
    argTypes:
    - void*
    - dvbpsi_nit_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1440
    functionDepth: 1
    functionLinenumber: 1440
    functionLinenumberEnd: 1516
    functionName: NITCallBack
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - dvbpsi_DecodeLinkageDr
    - GetOtherNetworkNIT
    - realloc
    - memcpy
    - dvbpsi_nit_delete
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void NITCallBack( void * opaque, dvbpsi_nit_t *p_nit )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dvbpsi_sdt_attach
      Src: /src/vlc/modules/access/dvb/scan.c:1526,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/scan.c:1527,1
    - Dst: dvbpsi_nit_attach
      Src: /src/vlc/modules/access/dvb/scan.c:1531,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/scan.c:1532,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - h
    - i_table_id
    - i_extension
    - p_data
    argTypes:
    - dvbpsi_t*
    - uint8_t
    - uint16_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1520
    functionDepth: 1
    functionLinenumber: 1520
    functionLinenumberEnd: 1534
    functionName: PSINewTableCallBack
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - dvbpsi_nit_attach
    - dvbpsi_sdt_attach
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void PSINewTableCallBack( dvbpsi_t *h, uint8_t i_table_id, uint16_t
      i_extension, void *p_data )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access/dvb/scan.c:1538,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvb/scan.c:1539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - p_scan
    - p_cfg
    argTypes:
    - scan_t*
    - scan_tuner_config_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1558
      start: 1536
    functionDepth: 1
    functionLinenumber: 1536
    functionLinenumberEnd: 1558
    functionName: scan_session_New
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 1
    functionsReached:
    - unlikely
    - malloc
    linkageType: ''
    returnType: scan_session_t
    signature: scan_session_t *scan_session_New( scan_t *p_scan, const scan_tuner_config_t
      *p_cfg )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dvbpsi_sdt_delete
      Src: /src/vlc/modules/access/dvb/scan.c:1563,1
    - Dst: free
      Src: /src/vlc/modules/access/dvb/scan.c:1564,1
    - Dst: dvbpsi_nit_delete
      Src: /src/vlc/modules/access/dvb/scan.c:1567,1
    - Dst: free
      Src: /src/vlc/modules/access/dvb/scan.c:1568,1
    - Dst: dvbpsi_pat_detach
      Src: /src/vlc/modules/access/dvb/scan.c:1572,1
    - Dst: dvbpsi_pat_delete
      Src: /src/vlc/modules/access/dvb/scan.c:1574,1
    - Dst: dvbpsi_DetachDemux
      Src: /src/vlc/modules/access/dvb/scan.c:1579,1
    - Dst: dvbpsi_sdt_delete
      Src: /src/vlc/modules/access/dvb/scan.c:1581,1
    - Dst: dvbpsi_DetachDemux
      Src: /src/vlc/modules/access/dvb/scan.c:1586,1
    - Dst: dvbpsi_nit_delete
      Src: /src/vlc/modules/access/dvb/scan.c:1588,1
    - Dst: free
      Src: /src/vlc/modules/access/dvb/scan.c:1591,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - p_session
    argTypes:
    - scan_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1592
      start: 1560
    functionDepth: 0
    functionLinenumber: 1560
    functionLinenumberEnd: 1592
    functionName: scan_session_Delete
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - dvbpsi_DetachDemux
    - dvbpsi_nit_delete
    - dvbpsi_sdt_delete
    - free
    - dvbpsi_pat_detach
    - dvbpsi_pat_delete
    linkageType: ''
    returnType: void
    signature: void scan_session_Delete( scan_session_t *p_session )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ParsePAT
      Src: /src/vlc/modules/access/dvb/scan.c:1602,1
    - Dst: ParseNIT
      Src: /src/vlc/modules/access/dvb/scan.c:1606,1
    - Dst: ParseSDT
      Src: /src/vlc/modules/access/dvb/scan.c:1610,1
    - Dst: ParseNIT
      Src: /src/vlc/modules/access/dvb/scan.c:1614,1
    - Dst: ParseSDT
      Src: /src/vlc/modules/access/dvb/scan.c:1618,1
    - Dst: scan_session_Delete
      Src: /src/vlc/modules/access/dvb/scan.c:1621,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - p_scan
    - p_session
    argTypes:
    - scan_t*
    - scan_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1622
      start: 1594
    functionDepth: 5
    functionLinenumber: 1594
    functionLinenumberEnd: 1622
    functionName: scan_session_Destroy
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 1
    functionsReached:
    - ParsePAT
    - ParseNIT
    - scan_session_Delete
    - ParseSDT
    linkageType: ''
    returnType: void
    signature: void scan_session_Destroy( scan_t *p_scan, scan_session_t *p_session
      )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/access/dvb/scan.c:1632,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1624
    functionDepth: 0
    functionLinenumber: 1624
    functionLinenumberEnd: 1641
    functionName: ScanServiceCmp
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int ScanServiceCmp( const void *a, const void *b )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/dvb/scan.c:1645,1
    - Dst: strlen
      Src: /src/vlc/modules/access/dvb/scan.c:1645,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/dvb/scan.c:1647,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - psz
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1649
      start: 1643
    functionDepth: 0
    functionLinenumber: 1643
    functionLinenumberEnd: 1649
    functionName: BlockString
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - strlen
    - block_Alloc
    - memcpy
    linkageType: ''
    returnType: block_t
    signature: block_t *BlockString( const char *psz )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_scan
    - pf
    argTypes:
    - scan_t*
    - scan_service_notify_cb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1651
    functionDepth: 0
    functionLinenumber: 1651
    functionLinenumberEnd: 1654
    functionName: scan_set_NotifyCB
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void scan_set_NotifyCB( scan_t *p_scan, scan_service_notify_cb pf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - scan_service_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1659
      start: 1656
    functionDepth: 0
    functionLinenumber: 1656
    functionLinenumberEnd: 1659
    functionName: scan_service_GetName
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * scan_service_GetName( const scan_service_t *s )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - scan_service_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1661
    functionDepth: 0
    functionLinenumber: 1661
    functionLinenumberEnd: 1664
    functionName: scan_service_GetProvider
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * scan_service_GetProvider( const scan_service_t *s )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - scan_service_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1666
    functionDepth: 0
    functionLinenumber: 1666
    functionLinenumberEnd: 1669
    functionName: scan_service_GetProgram
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t scan_service_GetProgram( const scan_service_t *s )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - scan_service_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1671
    functionDepth: 0
    functionLinenumber: 1671
    functionLinenumberEnd: 1677
    functionName: scan_service_GetNetworkName
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * scan_service_GetNetworkName( const scan_service_t *s )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/vlc/modules/access/dvb/scan.c:1686,1
    - Dst: scan_value_modulation
      Src: /src/vlc/modules/access/dvb/scan.c:1689,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/dvb/scan.c:1692,1
    - Dst: scan_value_coderate
      Src: /src/vlc/modules/access/dvb/scan.c:1696,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/dvb/scan.c:1699,1
    - Dst: scan_value_modulation
      Src: /src/vlc/modules/access/dvb/scan.c:1702,1
    - Dst: scan_value_coderate
      Src: /src/vlc/modules/access/dvb/scan.c:1703,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - scan_service_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1679
    functionDepth: 2
    functionLinenumber: 1679
    functionLinenumberEnd: 1708
    functionName: scan_service_GetUri
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - asprintf
    - scan_value_coderate
    - scan_value_modulation
    linkageType: ''
    returnType: char
    signature: char * scan_service_GetUri( const scan_service_t *s )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: BlockString
      Src: /src/vlc/modules/access/dvb/scan.c:1713,1
    - Dst: scan_CountServices
      Src: /src/vlc/modules/access/dvb/scan.c:1717,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/access/dvb/scan.c:1719,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/dvb/scan.c:1722,1
    - Dst: scan_service_type_Supported
      Src: /src/vlc/modules/access/dvb/scan.c:1732,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/scan.c:1735,1
    - Dst: qsort
      Src: /src/vlc/modules/access/dvb/scan.c:1743,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvb/scan.c:1760,1
    - Dst: scan_value_modulation
      Src: /src/vlc/modules/access/dvb/scan.c:1765,1
    - Dst: scan_service_GetUri
      Src: /src/vlc/modules/access/dvb/scan.c:1767,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/dvb/scan.c:1772,1
    - Dst: free
      Src: /src/vlc/modules/access/dvb/scan.c:1778,1
    - Dst: BlockString
      Src: /src/vlc/modules/access/dvb/scan.c:1781,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/access/dvb/scan.c:1783,1
    - Dst: free
      Src: /src/vlc/modules/access/dvb/scan.c:1784,1
    - Dst: free
      Src: /src/vlc/modules/access/dvb/scan.c:1788,1
    - Dst: block_ChainGather
      Src: /src/vlc/modules/access/dvb/scan.c:1790,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 1
    argNames:
    - p_scan
    argTypes:
    - scan_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1710
    functionDepth: 3
    functionLinenumber: 1710
    functionLinenumberEnd: 1791
    functionName: scan_GetM3U
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached:
    - block_Release
    - asprintf
    - block_ChainAppend
    - qsort
    - scan_service_type_Supported
    - free
    - scan_service_GetUri
    - BlockString
    - vlc_alloc
    - msg_Dbg
    - msg_Warn
    - scan_value_modulation
    - block_ChainGather
    - scan_CountServices
    linkageType: ''
    returnType: block_t
    signature: block_t *scan_GetM3U( scan_t *p_scan )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1794
      start: 1793
    functionDepth: 0
    functionLinenumber: 1793
    functionLinenumberEnd: 1794
    functionName: dvbpsi_packet_push
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dvbpsi_packet_push(a,b)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: dvbpsi_new
      Src: /src/vlc/modules/access/dvb/scan.c:1806,1
    - Dst: dvbpsi_pat_attach
      Src: /src/vlc/modules/access/dvb/scan.c:1811,1
    - Dst: dvbpsi_delete
      Src: /src/vlc/modules/access/dvb/scan.c:1813,1
    - Dst: dvbpsi_packet_push
      Src: /src/vlc/modules/access/dvb/scan.c:1819,1
    - Dst: dvbpsi_new
      Src: /src/vlc/modules/access/dvb/scan.c:1825,1
    - Dst: dvbpsi_AttachDemux
      Src: /src/vlc/modules/access/dvb/scan.c:1830,1
    - Dst: dvbpsi_delete
      Src: /src/vlc/modules/access/dvb/scan.c:1832,1
    - Dst: dvbpsi_packet_push
      Src: /src/vlc/modules/access/dvb/scan.c:1839,1
    - Dst: dvbpsi_new
      Src: /src/vlc/modules/access/dvb/scan.c:1845,1
    - Dst: dvbpsi_AttachDemux
      Src: /src/vlc/modules/access/dvb/scan.c:1850,1
    - Dst: dvbpsi_delete
      Src: /src/vlc/modules/access/dvb/scan.c:1852,1
    - Dst: dvbpsi_packet_push
      Src: /src/vlc/modules/access/dvb/scan.c:1858,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 2
    argNames:
    - p_scan
    - p_packet
    argTypes:
    - scan_session_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1795
    functionDepth: 1
    functionLinenumber: 1795
    functionLinenumberEnd: 1863
    functionName: scan_session_Push
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 1
    functionsReached:
    - dvbpsi_pat_attach
    - dvbpsi_packet_push
    - dvbpsi_delete
    - dvbpsi_new
    - dvbpsi_AttachDemux
    linkageType: ''
    returnType: bool
    signature: bool scan_session_Push( scan_session_t *p_scan, const uint8_t *p_packet
      )
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - p_session
    argTypes:
    - scan_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1885
      start: 1865
    functionDepth: 0
    functionLinenumber: 1865
    functionLinenumberEnd: 1885
    functionName: scan_session_GetTablesTimeout
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned scan_session_GetTablesTimeout( const scan_session_t *p_session
      )
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 1
    argNames:
    - m
    argTypes:
    - scan_modulation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1908
      start: 1887
    functionDepth: 0
    functionLinenumber: 1887
    functionLinenumberEnd: 1908
    functionName: scan_value_modulation
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *scan_value_modulation( scan_modulation_t m )
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 1
    argNames:
    - c
    argTypes:
    - scan_coderate_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1927
      start: 1910
    functionDepth: 0
    functionLinenumber: 1910
    functionLinenumberEnd: 1927
    functionName: scan_value_coderate
    functionSourceFile: /src/vlc/modules/access/dvb/scan.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *scan_value_coderate( scan_coderate_t c )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/access/dvb/scan_list.c:32,1
    - Dst: likely
      Src: /src/vlc/modules/access/dvb/scan_list.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: scan_list_entry_New
    functionSourceFile: /src/vlc/modules/access/dvb/scan_list.c
    functionUses: 0
    functionsReached:
    - calloc
    - likely
    linkageType: ''
    returnType: scan_list_entry_t
    signature: scan_list_entry_t * scan_list_entry_New( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/dvb/scan_list.c:45,1
    - Dst: free
      Src: /src/vlc/modules/access/dvb/scan_list.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_entry
    argTypes:
    - scan_list_entry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: scan_list_entry_Delete
    functionSourceFile: /src/vlc/modules/access/dvb/scan_list.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void scan_list_entry_Delete( scan_list_entry_t *p_entry )
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - p_entry
    argTypes:
    - scan_list_entry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 68
    functionName: scan_list_entry_validate
    functionSourceFile: /src/vlc/modules/access/dvb/scan_list.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool scan_list_entry_validate( const scan_list_entry_t *p_entry )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scan_list_entry_validate
      Src: /src/vlc/modules/access/dvb/scan_list.c:72,1
    - Dst: scan_list_entry_Delete
      Src: /src/vlc/modules/access/dvb/scan_list.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ppp_last
    - p_entry
    argTypes:
    - scan_list_entry_t***
    - scan_list_entry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: scan_list_entry_add
    functionSourceFile: /src/vlc/modules/access/dvb/scan_list.c
    functionUses: 0
    functionsReached:
    - scan_list_entry_Delete
    - scan_list_entry_validate
    linkageType: ''
    returnType: bool
    signature: bool scan_list_entry_add( scan_list_entry_t ***ppp_last, scan_list_entry_t
      *p_entry )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/access/dvb/scan_list.c:87,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/dvb/scan_list.c:91,1
    - Dst: make_tuple
      Src: /src/vlc/modules/access/dvb/scan_list.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - psz_fec
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 96
    functionName: scan_list_parse_fec
    functionSourceFile: /src/vlc/modules/access/dvb/scan_list.c
    functionUses: 0
    functionsReached:
    - sscanf
    - strcmp
    - make_tuple
    linkageType: ''
    returnType: int
    signature: int scan_list_parse_fec( const char *psz_fec )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/access/dvb/scan_list.c:100,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/dvb/scan_list.c:103,1
    - Dst: make_tuple
      Src: /src/vlc/modules/access/dvb/scan_list.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - psz_guard
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 108
    functionName: scan_list_parse_guard
    functionSourceFile: /src/vlc/modules/access/dvb/scan_list.c
    functionUses: 0
    functionsReached:
    - sscanf
    - strcmp
    - make_tuple
    linkageType: ''
    returnType: int
    signature: int scan_list_parse_guard( const char *psz_guard )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - ppsz
    - pi_len
    argTypes:
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 127
    functionName: scan_token_strip
    functionSourceFile: /src/vlc/modules/access/dvb/scan_list.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void scan_token_strip( const char **ppsz, size_t *pi_len )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vlc/modules/access/dvb/scan_list.c:133,1
    - Dst: scan_token_strip
      Src: /src/vlc/modules/access/dvb/scan_list.c:141,1
    - Dst: scan_token_strip
      Src: /src/vlc/modules/access/dvb/scan_list.c:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - psz_line
    - i_len
    - ppsz_key
    - pi_keylen
    - ppsz_value
    - pi_valuelen
    argTypes:
    - char*
    - size_t
    - char**
    - size_t*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 154
    functionName: scan_list_token_split
    functionSourceFile: /src/vlc/modules/access/dvb/scan_list.c
    functionUses: 0
    functionsReached:
    - strchr
    - scan_token_strip
    linkageType: ''
    returnType: bool
    signature: "bool scan_list_token_split( const char *psz_line, size_t i_len,\n
      \                                  const char **ppsz_key, size_t *pi_keylen,\n
      \                                  const char **ppsz_value, size_t *pi_valuelen
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - token
    - ','
    - string
    - ','
    - stringlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: STRING_EQUALS
    functionSourceFile: /src/vlc/modules/access/dvb/scan_list.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRING_EQUALS(token, string, stringlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - token
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: KEY_EQUALS
    functionSourceFile: /src/vlc/modules/access/dvb/scan_list.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KEY_EQUALS(token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - token
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: VALUE_EQUALS
    functionSourceFile: /src/vlc/modules/access/dvb/scan_list.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALUE_EQUALS(token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - variable
    - ','
    - parser
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: READ_STRINGVAL
    functionSourceFile: /src/vlc/modules/access/dvb/scan_list.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_STRINGVAL(variable, parser)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - string
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 174
    functionName: WLEN
    functionSourceFile: /src/vlc/modules/access/dvb/scan_list.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WLEN(string)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: scan_list_token_split
      Src: /src/vlc/modules/access/dvb/scan_list.c:182,1
    - Dst: KEY_EQUALS
      Src: /src/vlc/modules/access/dvb/scan_list.c:187,1
    - Dst: strtoll
      Src: /src/vlc/modules/access/dvb/scan_list.c:189,1
    - Dst: KEY_EQUALS
      Src: /src/vlc/modules/access/dvb/scan_list.c:191,1
    - Dst: strtoll
      Src: /src/vlc/modules/access/dvb/scan_list.c:193,1
    - Dst: KEY_EQUALS
      Src: /src/vlc/modules/access/dvb/scan_list.c:195,1
    - Dst: VALUE_EQUALS
      Src: /src/vlc/modules/access/dvb/scan_list.c:197,1
    - Dst: VALUE_EQUALS
      Src: /src/vlc/modules/access/dvb/scan_list.c:199,1
    - Dst: VALUE_EQUALS
      Src: /src/vlc/modules/access/dvb/scan_list.c:201,1
    - Dst: VALUE_EQUALS
      Src: /src/vlc/modules/access/dvb/scan_list.c:203,1
    - Dst: VALUE_EQUALS
      Src: /src/vlc/modules/access/dvb/scan_list.c:205,1
    - Dst: VALUE_EQUALS
      Src: /src/vlc/modules/access/dvb/scan_list.c:207,1
    - Dst: KEY_EQUALS
      Src: /src/vlc/modules/access/dvb/scan_list.c:210,1
    - Dst: WLEN
      Src: /src/vlc/modules/access/dvb/scan_list.c:218,1
    - Dst: WLEN
      Src: /src/vlc/modules/access/dvb/scan_list.c:219,1
    - Dst: WLEN
      Src: /src/vlc/modules/access/dvb/scan_list.c:220,1
    - Dst: WLEN
      Src: /src/vlc/modules/access/dvb/scan_list.c:221,1
    - Dst: WLEN
      Src: /src/vlc/modules/access/dvb/scan_list.c:222,1
    - Dst: WLEN
      Src: /src/vlc/modules/access/dvb/scan_list.c:223,1
    - Dst: WLEN
      Src: /src/vlc/modules/access/dvb/scan_list.c:224,1
    - Dst: WLEN
      Src: /src/vlc/modules/access/dvb/scan_list.c:225,1
    - Dst: WLEN
      Src: /src/vlc/modules/access/dvb/scan_list.c:226,1
    - Dst: WLEN
      Src: /src/vlc/modules/access/dvb/scan_list.c:227,1
    - Dst: WLEN
      Src: /src/vlc/modules/access/dvb/scan_list.c:228,1
    - Dst: WLEN
      Src: /src/vlc/modules/access/dvb/scan_list.c:229,1
    - Dst: WLEN
      Src: /src/vlc/modules/access/dvb/scan_list.c:230,1
    - Dst: WLEN
      Src: /src/vlc/modules/access/dvb/scan_list.c:231,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access/dvb/scan_list.c:234,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/access/dvb/scan_list.c:236,1
    - Dst: KEY_EQUALS
      Src: /src/vlc/modules/access/dvb/scan_list.c:243,1
    - Dst: VALUE_EQUALS
      Src: /src/vlc/modules/access/dvb/scan_list.c:245,1
    - Dst: KEY_EQUALS
      Src: /src/vlc/modules/access/dvb/scan_list.c:250,1
    - Dst: strtoll
      Src: /src/vlc/modules/access/dvb/scan_list.c:252,1
    - Dst: KEY_EQUALS
      Src: /src/vlc/modules/access/dvb/scan_list.c:254,1
    - Dst: READ_STRINGVAL
      Src: /src/vlc/modules/access/dvb/scan_list.c:256,1
    - Dst: KEY_EQUALS
      Src: /src/vlc/modules/access/dvb/scan_list.c:258,1
    - Dst: READ_STRINGVAL
      Src: /src/vlc/modules/access/dvb/scan_list.c:260,1
    - Dst: KEY_EQUALS
      Src: /src/vlc/modules/access/dvb/scan_list.c:262,1
    - Dst: READ_STRINGVAL
      Src: /src/vlc/modules/access/dvb/scan_list.c:264,1
    - Dst: KEY_EQUALS
      Src: /src/vlc/modules/access/dvb/scan_list.c:266,1
    - Dst: READ_STRINGVAL
      Src: /src/vlc/modules/access/dvb/scan_list.c:268,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 52
    argCount: 3
    argNames:
    - p_entry
    - psz_line
    - i_len
    argTypes:
    - scan_list_entry_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 270
    functionName: scan_list_dvbv5_entry_fill
    functionSourceFile: /src/vlc/modules/access/dvb/scan_list.c
    functionUses: 0
    functionsReached:
    - WLEN
    - strncasecmp
    - ARRAY_SIZE
    - READ_STRINGVAL
    - KEY_EQUALS
    - scan_list_token_split
    - strtoll
    - VALUE_EQUALS
    linkageType: ''
    returnType: void
    signature: void scan_list_dvbv5_entry_fill( scan_list_entry_t *p_entry, const
      char *psz_line, size_t i_len )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scan_list_entry_Delete
      Src: /src/vlc/modules/access/dvb/scan_list.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_list
    argTypes:
    - scan_list_entry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 280
    functionName: scan_list_entries_release
    functionSourceFile: /src/vlc/modules/access/dvb/scan_list.c
    functionUses: 1
    functionsReached:
    - scan_list_entry_Delete
    linkageType: ''
    returnType: void
    signature: void scan_list_entries_release( scan_list_entry_t *p_list )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fopen
      Src: /src/vlc/modules/access/dvb/scan_list.c:284,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/scan_list.c:287,1
    - Dst: getline
      Src: /src/vlc/modules/access/dvb/scan_list.c:301,1
    - Dst: scan_list_entry_add
      Src: /src/vlc/modules/access/dvb/scan_list.c:316,1
    - Dst: scan_list_entry_New
      Src: /src/vlc/modules/access/dvb/scan_list.c:318,1
    - Dst: strstr
      Src: /src/vlc/modules/access/dvb/scan_list.c:325,1
    - Dst: scan_token_strip
      Src: /src/vlc/modules/access/dvb/scan_list.c:332,1
    - Dst: strndup
      Src: /src/vlc/modules/access/dvb/scan_list.c:333,1
    - Dst: scan_list_dvbv5_entry_fill
      Src: /src/vlc/modules/access/dvb/scan_list.c:342,1
    - Dst: scan_list_entry_Delete
      Src: /src/vlc/modules/access/dvb/scan_list.c:352,1
    - Dst: scan_list_entry_add
      Src: /src/vlc/modules/access/dvb/scan_list.c:353,1
    - Dst: free
      Src: /src/vlc/modules/access/dvb/scan_list.c:357,1
    - Dst: fclose
      Src: /src/vlc/modules/access/dvb/scan_list.c:358,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 3
    argNames:
    - p_obj
    - psz_source
    - pi_count
    argTypes:
    - vlc_object_t*
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 361
    functionName: scan_list_dvbv5_load
    functionSourceFile: /src/vlc/modules/access/dvb/scan_list.c
    functionUses: 1
    functionsReached:
    - strndup
    - scan_list_entry_New
    - scan_token_strip
    - msg_Err
    - free
    - vlc_fopen
    - getline
    - strstr
    - scan_list_dvbv5_entry_fill
    - scan_list_entry_Delete
    - scan_list_entry_add
    - fclose
    linkageType: ''
    returnType: scan_list_entry_t
    signature: scan_list_entry_t * scan_list_dvbv5_load( vlc_object_t *p_obj, const
      char *psz_source, size_t *pi_count )
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fopen
      Src: /src/vlc/modules/access/dvb/scan_list.c:365,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/scan_list.c:368,1
    - Dst: getline
      Src: /src/vlc/modules/access/dvb/scan_list.c:383,1
    - Dst: scan_list_entry_add
      Src: /src/vlc/modules/access/dvb/scan_list.c:388,1
    - Dst: scan_list_entry_New
      Src: /src/vlc/modules/access/dvb/scan_list.c:391,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/dvb/scan_list.c:392,1
    - Dst: strtok_r
      Src: /src/vlc/modules/access/dvb/scan_list.c:396,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/dvb/scan_list.c:399,1
    - Dst: strcmp
      Src: /src/vlc/modules/access/dvb/scan_list.c:403,1
    - Dst: strtok_r
      Src: /src/vlc/modules/access/dvb/scan_list.c:412,1
    - Dst: atoi
      Src: /src/vlc/modules/access/dvb/scan_list.c:414,1
    - Dst: strtok_r
      Src: /src/vlc/modules/access/dvb/scan_list.c:417,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access/dvb/scan_list.c:419,1
    - Dst: strtok_r
      Src: /src/vlc/modules/access/dvb/scan_list.c:423,1
    - Dst: atoi
      Src: /src/vlc/modules/access/dvb/scan_list.c:425,1
    - Dst: strtok_r
      Src: /src/vlc/modules/access/dvb/scan_list.c:428,1
    - Dst: scan_list_parse_fec
      Src: /src/vlc/modules/access/dvb/scan_list.c:430,1
    - Dst: strtok_r
      Src: /src/vlc/modules/access/dvb/scan_list.c:433,1
    - Dst: strtok_r
      Src: /src/vlc/modules/access/dvb/scan_list.c:437,1
    - Dst: strtok_r
      Src: /src/vlc/modules/access/dvb/scan_list.c:441,1
    - Dst: scan_list_entry_add
      Src: /src/vlc/modules/access/dvb/scan_list.c:447,1
    - Dst: fclose
      Src: /src/vlc/modules/access/dvb/scan_list.c:450,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 45
    argCount: 3
    argNames:
    - p_obj
    - psz_source
    - pi_count
    argTypes:
    - vlc_object_t*
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 453
    functionName: scan_list_dvbv3_load
    functionSourceFile: /src/vlc/modules/access/dvb/scan_list.c
    functionUses: 1
    functionsReached:
    - scan_list_parse_fec
    - strtok_r
    - atoi
    - scan_list_entry_New
    - msg_Err
    - vlc_fopen
    - strcmp
    - getline
    - strcasecmp
    - scan_list_entry_add
    - unlikely
    - fclose
    linkageType: ''
    returnType: scan_list_entry_t
    signature: scan_list_entry_t * scan_list_dvbv3_load( vlc_object_t *p_obj, const
      char *psz_source, size_t *pi_count )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/access/dvb/access.c:130,1
    - Dst: VarInit
      Src: /src/vlc/modules/access/dvb/access.c:135,1
    - Dst: ParseMRL
      Src: /src/vlc/modules/access/dvb/access.c:138,1
    - Dst: free
      Src: /src/vlc/modules/access/dvb/access.c:140,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dvb/access.c:144,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/access.c:147,1
    - Dst: free
      Src: /src/vlc/modules/access/dvb/access.c:152,1
    - Dst: FrontendOpen
      Src: /src/vlc/modules/access/dvb/access.c:157,1
    - Dst: free
      Src: /src/vlc/modules/access/dvb/access.c:159,1
    - Dst: DVROpen
      Src: /src/vlc/modules/access/dvb/access.c:164,1
    - Dst: FrontendClose
      Src: /src/vlc/modules/access/dvb/access.c:166,1
    - Dst: free
      Src: /src/vlc/modules/access/dvb/access.c:167,1
    - Dst: scan_parameter_Init
      Src: /src/vlc/modules/access/dvb/access.c:174,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/access/dvb/access.c:176,1
    - Dst: FrontendFillScanParameter
      Src: /src/vlc/modules/access/dvb/access.c:178,1
    - Dst: scan_New
      Src: /src/vlc/modules/access/dvb/access.c:179,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/dvb/access.c:179,1
    - Dst: scan_parameter_Clean
      Src: /src/vlc/modules/access/dvb/access.c:186,1
    - Dst: Close
      Src: /src/vlc/modules/access/dvb/access.c:187,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/dvb/access.c:187,1
    - Dst: scan_parameter_Clean
      Src: /src/vlc/modules/access/dvb/access.c:191,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 199
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/dvb/access.c
    functionUses: 27
    functionsReached:
    - scan_parameter_Clean
    - Close
    - DVROpen
    - scan_parameter_Init
    - var_InheritBool
    - FrontendFillScanParameter
    - scan_New
    - calloc
    - free
    - msg_Dbg
    - VLC_OBJECT
    - ParseMRL
    - var_GetInteger
    - FrontendClose
    - VarInit
    - FrontendOpen
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FilterUnset
      Src: /src/vlc/modules/access/dvb/access.c:209,1
    - Dst: DVRClose
      Src: /src/vlc/modules/access/dvb/access.c:211,1
    - Dst: FrontendClose
      Src: /src/vlc/modules/access/dvb/access.c:212,1
    - Dst: scan_Destroy
      Src: /src/vlc/modules/access/dvb/access.c:213,1
    - Dst: free
      Src: /src/vlc/modules/access/dvb/access.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 4
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/dvb/access.c
    functionUses: 82
    functionsReached:
    - free
    - DVRClose
    - FilterUnset
    - scan_Destroy
    - FrontendClose
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dvb/access.c:223,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/access/dvb/access.c:225,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/access/dvb/access.c:226,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/access/dvb/access.c:229,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/access/dvb/access.c:232,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/access.c:234,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/access.c:235,1
    - Dst: FrontendSet
      Src: /src/vlc/modules/access/dvb/access.c:238,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/dvb/access.c:238,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/access.c:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - p_scan
    - p_privdata
    - p_cfg
    argTypes:
    - scan_t*
    - void*
    - scan_tuner_config_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 245
    functionName: ScanFrontendTuningHandler
    functionSourceFile: /src/vlc/modules/access/dvb/access.c
    functionUses: 0
    functionsReached:
    - msg_Err
    - var_SetInteger
    - msg_Dbg
    - VLC_OBJECT
    - FrontendSet
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int ScanFrontendTuningHandler( scan_t *p_scan, void *p_privdata,\n
      \                                     const scan_tuner_config_t *p_cfg )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dvb/access.c:251,1
    - Dst: FrontendGetStatistic
      Src: /src/vlc/modules/access/dvb/access.c:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - p_scan
    - p_privdata
    - pi_snr
    argTypes:
    - scan_t*
    - void*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 261
    functionName: ScanStatsCallback
    functionSourceFile: /src/vlc/modules/access/dvb/access.c
    functionUses: 0
    functionsReached:
    - FrontendGetStatistic
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int ScanStatsCallback( scan_t *p_scan, void *p_privdata, int *pi_snr
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dvb/access.c:266,1
    - Dst: FilterSet
      Src: /src/vlc/modules/access/dvb/access.c:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - p_scan
    - p_privdata
    - i_pid
    - b_set
    argTypes:
    - scan_t*
    - void*
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 272
    functionName: ScanFilterHandler
    functionSourceFile: /src/vlc/modules/access/dvb/access.c
    functionUses: 0
    functionsReached:
    - FilterSet
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int ScanFilterHandler( scan_t *p_scan, void *p_privdata, uint16_t i_pid,
      bool b_set )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FrontendGetStatus
      Src: /src/vlc/modules/access/dvb/access.c:291,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/dvb/access.c:294,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/dvb/access.c:306,1
    - Dst: vlc_killed
      Src: /src/vlc/modules/access/dvb/access.c:310,1
    - Dst: scan_IsCancelled
      Src: /src/vlc/modules/access/dvb/access.c:310,1
    - Dst: vlc_poll_i11e
      Src: /src/vlc/modules/access/dvb/access.c:314,1
    - Dst: FrontendPoll
      Src: /src/vlc/modules/access/dvb/access.c:329,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/dvb/access.c:329,1
    - Dst: FrontendGetStatus
      Src: /src/vlc/modules/access/dvb/access.c:331,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/dvb/access.c:334,1
    - Dst: read
      Src: /src/vlc/modules/access/dvb/access.c:341,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvb/access.c:344,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dvb/access.c:344,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 6
    argNames:
    - p_scan
    - p_privdata
    - i_probe_timeout
    - i_packets_max
    - p_packet
    - pi_count
    argTypes:
    - scan_t*
    - void*
    - unsigned
    - size_t
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 355
    functionName: ScanReadCallback
    functionSourceFile: /src/vlc/modules/access/dvb/access.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - vlc_strerror_c
    - read
    - FrontendPoll
    - vlc_poll_i11e
    - VLC_OBJECT
    - msg_Warn
    - vlc_killed
    - FrontendGetStatus
    - scan_IsCancelled
    linkageType: ''
    returnType: int
    signature: "int ScanReadCallback( scan_t *p_scan, void *p_privdata,\n                             unsigned
      i_probe_timeout, size_t i_packets_max,\n                             uint8_t
      *p_packet, size_t *pi_count )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: scan_Run
      Src: /src/vlc/modules/access/dvb/access.c:366,1
    - Dst: msg_Info
      Src: /src/vlc/modules/access/dvb/access.c:370,1
    - Dst: scan_GetM3U
      Src: /src/vlc/modules/access/dvb/access.c:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - p_access
    - eof
    argTypes:
    - stream_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 360
    functionDepth: 6
    functionLinenumber: 360
    functionLinenumberEnd: 378
    functionName: BlockScan
    functionSourceFile: /src/vlc/modules/access/dvb/access.c
    functionUses: 0
    functionsReached:
    - msg_Info
    - scan_Run
    - scan_GetM3U
    linkageType: ''
    returnType: block_t
    signature: block_t *BlockScan( stream_t *p_access, bool *restrict eof )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvb/access.c:396,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvb/access.c:401,1
    - Dst: strdup
      Src: /src/vlc/modules/access/dvb/access.c:401,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvb/access.c:405,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvb/access.c:409,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/dvb/access.c:410,1
    - Dst: FrontendGetStatistic
      Src: /src/vlc/modules/access/dvb/access.c:413,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - p_access
    - i_query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 425
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/dvb/access.c
    functionUses: 44
    functionsReached:
    - va_arg
    - strdup
    - FrontendGetStatistic
    linkageType: ''
    returnType: int
    signature: int Control( stream_t *p_access, int i_query, va_list args )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/access.c:447,1
    - Dst: DMXSetFilter
      Src: /src/vlc/modules/access/dvb/access.c:451,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/dvb/access.c:451,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/access.c:454,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - p_access
    - i_pid
    - i_type
    argTypes:
    - stream_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 459
    functionName: FilterSet
    functionSourceFile: /src/vlc/modules/access/dvb/access.c
    functionUses: 1
    functionsReached:
    - DMXSetFilter
    - VLC_OBJECT
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void FilterSet( stream_t *p_access, int i_pid, int i_type )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DMXUnsetFilter
      Src: /src/vlc/modules/access/dvb/access.c:469,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access/dvb/access.c:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - p_access
    - i_max
    argTypes:
    - stream_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 473
    functionName: FilterUnset
    functionSourceFile: /src/vlc/modules/access/dvb/access.c
    functionUses: 1
    functionsReached:
    - DMXUnsetFilter
    - VLC_OBJECT
    linkageType: ''
    returnType: void
    signature: void FilterUnset( stream_t *p_access, int i_max )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_Create
      Src: /src/vlc/modules/access/dvb/access.c:480,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dvb/access.c:481,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dvb/access.c:482,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dvb/access.c:483,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dvb/access.c:484,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dvb/access.c:487,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dvb/access.c:488,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dvb/access.c:489,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dvb/access.c:490,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dvb/access.c:491,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dvb/access.c:492,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dvb/access.c:493,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dvb/access.c:494,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dvb/access.c:495,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dvb/access.c:498,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dvb/access.c:499,1
    - Dst: var_Create
      Src: /src/vlc/modules/access/dvb/access.c:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 501
    functionName: VarInit
    functionSourceFile: /src/vlc/modules/access/dvb/access.c
    functionUses: 1
    functionsReached:
    - var_Create
    linkageType: ''
    returnType: void
    signature: void VarInit( stream_t *p_access )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/access/dvb/access.c:506,1
    - Dst: GET_OPTION_INT
      Src: /src/vlc/modules/access/dvb/access.c:540,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dvb/access.c:562,1
    - Dst: strlen
      Src: /src/vlc/modules/access/dvb/access.c:563,1
    - Dst: strlen
      Src: /src/vlc/modules/access/dvb/access.c:565,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvb/access.c:572,1
    - Dst: free
      Src: /src/vlc/modules/access/dvb/access.c:573,1
    - Dst: var_Set
      Src: /src/vlc/modules/access/dvb/access.c:576,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvb/access.c:580,1
    - Dst: free
      Src: /src/vlc/modules/access/dvb/access.c:581,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 587
    functionName: ParseMRL
    functionSourceFile: /src/vlc/modules/access/dvb/access.c
    functionUses: 4
    functionsReached:
    - strdup
    - GET_OPTION_INT
    - strlen
    - strncmp
    - free
    - var_Set
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int ParseMRL( stream_t *p_access )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - option
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 517
    functionName: GET_OPTION_INT
    functionSourceFile: /src/vlc/modules/access/dvb/access.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_OPTION_INT( option )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - option
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 525
    functionName: GET_OPTION_BOOL
    functionSourceFile: /src/vlc/modules/access/dvb/access.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_OPTION_BOOL( option )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - option
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 537
    functionName: GET_OPTION_STRING
    functionSourceFile: /src/vlc/modules/access/dvb/access.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_OPTION_STRING( option )
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:83,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:84,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:85,1
    - Dst: snprintf
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:87,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:89,1
    - Dst: malloc
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:93,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:97,1
    - Dst: vlc_open
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:98,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:100,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:101,1
    - Dst: free
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:102,1
    - Dst: FrontendInfo
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:111,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:113,1
    - Dst: free
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:114,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:137,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:138,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:139,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:144,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:145,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:150,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:151,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:157,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:165,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:167,1
    - Dst: free
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:168,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:174,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:176,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:178,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:179,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:181,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:182,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:184,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:185,1
    - Dst: strncmp
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:187,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 71
    argCount: 3
    argNames:
    - p_access
    - p_sys
    - psz_access
    argTypes:
    - vlc_object_t*
    - dvb_sys_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 192
    functionName: FrontendOpen
    functionSourceFile: /src/vlc/modules/access/dvb/linux_dvb.c
    functionUses: 1
    functionsReached:
    - vlc_open
    - vlc_strerror_c
    - vlc_close
    - FrontendInfo
    - msg_Err
    - free
    - strncmp
    - msg_Dbg
    - var_GetBool
    - var_GetInteger
    - snprintf
    - malloc
    linkageType: ''
    returnType: int
    signature: int FrontendOpen( vlc_object_t *p_access, dvb_sys_t *p_sys, const char
      *psz_access )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:199,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:202,1
    - Dst: free
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_access
    - p_sys
    argTypes:
    - vlc_object_t*
    - dvb_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 207
    functionName: FrontendClose
    functionSourceFile: /src/vlc/modules/access/dvb/linux_dvb.c
    functionUses: 2
    functionsReached:
    - vlc_close
    - free
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void FrontendClose( vlc_object_t *p_access, dvb_sys_t *p_sys )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FrontendSetQPSK
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:218,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:220,1
    - Dst: FrontendSetQAM
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:227,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:229,1
    - Dst: FrontendSetOFDM
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:236,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:238,1
    - Dst: FrontendSetATSC
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:245,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:247,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:253,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - p_access
    - p_sys
    argTypes:
    - vlc_object_t*
    - dvb_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 259
    functionName: FrontendSet
    functionSourceFile: /src/vlc/modules/access/dvb/linux_dvb.c
    functionUses: 1
    functionsReached:
    - FrontendSetATSC
    - FrontendSetOFDM
    - msg_Err
    - FrontendSetQAM
    - FrontendSetQPSK
    linkageType: ''
    returnType: int
    signature: int FrontendSet( vlc_object_t *p_access, dvb_sys_t *p_sys )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:272,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:275,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:276,1
    - Dst: IF_UP
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:291,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:292,1
    - Dst: IF_UP
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:296,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:297,1
    - Dst: IF_UP
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:301,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:302,1
    - Dst: IF_UP
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:306,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:307,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:315,1
    - Dst: FrontendGetStatistic
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:318,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:321,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:323,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:325,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:330,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:336,1
    - Dst: FrontendSet
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:337,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - p_access
    - p_sys
    argTypes:
    - vlc_object_t*
    - dvb_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 341
    functionName: FrontendPoll
    functionSourceFile: /src/vlc/modules/access/dvb/linux_dvb.c
    functionUses: 1
    functionsReached:
    - vlc_strerror_c
    - msg_Err
    - FrontendGetStatistic
    - IF_UP
    - msg_Dbg
    - msg_Warn
    - ioctl
    - FrontendSet
    linkageType: ''
    returnType: void
    signature: void FrontendPoll( vlc_object_t *p_access, dvb_sys_t *p_sys )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 290
    functionName: IF_UP
    functionSourceFile: /src/vlc/modules/access/dvb/linux_dvb.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IF_UP( x )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:315,1
    - Dst: FrontendGetStatistic
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:318,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:321,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:323,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 327
    functionName: IF_UP
    functionSourceFile: /src/vlc/modules/access/dvb/linux_dvb.c
    functionUses: 1
    functionsReached:
    - msg_Dbg
    - FrontendGetStatistic
    linkageType: ''
    returnType: void
    signature: void IF_UP( FE_HAS_LOCK )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:336,1
    - Dst: FrontendSet
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: IF_UP
    functionSourceFile: /src/vlc/modules/access/dvb/linux_dvb.c
    functionUses: 1
    functionsReached:
    - FrontendSet
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: void IF_UP( FE_REINIT )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:351,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:352,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:354,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:356,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - p_sys
    - p_stat
    argTypes:
    - dvb_sys_t*
    - frontend_statistic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 360
    functionName: FrontendGetStatistic
    functionSourceFile: /src/vlc/modules/access/dvb/linux_dvb.c
    functionUses: 4
    functionsReached:
    - ioctl
    - memset
    linkageType: ''
    returnType: int
    signature: int FrontendGetStatistic( dvb_sys_t *p_sys, frontend_statistic_t *p_stat
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_sys
    - p_status
    argTypes:
    - dvb_sys_t*
    - frontend_status_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 369
    functionName: FrontendGetStatus
    functionSourceFile: /src/vlc/modules/access/dvb/linux_dvb.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FrontendGetStatus( dvb_sys_t *p_sys, frontend_status_t *p_status
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:380,1
    - Dst: config_GetSysPath
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:383,1
    - Dst: asprintf
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:384,1
    - Dst: free
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:390,1
    - Dst: free
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - p_access
    - p_sys
    - p_scan
    argTypes:
    - vlc_object_t*
    - dvb_sys_t*
    - scan_parameter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 395
    functionName: ScanParametersDvbS
    functionSourceFile: /src/vlc/modules/access/dvb/linux_dvb.c
    functionUses: 0
    functionsReached:
    - config_GetSysPath
    - asprintf
    - var_InheritString
    - free
    linkageType: ''
    returnType: int
    signature: int ScanParametersDvbS( vlc_object_t *p_access, dvb_sys_t *p_sys, scan_parameter_t
      *p_scan )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - p_access
    - p_sys
    - p_scan
    argTypes:
    - vlc_object_t*
    - dvb_sys_t*
    - scan_parameter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 417
    functionName: ScanParametersDvbC
    functionSourceFile: /src/vlc/modules/access/dvb/linux_dvb.c
    functionUses: 0
    functionsReached:
    - var_GetInteger
    linkageType: ''
    returnType: int
    signature: int ScanParametersDvbC( vlc_object_t *p_access, dvb_sys_t *p_sys, scan_parameter_t
      *p_scan )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - p_access
    - p_sys
    - p_scan
    argTypes:
    - vlc_object_t*
    - dvb_sys_t*
    - scan_parameter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 435
    functionName: ScanParametersDvbT
    functionSourceFile: /src/vlc/modules/access/dvb/linux_dvb.c
    functionUses: 0
    functionsReached:
    - var_InheritString
    linkageType: ''
    returnType: int
    signature: int ScanParametersDvbT( vlc_object_t *p_access, dvb_sys_t *p_sys, scan_parameter_t
      *p_scan )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ScanParametersDvbT
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:442,1
    - Dst: ScanParametersDvbC
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:444,1
    - Dst: ScanParametersDvbS
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:446,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - p_access
    - p_sys
    - p_scan
    argTypes:
    - vlc_object_t*
    - dvb_sys_t*
    - scan_parameter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 450
    functionName: FrontendFillScanParameter
    functionSourceFile: /src/vlc/modules/access/dvb/linux_dvb.c
    functionUses: 1
    functionsReached:
    - ScanParametersDvbS
    - ScanParametersDvbC
    - ScanParametersDvbT
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int FrontendFillScanParameter( vlc_object_t *p_access, dvb_sys_t *p_sys,
      scan_parameter_t *p_scan )
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:460,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:462,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:463,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:468,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:469,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:473,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:476,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:479,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:482,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:486,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:489,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:493,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:497,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:499,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:501,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:503,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:505,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:507,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:509,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:511,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:514,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:516,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:518,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:520,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:522,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:524,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:526,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:528,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:530,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:532,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:534,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:536,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:538,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:540,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:542,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:544,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:546,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:548,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:550,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:552,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:554,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:556,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:558,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:560,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:562,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:564,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:569,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:574,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:577,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:579,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:580,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 99
    argCount: 2
    argNames:
    - p_access
    - p_sys
    argTypes:
    - vlc_object_t*
    - dvb_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 583
    functionName: FrontendInfo
    functionSourceFile: /src/vlc/modules/access/dvb/linux_dvb.c
    functionUses: 1
    functionsReached:
    - vlc_strerror_c
    - msg_Dbg
    - msg_Err
    - ioctl
    linkageType: ''
    returnType: int
    signature: int FrontendInfo( vlc_object_t *p_access, dvb_sys_t *p_sys )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:593,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:594,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:602,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 607
    functionName: DecodeInversion
    functionSourceFile: /src/vlc/modules/access/dvb/linux_dvb.c
    functionUses: 0
    functionsReached:
    - var_GetInteger
    - msg_Dbg
    linkageType: ''
    returnType: fe_spectral_inversion_t
    signature: fe_spectral_inversion_t DecodeInversion( vlc_object_t *p_access )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:614,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 621
    functionName: DecodeVoltage
    functionSourceFile: /src/vlc/modules/access/dvb/linux_dvb.c
    functionUses: 0
    functionsReached:
    - var_GetInteger
    linkageType: ''
    returnType: fe_sec_voltage_t
    signature: fe_sec_voltage_t DecodeVoltage( vlc_object_t *p_access )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:625,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 631
    functionName: DecodeTone
    functionSourceFile: /src/vlc/modules/access/dvb/linux_dvb.c
    functionUses: 0
    functionsReached:
    - var_GetInteger
    linkageType: ''
    returnType: fe_sec_tone_mode_t
    signature: fe_sec_tone_mode_t DecodeTone( vlc_object_t *p_access )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:647,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:648,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:650,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:657,1
    - Dst: DecodeVoltage
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:660,1
    - Dst: DecodeTone
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:661,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:664,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:666,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:667,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:672,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:674,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:674,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:678,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:679,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:682,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:683,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:687,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:687,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:689,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:707,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:710,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:711,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:715,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:715,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:718,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:721,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:722,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:726,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:726,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:729,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:731,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:733,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:737,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:737,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 2
    argNames:
    - p_access
    - p_sys
    argTypes:
    - vlc_object_t*
    - dvb_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 639
    functionDepth: 2
    functionLinenumber: 639
    functionLinenumberEnd: 739
    functionName: DoDiseqc
    functionSourceFile: /src/vlc/modules/access/dvb/linux_dvb.c
    functionUses: 0
    functionsReached:
    - DecodeVoltage
    - vlc_tick_sleep
    - vlc_strerror_c
    - VLC_TICK_FROM_MS
    - msg_Err
    - var_SetInteger
    - ioctl
    - var_GetInteger
    - DecodeTone
    - var_GetBool
    linkageType: ''
    returnType: int
    signature: int DoDiseqc( vlc_object_t *p_access, dvb_sys_t *p_sys )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:748,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:750,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:756,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:761,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:766,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:772,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:778,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:786,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:788,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:792,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:793,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:794,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:799,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:800,1
    - Dst: DecodeInversion
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:813,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:815,1
    - Dst: DoDiseqc
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:819,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:828,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:834,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:836,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:836,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 2
    argNames:
    - p_access
    - p_sys
    argTypes:
    - vlc_object_t*
    - dvb_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 741
    functionDepth: 3
    functionLinenumber: 741
    functionLinenumberEnd: 841
    functionName: FrontendSetQPSK
    functionSourceFile: /src/vlc/modules/access/dvb/linux_dvb.c
    functionUses: 1
    functionsReached:
    - vlc_strerror_c
    - DecodeInversion
    - msg_Err
    - var_SetInteger
    - msg_Dbg
    - ioctl
    - var_GetInteger
    - DoDiseqc
    linkageType: ''
    returnType: int
    signature: int FrontendSetQPSK( vlc_object_t *p_access, dvb_sys_t *p_sys )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:854,1
    - Dst: DecodeInversion
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:856,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:862,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:875,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:881,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:883,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:883,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - p_access
    - p_sys
    argTypes:
    - vlc_object_t*
    - dvb_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 846
    functionDepth: 2
    functionLinenumber: 846
    functionLinenumberEnd: 888
    functionName: FrontendSetQAM
    functionSourceFile: /src/vlc/modules/access/dvb/linux_dvb.c
    functionUses: 1
    functionsReached:
    - vlc_strerror_c
    - DecodeInversion
    - msg_Err
    - ioctl
    - var_GetInteger
    linkageType: ''
    returnType: int
    signature: int FrontendSetQAM( vlc_object_t *p_access, dvb_sys_t *p_sys )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:896,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:898,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:907,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 893
    functionDepth: 1
    functionLinenumber: 893
    functionLinenumberEnd: 912
    functionName: DecodeBandwidth
    functionSourceFile: /src/vlc/modules/access/dvb/linux_dvb.c
    functionUses: 0
    functionsReached:
    - var_GetInteger
    - msg_Dbg
    linkageType: ''
    returnType: fe_bandwidth_t
    signature: fe_bandwidth_t DecodeBandwidth( vlc_object_t *p_access )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:917,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:919,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:927,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 932
    functionName: DecodeTransmission
    functionSourceFile: /src/vlc/modules/access/dvb/linux_dvb.c
    functionUses: 0
    functionsReached:
    - var_GetInteger
    - msg_Dbg
    linkageType: ''
    returnType: fe_transmit_mode_t
    signature: fe_transmit_mode_t DecodeTransmission( vlc_object_t *p_access )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:937,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:939,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:949,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 954
    functionName: DecodeHierarchy
    functionSourceFile: /src/vlc/modules/access/dvb/linux_dvb.c
    functionUses: 0
    functionsReached:
    - var_GetInteger
    - msg_Dbg
    linkageType: ''
    returnType: fe_hierarchy_t
    signature: fe_hierarchy_t DecodeHierarchy( vlc_object_t *p_access )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:962,1
    - Dst: DecodeInversion
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:964,1
    - Dst: DecodeBandwidth
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:966,1
    - Dst: DecodeTransmission
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:970,1
    - Dst: DecodeHierarchy
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:972,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:978,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:984,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:986,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:986,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - p_access
    - p_sys
    argTypes:
    - vlc_object_t*
    - dvb_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 956
    functionDepth: 2
    functionLinenumber: 956
    functionLinenumberEnd: 991
    functionName: FrontendSetOFDM
    functionSourceFile: /src/vlc/modules/access/dvb/linux_dvb.c
    functionUses: 1
    functionsReached:
    - DecodeBandwidth
    - DecodeTransmission
    - vlc_strerror_c
    - DecodeInversion
    - DecodeHierarchy
    - msg_Err
    - ioctl
    - var_GetInteger
    linkageType: ''
    returnType: int
    signature: int FrontendSetOFDM( vlc_object_t *p_access, dvb_sys_t *p_sys )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1002,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1009,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1015,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1017,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1017,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - p_access
    - p_sys
    argTypes:
    - vlc_object_t*
    - dvb_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 996
    functionDepth: 1
    functionLinenumber: 996
    functionLinenumberEnd: 1022
    functionName: FrontendSetATSC
    functionSourceFile: /src/vlc/modules/access/dvb/linux_dvb.c
    functionUses: 1
    functionsReached:
    - var_GetInteger
    - vlc_strerror_c
    - msg_Err
    - ioctl
    linkageType: ''
    returnType: int
    signature: int FrontendSetATSC( vlc_object_t *p_access, dvb_sys_t *p_sys )
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1038,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1039,1
    - Dst: snprintf
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1041,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1044,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1048,1
    - Dst: vlc_open
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1049,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1051,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1052,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1065,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1069,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1073,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1077,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1081,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1086,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1090,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1094,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1098,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1102,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1107,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1111,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1115,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1119,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1123,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1128,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1132,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1136,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1140,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1144,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1150,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1156,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1158,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1159,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 108
    argCount: 4
    argNames:
    - p_access
    - i_pid
    - pi_fd
    - i_type
    argTypes:
    - vlc_object_t*
    - int
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1032
    functionDepth: 1
    functionLinenumber: 1032
    functionLinenumberEnd: 1163
    functionName: DMXSetFilter
    functionSourceFile: /src/vlc/modules/access/dvb/linux_dvb.c
    functionUses: 1
    functionsReached:
    - vlc_open
    - vlc_strerror_c
    - msg_Err
    - msg_Dbg
    - ioctl
    - var_GetInteger
    - snprintf
    linkageType: ''
    returnType: int
    signature: int DMXSetFilter( vlc_object_t *p_access, int i_pid, int * pi_fd, int
      i_type )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1170,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1172,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1173,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1177,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p_access
    - i_fd
    argTypes:
    - vlc_object_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1168
    functionDepth: 1
    functionLinenumber: 1168
    functionLinenumberEnd: 1180
    functionName: DMXUnsetFilter
    functionSourceFile: /src/vlc/modules/access/dvb/linux_dvb.c
    functionUses: 1
    functionsReached:
    - vlc_strerror_c
    - vlc_close
    - msg_Err
    - msg_Dbg
    - ioctl
    linkageType: ''
    returnType: int
    signature: int DMXUnsetFilter( vlc_object_t *p_access, int i_fd )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1195,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1196,1
    - Dst: snprintf
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1198,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1201,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1205,1
    - Dst: vlc_open
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1206,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1208,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1209,1
    - Dst: fcntl
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1213,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1215,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - p_access
    - p_sys
    argTypes:
    - vlc_object_t*
    - dvb_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1190
    functionDepth: 1
    functionLinenumber: 1190
    functionLinenumberEnd: 1220
    functionName: DVROpen
    functionSourceFile: /src/vlc/modules/access/dvb/linux_dvb.c
    functionUses: 1
    functionsReached:
    - vlc_open
    - vlc_strerror_c
    - fcntl
    - msg_Err
    - msg_Dbg
    - msg_Warn
    - var_GetInteger
    - snprintf
    linkageType: ''
    returnType: int
    signature: int DVROpen( vlc_object_t *p_access, dvb_sys_t *p_sys )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1227,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/dvb/linux_dvb.c:1228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_access
    - p_sys
    argTypes:
    - vlc_object_t*
    - dvb_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1225
    functionDepth: 1
    functionLinenumber: 1225
    functionLinenumberEnd: 1229
    functionName: DVRClose
    functionSourceFile: /src/vlc/modules/access/dvb/linux_dvb.c
    functionUses: 1
    functionsReached:
    - vlc_close
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void DVRClose( vlc_object_t *p_access, dvb_sys_t *p_sys )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:220,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:221,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:225,1
    - Dst: var_InheritURational
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:229,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:237,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:240,1
    - Dst: strchr
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:247,1
    - Dst: strtol
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:251,1
    - Dst: strchr
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:257,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:264,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:272,1
    - Dst: free
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:277,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:280,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:282,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 285
    functionName: DemuxOpen
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 1
    functionsReached:
    - sscanf
    - vlc_tick_now
    - strchr
    - var_InheritString
    - var_InheritInteger
    - var_InheritURational
    - calloc
    - free
    - strtol
    - msg_Warn
    - unlikely
    linkageType: ''
    returnType: int
    signature: int DemuxOpen( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DemuxOpen
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:293,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:301,1
    - Dst: InitCapture
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:303,1
    - Dst: free
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 310
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 28
    functionsReached:
    - free
    - var_InheritInteger
    - InitCapture
    - DemuxOpen
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:320,1
    - Dst: free
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:321,1
    - Dst: free
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 323
    functionName: DemuxClose
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void DemuxClose( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CloseCapture
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:329,1
    - Dst: DemuxClose
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 331
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 83
    functionsReached:
    - CloseCapture
    - DemuxClose
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:338,1
    - Dst: HandleSDBuffer
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:344,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 348
    functionName: DemuxDemux
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 0
    functionsReached:
    - block_Release
    - HandleSDBuffer
    - vlc_stream_Block
    linkageType: ''
    returnType: int
    signature: int DemuxDemux( demux_t *p_demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Capture
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 353
    functionName: Demux
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 3
    functionsReached:
    - Capture
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 362
    functionName: DemuxControl
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 1
    functionsReached:
    - demux_vaControlHelper
    linkageType: ''
    returnType: int
    signature: int DemuxControl( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:374,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:379,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:380,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 44
    functionsReached:
    - var_InheritInteger
    - va_arg
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:406,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:407,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 419
    functionName: NewFrame
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 0
    functionsReached:
    - block_Alloc
    - unlikely
    linkageType: ''
    returnType: int
    signature: int NewFrame( demux_t *p_demux )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:428,1
    - Dst: NewFrame
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:431,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:435,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:446,1
    - Dst: InitWSS
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:448,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:457,1
    - Dst: strchr
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:462,1
    - Dst: strtol
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:466,1
    - Dst: strchr
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:472,1
    - Dst: strtol
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:476,1
    - Dst: strtol
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:478,1
    - Dst: InitTelx
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:483,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:488,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:495,1
    - Dst: strchr
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:501,1
    - Dst: strtol
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:507,1
    - Dst: realloc
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:509,1
    - Dst: strtol
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:516,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:531,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 69
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 538
    functionName: StartDecode
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 0
    functionsReached:
    - strchr
    - NewFrame
    - realloc
    - InitWSS
    - InitTelx
    - strtol
    - vlc_tick_from_samples
    - msg_Warn
    - es_out_Add
    - es_format_Init
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int StartDecode( demux_t *p_demux )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:547,1
    - Dst: block_Release
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:549,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:551,1
    - Dst: free
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:555,1
    - Dst: vbi_raw_decoder_destroy
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:557,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:561,1
    - Dst: free
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:562,1
    - Dst: vbi_raw_decoder_destroy
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:564,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:573,1
    - Dst: free
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:575,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 579
    functionName: StopDecode
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 0
    functionsReached:
    - free
    - block_Release
    - es_out_Del
    - vbi_raw_decoder_destroy
    linkageType: ''
    returnType: void
    signature: void StopDecode( demux_t *p_demux )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:642,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 52
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 651
    functionName: InitVideo
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 2
    functionsReached:
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: void InitVideo( demux_t *p_demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:665,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 672
    functionName: DecodeVideo
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 0
    functionsReached:
    - memcpy
    - es_out_Send
    linkageType: ''
    returnType: void
    signature: void DecodeVideo( demux_t *p_demux )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vbi_raw_decoder_init
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:677,1
    - Dst: vbi_raw_decoder_add_services
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:693,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:697,1
    - Dst: vbi_raw_decoder_destroy
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:698,1
    - Dst: malloc
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:702,1
    - Dst: vbi_raw_decoder_destroy
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:705,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 709
    functionName: InitWSS
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 1
    functionsReached:
    - vbi_raw_decoder_destroy
    - vbi_raw_decoder_init
    - msg_Warn
    - malloc
    - vbi_raw_decoder_add_services
    linkageType: ''
    returnType: int
    signature: int InitWSS( demux_t *p_demux )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vbi_raw_decode
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:716,1
    - Dst: parity
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:726,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:727,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:734,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 740
    functionName: DecodeWSS
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 0
    functionsReached:
    - vbi_raw_decode
    - msg_Dbg
    - msg_Warn
    - parity
    linkageType: ''
    returnType: void
    signature: void DecodeWSS( demux_t *p_demux )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vbi_raw_decoder_init
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:745,1
    - Dst: vbi_raw_decoder_add_services
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:761,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:764,1
    - Dst: vbi_raw_decoder_destroy
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:765,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:769,1
    - Dst: vbi_raw_decoder_destroy
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:772,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 776
    functionName: InitTelx
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 1
    functionsReached:
    - vbi_raw_decoder_destroy
    - vlc_alloc
    - vbi_raw_decoder_init
    - msg_Warn
    - vbi_raw_decoder_add_services
    linkageType: ''
    returnType: int
    signature: int InitTelx( demux_t *p_demux )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vbi_raw_decode
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:782,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:791,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:792,1
    - Dst: vbi_rev8
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:806,1
    - Dst: memset
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:815,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:820,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 823
    functionName: DecodeTelx
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 0
    functionsReached:
    - memset
    - es_out_Send
    - vbi_raw_decode
    - block_Alloc
    - vbi_rev8
    - unlikely
    linkageType: ''
    returnType: int
    signature: int DecodeTelx( demux_t *p_demux )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:830,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:833,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:843,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:850,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:854,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - p_demux
    - p_audio
    argTypes:
    - demux_t*
    - sdi_audio_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 825
    functionDepth: 1
    functionLinenumber: 825
    functionLinenumberEnd: 857
    functionName: InitAudio
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - vlc_alloc
    - es_out_Add
    - es_format_Init
    - unlikely
    linkageType: ''
    returnType: int
    signature: int InitAudio( demux_t *p_demux, sdi_audio_t *p_audio )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - p_out
    - p_in
    - i_out
    - i_in
    argTypes:
    - int16_t*
    - int16_t*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 888
    functionName: ResampleAudio
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ResampleAudio( int16_t *p_out, int16_t *p_in,\n                           unsigned
      int i_out, unsigned int i_in )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:900,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:909,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:920,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:927,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:928,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:931,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:936,1
    - Dst: ResampleAudio
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:940,1
    - Dst: ResampleAudio
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:943,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:947,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - p_demux
    - p_audio
    argTypes:
    - demux_t*
    - sdi_audio_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 890
    functionDepth: 1
    functionLinenumber: 890
    functionLinenumberEnd: 949
    functionName: DecodeAudio
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 0
    functionsReached:
    - es_out_Send
    - memcpy
    - block_Alloc
    - vlc_tick_from_samples
    - msg_Warn
    - unlikely
    - ResampleAudio
    linkageType: ''
    returnType: int
    signature: int DecodeAudio( demux_t *p_demux, sdi_audio_t *p_audio )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DecodeWSS
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:957,1
    - Dst: memset
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:963,1
    - Dst: memset
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:964,1
    - Dst: DecodeTelx
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:970,1
    - Dst: DecodeAudio
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:976,1
    - Dst: DecodeVideo
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:980,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:982,1
    - Dst: NewFrame
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:985,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 951
    functionDepth: 2
    functionLinenumber: 951
    functionLinenumberEnd: 989
    functionName: DecodeFrame
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 0
    functionsReached:
    - DecodeWSS
    - NewFrame
    - memset
    - DecodeAudio
    - DecodeTelx
    - DecodeVideo
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int DecodeFrame( demux_t *p_demux )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - i_code
    - p_parser
    - p_end
    argTypes:
    - uint8_t
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1016
    functionName: FindReferenceCode
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *FindReferenceCode( uint8_t i_code,\n                                         const
      uint8_t *p_parser,\n                                         const uint8_t *p_end
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindReferenceCode
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1022,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - pi_count
    - i_code
    - p_parser
    - p_end
    argTypes:
    - unsigned int*
    - uint8_t
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1018
    functionDepth: 1
    functionLinenumber: 1018
    functionLinenumberEnd: 1030
    functionName: CountReference
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 0
    functionsReached:
    - FindReferenceCode
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *CountReference( unsigned int *pi_count, uint8_t i_code,\n
      \                                     const uint8_t *p_parser,\n                                      const
      uint8_t *p_end )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1042,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1052,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - p_demux
    - pp_parser
    - p_end
    argTypes:
    - demux_t*
    - uint8_t**
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1061
    functionName: GetLine
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 7
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *GetLine( demux_t *p_demux, const uint8_t **pp_parser,\n                               const
      uint8_t *p_end )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - p_line
    - i_size
    - p_dest
    argTypes:
    - uint8_t*
    - unsigned int
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1081
    functionName: UnpackVBI
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void UnpackVBI( const uint8_t *p_line, unsigned int i_size,\n                       uint8_t
      *p_dest )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - p_line
    - i_size
    - p_y
    - p_u
    - p_v
    argTypes:
    - uint8_t*
    - unsigned int
    - uint8_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1097
    functionName: Unpack01
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Unpack01( const uint8_t *p_line, unsigned int i_size,\n                      uint8_t
      *p_y, uint8_t *p_u, uint8_t *p_v )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - p_line
    - i_size
    - p_y
    - p_u
    - p_v
    argTypes:
    - uint8_t*
    - unsigned int
    - uint8_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1118
    functionName: Unpack2
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Unpack2( const uint8_t *p_line, unsigned int i_size,\n                     uint8_t
      *p_y, uint8_t *p_u, uint8_t *p_v )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - p_line
    - i_size
    - p_y
    - p_u
    - p_v
    argTypes:
    - uint8_t*
    - unsigned int
    - uint8_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1139
    functionName: Unpack3
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Unpack3( const uint8_t *p_line, unsigned int i_size,\n                     uint8_t
      *p_y, uint8_t *p_u, uint8_t *p_v )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - p_anc
    - i_size
    - p_dest
    argTypes:
    - uint8_t*
    - unsigned int
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1164
    functionName: UnpackAnc
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void UnpackAnc( const uint8_t *p_anc, unsigned int i_size,\n                       uint16_t
      *p_dest )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - p_anc
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1175
    functionName: HasAncillary
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int HasAncillary( const uint8_t *p_anc )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1185,1
    - Dst: InitAudio
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1203,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1210,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 5
    argNames:
    - p_demux
    - p_anc
    - i_data_count
    - i_group
    - i_block_number
    argTypes:
    - demux_t*
    - uint16_t*
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1177
    functionDepth: 1
    functionLinenumber: 1177
    functionLinenumberEnd: 1253
    functionName: HandleAudioData
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 0
    functionsReached:
    - InitAudio
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: "void HandleAudioData( demux_t *p_demux, const uint16_t *p_anc,\n                             uint8_t
      i_data_count, uint8_t i_group,\n                             uint8_t i_block_number
      )"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1262,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1287,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1303,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1312,1
    - Dst: InitAudio
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1317,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 4
    argNames:
    - p_demux
    - p_anc
    - i_data_count
    - i_group
    argTypes:
    - demux_t*
    - uint16_t*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1255
    functionDepth: 1
    functionLinenumber: 1255
    functionLinenumberEnd: 1321
    functionName: HandleAudioConfig
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 0
    functionsReached:
    - InitAudio
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: "void HandleAudioConfig( demux_t *p_demux, const uint16_t *p_anc,\n
      \                              uint8_t i_data_count, uint8_t i_group )"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1346,1
    - Dst: HandleAudioData
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1354,1
    - Dst: HandleAudioData
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1357,1
    - Dst: HandleAudioData
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1360,1
    - Dst: HandleAudioData
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1363,1
    - Dst: HandleAudioConfig
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1367,1
    - Dst: HandleAudioConfig
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1370,1
    - Dst: HandleAudioConfig
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1373,1
    - Dst: HandleAudioConfig
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1376,1
    - Dst: HandleAncillary
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1398,1
    - Dst: HandleAncillary
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1402,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 51
    argCount: 3
    argNames:
    - p_demux
    - p_anc
    - i_size
    argTypes:
    - demux_t*
    - uint16_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1334
    functionDepth: 2
    functionLinenumber: 1334
    functionLinenumberEnd: 1405
    functionName: HandleAncillary
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 1
    functionsReached:
    - HandleAudioData
    - HandleAncillary
    - HandleAudioConfig
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: "void HandleAncillary( demux_t *p_demux, const uint16_t *p_anc,\n                             unsigned
      int i_size )"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1416,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1419,1
    - Dst: FindReferenceCode
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1427,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1431,1
    - Dst: FindReferenceCode
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1435,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1440,1
    - Dst: CountReference
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1444,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1450,1
    - Dst: CountReference
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1454,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1460,1
    - Dst: CountReference
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1464,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1471,1
    - Dst: CountReference
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1475,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1480,1
    - Dst: CountReference
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1484,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1492,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1496,1
    - Dst: InitVideo
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1502,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1503,1
    - Dst: StartDecode
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1508,1
    - Dst: StopDecode
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1510,1
    - Dst: malloc
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1514,1
    - Dst: StopDecode
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1518,1
    - Dst: GetLine
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1524,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1554,1
    - Dst: StopDecode
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1556,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1558,1
    - Dst: HasAncillary
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1562,1
    - Dst: UnpackAnc
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1567,1
    - Dst: HandleAncillary
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1568,1
    - Dst: Unpack01
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1578,1
    - Dst: Unpack01
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1585,1
    - Dst: Unpack2
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1592,1
    - Dst: Unpack3
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1599,1
    - Dst: UnpackVBI
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1610,1
    - Dst: UnpackVBI
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1619,1
    - Dst: HasAncillary
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1624,1
    - Dst: UnpackAnc
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1629,1
    - Dst: HandleAncillary
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1631,1
    - Dst: DecodeFrame
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1638,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 115
    argCount: 3
    argNames:
    - p_demux
    - p_buffer
    - i_buffer_size
    argTypes:
    - demux_t*
    - uint8_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1646
      start: 1407
    functionDepth: 3
    functionLinenumber: 1407
    functionLinenumberEnd: 1646
    functionName: HandleSDBuffer
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 1
    functionsReached:
    - UnpackAnc
    - vlc_tick_now
    - HasAncillary
    - Unpack01
    - DecodeFrame
    - CountReference
    - Unpack2
    - GetLine
    - FindReferenceCode
    - StartDecode
    - msg_Dbg
    - StopDecode
    - HandleAncillary
    - msg_Warn
    - InitVideo
    - Unpack3
    - UnpackVBI
    - malloc
    linkageType: ''
    returnType: int
    signature: "int HandleSDBuffer( demux_t *p_demux, uint8_t *p_buffer,\n                           unsigned
      int i_buffer_size )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1658,1
    - Dst: vlc_fopen
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1660,1
    - Dst: fscanf
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1664,1
    - Dst: fclose
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1665,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - psz_fmt
    - i_link
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1653
    functionDepth: 1
    functionLinenumber: 1653
    functionLinenumberEnd: 1668
    functionName: ReadULSysfs
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 0
    functionsReached:
    - vlc_fopen
    - snprintf
    - fscanf
    - fclose
    linkageType: ''
    returnType: int
    signature: int ReadULSysfs( const char *psz_fmt, unsigned int i_link )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1675,1
    - Dst: vlc_fopen
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1677,1
    - Dst: fprintf
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1681,1
    - Dst: fclose
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - psz_fmt
    - i_link
    - i_buf
    argTypes:
    - char*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1670
    functionDepth: 1
    functionLinenumber: 1670
    functionLinenumberEnd: 1684
    functionName: WriteULSysfs
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 0
    functionsReached:
    - fprintf
    - vlc_fopen
    - snprintf
    - fclose
    linkageType: ''
    returnType: int
    signature: "int WriteULSysfs( const char *psz_fmt, unsigned int i_link,\n                         unsigned
      int i_buf )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1689,1
    - Dst: WriteULSysfs
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1695,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1697,1
    - Dst: ReadULSysfs
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1701,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1703,1
    - Dst: ReadULSysfs
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1710,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1712,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1719,1
    - Dst: snprintf
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1723,1
    - Dst: vlc_open
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1724,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1726,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1732,1
    - Dst: mmap
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1738,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1742,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1743,1
    - Dst: free
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1744,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1686
    functionDepth: 2
    functionLinenumber: 1686
    functionLinenumberEnd: 1750
    functionName: InitCapture
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 2
    functionsReached:
    - vlc_open
    - vlc_strerror_c
    - ReadULSysfs
    - mmap
    - WriteULSysfs
    - msg_Err
    - free
    - vlc_alloc
    - snprintf
    - getpagesize
    linkageType: ''
    returnType: int
    signature: int InitCapture( demux_t *p_demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StopDecode
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1756,1
    - Dst: munmap
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1758,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1759,1
    - Dst: free
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1761
      start: 1752
    functionDepth: 0
    functionLinenumber: 1752
    functionLinenumberEnd: 1761
    functionName: CloseCapture
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 1
    functionsReached:
    - munmap
    - StopDecode
    - vlc_close
    - free
    linkageType: ''
    returnType: void
    signature: void CloseCapture( demux_t *p_demux )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: poll
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1771,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1773,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1773,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1781,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1782,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1783,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1787,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1789,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1791,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1801,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1803,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1804,1
    - Dst: HandleSDBuffer
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1808,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1812,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1814,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1815,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1828,1
    - Dst: CloseCapture
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1829,1
    - Dst: InitCapture
      Src: /src/vlc/modules/access/linsys/linsys_sdi.c:1830,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1835
      start: 1763
    functionDepth: 4
    functionLinenumber: 1763
    functionLinenumberEnd: 1835
    functionName: Capture
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_sdi.c
    functionUses: 5
    functionsReached:
    - vlc_strerror_c
    - poll
    - HandleSDBuffer
    - InitCapture
    - msg_Warn
    - ioctl
    - CloseCapture
    linkageType: ''
    returnType: int
    signature: int Capture( demux_t *p_demux )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:182,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:183,1
    - Dst: var_InheritURational
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:188,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:196,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:199,1
    - Dst: strchr
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:207,1
    - Dst: strtol
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:211,1
    - Dst: strchr
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:217,1
    - Dst: sscanf
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:224,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:233,1
    - Dst: free
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:238,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:243,1
    - Dst: eventfd
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:245,1
    - Dst: pthread_create
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:249,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:251,1
    - Dst: free
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:259,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 261
    functionName: Open
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_hdsdi.c
    functionUses: 28
    functionsReached:
    - sscanf
    - eventfd
    - strchr
    - var_InheritString
    - pthread_create
    - vlc_close
    - var_InheritInteger
    - var_InheritURational
    - calloc
    - free
    - strtol
    - msg_Warn
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:271,1
    - Dst: pthread_join
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:272,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:273,1
    - Dst: free
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 275
    functionName: Close
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_hdsdi.c
    functionUses: 83
    functionsReached:
    - vlc_close
    - free
    - pthread_join
    - write
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitCapture
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:284,1
    - Dst: Capture
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:287,1
    - Dst: CloseCapture
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 291
    functionName: Demux
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_hdsdi.c
    functionUses: 3
    functionsReached:
    - CloseCapture
    - InitCapture
    - Capture
    linkageType: ''
    returnType: void
    signature: void *Demux( void *opaque )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:306,1
    - Dst: va_arg
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:311,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:312,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 319
    functionName: Control
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_hdsdi.c
    functionUses: 44
    functionsReached:
    - var_InheritInteger
    - va_arg
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - p_line
    - i_size
    - p_y
    - p_u
    - p_v
    argTypes:
    - uint8_t*
    - unsigned int
    - uint8_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 343
    functionName: Unpack01
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_hdsdi.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Unpack01( const uint8_t *p_line, unsigned int i_size,\n                      uint8_t
      *p_y, uint8_t *p_u, uint8_t *p_v )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - p_line
    - i_size
    - p_y
    - p_u
    - p_v
    argTypes:
    - uint8_t*
    - unsigned int
    - uint8_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 364
    functionName: Unpack2
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_hdsdi.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Unpack2( const uint8_t *p_line, unsigned int i_size,\n                     uint8_t
      *p_y, uint8_t *p_u, uint8_t *p_v )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - p_line
    - i_size
    - p_y
    - p_u
    - p_v
    argTypes:
    - uint8_t*
    - unsigned int
    - uint8_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 385
    functionName: Unpack3
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_hdsdi.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Unpack3( const uint8_t *p_line, unsigned int i_size,\n                     uint8_t
      *p_y, uint8_t *p_u, uint8_t *p_v )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - p_dest
    - p_src
    - i_nb_samples
    - i_offset
    - i_stride
    argTypes:
    - int16_t*
    - int16_t*
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: SparseCopy
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_hdsdi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SparseCopy( int16_t *p_dest, const int16_t *p_src,\n                        size_t
      i_nb_samples, size_t i_offset, size_t i_stride )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_out_Del
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:418,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 429
    functionName: StopDecode
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_hdsdi.c
    functionUses: 2
    functionsReached:
    - es_out_Del
    linkageType: ''
    returnType: void
    signature: void StopDecode( demux_t *p_demux )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:436,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:492,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:497,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:502,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:511,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 64
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 514
    functionName: InitVideo
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_hdsdi.c
    functionUses: 3
    functionsReached:
    - msg_Err
    - vlc_tick_from_samples
    - msg_Dbg
    - es_out_Add
    - es_format_Init
    linkageType: ''
    returnType: int
    signature: int InitVideo( demux_t *p_demux )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:527,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:531,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:541,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:546,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 549
    functionName: InitAudio
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_hdsdi.c
    functionUses: 2
    functionsReached:
    - vlc_tick_from_samples
    - msg_Dbg
    - es_out_Add
    - es_format_Init
    linkageType: ''
    returnType: int
    signature: int InitAudio( demux_t *p_demux )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:554,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:555,1
    - Dst: Unpack01
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:575,1
    - Dst: Unpack01
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:580,1
    - Dst: Unpack2
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:585,1
    - Dst: Unpack3
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:590,1
    - Dst: memcpy
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:603,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:608,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:610,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - p_demux
    - p_buffer
    argTypes:
    - demux_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 613
    functionName: HandleVideo
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_hdsdi.c
    functionUses: 0
    functionsReached:
    - Unpack01
    - es_out_Send
    - Unpack2
    - memcpy
    - block_Alloc
    - Unpack3
    - unlikely
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int HandleVideo( demux_t *p_demux, const uint8_t *p_buffer )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:624,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:625,1
    - Dst: SparseCopy
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:627,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:632,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:635,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - p_demux
    - p_buffer
    argTypes:
    - demux_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 640
    functionName: HandleAudio
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_hdsdi.c
    functionUses: 0
    functionsReached:
    - es_out_Send
    - block_Alloc
    - vlc_tick_from_samples
    - SparseCopy
    - unlikely
    linkageType: ''
    returnType: int
    signature: int HandleAudio( demux_t *p_demux, const uint8_t *p_buffer )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:654,1
    - Dst: snprintf
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:656,1
    - Dst: vlc_open
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:658,1
    - Dst: write
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:661,1
    - Dst: strlen
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:661,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - psz_fmt
    - i_link
    - i_buf
    argTypes:
    - char*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 664
    functionName: WriteULSysfs
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_hdsdi.c
    functionUses: 1
    functionsReached:
    - vlc_open
    - vlc_close
    - strlen
    - write
    - snprintf
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t WriteULSysfs( const char *psz_fmt, unsigned int i_link,\n
      \                            unsigned int i_buf )"
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:670,1
    - Dst: snprintf
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:675,1
    - Dst: vlc_open
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:676,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:678,1
    - Dst: poll
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:692,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:699,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:700,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:701,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:705,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:707,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:709,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:711,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:714,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:722,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:727,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:730,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:731,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:732,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:735,1
    - Dst: InitVideo
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:737,1
    - Dst: snprintf
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:747,1
    - Dst: vlc_open
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:748,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:750,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:754,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:756,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:757,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:781,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:784,1
    - Dst: InitAudio
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:786,1
    - Dst: WriteULSysfs
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:792,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:795,1
    - Dst: WriteULSysfs
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:800,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:803,1
    - Dst: ReadULSysfs
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:809,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:812,1
    - Dst: WriteULSysfs
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:819,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:822,1
    - Dst: open
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:827,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:829,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:836,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:837,1
    - Dst: mmap
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:841,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:845,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:846,1
    - Dst: WriteULSysfs
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:854,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:857,1
    - Dst: WriteULSysfs
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:862,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:865,1
    - Dst: WriteULSysfs
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:873,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:876,1
    - Dst: open
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:881,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:883,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:891,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:892,1
    - Dst: mmap
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:896,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:900,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:901,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 142
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 666
    functionDepth: 2
    functionLinenumber: 666
    functionLinenumberEnd: 908
    functionName: InitCapture
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_hdsdi.c
    functionUses: 4
    functionsReached:
    - vlc_open
    - vlc_strerror_c
    - ReadULSysfs
    - mmap
    - poll
    - vlc_close
    - InitAudio
    - WriteULSysfs
    - unlikely
    - open
    - msg_Err
    - msg_Warn
    - vlc_alloc
    - ioctl
    - InitVideo
    - snprintf
    - getpagesize
    linkageType: ''
    returnType: int
    signature: int InitCapture( demux_t *p_demux )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StopDecode
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:914,1
    - Dst: munmap
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:917,1
    - Dst: free
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:918,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:920,1
    - Dst: munmap
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:925,1
    - Dst: free
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:926,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:928,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 930
    functionName: CloseCapture
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_hdsdi.c
    functionUses: 3
    functionsReached:
    - munmap
    - StopDecode
    - free
    - vlc_close
    linkageType: ''
    returnType: void
    signature: void CloseCapture( demux_t *p_demux )
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: poll
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:947,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:957,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:958,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:959,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:963,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:965,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:967,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:969,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:971,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:982,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:983,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:984,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:988,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:990,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:992,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:994,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:1004,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:1007,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:1008,1
    - Dst: HandleVideo
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:1012,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:1015,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:1018,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:1019,1
    - Dst: malloc
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:1026,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:1027,1
    - Dst: read
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:1030,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:1032,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:1032,1
    - Dst: free
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:1033,1
    - Dst: HandleVideo
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:1037,1
    - Dst: free
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:1039,1
    - Dst: free
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:1042,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:1049,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:1052,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:1053,1
    - Dst: HandleAudio
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:1057,1
    - Dst: ioctl
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:1060,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:1063,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:1064,1
    - Dst: malloc
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:1071,1
    - Dst: unlikely
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:1072,1
    - Dst: read
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:1075,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:1077,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:1077,1
    - Dst: free
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:1078,1
    - Dst: HandleAudio
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:1082,1
    - Dst: free
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:1084,1
    - Dst: free
      Src: /src/vlc/modules/access/linsys/linsys_hdsdi.c:1087,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 98
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 932
    functionDepth: 2
    functionLinenumber: 932
    functionLinenumberEnd: 1092
    functionName: Capture
    functionSourceFile: /src/vlc/modules/access/linsys/linsys_hdsdi.c
    functionUses: 6
    functionsReached:
    - vlc_strerror_c
    - poll
    - HandleVideo
    - read
    - ioctl
    - HandleAudio
    - free
    - msg_Warn
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Capture( demux_t *p_demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: block_holder::block_holder
    functionSourceFile: /src/vlc/modules/visualization/cyclic_buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void block_holder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: cyclic_block_queue::cyclic_block_queue
    functionSourceFile: /src/vlc/modules/visualization/cyclic_buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cyclic_block_queue()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/visualization/cyclic_buffer.h:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 68
    functionName: cyclic_block_queue::consume
    functionSourceFile: /src/vlc/modules/visualization/cyclic_buffer.h
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    linkageType: ''
    returnType: block_holder
    signature: block_holder * consume()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: cyclic_block_queue::get_insertion_object
    functionSourceFile: /src/vlc/modules/visualization/cyclic_buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: block_holder
    signature: block_holder * get_insertion_object()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: cyclic_block_queue::reset
    functionSourceFile: /src/vlc/modules/visualization/cyclic_buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: FilterOperationInitializer
    functionSourceFile: /src/vlc/modules/visualization/projectm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterOperationInitializer()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/visualization/projectm.cpp:187,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/visualization/projectm.cpp:193,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/visualization/projectm.cpp:194,1
    - Dst: memset
      Src: /src/vlc/modules/visualization/projectm.cpp:202,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/visualization/projectm.cpp:204,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/visualization/projectm.cpp:205,1
    - Dst: vlc_gl_surface_Create
      Src: /src/vlc/modules/visualization/projectm.cpp:207,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/visualization/projectm.cpp:207,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/visualization/projectm.cpp:212,1
    - Dst: vlc_gl_surface_Destroy
      Src: /src/vlc/modules/visualization/projectm.cpp:214,1
    - Dst: free
      Src: /src/vlc/modules/visualization/projectm.cpp:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 226
    functionName: Open
    functionSourceFile: /src/vlc/modules/visualization/projectm.cpp
    functionUses: 28
    functionsReached:
    - memset
    - vlc_clone
    - vlc_gl_surface_Destroy
    - vlc_mutex_init
    - vlc_gl_surface_Create
    - free
    - var_CreateGetInteger
    - VLC_OBJECT
    - malloc
    - aout_FormatNbChannels
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t * p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<filter_sys_t *>
      Src: /src/vlc/modules/visualization/projectm.cpp:235,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/visualization/projectm.cpp:240,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/visualization/projectm.cpp:242,1
    - Dst: vlc_join
      Src: /src/vlc/modules/visualization/projectm.cpp:244,1
    - Dst: vlc_gl_surface_Destroy
      Src: /src/vlc/modules/visualization/projectm.cpp:247,1
    - Dst: free
      Src: /src/vlc/modules/visualization/projectm.cpp:248,1
    - Dst: free
      Src: /src/vlc/modules/visualization/projectm.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 250
    functionName: Close
    functionSourceFile: /src/vlc/modules/visualization/projectm.cpp
    functionUses: 83
    functionsReached:
    - reinterpret_cast<filter_sys_t *>
    - vlc_mutex_unlock
    - vlc_gl_surface_Destroy
    - vlc_mutex_lock
    - free
    - vlc_join
    linkageType: ''
    returnType: void
    signature: void Close( filter_t *p_filter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<filter_sys_t *>
      Src: /src/vlc/modules/visualization/projectm.cpp:262,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/visualization/projectm.cpp:264,1
    - Dst: __MIN
      Src: /src/vlc/modules/visualization/projectm.cpp:267,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/visualization/projectm.cpp:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - p_filter
    - p_in_buf
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 282
    functionName: DoWork
    functionSourceFile: /src/vlc/modules/visualization/projectm.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<filter_sys_t *>
    - __MIN
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: block_t
    signature: block_t *DoWork( filter_t *p_filter, block_t *p_in_buf )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/visualization/projectm.cpp:290,1
    - Dst: reinterpret_cast<filter_sys_t *>
      Src: /src/vlc/modules/visualization/projectm.cpp:293,1
    - Dst: vlc_gl_MakeCurrent
      Src: /src/vlc/modules/visualization/projectm.cpp:313,1
    - Dst: msg_Err
      Src: /src/vlc/modules/visualization/projectm.cpp:315,1
    - Dst: glewInit
      Src: /src/vlc/modules/visualization/projectm.cpp:321,1
    - Dst: vlc_gl_ReleaseCurrent
      Src: /src/vlc/modules/visualization/projectm.cpp:323,1
    - Dst: newlocale
      Src: /src/vlc/modules/visualization/projectm.cpp:331,1
    - Dst: uselocale
      Src: /src/vlc/modules/visualization/projectm.cpp:332,1
    - Dst: projectm_create
      Src: /src/vlc/modules/visualization/projectm.cpp:337,1
    - Dst: projectm_set_window_size
      Src: /src/vlc/modules/visualization/projectm.cpp:338,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/visualization/projectm.cpp:339,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/visualization/projectm.cpp:340,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/visualization/projectm.cpp:343,1
    - Dst: projectM::projectM
      Src: /src/vlc/modules/visualization/projectm.cpp:344,1
    - Dst: free
      Src: /src/vlc/modules/visualization/projectm.cpp:345,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/visualization/projectm.cpp:347,1
    - Dst: config_GetSysPath
      Src: /src/vlc/modules/visualization/projectm.cpp:351,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/visualization/projectm.cpp:353,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/visualization/projectm.cpp:354,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/visualization/projectm.cpp:356,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/visualization/projectm.cpp:357,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/visualization/projectm.cpp:359,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/visualization/projectm.cpp:360,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/visualization/projectm.cpp:361,1
    - Dst: projectM::projectM
      Src: /src/vlc/modules/visualization/projectm.cpp:373,1
    - Dst: free
      Src: /src/vlc/modules/visualization/projectm.cpp:375,1
    - Dst: free
      Src: /src/vlc/modules/visualization/projectm.cpp:376,1
    - Dst: free
      Src: /src/vlc/modules/visualization/projectm.cpp:377,1
    - Dst: projectm_pcm_get_max_samples
      Src: /src/vlc/modules/visualization/projectm.cpp:382,1
    - Dst: projectM*::pcm
      Src: /src/vlc/modules/visualization/projectm.cpp:385,1
    - Dst: calloc
      Src: /src/vlc/modules/visualization/projectm.cpp:388,1
    - Dst: projectM*::getPlaylistSize
      Src: /src/vlc/modules/visualization/projectm.cpp:393,1
    - Dst: projectM*::selectPreset
      Src: /src/vlc/modules/visualization/projectm.cpp:394,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/visualization/projectm.cpp:394,1
    - Dst: projectM*::getPlaylistSize
      Src: /src/vlc/modules/visualization/projectm.cpp:394,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/visualization/projectm.cpp:400,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/visualization/projectm.cpp:400,1
    - Dst: vlc_gl_surface_CheckSize
      Src: /src/vlc/modules/visualization/projectm.cpp:406,1
    - Dst: projectm_set_window_size
      Src: /src/vlc/modules/visualization/projectm.cpp:409,1
    - Dst: projectM*::projectM_resetGL
      Src: /src/vlc/modules/visualization/projectm.cpp:412,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/visualization/projectm.cpp:418,1
    - Dst: projectm_pcm_add_float
      Src: /src/vlc/modules/visualization/projectm.cpp:422,1
    - Dst: projectM*::pcm
      Src: /src/vlc/modules/visualization/projectm.cpp:425,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/visualization/projectm.cpp:432,1
    - Dst: projectm_opengl_render_frame
      Src: /src/vlc/modules/visualization/projectm.cpp:438,1
    - Dst: projectM*::renderFrame
      Src: /src/vlc/modules/visualization/projectm.cpp:441,1
    - Dst: vlc_tick_wait
      Src: /src/vlc/modules/visualization/projectm.cpp:446,1
    - Dst: vlc_gl_Swap
      Src: /src/vlc/modules/visualization/projectm.cpp:448,1
    - Dst: projectm_destroy
      Src: /src/vlc/modules/visualization/projectm.cpp:452,1
    - Dst: uselocale
      Src: /src/vlc/modules/visualization/projectm.cpp:462,1
    - Dst: freelocale
      Src: /src/vlc/modules/visualization/projectm.cpp:463,1
    - Dst: vlc_gl_ReleaseCurrent
      Src: /src/vlc/modules/visualization/projectm.cpp:467,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 73
    argCount: 1
    argNames:
    - p_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 469
    functionName: Thread
    functionSourceFile: /src/vlc/modules/visualization/projectm.cpp
    functionUses: 0
    functionsReached:
    - projectM*::pcm
    - config_GetSysPath
    - vlc_mrand48
    - freelocale
    - projectM*::getPlaylistSize
    - vlc_gl_surface_CheckSize
    - projectM*::projectM_resetGL
    - reinterpret_cast<filter_sys_t *>
    - vlc_tick_now
    - vlc_gl_Swap
    - projectm_create
    - vlc_mutex_lock
    - projectM*::renderFrame
    - projectm_pcm_add_float
    - msg_Err
    - calloc
    - newlocale
    - projectm_set_window_size
    - uselocale
    - projectM*::selectPreset
    - projectm_destroy
    - vlc_thread_set_name
    - vlc_gl_ReleaseCurrent
    - var_InheritInteger
    - projectm_pcm_get_max_samples
    - projectm_opengl_render_frame
    - vlc_tick_wait
    - vlc_gl_MakeCurrent
    - glewInit
    - var_InheritString
    - vlc_mutex_unlock
    - VLC_TICK_FROM_MS
    - free
    - var_CreateGetInteger
    - projectM::projectM
    linkageType: ''
    returnType: void
    signature: void *Thread( void *p_data )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/visualization/goom.c:133,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/visualization/goom.c:135,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/visualization/goom.c:136,1
    - Dst: video_format_Init
      Src: /src/vlc/modules/visualization/goom.c:139,1
    - Dst: picture_pool_NewFromFormat
      Src: /src/vlc/modules/visualization/goom.c:146,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/visualization/goom.c:149,1
    - Dst: free
      Src: /src/vlc/modules/visualization/goom.c:150,1
    - Dst: aout_filter_GetVout
      Src: /src/vlc/modules/visualization/goom.c:154,1
    - Dst: msg_Err
      Src: /src/vlc/modules/visualization/goom.c:157,1
    - Dst: picture_pool_Release
      Src: /src/vlc/modules/visualization/goom.c:158,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/visualization/goom.c:159,1
    - Dst: free
      Src: /src/vlc/modules/visualization/goom.c:160,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/visualization/goom.c:164,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/visualization/goom.c:168,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/visualization/goom.c:169,1
    - Dst: date_Init
      Src: /src/vlc/modules/visualization/goom.c:172,1
    - Dst: date_Set
      Src: /src/vlc/modules/visualization/goom.c:173,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/visualization/goom.c:174,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/visualization/goom.c:176,1
    - Dst: msg_Err
      Src: /src/vlc/modules/visualization/goom.c:178,1
    - Dst: vout_Close
      Src: /src/vlc/modules/visualization/goom.c:179,1
    - Dst: picture_pool_Release
      Src: /src/vlc/modules/visualization/goom.c:180,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/visualization/goom.c:181,1
    - Dst: free
      Src: /src/vlc/modules/visualization/goom.c:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 190
    functionName: Open
    functionSourceFile: /src/vlc/modules/visualization/goom.c
    functionUses: 28
    functionsReached:
    - video_format_Init
    - vlc_clone
    - var_InheritInteger
    - aout_filter_GetVout
    - vlc_mutex_init
    - date_Init
    - date_Set
    - picture_pool_NewFromFormat
    - calloc
    - free
    - msg_Err
    - vlc_cond_init
    - vout_Close
    - picture_pool_Release
    - video_format_Clean
    - aout_FormatNbChannels
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/visualization/goom.c:203,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/visualization/goom.c:206,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/visualization/goom.c:210,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/visualization/goom.c:213,1
    - Dst: memcpy
      Src: /src/vlc/modules/visualization/goom.c:216,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/visualization/goom.c:221,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/visualization/goom.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - p_filter
    - p_in_buf
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 225
    functionName: DoWork
    functionSourceFile: /src/vlc/modules/visualization/goom.c
    functionUses: 0
    functionsReached:
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - memcpy
    - block_Alloc
    linkageType: ''
    returnType: block_t
    signature: block_t *DoWork( filter_t *p_filter, block_t *p_in_buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vout_FlushAll
      Src: /src/vlc/modules/visualization/goom.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: Flush
    functionSourceFile: /src/vlc/modules/visualization/goom.c
    functionUses: 7
    functionsReached:
    - vout_FlushAll
    linkageType: ''
    returnType: void
    signature: void Flush( filter_t *p_filter )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 244
    functionName: FloatToInt16
    functionSourceFile: /src/vlc/modules/visualization/goom.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int16_t
    signature: int16_t FloatToInt16( float f )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: __MIN
      Src: /src/vlc/modules/visualization/goom.c:261,1
    - Dst: date_Get
      Src: /src/vlc/modules/visualization/goom.c:266,1
    - Dst: date_Set
      Src: /src/vlc/modules/visualization/goom.c:268,1
    - Dst: date_Increment
      Src: /src/vlc/modules/visualization/goom.c:272,1
    - Dst: FloatToInt16
      Src: /src/vlc/modules/visualization/goom.c:278,1
    - Dst: FloatToInt16
      Src: /src/vlc/modules/visualization/goom.c:280,1
    - Dst: block_Release
      Src: /src/vlc/modules/visualization/goom.c:290,1
    - Dst: memmove
      Src: /src/vlc/modules/visualization/goom.c:293,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 5
    argNames:
    - p_data
    - pi_data
    - pi_date
    - pi_date_end
    - p_this
    argTypes:
    - int16_t*
    - int*
    - date_t*
    - date_t*
    - goom_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 301
    functionName: FillBuffer
    functionSourceFile: /src/vlc/modules/visualization/goom.c
    functionUses: 2
    functionsReached:
    - block_Release
    - date_Set
    - FloatToInt16
    - memmove
    - __MIN
    - date_Get
    - date_Increment
    linkageType: ''
    returnType: int
    signature: "int FillBuffer( int16_t *p_data, int *pi_data,\n                       date_t
      *pi_date, date_t *pi_date_end,\n                       goom_thread_t *p_this
      )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/visualization/goom.c:308,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/visualization/goom.c:315,1
    - Dst: goom_init
      Src: /src/vlc/modules/visualization/goom.c:317,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/visualization/goom.c:338,1
    - Dst: FillBuffer
      Src: /src/vlc/modules/visualization/goom.c:340,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/visualization/goom.c:342,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/visualization/goom.c:344,1
    - Dst: date_Get
      Src: /src/vlc/modules/visualization/goom.c:353,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/visualization/goom.c:353,1
    - Dst: goom_update
      Src: /src/vlc/modules/visualization/goom.c:355,1
    - Dst: picture_pool_Wait
      Src: /src/vlc/modules/visualization/goom.c:358,1
    - Dst: unlikely
      Src: /src/vlc/modules/visualization/goom.c:359,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/visualization/goom.c:363,1
    - Dst: date_Get
      Src: /src/vlc/modules/visualization/goom.c:365,1
    - Dst: vout_PutPicture
      Src: /src/vlc/modules/visualization/goom.c:367,1
    - Dst: goom_close
      Src: /src/vlc/modules/visualization/goom.c:370,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/visualization/goom.c:371,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 1
    argNames:
    - p_thread_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 373
    functionName: Thread
    functionSourceFile: /src/vlc/modules/visualization/goom.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - vlc_restorecancel
    - vlc_thread_set_name
    - vlc_mutex_unlock
    - FillBuffer
    - vlc_mutex_lock
    - goom_close
    - goom_init
    - plane_CopyPixels
    - goom_update
    - vout_PutPicture
    - date_Get
    - picture_pool_Wait
    - vlc_savecancel
    - unlikely
    - vlc_cond_wait
    linkageType: ''
    returnType: void
    signature: void *Thread( void *p_thread_data )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/visualization/goom.c:383,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/visualization/goom.c:385,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/visualization/goom.c:386,1
    - Dst: vlc_join
      Src: /src/vlc/modules/visualization/goom.c:388,1
    - Dst: block_Release
      Src: /src/vlc/modules/visualization/goom.c:393,1
    - Dst: picture_pool_Release
      Src: /src/vlc/modules/visualization/goom.c:396,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/visualization/goom.c:397,1
    - Dst: free
      Src: /src/vlc/modules/visualization/goom.c:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 399
    functionName: Close
    functionSourceFile: /src/vlc/modules/visualization/goom.c
    functionUses: 84
    functionsReached:
    - block_Release
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - free
    - vlc_join
    - picture_pool_Release
    - video_format_Clean
    linkageType: ''
    returnType: void
    signature: void Close( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - F
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: OPENGL_VTABLE_F
    functionSourceFile: /src/vlc/modules/visualization/glspectrum.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPENGL_VTABLE_F(F)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - symbol
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: DECLARE_VTABLE
    functionSourceFile: /src/vlc/modules/visualization/glspectrum.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_VTABLE(type, symbol)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/visualization/glspectrum.c:175,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/visualization/glspectrum.c:183,1
    - Dst: window_get_param
      Src: /src/vlc/modules/visualization/glspectrum.c:191,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/visualization/glspectrum.c:191,1
    - Dst: vlc_queue_Init
      Src: /src/vlc/modules/visualization/glspectrum.c:194,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/visualization/glspectrum.c:200,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/visualization/glspectrum.c:201,1
    - Dst: vlc_gl_surface_Create
      Src: /src/vlc/modules/visualization/glspectrum.c:204,1
    - Dst: vlc_gl_MakeCurrent
      Src: /src/vlc/modules/visualization/glspectrum.c:208,1
    - Dst: msg_Err
      Src: /src/vlc/modules/visualization/glspectrum.c:210,1
    - Dst: OPENGL_VTABLE_F
      Src: /src/vlc/modules/visualization/glspectrum.c:222,1
    - Dst: vlc_gl_ReleaseCurrent
      Src: /src/vlc/modules/visualization/glspectrum.c:224,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/visualization/glspectrum.c:227,1
    - Dst: vlc_gl_surface_Destroy
      Src: /src/vlc/modules/visualization/glspectrum.c:228,1
    - Dst: vlc_gl_surface_Destroy
      Src: /src/vlc/modules/visualization/glspectrum.c:239,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 241
    functionName: Open
    functionSourceFile: /src/vlc/modules/visualization/glspectrum.c
    functionUses: 28
    functionsReached:
    - vlc_gl_MakeCurrent
    - vlc_obj_malloc
    - OPENGL_VTABLE_F
    - vlc_clone
    - vlc_gl_ReleaseCurrent
    - vlc_queue_Init
    - var_InheritInteger
    - vlc_gl_surface_Destroy
    - vlc_gl_surface_Create
    - msg_Err
    - VLC_OBJECT
    - window_get_param
    - aout_FormatNbChannels
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t * p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 221
    functionName: LOAD_SYMBOL
    functionSourceFile: /src/vlc/modules/visualization/glspectrum.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD_SYMBOL(type, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_queue_Kill
      Src: /src/vlc/modules/visualization/glspectrum.c:253,1
    - Dst: vlc_join
      Src: /src/vlc/modules/visualization/glspectrum.c:254,1
    - Dst: vlc_gl_surface_Destroy
      Src: /src/vlc/modules/visualization/glspectrum.c:257,1
    - Dst: free
      Src: /src/vlc/modules/visualization/glspectrum.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 259
    functionName: Close
    functionSourceFile: /src/vlc/modules/visualization/glspectrum.c
    functionUses: 84
    functionsReached:
    - free
    - vlc_queue_Kill
    - vlc_join
    - vlc_gl_surface_Destroy
    linkageType: ''
    returnType: void
    signature: void Close(filter_t *p_filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_queue_Enqueue
      Src: /src/vlc/modules/visualization/glspectrum.c:271,1
    - Dst: block_Duplicate
      Src: /src/vlc/modules/visualization/glspectrum.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_filter
    - p_in_buf
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 273
    functionName: DoWork
    functionSourceFile: /src/vlc/modules/visualization/glspectrum.c
    functionUses: 0
    functionsReached:
    - block_Duplicate
    - vlc_queue_Enqueue
    linkageType: ''
    returnType: block_t
    signature: block_t *DoWork(filter_t *p_filter, block_t *p_in_buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct glspectrum_opengl_vtable*::Enable
      Src: /src/vlc/modules/visualization/glspectrum.c:284,1
    - Dst: struct glspectrum_opengl_vtable*::Enable
      Src: /src/vlc/modules/visualization/glspectrum.c:285,1
    - Dst: struct glspectrum_opengl_vtable*::DepthMask
      Src: /src/vlc/modules/visualization/glspectrum.c:286,1
    - Dst: struct glspectrum_opengl_vtable*::MatrixMode
      Src: /src/vlc/modules/visualization/glspectrum.c:288,1
    - Dst: struct glspectrum_opengl_vtable*::Frustum
      Src: /src/vlc/modules/visualization/glspectrum.c:289,1
    - Dst: struct glspectrum_opengl_vtable*::MatrixMode
      Src: /src/vlc/modules/visualization/glspectrum.c:291,1
    - Dst: struct glspectrum_opengl_vtable*::Translatef
      Src: /src/vlc/modules/visualization/glspectrum.c:292,1
    - Dst: struct glspectrum_opengl_vtable*::Enable
      Src: /src/vlc/modules/visualization/glspectrum.c:295,1
    - Dst: struct glspectrum_opengl_vtable*::ColorMaterial
      Src: /src/vlc/modules/visualization/glspectrum.c:297,1
    - Dst: struct glspectrum_opengl_vtable*::Enable
      Src: /src/vlc/modules/visualization/glspectrum.c:298,1
    - Dst: struct glspectrum_opengl_vtable*::Enable
      Src: /src/vlc/modules/visualization/glspectrum.c:300,1
    - Dst: struct glspectrum_opengl_vtable*::Lightfv
      Src: /src/vlc/modules/visualization/glspectrum.c:301,1
    - Dst: struct glspectrum_opengl_vtable*::Lightfv
      Src: /src/vlc/modules/visualization/glspectrum.c:302,1
    - Dst: struct glspectrum_opengl_vtable*::ShadeModel
      Src: /src/vlc/modules/visualization/glspectrum.c:304,1
    - Dst: struct glspectrum_opengl_vtable*::Enable
      Src: /src/vlc/modules/visualization/glspectrum.c:306,1
    - Dst: struct glspectrum_opengl_vtable*::BlendFunc
      Src: /src/vlc/modules/visualization/glspectrum.c:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 308
    functionName: initOpenGLScene
    functionSourceFile: /src/vlc/modules/visualization/glspectrum.c
    functionUses: 0
    functionsReached:
    - struct glspectrum_opengl_vtable*::MatrixMode
    - struct glspectrum_opengl_vtable*::ColorMaterial
    - struct glspectrum_opengl_vtable*::ShadeModel
    - struct glspectrum_opengl_vtable*::BlendFunc
    - struct glspectrum_opengl_vtable*::Translatef
    - struct glspectrum_opengl_vtable*::Enable
    - struct glspectrum_opengl_vtable*::DepthMask
    - struct glspectrum_opengl_vtable*::Lightfv
    - struct glspectrum_opengl_vtable*::Frustum
    linkageType: ''
    returnType: void
    signature: void initOpenGLScene(filter_t *p_filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct glspectrum_opengl_vtable*::VertexPointer
      Src: /src/vlc/modules/visualization/glspectrum.c:355,1
    - Dst: struct glspectrum_opengl_vtable*::NormalPointer
      Src: /src/vlc/modules/visualization/glspectrum.c:356,1
    - Dst: struct glspectrum_opengl_vtable*::DrawArrays
      Src: /src/vlc/modules/visualization/glspectrum.c:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 358
    functionName: drawBar
    functionSourceFile: /src/vlc/modules/visualization/glspectrum.c
    functionUses: 0
    functionsReached:
    - struct glspectrum_opengl_vtable*::DrawArrays
    - struct glspectrum_opengl_vtable*::VertexPointer
    - struct glspectrum_opengl_vtable*::NormalPointer
    linkageType: ''
    returnType: void
    signature: void drawBar(filter_t *p_filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct glspectrum_opengl_vtable*::Color4f
      Src: /src/vlc/modules/visualization/glspectrum.c:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - p_filter
    - f_height
    argTypes:
    - filter_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 386
    functionName: setBarColor
    functionSourceFile: /src/vlc/modules/visualization/glspectrum.c
    functionUses: 0
    functionsReached:
    - struct glspectrum_opengl_vtable*::Color4f
    linkageType: ''
    returnType: void
    signature: void setBarColor(filter_t *p_filter, float f_height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct glspectrum_opengl_vtable*::PushMatrix
      Src: /src/vlc/modules/visualization/glspectrum.c:398,1
    - Dst: struct glspectrum_opengl_vtable*::Translatef
      Src: /src/vlc/modules/visualization/glspectrum.c:399,1
    - Dst: struct glspectrum_opengl_vtable*::EnableClientState
      Src: /src/vlc/modules/visualization/glspectrum.c:401,1
    - Dst: struct glspectrum_opengl_vtable*::EnableClientState
      Src: /src/vlc/modules/visualization/glspectrum.c:402,1
    - Dst: struct glspectrum_opengl_vtable*::PushMatrix
      Src: /src/vlc/modules/visualization/glspectrum.c:407,1
    - Dst: struct glspectrum_opengl_vtable*::Scalef
      Src: /src/vlc/modules/visualization/glspectrum.c:408,1
    - Dst: setBarColor
      Src: /src/vlc/modules/visualization/glspectrum.c:409,1
    - Dst: drawBar
      Src: /src/vlc/modules/visualization/glspectrum.c:410,1
    - Dst: struct glspectrum_opengl_vtable*::PopMatrix
      Src: /src/vlc/modules/visualization/glspectrum.c:411,1
    - Dst: struct glspectrum_opengl_vtable*::Translatef
      Src: /src/vlc/modules/visualization/glspectrum.c:413,1
    - Dst: struct glspectrum_opengl_vtable*::DisableClientState
      Src: /src/vlc/modules/visualization/glspectrum.c:416,1
    - Dst: struct glspectrum_opengl_vtable*::DisableClientState
      Src: /src/vlc/modules/visualization/glspectrum.c:417,1
    - Dst: struct glspectrum_opengl_vtable*::PopMatrix
      Src: /src/vlc/modules/visualization/glspectrum.c:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - p_filter
    - heights
    argTypes:
    - filter_t*
    - float[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 420
    functionName: drawBars
    functionSourceFile: /src/vlc/modules/visualization/glspectrum.c
    functionUses: 0
    functionsReached:
    - struct glspectrum_opengl_vtable*::PopMatrix
    - struct glspectrum_opengl_vtable*::Scalef
    - drawBar
    - struct glspectrum_opengl_vtable*::EnableClientState
    - struct glspectrum_opengl_vtable*::DisableClientState
    - struct glspectrum_opengl_vtable*::Translatef
    - struct glspectrum_opengl_vtable*::PushMatrix
    - setBarColor
    linkageType: ''
    returnType: void
    signature: void drawBars(filter_t *p_filter, float heights[])
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/visualization/glspectrum.c:429,1
    - Dst: vlc_gl_MakeCurrent
      Src: /src/vlc/modules/visualization/glspectrum.c:436,1
    - Dst: msg_Err
      Src: /src/vlc/modules/visualization/glspectrum.c:438,1
    - Dst: initOpenGLScene
      Src: /src/vlc/modules/visualization/glspectrum.c:444,1
    - Dst: vlc_queue_DequeueKillable
      Src: /src/vlc/modules/visualization/glspectrum.c:447,1
    - Dst: vlc_gl_surface_CheckSize
      Src: /src/vlc/modules/visualization/glspectrum.c:451,1
    - Dst: struct glspectrum_opengl_vtable*::Viewport
      Src: /src/vlc/modules/visualization/glspectrum.c:452,1
    - Dst: DEFINE_WIND_CONTEXT
      Src: /src/vlc/modules/visualization/glspectrum.c:459,1
    - Dst: msg_Err
      Src: /src/vlc/modules/visualization/glspectrum.c:472,1
    - Dst: free
      Src: /src/vlc/modules/visualization/glspectrum.c:479,1
    - Dst: malloc
      Src: /src/vlc/modules/visualization/glspectrum.c:480,1
    - Dst: visual_fft_init
      Src: /src/vlc/modules/visualization/glspectrum.c:505,1
    - Dst: msg_Err
      Src: /src/vlc/modules/visualization/glspectrum.c:508,1
    - Dst: window_init
      Src: /src/vlc/modules/visualization/glspectrum.c:511,1
    - Dst: msg_Err
      Src: /src/vlc/modules/visualization/glspectrum.c:513,1
    - Dst: window_scale_in_place
      Src: /src/vlc/modules/visualization/glspectrum.c:526,1
    - Dst: fft_perform
      Src: /src/vlc/modules/visualization/glspectrum.c:527,1
    - Dst: logf
      Src: /src/vlc/modules/visualization/glspectrum.c:552,1
    - Dst: struct glspectrum_opengl_vtable*::Clear
      Src: /src/vlc/modules/visualization/glspectrum.c:565,1
    - Dst: struct glspectrum_opengl_vtable*::PushMatrix
      Src: /src/vlc/modules/visualization/glspectrum.c:567,1
    - Dst: struct glspectrum_opengl_vtable*::Rotatef
      Src: /src/vlc/modules/visualization/glspectrum.c:568,1
    - Dst: drawBars
      Src: /src/vlc/modules/visualization/glspectrum.c:569,1
    - Dst: struct glspectrum_opengl_vtable*::PopMatrix
      Src: /src/vlc/modules/visualization/glspectrum.c:570,1
    - Dst: vlc_tick_wait
      Src: /src/vlc/modules/visualization/glspectrum.c:573,1
    - Dst: vlc_gl_Swap
      Src: /src/vlc/modules/visualization/glspectrum.c:574,1
    - Dst: window_close
      Src: /src/vlc/modules/visualization/glspectrum.c:577,1
    - Dst: fft_close
      Src: /src/vlc/modules/visualization/glspectrum.c:578,1
    - Dst: block_Release
      Src: /src/vlc/modules/visualization/glspectrum.c:579,1
    - Dst: vlc_gl_ReleaseCurrent
      Src: /src/vlc/modules/visualization/glspectrum.c:581,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 89
    argCount: 1
    argNames:
    - p_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 427
    functionDepth: 2
    functionLinenumber: 427
    functionLinenumberEnd: 584
    functionName: Thread
    functionSourceFile: /src/vlc/modules/visualization/glspectrum.c
    functionUses: 0
    functionsReached:
    - vlc_queue_DequeueKillable
    - window_scale_in_place
    - visual_fft_init
    - fft_perform
    - struct glspectrum_opengl_vtable*::Rotatef
    - vlc_gl_surface_CheckSize
    - initOpenGLScene
    - vlc_gl_Swap
    - window_close
    - msg_Err
    - struct glspectrum_opengl_vtable*::PushMatrix
    - DEFINE_WIND_CONTEXT
    - vlc_thread_set_name
    - vlc_gl_ReleaseCurrent
    - struct glspectrum_opengl_vtable*::Clear
    - logf
    - struct glspectrum_opengl_vtable*::Viewport
    - drawBars
    - vlc_tick_wait
    - struct glspectrum_opengl_vtable*::PopMatrix
    - vlc_gl_MakeCurrent
    - block_Release
    - free
    - window_init
    - fft_close
    - malloc
    linkageType: ''
    returnType: void
    signature: void *Thread( void *p_data )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: FilterOperationInitializer
    functionSourceFile: /src/vlc/modules/visualization/vsxu.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterOperationInitializer()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/visualization/vsxu.cpp:116,1
    - Dst: unlikely
      Src: /src/vlc/modules/visualization/vsxu.cpp:117,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/visualization/vsxu.cpp:124,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/visualization/vsxu.cpp:125,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/visualization/vsxu.cpp:126,1
    - Dst: cyclic_block_queue::cyclic_block_queue
      Src: /src/vlc/modules/visualization/vsxu.cpp:127,1
    - Dst: memset
      Src: /src/vlc/modules/visualization/vsxu.cpp:132,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/visualization/vsxu.cpp:134,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/visualization/vsxu.cpp:135,1
    - Dst: vlc_gl_surface_Create
      Src: /src/vlc/modules/visualization/vsxu.cpp:137,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/visualization/vsxu.cpp:137,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/visualization/vsxu.cpp:142,1
    - Dst: vlc_gl_surface_Destroy
      Src: /src/vlc/modules/visualization/vsxu.cpp:144,1
    - Dst: free
      Src: /src/vlc/modules/visualization/vsxu.cpp:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 157
    functionName: Open
    functionSourceFile: /src/vlc/modules/visualization/vsxu.cpp
    functionUses: 28
    functionsReached:
    - memset
    - vlc_clone
    - cyclic_block_queue::cyclic_block_queue
    - var_InheritInteger
    - vlc_mutex_init
    - vlc_gl_surface_Destroy
    - vlc_gl_surface_Create
    - free
    - VLC_OBJECT
    - unlikely
    - malloc
    - aout_FormatNbChannels
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t * p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/visualization/vsxu.cpp:167,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/visualization/vsxu.cpp:169,1
    - Dst: vlc_join
      Src: /src/vlc/modules/visualization/vsxu.cpp:171,1
    - Dst: vlc_gl_surface_Destroy
      Src: /src/vlc/modules/visualization/vsxu.cpp:174,1
    - Dst: free
      Src: /src/vlc/modules/visualization/vsxu.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 177
    functionName: Close
    functionSourceFile: /src/vlc/modules/visualization/vsxu.cpp
    functionUses: 84
    functionsReached:
    - vlc_mutex_unlock
    - vlc_gl_surface_Destroy
    - vlc_mutex_lock
    - free
    - vlc_join
    linkageType: ''
    returnType: void
    signature: void Close( filter_t *p_filter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/visualization/vsxu.cpp:188,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/visualization/vsxu.cpp:189,1
    - Dst: __MIN
      Src: /src/vlc/modules/visualization/vsxu.cpp:191,1
    - Dst: filter_sys_t*::vsxu_cyclic_buffer::get_insertion_object
      Src: /src/vlc/modules/visualization/vsxu.cpp:204,1
    - Dst: filter_sys_t*::vsxu_cyclic_buffer::get_insertion_object
      Src: /src/vlc/modules/visualization/vsxu.cpp:219,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/visualization/vsxu.cpp:226,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/visualization/vsxu.cpp:227,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - p_filter
    - p_in_buf
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 229
    functionName: DoWork
    functionSourceFile: /src/vlc/modules/visualization/vsxu.cpp
    functionUses: 0
    functionsReached:
    - __MIN
    - filter_sys_t*::vsxu_cyclic_buffer::get_insertion_object
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: block_t
    signature: block_t *DoWork( filter_t *p_filter, block_t *p_in_buf )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/visualization/vsxu.cpp:237,1
    - Dst: vlc_gl_MakeCurrent
      Src: /src/vlc/modules/visualization/vsxu.cpp:256,1
    - Dst: msg_Err
      Src: /src/vlc/modules/visualization/vsxu.cpp:258,1
    - Dst: vlc_gl_surface_CheckSize
      Src: /src/vlc/modules/visualization/vsxu.cpp:267,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/visualization/vsxu.cpp:273,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/visualization/vsxu.cpp:278,1
    - Dst: manager_factory
      Src: /src/vlc/modules/visualization/vsxu.cpp:286,1
    - Dst: vsx_manager_abs*::init
      Src: /src/vlc/modules/visualization/vsxu.cpp:289,1
    - Dst: vsx_logo_intro::vsx_logo_intro
      Src: /src/vlc/modules/visualization/vsxu.cpp:296,1
    - Dst: vsx_logo_intro*::set_destroy_textures
      Src: /src/vlc/modules/visualization/vsxu.cpp:297,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/visualization/vsxu.cpp:302,1
    - Dst: filter_sys_t*::vsxu_cyclic_buffer::consume
      Src: /src/vlc/modules/visualization/vsxu.cpp:303,1
    - Dst: memcpy
      Src: /src/vlc/modules/visualization/vsxu.cpp:304,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/visualization/vsxu.cpp:305,1
    - Dst: vsx_manager_abs*::set_sound_wave
      Src: /src/vlc/modules/visualization/vsxu.cpp:308,1
    - Dst: vsx_manager_abs*::render
      Src: /src/vlc/modules/visualization/vsxu.cpp:311,1
    - Dst: vsx_logo_intro*::draw
      Src: /src/vlc/modules/visualization/vsxu.cpp:314,1
    - Dst: vlc_gl_Swap
      Src: /src/vlc/modules/visualization/vsxu.cpp:317,1
    - Dst: vsx_manager_abs*::stop
      Src: /src/vlc/modules/visualization/vsxu.cpp:321,1
    - Dst: manager_destroy
      Src: /src/vlc/modules/visualization/vsxu.cpp:324,1
    - Dst: vlc_gl_ReleaseCurrent
      Src: /src/vlc/modules/visualization/vsxu.cpp:329,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/visualization/vsxu.cpp:332,1
    - Dst: filter_sys_t*::vsxu_cyclic_buffer::reset
      Src: /src/vlc/modules/visualization/vsxu.cpp:333,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/visualization/vsxu.cpp:334,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 1
    argNames:
    - p_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 338
    functionName: Thread
    functionSourceFile: /src/vlc/modules/visualization/vsxu.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - vsx_logo_intro*::draw
    - vsx_manager_abs*::render
    - vlc_gl_surface_CheckSize
    - vsx_logo_intro*::set_destroy_textures
    - vsx_manager_abs*::stop
    - vsx_manager_abs*::set_sound_wave
    - vlc_gl_Swap
    - vlc_mutex_lock
    - filter_sys_t*::vsxu_cyclic_buffer::reset
    - msg_Err
    - vsx_manager_abs*::init
    - manager_destroy
    - vlc_thread_set_name
    - vlc_gl_ReleaseCurrent
    - manager_factory
    - vsx_logo_intro::vsx_logo_intro
    - vlc_gl_MakeCurrent
    - vlc_mutex_unlock
    - filter_sys_t*::vsxu_cyclic_buffer::consume
    linkageType: ''
    returnType: void
    signature: void *Thread( void *p_data )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabsf
      Src: /src/vlc/modules/visualization/visual/window.c:55,1
    - Dst: exp
      Src: /src/vlc/modules/visualization/visual/window.c:66,1
    - Dst: sqrt
      Src: /src/vlc/modules/visualization/visual/window.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - x
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 72
    functionName: bessi0
    functionSourceFile: /src/vlc/modules/visualization/visual/window.c
    functionUses: 0
    functionsReached:
    - exp
    - fabsf
    - sqrt
    linkageType: ''
    returnType: float
    signature: float bessi0( float x )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/visualization/visual/window.c:80,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/visualization/visual/window.c:83,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/visualization/visual/window.c:91,1
    - Dst: free
      Src: /src/vlc/modules/visualization/visual/window.c:93,1
    - Dst: free
      Src: /src/vlc/modules/visualization/visual/window.c:98,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/visualization/visual/window.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - p_aout
    - p_param
    argTypes:
    - vlc_object_t*
    - window_param*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 104
    functionName: window_get_param
    functionSourceFile: /src/vlc/modules/visualization/visual/window.c
    functionUses: 1
    functionsReached:
    - var_InheritString
    - free
    - strcasecmp
    - msg_Warn
    - var_InheritFloat
    linkageType: ''
    returnType: void
    signature: void window_get_param( vlc_object_t * p_aout, window_param * p_param
      )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_alloc
      Src: /src/vlc/modules/visualization/visual/window.c:130,1
    - Dst: cosf
      Src: /src/vlc/modules/visualization/visual/window.c:145,1
    - Dst: cosf
      Src: /src/vlc/modules/visualization/visual/window.c:154,1
    - Dst: cosf
      Src: /src/vlc/modules/visualization/visual/window.c:155,1
    - Dst: cosf
      Src: /src/vlc/modules/visualization/visual/window.c:156,1
    - Dst: cosf
      Src: /src/vlc/modules/visualization/visual/window.c:157,1
    - Dst: cosf
      Src: /src/vlc/modules/visualization/visual/window.c:166,1
    - Dst: cosf
      Src: /src/vlc/modules/visualization/visual/window.c:167,1
    - Dst: cosf
      Src: /src/vlc/modules/visualization/visual/window.c:168,1
    - Dst: bessi0
      Src: /src/vlc/modules/visualization/visual/window.c:175,1
    - Dst: sqrtf
      Src: /src/vlc/modules/visualization/visual/window.c:181,1
    - Dst: bessi0
      Src: /src/vlc/modules/visualization/visual/window.c:182,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/visualization/visual/window.c:188,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 3
    argNames:
    - i_buffer_size
    - p_param
    - p_ctx
    argTypes:
    - int
    - window_param*
    - window_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 196
    functionName: window_init
    functionSourceFile: /src/vlc/modules/visualization/visual/window.c
    functionUses: 1
    functionsReached:
    - vlc_assert_unreachable
    - cosf
    - sqrtf
    - vlc_alloc
    - bessi0
    linkageType: ''
    returnType: bool
    signature: "bool window_init( int i_buffer_size, window_param * p_param,\n                  window_context
      * p_ctx )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_buffer
    - p_ctx
    argTypes:
    - int16_t*
    - window_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 208
    functionName: window_scale_in_place
    functionSourceFile: /src/vlc/modules/visualization/visual/window.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void window_scale_in_place( int16_t * p_buffer, window_context * p_ctx
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/visualization/visual/window.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_ctx
    argTypes:
    - window_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 221
    functionName: window_close
    functionSourceFile: /src/vlc/modules/visualization/visual/window.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void window_close( window_context * p_ctx )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/visualization/visual/fft.c:62,1
    - Dst: reverseBits
      Src: /src/vlc/modules/visualization/visual/fft.c:68,1
    - Dst: cos
      Src: /src/vlc/modules/visualization/visual/fft.c:73,1
    - Dst: sin
      Src: /src/vlc/modules/visualization/visual/fft.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 78
    functionName: visual_fft_init
    functionSourceFile: /src/vlc/modules/visualization/visual/fft.c
    functionUses: 1
    functionsReached:
    - sin
    - reverseBits
    - malloc
    - cos
    linkageType: ''
    returnType: fft_state
    signature: fft_state *visual_fft_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fft_prepare
      Src: /src/vlc/modules/visualization/visual/fft.c:91,1
    - Dst: fft_calculate
      Src: /src/vlc/modules/visualization/visual/fft.c:94,1
    - Dst: fft_output
      Src: /src/vlc/modules/visualization/visual/fft.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - input
    - output
    - state
    argTypes:
    - sound_sample*
    - float*
    - fft_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 98
    functionName: fft_perform
    functionSourceFile: /src/vlc/modules/visualization/visual/fft.c
    functionUses: 1
    functionsReached:
    - fft_calculate
    - fft_prepare
    - fft_output
    linkageType: ''
    returnType: void
    signature: void fft_perform(const sound_sample *input, float *output, fft_state
      *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/visualization/visual/fft.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - fft_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: fft_close
    functionSourceFile: /src/vlc/modules/visualization/visual/fft.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void fft_close(fft_state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - input
    - re
    - im
    - bitReverse
    argTypes:
    - sound_sample*
    - float*
    - float*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: fft_prepare
    functionSourceFile: /src/vlc/modules/visualization/visual/fft.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void fft_prepare( const sound_sample *input, float * re, float * im,\n
      \                        const unsigned int *bitReverse )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - re
    - im
    - output
    argTypes:
    - float*
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 148
    functionName: fft_output
    functionSourceFile: /src/vlc/modules/visualization/visual/fft.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fft_output(const float * re, const float * im, float *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - re
    - im
    - costable
    - sintable
    argTypes:
    - float*
    - float*
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 195
    functionName: fft_calculate
    functionSourceFile: /src/vlc/modules/visualization/visual/fft.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fft_calculate(float * re, float * im, const float *costable, const
      float *sintable )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - initial
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 206
    functionName: reverseBits
    functionSourceFile: /src/vlc/modules/visualization/visual/fft.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int reverseBits(unsigned int initial)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/visualization/visual/visual.c:205,1
    - Dst: unlikely
      Src: /src/vlc/modules/visualization/visual/visual.c:206,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/visualization/visual/visual.c:210,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/visualization/visual/visual.c:211,1
    - Dst: var_CreateGetString
      Src: /src/vlc/modules/visualization/visual/visual.c:224,1
    - Dst: malloc
      Src: /src/vlc/modules/visualization/visual/visual.c:230,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/visualization/visual/visual.c:235,1
    - Dst: __MIN
      Src: /src/vlc/modules/visualization/visual/visual.c:237,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/visualization/visual/visual.c:244,1
    - Dst: strlen
      Src: /src/vlc/modules/visualization/visual/visual.c:245,1
    - Dst: strlen
      Src: /src/vlc/modules/visualization/visual/visual.c:249,1
    - Dst: strchr
      Src: /src/vlc/modules/visualization/visual/visual.c:262,1
    - Dst: msg_Err
      Src: /src/vlc/modules/visualization/visual/visual.c:264,1
    - Dst: free
      Src: /src/vlc/modules/visualization/visual/visual.c:265,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/visualization/visual/visual.c:269,1
    - Dst: msg_Err
      Src: /src/vlc/modules/visualization/visual/visual.c:273,1
    - Dst: free
      Src: /src/vlc/modules/visualization/visual/visual.c:274,1
    - Dst: strchr
      Src: /src/vlc/modules/visualization/visual/visual.c:277,1
    - Dst: strchr
      Src: /src/vlc/modules/visualization/visual/visual.c:279,1
    - Dst: strchr
      Src: /src/vlc/modules/visualization/visual/visual.c:281,1
    - Dst: strchr
      Src: /src/vlc/modules/visualization/visual/visual.c:283,1
    - Dst: free
      Src: /src/vlc/modules/visualization/visual/visual.c:291,1
    - Dst: msg_Err
      Src: /src/vlc/modules/visualization/visual/visual.c:295,1
    - Dst: picture_pool_NewFromFormat
      Src: /src/vlc/modules/visualization/visual/visual.c:314,1
    - Dst: aout_filter_GetVout
      Src: /src/vlc/modules/visualization/visual/visual.c:318,1
    - Dst: msg_Err
      Src: /src/vlc/modules/visualization/visual/visual.c:321,1
    - Dst: vlc_queue_Init
      Src: /src/vlc/modules/visualization/visual/visual.c:326,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/visualization/visual/visual.c:328,1
    - Dst: vout_Close
      Src: /src/vlc/modules/visualization/visual/visual.c:330,1
    - Dst: picture_pool_Release
      Src: /src/vlc/modules/visualization/visual/visual.c:341,1
    - Dst: free
      Src: /src/vlc/modules/visualization/visual/visual.c:344,1
    - Dst: free
      Src: /src/vlc/modules/visualization/visual/visual.c:345,1
    - Dst: free
      Src: /src/vlc/modules/visualization/visual/visual.c:346,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 92
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 348
    functionName: Open
    functionSourceFile: /src/vlc/modules/visualization/visual/visual.c
    functionUses: 28
    functionsReached:
    - var_CreateGetString
    - strncasecmp
    - strchr
    - vlc_clone
    - var_InheritInteger
    - strlen
    - TAB_APPEND
    - aout_filter_GetVout
    - vlc_queue_Init
    - vout_Close
    - msg_Err
    - free
    - picture_pool_NewFromFormat
    - __MIN
    - picture_pool_Release
    - unlikely
    - malloc
    - aout_FormatNbChannels
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: picture_pool_Wait
      Src: /src/vlc/modules/visualization/visual/visual.c:355,1
    - Dst: unlikely
      Src: /src/vlc/modules/visualization/visual/visual.c:356,1
    - Dst: memset
      Src: /src/vlc/modules/visualization/visual/visual.c:363,1
    - Dst: pf_run
      Src: /src/vlc/modules/visualization/visual/visual.c:373,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/visualization/visual/visual.c:373,1
    - Dst: vout_PutPicture
      Src: /src/vlc/modules/visualization/visual/visual.c:381,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - p_filter
    - p_in_buf
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 383
    functionName: DoRealWork
    functionSourceFile: /src/vlc/modules/visualization/visual/visual.c
    functionUses: 0
    functionsReached:
    - memset
    - pf_run
    - vout_PutPicture
    - VLC_OBJECT
    - picture_pool_Wait
    - unlikely
    linkageType: ''
    returnType: block_t
    signature: block_t *DoRealWork( filter_t *p_filter, block_t *p_in_buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/visualization/visual/visual.c:387,1
    - Dst: vlc_queue_DequeueKillable
      Src: /src/vlc/modules/visualization/visual/visual.c:393,1
    - Dst: block_Release
      Src: /src/vlc/modules/visualization/visual/visual.c:394,1
    - Dst: DoRealWork
      Src: /src/vlc/modules/visualization/visual/visual.c:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 397
    functionName: Thread
    functionSourceFile: /src/vlc/modules/visualization/visual/visual.c
    functionUses: 0
    functionsReached:
    - vlc_queue_DequeueKillable
    - block_Release
    - vlc_thread_set_name
    - DoRealWork
    linkageType: ''
    returnType: void
    signature: void *Thread( void *data )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_queue_Enqueue
      Src: /src/vlc/modules/visualization/visual/visual.c:403,1
    - Dst: block_Duplicate
      Src: /src/vlc/modules/visualization/visual/visual.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_filter
    - p_in_buf
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 405
    functionName: DoWork
    functionSourceFile: /src/vlc/modules/visualization/visual/visual.c
    functionUses: 0
    functionsReached:
    - block_Duplicate
    - vlc_queue_Enqueue
    linkageType: ''
    returnType: block_t
    signature: block_t *DoWork( filter_t *p_filter, block_t *p_in_buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vout_FlushAll
      Src: /src/vlc/modules/visualization/visual/visual.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 411
    functionName: Flush
    functionSourceFile: /src/vlc/modules/visualization/visual/visual.c
    functionUses: 7
    functionsReached:
    - vout_FlushAll
    linkageType: ''
    returnType: void
    signature: void Flush( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_queue_Kill
      Src: /src/vlc/modules/visualization/visual/visual.c:420,1
    - Dst: vlc_join
      Src: /src/vlc/modules/visualization/visual/visual.c:421,1
    - Dst: pf_free
      Src: /src/vlc/modules/visualization/visual/visual.c:427,1
    - Dst: free
      Src: /src/vlc/modules/visualization/visual/visual.c:428,1
    - Dst: picture_pool_Release
      Src: /src/vlc/modules/visualization/visual/visual.c:432,1
    - Dst: free
      Src: /src/vlc/modules/visualization/visual/visual.c:433,1
    - Dst: free
      Src: /src/vlc/modules/visualization/visual/visual.c:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: Close
    functionSourceFile: /src/vlc/modules/visualization/visual/visual.c
    functionUses: 85
    functionsReached:
    - free
    - vlc_join
    - picture_pool_Release
    - pf_free
    - vlc_queue_Kill
    linkageType: ''
    returnType: void
    signature: void Close( filter_t * p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/visualization/visual/effects.c:56,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/visualization/visual/effects.c:56,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/visualization/visual/effects.c:56,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/visualization/visual/effects.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - p_effect
    - p_aout
    - p_buffer
    - p_picture
    argTypes:
    - visual_effect_t*
    - vlc_object_t*
    - block_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: dummy_Run
    functionSourceFile: /src/vlc/modules/visualization/visual/effects.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int dummy_Run( visual_effect_t * p_effect, vlc_object_t *p_aout,\n
      \                     const block_t * p_buffer , picture_t * p_picture)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/visualization/visual/effects.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: dummy_Free
    functionSourceFile: /src/vlc/modules/visualization/visual/effects.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void dummy_Free( void *data )
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_WIND_CONTEXT
      Src: /src/vlc/modules/visualization/visual/effects.c:109,1
    - Dst: msg_Err
      Src: /src/vlc/modules/visualization/visual/effects.c:124,1
    - Dst: malloc
      Src: /src/vlc/modules/visualization/visual/effects.c:131,1
    - Dst: calloc
      Src: /src/vlc/modules/visualization/visual/effects.c:135,1
    - Dst: calloc
      Src: /src/vlc/modules/visualization/visual/effects.c:136,1
    - Dst: window_get_param
      Src: /src/vlc/modules/visualization/visual/effects.c:141,1
    - Dst: free
      Src: /src/vlc/modules/visualization/visual/effects.c:149,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/visualization/visual/effects.c:150,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/visualization/visual/effects.c:159,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/visualization/visual/effects.c:160,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/visualization/visual/effects.c:173,1
    - Dst: visual_fft_init
      Src: /src/vlc/modules/visualization/visual/effects.c:190,1
    - Dst: free
      Src: /src/vlc/modules/visualization/visual/effects.c:193,1
    - Dst: msg_Err
      Src: /src/vlc/modules/visualization/visual/effects.c:194,1
    - Dst: window_init
      Src: /src/vlc/modules/visualization/visual/effects.c:197,1
    - Dst: fft_close
      Src: /src/vlc/modules/visualization/visual/effects.c:199,1
    - Dst: free
      Src: /src/vlc/modules/visualization/visual/effects.c:200,1
    - Dst: msg_Err
      Src: /src/vlc/modules/visualization/visual/effects.c:201,1
    - Dst: window_scale_in_place
      Src: /src/vlc/modules/visualization/visual/effects.c:215,1
    - Dst: fft_perform
      Src: /src/vlc/modules/visualization/visual/effects.c:216,1
    - Dst: floor
      Src: /src/vlc/modules/visualization/visual/effects.c:224,1
    - Dst: log
      Src: /src/vlc/modules/visualization/visual/effects.c:239,1
    - Dst: floor
      Src: /src/vlc/modules/visualization/visual/effects.c:324,1
    - Dst: window_close
      Src: /src/vlc/modules/visualization/visual/effects.c:367,1
    - Dst: fft_close
      Src: /src/vlc/modules/visualization/visual/effects.c:369,1
    - Dst: free
      Src: /src/vlc/modules/visualization/visual/effects.c:371,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 142
    argCount: 4
    argNames:
    - p_effect
    - p_aout
    - p_buffer
    - p_picture
    argTypes:
    - visual_effect_t*
    - vlc_object_t*
    - block_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 374
    functionName: spectrum_Run
    functionSourceFile: /src/vlc/modules/visualization/visual/effects.c
    functionUses: 0
    functionsReached:
    - window_scale_in_place
    - log
    - visual_fft_init
    - fft_perform
    - floor
    - var_InheritInteger
    - window_close
    - msg_Err
    - calloc
    - free
    - vlc_alloc
    - window_init
    - fft_close
    - window_get_param
    - malloc
    - DEFINE_WIND_CONTEXT
    linkageType: ''
    returnType: int
    signature: "int spectrum_Run(visual_effect_t * p_effect, vlc_object_t *p_aout,\n
      \                       const block_t * p_buffer , picture_t * p_picture)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/visualization/visual/effects.c:382,1
    - Dst: free
      Src: /src/vlc/modules/visualization/visual/effects.c:383,1
    - Dst: free
      Src: /src/vlc/modules/visualization/visual/effects.c:384,1
    - Dst: free
      Src: /src/vlc/modules/visualization/visual/effects.c:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 387
    functionName: spectrum_Free
    functionSourceFile: /src/vlc/modules/visualization/visual/effects.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void spectrum_Free( void *data )
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_WIND_CONTEXT
      Src: /src/vlc/modules/visualization/visual/effects.c:451,1
    - Dst: msg_Err
      Src: /src/vlc/modules/visualization/visual/effects.c:465,1
    - Dst: malloc
      Src: /src/vlc/modules/visualization/visual/effects.c:473,1
    - Dst: calloc
      Src: /src/vlc/modules/visualization/visual/effects.c:476,1
    - Dst: free
      Src: /src/vlc/modules/visualization/visual/effects.c:479,1
    - Dst: window_get_param
      Src: /src/vlc/modules/visualization/visual/effects.c:484,1
    - Dst: free
      Src: /src/vlc/modules/visualization/visual/effects.c:492,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/visualization/visual/effects.c:493,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/visualization/visual/effects.c:502,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/visualization/visual/effects.c:503,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/visualization/visual/effects.c:504,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/visualization/visual/effects.c:505,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/visualization/visual/effects.c:506,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/visualization/visual/effects.c:507,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/visualization/visual/effects.c:508,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/visualization/visual/effects.c:509,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/visualization/visual/effects.c:510,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/visualization/visual/effects.c:511,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/visualization/visual/effects.c:512,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/visualization/visual/effects.c:513,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/visualization/visual/effects.c:526,1
    - Dst: visual_fft_init
      Src: /src/vlc/modules/visualization/visual/effects.c:542,1
    - Dst: msg_Err
      Src: /src/vlc/modules/visualization/visual/effects.c:545,1
    - Dst: free
      Src: /src/vlc/modules/visualization/visual/effects.c:546,1
    - Dst: window_init
      Src: /src/vlc/modules/visualization/visual/effects.c:549,1
    - Dst: fft_close
      Src: /src/vlc/modules/visualization/visual/effects.c:551,1
    - Dst: free
      Src: /src/vlc/modules/visualization/visual/effects.c:552,1
    - Dst: msg_Err
      Src: /src/vlc/modules/visualization/visual/effects.c:553,1
    - Dst: window_scale_in_place
      Src: /src/vlc/modules/visualization/visual/effects.c:566,1
    - Dst: fft_perform
      Src: /src/vlc/modules/visualization/visual/effects.c:567,1
    - Dst: sqrt
      Src: /src/vlc/modules/visualization/visual/effects.c:570,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/visualization/visual/effects.c:577,1
    - Dst: log
      Src: /src/vlc/modules/visualization/visual/effects.c:591,1
    - Dst: floor
      Src: /src/vlc/modules/visualization/visual/effects.c:602,1
    - Dst: floor
      Src: /src/vlc/modules/visualization/visual/effects.c:672,1
    - Dst: floor
      Src: /src/vlc/modules/visualization/visual/effects.c:721,1
    - Dst: cos
      Src: /src/vlc/modules/visualization/visual/effects.c:749,1
    - Dst: sin
      Src: /src/vlc/modules/visualization/visual/effects.c:750,1
    - Dst: floor
      Src: /src/vlc/modules/visualization/visual/effects.c:780,1
    - Dst: cos
      Src: /src/vlc/modules/visualization/visual/effects.c:791,1
    - Dst: sin
      Src: /src/vlc/modules/visualization/visual/effects.c:792,1
    - Dst: cos
      Src: /src/vlc/modules/visualization/visual/effects.c:837,1
    - Dst: sin
      Src: /src/vlc/modules/visualization/visual/effects.c:838,1
    - Dst: window_close
      Src: /src/vlc/modules/visualization/visual/effects.c:867,1
    - Dst: fft_close
      Src: /src/vlc/modules/visualization/visual/effects.c:869,1
    - Dst: free
      Src: /src/vlc/modules/visualization/visual/effects.c:871,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 242
    argCount: 4
    argNames:
    - p_effect
    - p_aout
    - p_buffer
    - p_picture
    argTypes:
    - visual_effect_t*
    - vlc_object_t*
    - block_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 403
    functionDepth: 3
    functionLinenumber: 403
    functionLinenumberEnd: 874
    functionName: spectrometer_Run
    functionSourceFile: /src/vlc/modules/visualization/visual/effects.c
    functionUses: 0
    functionsReached:
    - window_scale_in_place
    - visual_fft_init
    - fft_perform
    - floor
    - vlc_alloc
    - vlc_assert_unreachable
    - window_close
    - msg_Err
    - calloc
    - sin
    - DEFINE_WIND_CONTEXT
    - log
    - sqrt
    - cos
    - var_InheritInteger
    - free
    - window_init
    - fft_close
    - window_get_param
    - malloc
    linkageType: ''
    returnType: int
    signature: "int spectrometer_Run(visual_effect_t * p_effect, vlc_object_t *p_aout,\n
      \                           const block_t * p_buffer , picture_t * p_picture)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - R
    - ','
    - G
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 407
    functionName: Y
    functionSourceFile: /src/vlc/modules/visualization/visual/effects.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Y(R,G,B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - R
    - ','
    - G
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 408
    functionName: U
    functionSourceFile: /src/vlc/modules/visualization/visual/effects.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U(R,G,B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - R
    - ','
    - G
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 409
    functionName: V
    functionSourceFile: /src/vlc/modules/visualization/visual/effects.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: V(R,G,B)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/visualization/visual/effects.c:882,1
    - Dst: free
      Src: /src/vlc/modules/visualization/visual/effects.c:883,1
    - Dst: free
      Src: /src/vlc/modules/visualization/visual/effects.c:884,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 886
    functionName: spectrometer_Free
    functionSourceFile: /src/vlc/modules/visualization/visual/effects.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void spectrometer_Free( void *data )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/visualization/visual/effects.c:895,1
    - Dst: __MIN
      Src: /src/vlc/modules/visualization/visual/effects.c:912,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - p_effect
    - p_aout
    - p_buffer
    - p_picture
    argTypes:
    - visual_effect_t*
    - vlc_object_t*
    - block_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 943
    functionName: scope_Run
    functionSourceFile: /src/vlc/modules/visualization/visual/effects.c
    functionUses: 0
    functionsReached:
    - __MIN
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int scope_Run(visual_effect_t * p_effect, vlc_object_t *p_aout,\n
      \                    const block_t * p_buffer , picture_t * p_picture)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/visualization/visual/effects.c:952,1
    - Dst: fabsf
      Src: /src/vlc/modules/visualization/visual/effects.c:973,1
    - Dst: fabsf
      Src: /src/vlc/modules/visualization/visual/effects.c:974,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/visualization/visual/effects.c:987,1
    - Dst: cos
      Src: /src/vlc/modules/visualization/visual/effects.c:1024,1
    - Dst: sin
      Src: /src/vlc/modules/visualization/visual/effects.c:1025,1
    - Dst: cos
      Src: /src/vlc/modules/visualization/visual/effects.c:1048,1
    - Dst: sin
      Src: /src/vlc/modules/visualization/visual/effects.c:1049,1
    - Dst: cos
      Src: /src/vlc/modules/visualization/visual/effects.c:1066,1
    - Dst: sin
      Src: /src/vlc/modules/visualization/visual/effects.c:1067,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 65
    argCount: 4
    argNames:
    - p_effect
    - p_aout
    - p_buffer
    - p_picture
    argTypes:
    - visual_effect_t*
    - vlc_object_t*
    - block_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 949
    functionDepth: 1
    functionLinenumber: 949
    functionLinenumberEnd: 1083
    functionName: vuMeter_Run
    functionSourceFile: /src/vlc/modules/visualization/visual/effects.c
    functionUses: 0
    functionsReached:
    - cos
    - fabsf
    - vlc_alloc
    - sin
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int vuMeter_Run(visual_effect_t * p_effect, vlc_object_t *p_aout,\n
      \                      const block_t * p_buffer , picture_t * p_picture)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: DEFINE_WIND_CONTEXT
    functionSourceFile: /src/vlc/modules/visualization/visual/window.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_WIND_CONTEXT(name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avparser_ClosePacketizer
      Src: /src/vlc/modules/packetizer/avparser.c:67,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/packetizer/avparser.c:67,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/packetizer/avparser.c:69,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/packetizer/avparser.c:70,1
    - Dst: avparser_OpenPacketizer
      Src: /src/vlc/modules/packetizer/avparser.c:71,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/packetizer/avparser.c:71,1
    - Dst: msg_Err
      Src: /src/vlc/modules/packetizer/avparser.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: FlushPacketizer
    functionSourceFile: /src/vlc/modules/packetizer/avparser.c
    functionUses: 0
    functionsReached:
    - es_format_Clean
    - avparser_OpenPacketizer
    - msg_Err
    - VLC_OBJECT
    - avparser_ClosePacketizer
    - es_format_Init
    linkageType: ''
    returnType: void
    signature: void FlushPacketizer( decoder_t *p_dec )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: es_format_HasVpxAlpha
      Src: /src/vlc/modules/packetizer/avparser.c:95,1
    - Dst: GetFfmpegCodec
      Src: /src/vlc/modules/packetizer/avparser.c:100,1
    - Dst: vlc_init_avcodec
      Src: /src/vlc/modules/packetizer/avparser.c:104,1
    - Dst: av_parser_init
      Src: /src/vlc/modules/packetizer/avparser.c:107,1
    - Dst: avcodec_find_decoder
      Src: /src/vlc/modules/packetizer/avparser.c:111,1
    - Dst: unlikely
      Src: /src/vlc/modules/packetizer/avparser.c:112,1
    - Dst: av_parser_close
      Src: /src/vlc/modules/packetizer/avparser.c:114,1
    - Dst: avcodec_alloc_context3
      Src: /src/vlc/modules/packetizer/avparser.c:118,1
    - Dst: unlikely
      Src: /src/vlc/modules/packetizer/avparser.c:119,1
    - Dst: av_parser_close
      Src: /src/vlc/modules/packetizer/avparser.c:121,1
    - Dst: malloc
      Src: /src/vlc/modules/packetizer/avparser.c:125,1
    - Dst: unlikely
      Src: /src/vlc/modules/packetizer/avparser.c:127,1
    - Dst: avcodec_free_context
      Src: /src/vlc/modules/packetizer/avparser.c:129,1
    - Dst: av_parser_close
      Src: /src/vlc/modules/packetizer/avparser.c:130,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/packetizer/avparser.c:139,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 142
    functionName: avparser_OpenPacketizer
    functionSourceFile: /src/vlc/modules/packetizer/avparser.c
    functionUses: 1
    functionsReached:
    - es_format_HasVpxAlpha
    - avcodec_alloc_context3
    - vlc_init_avcodec
    - av_parser_close
    - avcodec_free_context
    - es_format_Copy
    - GetFfmpegCodec
    - av_parser_init
    - unlikely
    - malloc
    - avcodec_find_decoder
    linkageType: ''
    returnType: int
    signature: int avparser_OpenPacketizer( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/vlc/modules/packetizer/avparser.c:151,1
    - Dst: avcodec_free_context
      Src: /src/vlc/modules/packetizer/avparser.c:153,1
    - Dst: av_parser_close
      Src: /src/vlc/modules/packetizer/avparser.c:154,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/avparser.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 157
    functionName: avparser_ClosePacketizer
    functionSourceFile: /src/vlc/modules/packetizer/avparser.c
    functionUses: 1
    functionsReached:
    - free
    - likely
    - avcodec_free_context
    - av_parser_close
    linkageType: ''
    returnType: void
    signature: void avparser_ClosePacketizer( vlc_object_t *p_this )
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/avparser.c:170,1
    - Dst: av_parser_parse2
      Src: /src/vlc/modules/packetizer/avparser.c:184,1
    - Dst: TO_AV_TS
      Src: /src/vlc/modules/packetizer/avparser.c:186,1
    - Dst: TO_AV_TS
      Src: /src/vlc/modules/packetizer/avparser.c:186,1
    - Dst: unlikely
      Src: /src/vlc/modules/packetizer/avparser.c:188,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/packetizer/avparser.c:194,1
    - Dst: unlikely
      Src: /src/vlc/modules/packetizer/avparser.c:195,1
    - Dst: memcpy
      Src: /src/vlc/modules/packetizer/avparser.c:210,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/avparser.c:246,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 58
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 249
    functionName: Packetize
    functionSourceFile: /src/vlc/modules/packetizer/avparser.c
    functionUses: 0
    functionsReached:
    - block_Release
    - memcpy
    - block_Alloc
    - TO_AV_TS
    - av_parser_parse2
    - unlikely
    linkageType: ''
    returnType: block_t
    signature: block_t *Packetize ( decoder_t *p_dec, block_t **pp_block )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/avparser.c:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 260
    functionName: PacketizeClosed
    functionSourceFile: /src/vlc/modules/packetizer/avparser.c
    functionUses: 0
    functionsReached:
    - block_Release
    linkageType: ''
    returnType: block_t
    signature: block_t *PacketizeClosed ( decoder_t *p_dec, block_t **pp_block )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 54
    functionName: TRY_MATCH
    functionSourceFile: /src/vlc/modules/packetizer/startcode_helper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRY_MATCH(p,a)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: __target__
      Src: /src/vlc/modules/packetizer/startcode_helper.h:57,1
    - Dst: TRY_MATCH
      Src: /src/vlc/modules/packetizer/startcode_helper.h:102,1
    - Dst: TRY_MATCH
      Src: /src/vlc/modules/packetizer/startcode_helper.h:104,1
    - Dst: TRY_MATCH
      Src: /src/vlc/modules/packetizer/startcode_helper.h:106,1
    - Dst: TRY_MATCH
      Src: /src/vlc/modules/packetizer/startcode_helper.h:108,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 2
    argNames:
    - p
    - end
    argTypes:
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 118
    functionName: startcode_FindAnnexB_SSE2
    functionSourceFile: /src/vlc/modules/packetizer/startcode_helper.h
    functionUses: 0
    functionsReached:
    - TRY_MATCH
    - __target__
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * startcode_FindAnnexB_SSE2( const uint8_t *p, const uint8_t
      *end )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/packetizer/startcode_helper.h:137,1
    - Dst: TRY_MATCH
      Src: /src/vlc/modules/packetizer/startcode_helper.h:141,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 2
    argNames:
    - p
    - end
    argTypes:
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 151
    functionName: startcode_FindAnnexB_Bits
    functionSourceFile: /src/vlc/modules/packetizer/startcode_helper.h
    functionUses: 0
    functionsReached:
    - TRY_MATCH
    - memcpy
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * startcode_FindAnnexB_Bits( const uint8_t *p, const uint8_t
      *end )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_CPU_SSE2
      Src: /src/vlc/modules/packetizer/startcode_helper.h:157,1
    - Dst: startcode_FindAnnexB_SSE2
      Src: /src/vlc/modules/packetizer/startcode_helper.h:158,1
    - Dst: startcode_FindAnnexB_Bits
      Src: /src/vlc/modules/packetizer/startcode_helper.h:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p
    - end
    argTypes:
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: startcode_FindAnnexB
    functionSourceFile: /src/vlc/modules/packetizer/startcode_helper.h
    functionUses: 0
    functionsReached:
    - startcode_FindAnnexB_Bits
    - vlc_CPU_SSE2
    - startcode_FindAnnexB_SSE2
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * startcode_FindAnnexB( const uint8_t *p, const uint8_t *end
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseNALBlock
      Src: /src/vlc/modules/packetizer/h266.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - opaque
    - pb_ts_used
    - p_frag
    argTypes:
    - void*
    - bool*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: ParseNALBlockW
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 0
    functionsReached:
    - ParseNALBlock
    linkageType: ''
    returnType: block_t
    signature: block_t *ParseNALBlockW(void *opaque, bool *pb_ts_used, block_t *p_frag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pp_head
    - ppp_tail
    argTypes:
    - block_t**
    - block_t***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: InitQueue
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitQueue(block_t **pp_head, block_t ***ppp_tail)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/packetizer/h266.c:156,1
    - Dst: InitQueue
      Src: /src/vlc/modules/packetizer/h266.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pp_head
    - ppp_tail
    argTypes:
    - block_t**
    - block_t***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: ResetQueue
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 0
    functionsReached:
    - block_ChainRelease
    - InitQueue
    linkageType: ''
    returnType: void
    signature: void ResetQueue(block_t **pp_head, block_t ***ppp_tail)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: INITQ
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INITQ(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: RESETQ
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESETQ(name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h266.c:170,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h266.c:171,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h266.c:173,1
    - Dst: INITQ
      Src: /src/vlc/modules/packetizer/h266.c:174,1
    - Dst: INITQ
      Src: /src/vlc/modules/packetizer/h266.c:175,1
    - Dst: INITQ
      Src: /src/vlc/modules/packetizer/h266.c:176,1
    - Dst: RESETQ
      Src: /src/vlc/modules/packetizer/h266.c:181,1
    - Dst: RESETQ
      Src: /src/vlc/modules/packetizer/h266.c:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - p_sys
    - b_all
    argTypes:
    - decoder_sys_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 185
    functionName: CurrentQueueToPU
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 0
    functionsReached:
    - RESETQ
    - INITQ
    - block_ChainLastAppend
    linkageType: ''
    returnType: block_t
    signature: block_t * CurrentQueueToPU(decoder_sys_t *p_sys, bool b_all)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: CurrentQueueToPU
      Src: /src/vlc/modules/packetizer/h266.c:193,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h266.c:195,1
    - Dst: GetXPSCopy
      Src: /src/vlc/modules/packetizer/h266.c:198,1
    - Dst: hxxx_strip_AnnexB_startcode
      Src: /src/vlc/modules/packetizer/h266.c:207,1
    - Dst: h266_getNALType
      Src: /src/vlc/modules/packetizer/h266.c:209,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h266.c:215,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h266.c:219,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h266.c:222,1
    - Dst: INITQ
      Src: /src/vlc/modules/packetizer/h266.c:223,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h266.c:227,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h266.c:232,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/h266.c:233,1
    - Dst: INITQ
      Src: /src/vlc/modules/packetizer/h266.c:235,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h266.c:240,1
    - Dst: INITQ
      Src: /src/vlc/modules/packetizer/h266.c:241,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 2
    argNames:
    - p_sys
    - b_valid
    argTypes:
    - decoder_sys_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 255
    functionName: OutputQueues
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 0
    functionsReached:
    - h266_getNALType
    - CurrentQueueToPU
    - GetXPSCopy
    - block_ChainLastAppend
    - INITQ
    - date_Get
    - hxxx_strip_AnnexB_startcode
    linkageType: ''
    returnType: block_t
    signature: block_t * OutputQueues(decoder_sys_t *p_sys, bool b_valid)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/packetizer/h266.c:269,1
    - Dst: cc_storage_new
      Src: /src/vlc/modules/packetizer/h266.c:273,1
    - Dst: unlikely
      Src: /src/vlc/modules/packetizer/h266.c:274,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/h266.c:276,1
    - Dst: INITQ
      Src: /src/vlc/modules/packetizer/h266.c:280,1
    - Dst: INITQ
      Src: /src/vlc/modules/packetizer/h266.c:281,1
    - Dst: INITQ
      Src: /src/vlc/modules/packetizer/h266.c:282,1
    - Dst: INITQ
      Src: /src/vlc/modules/packetizer/h266.c:283,1
    - Dst: INITQ
      Src: /src/vlc/modules/packetizer/h266.c:284,1
    - Dst: INITQ
      Src: /src/vlc/modules/packetizer/h266.c:285,1
    - Dst: packetizer_Init
      Src: /src/vlc/modules/packetizer/h266.c:287,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/packetizer/h266.c:294,1
    - Dst: date_Init
      Src: /src/vlc/modules/packetizer/h266.c:301,1
    - Dst: date_Init
      Src: /src/vlc/modules/packetizer/h266.c:304,1
    - Dst: h266_poc_ctx_init
      Src: /src/vlc/modules/packetizer/h266.c:307,1
    - Dst: h266_isvvcC
      Src: /src/vlc/modules/packetizer/h266.c:317,1
    - Dst: h266_parse_DecoderConfigurationRecord
      Src: /src/vlc/modules/packetizer/h266.c:322,1
    - Dst: msg_Err
      Src: /src/vlc/modules/packetizer/h266.c:324,1
    - Dst: Close
      Src: /src/vlc/modules/packetizer/h266.c:325,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/packetizer/h266.c:325,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/h266.c:330,1
    - Dst: h266_create_AnnexbExtradataFromParams
      Src: /src/vlc/modules/packetizer/h266.c:334,1
    - Dst: packetizer_Header
      Src: /src/vlc/modules/packetizer/h266.c:352,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 357
    functionName: Open
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 28
    functionsReached:
    - cc_storage_new
    - date_Init
    - h266_isvvcC
    - INITQ
    - calloc
    - free
    - packetizer_Init
    - h266_parse_DecoderConfigurationRecord
    - msg_Err
    - VLC_OBJECT
    - Close
    - h266_create_AnnexbExtradataFromParams
    - es_format_Copy
    - unlikely
    - packetizer_Header
    - h266_poc_ctx_init
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *p_this)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_Clean
      Src: /src/vlc/modules/packetizer/h266.c:366,1
    - Dst: RESETQ
      Src: /src/vlc/modules/packetizer/h266.c:368,1
    - Dst: RESETQ
      Src: /src/vlc/modules/packetizer/h266.c:369,1
    - Dst: RESETQ
      Src: /src/vlc/modules/packetizer/h266.c:370,1
    - Dst: RESETQ
      Src: /src/vlc/modules/packetizer/h266.c:371,1
    - Dst: RESETQ
      Src: /src/vlc/modules/packetizer/h266.c:372,1
    - Dst: RESETQ
      Src: /src/vlc/modules/packetizer/h266.c:373,1
    - Dst: h266_rbsp_release_pps
      Src: /src/vlc/modules/packetizer/h266.c:378,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/h266.c:380,1
    - Dst: h266_rbsp_release_sps
      Src: /src/vlc/modules/packetizer/h266.c:386,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/h266.c:388,1
    - Dst: h266_rbsp_release_vps
      Src: /src/vlc/modules/packetizer/h266.c:394,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/h266.c:396,1
    - Dst: cc_storage_delete
      Src: /src/vlc/modules/packetizer/h266.c:399,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/h266.c:401,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 402
    functionName: Close
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 86
    functionsReached:
    - block_Release
    - cc_storage_delete
    - free
    - packetizer_Clean
    - h266_rbsp_release_sps
    - RESETQ
    - h266_rbsp_release_pps
    - h266_rbsp_release_vps
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PacketizeXXC1
      Src: /src/vlc/modules/packetizer/h266.c:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 414
    functionName: PacketizeVVC1
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 0
    functionsReached:
    - PacketizeXXC1
    linkageType: ''
    returnType: block_t
    signature: block_t *PacketizeVVC1(decoder_t *p_dec, block_t **pp_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_Packetize
      Src: /src/vlc/modules/packetizer/h266.c:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 421
    functionName: PacketizeAnnexB
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 0
    functionsReached:
    - packetizer_Packetize
    linkageType: ''
    returnType: block_t
    signature: block_t *PacketizeAnnexB(decoder_t *p_dec, block_t **pp_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_Flush
      Src: /src/vlc/modules/packetizer/h266.c:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 428
    functionName: PacketizeFlush
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 0
    functionsReached:
    - packetizer_Flush
    linkageType: ''
    returnType: void
    signature: void PacketizeFlush(decoder_t *p_dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cc_storage_get_current
      Src: /src/vlc/modules/packetizer/h266.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_dec
    - p_desc
    argTypes:
    - decoder_t*
    - decoder_cc_desc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 437
    functionName: GetCc
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 0
    functionsReached:
    - cc_storage_get_current
    linkageType: ''
    returnType: block_t
    signature: block_t *GetCc(decoder_t *p_dec, decoder_cc_desc_t *p_desc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OutputQueues
      Src: /src/vlc/modules/packetizer/h266.c:447,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/packetizer/h266.c:449,1
    - Dst: CurrentQueueToPU
      Src: /src/vlc/modules/packetizer/h266.c:451,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/packetizer/h266.c:453,1
    - Dst: h266_poc_ctx_init
      Src: /src/vlc/modules/packetizer/h266.c:462,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/h266.c:464,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - p_private
    - b_flush
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 465
    functionName: PacketizeReset
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 0
    functionsReached:
    - OutputQueues
    - block_ChainRelease
    - CurrentQueueToPU
    - date_Set
    - h266_poc_ctx_init
    linkageType: ''
    returnType: void
    signature: void PacketizeReset(void *p_private, bool b_flush)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_strip_AnnexB_startcode
      Src: /src/vlc/modules/packetizer/h266.c:503,1
    - Dst: hxxx_strip_AnnexB_startcode
      Src: /src/vlc/modules/packetizer/h266.c:506,1
    - Dst: memcmp
      Src: /src/vlc/modules/packetizer/h266.c:507,1
    - Dst: h266_rbsp_release_vps
      Src: /src/vlc/modules/packetizer/h266.c:517,1
    - Dst: h266_rbsp_release_sps
      Src: /src/vlc/modules/packetizer/h266.c:520,1
    - Dst: h266_rbsp_release_pps
      Src: /src/vlc/modules/packetizer/h266.c:523,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/h266.c:537,1
    - Dst: hxxx_strip_AnnexB_startcode
      Src: /src/vlc/modules/packetizer/h266.c:543,1
    - Dst: h266_decode_sps
      Src: /src/vlc/modules/packetizer/h266.c:549,1
    - Dst: msg_Err
      Src: /src/vlc/modules/packetizer/h266.c:552,1
    - Dst: h266_decode_pps
      Src: /src/vlc/modules/packetizer/h266.c:557,1
    - Dst: msg_Err
      Src: /src/vlc/modules/packetizer/h266.c:560,1
    - Dst: h266_decode_vps
      Src: /src/vlc/modules/packetizer/h266.c:565,1
    - Dst: msg_Err
      Src: /src/vlc/modules/packetizer/h266.c:568,1
    - Dst: block_Duplicate
      Src: /src/vlc/modules/packetizer/h266.c:577,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 81
    argCount: 4
    argNames:
    - p_dec
    - i_nal_type
    - i_id
    - p_nalb
    argTypes:
    - decoder_t*
    - uint8_t
    - uint8_t
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 583
    functionName: InsertXPS
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 0
    functionsReached:
    - h266_decode_pps
    - block_Release
    - h266_decode_vps
    - msg_Err
    - block_Duplicate
    - h266_rbsp_release_sps
    - hxxx_strip_AnnexB_startcode
    - h266_rbsp_release_pps
    - h266_decode_sps
    - h266_rbsp_release_vps
    - memcmp
    linkageType: ''
    returnType: bool
    signature: "bool InsertXPS(decoder_t *p_dec, uint8_t i_nal_type, uint8_t i_id,\n
      \                     const block_t *p_nalb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/packetizer/h266.c:590,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/packetizer/h266.c:590,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/packetizer/h266.c:590,1
    - Dst: block_Duplicate
      Src: /src/vlc/modules/packetizer/h266.c:598,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h266.c:599,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - decoder_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 603
    functionName: GetXPSCopy
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 1
    functionsReached:
    - block_Duplicate
    - ARRAY_SIZE
    - block_ChainLastAppend
    linkageType: ''
    returnType: block_t
    signature: block_t *GetXPSCopy(decoder_sys_t *p_sys)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: h266_get_pps_sps_id
      Src: /src/vlc/modules/packetizer/h266.c:612,1
    - Dst: h266_get_sps_vps_id
      Src: /src/vlc/modules/packetizer/h266.c:616,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - decoder_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 623
    functionName: XPSReady
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 0
    functionsReached:
    - h266_get_pps_sps_id
    - h266_get_sps_vps_id
    linkageType: ''
    returnType: bool
    signature: bool XPSReady(decoder_sys_t *p_sys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/vlc/modules/packetizer/h266.c:632,1
    - Dst: memcpy
      Src: /src/vlc/modules/packetizer/h266.c:635,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - p_block
    - pp_dst
    - pi_dst
    argTypes:
    - block_t*
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 639
    functionName: AppendAsAnnexB
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 0
    functionsReached:
    - realloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void AppendAsAnnexB(const block_t *p_block,\n                           uint8_t
      **pp_dst, size_t *pi_dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - set
    - ','
    - rg
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 650
    functionName: APPENDIF
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APPENDIF(set, rg, b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APPENDIF
      Src: /src/vlc/modules/packetizer/h266.c:660,1
    - Dst: APPENDIF
      Src: /src/vlc/modules/packetizer/h266.c:661,1
    - Dst: APPENDIF
      Src: /src/vlc/modules/packetizer/h266.c:662,1
    - Dst: APPENDIF
      Src: /src/vlc/modules/packetizer/h266.c:663,1
    - Dst: APPENDIF
      Src: /src/vlc/modules/packetizer/h266.c:664,1
    - Dst: APPENDIF
      Src: /src/vlc/modules/packetizer/h266.c:665,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/h266.c:673,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 6
    argNames:
    - p_sys
    - p_pps
    - p_sps
    - p_vps
    - pp_out
    - pi_out
    argTypes:
    - decoder_sys_t*
    - h266_picture_parameter_set_t*
    - h266_sequence_parameter_set_t*
    - h266_video_parameter_set_t*
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 674
    functionName: SetsToAnnexB
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 0
    functionsReached:
    - free
    - APPENDIF
    linkageType: ''
    returnType: void
    signature: "void SetsToAnnexB(decoder_sys_t *p_sys,\n                         const
      h266_picture_parameter_set_t *p_pps,\n                         const h266_sequence_parameter_set_t
      *p_sps,\n                         const h266_video_parameter_set_t *p_vps,\n
      \                        uint8_t **pp_out, size_t *pi_out)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: h266_get_frame_rate
      Src: /src/vlc/modules/packetizer/h266.c:691,1
    - Dst: date_Change
      Src: /src/vlc/modules/packetizer/h266.c:699,1
    - Dst: h266_get_colorimetry
      Src: /src/vlc/modules/packetizer/h266.c:708,1
    - Dst: h266_get_picture_size
      Src: /src/vlc/modules/packetizer/h266.c:716,1
    - Dst: h266_get_aspect_ratio
      Src: /src/vlc/modules/packetizer/h266.c:734,1
    - Dst: SetsToAnnexB
      Src: /src/vlc/modules/packetizer/h266.c:742,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 4
    argNames:
    - p_dec
    - p_pps
    - p_sps
    - p_vps
    argTypes:
    - decoder_t*
    - h266_picture_parameter_set_t*
    - h266_sequence_parameter_set_t*
    - h266_video_parameter_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 745
    functionName: ActivateSets
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 0
    functionsReached:
    - h266_get_frame_rate
    - h266_get_colorimetry
    - h266_get_aspect_ratio
    - date_Change
    - SetsToAnnexB
    - h266_get_picture_size
    linkageType: ''
    returnType: void
    signature: "void ActivateSets(decoder_t *p_dec,\n                         const
      h266_picture_parameter_set_t *p_pps,\n                         const h266_sequence_parameter_set_t
      *p_sps,\n                         const h266_video_parameter_set_t *p_vps)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/packetizer/h266.c:754,1
    - Dst: hxxx_strip_AnnexB_startcode
      Src: /src/vlc/modules/packetizer/h266.c:754,1
    - Dst: h266_getNALType
      Src: /src/vlc/modules/packetizer/h266.c:760,1
    - Dst: HxxxParseSEI
      Src: /src/vlc/modules/packetizer/h266.c:761,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - p_dec
    - p_chain
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 763
    functionName: ParseStoredSEIChain
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 0
    functionsReached:
    - HxxxParseSEI
    - unlikely
    - hxxx_strip_AnnexB_startcode
    - h266_getNALType
    linkageType: ''
    returnType: void
    signature: void ParseStoredSEIChain(decoder_t *p_dec, const block_t *p_chain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseStoredSEIChain
      Src: /src/vlc/modules/packetizer/h266.c:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 765
    functionDepth: 2
    functionLinenumber: 765
    functionLinenumberEnd: 770
    functionName: ParseStoredSEI
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 0
    functionsReached:
    - ParseStoredSEIChain
    linkageType: ''
    returnType: void
    signature: void ParseStoredSEI(decoder_t *p_dec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: h266_get_pps_sps_id
      Src: /src/vlc/modules/packetizer/h266.c:782,1
    - Dst: h266_get_sps_vps_id
      Src: /src/vlc/modules/packetizer/h266.c:784,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - i_pps_id
    - priv
    - pp_pps
    - pp_sps
    - pp_vps
    argTypes:
    - uint8_t
    - void*
    - h266_picture_parameter_set_t**
    - h266_sequence_parameter_set_t**
    - h266_video_parameter_set_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 788
    functionName: GetXPSSet
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 0
    functionsReached:
    - h266_get_pps_sps_id
    - h266_get_sps_vps_id
    linkageType: ''
    returnType: void
    signature: "void GetXPSSet(uint8_t i_pps_id, void *priv,\n                      h266_picture_parameter_set_t
      **pp_pps,\n                      h266_sequence_parameter_set_t **pp_sps,\n                      h266_video_parameter_set_t
      **pp_vps)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/packetizer/h266.c:799,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/h266.c:801,1
    - Dst: h266_getNALLayer
      Src: /src/vlc/modules/packetizer/h266.c:806,1
    - Dst: unlikely
      Src: /src/vlc/modules/packetizer/h266.c:807,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/h266.c:809,1
    - Dst: pf_parse
      Src: /src/vlc/modules/packetizer/h266.c:817,1
    - Dst: GetXPSSet
      Src: /src/vlc/modules/packetizer/h266.c:826,1
    - Dst: h266_get_picture_header_pps_id
      Src: /src/vlc/modules/packetizer/h266.c:826,1
    - Dst: h266_compute_picture_order_count
      Src: /src/vlc/modules/packetizer/h266.c:829,1
    - Dst: OutputQueues
      Src: /src/vlc/modules/packetizer/h266.c:837,1
    - Dst: ActivateSets
      Src: /src/vlc/modules/packetizer/h266.c:841,1
    - Dst: ParseStoredSEI
      Src: /src/vlc/modules/packetizer/h266.c:843,1
    - Dst: h266_get_slice_type
      Src: /src/vlc/modules/packetizer/h266.c:859,1
    - Dst: h266_rbsp_release_picture_header
      Src: /src/vlc/modules/packetizer/h266.c:882,1
    - Dst: XPSReady
      Src: /src/vlc/modules/packetizer/h266.c:885,1
    - Dst: cc_storage_reset
      Src: /src/vlc/modules/packetizer/h266.c:894,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 65
    argCount: 7
    argNames:
    - p_dec
    - i_nal_type
    - p_buffer
    - i_buffer
    - p_frag
    - b_header
    - "(*pf_parse)(const uint8_t *, size_t, bool,\n                                                                     pf_get_matchedh266xps,
      void *)"
    argTypes:
    - decoder_t*
    - uint8_t
    - uint8_t*
    - size_t
    - block_t*
    - bool
    - h266_picture_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 897
    functionName: ParseFrameHeader
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 0
    functionsReached:
    - h266_get_picture_header_pps_id
    - block_Release
    - OutputQueues
    - ParseStoredSEI
    - h266_get_slice_type
    - h266_getNALLayer
    - XPSReady
    - ActivateSets
    - h266_compute_picture_order_count
    - h266_rbsp_release_picture_header
    - GetXPSSet
    - unlikely
    - cc_storage_reset
    - pf_parse
    linkageType: ''
    returnType: block_t
    signature: "block_t *ParseFrameHeader(decoder_t *p_dec, uint8_t i_nal_type,\n
      \                                const uint8_t *p_buffer, size_t i_buffer, block_t
      *p_frag,\n                                 bool b_header,\n                                 h266_picture_header_t
      * (*pf_parse)(const uint8_t *, size_t, bool,\n                                                                     pf_get_matchedh266xps,
      void *))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/packetizer/h266.c:906,1
    - Dst: hxxx_strip_AnnexB_startcode
      Src: /src/vlc/modules/packetizer/h266.c:906,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h266.c:908,1
    - Dst: CurrentQueueToPU
      Src: /src/vlc/modules/packetizer/h266.c:916,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h266.c:918,1
    - Dst: ParseFrameHeader
      Src: /src/vlc/modules/packetizer/h266.c:921,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h266.c:926,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - p_dec
    - i_nal_type
    - p_frag
    argTypes:
    - decoder_t*
    - uint8_t
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 899
    functionDepth: 2
    functionLinenumber: 899
    functionLinenumberEnd: 929
    functionName: ParseVCL
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 0
    functionsReached:
    - CurrentQueueToPU
    - block_ChainLastAppend
    - ParseFrameHeader
    - unlikely
    - hxxx_strip_AnnexB_startcode
    linkageType: ''
    returnType: block_t
    signature: block_t *ParseVCL(decoder_t *p_dec, uint8_t i_nal_type, block_t *p_frag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/packetizer/h266.c:938,1
    - Dst: hxxx_strip_AnnexB_startcode
      Src: /src/vlc/modules/packetizer/h266.c:938,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h266.c:940,1
    - Dst: CurrentQueueToPU
      Src: /src/vlc/modules/packetizer/h266.c:945,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h266.c:947,1
    - Dst: ParseFrameHeader
      Src: /src/vlc/modules/packetizer/h266.c:949,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h266.c:954,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - p_dec
    - i_nal_type
    - p_frag
    argTypes:
    - decoder_t*
    - uint8_t
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 931
    functionDepth: 2
    functionLinenumber: 931
    functionLinenumberEnd: 957
    functionName: ParsePH
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 0
    functionsReached:
    - CurrentQueueToPU
    - block_ChainLastAppend
    - ParseFrameHeader
    - unlikely
    - hxxx_strip_AnnexB_startcode
    linkageType: ''
    returnType: block_t
    signature: block_t *ParsePH(decoder_t *p_dec, uint8_t i_nal_type, block_t *p_frag)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: CurrentQueueToPU
      Src: /src/vlc/modules/packetizer/h266.c:972,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h266.c:974,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h266.c:976,1
    - Dst: OutputQueues
      Src: /src/vlc/modules/packetizer/h266.c:989,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/h266.c:991,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h266.c:994,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/h266.c:998,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - p_dec
    - i_nal_type
    - p_nalb
    argTypes:
    - decoder_t*
    - uint8_t
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 959
    functionDepth: 2
    functionLinenumber: 959
    functionLinenumberEnd: 1003
    functionName: ParseVCLAsso
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 0
    functionsReached:
    - block_Release
    - CurrentQueueToPU
    - OutputQueues
    - block_ChainLastAppend
    linkageType: ''
    returnType: block_t
    signature: block_t * ParseVCLAsso(decoder_t *p_dec, uint8_t i_nal_type, block_t
      *p_nalb)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: OutputQueues
      Src: /src/vlc/modules/packetizer/h266.c:1013,1
    - Dst: OutputQueues
      Src: /src/vlc/modules/packetizer/h266.c:1022,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h266.c:1025,1
    - Dst: hxxx_strip_AnnexB_startcode
      Src: /src/vlc/modules/packetizer/h266.c:1031,1
    - Dst: h266_decode_dci
      Src: /src/vlc/modules/packetizer/h266.c:1034,1
    - Dst: h266_get_profile_tier_level
      Src: /src/vlc/modules/packetizer/h266.c:1038,1
    - Dst: h266_rbsp_release_dci
      Src: /src/vlc/modules/packetizer/h266.c:1043,1
    - Dst: hxxx_strip_AnnexB_startcode
      Src: /src/vlc/modules/packetizer/h266.c:1055,1
    - Dst: h266_get_xps_id
      Src: /src/vlc/modules/packetizer/h266.c:1056,1
    - Dst: InsertXPS
      Src: /src/vlc/modules/packetizer/h266.c:1057,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/h266.c:1060,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h266.c:1070,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 3
    argNames:
    - p_dec
    - i_nal_type
    - p_nalb
    argTypes:
    - decoder_t*
    - uint8_t
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1005
    functionDepth: 1
    functionLinenumber: 1005
    functionLinenumberEnd: 1073
    functionName: ParseAUHead
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 0
    functionsReached:
    - h266_get_xps_id
    - block_Release
    - OutputQueues
    - h266_rbsp_release_dci
    - block_ChainLastAppend
    - h266_decode_dci
    - h266_get_profile_tier_level
    - InsertXPS
    - hxxx_strip_AnnexB_startcode
    linkageType: ''
    returnType: block_t
    signature: block_t * ParseAUHead(decoder_t *p_dec, uint8_t i_nal_type, block_t
      *p_nalb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h266.c:1082,1
    - Dst: h266_poc_ctx_init
      Src: /src/vlc/modules/packetizer/h266.c:1085,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h266.c:1091,1
    - Dst: OutputQueues
      Src: /src/vlc/modules/packetizer/h266.c:1093,1
    - Dst: OutputQueues
      Src: /src/vlc/modules/packetizer/h266.c:1099,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - p_dec
    - i_nal_type
    - p_nalb
    argTypes:
    - decoder_t*
    - uint8_t
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1075
    functionDepth: 1
    functionLinenumber: 1075
    functionLinenumberEnd: 1102
    functionName: ParseAUTail
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 0
    functionsReached:
    - h266_poc_ctx_init
    - OutputQueues
    - block_ChainLastAppend
    linkageType: ''
    returnType: block_t
    signature: block_t * ParseAUTail(decoder_t *p_dec, uint8_t i_nal_type, block_t
      *p_nalb)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ParseAUHead
      Src: /src/vlc/modules/packetizer/h266.c:1119,1
    - Dst: ParsePH
      Src: /src/vlc/modules/packetizer/h266.c:1123,1
    - Dst: ParseVCLAsso
      Src: /src/vlc/modules/packetizer/h266.c:1134,1
    - Dst: ParseAUTail
      Src: /src/vlc/modules/packetizer/h266.c:1140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 3
    argNames:
    - p_dec
    - i_nal_type
    - p_nalb
    argTypes:
    - decoder_t*
    - uint8_t
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1104
    functionDepth: 3
    functionLinenumber: 1104
    functionLinenumberEnd: 1145
    functionName: ParseNonVCL
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 0
    functionsReached:
    - ParsePH
    - ParseVCLAsso
    - ParseAUHead
    - ParseAUTail
    linkageType: ''
    returnType: block_t
    signature: block_t * ParseNonVCL(decoder_t *p_dec, uint8_t i_nal_type, block_t
      *p_nalb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainGather
      Src: /src/vlc/modules/packetizer/h266.c:1156,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/packetizer/h266.c:1161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - p_outputchain
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1166
    functionName: GatherAndValidateChain
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 0
    functionsReached:
    - block_ChainRelease
    - block_ChainGather
    linkageType: ''
    returnType: block_t
    signature: block_t *GatherAndValidateChain(block_t *p_outputchain)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/h266.c:1173,1
    - Dst: date_Increment
      Src: /src/vlc/modules/packetizer/h266.c:1176,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/h266.c:1177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_dec
    - p_output
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1168
    functionDepth: 1
    functionLinenumber: 1168
    functionLinenumberEnd: 1182
    functionName: SetOutputBlockProperties
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 0
    functionsReached:
    - date_Increment
    - date_Get
    linkageType: ''
    returnType: void
    signature: void SetOutputBlockProperties(decoder_t *p_dec, block_t *p_output)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/h266.c:1197,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/h266.c:1199,1
    - Dst: unlikely
      Src: /src/vlc/modules/packetizer/h266.c:1204,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/packetizer/h266.c:1206,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/h266.c:1207,1
    - Dst: h266_getNALType
      Src: /src/vlc/modules/packetizer/h266.c:1214,1
    - Dst: ParseVCL
      Src: /src/vlc/modules/packetizer/h266.c:1232,1
    - Dst: msg_Info
      Src: /src/vlc/modules/packetizer/h266.c:1234,1
    - Dst: ParseNonVCL
      Src: /src/vlc/modules/packetizer/h266.c:1237,1
    - Dst: OutputQueues
      Src: /src/vlc/modules/packetizer/h266.c:1244,1
    - Dst: GatherAndValidateChain
      Src: /src/vlc/modules/packetizer/h266.c:1249,1
    - Dst: assert
      Src: /src/vlc/modules/packetizer/h266.c:1254,1
    - Dst: SetOutputBlockProperties
      Src: /src/vlc/modules/packetizer/h266.c:1257,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/h266.c:1258,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/h266.c:1259,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 3
    argNames:
    - p_dec
    - pb_ts_used
    - p_frag
    argTypes:
    - decoder_t*
    - bool*
    - block_t*
    assertStmts:
    - condition: (p_sys->sets == COMPLETE)
      pos:
        line_end: 1253
        line_start: 1253
        source_file: /src/vlc/modules/packetizer/h266.c
    constantsTouched: []
    func_position:
      end: 1265
      start: 1188
    functionDepth: 1
    functionLinenumber: 1188
    functionLinenumberEnd: 1265
    functionName: ParseNALBlock
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 1
    functionsReached:
    - block_Release
    - assert
    - h266_getNALType
    - ParseNonVCL
    - OutputQueues
    - GatherAndValidateChain
    - SetOutputBlockProperties
    - date_Set
    - msg_Info
    - date_Get
    - msg_Warn
    - unlikely
    - ParseVCL
    linkageType: ''
    returnType: block_t
    signature: block_t *ParseNALBlock(decoder_t *p_dec, bool *pb_ts_used, block_t
      *p_frag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/packetizer/h266.c:1271,1
    - Dst: ParseNALBlock
      Src: /src/vlc/modules/packetizer/h266.c:1277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - p_private
    - pb_ts_used
    - p_block
    argTypes:
    - void*
    - bool*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1267
    functionDepth: 1
    functionLinenumber: 1267
    functionLinenumberEnd: 1280
    functionName: PacketizeParse
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 0
    functionsReached:
    - ParseNALBlock
    - VLC_UNUSED
    linkageType: ''
    returnType: block_t
    signature: block_t *PacketizeParse(void *p_private, bool *pb_ts_used, block_t
      *p_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/packetizer/h266.c:1284,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/packetizer/h266.c:1285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_private
    - p_au
    argTypes:
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1282
    functionDepth: 1
    functionLinenumber: 1282
    functionLinenumberEnd: 1287
    functionName: PacketizeValidate
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int PacketizeValidate(void *p_private, block_t *p_au)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CurrentQueueToPU
      Src: /src/vlc/modules/packetizer/h266.c:1296,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h266.c:1298,1
    - Dst: OutputQueues
      Src: /src/vlc/modules/packetizer/h266.c:1302,1
    - Dst: GatherAndValidateChain
      Src: /src/vlc/modules/packetizer/h266.c:1306,1
    - Dst: SetOutputBlockProperties
      Src: /src/vlc/modules/packetizer/h266.c:1308,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - p_private
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1289
    functionDepth: 2
    functionLinenumber: 1289
    functionLinenumberEnd: 1312
    functionName: PacketizeDrain
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 0
    functionsReached:
    - OutputQueues
    - GatherAndValidateChain
    - SetOutputBlockProperties
    - CurrentQueueToPU
    - block_ChainLastAppend
    linkageType: ''
    returnType: block_t
    signature: block_t * PacketizeDrain(void *p_private)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: cc_storage_append
      Src: /src/vlc/modules/packetizer/h266.c:1325,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/packetizer/h266.c:1358,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/packetizer/h266.c:1360,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 2
    argNames:
    - p_sei_data
    - cbdata
    argTypes:
    - hxxx_sei_data_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1314
    functionDepth: 1
    functionLinenumber: 1314
    functionLinenumberEnd: 1374
    functionName: ParseSEICallback
    functionSourceFile: /src/vlc/modules/packetizer/h266.c
    functionUses: 0
    functionsReached:
    - cc_storage_append
    - ARRAY_SIZE
    linkageType: ''
    returnType: bool
    signature: bool ParseSEICallback(const hxxx_sei_data_t *p_sei_data, void *cbdata)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/packetizer/vc1.c:150,1
    - Dst: unlikely
      Src: /src/vlc/modules/packetizer/vc1.c:151,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/packetizer/vc1.c:155,1
    - Dst: packetizer_Init
      Src: /src/vlc/modules/packetizer/vc1.c:160,1
    - Dst: date_Init
      Src: /src/vlc/modules/packetizer/vc1.c:179,1
    - Dst: date_Init
      Src: /src/vlc/modules/packetizer/vc1.c:182,1
    - Dst: memmove
      Src: /src/vlc/modules/packetizer/vc1.c:192,1
    - Dst: packetizer_Header
      Src: /src/vlc/modules/packetizer/vc1.c:198,1
    - Dst: cc_Init
      Src: /src/vlc/modules/packetizer/vc1.c:206,1
    - Dst: cc_Init
      Src: /src/vlc/modules/packetizer/vc1.c:207,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 210
    functionName: Open
    functionSourceFile: /src/vlc/modules/packetizer/vc1.c
    functionUses: 28
    functionsReached:
    - cc_Init
    - date_Init
    - packetizer_Init
    - memmove
    - packetizer_Header
    - es_format_Copy
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_Clean
      Src: /src/vlc/modules/packetizer/vc1.c:220,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/vc1.c:222,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/vc1.c:224,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/vc1.c:226,1
    - Dst: cc_Exit
      Src: /src/vlc/modules/packetizer/vc1.c:228,1
    - Dst: cc_Exit
      Src: /src/vlc/modules/packetizer/vc1.c:229,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/vc1.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 232
    functionName: Close
    functionSourceFile: /src/vlc/modules/packetizer/vc1.c
    functionUses: 86
    functionsReached:
    - free
    - packetizer_Clean
    - block_Release
    - cc_Exit
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/packetizer/vc1.c:249,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/packetizer/vc1.c:251,1
    - Dst: memcpy
      Src: /src/vlc/modules/packetizer/vc1.c:254,1
    - Dst: packetizer_Packetize
      Src: /src/vlc/modules/packetizer/vc1.c:267,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 272
    functionName: Packetize
    functionSourceFile: /src/vlc/modules/packetizer/vc1.c
    functionUses: 2
    functionsReached:
    - block_Realloc
    - memcpy
    - memcmp
    - packetizer_Packetize
    linkageType: ''
    returnType: block_t
    signature: block_t *Packetize( decoder_t *p_dec, block_t **pp_block )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_Flush
      Src: /src/vlc/modules/packetizer/vc1.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 279
    functionName: Flush
    functionSourceFile: /src/vlc/modules/packetizer/vc1.c
    functionUses: 9
    functionsReached:
    - packetizer_Flush
    linkageType: ''
    returnType: void
    signature: void Flush( decoder_t *p_dec )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/packetizer/vc1.c:289,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/vc1.c:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - p_private
    - b_flush
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 298
    functionName: PacketizeReset
    functionSourceFile: /src/vlc/modules/packetizer/vc1.c
    functionUses: 0
    functionsReached:
    - block_ChainRelease
    - date_Set
    linkageType: ''
    returnType: void
    signature: void PacketizeReset( void *p_private, bool b_flush )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/vc1.c:305,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/vc1.c:307,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/packetizer/vc1.c:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_private
    - p_au
    argTypes:
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 312
    functionName: PacketizeValidate
    functionSourceFile: /src/vlc/modules/packetizer/vc1.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - date_Get
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int PacketizeValidate( void *p_private, block_t *p_au )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OutputFrame
      Src: /src/vlc/modules/packetizer/vc1.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_private
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 319
    functionName: PacketizeDrain
    functionSourceFile: /src/vlc/modules/packetizer/vc1.c
    functionUses: 0
    functionsReached:
    - OutputFrame
    linkageType: ''
    returnType: block_t
    signature: block_t * PacketizeDrain( void *p_private )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xrealloc
      Src: /src/vlc/modules/packetizer/vc1.c:334,1
    - Dst: memcpy
      Src: /src/vlc/modules/packetizer/vc1.c:336,1
    - Dst: memcpy
      Src: /src/vlc/modules/packetizer/vc1.c:338,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 340
    functionName: BuildExtraData
    functionSourceFile: /src/vlc/modules/packetizer/vc1.c
    functionUses: 0
    functionsReached:
    - memcpy
    - xrealloc
    linkageType: ''
    returnType: void
    signature: void BuildExtraData( decoder_t *p_dec )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: block_Duplicate
      Src: /src/vlc/modules/packetizer/vc1.c:350,1
    - Dst: block_Duplicate
      Src: /src/vlc/modules/packetizer/vc1.c:351,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/packetizer/vc1.c:353,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/packetizer/vc1.c:354,1
    - Dst: block_ChainGather
      Src: /src/vlc/modules/packetizer/vc1.c:363,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/vc1.c:372,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/vc1.c:374,1
    - Dst: date_Increment
      Src: /src/vlc/modules/packetizer/vc1.c:394,1
    - Dst: cc_Flush
      Src: /src/vlc/modules/packetizer/vc1.c:405,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 415
    functionName: OutputFrame
    functionSourceFile: /src/vlc/modules/packetizer/vc1.c
    functionUses: 1
    functionsReached:
    - block_ChainAppend
    - cc_Flush
    - date_Set
    - block_Duplicate
    - date_Get
    - date_Increment
    - block_ChainGather
    linkageType: ''
    returnType: block_t
    signature: block_t *OutputFrame( decoder_t *p_dec )
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/packetizer/vc1.c:428,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/vc1.c:429,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/packetizer/vc1.c:434,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/vc1.c:435,1
    - Dst: OutputFrame
      Src: /src/vlc/modules/packetizer/vc1.c:448,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/vc1.c:462,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/vc1.c:474,1
    - Dst: block_Duplicate
      Src: /src/vlc/modules/packetizer/vc1.c:475,1
    - Dst: GetWBE
      Src: /src/vlc/modules/packetizer/vc1.c:482,1
    - Dst: GetWBE
      Src: /src/vlc/modules/packetizer/vc1.c:483,1
    - Dst: memcpy
      Src: /src/vlc/modules/packetizer/vc1.c:498,1
    - Dst: hxxx_bsfw_ep3b_ctx_init
      Src: /src/vlc/modules/packetizer/vc1.c:505,1
    - Dst: bs_init_custom
      Src: /src/vlc/modules/packetizer/vc1.c:506,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/vc1.c:509,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/vc1.c:512,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/vc1.c:519,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/vc1.c:521,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/vc1.c:522,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/vc1.c:525,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/vc1.c:528,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/vc1.c:529,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/vc1.c:530,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/vc1.c:531,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/vc1.c:532,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/vc1.c:533,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/vc1.c:535,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/vc1.c:537,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/vc1.c:538,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/vc1.c:544,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/vc1.c:546,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/vc1.c:553,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/vc1.c:558,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/vc1.c:559,1
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/packetizer/vc1.c:566,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/vc1.c:568,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/vc1.c:571,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/vc1.c:575,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/vc1.c:577,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/vc1.c:582,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/vc1.c:583,1
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/packetizer/vc1.c:606,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/vc1.c:610,1
    - Dst: date_Change
      Src: /src/vlc/modules/packetizer/vc1.c:611,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/vc1.c:615,1
    - Dst: iso_23001_8_cp_to_vlc_primaries
      Src: /src/vlc/modules/packetizer/vc1.c:618,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/vc1.c:618,1
    - Dst: iso_23001_8_tc_to_vlc_xfer
      Src: /src/vlc/modules/packetizer/vc1.c:619,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/vc1.c:619,1
    - Dst: iso_23001_8_mc_to_vlc_coeffs
      Src: /src/vlc/modules/packetizer/vc1.c:620,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/vc1.c:620,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/vc1.c:630,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/vc1.c:632,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/vc1.c:635,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/vc1.c:636,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/vc1.c:640,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/vc1.c:642,1
    - Dst: BuildExtraData
      Src: /src/vlc/modules/packetizer/vc1.c:645,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/vc1.c:650,1
    - Dst: block_Duplicate
      Src: /src/vlc/modules/packetizer/vc1.c:651,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/vc1.c:654,1
    - Dst: BuildExtraData
      Src: /src/vlc/modules/packetizer/vc1.c:657,1
    - Dst: hxxx_bsfw_ep3b_ctx_init
      Src: /src/vlc/modules/packetizer/vc1.c:665,1
    - Dst: bs_init_custom
      Src: /src/vlc/modules/packetizer/vc1.c:666,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/vc1.c:675,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/vc1.c:677,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/vc1.c:687,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/vc1.c:709,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/vc1.c:711,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/vc1.c:713,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/vc1.c:715,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/vc1.c:724,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/vc1.c:725,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/vc1.c:727,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/vc1.c:729,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/vc1.c:731,1
    - Dst: hxxx_bsfw_ep3b_ctx_init
      Src: /src/vlc/modules/packetizer/vc1.c:743,1
    - Dst: bs_init_custom
      Src: /src/vlc/modules/packetizer/vc1.c:744,1
    - Dst: malloc
      Src: /src/vlc/modules/packetizer/vc1.c:747,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/vc1.c:753,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/vc1.c:754,1
    - Dst: memcmp
      Src: /src/vlc/modules/packetizer/vc1.c:765,1
    - Dst: cc_ProbeAndExtract
      Src: /src/vlc/modules/packetizer/vc1.c:767,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/vc1.c:770,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/vc1.c:775,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 223
    argCount: 3
    argNames:
    - p_private
    - pb_ts_used
    - p_frag
    argTypes:
    - void*
    - bool*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 777
    functionName: ParseIDU
    functionSourceFile: /src/vlc/modules/packetizer/vc1.c
    functionUses: 0
    functionsReached:
    - hxxx_bsfw_ep3b_ctx_init
    - bs_skip
    - iso_23001_8_tc_to_vlc_xfer
    - memcpy
    - memcmp
    - BuildExtraData
    - bs_read1
    - iso_23001_8_cp_to_vlc_primaries
    - msg_Dbg
    - msg_Warn
    - iso_23001_8_mc_to_vlc_coeffs
    - block_ChainLastAppend
    - bs_read
    - bs_error
    - GetWBE
    - block_Release
    - cc_ProbeAndExtract
    - bs_init_custom
    - block_Duplicate
    - free
    - vlc_ureduce
    - date_Change
    - malloc
    - OutputFrame
    linkageType: ''
    returnType: block_t
    signature: block_t *ParseIDU( void *p_private, bool *pb_ts_used, block_t *p_frag
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/packetizer/vc1.c:787,1
    - Dst: memcpy
      Src: /src/vlc/modules/packetizer/vc1.c:790,1
    - Dst: cc_Flush
      Src: /src/vlc/modules/packetizer/vc1.c:799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - p_dec
    - p_desc
    argTypes:
    - decoder_t*
    - decoder_cc_desc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 801
    functionName: GetCc
    functionSourceFile: /src/vlc/modules/packetizer/vc1.c
    functionUses: 0
    functionsReached:
    - block_Alloc
    - memcpy
    - cc_Flush
    linkageType: ''
    returnType: block_t
    signature: block_t *GetCc( decoder_t *p_dec, decoder_cc_desc_t *p_desc )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - p_buf
    - i_buf
    - pi_len
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 39
    functionName: leb128
    functionSourceFile: /src/vlc/modules/packetizer/av1_obu.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t leb128(const uint8_t *p_buf, size_t i_buf, uint8_t *pi_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_buf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: AV1_OBUGetType
    functionSourceFile: /src/vlc/modules/packetizer/av1_obu.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum av1_obu_type_e
    signature: enum av1_obu_type_e AV1_OBUGetType(const uint8_t *p_buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_buf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: AV1_OBUHasSizeField
    functionSourceFile: /src/vlc/modules/packetizer/av1_obu.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AV1_OBUHasSizeField(const uint8_t *p_buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_buf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: AV1_OBUHasExtensionField
    functionSourceFile: /src/vlc/modules/packetizer/av1_obu.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AV1_OBUHasExtensionField(const uint8_t *p_buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - p_buf
    - i_buf
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: AV1_OBUIsValid
    functionSourceFile: /src/vlc/modules/packetizer/av1_obu.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AV1_OBUIsValid(const uint8_t *p_buf, size_t i_buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AV1_OBUHasExtensionField
      Src: /src/vlc/modules/packetizer/av1_obu.h:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - p_buf
    - i_buf
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: AV1_OBUIsBaseLayer
    functionSourceFile: /src/vlc/modules/packetizer/av1_obu.h
    functionUses: 0
    functionsReached:
    - AV1_OBUHasExtensionField
    linkageType: ''
    returnType: bool
    signature: bool AV1_OBUIsBaseLayer(const uint8_t *p_buf, size_t i_buf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AV1_OBUHasSizeField
      Src: /src/vlc/modules/packetizer/av1_obu.h:84,1
    - Dst: AV1_OBUHasExtensionField
      Src: /src/vlc/modules/packetizer/av1_obu.h:86,1
    - Dst: AV1_OBUHasExtensionField
      Src: /src/vlc/modules/packetizer/av1_obu.h:88,1
    - Dst: AV1_OBUHasExtensionField
      Src: /src/vlc/modules/packetizer/av1_obu.h:91,1
    - Dst: leb128
      Src: /src/vlc/modules/packetizer/av1_obu.h:102,1
    - Dst: INT64_C
      Src: /src/vlc/modules/packetizer/av1_obu.h:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - p_buf
    - i_buf
    - pi_len
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 109
    functionName: AV1_OBUSize
    functionSourceFile: /src/vlc/modules/packetizer/av1_obu.h
    functionUses: 0
    functionsReached:
    - leb128
    - AV1_OBUHasExtensionField
    - INT64_C
    - AV1_OBUHasSizeField
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t AV1_OBUSize(const uint8_t *p_buf, size_t i_buf, uint8_t *pi_len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AV1_OBUHasExtensionField
      Src: /src/vlc/modules/packetizer/av1_obu.h:115,1
    - Dst: AV1_OBUHasSizeField
      Src: /src/vlc/modules/packetizer/av1_obu.h:116,1
    - Dst: AV1_OBUSize
      Src: /src/vlc/modules/packetizer/av1_obu.h:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pp_buf
    - pi_buf
    argTypes:
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 129
    functionName: AV1_OBUSkipHeader
    functionSourceFile: /src/vlc/modules/packetizer/av1_obu.h
    functionUses: 0
    functionsReached:
    - AV1_OBUHasExtensionField
    - AV1_OBUSize
    - AV1_OBUHasSizeField
    linkageType: ''
    returnType: bool
    signature: bool AV1_OBUSkipHeader(const uint8_t **pp_buf, size_t *pi_buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AV1_OBUSkipHeader
      Src: /src/vlc/modules/packetizer/av1_obu.h:148,1
    - Dst: leb128
      Src: /src/vlc/modules/packetizer/av1_obu.h:152,1
    - Dst: INT64_C
      Src: /src/vlc/modules/packetizer/av1_obu.h:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - p_buf
    - i_buf
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 145
    functionDepth: 3
    functionLinenumber: 145
    functionLinenumberEnd: 156
    functionName: AV1_OBUGetMetadataType
    functionSourceFile: /src/vlc/modules/packetizer/av1_obu.h
    functionUses: 0
    functionsReached:
    - leb128
    - AV1_OBUSkipHeader
    - INT64_C
    linkageType: ''
    returnType: enum av1_obu_metadata_type_e
    signature: enum av1_obu_metadata_type_e AV1_OBUGetMetadataType(const uint8_t *p_buf,
      size_t i_buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p_ctx
    - p_data
    - i_data
    argTypes:
    - AV1_OBU_iterator_ctx_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 214
    functionName: AV1_OBU_iterator_init
    functionSourceFile: /src/vlc/modules/packetizer/av1_obu.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void AV1_OBU_iterator_init(AV1_OBU_iterator_ctx_t *p_ctx,\n                                         const
      uint8_t *p_data, size_t i_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AV1_OBUIsValid
      Src: /src/vlc/modules/packetizer/av1_obu.h:220,1
    - Dst: AV1_OBUHasSizeField
      Src: /src/vlc/modules/packetizer/av1_obu.h:222,1
    - Dst: AV1_OBUSize
      Src: /src/vlc/modules/packetizer/av1_obu.h:231,1
    - Dst: AV1_OBUHasExtensionField
      Src: /src/vlc/modules/packetizer/av1_obu.h:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - p_ctx
    - pp_start
    - pi_size
    argTypes:
    - AV1_OBU_iterator_ctx_t*
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 239
    functionName: AV1_OBU_iterate_next
    functionSourceFile: /src/vlc/modules/packetizer/av1_obu.h
    functionUses: 0
    functionsReached:
    - AV1_OBUIsValid
    - AV1_OBUHasExtensionField
    - AV1_OBUSize
    - AV1_OBUHasSizeField
    linkageType: ''
    returnType: bool
    signature: "bool AV1_OBU_iterate_next(AV1_OBU_iterator_ctx_t *p_ctx,\n                                        const
      uint8_t **pp_start, size_t *pi_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - i_map
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: TrueHdChannels
    functionSourceFile: /src/vlc/modules/packetizer/mlp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TrueHdChannels( int i_map )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/packetizer/mlp.c:124,1
    - Dst: memcmp
      Src: /src/vlc/modules/packetizer/mlp.c:124,1
    - Dst: bs_init
      Src: /src/vlc/modules/packetizer/mlp.c:129,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mlp.c:132,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mlp.c:142,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mlp.c:144,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mlp.c:148,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mlp.c:150,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mlp.c:152,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mlp.c:157,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mlp.c:159,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mlp.c:161,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mlp.c:163,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mlp.c:165,1
    - Dst: TrueHdChannels
      Src: /src/vlc/modules/packetizer/mlp.c:167,1
    - Dst: TrueHdChannels
      Src: /src/vlc/modules/packetizer/mlp.c:169,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mlp.c:184,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mlp.c:186,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mlp.c:187,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mlp.c:189,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mlp.c:190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 2
    argNames:
    - p_mlp
    - p_hdr
    argTypes:
    - mlp_header_t*
    - uint8_t[]
    assertStmts:
    - condition: ( !memcmp( p_hdr, pu_start_code, 3 ) )
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/vlc/modules/packetizer/mlp.c
    constantsTouched: []
    func_position:
      end: 195
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 195
    functionName: MlpParse
    functionSourceFile: /src/vlc/modules/packetizer/mlp.c
    functionUses: 0
    functionsReached:
    - assert
    - bs_skip
    - TrueHdChannels
    - bs_read
    - bs_init
    - memcmp
    linkageType: ''
    returnType: int
    signature: int MlpParse( mlp_header_t *p_mlp, const uint8_t p_hdr[MLP_HEADER_SYNC]
      )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/packetizer/mlp.c:200,1
    - Dst: MlpParse
      Src: /src/vlc/modules/packetizer/mlp.c:209,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - p_hdr
    - pb_mlp
    - p_mlp
    argTypes:
    - uint8_t*
    - bool*
    - mlp_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 239
    functionName: SyncInfo
    functionSourceFile: /src/vlc/modules/packetizer/mlp.c
    functionUses: 0
    functionsReached:
    - memcmp
    - MlpParse
    linkageType: ''
    returnType: int
    signature: int SyncInfo( const uint8_t *p_hdr, bool *pb_mlp, mlp_header_t *p_mlp
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_a52_header_Parse
      Src: /src/vlc/modules/packetizer/mlp.c:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_buf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 251
    functionName: SyncInfoDolby
    functionSourceFile: /src/vlc/modules/packetizer/mlp.c
    functionUses: 0
    functionsReached:
    - vlc_a52_header_Parse
    linkageType: ''
    returnType: int
    signature: int SyncInfoDolby( const uint8_t *p_buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_BytestreamEmpty
      Src: /src/vlc/modules/packetizer/mlp.c:260,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/mlp.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 262
    functionName: Flush
    functionSourceFile: /src/vlc/modules/packetizer/mlp.c
    functionUses: 11
    functionsReached:
    - block_BytestreamEmpty
    - date_Set
    linkageType: ''
    returnType: void
    signature: void Flush( decoder_t *p_dec )
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: Packetize
      Src: /src/vlc/modules/packetizer/mlp.c:277,1
    - Dst: Flush
      Src: /src/vlc/modules/packetizer/mlp.c:281,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/mlp.c:285,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/mlp.c:291,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/mlp.c:294,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/mlp.c:295,1
    - Dst: block_BytestreamPush
      Src: /src/vlc/modules/packetizer/mlp.c:299,1
    - Dst: block_PeekBytes
      Src: /src/vlc/modules/packetizer/mlp.c:307,1
    - Dst: SyncInfo
      Src: /src/vlc/modules/packetizer/mlp.c:309,1
    - Dst: SyncInfoDolby
      Src: /src/vlc/modules/packetizer/mlp.c:314,1
    - Dst: block_SkipByte
      Src: /src/vlc/modules/packetizer/mlp.c:319,1
    - Dst: block_BytestreamFlush
      Src: /src/vlc/modules/packetizer/mlp.c:323,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/mlp.c:334,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/mlp.c:336,1
    - Dst: block_PeekBytes
      Src: /src/vlc/modules/packetizer/mlp.c:343,1
    - Dst: SyncInfoDolby
      Src: /src/vlc/modules/packetizer/mlp.c:350,1
    - Dst: SyncInfo
      Src: /src/vlc/modules/packetizer/mlp.c:352,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/mlp.c:355,1
    - Dst: block_SkipByte
      Src: /src/vlc/modules/packetizer/mlp.c:356,1
    - Dst: block_PeekOffsetBytes
      Src: /src/vlc/modules/packetizer/mlp.c:366,1
    - Dst: SyncInfo
      Src: /src/vlc/modules/packetizer/mlp.c:380,1
    - Dst: SyncInfoDolby
      Src: /src/vlc/modules/packetizer/mlp.c:380,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/mlp.c:382,1
    - Dst: block_SkipByte
      Src: /src/vlc/modules/packetizer/mlp.c:386,1
    - Dst: block_WaitBytes
      Src: /src/vlc/modules/packetizer/mlp.c:394,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/packetizer/mlp.c:405,1
    - Dst: block_GetBytes
      Src: /src/vlc/modules/packetizer/mlp.c:410,1
    - Dst: SyncInfoDolby
      Src: /src/vlc/modules/packetizer/mlp.c:414,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/mlp.c:416,1
    - Dst: msg_Info
      Src: /src/vlc/modules/packetizer/mlp.c:424,1
    - Dst: date_Change
      Src: /src/vlc/modules/packetizer/mlp.c:428,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/mlp.c:437,1
    - Dst: date_Increment
      Src: /src/vlc/modules/packetizer/mlp.c:441,1
    - Dst: block_BytestreamPop
      Src: /src/vlc/modules/packetizer/mlp.c:455,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 117
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 264
    functionDepth: 3
    functionLinenumber: 264
    functionLinenumberEnd: 467
    functionName: Packetize
    functionSourceFile: /src/vlc/modules/packetizer/mlp.c
    functionUses: 3
    functionsReached:
    - block_Alloc
    - date_Increment
    - block_GetBytes
    - block_BytestreamFlush
    - Packetize
    - msg_Dbg
    - date_Get
    - block_WaitBytes
    - block_PeekBytes
    - Flush
    - SyncInfoDolby
    - date_Set
    - block_PeekOffsetBytes
    - block_BytestreamPop
    - block_Release
    - SyncInfo
    - msg_Info
    - date_Change
    - block_SkipByte
    - block_BytestreamPush
    linkageType: ''
    returnType: block_t
    signature: block_t *Packetize( decoder_t *p_dec, block_t **pp_block )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/packetizer/mlp.c:479,1
    - Dst: date_Init
      Src: /src/vlc/modules/packetizer/mlp.c:485,1
    - Dst: block_BytestreamInit
      Src: /src/vlc/modules/packetizer/mlp.c:487,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 500
    functionName: Open
    functionSourceFile: /src/vlc/modules/packetizer/mlp.c
    functionUses: 28
    functionsReached:
    - block_BytestreamInit
    - date_Init
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_BytestreamRelease
      Src: /src/vlc/modules/packetizer/mlp.c:507,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/mlp.c:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 510
    functionName: Close
    functionSourceFile: /src/vlc/modules/packetizer/mlp.c
    functionUses: 86
    functionsReached:
    - free
    - block_BytestreamRelease
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bs_init
      Src: /src/vlc/modules/packetizer/a52.h:101,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/a52.h:104,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/a52.h:107,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/a52.h:110,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/a52.h:111,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/a52.h:112,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/a52.h:116,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/a52.h:121,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/a52.h:124,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/a52.h:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - bs
    - p_buf
    - i_buf
    argTypes:
    - struct vlc_a52_bitstream_info*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 128
    functionName: vlc_a52_ParseAc3BitstreamInfo
    functionSourceFile: /src/vlc/modules/packetizer/a52.h
    functionUses: 0
    functionsReached:
    - bs_init
    - bs_skip
    - bs_read
    linkageType: ''
    returnType: int
    signature: "int vlc_a52_ParseAc3BitstreamInfo( struct vlc_a52_bitstream_info *bs,\n
      \                                                const uint8_t *p_buf, size_t
      i_buf )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_a52_ParseAc3BitstreamInfo
      Src: /src/vlc/modules/packetizer/a52.h:135,1
    - Dst: stdc_count_ones
      Src: /src/vlc/modules/packetizer/a52.h:202,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/packetizer/a52.h:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - p_header
    - p_buf
    - p_acmod
    - pi_fscod_samplerates
    argTypes:
    - vlc_a52_header_t*
    - uint8_t*
    - uint32_t*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 216
    functionName: vlc_a52_header_ParseAc3
    functionSourceFile: /src/vlc/modules/packetizer/a52.h
    functionUses: 0
    functionsReached:
    - stdc_count_ones
    - vlc_a52_ParseAc3BitstreamInfo
    - VLC_CLIP
    linkageType: ''
    returnType: int
    signature: "int vlc_a52_header_ParseAc3( vlc_a52_header_t *p_header,\n                                           const
      uint8_t *p_buf,\n                                           const uint32_t *p_acmod,\n
      \                                          const unsigned *pi_fscod_samplerates
      )"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: bs_init
      Src: /src/vlc/modules/packetizer/a52.h:225,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/a52.h:226,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/a52.h:227,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/a52.h:229,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/a52.h:233,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/a52.h:236,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/a52.h:241,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/a52.h:243,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/a52.h:244,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/a52.h:245,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/a52.h:253,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/a52.h:254,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/a52.h:255,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/a52.h:259,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/a52.h:260,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/a52.h:261,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/a52.h:264,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/a52.h:265,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/a52.h:267,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/a52.h:271,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/a52.h:273,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/a52.h:275,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/a52.h:278,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/a52.h:279,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/a52.h:283,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/a52.h:284,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/a52.h:285,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/a52.h:286,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/a52.h:287,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/a52.h:288,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/a52.h:289,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/a52.h:291,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/a52.h:293,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/a52.h:296,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/a52.h:298,1
    - Dst: bs_align
      Src: /src/vlc/modules/packetizer/a52.h:299,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/a52.h:303,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/a52.h:304,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/a52.h:305,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/a52.h:306,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/a52.h:308,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/a52.h:315,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/a52.h:321,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/a52.h:323,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 77
    argCount: 3
    argNames:
    - bs
    - p_buf
    - i_buf
    argTypes:
    - struct vlc_a52_bitstream_info*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 329
    functionName: vlc_a52_ParseEac3BitstreamInfo
    functionSourceFile: /src/vlc/modules/packetizer/a52.h
    functionUses: 0
    functionsReached:
    - bs_read1
    - bs_skip
    - bs_read
    - bs_align
    - bs_init
    linkageType: ''
    returnType: int
    signature: "int vlc_a52_ParseEac3BitstreamInfo( struct vlc_a52_bitstream_info
      *bs,\n                                                  const uint8_t *p_buf,
      size_t i_buf )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_a52_ParseEac3BitstreamInfo
      Src: /src/vlc/modules/packetizer/a52.h:336,1
    - Dst: stdc_count_ones
      Src: /src/vlc/modules/packetizer/a52.h:363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - p_header
    - p_buf
    - p_acmod
    - pi_fscod_samplerates
    argTypes:
    - vlc_a52_header_t*
    - uint8_t*
    - uint32_t*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 370
    functionName: vlc_a52_header_ParseEac3
    functionSourceFile: /src/vlc/modules/packetizer/a52.h
    functionUses: 0
    functionsReached:
    - stdc_count_ones
    - vlc_a52_ParseEac3BitstreamInfo
    linkageType: ''
    returnType: int
    signature: "int vlc_a52_header_ParseEac3( vlc_a52_header_t *p_header,\n                                            const
      uint8_t *p_buf,\n                                            const uint32_t
      *p_acmod,\n                                            const unsigned *pi_fscod_samplerates
      )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_a52_header_ParseAc3
      Src: /src/vlc/modules/packetizer/a52.h:407,1
    - Dst: vlc_a52_header_ParseEac3
      Src: /src/vlc/modules/packetizer/a52.h:410,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - p_header
    - p_buffer
    - i_buffer
    argTypes:
    - vlc_a52_header_t*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 378
    functionDepth: 3
    functionLinenumber: 378
    functionLinenumberEnd: 414
    functionName: vlc_a52_header_Parse
    functionSourceFile: /src/vlc/modules/packetizer/a52.h
    functionUses: 2
    functionsReached:
    - vlc_a52_header_ParseEac3
    - vlc_a52_header_ParseAc3
    linkageType: ''
    returnType: int
    signature: "int vlc_a52_header_Parse( vlc_a52_header_t *p_header,\n                                        const
      uint8_t *p_buffer, int i_buffer )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseNALBlock
      Src: /src/vlc/modules/packetizer/hevc.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - opaque
    - pb_ts_used
    - p_frag
    argTypes:
    - void*
    - bool*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: ParseNALBlockW
    functionSourceFile: /src/vlc/modules/packetizer/hevc.c
    functionUses: 0
    functionsReached:
    - ParseNALBlock
    linkageType: ''
    returnType: block_t
    signature: block_t *ParseNALBlockW( void *opaque, bool *pb_ts_used, block_t *p_frag
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pp_head
    - ppp_tail
    argTypes:
    - block_t**
    - block_t***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: InitQueue
    functionSourceFile: /src/vlc/modules/packetizer/hevc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitQueue( block_t **pp_head, block_t ***ppp_tail )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: INITQ
    functionSourceFile: /src/vlc/modules/packetizer/hevc.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INITQ(name)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GetXPSCopy
      Src: /src/vlc/modules/packetizer/hevc.c:145,1
    - Dst: hevc_getNALType
      Src: /src/vlc/modules/packetizer/hevc.c:152,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/hevc.c:157,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/hevc.c:161,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/hevc.c:164,1
    - Dst: INITQ
      Src: /src/vlc/modules/packetizer/hevc.c:165,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/hevc.c:169,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/hevc.c:175,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/hevc.c:176,1
    - Dst: INITQ
      Src: /src/vlc/modules/packetizer/hevc.c:178,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/hevc.c:184,1
    - Dst: INITQ
      Src: /src/vlc/modules/packetizer/hevc.c:185,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - p_sys
    - b_valid
    argTypes:
    - decoder_sys_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 196
    functionName: OutputQueues
    functionSourceFile: /src/vlc/modules/packetizer/hevc.c
    functionUses: 7
    functionsReached:
    - hevc_getNALType
    - GetXPSCopy
    - INITQ
    - block_ChainLastAppend
    - date_Get
    linkageType: ''
    returnType: block_t
    signature: block_t * OutputQueues(decoder_sys_t *p_sys, bool b_valid)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/packetizer/hevc.c:210,1
    - Dst: cc_storage_new
      Src: /src/vlc/modules/packetizer/hevc.c:214,1
    - Dst: unlikely
      Src: /src/vlc/modules/packetizer/hevc.c:215,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/hevc.c:217,1
    - Dst: INITQ
      Src: /src/vlc/modules/packetizer/hevc.c:221,1
    - Dst: INITQ
      Src: /src/vlc/modules/packetizer/hevc.c:222,1
    - Dst: INITQ
      Src: /src/vlc/modules/packetizer/hevc.c:223,1
    - Dst: packetizer_Init
      Src: /src/vlc/modules/packetizer/hevc.c:225,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/packetizer/hevc.c:232,1
    - Dst: date_Init
      Src: /src/vlc/modules/packetizer/hevc.c:239,1
    - Dst: date_Init
      Src: /src/vlc/modules/packetizer/hevc.c:242,1
    - Dst: hevc_ishvcC
      Src: /src/vlc/modules/packetizer/hevc.c:251,1
    - Dst: hevc_hvcC_to_AnnexB_NAL
      Src: /src/vlc/modules/packetizer/hevc.c:255,1
    - Dst: msg_Err
      Src: /src/vlc/modules/packetizer/hevc.c:259,1
    - Dst: Close
      Src: /src/vlc/modules/packetizer/hevc.c:260,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/packetizer/hevc.c:260,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/hevc.c:264,1
    - Dst: packetizer_Header
      Src: /src/vlc/modules/packetizer/hevc.c:279,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 284
    functionName: Open
    functionSourceFile: /src/vlc/modules/packetizer/hevc.c
    functionUses: 28
    functionsReached:
    - hevc_hvcC_to_AnnexB_NAL
    - hevc_ishvcC
    - cc_storage_new
    - date_Init
    - INITQ
    - calloc
    - free
    - packetizer_Init
    - msg_Err
    - VLC_OBJECT
    - Close
    - es_format_Copy
    - unlikely
    - packetizer_Header
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *p_this)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_Clean
      Src: /src/vlc/modules/packetizer/hevc.c:293,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/packetizer/hevc.c:295,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/packetizer/hevc.c:296,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/packetizer/hevc.c:297,1
    - Dst: hevc_rbsp_release_pps
      Src: /src/vlc/modules/packetizer/hevc.c:302,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/hevc.c:304,1
    - Dst: hevc_rbsp_release_sps
      Src: /src/vlc/modules/packetizer/hevc.c:310,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/hevc.c:312,1
    - Dst: hevc_rbsp_release_vps
      Src: /src/vlc/modules/packetizer/hevc.c:318,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/hevc.c:320,1
    - Dst: hevc_release_sei_pic_timing
      Src: /src/vlc/modules/packetizer/hevc.c:323,1
    - Dst: cc_storage_delete
      Src: /src/vlc/modules/packetizer/hevc.c:325,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/hevc.c:327,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 328
    functionName: Close
    functionSourceFile: /src/vlc/modules/packetizer/hevc.c
    functionUses: 87
    functionsReached:
    - block_Release
    - cc_storage_delete
    - block_ChainRelease
    - hevc_rbsp_release_pps
    - free
    - packetizer_Clean
    - hevc_rbsp_release_sps
    - hevc_rbsp_release_vps
    - hevc_release_sei_pic_timing
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PacketizeXXC1
      Src: /src/vlc/modules/packetizer/hevc.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 340
    functionName: PacketizeHVC1
    functionSourceFile: /src/vlc/modules/packetizer/hevc.c
    functionUses: 0
    functionsReached:
    - PacketizeXXC1
    linkageType: ''
    returnType: block_t
    signature: block_t *PacketizeHVC1(decoder_t *p_dec, block_t **pp_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_Packetize
      Src: /src/vlc/modules/packetizer/hevc.c:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 347
    functionName: PacketizeAnnexB
    functionSourceFile: /src/vlc/modules/packetizer/hevc.c
    functionUses: 0
    functionsReached:
    - packetizer_Packetize
    linkageType: ''
    returnType: block_t
    signature: block_t *PacketizeAnnexB(decoder_t *p_dec, block_t **pp_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_Flush
      Src: /src/vlc/modules/packetizer/hevc.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 354
    functionName: PacketizeFlush
    functionSourceFile: /src/vlc/modules/packetizer/hevc.c
    functionUses: 0
    functionsReached:
    - packetizer_Flush
    linkageType: ''
    returnType: void
    signature: void PacketizeFlush( decoder_t *p_dec )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cc_storage_get_current
      Src: /src/vlc/modules/packetizer/hevc.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_dec
    - p_desc
    argTypes:
    - decoder_t*
    - decoder_cc_desc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 363
    functionName: GetCc
    functionSourceFile: /src/vlc/modules/packetizer/hevc.c
    functionUses: 0
    functionsReached:
    - cc_storage_get_current
    linkageType: ''
    returnType: block_t
    signature: block_t *GetCc( decoder_t *p_dec, decoder_cc_desc_t *p_desc )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OutputQueues
      Src: /src/vlc/modules/packetizer/hevc.c:373,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/packetizer/hevc.c:375,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/hevc.c:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p_private
    - b_flush
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 384
    functionName: PacketizeReset
    functionSourceFile: /src/vlc/modules/packetizer/hevc.c
    functionUses: 0
    functionsReached:
    - block_ChainRelease
    - date_Set
    - OutputQueues
    linkageType: ''
    returnType: void
    signature: void PacketizeReset(void *p_private, bool b_flush)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_strip_AnnexB_startcode
      Src: /src/vlc/modules/packetizer/hevc.c:422,1
    - Dst: hxxx_strip_AnnexB_startcode
      Src: /src/vlc/modules/packetizer/hevc.c:425,1
    - Dst: memcmp
      Src: /src/vlc/modules/packetizer/hevc.c:426,1
    - Dst: hevc_rbsp_release_vps
      Src: /src/vlc/modules/packetizer/hevc.c:436,1
    - Dst: hevc_rbsp_release_sps
      Src: /src/vlc/modules/packetizer/hevc.c:439,1
    - Dst: hevc_rbsp_release_pps
      Src: /src/vlc/modules/packetizer/hevc.c:442,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/hevc.c:456,1
    - Dst: hxxx_strip_AnnexB_startcode
      Src: /src/vlc/modules/packetizer/hevc.c:462,1
    - Dst: hevc_decode_sps
      Src: /src/vlc/modules/packetizer/hevc.c:468,1
    - Dst: msg_Err
      Src: /src/vlc/modules/packetizer/hevc.c:471,1
    - Dst: hevc_decode_pps
      Src: /src/vlc/modules/packetizer/hevc.c:476,1
    - Dst: msg_Err
      Src: /src/vlc/modules/packetizer/hevc.c:479,1
    - Dst: hevc_decode_vps
      Src: /src/vlc/modules/packetizer/hevc.c:484,1
    - Dst: msg_Err
      Src: /src/vlc/modules/packetizer/hevc.c:487,1
    - Dst: block_Duplicate
      Src: /src/vlc/modules/packetizer/hevc.c:496,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 81
    argCount: 4
    argNames:
    - p_dec
    - i_nal_type
    - i_id
    - p_nalb
    argTypes:
    - decoder_t*
    - uint8_t
    - uint8_t
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 502
    functionName: InsertXPS
    functionSourceFile: /src/vlc/modules/packetizer/hevc.c
    functionUses: 1
    functionsReached:
    - block_Release
    - hevc_decode_sps
    - hevc_decode_pps
    - hevc_rbsp_release_pps
    - msg_Err
    - hevc_rbsp_release_sps
    - block_Duplicate
    - hevc_rbsp_release_vps
    - hevc_decode_vps
    - memcmp
    - hxxx_strip_AnnexB_startcode
    linkageType: ''
    returnType: bool
    signature: "bool InsertXPS(decoder_t *p_dec, uint8_t i_nal_type, uint8_t i_id,\n
      \                     const block_t *p_nalb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Duplicate
      Src: /src/vlc/modules/packetizer/hevc.c:517,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/hevc.c:518,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - decoder_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 522
    functionName: GetXPSCopy
    functionSourceFile: /src/vlc/modules/packetizer/hevc.c
    functionUses: 2
    functionsReached:
    - block_Duplicate
    - block_ChainLastAppend
    linkageType: ''
    returnType: block_t
    signature: block_t *GetXPSCopy(decoder_sys_t *p_sys)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hevc_get_pps_sps_id
      Src: /src/vlc/modules/packetizer/hevc.c:531,1
    - Dst: hevc_get_sps_vps_id
      Src: /src/vlc/modules/packetizer/hevc.c:535,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - decoder_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 542
    functionName: XPSReady
    functionSourceFile: /src/vlc/modules/packetizer/hevc.c
    functionUses: 1
    functionsReached:
    - hevc_get_sps_vps_id
    - hevc_get_pps_sps_id
    linkageType: ''
    returnType: bool
    signature: bool XPSReady(decoder_sys_t *p_sys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/vlc/modules/packetizer/hevc.c:551,1
    - Dst: memcpy
      Src: /src/vlc/modules/packetizer/hevc.c:554,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - p_block
    - pp_dst
    - pi_dst
    argTypes:
    - block_t*
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 558
    functionName: AppendAsAnnexB
    functionSourceFile: /src/vlc/modules/packetizer/hevc.c
    functionUses: 0
    functionsReached:
    - realloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void AppendAsAnnexB(const block_t *p_block,\n                           uint8_t
      **pp_dst, size_t *pi_dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - maxcount
    - ','
    - set
    - ','
    - rg
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 569
    functionName: APPENDIF
    functionSourceFile: /src/vlc/modules/packetizer/hevc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APPENDIF(maxcount, set, rg, b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APPENDIF
      Src: /src/vlc/modules/packetizer/hevc.c:579,1
    - Dst: APPENDIF
      Src: /src/vlc/modules/packetizer/hevc.c:580,1
    - Dst: APPENDIF
      Src: /src/vlc/modules/packetizer/hevc.c:581,1
    - Dst: APPENDIF
      Src: /src/vlc/modules/packetizer/hevc.c:582,1
    - Dst: APPENDIF
      Src: /src/vlc/modules/packetizer/hevc.c:583,1
    - Dst: APPENDIF
      Src: /src/vlc/modules/packetizer/hevc.c:584,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/hevc.c:592,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 6
    argNames:
    - p_sys
    - p_pps
    - p_sps
    - p_vps
    - pp_out
    - pi_out
    argTypes:
    - decoder_sys_t*
    - hevc_picture_parameter_set_t*
    - hevc_sequence_parameter_set_t*
    - hevc_video_parameter_set_t*
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 593
    functionName: SetsToAnnexB
    functionSourceFile: /src/vlc/modules/packetizer/hevc.c
    functionUses: 1
    functionsReached:
    - free
    - APPENDIF
    linkageType: ''
    returnType: void
    signature: "void SetsToAnnexB(decoder_sys_t *p_sys,\n                         const
      hevc_picture_parameter_set_t *p_pps,\n                         const hevc_sequence_parameter_set_t
      *p_sps,\n                         const hevc_video_parameter_set_t *p_vps,\n
      \                        uint8_t **pp_out, size_t *pi_out)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: hevc_get_frame_rate
      Src: /src/vlc/modules/packetizer/hevc.c:609,1
    - Dst: date_Change
      Src: /src/vlc/modules/packetizer/hevc.c:617,1
    - Dst: hevc_get_colorimetry
      Src: /src/vlc/modules/packetizer/hevc.c:626,1
    - Dst: hevc_get_picture_size
      Src: /src/vlc/modules/packetizer/hevc.c:634,1
    - Dst: hevc_get_aspect_ratio
      Src: /src/vlc/modules/packetizer/hevc.c:652,1
    - Dst: hevc_get_sps_profile_tier_level
      Src: /src/vlc/modules/packetizer/hevc.c:662,1
    - Dst: SetsToAnnexB
      Src: /src/vlc/modules/packetizer/hevc.c:670,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 4
    argNames:
    - p_dec
    - p_pps
    - p_sps
    - p_vps
    argTypes:
    - decoder_t*
    - hevc_picture_parameter_set_t*
    - hevc_sequence_parameter_set_t*
    - hevc_video_parameter_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 673
    functionName: ActivateSets
    functionSourceFile: /src/vlc/modules/packetizer/hevc.c
    functionUses: 1
    functionsReached:
    - hevc_get_picture_size
    - hevc_get_sps_profile_tier_level
    - hevc_get_frame_rate
    - SetsToAnnexB
    - date_Change
    - hevc_get_aspect_ratio
    - hevc_get_colorimetry
    linkageType: ''
    returnType: void
    signature: "void ActivateSets(decoder_t *p_dec,\n                         const
      hevc_picture_parameter_set_t *p_pps,\n                         const hevc_sequence_parameter_set_t
      *p_sps,\n                         const hevc_video_parameter_set_t *p_vps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hevc_get_pps_sps_id
      Src: /src/vlc/modules/packetizer/hevc.c:684,1
    - Dst: hevc_get_sps_vps_id
      Src: /src/vlc/modules/packetizer/hevc.c:685,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - i_pps_id
    - priv
    - pp_pps
    - pp_sps
    - pp_vps
    argTypes:
    - uint8_t
    - void*
    - hevc_picture_parameter_set_t**
    - hevc_sequence_parameter_set_t**
    - hevc_video_parameter_set_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 686
    functionName: GetXPSSet
    functionSourceFile: /src/vlc/modules/packetizer/hevc.c
    functionUses: 1
    functionsReached:
    - hevc_get_sps_vps_id
    - hevc_get_pps_sps_id
    linkageType: ''
    returnType: void
    signature: "void GetXPSSet(uint8_t i_pps_id, void *priv,\n                      hevc_picture_parameter_set_t
      **pp_pps,\n                      hevc_sequence_parameter_set_t **pp_sps,\n                      hevc_video_parameter_set_t
      **pp_vps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hevc_getNALType
      Src: /src/vlc/modules/packetizer/hevc.c:698,1
    - Dst: HxxxParse_AnnexB_SEI
      Src: /src/vlc/modules/packetizer/hevc.c:700,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 704
    functionName: ParseStoredSEI
    functionSourceFile: /src/vlc/modules/packetizer/hevc.c
    functionUses: 1
    functionsReached:
    - HxxxParse_AnnexB_SEI
    - hevc_getNALType
    linkageType: ''
    returnType: void
    signature: void ParseStoredSEI( decoder_t *p_dec )
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/packetizer/hevc.c:714,1
    - Dst: hxxx_strip_AnnexB_startcode
      Src: /src/vlc/modules/packetizer/hevc.c:714,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/hevc.c:716,1
    - Dst: hevc_getNALLayer
      Src: /src/vlc/modules/packetizer/hevc.c:720,1
    - Dst: OutputQueues
      Src: /src/vlc/modules/packetizer/hevc.c:727,1
    - Dst: hevc_decode_slice_header
      Src: /src/vlc/modules/packetizer/hevc.c:731,1
    - Dst: GetXPSSet
      Src: /src/vlc/modules/packetizer/hevc.c:738,1
    - Dst: hevc_get_slice_pps_id
      Src: /src/vlc/modules/packetizer/hevc.c:738,1
    - Dst: ActivateSets
      Src: /src/vlc/modules/packetizer/hevc.c:739,1
    - Dst: ParseStoredSEI
      Src: /src/vlc/modules/packetizer/hevc.c:742,1
    - Dst: hevc_get_slice_type
      Src: /src/vlc/modules/packetizer/hevc.c:760,1
    - Dst: hevc_rbsp_release_slice_header
      Src: /src/vlc/modules/packetizer/hevc.c:782,1
    - Dst: XPSReady
      Src: /src/vlc/modules/packetizer/hevc.c:785,1
    - Dst: cc_storage_reset
      Src: /src/vlc/modules/packetizer/hevc.c:794,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/hevc.c:796,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 55
    argCount: 3
    argNames:
    - p_dec
    - i_nal_type
    - p_frag
    argTypes:
    - decoder_t*
    - uint8_t
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 799
    functionName: ParseVCL
    functionSourceFile: /src/vlc/modules/packetizer/hevc.c
    functionUses: 1
    functionsReached:
    - hevc_decode_slice_header
    - OutputQueues
    - ParseStoredSEI
    - block_ChainLastAppend
    - hevc_get_slice_pps_id
    - GetXPSSet
    - ActivateSets
    - XPSReady
    - hevc_get_slice_type
    - hevc_getNALLayer
    - hevc_rbsp_release_slice_header
    - unlikely
    - cc_storage_reset
    - hxxx_strip_AnnexB_startcode
    linkageType: ''
    returnType: block_t
    signature: block_t *ParseVCL(decoder_t *p_dec, uint8_t i_nal_type, block_t *p_frag)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OutputQueues
      Src: /src/vlc/modules/packetizer/hevc.c:807,1
    - Dst: OutputQueues
      Src: /src/vlc/modules/packetizer/hevc.c:814,1
    - Dst: hxxx_strip_AnnexB_startcode
      Src: /src/vlc/modules/packetizer/hevc.c:825,1
    - Dst: hevc_get_xps_id
      Src: /src/vlc/modules/packetizer/hevc.c:826,1
    - Dst: InsertXPS
      Src: /src/vlc/modules/packetizer/hevc.c:827,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/hevc.c:830,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/hevc.c:842,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 3
    argNames:
    - p_dec
    - i_nal_type
    - p_nalb
    argTypes:
    - decoder_t*
    - uint8_t
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 801
    functionDepth: 1
    functionLinenumber: 801
    functionLinenumberEnd: 845
    functionName: ParseAUHead
    functionSourceFile: /src/vlc/modules/packetizer/hevc.c
    functionUses: 1
    functionsReached:
    - block_Release
    - OutputQueues
    - block_ChainLastAppend
    - InsertXPS
    - hevc_get_xps_id
    - hxxx_strip_AnnexB_startcode
    linkageType: ''
    returnType: block_t
    signature: block_t * ParseAUHead(decoder_t *p_dec, uint8_t i_nal_type, block_t
      *p_nalb)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/hevc.c:852,1
    - Dst: OutputQueues
      Src: /src/vlc/modules/packetizer/hevc.c:858,1
    - Dst: HxxxParse_AnnexB_SEI
      Src: /src/vlc/modules/packetizer/hevc.c:865,1
    - Dst: OutputQueues
      Src: /src/vlc/modules/packetizer/hevc.c:871,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - p_dec
    - i_nal_type
    - p_nalb
    argTypes:
    - decoder_t*
    - uint8_t
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 847
    functionDepth: 1
    functionLinenumber: 847
    functionLinenumberEnd: 874
    functionName: ParseAUTail
    functionSourceFile: /src/vlc/modules/packetizer/hevc.c
    functionUses: 1
    functionsReached:
    - HxxxParse_AnnexB_SEI
    - OutputQueues
    - block_ChainLastAppend
    linkageType: ''
    returnType: block_t
    signature: block_t * ParseAUTail(decoder_t *p_dec, uint8_t i_nal_type, block_t
      *p_nalb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseAUHead
      Src: /src/vlc/modules/packetizer/hevc.c:885,1
    - Dst: ParseAUTail
      Src: /src/vlc/modules/packetizer/hevc.c:889,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - p_dec
    - i_nal_type
    - p_nalb
    argTypes:
    - decoder_t*
    - uint8_t
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 893
    functionName: ParseNonVCL
    functionSourceFile: /src/vlc/modules/packetizer/hevc.c
    functionUses: 1
    functionsReached:
    - ParseAUTail
    - ParseAUHead
    linkageType: ''
    returnType: block_t
    signature: block_t * ParseNonVCL(decoder_t *p_dec, uint8_t i_nal_type, block_t
      *p_nalb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainGather
      Src: /src/vlc/modules/packetizer/hevc.c:904,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/packetizer/hevc.c:909,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - p_outputchain
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 914
    functionName: GatherAndValidateChain
    functionSourceFile: /src/vlc/modules/packetizer/hevc.c
    functionUses: 2
    functionsReached:
    - block_ChainRelease
    - block_ChainGather
    linkageType: ''
    returnType: block_t
    signature: block_t *GatherAndValidateChain(block_t *p_outputchain)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hevc_get_num_clock_ts
      Src: /src/vlc/modules/packetizer/hevc.c:922,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/hevc.c:924,1
    - Dst: date_Increment
      Src: /src/vlc/modules/packetizer/hevc.c:927,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/hevc.c:928,1
    - Dst: hevc_release_sei_pic_timing
      Src: /src/vlc/modules/packetizer/hevc.c:933,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - p_dec
    - p_output
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 916
    functionDepth: 1
    functionLinenumber: 916
    functionLinenumberEnd: 935
    functionName: SetOutputBlockProperties
    functionSourceFile: /src/vlc/modules/packetizer/hevc.c
    functionUses: 2
    functionsReached:
    - hevc_get_num_clock_ts
    - hevc_release_sei_pic_timing
    - date_Increment
    - date_Get
    linkageType: ''
    returnType: void
    signature: void SetOutputBlockProperties(decoder_t *p_dec, block_t *p_output)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/hevc.c:950,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/hevc.c:952,1
    - Dst: unlikely
      Src: /src/vlc/modules/packetizer/hevc.c:957,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/packetizer/hevc.c:959,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/hevc.c:960,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/packetizer/hevc.c:966,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/hevc.c:967,1
    - Dst: GatherAndValidateChain
      Src: /src/vlc/modules/packetizer/hevc.c:968,1
    - Dst: OutputQueues
      Src: /src/vlc/modules/packetizer/hevc.c:968,1
    - Dst: hevc_getNALType
      Src: /src/vlc/modules/packetizer/hevc.c:974,1
    - Dst: ParseVCL
      Src: /src/vlc/modules/packetizer/hevc.c:979,1
    - Dst: msg_Info
      Src: /src/vlc/modules/packetizer/hevc.c:981,1
    - Dst: ParseNonVCL
      Src: /src/vlc/modules/packetizer/hevc.c:985,1
    - Dst: OutputQueues
      Src: /src/vlc/modules/packetizer/hevc.c:989,1
    - Dst: GatherAndValidateChain
      Src: /src/vlc/modules/packetizer/hevc.c:992,1
    - Dst: assert
      Src: /src/vlc/modules/packetizer/hevc.c:997,1
    - Dst: SetOutputBlockProperties
      Src: /src/vlc/modules/packetizer/hevc.c:1001,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/hevc.c:1003,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - p_dec
    - pb_ts_used
    - p_frag
    argTypes:
    - decoder_t*
    - bool*
    - block_t*
    assertStmts:
    - condition: (p_sys->sets == COMPLETE)
      pos:
        line_end: 996
        line_start: 996
        source_file: /src/vlc/modules/packetizer/hevc.c
    constantsTouched: []
    func_position:
      end: 1009
      start: 941
    functionDepth: 1
    functionLinenumber: 941
    functionLinenumberEnd: 1009
    functionName: ParseNALBlock
    functionSourceFile: /src/vlc/modules/packetizer/hevc.c
    functionUses: 3
    functionsReached:
    - block_Release
    - assert
    - OutputQueues
    - GatherAndValidateChain
    - hevc_getNALType
    - ParseNonVCL
    - SetOutputBlockProperties
    - date_Set
    - msg_Info
    - date_Get
    - msg_Warn
    - unlikely
    - ParseVCL
    linkageType: ''
    returnType: block_t
    signature: block_t *ParseNALBlock(decoder_t *p_dec, bool *pb_ts_used, block_t
      *p_frag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseNALBlock
      Src: /src/vlc/modules/packetizer/hevc.c:1020,1
    - Dst: cc_storage_commit
      Src: /src/vlc/modules/packetizer/hevc.c:1022,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - p_private
    - pb_ts_used
    - p_block
    argTypes:
    - void*
    - bool*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1011
    functionDepth: 1
    functionLinenumber: 1011
    functionLinenumberEnd: 1025
    functionName: PacketizeParse
    functionSourceFile: /src/vlc/modules/packetizer/hevc.c
    functionUses: 0
    functionsReached:
    - cc_storage_commit
    - ParseNALBlock
    linkageType: ''
    returnType: block_t
    signature: block_t *PacketizeParse(void *p_private, bool *pb_ts_used, block_t
      *p_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/packetizer/hevc.c:1029,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/packetizer/hevc.c:1030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_private
    - p_au
    argTypes:
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1027
    functionDepth: 1
    functionLinenumber: 1027
    functionLinenumberEnd: 1032
    functionName: PacketizeValidate
    functionSourceFile: /src/vlc/modules/packetizer/hevc.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int PacketizeValidate( void *p_private, block_t *p_au )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OutputQueues
      Src: /src/vlc/modules/packetizer/hevc.c:1045,1
    - Dst: GatherAndValidateChain
      Src: /src/vlc/modules/packetizer/hevc.c:1048,1
    - Dst: SetOutputBlockProperties
      Src: /src/vlc/modules/packetizer/hevc.c:1050,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - p_private
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1054
    functionName: PacketizeDrain
    functionSourceFile: /src/vlc/modules/packetizer/hevc.c
    functionUses: 0
    functionsReached:
    - GatherAndValidateChain
    - SetOutputBlockProperties
    - OutputQueues
    linkageType: ''
    returnType: block_t
    signature: block_t * PacketizeDrain(void *p_private)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: hevc_release_sei_pic_timing
      Src: /src/vlc/modules/packetizer/hevc.c:1067,1
    - Dst: hevc_decode_sei_pic_timing
      Src: /src/vlc/modules/packetizer/hevc.c:1068,1
    - Dst: cc_storage_append
      Src: /src/vlc/modules/packetizer/hevc.c:1076,1
    - Dst: hevc_decode_sei_recovery_point
      Src: /src/vlc/modules/packetizer/hevc.c:1084,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/hevc.c:1086,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/packetizer/hevc.c:1119,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/packetizer/hevc.c:1121,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 68
    argCount: 2
    argNames:
    - p_sei_data
    - cbdata
    argTypes:
    - hxxx_sei_data_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1056
    functionDepth: 1
    functionLinenumber: 1056
    functionLinenumberEnd: 1135
    functionName: ParseSEICallback
    functionSourceFile: /src/vlc/modules/packetizer/hevc.c
    functionUses: 0
    functionsReached:
    - hevc_decode_sei_recovery_point
    - ARRAY_SIZE
    - cc_storage_append
    - hevc_decode_sei_pic_timing
    - hevc_release_sei_pic_timing
    - msg_Dbg
    linkageType: ''
    returnType: bool
    signature: bool ParseSEICallback( const hxxx_sei_data_t *p_sei_data, void *cbdata
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/packetizer/hxxx_common.c:45,1
    - Dst: likely
      Src: /src/vlc/modules/packetizer/hxxx_common.c:46,1
    - Dst: cc_Init
      Src: /src/vlc/modules/packetizer/hxxx_common.c:51,1
    - Dst: cc_Init
      Src: /src/vlc/modules/packetizer/hxxx_common.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 55
    functionName: cc_storage_new
    functionSourceFile: /src/vlc/modules/packetizer/hxxx_common.c
    functionUses: 2
    functionsReached:
    - cc_Init
    - likely
    - malloc
    linkageType: ''
    returnType: cc_storage_t
    signature: cc_storage_t * cc_storage_new( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cc_Exit
      Src: /src/vlc/modules/packetizer/hxxx_common.c:59,1
    - Dst: cc_Exit
      Src: /src/vlc/modules/packetizer/hxxx_common.c:60,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/hxxx_common.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_ccs
    argTypes:
    - cc_storage_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: cc_storage_delete
    functionSourceFile: /src/vlc/modules/packetizer/hxxx_common.c
    functionUses: 2
    functionsReached:
    - free
    - cc_Exit
    linkageType: ''
    returnType: void
    signature: void cc_storage_delete( cc_storage_t *p_ccs )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cc_Flush
      Src: /src/vlc/modules/packetizer/hxxx_common.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_ccs
    argTypes:
    - cc_storage_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: cc_storage_reset
    functionSourceFile: /src/vlc/modules/packetizer/hxxx_common.c
    functionUses: 2
    functionsReached:
    - cc_Flush
    linkageType: ''
    returnType: void
    signature: void cc_storage_reset( cc_storage_t *p_ccs )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cc_Extract
      Src: /src/vlc/modules/packetizer/hxxx_common.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p_ccs
    - b_top_field_first
    - p_buf
    - i_buf
    argTypes:
    - cc_storage_t*
    - bool
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: cc_storage_append
    functionSourceFile: /src/vlc/modules/packetizer/hxxx_common.c
    functionUses: 2
    functionsReached:
    - cc_Extract
    linkageType: ''
    returnType: void
    signature: "void cc_storage_append( cc_storage_t *p_ccs, bool b_top_field_first,\n
      \                       const uint8_t *p_buf, size_t i_buf )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cc_Flush
      Src: /src/vlc/modules/packetizer/hxxx_common.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p_ccs
    - p_pic
    argTypes:
    - cc_storage_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: cc_storage_commit
    functionSourceFile: /src/vlc/modules/packetizer/hxxx_common.c
    functionUses: 1
    functionsReached:
    - cc_Flush
    linkageType: ''
    returnType: void
    signature: void cc_storage_commit( cc_storage_t *p_ccs, block_t *p_pic )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/packetizer/hxxx_common.c:91,1
    - Dst: memcpy
      Src: /src/vlc/modules/packetizer/hxxx_common.c:94,1
    - Dst: cc_Flush
      Src: /src/vlc/modules/packetizer/hxxx_common.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - p_ccs
    - p_desc
    argTypes:
    - cc_storage_t*
    - decoder_cc_desc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 106
    functionName: cc_storage_get_current
    functionSourceFile: /src/vlc/modules/packetizer/hxxx_common.c
    functionUses: 2
    functionsReached:
    - block_Alloc
    - memcpy
    - cc_Flush
    linkageType: ''
    returnType: block_t
    signature: block_t * cc_storage_get_current( cc_storage_t *p_ccs, decoder_cc_desc_t
      *p_desc )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: pf_nal_drain
      Src: /src/vlc/modules/packetizer/hxxx_common.c:123,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/hxxx_common.c:129,1
    - Dst: vlc_error
      Src: /src/vlc/modules/packetizer/hxxx_common.c:153,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/packetizer/hxxx_common.c:164,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/packetizer/hxxx_common.c:170,1
    - Dst: memcpy
      Src: /src/vlc/modules/packetizer/hxxx_common.c:176,1
    - Dst: pf_nal_parser
      Src: /src/vlc/modules/packetizer/hxxx_common.c:192,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/packetizer/hxxx_common.c:194,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/hxxx_common.c:202,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 6
    argNames:
    - p_private
    - logger
    - i_nal_length_size
    - pp_block
    - pf_nal_parser
    - pf_nal_drain
    argTypes:
    - void*
    - struct vlc_logger*
    - uint8_t
    - block_t**
    - pf_annexb_nal_parse
    - pf_annexb_nal_drain
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 205
    functionName: PacketizeXXC1
    functionSourceFile: /src/vlc/modules/packetizer/hxxx_common.c
    functionUses: 2
    functionsReached:
    - pf_nal_parser
    - block_Release
    - block_Realloc
    - block_ChainAppend
    - memcpy
    - block_Alloc
    - pf_nal_drain
    - vlc_error
    linkageType: ''
    returnType: block_t
    signature: "block_t *PacketizeXXC1( void *p_private, struct vlc_logger *logger,\n
      \                       uint8_t i_nal_length_size, block_t **pp_block,\n                        pf_annexb_nal_parse
      pf_nal_parser,\n                        pf_annexb_nal_drain pf_nal_drain )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/packetizer/flac.c:118,1
    - Dst: FLAC_ParseStreamInfo
      Src: /src/vlc/modules/packetizer/flac.c:126,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/flac.c:131,1
    - Dst: malloc
      Src: /src/vlc/modules/packetizer/flac.c:132,1
    - Dst: memcpy
      Src: /src/vlc/modules/packetizer/flac.c:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 137
    functionName: ProcessHeader
    functionSourceFile: /src/vlc/modules/packetizer/flac.c
    functionUses: 0
    functionsReached:
    - memcpy
    - FLAC_ParseStreamInfo
    - free
    - malloc
    - memcmp
    linkageType: ''
    returnType: void
    signature: void ProcessHeader(decoder_t *p_dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 183
    functionName: flac_crc8
    functionSourceFile: /src/vlc/modules/packetizer/flac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t flac_crc8(const uint8_t *data, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crc
    - byte
    argTypes:
    - uint16_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: flac_crc16
    functionSourceFile: /src/vlc/modules/packetizer/flac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t flac_crc16(uint16_t crc, uint8_t byte)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crc
    - last_byte
    argTypes:
    - uint16_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 270
    functionName: flac_crc16_undo
    functionSourceFile: /src/vlc/modules/packetizer/flac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t flac_crc16_undo(uint16_t crc, const uint8_t last_byte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/flac.c:279,1
    - Dst: block_BytestreamEmpty
      Src: /src/vlc/modules/packetizer/flac.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 281
    functionName: Flush
    functionSourceFile: /src/vlc/modules/packetizer/flac.c
    functionUses: 16
    functionsReached:
    - block_BytestreamEmpty
    - date_Set
    linkageType: ''
    returnType: void
    signature: void Flush(decoder_t *p_dec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/vlc/modules/packetizer/flac.c:287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - p
    - end
    argTypes:
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 296
    functionName: FLACStartcodeHelper
    functionSourceFile: /src/vlc/modules/packetizer/flac.c
    functionUses: 0
    functionsReached:
    - memchr
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * FLACStartcodeHelper(const uint8_t *p, const uint8_t *end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/packetizer/flac.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - i
    - i_pos
    - p_startcode
    argTypes:
    - uint8_t
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 302
    functionName: FLACStartcodeMatcher
    functionSourceFile: /src/vlc/modules/packetizer/flac.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: bool
    signature: bool FLACStartcodeMatcher(uint8_t i, size_t i_pos, const uint8_t *p_startcode)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/vlc/modules/packetizer/flac.c:316,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/flac.c:319,1
    - Dst: ProcessHeader
      Src: /src/vlc/modules/packetizer/flac.c:326,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/flac.c:331,1
    - Dst: msg_Err
      Src: /src/vlc/modules/packetizer/flac.c:332,1
    - Dst: block_BytestreamPush
      Src: /src/vlc/modules/packetizer/flac.c:338,1
    - Dst: block_FindStartcodeFromOffset
      Src: /src/vlc/modules/packetizer/flac.c:342,1
    - Dst: block_SkipBytes
      Src: /src/vlc/modules/packetizer/flac.c:351,1
    - Dst: block_BytestreamFlush
      Src: /src/vlc/modules/packetizer/flac.c:352,1
    - Dst: block_PeekBytes
      Src: /src/vlc/modules/packetizer/flac.c:369,1
    - Dst: FLAC_ParseSyncInfo
      Src: /src/vlc/modules/packetizer/flac.c:376,1
    - Dst: FLAC_CheckFrameInfo
      Src: /src/vlc/modules/packetizer/flac.c:378,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/flac.c:379,1
    - Dst: block_SkipByte
      Src: /src/vlc/modules/packetizer/flac.c:380,1
    - Dst: block_FindStartcodeFromOffset
      Src: /src/vlc/modules/packetizer/flac.c:404,1
    - Dst: block_BytestreamRemaining
      Src: /src/vlc/modules/packetizer/flac.c:409,1
    - Dst: block_PeekOffsetBytes
      Src: /src/vlc/modules/packetizer/flac.c:423,1
    - Dst: FLAC_ParseSyncInfo
      Src: /src/vlc/modules/packetizer/flac.c:431,1
    - Dst: FLAC_CheckFrameInfo
      Src: /src/vlc/modules/packetizer/flac.c:432,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/packetizer/flac.c:459,1
    - Dst: block_SkipBytes
      Src: /src/vlc/modules/packetizer/flac.c:462,1
    - Dst: block_BytestreamFlush
      Src: /src/vlc/modules/packetizer/flac.c:465,1
    - Dst: __MAX
      Src: /src/vlc/modules/packetizer/flac.c:478,1
    - Dst: realloc
      Src: /src/vlc/modules/packetizer/flac.c:479,1
    - Dst: block_PeekOffsetBytes
      Src: /src/vlc/modules/packetizer/flac.c:491,1
    - Dst: flac_crc16
      Src: /src/vlc/modules/packetizer/flac.c:498,1
    - Dst: GetWBE
      Src: /src/vlc/modules/packetizer/flac.c:500,1
    - Dst: flac_crc16
      Src: /src/vlc/modules/packetizer/flac.c:505,1
    - Dst: flac_crc16
      Src: /src/vlc/modules/packetizer/flac.c:506,1
    - Dst: block_SkipBytes
      Src: /src/vlc/modules/packetizer/flac.c:520,1
    - Dst: block_BytestreamFlush
      Src: /src/vlc/modules/packetizer/flac.c:521,1
    - Dst: block_BytestreamRemaining
      Src: /src/vlc/modules/packetizer/flac.c:526,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/flac.c:539,1
    - Dst: date_Init
      Src: /src/vlc/modules/packetizer/flac.c:542,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/flac.c:543,1
    - Dst: block_heap_Alloc
      Src: /src/vlc/modules/packetizer/flac.c:548,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/flac.c:551,1
    - Dst: date_Increment
      Src: /src/vlc/modules/packetizer/flac.c:558,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/flac.c:560,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/flac.c:562,1
    - Dst: block_BytestreamPop
      Src: /src/vlc/modules/packetizer/flac.c:572,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 153
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 581
    functionName: Packetize
    functionSourceFile: /src/vlc/modules/packetizer/flac.c
    functionUses: 4
    functionsReached:
    - realloc
    - ProcessHeader
    - block_BytestreamPush
    - date_Increment
    - block_BytestreamRemaining
    - block_BytestreamFlush
    - msg_Err
    - __MAX
    - msg_Dbg
    - date_Get
    - msg_Warn
    - block_PeekBytes
    - block_SkipBytes
    - Flush
    - date_Set
    - block_PeekOffsetBytes
    - FLAC_ParseSyncInfo
    - block_BytestreamPop
    - GetWBE
    - block_Release
    - flac_crc16
    - date_Init
    - free
    - FLAC_CheckFrameInfo
    - block_heap_Alloc
    - block_SkipByte
    - block_FindStartcodeFromOffset
    linkageType: ''
    returnType: block_t
    signature: block_t *Packetize(decoder_t *p_dec, block_t **pp_block)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/packetizer/flac.c:593,1
    - Dst: block_BytestreamInit
      Src: /src/vlc/modules/packetizer/flac.c:606,1
    - Dst: date_Init
      Src: /src/vlc/modules/packetizer/flac.c:607,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/packetizer/flac.c:610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 620
    functionName: Open
    functionSourceFile: /src/vlc/modules/packetizer/flac.c
    functionUses: 28
    functionsReached:
    - block_BytestreamInit
    - es_format_Copy
    - date_Init
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_BytestreamRelease
      Src: /src/vlc/modules/packetizer/flac.c:627,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/flac.c:628,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/flac.c:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 630
    functionName: Close
    functionSourceFile: /src/vlc/modules/packetizer/flac.c
    functionUses: 87
    functionsReached:
    - free
    - block_BytestreamRelease
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - p_out
    - p_in
    - i_in
    argTypes:
    - uint8_t*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: BufLeToBe
    functionSourceFile: /src/vlc/modules/packetizer/dts_header.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BufLeToBe( uint8_t *p_out, const uint8_t *p_in, int i_in )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: __MIN
      Src: /src/vlc/modules/packetizer/dts_header.c:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 5
    argNames:
    - p_out
    - p_in
    - i_in
    - i_le
    - i_out_le
    argTypes:
    - uint8_t*
    - uint8_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 95
    functionName: Buf14To16
    functionSourceFile: /src/vlc/modules/packetizer/dts_header.c
    functionUses: 0
    functionsReached:
    - __MIN
    linkageType: ''
    returnType: int
    signature: "int Buf14To16( uint8_t *p_out, const uint8_t *p_in, int i_in, int
      i_le,\n                      int i_out_le )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/packetizer/dts_header.c:99,1
    - Dst: memcmp
      Src: /src/vlc/modules/packetizer/dts_header.c:102,1
    - Dst: memcmp
      Src: /src/vlc/modules/packetizer/dts_header.c:105,1
    - Dst: memcmp
      Src: /src/vlc/modules/packetizer/dts_header.c:108,1
    - Dst: memcmp
      Src: /src/vlc/modules/packetizer/dts_header.c:112,1
    - Dst: memcmp
      Src: /src/vlc/modules/packetizer/dts_header.c:116,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 1
    argNames:
    - p_buf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 120
    functionName: dts_header_getSyncword
    functionSourceFile: /src/vlc/modules/packetizer/dts_header.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: enum vlc_dts_syncword_e
    signature: enum vlc_dts_syncword_e dts_header_getSyncword( const uint8_t *p_buf
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dts_header_getSyncword
      Src: /src/vlc/modules/packetizer/dts_header.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - p_buf
    - i_buf
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: vlc_dts_header_IsSync
    functionSourceFile: /src/vlc/modules/packetizer/dts_header.c
    functionUses: 0
    functionsReached:
    - dts_header_getSyncword
    linkageType: ''
    returnType: bool
    signature: bool vlc_dts_header_IsSync( const void *p_buf, size_t i_buf )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - i_sfreq
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 139
    functionName: dca_get_samplerate
    functionSourceFile: /src/vlc/modules/packetizer/dts_header.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dca_get_samplerate( uint8_t i_sfreq )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - i_rate
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 159
    functionName: dca_get_bitrate
    functionSourceFile: /src/vlc/modules/packetizer/dts_header.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dca_get_bitrate( uint8_t i_rate )
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 3
    argNames:
    - i_amode
    - b_lfe
    - p_chan_mode
    argTypes:
    - uint8_t
    - bool
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 237
    functionName: dca_get_channels
    functionSourceFile: /src/vlc/modules/packetizer/dts_header.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t dca_get_channels( uint8_t i_amode, bool b_lfe,\n                                  uint16_t
      *p_chan_mode )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - nuSpkrActivityMask
    - pi_chans
    argTypes:
    - uint16_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 280
    functionName: dca_get_LBR_channels
    functionSourceFile: /src/vlc/modules/packetizer/dts_header.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t dca_get_LBR_channels( uint16_t nuSpkrActivityMask,\n                                     uint16_t
      *pi_chans )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bs_init
      Src: /src/vlc/modules/packetizer/dts_header.c:286,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/dts_header.c:287,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/dts_header.c:288,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/dts_header.c:293,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/dts_header.c:294,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/dts_header.c:298,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/dts_header.c:299,1
    - Dst: memset
      Src: /src/vlc/modules/packetizer/dts_header.c:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - p_header
    - p_buffer
    argTypes:
    - vlc_dts_header_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 306
    functionName: dts_header_ParseSubstream
    functionSourceFile: /src/vlc/modules/packetizer/dts_header.c
    functionUses: 0
    functionsReached:
    - bs_skip
    - bs_read1
    - memset
    - bs_read
    - bs_init
    linkageType: ''
    returnType: int
    signature: "int dts_header_ParseSubstream( vlc_dts_header_t *p_header,\n                                      const
      void *p_buffer )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bs_init
      Src: /src/vlc/modules/packetizer/dts_header.c:312,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/dts_header.c:313,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/dts_header.c:314,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/dts_header.c:317,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/packetizer/dts_header.c:326,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/dts_header.c:336,1
    - Dst: dca_get_LBR_channels
      Src: /src/vlc/modules/packetizer/dts_header.c:337,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/dts_header.c:338,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/dts_header.c:339,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/dts_header.c:340,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/dts_header.c:341,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/dts_header.c:342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - p_header
    - p_buffer
    argTypes:
    - vlc_dts_header_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 346
    functionName: dts_header_ParseLBRExtSubstream
    functionSourceFile: /src/vlc/modules/packetizer/dts_header.c
    functionUses: 0
    functionsReached:
    - bs_skip
    - ARRAY_SIZE
    - bs_read
    - dca_get_LBR_channels
    - bs_init
    linkageType: ''
    returnType: int
    signature: "int dts_header_ParseLBRExtSubstream( vlc_dts_header_t *p_header,\n
      \                                            const void *p_buffer )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bs_init
      Src: /src/vlc/modules/packetizer/dts_header.c:352,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/dts_header.c:353,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/dts_header.c:354,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/dts_header.c:357,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/dts_header.c:360,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/dts_header.c:361,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/dts_header.c:362,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/dts_header.c:363,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/dts_header.c:365,1
    - Dst: dca_get_samplerate
      Src: /src/vlc/modules/packetizer/dts_header.c:369,1
    - Dst: dca_get_bitrate
      Src: /src/vlc/modules/packetizer/dts_header.c:370,1
    - Dst: dca_get_channels
      Src: /src/vlc/modules/packetizer/dts_header.c:379,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - p_header
    - p_buffer
    argTypes:
    - vlc_dts_header_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 386
    functionName: dts_header_ParseCore
    functionSourceFile: /src/vlc/modules/packetizer/dts_header.c
    functionUses: 0
    functionsReached:
    - bs_skip
    - dca_get_channels
    - dca_get_samplerate
    - bs_read
    - dca_get_bitrate
    - bs_init
    linkageType: ''
    returnType: int
    signature: "int dts_header_ParseCore( vlc_dts_header_t *p_header,\n                                 const
      void *p_buffer)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dts_header_getSyncword
      Src: /src/vlc/modules/packetizer/dts_header.c:396,1
    - Dst: Buf14To16
      Src: /src/vlc/modules/packetizer/dts_header.c:404,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 5
    argNames:
    - p_dst
    - i_dst
    - p_src
    - i_src
    - b_out_le
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 407
    functionName: vlc_dts_header_Convert14b16b
    functionSourceFile: /src/vlc/modules/packetizer/dts_header.c
    functionUses: 0
    functionsReached:
    - Buf14To16
    - dts_header_getSyncword
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t vlc_dts_header_Convert14b16b( void *p_dst, size_t i_dst,\n
      \                                     const void *p_src, size_t i_src,\n                                      bool
      b_out_le )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dts_header_getSyncword
      Src: /src/vlc/modules/packetizer/dts_header.c:415,1
    - Dst: BufLeToBe
      Src: /src/vlc/modules/packetizer/dts_header.c:424,1
    - Dst: dts_header_ParseCore
      Src: /src/vlc/modules/packetizer/dts_header.c:425,1
    - Dst: dts_header_ParseCore
      Src: /src/vlc/modules/packetizer/dts_header.c:428,1
    - Dst: Buf14To16
      Src: /src/vlc/modules/packetizer/dts_header.c:433,1
    - Dst: dts_header_ParseCore
      Src: /src/vlc/modules/packetizer/dts_header.c:435,1
    - Dst: dts_header_ParseSubstream
      Src: /src/vlc/modules/packetizer/dts_header.c:438,1
    - Dst: dts_header_ParseLBRExtSubstream
      Src: /src/vlc/modules/packetizer/dts_header.c:440,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/packetizer/dts_header.c:442,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - p_header
    - p_buffer
    - i_buffer
    argTypes:
    - vlc_dts_header_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 444
    functionName: vlc_dts_header_Parse
    functionSourceFile: /src/vlc/modules/packetizer/dts_header.c
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    - dts_header_ParseSubstream
    - dts_header_ParseLBRExtSubstream
    - dts_header_ParseCore
    - dts_header_getSyncword
    - Buf14To16
    - BufLeToBe
    linkageType: ''
    returnType: int
    signature: "int vlc_dts_header_Parse( vlc_dts_header_t *p_header,\n                          const
      void *p_buffer, size_t i_buffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_BytestreamInit
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 12
    argNames:
    - p_pack
    - p_startcode
    - i_startcode
    - pf_start_helper
    - p_au_prepend
    - i_au_prepend
    - i_au_min_size
    - pf_reset
    - pf_parse
    - pf_validate
    - pf_drain
    - p_private
    argTypes:
    - packetizer_t*
    - uint8_t*
    - size_t
    - block_startcode_helper_t
    - uint8_t*
    - int
    - unsigned
    - packetizer_reset_t
    - packetizer_parse_t
    - packetizer_validate_t
    - packetizer_drain_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 92
    functionName: packetizer_Init
    functionSourceFile: /src/vlc/modules/packetizer/packetizer_helper.h
    functionUses: 3
    functionsReached:
    - block_BytestreamInit
    linkageType: ''
    returnType: void
    signature: "void packetizer_Init( packetizer_t *p_pack,\n                                    const
      uint8_t *p_startcode, size_t i_startcode,\n                                    block_startcode_helper_t
      pf_start_helper,\n                                    const uint8_t *p_au_prepend,
      int i_au_prepend,\n                                    unsigned i_au_min_size,\n
      \                                   packetizer_reset_t pf_reset,\n                                    packetizer_parse_t
      pf_parse,\n                                    packetizer_validate_t pf_validate,\n
      \                                   packetizer_drain_t pf_drain,\n                                    void
      *p_private )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_BytestreamRelease
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_pack
    argTypes:
    - packetizer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: packetizer_Clean
    functionSourceFile: /src/vlc/modules/packetizer/packetizer_helper.h
    functionUses: 3
    functionsReached:
    - block_BytestreamRelease
    linkageType: ''
    returnType: void
    signature: void packetizer_Clean( packetizer_t *p_pack )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_BytestreamEmpty
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:102,1
    - Dst: packetizer_t*::pf_reset
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_pack
    argTypes:
    - packetizer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: packetizer_Flush
    functionSourceFile: /src/vlc/modules/packetizer/packetizer_helper.h
    functionUses: 3
    functionsReached:
    - packetizer_t*::pf_reset
    - block_BytestreamEmpty
    linkageType: ''
    returnType: void
    signature: void packetizer_Flush( packetizer_t *p_pack )
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:117,1
    - Dst: packetizer_PacketizeBlock
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:119,1
    - Dst: block_BytestreamEmpty
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:124,1
    - Dst: packetizer_t*::pf_reset
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:125,1
    - Dst: block_BytestreamPush
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:129,1
    - Dst: block_FindStartcodeFromOffset
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:140,1
    - Dst: block_SkipBytes
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:152,1
    - Dst: block_BytestreamFlush
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:153,1
    - Dst: block_FindStartcodeFromOffset
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:159,1
    - Dst: block_BytestreamRemaining
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:170,1
    - Dst: block_SkipBytes
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:177,1
    - Dst: block_BytestreamFlush
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:182,1
    - Dst: block_SkipBytes
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:189,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:196,1
    - Dst: block_SkipBytes
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:201,1
    - Dst: block_GetBytes
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:214,1
    - Dst: memcpy
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:217,1
    - Dst: packetizer_t*::pf_parse
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:220,1
    - Dst: packetizer_t*::pf_validate
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:231,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:233,1
    - Dst: block_BytestreamPop
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:239,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 70
    argCount: 2
    argNames:
    - p_pack
    - pp_block
    argTypes:
    - packetizer_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 243
    functionName: packetizer_PacketizeBlock
    functionSourceFile: /src/vlc/modules/packetizer/packetizer_helper.h
    functionUses: 1
    functionsReached:
    - block_FindStartcodeFromOffset
    - block_BytestreamRemaining
    - packetizer_t*::pf_parse
    - block_Release
    - block_GetBytes
    - block_BytestreamFlush
    - packetizer_PacketizeBlock
    - packetizer_t*::pf_validate
    - memcpy
    - block_Alloc
    - block_BytestreamPop
    - packetizer_t*::pf_reset
    - block_SkipBytes
    - block_BytestreamEmpty
    - unlikely
    - block_BytestreamPush
    linkageType: ''
    returnType: block_t
    signature: block_t *packetizer_PacketizeBlock( packetizer_t *p_pack, block_t **pp_block
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_PacketizeBlock
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:247,1
    - Dst: packetizer_t*::pf_drain
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:253,1
    - Dst: packetizer_t*::pf_validate
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:254,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - p_pack
    - pp_block
    argTypes:
    - packetizer_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 261
    functionName: packetizer_Packetize
    functionSourceFile: /src/vlc/modules/packetizer/packetizer_helper.h
    functionUses: 3
    functionsReached:
    - packetizer_t*::pf_drain
    - packetizer_PacketizeBlock
    - packetizer_t*::pf_validate
    - block_Release
    linkageType: ''
    returnType: block_t
    signature: block_t *packetizer_Packetize( packetizer_t *p_pack, block_t **pp_block
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:266,1
    - Dst: memcpy
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:270,1
    - Dst: packetizer_Packetize
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:273,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:274,1
    - Dst: packetizer_Packetize
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:275,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:276,1
    - Dst: block_BytestreamEmpty
      Src: /src/vlc/modules/packetizer/packetizer_helper.h:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - p_pack
    - p_header
    - i_header
    argTypes:
    - packetizer_t*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 280
    functionName: packetizer_Header
    functionSourceFile: /src/vlc/modules/packetizer/packetizer_helper.h
    functionUses: 3
    functionsReached:
    - block_Release
    - memcpy
    - block_Alloc
    - packetizer_Packetize
    - block_BytestreamEmpty
    linkageType: ''
    returnType: void
    signature: "void packetizer_Header( packetizer_t *p_pack,\n                                      const
      uint8_t *p_header, int i_header )"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - p_buf
    - i_buf
    - pi_res
    argTypes:
    - uint8_t*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 345
    functionName: get_hvcC_to_AnnexB_NAL_size
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool get_hvcC_to_AnnexB_NAL_size( const uint8_t *p_buf, size_t i_buf,
      size_t *pi_res )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_hvcC_to_AnnexB_NAL_size
      Src: /src/vlc/modules/packetizer/hevc_nal.c:352,1
    - Dst: hevc_getNALLengthSize
      Src: /src/vlc/modules/packetizer/hevc_nal.c:355,1
    - Dst: malloc
      Src: /src/vlc/modules/packetizer/hevc_nal.c:360,1
    - Dst: memcpy
      Src: /src/vlc/modules/packetizer/hevc_nal.c:376,1
    - Dst: memcpy
      Src: /src/vlc/modules/packetizer/hevc_nal.c:377,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 5
    argNames:
    - p_buf
    - i_buf
    - pp_result
    - pi_result
    - pi_nal_length_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t**
    - size_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 391
    functionName: hevc_hvcC_to_AnnexB_NAL
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 1
    functionsReached:
    - hevc_getNALLengthSize
    - memcpy
    - malloc
    - get_hvcC_to_AnnexB_NAL_size
    linkageType: ''
    returnType: bool
    signature: "bool hevc_hvcC_to_AnnexB_NAL( const uint8_t *p_buf, size_t i_buf,\n
      \                             uint8_t **pp_result, size_t *pi_result,\n                              uint8_t
      *pi_nal_length_size )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:399,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:400,1
    - Dst: __MIN
      Src: /src/vlc/modules/packetizer/hevc_nal.c:404,1
    - Dst: bs_read_se
      Src: /src/vlc/modules/packetizer/hevc_nal.c:407,1
    - Dst: bs_read_se
      Src: /src/vlc/modules/packetizer/hevc_nal.c:411,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - p_bs
    argTypes:
    - bs_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 418
    functionName: hevc_parse_scaling_list_rbsp
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 0
    functionsReached:
    - bs_read_se
    - bs_read1
    - __MIN
    - bs_read_ue
    linkageType: ''
    returnType: bool
    signature: bool hevc_parse_scaling_list_rbsp( bs_t *p_bs )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:423,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:426,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:429,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:430,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:434,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:436,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:438,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:441,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:442,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:443,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:446,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:447,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:448,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:458,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:461,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:462,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:468,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:469,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:470,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:472,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:475,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:476,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:477,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:478,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:481,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:484,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:485,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/hevc_nal.c:489,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 3
    argNames:
    - p_bs
    - p_vui
    - b_broken
    argTypes:
    - bs_t*
    - hevc_vui_parameters_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 490
    functionName: hevc_parse_vui_parameters_rbsp
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 0
    functionsReached:
    - bs_error
    - bs_read1
    - bs_read_ue
    - bs_read
    linkageType: ''
    returnType: bool
    signature: "bool hevc_parse_vui_parameters_rbsp( bs_t *p_bs, hevc_vui_parameters_t
      *p_vui,\n                                            bool b_broken )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: hevc_getNALType
      Src: /src/vlc/modules/packetizer/hevc_nal.c:498,1
    - Dst: bs_init
      Src: /src/vlc/modules/packetizer/hevc_nal.c:500,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:503,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:509,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - p_buf
    - i_buf
    - pi_id
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 519
    functionName: hevc_get_xps_id
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 1
    functionsReached:
    - bs_init
    - bs_read
    - bs_read_ue
    - hevc_getNALType
    linkageType: ''
    returnType: bool
    signature: bool hevc_get_xps_id(const uint8_t *p_buf, size_t i_buf, uint8_t *pi_id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:524,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:525,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:526,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:527,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:528,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:529,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:530,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:531,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:536,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:537,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:538,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:539,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:540,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:541,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:542,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:543,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:544,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:550,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/hevc_nal.c:551,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/hevc_nal.c:553,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/hevc_nal.c:558,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:559,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/hevc_nal.c:560,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/hevc_nal.c:564,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:570,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/hevc_nal.c:572,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/hevc_nal.c:574,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - p_bs
    - p_in
    argTypes:
    - bs_t*
    - hevc_inner_profile_tier_level_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 575
    functionName: hevc_parse_inner_profile_tier_level_rbsp
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 0
    functionsReached:
    - bs_error
    - bs_read1
    - bs_skip
    - bs_read
    linkageType: ''
    returnType: bool
    signature: "bool hevc_parse_inner_profile_tier_level_rbsp( bs_t *p_bs,\n                                                      hevc_inner_profile_tier_level_t
      *p_in )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: hevc_parse_inner_profile_tier_level_rbsp
      Src: /src/vlc/modules/packetizer/hevc_nal.c:581,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/hevc_nal.c:584,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:587,1
    - Dst: bs_eof
      Src: /src/vlc/modules/packetizer/hevc_nal.c:591,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:598,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:600,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/hevc_nal.c:604,1
    - Dst: hevc_parse_inner_profile_tier_level_rbsp
      Src: /src/vlc/modules/packetizer/hevc_nal.c:610,1
    - Dst: bs_eof
      Src: /src/vlc/modules/packetizer/hevc_nal.c:615,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:617,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/hevc_nal.c:622,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 4
    argNames:
    - p_bs
    - profile_present
    - max_num_sub_layers_minus1
    - p_ptl
    argTypes:
    - bs_t*
    - bool
    - uint8_t
    - hevc_profile_tier_level_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 577
    functionDepth: 2
    functionLinenumber: 577
    functionLinenumberEnd: 623
    functionName: hevc_parse_profile_tier_level_rbsp
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 0
    functionsReached:
    - bs_read1
    - bs_skip
    - hevc_parse_inner_profile_tier_level_rbsp
    - bs_eof
    - bs_read
    - bs_error
    linkageType: ''
    returnType: bool
    signature: "bool hevc_parse_profile_tier_level_rbsp( bs_t *p_bs, bool profile_present,\n
      \                                               uint8_t max_num_sub_layers_minus1,\n
      \                                               hevc_profile_tier_level_t *p_ptl
      )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bs_eof
      Src: /src/vlc/modules/packetizer/hevc_nal.c:628,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:631,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:632,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:633,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:634,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:635,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:636,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/hevc_nal.c:637,1
    - Dst: hevc_parse_profile_tier_level_rbsp
      Src: /src/vlc/modules/packetizer/hevc_nal.c:639,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:643,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:648,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:649,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:650,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/hevc_nal.c:653,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:656,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:657,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/hevc_nal.c:661,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:663,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:666,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:667,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/hevc_nal.c:671,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - p_bs
    - p_vps
    argTypes:
    - bs_t*
    - hevc_video_parameter_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 625
    functionDepth: 3
    functionLinenumber: 625
    functionLinenumberEnd: 672
    functionName: hevc_parse_video_parameter_set_rbsp
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 0
    functionsReached:
    - bs_read1
    - bs_skip
    - bs_eof
    - bs_read
    - bs_read_ue
    - hevc_parse_profile_tier_level_rbsp
    - bs_error
    linkageType: ''
    returnType: bool
    signature: "bool hevc_parse_video_parameter_set_rbsp( bs_t *p_bs,\n                                                 hevc_video_parameter_set_t
      *p_vps )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/packetizer/hevc_nal.c:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_vps
    argTypes:
    - hevc_video_parameter_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 677
    functionName: hevc_rbsp_release_vps
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void hevc_rbsp_release_vps( hevc_video_parameter_set_t *p_vps )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - hevctype
    - ','
    - decode
    - ','
    - release
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 693
    functionName: IMPL_hevc_generic_decode
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPL_hevc_generic_decode( name, hevctype, decode, release )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:712,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:717,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:724,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:725,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/packetizer/hevc_nal.c:728,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:734,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:736,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:745,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:746,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/hevc_nal.c:748,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:754,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:755,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:759,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:760,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/hevc_nal.c:765,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 4
    argNames:
    - p_bs
    - stRpsIdx
    - num_short_term_ref_pic_sets
    - p_sets
    argTypes:
    - bs_t*
    - unsigned
    - unsigned
    - hevc_short_term_ref_pic_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 766
    functionName: hevc_parse_st_ref_pic_set
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 0
    functionsReached:
    - bs_error
    - bs_read1
    - bs_read_ue
    - VLC_UNUSED
    linkageType: ''
    returnType: bool
    signature: "bool hevc_parse_st_ref_pic_set( bs_t *p_bs, unsigned stRpsIdx,\n                                       unsigned
      num_short_term_ref_pic_sets,\n                                       hevc_short_term_ref_pic_set_t
      *p_sets )"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:771,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:772,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:773,1
    - Dst: hevc_parse_profile_tier_level_rbsp
      Src: /src/vlc/modules/packetizer/hevc_nal.c:774,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/hevc_nal.c:778,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:781,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:785,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:787,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:790,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:791,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:795,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:798,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:799,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:800,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:801,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:804,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:805,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:806,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:808,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:812,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:813,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:814,1
    - Dst: bs_eof
      Src: /src/vlc/modules/packetizer/hevc_nal.c:817,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:820,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:821,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:822,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:823,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:827,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:828,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:829,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:832,1
    - Dst: hevc_parse_scaling_list_rbsp
      Src: /src/vlc/modules/packetizer/hevc_nal.c:834,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/hevc_nal.c:840,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:843,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:844,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:846,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:849,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:850,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:851,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:852,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:853,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:856,1
    - Dst: memset
      Src: /src/vlc/modules/packetizer/hevc_nal.c:861,1
    - Dst: hevc_parse_st_ref_pic_set
      Src: /src/vlc/modules/packetizer/hevc_nal.c:864,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:868,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:871,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/hevc_nal.c:877,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/hevc_nal.c:879,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:883,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:884,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/hevc_nal.c:886,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:889,1
    - Dst: hevc_parse_vui_parameters_rbsp
      Src: /src/vlc/modules/packetizer/hevc_nal.c:893,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/hevc_nal.c:895,1
    - Dst: memset
      Src: /src/vlc/modules/packetizer/hevc_nal.c:903,1
    - Dst: hevc_parse_vui_parameters_rbsp
      Src: /src/vlc/modules/packetizer/hevc_nal.c:904,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/hevc_nal.c:911,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 95
    argCount: 2
    argNames:
    - p_bs
    - p_sps
    argTypes:
    - bs_t*
    - hevc_sequence_parameter_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 768
    functionDepth: 3
    functionLinenumber: 768
    functionLinenumberEnd: 912
    functionName: hevc_parse_sequence_parameter_set_rbsp
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 0
    functionsReached:
    - bs_read1
    - bs_skip
    - memset
    - bs_eof
    - bs_read
    - bs_read_ue
    - hevc_parse_st_ref_pic_set
    - hevc_parse_profile_tier_level_rbsp
    - bs_error
    - hevc_parse_scaling_list_rbsp
    - hevc_parse_vui_parameters_rbsp
    linkageType: ''
    returnType: bool
    signature: "bool hevc_parse_sequence_parameter_set_rbsp( bs_t *p_bs,\n                                                    hevc_sequence_parameter_set_t
      *p_sps )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/packetizer/hevc_nal.c:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_sps
    argTypes:
    - hevc_sequence_parameter_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 917
    functionName: hevc_rbsp_release_sps
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void hevc_rbsp_release_sps( hevc_sequence_parameter_set_t *p_sps )
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: bs_eof
      Src: /src/vlc/modules/packetizer/hevc_nal.c:925,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:927,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:930,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:933,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:934,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:935,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:936,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:937,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:939,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:940,1
    - Dst: bs_read_se
      Src: /src/vlc/modules/packetizer/hevc_nal.c:945,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:946,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:947,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:948,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:950,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/hevc_nal.c:952,1
    - Dst: bs_read_se
      Src: /src/vlc/modules/packetizer/hevc_nal.c:955,1
    - Dst: bs_read_se
      Src: /src/vlc/modules/packetizer/hevc_nal.c:956,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:960,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:961,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:962,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:963,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:964,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:965,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:969,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:970,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:971,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:976,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/hevc_nal.c:977,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:982,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/hevc_nal.c:983,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:987,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/hevc_nal.c:988,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:992,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:993,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:996,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:997,1
    - Dst: bs_read_se
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1000,1
    - Dst: bs_read_se
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1001,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1008,1
    - Dst: hevc_parse_scaling_list_rbsp
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1009,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1012,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1013,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1014,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1016,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1019,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1020,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1021,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1022,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1025,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 82
    argCount: 2
    argNames:
    - p_bs
    - p_pps
    argTypes:
    - bs_t*
    - hevc_picture_parameter_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 922
    functionDepth: 2
    functionLinenumber: 922
    functionLinenumberEnd: 1026
    functionName: hevc_parse_pic_parameter_set_rbsp
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 0
    functionsReached:
    - bs_read1
    - bs_eof
    - bs_read
    - bs_read_se
    - bs_read_ue
    - bs_error
    - hevc_parse_scaling_list_rbsp
    linkageType: ''
    returnType: bool
    signature: "bool hevc_parse_pic_parameter_set_rbsp( bs_t *p_bs,\n                                               hevc_picture_parameter_set_t
      *p_pps )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_pps
    argTypes:
    - hevc_picture_parameter_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1031
    functionName: hevc_rbsp_release_pps
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void hevc_rbsp_release_pps( hevc_picture_parameter_set_t *p_pps )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_sps
    argTypes:
    - hevc_sequence_parameter_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1039
    functionName: hevc_get_sps_vps_id
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t hevc_get_sps_vps_id( const hevc_sequence_parameter_set_t *p_sps
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_pps
    argTypes:
    - hevc_picture_parameter_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1044
    functionName: hevc_get_pps_sps_id
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t hevc_get_pps_sps_id( const hevc_picture_parameter_set_t *p_pps
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_slice
    argTypes:
    - hevc_slice_segment_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1049
    functionName: hevc_get_slice_pps_id
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t hevc_get_slice_pps_id( const hevc_slice_segment_header_t *p_slice
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_slice
    argTypes:
    - hevc_slice_segment_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1054
    functionName: hevc_get_slice_no_output_of_prior_pics_flag
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hevc_get_slice_no_output_of_prior_pics_flag( const hevc_slice_segment_header_t
      *p_slice )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - p_sps
    - pi_profile
    - pi_level
    argTypes:
    - hevc_sequence_parameter_set_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1066
    functionName: hevc_get_sps_profile_tier_level
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool hevc_get_sps_profile_tier_level( const hevc_sequence_parameter_set_t
      *p_sps,\n                                      uint8_t *pi_profile, uint8_t
      *pi_level)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h26x_get_picture_size
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - p_sps
    - p_ox
    - p_oy
    - p_w
    - p_h
    - p_vw
    - p_vh
    argTypes:
    - hevc_sequence_parameter_set_t*
    - unsigned*
    - unsigned*
    - unsigned*
    - unsigned*
    - unsigned*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1068
    functionDepth: 1
    functionLinenumber: 1068
    functionLinenumberEnd: 1078
    functionName: hevc_get_picture_size
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 1
    functionsReached:
    - h26x_get_picture_size
    linkageType: ''
    returnType: bool
    signature: "bool hevc_get_picture_size( const hevc_sequence_parameter_set_t *p_sps,\n
      \                           unsigned *p_ox, unsigned *p_oy,\n                            unsigned
      *p_w, unsigned *p_h,\n                            unsigned *p_vw, unsigned *p_vh
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - p_sps
    - max_num_reorder_pics
    - max_latency_pics
    - max_dec_pic_buffering
    argTypes:
    - hevc_sequence_parameter_set_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1097
    functionName: hevc_get_dpb_values
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void hevc_get_dpb_values( const hevc_sequence_parameter_set_t *p_sps,
      uint8_t *max_num_reorder_pics,\n                          uint8_t *max_latency_pics,
      uint8_t *max_dec_pic_buffering )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p_sps
    - p_w
    - p_h
    argTypes:
    - hevc_sequence_parameter_set_t*
    - unsigned*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1109
    functionName: hevc_get_picture_CtbsYsize
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hevc_get_picture_CtbsYsize( const hevc_sequence_parameter_set_t
      *p_sps, unsigned *p_w, unsigned *p_h )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - p_sps
    - p_vps
    - pi_num
    - pi_den
    argTypes:
    - hevc_sequence_parameter_set_t*
    - hevc_video_parameter_set_t*
    - unsigned*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1128
    functionName: hevc_get_frame_rate
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool hevc_get_frame_rate( const hevc_sequence_parameter_set_t *p_sps,\n
      \                         const hevc_video_parameter_set_t *p_vps,\n                          unsigned
      *pi_num, unsigned *pi_den )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h26x_get_aspect_ratio
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - p_sps
    - num
    - den
    argTypes:
    - hevc_sequence_parameter_set_t*
    - unsigned*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1130
    functionDepth: 1
    functionLinenumber: 1130
    functionLinenumberEnd: 1136
    functionName: hevc_get_aspect_ratio
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 1
    functionsReached:
    - h26x_get_aspect_ratio
    linkageType: ''
    returnType: bool
    signature: "bool hevc_get_aspect_ratio( const hevc_sequence_parameter_set_t *p_sps,\n
      \                           unsigned *num, unsigned *den )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - p_sps
    - pi_chroma_format
    - pi_depth_luma
    - pi_depth_chroma
    argTypes:
    - hevc_sequence_parameter_set_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1145
    functionName: hevc_get_chroma_luma
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool hevc_get_chroma_luma( const hevc_sequence_parameter_set_t *p_sps,
      uint8_t *pi_chroma_format,\n                           uint8_t *pi_depth_luma,
      uint8_t *pi_depth_chroma )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h26x_get_colorimetry
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - p_sps
    - p_primaries
    - p_transfer
    - p_colorspace
    - p_full_range
    argTypes:
    - hevc_sequence_parameter_set_t*
    - video_color_primaries_t*
    - video_transfer_func_t*
    - video_color_space_t*
    - video_color_range_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1147
    functionDepth: 1
    functionLinenumber: 1147
    functionLinenumberEnd: 1157
    functionName: hevc_get_colorimetry
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 1
    functionsReached:
    - h26x_get_colorimetry
    linkageType: ''
    returnType: bool
    signature: "bool hevc_get_colorimetry( const hevc_sequence_parameter_set_t *p_sps,\n
      \                          video_color_primaries_t *p_primaries,\n                           video_transfer_func_t
      *p_transfer,\n                           video_color_space_t *p_colorspace,\n
      \                          video_color_range_t *p_full_range )"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: bs_eof
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1168,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1171,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1173,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1174,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1178,1
    - Dst: get_matchedxps
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1181,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1188,1
    - Dst: hevc_get_picture_CtbsYsize
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1191,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1194,1
    - Dst: stdc_bit_width
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1194,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1203,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1209,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1213,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1215,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1220,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1226,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1229,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1233,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 4
    argNames:
    - p_bs
    - get_matchedxps
    - priv
    - p_sl
    argTypes:
    - bs_t*
    - pf_get_matchedxps
    - void*
    - hevc_slice_segment_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1159
    functionDepth: 1
    functionLinenumber: 1159
    functionLinenumberEnd: 1234
    functionName: hevc_parse_slice_segment_header_rbsp
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 0
    functionsReached:
    - hevc_get_picture_CtbsYsize
    - bs_read1
    - bs_skip
    - bs_eof
    - bs_read
    - bs_read_ue
    - bs_error
    - stdc_bit_width
    - get_matchedxps
    linkageType: ''
    returnType: bool
    signature: "bool hevc_parse_slice_segment_header_rbsp( bs_t *p_bs,\n                                                  pf_get_matchedxps
      get_matchedxps,\n                                                  void *priv,\n
      \                                                 hevc_slice_segment_header_t
      *p_sl )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_sh
    argTypes:
    - hevc_slice_segment_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1239
    functionName: hevc_rbsp_release_slice_header
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void hevc_rbsp_release_slice_header( hevc_slice_segment_header_t *p_sh
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1244,1
    - Dst: likely
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1245,1
    - Dst: hxxx_bsfw_ep3b_ctx_init
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1251,1
    - Dst: bs_init_custom
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1252,1
    - Dst: bs_init
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1254,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1255,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1256,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1257,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1258,1
    - Dst: hevc_parse_slice_segment_header_rbsp
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1260,1
    - Dst: hevc_rbsp_release_slice_header
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - p_buf
    - i_buf
    - b_escaped
    - get_matchedxps
    - priv
    argTypes:
    - uint8_t*
    - size_t
    - bool
    - pf_get_matchedxps
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1241
    functionDepth: 2
    functionLinenumber: 1241
    functionLinenumberEnd: 1267
    functionName: hevc_decode_slice_header
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 1
    functionsReached:
    - hxxx_bsfw_ep3b_ctx_init
    - hevc_parse_slice_segment_header_rbsp
    - bs_skip
    - hevc_rbsp_release_slice_header
    - bs_init_custom
    - bs_read
    - calloc
    - likely
    - bs_init
    linkageType: ''
    returnType: hevc_slice_segment_header_t
    signature: "hevc_slice_segment_header_t * hevc_decode_slice_header( const uint8_t
      *p_buf, size_t i_buf, bool b_escaped,\n                                                        pf_get_matchedxps
      get_matchedxps, void *priv )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p_sli
    - pi_type
    argTypes:
    - hevc_slice_segment_header_t*
    - enum hevc_slice_type_e*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1277
    functionName: hevc_get_slice_type
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hevc_get_slice_type( const hevc_slice_segment_header_t *p_sli,
      enum hevc_slice_type_e *pi_type )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_sli
    argTypes:
    - hevc_slice_segment_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1279
    functionDepth: 0
    functionLinenumber: 1279
    functionLinenumberEnd: 1282
    functionName: hevc_get_slice_pic_output
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hevc_get_slice_pic_output( const hevc_slice_segment_header_t *p_sli
      )
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - p_fmt
    - pi_profile
    - pi_level
    - pi_nal_length_size
    argTypes:
    - es_format_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1302
    functionName: hevc_get_profile_level
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool hevc_get_profile_level(const es_format_t *p_fmt, uint8_t *pi_profile,\n
      \                           uint8_t *pi_level, uint8_t *pi_nal_length_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1320,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - hevc_inner_profile_tier_level_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1326
    functionName: hevc_make_indication
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: unsigned
    signature: unsigned hevc_make_indication( const hevc_inner_profile_tier_level_t
      *p )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hevc_make_indication
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1335,1
    - Dst: hevc_make_indication
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - p_sps
    argTypes:
    - hevc_sequence_parameter_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1328
    functionDepth: 1
    functionLinenumber: 1328
    functionLinenumberEnd: 1350
    functionName: hevc_get_vlc_profile
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 0
    functionsReached:
    - hevc_make_indication
    linkageType: ''
    returnType: enum vlc_hevc_profile_e
    signature: enum vlc_hevc_profile_e hevc_get_vlc_profile( const hevc_sequence_parameter_set_t
      *p_sps )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_bsfw_ep3b_ctx_init
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1364,1
    - Dst: bs_init_custom
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1365,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1374,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1375,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1376,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1379,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - p_buffer
    - i_buffer
    - p_values
    argTypes:
    - uint8_t*
    - size_t
    - struct hevc_dcr_values*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1356
    functionDepth: 1
    functionLinenumber: 1356
    functionLinenumberEnd: 1383
    functionName: hevc_dcr_params_from_vps
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 0
    functionsReached:
    - hxxx_bsfw_ep3b_ctx_init
    - bs_skip
    - bs_read1
    - bs_init_custom
    - bs_read
    linkageType: ''
    returnType: void
    signature: "void hevc_dcr_params_from_vps( const uint8_t * p_buffer, size_t i_buffer,\n
      \                                     struct hevc_dcr_values *p_values )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type
    - ','
    - count
    - ','
    - buffers
    - ','
    - sizes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1385
    functionDepth: 0
    functionLinenumber: 1385
    functionLinenumberEnd: 1396
    functionName: HEVC_DCR_ADD_NALS
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HEVC_DCR_ADD_NALS(type, count, buffers, sizes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - count
    - ','
    - sizes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1397
    functionDepth: 0
    functionLinenumber: 1397
    functionLinenumberEnd: 1404
    functionName: HEVC_DCR_ADD_SIZES
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HEVC_DCR_ADD_SIZES(count, sizes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hevc_dcr_params_from_vps
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1434,1
    - Dst: hevc_decode_sps
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1437,1
    - Dst: hevc_rbsp_release_sps
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1443,1
    - Dst: HEVC_DCR_ADD_SIZES
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1448,1
    - Dst: HEVC_DCR_ADD_SIZES
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1449,1
    - Dst: HEVC_DCR_ADD_SIZES
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1450,1
    - Dst: HEVC_DCR_ADD_SIZES
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1451,1
    - Dst: HEVC_DCR_ADD_SIZES
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1452,1
    - Dst: malloc
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1454,1
    - Dst: memcpy
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1463,1
    - Dst: SetWBE
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1465,1
    - Dst: SetWBE
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1473,1
    - Dst: HEVC_DCR_ADD_NALS
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1484,1
    - Dst: HEVC_DCR_ADD_NALS
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1486,1
    - Dst: HEVC_DCR_ADD_NALS
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1488,1
    - Dst: HEVC_DCR_ADD_NALS
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1490,1
    - Dst: HEVC_DCR_ADD_NALS
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1492,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 4
    argNames:
    - p_params
    - i_nal_length_size
    - b_completeness
    - pi_size
    argTypes:
    - struct hevc_dcr_params*
    - uint8_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1406
    functionDepth: 2
    functionLinenumber: 1406
    functionLinenumberEnd: 1496
    functionName: hevc_create_dcr
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 0
    functionsReached:
    - HEVC_DCR_ADD_SIZES
    - HEVC_DCR_ADD_NALS
    - SetWBE
    - hevc_decode_sps
    - memcpy
    - hevc_rbsp_release_sps
    - hevc_dcr_params_from_vps
    - malloc
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t * hevc_create_dcr( const struct hevc_dcr_params *p_params,\n
      \                          uint8_t i_nal_length_size,\n                           bool
      b_completeness, size_t *pi_size )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i_nal_type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1501
    functionDepth: 0
    functionLinenumber: 1501
    functionLinenumberEnd: 1505
    functionName: hevc_NAL_IsIRAP
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hevc_NAL_IsIRAP( uint8_t i_nal_type )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - i_nal_type
    - p_ctx
    argTypes:
    - uint8_t
    - hevc_poc_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1518
      start: 1507
    functionDepth: 0
    functionLinenumber: 1507
    functionLinenumberEnd: 1518
    functionName: hevc_get_IRAPNoRaslOutputFlag
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool hevc_get_IRAPNoRaslOutputFlag( uint8_t i_nal_type,\n                                    const
      hevc_poc_ctx_t *p_ctx )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: hevc_NAL_IsIRAP
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1533,1
    - Dst: hevc_get_IRAPNoRaslOutputFlag
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1535,1
    - Dst: printf
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1538,1
    - Dst: printf
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1584,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 3
    argNames:
    - p_sps
    - p_slice
    - p_ctx
    argTypes:
    - hevc_sequence_parameter_set_t*
    - hevc_slice_segment_header_t*
    - hevc_poc_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1588
      start: 1523
    functionDepth: 1
    functionLinenumber: 1523
    functionLinenumberEnd: 1588
    functionName: hevc_compute_picture_order_count
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 0
    functionsReached:
    - hevc_get_IRAPNoRaslOutputFlag
    - printf
    - hevc_NAL_IsIRAP
    linkageType: ''
    returnType: int
    signature: "int hevc_compute_picture_order_count( const hevc_sequence_parameter_set_t
      *p_sps,\n                                       const hevc_slice_segment_header_t
      *p_slice,\n                                       hevc_poc_ctx_t *p_ctx )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_timing
    argTypes:
    - hevc_sei_pic_timing_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1596
    functionDepth: 0
    functionLinenumber: 1596
    functionLinenumberEnd: 1599
    functionName: hevc_release_sei_pic_timing
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 3
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void hevc_release_sei_pic_timing( hevc_sei_pic_timing_t *p_timing )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1604,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1609,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - p_bs
    - p_sps
    argTypes:
    - bs_t*
    - hevc_sequence_parameter_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1601
    functionDepth: 1
    functionLinenumber: 1601
    functionLinenumberEnd: 1619
    functionName: hevc_decode_sei_pic_timing
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 1
    functionsReached:
    - malloc
    - bs_read
    linkageType: ''
    returnType: hevc_sei_pic_timing_t
    signature: "hevc_sei_pic_timing_t * hevc_decode_sei_pic_timing( bs_t *p_bs,\n
      \                                                   const hevc_sequence_parameter_set_t
      *p_sps )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bs_read_se
      Src: /src/vlc/modules/packetizer/hevc_nal.c:1623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_bs
    - p_reco
    argTypes:
    - bs_t*
    - hevc_sei_recovery_point_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1621
    functionDepth: 1
    functionLinenumber: 1621
    functionLinenumberEnd: 1625
    functionName: hevc_decode_sei_recovery_point
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 1
    functionsReached:
    - bs_read_se
    linkageType: ''
    returnType: bool
    signature: bool hevc_decode_sei_recovery_point( bs_t *p_bs, hevc_sei_recovery_point_t
      *p_reco )
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - p_sps
    - p_timing
    argTypes:
    - hevc_sequence_parameter_set_t*
    - hevc_sei_pic_timing_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1627
    functionDepth: 0
    functionLinenumber: 1627
    functionLinenumberEnd: 1652
    functionName: hevc_frame_is_progressive
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool hevc_frame_is_progressive( const hevc_sequence_parameter_set_t
      *p_sps,\n                                const hevc_sei_pic_timing_t *p_timing
      )"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - p_sps
    - p_timing
    argTypes:
    - hevc_sequence_parameter_set_t*
    - hevc_sei_pic_timing_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1676
      start: 1654
    functionDepth: 0
    functionLinenumber: 1654
    functionLinenumberEnd: 1676
    functionName: hevc_get_num_clock_ts
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t hevc_get_num_clock_ts( const hevc_sequence_parameter_set_t
      *p_sps,\n                               const hevc_sei_pic_timing_t *p_timing
      )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/packetizer/copy.c:87,1
    - Dst: malloc
      Src: /src/vlc/modules/packetizer/copy.c:91,1
    - Dst: unlikely
      Src: /src/vlc/modules/packetizer/copy.c:92,1
    - Dst: vlc_fourcc_GetCodecAudio
      Src: /src/vlc/modules/packetizer/copy.c:110,1
    - Dst: msg_Err
      Src: /src/vlc/modules/packetizer/copy.c:114,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/copy.c:115,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/packetizer/copy.c:121,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 131
    functionName: Open
    functionSourceFile: /src/vlc/modules/packetizer/copy.c
    functionUses: 28
    functionsReached:
    - msg_Err
    - free
    - vlc_fourcc_GetCodecAudio
    - es_format_Copy
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/packetizer/copy.c:143,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/copy.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 147
    functionName: Close
    functionSourceFile: /src/vlc/modules/packetizer/copy.c
    functionUses: 87
    functionsReached:
    - block_ChainRelease
    - free
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/copy.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 158
    functionName: Flush
    functionSourceFile: /src/vlc/modules/packetizer/copy.c
    functionUses: 18
    functionsReached:
    - block_Release
    linkageType: ''
    returnType: void
    signature: void Flush( decoder_t *p_dec )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/copy.c:173,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/copy.c:187,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/copy.c:188,1
    - Dst: decoder_sys_t*::pf_parse
      Src: /src/vlc/modules/packetizer/copy.c:200,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 202
    functionName: Packetize
    functionSourceFile: /src/vlc/modules/packetizer/copy.c
    functionUses: 5
    functionsReached:
    - decoder_sys_t*::pf_parse
    - block_Release
    - msg_Dbg
    linkageType: ''
    returnType: block_t
    signature: block_t *Packetize ( decoder_t *p_dec, block_t **pp_block )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/copy.c:215,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/copy.c:229,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/copy.c:230,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 235
    functionName: PacketizeSub
    functionSourceFile: /src/vlc/modules/packetizer/copy.c
    functionUses: 0
    functionsReached:
    - block_Release
    - msg_Dbg
    linkageType: ''
    returnType: block_t
    signature: block_t *PacketizeSub( decoder_t *p_dec, block_t **pp_block )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bs_init
      Src: /src/vlc/modules/packetizer/copy.c:243,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/copy.c:244,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/copy.c:246,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/copy.c:247,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/copy.c:248,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/copy.c:249,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/copy.c:250,1
    - Dst: bs_eof
      Src: /src/vlc/modules/packetizer/copy.c:251,1
    - Dst: bs_init
      Src: /src/vlc/modules/packetizer/copy.c:255,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/copy.c:256,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/copy.c:261,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/copy.c:263,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 267
    functionName: ParseWMV3
    functionSourceFile: /src/vlc/modules/packetizer/copy.c
    functionUses: 0
    functionsReached:
    - bs_eof
    - bs_init
    - bs_skip
    - bs_read
    linkageType: ''
    returnType: void
    signature: void ParseWMV3( decoder_t *p_dec, block_t *p_block )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pp_head
    - ppp_tail
    argTypes:
    - block_t**
    - block_t***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: InitQueue
    functionSourceFile: /src/vlc/modules/packetizer/av1.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitQueue(block_t **pp_head, block_t ***ppp_tail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/packetizer/av1.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - block_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: block_Differs
    functionSourceFile: /src/vlc/modules/packetizer/av1.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool block_Differs(const block_t *a, const block_t *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: INITQ
    functionSourceFile: /src/vlc/modules/packetizer/av1.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INITQ(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: PUSHQ
    functionSourceFile: /src/vlc/modules/packetizer/av1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUSHQ(name,b)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: AV1_get_profile_level
      Src: /src/vlc/modules/packetizer/av1.c:109,1
    - Dst: AV1_get_frame_max_dimensions
      Src: /src/vlc/modules/packetizer/av1.c:118,1
    - Dst: AV1_get_frame_rate
      Src: /src/vlc/modules/packetizer/av1.c:133,1
    - Dst: AV1_get_colorimetry
      Src: /src/vlc/modules/packetizer/av1.c:146,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/av1.c:160,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/av1.c:167,1
    - Dst: AV1_create_DecoderConfigurationRecord
      Src: /src/vlc/modules/packetizer/av1.c:169,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 35
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 176
    functionName: UpdateDecoderFormat
    functionSourceFile: /src/vlc/modules/packetizer/av1.c
    functionUses: 0
    functionsReached:
    - AV1_get_profile_level
    - AV1_get_frame_max_dimensions
    - free
    - AV1_get_colorimetry
    - AV1_get_frame_rate
    - AV1_create_DecoderConfigurationRecord
    linkageType: ''
    returnType: void
    signature: void UpdateDecoderFormat(decoder_t *p_dec)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/av1.c:187,1
    - Dst: INITQ
      Src: /src/vlc/modules/packetizer/av1.c:188,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/av1.c:194,1
    - Dst: INITQ
      Src: /src/vlc/modules/packetizer/av1.c:195,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/av1.c:200,1
    - Dst: INITQ
      Src: /src/vlc/modules/packetizer/av1.c:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - p_dec
    - b_valid
    argTypes:
    - decoder_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 224
    functionName: OutputQueues
    functionSourceFile: /src/vlc/modules/packetizer/av1.c
    functionUses: 13
    functionsReached:
    - INITQ
    - block_ChainLastAppend
    linkageType: ''
    returnType: block_t
    signature: block_t * OutputQueues(decoder_t *p_dec, bool b_valid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/packetizer/av1.c:233,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/av1.c:238,1
    - Dst: AV1_OBUGetType
      Src: /src/vlc/modules/packetizer/av1.c:241,1
    - Dst: AV1_OBUIsBaseLayer
      Src: /src/vlc/modules/packetizer/av1.c:245,1
    - Dst: AV1_OBU_parse_frame_header
      Src: /src/vlc/modules/packetizer/av1.c:247,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/av1.c:251,1
    - Dst: AV1_get_frame_type
      Src: /src/vlc/modules/packetizer/av1.c:253,1
    - Dst: AV1_get_frame_visibility
      Src: /src/vlc/modules/packetizer/av1.c:254,1
    - Dst: AV1_release_frame_header
      Src: /src/vlc/modules/packetizer/av1.c:256,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/av1.c:259,1
    - Dst: block_ChainGather
      Src: /src/vlc/modules/packetizer/av1.c:265,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/packetizer/av1.c:270,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - p_dec
    - p_outputchain
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 275
    functionName: GatherAndValidateChain
    functionSourceFile: /src/vlc/modules/packetizer/av1.c
    functionUses: 4
    functionsReached:
    - AV1_OBU_parse_frame_header
    - AV1_OBUIsBaseLayer
    - block_ChainRelease
    - AV1_get_frame_type
    - VLC_UNUSED
    - AV1_get_frame_visibility
    - AV1_release_frame_header
    - msg_Dbg
    - block_ChainGather
    - AV1_OBUGetType
    linkageType: ''
    returnType: block_t
    signature: block_t *GatherAndValidateChain(decoder_t *p_dec, block_t *p_outputchain)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: AV1_OBUGetType
      Src: /src/vlc/modules/packetizer/av1.c:282,1
    - Dst: AV1_OBUIsBaseLayer
      Src: /src/vlc/modules/packetizer/av1.c:283,1
    - Dst: OutputQueues
      Src: /src/vlc/modules/packetizer/av1.c:290,1
    - Dst: block_Differs
      Src: /src/vlc/modules/packetizer/av1.c:296,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/av1.c:299,1
    - Dst: block_Duplicate
      Src: /src/vlc/modules/packetizer/av1.c:300,1
    - Dst: AV1_OBU_parse_sequence_header
      Src: /src/vlc/modules/packetizer/av1.c:304,1
    - Dst: likely
      Src: /src/vlc/modules/packetizer/av1.c:305,1
    - Dst: AV1_sequence_header_equal
      Src: /src/vlc/modules/packetizer/av1.c:308,1
    - Dst: AV1_release_sequence_header
      Src: /src/vlc/modules/packetizer/av1.c:312,1
    - Dst: AV1_release_sequence_header
      Src: /src/vlc/modules/packetizer/av1.c:317,1
    - Dst: PUSHQ
      Src: /src/vlc/modules/packetizer/av1.c:320,1
    - Dst: OutputQueues
      Src: /src/vlc/modules/packetizer/av1.c:325,1
    - Dst: PUSHQ
      Src: /src/vlc/modules/packetizer/av1.c:326,1
    - Dst: AV1_OBU_parse_frame_header
      Src: /src/vlc/modules/packetizer/av1.c:337,1
    - Dst: OutputQueues
      Src: /src/vlc/modules/packetizer/av1.c:342,1
    - Dst: AV1_get_frame_type
      Src: /src/vlc/modules/packetizer/av1.c:344,1
    - Dst: AV1_get_frame_visibility
      Src: /src/vlc/modules/packetizer/av1.c:357,1
    - Dst: AV1_release_frame_header
      Src: /src/vlc/modules/packetizer/av1.c:358,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/packetizer/av1.c:360,1
    - Dst: OutputQueues
      Src: /src/vlc/modules/packetizer/av1.c:365,1
    - Dst: PUSHQ
      Src: /src/vlc/modules/packetizer/av1.c:367,1
    - Dst: OutputQueues
      Src: /src/vlc/modules/packetizer/av1.c:373,1
    - Dst: PUSHQ
      Src: /src/vlc/modules/packetizer/av1.c:374,1
    - Dst: OutputQueues
      Src: /src/vlc/modules/packetizer/av1.c:380,1
    - Dst: PUSHQ
      Src: /src/vlc/modules/packetizer/av1.c:381,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/av1.c:387,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 82
    argCount: 2
    argNames:
    - p_dec
    - p_obu
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 395
    functionName: ParseOBUBlock
    functionSourceFile: /src/vlc/modules/packetizer/av1.c
    functionUses: 0
    functionsReached:
    - block_Release
    - AV1_OBU_parse_sequence_header
    - AV1_OBUIsBaseLayer
    - OutputQueues
    - AV1_OBU_parse_frame_header
    - block_Differs
    - AV1_release_sequence_header
    - AV1_get_frame_type
    - AV1_get_frame_visibility
    - block_Duplicate
    - AV1_sequence_header_equal
    - AV1_release_frame_header
    - likely
    - PUSHQ
    - msg_Warn
    - AV1_OBUGetType
    linkageType: ''
    returnType: block_t
    signature: block_t *ParseOBUBlock(decoder_t *p_dec, block_t *p_obu)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/packetizer/av1.c:404,1
    - Dst: OutputQueues
      Src: /src/vlc/modules/packetizer/av1.c:404,1
    - Dst: AV1_release_sequence_header
      Src: /src/vlc/modules/packetizer/av1.c:408,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/av1.c:414,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/packetizer/av1.c:418,1
    - Dst: INITQ
      Src: /src/vlc/modules/packetizer/av1.c:419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 426
    functionName: PacketizeFlush
    functionSourceFile: /src/vlc/modules/packetizer/av1.c
    functionUses: 0
    functionsReached:
    - block_Release
    - OutputQueues
    - block_ChainRelease
    - AV1_release_sequence_header
    - INITQ
    linkageType: ''
    returnType: void
    signature: void PacketizeFlush(decoder_t *p_dec)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PacketizeOBU
      Src: /src/vlc/modules/packetizer/av1.c:441,1
    - Dst: PacketizeFlush
      Src: /src/vlc/modules/packetizer/av1.c:445,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/av1.c:449,1
    - Dst: AV1_OBUIsValid
      Src: /src/vlc/modules/packetizer/av1.c:454,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/packetizer/av1.c:456,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/av1.c:457,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/av1.c:461,1
    - Dst: AV1_OBU_iterator_init
      Src: /src/vlc/modules/packetizer/av1.c:470,1
    - Dst: AV1_OBU_iterate_next
      Src: /src/vlc/modules/packetizer/av1.c:473,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/packetizer/av1.c:475,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/av1.c:482,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/packetizer/av1.c:498,1
    - Dst: memcpy
      Src: /src/vlc/modules/packetizer/av1.c:499,1
    - Dst: ParseOBUBlock
      Src: /src/vlc/modules/packetizer/av1.c:510,1
    - Dst: OutputQueues
      Src: /src/vlc/modules/packetizer/av1.c:517,1
    - Dst: GatherAndValidateChain
      Src: /src/vlc/modules/packetizer/av1.c:521,1
    - Dst: UpdateDecoderFormat
      Src: /src/vlc/modules/packetizer/av1.c:522,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 59
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 431
    functionDepth: 3
    functionLinenumber: 431
    functionLinenumberEnd: 526
    functionName: PacketizeOBU
    functionSourceFile: /src/vlc/modules/packetizer/av1.c
    functionUses: 1
    functionsReached:
    - block_Release
    - AV1_OBU_iterator_init
    - OutputQueues
    - GatherAndValidateChain
    - memcpy
    - block_ChainLastAppend
    - AV1_OBU_iterate_next
    - AV1_OBUIsValid
    - block_Alloc
    - UpdateDecoderFormat
    - PacketizeOBU
    - msg_Warn
    - PacketizeFlush
    - ParseOBUBlock
    linkageType: ''
    returnType: block_t
    signature: block_t *PacketizeOBU(decoder_t *p_dec, block_t **pp_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PacketizeFlush
      Src: /src/vlc/modules/packetizer/av1.c:536,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/av1.c:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 539
    functionName: Close
    functionSourceFile: /src/vlc/modules/packetizer/av1.c
    functionUses: 87
    functionsReached:
    - PacketizeFlush
    - free
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *p_this)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/packetizer/av1.c:552,1
    - Dst: INITQ
      Src: /src/vlc/modules/packetizer/av1.c:556,1
    - Dst: INITQ
      Src: /src/vlc/modules/packetizer/av1.c:565,1
    - Dst: INITQ
      Src: /src/vlc/modules/packetizer/av1.c:566,1
    - Dst: INITQ
      Src: /src/vlc/modules/packetizer/av1.c:567,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/packetizer/av1.c:570,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 577
    functionName: Open
    functionSourceFile: /src/vlc/modules/packetizer/av1.c
    functionUses: 28
    functionsReached:
    - calloc
    - es_format_Copy
    - INITQ
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: h264_getNALType
    functionSourceFile: /src/vlc/modules/packetizer/h264_nal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum h264_nal_unit_type_e
    signature: enum h264_nal_unit_type_e h264_getNALType(const uint8_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pp_data
    - pi_data
    argTypes:
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 56
    functionName: hxxx_strip_AnnexB_startcode
    functionSourceFile: /src/vlc/modules/packetizer/hxxx_nal.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hxxx_strip_AnnexB_startcode( const uint8_t **pp_data, size_t *pi_data
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stdc_has_single_bit
      Src: /src/vlc/modules/packetizer/hxxx_nal.h:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - p_ctx
    - p_data
    - i_data
    - i_nal_length_size
    argTypes:
    - hxxx_iterator_ctx_t*
    - uint8_t*
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: hxxx_iterator_init
    functionSourceFile: /src/vlc/modules/packetizer/hxxx_nal.h
    functionUses: 3
    functionsReached:
    - stdc_has_single_bit
    linkageType: ''
    returnType: void
    signature: "void hxxx_iterator_init( hxxx_iterator_ctx_t *p_ctx, const uint8_t
      *p_data, size_t i_data,\n                                       uint8_t i_nal_length_size
      )"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - p_ctx
    - pp_start
    - pi_size
    argTypes:
    - hxxx_iterator_ctx_t*
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 98
    functionName: hxxx_iterate_next
    functionSourceFile: /src/vlc/modules/packetizer/hxxx_nal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hxxx_iterate_next( hxxx_iterator_ctx_t *p_ctx, const uint8_t **pp_start,
      size_t *pi_size )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: startcode_FindAnnexB
      Src: /src/vlc/modules/packetizer/hxxx_nal.h:105,1
    - Dst: startcode_FindAnnexB
      Src: /src/vlc/modules/packetizer/hxxx_nal.h:109,1
    - Dst: hxxx_strip_AnnexB_startcode
      Src: /src/vlc/modules/packetizer/hxxx_nal.h:121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - p_ctx
    - pp_start
    - pi_size
    argTypes:
    - hxxx_iterator_ctx_t*
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 122
    functionName: hxxx_annexb_iterate_next
    functionSourceFile: /src/vlc/modules/packetizer/hxxx_nal.h
    functionUses: 3
    functionsReached:
    - startcode_FindAnnexB
    - hxxx_strip_AnnexB_startcode
    linkageType: ''
    returnType: bool
    signature: bool hxxx_annexb_iterate_next( hxxx_iterator_ctx_t *p_ctx, const uint8_t
      **pp_start, size_t *pi_size )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - warn
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: WARN_ONCE
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4audio.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WARN_ONCE(warn, msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - i_channel
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: ChannelConfigurationToVLC
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4audio.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ChannelConfigurationToVLC(uint8_t i_channel)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - i_object_type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 144
    functionName: AOTtoAACProfile
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4audio.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int AOTtoAACProfile(uint8_t i_object_type)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:180,1
    - Dst: block_BytestreamInit
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:186,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:197,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:213,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:215,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:218,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:220,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:223,1
    - Dst: bs_init
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:242,1
    - Dst: MPEG4_read_AudioSpecificConfig
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:243,1
    - Dst: ChannelConfigurationToVLC
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:248,1
    - Dst: AOTtoAACProfile
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:250,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:252,1
    - Dst: malloc
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:260,1
    - Dst: memcpy
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:264,1
    - Dst: date_Init
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:269,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 278
    functionName: OpenPacketizer
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4audio.c
    functionUses: 1
    functionsReached:
    - VLC_FOURCC
    - MPEG4_read_AudioSpecificConfig
    - block_BytestreamInit
    - ChannelConfigurationToVLC
    - memcpy
    - date_Init
    - msg_Dbg
    - AOTtoAACProfile
    - bs_init
    - malloc
    linkageType: ''
    returnType: int
    signature: int OpenPacketizer(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_BytestreamRelease
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:288,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 290
    functionName: ClosePacketizer
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4audio.c
    functionUses: 1
    functionsReached:
    - free
    - block_BytestreamRelease
    linkageType: ''
    returnType: void
    signature: void ClosePacketizer(vlc_object_t *p_this)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:310,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:312,1
    - Dst: llabs
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:313,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:313,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:314,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:317,1
    - Dst: date_Increment
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:323,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 331
    functionName: ForwardRawBlock
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4audio.c
    functionUses: 0
    functionsReached:
    - llabs
    - date_Set
    - date_Increment
    - date_Get
    linkageType: ''
    returnType: block_t
    signature: block_t *ForwardRawBlock(decoder_t *p_dec, block_t **pp_block)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:367,1
    - Dst: WARN_ONCE
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:375,1
    - Dst: msg_Err
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:379,1
    - Dst: WARN_ONCE
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:398,1
    - Dst: malloc
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:409,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 6
    argNames:
    - p_dec
    - p_buf
    - pi_channels
    - pi_sample_rate
    - pi_frame_length
    - pi_header_size
    argTypes:
    - decoder_t*
    - uint8_t*
    - unsigned int*
    - unsigned int*
    - unsigned int*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 423
    functionName: ADTSSyncInfo
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4audio.c
    functionUses: 0
    functionsReached:
    - malloc
    - WARN_ONCE
    - msg_Err
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: "int ADTSSyncInfo(decoder_t * p_dec, const uint8_t * p_buf,\n                         unsigned
      int * pi_channels,\n                         unsigned int * pi_sample_rate,\n
      \                        unsigned int * pi_frame_length,\n                         unsigned
      int * pi_header_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_header
    - pi_header_size
    argTypes:
    - uint8_t[]
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: LOASSyncInfo
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4audio.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LOASSyncInfo(uint8_t p_header[LOAS_HEADER_SIZE], unsigned int *pi_header_size)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: bs_init
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:440,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:443,1
    - Dst: MPEG4_parse_StreamMuxConfig
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:443,1
    - Dst: ChannelConfigurationToVLC
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:448,1
    - Dst: ChannelConfigurationToVLC
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:451,1
    - Dst: AOTtoAACProfile
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:454,1
    - Dst: memcmp
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:460,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:463,1
    - Dst: malloc
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:464,1
    - Dst: memcpy
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:468,1
    - Dst: bs_eof
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:492,1
    - Dst: msg_Err
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:497,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:509,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:520,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:542,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:543,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:549,1
    - Dst: msg_Err
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:555,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:558,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:571,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:577,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:583,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:598,1
    - Dst: bs_align
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:599,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:604,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 107
    argCount: 3
    argNames:
    - p_dec
    - p_buffer
    - i_buffer
    argTypes:
    - decoder_t*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 606
    functionName: LOASParse
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4audio.c
    functionUses: 0
    functionsReached:
    - bs_read1
    - bs_skip
    - ChannelConfigurationToVLC
    - bs_eof
    - memcpy
    - msg_Err
    - free
    - MPEG4_parse_StreamMuxConfig
    - malloc
    - bs_read
    - AOTtoAACProfile
    - msg_Warn
    - bs_error
    - bs_align
    - bs_init
    - memcmp
    linkageType: ''
    returnType: int
    signature: int LOASParse(decoder_t *p_dec, uint8_t *p_buffer, int i_buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Info
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:617,1
    - Dst: date_Change
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:619,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:633,1
    - Dst: date_Increment
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:636,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 637
    functionName: SetupOutput
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4audio.c
    functionUses: 0
    functionsReached:
    - date_Increment
    - msg_Info
    - date_Change
    - date_Get
    linkageType: ''
    returnType: void
    signature: void SetupOutput(decoder_t *p_dec, block_t *p_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_BytestreamEmpty
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:647,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 650
    functionName: Flush
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4audio.c
    functionUses: 20
    functionsReached:
    - block_BytestreamEmpty
    - date_Set
    linkageType: ''
    returnType: void
    signature: void Flush(decoder_t *p_dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p_header
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 655
    functionName: HasADTSHeader
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4audio.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasADTSHeader( const uint8_t *p_header )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p_header
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 660
    functionName: HasLoasHeader
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4audio.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasLoasHeader( const uint8_t *p_header )
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: block_BytestreamPush
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:676,1
    - Dst: block_PeekBytes
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:682,1
    - Dst: HasADTSHeader
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:685,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:688,1
    - Dst: HasLoasHeader
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:695,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:698,1
    - Dst: block_SkipByte
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:704,1
    - Dst: block_BytestreamFlush
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:707,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:718,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:719,1
    - Dst: block_PeekBytes
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:726,1
    - Dst: ADTSSyncInfo
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:731,1
    - Dst: assert
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:737,1
    - Dst: block_PeekBytes
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:739,1
    - Dst: LOASSyncInfo
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:744,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:748,1
    - Dst: block_SkipByte
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:749,1
    - Dst: block_BytestreamFlush
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:760,1
    - Dst: block_PeekOffsetBytes
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:765,1
    - Dst: assert
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:776,1
    - Dst: HasADTSHeader
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:777,1
    - Dst: HasLoasHeader
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:778,1
    - Dst: block_PeekOffsetBytes
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:782,1
    - Dst: HasADTSHeader
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:786,1
    - Dst: HasLoasHeader
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:787,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:793,1
    - Dst: block_SkipByte
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:796,1
    - Dst: block_WaitBytes
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:807,1
    - Dst: unlikely
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:817,1
    - Dst: block_BytestreamRemaining
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:817,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:821,1
    - Dst: block_SkipBytes
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:828,1
    - Dst: block_GetBytes
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:831,1
    - Dst: assert
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:833,1
    - Dst: LOASParse
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:834,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:838,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:840,1
    - Dst: SetupOutput
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:846,1
    - Dst: block_BytestreamPop
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:853,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 116
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts:
    - condition: ((p_sys->i_type == TYPE_ADTS) || (p_sys->i_type == TYPE_LOAS))
      pos:
        line_end: 775
        line_start: 775
        source_file: /src/vlc/modules/packetizer/mpeg4audio.c
    - condition: (p_sys->i_type == TYPE_LOAS)
      pos:
        line_end: 736
        line_start: 736
        source_file: /src/vlc/modules/packetizer/mpeg4audio.c
    - condition: (p_sys->i_type == TYPE_LOAS)
      pos:
        line_end: 832
        line_start: 832
        source_file: /src/vlc/modules/packetizer/mpeg4audio.c
    constantsTouched: []
    func_position:
      end: 864
      start: 665
    functionDepth: 2
    functionLinenumber: 665
    functionLinenumberEnd: 864
    functionName: PacketizeStreamBlock
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4audio.c
    functionUses: 0
    functionsReached:
    - assert
    - block_Alloc
    - ADTSSyncInfo
    - block_BytestreamRemaining
    - LOASParse
    - HasADTSHeader
    - block_GetBytes
    - block_BytestreamFlush
    - msg_Dbg
    - date_Get
    - block_WaitBytes
    - msg_Warn
    - block_PeekBytes
    - block_SkipBytes
    - HasLoasHeader
    - date_Set
    - block_PeekOffsetBytes
    - block_BytestreamPop
    - SetupOutput
    - block_Release
    - LOASSyncInfo
    - unlikely
    - block_SkipByte
    - block_BytestreamPush
    linkageType: ''
    returnType: block_t
    signature: block_t *PacketizeStreamBlock(decoder_t *p_dec, block_t **pp_block)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PacketizeStreamBlock
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:882,1
    - Dst: Flush
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:887,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:891,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:897,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:900,1
    - Dst: ForwardRawBlock
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:922,1
    - Dst: PacketizeStreamBlock
      Src: /src/vlc/modules/packetizer/mpeg4audio.c:924,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 870
    functionDepth: 3
    functionLinenumber: 870
    functionLinenumberEnd: 933
    functionName: Packetize
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4audio.c
    functionUses: 5
    functionsReached:
    - block_Release
    - PacketizeStreamBlock
    - ForwardRawBlock
    - date_Get
    - Flush
    linkageType: ''
    returnType: block_t
    signature: block_t *Packetize(decoder_t *p_dec, block_t **pp_block)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_strip_AnnexB_startcode
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:35,1
    - Dst: HxxxParseSEI
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 5
    argNames:
    - p_buf
    - i_buf
    - i_header
    - cb
    - cbdata
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t
    - pf_hxxx_sei_callback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: HxxxParse_AnnexB_SEI
    functionSourceFile: /src/vlc/modules/packetizer/hxxx_sei.c
    functionUses: 2
    functionsReached:
    - HxxxParseSEI
    - hxxx_strip_AnnexB_startcode
    linkageType: ''
    returnType: void
    signature: "void HxxxParse_AnnexB_SEI(const uint8_t *p_buf, size_t i_buf,\n                          uint8_t
      i_header, pf_hxxx_sei_callback cb, void *cbdata)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_bsfw_ep3b_ctx_init
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:49,1
    - Dst: bs_init_custom
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:50,1
    - Dst: bs_eof
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:54,1
    - Dst: bs_aligned
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:54,1
    - Dst: bs_eof
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:58,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:60,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:66,1
    - Dst: bs_eof
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:71,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:73,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:79,1
    - Dst: bs_eof
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:83,1
    - Dst: bs_pos
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:90,1
    - Dst: pf_callback
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:97,1
    - Dst: malloc
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:104,1
    - Dst: bs_eof
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:108,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:109,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:111,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:113,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:123,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:125,1
    - Dst: pf_callback
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:131,1
    - Dst: pf_callback
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:145,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:149,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:154,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:155,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:157,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:158,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:159,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:163,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:164,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:165,1
    - Dst: pf_callback
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:175,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:181,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:183,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:184,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:185,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:186,1
    - Dst: pf_callback
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:188,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:193,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:194,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:195,1
    - Dst: pf_callback
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:197,1
    - Dst: bs_pos
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:204,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/hxxx_sei.c:209,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 110
    argCount: 5
    argNames:
    - p_buf
    - i_buf
    - i_header
    - pf_callback
    - cbdata
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t
    - pf_hxxx_sei_callback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 211
    functionName: HxxxParseSEI
    functionSourceFile: /src/vlc/modules/packetizer/hxxx_sei.c
    functionUses: 2
    functionsReached:
    - hxxx_bsfw_ep3b_ctx_init
    - pf_callback
    - VLC_FOURCC
    - bs_read1
    - bs_skip
    - bs_init_custom
    - bs_eof
    - bs_read
    - free
    - bs_aligned
    - bs_read_ue
    - bs_error
    - bs_pos
    - malloc
    linkageType: ''
    returnType: void
    signature: "void HxxxParseSEI(const uint8_t *p_buf, size_t i_buf,\n                  uint8_t
      i_header, pf_hxxx_sei_callback pf_callback, void *cbdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - p_ctx
    argTypes:
    - h264_poc_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: h264_poc_context_init
    functionSourceFile: /src/vlc/modules/packetizer/h264_slice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void h264_poc_context_init( h264_poc_context_t *p_ctx )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:141,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:144,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:145,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:146,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:147,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:148,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:149,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:150,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:152,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:153,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:154,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:155,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:156,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:157,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:159,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:160,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:161,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:162,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:163,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:164,1
    - Dst: bs_align
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:165,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:166,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - s
    argTypes:
    - bs_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 169
    functionName: MPEG4_read_GAProgramConfigElement
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4audio.h
    functionUses: 0
    functionsReached:
    - bs_align
    - bs_skip
    - bs_read1
    - bs_read
    linkageType: ''
    returnType: int
    signature: int MPEG4_read_GAProgramConfigElement(bs_t *s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:173,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:179,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:180,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:182,1
    - Dst: MPEG4_read_GAProgramConfigElement
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:184,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:187,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:191,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:196,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:197,1
    - Dst: fprintf
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:198,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 2
    argNames:
    - p_cfg
    - s
    argTypes:
    - MPEG4_asc_t*
    - bs_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 201
    functionName: MPEG4_read_GASpecificConfig
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4audio.h
    functionUses: 0
    functionsReached:
    - fprintf
    - MPEG4_read_GAProgramConfigElement
    - bs_read1
    - bs_skip
    linkageType: ''
    returnType: int
    signature: int MPEG4_read_GASpecificConfig(MPEG4_asc_t *p_cfg, bs_t *s)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:205,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:209,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:210,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:212,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:236,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:237,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:238,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:240,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:242,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:246,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:248,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:250,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:254,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:258,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:261,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 2
    argNames:
    - p_cfg
    - s
    argTypes:
    - MPEG4_asc_t*
    - bs_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 265
    functionName: MPEG4_read_ELDSpecificConfig
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4audio.h
    functionUses: 0
    functionsReached:
    - bs_read1
    - bs_skip
    - bs_read
    linkageType: ''
    returnType: int
    signature: int MPEG4_read_ELDSpecificConfig(MPEG4_asc_t *p_cfg, bs_t *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:269,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - bs_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 273
    functionName: MPEG4_read_AudioObjectType
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4audio.h
    functionUses: 0
    functionsReached:
    - bs_read
    linkageType: ''
    returnType: enum MPEG4_audioObjectType
    signature: enum MPEG4_audioObjectType MPEG4_read_AudioObjectType(bs_t *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:283,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - bs_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 287
    functionName: MPEG4_read_AudioSamplerate
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4audio.h
    functionUses: 0
    functionsReached:
    - bs_read
    linkageType: ''
    returnType: unsigned
    signature: unsigned MPEG4_read_AudioSamplerate(bs_t *s)
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: MPEG4_read_AudioObjectType
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:291,1
    - Dst: MPEG4_read_AudioSamplerate
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:292,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:293,1
    - Dst: MPEG4_read_AudioSamplerate
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:308,1
    - Dst: MPEG4_read_AudioObjectType
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:310,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:312,1
    - Dst: MPEG4_read_GASpecificConfig
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:329,1
    - Dst: MPEG4_read_ELDSpecificConfig
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:363,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:387,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:391,1
    - Dst: bs_eof
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:401,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:401,1
    - Dst: MPEG4_read_AudioObjectType
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:403,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:406,1
    - Dst: MPEG4_read_AudioSamplerate
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:408,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:409,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:410,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:415,1
    - Dst: MPEG4_read_AudioSamplerate
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:417,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:418,1
    - Dst: fprintf
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:443,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:447,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 102
    argCount: 3
    argNames:
    - s
    - p_cfg
    - b_withext
    argTypes:
    - bs_t*
    - MPEG4_asc_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 448
    functionName: MPEG4_read_AudioSpecificConfig
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4audio.h
    functionUses: 2
    functionsReached:
    - MPEG4_read_AudioSamplerate
    - MPEG4_read_ELDSpecificConfig
    - bs_read1
    - MPEG4_read_AudioObjectType
    - MPEG4_read_GASpecificConfig
    - bs_eof
    - fprintf
    - bs_read
    - bs_error
    linkageType: ''
    returnType: int
    signature: int MPEG4_read_AudioSpecificConfig(bs_t *s, MPEG4_asc_t *p_cfg, bool
      b_withext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:489,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - bs_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 492
    functionName: MPEG4_LatmGetValue
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4audio.h
    functionUses: 0
    functionsReached:
    - bs_read
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MPEG4_LatmGetValue(bs_t *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __MIN
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:496,1
    - Dst: __MIN
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:498,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - s
    - i_bits
    - p_data
    argTypes:
    - bs_t*
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 502
    functionName: AudioSpecificConfigBitsToBytes
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4audio.h
    functionUses: 0
    functionsReached:
    - __MIN
    - bs_read
    linkageType: ''
    returnType: size_t
    signature: size_t AudioSpecificConfigBitsToBytes(bs_t *s, uint32_t i_bits, uint8_t
      *p_data)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:508,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:510,1
    - Dst: memset
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:514,1
    - Dst: MPEG4_LatmGetValue
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:517,1
    - Dst: bs_eof
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:519,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:522,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:523,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:524,1
    - Dst: bs_eof
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:527,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:529,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:541,1
    - Dst: assert
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:544,1
    - Dst: MPEG4_LatmGetValue
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:549,1
    - Dst: MPEG4_read_AudioSpecificConfig
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:551,1
    - Dst: bs_pos
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:553,1
    - Dst: bs_pos
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:553,1
    - Dst: AudioSpecificConfigBitsToBytes
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:555,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:556,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:559,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:564,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:570,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:574,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:577,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:580,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:589,1
    - Dst: bs_eof
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:589,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:593,1
    - Dst: MPEG4_LatmGetValue
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:595,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:599,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:600,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:608,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:609,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/mpeg4audio.h:611,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 79
    argCount: 2
    argNames:
    - s
    - m
    argTypes:
    - bs_t*
    - MPEG4_streammux_config_t*
    assertStmts:
    - condition: (m->i_streams > 0)
      pos:
        line_end: 543
        line_start: 543
        source_file: /src/vlc/modules/packetizer/mpeg4audio.h
    constantsTouched: []
    func_position:
      end: 612
      start: 504
    functionDepth: 4
    functionLinenumber: 504
    functionLinenumberEnd: 612
    functionName: MPEG4_parse_StreamMuxConfig
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4audio.h
    functionUses: 1
    functionsReached:
    - bs_read1
    - assert
    - bs_skip
    - MPEG4_read_AudioSpecificConfig
    - memset
    - bs_eof
    - MPEG4_LatmGetValue
    - bs_read
    - AudioSpecificConfigBitsToBytes
    - bs_error
    - bs_pos
    linkageType: ''
    returnType: int
    signature: int MPEG4_parse_StreamMuxConfig(bs_t *s, MPEG4_streammux_config_t *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: MKPROF
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MKPROF(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: vlc_hevc_profile_is_Intra
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vlc_hevc_profile_is_Intra(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - p_buf
    - i_buf
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: hevc_ishvcC
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hevc_ishvcC( const uint8_t *p_buf, size_t i_buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_hvcC
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: hevc_getNALLengthSize
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t hevc_getNALLengthSize( const uint8_t *p_hvcC )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_buf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: hevc_getNALType
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t hevc_getNALType( const uint8_t *p_buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_buf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: hevc_getNALLayer
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t hevc_getNALLayer( const uint8_t *p_buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_ctx
    argTypes:
    - hevc_poc_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 379
    functionName: hevc_poc_cxt_init
    functionSourceFile: /src/vlc/modules/packetizer/hevc_nal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hevc_poc_cxt_init( hevc_poc_ctx_t *p_ctx )
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - v
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 66
    functionName: vlc_log2
    functionSourceFile: /src/vlc/modules/packetizer/h26x_nal_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned vlc_log2( unsigned int v )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/packetizer/h26x_nal_common.h:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 10
    argNames:
    - chroma_format_idc
    - pic_width_in_luma_samples
    - pic_height_in_luma_samples
    - conf_win
    - p_ox
    - p_oy
    - p_w
    - p_h
    - p_vw
    - p_vh
    argTypes:
    - nal_u2_t
    - nal_ue_t
    - nal_ue_t
    - h26x_conf_window_t*
    - unsigned*
    - unsigned*
    - unsigned*
    - unsigned*
    - unsigned*
    - unsigned*
    assertStmts:
    - condition: ( chroma_format_idc <= 3 )
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/vlc/modules/packetizer/h26x_nal_common.h
    constantsTouched: []
    func_position:
      end: 112
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 112
    functionName: h26x_get_picture_size
    functionSourceFile: /src/vlc/modules/packetizer/h26x_nal_common.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: "bool h26x_get_picture_size( nal_u2_t chroma_format_idc,\n                            nal_ue_t
      pic_width_in_luma_samples,\n                            nal_ue_t pic_height_in_luma_samples,\n
      \                           const h26x_conf_window_t *conf_win,\n                            unsigned
      *p_ox, unsigned *p_oy,\n                            unsigned *p_w, unsigned
      *p_h,\n                            unsigned *p_vw, unsigned *p_vh )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ar
    - num
    - den
    argTypes:
    - h26x_aspect_ratio_t*
    - unsigned*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 158
    functionName: h26x_get_aspect_ratio
    functionSourceFile: /src/vlc/modules/packetizer/h26x_nal_common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool h26x_get_aspect_ratio( const h26x_aspect_ratio_t *ar,\n                            unsigned
      *num, unsigned *den )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iso_23001_8_cp_to_vlc_primaries
      Src: /src/vlc/modules/packetizer/h26x_nal_common.h:176,1
    - Dst: iso_23001_8_tc_to_vlc_xfer
      Src: /src/vlc/modules/packetizer/h26x_nal_common.h:178,1
    - Dst: iso_23001_8_mc_to_vlc_coeffs
      Src: /src/vlc/modules/packetizer/h26x_nal_common.h:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - colour
    - p_primaries
    - p_transfer
    - p_colorspace
    - p_full_range
    argTypes:
    - h26x_colour_description_t*
    - video_color_primaries_t*
    - video_transfer_func_t*
    - video_color_space_t*
    - video_color_range_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 183
    functionName: h26x_get_colorimetry
    functionSourceFile: /src/vlc/modules/packetizer/h26x_nal_common.h
    functionUses: 1
    functionsReached:
    - iso_23001_8_mc_to_vlc_coeffs
    - iso_23001_8_tc_to_vlc_xfer
    - iso_23001_8_cp_to_vlc_primaries
    linkageType: ''
    returnType: bool
    signature: "bool h26x_get_colorimetry( const h26x_colour_description_t *colour,\n
      \                          video_color_primaries_t *p_primaries,\n                           video_transfer_func_t
      *p_transfer,\n                           video_color_space_t *p_colorspace,\n
      \                          video_color_range_t *p_full_range )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/a52.c:81,1
    - Dst: block_BytestreamEmpty
      Src: /src/vlc/modules/packetizer/a52.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: PacketizeFlush
    functionSourceFile: /src/vlc/modules/packetizer/a52.c
    functionUses: 2
    functionsReached:
    - block_BytestreamEmpty
    - date_Set
    linkageType: ''
    returnType: void
    signature: void PacketizeFlush( decoder_t *p_dec )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/packetizer/a52.c:91,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/packetizer/a52.c:93,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/a52.c:99,1
    - Dst: date_Change
      Src: /src/vlc/modules/packetizer/a52.c:102,1
    - Dst: date_Init
      Src: /src/vlc/modules/packetizer/a52.c:104,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/a52.c:109,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/a52.c:112,1
    - Dst: date_Increment
      Src: /src/vlc/modules/packetizer/a52.c:119,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/a52.c:120,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/a52.c:120,1
    - Dst: llabs
      Src: /src/vlc/modules/packetizer/a52.c:121,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/a52.c:121,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/a52.c:122,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/a52.c:140,1
    - Dst: date_Increment
      Src: /src/vlc/modules/packetizer/a52.c:142,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts:
    - condition: ( p_sys->frame.i_rate > 0 )
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/vlc/modules/packetizer/a52.c
    constantsTouched: []
    func_position:
      end: 146
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 146
    functionName: GetOutBuffer
    functionSourceFile: /src/vlc/modules/packetizer/a52.c
    functionUses: 0
    functionsReached:
    - llabs
    - assert
    - date_Init
    - date_Set
    - block_Alloc
    - msg_Dbg
    - date_Get
    - date_Increment
    - date_Change
    linkageType: ''
    returnType: block_t
    signature: block_t *GetOutBuffer( decoder_t *p_dec )
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: PacketizeBlock
      Src: /src/vlc/modules/packetizer/a52.c:161,1
    - Dst: PacketizeFlush
      Src: /src/vlc/modules/packetizer/a52.c:165,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/a52.c:169,1
    - Dst: block_BytestreamPush
      Src: /src/vlc/modules/packetizer/a52.c:174,1
    - Dst: block_PeekBytes
      Src: /src/vlc/modules/packetizer/a52.c:182,1
    - Dst: memcmp
      Src: /src/vlc/modules/packetizer/a52.c:185,1
    - Dst: block_SkipByte
      Src: /src/vlc/modules/packetizer/a52.c:191,1
    - Dst: block_BytestreamFlush
      Src: /src/vlc/modules/packetizer/a52.c:195,1
    - Dst: block_PeekBytes
      Src: /src/vlc/modules/packetizer/a52.c:208,1
    - Dst: vlc_a52_header_Parse
      Src: /src/vlc/modules/packetizer/a52.c:216,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/a52.c:219,1
    - Dst: block_SkipByte
      Src: /src/vlc/modules/packetizer/a52.c:220,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/packetizer/a52.c:227,1
    - Dst: block_SkipBytes
      Src: /src/vlc/modules/packetizer/a52.c:229,1
    - Dst: block_PeekOffsetBytes
      Src: /src/vlc/modules/packetizer/a52.c:241,1
    - Dst: memcmp
      Src: /src/vlc/modules/packetizer/a52.c:261,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/a52.c:263,1
    - Dst: block_FindStartcodeFromOffset
      Src: /src/vlc/modules/packetizer/a52.c:266,1
    - Dst: block_SkipByte
      Src: /src/vlc/modules/packetizer/a52.c:277,1
    - Dst: vlc_a52_header_Parse
      Src: /src/vlc/modules/packetizer/a52.c:283,1
    - Dst: block_WaitBytes
      Src: /src/vlc/modules/packetizer/a52.c:296,1
    - Dst: GetOutBuffer
      Src: /src/vlc/modules/packetizer/a52.c:306,1
    - Dst: block_GetBytes
      Src: /src/vlc/modules/packetizer/a52.c:313,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/a52.c:320,1
    - Dst: block_BytestreamPop
      Src: /src/vlc/modules/packetizer/a52.c:332,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 104
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 148
    functionDepth: 4
    functionLinenumber: 148
    functionLinenumberEnd: 340
    functionName: PacketizeBlock
    functionSourceFile: /src/vlc/modules/packetizer/a52.c
    functionUses: 3
    functionsReached:
    - block_Release
    - vlc_a52_header_Parse
    - block_GetBytes
    - block_BytestreamFlush
    - block_WaitBytes
    - GetOutBuffer
    - PacketizeBlock
    - block_SkipByte
    - block_PeekOffsetBytes
    - msg_Dbg
    - msg_Warn
    - PacketizeFlush
    - block_PeekBytes
    - block_SkipBytes
    - block_FindStartcodeFromOffset
    - block_BytestreamPop
    - memcmp
    - block_BytestreamPush
    linkageType: ''
    returnType: block_t
    signature: block_t *PacketizeBlock( decoder_t *p_dec, block_t **pp_block )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_BytestreamRelease
      Src: /src/vlc/modules/packetizer/a52.c:347,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/a52.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 350
    functionName: Close
    functionSourceFile: /src/vlc/modules/packetizer/a52.c
    functionUses: 87
    functionsReached:
    - free
    - block_BytestreamRelease
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/packetizer/a52.c:368,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/a52.c:373,1
    - Dst: memset
      Src: /src/vlc/modules/packetizer/a52.c:376,1
    - Dst: block_BytestreamInit
      Src: /src/vlc/modules/packetizer/a52.c:378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 390
    functionName: Open
    functionSourceFile: /src/vlc/modules/packetizer/a52.c
    functionUses: 28
    functionsReached:
    - block_BytestreamInit
    - date_Set
    - malloc
    - memset
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:64,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/av1_obu.c:66,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:67,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:68,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:69,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/av1_obu.c:73,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/av1_obu.c:74,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/av1_obu.c:75,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/av1_obu.c:81,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/av1_obu.c:88,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - p_bs
    - p_hdr
    argTypes:
    - bs_t*
    - struct av1_header_info_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 89
    functionName: av1_read_header
    functionSourceFile: /src/vlc/modules/packetizer/av1_obu.c
    functionUses: 0
    functionsReached:
    - bs_error
    - bs_read1
    - bs_skip
    - bs_read
    linkageType: ''
    returnType: bool
    signature: bool av1_read_header(bs_t *p_bs, struct av1_header_info_s *p_hdr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/av1_obu.c:105,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/av1_obu.c:106,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:107,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/av1_obu.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_bs
    - p_ti
    argTypes:
    - bs_t*
    - struct av1_timing_info_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: av1_parse_timing_info
    functionSourceFile: /src/vlc/modules/packetizer/av1_obu.c
    functionUses: 0
    functionsReached:
    - bs_read1
    - bs_read_ue
    - bs_read
    linkageType: ''
    returnType: bool
    signature: bool av1_parse_timing_info(bs_t *p_bs, struct av1_timing_info_s *p_ti)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/av1_obu.c:123,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/av1_obu.c:124,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/av1_obu.c:125,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/av1_obu.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p_bs
    - p_dm
    argTypes:
    - bs_t*
    - struct av1_decoder_model_info_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: av1_parse_decoder_model_info
    functionSourceFile: /src/vlc/modules/packetizer/av1_obu.c
    functionUses: 0
    functionsReached:
    - bs_read
    linkageType: ''
    returnType: bool
    signature: bool av1_parse_decoder_model_info(bs_t *p_bs, struct av1_decoder_model_info_s
      *p_dm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/av1_obu.c:141,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/av1_obu.c:142,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - p_bs
    - p_op
    - buffer_delay_length_minus_1
    argTypes:
    - bs_t*
    - struct av1_operating_parameters_info_s*
    - obu_u8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: av1_parse_operating_parameters_info
    functionSourceFile: /src/vlc/modules/packetizer/av1_obu.c
    functionUses: 0
    functionsReached:
    - bs_read1
    - bs_read
    linkageType: ''
    returnType: bool
    signature: "bool av1_parse_operating_parameters_info(bs_t *p_bs,\n                                                struct
      av1_operating_parameters_info_s *p_op,\n                                                obu_u8_t
      buffer_delay_length_minus_1)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:169,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:171,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:173,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:176,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/av1_obu.c:179,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/av1_obu.c:180,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/av1_obu.c:181,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:192,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:208,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:213,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:214,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/av1_obu.c:240,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:243,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 3
    argNames:
    - p_bs
    - p_cc
    - seq_profile
    argTypes:
    - bs_t*
    - struct av1_color_config_s*
    - obu_u3_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 246
    functionName: av1_parse_color_config
    functionSourceFile: /src/vlc/modules/packetizer/av1_obu.c
    functionUses: 0
    functionsReached:
    - bs_read1
    - bs_read
    linkageType: ''
    returnType: bool
    signature: "bool av1_parse_color_config(bs_t *p_bs,\n                                   struct
      av1_color_config_s *p_cc,\n                                   obu_u3_t seq_profile)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/packetizer/av1_obu.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_seq
    argTypes:
    - av1_OBU_sequence_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 304
    functionName: AV1_release_sequence_header
    functionSourceFile: /src/vlc/modules/packetizer/av1_obu.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void AV1_release_sequence_header(av1_OBU_sequence_header_t *p_seq)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: bs_init
      Src: /src/vlc/modules/packetizer/av1_obu.c:310,1
    - Dst: calloc
      Src: /src/vlc/modules/packetizer/av1_obu.c:312,1
    - Dst: av1_read_header
      Src: /src/vlc/modules/packetizer/av1_obu.c:316,1
    - Dst: AV1_release_sequence_header
      Src: /src/vlc/modules/packetizer/av1_obu.c:318,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/av1_obu.c:326,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:327,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:328,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/av1_obu.c:331,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:335,1
    - Dst: av1_parse_timing_info
      Src: /src/vlc/modules/packetizer/av1_obu.c:338,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:339,1
    - Dst: av1_parse_decoder_model_info
      Src: /src/vlc/modules/packetizer/av1_obu.c:341,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:344,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/av1_obu.c:345,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/av1_obu.c:348,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/av1_obu.c:349,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:351,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:354,1
    - Dst: av1_parse_operating_parameters_info
      Src: /src/vlc/modules/packetizer/av1_obu.c:356,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:361,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/av1_obu.c:364,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/av1_obu.c:369,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/av1_obu.c:370,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/av1_obu.c:371,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/av1_obu.c:372,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:375,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/av1_obu.c:378,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/av1_obu.c:379,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:382,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:383,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:384,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:387,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:388,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:389,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:390,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:391,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:394,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:395,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:397,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:399,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:403,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:405,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/av1_obu.c:409,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:411,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:412,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:413,1
    - Dst: av1_parse_color_config
      Src: /src/vlc/modules/packetizer/av1_obu.c:414,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/av1_obu.c:416,1
    - Dst: AV1_release_sequence_header
      Src: /src/vlc/modules/packetizer/av1_obu.c:418,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:422,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 84
    argCount: 2
    argNames:
    - p_data
    - i_data
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 425
    functionName: AV1_OBU_parse_sequence_header
    functionSourceFile: /src/vlc/modules/packetizer/av1_obu.c
    functionUses: 1
    functionsReached:
    - av1_read_header
    - bs_read1
    - av1_parse_operating_parameters_info
    - AV1_release_sequence_header
    - bs_read
    - calloc
    - av1_parse_timing_info
    - bs_error
    - bs_init
    - av1_parse_decoder_model_info
    - av1_parse_color_config
    linkageType: ''
    returnType: av1_OBU_sequence_header_t
    signature: "av1_OBU_sequence_header_t *\n    AV1_OBU_parse_sequence_header(const
      uint8_t *p_data, size_t i_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:449,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/av1_obu.c:452,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/packetizer/av1_obu.c:453,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/av1_obu.c:458,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/av1_obu.c:464,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/packetizer/av1_obu.c:465,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/av1_obu.c:472,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/av1_obu.c:473,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - p_bs
    - p_uh
    - p_seq
    argTypes:
    - bs_t*
    - struct av1_uncompressed_header_s*
    - av1_OBU_sequence_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 477
    functionName: av1_parse_uncompressed_header
    functionSourceFile: /src/vlc/modules/packetizer/av1_obu.c
    functionUses: 0
    functionsReached:
    - bs_read1
    - VLC_UNUSED
    - bs_read
    linkageType: ''
    returnType: bool
    signature: "bool av1_parse_uncompressed_header(bs_t *p_bs, struct av1_uncompressed_header_s
      *p_uh,\n                                          const av1_OBU_sequence_header_t
      *p_seq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/packetizer/av1_obu.c:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_fh
    argTypes:
    - av1_OBU_frame_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 492
    functionName: AV1_release_frame_header
    functionSourceFile: /src/vlc/modules/packetizer/av1_obu.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void AV1_release_frame_header(av1_OBU_frame_header_t *p_fh)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bs_init
      Src: /src/vlc/modules/packetizer/av1_obu.c:499,1
    - Dst: calloc
      Src: /src/vlc/modules/packetizer/av1_obu.c:501,1
    - Dst: av1_read_header
      Src: /src/vlc/modules/packetizer/av1_obu.c:505,1
    - Dst: av1_parse_uncompressed_header
      Src: /src/vlc/modules/packetizer/av1_obu.c:506,1
    - Dst: AV1_release_frame_header
      Src: /src/vlc/modules/packetizer/av1_obu.c:508,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - p_data
    - i_data
    - p_seq
    argTypes:
    - uint8_t*
    - size_t
    - av1_OBU_sequence_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 494
    functionDepth: 2
    functionLinenumber: 494
    functionLinenumberEnd: 513
    functionName: AV1_OBU_parse_frame_header
    functionSourceFile: /src/vlc/modules/packetizer/av1_obu.c
    functionUses: 2
    functionsReached:
    - av1_read_header
    - av1_parse_uncompressed_header
    - calloc
    - AV1_release_frame_header
    - bs_init
    linkageType: ''
    returnType: av1_OBU_frame_header_t
    signature: "av1_OBU_frame_header_t *\n    AV1_OBU_parse_frame_header(const uint8_t
      *p_data, size_t i_data,\n                               const av1_OBU_sequence_header_t
      *p_seq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_fh
    argTypes:
    - av1_OBU_frame_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 518
    functionName: AV1_get_frame_type
    functionSourceFile: /src/vlc/modules/packetizer/av1_obu.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum av1_frame_type_e
    signature: enum av1_frame_type_e AV1_get_frame_type(const av1_OBU_frame_header_t
      *p_fh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_fh
    argTypes:
    - av1_OBU_frame_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 523
    functionName: AV1_get_frame_visibility
    functionSourceFile: /src/vlc/modules/packetizer/av1_obu.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AV1_get_frame_visibility(const av1_OBU_frame_header_t *p_fh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p_seq
    - w
    - h
    argTypes:
    - av1_OBU_sequence_header_t*
    - unsigned*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 532
    functionName: AV1_get_frame_max_dimensions
    functionSourceFile: /src/vlc/modules/packetizer/av1_obu.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AV1_get_frame_max_dimensions(const av1_OBU_sequence_header_t *p_seq,
      unsigned *w, unsigned *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - p_seq
    - pi_profile
    - pi_level
    - pi_tier
    argTypes:
    - av1_OBU_sequence_header_t*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 540
    functionName: AV1_get_profile_level
    functionSourceFile: /src/vlc/modules/packetizer/av1_obu.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void AV1_get_profile_level(const av1_OBU_sequence_header_t *p_seq,\n
      \                          int *pi_profile, int *pi_level, int *pi_tier)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - p_seq
    - num
    - den
    argTypes:
    - av1_OBU_sequence_header_t*
    - unsigned*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 552
    functionName: AV1_get_frame_rate
    functionSourceFile: /src/vlc/modules/packetizer/av1_obu.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool AV1_get_frame_rate(const av1_OBU_sequence_header_t *p_seq,\n
      \                       unsigned *num, unsigned *den)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_seq
    argTypes:
    - av1_OBU_sequence_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 557
    functionName: AV1_get_super_res
    functionSourceFile: /src/vlc/modules/packetizer/av1_obu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AV1_get_super_res(const av1_OBU_sequence_header_t *p_seq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iso_23001_8_cp_to_vlc_primaries
      Src: /src/vlc/modules/packetizer/av1_obu.c:567,1
    - Dst: iso_23001_8_tc_to_vlc_xfer
      Src: /src/vlc/modules/packetizer/av1_obu.c:568,1
    - Dst: iso_23001_8_mc_to_vlc_coeffs
      Src: /src/vlc/modules/packetizer/av1_obu.c:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - p_seq
    - p_primaries
    - p_transfer
    - p_colorspace
    - p_full_range
    argTypes:
    - av1_OBU_sequence_header_t*
    - video_color_primaries_t*
    - video_transfer_func_t*
    - video_color_space_t*
    - video_color_range_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 572
    functionName: AV1_get_colorimetry
    functionSourceFile: /src/vlc/modules/packetizer/av1_obu.c
    functionUses: 1
    functionsReached:
    - iso_23001_8_mc_to_vlc_coeffs
    - iso_23001_8_tc_to_vlc_xfer
    - iso_23001_8_cp_to_vlc_primaries
    linkageType: ''
    returnType: bool
    signature: "bool AV1_get_colorimetry(const av1_OBU_sequence_header_t *p_seq,\n
      \                        video_color_primaries_t *p_primaries,\n                         video_transfer_func_t
      *p_transfer,\n                         video_color_space_t *p_colorspace,\n
      \                        video_color_range_t *p_full_range)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/packetizer/av1_obu.c:585,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/packetizer/av1_obu.c:595,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/packetizer/av1_obu.c:605,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/packetizer/av1_obu.c:615,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/packetizer/av1_obu.c:618,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 1
    argNames:
    - p_seq
    argTypes:
    - av1_OBU_sequence_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 620
    functionName: AV1_get_chroma
    functionSourceFile: /src/vlc/modules/packetizer/av1_obu.c
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t AV1_get_chroma(const av1_OBU_sequence_header_t *p_seq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/packetizer/av1_obu.c:631,1
    - Dst: bs_write_init
      Src: /src/vlc/modules/packetizer/av1_obu.c:636,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/av1_obu.c:637,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/av1_obu.c:638,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/av1_obu.c:639,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/av1_obu.c:640,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/av1_obu.c:642,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/av1_obu.c:643,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/av1_obu.c:644,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/av1_obu.c:645,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/av1_obu.c:646,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/av1_obu.c:647,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/av1_obu.c:648,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/av1_obu.c:650,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/av1_obu.c:651,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/av1_obu.c:652,1
    - Dst: memcpy
      Src: /src/vlc/modules/packetizer/av1_obu.c:657,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 5
    argNames:
    - pp_buffer
    - p_seq
    - i_obu
    - p_obus
    - pi_obus
    argTypes:
    - uint8_t**
    - av1_OBU_sequence_header_t*
    - size_t
    - uint8_t*[]
    - size_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 661
    functionName: AV1_create_DecoderConfigurationRecord
    functionSourceFile: /src/vlc/modules/packetizer/av1_obu.c
    functionUses: 1
    functionsReached:
    - memcpy
    - bs_write
    - malloc
    - bs_write_init
    linkageType: ''
    returnType: size_t
    signature: "size_t AV1_create_DecoderConfigurationRecord(uint8_t **pp_buffer,\n
      \                                            const av1_OBU_sequence_header_t
      *p_seq,\n                                             size_t i_obu, const uint8_t
      *p_obus[],\n                                             const size_t pi_obus[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:669,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:670,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:671,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:672,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:673,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:674,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:675,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:676,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:677,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:678,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:679,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:680,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:681,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:682,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:683,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:684,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:685,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:686,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:687,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:688,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:689,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:690,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:691,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:692,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:693,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:694,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:696,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:697,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:698,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:699,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:700,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:701,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:702,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:703,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:704,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:705,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:707,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:708,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:709,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:710,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:711,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:712,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:713,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:714,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:715,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:716,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:717,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:718,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:719,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:720,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:721,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:722,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:723,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/packetizer/av1_obu.c:728,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:731,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:732,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:733,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:734,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:735,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:736,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:737,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:738,1
    - Dst: DIFF
      Src: /src/vlc/modules/packetizer/av1_obu.c:739,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 66
    argCount: 2
    argNames:
    - seq1
    - seq2
    argTypes:
    - av1_OBU_sequence_header_t*
    - av1_OBU_sequence_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 746
    functionName: AV1_sequence_header_equal
    functionSourceFile: /src/vlc/modules/packetizer/av1_obu.c
    functionUses: 1
    functionsReached:
    - DIFF
    - ARRAY_SIZE
    linkageType: ''
    returnType: bool
    signature: bool AV1_sequence_header_equal(const av1_OBU_sequence_header_t *seq1,const
      av1_OBU_sequence_header_t *seq2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 667
    functionName: DIFF
    functionSourceFile: /src/vlc/modules/packetizer/av1_obu.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIFF(field)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/packetizer/mpeg4video.c:137,1
    - Dst: memset
      Src: /src/vlc/modules/packetizer/mpeg4video.c:139,1
    - Dst: packetizer_Init
      Src: /src/vlc/modules/packetizer/mpeg4video.c:142,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/packetizer/mpeg4video.c:152,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/mpeg4video.c:158,1
    - Dst: ParseVOL
      Src: /src/vlc/modules/packetizer/mpeg4video.c:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 169
    functionName: Open
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4video.c
    functionUses: 28
    functionsReached:
    - memset
    - packetizer_Init
    - msg_Dbg
    - es_format_Copy
    - malloc
    - ParseVOL
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_Clean
      Src: /src/vlc/modules/packetizer/mpeg4video.c:179,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/packetizer/mpeg4video.c:181,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/mpeg4video.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 183
    functionName: Close
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4video.c
    functionUses: 87
    functionsReached:
    - block_ChainRelease
    - packetizer_Clean
    - free
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_Packetize
      Src: /src/vlc/modules/packetizer/mpeg4video.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: Packetize
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4video.c
    functionUses: 6
    functionsReached:
    - packetizer_Packetize
    linkageType: ''
    returnType: block_t
    signature: block_t *Packetize( decoder_t *p_dec, block_t **pp_block )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_Flush
      Src: /src/vlc/modules/packetizer/mpeg4video.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: PacketizeFlush
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4video.c
    functionUses: 3
    functionsReached:
    - packetizer_Flush
    linkageType: ''
    returnType: void
    signature: void PacketizeFlush( decoder_t *p_dec )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/packetizer/mpeg4video.c:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p_private
    - b_flush
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 226
    functionName: PacketizeReset
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4video.c
    functionUses: 0
    functionsReached:
    - block_ChainRelease
    linkageType: ''
    returnType: void
    signature: void PacketizeReset( void *p_private, bool b_flush )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseMPEGBlock
      Src: /src/vlc/modules/packetizer/mpeg4video.c:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - p_private
    - pb_ts_used
    - p_block
    argTypes:
    - void*
    - bool*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 239
    functionName: PacketizeParse
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4video.c
    functionUses: 0
    functionsReached:
    - ParseMPEGBlock
    linkageType: ''
    returnType: block_t
    signature: block_t *PacketizeParse( void *p_private, bool *pb_ts_used, block_t
      *p_block )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/mpeg4video.c:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - p_private
    - p_au
    argTypes:
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 261
    functionName: PacketizeValidate
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4video.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int PacketizeValidate( void *p_private, block_t *p_au )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GetDWBE
      Src: /src/vlc/modules/packetizer/mpeg4video.c:274,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/mpeg4video.c:281,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/mpeg4video.c:285,1
    - Dst: memcmp
      Src: /src/vlc/modules/packetizer/mpeg4video.c:294,1
    - Dst: realloc
      Src: /src/vlc/modules/packetizer/mpeg4video.c:297,1
    - Dst: memcpy
      Src: /src/vlc/modules/packetizer/mpeg4video.c:302,1
    - Dst: ParseVOL
      Src: /src/vlc/modules/packetizer/mpeg4video.c:305,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/mpeg4video.c:310,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/mpeg4video.c:314,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/packetizer/mpeg4video.c:322,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/mpeg4video.c:323,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/mpeg4video.c:328,1
    - Dst: ParseVO
      Src: /src/vlc/modules/packetizer/mpeg4video.c:333,1
    - Dst: ParseVOP
      Src: /src/vlc/modules/packetizer/mpeg4video.c:337,1
    - Dst: block_ChainGather
      Src: /src/vlc/modules/packetizer/mpeg4video.c:340,1
    - Dst: msg_Err
      Src: /src/vlc/modules/packetizer/mpeg4video.c:346,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 2
    argNames:
    - p_dec
    - p_frag
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 354
    functionName: ParseMPEGBlock
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4video.c
    functionUses: 1
    functionsReached:
    - block_Release
    - realloc
    - memcpy
    - block_ChainLastAppend
    - msg_Err
    - ParseVOP
    - GetDWBE
    - msg_Warn
    - ParseVO
    - memcmp
    - ParseVOL
    - block_ChainGather
    linkageType: ''
    returnType: block_t
    signature: block_t *ParseMPEGBlock( decoder_t *p_dec, block_t *p_frag )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: GetDWBE
      Src: /src/vlc/modules/packetizer/mpeg4video.c:370,1
    - Dst: bs_init
      Src: /src/vlc/modules/packetizer/mpeg4video.c:378,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4video.c:380,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4video.c:381,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/mpeg4video.c:382,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4video.c:384,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4video.c:385,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4video.c:391,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4video.c:395,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4video.c:396,1
    - Dst: h26x_get_aspect_ratio
      Src: /src/vlc/modules/packetizer/mpeg4video.c:401,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/mpeg4video.c:406,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4video.c:409,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4video.c:410,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/mpeg4video.c:412,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4video.c:414,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4video.c:415,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4video.c:416,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4video.c:417,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4video.c:418,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4video.c:419,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4video.c:420,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4video.c:424,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4video.c:427,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/mpeg4video.c:430,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4video.c:432,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/mpeg4video.c:435,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/mpeg4video.c:437,1
    - Dst: vlc_log2
      Src: /src/vlc/modules/packetizer/mpeg4video.c:439,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4video.c:441,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4video.c:445,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4video.c:446,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4video.c:447,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4video.c:448,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4video.c:449,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 4
    argNames:
    - p_dec
    - fmt
    - p_vol
    - i_vol
    argTypes:
    - decoder_t*
    - es_format_t*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 453
    functionName: ParseVOL
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4video.c
    functionUses: 2
    functionsReached:
    - vlc_log2
    - bs_skip
    - bs_read1
    - h26x_get_aspect_ratio
    - bs_read
    - GetDWBE
    - bs_init
    linkageType: ''
    returnType: int
    signature: "int ParseVOL( decoder_t *p_dec, es_format_t *fmt,\n                     uint8_t
      *p_vol, int i_vol )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bs_init
      Src: /src/vlc/modules/packetizer/mpeg4video.c:458,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/mpeg4video.c:459,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4video.c:460,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4video.c:462,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/mpeg4video.c:473,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/mpeg4video.c:475,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4video.c:476,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4video.c:477,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4video.c:479,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4video.c:480,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4video.c:481,1
    - Dst: h26x_get_colorimetry
      Src: /src/vlc/modules/packetizer/mpeg4video.c:487,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - p_dec
    - p_vo
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 496
    functionName: ParseVO
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4video.c
    functionUses: 1
    functionsReached:
    - bs_read1
    - bs_skip
    - bs_read
    - bs_init
    - h26x_get_colorimetry
    linkageType: ''
    returnType: int
    signature: int ParseVO( decoder_t *p_dec, block_t *p_vo )
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: bs_init
      Src: /src/vlc/modules/packetizer/mpeg4video.c:506,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4video.c:508,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4video.c:525,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/mpeg4video.c:526,1
    - Dst: vlc_log2
      Src: /src/vlc/modules/packetizer/mpeg4video.c:545,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/mpeg4video.c:546,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/packetizer/mpeg4video.c:551,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/packetizer/mpeg4video.c:563,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/packetizer/mpeg4video.c:570,1
    - Dst: msg_Err
      Src: /src/vlc/modules/packetizer/mpeg4video.c:574,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 64
    argCount: 2
    argNames:
    - p_dec
    - p_vop
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 611
    functionName: ParseVOP
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4video.c
    functionUses: 1
    functionsReached:
    - vlc_log2
    - bs_read1
    - bs_read
    - msg_Err
    - vlc_tick_from_samples
    - msg_Warn
    - bs_init
    linkageType: ''
    returnType: int
    signature: int ParseVOP( decoder_t *p_dec, block_t *p_vop )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - p_buf
    - i_buf
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 109
    functionName: h264_isavcC
    functionSourceFile: /src/vlc/modules/packetizer/h264_nal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool h264_isavcC( const uint8_t *p_buf, size_t i_buf )
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - p_buf
    - i_buf
    - pi_res
    argTypes:
    - uint8_t*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 145
    functionName: get_avcC_to_AnnexB_NAL_size
    functionSourceFile: /src/vlc/modules/packetizer/h264_nal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool get_avcC_to_AnnexB_NAL_size( const uint8_t *p_buf, size_t i_buf,
      size_t *pi_res )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_avcC_to_AnnexB_NAL_size
      Src: /src/vlc/modules/packetizer/h264_nal.c:152,1
    - Dst: malloc
      Src: /src/vlc/modules/packetizer/h264_nal.c:162,1
    - Dst: memcpy
      Src: /src/vlc/modules/packetizer/h264_nal.c:178,1
    - Dst: memcpy
      Src: /src/vlc/modules/packetizer/h264_nal.c:181,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 5
    argNames:
    - p_buf
    - i_buf
    - pp_result
    - pi_result
    - pi_nal_length_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t**
    - size_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 195
    functionName: h264_avcC_to_AnnexB_NAL
    functionSourceFile: /src/vlc/modules/packetizer/h264_nal.c
    functionUses: 0
    functionsReached:
    - malloc
    - memcpy
    - get_avcC_to_AnnexB_NAL_size
    linkageType: ''
    returnType: bool
    signature: "bool h264_avcC_to_AnnexB_NAL( const uint8_t *p_buf, size_t i_buf,\n
      \                             uint8_t **pp_result, size_t *pi_result,\n                              uint8_t
      *pi_nal_length_size )"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - p_buf
    - i_len
    - i_nal_length_size
    argTypes:
    - uint8_t*
    - uint32_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 237
    functionName: h264_AVC_to_AnnexB
    functionSourceFile: /src/vlc/modules/packetizer/h264_nal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void h264_AVC_to_AnnexB( uint8_t *p_buf, uint32_t i_len,\n                             uint8_t
      i_nal_length_size )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_iterator_init
      Src: /src/vlc/modules/packetizer/h264_nal.c:249,1
    - Dst: hxxx_annexb_iterate_next
      Src: /src/vlc/modules/packetizer/h264_nal.c:252,1
    - Dst: IFSET_NAL
      Src: /src/vlc/modules/packetizer/h264_nal.c:266,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 8
    argNames:
    - p_buf
    - i_buf
    - pp_sps
    - p_sps_size
    - pp_pps
    - p_pps_size
    - pp_ext
    - p_ext_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t**
    - size_t*
    - uint8_t**
    - size_t*
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 239
    functionDepth: 4
    functionLinenumber: 239
    functionLinenumberEnd: 275
    functionName: h264_AnnexB_get_spspps
    functionSourceFile: /src/vlc/modules/packetizer/h264_nal.c
    functionUses: 0
    functionsReached:
    - IFSET_NAL
    - hxxx_annexb_iterate_next
    - hxxx_iterator_init
    linkageType: ''
    returnType: bool
    signature: "bool h264_AnnexB_get_spspps( const uint8_t *p_buf, size_t i_buf,\n
      \                            const uint8_t **pp_sps, size_t *p_sps_size,\n                             const
      uint8_t **pp_pps, size_t *p_pps_size,\n                             const uint8_t
      **pp_ext, size_t *p_ext_size )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: IFSET_NAL
    functionSourceFile: /src/vlc/modules/packetizer/h264_nal.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IFSET_NAL(type, var)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/packetizer/h264_nal.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_sps
    argTypes:
    - h264_sequence_parameter_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: h264_release_sps
    functionSourceFile: /src/vlc/modules/packetizer/h264_nal.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void h264_release_sps( h264_sequence_parameter_set_t *p_sps )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 283
    functionName: H264_CONSTRAINT_SET_FLAG
    functionSourceFile: /src/vlc/modules/packetizer/h264_nal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H264_CONSTRAINT_SET_FLAG(N)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:289,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:291,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:292,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:294,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:314,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h264_nal.c:318,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:322,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:326,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h264_nal.c:330,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:332,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:338,1
    - Dst: bs_read_se
      Src: /src/vlc/modules/packetizer/h264_nal.c:350,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:370,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:375,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:381,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:387,1
    - Dst: bs_read_se
      Src: /src/vlc/modules/packetizer/h264_nal.c:388,1
    - Dst: bs_read_se
      Src: /src/vlc/modules/packetizer/h264_nal.c:389,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:390,1
    - Dst: bs_read_se
      Src: /src/vlc/modules/packetizer/h264_nal.c:394,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:397,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h264_nal.c:400,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:403,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:404,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:407,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:409,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h264_nal.c:412,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h264_nal.c:415,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:417,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:418,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:419,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:420,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:431,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:435,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:446,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:456,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:457,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:478,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h264_nal.c:480,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:483,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h264_nal.c:486,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:487,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:489,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:492,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:493,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:494,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:505,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:508,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:509,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:513,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:516,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:517,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:518,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:525,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:529,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h264_nal.c:532,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h264_nal.c:533,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:536,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:537,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h264_nal.c:538,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/h264_nal.c:539,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h264_nal.c:542,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:543,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:544,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h264_nal.c:545,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h264_nal.c:550,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:553,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:555,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h264_nal.c:558,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:559,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:560,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:561,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:562,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:563,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:564,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/h264_nal.c:568,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 173
    argCount: 2
    argNames:
    - p_bs
    - p_sps
    argTypes:
    - bs_t*
    - h264_sequence_parameter_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 569
    functionName: h264_parse_sequence_parameter_set_rbsp
    functionSourceFile: /src/vlc/modules/packetizer/h264_nal.c
    functionUses: 0
    functionsReached:
    - bs_read1
    - bs_skip
    - bs_read
    - bs_read_se
    - bs_read_ue
    - bs_error
    linkageType: ''
    returnType: bool
    signature: "bool h264_parse_sequence_parameter_set_rbsp( bs_t *p_bs,\n                                                    h264_sequence_parameter_set_t
      *p_sps )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/packetizer/h264_nal.c:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_pps
    argTypes:
    - h264_picture_parameter_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 574
    functionName: h264_release_pps
    functionSourceFile: /src/vlc/modules/packetizer/h264_nal.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void h264_release_pps( h264_picture_parameter_set_t *p_pps )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:579,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:580,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h264_nal.c:586,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:587,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:589,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:594,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:598,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:604,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:605,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h264_nal.c:610,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:611,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:615,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h264_nal.c:623,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:627,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:628,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:632,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:633,1
    - Dst: bs_read_se
      Src: /src/vlc/modules/packetizer/h264_nal.c:634,1
    - Dst: bs_read_se
      Src: /src/vlc/modules/packetizer/h264_nal.c:635,1
    - Dst: bs_read_se
      Src: /src/vlc/modules/packetizer/h264_nal.c:636,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h264_nal.c:637,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h264_nal.c:638,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:639,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 2
    argNames:
    - p_bs
    - p_pps
    argTypes:
    - bs_t*
    - h264_picture_parameter_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 644
    functionName: h264_parse_picture_parameter_set_rbsp
    functionSourceFile: /src/vlc/modules/packetizer/h264_nal.c
    functionUses: 0
    functionsReached:
    - bs_skip
    - bs_read1
    - bs_read
    - bs_read_se
    - bs_read_ue
    linkageType: ''
    returnType: bool
    signature: "bool h264_parse_picture_parameter_set_rbsp( bs_t *p_bs,\n                                                   h264_picture_parameter_set_t
      *p_pps )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_bs
    - p_sps_ext
    argTypes:
    - bs_t*
    - h264_sequence_parameter_set_extension_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 653
    functionName: h264_parse_sequence_parameter_set_extension_rbsp
    functionSourceFile: /src/vlc/modules/packetizer/h264_nal.c
    functionUses: 0
    functionsReached:
    - bs_read_ue
    linkageType: ''
    returnType: bool
    signature: "bool h264_parse_sequence_parameter_set_extension_rbsp( bs_t *p_bs,\n
      \                                h264_sequence_parameter_set_extension_t *p_sps_ext
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/packetizer/h264_nal.c:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_sps_ext
    argTypes:
    - h264_sequence_parameter_set_extension_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 658
    functionName: h264_release_sps_extension
    functionSourceFile: /src/vlc/modules/packetizer/h264_nal.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void h264_release_sps_extension( h264_sequence_parameter_set_extension_t
      *p_sps_ext )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - h264type
    - ','
    - decode
    - ','
    - release
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 674
    functionName: IMPL_h264_generic_decode
    functionSourceFile: /src/vlc/modules/packetizer/h264_nal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPL_h264_generic_decode( name, h264type, decode, release )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/packetizer/h264_nal.c:712,1
    - Dst: assert
      Src: /src/vlc/modules/packetizer/h264_nal.c:719,1
    - Dst: bo_init
      Src: /src/vlc/modules/packetizer/h264_nal.c:727,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/packetizer/h264_nal.c:730,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/packetizer/h264_nal.c:731,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/packetizer/h264_nal.c:732,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/packetizer/h264_nal.c:734,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/packetizer/h264_nal.c:737,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/packetizer/h264_nal.c:738,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/packetizer/h264_nal.c:741,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/packetizer/h264_nal.c:744,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/packetizer/h264_nal.c:745,1
    - Dst: h264_decode_sps
      Src: /src/vlc/modules/packetizer/h264_nal.c:754,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/packetizer/h264_nal.c:755,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/packetizer/h264_nal.c:756,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/packetizer/h264_nal.c:757,1
    - Dst: h264_release_sps
      Src: /src/vlc/modules/packetizer/h264_nal.c:759,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/packetizer/h264_nal.c:760,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/packetizer/h264_nal.c:763,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/packetizer/h264_nal.c:764,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 45
    argCount: 10
    argNames:
    - i_nal_length_size
    - pp_sps_buf
    - p_sps_size
    - i_sps_count
    - pp_pps_buf
    - p_pps_size
    - i_pps_count
    - pp_sps_ext_buf
    - p_sps_ext_size
    - i_sps_ext_count
    argTypes:
    - uint8_t
    - uint8_t**
    - size_t*
    - uint8_t
    - uint8_t**
    - size_t*
    - uint8_t
    - uint8_t**
    - size_t*
    - uint8_t
    assertStmts:
    - condition: ( pp_sps_buf[i] && p_sps_size[i] )
      pos:
        line_end: 711
        line_start: 711
        source_file: /src/vlc/modules/packetizer/h264_nal.c
    - condition: ( pp_pps_buf[i] && p_pps_size[i] )
      pos:
        line_end: 718
        line_start: 718
        source_file: /src/vlc/modules/packetizer/h264_nal.c
    constantsTouched: []
    func_position:
      end: 769
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 769
    functionName: h264_NAL_to_avcC
    functionSourceFile: /src/vlc/modules/packetizer/h264_nal.c
    functionUses: 0
    functionsReached:
    - bo_init
    - assert
    - bo_add_mem
    - h264_decode_sps
    - bo_add_8
    - bo_add_16be
    - h264_release_sps
    linkageType: ''
    returnType: block_t
    signature: "block_t *h264_NAL_to_avcC( uint8_t i_nal_length_size,\n                           const
      uint8_t **pp_sps_buf,\n                           const size_t *p_sps_size,
      uint8_t i_sps_count,\n                           const uint8_t **pp_pps_buf,\n
      \                          const size_t *p_pps_size, uint8_t i_pps_count,\n
      \                          const uint8_t **pp_sps_ext_buf,\n                           const
      size_t *p_sps_ext_size, uint8_t i_sps_ext_count )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: h264_getNALType
      Src: /src/vlc/modules/packetizer/h264_nal.c:778,1
    - Dst: bs_init
      Src: /src/vlc/modules/packetizer/h264_nal.c:800,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:801,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/h264_nal.c:803,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - p_buf
    - i_buf
    - pi_id
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 804
    functionName: h264_get_xps_id
    functionSourceFile: /src/vlc/modules/packetizer/h264_nal.c
    functionUses: 0
    functionsReached:
    - bs_error
    - bs_init
    - bs_read_ue
    - h264_getNALType
    linkageType: ''
    returnType: bool
    signature: bool h264_get_xps_id( const uint8_t *p_buf, size_t i_buf, uint8_t *pi_id
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_sps
    argTypes:
    - h264_sequence_parameter_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 809
    functionName: h264_get_sps_id
    functionSourceFile: /src/vlc/modules/packetizer/h264_nal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t h264_get_sps_id( const h264_sequence_parameter_set_t *p_sps
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_pps
    argTypes:
    - h264_picture_parameter_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 814
    functionName: h264_get_pps_sps_id
    functionSourceFile: /src/vlc/modules/packetizer/h264_nal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t h264_get_pps_sps_id( const h264_picture_parameter_set_t *p_pps
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: H264_CONSTRAINT_SET_FLAG
      Src: /src/vlc/modules/packetizer/h264_nal.c:820,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/packetizer/h264_nal.c:825,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - p_sps
    argTypes:
    - h264_sequence_parameter_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 830
    functionName: h264_get_level_limits
    functionSourceFile: /src/vlc/modules/packetizer/h264_nal.c
    functionUses: 0
    functionsReached:
    - H264_CONSTRAINT_SET_FLAG
    - ARRAY_SIZE
    linkageType: ''
    returnType: h264_level_limits_t
    signature: h264_level_limits_t * h264_get_level_limits( const h264_sequence_parameter_set_t
      *p_sps )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: h264_get_level_limits
      Src: /src/vlc/modules/packetizer/h264_nal.c:834,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p_sps
    argTypes:
    - h264_sequence_parameter_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 832
    functionDepth: 2
    functionLinenumber: 832
    functionLinenumberEnd: 845
    functionName: h264_get_max_dpb_frames
    functionSourceFile: /src/vlc/modules/packetizer/h264_nal.c
    functionUses: 0
    functionsReached:
    - h264_get_level_limits
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t h264_get_max_dpb_frames( const h264_sequence_parameter_set_t
      *p_sps )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: H264_CONSTRAINT_SET_FLAG
      Src: /src/vlc/modules/packetizer/h264_nal.c:865,1
    - Dst: h264_get_max_dpb_frames
      Src: /src/vlc/modules/packetizer/h264_nal.c:874,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - p_sps
    - pi_max_num_reorder
    - pi_max_dec_buffering
    argTypes:
    - h264_sequence_parameter_set_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 847
    functionDepth: 3
    functionLinenumber: 847
    functionLinenumberEnd: 886
    functionName: h264_get_dpb_values
    functionSourceFile: /src/vlc/modules/packetizer/h264_nal.c
    functionUses: 0
    functionsReached:
    - h264_get_max_dpb_frames
    - H264_CONSTRAINT_SET_FLAG
    linkageType: ''
    returnType: bool
    signature: "bool h264_get_dpb_values( const h264_sequence_parameter_set_t *p_sps,\n
      \                         uint8_t *pi_max_num_reorder, uint8_t *pi_max_dec_buffering
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_sps
    argTypes:
    - h264_sequence_parameter_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 891
    functionName: h264_get_max_frame_num
    functionSourceFile: /src/vlc/modules/packetizer/h264_nal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned h264_get_max_frame_num( const h264_sequence_parameter_set_t
      *p_sps )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_sps
    argTypes:
    - h264_sequence_parameter_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 896
    functionName: h264_is_frames_only
    functionSourceFile: /src/vlc/modules/packetizer/h264_nal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool h264_is_frames_only( const h264_sequence_parameter_set_t *p_sps
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_sps
    argTypes:
    - h264_sequence_parameter_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 901
    functionName: h264_using_adaptive_frames
    functionSourceFile: /src/vlc/modules/packetizer/h264_nal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool h264_using_adaptive_frames( const h264_sequence_parameter_set_t
      *p_sps )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_sps
    - pi_profile
    - pi_level
    argTypes:
    - h264_sequence_parameter_set_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 910
    functionName: h264_get_sps_profile_tier_level
    functionSourceFile: /src/vlc/modules/packetizer/h264_nal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool h264_get_sps_profile_tier_level( const h264_sequence_parameter_set_t
      *p_sps,\n                                      uint8_t *pi_profile, uint8_t
      *pi_level)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ckd_add
      Src: /src/vlc/modules/packetizer/h264_nal.c:941,1
    - Dst: ckd_mul
      Src: /src/vlc/modules/packetizer/h264_nal.c:942,1
    - Dst: ckd_mul
      Src: /src/vlc/modules/packetizer/h264_nal.c:943,1
    - Dst: ckd_add
      Src: /src/vlc/modules/packetizer/h264_nal.c:945,1
    - Dst: ckd_mul
      Src: /src/vlc/modules/packetizer/h264_nal.c:946,1
    - Dst: ckd_mul
      Src: /src/vlc/modules/packetizer/h264_nal.c:947,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 7
    argNames:
    - p_sps
    - p_ox
    - p_oy
    - p_w
    - p_h
    - p_vw
    - p_vh
    argTypes:
    - h264_sequence_parameter_set_t*
    - unsigned*
    - unsigned*
    - unsigned*
    - unsigned*
    - unsigned*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 912
    functionDepth: 1
    functionLinenumber: 912
    functionLinenumberEnd: 957
    functionName: h264_get_picture_size
    functionSourceFile: /src/vlc/modules/packetizer/h264_nal.c
    functionUses: 0
    functionsReached:
    - ckd_add
    - ckd_mul
    linkageType: ''
    returnType: bool
    signature: "bool h264_get_picture_size( const h264_sequence_parameter_set_t *p_sps,\n
      \                           unsigned *p_ox, unsigned *p_oy,\n                            unsigned
      *p_w, unsigned *p_h,\n                            unsigned *p_vw, unsigned *p_vh
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - p_sps
    - pi_num
    - pi_den
    argTypes:
    - h264_sequence_parameter_set_t*
    - unsigned*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 968
    functionName: h264_get_frame_rate
    functionSourceFile: /src/vlc/modules/packetizer/h264_nal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool h264_get_frame_rate( const h264_sequence_parameter_set_t *p_sps,\n
      \                        unsigned *pi_num, unsigned *pi_den )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - p_sps
    - pi_num
    - pi_den
    argTypes:
    - h264_sequence_parameter_set_t*
    - unsigned*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 978
    functionName: h264_get_aspect_ratio
    functionSourceFile: /src/vlc/modules/packetizer/h264_nal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool h264_get_aspect_ratio( const h264_sequence_parameter_set_t *p_sps,\n
      \                          unsigned *pi_num, unsigned *pi_den )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - p_sps
    - pi_chroma_format
    - pi_depth_luma
    - pi_depth_chroma
    argTypes:
    - h264_sequence_parameter_set_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 987
    functionName: h264_get_chroma_luma
    functionSourceFile: /src/vlc/modules/packetizer/h264_nal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool h264_get_chroma_luma( const h264_sequence_parameter_set_t *p_sps,
      uint8_t *pi_chroma_format,\n                           uint8_t *pi_depth_luma,
      uint8_t *pi_depth_chroma )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iso_23001_8_cp_to_vlc_primaries
      Src: /src/vlc/modules/packetizer/h264_nal.c:997,1
    - Dst: iso_23001_8_tc_to_vlc_xfer
      Src: /src/vlc/modules/packetizer/h264_nal.c:999,1
    - Dst: iso_23001_8_mc_to_vlc_coeffs
      Src: /src/vlc/modules/packetizer/h264_nal.c:1001,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - p_sps
    - p_primaries
    - p_transfer
    - p_colorspace
    - p_full_range
    argTypes:
    - h264_sequence_parameter_set_t*
    - video_color_primaries_t*
    - video_transfer_func_t*
    - video_color_space_t*
    - video_color_range_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 988
    functionDepth: 1
    functionLinenumber: 988
    functionLinenumberEnd: 1004
    functionName: h264_get_colorimetry
    functionSourceFile: /src/vlc/modules/packetizer/h264_nal.c
    functionUses: 0
    functionsReached:
    - iso_23001_8_mc_to_vlc_coeffs
    - iso_23001_8_tc_to_vlc_xfer
    - iso_23001_8_cp_to_vlc_primaries
    linkageType: ''
    returnType: bool
    signature: "bool h264_get_colorimetry( const h264_sequence_parameter_set_t *p_sps,\n
      \                          video_color_primaries_t *p_primaries,\n                           video_transfer_func_t
      *p_transfer,\n                           video_color_space_t *p_colorspace,\n
      \                          video_color_range_t *p_full_range )"
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 4
    argNames:
    - p_fmt
    - pi_profile
    - pi_level
    - pi_nal_length_size
    argTypes:
    - es_format_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1041
    functionName: h264_get_profile_level
    functionSourceFile: /src/vlc/modules/packetizer/h264_nal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool h264_get_profile_level(const es_format_t *p_fmt, uint8_t *pi_profile,\n
      \                           uint8_t *pi_level, uint8_t *pi_nal_length_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_nal.c:1045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_bs
    - p_reco
    argTypes:
    - bs_t*
    - h264_sei_recovery_point_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1043
    functionDepth: 1
    functionLinenumber: 1043
    functionLinenumberEnd: 1050
    functionName: h264_decode_sei_recovery_point
    functionSourceFile: /src/vlc/modules/packetizer/h264_nal.c
    functionUses: 0
    functionsReached:
    - bs_read_ue
    linkageType: ''
    returnType: bool
    signature: bool h264_decode_sei_recovery_point( bs_t *p_bs, h264_sei_recovery_point_t
      *p_reco )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h264_nal.c:1061,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:1063,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_nal.c:1067,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - p_bs
    - p_sps
    - pic_struct
    - output_delay
    argTypes:
    - bs_t*
    - h264_sequence_parameter_set_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1052
    functionDepth: 1
    functionLinenumber: 1052
    functionLinenumberEnd: 1071
    functionName: h264_decode_sei_pic_timing
    functionSourceFile: /src/vlc/modules/packetizer/h264_nal.c
    functionUses: 0
    functionsReached:
    - bs_skip
    - bs_read
    linkageType: ''
    returnType: bool
    signature: "bool h264_decode_sei_pic_timing(  bs_t *p_bs,\n                                  const
      h264_sequence_parameter_set_t *p_sps,\n                                  uint8_t
      *pic_struct, uint8_t *output_delay  )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/packetizer/mpegvideo.c:211,1
    - Dst: memset
      Src: /src/vlc/modules/packetizer/mpegvideo.c:214,1
    - Dst: packetizer_Init
      Src: /src/vlc/modules/packetizer/mpegvideo.c:220,1
    - Dst: ckd_mul
      Src: /src/vlc/modules/packetizer/mpegvideo.c:237,1
    - Dst: date_Init
      Src: /src/vlc/modules/packetizer/mpegvideo.c:247,1
    - Dst: date_Init
      Src: /src/vlc/modules/packetizer/mpegvideo.c:248,1
    - Dst: var_CreateGetBool
      Src: /src/vlc/modules/packetizer/mpegvideo.c:280,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/mpegvideo.c:282,1
    - Dst: cc_Init
      Src: /src/vlc/modules/packetizer/mpegvideo.c:288,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 61
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 295
    functionName: Open
    functionSourceFile: /src/vlc/modules/packetizer/mpegvideo.c
    functionUses: 28
    functionsReached:
    - cc_Init
    - memset
    - var_CreateGetBool
    - date_Init
    - packetizer_Init
    - ckd_mul
    - msg_Dbg
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/mpegvideo.c:307,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/mpegvideo.c:311,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/packetizer/mpegvideo.c:315,1
    - Dst: packetizer_Clean
      Src: /src/vlc/modules/packetizer/mpegvideo.c:317,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/packetizer/mpegvideo.c:319,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/mpegvideo.c:321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 322
    functionName: Close
    functionSourceFile: /src/vlc/modules/packetizer/mpegvideo.c
    functionUses: 87
    functionsReached:
    - block_Release
    - var_Destroy
    - block_ChainRelease
    - free
    - packetizer_Clean
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_Packetize
      Src: /src/vlc/modules/packetizer/mpegvideo.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 327
    functionDepth: 3
    functionLinenumber: 327
    functionLinenumberEnd: 332
    functionName: Packetize
    functionSourceFile: /src/vlc/modules/packetizer/mpegvideo.c
    functionUses: 7
    functionsReached:
    - packetizer_Packetize
    linkageType: ''
    returnType: block_t
    signature: block_t *Packetize( decoder_t *p_dec, block_t **pp_block )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_Flush
      Src: /src/vlc/modules/packetizer/mpegvideo.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 339
    functionName: PacketizeFlush
    functionSourceFile: /src/vlc/modules/packetizer/mpegvideo.c
    functionUses: 3
    functionsReached:
    - packetizer_Flush
    linkageType: ''
    returnType: void
    signature: void PacketizeFlush( decoder_t *p_dec )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/packetizer/mpegvideo.c:352,1
    - Dst: memcpy
      Src: /src/vlc/modules/packetizer/mpegvideo.c:355,1
    - Dst: cc_Flush
      Src: /src/vlc/modules/packetizer/mpegvideo.c:364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - p_dec
    - p_desc
    argTypes:
    - decoder_t*
    - decoder_cc_desc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 366
    functionName: GetCc
    functionSourceFile: /src/vlc/modules/packetizer/mpegvideo.c
    functionUses: 0
    functionsReached:
    - block_Alloc
    - memcpy
    - cc_Flush
    linkageType: ''
    returnType: block_t
    signature: block_t *GetCc( decoder_t *p_dec, decoder_cc_desc_t *p_desc )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/packetizer/mpegvideo.c:413,1
    - Dst: date_Change
      Src: /src/vlc/modules/packetizer/mpegvideo.c:421,1
    - Dst: date_Change
      Src: /src/vlc/modules/packetizer/mpegvideo.c:422,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/mpegvideo.c:432,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 437
    functionName: ProcessSequenceParameters
    functionSourceFile: /src/vlc/modules/packetizer/mpegvideo.c
    functionUses: 0
    functionsReached:
    - date_Change
    - msg_Dbg
    - vlc_ureduce
    linkageType: ''
    returnType: void
    signature: void ProcessSequenceParameters( decoder_t *p_dec )
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: ProcessSequenceParameters
      Src: /src/vlc/modules/packetizer/mpegvideo.c:450,1
    - Dst: block_ChainGather
      Src: /src/vlc/modules/packetizer/mpegvideo.c:452,1
    - Dst: unlikely
      Src: /src/vlc/modules/packetizer/mpegvideo.c:524,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/packetizer/mpegvideo.c:524,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/mpegvideo.c:530,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/mpegvideo.c:534,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/mpegvideo.c:538,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/mpegvideo.c:540,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/mpegvideo.c:547,1
    - Dst: date_Increment
      Src: /src/vlc/modules/packetizer/mpegvideo.c:551,1
    - Dst: date_Increment
      Src: /src/vlc/modules/packetizer/mpegvideo.c:560,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/mpegvideo.c:564,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/mpegvideo.c:566,1
    - Dst: date_Increment
      Src: /src/vlc/modules/packetizer/mpegvideo.c:568,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/mpegvideo.c:570,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/mpegvideo.c:581,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/mpegvideo.c:583,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/mpegvideo.c:589,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/mpegvideo.c:591,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/mpegvideo.c:597,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/mpegvideo.c:613,1
    - Dst: date_Increment
      Src: /src/vlc/modules/packetizer/mpegvideo.c:615,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/mpegvideo.c:617,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/mpegvideo.c:622,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 115
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 650
    functionName: OutputFrame
    functionSourceFile: /src/vlc/modules/packetizer/mpegvideo.c
    functionUses: 2
    functionsReached:
    - VLC_FOURCC
    - date_Set
    - msg_Dbg
    - date_Get
    - date_Increment
    - unlikely
    - ProcessSequenceParameters
    - block_ChainGather
    linkageType: ''
    returnType: block_t
    signature: block_t *OutputFrame( decoder_t *p_dec )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/packetizer/mpegvideo.c:657,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/packetizer/mpegvideo.c:664,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/mpegvideo.c:669,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/mpegvideo.c:670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - p_private
    - b_flush
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 676
    functionName: PacketizeReset
    functionSourceFile: /src/vlc/modules/packetizer/mpegvideo.c
    functionUses: 0
    functionsReached:
    - block_ChainRelease
    - date_Set
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void PacketizeReset( void *p_private, bool b_flush )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseMPEGBlock
      Src: /src/vlc/modules/packetizer/mpegvideo.c:686,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - p_private
    - pb_ts_used
    - p_block
    argTypes:
    - void*
    - bool*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 695
    functionName: PacketizeParse
    functionSourceFile: /src/vlc/modules/packetizer/mpegvideo.c
    functionUses: 0
    functionsReached:
    - ParseMPEGBlock
    linkageType: ''
    returnType: block_t
    signature: block_t *PacketizeParse( void *p_private, bool *pb_ts_used, block_t
      *p_block )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OutputFrame
      Src: /src/vlc/modules/packetizer/mpegvideo.c:705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - p_private
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 713
    functionName: PacketizeDrain
    functionSourceFile: /src/vlc/modules/packetizer/mpegvideo.c
    functionUses: 0
    functionsReached:
    - OutputFrame
    linkageType: ''
    returnType: block_t
    signature: block_t * PacketizeDrain( void *p_private )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/packetizer/mpegvideo.c:720,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/mpegvideo.c:724,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/mpegvideo.c:727,1
    - Dst: unlikely
      Src: /src/vlc/modules/packetizer/mpegvideo.c:733,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/mpegvideo.c:734,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/mpegvideo.c:736,1
    - Dst: unlikely
      Src: /src/vlc/modules/packetizer/mpegvideo.c:742,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - p_private
    - p_au
    argTypes:
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 746
    functionName: PacketizeValidate
    functionSourceFile: /src/vlc/modules/packetizer/mpegvideo.c
    functionUses: 0
    functionsReached:
    - date_Get
    - unlikely
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int PacketizeValidate( void *p_private, block_t *p_au )
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/mpegvideo.c:765,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/packetizer/mpegvideo.c:766,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/mpegvideo.c:779,1
    - Dst: OutputFrame
      Src: /src/vlc/modules/packetizer/mpegvideo.c:783,1
    - Dst: cc_Flush
      Src: /src/vlc/modules/packetizer/mpegvideo.c:792,1
    - Dst: block_Duplicate
      Src: /src/vlc/modules/packetizer/mpegvideo.c:812,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/mpegvideo.c:814,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/mpegvideo.c:822,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/mpegvideo.c:823,1
    - Dst: block_Duplicate
      Src: /src/vlc/modules/packetizer/mpegvideo.c:825,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/mpegvideo.c:858,1
    - Dst: block_Duplicate
      Src: /src/vlc/modules/packetizer/mpegvideo.c:859,1
    - Dst: h26x_get_colorimetry
      Src: /src/vlc/modules/packetizer/mpegvideo.c:960,1
    - Dst: memcmp
      Src: /src/vlc/modules/packetizer/mpegvideo.c:971,1
    - Dst: cc_ProbeAndExtract
      Src: /src/vlc/modules/packetizer/mpegvideo.c:989,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/mpegvideo.c:1009,1
    - Dst: date_Increment
      Src: /src/vlc/modules/packetizer/mpegvideo.c:1012,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/mpegvideo.c:1027,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 155
    argCount: 2
    argNames:
    - p_dec
    - p_frag
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 750
    functionDepth: 2
    functionLinenumber: 750
    functionLinenumberEnd: 1030
    functionName: ParseMPEGBlock
    functionSourceFile: /src/vlc/modules/packetizer/mpegvideo.c
    functionUses: 2
    functionsReached:
    - block_Release
    - cc_ProbeAndExtract
    - cc_Flush
    - block_ChainRelease
    - date_Set
    - block_ChainLastAppend
    - block_Duplicate
    - msg_Dbg
    - date_Increment
    - memcmp
    - OutputFrame
    - h26x_get_colorimetry
    linkageType: ''
    returnType: block_t
    signature: block_t *ParseMPEGBlock( decoder_t *p_dec, block_t *p_frag )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetWBE
      Src: /src/vlc/modules/packetizer/flac.h:49,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/packetizer/flac.h:50,1
    - Dst: GetWBE
      Src: /src/vlc/modules/packetizer/flac.h:52,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/packetizer/flac.h:53,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/packetizer/flac.h:55,1
    - Dst: __MAX
      Src: /src/vlc/modules/packetizer/flac.h:56,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/packetizer/flac.h:58,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/packetizer/flac.h:60,1
    - Dst: GetQWBE
      Src: /src/vlc/modules/packetizer/flac.h:64,1
    - Dst: INT64_C
      Src: /src/vlc/modules/packetizer/flac.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - p_buf
    - stream_info
    argTypes:
    - uint8_t*
    - struct flac_stream_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 65
    functionName: FLAC_ParseStreamInfo
    functionSourceFile: /src/vlc/modules/packetizer/flac.h
    functionUses: 1
    functionsReached:
    - GetWBE
    - VLC_CLIP
    - INT64_C
    - __MAX
    - GetDWBE
    - GetQWBE
    linkageType: ''
    returnType: void
    signature: "void FLAC_ParseStreamInfo( const uint8_t *p_buf,\n                                         struct
      flac_stream_info *stream_info )"
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 3
    argNames:
    - p_buf
    - i_buf
    - pi_read
    argTypes:
    - uint8_t*
    - unsigned
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 116
    functionName: read_utf8
    functionSourceFile: /src/vlc/modules/packetizer/flac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t read_utf8(const uint8_t *p_buf, unsigned i_buf, int *pi_read)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - stream_info
    - h
    argTypes:
    - struct flac_stream_info*
    - struct flac_header_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 137
    functionName: FLAC_CheckFrameInfo
    functionSourceFile: /src/vlc/modules/packetizer/flac.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int FLAC_CheckFrameInfo(const struct flac_stream_info *stream_info,\n
      \                                     const struct flac_header_info *h)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/packetizer/flac.h:152,1
    - Dst: read_utf8
      Src: /src/vlc/modules/packetizer/flac.h:245,1
    - Dst: pf_crc8
      Src: /src/vlc/modules/packetizer/flac.h:295,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/packetizer/flac.h:302,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/packetizer/flac.h:305,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 101
    argCount: 4
    argNames:
    - p_buf
    - i_buf
    - stream_info
    - h
    argTypes:
    - uint8_t*
    - unsigned
    - struct flac_stream_info*
    - struct flac_header_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 313
    functionName: FLAC_ParseSyncInfo
    functionSourceFile: /src/vlc/modules/packetizer/flac.h
    functionUses: 1
    functionsReached:
    - read_utf8
    - vlc_tick_from_samples
    - unlikely
    - pf_crc8
    linkageType: ''
    returnType: int
    signature: "int FLAC_ParseSyncInfo(const uint8_t *p_buf, unsigned i_buf,\n                                     const
      struct flac_stream_info *stream_info,\n                                     uint8_t(*pf_crc8)(const
      uint8_t *, size_t),\n                                     struct flac_header_info
      *h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/dts.c:87,1
    - Dst: block_BytestreamEmpty
      Src: /src/vlc/modules/packetizer/dts.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: PacketizeFlush
    functionSourceFile: /src/vlc/modules/packetizer/dts.c
    functionUses: 3
    functionsReached:
    - block_BytestreamEmpty
    - date_Set
    linkageType: ''
    returnType: void
    signature: void PacketizeFlush( decoder_t *p_dec )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/dts.c:101,1
    - Dst: date_Init
      Src: /src/vlc/modules/packetizer/dts.c:104,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/dts.c:105,1
    - Dst: stdc_count_ones
      Src: /src/vlc/modules/packetizer/dts.c:117,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/packetizer/dts.c:121,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/dts.c:126,1
    - Dst: date_Increment
      Src: /src/vlc/modules/packetizer/dts.c:128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 130
    functionName: GetOutBuffer
    functionSourceFile: /src/vlc/modules/packetizer/dts.c
    functionUses: 1
    functionsReached:
    - stdc_count_ones
    - date_Init
    - date_Set
    - block_Alloc
    - msg_Dbg
    - date_Get
    - date_Increment
    linkageType: ''
    returnType: block_t
    signature: block_t *GetOutBuffer( decoder_t *p_dec )
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: PacketizeBlock
      Src: /src/vlc/modules/packetizer/dts.c:144,1
    - Dst: PacketizeFlush
      Src: /src/vlc/modules/packetizer/dts.c:148,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/dts.c:151,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/dts.c:157,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/dts.c:159,1
    - Dst: block_BytestreamPush
      Src: /src/vlc/modules/packetizer/dts.c:163,1
    - Dst: block_PeekBytes
      Src: /src/vlc/modules/packetizer/dts.c:171,1
    - Dst: vlc_dts_header_IsSync
      Src: /src/vlc/modules/packetizer/dts.c:174,1
    - Dst: block_SkipByte
      Src: /src/vlc/modules/packetizer/dts.c:179,1
    - Dst: block_BytestreamFlush
      Src: /src/vlc/modules/packetizer/dts.c:183,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/dts.c:194,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/dts.c:196,1
    - Dst: block_PeekBytes
      Src: /src/vlc/modules/packetizer/dts.c:203,1
    - Dst: vlc_dts_header_Parse
      Src: /src/vlc/modules/packetizer/dts.c:211,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/dts.c:215,1
    - Dst: block_SkipByte
      Src: /src/vlc/modules/packetizer/dts.c:216,1
    - Dst: block_PeekOffsetBytes
      Src: /src/vlc/modules/packetizer/dts.c:230,1
    - Dst: vlc_dts_header_Parse
      Src: /src/vlc/modules/packetizer/dts.c:240,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/dts.c:243,1
    - Dst: block_SkipByte
      Src: /src/vlc/modules/packetizer/dts.c:244,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/packetizer/dts.c:267,1
    - Dst: block_SkipBytes
      Src: /src/vlc/modules/packetizer/dts.c:270,1
    - Dst: block_PeekOffsetBytes
      Src: /src/vlc/modules/packetizer/dts.c:279,1
    - Dst: vlc_dts_header_IsSync
      Src: /src/vlc/modules/packetizer/dts.c:300,1
    - Dst: block_PeekOffsetBytes
      Src: /src/vlc/modules/packetizer/dts.c:304,1
    - Dst: vlc_dts_header_IsSync
      Src: /src/vlc/modules/packetizer/dts.c:307,1
    - Dst: assert
      Src: /src/vlc/modules/packetizer/dts.c:310,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/dts.c:314,1
    - Dst: block_SkipByte
      Src: /src/vlc/modules/packetizer/dts.c:317,1
    - Dst: vlc_dts_header_Parse
      Src: /src/vlc/modules/packetizer/dts.c:324,1
    - Dst: assert
      Src: /src/vlc/modules/packetizer/dts.c:339,1
    - Dst: block_WaitBytes
      Src: /src/vlc/modules/packetizer/dts.c:355,1
    - Dst: GetOutBuffer
      Src: /src/vlc/modules/packetizer/dts.c:365,1
    - Dst: block_GetBytes
      Src: /src/vlc/modules/packetizer/dts.c:372,1
    - Dst: block_BytestreamPop
      Src: /src/vlc/modules/packetizer/dts.c:387,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 142
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts:
    - condition: (p_sys->i_input_size)
      pos:
        line_end: 309
        line_start: 309
        source_file: /src/vlc/modules/packetizer/dts.c
    - condition: (p_sys->second.syncword == DTS_SYNC_SUBSTREAM)
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/vlc/modules/packetizer/dts.c
    constantsTouched: []
    func_position:
      end: 394
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 394
    functionName: PacketizeBlock
    functionSourceFile: /src/vlc/modules/packetizer/dts.c
    functionUses: 4
    functionsReached:
    - assert
    - PacketizeFlush
    - vlc_dts_header_Parse
    - block_GetBytes
    - block_BytestreamFlush
    - GetOutBuffer
    - msg_Dbg
    - date_Get
    - block_WaitBytes
    - msg_Warn
    - block_PeekBytes
    - block_SkipBytes
    - date_Set
    - PacketizeBlock
    - block_PeekOffsetBytes
    - vlc_dts_header_IsSync
    - block_BytestreamPop
    - block_Release
    - block_SkipByte
    - block_BytestreamPush
    linkageType: ''
    returnType: block_t
    signature: block_t *PacketizeBlock( decoder_t *p_dec, block_t **pp_block )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_BytestreamRelease
      Src: /src/vlc/modules/packetizer/dts.c:401,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/dts.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 404
    functionName: Close
    functionSourceFile: /src/vlc/modules/packetizer/dts.c
    functionUses: 87
    functionsReached:
    - free
    - block_BytestreamRelease
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/packetizer/dts.c:415,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/dts.c:420,1
    - Dst: memset
      Src: /src/vlc/modules/packetizer/dts.c:424,1
    - Dst: memset
      Src: /src/vlc/modules/packetizer/dts.c:425,1
    - Dst: block_BytestreamInit
      Src: /src/vlc/modules/packetizer/dts.c:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 437
    functionName: Open
    functionSourceFile: /src/vlc/modules/packetizer/dts.c
    functionUses: 28
    functionsReached:
    - block_BytestreamInit
    - date_Set
    - malloc
    - memset
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - p_block
    - i_prebody
    - i_body
    argTypes:
    - block_t*
    - ssize_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: block_WillRealloc
    functionSourceFile: /src/vlc/modules/packetizer/hxxx_nal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool block_WillRealloc( block_t *p_block, ssize_t i_prebody, size_t
      i_body )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SetDWBE
      Src: /src/vlc/modules/packetizer/hxxx_nal.c:37,1
    - Dst: SetWBE
      Src: /src/vlc/modules/packetizer/hxxx_nal.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - i_nal_length_size
    - p_dest
    - i_payload
    argTypes:
    - uint8_t
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: hxxx_WritePrefix
    functionSourceFile: /src/vlc/modules/packetizer/hxxx_nal.c
    functionUses: 0
    functionsReached:
    - SetWBE
    - SetDWBE
    linkageType: ''
    returnType: void
    signature: void hxxx_WritePrefix( uint8_t i_nal_length_size, uint8_t *p_dest,
      uint32_t i_payload )
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: vlc_alloc
      Src: /src/vlc/modules/packetizer/hxxx_nal.c:58,1
    - Dst: realloc
      Src: /src/vlc/modules/packetizer/hxxx_nal.c:92,1
    - Dst: unlikely
      Src: /src/vlc/modules/packetizer/hxxx_nal.c:93,1
    - Dst: block_WillRealloc
      Src: /src/vlc/modules/packetizer/hxxx_nal.c:105,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/packetizer/hxxx_nal.c:108,1
    - Dst: unlikely
      Src: /src/vlc/modules/packetizer/hxxx_nal.c:109,1
    - Dst: hxxx_WritePrefix
      Src: /src/vlc/modules/packetizer/hxxx_nal.c:112,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/hxxx_nal.c:113,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/packetizer/hxxx_nal.c:125,1
    - Dst: unlikely
      Src: /src/vlc/modules/packetizer/hxxx_nal.c:126,1
    - Dst: memmove
      Src: /src/vlc/modules/packetizer/hxxx_nal.c:154,1
    - Dst: hxxx_WritePrefix
      Src: /src/vlc/modules/packetizer/hxxx_nal.c:156,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/hxxx_nal.c:162,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/hxxx_nal.c:163,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/hxxx_nal.c:167,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/hxxx_nal.c:168,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 74
    argCount: 2
    argNames:
    - p_block
    - i_nal_length_size
    argTypes:
    - block_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 170
    functionName: hxxx_AnnexB_to_xVC
    functionSourceFile: /src/vlc/modules/packetizer/hxxx_nal.c
    functionUses: 1
    functionsReached:
    - block_Release
    - block_Realloc
    - realloc
    - free
    - memmove
    - block_Alloc
    - block_WillRealloc
    - vlc_alloc
    - hxxx_WritePrefix
    - unlikely
    linkageType: ''
    returnType: block_t
    signature: block_t *hxxx_AnnexB_to_xVC( block_t *p_block, uint8_t i_nal_length_size
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/packetizer/iso_color_tables.h:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: iso_23001_8_cp_to_vlc_primaries
    functionSourceFile: /src/vlc/modules/packetizer/iso_color_tables.h
    functionUses: 4
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: video_color_primaries_t
    signature: video_color_primaries_t iso_23001_8_cp_to_vlc_primaries( uint8_t v
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/packetizer/iso_color_tables.h:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - v
    argTypes:
    - video_color_primaries_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: vlc_primaries_to_iso_23001_8_cp
    functionSourceFile: /src/vlc/modules/packetizer/iso_color_tables.h
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: enum iso_23001_8_cp
    signature: enum iso_23001_8_cp vlc_primaries_to_iso_23001_8_cp( video_color_primaries_t
      v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/packetizer/iso_color_tables.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: iso_23001_8_tc_to_vlc_xfer
    functionSourceFile: /src/vlc/modules/packetizer/iso_color_tables.h
    functionUses: 4
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: video_transfer_func_t
    signature: video_transfer_func_t iso_23001_8_tc_to_vlc_xfer( uint8_t v )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/packetizer/iso_color_tables.h:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - v
    argTypes:
    - video_transfer_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: vlc_xfer_to_iso_23001_8_tc
    functionSourceFile: /src/vlc/modules/packetizer/iso_color_tables.h
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: enum iso_23001_8_tc
    signature: enum iso_23001_8_tc vlc_xfer_to_iso_23001_8_tc( video_transfer_func_t
      v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/packetizer/iso_color_tables.h:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: iso_23001_8_mc_to_vlc_coeffs
    functionSourceFile: /src/vlc/modules/packetizer/iso_color_tables.h
    functionUses: 4
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: video_color_space_t
    signature: video_color_space_t iso_23001_8_mc_to_vlc_coeffs( uint8_t v )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/packetizer/iso_color_tables.h:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - v
    argTypes:
    - video_color_space_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 196
    functionName: vlc_coeffs_to_iso_23001_8_mc
    functionSourceFile: /src/vlc/modules/packetizer/iso_color_tables.h
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: enum iso_23001_8_mc
    signature: enum iso_23001_8_mc vlc_coeffs_to_iso_23001_8_mc( video_color_space_t
      v )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/packetizer/mpegaudio.h:150,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 2
    argNames:
    - i_header
    - h
    argTypes:
    - uint32_t
    - struct mpga_frameheader_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 158
    functionName: mpga_decode_frameheader
    functionSourceFile: /src/vlc/modules/packetizer/mpegaudio.h
    functionUses: 1
    functionsReached:
    - vlc_assert_unreachable
    linkageType: ''
    returnType: int
    signature: int mpga_decode_frameheader(uint32_t i_header, struct mpga_frameheader_s
      *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/mpegaudio.c:97,1
    - Dst: block_BytestreamEmpty
      Src: /src/vlc/modules/packetizer/mpegaudio.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: Flush
    functionSourceFile: /src/vlc/modules/packetizer/mpegaudio.c
    functionUses: 28
    functionsReached:
    - block_BytestreamEmpty
    - date_Set
    linkageType: ''
    returnType: void
    signature: void Flush( decoder_t *p_dec )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/mpegaudio.c:111,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/mpegaudio.c:113,1
    - Dst: date_Init
      Src: /src/vlc/modules/packetizer/mpegaudio.c:118,1
    - Dst: date_Change
      Src: /src/vlc/modules/packetizer/mpegaudio.c:120,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/mpegaudio.c:121,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/packetizer/mpegaudio.c:135,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/mpegaudio.c:139,1
    - Dst: date_Increment
      Src: /src/vlc/modules/packetizer/mpegaudio.c:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - p_dec
    - pp_out_buffer
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 145
    functionName: GetOutBuffer
    functionSourceFile: /src/vlc/modules/packetizer/mpegaudio.c
    functionUses: 2
    functionsReached:
    - date_Init
    - date_Set
    - block_Alloc
    - msg_Dbg
    - date_Get
    - date_Increment
    - date_Change
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *GetOutBuffer( decoder_t *p_dec, block_t **pp_out_buffer )
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: DecodeBlock
      Src: /src/vlc/modules/packetizer/mpegaudio.c:167,1
    - Dst: Flush
      Src: /src/vlc/modules/packetizer/mpegaudio.c:171,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/mpegaudio.c:175,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/mpegaudio.c:181,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/mpegaudio.c:184,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/mpegaudio.c:185,1
    - Dst: block_BytestreamPush
      Src: /src/vlc/modules/packetizer/mpegaudio.c:189,1
    - Dst: block_PeekBytes
      Src: /src/vlc/modules/packetizer/mpegaudio.c:198,1
    - Dst: block_SkipByte
      Src: /src/vlc/modules/packetizer/mpegaudio.c:207,1
    - Dst: block_BytestreamFlush
      Src: /src/vlc/modules/packetizer/mpegaudio.c:211,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/mpegaudio.c:222,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/packetizer/mpegaudio.c:224,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/mpegaudio.c:226,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/mpegaudio.c:227,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/mpegaudio.c:229,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/mpegaudio.c:231,1
    - Dst: block_PeekBytes
      Src: /src/vlc/modules/packetizer/mpegaudio.c:239,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/packetizer/mpegaudio.c:247,1
    - Dst: mpga_decode_frameheader
      Src: /src/vlc/modules/packetizer/mpegaudio.c:250,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/mpegaudio.c:252,1
    - Dst: block_SkipByte
      Src: /src/vlc/modules/packetizer/mpegaudio.c:253,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/mpegaudio.c:263,1
    - Dst: block_PeekOffsetBytes
      Src: /src/vlc/modules/packetizer/mpegaudio.c:274,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/packetizer/mpegaudio.c:292,1
    - Dst: mpga_decode_frameheader
      Src: /src/vlc/modules/packetizer/mpegaudio.c:295,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/mpegaudio.c:302,1
    - Dst: block_SkipByte
      Src: /src/vlc/modules/packetizer/mpegaudio.c:306,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/mpegaudio.c:317,1
    - Dst: block_SkipByte
      Src: /src/vlc/modules/packetizer/mpegaudio.c:318,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/mpegaudio.c:338,1
    - Dst: block_SkipByte
      Src: /src/vlc/modules/packetizer/mpegaudio.c:340,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/mpegaudio.c:363,1
    - Dst: block_SkipByte
      Src: /src/vlc/modules/packetizer/mpegaudio.c:367,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/mpegaudio.c:377,1
    - Dst: block_SkipByte
      Src: /src/vlc/modules/packetizer/mpegaudio.c:380,1
    - Dst: block_WaitBytes
      Src: /src/vlc/modules/packetizer/mpegaudio.c:390,1
    - Dst: GetOutBuffer
      Src: /src/vlc/modules/packetizer/mpegaudio.c:400,1
    - Dst: block_GetBytes
      Src: /src/vlc/modules/packetizer/mpegaudio.c:412,1
    - Dst: __MIN
      Src: /src/vlc/modules/packetizer/mpegaudio.c:413,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/mpegaudio.c:416,1
    - Dst: block_BytestreamPop
      Src: /src/vlc/modules/packetizer/mpegaudio.c:433,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/mpegaudio.c:437,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 158
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 447
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/packetizer/mpegaudio.c
    functionUses: 1
    functionsReached:
    - DecodeBlock
    - block_GetBytes
    - block_BytestreamFlush
    - GetOutBuffer
    - msg_Dbg
    - date_Get
    - block_WaitBytes
    - block_PeekBytes
    - Flush
    - VLC_FOURCC
    - date_Set
    - block_PeekOffsetBytes
    - __MIN
    - GetDWBE
    - block_BytestreamPop
    - block_Release
    - mpga_decode_frameheader
    - block_SkipByte
    - block_BytestreamPush
    linkageType: ''
    returnType: block_t
    signature: block_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_BytestreamRelease
      Src: /src/vlc/modules/packetizer/mpegaudio.c:457,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/mpegaudio.c:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 460
    functionName: Close
    functionSourceFile: /src/vlc/modules/packetizer/mpegaudio.c
    functionUses: 87
    functionsReached:
    - free
    - block_BytestreamRelease
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/packetizer/mpegaudio.c:479,1
    - Dst: date_Init
      Src: /src/vlc/modules/packetizer/mpegaudio.c:484,1
    - Dst: block_BytestreamInit
      Src: /src/vlc/modules/packetizer/mpegaudio.c:485,1
    - Dst: memset
      Src: /src/vlc/modules/packetizer/mpegaudio.c:489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 504
    functionName: Open
    functionSourceFile: /src/vlc/modules/packetizer/mpegaudio.c
    functionUses: 28
    functionsReached:
    - block_BytestreamInit
    - date_Init
    - malloc
    - memset
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - p
    - end
    - pi_prev
    - i_count
    argTypes:
    - uint8_t*
    - uint8_t*
    - unsigned*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 43
    functionName: hxxx_ep3b_to_rbsp
    functionSourceFile: /src/vlc/modules/packetizer/hxxx_ep3b.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *hxxx_ep3b_to_rbsp( const uint8_t *p, const uint8_t *end, unsigned
      *pi_prev, size_t i_count )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/packetizer/hxxx_ep3b.h:50,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - p_src
    - i_src
    - pi_ret
    argTypes:
    - uint8_t*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 66
    functionName: hxxx_ep3b_to_rbsp
    functionSourceFile: /src/vlc/modules/packetizer/hxxx_ep3b.h
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * hxxx_ep3b_to_rbsp(const uint8_t *p_src, size_t i_src, size_t
      *pi_ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct hxxx_bsfw_ep3b_ctx_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: hxxx_bsfw_ep3b_ctx_init
    functionSourceFile: /src/vlc/modules/packetizer/hxxx_ep3b.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hxxx_bsfw_ep3b_ctx_init( struct hxxx_bsfw_ep3b_ctx_s *ctx )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_ep3b_to_rbsp
      Src: /src/vlc/modules/packetizer/hxxx_ep3b.h:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - s
    - i_count
    argTypes:
    - bs_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 98
    functionName: hxxx_bsfw_byte_forward_ep3b
    functionSourceFile: /src/vlc/modules/packetizer/hxxx_ep3b.h
    functionUses: 0
    functionsReached:
    - hxxx_ep3b_to_rbsp
    linkageType: ''
    returnType: size_t
    signature: size_t hxxx_bsfw_byte_forward_ep3b( bs_t *s, size_t i_count )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - bs_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: hxxx_bsfw_byte_pos_ep3b
    functionSourceFile: /src/vlc/modules/packetizer/hxxx_ep3b.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hxxx_bsfw_byte_pos_ep3b( const bs_t *s )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_slice
    argTypes:
    - h264_slice_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: h264_get_slice_type
    functionSourceFile: /src/vlc/modules/packetizer/h264_slice.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum h264_slice_type_e
    signature: enum h264_slice_type_e h264_get_slice_type( const h264_slice_t *p_slice
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_slice
    argTypes:
    - h264_slice_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: h264_has_mmco5
    functionSourceFile: /src/vlc/modules/packetizer/h264_slice.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool h264_has_mmco5( const h264_slice_t *p_slice )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_slice
    argTypes:
    - h264_slice_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: h264_is_field_pic
    functionSourceFile: /src/vlc/modules/packetizer/h264_slice.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool h264_is_field_pic( const h264_slice_t *p_slice )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_slice
    argTypes:
    - h264_slice_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: h264_get_slice_pps_id
    functionSourceFile: /src/vlc/modules/packetizer/h264_slice.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int h264_get_slice_pps_id( const h264_slice_t *p_slice )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_slice
    argTypes:
    - h264_slice_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: h264_get_frame_num
    functionSourceFile: /src/vlc/modules/packetizer/h264_slice.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned h264_get_frame_num( const h264_slice_t *p_slice )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_slice
    argTypes:
    - h264_slice_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: h264_get_nal_ref_idc
    functionSourceFile: /src/vlc/modules/packetizer/h264_slice.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned h264_get_nal_ref_idc( const h264_slice_t *p_slice )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/packetizer/h264_slice.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_slice
    argTypes:
    - h264_slice_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: h264_slice_release
    functionSourceFile: /src/vlc/modules/packetizer/h264_slice.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void h264_slice_release( h264_slice_t *p_slice )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - h264_slice_t*
    - h264_slice_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: h264_slice_copy_idr_id
    functionSourceFile: /src/vlc/modules/packetizer/h264_slice.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void h264_slice_copy_idr_id( const h264_slice_t *src, h264_slice_t
      *dst )
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/packetizer/h264_slice.c:105,1
    - Dst: hxxx_bsfw_ep3b_ctx_init
      Src: /src/vlc/modules/packetizer/h264_slice.c:112,1
    - Dst: bs_init_custom
      Src: /src/vlc/modules/packetizer/h264_slice.c:113,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h264_slice.c:116,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_slice.c:117,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_slice.c:118,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_slice.c:121,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_slice.c:124,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_slice.c:133,1
    - Dst: get_sps_pps
      Src: /src/vlc/modules/packetizer/h264_slice.c:141,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_slice.c:145,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_slice.c:150,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_slice.c:152,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_slice.c:157,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h264_slice.c:165,1
    - Dst: bs_read_se
      Src: /src/vlc/modules/packetizer/h264_slice.c:167,1
    - Dst: bs_read_se
      Src: /src/vlc/modules/packetizer/h264_slice.c:172,1
    - Dst: bs_read_se
      Src: /src/vlc/modules/packetizer/h264_slice.c:174,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_slice.c:178,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h264_slice.c:184,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h264_slice.c:189,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_slice.c:191,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_slice.c:196,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h264_slice.c:221,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_slice.c:226,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_slice.c:228,1
    - Dst: bs_eof
      Src: /src/vlc/modules/packetizer/h264_slice.c:230,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/h264_slice.c:234,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_slice.c:242,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_slice.c:244,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h264_slice.c:251,1
    - Dst: bs_read_se
      Src: /src/vlc/modules/packetizer/h264_slice.c:253,1
    - Dst: bs_read_se
      Src: /src/vlc/modules/packetizer/h264_slice.c:254,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h264_slice.c:258,1
    - Dst: bs_read_se
      Src: /src/vlc/modules/packetizer/h264_slice.c:260,1
    - Dst: bs_read_se
      Src: /src/vlc/modules/packetizer/h264_slice.c:261,1
    - Dst: bs_read_se
      Src: /src/vlc/modules/packetizer/h264_slice.c:262,1
    - Dst: bs_read_se
      Src: /src/vlc/modules/packetizer/h264_slice.c:263,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h264_slice.c:273,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h264_slice.c:274,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h264_slice.c:278,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_slice.c:283,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_slice.c:287,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_slice.c:289,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_slice.c:291,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h264_slice.c:293,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/h264_slice.c:306,1
    - Dst: h264_slice_release
      Src: /src/vlc/modules/packetizer/h264_slice.c:311,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 135
    argCount: 3
    argNames:
    - p_buffer
    - i_buffer
    - priv
    argTypes:
    - uint8_t*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 313
    functionName: h264_decode_slice
    functionSourceFile: /src/vlc/modules/packetizer/h264_slice.c
    functionUses: 0
    functionsReached:
    - hxxx_bsfw_ep3b_ctx_init
    - bs_skip
    - bs_read1
    - bs_init_custom
    - bs_eof
    - bs_read
    - calloc
    - bs_read_se
    - h264_slice_release
    - get_sps_pps
    - bs_read_ue
    - bs_error
    linkageType: ''
    returnType: h264_slice_t
    signature: "h264_slice_t * h264_decode_slice( const uint8_t *p_buffer, size_t
      i_buffer,\n                                  void (* get_sps_pps)(uint8_t, void
      *,\n                                             const h264_sequence_parameter_set_t
      **,\n                                             const h264_picture_parameter_set_t
      ** ),\n                                  void *priv )"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: __MIN
      Src: /src/vlc/modules/packetizer/h264_slice.c:440,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 76
    argCount: 6
    argNames:
    - p_sps
    - p_slice
    - p_ctx
    - p_PictureOrderCount
    - p_tFOC
    - p_bFOC
    argTypes:
    - h264_sequence_parameter_set_t*
    - h264_slice_t*
    - h264_poc_context_t*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 446
    functionName: h264_compute_poc
    functionSourceFile: /src/vlc/modules/packetizer/h264_slice.c
    functionUses: 0
    functionsReached:
    - __MIN
    linkageType: ''
    returnType: void
    signature: "void h264_compute_poc( const h264_sequence_parameter_set_t *p_sps,\n
      \                      const h264_slice_t *p_slice, h264_poc_context_t *p_ctx,\n
      \                      int *p_PictureOrderCount, int *p_tFOC, int *p_bFOC )"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 5
    argNames:
    - p_sps
    - p_slice
    - i_pic_struct
    - tFOC
    - bFOC
    argTypes:
    - h264_sequence_parameter_set_t*
    - h264_slice_t*
    - uint8_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 466
    functionName: h264_infer_pic_struct
    functionSourceFile: /src/vlc/modules/packetizer/h264_slice.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t h264_infer_pic_struct( const h264_sequence_parameter_set_t
      *p_sps,\n                                      const h264_slice_t *p_slice,\n
      \                                     uint8_t i_pic_struct, int tFOC, int bFOC
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h264_infer_pic_struct
      Src: /src/vlc/modules/packetizer/h264_slice.c:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - p_sps
    - p_slice
    - i_pic_struct
    - tFOC
    - bFOC
    argTypes:
    - h264_sequence_parameter_set_t*
    - h264_slice_t*
    - uint8_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 476
    functionName: h264_get_num_ts
    functionSourceFile: /src/vlc/modules/packetizer/h264_slice.c
    functionUses: 0
    functionsReached:
    - h264_infer_pic_struct
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t h264_get_num_ts( const h264_sequence_parameter_set_t *p_sps,\n
      \                        const h264_slice_t *p_slice, uint8_t i_pic_struct,\n
      \                        int tFOC, int bFOC )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_slice
    argTypes:
    - h264_slice_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 481
    functionName: h264_slice_top_field
    functionSourceFile: /src/vlc/modules/packetizer/h264_slice.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool h264_slice_top_field( const h264_slice_t *p_slice )
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 16
    argCount: 2
    argNames:
    - p_prev
    - p_cur
    argTypes:
    - h264_slice_t*
    - h264_slice_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 512
    functionName: h264_IsFirstVCLNALUnit
    functionSourceFile: /src/vlc/modules/packetizer/h264_slice.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool h264_IsFirstVCLNALUnit( const h264_slice_t *p_prev, const h264_slice_t
      *p_cur )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - p_slice
    - p_sps
    argTypes:
    - h264_slice_t*
    - h264_sequence_parameter_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 522
    functionName: h264_CanSwapPTSWithDTS
    functionSourceFile: /src/vlc/modules/packetizer/h264_slice.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool h264_CanSwapPTSWithDTS( const h264_slice_t *p_slice, const h264_sequence_parameter_set_t
      *p_sps )
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/packetizer/mpeg4systems.h:169,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 91
    argCount: 5
    argNames:
    - oti
    - p_dsi
    - i_dsi
    - pi_codec
    - pi_profile
    argTypes:
    - uint8_t
    - uint8_t*
    - size_t
    - vlc_fourcc_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 211
    functionName: MPEG4_get_codec_by_ObjectType
    functionSourceFile: /src/vlc/modules/packetizer/mpeg4systems.h
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    linkageType: ''
    returnType: bool
    signature: "bool MPEG4_get_codec_by_ObjectType(uint8_t oti,\n                                                 const
      uint8_t *p_dsi,\n                                                 size_t i_dsi,\n
      \                                                vlc_fourcc_t *pi_codec,\n                                                 int
      *pi_profile)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseNALBlock
      Src: /src/vlc/modules/packetizer/h264.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - opaque
    - pb_ts_used
    - p_frag
    argTypes:
    - void*
    - bool*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: ParseNALBlockW
    functionSourceFile: /src/vlc/modules/packetizer/h264.c
    functionUses: 0
    functionsReached:
    - ParseNALBlock
    linkageType: ''
    returnType: block_t
    signature: block_t *ParseNALBlockW( void *opaque, bool *pb_ts_used, block_t *p_frag
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/packetizer/h264.c:172,1
    - Dst: memcpy
      Src: /src/vlc/modules/packetizer/h264.c:175,1
    - Dst: memcpy
      Src: /src/vlc/modules/packetizer/h264.c:176,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h264.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p_block
    - ppp_last
    argTypes:
    - block_t*
    - block_t***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 179
    functionName: LastAppendXPSCopy
    functionSourceFile: /src/vlc/modules/packetizer/h264.c
    functionUses: 0
    functionsReached:
    - block_Alloc
    - memcpy
    - block_ChainLastAppend
    linkageType: ''
    returnType: void
    signature: void LastAppendXPSCopy( const block_t *p_block, block_t ***ppp_last
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LastAppendXPSCopy
      Src: /src/vlc/modules/packetizer/h264.c:187,1
    - Dst: LastAppendXPSCopy
      Src: /src/vlc/modules/packetizer/h264.c:190,1
    - Dst: LastAppendXPSCopy
      Src: /src/vlc/modules/packetizer/h264.c:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - p_sys
    - b_need_sps
    - b_need_pps
    argTypes:
    - decoder_sys_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 195
    functionName: GatherSets
    functionSourceFile: /src/vlc/modules/packetizer/h264.c
    functionUses: 0
    functionsReached:
    - LastAppendXPSCopy
    linkageType: ''
    returnType: block_t
    signature: block_t * GatherSets( decoder_sys_t *p_sys, bool b_need_sps, bool b_need_pps
      )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: h264_get_sps_profile_tier_level
      Src: /src/vlc/modules/packetizer/h264.c:208,1
    - Dst: h264_get_picture_size
      Src: /src/vlc/modules/packetizer/h264.c:215,1
    - Dst: h264_get_aspect_ratio
      Src: /src/vlc/modules/packetizer/h264.c:228,1
    - Dst: h264_get_frame_rate
      Src: /src/vlc/modules/packetizer/h264.c:238,1
    - Dst: date_Change
      Src: /src/vlc/modules/packetizer/h264.c:239,1
    - Dst: h264_get_colorimetry
      Src: /src/vlc/modules/packetizer/h264.c:247,1
    - Dst: GatherSets
      Src: /src/vlc/modules/packetizer/h264.c:255,1
    - Dst: block_ChainProperties
      Src: /src/vlc/modules/packetizer/h264.c:259,1
    - Dst: malloc
      Src: /src/vlc/modules/packetizer/h264.c:260,1
    - Dst: block_ChainExtract
      Src: /src/vlc/modules/packetizer/h264.c:264,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/packetizer/h264.c:266,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - p_dec
    - p_sps
    - p_pps
    argTypes:
    - decoder_t*
    - h264_sequence_parameter_set_t*
    - h264_picture_parameter_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 270
    functionName: ActivateSets
    functionSourceFile: /src/vlc/modules/packetizer/h264.c
    functionUses: 2
    functionsReached:
    - block_ChainExtract
    - h264_get_picture_size
    - block_ChainProperties
    - block_ChainRelease
    - h264_get_aspect_ratio
    - malloc
    - h264_get_sps_profile_tier_level
    - date_Change
    - GatherSets
    - h264_get_frame_rate
    - h264_get_colorimetry
    linkageType: ''
    returnType: void
    signature: "void ActivateSets( decoder_t *p_dec, const h264_sequence_parameter_set_t
      *p_sps,\n                                            const h264_picture_parameter_set_t
      *p_pps )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/packetizer/h264.c:274,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/packetizer/h264.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - decoder_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 280
    functionName: DropStoredNAL
    functionSourceFile: /src/vlc/modules/packetizer/h264.c
    functionUses: 0
    functionsReached:
    - block_ChainRelease
    linkageType: ''
    returnType: void
    signature: void DropStoredNAL( decoder_sys_t *p_sys )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/packetizer/h264.c:293,1
    - Dst: malloc
      Src: /src/vlc/modules/packetizer/h264.c:301,1
    - Dst: cc_storage_new
      Src: /src/vlc/modules/packetizer/h264.c:306,1
    - Dst: unlikely
      Src: /src/vlc/modules/packetizer/h264.c:307,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/h264.c:309,1
    - Dst: packetizer_Init
      Src: /src/vlc/modules/packetizer/h264.c:313,1
    - Dst: h264_poc_context_init
      Src: /src/vlc/modules/packetizer/h264.c:351,1
    - Dst: date_Init
      Src: /src/vlc/modules/packetizer/h264.c:354,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/packetizer/h264.c:357,1
    - Dst: date_Change
      Src: /src/vlc/modules/packetizer/h264.c:365,1
    - Dst: h264_isavcC
      Src: /src/vlc/modules/packetizer/h264.c:375,1
    - Dst: h264_avcC_to_AnnexB_NAL
      Src: /src/vlc/modules/packetizer/h264.c:378,1
    - Dst: msg_Err
      Src: /src/vlc/modules/packetizer/h264.c:383,1
    - Dst: Close
      Src: /src/vlc/modules/packetizer/h264.c:384,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/h264.c:387,1
    - Dst: msg_Err
      Src: /src/vlc/modules/packetizer/h264.c:394,1
    - Dst: Close
      Src: /src/vlc/modules/packetizer/h264.c:395,1
    - Dst: packetizer_Header
      Src: /src/vlc/modules/packetizer/h264.c:415,1
    - Dst: msg_Err
      Src: /src/vlc/modules/packetizer/h264.c:424,1
    - Dst: Close
      Src: /src/vlc/modules/packetizer/h264.c:426,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/h264.c:430,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 83
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 287
    functionDepth: 4
    functionLinenumber: 287
    functionLinenumberEnd: 439
    functionName: Open
    functionSourceFile: /src/vlc/modules/packetizer/h264.c
    functionUses: 28
    functionsReached:
    - VLC_FOURCC
    - h264_avcC_to_AnnexB_NAL
    - packetizer_Header
    - cc_storage_new
    - h264_poc_context_init
    - date_Init
    - packetizer_Init
    - free
    - h264_isavcC
    - msg_Err
    - msg_Dbg
    - Close
    - date_Change
    - es_format_Copy
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DropStoredNAL
      Src: /src/vlc/modules/packetizer/h264.c:449,1
    - Dst: ReleaseXPS
      Src: /src/vlc/modules/packetizer/h264.c:450,1
    - Dst: h264_slice_release
      Src: /src/vlc/modules/packetizer/h264.c:453,1
    - Dst: packetizer_Clean
      Src: /src/vlc/modules/packetizer/h264.c:455,1
    - Dst: cc_storage_delete
      Src: /src/vlc/modules/packetizer/h264.c:457,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/h264.c:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 460
    functionName: Close
    functionSourceFile: /src/vlc/modules/packetizer/h264.c
    functionUses: 88
    functionsReached:
    - cc_storage_delete
    - DropStoredNAL
    - ReleaseXPS
    - free
    - packetizer_Clean
    - h264_slice_release
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_Flush
      Src: /src/vlc/modules/packetizer/h264.c:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 467
    functionName: PacketizeFlush
    functionSourceFile: /src/vlc/modules/packetizer/h264.c
    functionUses: 4
    functionsReached:
    - packetizer_Flush
    linkageType: ''
    returnType: void
    signature: void PacketizeFlush( decoder_t *p_dec )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_Packetize
      Src: /src/vlc/modules/packetizer/h264.c:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 3
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: Packetize
    functionSourceFile: /src/vlc/modules/packetizer/h264.c
    functionUses: 8
    functionsReached:
    - packetizer_Packetize
    linkageType: ''
    returnType: block_t
    signature: block_t *Packetize( decoder_t *p_dec, block_t **pp_block )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PacketizeXXC1
      Src: /src/vlc/modules/packetizer/h264.c:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 486
    functionDepth: 2
    functionLinenumber: 486
    functionLinenumberEnd: 493
    functionName: PacketizeAVC1
    functionSourceFile: /src/vlc/modules/packetizer/h264.c
    functionUses: 0
    functionsReached:
    - PacketizeXXC1
    linkageType: ''
    returnType: block_t
    signature: block_t *PacketizeAVC1( decoder_t *p_dec, block_t **pp_block )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cc_storage_get_current
      Src: /src/vlc/modules/packetizer/h264.c:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_dec
    - p_desc
    argTypes:
    - decoder_t*
    - decoder_cc_desc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: GetCc
    functionSourceFile: /src/vlc/modules/packetizer/h264.c
    functionUses: 0
    functionsReached:
    - cc_storage_get_current
    linkageType: ''
    returnType: block_t
    signature: block_t *GetCc( decoder_t *p_dec, decoder_cc_desc_t *p_desc )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h264_slice_release
      Src: /src/vlc/modules/packetizer/h264.c:512,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - decoder_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 520
    functionName: ResetOutputVariables
    functionSourceFile: /src/vlc/modules/packetizer/h264.c
    functionUses: 0
    functionsReached:
    - h264_slice_release
    linkageType: ''
    returnType: void
    signature: void ResetOutputVariables( decoder_sys_t *p_sys )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DropStoredNAL
      Src: /src/vlc/modules/packetizer/h264.c:529,1
    - Dst: ResetOutputVariables
      Src: /src/vlc/modules/packetizer/h264.c:530,1
    - Dst: h264_poc_context_init
      Src: /src/vlc/modules/packetizer/h264.c:536,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/h264.c:540,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - p_private
    - b_flush
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 522
    functionDepth: 2
    functionLinenumber: 522
    functionLinenumberEnd: 541
    functionName: PacketizeReset
    functionSourceFile: /src/vlc/modules/packetizer/h264.c
    functionUses: 0
    functionsReached:
    - date_Set
    - h264_poc_context_init
    - DropStoredNAL
    - ResetOutputVariables
    linkageType: ''
    returnType: void
    signature: void PacketizeReset( void *p_private, bool b_flush )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseNALBlock
      Src: /src/vlc/modules/packetizer/h264.c:550,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - p_private
    - pb_ts_used
    - p_block
    argTypes:
    - void*
    - bool*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 551
    functionName: PacketizeParse
    functionSourceFile: /src/vlc/modules/packetizer/h264.c
    functionUses: 0
    functionsReached:
    - ParseNALBlock
    linkageType: ''
    returnType: block_t
    signature: block_t *PacketizeParse( void *p_private, bool *pb_ts_used, block_t
      *p_block )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/packetizer/h264.c:554,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/packetizer/h264.c:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_private
    - p_au
    argTypes:
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 557
    functionName: PacketizeValidate
    functionSourceFile: /src/vlc/modules/packetizer/h264.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int PacketizeValidate( void *p_private, block_t *p_au )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OutputPicture
      Src: /src/vlc/modules/packetizer/h264.c:567,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/h264.c:570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - p_private
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 575
    functionName: PacketizeDrain
    functionSourceFile: /src/vlc/modules/packetizer/h264.c
    functionUses: 0
    functionsReached:
    - block_Release
    - OutputPicture
    linkageType: ''
    returnType: block_t
    signature: block_t * PacketizeDrain( void *p_private )
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: h264_getNALType
      Src: /src/vlc/modules/packetizer/h264.c:586,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/packetizer/h264.c:594,1
    - Dst: DropStoredNAL
      Src: /src/vlc/modules/packetizer/h264.c:597,1
    - Dst: ResetOutputVariables
      Src: /src/vlc/modules/packetizer/h264.c:598,1
    - Dst: cc_storage_reset
      Src: /src/vlc/modules/packetizer/h264.c:599,1
    - Dst: ParseSliceHeader
      Src: /src/vlc/modules/packetizer/h264.c:620,1
    - Dst: h264_slice_copy_idr_id
      Src: /src/vlc/modules/packetizer/h264.c:623,1
    - Dst: h264_IsFirstVCLNALUnit
      Src: /src/vlc/modules/packetizer/h264.c:625,1
    - Dst: HxxxParse_AnnexB_SEI
      Src: /src/vlc/modules/packetizer/h264.c:633,1
    - Dst: OutputPicture
      Src: /src/vlc/modules/packetizer/h264.c:638,1
    - Dst: h264_slice_release
      Src: /src/vlc/modules/packetizer/h264.c:642,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h264.c:651,1
    - Dst: OutputPicture
      Src: /src/vlc/modules/packetizer/h264.c:658,1
    - Dst: DropStoredNAL
      Src: /src/vlc/modules/packetizer/h264.c:661,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h264.c:665,1
    - Dst: OutputPicture
      Src: /src/vlc/modules/packetizer/h264.c:671,1
    - Dst: PutXPS
      Src: /src/vlc/modules/packetizer/h264.c:675,1
    - Dst: PutXPS
      Src: /src/vlc/modules/packetizer/h264.c:677,1
    - Dst: OutputPicture
      Src: /src/vlc/modules/packetizer/h264.c:682,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h264.c:685,1
    - Dst: PutXPS
      Src: /src/vlc/modules/packetizer/h264.c:689,1
    - Dst: OutputPicture
      Src: /src/vlc/modules/packetizer/h264.c:691,1
    - Dst: OutputPicture
      Src: /src/vlc/modules/packetizer/h264.c:700,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h264.c:702,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h264.c:710,1
    - Dst: OutputPicture
      Src: /src/vlc/modules/packetizer/h264.c:715,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h264.c:726,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/h264.c:738,1
    - Dst: OutputPicture
      Src: /src/vlc/modules/packetizer/h264.c:743,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/h264.c:748,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 107
    argCount: 3
    argNames:
    - p_dec
    - pb_ts_used
    - p_frag
    argTypes:
    - decoder_t*
    - bool*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 581
    functionDepth: 2
    functionLinenumber: 581
    functionLinenumberEnd: 753
    functionName: ParseNALBlock
    functionSourceFile: /src/vlc/modules/packetizer/h264.c
    functionUses: 6
    functionsReached:
    - block_Release
    - DropStoredNAL
    - PutXPS
    - h264_getNALType
    - date_Set
    - OutputPicture
    - ParseSliceHeader
    - HxxxParse_AnnexB_SEI
    - h264_slice_copy_idr_id
    - h264_IsFirstVCLNALUnit
    - ResetOutputVariables
    - h264_slice_release
    - block_ChainLastAppend
    - msg_Warn
    - cc_storage_reset
    linkageType: ''
    returnType: block_t
    signature: block_t *ParseNALBlock( decoder_t *p_dec, bool *pb_ts_used, block_t
      *p_frag )
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/packetizer/h264.c:761,1
    - Dst: assert
      Src: /src/vlc/modules/packetizer/h264.c:763,1
    - Dst: DropStoredNAL
      Src: /src/vlc/modules/packetizer/h264.c:764,1
    - Dst: ResetOutputVariables
      Src: /src/vlc/modules/packetizer/h264.c:765,1
    - Dst: cc_storage_reset
      Src: /src/vlc/modules/packetizer/h264.c:766,1
    - Dst: DropStoredNAL
      Src: /src/vlc/modules/packetizer/h264.c:775,1
    - Dst: ResetOutputVariables
      Src: /src/vlc/modules/packetizer/h264.c:776,1
    - Dst: cc_storage_reset
      Src: /src/vlc/modules/packetizer/h264.c:777,1
    - Dst: h264_get_slice_type
      Src: /src/vlc/modules/packetizer/h264.c:782,1
    - Dst: h264_get_slice_type
      Src: /src/vlc/modules/packetizer/h264.c:788,1
    - Dst: h264_get_frame_num
      Src: /src/vlc/modules/packetizer/h264.c:791,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/h264.c:800,1
    - Dst: assert
      Src: /src/vlc/modules/packetizer/h264.c:805,1
    - Dst: h264_get_max_frame_num
      Src: /src/vlc/modules/packetizer/h264.c:806,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/h264.c:816,1
    - Dst: GatherSets
      Src: /src/vlc/modules/packetizer/h264.c:821,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h264.c:831,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h264.c:835,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h264.c:838,1
    - Dst: assert
      Src: /src/vlc/modules/packetizer/h264.c:840,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/packetizer/h264.c:842,1
    - Dst: block_ChainGather
      Src: /src/vlc/modules/packetizer/h264.c:850,1
    - Dst: ResetOutputVariables
      Src: /src/vlc/modules/packetizer/h264.c:854,1
    - Dst: cc_storage_reset
      Src: /src/vlc/modules/packetizer/h264.c:855,1
    - Dst: h264_compute_poc
      Src: /src/vlc/modules/packetizer/h264.c:864,1
    - Dst: h264_get_num_ts
      Src: /src/vlc/modules/packetizer/h264.c:866,1
    - Dst: h264_is_frames_only
      Src: /src/vlc/modules/packetizer/h264.c:868,1
    - Dst: h264_slice_top_field
      Src: /src/vlc/modules/packetizer/h264.c:876,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/h264.c:903,1
    - Dst: h264_get_slice_type
      Src: /src/vlc/modules/packetizer/h264.c:905,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/h264.c:911,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/h264.c:914,1
    - Dst: date_Increment
      Src: /src/vlc/modules/packetizer/h264.c:918,1
    - Dst: date_Decrement
      Src: /src/vlc/modules/packetizer/h264.c:920,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/h264.c:922,1
    - Dst: h264_CanSwapPTSWithDTS
      Src: /src/vlc/modules/packetizer/h264.c:928,1
    - Dst: h264_get_slice_type
      Src: /src/vlc/modules/packetizer/h264.c:932,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/h264.c:933,1
    - Dst: date_Increment
      Src: /src/vlc/modules/packetizer/h264.c:937,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/h264.c:938,1
    - Dst: h264_CanSwapPTSWithDTS
      Src: /src/vlc/modules/packetizer/h264.c:942,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/h264.c:945,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/h264.c:946,1
    - Dst: date_Increment
      Src: /src/vlc/modules/packetizer/h264.c:958,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/h264.c:959,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/h264.c:959,1
    - Dst: msg_Err
      Src: /src/vlc/modules/packetizer/h264.c:963,1
    - Dst: h264_get_slice_type
      Src: /src/vlc/modules/packetizer/h264.c:965,1
    - Dst: h264_get_nal_ref_idc
      Src: /src/vlc/modules/packetizer/h264.c:966,1
    - Dst: h264_get_frame_num
      Src: /src/vlc/modules/packetizer/h264.c:966,1
    - Dst: h264_is_field_pic
      Src: /src/vlc/modules/packetizer/h264.c:967,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/packetizer/h264.c:968,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/h264.c:972,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/h264.c:975,1
    - Dst: date_Increment
      Src: /src/vlc/modules/packetizer/h264.c:977,1
    - Dst: h264_get_slice_type
      Src: /src/vlc/modules/packetizer/h264.c:986,1
    - Dst: ResetOutputVariables
      Src: /src/vlc/modules/packetizer/h264.c:1011,1
    - Dst: cc_storage_commit
      Src: /src/vlc/modules/packetizer/h264.c:1014,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 146
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts:
    - condition: ( p_sys->frame.p_head )
      pos:
        line_end: 762
        line_start: 762
        source_file: /src/vlc/modules/packetizer/h264.c
    - condition: (p_sys->b_recovered == false)
      pos:
        line_end: 804
        line_start: 804
        source_file: /src/vlc/modules/packetizer/h264.c
    - condition: ( p_sys->frame.p_head )
      pos:
        line_end: 839
        line_start: 839
        source_file: /src/vlc/modules/packetizer/h264.c
    constantsTouched: []
    func_position:
      end: 1017
      start: 755
    functionDepth: 2
    functionLinenumber: 755
    functionLinenumberEnd: 1017
    functionName: OutputPicture
    functionSourceFile: /src/vlc/modules/packetizer/h264.c
    functionUses: 2
    functionsReached:
    - DropStoredNAL
    - assert
    - h264_get_max_frame_num
    - h264_is_field_pic
    - ResetOutputVariables
    - h264_get_slice_type
    - date_Increment
    - cc_storage_commit
    - msg_Err
    - h264_slice_top_field
    - msg_Dbg
    - h264_compute_poc
    - date_Get
    - block_ChainGather
    - h264_get_nal_ref_idc
    - h264_CanSwapPTSWithDTS
    - VLC_TICK_FROM_SEC
    - date_Set
    - block_ChainLastAppend
    - date_Decrement
    - h264_get_num_ts
    - h264_is_frames_only
    - unlikely
    - h264_get_frame_num
    - GatherSets
    - cc_storage_reset
    linkageType: ''
    returnType: block_t
    signature: block_t *OutputPicture( decoder_t *p_dec )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/packetizer/h264.c:1023,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - p_ref
    - p_nal
    argTypes:
    - block_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1024
    functionName: CmpXPS
    functionSourceFile: /src/vlc/modules/packetizer/h264.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int CmpXPS( const block_t *p_ref, const block_t *p_nal )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - funcname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1029
    functionName: wrap_h264_xps_decode
    functionSourceFile: /src/vlc/modules/packetizer/h264.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wrap_h264_xps_decode(funcname )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - funcname
    - ','
    - typecast
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1035
    functionName: wrap_h264_xps_release
    functionSourceFile: /src/vlc/modules/packetizer/h264.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wrap_h264_xps_release(funcname, typecast)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/h264.c:1045,1
    - Dst: h264_release_sps
      Src: /src/vlc/modules/packetizer/h264.c:1046,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/h264.c:1052,1
    - Dst: h264_release_pps
      Src: /src/vlc/modules/packetizer/h264.c:1053,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/h264.c:1058,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - decoder_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1039
    functionDepth: 1
    functionLinenumber: 1039
    functionLinenumberEnd: 1062
    functionName: ReleaseXPS
    functionSourceFile: /src/vlc/modules/packetizer/h264.c
    functionUses: 1
    functionsReached:
    - block_Release
    - h264_release_pps
    - h264_release_sps
    linkageType: ''
    returnType: void
    signature: void ReleaseXPS( decoder_sys_t *p_sys )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_strip_AnnexB_startcode
      Src: /src/vlc/modules/packetizer/h264.c:1069,1
    - Dst: h264_get_xps_id
      Src: /src/vlc/modules/packetizer/h264.c:1071,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/h264.c:1073,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/h264.c:1109,1
    - Dst: CmpXPS
      Src: /src/vlc/modules/packetizer/h264.c:1113,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/h264.c:1115,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/h264.c:1119,1
    - Dst: pf_decode_xps
      Src: /src/vlc/modules/packetizer/h264.c:1123,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/h264.c:1126,1
    - Dst: pf_release_xps
      Src: /src/vlc/modules/packetizer/h264.c:1133,1
    - Dst: block_Release
      Src: /src/vlc/modules/packetizer/h264.c:1139,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 3
    argNames:
    - p_dec
    - i_nal_type
    - p_frag
    argTypes:
    - decoder_t*
    - uint8_t
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1064
    functionDepth: 2
    functionLinenumber: 1064
    functionLinenumberEnd: 1143
    functionName: PutXPS
    functionSourceFile: /src/vlc/modules/packetizer/h264.c
    functionUses: 1
    functionsReached:
    - block_Release
    - CmpXPS
    - msg_Dbg
    - pf_release_xps
    - h264_get_xps_id
    - pf_decode_xps
    - hxxx_strip_AnnexB_startcode
    linkageType: ''
    returnType: bool
    signature: bool PutXPS( decoder_t *p_dec, uint8_t i_nal_type, block_t *p_frag
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h264_get_pps_sps_id
      Src: /src/vlc/modules/packetizer/h264.c:1155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - i_pps_id
    - priv
    - pp_sps
    - pp_pps
    argTypes:
    - uint8_t
    - void*
    - h264_sequence_parameter_set_t**
    - h264_picture_parameter_set_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1145
    functionDepth: 1
    functionLinenumber: 1145
    functionLinenumberEnd: 1156
    functionName: GetSPSPPS
    functionSourceFile: /src/vlc/modules/packetizer/h264.c
    functionUses: 0
    functionsReached:
    - h264_get_pps_sps_id
    linkageType: ''
    returnType: void
    signature: "void GetSPSPPS( uint8_t i_pps_id, void *priv,\n                       const
      h264_sequence_parameter_set_t **pp_sps,\n                       const h264_picture_parameter_set_t
      **pp_pps )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_strip_AnnexB_startcode
      Src: /src/vlc/modules/packetizer/h264.c:1165,1
    - Dst: h264_decode_slice
      Src: /src/vlc/modules/packetizer/h264.c:1168,1
    - Dst: GetSPSPPS
      Src: /src/vlc/modules/packetizer/h264.c:1174,1
    - Dst: h264_get_slice_pps_id
      Src: /src/vlc/modules/packetizer/h264.c:1174,1
    - Dst: unlikely
      Src: /src/vlc/modules/packetizer/h264.c:1175,1
    - Dst: h264_slice_release
      Src: /src/vlc/modules/packetizer/h264.c:1177,1
    - Dst: ActivateSets
      Src: /src/vlc/modules/packetizer/h264.c:1181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - p_dec
    - p_frag
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1158
    functionDepth: 2
    functionLinenumber: 1158
    functionLinenumberEnd: 1184
    functionName: ParseSliceHeader
    functionSourceFile: /src/vlc/modules/packetizer/h264.c
    functionUses: 1
    functionsReached:
    - h264_get_slice_pps_id
    - ActivateSets
    - GetSPSPPS
    - h264_slice_release
    - hxxx_strip_AnnexB_startcode
    - unlikely
    - h264_decode_slice
    linkageType: ''
    returnType: h264_slice_t
    signature: h264_slice_t * ParseSliceHeader( decoder_t *p_dec, const block_t *p_frag
      )
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/packetizer/h264.c:1197,1
    - Dst: assert
      Src: /src/vlc/modules/packetizer/h264.c:1199,1
    - Dst: h264_decode_sei_pic_timing
      Src: /src/vlc/modules/packetizer/h264.c:1203,1
    - Dst: cc_storage_append
      Src: /src/vlc/modules/packetizer/h264.c:1213,1
    - Dst: h264_decode_sei_recovery_point
      Src: /src/vlc/modules/packetizer/h264.c:1250,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/packetizer/h264.c:1252,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 2
    argNames:
    - p_sei_data
    - cbdata
    argTypes:
    - hxxx_sei_data_t*
    - void*
    assertStmts:
    - condition: ( p_sps )
      pos:
        line_end: 1198
        line_start: 1198
        source_file: /src/vlc/modules/packetizer/h264.c
    constantsTouched: []
    func_position:
      end: 1263
      start: 1186
    functionDepth: 2
    functionLinenumber: 1186
    functionLinenumberEnd: 1263
    functionName: ParseSeiCallback
    functionSourceFile: /src/vlc/modules/packetizer/h264.c
    functionUses: 0
    functionsReached:
    - assert
    - cc_storage_append
    - h264_decode_sei_recovery_point
    - msg_Dbg
    - unlikely
    - h264_decode_sei_pic_timing
    linkageType: ''
    returnType: bool
    signature: bool ParseSeiCallback( const hxxx_sei_data_t *p_sei_data, void *cbdata
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:44,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:48,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:49,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:50,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:53,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:56,1
    - Dst: bs_align
      Src: /src/vlc/modules/packetizer/h266_nal.c:59,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/h266_nal.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - p_bs
    - ptl
    argTypes:
    - bs_t*
    - h266_profile_tier_level_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 62
    functionName: h266_parse_general_constraint_info
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 0
    functionsReached:
    - bs_read1
    - bs_skip
    - bs_read
    - bs_error
    - bs_align
    linkageType: ''
    returnType: bool
    signature: bool h266_parse_general_constraint_info(bs_t *p_bs, h266_profile_tier_level_t
      *ptl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:75,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:76,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:78,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:79,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:80,1
    - Dst: h266_parse_general_constraint_info
      Src: /src/vlc/modules/packetizer/h266_nal.c:83,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:88,1
    - Dst: bs_align
      Src: /src/vlc/modules/packetizer/h266_nal.c:90,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:95,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:100,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:102,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/h266_nal.c:105,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 4
    argNames:
    - p_bs
    - profileTierPresentFlag
    - maxNumSubLayersMinus1
    - p
    argTypes:
    - bs_t*
    - nal_u1_t
    - nal_u8_t
    - h266_profile_tier_level_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 106
    functionName: h266_parse_profile_tier_level
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 0
    functionsReached:
    - bs_read1
    - bs_read
    - h266_parse_general_constraint_info
    - bs_error
    - bs_align
    linkageType: ''
    returnType: bool
    signature: "bool h266_parse_profile_tier_level(bs_t *p_bs,\n                                          nal_u1_t
      profileTierPresentFlag,\n                                          nal_u8_t
      maxNumSubLayersMinus1,\n                                          h266_profile_tier_level_t
      *p)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:246,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:247,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:248,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:249,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:253,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:254,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:256,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:257,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:258,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:260,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:261,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/h266_nal.c:266,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - p_bs
    - p_hrd
    argTypes:
    - bs_t*
    - h266_general_hrd_parameters_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 267
    functionName: h266_parse_general_hrd_parameters
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 0
    functionsReached:
    - bs_read1
    - bs_skip
    - bs_read
    - bs_read_ue
    - bs_error
    linkageType: ''
    returnType: bool
    signature: "bool h266_parse_general_hrd_parameters(bs_t *p_bs,\n                                              h266_general_hrd_parameters_t
      *p_hrd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:274,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:275,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:278,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:279,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:281,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/h266_nal.c:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - p_bs
    - p_hrd
    argTypes:
    - bs_t*
    - h266_general_hrd_parameters_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 284
    functionName: h266_parse_sublayer_hrd_parameters
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 0
    functionsReached:
    - bs_error
    - bs_skip
    - bs_read_ue
    linkageType: ''
    returnType: bool
    signature: "bool h266_parse_sublayer_hrd_parameters(bs_t *p_bs,\n                                               const
      h266_general_hrd_parameters_t *p_hrd)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:294,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:295,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:297,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:300,1
    - Dst: h266_parse_sublayer_hrd_parameters
      Src: /src/vlc/modules/packetizer/h266_nal.c:302,1
    - Dst: h266_parse_sublayer_hrd_parameters
      Src: /src/vlc/modules/packetizer/h266_nal.c:304,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/h266_nal.c:306,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - p_bs
    - firstSubLayer
    - MaxSubLayersVal
    - p_hrd
    argTypes:
    - bs_t*
    - unsigned
    - unsigned
    - h266_general_hrd_parameters_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 307
    functionName: h266_parse_ols_timing_hrd_parameters
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 0
    functionsReached:
    - bs_read1
    - bs_skip
    - bs_error
    - bs_read_ue
    - h266_parse_sublayer_hrd_parameters
    linkageType: ''
    returnType: bool
    signature: "bool h266_parse_ols_timing_hrd_parameters(bs_t *p_bs,\n                                                 unsigned
      firstSubLayer,\n                                                 unsigned MaxSubLayersVal,\n
      \                                                const h266_general_hrd_parameters_t
      *p_hrd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:318,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:319,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:320,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/h266_nal.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - p_bs
    - sps_max_sublayers_minus1
    - sublayer_info_flag
    - p
    argTypes:
    - bs_t*
    - nal_u3_t
    - nal_u1_t
    - h266_dpb_parameters_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 323
    functionName: h266_parse_dpb_parameters
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 0
    functionsReached:
    - bs_error
    - bs_read_ue
    linkageType: ''
    returnType: bool
    signature: "bool h266_parse_dpb_parameters(bs_t *p_bs,\n                                      nal_u3_t
      sps_max_sublayers_minus1,\n                                      nal_u1_t sublayer_info_flag,\n
      \                                     h266_dpb_parameters_t p[H266_MAX_NUM_PTL_SUBLAYERS])"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/packetizer/h266_nal.c:328,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:329,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:330,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:331,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:332,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:335,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:336,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:339,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:340,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:343,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:345,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:346,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:349,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:350,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:351,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:352,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:360,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:364,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:367,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:368,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/h266_nal.c:371,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 3
    argNames:
    - p_bs
    - payloadSize
    - p_vui
    argTypes:
    - bs_t*
    - nal_ue_t
    - h266_vui_parameters_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 372
    functionName: h266_parse_vui_parameters
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 0
    functionsReached:
    - bs_read1
    - bs_skip
    - bs_read
    - bs_read_ue
    - bs_error
    - VLC_UNUSED
    linkageType: ''
    returnType: bool
    signature: "bool h266_parse_vui_parameters(bs_t *p_bs, nal_ue_t payloadSize,\n
      \                                     h266_vui_parameters_t *p_vui)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:377,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:380,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:381,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:387,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:388,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:392,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:395,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:397,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:400,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:401,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:411,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:416,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:419,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:421,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:425,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:431,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:435,1
    - Dst: bs_align
      Src: /src/vlc/modules/packetizer/h266_nal.c:438,1
    - Dst: h266_parse_profile_tier_level
      Src: /src/vlc/modules/packetizer/h266_nal.c:442,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:462,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:467,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:472,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:479,1
    - Dst: h266_parse_dpb_parameters
      Src: /src/vlc/modules/packetizer/h266_nal.c:482,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/h266_nal.c:490,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 74
    argCount: 2
    argNames:
    - p_bs
    - p_vps
    argTypes:
    - bs_t*
    - h266_video_parameter_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 374
    functionDepth: 3
    functionLinenumber: 374
    functionLinenumberEnd: 491
    functionName: h266_parse_video_parameter_set_rbsp
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 0
    functionsReached:
    - bs_read1
    - bs_skip
    - h266_parse_dpb_parameters
    - h266_parse_profile_tier_level
    - bs_read
    - bs_read_ue
    - bs_error
    - bs_align
    linkageType: ''
    returnType: bool
    signature: "bool h266_parse_video_parameter_set_rbsp(bs_t *p_bs,\n                                                h266_video_parameter_set_t
      *p_vps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/packetizer/h266_nal.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_vps
    argTypes:
    - h266_video_parameter_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 496
    functionName: h266_rbsp_release_vps
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void h266_rbsp_release_vps(h266_video_parameter_set_t *p_vps)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/packetizer/h266_nal.c:502,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:503,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:509,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:515,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:520,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:523,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:530,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:534,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:539,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/h266_nal.c:544,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 5
    argNames:
    - p_bs
    - sps_num_ref_pic_lists
    - listIdx
    - rplsIdx
    - p_sps
    argTypes:
    - bs_t*
    - nal_ue_t
    - unsigned
    - unsigned
    - h266_sequence_parameter_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 545
    functionName: h266_parse_pic_reflist
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 0
    functionsReached:
    - bs_read1
    - bs_skip
    - bs_read_ue
    - bs_error
    - VLC_UNUSED
    linkageType: ''
    returnType: bool
    signature: "bool h266_parse_pic_reflist(bs_t *p_bs, nal_ue_t sps_num_ref_pic_lists,\n
      \                                  unsigned listIdx, unsigned rplsIdx,\n                                   h266_sequence_parameter_set_t
      *p_sps)"
  - BBCount: 69
    BranchProfiles: []
    Callsites:
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:550,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:551,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:552,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:555,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:556,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:557,1
    - Dst: h266_parse_profile_tier_level
      Src: /src/vlc/modules/packetizer/h266_nal.c:559,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:568,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:569,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:570,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:572,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:573,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:574,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:577,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:578,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:579,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:580,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:583,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:585,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:592,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:593,1
    - Dst: ceil
      Src: /src/vlc/modules/packetizer/h266_nal.c:602,1
    - Dst: vlc_log2
      Src: /src/vlc/modules/packetizer/h266_nal.c:602,1
    - Dst: ceil
      Src: /src/vlc/modules/packetizer/h266_nal.c:603,1
    - Dst: vlc_log2
      Src: /src/vlc/modules/packetizer/h266_nal.c:603,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:605,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:607,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:610,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:613,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:617,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:618,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:622,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:625,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:627,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:630,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:635,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:639,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:640,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:644,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:647,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:652,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:653,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:654,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:654,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:660,1
    - Dst: h266_parse_dpb_parameters
      Src: /src/vlc/modules/packetizer/h266_nal.c:661,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:668,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:669,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:670,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:671,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:673,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:674,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:679,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:682,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:683,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:685,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:686,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:690,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:691,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:693,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:694,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:699,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:701,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:704,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:705,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:708,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:710,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:711,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:714,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:718,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:719,1
    - Dst: bs_read_se
      Src: /src/vlc/modules/packetizer/h266_nal.c:725,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:728,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:733,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:734,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:739,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:740,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:741,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:743,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:744,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:745,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:747,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:750,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:752,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:753,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:756,1
    - Dst: h266_parse_pic_reflist
      Src: /src/vlc/modules/packetizer/h266_nal.c:760,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:764,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:765,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:766,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:768,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:769,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:770,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:772,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:773,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:774,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:776,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:777,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:779,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:782,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:783,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:785,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:786,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:788,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:789,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:790,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:793,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:797,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:798,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:802,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:803,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:805,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:807,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:808,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:810,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:812,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:813,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:814,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:815,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:817,1
    - Dst: bs_read_se
      Src: /src/vlc/modules/packetizer/h266_nal.c:818,1
    - Dst: bs_read_se
      Src: /src/vlc/modules/packetizer/h266_nal.c:821,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:822,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:826,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:829,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:831,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:832,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:835,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:836,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:838,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:840,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:844,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:845,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:849,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:856,1
    - Dst: h266_parse_general_hrd_parameters
      Src: /src/vlc/modules/packetizer/h266_nal.c:858,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:861,1
    - Dst: h266_parse_ols_timing_hrd_parameters
      Src: /src/vlc/modules/packetizer/h266_nal.c:863,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:870,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:873,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:876,1
    - Dst: bs_align
      Src: /src/vlc/modules/packetizer/h266_nal.c:877,1
    - Dst: h266_parse_vui_parameters
      Src: /src/vlc/modules/packetizer/h266_nal.c:878,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/h266_nal.c:882,1
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 218
    argCount: 2
    argNames:
    - p_bs
    - p_sps
    argTypes:
    - bs_t*
    - h266_sequence_parameter_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 547
    functionDepth: 3
    functionLinenumber: 547
    functionLinenumberEnd: 883
    functionName: h266_parse_sequence_parameter_set_rbsp
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 0
    functionsReached:
    - vlc_log2
    - bs_skip
    - bs_read1
    - ceil
    - h266_parse_pic_reflist
    - h266_parse_dpb_parameters
    - h266_parse_profile_tier_level
    - bs_read
    - h266_parse_vui_parameters
    - bs_read_se
    - bs_read_ue
    - h266_parse_ols_timing_hrd_parameters
    - h266_parse_general_hrd_parameters
    - bs_error
    - bs_align
    linkageType: ''
    returnType: bool
    signature: "bool h266_parse_sequence_parameter_set_rbsp(bs_t *p_bs,\n                                                   h266_sequence_parameter_set_t
      *p_sps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/packetizer/h266_nal.c:887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_sps
    argTypes:
    - h266_sequence_parameter_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 888
    functionName: h266_rbsp_release_sps
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void h266_rbsp_release_sps(h266_sequence_parameter_set_t *p_sps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:893,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:894,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:895,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:896,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:897,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:898,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:901,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:902,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:903,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:904,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/h266_nal.c:906,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - p_bs
    - p_pps
    argTypes:
    - bs_t*
    - h266_picture_parameter_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 890
    functionDepth: 1
    functionLinenumber: 890
    functionLinenumberEnd: 907
    functionName: h266_parse_picture_parameter_set_rbsp
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 0
    functionsReached:
    - bs_skip
    - bs_read1
    - bs_read
    - bs_read_ue
    - bs_error
    linkageType: ''
    returnType: bool
    signature: "bool h266_parse_picture_parameter_set_rbsp(bs_t *p_bs,\n                                                  h266_picture_parameter_set_t
      *p_pps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/packetizer/h266_nal.c:911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_pps
    argTypes:
    - h266_picture_parameter_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 912
    functionName: h266_rbsp_release_pps
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void h266_rbsp_release_pps(h266_picture_parameter_set_t *p_pps)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:917,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:919,1
    - Dst: h266_parse_profile_tier_level
      Src: /src/vlc/modules/packetizer/h266_nal.c:924,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/h266_nal.c:928,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - p_bs
    - p_dci
    argTypes:
    - bs_t*
    - h266_decoding_capability_information_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 914
    functionDepth: 3
    functionLinenumber: 914
    functionLinenumberEnd: 929
    functionName: h266_parse_decoding_capability_information_rbsp
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 0
    functionsReached:
    - bs_error
    - h266_parse_profile_tier_level
    - bs_read
    linkageType: ''
    returnType: bool
    signature: "bool h266_parse_decoding_capability_information_rbsp(bs_t *p_bs,\n
      \                         h266_decoding_capability_information_t *p_dci)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/packetizer/h266_nal.c:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_dci
    argTypes:
    - h266_decoding_capability_information_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 934
    functionName: h266_rbsp_release_dci
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void h266_rbsp_release_dci(h266_decoding_capability_information_t *p_dci)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - decode
    - ','
    - release
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 950
    functionName: IMPL_h266_generic_decode
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPL_h266_generic_decode(name, type, decode, release)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:975,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:976,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:978,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:979,1
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:981,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:984,1
    - Dst: get_matchedxps
      Src: /src/vlc/modules/packetizer/h266_nal.c:990,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:993,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/packetizer/h266_nal.c:995,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:996,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:999,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:1001,1
    - Dst: bs_error
      Src: /src/vlc/modules/packetizer/h266_nal.c:1003,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - p_bs
    - get_matchedxps
    - priv
    - ph
    argTypes:
    - bs_t*
    - pf_get_matchedh266xps
    - void*
    - h266_picture_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 1004
    functionName: h266_parse_picture_header_rbsp
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 0
    functionsReached:
    - bs_read1
    - bs_skip
    - bs_read
    - bs_read_ue
    - bs_error
    - get_matchedxps
    linkageType: ''
    returnType: bool
    signature: "bool h266_parse_picture_header_rbsp(bs_t *p_bs,\n                                           pf_get_matchedh266xps
      get_matchedxps, void *priv,\n                                           h266_picture_header_t
      *ph)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/packetizer/h266_nal.c:1008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ph
    argTypes:
    - h266_picture_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1009
    functionName: h266_rbsp_release_picture_header
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void h266_rbsp_release_picture_header(h266_picture_header_t *ph)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/packetizer/h266_nal.c:1015,1
    - Dst: likely
      Src: /src/vlc/modules/packetizer/h266_nal.c:1016,1
    - Dst: hxxx_bsfw_ep3b_ctx_init
      Src: /src/vlc/modules/packetizer/h266_nal.c:1022,1
    - Dst: bs_init_custom
      Src: /src/vlc/modules/packetizer/h266_nal.c:1023,1
    - Dst: bs_init
      Src: /src/vlc/modules/packetizer/h266_nal.c:1025,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:1026,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:1027,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:1028,1
    - Dst: pf_parse_rbsp
      Src: /src/vlc/modules/packetizer/h266_nal.c:1029,1
    - Dst: h266_rbsp_release_picture_header
      Src: /src/vlc/modules/packetizer/h266_nal.c:1031,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - p_buf
    - i_buf
    - b_escaped
    - get_matchedxps
    - priv
    argTypes:
    - uint8_t*
    - size_t
    - bool
    - pf_get_matchedh266xps
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1011
    functionDepth: 1
    functionLinenumber: 1011
    functionLinenumberEnd: 1036
    functionName: h266_decode_pictureorslice_header
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 0
    functionsReached:
    - hxxx_bsfw_ep3b_ctx_init
    - bs_skip
    - bs_init_custom
    - bs_read
    - calloc
    - h266_rbsp_release_picture_header
    - likely
    - bs_init
    - pf_parse_rbsp
    linkageType: ''
    returnType: h266_picture_header_t
    signature: "h266_picture_header_t * h266_decode_pictureorslice_header(const uint8_t
      *p_buf, size_t i_buf, bool b_escaped,\n                                                                 pf_get_matchedh266xps
      get_matchedxps, void *priv,\n                                bool (*pf_parse_rbsp)(bs_t
      *, pf_get_matchedh266xps, void *, h266_picture_header_t *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h266_decode_pictureorslice_header
      Src: /src/vlc/modules/packetizer/h266_nal.c:1041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - p_buf
    - i_buf
    - b_escaped
    - get_matchedxps
    - priv
    argTypes:
    - uint8_t*
    - size_t
    - bool
    - pf_get_matchedh266xps
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1038
    functionDepth: 2
    functionLinenumber: 1038
    functionLinenumberEnd: 1043
    functionName: h266_decode_picture_header
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 0
    functionsReached:
    - h266_decode_pictureorslice_header
    linkageType: ''
    returnType: h266_picture_header_t
    signature: "h266_picture_header_t * h266_decode_picture_header(const uint8_t *p_buf,
      size_t i_buf, bool b_escaped,\n                                                   pf_get_matchedh266xps
      get_matchedxps, void *priv)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bs_read1
      Src: /src/vlc/modules/packetizer/h266_nal.c:1049,1
    - Dst: h266_parse_picture_header_rbsp
      Src: /src/vlc/modules/packetizer/h266_nal.c:1051,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - p_bs
    - get_matchedxps
    - priv
    - ph
    argTypes:
    - bs_t*
    - pf_get_matchedh266xps
    - void*
    - h266_picture_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1045
    functionDepth: 2
    functionLinenumber: 1045
    functionLinenumberEnd: 1052
    functionName: h266_parse_slice_header_rbsp
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 0
    functionsReached:
    - h266_parse_picture_header_rbsp
    - bs_read1
    linkageType: ''
    returnType: bool
    signature: "bool h266_parse_slice_header_rbsp(bs_t *p_bs,\n                                         pf_get_matchedh266xps
      get_matchedxps, void *priv,\n                                         h266_picture_header_t
      *ph)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h266_decode_pictureorslice_header
      Src: /src/vlc/modules/packetizer/h266_nal.c:1057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - p_buf
    - i_buf
    - b_escaped
    - get_matchedxps
    - priv
    argTypes:
    - uint8_t*
    - size_t
    - bool
    - pf_get_matchedh266xps
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1054
    functionDepth: 2
    functionLinenumber: 1054
    functionLinenumberEnd: 1059
    functionName: h266_decode_slice_header
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 0
    functionsReached:
    - h266_decode_pictureorslice_header
    linkageType: ''
    returnType: h266_picture_header_t
    signature: "h266_picture_header_t * h266_decode_slice_header(const uint8_t *p_buf,
      size_t i_buf, bool b_escaped,\n                                                 pf_get_matchedh266xps
      get_matchedxps, void *priv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_sps
    argTypes:
    - h266_sequence_parameter_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1064
    functionName: h266_get_sps_vps_id
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t h266_get_sps_vps_id(const h266_sequence_parameter_set_t *p_sps)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_pps
    argTypes:
    - h266_picture_parameter_set_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1069
    functionName: h266_get_pps_sps_id
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t h266_get_pps_sps_id(const h266_picture_parameter_set_t *p_pps)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ph
    argTypes:
    - h266_picture_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1074
    functionName: h266_get_picture_header_pps_id
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t h266_get_picture_header_pps_id(const h266_picture_header_t
      *ph)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ph
    argTypes:
    - h266_picture_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1079
    functionName: h266_get_picture_header_poc_lsb
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t h266_get_picture_header_poc_lsb(const h266_picture_header_t
      *ph)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: h266_getNALType
      Src: /src/vlc/modules/packetizer/h266_nal.c:1087,1
    - Dst: bs_init
      Src: /src/vlc/modules/packetizer/h266_nal.c:1089,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:1092,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:1098,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - p_buf
    - i_buf
    - pi_id
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1082
    functionDepth: 1
    functionLinenumber: 1082
    functionLinenumberEnd: 1108
    functionName: h266_get_xps_id
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 1
    functionsReached:
    - bs_init
    - bs_read
    - h266_getNALType
    linkageType: ''
    returnType: bool
    signature: bool h266_get_xps_id(const uint8_t *p_buf, size_t i_buf, uint8_t *pi_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - p_dci
    - p_sps
    - pi_profile
    - pi_level
    argTypes:
    - h266_decoding_capability_information_t*
    - h266_sequence_parameter_set_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1127
    functionName: h266_get_profile_tier_level
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool h266_get_profile_tier_level(const h266_decoding_capability_information_t
      *p_dci,\n                                 const h266_sequence_parameter_set_t
      *p_sps,\n                                 uint8_t *pi_profile, uint8_t *pi_level)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h26x_get_picture_size
      Src: /src/vlc/modules/packetizer/h266_nal.c:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - p_sps
    - p_ox
    - p_oy
    - p_w
    - p_h
    - p_vw
    - p_vh
    argTypes:
    - h266_sequence_parameter_set_t*
    - unsigned*
    - unsigned*
    - unsigned*
    - unsigned*
    - unsigned*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1129
    functionDepth: 2
    functionLinenumber: 1129
    functionLinenumberEnd: 1139
    functionName: h266_get_picture_size
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 1
    functionsReached:
    - h26x_get_picture_size
    linkageType: ''
    returnType: bool
    signature: "bool h266_get_picture_size(const h266_sequence_parameter_set_t *p_sps,\n
      \                          unsigned *p_ox, unsigned *p_oy,\n                           unsigned
      *p_w, unsigned *p_h,\n                           unsigned *p_vw, unsigned *p_vh)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/packetizer/h266_nal.c:1145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - p_sps
    - p_vps
    - pi_num
    - pi_den
    argTypes:
    - h266_sequence_parameter_set_t*
    - h266_video_parameter_set_t*
    - unsigned*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1141
    functionDepth: 1
    functionLinenumber: 1141
    functionLinenumberEnd: 1154
    functionName: h266_get_frame_rate
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 1
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: bool
    signature: "bool h266_get_frame_rate(const h266_sequence_parameter_set_t *p_sps,\n
      \                        const h266_video_parameter_set_t *p_vps,\n                         unsigned
      *pi_num, unsigned *pi_den)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h26x_get_aspect_ratio
      Src: /src/vlc/modules/packetizer/h266_nal.c:1161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - p_sps
    - num
    - den
    argTypes:
    - h266_sequence_parameter_set_t*
    - unsigned*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1156
    functionDepth: 1
    functionLinenumber: 1156
    functionLinenumberEnd: 1162
    functionName: h266_get_aspect_ratio
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 1
    functionsReached:
    - h26x_get_aspect_ratio
    linkageType: ''
    returnType: bool
    signature: "bool h266_get_aspect_ratio(const h266_sequence_parameter_set_t *p_sps,\n
      \                          unsigned *num, unsigned *den)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - p_sps
    - pi_chroma_format
    - pi_depth_luma
    - pi_depth_chroma
    argTypes:
    - h266_sequence_parameter_set_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1173
    functionName: h266_get_chroma_luma
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool h266_get_chroma_luma(const h266_sequence_parameter_set_t *p_sps,\n
      \                         uint8_t *pi_chroma_format,\n                          uint8_t
      *pi_depth_luma, uint8_t *pi_depth_chroma)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h26x_get_colorimetry
      Src: /src/vlc/modules/packetizer/h266_nal.c:1183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - p_sps
    - p_primaries
    - p_transfer
    - p_colorspace
    - p_full_range
    argTypes:
    - h266_sequence_parameter_set_t*
    - video_color_primaries_t*
    - video_transfer_func_t*
    - video_color_space_t*
    - video_color_range_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1175
    functionDepth: 2
    functionLinenumber: 1175
    functionLinenumberEnd: 1185
    functionName: h266_get_colorimetry
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 1
    functionsReached:
    - h26x_get_colorimetry
    linkageType: ''
    returnType: bool
    signature: "bool h266_get_colorimetry(const h266_sequence_parameter_set_t *p_sps,\n
      \                         video_color_primaries_t *p_primaries,\n                          video_transfer_func_t
      *p_transfer,\n                          video_color_space_t *p_colorspace,\n
      \                         video_color_range_t *p_full_range)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ph
    - type
    argTypes:
    - h266_picture_header_t*
    - enum h266_slice_type_e*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1194
    functionName: h266_get_slice_type
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool h266_get_slice_type(const h266_picture_header_t *ph, enum h266_slice_type_e
      *type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/modules/packetizer/h266_nal.c:1223,1
    - Dst: fprintf
      Src: /src/vlc/modules/packetizer/h266_nal.c:1263,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 3
    argNames:
    - p_sps
    - p_ph
    - p_ctx
    argTypes:
    - h266_sequence_parameter_set_t*
    - h266_picture_header_t*
    - h266_poc_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1267
    functionName: h266_compute_picture_order_count
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int h266_compute_picture_order_count(const h266_sequence_parameter_set_t
      *p_sps,\n                                     const h266_picture_header_t *p_ph,\n
      \                                    h266_poc_ctx_t *p_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type
    - ','
    - count
    - ','
    - buffers
    - ','
    - sizes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1271
    functionDepth: 0
    functionLinenumber: 1271
    functionLinenumberEnd: 1282
    functionName: H266_DCR_ADD_NALS
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H266_DCR_ADD_NALS(type, count, buffers, sizes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - count
    - ','
    - sizes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1290
    functionName: H266_DCR_ADD_SIZES
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H266_DCR_ADD_SIZES(count, sizes)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: h266_decode_sps
      Src: /src/vlc/modules/packetizer/h266_nal.c:1314,1
    - Dst: h266_get_picture_size
      Src: /src/vlc/modules/packetizer/h266_nal.c:1327,1
    - Dst: h266_rbsp_release_sps
      Src: /src/vlc/modules/packetizer/h266_nal.c:1332,1
    - Dst: h266_gci_num_constraint_bytes
      Src: /src/vlc/modules/packetizer/h266_nal.c:1340,1
    - Dst: __MAX
      Src: /src/vlc/modules/packetizer/h266_nal.c:1346,1
    - Dst: H266_DCR_ADD_SIZES
      Src: /src/vlc/modules/packetizer/h266_nal.c:1365,1
    - Dst: H266_DCR_ADD_SIZES
      Src: /src/vlc/modules/packetizer/h266_nal.c:1366,1
    - Dst: H266_DCR_ADD_SIZES
      Src: /src/vlc/modules/packetizer/h266_nal.c:1367,1
    - Dst: H266_DCR_ADD_SIZES
      Src: /src/vlc/modules/packetizer/h266_nal.c:1368,1
    - Dst: H266_DCR_ADD_SIZES
      Src: /src/vlc/modules/packetizer/h266_nal.c:1369,1
    - Dst: calloc
      Src: /src/vlc/modules/packetizer/h266_nal.c:1371,1
    - Dst: bs_write_init
      Src: /src/vlc/modules/packetizer/h266_nal.c:1382,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/h266_nal.c:1383,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/h266_nal.c:1384,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/h266_nal.c:1385,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/h266_nal.c:1386,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/h266_nal.c:1387,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/h266_nal.c:1388,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/h266_nal.c:1390,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/h266_nal.c:1391,1
    - Dst: __MAX
      Src: /src/vlc/modules/packetizer/h266_nal.c:1391,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/h266_nal.c:1392,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/h266_nal.c:1393,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/h266_nal.c:1394,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/h266_nal.c:1396,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/h266_nal.c:1397,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/h266_nal.c:1401,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/h266_nal.c:1405,1
    - Dst: assert
      Src: /src/vlc/modules/packetizer/h266_nal.c:1406,1
    - Dst: bs_aligned
      Src: /src/vlc/modules/packetizer/h266_nal.c:1406,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/h266_nal.c:1410,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/h266_nal.c:1412,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/h266_nal.c:1417,1
    - Dst: assert
      Src: /src/vlc/modules/packetizer/h266_nal.c:1418,1
    - Dst: bs_aligned
      Src: /src/vlc/modules/packetizer/h266_nal.c:1418,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/h266_nal.c:1420,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/h266_nal.c:1424,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/h266_nal.c:1426,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/h266_nal.c:1427,1
    - Dst: bs_write
      Src: /src/vlc/modules/packetizer/h266_nal.c:1428,1
    - Dst: SetWBE
      Src: /src/vlc/modules/packetizer/h266_nal.c:1442,1
    - Dst: memcpy
      Src: /src/vlc/modules/packetizer/h266_nal.c:1443,1
    - Dst: SetWBE
      Src: /src/vlc/modules/packetizer/h266_nal.c:1449,1
    - Dst: memcpy
      Src: /src/vlc/modules/packetizer/h266_nal.c:1450,1
    - Dst: H266_DCR_ADD_NALS
      Src: /src/vlc/modules/packetizer/h266_nal.c:1453,1
    - Dst: H266_DCR_ADD_NALS
      Src: /src/vlc/modules/packetizer/h266_nal.c:1455,1
    - Dst: H266_DCR_ADD_NALS
      Src: /src/vlc/modules/packetizer/h266_nal.c:1457,1
    - Dst: H266_DCR_ADD_NALS
      Src: /src/vlc/modules/packetizer/h266_nal.c:1459,1
    - Dst: H266_DCR_ADD_NALS
      Src: /src/vlc/modules/packetizer/h266_nal.c:1461,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 107
    argCount: 3
    argNames:
    - p_params
    - b_completeness
    - pi_size
    argTypes:
    - struct h266_dcr_params*
    - bool
    - size_t*
    assertStmts:
    - condition: (bs_aligned(&bs))
      pos:
        line_end: 1405
        line_start: 1405
        source_file: /src/vlc/modules/packetizer/h266_nal.c
    - condition: (bs_aligned(&bs))
      pos:
        line_end: 1417
        line_start: 1417
        source_file: /src/vlc/modules/packetizer/h266_nal.c
    constantsTouched: []
    func_position:
      end: 1465
      start: 1291
    functionDepth: 3
    functionLinenumber: 1291
    functionLinenumberEnd: 1465
    functionName: h266_create_DecoderConfigurationRecord
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 1
    functionsReached:
    - assert
    - h266_gci_num_constraint_bytes
    - H266_DCR_ADD_SIZES
    - SetWBE
    - bs_write
    - memcpy
    - bs_write_init
    - calloc
    - __MAX
    - H266_DCR_ADD_NALS
    - h266_rbsp_release_sps
    - bs_aligned
    - h266_decode_sps
    - h266_get_picture_size
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t * h266_create_DecoderConfigurationRecord(const struct h266_dcr_params
      *p_params,\n                                                 bool b_completeness,
      size_t *pi_size)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: h266_getNALType
      Src: /src/vlc/modules/packetizer/h266_nal.c:1473,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 3
    argNames:
    - p_nal
    - i_nal
    - p_params
    argTypes:
    - uint8_t*
    - size_t
    - struct h266_dcr_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1467
    functionDepth: 1
    functionLinenumber: 1467
    functionLinenumberEnd: 1522
    functionName: h266_add_NALtoParams
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 1
    functionsReached:
    - h266_getNALType
    linkageType: ''
    returnType: void
    signature: "void h266_add_NALtoParams(const uint8_t *p_nal, size_t i_nal,\n                          struct
      h266_dcr_params *p_params)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: bs_init
      Src: /src/vlc/modules/packetizer/h266_nal.c:1532,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:1533,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:1534,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:1538,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:1542,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:1543,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:1544,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:1545,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:1546,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:1547,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:1549,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:1550,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:1560,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:1561,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:1562,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:1564,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:1565,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:1569,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:1570,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:1572,1
    - Dst: assert
      Src: /src/vlc/modules/packetizer/h266_nal.c:1574,1
    - Dst: bs_aligned
      Src: /src/vlc/modules/packetizer/h266_nal.c:1574,1
    - Dst: bs_skip
      Src: /src/vlc/modules/packetizer/h266_nal.c:1577,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:1579,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:1582,1
    - Dst: assert
      Src: /src/vlc/modules/packetizer/h266_nal.c:1583,1
    - Dst: bs_aligned
      Src: /src/vlc/modules/packetizer/h266_nal.c:1583,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:1585,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:1587,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:1588,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:1589,1
    - Dst: bs_read
      Src: /src/vlc/modules/packetizer/h266_nal.c:1590,1
    - Dst: bs_aligned
      Src: /src/vlc/modules/packetizer/h266_nal.c:1592,1
    - Dst: bs_eof
      Src: /src/vlc/modules/packetizer/h266_nal.c:1592,1
    - Dst: bs_pos
      Src: /src/vlc/modules/packetizer/h266_nal.c:1594,1
    - Dst: bs_pos
      Src: /src/vlc/modules/packetizer/h266_nal.c:1595,1
    - Dst: GetWBE
      Src: /src/vlc/modules/packetizer/h266_nal.c:1612,1
    - Dst: GetWBE
      Src: /src/vlc/modules/packetizer/h266_nal.c:1621,1
    - Dst: h266_add_NALtoParams
      Src: /src/vlc/modules/packetizer/h266_nal.c:1625,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 81
    argCount: 3
    argNames:
    - p_buf
    - i_buf
    - p_params
    argTypes:
    - uint8_t*
    - size_t
    - struct h266_dcr_params*
    assertStmts:
    - condition: (bs_aligned(&bs))
      pos:
        line_end: 1573
        line_start: 1573
        source_file: /src/vlc/modules/packetizer/h266_nal.c
    - condition: (bs_aligned(&bs))
      pos:
        line_end: 1582
        line_start: 1582
        source_file: /src/vlc/modules/packetizer/h266_nal.c
    constantsTouched: []
    func_position:
      end: 1633
      start: 1524
    functionDepth: 2
    functionLinenumber: 1524
    functionLinenumberEnd: 1633
    functionName: h266_parse_DecoderConfigurationRecord
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 2
    functionsReached:
    - GetWBE
    - bs_skip
    - assert
    - bs_eof
    - bs_read
    - bs_aligned
    - h266_add_NALtoParams
    - bs_pos
    - bs_init
    linkageType: ''
    returnType: bool
    signature: "bool h266_parse_DecoderConfigurationRecord(const uint8_t *p_buf, size_t
      i_buf,\n                                           struct h266_dcr_params *p_params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/packetizer/h266_nal.c:1654,1
    - Dst: malloc
      Src: /src/vlc/modules/packetizer/h266_nal.c:1658,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/packetizer/h266_nal.c:1662,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/packetizer/h266_nal.c:1666,1
    - Dst: memcpy
      Src: /src/vlc/modules/packetizer/h266_nal.c:1667,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - p_params
    - pi_size
    argTypes:
    - struct h266_dcr_params*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1673
      start: 1635
    functionDepth: 1
    functionLinenumber: 1635
    functionLinenumberEnd: 1673
    functionName: h266_create_AnnexbExtradataFromParams
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.c
    functionUses: 2
    functionsReached:
    - malloc
    - SetDWBE
    - ARRAY_SIZE
    - memcpy
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * h266_create_AnnexbExtradataFromParams(const struct h266_dcr_params
      *p_params, size_t *pi_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: H266_CONSTRAINT_BYTES
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H266_CONSTRAINT_BYTES(bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_buf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: h266_getNALType
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: enum h266_nal_unit_type_e
    signature: enum h266_nal_unit_type_e h266_getNALType(const uint8_t *p_buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_buf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: h266_getNALLayer
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t h266_getNALLayer(const uint8_t *p_buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_ctx
    argTypes:
    - h266_poc_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: h266_poc_ctx_init
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void h266_poc_ctx_init(h266_poc_ctx_t *p_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - p_buf
    - i_buf
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: h266_isvvcC
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool h266_isvvcC(const uint8_t *p_buf, size_t i_buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: H266_CONSTRAINT_BYTES
      Src: /src/vlc/modules/packetizer/h266_nal.h:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptl
    argTypes:
    - h266_profile_tier_level_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 229
    functionName: h266_gci_num_constraint_bytes
    functionSourceFile: /src/vlc/modules/packetizer/h266_nal.h
    functionUses: 1
    functionsReached:
    - H266_CONSTRAINT_BYTES
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t h266_gci_num_constraint_bytes(const h266_profile_tier_level_t
      *ptl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/vlc/modules/packetizer/mjpeg.c:52,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - p
    - end
    argTypes:
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: startcode_Find
    functionSourceFile: /src/vlc/modules/packetizer/mjpeg.c
    functionUses: 0
    functionsReached:
    - memchr
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * startcode_Find( const uint8_t *p, const uint8_t *end )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_Packetize
      Src: /src/vlc/modules/packetizer/mjpeg.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: Packetize
    functionSourceFile: /src/vlc/modules/packetizer/mjpeg.c
    functionUses: 9
    functionsReached:
    - packetizer_Packetize
    linkageType: ''
    returnType: block_t
    signature: block_t *Packetize( decoder_t *p_dec, block_t **pp_block )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/mjpeg.c:75,1
    - Dst: packetizer_Flush
      Src: /src/vlc/modules/packetizer/mjpeg.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: PacketizeFlush
    functionSourceFile: /src/vlc/modules/packetizer/mjpeg.c
    functionUses: 4
    functionsReached:
    - date_Set
    - packetizer_Flush
    linkageType: ''
    returnType: void
    signature: void PacketizeFlush( decoder_t *p_dec )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/packetizer/mjpeg.c:85,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/mjpeg.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_private
    - b_flush
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: PacketizeReset
    functionSourceFile: /src/vlc/modules/packetizer/mjpeg.c
    functionUses: 0
    functionsReached:
    - date_Set
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void PacketizeReset( void *p_private, bool b_flush )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GetWBE
      Src: /src/vlc/modules/packetizer/mjpeg.c:103,1
    - Dst: GetWBE
      Src: /src/vlc/modules/packetizer/mjpeg.c:108,1
    - Dst: GetWBE
      Src: /src/vlc/modules/packetizer/mjpeg.c:109,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/mjpeg.c:130,1
    - Dst: date_Set
      Src: /src/vlc/modules/packetizer/mjpeg.c:133,1
    - Dst: date_Increment
      Src: /src/vlc/modules/packetizer/mjpeg.c:138,1
    - Dst: date_Get
      Src: /src/vlc/modules/packetizer/mjpeg.c:139,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 3
    argNames:
    - p_private
    - pb_ts_used
    - p_block
    argTypes:
    - void*
    - bool*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 151
    functionName: PacketizeParse
    functionSourceFile: /src/vlc/modules/packetizer/mjpeg.c
    functionUses: 0
    functionsReached:
    - date_Increment
    - GetWBE
    - date_Set
    - date_Get
    linkageType: ''
    returnType: block_t
    signature: block_t *PacketizeParse( void *p_private, bool *pb_ts_used, block_t
      *p_block )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/packetizer/mjpeg.c:155,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/packetizer/mjpeg.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_private
    - p_au
    argTypes:
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: PacketizeValidate
    functionSourceFile: /src/vlc/modules/packetizer/mjpeg.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int PacketizeValidate( void *p_private, block_t *p_au )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_Clean
      Src: /src/vlc/modules/packetizer/mjpeg.c:168,1
    - Dst: free
      Src: /src/vlc/modules/packetizer/mjpeg.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: Close
    functionSourceFile: /src/vlc/modules/packetizer/mjpeg.c
    functionUses: 88
    functionsReached:
    - free
    - packetizer_Clean
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/packetizer/mjpeg.c:184,1
    - Dst: date_Init
      Src: /src/vlc/modules/packetizer/mjpeg.c:193,1
    - Dst: date_Init
      Src: /src/vlc/modules/packetizer/mjpeg.c:197,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/packetizer/mjpeg.c:199,1
    - Dst: packetizer_Init
      Src: /src/vlc/modules/packetizer/mjpeg.c:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 213
    functionName: Open
    functionSourceFile: /src/vlc/modules/packetizer/mjpeg.c
    functionUses: 28
    functionsReached:
    - es_format_Copy
    - date_Init
    - malloc
    - packetizer_Init
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/stats.c:64,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/stats.c:65,1
    - Dst: vlc_hash_md5_Init
      Src: /src/vlc/modules/stream_out/stats.c:88,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/stats.c:90,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - p_stream
    - p_fmt
    - es_id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 93
    functionName: Add
    functionSourceFile: /src/vlc/modules/stream_out/stats.c
    functionUses: 43
    functionsReached:
    - unlikely
    - malloc
    - vlc_hash_md5_Init
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: 'void *

      Add( sout_stream_t *p_stream, const es_format_t *p_fmt, const char *es_id )'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_hash_FinishHex
      Src: /src/vlc/modules/stream_out/stats.c:101,1
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/stream_out/stats.c:103,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/stats.c:104,1
    - Dst: fprintf
      Src: /src/vlc/modules/stream_out/stats.c:107,1
    - Dst: msg_Info
      Src: /src/vlc/modules/stream_out/stats.c:110,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/stats.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - p_stream
    - _id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 114
    functionName: Del
    functionSourceFile: /src/vlc/modules/stream_out/stats.c
    functionUses: 25
    functionsReached:
    - vlc_hash_FinishHex
    - fprintf
    - free
    - msg_Info
    - msg_Dbg
    - vlc_ureduce
    linkageType: ''
    returnType: void
    signature: void Del( sout_stream_t *p_stream, void *_id )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_hash_md5_Init
      Src: /src/vlc/modules/stream_out/stats.c:126,1
    - Dst: vlc_hash_md5_Update
      Src: /src/vlc/modules/stream_out/stats.c:127,1
    - Dst: vlc_hash_md5_Update
      Src: /src/vlc/modules/stream_out/stats.c:128,1
    - Dst: vlc_hash_FinishHex
      Src: /src/vlc/modules/stream_out/stats.c:129,1
    - Dst: likely
      Src: /src/vlc/modules/stream_out/stats.c:135,1
    - Dst: fprintf
      Src: /src/vlc/modules/stream_out/stats.c:144,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/stats.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - p_stream
    - _id
    - p_buffer
    argTypes:
    - sout_stream_t*
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 156
    functionName: Send
    functionSourceFile: /src/vlc/modules/stream_out/stats.c
    functionUses: 76
    functionsReached:
    - vlc_hash_FinishHex
    - vlc_hash_md5_Update
    - fprintf
    - msg_Dbg
    - likely
    - vlc_hash_md5_Init
    linkageType: ''
    returnType: int
    signature: int Send( sout_stream_t *p_stream, void *_id, block_t *p_buffer )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sout_StreamSetPCR
      Src: /src/vlc/modules/stream_out/stats.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stream
    - pcr
    argTypes:
    - sout_stream_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: SetPCR
    functionSourceFile: /src/vlc/modules/stream_out/stats.c
    functionUses: 34
    functionsReached:
    - sout_StreamSetPCR
    linkageType: ''
    returnType: void
    signature: void SetPCR( sout_stream_t *stream, vlc_tick_t pcr )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/stream_out/stats.c:181,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/stream_out/stats.c:186,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/stream_out/stats.c:190,1
    - Dst: vlc_fopen
      Src: /src/vlc/modules/stream_out/stats.c:194,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/stats.c:197,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/stats.c:198,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/stats.c:199,1
    - Dst: fprintf
      Src: /src/vlc/modules/stream_out/stats.c:202,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/stats.c:204,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/stream_out/stats.c:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 210
    functionName: Open
    functionSourceFile: /src/vlc/modules/stream_out/stats.c
    functionUses: 28
    functionsReached:
    - var_InheritString
    - fprintf
    - msg_Err
    - calloc
    - vlc_fopen
    - config_ChainParse
    - free
    linkageType: ''
    returnType: int
    signature: int Open(sout_stream_t *p_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Send
      Src: /src/vlc/modules/stream_out/stats.c:214,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/stats.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - stream
    - id
    - block
    argTypes:
    - sout_stream_t*
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 217
    functionName: OutputSend
    functionSourceFile: /src/vlc/modules/stream_out/stats.c
    functionUses: 0
    functionsReached:
    - block_Release
    - Send
    linkageType: ''
    returnType: int
    signature: int OutputSend(sout_stream_t *stream, void *id, block_t *block)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/vlc/modules/stream_out/stats.c:227,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/stats.c:229,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/stats.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 231
    functionName: Close
    functionSourceFile: /src/vlc/modules/stream_out/stats.c
    functionUses: 88
    functionsReached:
    - free
    - fclose
    linkageType: ''
    returnType: void
    signature: void Close( sout_stream_t *p_stream )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Open
      Src: /src/vlc/modules/stream_out/stats.c:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 253
    functionName: OutputOpen
    functionSourceFile: /src/vlc/modules/stream_out/stats.c
    functionUses: 0
    functionsReached:
    - Open
    linkageType: ''
    returnType: int
    signature: int OutputOpen(vlc_object_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/vlc/modules/stream_out/stats.c:258,1
    - Dst: likely
      Src: /src/vlc/modules/stream_out/stats.c:260,1
    - Dst: sout_StreamIdAdd
      Src: /src/vlc/modules/stream_out/stats.c:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - stream
    - fmt
    - es_id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 264
    functionName: FilterAdd
    functionSourceFile: /src/vlc/modules/stream_out/stats.c
    functionUses: 0
    functionsReached:
    - Add
    - sout_StreamIdAdd
    - likely
    linkageType: ''
    returnType: void
    signature: 'void *

      FilterAdd(sout_stream_t *stream, const es_format_t *fmt, const char *es_id)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sout_StreamIdDel
      Src: /src/vlc/modules/stream_out/stats.c:271,1
    - Dst: Del
      Src: /src/vlc/modules/stream_out/stats.c:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - opaque
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 273
    functionName: FilterDel
    functionSourceFile: /src/vlc/modules/stream_out/stats.c
    functionUses: 0
    functionsReached:
    - Del
    - sout_StreamIdDel
    linkageType: ''
    returnType: void
    signature: void FilterDel(sout_stream_t *stream, void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Send
      Src: /src/vlc/modules/stream_out/stats.c:279,1
    - Dst: sout_StreamIdSend
      Src: /src/vlc/modules/stream_out/stats.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - stream
    - opaque
    - block
    argTypes:
    - sout_stream_t*
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 281
    functionName: FilterSend
    functionSourceFile: /src/vlc/modules/stream_out/stats.c
    functionUses: 0
    functionsReached:
    - Send
    - sout_StreamIdSend
    linkageType: ''
    returnType: int
    signature: int FilterSend(sout_stream_t *stream, void *opaque, block_t *block)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Open
      Src: /src/vlc/modules/stream_out/stats.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 304
    functionName: FilterOpen
    functionSourceFile: /src/vlc/modules/stream_out/stats.c
    functionUses: 0
    functionsReached:
    - Open
    linkageType: ''
    returnType: int
    signature: int FilterOpen(vlc_object_t *obj)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: net_GetSockAddress
      Src: /src/vlc/modules/stream_out/rtcp.c:78,1
    - Dst: vlc_dup
      Src: /src/vlc/modules/stream_out/rtcp.c:85,1
    - Dst: WSADuplicateSocket
      Src: /src/vlc/modules/stream_out/rtcp.c:88,1
    - Dst: GetCurrentProcessId
      Src: /src/vlc/modules/stream_out/rtcp.c:88,1
    - Dst: WSASocket
      Src: /src/vlc/modules/stream_out/rtcp.c:89,1
    - Dst: net_GetPeerAddress
      Src: /src/vlc/modules/stream_out/rtcp.c:99,1
    - Dst: net_OpenDgram
      Src: /src/vlc/modules/stream_out/rtcp.c:105,1
    - Dst: getsockopt
      Src: /src/vlc/modules/stream_out/rtcp.c:112,1
    - Dst: setsockopt
      Src: /src/vlc/modules/stream_out/rtcp.c:113,1
    - Dst: setsockopt
      Src: /src/vlc/modules/stream_out/rtcp.c:116,1
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/rtcp.c:123,1
    - Dst: net_Close
      Src: /src/vlc/modules/stream_out/rtcp.c:126,1
    - Dst: strchr
      Src: /src/vlc/modules/stream_out/rtcp.c:133,1
    - Dst: SetWBE
      Src: /src/vlc/modules/stream_out/rtcp.c:142,1
    - Dst: memset
      Src: /src/vlc/modules/stream_out/rtcp.c:143,1
    - Dst: SetQWBE
      Src: /src/vlc/modules/stream_out/rtcp.c:144,1
    - Dst: vlc_ntp_time
      Src: /src/vlc/modules/stream_out/rtcp.c:144,1
    - Dst: memset
      Src: /src/vlc/modules/stream_out/rtcp.c:145,1
    - Dst: memset
      Src: /src/vlc/modules/stream_out/rtcp.c:153,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/rtcp.c:157,1
    - Dst: strlen
      Src: /src/vlc/modules/stream_out/rtcp.c:158,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtcp.c:159,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtcp.c:165,1
    - Dst: SetWBE
      Src: /src/vlc/modules/stream_out/rtcp.c:170,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 57
    argCount: 4
    argNames:
    - obj
    - rtp_fd
    - proto
    - mux
    argTypes:
    - vlc_object_t*
    - int
    - int
    - bool
    assertStmts:
    - condition: (NI_MAXNUMERICHOST <= 256)
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/vlc/modules/stream_out/rtcp.c
    constantsTouched: []
    func_position:
      end: 174
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 174
    functionName: OpenRTCP
    functionSourceFile: /src/vlc/modules/stream_out/rtcp.c
    functionUses: 0
    functionsReached:
    - strchr
    - assert
    - net_GetPeerAddress
    - net_Close
    - memcpy
    - vlc_ntp_time
    - GetCurrentProcessId
    - SetQWBE
    - vlc_dup
    - SetWBE
    - net_GetSockAddress
    - setsockopt
    - WSADuplicateSocket
    - getsockopt
    - WSASocket
    - memset
    - strlen
    - net_OpenDgram
    - malloc
    linkageType: ''
    returnType: rtcp_sender_t
    signature: "rtcp_sender_t *OpenRTCP (vlc_object_t *obj, int rtp_fd, int proto,\n
      \                        bool mux)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ntp_time
      Src: /src/vlc/modules/stream_out/rtcp.c:183,1
    - Dst: SetQWBE
      Src: /src/vlc/modules/stream_out/rtcp.c:184,1
    - Dst: SetWBE
      Src: /src/vlc/modules/stream_out/rtcp.c:190,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtcp.c:191,1
    - Dst: send
      Src: /src/vlc/modules/stream_out/rtcp.c:196,1
    - Dst: net_Close
      Src: /src/vlc/modules/stream_out/rtcp.c:197,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtcp.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - rtcp
    argTypes:
    - rtcp_sender_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 199
    functionName: CloseRTCP
    functionSourceFile: /src/vlc/modules/stream_out/rtcp.c
    functionUses: 0
    functionsReached:
    - SetQWBE
    - SetWBE
    - send
    - net_Close
    - memcpy
    - free
    - vlc_ntp_time
    linkageType: ''
    returnType: void
    signature: void CloseRTCP (rtcp_sender_t *rtcp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetDWBE
      Src: /src/vlc/modules/stream_out/rtcp.c:218,1
    - Dst: vlc_ntp_time
      Src: /src/vlc/modules/stream_out/rtcp.c:219,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtcp.c:223,1
    - Dst: SetQWBE
      Src: /src/vlc/modules/stream_out/rtcp.c:224,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtcp.c:225,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/stream_out/rtcp.c:226,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/stream_out/rtcp.c:227,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtcp.c:228,1
    - Dst: send
      Src: /src/vlc/modules/stream_out/rtcp.c:230,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - rtcp
    - rtp
    argTypes:
    - rtcp_sender_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 232
    functionName: SendRTCP
    functionSourceFile: /src/vlc/modules/stream_out/rtcp.c
    functionUses: 0
    functionsReached:
    - SetQWBE
    - send
    - memcpy
    - vlc_ntp_time
    - SetDWBE
    - GetDWBE
    linkageType: ''
    returnType: void
    signature: void SendRTCP (rtcp_sender_t *restrict rtcp, const block_t *rtp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/autodel.c:66,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/autodel.c:67,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/stream_out/autodel.c:70,1
    - Dst: vlc_list_append
      Src: /src/vlc/modules/stream_out/autodel.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - p_stream
    - p_fmt
    - es_id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: Add
    functionSourceFile: /src/vlc/modules/stream_out/autodel.c
    functionUses: 44
    functionsReached:
    - es_format_Copy
    - unlikely
    - malloc
    - vlc_list_append
    linkageType: ''
    returnType: void
    signature: void *Add( sout_stream_t *p_stream, const es_format_t *p_fmt, const
      char *es_id )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sout_StreamIdDel
      Src: /src/vlc/modules/stream_out/autodel.c:85,1
    - Dst: vlc_list_remove
      Src: /src/vlc/modules/stream_out/autodel.c:87,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/autodel.c:88,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/autodel.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p_stream
    - _p_es
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: Del
    functionSourceFile: /src/vlc/modules/stream_out/autodel.c
    functionUses: 27
    functionsReached:
    - free
    - vlc_list_remove
    - es_format_Clean
    - sout_StreamIdDel
    linkageType: ''
    returnType: void
    signature: void Del( sout_stream_t *p_stream, void *_p_es )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sout_StreamIdAdd
      Src: /src/vlc/modules/stream_out/autodel.c:101,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/autodel.c:105,1
    - Dst: sout_StreamIdSend
      Src: /src/vlc/modules/stream_out/autodel.c:111,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_out/autodel.c:113,1
    - Dst: vlc_list_foreach
      Src: /src/vlc/modules/stream_out/autodel.c:115,1
    - Dst: sout_StreamIdDel
      Src: /src/vlc/modules/stream_out/autodel.c:120,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - p_stream
    - _p_es
    - p_buffer
    argTypes:
    - sout_stream_t*
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 125
    functionName: Send
    functionSourceFile: /src/vlc/modules/stream_out/autodel.c
    functionUses: 79
    functionsReached:
    - sout_StreamIdSend
    - sout_StreamIdAdd
    - block_ChainRelease
    - msg_Err
    - sout_StreamIdDel
    - vlc_list_foreach
    linkageType: ''
    returnType: int
    signature: int Send( sout_stream_t *p_stream, void *_p_es, block_t *p_buffer )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sout_StreamSetPCR
      Src: /src/vlc/modules/stream_out/autodel.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - stream
    - pcr
    argTypes:
    - sout_stream_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: SetPCR
    functionSourceFile: /src/vlc/modules/stream_out/autodel.c
    functionUses: 35
    functionsReached:
    - sout_StreamSetPCR
    linkageType: ''
    returnType: void
    signature: void SetPCR( sout_stream_t *stream, vlc_tick_t pcr )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/stream_out/autodel.c:147,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/stream_out/autodel.c:150,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/autodel.c:152,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/stream_out/autodel.c:156,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/stream_out/autodel.c:157,1
    - Dst: vlc_list_init
      Src: /src/vlc/modules/stream_out/autodel.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 163
    functionName: Open
    functionSourceFile: /src/vlc/modules/stream_out/autodel.c
    functionUses: 30
    functionsReached:
    - vlc_obj_malloc
    - VLC_TICK_FROM_MS
    - config_ChainParse
    - vlc_list_init
    - var_GetInteger
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: dec_get_owner
    functionSourceFile: /src/vlc/modules/stream_out/mosaic_bridge.c
    functionUses: 5
    functionsReached:
    - container_of
    linkageType: ''
    returnType: struct decoder_owner
    signature: struct decoder_owner *dec_get_owner( decoder_t *p_dec )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - stream
    - query
    - args
    argTypes:
    - sout_stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 108
    functionName: Control
    functionSourceFile: /src/vlc/modules/stream_out/mosaic_bridge.c
    functionUses: 44
    functionsReached:
    - va_arg
    linkageType: ''
    returnType: int
    signature: int Control(sout_stream_t *stream, int query, va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_chain_VideoFlush
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - stream
    - id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: Flush
    functionSourceFile: /src/vlc/modules/stream_out/mosaic_bridge.c
    functionUses: 32
    functionsReached:
    - filter_chain_VideoFlush
    linkageType: ''
    returnType: void
    signature: void Flush( sout_stream_t *stream, void *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_decoder_device_Create
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:123,1
    - Dst: vlc_decoder_device_Hold
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_owner
    argTypes:
    - struct decoder_owner*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 126
    functionName: MosaicHoldDecoderDevice
    functionSourceFile: /src/vlc/modules/stream_out/mosaic_bridge.c
    functionUses: 0
    functionsReached:
    - vlc_decoder_device_Create
    - vlc_decoder_device_Hold
    linkageType: ''
    returnType: vlc_decoder_device
    signature: vlc_decoder_device * MosaicHoldDecoderDevice( struct decoder_owner
      *p_owner )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritBool
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:130,1
    - Dst: dec_get_owner
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:133,1
    - Dst: MosaicHoldDecoderDevice
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: video_get_decoder_device
    functionSourceFile: /src/vlc/modules/stream_out/mosaic_bridge.c
    functionUses: 0
    functionsReached:
    - var_InheritBool
    - MosaicHoldDecoderDevice
    - dec_get_owner
    linkageType: ''
    returnType: vlc_decoder_device
    signature: vlc_decoder_device * video_get_decoder_device( decoder_t *p_dec )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dec_get_owner
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:139,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:142,1
    - Dst: decoder_Clean
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:145,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:146,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:147,1
    - Dst: filter_chain_Delete
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:149,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:151,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 153
    functionName: ReleaseDecoder
    functionSourceFile: /src/vlc/modules/stream_out/mosaic_bridge.c
    functionUses: 0
    functionsReached:
    - vlc_video_context_Release
    - es_format_Clean
    - vlc_decoder_device_Release
    - dec_get_owner
    - filter_chain_Delete
    - decoder_Clean
    - vlc_object_delete
    linkageType: ''
    returnType: void
    signature: void ReleaseDecoder( decoder_t *p_dec )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:158,1
    - Dst: MosaicHoldDecoderDevice
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - o
    - sys
    argTypes:
    - vlc_object_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: video_filter_hold_device
    functionSourceFile: /src/vlc/modules/stream_out/mosaic_bridge.c
    functionUses: 0
    functionsReached:
    - MosaicHoldDecoderDevice
    - VLC_UNUSED
    linkageType: ''
    returnType: vlc_decoder_device
    signature: vlc_decoder_device * video_filter_hold_device(vlc_object_t *o, void
      *sys)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_create
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:175,1
    - Dst: decoder_Init
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:178,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:187,1
    - Dst: filter_chain_NewVideo
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:195,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:196,1
    - Dst: ReleaseDecoder
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:198,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:213,1
    - Dst: decoder_LoadModule
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:217,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:221,1
    - Dst: ReleaseDecoder
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:222,1
    - Dst: vlc_global_lock
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:226,1
    - Dst: GetBridge
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:228,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:231,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:231,1
    - Dst: xmalloc
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:234,1
    - Dst: var_Create
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:236,1
    - Dst: var_Set
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:238,1
    - Dst: xrealloc
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:252,1
    - Dst: xmalloc
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:255,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:259,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:261,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:263,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:264,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:265,1
    - Dst: vlc_picture_chain_Init
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:269,1
    - Dst: vlc_global_unlock
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:272,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:274,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 57
    argCount: 3
    argNames:
    - p_stream
    - p_fmt
    - es_id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 278
    functionName: Add
    functionSourceFile: /src/vlc/modules/stream_out/mosaic_bridge.c
    functionUses: 45
    functionsReached:
    - es_format_Init
    - var_GetInteger
    - vlc_picture_chain_Init
    - vlc_mutex_lock
    - vlc_global_lock
    - vlc_object_create
    - var_Create
    - msg_Err
    - msg_Dbg
    - var_Set
    - GetBridge
    - ReleaseDecoder
    - vlc_object_instance
    - filter_chain_NewVideo
    - vlc_global_unlock
    - decoder_Init
    - xrealloc
    - vlc_mutex_unlock
    - unlikely
    - xmalloc
    - VLC_OBJECT
    - decoder_LoadModule
    linkageType: ''
    returnType: void
    signature: 'void *

      Add( sout_stream_t *p_stream, const es_format_t *p_fmt, const char *es_id )'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_global_lock
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:289,1
    - Dst: GetBridge
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:291,1
    - Dst: vlc_picture_chain_IsEmpty
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:295,1
    - Dst: vlc_picture_chain_PopFront
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:297,1
    - Dst: picture_Release
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:298,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:312,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:312,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:314,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:315,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:316,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:317,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:320,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:322,1
    - Dst: ReleaseDecoder
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:323,1
    - Dst: vlc_global_unlock
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:325,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - p_stream
    - id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 326
    functionName: Del
    functionSourceFile: /src/vlc/modules/stream_out/mosaic_bridge.c
    functionUses: 28
    functionsReached:
    - var_Destroy
    - ReleaseDecoder
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_global_lock
    - vlc_picture_chain_IsEmpty
    - vlc_object_instance
    - free
    - picture_Release
    - vlc_global_unlock
    - GetBridge
    - VLC_OBJECT
    - vlc_picture_chain_PopFront
    linkageType: ''
    returnType: void
    signature: void Del( sout_stream_t *p_stream, void *id )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - dst
    - src
    - sys
    argTypes:
    - video_format_t*
    - video_format_t*
    - sout_stream_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 358
    functionName: ApplyRescale
    functionSourceFile: /src/vlc/modules/stream_out/mosaic_bridge.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ApplyRescale( video_format_t *dst,\n                          const
      video_format_t *src,\n                          const sout_stream_sys_t *sys
      )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: es_format_InitFromVideo
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:364,1
    - Dst: ApplyRescale
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:368,1
    - Dst: filter_chain_Reset
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:370,1
    - Dst: filter_chain_AppendConverter
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:373,1
    - Dst: filter_chain_AppendFromString
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:378,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:387,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - owner
    argTypes:
    - struct decoder_owner*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 389
    functionName: ResetFilterChain
    functionSourceFile: /src/vlc/modules/stream_out/mosaic_bridge.c
    functionUses: 0
    functionsReached:
    - ApplyRescale
    - es_format_Clean
    - filter_chain_AppendConverter
    - filter_chain_Reset
    - filter_chain_AppendFromString
    - es_format_InitFromVideo
    linkageType: ''
    returnType: int
    signature: int ResetFilterChain(struct decoder_owner *owner)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dec_get_owner
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:393,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:397,1
    - Dst: ResetFilterChain
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:400,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:402,1
    - Dst: picture_Release
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:406,1
    - Dst: filter_chain_VideoFilter
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:410,1
    - Dst: vlc_global_lock
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:414,1
    - Dst: vlc_picture_chain_Append
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:415,1
    - Dst: vlc_global_unlock
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - p_dec
    - p_pic
    argTypes:
    - decoder_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 417
    functionName: decoder_queue_video
    functionSourceFile: /src/vlc/modules/stream_out/mosaic_bridge.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - dec_get_owner
    - vlc_global_lock
    - vlc_picture_chain_Append
    - ResetFilterChain
    - vlc_global_unlock
    - picture_Release
    - filter_chain_VideoFilter
    linkageType: ''
    returnType: void
    signature: void decoder_queue_video( decoder_t *p_dec, picture_t *p_pic )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct decoder_owner*::dec::pf_decode
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p_stream
    - id
    - frame
    argTypes:
    - sout_stream_t*
    - void*
    - vlc_frame_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 426
    functionName: Send
    functionSourceFile: /src/vlc/modules/stream_out/mosaic_bridge.c
    functionUses: 79
    functionsReached:
    - struct decoder_owner*::dec::pf_decode
    linkageType: ''
    returnType: int
    signature: int Send( sout_stream_t *p_stream, void *id, vlc_frame_t *frame )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dec_get_owner
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:430,1
    - Dst: video_format_IsSimilar
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:432,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:437,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:438,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:441,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:444,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:448,1
    - Dst: ResetFilterChain
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:449,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:450,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - p_dec
    - vctx
    argTypes:
    - decoder_t*
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 452
    functionName: video_update_format_decoder
    functionSourceFile: /src/vlc/modules/stream_out/mosaic_bridge.c
    functionUses: 0
    functionsReached:
    - vlc_video_context_Release
    - es_format_Clean
    - vlc_mutex_lock
    - dec_get_owner
    - vlc_mutex_unlock
    - vlc_video_context_Hold
    - ResetFilterChain
    - video_format_IsSimilar
    - es_format_Copy
    linkageType: ''
    returnType: int
    signature: int video_update_format_decoder( decoder_t *p_dec, vlc_video_context
      *vctx )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: picture_NewFromFormat
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 457
    functionName: video_new_buffer_filter
    functionSourceFile: /src/vlc/modules/stream_out/mosaic_bridge.c
    functionUses: 0
    functionsReached:
    - picture_NewFromFormat
    linkageType: ''
    returnType: picture_t
    signature: picture_t *video_new_buffer_filter( filter_t *p_filter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:466,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:466,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:466,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:470,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:475,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - p_this
    - psz_var
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 478
    functionName: HeightCallback
    functionSourceFile: /src/vlc/modules/stream_out/mosaic_bridge.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_lock
    - vlc_mutex_unlock
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int HeightCallback( vlc_object_t *p_this, char const *psz_var,\n                           vlc_value_t
      oldval, vlc_value_t newval,\n                           void *p_data )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:484,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:484,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:484,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:488,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - p_this
    - psz_var
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 496
    functionName: WidthCallback
    functionSourceFile: /src/vlc/modules/stream_out/mosaic_bridge.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_lock
    - vlc_mutex_unlock
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int WidthCallback( vlc_object_t *p_this, char const *psz_var,\n                           vlc_value_t
      oldval, vlc_value_t newval,\n                           void *p_data )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:502,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:502,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:502,1
    - Dst: vlc_global_lock
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:506,1
    - Dst: vlc_global_unlock
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - p_this
    - psz_var
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 512
    functionName: alphaCallback
    functionSourceFile: /src/vlc/modules/stream_out/mosaic_bridge.c
    functionUses: 0
    functionsReached:
    - vlc_global_unlock
    - vlc_global_lock
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int alphaCallback( vlc_object_t *p_this, char const *psz_var,\n                          vlc_value_t
      oldval, vlc_value_t newval,\n                          void *p_data )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:518,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:518,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:518,1
    - Dst: vlc_global_lock
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:522,1
    - Dst: vlc_global_unlock
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - p_this
    - psz_var
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 528
    functionName: xCallback
    functionSourceFile: /src/vlc/modules/stream_out/mosaic_bridge.c
    functionUses: 0
    functionsReached:
    - vlc_global_unlock
    - vlc_global_lock
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int xCallback( vlc_object_t *p_this, char const *psz_var,\n                      vlc_value_t
      oldval, vlc_value_t newval,\n                      void *p_data )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:534,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:534,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:534,1
    - Dst: vlc_global_lock
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:538,1
    - Dst: vlc_global_unlock
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:541,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - p_this
    - psz_var
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 544
    functionName: yCallback
    functionSourceFile: /src/vlc/modules/stream_out/mosaic_bridge.c
    functionUses: 0
    functionsReached:
    - vlc_global_unlock
    - vlc_global_lock
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int yCallback( vlc_object_t *p_this, char const *psz_var,\n                      vlc_value_t
      oldval, vlc_value_t newval,\n                      void *p_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_DelCallback
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:554,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:555,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:556,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:557,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:558,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:560,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:561,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 564
    functionName: Close
    functionSourceFile: /src/vlc/modules/stream_out/mosaic_bridge.c
    functionUses: 90
    functionsReached:
    - free
    - var_DelCallback
    linkageType: ''
    returnType: void
    signature: void Close( sout_stream_t *p_stream )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: config_ChainParse
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:588,1
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:591,1
    - Dst: var_CreateGetString
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:597,1
    - Dst: var_CreateGetIntegerCommand
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:602,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:603,1
    - Dst: var_CreateGetIntegerCommand
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:606,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:607,1
    - Dst: var_Get
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:609,1
    - Dst: strchr
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:612,1
    - Dst: atoi
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:617,1
    - Dst: atoi
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:618,1
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:619,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:624,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:628,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:636,1
    - Dst: strlen
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:637,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:639,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:640,1
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:641,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:643,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:644,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:645,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:649,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:651,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:653,1
    - Dst: INT_COMMAND
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:660,1
    - Dst: INT_COMMAND
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:661,1
    - Dst: INT_COMMAND
      Src: /src/vlc/modules/stream_out/mosaic_bridge.c:662,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 668
    functionName: Open
    functionSourceFile: /src/vlc/modules/stream_out/mosaic_bridge.c
    functionUses: 30
    functionsReached:
    - var_CreateGetString
    - atoi
    - strchr
    - memcpy
    - INT_COMMAND
    - var_AddCallback
    - msg_Err
    - msg_Dbg
    - msg_Warn
    - var_GetNonEmptyString
    - vlc_fourcc_GetChromaDescription
    - var_Get
    - var_CreateGetIntegerCommand
    - strlen
    - vlc_mutex_init
    - config_ChainParse
    - free
    - vlc_ureduce
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 660
    functionName: INT_COMMAND
    functionSourceFile: /src/vlc/modules/stream_out/mosaic_bridge.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT_COMMAND( a )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sout_MuxAddStream
      Src: /src/vlc/modules/stream_out/udp.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - stream
    - fmt
    - es_id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: Add
    functionSourceFile: /src/vlc/modules/stream_out/udp.c
    functionUses: 45
    functionsReached:
    - sout_MuxAddStream
    linkageType: ''
    returnType: void
    signature: 'void *

      Add(sout_stream_t *stream, const es_format_t *fmt, const char *es_id)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sout_MuxDeleteStream
      Src: /src/vlc/modules/stream_out/udp.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stream
    - id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: Del
    functionSourceFile: /src/vlc/modules/stream_out/udp.c
    functionUses: 28
    functionsReached:
    - sout_MuxDeleteStream
    linkageType: ''
    returnType: void
    signature: void Del(sout_stream_t *stream, void *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sout_MuxSendBuffer
      Src: /src/vlc/modules/stream_out/udp.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stream
    - id
    - block
    argTypes:
    - sout_stream_t*
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: Send
    functionSourceFile: /src/vlc/modules/stream_out/udp.c
    functionUses: 79
    functionsReached:
    - sout_MuxSendBuffer
    linkageType: ''
    returnType: int
    signature: int Send(sout_stream_t *stream, void *id, block_t *block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sout_MuxFlush
      Src: /src/vlc/modules/stream_out/udp.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stream
    - id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: Flush
    functionSourceFile: /src/vlc/modules/stream_out/udp.c
    functionUses: 33
    functionsReached:
    - sout_MuxFlush
    linkageType: ''
    returnType: void
    signature: void Flush(sout_stream_t *stream, void *id)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getsockname
      Src: /src/vlc/modules/stream_out/udp.c:91,1
    - Dst: getpeername
      Src: /src/vlc/modules/stream_out/udp.c:92,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/udp.c:95,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/stream_out/udp.c:95,1
    - Dst: inet_ntop
      Src: /src/vlc/modules/stream_out/udp.c:101,1
    - Dst: inet_ntop
      Src: /src/vlc/modules/stream_out/udp.c:105,1
    - Dst: vlc_sdp_Start
      Src: /src/vlc/modules/stream_out/udp.c:114,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/stream_out/udp.c:118,1
    - Dst: ntohs
      Src: /src/vlc/modules/stream_out/udp.c:118,1
    - Dst: vlc_memstream_close
      Src: /src/vlc/modules/stream_out/udp.c:120,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/udp.c:126,1
    - Dst: sout_AnnounceRegisterSDP
      Src: /src/vlc/modules/stream_out/udp.c:127,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/udp.c:128,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - obj
    - fd
    argTypes:
    - vlc_object_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 130
    functionName: CreateSDP
    functionSourceFile: /src/vlc/modules/stream_out/udp.c
    functionUses: 0
    functionsReached:
    - inet_ntop
    - vlc_strerror_c
    - ntohs
    - vlc_memstream_printf
    - sout_AnnounceRegisterSDP
    - msg_Err
    - free
    - vlc_sdp_Start
    - getpeername
    - msg_Dbg
    - vlc_memstream_close
    - getsockname
    linkageType: ''
    returnType: session_descriptor_t
    signature: session_descriptor_t *CreateSDP(vlc_object_t *obj, int fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/stream_out/udp.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - stream
    - query
    - args
    argTypes:
    - sout_stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 145
    functionName: Control
    functionSourceFile: /src/vlc/modules/stream_out/udp.c
    functionUses: 44
    functionsReached:
    - va_arg
    linkageType: ''
    returnType: int
    signature: int Control(sout_stream_t *stream, int query, va_list args)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/stream_out/udp.c:160,1
    - Dst: likely
      Src: /src/vlc/modules/stream_out/udp.c:162,1
    - Dst: sendmsg
      Src: /src/vlc/modules/stream_out/udp.c:174,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/udp.c:177,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/stream_out/udp.c:177,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/udp.c:185,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - access
    - block
    argTypes:
    - sout_access_out_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 191
    functionName: AccessOutWrite
    functionSourceFile: /src/vlc/modules/stream_out/udp.c
    functionUses: 0
    functionsReached:
    - block_Release
    - vlc_strerror_c
    - ARRAY_SIZE
    - sendmsg
    - msg_Err
    - likely
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t AccessOutWrite(sout_access_out_t *access, block_t *block)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sout_AnnounceUnRegister
      Src: /src/vlc/modules/stream_out/udp.c:198,1
    - Dst: sout_MuxDelete
      Src: /src/vlc/modules/stream_out/udp.c:200,1
    - Dst: sout_AccessOutDelete
      Src: /src/vlc/modules/stream_out/udp.c:201,1
    - Dst: net_Close
      Src: /src/vlc/modules/stream_out/udp.c:202,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/udp.c:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 204
    functionName: Close
    functionSourceFile: /src/vlc/modules/stream_out/udp.c
    functionUses: 91
    functionsReached:
    - net_Close
    - free
    - sout_AnnounceUnRegister
    - sout_MuxDelete
    - sout_AccessOutDelete
    linkageType: ''
    returnType: void
    signature: void Close(sout_stream_t *stream)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/udp.c:229,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/udp.c:230,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/udp.c:234,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/udp.c:239,1
    - Dst: msg_Info
      Src: /src/vlc/modules/stream_out/udp.c:242,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/stream_out/udp.c:246,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/stream_out/udp.c:248,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/udp.c:250,1
    - Dst: strchr
      Src: /src/vlc/modules/stream_out/udp.c:260,1
    - Dst: strchr
      Src: /src/vlc/modules/stream_out/udp.c:266,1
    - Dst: atoi
      Src: /src/vlc/modules/stream_out/udp.c:271,1
    - Dst: net_ConnectDgram
      Src: /src/vlc/modules/stream_out/udp.c:274,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/udp.c:275,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/udp.c:279,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/stream_out/udp.c:279,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/stream_out/udp.c:283,1
    - Dst: var_Create
      Src: /src/vlc/modules/stream_out/udp.c:284,1
    - Dst: var_SetString
      Src: /src/vlc/modules/stream_out/udp.c:286,1
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/udp.c:290,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/udp.c:291,1
    - Dst: vlc_object_create
      Src: /src/vlc/modules/stream_out/udp.c:296,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/udp.c:297,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/udp.c:303,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/stream_out/udp.c:313,1
    - Dst: sout_MuxNew
      Src: /src/vlc/modules/stream_out/udp.c:315,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/stream_out/udp.c:322,1
    - Dst: CreateSDP
      Src: /src/vlc/modules/stream_out/udp.c:323,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/udp.c:323,1
    - Dst: sout_AccessOutDelete
      Src: /src/vlc/modules/stream_out/udp.c:333,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/udp.c:334,1
    - Dst: net_Close
      Src: /src/vlc/modules/stream_out/udp.c:335,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 80
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 337
    functionName: Open
    functionSourceFile: /src/vlc/modules/stream_out/udp.c
    functionUses: 30
    functionsReached:
    - atoi
    - strchr
    - vlc_strerror_c
    - net_Close
    - vlc_object_create
    - var_Create
    - msg_Err
    - net_ConnectDgram
    - sout_AccessOutDelete
    - sout_MuxNew
    - strdup
    - var_InheritInteger
    - var_GetNonEmptyString
    - strcmp
    - var_GetBool
    - CreateSDP
    - config_ChainParse
    - free
    - msg_Info
    - VLC_OBJECT
    - var_SetString
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/display.c:107,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/display.c:108,1
    - Dst: sout_ClockCreate
      Src: /src/vlc/modules/stream_out/display.c:111,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/display.c:112,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/display.c:114,1
    - Dst: vlc_input_decoder_Create
      Src: /src/vlc/modules/stream_out/display.c:118,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/display.c:119,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/display.c:122,1
    - Dst: sout_ClockDelete
      Src: /src/vlc/modules/stream_out/display.c:124,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/display.c:125,1
    - Dst: vlc_input_decoder_ChangeDelay
      Src: /src/vlc/modules/stream_out/display.c:130,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - p_stream
    - p_fmt
    - es_id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 133
    functionName: Add
    functionSourceFile: /src/vlc/modules/stream_out/display.c
    functionUses: 45
    functionsReached:
    - vlc_input_decoder_Create
    - sout_ClockDelete
    - sout_ClockCreate
    - msg_Err
    - free
    - VLC_OBJECT
    - vlc_input_decoder_ChangeDelay
    - unlikely
    - malloc
    linkageType: ''
    returnType: void
    signature: void *Add( sout_stream_t *p_stream, const es_format_t *p_fmt, const
      char *es_id )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_input_decoder_Flush
      Src: /src/vlc/modules/stream_out/display.c:140,1
    - Dst: vlc_input_decoder_Delete
      Src: /src/vlc/modules/stream_out/display.c:141,1
    - Dst: sout_ClockDelete
      Src: /src/vlc/modules/stream_out/display.c:142,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/display.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p_stream
    - id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 144
    functionName: Del
    functionSourceFile: /src/vlc/modules/stream_out/display.c
    functionUses: 28
    functionsReached:
    - free
    - sout_ClockDelete
    - vlc_input_decoder_Delete
    - vlc_input_decoder_Flush
    linkageType: ''
    returnType: void
    signature: void Del( sout_stream_t *p_stream, void *id )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/display.c:155,1
    - Dst: vlc_frame_ChainRelease
      Src: /src/vlc/modules/stream_out/display.c:159,1
    - Dst: vlc_input_decoder_Decode
      Src: /src/vlc/modules/stream_out/display.c:170,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - p_stream
    - id
    - frames
    argTypes:
    - sout_stream_t*
    - void*
    - vlc_frame_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 176
    functionName: Send
    functionSourceFile: /src/vlc/modules/stream_out/display.c
    functionUses: 79
    functionsReached:
    - vlc_input_decoder_Decode
    - vlc_frame_ChainRelease
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int Send( sout_stream_t *p_stream, void *id, vlc_frame_t *frames )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/stream_out/display.c:184,1
    - Dst: va_arg
      Src: /src/vlc/modules/stream_out/display.c:185,1
    - Dst: vlc_input_decoder_SetSpuHighlight
      Src: /src/vlc/modules/stream_out/display.c:186,1
    - Dst: va_arg
      Src: /src/vlc/modules/stream_out/display.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - p_stream
    - i_query
    - args
    argTypes:
    - sout_stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 198
    functionName: Control
    functionSourceFile: /src/vlc/modules/stream_out/display.c
    functionUses: 44
    functionsReached:
    - va_arg
    - vlc_input_decoder_SetSpuHighlight
    linkageType: ''
    returnType: int
    signature: int Control( sout_stream_t *p_stream, int i_query, va_list args )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sout_ClockMainSetFirstPcr
      Src: /src/vlc/modules/stream_out/display.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_stream
    - pcr
    argTypes:
    - sout_stream_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 209
    functionName: SetPCR
    functionSourceFile: /src/vlc/modules/stream_out/display.c
    functionUses: 35
    functionsReached:
    - sout_ClockMainSetFirstPcr
    linkageType: ''
    returnType: void
    signature: void SetPCR( sout_stream_t *p_stream, vlc_tick_t pcr )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/display.c:228,1
    - Dst: input_resource_New
      Src: /src/vlc/modules/stream_out/display.c:232,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/display.c:233,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/display.c:235,1
    - Dst: sout_ClockMainCreate
      Src: /src/vlc/modules/stream_out/display.c:239,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/display.c:240,1
    - Dst: input_resource_Release
      Src: /src/vlc/modules/stream_out/display.c:242,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/display.c:243,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/stream_out/display.c:247,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/stream_out/display.c:250,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/stream_out/display.c:251,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/stream_out/display.c:253,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/stream_out/display.c:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 260
    functionName: Open
    functionSourceFile: /src/vlc/modules/stream_out/display.c
    functionUses: 30
    functionsReached:
    - var_GetBool
    - sout_ClockMainCreate
    - VLC_TICK_FROM_MS
    - config_ChainParse
    - free
    - input_resource_Release
    - input_resource_New
    - var_GetInteger
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: input_resource_Release
      Src: /src/vlc/modules/stream_out/display.c:269,1
    - Dst: sout_ClockMainDelete
      Src: /src/vlc/modules/stream_out/display.c:270,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/display.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 272
    functionName: Close
    functionSourceFile: /src/vlc/modules/stream_out/display.c
    functionUses: 92
    functionsReached:
    - free
    - input_resource_Release
    - sout_ClockMainDelete
    linkageType: ''
    returnType: void
    signature: void Close( sout_stream_t *p_stream )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/stream_out/rtp.c:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - stream
    - query
    - args
    argTypes:
    - sout_stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 374
    functionName: Control
    functionSourceFile: /src/vlc/modules/stream_out/rtp.c
    functionUses: 44
    functionsReached:
    - va_arg
    linkageType: ''
    returnType: int
    signature: int Control(sout_stream_t *stream, int query, va_list args)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: config_ChainParse
      Src: /src/vlc/modules/stream_out/rtp.c:402,1
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/rtp.c:405,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/stream_out/rtp.c:409,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/stream_out/rtp.c:411,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/stream_out/rtp.c:412,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/stream_out/rtp.c:413,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/stream_out/rtp.c:414,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/rtp.c:418,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtp.c:419,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtp.c:420,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/rtp.c:426,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/stream_out/rtp.c:428,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/stream_out/rtp.c:436,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/stream_out/rtp.c:439,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtp.c:441,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/stream_out/rtp.c:447,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/stream_out/rtp.c:449,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/stream_out/rtp.c:451,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/stream_out/rtp.c:457,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/stream_out/rtp.c:464,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtp.c:473,1
    - Dst: var_Create
      Src: /src/vlc/modules/stream_out/rtp.c:474,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/rtp.c:478,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtp.c:479,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/stream_out/rtp.c:483,1
    - Dst: var_Create
      Src: /src/vlc/modules/stream_out/rtp.c:486,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/stream_out/rtp.c:487,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/stream_out/rtp.c:490,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/stream_out/rtp.c:498,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/stream_out/rtp.c:513,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/stream_out/rtp.c:514,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/stream_out/rtp.c:515,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/stream_out/rtp.c:517,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/stream_out/rtp.c:521,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/stream_out/rtp.c:522,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/stream_out/rtp.c:523,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/rtp.c:525,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtp.c:526,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtp.c:527,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtp.c:528,1
    - Dst: GrabberCreate
      Src: /src/vlc/modules/stream_out/rtp.c:532,1
    - Dst: sout_MuxNew
      Src: /src/vlc/modules/stream_out/rtp.c:533,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtp.c:534,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/rtp.c:538,1
    - Dst: sout_AccessOutDelete
      Src: /src/vlc/modules/stream_out/rtp.c:539,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtp.c:540,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtp.c:541,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/stream_out/rtp.c:555,1
    - Dst: SDPHandleUrl
      Src: /src/vlc/modules/stream_out/rtp.c:556,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/stream_out/rtp.c:558,1
    - Dst: SDPHandleUrl
      Src: /src/vlc/modules/stream_out/rtp.c:563,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/rtp.c:567,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/rtp.c:573,1
    - Dst: SDPHandleUrl
      Src: /src/vlc/modules/stream_out/rtp.c:576,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtp.c:579,1
    - Dst: Add
      Src: /src/vlc/modules/stream_out/rtp.c:584,1
    - Dst: Close
      Src: /src/vlc/modules/stream_out/rtp.c:587,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 120
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 593
    functionName: Open
    functionSourceFile: /src/vlc/modules/stream_out/rtp.c
    functionUses: 30
    functionsReached:
    - Add
    - var_GetInteger
    - SDPHandleUrl
    - GrabberCreate
    - vlc_tick_now
    - var_Create
    - msg_Err
    - strcasecmp
    - sout_AccessOutDelete
    - sout_MuxNew
    - var_GetNonEmptyString
    - strcmp
    - Close
    - var_GetBool
    - strncasecmp
    - vlc_mutex_init
    - config_ChainParse
    - free
    - var_SetInteger
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/stream_out/rtp.c:604,1
    - Dst: sout_MuxDelete
      Src: /src/vlc/modules/stream_out/rtp.c:606,1
    - Dst: Del
      Src: /src/vlc/modules/stream_out/rtp.c:608,1
    - Dst: sout_AccessOutDelete
      Src: /src/vlc/modules/stream_out/rtp.c:609,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtp.c:613,1
    - Dst: RtspUnsetup
      Src: /src/vlc/modules/stream_out/rtp.c:618,1
    - Dst: httpd_FileDelete
      Src: /src/vlc/modules/stream_out/rtp.c:621,1
    - Dst: httpd_HostDelete
      Src: /src/vlc/modules/stream_out/rtp.c:624,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtp.c:626,1
    - Dst: unlink
      Src: /src/vlc/modules/stream_out/rtp.c:630,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtp.c:631,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtp.c:633,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtp.c:634,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - sout_stream_t*
    assertStmts:
    - condition: ( p_sys->i_es <= 1 )
      pos:
        line_end: 603
        line_start: 603
        source_file: /src/vlc/modules/stream_out/rtp.c
    constantsTouched: []
    func_position:
      end: 635
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 635
    functionName: Close
    functionSourceFile: /src/vlc/modules/stream_out/rtp.c
    functionUses: 93
    functionsReached:
    - block_Release
    - assert
    - httpd_HostDelete
    - Del
    - free
    - unlink
    - httpd_FileDelete
    - RtspUnsetup
    - sout_MuxDelete
    - sout_AccessOutDelete
    linkageType: ''
    returnType: void
    signature: void Close( sout_stream_t *p_stream )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/stream_out/rtp.c:645,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/stream_out/rtp.c:646,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/rtp.c:650,1
    - Dst: HttpSetup
      Src: /src/vlc/modules/stream_out/rtp.c:654,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/rtp.c:656,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/stream_out/rtp.c:659,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/rtp.c:663,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/rtp.c:669,1
    - Dst: msg_Info
      Src: /src/vlc/modules/stream_out/rtp.c:672,1
    - Dst: var_Create
      Src: /src/vlc/modules/stream_out/rtp.c:675,1
    - Dst: var_SetString
      Src: /src/vlc/modules/stream_out/rtp.c:676,1
    - Dst: var_Create
      Src: /src/vlc/modules/stream_out/rtp.c:683,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/stream_out/rtp.c:684,1
    - Dst: RtspSetup
      Src: /src/vlc/modules/stream_out/rtp.c:687,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/rtp.c:687,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/rtp.c:689,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/stream_out/rtp.c:691,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/stream_out/rtp.c:692,1
    - Dst: SapSetup
      Src: /src/vlc/modules/stream_out/rtp.c:695,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/stream_out/rtp.c:697,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/rtp.c:701,1
    - Dst: vlc_uri2path
      Src: /src/vlc/modules/stream_out/rtp.c:704,1
    - Dst: FileSetup
      Src: /src/vlc/modules/stream_out/rtp.c:707,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/rtp.c:711,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/stream_out/rtp.c:716,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 53
    argCount: 2
    argNames:
    - p_stream
    - psz_url
    argTypes:
    - sout_stream_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 640
    functionDepth: 2
    functionLinenumber: 640
    functionLinenumberEnd: 717
    functionName: SDPHandleUrl
    functionSourceFile: /src/vlc/modules/stream_out/rtp.c
    functionUses: 1
    functionsReached:
    - vlc_UrlParse
    - SapSetup
    - RtspSetup
    - FileSetup
    - vlc_uri2path
    - var_Create
    - msg_Err
    - var_SetInteger
    - msg_Info
    - strcasecmp
    - msg_Warn
    - VLC_OBJECT
    - var_SetString
    - HttpSetup
    - vlc_UrlClean
    linkageType: ''
    returnType: void
    signature: void SDPHandleUrl( sout_stream_t *p_stream, const char *psz_url )
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/rtp.c:748,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/rtp.c:749,1
    - Dst: getsockname
      Src: /src/vlc/modules/stream_out/rtp.c:759,1
    - Dst: getpeername
      Src: /src/vlc/modules/stream_out/rtp.c:761,1
    - Dst: strnlen
      Src: /src/vlc/modules/stream_out/rtp.c:768,1
    - Dst: memset
      Src: /src/vlc/modules/stream_out/rtp.c:774,1
    - Dst: vlc_sdp_Start
      Src: /src/vlc/modules/stream_out/rtp.c:781,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/rtp.c:781,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/stream_out/rtp.c:787,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/stream_out/rtp.c:790,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/stream_out/rtp.c:829,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/stream_out/rtp.c:834,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/stream_out/rtp.c:835,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/stream_out/rtp.c:838,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/stream_out/rtp.c:842,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/stream_out/rtp.c:843,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/stream_out/rtp.c:847,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/stream_out/rtp.c:852,1
    - Dst: RtspAppendTrackPath
      Src: /src/vlc/modules/stream_out/rtp.c:856,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/stream_out/rtp.c:859,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtp.c:860,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/stream_out/rtp.c:866,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/stream_out/rtp.c:868,1
    - Dst: toupper
      Src: /src/vlc/modules/stream_out/rtp.c:869,1
    - Dst: vlc_memstream_close
      Src: /src/vlc/modules/stream_out/rtp.c:873,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/rtp.c:876,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 81
    argCount: 2
    argNames:
    - p_stream
    - rtsp_url
    argTypes:
    - sout_stream_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 878
    functionName: SDPGenerate
    functionSourceFile: /src/vlc/modules/stream_out/rtp.c
    functionUses: 0
    functionsReached:
    - vlc_memstream_puts
    - vlc_mutex_unlock
    - strnlen
    - vlc_mutex_lock
    - memset
    - vlc_memstream_printf
    - free
    - vlc_sdp_Start
    - getpeername
    - VLC_OBJECT
    - vlc_memstream_close
    - toupper
    - getsockname
    - unlikely
    - RtspAppendTrackPath
    linkageType: ''
    returnType: char
    signature: char *SDPGenerate( sout_stream_t *p_stream, const char *rtsp_url )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtp_mtu
      Src: /src/vlc/modules/stream_out/rtp.c:895,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - id
    - ptime_ms
    - bytes
    argTypes:
    - sout_stream_id_sys_t*
    - unsigned
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 899
    functionName: rtp_set_ptime
    functionSourceFile: /src/vlc/modules/stream_out/rtp.c
    functionUses: 0
    functionsReached:
    - rtp_mtu
    linkageType: ''
    returnType: void
    signature: void rtp_set_ptime (sout_stream_id_sys_t *id, unsigned ptime_ms, size_t
      bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lldiv
      Src: /src/vlc/modules/stream_out/rtp.c:908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i_clock_rate
    - i_pts
    argTypes:
    - unsigned
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 911
    functionName: rtp_compute_ts
    functionSourceFile: /src/vlc/modules/stream_out/rtp.c
    functionUses: 0
    functionsReached:
    - lldiv
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rtp_compute_ts( unsigned i_clock_rate, vlc_tick_t i_pts )
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/rtp.c:922,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/rtp.c:923,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/stream_out/rtp.c:927,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/rtp.c:930,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/stream_out/rtp.c:935,1
    - Dst: vlc_queue_Init
      Src: /src/vlc/modules/stream_out/rtp.c:939,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/stream_out/rtp.c:945,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/stream_out/rtp.c:945,1
    - Dst: vlc_rand_bytes
      Src: /src/vlc/modules/stream_out/rtp.c:947,1
    - Dst: vlc_rand_bytes
      Src: /src/vlc/modules/stream_out/rtp.c:948,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/stream_out/rtp.c:955,1
    - Dst: rtp_get_fmt
      Src: /src/vlc/modules/stream_out/rtp.c:958,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/rtp.c:958,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtp.c:959,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/stream_out/rtp.c:965,1
    - Dst: vlc_gcrypt_init
      Src: /src/vlc/modules/stream_out/rtp.c:968,1
    - Dst: srtp_create
      Src: /src/vlc/modules/stream_out/rtp.c:969,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtp.c:973,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/stream_out/rtp.c:977,1
    - Dst: srtp_setkeystring
      Src: /src/vlc/modules/stream_out/rtp.c:978,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtp.c:979,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtp.c:980,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/rtp.c:983,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/stream_out/rtp.c:984,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/rtp.c:1016,1
    - Dst: var_SetString
      Src: /src/vlc/modules/stream_out/rtp.c:1042,1
    - Dst: net_Listen
      Src: /src/vlc/modules/stream_out/rtp.c:1048,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/rtp.c:1048,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/rtp.c:1053,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/stream_out/rtp.c:1056,1
    - Dst: net_ListenClose
      Src: /src/vlc/modules/stream_out/rtp.c:1058,1
    - Dst: net_ConnectDgram
      Src: /src/vlc/modules/stream_out/rtp.c:1066,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/rtp.c:1070,1
    - Dst: setsockopt
      Src: /src/vlc/modules/stream_out/rtp.c:1075,1
    - Dst: rtp_add_sink
      Src: /src/vlc/modules/stream_out/rtp.c:1077,1
    - Dst: rtp_set_ptime
      Src: /src/vlc/modules/stream_out/rtp.c:1090,1
    - Dst: rtp_set_ptime
      Src: /src/vlc/modules/stream_out/rtp.c:1094,1
    - Dst: rtp_set_ptime
      Src: /src/vlc/modules/stream_out/rtp.c:1097,1
    - Dst: net_SetCSCov
      Src: /src/vlc/modules/stream_out/rtp.c:1108,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/rtp.c:1111,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/rtp.c:1113,1
    - Dst: rtp_compute_ts
      Src: /src/vlc/modules/stream_out/rtp.c:1115,1
    - Dst: RtspAddId
      Src: /src/vlc/modules/stream_out/rtp.c:1119,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/stream_out/rtp.c:1119,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/stream_out/rtp.c:1123,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/rtp.c:1130,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/stream_out/rtp.c:1131,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/rtp.c:1132,1
    - Dst: SDPGenerate
      Src: /src/vlc/modules/stream_out/rtp.c:1134,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/rtp.c:1136,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtp.c:1137,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/rtp.c:1139,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/rtp.c:1141,1
    - Dst: SapSetup
      Src: /src/vlc/modules/stream_out/rtp.c:1144,1
    - Dst: FileSetup
      Src: /src/vlc/modules/stream_out/rtp.c:1145,1
    - Dst: Del
      Src: /src/vlc/modules/stream_out/rtp.c:1150,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 168
    argCount: 3
    argNames:
    - p_stream
    - p_fmt
    - es_id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 914
    functionDepth: 4
    functionLinenumber: 914
    functionLinenumberEnd: 1152
    functionName: Add
    functionSourceFile: /src/vlc/modules/stream_out/rtp.c
    functionUses: 46
    functionsReached:
    - RtspAddId
    - vlc_strerror_c
    - net_Listen
    - var_GetInteger
    - FileSetup
    - srtp_create
    - vlc_mutex_lock
    - net_ListenClose
    - msg_Err
    - rtp_compute_ts
    - net_ConnectDgram
    - msg_Dbg
    - SDPGenerate
    - SapSetup
    - rtp_set_ptime
    - var_InheritInteger
    - TAB_APPEND
    - setsockopt
    - var_GetNonEmptyString
    - srtp_setkeystring
    - rtp_get_fmt
    - vlc_gcrypt_init
    - GetDWBE
    - net_SetCSCov
    - vlc_rand_bytes
    - rtp_add_sink
    - vlc_mutex_unlock
    - vlc_clone
    - vlc_queue_Init
    - vlc_mutex_init
    - VLC_TICK_FROM_MS
    - Del
    - free
    - VLC_OBJECT
    - var_SetString
    - unlikely
    - malloc
    linkageType: ''
    returnType: void
    signature: void *Add( sout_stream_t *p_stream, const es_format_t *p_fmt, const
      char * es_id )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/rtp.c:1159,1
    - Dst: TAB_REMOVE
      Src: /src/vlc/modules/stream_out/rtp.c:1160,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/rtp.c:1161,1
    - Dst: vlc_queue_Kill
      Src: /src/vlc/modules/stream_out/rtp.c:1165,1
    - Dst: vlc_join
      Src: /src/vlc/modules/stream_out/rtp.c:1166,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtp.c:1168,1
    - Dst: RtspDelId
      Src: /src/vlc/modules/stream_out/rtp.c:1171,1
    - Dst: vlc_cancel
      Src: /src/vlc/modules/stream_out/rtp.c:1174,1
    - Dst: vlc_join
      Src: /src/vlc/modules/stream_out/rtp.c:1175,1
    - Dst: net_ListenClose
      Src: /src/vlc/modules/stream_out/rtp.c:1176,1
    - Dst: rtp_del_sink
      Src: /src/vlc/modules/stream_out/rtp.c:1181,1
    - Dst: srtp_destroy
      Src: /src/vlc/modules/stream_out/rtp.c:1184,1
    - Dst: SapSetup
      Src: /src/vlc/modules/stream_out/rtp.c:1188,1
    - Dst: FileSetup
      Src: /src/vlc/modules/stream_out/rtp.c:1189,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtp.c:1191,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - p_stream
    - _id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1154
    functionDepth: 2
    functionLinenumber: 1154
    functionLinenumberEnd: 1192
    functionName: Del
    functionSourceFile: /src/vlc/modules/stream_out/rtp.c
    functionUses: 30
    functionsReached:
    - SapSetup
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_cancel
    - net_ListenClose
    - srtp_destroy
    - free
    - vlc_join
    - TAB_REMOVE
    - FileSetup
    - RtspDelId
    - vlc_queue_Kill
    - rtp_del_sink
    linkageType: ''
    returnType: void
    signature: void Del( sout_stream_t *p_stream, void *_id )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/stream_out/rtp.c:1197,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/rtp.c:1209,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/rtp.c:1210,1
    - Dst: rtp_packetize_xiph_config
      Src: /src/vlc/modules/stream_out/rtp.c:1212,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_out/rtp.c:1216,1
    - Dst: sout_stream_id_sys_t*::rtp_fmt::pf_packetize
      Src: /src/vlc/modules/stream_out/rtp.c:1222,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - p_stream
    - _id
    - p_buffer
    argTypes:
    - sout_stream_t*
    - void*
    - block_t*
    assertStmts:
    - condition: ( ((sout_stream_sys_t *)p_stream->p_sys)->p_mux == NULL )
      pos:
        line_end: 1196
        line_start: 1196
        source_file: /src/vlc/modules/stream_out/rtp.c
    constantsTouched: []
    func_position:
      end: 1228
      start: 1194
    functionDepth: 1
    functionLinenumber: 1194
    functionLinenumberEnd: 1228
    functionName: Send
    functionSourceFile: /src/vlc/modules/stream_out/rtp.c
    functionUses: 79
    functionsReached:
    - assert
    - block_ChainRelease
    - strcmp
    - sout_stream_id_sys_t*::rtp_fmt::pf_packetize
    - rtp_packetize_xiph_config
    linkageType: ''
    returnType: int
    signature: int Send( sout_stream_t *p_stream, void *_id, block_t *p_buffer )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sout_AnnounceUnRegister
      Src: /src/vlc/modules/stream_out/rtp.c:1240,1
    - Dst: sout_AnnounceRegisterSDP
      Src: /src/vlc/modules/stream_out/rtp.c:1245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1250
    functionName: SapSetup
    functionSourceFile: /src/vlc/modules/stream_out/rtp.c
    functionUses: 3
    functionsReached:
    - sout_AnnounceUnRegister
    - sout_AnnounceRegisterSDP
    linkageType: ''
    returnType: int
    signature: int SapSetup( sout_stream_t *p_stream )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fopen
      Src: /src/vlc/modules/stream_out/rtp.c:1263,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/rtp.c:1265,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/stream_out/rtp.c:1266,1
    - Dst: fputs
      Src: /src/vlc/modules/stream_out/rtp.c:1270,1
    - Dst: fclose
      Src: /src/vlc/modules/stream_out/rtp.c:1271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1255
    functionDepth: 1
    functionLinenumber: 1255
    functionLinenumberEnd: 1274
    functionName: FileSetup
    functionSourceFile: /src/vlc/modules/stream_out/rtp.c
    functionUses: 3
    functionsReached:
    - vlc_strerror_c
    - msg_Err
    - fputs
    - vlc_fopen
    - fclose
    linkageType: ''
    returnType: int
    signature: int FileSetup( sout_stream_t *p_stream )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_HostNew
      Src: /src/vlc/modules/stream_out/rtp.c:1287,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/rtp.c:1287,1
    - Dst: httpd_FileNew
      Src: /src/vlc/modules/stream_out/rtp.c:1290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p_stream
    - url
    argTypes:
    - sout_stream_t*
    - vlc_url_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1283
    functionDepth: 1
    functionLinenumber: 1283
    functionLinenumberEnd: 1301
    functionName: HttpSetup
    functionSourceFile: /src/vlc/modules/stream_out/rtp.c
    functionUses: 1
    functionsReached:
    - vlc_http_HostNew
    - httpd_FileNew
    - VLC_OBJECT
    linkageType: ''
    returnType: int
    signature: int HttpSetup( sout_stream_t *p_stream, const vlc_url_t *url)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/rtp.c:1307,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/rtp.c:1307,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/rtp.c:1310,1
    - Dst: strlen
      Src: /src/vlc/modules/stream_out/rtp.c:1313,1
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/rtp.c:1314,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/rtp.c:1317,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtp.c:1320,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/rtp.c:1327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - p_args
    - f
    - p_request
    - pp_data
    - pi_data
    argTypes:
    - httpd_file_sys_t*
    - httpd_file_t*
    - uint8_t*
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1303
    functionDepth: 1
    functionLinenumber: 1303
    functionLinenumberEnd: 1330
    functionName: HttpCallback
    functionSourceFile: /src/vlc/modules/stream_out/rtp.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - strlen
    - memcpy
    - malloc
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int HttpCallback( httpd_file_sys_t *p_args,\n                          httpd_file_t
      *f, uint8_t *p_request,\n                          uint8_t **pp_data, size_t
      *pi_data )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/stream_out/rtp.c:1337,1
    - Dst: vlc_queue_DequeueKillable
      Src: /src/vlc/modules/stream_out/rtp.c:1351,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/stream_out/rtp.c:1357,1
    - Dst: srtp_send
      Src: /src/vlc/modules/stream_out/rtp.c:1360,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/rtp.c:1363,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/stream_out/rtp.c:1364,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtp.c:1365,1
    - Dst: vlc_tick_wait
      Src: /src/vlc/modules/stream_out/rtp.c:1371,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/rtp.c:1375,1
    - Dst: SendRTCP
      Src: /src/vlc/modules/stream_out/rtp.c:1384,1
    - Dst: send
      Src: /src/vlc/modules/stream_out/rtp.c:1386,1
    - Dst: getsockopt
      Src: /src/vlc/modules/stream_out/rtp.c:1391,1
    - Dst: send
      Src: /src/vlc/modules/stream_out/rtp.c:1395,1
    - Dst: ntohs
      Src: /src/vlc/modules/stream_out/rtp.c:1401,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/rtp.c:1402,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtp.c:1403,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/rtp.c:1407,1
    - Dst: rtp_del_sink
      Src: /src/vlc/modules/stream_out/rtp.c:1408,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1412
      start: 1335
    functionDepth: 4
    functionLinenumber: 1335
    functionLinenumberEnd: 1412
    functionName: ThreadSend
    functionSourceFile: /src/vlc/modules/stream_out/rtp.c
    functionUses: 0
    functionsReached:
    - vlc_queue_DequeueKillable
    - vlc_tick_wait
    - block_Release
    - block_Realloc
    - vlc_strerror_c
    - vlc_thread_set_name
    - SendRTCP
    - vlc_mutex_lock
    - ntohs
    - vlc_mutex_unlock
    - send
    - msg_Dbg
    - srtp_send
    - getsockopt
    - rtp_del_sink
    linkageType: ''
    returnType: void
    signature: void * ThreadSend( void *data )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/stream_out/rtp.c:1418,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/rtp.c:1422,1
    - Dst: net_Accept
      Src: /src/vlc/modules/stream_out/rtp.c:1426,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/stream_out/rtp.c:1429,1
    - Dst: rtp_add_sink
      Src: /src/vlc/modules/stream_out/rtp.c:1430,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/stream_out/rtp.c:1431,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/stream_out/rtp.c:1434,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts:
    - condition: ( id->listen.fd != NULL )
      pos:
        line_end: 1421
        line_start: 1421
        source_file: /src/vlc/modules/stream_out/rtp.c
    constantsTouched: []
    func_position:
      end: 1435
      start: 1416
    functionDepth: 1
    functionLinenumber: 1416
    functionLinenumberEnd: 1435
    functionName: rtp_listen_thread
    functionSourceFile: /src/vlc/modules/stream_out/rtp.c
    functionUses: 0
    functionsReached:
    - vlc_restorecancel
    - assert
    - vlc_thread_set_name
    - vlc_assert_unreachable
    - net_Accept
    - vlc_savecancel
    - rtp_add_sink
    linkageType: ''
    returnType: void
    signature: void *rtp_listen_thread( void *data )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OpenRTCP
      Src: /src/vlc/modules/stream_out/rtp.c:1441,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/rtp.c:1441,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/rtp.c:1444,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/rtp.c:1446,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/stream_out/rtp.c:1447,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/rtp.c:1450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - id
    - fd
    - rtcp_mux
    - seq
    argTypes:
    - sout_stream_id_sys_t*
    - int
    - bool
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1438
    functionDepth: 2
    functionLinenumber: 1438
    functionLinenumberEnd: 1452
    functionName: rtp_add_sink
    functionSourceFile: /src/vlc/modules/stream_out/rtp.c
    functionUses: 2
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - OpenRTCP
    - TAB_APPEND
    - msg_Err
    - VLC_OBJECT
    linkageType: ''
    returnType: int
    signature: int rtp_add_sink( sout_stream_id_sys_t *id, int fd, bool rtcp_mux,
      uint16_t *seq )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/rtp.c:1459,1
    - Dst: TAB_ERASE
      Src: /src/vlc/modules/stream_out/rtp.c:1465,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/rtp.c:1469,1
    - Dst: CloseRTCP
      Src: /src/vlc/modules/stream_out/rtp.c:1471,1
    - Dst: net_Close
      Src: /src/vlc/modules/stream_out/rtp.c:1472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - id
    - fd
    argTypes:
    - sout_stream_id_sys_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1454
    functionDepth: 2
    functionLinenumber: 1454
    functionLinenumberEnd: 1473
    functionName: rtp_del_sink
    functionSourceFile: /src/vlc/modules/stream_out/rtp.c
    functionUses: 2
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - TAB_ERASE
    - net_Close
    - CloseRTCP
    linkageType: ''
    returnType: void
    signature: void rtp_del_sink( sout_stream_id_sys_t *id, int fd )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/rtp.c:1480,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/rtp.c:1482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - id
    argTypes:
    - sout_stream_id_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1475
    functionDepth: 1
    functionLinenumber: 1475
    functionLinenumberEnd: 1485
    functionName: rtp_get_seq
    functionSourceFile: /src/vlc/modules/stream_out/rtp.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t rtp_get_seq( sout_stream_id_sys_t *id )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/stream_out/rtp.c:1502,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/rtp.c:1506,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/rtp.c:1508,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/stream_out/rtp.c:1513,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - p_stream
    - id
    - p_npt
    argTypes:
    - sout_stream_t*
    - sout_stream_id_sys_t*
    - vlc_tick_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1492
    functionDepth: 1
    functionLinenumber: 1492
    functionLinenumberEnd: 1522
    functionName: rtp_get_ts
    functionSourceFile: /src/vlc/modules/stream_out/rtp.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: vlc_tick_t
    signature: "vlc_tick_t rtp_get_ts( const sout_stream_t *p_stream, const sout_stream_id_sys_t
      *id,\n                    vlc_tick_t *p_npt )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/rtp.c:1530,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/rtp.c:1539,1
    - Dst: rtp_compute_ts
      Src: /src/vlc/modules/stream_out/rtp.c:1543,1
    - Dst: rtp_compute_ts
      Src: /src/vlc/modules/stream_out/rtp.c:1548,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtp.c:1560,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 4
    argNames:
    - id
    - out
    - b_m_bit
    - i_pts
    argTypes:
    - sout_stream_id_sys_t*
    - block_t*
    - bool
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1563
      start: 1524
    functionDepth: 2
    functionLinenumber: 1524
    functionLinenumberEnd: 1563
    functionName: rtp_packetize_common
    functionSourceFile: /src/vlc/modules/stream_out/rtp.c
    functionUses: 0
    functionsReached:
    - rtp_compute_ts
    - memcpy
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: "void rtp_packetize_common( sout_stream_id_sys_t *id, block_t *out,\n
      \                          bool b_m_bit, vlc_tick_t i_pts )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - sout_stream_id_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1568
      start: 1565
    functionDepth: 0
    functionLinenumber: 1565
    functionLinenumberEnd: 1568
    functionName: rtp_get_extended_sequence
    functionSourceFile: /src/vlc/modules/stream_out/rtp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t rtp_get_extended_sequence( sout_stream_id_sys_t *id )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_queue_Enqueue
      Src: /src/vlc/modules/stream_out/rtp.c:1572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - out
    argTypes:
    - sout_stream_id_sys_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1570
    functionDepth: 1
    functionLinenumber: 1570
    functionLinenumberEnd: 1573
    functionName: rtp_packetize_send
    functionSourceFile: /src/vlc/modules/stream_out/rtp.c
    functionUses: 0
    functionsReached:
    - vlc_queue_Enqueue
    linkageType: ''
    returnType: void
    signature: void rtp_packetize_send( sout_stream_id_sys_t *id, block_t *out )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - sout_stream_id_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1579
    functionDepth: 0
    functionLinenumber: 1579
    functionLinenumberEnd: 1582
    functionName: rtp_mtu
    functionSourceFile: /src/vlc/modules/stream_out/rtp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t rtp_mtu (const sout_stream_id_sys_t *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/stream_out/rtp.c:1595,1
    - Dst: sout_MuxAddStream
      Src: /src/vlc/modules/stream_out/rtp.c:1597,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/rtp.c:1600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - p_stream
    - p_fmt
    - es_id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - char*
    assertStmts:
    - condition: ( p_mux != NULL )
      pos:
        line_end: 1594
        line_start: 1594
        source_file: /src/vlc/modules/stream_out/rtp.c
    constantsTouched: []
    func_position:
      end: 1606
      start: 1589
    functionDepth: 1
    functionLinenumber: 1589
    functionLinenumberEnd: 1606
    functionName: MuxAdd
    functionSourceFile: /src/vlc/modules/stream_out/rtp.c
    functionUses: 0
    functionsReached:
    - assert
    - sout_MuxAddStream
    - msg_Err
    linkageType: ''
    returnType: void
    signature: 'void *

      MuxAdd( sout_stream_t *p_stream, const es_format_t *p_fmt, const char *es_id
      )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/stream_out/rtp.c:1613,1
    - Dst: sout_MuxSendBuffer
      Src: /src/vlc/modules/stream_out/rtp.c:1615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p_stream
    - id
    - p_buffer
    argTypes:
    - sout_stream_t*
    - void*
    - block_t*
    assertStmts:
    - condition: ( p_mux != NULL )
      pos:
        line_end: 1612
        line_start: 1612
        source_file: /src/vlc/modules/stream_out/rtp.c
    constantsTouched: []
    func_position:
      end: 1616
      start: 1609
    functionDepth: 1
    functionLinenumber: 1609
    functionLinenumberEnd: 1616
    functionName: MuxSend
    functionSourceFile: /src/vlc/modules/stream_out/rtp.c
    functionUses: 0
    functionsReached:
    - assert
    - sout_MuxSendBuffer
    linkageType: ''
    returnType: int
    signature: int MuxSend( sout_stream_t *p_stream, void *id, block_t *p_buffer )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/stream_out/rtp.c:1624,1
    - Dst: sout_MuxDeleteStream
      Src: /src/vlc/modules/stream_out/rtp.c:1626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_stream
    - id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts:
    - condition: ( p_mux != NULL )
      pos:
        line_end: 1623
        line_start: 1623
        source_file: /src/vlc/modules/stream_out/rtp.c
    constantsTouched: []
    func_position:
      end: 1627
      start: 1620
    functionDepth: 1
    functionLinenumber: 1620
    functionLinenumberEnd: 1627
    functionName: MuxDel
    functionSourceFile: /src/vlc/modules/stream_out/rtp.c
    functionUses: 0
    functionsReached:
    - assert
    - sout_MuxDeleteStream
    linkageType: ''
    returnType: void
    signature: void MuxDel( sout_stream_t *p_stream, void *id )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtp_packetize_send
      Src: /src/vlc/modules/stream_out/rtp.c:1653,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/stream_out/rtp.c:1660,1
    - Dst: rtp_packetize_common
      Src: /src/vlc/modules/stream_out/rtp.c:1662,1
    - Dst: __MIN
      Src: /src/vlc/modules/stream_out/rtp.c:1670,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtp.c:1673,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - p_stream
    - p_buffer
    argTypes:
    - sout_stream_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1630
    functionDepth: 3
    functionLinenumber: 1630
    functionLinenumberEnd: 1682
    functionName: AccessOutGrabberWriteBuffer
    functionSourceFile: /src/vlc/modules/stream_out/rtp.c
    functionUses: 0
    functionsReached:
    - rtp_packetize_common
    - memcpy
    - rtp_packetize_send
    - block_Alloc
    - __MIN
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t AccessOutGrabberWriteBuffer( sout_stream_t *p_stream,\n                                            const
      block_t *p_buffer )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AccessOutGrabberWriteBuffer
      Src: /src/vlc/modules/stream_out/rtp.c:1694,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtp.c:1697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p_access
    - p_buffer
    argTypes:
    - sout_access_out_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1685
    functionDepth: 4
    functionLinenumber: 1685
    functionLinenumberEnd: 1702
    functionName: AccessOutGrabberWrite
    functionSourceFile: /src/vlc/modules/stream_out/rtp.c
    functionUses: 0
    functionsReached:
    - block_Release
    - AccessOutGrabberWriteBuffer
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t AccessOutGrabberWrite( sout_access_out_t *p_access,\n                                      block_t
      *p_buffer )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_create
      Src: /src/vlc/modules/stream_out/rtp.c:1709,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/rtp.c:1714,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/rtp.c:1716,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1721
      start: 1705
    functionDepth: 1
    functionLinenumber: 1705
    functionLinenumberEnd: 1721
    functionName: GrabberCreate
    functionSourceFile: /src/vlc/modules/stream_out/rtp.c
    functionUses: 1
    functionsReached:
    - strdup
    - vlc_object_create
    linkageType: ''
    returnType: sout_access_out_t
    signature: sout_access_out_t *GrabberCreate( sout_stream_t *p_stream )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/vlc/modules/stream_out/rtp.c:1725,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - id
    - width
    - height
    argTypes:
    - sout_stream_id_sys_t*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1723
    functionDepth: 0
    functionLinenumber: 1723
    functionLinenumberEnd: 1730
    functionName: rtp_get_video_geometry
    functionSourceFile: /src/vlc/modules/stream_out/rtp.c
    functionUses: 0
    functionsReached:
    - sscanf
    linkageType: ''
    returnType: int
    signature: int rtp_get_video_geometry( sout_stream_id_sys_t *id, int *width, int
      *height )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/bridge.c:179,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/stream_out/bridge.c:179,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/bridge.c:187,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/bridge.c:192,1
    - Dst: var_GetAddress
      Src: /src/vlc/modules/stream_out/bridge.c:194,1
    - Dst: xmalloc
      Src: /src/vlc/modules/stream_out/bridge.c:197,1
    - Dst: var_Create
      Src: /src/vlc/modules/stream_out/bridge.c:199,1
    - Dst: var_SetAddress
      Src: /src/vlc/modules/stream_out/bridge.c:200,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/bridge.c:214,1
    - Dst: asprintf
      Src: /src/vlc/modules/stream_out/bridge.c:215,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/bridge.c:218,1
    - Dst: xrealloc
      Src: /src/vlc/modules/stream_out/bridge.c:223,1
    - Dst: xmalloc
      Src: /src/vlc/modules/stream_out/bridge.c:226,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/bridge.c:241,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/bridge.c:244,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 3
    argNames:
    - p_stream
    - p_fmt
    - es_id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 247
    functionName: AddOut
    functionSourceFile: /src/vlc/modules/stream_out/bridge.c
    functionUses: 0
    functionsReached:
    - asprintf
    - strdup
    - xrealloc
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - var_GetAddress
    - var_SetAddress
    - vlc_object_instance
    - var_Create
    - msg_Err
    - xmalloc
    - msg_Dbg
    - VLC_OBJECT
    - unlikely
    linkageType: ''
    returnType: void
    signature: void *AddOut( sout_stream_t *p_stream, const es_format_t *p_fmt, const
      char *es_id )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/bridge.c:251,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/bridge.c:258,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_out/bridge.c:263,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/bridge.c:266,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/bridge.c:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - p_stream
    - id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 272
    functionName: DelOut
    functionSourceFile: /src/vlc/modules/stream_out/bridge.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - block_ChainRelease
    - free
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void DelOut( sout_stream_t *p_stream, void *id )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_out/bridge.c:281,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/bridge.c:285,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/bridge.c:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - p_stream
    - id
    - p_buffer
    argTypes:
    - sout_stream_t*
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 298
    functionName: SendOut
    functionSourceFile: /src/vlc/modules/stream_out/bridge.c
    functionUses: 0
    functionsReached:
    - block_ChainRelease
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: int
    signature: int SendOut( sout_stream_t *p_stream, void *id, block_t *p_buffer )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/stream_out/bridge.c:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - stream
    - query
    - args
    argTypes:
    - sout_stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 315
    functionName: ControlCommon
    functionSourceFile: /src/vlc/modules/stream_out/bridge.c
    functionUses: 0
    functionsReached:
    - va_arg
    linkageType: ''
    returnType: int
    signature: int ControlCommon(sout_stream_t *stream, int query, va_list args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: config_ChainParse
      Src: /src/vlc/modules/stream_out/bridge.c:334,1
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/bridge.c:337,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/bridge.c:338,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/stream_out/bridge.c:342,1
    - Dst: var_Get
      Src: /src/vlc/modules/stream_out/bridge.c:344,1
    - Dst: asprintf
      Src: /src/vlc/modules/stream_out/bridge.c:345,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/bridge.c:347,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/bridge.c:348,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/bridge.c:349,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/bridge.c:352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 357
    functionName: OpenOut
    functionSourceFile: /src/vlc/modules/stream_out/bridge.c
    functionUses: 0
    functionsReached:
    - asprintf
    - unlikely
    - var_GetNonEmptyString
    - config_ChainParse
    - free
    - var_Get
    - malloc
    linkageType: ''
    returnType: int
    signature: int OpenOut( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/stream_out/bridge.c:366,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/bridge.c:367,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/bridge.c:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 369
    functionName: CloseOut
    functionSourceFile: /src/vlc/modules/stream_out/bridge.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void CloseOut( sout_stream_t *p_stream )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/bridge.c:404,1
    - Dst: sout_StreamIdAdd
      Src: /src/vlc/modules/stream_out/bridge.c:407,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/bridge.c:410,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/bridge.c:421,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/bridge.c:426,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - p_stream
    - p_fmt
    - es_id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 435
    functionName: AddIn
    functionSourceFile: /src/vlc/modules/stream_out/bridge.c
    functionUses: 0
    functionsReached:
    - sout_StreamIdAdd
    - free
    - malloc
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void * AddIn( sout_stream_t *p_stream, const es_format_t *p_fmt, const
      char *es_id )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sout_StreamIdDel
      Src: /src/vlc/modules/stream_out/bridge.c:445,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/bridge.c:446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - p_stream
    - _id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 447
    functionName: DelIn
    functionSourceFile: /src/vlc/modules/stream_out/bridge.c
    functionUses: 0
    functionsReached:
    - free
    - sout_StreamIdDel
    linkageType: ''
    returnType: void
    signature: void DelIn( sout_stream_t *p_stream, void *_id )
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/bridge.c:451,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/stream_out/bridge.c:451,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/stream_out/bridge.c:457,1
    - Dst: sout_StreamIdSend
      Src: /src/vlc/modules/stream_out/bridge.c:461,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/bridge.c:464,1
    - Dst: var_GetAddress
      Src: /src/vlc/modules/stream_out/bridge.c:466,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/bridge.c:482,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/bridge.c:486,1
    - Dst: sout_StreamIdDel
      Src: /src/vlc/modules/stream_out/bridge.c:498,1
    - Dst: sout_StreamIdAdd
      Src: /src/vlc/modules/stream_out/bridge.c:513,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/bridge.c:518,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/bridge.c:522,1
    - Dst: sout_StreamIdDel
      Src: /src/vlc/modules/stream_out/bridge.c:538,1
    - Dst: sout_StreamIdSend
      Src: /src/vlc/modules/stream_out/bridge.c:571,1
    - Dst: sout_StreamIdSend
      Src: /src/vlc/modules/stream_out/bridge.c:584,1
    - Dst: sout_StreamIdSend
      Src: /src/vlc/modules/stream_out/bridge.c:591,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_out/bridge.c:597,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/bridge.c:607,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/bridge.c:608,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/bridge.c:609,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/stream_out/bridge.c:610,1
    - Dst: sout_StreamIdSend
      Src: /src/vlc/modules/stream_out/bridge.c:624,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/bridge.c:628,1
    - Dst: sout_StreamIdSend
      Src: /src/vlc/modules/stream_out/bridge.c:633,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/bridge.c:635,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/bridge.c:639,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/bridge.c:644,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 112
    argCount: 3
    argNames:
    - p_stream
    - _id
    - p_buffer
    argTypes:
    - sout_stream_t*
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 647
    functionName: SendIn
    functionSourceFile: /src/vlc/modules/stream_out/bridge.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - block_Release
    - var_Destroy
    - sout_StreamIdSend
    - vlc_mutex_lock
    - var_GetAddress
    - sout_StreamIdAdd
    - block_ChainRelease
    - vlc_mutex_unlock
    - vlc_object_instance
    - free
    - msg_Dbg
    - msg_Warn
    - VLC_OBJECT
    - sout_StreamIdDel
    linkageType: ''
    returnType: int
    signature: int SendIn( sout_stream_t *p_stream, void *_id, block_t *p_buffer )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/bridge.c:666,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/bridge.c:667,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/stream_out/bridge.c:670,1
    - Dst: var_Get
      Src: /src/vlc/modules/stream_out/bridge.c:673,1
    - Dst: var_Get
      Src: /src/vlc/modules/stream_out/bridge.c:676,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/stream_out/bridge.c:677,1
    - Dst: var_Get
      Src: /src/vlc/modules/stream_out/bridge.c:679,1
    - Dst: asprintf
      Src: /src/vlc/modules/stream_out/bridge.c:680,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/bridge.c:682,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/bridge.c:683,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/bridge.c:686,1
    - Dst: var_Get
      Src: /src/vlc/modules/stream_out/bridge.c:688,1
    - Dst: var_Get
      Src: /src/vlc/modules/stream_out/bridge.c:691,1
    - Dst: var_Get
      Src: /src/vlc/modules/stream_out/bridge.c:696,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/stream_out/bridge.c:697,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 660
    functionDepth: 2
    functionLinenumber: 660
    functionLinenumberEnd: 707
    functionName: OpenIn
    functionSourceFile: /src/vlc/modules/stream_out/bridge.c
    functionUses: 0
    functionsReached:
    - asprintf
    - VLC_TICK_FROM_MS
    - unlikely
    - config_ChainParse
    - free
    - var_Get
    - malloc
    linkageType: ''
    returnType: int
    signature: int OpenIn( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/stream_out/bridge.c:716,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/bridge.c:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 718
    functionName: CloseIn
    functionSourceFile: /src/vlc/modules/stream_out/bridge.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void CloseIn( sout_stream_t *p_stream )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/delay.c:52,1
    - Dst: sout_StreamIdAdd
      Src: /src/vlc/modules/stream_out/delay.c:54,1
    - Dst: sout_StreamIdAdd
      Src: /src/vlc/modules/stream_out/delay.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - p_stream
    - p_fmt
    - es_id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: Add
    functionSourceFile: /src/vlc/modules/stream_out/delay.c
    functionUses: 49
    functionsReached:
    - sout_StreamIdAdd
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: 'void *

      Add( sout_stream_t *p_stream, const es_format_t *p_fmt, const char *es_id )'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sout_StreamIdDel
      Src: /src/vlc/modules/stream_out/delay.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_stream
    - id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: Del
    functionSourceFile: /src/vlc/modules/stream_out/delay.c
    functionUses: 33
    functionsReached:
    - sout_StreamIdDel
    linkageType: ''
    returnType: void
    signature: void Del( sout_stream_t *p_stream, void *id )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - chain
    - delay
    argTypes:
    - block_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: block_ChainApplyDelay
    functionSourceFile: /src/vlc/modules/stream_out/delay.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void block_ChainApplyDelay( block_t *chain, vlc_tick_t delay )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainApplyDelay
      Src: /src/vlc/modules/stream_out/delay.c:92,1
    - Dst: block_ChainApplyDelay
      Src: /src/vlc/modules/stream_out/delay.c:94,1
    - Dst: sout_StreamIdSend
      Src: /src/vlc/modules/stream_out/delay.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - p_stream
    - id
    - p_buffer
    argTypes:
    - sout_stream_t*
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 97
    functionName: Send
    functionSourceFile: /src/vlc/modules/stream_out/delay.c
    functionUses: 81
    functionsReached:
    - block_ChainApplyDelay
    - sout_StreamIdSend
    linkageType: ''
    returnType: int
    signature: int Send( sout_stream_t *p_stream, void *id, block_t *p_buffer )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sout_StreamSetPCR
      Src: /src/vlc/modules/stream_out/delay.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stream
    - pcr
    argTypes:
    - sout_stream_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: SetPCR
    functionSourceFile: /src/vlc/modules/stream_out/delay.c
    functionUses: 36
    functionsReached:
    - sout_StreamSetPCR
    linkageType: ''
    returnType: void
    signature: void SetPCR( sout_stream_t *stream, vlc_tick_t pcr )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/stream_out/delay.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: Close
    functionSourceFile: /src/vlc/modules/stream_out/delay.c
    functionUses: 96
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void Close( sout_stream_t *p_stream )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/stream_out/delay.c:132,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/stream_out/delay.c:137,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/stream_out/delay.c:140,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/stream_out/delay.c:141,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/stream_out/delay.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 146
    functionName: Open
    functionSourceFile: /src/vlc/modules/stream_out/delay.c
    functionUses: 30
    functionsReached:
    - calloc
    - var_GetInteger
    - VLC_TICK_FROM_MS
    - config_ChainParse
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/chromaprint.c:105,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/chromaprint.c:106,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/stream_out/chromaprint.c:111,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/stream_out/chromaprint.c:112,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/chromaprint.c:115,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/chromaprint.c:116,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/chromaprint.c:119,1
    - Dst: chromaprint_get_version
      Src: /src/vlc/modules/stream_out/chromaprint.c:119,1
    - Dst: chromaprint_new
      Src: /src/vlc/modules/stream_out/chromaprint.c:120,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/chromaprint.c:123,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/chromaprint.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 129
    functionName: Open
    functionSourceFile: /src/vlc/modules/stream_out/chromaprint.c
    functionUses: 30
    functionsReached:
    - var_InheritAddress
    - var_InheritInteger
    - msg_Err
    - free
    - msg_Dbg
    - chromaprint_new
    - unlikely
    - malloc
    - chromaprint_get_version
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: chromaprint_finish
      Src: /src/vlc/modules/stream_out/chromaprint.c:135,1
    - Dst: chromaprint_get_fingerprint
      Src: /src/vlc/modules/stream_out/chromaprint.c:137,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/chromaprint.c:142,1
    - Dst: chromaprint_dealloc
      Src: /src/vlc/modules/stream_out/chromaprint.c:143,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/chromaprint.c:144,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/chromaprint.c:149,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/chromaprint.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 154
    functionName: Finish
    functionSourceFile: /src/vlc/modules/stream_out/chromaprint.c
    functionUses: 3
    functionsReached:
    - strdup
    - chromaprint_finish
    - chromaprint_dealloc
    - chromaprint_get_fingerprint
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void Finish( sout_stream_t *p_stream )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Finish
      Src: /src/vlc/modules/stream_out/chromaprint.c:163,1
    - Dst: chromaprint_free
      Src: /src/vlc/modules/stream_out/chromaprint.c:164,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/chromaprint.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: Close
    functionSourceFile: /src/vlc/modules/stream_out/chromaprint.c
    functionUses: 96
    functionsReached:
    - free
    - chromaprint_free
    - Finish
    linkageType: ''
    returnType: void
    signature: void Close( sout_stream_t *p_stream )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/chromaprint.c:178,1
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/chromaprint.c:182,1
    - Dst: chromaprint_start
      Src: /src/vlc/modules/stream_out/chromaprint.c:189,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/chromaprint.c:191,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/chromaprint.c:198,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/chromaprint.c:205,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - p_stream
    - p_fmt
    - es_id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 208
    functionName: Add
    functionSourceFile: /src/vlc/modules/stream_out/chromaprint.c
    functionUses: 49
    functionsReached:
    - chromaprint_start
    - msg_Err
    - free
    - msg_Dbg
    - msg_Warn
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      Add( sout_stream_t *p_stream, const es_format_t *p_fmt, const char *es_id )'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Finish
      Src: /src/vlc/modules/stream_out/chromaprint.c:213,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/chromaprint.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_stream
    - id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 217
    functionName: Del
    functionSourceFile: /src/vlc/modules/stream_out/chromaprint.c
    functionUses: 33
    functionsReached:
    - free
    - Finish
    linkageType: ''
    returnType: void
    signature: void Del( sout_stream_t *p_stream, void *id )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_out/chromaprint.c:227,1
    - Dst: chromaprint_feed
      Src: /src/vlc/modules/stream_out/chromaprint.c:238,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/chromaprint.c:241,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/chromaprint.c:246,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/chromaprint.c:250,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - p_stream
    - _id
    - p_buf
    argTypes:
    - sout_stream_t*
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 255
    functionName: Send
    functionSourceFile: /src/vlc/modules/stream_out/chromaprint.c
    functionUses: 81
    functionsReached:
    - block_Release
    - block_ChainRelease
    - msg_Dbg
    - msg_Warn
    - chromaprint_feed
    linkageType: ''
    returnType: int
    signature: int Send( sout_stream_t *p_stream, void *_id, block_t *p_buf )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/setid.c:117,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/setid.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: OpenCommon
    functionSourceFile: /src/vlc/modules/stream_out/setid.c
    functionUses: 2
    functionsReached:
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int OpenCommon( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OpenCommon
      Src: /src/vlc/modules/stream_out/setid.c:135,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/stream_out/setid.c:141,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/stream_out/setid.c:145,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/stream_out/setid.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 152
    functionName: OpenId
    functionSourceFile: /src/vlc/modules/stream_out/setid.c
    functionUses: 0
    functionsReached:
    - OpenCommon
    - var_GetInteger
    - config_ChainParse
    linkageType: ''
    returnType: int
    signature: int OpenId( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OpenCommon
      Src: /src/vlc/modules/stream_out/setid.c:164,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/stream_out/setid.c:170,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/stream_out/setid.c:174,1
    - Dst: var_GetString
      Src: /src/vlc/modules/stream_out/setid.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 181
    functionName: OpenLang
    functionSourceFile: /src/vlc/modules/stream_out/setid.c
    functionUses: 0
    functionsReached:
    - OpenCommon
    - var_GetInteger
    - var_GetString
    - config_ChainParse
    linkageType: ''
    returnType: int
    signature: int OpenLang( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/stream_out/setid.c:190,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/setid.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: Close
    functionSourceFile: /src/vlc/modules/stream_out/setid.c
    functionUses: 96
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void Close( sout_stream_t *p_stream )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/setid.c:202,1
    - Dst: sout_StreamIdAdd
      Src: /src/vlc/modules/stream_out/setid.c:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - p_stream
    - p_fmt
    - es_id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 211
    functionName: AddId
    functionSourceFile: /src/vlc/modules/stream_out/setid.c
    functionUses: 1
    functionsReached:
    - sout_StreamIdAdd
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: 'void *

      AddId( sout_stream_t *p_stream, const es_format_t *p_fmt, const char *es_id
      )'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/setid.c:221,1
    - Dst: sout_StreamIdAdd
      Src: /src/vlc/modules/stream_out/setid.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - p_stream
    - p_fmt
    - es_id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 231
    functionName: AddLang
    functionSourceFile: /src/vlc/modules/stream_out/setid.c
    functionUses: 0
    functionsReached:
    - sout_StreamIdAdd
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: 'void *

      AddLang( sout_stream_t *p_stream, const es_format_t *p_fmt, const char *es_id
      )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sout_StreamIdDel
      Src: /src/vlc/modules/stream_out/setid.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_stream
    - id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: Del
    functionSourceFile: /src/vlc/modules/stream_out/setid.c
    functionUses: 34
    functionsReached:
    - sout_StreamIdDel
    linkageType: ''
    returnType: void
    signature: void Del( sout_stream_t *p_stream, void *id )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sout_StreamIdSend
      Src: /src/vlc/modules/stream_out/setid.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_stream
    - id
    - p_buffer
    argTypes:
    - sout_stream_t*
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: Send
    functionSourceFile: /src/vlc/modules/stream_out/setid.c
    functionUses: 82
    functionsReached:
    - sout_StreamIdSend
    linkageType: ''
    returnType: int
    signature: int Send( sout_stream_t *p_stream, void *id, block_t *p_buffer )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sout_StreamSetPCR
      Src: /src/vlc/modules/stream_out/setid.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stream
    - pcr
    argTypes:
    - sout_stream_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: SetPCR
    functionSourceFile: /src/vlc/modules/stream_out/setid.c
    functionUses: 37
    functionsReached:
    - sout_StreamSetPCR
    linkageType: ''
    returnType: void
    signature: void SetPCR( sout_stream_t *stream, vlc_tick_t pcr )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/vlc/modules/stream_out/renderer_common.cpp:87,1
    - Dst: end
      Src: /src/vlc/modules/stream_out/renderer_common.cpp:88,1
    - Dst: vlc_fourcc_to_char
      Src: /src/vlc/modules/stream_out/renderer_common.cpp:95,1
    - Dst: get_opt
      Src: /src/vlc/modules/stream_out/renderer_common.cpp:100,1
    - Dst: str
      Src: /src/vlc/modules/stream_out/renderer_common.cpp:103,1
    - Dst: sout_StreamChainNew
      Src: /src/vlc/modules/stream_out/renderer_common.cpp:106,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/renderer_common.cpp:106,1
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/stream_out/renderer_common.cpp:106,1
    - Dst: es_format_InitFromVideo
      Src: /src/vlc/modules/stream_out/renderer_common.cpp:114,1
    - Dst: sout_StreamIdAdd
      Src: /src/vlc/modules/stream_out/renderer_common.cpp:124,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/renderer_common.cpp:126,1
    - Dst: sout_StreamIdDel
      Src: /src/vlc/modules/stream_out/renderer_common.cpp:130,1
    - Dst: sout_StreamChainDelete
      Src: /src/vlc/modules/stream_out/renderer_common.cpp:131,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/renderer_common.cpp:135,1
    - Dst: str
      Src: /src/vlc/modules/stream_out/renderer_common.cpp:137,1
    - Dst: std::domain_error
      Src: /src/vlc/modules/stream_out/renderer_common.cpp:143,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 5
    argNames:
    - p_stream
    - codecs
    - out_codec
    - p_vid
    - i_quality
    argTypes:
    - sout_stream_t*
    - std::vector<vlc_fourcc_t>
    - vlc_fourcc_t*
    - video_format_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 144
    functionName: GetVencOption
    functionSourceFile: /src/vlc/modules/stream_out/renderer_common.cpp
    functionUses: 0
    functionsReached:
    - es_format_Clean
    - std::domain_error
    - sout_StreamIdAdd
    - std::stringstream::str
    - sout_StreamChainDelete
    - get_opt
    - msg_Dbg
    - vlc_fourcc_to_char
    - VLC_OBJECT
    - sout_StreamIdDel
    - str
    - end
    - es_format_InitFromVideo
    - sout_StreamChainNew
    - find
    linkageType: ''
    returnType: std::string
    signature: "std::string GetVencOption( sout_stream_t *p_stream, std::vector<vlc_fourcc_t>
      codecs,\n        vlc_fourcc_t *out_codec, const video_format_t *p_vid, int i_quality
      )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetVencOption
      Src: /src/vlc/modules/stream_out/renderer_common.cpp:155,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/renderer_common.cpp:171,1
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/stream_out/renderer_common.cpp:175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - p_stream
    - codecs
    - out_codec
    - p_vid
    - i_quality
    argTypes:
    - sout_stream_t*
    - std::vector<vlc_fourcc_t>
    - vlc_fourcc_t*
    - video_format_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 176
    functionName: vlc_sout_renderer_GetVcodecOption
    functionSourceFile: /src/vlc/modules/stream_out/renderer_common.cpp
    functionUses: 0
    functionsReached:
    - GetVencOption
    - std::stringstream::str
    - msg_Warn
    linkageType: ''
    returnType: std::string
    signature: "std::string vlc_sout_renderer_GetVcodecOption(sout_stream_t *p_stream,\n
      \       std::vector<vlc_fourcc_t> codecs,\n        vlc_fourcc_t *out_codec,
      const video_format_t *p_vid, int i_quality)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: GetVencVPXOption
    functionSourceFile: /src/vlc/modules/stream_out/renderer_common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string GetVencVPXOption( sout_stream_t * /* p_stream */,\n                                      const
      video_format_t * /* p_vid */,\n                                      int /*
      i_quality */ )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/stream_out/renderer_common.cpp:221,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - i_quality
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 222
    functionName: GetVencQSVH264Option
    functionSourceFile: /src/vlc/modules/stream_out/renderer_common.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: "std::string GetVencQSVH264Option( sout_stream_t * /* p_stream */,\n
      \                                        const video_format_t * /* p_vid */,\n
      \                                        int i_quality )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/stream_out/renderer_common.cpp:261,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - p_vid
    - i_quality
    argTypes:
    - video_format_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 262
    functionName: GetVencX264Option
    functionSourceFile: /src/vlc/modules/stream_out/renderer_common.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: "std::string GetVencX264Option( sout_stream_t * /* p_stream */,\n                                      const
      video_format_t *p_vid,\n                                      int i_quality
      )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/stream_out/renderer_common.cpp:287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - i_quality
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 288
    functionName: GetVencAvcodecVTOption
    functionSourceFile: /src/vlc/modules/stream_out/renderer_common.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: "std::string GetVencAvcodecVTOption( sout_stream_t * /* p_stream */,\n
      \                                          const video_format_t * /* p_vid */,\n
      \                                          int i_quality )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/vlc/modules/stream_out/sdp_helper.c:44,1
    - Dst: vlc_getnameinfo
      Src: /src/vlc/modules/stream_out/sdp_helper.c:46,1
    - Dst: net_SockAddrIsMulticast
      Src: /src/vlc/modules/stream_out/sdp_helper.c:54,1
    - Dst: strcat
      Src: /src/vlc/modules/stream_out/sdp_helper.c:55,1
    - Dst: strchr
      Src: /src/vlc/modules/stream_out/sdp_helper.c:63,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - addr
    - addrlen
    - buf
    argTypes:
    - struct sockaddr*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 76
    functionName: AddressToSDP
    functionSourceFile: /src/vlc/modules/stream_out/sdp_helper.c
    functionUses: 0
    functionsReached:
    - strchr
    - vlc_getnameinfo
    - net_SockAddrIsMulticast
    - strcpy
    - strcat
    linkageType: ''
    returnType: char
    signature: char *AddressToSDP (const struct sockaddr *addr, size_t addrlen, char
      *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vlc/modules/stream_out/sdp_helper.c:81,1
    - Dst: strchr
      Src: /src/vlc/modules/stream_out/sdp_helper.c:83,1
    - Dst: IsUTF8
      Src: /src/vlc/modules/stream_out/sdp_helper.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: IsSDPString
    functionSourceFile: /src/vlc/modules/stream_out/sdp_helper.c
    functionUses: 0
    functionsReached:
    - strchr
    - IsUTF8
    linkageType: ''
    returnType: bool
    signature: bool IsSDPString (const char *str)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/stream_out/sdp_helper.c:98,1
    - Dst: strcpy
      Src: /src/vlc/modules/stream_out/sdp_helper.c:105,1
    - Dst: vlc_memstream_open
      Src: /src/vlc/modules/stream_out/sdp_helper.c:107,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/stream_out/sdp_helper.c:108,1
    - Dst: AddressToSDP
      Src: /src/vlc/modules/stream_out/sdp_helper.c:110,1
    - Dst: vlc_ntp_time
      Src: /src/vlc/modules/stream_out/sdp_helper.c:113,1
    - Dst: gethostname
      Src: /src/vlc/modules/stream_out/sdp_helper.c:116,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/stream_out/sdp_helper.c:118,1
    - Dst: strcpy
      Src: /src/vlc/modules/stream_out/sdp_helper.c:122,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/stream_out/sdp_helper.c:123,1
    - Dst: IsSDPString
      Src: /src/vlc/modules/stream_out/sdp_helper.c:126,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/stream_out/sdp_helper.c:129,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/sdp_helper.c:130,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/stream_out/sdp_helper.c:133,1
    - Dst: strcpy
      Src: /src/vlc/modules/stream_out/sdp_helper.c:135,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/stream_out/sdp_helper.c:136,1
    - Dst: IsSDPString
      Src: /src/vlc/modules/stream_out/sdp_helper.c:139,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/stream_out/sdp_helper.c:142,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/sdp_helper.c:143,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/stream_out/sdp_helper.c:148,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/stream_out/sdp_helper.c:150,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/stream_out/sdp_helper.c:155,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/stream_out/sdp_helper.c:156,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/stream_out/sdp_helper.c:157,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/stream_out/sdp_helper.c:158,1
    - Dst: AddressToSDP
      Src: /src/vlc/modules/stream_out/sdp_helper.c:164,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/stream_out/sdp_helper.c:165,1
    - Dst: strcpy
      Src: /src/vlc/modules/stream_out/sdp_helper.c:170,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/stream_out/sdp_helper.c:171,1
    - Dst: IsSDPString
      Src: /src/vlc/modules/stream_out/sdp_helper.c:174,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/stream_out/sdp_helper.c:177,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/stream_out/sdp_helper.c:178,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/sdp_helper.c:179,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/sdp_helper.c:183,1
    - Dst: vlc_memstream_close
      Src: /src/vlc/modules/stream_out/sdp_helper.c:184,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/sdp_helper.c:185,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 7
    argNames:
    - stream
    - obj
    - cfgpref
    - src
    - srclen
    - addr
    - addrlen
    argTypes:
    - struct vlc_memstream*
    - vlc_object_t*
    - char*
    - struct sockaddr*
    - size_t
    - struct sockaddr*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 187
    functionName: vlc_sdp_Start
    functionSourceFile: /src/vlc/modules/stream_out/sdp_helper.c
    functionUses: 2
    functionsReached:
    - vlc_memstream_puts
    - strlen
    - vlc_memstream_open
    - vlc_memstream_printf
    - IsSDPString
    - var_GetNonEmptyString
    - free
    - strcpy
    - vlc_ntp_time
    - gethostname
    - vlc_memstream_close
    - AddressToSDP
    linkageType: ''
    returnType: int
    signature: "int vlc_sdp_Start(struct vlc_memstream *restrict stream,\n                  vlc_object_t
      *obj, const char *cfgpref,\n                  const struct sockaddr *src, size_t
      srclen,\n                  const struct sockaddr *addr, size_t addrlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sout_StreamIdAdd
      Src: /src/vlc/modules/stream_out/duplicate.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stream
    - fmt
    - es_id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: PCRSelectorAdd
    functionSourceFile: /src/vlc/modules/stream_out/duplicate.c
    functionUses: 0
    functionsReached:
    - sout_StreamIdAdd
    linkageType: ''
    returnType: void
    signature: "void *PCRSelectorAdd( sout_stream_t *stream,\n                             const
      es_format_t *fmt,\n                             const char *es_id )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sout_StreamIdDel
      Src: /src/vlc/modules/stream_out/duplicate.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stream
    - id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: PCRSelectorDel
    functionSourceFile: /src/vlc/modules/stream_out/duplicate.c
    functionUses: 0
    functionsReached:
    - sout_StreamIdDel
    linkageType: ''
    returnType: void
    signature: void PCRSelectorDel( sout_stream_t *stream, void *id )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sout_StreamControlVa
      Src: /src/vlc/modules/stream_out/duplicate.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stream
    - query
    - args
    argTypes:
    - sout_stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: PCRSelectorControl
    functionSourceFile: /src/vlc/modules/stream_out/duplicate.c
    functionUses: 0
    functionsReached:
    - sout_StreamControlVa
    linkageType: ''
    returnType: int
    signature: int PCRSelectorControl( sout_stream_t *stream, int query, va_list args
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sout_StreamIdSend
      Src: /src/vlc/modules/stream_out/duplicate.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stream
    - id
    - frame
    argTypes:
    - sout_stream_t*
    - void*
    - vlc_frame_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: PCRSelectorSend
    functionSourceFile: /src/vlc/modules/stream_out/duplicate.c
    functionUses: 0
    functionsReached:
    - sout_StreamIdSend
    linkageType: ''
    returnType: int
    signature: "int PCRSelectorSend( sout_stream_t *stream,\n                            void
      *id,\n                            vlc_frame_t *frame )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sout_StreamFlush
      Src: /src/vlc/modules/stream_out/duplicate.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stream
    - id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: PCRSelectorFlush
    functionSourceFile: /src/vlc/modules/stream_out/duplicate.c
    functionUses: 0
    functionsReached:
    - sout_StreamFlush
    linkageType: ''
    returnType: void
    signature: void PCRSelectorFlush( sout_stream_t *stream, void *id )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vector_foreach_ref
      Src: /src/vlc/modules/stream_out/duplicate.c:138,1
    - Dst: __MIN
      Src: /src/vlc/modules/stream_out/duplicate.c:143,1
    - Dst: sout_StreamSetPCR
      Src: /src/vlc/modules/stream_out/duplicate.c:151,1
    - Dst: vlc_vector_foreach_ref
      Src: /src/vlc/modules/stream_out/duplicate.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - stream
    - pcr
    argTypes:
    - sout_stream_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 156
    functionName: PCRSelectorSetPCR
    functionSourceFile: /src/vlc/modules/stream_out/duplicate.c
    functionUses: 0
    functionsReached:
    - vlc_vector_foreach_ref
    - __MIN
    - sout_StreamSetPCR
    linkageType: ''
    returnType: void
    signature: void PCRSelectorSetPCR( sout_stream_t *stream, vlc_tick_t pcr )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sout_StreamNew
      Src: /src/vlc/modules/stream_out/duplicate.c:161,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/duplicate.c:161,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/duplicate.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - parent
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 177
    functionName: PCRSelectorNew
    functionSourceFile: /src/vlc/modules/stream_out/duplicate.c
    functionUses: 0
    functionsReached:
    - sout_StreamNew
    - unlikely
    - VLC_OBJECT
    linkageType: ''
    returnType: sout_stream_t
    signature: sout_stream_t *PCRSelectorNew( sout_stream_t *parent )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/stream_out/duplicate.c:189,1
    - Dst: va_arg
      Src: /src/vlc/modules/stream_out/duplicate.c:190,1
    - Dst: vlc_vector_foreach_ref
      Src: /src/vlc/modules/stream_out/duplicate.c:193,1
    - Dst: sout_StreamControl
      Src: /src/vlc/modules/stream_out/duplicate.c:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - p_stream
    - i_query
    - args
    argTypes:
    - sout_stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 204
    functionName: Control
    functionSourceFile: /src/vlc/modules/stream_out/duplicate.c
    functionUses: 45
    functionsReached:
    - vlc_vector_foreach_ref
    - va_arg
    - sout_StreamControl
    linkageType: ''
    returnType: int
    signature: int Control( sout_stream_t *p_stream, int i_query, va_list args )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vector_foreach_ref
      Src: /src/vlc/modules/stream_out/duplicate.c:214,1
    - Dst: sout_StreamChainDelete
      Src: /src/vlc/modules/stream_out/duplicate.c:216,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/duplicate.c:217,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/duplicate.c:218,1
    - Dst: vlc_vector_destroy
      Src: /src/vlc/modules/stream_out/duplicate.c:220,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/duplicate.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 223
    functionName: Close
    functionSourceFile: /src/vlc/modules/stream_out/duplicate.c
    functionUses: 96
    functionsReached:
    - vlc_vector_foreach_ref
    - free
    - vlc_vector_destroy
    - sout_StreamChainDelete
    linkageType: ''
    returnType: void
    signature: void Close( sout_stream_t * p_stream )
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/duplicate.c:243,1
    - Dst: vlc_vector_init
      Src: /src/vlc/modules/stream_out/duplicate.c:247,1
    - Dst: strncmp
      Src: /src/vlc/modules/stream_out/duplicate.c:253,1
    - Dst: strlen
      Src: /src/vlc/modules/stream_out/duplicate.c:253,1
    - Dst: PCRSelectorNew
      Src: /src/vlc/modules/stream_out/duplicate.c:260,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/duplicate.c:261,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/duplicate.c:267,1
    - Dst: sout_StreamChainNew
      Src: /src/vlc/modules/stream_out/duplicate.c:268,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/duplicate.c:269,1
    - Dst: vlc_vector_push
      Src: /src/vlc/modules/stream_out/duplicate.c:273,1
    - Dst: strncmp
      Src: /src/vlc/modules/stream_out/duplicate.c:277,1
    - Dst: strlen
      Src: /src/vlc/modules/stream_out/duplicate.c:277,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/duplicate.c:285,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/duplicate.c:289,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/duplicate.c:290,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/duplicate.c:291,1
    - Dst: vlc_vector_last_ref
      Src: /src/vlc/modules/stream_out/duplicate.c:294,1
    - Dst: strncmp
      Src: /src/vlc/modules/stream_out/duplicate.c:299,1
    - Dst: strlen
      Src: /src/vlc/modules/stream_out/duplicate.c:299,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/duplicate.c:307,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/duplicate.c:311,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/duplicate.c:312,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/duplicate.c:313,1
    - Dst: vlc_vector_last_ref
      Src: /src/vlc/modules/stream_out/duplicate.c:315,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/duplicate.c:320,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/duplicate.c:326,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/duplicate.c:327,1
    - Dst: Close
      Src: /src/vlc/modules/stream_out/duplicate.c:335,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 64
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 337
    functionName: Open
    functionSourceFile: /src/vlc/modules/stream_out/duplicate.c
    functionUses: 30
    functionsReached:
    - strdup
    - strlen
    - vlc_vector_init
    - PCRSelectorNew
    - msg_Err
    - strncmp
    - free
    - vlc_vector_push
    - msg_Dbg
    - VLC_OBJECT
    - vlc_vector_last_ref
    - Close
    - sout_StreamChainNew
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/duplicate.c:350,1
    - Dst: asprintf
      Src: /src/vlc/modules/stream_out/duplicate.c:353,1
    - Dst: asprintf
      Src: /src/vlc/modules/stream_out/duplicate.c:357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - stream_index
    - es_id
    - suffix
    argTypes:
    - size_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 360
    functionName: SuffixESID
    functionSourceFile: /src/vlc/modules/stream_out/duplicate.c
    functionUses: 0
    functionsReached:
    - asprintf
    - strdup
    linkageType: ''
    returnType: char
    signature: 'char *

      SuffixESID( size_t stream_index, const char *es_id, const char *suffix )'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/duplicate.c:371,1
    - Dst: vlc_vector_init
      Src: /src/vlc/modules/stream_out/duplicate.c:375,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/duplicate.c:377,1
    - Dst: vlc_vector_foreach_ref
      Src: /src/vlc/modules/stream_out/duplicate.c:381,1
    - Dst: ESSelected
      Src: /src/vlc/modules/stream_out/duplicate.c:385,1
    - Dst: SuffixESID
      Src: /src/vlc/modules/stream_out/duplicate.c:388,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/duplicate.c:389,1
    - Dst: sout_StreamIdAdd
      Src: /src/vlc/modules/stream_out/duplicate.c:392,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/duplicate.c:396,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/duplicate.c:397,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/duplicate.c:401,1
    - Dst: vlc_vector_push
      Src: /src/vlc/modules/stream_out/duplicate.c:407,1
    - Dst: sout_StreamIdDel
      Src: /src/vlc/modules/stream_out/duplicate.c:409,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/duplicate.c:410,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/duplicate.c:416,1
    - Dst: Del
      Src: /src/vlc/modules/stream_out/duplicate.c:423,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - p_stream
    - p_fmt
    - es_id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 365
    functionDepth: 3
    functionLinenumber: 365
    functionLinenumberEnd: 425
    functionName: Add
    functionSourceFile: /src/vlc/modules/stream_out/duplicate.c
    functionUses: 54
    functionsReached:
    - vlc_vector_foreach_ref
    - sout_StreamIdAdd
    - vlc_vector_init
    - Del
    - free
    - vlc_vector_push
    - msg_Dbg
    - sout_StreamIdDel
    - ESSelected
    - SuffixESID
    - unlikely
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      Add( sout_stream_t *p_stream, const es_format_t *p_fmt, const char *es_id )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vector_foreach_ref
      Src: /src/vlc/modules/stream_out/duplicate.c:435,1
    - Dst: sout_StreamIdDel
      Src: /src/vlc/modules/stream_out/duplicate.c:437,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/duplicate.c:438,1
    - Dst: vlc_vector_destroy
      Src: /src/vlc/modules/stream_out/duplicate.c:440,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/duplicate.c:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - p_stream
    - _id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 444
    functionName: Del
    functionSourceFile: /src/vlc/modules/stream_out/duplicate.c
    functionUses: 38
    functionsReached:
    - vlc_vector_foreach_ref
    - vlc_vector_destroy
    - free
    - sout_StreamIdDel
    linkageType: ''
    returnType: void
    signature: void Del( sout_stream_t *p_stream, void *_id )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/stream_out/duplicate.c:454,1
    - Dst: vlc_vector_foreach_ref
      Src: /src/vlc/modules/stream_out/duplicate.c:457,1
    - Dst: vlc_vector_last_ref
      Src: /src/vlc/modules/stream_out/duplicate.c:459,1
    - Dst: vlc_frame_Duplicate
      Src: /src/vlc/modules/stream_out/duplicate.c:460,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/duplicate.c:461,1
    - Dst: vlc_frame_Release
      Src: /src/vlc/modules/stream_out/duplicate.c:463,1
    - Dst: sout_StreamIdSend
      Src: /src/vlc/modules/stream_out/duplicate.c:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - p_stream
    - _id
    - frame
    argTypes:
    - sout_stream_t*
    - void*
    - vlc_frame_t*
    assertStmts:
    - condition: (id->dup_ids.size > 0)
      pos:
        line_end: 453
        line_start: 453
        source_file: /src/vlc/modules/stream_out/duplicate.c
    constantsTouched: []
    func_position:
      end: 472
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 472
    functionName: Send
    functionSourceFile: /src/vlc/modules/stream_out/duplicate.c
    functionUses: 84
    functionsReached:
    - vlc_vector_foreach_ref
    - vlc_frame_Release
    - assert
    - sout_StreamIdSend
    - vlc_frame_Duplicate
    - vlc_vector_last_ref
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Send( sout_stream_t *p_stream, void *_id, vlc_frame_t *frame )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vector_foreach_ref
      Src: /src/vlc/modules/stream_out/duplicate.c:479,1
    - Dst: sout_StreamSetPCR
      Src: /src/vlc/modules/stream_out/duplicate.c:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - pcr
    argTypes:
    - sout_stream_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 483
    functionName: SetPCR
    functionSourceFile: /src/vlc/modules/stream_out/duplicate.c
    functionUses: 39
    functionsReached:
    - vlc_vector_foreach_ref
    - sout_StreamSetPCR
    linkageType: ''
    returnType: void
    signature: void SetPCR( sout_stream_t *stream, vlc_tick_t pcr )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/vlc/modules/stream_out/duplicate.c:491,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - psz_range
    - i_num
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 498
    functionName: NumInRange
    functionSourceFile: /src/vlc/modules/stream_out/duplicate.c
    functionUses: 0
    functionsReached:
    - sscanf
    linkageType: ''
    returnType: bool
    signature: bool NumInRange( const char *psz_range, int i_num )
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/duplicate.c:516,1
    - Dst: strchr
      Src: /src/vlc/modules/stream_out/duplicate.c:538,1
    - Dst: strncmp
      Src: /src/vlc/modules/stream_out/duplicate.c:550,1
    - Dst: strlen
      Src: /src/vlc/modules/stream_out/duplicate.c:550,1
    - Dst: strncmp
      Src: /src/vlc/modules/stream_out/duplicate.c:551,1
    - Dst: strlen
      Src: /src/vlc/modules/stream_out/duplicate.c:551,1
    - Dst: strncmp
      Src: /src/vlc/modules/stream_out/duplicate.c:558,1
    - Dst: strlen
      Src: /src/vlc/modules/stream_out/duplicate.c:558,1
    - Dst: strncmp
      Src: /src/vlc/modules/stream_out/duplicate.c:559,1
    - Dst: strlen
      Src: /src/vlc/modules/stream_out/duplicate.c:559,1
    - Dst: strncmp
      Src: /src/vlc/modules/stream_out/duplicate.c:566,1
    - Dst: strlen
      Src: /src/vlc/modules/stream_out/duplicate.c:566,1
    - Dst: strncmp
      Src: /src/vlc/modules/stream_out/duplicate.c:567,1
    - Dst: strlen
      Src: /src/vlc/modules/stream_out/duplicate.c:567,1
    - Dst: strncmp
      Src: /src/vlc/modules/stream_out/duplicate.c:574,1
    - Dst: strlen
      Src: /src/vlc/modules/stream_out/duplicate.c:574,1
    - Dst: strncmp
      Src: /src/vlc/modules/stream_out/duplicate.c:581,1
    - Dst: strlen
      Src: /src/vlc/modules/stream_out/duplicate.c:581,1
    - Dst: strncmp
      Src: /src/vlc/modules/stream_out/duplicate.c:588,1
    - Dst: strlen
      Src: /src/vlc/modules/stream_out/duplicate.c:588,1
    - Dst: strchr
      Src: /src/vlc/modules/stream_out/duplicate.c:595,1
    - Dst: strchr
      Src: /src/vlc/modules/stream_out/duplicate.c:597,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/duplicate.c:600,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/duplicate.c:600,1
    - Dst: NumInRange
      Src: /src/vlc/modules/stream_out/duplicate.c:604,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/duplicate.c:607,1
    - Dst: NumInRange
      Src: /src/vlc/modules/stream_out/duplicate.c:611,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/duplicate.c:614,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/duplicate.c:614,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/duplicate.c:615,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/duplicate.c:615,1
    - Dst: NumInRange
      Src: /src/vlc/modules/stream_out/duplicate.c:619,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/duplicate.c:622,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/duplicate.c:622,1
    - Dst: NumInRange
      Src: /src/vlc/modules/stream_out/duplicate.c:626,1
    - Dst: vlc_error
      Src: /src/vlc/modules/stream_out/duplicate.c:632,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/duplicate.c:638,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 81
    argCount: 3
    argNames:
    - logger
    - fmt
    - psz_select
    argTypes:
    - struct vlc_logger*
    - es_format_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 645
    functionName: ESSelected
    functionSourceFile: /src/vlc/modules/stream_out/duplicate.c
    functionUses: 1
    functionsReached:
    - strchr
    - strdup
    - strlen
    - strncmp
    - strcmp
    - free
    - vlc_error
    - NumInRange
    linkageType: ''
    returnType: bool
    signature: "bool ESSelected( struct vlc_logger *logger, const es_format_t *fmt,\n
      \                       char *psz_select )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vlc_memstream_open
      Src: /src/vlc/modules/stream_out/es.c:71,1
    - Dst: vlc_memstream_putc
      Src: /src/vlc/modules/stream_out/es.c:81,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/stream_out/es.c:88,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/stream_out/es.c:91,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/stream_out/es.c:94,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/stream_out/es.c:97,1
    - Dst: vlc_memstream_putc
      Src: /src/vlc/modules/stream_out/es.c:100,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/stream_out/es.c:103,1
    - Dst: vlc_memstream_close
      Src: /src/vlc/modules/stream_out/es.c:108,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 5
    argNames:
    - psz_fmt
    - i_fourcc
    - i_count
    - psz_access
    - psz_mux
    argTypes:
    - char*
    - vlc_fourcc_t
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 111
    functionName: es_print_url
    functionSourceFile: /src/vlc/modules/stream_out/es.c
    functionUses: 0
    functionsReached:
    - vlc_memstream_puts
    - vlc_memstream_open
    - vlc_memstream_printf
    - vlc_memstream_putc
    - vlc_memstream_close
    linkageType: ''
    returnType: VLC_MALLOC
    signature: "VLC_MALLOC * es_print_url( const char *psz_fmt, vlc_fourcc_t i_fourcc,
      int i_count,\n                                       const char *psz_access,
      const char *psz_mux )"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: es_print_url
      Src: /src/vlc/modules/stream_out/es.c:155,1
    - Dst: es_print_url
      Src: /src/vlc/modules/stream_out/es.c:160,1
    - Dst: es_print_url
      Src: /src/vlc/modules/stream_out/es.c:179,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/es.c:192,1
    - Dst: sout_AccessOutNew
      Src: /src/vlc/modules/stream_out/es.c:196,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/es.c:199,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/stream_out/es.c:201,1
    - Dst: _
      Src: /src/vlc/modules/stream_out/es.c:201,1
    - Dst: _
      Src: /src/vlc/modules/stream_out/es.c:202,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/es.c:204,1
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/es.c:208,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/es.c:209,1
    - Dst: sout_AccessOutDelete
      Src: /src/vlc/modules/stream_out/es.c:211,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/es.c:212,1
    - Dst: sout_AccessOutCanControlPace
      Src: /src/vlc/modules/stream_out/es.c:216,1
    - Dst: sout_MuxNew
      Src: /src/vlc/modules/stream_out/es.c:219,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/es.c:222,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/stream_out/es.c:224,1
    - Dst: _
      Src: /src/vlc/modules/stream_out/es.c:224,1
    - Dst: _
      Src: /src/vlc/modules/stream_out/es.c:225,1
    - Dst: sout_AccessOutDelete
      Src: /src/vlc/modules/stream_out/es.c:227,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/es.c:228,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/es.c:231,1
    - Dst: sout_MuxAddStream
      Src: /src/vlc/modules/stream_out/es.c:233,1
    - Dst: sout_MuxDelete
      Src: /src/vlc/modules/stream_out/es.c:237,1
    - Dst: sout_AccessOutDelete
      Src: /src/vlc/modules/stream_out/es.c:238,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/es.c:239,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 73
    argCount: 3
    argNames:
    - p_stream
    - p_fmt
    - es_id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 246
    functionName: Add
    functionSourceFile: /src/vlc/modules/stream_out/es.c
    functionUses: 54
    functionsReached:
    - sout_MuxNew
    - es_print_url
    - vlc_dialog_display_error
    - sout_AccessOutDelete
    - sout_MuxAddStream
    - _
    - msg_Err
    - free
    - msg_Dbg
    - sout_MuxDelete
    - sout_AccessOutNew
    - unlikely
    - malloc
    - sout_AccessOutCanControlPace
    linkageType: ''
    returnType: void
    signature: 'void *

      Add( sout_stream_t *p_stream, const es_format_t *p_fmt, const char *es_id )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sout_MuxDeleteStream
      Src: /src/vlc/modules/stream_out/es.c:254,1
    - Dst: sout_MuxDelete
      Src: /src/vlc/modules/stream_out/es.c:255,1
    - Dst: sout_AccessOutDelete
      Src: /src/vlc/modules/stream_out/es.c:256,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/es.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p_stream
    - _id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 260
    functionName: Del
    functionSourceFile: /src/vlc/modules/stream_out/es.c
    functionUses: 38
    functionsReached:
    - free
    - sout_AccessOutDelete
    - sout_MuxDeleteStream
    - sout_MuxDelete
    linkageType: ''
    returnType: void
    signature: void Del( sout_stream_t *p_stream, void *_id )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/es.c:264,1
    - Dst: sout_MuxSendBuffer
      Src: /src/vlc/modules/stream_out/es.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p_stream
    - _id
    - p_buffer
    argTypes:
    - sout_stream_t*
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 267
    functionName: Send
    functionSourceFile: /src/vlc/modules/stream_out/es.c
    functionUses: 84
    functionsReached:
    - sout_MuxSendBuffer
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int Send( sout_stream_t *p_stream, void *_id, block_t *p_buffer )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/stream_out/es.c:277,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/es.c:278,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/es.c:279,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/es.c:281,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/es.c:282,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/es.c:283,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/es.c:285,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/es.c:286,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/es.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 288
    functionName: Close
    functionSourceFile: /src/vlc/modules/stream_out/es.c
    functionUses: 97
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void Close( sout_stream_t *p_stream )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/stream_out/es.c:312,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/es.c:314,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/stream_out/es.c:317,1
    - Dst: var_GetString
      Src: /src/vlc/modules/stream_out/es.c:323,1
    - Dst: var_GetString
      Src: /src/vlc/modules/stream_out/es.c:324,1
    - Dst: var_GetString
      Src: /src/vlc/modules/stream_out/es.c:325,1
    - Dst: var_GetString
      Src: /src/vlc/modules/stream_out/es.c:327,1
    - Dst: var_GetString
      Src: /src/vlc/modules/stream_out/es.c:328,1
    - Dst: var_GetString
      Src: /src/vlc/modules/stream_out/es.c:329,1
    - Dst: var_GetString
      Src: /src/vlc/modules/stream_out/es.c:331,1
    - Dst: var_GetString
      Src: /src/vlc/modules/stream_out/es.c:332,1
    - Dst: var_GetString
      Src: /src/vlc/modules/stream_out/es.c:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 339
    functionName: Open
    functionSourceFile: /src/vlc/modules/stream_out/es.c
    functionUses: 30
    functionsReached:
    - unlikely
    - vlc_obj_malloc
    - var_GetString
    - config_ChainParse
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sout_MuxAddStream
      Src: /src/vlc/modules/stream_out/standard.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p_stream
    - p_fmt
    - es_id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: Add
    functionSourceFile: /src/vlc/modules/stream_out/standard.c
    functionUses: 54
    functionsReached:
    - sout_MuxAddStream
    linkageType: ''
    returnType: void
    signature: 'void *

      Add( sout_stream_t *p_stream, const es_format_t *p_fmt, const char *es_id )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sout_MuxDeleteStream
      Src: /src/vlc/modules/stream_out/standard.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_stream
    - id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: Del
    functionSourceFile: /src/vlc/modules/stream_out/standard.c
    functionUses: 38
    functionsReached:
    - sout_MuxDeleteStream
    linkageType: ''
    returnType: void
    signature: void Del( sout_stream_t *p_stream, void *id )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sout_MuxSendBuffer
      Src: /src/vlc/modules/stream_out/standard.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_stream
    - id
    - p_buffer
    argTypes:
    - sout_stream_t*
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: Send
    functionSourceFile: /src/vlc/modules/stream_out/standard.c
    functionUses: 84
    functionsReached:
    - sout_MuxSendBuffer
    linkageType: ''
    returnType: int
    signature: int Send( sout_stream_t *p_stream, void *id, block_t *p_buffer )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sout_MuxFlush
      Src: /src/vlc/modules/stream_out/standard.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_stream
    - id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: Flush
    functionSourceFile: /src/vlc/modules/stream_out/standard.c
    functionUses: 36
    functionsReached:
    - sout_MuxFlush
    linkageType: ''
    returnType: void
    signature: void Flush( sout_stream_t *p_stream, void *id )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/vlc/modules/stream_out/standard.c:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - psz_alias
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 169
    functionName: getMuxFromAlias
    functionSourceFile: /src/vlc/modules/stream_out/standard.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: char
    signature: char *getMuxFromAlias( const char *psz_alias )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/vlc/modules/stream_out/standard.c:178,1
    - Dst: getMuxFromAlias
      Src: /src/vlc/modules/stream_out/standard.c:181,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/standard.c:187,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/standard.c:191,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/standard.c:194,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/standard.c:195,1
    - Dst: strncmp
      Src: /src/vlc/modules/stream_out/standard.c:199,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/standard.c:200,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/standard.c:202,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/standard.c:205,1
    - Dst: strncmp
      Src: /src/vlc/modules/stream_out/standard.c:212,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/standard.c:213,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/standard.c:215,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - p_stream
    - ppsz_mux
    - ppsz_access
    - psz_url
    argTypes:
    - sout_stream_t*
    - char**
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 218
    functionName: fixAccessMux
    functionSourceFile: /src/vlc/modules/stream_out/standard.c
    functionUses: 0
    functionsReached:
    - strdup
    - msg_Err
    - strncmp
    - getMuxFromAlias
    - msg_Warn
    - strrchr
    linkageType: ''
    returnType: int
    signature: "int fixAccessMux( sout_stream_t *p_stream, char **ppsz_mux,\n                          char
      **ppsz_access, const char *psz_url )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/vlc/modules/stream_out/standard.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - psz_target
    - psz_string
    - i_len
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: exactMatch
    functionSourceFile: /src/vlc/modules/stream_out/standard.c
    functionUses: 0
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: bool
    signature: "bool exactMatch( const char *psz_target, const char *psz_string,\n
      \                       size_t i_len )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: exactMatch
      Src: /src/vlc/modules/stream_out/standard.c:232,1
    - Dst: exactMatch
      Src: /src/vlc/modules/stream_out/standard.c:232,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/standard.c:233,1
    - Dst: exactMatch
      Src: /src/vlc/modules/stream_out/standard.c:234,1
    - Dst: exactMatch
      Src: /src/vlc/modules/stream_out/standard.c:235,1
    - Dst: exactMatch
      Src: /src/vlc/modules/stream_out/standard.c:235,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/standard.c:236,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - p_stream
    - psz_access
    - psz_mux
    argTypes:
    - sout_stream_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 237
    functionName: checkAccessMux
    functionSourceFile: /src/vlc/modules/stream_out/standard.c
    functionUses: 0
    functionsReached:
    - msg_Err
    - exactMatch
    linkageType: ''
    returnType: void
    signature: "void checkAccessMux( sout_stream_t *p_stream, char *psz_access,\n
      \                           char *psz_mux )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/stream_out/standard.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - stream
    - query
    - args
    argTypes:
    - sout_stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 254
    functionName: Control
    functionSourceFile: /src/vlc/modules/stream_out/standard.c
    functionUses: 45
    functionsReached:
    - va_arg
    linkageType: ''
    returnType: int
    signature: int Control(sout_stream_t *stream, int query, va_list args)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: config_ChainParse
      Src: /src/vlc/modules/stream_out/standard.c:276,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/stream_out/standard.c:279,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/stream_out/standard.c:281,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/standard.c:283,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/stream_out/standard.c:285,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/stream_out/standard.c:288,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/stream_out/standard.c:291,1
    - Dst: asprintf
      Src: /src/vlc/modules/stream_out/standard.c:294,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/standard.c:296,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/standard.c:297,1
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/standard.c:304,1
    - Dst: fixAccessMux
      Src: /src/vlc/modules/stream_out/standard.c:311,1
    - Dst: checkAccessMux
      Src: /src/vlc/modules/stream_out/standard.c:314,1
    - Dst: sout_AccessOutNew
      Src: /src/vlc/modules/stream_out/standard.c:316,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/standard.c:319,1
    - Dst: sout_AccessOutCanControlPace
      Src: /src/vlc/modules/stream_out/standard.c:324,1
    - Dst: sout_MuxNew
      Src: /src/vlc/modules/stream_out/standard.c:325,1
    - Dst: getMuxFromAlias
      Src: /src/vlc/modules/stream_out/standard.c:328,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/standard.c:329,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/standard.c:331,1
    - Dst: sout_MuxNew
      Src: /src/vlc/modules/stream_out/standard.c:333,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/standard.c:338,1
    - Dst: sout_AccessOutDelete
      Src: /src/vlc/modules/stream_out/standard.c:341,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/standard.c:348,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/standard.c:352,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/standard.c:353,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/standard.c:354,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/standard.c:355,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 268
    functionDepth: 4
    functionLinenumber: 268
    functionLinenumberEnd: 358
    functionName: Open
    functionSourceFile: /src/vlc/modules/stream_out/standard.c
    functionUses: 30
    functionsReached:
    - asprintf
    - sout_MuxNew
    - strdup
    - sout_AccessOutDelete
    - var_GetNonEmptyString
    - free
    - config_ChainParse
    - fixAccessMux
    - msg_Err
    - strcmp
    - getMuxFromAlias
    - msg_Dbg
    - checkAccessMux
    - sout_AccessOutNew
    - malloc
    - sout_AccessOutCanControlPace
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sout_MuxDelete
      Src: /src/vlc/modules/stream_out/standard.c:368,1
    - Dst: sout_AccessOutDelete
      Src: /src/vlc/modules/stream_out/standard.c:369,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/standard.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 372
    functionName: Close
    functionSourceFile: /src/vlc/modules/stream_out/standard.c
    functionUses: 97
    functionsReached:
    - free
    - sout_AccessOutDelete
    - sout_MuxDelete
    linkageType: ''
    returnType: void
    signature: void Close( sout_stream_t *p_stream )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - block
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: get_dts
    functionSourceFile: /src/vlc/modules/stream_out/cycle.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t get_dts(const block_t *block)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/cycle.c:79,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/cycle.c:80,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/stream_out/cycle.c:83,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/cycle.c:85,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/cycle.c:86,1
    - Dst: sout_StreamIdAdd
      Src: /src/vlc/modules/stream_out/cycle.c:92,1
    - Dst: vlc_list_append
      Src: /src/vlc/modules/stream_out/cycle.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - stream
    - fmt
    - es_id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 96
    functionName: Add
    functionSourceFile: /src/vlc/modules/stream_out/cycle.c
    functionUses: 55
    functionsReached:
    - es_format_Clean
    - vlc_list_append
    - sout_StreamIdAdd
    - free
    - es_format_Copy
    - unlikely
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      Add(sout_stream_t *stream, const es_format_t *fmt, const char *es_id)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_list_remove
      Src: /src/vlc/modules/stream_out/cycle.c:103,1
    - Dst: sout_StreamIdDel
      Src: /src/vlc/modules/stream_out/cycle.c:106,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/cycle.c:108,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/cycle.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - stream
    - _id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: Del
    functionSourceFile: /src/vlc/modules/stream_out/cycle.c
    functionUses: 39
    functionsReached:
    - free
    - vlc_list_remove
    - es_format_Clean
    - sout_StreamIdDel
    linkageType: ''
    returnType: void
    signature: void Del(sout_stream_t *stream, void *_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/cycle.c:117,1
    - Dst: sout_StreamChainNew
      Src: /src/vlc/modules/stream_out/cycle.c:119,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/cycle.c:119,1
    - Dst: vlc_list_foreach
      Src: /src/vlc/modules/stream_out/cycle.c:125,1
    - Dst: sout_StreamIdAdd
      Src: /src/vlc/modules/stream_out/cycle.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - stream
    - chain
    argTypes:
    - sout_stream_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 129
    functionName: AddStream
    functionSourceFile: /src/vlc/modules/stream_out/cycle.c
    functionUses: 6
    functionsReached:
    - sout_StreamIdAdd
    - msg_Dbg
    - VLC_OBJECT
    - sout_StreamChainNew
    - vlc_list_foreach
    linkageType: ''
    returnType: int
    signature: int AddStream(sout_stream_t *stream, char *chain)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_list_foreach
      Src: /src/vlc/modules/stream_out/cycle.c:139,1
    - Dst: sout_StreamIdDel
      Src: /src/vlc/modules/stream_out/cycle.c:141,1
    - Dst: sout_StreamChainDelete
      Src: /src/vlc/modules/stream_out/cycle.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 145
    functionName: DelStream
    functionSourceFile: /src/vlc/modules/stream_out/cycle.c
    functionUses: 0
    functionsReached:
    - vlc_list_foreach
    - sout_StreamIdDel
    - sout_StreamChainDelete
    linkageType: ''
    returnType: void
    signature: void DelStream(sout_stream_t *stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sout_stream_sys_t*::clock
      Src: /src/vlc/modules/stream_out/cycle.c:157,1
    - Dst: DelStream
      Src: /src/vlc/modules/stream_out/cycle.c:159,1
    - Dst: AddStream
      Src: /src/vlc/modules/stream_out/cycle.c:160,1
    - Dst: sout_StreamIdSend
      Src: /src/vlc/modules/stream_out/cycle.c:169,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/cycle.c:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - stream
    - _id
    - block
    argTypes:
    - sout_stream_t*
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 174
    functionName: Send
    functionSourceFile: /src/vlc/modules/stream_out/cycle.c
    functionUses: 85
    functionsReached:
    - block_Release
    - DelStream
    - sout_stream_sys_t*::clock
    - AddStream
    - sout_StreamIdSend
    linkageType: ''
    returnType: int
    signature: int Send(sout_stream_t *stream, void *_id, block_t *block)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/stream_out/cycle.c:180,1
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/cycle.c:181,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/cycle.c:182,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/cycle.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pp
    - offset
    - chain
    argTypes:
    - sout_cycle_t***
    - vlc_tick_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 192
    functionName: AppendPhase
    functionSourceFile: /src/vlc/modules/stream_out/cycle.c
    functionUses: 0
    functionsReached:
    - strlen
    - unlikely
    - malloc
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int AppendPhase(sout_cycle_t ***restrict pp,\n                       vlc_tick_t
      offset, const char *chain)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strtoull
      Src: /src/vlc/modules/stream_out/cycle.c:197,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/stream_out/cycle.c:203,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/stream_out/cycle.c:207,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/stream_out/cycle.c:211,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/stream_out/cycle.c:215,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/stream_out/cycle.c:220,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 224
    functionName: ParseTime
    functionSourceFile: /src/vlc/modules/stream_out/cycle.c
    functionUses: 0
    functionsReached:
    - strtoull
    - vlc_tick_from_sec
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t ParseTime(const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/stream_out/cycle.c:230,1
    - Dst: vlc_list_is_empty
      Src: /src/vlc/modules/stream_out/cycle.c:230,1
    - Dst: sout_StreamChainDelete
      Src: /src/vlc/modules/stream_out/cycle.c:233,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/cycle.c:238,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/cycle.c:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - stream
    argTypes:
    - sout_stream_t*
    assertStmts:
    - condition: (vlc_list_is_empty(&sys->ids))
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/vlc/modules/stream_out/cycle.c
    constantsTouched: []
    func_position:
      end: 242
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 242
    functionName: Close
    functionSourceFile: /src/vlc/modules/stream_out/cycle.c
    functionUses: 97
    functionsReached:
    - free
    - vlc_list_is_empty
    - assert
    - sout_StreamChainDelete
    linkageType: ''
    returnType: void
    signature: void Close(sout_stream_t *stream)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/cycle.c:254,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/cycle.c:255,1
    - Dst: vlc_list_init
      Src: /src/vlc/modules/stream_out/cycle.c:259,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/cycle.c:271,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/cycle.c:275,1
    - Dst: ParseTime
      Src: /src/vlc/modules/stream_out/cycle.c:277,1
    - Dst: AppendPhase
      Src: /src/vlc/modules/stream_out/cycle.c:281,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/cycle.c:287,1
    - Dst: ParseTime
      Src: /src/vlc/modules/stream_out/cycle.c:289,1
    - Dst: AppendPhase
      Src: /src/vlc/modules/stream_out/cycle.c:293,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/cycle.c:301,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/cycle.c:307,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/cycle.c:308,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 318
    functionName: Open
    functionSourceFile: /src/vlc/modules/stream_out/cycle.c
    functionUses: 30
    functionsReached:
    - AppendPhase
    - msg_Err
    - free
    - strcmp
    - vlc_list_init
    - unlikely
    - malloc
    - ParseTime
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/smem.c:177,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/smem.c:177,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/smem.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_video_data
    - pp_pixel_buffer
    - size
    argTypes:
    - void*
    - uint8_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: VideoPrerenderDefaultCallback
    functionSourceFile: /src/vlc/modules/stream_out/smem.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void VideoPrerenderDefaultCallback( void* p_video_data, uint8_t** pp_pixel_buffer,
      size_t size )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/smem.c:182,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/smem.c:182,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/smem.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_audio_data
    - pp_pcm_buffer
    - size
    argTypes:
    - void*
    - uint8_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: AudioPrerenderDefaultCallback
    functionSourceFile: /src/vlc/modules/stream_out/smem.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void AudioPrerenderDefaultCallback( void* p_audio_data, uint8_t** pp_pcm_buffer,
      size_t size )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/smem.c:188,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/smem.c:188,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/smem.c:189,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/smem.c:189,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/smem.c:190,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/smem.c:190,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/smem.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 7
    argNames:
    - p_video_data
    - p_pixel_buffer
    - width
    - height
    - pixel_pitch
    - size
    - pts
    argTypes:
    - void*
    - uint8_t*
    - int
    - int
    - int
    - size_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: VideoPostrenderDefaultCallback
    functionSourceFile: /src/vlc/modules/stream_out/smem.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void VideoPostrenderDefaultCallback( void* p_video_data, uint8_t*
      p_pixel_buffer, int width, int height,\n                                     int
      pixel_pitch, size_t size, vlc_tick_t pts )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/smem.c:197,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/smem.c:197,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/smem.c:198,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/smem.c:198,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/smem.c:198,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/smem.c:199,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/smem.c:199,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/smem.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 8
    argNames:
    - p_audio_data
    - p_pcm_buffer
    - channels
    - rate
    - nb_samples
    - bits_per_sample
    - size
    - pts
    argTypes:
    - void*
    - uint8_t*
    - unsigned int
    - unsigned int
    - unsigned int
    - unsigned int
    - size_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 200
    functionName: AudioPostrenderDefaultCallback
    functionSourceFile: /src/vlc/modules/stream_out/smem.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void AudioPostrenderDefaultCallback( void* p_audio_data, uint8_t*
      p_pcm_buffer, unsigned int channels,\n                                     unsigned
      int rate, unsigned int nb_samples, unsigned int bits_per_sample,\n                                     size_t
      size, vlc_tick_t pts )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/stream_out/smem.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - stream
    - query
    - args
    argTypes:
    - sout_stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 217
    functionName: Control
    functionSourceFile: /src/vlc/modules/stream_out/smem.c
    functionUses: 45
    functionsReached:
    - va_arg
    linkageType: ''
    returnType: int
    signature: int Control(sout_stream_t *stream, int query, va_list args)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/stream_out/smem.c:236,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/stream_out/smem.c:241,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/stream_out/smem.c:244,1
    - Dst: var_GetString
      Src: /src/vlc/modules/stream_out/smem.c:246,1
    - Dst: atoll
      Src: /src/vlc/modules/stream_out/smem.c:247,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/smem.c:248,1
    - Dst: var_GetString
      Src: /src/vlc/modules/stream_out/smem.c:252,1
    - Dst: atoll
      Src: /src/vlc/modules/stream_out/smem.c:253,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/smem.c:254,1
    - Dst: var_GetString
      Src: /src/vlc/modules/stream_out/smem.c:258,1
    - Dst: atoll
      Src: /src/vlc/modules/stream_out/smem.c:259,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/smem.c:260,1
    - Dst: var_GetString
      Src: /src/vlc/modules/stream_out/smem.c:264,1
    - Dst: atoll
      Src: /src/vlc/modules/stream_out/smem.c:265,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/smem.c:266,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 273
    functionName: Open
    functionSourceFile: /src/vlc/modules/stream_out/smem.c
    functionUses: 30
    functionsReached:
    - var_GetString
    - config_ChainParse
    - calloc
    - free
    - atoll
    - var_GetBool
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/stream_out/smem.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: Close
    functionSourceFile: /src/vlc/modules/stream_out/smem.c
    functionUses: 97
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void Close( sout_stream_t *p_stream )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AddVideo
      Src: /src/vlc/modules/stream_out/smem.c:289,1
    - Dst: AddAudio
      Src: /src/vlc/modules/stream_out/smem.c:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - p_stream
    - p_fmt
    - es_id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 294
    functionName: Add
    functionSourceFile: /src/vlc/modules/stream_out/smem.c
    functionUses: 56
    functionsReached:
    - AddVideo
    - AddAudio
    linkageType: ''
    returnType: void
    signature: 'void *

      Add(sout_stream_t *p_stream, const es_format_t *p_fmt, const char *es_id)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/stream_out/smem.c:301,1
    - Dst: var_GetString
      Src: /src/vlc/modules/stream_out/smem.c:305,1
    - Dst: atoll
      Src: /src/vlc/modules/stream_out/smem.c:306,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/smem.c:307,1
    - Dst: vlc_fourcc_GetChromaBPP
      Src: /src/vlc/modules/stream_out/smem.c:312,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/smem.c:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - p_stream
    - p_fmt
    argTypes:
    - sout_stream_t*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 316
    functionName: AddVideo
    functionSourceFile: /src/vlc/modules/stream_out/smem.c
    functionUses: 1
    functionsReached:
    - vlc_fourcc_GetChromaBPP
    - var_GetString
    - calloc
    - free
    - msg_Dbg
    - atoll
    linkageType: ''
    returnType: void
    signature: void *AddVideo( sout_stream_t *p_stream, const es_format_t *p_fmt )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: aout_BitsPerSample
      Src: /src/vlc/modules/stream_out/smem.c:322,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/smem.c:326,1
    - Dst: calloc
      Src: /src/vlc/modules/stream_out/smem.c:330,1
    - Dst: var_GetString
      Src: /src/vlc/modules/stream_out/smem.c:334,1
    - Dst: atoll
      Src: /src/vlc/modules/stream_out/smem.c:335,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/smem.c:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - p_stream
    - p_fmt
    argTypes:
    - sout_stream_t*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 343
    functionName: AddAudio
    functionSourceFile: /src/vlc/modules/stream_out/smem.c
    functionUses: 1
    functionsReached:
    - var_GetString
    - msg_Err
    - calloc
    - aout_BitsPerSample
    - free
    - atoll
    linkageType: ''
    returnType: void
    signature: void *AddAudio( sout_stream_t *p_stream, const es_format_t *p_fmt )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/smem.c:347,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/smem.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_stream
    - _id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 350
    functionName: Del
    functionSourceFile: /src/vlc/modules/stream_out/smem.c
    functionUses: 40
    functionsReached:
    - free
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void Del( sout_stream_t *p_stream, void *_id )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SendVideo
      Src: /src/vlc/modules/stream_out/smem.c:356,1
    - Dst: SendAudio
      Src: /src/vlc/modules/stream_out/smem.c:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - p_stream
    - _id
    - p_buffer
    argTypes:
    - sout_stream_t*
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 360
    functionName: Send
    functionSourceFile: /src/vlc/modules/stream_out/smem.c
    functionUses: 85
    functionsReached:
    - SendAudio
    - SendVideo
    linkageType: ''
    returnType: int
    signature: int Send( sout_stream_t *p_stream, void *_id, block_t *p_buffer )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sout_stream_sys_t*::pf_video_prerender_callback
      Src: /src/vlc/modules/stream_out/smem.c:370,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/smem.c:374,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_out/smem.c:375,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/smem.c:380,1
    - Dst: sout_stream_sys_t*::pf_video_postrender_callback
      Src: /src/vlc/modules/stream_out/smem.c:382,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_out/smem.c:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - p_stream
    - _id
    - p_buffer
    argTypes:
    - sout_stream_t*
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 388
    functionName: SendVideo
    functionSourceFile: /src/vlc/modules/stream_out/smem.c
    functionUses: 1
    functionsReached:
    - sout_stream_sys_t*::pf_video_postrender_callback
    - block_ChainRelease
    - memcpy
    - msg_Err
    - sout_stream_sys_t*::pf_video_prerender_callback
    linkageType: ''
    returnType: int
    signature: int SendVideo( sout_stream_t *p_stream, void *_id, block_t *p_buffer
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/smem.c:401,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_out/smem.c:402,1
    - Dst: sout_stream_sys_t*::pf_audio_prerender_callback
      Src: /src/vlc/modules/stream_out/smem.c:408,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/smem.c:411,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_out/smem.c:412,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/smem.c:417,1
    - Dst: sout_stream_sys_t*::pf_audio_postrender_callback
      Src: /src/vlc/modules/stream_out/smem.c:419,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_out/smem.c:422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - p_stream
    - _id
    - p_buffer
    argTypes:
    - sout_stream_t*
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 424
    functionName: SendAudio
    functionSourceFile: /src/vlc/modules/stream_out/smem.c
    functionUses: 1
    functionsReached:
    - block_ChainRelease
    - memcpy
    - msg_Err
    - sout_stream_sys_t*::pf_audio_postrender_callback
    - msg_Warn
    - sout_stream_sys_t*::pf_audio_prerender_callback
    linkageType: ''
    returnType: int
    signature: int SendAudio( sout_stream_t *p_stream, void *_id, block_t *p_buffer
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/gather.c:88,1
    - Dst: vlc_list_init
      Src: /src/vlc/modules/stream_out/gather.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 95
    functionName: Open
    functionSourceFile: /src/vlc/modules/stream_out/gather.c
    functionUses: 30
    functionsReached:
    - malloc
    - vlc_list_init
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_list_foreach
      Src: /src/vlc/modules/stream_out/gather.c:105,1
    - Dst: sout_StreamIdDel
      Src: /src/vlc/modules/stream_out/gather.c:107,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/gather.c:108,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/gather.c:109,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/gather.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: Close
    functionSourceFile: /src/vlc/modules/stream_out/gather.c
    functionUses: 97
    functionsReached:
    - free
    - es_format_Clean
    - vlc_list_foreach
    - sout_StreamIdDel
    linkageType: ''
    returnType: void
    signature: void Close( sout_stream_t *p_stream )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vlc_list_foreach
      Src: /src/vlc/modules/stream_out/gather.c:125,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/gather.c:150,1
    - Dst: vlc_list_foreach
      Src: /src/vlc/modules/stream_out/gather.c:157,1
    - Dst: sout_StreamIdDel
      Src: /src/vlc/modules/stream_out/gather.c:160,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/gather.c:161,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/gather.c:162,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/gather.c:163,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/gather.c:166,1
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/gather.c:167,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/gather.c:171,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/gather.c:172,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/gather.c:174,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/stream_out/gather.c:178,1
    - Dst: sout_StreamIdAdd
      Src: /src/vlc/modules/stream_out/gather.c:181,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/gather.c:184,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/gather.c:185,1
    - Dst: vlc_list_append
      Src: /src/vlc/modules/stream_out/gather.c:189,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 3
    argNames:
    - p_stream
    - p_fmt
    - es_id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 191
    functionName: Add
    functionSourceFile: /src/vlc/modules/stream_out/gather.c
    functionUses: 57
    functionsReached:
    - strdup
    - es_format_Clean
    - vlc_list_append
    - sout_StreamIdAdd
    - free
    - malloc
    - msg_Dbg
    - sout_StreamIdDel
    - es_format_Copy
    - unlikely
    - vlc_list_foreach
    linkageType: ''
    returnType: void
    signature: 'void *

      Add( sout_stream_t *p_stream, const es_format_t *p_fmt, const char *es_id )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/gather.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_stream
    - _id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: Del
    functionSourceFile: /src/vlc/modules/stream_out/gather.c
    functionUses: 42
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void Del( sout_stream_t *p_stream, void *_id )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sout_StreamIdSend
      Src: /src/vlc/modules/stream_out/gather.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p_stream
    - _id
    - p_buffer
    argTypes:
    - sout_stream_t*
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 215
    functionName: Send
    functionSourceFile: /src/vlc/modules/stream_out/gather.c
    functionUses: 86
    functionsReached:
    - sout_StreamIdSend
    linkageType: ''
    returnType: int
    signature: int Send( sout_stream_t *p_stream, void *_id, block_t *p_buffer )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/dummy.c:38,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/dummy.c:38,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/dummy.c:38,1
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/dummy.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - p_stream
    - p_fmt
    - es_id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: Add
    functionSourceFile: /src/vlc/modules/stream_out/dummy.c
    functionUses: 57
    functionsReached:
    - malloc
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void *Add( sout_stream_t *p_stream, const es_format_t *p_fmt, const
      char *es_id )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/dummy.c:44,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/dummy.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_stream
    - id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: Del
    functionSourceFile: /src/vlc/modules/stream_out/dummy.c
    functionUses: 42
    functionsReached:
    - free
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void Del( sout_stream_t *p_stream, void *id )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_out/dummy.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - p_stream
    - id
    - p_buffer
    argTypes:
    - sout_stream_t*
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: Send
    functionSourceFile: /src/vlc/modules/stream_out/dummy.c
    functionUses: 86
    functionsReached:
    - block_ChainRelease
    linkageType: ''
    returnType: int
    signature: int Send( sout_stream_t *p_stream, void *id, block_t *p_buffer )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: Open
    functionSourceFile: /src/vlc/modules/stream_out/dummy.c
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: xiph_SplitHeaders
      Src: /src/vlc/modules/stream_out/rtpfmt.c:82,1
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/rtpfmt.c:108,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtpfmt.c:129,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 6
    argNames:
    - room
    - p_extra
    - i_extra
    - p_buffer
    - i_buffer
    - theora_pixel_fmt
    argTypes:
    - size_t
    - void*
    - size_t
    - uint8_t**
    - size_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 134
    functionName: rtp_xiph_pack_headers
    functionSourceFile: /src/vlc/modules/stream_out/rtpfmt.c
    functionUses: 0
    functionsReached:
    - xiph_SplitHeaders
    - memcpy
    - malloc
    linkageType: ''
    returnType: int
    signature: "int rtp_xiph_pack_headers(size_t room, void *p_extra, size_t i_extra,\n
      \                                uint8_t **p_buffer, size_t *i_buffer,\n                                 uint8_t
      *theora_pixel_fmt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtp_xiph_pack_headers
      Src: /src/vlc/modules/stream_out/rtpfmt.c:141,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/stream_out/rtpfmt.c:146,1
    - Dst: SetWBE
      Src: /src/vlc/modules/stream_out/rtpfmt.c:149,1
    - Dst: SetWBE
      Src: /src/vlc/modules/stream_out/rtpfmt.c:152,1
    - Dst: vlc_b64_encode_binary
      Src: /src/vlc/modules/stream_out/rtpfmt.c:154,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtpfmt.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - p_extra
    - i_extra
    - theora_pixel_fmt
    argTypes:
    - void*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 157
    functionName: rtp_xiph_b64_oob_config
    functionSourceFile: /src/vlc/modules/stream_out/rtpfmt.c
    functionUses: 0
    functionsReached:
    - vlc_b64_encode_binary
    - SetWBE
    - free
    - SetDWBE
    - rtp_xiph_pack_headers
    linkageType: ''
    returnType: char
    signature: "char *rtp_xiph_b64_oob_config(void *p_extra, size_t i_extra,\n                                     uint8_t
      *theora_pixel_fmt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - s
    - p_data
    - i_data
    argTypes:
    - char*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 170
    functionName: sprintf_hexa
    functionSourceFile: /src/vlc/modules/stream_out/rtpfmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sprintf_hexa( char *s, const uint8_t *p_data, int i_data )
  - BBCount: 92
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/stream_out/rtpfmt.c:176,1
    - Dst: strncmp
      Src: /src/vlc/modules/stream_out/rtpfmt.c:196,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/rtpfmt.c:276,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/rtpfmt.c:284,1
    - Dst: hxxx_iterator_init
      Src: /src/vlc/modules/stream_out/rtpfmt.c:315,1
    - Dst: hxxx_annexb_iterate_next
      Src: /src/vlc/modules/stream_out/rtpfmt.c:319,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/rtpfmt.c:323,1
    - Dst: h264_getNALType
      Src: /src/vlc/modules/stream_out/rtpfmt.c:327,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/rtpfmt.c:329,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtpfmt.c:333,1
    - Dst: vlc_b64_encode_binary
      Src: /src/vlc/modules/stream_out/rtpfmt.c:334,1
    - Dst: sprintf_hexa
      Src: /src/vlc/modules/stream_out/rtpfmt.c:335,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtpfmt.c:339,1
    - Dst: vlc_b64_encode_binary
      Src: /src/vlc/modules/stream_out/rtpfmt.c:340,1
    - Dst: asprintf
      Src: /src/vlc/modules/stream_out/rtpfmt.c:346,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtpfmt.c:351,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtpfmt.c:352,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/rtpfmt.c:355,1
    - Dst: hxxx_iterator_init
      Src: /src/vlc/modules/stream_out/rtpfmt.c:389,1
    - Dst: hxxx_annexb_iterate_next
      Src: /src/vlc/modules/stream_out/rtpfmt.c:392,1
    - Dst: hevc_getNALType
      Src: /src/vlc/modules/stream_out/rtpfmt.c:394,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/rtpfmt.c:398,1
    - Dst: vlc_b64_encode_binary
      Src: /src/vlc/modules/stream_out/rtpfmt.c:400,1
    - Dst: asprintf
      Src: /src/vlc/modules/stream_out/rtpfmt.c:410,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtpfmt.c:412,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtpfmt.c:415,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/rtpfmt.c:434,1
    - Dst: asprintf
      Src: /src/vlc/modules/stream_out/rtpfmt.c:439,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtpfmt.c:442,1
    - Dst: asprintf
      Src: /src/vlc/modules/stream_out/rtpfmt.c:446,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtpfmt.c:449,1
    - Dst: asprintf
      Src: /src/vlc/modules/stream_out/rtpfmt.c:453,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtpfmt.c:456,1
    - Dst: asprintf
      Src: /src/vlc/modules/stream_out/rtpfmt.c:460,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtpfmt.c:463,1
    - Dst: asprintf
      Src: /src/vlc/modules/stream_out/rtpfmt.c:471,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtpfmt.c:476,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtpfmt.c:483,1
    - Dst: sprintf_hexa
      Src: /src/vlc/modules/stream_out/rtpfmt.c:495,1
    - Dst: asprintf
      Src: /src/vlc/modules/stream_out/rtpfmt.c:496,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/stream_out/rtpfmt.c:504,1
    - Dst: sprintf_hexa
      Src: /src/vlc/modules/stream_out/rtpfmt.c:510,1
    - Dst: asprintf
      Src: /src/vlc/modules/stream_out/rtpfmt.c:511,1
    - Dst: sprintf_hexa
      Src: /src/vlc/modules/stream_out/rtpfmt.c:540,1
    - Dst: asprintf
      Src: /src/vlc/modules/stream_out/rtpfmt.c:541,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/rtpfmt.c:549,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/rtpfmt.c:554,1
    - Dst: rtp_xiph_b64_oob_config
      Src: /src/vlc/modules/stream_out/rtpfmt.c:567,1
    - Dst: asprintf
      Src: /src/vlc/modules/stream_out/rtpfmt.c:571,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtpfmt.c:574,1
    - Dst: rtp_xiph_b64_oob_config
      Src: /src/vlc/modules/stream_out/rtpfmt.c:584,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtpfmt.c:593,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/stream_out/rtpfmt.c:609,1
    - Dst: asprintf
      Src: /src/vlc/modules/stream_out/rtpfmt.c:612,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtpfmt.c:619,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/rtpfmt.c:635,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/rtpfmt.c:645,1
    - Dst: es_format_HasVpxAlpha
      Src: /src/vlc/modules/stream_out/rtpfmt.c:648,1
    - Dst: asprintf
      Src: /src/vlc/modules/stream_out/rtpfmt.c:656,1
    - Dst: asprintf
      Src: /src/vlc/modules/stream_out/rtpfmt.c:669,1
    - Dst: asprintf
      Src: /src/vlc/modules/stream_out/rtpfmt.c:682,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/rtpfmt.c:700,1
    CyclomaticComplexity: 116
    EdgeCount: 116
    ICount: 355
    argCount: 4
    argNames:
    - obj
    - p_fmt
    - mux
    - rtp_fmt
    argTypes:
    - vlc_object_t*
    - es_format_t*
    - char*
    - rtp_format_t*
    assertStmts:
    - condition: ( p_fmt != NULL || mux != NULL )
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/vlc/modules/stream_out/rtpfmt.c
    constantsTouched: []
    func_position:
      end: 706
      start: 173
    functionDepth: 4
    functionLinenumber: 173
    functionLinenumberEnd: 706
    functionName: rtp_get_fmt
    functionSourceFile: /src/vlc/modules/stream_out/rtpfmt.c
    functionUses: 1
    functionsReached:
    - es_format_HasVpxAlpha
    - asprintf
    - assert
    - hxxx_annexb_iterate_next
    - strdup
    - h264_getNALType
    - hxxx_iterator_init
    - vlc_b64_encode_binary
    - hevc_getNALType
    - vlc_assert_unreachable
    - sprintf_hexa
    - var_InheritBool
    - msg_Err
    - strncmp
    - free
    - msg_Dbg
    - rtp_xiph_b64_oob_config
    linkageType: ''
    returnType: int
    signature: "int rtp_get_fmt( vlc_object_t *obj, const es_format_t *p_fmt, const
      char *mux,\n                 rtp_format_t *rtp_fmt )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/vlc/modules/stream_out/rtpfmt.c:721,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/rtpfmt.c:722,1
    - Dst: strchr
      Src: /src/vlc/modules/stream_out/rtpfmt.c:724,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/rtpfmt.c:725,1
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/rtpfmt.c:728,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/rtpfmt.c:729,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtpfmt.c:732,1
    - Dst: rtp_mtu
      Src: /src/vlc/modules/stream_out/rtpfmt.c:735,1
    - Dst: vlc_b64_decode_binary
      Src: /src/vlc/modules/stream_out/rtpfmt.c:740,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtpfmt.c:741,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtpfmt.c:744,1
    - Dst: __MIN
      Src: /src/vlc/modules/stream_out/rtpfmt.c:754,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/stream_out/rtpfmt.c:755,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/rtpfmt.c:756,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtpfmt.c:758,1
    - Dst: rtp_packetize_common
      Src: /src/vlc/modules/stream_out/rtpfmt.c:783,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/stream_out/rtpfmt.c:785,1
    - Dst: SetWBE
      Src: /src/vlc/modules/stream_out/rtpfmt.c:786,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtpfmt.c:787,1
    - Dst: rtp_packetize_send
      Src: /src/vlc/modules/stream_out/rtpfmt.c:791,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtpfmt.c:797,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 3
    argNames:
    - id
    - fmtp
    - i_pts
    argTypes:
    - sout_stream_id_sys_t*
    - char*
    - vlc_tick_t
    assertStmts:
    - condition: (start != NULL)
      pos:
        line_end: 721
        line_start: 721
        source_file: /src/vlc/modules/stream_out/rtpfmt.c
    - condition: (end != NULL)
      pos:
        line_end: 724
        line_start: 724
        source_file: /src/vlc/modules/stream_out/rtpfmt.c
    constantsTouched: []
    func_position:
      end: 800
      start: 714
    functionDepth: 3
    functionLinenumber: 714
    functionLinenumberEnd: 800
    functionName: rtp_packetize_xiph_config
    functionSourceFile: /src/vlc/modules/stream_out/rtpfmt.c
    functionUses: 1
    functionsReached:
    - rtp_mtu
    - assert
    - strchr
    - rtp_packetize_common
    - SetWBE
    - memcpy
    - free
    - SetDWBE
    - block_Alloc
    - rtp_packetize_send
    - __MIN
    - strstr
    - vlc_b64_decode_binary
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: "int rtp_packetize_xiph_config( sout_stream_id_sys_t *id, const char
      *fmtp,\n                               vlc_tick_t i_pts )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rtp_mtu
      Src: /src/vlc/modules/stream_out/rtpfmt.c:805,1
    - Dst: __MIN
      Src: /src/vlc/modules/stream_out/rtpfmt.c:813,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/stream_out/rtpfmt.c:814,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/rtpfmt.c:815,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:817,1
    - Dst: rtp_packetize_common
      Src: /src/vlc/modules/stream_out/rtpfmt.c:844,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/stream_out/rtpfmt.c:846,1
    - Dst: SetWBE
      Src: /src/vlc/modules/stream_out/rtpfmt.c:847,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtpfmt.c:848,1
    - Dst: rtp_packetize_send
      Src: /src/vlc/modules/stream_out/rtpfmt.c:853,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:859,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - id
    - in
    argTypes:
    - sout_stream_id_sys_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 803
    functionDepth: 3
    functionLinenumber: 803
    functionLinenumberEnd: 861
    functionName: rtp_packetize_xiph
    functionSourceFile: /src/vlc/modules/stream_out/rtpfmt.c
    functionUses: 0
    functionsReached:
    - rtp_mtu
    - block_Release
    - rtp_packetize_common
    - SetWBE
    - memcpy
    - rtp_packetize_send
    - SetDWBE
    - block_Alloc
    - __MIN
    - unlikely
    linkageType: ''
    returnType: int
    signature: int rtp_packetize_xiph( sout_stream_id_sys_t *id, block_t *in )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtp_mtu
      Src: /src/vlc/modules/stream_out/rtpfmt.c:865,1
    - Dst: __MIN
      Src: /src/vlc/modules/stream_out/rtpfmt.c:874,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/stream_out/rtpfmt.c:875,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/rtpfmt.c:876,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:878,1
    - Dst: rtp_packetize_common
      Src: /src/vlc/modules/stream_out/rtpfmt.c:883,1
    - Dst: SetWBE
      Src: /src/vlc/modules/stream_out/rtpfmt.c:885,1
    - Dst: SetWBE
      Src: /src/vlc/modules/stream_out/rtpfmt.c:887,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtpfmt.c:888,1
    - Dst: rtp_packetize_send
      Src: /src/vlc/modules/stream_out/rtpfmt.c:893,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:899,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - id
    - in
    argTypes:
    - sout_stream_id_sys_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 863
    functionDepth: 3
    functionLinenumber: 863
    functionLinenumberEnd: 901
    functionName: rtp_packetize_mpa
    functionSourceFile: /src/vlc/modules/stream_out/rtpfmt.c
    functionUses: 0
    functionsReached:
    - rtp_mtu
    - block_Release
    - rtp_packetize_common
    - SetWBE
    - memcpy
    - rtp_packetize_send
    - block_Alloc
    - __MIN
    - unlikely
    linkageType: ''
    returnType: int
    signature: int rtp_packetize_mpa( sout_stream_id_sys_t *id, block_t *in )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rtp_mtu
      Src: /src/vlc/modules/stream_out/rtpfmt.c:906,1
    - Dst: hxxx_iterator_init
      Src: /src/vlc/modules/stream_out/rtpfmt.c:920,1
    - Dst: hxxx_annexb_iterate_next
      Src: /src/vlc/modules/stream_out/rtpfmt.c:923,1
    - Dst: __MIN
      Src: /src/vlc/modules/stream_out/rtpfmt.c:957,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/stream_out/rtpfmt.c:958,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/rtpfmt.c:959,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:961,1
    - Dst: rtp_packetize_common
      Src: /src/vlc/modules/stream_out/rtpfmt.c:974,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/stream_out/rtpfmt.c:977,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtpfmt.c:979,1
    - Dst: rtp_packetize_send
      Src: /src/vlc/modules/stream_out/rtpfmt.c:984,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:990,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 2
    argNames:
    - id
    - in
    argTypes:
    - sout_stream_id_sys_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 904
    functionDepth: 4
    functionLinenumber: 904
    functionLinenumberEnd: 992
    functionName: rtp_packetize_mpv
    functionSourceFile: /src/vlc/modules/stream_out/rtpfmt.c
    functionUses: 0
    functionsReached:
    - rtp_mtu
    - block_Release
    - hxxx_annexb_iterate_next
    - rtp_packetize_common
    - hxxx_iterator_init
    - memcpy
    - rtp_packetize_send
    - SetDWBE
    - block_Alloc
    - __MIN
    - unlikely
    linkageType: ''
    returnType: int
    signature: int rtp_packetize_mpv( sout_stream_id_sys_t *id, block_t *in )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtp_mtu
      Src: /src/vlc/modules/stream_out/rtpfmt.c:996,1
    - Dst: __MIN
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1015,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1016,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1017,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1019,1
    - Dst: rtp_packetize_common
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1024,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1026,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1027,1
    - Dst: rtp_packetize_send
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1032,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1039,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - id
    - in
    argTypes:
    - sout_stream_id_sys_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 994
    functionDepth: 3
    functionLinenumber: 994
    functionLinenumberEnd: 1041
    functionName: rtp_packetize_ac3
    functionSourceFile: /src/vlc/modules/stream_out/rtpfmt.c
    functionUses: 0
    functionsReached:
    - rtp_mtu
    - block_Release
    - rtp_packetize_common
    - memcpy
    - rtp_packetize_send
    - block_Alloc
    - __MIN
    - unlikely
    linkageType: ''
    returnType: int
    signature: int rtp_packetize_ac3( sout_stream_id_sys_t *id, block_t *in )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtp_mtu
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1045,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1052,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1053,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1055,1
    - Dst: rtp_packetize_common
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1059,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1062,1
    - Dst: rtp_packetize_send
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1065,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1070,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - id
    - in
    argTypes:
    - sout_stream_id_sys_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1043
    functionDepth: 3
    functionLinenumber: 1043
    functionLinenumberEnd: 1072
    functionName: rtp_packetize_eac3
    functionSourceFile: /src/vlc/modules/stream_out/rtpfmt.c
    functionUses: 0
    functionsReached:
    - rtp_mtu
    - block_Release
    - rtp_packetize_common
    - memcpy
    - rtp_packetize_send
    - block_Alloc
    - unlikely
    linkageType: ''
    returnType: int
    signature: int rtp_packetize_eac3(sout_stream_id_sys_t *id, block_t *in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Realloc
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1078,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1079,1
    - Dst: rtp_packetize_common
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1082,1
    - Dst: rtp_packetize_send
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1083,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - id
    - block
    argTypes:
    - sout_stream_id_sys_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1074
    functionDepth: 3
    functionLinenumber: 1074
    functionLinenumberEnd: 1085
    functionName: rtp_packetize_simple
    functionSourceFile: /src/vlc/modules/stream_out/rtpfmt.c
    functionUses: 0
    functionsReached:
    - rtp_packetize_send
    - rtp_packetize_common
    - block_Realloc
    - unlikely
    linkageType: ''
    returnType: int
    signature: int rtp_packetize_simple(sout_stream_id_sys_t *id, block_t *block)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtp_mtu
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1089,1
    - Dst: __MIN
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1098,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1099,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1100,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1102,1
    - Dst: rtp_packetize_common
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1107,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1109,1
    - Dst: rtp_packetize_send
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1114,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - id
    - in
    argTypes:
    - sout_stream_id_sys_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1087
    functionDepth: 3
    functionLinenumber: 1087
    functionLinenumberEnd: 1122
    functionName: rtp_packetize_split
    functionSourceFile: /src/vlc/modules/stream_out/rtpfmt.c
    functionUses: 0
    functionsReached:
    - rtp_mtu
    - block_Release
    - rtp_packetize_common
    - memcpy
    - rtp_packetize_send
    - block_Alloc
    - __MIN
    - unlikely
    linkageType: ''
    returnType: int
    signature: int rtp_packetize_split( sout_stream_id_sys_t *id, block_t *in )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtp_mtu
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1126,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1133,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1134,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1136,1
    - Dst: rtp_packetize_common
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1140,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1141,1
    - Dst: rtp_packetize_send
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1142,1
    - Dst: rtp_packetize_simple
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - id
    - in
    argTypes:
    - sout_stream_id_sys_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1124
    functionDepth: 4
    functionLinenumber: 1124
    functionLinenumberEnd: 1152
    functionName: rtp_packetize_pcm
    functionSourceFile: /src/vlc/modules/stream_out/rtpfmt.c
    functionUses: 0
    functionsReached:
    - rtp_mtu
    - block_Release
    - rtp_packetize_common
    - memcpy
    - rtp_packetize_simple
    - rtp_packetize_send
    - block_Alloc
    - unlikely
    linkageType: ''
    returnType: int
    signature: int rtp_packetize_pcm(sout_stream_id_sys_t *id, block_t *in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtp_mtu
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1157,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1165,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1166,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1168,1
    - Dst: rtp_packetize_common
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1172,1
    - Dst: swab
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1173,1
    - Dst: rtp_packetize_send
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1174,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - id
    - in
    argTypes:
    - sout_stream_id_sys_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1155
    functionDepth: 3
    functionLinenumber: 1155
    functionLinenumberEnd: 1185
    functionName: rtp_packetize_swab
    functionSourceFile: /src/vlc/modules/stream_out/rtpfmt.c
    functionUses: 0
    functionsReached:
    - rtp_mtu
    - block_Release
    - rtp_packetize_common
    - rtp_packetize_send
    - block_Alloc
    - swab
    - unlikely
    linkageType: ''
    returnType: int
    signature: int rtp_packetize_swab(sout_stream_id_sys_t *id, block_t *in)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtp_mtu
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1190,1
    - Dst: __MIN
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1200,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1205,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1206,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1208,1
    - Dst: rtp_packetize_common
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1213,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1230,1
    - Dst: rtp_packetize_send
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1235,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - id
    - in
    argTypes:
    - sout_stream_id_sys_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1188
    functionDepth: 3
    functionLinenumber: 1188
    functionLinenumberEnd: 1243
    functionName: rtp_packetize_mp4a_latm
    functionSourceFile: /src/vlc/modules/stream_out/rtpfmt.c
    functionUses: 0
    functionsReached:
    - rtp_mtu
    - block_Release
    - rtp_packetize_common
    - memcpy
    - rtp_packetize_send
    - block_Alloc
    - __MIN
    - unlikely
    linkageType: ''
    returnType: int
    signature: int rtp_packetize_mp4a_latm( sout_stream_id_sys_t *id, block_t *in
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtp_mtu
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1247,1
    - Dst: __MIN
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1256,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1257,1
    - Dst: rtp_packetize_common
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1260,1
    - Dst: SetWBE
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1267,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1269,1
    - Dst: rtp_packetize_send
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1274,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - id
    - in
    argTypes:
    - sout_stream_id_sys_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1245
    functionDepth: 3
    functionLinenumber: 1245
    functionLinenumberEnd: 1282
    functionName: rtp_packetize_mp4a
    functionSourceFile: /src/vlc/modules/stream_out/rtpfmt.c
    functionUses: 0
    functionsReached:
    - rtp_mtu
    - block_Release
    - rtp_packetize_common
    - SetWBE
    - memcpy
    - rtp_packetize_send
    - block_Alloc
    - __MIN
    linkageType: ''
    returnType: int
    signature: int rtp_packetize_mp4a( sout_stream_id_sys_t *id, block_t *in )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtp_mtu
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1293,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1303,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1308,1
    - Dst: __MIN
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1318,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1319,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1320,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1322,1
    - Dst: rtp_packetize_common
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1333,1
    - Dst: SetWBE
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1337,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1338,1
    - Dst: rtp_packetize_send
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1343,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1349,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - id
    - in
    argTypes:
    - sout_stream_id_sys_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1288
    functionDepth: 3
    functionLinenumber: 1288
    functionLinenumberEnd: 1351
    functionName: rtp_packetize_h263
    functionSourceFile: /src/vlc/modules/stream_out/rtpfmt.c
    functionUses: 0
    functionsReached:
    - rtp_mtu
    - block_Release
    - rtp_packetize_common
    - SetWBE
    - memcpy
    - rtp_packetize_send
    - block_Alloc
    - __MIN
    - unlikely
    linkageType: ''
    returnType: int
    signature: int rtp_packetize_h263( sout_stream_id_sys_t *id, block_t *in )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rtp_mtu
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1359,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1373,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1374,1
    - Dst: rtp_packetize_common
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1382,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1384,1
    - Dst: rtp_packetize_send
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1386,1
    - Dst: __MIN
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1399,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1400,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1401,1
    - Dst: rtp_packetize_common
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1409,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1415,1
    - Dst: rtp_packetize_send
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1417,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 7
    argNames:
    - id
    - p_data
    - i_data
    - i_pts
    - i_dts
    - b_last
    - i_length
    argTypes:
    - sout_stream_id_sys_t*
    - uint8_t*
    - int
    - vlc_tick_t
    - vlc_tick_t
    - bool
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1354
    functionDepth: 3
    functionLinenumber: 1354
    functionLinenumberEnd: 1424
    functionName: rtp_packetize_h264_nal
    functionSourceFile: /src/vlc/modules/stream_out/rtpfmt.c
    functionUses: 0
    functionsReached:
    - rtp_mtu
    - rtp_packetize_common
    - memcpy
    - rtp_packetize_send
    - block_Alloc
    - __MIN
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int rtp_packetize_h264_nal( sout_stream_id_sys_t *id,\n                        const
      uint8_t *p_data, int i_data, vlc_tick_t i_pts,\n                        vlc_tick_t
      i_dts, bool b_last, vlc_tick_t i_length )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_iterator_init
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1429,1
    - Dst: hxxx_annexb_iterate_next
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1433,1
    - Dst: rtp_packetize_h264_nal
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1436,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1440,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - id
    - in
    argTypes:
    - sout_stream_id_sys_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1426
    functionDepth: 4
    functionLinenumber: 1426
    functionLinenumberEnd: 1447
    functionName: rtp_packetize_h264
    functionSourceFile: /src/vlc/modules/stream_out/rtpfmt.c
    functionUses: 0
    functionsReached:
    - block_Release
    - hxxx_annexb_iterate_next
    - rtp_packetize_h264_nal
    - hxxx_iterator_init
    linkageType: ''
    returnType: int
    signature: int rtp_packetize_h264( sout_stream_id_sys_t *id, block_t *in )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rtp_mtu
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1455,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1464,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1465,1
    - Dst: rtp_packetize_common
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1473,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1475,1
    - Dst: rtp_packetize_send
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1477,1
    - Dst: GetWBE
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1481,1
    - Dst: __MIN
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1492,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1493,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1494,1
    - Dst: rtp_packetize_common
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1502,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1509,1
    - Dst: rtp_packetize_send
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1511,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 7
    argNames:
    - id
    - p_data
    - i_data
    - i_pts
    - i_dts
    - b_last
    - i_length
    argTypes:
    - sout_stream_id_sys_t*
    - uint8_t*
    - size_t
    - vlc_tick_t
    - vlc_tick_t
    - bool
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1518
      start: 1450
    functionDepth: 3
    functionLinenumber: 1450
    functionLinenumberEnd: 1518
    functionName: rtp_packetize_h265_nal
    functionSourceFile: /src/vlc/modules/stream_out/rtpfmt.c
    functionUses: 0
    functionsReached:
    - rtp_mtu
    - GetWBE
    - rtp_packetize_common
    - memcpy
    - rtp_packetize_send
    - block_Alloc
    - __MIN
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int rtp_packetize_h265_nal( sout_stream_id_sys_t *id,\n                        const
      uint8_t *p_data, size_t i_data, vlc_tick_t i_pts,\n                        vlc_tick_t
      i_dts, bool b_last, vlc_tick_t i_length )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_iterator_init
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1523,1
    - Dst: hxxx_annexb_iterate_next
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1527,1
    - Dst: rtp_packetize_h265_nal
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1529,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1533,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - id
    - in
    argTypes:
    - sout_stream_id_sys_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1520
    functionDepth: 4
    functionLinenumber: 1520
    functionLinenumberEnd: 1540
    functionName: rtp_packetize_h265
    functionSourceFile: /src/vlc/modules/stream_out/rtpfmt.c
    functionUses: 0
    functionsReached:
    - block_Release
    - hxxx_annexb_iterate_next
    - rtp_packetize_h265_nal
    - hxxx_iterator_init
    linkageType: ''
    returnType: int
    signature: int rtp_packetize_h265( sout_stream_id_sys_t *id, block_t *in )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtp_mtu
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1544,1
    - Dst: __MIN
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1554,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1555,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1556,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1558,1
    - Dst: rtp_packetize_common
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1563,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1570,1
    - Dst: rtp_packetize_send
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1576,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - id
    - in
    argTypes:
    - sout_stream_id_sys_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1542
    functionDepth: 3
    functionLinenumber: 1542
    functionLinenumberEnd: 1584
    functionName: rtp_packetize_amr
    functionSourceFile: /src/vlc/modules/stream_out/rtpfmt.c
    functionUses: 0
    functionsReached:
    - rtp_mtu
    - block_Release
    - rtp_packetize_common
    - memcpy
    - rtp_packetize_send
    - block_Alloc
    - __MIN
    - unlikely
    linkageType: ''
    returnType: int
    signature: int rtp_packetize_amr( sout_stream_id_sys_t *id, block_t *in )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtp_mtu
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1588,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1606,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1613,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1616,1
    - Dst: rtp_packetize_common
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1620,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1621,1
    - Dst: rtp_packetize_send
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1626,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1632,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - id
    - in
    argTypes:
    - sout_stream_id_sys_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1586
    functionDepth: 3
    functionLinenumber: 1586
    functionLinenumberEnd: 1634
    functionName: rtp_packetize_t140
    functionSourceFile: /src/vlc/modules/stream_out/rtpfmt.c
    functionUses: 0
    functionsReached:
    - rtp_mtu
    - block_Release
    - rtp_packetize_common
    - memcpy
    - rtp_packetize_send
    - block_Alloc
    linkageType: ''
    returnType: int
    signature: int rtp_packetize_t140( sout_stream_id_sys_t *id, block_t *in )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rtp_mtu
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1645,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1647,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1670,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1671,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1673,1
    - Dst: rtp_packetize_common
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1705,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1708,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1712,1
    - Dst: rtp_packetize_send
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1715,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 2
    argNames:
    - id
    - in
    argTypes:
    - sout_stream_id_sys_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1717
      start: 1637
    functionDepth: 3
    functionLinenumber: 1637
    functionLinenumberEnd: 1717
    functionName: rtp_packetize_spx
    functionSourceFile: /src/vlc/modules/stream_out/rtpfmt.c
    functionUses: 0
    functionsReached:
    - rtp_mtu
    - block_Release
    - rtp_packetize_common
    - memcpy
    - rtp_packetize_send
    - block_Alloc
    - unlikely
    linkageType: ''
    returnType: int
    signature: int rtp_packetize_spx( sout_stream_id_sys_t *id, block_t *in )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtp_mtu
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1721,1
    - Dst: __MIN
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1730,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1731,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1732,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1734,1
    - Dst: rtp_packetize_common
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1739,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1742,1
    - Dst: rtp_packetize_send
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1747,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1753,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - id
    - in
    - i_pad
    argTypes:
    - sout_stream_id_sys_t*
    - block_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1755
      start: 1719
    functionDepth: 3
    functionLinenumber: 1719
    functionLinenumberEnd: 1755
    functionName: rtp_packetize_g726
    functionSourceFile: /src/vlc/modules/stream_out/rtpfmt.c
    functionUses: 0
    functionsReached:
    - rtp_mtu
    - block_Release
    - rtp_packetize_common
    - memcpy
    - rtp_packetize_send
    - block_Alloc
    - __MIN
    - unlikely
    linkageType: ''
    returnType: int
    signature: int rtp_packetize_g726( sout_stream_id_sys_t *id, block_t *in, int
      i_pad )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtp_packetize_g726
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - in
    argTypes:
    - sout_stream_id_sys_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1757
    functionDepth: 4
    functionLinenumber: 1757
    functionLinenumberEnd: 1760
    functionName: rtp_packetize_g726_16
    functionSourceFile: /src/vlc/modules/stream_out/rtpfmt.c
    functionUses: 0
    functionsReached:
    - rtp_packetize_g726
    linkageType: ''
    returnType: int
    signature: int rtp_packetize_g726_16( sout_stream_id_sys_t *id, block_t *in )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtp_packetize_g726
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - in
    argTypes:
    - sout_stream_id_sys_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1762
    functionDepth: 4
    functionLinenumber: 1762
    functionLinenumberEnd: 1765
    functionName: rtp_packetize_g726_24
    functionSourceFile: /src/vlc/modules/stream_out/rtpfmt.c
    functionUses: 0
    functionsReached:
    - rtp_packetize_g726
    linkageType: ''
    returnType: int
    signature: int rtp_packetize_g726_24( sout_stream_id_sys_t *id, block_t *in )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtp_packetize_g726
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - in
    argTypes:
    - sout_stream_id_sys_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1770
      start: 1767
    functionDepth: 4
    functionLinenumber: 1767
    functionLinenumberEnd: 1770
    functionName: rtp_packetize_g726_32
    functionSourceFile: /src/vlc/modules/stream_out/rtpfmt.c
    functionUses: 0
    functionsReached:
    - rtp_packetize_g726
    linkageType: ''
    returnType: int
    signature: int rtp_packetize_g726_32( sout_stream_id_sys_t *id, block_t *in )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtp_packetize_g726
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - in
    argTypes:
    - sout_stream_id_sys_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1775
      start: 1772
    functionDepth: 4
    functionLinenumber: 1772
    functionLinenumberEnd: 1775
    functionName: rtp_packetize_g726_40
    functionSourceFile: /src/vlc/modules/stream_out/rtpfmt.c
    functionUses: 0
    functionsReached:
    - rtp_packetize_g726
    linkageType: ''
    returnType: int
    signature: int rtp_packetize_g726_40( sout_stream_id_sys_t *id, block_t *in )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtp_mtu
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1782,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1790,1
    - Dst: __MIN
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1796,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1797,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1800,1
    - Dst: rtp_packetize_common
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1812,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1814,1
    - Dst: rtp_packetize_send
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1819,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1825,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - id
    - in
    argTypes:
    - sout_stream_id_sys_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1780
    functionDepth: 3
    functionLinenumber: 1780
    functionLinenumberEnd: 1827
    functionName: rtp_packetize_vp8
    functionSourceFile: /src/vlc/modules/stream_out/rtpfmt.c
    functionUses: 0
    functionsReached:
    - rtp_mtu
    - block_Release
    - rtp_packetize_common
    - memcpy
    - rtp_packetize_send
    - block_Alloc
    - __MIN
    linkageType: ''
    returnType: int
    signature: int rtp_packetize_vp8( sout_stream_id_sys_t *id, block_t *in )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: rtp_get_video_geometry
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1833,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1835,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1853,1
    - Dst: rtp_mtu
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1865,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1868,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1872,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1873,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1875,1
    - Dst: SetWBE
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1883,1
    - Dst: rtp_get_extended_sequence
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1883,1
    - Dst: SetWBE
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1906,1
    - Dst: SetWBE
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1912,1
    - Dst: SetWBE
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1920,1
    - Dst: GetWBE
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1938,1
    - Dst: GetWBE
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1939,1
    - Dst: GetWBE
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1940,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1947,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1952,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1956,1
    - Dst: rtp_packetize_common
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1960,1
    - Dst: rtp_packetize_send
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1966,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1969,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 74
    argCount: 3
    argNames:
    - id
    - in
    - i_format
    argTypes:
    - sout_stream_id_sys_t*
    - block_t*
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1971
      start: 1830
    functionDepth: 3
    functionLinenumber: 1830
    functionLinenumberEnd: 1971
    functionName: rtp_packetize_rawvideo
    functionSourceFile: /src/vlc/modules/stream_out/rtpfmt.c
    functionUses: 0
    functionsReached:
    - rtp_mtu
    - GetWBE
    - block_Release
    - rtp_packetize_common
    - vlc_assert_unreachable
    - SetWBE
    - memcpy
    - rtp_packetize_send
    - block_Alloc
    - rtp_get_video_geometry
    - rtp_get_extended_sequence
    - unlikely
    linkageType: ''
    returnType: int
    signature: int rtp_packetize_rawvideo( sout_stream_id_sys_t *id, block_t *in,
      vlc_fourcc_t i_format  )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtp_packetize_rawvideo
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - in
    argTypes:
    - sout_stream_id_sys_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1976
      start: 1973
    functionDepth: 4
    functionLinenumber: 1973
    functionLinenumberEnd: 1976
    functionName: rtp_packetize_r420
    functionSourceFile: /src/vlc/modules/stream_out/rtpfmt.c
    functionUses: 0
    functionsReached:
    - rtp_packetize_rawvideo
    linkageType: ''
    returnType: int
    signature: int rtp_packetize_r420( sout_stream_id_sys_t *id, block_t *in )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtp_packetize_rawvideo
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - in
    argTypes:
    - sout_stream_id_sys_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1981
      start: 1978
    functionDepth: 4
    functionLinenumber: 1978
    functionLinenumberEnd: 1981
    functionName: rtp_packetize_rgb24
    functionSourceFile: /src/vlc/modules/stream_out/rtpfmt.c
    functionUses: 0
    functionsReached:
    - rtp_packetize_rawvideo
    linkageType: ''
    returnType: int
    signature: int rtp_packetize_rgb24( sout_stream_id_sys_t *id, block_t *in )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtp_packetize_rawvideo
      Src: /src/vlc/modules/stream_out/rtpfmt.c:1985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - in
    argTypes:
    - sout_stream_id_sys_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1986
      start: 1983
    functionDepth: 4
    functionLinenumber: 1983
    functionLinenumberEnd: 1986
    functionName: rtp_packetize_bgr24
    functionSourceFile: /src/vlc/modules/stream_out/rtpfmt.c
    functionUses: 0
    functionsReached:
    - rtp_packetize_rawvideo
    linkageType: ''
    returnType: int
    signature: int rtp_packetize_bgr24( sout_stream_id_sys_t *id, block_t *in )
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: GetWBE
      Src: /src/vlc/modules/stream_out/rtpfmt.c:2009,1
    - Dst: GetWBE
      Src: /src/vlc/modules/stream_out/rtpfmt.c:2017,1
    - Dst: GetWBE
      Src: /src/vlc/modules/stream_out/rtpfmt.c:2019,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/rtpfmt.c:2024,1
    - Dst: GetWBE
      Src: /src/vlc/modules/stream_out/rtpfmt.c:2037,1
    - Dst: GetWBE
      Src: /src/vlc/modules/stream_out/rtpfmt.c:2038,1
    - Dst: GetWBE
      Src: /src/vlc/modules/stream_out/rtpfmt.c:2072,1
    - Dst: __MIN
      Src: /src/vlc/modules/stream_out/rtpfmt.c:2110,1
    - Dst: rtp_mtu
      Src: /src/vlc/modules/stream_out/rtpfmt.c:2110,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/stream_out/rtpfmt.c:2114,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:2117,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/stream_out/rtpfmt.c:2124,1
    - Dst: SetWBE
      Src: /src/vlc/modules/stream_out/rtpfmt.c:2134,1
    - Dst: SetWBE
      Src: /src/vlc/modules/stream_out/rtpfmt.c:2137,1
    - Dst: SetWBE
      Src: /src/vlc/modules/stream_out/rtpfmt.c:2146,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtpfmt.c:2150,1
    - Dst: rtp_packetize_common
      Src: /src/vlc/modules/stream_out/rtpfmt.c:2156,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/rtpfmt.c:2158,1
    - Dst: rtp_packetize_send
      Src: /src/vlc/modules/stream_out/rtpfmt.c:2163,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:2170,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/rtpfmt.c:2173,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 117
    argCount: 2
    argNames:
    - id
    - in
    argTypes:
    - sout_stream_id_sys_t*
    - block_t*
    assertStmts:
    - condition: ((marker & 0xff00) == 0xff00)
      pos:
        line_end: 2023
        line_start: 2023
        source_file: /src/vlc/modules/stream_out/rtpfmt.c
    constantsTouched: []
    func_position:
      end: 2175
      start: 1988
    functionDepth: 3
    functionLinenumber: 1988
    functionLinenumberEnd: 2175
    functionName: rtp_packetize_jpeg
    functionSourceFile: /src/vlc/modules/stream_out/rtpfmt.c
    functionUses: 0
    functionsReached:
    - rtp_mtu
    - GetWBE
    - block_Release
    - assert
    - rtp_packetize_common
    - SetWBE
    - memcpy
    - rtp_packetize_send
    - SetDWBE
    - block_Alloc
    - __MIN
    linkageType: ''
    returnType: int
    signature: int rtp_packetize_jpeg( sout_stream_id_sys_t *id, block_t *in )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/record.c:134,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/stream_out/record.c:138,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/stream_out/record.c:141,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/record.c:144,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/record.c:147,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/stream_out/record.c:155,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/stream_out/record.c:158,1
    - Dst: TAB_INIT
      Src: /src/vlc/modules/stream_out/record.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 167
    functionName: Open
    functionSourceFile: /src/vlc/modules/stream_out/record.c
    functionUses: 30
    functionsReached:
    - strdup
    - TAB_INIT
    - VLC_TICK_FROM_SEC
    - var_GetNonEmptyString
    - free
    - config_ChainParse
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sout_StreamChainDelete
      Src: /src/vlc/modules/stream_out/record.c:177,1
    - Dst: TAB_CLEAN
      Src: /src/vlc/modules/stream_out/record.c:179,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/record.c:180,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/record.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 182
    functionName: Close
    functionSourceFile: /src/vlc/modules/stream_out/record.c
    functionUses: 97
    functionsReached:
    - free
    - TAB_CLEAN
    - sout_StreamChainDelete
    linkageType: ''
    returnType: void
    signature: void Close( sout_stream_t *p_stream )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/record.c:193,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/stream_out/record.c:198,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/stream_out/record.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - p_stream
    - p_fmt
    - es_id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: Add
    functionSourceFile: /src/vlc/modules/stream_out/record.c
    functionUses: 57
    functionsReached:
    - TAB_APPEND
    - es_format_Copy
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      Add( sout_stream_t *p_stream, const es_format_t *p_fmt, const char *es_id )'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OutputStart
      Src: /src/vlc/modules/stream_out/record.c:217,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_out/record.c:220,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/record.c:222,1
    - Dst: sout_StreamIdDel
      Src: /src/vlc/modules/stream_out/record.c:224,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/record.c:226,1
    - Dst: TAB_REMOVE
      Src: /src/vlc/modules/stream_out/record.c:228,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/record.c:236,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - p_stream
    - _id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts:
    - condition: ( !id->id || p_sys->p_out )
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/vlc/modules/stream_out/record.c
    constantsTouched: []
    func_position:
      end: 237
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 237
    functionName: Del
    functionSourceFile: /src/vlc/modules/stream_out/record.c
    functionUses: 43
    functionsReached:
    - assert
    - es_format_Clean
    - block_ChainRelease
    - OutputStart
    - free
    - TAB_REMOVE
    - sout_StreamIdDel
    linkageType: ''
    returnType: void
    signature: void Del( sout_stream_t *p_stream, void *_id )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/stream_out/record.c:244,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/stream_out/record.c:246,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/record.c:249,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/stream_out/record.c:250,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/stream_out/record.c:250,1
    - Dst: OutputStart
      Src: /src/vlc/modules/stream_out/record.c:251,1
    - Dst: OutputSend
      Src: /src/vlc/modules/stream_out/record.c:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - p_stream
    - id
    - p_buffer
    argTypes:
    - sout_stream_t*
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 257
    functionName: Send
    functionSourceFile: /src/vlc/modules/stream_out/record.c
    functionUses: 87
    functionsReached:
    - vlc_tick_now
    - SEC_FROM_VLC_TICK
    - OutputStart
    - OutputSend
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int Send( sout_stream_t *p_stream, void *id, block_t *p_buffer )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - muxer
    - ','
    - ext
    - ','
    - count
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 271
    functionName: M
    functionSourceFile: /src/vlc/modules/stream_out/record.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: M(muxer, ext, count, ... )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/stream_out/record.c:326,1
    - Dst: var_Type
      Src: /src/vlc/modules/stream_out/record.c:328,1
    - Dst: var_SetString
      Src: /src/vlc/modules/stream_out/record.c:330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - obj
    - file
    argTypes:
    - vlc_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 334
    functionName: set_record_file_var
    functionSourceFile: /src/vlc/modules/stream_out/record.c
    functionUses: 0
    functionsReached:
    - vlc_object_parent
    - var_Type
    - var_SetString
    linkageType: ''
    returnType: void
    signature: void set_record_file_var(vlc_object_t *obj, const char *file)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/vlc/modules/stream_out/record.c:344,1
    - Dst: config_StringEscape
      Src: /src/vlc/modules/stream_out/record.c:350,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/record.c:353,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/record.c:356,1
    - Dst: asprintf
      Src: /src/vlc/modules/stream_out/record.c:358,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/record.c:367,1
    - Dst: sout_StreamChainNew
      Src: /src/vlc/modules/stream_out/record.c:369,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/record.c:369,1
    - Dst: sout_StreamIdAdd
      Src: /src/vlc/modules/stream_out/record.c:381,1
    - Dst: set_record_file_var
      Src: /src/vlc/modules/stream_out/record.c:387,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/record.c:387,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/record.c:389,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/record.c:390,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/record.c:396,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/record.c:397,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 4
    argNames:
    - p_stream
    - psz_muxer
    - psz_prefix
    - psz_extension
    argTypes:
    - sout_stream_t*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 400
    functionName: OutputNew
    functionSourceFile: /src/vlc/modules/stream_out/record.c
    functionUses: 0
    functionsReached:
    - asprintf
    - set_record_file_var
    - sout_StreamIdAdd
    - config_StringEscape
    - free
    - msg_Dbg
    - VLC_OBJECT
    - sout_StreamChainNew
    linkageType: ''
    returnType: int
    signature: "int OutputNew( sout_stream_t *p_stream,\n                      const
      char *psz_muxer, const char *psz_prefix, const char *psz_extension  )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/record.c:404,1
    - Dst: likely
      Src: /src/vlc/modules/stream_out/record.c:406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p_block
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 410
    functionName: BlockTick
    functionSourceFile: /src/vlc/modules/stream_out/record.c
    functionUses: 0
    functionsReached:
    - unlikely
    - likely
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t BlockTick( const block_t *p_block )
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/record.c:483,1
    - Dst: tempnam
      Src: /src/vlc/modules/stream_out/record.c:489,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/record.c:493,1
    - Dst: OutputNew
      Src: /src/vlc/modules/stream_out/record.c:494,1
    - Dst: vlc_unlink
      Src: /src/vlc/modules/stream_out/record.c:498,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/record.c:499,1
    - Dst: sout_StreamIdDel
      Src: /src/vlc/modules/stream_out/record.c:509,1
    - Dst: sout_StreamChainDelete
      Src: /src/vlc/modules/stream_out/record.c:513,1
    - Dst: vlc_unlink
      Src: /src/vlc/modules/stream_out/record.c:524,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/record.c:525,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/record.c:531,1
    - Dst: OutputNew
      Src: /src/vlc/modules/stream_out/record.c:536,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/record.c:538,1
    - Dst: BlockTick
      Src: /src/vlc/modules/stream_out/record.c:553,1
    - Dst: BlockTick
      Src: /src/vlc/modules/stream_out/record.c:565,1
    - Dst: BlockTick
      Src: /src/vlc/modules/stream_out/record.c:597,1
    - Dst: BlockTick
      Src: /src/vlc/modules/stream_out/record.c:624,1
    - Dst: OutputSend
      Src: /src/vlc/modules/stream_out/record.c:625,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/record.c:627,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 112
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 412
    functionDepth: 3
    functionLinenumber: 412
    functionLinenumberEnd: 631
    functionName: OutputStart
    functionSourceFile: /src/vlc/modules/stream_out/record.c
    functionUses: 2
    functionsReached:
    - block_Release
    - sout_StreamChainDelete
    - free
    - msg_Err
    - OutputSend
    - msg_Dbg
    - vlc_unlink
    - sout_StreamIdDel
    - msg_Warn
    - BlockTick
    - tempnam
    - OutputNew
    linkageType: ''
    returnType: void
    signature: void OutputStart( sout_stream_t *p_stream )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/record.c:641,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/record.c:652,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/record.c:657,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_out/record.c:658,1
    - Dst: sout_StreamIdSend
      Src: /src/vlc/modules/stream_out/record.c:660,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_out/record.c:664,1
    - Dst: block_ChainProperties
      Src: /src/vlc/modules/stream_out/record.c:670,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/stream_out/record.c:672,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - p_stream
    - id
    - p_block
    argTypes:
    - sout_stream_t*
    - sout_stream_id_sys_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 674
    functionName: OutputSend
    functionSourceFile: /src/vlc/modules/stream_out/record.c
    functionUses: 2
    functionsReached:
    - block_ChainProperties
    - sout_StreamIdSend
    - block_ChainRelease
    - block_ChainLastAppend
    - unlikely
    linkageType: ''
    returnType: void
    signature: void OutputSend( sout_stream_t *p_stream, sout_stream_id_sys_t *id,
      block_t *p_block )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/stream_out/rtsp.c:89,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/rtsp.c:91,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/stream_out/rtsp.c:95,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/stream_out/rtsp.c:97,1
    - Dst: __MAX
      Src: /src/vlc/modules/stream_out/rtsp.c:97,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/stream_out/rtsp.c:97,1
    - Dst: vlc_timer_create
      Src: /src/vlc/modules/stream_out/rtsp.c:100,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/rtsp.c:104,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/rtsp.c:108,1
    - Dst: vlc_rtsp_HostNew
      Src: /src/vlc/modules/stream_out/rtsp.c:110,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/rtsp.c:110,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/stream_out/rtsp.c:114,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/stream_out/rtsp.c:115,1
    - Dst: httpd_UrlNew
      Src: /src/vlc/modules/stream_out/rtsp.c:117,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtsp.c:118,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtsp.c:119,1
    - Dst: httpd_UrlCatch
      Src: /src/vlc/modules/stream_out/rtsp.c:123,1
    - Dst: httpd_UrlCatch
      Src: /src/vlc/modules/stream_out/rtsp.c:124,1
    - Dst: httpd_UrlCatch
      Src: /src/vlc/modules/stream_out/rtsp.c:125,1
    - Dst: httpd_UrlCatch
      Src: /src/vlc/modules/stream_out/rtsp.c:126,1
    - Dst: httpd_UrlCatch
      Src: /src/vlc/modules/stream_out/rtsp.c:127,1
    - Dst: httpd_UrlCatch
      Src: /src/vlc/modules/stream_out/rtsp.c:129,1
    - Dst: RtspUnsetup
      Src: /src/vlc/modules/stream_out/rtsp.c:133,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - owner
    - path
    argTypes:
    - vlc_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 135
    functionName: RtspSetup
    functionSourceFile: /src/vlc/modules/stream_out/rtsp.c
    functionUses: 1
    functionsReached:
    - vlc_timer_create
    - strdup
    - var_InheritString
    - httpd_UrlCatch
    - var_InheritInteger
    - vlc_tick_from_sec
    - vlc_mutex_init
    - calloc
    - __MAX
    - free
    - msg_Dbg
    - vlc_rtsp_HostNew
    - VLC_OBJECT
    - httpd_UrlNew
    - RtspUnsetup
    - unlikely
    linkageType: ''
    returnType: rtsp_stream_t
    signature: rtsp_stream_t *RtspSetup( vlc_object_t *owner, const char *path )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: httpd_UrlDelete
      Src: /src/vlc/modules/stream_out/rtsp.c:141,1
    - Dst: httpd_HostDelete
      Src: /src/vlc/modules/stream_out/rtsp.c:144,1
    - Dst: RtspClientDel
      Src: /src/vlc/modules/stream_out/rtsp.c:147,1
    - Dst: vlc_timer_destroy
      Src: /src/vlc/modules/stream_out/rtsp.c:150,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtsp.c:152,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtsp.c:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - rtsp
    argTypes:
    - rtsp_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 154
    functionName: RtspUnsetup
    functionSourceFile: /src/vlc/modules/stream_out/rtsp.c
    functionUses: 2
    functionsReached:
    - httpd_UrlDelete
    - httpd_HostDelete
    - RtspClientDel
    - free
    - vlc_timer_destroy
    linkageType: ''
    returnType: void
    signature: void RtspUnsetup( rtsp_stream_t *rtsp )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/stream_out/rtsp.c:201,1
    - Dst: asprintf
      Src: /src/vlc/modules/stream_out/rtsp.c:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - id
    - base
    argTypes:
    - rtsp_stream_id_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 208
    functionName: RtspAppendTrackPath
    functionSourceFile: /src/vlc/modules/stream_out/rtsp.c
    functionUses: 1
    functionsReached:
    - strlen
    - asprintf
    linkageType: ''
    returnType: char
    signature: char *RtspAppendTrackPath( rtsp_stream_id_t *id, const char *base )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/rtsp.c:217,1
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/rtsp.c:222,1
    - Dst: RtspAppendTrackPath
      Src: /src/vlc/modules/stream_out/rtsp.c:235,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtsp.c:238,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/rtsp.c:242,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/stream_out/rtsp.c:244,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/stream_out/rtsp.c:245,1
    - Dst: httpd_UrlNew
      Src: /src/vlc/modules/stream_out/rtsp.c:247,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtsp.c:248,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtsp.c:249,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtsp.c:250,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtsp.c:254,1
    - Dst: httpd_UrlCatch
      Src: /src/vlc/modules/stream_out/rtsp.c:258,1
    - Dst: httpd_UrlCatch
      Src: /src/vlc/modules/stream_out/rtsp.c:259,1
    - Dst: httpd_UrlCatch
      Src: /src/vlc/modules/stream_out/rtsp.c:260,1
    - Dst: httpd_UrlCatch
      Src: /src/vlc/modules/stream_out/rtsp.c:261,1
    - Dst: httpd_UrlCatch
      Src: /src/vlc/modules/stream_out/rtsp.c:262,1
    - Dst: httpd_UrlCatch
      Src: /src/vlc/modules/stream_out/rtsp.c:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 5
    argNames:
    - rtsp
    - sid
    - ssrc
    - clock_rate
    - mcast_fd
    argTypes:
    - rtsp_stream_t*
    - sout_stream_id_sys_t*
    - uint32_t
    - unsigned
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 268
    functionName: RtspAddId
    functionSourceFile: /src/vlc/modules/stream_out/rtsp.c
    functionUses: 1
    functionsReached:
    - var_InheritString
    - httpd_UrlCatch
    - msg_Err
    - free
    - msg_Dbg
    - httpd_UrlNew
    - malloc
    - RtspAppendTrackPath
    linkageType: ''
    returnType: rtsp_stream_id_t
    signature: "rtsp_stream_id_t *RtspAddId( rtsp_stream_t *rtsp, sout_stream_id_sys_t
      *sid,\n                             uint32_t ssrc, unsigned clock_rate,\n                             int
      mcast_fd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: httpd_UrlDelete
      Src: /src/vlc/modules/stream_out/rtsp.c:273,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/rtsp.c:275,1
    - Dst: RtspTrackClose
      Src: /src/vlc/modules/stream_out/rtsp.c:285,1
    - Dst: TAB_ERASE
      Src: /src/vlc/modules/stream_out/rtsp.c:286,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/rtsp.c:291,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtsp.c:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - rtsp
    - id
    argTypes:
    - rtsp_stream_t*
    - rtsp_stream_id_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 293
    functionName: RtspDelId
    functionSourceFile: /src/vlc/modules/stream_out/rtsp.c
    functionUses: 1
    functionsReached:
    - httpd_UrlDelete
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - TAB_ERASE
    - RtspTrackClose
    - free
    linkageType: ''
    returnType: void
    signature: void RtspDelId( rtsp_stream_t *rtsp, rtsp_stream_id_t *id )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_timer_schedule
      Src: /src/vlc/modules/stream_out/rtsp.c:311,1
    - Dst: vlc_timer_disarm
      Src: /src/vlc/modules/stream_out/rtsp.c:315,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - rtsp
    argTypes:
    - rtsp_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 317
    functionName: RtspUpdateTimer
    functionSourceFile: /src/vlc/modules/stream_out/rtsp.c
    functionUses: 0
    functionsReached:
    - vlc_timer_disarm
    - vlc_timer_schedule
    linkageType: ''
    returnType: void
    signature: void RtspUpdateTimer( rtsp_stream_t *rtsp )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/rtsp.c:324,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/stream_out/rtsp.c:325,1
    - Dst: RtspClientDel
      Src: /src/vlc/modules/stream_out/rtsp.c:328,1
    - Dst: RtspUpdateTimer
      Src: /src/vlc/modules/stream_out/rtsp.c:329,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/rtsp.c:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 331
    functionName: RtspTimeOut
    functionSourceFile: /src/vlc/modules/stream_out/rtsp.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - RtspClientDel
    - RtspUpdateTimer
    linkageType: ''
    returnType: void
    signature: void RtspTimeOut( void *data )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/rtsp.c:338,1
    - Dst: vlc_rand_bytes
      Src: /src/vlc/modules/stream_out/rtsp.c:343,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/stream_out/rtsp.c:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - rtsp
    argTypes:
    - rtsp_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 350
    functionName: RtspClientNew
    functionSourceFile: /src/vlc/modules/stream_out/rtsp.c
    functionUses: 0
    functionsReached:
    - TAB_APPEND
    - vlc_rand_bytes
    - malloc
    linkageType: ''
    returnType: rtsp_session_t
    signature: rtsp_session_t *RtspClientNew( rtsp_stream_t *rtsp )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strtoull
      Src: /src/vlc/modules/stream_out/rtsp.c:365,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - rtsp
    - name
    argTypes:
    - rtsp_stream_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 376
    functionName: RtspClientGet
    functionSourceFile: /src/vlc/modules/stream_out/rtsp.c
    functionUses: 0
    functionsReached:
    - strtoull
    linkageType: ''
    returnType: rtsp_session_t
    signature: rtsp_session_t *RtspClientGet( rtsp_stream_t *rtsp, const char *name
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAB_REMOVE
      Src: /src/vlc/modules/stream_out/rtsp.c:384,1
    - Dst: RtspTrackClose
      Src: /src/vlc/modules/stream_out/rtsp.c:387,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtsp.c:389,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtsp.c:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rtsp
    - session
    argTypes:
    - rtsp_stream_t*
    - rtsp_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 391
    functionName: RtspClientDel
    functionSourceFile: /src/vlc/modules/stream_out/rtsp.c
    functionUses: 2
    functionsReached:
    - free
    - TAB_REMOVE
    - RtspTrackClose
    linkageType: ''
    returnType: void
    signature: void RtspClientDel( rtsp_stream_t *rtsp, rtsp_session_t *session )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/stream_out/rtsp.c:400,1
    - Dst: RtspUpdateTimer
      Src: /src/vlc/modules/stream_out/rtsp.c:401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - session
    argTypes:
    - rtsp_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 402
    functionName: RtspClientAlive
    functionSourceFile: /src/vlc/modules/stream_out/rtsp.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - RtspUpdateTimer
    linkageType: ''
    returnType: void
    signature: void RtspClientAlive( rtsp_session_t *session )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_dup
      Src: /src/vlc/modules/stream_out/rtsp.c:408,1
    - Dst: WSADuplicateSocket
      Src: /src/vlc/modules/stream_out/rtsp.c:411,1
    - Dst: GetCurrentProcessId
      Src: /src/vlc/modules/stream_out/rtsp.c:411,1
    - Dst: WSASocket
      Src: /src/vlc/modules/stream_out/rtsp.c:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - oldfd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 416
    functionName: dup_socket
    functionSourceFile: /src/vlc/modules/stream_out/rtsp.c
    functionUses: 0
    functionsReached:
    - GetCurrentProcessId
    - WSASocket
    - vlc_dup
    - WSADuplicateSocket
    linkageType: ''
    returnType: int
    signature: int dup_socket(int oldfd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtp_del_sink
      Src: /src/vlc/modules/stream_out/rtsp.c:425,1
    - Dst: net_Close
      Src: /src/vlc/modules/stream_out/rtsp.c:428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - tr
    argTypes:
    - rtsp_strack_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 419
    functionDepth: 3
    functionLinenumber: 419
    functionLinenumberEnd: 431
    functionName: RtspTrackClose
    functionSourceFile: /src/vlc/modules/stream_out/rtsp.c
    functionUses: 2
    functionsReached:
    - net_Close
    - rtp_del_sink
    linkageType: ''
    returnType: void
    signature: void RtspTrackClose( rtsp_strack_t *tr )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vlc/modules/stream_out/rtsp.c:438,1
    - Dst: strchr
      Src: /src/vlc/modules/stream_out/rtsp.c:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 447
    functionName: transport_next
    functionSourceFile: /src/vlc/modules/stream_out/rtsp.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: char
    signature: char *transport_next( const char *str )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vlc/modules/stream_out/rtsp.c:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 457
    functionName: parameter_next
    functionSourceFile: /src/vlc/modules/stream_out/rtsp.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: char
    signature: char *parameter_next( const char *str )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: newlocale
      Src: /src/vlc/modules/stream_out/rtsp.c:462,1
    - Dst: uselocale
      Src: /src/vlc/modules/stream_out/rtsp.c:463,1
    - Dst: sscanf
      Src: /src/vlc/modules/stream_out/rtsp.c:467,1
    - Dst: sscanf
      Src: /src/vlc/modules/stream_out/rtsp.c:470,1
    - Dst: uselocale
      Src: /src/vlc/modules/stream_out/rtsp.c:475,1
    - Dst: freelocale
      Src: /src/vlc/modules/stream_out/rtsp.c:476,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/stream_out/rtsp.c:478,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 479
    functionName: ParseNPT
    functionSourceFile: /src/vlc/modules/stream_out/rtsp.c
    functionUses: 0
    functionsReached:
    - sscanf
    - vlc_tick_from_sec
    - freelocale
    - newlocale
    - uselocale
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t ParseNPT (const char *str)
  - BBCount: 72
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/stream_out/rtsp.c:495,1
    - Dst: time
      Src: /src/vlc/modules/stream_out/rtsp.c:498,1
    - Dst: httpd_ServerIP
      Src: /src/vlc/modules/stream_out/rtsp.c:508,1
    - Dst: strchr
      Src: /src/vlc/modules/stream_out/rtsp.c:509,1
    - Dst: strchr
      Src: /src/vlc/modules/stream_out/rtsp.c:513,1
    - Dst: sprintf
      Src: /src/vlc/modules/stream_out/rtsp.c:514,1
    - Dst: sprintf
      Src: /src/vlc/modules/stream_out/rtsp.c:516,1
    - Dst: httpd_MsgAdd
      Src: /src/vlc/modules/stream_out/rtsp.c:526,1
    - Dst: gmtime_r
      Src: /src/vlc/modules/stream_out/rtsp.c:530,1
    - Dst: httpd_MsgAdd
      Src: /src/vlc/modules/stream_out/rtsp.c:537,1
    - Dst: httpd_MsgGet
      Src: /src/vlc/modules/stream_out/rtsp.c:547,1
    - Dst: httpd_MsgAdd
      Src: /src/vlc/modules/stream_out/rtsp.c:550,1
    - Dst: httpd_MsgGet
      Src: /src/vlc/modules/stream_out/rtsp.c:551,1
    - Dst: httpd_MsgAdd
      Src: /src/vlc/modules/stream_out/rtsp.c:565,1
    - Dst: httpd_MsgAdd
      Src: /src/vlc/modules/stream_out/rtsp.c:566,1
    - Dst: SDPGenerate
      Src: /src/vlc/modules/stream_out/rtsp.c:569,1
    - Dst: strlen
      Src: /src/vlc/modules/stream_out/rtsp.c:571,1
    - Dst: httpd_MsgGet
      Src: /src/vlc/modules/stream_out/rtsp.c:585,1
    - Dst: httpd_MsgGet
      Src: /src/vlc/modules/stream_out/rtsp.c:588,1
    - Dst: transport_next
      Src: /src/vlc/modules/stream_out/rtsp.c:590,1
    - Dst: strncmp
      Src: /src/vlc/modules/stream_out/rtsp.c:599,1
    - Dst: strncmp
      Src: /src/vlc/modules/stream_out/rtsp.c:602,1
    - Dst: strchr
      Src: /src/vlc/modules/stream_out/rtsp.c:604,1
    - Dst: parameter_next
      Src: /src/vlc/modules/stream_out/rtsp.c:608,1
    - Dst: parameter_next
      Src: /src/vlc/modules/stream_out/rtsp.c:610,1
    - Dst: strncmp
      Src: /src/vlc/modules/stream_out/rtsp.c:612,1
    - Dst: strncmp
      Src: /src/vlc/modules/stream_out/rtsp.c:615,1
    - Dst: sscanf
      Src: /src/vlc/modules/stream_out/rtsp.c:618,1
    - Dst: sscanf
      Src: /src/vlc/modules/stream_out/rtsp.c:622,1
    - Dst: strncmp
      Src: /src/vlc/modules/stream_out/rtsp.c:626,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/stream_out/rtsp.c:628,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/stream_out/rtsp.c:629,1
    - Dst: strncmp
      Src: /src/vlc/modules/stream_out/rtsp.c:637,1
    - Dst: net_GetPeerAddress
      Src: /src/vlc/modules/stream_out/rtsp.c:672,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/stream_out/rtsp.c:683,1
    - Dst: snprintf
      Src: /src/vlc/modules/stream_out/rtsp.c:692,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/stream_out/rtsp.c:693,1
    - Dst: httpd_MsgAdd
      Src: /src/vlc/modules/stream_out/rtsp.c:698,1
    - Dst: httpd_ClientIP
      Src: /src/vlc/modules/stream_out/rtsp.c:711,1
    - Dst: net_ConnectDgram
      Src: /src/vlc/modules/stream_out/rtsp.c:717,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/rtsp.c:721,1
    - Dst: setsockopt
      Src: /src/vlc/modules/stream_out/rtsp.c:729,1
    - Dst: net_GetSockAddress
      Src: /src/vlc/modules/stream_out/rtsp.c:731,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/rtsp.c:733,1
    - Dst: RtspClientNew
      Src: /src/vlc/modules/stream_out/rtsp.c:736,1
    - Dst: snprintf
      Src: /src/vlc/modules/stream_out/rtsp.c:737,1
    - Dst: RtspClientGet
      Src: /src/vlc/modules/stream_out/rtsp.c:743,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/rtsp.c:747,1
    - Dst: net_Close
      Src: /src/vlc/modules/stream_out/rtsp.c:748,1
    - Dst: RtspClientAlive
      Src: /src/vlc/modules/stream_out/rtsp.c:752,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/stream_out/rtsp.c:773,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/rtsp.c:787,1
    - Dst: net_Close
      Src: /src/vlc/modules/stream_out/rtsp.c:789,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/rtsp.c:792,1
    - Dst: httpd_ServerIP
      Src: /src/vlc/modules/stream_out/rtsp.c:794,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/rtsp.c:798,1
    - Dst: strchr
      Src: /src/vlc/modules/stream_out/rtsp.c:800,1
    - Dst: httpd_MsgAdd
      Src: /src/vlc/modules/stream_out/rtsp.c:806,1
    - Dst: httpd_MsgGet
      Src: /src/vlc/modules/stream_out/rtsp.c:824,1
    - Dst: httpd_MsgGet
      Src: /src/vlc/modules/stream_out/rtsp.c:826,1
    - Dst: strncmp
      Src: /src/vlc/modules/stream_out/rtsp.c:829,1
    - Dst: ParseNPT
      Src: /src/vlc/modules/stream_out/rtsp.c:835,1
    - Dst: strchr
      Src: /src/vlc/modules/stream_out/rtsp.c:836,1
    - Dst: ParseNPT
      Src: /src/vlc/modules/stream_out/rtsp.c:838,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/rtsp.c:854,1
    - Dst: RtspClientGet
      Src: /src/vlc/modules/stream_out/rtsp.c:855,1
    - Dst: strlen
      Src: /src/vlc/modules/stream_out/rtsp.c:858,1
    - Dst: RtspClientAlive
      Src: /src/vlc/modules/stream_out/rtsp.c:862,1
    - Dst: rtp_get_ts
      Src: /src/vlc/modules/stream_out/rtsp.c:865,1
    - Dst: dup_socket
      Src: /src/vlc/modules/stream_out/rtsp.c:887,1
    - Dst: rtp_add_sink
      Src: /src/vlc/modules/stream_out/rtsp.c:891,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/rtsp.c:898,1
    - Dst: rtp_get_seq
      Src: /src/vlc/modules/stream_out/rtsp.c:899,1
    - Dst: RtspAppendTrackPath
      Src: /src/vlc/modules/stream_out/rtsp.c:901,1
    - Dst: sprintf
      Src: /src/vlc/modules/stream_out/rtsp.c:902,1
    - Dst: rtp_compute_ts
      Src: /src/vlc/modules/stream_out/rtsp.c:905,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/rtsp.c:906,1
    - Dst: httpd_MsgAdd
      Src: /src/vlc/modules/stream_out/rtsp.c:912,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/rtsp.c:915,1
    - Dst: secf_from_vlc_tick
      Src: /src/vlc/modules/stream_out/rtsp.c:919,1
    - Dst: httpd_MsgAdd
      Src: /src/vlc/modules/stream_out/rtsp.c:920,1
    - Dst: httpd_MsgGet
      Src: /src/vlc/modules/stream_out/rtsp.c:923,1
    - Dst: httpd_MsgAdd
      Src: /src/vlc/modules/stream_out/rtsp.c:924,1
    - Dst: httpd_MsgAdd
      Src: /src/vlc/modules/stream_out/rtsp.c:933,1
    - Dst: httpd_MsgGet
      Src: /src/vlc/modules/stream_out/rtsp.c:940,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/rtsp.c:941,1
    - Dst: RtspClientGet
      Src: /src/vlc/modules/stream_out/rtsp.c:942,1
    - Dst: rtp_del_sink
      Src: /src/vlc/modules/stream_out/rtsp.c:959,1
    - Dst: RtspClientAlive
      Src: /src/vlc/modules/stream_out/rtsp.c:968,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/rtsp.c:970,1
    - Dst: httpd_MsgGet
      Src: /src/vlc/modules/stream_out/rtsp.c:982,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/rtsp.c:984,1
    - Dst: RtspClientGet
      Src: /src/vlc/modules/stream_out/rtsp.c:985,1
    - Dst: RtspClientAlive
      Src: /src/vlc/modules/stream_out/rtsp.c:987,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/rtsp.c:988,1
    - Dst: httpd_MsgGet
      Src: /src/vlc/modules/stream_out/rtsp.c:998,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/rtsp.c:1000,1
    - Dst: RtspClientGet
      Src: /src/vlc/modules/stream_out/rtsp.c:1001,1
    - Dst: RtspClientDel
      Src: /src/vlc/modules/stream_out/rtsp.c:1006,1
    - Dst: RtspUpdateTimer
      Src: /src/vlc/modules/stream_out/rtsp.c:1007,1
    - Dst: RtspTrackClose
      Src: /src/vlc/modules/stream_out/rtsp.c:1015,1
    - Dst: TAB_ERASE
      Src: /src/vlc/modules/stream_out/rtsp.c:1016,1
    - Dst: RtspClientAlive
      Src: /src/vlc/modules/stream_out/rtsp.c:1019,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/rtsp.c:1022,1
    - Dst: httpd_MsgAdd
      Src: /src/vlc/modules/stream_out/rtsp.c:1033,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/stream_out/rtsp.c:1034,1
    - Dst: httpd_MsgAdd
      Src: /src/vlc/modules/stream_out/rtsp.c:1036,1
    - Dst: httpd_MsgAdd
      Src: /src/vlc/modules/stream_out/rtsp.c:1039,1
    - Dst: httpd_MsgAdd
      Src: /src/vlc/modules/stream_out/rtsp.c:1040,1
    - Dst: httpd_MsgGet
      Src: /src/vlc/modules/stream_out/rtsp.c:1042,1
    - Dst: httpd_MsgAdd
      Src: /src/vlc/modules/stream_out/rtsp.c:1044,1
    - Dst: httpd_MsgGet
      Src: /src/vlc/modules/stream_out/rtsp.c:1045,1
    - Dst: httpd_MsgAdd
      Src: /src/vlc/modules/stream_out/rtsp.c:1047,1
    CyclomaticComplexity: 110
    EdgeCount: 110
    ICount: 302
    argCount: 5
    argNames:
    - rtsp
    - id
    - cl
    - answer
    - query
    argTypes:
    - rtsp_stream_t*
    - rtsp_stream_id_t*
    - httpd_client_t*
    - httpd_message_t*
    - httpd_message_t*
    assertStmts:
    - condition: ( tr->sout_id != NULL )
      pos:
        line_end: 897
        line_start: 897
        source_file: /src/vlc/modules/stream_out/rtsp.c
    constantsTouched: []
    func_position:
      end: 1050
      start: 486
    functionDepth: 4
    functionLinenumber: 486
    functionLinenumberEnd: 1050
    functionName: RtspHandler
    functionSourceFile: /src/vlc/modules/stream_out/rtsp.c
    functionUses: 0
    functionsReached:
    - sscanf
    - strchr
    - assert
    - net_GetPeerAddress
    - SEC_FROM_VLC_TICK
    - transport_next
    - rtp_get_seq
    - net_Close
    - TAB_ERASE
    - secf_from_vlc_tick
    - RtspTrackClose
    - vlc_mrand48
    - parameter_next
    - rtp_get_ts
    - ParseNPT
    - vlc_mutex_lock
    - RtspClientNew
    - msg_Err
    - rtp_compute_ts
    - net_ConnectDgram
    - SDPGenerate
    - httpd_ClientIP
    - snprintf
    - RtspUpdateTimer
    - httpd_ServerIP
    - gmtime_r
    - sprintf
    - RtspClientGet
    - var_InheritInteger
    - net_GetSockAddress
    - TAB_APPEND
    - setsockopt
    - dup_socket
    - rtp_del_sink
    - strncmp
    - httpd_MsgAdd
    - strcmp
    - time
    - RtspClientAlive
    - rtp_add_sink
    - strncasecmp
    - httpd_MsgGet
    - vlc_mutex_unlock
    - strlen
    - RtspClientDel
    - free
    - RtspAppendTrackPath
    linkageType: ''
    returnType: int
    signature: "int RtspHandler( rtsp_stream_t *rtsp, rtsp_stream_id_t *id,\n                        httpd_client_t
      *cl,\n                        httpd_message_t *answer,\n                        const
      httpd_message_t *query )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RtspHandler
      Src: /src/vlc/modules/stream_out/rtsp.c:1059,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p_args
    - cl
    - answer
    - query
    argTypes:
    - httpd_callback_sys_t*
    - httpd_client_t*
    - httpd_message_t*
    - httpd_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1054
    functionDepth: 5
    functionLinenumber: 1054
    functionLinenumberEnd: 1060
    functionName: RtspCallback
    functionSourceFile: /src/vlc/modules/stream_out/rtsp.c
    functionUses: 0
    functionsReached:
    - RtspHandler
    linkageType: ''
    returnType: int
    signature: "int RtspCallback( httpd_callback_sys_t *p_args,\n                         httpd_client_t
      *cl,\n                         httpd_message_t *answer,\n                         const
      httpd_message_t *query )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RtspHandler
      Src: /src/vlc/modules/stream_out/rtsp.c:1070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p_args
    - cl
    - answer
    - query
    argTypes:
    - httpd_callback_sys_t*
    - httpd_client_t*
    - httpd_message_t*
    - httpd_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1064
    functionDepth: 5
    functionLinenumber: 1064
    functionLinenumberEnd: 1071
    functionName: RtspCallbackId
    functionSourceFile: /src/vlc/modules/stream_out/rtsp.c
    functionUses: 0
    functionsReached:
    - RtspHandler
    linkageType: ''
    returnType: int
    signature: "int RtspCallbackId( httpd_callback_sys_t *p_args,\n                           httpd_client_t
      *cl,\n                           httpd_message_t *answer,\n                           const
      httpd_message_t *query )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - prefix
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: add_renderer_opts
    functionSourceFile: /src/vlc/modules/stream_out/renderer_common.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: add_renderer_opts(prefix)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/trace.c:42,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/trace.c:43,1
    - Dst: sout_StreamIdAdd
      Src: /src/vlc/modules/stream_out/trace.c:47,1
    - Dst: FREENULL
      Src: /src/vlc/modules/stream_out/trace.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - stream
    - fmt
    - es_id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 51
    functionName: Add
    functionSourceFile: /src/vlc/modules/stream_out/trace.c
    functionUses: 60
    functionsReached:
    - sout_StreamIdAdd
    - FREENULL
    - unlikely
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      Add(sout_stream_t *stream, const es_format_t *fmt, const char *es_id)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_get_tracer
      Src: /src/vlc/modules/stream_out/trace.c:57,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/trace.c:57,1
    - Dst: vlc_tracer_TraceStreamDTS
      Src: /src/vlc/modules/stream_out/trace.c:62,1
    - Dst: vlc_tracer_TraceStreamPTS
      Src: /src/vlc/modules/stream_out/trace.c:71,1
    - Dst: sout_StreamIdSend
      Src: /src/vlc/modules/stream_out/trace.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - stream
    - id
    - frame
    argTypes:
    - sout_stream_t*
    - void*
    - vlc_frame_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 77
    functionName: Send
    functionSourceFile: /src/vlc/modules/stream_out/trace.c
    functionUses: 90
    functionsReached:
    - sout_StreamIdSend
    - vlc_tracer_TraceStreamDTS
    - vlc_object_get_tracer
    - vlc_tracer_TraceStreamPTS
    - VLC_OBJECT
    linkageType: ''
    returnType: int
    signature: int Send(sout_stream_t *stream, void *id, vlc_frame_t *frame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sout_StreamIdDel
      Src: /src/vlc/modules/stream_out/trace.c:82,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/trace.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - stream
    - id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: Del
    functionSourceFile: /src/vlc/modules/stream_out/trace.c
    functionUses: 48
    functionsReached:
    - free
    - sout_StreamIdDel
    linkageType: ''
    returnType: void
    signature: void Del(sout_stream_t *stream, void *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_get_tracer
      Src: /src/vlc/modules/stream_out/trace.c:88,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/trace.c:88,1
    - Dst: vlc_tracer_TracePCR
      Src: /src/vlc/modules/stream_out/trace.c:90,1
    - Dst: sout_StreamSetPCR
      Src: /src/vlc/modules/stream_out/trace.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - pcr
    argTypes:
    - sout_stream_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: SetPCR
    functionSourceFile: /src/vlc/modules/stream_out/trace.c
    functionUses: 40
    functionsReached:
    - vlc_object_get_tracer
    - vlc_tracer_TracePCR
    - VLC_OBJECT
    - sout_StreamSetPCR
    linkageType: ''
    returnType: void
    signature: void SetPCR(sout_stream_t *stream, vlc_tick_t pcr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/stream_out/trace.c:99,1
    - Dst: sout_StreamControl
      Src: /src/vlc/modules/stream_out/trace.c:100,1
    - Dst: va_arg
      Src: /src/vlc/modules/stream_out/trace.c:101,1
    - Dst: sout_StreamControlVa
      Src: /src/vlc/modules/stream_out/trace.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - query
    - args
    argTypes:
    - sout_stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: Control
    functionSourceFile: /src/vlc/modules/stream_out/trace.c
    functionUses: 46
    functionsReached:
    - va_arg
    - sout_StreamControl
    - sout_StreamControlVa
    linkageType: ''
    returnType: int
    signature: int Control(sout_stream_t *stream, int query, va_list args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_get_tracer
      Src: /src/vlc/modules/stream_out/trace.c:109,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/trace.c:109,1
    - Dst: vlc_tracer_TraceEvent
      Src: /src/vlc/modules/stream_out/trace.c:112,1
    - Dst: sout_StreamFlush
      Src: /src/vlc/modules/stream_out/trace.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - stream
    - id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: Flush
    functionSourceFile: /src/vlc/modules/stream_out/trace.c
    functionUses: 37
    functionsReached:
    - vlc_object_get_tracer
    - vlc_tracer_TraceEvent
    - sout_StreamFlush
    - VLC_OBJECT
    linkageType: ''
    returnType: void
    signature: void Flush(sout_stream_t *stream, void *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/stream_out/trace.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: Close
    functionSourceFile: /src/vlc/modules/stream_out/trace.c
    functionUses: 101
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void Close(sout_stream_t *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: config_ChainParse
      Src: /src/vlc/modules/stream_out/trace.c:128,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/stream_out/trace.c:130,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/trace.c:132,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/trace.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 148
    functionName: Open
    functionSourceFile: /src/vlc/modules/stream_out/trace.c
    functionUses: 30
    functionsReached:
    - unlikely
    - var_GetNonEmptyString
    - strdup
    - config_ChainParse
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *this)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: AbstractStreamOutputBuffer::AbstractStreamOutputBuffer
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractStreamOutputBuffer::AbstractStreamOutputBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: AbstractStreamOutputBuffer::~AbstractStreamOutputBuffer()
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractStreamOutputBuffer::~AbstractStreamOutputBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: AbstractQueueStreamOutputBuffer::AbstractQueueStreamOutputBuffer
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - vlc_mutex_init
    linkageType: ''
    returnType: void
    signature: void AbstractQueueStreamOutputBuffer::AbstractQueueStreamOutputBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: AbstractQueueStreamOutputBuffer::~AbstractQueueStreamOutputBuffer()
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractQueueStreamOutputBuffer::~AbstractQueueStreamOutputBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: AbstractQueueStreamOutputBuffer::Enqueue
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - push
    linkageType: ''
    returnType: void
    signature: void AbstractQueueStreamOutputBuffer::Enqueue(void *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:65,1
    - Dst: front
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:67,1
    - Dst: pop
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: AbstractQueueStreamOutputBuffer::Dequeue
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - pop
    - empty
    - front
    linkageType: ''
    returnType: void
    signature: void *AbstractQueueStreamOutputBuffer::Dequeue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: AbstractQueueStreamOutputBuffer::Drain
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractQueueStreamOutputBuffer::Drain()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: AbstractQueueStreamOutputBuffer::isEOS
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool AbstractQueueStreamOutputBuffer::isEOS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: BlockStreamOutputBuffer::BlockStreamOutputBuffer
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BlockStreamOutputBuffer::BlockStreamOutputBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: BlockStreamOutputBuffer::~BlockStreamOutputBuffer()
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BlockStreamOutputBuffer::~BlockStreamOutputBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<block_t *>
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:99,1
    - Dst: Dequeue
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:99,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: BlockStreamOutputBuffer::FlushQueued
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - block_Release
    - reinterpret_cast<block_t *>
    - Dequeue
    linkageType: ''
    returnType: void
    signature: void BlockStreamOutputBuffer::FlushQueued()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sem_init
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: PictureStreamOutputBuffer::PictureStreamOutputBuffer
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - vlc_sem_init
    linkageType: ''
    returnType: void
    signature: void PictureStreamOutputBuffer::PictureStreamOutputBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: PictureStreamOutputBuffer::~PictureStreamOutputBuffer()
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PictureStreamOutputBuffer::~PictureStreamOutputBuffer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AbstractQueueStreamOutputBuffer::Dequeue
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:116,1
    - Dst: vlc_sem_post
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: PictureStreamOutputBuffer::Dequeue
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - AbstractQueueStreamOutputBuffer::Dequeue
    - vlc_sem_post
    linkageType: ''
    returnType: void
    signature: void * PictureStreamOutputBuffer::Dequeue()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sem_wait
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:125,1
    - Dst: AbstractQueueStreamOutputBuffer::Enqueue
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: PictureStreamOutputBuffer::Enqueue
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - vlc_sem_wait
    - AbstractQueueStreamOutputBuffer::Enqueue
    linkageType: ''
    returnType: void
    signature: void PictureStreamOutputBuffer::Enqueue(void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<picture_t *>
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:132,1
    - Dst: PictureStreamOutputBuffer::Dequeue
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:132,1
    - Dst: picture_Release
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: PictureStreamOutputBuffer::FlushQueued
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - picture_Release
    - PictureStreamOutputBuffer::Dequeue
    - reinterpret_cast<picture_t *>
    linkageType: ''
    returnType: void
    signature: void PictureStreamOutputBuffer::FlushQueued()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:140,1
    - Dst: reinterpret_cast<picture_t *>
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:141,1
    - Dst: front
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: PictureStreamOutputBuffer::NextPictureTime
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - empty
    - reinterpret_cast<picture_t *>
    - front
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t PictureStreamOutputBuffer::NextPictureTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i_stream_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: StreamID::StreamID
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamID::StreamID(int i_stream_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i_stream_id
    - i_sequence
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: StreamID::StreamID
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamID::StreamID(int i_stream_id, int i_sequence)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::imbue
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:164,1
    - Dst: std::locale
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:164,1
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 170
    functionName: StreamID::toString
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::imbue
    - std::locale
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string StreamID::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - StreamID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: '& StreamID::operator=(const StreamID &other)'
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamID
    signature: StreamID & StreamID::operator=(const StreamID &other)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - StreamID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: StreamID::operator==(const StreamID &other) const
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool StreamID::operator==(const StreamID &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p_obj
    - id
    - buffer
    argTypes:
    - vlc_object_t*
    - StreamID
    - AbstractStreamOutputBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 194
    functionName: AbstractStream::AbstractStream
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void AbstractStream::AbstractStream(vlc_object_t *p_obj,\n                               const
      StreamID &id,\n                               AbstractStreamOutputBuffer *buffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: AbstractStream::~AbstractStream()
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractStream::~AbstractStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: '& AbstractStream::getID() const'
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamID
    signature: StreamID & AbstractStream::getID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Init
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:223,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:224,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - p_obj
    - id
    - buffer
    argTypes:
    - vlc_object_t*
    - StreamID
    - AbstractStreamOutputBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 229
    functionName: AbstractDecodedStream::AbstractDecodedStream
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - vlc_cond_init
    - vlc_mutex_init
    - es_format_Init
    linkageType: ''
    returnType: void
    signature: "void AbstractDecodedStream::AbstractDecodedStream(vlc_object_t *p_obj,\n
      \                                            const StreamID &id,\n                                             AbstractStreamOutputBuffer
      *buffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbstractDecodedStream::Flush
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:233,1
    - Dst: AbstractDecodedStream::deinit
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:234,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 236
    functionName: AbstractDecodedStream::~AbstractDecodedStream()
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - AbstractDecodedStream::deinit
    - AbstractDecodedStream::Flush
    - es_format_Clean
    linkageType: ''
    returnType: void
    signature: void AbstractDecodedStream::~AbstractDecodedStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AbstractDecodedStream::Flush
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:242,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:243,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:244,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:246,1
    - Dst: vlc_join
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:247,1
    - Dst: AbstractDecodedStream::ReleaseDecoder
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 250
    functionName: AbstractDecodedStream::deinit
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 1
    functionsReached:
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_join
    - AbstractDecodedStream::Flush
    - AbstractDecodedStream::ReleaseDecoder
    linkageType: ''
    returnType: void
    signature: void AbstractDecodedStream::deinit()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_create
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:258,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:262,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:263,1
    - Dst: decoder_Init
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:268,1
    - Dst: setCallbacks
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:270,1
    - Dst: decoder_LoadModule
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:272,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:276,1
    - Dst: AbstractDecodedStream::ReleaseDecoder
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:277,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:281,1
    - Dst: AbstractDecodedStream::ReleaseDecoder
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:283,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - p_fmt
    argTypes:
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 288
    functionName: AbstractDecodedStream::init
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - decoder_Init
    - setCallbacks
    - vlc_clone
    - vlc_object_create
    - msg_Err
    - es_format_Init
    - decoder_LoadModule
    - AbstractDecodedStream::ReleaseDecoder
    linkageType: ''
    returnType: bool
    signature: bool AbstractDecodedStream::init(const es_format_t *p_fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:292,1
    - Dst: reinterpret_cast<AbstractDecodedStream *>
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - me
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 296
    functionName: AbstractDecodedStream::decoderThreadCallback
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - vlc_thread_set_name
    - reinterpret_cast<AbstractDecodedStream *>
    linkageType: ''
    returnType: void
    signature: void * AbstractDecodedStream::decoderThreadCallback(void *me)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:301,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:303,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:304,1
    - Dst: empty
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:307,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:308,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:311,1
    - Dst: front
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:315,1
    - Dst: pop
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:316,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:319,1
    - Dst: pf_decode
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:323,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:334,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:337,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:341,1
    - Dst: AbstractDecodedStream::Drain
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:345,1
    - Dst: AbstractDecodedStream::Drain
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:350,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 353
    functionName: AbstractDecodedStream::decoderThread
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - AbstractDecodedStream::Drain
    - block_Release
    - vlc_assert_unreachable
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - container_of
    - pf_decode
    - pop
    - empty
    - vlc_savecancel
    - vlc_cond_wait
    - front
    linkageType: ''
    returnType: void
    signature: void AbstractDecodedStream::decoderThread()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:357,1
    - Dst: push
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:359,1
    - Dst: std::min
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:362,1
    - Dst: std::max
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:364,1
    - Dst: std::max
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:365,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - p_block
    argTypes:
    - block_t*
    assertStmts:
    - condition: (p_decoder)
      pos:
        line_end: 356
        line_start: 356
        source_file: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    constantsTouched: []
    func_position:
      end: 369
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 369
    functionName: AbstractDecodedStream::Send
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - assert
    - vlc_cond_signal
    - push
    - std::min
    - std::max
    linkageType: ''
    returnType: int
    signature: int AbstractDecodedStream::Send(block_t *p_block)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:374,1
    - Dst: front
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:376,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:377,1
    - Dst: front
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:377,1
    - Dst: pop
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 380
    functionName: AbstractDecodedStream::Flush
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 2
    functionsReached:
    - pop
    - block_Release
    - empty
    - front
    linkageType: ''
    returnType: void
    signature: void AbstractDecodedStream::Flush()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AbstractDecodedStream::Send
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 388
    functionName: AbstractDecodedStream::Drain
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 1
    functionsReached:
    - AbstractDecodedStream::Send
    linkageType: ''
    returnType: void
    signature: void AbstractDecodedStream::Drain()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 395
    functionName: AbstractDecodedStream::isEOS
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AbstractDecodedStream::isEOS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 403
    functionName: AbstractDecodedStream::ReachedPlaybackTime
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AbstractDecodedStream::ReachedPlaybackTime(vlc_tick_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:408,1
    - Dst: decoder_Clean
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:409,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:410,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:411,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:412,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 415
    functionName: AbstractDecodedStream::ReleaseDecoder
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 2
    functionsReached:
    - decoder_Clean
    - vlc_object_delete
    - es_format_Clean
    - container_of
    linkageType: ''
    returnType: void
    signature: void AbstractDecodedStream::ReleaseDecoder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:419,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_fmt
    argTypes:
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 421
    functionName: AbstractDecodedStream::setOutputFormat
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - es_format_Copy
    - es_format_Clean
    linkageType: ''
    returnType: void
    signature: void AbstractDecodedStream::setOutputFormat(const es_format_t *p_fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p_obj
    - id
    - buffer
    argTypes:
    - vlc_object_t*
    - StreamID
    - AbstractStreamOutputBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 430
    functionName: VideoDecodedStream::VideoDecodedStream
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void VideoDecodedStream::VideoDecodedStream(vlc_object_t *p_obj,\n
      \                                      const StreamID &id,\n                                       AbstractStreamOutputBuffer
      *buffer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deinit
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:434,1
    - Dst: filter_chain_Delete
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 437
    functionName: VideoDecodedStream::~VideoDecodedStream()
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - deinit
    - filter_chain_Delete
    linkageType: ''
    returnType: void
    signature: void VideoDecodedStream::~VideoDecodedStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 449
    functionName: VideoDecodedStream::setCallbacks
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void VideoDecodedStream::setCallbacks()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - AbstractStreamOutputBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 454
    functionName: VideoDecodedStream::setCaptionsOutputBuffer
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VideoDecodedStream::setCaptionsOutputBuffer(AbstractStreamOutputBuffer
      *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:459,1
    - Dst: static_cast<VideoDecodedStream *>
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_dec
    - p_pic
    argTypes:
    - decoder_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 461
    functionName: VideoDecodedStream::VideoDecCallback_queue
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - static_cast<VideoDecodedStream *>
    - container_of
    linkageType: ''
    returnType: void
    signature: void VideoDecodedStream::VideoDecCallback_queue(decoder_t *p_dec, picture_t
      *p_pic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:467,1
    - Dst: static_cast<VideoDecodedStream *>
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 469
    functionName: VideoDecodedStream::VideoDecCallback_queue_cc
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - static_cast<VideoDecodedStream *>
    - container_of
    linkageType: ''
    returnType: void
    signature: "void VideoDecodedStream::VideoDecCallback_queue_cc(decoder_t *p_dec,
      block_t *p_block,\n                                                   const
      decoder_cc_desc_t *)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritBool
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:473,1
    - Dst: container_of
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:477,1
    - Dst: vlc_decoder_device_Create
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:480,1
    - Dst: vlc_decoder_device_Hold
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:482,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 483
    functionName: VideoDecodedStream::VideoDecCallback_get_device
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - vlc_decoder_device_Create
    - var_InheritBool
    - vlc_decoder_device_Hold
    - container_of
    linkageType: ''
    returnType: vlc_decoder_device
    signature: vlc_decoder_device * VideoDecodedStream::VideoDecCallback_get_device(decoder_t
      *p_dec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:488,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:491,1
    - Dst: AbstractDecodedStream::ReleaseDecoder
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 496
    functionName: VideoDecodedStream::ReleaseDecoder
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - vlc_decoder_device_Release
    - AbstractDecodedStream::ReleaseDecoder
    - container_of
    linkageType: ''
    returnType: void
    signature: void VideoDecodedStream::ReleaseDecoder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:502,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:504,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 508
    functionName: VideoDecodedStream::VideoDecCallback_update_format
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - es_format_Copy
    - es_format_Clean
    - container_of
    linkageType: ''
    returnType: int
    signature: "int VideoDecodedStream::VideoDecCallback_update_format(decoder_t *p_dec,\n
      \                                                      vlc_video_context *)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: picture_NewFromFormat
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 514
    functionName: transcode_video_filter_buffer_new
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - picture_NewFromFormat
    linkageType: ''
    returnType: picture_t
    signature: picture_t *transcode_video_filter_buffer_new(filter_t *p_filter)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:525,1
    - Dst: filter_chain_NewVideo
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:528,1
    - Dst: filter_chain_Reset
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:531,1
    - Dst: video_format_IsSameChroma
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:533,1
    - Dst: filter_chain_AppendConverter
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:535,1
    - Dst: filter_chain_Delete
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:537,1
    - Dst: filter_chain_GetFmtOut
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:541,1
    - Dst: es_format_IsSimilar
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:542,1
    - Dst: filter_chain_Delete
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:544,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - p_srcfmt
    - vctx
    argTypes:
    - es_format_t*
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 550
    functionName: VideoDecodedStream::VideoFilterCreate
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - video_format_IsSameChroma
    - memset
    - filter_chain_GetFmtOut
    - es_format_IsSimilar
    - filter_chain_Delete
    - filter_chain_AppendConverter
    - filter_chain_NewVideo
    - filter_chain_Reset
    linkageType: ''
    returnType: filter_chain_t
    signature: filter_chain_t * VideoDecodedStream::VideoFilterCreate(const es_format_t
      *p_srcfmt, vlc_video_context *vctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:555,1
    - Dst: es_format_IsSimilar
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:557,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:559,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:560,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:562,1
    - Dst: filter_chain_Delete
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:566,1
    - Dst: VideoDecodedStream::VideoFilterCreate
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:567,1
    - Dst: picture_GetVideoContext
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:568,1
    - Dst: picture_Release
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:571,1
    - Dst: filter_chain_VideoFilter
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:577,1
    - Dst: Enqueue
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:579,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - p_pic
    argTypes:
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 552
    functionDepth: 2
    functionLinenumber: 552
    functionLinenumberEnd: 580
    functionName: VideoDecodedStream::Output
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - es_format_Clean
    - container_of
    - picture_GetVideoContext
    - es_format_IsSimilar
    - VideoDecodedStream::VideoFilterCreate
    - filter_chain_Delete
    - picture_Release
    - filter_chain_VideoFilter
    - msg_Dbg
    - es_format_Copy
    - Enqueue
    linkageType: ''
    returnType: void
    signature: void VideoDecodedStream::Output(picture_t *p_pic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Enqueue
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_block
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 585
    functionName: VideoDecodedStream::QueueCC
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - Enqueue
    linkageType: ''
    returnType: void
    signature: void VideoDecodedStream::QueueCC(block_t *p_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_obj
    - id
    - buffer
    argTypes:
    - vlc_object_t*
    - StreamID
    - AbstractStreamOutputBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 593
    functionName: AudioDecodedStream::AudioDecodedStream
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void AudioDecodedStream::AudioDecodedStream(vlc_object_t *p_obj,\n
      \                                      const StreamID &id,\n                                       AbstractStreamOutputBuffer
      *buffer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deinit
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:597,1
    - Dst: aout_FiltersDelete
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:599,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 600
    functionName: AudioDecodedStream::~AudioDecodedStream()
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - deinit
    - aout_FiltersDelete
    linkageType: ''
    returnType: void
    signature: void AudioDecodedStream::~AudioDecodedStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:605,1
    - Dst: static_cast<AudioDecodedStream *>
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 607
    functionName: AudioDecodedStream::AudioDecCallback_queue
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - static_cast<AudioDecodedStream *>
    - container_of
    linkageType: ''
    returnType: void
    signature: void AudioDecodedStream::AudioDecCallback_queue(decoder_t *p_dec, block_t
      *p_block)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:612,1
    - Dst: es_format_IsSimilar
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:614,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:616,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:617,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:619,1
    - Dst: aout_FiltersDelete
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:624,1
    - Dst: AudioDecodedStream::AudioFiltersCreate
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:625,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:628,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:629,1
    - Dst: aout_FiltersPlay
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:636,1
    - Dst: Enqueue
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:646,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - p_block
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 647
    functionName: AudioDecodedStream::Output
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - aout_FiltersDelete
    - block_Release
    - aout_FiltersPlay
    - es_format_Clean
    - container_of
    - es_format_IsSimilar
    - msg_Err
    - msg_Dbg
    - es_format_Copy
    - Enqueue
    - AudioDecodedStream::AudioFiltersCreate
    linkageType: ''
    returnType: void
    signature: void AudioDecodedStream::Output(block_t *p_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aout_FiltersNew
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - afmt
    argTypes:
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 652
    functionName: AudioDecodedStream::AudioFiltersCreate
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 1
    functionsReached:
    - aout_FiltersNew
    linkageType: ''
    returnType: aout_filters_t
    signature: aout_filters_t * AudioDecodedStream::AudioFiltersCreate(const es_format_t
      *afmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:657,1
    - Dst: AOUT_FMT_LINEAR
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:659,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:664,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:666,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 672
    functionName: AudioDecodedStream::AudioDecCallback_update_format
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - aout_FormatPrepare
    - AOUT_FMT_LINEAR
    - es_format_Clean
    - container_of
    - es_format_Copy
    linkageType: ''
    returnType: int
    signature: int AudioDecodedStream::AudioDecCallback_update_format(decoder_t *p_dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 681
    functionName: AudioDecodedStream::setCallbacks
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void AudioDecodedStream::setCallbacks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_obj
    - id
    - buffer
    argTypes:
    - vlc_object_t*
    - StreamID
    - AbstractStreamOutputBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 691
    functionName: AbstractRawStream::AbstractRawStream
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - vlc_mutex_init
    linkageType: ''
    returnType: void
    signature: "void AbstractRawStream::AbstractRawStream(vlc_object_t *p_obj, const
      StreamID &id,\n                               AbstractStreamOutputBuffer *buffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbstractRawStream::FlushQueued
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 696
    functionName: AbstractRawStream::~AbstractRawStream()
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - AbstractRawStream::FlushQueued
    linkageType: ''
    returnType: void
    signature: void AbstractRawStream::~AbstractRawStream()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:700,1
    - Dst: std::max
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:702,1
    - Dst: Enqueue
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:704,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:706,1
    - Dst: std::max
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:708,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - p_block
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 710
    functionName: AbstractRawStream::Send
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - std::max
    - block_Release
    - std::min
    - Enqueue
    linkageType: ''
    returnType: int
    signature: int AbstractRawStream::Send(block_t *p_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbstractRawStream::FlushQueued
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 715
    functionName: AbstractRawStream::Flush
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - AbstractRawStream::FlushQueued
    linkageType: ''
    returnType: void
    signature: void AbstractRawStream::Flush()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 721
    functionName: AbstractRawStream::Drain
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractRawStream::Drain()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 729
    functionName: AbstractRawStream::ReachedPlaybackTime
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AbstractRawStream::ReachedPlaybackTime(vlc_tick_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 735
    functionName: AbstractRawStream::isEOS
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AbstractRawStream::isEOS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<block_t *>
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:740,1
    - Dst: Dequeue
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:740,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 742
    functionName: AbstractRawStream::FlushQueued
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 2
    functionsReached:
    - block_Release
    - reinterpret_cast<block_t *>
    - Dequeue
    linkageType: ''
    returnType: void
    signature: void AbstractRawStream::FlushQueued()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p_obj
    - id
    - buffer
    argTypes:
    - vlc_object_t*
    - StreamID
    - AbstractStreamOutputBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 751
    functionName: AbstractReorderedStream::AbstractReorderedStream
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void AbstractReorderedStream::AbstractReorderedStream(vlc_object_t
      *p_obj, const StreamID &id,\n                                                 AbstractStreamOutputBuffer
      *buffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 755
    functionName: AbstractReorderedStream::~AbstractReorderedStream()
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractReorderedStream::~AbstractReorderedStream()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:759,1
    - Dst: end
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:762,1
    - Dst: begin
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:769,1
    - Dst: size
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:770,1
    - Dst: insert
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:776,1
    - Dst: size
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:778,1
    - Dst: front
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:781,1
    - Dst: pop_front
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:782,1
    - Dst: AbstractRawStream::Send
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:785,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - p_block
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 757
    functionDepth: 1
    functionLinenumber: 757
    functionLinenumberEnd: 786
    functionName: AbstractReorderedStream::Send
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - AbstractRawStream::Send
    - begin
    - size
    - insert
    - end
    - pop_front
    - front
    linkageType: ''
    returnType: int
    signature: int AbstractReorderedStream::Send(block_t *p_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbstractReorderedStream::Drain
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:790,1
    - Dst: FlushQueued
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 792
    functionName: AbstractReorderedStream::Flush
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - AbstractReorderedStream::Drain
    - FlushQueued
    linkageType: ''
    returnType: void
    signature: void AbstractReorderedStream::Flush()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:796,1
    - Dst: AbstractRawStream::Send
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:798,1
    - Dst: front
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:798,1
    - Dst: pop_front
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 801
    functionName: AbstractReorderedStream::Drain
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 1
    functionsReached:
    - empty
    - pop_front
    - AbstractRawStream::Send
    - front
    linkageType: ''
    returnType: void
    signature: void AbstractReorderedStream::Drain()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 807
    functionName: AbstractReorderedStream::setReorder
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractReorderedStream::setReorder(size_t r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - p_obj
    - id
    - buffer
    argTypes:
    - vlc_object_t*
    - StreamID
    - AbstractStreamOutputBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 813
    functionName: AudioCompressedStream::AudioCompressedStream
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void AudioCompressedStream::AudioCompressedStream(vlc_object_t *p_obj,
      const StreamID &id,\n                                             AbstractStreamOutputBuffer
      *buffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 817
    functionName: AudioCompressedStream::~AudioCompressedStream()
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AudioCompressedStream::~AudioCompressedStream()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: block_Realloc
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:823,1
    - Dst: SetWBE
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:827,1
    - Dst: SetWBE
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:828,1
    - Dst: SetWBE
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:829,1
    - Dst: SetWBE
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:830,1
    - Dst: SetWBE
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:831,1
    - Dst: SetWBE
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:832,1
    - Dst: AbstractRawStream::Send
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:835,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - p_block
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 819
    functionDepth: 1
    functionLinenumber: 819
    functionLinenumberEnd: 836
    functionName: AudioCompressedStream::Send
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - SetWBE
    - block_Realloc
    - AbstractRawStream::Send
    linkageType: ''
    returnType: int
    signature: int AudioCompressedStream::Send(block_t *p_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 841
    functionName: AudioCompressedStream::init
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AudioCompressedStream::init(const es_format_t *fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - p_obj
    - id
    - buffer
    argTypes:
    - vlc_object_t*
    - StreamID
    - AbstractStreamOutputBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 848
    functionName: CaptionsStream::CaptionsStream
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CaptionsStream::CaptionsStream(vlc_object_t *p_obj, const StreamID
      &id,\n                               AbstractStreamOutputBuffer *buffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 852
    functionName: CaptionsStream::~CaptionsStream()
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CaptionsStream::~CaptionsStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setReorder
      Src: /src/vlc/modules/stream_out/sdi/SDIStream.cpp:857,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 859
    functionName: CaptionsStream::init
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.cpp
    functionUses: 0
    functionsReached:
    - setReorder
    linkageType: ''
    returnType: bool
    signature: bool CaptionsStream::init(const es_format_t *fmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: image_HandlerCreate
      Src: /src/vlc/modules/stream_out/sdi/SDIGenerator.cpp:38,1
    - Dst: video_format_Init
      Src: /src/vlc/modules/stream_out/sdi/SDIGenerator.cpp:42,1
    - Dst: video_format_Setup
      Src: /src/vlc/modules/stream_out/sdi/SDIGenerator.cpp:43,1
    - Dst: image_ReadUrl
      Src: /src/vlc/modules/stream_out/sdi/SDIGenerator.cpp:47,1
    - Dst: video_format_Copy
      Src: /src/vlc/modules/stream_out/sdi/SDIGenerator.cpp:51,1
    - Dst: image_Convert
      Src: /src/vlc/modules/stream_out/sdi/SDIGenerator.cpp:52,1
    - Dst: video_format_IsSimilar
      Src: /src/vlc/modules/stream_out/sdi/SDIGenerator.cpp:53,1
    - Dst: picture_Release
      Src: /src/vlc/modules/stream_out/sdi/SDIGenerator.cpp:55,1
    - Dst: picture_Release
      Src: /src/vlc/modules/stream_out/sdi/SDIGenerator.cpp:58,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/stream_out/sdi/SDIGenerator.cpp:59,1
    - Dst: image_HandlerDelete
      Src: /src/vlc/modules/stream_out/sdi/SDIGenerator.cpp:61,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/stream_out/sdi/SDIGenerator.cpp:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - obj
    - psz_file
    - fmt
    argTypes:
    - vlc_object_t*
    - char*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 65
    functionName: Generator::Picture
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIGenerator.cpp
    functionUses: 0
    functionsReached:
    - video_format_Copy
    - video_format_Init
    - video_format_Setup
    - image_HandlerDelete
    - image_Convert
    - picture_Release
    - image_ReadUrl
    - video_format_Clean
    - video_format_IsSimilar
    - image_HandlerCreate
    linkageType: ''
    returnType: picture_t
    signature: "picture_t * Generator::Picture(vlc_object_t *obj, const char *psz_file,\n
      \                              const video_format_t *fmt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: sdi_sout::StreamID::StreamID
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamID(const StreamID &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: sdi_sout::StreamID::StreamID
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIStream.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamID(const StreamID &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:34,1
    - Dst: AES3AudioBuffer::setSubFramesCount
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:35,1
    - Dst: block_BytestreamInit
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - p_obj
    - count
    argTypes:
    - vlc_object_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: AES3AudioBuffer::AES3AudioBuffer
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 0
    functionsReached:
    - block_BytestreamInit
    - vlc_mutex_init
    - AES3AudioBuffer::setSubFramesCount
    linkageType: ''
    returnType: void
    signature: void AES3AudioBuffer::AES3AudioBuffer(vlc_object_t *p_obj, unsigned
      count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_BytestreamRelease
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: AES3AudioBuffer::~AES3AudioBuffer()
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 0
    functionsReached:
    - block_BytestreamRelease
    linkageType: ''
    returnType: void
    signature: void AES3AudioBuffer::~AES3AudioBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: AES3AudioBuffer::setSubFramesCount
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AES3AudioBuffer::setSubFramesCount(uint8_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_BytestreamPush
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_block
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: AES3AudioBuffer::push
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 0
    functionsReached:
    - block_BytestreamPush
    linkageType: ''
    returnType: void
    signature: void AES3AudioBuffer::push(block_t *p_block)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AES3AudioSubFrameIndex::isValid
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:62,1
    - Dst: AES3AudioSubFrameIndex::index
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:62,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:67,1
    - Dst: AES3AudioBuffer::OffsetToBufferStart
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:72,1
    - Dst: llabs
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:73,1
    - Dst: AES3AudioBuffer::BytesToFrames
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:88,1
    - Dst: block_BytestreamRemaining
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:88,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:89,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:90,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:91,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:92,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:97,1
    - Dst: AES3AudioSubFrameIndex::index
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:100,1
    - Dst: AES3AudioSubFrameIndex::index
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:101,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:104,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:105,1
    - Dst: GetWBE
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:106,1
    - Dst: block_PeekOffsetBytes
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:109,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 6
    argNames:
    - dstbuf
    - count
    - from
    - dstbufsubframeidx
    - srcchannelidx
    - dstbufframeswidth
    argTypes:
    - void*
    - unsigned
    - vlc_tick_t
    - AES3AudioSubFrameIndex
    - AES3AudioSubFrameIndex
    - unsigned
    assertStmts:
    - condition: (count)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    - condition: (count + skip <= inbuffer)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    - condition: (count + dstpad <= orig)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    - condition: "(bytestream.p_block->i_buffer < 4 ||\n                  GetWBE(&bytestream.p_block->p_buffer[4])
        == 0xf872)"
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    - condition: (bytestream.i_block_offset == 0 || skip == 0)
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    constantsTouched: []
    func_position:
      end: 114
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 114
    functionName: AES3AudioBuffer::read
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 0
    functionsReached:
    - AES3AudioBuffer::OffsetToBufferStart
    - llabs
    - GetWBE
    - assert
    - AES3AudioSubFrameIndex::isValid
    - AES3AudioBuffer::BytesToFrames
    - reinterpret_cast<uint8_t *>
    - block_PeekOffsetBytes
    - reinterpret_cast<const char *>
    - msg_Dbg
    - block_BytestreamRemaining
    - AES3AudioSubFrameIndex::index
    linkageType: ''
    returnType: unsigned
    signature: "unsigned AES3AudioBuffer::read(void *dstbuf, unsigned count, vlc_tick_t
      from,\n                               const AES3AudioSubFrameIndex &dstbufsubframeidx,\n
      \                              const AES3AudioSubFrameIndex &srcchannelidx,\n
      \                              unsigned dstbufframeswidth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: AES3AudioBuffer::FramesToBytes
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t AES3AudioBuffer::FramesToBytes(unsigned f) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: AES3AudioBuffer::FramesToDuration
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 0
    functionsReached:
    - vlc_tick_from_samples
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t AES3AudioBuffer::FramesToDuration(unsigned f) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: AES3AudioBuffer::BytesToFrames
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned AES3AudioBuffer::BytesToFrames(size_t s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: samples_from_vlc_tick
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: AES3AudioBuffer::TicksDurationToFrames
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 0
    functionsReached:
    - samples_from_vlc_tick
    linkageType: ''
    returnType: unsigned
    signature: unsigned AES3AudioBuffer::TicksDurationToFrames(vlc_tick_t t) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AES3AudioBuffer::bufferStart
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:138,1
    - Dst: AES3AudioBuffer::TicksDurationToFrames
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:143,1
    - Dst: AES3AudioBuffer::TicksDurationToFrames
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - t
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 146
    functionName: AES3AudioBuffer::OffsetToBufferStart
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 1
    functionsReached:
    - AES3AudioBuffer::TicksDurationToFrames
    - AES3AudioBuffer::bufferStart
    linkageType: ''
    returnType: int
    signature: int AES3AudioBuffer::OffsetToBufferStart(vlc_tick_t t) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AES3AudioBuffer::FramesToBytes
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:152,1
    - Dst: block_SkipBytes
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:155,1
    - Dst: block_BytestreamFlush
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:156,1
    - Dst: block_BytestreamEmpty
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:158,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:161,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:162,1
    - Dst: AES3AudioBuffer::bufferStart
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 167
    functionName: AES3AudioBuffer::flushConsumed
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 0
    functionsReached:
    - block_BytestreamFlush
    - AES3AudioBuffer::FramesToBytes
    - AES3AudioBuffer::bufferStart
    - reinterpret_cast<const char *>
    - msg_Dbg
    - block_SkipBytes
    - block_BytestreamEmpty
    linkageType: ''
    returnType: void
    signature: void AES3AudioBuffer::flushConsumed()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AES3AudioBuffer::bufferStart
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:171,1
    - Dst: AES3AudioBuffer::OffsetToBufferStart
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:177,1
    - Dst: AES3AudioBuffer::tagConsumed
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:193,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - from
    - f
    argTypes:
    - vlc_tick_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 194
    functionName: AES3AudioBuffer::tagVirtualConsumed
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 0
    functionsReached:
    - AES3AudioBuffer::OffsetToBufferStart
    - AES3AudioBuffer::tagConsumed
    - AES3AudioBuffer::bufferStart
    linkageType: ''
    returnType: void
    signature: void AES3AudioBuffer::tagVirtualConsumed(vlc_tick_t from, unsigned
      f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - unsigned
    assertStmts:
    - condition: (toconsume == 0 || toconsume == f)
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: AES3AudioBuffer::tagConsumed
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void AES3AudioBuffer::tagConsumed(unsigned f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AES3AudioBuffer::bufferStart
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:204,1
    - Dst: AES3AudioBuffer::bufferStart
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:204,1
    - Dst: AES3AudioBuffer::tagConsumed
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:207,1
    - Dst: AES3AudioBuffer::TicksDurationToFrames
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:207,1
    - Dst: AES3AudioBuffer::bufferStart
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:207,1
    - Dst: AES3AudioBuffer::flushConsumed
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 209
    functionName: AES3AudioBuffer::forwardTo
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 0
    functionsReached:
    - AES3AudioBuffer::tagConsumed
    - AES3AudioBuffer::flushConsumed
    - AES3AudioBuffer::TicksDurationToFrames
    - AES3AudioBuffer::bufferStart
    linkageType: ''
    returnType: void
    signature: void AES3AudioBuffer::forwardTo(vlc_tick_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_codec
    argTypes:
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: AES3AudioBuffer::setCodec
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AES3AudioBuffer::setCodec(vlc_fourcc_t i_codec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: AES3AudioBuffer::getCodec
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t AES3AudioBuffer::getCodec() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AES3AudioBuffer::FramesToDuration
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:227,1
    - Dst: AES3AudioBuffer::BytesToFrames
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: AES3AudioBuffer::bufferStart
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 4
    functionsReached:
    - AES3AudioBuffer::BytesToFrames
    - AES3AudioBuffer::FramesToDuration
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t AES3AudioBuffer::bufferStart() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AES3AudioBuffer::bufferStart
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:233,1
    - Dst: AES3AudioBuffer::BytesToFrames
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:241,1
    - Dst: block_BytestreamRemaining
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:241,1
    - Dst: AES3AudioBuffer::OffsetToBufferStart
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:244,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - from
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 231
    functionDepth: 3
    functionLinenumber: 231
    functionLinenumberEnd: 258
    functionName: AES3AudioBuffer::availableVirtualSamples
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 0
    functionsReached:
    - AES3AudioBuffer::OffsetToBufferStart
    - AES3AudioBuffer::BytesToFrames
    - block_BytestreamRemaining
    - AES3AudioBuffer::bufferStart
    linkageType: ''
    returnType: unsigned
    signature: unsigned AES3AudioBuffer::availableVirtualSamples(vlc_tick_t from)
      const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AES3AudioBuffer::BytesToFrames
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:266,1
    - Dst: AES3AudioBuffer::OffsetToBufferStart
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:267,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:278,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - from
    - i_wanted
    argTypes:
    - vlc_tick_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 283
    functionName: AES3AudioBuffer::alignedInterleaveInSamples
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 0
    functionsReached:
    - AES3AudioBuffer::OffsetToBufferStart
    - AES3AudioBuffer::BytesToFrames
    - reinterpret_cast<const char *>
    - msg_Dbg
    linkageType: ''
    returnType: unsigned
    signature: unsigned AES3AudioBuffer::alignedInterleaveInSamples(vlc_tick_t from,
      unsigned i_wanted) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 288
    functionName: AES3AudioSubFrameSource::AES3AudioSubFrameSource
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AES3AudioSubFrameSource::AES3AudioSubFrameSource()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - idx
    argTypes:
    - AES3AudioBuffer*
    - AES3AudioSubFrameIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: AES3AudioSubFrameSource::AES3AudioSubFrameSource
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AES3AudioSubFrameSource::AES3AudioSubFrameSource(AES3AudioBuffer
      *buf, AES3AudioSubFrameIndex idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AES3AudioSubFrameSource::available
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:298,1
    - Dst: bufferStart
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 301
    functionName: AES3AudioSubFrameSource::bufferStartTime
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 0
    functionsReached:
    - bufferStart
    - AES3AudioSubFrameSource::available
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t AES3AudioSubFrameSource::bufferStartTime() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - buf
    - count
    - from
    - srcsubframeidx
    - widthinframes
    argTypes:
    - void*
    - unsigned
    - vlc_tick_t
    - AES3AudioSubFrameIndex
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 312
    functionName: AES3AudioSubFrameSource::copy
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: unsigned
    signature: "unsigned AES3AudioSubFrameSource::copy(void *buf,\n                                       unsigned
      count,\n                                       vlc_tick_t from,\n                                       const
      AES3AudioSubFrameIndex &srcsubframeidx,\n                                       unsigned
      widthinframes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AES3AudioSubFrameSource::flushConsumed
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 318
    functionName: AES3AudioSubFrameSource::flushConsumed
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 1
    functionsReached:
    - AES3AudioSubFrameSource::flushConsumed
    linkageType: ''
    returnType: void
    signature: void AES3AudioSubFrameSource::flushConsumed()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AES3AudioSubFrameSource::tagVirtualConsumed
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - from
    - count
    argTypes:
    - vlc_tick_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 324
    functionName: AES3AudioSubFrameSource::tagVirtualConsumed
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 1
    functionsReached:
    - AES3AudioSubFrameSource::tagVirtualConsumed
    linkageType: ''
    returnType: void
    signature: void AES3AudioSubFrameSource::tagVirtualConsumed(vlc_tick_t from, unsigned
      count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AES3AudioSubFrameSource::forwardTo
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: AES3AudioSubFrameSource::forwardTo
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 1
    functionsReached:
    - AES3AudioSubFrameSource::forwardTo
    linkageType: ''
    returnType: void
    signature: void AES3AudioSubFrameSource::forwardTo(vlc_tick_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: AES3AudioSubFrameSource::available
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AES3AudioSubFrameSource::available() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AES3AudioSubFrameSource::getCodec
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 342
    functionName: AES3AudioSubFrameSource::getCodec
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 1
    functionsReached:
    - AES3AudioSubFrameSource::getCodec
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t AES3AudioSubFrameSource::getCodec() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AES3AudioSubFrameSource::availableVirtualSamples
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - from
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 349
    functionName: AES3AudioSubFrameSource::availableVirtualSamples
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 1
    functionsReached:
    - AES3AudioSubFrameSource::availableVirtualSamples
    linkageType: ''
    returnType: unsigned
    signature: unsigned AES3AudioSubFrameSource::availableVirtualSamples(vlc_tick_t
      from) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AES3AudioSubFrameSource::alignedInterleaveInSamples
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - from
    - n
    argTypes:
    - vlc_tick_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 356
    functionName: AES3AudioSubFrameSource::alignedInterleaveInSamples
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 1
    functionsReached:
    - AES3AudioSubFrameSource::alignedInterleaveInSamples
    linkageType: ''
    returnType: unsigned
    signature: unsigned AES3AudioSubFrameSource::alignedInterleaveInSamples(vlc_tick_t
      from, unsigned n) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: AES3AudioFrameSource::AES3AudioFrameSource
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AES3AudioFrameSource::AES3AudioFrameSource()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AES3AudioFrameSource::bufferStartTime
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:365,1
    - Dst: AES3AudioFrameSource::bufferStartTime
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 373
    functionName: AES3AudioFrameSource::bufferStartTime
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 1
    functionsReached:
    - AES3AudioFrameSource::bufferStartTime
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t AES3AudioFrameSource::bufferStartTime() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AES3AudioFrameSource::bufferStartTime
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 381
    functionName: AES3AudioFrameSource::samplesUpToTime
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 0
    functionsReached:
    - AES3AudioFrameSource::bufferStartTime
    linkageType: ''
    returnType: unsigned
    signature: unsigned AES3AudioFrameSource::samplesUpToTime(vlc_tick_t t) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: available
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:385,1
    - Dst: available
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:385,1
    - Dst: std::min
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:386,1
    - Dst: AES3AudioFrameSource::availableVirtualSamples
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:386,1
    - Dst: AES3AudioFrameSource::availableVirtualSamples
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:386,1
    - Dst: available
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:387,1
    - Dst: AES3AudioFrameSource::availableVirtualSamples
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:388,1
    - Dst: AES3AudioFrameSource::availableVirtualSamples
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - from
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 391
    functionName: AES3AudioFrameSource::availableVirtualSamples
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 1
    functionsReached:
    - std::min
    - available
    - AES3AudioFrameSource::availableVirtualSamples
    linkageType: ''
    returnType: unsigned
    signature: unsigned AES3AudioFrameSource::availableVirtualSamples(vlc_tick_t from)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: available
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:396,1
    - Dst: AES3AudioFrameSource::alignedInterleaveInSamples
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:397,1
    - Dst: available
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:398,1
    - Dst: AES3AudioFrameSource::alignedInterleaveInSamples
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:399,1
    - Dst: std::max
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - from
    - i_wanted
    argTypes:
    - vlc_tick_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 401
    functionName: AES3AudioFrameSource::alignedInterleaveInSamples
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 1
    functionsReached:
    - std::max
    - AES3AudioFrameSource::alignedInterleaveInSamples
    - available
    linkageType: ''
    returnType: unsigned
    signature: unsigned AES3AudioFrameSource::alignedInterleaveInSamples(vlc_tick_t
      from, unsigned i_wanted) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES3AudioFrameSource::flushConsumed
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:405,1
    - Dst: AES3AudioFrameSource::flushConsumed
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 407
    functionName: AES3AudioFrameSource::flushConsumed
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 1
    functionsReached:
    - AES3AudioFrameSource::flushConsumed
    linkageType: ''
    returnType: void
    signature: void AES3AudioFrameSource::flushConsumed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES3AudioFrameSource::tagVirtualConsumed
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:411,1
    - Dst: AES3AudioFrameSource::tagVirtualConsumed
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - from
    - samples
    argTypes:
    - vlc_tick_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 413
    functionName: AES3AudioFrameSource::tagVirtualConsumed
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 1
    functionsReached:
    - AES3AudioFrameSource::tagVirtualConsumed
    linkageType: ''
    returnType: void
    signature: void AES3AudioFrameSource::tagVirtualConsumed(vlc_tick_t from, unsigned
      samples)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES3AudioFrameSource::forwardTo
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:417,1
    - Dst: AES3AudioFrameSource::forwardTo
      Src: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 419
    functionName: AES3AudioFrameSource::forwardTo
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 1
    functionsReached:
    - AES3AudioFrameSource::forwardTo
    linkageType: ''
    returnType: void
    signature: void AES3AudioFrameSource::forwardTo(vlc_tick_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 424
    functionName: AES3AudioSubFrameIndex::AES3AudioSubFrameIndex
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AES3AudioSubFrameIndex::AES3AudioSubFrameIndex(uint8_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 429
    functionName: AES3AudioSubFrameIndex::index
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t AES3AudioSubFrameIndex::index() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 434
    functionName: AES3AudioSubFrameIndex::isValid
    functionSourceFile: /src/vlc/modules/stream_out/sdi/AES3Audio.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AES3AudioSubFrameIndex::isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_parity
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: withparitybit
    functionSourceFile: /src/vlc/modules/stream_out/sdi/Ancillary.cpp
    functionUses: 0
    functionsReached:
    - vlc_parity
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t withparitybit(uint16_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:39,1
    - Dst: AbstractPacket<uint8_t>::size
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:39,1
    - Dst: resize
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:40,1
    - Dst: withparitybit
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:44,1
    - Dst: withparitybit
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:45,1
    - Dst: withparitybit
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:46,1
    - Dst: AbstractPacket<uint8_t>::size
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:46,1
    - Dst: AbstractPacket<uint8_t>::size
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:47,1
    - Dst: push_back
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:48,1
    - Dst: withparitybit
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:48,1
    - Dst: AbstractPacket<uint8_t>::data
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:48,1
    - Dst: size
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:50,1
    - Dst: push_back
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - did
    - sdid
    - other
    argTypes:
    - uint8_t
    - uint8_t
    - AbstractPacket<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 53
    functionName: "Ancillary::Data10bitPacket::Data10bitPacket(uint8_t did, uint8_t
      sdid,\n                                            const AbstractPacket<uint8_t>
      &other)"
    functionSourceFile: /src/vlc/modules/stream_out/sdi/Ancillary.cpp
    functionUses: 0
    functionsReached:
    - AbstractPacket<uint8_t>::size
    - AbstractPacket<uint8_t>::data
    - push_back
    - resize
    - reserve
    - size
    - withparitybit
    linkageType: ''
    returnType: void
    signature: "void Ancillary::Data10bitPacket::Data10bitPacket(uint8_t did, uint8_t
      sdid,\n                                            const AbstractPacket<uint8_t>
      &other)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:57,1
    - Dst: push_back
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: Ancillary::Data10bitPacket::pad()
    functionSourceFile: /src/vlc/modules/stream_out/sdi/Ancillary.cpp
    functionUses: 0
    functionsReached:
    - size
    - push_back
    linkageType: ''
    returnType: void
    signature: void Ancillary::Data10bitPacket::pad()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - afdcode
    - ar
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: AFD::AFD
    functionSourceFile: /src/vlc/modules/stream_out/sdi/Ancillary.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AFD::AFD(uint8_t afdcode, uint8_t ar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: AFD::~AFD()
    functionSourceFile: /src/vlc/modules/stream_out/sdi/Ancillary.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AFD::~AFD()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - code
    - ar
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 88
    functionName: AFD::AFDData::AFDData(uint8_t code, uint8_t ar)
    functionSourceFile: /src/vlc/modules/stream_out/sdi/Ancillary.cpp
    functionUses: 0
    functionsReached:
    - resize
    linkageType: ''
    returnType: void
    signature: void AFD::AFDData::AFDData(uint8_t code, uint8_t ar)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Data10bitPacket::pad
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:95,1
    - Dst: Data10bitPacket::size
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:97,1
    - Dst: V210::Convert
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:101,1
    - Dst: Data10bitPacket::data
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:101,1
    - Dst: Data10bitPacket::size
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_buf
    - i_buf
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 102
    functionName: AFD::FillBuffer
    functionSourceFile: /src/vlc/modules/stream_out/sdi/Ancillary.cpp
    functionUses: 0
    functionsReached:
    - V210::Convert
    - Data10bitPacket::size
    - Data10bitPacket::data
    - Data10bitPacket::pad
    linkageType: ''
    returnType: void
    signature: void AFD::FillBuffer(uint8_t *p_buf, size_t i_buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:108,1
    - Dst: resize
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:109,1
    - Dst: push_back
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:121,1
    - Dst: push_back
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:123,1
    - Dst: push_back
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:124,1
    - Dst: push_back
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:125,1
    - Dst: size
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:127,1
    - Dst: push_back
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - buf
    - bufsize
    - rate
    - cdp_counter
    argTypes:
    - uint8_t*
    - std::size_t
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 130
    functionName: "Captions::CDP::CDP(const uint8_t * buf, std::size_t bufsize,\n
      \                  uint8_t rate, uint16_t cdp_counter)"
    functionSourceFile: /src/vlc/modules/stream_out/sdi/Ancillary.cpp
    functionUses: 0
    functionsReached:
    - reserve
    - size
    - push_back
    - resize
    linkageType: ''
    returnType: void
    signature: "void Captions::CDP::CDP(const uint8_t * buf, std::size_t bufsize,\n
      \                  uint8_t rate, uint16_t cdp_counter)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:138,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 4
    argNames:
    - p
    - s
    - num
    - den
    argTypes:
    - uint8_t*
    - size_t
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 158
    functionName: Captions::Captions
    functionSourceFile: /src/vlc/modules/stream_out/sdi/Ancillary.cpp
    functionUses: 0
    functionsReached:
    - vlc_ureduce
    linkageType: ''
    returnType: void
    signature: "void Captions::Captions(const uint8_t *p, size_t s,\n                   unsigned
      num, unsigned den)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: Captions::~Captions()
    functionSourceFile: /src/vlc/modules/stream_out/sdi/Ancillary.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Captions::~Captions()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Data10bitPacket::pad
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:174,1
    - Dst: Data10bitPacket::size
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:176,1
    - Dst: V210::Convert
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:180,1
    - Dst: Data10bitPacket::data
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:180,1
    - Dst: Data10bitPacket::size
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.cpp:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - p_buf
    - i_buf
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 181
    functionName: Captions::FillBuffer
    functionSourceFile: /src/vlc/modules/stream_out/sdi/Ancillary.cpp
    functionUses: 0
    functionsReached:
    - V210::Convert
    - Data10bitPacket::size
    - Data10bitPacket::data
    - Data10bitPacket::pad
    linkageType: ''
    returnType: void
    signature: void Captions::FillBuffer(uint8_t *p_buf, size_t i_buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdi::Ancillary::AbstractPacket::size
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.hpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: sdi::Ancillary::AbstractPacket::size
    functionSourceFile: /src/vlc/modules/stream_out/sdi/Ancillary.hpp
    functionUses: 1
    functionsReached:
    - sdi::Ancillary::AbstractPacket::size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.hpp:42,1
    - Dst: sdi::Ancillary::AbstractPacket::data
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.hpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: sdi::Ancillary::AbstractPacket::data
    functionSourceFile: /src/vlc/modules/stream_out/sdi/Ancillary.hpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<const uint8_t *>
    - sdi::Ancillary::AbstractPacket::data
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdi::Ancillary::AbstractPacket::size
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.hpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: sdi::Ancillary::AbstractPacket::size
    functionSourceFile: /src/vlc/modules/stream_out/sdi/Ancillary.hpp
    functionUses: 2
    functionsReached:
    - sdi::Ancillary::AbstractPacket::size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.hpp:42,1
    - Dst: sdi::Ancillary::AbstractPacket::data
      Src: /src/vlc/modules/stream_out/sdi/Ancillary.hpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: sdi::Ancillary::AbstractPacket::data
    functionSourceFile: /src/vlc/modules/stream_out/sdi/Ancillary.hpp
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const uint8_t *>
    - sdi::Ancillary::AbstractPacket::data
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:74,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 77
    functionName: DBMSDIOutput::DBMSDIOutput
    functionSourceFile: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp
    functionUses: 0
    functionsReached:
    - vlc_cond_init
    - vlc_mutex_init
    linkageType: ''
    returnType: void
    signature: void DBMSDIOutput::DBMSDIOutput(sout_stream_t *p_stream)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DBMSDIOutput::isDrained
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:83,1
    - Dst: vlc_tick_wait
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:84,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:84,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:86,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:88,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:89,1
    - Dst: vlc_join
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:91,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:94,1
    - Dst: StopScheduledPlayback
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:98,1
    - Dst: DisableVideoOutput
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:99,1
    - Dst: DisableAudioOutput
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:100,1
    - Dst: Release
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:101,1
    - Dst: Release
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 105
    functionName: DBMSDIOutput::~DBMSDIOutput()
    functionSourceFile: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp
    functionUses: 0
    functionsReached:
    - vlc_tick_wait
    - vlc_tick_now
    - vlc_cond_signal
    - StopScheduledPlayback
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - DBMSDIOutput::isDrained
    - es_format_Clean
    - Release
    - DisableAudioOutput
    - vlc_join
    - DisableVideoOutput
    linkageType: ''
    returnType: void
    signature: void DBMSDIOutput::~DBMSDIOutput()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SDIOutput::Add
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:109,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:112,1
    - Dst: AbstractStream*::getID
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:113,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: DBMSDIOutput::Add
    functionSourceFile: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp
    functionUses: 0
    functionsReached:
    - SDIOutput::Add
    - AbstractStream*::getID
    - msg_Dbg
    - msg_Err
    linkageType: ''
    returnType: AbstractStream
    signature: AbstractStream *DBMSDIOutput::Add(const es_format_t *fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 135
    functionName: CHECK
    functionSourceFile: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: STDMETHODCALLTYPE DBMSDIOutput::QueryInterface( REFIID, LPVOID *
      )
    functionSourceFile: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT STDMETHODCALLTYPE DBMSDIOutput::QueryInterface( REFIID, LPVOID
      * )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: STDMETHODCALLTYPE DBMSDIOutput::AddRef()
    functionSourceFile: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ULONG
    signature: ULONG STDMETHODCALLTYPE DBMSDIOutput::AddRef()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: STDMETHODCALLTYPE DBMSDIOutput::Release()
    functionSourceFile: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ULONG
    signature: ULONG STDMETHODCALLTYPE DBMSDIOutput::Release()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:155,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:157,1
    - Dst: IsScheduledPlaybackRunning
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:165,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - result
    argTypes:
    - BMDOutputFrameCompletionResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 169
    functionName: "STDMETHODCALLTYPE DBMSDIOutput::ScheduledFrameCompleted\n    (IDeckLinkVideoFrame
      *, BMDOutputFrameCompletionResult result)"
    functionSourceFile: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp
    functionUses: 0
    functionsReached:
    - vlc_cond_signal
    - IsScheduledPlaybackRunning
    - msg_Warn
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT STDMETHODCALLTYPE DBMSDIOutput::ScheduledFrameCompleted\n
      \   (IDeckLinkVideoFrame *, BMDOutputFrameCompletionResult result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: DBMSDIOutput::ScheduledPlaybackHasStopped
    functionSourceFile: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT DBMSDIOutput::ScheduledPlaybackHasStopped (void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:181,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:185,1
    - Dst: CreateDeckLinkIteratorInstance
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:189,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:192,1
    - Dst: Release
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:200,1
    - Dst: IDeckLinkIterator*::Next
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:203,1
    - Dst: CHECK
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:204,1
    - Dst: GetModelName
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:209,1
    - Dst: CHECK
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:210,1
    - Dst: DECKLINK_STRDUP
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:211,1
    - Dst: DECKLINK_FREE
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:212,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:214,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:215,1
    - Dst: QueryInterface
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:218,1
    - Dst: CHECK
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:219,1
    - Dst: static_cast<IDeckLinkOutput*>
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:220,1
    - Dst: IDeckLinkIterator*::Release
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:222,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:224,1
    - Dst: Release
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:232,1
    - Dst: Release
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:237,1
    - Dst: IDeckLinkIterator*::Release
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:241,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 244
    functionName: DBMSDIOutput::Open
    functionSourceFile: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp
    functionUses: 0
    functionsReached:
    - static_cast<IDeckLinkOutput*>
    - IDeckLinkIterator*::Release
    - QueryInterface
    - vlc_clone
    - var_InheritInteger
    - DECKLINK_STRDUP
    - Release
    - CreateDeckLinkIteratorInstance
    - msg_Err
    - GetModelName
    - free
    - msg_Dbg
    - IDeckLinkIterator*::Next
    - DECKLINK_FREE
    - CHECK
    linkageType: ''
    returnType: int
    signature: int DBMSDIOutput::Open()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: config::getMultiplexedFramesCount
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:262,1
    - Dst: QueryInterface
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:265,1
    - Dst: CHECK
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:266,1
    - Dst: static_cast<IDeckLinkProfileAttributes*>
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:267,1
    - Dst: IDeckLinkProfileAttributes*::GetInt
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:270,1
    - Dst: CHECK
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:271,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:274,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:279,1
    - Dst: EnableAudioOutput
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:280,1
    - Dst: CHECK
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:285,1
    - Dst: BeginAudioPreroll
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:287,1
    - Dst: DisableAudioOutput
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:289,1
    - Dst: IDeckLinkProfileAttributes*::Release
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:295,1
    - Dst: IDeckLinkProfileAttributes*::Release
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:301,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 303
    functionName: DBMSDIOutput::ConfigureAudio
    functionSourceFile: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp
    functionUses: 0
    functionsReached:
    - EnableAudioOutput
    - QueryInterface
    - CHECK
    - config::getMultiplexedFramesCount
    - static_cast<IDeckLinkProfileAttributes*>
    - msg_Err
    - DisableAudioOutput
    - msg_Dbg
    - BeginAudioPreroll
    - IDeckLinkProfileAttributes*::Release
    - IDeckLinkProfileAttributes*::GetInt
    linkageType: ''
    returnType: int
    signature: int DBMSDIOutput::ConfigureAudio(const audio_format_t *)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:312,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:314,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:316,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:318,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:320,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:322,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - psz
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 326
    functionName: getVConn
    functionSourceFile: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: BMDVideoConnection
    signature: BMDVideoConnection getVConn(const char *psz)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: video_format_Copy
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:345,1
    - Dst: QueryInterface
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:363,1
    - Dst: CHECK
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:364,1
    - Dst: static_cast<IDeckLinkConfiguration*>
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:365,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:367,1
    - Dst: strlen
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:370,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:373,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:374,1
    - Dst: strncpy
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:377,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:378,1
    - Dst: QueryInterface
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:382,1
    - Dst: CHECK
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:383,1
    - Dst: static_cast<IDeckLinkProfileAttributes*>
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:384,1
    - Dst: IDeckLinkProfileAttributes*::GetInt
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:392,1
    - Dst: CHECK
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:393,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:395,1
    - Dst: getVConn
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:396,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:397,1
    - Dst: IDeckLinkConfiguration*::SetInt
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:399,1
    - Dst: CHECK
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:400,1
    - Dst: Helper::MatchDisplayMode
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:402,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:402,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:406,1
    - Dst: IDeckLinkDisplayMode*::GetDisplayMode
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:415,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:416,1
    - Dst: DoesSupportVideoMode
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:433,1
    - Dst: DoesSupportVideoMode
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:440,1
    - Dst: CHECK
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:447,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:450,1
    - Dst: IDeckLinkDisplayMode*::GetWidth
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:454,1
    - Dst: IDeckLinkDisplayMode*::GetWidth
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:454,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:456,1
    - Dst: IDeckLinkDisplayMode*::GetFrameRate
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:460,1
    - Dst: CHECK
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:462,1
    - Dst: EnableVideoOutput
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:464,1
    - Dst: CHECK
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:465,1
    - Dst: SetScheduledFrameCompletionCallback
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:467,1
    - Dst: video_format_Copy
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:469,1
    - Dst: IDeckLinkDisplayMode*::GetWidth
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:470,1
    - Dst: IDeckLinkDisplayMode*::GetHeight
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:471,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:481,1
    - Dst: Generator::Picture
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:484,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:484,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:486,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:487,1
    - Dst: IDeckLinkDisplayMode*::Release
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:491,1
    - Dst: IDeckLinkProfileAttributes*::Release
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:492,1
    - Dst: IDeckLinkConfiguration*::Release
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:493,1
    - Dst: IDeckLinkDisplayMode*::Release
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:499,1
    - Dst: IDeckLinkProfileAttributes*::Release
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:501,1
    - Dst: IDeckLinkConfiguration*::Release
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:503,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 101
    argCount: 1
    argNames:
    - vfmt
    argTypes:
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 505
    functionName: DBMSDIOutput::ConfigureVideo
    functionSourceFile: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp
    functionUses: 0
    functionsReached:
    - getVConn
    - static_cast<IDeckLinkProfileAttributes*>
    - IDeckLinkDisplayMode*::Release
    - msg_Err
    - msg_Dbg
    - IDeckLinkConfiguration*::Release
    - Generator::Picture
    - IDeckLinkDisplayMode*::GetFrameRate
    - IDeckLinkConfiguration*::SetInt
    - video_format_Copy
    - IDeckLinkDisplayMode*::GetHeight
    - IDeckLinkDisplayMode*::GetWidth
    - static_cast<IDeckLinkConfiguration*>
    - strncpy
    - CHECK
    - EnableVideoOutput
    - IDeckLinkDisplayMode*::GetDisplayMode
    - var_InheritString
    - QueryInterface
    - SetScheduledFrameCompletionCallback
    - strlen
    - free
    - Helper::MatchDisplayMode
    - DoesSupportVideoMode
    - VLC_OBJECT
    - IDeckLinkProfileAttributes*::Release
    - IDeckLinkProfileAttributes*::GetInt
    linkageType: ''
    returnType: int
    signature: int DBMSDIOutput::ConfigureVideo(const video_format_t *vfmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EndAudioPreroll
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:519,1
    - Dst: StartScheduledPlayback
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:521,1
    - Dst: CHECK
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:522,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 528
    functionName: DBMSDIOutput::StartPlayback
    functionSourceFile: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp
    functionUses: 0
    functionsReached:
    - EndAudioPreroll
    - StartScheduledPlayback
    - CHECK
    linkageType: ''
    returnType: int
    signature: int DBMSDIOutput::StartPlayback()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<picture_t *>
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:532,1
    - Dst: Dequeue
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:532,1
    - Dst: DBMSDIOutput::ProcessVideo
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:534,1
    - Dst: reinterpret_cast<block_t *>
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:534,1
    - Dst: Dequeue
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 537
    functionName: DBMSDIOutput::FeedOneFrame
    functionSourceFile: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp
    functionUses: 0
    functionsReached:
    - DBMSDIOutput::ProcessVideo
    - reinterpret_cast<block_t *>
    - reinterpret_cast<picture_t *>
    - Dequeue
    linkageType: ''
    returnType: int
    signature: int DBMSDIOutput::FeedOneFrame()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Debug
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:542,1
    - Dst: bufferStart
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:544,1
    - Dst: alignedInterleaveInSamples
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:546,1
    - Dst: availableVirtualSamples
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:550,1
    - Dst: Extract
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:552,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:556,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:562,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:565,1
    - Dst: DBMSDIOutput::ProcessAudio
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:569,1
    - Dst: bufferStart
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:573,1
    - Dst: alignedInterleaveInSamples
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:574,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - start
    - preroll
    - b_truncate
    argTypes:
    - vlc_tick_t
    - vlc_tick_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 579
    functionName: DBMSDIOutput::FeedAudio
    functionSourceFile: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp
    functionUses: 0
    functionsReached:
    - DBMSDIOutput::ProcessAudio
    - block_Release
    - msg_Err
    - alignedInterleaveInSamples
    - Extract
    - msg_Dbg
    - bufferStart
    - Debug
    - availableVirtualSamples
    linkageType: ''
    returnType: int
    signature: int DBMSDIOutput::FeedAudio(vlc_tick_t start, vlc_tick_t preroll, bool
      b_truncate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:583,1
    - Dst: reinterpret_cast<DBMSDIOutput *>
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - me
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 587
    functionName: DBMSDIOutput::feederThreadCallback
    functionSourceFile: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp
    functionUses: 0
    functionsReached:
    - vlc_thread_set_name
    - reinterpret_cast<DBMSDIOutput *>
    linkageType: ''
    returnType: void
    signature: void * DBMSDIOutput::feederThreadCallback(void *me)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_cond_timedwait
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:595,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:595,1
    - Dst: DBMSDIOutput::doSchedule
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:598,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 602
    functionName: DBMSDIOutput::feederThread
    functionSourceFile: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - vlc_cond_timedwait
    - DBMSDIOutput::doSchedule
    linkageType: ''
    returnType: void
    signature: void DBMSDIOutput::feederThread()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 613
    functionName: DBMSDIOutput::Process
    functionSourceFile: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp
    functionUses: 0
    functionsReached:
    - vlc_cond_signal
    linkageType: ''
    returnType: int
    signature: int DBMSDIOutput::Process()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: NextPictureTime
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:618,1
    - Dst: ReachedPlaybackTime
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:620,1
    - Dst: DBMSDIOutput::FeedOneFrame
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:625,1
    - Dst: DBMSDIOutput::FeedAudio
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:626,1
    - Dst: GetBufferedVideoFrameCount
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:633,1
    - Dst: DBMSDIOutput::FeedOneFrame
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:641,1
    - Dst: GetBufferedVideoFrameCount
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:645,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:651,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:652,1
    - Dst: GetBufferedAudioSampleFrameCount
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:658,1
    - Dst: DBMSDIOutput::FeedAudio
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:667,1
    - Dst: DBMSDIOutput::FeedAudio
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:669,1
    - Dst: GetBufferedAudioSampleFrameCount
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:671,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:677,1
    - Dst: DBMSDIOutput::StartPlayback
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:679,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (bufferedFramesTarget)
      pos:
        line_end: 650
        line_start: 650
        source_file: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp
    - condition: (!b_running)
      pos:
        line_end: 651
        line_start: 651
        source_file: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp
    constantsTouched: []
    func_position:
      end: 683
      start: 615
    functionDepth: 2
    functionLinenumber: 615
    functionLinenumberEnd: 683
    functionName: DBMSDIOutput::doSchedule
    functionSourceFile: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp
    functionUses: 1
    functionsReached:
    - assert
    - GetBufferedAudioSampleFrameCount
    - NextPictureTime
    - DBMSDIOutput::FeedOneFrame
    - ReachedPlaybackTime
    - msg_Dbg
    - DBMSDIOutput::FeedAudio
    - DBMSDIOutput::StartPlayback
    - GetBufferedVideoFrameCount
    linkageType: ''
    returnType: int
    signature: int DBMSDIOutput::doSchedule()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:689,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:695,1
    - Dst: ScheduleAudioSamples
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:703,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:708,1
    - Dst: std::max
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:711,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:713,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:716,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - p_block
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 719
    functionName: DBMSDIOutput::ProcessAudio
    functionSourceFile: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp
    functionUses: 1
    functionsReached:
    - ScheduleAudioSamples
    - std::max
    - block_Release
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int DBMSDIOutput::ProcessAudio(block_t *p_block)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DBMSDIOutput::checkClockDrift
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:726,1
    - Dst: GetScheduledStreamTime
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:732,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:735,1
    - Dst: msg_Info
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:737,1
    - Dst: picture_Hold
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:738,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:739,1
    - Dst: DBMSDIOutput::doProcessVideo
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:740,1
    - Dst: DBMSDIOutput::doProcessVideo
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:745,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - picture
    - p_cc
    argTypes:
    - picture_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 746
    functionName: DBMSDIOutput::ProcessVideo
    functionSourceFile: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp
    functionUses: 1
    functionsReached:
    - DBMSDIOutput::checkClockDrift
    - picture_Hold
    - VLC_TICK_FROM_SEC
    - VLC_TICK_FROM_MS
    - GetScheduledStreamTime
    - msg_Info
    - DBMSDIOutput::doProcessVideo
    linkageType: ''
    returnType: int
    signature: int DBMSDIOutput::ProcessVideo(picture_t *picture, block_t *p_cc)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CreateVideoFrame
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:760,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:764,1
    - Dst: IDeckLinkMutableVideoFrame*::GetBytes
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:769,1
    - Dst: IDeckLinkMutableVideoFrame*::GetRowBytes
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:770,1
    - Dst: CreateAncillaryData
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:777,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:779,1
    - Dst: IDeckLinkVideoFrameAncillary*::GetBufferForVerticalBlankingLine
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:783,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:785,1
    - Dst: sdi::AFD::FillBuffer
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:790,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:790,1
    - Dst: IDeckLinkVideoFrameAncillary*::GetBufferForVerticalBlankingLine
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:794,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:796,1
    - Dst: sdi::Captions::FillBuffer
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:800,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:800,1
    - Dst: V210::Convert
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:803,1
    - Dst: IDeckLinkMutableVideoFrame*::SetAncillaryData
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:805,1
    - Dst: IDeckLinkVideoFrameAncillary*::Release
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:806,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:808,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:816,1
    - Dst: ScheduleVideoFrame
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:824,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:826,1
    - Dst: std::max
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:830,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:844,1
    - Dst: picture_Release
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:846,1
    - Dst: IDeckLinkMutableVideoFrame*::Release
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:848,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 74
    argCount: 2
    argNames:
    - picture
    - p_cc
    argTypes:
    - picture_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 748
    functionDepth: 2
    functionLinenumber: 748
    functionLinenumberEnd: 851
    functionName: DBMSDIOutput::doProcessVideo
    functionSourceFile: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp
    functionUses: 1
    functionsReached:
    - block_Release
    - IDeckLinkVideoFrameAncillary*::GetBufferForVerticalBlankingLine
    - sdi::AFD::FillBuffer
    - V210::Convert
    - ScheduleVideoFrame
    - IDeckLinkMutableVideoFrame*::SetAncillaryData
    - memcpy
    - CreateVideoFrame
    - msg_Err
    - CreateAncillaryData
    - IDeckLinkVideoFrameAncillary*::Release
    - std::max
    - reinterpret_cast<uint8_t*>
    - picture_Release
    - IDeckLinkMutableVideoFrame*::Release
    - IDeckLinkMutableVideoFrame*::GetBytes
    - sdi::Captions::FillBuffer
    - IDeckLinkMutableVideoFrame*::GetRowBytes
    linkageType: ''
    returnType: int
    signature: int DBMSDIOutput::doProcessVideo(picture_t *picture, block_t *p_cc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetHardwareReferenceClock
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:858,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:865,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:870,1
    - Dst: std::abs
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:872,1
    - Dst: std::abs
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:873,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:873,1
    - Dst: msg_Info
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:876,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 853
    functionDepth: 1
    functionLinenumber: 853
    functionLinenumberEnd: 880
    functionName: DBMSDIOutput::checkClockDrift
    functionSourceFile: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp
    functionUses: 1
    functionsReached:
    - vlc_tick_now
    - GetHardwareReferenceClock
    - std::abs
    - VLC_TICK_FROM_MS
    - msg_Info
    linkageType: ''
    returnType: void
    signature: void DBMSDIOutput::checkClockDrift()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEOS
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:886,1
    - Dst: isEOS
      Src: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp:886,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 891
    functionName: DBMSDIOutput::isDrained
    functionSourceFile: /src/vlc/modules/stream_out/sdi/DBMSDIOutput.cpp
    functionUses: 1
    functionsReached:
    - isEOS
    linkageType: ''
    returnType: bool
    signature: bool DBMSDIOutput::isDrained()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: IDeckLinkOutput*::GetDisplayModeIterator
      Src: /src/vlc/modules/stream_out/sdi/DBMHelper.cpp:56,1
    - Dst: IDeckLinkDisplayModeIterator*::Next
      Src: /src/vlc/modules/stream_out/sdi/DBMHelper.cpp:60,1
    - Dst: IDeckLinkDisplayMode*::GetDisplayMode
      Src: /src/vlc/modules/stream_out/sdi/DBMHelper.cpp:62,1
    - Dst: IDeckLinkDisplayMode*::GetFrameRate
      Src: /src/vlc/modules/stream_out/sdi/DBMHelper.cpp:68,1
    - Dst: IDeckLinkDisplayMode*::GetName
      Src: /src/vlc/modules/stream_out/sdi/DBMHelper.cpp:69,1
    - Dst: DECKLINK_STRDUP
      Src: /src/vlc/modules/stream_out/sdi/DBMHelper.cpp:76,1
    - Dst: DECKLINK_FREE
      Src: /src/vlc/modules/stream_out/sdi/DBMHelper.cpp:77,1
    - Dst: IDeckLinkDisplayMode*::GetFieldDominance
      Src: /src/vlc/modules/stream_out/sdi/DBMHelper.cpp:85,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/sdi/DBMHelper.cpp:86,1
    - Dst: IDeckLinkDisplayMode*::GetWidth
      Src: /src/vlc/modules/stream_out/sdi/DBMHelper.cpp:88,1
    - Dst: IDeckLinkDisplayMode*::GetHeight
      Src: /src/vlc/modules/stream_out/sdi/DBMHelper.cpp:88,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/sdi/DBMHelper.cpp:93,1
    - Dst: IDeckLinkDisplayMode*::Release
      Src: /src/vlc/modules/stream_out/sdi/DBMHelper.cpp:97,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/sdi/DBMHelper.cpp:101,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/sdi/DBMHelper.cpp:108,1
    - Dst: IDeckLinkDisplayMode*::Release
      Src: /src/vlc/modules/stream_out/sdi/DBMHelper.cpp:112,1
    - Dst: IDeckLinkDisplayMode*::GetWidth
      Src: /src/vlc/modules/stream_out/sdi/DBMHelper.cpp:118,1
    - Dst: IDeckLinkDisplayMode*::GetHeight
      Src: /src/vlc/modules/stream_out/sdi/DBMHelper.cpp:119,1
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/stream_out/sdi/DBMHelper.cpp:123,1
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/stream_out/sdi/DBMHelper.cpp:124,1
    - Dst: msg_Info
      Src: /src/vlc/modules/stream_out/sdi/DBMHelper.cpp:129,1
    - Dst: IDeckLinkDisplayMode*::Release
      Src: /src/vlc/modules/stream_out/sdi/DBMHelper.cpp:136,1
    - Dst: IDeckLinkDisplayModeIterator*::Release
      Src: /src/vlc/modules/stream_out/sdi/DBMHelper.cpp:138,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 4
    argNames:
    - p_obj
    - p_output
    - fmt
    - forcedmode
    argTypes:
    - vlc_object_t*
    - IDeckLinkOutput*
    - video_format_t*
    - BMDDisplayMode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 142
    functionName: Helper::MatchDisplayMode
    functionSourceFile: /src/vlc/modules/stream_out/sdi/DBMHelper.cpp
    functionUses: 1
    functionsReached:
    - IDeckLinkDisplayMode*::GetDisplayMode
    - IDeckLinkDisplayMode*::GetFieldDominance
    - IDeckLinkDisplayMode*::Release
    - IDeckLinkDisplayMode*::GetHeight
    - DECKLINK_STRDUP
    - unlikely
    - free
    - IDeckLinkDisplayMode*::GetWidth
    - msg_Info
    - msg_Dbg
    - IDeckLinkDisplayMode*::GetName
    - IDeckLinkDisplayModeIterator*::Next
    - vlc_ureduce
    - IDeckLinkOutput*::GetDisplayModeIterator
    - DECKLINK_FREE
    - IDeckLinkDisplayMode*::GetFrameRate
    - IDeckLinkDisplayModeIterator*::Release
    linkageType: ''
    returnType: IDeckLinkDisplayMode
    signature: "IDeckLinkDisplayMode * Helper::MatchDisplayMode(vlc_object_t *p_obj,\n
      \                                               IDeckLinkOutput *p_output,\n
      \                                               const video_format_t *fmt,\n
      \                                               BMDDisplayMode forcedmode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/stream_out/sdi/DBMHelper.cpp:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - i_code
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 169
    functionName: Helper::ErrorToString
    functionSourceFile: /src/vlc/modules/stream_out/sdi/DBMHelper.cpp
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char * Helper::ErrorToString(long i_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: clip
    functionSourceFile: /src/vlc/modules/stream_out/sdi/V210.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned clip(unsigned a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetDWLE
      Src: /src/vlc/modules/stream_out/sdi/V210.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - d
    argTypes:
    - uint8_t**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: put_le32
    functionSourceFile: /src/vlc/modules/stream_out/sdi/V210.cpp
    functionUses: 0
    functionsReached:
    - SetDWLE
    linkageType: ''
    returnType: void
    signature: void put_le32(uint8_t **p, uint32_t d)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WRITE_PIXELS
      Src: /src/vlc/modules/stream_out/sdi/V210.cpp:68,1
    - Dst: WRITE_PIXELS
      Src: /src/vlc/modules/stream_out/sdi/V210.cpp:69,1
    - Dst: WRITE_PIXELS
      Src: /src/vlc/modules/stream_out/sdi/V210.cpp:70,1
    - Dst: WRITE_PIXELS
      Src: /src/vlc/modules/stream_out/sdi/V210.cpp:71,1
    - Dst: WRITE_PIXELS
      Src: /src/vlc/modules/stream_out/sdi/V210.cpp:74,1
    - Dst: clip
      Src: /src/vlc/modules/stream_out/sdi/V210.cpp:76,1
    - Dst: put_le32
      Src: /src/vlc/modules/stream_out/sdi/V210.cpp:78,1
    - Dst: clip
      Src: /src/vlc/modules/stream_out/sdi/V210.cpp:82,1
    - Dst: clip
      Src: /src/vlc/modules/stream_out/sdi/V210.cpp:82,1
    - Dst: put_le32
      Src: /src/vlc/modules/stream_out/sdi/V210.cpp:83,1
    - Dst: clip
      Src: /src/vlc/modules/stream_out/sdi/V210.cpp:85,1
    - Dst: clip
      Src: /src/vlc/modules/stream_out/sdi/V210.cpp:85,1
    - Dst: put_le32
      Src: /src/vlc/modules/stream_out/sdi/V210.cpp:86,1
    - Dst: memset
      Src: /src/vlc/modules/stream_out/sdi/V210.cpp:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - pic
    - dst_stride
    - frame_bytes
    argTypes:
    - picture_t*
    - unsigned
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 96
    functionName: V210::Convert
    functionSourceFile: /src/vlc/modules/stream_out/sdi/V210.cpp
    functionUses: 3
    functionsReached:
    - WRITE_PIXELS
    - put_le32
    - clip
    - memset
    linkageType: ''
    returnType: void
    signature: void V210::Convert(const picture_t *pic, unsigned dst_stride, void
      *frame_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: WRITE_PIXELS
    functionSourceFile: /src/vlc/modules/stream_out/sdi/V210.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_PIXELS(a, b, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/vlc/modules/stream_out/sdi/V210.cpp:100,1
    - Dst: put_le32
      Src: /src/vlc/modules/stream_out/sdi/V210.cpp:103,1
    - Dst: put_le32
      Src: /src/vlc/modules/stream_out/sdi/V210.cpp:104,1
    - Dst: put_le32
      Src: /src/vlc/modules/stream_out/sdi/V210.cpp:105,1
    - Dst: put_le32
      Src: /src/vlc/modules/stream_out/sdi/V210.cpp:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - src
    - srccount
    - out
    argTypes:
    - uint16_t*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 108
    functionName: V210::Convert
    functionSourceFile: /src/vlc/modules/stream_out/sdi/V210.cpp
    functionUses: 3
    functionsReached:
    - put_le32
    - reinterpret_cast<uint8_t *>
    linkageType: ''
    returnType: void
    signature: void V210::Convert(const uint16_t *src, size_t srccount, void *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: SDIAudioMultiplexBuffer::SDIAudioMultiplexBuffer
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SDIAudioMultiplexBuffer::SDIAudioMultiplexBuffer(vlc_object_t
      *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SDIAudioMultiplexBuffer::FlushQueued
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: SDIAudioMultiplexBuffer::~SDIAudioMultiplexBuffer()
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 0
    functionsReached:
    - SDIAudioMultiplexBuffer::FlushQueued
    linkageType: ''
    returnType: void
    signature: void SDIAudioMultiplexBuffer::~SDIAudioMultiplexBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: SDIAudioMultiplexBuffer::FlushQueued
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SDIAudioMultiplexBuffer::FlushQueued()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES3AudioBuffer::push
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:52,1
    - Dst: reinterpret_cast<block_t *>
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: SDIAudioMultiplexBuffer::Enqueue
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<block_t *>
    - AES3AudioBuffer::push
    linkageType: ''
    returnType: void
    signature: void SDIAudioMultiplexBuffer::Enqueue(void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: SDIAudioMultiplexBuffer::Dequeue
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * SDIAudioMultiplexBuffer::Dequeue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: SDIAudioMultiplexBuffer::Drain
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SDIAudioMultiplexBuffer::Drain()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES3AudioBuffer::bufferStart
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: SDIAudioMultiplexBuffer::isEOS
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 0
    functionsReached:
    - AES3AudioBuffer::bufferStart
    linkageType: ''
    returnType: bool
    signature: bool SDIAudioMultiplexBuffer::isEOS()
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - i
    - fmt
    argTypes:
    - unsigned
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 88
    functionName: ConfigureChannels
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConfigureChannels(unsigned i, es_format_t *fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Init
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:93,1
    - Dst: ConfigureChannels
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - obj
    - id
    argTypes:
    - vlc_object_t*
    - StreamID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: SDIAudioMultiplexConfig::Mapping::Mapping(vlc_object_t *obj, const
      StreamID &id)
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 0
    functionsReached:
    - ConfigureChannels
    - es_format_Init
    linkageType: ''
    returnType: void
    signature: void SDIAudioMultiplexConfig::Mapping::Mapping(vlc_object_t *obj, const
      StreamID &id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: SDIAudioMultiplexConfig::Mapping::~Mapping()
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 0
    functionsReached:
    - es_format_Clean
    linkageType: ''
    returnType: void
    signature: void SDIAudioMultiplexConfig::Mapping::~Mapping()
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - obj
    - channels
    argTypes:
    - vlc_object_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: SDIAudioMultiplexConfig::SDIAudioMultiplexConfig
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SDIAudioMultiplexConfig::SDIAudioMultiplexConfig(vlc_object_t
      *obj, uint8_t channels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: SDIAudioMultiplexConfig::~SDIAudioMultiplexConfig()
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void SDIAudioMultiplexConfig::~SDIAudioMultiplexConfig()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SDIAudioMultiplexConfig::getMappingByID
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - StreamID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: SDIAudioMultiplexConfig::decode
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 0
    functionsReached:
    - SDIAudioMultiplexConfig::getMappingByID
    linkageType: ''
    returnType: bool
    signature: bool SDIAudioMultiplexConfig::decode(const StreamID &id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: SDIAudioMultiplexConfig::SubFrameSlotUsed
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SDIAudioMultiplexConfig::SubFrameSlotUsed(uint8_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: SDIAudioMultiplexConfig::setSubFrameSlotUsed
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SDIAudioMultiplexConfig::setSubFrameSlotUsed(uint8_t i)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: config_ChainCreate
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:150,1
    - Dst: std::strcmp
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:153,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:156,1
    - Dst: std::strtol
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:172,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:178,1
    - Dst: std::strcmp
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:185,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:188,1
    - Dst: std::strcmp
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:190,1
    - Dst: std::vector::empty
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:190,1
    - Dst: std::strtol
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:193,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:197,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:199,1
    - Dst: std::strtol
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:204,1
    - Dst: find
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:208,1
    - Dst: std::vector::begin
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:208,1
    - Dst: std::vector::end
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:208,1
    - Dst: std::vector::end
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:208,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:210,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:211,1
    - Dst: std::vector::size
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:212,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:214,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:216,1
    - Dst: SDIAudioMultiplexConfig::addMappingEmbed
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:222,1
    - Dst: StreamID
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:222,1
    - Dst: std::vector::empty
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:223,1
    - Dst: SDIAudioMultiplexConfig::addMapping
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:224,1
    - Dst: StreamID
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:224,1
    - Dst: std::vector::empty
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:225,1
    - Dst: SDIAudioMultiplexConfig::addMapping
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:226,1
    - Dst: StreamID
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:226,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:229,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:231,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:234,1
    - Dst: config_ChainDestroy
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:236,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:238,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 58
    argCount: 1
    argNames:
    - psz
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 241
    functionName: SDIAudioMultiplexConfig::parseConfiguration
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 0
    functionsReached:
    - SDIAudioMultiplexConfig::addMappingEmbed
    - config_ChainCreate
    - std::strtol
    - std::vector::end
    - std::strcmp
    - StreamID
    - free
    - std::vector::push_back
    - msg_Dbg
    - std::vector::size
    - config_ChainDestroy
    - msg_Warn
    - SDIAudioMultiplexConfig::addMapping
    - std::vector::empty
    - std::vector::begin
    - find
    linkageType: ''
    returnType: void
    signature: void SDIAudioMultiplexConfig::parseConfiguration(const char *psz)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getMultiplexedFramesCount
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:246,1
    - Dst: SDIAudioMultiplexConfig::SubFrameSlotUsed
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:248,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:249,1
    - Dst: std::vector::size
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:252,1
    - Dst: std::vector::erase
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:252,1
    - Dst: std::vector::begin
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:252,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - b_aligned
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 260
    functionName: SDIAudioMultiplexConfig::getFreeSubFrameSlots
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 0
    functionsReached:
    - getMultiplexedFramesCount
    - std::vector::erase
    - SDIAudioMultiplexConfig::SubFrameSlotUsed
    - std::vector::push_back
    - std::vector::size
    - std::vector::begin
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> SDIAudioMultiplexConfig::getFreeSubFrameSlots(bool
      b_aligned) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:264,1
    - Dst: std::vector<uint8_t>
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - StreamID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: SDIAudioMultiplexConfig::getConfiguredSlots
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> SDIAudioMultiplexConfig::getConfiguredSlots(const
      StreamID &id) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SDIAudioMultiplexConfig::addMapping
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - id
    - fmt
    argTypes:
    - StreamID
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 277
    functionName: SDIAudioMultiplexConfig::addMapping
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 2
    functionsReached:
    - SDIAudioMultiplexConfig::addMapping
    linkageType: ''
    returnType: bool
    signature: bool SDIAudioMultiplexConfig::addMapping(const StreamID &id, const
      es_format_t *fmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SDIAudioMultiplexConfig::getFreeSubFrameSlots
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:281,1
    - Dst: std::vector::size
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:282,1
    - Dst: std::vector::resize
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:284,1
    - Dst: SDIAudioMultiplexConfig::addMapping
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - id
    - channels
    argTypes:
    - StreamID
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 286
    functionName: SDIAudioMultiplexConfig::addMapping
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 3
    functionsReached:
    - std::vector::resize
    - SDIAudioMultiplexConfig::addMapping
    - std::vector::size
    - SDIAudioMultiplexConfig::getFreeSubFrameSlots
    linkageType: ''
    returnType: bool
    signature: bool SDIAudioMultiplexConfig::addMapping(const StreamID &id, unsigned
      channels)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>::empty
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:290,1
    - Dst: SDIAudioMultiplexConfig::getFreeSubFrameSlots
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:291,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:292,1
    - Dst: std::vector<uint8_t>::resize
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:294,1
    - Dst: SDIAudioMultiplexConfig::addMapping
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:295,1
    - Dst: SDIAudioMultiplexConfig::getMappingByID
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - id
    - slots
    argTypes:
    - StreamID
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 299
    functionName: SDIAudioMultiplexConfig::addMappingEmbed
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 1
    functionsReached:
    - SDIAudioMultiplexConfig::getMappingByID
    - std::vector<uint8_t>::resize
    - std::vector<uint8_t>::empty
    - SDIAudioMultiplexConfig::addMapping
    - std::vector<uint8_t>::size
    - SDIAudioMultiplexConfig::getFreeSubFrameSlots
    linkageType: ''
    returnType: bool
    signature: bool SDIAudioMultiplexConfig::addMappingEmbed(const StreamID &id, std::vector<uint8_t>
      slots)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:303,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:306,1
    - Dst: SDIAudioMultiplexConfig::SubFrameSlotUsed
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:307,1
    - Dst: Mapping::Mapping
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:310,1
    - Dst: push_back
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:313,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:315,1
    - Dst: SDIAudioMultiplexConfig::setSubFrameSlotUsed
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:316,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - id
    - subframeslots
    argTypes:
    - StreamID
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 319
    functionName: SDIAudioMultiplexConfig::addMapping
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 4
    functionsReached:
    - push_back
    - Mapping::Mapping
    - size
    - SDIAudioMultiplexConfig::SubFrameSlotUsed
    - SDIAudioMultiplexConfig::setSubFrameSlotUsed
    - std::vector<uint8_t>::size
    linkageType: ''
    returnType: bool
    signature: bool SDIAudioMultiplexConfig::addMapping(const StreamID &id, std::vector<uint8_t>
      subframeslots)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:324,1
    - Dst: begin
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:324,1
    - Dst: end
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:324,1
    - Dst: end
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - StreamID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 327
    functionName: SDIAudioMultiplexConfig::getMappingByID
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 2
    functionsReached:
    - std::find_if
    - end
    - begin
    linkageType: ''
    returnType: SDIAudioMultiplexConfig::Mapping
    signature: "SDIAudioMultiplexConfig::Mapping *\n    SDIAudioMultiplexConfig::getMappingByID(const
      StreamID &id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:332,1
    - Dst: begin
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:332,1
    - Dst: end
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:332,1
    - Dst: end
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - StreamID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 335
    functionName: SDIAudioMultiplexConfig::getMappingByID
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 2
    functionsReached:
    - std::find_if
    - end
    - begin
    linkageType: ''
    returnType: SDIAudioMultiplexConfig::Mapping
    signature: "SDIAudioMultiplexConfig::Mapping *\n    SDIAudioMultiplexConfig::getMappingByID(const
      StreamID &id) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getMultiplexedFramesCount
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: SDIAudioMultiplexConfig::getMaxSamplesForBlockSize
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 0
    functionsReached:
    - getMultiplexedFramesCount
    linkageType: ''
    returnType: unsigned
    signature: unsigned SDIAudioMultiplexConfig::getMaxSamplesForBlockSize(size_t
      s) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SDIAudioMultiplexConfig::getMappingByID
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - StreamID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 347
    functionName: SDIAudioMultiplexConfig::getBufferForStream
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 0
    functionsReached:
    - SDIAudioMultiplexConfig::getMappingByID
    linkageType: ''
    returnType: SDIAudioMultiplexBuffer
    signature: "SDIAudioMultiplexBuffer *\n    SDIAudioMultiplexConfig::getBufferForStream(const
      StreamID &id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SDIAudioMultiplexConfig::getMappingByID
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - StreamID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 353
    functionName: SDIAudioMultiplexConfig::getConfigurationForStream
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 0
    functionsReached:
    - SDIAudioMultiplexConfig::getMappingByID
    linkageType: ''
    returnType: es_format_t
    signature: es_format_t * SDIAudioMultiplexConfig::getConfigurationForStream(const
      StreamID &id) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SDIAudioMultiplexConfig::getMappingByID
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:359,1
    - Dst: Mapping*::subframesslots::size
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:362,1
    - Dst: ConfigureChannels
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:363,1
    - Dst: Mapping*::buffer::setSubFramesCount
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:364,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - id
    - fmt
    argTypes:
    - StreamID
    - es_format_t*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 366
        line_start: 366
        source_file: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    constantsTouched: []
    func_position:
      end: 369
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 369
    functionName: SDIAudioMultiplexConfig::updateFromRealESConfig
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 0
    functionsReached:
    - assert
    - Mapping*::subframesslots::size
    - ConfigureChannels
    - Mapping*::buffer::setSubFramesCount
    - SDIAudioMultiplexConfig::getMappingByID
    linkageType: ''
    returnType: es_format_t
    signature: "es_format_t *\n    SDIAudioMultiplexConfig::updateFromRealESConfig(const
      StreamID &id,\n                                                    const es_format_t
      *fmt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - obj
    - channels
    argTypes:
    - vlc_object_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 376
    functionName: SDIAudioMultiplex::SDIAudioMultiplex
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SDIAudioMultiplex::SDIAudioMultiplex(vlc_object_t *obj, uint8_t
      channels)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: SDIAudioMultiplex::~SDIAudioMultiplex()
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SDIAudioMultiplex::~SDIAudioMultiplex()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:385,1
    - Dst: subframe0::available
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:388,1
    - Dst: subframe1::available
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:389,1
    - Dst: std::min
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:391,1
    - Dst: SDIAudioMultiplex::availableVirtualSamples
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:391,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:393,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - from
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 383
    functionDepth: 3
    functionLinenumber: 383
    functionLinenumberEnd: 394
    functionName: SDIAudioMultiplex::availableVirtualSamples
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 1
    functionsReached:
    - SDIAudioMultiplex::availableVirtualSamples
    - subframe0::available
    - std::min
    - subframe1::available
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: unsigned
    signature: unsigned SDIAudioMultiplex::availableVirtualSamples(vlc_tick_t from)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: subframe0::available
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:401,1
    - Dst: std::min
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:402,1
    - Dst: subframe0::alignedInterleaveInSamples
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:402,1
    - Dst: subframe1::available
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:403,1
    - Dst: std::min
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:404,1
    - Dst: subframe1::alignedInterleaveInSamples
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - from
    - i_wanted
    argTypes:
    - vlc_tick_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 407
    functionName: SDIAudioMultiplex::alignedInterleaveInSamples
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 0
    functionsReached:
    - subframe0::available
    - std::min
    - subframe0::alignedInterleaveInSamples
    - subframe1::available
    - subframe1::alignedInterleaveInSamples
    linkageType: ''
    returnType: unsigned
    signature: unsigned SDIAudioMultiplex::alignedInterleaveInSamples(vlc_tick_t from,
      unsigned i_wanted) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: subframe0::available
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:414,1
    - Dst: subframe1::available
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:415,1
    - Dst: bufferStartTime
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:417,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 423
    functionName: SDIAudioMultiplex::bufferStart
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 0
    functionsReached:
    - bufferStartTime
    - subframe0::available
    - subframe1::available
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t SDIAudioMultiplex::bufferStart() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AES3AudioFrameSource*::subframe0::available
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:431,1
    - Dst: AES3AudioFrameSource*::subframe1::available
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 437
    functionName: SDIAudioMultiplex::getFreeSubFrameSlots
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 0
    functionsReached:
    - AES3AudioFrameSource*::subframe1::available
    - AES3AudioFrameSource*::subframe0::available
    linkageType: ''
    returnType: unsigned
    signature: unsigned SDIAudioMultiplex::getFreeSubFrameSlots() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:442,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:445,1
    - Dst: AES3AudioSubFrameSource*::available
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:445,1
    - Dst: AES3AudioSubFrameSource
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - n
    - buf
    - idx
    argTypes:
    - uint8_t
    - AES3AudioBuffer*
    - AES3AudioSubFrameIndex
    assertStmts:
    - condition: (n<MAX_AES3_AUDIO_SUBFRAMES)
      pos:
        line_end: 441
        line_start: 441
        source_file: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    - condition: (s->available())
      pos:
        line_end: 444
        line_start: 444
        source_file: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    constantsTouched: []
    func_position:
      end: 447
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 447
    functionName: SDIAudioMultiplex::SetSubFrameSource
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 0
    functionsReached:
    - AES3AudioSubFrameSource*::available
    - assert
    - AES3AudioSubFrameSource
    linkageType: ''
    returnType: void
    signature: "void SDIAudioMultiplex::SetSubFrameSource(uint8_t n, AES3AudioBuffer
      *buf,\n                                          AES3AudioSubFrameIndex idx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:452,1
    - Dst: SDIAudioMultiplex::bufferStart
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:452,1
    - Dst: AES3AudioFrameSource*::subframe0::available
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:456,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:457,1
    - Dst: AES3AudioFrameSource*::subframe0::bufferStartTime
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:457,1
    - Dst: AES3AudioFrameSource*::subframe1::available
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:458,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:459,1
    - Dst: AES3AudioFrameSource*::subframe1::bufferStartTime
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:459,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 461
    functionName: SDIAudioMultiplex::Debug
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 0
    functionsReached:
    - AES3AudioFrameSource*::subframe1::bufferStartTime
    - AES3AudioFrameSource*::subframe0::bufferStartTime
    - AES3AudioFrameSource*::subframe1::available
    - msg_Dbg
    - AES3AudioFrameSource*::subframe0::available
    - SDIAudioMultiplex::bufferStart
    linkageType: ''
    returnType: void
    signature: void SDIAudioMultiplex::Debug() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SDIAudioMultiplex::bufferStart
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:466,1
    - Dst: getMultiplexedFramesCount
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:468,1
    - Dst: forwardTo
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:476,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:481,1
    - Dst: memset
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:484,1
    - Dst: AES3AudioFrameSource*::availableVirtualSamples
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:492,1
    - Dst: AES3AudioFrameSource*::subframe0::getCodec
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:497,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:498,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:499,1
    - Dst: AES3AudioFrameSource*::bufferStartTime
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:500,1
    - Dst: AES3AudioFrameSource*::subframe0::copy
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:503,1
    - Dst: AES3AudioFrameSource*::subframe1::copy
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:504,1
    - Dst: tagVirtualConsumed
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:509,1
    - Dst: flushConsumed
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:511,1
    - Dst: SDIAudioMultiplex::bufferStart
      Src: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp:513,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - samples
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 516
    functionName: SDIAudioMultiplex::Extract
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.cpp
    functionUses: 0
    functionsReached:
    - AES3AudioFrameSource*::bufferStartTime
    - memset
    - getMultiplexedFramesCount
    - forwardTo
    - AES3AudioFrameSource*::subframe0::copy
    - AES3AudioFrameSource*::subframe0::getCodec
    - AES3AudioFrameSource*::subframe1::copy
    - flushConsumed
    - block_Alloc
    - reinterpret_cast<const char *>
    - msg_Dbg
    - SDIAudioMultiplex::bufferStart
    - AES3AudioFrameSource*::availableVirtualSamples
    - tagVirtualConsumed
    linkageType: ''
    returnType: block_t
    signature: block_t * SDIAudioMultiplex::Extract(unsigned samples)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Init
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:38,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:39,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:40,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:42,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:44,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:45,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:46,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:51,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:52,1
    - Dst: SDIAudioMultiplex::SDIAudioMultiplex
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:51,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:53,1
    - Dst: config::parseConfiguration
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:56,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - p_stream_
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 59
    functionName: SDIOutput::SDIOutput
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp
    functionUses: 0
    functionsReached:
    - var_InheritString
    - config::parseConfiguration
    - var_InheritInteger
    - var_InheritBool
    - free
    - SDIAudioMultiplex::SDIAudioMultiplex
    - VLC_OBJECT
    - es_format_Init
    linkageType: ''
    returnType: void
    signature: void SDIOutput::SDIOutput(sout_stream_t *p_stream_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FlushQueued
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:63,1
    - Dst: FlushQueued
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:64,1
    - Dst: empty
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:65,1
    - Dst: front
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:67,1
    - Dst: pop_front
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:68,1
    - Dst: picture_Release
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:74,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 76
    functionName: SDIOutput::~SDIOutput()
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp
    functionUses: 0
    functionsReached:
    - es_format_Clean
    - FlushQueued
    - picture_Release
    - empty
    - pop_front
    - front
    linkageType: ''
    returnType: void
    signature: void SDIOutput::~SDIOutput()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ConfigureVideo
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:88,1
    - Dst: dynamic_cast<VideoDecodedStream *>
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:89,1
    - Dst: SDIOutput::createStream
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:89,1
    - Dst: setOutputFormat
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:92,1
    - Dst: ConfigureAudio
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:98,1
    - Dst: config::getConfigurationForStream
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:100,1
    - Dst: config::addMapping
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:103,1
    - Dst: config::updateFromRealESConfig
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:106,1
    - Dst: config::getBufferForStream
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:107,1
    - Dst: SDIOutput::createStream
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:111,1
    - Dst: config::decode
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:111,1
    - Dst: config::decode
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:114,1
    - Dst: SDIAudioMultiplexBuffer*::setCodec
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:115,1
    - Dst: dynamic_cast<AudioDecodedStream *>
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:116,1
    - Dst: AudioDecodedStream*::setOutputFormat
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:118,1
    - Dst: push_back
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:119,1
    - Dst: config::getConfiguredSlots
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:120,1
    - Dst: std::vector::size
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:121,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:123,1
    - Dst: StreamID::toString
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:124,1
    - Dst: SetSubFrameSource
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:125,1
    - Dst: AES3AudioSubFrameIndex
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:125,1
    - Dst: dynamic_cast<CaptionsStream *>
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:132,1
    - Dst: SDIOutput::createStream
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:132,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 139
    functionName: SDIOutput::Add
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp
    functionUses: 1
    functionsReached:
    - config::getConfigurationForStream
    - config::addMapping
    - dynamic_cast<VideoDecodedStream *>
    - push_back
    - dynamic_cast<CaptionsStream *>
    - config::getBufferForStream
    - SDIAudioMultiplexBuffer*::setCodec
    - msg_Dbg
    - ConfigureAudio
    - SDIOutput::createStream
    - config::decode
    - StreamID::toString
    - config::updateFromRealESConfig
    - setOutputFormat
    - ConfigureVideo
    - std::vector::size
    - dynamic_cast<AudioDecodedStream *>
    - SetSubFrameSource
    - AES3AudioSubFrameIndex
    - config::getConfiguredSlots
    - AudioDecodedStream*::setOutputFormat
    linkageType: ''
    returnType: AbstractStream
    signature: AbstractStream *SDIOutput::Add(const es_format_t *fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbstractStream*::Send
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:143,1
    - Dst: Process
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - id
    - p
    argTypes:
    - AbstractStream*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: SDIOutput::Send
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp
    functionUses: 0
    functionsReached:
    - AbstractStream*::Send
    - Process
    linkageType: ''
    returnType: int
    signature: int SDIOutput::Send(AbstractStream *id, block_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbstractStream*::Drain
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:150,1
    - Dst: Process
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - AbstractStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: SDIOutput::Del
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp
    functionUses: 0
    functionsReached:
    - AbstractStream*::Drain
    - Process
    linkageType: ''
    returnType: void
    signature: void SDIOutput::Del(AbstractStream *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - i_query
    - args
    argTypes:
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 165
    functionName: SDIOutput::Control
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp
    functionUses: 0
    functionsReached:
    - va_arg
    linkageType: ''
    returnType: int
    signature: int SDIOutput::Control(int i_query, va_list args)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SDIOutput::ReachedPlaybackTime
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:170,1
    - Dst: begin
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:173,1
    - Dst: end
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:173,1
    - Dst: SDIOutput::ReachedPlaybackTime
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:174,1
    - Dst: SDIOutput::ReachedPlaybackTime
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:178,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - t
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 182
    functionName: SDIOutput::ReachedPlaybackTime
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp
    functionUses: 1
    functionsReached:
    - end
    - begin
    - SDIOutput::ReachedPlaybackTime
    linkageType: ''
    returnType: bool
    signature: bool SDIOutput::ReachedPlaybackTime(vlc_tick_t t)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:193,1
    - Dst: VideoDecodedStream::VideoDecodedStream
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:193,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:195,1
    - Dst: AudioDecodedStream::AudioDecodedStream
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:195,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:200,1
    - Dst: AudioCompressedStream::AudioCompressedStream
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:200,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:202,1
    - Dst: CaptionsStream::CaptionsStream
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:202,1
    - Dst: AbstractStream*::init
      Src: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp:205,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - id
    - fmt
    - buffer
    - b_decoded
    argTypes:
    - StreamID
    - es_format_t*
    - AbstractStreamOutputBuffer*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 211
    functionName: SDIOutput::createStream
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIOutput.cpp
    functionUses: 1
    functionsReached:
    - AbstractStream*::init
    - VideoDecodedStream::VideoDecodedStream
    - CaptionsStream::CaptionsStream
    - AudioDecodedStream::AudioDecodedStream
    - VLC_OBJECT
    - AudioCompressedStream::AudioCompressedStream
    linkageType: ''
    returnType: AbstractStream
    signature: "AbstractStream *SDIOutput::createStream(const StreamID &id,\n                                        const
      es_format_t *fmt,\n                                        AbstractStreamOutputBuffer
      *buffer,\n                                        bool b_decoded)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<sdi_sout::SDIOutput *>
      Src: /src/vlc/modules/stream_out/sdi/sdiout.cpp:141,1
    - Dst: auto*::Add
      Src: /src/vlc/modules/stream_out/sdi/sdiout.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_stream
    - fmt
    argTypes:
    - sout_stream_t*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: SoutCallback_Add
    functionSourceFile: /src/vlc/modules/stream_out/sdi/sdiout.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<sdi_sout::SDIOutput *>
    - auto*::Add
    linkageType: ''
    returnType: void
    signature: "void *SoutCallback_Add(sout_stream_t *p_stream,\n                       const
      es_format_t *fmt,\n                       const char *)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<sdi_sout::SDIOutput *>
      Src: /src/vlc/modules/stream_out/sdi/sdiout.cpp:147,1
    - Dst: auto*::Del
      Src: /src/vlc/modules/stream_out/sdi/sdiout.cpp:148,1
    - Dst: reinterpret_cast<sdi_sout::AbstractStream *>
      Src: /src/vlc/modules/stream_out/sdi/sdiout.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_stream
    - id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: SoutCallback_Del
    functionSourceFile: /src/vlc/modules/stream_out/sdi/sdiout.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<sdi_sout::AbstractStream *>
    - reinterpret_cast<sdi_sout::SDIOutput *>
    - auto*::Del
    linkageType: ''
    returnType: void
    signature: void SoutCallback_Del(sout_stream_t *p_stream, void *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<sdi_sout::SDIOutput *>
      Src: /src/vlc/modules/stream_out/sdi/sdiout.cpp:153,1
    - Dst: auto*::Send
      Src: /src/vlc/modules/stream_out/sdi/sdiout.cpp:154,1
    - Dst: reinterpret_cast<sdi_sout::AbstractStream *>
      Src: /src/vlc/modules/stream_out/sdi/sdiout.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_stream
    - id
    - p_block
    argTypes:
    - sout_stream_t*
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: SoutCallback_Send
    functionSourceFile: /src/vlc/modules/stream_out/sdi/sdiout.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<sdi_sout::AbstractStream *>
    - reinterpret_cast<sdi_sout::SDIOutput *>
    - auto*::Send
    linkageType: ''
    returnType: int
    signature: int SoutCallback_Send(sout_stream_t *p_stream, void *id, block_t *p_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<sdi_sout::SDIOutput *>
      Src: /src/vlc/modules/stream_out/sdi/sdiout.cpp:159,1
    - Dst: auto*::Control
      Src: /src/vlc/modules/stream_out/sdi/sdiout.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_stream
    - query
    - args
    argTypes:
    - sout_stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: SoutCallback_Control
    functionSourceFile: /src/vlc/modules/stream_out/sdi/sdiout.cpp
    functionUses: 0
    functionsReached:
    - auto*::Control
    - reinterpret_cast<sdi_sout::SDIOutput *>
    linkageType: ''
    returnType: int
    signature: int SoutCallback_Control(sout_stream_t *p_stream, int query, va_list
      args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<sdi_sout::AbstractStream *>
      Src: /src/vlc/modules/stream_out/sdi/sdiout.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: SoutCallback_Flush
    functionSourceFile: /src/vlc/modules/stream_out/sdi/sdiout.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<sdi_sout::AbstractStream *>
    linkageType: ''
    returnType: void
    signature: void SoutCallback_Flush(sout_stream_t *, void *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<sdi_sout::DBMSDIOutput *>
      Src: /src/vlc/modules/stream_out/sdi/sdiout.cpp:171,1
    - Dst: sdi_sout::DBMSDIOutput*::Process
      Src: /src/vlc/modules/stream_out/sdi/sdiout.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: SoutCallback_Close
    functionSourceFile: /src/vlc/modules/stream_out/sdi/sdiout.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<sdi_sout::DBMSDIOutput *>
    - sdi_sout::DBMSDIOutput*::Process
    linkageType: ''
    returnType: void
    signature: void SoutCallback_Close(sout_stream_t *p_stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<sout_stream_t*>
      Src: /src/vlc/modules/stream_out/sdi/sdiout.cpp:189,1
    - Dst: sdi_sout::DBMSDIOutput::DBMSDIOutput
      Src: /src/vlc/modules/stream_out/sdi/sdiout.cpp:190,1
    - Dst: sdi_sout::DBMSDIOutput*::Open
      Src: /src/vlc/modules/stream_out/sdi/sdiout.cpp:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 200
    functionName: OpenSDIOutput
    functionSourceFile: /src/vlc/modules/stream_out/sdi/sdiout.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<sout_stream_t*>
    - sdi_sout::DBMSDIOutput*::Open
    - sdi_sout::DBMSDIOutput::DBMSDIOutput
    linkageType: ''
    returnType: int
    signature: int OpenSDIOutput(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: sdi_sout::SDIAudioMultiplexConfig::getMultiplexedFramesCount
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getMultiplexedFramesCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: sdi_sout::SDIAudioMultiplexConfig::getMultiplexedFramesCount
    functionSourceFile: /src/vlc/modules/stream_out/sdi/SDIAudioMultiplex.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getMultiplexedFramesCount() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_memstream_putc
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:44,1
    - Dst: vlc_memstream_close
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:45,1
    - Dst: vlc_vector_push
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:48,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - esid
    - map
    argTypes:
    - struct vlc_memstream*
    - struct hls_variant_stream_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: parser_NewESID
    functionSourceFile: /src/vlc/modules/stream_out/hls/variant_maps.c
    functionUses: 0
    functionsReached:
    - vlc_memstream_close
    - vlc_vector_push
    - vlc_memstream_putc
    - free
    linkageType: ''
    returnType: int
    signature: "int parser_NewESID(struct vlc_memstream *esid,\n                          struct
      hls_variant_stream_map *map)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalnum
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: is_valid_char
    functionSourceFile: /src/vlc/modules/stream_out/hls/variant_maps.c
    functionUses: 0
    functionsReached:
    - isalnum
    linkageType: ''
    returnType: bool
    signature: bool is_valid_char(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vector_foreach
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:62,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:64,1
    - Dst: vlc_vector_destroy
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:66,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - map
    argTypes:
    - struct hls_variant_stream_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: hls_variant_map_Destroy
    functionSourceFile: /src/vlc/modules/stream_out/hls/variant_maps.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_vector_foreach
    - vlc_vector_destroy
    linkageType: ''
    returnType: void
    signature: void hls_variant_map_Destroy(struct hls_variant_stream_map *map)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:89,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:90,1
    - Dst: vlc_vector_init
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:93,1
    - Dst: is_valid_char
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:99,1
    - Dst: vlc_memstream_open
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:102,1
    - Dst: vlc_memstream_putc
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:103,1
    - Dst: parser_NewESID
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:109,1
    - Dst: parser_NewESID
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:116,1
    - Dst: vlc_vector_push
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:120,1
    - Dst: is_valid_char
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:126,1
    - Dst: vlc_memstream_putc
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:127,1
    - Dst: vlc_memstream_close
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:130,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:131,1
    - Dst: hls_variant_maps_Destroy
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:150,1
    - Dst: hls_variant_map_Destroy
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:152,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 69
    argCount: 2
    argNames:
    - s
    - out
    argTypes:
    - char*
    - hls_variant_stream_maps_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 154
    functionName: hls_variant_maps_Parse
    functionSourceFile: /src/vlc/modules/stream_out/hls/variant_maps.c
    functionUses: 0
    functionsReached:
    - is_valid_char
    - vlc_memstream_open
    - vlc_vector_init
    - hls_variant_map_Destroy
    - free
    - vlc_vector_push
    - vlc_memstream_putc
    - hls_variant_maps_Destroy
    - vlc_memstream_close
    - unlikely
    - malloc
    - parser_NewESID
    linkageType: ''
    returnType: int
    signature: int hls_variant_maps_Parse(const char *s, hls_variant_stream_maps_t
      *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vector_foreach
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:162,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:163,1
    - Dst: vlc_vector_destroy
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:164,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:165,1
    - Dst: vlc_vector_destroy
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - maps
    argTypes:
    - hls_variant_stream_maps_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 168
    functionName: hls_variant_maps_Destroy
    functionSourceFile: /src/vlc/modules/stream_out/hls/variant_maps.c
    functionUses: 1
    functionsReached:
    - free
    - vlc_vector_foreach
    - vlc_vector_destroy
    linkageType: ''
    returnType: void
    signature: void hls_variant_maps_Destroy(hls_variant_stream_maps_t *maps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vector_foreach
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:162,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:163,1
    - Dst: vlc_vector_destroy
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:164,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: vlc_vector_foreach
    functionSourceFile: /src/vlc/modules/stream_out/hls/variant_maps.c
    functionUses: 6
    functionsReached:
    - free
    - vlc_vector_foreach
    - vlc_vector_destroy
    linkageType: ''
    returnType: void
    signature: void vlc_vector_foreach (map, maps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vector_foreach
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:177,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - maps
    - es_id
    argTypes:
    - hls_variant_stream_maps_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 184
    functionName: hls_variant_map_FromESID
    functionSourceFile: /src/vlc/modules/stream_out/hls/variant_maps.c
    functionUses: 0
    functionsReached:
    - vlc_vector_foreach
    - strcmp
    linkageType: ''
    returnType: struct hls_variant_stream_map
    signature: 'struct hls_variant_stream_map *

      hls_variant_map_FromESID(hls_variant_stream_maps_t *maps, const char *es_id)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vector_foreach
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:177,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/hls/variant_maps.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: vlc_vector_foreach
    functionSourceFile: /src/vlc/modules/stream_out/hls/variant_maps.c
    functionUses: 8
    functionsReached:
    - vlc_vector_foreach
    - strcmp
    linkageType: ''
    returnType: void
    signature: void vlc_vector_foreach (it, maps)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - maps
    - playlist
    argTypes:
    - hls_variant_stream_maps_t*
    - struct hls_playlist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 197
    functionName: hls_variant_map_FromPlaylist
    functionSourceFile: /src/vlc/modules/stream_out/hls/variant_maps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct hls_variant_stream_map
    signature: "struct hls_variant_stream_map *\nhls_variant_map_FromPlaylist(hls_variant_stream_maps_t
      *maps,\n                             struct hls_playlist *playlist)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: vlc_vector_foreach
    functionSourceFile: /src/vlc/modules/stream_out/hls/variant_maps.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vlc_vector_foreach (it, maps)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - chain
    argTypes:
    - hls_block_chain_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: hls_block_chain_Reset
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hls_block_chain_Reset(hls_block_chain_t *chain)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - it
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 182
    functionName: hls_playlists_foreach
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hls_playlists_foreach(it)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: httpd_MsgAdd
      Src: /src/vlc/modules/stream_out/hls/hls.c:193,1
    - Dst: httpd_MsgAdd
      Src: /src/vlc/modules/stream_out/hls/hls.c:194,1
    - Dst: struct hls_storage*::get_content
      Src: /src/vlc/modules/stream_out/hls/hls.c:200,1
    - Dst: httpd_MsgGet
      Src: /src/vlc/modules/stream_out/hls/hls.c:209,1
    - Dst: httpd_MsgAdd
      Src: /src/vlc/modules/stream_out/hls/hls.c:210,1
    - Dst: httpd_MsgAdd
      Src: /src/vlc/modules/stream_out/hls/hls.c:211,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - sys
    - client
    - answer
    - query
    argTypes:
    - httpd_callback_sys_t*
    - httpd_client_t*
    - httpd_message_t*
    - httpd_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 214
    functionName: HTTPCallback
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 0
    functionsReached:
    - httpd_MsgAdd
    - struct hls_storage*::get_content
    - httpd_MsgGet
    linkageType: ''
    returnType: int
    signature: "int HTTPCallback(httpd_callback_sys_t *sys,\n                        httpd_client_t
      *client,\n                        httpd_message_t *answer,\n                        const
      httpd_message_t *query)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_format_IsSimilar
      Src: /src/vlc/modules/stream_out/hls/hls.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - vec
    - fmt
    argTypes:
    - es_format_vec_t*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 228
    functionName: IsCodecAlreadyDescribed
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 0
    functionsReached:
    - es_format_IsSimilar
    linkageType: ''
    returnType: bool
    signature: "bool IsCodecAlreadyDescribed(const es_format_vec_t *vec,\n                                           const
      es_format_t *fmt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_format_IsSimilar
      Src: /src/vlc/modules/stream_out/hls/hls.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: vlc_vector_foreach
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 8
    functionsReached:
    - es_format_IsSimilar
    linkageType: ''
    returnType: void
    signature: void vlc_vector_foreach (it, vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_list_first_entry_or_null
      Src: /src/vlc/modules/stream_out/hls/hls.c:232,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/hls/hls.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - media_playlist
    argTypes:
    - hls_playlist_t*
    assertStmts:
    - condition: (track != NULL)
      pos:
        line_end: 233
        line_start: 233
        source_file: /src/vlc/modules/stream_out/hls/hls.c
    constantsTouched: []
    func_position:
      end: 236
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 236
    functionName: MediaGetTrack
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 0
    functionsReached:
    - vlc_list_first_entry_or_null
    - assert
    linkageType: ''
    returnType: hls_track_t
    signature: hls_track_t *MediaGetTrack(const hls_playlist_t *media_playlist)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_memstream_open
      Src: /src/vlc/modules/stream_out/hls/hls.c:245,1
    - Dst: vlc_list_foreach_const
      Src: /src/vlc/modules/stream_out/hls/hls.c:249,1
    - Dst: IsCodecAlreadyDescribed
      Src: /src/vlc/modules/stream_out/hls/hls.c:251,1
    - Dst: vlc_memstream_putc
      Src: /src/vlc/modules/stream_out/hls/hls.c:255,1
    - Dst: hls_codec_Format
      Src: /src/vlc/modules/stream_out/hls/hls.c:256,1
    - Dst: vlc_vector_push
      Src: /src/vlc/modules/stream_out/hls/hls.c:259,1
    - Dst: MediaGetTrack
      Src: /src/vlc/modules/stream_out/hls/hls.c:266,1
    - Dst: IsCodecAlreadyDescribed
      Src: /src/vlc/modules/stream_out/hls/hls.c:268,1
    - Dst: vlc_memstream_putc
      Src: /src/vlc/modules/stream_out/hls/hls.c:272,1
    - Dst: hls_codec_Format
      Src: /src/vlc/modules/stream_out/hls/hls.c:273,1
    - Dst: vlc_vector_push
      Src: /src/vlc/modules/stream_out/hls/hls.c:276,1
    - Dst: vlc_vector_destroy
      Src: /src/vlc/modules/stream_out/hls/hls.c:279,1
    - Dst: vlc_memstream_putc
      Src: /src/vlc/modules/stream_out/hls/hls.c:281,1
    - Dst: vlc_memstream_close
      Src: /src/vlc/modules/stream_out/hls/hls.c:282,1
    - Dst: vlc_vector_destroy
      Src: /src/vlc/modules/stream_out/hls/hls.c:286,1
    - Dst: vlc_memstream_close
      Src: /src/vlc/modules/stream_out/hls/hls.c:287,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/hls.c:289,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - media_list
    - playlist
    argTypes:
    - struct vlc_list*
    - hls_playlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 291
    functionName: GeneratePlaylistCodecInfo
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 0
    functionsReached:
    - vlc_memstream_open
    - vlc_list_foreach_const
    - free
    - vlc_vector_push
    - hls_codec_Format
    - vlc_memstream_putc
    - vlc_vector_destroy
    - vlc_memstream_close
    - IsCodecAlreadyDescribed
    - MediaGetTrack
    linkageType: ''
    returnType: VLC_MALLOC
    signature: "VLC_MALLOC *GeneratePlaylistCodecInfo(const struct vlc_list *media_list,\n
      \                                                 const hls_playlist_t *playlist)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MediaGetTrack
      Src: /src/vlc/modules/stream_out/hls/hls.c:266,1
    - Dst: IsCodecAlreadyDescribed
      Src: /src/vlc/modules/stream_out/hls/hls.c:268,1
    - Dst: vlc_memstream_putc
      Src: /src/vlc/modules/stream_out/hls/hls.c:272,1
    - Dst: hls_codec_Format
      Src: /src/vlc/modules/stream_out/hls/hls.c:273,1
    - Dst: vlc_vector_push
      Src: /src/vlc/modules/stream_out/hls/hls.c:276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 277
    functionName: vlc_list_foreach_const
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 1
    functionsReached:
    - IsCodecAlreadyDescribed
    - hls_codec_Format
    - vlc_memstream_putc
    - vlc_vector_push
    - MediaGetTrack
    linkageType: ''
    returnType: void
    signature: void vlc_list_foreach_const (media, media_list, node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_list_foreach_const
      Src: /src/vlc/modules/stream_out/hls/hls.c:298,1
    - Dst: MediaGetTrack
      Src: /src/vlc/modules/stream_out/hls/hls.c:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sys
    - cat
    argTypes:
    - sout_stream_sys_t*
    - enum es_format_category_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 304
    functionName: HasMediaRendition
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 0
    functionsReached:
    - MediaGetTrack
    - vlc_list_foreach_const
    linkageType: ''
    returnType: bool
    signature: "bool HasMediaRendition(const sout_stream_sys_t *sys,\n                              enum
      es_format_category_e cat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 317
    functionName: MANIFEST_START_TAG
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MANIFEST_START_TAG(tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - attribute
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 328
    functionName: MANIFEST_ADD_ATTRIBUTE
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MANIFEST_ADD_ATTRIBUTE(attribute, ...)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_memstream_open
      Src: /src/vlc/modules/stream_out/hls/hls.c:459,1
    - Dst: MANIFEST_ADD_TAG
      Src: /src/vlc/modules/stream_out/hls/hls.c:468,1
    - Dst: secf_from_vlc_tick
      Src: /src/vlc/modules/stream_out/hls/hls.c:470,1
    - Dst: MANIFEST_ADD_TAG
      Src: /src/vlc/modules/stream_out/hls/hls.c:471,1
    - Dst: MANIFEST_ADD_TAG
      Src: /src/vlc/modules/stream_out/hls/hls.c:473,1
    - Dst: MANIFEST_ADD_TAG
      Src: /src/vlc/modules/stream_out/hls/hls.c:477,1
    - Dst: MANIFEST_ADD_TAG
      Src: /src/vlc/modules/stream_out/hls/hls.c:479,1
    - Dst: hls_segment_GetFirst
      Src: /src/vlc/modules/stream_out/hls/hls.c:481,1
    - Dst: MANIFEST_ADD_TAG
      Src: /src/vlc/modules/stream_out/hls/hls.c:482,1
    - Dst: MANIFEST_ADD_TAG
      Src: /src/vlc/modules/stream_out/hls/hls.c:486,1
    - Dst: hls_segment_queue_Foreach_const
      Src: /src/vlc/modules/stream_out/hls/hls.c:489,1
    - Dst: MANIFEST_ADD_TAG
      Src: /src/vlc/modules/stream_out/hls/hls.c:491,1
    - Dst: secf_from_vlc_tick
      Src: /src/vlc/modules/stream_out/hls/hls.c:491,1
    - Dst: MANIFEST_ADD_TAG
      Src: /src/vlc/modules/stream_out/hls/hls.c:492,1
    - Dst: MANIFEST_ADD_TAG
      Src: /src/vlc/modules/stream_out/hls/hls.c:496,1
    - Dst: vlc_memstream_close
      Src: /src/vlc/modules/stream_out/hls/hls.c:500,1
    - Dst: hls_storage_FromBytes
      Src: /src/vlc/modules/stream_out/hls/hls.c:505,1
    - Dst: vlc_memstream_close
      Src: /src/vlc/modules/stream_out/hls/hls.c:508,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/hls.c:509,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - playlist
    - storage_out
    argTypes:
    - hls_playlist_t*
    - struct hls_storage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 511
    functionName: GeneratePlaylistManifest
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 0
    functionsReached:
    - MANIFEST_ADD_TAG
    - vlc_memstream_open
    - secf_from_vlc_tick
    - hls_segment_GetFirst
    - free
    - hls_storage_FromBytes
    - hls_segment_queue_Foreach_const
    - vlc_memstream_close
    linkageType: ''
    returnType: int
    signature: "int GeneratePlaylistManifest(const hls_playlist_t *playlist,\n                         struct
      hls_storage **storage_out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 467
    functionName: MANIFEST_ADD_TAG
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MANIFEST_ADD_TAG(fmt, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GeneratePlaylistManifest
      Src: /src/vlc/modules/stream_out/hls/hls.c:516,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/hls/hls.c:517,1
    - Dst: vlc_error
      Src: /src/vlc/modules/stream_out/hls/hls.c:519,1
    - Dst: vlc_strerror
      Src: /src/vlc/modules/stream_out/hls/hls.c:520,1
    - Dst: httpd_UrlCatch
      Src: /src/vlc/modules/stream_out/hls/hls.c:526,1
    - Dst: hls_storage_Destroy
      Src: /src/vlc/modules/stream_out/hls/hls.c:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - playlist
    argTypes:
    - hls_playlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 513
    functionDepth: 2
    functionLinenumber: 513
    functionLinenumberEnd: 536
    functionName: UpdatePlaylistManifest
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 0
    functionsReached:
    - vlc_strerror
    - httpd_UrlCatch
    - hls_storage_Destroy
    - vlc_error
    - GeneratePlaylistManifest
    - unlikely
    linkageType: ''
    returnType: int
    signature: int UpdatePlaylistManifest(hls_playlist_t *playlist)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - muxed_output
    - min_length
    - max_length
    argTypes:
    - hls_block_chain_t*
    - vlc_tick_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 572
    functionName: CutTsSegment
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: hls_cut_t
    signature: "hls_cut_t CutTsSegment(hls_block_chain_t *muxed_output,\n                              vlc_tick_t
      min_length,\n                              vlc_tick_t max_length)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - muxed_output
    - min_length
    - max_length
    argTypes:
    - hls_block_chain_t*
    - vlc_tick_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 606
    functionName: CutMP4Segment
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: hls_cut_t
    signature: "hls_cut_t CutMP4Segment(hls_block_chain_t *muxed_output,\n                               vlc_tick_t
      min_length,\n                               vlc_tick_t max_length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/stream_out/hls/hls.c:622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - playlist
    argTypes:
    - hls_playlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 623
    functionName: PlaylistCutFlag
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t PlaylistCutFlag(const hls_playlist_t *playlist)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CutTsSegment
      Src: /src/vlc/modules/stream_out/hls/hls.c:635,1
    - Dst: CutMP4Segment
      Src: /src/vlc/modules/stream_out/hls/hls.c:638,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/stream_out/hls/hls.c:641,1
    - Dst: hls_block_chain_Reset
      Src: /src/vlc/modules/stream_out/hls/hls.c:660,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - playlist
    - muxed_output
    - min_length
    - max_length
    argTypes:
    - hls_playlist_t*
    - hls_block_chain_t*
    - vlc_tick_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 663
    functionName: ExtractAVSegment
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 0
    functionsReached:
    - CutMP4Segment
    - CutTsSegment
    - vlc_assert_unreachable
    - hls_block_chain_Reset
    linkageType: ''
    returnType: hls_block_chain_t
    signature: "hls_block_chain_t ExtractAVSegment(const hls_playlist_t *playlist,\n
      \                                         hls_block_chain_t *muxed_output,\n
      \                                         vlc_tick_t min_length,\n                                          vlc_tick_t
      max_length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hls_block_chain_Reset
      Src: /src/vlc/modules/stream_out/hls/hls.c:684,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - muxed_output
    - segment_length
    argTypes:
    - hls_block_chain_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 686
    functionName: ExtractSubtitleSegment
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 0
    functionsReached:
    - hls_block_chain_Reset
    linkageType: ''
    returnType: hls_block_chain_t
    signature: "hls_block_chain_t ExtractSubtitleSegment(hls_block_chain_t *muxed_output,\n
      \                                               vlc_tick_t segment_length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/stream_out/hls/hls.c:699,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/hls/hls.c:700,1
    - Dst: bo_init
      Src: /src/vlc/modules/stream_out/hls/hls.c:704,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/stream_out/hls/hls.c:706,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/stream_out/hls/hls.c:707,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/stream_out/hls/hls.c:708,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/stream_out/hls/hls.c:709,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/stream_out/hls/hls.c:710,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/stream_out/hls/hls.c:711,1
    - Dst: bo_init
      Src: /src/vlc/modules/stream_out/hls/hls.c:715,1
    - Dst: bo_deinit
      Src: /src/vlc/modules/stream_out/hls/hls.c:717,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/stream_out/hls/hls.c:720,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/stream_out/hls/hls.c:721,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/stream_out/hls/hls.c:722,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/stream_out/hls/hls.c:723,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/stream_out/hls/hls.c:724,1
    - Dst: bo_add_64be
      Src: /src/vlc/modules/stream_out/hls/hls.c:725,1
    - Dst: bo_add_64be
      Src: /src/vlc/modules/stream_out/hls/hls.c:726,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/stream_out/hls/hls.c:727,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/stream_out/hls/hls.c:728,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/stream_out/hls/hls.c:729,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/stream_out/hls/hls.c:730,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/stream_out/hls/hls.c:731,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 3
    argNames:
    - segment
    - earliest_pts
    - referenced_size
    argTypes:
    - hls_block_chain_t*
    - vlc_tick_t
    - size_t
    assertStmts:
    - condition: (referenced_size <= 0x7FFFFFFF)
      pos:
        line_end: 698
        line_start: 698
        source_file: /src/vlc/modules/stream_out/hls/hls.c
    - condition: (segment->length <= UINT32_MAX)
      pos:
        line_end: 699
        line_start: 699
        source_file: /src/vlc/modules/stream_out/hls/hls.c
    constantsTouched: []
    func_position:
      end: 739
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 739
    functionName: PrependSegmentBoxes
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 0
    functionsReached:
    - bo_add_64be
    - bo_init
    - assert
    - bo_add_32be
    - bo_deinit
    - bo_add_fourcc
    - bo_add_16be
    linkageType: ''
    returnType: void
    signature: "void PrependSegmentBoxes(hls_block_chain_t *segment,\n                                vlc_tick_t
      earliest_pts,\n                                size_t referenced_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ExtractSubtitleSegment
      Src: /src/vlc/modules/stream_out/hls/hls.c:748,1
    - Dst: ExtractAVSegment
      Src: /src/vlc/modules/stream_out/hls/hls.c:751,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/stream_out/hls/hls.c:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - playlist
    argTypes:
    - hls_playlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 741
    functionDepth: 2
    functionLinenumber: 741
    functionLinenumberEnd: 755
    functionName: ExtractSegment
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 0
    functionsReached:
    - ExtractSubtitleSegment
    - vlc_assert_unreachable
    - ExtractAVSegment
    linkageType: ''
    returnType: hls_block_chain_t
    signature: hls_block_chain_t ExtractSegment(hls_playlist_t *playlist)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/stream_out/hls/hls.c:776,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - segment
    - playlist
    argTypes:
    - hls_block_chain_t*
    - hls_playlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 757
    functionDepth: 1
    functionLinenumber: 757
    functionLinenumberEnd: 777
    functionName: IsSegmentSelfDecodable
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    linkageType: ''
    returnType: bool
    signature: "bool IsSegmentSelfDecodable(const hls_block_chain_t *segment,\n                                   const
      hls_playlist_t *playlist)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ExtractSegment
      Src: /src/vlc/modules/stream_out/hls/hls.c:786,1
    - Dst: block_ChainProperties
      Src: /src/vlc/modules/stream_out/hls/hls.c:789,1
    - Dst: vlc_error
      Src: /src/vlc/modules/stream_out/hls/hls.c:792,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_out/hls/hls.c:796,1
    - Dst: PrependSegmentBoxes
      Src: /src/vlc/modules/stream_out/hls/hls.c:801,1
    - Dst: hls_config_IsMemStorageEnabled
      Src: /src/vlc/modules/stream_out/hls/hls.c:803,1
    - Dst: hls_segment_queue_IsAtMaxCapacity
      Src: /src/vlc/modules/stream_out/hls/hls.c:804,1
    - Dst: hls_segment_GetFirst
      Src: /src/vlc/modules/stream_out/hls/hls.c:807,1
    - Dst: hls_storage_GetSize
      Src: /src/vlc/modules/stream_out/hls/hls.c:809,1
    - Dst: IsSegmentSelfDecodable
      Src: /src/vlc/modules/stream_out/hls/hls.c:812,1
    - Dst: hls_segment_queue_NewSegment
      Src: /src/vlc/modules/stream_out/hls/hls.c:814,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/hls/hls.c:816,1
    - Dst: vlc_error
      Src: /src/vlc/modules/stream_out/hls/hls.c:818,1
    - Dst: vlc_strerror
      Src: /src/vlc/modules/stream_out/hls/hls.c:821,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/stream_out/hls/hls.c:828,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/stream_out/hls/hls.c:835,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/stream_out/hls/hls.c:840,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/stream_out/hls/hls.c:844,1
    - Dst: UpdatePlaylistManifest
      Src: /src/vlc/modules/stream_out/hls/hls.c:848,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - playlist
    - sys
    argTypes:
    - hls_playlist_t*
    - sout_stream_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 783
    functionDepth: 3
    functionLinenumber: 783
    functionLinenumberEnd: 849
    functionName: ExtractAndAddSegment
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 0
    functionsReached:
    - hls_config_IsMemStorageEnabled
    - hls_segment_queue_IsAtMaxCapacity
    - hls_storage_GetSize
    - ExtractSegment
    - vlc_strerror
    - block_ChainProperties
    - vlc_warning
    - block_ChainRelease
    - SEC_FROM_VLC_TICK
    - hls_segment_queue_NewSegment
    - hls_segment_GetFirst
    - IsSegmentSelfDecodable
    - PrependSegmentBoxes
    - vlc_debug
    - UpdatePlaylistManifest
    - vlc_error
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int ExtractAndAddSegment(hls_playlist_t *playlist,\n                                sout_stream_sys_t
      *sys)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistCutFlag
      Src: /src/vlc/modules/stream_out/hls/hls.c:869,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - playlist
    - min_length
    - max_length
    argTypes:
    - hls_playlist_t*
    - vlc_tick_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 851
    functionDepth: 2
    functionLinenumber: 851
    functionLinenumberEnd: 878
    functionName: IsSegmentReady
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 0
    functionsReached:
    - PlaylistCutFlag
    linkageType: ''
    returnType: bool
    signature: "bool IsSegmentReady(const hls_playlist_t *playlist,\n                           vlc_tick_t
      min_length,\n                           vlc_tick_t max_length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/stream_out/hls/hls.c:883,1
    - Dst: hls_storage_FromBlocks
      Src: /src/vlc/modules/stream_out/hls/hls.c:889,1
    - Dst: vlc_error
      Src: /src/vlc/modules/stream_out/hls/hls.c:893,1
    - Dst: vlc_strerror
      Src: /src/vlc/modules/stream_out/hls/hls.c:895,1
    - Dst: httpd_UrlCatch
      Src: /src/vlc/modules/stream_out/hls/hls.c:901,1
    - Dst: hls_storage_Destroy
      Src: /src/vlc/modules/stream_out/hls/hls.c:908,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - playlist
    - content
    argTypes:
    - hls_playlist_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 910
    functionName: ReplaceInitSection
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 0
    functionsReached:
    - vlc_strerror
    - httpd_UrlCatch
    - strlen
    - hls_storage_FromBlocks
    - hls_storage_Destroy
    - vlc_error
    linkageType: ''
    returnType: void
    signature: void ReplaceInitSection(hls_playlist_t *playlist, block_t *content)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - chain
    - init_section
    argTypes:
    - block_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 930
    functionName: block_ChainExtractInitSection
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: block_t
    signature: block_t *block_ChainExtractInitSection(block_t *chain, block_t **init_section)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainExtractInitSection
      Src: /src/vlc/modules/stream_out/hls/hls.c:936,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/stream_out/hls/hls.c:938,1
    - Dst: ReplaceInitSection
      Src: /src/vlc/modules/stream_out/hls/hls.c:941,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - playlist
    - blocks
    argTypes:
    - hls_playlist_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 932
    functionDepth: 2
    functionLinenumber: 932
    functionLinenumberEnd: 946
    functionName: PlaylistExtractInitSection
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 0
    functionsReached:
    - block_ChainExtractInitSection
    - block_ChainAppend
    - ReplaceInitSection
    linkageType: ''
    returnType: block_t
    signature: "block_t *PlaylistExtractInitSection(hls_playlist_t *playlist,\n                                           block_t
      *blocks)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistExtractInitSection
      Src: /src/vlc/modules/stream_out/hls/hls.c:953,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/stream_out/hls/hls.c:958,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - playlist
    - blocks
    - output_duration
    argTypes:
    - hls_playlist_t*
    - block_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 948
    functionDepth: 3
    functionLinenumber: 948
    functionLinenumberEnd: 966
    functionName: PlaylistWriteMuxedOutput
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 0
    functionsReached:
    - PlaylistExtractInitSection
    - block_ChainLastAppend
    linkageType: ''
    returnType: void
    signature: "void PlaylistWriteMuxedOutput(hls_playlist_t *playlist,\n                                     block_t
      *blocks,\n                                     vlc_tick_t output_duration)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainProperties
      Src: /src/vlc/modules/stream_out/hls/hls.c:974,1
    - Dst: hls_config_IsMemStorageEnabled
      Src: /src/vlc/modules/stream_out/hls/hls.c:976,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/hls/hls.c:981,1
    - Dst: BYTES_TO_KB
      Src: /src/vlc/modules/stream_out/hls/hls.c:985,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_out/hls/hls.c:986,1
    - Dst: PlaylistWriteMuxedOutput
      Src: /src/vlc/modules/stream_out/hls/hls.c:997,1
    - Dst: IsSegmentReady
      Src: /src/vlc/modules/stream_out/hls/hls.c:999,1
    - Dst: IsSegmentReady
      Src: /src/vlc/modules/stream_out/hls/hls.c:1010,1
    - Dst: ExtractAndAddSegment
      Src: /src/vlc/modules/stream_out/hls/hls.c:1015,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - access
    - block
    argTypes:
    - sout_access_out_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 968
    functionDepth: 4
    functionLinenumber: 968
    functionLinenumberEnd: 1021
    functionName: AccessOutWrite
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 0
    functionsReached:
    - hls_config_IsMemStorageEnabled
    - block_ChainProperties
    - block_ChainRelease
    - PlaylistWriteMuxedOutput
    - msg_Err
    - BYTES_TO_KB
    - IsSegmentReady
    - ExtractAndAddSegment
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t AccessOutWrite(sout_access_out_t *access, block_t *block)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistWriteMuxedOutput
      Src: /src/vlc/modules/stream_out/hls/hls.c:997,1
    - Dst: IsSegmentReady
      Src: /src/vlc/modules/stream_out/hls/hls.c:999,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 993
    functionDepth: 4
    functionLinenumber: 993
    functionLinenumberEnd: 1003
    functionName: hls_playlists_foreach
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 0
    functionsReached:
    - PlaylistWriteMuxedOutput
    - IsSegmentReady
    linkageType: ''
    returnType: void
    signature: void hls_playlists_foreach(it)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsSegmentReady
      Src: /src/vlc/modules/stream_out/hls/hls.c:1010,1
    - Dst: ExtractAndAddSegment
      Src: /src/vlc/modules/stream_out/hls/hls.c:1015,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1008
    functionDepth: 4
    functionLinenumber: 1008
    functionLinenumberEnd: 1018
    functionName: hls_playlists_foreach
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 0
    functionsReached:
    - IsSegmentReady
    - ExtractAndAddSegment
    linkageType: ''
    returnType: void
    signature: void hls_playlists_foreach (it)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_create
      Src: /src/vlc/modules/stream_out/hls/hls.c:1025,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/hls/hls.c:1026,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/hls/hls.c:1029,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/hls/hls.c:1030,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/stream_out/hls/hls.c:1032,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1023
    functionDepth: 1
    functionLinenumber: 1023
    functionLinenumberEnd: 1046
    functionName: CreateAccessOut
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 2
    functionsReached:
    - unlikely
    - strdup
    - vlc_object_create
    - vlc_object_delete
    linkageType: ''
    returnType: sout_access_out_t
    signature: sout_access_out_t *CreateAccessOut(sout_stream_t *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/vlc/modules/stream_out/hls/hls.c:1052,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/hls/hls.c:1057,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - playlist
    - file_type
    argTypes:
    - hls_playlist_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1048
    functionDepth: 2
    functionLinenumber: 1048
    functionLinenumberEnd: 1060
    functionName: FormatPlaylistURL
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 0
    functionsReached:
    - asprintf
    - unlikely
    linkageType: ''
    returnType: char
    signature: "char *FormatPlaylistURL(const hls_playlist_t *playlist,\n                                      const
      char *file_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/hls/hls.c:1065,1
    - Dst: sout_MuxNew
      Src: /src/vlc/modules/stream_out/hls/hls.c:1066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - access
    - config
    argTypes:
    - sout_access_out_t*
    - struct hls_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1062
    functionDepth: 1
    functionLinenumber: 1062
    functionLinenumberEnd: 1067
    functionName: CreateFMP4Muxer
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 0
    functionsReached:
    - sout_MuxNew
    - VLC_UNUSED
    linkageType: ''
    returnType: sout_mux_t
    signature: "sout_mux_t *CreateFMP4Muxer(sout_access_out_t *access,\n                                   const
      struct hls_config *config)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sout_MuxNew
      Src: /src/vlc/modules/stream_out/hls/hls.c:1076,1
    - Dst: CreateFMP4Muxer
      Src: /src/vlc/modules/stream_out/hls/hls.c:1078,1
    - Dst: CreateSubtitleSegmenter
      Src: /src/vlc/modules/stream_out/hls/hls.c:1080,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - access
    - type
    - config
    argTypes:
    - sout_access_out_t*
    - enum hls_playlist_type
    - struct hls_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1069
    functionDepth: 2
    functionLinenumber: 1069
    functionLinenumberEnd: 1083
    functionName: CreatePlaylistMuxer
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 0
    functionsReached:
    - CreateFMP4Muxer
    - sout_MuxNew
    - CreateSubtitleSegmenter
    linkageType: ''
    returnType: sout_mux_t
    signature: "sout_mux_t *CreatePlaylistMuxer(sout_access_out_t *access,\n                                       enum
      hls_playlist_type type,\n                                       const struct
      hls_config *config)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/hls/hls.c:1090,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/hls/hls.c:1091,1
    - Dst: CreateAccessOut
      Src: /src/vlc/modules/stream_out/hls/hls.c:1094,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/hls/hls.c:1095,1
    - Dst: CreatePlaylistMuxer
      Src: /src/vlc/modules/stream_out/hls/hls.c:1098,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/hls/hls.c:1099,1
    - Dst: FormatPlaylistURL
      Src: /src/vlc/modules/stream_out/hls/hls.c:1109,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/hls/hls.c:1110,1
    - Dst: FormatPlaylistURL
      Src: /src/vlc/modules/stream_out/hls/hls.c:1113,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/hls/hls.c:1114,1
    - Dst: strlen
      Src: /src/vlc/modules/stream_out/hls/hls.c:1117,1
    - Dst: vlc_LogHeaderCreate
      Src: /src/vlc/modules/stream_out/hls/hls.c:1119,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/hls/hls.c:1120,1
    - Dst: hls_segment_queue_Init
      Src: /src/vlc/modules/stream_out/hls/hls.c:1129,1
    - Dst: hls_block_chain_Reset
      Src: /src/vlc/modules/stream_out/hls/hls.c:1131,1
    - Dst: httpd_UrlNew
      Src: /src/vlc/modules/stream_out/hls/hls.c:1138,1
    - Dst: httpd_UrlNew
      Src: /src/vlc/modules/stream_out/hls/hls.c:1142,1
    - Dst: UpdatePlaylistManifest
      Src: /src/vlc/modules/stream_out/hls/hls.c:1155,1
    - Dst: vlc_list_init
      Src: /src/vlc/modules/stream_out/hls/hls.c:1158,1
    - Dst: vlc_info
      Src: /src/vlc/modules/stream_out/hls/hls.c:1160,1
    - Dst: httpd_UrlDelete
      Src: /src/vlc/modules/stream_out/hls/hls.c:1165,1
    - Dst: httpd_UrlDelete
      Src: /src/vlc/modules/stream_out/hls/hls.c:1168,1
    - Dst: hls_segment_queue_Clear
      Src: /src/vlc/modules/stream_out/hls/hls.c:1170,1
    - Dst: vlc_LogDestroy
      Src: /src/vlc/modules/stream_out/hls/hls.c:1171,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/hls.c:1173,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/hls.c:1175,1
    - Dst: sout_MuxDelete
      Src: /src/vlc/modules/stream_out/hls/hls.c:1177,1
    - Dst: sout_AccessOutDelete
      Src: /src/vlc/modules/stream_out/hls/hls.c:1179,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/hls.c:1181,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 82
    argCount: 2
    argNames:
    - stream
    - type
    argTypes:
    - sout_stream_t*
    - enum hls_playlist_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1085
    functionDepth: 3
    functionLinenumber: 1085
    functionLinenumberEnd: 1183
    functionName: CreatePlaylist
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 0
    functionsReached:
    - FormatPlaylistURL
    - vlc_LogDestroy
    - hls_segment_queue_Init
    - vlc_info
    - httpd_UrlNew
    - sout_MuxDelete
    - sout_AccessOutDelete
    - CreatePlaylistMuxer
    - hls_block_chain_Reset
    - vlc_LogHeaderCreate
    - UpdatePlaylistManifest
    - httpd_UrlDelete
    - strlen
    - CreateAccessOut
    - free
    - vlc_list_init
    - hls_segment_queue_Clear
    - unlikely
    - malloc
    linkageType: ''
    returnType: hls_playlist_t
    signature: "hls_playlist_t *CreatePlaylist(sout_stream_t *stream,\n                                      enum
      hls_playlist_type type)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sout_MuxDelete
      Src: /src/vlc/modules/stream_out/hls/hls.c:1187,1
    - Dst: sout_AccessOutDelete
      Src: /src/vlc/modules/stream_out/hls/hls.c:1189,1
    - Dst: httpd_UrlDelete
      Src: /src/vlc/modules/stream_out/hls/hls.c:1192,1
    - Dst: httpd_UrlDelete
      Src: /src/vlc/modules/stream_out/hls/hls.c:1194,1
    - Dst: hls_storage_Destroy
      Src: /src/vlc/modules/stream_out/hls/hls.c:1197,1
    - Dst: hls_storage_Destroy
      Src: /src/vlc/modules/stream_out/hls/hls.c:1199,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_out/hls/hls.c:1201,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_out/hls/hls.c:1203,1
    - Dst: hls_segment_queue_Clear
      Src: /src/vlc/modules/stream_out/hls/hls.c:1204,1
    - Dst: vlc_list_remove
      Src: /src/vlc/modules/stream_out/hls/hls.c:1206,1
    - Dst: vlc_LogDestroy
      Src: /src/vlc/modules/stream_out/hls/hls.c:1208,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/hls.c:1209,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/hls.c:1210,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/hls.c:1212,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - playlist
    argTypes:
    - hls_playlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1185
    functionDepth: 1
    functionLinenumber: 1185
    functionLinenumberEnd: 1213
    functionName: DeletePlaylist
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 0
    functionsReached:
    - httpd_UrlDelete
    - block_ChainRelease
    - free
    - vlc_list_remove
    - hls_storage_Destroy
    - sout_MuxDelete
    - hls_segment_queue_Clear
    - sout_AccessOutDelete
    - vlc_LogDestroy
    linkageType: ''
    returnType: void
    signature: void DeletePlaylist(hls_playlist_t *playlist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreatePlaylist
      Src: /src/vlc/modules/stream_out/hls/hls.c:1219,1
    - Dst: vlc_list_append
      Src: /src/vlc/modules/stream_out/hls/hls.c:1223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - stream
    - type
    - head
    argTypes:
    - sout_stream_t*
    - enum hls_playlist_type
    - struct vlc_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1215
    functionDepth: 4
    functionLinenumber: 1215
    functionLinenumberEnd: 1228
    functionName: AddPlaylist
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 0
    functionsReached:
    - CreatePlaylist
    - vlc_list_append
    linkageType: ''
    returnType: hls_playlist_t
    signature: "hls_playlist_t *AddPlaylist(sout_stream_t *stream,\n                                   enum
      hls_playlist_type type,\n                                   struct vlc_list
      *head)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: hls_codec_IsSupported
      Src: /src/vlc/modules/stream_out/hls/hls.c:1233,1
    - Dst: hls_variant_map_FromESID
      Src: /src/vlc/modules/stream_out/hls/hls.c:1240,1
    - Dst: AddPlaylist
      Src: /src/vlc/modules/stream_out/hls/hls.c:1246,1
    - Dst: AddPlaylist
      Src: /src/vlc/modules/stream_out/hls/hls.c:1249,1
    - Dst: AddPlaylist
      Src: /src/vlc/modules/stream_out/hls/hls.c:1253,1
    - Dst: sout_MuxAddStream
      Src: /src/vlc/modules/stream_out/hls/hls.c:1258,1
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/hls/hls.c:1262,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/hls/hls.c:1263,1
    - Dst: vlc_list_append
      Src: /src/vlc/modules/stream_out/hls/hls.c:1273,1
    - Dst: GenerateMainManifest
      Src: /src/vlc/modules/stream_out/hls/hls.c:1276,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/hls/hls.c:1277,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/hls/hls.c:1279,1
    - Dst: vlc_strerror
      Src: /src/vlc/modules/stream_out/hls/hls.c:1280,1
    - Dst: vlc_list_remove
      Src: /src/vlc/modules/stream_out/hls/hls.c:1281,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/hls.c:1282,1
    - Dst: httpd_UrlCatch
      Src: /src/vlc/modules/stream_out/hls/hls.c:1288,1
    - Dst: hls_storage_Destroy
      Src: /src/vlc/modules/stream_out/hls/hls.c:1295,1
    - Dst: sout_MuxDeleteStream
      Src: /src/vlc/modules/stream_out/hls/hls.c:1304,1
    - Dst: vlc_list_is_empty
      Src: /src/vlc/modules/stream_out/hls/hls.c:1305,1
    - Dst: DeletePlaylist
      Src: /src/vlc/modules/stream_out/hls/hls.c:1306,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 3
    argNames:
    - stream
    - fmt
    - es_id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1230
    functionDepth: 5
    functionLinenumber: 1230
    functionLinenumberEnd: 1308
    functionName: Add
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 63
    functionsReached:
    - vlc_strerror
    - hls_codec_IsSupported
    - sout_MuxAddStream
    - vlc_list_append
    - httpd_UrlCatch
    - sout_MuxDeleteStream
    - msg_Err
    - AddPlaylist
    - GenerateMainManifest
    - vlc_list_remove
    - free
    - hls_storage_Destroy
    - vlc_list_is_empty
    - DeletePlaylist
    - hls_variant_map_FromESID
    - unlikely
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      Add(sout_stream_t *stream, const es_format_t *fmt, const char *es_id)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sout_MuxDeleteStream
      Src: /src/vlc/modules/stream_out/hls/hls.c:1318,1
    - Dst: vlc_list_remove
      Src: /src/vlc/modules/stream_out/hls/hls.c:1319,1
    - Dst: vlc_list_is_empty
      Src: /src/vlc/modules/stream_out/hls/hls.c:1321,1
    - Dst: hls_variant_map_FromPlaylist
      Src: /src/vlc/modules/stream_out/hls/hls.c:1323,1
    - Dst: ExtractAndAddSegment
      Src: /src/vlc/modules/stream_out/hls/hls.c:1329,1
    - Dst: UpdatePlaylistManifest
      Src: /src/vlc/modules/stream_out/hls/hls.c:1330,1
    - Dst: DeletePlaylist
      Src: /src/vlc/modules/stream_out/hls/hls.c:1332,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/hls.c:1335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - stream
    - id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1310
    functionDepth: 4
    functionLinenumber: 1310
    functionLinenumberEnd: 1336
    functionName: Del
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 49
    functionsReached:
    - sout_MuxDeleteStream
    - free
    - vlc_list_remove
    - vlc_list_is_empty
    - DeletePlaylist
    - UpdatePlaylistManifest
    - hls_variant_map_FromPlaylist
    - ExtractAndAddSegment
    linkageType: ''
    returnType: void
    signature: void Del(sout_stream_t *stream, void *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sout_MuxSendBuffer
      Src: /src/vlc/modules/stream_out/hls/hls.c:1341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - stream
    - id
    - frame
    argTypes:
    - sout_stream_t*
    - void*
    - vlc_frame_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1338
    functionDepth: 1
    functionLinenumber: 1338
    functionLinenumberEnd: 1343
    functionName: Send
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 96
    functionsReached:
    - sout_MuxSendBuffer
    linkageType: ''
    returnType: int
    signature: int Send(sout_stream_t *stream, void *id, vlc_frame_t *frame)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_list_foreach_const
      Src: /src/vlc/modules/stream_out/hls/hls.c:1358,1
    - Dst: hls_sub_segmenter_SignalStreamUpdate
      Src: /src/vlc/modules/stream_out/hls/hls.c:1363,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - stream
    - pcr
    argTypes:
    - sout_stream_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1346
    functionDepth: 1
    functionLinenumber: 1346
    functionLinenumberEnd: 1366
    functionName: SetPCR
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 40
    functionsReached:
    - vlc_list_foreach_const
    - hls_sub_segmenter_SignalStreamUpdate
    linkageType: ''
    returnType: void
    signature: void SetPCR(sout_stream_t *stream, vlc_tick_t pcr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/stream_out/hls/hls.c:1374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - stream
    - query
    - args
    argTypes:
    - sout_stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1368
    functionDepth: 0
    functionLinenumber: 1368
    functionLinenumberEnd: 1382
    functionName: Control
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 47
    functionsReached:
    - va_arg
    linkageType: ''
    returnType: int
    signature: int Control(sout_stream_t *stream, int query, va_list args)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_HostNew
      Src: /src/vlc/modules/stream_out/hls/hls.c:1387,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/hls/hls.c:1387,1
    - Dst: asprintf
      Src: /src/vlc/modules/stream_out/hls/hls.c:1392,1
    - Dst: httpd_UrlNew
      Src: /src/vlc/modules/stream_out/hls/hls.c:1395,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/hls.c:1396,1
    - Dst: httpd_HostDelete
      Src: /src/vlc/modules/stream_out/hls/hls.c:1401,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1384
    functionDepth: 2
    functionLinenumber: 1384
    functionLinenumberEnd: 1403
    functionName: InitHTTP
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 0
    functionsReached:
    - asprintf
    - httpd_HostDelete
    - vlc_http_HostNew
    - free
    - httpd_UrlNew
    - VLC_OBJECT
    linkageType: ''
    returnType: int
    signature: int InitHTTP(sout_stream_t *stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: httpd_UrlDelete
      Src: /src/vlc/modules/stream_out/hls/hls.c:1411,1
    - Dst: httpd_HostDelete
      Src: /src/vlc/modules/stream_out/hls/hls.c:1412,1
    - Dst: hls_storage_Destroy
      Src: /src/vlc/modules/stream_out/hls/hls.c:1416,1
    - Dst: hls_config_Clean
      Src: /src/vlc/modules/stream_out/hls/hls.c:1418,1
    - Dst: hls_variant_maps_Destroy
      Src: /src/vlc/modules/stream_out/hls/hls.c:1420,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/hls.c:1422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1405
    functionDepth: 2
    functionLinenumber: 1405
    functionLinenumberEnd: 1423
    functionName: Close
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 101
    functionsReached:
    - httpd_UrlDelete
    - httpd_HostDelete
    - hls_config_Clean
    - free
    - hls_storage_Destroy
    - hls_variant_maps_Destroy
    linkageType: ''
    returnType: void
    signature: void Close(sout_stream_t *stream)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/hls/hls.c:1431,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/hls/hls.c:1432,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/stream_out/hls/hls.c:1449,1
    - Dst: var_GetString
      Src: /src/vlc/modules/stream_out/hls/hls.c:1451,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/stream_out/hls/hls.c:1453,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/stream_out/hls/hls.c:1455,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/stream_out/hls/hls.c:1456,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/stream_out/hls/hls.c:1458,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/stream_out/hls/hls.c:1458,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/stream_out/hls/hls.c:1460,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/stream_out/hls/hls.c:1460,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/hls/hls.c:1464,1
    - Dst: BYTES_FROM_KB
      Src: /src/vlc/modules/stream_out/hls/hls.c:1470,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/stream_out/hls/hls.c:1470,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/stream_out/hls/hls.c:1474,1
    - Dst: hls_playlist_type_FromString
      Src: /src/vlc/modules/stream_out/hls/hls.c:1475,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/hls.c:1476,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/hls/hls.c:1480,1
    - Dst: vlc_vector_init
      Src: /src/vlc/modules/stream_out/hls/hls.c:1485,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/stream_out/hls/hls.c:1486,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/hls/hls.c:1489,1
    - Dst: hls_variant_maps_Parse
      Src: /src/vlc/modules/stream_out/hls/hls.c:1495,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/hls.c:1496,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/hls/hls.c:1500,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/stream_out/hls/hls.c:1506,1
    - Dst: InitHTTP
      Src: /src/vlc/modules/stream_out/hls/hls.c:1508,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/hls/hls.c:1519,1
    - Dst: vlc_list_init
      Src: /src/vlc/modules/stream_out/hls/hls.c:1530,1
    - Dst: vlc_list_init
      Src: /src/vlc/modules/stream_out/hls/hls.c:1531,1
    - Dst: hls_variant_maps_Destroy
      Src: /src/vlc/modules/stream_out/hls/hls.c:1550,1
    - Dst: hls_config_Clean
      Src: /src/vlc/modules/stream_out/hls/hls.c:1552,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/hls.c:1553,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 72
    argCount: 1
    argNames:
    - this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1427
    functionDepth: 3
    functionLinenumber: 1427
    functionLinenumberEnd: 1555
    functionName: Open
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.c
    functionUses: 31
    functionsReached:
    - var_GetString
    - hls_config_Clean
    - hls_variant_maps_Destroy
    - var_GetInteger
    - msg_Err
    - hls_variant_maps_Parse
    - msg_Warn
    - BYTES_FROM_KB
    - VLC_TICK_FROM_SEC
    - var_GetNonEmptyString
    - var_GetBool
    - vlc_vector_init
    - unlikely
    - config_ChainParse
    - free
    - vlc_list_init
    - InitHTTP
    - malloc
    - hls_playlist_type_FromString
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *this)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sout_MuxDeleteStream
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:56,1
    - Dst: sout_MuxDelete
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:58,1
    - Dst: sout_MuxNew
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:62,1
    - Dst: sout_MuxAddStream
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - segmenter
    - owner_input
    argTypes:
    - struct hls_sub_segmenter*
    - sout_input_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 72
    functionName: hls_sub_segmenter_ResetMuxer
    functionSourceFile: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c
    functionUses: 0
    functionsReached:
    - sout_MuxAddStream
    - sout_MuxNew
    - sout_MuxDeleteStream
    - sout_MuxDelete
    linkageType: ''
    returnType: int
    signature: "int hls_sub_segmenter_ResetMuxer(struct hls_sub_segmenter *segmenter,\n
      \                                       sout_input_t *owner_input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hls_sub_segmenter_ResetMuxer
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - segmenter
    - input
    argTypes:
    - struct hls_sub_segmenter*
    - sout_input_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: hls_sub_segmenter_EndSegment
    functionSourceFile: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c
    functionUses: 0
    functionsReached:
    - hls_sub_segmenter_ResetMuxer
    linkageType: ''
    returnType: int
    signature: "int hls_sub_segmenter_EndSegment(struct hls_sub_segmenter *segmenter,\n
      \                                       sout_input_t *input)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:84,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:85,1
    - Dst: block_heap_Alloc
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:88,1
    - Dst: strlen
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:88,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:89,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:94,1
    - Dst: hls_sub_segmenter_EndSegment
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - segmenter
    - input
    - len
    argTypes:
    - struct hls_sub_segmenter*
    - sout_input_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 98
    functionName: hls_sub_segmenter_EndEmptySegment
    functionSourceFile: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c
    functionUses: 0
    functionsReached:
    - strdup
    - strlen
    - sout_AccessOutWrite
    - hls_sub_segmenter_EndSegment
    - block_heap_Alloc
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int hls_sub_segmenter_EndEmptySegment(\n    struct hls_sub_segmenter
      *segmenter, sout_input_t *input, vlc_tick_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hls_sub_segmenter_ResetMuxer
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mux
    - input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: hls_sub_segmenter_Add
    functionSourceFile: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c
    functionUses: 0
    functionsReached:
    - hls_sub_segmenter_ResetMuxer
    linkageType: ''
    returnType: int
    signature: int hls_sub_segmenter_Add(sout_mux_t *mux, sout_input_t *input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sout_MuxSendBuffer
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - segmenter
    - spu
    argTypes:
    - struct hls_sub_segmenter*
    - vlc_frame_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: hls_sub_segmenter_MuxSend
    functionSourceFile: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c
    functionUses: 0
    functionsReached:
    - sout_MuxSendBuffer
    linkageType: ''
    returnType: int
    signature: "int hls_sub_segmenter_MuxSend(struct hls_sub_segmenter *segmenter,\n
      \                                    vlc_frame_t *spu)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fifo_IsEmpty
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:124,1
    - Dst: vlc_fifo_Get
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:127,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:128,1
    - Dst: hls_sub_segmenter_MuxSend
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:130,1
    - Dst: hls_sub_segmenter_EndEmptySegment
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:135,1
    - Dst: sout_MuxDeleteStream
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:140,1
    - Dst: sout_MuxDelete
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:142,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - mux
    - input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts:
    - condition: (ephemeral->i_length == VLC_TICK_INVALID)
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c
    constantsTouched: []
    func_position:
      end: 143
      start: 115
    functionDepth: 4
    functionLinenumber: 115
    functionLinenumberEnd: 143
    functionName: hls_sub_segmenter_Del
    functionSourceFile: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c
    functionUses: 0
    functionsReached:
    - vlc_fifo_IsEmpty
    - hls_sub_segmenter_MuxSend
    - assert
    - sout_MuxDeleteStream
    - hls_sub_segmenter_EndEmptySegment
    - vlc_fifo_Get
    - sout_MuxDelete
    linkageType: ''
    returnType: void
    signature: void hls_sub_segmenter_Del(sout_mux_t *mux, sout_input_t *input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_frame_Duplicate
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:147,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ephemeral
    - length
    argTypes:
    - vlc_frame_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: hls_sub_segmenter_CutEphemeral
    functionSourceFile: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c
    functionUses: 0
    functionsReached:
    - unlikely
    - vlc_frame_Duplicate
    linkageType: ''
    returnType: vlc_frame_t
    signature: vlc_frame_t * hls_sub_segmenter_CutEphemeral(vlc_frame_t *ephemeral,
      vlc_tick_t length)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fifo_IsEmpty
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:176,1
    - Dst: vlc_fifo_Show
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:178,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:181,1
    - Dst: hls_sub_segmenter_CutEphemeral
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:186,1
    - Dst: likely
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:187,1
    - Dst: hls_sub_segmenter_MuxSend
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:188,1
    - Dst: hls_sub_segmenter_EndSegment
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:193,1
    - Dst: hls_sub_segmenter_EndEmptySegment
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:197,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - mux
    - stream_time
    argTypes:
    - sout_mux_t*
    - vlc_tick_t
    assertStmts:
    - condition: (ephemeral->i_length == VLC_TICK_INVALID)
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c
    constantsTouched: []
    func_position:
      end: 199
      start: 162
    functionDepth: 4
    functionLinenumber: 162
    functionLinenumberEnd: 199
    functionName: hls_sub_segmenter_SignalStreamUpdate
    functionSourceFile: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c
    functionUses: 7
    functionsReached:
    - vlc_fifo_IsEmpty
    - hls_sub_segmenter_MuxSend
    - assert
    - hls_sub_segmenter_EndEmptySegment
    - vlc_fifo_Show
    - hls_sub_segmenter_EndSegment
    - likely
    - hls_sub_segmenter_CutEphemeral
    linkageType: ''
    returnType: void
    signature: "void hls_sub_segmenter_SignalStreamUpdate(sout_mux_t *mux,\n                                          vlc_tick_t
      stream_time)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hls_sub_segmenter_EndSegment
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:208,1
    - Dst: vlc_frame_Duplicate
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:213,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:214,1
    - Dst: vlc_frame_Release
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:216,1
    - Dst: hls_sub_segmenter_MuxSend
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:233,1
    - Dst: vlc_frame_Release
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:236,1
    - Dst: hls_sub_segmenter_EndSegment
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:239,1
    - Dst: hls_sub_segmenter_MuxSend
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - segmenter
    - owner_input
    - spu
    argTypes:
    - struct hls_sub_segmenter*
    - sout_input_t*
    - vlc_frame_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 242
    functionName: hls_sub_segmenter_ProcessSingleFrame
    functionSourceFile: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c
    functionUses: 0
    functionsReached:
    - vlc_frame_Release
    - hls_sub_segmenter_MuxSend
    - vlc_frame_Duplicate
    - hls_sub_segmenter_EndSegment
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int hls_sub_segmenter_ProcessSingleFrame(struct hls_sub_segmenter
      *segmenter,\n                                     sout_input_t *owner_input,\n
      \                                    vlc_frame_t *spu)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fifo_Lock
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:253,1
    - Dst: vlc_fifo_DequeueAllUnlocked
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:254,1
    - Dst: vlc_fifo_QueueUnlocked
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:264,1
    - Dst: hls_sub_segmenter_ProcessSingleFrame
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:276,1
    - Dst: vlc_frame_ChainRelease
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:279,1
    - Dst: vlc_fifo_Unlock
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:284,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - mux
    argTypes:
    - sout_mux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 244
    functionDepth: 4
    functionLinenumber: 244
    functionLinenumberEnd: 286
    functionName: hls_sub_segmenter_Process
    functionSourceFile: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c
    functionUses: 0
    functionsReached:
    - vlc_fifo_QueueUnlocked
    - vlc_fifo_Unlock
    - hls_sub_segmenter_ProcessSingleFrame
    - vlc_frame_ChainRelease
    - vlc_fifo_DequeueAllUnlocked
    - vlc_fifo_Lock
    linkageType: ''
    returnType: int
    signature: int hls_sub_segmenter_Process(sout_mux_t *mux)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - mux
    - query
    - args
    argTypes:
    - sout_mux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 296
    functionName: hls_sub_segmenter_Control
    functionSourceFile: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hls_sub_segmenter_Control(sout_mux_t *mux, int query, va_list args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_create
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:302,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:303,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:307,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:308,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 2
    argNames:
    - access
    - config
    argTypes:
    - sout_access_out_t*
    - struct hls_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 335
    functionName: CreateSubtitleSegmenter
    functionSourceFile: /src/vlc/modules/stream_out/hls/subtitles_segmenter.c
    functionUses: 2
    functionsReached:
    - unlikely
    - strdup
    - vlc_object_create
    - vlc_object_delete
    linkageType: ''
    returnType: sout_mux_t
    signature: "sout_mux_t *CreateSubtitleSegmenter(sout_access_out_t *access,\n                                    const
      struct hls_config *config)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_out/hls/storage.c:59,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/storage.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct storage_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: mem_storage_Destroy
    functionSourceFile: /src/vlc/modules/stream_out/hls/storage.c
    functionUses: 0
    functionsReached:
    - block_ChainRelease
    - free
    linkageType: ''
    returnType: void
    signature: void mem_storage_Destroy(struct storage_priv *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/stream_out/hls/storage.c:67,1
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/hls/storage.c:69,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/hls/storage.c:70,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/hls/storage.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - storage
    - dest
    argTypes:
    - hls_storage_t*
    - uint8_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 80
    functionName: mem_storage_GetContent
    functionSourceFile: /src/vlc/modules/stream_out/hls/storage.c
    functionUses: 0
    functionsReached:
    - memcpy
    - unlikely
    - malloc
    - container_of
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t mem_storage_GetContent(const hls_storage_t *storage,\n                                      uint8_t
      **dest)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/hls/storage.c:84,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/hls/storage.c:85,1
    - Dst: block_ChainProperties
      Src: /src/vlc/modules/stream_out/hls/storage.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - content
    - out
    argTypes:
    - block_t*
    - hls_storage_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 94
    functionName: mem_storage_FromBlock
    functionSourceFile: /src/vlc/modules/stream_out/hls/storage.c
    functionUses: 0
    functionsReached:
    - unlikely
    - malloc
    - block_ChainProperties
    linkageType: ''
    returnType: int
    signature: int mem_storage_FromBlock(block_t *content, hls_storage_t **out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/hls/storage.c:98,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/hls/storage.c:99,1
    - Dst: block_heap_Alloc
      Src: /src/vlc/modules/stream_out/hls/storage.c:102,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/hls/storage.c:103,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/storage.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - bytes
    - size
    - out
    argTypes:
    - void*
    - size_t
    - hls_storage_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 115
    functionName: mem_storage_FromBytes
    functionSourceFile: /src/vlc/modules/stream_out/hls/storage.c
    functionUses: 0
    functionsReached:
    - free
    - block_heap_Alloc
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int mem_storage_FromBytes(void *bytes, size_t size, hls_storage_t **out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/vlc/modules/stream_out/hls/storage.c:122,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - fd
    - buf
    - len
    argTypes:
    - int
    - uint8_t[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 135
    functionName: fs_storage_Read
    functionSourceFile: /src/vlc/modules/stream_out/hls/storage.c
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t fs_storage_Read(int fd, uint8_t buf[], size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/stream_out/hls/storage.c:141,1
    - Dst: vlc_open
      Src: /src/vlc/modules/stream_out/hls/storage.c:143,1
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/hls/storage.c:147,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/hls/storage.c:148,1
    - Dst: fs_storage_Read
      Src: /src/vlc/modules/stream_out/hls/storage.c:151,1
    - Dst: close
      Src: /src/vlc/modules/stream_out/hls/storage.c:155,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/storage.c:158,1
    - Dst: close
      Src: /src/vlc/modules/stream_out/hls/storage.c:159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - storage
    - dest
    argTypes:
    - hls_storage_t*
    - uint8_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 161
    functionName: fs_storage_GetContent
    functionSourceFile: /src/vlc/modules/stream_out/hls/storage.c
    functionUses: 0
    functionsReached:
    - vlc_open
    - container_of
    - fs_storage_Read
    - close
    - free
    - unlikely
    - malloc
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t fs_storage_GetContent(const hls_storage_t *storage,\n                                     uint8_t
      **dest)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_write
      Src: /src/vlc/modules/stream_out/hls/storage.c:168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - fd
    - data
    - len
    argTypes:
    - int
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 179
    functionName: fs_storage_Write
    functionSourceFile: /src/vlc/modules/stream_out/hls/storage.c
    functionUses: 0
    functionsReached:
    - vlc_write
    linkageType: ''
    returnType: int
    signature: int fs_storage_Write(int fd, const uint8_t *data, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/storage.c:183,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/storage.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct storage_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: fs_storage_Destroy
    functionSourceFile: /src/vlc/modules/stream_out/hls/storage.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void fs_storage_Destroy(struct storage_priv *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/vlc/modules/stream_out/hls/storage.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - outdir
    - storage_name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 195
    functionName: fs_storage_CreatePath
    functionSourceFile: /src/vlc/modules/stream_out/hls/storage.c
    functionUses: 0
    functionsReached:
    - asprintf
    linkageType: ''
    returnType: char
    signature: "char *fs_storage_CreatePath(const char *outdir,\n                                          const
      char *storage_name)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/hls/storage.c:205,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/hls/storage.c:206,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_out/hls/storage.c:208,1
    - Dst: fs_storage_CreatePath
      Src: /src/vlc/modules/stream_out/hls/storage.c:212,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/hls/storage.c:213,1
    - Dst: vlc_open
      Src: /src/vlc/modules/stream_out/hls/storage.c:219,1
    - Dst: fs_storage_Write
      Src: /src/vlc/modules/stream_out/hls/storage.c:229,1
    - Dst: close
      Src: /src/vlc/modules/stream_out/hls/storage.c:232,1
    - Dst: close
      Src: /src/vlc/modules/stream_out/hls/storage.c:238,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_out/hls/storage.c:239,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_out/hls/storage.c:248,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/storage.c:249,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/storage.c:250,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 4
    argNames:
    - content
    - config
    - hls_config
    - out
    argTypes:
    - block_t*
    - struct hls_storage_config*
    - struct hls_config*
    - hls_storage_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 197
    functionDepth: 3
    functionLinenumber: 197
    functionLinenumberEnd: 252
    functionName: fs_storage_FromBlock
    functionSourceFile: /src/vlc/modules/stream_out/hls/storage.c
    functionUses: 0
    functionsReached:
    - vlc_open
    - block_ChainRelease
    - close
    - free
    - fs_storage_CreatePath
    - fs_storage_Write
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: "int fs_storage_FromBlock(block_t *content,\n                     const
      struct hls_storage_config *config,\n                     const struct hls_config
      *hls_config,\n                     hls_storage_t **out)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/hls/storage.c:263,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/hls/storage.c:264,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/storage.c:266,1
    - Dst: fs_storage_CreatePath
      Src: /src/vlc/modules/stream_out/hls/storage.c:270,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/hls/storage.c:271,1
    - Dst: vlc_open
      Src: /src/vlc/modules/stream_out/hls/storage.c:277,1
    - Dst: fs_storage_Write
      Src: /src/vlc/modules/stream_out/hls/storage.c:284,1
    - Dst: close
      Src: /src/vlc/modules/stream_out/hls/storage.c:285,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/hls/storage.c:287,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/storage.c:294,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/storage.c:298,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/storage.c:299,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/storage.c:300,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 5
    argNames:
    - bytes
    - size
    - config
    - hls_config
    - out
    argTypes:
    - void*
    - size_t
    - struct hls_storage_config*
    - struct hls_config*
    - hls_storage_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 302
    functionName: fs_storage_FromBytes
    functionSourceFile: /src/vlc/modules/stream_out/hls/storage.c
    functionUses: 0
    functionsReached:
    - vlc_open
    - close
    - free
    - fs_storage_CreatePath
    - fs_storage_Write
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: "int fs_storage_FromBytes(void *bytes,\n                     size_t
      size,\n                     const struct hls_storage_config *config,\n                     const
      struct hls_config *hls_config,\n                     hls_storage_t **out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hls_config_IsMemStorageEnabled
      Src: /src/vlc/modules/stream_out/hls/storage.c:310,1
    - Dst: mem_storage_FromBlock
      Src: /src/vlc/modules/stream_out/hls/storage.c:311,1
    - Dst: fs_storage_FromBlock
      Src: /src/vlc/modules/stream_out/hls/storage.c:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - content
    - config
    - hls_config
    - out
    argTypes:
    - block_t*
    - struct hls_storage_config*
    - struct hls_config*
    - hls_storage_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 304
    functionDepth: 4
    functionLinenumber: 304
    functionLinenumberEnd: 318
    functionName: hls_storage_FromBlocks
    functionSourceFile: /src/vlc/modules/stream_out/hls/storage.c
    functionUses: 1
    functionsReached:
    - hls_config_IsMemStorageEnabled
    - fs_storage_FromBlock
    - mem_storage_FromBlock
    linkageType: ''
    returnType: int
    signature: "int hls_storage_FromBlocks(block_t *content,\n                           const
      struct hls_storage_config *config,\n                           const struct
      hls_config *hls_config,\n                           hls_storage_t **out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hls_config_IsMemStorageEnabled
      Src: /src/vlc/modules/stream_out/hls/storage.c:327,1
    - Dst: mem_storage_FromBytes
      Src: /src/vlc/modules/stream_out/hls/storage.c:328,1
    - Dst: fs_storage_FromBytes
      Src: /src/vlc/modules/stream_out/hls/storage.c:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - data
    - size
    - config
    - hls_config
    - out
    argTypes:
    - void*
    - size_t
    - struct hls_storage_config*
    - struct hls_config*
    - hls_storage_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 320
    functionDepth: 4
    functionLinenumber: 320
    functionLinenumberEnd: 335
    functionName: hls_storage_FromBytes
    functionSourceFile: /src/vlc/modules/stream_out/hls/storage.c
    functionUses: 1
    functionsReached:
    - hls_config_IsMemStorageEnabled
    - fs_storage_FromBytes
    - mem_storage_FromBytes
    linkageType: ''
    returnType: int
    signature: "int hls_storage_FromBytes(void *data,\n                          size_t
      size,\n                          const struct hls_storage_config *config,\n
      \                         const struct hls_config *hls_config,\n                          hls_storage_t
      **out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/stream_out/hls/storage.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - storage
    argTypes:
    - hls_storage_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 342
    functionName: hls_storage_GetSize
    functionSourceFile: /src/vlc/modules/stream_out/hls/storage.c
    functionUses: 1
    functionsReached:
    - container_of
    linkageType: ''
    returnType: size_t
    signature: size_t hls_storage_GetSize(const hls_storage_t *storage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/stream_out/hls/storage.c:347,1
    - Dst: struct storage_priv*::destroy
      Src: /src/vlc/modules/stream_out/hls/storage.c:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - storage
    argTypes:
    - hls_storage_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 349
    functionName: hls_storage_Destroy
    functionSourceFile: /src/vlc/modules/stream_out/hls/storage.c
    functionUses: 5
    functionsReached:
    - struct storage_priv*::destroy
    - container_of
    linkageType: ''
    returnType: void
    signature: void hls_storage_Destroy(hls_storage_t *storage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: httpd_UrlDelete
      Src: /src/vlc/modules/stream_out/hls/segments.c:40,1
    - Dst: hls_storage_Destroy
      Src: /src/vlc/modules/stream_out/hls/segments.c:41,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/segments.c:42,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/segments.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - segment
    argTypes:
    - hls_segment_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: hls_segment_Destroy
    functionSourceFile: /src/vlc/modules/stream_out/hls/segments.c
    functionUses: 0
    functionsReached:
    - free
    - hls_storage_Destroy
    - httpd_UrlDelete
    linkageType: ''
    returnType: void
    signature: void hls_segment_Destroy(hls_segment_t *segment)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/stream_out/hls/segments.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum hls_playlist_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 59
    functionName: hls_segment_queue_GetFileExtension
    functionSourceFile: /src/vlc/modules/stream_out/hls/segments.c
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    linkageType: ''
    returnType: char
    signature: 'char *

      hls_segment_queue_GetFileExtension(enum hls_playlist_type type)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/stream_out/hls/segments.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum hls_playlist_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 73
    functionName: hls_segment_queue_GetMIME
    functionSourceFile: /src/vlc/modules/stream_out/hls/segments.c
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    linkageType: ''
    returnType: char
    signature: char *hls_segment_queue_GetMIME(enum hls_playlist_type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hls_segment_queue_GetFileExtension
      Src: /src/vlc/modules/stream_out/hls/segments.c:86,1
    - Dst: hls_segment_queue_GetMIME
      Src: /src/vlc/modules/stream_out/hls/segments.c:87,1
    - Dst: vlc_list_init
      Src: /src/vlc/modules/stream_out/hls/segments.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - queue
    - config
    - hls_config
    argTypes:
    - hls_segment_queue_t*
    - struct hls_segment_queue_config*
    - struct hls_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 92
    functionName: hls_segment_queue_Init
    functionSourceFile: /src/vlc/modules/stream_out/hls/segments.c
    functionUses: 1
    functionsReached:
    - hls_segment_queue_GetMIME
    - hls_segment_queue_GetFileExtension
    - vlc_list_init
    linkageType: ''
    returnType: void
    signature: "void hls_segment_queue_Init(hls_segment_queue_t *queue,\n                            const
      struct hls_segment_queue_config *config,\n                            const
      struct hls_config *hls_config)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hls_segment_Destroy
      Src: /src/vlc/modules/stream_out/hls/segments.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - queue
    argTypes:
    - hls_segment_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: hls_segment_queue_Clear
    functionSourceFile: /src/vlc/modules/stream_out/hls/segments.c
    functionUses: 2
    functionsReached:
    - hls_segment_Destroy
    linkageType: ''
    returnType: void
    signature: void hls_segment_queue_Clear(hls_segment_queue_t *queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hls_segment_Destroy
      Src: /src/vlc/modules/stream_out/hls/segments.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: hls_segment_queue_Foreach
    functionSourceFile: /src/vlc/modules/stream_out/hls/segments.c
    functionUses: 0
    functionsReached:
    - hls_segment_Destroy
    linkageType: ''
    returnType: void
    signature: void hls_segment_queue_Foreach(queue, it)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/hls/segments.c:104,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/hls/segments.c:105,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_out/hls/segments.c:107,1
    - Dst: asprintf
      Src: /src/vlc/modules/stream_out/hls/segments.c:117,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_out/hls/segments.c:125,1
    - Dst: strlen
      Src: /src/vlc/modules/stream_out/hls/segments.c:130,1
    - Dst: hls_storage_FromBlocks
      Src: /src/vlc/modules/stream_out/hls/segments.c:133,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/hls/segments.c:135,1
    - Dst: httpd_UrlNew
      Src: /src/vlc/modules/stream_out/hls/segments.c:141,1
    - Dst: httpd_UrlCatch
      Src: /src/vlc/modules/stream_out/hls/segments.c:145,1
    - Dst: hls_segment_queue_IsAtMaxCapacity
      Src: /src/vlc/modules/stream_out/hls/segments.c:151,1
    - Dst: hls_segment_GetFirst
      Src: /src/vlc/modules/stream_out/hls/segments.c:153,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/hls/segments.c:154,1
    - Dst: vlc_list_remove
      Src: /src/vlc/modules/stream_out/hls/segments.c:155,1
    - Dst: hls_segment_Destroy
      Src: /src/vlc/modules/stream_out/hls/segments.c:156,1
    - Dst: vlc_list_append
      Src: /src/vlc/modules/stream_out/hls/segments.c:160,1
    - Dst: hls_storage_Destroy
      Src: /src/vlc/modules/stream_out/hls/segments.c:166,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/segments.c:167,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/segments.c:168,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 3
    argNames:
    - queue
    - content
    - length
    argTypes:
    - hls_segment_queue_t*
    - block_t*
    - vlc_tick_t
    assertStmts:
    - condition: (old != NULL)
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/vlc/modules/stream_out/hls/segments.c
    constantsTouched: []
    func_position:
      end: 170
      start: 100
    functionDepth: 5
    functionLinenumber: 100
    functionLinenumberEnd: 170
    functionName: hls_segment_queue_NewSegment
    functionSourceFile: /src/vlc/modules/stream_out/hls/segments.c
    functionUses: 1
    functionsReached:
    - hls_segment_queue_IsAtMaxCapacity
    - asprintf
    - assert
    - httpd_UrlCatch
    - vlc_list_append
    - block_ChainRelease
    - strlen
    - hls_storage_FromBlocks
    - hls_segment_GetFirst
    - vlc_list_remove
    - hls_storage_Destroy
    - free
    - httpd_UrlNew
    - hls_segment_Destroy
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: "int hls_segment_queue_NewSegment(hls_segment_queue_t *queue,\n                                 block_t
      *content,\n                                 vlc_tick_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - queue
    - ','
    - it
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: hls_segment_queue_Foreach
    functionSourceFile: /src/vlc/modules/stream_out/hls/segments.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hls_segment_queue_Foreach(queue, it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - queue
    - ','
    - it
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: hls_segment_queue_Foreach_const
    functionSourceFile: /src/vlc/modules/stream_out/hls/segments.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hls_segment_queue_Foreach_const(queue, it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - queue
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: hls_segment_GetFirst
    functionSourceFile: /src/vlc/modules/stream_out/hls/segments.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hls_segment_GetFirst(queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - queue
    argTypes:
    - hls_segment_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: hls_segment_queue_IsAtMaxCapacity
    functionSourceFile: /src/vlc/modules/stream_out/hls/segments.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hls_segment_queue_IsAtMaxCapacity(const hls_segment_queue_t *queue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/stream_out/hls/hls.h:42,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/hls/hls.h:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - str
    - out
    argTypes:
    - char*
    - enum hls_playlist_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 51
    functionName: hls_playlist_type_FromString
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.h
    functionUses: 1
    functionsReached:
    - strcmp
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: "int hls_playlist_type_FromString(const char *str,\n                                               enum
      hls_playlist_type *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: BYTES_FROM_KB
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTES_FROM_KB(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: BYTES_TO_KB
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTES_TO_KB(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/hls.h:70,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/hls/hls.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct hls_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: hls_config_Clean
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.h
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void hls_config_Clean(struct hls_config *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct hls_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: hls_config_IsMemStorageEnabled
    functionSourceFile: /src/vlc/modules/stream_out/hls/hls.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hls_config_IsMemStorageEnabled(const struct hls_config *config)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_iterator_init
      Src: /src/vlc/modules/stream_out/hls/codecs.c:38,1
    - Dst: hxxx_annexb_iterate_next
      Src: /src/vlc/modules/stream_out/hls/codecs.c:41,1
    - Dst: h264_getNALType
      Src: /src/vlc/modules/stream_out/hls/codecs.c:43,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/hls/codecs.c:54,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/stream_out/hls/codecs.c:61,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - ms
    - fmt
    argTypes:
    - struct vlc_memstream*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 34
    functionDepth: 4
    functionLinenumber: 34
    functionLinenumberEnd: 64
    functionName: FormatAVC
    functionSourceFile: /src/vlc/modules/stream_out/hls/codecs.c
    functionUses: 0
    functionsReached:
    - hxxx_annexb_iterate_next
    - h264_getNALType
    - hxxx_iterator_init
    - vlc_memstream_printf
    - unlikely
    linkageType: ''
    returnType: int
    signature: int FormatAVC(struct vlc_memstream *ms, const es_format_t *fmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: ReverseBits
    functionSourceFile: /src/vlc/modules/stream_out/hls/codecs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ReverseBits(uint32_t in)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/stream_out/hls/codecs.c:82,1
    - Dst: hxxx_iterator_init
      Src: /src/vlc/modules/stream_out/hls/codecs.c:87,1
    - Dst: hxxx_annexb_iterate_next
      Src: /src/vlc/modules/stream_out/hls/codecs.c:90,1
    - Dst: hevc_getNALType
      Src: /src/vlc/modules/stream_out/hls/codecs.c:92,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/hls/codecs.c:106,1
    - Dst: hxxx_bsfw_ep3b_ctx_init
      Src: /src/vlc/modules/stream_out/hls/codecs.c:111,1
    - Dst: bs_init_custom
      Src: /src/vlc/modules/stream_out/hls/codecs.c:113,1
    - Dst: bs_skip
      Src: /src/vlc/modules/stream_out/hls/codecs.c:117,1
    - Dst: bs_read
      Src: /src/vlc/modules/stream_out/hls/codecs.c:120,1
    - Dst: bs_read1
      Src: /src/vlc/modules/stream_out/hls/codecs.c:121,1
    - Dst: bs_read
      Src: /src/vlc/modules/stream_out/hls/codecs.c:122,1
    - Dst: ReverseBits
      Src: /src/vlc/modules/stream_out/hls/codecs.c:123,1
    - Dst: bs_read
      Src: /src/vlc/modules/stream_out/hls/codecs.c:123,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/stream_out/hls/codecs.c:127,1
    - Dst: bs_read
      Src: /src/vlc/modules/stream_out/hls/codecs.c:129,1
    - Dst: bs_read
      Src: /src/vlc/modules/stream_out/hls/codecs.c:132,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/stream_out/hls/codecs.c:134,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/stream_out/hls/codecs.c:146,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - ms
    - fmt
    argTypes:
    - struct vlc_memstream*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 80
    functionDepth: 4
    functionLinenumber: 80
    functionLinenumberEnd: 151
    functionName: FormatHEVC
    functionSourceFile: /src/vlc/modules/stream_out/hls/codecs.c
    functionUses: 0
    functionsReached:
    - hxxx_bsfw_ep3b_ctx_init
    - hxxx_annexb_iterate_next
    - bs_skip
    - vlc_memstream_puts
    - bs_read1
    - hevc_getNALType
    - hxxx_iterator_init
    - bs_init_custom
    - ARRAY_SIZE
    - vlc_memstream_printf
    - bs_read
    - ReverseBits
    - unlikely
    linkageType: ''
    returnType: int
    signature: int FormatHEVC(struct vlc_memstream *ms, const es_format_t *fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/stream_out/hls/codecs.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ms
    - fmt
    argTypes:
    - struct vlc_memstream*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: FormatMP4A
    functionSourceFile: /src/vlc/modules/stream_out/hls/codecs.c
    functionUses: 0
    functionsReached:
    - vlc_memstream_printf
    linkageType: ''
    returnType: int
    signature: int FormatMP4A(struct vlc_memstream *ms, const es_format_t *fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/stream_out/hls/codecs.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ms
    argTypes:
    - struct vlc_memstream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: FormatWebVTT
    functionSourceFile: /src/vlc/modules/stream_out/hls/codecs.c
    functionUses: 0
    functionsReached:
    - vlc_memstream_puts
    linkageType: ''
    returnType: int
    signature: int FormatWebVTT(struct vlc_memstream *ms)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FormatAVC
      Src: /src/vlc/modules/stream_out/hls/codecs.c:171,1
    - Dst: FormatHEVC
      Src: /src/vlc/modules/stream_out/hls/codecs.c:173,1
    - Dst: FormatMP4A
      Src: /src/vlc/modules/stream_out/hls/codecs.c:175,1
    - Dst: FormatWebVTT
      Src: /src/vlc/modules/stream_out/hls/codecs.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - ms
    - fmt
    argTypes:
    - struct vlc_memstream*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 166
    functionDepth: 5
    functionLinenumber: 166
    functionLinenumberEnd: 182
    functionName: hls_codec_Format
    functionSourceFile: /src/vlc/modules/stream_out/hls/codecs.c
    functionUses: 2
    functionsReached:
    - FormatWebVTT
    - FormatMP4A
    - FormatAVC
    - FormatHEVC
    linkageType: ''
    returnType: int
    signature: int hls_codec_Format(struct vlc_memstream *ms, const es_format_t *fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: hls_codec_IsSupported
    functionSourceFile: /src/vlc/modules/stream_out/hls/codecs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hls_codec_IsSupported(const es_format_t *fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:63,1
    - Dst: static_cast<struct chromecast_ctrl_json *>
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:65,1
    - Dst: vlc_error
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - msg
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: json_parse_error
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - vlc_error
    - static_cast<struct chromecast_ctrl_json *>
    - vlc_assert
    linkageType: ''
    returnType: void
    signature: void json_parse_error(void *data, const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:71,1
    - Dst: vlc_assert
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:72,1
    - Dst: static_cast<struct chromecast_ctrl_json *>
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:74,1
    - Dst: strlen
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:75,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - data
    - buf
    - size
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 83
    functionName: json_read
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - strlen
    - static_cast<struct chromecast_ctrl_json *>
    - memcpy
    - vlc_assert
    linkageType: ''
    returnType: size_t
    signature: size_t json_read(void *data, void *buf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_get_str
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - obj
    - key
    argTypes:
    - struct json_object*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: json_get_str_view
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - json_get_str
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view json_get_str_view(const struct json_object *obj, const
      char *key)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 1
    argNames:
    - s
    argTypes:
    - States
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 130
    functionName: StateToStr
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    linkageType: ''
    returnType: char
    signature: char * StateToStr( States s )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:140,1
    - Dst: intf_sys_t::getHttpStreamPath
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:168,1
    - Dst: intf_sys_t::getHttpStreamPort
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:168,1
    - Dst: c_str
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:169,1
    - Dst: ChromecastCommunication::ChromecastCommunication
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:167,1
    - Dst: vlc_interrupt_create
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:171,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:172,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:173,1
    - Dst: getServerBaseURL
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:175,1
    - Dst: var_GetString
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:177,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:181,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:193,1
    - Dst: var_Type
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:193,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:193,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:193,1
    - Dst: var_Create
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:194,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:194,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:194,1
    - Dst: var_SetAddress
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:195,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:195,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:195,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:198,1
    - Dst: vlc_interrupt_destroy
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:200,1
    - Dst: var_SetAddress
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:201,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:201,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:201,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:202,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 5
    argNames:
    - p_this
    - port
    - device_addr
    - device_port
    - httpd_host
    argTypes:
    - vlc_object_t*
    - int
    - std::string
    - int
    - httpd_host_t*
    assertStmts:
    - condition: ( var_Type( vlc_object_parent(vlc_object_parent(m_module)), CC_SHARED_VAR_NAME)
        == 0 )
      pos:
        line_end: 192
        line_start: 192
        source_file: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    constantsTouched: []
    func_position:
      end: 204
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 204
    functionName: intf_sys_t::intf_sys_t
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - vlc_interrupt_destroy
    - assert
    - vlc_object_parent
    - var_GetString
    - intf_sys_t::getHttpStreamPort
    - ChromecastCommunication::ChromecastCommunication
    - vlc_interrupt_create
    - var_SetAddress
    - vlc_clone
    - _
    - var_Create
    - intf_sys_t::getHttpStreamPath
    - free
    - c_str
    - var_Type
    - getServerBaseURL
    - unlikely
    - std::runtime_error
    linkageType: ''
    returnType: void
    signature: "void intf_sys_t::intf_sys_t(vlc_object_t * const p_this, int port,
      std::string device_addr,\n                       int device_port, httpd_host_t
      *httpd_host)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: var_Destroy
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:208,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:208,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:208,1
    - Dst: lock
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:210,1
    - Dst: msgReceiverClose
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:223,1
    - Dst: msgReceiverClose
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:228,1
    - Dst: unlock
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:234,1
    - Dst: vlc_interrupt_kill
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:235,1
    - Dst: vlc_join
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:236,1
    - Dst: unlock
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:241,1
    - Dst: vlc_interrupt_destroy
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:243,1
    - Dst: vlc_meta_Delete
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:246,1
    - Dst: httpd_FileDelete
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:249,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 252
    functionName: intf_sys_t::~intf_sys_t()
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - vlc_meta_Delete
    - var_Destroy
    - vlc_object_parent
    - vlc_interrupt_kill
    - vlc_interrupt_destroy
    - lock
    - free
    - vlc_join
    - httpd_FileDelete
    - unlock
    - msgReceiverClose
    linkageType: ''
    returnType: void
    signature: void intf_sys_t::~intf_sys_t()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: intf_sys_t::preservePlaybackOnTeardown
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void intf_sys_t::preservePlaybackOnTeardown()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:262,1
    - Dst: vlc_join
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:266,1
    - Dst: intf_sys_t::getHttpStreamPath
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:274,1
    - Dst: intf_sys_t::getHttpStreamPort
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:275,1
    - Dst: c_str
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:276,1
    - Dst: ChromecastCommunication::ChromecastCommunication
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:273,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:280,1
    - Dst: what
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:280,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( m_state == Dead )
      pos:
        line_end: 261
        line_start: 261
        source_file: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    constantsTouched: []
    func_position:
      end: 292
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 292
    functionName: intf_sys_t::reinit
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - assert
    - intf_sys_t::getHttpStreamPort
    - ChromecastCommunication::ChromecastCommunication
    - vlc_clone
    - what
    - intf_sys_t::getHttpStreamPath
    - vlc_join
    - c_str
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: void intf_sys_t::reinit()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:303,1
    - Dst: vlc_stream_NewURL
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:306,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:307,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:312,1
    - Dst: INT64_C
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:313,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:315,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:316,1
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:320,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:323,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:327,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:328,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:332,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - pp_data
    - pi_data
    argTypes:
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 339
    functionName: intf_sys_t::httpd_file_fill
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - strdup
    - INT64_C
    - vlc_stream_Delete
    - free
    - vlc_stream_Read
    - msg_Warn
    - malloc
    - vlc_stream_GetSize
    - vlc_stream_NewURL
    linkageType: ''
    returnType: int
    signature: int intf_sys_t::httpd_file_fill( uint8_t *, uint8_t **pp_data, size_t
      *pi_data )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<intf_sys_t*>
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:344,1
    - Dst: intf_sys_t*::httpd_file_fill
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - psz_request
    - pp_data
    - pi_data
    argTypes:
    - httpd_file_sys_t*
    - uint8_t*
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 346
    functionName: httpd_file_fill_cb
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<intf_sys_t*>
    - intf_sys_t*::httpd_file_fill
    linkageType: ''
    returnType: int
    signature: "int httpd_file_fill_cb( httpd_file_sys_t *data, httpd_file_t *,\n
      \                         uint8_t *psz_request, uint8_t **pp_data, size_t *pi_data
      )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_meta_Get
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:350,1
    - Dst: strncmp
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:352,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:357,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:360,1
    - Dst: intf_sys_t::getHttpArtRoot
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:361,1
    - Dst: intf_sys_t::getHttpArtRoot
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:368,1
    - Dst: unlock
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:371,1
    - Dst: httpd_FileDelete
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:374,1
    - Dst: httpd_FileNew
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:375,1
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:375,1
    - Dst: lock
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:379,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:383,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:384,1
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:388,1
    - Dst: vlc_meta_Set
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:389,1
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:389,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( m_art_idx != 0 )
      pos:
        line_end: 359
        line_start: 359
        source_file: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    constantsTouched: []
    func_position:
      end: 390
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 390
    functionName: intf_sys_t::prepareHttpArtwork
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - vlc_meta_Set
    - assert
    - strdup
    - intf_sys_t::getHttpArtRoot
    - std::stringstream::str
    - strncmp
    - strcmp
    - lock
    - httpd_FileDelete
    - free
    - unlock
    - httpd_FileNew
    - vlc_meta_Get
    linkageType: ''
    returnType: void
    signature: void intf_sys_t::prepareHttpArtwork()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: intf_sys_t::isStateReady
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:397,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:401,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:406,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:407,1
    - Dst: msgReceiverLaunchApp
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:410,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:418,1
    - Dst: empty
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:418,1
    - Dst: msgPlayerLoad
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:422,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( m_communication )
      pos:
        line_end: 405
        line_start: 405
        source_file: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    - condition: ( m_appTransportId.empty() == false )
      pos:
        line_end: 417
        line_start: 417
        source_file: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    constantsTouched: []
    func_position:
      end: 425
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 425
    functionName: intf_sys_t::tryLoad
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - assert
    - msgPlayerLoad
    - msgReceiverLaunchApp
    - intf_sys_t::isStateReady
    - empty
    - msg_Dbg
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: void intf_sys_t::tryLoad()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 431
    functionName: intf_sys_t::setRetryOnFail
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void intf_sys_t::setRetryOnFail( bool enabled )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:436,1
    - Dst: intf_sys_t::reinit
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:439,1
    - Dst: std::swap
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:445,1
    - Dst: intf_sys_t::prepareHttpArtwork
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:447,1
    - Dst: intf_sys_t::tryLoad
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:460,1
    - Dst: signal
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - mime_type
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 463
    functionName: intf_sys_t::setHasInput
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - intf_sys_t::tryLoad
    - intf_sys_t::reinit
    - intf_sys_t::prepareHttpArtwork
    - msg_Dbg
    - std::swap
    - signal
    linkageType: ''
    returnType: void
    signature: void intf_sys_t::setHasInput( const std::string mime_type )
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 476
    functionName: intf_sys_t::isStateError
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool intf_sys_t::isStateError() const
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 490
    functionName: intf_sys_t::isStatePlaying
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool intf_sys_t::isStatePlaying() const
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 507
    functionName: intf_sys_t::isStateReady
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool intf_sys_t::isStateReady() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - do_pace
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 516
    functionName: intf_sys_t::setPacing
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - signal
    linkageType: ''
    returnType: void
    signature: void intf_sys_t::setPacing(bool do_pace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<intf_sys_t*>
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:520,1
    - Dst: intf_sys_t*::interrupt_wake_up
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 522
    functionName: interrupt_wake_up_cb
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - intf_sys_t*::interrupt_wake_up
    - static_cast<intf_sys_t*>
    linkageType: ''
    returnType: void
    signature: void interrupt_wake_up_cb( void *data )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 529
    functionName: intf_sys_t::interrupt_wake_up
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - signal
    linkageType: ''
    returnType: void
    signature: void intf_sys_t::interrupt_wake_up()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_interrupt_register
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:536,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:538,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:538,1
    - Dst: intf_sys_t::isFinishedPlaying
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:543,1
    - Dst: timedwait
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:544,1
    - Dst: vlc_interrupt_unregister
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:546,1
    - Dst: intf_sys_t::isStateError
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:550,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 561
    functionName: intf_sys_t::pace
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - VLC_TICK_FROM_MS
    - intf_sys_t::isStateError
    - intf_sys_t::isFinishedPlaying
    - vlc_interrupt_register
    - vlc_interrupt_unregister
    - timedwait
    linkageType: ''
    returnType: int
    signature: int intf_sys_t::pace()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: on_input_event
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:590,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - event
    - arg
    argTypes:
    - enum cc_input_event
    - union cc_input_arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 591
    functionName: intf_sys_t::sendInputEvent
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - on_input_event
    linkageType: ''
    returnType: void
    signature: void intf_sys_t::sendInputEvent(enum cc_input_event event, union cc_input_arg
      arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: castchannel::CastMessage::namespace_
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:601,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:604,1
    - Dst: c_str
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:604,1
    - Dst: castchannel::CastMessage::destination_id
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:604,1
    - Dst: castchannel::CastMessage::payload_utf8
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:604,1
    - Dst: intf_sys_t::processAuthMessage
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:608,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:615,1
    - Dst: c_str
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:615,1
    - Dst: castchannel::CastMessage::payload_utf8
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:621,1
    - Dst: json_parse
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:624,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:626,1
    - Dst: intf_sys_t::processHeartBeatMessage
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:632,1
    - Dst: intf_sys_t::processReceiverMessage
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:634,1
    - Dst: intf_sys_t::processMediaMessage
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:636,1
    - Dst: intf_sys_t::processConnectionMessage
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:638,1
    - Dst: json_free
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:640,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - msg
    argTypes:
    - castchannel::CastMessage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 642
    functionName: intf_sys_t::processMessage
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - intf_sys_t::processHeartBeatMessage
    - intf_sys_t::processConnectionMessage
    - json_parse
    - json_free
    - intf_sys_t::processReceiverMessage
    - castchannel::CastMessage::payload_utf8
    - msg_Dbg
    - castchannel::CastMessage::namespace_
    - c_str
    - msg_Warn
    - castchannel::CastMessage::destination_id
    - intf_sys_t::processMediaMessage
    - intf_sys_t::processAuthMessage
    linkageType: ''
    returnType: bool
    signature: bool intf_sys_t::processMessage(const castchannel::CastMessage &msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:647,1
    - Dst: vlc_interrupt_raise
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - QueueableMessages
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 649
    functionName: intf_sys_t::queueMessage
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - push
    - vlc_interrupt_raise
    linkageType: ''
    returnType: void
    signature: void intf_sys_t::queueMessage( QueueableMessages msg )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:659,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:660,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:660,1
    - Dst: std::ostringstream::str
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:662,1
    - Dst: httpd_UrlNew
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:663,1
    - Dst: c_str
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:663,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:669,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - host
    - port
    argTypes:
    - httpd_host_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 670
    functionName: intf_sys_t::httpd_info_t::httpd_info_t( httpd_host_t* host, int
      port )
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - static_cast<uint64_t>
    - vlc_mrand48
    - httpd_UrlNew
    - c_str
    - std::ostringstream::str
    - std::runtime_error
    linkageType: ''
    returnType: void
    signature: void intf_sys_t::httpd_info_t::httpd_info_t( httpd_host_t* host, int
      port )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: httpd_UrlDelete
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 677
    functionName: intf_sys_t::httpd_info_t::~httpd_info_t()
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - httpd_UrlDelete
    linkageType: ''
    returnType: void
    signature: void intf_sys_t::httpd_info_t::~httpd_info_t()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:684,1
    - Dst: static_cast<intf_sys_t*>
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:686,1
    - Dst: intf_sys_t*::mainLoop
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 689
    functionName: intf_sys_t::ChromecastThread
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<intf_sys_t*>
    - intf_sys_t*::mainLoop
    - vlc_thread_set_name
    linkageType: ''
    returnType: void
    signature: void * intf_sys_t::ChromecastThread(void* p_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:693,1
    - Dst: vlc_interrupt_set
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:694,1
    - Dst: msgAuth
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:697,1
    - Dst: vlc_killed
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:699,1
    - Dst: intf_sys_t::handleMessages
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:701,1
    - Dst: vlc_interrupt_unregister
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:705,1
    - Dst: empty
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:707,1
    - Dst: front
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:709,1
    - Dst: intf_sys_t::doStop
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:713,1
    - Dst: pop
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:716,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 719
    functionName: intf_sys_t::mainLoop
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - intf_sys_t::handleMessages
    - msgAuth
    - pop
    - empty
    - vlc_interrupt_unregister
    - intf_sys_t::doStop
    - vlc_interrupt_set
    - vlc_savecancel
    - vlc_killed
    - front
    linkageType: ''
    returnType: void
    signature: void intf_sys_t::mainLoop()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: castchannel::DeviceAuthMessage::ParseFromString
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:724,1
    - Dst: payload_binary
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:724,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:726,1
    - Dst: castchannel::DeviceAuthMessage::has_error
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:730,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:732,1
    - Dst: castchannel::DeviceAuthMessage::error
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:732,1
    - Dst: castchannel::DeviceAuthMessage::has_response
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:734,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:736,1
    - Dst: intf_sys_t::setState
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:741,1
    - Dst: msgConnect
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:742,1
    - Dst: msgReceiverGetStatus
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:743,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - castchannel::CastMessage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 745
    functionName: intf_sys_t::processAuthMessage
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 1
    functionsReached:
    - payload_binary
    - msgConnect
    - msgReceiverGetStatus
    - castchannel::DeviceAuthMessage::ParseFromString
    - msg_Err
    - castchannel::DeviceAuthMessage::has_response
    - msg_Warn
    - castchannel::DeviceAuthMessage::error
    - castchannel::DeviceAuthMessage::has_error
    - intf_sys_t::setState
    linkageType: ''
    returnType: void
    signature: void intf_sys_t::processAuthMessage( const castchannel::CastMessage&
      msg )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:749,1
    - Dst: json_get_str_view
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:750,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:753,1
    - Dst: msgPong
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:754,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:758,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:763,1
    - Dst: std::string_view::data
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:763,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ' msg'
    - entry
    argTypes:
    - castchannel::CastMessage
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 747
    functionDepth: 2
    functionLinenumber: 747
    functionLinenumberEnd: 765
    functionName: intf_sys_t::processHeartBeatMessage
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 1
    functionsReached:
    - msgPong
    - json_get_str_view
    - std::string_view::data
    - msg_Dbg
    - msg_Warn
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void intf_sys_t::processHeartBeatMessage( const castchannel::CastMessage&
      msg , const struct json_object *entry )
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: json_get_str_view
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:769,1
    - Dst: json_get
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:774,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:776,1
    - Dst: json_get
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:779,1
    - Dst: json_get_str
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:784,1
    - Dst: json_get_str
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:785,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:786,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:805,1
    - Dst: json_get_str_view
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:806,1
    - Dst: msgConnect
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:807,1
    - Dst: intf_sys_t::setState
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:808,1
    - Dst: intf_sys_t::setState
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:812,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:819,1
    - Dst: json_get_str_view
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:820,1
    - Dst: msgConnect
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:821,1
    - Dst: intf_sys_t::setState
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:822,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:833,1
    - Dst: intf_sys_t::setState
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:834,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:846,1
    - Dst: StateToStr
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:848,1
    - Dst: msgPlayerGetStatus
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:852,1
    - Dst: json_get_str
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:858,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:859,1
    - Dst: intf_sys_t::setState
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:864,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:869,1
    - Dst: payload_utf8
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:870,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 68
    argCount: 2
    argNames:
    - ' msg'
    - entry
    argTypes:
    - castchannel::CastMessage
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 767
    functionDepth: 2
    functionLinenumber: 767
    functionLinenumberEnd: 874
    functionName: intf_sys_t::processReceiverMessage
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 1
    functionsReached:
    - json_get_str
    - msgConnect
    - json_get_str_view
    - msgPlayerGetStatus
    - payload_utf8
    - msg_Err
    - strcmp
    - StateToStr
    - msg_Dbg
    - msg_Warn
    - json_get
    - intf_sys_t::setState
    linkageType: ''
    returnType: bool
    signature: bool intf_sys_t::processReceiverMessage( const castchannel::CastMessage&
      msg , const struct json_object *entry )
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: json_get_str_view
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:878,1
    - Dst: json_get_num
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:879,1
    - Dst: json_get
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:889,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:894,1
    - Dst: json_get_num
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:897,1
    - Dst: json_get_str_view
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:898,1
    - Dst: json_get_str_view
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:899,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:901,1
    - Dst: std::string_view::data
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:902,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:906,1
    - Dst: std::string_view::empty
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:910,1
    - Dst: intf_sys_t::setState
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:931,1
    - Dst: intf_sys_t::setState
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:936,1
    - Dst: intf_sys_t::setState
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:938,1
    - Dst: intf_sys_t::setState
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:943,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:952,1
    - Dst: msgPlayerStop
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:959,1
    - Dst: intf_sys_t::setState
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:960,1
    - Dst: intf_sys_t::timeCCToVLC
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:965,1
    - Dst: json_get_num
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:965,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:968,1
    - Dst: intf_sys_t::setState
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:970,1
    - Dst: intf_sys_t::setState
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:982,1
    - Dst: intf_sys_t::setState
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:989,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:996,1
    - Dst: intf_sys_t::setState
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:997,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1001,1
    - Dst: std::string_view::data
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1001,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1006,1
    - Dst: intf_sys_t::setState
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1007,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1011,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1015,1
    - Dst: json_get_str
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1015,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1019,1
    - Dst: payload_utf8
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1020,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 79
    argCount: 2
    argNames:
    - ' msg'
    - entry
    argTypes:
    - castchannel::CastMessage
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 876
    functionDepth: 2
    functionLinenumber: 876
    functionLinenumberEnd: 1023
    functionName: intf_sys_t::processMediaMessage
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 1
    functionsReached:
    - json_get_str
    - vlc_tick_now
    - msgPlayerStop
    - std::string_view::empty
    - json_get_str_view
    - payload_utf8
    - std::string_view::data
    - intf_sys_t::timeCCToVLC
    - msg_Err
    - msg_Dbg
    - msg_Warn
    - json_get
    - json_get_num
    - intf_sys_t::setState
    linkageType: ''
    returnType: void
    signature: void intf_sys_t::processMediaMessage( const castchannel::CastMessage&
      msg , const struct json_object *entry )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_get_str_view
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1027,1
    - Dst: intf_sys_t::setState
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1036,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1040,1
    - Dst: std::string_view::data
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1041,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1025
    functionDepth: 2
    functionLinenumber: 1025
    functionLinenumberEnd: 1043
    functionName: intf_sys_t::processConnectionMessage
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 1
    functionsReached:
    - json_get_str_view
    - std::string_view::data
    - intf_sys_t::setState
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: void intf_sys_t::processConnectionMessage( const castchannel::CastMessage&
      , const struct json_object *entry )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1051,1
    - Dst: receive
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1062,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1064,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1064,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1071,1
    - Dst: intf_sys_t::setState
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1073,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1083,1
    - Dst: msgPing
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1087,1
    - Dst: msgReceiverGetStatus
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1088,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1091,1
    - Dst: U32_AT
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1095,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1098,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1105,1
    - Dst: castchannel::CastMessage::ParseFromArray
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1110,1
    - Dst: intf_sys_t::processMessage
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1111,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( i_ret != 0 )
      pos:
        line_end: 1090
        line_start: 1090
        source_file: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    - condition: ( i_received <= i_payloadSize + PACKET_HEADER_LEN )
      pos:
        line_end: 1104
        line_start: 1104
        source_file: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    constantsTouched: []
    func_position:
      end: 1112
      start: 1045
    functionDepth: 2
    functionLinenumber: 1045
    functionLinenumberEnd: 1112
    functionName: intf_sys_t::handleMessages
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 1
    functionsReached:
    - U32_AT
    - vlc_tick_now
    - assert
    - msgReceiverGetStatus
    - SEC_FROM_VLC_TICK
    - receive
    - msg_Err
    - intf_sys_t::processMessage
    - msg_Warn
    - intf_sys_t::setState
    - msgPing
    - castchannel::CastMessage::ParseFromArray
    linkageType: ''
    returnType: bool
    signature: bool intf_sys_t::handleMessages()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: intf_sys_t::isStatePlaying
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1116,1
    - Dst: msgPlayerStop
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1124,1
    - Dst: intf_sys_t::setState
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1114
    functionDepth: 1
    functionLinenumber: 1114
    functionLinenumberEnd: 1127
    functionName: intf_sys_t::doStop
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 1
    functionsReached:
    - intf_sys_t::setState
    - msgPlayerStop
    - intf_sys_t::isStatePlaying
    linkageType: ''
    returnType: void
    signature: void intf_sys_t::doStop()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1134,1
    - Dst: vlc_killed
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1139,1
    - Dst: intf_sys_t::isStatePlaying
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1141,1
    - Dst: intf_sys_t::queueMessage
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1143,1
    - Dst: intf_sys_t::doStop
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1129
    functionDepth: 2
    functionLinenumber: 1129
    functionLinenumberEnd: 1147
    functionName: intf_sys_t::requestPlayerStop
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - intf_sys_t::isStatePlaying
    - intf_sys_t::queueMessage
    - intf_sys_t::doStop
    - std::swap
    - vlc_killed
    linkageType: ''
    returnType: void
    signature: void intf_sys_t::requestPlayerStop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1153
    functionName: intf_sys_t::state
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: States
    signature: States intf_sys_t::state() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - time
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1155
    functionDepth: 1
    functionLinenumber: 1155
    functionLinenumberEnd: 1158
    functionName: intf_sys_t::timeCCToVLC
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 1
    functionsReached:
    - vlc_tick_from_sec
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t intf_sys_t::timeCCToVLC(double time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::setf
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1163,1
    - Dst: std::setprecision
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1164,1
    - Dst: secf_from_vlc_tick
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1164,1
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - time
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1160
    functionDepth: 1
    functionLinenumber: 1160
    functionLinenumberEnd: 1166
    functionName: intf_sys_t::timeVLCToCC
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::setf
    - std::stringstream::str
    - secf_from_vlc_tick
    - std::setprecision
    linkageType: ''
    returnType: std::string
    signature: std::string intf_sys_t::timeVLCToCC(vlc_tick_t time)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - on_input_event
    - on_input_event_data
    argTypes:
    - on_input_event_itf
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1174
    functionName: intf_sys_t::setOnInputEventCb
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void intf_sys_t::setOnInputEventCb(on_input_event_itf on_input_event,\n
      \                                  void *on_input_event_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_killed
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1186,1
    - Dst: intf_sys_t::reinit
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - enabled
    - on_paused_changed
    - on_paused_changed_data
    argTypes:
    - bool
    - on_paused_changed_itf
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1176
    functionDepth: 2
    functionLinenumber: 1176
    functionLinenumberEnd: 1189
    functionName: intf_sys_t::setDemuxEnabled
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - intf_sys_t::reinit
    - vlc_killed
    linkageType: ''
    returnType: void
    signature: "void intf_sys_t::setDemuxEnabled(bool enabled,\n                                 on_paused_changed_itf
      on_paused_changed,\n                                 void *on_paused_changed_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Info
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1198,1
    - Dst: msgPlayerPlay
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1201,1
    - Dst: msgPlayerPause
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - paused
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1191
    functionDepth: 1
    functionLinenumber: 1191
    functionLinenumberEnd: 1205
    functionName: intf_sys_t::setPauseState
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - msg_Info
    - msgPlayerPause
    - msgPlayerPlay
    linkageType: ''
    returnType: void
    signature: void intf_sys_t::setPauseState(bool paused)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1210
    functionName: intf_sys_t::getHttpStreamPort
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int intf_sys_t::getHttpStreamPort() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1215
    functionName: intf_sys_t::getHttpStreamPath
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string intf_sys_t::getHttpStreamPath() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1220
    functionName: intf_sys_t::getHttpArtRoot
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string intf_sys_t::getHttpArtRoot() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intf_sys_t::isStateError
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1222
    functionDepth: 1
    functionLinenumber: 1222
    functionLinenumberEnd: 1225
    functionName: intf_sys_t::isFinishedPlaying
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 1
    functionsReached:
    - intf_sys_t::isStateError
    linkageType: ''
    returnType: bool
    signature: bool intf_sys_t::isFinishedPlaying()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_meta_Delete
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_meta
    argTypes:
    - vlc_meta_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1227
    functionDepth: 1
    functionLinenumber: 1227
    functionLinenumberEnd: 1233
    functionName: intf_sys_t::setMeta
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - vlc_meta_Delete
    linkageType: ''
    returnType: void
    signature: void intf_sys_t::setMeta(vlc_meta_t *p_meta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1239
    functionName: intf_sys_t::setInputLength
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void intf_sys_t::setInputLength(vlc_tick_t length)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1253,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1254,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1256,1
    - Dst: msgPlayerGetStatus
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1260,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( m_communication )
      pos:
        line_end: 1252
        line_start: 1252
        source_file: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    constantsTouched: []
    func_position:
      end: 1267
      start: 1241
    functionDepth: 1
    functionLinenumber: 1241
    functionLinenumberEnd: 1267
    functionName: intf_sys_t::getPlaybackTimestamp
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - VLC_TICK_FROM_SEC
    - vlc_tick_now
    - assert
    - msgPlayerGetStatus
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t intf_sys_t::getPlaybackTimestamp()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1274,1
    - Dst: StateToStr
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1274,1
    - Dst: StateToStr
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1274,1
    - Dst: intf_sys_t::tryLoad
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1282,1
    - Dst: m_on_paused_changed
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1286,1
    - Dst: m_on_paused_changed
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1291,1
    - Dst: signal
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1297,1
    - Dst: signal
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1298,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - States
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1269
    functionDepth: 2
    functionLinenumber: 1269
    functionLinenumberEnd: 1300
    functionName: intf_sys_t::setState
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 6
    functionsReached:
    - intf_sys_t::tryLoad
    - StateToStr
    - msg_Dbg
    - m_on_paused_changed
    - signal
    linkageType: ''
    returnType: void
    signature: void intf_sys_t::setState( States state )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<intf_sys_t*>
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1304,1
    - Dst: intf_sys_t*::getPlaybackTimestamp
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pt
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1302
    functionDepth: 0
    functionLinenumber: 1302
    functionLinenumberEnd: 1306
    functionName: intf_sys_t::get_time
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<intf_sys_t*>
    - intf_sys_t*::getPlaybackTimestamp
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t intf_sys_t::get_time(void *pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<intf_sys_t*>
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1311,1
    - Dst: intf_sys_t*::setDemuxEnabled
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pt
    - enabled
    - itf
    - data
    argTypes:
    - void*
    - bool
    - on_paused_changed_itf
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1308
    functionDepth: 0
    functionLinenumber: 1308
    functionLinenumberEnd: 1313
    functionName: intf_sys_t::set_demux_enabled
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - intf_sys_t*::setDemuxEnabled
    - static_cast<intf_sys_t*>
    linkageType: ''
    returnType: void
    signature: "void intf_sys_t::set_demux_enabled(void *pt, bool enabled,\n                                   on_paused_changed_itf
      itf, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<intf_sys_t*>
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1317,1
    - Dst: intf_sys_t*::pace
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pt
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1315
    functionDepth: 0
    functionLinenumber: 1315
    functionLinenumberEnd: 1319
    functionName: intf_sys_t::pace
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<intf_sys_t*>
    - intf_sys_t*::pace
    linkageType: ''
    returnType: int
    signature: int intf_sys_t::pace(void *pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<intf_sys_t*>
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1323,1
    - Dst: intf_sys_t*::sendInputEvent
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pt
    - event
    - arg
    argTypes:
    - void*
    - enum cc_input_event
    - union cc_input_arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1325
    functionName: intf_sys_t::send_input_event
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<intf_sys_t*>
    - intf_sys_t*::sendInputEvent
    linkageType: ''
    returnType: void
    signature: void intf_sys_t::send_input_event(void *pt, enum cc_input_event event,
      union cc_input_arg arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<intf_sys_t*>
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1329,1
    - Dst: intf_sys_t*::setPauseState
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pt
    - paused
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1327
    functionDepth: 1
    functionLinenumber: 1327
    functionLinenumberEnd: 1331
    functionName: intf_sys_t::set_pause_state
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<intf_sys_t*>
    - intf_sys_t*::setPauseState
    linkageType: ''
    returnType: void
    signature: void intf_sys_t::set_pause_state(void *pt, bool paused)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<intf_sys_t*>
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1335,1
    - Dst: intf_sys_t*::setMeta
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pt
    - p_meta
    argTypes:
    - void*
    - vlc_meta_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1333
    functionDepth: 0
    functionLinenumber: 1333
    functionLinenumberEnd: 1337
    functionName: intf_sys_t::set_meta
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<intf_sys_t*>
    - intf_sys_t*::setMeta
    linkageType: ''
    returnType: void
    signature: void intf_sys_t::set_meta(void *pt, vlc_meta_t *p_meta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<intf_sys_t*>
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1341,1
    - Dst: intf_sys_t*::setInputLength
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp:1342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pt
    - length
    argTypes:
    - void*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1339
    functionDepth: 0
    functionLinenumber: 1339
    functionLinenumberEnd: 1343
    functionName: intf_sys_t::set_input_length
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_ctrl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<intf_sys_t*>
    - intf_sys_t*::setInputLength
    linkageType: ''
    returnType: void
    signature: void intf_sys_t::set_input_length(void *pt, vlc_tick_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: getDeviceName
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getDeviceName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:114,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - httpd_host
    - intf
    - has_video
    - port
    argTypes:
    - httpd_host_t*
    - intf_sys_t*
    - bool
    - int
    assertStmts:
    - condition: (p_intf != NULL)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/vlc/modules/stream_out/chromecast/cast.cpp
    constantsTouched: []
    func_position:
      end: 116
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 116
    functionName: sout_stream_sys_t
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 0
    functionsReached:
    - vlc_mutex_init
    - assert
    linkageType: ''
    returnType: void
    signature: void sout_stream_sys_t(httpd_host_t *httpd_host, intf_sys_t * const
      intf, bool has_video, int port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: ~sout_stream_sys_t()
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~sout_stream_sys_t()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:114,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - httpd_host
    - intf
    - has_video
    - port
    argTypes:
    - httpd_host_t*
    - intf_sys_t*
    - bool
    - int
    assertStmts:
    - condition: (p_intf != NULL)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/vlc/modules/stream_out/chromecast/cast.cpp
    constantsTouched: []
    func_position:
      end: 116
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 116
    functionName: sout_stream_sys_t
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 0
    functionsReached:
    - vlc_mutex_init
    - assert
    linkageType: ''
    returnType: void
    signature: void sout_stream_sys_t(httpd_host_t *httpd_host, intf_sys_t * const
      intf, bool has_video, int port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: ~sout_stream_sys_t()
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~sout_stream_sys_t()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<sout_stream_sys_t *>
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:252,1
    - Dst: reinterpret_cast<sout_stream_id_sys_t *>
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:253,1
    - Dst: sout_StreamIdAdd
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - p_stream
    - p_fmt
    - es_id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 261
    functionName: ProxyAdd
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 0
    functionsReached:
    - sout_StreamIdAdd
    - reinterpret_cast<sout_stream_sys_t *>
    - reinterpret_cast<sout_stream_id_sys_t *>
    linkageType: ''
    returnType: void
    signature: void *ProxyAdd(sout_stream_t *p_stream, const es_format_t *p_fmt, const
      char* es_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<sout_stream_sys_t *>
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:265,1
    - Dst: reinterpret_cast<sout_stream_id_sys_t *>
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:266,1
    - Dst: sout_StreamIdDel
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_stream
    - _id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 271
    functionName: ProxyDel
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<sout_stream_sys_t *>
    - reinterpret_cast<sout_stream_id_sys_t *>
    - sout_StreamIdDel
    linkageType: ''
    returnType: void
    signature: void ProxyDel(sout_stream_t *p_stream, void *_id)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<sout_stream_sys_t *>
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:275,1
    - Dst: reinterpret_cast<sout_stream_id_sys_t *>
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:276,1
    - Dst: sout_stream_sys_t*::out_streams::size
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:278,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:295,1
    - Dst: sout_StreamIdSend
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:300,1
    - Dst: sout_stream_sys_t*::p_intf::setHasInput
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:305,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:312,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - p_stream
    - _id
    - p_buffer
    argTypes:
    - sout_stream_t*
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 315
    functionName: ProxySend
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<sout_stream_id_sys_t *>
    - sout_StreamIdSend
    - block_ChainRelease
    - sout_stream_sys_t*::out_streams::size
    - sout_stream_sys_t*::p_intf::setHasInput
    - reinterpret_cast<sout_stream_sys_t *>
    linkageType: ''
    returnType: int
    signature: int ProxySend(sout_stream_t *p_stream, void *_id, block_t *p_buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sout_StreamFlush
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_stream
    - id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 320
    functionName: ProxyFlush
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 0
    functionsReached:
    - sout_StreamFlush
    linkageType: ''
    returnType: void
    signature: void ProxyFlush(sout_stream_t *p_stream, void *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<sout_stream_t*>
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:333,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 342
    functionName: ProxyOpen
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<sout_stream_t*>
    - var_InheritAddress
    linkageType: ''
    returnType: int
    signature: int ProxyOpen(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<sout_access_out_sys_t *>
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:347,1
    - Dst: sout_access_out_sys_t*::url_cb
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - cl
    - answer
    - query
    argTypes:
    - httpd_callback_sys_t*
    - httpd_client_t*
    - httpd_message_t*
    - httpd_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 349
    functionName: httpd_url_cb
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 0
    functionsReached:
    - sout_access_out_sys_t*::url_cb
    - reinterpret_cast<sout_access_out_sys_t *>
    linkageType: ''
    returnType: int
    signature: "int httpd_url_cb(httpd_callback_sys_t *data, httpd_client_t *cl,\n
      \                       httpd_message_t *answer, const httpd_message_t *query)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: block_FifoNew
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:359,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:361,1
    - Dst: httpd_UrlNew
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:362,1
    - Dst: intf_sys_t*::getHttpStreamPath
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:362,1
    - Dst: block_FifoRelease
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:365,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:366,1
    - Dst: httpd_UrlCatch
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:368,1
    - Dst: sout_access_out_sys_t::initCopy
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - httpd_host
    - intf
    argTypes:
    - httpd_host_t*
    - intf_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 371
    functionName: sout_access_out_sys_t::sout_access_out_sys_t
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 0
    functionsReached:
    - block_FifoRelease
    - httpd_UrlCatch
    - block_FifoNew
    - intf_sys_t*::getHttpStreamPath
    - httpd_UrlNew
    - sout_access_out_sys_t::initCopy
    - std::runtime_error
    linkageType: ''
    returnType: void
    signature: "void sout_access_out_sys_t::sout_access_out_sys_t(httpd_host_t *httpd_host,\n
      \                                            intf_sys_t * const intf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: httpd_UrlDelete
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:375,1
    - Dst: block_FifoRelease
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 377
    functionName: sout_access_out_sys_t::~sout_access_out_sys_t()
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 0
    functionsReached:
    - block_FifoRelease
    - httpd_UrlDelete
    linkageType: ''
    returnType: void
    signature: void sout_access_out_sys_t::~sout_access_out_sys_t()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:381,1
    - Dst: vlc_fifo_DequeueAllUnlocked
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:381,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:384,1
    - Dst: sout_access_out_sys_t::initCopy
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 389
    functionName: sout_access_out_sys_t::clearUnlocked
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 0
    functionsReached:
    - block_ChainRelease
    - sout_access_out_sys_t::initCopy
    - block_Release
    - vlc_fifo_DequeueAllUnlocked
    linkageType: ''
    returnType: void
    signature: void sout_access_out_sys_t::clearUnlocked()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 397
    functionName: sout_access_out_sys_t::initCopy
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 2
    functionsReached:
    - block_ChainRelease
    linkageType: ''
    returnType: void
    signature: void sout_access_out_sys_t::initCopy()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:403,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:407,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:411,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - p_block
    argTypes:
    - block_t*
    assertStmts:
    - condition: (m_copy_chain)
      pos:
        line_end: 402
        line_start: 402
        source_file: /src/vlc/modules/stream_out/chromecast/cast.cpp
    - condition: (m_copy_size == 0)
      pos:
        line_end: 410
        line_start: 410
        source_file: /src/vlc/modules/stream_out/chromecast/cast.cpp
    constantsTouched: []
    func_position:
      end: 416
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 416
    functionName: sout_access_out_sys_t::putCopy
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 0
    functionsReached:
    - block_Release
    - assert
    - block_ChainLastAppend
    linkageType: ''
    returnType: void
    signature: void sout_access_out_sys_t::putCopy(block_t *p_block)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sout_access_out_sys_t::fifo_put_back
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:422,1
    - Dst: sout_access_out_sys_t::initCopy
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 426
    functionName: sout_access_out_sys_t::restoreCopy
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 0
    functionsReached:
    - sout_access_out_sys_t::fifo_put_back
    - sout_access_out_sys_t::initCopy
    linkageType: ''
    returnType: void
    signature: void sout_access_out_sys_t::restoreCopy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fifo_Lock
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:430,1
    - Dst: sout_access_out_sys_t::clearUnlocked
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:431,1
    - Dst: vlc_fifo_Unlock
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:432,1
    - Dst: vlc_fifo_Signal
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 434
    functionName: sout_access_out_sys_t::clear
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 0
    functionsReached:
    - sout_access_out_sys_t::clearUnlocked
    - vlc_fifo_Lock
    - vlc_fifo_Signal
    - vlc_fifo_Unlock
    linkageType: ''
    returnType: void
    signature: void sout_access_out_sys_t::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fifo_Lock
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:438,1
    - Dst: sout_access_out_sys_t::clearUnlocked
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:439,1
    - Dst: setPacing
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:440,1
    - Dst: vlc_fifo_Unlock
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:442,1
    - Dst: vlc_fifo_Signal
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 436
    functionDepth: 2
    functionLinenumber: 436
    functionLinenumberEnd: 444
    functionName: sout_access_out_sys_t::stop
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 0
    functionsReached:
    - sout_access_out_sys_t::clearUnlocked
    - vlc_fifo_Unlock
    - vlc_fifo_Lock
    - setPacing
    - vlc_fifo_Signal
    linkageType: ''
    returnType: void
    signature: void sout_access_out_sys_t::stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_SetAddress
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:448,1
    - Dst: vlc_fifo_Lock
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:450,1
    - Dst: sout_access_out_sys_t::clearUnlocked
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:451,1
    - Dst: setPacing
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:452,1
    - Dst: vlc_fifo_Unlock
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - p_stream
    - mime
    argTypes:
    - sout_stream_t*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 456
    functionName: sout_access_out_sys_t::prepare
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 0
    functionsReached:
    - sout_access_out_sys_t::clearUnlocked
    - vlc_fifo_Unlock
    - var_SetAddress
    - vlc_fifo_Lock
    - setPacing
    linkageType: ''
    returnType: void
    signature: void sout_access_out_sys_t::prepare(sout_stream_t *p_stream, const
      std::string &mime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fifo_DequeueAllUnlocked
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:460,1
    - Dst: vlc_fifo_QueueUnlocked
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:461,1
    - Dst: vlc_fifo_QueueUnlocked
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_block
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 463
    functionName: sout_access_out_sys_t::fifo_put_back
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 1
    functionsReached:
    - vlc_fifo_DequeueAllUnlocked
    - vlc_fifo_QueueUnlocked
    linkageType: ''
    returnType: void
    signature: void sout_access_out_sys_t::fifo_put_back(block_t *p_block)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fifo_Lock
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:471,1
    - Dst: sout_access_out_sys_t::restoreCopy
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:478,1
    - Dst: vlc_fifo_GetBytes
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:484,1
    - Dst: vlc_fifo_Wait
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:485,1
    - Dst: vlc_fifo_GetBytes
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:488,1
    - Dst: vlc_fifo_GetBytes
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:491,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:493,1
    - Dst: vlc_fifo_GetBytes
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:494,1
    - Dst: vlc_fifo_DequeueUnlocked
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:496,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:498,1
    - Dst: vlc_fifo_DequeueUnlocked
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:504,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:505,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:510,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:514,1
    - Dst: block_ChainExtract
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:516,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:517,1
    - Dst: vlc_fifo_GetBytes
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:522,1
    - Dst: setPacing
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:523,1
    - Dst: httpd_MsgAdd
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:535,1
    - Dst: c_str
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:535,1
    - Dst: httpd_MsgAdd
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:536,1
    - Dst: httpd_MsgAdd
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:537,1
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:545,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:553,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:556,1
    - Dst: sout_access_out_sys_t::putCopy
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:559,1
    - Dst: httpd_MsgAdd
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:562,1
    - Dst: vlc_fifo_Unlock
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:564,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 3
    argNames:
    - cl
    - answer
    - query
    argTypes:
    - httpd_client_t*
    - httpd_message_t*
    - httpd_message_t*
    assertStmts:
    - condition: (m_eof)
      pos:
        line_end: 492
        line_start: 492
        source_file: /src/vlc/modules/stream_out/chromecast/cast.cpp
    - condition: (i_total_size >= i_min_buffer)
      pos:
        line_end: 509
        line_start: 509
        source_file: /src/vlc/modules/stream_out/chromecast/cast.cpp
    - condition: (p_first)
      pos:
        line_end: 497
        line_start: 497
        source_file: /src/vlc/modules/stream_out/chromecast/cast.cpp
    - condition: (p_next)
      pos:
        line_end: 504
        line_start: 504
        source_file: /src/vlc/modules/stream_out/chromecast/cast.cpp
    constantsTouched: []
    func_position:
      end: 566
      start: 465
    functionDepth: 2
    functionLinenumber: 465
    functionLinenumberEnd: 566
    functionName: sout_access_out_sys_t::url_cb
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 0
    functionsReached:
    - block_ChainExtract
    - assert
    - vlc_fifo_DequeueUnlocked
    - vlc_fifo_Unlock
    - block_ChainRelease
    - memcpy
    - setPacing
    - httpd_MsgAdd
    - block_Alloc
    - malloc
    - sout_access_out_sys_t::putCopy
    - c_str
    - vlc_fifo_Lock
    - sout_access_out_sys_t::restoreCopy
    - vlc_fifo_Wait
    - vlc_fifo_GetBytes
    linkageType: ''
    returnType: int
    signature: "int sout_access_out_sys_t::url_cb(httpd_client_t *cl, httpd_message_t
      *answer,\n                                  const httpd_message_t *query)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:570,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:571,1
    - Dst: vlc_fifo_Lock
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:573,1
    - Dst: vlc_fifo_GetBytes
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:574,1
    - Dst: vlc_fifo_Unlock
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:575,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:580,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:580,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - timeout
    - drained
    argTypes:
    - vlc_tick_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 583
    functionName: sout_access_out_sys_t::waitForClient
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - vlc_fifo_Unlock
    - VLC_TICK_FROM_MS
    - vlc_tick_sleep
    - vlc_fifo_Lock
    - vlc_fifo_GetBytes
    linkageType: ''
    returnType: bool
    signature: bool sout_access_out_sys_t::waitForClient(vlc_tick_t timeout, bool
      drained)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fifo_Lock
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:589,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:594,1
    - Dst: vlc_fifo_GetBytes
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:600,1
    - Dst: setPacing
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:611,1
    - Dst: vlc_fifo_GetBytes
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:613,1
    - Dst: vlc_fifo_DequeueUnlocked
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:615,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:616,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:617,1
    - Dst: vlc_fifo_QueueUnlocked
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:620,1
    - Dst: vlc_fifo_Unlock
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:625,1
    - Dst: vlc_fifo_Signal
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:626,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - p_access
    - p_block
    argTypes:
    - sout_access_out_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 629
    functionName: sout_access_out_sys_t::write
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 0
    functionsReached:
    - block_Release
    - vlc_fifo_DequeueUnlocked
    - vlc_fifo_QueueUnlocked
    - vlc_fifo_Unlock
    - msg_Warn
    - vlc_fifo_Lock
    - setPacing
    - vlc_fifo_Signal
    - vlc_fifo_GetBytes
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t sout_access_out_sys_t::write(sout_access_out_t *p_access, block_t
      *p_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fifo_Lock
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:633,1
    - Dst: setPacing
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:635,1
    - Dst: vlc_fifo_Unlock
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:636,1
    - Dst: vlc_fifo_Signal
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 638
    functionName: sout_access_out_sys_t::close
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 0
    functionsReached:
    - vlc_fifo_Lock
    - setPacing
    - vlc_fifo_Signal
    - vlc_fifo_Unlock
    linkageType: ''
    returnType: void
    signature: void sout_access_out_sys_t::close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<sout_access_out_sys_t *>
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:642,1
    - Dst: sout_access_out_sys_t*::write
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_access
    - p_block
    argTypes:
    - sout_access_out_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 644
    functionName: AccessWrite
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 0
    functionsReached:
    - sout_access_out_sys_t*::write
    - reinterpret_cast<sout_access_out_sys_t *>
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t AccessWrite(sout_access_out_t *p_access, block_t *p_block)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:653,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - p_access
    - i_query
    - args
    argTypes:
    - sout_access_out_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 659
    functionName: AccessControl
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 0
    functionsReached:
    - va_arg
    linkageType: ''
    returnType: int
    signature: int AccessControl(sout_access_out_t *p_access, int i_query, va_list
      args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 675
    functionName: AccessOpen
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 3
    functionsReached:
    - var_InheritAddress
    linkageType: ''
    returnType: int
    signature: int AccessOpen(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<sout_access_out_sys_t *>
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:680,1
    - Dst: sout_access_out_sys_t*::close
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 683
    functionName: AccessClose
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 1
    functionsReached:
    - sout_access_out_sys_t*::close
    - reinterpret_cast<sout_access_out_sys_t *>
    linkageType: ''
    returnType: void
    signature: void AccessClose(vlc_object_t *p_this)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<sout_stream_sys_t *>
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:690,1
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:699,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:702,1
    - Dst: sout_stream_sys_t*::streams::push_back
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:707,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - p_stream
    - p_fmt
    - es_id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 711
    functionName: Add
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 65
    functionsReached:
    - sout_stream_sys_t*::streams::push_back
    - es_format_Copy
    - reinterpret_cast<sout_stream_sys_t *>
    - malloc
    linkageType: ''
    returnType: void
    signature: void *Add(sout_stream_t *p_stream, const es_format_t *p_fmt, const
      char *es_id)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<sout_stream_sys_t *>
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:716,1
    - Dst: reinterpret_cast<sout_stream_id_sys_t *>
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:717,1
    - Dst: sout_stream_sys_t*::streams::begin
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:719,1
    - Dst: sout_stream_sys_t*::streams::end
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:720,1
    - Dst: sout_StreamIdDel
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:727,1
    - Dst: sout_stream_sys_t*::out_streams::begin
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:728,1
    - Dst: sout_stream_sys_t*::out_streams::end
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:729,1
    - Dst: sout_stream_sys_t*::out_streams::erase
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:733,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:746,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:747,1
    - Dst: sout_stream_sys_t*::streams::erase
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:748,1
    - Dst: sout_stream_sys_t*::out_streams::empty
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:754,1
    - Dst: sout_stream_sys_t*::access_out_live::waitForClient
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:756,1
    - Dst: sout_stream_sys_t*::access_out_live::waitForClient
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:758,1
    - Dst: sout_stream_sys_t*::p_intf::preservePlaybackOnTeardown
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:759,1
    - Dst: sout_stream_sys_t*::stopSoutChain
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:761,1
    - Dst: sout_stream_sys_t*::p_intf::requestPlayerStop
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:762,1
    - Dst: sout_stream_sys_t*::access_out_live::clear
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:763,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 3
    argNames:
    - p_stream
    - _id
    - reset_config
    argTypes:
    - sout_stream_t*
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 766
    functionName: DelInternal
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 0
    functionsReached:
    - sout_stream_sys_t*::out_streams::empty
    - reinterpret_cast<sout_stream_id_sys_t *>
    - es_format_Clean
    - sout_stream_sys_t*::out_streams::end
    - sout_stream_sys_t*::out_streams::begin
    - sout_stream_sys_t*::out_streams::erase
    - sout_stream_sys_t*::streams::erase
    - sout_stream_sys_t*::p_intf::requestPlayerStop
    - sout_stream_sys_t*::p_intf::preservePlaybackOnTeardown
    - sout_stream_sys_t*::stopSoutChain
    - sout_stream_sys_t*::streams::begin
    - sout_stream_sys_t*::streams::end
    - free
    - sout_StreamIdDel
    - reinterpret_cast<sout_stream_sys_t *>
    - sout_stream_sys_t*::access_out_live::clear
    - sout_stream_sys_t*::access_out_live::waitForClient
    linkageType: ''
    returnType: void
    signature: void DelInternal(sout_stream_t *p_stream, void *_id, bool reset_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<sout_stream_sys_t *>
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:770,1
    - Dst: reinterpret_cast<sout_stream_id_sys_t *>
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:771,1
    - Dst: DelInternal
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_stream
    - _id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 768
    functionDepth: 2
    functionLinenumber: 768
    functionLinenumberEnd: 775
    functionName: Del
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 51
    functionsReached:
    - DelInternal
    - reinterpret_cast<sout_stream_sys_t *>
    - reinterpret_cast<sout_stream_id_sys_t *>
    linkageType: ''
    returnType: void
    signature: void Del(sout_stream_t *p_stream, void *_id)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getDeviceName
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:799,1
    - Dst: std::string::size
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:800,1
    - Dst: std::string::size
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:800,1
    - Dst: std::equal
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:801,1
    - Dst: std::string::rbegin
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:801,1
    - Dst: std::string::rend
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:801,1
    - Dst: std::string::rbegin
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:801,1
    - Dst: es_format_HasVpxAlpha
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:812,1
    - Dst: es_format_HasVpxAlpha
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:816,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - es
    argTypes:
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 793
    functionDepth: 1
    functionLinenumber: 793
    functionLinenumberEnd: 822
    functionName: sout_stream_sys_t::canDecodeVideo
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 0
    functionsReached:
    - es_format_HasVpxAlpha
    - std::string::rbegin
    - std::string::rend
    - std::string::size
    - getDeviceName
    - std::equal
    linkageType: ''
    returnType: bool
    signature: bool sout_stream_sys_t::canDecodeVideo( const es_format_t *es ) const
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritBool
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:834,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:835,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:836,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:837,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - p_stream
    - i_codec
    - p_fmt
    argTypes:
    - sout_stream_t*
    - vlc_fourcc_t
    - audio_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 849
    functionName: sout_stream_sys_t::canDecodeAudio
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - var_InheritBool
    linkageType: ''
    returnType: bool
    signature: "bool sout_stream_sys_t::canDecodeAudio( sout_stream_t *p_stream,\n
      \                                       vlc_fourcc_t i_codec,\n                                        const
      audio_format_t* p_fmt ) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:855,1
    - Dst: size
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:857,1
    - Dst: sout_StreamIdDel
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:861,1
    - Dst: clear
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:865,1
    - Dst: sout_StreamChainDelete
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:866,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 851
    functionDepth: 1
    functionLinenumber: 851
    functionLinenumberEnd: 869
    functionName: sout_stream_sys_t::stopSoutChain
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 0
    functionsReached:
    - size
    - clear
    - sout_StreamChainDelete
    - sout_StreamIdDel
    - unlikely
    linkageType: ''
    returnType: void
    signature: void sout_stream_sys_t::stopSoutChain(sout_stream_t *p_stream)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sout_stream_sys_t::stopSoutChain
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:875,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:877,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:877,1
    - Dst: prepare
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:886,1
    - Dst: sout_StreamChainNew
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:888,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:888,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:888,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:890,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:890,1
    - Dst: clear
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:891,1
    - Dst: clear
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:892,1
    - Dst: begin
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:897,1
    - Dst: end
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:898,1
    - Dst: reinterpret_cast<sout_stream_id_sys_t *>
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:901,1
    - Dst: sout_StreamIdAdd
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:902,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:905,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:906,1
    - Dst: erase
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:907,1
    - Dst: empty
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:919,1
    - Dst: sout_stream_sys_t::stopSoutChain
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:921,1
    - Dst: clear
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:922,1
    - Dst: setRetryOnFail
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:928,1
    - Dst: sout_stream_sys_t::transcodingCanFallback
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:928,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 4
    argNames:
    - p_stream
    - new_streams
    - sout
    - new_transcoding_state
    argTypes:
    - sout_stream_t*
    - std::vector<sout_stream_id_sys_t*>
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 871
    functionDepth: 2
    functionLinenumber: 871
    functionLinenumberEnd: 931
    functionName: sout_stream_sys_t::startSoutChain
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 0
    functionsReached:
    - erase
    - reinterpret_cast<sout_stream_id_sys_t *>
    - es_format_Clean
    - sout_stream_sys_t::stopSoutChain
    - sout_StreamIdAdd
    - end
    - prepare
    - clear
    - begin
    - msg_Err
    - std::string::c_str
    - empty
    - msg_Dbg
    - VLC_OBJECT
    - sout_stream_sys_t::transcodingCanFallback
    - sout_StreamChainNew
    - setRetryOnFail
    linkageType: ''
    returnType: bool
    signature: "bool sout_stream_sys_t::startSoutChain(sout_stream_t *p_stream,\n
      \                                      const std::vector<sout_stream_id_sys_t*>
      &new_streams,\n                                       const std::string &sout,
      int new_transcoding_state)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 939
    functionName: sout_stream_sys_t::setNextTranscodingState
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sout_stream_sys_t::setNextTranscodingState()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 944
    functionName: sout_stream_sys_t::transcodingCanFallback
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool sout_stream_sys_t::transcodingCanFallback() const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: module_exists
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:973,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:978,1
    - Dst: vlc_fourcc_to_char
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:982,1
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:992,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 4
    argNames:
    - p_stream
    - p_codec_audio
    - p_aud
    - i_quality
    argTypes:
    - sout_stream_t*
    - vlc_fourcc_t*
    - audio_format_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 993
    functionName: sout_stream_sys_t::GetAcodecOption
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - vlc_fourcc_to_char
    - module_exists
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: "std::string sout_stream_sys_t::GetAcodecOption( sout_stream_t *p_stream,
      vlc_fourcc_t *p_codec_audio,\n                                    const audio_format_t
      *p_aud, int i_quality )"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:997,1
    - Dst: begin
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1012,1
    - Dst: end
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1012,1
    - Dst: sout_stream_sys_t::canDecodeAudio
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1017,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1019,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1025,1
    - Dst: sout_stream_sys_t::canDecodeVideo
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1031,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1033,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1040,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1045,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1050,1
    - Dst: begin
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1060,1
    - Dst: end
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1061,1
    - Dst: std::vector::empty
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1070,1
    - Dst: requestPlayerStop
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1072,1
    - Dst: std::vector::size
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1077,1
    - Dst: size
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1077,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1087,1
    - Dst: vlc_dialog_wait_question
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1089,1
    - Dst: _
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1091,1
    - Dst: _
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1091,1
    - Dst: _
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1091,1
    - Dst: _
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1092,1
    - Dst: _
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1093,1
    - Dst: config_PutInt
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1100,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1103,1
    - Dst: sout_stream_sys_t::GetAcodecOption
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1109,1
    - Dst: vlc_sout_renderer_GetVcodecOption
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1116,1
    - Dst: sout_stream_sys_t::startSoutChain
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1154,1
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1154,1
    - Dst: requestPlayerStop
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1156,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 87
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - sout_stream_t*
    assertStmts:
    - condition: ( p_stream->p_sys == this )
      pos:
        line_end: 996
        line_start: 996
        source_file: /src/vlc/modules/stream_out/chromecast/cast.cpp
    constantsTouched: []
    func_position:
      end: 1158
      start: 995
    functionDepth: 3
    functionLinenumber: 995
    functionLinenumberEnd: 1158
    functionName: sout_stream_sys_t::UpdateOutput
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 0
    functionsReached:
    - assert
    - std::stringstream::str
    - requestPlayerStop
    - sout_stream_sys_t::canDecodeAudio
    - vlc_sout_renderer_GetVcodecOption
    - begin
    - size
    - _
    - sout_stream_sys_t::startSoutChain
    - msg_Dbg
    - sout_stream_sys_t::canDecodeVideo
    - vlc_dialog_wait_question
    - var_InheritInteger
    - std::vector::push_back
    - std::vector::size
    - end
    - std::vector::empty
    - config_PutInt
    - sout_stream_sys_t::GetAcodecOption
    linkageType: ''
    returnType: bool
    signature: bool sout_stream_sys_t::UpdateOutput( sout_stream_t *p_stream )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1166,1
    - Dst: sout_stream_sys_t::UpdateOutput
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1168,1
    - Dst: size
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - p_stream
    - id
    - update
    argTypes:
    - sout_stream_t*
    - sout_stream_id_sys_t*
    - bool
    assertStmts:
    - condition: ( p_stream->p_sys == this )
      pos:
        line_end: 1165
        line_start: 1165
        source_file: /src/vlc/modules/stream_out/chromecast/cast.cpp
    constantsTouched: []
    func_position:
      end: 1178
      start: 1160
    functionDepth: 1
    functionLinenumber: 1160
    functionLinenumberEnd: 1178
    functionName: sout_stream_sys_t::GetSubId
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 0
    functionsReached:
    - sout_stream_sys_t::UpdateOutput
    - assert
    - size
    linkageType: ''
    returnType: sout_stream_id_sys_t
    signature: "sout_stream_id_sys_t *sout_stream_sys_t::GetSubId( sout_stream_t *p_stream,\n
      \                                                  sout_stream_id_sys_t *id,\n
      \                                                  bool update )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1191,1
    - Dst: size
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1202
    functionName: sout_stream_sys_t::isFlushing
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool sout_stream_sys_t::isFlushing( sout_stream_t *p_stream )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<sout_stream_sys_t *>
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1206,1
    - Dst: reinterpret_cast<sout_stream_id_sys_t *>
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1207,1
    - Dst: sout_stream_sys_t*::isFlushing
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1210,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1212,1
    - Dst: sout_stream_sys_t*::GetSubId
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1216,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1219,1
    - Dst: sout_StreamIdSend
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1223,1
    - Dst: DelInternal
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - p_stream
    - _id
    - p_buffer
    argTypes:
    - sout_stream_t*
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1204
    functionDepth: 2
    functionLinenumber: 1204
    functionLinenumberEnd: 1228
    functionName: Send
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 101
    functionsReached:
    - sout_stream_sys_t*::GetSubId
    - reinterpret_cast<sout_stream_id_sys_t *>
    - sout_StreamIdSend
    - block_ChainRelease
    - DelInternal
    - sout_stream_sys_t*::isFlushing
    - reinterpret_cast<sout_stream_sys_t *>
    linkageType: ''
    returnType: int
    signature: int Send(sout_stream_t *p_stream, void *_id, block_t *p_buffer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<sout_stream_sys_t *>
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1232,1
    - Dst: reinterpret_cast<sout_stream_id_sys_t *>
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1233,1
    - Dst: sout_stream_sys_t*::GetSubId
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1236,1
    - Dst: sout_stream_sys_t*::stopSoutChain
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1245,1
    - Dst: sout_stream_sys_t*::access_out_live::stop
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1247,1
    - Dst: sout_stream_sys_t*::p_intf::requestPlayerStop
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - p_stream
    - _id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1230
    functionDepth: 1
    functionLinenumber: 1230
    functionLinenumberEnd: 1256
    functionName: Flush
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 41
    functionsReached:
    - sout_stream_sys_t*::GetSubId
    - reinterpret_cast<sout_stream_id_sys_t *>
    - sout_stream_sys_t*::p_intf::requestPlayerStop
    - sout_stream_sys_t*::stopSoutChain
    - sout_stream_sys_t*::access_out_live::stop
    - reinterpret_cast<sout_stream_sys_t *>
    linkageType: ''
    returnType: void
    signature: void Flush( sout_stream_t *p_stream, void *_id )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<sout_stream_t*>
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1260,1
    - Dst: reinterpret_cast<sout_stream_sys_t *>
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1261,1
    - Dst: sout_stream_sys_t*::stopSoutChain
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1272,1
    - Dst: sout_stream_sys_t*::stopSoutChain
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1277,1
    - Dst: sout_stream_sys_t*::transcodingCanFallback
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1278,1
    - Dst: sout_stream_sys_t*::setNextTranscodingState
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1280,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1281,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - data
    - event
    - arg
    argTypes:
    - void*
    - enum cc_input_event
    - union cc_input_arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1258
    functionDepth: 1
    functionLinenumber: 1258
    functionLinenumberEnd: 1288
    functionName: on_input_event_cb
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<sout_stream_t*>
    - sout_stream_sys_t*::transcodingCanFallback
    - sout_stream_sys_t*::stopSoutChain
    - msg_Warn
    - sout_stream_sys_t*::setNextTranscodingState
    - reinterpret_cast<sout_stream_sys_t *>
    linkageType: ''
    returnType: void
    signature: void on_input_event_cb(void *data, enum cc_input_event event, union
      cc_input_arg arg )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1305,1
    - Dst: reinterpret_cast<sout_stream_t*>
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1306,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1316,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1318,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1321,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1325,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1326,1
    - Dst: var_Create
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1328,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1329,1
    - Dst: var_Create
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1330,1
    - Dst: var_SetString
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1331,1
    - Dst: vlc_http_HostNew
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1332,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1332,1
    - Dst: intf_sys_t::intf_sys_t
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1338,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1343,1
    - Dst: what
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1343,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1352,1
    - Dst: sout_stream_sys_t::sout_stream_sys_t
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1356,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1361,1
    - Dst: what
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1361,1
    - Dst: intf_sys_t*::setOnInputEventCb
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1366,1
    - Dst: var_Create
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1369,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1370,1
    - Dst: var_Create
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1372,1
    - Dst: var_SetAddress
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1373,1
    - Dst: var_Create
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1375,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1381,1
    - Dst: httpd_HostDelete
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1388,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1389,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 56
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1392
      start: 1303
    functionDepth: 2
    functionLinenumber: 1303
    functionLinenumberEnd: 1392
    functionName: Open
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 31
    functionsReached:
    - sout_stream_sys_t::sout_stream_sys_t
    - reinterpret_cast<sout_stream_t*>
    - var_SetAddress
    - vlc_http_HostNew
    - intf_sys_t*::setOnInputEventCb
    - var_Create
    - msg_Err
    - var_InheritInteger
    - httpd_HostDelete
    - var_GetNonEmptyString
    - intf_sys_t::intf_sys_t
    - var_GetBool
    - vlc_object_parent
    - what
    - config_ChainParse
    - var_SetInteger
    - free
    - VLC_OBJECT
    - var_SetString
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1399,1
    - Dst: reinterpret_cast<sout_stream_sys_t *>
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1400,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1402,1
    - Dst: sout_stream_sys_t*::out_streams::empty
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1402,1
    - Dst: sout_stream_sys_t*::streams::empty
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1402,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1403,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1404,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1406,1
    - Dst: sout_stream_sys_t*::streams::empty
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1406,1
    - Dst: sout_stream_sys_t*::out_streams::empty
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1406,1
    - Dst: httpd_HostDelete
      Src: /src/vlc/modules/stream_out/chromecast/cast.cpp:1412,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - sout_stream_t*
    assertStmts:
    - condition: (p_sys->out_streams.empty() && p_sys->streams.empty())
      pos:
        line_end: 1401
        line_start: 1401
        source_file: /src/vlc/modules/stream_out/chromecast/cast.cpp
    - condition: (p_sys->streams.empty() && p_sys->out_streams.empty())
      pos:
        line_end: 1405
        line_start: 1405
        source_file: /src/vlc/modules/stream_out/chromecast/cast.cpp
    constantsTouched: []
    func_position:
      end: 1413
      start: 1397
    functionDepth: 1
    functionLinenumber: 1397
    functionLinenumberEnd: 1413
    functionName: Close
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/cast.cpp
    functionUses: 102
    functionsReached:
    - sout_stream_sys_t*::out_streams::empty
    - vlc_object_parent
    - assert
    - var_Destroy
    - httpd_HostDelete
    - sout_stream_sys_t*::streams::empty
    - reinterpret_cast<sout_stream_sys_t *>
    linkageType: ''
    returnType: void
    signature: void Close(sout_stream_t *p_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - demux
    - renderer
    argTypes:
    - demux_t*
    - chromecast_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: demux_cc
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp
    functionUses: 0
    functionsReached:
    - init
    linkageType: ''
    returnType: void
    signature: void demux_cc(demux_t * const demux, chromecast_common * const renderer)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: resetDemuxEof
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:54,1
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:56,1
    - Dst: likely
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:57,1
    - Dst: input_item_GetMeta
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:66,1
    - Dst: vlc_meta_Set
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:69,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:70,1
    - Dst: vlc_meta_Get
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:73,1
    - Dst: input_item_GetName
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:75,1
    - Dst: vlc_meta_Set
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:78,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:79,1
    - Dst: pf_set_meta
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:82,1
    - Dst: demux_Control
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:84,1
    - Dst: pf_set_meta
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:85,1
    - Dst: vlc_meta_Delete
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:87,1
    - Dst: demux_Control
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:90,1
    - Dst: demux_Control
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:92,1
    - Dst: pf_set_input_length
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:94,1
    - Dst: demux_Control
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:97,1
    - Dst: demux_Control
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:102,1
    - Dst: vlc_input_title_Delete
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:121,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:123,1
    - Dst: demux_Control
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:127,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:133,1
    - Dst: pf_set_demux_enabled
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:135,1
    - Dst: resetTimes
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:138,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 139
    functionName: init
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp
    functionUses: 308
    functionsReached:
    - pf_set_meta
    - vlc_meta_Delete
    - vlc_meta_Set
    - pf_set_input_length
    - demux_Control
    - resetDemuxEof
    - vlc_input_title_Delete
    - es_out_Control
    - resetTimes
    - vlc_meta_New
    - input_item_GetMeta
    - free
    - likely
    - input_item_GetName
    - pf_set_demux_enabled
    - vlc_meta_Get
    linkageType: ''
    returnType: void
    signature: void init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:143,1
    - Dst: pf_set_meta
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:144,1
    - Dst: pf_set_input_length
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:145,1
    - Dst: pf_set_demux_enabled
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (p_renderer)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: deinit
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp
    functionUses: 6
    functionsReached:
    - pf_set_meta
    - pf_set_input_length
    - assert
    - pf_set_demux_enabled
    linkageType: ''
    returnType: void
    signature: void deinit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: resetTimes
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void resetTimes()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: demux_Control
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:157,1
    - Dst: demux_Control
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 165
    functionName: initTimes
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp
    functionUses: 0
    functionsReached:
    - demux_Control
    linkageType: ''
    returnType: void
    signature: void initTimes()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deinit
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: ~demux_cc()
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp
    functionUses: 0
    functionsReached:
    - deinit
    linkageType: ''
    returnType: void
    signature: void ~demux_cc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pf_send_input_event
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: resetDemuxEof
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp
    functionUses: 1
    functionsReached:
    - pf_send_input_event
    linkageType: ''
    returnType: void
    signature: void resetDemuxEof()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pf_set_pause_state
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - paused
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: setPauseState
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp
    functionUses: 1
    functionsReached:
    - pf_set_pause_state
    linkageType: ''
    returnType: void
    signature: void setPauseState(bool paused)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pf_get_time
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: getCCTime
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp
    functionUses: 0
    functionsReached:
    - pf_get_time
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t getCCTime()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getCCTime
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 202
    functionName: getTime
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp
    functionUses: 0
    functionsReached:
    - getCCTime
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t getTime()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getCCTime
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 213
    functionName: getPosition
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp
    functionUses: 0
    functionsReached:
    - getCCTime
    linkageType: ''
    returnType: double
    signature: double getPosition()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: es_out_Control
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:217,1
    - Dst: demux_Control
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:223,1
    - Dst: demux_SetPosition
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - time
    - pos
    argTypes:
    - vlc_tick_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 228
    functionName: seekBack
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp
    functionUses: 0
    functionsReached:
    - demux_SetPosition
    - demux_Control
    - es_out_Control
    linkageType: ''
    returnType: void
    signature: void seekBack( vlc_tick_t time, double pos )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: demux_Demux
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:233,1
    - Dst: pf_pace
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:236,1
    - Dst: seekBack
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:244,1
    - Dst: resetDemuxEof
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:246,1
    - Dst: pf_send_input_event
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:247,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:259,1
    - Dst: demux_Demux
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:265,1
    - Dst: initTimes
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:268,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:278,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:280,1
    - Dst: pf_send_input_event
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:282,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 294
    functionName: Demux
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp
    functionUses: 4
    functionsReached:
    - demux_Demux
    - resetDemuxEof
    - vlc_assert_unreachable
    - es_out_Control
    - initTimes
    - seekBack
    - pf_pace
    - pf_send_input_event
    linkageType: ''
    returnType: int
    signature: int Demux()
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: demux_vaControl
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:299,1
    - Dst: getPosition
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:305,1
    - Dst: getTime
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:315,1
    - Dst: va_copy
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:328,1
    - Dst: demux_vaControl
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:329,1
    - Dst: va_arg
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:331,1
    - Dst: va_end
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:332,1
    - Dst: va_copy
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:341,1
    - Dst: demux_vaControl
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:342,1
    - Dst: va_arg
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:344,1
    - Dst: va_end
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:345,1
    - Dst: va_arg
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:351,1
    - Dst: demux_SetPosition
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:353,1
    - Dst: resetTimes
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:357,1
    - Dst: resetDemuxEof
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:358,1
    - Dst: va_arg
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:363,1
    - Dst: demux_Control
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:365,1
    - Dst: resetTimes
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:369,1
    - Dst: resetDemuxEof
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:370,1
    - Dst: va_copy
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:377,1
    - Dst: va_arg
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:378,1
    - Dst: va_end
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:379,1
    - Dst: setPauseState
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:381,1
    - Dst: seekBack
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:389,1
    - Dst: resetTimes
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:390,1
    - Dst: resetDemuxEof
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:391,1
    - Dst: static_cast<chromecast_common *>
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:394,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:395,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:396,1
    - Dst: init
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:398,1
    - Dst: deinit
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:403,1
    - Dst: seekBack
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:408,1
    - Dst: demux_vaControl
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:416,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 74
    argCount: 2
    argNames:
    - i_query
    - args
    argTypes:
    - int
    - va_list
    assertStmts:
    - condition: (p_renderer != NULL)
      pos:
        line_end: 395
        line_start: 395
        source_file: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp
    constantsTouched: []
    func_position:
      end: 417
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 417
    functionName: Control
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp
    functionUses: 52
    functionsReached:
    - init
    - demux_SetPosition
    - demux_vaControl
    - resetTimes
    - resetDemuxEof
    - demux_Control
    - setPauseState
    - static_cast<chromecast_common *>
    - var_InheritAddress
    - assert
    - seekBack
    - getTime
    - va_copy
    - va_arg
    - getPosition
    - deinit
    - va_end
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *, int i_query, va_list args )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<demux_t*>
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:434,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:435,1
    - Dst: var_Type
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:443,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - data
    - paused
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 450
    functionName: on_paused_changed_cb
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp
    functionUses: 0
    functionsReached:
    - vlc_object_parent
    - reinterpret_cast<demux_t*>
    - var_Type
    linkageType: ''
    returnType: void
    signature: void on_paused_changed_cb( void *data, bool paused )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<demux_cc*>
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:454,1
    - Dst: demux_cc*::Demux
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_demux_filter
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 457
    functionName: Demux
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp
    functionUses: 5
    functionsReached:
    - demux_cc*::Demux
    - reinterpret_cast<demux_cc*>
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<demux_cc*>
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:461,1
    - Dst: demux_cc*::Control
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_demux_filter
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 464
    functionName: Control
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp
    functionUses: 53
    functionsReached:
    - demux_cc*::Control
    - reinterpret_cast<demux_cc*>
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux_filter, int i_query, va_list args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<demux_t*>
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:468,1
    - Dst: static_cast<chromecast_common *>
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:469,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:470,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:473,1
    - Dst: demux_cc::demux_cc
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:477,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:478,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 486
    functionName: Open
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp
    functionUses: 31
    functionsReached:
    - static_cast<chromecast_common *>
    - reinterpret_cast<demux_t*>
    - var_InheritAddress
    - demux_cc::demux_cc
    - msg_Warn
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<demux_t*>
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:490,1
    - Dst: reinterpret_cast<demux_cc*>
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 494
    functionName: Close
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_demux.cpp
    functionUses: 102
    functionsReached:
    - reinterpret_cast<demux_t*>
    - reinterpret_cast<demux_cc*>
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *p_this)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tls_ClientCreate
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:53,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:53,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:55,1
    - Dst: vlc_tls_SocketOpenTLS
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:57,1
    - Dst: vlc_tls_ClientDelete
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:61,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:62,1
    - Dst: net_GetSockAddress
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:66,1
    - Dst: vlc_tls_GetFD
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:66,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:67,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - p_module
    - serverPath
    - serverPort
    - targetIP
    - devicePort
    argTypes:
    - vlc_object_t*
    - std::string
    - unsigned int
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 70
    functionName: ChromecastCommunication::ChromecastCommunication
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp
    functionUses: 2
    functionsReached:
    - vlc_tls_GetFD
    - vlc_object_parent
    - vlc_tls_SocketOpenTLS
    - net_GetSockAddress
    - vlc_tls_ClientDelete
    - std::runtime_error
    - vlc_tls_ClientCreate
    linkageType: ''
    returnType: void
    signature: "void ChromecastCommunication::ChromecastCommunication( vlc_object_t*
      p_module,\n    std::string serverPath, unsigned int serverPort, const char*
      targetIP, unsigned int devicePort )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChromecastCommunication::disconnect
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: ChromecastCommunication::~ChromecastCommunication()
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp
    functionUses: 0
    functionsReached:
    - ChromecastCommunication::disconnect
    linkageType: ''
    returnType: void
    signature: void ChromecastCommunication::~ChromecastCommunication()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tls_Close
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:81,1
    - Dst: vlc_tls_ClientDelete
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: ChromecastCommunication::disconnect
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp
    functionUses: 1
    functionsReached:
    - vlc_tls_ClientDelete
    - vlc_tls_Close
    linkageType: ''
    returnType: void
    signature: void ChromecastCommunication::disconnect()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: castchannel::CastMessage::set_protocol_version
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:103,1
    - Dst: castchannel::CastMessage::set_namespace_
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:104,1
    - Dst: castchannel::CastMessage::set_payload_type
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:105,1
    - Dst: castchannel::CastMessage::set_source_id
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:106,1
    - Dst: castchannel::CastMessage::set_destination_id
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:107,1
    - Dst: castchannel::CastMessage::set_payload_utf8
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:109,1
    - Dst: castchannel::CastMessage::set_payload_binary
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:111,1
    - Dst: ChromecastCommunication::sendMessage
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - ' namespace_'
    - ' payload'
    - ' destinationId'
    - payloadType
    argTypes:
    - std::string
    - std::string
    - std::string
    - castchannel::CastMessage_PayloadType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 114
    functionName: ChromecastCommunication::buildMessage
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp
    functionUses: 0
    functionsReached:
    - castchannel::CastMessage::set_source_id
    - castchannel::CastMessage::set_payload_type
    - ChromecastCommunication::sendMessage
    - castchannel::CastMessage::set_namespace_
    - castchannel::CastMessage::set_destination_id
    - castchannel::CastMessage::set_protocol_version
    - castchannel::CastMessage::set_payload_utf8
    - castchannel::CastMessage::set_payload_binary
    linkageType: ''
    returnType: int
    signature: "int ChromecastCommunication::buildMessage(const std::string & namespace_,\n
      \                             const std::string & payload,\n                              const
      std::string & destinationId,\n                              castchannel::CastMessage_PayloadType
      payloadType)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ops::readv
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:138,1
    - Dst: WSAGetLastError
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:142,1
    - Dst: vlc_tls_GetPollFD
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:152,1
    - Dst: vlc_poll_i11e
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:154,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:162,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:167,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 4
    argNames:
    - p_data
    - i_size
    - i_timeout
    - pb_timeout
    argTypes:
    - uint8_t*
    - size_t
    - int
    - bool*
    assertStmts:
    - condition: ( ufd[0].revents & POLLIN )
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp
    - condition: ( i_size >= (size_t)i_ret )
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp
    constantsTouched: []
    func_position:
      end: 174
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 174
    functionName: ChromecastCommunication::receive
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp
    functionUses: 0
    functionsReached:
    - assert
    - ops::readv
    - vlc_tls_GetPollFD
    - vlc_poll_i11e
    - WSAGetLastError
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t ChromecastCommunication::receive( uint8_t *p_data, size_t i_size,
      int i_timeout, bool *pb_timeout )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: ChromecastCommunication::getNextReceiverRequestId
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp
    functionUses: 0
    functionsReached:
    - likely
    linkageType: ''
    returnType: unsigned
    signature: unsigned ChromecastCommunication::getNextReceiverRequestId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: ChromecastCommunication::getNextRequestId
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp
    functionUses: 0
    functionsReached:
    - likely
    linkageType: ''
    returnType: unsigned
    signature: unsigned ChromecastCommunication::getNextRequestId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castchannel::DeviceAuthMessage::mutable_challenge
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:195,1
    - Dst: ChromecastCommunication::buildMessage
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:197,1
    - Dst: castchannel::DeviceAuthMessage::SerializeAsString
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: ChromecastCommunication::msgAuth
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp
    functionUses: 0
    functionsReached:
    - ChromecastCommunication::buildMessage
    - castchannel::DeviceAuthMessage::SerializeAsString
    - castchannel::DeviceAuthMessage::mutable_challenge
    linkageType: ''
    returnType: unsigned
    signature: unsigned ChromecastCommunication::msgAuth()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChromecastCommunication::buildMessage
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: ChromecastCommunication::msgPing
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp
    functionUses: 0
    functionsReached:
    - ChromecastCommunication::buildMessage
    linkageType: ''
    returnType: unsigned
    signature: unsigned ChromecastCommunication::msgPing()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChromecastCommunication::buildMessage
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 216
    functionName: ChromecastCommunication::msgPong
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp
    functionUses: 0
    functionsReached:
    - ChromecastCommunication::buildMessage
    linkageType: ''
    returnType: unsigned
    signature: unsigned ChromecastCommunication::msgPong()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChromecastCommunication::buildMessage
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' destinationId'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: ChromecastCommunication::msgConnect
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp
    functionUses: 0
    functionsReached:
    - ChromecastCommunication::buildMessage
    linkageType: ''
    returnType: unsigned
    signature: unsigned ChromecastCommunication::msgConnect( const std::string& destinationId
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChromecastCommunication::buildMessage
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' destinationId'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 230
    functionName: ChromecastCommunication::msgReceiverClose
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp
    functionUses: 0
    functionsReached:
    - ChromecastCommunication::buildMessage
    linkageType: ''
    returnType: unsigned
    signature: unsigned ChromecastCommunication::msgReceiverClose( const std::string&
      destinationId )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChromecastCommunication::getNextReceiverRequestId
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:234,1
    - Dst: ChromecastCommunication::buildMessage
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:239,1
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 241
    functionName: ChromecastCommunication::msgReceiverGetStatus
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp
    functionUses: 0
    functionsReached:
    - ChromecastCommunication::buildMessage
    - ChromecastCommunication::getNextReceiverRequestId
    - std::stringstream::str
    linkageType: ''
    returnType: unsigned
    signature: unsigned ChromecastCommunication::msgReceiverGetStatus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChromecastCommunication::getNextReceiverRequestId
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:245,1
    - Dst: ChromecastCommunication::buildMessage
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:251,1
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 253
    functionName: ChromecastCommunication::msgReceiverLaunchApp
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp
    functionUses: 0
    functionsReached:
    - ChromecastCommunication::buildMessage
    - ChromecastCommunication::getNextReceiverRequestId
    - std::stringstream::str
    linkageType: ''
    returnType: unsigned
    signature: unsigned ChromecastCommunication::msgReceiverLaunchApp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChromecastCommunication::getNextRequestId
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:257,1
    - Dst: ChromecastCommunication::pushMediaPlayerMessage
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' destinationId'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 264
    functionName: ChromecastCommunication::msgPlayerGetStatus
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp
    functionUses: 0
    functionsReached:
    - ChromecastCommunication::getNextRequestId
    - ChromecastCommunication::pushMediaPlayerMessage
    linkageType: ''
    returnType: unsigned
    signature: unsigned ChromecastCommunication::msgPlayerGetStatus( const std::string&
      destinationId )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::begin
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:270,1
    - Dst: std::string::end
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:270,1
    - Dst: std::setw
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:274,1
    - Dst: std::setfill
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:274,1
    - Dst: std::ostringstream::str
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:278,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 279
    functionName: escape_json
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp
    functionUses: 0
    functionsReached:
    - std::string::begin
    - std::string::end
    - std::setw
    - std::setfill
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string escape_json(const std::string &s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_meta_Get
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:283,1
    - Dst: std::string
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:285,1
    - Dst: escape_json
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:286,1
    - Dst: std::string
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_meta
    - type
    argTypes:
    - vlc_meta_t*
    - vlc_meta_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 287
    functionName: meta_get_escaped
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp
    functionUses: 0
    functionsReached:
    - escape_json
    - std::string
    - vlc_meta_Get
    linkageType: ''
    returnType: std::string
    signature: std::string meta_get_escaped(const vlc_meta_t *p_meta, vlc_meta_type_t
      type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:294,1
    - Dst: vlc_uri_compose
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:297,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:299,1
    - Dst: std::free
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 304
    functionName: ChromecastCommunication::getServerBaseURL
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp
    functionUses: 0
    functionsReached:
    - vlc_uri_compose
    - std::free
    - c_str
    - std::bad_alloc
    linkageType: ''
    returnType: std::string
    signature: std::string ChromecastCommunication::getServerBaseURL() const
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:312,1
    - Dst: c_str
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:312,1
    - Dst: strlen
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:312,1
    - Dst: meta_get_escaped
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:324,1
    - Dst: meta_get_escaped
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:325,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:327,1
    - Dst: meta_get_escaped
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:329,1
    - Dst: meta_get_escaped
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:330,1
    - Dst: meta_get_escaped
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:331,1
    - Dst: meta_get_escaped
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:332,1
    - Dst: meta_get_escaped
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:333,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:335,1
    - Dst: meta_get_escaped
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:337,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:338,1
    - Dst: meta_get_escaped
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:339,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:342,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:349,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:351,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:353,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:355,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:357,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:361,1
    - Dst: strncmp
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:361,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:361,1
    - Dst: ChromecastCommunication::getServerBaseURL
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:368,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:370,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:370,1
    - Dst: std::stringstream::setf
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:388,1
    - Dst: std::setprecision
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:389,1
    - Dst: secf_from_vlc_tick
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:389,1
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:390,1
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:393,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 3
    argNames:
    - ' mime'
    - p_meta
    - input_length
    argTypes:
    - std::string
    - vlc_meta_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 394
    functionName: ChromecastCommunication::GetMedia
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - strlen
    - ChromecastCommunication::getServerBaseURL
    - secf_from_vlc_tick
    - std::stringstream::str
    - strncmp
    - std::string::c_str
    - msg_Dbg
    - std::setprecision
    - c_str
    - meta_get_escaped
    - std::stringstream::setf
    linkageType: ''
    returnType: std::string
    signature: "std::string ChromecastCommunication::GetMedia( const std::string&
      mime,\n                                               const vlc_meta_t *p_meta,\n
      \                                              vlc_tick_t input_length )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChromecastCommunication::getNextRequestId
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:399,1
    - Dst: ChromecastCommunication::GetMedia
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:402,1
    - Dst: ChromecastCommunication::pushMediaPlayerMessage
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' destinationId'
    - ' mime'
    - p_meta
    - input_length
    argTypes:
    - std::string
    - std::string
    - vlc_meta_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 396
    functionDepth: 3
    functionLinenumber: 396
    functionLinenumberEnd: 407
    functionName: ChromecastCommunication::msgPlayerLoad
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp
    functionUses: 0
    functionsReached:
    - ChromecastCommunication::GetMedia
    - ChromecastCommunication::getNextRequestId
    - ChromecastCommunication::pushMediaPlayerMessage
    linkageType: ''
    returnType: unsigned
    signature: "unsigned ChromecastCommunication::msgPlayerLoad( const std::string&
      destinationId,\n                                             const std::string&
      mime, const vlc_meta_t *p_meta, vlc_tick_t input_length )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:411,1
    - Dst: ChromecastCommunication::getNextRequestId
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:412,1
    - Dst: ChromecastCommunication::pushMediaPlayerMessage
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' destinationId'
    - mediaSessionId
    argTypes:
    - std::string
    - int64_t
    assertStmts:
    - condition: (mediaSessionId != 0)
      pos:
        line_end: 410
        line_start: 410
        source_file: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp
    constantsTouched: []
    func_position:
      end: 421
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 421
    functionName: ChromecastCommunication::msgPlayerPlay
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp
    functionUses: 0
    functionsReached:
    - ChromecastCommunication::getNextRequestId
    - assert
    - ChromecastCommunication::pushMediaPlayerMessage
    linkageType: ''
    returnType: unsigned
    signature: unsigned ChromecastCommunication::msgPlayerPlay( const std::string&
      destinationId, int64_t mediaSessionId )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:425,1
    - Dst: ChromecastCommunication::getNextRequestId
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:426,1
    - Dst: ChromecastCommunication::pushMediaPlayerMessage
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' destinationId'
    - mediaSessionId
    argTypes:
    - std::string
    - int64_t
    assertStmts:
    - condition: (mediaSessionId != 0)
      pos:
        line_end: 424
        line_start: 424
        source_file: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp
    constantsTouched: []
    func_position:
      end: 435
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 435
    functionName: ChromecastCommunication::msgPlayerStop
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp
    functionUses: 0
    functionsReached:
    - ChromecastCommunication::getNextRequestId
    - assert
    - ChromecastCommunication::pushMediaPlayerMessage
    linkageType: ''
    returnType: unsigned
    signature: unsigned ChromecastCommunication::msgPlayerStop( const std::string&
      destinationId, int64_t mediaSessionId )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:439,1
    - Dst: ChromecastCommunication::getNextRequestId
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:440,1
    - Dst: ChromecastCommunication::pushMediaPlayerMessage
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' destinationId'
    - mediaSessionId
    argTypes:
    - std::string
    - int64_t
    assertStmts:
    - condition: (mediaSessionId != 0)
      pos:
        line_end: 438
        line_start: 438
        source_file: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp
    constantsTouched: []
    func_position:
      end: 449
      start: 437
    functionDepth: 2
    functionLinenumber: 437
    functionLinenumberEnd: 449
    functionName: ChromecastCommunication::msgPlayerPause
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp
    functionUses: 0
    functionsReached:
    - ChromecastCommunication::getNextRequestId
    - assert
    - ChromecastCommunication::pushMediaPlayerMessage
    linkageType: ''
    returnType: unsigned
    signature: unsigned ChromecastCommunication::msgPlayerPause( const std::string&
      destinationId, int64_t mediaSessionId )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:453,1
    - Dst: ChromecastCommunication::getNextRequestId
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:454,1
    - Dst: ChromecastCommunication::pushMediaPlayerMessage
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' destinationId'
    - mediaSessionId
    - f_volume
    - b_mute
    argTypes:
    - std::string
    - int64_t
    - float
    - bool
    assertStmts:
    - condition: (mediaSessionId != 0)
      pos:
        line_end: 452
        line_start: 452
        source_file: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp
    constantsTouched: []
    func_position:
      end: 467
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 467
    functionName: ChromecastCommunication::msgPlayerSetVolume
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp
    functionUses: 0
    functionsReached:
    - ChromecastCommunication::getNextRequestId
    - assert
    - ChromecastCommunication::pushMediaPlayerMessage
    linkageType: ''
    returnType: unsigned
    signature: unsigned ChromecastCommunication::msgPlayerSetVolume( const std::string&
      destinationId, int64_t mediaSessionId, float f_volume, bool b_mute )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: castchannel::CastMessage::ByteSizeLong
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:476,1
    - Dst: uint8_t::uint8_t
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:477,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:482,1
    - Dst: castchannel::CastMessage::namespace_
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:482,1
    - Dst: castchannel::CastMessage::destination_id
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:482,1
    - Dst: castchannel::CastMessage::payload_utf8
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:482,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:485,1
    - Dst: castchannel::CastMessage::SerializeWithCachedSizesToArray
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:486,1
    - Dst: vlc_tls_Write
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:488,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:493,1
    - Dst: castchannel::CastMessage::payload_utf8
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:493,1
    - Dst: strerror
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - msg
    argTypes:
    - castchannel::CastMessage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 496
    functionName: ChromecastCommunication::sendMessage
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp
    functionUses: 1
    functionsReached:
    - vlc_tls_Write
    - castchannel::CastMessage::ByteSizeLong
    - uint8_t::uint8_t
    - SetDWBE
    - castchannel::CastMessage::payload_utf8
    - msg_Dbg
    - castchannel::CastMessage::namespace_
    - msg_Warn
    - castchannel::CastMessage::destination_id
    - castchannel::CastMessage::SerializeWithCachedSizesToArray
    - strerror
    linkageType: ''
    returnType: int
    signature: int ChromecastCommunication::sendMessage( const castchannel::CastMessage
      &msg )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:500,1
    - Dst: empty
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:500,1
    - Dst: ChromecastCommunication::buildMessage
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:501,1
    - Dst: str
      Src: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' destinationId'
    - ' payload'
    argTypes:
    - std::string
    - std::stringstream
    assertStmts:
    - condition: (!destinationId.empty())
      pos:
        line_end: 499
        line_start: 499
        source_file: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: ChromecastCommunication::pushMediaPlayerMessage
    functionSourceFile: /src/vlc/modules/stream_out/chromecast/chromecast_communication.cpp
    functionUses: 6
    functionsReached:
    - ChromecastCommunication::buildMessage
    - assert
    - empty
    - str
    linkageType: ''
    returnType: int
    signature: int ChromecastCommunication::pushMediaPlayerMessage( const std::string&
      destinationId, const std::stringstream & payload )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vector_destroy
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:56,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ev
    argTypes:
    - pcr_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: pcr_event_Delete
    functionSourceFile: /src/vlc/modules/stream_out/transcode/pcr_sync.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_vector_destroy
    linkageType: ''
    returnType: void
    signature: void pcr_event_Delete(pcr_event_t *ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: es_data_Init
    functionSourceFile: /src/vlc/modules/stream_out/transcode/pcr_sync.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct es_data
    signature: struct es_data es_data_Init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:88,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:89,1
    - Dst: vlc_vector_init
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:92,1
    - Dst: vlc_list_init
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:93,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: vlc_pcr_sync_New
    functionSourceFile: /src/vlc/modules/stream_out/transcode/pcr_sync.c
    functionUses: 2
    functionsReached:
    - vlc_mutex_init
    - vlc_vector_init
    - vlc_list_init
    - unlikely
    - malloc
    linkageType: ''
    returnType: vlc_pcr_sync_t
    signature: vlc_pcr_sync_t *vlc_pcr_sync_New(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vector_destroy
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:100,1
    - Dst: vlc_list_foreach
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:103,1
    - Dst: pcr_event_Delete
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:103,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pcr_sync
    argTypes:
    - vlc_pcr_sync_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: vlc_pcr_sync_Delete
    functionSourceFile: /src/vlc/modules/stream_out/transcode/pcr_sync.c
    functionUses: 2
    functionsReached:
    - free
    - vlc_list_foreach
    - vlc_vector_destroy
    - pcr_event_Delete
    linkageType: ''
    returnType: void
    signature: void vlc_pcr_sync_Delete(vlc_pcr_sync_t *pcr_sync)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vector_foreach
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:111,1
    - Dst: vlc_list_is_empty
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pcr_sync
    argTypes:
    - vlc_pcr_sync_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 117
    functionName: pcr_sync_ShouldFastForwardPCR
    functionSourceFile: /src/vlc/modules/stream_out/transcode/pcr_sync.c
    functionUses: 0
    functionsReached:
    - vlc_vector_foreach
    - vlc_list_is_empty
    linkageType: ''
    returnType: bool
    signature: bool pcr_sync_ShouldFastForwardPCR(vlc_pcr_sync_t *pcr_sync)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_list_last_entry_or_null
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:122,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - pcr_sync
    argTypes:
    - vlc_pcr_sync_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 140
    functionName: pcr_sync_HadFrameInputSinceLastPCR
    functionSourceFile: /src/vlc/modules/stream_out/transcode/pcr_sync.c
    functionUses: 0
    functionsReached:
    - vlc_list_last_entry_or_null
    linkageType: ''
    returnType: bool
    signature: bool pcr_sync_HadFrameInputSinceLastPCR(vlc_pcr_sync_t *pcr_sync)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcr_sync_ShouldFastForwardPCR
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:144,1
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:147,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:148,1
    - Dst: vlc_vector_init
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:151,1
    - Dst: vlc_vector_reserve
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:153,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:154,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:156,1
    - Dst: vlc_vector_foreach
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:162,1
    - Dst: vlc_vector_push
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:166,1
    - Dst: pcr_sync_HadFrameInputSinceLastPCR
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:177,1
    - Dst: vlc_list_append
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - pcr_sync
    - pcr
    argTypes:
    - vlc_pcr_sync_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 182
    functionName: pcr_sync_SignalPCRLocked
    functionSourceFile: /src/vlc/modules/stream_out/transcode/pcr_sync.c
    functionUses: 0
    functionsReached:
    - pcr_sync_HadFrameInputSinceLastPCR
    - vlc_list_append
    - pcr_sync_ShouldFastForwardPCR
    - vlc_vector_foreach
    - vlc_vector_init
    - free
    - vlc_vector_push
    - vlc_vector_reserve
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int pcr_sync_SignalPCRLocked(vlc_pcr_sync_t *pcr_sync, vlc_tick_t pcr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:186,1
    - Dst: pcr_sync_SignalPCRLocked
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:187,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pcr_sync
    - pcr
    argTypes:
    - vlc_pcr_sync_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: vlc_pcr_sync_SignalPCR
    functionSourceFile: /src/vlc/modules/stream_out/transcode/pcr_sync.c
    functionUses: 11
    functionsReached:
    - pcr_sync_SignalPCRLocked
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: int
    signature: int vlc_pcr_sync_SignalPCR(vlc_pcr_sync_t *pcr_sync, vlc_tick_t pcr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:194,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:195,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:198,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:203,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - pcr_sync
    - id
    - frame
    argTypes:
    - vlc_pcr_sync_t*
    - unsigned int
    - vlc_frame_t*
    assertStmts:
    - condition: (!data->is_deleted)
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/vlc/modules/stream_out/transcode/pcr_sync.c
    - condition: (id < pcr_sync->es_data.size)
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/vlc/modules/stream_out/transcode/pcr_sync.c
    - condition: (frame->i_dts != VLC_TICK_INVALID)
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/vlc/modules/stream_out/transcode/pcr_sync.c
    constantsTouched: []
    func_position:
      end: 208
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 208
    functionName: vlc_pcr_sync_SignalFrame
    functionSourceFile: /src/vlc/modules/stream_out/transcode/pcr_sync.c
    functionUses: 4
    functionsReached:
    - assert
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void vlc_pcr_sync_SignalFrame(vlc_pcr_sync_t *pcr_sync, unsigned int
      id, const vlc_frame_t *frame)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:212,1
    - Dst: es_data_Init
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:218,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:219,1
    - Dst: vlc_vector_push
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:225,1
    - Dst: es_data_Init
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:225,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pcr_sync
    - id
    argTypes:
    - vlc_pcr_sync_t*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 236
    functionName: vlc_pcr_sync_NewESID
    functionSourceFile: /src/vlc/modules/stream_out/transcode/pcr_sync.c
    functionUses: 4
    functionsReached:
    - es_data_Init
    - vlc_vector_push
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: int
    signature: int vlc_pcr_sync_NewESID(vlc_pcr_sync_t *pcr_sync, unsigned int *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:240,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:242,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pcr_sync
    - id
    argTypes:
    - vlc_pcr_sync_t*
    - unsigned int
    assertStmts:
    - condition: (id < pcr_sync->es_data.size)
      pos:
        line_end: 241
        line_start: 241
        source_file: /src/vlc/modules/stream_out/transcode/pcr_sync.c
    constantsTouched: []
    func_position:
      end: 246
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 246
    functionName: vlc_pcr_sync_DelESID
    functionSourceFile: /src/vlc/modules/stream_out/transcode/pcr_sync.c
    functionUses: 1
    functionsReached:
    - assert
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void vlc_pcr_sync_DelESID(vlc_pcr_sync_t *pcr_sync, unsigned int id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: pcr_event_FirstEntry
    functionSourceFile: /src/vlc/modules/stream_out/transcode/pcr_sync.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pcr_event_FirstEntry(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - entry
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: pcr_event_NextEntry
    functionSourceFile: /src/vlc/modules/stream_out/transcode/pcr_sync.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pcr_event_NextEntry(head, entry)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:256,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:259,1
    - Dst: pcr_event_FirstEntry
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:263,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:268,1
    - Dst: pcr_event_NextEntry
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:274,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:278,1
    - Dst: pcr_event_NextEntry
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:292,1
    - Dst: vlc_list_remove
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:297,1
    - Dst: pcr_event_Delete
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:298,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:300,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/pcr_sync.c:304,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 3
    argNames:
    - pcr_sync
    - id
    - frame
    argTypes:
    - vlc_pcr_sync_t*
    - unsigned int
    - vlc_frame_t*
    assertStmts:
    - condition: (id < pcr_event->es_last_dts_entries.size)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/vlc/modules/stream_out/transcode/pcr_sync.c
    - condition: (!es->is_deleted)
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/vlc/modules/stream_out/transcode/pcr_sync.c
    - condition: (pcr_event->entries_left != 0)
      pos:
        line_end: 277
        line_start: 277
        source_file: /src/vlc/modules/stream_out/transcode/pcr_sync.c
    constantsTouched: []
    func_position:
      end: 306
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 306
    functionName: vlc_pcr_sync_SignalFrameOutput
    functionSourceFile: /src/vlc/modules/stream_out/transcode/pcr_sync.c
    functionUses: 4
    functionsReached:
    - assert
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - pcr_event_NextEntry
    - pcr_event_FirstEntry
    - vlc_list_remove
    - pcr_event_Delete
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t vlc_pcr_sync_SignalFrameOutput(vlc_pcr_sync_t *pcr_sync,
      unsigned int id, const vlc_frame_t *frame)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: var_GetString
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:248,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:249,1
    - Dst: config_ChainCreate
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:251,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:254,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:256,1
    - Dst: var_GetString
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:258,1
    - Dst: vlc_fourcc_GetCodecFromString
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:262,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:263,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:266,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:268,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:272,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:273,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:282,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:286,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:291,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - p_stream
    - p_cfg
    argTypes:
    - sout_stream_t*
    - transcode_encoder_config_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 292
    functionName: SetAudioEncoderConfig
    functionSourceFile: /src/vlc/modules/stream_out/transcode/transcode.c
    functionUses: 0
    functionsReached:
    - var_GetString
    - config_ChainCreate
    - var_GetNonEmptyString
    - free
    - strcmp
    - vlc_fourcc_GetCodecFromString
    - msg_Dbg
    - msg_Warn
    - var_GetInteger
    linkageType: ''
    returnType: void
    signature: void SetAudioEncoderConfig( sout_stream_t *p_stream, transcode_encoder_config_t
      *p_cfg )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: var_GetString
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:296,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:297,1
    - Dst: config_ChainCreate
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:300,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:303,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:305,1
    - Dst: var_GetString
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:307,1
    - Dst: vlc_fourcc_GetCodecFromString
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:310,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:311,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:314,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:316,1
    - Dst: var_GetFloat
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:320,1
    - Dst: var_InheritURational
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:322,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:326,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:327,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:328,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:329,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:331,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:332,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - p_stream
    - p_cfg
    argTypes:
    - sout_stream_t*
    - transcode_encoder_config_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 333
    functionName: SetVideoEncoderConfig
    functionSourceFile: /src/vlc/modules/stream_out/transcode/transcode.c
    functionUses: 0
    functionsReached:
    - var_GetFloat
    - var_GetString
    - config_ChainCreate
    - var_InheritURational
    - free
    - strcmp
    - vlc_fourcc_GetCodecFromString
    - msg_Dbg
    - var_GetInteger
    linkageType: ''
    returnType: void
    signature: void SetVideoEncoderConfig( sout_stream_t *p_stream, transcode_encoder_config_t
      *p_cfg )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: var_GetString
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:337,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:338,1
    - Dst: config_ChainCreate
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:341,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:343,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:345,1
    - Dst: var_GetString
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:347,1
    - Dst: vlc_fourcc_GetCodecFromString
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:350,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:351,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:353,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - p_stream
    - p_cfg
    argTypes:
    - sout_stream_t*
    - transcode_encoder_config_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 355
    functionName: SetSPUEncoderConfig
    functionSourceFile: /src/vlc/modules/stream_out/transcode/transcode.c
    functionUses: 0
    functionsReached:
    - var_GetString
    - config_ChainCreate
    - free
    - strcmp
    - vlc_fourcc_GetCodecFromString
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void SetSPUEncoderConfig( sout_stream_t *p_stream, transcode_encoder_config_t
      *p_cfg )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:365,1
    - Dst: va_arg
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:366,1
    - Dst: sout_StreamControl
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:368,1
    - Dst: sout_StreamControl
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:374,1
    - Dst: va_arg
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - p_stream
    - i_query
    - args
    argTypes:
    - sout_stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 378
    functionName: Control
    functionSourceFile: /src/vlc/modules/stream_out/transcode/transcode.c
    functionUses: 54
    functionsReached:
    - va_arg
    - sout_StreamControl
    linkageType: ''
    returnType: int
    signature: int Control( sout_stream_t *p_stream, int i_query, va_list args )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:382,1
    - Dst: transcode_video_flush
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - p_stream
    - _id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 390
    functionName: Flush
    functionSourceFile: /src/vlc/modules/stream_out/transcode/transcode.c
    functionUses: 41
    functionsReached:
    - transcode_video_flush
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void Flush( sout_stream_t *p_stream, void *_id)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:411,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:413,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:417,1
    - Dst: vlc_pcr_sync_New
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:420,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:421,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:423,1
    - Dst: transcode_encoder_config_init
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:436,1
    - Dst: SetAudioEncoderConfig
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:437,1
    - Dst: sout_filters_config_init
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:440,1
    - Dst: var_GetString
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:442,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:446,1
    - Dst: transcode_encoder_config_init
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:449,1
    - Dst: SetVideoEncoderConfig
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:451,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:455,1
    - Dst: sout_filters_config_init
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:464,1
    - Dst: var_GetString
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:466,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:470,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:472,1
    - Dst: var_GetString
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:474,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:477,1
    - Dst: config_ChainCreate
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:477,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:479,1
    - Dst: var_GetString
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:483,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:487,1
    - Dst: transcode_encoder_config_init
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:490,1
    - Dst: SetSPUEncoderConfig
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:492,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:494,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:496,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:500,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 56
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 509
    functionName: Open
    functionSourceFile: /src/vlc/modules/stream_out/transcode/transcode.c
    functionUses: 31
    functionsReached:
    - transcode_encoder_config_init
    - var_GetString
    - config_ChainCreate
    - vlc_mutex_init
    - unlikely
    - sout_filters_config_init
    - config_ChainParse
    - calloc
    - vlc_pcr_sync_New
    - free
    - SetVideoEncoderConfig
    - msg_Dbg
    - SetSPUEncoderConfig
    - var_GetBool
    - SetAudioEncoderConfig
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transcode_encoder_config_clean
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:518,1
    - Dst: sout_filters_config_clean
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:519,1
    - Dst: transcode_encoder_config_clean
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:521,1
    - Dst: sout_filters_config_clean
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:522,1
    - Dst: transcode_encoder_config_clean
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:524,1
    - Dst: vlc_pcr_sync_Delete
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:527,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 514
    functionDepth: 3
    functionLinenumber: 514
    functionLinenumberEnd: 530
    functionName: Close
    functionSourceFile: /src/vlc/modules/stream_out/transcode/transcode.c
    functionUses: 103
    functionsReached:
    - free
    - transcode_encoder_config_clean
    - vlc_pcr_sync_Delete
    - sout_filters_config_clean
    linkageType: ''
    returnType: void
    signature: void Close( sout_stream_t *p_stream )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - sout_stream_id_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 535
    functionName: DeleteSoutStreamID
    functionSourceFile: /src/vlc/modules/stream_out/transcode/transcode.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void DeleteSoutStreamID( sout_stream_id_sys_t *id )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:541,1
    - Dst: subpicture_Delete
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:543,1
    - Dst: transcode_video_push_spu
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:545,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cbdata
    - p_subpicture
    argTypes:
    - void*
    - subpicture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 548
    functionName: SendSpuToVideoCallback
    functionSourceFile: /src/vlc/modules/stream_out/transcode/transcode.c
    functionUses: 0
    functionsReached:
    - transcode_video_push_spu
    - subpicture_Delete
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void SendSpuToVideoCallback( void *cbdata, subpicture_t *p_subpicture
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:555,1
    - Dst: transcode_video_get_output_dimensions
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:557,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cbdata
    - w
    - h
    argTypes:
    - void*
    - unsigned*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 560
    functionName: GetVideoDimensions
    functionSourceFile: /src/vlc/modules/stream_out/transcode/transcode.c
    functionUses: 0
    functionsReached:
    - transcode_video_get_output_dimensions
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: int
    signature: int GetVideoDimensions( void *cbdata, unsigned *w, unsigned *h )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:566,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cbdata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 572
    functionName: GetMasterDrift
    functionSourceFile: /src/vlc/modules/stream_out/transcode/transcode.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t GetMasterDrift( void *cbdata )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:577,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:580,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cbdata
    - i_drift
    argTypes:
    - void*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 585
    functionName: ValidateDrift
    functionSourceFile: /src/vlc/modules/stream_out/transcode/transcode.c
    functionUses: 0
    functionsReached:
    - unlikely
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int ValidateDrift( void *cbdata, vlc_tick_t i_drift )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Init
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:595,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:596,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:601,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:603,1
    - Dst: sout_StreamIdAdd
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:611,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:612,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - p_stream
    - fmt_orig
    - fmt
    - es_id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - es_format_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 614
    functionName: transcode_downstream_Add
    functionSourceFile: /src/vlc/modules/stream_out/transcode/transcode.c
    functionUses: 0
    functionsReached:
    - strdup
    - es_format_Clean
    - sout_StreamIdAdd
    - es_format_Init
    - es_format_Copy
    linkageType: ''
    returnType: void
    signature: "void *transcode_downstream_Add( sout_stream_t *p_stream,\n                                       const
      es_format_t *fmt_orig,\n                                       const es_format_t
      *fmt,\n                                       const char *es_id )"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:622,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:626,1
    - Dst: vlc_object_create
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:630,1
    - Dst: decoder_Init
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:636,1
    - Dst: es_format_SetMeta
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:638,1
    - Dst: transcode_audio_init
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:674,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:675,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:678,1
    - Dst: transcode_video_init
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:682,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:683,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:686,1
    - Dst: transcode_spu_init
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:690,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:693,1
    - Dst: transcode_downstream_Add
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:695,1
    - Dst: transcode_track_pcr_helper_New
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:715,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:715,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:716,1
    - Dst: dec_Delete
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:727,1
    - Dst: DeleteSoutStreamID
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:728,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 82
    argCount: 3
    argNames:
    - p_stream
    - p_fmt
    - es_id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 730
    functionName: Add
    functionSourceFile: /src/vlc/modules/stream_out/transcode/transcode.c
    functionUses: 68
    functionsReached:
    - decoder_Init
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - es_format_SetMeta
    - VLC_TICK_FROM_SEC
    - vlc_mutex_init
    - vlc_object_create
    - transcode_spu_init
    - transcode_video_init
    - calloc
    - transcode_downstream_Add
    - transcode_track_pcr_helper_New
    - msg_Dbg
    - DeleteSoutStreamID
    - transcode_audio_init
    - dec_Delete
    - unlikely
    linkageType: ''
    returnType: void
    signature: 'void *

      Add( sout_stream_t *p_stream, const es_format_t *p_fmt, const char *es_id )'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Send
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:743,1
    - Dst: dec_Delete
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:744,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:745,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:748,1
    - Dst: transcode_audio_clean
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:749,1
    - Dst: atomic_load_explicit
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:754,1
    - Dst: Send
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:755,1
    - Dst: dec_Delete
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:756,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:757,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:760,1
    - Dst: transcode_video_clean
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:761,1
    - Dst: dec_Delete
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:764,1
    - Dst: transcode_spu_clean
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:765,1
    - Dst: transcode_track_pcr_helper_Delete
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:771,1
    - Dst: dec_Delete
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:775,1
    - Dst: sout_StreamIdDel
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:777,1
    - Dst: DeleteSoutStreamID
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:779,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 2
    argNames:
    - p_stream
    - _id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 780
    functionName: Del
    functionSourceFile: /src/vlc/modules/stream_out/transcode/transcode.c
    functionUses: 53
    functionsReached:
    - transcode_spu_clean
    - transcode_video_clean
    - atomic_load_explicit
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - transcode_audio_clean
    - Send
    - sout_StreamIdDel
    - DeleteSoutStreamID
    - dec_Delete
    - transcode_track_pcr_helper_Delete
    linkageType: ''
    returnType: void
    signature: void Del( sout_stream_t *p_stream, void *_id )
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_explicit
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:787,1
    - Dst: sout_StreamIdSend
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:793,1
    - Dst: transcode_track_pcr_helper_SignalEnteringFrame
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:805,1
    - Dst: sout_StreamSetPCR
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:809,1
    - Dst: transcode_audio_process
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:817,1
    - Dst: transcode_video_process
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:821,1
    - Dst: transcode_spu_process
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:825,1
    - Dst: transcode_track_pcr_helper_SignalLeavingFrame
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:840,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:844,1
    - Dst: sout_StreamIdSend
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:851,1
    - Dst: sout_StreamSetPCR
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:859,1
    - Dst: atomic_store_explicit
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:866,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:871,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 58
    argCount: 3
    argNames:
    - p_stream
    - _id
    - p_buffer
    argTypes:
    - sout_stream_t*
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 873
    functionName: Send
    functionSourceFile: /src/vlc/modules/stream_out/transcode/transcode.c
    functionUses: 103
    functionsReached:
    - atomic_store_explicit
    - block_Release
    - atomic_load_explicit
    - sout_StreamIdSend
    - transcode_spu_process
    - transcode_track_pcr_helper_SignalLeavingFrame
    - transcode_audio_process
    - transcode_video_process
    - msg_Err
    - sout_StreamSetPCR
    - transcode_track_pcr_helper_SignalEnteringFrame
    linkageType: ''
    returnType: int
    signature: int Send( sout_stream_t *p_stream, void *_id, block_t *p_buffer )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sout_StreamSetPCR
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:884,1
    - Dst: vlc_pcr_sync_SignalPCR
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:888,1
    - Dst: sout_StreamSetPCR
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:905,1
    - Dst: sout_StreamSetPCR
      Src: /src/vlc/modules/stream_out/transcode/transcode.c:910,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - stream
    - pcr
    argTypes:
    - sout_stream_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 875
    functionDepth: 4
    functionLinenumber: 875
    functionLinenumberEnd: 913
    functionName: SetPCR
    functionSourceFile: /src/vlc/modules/stream_out/transcode/transcode.c
    functionUses: 42
    functionsReached:
    - vlc_pcr_sync_SignalPCR
    - sout_StreamSetPCR
    linkageType: ''
    returnType: void
    signature: void SetPCR( sout_stream_t *stream, vlc_tick_t pcr )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/stream_out/transcode/transcode.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_cfg
    argTypes:
    - sout_filters_config_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: sout_filters_config_init
    functionSourceFile: /src/vlc/modules/stream_out/transcode/transcode.h
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void sout_filters_config_init( sout_filters_config_t *p_cfg )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/transcode.h:35,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/transcode.h:38,1
    - Dst: config_ChainDestroy
      Src: /src/vlc/modules/stream_out/transcode/transcode.h:39,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/transcode.h:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_cfg
    argTypes:
    - sout_filters_config_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: sout_filters_config_clean
    functionSourceFile: /src/vlc/modules/stream_out/transcode/transcode.h
    functionUses: 1
    functionsReached:
    - free
    - config_ChainDestroy
    linkageType: ''
    returnType: void
    signature: void sout_filters_config_clean( sout_filters_config_t *p_cfg )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/stream_out/transcode/transcode.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: dec_get_owner
    functionSourceFile: /src/vlc/modules/stream_out/transcode/transcode.h
    functionUses: 9
    functionsReached:
    - container_of
    linkageType: ''
    returnType: struct decoder_owner
    signature: struct decoder_owner *dec_get_owner( decoder_t *p_dec )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dec_get_owner
      Src: /src/vlc/modules/stream_out/transcode/transcode.h:181,1
    - Dst: decoder_Clean
      Src: /src/vlc/modules/stream_out/transcode/transcode.h:183,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/transcode/transcode.h:184,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/stream_out/transcode/transcode.h:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 186
    functionName: dec_Delete
    functionSourceFile: /src/vlc/modules/stream_out/transcode/transcode.h
    functionUses: 2
    functionsReached:
    - decoder_Clean
    - vlc_object_delete
    - es_format_Clean
    - dec_get_owner
    linkageType: ''
    returnType: void
    signature: void dec_Delete( decoder_t *p_dec )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/transcode.h:194,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/transcode/transcode.h:195,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/transcode.h:199,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/transcode/transcode.h:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - p_dst
    - p_src
    argTypes:
    - es_format_t*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 202
    functionName: es_format_SetMeta
    functionSourceFile: /src/vlc/modules/stream_out/transcode/transcode.h
    functionUses: 1
    functionsReached:
    - free
    - strdup
    linkageType: ''
    returnType: void
    signature: void es_format_SetMeta( es_format_t *p_dst, const es_format_t *p_src
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: filter_chain_Delete
      Src: /src/vlc/modules/stream_out/transcode/transcode.h:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pp
    argTypes:
    - filter_chain_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 211
    functionName: transcode_remove_filters
    functionSourceFile: /src/vlc/modules/stream_out/transcode/transcode.h
    functionUses: 0
    functionsReached:
    - filter_chain_Delete
    linkageType: ''
    returnType: void
    signature: void transcode_remove_filters( filter_chain_t **pp )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_decoder_device_Create
      Src: /src/vlc/modules/stream_out/transcode/video.c:52,1
    - Dst: vlc_decoder_device_Hold
      Src: /src/vlc/modules/stream_out/transcode/video.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - o
    - id
    argTypes:
    - vlc_object_t*
    - sout_stream_id_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: TranscodeHoldDecoderDevice
    functionSourceFile: /src/vlc/modules/stream_out/transcode/video.c
    functionUses: 0
    functionsReached:
    - vlc_decoder_device_Create
    - vlc_decoder_device_Hold
    linkageType: ''
    returnType: vlc_decoder_device
    signature: vlc_decoder_device *TranscodeHoldDecoderDevice(vlc_object_t *o, sout_stream_id_sys_t
      *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/stream_out/transcode/video.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_enc
    argTypes:
    - encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: enc_get_owner
    functionSourceFile: /src/vlc/modules/stream_out/transcode/video.c
    functionUses: 0
    functionsReached:
    - container_of
    linkageType: ''
    returnType: struct encoder_owner
    signature: struct encoder_owner *enc_get_owner( encoder_t *p_enc )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: enc_get_owner
      Src: /src/vlc/modules/stream_out/transcode/video.c:63,1
    - Dst: vlc_decoder_device_Create
      Src: /src/vlc/modules/stream_out/transcode/video.c:65,1
    - Dst: vlc_decoder_device_Hold
      Src: /src/vlc/modules/stream_out/transcode/video.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - enc
    argTypes:
    - encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: video_get_encoder_device
    functionSourceFile: /src/vlc/modules/stream_out/transcode/video.c
    functionUses: 0
    functionsReached:
    - vlc_decoder_device_Create
    - vlc_decoder_device_Hold
    - enc_get_owner
    linkageType: ''
    returnType: vlc_decoder_device
    signature: vlc_decoder_device *video_get_encoder_device( encoder_t *enc )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritBool
      Src: /src/vlc/modules/stream_out/transcode/video.c:76,1
    - Dst: dec_get_owner
      Src: /src/vlc/modules/stream_out/transcode/video.c:79,1
    - Dst: TranscodeHoldDecoderDevice
      Src: /src/vlc/modules/stream_out/transcode/video.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: video_get_decoder_device
    functionSourceFile: /src/vlc/modules/stream_out/transcode/video.c
    functionUses: 0
    functionsReached:
    - TranscodeHoldDecoderDevice
    - var_InheritBool
    - dec_get_owner
    linkageType: ''
    returnType: vlc_decoder_device
    signature: vlc_decoder_device * video_get_decoder_device( decoder_t *p_dec )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/transcode/video.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_obj
    - fmt
    argTypes:
    - vlc_object_t*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: debug_format
    functionSourceFile: /src/vlc/modules/stream_out/transcode/video.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void debug_format( vlc_object_t *p_obj, const es_format_t *fmt )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/stream_out/transcode/video.c:95,1
    - Dst: picture_NewFromFormat
      Src: /src/vlc/modules/stream_out/transcode/video.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: (p_filter->fmt_out.video.i_chroma == p_filter->fmt_out.i_codec)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/vlc/modules/stream_out/transcode/video.c
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: transcode_video_filter_buffer_new
    functionSourceFile: /src/vlc/modules/stream_out/transcode/video.c
    functionUses: 0
    functionsReached:
    - assert
    - picture_NewFromFormat
    linkageType: ''
    returnType: picture_t
    signature: picture_t *transcode_video_filter_buffer_new( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TranscodeHoldDecoderDevice
      Src: /src/vlc/modules/stream_out/transcode/video.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - o
    - sys
    argTypes:
    - vlc_object_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: transcode_video_filter_hold_device
    functionSourceFile: /src/vlc/modules/stream_out/transcode/video.c
    functionUses: 0
    functionsReached:
    - TranscodeHoldDecoderDevice
    linkageType: ''
    returnType: vlc_decoder_device
    signature: vlc_decoder_device * transcode_video_filter_hold_device(vlc_object_t
      *o, void *sys)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: dec_get_owner
      Src: /src/vlc/modules/stream_out/transcode/video.c:119,1
    - Dst: atomic_load_explicit
      Src: /src/vlc/modules/stream_out/transcode/video.c:122,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/transcode/video.c:125,1
    - Dst: transcode_encoder_opened
      Src: /src/vlc/modules/stream_out/transcode/video.c:126,1
    - Dst: video_format_IsSimilar
      Src: /src/vlc/modules/stream_out/transcode/video.c:128,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/video.c:130,1
    - Dst: transcode_remove_filters
      Src: /src/vlc/modules/stream_out/transcode/video.c:134,1
    - Dst: transcode_remove_filters
      Src: /src/vlc/modules/stream_out/transcode/video.c:135,1
    - Dst: transcode_remove_filters
      Src: /src/vlc/modules/stream_out/transcode/video.c:136,1
    - Dst: sout_EncoderCreate
      Src: /src/vlc/modules/stream_out/transcode/video.c:141,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/transcode/video.c:141,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/transcode/video.c:142,1
    - Dst: transcode_encoder_new
      Src: /src/vlc/modules/stream_out/transcode/video.c:145,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/stream_out/transcode/video.c:148,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/transcode/video.c:157,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/stream_out/transcode/video.c:158,1
    - Dst: es_format_SetMeta
      Src: /src/vlc/modules/stream_out/transcode/video.c:160,1
    - Dst: transcode_video_filters_init
      Src: /src/vlc/modules/stream_out/transcode/video.c:162,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/transcode/video.c:168,1
    - Dst: filter_chain_GetVideoCtxOut
      Src: /src/vlc/modules/stream_out/transcode/video.c:177,1
    - Dst: filter_chain_GetFmtOut
      Src: /src/vlc/modules/stream_out/transcode/video.c:178,1
    - Dst: filter_chain_GetVideoCtxOut
      Src: /src/vlc/modules/stream_out/transcode/video.c:182,1
    - Dst: filter_chain_GetFmtOut
      Src: /src/vlc/modules/stream_out/transcode/video.c:183,1
    - Dst: transcode_encoder_opened
      Src: /src/vlc/modules/stream_out/transcode/video.c:191,1
    - Dst: transcode_encoder_video_configure
      Src: /src/vlc/modules/stream_out/transcode/video.c:193,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/transcode/video.c:193,1
    - Dst: transcode_encoder_open
      Src: /src/vlc/modules/stream_out/transcode/video.c:200,1
    - Dst: transcode_encoder_format_in
      Src: /src/vlc/modules/stream_out/transcode/video.c:204,1
    - Dst: video_format_IsSimilar
      Src: /src/vlc/modules/stream_out/transcode/video.c:206,1
    - Dst: filter_chain_NewVideo
      Src: /src/vlc/modules/stream_out/transcode/video.c:215,1
    - Dst: filter_chain_Reset
      Src: /src/vlc/modules/stream_out/transcode/video.c:216,1
    - Dst: filter_chain_AppendConverter
      Src: /src/vlc/modules/stream_out/transcode/video.c:220,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/video.c:223,1
    - Dst: sout_stream_id_sys_t*::pf_transcode_downstream_add
      Src: /src/vlc/modules/stream_out/transcode/video.c:227,1
    - Dst: transcode_encoder_format_out
      Src: /src/vlc/modules/stream_out/transcode/video.c:229,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/transcode/video.c:234,1
    - Dst: msg_Info
      Src: /src/vlc/modules/stream_out/transcode/video.c:238,1
    - Dst: atomic_store_explicit
      Src: /src/vlc/modules/stream_out/transcode/video.c:245,1
    - Dst: transcode_remove_filters
      Src: /src/vlc/modules/stream_out/transcode/video.c:247,1
    - Dst: transcode_encoder_opened
      Src: /src/vlc/modules/stream_out/transcode/video.c:249,1
    - Dst: transcode_encoder_close
      Src: /src/vlc/modules/stream_out/transcode/video.c:250,1
    - Dst: transcode_remove_filters
      Src: /src/vlc/modules/stream_out/transcode/video.c:252,1
    - Dst: transcode_remove_filters
      Src: /src/vlc/modules/stream_out/transcode/video.c:253,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/video.c:255,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 80
    argCount: 2
    argNames:
    - p_dec
    - vctx
    argTypes:
    - decoder_t*
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 258
    functionName: video_update_format_decoder
    functionSourceFile: /src/vlc/modules/stream_out/transcode/video.c
    functionUses: 0
    functionsReached:
    - filter_chain_GetVideoCtxOut
    - filter_chain_Reset
    - transcode_encoder_new
    - transcode_encoder_opened
    - vlc_mutex_lock
    - es_format_SetMeta
    - filter_chain_GetFmtOut
    - sout_stream_id_sys_t*::pf_transcode_downstream_add
    - msg_Err
    - transcode_video_filters_init
    - transcode_remove_filters
    - transcode_encoder_format_out
    - transcode_encoder_format_in
    - atomic_load_explicit
    - filter_chain_NewVideo
    - sout_EncoderCreate
    - vlc_object_delete
    - es_format_Copy
    - transcode_encoder_open
    - transcode_encoder_video_configure
    - atomic_store_explicit
    - vlc_mutex_unlock
    - dec_get_owner
    - es_format_Clean
    - transcode_encoder_close
    - filter_chain_AppendConverter
    - msg_Info
    - VLC_OBJECT
    - video_format_IsSimilar
    - unlikely
    linkageType: ''
    returnType: int
    signature: int video_update_format_decoder( decoder_t *p_dec, vlc_video_context
      *vctx )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: picture_NewFromFormat
      Src: /src/vlc/modules/stream_out/transcode/video.c:262,1
    - Dst: transcode_encoder_format_in
      Src: /src/vlc/modules/stream_out/transcode/video.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_enc
    argTypes:
    - transcode_encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 263
    functionName: video_new_buffer_encoder
    functionSourceFile: /src/vlc/modules/stream_out/transcode/video.c
    functionUses: 0
    functionsReached:
    - transcode_encoder_format_in
    - picture_NewFromFormat
    linkageType: ''
    returnType: picture_t
    signature: picture_t *video_new_buffer_encoder( transcode_encoder_t *p_enc )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dec_get_owner
      Src: /src/vlc/modules/stream_out/transcode/video.c:270,1
    - Dst: transcode_process_picture
      Src: /src/vlc/modules/stream_out/transcode/video.c:274,1
    - Dst: atomic_store_explicit
      Src: /src/vlc/modules/stream_out/transcode/video.c:280,1
    - Dst: vlc_fifo_Lock
      Src: /src/vlc/modules/stream_out/transcode/video.c:282,1
    - Dst: atomic_load_explicit
      Src: /src/vlc/modules/stream_out/transcode/video.c:283,1
    - Dst: vlc_fifo_Unlock
      Src: /src/vlc/modules/stream_out/transcode/video.c:285,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_out/transcode/video.c:286,1
    - Dst: vlc_fifo_QueueUnlocked
      Src: /src/vlc/modules/stream_out/transcode/video.c:290,1
    - Dst: vlc_fifo_Unlock
      Src: /src/vlc/modules/stream_out/transcode/video.c:291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - p_dec
    - p_pic
    argTypes:
    - decoder_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 292
    functionName: decoder_queue_video
    functionSourceFile: /src/vlc/modules/stream_out/transcode/video.c
    functionUses: 0
    functionsReached:
    - atomic_store_explicit
    - atomic_load_explicit
    - transcode_process_picture
    - dec_get_owner
    - vlc_fifo_Unlock
    - block_ChainRelease
    - vlc_fifo_QueueUnlocked
    - vlc_fifo_Lock
    linkageType: ''
    returnType: void
    signature: void decoder_queue_video( decoder_t *p_dec, picture_t *p_pic )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/transcode/video.c:297,1
    - Dst: block_FifoNew
      Src: /src/vlc/modules/stream_out/transcode/video.c:301,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/stream_out/transcode/video.c:306,1
    - Dst: dec_get_owner
      Src: /src/vlc/modules/stream_out/transcode/video.c:310,1
    - Dst: decoder_LoadModule
      Src: /src/vlc/modules/stream_out/transcode/video.c:325,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/transcode/video.c:329,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/transcode/video.c:330,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/transcode/video.c:335,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/stream_out/transcode/video.c:336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - p_stream
    - p_fmt
    - id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - sout_stream_id_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 340
    functionName: transcode_video_init
    functionSourceFile: /src/vlc/modules/stream_out/transcode/video.c
    functionUses: 1
    functionsReached:
    - es_format_Clean
    - dec_get_owner
    - block_FifoNew
    - msg_Err
    - msg_Dbg
    - es_format_Init
    - es_format_Copy
    - decoder_LoadModule
    linkageType: ''
    returnType: int
    signature: "int transcode_video_init( sout_stream_t *p_stream, const es_format_t
      *p_fmt,\n                          sout_stream_id_sys_t *id )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: filter_chain_NewVideo
      Src: /src/vlc/modules/stream_out/transcode/video.c:354,1
    - Dst: filter_chain_Reset
      Src: /src/vlc/modules/stream_out/transcode/video.c:357,1
    - Dst: filter_chain_AppendFilter
      Src: /src/vlc/modules/stream_out/transcode/video.c:362,1
    - Dst: filter_chain_GetFmtOut
      Src: /src/vlc/modules/stream_out/transcode/video.c:366,1
    - Dst: filter_chain_GetVideoCtxOut
      Src: /src/vlc/modules/stream_out/transcode/video.c:367,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/stream_out/transcode/video.c:376,1
    - Dst: filter_chain_AppendFilter
      Src: /src/vlc/modules/stream_out/transcode/video.c:379,1
    - Dst: filter_chain_GetFmtOut
      Src: /src/vlc/modules/stream_out/transcode/video.c:380,1
    - Dst: filter_chain_GetVideoCtxOut
      Src: /src/vlc/modules/stream_out/transcode/video.c:381,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/transcode/video.c:382,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/transcode/video.c:388,1
    - Dst: filter_chain_NewVideo
      Src: /src/vlc/modules/stream_out/transcode/video.c:389,1
    - Dst: filter_chain_Reset
      Src: /src/vlc/modules/stream_out/transcode/video.c:392,1
    - Dst: filter_chain_AppendFromString
      Src: /src/vlc/modules/stream_out/transcode/video.c:393,1
    - Dst: filter_chain_GetFmtOut
      Src: /src/vlc/modules/stream_out/transcode/video.c:394,1
    - Dst: debug_format
      Src: /src/vlc/modules/stream_out/transcode/video.c:395,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/transcode/video.c:395,1
    - Dst: transcode_encoder_update_format_in
      Src: /src/vlc/modules/stream_out/transcode/video.c:399,1
    - Dst: spu_Create
      Src: /src/vlc/modules/stream_out/transcode/video.c:404,1
    - Dst: spu_ChangeSources
      Src: /src/vlc/modules/stream_out/transcode/video.c:405,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 6
    argNames:
    - p_stream
    - p_cfg
    - p_src
    - src_ctx
    - p_dst
    - id
    argTypes:
    - sout_stream_t*
    - sout_filters_config_t*
    - es_format_t*
    - vlc_video_context*
    - es_format_t*
    - sout_stream_id_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 409
    functionName: transcode_video_filters_init
    functionSourceFile: /src/vlc/modules/stream_out/transcode/video.c
    functionUses: 1
    functionsReached:
    - filter_chain_GetVideoCtxOut
    - es_format_Clean
    - filter_chain_GetFmtOut
    - filter_chain_AppendFilter
    - debug_format
    - spu_ChangeSources
    - filter_chain_NewVideo
    - filter_chain_Reset
    - msg_Dbg
    - VLC_OBJECT
    - filter_chain_AppendFromString
    - es_format_Copy
    - spu_Create
    - transcode_encoder_update_format_in
    linkageType: ''
    returnType: int
    signature: "int transcode_video_filters_init( sout_stream_t *p_stream,\n                                         const
      sout_filters_config_t *p_cfg,\n                                         const
      es_format_t *p_src,\n                                         vlc_video_context
      *src_ctx,\n                                         const es_format_t *p_dst,\n
      \                                        sout_stream_id_sys_t *id )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: filter_chain_VideoFlush
      Src: /src/vlc/modules/stream_out/transcode/video.c:414,1
    - Dst: filter_chain_VideoFlush
      Src: /src/vlc/modules/stream_out/transcode/video.c:416,1
    - Dst: filter_chain_VideoFlush
      Src: /src/vlc/modules/stream_out/transcode/video.c:418,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - sout_stream_id_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 419
    functionName: transcode_video_flush
    functionSourceFile: /src/vlc/modules/stream_out/transcode/video.c
    functionUses: 1
    functionsReached:
    - filter_chain_VideoFlush
    linkageType: ''
    returnType: void
    signature: void transcode_video_flush( sout_stream_id_sys_t *id )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: transcode_encoder_delete
      Src: /src/vlc/modules/stream_out/transcode/video.c:425,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/transcode/video.c:427,1
    - Dst: transcode_remove_filters
      Src: /src/vlc/modules/stream_out/transcode/video.c:430,1
    - Dst: transcode_remove_filters
      Src: /src/vlc/modules/stream_out/transcode/video.c:431,1
    - Dst: transcode_remove_filters
      Src: /src/vlc/modules/stream_out/transcode/video.c:432,1
    - Dst: filter_DeleteBlend
      Src: /src/vlc/modules/stream_out/transcode/video.c:434,1
    - Dst: spu_Destroy
      Src: /src/vlc/modules/stream_out/transcode/video.c:436,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/stream_out/transcode/video.c:438,1
    - Dst: block_FifoRelease
      Src: /src/vlc/modules/stream_out/transcode/video.c:440,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - id
    argTypes:
    - sout_stream_id_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 441
    functionName: transcode_video_clean
    functionSourceFile: /src/vlc/modules/stream_out/transcode/video.c
    functionUses: 1
    functionsReached:
    - transcode_encoder_delete
    - block_FifoRelease
    - es_format_Clean
    - vlc_decoder_device_Release
    - spu_Destroy
    - transcode_remove_filters
    - filter_DeleteBlend
    linkageType: ''
    returnType: void
    signature: void transcode_video_clean( sout_stream_id_sys_t *id )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: spu_Create
      Src: /src/vlc/modules/stream_out/transcode/video.c:447,1
    - Dst: subpicture_Delete
      Src: /src/vlc/modules/stream_out/transcode/video.c:449,1
    - Dst: spu_PutSubpicture
      Src: /src/vlc/modules/stream_out/transcode/video.c:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - p_stream
    - id
    - p_subpicture
    argTypes:
    - sout_stream_t*
    - sout_stream_id_sys_t*
    - subpicture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 452
    functionName: transcode_video_push_spu
    functionSourceFile: /src/vlc/modules/stream_out/transcode/video.c
    functionUses: 1
    functionsReached:
    - spu_Create
    - spu_PutSubpicture
    - subpicture_Delete
    linkageType: ''
    returnType: void
    signature: "void transcode_video_push_spu( sout_stream_t *p_stream, sout_stream_id_sys_t
      *id,\n                               subpicture_t *p_subpicture )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/transcode/video.c:457,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/video.c:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - id
    - w
    - h
    argTypes:
    - sout_stream_id_sys_t*
    - unsigned*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 462
    functionName: transcode_video_get_output_dimensions
    functionSourceFile: /src/vlc/modules/stream_out/transcode/video.c
    functionUses: 1
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: int
    signature: "int transcode_video_get_output_dimensions( sout_stream_id_sys_t *id,\n
      \                                          unsigned *w, unsigned *h )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/transcode/video.c:471,1
    - Dst: video_format_Copy
      Src: /src/vlc/modules/stream_out/transcode/video.c:472,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/video.c:473,1
    - Dst: video_format_Copy
      Src: /src/vlc/modules/stream_out/transcode/video.c:474,1
    - Dst: spu_Render
      Src: /src/vlc/modules/stream_out/transcode/video.c:484,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/stream_out/transcode/video.c:485,1
    - Dst: filter_chain_IsEmpty
      Src: /src/vlc/modules/stream_out/transcode/video.c:491,1
    - Dst: video_new_buffer_encoder
      Src: /src/vlc/modules/stream_out/transcode/video.c:495,1
    - Dst: likely
      Src: /src/vlc/modules/stream_out/transcode/video.c:496,1
    - Dst: picture_Copy
      Src: /src/vlc/modules/stream_out/transcode/video.c:498,1
    - Dst: picture_Release
      Src: /src/vlc/modules/stream_out/transcode/video.c:499,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/transcode/video.c:503,1
    - Dst: filter_NewBlend
      Src: /src/vlc/modules/stream_out/transcode/video.c:504,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/transcode/video.c:504,1
    - Dst: likely
      Src: /src/vlc/modules/stream_out/transcode/video.c:505,1
    - Dst: picture_BlendSubpicture
      Src: /src/vlc/modules/stream_out/transcode/video.c:506,1
    - Dst: vlc_render_subpicture_Delete
      Src: /src/vlc/modules/stream_out/transcode/video.c:507,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/stream_out/transcode/video.c:509,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/stream_out/transcode/video.c:510,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - id
    - p_pic
    argTypes:
    - sout_stream_id_sys_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 464
    functionDepth: 2
    functionLinenumber: 464
    functionLinenumberEnd: 513
    functionName: RenderSubpictures
    functionSourceFile: /src/vlc/modules/stream_out/transcode/video.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - picture_BlendSubpicture
    - video_format_Copy
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_render_subpicture_Delete
    - video_new_buffer_encoder
    - picture_Release
    - likely
    - VLC_OBJECT
    - filter_chain_IsEmpty
    - video_format_Clean
    - filter_NewBlend
    - unlikely
    - spu_Render
    - picture_Copy
    linkageType: ''
    returnType: picture_t
    signature: picture_t * RenderSubpictures( sout_stream_id_sys_t *id, picture_t
      *p_pic )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - out
    - i_flag
    argTypes:
    - block_t**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 524
    functionName: tag_last_block_with_flag
    functionSourceFile: /src/vlc/modules/stream_out/transcode/video.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tag_last_block_with_flag( block_t **out, int i_flag )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: filter_chain_VideoFilter
      Src: /src/vlc/modules/stream_out/transcode/video.c:537,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/stream_out/transcode/video.c:547,1
    - Dst: filter_chain_VideoFilter
      Src: /src/vlc/modules/stream_out/transcode/video.c:551,1
    - Dst: RenderSubpictures
      Src: /src/vlc/modules/stream_out/transcode/video.c:558,1
    - Dst: transcode_encoder_encode
      Src: /src/vlc/modules/stream_out/transcode/video.c:563,1
    - Dst: picture_Release
      Src: /src/vlc/modules/stream_out/transcode/video.c:564,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/stream_out/transcode/video.c:565,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 3
    argNames:
    - id
    - p_pic
    - out
    argTypes:
    - sout_stream_id_sys_t*
    - picture_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 526
    functionDepth: 3
    functionLinenumber: 526
    functionLinenumberEnd: 571
    functionName: transcode_process_picture
    functionSourceFile: /src/vlc/modules/stream_out/transcode/video.c
    functionUses: 1
    functionsReached:
    - transcode_encoder_encode
    - ARRAY_SIZE
    - block_ChainAppend
    - RenderSubpictures
    - picture_Release
    - filter_chain_VideoFilter
    linkageType: ''
    returnType: int
    signature: "int transcode_process_picture( sout_stream_id_sys_t *id,\n                                      picture_t
      *p_pic, block_t **out)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sout_stream_id_sys_t*::p_decoder::pf_decode
      Src: /src/vlc/modules/stream_out/transcode/video.c:580,1
    - Dst: vlc_fifo_Lock
      Src: /src/vlc/modules/stream_out/transcode/video.c:594,1
    - Dst: atomic_load_explicit
      Src: /src/vlc/modules/stream_out/transcode/video.c:595,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/transcode/video.c:596,1
    - Dst: transcode_encoder_opened
      Src: /src/vlc/modules/stream_out/transcode/video.c:596,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/transcode/video.c:598,1
    - Dst: transcode_encoder_drain
      Src: /src/vlc/modules/stream_out/transcode/video.c:599,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/transcode/video.c:600,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_out/transcode/video.c:602,1
    - Dst: vlc_fifo_DequeueAllUnlocked
      Src: /src/vlc/modules/stream_out/transcode/video.c:606,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/stream_out/transcode/video.c:607,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/stream_out/transcode/video.c:608,1
    - Dst: vlc_fifo_Unlock
      Src: /src/vlc/modules/stream_out/transcode/video.c:611,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_out/transcode/video.c:614,1
    - Dst: tag_last_block_with_flag
      Src: /src/vlc/modules/stream_out/transcode/video.c:617,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - p_stream
    - id
    - in
    - out
    argTypes:
    - sout_stream_t*
    - sout_stream_id_sys_t*
    - block_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 620
    functionName: transcode_video_process
    functionSourceFile: /src/vlc/modules/stream_out/transcode/video.c
    functionUses: 1
    functionsReached:
    - sout_stream_id_sys_t*::p_decoder::pf_decode
    - transcode_encoder_opened
    - atomic_load_explicit
    - transcode_encoder_drain
    - block_ChainAppend
    - vlc_fifo_Unlock
    - block_ChainRelease
    - msg_Dbg
    - vlc_fifo_DequeueAllUnlocked
    - tag_last_block_with_flag
    - msg_Warn
    - vlc_fifo_Lock
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int transcode_video_process( sout_stream_t *p_stream, sout_stream_id_sys_t
      *id,\n                                    block_t *in, block_t **out )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dec_get_owner
      Src: /src/vlc/modules/stream_out/transcode/audio.c:43,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/stream_out/transcode/audio.c:47,1
    - Dst: AOUT_FMT_LINEAR
      Src: /src/vlc/modules/stream_out/transcode/audio.c:49,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/transcode/audio.c:52,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/transcode/audio.c:53,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/stream_out/transcode/audio.c:54,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/audio.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 58
    functionName: audio_update_format
    functionSourceFile: /src/vlc/modules/stream_out/transcode/audio.c
    functionUses: 0
    functionsReached:
    - aout_FormatPrepare
    - AOUT_FMT_LINEAR
    - es_format_Clean
    - vlc_mutex_lock
    - dec_get_owner
    - vlc_mutex_unlock
    - es_format_Copy
    linkageType: ''
    returnType: int
    signature: int audio_update_format( decoder_t *p_dec )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: var_Create
      Src: /src/vlc/modules/stream_out/transcode/audio.c:68,1
    - Dst: var_Create
      Src: /src/vlc/modules/stream_out/transcode/audio.c:69,1
    - Dst: var_SetString
      Src: /src/vlc/modules/stream_out/transcode/audio.c:71,1
    - Dst: aout_FiltersNew
      Src: /src/vlc/modules/stream_out/transcode/audio.c:72,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/stream_out/transcode/audio.c:73,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/stream_out/transcode/audio.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - p_stream
    - p_cfg
    - p_dec_out
    - p_enc_in
    - pp_chain
    argTypes:
    - sout_stream_t*
    - sout_filters_config_t*
    - audio_format_t*
    - audio_format_t*
    - aout_filters_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 76
    functionName: transcode_audio_filters_init
    functionSourceFile: /src/vlc/modules/stream_out/transcode/audio.c
    functionUses: 0
    functionsReached:
    - var_Destroy
    - var_SetString
    - var_Create
    - aout_FiltersNew
    linkageType: ''
    returnType: int
    signature: "int transcode_audio_filters_init( sout_stream_t *p_stream,\n                                         const
      sout_filters_config_t *p_cfg,\n                                         const
      audio_format_t *p_dec_out,\n                                         const audio_format_t
      *p_enc_in,\n                                         aout_filters_t **pp_chain
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dec_get_owner
      Src: /src/vlc/modules/stream_out/transcode/audio.c:80,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/transcode/audio.c:83,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/audio.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p_dec
    - p_audio
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: decoder_queue_audio
    functionSourceFile: /src/vlc/modules/stream_out/transcode/audio.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_lock
    - vlc_mutex_unlock
    - dec_get_owner
    linkageType: ''
    returnType: void
    signature: void decoder_queue_audio( decoder_t *p_dec, block_t *p_audio )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/transcode/audio.c:91,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/audio.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - sout_stream_id_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 98
    functionName: transcode_dequeue_all_audios
    functionSourceFile: /src/vlc/modules/stream_out/transcode/audio.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: block_t
    signature: block_t *transcode_dequeue_all_audios( sout_stream_id_sys_t *id )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/transcode/audio.c:103,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/stream_out/transcode/audio.c:110,1
    - Dst: dec_get_owner
      Src: /src/vlc/modules/stream_out/transcode/audio.c:115,1
    - Dst: decoder_LoadModule
      Src: /src/vlc/modules/stream_out/transcode/audio.c:126,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/transcode/audio.c:129,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/transcode/audio.c:130,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/transcode/audio.c:136,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/stream_out/transcode/audio.c:137,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/transcode/audio.c:140,1
    - Dst: FIRSTVALID
      Src: /src/vlc/modules/stream_out/transcode/audio.c:147,1
    - Dst: FIRSTVALID
      Src: /src/vlc/modules/stream_out/transcode/audio.c:150,1
    - Dst: FIRSTVALID
      Src: /src/vlc/modules/stream_out/transcode/audio.c:154,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/stream_out/transcode/audio.c:157,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/stream_out/transcode/audio.c:161,1
    - Dst: transcode_encoder_test
      Src: /src/vlc/modules/stream_out/transcode/audio.c:168,1
    - Dst: sout_EncoderCreate
      Src: /src/vlc/modules/stream_out/transcode/audio.c:168,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/audio.c:174,1
    - Dst: module_unneed
      Src: /src/vlc/modules/stream_out/transcode/audio.c:175,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/transcode/audio.c:177,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/transcode/audio.c:178,1
    - Dst: es_format_SetMeta
      Src: /src/vlc/modules/stream_out/transcode/audio.c:182,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/audio.c:184,1
    - Dst: transcode_encoder_new
      Src: /src/vlc/modules/stream_out/transcode/audio.c:186,1
    - Dst: sout_EncoderCreate
      Src: /src/vlc/modules/stream_out/transcode/audio.c:186,1
    - Dst: module_unneed
      Src: /src/vlc/modules/stream_out/transcode/audio.c:189,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/transcode/audio.c:191,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/transcode/audio.c:192,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/transcode/audio.c:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 45
    argCount: 3
    argNames:
    - p_stream
    - p_fmt
    - id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - sout_stream_id_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 199
    functionName: transcode_audio_init
    functionSourceFile: /src/vlc/modules/stream_out/transcode/audio.c
    functionUses: 1
    functionsReached:
    - aout_FormatPrepare
    - transcode_encoder_test
    - es_format_Clean
    - dec_get_owner
    - vlc_mutex_lock
    - vlc_mutex_unlock
    - es_format_SetMeta
    - msg_Err
    - FIRSTVALID
    - module_unneed
    - msg_Dbg
    - sout_EncoderCreate
    - es_format_Init
    - transcode_encoder_new
    - es_format_Copy
    - decoder_LoadModule
    linkageType: ''
    returnType: int
    signature: "int transcode_audio_init( sout_stream_t *p_stream, const es_format_t
      *p_fmt,\n                          sout_stream_id_sys_t *id )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transcode_encoder_delete
      Src: /src/vlc/modules/stream_out/transcode/audio.c:204,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/transcode/audio.c:206,1
    - Dst: aout_FiltersDelete
      Src: /src/vlc/modules/stream_out/transcode/audio.c:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_stream
    - id
    argTypes:
    - sout_stream_t*
    - sout_stream_id_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 211
    functionName: transcode_audio_clean
    functionSourceFile: /src/vlc/modules/stream_out/transcode/audio.c
    functionUses: 1
    functionsReached:
    - aout_FiltersDelete
    - es_format_Clean
    - transcode_encoder_delete
    linkageType: ''
    returnType: void
    signature: void transcode_audio_clean( sout_stream_t *p_stream, sout_stream_id_sys_t
      *id )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - audio_format_t*
    - audio_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: transcode_audio_format_IsSimilar
    functionSourceFile: /src/vlc/modules/stream_out/transcode/audio.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool transcode_audio_format_IsSimilar( const audio_format_t *a,\n
      \                                             const audio_format_t *b )"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: sout_stream_id_sys_t*::p_decoder::pf_decode
      Src: /src/vlc/modules/stream_out/transcode/audio.c:227,1
    - Dst: transcode_dequeue_all_audios
      Src: /src/vlc/modules/stream_out/transcode/audio.c:231,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/transcode/audio.c:244,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/transcode/audio.c:248,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/transcode/audio.c:250,1
    - Dst: transcode_encoder_opened
      Src: /src/vlc/modules/stream_out/transcode/audio.c:250,1
    - Dst: transcode_audio_format_IsSimilar
      Src: /src/vlc/modules/stream_out/transcode/audio.c:251,1
    - Dst: transcode_encoder_opened
      Src: /src/vlc/modules/stream_out/transcode/audio.c:253,1
    - Dst: transcode_encoder_audio_configure
      Src: /src/vlc/modules/stream_out/transcode/audio.c:255,1
    - Dst: msg_Info
      Src: /src/vlc/modules/stream_out/transcode/audio.c:262,1
    - Dst: aout_FiltersDelete
      Src: /src/vlc/modules/stream_out/transcode/audio.c:265,1
    - Dst: transcode_audio_filters_init
      Src: /src/vlc/modules/stream_out/transcode/audio.c:272,1
    - Dst: transcode_encoder_format_in
      Src: /src/vlc/modules/stream_out/transcode/audio.c:275,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/audio.c:278,1
    - Dst: date_Init
      Src: /src/vlc/modules/stream_out/transcode/audio.c:282,1
    - Dst: date_Set
      Src: /src/vlc/modules/stream_out/transcode/audio.c:283,1
    - Dst: transcode_encoder_opened
      Src: /src/vlc/modules/stream_out/transcode/audio.c:285,1
    - Dst: transcode_encoder_open
      Src: /src/vlc/modules/stream_out/transcode/audio.c:286,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/audio.c:288,1
    - Dst: sout_stream_id_sys_t*::pf_transcode_downstream_add
      Src: /src/vlc/modules/stream_out/transcode/audio.c:294,1
    - Dst: transcode_encoder_format_out
      Src: /src/vlc/modules/stream_out/transcode/audio.c:296,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/transcode/audio.c:300,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/audio.c:302,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/audio.c:307,1
    - Dst: date_Get
      Src: /src/vlc/modules/stream_out/transcode/audio.c:311,1
    - Dst: likely
      Src: /src/vlc/modules/stream_out/transcode/audio.c:314,1
    - Dst: sout_stream_id_sys_t*::pf_drift_validate
      Src: /src/vlc/modules/stream_out/transcode/audio.c:316,1
    - Dst: date_Set
      Src: /src/vlc/modules/stream_out/transcode/audio.c:318,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/transcode/audio.c:322,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/audio.c:324,1
    - Dst: date_Increment
      Src: /src/vlc/modules/stream_out/transcode/audio.c:325,1
    - Dst: aout_FiltersPlay
      Src: /src/vlc/modules/stream_out/transcode/audio.c:331,1
    - Dst: transcode_encoder_encode
      Src: /src/vlc/modules/stream_out/transcode/audio.c:336,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/stream_out/transcode/audio.c:337,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/transcode/audio.c:338,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/transcode/audio.c:343,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/transcode/audio.c:348,1
    - Dst: transcode_encoder_opened
      Src: /src/vlc/modules/stream_out/transcode/audio.c:348,1
    - Dst: transcode_encoder_drain
      Src: /src/vlc/modules/stream_out/transcode/audio.c:350,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 78
    argCount: 4
    argNames:
    - p_stream
    - id
    - in
    - out
    argTypes:
    - sout_stream_t*
    - sout_stream_id_sys_t*
    - block_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 354
    functionName: transcode_audio_process
    functionSourceFile: /src/vlc/modules/stream_out/transcode/audio.c
    functionUses: 1
    functionsReached:
    - aout_FiltersDelete
    - transcode_encoder_encode
    - date_Increment
    - sout_stream_id_sys_t*::p_decoder::pf_decode
    - transcode_dequeue_all_audios
    - transcode_encoder_opened
    - transcode_encoder_audio_configure
    - vlc_mutex_lock
    - sout_stream_id_sys_t*::pf_transcode_downstream_add
    - msg_Err
    - transcode_audio_filters_init
    - transcode_encoder_format_out
    - date_Get
    - transcode_encoder_format_in
    - aout_FiltersPlay
    - block_ChainAppend
    - transcode_encoder_drain
    - date_Set
    - likely
    - sout_stream_id_sys_t*::pf_drift_validate
    - transcode_encoder_open
    - block_Release
    - vlc_mutex_unlock
    - date_Init
    - msg_Info
    - transcode_audio_format_IsSimilar
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int transcode_audio_process( sout_stream_t *p_stream,\n                                    sout_stream_id_sys_t
      *id,\n                                    block_t *in, block_t **out )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/transcode/spu.c:46,1
    - Dst: subpicture_New
      Src: /src/vlc/modules/stream_out/transcode/spu.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_dec
    - p_upd
    argTypes:
    - decoder_t*
    - subpicture_updater_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: spu_new_buffer
    functionSourceFile: /src/vlc/modules/stream_out/transcode/spu.c
    functionUses: 0
    functionsReached:
    - subpicture_New
    - VLC_UNUSED
    linkageType: ''
    returnType: subpicture_t
    signature: "subpicture_t *spu_new_buffer( decoder_t *p_dec,\n                                     const
      subpicture_updater_t *p_upd )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dec_get_owner
      Src: /src/vlc/modules/stream_out/transcode/spu.c:52,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/transcode/spu.c:55,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/spu.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p_dec
    - p_spu
    argTypes:
    - decoder_t*
    - subpicture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: decoder_queue_sub
    functionSourceFile: /src/vlc/modules/stream_out/transcode/spu.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_lock
    - vlc_mutex_unlock
    - dec_get_owner
    linkageType: ''
    returnType: void
    signature: void decoder_queue_sub( decoder_t *p_dec, subpicture_t *p_spu )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/transcode/spu.c:63,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/spu.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - sout_stream_id_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: transcode_dequeue_all_subs
    functionSourceFile: /src/vlc/modules/stream_out/transcode/spu.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: subpicture_t
    signature: subpicture_t *transcode_dequeue_all_subs( sout_stream_id_sys_t *id
      )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/transcode/spu.c:76,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/transcode/spu.c:80,1
    - Dst: dec_get_owner
      Src: /src/vlc/modules/stream_out/transcode/spu.c:90,1
    - Dst: decoder_LoadModule
      Src: /src/vlc/modules/stream_out/transcode/spu.c:101,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/transcode/spu.c:105,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/transcode/spu.c:113,1
    - Dst: transcode_encoder_new
      Src: /src/vlc/modules/stream_out/transcode/spu.c:114,1
    - Dst: sout_EncoderCreate
      Src: /src/vlc/modules/stream_out/transcode/spu.c:114,1
    - Dst: module_unneed
      Src: /src/vlc/modules/stream_out/transcode/spu.c:117,1
    - Dst: transcode_encoder_open
      Src: /src/vlc/modules/stream_out/transcode/spu.c:122,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/transcode/spu.c:124,1
    - Dst: transcode_encoder_delete
      Src: /src/vlc/modules/stream_out/transcode/spu.c:125,1
    - Dst: module_unneed
      Src: /src/vlc/modules/stream_out/transcode/spu.c:126,1
    - Dst: sout_stream_id_sys_t*::pf_transcode_downstream_add
      Src: /src/vlc/modules/stream_out/transcode/spu.c:133,1
    - Dst: transcode_encoder_format_out
      Src: /src/vlc/modules/stream_out/transcode/spu.c:135,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/transcode/spu.c:139,1
    - Dst: transcode_encoder_delete
      Src: /src/vlc/modules/stream_out/transcode/spu.c:141,1
    - Dst: module_unneed
      Src: /src/vlc/modules/stream_out/transcode/spu.c:142,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/transcode/spu.c:149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 3
    argNames:
    - p_stream
    - p_fmt
    - id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - sout_stream_id_sys_t*
    assertStmts:
    - condition: (!id->encoder)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/vlc/modules/stream_out/transcode/spu.c
    - condition: ( id->p_enccfg->i_codec == 0 /* !overlay */ )
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/vlc/modules/stream_out/transcode/spu.c
    constantsTouched: []
    func_position:
      end: 153
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 153
    functionName: transcode_spu_init
    functionSourceFile: /src/vlc/modules/stream_out/transcode/spu.c
    functionUses: 1
    functionsReached:
    - transcode_encoder_open
    - assert
    - dec_get_owner
    - sout_stream_id_sys_t*::pf_transcode_downstream_add
    - msg_Err
    - module_unneed
    - msg_Dbg
    - sout_EncoderCreate
    - transcode_encoder_format_out
    - transcode_encoder_new
    - decoder_LoadModule
    - transcode_encoder_delete
    linkageType: ''
    returnType: int
    signature: "int transcode_spu_init( sout_stream_t *p_stream, const es_format_t
      *p_fmt,\n                        sout_stream_id_sys_t *id )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/transcode/spu.c:157,1
    - Dst: transcode_encoder_delete
      Src: /src/vlc/modules/stream_out/transcode/spu.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_stream
    - id
    argTypes:
    - sout_stream_t*
    - sout_stream_id_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: transcode_spu_clean
    functionSourceFile: /src/vlc/modules/stream_out/transcode/spu.c
    functionUses: 1
    functionsReached:
    - transcode_encoder_delete
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void transcode_spu_clean( sout_stream_t *p_stream, sout_stream_id_sys_t
      *id)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/transcode/spu.c:168,1
    - Dst: sout_stream_id_sys_t*::p_decoder::pf_decode
      Src: /src/vlc/modules/stream_out/transcode/spu.c:172,1
    - Dst: transcode_dequeue_all_subs
      Src: /src/vlc/modules/stream_out/transcode/spu.c:176,1
    - Dst: subpicture_Delete
      Src: /src/vlc/modules/stream_out/transcode/spu.c:188,1
    - Dst: sout_stream_id_sys_t*::pf_get_master_drift
      Src: /src/vlc/modules/stream_out/transcode/spu.c:194,1
    - Dst: subpicture_Delete
      Src: /src/vlc/modules/stream_out/transcode/spu.c:205,1
    - Dst: sout_stream_id_sys_t*::pf_send_subpicture
      Src: /src/vlc/modules/stream_out/transcode/spu.c:208,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/stream_out/transcode/spu.c:215,1
    - Dst: sout_stream_id_sys_t*::pf_get_output_dimensions
      Src: /src/vlc/modules/stream_out/transcode/spu.c:219,1
    - Dst: subpicture_Update
      Src: /src/vlc/modules/stream_out/transcode/spu.c:234,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/transcode/spu.c:235,1
    - Dst: transcode_encoder_encode
      Src: /src/vlc/modules/stream_out/transcode/spu.c:237,1
    - Dst: subpicture_Delete
      Src: /src/vlc/modules/stream_out/transcode/spu.c:238,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/stream_out/transcode/spu.c:240,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 4
    argNames:
    - p_stream
    - id
    - in
    - out
    argTypes:
    - sout_stream_t*
    - sout_stream_id_sys_t*
    - block_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 247
    functionName: transcode_spu_process
    functionSourceFile: /src/vlc/modules/stream_out/transcode/spu.c
    functionUses: 1
    functionsReached:
    - sout_stream_id_sys_t*::p_decoder::pf_decode
    - sout_stream_id_sys_t*::pf_get_master_drift
    - subpicture_Update
    - transcode_encoder_encode
    - es_format_Clean
    - sout_stream_id_sys_t*::pf_send_subpicture
    - transcode_dequeue_all_subs
    - sout_stream_id_sys_t*::pf_get_output_dimensions
    - block_ChainAppend
    - subpicture_Delete
    - es_format_Init
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int transcode_spu_process( sout_stream_t *p_stream,\n                                  sout_stream_id_sys_t
      *id,\n                                  block_t *in, block_t **out )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/transcode/pcr_helper.c:58,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/transcode/pcr_helper.c:59,1
    - Dst: vlc_pcr_sync_NewESID
      Src: /src/vlc/modules/stream_out/transcode/pcr_helper.c:62,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/pcr_helper.c:64,1
    - Dst: vlc_list_init
      Src: /src/vlc/modules/stream_out/transcode/pcr_helper.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - sync_ref
    - max_delay
    argTypes:
    - vlc_pcr_sync_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 77
    functionName: transcode_track_pcr_helper_New
    functionSourceFile: /src/vlc/modules/stream_out/transcode/pcr_helper.c
    functionUses: 3
    functionsReached:
    - vlc_pcr_sync_NewESID
    - free
    - vlc_list_init
    - unlikely
    - malloc
    linkageType: ''
    returnType: transcode_track_pcr_helper_t
    signature: "transcode_track_pcr_helper_t *transcode_track_pcr_helper_New(vlc_pcr_sync_t
      *sync_ref,\n                                                             vlc_tick_t
      max_delay)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_list_foreach
      Src: /src/vlc/modules/stream_out/transcode/pcr_helper.c:82,1
    - Dst: vlc_list_remove
      Src: /src/vlc/modules/stream_out/transcode/pcr_helper.c:84,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/pcr_helper.c:85,1
    - Dst: vlc_pcr_sync_DelESID
      Src: /src/vlc/modules/stream_out/transcode/pcr_helper.c:88,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/pcr_helper.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - pcr_helper
    argTypes:
    - transcode_track_pcr_helper_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: transcode_track_pcr_helper_Delete
    functionSourceFile: /src/vlc/modules/stream_out/transcode/pcr_helper.c
    functionUses: 3
    functionsReached:
    - free
    - vlc_list_remove
    - vlc_list_foreach
    - vlc_pcr_sync_DelESID
    linkageType: ''
    returnType: void
    signature: void transcode_track_pcr_helper_Delete(transcode_track_pcr_helper_t
      *pcr_helper)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_pcr_sync_SignalFrameOutput
      Src: /src/vlc/modules/stream_out/transcode/pcr_helper.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pcr_helper
    - frame_dts
    argTypes:
    - transcode_track_pcr_helper_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 110
    functionName: transcode_track_pcr_helper_GetFramePCR
    functionSourceFile: /src/vlc/modules/stream_out/transcode/pcr_helper.c
    functionUses: 0
    functionsReached:
    - vlc_pcr_sync_SignalFrameOutput
    linkageType: ''
    returnType: vlc_tick_t
    signature: "vlc_tick_t transcode_track_pcr_helper_GetFramePCR(transcode_track_pcr_helper_t
      *pcr_helper,\n                                       vlc_tick_t frame_dts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/transcode/pcr_helper.c:116,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_out/transcode/pcr_helper.c:117,1
    - Dst: vlc_pcr_sync_SignalFrame
      Src: /src/vlc/modules/stream_out/transcode/pcr_helper.c:127,1
    - Dst: vlc_list_append
      Src: /src/vlc/modules/stream_out/transcode/pcr_helper.c:129,1
    - Dst: vlc_list_first_entry_or_null
      Src: /src/vlc/modules/stream_out/transcode/pcr_helper.c:137,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/transcode/pcr_helper.c:139,1
    - Dst: transcode_track_pcr_helper_GetFramePCR
      Src: /src/vlc/modules/stream_out/transcode/pcr_helper.c:141,1
    - Dst: __MIN
      Src: /src/vlc/modules/stream_out/transcode/pcr_helper.c:144,1
    - Dst: vlc_list_remove
      Src: /src/vlc/modules/stream_out/transcode/pcr_helper.c:148,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/pcr_helper.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - pcr_helper
    - frame
    - dropped_frame_ts
    argTypes:
    - transcode_track_pcr_helper_t*
    - vlc_frame_t*
    - vlc_tick_t*
    assertStmts:
    - condition: (first_bdata != NULL)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/vlc/modules/stream_out/transcode/pcr_helper.c
    constantsTouched: []
    func_position:
      end: 156
      start: 112
    functionDepth: 4
    functionLinenumber: 112
    functionLinenumberEnd: 156
    functionName: transcode_track_pcr_helper_SignalEnteringFrame
    functionSourceFile: /src/vlc/modules/stream_out/transcode/pcr_helper.c
    functionUses: 6
    functionsReached:
    - vlc_list_first_entry_or_null
    - assert
    - vlc_list_append
    - free
    - malloc
    - vlc_list_remove
    - transcode_track_pcr_helper_GetFramePCR
    - __MIN
    - unlikely
    - vlc_pcr_sync_SignalFrame
    linkageType: ''
    returnType: int
    signature: "int transcode_track_pcr_helper_SignalEnteringFrame(transcode_track_pcr_helper_t
      *pcr_helper,\n                                                   const vlc_frame_t
      *frame,\n                                                   vlc_tick_t *dropped_frame_ts)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_list_is_empty
      Src: /src/vlc/modules/stream_out/transcode/pcr_helper.c:164,1
    - Dst: vlc_list_foreach
      Src: /src/vlc/modules/stream_out/transcode/pcr_helper.c:174,1
    - Dst: transcode_track_pcr_helper_GetFramePCR
      Src: /src/vlc/modules/stream_out/transcode/pcr_helper.c:180,1
    - Dst: vlc_list_remove
      Src: /src/vlc/modules/stream_out/transcode/pcr_helper.c:184,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/pcr_helper.c:185,1
    - Dst: __MIN
      Src: /src/vlc/modules/stream_out/transcode/pcr_helper.c:189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - pcr_helper
    - frame
    - pcr
    argTypes:
    - transcode_track_pcr_helper_t*
    - vlc_frame_t*
    - vlc_tick_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 158
    functionDepth: 4
    functionLinenumber: 158
    functionLinenumberEnd: 192
    functionName: transcode_track_pcr_helper_SignalLeavingFrame
    functionSourceFile: /src/vlc/modules/stream_out/transcode/pcr_helper.c
    functionUses: 6
    functionsReached:
    - free
    - vlc_list_remove
    - vlc_list_is_empty
    - transcode_track_pcr_helper_GetFramePCR
    - __MIN
    - vlc_list_foreach
    linkageType: ''
    returnType: int
    signature: "int transcode_track_pcr_helper_SignalLeavingFrame(transcode_track_pcr_helper_t
      *pcr_helper,\n                                                  const vlc_frame_t
      *frame,\n                                                  vlc_tick_t *pcr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - p_src
    - p_dst
    argTypes:
    - video_format_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 57
    functionName: transcode_video_framerate_apply
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/video.c
    functionUses: 0
    functionsReached:
    - vlc_ureduce
    linkageType: ''
    returnType: void
    signature: "void transcode_video_framerate_apply( const video_format_t *p_src,\n
      \                                           video_format_t *p_dst )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:79,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:83,1
    - Dst: __MAX
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:86,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:105,1
    - Dst: lroundf
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:112,1
    - Dst: lroundf
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:113,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 6
    argNames:
    - p_obj
    - p_src
    - f_scale
    - i_maxwidth
    - i_maxheight
    - p_dst
    argTypes:
    - vlc_object_t*
    - video_format_t*
    - float
    - unsigned
    - unsigned
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 128
    functionName: transcode_video_scale_apply
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/video.c
    functionUses: 0
    functionsReached:
    - __MAX
    - msg_Dbg
    - lroundf
    linkageType: ''
    returnType: void
    signature: "void transcode_video_scale_apply( vlc_object_t *p_obj,\n                                        const
      video_format_t *p_src,\n                                        float f_scale,\n
      \                                       unsigned i_maxwidth,\n                                        unsigned
      i_maxheight,\n                                        video_format_t *p_dst
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:136,1
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p_src
    - p_dst
    argTypes:
    - video_format_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 148
    functionName: transcode_video_sar_apply
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/video.c
    functionUses: 0
    functionsReached:
    - vlc_ureduce
    linkageType: ''
    returnType: void
    signature: "void transcode_video_sar_apply( const video_format_t *p_src,\n                                      video_format_t
      *p_dst )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: transcode_video_scale_apply
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:163,1
    - Dst: transcode_video_scale_apply
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:174,1
    - Dst: transcode_video_scale_apply
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:183,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 4
    argNames:
    - p_obj
    - p_srcref
    - p_cfg
    - p_dst
    argTypes:
    - vlc_object_t*
    - video_format_t*
    - transcode_encoder_config_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 211
    functionName: transcode_video_size_config_apply
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/video.c
    functionUses: 0
    functionsReached:
    - transcode_video_scale_apply
    linkageType: ''
    returnType: void
    signature: "void transcode_video_size_config_apply( vlc_object_t *p_obj,\n                                               const
      video_format_t *p_srcref,\n                                               const
      transcode_encoder_config_t *p_cfg,\n                                               video_format_t
      *p_dst )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __MAX
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:220,1
    - Dst: transcode_video_size_config_apply
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:225,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - p_encoder
    - p_src
    - p_cfg
    argTypes:
    - encoder_t*
    - video_format_t*
    - transcode_encoder_config_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 226
    functionName: transcode_encoder_video_set_src
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/video.c
    functionUses: 0
    functionsReached:
    - transcode_video_size_config_apply
    - __MAX
    - VLC_OBJECT
    linkageType: ''
    returnType: void
    signature: "void transcode_encoder_video_set_src(encoder_t *p_encoder, const video_format_t
      *p_src,\n                                     const transcode_encoder_config_t
      *p_cfg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: transcode_encoder_video_set_src
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:242,1
    - Dst: transcode_video_framerate_apply
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:254,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:257,1
    - Dst: transcode_video_sar_apply
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:267,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:270,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:284,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:285,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:286,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:287,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 6
    argNames:
    - p_obj
    - p_dec_out
    - p_cfg
    - p_src
    - vctx_in
    - p_enc
    argTypes:
    - vlc_object_t*
    - video_format_t*
    - transcode_encoder_config_t*
    - video_format_t*
    - vlc_video_context*
    - transcode_encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 228
    functionDepth: 4
    functionLinenumber: 228
    functionLinenumberEnd: 293
    functionName: transcode_encoder_video_configure
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/video.c
    functionUses: 1
    functionsReached:
    - strdup
    - transcode_video_sar_apply
    - free
    - msg_Dbg
    - transcode_video_framerate_apply
    - transcode_encoder_video_set_src
    linkageType: ''
    returnType: void
    signature: "void transcode_encoder_video_configure( vlc_object_t *p_obj,\n                                        const
      video_format_t *p_dec_out,\n                                        const transcode_encoder_config_t
      *p_cfg,\n                                        const video_format_t *p_src,\n
      \                                       vlc_video_context *vctx_in,\n                                        transcode_encoder_t
      *p_enc )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: picture_fifo_Lock
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:297,1
    - Dst: picture_fifo_Pop
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:298,1
    - Dst: picture_fifo_Unlock
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fifo
    argTypes:
    - picture_fifo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 301
    functionName: picture_fifo_LockPop
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/video.c
    functionUses: 0
    functionsReached:
    - picture_fifo_Lock
    - picture_fifo_Pop
    - picture_fifo_Unlock
    linkageType: ''
    returnType: picture_t
    signature: picture_t *picture_fifo_LockPop( picture_fifo_t *fifo )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:305,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:309,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:312,1
    - Dst: picture_fifo_LockPop
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:317,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:318,1
    - Dst: vlc_sem_post
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:319,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:324,1
    - Dst: vlc_encoder_EncodeVideo
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:325,1
    - Dst: picture_Release
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:326,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:327,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:329,1
    - Dst: picture_fifo_LockPop
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:337,1
    - Dst: vlc_sem_post
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:339,1
    - Dst: vlc_encoder_EncodeVideo
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:340,1
    - Dst: picture_Release
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:341,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:342,1
    - Dst: vlc_encoder_EncodeVideo
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:347,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:348,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:351,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:353,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - obj
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 356
    functionName: EncoderThread
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/video.c
    functionUses: 0
    functionsReached:
    - vlc_restorecancel
    - block_ChainAppend
    - vlc_thread_set_name
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_encoder_EncodeVideo
    - vlc_sem_post
    - picture_Release
    - vlc_savecancel
    - picture_fifo_LockPop
    - vlc_cond_wait
    linkageType: ''
    returnType: void
    signature: void * EncoderThread( void *obj )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: transcode_encoder_encode
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:364,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:365,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:372,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:374,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:375,1
    - Dst: vlc_join
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:376,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:378,1
    - Dst: transcode_encoder_get_output_async
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - p_enc
    - out
    argTypes:
    - transcode_encoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 381
    functionName: transcode_encoder_video_drain
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/video.c
    functionUses: 0
    functionsReached:
    - vlc_cond_signal
    - transcode_encoder_encode
    - block_ChainAppend
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - transcode_encoder_get_output_async
    - vlc_join
    linkageType: ''
    returnType: int
    signature: int transcode_encoder_video_drain( transcode_encoder_t *p_enc, block_t
      **out )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:387,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:389,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:390,1
    - Dst: vlc_join
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - p_enc
    argTypes:
    - transcode_encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 393
    functionName: transcode_encoder_video_stop
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/video.c
    functionUses: 0
    functionsReached:
    - vlc_cond_signal
    - vlc_join
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void transcode_encoder_video_stop( transcode_encoder_t *p_enc )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: module_need
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:403,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:407,1
    - Dst: vlc_fourcc_GetCodec
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:413,1
    - Dst: vlc_sem_init
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:415,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:416,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:422,1
    - Dst: transcode_encoder_t*::p_encoder::ops::close
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:425,1
    - Dst: module_unneed
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:426,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - p_enc
    - p_cfg
    argTypes:
    - transcode_encoder_t*
    - transcode_encoder_config_t*
    assertStmts:
    - condition: ( p_enc->p_encoder->ops != NULL )
      pos:
        line_end: 406
        line_start: 406
        source_file: /src/vlc/modules/stream_out/transcode/encoder/video.c
    constantsTouched: []
    func_position:
      end: 434
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 434
    functionName: transcode_encoder_video_open
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/video.c
    functionUses: 0
    functionsReached:
    - vlc_sem_init
    - assert
    - vlc_clone
    - module_unneed
    - vlc_cond_init
    - transcode_encoder_t*::p_encoder::ops::close
    - module_need
    - vlc_fourcc_GetCodec
    linkageType: ''
    returnType: int
    signature: "int transcode_encoder_video_open( transcode_encoder_t *p_enc,\n                                   const
      transcode_encoder_config_t *p_cfg )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_encoder_EncodeVideo
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:440,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:443,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:444,1
    - Dst: picture_Hold
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:445,1
    - Dst: picture_fifo_Lock
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:446,1
    - Dst: picture_fifo_Push
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:447,1
    - Dst: picture_fifo_Unlock
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:448,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:449,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/encoder/video.c:450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - p_enc
    - p_pic
    argTypes:
    - transcode_encoder_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 452
    functionName: transcode_encoder_video_encode
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/video.c
    functionUses: 0
    functionsReached:
    - vlc_sem_wait
    - vlc_cond_signal
    - picture_fifo_Push
    - vlc_mutex_unlock
    - picture_Hold
    - vlc_mutex_lock
    - vlc_encoder_EncodeVideo
    - picture_fifo_Lock
    - picture_fifo_Unlock
    linkageType: ''
    returnType: block_t
    signature: block_t * transcode_encoder_video_encode( transcode_encoder_t *p_enc,
      picture_t *p_pic )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: FIRSTVALID
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/encoder.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIRSTVALID(a,b,c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: module_need
      Src: /src/vlc/modules/stream_out/transcode/encoder/audio.c:61,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/transcode/encoder/audio.c:66,1
    - Dst: vlc_fourcc_GetCodec
      Src: /src/vlc/modules/stream_out/transcode/encoder/audio.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - p_enc
    - p_cfg
    argTypes:
    - transcode_encoder_t*
    - transcode_encoder_config_t*
    assertStmts:
    - condition: ( p_enc->p_encoder->ops != NULL )
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/vlc/modules/stream_out/transcode/encoder/audio.c
    constantsTouched: []
    func_position:
      end: 72
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 72
    functionName: transcode_encoder_audio_open
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/audio.c
    functionUses: 0
    functionsReached:
    - module_need
    - assert
    - vlc_fourcc_GetCodec
    linkageType: ''
    returnType: int
    signature: "int transcode_encoder_audio_open( transcode_encoder_t *p_enc,\n                                  const
      transcode_encoder_config_t *p_cfg )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/encoder/audio.c:85,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/encoder/audio.c:86,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/transcode/encoder/audio.c:87,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/transcode/encoder/audio.c:88,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/stream_out/transcode/encoder/audio.c:100,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/transcode/encoder/audio.c:101,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/stream_out/transcode/encoder/audio.c:102,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/stream_out/transcode/encoder/audio.c:103,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/stream_out/transcode/encoder/audio.c:117,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/stream_out/transcode/encoder/audio.c:123,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/stream_out/transcode/encoder/audio.c:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 4
    argNames:
    - p_cfg
    - p_dec_out
    - p_enc
    - b_keep_fmtin
    argTypes:
    - transcode_encoder_config_t*
    - audio_format_t*
    - encoder_t*
    - bool
    assertStmts:
    - condition: (p_enc_out->i_channels > 0)
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/vlc/modules/stream_out/transcode/encoder/audio.c
    constantsTouched: []
    func_position:
      end: 129
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 129
    functionName: encoder_audio_configure
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/audio.c
    functionUses: 1
    functionsReached:
    - aout_FormatPrepare
    - assert
    - strdup
    - ARRAY_SIZE
    - free
    linkageType: ''
    returnType: int
    signature: "int encoder_audio_configure( const transcode_encoder_config_t *p_cfg,\n
      \                                   const audio_format_t *p_dec_out,\n                                    encoder_t
      *p_enc, bool b_keep_fmtin )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encoder_audio_configure
      Src: /src/vlc/modules/stream_out/transcode/encoder/audio.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p_cfg
    - p_dec_out
    - p_enc
    - b_keep_fmtin
    argTypes:
    - transcode_encoder_config_t*
    - audio_format_t*
    - transcode_encoder_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 137
    functionName: transcode_encoder_audio_configure
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/audio.c
    functionUses: 1
    functionsReached:
    - encoder_audio_configure
    linkageType: ''
    returnType: int
    signature: "int transcode_encoder_audio_configure( const transcode_encoder_config_t
      *p_cfg,\n                                       const audio_format_t *p_dec_out,\n
      \                                      transcode_encoder_t *p_enc,\n                                       bool
      b_keep_fmtin )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Init
      Src: /src/vlc/modules/stream_out/transcode/encoder/audio.c:148,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/stream_out/transcode/encoder/audio.c:150,1
    - Dst: encoder_audio_configure
      Src: /src/vlc/modules/stream_out/transcode/encoder/audio.c:154,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/transcode/encoder/audio.c:156,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/transcode/encoder/audio.c:157,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/stream_out/transcode/encoder/audio.c:158,1
    - Dst: module_need
      Src: /src/vlc/modules/stream_out/transcode/encoder/audio.c:170,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/transcode/encoder/audio.c:173,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/stream_out/transcode/encoder/audio.c:181,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/stream_out/transcode/encoder/audio.c:184,1
    - Dst: vlc_encoder_Destroy
      Src: /src/vlc/modules/stream_out/transcode/encoder/audio.c:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 5
    argNames:
    - p_encoder
    - p_cfg
    - p_dec_out
    - i_codec_in
    - p_enc_wanted_in
    argTypes:
    - encoder_t*
    - transcode_encoder_config_t*
    - es_format_t*
    - vlc_fourcc_t
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 189
    functionName: transcode_encoder_audio_test
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/audio.c
    functionUses: 0
    functionsReached:
    - aout_FormatPrepare
    - es_format_Clean
    - msg_Err
    - encoder_audio_configure
    - vlc_object_delete
    - vlc_encoder_Destroy
    - es_format_Init
    - module_need
    - es_format_Copy
    linkageType: ''
    returnType: int
    signature: "int transcode_encoder_audio_test( encoder_t *p_encoder,\n                                  const
      transcode_encoder_config_t *p_cfg,\n                                  const
      es_format_t *p_dec_out,\n                                  vlc_fourcc_t i_codec_in,\n
      \                                 es_format_t *p_enc_wanted_in )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_encoder_EncodeAudio
      Src: /src/vlc/modules/stream_out/transcode/encoder/audio.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_enc
    - p_block
    argTypes:
    - transcode_encoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: transcode_encoder_audio_encode
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/audio.c
    functionUses: 0
    functionsReached:
    - vlc_encoder_EncodeAudio
    linkageType: ''
    returnType: block_t
    signature: block_t * transcode_encoder_audio_encode( transcode_encoder_t *p_enc,
      block_t *p_block )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transcode_encoder_audio_encode
      Src: /src/vlc/modules/stream_out/transcode/encoder/audio.c:200,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/stream_out/transcode/encoder/audio.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p_enc
    - out
    argTypes:
    - transcode_encoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: transcode_encoder_audio_drain
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/audio.c
    functionUses: 0
    functionsReached:
    - transcode_encoder_audio_encode
    - block_ChainAppend
    linkageType: ''
    returnType: int
    signature: int transcode_encoder_audio_drain( transcode_encoder_t *p_enc, block_t
      **out )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_cfg
    argTypes:
    - transcode_encoder_config_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: transcode_encoder_config_init
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/encoder.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void transcode_encoder_config_init( transcode_encoder_config_t *p_cfg
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:41,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:42,1
    - Dst: config_ChainDestroy
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_cfg
    argTypes:
    - transcode_encoder_config_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: transcode_encoder_config_clean
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/encoder.c
    functionUses: 1
    functionsReached:
    - free
    - config_ChainDestroy
    linkageType: ''
    returnType: void
    signature: void transcode_encoder_config_clean( transcode_encoder_config_t *p_cfg
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: transcode_encoder_video_stop
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:52,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:53,1
    - Dst: picture_fifo_Delete
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:55,1
    - Dst: vlc_encoder_Destroy
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:58,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - p_enc
    argTypes:
    - transcode_encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: transcode_encoder_delete
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/encoder.c
    functionUses: 4
    functionsReached:
    - picture_fifo_Delete
    - block_ChainRelease
    - transcode_encoder_video_stop
    - free
    - vlc_encoder_Destroy
    linkageType: ''
    returnType: void
    signature: void transcode_encoder_delete( transcode_encoder_t *p_enc )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:79,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:82,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:90,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:91,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:92,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:96,1
    - Dst: picture_fifo_New
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:101,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:104,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:105,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:106,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:107,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:110,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - p_encoder
    - p_fmt
    argTypes:
    - encoder_t*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 117
    functionName: transcode_encoder_new
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/encoder.c
    functionUses: 3
    functionsReached:
    - strdup
    - es_format_Clean
    - picture_fifo_New
    - vlc_mutex_init
    - calloc
    - free
    - vlc_object_delete
    - es_format_Init
    - es_format_Copy
    linkageType: ''
    returnType: transcode_encoder_t
    signature: "transcode_encoder_t * transcode_encoder_new( encoder_t *p_encoder,\n
      \                                            const es_format_t *p_fmt )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_enc
    argTypes:
    - transcode_encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: transcode_encoder_format_in
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/encoder.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: es_format_t
    signature: es_format_t *transcode_encoder_format_in( const transcode_encoder_t
      *p_enc )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_enc
    argTypes:
    - transcode_encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: transcode_encoder_format_out
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/encoder.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: es_format_t
    signature: es_format_t *transcode_encoder_format_out( const transcode_encoder_t
      *p_enc )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: transcode_encoder_opened
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:132,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:134,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:135,1
    - Dst: transcode_encoder_video_set_src
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - p_enc
    - fmt
    - p_cfg
    argTypes:
    - transcode_encoder_t*
    - es_format_t*
    - transcode_encoder_config_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 129
    functionDepth: 4
    functionLinenumber: 129
    functionLinenumberEnd: 145
    functionName: transcode_encoder_update_format_in
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/encoder.c
    functionUses: 1
    functionsReached:
    - es_format_Copy
    - transcode_encoder_opened
    - es_format_Clean
    - transcode_encoder_video_set_src
    linkageType: ''
    returnType: void
    signature: "void transcode_encoder_update_format_in( transcode_encoder_t *p_enc,
      const es_format_t *fmt,\n                                         const transcode_encoder_config_t
      *p_cfg )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:149,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_enc
    - fmt
    argTypes:
    - transcode_encoder_t*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: transcode_encoder_update_format_out
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/encoder.c
    functionUses: 0
    functionsReached:
    - es_format_Copy
    - es_format_Clean
    linkageType: ''
    returnType: void
    signature: void transcode_encoder_update_format_out( transcode_encoder_t *p_enc,
      const es_format_t *fmt )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p_enc
    argTypes:
    - transcode_encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: transcode_encoder_opened
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/encoder.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool transcode_encoder_opened( const transcode_encoder_t *p_enc )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: transcode_encoder_video_encode
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:163,1
    - Dst: transcode_encoder_audio_encode
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:165,1
    - Dst: transcode_encoder_spu_encode
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:167,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - p_enc
    - in
    argTypes:
    - transcode_encoder_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 172
    functionName: transcode_encoder_encode
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/encoder.c
    functionUses: 4
    functionsReached:
    - transcode_encoder_spu_encode
    - transcode_encoder_audio_encode
    - transcode_encoder_video_encode
    - vlc_assert_unreachable
    linkageType: ''
    returnType: block_t
    signature: block_t * transcode_encoder_encode( transcode_encoder_t *p_enc, void
      *in )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:176,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_enc
    argTypes:
    - transcode_encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: transcode_encoder_get_output_async
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/encoder.c
    functionUses: 1
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: block_t
    signature: block_t * transcode_encoder_get_output_async( transcode_encoder_t *p_enc
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: transcode_encoder_video_stop
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:189,1
    - Dst: transcode_encoder_t*::p_encoder::ops::close
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:193,1
    - Dst: module_unneed
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - p_enc
    argTypes:
    - transcode_encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 200
    functionName: transcode_encoder_close
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/encoder.c
    functionUses: 1
    functionsReached:
    - module_unneed
    - transcode_encoder_video_stop
    - transcode_encoder_t*::p_encoder::ops::close
    linkageType: ''
    returnType: void
    signature: void transcode_encoder_close( transcode_encoder_t *p_enc )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: transcode_encoder_spu_open
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:209,1
    - Dst: transcode_encoder_audio_open
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:211,1
    - Dst: transcode_encoder_video_open
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - p_enc
    - p_cfg
    argTypes:
    - transcode_encoder_t*
    - transcode_encoder_config_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 217
    functionName: transcode_encoder_open
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/encoder.c
    functionUses: 3
    functionsReached:
    - transcode_encoder_audio_open
    - transcode_encoder_spu_open
    - transcode_encoder_video_open
    linkageType: ''
    returnType: int
    signature: "int transcode_encoder_open( transcode_encoder_t *p_enc,\n                            const
      transcode_encoder_config_t *p_cfg )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: transcode_encoder_opened
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:221,1
    - Dst: transcode_encoder_video_drain
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:227,1
    - Dst: transcode_encoder_audio_drain
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - p_enc
    - out
    argTypes:
    - transcode_encoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 235
    functionName: transcode_encoder_drain
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/encoder.c
    functionUses: 2
    functionsReached:
    - transcode_encoder_opened
    - transcode_encoder_audio_drain
    - transcode_encoder_video_drain
    linkageType: ''
    returnType: int
    signature: int transcode_encoder_drain( transcode_encoder_t *p_enc, block_t **out
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: transcode_encoder_audio_test
      Src: /src/vlc/modules/stream_out/transcode/encoder/encoder.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - p_encoder
    - p_cfg
    - p_dec_fmtin
    - i_codec_in
    - p_enc_wanted_in
    argTypes:
    - encoder_t*
    - transcode_encoder_config_t*
    - es_format_t*
    - vlc_fourcc_t
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 254
    functionName: transcode_encoder_test
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/encoder.c
    functionUses: 1
    functionsReached:
    - transcode_encoder_audio_test
    linkageType: ''
    returnType: int
    signature: "int transcode_encoder_test( encoder_t *p_encoder,\n                            const
      transcode_encoder_config_t *p_cfg,\n                            const es_format_t
      *p_dec_fmtin,\n                            vlc_fourcc_t i_codec_in,\n                            es_format_t
      *p_enc_wanted_in )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: module_need
      Src: /src/vlc/modules/stream_out/transcode/encoder/spu.c:45,1
    - Dst: assert
      Src: /src/vlc/modules/stream_out/transcode/encoder/spu.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_enc
    - p_cfg
    argTypes:
    - transcode_encoder_t*
    - transcode_encoder_config_t*
    assertStmts:
    - condition: "( p_enc->p_encoder->p_module == NULL ||\n            p_enc->p_encoder->ops
        != NULL)"
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/vlc/modules/stream_out/transcode/encoder/spu.c
    constantsTouched: []
    func_position:
      end: 52
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 52
    functionName: transcode_encoder_spu_open
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/spu.c
    functionUses: 1
    functionsReached:
    - module_need
    - assert
    linkageType: ''
    returnType: int
    signature: "int transcode_encoder_spu_open( transcode_encoder_t *p_enc,\n                                const
      transcode_encoder_config_t *p_cfg )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_encoder_EncodeSub
      Src: /src/vlc/modules/stream_out/transcode/encoder/spu.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_enc
    - p_spu
    argTypes:
    - transcode_encoder_t*
    - subpicture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: transcode_encoder_spu_encode
    functionSourceFile: /src/vlc/modules/stream_out/transcode/encoder/spu.c
    functionUses: 1
    functionsReached:
    - vlc_encoder_EncodeSub
    linkageType: ''
    returnType: block_t
    signature: block_t * transcode_encoder_spu_encode( transcode_encoder_t *p_enc,
      subpicture_t *p_spu )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - http_port
    - supports_video
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: DLNA::sout_stream_sys_t
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sout_stream_sys_t(int http_port, bool supports_video)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UpnpGetServerIpAddress
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:101,1
    - Dst: UpnpGetServerIp6Address
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:103,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: DLNA::getServerIPAddress
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - strdup
    - UpnpGetServerIpAddress
    - UpnpGetServerIp6Address
    linkageType: ''
    returnType: char
    signature: char *getServerIPAddress()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DLNA::dlna_write_protocol_info
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - protocol_info_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: DLNA::dlna_write_protocol_info
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 1
    functionsReached:
    - DLNA::dlna_write_protocol_info
    linkageType: ''
    returnType: std::string
    signature: std::string dlna_write_protocol_info (const protocol_info_t info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getline
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:121,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:122,1
    - Dst: std::move
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - delim
    argTypes:
    - std::string
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: DLNA::split
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::vector::push_back
    - getline
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> split(const std::string &s, char delim)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<protocol_info_t>
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:133,1
    - Dst: protocol_info_t::protocol_info_t
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - audio_codec
    argTypes:
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: DLNA::sout_stream_sys_t::canDecodeAudio
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<protocol_info_t>
    - protocol_info_t::protocol_info_t
    linkageType: ''
    returnType: ProtocolPtr
    signature: ProtocolPtr sout_stream_sys_t::canDecodeAudio(vlc_fourcc_t audio_codec)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<protocol_info_t>
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:147,1
    - Dst: protocol_info_t::protocol_info_t
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - audio_codec
    - video_codec
    argTypes:
    - vlc_fourcc_t
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 151
    functionName: DLNA::sout_stream_sys_t::canDecodeVideo
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<protocol_info_t>
    - protocol_info_t::protocol_info_t
    linkageType: ''
    returnType: ProtocolPtr
    signature: "ProtocolPtr sout_stream_sys_t::canDecodeVideo(vlc_fourcc_t audio_codec,\n
      \               vlc_fourcc_t video_codec) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DLNA::sout_stream_sys_t::stopSoutChain
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:157,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:158,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:158,1
    - Dst: sout_StreamChainNew
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:161,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:161,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:161,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:163,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:163,1
    - Dst: clear
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:164,1
    - Dst: begin
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:169,1
    - Dst: end
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:170,1
    - Dst: static_cast<sout_stream_id_sys_t *>
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:173,1
    - Dst: sout_StreamIdAdd
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:174,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:177,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:179,1
    - Dst: erase
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:180,1
    - Dst: empty
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:186,1
    - Dst: DLNA::sout_stream_sys_t::stopSoutChain
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - p_stream
    - new_streams
    - sout
    argTypes:
    - sout_stream_t*
    - std::vector<sout_stream_id_sys_t*>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 193
    functionName: DLNA::sout_stream_sys_t::startSoutChain
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - erase
    - es_format_Clean
    - sout_StreamIdAdd
    - end
    - begin
    - clear
    - msg_Err
    - DLNA::sout_stream_sys_t::stopSoutChain
    - std::string::c_str
    - empty
    - msg_Dbg
    - VLC_OBJECT
    - static_cast<sout_stream_id_sys_t *>
    - sout_StreamChainNew
    linkageType: ''
    returnType: bool
    signature: "bool sout_stream_sys_t::startSoutChain(sout_stream_t *p_stream,\n
      \                                      const std::vector<sout_stream_id_sys_t*>
      &new_streams,\n                                       const std::string &sout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:197,1
    - Dst: size
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:199,1
    - Dst: sout_StreamIdDel
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:201,1
    - Dst: clear
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:204,1
    - Dst: sout_StreamChainDelete
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 207
    functionName: DLNA::sout_stream_sys_t::stopSoutChain
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 1
    functionsReached:
    - size
    - clear
    - sout_StreamChainDelete
    - msg_Dbg
    - sout_StreamIdDel
    linkageType: ''
    returnType: void
    signature: void sout_stream_sys_t::stopSoutChain(sout_stream_t *p_stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:213,1
    - Dst: DLNA::sout_stream_sys_t::UpdateOutput
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:215,1
    - Dst: size
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:218,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - p_stream
    - id
    - update
    argTypes:
    - sout_stream_t*
    - sout_stream_id_sys_t*
    - bool
    assertStmts:
    - condition: ( p_stream->p_sys == this )
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/vlc/modules/stream_out/dlna/dlna.cpp
    constantsTouched: []
    func_position:
      end: 226
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 226
    functionName: DLNA::sout_stream_sys_t::GetSubId
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - size
    - assert
    - msg_Err
    - DLNA::sout_stream_sys_t::UpdateOutput
    linkageType: ''
    returnType: sout_stream_id_sys_t
    signature: "sout_stream_id_sys_t *sout_stream_sys_t::GetSubId( sout_stream_t *p_stream,\n
      \                                                  sout_stream_id_sys_t *id,\n
      \                                                  bool update)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:232,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:233,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:236,1
    - Dst: vlc_fourcc_to_char
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:240,1
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - p_stream
    - p_codec_audio
    - p_aud
    - i_quality
    argTypes:
    - sout_stream_t*
    - vlc_fourcc_t*
    - audio_format_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 246
    functionName: DLNA::sout_stream_sys_t::GetAcodecOption
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - std::stringstream::str
    - vlc_fourcc_to_char
    - VLC_UNUSED
    linkageType: ''
    returnType: std::string
    signature: "std::string sout_stream_sys_t::GetAcodecOption( sout_stream_t *p_stream,
      vlc_fourcc_t *p_codec_audio,\n                                    const audio_format_t
      *p_aud, int i_quality )"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:250,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:270,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:275,1
    - Dst: std::vector::empty
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:279,1
    - Dst: DLNA::sout_stream_sys_t::canDecodeAudio
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:286,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:288,1
    - Dst: make_protocol
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:290,1
    - Dst: DLNA::sout_stream_sys_t::canDecodeVideo
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:299,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:302,1
    - Dst: make_protocol
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:304,1
    - Dst: DLNA::sout_stream_sys_t::canDecodeVideo
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:312,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:315,1
    - Dst: make_protocol
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:318,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:334,1
    - Dst: ProtocolPtr::profile::mime::c_str
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:335,1
    - Dst: ProtocolPtr::profile::name::c_str
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:336,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:342,1
    - Dst: vlc_dialog_wait_question
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:344,1
    - Dst: _
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:346,1
    - Dst: _
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:346,1
    - Dst: _
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:346,1
    - Dst: _
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:347,1
    - Dst: _
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:348,1
    - Dst: config_PutInt
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:355,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:358,1
    - Dst: DLNA::sout_stream_sys_t::GetAcodecOption
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:365,1
    - Dst: vlc_sout_renderer_GetVcodecOption
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:372,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:385,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:386,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:386,1
    - Dst: std::ostringstream::str
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:388,1
    - Dst: vlc::wrap_cptr<char>
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:394,1
    - Dst: getServerIPAddress
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:394,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:397,1
    - Dst: asprintf
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:402,1
    - Dst: auto::get
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:402,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:402,1
    - Dst: DLNA::sout_stream_sys_t::startSoutChain
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:406,1
    - Dst: std::ostringstream::str
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:406,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:407,1
    - Dst: PrepareForConnection
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:411,1
    - Dst: dlna_write_protocol_info
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:411,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:413,1
    - Dst: Stop
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:414,1
    - Dst: SetAVTransportURI
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:415,1
    - Dst: Play
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:416,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:418,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 89
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - sout_stream_t*
    assertStmts:
    - condition: ( p_stream->p_sys == this )
      pos:
        line_end: 249
        line_start: 249
        source_file: /src/vlc/modules/stream_out/dlna/dlna.cpp
    constantsTouched: []
    func_position:
      end: 420
      start: 248
    functionDepth: 3
    functionLinenumber: 248
    functionLinenumberEnd: 420
    functionName: DLNA::sout_stream_sys_t::UpdateOutput
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 1
    functionsReached:
    - assert
    - ProtocolPtr::profile::name::c_str
    - auto::get
    - std::string::c_str
    - vlc_mrand48
    - ProtocolPtr::profile::mime::c_str
    - DLNA::sout_stream_sys_t::startSoutChain
    - std::ostringstream::str
    - vlc_tick_now
    - asprintf
    - vlc::wrap_cptr<char>
    - vlc_sout_renderer_GetVcodecOption
    - _
    - msg_Err
    - msg_Dbg
    - vlc_dialog_wait_question
    - make_protocol
    - static_cast<uint64_t>
    - DLNA::sout_stream_sys_t::canDecodeAudio
    - var_InheritInteger
    - std::vector::push_back
    - std::vector::empty
    - Play
    - getServerIPAddress
    - dlna_write_protocol_info
    - DLNA::sout_stream_sys_t::GetAcodecOption
    - PrepareForConnection
    - Stop
    - free
    - SetAVTransportURI
    - config_PutInt
    - DLNA::sout_stream_sys_t::canDecodeVideo
    linkageType: ''
    returnType: int
    signature: int sout_stream_sys_t::UpdateOutput( sout_stream_t *p_stream )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: UpnpDownloadXmlDoc
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:425,1
    - Dst: c_str
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:425,1
    - Dst: ixmlDocument_getElementsByTagName
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:428,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:429,1
    - Dst: ixmlNodeList_length
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:433,1
    - Dst: ixmlNodeList_item
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:435,1
    - Dst: ixmlElement_getElementsByTagName
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:439,1
    - Dst: ixmlNodeList_length
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:442,1
    - Dst: ixmlNodeList_item
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:444,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:446,1
    - Dst: strstr
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:447,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:449,1
    - Dst: UpnpResolveURL2
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:455,1
    - Dst: c_str
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:455,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 2
    argNames:
    - type
    - service
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 461
    functionName: DLNA::MediaRenderer::getServiceURL
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - UpnpDownloadXmlDoc
    - ixmlNodeList_item
    - xml_getChildElementValue
    - ixmlElement_getElementsByTagName
    - UpnpResolveURL2
    - free
    - strstr
    - c_str
    - ixmlDocument_getElementsByTagName
    - ixmlNodeList_length
    linkageType: ''
    returnType: char
    signature: char *MediaRenderer::getServiceURL(const char* type, const char *service)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UpnpMakeAction
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:472,1
    - Dst: UpnpAddToAction
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:479,1
    - Dst: DLNA::MediaRenderer::getServiceURL
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:483,1
    - Dst: UpnpSendAction
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:487,1
    - Dst: ixmlDocument_free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:491,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:492,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:495,1
    - Dst: UpnpGetErrorMessage
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:496,1
    - Dst: ixmlPrintDocument
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:496,1
    - Dst: ixmlDocument_free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:497,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - action_name
    - service_type
    - arguments
    argTypes:
    - char*
    - char*
    - std::list<std::pair<const char*, const char*>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 468
    functionDepth: 2
    functionLinenumber: 468
    functionLinenumberEnd: 502
    functionName: DLNA::MediaRenderer::SendAction
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - ixmlDocument_free
    - msg_Err
    - free
    - UpnpGetErrorMessage
    - UpnpSendAction
    - ixmlPrintDocument
    - UpnpMakeAction
    - UpnpAddToAction
    - DLNA::MediaRenderer::getServiceURL
    linkageType: ''
    returnType: IXML_Document
    signature: "IXML_Document *MediaRenderer::SendAction(const char* action_name,const
      char *service_type,\n                    std::list<std::pair<const char*, const
      char*>> arguments)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:507,1
    - Dst: DLNA::MediaRenderer::SendAction
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:511,1
    - Dst: ixmlDocument_free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - speed
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 504
    functionDepth: 3
    functionLinenumber: 504
    functionLinenumberEnd: 518
    functionName: DLNA::MediaRenderer::Play
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - ixmlDocument_free
    - DLNA::MediaRenderer::SendAction
    - c_str
    linkageType: ''
    returnType: int
    signature: int MediaRenderer::Play(const char *speed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:523,1
    - Dst: DLNA::MediaRenderer::SendAction
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:526,1
    - Dst: ixmlDocument_free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 520
    functionDepth: 3
    functionLinenumber: 520
    functionLinenumberEnd: 533
    functionName: DLNA::MediaRenderer::Stop
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - ixmlDocument_free
    - DLNA::MediaRenderer::SendAction
    - c_str
    linkageType: ''
    returnType: int
    signature: int MediaRenderer::Stop()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DLNA::MediaRenderer::SendAction
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:541,1
    - Dst: ixmlDocument_getElementsByTagName
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:549,1
    - Dst: ixmlNodeList_item
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:552,1
    - Dst: ixmlNode_getFirstChild
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:555,1
    - Dst: std::string::assign
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:558,1
    - Dst: ixmlNode_getNodeValue
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:558,1
    - Dst: ixmlNodeList_free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:561,1
    - Dst: ixmlDocument_free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:563,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:565,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:565,1
    - Dst: split
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:568,1
    - Dst: split
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:570,1
    - Dst: std::vector::size
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:573,1
    - Dst: std::vector::at
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:573,1
    - Dst: std::vector::at
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:580,1
    - Dst: std::vector::at
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:582,1
    - Dst: std::vector::at
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:588,1
    - Dst: std::string::length
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:589,1
    - Dst: std::vector::at
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:591,1
    - Dst: std::vector::at
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:596,1
    - Dst: std::move
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:599,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:600,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:608,1
    - Dst: std::vector::size
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:608,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 535
    functionDepth: 3
    functionLinenumber: 535
    functionLinenumberEnd: 610
    functionName: DLNA::MediaRenderer::GetProtocolInfo
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - ixmlNodeList_item
    - DLNA::MediaRenderer::SendAction
    - ixmlNode_getNodeValue
    - std::string::assign
    - ixmlNodeList_free
    - ixmlDocument_free
    - split
    - std::vector::at
    - std::string::length
    - std::string::c_str
    - std::move
    - std::vector::push_back
    - msg_Dbg
    - ixmlNode_getFirstChild
    - std::vector::size
    - ixmlDocument_getElementsByTagName
    linkageType: ''
    returnType: std::vector<protocol_info_t>
    signature: std::vector<protocol_info_t> MediaRenderer::GetProtocolInfo()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DLNA::MediaRenderer::SendAction
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:621,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:628,1
    - Dst: ixmlPrintDocument
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:629,1
    - Dst: ixmlDocument_getElementsByTagName
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:632,1
    - Dst: ixmlNodeList_item
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:635,1
    - Dst: ixmlNode_getFirstChild
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:638,1
    - Dst: assign
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:641,1
    - Dst: ixmlNode_getNodeValue
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:641,1
    - Dst: ixmlNodeList_free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:644,1
    - Dst: ixmlDocument_getElementsByTagName
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:648,1
    - Dst: ixmlNodeList_item
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:651,1
    - Dst: ixmlNode_getFirstChild
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:654,1
    - Dst: assign
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:657,1
    - Dst: ixmlNode_getNodeValue
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:657,1
    - Dst: ixmlNodeList_free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:660,1
    - Dst: ixmlDocument_getElementsByTagName
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:664,1
    - Dst: ixmlNodeList_item
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:667,1
    - Dst: ixmlNode_getFirstChild
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:670,1
    - Dst: assign
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:673,1
    - Dst: ixmlNode_getNodeValue
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:673,1
    - Dst: ixmlNodeList_free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:676,1
    - Dst: ixmlDocument_free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:679,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - protocol_str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 612
    functionDepth: 3
    functionLinenumber: 612
    functionLinenumberEnd: 681
    functionName: DLNA::MediaRenderer::PrepareForConnection
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - ixmlNodeList_item
    - DLNA::MediaRenderer::SendAction
    - assign
    - ixmlNode_getNodeValue
    - ixmlNodeList_free
    - ixmlDocument_free
    - msg_Dbg
    - ixmlNode_getFirstChild
    - ixmlDocument_getElementsByTagName
    - ixmlPrintDocument
    linkageType: ''
    returnType: int
    signature: int MediaRenderer::PrepareForConnection(const char* protocol_str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:686,1
    - Dst: DLNA::MediaRenderer::SendAction
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:689,1
    - Dst: ixmlDocument_free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:696,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 683
    functionDepth: 3
    functionLinenumber: 683
    functionLinenumberEnd: 698
    functionName: DLNA::MediaRenderer::ConnectionComplete
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - ixmlDocument_free
    - DLNA::MediaRenderer::SendAction
    - c_str
    linkageType: ''
    returnType: int
    signature: int MediaRenderer::ConnectionComplete()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dlna_write_protocol_info
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:716,1
    - Dst: asprintf
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:719,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:722,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:727,1
    - Dst: c_str
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:729,1
    - Dst: DLNA::MediaRenderer::SendAction
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:734,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:737,1
    - Dst: ixmlDocument_free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:742,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - uri
    - ' proto'
    argTypes:
    - char*
    - protocol_info_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 700
    functionDepth: 3
    functionLinenumber: 700
    functionLinenumberEnd: 744
    functionName: DLNA::MediaRenderer::SetAVTransportURI
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - asprintf
    - DLNA::MediaRenderer::SendAction
    - dlna_write_protocol_info
    - ixmlDocument_free
    - free
    - std::string::c_str
    - msg_Dbg
    - c_str
    linkageType: ''
    returnType: int
    signature: int MediaRenderer::SetAVTransportURI(const char* uri, const protocol_info_t&
      proto)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sout_stream_sys_t *>
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:749,1
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:757,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:760,1
    - Dst: sout_stream_sys_t*::streams::push_back
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:763,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - p_stream
    - p_fmt
    - es_id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 767
    functionName: DLNA::Add
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - sout_stream_sys_t*::streams::push_back
    - es_format_Copy
    - malloc
    - static_cast<sout_stream_sys_t *>
    linkageType: ''
    returnType: void
    signature: 'void *

      Add(sout_stream_t *p_stream, const es_format_t *p_fmt, const char *es_id)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sout_stream_sys_t *>
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:772,1
    - Dst: static_cast<sout_stream_id_sys_t*>
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:773,1
    - Dst: sout_stream_sys_t*::GetSubId
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:775,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:778,1
    - Dst: sout_StreamIdSend
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:782,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - p_stream
    - id
    - p_buffer
    argTypes:
    - sout_stream_t*
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 783
    functionName: DLNA::Send
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - block_Release
    - sout_stream_sys_t*::GetSubId
    - static_cast<sout_stream_id_sys_t*>
    - sout_StreamIdSend
    - static_cast<sout_stream_sys_t *>
    linkageType: ''
    returnType: int
    signature: "int Send(sout_stream_t *p_stream, void *id,\n                block_t
      *p_buffer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sout_stream_sys_t *>
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:787,1
    - Dst: static_cast<sout_stream_id_sys_t*>
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:788,1
    - Dst: sout_stream_sys_t*::GetSubId
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:790,1
    - Dst: sout_StreamFlush
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:794,1
    - Dst: sout_stream_sys_t*::stopSoutChain
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:795,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_stream
    - id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 797
    functionName: DLNA::Flush
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - sout_stream_sys_t*::GetSubId
    - static_cast<sout_stream_id_sys_t*>
    - sout_stream_sys_t*::stopSoutChain
    - static_cast<sout_stream_sys_t *>
    - sout_StreamFlush
    linkageType: ''
    returnType: void
    signature: void Flush( sout_stream_t *p_stream, void *id )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sout_stream_sys_t *>
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:801,1
    - Dst: static_cast<sout_stream_id_sys_t *>
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:802,1
    - Dst: sout_stream_sys_t*::streams::begin
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:804,1
    - Dst: sout_stream_sys_t*::streams::end
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:804,1
    - Dst: sout_StreamIdDel
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:811,1
    - Dst: sout_stream_sys_t*::out_streams::begin
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:812,1
    - Dst: sout_stream_sys_t*::out_streams::end
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:813,1
    - Dst: sout_stream_sys_t*::out_streams::erase
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:817,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:823,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:824,1
    - Dst: sout_stream_sys_t*::streams::erase
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:825,1
    - Dst: sout_stream_sys_t*::out_streams::empty
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:830,1
    - Dst: sout_stream_sys_t*::stopSoutChain
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:832,1
    - Dst: sout_stream_sys_t*::renderer::Stop
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:833,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - p_stream
    - _id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 835
    functionName: DLNA::Del
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - sout_stream_sys_t*::out_streams::empty
    - es_format_Clean
    - sout_stream_sys_t*::out_streams::end
    - sout_stream_sys_t*::out_streams::begin
    - sout_stream_sys_t*::out_streams::erase
    - sout_stream_sys_t*::streams::erase
    - sout_stream_sys_t*::renderer::Stop
    - sout_stream_sys_t*::stopSoutChain
    - static_cast<sout_stream_sys_t *>
    - sout_stream_sys_t*::streams::end
    - sout_stream_sys_t*::streams::begin
    - free
    - sout_StreamIdDel
    - static_cast<sout_stream_id_sys_t *>
    linkageType: ''
    returnType: void
    signature: void Del(sout_stream_t *p_stream, void *_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sout_stream_sys_t *>
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:839,1
    - Dst: sout_stream_sys_t*::renderer::ConnectionComplete
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:841,1
    - Dst: sout_stream_sys_t*::p_upnp::release
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 844
    functionName: DLNA::CloseSout
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - sout_stream_sys_t*::p_upnp::release
    - sout_stream_sys_t*::renderer::ConnectionComplete
    - static_cast<sout_stream_sys_t *>
    linkageType: ''
    returnType: void
    signature: void CloseSout( sout_stream_t *p_stream )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<sout_stream_t*>
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:858,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:861,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:863,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:864,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:865,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:866,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:867,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:868,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:871,1
    - Dst: sout_stream_sys_t::sout_stream_sys_t
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:876,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:879,1
    - Dst: what
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:879,1
    - Dst: UpnpInstanceWrapper::get
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:883,1
    - Dst: std::make_shared<MediaRenderer>
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:887,1
    - Dst: auto::get
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:888,1
    - Dst: auto::get
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:888,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:891,1
    - Dst: sout_stream_sys_t*::p_upnp::release
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:892,1
    - Dst: sout_stream_sys_t*::renderer::GetProtocolInfo
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:896,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 856
    functionDepth: 2
    functionLinenumber: 856
    functionLinenumberEnd: 906
    functionName: DLNA::OpenSout
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<MediaRenderer>
    - sout_stream_sys_t::sout_stream_sys_t
    - sout_stream_sys_t*::renderer::GetProtocolInfo
    - vlc::wrap_cptr
    - reinterpret_cast<sout_stream_t*>
    - var_InheritInteger
    - what
    - config_ChainParse
    - var_GetNonEmptyString
    - msg_Err
    - auto::get
    - sout_stream_sys_t*::p_upnp::release
    - var_GetBool
    - UpnpInstanceWrapper::get
    linkageType: ''
    returnType: int
    signature: int OpenSout( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - http_port
    - supports_video
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: DLNA::sout_stream_sys_t
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sout_stream_sys_t(int http_port, bool supports_video)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UpnpGetServerIpAddress
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:101,1
    - Dst: UpnpGetServerIp6Address
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:103,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: DLNA::getServerIPAddress
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - strdup
    - UpnpGetServerIpAddress
    - UpnpGetServerIp6Address
    linkageType: ''
    returnType: char
    signature: char *getServerIPAddress()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DLNA::dlna_write_protocol_info
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - protocol_info_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: DLNA::dlna_write_protocol_info
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 2
    functionsReached:
    - DLNA::dlna_write_protocol_info
    linkageType: ''
    returnType: std::string
    signature: std::string dlna_write_protocol_info (const protocol_info_t info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getline
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:121,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:122,1
    - Dst: std::move
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - delim
    argTypes:
    - std::string
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: DLNA::split
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::vector::push_back
    - getline
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> split(const std::string &s, char delim)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<protocol_info_t>
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:133,1
    - Dst: protocol_info_t::protocol_info_t
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - audio_codec
    argTypes:
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: DLNA::sout_stream_sys_t::canDecodeAudio
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr<protocol_info_t>
    - protocol_info_t::protocol_info_t
    linkageType: ''
    returnType: ProtocolPtr
    signature: ProtocolPtr sout_stream_sys_t::canDecodeAudio(vlc_fourcc_t audio_codec)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<protocol_info_t>
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:147,1
    - Dst: protocol_info_t::protocol_info_t
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - audio_codec
    - video_codec
    argTypes:
    - vlc_fourcc_t
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 151
    functionName: DLNA::sout_stream_sys_t::canDecodeVideo
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr<protocol_info_t>
    - protocol_info_t::protocol_info_t
    linkageType: ''
    returnType: ProtocolPtr
    signature: "ProtocolPtr sout_stream_sys_t::canDecodeVideo(vlc_fourcc_t audio_codec,\n
      \               vlc_fourcc_t video_codec) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DLNA::sout_stream_sys_t::stopSoutChain
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:157,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:158,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:158,1
    - Dst: sout_StreamChainNew
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:161,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:161,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:161,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:163,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:163,1
    - Dst: clear
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:164,1
    - Dst: begin
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:169,1
    - Dst: end
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:170,1
    - Dst: static_cast<sout_stream_id_sys_t *>
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:173,1
    - Dst: sout_StreamIdAdd
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:174,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:177,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:179,1
    - Dst: erase
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:180,1
    - Dst: empty
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:186,1
    - Dst: DLNA::sout_stream_sys_t::stopSoutChain
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - p_stream
    - new_streams
    - sout
    argTypes:
    - sout_stream_t*
    - std::vector<sout_stream_id_sys_t*>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 193
    functionName: DLNA::sout_stream_sys_t::startSoutChain
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 1
    functionsReached:
    - erase
    - es_format_Clean
    - sout_StreamIdAdd
    - end
    - begin
    - clear
    - msg_Err
    - DLNA::sout_stream_sys_t::stopSoutChain
    - std::string::c_str
    - empty
    - msg_Dbg
    - VLC_OBJECT
    - static_cast<sout_stream_id_sys_t *>
    - sout_StreamChainNew
    linkageType: ''
    returnType: bool
    signature: "bool sout_stream_sys_t::startSoutChain(sout_stream_t *p_stream,\n
      \                                      const std::vector<sout_stream_id_sys_t*>
      &new_streams,\n                                       const std::string &sout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:197,1
    - Dst: size
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:199,1
    - Dst: sout_StreamIdDel
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:201,1
    - Dst: clear
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:204,1
    - Dst: sout_StreamChainDelete
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 207
    functionName: DLNA::sout_stream_sys_t::stopSoutChain
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 2
    functionsReached:
    - size
    - clear
    - sout_StreamChainDelete
    - msg_Dbg
    - sout_StreamIdDel
    linkageType: ''
    returnType: void
    signature: void sout_stream_sys_t::stopSoutChain(sout_stream_t *p_stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:213,1
    - Dst: DLNA::sout_stream_sys_t::UpdateOutput
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:215,1
    - Dst: size
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:218,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - p_stream
    - id
    - update
    argTypes:
    - sout_stream_t*
    - sout_stream_id_sys_t*
    - bool
    assertStmts:
    - condition: ( p_stream->p_sys == this )
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/vlc/modules/stream_out/dlna/dlna.cpp
    constantsTouched: []
    func_position:
      end: 226
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 226
    functionName: DLNA::sout_stream_sys_t::GetSubId
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - size
    - assert
    - msg_Err
    - DLNA::sout_stream_sys_t::UpdateOutput
    linkageType: ''
    returnType: sout_stream_id_sys_t
    signature: "sout_stream_id_sys_t *sout_stream_sys_t::GetSubId( sout_stream_t *p_stream,\n
      \                                                  sout_stream_id_sys_t *id,\n
      \                                                  bool update)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:232,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:233,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:236,1
    - Dst: vlc_fourcc_to_char
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:240,1
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - p_stream
    - p_codec_audio
    - p_aud
    - i_quality
    argTypes:
    - sout_stream_t*
    - vlc_fourcc_t*
    - audio_format_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 246
    functionName: DLNA::sout_stream_sys_t::GetAcodecOption
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 1
    functionsReached:
    - msg_Dbg
    - std::stringstream::str
    - vlc_fourcc_to_char
    - VLC_UNUSED
    linkageType: ''
    returnType: std::string
    signature: "std::string sout_stream_sys_t::GetAcodecOption( sout_stream_t *p_stream,
      vlc_fourcc_t *p_codec_audio,\n                                    const audio_format_t
      *p_aud, int i_quality )"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:250,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:270,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:275,1
    - Dst: std::vector::empty
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:279,1
    - Dst: DLNA::sout_stream_sys_t::canDecodeAudio
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:286,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:288,1
    - Dst: make_protocol
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:290,1
    - Dst: DLNA::sout_stream_sys_t::canDecodeVideo
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:299,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:302,1
    - Dst: make_protocol
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:304,1
    - Dst: DLNA::sout_stream_sys_t::canDecodeVideo
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:312,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:315,1
    - Dst: make_protocol
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:318,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:334,1
    - Dst: ProtocolPtr::profile::mime::c_str
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:335,1
    - Dst: ProtocolPtr::profile::name::c_str
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:336,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:342,1
    - Dst: vlc_dialog_wait_question
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:344,1
    - Dst: _
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:346,1
    - Dst: _
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:346,1
    - Dst: _
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:346,1
    - Dst: _
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:347,1
    - Dst: _
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:348,1
    - Dst: config_PutInt
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:355,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:358,1
    - Dst: DLNA::sout_stream_sys_t::GetAcodecOption
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:365,1
    - Dst: vlc_sout_renderer_GetVcodecOption
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:372,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:385,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:386,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:386,1
    - Dst: std::ostringstream::str
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:388,1
    - Dst: vlc::wrap_cptr<char>
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:394,1
    - Dst: getServerIPAddress
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:394,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:397,1
    - Dst: asprintf
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:402,1
    - Dst: auto::get
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:402,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:402,1
    - Dst: DLNA::sout_stream_sys_t::startSoutChain
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:406,1
    - Dst: std::ostringstream::str
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:406,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:407,1
    - Dst: PrepareForConnection
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:411,1
    - Dst: dlna_write_protocol_info
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:411,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:413,1
    - Dst: Stop
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:414,1
    - Dst: SetAVTransportURI
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:415,1
    - Dst: Play
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:416,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:418,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 89
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - sout_stream_t*
    assertStmts:
    - condition: ( p_stream->p_sys == this )
      pos:
        line_end: 249
        line_start: 249
        source_file: /src/vlc/modules/stream_out/dlna/dlna.cpp
    constantsTouched: []
    func_position:
      end: 420
      start: 248
    functionDepth: 3
    functionLinenumber: 248
    functionLinenumberEnd: 420
    functionName: DLNA::sout_stream_sys_t::UpdateOutput
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 2
    functionsReached:
    - assert
    - ProtocolPtr::profile::name::c_str
    - auto::get
    - std::string::c_str
    - vlc_mrand48
    - ProtocolPtr::profile::mime::c_str
    - DLNA::sout_stream_sys_t::startSoutChain
    - std::ostringstream::str
    - vlc_tick_now
    - asprintf
    - vlc::wrap_cptr<char>
    - vlc_sout_renderer_GetVcodecOption
    - _
    - msg_Err
    - msg_Dbg
    - vlc_dialog_wait_question
    - make_protocol
    - static_cast<uint64_t>
    - DLNA::sout_stream_sys_t::canDecodeAudio
    - var_InheritInteger
    - std::vector::push_back
    - std::vector::empty
    - Play
    - getServerIPAddress
    - dlna_write_protocol_info
    - DLNA::sout_stream_sys_t::GetAcodecOption
    - PrepareForConnection
    - Stop
    - free
    - SetAVTransportURI
    - config_PutInt
    - DLNA::sout_stream_sys_t::canDecodeVideo
    linkageType: ''
    returnType: int
    signature: int sout_stream_sys_t::UpdateOutput( sout_stream_t *p_stream )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: UpnpDownloadXmlDoc
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:425,1
    - Dst: c_str
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:425,1
    - Dst: ixmlDocument_getElementsByTagName
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:428,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:429,1
    - Dst: ixmlNodeList_length
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:433,1
    - Dst: ixmlNodeList_item
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:435,1
    - Dst: ixmlElement_getElementsByTagName
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:439,1
    - Dst: ixmlNodeList_length
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:442,1
    - Dst: ixmlNodeList_item
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:444,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:446,1
    - Dst: strstr
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:447,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:449,1
    - Dst: UpnpResolveURL2
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:455,1
    - Dst: c_str
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:455,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 2
    argNames:
    - type
    - service
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 461
    functionName: DLNA::MediaRenderer::getServiceURL
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 1
    functionsReached:
    - UpnpDownloadXmlDoc
    - ixmlNodeList_item
    - xml_getChildElementValue
    - ixmlElement_getElementsByTagName
    - UpnpResolveURL2
    - free
    - strstr
    - c_str
    - ixmlDocument_getElementsByTagName
    - ixmlNodeList_length
    linkageType: ''
    returnType: char
    signature: char *MediaRenderer::getServiceURL(const char* type, const char *service)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UpnpMakeAction
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:472,1
    - Dst: UpnpAddToAction
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:479,1
    - Dst: DLNA::MediaRenderer::getServiceURL
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:483,1
    - Dst: UpnpSendAction
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:487,1
    - Dst: ixmlDocument_free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:491,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:492,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:495,1
    - Dst: UpnpGetErrorMessage
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:496,1
    - Dst: ixmlPrintDocument
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:496,1
    - Dst: ixmlDocument_free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:497,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - action_name
    - service_type
    - arguments
    argTypes:
    - char*
    - char*
    - std::list<std::pair<const char*, const char*>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 468
    functionDepth: 2
    functionLinenumber: 468
    functionLinenumberEnd: 502
    functionName: DLNA::MediaRenderer::SendAction
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 6
    functionsReached:
    - ixmlDocument_free
    - msg_Err
    - free
    - UpnpGetErrorMessage
    - UpnpSendAction
    - ixmlPrintDocument
    - UpnpMakeAction
    - UpnpAddToAction
    - DLNA::MediaRenderer::getServiceURL
    linkageType: ''
    returnType: IXML_Document
    signature: "IXML_Document *MediaRenderer::SendAction(const char* action_name,const
      char *service_type,\n                    std::list<std::pair<const char*, const
      char*>> arguments)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:507,1
    - Dst: DLNA::MediaRenderer::SendAction
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:511,1
    - Dst: ixmlDocument_free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - speed
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 504
    functionDepth: 3
    functionLinenumber: 504
    functionLinenumberEnd: 518
    functionName: DLNA::MediaRenderer::Play
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - ixmlDocument_free
    - DLNA::MediaRenderer::SendAction
    - c_str
    linkageType: ''
    returnType: int
    signature: int MediaRenderer::Play(const char *speed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:523,1
    - Dst: DLNA::MediaRenderer::SendAction
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:526,1
    - Dst: ixmlDocument_free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 520
    functionDepth: 3
    functionLinenumber: 520
    functionLinenumberEnd: 533
    functionName: DLNA::MediaRenderer::Stop
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - ixmlDocument_free
    - DLNA::MediaRenderer::SendAction
    - c_str
    linkageType: ''
    returnType: int
    signature: int MediaRenderer::Stop()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DLNA::MediaRenderer::SendAction
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:541,1
    - Dst: ixmlDocument_getElementsByTagName
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:549,1
    - Dst: ixmlNodeList_item
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:552,1
    - Dst: ixmlNode_getFirstChild
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:555,1
    - Dst: std::string::assign
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:558,1
    - Dst: ixmlNode_getNodeValue
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:558,1
    - Dst: ixmlNodeList_free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:561,1
    - Dst: ixmlDocument_free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:563,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:565,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:565,1
    - Dst: split
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:568,1
    - Dst: split
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:570,1
    - Dst: std::vector::size
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:573,1
    - Dst: std::vector::at
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:573,1
    - Dst: std::vector::at
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:580,1
    - Dst: std::vector::at
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:582,1
    - Dst: std::vector::at
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:588,1
    - Dst: std::string::length
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:589,1
    - Dst: std::vector::at
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:591,1
    - Dst: std::vector::at
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:596,1
    - Dst: std::move
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:599,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:600,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:608,1
    - Dst: std::vector::size
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:608,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 535
    functionDepth: 3
    functionLinenumber: 535
    functionLinenumberEnd: 610
    functionName: DLNA::MediaRenderer::GetProtocolInfo
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - ixmlNodeList_item
    - DLNA::MediaRenderer::SendAction
    - ixmlNode_getNodeValue
    - std::string::assign
    - ixmlNodeList_free
    - ixmlDocument_free
    - split
    - std::vector::at
    - std::string::length
    - std::string::c_str
    - std::move
    - std::vector::push_back
    - msg_Dbg
    - ixmlNode_getFirstChild
    - std::vector::size
    - ixmlDocument_getElementsByTagName
    linkageType: ''
    returnType: std::vector<protocol_info_t>
    signature: std::vector<protocol_info_t> MediaRenderer::GetProtocolInfo()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DLNA::MediaRenderer::SendAction
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:621,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:628,1
    - Dst: ixmlPrintDocument
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:629,1
    - Dst: ixmlDocument_getElementsByTagName
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:632,1
    - Dst: ixmlNodeList_item
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:635,1
    - Dst: ixmlNode_getFirstChild
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:638,1
    - Dst: assign
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:641,1
    - Dst: ixmlNode_getNodeValue
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:641,1
    - Dst: ixmlNodeList_free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:644,1
    - Dst: ixmlDocument_getElementsByTagName
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:648,1
    - Dst: ixmlNodeList_item
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:651,1
    - Dst: ixmlNode_getFirstChild
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:654,1
    - Dst: assign
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:657,1
    - Dst: ixmlNode_getNodeValue
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:657,1
    - Dst: ixmlNodeList_free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:660,1
    - Dst: ixmlDocument_getElementsByTagName
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:664,1
    - Dst: ixmlNodeList_item
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:667,1
    - Dst: ixmlNode_getFirstChild
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:670,1
    - Dst: assign
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:673,1
    - Dst: ixmlNode_getNodeValue
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:673,1
    - Dst: ixmlNodeList_free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:676,1
    - Dst: ixmlDocument_free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:679,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - protocol_str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 612
    functionDepth: 3
    functionLinenumber: 612
    functionLinenumberEnd: 681
    functionName: DLNA::MediaRenderer::PrepareForConnection
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - ixmlNodeList_item
    - DLNA::MediaRenderer::SendAction
    - assign
    - ixmlNode_getNodeValue
    - ixmlNodeList_free
    - ixmlDocument_free
    - msg_Dbg
    - ixmlNode_getFirstChild
    - ixmlDocument_getElementsByTagName
    - ixmlPrintDocument
    linkageType: ''
    returnType: int
    signature: int MediaRenderer::PrepareForConnection(const char* protocol_str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:686,1
    - Dst: DLNA::MediaRenderer::SendAction
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:689,1
    - Dst: ixmlDocument_free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:696,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 683
    functionDepth: 3
    functionLinenumber: 683
    functionLinenumberEnd: 698
    functionName: DLNA::MediaRenderer::ConnectionComplete
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - ixmlDocument_free
    - DLNA::MediaRenderer::SendAction
    - c_str
    linkageType: ''
    returnType: int
    signature: int MediaRenderer::ConnectionComplete()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dlna_write_protocol_info
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:716,1
    - Dst: asprintf
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:719,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:722,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:727,1
    - Dst: c_str
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:729,1
    - Dst: DLNA::MediaRenderer::SendAction
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:734,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:737,1
    - Dst: ixmlDocument_free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:742,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - uri
    - ' proto'
    argTypes:
    - char*
    - protocol_info_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 700
    functionDepth: 3
    functionLinenumber: 700
    functionLinenumberEnd: 744
    functionName: DLNA::MediaRenderer::SetAVTransportURI
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - asprintf
    - DLNA::MediaRenderer::SendAction
    - dlna_write_protocol_info
    - ixmlDocument_free
    - free
    - std::string::c_str
    - msg_Dbg
    - c_str
    linkageType: ''
    returnType: int
    signature: int MediaRenderer::SetAVTransportURI(const char* uri, const protocol_info_t&
      proto)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sout_stream_sys_t *>
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:749,1
    - Dst: malloc
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:757,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:760,1
    - Dst: sout_stream_sys_t*::streams::push_back
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:763,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - p_stream
    - p_fmt
    - es_id
    argTypes:
    - sout_stream_t*
    - es_format_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 767
    functionName: DLNA::Add
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - sout_stream_sys_t*::streams::push_back
    - es_format_Copy
    - malloc
    - static_cast<sout_stream_sys_t *>
    linkageType: ''
    returnType: void
    signature: 'void *

      Add(sout_stream_t *p_stream, const es_format_t *p_fmt, const char *es_id)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sout_stream_sys_t *>
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:772,1
    - Dst: static_cast<sout_stream_id_sys_t*>
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:773,1
    - Dst: sout_stream_sys_t*::GetSubId
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:775,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:778,1
    - Dst: sout_StreamIdSend
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:782,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - p_stream
    - id
    - p_buffer
    argTypes:
    - sout_stream_t*
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 783
    functionName: DLNA::Send
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - block_Release
    - sout_stream_sys_t*::GetSubId
    - static_cast<sout_stream_id_sys_t*>
    - sout_StreamIdSend
    - static_cast<sout_stream_sys_t *>
    linkageType: ''
    returnType: int
    signature: "int Send(sout_stream_t *p_stream, void *id,\n                block_t
      *p_buffer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sout_stream_sys_t *>
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:787,1
    - Dst: static_cast<sout_stream_id_sys_t*>
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:788,1
    - Dst: sout_stream_sys_t*::GetSubId
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:790,1
    - Dst: sout_StreamFlush
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:794,1
    - Dst: sout_stream_sys_t*::stopSoutChain
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:795,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_stream
    - id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 797
    functionName: DLNA::Flush
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - sout_stream_sys_t*::GetSubId
    - static_cast<sout_stream_id_sys_t*>
    - sout_stream_sys_t*::stopSoutChain
    - static_cast<sout_stream_sys_t *>
    - sout_StreamFlush
    linkageType: ''
    returnType: void
    signature: void Flush( sout_stream_t *p_stream, void *id )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sout_stream_sys_t *>
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:801,1
    - Dst: static_cast<sout_stream_id_sys_t *>
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:802,1
    - Dst: sout_stream_sys_t*::streams::begin
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:804,1
    - Dst: sout_stream_sys_t*::streams::end
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:804,1
    - Dst: sout_StreamIdDel
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:811,1
    - Dst: sout_stream_sys_t*::out_streams::begin
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:812,1
    - Dst: sout_stream_sys_t*::out_streams::end
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:813,1
    - Dst: sout_stream_sys_t*::out_streams::erase
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:817,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:823,1
    - Dst: free
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:824,1
    - Dst: sout_stream_sys_t*::streams::erase
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:825,1
    - Dst: sout_stream_sys_t*::out_streams::empty
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:830,1
    - Dst: sout_stream_sys_t*::stopSoutChain
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:832,1
    - Dst: sout_stream_sys_t*::renderer::Stop
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:833,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - p_stream
    - _id
    argTypes:
    - sout_stream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 835
    functionName: DLNA::Del
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - sout_stream_sys_t*::out_streams::empty
    - es_format_Clean
    - sout_stream_sys_t*::out_streams::end
    - sout_stream_sys_t*::out_streams::begin
    - sout_stream_sys_t*::out_streams::erase
    - sout_stream_sys_t*::streams::erase
    - sout_stream_sys_t*::renderer::Stop
    - sout_stream_sys_t*::stopSoutChain
    - static_cast<sout_stream_sys_t *>
    - sout_stream_sys_t*::streams::end
    - sout_stream_sys_t*::streams::begin
    - free
    - sout_StreamIdDel
    - static_cast<sout_stream_id_sys_t *>
    linkageType: ''
    returnType: void
    signature: void Del(sout_stream_t *p_stream, void *_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<sout_stream_sys_t *>
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:839,1
    - Dst: sout_stream_sys_t*::renderer::ConnectionComplete
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:841,1
    - Dst: sout_stream_sys_t*::p_upnp::release
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - sout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 844
    functionName: DLNA::CloseSout
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - sout_stream_sys_t*::p_upnp::release
    - sout_stream_sys_t*::renderer::ConnectionComplete
    - static_cast<sout_stream_sys_t *>
    linkageType: ''
    returnType: void
    signature: void CloseSout( sout_stream_t *p_stream )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<sout_stream_t*>
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:858,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:861,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:863,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:864,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:865,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:866,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:867,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:868,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:871,1
    - Dst: sout_stream_sys_t::sout_stream_sys_t
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:876,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:879,1
    - Dst: what
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:879,1
    - Dst: UpnpInstanceWrapper::get
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:883,1
    - Dst: std::make_shared<MediaRenderer>
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:887,1
    - Dst: auto::get
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:888,1
    - Dst: auto::get
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:888,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:891,1
    - Dst: sout_stream_sys_t*::p_upnp::release
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:892,1
    - Dst: sout_stream_sys_t*::renderer::GetProtocolInfo
      Src: /src/vlc/modules/stream_out/dlna/dlna.cpp:896,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 856
    functionDepth: 2
    functionLinenumber: 856
    functionLinenumberEnd: 906
    functionName: DLNA::OpenSout
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<MediaRenderer>
    - sout_stream_sys_t::sout_stream_sys_t
    - sout_stream_sys_t*::renderer::GetProtocolInfo
    - vlc::wrap_cptr
    - reinterpret_cast<sout_stream_t*>
    - var_InheritInteger
    - what
    - config_ChainParse
    - var_GetNonEmptyString
    - msg_Err
    - auto::get
    - sout_stream_sys_t*::p_upnp::release
    - var_GetBool
    - UpnpInstanceWrapper::get
    linkageType: ''
    returnType: int
    signature: int OpenSout( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: protocol_info_t
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void protocol_info_t()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: protocol_info_t
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void protocol_info_t(const protocol_info_t&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - transport
    - ci
    - profile
    argTypes:
    - dlna_transport_protocol_t
    - dlna_org_conversion_t
    - dlna_profile_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: protocol_info_t
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void protocol_info_t(dlna_transport_protocol_t transport,\n            dlna_org_conversion_t
      ci,\n            dlna_profile_t profile)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: protocol_info_t::profile::name::c_str
      Src: /src/vlc/modules/stream_out/dlna/dlna.hpp:66,1
    - Dst: std::setfill
      Src: /src/vlc/modules/stream_out/dlna/dlna.hpp:68,1
    - Dst: std::setw
      Src: /src/vlc/modules/stream_out/dlna/dlna.hpp:70,1
    - Dst: std::setw
      Src: /src/vlc/modules/stream_out/dlna/dlna.hpp:75,1
    - Dst: std::setw
      Src: /src/vlc/modules/stream_out/dlna/dlna.hpp:76,1
    - Dst: std::ostringstream::str
      Src: /src/vlc/modules/stream_out/dlna/dlna.hpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - info
    - flags
    - op
    argTypes:
    - protocol_info_t
    - dlna_org_flags_t
    - dlna_org_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 79
    functionName: dlna_write_protocol_info
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.hpp
    functionUses: 6
    functionsReached:
    - std::setw
    - std::ostringstream::str
    - std::setfill
    - protocol_info_t::profile::name::c_str
    linkageType: ''
    returnType: std::string
    signature: "std::string dlna_write_protocol_info(const protocol_info_t info,\n
      \                                                  const dlna_org_flags_t flags,\n
      \                                                  const dlna_org_operation_t
      op)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<protocol_info_t>
      Src: /src/vlc/modules/stream_out/dlna/dlna.hpp:84,1
    - Dst: protocol_info_t::protocol_info_t
      Src: /src/vlc/modules/stream_out/dlna/dlna.hpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - protocol_info_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: make_protocol
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.hpp
    functionUses: 2
    functionsReached:
    - std::unique_ptr<protocol_info_t>
    - protocol_info_t::protocol_info_t
    linkageType: ''
    returnType: ProtocolPtr
    signature: ProtocolPtr make_protocol(protocol_info_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UpnpInstanceWrapper*::handle
      Src: /src/vlc/modules/stream_out/dlna/dlna.hpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - p_stream
    - upnp
    - base_url
    - device_url
    argTypes:
    - sout_stream_t*
    - UpnpInstanceWrapper*
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: DLNA::MediaRenderer::MediaRenderer
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.hpp
    functionUses: 0
    functionsReached:
    - UpnpInstanceWrapper*::handle
    linkageType: ''
    returnType: void
    signature: "void MediaRenderer(sout_stream_t *p_stream, UpnpInstanceWrapper *upnp,\n
      \           std::string base_url, std::string device_url)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UpnpInstanceWrapper*::handle
      Src: /src/vlc/modules/stream_out/dlna/dlna.hpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - p_stream
    - upnp
    - base_url
    - device_url
    argTypes:
    - sout_stream_t*
    - UpnpInstanceWrapper*
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: DLNA::MediaRenderer::MediaRenderer
    functionSourceFile: /src/vlc/modules/stream_out/dlna/dlna.hpp
    functionUses: 0
    functionsReached:
    - UpnpInstanceWrapper*::handle
    linkageType: ''
    returnType: void
    signature: "void MediaRenderer(sout_stream_t *p_stream, UpnpInstanceWrapper *upnp,\n
      \           std::string base_url, std::string device_url)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<dlna_org_flags_t>
      Src: /src/vlc/modules/stream_out/dlna/profile_names.hpp:99,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/stream_out/dlna/profile_names.hpp:99,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/stream_out/dlna/profile_names.hpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - dlna_org_flags_t
    - dlna_org_flags_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: operator|(dlna_org_flags_t a, dlna_org_flags_t b)
    functionSourceFile: /src/vlc/modules/stream_out/dlna/profile_names.hpp
    functionUses: 0
    functionsReached:
    - static_cast<dlna_org_flags_t>
    - static_cast<int>
    linkageType: ''
    returnType: dlna_org_flags_t
    signature: dlna_org_flags_t operator|(dlna_org_flags_t a, dlna_org_flags_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: dlna_profile_t::dlna_profile_t
    functionSourceFile: /src/vlc/modules/stream_out/dlna/profile_names.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dlna_profile_t()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/vlc/modules/stream_out/dlna/profile_names.hpp:130,1
    - Dst: std::move
      Src: /src/vlc/modules/stream_out/dlna/profile_names.hpp:131,1
    - Dst: std::move
      Src: /src/vlc/modules/stream_out/dlna/profile_names.hpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - profile
    - mux
    - mime
    - video
    - audio
    argTypes:
    - std::string
    - std::string
    - std::string
    - vlc_fourcc_t
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: dlna_profile_t::dlna_profile_t
    functionSourceFile: /src/vlc/modules/stream_out/dlna/profile_names.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void dlna_profile_t(std::string profile, std::string mux, std::string
      mime,\n            vlc_fourcc_t video, vlc_fourcc_t audio)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/vlc/modules/stream_out/dlna/profile_names.hpp:140,1
    - Dst: std::move
      Src: /src/vlc/modules/stream_out/dlna/profile_names.hpp:141,1
    - Dst: std::move
      Src: /src/vlc/modules/stream_out/dlna/profile_names.hpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - profile
    - mux
    - mime
    - media
    - video
    - audio
    argTypes:
    - std::string
    - std::string
    - std::string
    - dlna_media_class_t
    - vlc_fourcc_t
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 146
    functionName: dlna_profile_t::dlna_profile_t
    functionSourceFile: /src/vlc/modules/stream_out/dlna/profile_names.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void dlna_profile_t(std::string profile, std::string mux, std::string
      mime,\n            dlna_media_class_t media, vlc_fourcc_t video, vlc_fourcc_t
      audio)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_extractor/archive.c:99,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/stream_extractor/archive.c:105,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/stream_extractor/archive.c:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - p_arc
    - p_obj
    argTypes:
    - libarchive_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 115
    functionName: libarchive_exit_cb
    functionSourceFile: /src/vlc/modules/stream_extractor/archive.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Seek
    - vlc_stream_Delete
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int libarchive_exit_cb( libarchive_t* p_arc, void* p_obj )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libarchive_exit_cb
      Src: /src/vlc/modules/stream_extractor/archive.c:123,1
    - Dst: vlc_stream_NewURL
      Src: /src/vlc/modules/stream_extractor/archive.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - p_arc
    - p_obj_current
    - p_obj_next
    argTypes:
    - libarchive_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 131
    functionName: libarchive_jump_cb
    functionSourceFile: /src/vlc/modules/stream_extractor/archive.c
    functionUses: 0
    functionsReached:
    - libarchive_exit_cb
    - vlc_stream_NewURL
    linkageType: ''
    returnType: int
    signature: "int libarchive_jump_cb( libarchive_t* p_arc, void* p_obj_current,\n
      \ void* p_obj_next )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_extractor/archive.c:137,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/stream_extractor/archive.c:148,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/stream_extractor/archive.c:148,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/stream_extractor/archive.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - p_arc
    - p_obj
    - i_request
    argTypes:
    - libarchive_t*
    - void*
    - la_int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 156
    functionName: libarchive_skip_cb
    functionSourceFile: /src/vlc/modules/stream_extractor/archive.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Seek
    - vlc_stream_Tell
    - vlc_stream_Read
    - VLC_UNUSED
    linkageType: ''
    returnType: la_int64_t
    signature: "la_int64_t libarchive_skip_cb( libarchive_t* p_arc, void* p_obj,\n
      \                                     la_int64_t i_request )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_extractor/archive.c:161,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/stream_extractor/archive.c:171,1
    - Dst: stream_Size
      Src: /src/vlc/modules/stream_extractor/archive.c:172,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/stream_extractor/archive.c:173,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/stream_extractor/archive.c:177,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/stream_extractor/archive.c:180,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - p_arc
    - p_obj
    - offset
    - whence
    argTypes:
    - libarchive_t*
    - void*
    - la_int64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 181
    functionName: libarchive_seek_cb
    functionSourceFile: /src/vlc/modules/stream_extractor/archive.c
    functionUses: 0
    functionsReached:
    - stream_Size
    - vlc_assert_unreachable
    - vlc_stream_Seek
    - vlc_stream_Tell
    - VLC_UNUSED
    linkageType: ''
    returnType: la_int64_t
    signature: "la_int64_t libarchive_seek_cb( libarchive_t* p_arc, void* p_obj,\n
      \ la_int64_t offset, int whence )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/stream_extractor/archive.c:186,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/stream_extractor/archive.c:193,1
    - Dst: archive_set_error
      Src: /src/vlc/modules/stream_extractor/archive.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - p_arc
    - p_obj
    - pp_dst
    argTypes:
    - libarchive_t*
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 206
    functionName: libarchive_read_cb
    functionSourceFile: /src/vlc/modules/stream_extractor/archive.c
    functionUses: 0
    functionsReached:
    - archive_set_error
    - vlc_stream_Read
    - VLC_UNUSED
    linkageType: ''
    returnType: la_ssize_t
    signature: "la_ssize_t libarchive_read_cb( libarchive_t* p_arc, void* p_obj,\n
      \ const void** pp_dst )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/vlc/modules/stream_extractor/archive.c:218,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_extractor/archive.c:221,1
    - Dst: malloc
      Src: /src/vlc/modules/stream_extractor/archive.c:226,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_extractor/archive.c:228,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_extractor/archive.c:233,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_extractor/archive.c:237,1
    - Dst: free
      Src: /src/vlc/modules/stream_extractor/archive.c:239,1
    - Dst: free
      Src: /src/vlc/modules/stream_extractor/archive.c:249,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - p_sys
    - p_source
    - psz_url
    argTypes:
    - private_sys_t*
    - stream_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 251
    functionName: archive_push_resource
    functionSourceFile: /src/vlc/modules/stream_extractor/archive.c
    functionUses: 0
    functionsReached:
    - strdup
    - realloc
    - free
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: "int archive_push_resource( private_sys_t* p_sys,\n  stream_t* p_source,
      char const* psz_url )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: archive_read_new
      Src: /src/vlc/modules/stream_extractor/archive.c:257,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_extractor/archive.c:259,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_extractor/archive.c:261,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/stream_extractor/archive.c:269,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_extractor/archive.c:272,1
    - Dst: archive_read_set_seek_callback
      Src: /src/vlc/modules/stream_extractor/archive.c:278,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_extractor/archive.c:281,1
    - Dst: archive_read_support_filter_all
      Src: /src/vlc/modules/stream_extractor/archive.c:288,1
    - Dst: archive_read_support_format_all
      Src: /src/vlc/modules/stream_extractor/archive.c:289,1
    - Dst: archive_read_set_switch_callback
      Src: /src/vlc/modules/stream_extractor/archive.c:293,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_extractor/archive.c:296,1
    - Dst: archive_read_append_callback_data
      Src: /src/vlc/modules/stream_extractor/archive.c:302,1
    - Dst: archive_read_open2
      Src: /src/vlc/modules/stream_extractor/archive.c:311,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_extractor/archive.c:314,1
    - Dst: archive_error_string
      Src: /src/vlc/modules/stream_extractor/archive.c:315,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - p_sys
    - source
    argTypes:
    - private_sys_t*
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 321
    functionName: archive_init
    functionSourceFile: /src/vlc/modules/stream_extractor/archive.c
    functionUses: 0
    functionsReached:
    - archive_read_open2
    - archive_read_support_format_all
    - archive_read_support_filter_all
    - archive_read_new
    - archive_read_set_seek_callback
    - msg_Err
    - archive_read_append_callback_data
    - msg_Dbg
    - msg_Warn
    - archive_read_set_switch_callback
    - archive_error_string
    - unlikely
    - vlc_stream_Control
    linkageType: ''
    returnType: int
    signature: int archive_init( private_sys_t* p_sys, stream_t* source )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: archive_entry_free
      Src: /src/vlc/modules/stream_extractor/archive.c:328,1
    - Dst: archive_read_free
      Src: /src/vlc/modules/stream_extractor/archive.c:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - private_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 337
    functionName: archive_clean
    functionSourceFile: /src/vlc/modules/stream_extractor/archive.c
    functionUses: 0
    functionsReached:
    - archive_read_free
    - archive_entry_free
    linkageType: ''
    returnType: int
    signature: int archive_clean( private_sys_t* p_sys )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: archive_read_next_header
      Src: /src/vlc/modules/stream_extractor/archive.c:346,1
    - Dst: archive_entry_pathname
      Src: /src/vlc/modules/stream_extractor/archive.c:348,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_extractor/archive.c:350,1
    - Dst: archive_entry_clone
      Src: /src/vlc/modules/stream_extractor/archive.c:352,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_extractor/archive.c:354,1
    - Dst: archive_read_data_skip
      Src: /src/vlc/modules/stream_extractor/archive.c:360,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_extractor/archive.c:366,1
    - Dst: archive_error_string
      Src: /src/vlc/modules/stream_extractor/archive.c:367,1
    - Dst: archive_set_error
      Src: /src/vlc/modules/stream_extractor/archive.c:372,1
    - Dst: archive_seek_data
      Src: /src/vlc/modules/stream_extractor/archive.c:382,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - p_sys
    - psz_subentry
    argTypes:
    - private_sys_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 387
    functionName: archive_seek_subentry
    functionSourceFile: /src/vlc/modules/stream_extractor/archive.c
    functionUses: 0
    functionsReached:
    - archive_read_next_header
    - archive_set_error
    - archive_entry_pathname
    - archive_read_data_skip
    - strcmp
    - msg_Warn
    - archive_seek_data
    - archive_entry_clone
    - archive_error_string
    - unlikely
    linkageType: ''
    returnType: int
    signature: int archive_seek_subentry( private_sys_t* p_sys, char const* psz_subentry
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/stream_extractor/archive.c:393,1
    - Dst: archive_clean
      Src: /src/vlc/modules/stream_extractor/archive.c:394,1
    - Dst: archive_init
      Src: /src/vlc/modules/stream_extractor/archive.c:395,1
    - Dst: archive_seek_subentry
      Src: /src/vlc/modules/stream_extractor/archive.c:396,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - p_extractor
    argTypes:
    - stream_extractor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 408
    functionName: archive_extractor_reset
    functionSourceFile: /src/vlc/modules/stream_extractor/archive.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Seek
    - archive_init
    - archive_seek_subentry
    - archive_clean
    linkageType: ''
    returnType: int
    signature: int archive_extractor_reset( stream_extractor_t* p_extractor )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/stream_extractor/archive.c:415,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_extractor/archive.c:417,1
    - Dst: archive_push_resource
      Src: /src/vlc/modules/stream_extractor/archive.c:420,1
    - Dst: archive_push_resource
      Src: /src/vlc/modules/stream_extractor/archive.c:426,1
    - Dst: free
      Src: /src/vlc/modules/stream_extractor/archive.c:438,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - obj
    - source
    - volumes
    - volumes_count
    argTypes:
    - vlc_object_t*
    - stream_t*
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 440
    functionName: setup
    functionSourceFile: /src/vlc/modules/stream_extractor/archive.c
    functionUses: 22
    functionsReached:
    - calloc
    - unlikely
    - archive_push_resource
    - free
    linkageType: ''
    returnType: private_sys_t
    signature: "private_sys_t * setup( vlc_object_t* obj, stream_t* source,\n                             char
      **volumes, size_t volumes_count )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/stream_extractor/archive.c:472,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/stream_extractor/archive.c:475,1
    - Dst: memcmp
      Src: /src/vlc/modules/stream_extractor/archive.c:480,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - source
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 486
    functionName: probe
    functionSourceFile: /src/vlc/modules/stream_extractor/archive.c
    functionUses: 3
    functionsReached:
    - vlc_stream_Peek
    - ARRAY_SIZE
    - memcmp
    linkageType: ''
    returnType: int
    signature: int probe( stream_t* source )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/stream_extractor/archive.c:497,1
    - Dst: va_arg
      Src: /src/vlc/modules/stream_extractor/archive.c:501,1
    - Dst: archive_entry_size_is_set
      Src: /src/vlc/modules/stream_extractor/archive.c:508,1
    - Dst: va_arg
      Src: /src/vlc/modules/stream_extractor/archive.c:511,1
    - Dst: archive_entry_size
      Src: /src/vlc/modules/stream_extractor/archive.c:511,1
    - Dst: archive_entry_mtime_is_set
      Src: /src/vlc/modules/stream_extractor/archive.c:518,1
    - Dst: va_arg
      Src: /src/vlc/modules/stream_extractor/archive.c:521,1
    - Dst: archive_entry_mtime
      Src: /src/vlc/modules/stream_extractor/archive.c:521,1
    - Dst: vlc_stream_vaControl
      Src: /src/vlc/modules/stream_extractor/archive.c:525,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - p_extractor
    - i_query
    - args
    argTypes:
    - stream_extractor_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 529
    functionName: Control
    functionSourceFile: /src/vlc/modules/stream_extractor/archive.c
    functionUses: 56
    functionsReached:
    - archive_entry_size_is_set
    - va_arg
    - archive_entry_size
    - vlc_stream_vaControl
    - archive_entry_mtime_is_set
    - archive_entry_mtime
    linkageType: ''
    returnType: int
    signature: int Control( stream_extractor_t* p_extractor, int i_query, va_list
      args )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_readdir_helper_init
      Src: /src/vlc/modules/stream_extractor/archive.c:537,1
    - Dst: archive_read_next_header
      Src: /src/vlc/modules/stream_extractor/archive.c:542,1
    - Dst: archive_entry_filetype
      Src: /src/vlc/modules/stream_extractor/archive.c:544,1
    - Dst: archive_entry_pathname
      Src: /src/vlc/modules/stream_extractor/archive.c:547,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_extractor/archive.c:549,1
    - Dst: vlc_stream_extractor_CreateMRL
      Src: /src/vlc/modules/stream_extractor/archive.c:552,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_extractor/archive.c:556,1
    - Dst: vlc_readdir_helper_additem
      Src: /src/vlc/modules/stream_extractor/archive.c:560,1
    - Dst: free
      Src: /src/vlc/modules/stream_extractor/archive.c:563,1
    - Dst: archive_entry_mtime
      Src: /src/vlc/modules/stream_extractor/archive.c:568,1
    - Dst: input_item_AddStat
      Src: /src/vlc/modules/stream_extractor/archive.c:570,1
    - Dst: archive_entry_size
      Src: /src/vlc/modules/stream_extractor/archive.c:572,1
    - Dst: input_item_AddStat
      Src: /src/vlc/modules/stream_extractor/archive.c:574,1
    - Dst: free
      Src: /src/vlc/modules/stream_extractor/archive.c:577,1
    - Dst: archive_read_data_skip
      Src: /src/vlc/modules/stream_extractor/archive.c:579,1
    - Dst: vlc_readdir_helper_finish
      Src: /src/vlc/modules/stream_extractor/archive.c:585,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 2
    argNames:
    - p_directory
    - p_node
    argTypes:
    - stream_directory_t*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 587
    functionName: ReadDir
    functionSourceFile: /src/vlc/modules/stream_extractor/archive.c
    functionUses: 2
    functionsReached:
    - vlc_readdir_helper_init
    - archive_read_next_header
    - archive_entry_pathname
    - input_item_AddStat
    - archive_read_data_skip
    - free
    - vlc_stream_extractor_CreateMRL
    - archive_entry_filetype
    - archive_entry_size
    - vlc_readdir_helper_additem
    - unlikely
    - archive_entry_mtime
    - vlc_readdir_helper_finish
    linkageType: ''
    returnType: int
    signature: int ReadDir( stream_directory_t* p_directory, input_item_node_t* p_node
      )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: archive_read_data_block
      Src: /src/vlc/modules/stream_extractor/archive.c:606,1
    - Dst: assert
      Src: /src/vlc/modules/stream_extractor/archive.c:607,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_extractor/archive.c:632,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_extractor/archive.c:636,1
    - Dst: archive_error_string
      Src: /src/vlc/modules/stream_extractor/archive.c:636,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_extractor/archive.c:640,1
    - Dst: archive_error_string
      Src: /src/vlc/modules/stream_extractor/archive.c:640,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_extractor/archive.c:644,1
    - Dst: archive_error_string
      Src: /src/vlc/modules/stream_extractor/archive.c:644,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 3
    argNames:
    - p_extractor
    - p_data
    - i_size
    argTypes:
    - stream_extractor_t*
    - void*
    - size_t
    assertStmts:
    - condition: (arcoffset == (la_int64_t) p_sys->i_offset)
      pos:
        line_end: 606
        line_start: 606
        source_file: /src/vlc/modules/stream_extractor/archive.c
    constantsTouched: []
    func_position:
      end: 657
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 657
    functionName: Read
    functionSourceFile: /src/vlc/modules/stream_extractor/archive.c
    functionUses: 40
    functionsReached:
    - assert
    - archive_read_data_block
    - memcpy
    - msg_Err
    - msg_Dbg
    - msg_Warn
    - archive_error_string
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Read( stream_extractor_t *p_extractor, void* p_data, size_t
      i_size )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Read
      Src: /src/vlc/modules/stream_extractor/archive.c:663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - p_extractor
    - pi_skip
    argTypes:
    - stream_extractor_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 672
    functionName: archive_skip_decompressed
    functionSourceFile: /src/vlc/modules/stream_extractor/archive.c
    functionUses: 0
    functionsReached:
    - Read
    linkageType: ''
    returnType: int
    signature: int archive_skip_decompressed( stream_extractor_t* p_extractor, uint64_t
      *pi_skip )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: archive_entry_size_is_set
      Src: /src/vlc/modules/stream_extractor/archive.c:681,1
    - Dst: archive_entry_size
      Src: /src/vlc/modules/stream_extractor/archive.c:682,1
    - Dst: archive_seek_data
      Src: /src/vlc/modules/stream_extractor/archive.c:692,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_extractor/archive.c:694,1
    - Dst: archive_error_string
      Src: /src/vlc/modules/stream_extractor/archive.c:696,1
    - Dst: archive_extractor_reset
      Src: /src/vlc/modules/stream_extractor/archive.c:710,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_extractor/archive.c:712,1
    - Dst: archive_skip_decompressed
      Src: /src/vlc/modules/stream_extractor/archive.c:719,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_extractor/archive.c:721,1
    - Dst: archive_entry_size
      Src: /src/vlc/modules/stream_extractor/archive.c:723,1
    - Dst: assert
      Src: /src/vlc/modules/stream_extractor/archive.c:730,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 2
    argNames:
    - p_extractor
    - i_req
    argTypes:
    - stream_extractor_t*
    - uint64_t
    assertStmts:
    - condition: ( i_req < p_sys->i_offset )
      pos:
        line_end: 729
        line_start: 729
        source_file: /src/vlc/modules/stream_extractor/archive.c
    constantsTouched: []
    func_position:
      end: 741
      start: 674
    functionDepth: 3
    functionLinenumber: 674
    functionLinenumberEnd: 741
    functionName: Seek
    functionSourceFile: /src/vlc/modules/stream_extractor/archive.c
    functionUses: 18
    functionsReached:
    - archive_skip_decompressed
    - assert
    - archive_extractor_reset
    - msg_Err
    - archive_entry_size_is_set
    - archive_entry_size
    - msg_Dbg
    - msg_Warn
    - archive_seek_data
    - archive_error_string
    linkageType: ''
    returnType: int
    signature: int Seek( stream_extractor_t* p_extractor, uint64_t i_req )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: archive_clean
      Src: /src/vlc/modules/stream_extractor/archive.c:747,1
    - Dst: free
      Src: /src/vlc/modules/stream_extractor/archive.c:751,1
    - Dst: free
      Src: /src/vlc/modules/stream_extractor/archive.c:752,1
    - Dst: free
      Src: /src/vlc/modules/stream_extractor/archive.c:755,1
    - Dst: free
      Src: /src/vlc/modules/stream_extractor/archive.c:756,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - private_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 757
    functionName: CommonClose
    functionSourceFile: /src/vlc/modules/stream_extractor/archive.c
    functionUses: 8
    functionsReached:
    - free
    - archive_clean
    linkageType: ''
    returnType: void
    signature: void CommonClose( private_sys_t* p_sys )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CommonClose
      Src: /src/vlc/modules/stream_extractor/archive.c:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 759
    functionDepth: 2
    functionLinenumber: 759
    functionLinenumberEnd: 763
    functionName: DirectoryClose
    functionSourceFile: /src/vlc/modules/stream_extractor/archive.c
    functionUses: 0
    functionsReached:
    - CommonClose
    linkageType: ''
    returnType: void
    signature: void DirectoryClose( vlc_object_t* p_obj )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CommonClose
      Src: /src/vlc/modules/stream_extractor/archive.c:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 765
    functionDepth: 2
    functionLinenumber: 765
    functionLinenumberEnd: 769
    functionName: ExtractorClose
    functionSourceFile: /src/vlc/modules/stream_extractor/archive.c
    functionUses: 0
    functionsReached:
    - CommonClose
    linkageType: ''
    returnType: void
    signature: void ExtractorClose( vlc_object_t* p_obj )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: probe
      Src: /src/vlc/modules/stream_extractor/archive.c:774,1
    - Dst: setup
      Src: /src/vlc/modules/stream_extractor/archive.c:777,1
    - Dst: archive_init
      Src: /src/vlc/modules/stream_extractor/archive.c:782,1
    - Dst: CommonClose
      Src: /src/vlc/modules/stream_extractor/archive.c:784,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - p_obj
    - source
    - volumes
    - volumes_count
    argTypes:
    - vlc_object_t*
    - stream_t*
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 771
    functionDepth: 3
    functionLinenumber: 771
    functionLinenumberEnd: 789
    functionName: CommonOpen
    functionSourceFile: /src/vlc/modules/stream_extractor/archive.c
    functionUses: 6
    functionsReached:
    - CommonClose
    - archive_init
    - setup
    - probe
    linkageType: ''
    returnType: private_sys_t
    signature: "private_sys_t * CommonOpen( vlc_object_t* p_obj, stream_t* source,\n
      \                                 char **volumes, size_t volumes_count  )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CommonOpen
      Src: /src/vlc/modules/stream_extractor/archive.c:794,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 804
    functionName: DirectoryOpen
    functionSourceFile: /src/vlc/modules/stream_extractor/archive.c
    functionUses: 0
    functionsReached:
    - CommonOpen
    linkageType: ''
    returnType: int
    signature: int DirectoryOpen( vlc_object_t* p_obj )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CommonOpen
      Src: /src/vlc/modules/stream_extractor/archive.c:809,1
    - Dst: archive_seek_subentry
      Src: /src/vlc/modules/stream_extractor/archive.c:815,1
    - Dst: CommonClose
      Src: /src/vlc/modules/stream_extractor/archive.c:817,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 806
    functionDepth: 2
    functionLinenumber: 806
    functionLinenumberEnd: 827
    functionName: ExtractorOpen
    functionSourceFile: /src/vlc/modules/stream_extractor/archive.c
    functionUses: 0
    functionsReached:
    - CommonClose
    - CommonOpen
    - archive_seek_subentry
    linkageType: ''
    returnType: int
    signature: int ExtractorOpen( vlc_object_t* p_obj )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Info
      Src: /src/vlc/modules/mux/ogg.c:236,1
    - Dst: malloc
      Src: /src/vlc/modules/mux/ogg.c:238,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/mux/ogg.c:250,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/mux/ogg.c:250,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/mux/ogg.c:252,1
    - Dst: vlc_rand_bytes
      Src: /src/vlc/modules/mux/ogg.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 269
    functionName: Open
    functionSourceFile: /src/vlc/modules/mux/ogg.c
    functionUses: 33
    functionsReached:
    - var_InheritInteger
    - VLC_TICK_FROM_MS
    - msg_Info
    - vlc_rand_bytes
    - var_InheritFloat
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Info
      Src: /src/vlc/modules/mux/ogg.c:279,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/ogg.c:284,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/mux/ogg.c:291,1
    - Dst: OggCreateStreamFooter
      Src: /src/vlc/modules/mux/ogg.c:292,1
    - Dst: free
      Src: /src/vlc/modules/mux/ogg.c:293,1
    - Dst: free
      Src: /src/vlc/modules/mux/ogg.c:294,1
    - Dst: free
      Src: /src/vlc/modules/mux/ogg.c:295,1
    - Dst: free
      Src: /src/vlc/modules/mux/ogg.c:297,1
    - Dst: OggRewriteFisheadPage
      Src: /src/vlc/modules/mux/ogg.c:304,1
    - Dst: free
      Src: /src/vlc/modules/mux/ogg.c:307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 308
    functionName: Close
    functionSourceFile: /src/vlc/modules/mux/ogg.c
    functionUses: 107
    functionsReached:
    - es_format_Clean
    - OggCreateStreamFooter
    - free
    - msg_Info
    - msg_Dbg
    - OggRewriteFisheadPage
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t * p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/ogg.c:315,1
    - Dst: va_arg
      Src: /src/vlc/modules/mux/ogg.c:322,1
    - Dst: va_arg
      Src: /src/vlc/modules/mux/ogg.c:327,1
    - Dst: strdup
      Src: /src/vlc/modules/mux/ogg.c:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - p_mux
    - i_query
    - args
    argTypes:
    - sout_mux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 334
    functionName: Control
    functionSourceFile: /src/vlc/modules/mux/ogg.c
    functionUses: 56
    functionsReached:
    - va_arg
    - strdup
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int Control( sout_mux_t *p_mux, int i_query, va_list args )
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/ogg.c:344,1
    - Dst: calloc
      Src: /src/vlc/modules/mux/ogg.c:346,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/mux/ogg.c:350,1
    - Dst: free
      Src: /src/vlc/modules/mux/ogg.c:352,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/mux/ogg.c:375,1
    - Dst: calloc
      Src: /src/vlc/modules/mux/ogg.c:391,1
    - Dst: free
      Src: /src/vlc/modules/mux/ogg.c:394,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/ogg.c:399,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/ogg.c:402,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/ogg.c:406,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/ogg.c:410,1
    - Dst: MSFTIME_FROM_SEC
      Src: /src/vlc/modules/mux/ogg.c:415,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/ogg.c:423,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/ogg.c:427,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/ogg.c:431,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/ogg.c:435,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/ogg.c:439,1
    - Dst: FREENULL
      Src: /src/vlc/modules/mux/ogg.c:443,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/ogg.c:453,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/ogg.c:457,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/ogg.c:461,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/ogg.c:465,1
    - Dst: fourcc_to_wf_tag
      Src: /src/vlc/modules/mux/ogg.c:469,1
    - Dst: FREENULL
      Src: /src/vlc/modules/mux/ogg.c:472,1
    - Dst: malloc
      Src: /src/vlc/modules/mux/ogg.c:477,1
    - Dst: free
      Src: /src/vlc/modules/mux/ogg.c:480,1
    - Dst: memset
      Src: /src/vlc/modules/mux/ogg.c:483,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/ogg.c:490,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/ogg.c:494,1
    - Dst: memset
      Src: /src/vlc/modules/mux/ogg.c:497,1
    - Dst: snprintf
      Src: /src/vlc/modules/mux/ogg.c:498,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/ogg.c:500,1
    - Dst: MSFTIME_FROM_SEC
      Src: /src/vlc/modules/mux/ogg.c:502,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/ogg.c:510,1
    - Dst: calloc
      Src: /src/vlc/modules/mux/ogg.c:519,1
    - Dst: free
      Src: /src/vlc/modules/mux/ogg.c:522,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/ogg.c:527,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/ogg.c:528,1
    - Dst: FREENULL
      Src: /src/vlc/modules/mux/ogg.c:532,1
    - Dst: FREENULL
      Src: /src/vlc/modules/mux/ogg.c:537,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 149
    argCount: 2
    argNames:
    - p_mux
    - p_input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 546
    functionName: AddStream
    functionSourceFile: /src/vlc/modules/mux/ogg.c
    functionUses: 9
    functionsReached:
    - memset
    - MSFTIME_FROM_SEC
    - memcpy
    - calloc
    - free
    - msg_Dbg
    - FREENULL
    - fourcc_to_wf_tag
    - msg_Warn
    - es_format_Copy
    - snprintf
    - malloc
    linkageType: ''
    returnType: int
    signature: int AddStream( sout_mux_t *p_mux, sout_input_t *p_input )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/ogg.c:557,1
    - Dst: vlc_fifo_Lock
      Src: /src/vlc/modules/mux/ogg.c:564,1
    - Dst: vlc_fifo_DequeueAllUnlocked
      Src: /src/vlc/modules/mux/ogg.c:565,1
    - Dst: vlc_fifo_Unlock
      Src: /src/vlc/modules/mux/ogg.c:566,1
    - Dst: MuxBlock
      Src: /src/vlc/modules/mux/ogg.c:571,1
    - Dst: OggStreamFlush
      Src: /src/vlc/modules/mux/ogg.c:577,1
    - Dst: OggSetDate
      Src: /src/vlc/modules/mux/ogg.c:579,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/ogg.c:580,1
    - Dst: xrealloc
      Src: /src/vlc/modules/mux/ogg.c:586,1
    - Dst: FREENULL
      Src: /src/vlc/modules/mux/ogg.c:593,1
    - Dst: FREENULL
      Src: /src/vlc/modules/mux/ogg.c:594,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - p_mux
    - p_input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 600
    functionName: DelStream
    functionSourceFile: /src/vlc/modules/mux/ogg.c
    functionUses: 1
    functionsReached:
    - xrealloc
    - vlc_fifo_Unlock
    - MuxBlock
    - sout_AccessOutWrite
    - OggStreamFlush
    - msg_Dbg
    - vlc_fifo_DequeueAllUnlocked
    - OggSetDate
    - FREENULL
    - vlc_fifo_Lock
    linkageType: ''
    returnType: void
    signature: void DelStream( sout_mux_t *p_mux, sout_input_t *p_input )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - i_64
    - i_offset
    - p_buffer
    - i_buffer_size
    argTypes:
    - uint64_t
    - uint64_t
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 627
    functionName: WriteQWVariableLE
    functionSourceFile: /src/vlc/modules/mux/ogg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int WriteQWVariableLE( uint64_t i_64, uint64_t i_offset,\n                              uint8_t
      *p_buffer, int i_buffer_size )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: WriteQWVariableLE
      Src: /src/vlc/modules/mux/ogg.c:651,1
    - Dst: WriteQWVariableLE
      Src: /src/vlc/modules/mux/ogg.c:655,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/ogg.c:664,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - p_mux
    - i_time
    - p_input
    argTypes:
    - sout_mux_t*
    - vlc_tick_t
    - sout_input_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 668
    functionName: AddIndexEntry
    functionSourceFile: /src/vlc/modules/mux/ogg.c
    functionUses: 0
    functionsReached:
    - WriteQWVariableLE
    - msg_Dbg
    linkageType: ''
    returnType: bool
    signature: bool AddIndexEntry( sout_mux_t *p_mux, vlc_tick_t i_time, sout_input_t
      *p_input )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pager
      Src: /src/vlc/modules/mux/ogg.c:682,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/mux/ogg.c:685,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/ogg.c:687,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/ogg.c:688,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/mux/ogg.c:695,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - p_mux
    - p_os
    - i_pts
    - flush
    argTypes:
    - sout_mux_t*
    - ogg_stream_state*
    - vlc_tick_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 699
    functionName: OggStreamGetPage
    functionSourceFile: /src/vlc/modules/mux/ogg.c
    functionUses: 0
    functionsReached:
    - block_Alloc
    - block_ChainAppend
    - memcpy
    - pager
    linkageType: ''
    returnType: block_t
    signature: "block_t *OggStreamGetPage( sout_mux_t *p_mux,\n                                  ogg_stream_state
      *p_os, vlc_tick_t i_pts,\n                                  bool flush )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OggStreamGetPage
      Src: /src/vlc/modules/mux/ogg.c:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_mux
    - p_os
    - i_pts
    argTypes:
    - sout_mux_t*
    - ogg_stream_state*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 705
    functionName: OggStreamFlush
    functionSourceFile: /src/vlc/modules/mux/ogg.c
    functionUses: 1
    functionsReached:
    - OggStreamGetPage
    linkageType: ''
    returnType: block_t
    signature: "block_t *OggStreamFlush( sout_mux_t *p_mux,\n                                ogg_stream_state
      *p_os, vlc_tick_t i_pts )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OggStreamGetPage
      Src: /src/vlc/modules/mux/ogg.c:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_mux
    - p_os
    - i_pts
    argTypes:
    - sout_mux_t*
    - ogg_stream_state*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 711
    functionName: OggStreamPageOut
    functionSourceFile: /src/vlc/modules/mux/ogg.c
    functionUses: 0
    functionsReached:
    - OggStreamGetPage
    linkageType: ''
    returnType: block_t
    signature: "block_t *OggStreamPageOut( sout_mux_t *p_mux,\n                                  ogg_stream_state
      *p_os, vlc_tick_t i_pts )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/mux/ogg.c:715,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/ogg.c:719,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/mux/ogg.c:720,1
    - Dst: SetQWLE
      Src: /src/vlc/modules/mux/ogg.c:721,1
    - Dst: SetQWLE
      Src: /src/vlc/modules/mux/ogg.c:722,1
    - Dst: SetQWLE
      Src: /src/vlc/modules/mux/ogg.c:723,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/ogg.c:724,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pp_buffer
    - pi_size
    - p_stream
    argTypes:
    - uint8_t**
    - long*
    - ogg_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 726
    functionName: OggGetSkeletonIndex
    functionSourceFile: /src/vlc/modules/mux/ogg.c
    functionUses: 0
    functionsReached:
    - calloc
    - SetQWLE
    - SetDWLE
    - memcpy
    linkageType: ''
    returnType: void
    signature: void OggGetSkeletonIndex( uint8_t **pp_buffer, long *pi_size, ogg_stream_t
      *p_stream )
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/mux/ogg.c:772,1
    - Dst: vlc_fourcc_GetDescription
      Src: /src/vlc/modules/mux/ogg.c:773,1
    - Dst: asprintf
      Src: /src/vlc/modules/mux/ogg.c:778,1
    - Dst: strlen
      Src: /src/vlc/modules/mux/ogg.c:780,1
    - Dst: __MAX
      Src: /src/vlc/modules/mux/ogg.c:791,1
    - Dst: asprintf
      Src: /src/vlc/modules/mux/ogg.c:810,1
    - Dst: strlen
      Src: /src/vlc/modules/mux/ogg.c:812,1
    - Dst: calloc
      Src: /src/vlc/modules/mux/ogg.c:817,1
    - Dst: unlikely
      Src: /src/vlc/modules/mux/ogg.c:818,1
    - Dst: free
      Src: /src/vlc/modules/mux/ogg.c:820,1
    - Dst: free
      Src: /src/vlc/modules/mux/ogg.c:821,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/ogg.c:827,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/mux/ogg.c:828,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/mux/ogg.c:829,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/mux/ogg.c:830,1
    - Dst: SetQWLE
      Src: /src/vlc/modules/mux/ogg.c:836,1
    - Dst: SetQWLE
      Src: /src/vlc/modules/mux/ogg.c:837,1
    - Dst: SetQWLE
      Src: /src/vlc/modules/mux/ogg.c:840,1
    - Dst: SetQWLE
      Src: /src/vlc/modules/mux/ogg.c:841,1
    - Dst: SetQWLE
      Src: /src/vlc/modules/mux/ogg.c:844,1
    - Dst: SetQWLE
      Src: /src/vlc/modules/mux/ogg.c:845,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/mux/ogg.c:850,1
    - Dst: xiph_CountUnknownHeaders
      Src: /src/vlc/modules/mux/ogg.c:851,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/ogg.c:858,1
    - Dst: strlen
      Src: /src/vlc/modules/mux/ogg.c:858,1
    - Dst: strlen
      Src: /src/vlc/modules/mux/ogg.c:859,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/ogg.c:861,1
    - Dst: strlen
      Src: /src/vlc/modules/mux/ogg.c:861,1
    - Dst: free
      Src: /src/vlc/modules/mux/ogg.c:865,1
    - Dst: free
      Src: /src/vlc/modules/mux/ogg.c:866,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 91
    argCount: 4
    argNames:
    - pp_buffer
    - pi_size
    - p_input
    - p_mux
    argTypes:
    - uint8_t**
    - long*
    - sout_input_t*
    - sout_mux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 728
    functionDepth: 2
    functionLinenumber: 728
    functionLinenumberEnd: 867
    functionName: OggGetSkeletonFisbone
    functionSourceFile: /src/vlc/modules/mux/ogg.c
    functionUses: 0
    functionsReached:
    - vlc_fourcc_GetDescription
    - asprintf
    - xiph_CountUnknownHeaders
    - strlen
    - memcpy
    - calloc
    - __MAX
    - free
    - SetDWLE
    - msg_Warn
    - SetQWLE
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void OggGetSkeletonFisbone( uint8_t **pp_buffer, long *pi_size,\n
      \                                  sout_input_t *p_input, sout_mux_t *p_mux
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/mux/ogg.c:872,1
    - Dst: SetWLE
      Src: /src/vlc/modules/mux/ogg.c:873,1
    - Dst: SetWLE
      Src: /src/vlc/modules/mux/ogg.c:874,1
    - Dst: SetQWLE
      Src: /src/vlc/modules/mux/ogg.c:875,1
    - Dst: SetQWLE
      Src: /src/vlc/modules/mux/ogg.c:876,1
    - Dst: SetQWLE
      Src: /src/vlc/modules/mux/ogg.c:877,1
    - Dst: SetQWLE
      Src: /src/vlc/modules/mux/ogg.c:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - p_buffer
    - p_mux
    argTypes:
    - uint8_t*
    - sout_mux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 879
    functionName: OggFillSkeletonFishead
    functionSourceFile: /src/vlc/modules/mux/ogg.c
    functionUses: 0
    functionsReached:
    - SetWLE
    - SetQWLE
    - memcpy
    linkageType: ''
    returnType: void
    signature: void OggFillSkeletonFishead( uint8_t *p_buffer, sout_mux_t *p_mux )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/mux/ogg.c:886,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/ogg.c:888,1
    - Dst: SetQWLE
      Src: /src/vlc/modules/mux/ogg.c:895,1
    - Dst: SetQWLE
      Src: /src/vlc/modules/mux/ogg.c:897,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/mux/ogg.c:899,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/mux/ogg.c:901,1
    - Dst: SetWLE
      Src: /src/vlc/modules/mux/ogg.c:903,1
    - Dst: SetWLE
      Src: /src/vlc/modules/mux/ogg.c:905,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/mux/ogg.c:911,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/mux/ogg.c:912,1
    - Dst: SetWLE
      Src: /src/vlc/modules/mux/ogg.c:915,1
    - Dst: SetWLE
      Src: /src/vlc/modules/mux/ogg.c:916,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/mux/ogg.c:917,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/mux/ogg.c:921,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/ogg.c:927,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/mux/ogg.c:931,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 3
    argNames:
    - p_buffer
    - p_oggds_header
    - i_cat
    argTypes:
    - uint8_t*
    - oggds_header_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 881
    functionDepth: 1
    functionLinenumber: 881
    functionLinenumberEnd: 933
    functionName: OggFillDsHeader
    functionSourceFile: /src/vlc/modules/mux/ogg.c
    functionUses: 0
    functionsReached:
    - SetWLE
    - SetQWLE
    - SetDWLE
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t OggFillDsHeader( uint8_t *p_buffer, oggds_header_t *p_oggds_header,
      int i_cat )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/mux/ogg.c:939,1
    - Dst: SetWBE
      Src: /src/vlc/modules/mux/ogg.c:940,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/mux/ogg.c:941,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/mux/ogg.c:942,1
    - Dst: SetWBE
      Src: /src/vlc/modules/mux/ogg.c:943,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/mux/ogg.c:944,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/mux/ogg.c:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - p_buffer
    - p_input
    argTypes:
    - uint8_t*
    - sout_input_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 946
    functionName: OggFillVP8Header
    functionSourceFile: /src/vlc/modules/mux/ogg.c
    functionUses: 0
    functionsReached:
    - SetWBE
    - SetDWBE
    - memcpy
    linkageType: ''
    returnType: void
    signature: void OggFillVP8Header( uint8_t *p_buffer, sout_input_t *p_input )
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: sout_AccessOutControl
      Src: /src/vlc/modules/mux/ogg.c:955,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/ogg.c:986,1
    - Dst: ogg_stream_init
      Src: /src/vlc/modules/mux/ogg.c:988,1
    - Dst: calloc
      Src: /src/vlc/modules/mux/ogg.c:990,1
    - Dst: OggFillSkeletonFishead
      Src: /src/vlc/modules/mux/ogg.c:996,1
    - Dst: ogg_stream_packetin
      Src: /src/vlc/modules/mux/ogg.c:997,1
    - Dst: ogg_packet_clear
      Src: /src/vlc/modules/mux/ogg.c:998,1
    - Dst: OggStreamFlush
      Src: /src/vlc/modules/mux/ogg.c:999,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/mux/ogg.c:1000,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/ogg.c:1020,1
    - Dst: ogg_stream_init
      Src: /src/vlc/modules/mux/ogg.c:1023,1
    - Dst: xiph_SplitHeaders
      Src: /src/vlc/modules/mux/ogg.c:1039,1
    - Dst: msg_Err
      Src: /src/vlc/modules/mux/ogg.c:1050,1
    - Dst: ogg_stream_packetin
      Src: /src/vlc/modules/mux/ogg.c:1056,1
    - Dst: OggStreamFlush
      Src: /src/vlc/modules/mux/ogg.c:1057,1
    - Dst: ogg_stream_packetin
      Src: /src/vlc/modules/mux/ogg.c:1075,1
    - Dst: OggStreamFlush
      Src: /src/vlc/modules/mux/ogg.c:1076,1
    - Dst: ogg_stream_packetin
      Src: /src/vlc/modules/mux/ogg.c:1087,1
    - Dst: OggStreamFlush
      Src: /src/vlc/modules/mux/ogg.c:1088,1
    - Dst: malloc
      Src: /src/vlc/modules/mux/ogg.c:1093,1
    - Dst: OggFillVP8Header
      Src: /src/vlc/modules/mux/ogg.c:1097,1
    - Dst: ogg_stream_packetin
      Src: /src/vlc/modules/mux/ogg.c:1102,1
    - Dst: OggStreamFlush
      Src: /src/vlc/modules/mux/ogg.c:1103,1
    - Dst: free
      Src: /src/vlc/modules/mux/ogg.c:1104,1
    - Dst: malloc
      Src: /src/vlc/modules/mux/ogg.c:1109,1
    - Dst: OggFillDsHeader
      Src: /src/vlc/modules/mux/ogg.c:1112,1
    - Dst: ogg_stream_packetin
      Src: /src/vlc/modules/mux/ogg.c:1117,1
    - Dst: OggStreamFlush
      Src: /src/vlc/modules/mux/ogg.c:1118,1
    - Dst: free
      Src: /src/vlc/modules/mux/ogg.c:1119,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/mux/ogg.c:1122,1
    - Dst: OggGetSkeletonFisbone
      Src: /src/vlc/modules/mux/ogg.c:1134,1
    - Dst: ogg_stream_packetin
      Src: /src/vlc/modules/mux/ogg.c:1140,1
    - Dst: ogg_packet_clear
      Src: /src/vlc/modules/mux/ogg.c:1141,1
    - Dst: OggStreamFlush
      Src: /src/vlc/modules/mux/ogg.c:1142,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/mux/ogg.c:1143,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/ogg.c:1154,1
    - Dst: AllocateIndex
      Src: /src/vlc/modules/mux/ogg.c:1165,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/ogg.c:1168,1
    - Dst: OggGetSkeletonIndex
      Src: /src/vlc/modules/mux/ogg.c:1169,1
    - Dst: ogg_stream_packetin
      Src: /src/vlc/modules/mux/ogg.c:1181,1
    - Dst: ogg_packet_clear
      Src: /src/vlc/modules/mux/ogg.c:1182,1
    - Dst: OggStreamFlush
      Src: /src/vlc/modules/mux/ogg.c:1183,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/ogg.c:1184,1
    - Dst: xiph_SplitHeaders
      Src: /src/vlc/modules/mux/ogg.c:1206,1
    - Dst: msg_Err
      Src: /src/vlc/modules/mux/ogg.c:1217,1
    - Dst: ogg_stream_packetin
      Src: /src/vlc/modules/mux/ogg.c:1223,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/ogg.c:1224,1
    - Dst: OggStreamFlush
      Src: /src/vlc/modules/mux/ogg.c:1226,1
    - Dst: OggStreamPageOut
      Src: /src/vlc/modules/mux/ogg.c:1228,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/mux/ogg.c:1230,1
    - Dst: snprintf
      Src: /src/vlc/modules/mux/ogg.c:1241,1
    - Dst: ogg_stream_packetin
      Src: /src/vlc/modules/mux/ogg.c:1250,1
    - Dst: OggStreamFlush
      Src: /src/vlc/modules/mux/ogg.c:1251,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/mux/ogg.c:1252,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/ogg.c:1262,1
    - Dst: memcmp
      Src: /src/vlc/modules/mux/ogg.c:1268,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/ogg.c:1270,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/ogg.c:1274,1
    - Dst: msg_Err
      Src: /src/vlc/modules/mux/ogg.c:1281,1
    - Dst: ogg_stream_packetin
      Src: /src/vlc/modules/mux/ogg.c:1289,1
    - Dst: OggStreamFlush
      Src: /src/vlc/modules/mux/ogg.c:1290,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/mux/ogg.c:1291,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/ogg.c:1297,1
    - Dst: ogg_stream_packetin
      Src: /src/vlc/modules/mux/ogg.c:1304,1
    - Dst: OggStreamFlush
      Src: /src/vlc/modules/mux/ogg.c:1305,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/mux/ogg.c:1306,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/ogg.c:1317,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 244
    argCount: 1
    argNames:
    - p_mux
    argTypes:
    - sout_mux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 948
    functionDepth: 3
    functionLinenumber: 948
    functionLinenumberEnd: 1320
    functionName: OggCreateHeaders
    functionSourceFile: /src/vlc/modules/mux/ogg.c
    functionUses: 0
    functionsReached:
    - xiph_SplitHeaders
    - memcpy
    - OggFillDsHeader
    - memcmp
    - msg_Err
    - calloc
    - OggStreamFlush
    - msg_Dbg
    - ogg_stream_init
    - snprintf
    - block_ChainAppend
    - sout_AccessOutControl
    - sout_AccessOutWrite
    - ogg_stream_packetin
    - OggGetSkeletonFisbone
    - AllocateIndex
    - OggGetSkeletonIndex
    - OggStreamPageOut
    - OggFillSkeletonFishead
    - free
    - OggFillVP8Header
    - ogg_packet_clear
    - malloc
    linkageType: ''
    returnType: bool
    signature: bool OggCreateHeaders( sout_mux_t *p_mux )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sout_AccessOutSeek
      Src: /src/vlc/modules/mux/ogg.c:1332,1
    - Dst: OggGetSkeletonIndex
      Src: /src/vlc/modules/mux/ogg.c:1333,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/ogg.c:1336,1
    - Dst: ogg_stream_reset_serialno
      Src: /src/vlc/modules/mux/ogg.c:1337,1
    - Dst: ogg_stream_packetin
      Src: /src/vlc/modules/mux/ogg.c:1348,1
    - Dst: ogg_packet_clear
      Src: /src/vlc/modules/mux/ogg.c:1349,1
    - Dst: OggStreamFlush
      Src: /src/vlc/modules/mux/ogg.c:1350,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/ogg.c:1351,1
    - Dst: sout_AccessOutSeek
      Src: /src/vlc/modules/mux/ogg.c:1353,1
    - Dst: ogg_stream_packetin
      Src: /src/vlc/modules/mux/ogg.c:1374,1
    - Dst: OggStreamFlush
      Src: /src/vlc/modules/mux/ogg.c:1377,1
    - Dst: OggSetDate
      Src: /src/vlc/modules/mux/ogg.c:1380,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/ogg.c:1381,1
    - Dst: ogg_stream_clear
      Src: /src/vlc/modules/mux/ogg.c:1384,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 2
    argNames:
    - p_mux
    - p_stream
    argTypes:
    - sout_mux_t*
    - ogg_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1322
    functionDepth: 2
    functionLinenumber: 1322
    functionLinenumberEnd: 1385
    functionName: OggCreateStreamFooter
    functionSourceFile: /src/vlc/modules/mux/ogg.c
    functionUses: 1
    functionsReached:
    - ogg_stream_clear
    - OggGetSkeletonIndex
    - sout_AccessOutWrite
    - ogg_stream_packetin
    - ogg_packet_clear
    - OggStreamFlush
    - sout_AccessOutSeek
    - msg_Dbg
    - OggSetDate
    - ogg_stream_reset_serialno
    linkageType: ''
    returnType: void
    signature: void OggCreateStreamFooter( sout_mux_t *p_mux, ogg_stream_t *p_stream
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - p_og
    - i_dts
    - i_length
    argTypes:
    - block_t*
    - vlc_tick_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1387
    functionDepth: 0
    functionLinenumber: 1387
    functionLinenumberEnd: 1409
    functionName: OggSetDate
    functionSourceFile: /src/vlc/modules/mux/ogg.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OggSetDate( block_t *p_og, vlc_tick_t i_dts, vlc_tick_t i_length
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/mux/ogg.c:1416,1
    - Dst: ogg_stream_reset_serialno
      Src: /src/vlc/modules/mux/ogg.c:1423,1
    - Dst: OggFillSkeletonFishead
      Src: /src/vlc/modules/mux/ogg.c:1424,1
    - Dst: ogg_stream_packetin
      Src: /src/vlc/modules/mux/ogg.c:1425,1
    - Dst: ogg_packet_clear
      Src: /src/vlc/modules/mux/ogg.c:1426,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/ogg.c:1427,1
    - Dst: sout_AccessOutSeek
      Src: /src/vlc/modules/mux/ogg.c:1428,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/ogg.c:1429,1
    - Dst: OggStreamFlush
      Src: /src/vlc/modules/mux/ogg.c:1430,1
    - Dst: sout_AccessOutSeek
      Src: /src/vlc/modules/mux/ogg.c:1431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - p_mux
    argTypes:
    - sout_mux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1411
    functionDepth: 2
    functionLinenumber: 1411
    functionLinenumberEnd: 1433
    functionName: OggRewriteFisheadPage
    functionSourceFile: /src/vlc/modules/mux/ogg.c
    functionUses: 1
    functionsReached:
    - ogg_stream_reset_serialno
    - sout_AccessOutWrite
    - ogg_stream_packetin
    - OggFillSkeletonFishead
    - calloc
    - OggStreamFlush
    - msg_Dbg
    - sout_AccessOutSeek
    - ogg_packet_clear
    linkageType: ''
    returnType: void
    signature: void OggRewriteFisheadPage( sout_mux_t *p_mux )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: __MAX
      Src: /src/vlc/modules/mux/ogg.c:1450,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/mux/ogg.c:1451,1
    - Dst: samples_from_vlc_tick
      Src: /src/vlc/modules/mux/ogg.c:1460,1
    - Dst: INT64_C
      Src: /src/vlc/modules/mux/ogg.c:1478,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/ogg.c:1480,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/ogg.c:1483,1
    - Dst: calloc
      Src: /src/vlc/modules/mux/ogg.c:1484,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - p_mux
    - p_input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1435
    functionDepth: 1
    functionLinenumber: 1435
    functionLinenumberEnd: 1489
    functionName: AllocateIndex
    functionSourceFile: /src/vlc/modules/mux/ogg.c
    functionUses: 1
    functionsReached:
    - samples_from_vlc_tick
    - VLC_TICK_FROM_SEC
    - INT64_C
    - calloc
    - __MAX
    - msg_Dbg
    linkageType: ''
    returnType: bool
    signature: bool AllocateIndex( sout_mux_t *p_mux, sout_input_t *p_input )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: OggCreateStreamFooter
      Src: /src/vlc/modules/mux/ogg.c:1505,1
    - Dst: FREENULL
      Src: /src/vlc/modules/mux/ogg.c:1506,1
    - Dst: FREENULL
      Src: /src/vlc/modules/mux/ogg.c:1507,1
    - Dst: FREENULL
      Src: /src/vlc/modules/mux/ogg.c:1509,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/mux/ogg.c:1526,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/mux/ogg.c:1527,1
    - Dst: OggCreateStreamFooter
      Src: /src/vlc/modules/mux/ogg.c:1534,1
    - Dst: OggRewriteFisheadPage
      Src: /src/vlc/modules/mux/ogg.c:1543,1
    - Dst: sout_MuxGetStream
      Src: /src/vlc/modules/mux/ogg.c:1552,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/ogg.c:1554,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/ogg.c:1557,1
    - Dst: OggCreateHeaders
      Src: /src/vlc/modules/mux/ogg.c:1564,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/ogg.c:1570,1
    - Dst: sout_MuxGetStream
      Src: /src/vlc/modules/mux/ogg.c:1582,1
    - Dst: vlc_fifo_Lock
      Src: /src/vlc/modules/mux/ogg.c:1587,1
    - Dst: vlc_fifo_DequeueUnlocked
      Src: /src/vlc/modules/mux/ogg.c:1588,1
    - Dst: vlc_fifo_Unlock
      Src: /src/vlc/modules/mux/ogg.c:1589,1
    - Dst: unlikely
      Src: /src/vlc/modules/mux/ogg.c:1590,1
    - Dst: MuxBlock
      Src: /src/vlc/modules/mux/ogg.c:1593,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 1
    argNames:
    - p_mux
    argTypes:
    - sout_mux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1597
      start: 1494
    functionDepth: 4
    functionLinenumber: 1494
    functionLinenumberEnd: 1597
    functionName: Mux
    functionSourceFile: /src/vlc/modules/mux/ogg.c
    functionUses: 1
    functionsReached:
    - vlc_fifo_DequeueUnlocked
    - vlc_fifo_Unlock
    - OggCreateHeaders
    - MuxBlock
    - OggCreateStreamFooter
    - msg_Dbg
    - OggRewriteFisheadPage
    - FREENULL
    - msg_Warn
    - vlc_fifo_Lock
    - sout_MuxGetStream
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Mux( sout_mux_t *p_mux )
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: block_Realloc
      Src: /src/vlc/modules/mux/ogg.c:1616,1
    - Dst: samples_from_vlc_tick
      Src: /src/vlc/modules/mux/ogg.c:1639,1
    - Dst: AddIndexEntry
      Src: /src/vlc/modules/mux/ogg.c:1643,1
    - Dst: samples_from_vlc_tick
      Src: /src/vlc/modules/mux/ogg.c:1648,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/mux/ogg.c:1664,1
    - Dst: AddIndexEntry
      Src: /src/vlc/modules/mux/ogg.c:1667,1
    - Dst: FRAME_ROUND
      Src: /src/vlc/modules/mux/ogg.c:1683,1
    - Dst: FRAME_ROUND
      Src: /src/vlc/modules/mux/ogg.c:1687,1
    - Dst: llabs
      Src: /src/vlc/modules/mux/ogg.c:1712,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/ogg.c:1717,1
    - Dst: AddIndexEntry
      Src: /src/vlc/modules/mux/ogg.c:1723,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/mux/ogg.c:1734,1
    - Dst: AddIndexEntry
      Src: /src/vlc/modules/mux/ogg.c:1736,1
    - Dst: MSFTIME_FROM_VLC_TICK
      Src: /src/vlc/modules/mux/ogg.c:1742,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/mux/ogg.c:1748,1
    - Dst: ogg_stream_packetin
      Src: /src/vlc/modules/mux/ogg.c:1754,1
    - Dst: OggStreamFlush
      Src: /src/vlc/modules/mux/ogg.c:1765,1
    - Dst: OggStreamPageOut
      Src: /src/vlc/modules/mux/ogg.c:1769,1
    - Dst: OggSetDate
      Src: /src/vlc/modules/mux/ogg.c:1774,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/ogg.c:1777,1
    - Dst: block_Release
      Src: /src/vlc/modules/mux/ogg.c:1788,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 90
    argCount: 3
    argNames:
    - p_mux
    - p_input
    - p_data
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1790
      start: 1599
    functionDepth: 2
    functionLinenumber: 1599
    functionLinenumberEnd: 1790
    functionName: MuxBlock
    functionSourceFile: /src/vlc/modules/mux/ogg.c
    functionUses: 2
    functionsReached:
    - samples_from_vlc_tick
    - llabs
    - MS_FROM_VLC_TICK
    - block_Realloc
    - block_Release
    - sout_AccessOutWrite
    - OggStreamPageOut
    - ogg_stream_packetin
    - AddIndexEntry
    - FRAME_ROUND
    - vlc_tick_from_samples
    - msg_Dbg
    - OggStreamFlush
    - OggSetDate
    - MSFTIME_FROM_VLC_TICK
    linkageType: ''
    returnType: int
    signature: int MuxBlock( sout_mux_t *p_mux, sout_input_t *p_input, block_t *p_data
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1676
    functionDepth: 0
    functionLinenumber: 1676
    functionLinenumberEnd: 1680
    functionName: FRAME_ROUND
    functionSourceFile: /src/vlc/modules/mux/ogg.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FRAME_ROUND(a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/mux/wav.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 104
    functionName: Open
    functionSourceFile: /src/vlc/modules/mux/wav.c
    functionUses: 33
    functionsReached:
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/mux/wav.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: Close
    functionSourceFile: /src/vlc/modules/mux/wav.c
    functionUses: 107
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t * p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/wav.c:118,1
    - Dst: va_arg
      Src: /src/vlc/modules/mux/wav.c:125,1
    - Dst: va_arg
      Src: /src/vlc/modules/mux/wav.c:130,1
    - Dst: strdup
      Src: /src/vlc/modules/mux/wav.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - p_mux
    - i_query
    - args
    argTypes:
    - sout_mux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 137
    functionName: Control
    functionSourceFile: /src/vlc/modules/mux/wav.c
    functionUses: 57
    functionsReached:
    - va_arg
    - strdup
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int Control( sout_mux_t *p_mux, int i_query, va_list args )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/wav.c:149,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/wav.c:155,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/wav.c:159,1
    - Dst: aout_CheckChannelReorder
      Src: /src/vlc/modules/mux/wav.c:171,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/wav.c:175,1
    - Dst: fourcc_to_wf_tag
      Src: /src/vlc/modules/mux/wav.c:179,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/mux/wav.c:183,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/mux/wav.c:184,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/mux/wav.c:185,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/mux/wav.c:186,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/mux/wav.c:187,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/mux/wav.c:189,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/mux/wav.c:190,1
    - Dst: memset
      Src: /src/vlc/modules/mux/wav.c:193,1
    - Dst: SetWLE
      Src: /src/vlc/modules/mux/wav.c:194,1
    - Dst: SetWLE
      Src: /src/vlc/modules/mux/wav.c:196,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/mux/wav.c:198,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/mux/wav.c:201,1
    - Dst: SetWLE
      Src: /src/vlc/modules/mux/wav.c:203,1
    - Dst: SetWLE
      Src: /src/vlc/modules/mux/wav.c:204,1
    - Dst: SetWLE
      Src: /src/vlc/modules/mux/wav.c:206,1
    - Dst: SetWLE
      Src: /src/vlc/modules/mux/wav.c:207,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/mux/wav.c:209,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 2
    argNames:
    - p_mux
    - p_input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 218
    functionName: AddStream
    functionSourceFile: /src/vlc/modules/mux/wav.c
    functionUses: 9
    functionsReached:
    - VLC_FOURCC
    - aout_CheckChannelReorder
    - memset
    - SetWLE
    - SetDWLE
    - msg_Dbg
    - fourcc_to_wf_tag
    linkageType: ''
    returnType: int
    signature: int AddStream( sout_mux_t *p_mux, sout_input_t *p_input )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/mux/wav.c:224,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/mux/wav.c:226,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/mux/wav.c:228,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/wav.c:230,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/wav.c:231,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/wav.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - p_mux
    argTypes:
    - sout_mux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 238
    functionName: GetHeader
    functionSourceFile: /src/vlc/modules/mux/wav.c
    functionUses: 2
    functionsReached:
    - block_Alloc
    - SetDWLE
    - memcpy
    linkageType: ''
    returnType: block_t
    signature: block_t *GetHeader( sout_mux_t *p_mux )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/wav.c:242,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/wav.c:243,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/wav.c:245,1
    - Dst: sout_AccessOutSeek
      Src: /src/vlc/modules/mux/wav.c:246,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/wav.c:248,1
    - Dst: GetHeader
      Src: /src/vlc/modules/mux/wav.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_mux
    - p_input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 250
    functionName: DelStream
    functionSourceFile: /src/vlc/modules/mux/wav.c
    functionUses: 1
    functionsReached:
    - GetHeader
    - sout_AccessOutWrite
    - sout_AccessOutSeek
    - msg_Dbg
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void DelStream( sout_mux_t *p_mux, sout_input_t *p_input )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/wav.c:261,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/wav.c:262,1
    - Dst: GetHeader
      Src: /src/vlc/modules/mux/wav.c:262,1
    - Dst: vlc_fifo_Lock
      Src: /src/vlc/modules/mux/wav.c:268,1
    - Dst: vlc_fifo_DequeueAllUnlocked
      Src: /src/vlc/modules/mux/wav.c:269,1
    - Dst: vlc_fifo_Unlock
      Src: /src/vlc/modules/mux/wav.c:270,1
    - Dst: aout_ChannelReorder
      Src: /src/vlc/modules/mux/wav.c:278,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/wav.c:287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - p_mux
    argTypes:
    - sout_mux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 292
    functionName: Mux
    functionSourceFile: /src/vlc/modules/mux/wav.c
    functionUses: 1
    functionsReached:
    - GetHeader
    - vlc_fifo_Unlock
    - aout_ChannelReorder
    - sout_AccessOutWrite
    - msg_Dbg
    - vlc_fifo_DequeueAllUnlocked
    - vlc_fifo_Lock
    linkageType: ''
    returnType: int
    signature: int Mux( sout_mux_t *p_mux )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: AV1_OBU_iterator_init
      Src: /src/vlc/modules/mux/av1_pack.h:39,1
    - Dst: AV1_OBU_iterate_next
      Src: /src/vlc/modules/mux/av1_pack.h:41,1
    - Dst: AV1_OBUGetType
      Src: /src/vlc/modules/mux/av1_pack.h:43,1
    - Dst: memmove
      Src: /src/vlc/modules/mux/av1_pack.h:54,1
    - Dst: memmove
      Src: /src/vlc/modules/mux/av1_pack.h:60,1
    - Dst: AV1_OBU_iterator_init
      Src: /src/vlc/modules/mux/av1_pack.h:63,1
    - Dst: AV1_OBUHasSizeField
      Src: /src/vlc/modules/mux/av1_pack.h:72,1
    - Dst: AV1_OBUHasExtensionField
      Src: /src/vlc/modules/mux/av1_pack.h:75,1
    - Dst: AV1_OBUSize
      Src: /src/vlc/modules/mux/av1_pack.h:77,1
    - Dst: memmove
      Src: /src/vlc/modules/mux/av1_pack.h:80,1
    - Dst: block_Release
      Src: /src/vlc/modules/mux/av1_pack.h:90,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 1
    argNames:
    - p_block
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 36
    functionDepth: 3
    functionLinenumber: 36
    functionLinenumberEnd: 94
    functionName: AV1_Pack_Sample
    functionSourceFile: /src/vlc/modules/mux/av1_pack.h
    functionUses: 0
    functionsReached:
    - block_Release
    - AV1_OBUHasSizeField
    - AV1_OBU_iterator_init
    - memmove
    - AV1_OBU_iterate_next
    - AV1_OBUHasExtensionField
    - AV1_OBUSize
    - AV1_OBUGetType
    linkageType: ''
    returnType: block_t
    signature: block_t *AV1_Pack_Sample(block_t *p_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/mux/extradata.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - mux_extradata_builder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: generic_free_extra_Deinit
    functionSourceFile: /src/vlc/modules/mux/extradata.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void generic_free_extra_Deinit(mux_extradata_builder_t *m)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_a52_ParseAc3BitstreamInfo
      Src: /src/vlc/modules/mux/extradata.c:62,1
    - Dst: malloc
      Src: /src/vlc/modules/mux/extradata.c:66,1
    - Dst: bs_write_init
      Src: /src/vlc/modules/mux/extradata.c:72,1
    - Dst: bs_write
      Src: /src/vlc/modules/mux/extradata.c:73,1
    - Dst: bs_write
      Src: /src/vlc/modules/mux/extradata.c:74,1
    - Dst: bs_write
      Src: /src/vlc/modules/mux/extradata.c:75,1
    - Dst: bs_write
      Src: /src/vlc/modules/mux/extradata.c:76,1
    - Dst: bs_write
      Src: /src/vlc/modules/mux/extradata.c:77,1
    - Dst: bs_write
      Src: /src/vlc/modules/mux/extradata.c:78,1
    - Dst: bs_write
      Src: /src/vlc/modules/mux/extradata.c:79,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - m
    - p_data
    - i_data
    argTypes:
    - mux_extradata_builder_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 80
    functionName: ac3_extradata_builder_Feed
    functionSourceFile: /src/vlc/modules/mux/extradata.c
    functionUses: 0
    functionsReached:
    - malloc
    - bs_write
    - vlc_a52_ParseAc3BitstreamInfo
    - bs_write_init
    linkageType: ''
    returnType: void
    signature: "void ac3_extradata_builder_Feed(mux_extradata_builder_t *m,\n                                       const
      uint8_t *p_data, size_t i_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_a52_ParseEac3BitstreamInfo
      Src: /src/vlc/modules/mux/extradata.c:97,1
    - Dst: malloc
      Src: /src/vlc/modules/mux/extradata.c:101,1
    - Dst: bs_write_init
      Src: /src/vlc/modules/mux/extradata.c:107,1
    - Dst: bs_write
      Src: /src/vlc/modules/mux/extradata.c:114,1
    - Dst: bs_write
      Src: /src/vlc/modules/mux/extradata.c:115,1
    - Dst: bs_write
      Src: /src/vlc/modules/mux/extradata.c:116,1
    - Dst: bs_write
      Src: /src/vlc/modules/mux/extradata.c:117,1
    - Dst: bs_write
      Src: /src/vlc/modules/mux/extradata.c:118,1
    - Dst: bs_write
      Src: /src/vlc/modules/mux/extradata.c:119,1
    - Dst: bs_write
      Src: /src/vlc/modules/mux/extradata.c:120,1
    - Dst: bs_write
      Src: /src/vlc/modules/mux/extradata.c:121,1
    - Dst: bs_write
      Src: /src/vlc/modules/mux/extradata.c:122,1
    - Dst: bs_write
      Src: /src/vlc/modules/mux/extradata.c:123,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - m
    - p_data
    - i_data
    argTypes:
    - mux_extradata_builder_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 124
    functionName: eac3_extradata_builder_Feed
    functionSourceFile: /src/vlc/modules/mux/extradata.c
    functionUses: 0
    functionsReached:
    - malloc
    - bs_write
    - vlc_a52_ParseEac3BitstreamInfo
    - bs_write_init
    linkageType: ''
    returnType: void
    signature: "void eac3_extradata_builder_Feed(mux_extradata_builder_t *m,\n                                        const
      uint8_t *p_data, size_t i_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AV1_OBU_iterator_init
      Src: /src/vlc/modules/mux/extradata.c:140,1
    - Dst: AV1_OBU_iterate_next
      Src: /src/vlc/modules/mux/extradata.c:142,1
    - Dst: AV1_OBUGetType
      Src: /src/vlc/modules/mux/extradata.c:144,1
    - Dst: AV1_OBU_parse_sequence_header
      Src: /src/vlc/modules/mux/extradata.c:147,1
    - Dst: AV1_create_DecoderConfigurationRecord
      Src: /src/vlc/modules/mux/extradata.c:150,1
    - Dst: AV1_release_sequence_header
      Src: /src/vlc/modules/mux/extradata.c:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - m
    - p_data
    - i_data
    argTypes:
    - mux_extradata_builder_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 156
    functionName: av1_extradata_builder_Feed
    functionSourceFile: /src/vlc/modules/mux/extradata.c
    functionUses: 0
    functionsReached:
    - AV1_OBU_parse_sequence_header
    - AV1_OBU_iterator_init
    - AV1_release_sequence_header
    - AV1_OBU_iterate_next
    - AV1_create_DecoderConfigurationRecord
    - AV1_OBUGetType
    linkageType: ''
    returnType: void
    signature: "void av1_extradata_builder_Feed(mux_extradata_builder_t *m,\n                                       const
      uint8_t *p_data, size_t i_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_helper_init
      Src: /src/vlc/modules/mux/extradata.c:172,1
    - Dst: hxxx_helper_process_buffer
      Src: /src/vlc/modules/mux/extradata.c:174,1
    - Dst: hxxx_helper_has_config
      Src: /src/vlc/modules/mux/extradata.c:177,1
    - Dst: assert
      Src: /src/vlc/modules/mux/extradata.c:179,1
    - Dst: hxxx_helper_get_extradata_block
      Src: /src/vlc/modules/mux/extradata.c:180,1
    - Dst: hxxx_helper_clean
      Src: /src/vlc/modules/mux/extradata.c:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - m
    - data
    - size
    argTypes:
    - mux_extradata_builder_t*
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (m->priv == NULL)
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/vlc/modules/mux/extradata.c
    constantsTouched: []
    func_position:
      end: 186
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 186
    functionName: hxxx_extradata_builder_Feed
    functionSourceFile: /src/vlc/modules/mux/extradata.c
    functionUses: 0
    functionsReached:
    - assert
    - hxxx_helper_clean
    - hxxx_helper_get_extradata_block
    - hxxx_helper_has_config
    - hxxx_helper_process_buffer
    - hxxx_helper_init
    linkageType: ''
    returnType: void
    signature: "void hxxx_extradata_builder_Feed(mux_extradata_builder_t *m,\n                                        const
      uint8_t *data, size_t size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/mux/extradata.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - m
    argTypes:
    - mux_extradata_builder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: hxxx_extradata_builder_Deinit
    functionSourceFile: /src/vlc/modules/mux/extradata.c
    functionUses: 0
    functionsReached:
    - block_Release
    linkageType: ''
    returnType: void
    signature: void hxxx_extradata_builder_Deinit(mux_extradata_builder_t *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mux_extradata_builder_t*::cb::pf_deinit
      Src: /src/vlc/modules/mux/extradata.c:203,1
    - Dst: free
      Src: /src/vlc/modules/mux/extradata.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - m
    argTypes:
    - mux_extradata_builder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: mux_extradata_builder_Delete
    functionSourceFile: /src/vlc/modules/mux/extradata.c
    functionUses: 0
    functionsReached:
    - free
    - mux_extradata_builder_t*::cb::pf_deinit
    linkageType: ''
    returnType: void
    signature: void mux_extradata_builder_Delete(mux_extradata_builder_t *m)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/mux/extradata.c:225,1
    - Dst: assert
      Src: /src/vlc/modules/mux/extradata.c:236,1
    - Dst: assert
      Src: /src/vlc/modules/mux/extradata.c:237,1
    - Dst: calloc
      Src: /src/vlc/modules/mux/extradata.c:239,1
    - Dst: mux_extradata_builder_t*::cb::pf_init
      Src: /src/vlc/modules/mux/extradata.c:247,1
    - Dst: free
      Src: /src/vlc/modules/mux/extradata.c:249,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - obj
    - fcc
    - type
    argTypes:
    - vlc_object_t*
    - vlc_fourcc_t
    - enum mux_extradata_type_e
    assertStmts:
    - condition: (cb->pf_deinit != NULL)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/vlc/modules/mux/extradata.c
    - condition: (cb->pf_feed != NULL)
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/vlc/modules/mux/extradata.c
    constantsTouched: []
    func_position:
      end: 253
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 253
    functionName: mux_extradata_builder_New
    functionSourceFile: /src/vlc/modules/mux/extradata.c
    functionUses: 0
    functionsReached:
    - assert
    - ARRAY_SIZE
    - calloc
    - free
    - mux_extradata_builder_t*::cb::pf_init
    linkageType: ''
    returnType: mux_extradata_builder_t
    signature: "mux_extradata_builder_t * mux_extradata_builder_New(vlc_object_t *obj,\n
      \                                                   vlc_fourcc_t fcc,\n                                                    enum
      mux_extradata_type_e type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - m
    - a
    argTypes:
    - mux_extradata_builder_t*
    - uint8_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: mux_extradata_builder_Get
    functionSourceFile: /src/vlc/modules/mux/extradata.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t mux_extradata_builder_Get(mux_extradata_builder_t *m, const
      uint8_t **a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mux_extradata_builder_t*::cb::pf_feed
      Src: /src/vlc/modules/mux/extradata.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - m
    - p_data
    - i_data
    argTypes:
    - mux_extradata_builder_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 265
    functionName: mux_extradata_builder_Feed
    functionSourceFile: /src/vlc/modules/mux/extradata.c
    functionUses: 0
    functionsReached:
    - mux_extradata_builder_t*::cb::pf_feed
    linkageType: ''
    returnType: void
    signature: "void mux_extradata_builder_Feed(mux_extradata_builder_t *m,\n                                const
      uint8_t *p_data, size_t i_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mpjpeg.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 81
    functionName: Open
    functionSourceFile: /src/vlc/modules/mux/mpjpeg.c
    functionUses: 33
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mpjpeg.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: Close
    functionSourceFile: /src/vlc/modules/mux/mpjpeg.c
    functionUses: 107
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t * p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/mpjpeg.c:96,1
    - Dst: va_arg
      Src: /src/vlc/modules/mux/mpjpeg.c:103,1
    - Dst: va_arg
      Src: /src/vlc/modules/mux/mpjpeg.c:108,1
    - Dst: strdup
      Src: /src/vlc/modules/mux/mpjpeg.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - p_mux
    - i_query
    - args
    argTypes:
    - sout_mux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 115
    functionName: Control
    functionSourceFile: /src/vlc/modules/mux/mpjpeg.c
    functionUses: 57
    functionsReached:
    - va_arg
    - strdup
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int Control( sout_mux_t *p_mux, int i_query, va_list args )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mpjpeg.c:121,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mpjpeg.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p_mux
    - p_input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 130
    functionName: AddStream
    functionSourceFile: /src/vlc/modules/mux/mpjpeg.c
    functionUses: 9
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int AddStream( sout_mux_t *p_mux, sout_input_t *p_input )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/mpjpeg.c:134,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mpjpeg.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_mux
    - p_input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: DelStream
    functionSourceFile: /src/vlc/modules/mux/mpjpeg.c
    functionUses: 1
    functionsReached:
    - msg_Dbg
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void DelStream( sout_mux_t *p_mux, sout_input_t *p_input )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fifo_Lock
      Src: /src/vlc/modules/mux/mpjpeg.c:142,1
    - Dst: vlc_fifo_DequeueUnlocked
      Src: /src/vlc/modules/mux/mpjpeg.c:143,1
    - Dst: vlc_fifo_Unlock
      Src: /src/vlc/modules/mux/mpjpeg.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fifo
    argTypes:
    - block_fifo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 146
    functionName: block_FifoTryGet
    functionSourceFile: /src/vlc/modules/mux/mpjpeg.c
    functionUses: 0
    functionsReached:
    - vlc_fifo_Lock
    - vlc_fifo_DequeueUnlocked
    - vlc_fifo_Unlock
    linkageType: ''
    returnType: block_t
    signature: block_t *block_FifoTryGet(block_fifo_t *fifo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: block_FifoTryGet
      Src: /src/vlc/modules/mux/mpjpeg.c:157,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/mux/mpjpeg.c:164,1
    - Dst: block_Release
      Src: /src/vlc/modules/mux/mpjpeg.c:168,1
    - Dst: snprintf
      Src: /src/vlc/modules/mux/mpjpeg.c:173,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/mpjpeg.c:176,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/mpjpeg.c:177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - p_mux
    argTypes:
    - sout_mux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 181
    functionName: Mux
    functionSourceFile: /src/vlc/modules/mux/mpjpeg.c
    functionUses: 1
    functionsReached:
    - block_Release
    - sout_AccessOutWrite
    - block_FifoTryGet
    - block_Alloc
    - snprintf
    linkageType: ''
    returnType: int
    signature: int Mux( sout_mux_t *p_mux )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/mux/avi.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - fcc
    argTypes:
    - uint8_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: SetFCC
    functionSourceFile: /src/vlc/modules/mux/avi.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void SetFCC( uint8_t *p, char *fcc )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/avi.c:176,1
    - Dst: malloc
      Src: /src/vlc/modules/mux/avi.c:178,1
    - Dst: calloc
      Src: /src/vlc/modules/mux/avi.c:187,1
    - Dst: free
      Src: /src/vlc/modules/mux/avi.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 204
    functionName: Open
    functionSourceFile: /src/vlc/modules/mux/avi.c
    functionUses: 33
    functionsReached:
    - calloc
    - msg_Dbg
    - malloc
    - free
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/avi.c:217,1
    - Dst: avi_HeaderCreateidx1
      Src: /src/vlc/modules/mux/avi.c:220,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/avi.c:224,1
    - Dst: msg_Info
      Src: /src/vlc/modules/mux/avi.c:250,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/mux/avi.c:253,1
    - Dst: avi_HeaderCreateRIFF
      Src: /src/vlc/modules/mux/avi.c:259,1
    - Dst: sout_AccessOutSeek
      Src: /src/vlc/modules/mux/avi.c:262,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/avi.c:263,1
    - Dst: free
      Src: /src/vlc/modules/mux/avi.c:271,1
    - Dst: free
      Src: /src/vlc/modules/mux/avi.c:273,1
    - Dst: free
      Src: /src/vlc/modules/mux/avi.c:275,1
    - Dst: free
      Src: /src/vlc/modules/mux/avi.c:276,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 277
    functionName: Close
    functionSourceFile: /src/vlc/modules/mux/avi.c
    functionUses: 107
    functionsReached:
    - SEC_FROM_VLC_TICK
    - sout_AccessOutWrite
    - free
    - msg_Info
    - avi_HeaderCreateRIFF
    - msg_Dbg
    - sout_AccessOutSeek
    - avi_HeaderCreateidx1
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t * p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/avi.c:281,1
    - Dst: va_arg
      Src: /src/vlc/modules/mux/avi.c:288,1
    - Dst: va_arg
      Src: /src/vlc/modules/mux/avi.c:293,1
    - Dst: strdup
      Src: /src/vlc/modules/mux/avi.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - p_mux
    - i_query
    - args
    argTypes:
    - sout_mux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 300
    functionName: Control
    functionSourceFile: /src/vlc/modules/mux/avi.c
    functionUses: 57
    functionsReached:
    - va_arg
    - strdup
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int Control( sout_mux_t *p_mux, int i_query, va_list args )
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/mux/avi.c:309,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/avi.c:313,1
    - Dst: malloc
      Src: /src/vlc/modules/mux/avi.c:314,1
    - Dst: malloc
      Src: /src/vlc/modules/mux/avi.c:336,1
    - Dst: unlikely
      Src: /src/vlc/modules/mux/avi.c:337,1
    - Dst: free
      Src: /src/vlc/modules/mux/avi.c:339,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/avi.c:343,1
    - Dst: free
      Src: /src/vlc/modules/mux/avi.c:416,1
    - Dst: free
      Src: /src/vlc/modules/mux/avi.c:417,1
    - Dst: CreateBitmapInfoHeader
      Src: /src/vlc/modules/mux/avi.c:433,1
    - Dst: free
      Src: /src/vlc/modules/mux/avi.c:437,1
    - Dst: free
      Src: /src/vlc/modules/mux/avi.c:443,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 125
    argCount: 2
    argNames:
    - p_mux
    - p_input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 457
    functionName: AddStream
    functionSourceFile: /src/vlc/modules/mux/avi.c
    functionUses: 9
    functionsReached:
    - CreateBitmapInfoHeader
    - memcpy
    - msg_Err
    - free
    - msg_Dbg
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int AddStream( sout_mux_t *p_mux, sout_input_t *p_input )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/avi.c:461,1
    - Dst: free
      Src: /src/vlc/modules/mux/avi.c:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_mux
    - p_input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 464
    functionName: DelStream
    functionSourceFile: /src/vlc/modules/mux/avi.c
    functionUses: 1
    functionsReached:
    - free
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void DelStream( sout_mux_t *p_mux, sout_input_t *p_input )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/mux/avi.c:472,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/mux/avi.c:475,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/avi.c:479,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - p_stream
    - pp_block
    argTypes:
    - avi_stream_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 484
    functionName: PrepareSamples
    functionSourceFile: /src/vlc/modules/mux/avi.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - block_Realloc
    - memcpy
    linkageType: ''
    returnType: int
    signature: int PrepareSamples(const avi_stream_t *p_stream, block_t **pp_block)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/avi.c:494,1
    - Dst: avi_HeaderCreateRIFF
      Src: /src/vlc/modules/mux/avi.c:496,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/avi.c:499,1
    - Dst: vlc_fifo_Lock
      Src: /src/vlc/modules/mux/avi.c:515,1
    - Dst: vlc_fifo_DequeueAllUnlocked
      Src: /src/vlc/modules/mux/avi.c:516,1
    - Dst: vlc_fifo_Unlock
      Src: /src/vlc/modules/mux/avi.c:517,1
    - Dst: PrepareSamples
      Src: /src/vlc/modules/mux/avi.c:530,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/mux/avi.c:539,1
    - Dst: block_Release
      Src: /src/vlc/modules/mux/avi.c:540,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/avi.c:549,1
    - Dst: xrealloc
      Src: /src/vlc/modules/mux/avi.c:559,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/mux/avi.c:563,1
    - Dst: SetFCC
      Src: /src/vlc/modules/mux/avi.c:566,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/mux/avi.c:567,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/mux/avi.c:571,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/avi.c:579,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 64
    argCount: 1
    argNames:
    - p_mux
    argTypes:
    - sout_mux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 588
    functionName: Mux
    functionSourceFile: /src/vlc/modules/mux/avi.c
    functionUses: 1
    functionsReached:
    - block_Release
    - block_Realloc
    - xrealloc
    - vlc_fifo_Unlock
    - sout_AccessOutWrite
    - memcpy
    - avi_HeaderCreateRIFF
    - PrepareSamples
    - msg_Dbg
    - vlc_fifo_DequeueAllUnlocked
    - SetFCC
    - msg_Warn
    - SetDWLE
    - vlc_fifo_Lock
    linkageType: ''
    returnType: int
    signature: int Mux      ( sout_mux_t *p_mux )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fcc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 602
    functionName: AVI_BOX_ENTER
    functionSourceFile: /src/vlc/modules/mux/avi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVI_BOX_ENTER( fcc )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fcc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 606
    functionName: AVI_BOX_ENTER_LIST
    functionSourceFile: /src/vlc/modules/mux/avi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVI_BOX_ENTER_LIST( fcc )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i_err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 611
    functionName: AVI_BOX_EXIT
    functionSourceFile: /src/vlc/modules/mux/avi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVI_BOX_EXIT( i_err )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AVI_BOX_ENTER
      Src: /src/vlc/modules/mux/avi.c:621,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/mux/avi.c:641,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:656,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:657,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:658,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:659,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:662,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:663,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:664,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:665,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:668,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:669,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:673,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:674,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:676,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:677,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:678,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:679,1
    - Dst: AVI_BOX_EXIT
      Src: /src/vlc/modules/mux/avi.c:681,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 2
    argNames:
    - p_mux
    - p_bo
    argTypes:
    - sout_mux_t*
    - bo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 682
    functionName: avi_HeaderAdd_avih
    functionSourceFile: /src/vlc/modules/mux/avi.c
    functionUses: 0
    functionsReached:
    - AVI_BOX_ENTER
    - AVI_BOX_EXIT
    - bo_add_32le
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: "int avi_HeaderAdd_avih( sout_mux_t *p_mux,\n                               bo_t
      *p_bo )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AVI_BOX_ENTER
      Src: /src/vlc/modules/mux/avi.c:685,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/mux/avi.c:691,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/mux/avi.c:693,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/avi.c:696,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:698,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:700,1
    - Dst: bo_add_16le
      Src: /src/vlc/modules/mux/avi.c:701,1
    - Dst: bo_add_16le
      Src: /src/vlc/modules/mux/avi.c:702,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:703,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:704,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:705,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:706,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:707,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:708,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:709,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:710,1
    - Dst: bo_add_16le
      Src: /src/vlc/modules/mux/avi.c:711,1
    - Dst: bo_add_16le
      Src: /src/vlc/modules/mux/avi.c:712,1
    - Dst: bo_add_16le
      Src: /src/vlc/modules/mux/avi.c:713,1
    - Dst: bo_add_16le
      Src: /src/vlc/modules/mux/avi.c:714,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/mux/avi.c:733,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:734,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:735,1
    - Dst: bo_add_16le
      Src: /src/vlc/modules/mux/avi.c:736,1
    - Dst: bo_add_16le
      Src: /src/vlc/modules/mux/avi.c:737,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:738,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:739,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:740,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:741,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:742,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:743,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:744,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:745,1
    - Dst: bo_add_16le
      Src: /src/vlc/modules/mux/avi.c:746,1
    - Dst: bo_add_16le
      Src: /src/vlc/modules/mux/avi.c:747,1
    - Dst: bo_add_16le
      Src: /src/vlc/modules/mux/avi.c:748,1
    - Dst: bo_add_16le
      Src: /src/vlc/modules/mux/avi.c:749,1
    - Dst: AVI_BOX_EXIT
      Src: /src/vlc/modules/mux/avi.c:757,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 59
    argCount: 2
    argNames:
    - p_bo
    - p_stream
    argTypes:
    - bo_t*
    - avi_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 758
    functionName: avi_HeaderAdd_strh
    functionSourceFile: /src/vlc/modules/mux/avi.c
    functionUses: 0
    functionsReached:
    - AVI_BOX_EXIT
    - AVI_BOX_ENTER
    - bo_add_32be
    - bo_add_32le
    - bo_add_16le
    - bo_add_fourcc
    linkageType: ''
    returnType: int
    signature: int avi_HeaderAdd_strh( bo_t *p_bo, avi_stream_t *p_stream )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AVI_BOX_ENTER
      Src: /src/vlc/modules/mux/avi.c:762,1
    - Dst: bo_add_16le
      Src: /src/vlc/modules/mux/avi.c:767,1
    - Dst: bo_add_16le
      Src: /src/vlc/modules/mux/avi.c:768,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:769,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:770,1
    - Dst: bo_add_16le
      Src: /src/vlc/modules/mux/avi.c:771,1
    - Dst: bo_add_16le
      Src: /src/vlc/modules/mux/avi.c:772,1
    - Dst: bo_add_16le
      Src: /src/vlc/modules/mux/avi.c:773,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/avi.c:774,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:777,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:778,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:779,1
    - Dst: bo_add_16le
      Src: /src/vlc/modules/mux/avi.c:780,1
    - Dst: bo_add_16le
      Src: /src/vlc/modules/mux/avi.c:781,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/avi.c:783,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:785,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:787,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:788,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:789,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:790,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:791,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/avi.c:792,1
    - Dst: AVI_BOX_EXIT
      Src: /src/vlc/modules/mux/avi.c:799,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 2
    argNames:
    - p_bo
    - p_stream
    argTypes:
    - bo_t*
    - avi_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 800
    functionName: avi_HeaderAdd_strf
    functionSourceFile: /src/vlc/modules/mux/avi.c
    functionUses: 0
    functionsReached:
    - AVI_BOX_EXIT
    - AVI_BOX_ENTER
    - bo_add_mem
    - bo_add_32be
    - bo_add_32le
    - bo_add_16le
    linkageType: ''
    returnType: int
    signature: int avi_HeaderAdd_strf( bo_t *p_bo, avi_stream_t *p_stream )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVI_BOX_ENTER_LIST
      Src: /src/vlc/modules/mux/avi.c:804,1
    - Dst: avi_HeaderAdd_strh
      Src: /src/vlc/modules/mux/avi.c:806,1
    - Dst: avi_HeaderAdd_strf
      Src: /src/vlc/modules/mux/avi.c:807,1
    - Dst: AVI_BOX_EXIT
      Src: /src/vlc/modules/mux/avi.c:809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p_bo
    - p_stream
    argTypes:
    - bo_t*
    - avi_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 802
    functionDepth: 2
    functionLinenumber: 802
    functionLinenumberEnd: 810
    functionName: avi_HeaderAdd_strl
    functionSourceFile: /src/vlc/modules/mux/avi.c
    functionUses: 0
    functionsReached:
    - AVI_BOX_ENTER_LIST
    - avi_HeaderAdd_strf
    - avi_HeaderAdd_strh
    - AVI_BOX_EXIT
    linkageType: ''
    returnType: int
    signature: int avi_HeaderAdd_strl( bo_t *p_bo, avi_stream_t *p_stream )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVI_BOX_ENTER
      Src: /src/vlc/modules/mux/avi.c:817,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/avi.c:818,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/avi.c:819,1
    - Dst: AVI_BOX_EXIT
      Src: /src/vlc/modules/mux/avi.c:820,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - p_bo
    - psz_meta
    - psz_data
    argTypes:
    - bo_t*
    - char[]
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 812
    functionDepth: 1
    functionLinenumber: 812
    functionLinenumberEnd: 821
    functionName: avi_HeaderAdd_meta
    functionSourceFile: /src/vlc/modules/mux/avi.c
    functionUses: 0
    functionsReached:
    - AVI_BOX_ENTER
    - bo_add_8
    - AVI_BOX_EXIT
    linkageType: ''
    returnType: int
    signature: "int avi_HeaderAdd_meta( bo_t *p_bo, const char psz_meta[4],\n                               const
      char *psz_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVI_BOX_ENTER_LIST
      Src: /src/vlc/modules/mux/avi.c:835,1
    - Dst: APPLY_META
      Src: /src/vlc/modules/mux/avi.c:837,1
    - Dst: APPLY_META
      Src: /src/vlc/modules/mux/avi.c:838,1
    - Dst: APPLY_META
      Src: /src/vlc/modules/mux/avi.c:839,1
    - Dst: APPLY_META
      Src: /src/vlc/modules/mux/avi.c:840,1
    - Dst: APPLY_META
      Src: /src/vlc/modules/mux/avi.c:841,1
    - Dst: APPLY_META
      Src: /src/vlc/modules/mux/avi.c:842,1
    - Dst: APPLY_META
      Src: /src/vlc/modules/mux/avi.c:843,1
    - Dst: APPLY_META
      Src: /src/vlc/modules/mux/avi.c:844,1
    - Dst: APPLY_META
      Src: /src/vlc/modules/mux/avi.c:845,1
    - Dst: AVI_BOX_EXIT
      Src: /src/vlc/modules/mux/avi.c:850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - p_mux
    - p_bo
    argTypes:
    - sout_mux_t*
    - bo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 851
    functionName: avi_HeaderAdd_INFO
    functionSourceFile: /src/vlc/modules/mux/avi.c
    functionUses: 0
    functionsReached:
    - APPLY_META
    - AVI_BOX_ENTER_LIST
    - AVI_BOX_EXIT
    linkageType: ''
    returnType: int
    signature: int avi_HeaderAdd_INFO( sout_mux_t *p_mux, bo_t *p_bo )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - var
    - ','
    - fourcc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 834
    functionName: APPLY_META
    functionSourceFile: /src/vlc/modules/mux/avi.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APPLY_META(var, fourcc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bo_init
      Src: /src/vlc/modules/mux/avi.c:867,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/mux/avi.c:870,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:872,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/mux/avi.c:873,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/mux/avi.c:875,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:882,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/mux/avi.c:883,1
    - Dst: avi_HeaderAdd_avih
      Src: /src/vlc/modules/mux/avi.c:886,1
    - Dst: avi_HeaderAdd_strl
      Src: /src/vlc/modules/mux/avi.c:889,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/mux/avi.c:895,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:896,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/avi.c:899,1
    - Dst: bo_set_32le
      Src: /src/vlc/modules/mux/avi.c:903,1
    - Dst: avi_HeaderAdd_INFO
      Src: /src/vlc/modules/mux/avi.c:906,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/mux/avi.c:908,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:909,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/mux/avi.c:910,1
    - Dst: bo_set_32le
      Src: /src/vlc/modules/mux/avi.c:913,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - p_mux
    argTypes:
    - sout_mux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 853
    functionDepth: 3
    functionLinenumber: 853
    functionLinenumberEnd: 917
    functionName: avi_HeaderCreateRIFF
    functionSourceFile: /src/vlc/modules/mux/avi.c
    functionUses: 2
    functionsReached:
    - avi_HeaderAdd_avih
    - bo_init
    - bo_set_32le
    - bo_add_8
    - bo_add_32le
    - avi_HeaderAdd_strl
    - avi_HeaderAdd_INFO
    - bo_add_fourcc
    linkageType: ''
    returnType: block_t
    signature: block_t *avi_HeaderCreateRIFF( sout_mux_t *p_mux )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bo_init
      Src: /src/vlc/modules/mux/avi.c:927,1
    - Dst: memset
      Src: /src/vlc/modules/mux/avi.c:929,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/mux/avi.c:931,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:932,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/mux/avi.c:936,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:937,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:938,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/avi.c:939,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - p_mux
    argTypes:
    - sout_mux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 943
    functionName: avi_HeaderCreateidx1
    functionSourceFile: /src/vlc/modules/mux/avi.c
    functionUses: 1
    functionsReached:
    - bo_add_32le
    - bo_init
    - bo_add_fourcc
    - memset
    linkageType: ''
    returnType: block_t
    signature: block_t * avi_HeaderCreateidx1( sout_mux_t *p_mux )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/dummy.c:74,1
    - Dst: msg_Info
      Src: /src/vlc/modules/mux/dummy.c:75,1
    - Dst: malloc
      Src: /src/vlc/modules/mux/dummy.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 88
    functionName: Open
    functionSourceFile: /src/vlc/modules/mux/dummy.c
    functionUses: 33
    functionsReached:
    - msg_Info
    - msg_Dbg
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/dummy.c:99,1
    - Dst: free
      Src: /src/vlc/modules/mux/dummy.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: Close
    functionSourceFile: /src/vlc/modules/mux/dummy.c
    functionUses: 107
    functionsReached:
    - free
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t * p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/dummy.c:105,1
    - Dst: va_arg
      Src: /src/vlc/modules/mux/dummy.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - p_mux
    - i_query
    - args
    argTypes:
    - sout_mux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 119
    functionName: Control
    functionSourceFile: /src/vlc/modules/mux/dummy.c
    functionUses: 57
    functionsReached:
    - va_arg
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int Control( sout_mux_t *p_mux, int i_query, va_list args )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/dummy.c:123,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/dummy.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_mux
    - p_input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: AddStream
    functionSourceFile: /src/vlc/modules/mux/dummy.c
    functionUses: 9
    functionsReached:
    - msg_Dbg
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int AddStream( sout_mux_t *p_mux, sout_input_t *p_input )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/dummy.c:130,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/dummy.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_mux
    - p_input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: DelStream
    functionSourceFile: /src/vlc/modules/mux/dummy.c
    functionUses: 1
    functionsReached:
    - msg_Dbg
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void DelStream( sout_mux_t *p_mux, sout_input_t *p_input )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/mux/dummy.c:147,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/dummy.c:149,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/dummy.c:154,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/dummy.c:155,1
    - Dst: vlc_fifo_Lock
      Src: /src/vlc/modules/mux/dummy.c:159,1
    - Dst: vlc_fifo_DequeueAllUnlocked
      Src: /src/vlc/modules/mux/dummy.c:160,1
    - Dst: vlc_fifo_Unlock
      Src: /src/vlc/modules/mux/dummy.c:161,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/dummy.c:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - p_mux
    argTypes:
    - sout_mux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 175
    functionName: Mux
    functionSourceFile: /src/vlc/modules/mux/dummy.c
    functionUses: 1
    functionsReached:
    - vlc_fifo_Unlock
    - sout_AccessOutWrite
    - memcpy
    - block_Alloc
    - msg_Dbg
    - vlc_fifo_DequeueAllUnlocked
    - vlc_fifo_Lock
    linkageType: ''
    returnType: int
    signature: int Mux( sout_mux_t *p_mux )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/asf.c:192,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/mux/asf.c:193,1
    - Dst: malloc
      Src: /src/vlc/modules/mux/asf.c:200,1
    - Dst: strcmp
      Src: /src/vlc/modules/mux/asf.c:203,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/asf.c:206,1
    - Dst: vlc_array_init
      Src: /src/vlc/modules/mux/asf.c:217,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/mux/asf.c:220,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/mux/asf.c:221,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/asf.c:222,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/asf.c:224,1
    - Dst: vlc_rand_bytes
      Src: /src/vlc/modules/mux/asf.c:229,1
    - Dst: vlc_rand_bytes
      Src: /src/vlc/modules/mux/asf.c:230,1
    - Dst: vlc_rand_bytes
      Src: /src/vlc/modules/mux/asf.c:231,1
    - Dst: var_GetString
      Src: /src/vlc/modules/mux/asf.c:234,1
    - Dst: var_GetString
      Src: /src/vlc/modules/mux/asf.c:235,1
    - Dst: var_GetString
      Src: /src/vlc/modules/mux/asf.c:236,1
    - Dst: var_GetString
      Src: /src/vlc/modules/mux/asf.c:237,1
    - Dst: var_GetString
      Src: /src/vlc/modules/mux/asf.c:238,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/asf.c:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 41
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 246
    functionName: Open
    functionSourceFile: /src/vlc/modules/mux/asf.c
    functionUses: 33
    functionsReached:
    - var_GetString
    - var_InheritInteger
    - vlc_array_init
    - config_ChainParse
    - strcmp
    - msg_Dbg
    - vlc_rand_bytes
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/asf.c:257,1
    - Dst: asf_packet_flush
      Src: /src/vlc/modules/mux/asf.c:260,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/asf.c:262,1
    - Dst: asf_stream_end_create
      Src: /src/vlc/modules/mux/asf.c:265,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/asf.c:267,1
    - Dst: sout_AccessOutSeek
      Src: /src/vlc/modules/mux/asf.c:271,1
    - Dst: asf_header_create
      Src: /src/vlc/modules/mux/asf.c:273,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/asf.c:274,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/mux/asf.c:278,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/mux/asf.c:280,1
    - Dst: free
      Src: /src/vlc/modules/mux/asf.c:281,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/mux/asf.c:282,1
    - Dst: free
      Src: /src/vlc/modules/mux/asf.c:283,1
    - Dst: vlc_array_clear
      Src: /src/vlc/modules/mux/asf.c:286,1
    - Dst: free
      Src: /src/vlc/modules/mux/asf.c:287,1
    - Dst: free
      Src: /src/vlc/modules/mux/asf.c:288,1
    - Dst: free
      Src: /src/vlc/modules/mux/asf.c:289,1
    - Dst: free
      Src: /src/vlc/modules/mux/asf.c:290,1
    - Dst: free
      Src: /src/vlc/modules/mux/asf.c:291,1
    - Dst: free
      Src: /src/vlc/modules/mux/asf.c:292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 293
    functionName: Close
    functionSourceFile: /src/vlc/modules/mux/asf.c
    functionUses: 107
    functionsReached:
    - es_format_Clean
    - vlc_array_item_at_index
    - sout_AccessOutWrite
    - asf_stream_end_create
    - asf_header_create
    - free
    - vlc_array_count
    - vlc_array_clear
    - sout_AccessOutSeek
    - msg_Dbg
    - asf_packet_flush
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t * p_this )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/mux/asf.c:307,1
    - Dst: va_arg
      Src: /src/vlc/modules/mux/asf.c:312,1
    - Dst: strdup
      Src: /src/vlc/modules/mux/asf.c:314,1
    - Dst: strdup
      Src: /src/vlc/modules/mux/asf.c:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - p_mux
    - i_query
    - args
    argTypes:
    - sout_mux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 322
    functionName: Control
    functionSourceFile: /src/vlc/modules/mux/asf.c
    functionUses: 57
    functionsReached:
    - va_arg
    - strdup
    linkageType: ''
    returnType: int
    signature: int Control( sout_mux_t *p_mux, int i_query, va_list args )
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/asf.c:333,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/mux/asf.c:334,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/asf.c:336,1
    - Dst: malloc
      Src: /src/vlc/modules/mux/asf.c:340,1
    - Dst: unlikely
      Src: /src/vlc/modules/mux/asf.c:341,1
    - Dst: memset
      Src: /src/vlc/modules/mux/asf.c:343,1
    - Dst: malloc
      Src: /src/vlc/modules/mux/asf.c:435,1
    - Dst: bo_init
      Src: /src/vlc/modules/mux/asf.c:438,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:439,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:440,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:441,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:442,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:443,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:445,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:448,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/asf.c:449,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:454,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/asf.c:457,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:458,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:459,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:460,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:461,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:462,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/asf.c:466,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:467,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:468,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:469,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:470,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:471,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:472,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:473,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:474,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/mux/asf.c:499,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/mux/asf.c:504,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/mux/asf.c:509,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/mux/asf.c:514,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/mux/asf.c:519,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/mux/asf.c:524,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/mux/asf.c:529,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/mux/asf.c:535,1
    - Dst: malloc
      Src: /src/vlc/modules/mux/asf.c:540,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/asf.c:545,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/mux/asf.c:552,1
    - Dst: _
      Src: /src/vlc/modules/mux/asf.c:556,1
    - Dst: malloc
      Src: /src/vlc/modules/mux/asf.c:561,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/asf.c:565,1
    - Dst: malloc
      Src: /src/vlc/modules/mux/asf.c:570,1
    - Dst: free
      Src: /src/vlc/modules/mux/asf.c:573,1
    - Dst: bo_init
      Src: /src/vlc/modules/mux/asf.c:576,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:577,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:578,1
    - Dst: bo_add_u8
      Src: /src/vlc/modules/mux/asf.c:579,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:580,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:581,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:582,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:583,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:584,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:585,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/asf.c:586,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:587,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:588,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:589,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:590,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:591,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/asf.c:594,1
    - Dst: free
      Src: /src/vlc/modules/mux/asf.c:595,1
    - Dst: msg_Err
      Src: /src/vlc/modules/mux/asf.c:611,1
    - Dst: free
      Src: /src/vlc/modules/mux/asf.c:612,1
    - Dst: vlc_array_append
      Src: /src/vlc/modules/mux/asf.c:616,1
    - Dst: free
      Src: /src/vlc/modules/mux/asf.c:618,1
    - Dst: free
      Src: /src/vlc/modules/mux/asf.c:619,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/mux/asf.c:623,1
    - Dst: vlc_array_index_of_item
      Src: /src/vlc/modules/mux/asf.c:625,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 242
    argCount: 2
    argNames:
    - p_mux
    - p_input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 631
    functionName: AddStream
    functionSourceFile: /src/vlc/modules/mux/asf.c
    functionUses: 9
    functionsReached:
    - VLC_FOURCC
    - vlc_array_append
    - bo_init
    - bo_addle_u32
    - memset
    - bo_add_mem
    - memcpy
    - _
    - msg_Err
    - free
    - vlc_array_count
    - bo_addle_u16
    - msg_Dbg
    - vlc_array_index_of_item
    - es_format_Copy
    - unlikely
    - malloc
    - bo_add_u8
    linkageType: ''
    returnType: int
    signature: int AddStream( sout_mux_t *p_mux, sout_input_t *p_input )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/asf.c:642,1
    - Dst: vlc_array_remove
      Src: /src/vlc/modules/mux/asf.c:663,1
    - Dst: vlc_array_index_of_item
      Src: /src/vlc/modules/mux/asf.c:663,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - p_mux
    - p_input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 666
    functionName: DelStream
    functionSourceFile: /src/vlc/modules/mux/asf.c
    functionUses: 1
    functionsReached:
    - vlc_array_index_of_item
    - vlc_array_remove
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void DelStream( sout_mux_t *p_mux, sout_input_t *p_input )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: asf_header_create
      Src: /src/vlc/modules/mux/asf.c:677,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/asf.c:680,1
    - Dst: sout_MuxGetStream
      Src: /src/vlc/modules/mux/asf.c:693,1
    - Dst: block_FifoGet
      Src: /src/vlc/modules/mux/asf.c:712,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/mux/asf.c:715,1
    - Dst: asf_packet_create
      Src: /src/vlc/modules/mux/asf.c:732,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/asf.c:734,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 1
    argNames:
    - p_mux
    argTypes:
    - sout_mux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 739
    functionName: Mux
    functionSourceFile: /src/vlc/modules/mux/asf.c
    functionUses: 1
    functionsReached:
    - VLC_FOURCC
    - asf_packet_create
    - block_FifoGet
    - sout_AccessOutWrite
    - asf_header_create
    - sout_MuxGetStream
    linkageType: ''
    returnType: int
    signature: int Mux( sout_mux_t *p_mux )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_bo
    - p_buffer
    - i_size
    argTypes:
    - bo_t*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 753
    functionName: bo_init
    functionSourceFile: /src/vlc/modules/mux/asf.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bo_init( bo_t *p_bo, uint8_t *p_buffer, int i_size )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_bo
    - i
    argTypes:
    - bo_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 761
    functionName: bo_add_u8
    functionSourceFile: /src/vlc/modules/mux/asf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bo_add_u8( bo_t *p_bo, uint8_t i )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bo_add_u8
      Src: /src/vlc/modules/mux/asf.c:764,1
    - Dst: bo_add_u8
      Src: /src/vlc/modules/mux/asf.c:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_bo
    - i
    argTypes:
    - bo_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 766
    functionName: bo_addle_u16
    functionSourceFile: /src/vlc/modules/mux/asf.c
    functionUses: 1
    functionsReached:
    - bo_add_u8
    linkageType: ''
    returnType: void
    signature: void bo_addle_u16( bo_t *p_bo, uint16_t i )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:769,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_bo
    - i
    argTypes:
    - bo_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 767
    functionDepth: 2
    functionLinenumber: 767
    functionLinenumberEnd: 771
    functionName: bo_addle_u32
    functionSourceFile: /src/vlc/modules/mux/asf.c
    functionUses: 1
    functionsReached:
    - bo_addle_u16
    linkageType: ''
    returnType: void
    signature: void bo_addle_u32( bo_t *p_bo, uint32_t i )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:774,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_bo
    - i
    argTypes:
    - bo_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 772
    functionDepth: 3
    functionLinenumber: 772
    functionLinenumberEnd: 776
    functionName: bo_addle_u64
    functionSourceFile: /src/vlc/modules/mux/asf.c
    functionUses: 0
    functionsReached:
    - bo_addle_u32
    linkageType: ''
    returnType: void
    signature: void bo_addle_u64( bo_t *p_bo, uint64_t i )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __MIN
      Src: /src/vlc/modules/mux/asf.c:780,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/asf.c:784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - p_bo
    - p_mem
    - i_size
    argTypes:
    - bo_t*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 787
    functionName: bo_add_mem
    functionSourceFile: /src/vlc/modules/mux/asf.c
    functionUses: 3
    functionsReached:
    - memcpy
    - __MIN
    linkageType: ''
    returnType: void
    signature: void bo_add_mem( bo_t *p_bo, uint8_t *p_mem, int i_size )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:791,1
    - Dst: strlen
      Src: /src/vlc/modules/mux/asf.c:791,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:795,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - bo
    - str
    argTypes:
    - bo_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 789
    functionDepth: 2
    functionLinenumber: 789
    functionLinenumberEnd: 798
    functionName: bo_addle_str16
    functionSourceFile: /src/vlc/modules/mux/asf.c
    functionUses: 0
    functionsReached:
    - strlen
    - bo_addle_u16
    linkageType: ''
    returnType: void
    signature: void bo_addle_str16( bo_t *bo, const char *str )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:805,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - bo
    - str
    argTypes:
    - bo_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 800
    functionDepth: 2
    functionLinenumber: 800
    functionLinenumberEnd: 808
    functionName: bo_addle_str16_nosize
    functionSourceFile: /src/vlc/modules/mux/asf.c
    functionUses: 0
    functionsReached:
    - bo_addle_u16
    linkageType: ''
    returnType: void
    signature: void bo_addle_str16_nosize( bo_t *bo, const char *str )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:815,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:816,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:817,1
    - Dst: bo_add_u8
      Src: /src/vlc/modules/mux/asf.c:820,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_bo
    - id
    argTypes:
    - bo_t*
    - vlc_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 813
    functionDepth: 3
    functionLinenumber: 813
    functionLinenumberEnd: 822
    functionName: bo_add_guid
    functionSourceFile: /src/vlc/modules/mux/asf.c
    functionUses: 0
    functionsReached:
    - bo_addle_u16
    - bo_addle_u32
    - bo_add_u8
    linkageType: ''
    returnType: void
    signature: void bo_add_guid( bo_t *p_bo, const vlc_guid_t *id )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:830,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:831,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:832,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:833,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - bo
    - i_type
    - i_len
    - i_flags
    - i_seq
    argTypes:
    - bo_t*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 827
    functionDepth: 3
    functionLinenumber: 827
    functionLinenumberEnd: 835
    functionName: asf_chunk_add
    functionSourceFile: /src/vlc/modules/mux/asf.c
    functionUses: 0
    functionsReached:
    - bo_addle_u16
    - bo_addle_u32
    linkageType: ''
    returnType: void
    signature: "void asf_chunk_add( bo_t *bo,\n                           int i_type,
      int i_len, int i_flags, int i_seq )"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/asf.c:847,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/mux/asf.c:857,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/mux/asf.c:859,1
    - Dst: strlen
      Src: /src/vlc/modules/mux/asf.c:864,1
    - Dst: strlen
      Src: /src/vlc/modules/mux/asf.c:876,1
    - Dst: strlen
      Src: /src/vlc/modules/mux/asf.c:877,1
    - Dst: strlen
      Src: /src/vlc/modules/mux/asf.c:878,1
    - Dst: strlen
      Src: /src/vlc/modules/mux/asf.c:879,1
    - Dst: strlen
      Src: /src/vlc/modules/mux/asf.c:880,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/mux/asf.c:886,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/mux/asf.c:888,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/mux/asf.c:906,1
    - Dst: bo_init
      Src: /src/vlc/modules/mux/asf.c:907,1
    - Dst: asf_chunk_add
      Src: /src/vlc/modules/mux/asf.c:908,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/mux/asf.c:912,1
    - Dst: bo_init
      Src: /src/vlc/modules/mux/asf.c:913,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/mux/asf.c:919,1
    - Dst: bo_add_guid
      Src: /src/vlc/modules/mux/asf.c:924,1
    - Dst: bo_addle_u64
      Src: /src/vlc/modules/mux/asf.c:925,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:926,1
    - Dst: bo_add_u8
      Src: /src/vlc/modules/mux/asf.c:927,1
    - Dst: bo_add_u8
      Src: /src/vlc/modules/mux/asf.c:928,1
    - Dst: bo_add_guid
      Src: /src/vlc/modules/mux/asf.c:933,1
    - Dst: bo_addle_u64
      Src: /src/vlc/modules/mux/asf.c:934,1
    - Dst: bo_add_guid
      Src: /src/vlc/modules/mux/asf.c:935,1
    - Dst: bo_addle_u64
      Src: /src/vlc/modules/mux/asf.c:936,1
    - Dst: bo_addle_u64
      Src: /src/vlc/modules/mux/asf.c:938,1
    - Dst: bo_addle_u64
      Src: /src/vlc/modules/mux/asf.c:939,1
    - Dst: bo_addle_u64
      Src: /src/vlc/modules/mux/asf.c:940,1
    - Dst: MSFTIME_FROM_VLC_TICK
      Src: /src/vlc/modules/mux/asf.c:940,1
    - Dst: bo_addle_u64
      Src: /src/vlc/modules/mux/asf.c:941,1
    - Dst: MSFTIME_FROM_VLC_TICK
      Src: /src/vlc/modules/mux/asf.c:941,1
    - Dst: bo_addle_u64
      Src: /src/vlc/modules/mux/asf.c:942,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:943,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:944,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:945,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:949,1
    - Dst: bo_add_guid
      Src: /src/vlc/modules/mux/asf.c:952,1
    - Dst: bo_addle_u64
      Src: /src/vlc/modules/mux/asf.c:953,1
    - Dst: bo_add_guid
      Src: /src/vlc/modules/mux/asf.c:954,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:955,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:956,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/mux/asf.c:959,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/mux/asf.c:961,1
    - Dst: INT64_C
      Src: /src/vlc/modules/mux/asf.c:970,1
    - Dst: bo_add_guid
      Src: /src/vlc/modules/mux/asf.c:973,1
    - Dst: bo_addle_u64
      Src: /src/vlc/modules/mux/asf.c:974,1
    - Dst: bo_addle_u64
      Src: /src/vlc/modules/mux/asf.c:975,1
    - Dst: bo_addle_u64
      Src: /src/vlc/modules/mux/asf.c:976,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:977,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:978,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:979,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:980,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:981,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:982,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:983,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:984,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:985,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:986,1
    - Dst: bo_addle_u64
      Src: /src/vlc/modules/mux/asf.c:987,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:988,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:989,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/mux/asf.c:998,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/mux/asf.c:1000,1
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/mux/asf.c:1005,1
    - Dst: assert
      Src: /src/vlc/modules/mux/asf.c:1011,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/asf.c:1013,1
    - Dst: bo_add_guid
      Src: /src/vlc/modules/mux/asf.c:1015,1
    - Dst: bo_addle_u64
      Src: /src/vlc/modules/mux/asf.c:1016,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:1017,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:1019,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:1020,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:1021,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:1022,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:1023,1
    - Dst: bo_addle_str16_nosize
      Src: /src/vlc/modules/mux/asf.c:1024,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:1025,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:1027,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:1028,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:1029,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:1030,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:1031,1
    - Dst: bo_addle_str16_nosize
      Src: /src/vlc/modules/mux/asf.c:1032,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:1033,1
    - Dst: bo_add_guid
      Src: /src/vlc/modules/mux/asf.c:1039,1
    - Dst: bo_addle_u64
      Src: /src/vlc/modules/mux/asf.c:1040,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:1041,1
    - Dst: strlen
      Src: /src/vlc/modules/mux/asf.c:1041,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:1042,1
    - Dst: strlen
      Src: /src/vlc/modules/mux/asf.c:1042,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:1043,1
    - Dst: strlen
      Src: /src/vlc/modules/mux/asf.c:1043,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:1044,1
    - Dst: strlen
      Src: /src/vlc/modules/mux/asf.c:1044,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:1045,1
    - Dst: strlen
      Src: /src/vlc/modules/mux/asf.c:1045,1
    - Dst: bo_addle_str16_nosize
      Src: /src/vlc/modules/mux/asf.c:1047,1
    - Dst: bo_addle_str16_nosize
      Src: /src/vlc/modules/mux/asf.c:1048,1
    - Dst: bo_addle_str16_nosize
      Src: /src/vlc/modules/mux/asf.c:1049,1
    - Dst: bo_addle_str16_nosize
      Src: /src/vlc/modules/mux/asf.c:1050,1
    - Dst: bo_addle_str16_nosize
      Src: /src/vlc/modules/mux/asf.c:1051,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/mux/asf.c:1055,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/mux/asf.c:1057,1
    - Dst: bo_add_guid
      Src: /src/vlc/modules/mux/asf.c:1059,1
    - Dst: bo_addle_u64
      Src: /src/vlc/modules/mux/asf.c:1060,1
    - Dst: bo_add_guid
      Src: /src/vlc/modules/mux/asf.c:1064,1
    - Dst: bo_add_guid
      Src: /src/vlc/modules/mux/asf.c:1066,1
    - Dst: bo_add_guid
      Src: /src/vlc/modules/mux/asf.c:1068,1
    - Dst: bo_add_guid
      Src: /src/vlc/modules/mux/asf.c:1072,1
    - Dst: bo_add_guid
      Src: /src/vlc/modules/mux/asf.c:1073,1
    - Dst: bo_addle_u64
      Src: /src/vlc/modules/mux/asf.c:1075,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:1076,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:1078,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:1079,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:1080,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/asf.c:1081,1
    - Dst: bo_add_u8
      Src: /src/vlc/modules/mux/asf.c:1086,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:1087,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:1088,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:1089,1
    - Dst: bo_add_u8
      Src: /src/vlc/modules/mux/asf.c:1090,1
    - Dst: bo_add_guid
      Src: /src/vlc/modules/mux/asf.c:1095,1
    - Dst: bo_addle_u64
      Src: /src/vlc/modules/mux/asf.c:1096,1
    - Dst: bo_add_guid
      Src: /src/vlc/modules/mux/asf.c:1097,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:1098,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/mux/asf.c:1098,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/mux/asf.c:1099,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/mux/asf.c:1101,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:1103,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:1104,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:1105,1
    - Dst: bo_addle_str16
      Src: /src/vlc/modules/mux/asf.c:1107,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:1108,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:1111,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:1112,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:1116,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/asf.c:1117,1
    - Dst: bo_add_guid
      Src: /src/vlc/modules/mux/asf.c:1122,1
    - Dst: bo_addle_u64
      Src: /src/vlc/modules/mux/asf.c:1123,1
    - Dst: bo_add_guid
      Src: /src/vlc/modules/mux/asf.c:1124,1
    - Dst: bo_addle_u64
      Src: /src/vlc/modules/mux/asf.c:1125,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:1126,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 186
    argCount: 2
    argNames:
    - p_mux
    - b_broadcast
    argTypes:
    - sout_mux_t*
    - bool
    assertStmts:
    - condition: ( tk != NULL )
      pos:
        line_end: 1010
        line_start: 1010
        source_file: /src/vlc/modules/mux/asf.c
    constantsTouched: []
    func_position:
      end: 1129
      start: 837
    functionDepth: 4
    functionLinenumber: 837
    functionLinenumberEnd: 1129
    functionName: asf_header_create
    functionSourceFile: /src/vlc/modules/mux/asf.c
    functionUses: 2
    functionsReached:
    - assert
    - INT64_C
    - vlc_array_count
    - block_Alloc
    - asf_chunk_add
    - bo_addle_str16
    - bo_addle_u16
    - msg_Dbg
    - bo_add_guid
    - bo_addle_str16_nosize
    - vlc_array_item_at_index
    - bo_add_mem
    - bo_addle_u64
    - bo_init
    - bo_addle_u32
    - strlen
    - vlc_ureduce
    - MSFTIME_FROM_VLC_TICK
    - bo_add_u8
    linkageType: ''
    returnType: block_t
    signature: block_t *asf_header_create( sout_mux_t *p_mux, bool b_broadcast )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/mux/asf.c:1144,1
    - Dst: bo_init
      Src: /src/vlc/modules/mux/asf.c:1146,1
    - Dst: asf_chunk_add
      Src: /src/vlc/modules/mux/asf.c:1149,1
    - Dst: bo_add_u8
      Src: /src/vlc/modules/mux/asf.c:1151,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:1152,1
    - Dst: bo_add_u8
      Src: /src/vlc/modules/mux/asf.c:1153,1
    - Dst: bo_add_u8
      Src: /src/vlc/modules/mux/asf.c:1154,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:1155,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:1156,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/mux/asf.c:1156,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:1158,1
    - Dst: bo_add_u8
      Src: /src/vlc/modules/mux/asf.c:1159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - p_mux
    argTypes:
    - sout_mux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1134
    functionDepth: 4
    functionLinenumber: 1134
    functionLinenumberEnd: 1167
    functionName: asf_packet_flush
    functionSourceFile: /src/vlc/modules/mux/asf.c
    functionUses: 1
    functionsReached:
    - MS_FROM_VLC_TICK
    - bo_init
    - bo_addle_u32
    - memset
    - asf_chunk_add
    - bo_addle_u16
    - bo_add_u8
    linkageType: ''
    returnType: block_t
    signature: block_t *asf_packet_flush( sout_mux_t *p_mux )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/mux/asf.c:1187,1
    - Dst: bo_init
      Src: /src/vlc/modules/mux/asf.c:1194,1
    - Dst: __MIN
      Src: /src/vlc/modules/mux/asf.c:1198,1
    - Dst: asf_packet_flush
      Src: /src/vlc/modules/mux/asf.c:1204,1
    - Dst: bo_add_u8
      Src: /src/vlc/modules/mux/asf.c:1209,1
    - Dst: bo_add_u8
      Src: /src/vlc/modules/mux/asf.c:1212,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:1213,1
    - Dst: bo_add_u8
      Src: /src/vlc/modules/mux/asf.c:1214,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:1215,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:1216,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/mux/asf.c:1216,1
    - Dst: bo_addle_u16
      Src: /src/vlc/modules/mux/asf.c:1218,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/asf.c:1219,1
    - Dst: asf_packet_flush
      Src: /src/vlc/modules/mux/asf.c:1228,1
    - Dst: block_Release
      Src: /src/vlc/modules/mux/asf.c:1234,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - p_mux
    - tk
    - data
    argTypes:
    - sout_mux_t*
    - asf_track_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1169
    functionDepth: 5
    functionLinenumber: 1169
    functionLinenumberEnd: 1237
    functionName: asf_packet_create
    functionSourceFile: /src/vlc/modules/mux/asf.c
    functionUses: 1
    functionsReached:
    - MS_FROM_VLC_TICK
    - bo_init
    - block_Release
    - bo_addle_u32
    - bo_add_mem
    - block_Alloc
    - bo_addle_u16
    - __MIN
    - asf_packet_flush
    - bo_add_u8
    linkageType: ''
    returnType: block_t
    signature: "block_t *asf_packet_create( sout_mux_t *p_mux,\n                                   asf_track_t
      *tk, block_t *data )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/mux/asf.c:1248,1
    - Dst: bo_init
      Src: /src/vlc/modules/mux/asf.c:1249,1
    - Dst: asf_chunk_add
      Src: /src/vlc/modules/mux/asf.c:1250,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/mux/asf.c:1255,1
    - Dst: bo_init
      Src: /src/vlc/modules/mux/asf.c:1256,1
    - Dst: bo_add_guid
      Src: /src/vlc/modules/mux/asf.c:1257,1
    - Dst: bo_addle_u64
      Src: /src/vlc/modules/mux/asf.c:1258,1
    - Dst: bo_add_guid
      Src: /src/vlc/modules/mux/asf.c:1259,1
    - Dst: bo_addle_u64
      Src: /src/vlc/modules/mux/asf.c:1260,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:1261,1
    - Dst: bo_addle_u32
      Src: /src/vlc/modules/mux/asf.c:1262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - p_mux
    argTypes:
    - sout_mux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1239
    functionDepth: 4
    functionLinenumber: 1239
    functionLinenumberEnd: 1266
    functionName: asf_stream_end_create
    functionSourceFile: /src/vlc/modules/mux/asf.c
    functionUses: 1
    functionsReached:
    - bo_init
    - bo_addle_u32
    - bo_addle_u64
    - block_Alloc
    - asf_chunk_add
    - bo_add_guid
    linkageType: ''
    returnType: block_t
    signature: block_t *asf_stream_end_create( sout_mux_t *p_mux )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/mux/webvtt.c:42,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/mux/webvtt.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ms
    - time
    argTypes:
    - struct vlc_memstream*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: OutputTime
    functionSourceFile: /src/vlc/modules/mux/webvtt.c
    functionUses: 0
    functionsReached:
    - vlc_memstream_printf
    - SEC_FROM_VLC_TICK
    linkageType: ''
    returnType: void
    signature: void OutputTime(struct vlc_memstream *ms, vlc_tick_t time)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_memstream_open
      Src: /src/vlc/modules/mux/webvtt.c:54,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/mux/webvtt.c:58,1
    - Dst: OutputTime
      Src: /src/vlc/modules/mux/webvtt.c:60,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/mux/webvtt.c:61,1
    - Dst: OutputTime
      Src: /src/vlc/modules/mux/webvtt.c:62,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/mux/webvtt.c:65,1
    - Dst: vlc_memstream_putc
      Src: /src/vlc/modules/mux/webvtt.c:67,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/mux/webvtt.c:69,1
    - Dst: vlc_memstream_close
      Src: /src/vlc/modules/mux/webvtt.c:71,1
    - Dst: block_heap_Alloc
      Src: /src/vlc/modules/mux/webvtt.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - cue
    argTypes:
    - webvtt_cue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 78
    functionName: FormatCue
    functionSourceFile: /src/vlc/modules/mux/webvtt.c
    functionUses: 0
    functionsReached:
    - OutputTime
    - vlc_memstream_open
    - vlc_memstream_printf
    - vlc_memstream_putc
    - vlc_memstream_close
    - block_heap_Alloc
    linkageType: ''
    returnType: block_t
    signature: block_t *FormatCue(const webvtt_cue_t *cue)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mp4_box_iterator_Init
      Src: /src/vlc/modules/mux/webvtt.c:83,1
    - Dst: mp4_box_iterator_Next
      Src: /src/vlc/modules/mux/webvtt.c:84,1
    - Dst: mp4_box_iterator_Init
      Src: /src/vlc/modules/mux/webvtt.c:90,1
    - Dst: mp4_box_iterator_Next
      Src: /src/vlc/modules/mux/webvtt.c:91,1
    - Dst: strndup
      Src: /src/vlc/modules/mux/webvtt.c:98,1
    - Dst: strndup
      Src: /src/vlc/modules/mux/webvtt.c:103,1
    - Dst: asprintf
      Src: /src/vlc/modules/mux/webvtt.c:107,1
    - Dst: free
      Src: /src/vlc/modules/mux/webvtt.c:109,1
    - Dst: free
      Src: /src/vlc/modules/mux/webvtt.c:112,1
    - Dst: strndup
      Src: /src/vlc/modules/mux/webvtt.c:117,1
    - Dst: strndup
      Src: /src/vlc/modules/mux/webvtt.c:122,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 2
    argNames:
    - packed
    - out
    argTypes:
    - vlc_frame_t*
    - webvtt_cue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 127
    functionName: UnpackISOBMFF
    functionSourceFile: /src/vlc/modules/mux/webvtt.c
    functionUses: 0
    functionsReached:
    - strndup
    - asprintf
    - free
    - mp4_box_iterator_Next
    - mp4_box_iterator_Init
    linkageType: ''
    returnType: void
    signature: void UnpackISOBMFF(const vlc_frame_t *packed, webvtt_cue_t *out)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - mux
    - query
    - args
    argTypes:
    - sout_mux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 140
    functionName: Control
    functionSourceFile: /src/vlc/modules/mux/webvtt.c
    functionUses: 57
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Control(sout_mux_t *mux, int query, va_list args)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - mux
    - input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 151
    functionName: AddStream
    functionSourceFile: /src/vlc/modules/mux/webvtt.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int AddStream(sout_mux_t *mux, sout_input_t *input)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - mux
    - input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: DelStream
    functionSourceFile: /src/vlc/modules/mux/webvtt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DelStream(sout_mux_t *mux, sout_input_t *input)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/mux/webvtt.c:172,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/mux/webvtt.c:174,1
    - Dst: unlikely
      Src: /src/vlc/modules/mux/webvtt.c:176,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/webvtt.c:178,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/mux/webvtt.c:184,1
    - Dst: unlikely
      Src: /src/vlc/modules/mux/webvtt.c:185,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/webvtt.c:187,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/webvtt.c:193,1
    - Dst: vlc_fifo_Lock
      Src: /src/vlc/modules/mux/webvtt.c:198,1
    - Dst: vlc_fifo_DequeueAllUnlocked
      Src: /src/vlc/modules/mux/webvtt.c:199,1
    - Dst: vlc_fifo_QueueUnlocked
      Src: /src/vlc/modules/mux/webvtt.c:208,1
    - Dst: strndup
      Src: /src/vlc/modules/mux/webvtt.c:216,1
    - Dst: UnpackISOBMFF
      Src: /src/vlc/modules/mux/webvtt.c:218,1
    - Dst: unlikely
      Src: /src/vlc/modules/mux/webvtt.c:220,1
    - Dst: webvtt_cue_Clean
      Src: /src/vlc/modules/mux/webvtt.c:222,1
    - Dst: FormatCue
      Src: /src/vlc/modules/mux/webvtt.c:232,1
    - Dst: webvtt_cue_Clean
      Src: /src/vlc/modules/mux/webvtt.c:233,1
    - Dst: likely
      Src: /src/vlc/modules/mux/webvtt.c:236,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/webvtt.c:237,1
    - Dst: vlc_frame_Release
      Src: /src/vlc/modules/mux/webvtt.c:245,1
    - Dst: vlc_frame_ChainRelease
      Src: /src/vlc/modules/mux/webvtt.c:249,1
    - Dst: vlc_fifo_Unlock
      Src: /src/vlc/modules/mux/webvtt.c:250,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 1
    argNames:
    - mux
    argTypes:
    - sout_mux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 252
    functionName: Mux
    functionSourceFile: /src/vlc/modules/mux/webvtt.c
    functionUses: 1
    functionsReached:
    - strndup
    - UnpackISOBMFF
    - vlc_frame_Release
    - vlc_fifo_QueueUnlocked
    - webvtt_cue_Clean
    - vlc_fifo_Unlock
    - memcpy
    - sout_AccessOutWrite
    - vlc_frame_ChainRelease
    - block_Alloc
    - vlc_fifo_DequeueAllUnlocked
    - likely
    - vlc_fifo_Lock
    - unlikely
    - memcmp
    - FormatCue
    linkageType: ''
    returnType: int
    signature: int Mux(sout_mux_t *mux)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/mux/webvtt.c:261,1
    - Dst: unlikely
      Src: /src/vlc/modules/mux/webvtt.c:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 274
    functionName: webvtt_OpenMuxer
    functionSourceFile: /src/vlc/modules/mux/webvtt.c
    functionUses: 0
    functionsReached:
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int webvtt_OpenMuxer(vlc_object_t *this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/mux/webvtt.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: webvtt_CloseMuxer
    functionSourceFile: /src/vlc/modules/mux/webvtt.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void webvtt_CloseMuxer(vlc_object_t *this)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mux_extradata_builder_Delete
      Src: /src/vlc/modules/mux/mp4/mp4.c:183,1
    - Dst: block_Release
      Src: /src/vlc/modules/mux/mp4/mp4.c:188,1
    - Dst: free
      Src: /src/vlc/modules/mux/mp4/mp4.c:189,1
    - Dst: block_Release
      Src: /src/vlc/modules/mux/mp4/mp4.c:194,1
    - Dst: free
      Src: /src/vlc/modules/mux/mp4/mp4.c:195,1
    - Dst: block_Release
      Src: /src/vlc/modules/mux/mp4/mp4.c:201,1
    - Dst: free
      Src: /src/vlc/modules/mux/mp4/mp4.c:202,1
    - Dst: free
      Src: /src/vlc/modules/mux/mp4/mp4.c:205,1
    - Dst: free
      Src: /src/vlc/modules/mux/mp4/mp4.c:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - mp4_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 208
    functionName: mp4_stream_Delete
    functionSourceFile: /src/vlc/modules/mux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - free
    - block_Release
    - mux_extradata_builder_Delete
    linkageType: ''
    returnType: void
    signature: void mp4_stream_Delete(mp4_stream_t *p_stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/mux/mp4/mp4.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 220
    functionName: mp4_stream_New
    functionSourceFile: /src/vlc/modules/mux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: mp4_stream_t
    signature: mp4_stream_t *mp4_stream_New(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/mp4/mp4.c:230,1
    - Dst: mp4mux_track_GetFmt
      Src: /src/vlc/modules/mux/mp4/mp4.c:240,1
    - Dst: mp4mux_track_GetFmt
      Src: /src/vlc/modules/mux/mp4/mp4.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - a
    - b
    - priv
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 242
    functionName: stream_cmp
    functionSourceFile: /src/vlc/modules/mux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - mp4mux_track_GetFmt
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int stream_cmp(const void *a, const void *b, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_qsort
      Src: /src/vlc/modules/mux/mp4/mp4.c:247,1
    - Dst: mp4mux_track_ChangeID
      Src: /src/vlc/modules/mux/mp4/mp4.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pp_streams
    - i_streams
    argTypes:
    - mp4_stream_t**
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 250
    functionName: ReorderStreams
    functionSourceFile: /src/vlc/modules/mux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - mp4mux_track_ChangeID
    - vlc_qsort
    linkageType: ''
    returnType: void
    signature: void ReorderStreams(mp4_stream_t **pp_streams, unsigned int i_streams)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mp4mux_Is
      Src: /src/vlc/modules/mux/mp4/mp4.c:257,1
    - Dst: mp4mux_GetFtyp
      Src: /src/vlc/modules/mux/mp4/mp4.c:260,1
    - Dst: bo_size
      Src: /src/vlc/modules/mux/mp4/mp4.c:264,1
    - Dst: box_send
      Src: /src/vlc/modules/mux/mp4/mp4.c:266,1
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/mp4.c:270,1
    - Dst: bo_add_64be
      Src: /src/vlc/modules/mux/mp4/mp4.c:274,1
    - Dst: bo_size
      Src: /src/vlc/modules/mux/mp4/mp4.c:277,1
    - Dst: box_send
      Src: /src/vlc/modules/mux/mp4/mp4.c:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - p_mux
    argTypes:
    - sout_mux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 282
    functionName: WriteSlowStartHeader
    functionSourceFile: /src/vlc/modules/mux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - bo_add_64be
    - box_send
    - box_new
    - bo_size
    - mp4mux_GetFtyp
    - mp4mux_Is
    linkageType: ''
    returnType: int
    signature: int WriteSlowStartHeader(sout_mux_t *p_mux)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/mux/mp4/mp4.c:290,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mp4/mp4.c:294,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/mux/mp4/mp4.c:295,1
    - Dst: strcmp
      Src: /src/vlc/modules/mux/mp4/mp4.c:300,1
    - Dst: strcmp
      Src: /src/vlc/modules/mux/mp4/mp4.c:302,1
    - Dst: strcmp
      Src: /src/vlc/modules/mux/mp4/mp4.c:302,1
    - Dst: strcmp
      Src: /src/vlc/modules/mux/mp4/mp4.c:306,1
    - Dst: mp4mux_New
      Src: /src/vlc/modules/mux/mp4/mp4.c:308,1
    - Dst: mp4mux_SetBrand
      Src: /src/vlc/modules/mux/mp4/mp4.c:329,1
    - Dst: mp4mux_AddExtraBrand
      Src: /src/vlc/modules/mux/mp4/mp4.c:330,1
    - Dst: mp4mux_SetBrand
      Src: /src/vlc/modules/mux/mp4/mp4.c:334,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 338
    functionName: Open
    functionSourceFile: /src/vlc/modules/mux/mp4/mp4.c
    functionUses: 33
    functionsReached:
    - mp4mux_New
    - mp4mux_SetBrand
    - config_ChainParse
    - strcmp
    - msg_Dbg
    - mp4mux_AddExtraBrand
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *p_this)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mp4/mp4.c:348,1
    - Dst: ReorderStreams
      Src: /src/vlc/modules/mux/mp4/mp4.c:350,1
    - Dst: bo_init
      Src: /src/vlc/modules/mux/mp4/mp4.c:354,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/mp4.c:358,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/mux/mp4/mp4.c:359,1
    - Dst: bo_add_64be
      Src: /src/vlc/modules/mux/mp4/mp4.c:360,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/mp4.c:362,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/mux/mp4/mp4.c:363,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/mp4.c:364,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/mux/mp4/mp4.c:365,1
    - Dst: sout_AccessOutSeek
      Src: /src/vlc/modules/mux/mp4/mp4.c:368,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/mp4/mp4.c:369,1
    - Dst: mp4mux_Set64BitExt
      Src: /src/vlc/modules/mux/mp4/mp4.c:374,1
    - Dst: mp4mux_GetMoov
      Src: /src/vlc/modules/mux/mp4/mp4.c:377,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/mux/mp4/mp4.c:377,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/mux/mp4/mp4.c:380,1
    - Dst: bo_size
      Src: /src/vlc/modules/mux/mp4/mp4.c:388,1
    - Dst: mp4mux_Set64BitExt
      Src: /src/vlc/modules/mux/mp4/mp4.c:390,1
    - Dst: mp4mux_GetMoov
      Src: /src/vlc/modules/mux/mp4/mp4.c:393,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/mux/mp4/mp4.c:393,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/mp4.c:396,1
    - Dst: mp4mux_ShiftSamples
      Src: /src/vlc/modules/mux/mp4/mp4.c:403,1
    - Dst: bo_size
      Src: /src/vlc/modules/mux/mp4/mp4.c:403,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mp4/mp4.c:404,1
    - Dst: bo_size
      Src: /src/vlc/modules/mux/mp4/mp4.c:404,1
    - Dst: mp4mux_GetMoov
      Src: /src/vlc/modules/mux/mp4/mp4.c:405,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/mux/mp4/mp4.c:405,1
    - Dst: assert
      Src: /src/vlc/modules/mux/mp4/mp4.c:412,1
    - Dst: bo_size
      Src: /src/vlc/modules/mux/mp4/mp4.c:412,1
    - Dst: bo_size
      Src: /src/vlc/modules/mux/mp4/mp4.c:412,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/mp4.c:413,1
    - Dst: __MIN
      Src: /src/vlc/modules/mux/mp4/mp4.c:419,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/mux/mp4/mp4.c:420,1
    - Dst: sout_AccessOutSeek
      Src: /src/vlc/modules/mux/mp4/mp4.c:421,1
    - Dst: sout_AccessOutRead
      Src: /src/vlc/modules/mux/mp4/mp4.c:423,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/mux/mp4/mp4.c:425,1
    - Dst: block_Release
      Src: /src/vlc/modules/mux/mp4/mp4.c:428,1
    - Dst: sout_AccessOutSeek
      Src: /src/vlc/modules/mux/mp4/mp4.c:431,1
    - Dst: bo_size
      Src: /src/vlc/modules/mux/mp4/mp4.c:432,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/mp4/mp4.c:433,1
    - Dst: bo_size
      Src: /src/vlc/modules/mux/mp4/mp4.c:442,1
    - Dst: sout_AccessOutSeek
      Src: /src/vlc/modules/mux/mp4/mp4.c:448,1
    - Dst: box_send
      Src: /src/vlc/modules/mux/mp4/mp4.c:450,1
    - Dst: mp4_stream_Delete
      Src: /src/vlc/modules/mux/mp4/mp4.c:455,1
    - Dst: TAB_CLEAN
      Src: /src/vlc/modules/mux/mp4/mp4.c:456,1
    - Dst: mp4mux_Delete
      Src: /src/vlc/modules/mux/mp4/mp4.c:457,1
    - Dst: free
      Src: /src/vlc/modules/mux/mp4/mp4.c:458,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 67
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: (bo_size(shifted) == bo_size(moov))
      pos:
        line_end: 411
        line_start: 411
        source_file: /src/vlc/modules/mux/mp4/mp4.c
    constantsTouched: []
    func_position:
      end: 459
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 459
    functionName: Close
    functionSourceFile: /src/vlc/modules/mux/mp4/mp4.c
    functionUses: 107
    functionsReached:
    - box_send
    - assert
    - bo_free
    - bo_add_32be
    - block_Alloc
    - bo_add_fourcc
    - sout_AccessOutRead
    - mp4_stream_Delete
    - mp4mux_Set64BitExt
    - msg_Dbg
    - msg_Warn
    - TAB_CLEAN
    - sout_AccessOutWrite
    - __MIN
    - ReorderStreams
    - var_GetBool
    - bo_add_64be
    - bo_init
    - block_Release
    - free
    - bo_size
    - sout_AccessOutSeek
    - VLC_OBJECT
    - mp4mux_Delete
    - mp4mux_GetMoov
    - mp4mux_ShiftSamples
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *p_this)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/mp4/mp4.c:466,1
    - Dst: va_arg
      Src: /src/vlc/modules/mux/mp4/mp4.c:472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - p_mux
    - i_query
    - args
    argTypes:
    - sout_mux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 480
    functionName: Control
    functionSourceFile: /src/vlc/modules/mux/mp4/mp4.c
    functionUses: 57
    functionsReached:
    - va_arg
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int Control(sout_mux_t *p_mux, int i_query, va_list args)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mp4mux_CanMux
      Src: /src/vlc/modules/mux/mp4/mp4.c:490,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/mux/mp4/mp4.c:490,1
    - Dst: mp4mux_Is
      Src: /src/vlc/modules/mux/mp4/mp4.c:491,1
    - Dst: mp4mux_Is
      Src: /src/vlc/modules/mux/mp4/mp4.c:492,1
    - Dst: msg_Err
      Src: /src/vlc/modules/mux/mp4/mp4.c:494,1
    - Dst: mp4_stream_New
      Src: /src/vlc/modules/mux/mp4/mp4.c:499,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/mux/mp4/mp4.c:504,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/mux/mp4/mp4.c:505,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/mux/mp4/mp4.c:512,1
    - Dst: mp4mux_AddExtraBrand
      Src: /src/vlc/modules/mux/mp4/mp4.c:517,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/mux/mp4/mp4.c:524,1
    - Dst: mp4mux_track_Add
      Src: /src/vlc/modules/mux/mp4/mp4.c:542,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/mux/mp4/mp4.c:544,1
    - Dst: free
      Src: /src/vlc/modules/mux/mp4/mp4.c:547,1
    - Dst: mux_extradata_builder_New
      Src: /src/vlc/modules/mux/mp4/mp4.c:551,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/mux/mp4/mp4.c:551,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mp4/mp4.c:557,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/mux/mp4/mp4.c:559,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 2
    argNames:
    - p_mux
    - p_input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 561
    functionName: AddStream
    functionSourceFile: /src/vlc/modules/mux/mp4/mp4.c
    functionUses: 9
    functionsReached:
    - mux_extradata_builder_New
    - mp4_stream_New
    - mp4mux_AddExtraBrand
    - es_format_Clean
    - TAB_APPEND
    - msg_Err
    - mp4mux_track_Add
    - free
    - msg_Dbg
    - msg_Warn
    - VLC_OBJECT
    - mp4mux_CanMux
    - es_format_Copy
    - es_format_Init
    - mp4mux_Is
    linkageType: ''
    returnType: int
    signature: int AddStream(sout_mux_t *p_mux, sout_input_t *p_input)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mp4mux_Is
      Src: /src/vlc/modules/mux/mp4/mp4.c:571,1
    - Dst: vlc_fifo_Lock
      Src: /src/vlc/modules/mux/mp4/mp4.c:573,1
    - Dst: vlc_fifo_DequeueAllUnlocked
      Src: /src/vlc/modules/mux/mp4/mp4.c:574,1
    - Dst: vlc_fifo_Unlock
      Src: /src/vlc/modules/mux/mp4/mp4.c:575,1
    - Dst: MuxStream
      Src: /src/vlc/modules/mux/mp4/mp4.c:580,1
    - Dst: CreateCurrentEdit
      Src: /src/vlc/modules/mux/mp4/mp4.c:584,1
    - Dst: mp4mux_track_DebugEdits
      Src: /src/vlc/modules/mux/mp4/mp4.c:585,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/mux/mp4/mp4.c:585,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mp4/mp4.c:588,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - p_mux
    - p_input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 589
    functionName: DelStream
    functionSourceFile: /src/vlc/modules/mux/mp4/mp4.c
    functionUses: 1
    functionsReached:
    - vlc_fifo_Unlock
    - mp4mux_track_DebugEdits
    - CreateCurrentEdit
    - vlc_fifo_DequeueAllUnlocked
    - MuxStream
    - VLC_OBJECT
    - msg_Dbg
    - vlc_fifo_Lock
    - mp4mux_Is
    linkageType: ''
    returnType: void
    signature: void DelStream(sout_mux_t *p_mux, sout_input_t *p_input)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mp4mux_track_GetLastEdit
      Src: /src/vlc/modules/mux/mp4/mp4.c:597,1
    - Dst: mp4mux_track_GetLastSample
      Src: /src/vlc/modules/mux/mp4/mp4.c:603,1
    - Dst: __MAX
      Src: /src/vlc/modules/mux/mp4/mp4.c:612,1
    - Dst: __MAX
      Src: /src/vlc/modules/mux/mp4/mp4.c:616,1
    - Dst: mp4mux_track_AddEdit
      Src: /src/vlc/modules/mux/mp4/mp4.c:634,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - p_stream
    - i_mux_start_dts
    - b_fragmented
    argTypes:
    - mp4_stream_t*
    - vlc_tick_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 635
    functionName: CreateCurrentEdit
    functionSourceFile: /src/vlc/modules/mux/mp4/mp4.c
    functionUses: 1
    functionsReached:
    - mp4mux_track_GetLastSample
    - mp4mux_track_GetLastEdit
    - mp4mux_track_AddEdit
    - __MAX
    linkageType: ''
    returnType: bool
    signature: "bool CreateCurrentEdit(mp4_stream_t *p_stream, vlc_tick_t i_mux_start_dts,\n
      \                             bool b_fragmented)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/mux/mp4/mp4.c:639,1
    - Dst: mp4mux_track_HasSamplePriv
      Src: /src/vlc/modules/mux/mp4/mp4.c:643,1
    - Dst: mux_extradata_builder_Feed
      Src: /src/vlc/modules/mux/mp4/mp4.c:645,1
    - Dst: mux_extradata_builder_Get
      Src: /src/vlc/modules/mux/mp4/mp4.c:648,1
    - Dst: mp4mux_track_SetSamplePriv
      Src: /src/vlc/modules/mux/mp4/mp4.c:651,1
    - Dst: block_Release
      Src: /src/vlc/modules/mux/mp4/mp4.c:654,1
    - Dst: mp4mux_track_GetFmt
      Src: /src/vlc/modules/mux/mp4/mp4.c:660,1
    - Dst: AV1_Pack_Sample
      Src: /src/vlc/modules/mux/mp4/mp4.c:663,1
    - Dst: hxxx_AnnexB_to_xVC
      Src: /src/vlc/modules/mux/mp4/mp4.c:668,1
    - Dst: ConvertSUBT
      Src: /src/vlc/modules/mux/mp4/mp4.c:671,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - p_stream
    - out
    argTypes:
    - mp4_stream_t*
    - block_t**
    assertStmts:
    - condition: (out)
      pos:
        line_end: 638
        line_start: 638
        source_file: /src/vlc/modules/mux/mp4/mp4.c
    constantsTouched: []
    func_position:
      end: 679
      start: 637
    functionDepth: 4
    functionLinenumber: 637
    functionLinenumberEnd: 679
    functionName: BlockConvert
    functionSourceFile: /src/vlc/modules/mux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - mux_extradata_builder_Feed
    - block_Release
    - assert
    - hxxx_AnnexB_to_xVC
    - mux_extradata_builder_Get
    - AV1_Pack_Sample
    - mp4mux_track_SetSamplePriv
    - ConvertSUBT
    - mp4mux_track_GetFmt
    - mp4mux_track_HasSamplePriv
    linkageType: ''
    returnType: int
    signature: int BlockConvert(mp4_stream_t *p_stream, block_t **out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_data
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 684
    functionName: dts_fb_pts
    functionSourceFile: /src/vlc/modules/mux/mp4/mp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t dts_fb_pts( const block_t *p_data )
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: mp4mux_track_GetLastSample
      Src: /src/vlc/modules/mux/mp4/mp4.c:695,1
    - Dst: CreateCurrentEdit
      Src: /src/vlc/modules/mux/mp4/mp4.c:699,1
    - Dst: mp4mux_Is
      Src: /src/vlc/modules/mux/mp4/mp4.c:700,1
    - Dst: block_Release
      Src: /src/vlc/modules/mux/mp4/mp4.c:702,1
    - Dst: dts_fb_pts
      Src: /src/vlc/modules/mux/mp4/mp4.c:716,1
    - Dst: mp4mux_track_GetFmt
      Src: /src/vlc/modules/mux/mp4/mp4.c:721,1
    - Dst: block_FifoCount
      Src: /src/vlc/modules/mux/mp4/mp4.c:724,1
    - Dst: block_FifoShow
      Src: /src/vlc/modules/mux/mp4/mp4.c:726,1
    - Dst: mp4mux_track_GetFmt
      Src: /src/vlc/modules/mux/mp4/mp4.c:729,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/mux/mp4/mp4.c:731,1
    - Dst: mp4mux_track_GetFmt
      Src: /src/vlc/modules/mux/mp4/mp4.c:732,1
    - Dst: mp4mux_track_GetFmt
      Src: /src/vlc/modules/mux/mp4/mp4.c:733,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mp4/mp4.c:736,1
    - Dst: mp4mux_track_GetID
      Src: /src/vlc/modules/mux/mp4/mp4.c:737,1
    - Dst: mp4mux_track_GetSampleCount
      Src: /src/vlc/modules/mux/mp4/mp4.c:738,1
    - Dst: mp4mux_track_GetFmt
      Src: /src/vlc/modules/mux/mp4/mp4.c:740,1
    - Dst: mp4mux_track_GetFmt
      Src: /src/vlc/modules/mux/mp4/mp4.c:741,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/mux/mp4/mp4.c:744,1
    - Dst: mp4mux_track_GetFmt
      Src: /src/vlc/modules/mux/mp4/mp4.c:745,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mp4/mp4.c:746,1
    - Dst: mp4mux_track_GetID
      Src: /src/vlc/modules/mux/mp4/mp4.c:747,1
    - Dst: mp4mux_track_GetSampleCount
      Src: /src/vlc/modules/mux/mp4/mp4.c:748,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/mux/mp4/mp4.c:752,1
    - Dst: mp4mux_track_GetID
      Src: /src/vlc/modules/mux/mp4/mp4.c:753,1
    - Dst: mp4mux_track_GetSampleCount
      Src: /src/vlc/modules/mux/mp4/mp4.c:754,1
    - Dst: dts_fb_pts
      Src: /src/vlc/modules/mux/mp4/mp4.c:760,1
    - Dst: dts_fb_pts
      Src: /src/vlc/modules/mux/mp4/mp4.c:760,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/mux/mp4/mp4.c:761,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/mux/mp4/mp4.c:766,1
    - Dst: __MIN
      Src: /src/vlc/modules/mux/mp4/mp4.c:770,1
    - Dst: mp4mux_track_GetLastSample
      Src: /src/vlc/modules/mux/mp4/mp4.c:778,1
    - Dst: dts_fb_pts
      Src: /src/vlc/modules/mux/mp4/mp4.c:783,1
    - Dst: mp4mux_track_UpdateLastSample
      Src: /src/vlc/modules/mux/mp4/mp4.c:788,1
    - Dst: mp4mux_track_GetFmt
      Src: /src/vlc/modules/mux/mp4/mp4.c:793,1
    - Dst: mp4mux_track_GetInterlacing
      Src: /src/vlc/modules/mux/mp4/mp4.c:795,1
    - Dst: mp4mux_track_SetInterlacing
      Src: /src/vlc/modules/mux/mp4/mp4.c:798,1
    - Dst: mp4mux_track_SetInterlacing
      Src: /src/vlc/modules/mux/mp4/mp4.c:800,1
    - Dst: mp4mux_track_SetInterlacing
      Src: /src/vlc/modules/mux/mp4/mp4.c:802,1
    - Dst: dts_fb_pts
      Src: /src/vlc/modules/mux/mp4/mp4.c:806,1
    - Dst: dts_fb_pts
      Src: /src/vlc/modules/mux/mp4/mp4.c:824,1
    - Dst: mp4mux_track_AddSample
      Src: /src/vlc/modules/mux/mp4/mp4.c:827,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/mp4/mp4.c:830,1
    - Dst: mp4mux_track_GetFmt
      Src: /src/vlc/modules/mux/mp4/mp4.c:834,1
    - Dst: mp4mux_track_GetFmt
      Src: /src/vlc/modules/mux/mp4/mp4.c:837,1
    - Dst: mp4mux_track_GetFmt
      Src: /src/vlc/modules/mux/mp4/mp4.c:838,1
    - Dst: mp4mux_track_GetFmt
      Src: /src/vlc/modules/mux/mp4/mp4.c:839,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/mux/mp4/mp4.c:841,1
    - Dst: mp4mux_track_GetFmt
      Src: /src/vlc/modules/mux/mp4/mp4.c:850,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/mux/mp4/mp4.c:853,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mp4/mp4.c:855,1
    - Dst: mp4mux_track_GetFmt
      Src: /src/vlc/modules/mux/mp4/mp4.c:857,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/mux/mp4/mp4.c:859,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mp4/mp4.c:861,1
    - Dst: mp4mux_track_AddSample
      Src: /src/vlc/modules/mux/mp4/mp4.c:878,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/mp4/mp4.c:881,1
    - Dst: mp4mux_track_GetDuration
      Src: /src/vlc/modules/mux/mp4/mp4.c:887,1
    - Dst: mp4mux_track_GetDuration
      Src: /src/vlc/modules/mux/mp4/mp4.c:888,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 116
    argCount: 4
    argNames:
    - p_mux
    - p_input
    - p_stream
    - p_data
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    - mp4_stream_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 686
    functionDepth: 2
    functionLinenumber: 686
    functionLinenumberEnd: 891
    functionName: MuxStream
    functionSourceFile: /src/vlc/modules/mux/mp4/mp4.c
    functionUses: 1
    functionsReached:
    - block_FifoCount
    - memcpy
    - block_Alloc
    - mp4mux_track_GetInterlacing
    - mp4mux_track_AddSample
    - mp4mux_track_GetLastSample
    - block_FifoShow
    - vlc_tick_from_samples
    - msg_Dbg
    - msg_Warn
    - mp4mux_track_UpdateLastSample
    - VLC_TICK_FROM_SEC
    - sout_AccessOutWrite
    - __MIN
    - mp4mux_track_GetFmt
    - mp4mux_Is
    - dts_fb_pts
    - block_Release
    - CreateCurrentEdit
    - mp4mux_track_GetID
    - mp4mux_track_GetSampleCount
    - mp4mux_track_GetDuration
    - mp4mux_track_SetInterlacing
    linkageType: ''
    returnType: int
    signature: int MuxStream(sout_mux_t *p_mux, sout_input_t *p_input, mp4_stream_t
      *p_stream, block_t *p_data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: WriteSlowStartHeader
      Src: /src/vlc/modules/mux/mp4/mp4.c:900,1
    - Dst: sout_MuxGetStream
      Src: /src/vlc/modules/mux/mp4/mp4.c:908,1
    - Dst: vlc_fifo_Lock
      Src: /src/vlc/modules/mux/mp4/mp4.c:915,1
    - Dst: vlc_fifo_DequeueUnlocked
      Src: /src/vlc/modules/mux/mp4/mp4.c:916,1
    - Dst: vlc_fifo_Unlock
      Src: /src/vlc/modules/mux/mp4/mp4.c:917,1
    - Dst: unlikely
      Src: /src/vlc/modules/mux/mp4/mp4.c:918,1
    - Dst: BlockConvert
      Src: /src/vlc/modules/mux/mp4/mp4.c:921,1
    - Dst: unlikely
      Src: /src/vlc/modules/mux/mp4/mp4.c:925,1
    - Dst: MuxStream
      Src: /src/vlc/modules/mux/mp4/mp4.c:928,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - p_mux
    argTypes:
    - sout_mux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 893
    functionDepth: 5
    functionLinenumber: 893
    functionLinenumberEnd: 932
    functionName: Mux
    functionSourceFile: /src/vlc/modules/mux/mp4/mp4.c
    functionUses: 2
    functionsReached:
    - vlc_fifo_DequeueUnlocked
    - vlc_fifo_Unlock
    - WriteSlowStartHeader
    - BlockConvert
    - MuxStream
    - vlc_fifo_Lock
    - sout_MuxGetStream
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Mux(sout_mux_t *p_mux)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: block_Realloc
      Src: /src/vlc/modules/mux/mp4/mp4.c:939,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - p_block
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 950
    functionName: ConvertSUBT
    functionSourceFile: /src/vlc/modules/mux/mp4/mp4.c
    functionUses: 1
    functionsReached:
    - block_Realloc
    linkageType: ''
    returnType: block_t
    signature: block_t *ConvertSUBT(block_t *p_block)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/mux/mp4/mp4.c:954,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/mp4/mp4.c:956,1
    - Dst: free
      Src: /src/vlc/modules/mux/mp4/mp4.c:957,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_mux
    - box
    argTypes:
    - sout_mux_t*
    - bo_t*
    assertStmts:
    - condition: (box != NULL)
      pos:
        line_end: 953
        line_start: 953
        source_file: /src/vlc/modules/mux/mp4/mp4.c
    constantsTouched: []
    func_position:
      end: 958
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 958
    functionName: box_send
    functionSourceFile: /src/vlc/modules/mux/mp4/mp4.c
    functionUses: 2
    functionsReached:
    - free
    - assert
    - sout_AccessOutWrite
    linkageType: ''
    returnType: void
    signature: void box_send(sout_mux_t *p_mux,  bo_t *box)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - object
    - ','
    - entry
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 973
    functionName: ENQUEUE_ENTRY
    functionSourceFile: /src/vlc/modules/mux/mp4/mp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENQUEUE_ENTRY(object, entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - object
    - ','
    - entry
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 982
    functionName: DEQUEUE_ENTRY
    functionSourceFile: /src/vlc/modules/mux/mp4/mp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEQUEUE_ENTRY(object, entry)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xrealloc
      Src: /src/vlc/modules/mux/mp4/mp4.c:993,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/mux/mp4/mp4.c:1005,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - p_stream
    - i_moof_pos
    - i_traf
    - i_sample
    - i_time
    argTypes:
    - mp4_stream_t*
    - uint64_t
    - uint8_t
    - uint32_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 984
    functionDepth: 1
    functionLinenumber: 984
    functionLinenumberEnd: 1015
    functionName: AddKeyframeEntry
    functionSourceFile: /src/vlc/modules/mux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - VLC_TICK_FROM_SEC
    - xrealloc
    linkageType: ''
    returnType: void
    signature: "void AddKeyframeEntry(mp4_stream_t *p_stream, const uint64_t i_moof_pos,\n
      \                            const uint8_t i_traf, const uint32_t i_sample,\n
      \                            const vlc_tick_t i_time)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/mp4.c:1032,1
    - Dst: box_full_new
      Src: /src/vlc/modules/mux/mp4/mp4.c:1038,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/mp4.c:1041,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/mp4.c:1044,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/mp4.c:1046,1
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/mp4.c:1053,1
    - Dst: mp4mux_track_GetDefaultSampleDuration
      Src: /src/vlc/modules/mux/mp4/mp4.c:1078,1
    - Dst: mp4mux_track_GetDefaultSampleSize
      Src: /src/vlc/modules/mux/mp4/mp4.c:1085,1
    - Dst: box_full_new
      Src: /src/vlc/modules/mux/mp4/mp4.c:1096,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/mp4.c:1099,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/mp4.c:1102,1
    - Dst: mp4mux_track_GetID
      Src: /src/vlc/modules/mux/mp4/mp4.c:1102,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/mp4.c:1106,1
    - Dst: samples_from_vlc_tick
      Src: /src/vlc/modules/mux/mp4/mp4.c:1106,1
    - Dst: mp4mux_track_GetTimescale
      Src: /src/vlc/modules/mux/mp4/mp4.c:1107,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/mp4.c:1111,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/mp4.c:1113,1
    - Dst: box_full_new
      Src: /src/vlc/modules/mux/mp4/mp4.c:1116,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/mp4.c:1119,1
    - Dst: bo_add_64be
      Src: /src/vlc/modules/mux/mp4/mp4.c:1122,1
    - Dst: samples_from_vlc_tick
      Src: /src/vlc/modules/mux/mp4/mp4.c:1122,1
    - Dst: mp4mux_track_GetTimescale
      Src: /src/vlc/modules/mux/mp4/mp4.c:1123,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/mp4.c:1124,1
    - Dst: mp4mux_track_GetDefaultSampleDuration
      Src: /src/vlc/modules/mux/mp4/mp4.c:1136,1
    - Dst: mp4mux_track_GetDefaultSampleSize
      Src: /src/vlc/modules/mux/mp4/mp4.c:1141,1
    - Dst: mp4mux_track_HasBFrames
      Src: /src/vlc/modules/mux/mp4/mp4.c:1144,1
    - Dst: box_full_new
      Src: /src/vlc/modules/mux/mp4/mp4.c:1150,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/mp4.c:1153,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/mp4.c:1169,1
    - Dst: bo_size
      Src: /src/vlc/modules/mux/mp4/mp4.c:1173,1
    - Dst: bo_size
      Src: /src/vlc/modules/mux/mp4/mp4.c:1173,1
    - Dst: bo_size
      Src: /src/vlc/modules/mux/mp4/mp4.c:1173,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/mp4.c:1174,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/mp4.c:1178,1
    - Dst: DEQUEUE_ENTRY
      Src: /src/vlc/modules/mux/mp4/mp4.c:1182,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/mp4.c:1185,1
    - Dst: samples_from_vlc_tick
      Src: /src/vlc/modules/mux/mp4/mp4.c:1185,1
    - Dst: mp4mux_track_GetTimescale
      Src: /src/vlc/modules/mux/mp4/mp4.c:1186,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/mp4.c:1189,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/mp4.c:1199,1
    - Dst: samples_from_vlc_tick
      Src: /src/vlc/modules/mux/mp4/mp4.c:1199,1
    - Dst: mp4mux_track_GetTimescale
      Src: /src/vlc/modules/mux/mp4/mp4.c:1199,1
    - Dst: ENQUEUE_ENTRY
      Src: /src/vlc/modules/mux/mp4/mp4.c:1204,1
    - Dst: mp4mux_track_GetFmt
      Src: /src/vlc/modules/mux/mp4/mp4.c:1210,1
    - Dst: mp4mux_track_GetFmt
      Src: /src/vlc/modules/mux/mp4/mp4.c:1211,1
    - Dst: AddKeyframeEntry
      Src: /src/vlc/modules/mux/mp4/mp4.c:1213,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/mp4.c:1219,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/mp4.c:1222,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/mp4.c:1227,1
    - Dst: box_fix
      Src: /src/vlc/modules/mux/mp4/mp4.c:1231,1
    - Dst: bo_size
      Src: /src/vlc/modules/mux/mp4/mp4.c:1231,1
    - Dst: bo_set_32be
      Src: /src/vlc/modules/mux/mp4/mp4.c:1237,1
    - Dst: bo_size
      Src: /src/vlc/modules/mux/mp4/mp4.c:1237,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 110
    argCount: 4
    argNames:
    - p_mux
    - pi_mdat_total_size
    - i_barrier_time
    - i_write_pos
    argTypes:
    - sout_mux_t*
    - size_t*
    - vlc_tick_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1022
    functionDepth: 2
    functionLinenumber: 1022
    functionLinenumberEnd: 1244
    functionName: GetMoofBox
    functionSourceFile: /src/vlc/modules/mux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - box_fix
    - mp4mux_track_HasBFrames
    - DEQUEUE_ENTRY
    - bo_free
    - bo_add_32be
    - box_new
    - AddKeyframeEntry
    - bo_set_32be
    - mp4mux_track_GetDefaultSampleDuration
    - mp4mux_track_GetDefaultSampleSize
    - mp4mux_track_GetTimescale
    - samples_from_vlc_tick
    - box_full_new
    - mp4mux_track_GetFmt
    - bo_add_64be
    - ENQUEUE_ENTRY
    - box_gather
    - mp4mux_track_GetID
    - bo_size
    linkageType: ''
    returnType: bo_t
    signature: "bo_t *GetMoofBox(sout_mux_t *p_mux, size_t *pi_mdat_total_size,\n
      \                       vlc_tick_t i_barrier_time, const uint64_t i_write_pos)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/mp4.c:1251,1
    - Dst: assert
      Src: /src/vlc/modules/mux/mp4/mp4.c:1255,1
    - Dst: bo_size
      Src: /src/vlc/modules/mux/mp4/mp4.c:1255,1
    - Dst: box_fix
      Src: /src/vlc/modules/mux/mp4/mp4.c:1256,1
    - Dst: bo_size
      Src: /src/vlc/modules/mux/mp4/mp4.c:1256,1
    - Dst: bo_size
      Src: /src/vlc/modules/mux/mp4/mp4.c:1257,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/mp4/mp4.c:1259,1
    - Dst: free
      Src: /src/vlc/modules/mux/mp4/mp4.c:1260,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/mp4/mp4.c:1273,1
    - Dst: free
      Src: /src/vlc/modules/mux/mp4/mp4.c:1276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - p_mux
    - i_total_size
    argTypes:
    - sout_mux_t*
    - size_t
    assertStmts:
    - condition: (bo_size(mdat)==8)
      pos:
        line_end: 1254
        line_start: 1254
        source_file: /src/vlc/modules/mux/mp4/mp4.c
    constantsTouched: []
    func_position:
      end: 1281
      start: 1246
    functionDepth: 1
    functionLinenumber: 1246
    functionLinenumberEnd: 1281
    functionName: WriteFragmentMDAT
    functionSourceFile: /src/vlc/modules/mux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - box_fix
    - assert
    - sout_AccessOutWrite
    - box_new
    - free
    - bo_size
    linkageType: ''
    returnType: void
    signature: void WriteFragmentMDAT(sout_mux_t *p_mux, size_t i_total_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: box_full_new
      Src: /src/vlc/modules/mux/mp4/mp4.c:1292,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/mp4.c:1294,1
    - Dst: mp4mux_track_GetID
      Src: /src/vlc/modules/mux/mp4/mp4.c:1294,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/mp4.c:1295,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/mp4.c:1296,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/mp4.c:1300,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/mp4.c:1301,1
    - Dst: assert
      Src: /src/vlc/modules/mux/mp4/mp4.c:1302,1
    - Dst: assert
      Src: /src/vlc/modules/mux/mp4/mp4.c:1303,1
    - Dst: assert
      Src: /src/vlc/modules/mux/mp4/mp4.c:1304,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/mp4.c:1305,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/mp4.c:1306,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/mp4.c:1307,1
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/mp4.c:1310,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/mp4.c:1312,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/mp4.c:1316,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - p_mux
    argTypes:
    - sout_mux_t*
    assertStmts:
    - condition: (sizeof(p_indexentry->i_traf)==1)
      pos:
        line_end: 1301
        line_start: 1301
        source_file: /src/vlc/modules/mux/mp4/mp4.c
    - condition: (sizeof(p_indexentry->i_trun)==1)
      pos:
        line_end: 1302
        line_start: 1302
        source_file: /src/vlc/modules/mux/mp4/mp4.c
    - condition: (sizeof(p_indexentry->i_sample)==4)
      pos:
        line_end: 1303
        line_start: 1303
        source_file: /src/vlc/modules/mux/mp4/mp4.c
    constantsTouched: []
    func_position:
      end: 1320
      start: 1283
    functionDepth: 1
    functionLinenumber: 1283
    functionLinenumberEnd: 1320
    functionName: GetMfraBox
    functionSourceFile: /src/vlc/modules/mux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - assert
    - bo_free
    - bo_add_32be
    - box_full_new
    - box_gather
    - mp4mux_track_GetID
    - box_new
    - bo_add_8
    linkageType: ''
    returnType: bo_t
    signature: bo_t *GetMfraBox(sout_mux_t *p_mux)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mp4mux_Set64BitExt
      Src: /src/vlc/modules/mux/mp4/mp4.c:1327,1
    - Dst: mp4mux_GetFtyp
      Src: /src/vlc/modules/mux/mp4/mp4.c:1330,1
    - Dst: mp4mux_GetMoov
      Src: /src/vlc/modules/mux/mp4/mp4.c:1334,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/mux/mp4/mp4.c:1334,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/mp4.c:1337,1
    - Dst: bo_size
      Src: /src/vlc/modules/mux/mp4/mp4.c:1341,1
    - Dst: box_send
      Src: /src/vlc/modules/mux/mp4/mp4.c:1342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - p_mux
    argTypes:
    - sout_mux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1322
    functionDepth: 2
    functionLinenumber: 1322
    functionLinenumberEnd: 1344
    functionName: FlushHeader
    functionSourceFile: /src/vlc/modules/mux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - box_send
    - mp4mux_Set64BitExt
    - box_gather
    - bo_size
    - VLC_OBJECT
    - mp4mux_GetMoov
    - mp4mux_GetFtyp
    linkageType: ''
    returnType: void
    signature: void FlushHeader(sout_mux_t *p_mux)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CreateCurrentEdit
      Src: /src/vlc/modules/mux/mp4/mp4.c:1360,1
    - Dst: mp4mux_track_DebugEdits
      Src: /src/vlc/modules/mux/mp4/mp4.c:1361,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/mux/mp4/mp4.c:1361,1
    - Dst: mp4mux_track_GetFmt
      Src: /src/vlc/modules/mux/mp4/mp4.c:1370,1
    - Dst: __MIN
      Src: /src/vlc/modules/mux/mp4/mp4.c:1382,1
    - Dst: ReorderStreams
      Src: /src/vlc/modules/mux/mp4/mp4.c:1389,1
    - Dst: FlushHeader
      Src: /src/vlc/modules/mux/mp4/mp4.c:1390,1
    - Dst: GetMoofBox
      Src: /src/vlc/modules/mux/mp4/mp4.c:1394,1
    - Dst: block_Release
      Src: /src/vlc/modules/mux/mp4/mp4.c:1398,1
    - Dst: FREENULL
      Src: /src/vlc/modules/mux/mp4/mp4.c:1399,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mp4/mp4.c:1408,1
    - Dst: bo_size
      Src: /src/vlc/modules/mux/mp4/mp4.c:1409,1
    - Dst: assert
      Src: /src/vlc/modules/mux/mp4/mp4.c:1410,1
    - Dst: box_send
      Src: /src/vlc/modules/mux/mp4/mp4.c:1411,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mp4/mp4.c:1412,1
    - Dst: WriteFragmentMDAT
      Src: /src/vlc/modules/mux/mp4/mp4.c:1413,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 2
    argNames:
    - p_mux
    - b_flush
    argTypes:
    - sout_mux_t*
    - bool
    assertStmts:
    - condition: (moof->b->i_flags & BLOCK_FLAG_TYPE_I)
      pos:
        line_end: 1409
        line_start: 1409
        source_file: /src/vlc/modules/mux/mp4/mp4.c
    constantsTouched: []
    func_position:
      end: 1422
      start: 1346
    functionDepth: 3
    functionLinenumber: 1346
    functionLinenumberEnd: 1422
    functionName: WriteFragments
    functionSourceFile: /src/vlc/modules/mux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - FlushHeader
    - block_Release
    - assert
    - box_send
    - GetMoofBox
    - mp4mux_track_DebugEdits
    - CreateCurrentEdit
    - WriteFragmentMDAT
    - bo_size
    - __MIN
    - FREENULL
    - VLC_OBJECT
    - msg_Dbg
    - ReorderStreams
    - mp4mux_track_GetFmt
    linkageType: ''
    returnType: void
    signature: void WriteFragments(sout_mux_t *p_mux, bool b_flush)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mp4mux_track_GetFmt
      Src: /src/vlc/modules/mux/mp4/mp4.c:1428,1
    - Dst: mp4mux_track_GetFmt
      Src: /src/vlc/modules/mux/mp4/mp4.c:1429,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/mux/mp4/mp4.c:1431,1
    - Dst: mp4mux_track_GetFmt
      Src: /src/vlc/modules/mux/mp4/mp4.c:1432,1
    - Dst: mp4mux_track_GetFmt
      Src: /src/vlc/modules/mux/mp4/mp4.c:1433,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mp4/mp4.c:1434,1
    - Dst: mp4mux_track_GetID
      Src: /src/vlc/modules/mux/mp4/mp4.c:1435,1
    - Dst: mp4mux_track_GetSampleCount
      Src: /src/vlc/modules/mux/mp4/mp4.c:1436,1
    - Dst: mp4mux_track_GetFmt
      Src: /src/vlc/modules/mux/mp4/mp4.c:1438,1
    - Dst: mp4mux_track_GetFmt
      Src: /src/vlc/modules/mux/mp4/mp4.c:1439,1
    - Dst: mp4mux_track_GetFmt
      Src: /src/vlc/modules/mux/mp4/mp4.c:1440,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/mux/mp4/mp4.c:1442,1
    - Dst: mp4mux_track_GetFmt
      Src: /src/vlc/modules/mux/mp4/mp4.c:1443,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mp4/mp4.c:1444,1
    - Dst: mp4mux_track_GetID
      Src: /src/vlc/modules/mux/mp4/mp4.c:1445,1
    - Dst: mp4mux_track_GetSampleCount
      Src: /src/vlc/modules/mux/mp4/mp4.c:1446,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/mux/mp4/mp4.c:1450,1
    - Dst: mp4mux_track_GetID
      Src: /src/vlc/modules/mux/mp4/mp4.c:1451,1
    - Dst: mp4mux_track_GetSampleCount
      Src: /src/vlc/modules/mux/mp4/mp4.c:1452,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - p_mux
    - p_stream
    - p_entrydata
    argTypes:
    - sout_mux_t*
    - mp4_stream_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1426
    functionDepth: 1
    functionLinenumber: 1426
    functionLinenumberEnd: 1455
    functionName: LengthLocalFixup
    functionSourceFile: /src/vlc/modules/mux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - mp4mux_track_GetID
    - mp4mux_track_GetSampleCount
    - vlc_tick_from_samples
    - msg_Dbg
    - msg_Warn
    - mp4mux_track_GetFmt
    linkageType: ''
    returnType: void
    signature: void LengthLocalFixup(sout_mux_t *p_mux, const mp4_stream_t *p_stream,
      block_t *p_entrydata)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LengthLocalFixup
      Src: /src/vlc/modules/mux/mp4/mp4.c:1469,1
    - Dst: ENQUEUE_ENTRY
      Src: /src/vlc/modules/mux/mp4/mp4.c:1470,1
    - Dst: WriteFragments
      Src: /src/vlc/modules/mux/mp4/mp4.c:1476,1
    - Dst: strcmp
      Src: /src/vlc/modules/mux/mp4/mp4.c:1480,1
    - Dst: GetMfraBox
      Src: /src/vlc/modules/mux/mp4/mp4.c:1482,1
    - Dst: box_full_new
      Src: /src/vlc/modules/mux/mp4/mp4.c:1485,1
    - Dst: box_fix
      Src: /src/vlc/modules/mux/mp4/mp4.c:1490,1
    - Dst: bo_size
      Src: /src/vlc/modules/mux/mp4/mp4.c:1490,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/mp4.c:1491,1
    - Dst: bo_size
      Src: /src/vlc/modules/mux/mp4/mp4.c:1491,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/mp4.c:1493,1
    - Dst: box_send
      Src: /src/vlc/modules/mux/mp4/mp4.c:1495,1
    - Dst: mp4_stream_Delete
      Src: /src/vlc/modules/mux/mp4/mp4.c:1500,1
    - Dst: TAB_CLEAN
      Src: /src/vlc/modules/mux/mp4/mp4.c:1501,1
    - Dst: mp4mux_Delete
      Src: /src/vlc/modules/mux/mp4/mp4.c:1502,1
    - Dst: free
      Src: /src/vlc/modules/mux/mp4/mp4.c:1503,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1457
    functionDepth: 4
    functionLinenumber: 1457
    functionLinenumberEnd: 1504
    functionName: CloseFrag
    functionSourceFile: /src/vlc/modules/mux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - box_fix
    - box_send
    - ENQUEUE_ENTRY
    - mp4_stream_Delete
    - box_gather
    - bo_add_32be
    - LengthLocalFixup
    - box_full_new
    - TAB_CLEAN
    - free
    - strcmp
    - bo_size
    - WriteFragments
    - mp4mux_Delete
    - GetMfraBox
    linkageType: ''
    returnType: void
    signature: void CloseFrag(vlc_object_t *p_this)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: sout_MuxGetStream
      Src: /src/vlc/modules/mux/mp4/mp4.c:1510,1
    - Dst: block_FifoGet
      Src: /src/vlc/modules/mux/mp4/mp4.c:1517,1
    - Dst: unlikely
      Src: /src/vlc/modules/mux/mp4/mp4.c:1518,1
    - Dst: BlockConvert
      Src: /src/vlc/modules/mux/mp4/mp4.c:1521,1
    - Dst: LengthLocalFixup
      Src: /src/vlc/modules/mux/mp4/mp4.c:1550,1
    - Dst: ENQUEUE_ENTRY
      Src: /src/vlc/modules/mux/mp4/mp4.c:1554,1
    - Dst: mp4mux_track_GetDuration
      Src: /src/vlc/modules/mux/mp4/mp4.c:1558,1
    - Dst: mp4mux_track_GetDuration
      Src: /src/vlc/modules/mux/mp4/mp4.c:1562,1
    - Dst: mp4mux_track_ForceDuration
      Src: /src/vlc/modules/mux/mp4/mp4.c:1566,1
    - Dst: mp4mux_track_GetDuration
      Src: /src/vlc/modules/mux/mp4/mp4.c:1567,1
    - Dst: __MAX
      Src: /src/vlc/modules/mux/mp4/mp4.c:1568,1
    - Dst: malloc
      Src: /src/vlc/modules/mux/mp4/mp4.c:1573,1
    - Dst: unlikely
      Src: /src/vlc/modules/mux/mp4/mp4.c:1574,1
    - Dst: mp4mux_track_GetFmt
      Src: /src/vlc/modules/mux/mp4/mp4.c:1581,1
    - Dst: mp4mux_track_HasBFrames
      Src: /src/vlc/modules/mux/mp4/mp4.c:1586,1
    - Dst: mp4mux_track_SetHasBFrames
      Src: /src/vlc/modules/mux/mp4/mp4.c:1589,1
    - Dst: mp4mux_track_GetDuration
      Src: /src/vlc/modules/mux/mp4/mp4.c:1593,1
    - Dst: mp4mux_track_GetFmt
      Src: /src/vlc/modules/mux/mp4/mp4.c:1598,1
    - Dst: mp4mux_track_GetFmt
      Src: /src/vlc/modules/mux/mp4/mp4.c:1599,1
    - Dst: mp4mux_track_GetDuration
      Src: /src/vlc/modules/mux/mp4/mp4.c:1601,1
    - Dst: mp4mux_track_GetDuration
      Src: /src/vlc/modules/mux/mp4/mp4.c:1602,1
    - Dst: WriteFragments
      Src: /src/vlc/modules/mux/mp4/mp4.c:1612,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 53
    argCount: 1
    argNames:
    - p_mux
    argTypes:
    - sout_mux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1615
      start: 1506
    functionDepth: 5
    functionLinenumber: 1506
    functionLinenumberEnd: 1615
    functionName: MuxFrag
    functionSourceFile: /src/vlc/modules/mux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - ENQUEUE_ENTRY
    - mp4mux_track_HasBFrames
    - LengthLocalFixup
    - block_FifoGet
    - __MAX
    - mp4mux_track_GetFmt
    - BlockConvert
    - mp4mux_track_GetDuration
    - mp4mux_track_SetHasBFrames
    - WriteFragments
    - sout_MuxGetStream
    - unlikely
    - malloc
    - mp4mux_track_ForceDuration
    linkageType: ''
    returnType: int
    signature: int MuxFrag(sout_mux_t *p_mux)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mp4mux_AddExtraBrand
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:95,1
    - Dst: mp4mux_AddExtraBrand
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:98,1
    - Dst: mp4mux_AddExtraBrand
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:101,1
    - Dst: mp4mux_AddExtraBrand
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:102,1
    - Dst: mp4mux_AddExtraBrand
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:112,1
    - Dst: mp4mux_AddExtraBrand
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:115,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:116,1
    - Dst: mp4mux_AddExtraBrand
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:117,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - h
    - fmt
    argTypes:
    - mp4mux_handle_t*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 122
    functionName: mp4mux_AddExtraBrandForFormat
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 0
    functionsReached:
    - vlc_array_count
    - mp4mux_AddExtraBrand
    linkageType: ''
    returnType: void
    signature: void mp4mux_AddExtraBrandForFormat(mp4mux_handle_t *h, const es_format_t
      *fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:127,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - p_stream
    - i_id
    - i_timescale
    argTypes:
    - mp4mux_trackinfo_t*
    - unsigned
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: mp4mux_trackinfo_Init
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 0
    functionsReached:
    - es_format_Init
    - memset
    linkageType: ''
    returnType: bool
    signature: "bool mp4mux_trackinfo_Init(mp4mux_trackinfo_t *p_stream, unsigned
      i_id,\n                                  uint32_t i_timescale)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Clean
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:138,1
    - Dst: mp4mux_track_SetSamplePriv
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:139,1
    - Dst: assert
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:140,1
    - Dst: free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:142,1
    - Dst: free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - mp4mux_trackinfo_t*
    assertStmts:
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/vlc/modules/mux/mp4/libmp4mux.c
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: mp4mux_trackinfo_Clear
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 0
    functionsReached:
    - free
    - mp4mux_track_SetSamplePriv
    - assert
    - es_format_Clean
    linkageType: ''
    returnType: void
    signature: void mp4mux_trackinfo_Clear(mp4mux_trackinfo_t *p_stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:149,1
    - Dst: malloc
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:151,1
    - Dst: mp4mux_trackinfo_Init
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:152,1
    - Dst: free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:154,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:158,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:159,1
    - Dst: vlc_array_append
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:160,1
    - Dst: mp4mux_AddExtraBrandForFormat
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - h
    - id
    - fmt
    - timescale
    argTypes:
    - mp4mux_handle_t*
    - unsigned
    - es_format_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 163
    functionName: mp4mux_track_Add
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 1
    functionsReached:
    - vlc_array_append
    - free
    - mp4mux_trackinfo_Init
    - es_format_Init
    - mp4mux_AddExtraBrandForFormat
    - es_format_Copy
    - unlikely
    - malloc
    linkageType: ''
    returnType: mp4mux_trackinfo_t
    signature: "mp4mux_trackinfo_t * mp4mux_track_Add(mp4mux_handle_t *h, unsigned
      id,\n                                      const es_format_t *fmt, uint32_t
      timescale)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_reallocarray
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:169,1
    - Dst: unlikely
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - t
    - p_newedit
    argTypes:
    - mp4mux_trackinfo_t*
    - mp4mux_edit_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 179
    functionName: mp4mux_track_AddEdit
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 1
    functionsReached:
    - vlc_reallocarray
    - unlikely
    linkageType: ''
    returnType: bool
    signature: bool mp4mux_track_AddEdit(mp4mux_trackinfo_t *t, const mp4mux_edit_t
      *p_newedit)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - mp4mux_trackinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 186
    functionName: mp4mux_track_GetLastEdit
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: mp4mux_edit_t
    signature: mp4mux_edit_t *mp4mux_track_GetLastEdit(const mp4mux_trackinfo_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - obj
    - t
    argTypes:
    - vlc_object_t*
    - mp4mux_trackinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 198
    functionName: mp4mux_track_DebugEdits
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 2
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void mp4mux_track_DebugEdits(vlc_object_t *obj, const mp4mux_trackinfo_t
      *t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_reallocarray
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:207,1
    - Dst: __MAX
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - t
    - entry
    argTypes:
    - mp4mux_trackinfo_t*
    - mp4mux_sample_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 220
    functionName: mp4mux_track_AddSample
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 1
    functionsReached:
    - vlc_reallocarray
    - __MAX
    linkageType: ''
    returnType: bool
    signature: bool mp4mux_track_AddSample(mp4mux_trackinfo_t *t, const mp4mux_sample_t
      *entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - mp4mux_trackinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 227
    functionName: mp4mux_track_GetLastSample
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: mp4mux_sample_t
    signature: mp4mux_sample_t *mp4mux_track_GetLastSample(const mp4mux_trackinfo_t
      *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - mp4mux_trackinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: mp4mux_track_GetSampleCount
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned mp4mux_track_GetSampleCount(const mp4mux_trackinfo_t *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - t
    - entry
    argTypes:
    - mp4mux_trackinfo_t*
    - mp4mux_sample_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 244
    functionName: mp4mux_track_UpdateLastSample
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mp4mux_track_UpdateLastSample(mp4mux_trackinfo_t *t,\n                                   const
      mp4mux_sample_t *entry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - mp4mux_trackinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: mp4mux_track_GetDefaultSampleDuration
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t mp4mux_track_GetDefaultSampleDuration(const mp4mux_trackinfo_t
      *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - mp4mux_trackinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: mp4mux_track_GetDefaultSampleSize
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t mp4mux_track_GetDefaultSampleSize(const mp4mux_trackinfo_t
      *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - mp4mux_trackinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: mp4mux_track_GetFmt
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: es_format_t
    signature: es_format_t * mp4mux_track_GetFmt(const mp4mux_trackinfo_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - mp4mux_trackinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: mp4mux_track_HasBFrames
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool mp4mux_track_HasBFrames(const mp4mux_trackinfo_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - mp4mux_trackinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: mp4mux_track_SetHasBFrames
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mp4mux_track_SetHasBFrames(mp4mux_trackinfo_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - mp4mux_trackinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: mp4mux_track_GetTimescale
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t mp4mux_track_GetTimescale(const mp4mux_trackinfo_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - mp4mux_trackinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: mp4mux_track_GetDuration
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t mp4mux_track_GetDuration(const mp4mux_trackinfo_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - d
    argTypes:
    - mp4mux_trackinfo_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: mp4mux_track_ForceDuration
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mp4mux_track_ForceDuration(mp4mux_trackinfo_t *t, vlc_tick_t d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - mp4mux_trackinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: mp4mux_track_GetID
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t mp4mux_track_GetID(const mp4mux_trackinfo_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - id
    argTypes:
    - mp4mux_trackinfo_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: mp4mux_track_ChangeID
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mp4mux_track_ChangeID(mp4mux_trackinfo_t *t, uint32_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - i
    argTypes:
    - mp4mux_trackinfo_t*
    - enum mp4mux_interlacing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 299
    functionName: mp4mux_track_SetInterlacing
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mp4mux_track_SetInterlacing(mp4mux_trackinfo_t *t, enum mp4mux_interlacing
      i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - mp4mux_trackinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 304
    functionName: mp4mux_track_GetInterlacing
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: enum mp4mux_interlacing
    signature: enum mp4mux_interlacing mp4mux_track_GetInterlacing(const mp4mux_trackinfo_t
      *t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:311,1
    - Dst: malloc
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:318,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:321,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - t
    - p_data
    - i_data
    argTypes:
    - mp4mux_trackinfo_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 325
    functionName: mp4mux_track_SetSamplePriv
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 2
    functionsReached:
    - free
    - memcpy
    - malloc
    linkageType: ''
    returnType: int
    signature: "int mp4mux_track_SetSamplePriv(mp4mux_trackinfo_t *t,\n                               const
      uint8_t *p_data, size_t i_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - mp4mux_trackinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 330
    functionName: mp4mux_track_HasSamplePriv
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool mp4mux_track_HasSamplePriv(const mp4mux_trackinfo_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_array_count
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:334,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - h
    - offset
    argTypes:
    - mp4mux_handle_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 343
    functionName: mp4mux_ShiftSamples
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 1
    functionsReached:
    - vlc_array_item_at_index
    - vlc_array_count
    linkageType: ''
    returnType: void
    signature: void mp4mux_ShiftSamples(mp4mux_handle_t *h, int64_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:347,1
    - Dst: vlc_array_init
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:348,1
    - Dst: ARRAY_INIT
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - options
    argTypes:
    - enum mp4mux_options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 354
    functionName: mp4mux_New
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 1
    functionsReached:
    - ARRAY_INIT
    - malloc
    - vlc_array_init
    linkageType: ''
    returnType: mp4mux_handle_t
    signature: mp4mux_handle_t * mp4mux_New(enum mp4mux_options options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_array_count
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:358,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:360,1
    - Dst: mp4mux_trackinfo_Clear
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:361,1
    - Dst: free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:362,1
    - Dst: vlc_array_clear
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:364,1
    - Dst: ARRAY_RESET
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:365,1
    - Dst: free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - h
    argTypes:
    - mp4mux_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 367
    functionName: mp4mux_Delete
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 2
    functionsReached:
    - mp4mux_trackinfo_Clear
    - ARRAY_RESET
    - vlc_array_item_at_index
    - free
    - vlc_array_count
    - vlc_array_clear
    linkageType: ''
    returnType: void
    signature: void mp4mux_Delete(mp4mux_handle_t *h)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - h
    argTypes:
    - mp4mux_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 377
    functionName: mp4mux_Set64BitExt
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mp4mux_Set64BitExt(mp4mux_handle_t *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - o
    argTypes:
    - mp4mux_handle_t*
    - enum mp4mux_options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: mp4mux_Is
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool mp4mux_Is(mp4mux_handle_t *h, enum mp4mux_options o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mp4mux_AddExtraBrand
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - h
    - i_major
    - i_minor
    argTypes:
    - mp4mux_handle_t*
    - vlc_fourcc_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 389
    functionName: mp4mux_SetBrand
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 1
    functionsReached:
    - mp4mux_AddExtraBrand
    linkageType: ''
    returnType: void
    signature: void mp4mux_SetBrand(mp4mux_handle_t *h, vlc_fourcc_t i_major, uint32_t
      i_minor)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_APPEND
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - h
    - b
    argTypes:
    - mp4mux_handle_t*
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 397
    functionName: mp4mux_AddExtraBrand
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 4
    functionsReached:
    - ARRAY_APPEND
    linkageType: ''
    returnType: void
    signature: void mp4mux_AddExtraBrand(mp4mux_handle_t *h, vlc_fourcc_t b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:401,1
    - Dst: bo_init
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:405,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:407,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:411,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:412,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - fcc
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 415
    functionName: box_new
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 5
    functionsReached:
    - bo_init
    - bo_free
    - bo_add_32be
    - bo_add_fourcc
    - malloc
    linkageType: ''
    returnType: bo_t
    signature: bo_t *box_new(const char *fcc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:419,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:423,1
    - Dst: bo_add_24be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - fcc
    - v
    - f
    argTypes:
    - char*
    - uint8_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 417
    functionDepth: 2
    functionLinenumber: 417
    functionLinenumberEnd: 427
    functionName: box_full_new
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 3
    functionsReached:
    - box_new
    - bo_add_8
    - bo_add_24be
    linkageType: ''
    returnType: bo_t
    signature: bo_t *box_full_new(const char *fcc, uint8_t v, uint32_t f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bo_set_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - box
    - i_size
    argTypes:
    - bo_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 432
    functionName: box_fix
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 3
    functionsReached:
    - bo_set_32be
    linkageType: ''
    returnType: void
    signature: void box_fix(bo_t *box, uint32_t i_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: box_fix
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:438,1
    - Dst: bo_size
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:438,1
    - Dst: bo_size
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:439,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:440,1
    - Dst: likely
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:441,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:442,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:444,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - box
    - box2
    argTypes:
    - bo_t*
    - bo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 445
    functionName: box_gather
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 4
    functionsReached:
    - box_fix
    - block_Realloc
    - bo_free
    - memcpy
    - bo_size
    - likely
    linkageType: ''
    returnType: void
    signature: void box_gather (bo_t *box, bo_t *box2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:449,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:451,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - box
    - tag
    - size
    argTypes:
    - bo_t*
    - uint8_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 453
    functionName: bo_add_mp4_tag_descr
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 0
    functionsReached:
    - bo_add_8
    linkageType: ''
    returnType: void
    signature: void bo_add_mp4_tag_descr(bo_t *box, uint8_t tag, uint32_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 463
    functionName: get_timestamp
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 0
    functionsReached:
    - time
    linkageType: ''
    returnType: int64_t
    signature: int64_t get_timestamp(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ATAN
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:480,1
    - Dst: ATAN
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:481,1
    - Dst: ATAN
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:482,1
    - Dst: ATAN
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:483,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - fmt
    - mvhd_matrix
    argTypes:
    - es_format_t*
    - uint32_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 488
    functionName: matrix_apply_rotation
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 0
    functionsReached:
    - ATAN
    linkageType: ''
    returnType: void
    signature: void matrix_apply_rotation(es_format_t *fmt, uint32_t mvhd_matrix[9])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 478
    functionName: ATAN
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATAN(a, b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bo_add_64be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:497,1
    - Dst: bo_add_64be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:498,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:502,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:503,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:505,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - elst
    - i_movie_scaled_duration
    - i_media_scaled_time
    - b_64_ext
    argTypes:
    - bo_t*
    - int64_t
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 507
    functionName: AddEdit
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 1
    functionsReached:
    - bo_add_64be
    - bo_add_32be
    - bo_add_16be
    linkageType: ''
    returnType: void
    signature: "void AddEdit(bo_t *elst,\n                    int64_t i_movie_scaled_duration,\n
      \                   int64_t i_media_scaled_time,\n                    bool b_64_ext)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:514,1
    - Dst: box_full_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:515,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:518,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:519,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:531,1
    - Dst: AddEdit
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:537,1
    - Dst: samples_from_vlc_tick
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:538,1
    - Dst: AddEdit
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:544,1
    - Dst: samples_from_vlc_tick
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:545,1
    - Dst: samples_from_vlc_tick
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:546,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:550,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - p_track
    - i_movietimescale
    - b_64_ext
    argTypes:
    - mp4mux_trackinfo_t*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 509
    functionDepth: 3
    functionLinenumber: 509
    functionLinenumberEnd: 552
    functionName: GetEDTS
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 0
    functionsReached:
    - samples_from_vlc_tick
    - AddEdit
    - bo_free
    - bo_add_32be
    - box_full_new
    - box_gather
    - box_new
    linkageType: ''
    returnType: bo_t
    signature: bo_t *GetEDTS( mp4mux_trackinfo_t *p_track, uint32_t i_movietimescale,
      bool b_64_ext)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:559,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:567,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:568,1
    - Dst: box_full_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:581,1
    - Dst: bo_add_mp4_tag_descr
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:608,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:609,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:610,1
    - Dst: bo_add_mp4_tag_descr
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:614,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:675,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:676,1
    - Dst: bo_add_24be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:677,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:678,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:679,1
    - Dst: bo_add_mp4_tag_descr
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:683,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:686,1
    - Dst: bo_add_mp4_tag_descr
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:690,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:691,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 92
    argCount: 1
    argNames:
    - p_track
    argTypes:
    - mp4mux_trackinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 554
    functionDepth: 3
    functionLinenumber: 554
    functionLinenumberEnd: 694
    functionName: GetESDS
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - bo_add_32be
    - box_full_new
    - bo_add_24be
    - bo_add_mp4_tag_descr
    - SetDWBE
    - bo_add_8
    - bo_add_16be
    linkageType: ''
    returnType: bo_t
    signature: bo_t *GetESDS(const mp4mux_trackinfo_t *p_track)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:698,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - b_le
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 696
    functionDepth: 2
    functionLinenumber: 696
    functionLinenumberEnd: 702
    functionName: GetEndaTag
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 0
    functionsReached:
    - box_new
    - bo_add_16be
    linkageType: ''
    returnType: bo_t
    signature: bo_t *GetEndaTag(bool b_le)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:706,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:708,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - format
    argTypes:
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 704
    functionDepth: 2
    functionLinenumber: 704
    functionLinenumberEnd: 710
    functionName: GetFrmaTag
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 0
    functionsReached:
    - box_new
    - bo_add_mem
    linkageType: ''
    returnType: bo_t
    signature: bo_t *GetFrmaTag(const char format[4])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:717,1
    - Dst: GetFrmaTag
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:720,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:721,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:724,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:727,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - fcc
    - extraboxes
    - i_extraboxes
    argTypes:
    - char*
    - bo_t*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 712
    functionDepth: 3
    functionLinenumber: 712
    functionLinenumberEnd: 731
    functionName: GetWaveTag
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 0
    functionsReached:
    - box_new
    - box_gather
    - bo_add_32be
    - GetFrmaTag
    linkageType: ''
    returnType: bo_t
    signature: bo_t *GetWaveTag(const char *fcc, bo_t *extraboxes[], size_t i_extraboxes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:735,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:739,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:740,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:743,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:745,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:746,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - p_fmt
    argTypes:
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 733
    functionDepth: 2
    functionLinenumber: 733
    functionLinenumberEnd: 749
    functionName: GetDamrTag
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 0
    functionsReached:
    - box_new
    - bo_add_8
    - bo_add_fourcc
    - bo_add_16be
    linkageType: ''
    returnType: bo_t
    signature: bo_t *GetDamrTag(es_format_t *p_fmt)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:762,1
    - Dst: memcmp
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:770,1
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:791,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:795,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:796,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:797,1
    - Dst: GetWLE
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:797,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:798,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:798,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:799,1
    - Dst: GetWLE
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:799,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:800,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:802,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 2
    argNames:
    - p_extra
    - i_extra
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 759
    functionDepth: 2
    functionLinenumber: 759
    functionLinenumberEnd: 805
    functionName: GetDOpsTag
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 0
    functionsReached:
    - GetWLE
    - bo_add_32be
    - bo_add_mem
    - box_new
    - bo_add_8
    - GetDWLE
    - memcmp
    - bo_add_16be
    linkageType: ''
    returnType: bo_t
    signature: bo_t *GetDOpsTag(const uint8_t *p_extra, size_t i_extra)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:813,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:820,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - p_extra
    - i_extra
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 811
    functionDepth: 1
    functionLinenumber: 811
    functionLinenumberEnd: 826
    functionName: FlacStreamInfo
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 0
    functionsReached:
    - GetDWBE
    - memcmp
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *FlacStreamInfo(const uint8_t *p_extra, size_t i_extra)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FlacStreamInfo
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:832,1
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:836,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:840,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:841,1
    - Dst: bo_add_24be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:842,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:843,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - p_extra
    - i_extra
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 830
    functionDepth: 2
    functionLinenumber: 830
    functionLinenumberEnd: 846
    functionName: GetDfLaTag
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 0
    functionsReached:
    - bo_add_32be
    - bo_add_mem
    - bo_add_24be
    - box_new
    - bo_add_8
    - FlacStreamInfo
    linkageType: ''
    returnType: bo_t
    signature: bo_t *GetDfLaTag(const uint8_t *p_extra, size_t i_extra)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:850,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:854,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:855,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:856,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 848
    functionDepth: 2
    functionLinenumber: 848
    functionLinenumberEnd: 859
    functionName: GetD263Tag
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 0
    functionsReached:
    - box_new
    - bo_add_8
    - bo_add_fourcc
    - bo_add_16be
    linkageType: ''
    returnType: bo_t
    signature: bo_t *GetD263Tag(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:866,1
    - Dst: hevc_ishvcC
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:871,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:873,1
    - Dst: hxxx_iterator_init
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:882,1
    - Dst: hxxx_annexb_iterate_next
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:883,1
    - Dst: hevc_getNALType
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:885,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:888,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:896,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:904,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:912,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:920,1
    - Dst: hevc_create_dcr
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:934,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:937,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:941,1
    - Dst: free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:942,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 3
    argNames:
    - p_extra
    - i_extra
    - b_completeness
    argTypes:
    - uint8_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 861
    functionDepth: 4
    functionLinenumber: 861
    functionLinenumberEnd: 945
    functionName: GetHvcCTag
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 0
    functionsReached:
    - hevc_ishvcC
    - hxxx_annexb_iterate_next
    - ARRAY_SIZE
    - hxxx_iterator_init
    - hevc_getNALType
    - bo_free
    - bo_add_mem
    - box_new
    - free
    - hevc_create_dcr
    linkageType: ''
    returnType: bo_t
    signature: "bo_t *GetHvcCTag(const uint8_t *p_extra, size_t i_extra,\n                        bool
      b_completeness)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: box_full_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:952,1
    - Dst: h266_isvvcC
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:957,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:959,1
    - Dst: hxxx_iterator_init
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:968,1
    - Dst: hxxx_annexb_iterate_next
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:969,1
    - Dst: h266_add_NALtoParams
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:970,1
    - Dst: h266_create_DecoderConfigurationRecord
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:973,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:976,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:980,1
    - Dst: free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:981,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - p_extra
    - i_extra
    - b_completeness
    argTypes:
    - uint8_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 947
    functionDepth: 4
    functionLinenumber: 947
    functionLinenumberEnd: 984
    functionName: GetVvcCTag
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 0
    functionsReached:
    - hxxx_annexb_iterate_next
    - hxxx_iterator_init
    - bo_free
    - bo_add_mem
    - box_full_new
    - h266_isvvcC
    - h266_create_DecoderConfigurationRecord
    - free
    - h266_add_NALtoParams
    linkageType: ''
    returnType: bo_t
    signature: "bo_t *GetVvcCTag(const uint8_t *p_extra, size_t i_extra,\n                        bool
      b_completeness)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:988,1
    - Dst: fourcc_to_wf_tag
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:993,1
    - Dst: bo_add_16le
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:994,1
    - Dst: bo_add_16le
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:995,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:996,1
    - Dst: bo_add_32le
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:997,1
    - Dst: bo_add_16le
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:998,1
    - Dst: bo_add_16le
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:999,1
    - Dst: bo_add_16le
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1000,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1002,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - p_fmt
    - tag
    argTypes:
    - es_format_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 986
    functionDepth: 2
    functionLinenumber: 986
    functionLinenumberEnd: 1005
    functionName: GetWaveFormatExTag
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 0
    functionsReached:
    - bo_add_mem
    - box_new
    - bo_add_32le
    - fourcc_to_wf_tag
    - bo_add_16le
    linkageType: ''
    returnType: bo_t
    signature: bo_t *GetWaveFormatExTag(es_format_t *p_fmt, const char *tag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1010,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1013,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - p_extra
    - i_extra
    - tag
    argTypes:
    - uint8_t*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1007
    functionDepth: 2
    functionLinenumber: 1007
    functionLinenumberEnd: 1015
    functionName: GetxxxxTag
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 0
    functionsReached:
    - box_new
    - bo_add_mem
    linkageType: ''
    returnType: bo_t
    signature: "bo_t *GetxxxxTag(const uint8_t *p_extra, size_t i_extra,\n                        const
      char *tag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1019,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1029,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - enum mp4mux_interlacing
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1017
    functionDepth: 2
    functionLinenumber: 1017
    functionLinenumberEnd: 1032
    functionName: GetFielBox
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 0
    functionsReached:
    - box_new
    - bo_add_16be
    linkageType: ''
    returnType: bo_t
    signature: bo_t *GetFielBox(enum mp4mux_interlacing i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1036,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1039,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1040,1
    - Dst: vlc_primaries_to_iso_23001_8_cp
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1040,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1041,1
    - Dst: vlc_xfer_to_iso_23001_8_tc
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1041,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1042,1
    - Dst: vlc_coeffs_to_iso_23001_8_mc
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1042,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1043,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - p_vfmt
    - b_mov
    argTypes:
    - video_format_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1034
    functionDepth: 2
    functionLinenumber: 1034
    functionLinenumberEnd: 1046
    functionName: GetColrBox
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 0
    functionsReached:
    - vlc_xfer_to_iso_23001_8_tc
    - vlc_primaries_to_iso_23001_8_cp
    - vlc_coeffs_to_iso_23001_8_mc
    - bo_add_mem
    - box_new
    - bo_add_8
    - bo_add_16be
    linkageType: ''
    returnType: bo_t
    signature: bo_t *GetColrBox(const video_format_t *p_vfmt, bool b_mov)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1052,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1056,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1057,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1058,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1059,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1060,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - p_vfmt
    argTypes:
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1048
    functionDepth: 2
    functionLinenumber: 1048
    functionLinenumberEnd: 1063
    functionName: GetMdcv
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 0
    functionsReached:
    - box_new
    - bo_add_32be
    - bo_add_16be
    linkageType: ''
    returnType: bo_t
    signature: bo_t *GetMdcv(const video_format_t *p_vfmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1069,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1072,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1073,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - p_vfmt
    argTypes:
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1065
    functionDepth: 2
    functionLinenumber: 1065
    functionLinenumberEnd: 1076
    functionName: GetClli
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 0
    functionsReached:
    - box_new
    - bo_add_16be
    linkageType: ''
    returnType: bo_t
    signature: bo_t *GetClli(const video_format_t *p_vfmt)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1080,1
    - Dst: h264_AnnexB_get_spspps
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1086,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1095,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1096,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1097,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1098,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1099,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1101,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1103,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1104,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1107,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1109,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1110,1
    - Dst: h264_decode_sps
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1120,1
    - Dst: h264_get_chroma_luma
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1124,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1126,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1127,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1128,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1129,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1131,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1132,1
    - Dst: h264_release_sps
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1135,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 2
    argNames:
    - p_extra
    - i_extra
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1078
    functionDepth: 5
    functionLinenumber: 1078
    functionLinenumberEnd: 1140
    functionName: GetAvcCTag
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 0
    functionsReached:
    - h264_get_chroma_luma
    - bo_add_mem
    - box_new
    - h264_decode_sps
    - bo_add_8
    - h264_AnnexB_get_spspps
    - bo_add_16be
    - h264_release_sps
    linkageType: ''
    returnType: bo_t
    signature: bo_t *GetAvcCTag(const uint8_t *p_extra, size_t i_extra)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1145,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1154,1
    - Dst: strncmp
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1157,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1158,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1166,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1167,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1168,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1169,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - p_extra
    - i_extra
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1143
    functionDepth: 2
    functionLinenumber: 1143
    functionLinenumberEnd: 1172
    functionName: GetSVQ3Tag
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 0
    functionsReached:
    - bo_add_mem
    - bo_add_32be
    - box_new
    - strncmp
    - bo_add_8
    - GetDWBE
    - bo_add_fourcc
    linkageType: ''
    returnType: bo_t
    signature: bo_t *GetSVQ3Tag(const uint8_t *p_extra, size_t i_extra)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1176,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1181,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1182,1
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1186,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1190,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1191,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1192,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1194,1
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1201,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1205,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1206,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1207,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1209,1
    - Dst: ADD_META_BOX
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1228,1
    - Dst: ADD_META_BOX
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1229,1
    - Dst: ADD_META_BOX
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1230,1
    - Dst: ADD_META_BOX
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1231,1
    - Dst: ADD_META_BOX
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1232,1
    - Dst: ADD_META_BOX
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1233,1
    - Dst: ADD_META_BOX
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1234,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - muxh
    argTypes:
    - mp4mux_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1174
    functionDepth: 2
    functionLinenumber: 1174
    functionLinenumberEnd: 1239
    functionName: GetUdtaTag
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 0
    functionsReached:
    - vlc_array_item_at_index
    - box_gather
    - bo_add_mem
    - box_new
    - vlc_array_count
    - ADD_META_BOX
    - bo_add_16be
    linkageType: ''
    returnType: bo_t
    signature: bo_t *GetUdtaTag(mp4mux_handle_t *muxh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - box_string
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1227
    functionName: ADD_META_BOX
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_META_BOX(type, box_string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: box_full_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1243,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - i_sample_rate
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1241
    functionDepth: 3
    functionLinenumber: 1241
    functionLinenumberEnd: 1247
    functionName: GetSratBox
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 0
    functionsReached:
    - bo_add_32be
    - box_full_new
    linkageType: ''
    returnType: bo_t
    signature: bo_t *GetSratBox(uint32_t i_sample_rate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1252,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bo
    - reference_index
    argTypes:
    - bo_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1249
    functionDepth: 1
    functionLinenumber: 1249
    functionLinenumberEnd: 1254
    functionName: FillSampleDescBoxHeader
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 0
    functionsReached:
    - bo_add_8
    - bo_add_16be
    linkageType: ''
    returnType: void
    signature: void FillSampleDescBoxHeader(bo_t *bo, uint16_t reference_index)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1258,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1284,1
    - Dst: GetxxxxTag
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1287,1
    - Dst: GetWaveTag
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1289,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1293,1
    - Dst: GetDamrTag
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1294,1
    - Dst: GetWaveTag
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1296,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1301,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1303,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1308,1
    - Dst: GetxxxxTag
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1311,1
    - Dst: GetWaveTag
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1313,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1317,1
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1321,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1323,1
    - Dst: GetESDS
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1324,1
    - Dst: GetWaveTag
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1325,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1329,1
    - Dst: GetDOpsTag
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1330,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1336,1
    - Dst: GetDfLaTag
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1337,1
    - Dst: FlacStreamInfo
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1339,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1349,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1352,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1357,1
    - Dst: GetWaveFormatExTag
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1358,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1364,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1368,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1372,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1377,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1382,1
    - Dst: aout_BitsPerSample
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1393,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1399,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1399,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1405,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1406,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1406,1
    - Dst: GetEndaTag
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1407,1
    - Dst: GetWaveTag
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1408,1
    - Dst: vlc_fourcc_to_char
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1412,1
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1416,1
    - Dst: FillSampleDescBoxHeader
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1419,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1422,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1423,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1424,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1427,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1429,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1431,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1435,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1437,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1440,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1442,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1443,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1447,1
    - Dst: GetSratBox
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1448,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1457,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1458,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1470,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1471,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1472,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1473,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1476,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1480,1
    - Dst: GetESDS
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1480,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1482,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 162
    argCount: 3
    argNames:
    - p_obj
    - p_track
    - b_mov
    argTypes:
    - vlc_object_t*
    - mp4mux_trackinfo_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1256
    functionDepth: 4
    functionLinenumber: 1256
    functionLinenumberEnd: 1485
    functionName: GetSounBox
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 0
    functionsReached:
    - GetESDS
    - bo_add_32be
    - memcpy
    - box_new
    - bo_add_16be
    - GetWaveFormatExTag
    - GetSratBox
    - FillSampleDescBoxHeader
    - aout_BitsPerSample
    - FlacStreamInfo
    - VLC_FOURCC
    - GetDfLaTag
    - vlc_fourcc_to_char
    - VLC_UNUSED
    - GetWaveTag
    - box_gather
    - GetxxxxTag
    - GetDamrTag
    - GetEndaTag
    - GetDOpsTag
    linkageType: ''
    returnType: bo_t
    signature: bo_t *GetSounBox(vlc_object_t *p_obj, mp4mux_trackinfo_t *p_track,
      bool b_mov)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1489,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1494,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1495,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1496,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1497,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1498,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1503,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1504,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1505,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1506,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1507,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1508,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1509,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1512,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1513,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1514,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1515,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1516,1
    - Dst: vlc_fourcc_to_char
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1522,1
    - Dst: vlc_fourcc_to_char
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1526,1
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1530,1
    - Dst: FillSampleDescBoxHeader
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1533,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1535,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1536,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1538,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1540,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1541,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1543,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1544,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1546,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1547,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1554,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1559,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1561,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1562,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1577,1
    - Dst: GetxxxxTag
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1577,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1583,1
    - Dst: GetESDS
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1583,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1587,1
    - Dst: GetD263Tag
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1587,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1591,1
    - Dst: GetSVQ3Tag
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1591,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1595,1
    - Dst: GetAvcCTag
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1595,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1599,1
    - Dst: GetxxxxTag
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1599,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1604,1
    - Dst: GetHvcCTag
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1604,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1608,1
    - Dst: GetVvcCTag
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1608,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1613,1
    - Dst: GetColrBox
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1613,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1615,1
    - Dst: GetFielBox
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1615,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1617,1
    - Dst: GetMdcv
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1617,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1618,1
    - Dst: GetClli
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1618,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 117
    argCount: 3
    argNames:
    - p_obj
    - p_track
    - b_mov
    argTypes:
    - vlc_object_t*
    - mp4mux_trackinfo_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1487
    functionDepth: 6
    functionLinenumber: 1487
    functionLinenumberEnd: 1621
    functionName: GetVideBox
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 0
    functionsReached:
    - GetHvcCTag
    - GetESDS
    - bo_add_32be
    - memcpy
    - GetD263Tag
    - box_new
    - bo_add_16be
    - FillSampleDescBoxHeader
    - GetColrBox
    - VLC_FOURCC
    - bo_add_mem
    - GetVvcCTag
    - vlc_fourcc_to_char
    - GetFielBox
    - VLC_UNUSED
    - GetMdcv
    - GetAvcCTag
    - box_gather
    - GetxxxxTag
    - GetClli
    - GetSVQ3Tag
    linkageType: ''
    returnType: bo_t
    signature: bo_t *GetVideBox(vlc_object_t *p_obj, mp4mux_trackinfo_t *p_track,
      bool b_mov)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1625,1
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1628,1
    - Dst: FillSampleDescBoxHeader
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1632,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1637,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1641,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1642,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1644,1
    - Dst: bo_add_64be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1646,1
    - Dst: bo_add_64be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1647,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1649,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1650,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1651,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1652,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1655,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1657,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1658,1
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1665,1
    - Dst: FillSampleDescBoxHeader
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1669,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1675,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1680,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1681,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1683,1
    - Dst: bo_add_64be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1686,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1689,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1690,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1691,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1692,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1693,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1694,1
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1697,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1700,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1702,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1703,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1704,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1705,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1708,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1709,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1712,1
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1720,1
    - Dst: FillSampleDescBoxHeader
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1724,1
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1726,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1727,1
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1733,1
    - Dst: FillSampleDescBoxHeader
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1737,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1739,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1740,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1741,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1742,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1743,1
    - Dst: box_full_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1749,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1750,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1751,1
    - Dst: GetESDS
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1751,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 82
    argCount: 3
    argNames:
    - p_obj
    - p_track
    - b_mov
    argTypes:
    - vlc_object_t*
    - mp4mux_trackinfo_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1756
      start: 1623
    functionDepth: 4
    functionLinenumber: 1623
    functionLinenumberEnd: 1756
    functionName: GetTextBox
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 0
    functionsReached:
    - bo_add_64be
    - GetESDS
    - FillSampleDescBoxHeader
    - box_gather
    - bo_add_mem
    - bo_add_32be
    - box_full_new
    - box_new
    - bo_add_8
    - bo_add_16be
    - VLC_UNUSED
    linkageType: ''
    returnType: bo_t
    signature: bo_t *GetTextBox(vlc_object_t *p_obj, mp4mux_trackinfo_t *p_track,
      bool b_mov)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1761,1
    - Dst: samples_from_vlc_tick
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - p_entry
    - i_timescale
    - pi_total_mtime
    - pi_total_scaled
    argTypes:
    - mp4mux_sample_t*
    - uint32_t
    - vlc_tick_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1770
      start: 1758
    functionDepth: 1
    functionLinenumber: 1758
    functionLinenumberEnd: 1770
    functionName: GetScaledEntryDuration
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 0
    functionsReached:
    - samples_from_vlc_tick
    - vlc_tick_from_samples
    linkageType: ''
    returnType: int64_t
    signature: "int64_t GetScaledEntryDuration( const mp4mux_sample_t *p_entry, uint32_t
      i_timescale,\n                                       vlc_tick_t *pi_total_mtime,
      int64_t *pi_total_scaled )"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: box_full_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1775,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1778,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1780,1
    - Dst: GetSounBox
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1780,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1782,1
    - Dst: GetVideBox
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1782,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1784,1
    - Dst: GetTextBox
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1784,1
    - Dst: box_full_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1791,1
    - Dst: box_full_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1794,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1798,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1801,1
    - Dst: box_full_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1804,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1807,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1808,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1811,1
    - Dst: bo_add_64be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1820,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1822,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1833,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1834,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1835,1
    - Dst: bo_swap_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1842,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1844,1
    - Dst: bo_swap_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1847,1
    - Dst: box_full_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1850,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1853,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1854,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1855,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1858,1
    - Dst: GetScaledEntryDuration
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1866,1
    - Dst: GetScaledEntryDuration
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1872,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1882,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1883,1
    - Dst: bo_swap_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1885,1
    - Dst: box_full_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1892,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1894,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1905,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1906,1
    - Dst: samples_from_vlc_tick
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1906,1
    - Dst: bo_swap_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1908,1
    - Dst: box_full_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1911,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1914,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1915,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1916,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1930,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1931,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1935,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1949,1
    - Dst: box_full_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1955,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1958,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1960,1
    - Dst: bo_swap_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1968,1
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1971,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1974,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1975,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1976,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1977,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1978,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1979,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1982,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1983,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1985,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1987,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1988,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1989,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:1990,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 140
    argCount: 4
    argNames:
    - p_obj
    - p_track
    - b_mov
    - b_stco64
    argTypes:
    - vlc_object_t*
    - mp4mux_trackinfo_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1993
      start: 1772
    functionDepth: 7
    functionLinenumber: 1772
    functionLinenumberEnd: 1993
    functionName: GetStblBox
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 0
    functionsReached:
    - bo_add_64be
    - samples_from_vlc_tick
    - GetTextBox
    - GetVideBox
    - GetScaledEntryDuration
    - box_gather
    - bo_add_32be
    - box_full_new
    - GetSounBox
    - bo_free
    - VLC_TICK_FROM_SEC
    - box_new
    - msg_Dbg
    - bo_swap_32be
    linkageType: ''
    returnType: bo_t
    signature: bo_t *GetStblBox(vlc_object_t *p_obj, mp4mux_trackinfo_t *p_track,
      bool b_mov, bool b_stco64)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - vfmt
    argTypes:
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1995
    functionDepth: 0
    functionLinenumber: 1995
    functionLinenumberEnd: 2003
    functionName: ApplyARtoWidth
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned ApplyARtoWidth(const video_format_t *vfmt)
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: get_timestamp
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2010,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2014,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2015,1
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2017,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2023,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2024,1
    - Dst: __MAX
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2025,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2028,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2028,1
    - Dst: samples_from_vlc_tick
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2030,1
    - Dst: box_full_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2034,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2037,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2040,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2041,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2042,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2043,1
    - Dst: box_full_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2045,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2048,1
    - Dst: bo_add_64be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2051,1
    - Dst: bo_add_64be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2052,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2053,1
    - Dst: bo_add_64be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2054,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2056,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2057,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2058,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2060,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2065,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2067,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2070,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2071,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2071,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2081,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2083,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2085,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2086,1
    - Dst: samples_from_vlc_tick
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2090,1
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2095,1
    - Dst: box_full_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2103,1
    - Dst: box_full_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2105,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2108,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2111,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2112,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2113,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2114,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2115,1
    - Dst: box_full_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2118,1
    - Dst: box_full_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2120,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2123,1
    - Dst: bo_add_64be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2126,1
    - Dst: bo_add_64be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2127,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2128,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2129,1
    - Dst: bo_add_64be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2130,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2134,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2135,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2136,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2138,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2139,1
    - Dst: matrix_apply_rotation
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2140,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2142,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2144,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2145,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2148,1
    - Dst: ApplyARtoWidth
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2148,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2150,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2155,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2157,1
    - Dst: ApplyARtoWidth
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2160,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2164,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2165,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2168,1
    - Dst: GetEDTS
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2171,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2173,1
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2176,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2179,1
    - Dst: box_full_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2186,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2189,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2190,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2193,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2194,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2195,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2196,1
    - Dst: box_full_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2198,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2201,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2202,1
    - Dst: bo_add_64be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2205,1
    - Dst: bo_add_64be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2206,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2207,1
    - Dst: bo_add_64be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2208,1
    - Dst: vlc_find_iso639
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2213,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2220,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2222,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2223,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2224,1
    - Dst: box_full_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2227,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2230,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2231,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2236,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2238,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2241,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2243,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2250,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2252,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2254,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2256,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2259,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2260,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2261,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2264,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2267,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2269,1
    - Dst: strncpy
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2276,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2277,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2280,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2284,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2286,1
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2289,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2292,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2293,1
    - Dst: box_full_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2299,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2302,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2303,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2305,1
    - Dst: box_full_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2308,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2311,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2313,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2314,1
    - Dst: box_full_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2322,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2325,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2327,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2328,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2329,1
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2331,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2334,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2335,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2337,1
    - Dst: box_full_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2343,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2346,1
    - Dst: box_full_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2348,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2350,1
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2352,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2355,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2358,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2360,1
    - Dst: GetStblBox
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2369,1
    - Dst: GetStblBox
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2373,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2376,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2379,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2382,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2385,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2389,1
    - Dst: GetUdtaTag
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2389,1
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2393,1
    - Dst: box_full_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2398,1
    - Dst: bo_add_64be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2402,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2404,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2405,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2409,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2411,1
    - Dst: box_full_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2427,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2428,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2429,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2430,1
    - Dst: samples_from_vlc_tick
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2430,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2431,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2432,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2433,1
    - Dst: box_gather
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2435,1
    - Dst: box_fix
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2440,1
    - Dst: bo_size
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2440,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 277
    argCount: 3
    argNames:
    - h
    - p_obj
    - i_duration
    argTypes:
    - mp4mux_handle_t*
    - vlc_object_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2442
      start: 2005
    functionDepth: 8
    functionLinenumber: 2005
    functionLinenumberEnd: 2442
    functionName: mp4mux_GetMoov
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 2
    functionsReached:
    - box_fix
    - SEC_FROM_VLC_TICK
    - bo_free
    - bo_add_32be
    - GetEDTS
    - vlc_find_iso639
    - box_new
    - vlc_array_count
    - bo_add_8
    - get_timestamp
    - ApplyARtoWidth
    - bo_add_fourcc
    - bo_add_16be
    - GetUdtaTag
    - __MAX
    - msg_Dbg
    - GetStblBox
    - samples_from_vlc_tick
    - vlc_array_item_at_index
    - bo_add_mem
    - box_full_new
    - strncpy
    - bo_add_64be
    - matrix_apply_rotation
    - box_gather
    - bo_size
    linkageType: ''
    returnType: bo_t
    signature: bo_t * mp4mux_GetMoov(mp4mux_handle_t *h, vlc_object_t *p_obj, vlc_tick_t
      i_duration)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: box_new
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2446,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2449,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2450,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2452,1
    - Dst: free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2455,1
    - Dst: box_fix
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2458,1
    - Dst: bo_size
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - h
    argTypes:
    - mp4mux_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2461
      start: 2444
    functionDepth: 2
    functionLinenumber: 2444
    functionLinenumberEnd: 2461
    functionName: mp4mux_GetFtyp
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 2
    functionsReached:
    - box_fix
    - bo_add_32be
    - box_new
    - free
    - bo_size
    - bo_add_fourcc
    linkageType: ''
    returnType: bo_t
    signature: bo_t *mp4mux_GetFtyp(const mp4mux_handle_t *h)
  - BBCount: 70
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2517,1
    - Dst: GetDOpsTag
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2522,1
    - Dst: GetDfLaTag
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2523,1
    - Dst: msg_Err
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2527,1
    - Dst: bo_free
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2531,1
    - Dst: msg_Err
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2538,1
    - Dst: msg_Err
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2549,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2555,1
    - Dst: msg_Err
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2562,1
    - Dst: msg_Err
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2570,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/mux/mp4/libmp4mux.c:2578,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 108
    argCount: 4
    argNames:
    - p_obj
    - p_fmt
    - i_brand
    - b_fragmented
    argTypes:
    - vlc_object_t*
    - es_format_t*
    - vlc_fourcc_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2590
      start: 2463
    functionDepth: 3
    functionLinenumber: 2463
    functionLinenumberEnd: 2590
    functionName: mp4mux_CanMux
    functionSourceFile: /src/vlc/modules/mux/mp4/libmp4mux.c
    functionUses: 1
    functionsReached:
    - bo_free
    - msg_Err
    - GetDfLaTag
    - msg_Warn
    - GetDOpsTag
    linkageType: ''
    returnType: bool
    signature: "bool mp4mux_CanMux(vlc_object_t *p_obj, const es_format_t *p_fmt,\n
      \                  vlc_fourcc_t i_brand, bool b_fragmented)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/mux/mpeg/bits.h:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - p_buffer
    - i_size
    - p_data
    argTypes:
    - bits_buffer_t*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 53
    functionName: bits_initwrite
    functionSourceFile: /src/vlc/modules/mux/mpeg/bits.h
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: int
    signature: "int bits_initwrite( bits_buffer_t *p_buffer,\n                                  int
      i_size, void *p_data )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - p_buffer
    argTypes:
    - bits_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: bits_align
    functionSourceFile: /src/vlc/modules/mux/mpeg/bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bits_align( bits_buffer_t *p_buffer )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdc_trailing_zeros
      Src: /src/vlc/modules/mux/mpeg/bits.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buff
    - count
    argTypes:
    - bits_buffer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: bits_will_overflow
    functionSourceFile: /src/vlc/modules/mux/mpeg/bits.h
    functionUses: 0
    functionsReached:
    - stdc_trailing_zeros
    linkageType: ''
    returnType: bool
    signature: bool bits_will_overflow( const bits_buffer_t *buff, int count )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bits_will_overflow
      Src: /src/vlc/modules/mux/mpeg/bits.h:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - p_buffer
    - i_count
    - i_bits
    argTypes:
    - bits_buffer_t*
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 97
    functionName: bits_write
    functionSourceFile: /src/vlc/modules/mux/mpeg/bits.h
    functionUses: 0
    functionsReached:
    - bits_will_overflow
    linkageType: ''
    returnType: void
    signature: "void bits_write( bits_buffer_t *p_buffer,\n                               int
      i_count, uint64_t i_bits )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Info
      Src: /src/vlc/modules/mux/mpeg/ps.c:153,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/mux/mpeg/ps.c:154,1
    - Dst: malloc
      Src: /src/vlc/modules/mux/mpeg/ps.c:160,1
    - Dst: StreamIdInit
      Src: /src/vlc/modules/mux/mpeg/ps.c:163,1
    - Dst: StreamIdInit
      Src: /src/vlc/modules/mux/mpeg/ps.c:164,1
    - Dst: StreamIdInit
      Src: /src/vlc/modules/mux/mpeg/ps.c:165,1
    - Dst: StreamIdInit
      Src: /src/vlc/modules/mux/mpeg/ps.c:166,1
    - Dst: StreamIdInit
      Src: /src/vlc/modules/mux/mpeg/ps.c:167,1
    - Dst: StreamIdInit
      Src: /src/vlc/modules/mux/mpeg/ps.c:168,1
    - Dst: strcmp
      Src: /src/vlc/modules/mux/mpeg/ps.c:181,1
    - Dst: var_Get
      Src: /src/vlc/modules/mux/mpeg/ps.c:183,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/mux/mpeg/ps.c:184,1
    - Dst: var_Get
      Src: /src/vlc/modules/mux/mpeg/ps.c:186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 205
    functionName: Open
    functionSourceFile: /src/vlc/modules/mux/mpeg/ps.c
    functionUses: 33
    functionsReached:
    - VLC_TICK_FROM_MS
    - StreamIdInit
    - config_ChainParse
    - strcmp
    - msg_Info
    - var_Get
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Info
      Src: /src/vlc/modules/mux/mpeg/ps.c:217,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/mux/mpeg/ps.c:219,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/mpeg/ps.c:225,1
    - Dst: free
      Src: /src/vlc/modules/mux/mpeg/ps.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 229
    functionName: Close
    functionSourceFile: /src/vlc/modules/mux/mpeg/ps.c
    functionUses: 107
    functionsReached:
    - free
    - msg_Info
    - block_Alloc
    - sout_AccessOutWrite
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t * p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/mpeg/ps.c:236,1
    - Dst: va_arg
      Src: /src/vlc/modules/mux/mpeg/ps.c:243,1
    - Dst: va_arg
      Src: /src/vlc/modules/mux/mpeg/ps.c:248,1
    - Dst: strdup
      Src: /src/vlc/modules/mux/mpeg/ps.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - p_mux
    - i_query
    - args
    argTypes:
    - sout_mux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 255
    functionName: Control
    functionSourceFile: /src/vlc/modules/mux/mpeg/ps.c
    functionUses: 57
    functionsReached:
    - va_arg
    - strdup
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int Control( sout_mux_t *p_mux, int i_query, va_list args )
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mpeg/ps.c:266,1
    - Dst: malloc
      Src: /src/vlc/modules/mux/mpeg/ps.c:269,1
    - Dst: unlikely
      Src: /src/vlc/modules/mux/mpeg/ps.c:270,1
    - Dst: StreamIdGet
      Src: /src/vlc/modules/mux/mpeg/ps.c:282,1
    - Dst: StreamIdGet
      Src: /src/vlc/modules/mux/mpeg/ps.c:287,1
    - Dst: StreamIdGet
      Src: /src/vlc/modules/mux/mpeg/ps.c:292,1
    - Dst: StreamIdGet
      Src: /src/vlc/modules/mux/mpeg/ps.c:297,1
    - Dst: StreamIdGet
      Src: /src/vlc/modules/mux/mpeg/ps.c:302,1
    - Dst: StreamIdGet
      Src: /src/vlc/modules/mux/mpeg/ps.c:307,1
    - Dst: StreamIdGet
      Src: /src/vlc/modules/mux/mpeg/ps.c:311,1
    - Dst: StreamIdGet
      Src: /src/vlc/modules/mux/mpeg/ps.c:315,1
    - Dst: StreamIdGet
      Src: /src/vlc/modules/mux/mpeg/ps.c:319,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/mux/mpeg/ps.c:323,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/mux/mpeg/ps.c:327,1
    - Dst: StreamIdGet
      Src: /src/vlc/modules/mux/mpeg/ps.c:334,1
    - Dst: StreamIdGet
      Src: /src/vlc/modules/mux/mpeg/ps.c:338,1
    - Dst: StreamIdGet
      Src: /src/vlc/modules/mux/mpeg/ps.c:343,1
    - Dst: vlc_find_iso639
      Src: /src/vlc/modules/mux/mpeg/ps.c:379,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mpeg/ps.c:387,1
    - Dst: free
      Src: /src/vlc/modules/mux/mpeg/ps.c:393,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 95
    argCount: 2
    argNames:
    - p_mux
    - p_input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 395
    functionName: AddStream
    functionSourceFile: /src/vlc/modules/mux/mpeg/ps.c
    functionUses: 9
    functionsReached:
    - VLC_FOURCC
    - vlc_find_iso639
    - free
    - msg_Dbg
    - StreamIdGet
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int AddStream( sout_mux_t *p_mux, sout_input_t *p_input )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mpeg/ps.c:405,1
    - Dst: StreamIdRelease
      Src: /src/vlc/modules/mux/mpeg/ps.c:409,1
    - Dst: StreamIdRelease
      Src: /src/vlc/modules/mux/mpeg/ps.c:413,1
    - Dst: StreamIdRelease
      Src: /src/vlc/modules/mux/mpeg/ps.c:417,1
    - Dst: StreamIdRelease
      Src: /src/vlc/modules/mux/mpeg/ps.c:421,1
    - Dst: StreamIdRelease
      Src: /src/vlc/modules/mux/mpeg/ps.c:425,1
    - Dst: StreamIdRelease
      Src: /src/vlc/modules/mux/mpeg/ps.c:429,1
    - Dst: free
      Src: /src/vlc/modules/mux/mpeg/ps.c:453,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - p_mux
    - p_input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 454
    functionName: DelStream
    functionSourceFile: /src/vlc/modules/mux/mpeg/ps.c
    functionUses: 1
    functionsReached:
    - free
    - msg_Dbg
    - StreamIdRelease
    linkageType: ''
    returnType: void
    signature: void DelStream( sout_mux_t *p_mux, sout_input_t *p_input )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sout_MuxGetStream
      Src: /src/vlc/modules/mux/mpeg/ps.c:473,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/mux/mpeg/ps.c:502,1
    - Dst: MuxWritePackHeader
      Src: /src/vlc/modules/mux/mpeg/ps.c:518,1
    - Dst: MuxWriteSystemHeader
      Src: /src/vlc/modules/mux/mpeg/ps.c:527,1
    - Dst: MuxWritePSM
      Src: /src/vlc/modules/mux/mpeg/ps.c:539,1
    - Dst: block_FifoGet
      Src: /src/vlc/modules/mux/mpeg/ps.c:543,1
    - Dst: EStoPES
      Src: /src/vlc/modules/mux/mpeg/ps.c:544,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/mux/mpeg/ps.c:547,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/mpeg/ps.c:555,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 1
    argNames:
    - p_mux
    argTypes:
    - sout_mux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 562
    functionName: Mux
    functionSourceFile: /src/vlc/modules/mux/mpeg/ps.c
    functionUses: 2
    functionsReached:
    - EStoPES
    - MuxWritePSM
    - block_ChainAppend
    - VLC_TICK_FROM_SEC
    - block_FifoGet
    - sout_AccessOutWrite
    - MuxWritePackHeader
    - MuxWriteSystemHeader
    - sout_MuxGetStream
    linkageType: ''
    returnType: int
    signature: int Mux( sout_mux_t *p_mux )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - id
    - i_range
    argTypes:
    - bool*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 575
    functionName: StreamIdInit
    functionSourceFile: /src/vlc/modules/mux/mpeg/ps.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamIdInit( bool *id, int i_range )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - id
    - i_id_min
    - i_id_max
    argTypes:
    - bool*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 590
    functionName: StreamIdGet
    functionSourceFile: /src/vlc/modules/mux/mpeg/ps.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int StreamIdGet( bool *id, int i_id_min, int i_id_max )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - id
    - i_id_min
    - i_id
    argTypes:
    - bool*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 594
    functionName: StreamIdRelease
    functionSourceFile: /src/vlc/modules/mux/mpeg/ps.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamIdRelease( bool *id, int i_id_min, int i_id )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TO_SCALE_NZ
      Src: /src/vlc/modules/mux/mpeg/ps.c:605,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/mux/mpeg/ps.c:607,1
    - Dst: bits_initwrite
      Src: /src/vlc/modules/mux/mpeg/ps.c:611,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:612,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:619,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:623,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:626,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:627,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:628,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:629,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:630,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:631,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:635,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:637,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:639,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:640,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:644,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:645,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:646,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/mux/mpeg/ps.c:651,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 3
    argNames:
    - p_mux
    - p_buf
    - i_dts
    argTypes:
    - sout_mux_t*
    - block_t**
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 596
    functionDepth: 3
    functionLinenumber: 596
    functionLinenumberEnd: 652
    functionName: MuxWritePackHeader
    functionSourceFile: /src/vlc/modules/mux/mpeg/ps.c
    functionUses: 1
    functionsReached:
    - TO_SCALE_NZ
    - bits_write
    - block_ChainAppend
    - block_Alloc
    - bits_initwrite
    linkageType: ''
    returnType: void
    signature: "void MuxWritePackHeader( sout_mux_t *p_mux, block_t **p_buf,\n                                vlc_tick_t
      i_dts )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/mux/mpeg/ps.c:683,1
    - Dst: bits_initwrite
      Src: /src/vlc/modules/mux/mpeg/ps.c:691,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:692,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:693,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:694,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:695,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:696,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:698,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:699,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:700,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:701,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:702,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:704,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:706,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:707,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:708,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:727,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:732,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:735,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:738,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:739,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:743,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:744,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:749,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:750,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/mux/mpeg/ps.c:754,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 54
    argCount: 3
    argNames:
    - p_mux
    - p_buf
    - i_dts
    argTypes:
    - sout_mux_t*
    - block_t**
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 654
    functionDepth: 3
    functionLinenumber: 654
    functionLinenumberEnd: 755
    functionName: MuxWriteSystemHeader
    functionSourceFile: /src/vlc/modules/mux/mpeg/ps.c
    functionUses: 1
    functionsReached:
    - block_Alloc
    - bits_write
    - bits_initwrite
    - block_ChainAppend
    linkageType: ''
    returnType: void
    signature: "void MuxWriteSystemHeader( sout_mux_t *p_mux, block_t **p_buf,\n                                  vlc_tick_t
      i_dts )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/mux/mpeg/ps.c:775,1
    - Dst: memset
      Src: /src/vlc/modules/mux/mpeg/ps.c:780,1
    - Dst: bits_initwrite
      Src: /src/vlc/modules/mux/mpeg/ps.c:781,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:782,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:783,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:784,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:785,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:786,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:787,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:788,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:790,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:793,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:799,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:800,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:805,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:807,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:808,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:810,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:811,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:812,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:813,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:817,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/ps.c:828,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/mux/mpeg/ps.c:831,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 3
    argNames:
    - p_mux
    - p_buf
    - i_dts
    argTypes:
    - sout_mux_t*
    - block_t**
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 757
    functionDepth: 3
    functionLinenumber: 757
    functionLinenumberEnd: 832
    functionName: MuxWritePSM
    functionSourceFile: /src/vlc/modules/mux/mpeg/ps.c
    functionUses: 1
    functionsReached:
    - bits_write
    - block_ChainAppend
    - memset
    - block_Alloc
    - bits_initwrite
    linkageType: ''
    returnType: void
    signature: void MuxWritePSM( sout_mux_t *p_mux, block_t **p_buf, vlc_tick_t i_dts
      )
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: bits_initwrite
      Src: /src/vlc/modules/mux/mpeg/pes.c:86,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:89,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:90,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:102,1
    - Dst: bits_align
      Src: /src/vlc/modules/mux/mpeg/pes.c:103,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:148,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:150,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:152,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:153,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:154,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:155,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:156,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:157,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:159,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:160,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:161,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:162,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:163,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:164,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:165,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:166,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:171,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:172,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:173,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:174,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:175,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:176,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:177,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:183,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:184,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:185,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:186,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:187,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:188,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:189,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:194,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:195,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:196,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:197,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:198,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:199,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:208,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:209,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:210,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:211,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:218,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:229,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:234,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:239,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:250,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:251,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:252,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:253,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:254,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:255,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:256,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:261,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:262,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:263,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:264,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:265,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:266,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:267,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:271,1
    - Dst: bits_align
      Src: /src/vlc/modules/mux/mpeg/pes.c:279,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:282,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/pes.c:285,1
    - Dst: bits_align
      Src: /src/vlc/modules/mux/mpeg/pes.c:288,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 151
    argCount: 9
    argNames:
    - p_hdr
    - i_pts
    - i_dts
    - i_es_size
    - p_fmt
    - i_stream_id
    - b_mpeg2
    - b_data_alignment
    - i_header_size
    argTypes:
    - uint8_t*
    - ts_90khz_t
    - ts_90khz_t
    - int
    - es_format_t*
    - int
    - bool
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 291
    functionName: PESHeader
    functionSourceFile: /src/vlc/modules/mux/mpeg/pes.c
    functionUses: 0
    functionsReached:
    - bits_align
    - bits_write
    - bits_initwrite
    linkageType: ''
    returnType: int
    signature: "int PESHeader( uint8_t *p_hdr, ts_90khz_t i_pts, ts_90khz_t i_dts,\n
      \                            int i_es_size, const es_format_t *p_fmt,\n                             int
      i_stream_id, bool b_mpeg2,\n                             bool b_data_alignment,
      int i_header_size )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/mux/mpeg/pes.c:338,1
    - Dst: assert
      Src: /src/vlc/modules/mux/mpeg/pes.c:339,1
    - Dst: PES_Repack
      Src: /src/vlc/modules/mux/mpeg/pes.c:351,1
    - Dst: assert
      Src: /src/vlc/modules/mux/mpeg/pes.c:355,1
    - Dst: TO_SCALE_NZ
      Src: /src/vlc/modules/mux/mpeg/pes.c:362,1
    - Dst: TO_SCALE_NZ
      Src: /src/vlc/modules/mux/mpeg/pes.c:364,1
    - Dst: __MIN
      Src: /src/vlc/modules/mux/mpeg/pes.c:371,1
    - Dst: PESHeader
      Src: /src/vlc/modules/mux/mpeg/pes.c:372,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/mux/mpeg/pes.c:380,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/mux/mpeg/pes.c:389,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mpeg/pes.c:397,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mpeg/pes.c:404,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 8
    argNames:
    - pp_pes
    - p_fmt
    - i_stream_id
    - b_mpeg2
    - b_data_alignment
    - i_header_size
    - i_max_pes_size
    - ts_offset
    argTypes:
    - block_t**
    - es_format_t*
    - int
    - int
    - int
    - int
    - int
    - vlc_tick_t
    assertStmts:
    - condition: ( i_max_pes_size >= 0 )
      pos:
        line_end: 337
        line_start: 337
        source_file: /src/vlc/modules/mux/mpeg/pes.c
    - condition: ( i_header_size >= 0 )
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/vlc/modules/mux/mpeg/pes.c
    - condition: (*pp_pes == p_es)
      pos:
        line_end: 354
        line_start: 354
        source_file: /src/vlc/modules/mux/mpeg/pes.c
    constantsTouched: []
    func_position:
      end: 424
      start: 321
    functionDepth: 4
    functionLinenumber: 321
    functionLinenumberEnd: 424
    functionName: EStoPES
    functionSourceFile: /src/vlc/modules/mux/mpeg/pes.c
    functionUses: 1
    functionsReached:
    - TO_SCALE_NZ
    - assert
    - block_Realloc
    - PES_Repack
    - PESHeader
    - memcpy
    - block_Alloc
    - __MIN
    linkageType: ''
    returnType: void
    signature: "void EStoPES ( block_t **pp_pes,\n                   const es_format_t
      *p_fmt, int i_stream_id,\n                   int b_mpeg2, int b_data_alignment,
      int i_header_size,\n                   int i_max_pes_size, vlc_tick_t ts_offset
      )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: __MIN
      Src: /src/vlc/modules/mux/mpeg/tsutil.c:51,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/mux/mpeg/tsutil.c:53,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mpeg/tsutil.c:85,1
    - Dst: pf_callback
      Src: /src/vlc/modules/mux/mpeg/tsutil.c:89,1
    - Dst: block_Release
      Src: /src/vlc/modules/mux/mpeg/tsutil.c:96,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 6
    argNames:
    - p_opaque
    - pf_callback
    - p_pes
    - i_pid
    - pb_discontinuity
    - pi_continuity_counter
    argTypes:
    - void*
    - PEStoTSCallback
    - block_t*
    - uint16_t
    - bool*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 106
    functionName: PEStoTS
    functionSourceFile: /src/vlc/modules/mux/mpeg/tsutil.c
    functionUses: 0
    functionsReached:
    - pf_callback
    - block_Release
    - memcpy
    - block_Alloc
    - __MIN
    linkageType: ''
    returnType: void
    signature: "void PEStoTS( void *p_opaque, PEStoTSCallback pf_callback, block_t
      *p_pes,\n              uint16_t i_pid, bool *pb_discontinuity, uint8_t *pi_continuity_counter
      )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/mux/mpeg/csa.c:48,1
    - Dst: dvbcsa_key_alloc
      Src: /src/vlc/modules/mux/mpeg/csa.c:51,1
    - Dst: dvbcsa_key_alloc
      Src: /src/vlc/modules/mux/mpeg/csa.c:53,1
    - Dst: dvbcsa_key_free
      Src: /src/vlc/modules/mux/mpeg/csa.c:57,1
    - Dst: free
      Src: /src/vlc/modules/mux/mpeg/csa.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: csa_New
    functionSourceFile: /src/vlc/modules/mux/mpeg/csa.c
    functionUses: 0
    functionsReached:
    - calloc
    - dvbcsa_key_alloc
    - dvbcsa_key_free
    - free
    linkageType: ''
    returnType: csa_t
    signature: csa_t *csa_New( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dvbcsa_key_free
      Src: /src/vlc/modules/mux/mpeg/csa.c:68,1
    - Dst: dvbcsa_key_free
      Src: /src/vlc/modules/mux/mpeg/csa.c:69,1
    - Dst: free
      Src: /src/vlc/modules/mux/mpeg/csa.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - csa_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: csa_Delete
    functionSourceFile: /src/vlc/modules/mux/mpeg/csa.c
    functionUses: 0
    functionsReached:
    - free
    - dvbcsa_key_free
    linkageType: ''
    returnType: void
    signature: void csa_Delete( csa_t *c )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/mux/mpeg/csa.c:78,1
    - Dst: strlen
      Src: /src/vlc/modules/mux/mpeg/csa.c:85,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/mux/mpeg/csa.c:87,1
    - Dst: strtoull
      Src: /src/vlc/modules/mux/mpeg/csa.c:92,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mpeg/csa.c:101,1
    - Dst: dvbcsa_key_set
      Src: /src/vlc/modules/mux/mpeg/csa.c:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - p_caller
    - c
    - psz_ck
    - set_odd
    argTypes:
    - vlc_object_t*
    - csa_t*
    - char*
    - bool
    assertStmts:
    - condition: (c != NULL)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/vlc/modules/mux/mpeg/csa.c
    constantsTouched: []
    func_position:
      end: 110
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 110
    functionName: csa_SetCW
    functionSourceFile: /src/vlc/modules/mux/mpeg/csa.c
    functionUses: 0
    functionsReached:
    - strtoull
    - assert
    - dvbcsa_key_set
    - strlen
    - msg_Dbg
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int csa_SetCW( vlc_object_t *p_caller, csa_t *c, char *psz_ck, bool
      set_odd )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/mux/mpeg/csa.c:117,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mpeg/csa.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_caller
    - c
    - use_odd
    argTypes:
    - vlc_object_t*
    - csa_t*
    - bool
    assertStmts:
    - condition: (c != NULL)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/vlc/modules/mux/mpeg/csa.c
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: csa_UseKey
    functionSourceFile: /src/vlc/modules/mux/mpeg/csa.c
    functionUses: 0
    functionsReached:
    - assert
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void csa_UseKey( vlc_object_t *p_caller, csa_t *c, bool use_odd )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dvbcsa_decrypt
      Src: /src/vlc/modules/mux/mpeg/csa.c:158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - c
    - pkt
    - i_pkt_size
    argTypes:
    - csa_t*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 159
    functionName: csa_Decrypt
    functionSourceFile: /src/vlc/modules/mux/mpeg/csa.c
    functionUses: 0
    functionsReached:
    - dvbcsa_decrypt
    linkageType: ''
    returnType: void
    signature: void csa_Decrypt( csa_t *c, uint8_t *pkt, int i_pkt_size )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dvbcsa_encrypt
      Src: /src/vlc/modules/mux/mpeg/csa.c:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - c
    - pkt
    - i_pkt_size
    argTypes:
    - csa_t*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 199
    functionName: csa_Encrypt
    functionSourceFile: /src/vlc/modules/mux/mpeg/csa.c
    functionUses: 0
    functionsReached:
    - dvbcsa_encrypt
    linkageType: ''
    returnType: void
    signature: void csa_Encrypt( csa_t *c, uint8_t *pkt, int i_pkt_size )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: csa_New
    functionSourceFile: /src/vlc/modules/mux/mpeg/csa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: csa_t
    signature: csa_t *csa_New( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/mpeg/csa.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - csa_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: csa_Delete
    functionSourceFile: /src/vlc/modules/mux/mpeg/csa.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void csa_Delete( csa_t *c )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/mpeg/csa.c:214,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/mpeg/csa.c:215,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/mpeg/csa.c:216,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/mpeg/csa.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - p_caller
    - c
    - psz_ck
    - set_odd
    argTypes:
    - vlc_object_t*
    - csa_t*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 219
    functionName: csa_SetCW
    functionSourceFile: /src/vlc/modules/mux/mpeg/csa.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int csa_SetCW( vlc_object_t *p_caller, csa_t *c, char *psz_ck, bool
      set_odd )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/mpeg/csa.c:223,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/mpeg/csa.c:224,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/mpeg/csa.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_caller
    - c
    - use_odd
    argTypes:
    - vlc_object_t*
    - csa_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: csa_UseKey
    functionSourceFile: /src/vlc/modules/mux/mpeg/csa.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void csa_UseKey( vlc_object_t *p_caller, csa_t *c, bool use_odd )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/mpeg/csa.c:230,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/mpeg/csa.c:231,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/mpeg/csa.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - c
    - pkt
    - i_pkt_size
    argTypes:
    - csa_t*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: csa_Decrypt
    functionSourceFile: /src/vlc/modules/mux/mpeg/csa.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void csa_Decrypt( csa_t *c, uint8_t *pkt, int i_pkt_size )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/mpeg/csa.c:237,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/mpeg/csa.c:238,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/mpeg/csa.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - c
    - pkt
    - i_pkt_size
    argTypes:
    - csa_t*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 240
    functionName: csa_Encrypt
    functionSourceFile: /src/vlc/modules/mux/mpeg/csa.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void csa_Encrypt( csa_t *c, uint8_t *pkt, int i_pkt_size )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/vlc/modules/mux/mpeg/dvbpsi_compat.h:36,1
    - Dst: strncmp
      Src: /src/vlc/modules/mux/mpeg/dvbpsi_compat.h:37,1
    - Dst: strncmp
      Src: /src/vlc/modules/mux/mpeg/dvbpsi_compat.h:38,1
    - Dst: msg_Err
      Src: /src/vlc/modules/mux/mpeg/dvbpsi_compat.h:40,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/mux/mpeg/dvbpsi_compat.h:42,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mpeg/dvbpsi_compat.h:46,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - p_dvbpsi
    - level
    - msg
    argTypes:
    - dvbpsi_t*
    - dvbpsi_msg_level_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 50
    functionName: dvbpsi_messages
    functionSourceFile: /src/vlc/modules/mux/mpeg/dvbpsi_compat.h
    functionUses: 0
    functionsReached:
    - strncmp
    - msg_Dbg
    - msg_Warn
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void dvbpsi_messages(dvbpsi_t *p_dvbpsi, const dvbpsi_msg_level_t level,
      const char* msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - sout_buffer_chain_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: BufferChainInit
    functionSourceFile: /src/vlc/modules/mux/mpeg/ts.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BufferChainInit  ( sout_buffer_chain_t *c )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/mux/mpeg/ts.c:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - c
    - b
    argTypes:
    - sout_buffer_chain_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 277
    functionName: BufferChainAppend
    functionSourceFile: /src/vlc/modules/mux/mpeg/ts.c
    functionUses: 0
    functionsReached:
    - block_ChainLastAppend
    linkageType: ''
    returnType: void
    signature: void BufferChainAppend( sout_buffer_chain_t *c, block_t *b )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferChainAppend
      Src: /src/vlc/modules/mux/mpeg/ts.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opaque
    - b
    argTypes:
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: BufferChainAppendCallback
    functionSourceFile: /src/vlc/modules/mux/mpeg/ts.c
    functionUses: 0
    functionsReached:
    - BufferChainAppend
    linkageType: ''
    returnType: void
    signature: void BufferChainAppendCallback( void *opaque, block_t *b )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - sout_buffer_chain_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 297
    functionName: BufferChainGet
    functionSourceFile: /src/vlc/modules/mux/mpeg/ts.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: block_t
    signature: block_t *BufferChainGet( sout_buffer_chain_t *c )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - sout_buffer_chain_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 302
    functionName: BufferChainPeek
    functionSourceFile: /src/vlc/modules/mux/mpeg/ts.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: block_t
    signature: block_t *BufferChainPeek( sout_buffer_chain_t *c )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/mux/mpeg/ts.c:306,1
    - Dst: BufferChainInit
      Src: /src/vlc/modules/mux/mpeg/ts.c:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - sout_buffer_chain_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 308
    functionName: BufferChainClean
    functionSourceFile: /src/vlc/modules/mux/mpeg/ts.c
    functionUses: 0
    functionsReached:
    - block_ChainRelease
    - BufferChainInit
    linkageType: ''
    returnType: void
    signature: void BufferChainClean( sout_buffer_chain_t *c )
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - p_mux
    - i_pid_start
    argTypes:
    - sout_mux_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 403
    functionName: GetNextFreePID
    functionSourceFile: /src/vlc/modules/mux/mpeg/ts.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetNextFreePID( sout_mux_t *p_mux, int i_pid_start )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetNextFreePID
      Src: /src/vlc/modules/mux/mpeg/ts.c:428,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - p_mux
    - i_cat
    argTypes:
    - sout_mux_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 432
    functionName: AllocatePID
    functionSourceFile: /src/vlc/modules/mux/mpeg/ts.c
    functionUses: 0
    functionsReached:
    - GetNextFreePID
    linkageType: ''
    returnType: int
    signature: int AllocatePID( sout_mux_t *p_mux, int i_cat )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pa
    - pb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 440
    functionName: pmtcompare
    functionSourceFile: /src/vlc/modules/mux/mpeg/ts.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pmtcompare( const void *pa, const void *pb )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pa
    - pb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 445
    functionName: intcompare
    functionSourceFile: /src/vlc/modules/mux/mpeg/ts.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int intcompare( const void *pa, const void *pb )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: var_CreateGetNonEmptyStringCommand
      Src: /src/vlc/modules/mux/mpeg/ts.c:471,1
    - Dst: csa_New
      Src: /src/vlc/modules/mux/mpeg/ts.c:475,1
    - Dst: unlikely
      Src: /src/vlc/modules/mux/mpeg/ts.c:477,1
    - Dst: free
      Src: /src/vlc/modules/mux/mpeg/ts.c:479,1
    - Dst: csa_SetCW
      Src: /src/vlc/modules/mux/mpeg/ts.c:483,1
    - Dst: free
      Src: /src/vlc/modules/mux/mpeg/ts.c:485,1
    - Dst: csa_Delete
      Src: /src/vlc/modules/mux/mpeg/ts.c:486,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/mux/mpeg/ts.c:492,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/mux/mpeg/ts.c:493,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/mux/mpeg/ts.c:494,1
    - Dst: var_CreateGetNonEmptyStringCommand
      Src: /src/vlc/modules/mux/mpeg/ts.c:496,1
    - Dst: csa_SetCW
      Src: /src/vlc/modules/mux/mpeg/ts.c:497,1
    - Dst: csa_SetCW
      Src: /src/vlc/modules/mux/mpeg/ts.c:498,1
    - Dst: free
      Src: /src/vlc/modules/mux/mpeg/ts.c:499,1
    - Dst: var_Create
      Src: /src/vlc/modules/mux/mpeg/ts.c:501,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/mux/mpeg/ts.c:502,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/mux/mpeg/ts.c:503,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/mux/mpeg/ts.c:504,1
    - Dst: var_Get
      Src: /src/vlc/modules/mux/mpeg/ts.c:507,1
    - Dst: var_Set
      Src: /src/vlc/modules/mux/mpeg/ts.c:508,1
    - Dst: var_SetString
      Src: /src/vlc/modules/mux/mpeg/ts.c:509,1
    - Dst: free
      Src: /src/vlc/modules/mux/mpeg/ts.c:510,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/mux/mpeg/ts.c:512,1
    - Dst: msg_Err
      Src: /src/vlc/modules/mux/mpeg/ts.c:515,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mpeg/ts.c:520,1
    - Dst: free
      Src: /src/vlc/modules/mux/mpeg/ts.c:522,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 523
    functionName: csaSetup
    functionSourceFile: /src/vlc/modules/mux/mpeg/ts.c
    functionUses: 0
    functionsReached:
    - csa_Delete
    - var_GetBool
    - var_AddCallback
    - vlc_mutex_init
    - unlikely
    - csa_New
    - var_Create
    - msg_Err
    - free
    - msg_Dbg
    - var_Set
    - var_CreateGetNonEmptyStringCommand
    - var_GetInteger
    - var_SetString
    - csa_SetCW
    - var_Get
    linkageType: ''
    returnType: void
    signature: void csaSetup( vlc_object_t *p_this )
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: config_ChainParse
      Src: /src/vlc/modules/mux/mpeg/ts.c:533,1
    - Dst: calloc
      Src: /src/vlc/modules/mux/mpeg/ts.c:535,1
    - Dst: dvbpsi_new
      Src: /src/vlc/modules/mux/mpeg/ts.c:540,1
    - Dst: free
      Src: /src/vlc/modules/mux/mpeg/ts.c:543,1
    - Dst: var_GetString
      Src: /src/vlc/modules/mux/mpeg/ts.c:548,1
    - Dst: strcmp
      Src: /src/vlc/modules/mux/mpeg/ts.c:549,1
    - Dst: free
      Src: /src/vlc/modules/mux/mpeg/ts.c:551,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/mux/mpeg/ts.c:553,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/mux/mpeg/ts.c:559,1
    - Dst: strtoul
      Src: /src/vlc/modules/mux/mpeg/ts.c:563,1
    - Dst: msg_Err
      Src: /src/vlc/modules/mux/mpeg/ts.c:570,1
    - Dst: msg_Err
      Src: /src/vlc/modules/mux/mpeg/ts.c:580,1
    - Dst: qsort
      Src: /src/vlc/modules/mux/mpeg/ts.c:586,1
    - Dst: free
      Src: /src/vlc/modules/mux/mpeg/ts.c:588,1
    - Dst: vlc_rand_bytes
      Src: /src/vlc/modules/mux/mpeg/ts.c:591,1
    - Dst: nrand48
      Src: /src/vlc/modules/mux/mpeg/ts.c:592,1
    - Dst: var_Get
      Src: /src/vlc/modules/mux/mpeg/ts.c:595,1
    - Dst: nrand48
      Src: /src/vlc/modules/mux/mpeg/ts.c:599,1
    - Dst: var_Get
      Src: /src/vlc/modules/mux/mpeg/ts.c:601,1
    - Dst: nrand48
      Src: /src/vlc/modules/mux/mpeg/ts.c:605,1
    - Dst: nrand48
      Src: /src/vlc/modules/mux/mpeg/ts.c:607,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/mux/mpeg/ts.c:610,1
    - Dst: strchr
      Src: /src/vlc/modules/mux/mpeg/ts.c:619,1
    - Dst: FromLocaleDup
      Src: /src/vlc/modules/mux/mpeg/ts.c:624,1
    - Dst: FromLocaleDup
      Src: /src/vlc/modules/mux/mpeg/ts.c:626,1
    - Dst: free
      Src: /src/vlc/modules/mux/mpeg/ts.c:630,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/mux/mpeg/ts.c:633,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/mux/mpeg/ts.c:635,1
    - Dst: strtoul
      Src: /src/vlc/modules/mux/mpeg/ts.c:643,1
    - Dst: msg_Err
      Src: /src/vlc/modules/mux/mpeg/ts.c:652,1
    - Dst: free
      Src: /src/vlc/modules/mux/mpeg/ts.c:660,1
    - Dst: var_Get
      Src: /src/vlc/modules/mux/mpeg/ts.c:669,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/mux/mpeg/ts.c:673,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/mux/mpeg/ts.c:674,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/mux/mpeg/ts.c:675,1
    - Dst: var_Get
      Src: /src/vlc/modules/mux/mpeg/ts.c:677,1
    - Dst: msg_Err
      Src: /src/vlc/modules/mux/mpeg/ts.c:680,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/mux/mpeg/ts.c:683,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/mux/mpeg/ts.c:687,1
    - Dst: var_Get
      Src: /src/vlc/modules/mux/mpeg/ts.c:690,1
    - Dst: msg_Err
      Src: /src/vlc/modules/mux/mpeg/ts.c:693,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/mux/mpeg/ts.c:696,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/mux/mpeg/ts.c:700,1
    - Dst: var_Get
      Src: /src/vlc/modules/mux/mpeg/ts.c:703,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/mux/mpeg/ts.c:704,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mpeg/ts.c:706,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/mux/mpeg/ts.c:709,1
    - Dst: csaSetup
      Src: /src/vlc/modules/mux/mpeg/ts.c:713,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 107
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 528
    functionDepth: 3
    functionLinenumber: 528
    functionLinenumberEnd: 721
    functionName: Open
    functionSourceFile: /src/vlc/modules/mux/mpeg/ts.c
    functionUses: 33
    functionsReached:
    - FromLocaleDup
    - strchr
    - var_GetString
    - nrand48
    - var_GetInteger
    - strtoul
    - msg_Err
    - calloc
    - dvbpsi_new
    - msg_Dbg
    - qsort
    - var_GetNonEmptyString
    - strcmp
    - vlc_rand_bytes
    - var_GetBool
    - var_Get
    - VLC_TICK_FROM_MS
    - config_ChainParse
    - free
    - csaSetup
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dvbpsi_delete
      Src: /src/vlc/modules/mux/mpeg/ts.c:732,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/mux/mpeg/ts.c:736,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/mux/mpeg/ts.c:737,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/mux/mpeg/ts.c:738,1
    - Dst: csa_Delete
      Src: /src/vlc/modules/mux/mpeg/ts.c:739,1
    - Dst: free
      Src: /src/vlc/modules/mux/mpeg/ts.c:744,1
    - Dst: free
      Src: /src/vlc/modules/mux/mpeg/ts.c:745,1
    - Dst: free
      Src: /src/vlc/modules/mux/mpeg/ts.c:748,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 749
    functionName: Close
    functionSourceFile: /src/vlc/modules/mux/mpeg/ts.c
    functionUses: 107
    functionsReached:
    - free
    - csa_Delete
    - var_DelCallback
    - dvbpsi_delete
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t * p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/mpeg/ts.c:758,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/mpeg/ts.c:758,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/mux/mpeg/ts.c:763,1
    - Dst: csa_SetCW
      Src: /src/vlc/modules/mux/mpeg/ts.c:764,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/mux/mpeg/ts.c:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - p_this
    - psz_cmd
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 754
    functionDepth: 2
    functionLinenumber: 754
    functionLinenumberEnd: 768
    functionName: ChangeKeyCallback
    functionSourceFile: /src/vlc/modules/mux/mpeg/ts.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_lock
    - csa_SetCW
    - vlc_mutex_unlock
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int ChangeKeyCallback( vlc_object_t *p_this, char const *psz_cmd,\n
      \                          vlc_value_t oldval, vlc_value_t newval,\n                           void
      *p_data )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/mpeg/ts.c:777,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/mpeg/ts.c:777,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/mpeg/ts.c:777,1
    - Dst: strcmp
      Src: /src/vlc/modules/mux/mpeg/ts.c:782,1
    - Dst: strcmp
      Src: /src/vlc/modules/mux/mpeg/ts.c:783,1
    - Dst: strcmp
      Src: /src/vlc/modules/mux/mpeg/ts.c:784,1
    - Dst: strcmp
      Src: /src/vlc/modules/mux/mpeg/ts.c:788,1
    - Dst: strcmp
      Src: /src/vlc/modules/mux/mpeg/ts.c:789,1
    - Dst: strcmp
      Src: /src/vlc/modules/mux/mpeg/ts.c:790,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/mux/mpeg/ts.c:798,1
    - Dst: csa_UseKey
      Src: /src/vlc/modules/mux/mpeg/ts.c:799,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/mux/mpeg/ts.c:800,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 5
    argNames:
    - p_this
    - psz_cmd
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 773
    functionDepth: 2
    functionLinenumber: 773
    functionLinenumberEnd: 803
    functionName: ActiveKeyCallback
    functionSourceFile: /src/vlc/modules/mux/mpeg/ts.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - strcmp
    - csa_UseKey
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int ActiveKeyCallback( vlc_object_t *p_this, char const *psz_cmd,\n
      \                          vlc_value_t oldval, vlc_value_t newval,\n                           void
      *p_data )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/mpeg/ts.c:810,1
    - Dst: va_arg
      Src: /src/vlc/modules/mux/mpeg/ts.c:817,1
    - Dst: va_arg
      Src: /src/vlc/modules/mux/mpeg/ts.c:822,1
    - Dst: strdup
      Src: /src/vlc/modules/mux/mpeg/ts.c:823,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - p_mux
    - i_query
    - args
    argTypes:
    - sout_mux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 829
    functionName: Control
    functionSourceFile: /src/vlc/modules/mux/mpeg/ts.c
    functionUses: 57
    functionsReached:
    - va_arg
    - strdup
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int Control( sout_mux_t *p_mux, int i_query, va_list args )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mpeg/ts.c:863,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 2
    argNames:
    - p_mux
    - p_removed_pcr_input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 867
    functionName: SelectPCRStream
    functionSourceFile: /src/vlc/modules/mux/mpeg/ts.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void SelectPCRStream( sout_mux_t *p_mux, sout_input_t *p_removed_pcr_input
      )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/mux/mpeg/ts.c:877,1
    - Dst: AllocatePID
      Src: /src/vlc/modules/mux/mpeg/ts.c:884,1
    - Dst: FillPMTESParams
      Src: /src/vlc/modules/mux/mpeg/ts.c:886,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/mux/mpeg/ts.c:889,1
    - Dst: free
      Src: /src/vlc/modules/mux/mpeg/ts.c:891,1
    - Dst: calloc
      Src: /src/vlc/modules/mux/mpeg/ts.c:896,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mpeg/ts.c:900,1
    - Dst: vlc_find_iso639
      Src: /src/vlc/modules/mux/mpeg/ts.c:911,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mpeg/ts.c:914,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mpeg/ts.c:916,1
    - Dst: BufferChainInit
      Src: /src/vlc/modules/mux/mpeg/ts.c:921,1
    - Dst: SelectPCRStream
      Src: /src/vlc/modules/mux/mpeg/ts.c:927,1
    - Dst: free
      Src: /src/vlc/modules/mux/mpeg/ts.c:948,1
    - Dst: free
      Src: /src/vlc/modules/mux/mpeg/ts.c:949,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 2
    argNames:
    - p_mux
    - p_input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 872
    functionDepth: 2
    functionLinenumber: 872
    functionLinenumberEnd: 952
    functionName: AddStream
    functionSourceFile: /src/vlc/modules/mux/mpeg/ts.c
    functionUses: 9
    functionsReached:
    - BufferChainInit
    - FillPMTESParams
    - AllocatePID
    - memcpy
    - vlc_find_iso639
    - calloc
    - free
    - msg_Dbg
    - SelectPCRStream
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int AddStream( sout_mux_t *p_mux, sout_input_t *p_input )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mpeg/ts.c:963,1
    - Dst: SelectPCRStream
      Src: /src/vlc/modules/mux/mpeg/ts.c:968,1
    - Dst: BufferChainClean
      Src: /src/vlc/modules/mux/mpeg/ts.c:972,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/mux/mpeg/ts.c:974,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mpeg/ts.c:978,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/mux/mpeg/ts.c:980,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mpeg/ts.c:984,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/mux/mpeg/ts.c:986,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mpeg/ts.c:990,1
    - Dst: free
      Src: /src/vlc/modules/mux/mpeg/ts.c:993,1
    - Dst: free
      Src: /src/vlc/modules/mux/mpeg/ts.c:994,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - p_mux
    - p_input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 957
    functionDepth: 2
    functionLinenumber: 957
    functionLinenumberEnd: 999
    functionName: DelStream
    functionSourceFile: /src/vlc/modules/mux/mpeg/ts.c
    functionUses: 1
    functionsReached:
    - free
    - msg_Dbg
    - SelectPCRStream
    - BufferChainClean
    - var_GetInteger
    linkageType: ''
    returnType: void
    signature: void DelStream( sout_mux_t *p_mux, sout_input_t *p_input )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BufferChainPeek
      Src: /src/vlc/modules/mux/mpeg/ts.c:1004,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - c
    - depth
    argTypes:
    - sout_buffer_chain_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 1001
    functionDepth: 1
    functionLinenumber: 1001
    functionLinenumberEnd: 1011
    functionName: SetHeader
    functionSourceFile: /src/vlc/modules/mux/mpeg/ts.c
    functionUses: 0
    functionsReached:
    - BufferChainPeek
    linkageType: ''
    returnType: void
    signature: "void SetHeader( sout_buffer_chain_t *c,\n                        int
      depth )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lldiv
      Src: /src/vlc/modules/mux/mpeg/ts.c:1015,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/mux/mpeg/ts.c:1016,1
    - Dst: memset
      Src: /src/vlc/modules/mux/mpeg/ts.c:1020,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - p_data
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1013
    functionDepth: 1
    functionLinenumber: 1013
    functionLinenumberEnd: 1025
    functionName: Pack_Opus
    functionSourceFile: /src/vlc/modules/mux/mpeg/ts.c
    functionUses: 0
    functionsReached:
    - lldiv
    - block_Realloc
    - memset
    linkageType: ''
    returnType: block_t
    signature: block_t *Pack_Opus(block_t *p_data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: block_FifoCount
      Src: /src/vlc/modules/mux/mpeg/ts.c:1032,1
    - Dst: block_FifoShow
      Src: /src/vlc/modules/mux/mpeg/ts.c:1034,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/mux/mpeg/ts.c:1048,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/mux/mpeg/ts.c:1068,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/mux/mpeg/ts.c:1073,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 2
    argNames:
    - p_input
    - p_data
    argTypes:
    - sout_input_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1027
    functionDepth: 1
    functionLinenumber: 1027
    functionLinenumberEnd: 1075
    functionName: SetBlockDuration
    functionSourceFile: /src/vlc/modules/mux/mpeg/ts.c
    functionUses: 0
    functionsReached:
    - block_FifoShow
    - block_FifoCount
    - vlc_tick_from_samples
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: void
    signature: void SetBlockDuration( sout_input_t *p_input, block_t *p_data )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetDWBE
      Src: /src/vlc/modules/mux/mpeg/ts.c:1083,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/mux/mpeg/ts.c:1084,1
    - Dst: block_Release
      Src: /src/vlc/modules/mux/mpeg/ts.c:1103,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/mux/mpeg/ts.c:1109,1
    - Dst: unlikely
      Src: /src/vlc/modules/mux/mpeg/ts.c:1110,1
    - Dst: block_Release
      Src: /src/vlc/modules/mux/mpeg/ts.c:1112,1
    - Dst: j2k_get_profile
      Src: /src/vlc/modules/mux/mpeg/ts.c:1123,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mpeg/ts.c:1127,1
    - Dst: SetWBE
      Src: /src/vlc/modules/mux/mpeg/ts.c:1128,1
    - Dst: SetWBE
      Src: /src/vlc/modules/mux/mpeg/ts.c:1129,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mpeg/ts.c:1130,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/mux/mpeg/ts.c:1133,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/mux/mpeg/ts.c:1134,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mpeg/ts.c:1135,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/mux/mpeg/ts.c:1136,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mpeg/ts.c:1146,1
    - Dst: j2k_get_color_spec
      Src: /src/vlc/modules/mux/mpeg/ts.c:1147,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 2
    argNames:
    - p_data
    - p_fmt
    argTypes:
    - block_t*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1077
    functionDepth: 1
    functionLinenumber: 1077
    functionLinenumberEnd: 1153
    functionName: Encap_J2K
    functionSourceFile: /src/vlc/modules/mux/mpeg/ts.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - block_Release
    - block_Realloc
    - j2k_get_profile
    - SEC_FROM_VLC_TICK
    - SetWBE
    - j2k_get_color_spec
    - memcpy
    - SetDWBE
    - GetDWBE
    - unlikely
    linkageType: ''
    returnType: block_t
    signature: block_t *Encap_J2K( block_t *p_data, const es_format_t *p_fmt )
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: block_FifoCount
      Src: /src/vlc/modules/mux/mpeg/ts.c:1195,1
    - Dst: block_FifoCount
      Src: /src/vlc/modules/mux/mpeg/ts.c:1202,1
    - Dst: block_FifoShow
      Src: /src/vlc/modules/mux/mpeg/ts.c:1210,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/mux/mpeg/ts.c:1214,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/mux/mpeg/ts.c:1217,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/mux/mpeg/ts.c:1218,1
    - Dst: BufferChainClean
      Src: /src/vlc/modules/mux/mpeg/ts.c:1220,1
    - Dst: block_FifoGet
      Src: /src/vlc/modules/mux/mpeg/ts.c:1236,1
    - Dst: Add_ADTS
      Src: /src/vlc/modules/mux/mpeg/ts.c:1243,1
    - Dst: Pack_Opus
      Src: /src/vlc/modules/mux/mpeg/ts.c:1245,1
    - Dst: FixPES
      Src: /src/vlc/modules/mux/mpeg/ts.c:1248,1
    - Dst: SetBlockDuration
      Src: /src/vlc/modules/mux/mpeg/ts.c:1250,1
    - Dst: msg_Err
      Src: /src/vlc/modules/mux/mpeg/ts.c:1254,1
    - Dst: block_Release
      Src: /src/vlc/modules/mux/mpeg/ts.c:1255,1
    - Dst: block_FifoCount
      Src: /src/vlc/modules/mux/mpeg/ts.c:1266,1
    - Dst: block_FifoShow
      Src: /src/vlc/modules/mux/mpeg/ts.c:1268,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/mux/mpeg/ts.c:1277,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/mux/mpeg/ts.c:1282,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/mux/mpeg/ts.c:1285,1
    - Dst: block_Release
      Src: /src/vlc/modules/mux/mpeg/ts.c:1290,1
    - Dst: BufferChainClean
      Src: /src/vlc/modules/mux/mpeg/ts.c:1292,1
    - Dst: BufferChainClean
      Src: /src/vlc/modules/mux/mpeg/ts.c:1299,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/mux/mpeg/ts.c:1315,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/mux/mpeg/ts.c:1327,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/mux/mpeg/ts.c:1331,1
    - Dst: EStoPES
      Src: /src/vlc/modules/mux/mpeg/ts.c:1337,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/mux/mpeg/ts.c:1360,1
    - Dst: Encap_J2K
      Src: /src/vlc/modules/mux/mpeg/ts.c:1361,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/mux/mpeg/ts.c:1366,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/mux/mpeg/ts.c:1370,1
    - Dst: EStoPES
      Src: /src/vlc/modules/mux/mpeg/ts.c:1400,1
    - Dst: BufferChainAppend
      Src: /src/vlc/modules/mux/mpeg/ts.c:1404,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/mux/mpeg/ts.c:1409,1
    - Dst: BufferChainInit
      Src: /src/vlc/modules/mux/mpeg/ts.c:1450,1
    - Dst: GetPAT
      Src: /src/vlc/modules/mux/mpeg/ts.c:1453,1
    - Dst: GetPMT
      Src: /src/vlc/modules/mux/mpeg/ts.c:1454,1
    - Dst: TSNew
      Src: /src/vlc/modules/mux/mpeg/ts.c:1501,1
    - Dst: likely
      Src: /src/vlc/modules/mux/mpeg/ts.c:1514,1
    - Dst: GetPAT
      Src: /src/vlc/modules/mux/mpeg/ts.c:1517,1
    - Dst: GetPMT
      Src: /src/vlc/modules/mux/mpeg/ts.c:1518,1
    - Dst: SetHeader
      Src: /src/vlc/modules/mux/mpeg/ts.c:1519,1
    - Dst: SetHeader
      Src: /src/vlc/modules/mux/mpeg/ts.c:1522,1
    - Dst: BufferChainAppend
      Src: /src/vlc/modules/mux/mpeg/ts.c:1528,1
    - Dst: TSSchedule
      Src: /src/vlc/modules/mux/mpeg/ts.c:1532,1
    CyclomaticComplexity: 97
    EdgeCount: 97
    ICount: 185
    argCount: 1
    argNames:
    - p_mux
    argTypes:
    - sout_mux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1155
    functionDepth: 5
    functionLinenumber: 1155
    functionLinenumberEnd: 1533
    functionName: MuxStreams
    functionSourceFile: /src/vlc/modules/mux/mpeg/ts.c
    functionUses: 0
    functionsReached:
    - Add_ADTS
    - block_Realloc
    - SetBlockDuration
    - block_FifoCount
    - GetPMT
    - block_Alloc
    - Encap_J2K
    - SetHeader
    - BufferChainAppend
    - GetPAT
    - msg_Err
    - block_FifoShow
    - TSSchedule
    - msg_Warn
    - VLC_TICK_FROM_SEC
    - TSNew
    - likely
    - FixPES
    - Pack_Opus
    - block_Release
    - EStoPES
    - BufferChainInit
    - VLC_TICK_FROM_MS
    - block_FifoGet
    - BufferChainClean
    linkageType: ''
    returnType: int
    signature: int MuxStreams( sout_mux_t *p_mux )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_FifoEmpty
      Src: /src/vlc/modules/mux/mpeg/ts.c:1548,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mpeg/ts.c:1550,1
    - Dst: MuxStreams
      Src: /src/vlc/modules/mux/mpeg/ts.c:1555,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - p_mux
    argTypes:
    - sout_mux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1557
      start: 1540
    functionDepth: 6
    functionLinenumber: 1540
    functionLinenumberEnd: 1557
    functionName: Mux
    functionSourceFile: /src/vlc/modules/mux/mpeg/ts.c
    functionUses: 2
    functionsReached:
    - MuxStreams
    - block_FifoEmpty
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int Mux( sout_mux_t *p_mux )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: block_FifoShow
      Src: /src/vlc/modules/mux/mpeg/ts.c:1565,1
    - Dst: block_FifoGet
      Src: /src/vlc/modules/mux/mpeg/ts.c:1570,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/mux/mpeg/ts.c:1574,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mpeg/ts.c:1575,1
    - Dst: block_FifoGet
      Src: /src/vlc/modules/mux/mpeg/ts.c:1593,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/mux/mpeg/ts.c:1594,1
    - Dst: block_FifoShow
      Src: /src/vlc/modules/mux/mpeg/ts.c:1595,1
    - Dst: __MIN
      Src: /src/vlc/modules/mux/mpeg/ts.c:1602,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mpeg/ts.c:1604,1
    - Dst: block_FifoGet
      Src: /src/vlc/modules/mux/mpeg/ts.c:1617,1
    - Dst: block_Release
      Src: /src/vlc/modules/mux/mpeg/ts.c:1618,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 1
    argNames:
    - p_fifo
    argTypes:
    - block_fifo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1622
      start: 1560
    functionDepth: 1
    functionLinenumber: 1560
    functionLinenumberEnd: 1622
    functionName: FixPES
    functionSourceFile: /src/vlc/modules/mux/mpeg/ts.c
    functionUses: 1
    functionsReached:
    - block_Release
    - block_Realloc
    - memcpy
    - block_FifoGet
    - block_FifoShow
    - block_Alloc
    - __MIN
    linkageType: ''
    returnType: block_t
    signature: block_t *FixPES( block_fifo_t *p_fifo )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: block_Realloc
      Src: /src/vlc/modules/mux/mpeg/ts.c:1642,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - p_data
    - p_fmt
    argTypes:
    - block_t*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1663
      start: 1624
    functionDepth: 0
    functionLinenumber: 1624
    functionLinenumberEnd: 1663
    functionName: Add_ADTS
    functionSourceFile: /src/vlc/modules/mux/mpeg/ts.c
    functionUses: 1
    functionsReached:
    - block_Realloc
    linkageType: ''
    returnType: block_t
    signature: block_t *Add_ADTS( block_t *p_data, const es_format_t *p_fmt )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BufferChainInit
      Src: /src/vlc/modules/mux/mpeg/ts.c:1672,1
    - Dst: unlikely
      Src: /src/vlc/modules/mux/mpeg/ts.c:1674,1
    - Dst: BufferChainGet
      Src: /src/vlc/modules/mux/mpeg/ts.c:1681,1
    - Dst: BufferChainAppend
      Src: /src/vlc/modules/mux/mpeg/ts.c:1684,1
    - Dst: BufferChainPeek
      Src: /src/vlc/modules/mux/mpeg/ts.c:1692,1
    - Dst: BufferChainGet
      Src: /src/vlc/modules/mux/mpeg/ts.c:1698,1
    - Dst: BufferChainAppend
      Src: /src/vlc/modules/mux/mpeg/ts.c:1699,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/mux/mpeg/ts.c:1703,1
    - Dst: TSDate
      Src: /src/vlc/modules/mux/mpeg/ts.c:1709,1
    - Dst: TSSchedule
      Src: /src/vlc/modules/mux/mpeg/ts.c:1714,1
    - Dst: TSDate
      Src: /src/vlc/modules/mux/mpeg/ts.c:1722,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 4
    argNames:
    - p_mux
    - p_chain_ts
    - i_pcr_length
    - i_pcr_dts
    argTypes:
    - sout_mux_t*
    - sout_buffer_chain_t*
    - vlc_tick_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1665
    functionDepth: 1
    functionLinenumber: 1665
    functionLinenumberEnd: 1724
    functionName: TSSchedule
    functionSourceFile: /src/vlc/modules/mux/mpeg/ts.c
    functionUses: 2
    functionsReached:
    - BufferChainInit
    - BufferChainAppend
    - BufferChainGet
    - msg_Dbg
    - TSSchedule
    - TSDate
    - unlikely
    - BufferChainPeek
    linkageType: ''
    returnType: int
    signature: "int TSSchedule( sout_mux_t *p_mux, sout_buffer_chain_t *p_chain_ts,\n
      \                      vlc_tick_t i_pcr_length, vlc_tick_t i_pcr_dts )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/mux/mpeg/ts.c:1732,1
    - Dst: BufferChainGet
      Src: /src/vlc/modules/mux/mpeg/ts.c:1744,1
    - Dst: TSSetPCR
      Src: /src/vlc/modules/mux/mpeg/ts.c:1753,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/mux/mpeg/ts.c:1757,1
    - Dst: csa_Encrypt
      Src: /src/vlc/modules/mux/mpeg/ts.c:1758,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/mux/mpeg/ts.c:1759,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/mux/mpeg/ts.c:1765,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/mux/mpeg/ts.c:1769,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - p_mux
    - p_chain_ts
    - i_pcr_length
    - i_pcr_dts
    argTypes:
    - sout_mux_t*
    - sout_buffer_chain_t*
    - vlc_tick_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1726
    functionDepth: 1
    functionLinenumber: 1726
    functionLinenumberEnd: 1771
    functionName: TSDate
    functionSourceFile: /src/vlc/modules/mux/mpeg/ts.c
    functionUses: 1
    functionsReached:
    - TSSetPCR
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - csa_Encrypt
    - sout_AccessOutWrite
    - block_ChainLastAppend
    - BufferChainGet
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int TSDate( sout_mux_t *p_mux, sout_buffer_chain_t *p_chain_ts,\n
      \                  vlc_tick_t i_pcr_length, vlc_tick_t i_pcr_dts )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/mpeg/ts.c:1776,1
    - Dst: __MIN
      Src: /src/vlc/modules/mux/mpeg/ts.c:1788,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/mux/mpeg/ts.c:1796,1
    - Dst: memset
      Src: /src/vlc/modules/mux/mpeg/ts.c:1829,1
    - Dst: memset
      Src: /src/vlc/modules/mux/mpeg/ts.c:1837,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mpeg/ts.c:1843,1
    - Dst: block_Release
      Src: /src/vlc/modules/mux/mpeg/ts.c:1853,1
    - Dst: BufferChainGet
      Src: /src/vlc/modules/mux/mpeg/ts.c:1853,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 56
    argCount: 3
    argNames:
    - p_mux
    - p_stream
    - b_pcr
    argTypes:
    - sout_mux_t*
    - sout_input_sys_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1874
      start: 1773
    functionDepth: 1
    functionLinenumber: 1773
    functionLinenumberEnd: 1874
    functionName: TSNew
    functionSourceFile: /src/vlc/modules/mux/mpeg/ts.c
    functionUses: 1
    functionsReached:
    - block_Release
    - memset
    - memcpy
    - block_Alloc
    - BufferChainGet
    - __MIN
    - VLC_UNUSED
    linkageType: ''
    returnType: block_t
    signature: "block_t *TSNew( sout_mux_t *p_mux, sout_input_sys_t *p_stream,\n                       bool
      b_pcr )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TO_SCALE_NZ
      Src: /src/vlc/modules/mux/mpeg/ts.c:1878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - p_ts
    - i_dts
    argTypes:
    - block_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1887
      start: 1876
    functionDepth: 1
    functionLinenumber: 1876
    functionLinenumberEnd: 1887
    functionName: TSSetPCR
    functionSourceFile: /src/vlc/modules/mux/mpeg/ts.c
    functionUses: 1
    functionsReached:
    - TO_SCALE_NZ
    linkageType: ''
    returnType: void
    signature: void TSSetPCR( block_t *p_ts, vlc_tick_t i_dts )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BuildPAT
      Src: /src/vlc/modules/mux/mpeg/ts.c:1893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_mux
    - c
    argTypes:
    - sout_mux_t*
    - sout_buffer_chain_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1898
      start: 1889
    functionDepth: 1
    functionLinenumber: 1889
    functionLinenumberEnd: 1898
    functionName: GetPAT
    functionSourceFile: /src/vlc/modules/mux/mpeg/ts.c
    functionUses: 1
    functionsReached:
    - BuildPAT
    linkageType: ''
    returnType: void
    signature: void GetPAT( sout_mux_t *p_mux, sout_buffer_chain_t *c )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/vlc/modules/mux/mpeg/ts.c:1911,1
    - Dst: BuildPMT
      Src: /src/vlc/modules/mux/mpeg/ts.c:1921,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/mux/mpeg/ts.c:1921,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p_mux
    - c
    argTypes:
    - sout_mux_t*
    - sout_buffer_chain_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1928
      start: 1900
    functionDepth: 1
    functionLinenumber: 1900
    functionLinenumberEnd: 1928
    functionName: GetPMT
    functionSourceFile: /src/vlc/modules/mux/mpeg/ts.c
    functionUses: 1
    functionsReached:
    - BuildPMT
    - bsearch
    - VLC_OBJECT
    linkageType: ''
    returnType: void
    signature: void GetPMT( sout_mux_t *p_mux, sout_buffer_chain_t *c )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: block_Realloc
      Src: /src/vlc/modules/mux/mpeg/repack.c:42,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mpeg/repack.c:48,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mpeg/repack.c:50,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 5
    argNames:
    - pp_pes
    - p_extra
    - i_extra
    - p_au
    - i_au
    argTypes:
    - block_t**
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 51
    functionName: AnnexBInject
    functionSourceFile: /src/vlc/modules/mux/mpeg/repack.c
    functionUses: 0
    functionsReached:
    - block_Realloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void AnnexBInject(block_t **pp_pes,\n                   const uint8_t
      *p_extra, size_t i_extra,\n                   const uint8_t *p_au, size_t i_au)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_iterator_init
      Src: /src/vlc/modules/mux/mpeg/repack.c:62,1
    - Dst: hxxx_annexb_iterate_next
      Src: /src/vlc/modules/mux/mpeg/repack.c:64,1
    - Dst: h266_getNALType
      Src: /src/vlc/modules/mux/mpeg/repack.c:68,1
    - Dst: AnnexBInject
      Src: /src/vlc/modules/mux/mpeg/repack.c:108,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 3
    argNames:
    - pp_pes
    - p_extra
    - i_extra
    argTypes:
    - block_t**
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 53
    functionDepth: 4
    functionLinenumber: 53
    functionLinenumberEnd: 109
    functionName: PES_RepackVVC
    functionSourceFile: /src/vlc/modules/mux/mpeg/repack.c
    functionUses: 0
    functionsReached:
    - AnnexBInject
    - h266_getNALType
    - hxxx_annexb_iterate_next
    - hxxx_iterator_init
    linkageType: ''
    returnType: void
    signature: "void PES_RepackVVC(block_t **pp_pes,\n                           const
      uint8_t *p_extra, size_t i_extra)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_iterator_init
      Src: /src/vlc/modules/mux/mpeg/repack.c:118,1
    - Dst: hxxx_annexb_iterate_next
      Src: /src/vlc/modules/mux/mpeg/repack.c:120,1
    - Dst: hevc_getNALType
      Src: /src/vlc/modules/mux/mpeg/repack.c:124,1
    - Dst: AnnexBInject
      Src: /src/vlc/modules/mux/mpeg/repack.c:150,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - pp_pes
    - p_extra
    - i_extra
    argTypes:
    - block_t**
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 111
    functionDepth: 4
    functionLinenumber: 111
    functionLinenumberEnd: 151
    functionName: PES_RepackHEVC
    functionSourceFile: /src/vlc/modules/mux/mpeg/repack.c
    functionUses: 0
    functionsReached:
    - AnnexBInject
    - hevc_getNALType
    - hxxx_annexb_iterate_next
    - hxxx_iterator_init
    linkageType: ''
    returnType: void
    signature: "void PES_RepackHEVC(block_t **pp_pes,\n                                    const
      uint8_t *p_extra, size_t i_extra)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_iterator_init
      Src: /src/vlc/modules/mux/mpeg/repack.c:160,1
    - Dst: hxxx_annexb_iterate_next
      Src: /src/vlc/modules/mux/mpeg/repack.c:162,1
    - Dst: AnnexBInject
      Src: /src/vlc/modules/mux/mpeg/repack.c:191,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - pp_pes
    - p_extra
    - i_extra
    argTypes:
    - block_t**
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 153
    functionDepth: 4
    functionLinenumber: 153
    functionLinenumberEnd: 192
    functionName: PES_RepackH264
    functionSourceFile: /src/vlc/modules/mux/mpeg/repack.c
    functionUses: 0
    functionsReached:
    - AnnexBInject
    - hxxx_annexb_iterate_next
    - hxxx_iterator_init
    linkageType: ''
    returnType: void
    signature: "void PES_RepackH264(block_t **pp_pes,\n                                    const
      uint8_t *p_extra, size_t i_extra)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_iterator_init
      Src: /src/vlc/modules/mux/mpeg/repack.c:198,1
    - Dst: hxxx_annexb_iterate_next
      Src: /src/vlc/modules/mux/mpeg/repack.c:200,1
    - Dst: AnnexBInject
      Src: /src/vlc/modules/mux/mpeg/repack.c:210,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - pp_pes
    - p_extra
    - i_extra
    argTypes:
    - block_t**
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 194
    functionDepth: 4
    functionLinenumber: 194
    functionLinenumberEnd: 211
    functionName: PES_RepackMP4V
    functionSourceFile: /src/vlc/modules/mux/mpeg/repack.c
    functionUses: 0
    functionsReached:
    - AnnexBInject
    - hxxx_annexb_iterate_next
    - hxxx_iterator_init
    linkageType: ''
    returnType: void
    signature: "void PES_RepackMP4V(block_t **pp_pes,\n                           const
      uint8_t *p_extra, size_t i_extra)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/mux/mpeg/repack.c:219,1
    - Dst: memcmp
      Src: /src/vlc/modules/mux/mpeg/repack.c:220,1
    - Dst: PES_RepackVVC
      Src: /src/vlc/modules/mux/mpeg/repack.c:226,1
    - Dst: PES_RepackHEVC
      Src: /src/vlc/modules/mux/mpeg/repack.c:229,1
    - Dst: PES_RepackH264
      Src: /src/vlc/modules/mux/mpeg/repack.c:232,1
    - Dst: PES_RepackMP4V
      Src: /src/vlc/modules/mux/mpeg/repack.c:235,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - i_codec
    - p_extra
    - i_extra
    - pp_pes
    argTypes:
    - vlc_fourcc_t
    - uint8_t*
    - size_t
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 213
    functionDepth: 5
    functionLinenumber: 213
    functionLinenumberEnd: 241
    functionName: PES_Repack
    functionSourceFile: /src/vlc/modules/mux/mpeg/repack.c
    functionUses: 1
    functionsReached:
    - PES_RepackH264
    - PES_RepackVVC
    - PES_RepackMP4V
    - PES_RepackHEVC
    - memcmp
    linkageType: ''
    returnType: block_t
    signature: "block_t * PES_Repack(vlc_fourcc_t i_codec,\n                     const
      uint8_t *p_extra, size_t i_extra,\n                     block_t **pp_pes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/mux/mpeg/tables.c:59,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mpeg/tables.c:68,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/mux/mpeg/tables.c:72,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/mux/mpeg/tables.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - p_section
    argTypes:
    - dvbpsi_psi_section_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 83
    functionName: WritePSISection
    functionSourceFile: /src/vlc/modules/mux/mpeg/tables.c
    functionUses: 0
    functionsReached:
    - block_ChainRelease
    - block_Alloc
    - memcpy
    - block_ChainAppend
    linkageType: ''
    returnType: block_t
    signature: block_t *WritePSISection( dvbpsi_psi_section_t* p_section )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dvbpsi_pat_init
      Src: /src/vlc/modules/mux/mpeg/tables.c:94,1
    - Dst: dvbpsi_pat_program_add
      Src: /src/vlc/modules/mux/mpeg/tables.c:97,1
    - Dst: dvbpsi_pat_sections_generate
      Src: /src/vlc/modules/mux/mpeg/tables.c:99,1
    - Dst: likely
      Src: /src/vlc/modules/mux/mpeg/tables.c:100,1
    - Dst: WritePSISection
      Src: /src/vlc/modules/mux/mpeg/tables.c:102,1
    - Dst: likely
      Src: /src/vlc/modules/mux/mpeg/tables.c:103,1
    - Dst: PEStoTS
      Src: /src/vlc/modules/mux/mpeg/tables.c:105,1
    - Dst: dvbpsi_DeletePSISections
      Src: /src/vlc/modules/mux/mpeg/tables.c:108,1
    - Dst: dvbpsi_pat_empty
      Src: /src/vlc/modules/mux/mpeg/tables.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 9
    argNames:
    - p_dvbpsi
    - p_opaque
    - pf_callback
    - i_tsid
    - i_pat_version_number
    - p_pat
    - i_programs
    - p_pmt
    - pi_programs_number
    argTypes:
    - dvbpsi_t*
    - void*
    - PEStoTSCallback
    - int
    - int
    - tsmux_stream_t*
    - unsigned
    - tsmux_stream_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 111
    functionName: BuildPAT
    functionSourceFile: /src/vlc/modules/mux/mpeg/tables.c
    functionUses: 1
    functionsReached:
    - PEStoTS
    - dvbpsi_DeletePSISections
    - dvbpsi_pat_program_add
    - dvbpsi_pat_empty
    - WritePSISection
    - likely
    - dvbpsi_pat_init
    - dvbpsi_pat_sections_generate
    linkageType: ''
    returnType: void
    signature: "void BuildPAT( dvbpsi_t *p_dvbpsi,\n               void *p_opaque,
      PEStoTSCallback pf_callback,\n               int i_tsid, int i_pat_version_number,\n
      \              tsmux_stream_t *p_pat,\n               unsigned i_programs, tsmux_stream_t
      *p_pmt, const int *pi_programs_number )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - i_length
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: GetDescriptorLength24b
    functionSourceFile: /src/vlc/modules/mux/mpeg/tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t GetDescriptorLength24b( int i_length )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:127,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:128,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:132,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:134,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:136,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:137,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:139,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:140,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:142,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:143,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:144,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:145,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:147,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:148,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:149,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:152,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:153,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:155,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:156,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:158,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:159,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:161,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:162,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:163,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:164,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:166,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:167,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:169,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:170,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 1
    argNames:
    - b
    argTypes:
    - bits_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 174
    functionName: Mpeg4SUBTDecoderSpecific_55
    functionSourceFile: /src/vlc/modules/mux/mpeg/tables.c
    functionUses: 0
    functionsReached:
    - bits_write
    linkageType: ''
    returnType: void
    signature: void Mpeg4SUBTDecoderSpecific_55( bits_buffer_t *b )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/mux/mpeg/tables.c:185,1
    - Dst: bits_initwrite
      Src: /src/vlc/modules/mux/mpeg/tables.c:187,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:189,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:191,1
    - Dst: bits_align
      Src: /src/vlc/modules/mux/mpeg/tables.c:193,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:194,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:196,1
    - Dst: GetDescriptorLength24b
      Src: /src/vlc/modules/mux/mpeg/tables.c:197,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:198,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:199,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:200,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:201,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:202,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:203,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:204,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:205,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:206,1
    - Dst: bits_align
      Src: /src/vlc/modules/mux/mpeg/tables.c:217,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:218,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:220,1
    - Dst: GetDescriptorLength24b
      Src: /src/vlc/modules/mux/mpeg/tables.c:221,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:222,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:223,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:224,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:225,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:226,1
    - Dst: bits_align
      Src: /src/vlc/modules/mux/mpeg/tables.c:229,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:230,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:232,1
    - Dst: GetDescriptorLength24b
      Src: /src/vlc/modules/mux/mpeg/tables.c:232,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:235,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:236,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:240,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:241,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:246,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:247,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:252,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:253,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:257,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:258,1
    - Dst: msg_Err
      Src: /src/vlc/modules/mux/mpeg/tables.c:260,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:262,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:263,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:264,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:265,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:266,1
    - Dst: bits_align
      Src: /src/vlc/modules/mux/mpeg/tables.c:271,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:272,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:273,1
    - Dst: Mpeg4SUBTDecoderSpecific_55
      Src: /src/vlc/modules/mux/mpeg/tables.c:275,1
    - Dst: bits_align
      Src: /src/vlc/modules/mux/mpeg/tables.c:280,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:281,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:282,1
    - Dst: GetDescriptorLength24b
      Src: /src/vlc/modules/mux/mpeg/tables.c:282,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:287,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:293,1
    - Dst: GetDescriptorLength24b
      Src: /src/vlc/modules/mux/mpeg/tables.c:294,1
    - Dst: bits_align
      Src: /src/vlc/modules/mux/mpeg/tables.c:298,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:299,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:300,1
    - Dst: GetDescriptorLength24b
      Src: /src/vlc/modules/mux/mpeg/tables.c:300,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:301,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:302,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:303,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:304,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:305,1
    - Dst: bits_align
      Src: /src/vlc/modules/mux/mpeg/tables.c:306,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:309,1
    - Dst: GetDescriptorLength24b
      Src: /src/vlc/modules/mux/mpeg/tables.c:310,1
    - Dst: bits_align
      Src: /src/vlc/modules/mux/mpeg/tables.c:313,1
    - Dst: bits_write
      Src: /src/vlc/modules/mux/mpeg/tables.c:315,1
    - Dst: GetDescriptorLength24b
      Src: /src/vlc/modules/mux/mpeg/tables.c:316,1
    - Dst: dvbpsi_pmt_descriptor_add
      Src: /src/vlc/modules/mux/mpeg/tables.c:318,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 88
    argCount: 4
    argNames:
    - p_object
    - p_dvbpmt
    - i_mapped_streams
    - p_mapped_streams
    argTypes:
    - vlc_object_t*
    - dvbpsi_pmt_t*
    - unsigned
    - pes_mapped_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 176
    functionDepth: 4
    functionLinenumber: 176
    functionLinenumberEnd: 319
    functionName: GetPMTmpeg4
    functionSourceFile: /src/vlc/modules/mux/mpeg/tables.c
    functionUses: 0
    functionsReached:
    - GetDescriptorLength24b
    - bits_write
    - memset
    - bits_align
    - msg_Err
    - bits_initwrite
    - dvbpsi_pmt_descriptor_add
    - Mpeg4SUBTDecoderSpecific_55
    linkageType: ''
    returnType: void
    signature: "void GetPMTmpeg4( vlc_object_t *p_object, dvbpsi_pmt_t *p_dvbpmt,\n
      \                        unsigned i_mapped_streams, const pes_mapped_stream_t
      *p_mapped_streams )"
  - BBCount: 24
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 3
    argNames:
    - info
    - p_ts
    - fmt
    argTypes:
    - struct service_info*
    - tsmux_stream_t*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 401
    functionName: UpdateServiceType
    functionSourceFile: /src/vlc/modules/mux/mpeg/tables.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void UpdateServiceType( struct service_info *info,\n                               const
      tsmux_stream_t *p_ts, const es_format_t *fmt )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/mux/mpeg/tables.c:406,1
    - Dst: __MIN
      Src: /src/vlc/modules/mux/mpeg/tables.c:418,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mpeg/tables.c:420,1
    - Dst: __MIN
      Src: /src/vlc/modules/mux/mpeg/tables.c:425,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mpeg/tables.c:428,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - p_dest
    - p_src
    argTypes:
    - uint8_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 431
    functionName: Write_AnnexA_String
    functionSourceFile: /src/vlc/modules/mux/mpeg/tables.c
    functionUses: 0
    functionsReached:
    - strlen
    - __MIN
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t Write_AnnexA_String( uint8_t *p_dest, const char *p_src )
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: vlc_alloc
      Src: /src/vlc/modules/mux/mpeg/tables.c:442,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/mux/mpeg/tables.c:446,1
    - Dst: dvbpsi_sdt_init
      Src: /src/vlc/modules/mux/mpeg/tables.c:451,1
    - Dst: calloc
      Src: /src/vlc/modules/mux/mpeg/tables.c:452,1
    - Dst: free
      Src: /src/vlc/modules/mux/mpeg/tables.c:455,1
    - Dst: dvbpsi_pmt_init
      Src: /src/vlc/modules/mux/mpeg/tables.c:462,1
    - Dst: GetPMTmpeg4
      Src: /src/vlc/modules/mux/mpeg/tables.c:477,1
    - Dst: dvbpsi_pmt_es_add
      Src: /src/vlc/modules/mux/mpeg/tables.c:486,1
    - Dst: dvbpsi_pmt_es_descriptor_add
      Src: /src/vlc/modules/mux/mpeg/tables.c:496,1
    - Dst: __MIN
      Src: /src/vlc/modules/mux/mpeg/tables.c:501,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mpeg/tables.c:504,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mpeg/tables.c:513,1
    - Dst: dvbpsi_pmt_es_descriptor_add
      Src: /src/vlc/modules/mux/mpeg/tables.c:517,1
    - Dst: calloc
      Src: /src/vlc/modules/mux/mpeg/tables.c:521,1
    - Dst: j2k_get_profile
      Src: /src/vlc/modules/mux/mpeg/tables.c:524,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/mux/mpeg/tables.c:535,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/mux/mpeg/tables.c:536,1
    - Dst: SetWBE
      Src: /src/vlc/modules/mux/mpeg/tables.c:537,1
    - Dst: SetWBE
      Src: /src/vlc/modules/mux/mpeg/tables.c:538,1
    - Dst: j2k_get_color_spec
      Src: /src/vlc/modules/mux/mpeg/tables.c:539,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mpeg/tables.c:542,1
    - Dst: dvbpsi_pmt_es_descriptor_add
      Src: /src/vlc/modules/mux/mpeg/tables.c:543,1
    - Dst: free
      Src: /src/vlc/modules/mux/mpeg/tables.c:544,1
    - Dst: dvbpsi_pmt_es_descriptor_add
      Src: /src/vlc/modules/mux/mpeg/tables.c:552,1
    - Dst: stdc_has_single_bit
      Src: /src/vlc/modules/mux/mpeg/tables.c:562,1
    - Dst: stdc_trailing_zeros
      Src: /src/vlc/modules/mux/mpeg/tables.c:564,1
    - Dst: dvbpsi_pmt_es_descriptor_add
      Src: /src/vlc/modules/mux/mpeg/tables.c:571,1
    - Dst: dvbpsi_pmt_es_descriptor_add
      Src: /src/vlc/modules/mux/mpeg/tables.c:578,1
    - Dst: assert
      Src: /src/vlc/modules/mux/mpeg/tables.c:582,1
    - Dst: dvbpsi_pmt_es_descriptor_add
      Src: /src/vlc/modules/mux/mpeg/tables.c:585,1
    - Dst: dvbpsi_pmt_es_descriptor_add
      Src: /src/vlc/modules/mux/mpeg/tables.c:591,1
    - Dst: dvbpsi_pmt_es_descriptor_add
      Src: /src/vlc/modules/mux/mpeg/tables.c:599,1
    - Dst: assert
      Src: /src/vlc/modules/mux/mpeg/tables.c:603,1
    - Dst: dvbpsi_pmt_es_descriptor_add
      Src: /src/vlc/modules/mux/mpeg/tables.c:606,1
    - Dst: dvbpsi_pmt_es_descriptor_add
      Src: /src/vlc/modules/mux/mpeg/tables.c:612,1
    - Dst: dvbpsi_pmt_es_descriptor_add
      Src: /src/vlc/modules/mux/mpeg/tables.c:621,1
    - Dst: dvbpsi_pmt_es_descriptor_add
      Src: /src/vlc/modules/mux/mpeg/tables.c:624,1
    - Dst: dvbpsi_pmt_es_descriptor_add
      Src: /src/vlc/modules/mux/mpeg/tables.c:630,1
    - Dst: dvbpsi_pmt_es_descriptor_add
      Src: /src/vlc/modules/mux/mpeg/tables.c:642,1
    - Dst: memcpy
      Src: /src/vlc/modules/mux/mpeg/tables.c:653,1
    - Dst: dvbpsi_GenSubtitlingDr
      Src: /src/vlc/modules/mux/mpeg/tables.c:661,1
    - Dst: dvbpsi_pmt_es_descriptor_add
      Src: /src/vlc/modules/mux/mpeg/tables.c:663,1
    - Dst: dvbpsi_pmt_es_descriptor_add
      Src: /src/vlc/modules/mux/mpeg/tables.c:671,1
    - Dst: dvbpsi_pmt_es_descriptor_add
      Src: /src/vlc/modules/mux/mpeg/tables.c:681,1
    - Dst: UpdateServiceType
      Src: /src/vlc/modules/mux/mpeg/tables.c:687,1
    - Dst: dvbpsi_pmt_sections_generate
      Src: /src/vlc/modules/mux/mpeg/tables.c:694,1
    - Dst: likely
      Src: /src/vlc/modules/mux/mpeg/tables.c:695,1
    - Dst: WritePSISection
      Src: /src/vlc/modules/mux/mpeg/tables.c:697,1
    - Dst: likely
      Src: /src/vlc/modules/mux/mpeg/tables.c:698,1
    - Dst: PEStoTS
      Src: /src/vlc/modules/mux/mpeg/tables.c:700,1
    - Dst: dvbpsi_DeletePSISections
      Src: /src/vlc/modules/mux/mpeg/tables.c:703,1
    - Dst: dvbpsi_pmt_empty
      Src: /src/vlc/modules/mux/mpeg/tables.c:705,1
    - Dst: free
      Src: /src/vlc/modules/mux/mpeg/tables.c:707,1
    - Dst: dvbpsi_sdt_service_add
      Src: /src/vlc/modules/mux/mpeg/tables.c:713,1
    - Dst: Write_AnnexA_String
      Src: /src/vlc/modules/mux/mpeg/tables.c:730,1
    - Dst: Write_AnnexA_String
      Src: /src/vlc/modules/mux/mpeg/tables.c:733,1
    - Dst: dvbpsi_sdt_service_descriptor_add
      Src: /src/vlc/modules/mux/mpeg/tables.c:735,1
    - Dst: free
      Src: /src/vlc/modules/mux/mpeg/tables.c:737,1
    - Dst: dvbpsi_sdt_sections_generate
      Src: /src/vlc/modules/mux/mpeg/tables.c:739,1
    - Dst: likely
      Src: /src/vlc/modules/mux/mpeg/tables.c:740,1
    - Dst: WritePSISection
      Src: /src/vlc/modules/mux/mpeg/tables.c:742,1
    - Dst: likely
      Src: /src/vlc/modules/mux/mpeg/tables.c:743,1
    - Dst: PEStoTS
      Src: /src/vlc/modules/mux/mpeg/tables.c:745,1
    - Dst: dvbpsi_DeletePSISections
      Src: /src/vlc/modules/mux/mpeg/tables.c:748,1
    - Dst: dvbpsi_sdt_empty
      Src: /src/vlc/modules/mux/mpeg/tables.c:750,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 156
    argCount: 14
    argNames:
    - p_dvbpsi
    - p_object
    - standard
    - p_opaque
    - pf_callback
    - i_tsid
    - i_pmt_version_number
    - i_pcr_pid
    - p_sdt
    - i_programs
    - p_pmt
    - pi_programs_number
    - i_mapped_streams
    - p_mapped_streams
    argTypes:
    - dvbpsi_t*
    - vlc_object_t*
    - ts_mux_standard
    - void*
    - PEStoTSCallback
    - int
    - int
    - int
    - sdt_psi_t*
    - unsigned
    - tsmux_stream_t*
    - int*
    - unsigned
    - pes_mapped_stream_t*
    assertStmts:
    - condition: ( p_stream->ts->i_stream_type == 0x87 )
      pos:
        line_end: 602
        line_start: 602
        source_file: /src/vlc/modules/mux/mpeg/tables.c
    - condition: (p_stream->ts->i_stream_type == 0x81)
      pos:
        line_end: 581
        line_start: 581
        source_file: /src/vlc/modules/mux/mpeg/tables.c
    constantsTouched: []
    func_position:
      end: 752
      start: 433
    functionDepth: 5
    functionLinenumber: 433
    functionLinenumberEnd: 752
    functionName: BuildPMT
    functionSourceFile: /src/vlc/modules/mux/mpeg/tables.c
    functionUses: 1
    functionsReached:
    - stdc_trailing_zeros
    - assert
    - j2k_get_profile
    - dvbpsi_sdt_service_descriptor_add
    - j2k_get_color_spec
    - dvbpsi_pmt_sections_generate
    - WritePSISection
    - memcpy
    - vlc_alloc
    - dvbpsi_GenSubtitlingDr
    - dvbpsi_pmt_es_descriptor_add
    - dvbpsi_DeletePSISections
    - dvbpsi_sdt_sections_generate
    - calloc
    - GetPMTmpeg4
    - dvbpsi_sdt_empty
    - dvbpsi_pmt_empty
    - SetWBE
    - dvbpsi_sdt_init
    - stdc_has_single_bit
    - dvbpsi_pmt_es_add
    - __MIN
    - likely
    - dvbpsi_pmt_init
    - UpdateServiceType
    - VLC_UNUSED
    - PEStoTS
    - dvbpsi_sdt_service_add
    - Write_AnnexA_String
    - free
    - SetDWBE
    linkageType: ''
    returnType: void
    signature: "void BuildPMT( dvbpsi_t *p_dvbpsi, vlc_object_t *p_object,\n               ts_mux_standard
      standard,\n               void *p_opaque, PEStoTSCallback pf_callback,\n               int
      i_tsid, int i_pmt_version_number,\n               int i_pcr_pid,\n               sdt_psi_t
      *p_sdt,\n               unsigned i_programs, tsmux_stream_t *p_pmt, const int
      *pi_programs_number,\n               unsigned i_mapped_streams, const pes_mapped_stream_t
      *p_mapped_streams )"
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: j2k_is_valid_framerate
      Src: /src/vlc/modules/mux/mpeg/tables.c:804,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 114
    argCount: 4
    argNames:
    - standard
    - fmt
    - ts
    - pes
    argTypes:
    - ts_mux_standard
    - es_format_t*
    - tsmux_stream_t*
    - pesmux_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 898
    functionName: FillPMTESParams
    functionSourceFile: /src/vlc/modules/mux/mpeg/tables.c
    functionUses: 1
    functionsReached:
    - j2k_is_valid_framerate
    linkageType: ''
    returnType: int
    signature: "int FillPMTESParams( ts_mux_standard standard, const es_format_t *fmt,\n
      \                    tsmux_stream_t *ts, pesmux_stream_t *pes )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_chroma/chain.c:78,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_chroma/chain.c:78,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_chroma/chain.c:78,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_chroma/chain.c:79,1
    - Dst: var_TriggerCallback
      Src: /src/vlc/modules/video_chroma/chain.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - obj
    - psz_name
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: RestartFilterCallback
    functionSourceFile: /src/vlc/modules/video_chroma/chain.c
    functionUses: 0
    functionsReached:
    - var_TriggerCallback
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int RestartFilterCallback( vlc_object_t *obj, char const *psz_name,\n
      \                                 vlc_value_t oldval, vlc_value_t newval,\n
      \                                 void *p_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_NewPicture
      Src: /src/vlc/modules/video_chroma/chain.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: BufferChainNew
    functionSourceFile: /src/vlc/modules/video_chroma/chain.c
    functionUses: 0
    functionsReached:
    - filter_NewPicture
    linkageType: ''
    returnType: picture_t
    signature: picture_t *BufferChainNew( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_chroma/chain.c:100,1
    - Dst: filter_HoldDecoderDevice
      Src: /src/vlc/modules/video_chroma/chain.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - o
    - sys
    argTypes:
    - vlc_object_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: HoldChainDecoderDevice
    functionSourceFile: /src/vlc/modules/video_chroma/chain.c
    functionUses: 0
    functionsReached:
    - filter_HoldDecoderDevice
    - VLC_UNUSED
    linkageType: ''
    returnType: vlc_decoder_device
    signature: vlc_decoder_device * HoldChainDecoderDevice(vlc_object_t *o, void *sys)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/video_chroma/chain.c:124,1
    - Dst: filter_chain_NewVideo
      Src: /src/vlc/modules/video_chroma/chain.c:133,1
    - Dst: free
      Src: /src/vlc/modules/video_chroma/chain.c:136,1
    - Dst: pf_build
      Src: /src/vlc/modules/video_chroma/chain.c:140,1
    - Dst: filter_DelProxyCallbacks
      Src: /src/vlc/modules/video_chroma/chain.c:146,1
    - Dst: filter_chain_Delete
      Src: /src/vlc/modules/video_chroma/chain.c:148,1
    - Dst: free
      Src: /src/vlc/modules/video_chroma/chain.c:149,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/video_chroma/chain.c:154,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/video_chroma/chain.c:155,1
    - Dst: filter_chain_GetFmtOut
      Src: /src/vlc/modules/video_chroma/chain.c:156,1
    - Dst: filter_chain_GetVideoCtxOut
      Src: /src/vlc/modules/video_chroma/chain.c:157,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/chain.c:159,1
    - Dst: filter_chain_GetVideoCtxOut
      Src: /src/vlc/modules/video_chroma/chain.c:159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: (p_filter->vctx_out == filter_chain_GetVideoCtxOut( p_sys->p_chain
        ))
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/vlc/modules/video_chroma/chain.c
    constantsTouched: []
    func_position:
      end: 163
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 163
    functionName: Activate
    functionSourceFile: /src/vlc/modules/video_chroma/chain.c
    functionUses: 3
    functionsReached:
    - assert
    - filter_chain_GetVideoCtxOut
    - es_format_Clean
    - filter_chain_GetFmtOut
    - filter_chain_Delete
    - calloc
    - free
    - filter_chain_NewVideo
    - pf_build
    - es_format_Copy
    - filter_DelProxyCallbacks
    linkageType: ''
    returnType: int
    signature: int Activate( filter_t *p_filter, int (*pf_build)(filter_t *) )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: video_format_IsSameChroma
      Src: /src/vlc/modules/video_chroma/chain.c:167,1
    - Dst: var_Type
      Src: /src/vlc/modules/video_chroma/chain.c:173,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/video_chroma/chain.c:173,1
    - Dst: var_Create
      Src: /src/vlc/modules/video_chroma/chain.c:175,1
    - Dst: Activate
      Src: /src/vlc/modules/video_chroma/chain.c:177,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/video_chroma/chain.c:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 182
    functionName: ActivateConverter
    functionSourceFile: /src/vlc/modules/video_chroma/chain.c
    functionUses: 0
    functionsReached:
    - video_format_IsSameChroma
    - var_Destroy
    - vlc_object_parent
    - var_Create
    - Activate
    - var_Type
    linkageType: ''
    returnType: int
    signature: int ActivateConverter( filter_t *p_filter )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: var_Type
      Src: /src/vlc/modules/video_chroma/chain.c:189,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/video_chroma/chain.c:189,1
    - Dst: var_Create
      Src: /src/vlc/modules/video_chroma/chain.c:191,1
    - Dst: Activate
      Src: /src/vlc/modules/video_chroma/chain.c:193,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/video_chroma/chain.c:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 197
    functionName: ActivateFilter
    functionSourceFile: /src/vlc/modules/video_chroma/chain.c
    functionUses: 0
    functionsReached:
    - var_Destroy
    - vlc_object_parent
    - var_Create
    - Activate
    - var_Type
    linkageType: ''
    returnType: int
    signature: int ActivateFilter( filter_t *p_filter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: filter_DelProxyCallbacks
      Src: /src/vlc/modules/video_chroma/chain.c:204,1
    - Dst: filter_chain_Delete
      Src: /src/vlc/modules/video_chroma/chain.c:206,1
    - Dst: free
      Src: /src/vlc/modules/video_chroma/chain.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 208
    functionName: Destroy
    functionSourceFile: /src/vlc/modules/video_chroma/chain.c
    functionUses: 67
    functionsReached:
    - free
    - filter_DelProxyCallbacks
    - filter_chain_Delete
    linkageType: ''
    returnType: void
    signature: void Destroy( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_chain_VideoFilter
      Src: /src/vlc/modules/video_chroma/chain.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_filter
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: Chain
    functionSourceFile: /src/vlc/modules/video_chroma/chain.c
    functionUses: 22
    functionsReached:
    - filter_chain_VideoFilter
    linkageType: ''
    returnType: picture_t
    signature: picture_t *Chain( filter_t *p_filter, picture_t *p_pic )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_chain_VideoFlush
      Src: /src/vlc/modules/video_chroma/chain.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: Flush
    functionSourceFile: /src/vlc/modules/video_chroma/chain.c
    functionUses: 50
    functionsReached:
    - filter_chain_VideoFlush
    linkageType: ''
    returnType: void
    signature: void Flush( filter_t *p_filter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_chroma/chain.c:236,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/video_chroma/chain.c:237,1
    - Dst: video_format_TransformTo
      Src: /src/vlc/modules/video_chroma/chain.c:238,1
    - Dst: CreateChain
      Src: /src/vlc/modules/video_chroma/chain.c:239,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/video_chroma/chain.c:240,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_chroma/chain.c:245,1
    - Dst: EsFormatMergeSize
      Src: /src/vlc/modules/video_chroma/chain.c:246,1
    - Dst: CreateChain
      Src: /src/vlc/modules/video_chroma/chain.c:247,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/video_chroma/chain.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 250
    functionName: BuildTransformChain
    functionSourceFile: /src/vlc/modules/video_chroma/chain.c
    functionUses: 0
    functionsReached:
    - video_format_TransformTo
    - es_format_Clean
    - CreateChain
    - msg_Dbg
    - EsFormatMergeSize
    - es_format_Copy
    linkageType: ''
    returnType: int
    signature: int BuildTransformChain( filter_t *p_filter )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/chain.c:263,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/video_chroma/chain.c:264,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/video_chroma/chain.c:268,1
    - Dst: filter_chain_AppendConverter
      Src: /src/vlc/modules/video_chroma/chain.c:272,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/video_chroma/chain.c:273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - p_filter
    - chromas
    - chroma_count
    - last_fmt
    argTypes:
    - filter_t*
    - vlc_fourcc_t*
    - size_t
    - es_format_t*
    assertStmts:
    - condition: ( last_fmt->i_codec == chromas[i] )
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/vlc/modules/video_chroma/chain.c
    constantsTouched: []
    func_position:
      end: 279
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 279
    functionName: AppendChromaChain
    functionSourceFile: /src/vlc/modules/video_chroma/chain.c
    functionUses: 0
    functionsReached:
    - filter_chain_AppendConverter
    - es_format_Clean
    - assert
    - es_format_Copy
    linkageType: ''
    returnType: int
    signature: "int AppendChromaChain( filter_t *p_filter, const vlc_fourcc_t *chromas,\n
      \                             size_t chroma_count, const es_format_t *last_fmt
      )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_chroma_conv_Probe
      Src: /src/vlc/modules/video_chroma/chain.c:291,1
    - Dst: vlc_chroma_conv_result_ToString
      Src: /src/vlc/modules/video_chroma/chain.c:303,1
    - Dst: msg_Info
      Src: /src/vlc/modules/video_chroma/chain.c:309,1
    - Dst: free
      Src: /src/vlc/modules/video_chroma/chain.c:310,1
    - Dst: filter_chain_Reset
      Src: /src/vlc/modules/video_chroma/chain.c:312,1
    - Dst: AppendChromaChain
      Src: /src/vlc/modules/video_chroma/chain.c:316,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_chroma/chain.c:320,1
    - Dst: filter_chain_Reset
      Src: /src/vlc/modules/video_chroma/chain.c:322,1
    - Dst: AppendChromaChain
      Src: /src/vlc/modules/video_chroma/chain.c:325,1
    - Dst: filter_chain_AppendConverter
      Src: /src/vlc/modules/video_chroma/chain.c:328,1
    - Dst: filter_chain_GetVideoCtxOut
      Src: /src/vlc/modules/video_chroma/chain.c:334,1
    - Dst: msg_Info
      Src: /src/vlc/modules/video_chroma/chain.c:335,1
    - Dst: free
      Src: /src/vlc/modules/video_chroma/chain.c:339,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 342
    functionName: BuildChromaChain
    functionSourceFile: /src/vlc/modules/video_chroma/chain.c
    functionUses: 0
    functionsReached:
    - AppendChromaChain
    - filter_chain_GetVideoCtxOut
    - filter_chain_AppendConverter
    - free
    - msg_Info
    - vlc_chroma_conv_Probe
    - filter_chain_Reset
    - msg_Warn
    - vlc_chroma_conv_result_ToString
    linkageType: ''
    returnType: int
    signature: int BuildChromaChain( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_chain_MouseFilter
      Src: /src/vlc/modules/video_chroma/chain.c:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_filter
    - p_mouse
    - p_old
    argTypes:
    - filter_t*
    - vlc_mouse_t*
    - vlc_mouse_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 349
    functionName: ChainMouse
    functionSourceFile: /src/vlc/modules/video_chroma/chain.c
    functionUses: 0
    functionsReached:
    - filter_chain_MouseFilter
    linkageType: ''
    returnType: int
    signature: "int ChainMouse( filter_t *p_filter, vlc_mouse_t *p_mouse,\n                       const
      vlc_mouse_t *p_old )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_create
      Src: /src/vlc/modules/video_chroma/chain.c:354,1
    - Dst: vlc_filter_LoadModule
      Src: /src/vlc/modules/video_chroma/chain.c:363,1
    - Dst: vlc_filter_Delete
      Src: /src/vlc/modules/video_chroma/chain.c:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - p_filter
    - chroma
    - name
    argTypes:
    - filter_t*
    - vlc_fourcc_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 367
    functionName: CheckFilterChroma
    functionSourceFile: /src/vlc/modules/video_chroma/chain.c
    functionUses: 0
    functionsReached:
    - vlc_filter_Delete
    - vlc_filter_LoadModule
    - vlc_object_create
    linkageType: ''
    returnType: bool
    signature: bool CheckFilterChroma( filter_t *p_filter, vlc_fourcc_t chroma, const
      char *name )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/chain.c:374,1
    - Dst: vlc_chroma_conv_Probe
      Src: /src/vlc/modules/video_chroma/chain.c:379,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/chain.c:389,1
    - Dst: CheckFilterChroma
      Src: /src/vlc/modules/video_chroma/chain.c:394,1
    - Dst: vlc_chroma_conv_result_ToString
      Src: /src/vlc/modules/video_chroma/chain.c:398,1
    - Dst: msg_Info
      Src: /src/vlc/modules/video_chroma/chain.c:405,1
    - Dst: free
      Src: /src/vlc/modules/video_chroma/chain.c:408,1
    - Dst: filter_chain_Reset
      Src: /src/vlc/modules/video_chroma/chain.c:410,1
    - Dst: AppendChromaChain
      Src: /src/vlc/modules/video_chroma/chain.c:413,1
    - Dst: filter_chain_AppendFilter
      Src: /src/vlc/modules/video_chroma/chain.c:419,1
    - Dst: filter_chain_GetFmtOut
      Src: /src/vlc/modules/video_chroma/chain.c:421,1
    - Dst: filter_AddProxyCallbacks
      Src: /src/vlc/modules/video_chroma/chain.c:428,1
    - Dst: filter_chain_GetVideoCtxOut
      Src: /src/vlc/modules/video_chroma/chain.c:432,1
    - Dst: free
      Src: /src/vlc/modules/video_chroma/chain.c:435,1
    - Dst: filter_chain_Reset
      Src: /src/vlc/modules/video_chroma/chain.c:438,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: ( p_filter->b_allow_fmt_out_change )
      pos:
        line_end: 373
        line_start: 373
        source_file: /src/vlc/modules/video_chroma/chain.c
    - condition: (res->chain_count >= 2)
      pos:
        line_end: 388
        line_start: 388
        source_file: /src/vlc/modules/video_chroma/chain.c
    constantsTouched: []
    func_position:
      end: 441
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 441
    functionName: BuildFilterChain
    functionSourceFile: /src/vlc/modules/video_chroma/chain.c
    functionUses: 0
    functionsReached:
    - CheckFilterChroma
    - assert
    - AppendChromaChain
    - filter_chain_GetVideoCtxOut
    - filter_chain_GetFmtOut
    - filter_chain_AppendFilter
    - filter_AddProxyCallbacks
    - free
    - msg_Info
    - vlc_chroma_conv_Probe
    - filter_chain_Reset
    - vlc_chroma_conv_result_ToString
    linkageType: ''
    returnType: int
    signature: int BuildFilterChain( filter_t *p_filter )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: filter_chain_Reset
      Src: /src/vlc/modules/video_chroma/chain.c:449,1
    - Dst: filter_chain_AppendConverter
      Src: /src/vlc/modules/video_chroma/chain.c:451,1
    - Dst: filter_chain_AppendConverter
      Src: /src/vlc/modules/video_chroma/chain.c:455,1
    - Dst: filter_chain_GetVideoCtxOut
      Src: /src/vlc/modules/video_chroma/chain.c:459,1
    - Dst: filter_chain_Clear
      Src: /src/vlc/modules/video_chroma/chain.c:463,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - p_filter
    - p_fmt_mid
    argTypes:
    - filter_t*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 465
    functionName: CreateChain
    functionSourceFile: /src/vlc/modules/video_chroma/chain.c
    functionUses: 1
    functionsReached:
    - filter_chain_Clear
    - filter_chain_Reset
    - filter_chain_GetVideoCtxOut
    - filter_chain_AppendConverter
    linkageType: ''
    returnType: int
    signature: int CreateChain( filter_t *p_filter, const es_format_t *p_fmt_mid )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Copy
      Src: /src/vlc/modules/video_chroma/chain.c:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - p_dst
    - p_base
    - p_size
    argTypes:
    - es_format_t*
    - es_format_t*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 485
    functionName: EsFormatMergeSize
    functionSourceFile: /src/vlc/modules/video_chroma/chain.c
    functionUses: 1
    functionsReached:
    - es_format_Copy
    linkageType: ''
    returnType: void
    signature: "void EsFormatMergeSize( es_format_t *p_dst,\n                               const
      es_format_t *p_base,\n                               const es_format_t *p_size
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pic_ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: D3D9_PICCONTEXT_FROM_PICCTX
    functionSourceFile: /src/vlc/modules/video_chroma/d3d9_fmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D3D9_PICCONTEXT_FROM_PICCTX(pic_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:42,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:43,1
    - Dst: D3D9_PICCONTEXT_FROM_PICCTX
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pic
    argTypes:
    - picture_t*
    assertStmts:
    - condition: (pic->context != NULL)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/vlc/modules/video_chroma/d3d9_fmt.c
    - condition: (pic->p_sys == NULL)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/vlc/modules/video_chroma/d3d9_fmt.c
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: ActiveD3D9PictureSys
    functionSourceFile: /src/vlc/modules/video_chroma/d3d9_fmt.c
    functionUses: 0
    functionsReached:
    - D3D9_PICCONTEXT_FROM_PICCTX
    - assert
    linkageType: ''
    returnType: picture_sys_d3d9_t
    signature: picture_sys_d3d9_t *ActiveD3D9PictureSys(picture_t *pic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ZeroMemory
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:62,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:71,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - d3dpp
    argTypes:
    - D3DPRESENT_PARAMETERS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 73
    functionName: FillPresentationParameters
    functionSourceFile: /src/vlc/modules/video_chroma/d3d9_fmt.c
    functionUses: 0
    functionsReached:
    - GetSystemMetrics
    - ZeroMemory
    linkageType: ''
    returnType: void
    signature: void FillPresentationParameters(D3DPRESENT_PARAMETERS *d3dpp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FillPresentationParameters
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:78,1
    - Dst: IDirect3DDevice9Ex_ResetEx
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:83,1
    - Dst: IDirect3DDevice9_Reset
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:85,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:87,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - o
    - dec_dev
    argTypes:
    - vlc_object_t*
    - d3d9_decoder_device_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 92
    functionName: D3D9_ResetDevice
    functionSourceFile: /src/vlc/modules/video_chroma/d3d9_fmt.c
    functionUses: 0
    functionsReached:
    - IDirect3DDevice9_Reset
    - FillPresentationParameters
    - FAILED
    - IDirect3DDevice9Ex_ResetEx
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int D3D9_ResetDevice(vlc_object_t *o, d3d9_decoder_device_t *dec_dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IDirect3D9_Release
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hd3d
    argTypes:
    - d3d9_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: D3D9_Destroy
    functionSourceFile: /src/vlc/modules/video_chroma/d3d9_fmt.c
    functionUses: 0
    functionsReached:
    - IDirect3D9_Release
    linkageType: ''
    returnType: void
    signature: void D3D9_Destroy(d3d9_handle_t *hd3d)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Direct3DCreate9Ex
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:110,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:111,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:112,1
    - Dst: Direct3DCreate9
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:118,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:120,1
    - Dst: D3D9_Destroy
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - o
    - hd3d
    argTypes:
    - vlc_object_t*
    - d3d9_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 128
    functionName: D3D9_Create
    functionSourceFile: /src/vlc/modules/video_chroma/d3d9_fmt.c
    functionUses: 0
    functionsReached:
    - FAILED
    - msg_Err
    - D3D9_Destroy
    - msg_Dbg
    - Direct3DCreate9
    - Direct3DCreate9Ex
    linkageType: ''
    returnType: int
    signature: int D3D9_Create(vlc_object_t *o, d3d9_handle_t *hd3d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IDirect3D9_AddRef
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:133,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:136,1
    - Dst: IDirect3D9_QueryInterface
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:136,1
    - Dst: IDirect3D9Ex_Release
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - hd3d
    - dev
    argTypes:
    - d3d9_handle_t*
    - IDirect3D9*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: D3D9_CloneExternal
    functionSourceFile: /src/vlc/modules/video_chroma/d3d9_fmt.c
    functionUses: 0
    functionsReached:
    - SUCCEEDED
    - IDirect3D9_QueryInterface
    - IDirect3D9Ex_Release
    - IDirect3D9_AddRef
    linkageType: ''
    returnType: void
    signature: void D3D9_CloneExternal(d3d9_handle_t *hd3d, IDirect3D9 *dev)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:146,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:147,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:156,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:159,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:164,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:165,1
    - Dst: setupDeviceCb
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:169,1
    - Dst: D3D9_CloneExternal
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:172,1
    - Dst: D3D9_Create
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:180,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:182,1
    - Dst: IDirect3D9_GetAdapterCount
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:198,1
    - Dst: IDirect3D9_GetAdapterIdentifier
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:200,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:201,1
    - Dst: strstr
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:201,1
    - Dst: ZeroMemory
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:213,1
    - Dst: IDirect3D9_GetDeviceCaps
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:214,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:215,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:216,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:219,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:223,1
    - Dst: FillPresentationParameters
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:230,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:233,1
    - Dst: IDirect3D9_GetAdapterIdentifier
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:233,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:234,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:236,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:246,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:248,1
    - Dst: IDirect3D9Ex_CreateDeviceEx
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:252,1
    - Dst: IDirect3D9_CreateDevice
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:257,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:261,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:268,1
    - Dst: d3d9_decoder_device*::cleanupDeviceCb
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:273,1
    - Dst: vlc_obj_free
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:274,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 73
    argCount: 1
    argNames:
    - o
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 276
    functionName: '*(D3D9_CreateDevice)(vlc_object_t *o)'
    functionSourceFile: /src/vlc/modules/video_chroma/d3d9_fmt.c
    functionUses: 0
    functionsReached:
    - vlc_obj_malloc
    - var_InheritAddress
    - setupDeviceCb
    - IDirect3D9_CreateDevice
    - IDirect3D9_GetAdapterIdentifier
    - SUCCEEDED
    - ZeroMemory
    - FillPresentationParameters
    - ARRAY_SIZE
    - IDirect3D9Ex_CreateDeviceEx
    - IDirect3D9_GetDeviceCaps
    - msg_Err
    - msg_Dbg
    - strstr
    - msg_Warn
    - IDirect3D9_GetAdapterCount
    - d3d9_decoder_device*::cleanupDeviceCb
    - D3D9_CloneExternal
    - var_InheritInteger
    - D3D9_Create
    - FAILED
    - vlc_obj_free
    - unlikely
    linkageType: ''
    returnType: d3d9_decoder_device_t
    signature: d3d9_decoder_device_t *(D3D9_CreateDevice)(vlc_object_t *o)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:280,1
    - Dst: IDirect3DDevice9_Release
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:282,1
    - Dst: D3D9_Destroy
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:283,1
    - Dst: d3d9_decoder_device*::cleanupDeviceCb
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - dec_dev
    argTypes:
    - d3d9_decoder_device_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 286
    functionName: D3D9_ReleaseDevice
    functionSourceFile: /src/vlc/modules/video_chroma/d3d9_fmt.c
    functionUses: 0
    functionsReached:
    - D3D9_Destroy
    - IDirect3DDevice9_Release
    - d3d9_decoder_device*::cleanupDeviceCb
    - container_of
    linkageType: ''
    returnType: void
    signature: void D3D9_ReleaseDevice(d3d9_decoder_device_t *dec_dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: D3D9_PICCONTEXT_FROM_PICCTX
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:294,1
    - Dst: ReleaseD3D9PictureSys
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:295,1
    - Dst: free
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 297
    functionName: d3d9_pic_context_destroy
    functionSourceFile: /src/vlc/modules/video_chroma/d3d9_fmt.c
    functionUses: 0
    functionsReached:
    - ReleaseD3D9PictureSys
    - D3D9_PICCONTEXT_FROM_PICCTX
    - free
    linkageType: ''
    returnType: void
    signature: void d3d9_pic_context_destroy(picture_context_t *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:301,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:302,1
    - Dst: D3D9_PICCONTEXT_FROM_PICCTX
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:304,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:305,1
    - Dst: AcquireD3D9PictureSys
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 308
    functionName: d3d9_pic_context_copy
    functionSourceFile: /src/vlc/modules/video_chroma/d3d9_fmt.c
    functionUses: 0
    functionsReached:
    - AcquireD3D9PictureSys
    - vlc_video_context_Hold
    - calloc
    - D3D9_PICCONTEXT_FROM_PICCTX
    - unlikely
    linkageType: ''
    returnType: picture_context_t
    signature: picture_context_t *d3d9_pic_context_copy(picture_context_t *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.c:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - d3dfmt
    argTypes:
    - D3DFORMAT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 337
    functionName: D3D9FormatFourcc
    functionSourceFile: /src/vlc/modules/video_chroma/d3d9_fmt.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: d3d9_format_t
    signature: d3d9_format_t *D3D9FormatFourcc(D3DFORMAT d3dfmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/video_chroma/yuy2_i420.c:51,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/video_chroma/yuy2_i420.c:52,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/video_chroma/yuy2_i420.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - vec
    argTypes:
    - vlc_chroma_conv_vec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: ProbeChroma
    functionSourceFile: /src/vlc/modules/video_chroma/yuy2_i420.c
    functionUses: 0
    functionsReached:
    - vlc_chroma_conv_add
    linkageType: ''
    returnType: void
    signature: void ProbeChroma(vlc_chroma_conv_vec *vec)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 111
    functionName: Activate
    functionSourceFile: /src/vlc/modules/video_chroma/yuy2_i420.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Activate( filter_t *p_filter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: C_YUYV_YUV422_skip
      Src: /src/vlc/modules/video_chroma/yuy2_i420.c:150,1
    - Dst: C_YUYV_YUV422_skip
      Src: /src/vlc/modules/video_chroma/yuy2_i420.c:151,1
    - Dst: C_YUYV_YUV422_skip
      Src: /src/vlc/modules/video_chroma/yuy2_i420.c:152,1
    - Dst: C_YUYV_YUV422_skip
      Src: /src/vlc/modules/video_chroma/yuy2_i420.c:153,1
    - Dst: C_YUYV_YUV422_skip
      Src: /src/vlc/modules/video_chroma/yuy2_i420.c:157,1
    - Dst: C_YUYV_YUV422
      Src: /src/vlc/modules/video_chroma/yuy2_i420.c:167,1
    - Dst: C_YUYV_YUV422
      Src: /src/vlc/modules/video_chroma/yuy2_i420.c:168,1
    - Dst: C_YUYV_YUV422
      Src: /src/vlc/modules/video_chroma/yuy2_i420.c:169,1
    - Dst: C_YUYV_YUV422
      Src: /src/vlc/modules/video_chroma/yuy2_i420.c:170,1
    - Dst: C_YUYV_YUV422
      Src: /src/vlc/modules/video_chroma/yuy2_i420.c:174,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - p_filter
    - p_source
    - p_dest
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 184
    functionName: YUY2_I420
    functionSourceFile: /src/vlc/modules/video_chroma/yuy2_i420.c
    functionUses: 0
    functionsReached:
    - C_YUYV_YUV422
    - C_YUYV_YUV422_skip
    linkageType: ''
    returnType: void
    signature: "void YUY2_I420( filter_t *p_filter, picture_t *p_source,\n                                           picture_t
      *p_dest )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - p_line
    - ','
    - p_y
    - ','
    - p_u
    - ','
    - p_v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: C_YUYV_YUV422_skip
    functionSourceFile: /src/vlc/modules/video_chroma/yuy2_i420.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C_YUYV_YUV422_skip( p_line, p_y, p_u, p_v )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - p_line
    - ','
    - p_y
    - ','
    - p_u
    - ','
    - p_v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: C_YUYV_YUV422
    functionSourceFile: /src/vlc/modules/video_chroma/yuy2_i420.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C_YUYV_YUV422( p_line, p_y, p_u, p_v )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: C_YVYU_YUV422_skip
      Src: /src/vlc/modules/video_chroma/yuy2_i420.c:221,1
    - Dst: C_YVYU_YUV422_skip
      Src: /src/vlc/modules/video_chroma/yuy2_i420.c:222,1
    - Dst: C_YVYU_YUV422_skip
      Src: /src/vlc/modules/video_chroma/yuy2_i420.c:223,1
    - Dst: C_YVYU_YUV422_skip
      Src: /src/vlc/modules/video_chroma/yuy2_i420.c:224,1
    - Dst: C_YVYU_YUV422_skip
      Src: /src/vlc/modules/video_chroma/yuy2_i420.c:228,1
    - Dst: C_YVYU_YUV422
      Src: /src/vlc/modules/video_chroma/yuy2_i420.c:238,1
    - Dst: C_YVYU_YUV422
      Src: /src/vlc/modules/video_chroma/yuy2_i420.c:239,1
    - Dst: C_YVYU_YUV422
      Src: /src/vlc/modules/video_chroma/yuy2_i420.c:240,1
    - Dst: C_YVYU_YUV422
      Src: /src/vlc/modules/video_chroma/yuy2_i420.c:241,1
    - Dst: C_YVYU_YUV422
      Src: /src/vlc/modules/video_chroma/yuy2_i420.c:245,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - p_filter
    - p_source
    - p_dest
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 255
    functionName: YVYU_I420
    functionSourceFile: /src/vlc/modules/video_chroma/yuy2_i420.c
    functionUses: 0
    functionsReached:
    - C_YVYU_YUV422
    - C_YVYU_YUV422_skip
    linkageType: ''
    returnType: void
    signature: "void YVYU_I420( filter_t *p_filter, picture_t *p_source,\n                                           picture_t
      *p_dest )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - p_line
    - ','
    - p_y
    - ','
    - p_u
    - ','
    - p_v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: C_YVYU_YUV422_skip
    functionSourceFile: /src/vlc/modules/video_chroma/yuy2_i420.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C_YVYU_YUV422_skip( p_line, p_y, p_u, p_v )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - p_line
    - ','
    - p_y
    - ','
    - p_u
    - ','
    - p_v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: C_YVYU_YUV422
    functionSourceFile: /src/vlc/modules/video_chroma/yuy2_i420.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C_YVYU_YUV422( p_line, p_y, p_u, p_v )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: C_UYVY_YUV422_skip
      Src: /src/vlc/modules/video_chroma/yuy2_i420.c:292,1
    - Dst: C_UYVY_YUV422_skip
      Src: /src/vlc/modules/video_chroma/yuy2_i420.c:293,1
    - Dst: C_UYVY_YUV422_skip
      Src: /src/vlc/modules/video_chroma/yuy2_i420.c:294,1
    - Dst: C_UYVY_YUV422_skip
      Src: /src/vlc/modules/video_chroma/yuy2_i420.c:295,1
    - Dst: C_UYVY_YUV422_skip
      Src: /src/vlc/modules/video_chroma/yuy2_i420.c:299,1
    - Dst: C_UYVY_YUV422
      Src: /src/vlc/modules/video_chroma/yuy2_i420.c:309,1
    - Dst: C_UYVY_YUV422
      Src: /src/vlc/modules/video_chroma/yuy2_i420.c:310,1
    - Dst: C_UYVY_YUV422
      Src: /src/vlc/modules/video_chroma/yuy2_i420.c:311,1
    - Dst: C_UYVY_YUV422
      Src: /src/vlc/modules/video_chroma/yuy2_i420.c:312,1
    - Dst: C_UYVY_YUV422
      Src: /src/vlc/modules/video_chroma/yuy2_i420.c:316,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - p_filter
    - p_source
    - p_dest
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 326
    functionName: UYVY_I420
    functionSourceFile: /src/vlc/modules/video_chroma/yuy2_i420.c
    functionUses: 0
    functionsReached:
    - C_UYVY_YUV422_skip
    - C_UYVY_YUV422
    linkageType: ''
    returnType: void
    signature: "void UYVY_I420( filter_t *p_filter, picture_t *p_source,\n                                           picture_t
      *p_dest )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - p_line
    - ','
    - p_y
    - ','
    - p_u
    - ','
    - p_v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: C_UYVY_YUV422_skip
    functionSourceFile: /src/vlc/modules/video_chroma/yuy2_i420.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C_UYVY_YUV422_skip( p_line, p_y, p_u, p_v )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - p_line
    - ','
    - p_y
    - ','
    - p_u
    - ','
    - p_v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: C_UYVY_YUV422
    functionSourceFile: /src/vlc/modules/video_chroma/yuy2_i420.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C_UYVY_YUV422( p_line, p_y, p_u, p_v )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pic_ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: D3D11_PICCONTEXT_FROM_PICCTX
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D3D11_PICCONTEXT_FROM_PICCTX(pic_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:72,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:73,1
    - Dst: D3D11_PICCONTEXT_FROM_PICCTX
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pic
    argTypes:
    - picture_t*
    assertStmts:
    - condition: (pic->context != NULL)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    - condition: (pic->p_sys == NULL)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: ActiveD3D11PictureSys
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    functionUses: 1
    functionsReached:
    - D3D11_PICCONTEXT_FROM_PICCTX
    - assert
    linkageType: ''
    returnType: picture_sys_d3d11_t
    signature: picture_sys_d3d11_t *ActiveD3D11PictureSys(picture_t *pic)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AddRef
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:82,1
    - Dst: AddRef
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:84,1
    - Dst: picture_sys_d3d11_t*::processorInput::AddRef
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:87,1
    - Dst: picture_sys_d3d11_t*::processorOutput::AddRef
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - picture_sys_d3d11_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: AcquireD3D11PictureSys
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    functionUses: 0
    functionsReached:
    - picture_sys_d3d11_t*::processorOutput::AddRef
    - picture_sys_d3d11_t*::processorInput::AddRef
    - AddRef
    linkageType: ''
    returnType: void
    signature: void AcquireD3D11PictureSys(picture_sys_d3d11_t *p_sys)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:96,1
    - Dst: Release
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:98,1
    - Dst: picture_sys_d3d11_t*::processorInput::Release
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:101,1
    - Dst: picture_sys_d3d11_t*::processorOutput::Release
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - picture_sys_d3d11_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 104
    functionName: ReleaseD3D11PictureSys
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    functionUses: 0
    functionsReached:
    - picture_sys_d3d11_t*::processorInput::Release
    - Release
    - picture_sys_d3d11_t*::processorOutput::Release
    linkageType: ''
    returnType: void
    signature: void ReleaseD3D11PictureSys(picture_sys_d3d11_t *p_sys)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetDesc
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:116,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:117,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:130,1
    - Dst: ID3D11Device*::CreateShaderResourceView
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:139,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:140,1
    - Dst: vlc_error
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:141,1
    - Dst: Release
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:151,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 6
    argNames:
    - obj
    - d3ddevice
    - format
    - p_texture
    - slice_index
    - renderSrc
    argTypes:
    - struct vlc_logger*
    - ID3D11Device*
    - d3d_format_t*
    - ID3D11Texture2D*[]
    - UINT
    - ID3D11ShaderResourceView*[]
    assertStmts:
    - condition: (slice_index < texDesc.ArraySize)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    - condition: (texDesc.BindFlags & D3D11_BIND_SHADER_RESOURCE)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    constantsTouched: []
    func_position:
      end: 158
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 158
    functionName: D3D11_AllocateResourceView
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    functionUses: 0
    functionsReached:
    - assert
    - GetDesc
    - FAILED
    - Release
    - ID3D11Device*::CreateShaderResourceView
    - vlc_error
    linkageType: ''
    returnType: int
    signature: "int D3D11_AllocateResourceView(struct vlc_logger *obj, ID3D11Device
      *d3ddevice,\n                              const d3d_format_t *format,\n                              ID3D11Texture2D
      *p_texture[DXGI_MAX_SHADER_VIEW], UINT slice_index,\n                              ID3D11ShaderResourceView
      *renderSrc[DXGI_MAX_SHADER_VIEW])"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: SysAllocString
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:168,1
    - Dst: SysAllocString
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:169,1
    - Dst: _snwprintf
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:172,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:172,1
    - Dst: SysAllocString
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:176,1
    - Dst: CoInitializeEx
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:178,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:179,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:181,1
    - Dst: SysFreeString
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:182,1
    - Dst: SysFreeString
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:183,1
    - Dst: SysFreeString
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:184,1
    - Dst: CoCreateInstanceEx
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:193,1
    - Dst: CoCreateInstanceFromApp
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:196,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:199,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:199,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:201,1
    - Dst: static_cast<IWbemLocator *>
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:204,1
    - Dst: IWbemLocator*::ConnectServer
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:206,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:208,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:210,1
    - Dst: CoSetProxyBlanket
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:215,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:225,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:227,1
    - Dst: IWbemServices*::ExecQuery
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:232,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:234,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:236,1
    - Dst: IEnumWbemClassObject*::Next
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:240,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:243,1
    - Dst: VariantInit
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:248,1
    - Dst: IWbemClassObject*::Get
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:250,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:251,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:253,1
    - Dst: IWbemClassObject*::Release
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:254,1
    - Dst: swscanf
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:260,1
    - Dst: TEXT
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:260,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:262,1
    - Dst: VariantClear
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:270,1
    - Dst: IWbemClassObject*::Release
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:271,1
    - Dst: SysFreeString
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:274,1
    - Dst: SysFreeString
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:275,1
    - Dst: SysFreeString
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:276,1
    - Dst: IEnumWbemClassObject*::Release
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:278,1
    - Dst: IWbemServices*::Release
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:280,1
    - Dst: IWbemLocator*::Release
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:282,1
    - Dst: CoUninitialize
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:283,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 72
    argCount: 2
    argNames:
    - obj
    - d3d_dev
    argTypes:
    - vlc_object_t*
    - d3d11_device_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 286
    functionName: D3D11_GetSystemDriver
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    functionUses: 0
    functionsReached:
    - IWbemServices*::ExecQuery
    - static_cast<IWbemLocator *>
    - CoInitializeEx
    - IEnumWbemClassObject*::Release
    - _snwprintf
    - CoUninitialize
    - SysFreeString
    - SysAllocString
    - IWbemLocator*::Release
    - TEXT
    - ARRAY_SIZE
    - VariantInit
    - swscanf
    - msg_Dbg
    - IWbemClassObject*::Release
    - msg_Warn
    - VariantClear
    - IWbemClassObject*::Get
    - IEnumWbemClassObject*::Next
    - IWbemServices*::Release
    - CoSetProxyBlanket
    - CoCreateInstanceEx
    - IWbemLocator*::ConnectServer
    - FAILED
    - CoCreateInstanceFromApp
    linkageType: ''
    returnType: LARGE_INTEGER
    signature: LARGE_INTEGER D3D11_GetSystemDriver(vlc_object_t *obj, d3d11_device_t
      *d3d_dev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IDXGIAdapter*::CheckInterfaceSupport
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:294,1
    - Dst: __uuidof
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:294,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:295,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:297,1
    - Dst: D3D11_GetSystemDriver
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:298,1
    - Dst: HIWORD
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:300,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:304,1
    - Dst: D3D11_GetSystemDriver
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:305,1
    - Dst: D3D11_GetSystemDriver
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:310,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:311,1
    - Dst: HIWORD
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:315,1
    - Dst: LOWORD
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:316,1
    - Dst: HIWORD
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:317,1
    - Dst: LOWORD
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:318,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:320,1
    - Dst: DxgiVendorStr
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:320,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - obj
    - d3d_dev
    - pAdapter
    argTypes:
    - vlc_object_t*
    - d3d11_device_t*
    - IDXGIAdapter*
    assertStmts:
    - condition: (driver.QuadPart == check_old_way.QuadPart || check_old_way.QuadPart
        == 0)
      pos:
        line_end: 310
        line_start: 310
        source_file: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    constantsTouched: []
    func_position:
      end: 330
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 330
    functionName: D3D11_GetDriverVersion
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    functionUses: 0
    functionsReached:
    - HIWORD
    - assert
    - IDXGIAdapter*::CheckInterfaceSupport
    - FAILED
    - DxgiVendorStr
    - D3D11_GetSystemDriver
    - msg_Dbg
    - __uuidof
    - LOWORD
    linkageType: ''
    returnType: void
    signature: void D3D11_GetDriverVersion(vlc_object_t *obj, d3d11_device_t *d3d_dev,
      IDXGIAdapter *pAdapter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsDebuggerPresent
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:342,1
    - Dst: LoadLibraryExA
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:344,1
    - Dst: reinterpret_cast<decltype(pf_DXGIGetDebugInterface)>
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:348,1
    - Dst: GetProcAddress
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:348,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:349,1
    - Dst: FreeLibrary
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:351,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 356
    functionName: Init
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    functionUses: 162
    functionsReached:
    - reinterpret_cast<decltype(pf_DXGIGetDebugInterface)>
    - IsDebuggerPresent
    - GetProcAddress
    - LoadLibraryExA
    - unlikely
    - FreeLibrary
    linkageType: ''
    returnType: void
    signature: void Init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FreeLibrary
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 362
    functionName: Release
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    functionUses: 438
    functionsReached:
    - FreeLibrary
    linkageType: ''
    returnType: void
    signature: void Release()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:369,1
    - Dst: pf_DXGIGetDebugInterface
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:369,1
    - Dst: IID_GRAPHICS_PPV_ARGS
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:369,1
    - Dst: IDXGIDebug*::ReportLiveObjects
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:371,1
    - Dst: IDXGIDebug*::Release
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 375
    functionName: LogResource
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    functionUses: 0
    functionsReached:
    - IDXGIDebug*::Release
    - IDXGIDebug*::ReportLiveObjects
    - SUCCEEDED
    - pf_DXGIGetDebugInterface
    - IID_GRAPHICS_PPV_ARGS
    linkageType: ''
    returnType: void
    signature: void LogResource()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:393,1
    - Dst: d3d11_device_t*::d3dcontext::Flush
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:397,1
    - Dst: d3d11_device_t*::d3dcontext::Release
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:398,1
    - Dst: d3d11_device_t*::d3ddevice::Release
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:403,1
    - Dst: CloseHandle
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:408,1
    - Dst: d3d11_decoder_device*::external::cleanupDeviceCb
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:413,1
    - Dst: d3d11_decoder_device*::dxgi_debug::LogResource
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:416,1
    - Dst: d3d11_decoder_device*::dxgi_debug::Release
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:417,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - dev_sys
    argTypes:
    - d3d11_decoder_device_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 419
    functionName: D3D11_ReleaseDevice
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    functionUses: 0
    functionsReached:
    - container_of
    - d3d11_device_t*::d3ddevice::Release
    - d3d11_device_t*::d3dcontext::Release
    - d3d11_decoder_device*::external::cleanupDeviceCb
    - d3d11_decoder_device*::dxgi_debug::LogResource
    - d3d11_decoder_device*::dxgi_debug::Release
    - d3d11_device_t*::d3dcontext::Flush
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: void D3D11_ReleaseDevice(d3d11_decoder_device_t *dev_sys)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:424,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:426,1
    - Dst: ID3D11DeviceContext*::GetDevice
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:431,1
    - Dst: d3d11_device_t*::d3ddevice::GetCreationFlags
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:433,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:435,1
    - Dst: D3D11DeviceAdapter
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:438,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:439,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:441,1
    - Dst: d3d11_device_t*::d3ddevice::Release
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:442,1
    - Dst: IDXGIAdapter*::GetDesc
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:446,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:447,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:448,1
    - Dst: ID3D11DeviceContext*::AddRef
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:450,1
    - Dst: d3d11_device_t*::d3ddevice::GetFeatureLevel
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:453,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:458,1
    - Dst: CreateMutexEx
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:460,1
    - Dst: D3D11_GetDriverVersion
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:463,1
    - Dst: IDXGIAdapter*::Release
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:464,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 4
    argNames:
    - obj
    - d3d11ctx
    - context_lock
    - out
    argTypes:
    - vlc_object_t*
    - ID3D11DeviceContext*
    - HANDLE
    - d3d11_device_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 421
    functionDepth: 3
    functionLinenumber: 421
    functionLinenumberEnd: 466
    functionName: D3D11_CreateDeviceExternal
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    functionUses: 0
    functionsReached:
    - IDXGIAdapter*::Release
    - ID3D11DeviceContext*::AddRef
    - CreateMutexEx
    - FAILED
    - d3d11_device_t*::d3ddevice::GetCreationFlags
    - D3D11DeviceAdapter
    - d3d11_device_t*::d3ddevice::Release
    - msg_Err
    - d3d11_device_t*::d3ddevice::GetFeatureLevel
    - ID3D11DeviceContext*::GetDevice
    - msg_Warn
    - D3D11_GetDriverVersion
    - IDXGIAdapter*::GetDesc
    - unlikely
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT D3D11_CreateDeviceExternal(vlc_object_t *obj, ID3D11DeviceContext
      *d3d11ctx,\n                                          HANDLE context_lock, d3d11_device_t
      *out)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: IsDebuggerPresent
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:479,1
    - Dst: LoadLibraryExA
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:481,1
    - Dst: FreeLibrary
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:484,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:502,1
    - Dst: D3D11CreateDevice
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:503,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:505,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:507,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:508,1
    - Dst: IDXGIAdapter*::GetDesc
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:512,1
    - Dst: D3D11_GetDriverVersion
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:513,1
    - Dst: D3D11DeviceAdapter
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:517,1
    - Dst: IDXGIAdapter*::GetDesc
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:522,1
    - Dst: D3D11_GetDriverVersion
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:523,1
    - Dst: IDXGIAdapter*::Release
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:524,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:527,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:528,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:533,1
    - Dst: d3d11_device_t*::d3dcontext::Release
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:534,1
    - Dst: d3d11_device_t*::d3ddevice::Release
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:535,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:542,1
    - Dst: CreateMutexEx
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:544,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 4
    argNames:
    - obj
    - adapter
    - hw_decoding
    - out
    argTypes:
    - vlc_object_t*
    - IDXGIAdapter*
    - bool
    - d3d11_device_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 468
    functionDepth: 3
    functionLinenumber: 468
    functionLinenumberEnd: 551
    functionName: CreateDevice
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    functionUses: 4
    functionsReached:
    - IDXGIAdapter*::Release
    - ARRAY_SIZE
    - CreateMutexEx
    - FAILED
    - D3D11DeviceAdapter
    - d3d11_device_t*::d3dcontext::Release
    - d3d11_device_t*::d3ddevice::Release
    - IsDebuggerPresent
    - D3D11_GetDriverVersion
    - msg_Dbg
    - SUCCEEDED
    - LoadLibraryExA
    - msg_Warn
    - D3D11CreateDevice
    - IDXGIAdapter*::GetDesc
    - FreeLibrary
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT CreateDevice(vlc_object_t *obj,\n                            IDXGIAdapter
      *adapter,\n                            bool hw_decoding, d3d11_device_t *out)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<d3d11_decoder_device*>
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:557,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:557,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:558,1
    - Dst: d3d11_decoder_device*::dxgi_debug::Init
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:562,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:568,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:571,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:575,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:576,1
    - Dst: setupDeviceCb
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:581,1
    - Dst: d3d11_decoder_device*::external::cleanupDeviceCb
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:584,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:585,1
    - Dst: D3D11_CreateDeviceExternal
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:588,1
    - Dst: static_cast<ID3D11DeviceContext*>
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:588,1
    - Dst: GetModuleHandle
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:600,1
    - Dst: TEXT
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:600,1
    - Dst: likely
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:601,1
    - Dst: GetProcAddress
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:602,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:605,1
    - Dst: CreateDevice
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:611,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:615,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:621,1
    - Dst: d3d11_decoder_device*::dxgi_debug::LogResource
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:624,1
    - Dst: d3d11_decoder_device*::dxgi_debug::Release
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:625,1
    - Dst: vlc_obj_free
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:627,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 4
    argNames:
    - obj
    - adapter
    - hw_decoding
    - forced
    argTypes:
    - vlc_object_t*
    - IDXGIAdapter*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 553
    functionDepth: 4
    functionLinenumber: 553
    functionLinenumberEnd: 631
    functionName: "*(D3D11_CreateDevice)(vlc_object_t *obj,\n                                      IDXGIAdapter
      *adapter,\n                                      bool hw_decoding, bool forced)"
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    functionUses: 0
    functionsReached:
    - vlc_obj_malloc
    - var_InheritAddress
    - setupDeviceCb
    - GetProcAddress
    - d3d11_decoder_device*::dxgi_debug::Release
    - D3D11_CreateDeviceExternal
    - static_cast<d3d11_decoder_device*>
    - TEXT
    - msg_Err
    - static_cast<ID3D11DeviceContext*>
    - msg_Dbg
    - CreateDevice
    - var_InheritInteger
    - d3d11_decoder_device*::dxgi_debug::LogResource
    - likely
    - d3d11_decoder_device*::dxgi_debug::Init
    - GetModuleHandle
    - FAILED
    - vlc_obj_free
    - d3d11_decoder_device*::external::cleanupDeviceCb
    - unlikely
    linkageType: ''
    returnType: d3d11_decoder_device_t
    signature: "d3d11_decoder_device_t *(D3D11_CreateDevice)(vlc_object_t *obj,\n
      \                                     IDXGIAdapter *adapter,\n                                      bool
      hw_decoding, bool forced)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ID3D11Device*::QueryInterface
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:636,1
    - Dst: IID_GRAPHICS_PPV_ARGS
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:636,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:637,1
    - Dst: IDXGIDevice*::GetAdapter
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:642,1
    - Dst: IDXGIDevice*::Release
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:643,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:644,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - d3ddev
    argTypes:
    - ID3D11Device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 648
    functionName: D3D11DeviceAdapter
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    functionUses: 2
    functionsReached:
    - ID3D11Device*::QueryInterface
    - IID_GRAPHICS_PPV_ARGS
    - FAILED
    - IDXGIDevice*::GetAdapter
    - IDXGIDevice*::Release
    linkageType: ''
    returnType: IDXGIAdapter
    signature: IDXGIAdapter *D3D11DeviceAdapter(ID3D11Device *d3ddev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wcscmp
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:657,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - d3ddev
    argTypes:
    - d3d11_device_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 662
    functionName: isXboxHardware
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    functionUses: 0
    functionsReached:
    - wcscmp
    linkageType: ''
    returnType: bool
    signature: bool isXboxHardware([[maybe_unused]] const d3d11_device_t *d3ddev)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 3
    argNames:
    - d3d_dev
    - vendorId
    - min_ver
    argTypes:
    - d3d11_device_t*
    - UINT
    - struct wddm_version*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 702
    functionName: D3D11CheckDriverVersion
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int D3D11CheckDriverVersion(const d3d11_device_t *d3d_dev, UINT vendorId,
      const struct wddm_version *min_ver)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: is_d3d11_opaque
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:712,1
    - Dst: ZeroMemory
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:717,1
    - Dst: d3d11_device_t*::d3ddevice::CreateTexture2D
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:728,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:729,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:731,1
    - Dst: DxgiFormatToStr
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:731,1
    - Dst: d3d11_device_t*::d3dcontext::Map
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:736,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:737,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:739,1
    - Dst: DxgiFormatToStr
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:739,1
    - Dst: d3d11_device_t*::d3dcontext::Unmap
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:743,1
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:747,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:750,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:757,1
    - Dst: DxgiFormatToStr
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:758,1
    - Dst: ID3D11Texture2D*::Release
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:766,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 4
    argNames:
    - obj
    - d3d_dev
    - i_chroma
    - dxgi
    argTypes:
    - vlc_object_t*
    - d3d11_device_t*
    - vlc_fourcc_t
    - DXGI_FORMAT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 769
    functionName: CanReallyUseFormat
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    functionUses: 0
    functionsReached:
    - is_d3d11_opaque
    - FAILED
    - ID3D11Texture2D*::Release
    - msg_Err
    - d3d11_device_t*::d3dcontext::Unmap
    - msg_Dbg
    - d3d11_device_t*::d3ddevice::CreateTexture2D
    - DxgiFormatToStr
    - d3d11_device_t*::d3dcontext::Map
    - vlc_fourcc_GetChromaDescription
    - ZeroMemory
    linkageType: ''
    returnType: bool
    signature: "bool CanReallyUseFormat(vlc_object_t *obj, d3d11_device_t *d3d_dev,\n
      \                              vlc_fourcc_t i_chroma, DXGI_FORMAT dxgi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:774,1
    - Dst: d3d11_device_t*::d3ddevice::CheckFormatSupport
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:774,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - d3d_dev
    - format
    - supportFlags
    argTypes:
    - d3d11_device_t*
    - DXGI_FORMAT
    - UINT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 777
    functionName: D3D11_DeviceSupportsFormat
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    functionUses: 0
    functionsReached:
    - d3d11_device_t*::d3ddevice::CheckFormatSupport
    - SUCCEEDED
    linkageType: ''
    returnType: bool
    signature: bool D3D11_DeviceSupportsFormat(d3d11_device_t *d3d_dev, DXGI_FORMAT
      format, UINT supportFlags)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DxgiGetRenderFormatList
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:792,1
    - Dst: is_d3d11_opaque
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:799,1
    - Dst: vlc_fourcc_IsYUV
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:802,1
    - Dst: D3D11_DeviceSupportsFormat
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:820,1
    - Dst: CanReallyUseFormat
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:821,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 26
    argCount: 10
    argNames:
    - o
    - d3d_dev
    - i_src_chroma
    - rgb_yuv
    - bits_per_channel
    - widthDenominator
    - heightDenominator
    - alpha_bits
    - cpu_gpu
    - supportFlags
    argTypes:
    - vlc_object_t*
    - d3d11_device_t*
    - vlc_fourcc_t
    - int
    - uint8_t
    - uint8_t
    - uint8_t
    - int
    - int
    - UINT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 780
    functionDepth: 2
    functionLinenumber: 780
    functionLinenumberEnd: 825
    functionName: "*(FindD3D11Format)(vlc_object_t *o,\n                                    d3d11_device_t
      *d3d_dev,\n                                    vlc_fourcc_t i_src_chroma,\n
      \                                   int rgb_yuv,\n                                    uint8_t
      bits_per_channel,\n                                    uint8_t widthDenominator,\n
      \                                   uint8_t heightDenominator,\n                                    int
      alpha_bits,\n                                    int cpu_gpu,\n                                    UINT
      supportFlags)"
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    functionUses: 0
    functionsReached:
    - is_d3d11_opaque
    - DxgiGetRenderFormatList
    - CanReallyUseFormat
    - D3D11_DeviceSupportsFormat
    - vlc_fourcc_IsYUV
    linkageType: ''
    returnType: d3d_format_t
    signature: "d3d_format_t *(FindD3D11Format)(vlc_object_t *o,\n                                    d3d11_device_t
      *d3d_dev,\n                                    vlc_fourcc_t i_src_chroma,\n
      \                                   int rgb_yuv,\n                                    uint8_t
      bits_per_channel,\n                                    uint8_t widthDenominator,\n
      \                                   uint8_t heightDenominator,\n                                    int
      alpha_bits,\n                                    int cpu_gpu,\n                                    UINT
      supportFlags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: D3D11_PICCONTEXT_FROM_PICCTX
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:829,1
    - Dst: ID3D11Texture2D*::GetDesc
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:831,1
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:837,1
    - Dst: ID3D11Texture2D*::AddRef
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:862,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - pic
    - slicedTexture
    - cfg
    argTypes:
    - picture_t*
    - ID3D11Texture2D*
    - d3d_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 865
    functionName: D3D11_PictureAttach
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    functionUses: 0
    functionsReached:
    - ID3D11Texture2D*::GetDesc
    - D3D11_PICCONTEXT_FROM_PICCTX
    - vlc_fourcc_GetChromaDescription
    - ID3D11Texture2D*::AddRef
    linkageType: ''
    returnType: void
    signature: void D3D11_PictureAttach(picture_t *pic, ID3D11Texture2D *slicedTexture,
      const d3d_format_t *cfg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ZeroMemory
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:878,1
    - Dst: is_d3d11_opaque
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:885,1
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:894,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:901,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:904,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:908,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:909,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:912,1
    - Dst: d3d11_device_t*::d3ddevice::CreateTexture2D
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:917,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:918,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:919,1
    - Dst: ID3D11Texture2D*::AddRef
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:938,1
    - Dst: d3d11_device_t*::d3ddevice::CreateTexture2D
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:942,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:943,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:944,1
    - Dst: AddRef
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:960,1
    - Dst: ID3D11Texture2D*::Release
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:965,1
    - Dst: ID3D11Texture2D*::Release
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:969,1
    - Dst: Release
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:971,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 83
    argCount: 7
    argNames:
    - obj
    - d3d_dev
    - cfg
    - fmt
    - shared
    - textures
    - out_planes
    argTypes:
    - vlc_object_t*
    - d3d11_device_t*
    - d3d_format_t*
    - video_format_t*
    - bool
    - ID3D11Texture2D*[]
    - plane_t[]
    assertStmts:
    - condition: (cfg->resourceFormat[2] == cfg->resourceFormat[0])
      pos:
        line_end: 908
        line_start: 908
        source_file: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    - condition: (cfg->resourceFormat[1] == cfg->resourceFormat[0])
      pos:
        line_end: 907
        line_start: 907
        source_file: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    - condition: (p_chroma_desc->plane_count <= DXGI_MAX_SHADER_VIEW)
      pos:
        line_end: 903
        line_start: 903
        source_file: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    constantsTouched: []
    func_position:
      end: 973
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 973
    functionName: AllocateTextures
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    functionUses: 0
    functionsReached:
    - assert
    - is_d3d11_opaque
    - FAILED
    - Release
    - ID3D11Texture2D*::Release
    - msg_Err
    - AddRef
    - __MAX
    - msg_Dbg
    - vlc_fourcc_GetChromaDescription
    - d3d11_device_t*::d3ddevice::CreateTexture2D
    - ZeroMemory
    - ID3D11Texture2D*::AddRef
    linkageType: ''
    returnType: int
    signature: "int AllocateTextures( vlc_object_t *obj, d3d11_device_t *d3d_dev,\n
      \                     const d3d_format_t *cfg, const video_format_t *fmt, bool
      shared,\n                      ID3D11Texture2D *textures[],\n                      plane_t
      out_planes[] )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:978,1
    - Dst: d3d11_decoder_device*::dxgi_debug::LogResource
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev_sys
    argTypes:
    - d3d11_decoder_device_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 981
    functionName: D3D11_LogResources
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    functionUses: 0
    functionsReached:
    - d3d11_decoder_device*::dxgi_debug::LogResource
    - container_of
    linkageType: ''
    returnType: void
    signature: void D3D11_LogResources([[maybe_unused]] d3d11_decoder_device_t *dev_sys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_video_context_Create
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:989,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:991,1
    - Dst: GetD3D11ContextPrivate
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:994,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dec_dev
    - vctx_fmt
    - alpha
    argTypes:
    - vlc_decoder_device*
    - DXGI_FORMAT
    - DXGI_FORMAT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 987
    functionDepth: 1
    functionLinenumber: 987
    functionLinenumberEnd: 998
    functionName: D3D11CreateVideoContext
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    functionUses: 1
    functionsReached:
    - GetD3D11ContextPrivate
    - unlikely
    - vlc_video_context_Create
    linkageType: ''
    returnType: vlc_video_context
    signature: vlc_video_context *D3D11CreateVideoContext(vlc_decoder_device *dec_dev,
      DXGI_FORMAT vctx_fmt, DXGI_FORMAT alpha)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: D3D11_PICCONTEXT_FROM_PICCTX
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:1002,1
    - Dst: ReleaseD3D11PictureSys
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:1003,1
    - Dst: CloseHandle
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:1005,1
    - Dst: free
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:1006,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 1000
    functionDepth: 1
    functionLinenumber: 1000
    functionLinenumberEnd: 1007
    functionName: d3d11_pic_context_destroy
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    functionUses: 0
    functionsReached:
    - free
    - D3D11_PICCONTEXT_FROM_PICCTX
    - ReleaseD3D11PictureSys
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: void d3d11_pic_context_destroy(picture_context_t *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<d3d11_pic_context*>
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:1011,1
    - Dst: calloc
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:1011,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:1012,1
    - Dst: D3D11_PICCONTEXT_FROM_PICCTX
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:1014,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:1015,1
    - Dst: AcquireD3D11PictureSys
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:1016,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1009
    functionDepth: 2
    functionLinenumber: 1009
    functionLinenumberEnd: 1018
    functionName: d3d11_pic_context_copy
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    functionUses: 0
    functionsReached:
    - D3D11_PICCONTEXT_FROM_PICCTX
    - static_cast<d3d11_pic_context*>
    - vlc_video_context_Hold
    - calloc
    - AcquireD3D11PictureSys
    - unlikely
    linkageType: ''
    returnType: picture_context_t
    signature: picture_context_t *d3d11_pic_context_copy(picture_context_t *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:1024,1
    - Dst: static_cast<d3d11_pic_context*>
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:1027,1
    - Dst: calloc
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:1027,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:1028,1
    - Dst: GetD3D11OpaqueContext
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:1032,1
    - Dst: AllocateTextures
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:1033,1
    - Dst: free
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:1036,1
    - Dst: D3D11_AllocateResourceView
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:1040,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:1040,1
    - Dst: QueryInterface
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:1046,1
    - Dst: IID_GRAPHICS_PPV_ARGS
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:1046,1
    - Dst: likely
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:1047,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:1047,1
    - Dst: IDXGIResource1*::CreateSharedHandle
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:1049,1
    - Dst: IDXGIResource1*::Release
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:1053,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:1059,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - obj
    - pic
    - vctx_out
    - shared
    - cfg
    argTypes:
    - vlc_object_t*
    - picture_t*
    - vlc_video_context*
    - bool
    - d3d_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1020
    functionDepth: 2
    functionLinenumber: 1020
    functionLinenumberEnd: 1063
    functionName: D3D11_PictureFill
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    functionUses: 0
    functionsReached:
    - IDXGIResource1*::Release
    - QueryInterface
    - static_cast<d3d11_pic_context*>
    - IDXGIResource1*::CreateSharedHandle
    - vlc_object_logger
    - AllocateTextures
    - vlc_video_context_Hold
    - calloc
    - free
    - likely
    - GetD3D11OpaqueContext
    - SUCCEEDED
    - D3D11_AllocateResourceView
    - unlikely
    - IID_GRAPHICS_PPV_ARGS
    linkageType: ''
    returnType: int
    signature: "int D3D11_PictureFill(vlc_object_t *obj, picture_t *pic,\n                      vlc_video_context
      *vctx_out,\n                      bool shared, const d3d_format_t *cfg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: picture_NewFromFormat
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:1069,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:1070,1
    - Dst: D3D11_PictureFill
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:1073,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.cpp:1075,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - obj
    - fmt
    - vctx_out
    - shared
    - cfg
    argTypes:
    - vlc_object_t*
    - video_format_t*
    - vlc_video_context*
    - bool
    - d3d_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1065
    functionDepth: 3
    functionLinenumber: 1065
    functionLinenumberEnd: 1080
    functionName: D3D11_AllocPicture
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.cpp
    functionUses: 1
    functionsReached:
    - picture_Release
    - unlikely
    - D3D11_PictureFill
    - picture_NewFromFormat
    linkageType: ''
    returnType: picture_t
    signature: "picture_t *D3D11_AllocPicture(vlc_object_t *obj,\n                              const
      video_format_t *fmt, vlc_video_context *vctx_out,\n                              bool
      shared, const d3d_format_t *cfg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pic
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: GET_PITCHES
    functionSourceFile: /src/vlc/modules/video_chroma/i420_nv12.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_PITCHES( pic )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pic
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: GET_PLANES
    functionSourceFile: /src/vlc/modules/video_chroma/i420_nv12.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_PLANES( pic )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_PITCHES
      Src: /src/vlc/modules/video_chroma/i420_nv12.c:64,1
    - Dst: GET_PLANES
      Src: /src/vlc/modules/video_chroma/i420_nv12.c:65,1
    - Dst: Copy420_P_to_SP
      Src: /src/vlc/modules/video_chroma/i420_nv12.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_filter
    - p_src
    - p_dst
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 70
    functionName: I420_NV12
    functionSourceFile: /src/vlc/modules/video_chroma/i420_nv12.c
    functionUses: 0
    functionsReached:
    - GET_PITCHES
    - Copy420_P_to_SP
    - GET_PLANES
    linkageType: ''
    returnType: void
    signature: "void I420_NV12( filter_t *p_filter, picture_t *p_src,\n                                           picture_t
      *p_dst )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: picture_SwapUV
      Src: /src/vlc/modules/video_chroma/i420_nv12.c:78,1
    - Dst: I420_NV12
      Src: /src/vlc/modules/video_chroma/i420_nv12.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p_filter
    - p_src
    - p_dst
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: YV12_NV12
    functionSourceFile: /src/vlc/modules/video_chroma/i420_nv12.c
    functionUses: 0
    functionsReached:
    - I420_NV12
    - picture_SwapUV
    linkageType: ''
    returnType: void
    signature: "void YV12_NV12( filter_t *p_filter, picture_t *p_src,\n                                           picture_t
      *p_dst )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_PITCHES
      Src: /src/vlc/modules/video_chroma/i420_nv12.c:88,1
    - Dst: GET_PLANES
      Src: /src/vlc/modules/video_chroma/i420_nv12.c:89,1
    - Dst: Copy420_SP_to_P
      Src: /src/vlc/modules/video_chroma/i420_nv12.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_filter
    - p_src
    - p_dst
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 94
    functionName: NV12_I420
    functionSourceFile: /src/vlc/modules/video_chroma/i420_nv12.c
    functionUses: 0
    functionsReached:
    - Copy420_SP_to_P
    - GET_PITCHES
    - GET_PLANES
    linkageType: ''
    returnType: void
    signature: "void NV12_I420( filter_t *p_filter, picture_t *p_src,\n                                           picture_t
      *p_dst )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NV12_I420
      Src: /src/vlc/modules/video_chroma/i420_nv12.c:99,1
    - Dst: picture_SwapUV
      Src: /src/vlc/modules/video_chroma/i420_nv12.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p_filter
    - p_src
    - p_dst
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: NV12_YV12
    functionSourceFile: /src/vlc/modules/video_chroma/i420_nv12.c
    functionUses: 0
    functionsReached:
    - picture_SwapUV
    - NV12_I420
    linkageType: ''
    returnType: void
    signature: "void NV12_YV12( filter_t *p_filter, picture_t *p_src,\n                                           picture_t
      *p_dst )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_PITCHES
      Src: /src/vlc/modules/video_chroma/i420_nv12.c:109,1
    - Dst: GET_PLANES
      Src: /src/vlc/modules/video_chroma/i420_nv12.c:110,1
    - Dst: Copy420_16_P_to_SP
      Src: /src/vlc/modules/video_chroma/i420_nv12.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_filter
    - p_src
    - p_dst
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: I42010B_P010
    functionSourceFile: /src/vlc/modules/video_chroma/i420_nv12.c
    functionUses: 0
    functionsReached:
    - GET_PITCHES
    - Copy420_16_P_to_SP
    - GET_PLANES
    linkageType: ''
    returnType: void
    signature: "void I42010B_P010( filter_t *p_filter, picture_t *p_src,\n                                              picture_t
      *p_dst )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_PITCHES
      Src: /src/vlc/modules/video_chroma/i420_nv12.c:123,1
    - Dst: GET_PLANES
      Src: /src/vlc/modules/video_chroma/i420_nv12.c:124,1
    - Dst: Copy420_16_SP_to_P
      Src: /src/vlc/modules/video_chroma/i420_nv12.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_filter
    - p_src
    - p_dst
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 129
    functionName: P010_I42010B
    functionSourceFile: /src/vlc/modules/video_chroma/i420_nv12.c
    functionUses: 0
    functionsReached:
    - GET_PITCHES
    - Copy420_16_SP_to_P
    - GET_PLANES
    linkageType: ''
    returnType: void
    signature: "void P010_I42010B( filter_t *p_filter, picture_t *p_src,\n                                              picture_t
      *p_dst )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CopyCleanCache
      Src: /src/vlc/modules/video_chroma/i420_nv12.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: Delete
    functionSourceFile: /src/vlc/modules/video_chroma/i420_nv12.c
    functionUses: 199
    functionsReached:
    - CopyCleanCache
    linkageType: ''
    returnType: void
    signature: void Delete(filter_t *p_filter)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/video_chroma/i420_nv12.c:214,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_chroma/i420_nv12.c:214,1
    - Dst: CopyInitCache
      Src: /src/vlc/modules/video_chroma/i420_nv12.c:219,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 226
    functionName: Create
    functionSourceFile: /src/vlc/modules/video_chroma/i420_nv12.c
    functionUses: 110
    functionsReached:
    - CopyInitCache
    - vlc_obj_malloc
    - VLC_OBJECT
    linkageType: ''
    returnType: int
    signature: int Create( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/video_chroma/i420_nv12.c:233,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/video_chroma/i420_nv12.c:234,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/video_chroma/i420_nv12.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - vec
    argTypes:
    - vlc_chroma_conv_vec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 236
    functionName: ProbeChroma
    functionSourceFile: /src/vlc/modules/video_chroma/i420_nv12.c
    functionUses: 0
    functionsReached:
    - vlc_chroma_conv_add
    linkageType: ''
    returnType: void
    signature: void ProbeChroma(vlc_chroma_conv_vec *vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/video_chroma/yuy2_i422.c:51,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/video_chroma/yuy2_i422.c:52,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/video_chroma/yuy2_i422.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - vec
    argTypes:
    - vlc_chroma_conv_vec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: ProbeChroma
    functionSourceFile: /src/vlc/modules/video_chroma/yuy2_i422.c
    functionUses: 0
    functionsReached:
    - vlc_chroma_conv_add
    linkageType: ''
    returnType: void
    signature: void ProbeChroma(vlc_chroma_conv_vec *vec)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 111
    functionName: Activate
    functionSourceFile: /src/vlc/modules/video_chroma/yuy2_i422.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Activate( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: C_YUYV_YUV422
      Src: /src/vlc/modules/video_chroma/yuy2_i422.c:143,1
    - Dst: C_YUYV_YUV422
      Src: /src/vlc/modules/video_chroma/yuy2_i422.c:144,1
    - Dst: C_YUYV_YUV422
      Src: /src/vlc/modules/video_chroma/yuy2_i422.c:145,1
    - Dst: C_YUYV_YUV422
      Src: /src/vlc/modules/video_chroma/yuy2_i422.c:146,1
    - Dst: C_YUYV_YUV422
      Src: /src/vlc/modules/video_chroma/yuy2_i422.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - p_filter
    - p_source
    - p_dest
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 157
    functionName: YUY2_I422
    functionSourceFile: /src/vlc/modules/video_chroma/yuy2_i422.c
    functionUses: 0
    functionsReached:
    - C_YUYV_YUV422
    linkageType: ''
    returnType: void
    signature: "void YUY2_I422( filter_t *p_filter, picture_t *p_source,\n                                           picture_t
      *p_dest )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - p_line
    - ','
    - p_y
    - ','
    - p_u
    - ','
    - p_v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: C_YUYV_YUV422
    functionSourceFile: /src/vlc/modules/video_chroma/yuy2_i422.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C_YUYV_YUV422( p_line, p_y, p_u, p_v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: C_YVYU_YUV422
      Src: /src/vlc/modules/video_chroma/yuy2_i422.c:187,1
    - Dst: C_YVYU_YUV422
      Src: /src/vlc/modules/video_chroma/yuy2_i422.c:188,1
    - Dst: C_YVYU_YUV422
      Src: /src/vlc/modules/video_chroma/yuy2_i422.c:189,1
    - Dst: C_YVYU_YUV422
      Src: /src/vlc/modules/video_chroma/yuy2_i422.c:190,1
    - Dst: C_YVYU_YUV422
      Src: /src/vlc/modules/video_chroma/yuy2_i422.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - p_filter
    - p_source
    - p_dest
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 201
    functionName: YVYU_I422
    functionSourceFile: /src/vlc/modules/video_chroma/yuy2_i422.c
    functionUses: 0
    functionsReached:
    - C_YVYU_YUV422
    linkageType: ''
    returnType: void
    signature: "void YVYU_I422( filter_t *p_filter, picture_t *p_source,\n                                           picture_t
      *p_dest )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - p_line
    - ','
    - p_y
    - ','
    - p_u
    - ','
    - p_v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: C_YVYU_YUV422
    functionSourceFile: /src/vlc/modules/video_chroma/yuy2_i422.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C_YVYU_YUV422( p_line, p_y, p_u, p_v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: C_UYVY_YUV422
      Src: /src/vlc/modules/video_chroma/yuy2_i422.c:231,1
    - Dst: C_UYVY_YUV422
      Src: /src/vlc/modules/video_chroma/yuy2_i422.c:232,1
    - Dst: C_UYVY_YUV422
      Src: /src/vlc/modules/video_chroma/yuy2_i422.c:233,1
    - Dst: C_UYVY_YUV422
      Src: /src/vlc/modules/video_chroma/yuy2_i422.c:234,1
    - Dst: C_UYVY_YUV422
      Src: /src/vlc/modules/video_chroma/yuy2_i422.c:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - p_filter
    - p_source
    - p_dest
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 245
    functionName: UYVY_I422
    functionSourceFile: /src/vlc/modules/video_chroma/yuy2_i422.c
    functionUses: 0
    functionsReached:
    - C_UYVY_YUV422
    linkageType: ''
    returnType: void
    signature: "void UYVY_I422( filter_t *p_filter, picture_t *p_source,\n                                           picture_t
      *p_dest )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - p_line
    - ','
    - p_y
    - ','
    - p_u
    - ','
    - p_v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: C_UYVY_YUV422
    functionSourceFile: /src/vlc/modules/video_chroma/yuy2_i422.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C_UYVY_YUV422( p_line, p_y, p_u, p_v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_chroma_conv_add_in_outlist
      Src: /src/vlc/modules/video_chroma/i422_i420.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vec
    argTypes:
    - vlc_chroma_conv_vec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: ProbeChroma
    functionSourceFile: /src/vlc/modules/video_chroma/i422_i420.c
    functionUses: 0
    functionsReached:
    - vlc_chroma_conv_add_in_outlist
    linkageType: ''
    returnType: void
    signature: void ProbeChroma(vlc_chroma_conv_vec *vec)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 110
    functionName: Activate
    functionSourceFile: /src/vlc/modules/video_chroma/i422_i420.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Activate( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/video_chroma/i422_i420.c:136,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_chroma/i422_i420.c:137,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_chroma/i422_i420.c:138,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_chroma/i422_i420.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - p_filter
    - p_source
    - p_dest
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 141
    functionName: I422_I420
    functionSourceFile: /src/vlc/modules/video_chroma/i422_i420.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void I422_I420( filter_t *p_filter, picture_t *p_source,\n                                           picture_t
      *p_dest )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/video_chroma/i422_i420.c:165,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_chroma/i422_i420.c:166,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_chroma/i422_i420.c:167,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_chroma/i422_i420.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - p_filter
    - p_source
    - p_dest
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 170
    functionName: I422_YV12
    functionSourceFile: /src/vlc/modules/video_chroma/i422_i420.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void I422_YV12( filter_t *p_filter, picture_t *p_source,\n                                           picture_t
      *p_dest )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: I422_I420
      Src: /src/vlc/modules/video_chroma/i422_i420.c:178,1
    - Dst: memset
      Src: /src/vlc/modules/video_chroma/i422_i420.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p_filter
    - p_source
    - p_dest
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 181
    functionName: I422_YUVA
    functionSourceFile: /src/vlc/modules/video_chroma/i422_i420.c
    functionUses: 0
    functionsReached:
    - memset
    - I422_I420
    linkageType: ''
    returnType: void
    signature: "void I422_YUVA( filter_t *p_filter, picture_t *p_source,\n                                           picture_t
      *p_dest )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/vlc/modules/video_chroma/i420_rgb.h:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - pp_buffer
    - pi_buffer
    - i_width
    - bytespp
    argTypes:
    - uint8_t**
    - size_t*
    - unsigned
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: AllocateOrGrow
    functionSourceFile: /src/vlc/modules/video_chroma/i420_rgb.h
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: int
    signature: "int AllocateOrGrow( uint8_t **pp_buffer, size_t *pi_buffer,\n                                  unsigned
      i_width, uint8_t bytespp )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - BPP
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: CONVERT_Y_PIXEL
    functionSourceFile: /src/vlc/modules/video_chroma/i420_rgb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONVERT_Y_PIXEL( BPP )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - BPP
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: CONVERT_YUV_PIXEL
    functionSourceFile: /src/vlc/modules/video_chroma/i420_rgb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONVERT_YUV_PIXEL( BPP )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - BPP
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: CONVERT_Y_PIXEL_DITHER
    functionSourceFile: /src/vlc/modules/video_chroma/i420_rgb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONVERT_Y_PIXEL_DITHER( BPP )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - BPP
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: CONVERT_YUV_PIXEL_DITHER
    functionSourceFile: /src/vlc/modules/video_chroma/i420_rgb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONVERT_YUV_PIXEL_DITHER( BPP )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - CHROMA
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 154
    functionName: CONVERT_4YUV_PIXEL
    functionSourceFile: /src/vlc/modules/video_chroma/i420_rgb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONVERT_4YUV_PIXEL( CHROMA )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - CHROMA
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 184
    functionName: CONVERT_4YUV_PIXEL_SCALE
    functionSourceFile: /src/vlc/modules/video_chroma/i420_rgb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONVERT_4YUV_PIXEL_SCALE( CHROMA )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - CHROMA
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: SCALE_WIDTH_DITHER
    functionSourceFile: /src/vlc/modules/video_chroma/i420_rgb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCALE_WIDTH_DITHER( CHROMA )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - CHROMA
    - ','
    - BPP
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 281
    functionName: SCALE_HEIGHT
    functionSourceFile: /src/vlc/modules/video_chroma/i420_rgb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCALE_HEIGHT( CHROMA, BPP )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - CHROMA
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 335
    functionName: SCALE_HEIGHT_DITHER
    functionSourceFile: /src/vlc/modules/video_chroma/i420_rgb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCALE_HEIGHT_DITHER( CHROMA )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - i_r
    - ','
    - i_g
    - ','
    - i_b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: RGB2PIXEL
    functionSourceFile: /src/vlc/modules/video_chroma/i420_rgb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RGB2PIXEL( i_r, i_g, i_b )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_chroma_conv_add_in_outlist
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:80,1
    - Dst: vlc_chroma_conv_add_in_outlist
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vec
    argTypes:
    - vlc_chroma_conv_vec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 82
    functionName: ProbeChroma
    functionSourceFile: /src/vlc/modules/video_chroma/i420_rgb.c
    functionUses: 0
    functionsReached:
    - vlc_chroma_conv_add_in_outlist
    linkageType: ''
    returnType: void
    signature: void ProbeChroma(vlc_chroma_conv_vec *vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: vlc_CPU_capable
    functionSourceFile: /src/vlc/modules/video_chroma/i420_rgb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vlc_CPU_capable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: vlc_CPU_capable
    functionSourceFile: /src/vlc/modules/video_chroma/i420_rgb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vlc_CPU_capable()
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: vlc_CPU_capable
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:120,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:142,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:147,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:152,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:157,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:162,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:167,1
    - Dst: malloc
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:195,1
    - Dst: free
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:220,1
    - Dst: malloc
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:224,1
    - Dst: free
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:229,1
    - Dst: malloc
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:234,1
    - Dst: free
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:237,1
    - Dst: free
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:238,1
    - Dst: SetYUV
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:242,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 88
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 246
    functionName: Activate
    functionSourceFile: /src/vlc/modules/video_chroma/i420_rgb.c
    functionUses: 5
    functionsReached:
    - SetYUV
    - free
    - vlc_CPU_capable
    - msg_Dbg
    - malloc
    linkageType: ''
    returnType: int
    signature: int Activate( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:258,1
    - Dst: free
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:260,1
    - Dst: free
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:261,1
    - Dst: free
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 263
    functionName: Deactivate
    functionSourceFile: /src/vlc/modules/video_chroma/i420_rgb.c
    functionUses: 3
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void Deactivate( filter_t *p_filter )
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:362,1
    - Dst: Set8bppPalette
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:376,1
    - Dst: RGB2PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:384,1
    - Dst: RGB2PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:389,1
    - Dst: RGB2PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:394,1
    - Dst: RGB2PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:398,1
    - Dst: RGB2PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:399,1
    - Dst: RGB2PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:400,1
    - Dst: RGB2PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:411,1
    - Dst: RGB2PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:416,1
    - Dst: RGB2PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:421,1
    - Dst: RGB2PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:425,1
    - Dst: RGB2PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:426,1
    - Dst: RGB2PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:427,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 133
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 431
    functionName: SetYUV
    functionSourceFile: /src/vlc/modules/video_chroma/i420_rgb.c
    functionUses: 1
    functionsReached:
    - Set8bppPalette
    - vlc_assert_unreachable
    - RGB2PIXEL
    linkageType: ''
    returnType: void
    signature: void SetYUV( filter_t *p_filter )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:466,1
    - Dst: CLIP
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:471,1
    - Dst: CLIP
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:472,1
    - Dst: CLIP
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:473,1
    - Dst: printf
      Src: /src/vlc/modules/video_chroma/i420_rgb.c:476,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 54
    argCount: 2
    argNames:
    - p_filter
    - p_rgb8
    argTypes:
    - filter_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 550
    functionName: Set8bppPalette
    functionSourceFile: /src/vlc/modules/video_chroma/i420_rgb.c
    functionUses: 1
    functionsReached:
    - printf
    - CLIP
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void Set8bppPalette( filter_t *p_filter, uint8_t *p_rgb8 )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 436
    functionName: CLIP
    functionSourceFile: /src/vlc/modules/video_chroma/i420_rgb.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLIP( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_chroma_conv_add_in_outlist
      Src: /src/vlc/modules/video_chroma/yuvp.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vec
    argTypes:
    - vlc_chroma_conv_vec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: ProbeChroma
    functionSourceFile: /src/vlc/modules/video_chroma/yuvp.c
    functionUses: 0
    functionsReached:
    - vlc_chroma_conv_add_in_outlist
    linkageType: ''
    returnType: void
    signature: void ProbeChroma(vlc_chroma_conv_vec *vec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_chroma/yuvp.c:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 95
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_chroma/yuvp.c
    functionUses: 33
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int Open( filter_t *p_filter )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/yuvp.c:106,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/yuvp.c:107,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/yuvp.c:108,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/yuvp.c:109,1
    - Dst: GetPackedRgbIndexes
      Src: /src/vlc/modules/video_chroma/yuvp.c:140,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_chroma/yuvp.c:141,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/yuvp.c:144,1
    - Dst: memset
      Src: /src/vlc/modules/video_chroma/yuvp.c:150,1
    - Dst: Yuv2Rgb
      Src: /src/vlc/modules/video_chroma/yuvp.c:153,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 3
    argNames:
    - p_filter
    - p_source
    - p_dest
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts:
    - condition: ( p_yuvp != NULL )
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/vlc/modules/video_chroma/yuvp.c
    - condition: ( p_filter->fmt_in.video.i_chroma == VLC_CODEC_YUVP )
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/vlc/modules/video_chroma/yuvp.c
    - condition: ( p_filter->fmt_in.video.i_height == p_filter->fmt_out.video.i_height
        )
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/vlc/modules/video_chroma/yuvp.c
    - condition: ( p_filter->fmt_in.video.i_width == p_filter->fmt_out.video.i_width
        )
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/vlc/modules/video_chroma/yuvp.c
    - condition: (p_yuvp->i_entries <= VIDEO_PALETTE_COLORS_MAX)
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/vlc/modules/video_chroma/yuvp.c
    constantsTouched: []
    func_position:
      end: 176
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 176
    functionName: Convert
    functionSourceFile: /src/vlc/modules/video_chroma/yuvp.c
    functionUses: 6
    functionsReached:
    - assert
    - vlc_assert_unreachable
    - memset
    - GetPackedRgbIndexes
    - Yuv2Rgb
    linkageType: ''
    returnType: void
    signature: "void Convert( filter_t *p_filter, picture_t *p_source,\n                                           picture_t
      *p_dest )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FIX
      Src: /src/vlc/modules/video_chroma/yuvp.c:189,1
    - Dst: FIX
      Src: /src/vlc/modules/video_chroma/yuvp.c:190,1
    - Dst: FIX
      Src: /src/vlc/modules/video_chroma/yuvp.c:191,1
    - Dst: FIX
      Src: /src/vlc/modules/video_chroma/yuvp.c:192,1
    - Dst: FIX
      Src: /src/vlc/modules/video_chroma/yuvp.c:193,1
    - Dst: vlc_uint8
      Src: /src/vlc/modules/video_chroma/yuvp.c:194,1
    - Dst: vlc_uint8
      Src: /src/vlc/modules/video_chroma/yuvp.c:195,1
    - Dst: vlc_uint8
      Src: /src/vlc/modules/video_chroma/yuvp.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 6
    argNames:
    - r
    - g
    - b
    - y1
    - u1
    - v1
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 198
    functionName: Yuv2Rgb
    functionSourceFile: /src/vlc/modules/video_chroma/yuvp.c
    functionUses: 1
    functionsReached:
    - vlc_uint8
    - FIX
    linkageType: ''
    returnType: void
    signature: void Yuv2Rgb( uint8_t *r, uint8_t *g, uint8_t *b, int y1, int u1, int
      v1 )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    functionName: FIX
    functionSourceFile: /src/vlc/modules/video_chroma/yuvp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIX(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - format
    argTypes:
    - DXGI_FORMAT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: DxgiFormatToStr
    functionSourceFile: /src/vlc/modules/video_chroma/dxgi_fmt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *DxgiFormatToStr(DXGI_FORMAT format)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - format
    argTypes:
    - DXGI_FORMAT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: DxgiFormatFourcc
    functionSourceFile: /src/vlc/modules/video_chroma/dxgi_fmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t DxgiFormatFourcc(DXGI_FORMAT format)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - format
    argTypes:
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: DxgiFourccFormat
    functionSourceFile: /src/vlc/modules/video_chroma/dxgi_fmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DXGI_FORMAT
    signature: DXGI_FORMAT DxgiFourccFormat(vlc_fourcc_t format)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: DxgiGetRenderFormatList
    functionSourceFile: /src/vlc/modules/video_chroma/dxgi_fmt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: d3d_format_t
    signature: d3d_format_t *DxgiGetRenderFormatList(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - gpu_vendor
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 168
    functionName: DxgiVendorStr
    functionSourceFile: /src/vlc/modules/video_chroma/dxgi_fmt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *DxgiVendorStr(unsigned int gpu_vendor)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - d3d_fmt
    argTypes:
    - d3d_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: DxgiResourceCount
    functionSourceFile: /src/vlc/modules/video_chroma/dxgi_fmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UINT
    signature: UINT DxgiResourceCount(const d3d_format_t *d3d_fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - d3d_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 189
    functionName: DxgiIsRGBFormat
    functionSourceFile: /src/vlc/modules/video_chroma/dxgi_fmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DxgiIsRGBFormat(const d3d_format_t *cfg)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_chroma/dxgi_fmt.c:237,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 3
    argNames:
    - pixelFormat
    - black
    - colors
    argTypes:
    - d3d_format_t*
    - union DXGI_Color[]
    - size_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 239
    functionName: DXGI_GetBlackColor
    functionSourceFile: /src/vlc/modules/video_chroma/dxgi_fmt.c
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    linkageType: ''
    returnType: void
    signature: "void DXGI_GetBlackColor( const d3d_format_t *pixelFormat,\n                         union
      DXGI_Color black[DXGI_MAX_RENDER_TARGET],\n                         size_t colors[DXGI_MAX_RENDER_TARGET]
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: ASSERT_PLANE
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_PLANE(i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __MAX
      Src: /src/vlc/modules/video_chroma/copy.c:57,1
    - Dst: aligned_alloc
      Src: /src/vlc/modules/video_chroma/copy.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - cache
    - width
    argTypes:
    - copy_cache_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 65
    functionName: CopyInitCache
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 1
    functionsReached:
    - __MAX
    - aligned_alloc
    linkageType: ''
    returnType: int
    signature: int CopyInitCache(copy_cache_t *cache, unsigned width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aligned_free
      Src: /src/vlc/modules/video_chroma/copy.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - cache
    argTypes:
    - copy_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: CopyCleanCache
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 1
    functionsReached:
    - aligned_free
    linkageType: ''
    returnType: void
    signature: void CopyCleanCache(copy_cache_t *cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: COPY16_SHIFTR
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY16_SHIFTR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: COPY16_SHIFTL
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY16_SHIFTL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - dstp
    - ','
    - srcp
    - ','
    - load
    - ','
    - store
    - ','
    - shiftstr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: COPY16_S
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY16_S(dstp, srcp, load, store, shiftstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - dstp
    - ','
    - srcp
    - ','
    - load
    - ','
    - store
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: COPY16
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY16(dstp, srcp, load, store)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: COPY64_SHIFTR
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY64_SHIFTR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: COPY64_SHIFTL
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY64_SHIFTL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - dstp
    - ','
    - srcp
    - ','
    - load
    - ','
    - store
    - ','
    - shiftstr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 120
    functionName: COPY64_S
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY64_S(dstp, srcp, load, store, shiftstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - dstp
    - ','
    - srcp
    - ','
    - load
    - ','
    - store
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: COPY64
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY64(dstp, srcp, load, store)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: vlc_CPU_SSE4_1
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vlc_CPU_SSE4_1()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: vlc_CPU_SSE3
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vlc_CPU_SSE3()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: vlc_CPU_SSSE3
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vlc_CPU_SSSE3()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: vlc_CPU_SSE2
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vlc_CPU_SSE2()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/copy.c:144,1
    - Dst: CopyPlane
      Src: /src/vlc/modules/video_chroma/copy.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 7
    argNames:
    - dst
    - dst_pitch
    - src
    - src_pitch
    - width
    - height
    - bitshift
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - unsigned
    - unsigned
    - int
    assertStmts:
    - condition: (((intptr_t)dst & 0x0f) == 0 && (dst_pitch & 0x0f) == 0)
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/vlc/modules/video_chroma/copy.c
    constantsTouched: []
    func_position:
      end: 176
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 176
    functionName: CopyFromUswc
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached:
    - assert
    - CopyPlane
    linkageType: ''
    returnType: VLC_SSE
    signature: "VLC_SSE CopyFromUswc(uint8_t *dst, size_t dst_pitch,\n                         const
      uint8_t *src, size_t src_pitch,\n                         unsigned width, unsigned
      height, int bitshift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - shiftstr16
    - ','
    - shiftstr64
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 171
    functionName: SSE_USWC_COPY
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSE_USWC_COPY(shiftstr16, shiftstr64)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/copy.c:214,1
    - Dst: COPY64
      Src: /src/vlc/modules/video_chroma/copy.c:222,1
    - Dst: COPY64
      Src: /src/vlc/modules/video_chroma/copy.c:225,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 6
    argNames:
    - dst
    - dst_pitch
    - src
    - src_pitch
    - width
    - height
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - unsigned
    - unsigned
    assertStmts:
    - condition: (((intptr_t)src & 0x0f) == 0 && (src_pitch & 0x0f) == 0)
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/vlc/modules/video_chroma/copy.c
    constantsTouched: []
    func_position:
      end: 234
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 234
    functionName: Copy2d
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached:
    - assert
    - COPY64
    linkageType: ''
    returnType: VLC_SSE
    signature: "VLC_SSE Copy2d(uint8_t *dst, size_t dst_pitch,\n                   const
      uint8_t *src, size_t src_pitch,\n                   unsigned width, unsigned
      height)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/copy.c:243,1
    - Dst: vlc_CPU_SSSE3
      Src: /src/vlc/modules/video_chroma/copy.c:284,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/copy.c:304,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 9
    argNames:
    - dst
    - dst_pitch
    - srcu
    - srcu_pitch
    - srcv
    - srcv_pitch
    - width
    - height
    - pixel_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - unsigned int
    - unsigned int
    - uint8_t
    assertStmts:
    - condition: "(!((intptr_t)srcu & 0xf) && !(srcu_pitch & 0x0f) &&\n           !((intptr_t)srcv
        & 0xf) && !(srcv_pitch & 0x0f))"
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/vlc/modules/video_chroma/copy.c
    - condition: (pixel_size == 1)
      pos:
        line_end: 303
        line_start: 303
        source_file: /src/vlc/modules/video_chroma/copy.c
    constantsTouched: []
    func_position:
      end: 350
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 350
    functionName: SSE_InterleaveUV
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached:
    - vlc_CPU_SSSE3
    - assert
    linkageType: ''
    returnType: VLC_SSE
    signature: "VLC_SSE SSE_InterleaveUV(uint8_t *dst, size_t dst_pitch,\n                 uint8_t
      *srcu, size_t srcu_pitch,\n                 uint8_t *srcv, size_t srcv_pitch,\n
      \                unsigned int width, unsigned int height, uint8_t pixel_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/copy.c:358,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/copy.c:359,1
    - Dst: vlc_CPU_SSSE3
      Src: /src/vlc/modules/video_chroma/copy.c:378,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/copy.c:421,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 9
    argNames:
    - dstu
    - dstu_pitch
    - dstv
    - dstv_pitch
    - src
    - src_pitch
    - width
    - height
    - pixel_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - unsigned
    - unsigned
    - uint8_t
    assertStmts:
    - condition: (pixel_size == 1 || pixel_size == 2)
      pos:
        line_end: 357
        line_start: 357
        source_file: /src/vlc/modules/video_chroma/copy.c
    - condition: (pixel_size == 1)
      pos:
        line_end: 420
        line_start: 420
        source_file: /src/vlc/modules/video_chroma/copy.c
    - condition: (((intptr_t)src & 0xf) == 0 && (src_pitch & 0x0f) == 0)
      pos:
        line_end: 358
        line_start: 358
        source_file: /src/vlc/modules/video_chroma/copy.c
    constantsTouched: []
    func_position:
      end: 461
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 461
    functionName: SSE_SplitUV
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached:
    - vlc_CPU_SSSE3
    - assert
    linkageType: ''
    returnType: VLC_SSE
    signature: "VLC_SSE SSE_SplitUV(uint8_t *dstu, size_t dstu_pitch,\n                        uint8_t
      *dstv, size_t dstv_pitch,\n                        const uint8_t *src, size_t
      src_pitch,\n                        unsigned width, unsigned height, uint8_t
      pixel_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __MIN
      Src: /src/vlc/modules/video_chroma/copy.c:468,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/copy.c:469,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_chroma/copy.c:472,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/copy.c:473,1
    - Dst: vlc_CPU_SSE4_1
      Src: /src/vlc/modules/video_chroma/copy.c:476,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_chroma/copy.c:477,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_chroma/copy.c:480,1
    - Dst: CopyFromUswc
      Src: /src/vlc/modules/video_chroma/copy.c:483,1
    - Dst: Copy2d
      Src: /src/vlc/modules/video_chroma/copy.c:486,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 8
    argNames:
    - dst
    - dst_pitch
    - src
    - src_pitch
    - cache
    - cache_size
    - height
    - bitshift
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - unsigned
    - int
    assertStmts:
    - condition: (hstep > 0)
      pos:
        line_end: 472
        line_start: 472
        source_file: /src/vlc/modules/video_chroma/copy.c
    - condition: (copy_pitch > 0)
      pos:
        line_end: 468
        line_start: 468
        source_file: /src/vlc/modules/video_chroma/copy.c
    constantsTouched: []
    func_position:
      end: 492
      start: 463
    functionDepth: 2
    functionLinenumber: 463
    functionLinenumberEnd: 492
    functionName: SSE_CopyPlane
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached:
    - assert
    - Copy2d
    - memcpy
    - CopyFromUswc
    - __MIN
    - vlc_CPU_SSE4_1
    linkageType: ''
    returnType: void
    signature: "void SSE_CopyPlane(uint8_t *dst, size_t dst_pitch,\n                          const
      uint8_t *src, size_t src_pitch,\n                          uint8_t *cache, size_t
      cache_size,\n                          unsigned height, int bitshift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/copy.c:501,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_chroma/copy.c:502,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_chroma/copy.c:505,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_chroma/copy.c:506,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/copy.c:507,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_chroma/copy.c:511,1
    - Dst: CopyFromUswc
      Src: /src/vlc/modules/video_chroma/copy.c:514,1
    - Dst: CopyFromUswc
      Src: /src/vlc/modules/video_chroma/copy.c:515,1
    - Dst: SSE_InterleaveUV
      Src: /src/vlc/modules/video_chroma/copy.c:519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 11
    argNames:
    - dst
    - dst_pitch
    - srcu
    - srcu_pitch
    - srcv
    - srcv_pitch
    - cache
    - cache_size
    - height
    - pixel_size
    - bitshift
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - unsigned int
    - uint8_t
    - int
    assertStmts:
    - condition: (srcu_pitch == srcv_pitch)
      pos:
        line_end: 500
        line_start: 500
        source_file: /src/vlc/modules/video_chroma/copy.c
    - condition: (hstep > 0)
      pos:
        line_end: 506
        line_start: 506
        source_file: /src/vlc/modules/video_chroma/copy.c
    constantsTouched: []
    func_position:
      end: 528
      start: 494
    functionDepth: 2
    functionLinenumber: 494
    functionLinenumberEnd: 528
    functionName: SSE_InterleavePlanes
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached:
    - SSE_InterleaveUV
    - assert
    - __MIN
    - CopyFromUswc
    linkageType: ''
    returnType: void
    signature: "void SSE_InterleavePlanes(uint8_t *dst, size_t dst_pitch,\n                     const
      uint8_t *srcu, size_t srcu_pitch,\n                     const uint8_t *srcv,
      size_t srcv_pitch,\n                     uint8_t *cache, size_t cache_size,\n
      \                    unsigned int height, uint8_t pixel_size, int bitshift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __MIN
      Src: /src/vlc/modules/video_chroma/copy.c:536,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_chroma/copy.c:536,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_chroma/copy.c:539,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/copy.c:540,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_chroma/copy.c:543,1
    - Dst: CopyFromUswc
      Src: /src/vlc/modules/video_chroma/copy.c:546,1
    - Dst: SSE_SplitUV
      Src: /src/vlc/modules/video_chroma/copy.c:549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 11
    argNames:
    - dstu
    - dstu_pitch
    - dstv
    - dstv_pitch
    - src
    - src_pitch
    - cache
    - cache_size
    - height
    - pixel_size
    - bitshift
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - unsigned
    - uint8_t
    - int
    assertStmts:
    - condition: (hstep > 0)
      pos:
        line_end: 539
        line_start: 539
        source_file: /src/vlc/modules/video_chroma/copy.c
    constantsTouched: []
    func_position:
      end: 557
      start: 530
    functionDepth: 2
    functionLinenumber: 530
    functionLinenumberEnd: 557
    functionName: SSE_SplitPlanes
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached:
    - assert
    - __MIN
    - SSE_SplitUV
    - CopyFromUswc
    linkageType: ''
    returnType: void
    signature: "void SSE_SplitPlanes(uint8_t *dstu, size_t dstu_pitch,\n                            uint8_t
      *dstv, size_t dstv_pitch,\n                            const uint8_t *src, size_t
      src_pitch,\n                            uint8_t *cache, size_t cache_size,\n
      \                           unsigned height, uint8_t pixel_size, int bitshift)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSE_CopyPlane
      Src: /src/vlc/modules/video_chroma/copy.c:565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - dst
    - src
    - src_pitch
    - height
    - cache
    argTypes:
    - picture_t*
    - uint8_t*[]
    - size_t[]
    - unsigned
    - copy_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 559
    functionDepth: 3
    functionLinenumber: 559
    functionLinenumberEnd: 570
    functionName: SSE_Copy420_P_to_P
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached:
    - SSE_CopyPlane
    linkageType: ''
    returnType: void
    signature: "void SSE_Copy420_P_to_P(picture_t *dst, const uint8_t *src[static
      3],\n                               const size_t src_pitch[static 3], unsigned
      height,\n                               const copy_cache_t *cache)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSE_CopyPlane
      Src: /src/vlc/modules/video_chroma/copy.c:577,1
    - Dst: SSE_CopyPlane
      Src: /src/vlc/modules/video_chroma/copy.c:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - dst
    - src
    - src_pitch
    - height
    - cache
    argTypes:
    - picture_t*
    - uint8_t*[]
    - size_t[]
    - unsigned
    - copy_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 573
    functionDepth: 3
    functionLinenumber: 573
    functionLinenumberEnd: 581
    functionName: SSE_Copy420_SP_to_SP
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached:
    - SSE_CopyPlane
    linkageType: ''
    returnType: void
    signature: "void SSE_Copy420_SP_to_SP(picture_t *dst, const uint8_t *src[static
      2],\n                                 const size_t src_pitch[static 2], unsigned
      height,\n                                 const copy_cache_t *cache)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSE_CopyPlane
      Src: /src/vlc/modules/video_chroma/copy.c:588,1
    - Dst: SSE_SplitPlanes
      Src: /src/vlc/modules/video_chroma/copy.c:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - dest
    - src
    - src_pitch
    - height
    - pixel_size
    - bitshift
    - cache
    argTypes:
    - picture_t*
    - uint8_t*[]
    - size_t[]
    - unsigned int
    - uint8_t
    - int
    - copy_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 583
    functionDepth: 3
    functionLinenumber: 583
    functionLinenumberEnd: 595
    functionName: SSE_Copy420_SP_to_P
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached:
    - SSE_CopyPlane
    - SSE_SplitPlanes
    linkageType: ''
    returnType: void
    signature: "void SSE_Copy420_SP_to_P(picture_t *dest, const uint8_t *src[static
      2],\n                    const size_t src_pitch[static 2], unsigned int height,\n
      \                   uint8_t pixel_size, int bitshift, const copy_cache_t *cache)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSE_CopyPlane
      Src: /src/vlc/modules/video_chroma/copy.c:602,1
    - Dst: SSE_InterleavePlanes
      Src: /src/vlc/modules/video_chroma/copy.c:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - dst
    - src
    - src_pitch
    - height
    - pixel_size
    - bitshift
    - cache
    argTypes:
    - picture_t*
    - uint8_t*[]
    - size_t[]
    - unsigned
    - uint8_t
    - int
    - copy_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 597
    functionDepth: 3
    functionLinenumber: 597
    functionLinenumberEnd: 608
    functionName: SSE_Copy420_P_to_SP
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached:
    - SSE_CopyPlane
    - SSE_InterleavePlanes
    linkageType: ''
    returnType: void
    signature: "void SSE_Copy420_P_to_SP(picture_t *dst, const uint8_t *src[static
      3],\n                                const size_t src_pitch[static 3],\n                                unsigned
      height, uint8_t pixel_size,\n                                int bitshift, const
      copy_cache_t *cache)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: __MIN
      Src: /src/vlc/modules/video_chroma/copy.c:616,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_chroma/copy.c:635,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_chroma/copy.c:638,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 6
    argNames:
    - dst
    - dst_pitch
    - src
    - src_pitch
    - height
    - bitshift
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - unsigned
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 642
    functionName: CopyPlane
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 5
    functionsReached:
    - memcpy
    - __MIN
    linkageType: ''
    returnType: void
    signature: "void CopyPlane(uint8_t *dst, size_t dst_pitch,\n                      const
      uint8_t *src, size_t src_pitch,\n                      unsigned height, int
      bitshift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/copy.c:647,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/copy.c:648,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/copy.c:648,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/copy.c:649,1
    - Dst: vlc_CPU_SSE4_1
      Src: /src/vlc/modules/video_chroma/copy.c:652,1
    - Dst: SSE_CopyPlane
      Src: /src/vlc/modules/video_chroma/copy.c:653,1
    - Dst: CopyPlane
      Src: /src/vlc/modules/video_chroma/copy.c:658,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - dst
    - src
    - src_pitch
    - height
    - cache
    argTypes:
    - picture_t*
    - uint8_t*
    - size_t
    - unsigned
    - copy_cache_t*
    assertStmts:
    - condition: (dst)
      pos:
        line_end: 646
        line_start: 646
        source_file: /src/vlc/modules/video_chroma/copy.c
    - condition: (src_pitch)
      pos:
        line_end: 647
        line_start: 647
        source_file: /src/vlc/modules/video_chroma/copy.c
    - condition: (src)
      pos:
        line_end: 647
        line_start: 647
        source_file: /src/vlc/modules/video_chroma/copy.c
    - condition: (height)
      pos:
        line_end: 648
        line_start: 648
        source_file: /src/vlc/modules/video_chroma/copy.c
    constantsTouched: []
    func_position:
      end: 660
      start: 644
    functionDepth: 3
    functionLinenumber: 644
    functionLinenumberEnd: 660
    functionName: CopyPacked
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached:
    - vlc_CPU_SSE4_1
    - assert
    - SSE_CopyPlane
    - CopyPlane
    linkageType: ''
    returnType: void
    signature: "void CopyPacked(picture_t *dst, const uint8_t *src, const size_t src_pitch,\n
      \               unsigned height, const copy_cache_t *cache)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_CPU_SSE2
      Src: /src/vlc/modules/video_chroma/copy.c:668,1
    - Dst: SSE_Copy420_SP_to_SP
      Src: /src/vlc/modules/video_chroma/copy.c:669,1
    - Dst: CopyPlane
      Src: /src/vlc/modules/video_chroma/copy.c:674,1
    - Dst: CopyPlane
      Src: /src/vlc/modules/video_chroma/copy.c:676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - dst
    - src
    - src_pitch
    - height
    - cache
    argTypes:
    - picture_t*
    - uint8_t*[]
    - size_t[]
    - unsigned
    - copy_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 662
    functionDepth: 4
    functionLinenumber: 662
    functionLinenumberEnd: 678
    functionName: Copy420_SP_to_SP
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 1
    functionsReached:
    - SSE_Copy420_SP_to_SP
    - vlc_CPU_SSE2
    - CopyPlane
    linkageType: ''
    returnType: void
    signature: "void Copy420_SP_to_SP(picture_t *dst, const uint8_t *src[static 2],\n
      \                     const size_t src_pitch[static 2], unsigned height,\n                      const
      copy_cache_t *cache)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - pitch_den
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 692
    functionName: SPLIT_PLANES
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLIT_PLANES(type, pitch_den)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - pitch_den
    - ','
    - bitshift
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 705
    functionName: SPLIT_PLANES_SHIFTR
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLIT_PLANES_SHIFTR(type, pitch_den, bitshift)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - pitch_den
    - ','
    - bitshift
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 718
    functionName: SPLIT_PLANES_SHIFTL
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLIT_PLANES_SHIFTL(type, pitch_den, bitshift)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SPLIT_PLANES
      Src: /src/vlc/modules/video_chroma/copy.c:732,1
    - Dst: SPLIT_PLANES_SHIFTR
      Src: /src/vlc/modules/video_chroma/copy.c:734,1
    - Dst: SPLIT_PLANES_SHIFTL
      Src: /src/vlc/modules/video_chroma/copy.c:736,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - SplitPlanes16
    argTypes:
    - void
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 737
    functionName: SPLIT_PLANES
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 1
    functionsReached:
    - SPLIT_PLANES_SHIFTL
    - SPLIT_PLANES
    - SPLIT_PLANES_SHIFTR
    linkageType: ''
    returnType: void
    signature: "void SPLIT_PLANES(uint8_t, 2);\n}\n\nstatic void SplitPlanes16(uint8_t
      *dstu, size_t dstu_pitch,\n                          uint8_t *dstv, size_t dstv_pitch,\n
      \                         const uint8_t *src, size_t src_pitch, unsigned height,\n
      \                         int bitshift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_CPU_SSE2
      Src: /src/vlc/modules/video_chroma/copy.c:745,1
    - Dst: SSE_Copy420_SP_to_P
      Src: /src/vlc/modules/video_chroma/copy.c:746,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_chroma/copy.c:748,1
    - Dst: CopyPlane
      Src: /src/vlc/modules/video_chroma/copy.c:751,1
    - Dst: SplitPlanes
      Src: /src/vlc/modules/video_chroma/copy.c:753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - dst
    - src
    - src_pitch
    - height
    - cache
    argTypes:
    - picture_t*
    - uint8_t*[]
    - size_t[]
    - unsigned
    - copy_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 739
    functionDepth: 4
    functionLinenumber: 739
    functionLinenumberEnd: 756
    functionName: Copy420_SP_to_P
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 2
    functionsReached:
    - SplitPlanes
    - CopyPlane
    - SSE_Copy420_SP_to_P
    - vlc_CPU_SSE2
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void Copy420_SP_to_P(picture_t *dst, const uint8_t *src[static 2],\n
      \                    const size_t src_pitch[static 2], unsigned height,\n                     const
      copy_cache_t *cache)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/copy.c:763,1
    - Dst: vlc_CPU_SSSE3
      Src: /src/vlc/modules/video_chroma/copy.c:766,1
    - Dst: SSE_Copy420_SP_to_P
      Src: /src/vlc/modules/video_chroma/copy.c:767,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_chroma/copy.c:769,1
    - Dst: CopyPlane
      Src: /src/vlc/modules/video_chroma/copy.c:772,1
    - Dst: SplitPlanes16
      Src: /src/vlc/modules/video_chroma/copy.c:774,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 6
    argNames:
    - dst
    - src
    - src_pitch
    - height
    - bitshift
    - cache
    argTypes:
    - picture_t*
    - uint8_t*[]
    - size_t[]
    - unsigned
    - int
    - copy_cache_t*
    assertStmts:
    - condition: (bitshift >= -6 && bitshift <= 6 && (bitshift % 2 == 0))
      pos:
        line_end: 762
        line_start: 762
        source_file: /src/vlc/modules/video_chroma/copy.c
    constantsTouched: []
    func_position:
      end: 777
      start: 758
    functionDepth: 4
    functionLinenumber: 758
    functionLinenumberEnd: 777
    functionName: Copy420_16_SP_to_P
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 1
    functionsReached:
    - vlc_CPU_SSSE3
    - assert
    - CopyPlane
    - SSE_Copy420_SP_to_P
    - SplitPlanes16
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void Copy420_16_SP_to_P(picture_t *dst, const uint8_t *src[static
      2],\n                        const size_t src_pitch[static 2], unsigned height,\n
      \                       int bitshift, const copy_cache_t *cache)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 790
    functionName: INTERLEAVE_UV
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INTERLEAVE_UV()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bitshitf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 802
    functionName: INTERLEAVE_UV_SHIFTR
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INTERLEAVE_UV_SHIFTR(bitshitf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bitshitf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 814
    functionName: INTERLEAVE_UV_SHIFTL
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INTERLEAVE_UV_SHIFTL(bitshitf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_CPU_SSE2
      Src: /src/vlc/modules/video_chroma/copy.c:821,1
    - Dst: SSE_Copy420_P_to_SP
      Src: /src/vlc/modules/video_chroma/copy.c:822,1
    - Dst: CopyPlane
      Src: /src/vlc/modules/video_chroma/copy.c:827,1
    - Dst: INTERLEAVE_UV
      Src: /src/vlc/modules/video_chroma/copy.c:842,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - dst
    - src
    - src_pitch
    - height
    - cache
    argTypes:
    - picture_t*
    - uint8_t*[]
    - size_t[]
    - unsigned
    - copy_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 815
    functionDepth: 4
    functionLinenumber: 815
    functionLinenumberEnd: 843
    functionName: Copy420_P_to_SP
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 2
    functionsReached:
    - vlc_CPU_SSE2
    - SSE_Copy420_P_to_SP
    - INTERLEAVE_UV
    - CopyPlane
    linkageType: ''
    returnType: void
    signature: "void Copy420_P_to_SP(picture_t *dst, const uint8_t *src[static 3],\n
      \                    const size_t src_pitch[static 3], unsigned height,\n                     const
      copy_cache_t *cache)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/copy.c:850,1
    - Dst: vlc_CPU_SSSE3
      Src: /src/vlc/modules/video_chroma/copy.c:852,1
    - Dst: SSE_Copy420_P_to_SP
      Src: /src/vlc/modules/video_chroma/copy.c:853,1
    - Dst: CopyPlane
      Src: /src/vlc/modules/video_chroma/copy.c:858,1
    - Dst: INTERLEAVE_UV
      Src: /src/vlc/modules/video_chroma/copy.c:873,1
    - Dst: INTERLEAVE_UV_SHIFTR
      Src: /src/vlc/modules/video_chroma/copy.c:875,1
    - Dst: INTERLEAVE_UV_SHIFTL
      Src: /src/vlc/modules/video_chroma/copy.c:877,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 6
    argNames:
    - dst
    - src
    - src_pitch
    - height
    - bitshift
    - cache
    argTypes:
    - picture_t*
    - uint8_t*[]
    - size_t[]
    - unsigned
    - int
    - copy_cache_t*
    assertStmts:
    - condition: (bitshift >= -6 && bitshift <= 6 && (bitshift % 2 == 0))
      pos:
        line_end: 849
        line_start: 849
        source_file: /src/vlc/modules/video_chroma/copy.c
    constantsTouched: []
    func_position:
      end: 878
      start: 845
    functionDepth: 4
    functionLinenumber: 845
    functionLinenumberEnd: 878
    functionName: Copy420_16_P_to_SP
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 1
    functionsReached:
    - vlc_CPU_SSSE3
    - assert
    - CopyPlane
    - INTERLEAVE_UV_SHIFTR
    - INTERLEAVE_UV_SHIFTL
    - SSE_Copy420_P_to_SP
    - INTERLEAVE_UV
    linkageType: ''
    returnType: void
    signature: "void Copy420_16_P_to_SP(picture_t *dst, const uint8_t *src[static
      3],\n                        const size_t src_pitch[static 3], unsigned height,\n
      \                       int bitshift, const copy_cache_t *cache)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_CPU_SSE2
      Src: /src/vlc/modules/video_chroma/copy.c:886,1
    - Dst: SSE_Copy420_P_to_P
      Src: /src/vlc/modules/video_chroma/copy.c:887,1
    - Dst: CopyPlane
      Src: /src/vlc/modules/video_chroma/copy.c:892,1
    - Dst: CopyPlane
      Src: /src/vlc/modules/video_chroma/copy.c:894,1
    - Dst: CopyPlane
      Src: /src/vlc/modules/video_chroma/copy.c:896,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - dst
    - src
    - src_pitch
    - height
    - cache
    argTypes:
    - picture_t*
    - uint8_t*[]
    - size_t[]
    - unsigned
    - copy_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 880
    functionDepth: 4
    functionLinenumber: 880
    functionLinenumberEnd: 898
    functionName: Copy420_P_to_P
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 1
    functionsReached:
    - vlc_CPU_SSE2
    - SSE_Copy420_P_to_P
    - CopyPlane
    linkageType: ''
    returnType: void
    signature: "void Copy420_P_to_P(picture_t *dst, const uint8_t *src[static 3],\n
      \                   const size_t src_pitch[static 3], unsigned height,\n                    const
      copy_cache_t *cache)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/copy.c:906,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/copy.c:907,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/copy.c:921,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/copy.c:922,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - picture
    - data
    - pitch
    argTypes:
    - picture_t*
    - uint8_t*
    - unsigned
    assertStmts:
    - condition: (picture->p->i_visible_pitch <= picture->p->i_pitch)
      pos:
        line_end: 905
        line_start: 905
        source_file: /src/vlc/modules/video_chroma/copy.c
    - condition: (p->i_visible_pitch <= p->i_pitch)
      pos:
        line_end: 920
        line_start: 920
        source_file: /src/vlc/modules/video_chroma/copy.c
    - condition: (picture->p->i_visible_lines <= picture->p->i_lines)
      pos:
        line_end: 906
        line_start: 906
        source_file: /src/vlc/modules/video_chroma/copy.c
    - condition: (p->i_visible_lines <= p->i_lines)
      pos:
        line_end: 921
        line_start: 921
        source_file: /src/vlc/modules/video_chroma/copy.c
    constantsTouched: []
    func_position:
      end: 943
      start: 900
    functionDepth: 1
    functionLinenumber: 900
    functionLinenumberEnd: 943
    functionName: picture_UpdatePlanes
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int picture_UpdatePlanes(picture_t *picture, uint8_t *data, unsigned
      pitch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - good
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1014
    functionName: ASSERT_COLOR
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_COLOR(good)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - type_u
    - ','
    - type_uv
    - ','
    - colors_P
    - ','
    - color_UV
    - ','
    - pitch_den
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1042
    functionName: PICCHECK
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PICCHECK(type_u, type_uv, colors_P, color_UV, pitch_den)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_chroma/copy.c:1066,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1050
    functionDepth: 1
    functionLinenumber: 1050
    functionLinenumberEnd: 1067
    functionName: PICCHECK
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    linkageType: ''
    returnType: void
    signature: "void PICCHECK(uint8_t, uint16_t, colors_8_P, color_8_UV, 1);\n    }\n
      \   else\n    {\n        const unsigned mask = (1 << dsc->pixel_bits) - 1;\n
      \       uint16_t colors_16_P[3] = { 0x1042 &mask, 0xF114 &mask, 0x3645 &mask};\n\n
      \       switch (pic->format.i_chroma)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/video_chroma/copy.c:1078,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pic_rsc_destroy
    argTypes:
    - void
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1079
    functionName: PICCHECK
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: "void PICCHECK(uint16_t, uint32_t, colors_16_P, color_16_UV, 2);\n
      \   }\n}\n\nstatic void pic_rsc_destroy(picture_t *pic)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/video_chroma/copy.c:1086,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/copy.c:1087,1
    - Dst: malloc
      Src: /src/vlc/modules/video_chroma/copy.c:1093,1
    - Dst: picture_NewFromResource
      Src: /src/vlc/modules/video_chroma/copy.c:1097,1
    - Dst: free
      Src: /src/vlc/modules/video_chroma/copy.c:1104,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - video_format_t*
    assertStmts:
    - condition: (dsc)
      pos:
        line_end: 1086
        line_start: 1086
        source_file: /src/vlc/modules/video_chroma/copy.c
    constantsTouched: []
    func_position:
      end: 1106
      start: 1081
    functionDepth: 1
    functionLinenumber: 1081
    functionLinenumberEnd: 1106
    functionName: pic_new_unaligned
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 0
    functionsReached:
    - assert
    - picture_NewFromResource
    - free
    - vlc_fourcc_GetChromaDescription
    - malloc
    linkageType: ''
    returnType: picture_t
    signature: picture_t *pic_new_unaligned(const video_format_t *fmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: alarm
      Src: /src/vlc/modules/video_chroma/copy.c:1110,1
    - Dst: vlc_CPU_SSE2
      Src: /src/vlc/modules/video_chroma/copy.c:1114,1
    - Dst: fprintf
      Src: /src/vlc/modules/video_chroma/copy.c:1117,1
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/video_chroma/copy.c:1131,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/copy.c:1132,1
    - Dst: video_format_Init
      Src: /src/vlc/modules/video_chroma/copy.c:1135,1
    - Dst: video_format_Setup
      Src: /src/vlc/modules/video_chroma/copy.c:1136,1
    - Dst: pic_new_unaligned
      Src: /src/vlc/modules/video_chroma/copy.c:1140,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/copy.c:1141,1
    - Dst: piccheck
      Src: /src/vlc/modules/video_chroma/copy.c:1142,1
    - Dst: CopyInitCache
      Src: /src/vlc/modules/video_chroma/copy.c:1145,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/copy.c:1147,1
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/video_chroma/copy.c:1154,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/copy.c:1155,1
    - Dst: picture_NewFromFormat
      Src: /src/vlc/modules/video_chroma/copy.c:1157,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/copy.c:1158,1
    - Dst: fprintf
      Src: /src/vlc/modules/video_chroma/copy.c:1167,1
    - Dst: struct test_dst*::conv
      Src: /src/vlc/modules/video_chroma/copy.c:1173,1
    - Dst: struct test_dst*::conv16
      Src: /src/vlc/modules/video_chroma/copy.c:1176,1
    - Dst: piccheck
      Src: /src/vlc/modules/video_chroma/copy.c:1179,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_chroma/copy.c:1180,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_chroma/copy.c:1182,1
    - Dst: CopyCleanCache
      Src: /src/vlc/modules/video_chroma/copy.c:1183,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (src_dsc)
      pos:
        line_end: 1131
        line_start: 1131
        source_file: /src/vlc/modules/video_chroma/copy.c
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 1146
        line_start: 1146
        source_file: /src/vlc/modules/video_chroma/copy.c
    - condition: (src)
      pos:
        line_end: 1140
        line_start: 1140
        source_file: /src/vlc/modules/video_chroma/copy.c
    - condition: (dst_dsc)
      pos:
        line_end: 1154
        line_start: 1154
        source_file: /src/vlc/modules/video_chroma/copy.c
    - condition: (dst)
      pos:
        line_end: 1157
        line_start: 1157
        source_file: /src/vlc/modules/video_chroma/copy.c
    constantsTouched: []
    func_position:
      end: 1187
      start: 1108
    functionDepth: 3
    functionLinenumber: 1108
    functionLinenumberEnd: 1187
    functionName: main
    functionSourceFile: /src/vlc/modules/video_chroma/copy.c
    functionUses: 4
    functionsReached:
    - CopyInitCache
    - struct test_dst*::conv16
    - assert
    - video_format_Init
    - alarm
    - fprintf
    - video_format_Setup
    - piccheck
    - picture_Release
    - vlc_CPU_SSE2
    - CopyCleanCache
    - vlc_fourcc_GetChromaDescription
    - struct test_dst*::conv
    - picture_NewFromFormat
    - pic_new_unaligned
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 79
    functionName: TRANSFORMS
    functionSourceFile: /src/vlc/modules/video_chroma/orient.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRANSFORMS(bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - dst
    - dst_stride
    - src
    - src_stride
    - width
    - height
    - order
    argTypes:
    - void*
    - ptrdiff_t
    - void*
    - ptrdiff_t
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: hflip
    functionSourceFile: /src/vlc/modules/video_chroma/orient.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void hflip(void *restrict dst, ptrdiff_t dst_stride,\n                  const
      void *restrict src, ptrdiff_t src_stride,\n                  int width, int
      height, int order)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/video_chroma/orient.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 7
    argNames:
    - dst
    - dst_stride
    - src
    - src_stride
    - width
    - height
    - order
    argTypes:
    - void*
    - ptrdiff_t
    - void*
    - ptrdiff_t
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 112
    functionName: vflip
    functionSourceFile: /src/vlc/modules/video_chroma/orient.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void vflip(void *restrict dst, ptrdiff_t dst_stride,\n                  const
      void *restrict src, ptrdiff_t src_stride,\n                  int width, int
      height, int order)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hflip
      Src: /src/vlc/modules/video_chroma/orient.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - dst
    - dst_stride
    - src
    - src_stride
    - width
    - height
    - order
    argTypes:
    - void*
    - ptrdiff_t
    - void*
    - ptrdiff_t
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: r180
    functionSourceFile: /src/vlc/modules/video_chroma/orient.c
    functionUses: 0
    functionsReached:
    - hflip
    linkageType: ''
    returnType: void
    signature: "void r180(void *restrict dst, ptrdiff_t dst_stride,\n                 const
      void *restrict src, ptrdiff_t src_stride,\n                 int width, int height,
      int order)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - dst
    - dst_stride
    - src
    - src_stride
    - src_width
    - src_height
    - order
    argTypes:
    - void*
    - ptrdiff_t
    - void*
    - ptrdiff_t
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: transpose
    functionSourceFile: /src/vlc/modules/video_chroma/orient.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void transpose(void *restrict dst, ptrdiff_t dst_stride,\n                      const
      void *restrict src, ptrdiff_t src_stride,\n                      int src_width,
      int src_height, int order)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transpose
      Src: /src/vlc/modules/video_chroma/orient.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - dst
    - dst_stride
    - src
    - src_stride
    - src_width
    - src_height
    - order
    argTypes:
    - void*
    - ptrdiff_t
    - void*
    - ptrdiff_t
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 143
    functionName: r270
    functionSourceFile: /src/vlc/modules/video_chroma/orient.c
    functionUses: 0
    functionsReached:
    - transpose
    linkageType: ''
    returnType: void
    signature: "void r270(void *restrict dst, ptrdiff_t dst_stride,\n                 const
      void *restrict src, ptrdiff_t src_stride,\n                 int src_width, int
      src_height, int order)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transpose
      Src: /src/vlc/modules/video_chroma/orient.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - dst
    - dst_stride
    - src
    - src_stride
    - src_width
    - src_height
    - order
    argTypes:
    - void*
    - ptrdiff_t
    - void*
    - ptrdiff_t
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: r90
    functionSourceFile: /src/vlc/modules/video_chroma/orient.c
    functionUses: 0
    functionsReached:
    - transpose
    linkageType: ''
    returnType: void
    signature: "void r90(void *restrict dst, ptrdiff_t dst_stride,\n                const
      void *restrict src, ptrdiff_t src_stride,\n                int src_width, int
      src_height, int order)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r270
      Src: /src/vlc/modules/video_chroma/orient.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - dst
    - dst_stride
    - src
    - src_stride
    - src_width
    - src_height
    - order
    argTypes:
    - void*
    - ptrdiff_t
    - void*
    - ptrdiff_t
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 168
    functionName: antitranspose
    functionSourceFile: /src/vlc/modules/video_chroma/orient.c
    functionUses: 0
    functionsReached:
    - r270
    linkageType: ''
    returnType: void
    signature: "void antitranspose(void *restrict dst, ptrdiff_t dst_stride,\n                          const
      void *restrict src,\n                          ptrdiff_t src_stride,\n                          int
      src_width, int src_height, int order)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: filter_NewPicture
      Src: /src/vlc/modules/video_chroma/orient.c:193,1
    - Dst: likely
      Src: /src/vlc/modules/video_chroma/orient.c:195,1
    - Dst: filter_sys_t*::plane
      Src: /src/vlc/modules/video_chroma/orient.c:197,1
    - Dst: picture_CopyProperties
      Src: /src/vlc/modules/video_chroma/orient.c:202,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_chroma/orient.c:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - filter
    - src
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 207
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_chroma/orient.c
    functionUses: 21
    functionsReached:
    - picture_CopyProperties
    - filter_NewPicture
    - picture_Release
    - likely
    - filter_sys_t*::plane
    linkageType: ''
    returnType: picture_t
    signature: picture_t *Filter(filter_t *filter, picture_t *src)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_chroma/orient.c:212,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_chroma/orient.c:238,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_chroma/orient.c:259,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 3
    argNames:
    - filter
    - mouse
    - mold
    argTypes:
    - filter_t*
    - vlc_mouse_t*
    - vlc_mouse_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 265
    functionName: Mouse
    functionSourceFile: /src/vlc/modules/video_chroma/orient.c
    functionUses: 3
    functionsReached:
    - vlc_assert_unreachable
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int Mouse(filter_t *filter, vlc_mouse_t *mouse,\n                 const
      vlc_mouse_t *mold)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: video_format_GetTransform
      Src: /src/vlc/modules/video_chroma/orient.c:271,1
    - Dst: video_format_TransformBy
      Src: /src/vlc/modules/video_chroma/orient.c:278,1
    - Dst: video_format_IsSameChroma
      Src: /src/vlc/modules/video_chroma/orient.c:280,1
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/video_chroma/orient.c:290,1
    - Dst: ORIENT_IS_SWAP
      Src: /src/vlc/modules/video_chroma/orient.c:294,1
    - Dst: vlc_CPU_functions_init_once
      Src: /src/vlc/modules/video_chroma/orient.c:300,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/video_chroma/orient.c:312,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_chroma/orient.c:312,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_chroma/orient.c:313,1
    - Dst: stdc_trailing_zeros
      Src: /src/vlc/modules/video_chroma/orient.c:316,1
    - Dst: memset
      Src: /src/vlc/modules/video_chroma/orient.c:320,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 345
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_chroma/orient.c
    functionUses: 33
    functionsReached:
    - video_format_IsSameChroma
    - stdc_trailing_zeros
    - vlc_obj_malloc
    - memset
    - video_format_TransformBy
    - video_format_GetTransform
    - vlc_fourcc_GetChromaDescription
    - ORIENT_IS_SWAP
    - VLC_OBJECT
    - unlikely
    - vlc_CPU_functions_init_once
    linkageType: ''
    returnType: int
    signature: int Open(filter_t *filter)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 7
    argNames:
    - i_width
    - i_height
    - i_pic_width
    - i_pic_height
    - pb_hscale
    - pi_vscale
    - p_offset
    argTypes:
    - int
    - int
    - int
    - int
    - bool*
    - unsigned int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 94
    functionName: SetOffset
    functionSourceFile: /src/vlc/modules/video_chroma/i420_rgb16.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SetOffset( int i_width, int i_height, int i_pic_width,\n                       int
      i_pic_height, bool *pb_hscale,\n                       unsigned int *pi_vscale,
      int *p_offset )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SetOffset
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:152,1
    - Dst: AllocateOrGrow
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:159,1
    - Dst: CONVERT_YUV_PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:179,1
    - Dst: CONVERT_Y_PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:179,1
    - Dst: CONVERT_YUV_PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:180,1
    - Dst: CONVERT_Y_PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:180,1
    - Dst: CONVERT_YUV_PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:181,1
    - Dst: CONVERT_Y_PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:181,1
    - Dst: CONVERT_YUV_PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:182,1
    - Dst: CONVERT_Y_PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:182,1
    - Dst: CONVERT_YUV_PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:194,1
    - Dst: CONVERT_Y_PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:194,1
    - Dst: CONVERT_YUV_PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:195,1
    - Dst: CONVERT_Y_PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:195,1
    - Dst: CONVERT_YUV_PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:196,1
    - Dst: CONVERT_Y_PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:196,1
    - Dst: CONVERT_YUV_PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:197,1
    - Dst: CONVERT_Y_PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:197,1
    - Dst: SCALE_HEIGHT
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:200,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 3
    argNames:
    - p_filter
    - p_src
    - p_dest
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 209
    functionName: I420_RGB16
    functionSourceFile: /src/vlc/modules/video_chroma/i420_rgb16.c
    functionUses: 0
    functionsReached:
    - SetOffset
    - AllocateOrGrow
    - CONVERT_YUV_PIXEL
    - CONVERT_Y_PIXEL
    - SCALE_HEIGHT
    linkageType: ''
    returnType: void
    signature: void I420_RGB16( filter_t *p_filter, picture_t *p_src, picture_t *p_dest
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SetOffset
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:267,1
    - Dst: AllocateOrGrow
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:274,1
    - Dst: CONVERT_YUV_PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:294,1
    - Dst: CONVERT_Y_PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:294,1
    - Dst: CONVERT_YUV_PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:295,1
    - Dst: CONVERT_Y_PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:295,1
    - Dst: CONVERT_YUV_PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:296,1
    - Dst: CONVERT_Y_PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:296,1
    - Dst: CONVERT_YUV_PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:297,1
    - Dst: CONVERT_Y_PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:297,1
    - Dst: CONVERT_YUV_PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:308,1
    - Dst: CONVERT_Y_PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:308,1
    - Dst: CONVERT_YUV_PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:309,1
    - Dst: CONVERT_Y_PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:309,1
    - Dst: CONVERT_YUV_PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:310,1
    - Dst: CONVERT_Y_PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:310,1
    - Dst: CONVERT_YUV_PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:311,1
    - Dst: CONVERT_Y_PIXEL
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:311,1
    - Dst: SCALE_HEIGHT
      Src: /src/vlc/modules/video_chroma/i420_rgb16.c:314,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 3
    argNames:
    - p_filter
    - p_src
    - p_dest
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 323
    functionName: I420_RGB32
    functionSourceFile: /src/vlc/modules/video_chroma/i420_rgb16.c
    functionUses: 0
    functionsReached:
    - SetOffset
    - AllocateOrGrow
    - CONVERT_YUV_PIXEL
    - CONVERT_Y_PIXEL
    - SCALE_HEIGHT
    linkageType: ''
    returnType: void
    signature: void I420_RGB32( filter_t *p_filter, picture_t *p_src, picture_t *p_dest
      )
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 7
    argNames:
    - i_width
    - i_height
    - i_pic_width
    - i_pic_height
    - pb_hscale
    - pi_vscale
    - p_offset
    argTypes:
    - int
    - int
    - int
    - int
    - bool*
    - unsigned int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 97
    functionName: SetOffset
    functionSourceFile: /src/vlc/modules/video_chroma/i420_rgb16_x86.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SetOffset( int i_width, int i_height, int i_pic_width,\n                       int
      i_pic_height, bool *pb_hscale,\n                       unsigned int *pi_vscale,
      int *p_offset )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SetOffset
      Src: /src/vlc/modules/video_chroma/i420_rgb16_x86.c:140,1
    - Dst: AllocateOrGrow
      Src: /src/vlc/modules/video_chroma/i420_rgb16_x86.c:147,1
    - Dst: SCALE_HEIGHT
      Src: /src/vlc/modules/video_chroma/i420_rgb16_x86.c:215,1
    - Dst: SCALE_HEIGHT
      Src: /src/vlc/modules/video_chroma/i420_rgb16_x86.c:266,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 69
    argCount: 3
    argNames:
    - p_filter
    - p_src
    - p_dest
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 281
    functionName: I420_R5G5B5
    functionSourceFile: /src/vlc/modules/video_chroma/i420_rgb16_x86.c
    functionUses: 0
    functionsReached:
    - SetOffset
    - AllocateOrGrow
    - SCALE_HEIGHT
    linkageType: ''
    returnType: VLC_TARGET
    signature: VLC_TARGET I420_R5G5B5( filter_t *p_filter, picture_t *p_src, picture_t
      *p_dest )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SetOffset
      Src: /src/vlc/modules/video_chroma/i420_rgb16_x86.c:324,1
    - Dst: AllocateOrGrow
      Src: /src/vlc/modules/video_chroma/i420_rgb16_x86.c:331,1
    - Dst: SCALE_HEIGHT
      Src: /src/vlc/modules/video_chroma/i420_rgb16_x86.c:399,1
    - Dst: SCALE_HEIGHT
      Src: /src/vlc/modules/video_chroma/i420_rgb16_x86.c:450,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 69
    argCount: 3
    argNames:
    - p_filter
    - p_src
    - p_dest
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 465
    functionName: I420_R5G6B5
    functionSourceFile: /src/vlc/modules/video_chroma/i420_rgb16_x86.c
    functionUses: 0
    functionsReached:
    - SetOffset
    - AllocateOrGrow
    - SCALE_HEIGHT
    linkageType: ''
    returnType: VLC_TARGET
    signature: VLC_TARGET I420_R5G6B5( filter_t *p_filter, picture_t *p_src, picture_t
      *p_dest )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SetOffset
      Src: /src/vlc/modules/video_chroma/i420_rgb16_x86.c:508,1
    - Dst: AllocateOrGrow
      Src: /src/vlc/modules/video_chroma/i420_rgb16_x86.c:515,1
    - Dst: SCALE_HEIGHT
      Src: /src/vlc/modules/video_chroma/i420_rgb16_x86.c:583,1
    - Dst: SCALE_HEIGHT
      Src: /src/vlc/modules/video_chroma/i420_rgb16_x86.c:634,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 69
    argCount: 3
    argNames:
    - p_filter
    - p_src
    - p_dest
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 649
    functionName: I420_A8R8G8B8
    functionSourceFile: /src/vlc/modules/video_chroma/i420_rgb16_x86.c
    functionUses: 0
    functionsReached:
    - SetOffset
    - AllocateOrGrow
    - SCALE_HEIGHT
    linkageType: ''
    returnType: VLC_TARGET
    signature: "VLC_TARGET I420_A8R8G8B8( filter_t *p_filter, picture_t *p_src,\n
      \                                           picture_t *p_dest )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SetOffset
      Src: /src/vlc/modules/video_chroma/i420_rgb16_x86.c:691,1
    - Dst: AllocateOrGrow
      Src: /src/vlc/modules/video_chroma/i420_rgb16_x86.c:698,1
    - Dst: SCALE_HEIGHT
      Src: /src/vlc/modules/video_chroma/i420_rgb16_x86.c:766,1
    - Dst: SCALE_HEIGHT
      Src: /src/vlc/modules/video_chroma/i420_rgb16_x86.c:817,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 69
    argCount: 3
    argNames:
    - p_filter
    - p_src
    - p_dest
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 832
    functionName: I420_R8G8B8A8
    functionSourceFile: /src/vlc/modules/video_chroma/i420_rgb16_x86.c
    functionUses: 0
    functionsReached:
    - SetOffset
    - AllocateOrGrow
    - SCALE_HEIGHT
    linkageType: ''
    returnType: VLC_TARGET
    signature: VLC_TARGET I420_R8G8B8A8( filter_t *p_filter, picture_t *p_src, picture_t
      *p_dest )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SetOffset
      Src: /src/vlc/modules/video_chroma/i420_rgb16_x86.c:874,1
    - Dst: AllocateOrGrow
      Src: /src/vlc/modules/video_chroma/i420_rgb16_x86.c:881,1
    - Dst: SCALE_HEIGHT
      Src: /src/vlc/modules/video_chroma/i420_rgb16_x86.c:949,1
    - Dst: SCALE_HEIGHT
      Src: /src/vlc/modules/video_chroma/i420_rgb16_x86.c:1000,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 69
    argCount: 3
    argNames:
    - p_filter
    - p_src
    - p_dest
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 834
    functionDepth: 1
    functionLinenumber: 834
    functionLinenumberEnd: 1015
    functionName: I420_B8G8R8A8
    functionSourceFile: /src/vlc/modules/video_chroma/i420_rgb16_x86.c
    functionUses: 0
    functionsReached:
    - SetOffset
    - AllocateOrGrow
    - SCALE_HEIGHT
    linkageType: ''
    returnType: VLC_TARGET
    signature: VLC_TARGET I420_B8G8R8A8( filter_t *p_filter, picture_t *p_src, picture_t
      *p_dest )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SetOffset
      Src: /src/vlc/modules/video_chroma/i420_rgb16_x86.c:1057,1
    - Dst: AllocateOrGrow
      Src: /src/vlc/modules/video_chroma/i420_rgb16_x86.c:1064,1
    - Dst: SCALE_HEIGHT
      Src: /src/vlc/modules/video_chroma/i420_rgb16_x86.c:1132,1
    - Dst: SCALE_HEIGHT
      Src: /src/vlc/modules/video_chroma/i420_rgb16_x86.c:1183,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 69
    argCount: 3
    argNames:
    - p_filter
    - p_src
    - p_dest
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1017
    functionDepth: 1
    functionLinenumber: 1017
    functionLinenumberEnd: 1198
    functionName: I420_A8B8G8R8
    functionSourceFile: /src/vlc/modules/video_chroma/i420_rgb16_x86.c
    functionUses: 0
    functionsReached:
    - SetOffset
    - AllocateOrGrow
    - SCALE_HEIGHT
    linkageType: ''
    returnType: VLC_TARGET
    signature: VLC_TARGET I420_A8B8G8R8( filter_t *p_filter, picture_t *p_src, picture_t
      *p_dest )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetVlcChromaFfmpegTable
      Src: /src/vlc/modules/video_chroma/swscale.c:68,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/swscale.c:69,1
    - Dst: sws_isSupportedInput
      Src: /src/vlc/modules/video_chroma/swscale.c:75,1
    - Dst: sws_isSupportedOutput
      Src: /src/vlc/modules/video_chroma/swscale.c:76,1
    - Dst: sws_isSupportedInput
      Src: /src/vlc/modules/video_chroma/swscale.c:89,1
    - Dst: sws_isSupportedOutput
      Src: /src/vlc/modules/video_chroma/swscale.c:90,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/video_chroma/swscale.c:99,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/video_chroma/swscale.c:105,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/video_chroma/swscale.c:108,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 20
    argCount: 1
    argNames:
    - vec
    argTypes:
    - vlc_chroma_conv_vec*
    assertStmts:
    - condition: (table != NULL && count > 0)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/vlc/modules/video_chroma/swscale.c
    constantsTouched: []
    func_position:
      end: 113
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 113
    functionName: ProbeChroma
    functionSourceFile: /src/vlc/modules/video_chroma/swscale.c
    functionUses: 0
    functionsReached:
    - assert
    - sws_isSupportedOutput
    - sws_isSupportedInput
    - vlc_chroma_conv_add
    - GetVlcChromaFfmpegTable
    linkageType: ''
    returnType: void
    signature: void ProbeChroma(vlc_chroma_conv_vec *vec)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - format
    argTypes:
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 205
    functionName: GetSwsColorspace
    functionSourceFile: /src/vlc/modules/video_chroma/swscale.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetSwsColorspace( const video_format_t *format )
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - space
    argTypes:
    - video_color_space_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 220
    functionName: GetColorspaceName
    functionSourceFile: /src/vlc/modules/video_chroma/swscale.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * GetColorspaceName( video_color_space_t space )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sws_getColorspaceDetails
      Src: /src/vlc/modules/video_chroma/swscale.c:228,1
    - Dst: sws_getCoefficients
      Src: /src/vlc/modules/video_chroma/swscale.c:235,1
    - Dst: GetSwsColorspace
      Src: /src/vlc/modules/video_chroma/swscale.c:235,1
    - Dst: sws_getCoefficients
      Src: /src/vlc/modules/video_chroma/swscale.c:236,1
    - Dst: GetSwsColorspace
      Src: /src/vlc/modules/video_chroma/swscale.c:236,1
    - Dst: sws_setColorspaceDetails
      Src: /src/vlc/modules/video_chroma/swscale.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - filter_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 241
    functionName: SetColorspace
    functionSourceFile: /src/vlc/modules/video_chroma/swscale.c
    functionUses: 0
    functionsReached:
    - sws_getCoefficients
    - GetSwsColorspace
    - sws_setColorspaceDetails
    - sws_getColorspaceDetails
    linkageType: ''
    returnType: void
    signature: void SetColorspace( filter_sys_t *p_sys )
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: GetParameters
      Src: /src/vlc/modules/video_chroma/swscale.c:252,1
    - Dst: calloc
      Src: /src/vlc/modules/video_chroma/swscale.c:258,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/video_chroma/swscale.c:262,1
    - Dst: memset
      Src: /src/vlc/modules/video_chroma/swscale.c:280,1
    - Dst: memset
      Src: /src/vlc/modules/video_chroma/swscale.c:281,1
    - Dst: Init
      Src: /src/vlc/modules/video_chroma/swscale.c:283,1
    - Dst: sws_freeFilter
      Src: /src/vlc/modules/video_chroma/swscale.c:286,1
    - Dst: free
      Src: /src/vlc/modules/video_chroma/swscale.c:287,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_chroma/swscale.c:294,1
    - Dst: GetColorspaceName
      Src: /src/vlc/modules/video_chroma/swscale.c:297,1
    - Dst: GetColorspaceName
      Src: /src/vlc/modules/video_chroma/swscale.c:300,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 304
    functionName: OpenScaler
    functionSourceFile: /src/vlc/modules/video_chroma/swscale.c
    functionUses: 0
    functionsReached:
    - sws_freeFilter
    - GetParameters
    - memset
    - calloc
    - Init
    - free
    - GetColorspaceName
    - msg_Dbg
    - var_CreateGetInteger
    linkageType: ''
    returnType: int
    signature: int OpenScaler( filter_t *p_filter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Clean
      Src: /src/vlc/modules/video_chroma/swscale.c:313,1
    - Dst: sws_freeFilter
      Src: /src/vlc/modules/video_chroma/swscale.c:315,1
    - Dst: free
      Src: /src/vlc/modules/video_chroma/swscale.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 317
    functionName: CloseScaler
    functionSourceFile: /src/vlc/modules/video_chroma/swscale.c
    functionUses: 0
    functionsReached:
    - free
    - sws_freeFilter
    - Clean
    linkageType: ''
    returnType: void
    signature: void CloseScaler( filter_t *p_filter )
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - pi_fmt
    - pb_has_a
    - fmt
    argTypes:
    - enum AVPixelFormat*
    - bool*
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 357
    functionName: FixParameters
    functionSourceFile: /src/vlc/modules/video_chroma/swscale.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FixParameters( enum AVPixelFormat *pi_fmt, bool *pb_has_a, vlc_fourcc_t
      fmt )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FindFfmpegChroma
      Src: /src/vlc/modules/video_chroma/swscale.c:373,1
    - Dst: FindFfmpegChroma
      Src: /src/vlc/modules/video_chroma/swscale.c:374,1
    - Dst: FixParameters
      Src: /src/vlc/modules/video_chroma/swscale.c:385,1
    - Dst: FixParameters
      Src: /src/vlc/modules/video_chroma/swscale.c:386,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 4
    argNames:
    - p_cfg
    - p_fmti
    - p_fmto
    - i_sws_flags_default
    argTypes:
    - ScalerConfiguration*
    - video_format_t*
    - video_format_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 421
    functionName: GetParameters
    functionSourceFile: /src/vlc/modules/video_chroma/swscale.c
    functionUses: 1
    functionsReached:
    - FixParameters
    - FindFfmpegChroma
    linkageType: ''
    returnType: int
    signature: "int GetParameters( ScalerConfiguration *p_cfg,\n                          const
      video_format_t *p_fmti,\n                          const video_format_t *p_fmto,\n
      \                         int i_sws_flags_default )"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: video_format_IsSimilar
      Src: /src/vlc/modules/video_chroma/swscale.c:432,1
    - Dst: video_format_IsSimilar
      Src: /src/vlc/modules/video_chroma/swscale.c:433,1
    - Dst: Clean
      Src: /src/vlc/modules/video_chroma/swscale.c:439,1
    - Dst: GetParameters
      Src: /src/vlc/modules/video_chroma/swscale.c:443,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_chroma/swscale.c:445,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_chroma/swscale.c:453,1
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/video_chroma/swscale.c:459,1
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/video_chroma/swscale.c:460,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_chroma/swscale.c:469,1
    - Dst: sws_getContext
      Src: /src/vlc/modules/video_chroma/swscale.c:480,1
    - Dst: picture_New
      Src: /src/vlc/modules/video_chroma/swscale.c:491,1
    - Dst: picture_New
      Src: /src/vlc/modules/video_chroma/swscale.c:492,1
    - Dst: picture_New
      Src: /src/vlc/modules/video_chroma/swscale.c:496,1
    - Dst: picture_New
      Src: /src/vlc/modules/video_chroma/swscale.c:497,1
    - Dst: memset
      Src: /src/vlc/modules/video_chroma/swscale.c:500,1
    - Dst: memset
      Src: /src/vlc/modules/video_chroma/swscale.c:502,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_chroma/swscale.c:509,1
    - Dst: Clean
      Src: /src/vlc/modules/video_chroma/swscale.c:510,1
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/video_chroma/swscale.c:526,1
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/video_chroma/swscale.c:529,1
    - Dst: SetColorspace
      Src: /src/vlc/modules/video_chroma/swscale.c:541,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 63
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 544
    functionName: Init
    functionSourceFile: /src/vlc/modules/video_chroma/swscale.c
    functionUses: 165
    functionsReached:
    - Clean
    - GetParameters
    - picture_New
    - sws_getContext
    - memset
    - msg_Err
    - __MIN
    - vlc_fourcc_GetChromaDescription
    - vlc_ureduce
    - video_format_IsSimilar
    - SetColorspace
    linkageType: ''
    returnType: int
    signature: int Init( filter_t *p_filter )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: picture_Release
      Src: /src/vlc/modules/video_chroma/swscale.c:551,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_chroma/swscale.c:553,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_chroma/swscale.c:556,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_chroma/swscale.c:558,1
    - Dst: sws_freeContext
      Src: /src/vlc/modules/video_chroma/swscale.c:561,1
    - Dst: sws_freeContext
      Src: /src/vlc/modules/video_chroma/swscale.c:564,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 573
    functionName: Clean
    functionSourceFile: /src/vlc/modules/video_chroma/swscale.c
    functionUses: 147
    functionsReached:
    - picture_Release
    - sws_freeContext
    linkageType: ''
    returnType: void
    signature: void Clean( filter_t *p_filter )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/swscale.c:585,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 7
    argNames:
    - pp_pixel
    - pi_pitch
    - desc
    - fmt
    - p_picture
    - planes
    - b_swap_uv
    argTypes:
    - uint8_t*[]
    - int[]
    - vlc_chroma_description_t*
    - video_format_t*
    - picture_t*
    - unsigned
    - bool
    assertStmts:
    - condition: ( !b_swap_uv || planes >= 3 )
      pos:
        line_end: 584
        line_start: 584
        source_file: /src/vlc/modules/video_chroma/swscale.c
    constantsTouched: []
    func_position:
      end: 606
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 606
    functionName: GetPixels
    functionSourceFile: /src/vlc/modules/video_chroma/swscale.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void GetPixels( uint8_t *pp_pixel[4], int pi_pitch[4],\n                       const
      vlc_chroma_description_t *desc,\n                       const video_format_t
      *fmt,\n                       const picture_t *p_picture, unsigned planes,\n
      \                      bool b_swap_uv )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 5
    argNames:
    - p_dst
    - p_src
    - x_offset
    - y_offset
    - offset
    argTypes:
    - picture_t*
    - picture_t*
    - unsigned
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 619
    functionName: ExtractA
    functionSourceFile: /src/vlc/modules/video_chroma/swscale.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ExtractA( picture_t *p_dst, const picture_t *restrict p_src,\n
      \                     unsigned x_offset, unsigned y_offset, unsigned offset
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - p_dst
    - p_src
    - offset
    argTypes:
    - picture_t*
    - picture_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 630
    functionName: InjectA
    functionSourceFile: /src/vlc/modules/video_chroma/swscale.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void InjectA( picture_t *p_dst, const picture_t *restrict p_src,\n
      \                    unsigned offset )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - d
    - i_offset
    argTypes:
    - plane_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 637
    functionName: FillA
    functionSourceFile: /src/vlc/modules/video_chroma/swscale.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillA( plane_t *d, unsigned i_offset )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sws_scale
      Src: /src/vlc/modules/video_chroma/swscale.c:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - dst_plane
    - src_plane
    - i_height
    argTypes:
    - struct SwsContext*
    - plane_t*
    - plane_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 650
    functionName: ConvertA
    functionSourceFile: /src/vlc/modules/video_chroma/swscale.c
    functionUses: 0
    functionsReached:
    - sws_scale
    linkageType: ''
    returnType: void
    signature: "void ConvertA( struct SwsContext *ctx, plane_t *dst_plane,\n                      const
      plane_t *src_plane, int i_height )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: picture_Copy
      Src: /src/vlc/modules/video_chroma/swscale.c:655,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_chroma/swscale.c:664,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - p_dst
    - p_src
    argTypes:
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 667
    functionName: CopyPad
    functionSourceFile: /src/vlc/modules/video_chroma/swscale.c
    functionUses: 0
    functionsReached:
    - memcpy
    - picture_Copy
    linkageType: ''
    returnType: void
    signature: void CopyPad( picture_t *p_dst, const picture_t *p_src )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: picture_CopyPixels
      Src: /src/vlc/modules/video_chroma/swscale.c:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_dst
    - p_src
    argTypes:
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 676
    functionName: SwapUV
    functionSourceFile: /src/vlc/modules/video_chroma/swscale.c
    functionUses: 2
    functionsReached:
    - picture_CopyPixels
    linkageType: ''
    returnType: void
    signature: void SwapUV( picture_t *p_dst, const picture_t *p_src )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetPixels
      Src: /src/vlc/modules/video_chroma/swscale.c:688,1
    - Dst: memset
      Src: /src/vlc/modules/video_chroma/swscale.c:718,1
    - Dst: GetPixels
      Src: /src/vlc/modules/video_chroma/swscale.c:724,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_chroma/swscale.c:727,1
    - Dst: sws_scale
      Src: /src/vlc/modules/video_chroma/swscale.c:730,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 8
    argNames:
    - p_filter
    - ctx
    - p_dst
    - p_src
    - i_height
    - i_plane_count
    - b_swap_uvi
    - b_swap_uvo
    argTypes:
    - filter_t*
    - struct SwsContext*
    - picture_t*
    - picture_t*
    - int
    - int
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 678
    functionDepth: 2
    functionLinenumber: 678
    functionLinenumberEnd: 732
    functionName: Convert
    functionSourceFile: /src/vlc/modules/video_chroma/swscale.c
    functionUses: 6
    functionsReached:
    - GetPixels
    - ARRAY_SIZE
    - sws_scale
    - memset
    linkageType: ''
    returnType: void
    signature: "void Convert( filter_t *p_filter, struct SwsContext *ctx,\n                     picture_t
      *p_dst, picture_t *p_src, int i_height,\n                     int i_plane_count,
      bool b_swap_uvi, bool b_swap_uvo )"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/vlc/modules/video_chroma/swscale.c:747,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_chroma/swscale.c:749,1
    - Dst: filter_NewPicture
      Src: /src/vlc/modules/video_chroma/swscale.c:754,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_chroma/swscale.c:757,1
    - Dst: CopyPad
      Src: /src/vlc/modules/video_chroma/swscale.c:769,1
    - Dst: picture_CopyPixels
      Src: /src/vlc/modules/video_chroma/swscale.c:773,1
    - Dst: SwapUV
      Src: /src/vlc/modules/video_chroma/swscale.c:775,1
    - Dst: Convert
      Src: /src/vlc/modules/video_chroma/swscale.c:781,1
    - Dst: ExtractA
      Src: /src/vlc/modules/video_chroma/swscale.c:788,1
    - Dst: ExtractA
      Src: /src/vlc/modules/video_chroma/swscale.c:790,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/video_chroma/swscale.c:796,1
    - Dst: ConvertA
      Src: /src/vlc/modules/video_chroma/swscale.c:799,1
    - Dst: InjectA
      Src: /src/vlc/modules/video_chroma/swscale.c:802,1
    - Dst: InjectA
      Src: /src/vlc/modules/video_chroma/swscale.c:804,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/video_chroma/swscale.c:806,1
    - Dst: FillA
      Src: /src/vlc/modules/video_chroma/swscale.c:812,1
    - Dst: FillA
      Src: /src/vlc/modules/video_chroma/swscale.c:814,1
    - Dst: FillA
      Src: /src/vlc/modules/video_chroma/swscale.c:816,1
    - Dst: picture_CopyPixels
      Src: /src/vlc/modules/video_chroma/swscale.c:821,1
    - Dst: picture_CopyProperties
      Src: /src/vlc/modules/video_chroma/swscale.c:824,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_chroma/swscale.c:825,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 49
    argCount: 2
    argNames:
    - p_filter
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 739
    functionDepth: 2
    functionLinenumber: 739
    functionLinenumberEnd: 827
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_chroma/swscale.c
    functionUses: 23
    functionsReached:
    - CopyPad
    - InjectA
    - picture_CopyProperties
    - filter_NewPicture
    - plane_CopyPixels
    - Init
    - picture_Release
    - Convert
    - ConvertA
    - SwapUV
    - picture_CopyPixels
    - ExtractA
    - FillA
    linkageType: ''
    returnType: picture_t
    signature: picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - chroma
    argTypes:
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: is_d3d9_opaque
    functionSourceFile: /src/vlc/modules/video_chroma/d3d9_fmt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_d3d9_opaque(vlc_fourcc_t chroma)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - device
    argTypes:
    - vlc_decoder_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: GetD3D9OpaqueDevice
    functionSourceFile: /src/vlc/modules/video_chroma/d3d9_fmt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: d3d9_decoder_device_t
    signature: d3d9_decoder_device_t *GetD3D9OpaqueDevice(vlc_decoder_device *device)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_video_context_HoldDevice
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.h:108,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.h:109,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.h:114,1
    - Dst: GetD3D9OpaqueDevice
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.h:115,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.h:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - vlc_video_context*
    assertStmts:
    - condition: (device->opaque != NULL)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/vlc/modules/video_chroma/d3d9_fmt.h
    constantsTouched: []
    func_position:
      end: 119
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 119
    functionName: GetD3D9OpaqueContext
    functionSourceFile: /src/vlc/modules/video_chroma/d3d9_fmt.h
    functionUses: 0
    functionsReached:
    - vlc_video_context_HoldDevice
    - assert
    - vlc_decoder_device_Release
    - GetD3D9OpaqueDevice
    - unlikely
    linkageType: ''
    returnType: d3d9_decoder_device_t
    signature: d3d9_decoder_device_t *GetD3D9OpaqueContext(vlc_video_context *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_video_context_GetPrivate
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: GetD3D9ContextPrivate
    functionSourceFile: /src/vlc/modules/video_chroma/d3d9_fmt.h
    functionUses: 0
    functionsReached:
    - vlc_video_context_GetPrivate
    linkageType: ''
    returnType: d3d9_video_context_t
    signature: d3d9_video_context_t *GetD3D9ContextPrivate(vlc_video_context *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IDirect3DSurface9_AddRef
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - picture_sys_d3d9_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: AcquireD3D9PictureSys
    functionSourceFile: /src/vlc/modules/video_chroma/d3d9_fmt.h
    functionUses: 1
    functionsReached:
    - IDirect3DSurface9_AddRef
    linkageType: ''
    returnType: void
    signature: void AcquireD3D9PictureSys(picture_sys_d3d9_t *p_sys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IDirect3DSurface9_Release
      Src: /src/vlc/modules/video_chroma/d3d9_fmt.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - picture_sys_d3d9_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: ReleaseD3D9PictureSys
    functionSourceFile: /src/vlc/modules/video_chroma/d3d9_fmt.h
    functionUses: 1
    functionsReached:
    - IDirect3DSurface9_Release
    linkageType: ''
    returnType: void
    signature: void ReleaseD3D9PictureSys(picture_sys_d3d9_t *p_sys)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: D3D9_CreateDevice
    functionSourceFile: /src/vlc/modules/video_chroma/d3d9_fmt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D3D9_CreateDevice(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/video_chroma/cvpx.c:70,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/video_chroma/cvpx.c:71,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/video_chroma/cvpx.c:72,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/video_chroma/cvpx.c:73,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/video_chroma/cvpx.c:75,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/video_chroma/cvpx.c:76,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/video_chroma/cvpx.c:77,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/video_chroma/cvpx.c:79,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/video_chroma/cvpx.c:80,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/video_chroma/cvpx.c:82,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/video_chroma/cvpx.c:84,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/video_chroma/cvpx.c:85,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/video_chroma/cvpx.c:86,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/video_chroma/cvpx.c:87,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/video_chroma/cvpx.c:88,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/video_chroma/cvpx.c:89,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/video_chroma/cvpx.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - vec
    argTypes:
    - vlc_chroma_conv_vec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 91
    functionName: ProbeChroma
    functionSourceFile: /src/vlc/modules/video_chroma/cvpx.c
    functionUses: 0
    functionsReached:
    - vlc_chroma_conv_add
    linkageType: ''
    returnType: void
    signature: void ProbeChroma(vlc_chroma_conv_vec *vec)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DO
      Src: /src/vlc/modules/video_chroma/cvpx.c:140,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/cvpx.c:143,1
    - Dst: DO
      Src: /src/vlc/modules/video_chroma/cvpx.c:144,1
    - Dst: DO
      Src: /src/vlc/modules/video_chroma/cvpx.c:149,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/cvpx.c:152,1
    - Dst: DO_S
      Src: /src/vlc/modules/video_chroma/cvpx.c:153,1
    - Dst: DO
      Src: /src/vlc/modules/video_chroma/cvpx.c:158,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/cvpx.c:161,1
    - Dst: DO
      Src: /src/vlc/modules/video_chroma/cvpx.c:162,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/cvpx.c:166,1
    - Dst: DO_S
      Src: /src/vlc/modules/video_chroma/cvpx.c:167,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/cvpx.c:170,1
    - Dst: DO_P
      Src: /src/vlc/modules/video_chroma/cvpx.c:171,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/cvpx.c:174,1
    - Dst: DO_P
      Src: /src/vlc/modules/video_chroma/cvpx.c:175,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_chroma/cvpx.c:178,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 4
    argNames:
    - p_filter
    - dst
    - src
    - height
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    - unsigned
    assertStmts:
    - condition: (outfcc == VLC_CODEC_I420_10L)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/vlc/modules/video_chroma/cvpx.c
    - condition: (outfcc == VLC_CODEC_I420)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/vlc/modules/video_chroma/cvpx.c
    - condition: (outfcc == VLC_CODEC_NV12)
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/vlc/modules/video_chroma/cvpx.c
    - condition: (outfcc == VLC_CODEC_P010)
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/vlc/modules/video_chroma/cvpx.c
    - condition: (outfcc == VLC_CODEC_UYVY)
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/vlc/modules/video_chroma/cvpx.c
    - condition: (outfcc == VLC_CODEC_BGRA)
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/vlc/modules/video_chroma/cvpx.c
    constantsTouched: []
    func_position:
      end: 184
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 184
    functionName: Copy
    functionSourceFile: /src/vlc/modules/video_chroma/cvpx.c
    functionUses: 74
    functionsReached:
    - DO_S
    - assert
    - DO_P
    - vlc_assert_unreachable
    - DO
    linkageType: ''
    returnType: void
    signature: "void Copy(filter_t *p_filter, picture_t *dst, picture_t *src,\n                 unsigned
      height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: DO
    functionSourceFile: /src/vlc/modules/video_chroma/cvpx.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - shift
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: DO_S
    functionSourceFile: /src/vlc/modules/video_chroma/cvpx.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_S(x, shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: DO_P
    functionSourceFile: /src/vlc/modules/video_chroma/cvpx.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_P(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cvpxpic_get_ref
      Src: /src/vlc/modules/video_chroma/cvpx.c:190,1
    - Dst: cvpxpic_create_mapped
      Src: /src/vlc/modules/video_chroma/cvpx.c:192,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_chroma/cvpx.c:195,1
    - Dst: filter_NewPicture
      Src: /src/vlc/modules/video_chroma/cvpx.c:199,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_chroma/cvpx.c:202,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_chroma/cvpx.c:203,1
    - Dst: CVPixelBufferGetHeight
      Src: /src/vlc/modules/video_chroma/cvpx.c:207,1
    - Dst: Copy
      Src: /src/vlc/modules/video_chroma/cvpx.c:208,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_chroma/cvpx.c:208,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_chroma/cvpx.c:210,1
    - Dst: picture_CopyProperties
      Src: /src/vlc/modules/video_chroma/cvpx.c:212,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_chroma/cvpx.c:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - p_filter
    - src
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 216
    functionName: CVPX_TO_SW_Filter
    functionSourceFile: /src/vlc/modules/video_chroma/cvpx.c
    functionUses: 0
    functionsReached:
    - cvpxpic_get_ref
    - Copy
    - CVPixelBufferGetHeight
    - filter_NewPicture
    - picture_CopyProperties
    - picture_Release
    - cvpxpic_create_mapped
    - __MIN
    linkageType: ''
    returnType: picture_t
    signature: picture_t *CVPX_TO_SW_Filter(filter_t *p_filter, picture_t *src)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cvpxpool_new_cvpx
      Src: /src/vlc/modules/video_chroma/cvpx.c:222,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_chroma/cvpx.c:225,1
    - Dst: cvpx_attach_mapped_color_properties
      Src: /src/vlc/modules/video_chroma/cvpx.c:229,1
    - Dst: cvpxpic_create_mapped
      Src: /src/vlc/modules/video_chroma/cvpx.c:233,1
    - Dst: CFRelease
      Src: /src/vlc/modules/video_chroma/cvpx.c:234,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_chroma/cvpx.c:237,1
    - Dst: picture_NewFromFormat
      Src: /src/vlc/modules/video_chroma/cvpx.c:242,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_chroma/cvpx.c:245,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_chroma/cvpx.c:246,1
    - Dst: CVPixelBufferGetHeight
      Src: /src/vlc/modules/video_chroma/cvpx.c:250,1
    - Dst: Copy
      Src: /src/vlc/modules/video_chroma/cvpx.c:251,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_chroma/cvpx.c:251,1
    - Dst: cvpxpic_attach
      Src: /src/vlc/modules/video_chroma/cvpx.c:254,1
    - Dst: cvpxpic_get_ref
      Src: /src/vlc/modules/video_chroma/cvpx.c:254,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_chroma/cvpx.c:257,1
    - Dst: picture_CopyProperties
      Src: /src/vlc/modules/video_chroma/cvpx.c:259,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_chroma/cvpx.c:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - p_filter
    - src
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 262
    functionName: SW_TO_CVPX_Filter
    functionSourceFile: /src/vlc/modules/video_chroma/cvpx.c
    functionUses: 0
    functionsReached:
    - cvpxpic_get_ref
    - CFRelease
    - Copy
    - cvpx_attach_mapped_color_properties
    - cvpxpool_new_cvpx
    - CVPixelBufferGetHeight
    - picture_CopyProperties
    - picture_Release
    - cvpxpic_create_mapped
    - __MIN
    - cvpxpic_attach
    - picture_NewFromFormat
    linkageType: ''
    returnType: picture_t
    signature: picture_t *SW_TO_CVPX_Filter(filter_t *p_filter, picture_t *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CVPixelBufferPoolRelease
      Src: /src/vlc/modules/video_chroma/cvpx.c:269,1
    - Dst: CopyCleanCache
      Src: /src/vlc/modules/video_chroma/cvpx.c:271,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/video_chroma/cvpx.c:273,1
    - Dst: free
      Src: /src/vlc/modules/video_chroma/cvpx.c:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 275
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_chroma/cvpx.c
    functionUses: 107
    functionsReached:
    - free
    - CopyCleanCache
    - vlc_video_context_Release
    - CVPixelBufferPoolRelease
    linkageType: ''
    returnType: void
    signature: void Close(filter_t *p_filter)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CASE_CVPX_INPUT
      Src: /src/vlc/modules/video_chroma/cvpx.c:317,1
    - Dst: CASE_CVPX_INPUT
      Src: /src/vlc/modules/video_chroma/cvpx.c:319,1
    - Dst: CASE_CVPX_INPUT
      Src: /src/vlc/modules/video_chroma/cvpx.c:322,1
    - Dst: CASE_CVPX_INPUT
      Src: /src/vlc/modules/video_chroma/cvpx.c:324,1
    - Dst: CASE_CVPX_INPUT
      Src: /src/vlc/modules/video_chroma/cvpx.c:326,1
    - Dst: CASE_CVPX_OUTPUT
      Src: /src/vlc/modules/video_chroma/cvpx.c:331,1
    - Dst: CASE_CVPX_OUTPUT
      Src: /src/vlc/modules/video_chroma/cvpx.c:333,1
    - Dst: CASE_CVPX_OUTPUT
      Src: /src/vlc/modules/video_chroma/cvpx.c:336,1
    - Dst: CASE_CVPX_OUTPUT
      Src: /src/vlc/modules/video_chroma/cvpx.c:338,1
    - Dst: CASE_CVPX_OUTPUT
      Src: /src/vlc/modules/video_chroma/cvpx.c:340,1
    - Dst: malloc
      Src: /src/vlc/modules/video_chroma/cvpx.c:347,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_chroma/cvpx.c:349,1
    - Dst: CopyInitCache
      Src: /src/vlc/modules/video_chroma/cvpx.c:356,1
    - Dst: filter_HoldDecoderDeviceType
      Src: /src/vlc/modules/video_chroma/cvpx.c:363,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_chroma/cvpx.c:367,1
    - Dst: vlc_video_context_CreateCVPX
      Src: /src/vlc/modules/video_chroma/cvpx.c:375,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/video_chroma/cvpx.c:377,1
    - Dst: cvpxpool_create
      Src: /src/vlc/modules/video_chroma/cvpx.c:384,1
    - Dst: vlc_video_context_GetType
      Src: /src/vlc/modules/video_chroma/cvpx.c:394,1
    - Dst: Close
      Src: /src/vlc/modules/video_chroma/cvpx.c:404,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/cvpx.c:407,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 66
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: (ret != VLC_SUCCESS)
      pos:
        line_end: 406
        line_start: 406
        source_file: /src/vlc/modules/video_chroma/cvpx.c
    constantsTouched: []
    func_position:
      end: 412
      start: 284
    functionDepth: 3
    functionLinenumber: 284
    functionLinenumberEnd: 412
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_chroma/cvpx.c
    functionUses: 33
    functionsReached:
    - CopyInitCache
    - vlc_video_context_CreateCVPX
    - cvpxpool_create
    - assert
    - CASE_CVPX_INPUT
    - vlc_decoder_device_Release
    - vlc_video_context_GetType
    - msg_Err
    - CASE_CVPX_OUTPUT
    - filter_HoldDecoderDeviceType
    - Close
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open(filter_t *p_filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - i420_fcc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 301
    functionName: CASE_CVPX_INPUT
    functionSourceFile: /src/vlc/modules/video_chroma/cvpx.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CASE_CVPX_INPUT(x, i420_fcc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - i420_fcc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 312
    functionName: CASE_CVPX_OUTPUT
    functionSourceFile: /src/vlc/modules/video_chroma/cvpx.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CASE_CVPX_OUTPUT(x, i420_fcc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cvpxpic_get_ref
      Src: /src/vlc/modules/video_chroma/cvpx.c:425,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/cvpx.c:426,1
    - Dst: filter_NewPicture
      Src: /src/vlc/modules/video_chroma/cvpx.c:428,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_chroma/cvpx.c:431,1
    - Dst: cvpxpool_new_cvpx
      Src: /src/vlc/modules/video_chroma/cvpx.c:435,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_chroma/cvpx.c:438,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_chroma/cvpx.c:439,1
    - Dst: VTPixelTransferSessionTransferImage
      Src: /src/vlc/modules/video_chroma/cvpx.c:443,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_chroma/cvpx.c:446,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_chroma/cvpx.c:447,1
    - Dst: CVPixelBufferRelease
      Src: /src/vlc/modules/video_chroma/cvpx.c:448,1
    - Dst: cvpxpic_attach
      Src: /src/vlc/modules/video_chroma/cvpx.c:452,1
    - Dst: picture_CopyProperties
      Src: /src/vlc/modules/video_chroma/cvpx.c:454,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_chroma/cvpx.c:455,1
    - Dst: CVPixelBufferRelease
      Src: /src/vlc/modules/video_chroma/cvpx.c:456,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - filter
    - src
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts:
    - condition: (src_cvpx)
      pos:
        line_end: 425
        line_start: 425
        source_file: /src/vlc/modules/video_chroma/cvpx.c
    constantsTouched: []
    func_position:
      end: 458
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 458
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_chroma/cvpx.c
    functionUses: 23
    functionsReached:
    - cvpxpic_get_ref
    - assert
    - VTPixelTransferSessionTransferImage
    - cvpxpool_new_cvpx
    - picture_CopyProperties
    - filter_NewPicture
    - picture_Release
    - cvpxpic_attach
    - CVPixelBufferRelease
    linkageType: ''
    returnType: picture_t
    signature: 'picture_t *

      Filter(filter_t *filter, picture_t *src)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_video_context_GetType
      Src: /src/vlc/modules/video_chroma/cvpx.c:480,1
    - Dst: CHECK_CHROMA
      Src: /src/vlc/modules/video_chroma/cvpx.c:492,1
    - Dst: CHECK_CHROMA
      Src: /src/vlc/modules/video_chroma/cvpx.c:493,1
    - Dst: calloc
      Src: /src/vlc/modules/video_chroma/cvpx.c:496,1
    - Dst: VTPixelTransferSessionCreate
      Src: /src/vlc/modules/video_chroma/cvpx.c:500,1
    - Dst: free
      Src: /src/vlc/modules/video_chroma/cvpx.c:503,1
    - Dst: cvpxpool_create
      Src: /src/vlc/modules/video_chroma/cvpx.c:507,1
    - Dst: VTPixelTransferSessionInvalidate
      Src: /src/vlc/modules/video_chroma/cvpx.c:509,1
    - Dst: CFRelease
      Src: /src/vlc/modules/video_chroma/cvpx.c:510,1
    - Dst: free
      Src: /src/vlc/modules/video_chroma/cvpx.c:511,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/video_chroma/cvpx.c:517,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 520
    functionName: Open_CVPX_to_CVPX
    functionSourceFile: /src/vlc/modules/video_chroma/cvpx.c
    functionUses: 0
    functionsReached:
    - cvpxpool_create
    - CHECK_CHROMA
    - CFRelease
    - VTPixelTransferSessionCreate
    - vlc_video_context_GetType
    - vlc_video_context_Hold
    - calloc
    - free
    - VTPixelTransferSessionInvalidate
    linkageType: ''
    returnType: int
    signature: int Open_CVPX_to_CVPX(filter_t *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fourcc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 492
    functionName: CHECK_CHROMA
    functionSourceFile: /src/vlc/modules/video_chroma/cvpx.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_CHROMA(fourcc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTPixelTransferSessionInvalidate
      Src: /src/vlc/modules/video_chroma/cvpx.c:527,1
    - Dst: CFRelease
      Src: /src/vlc/modules/video_chroma/cvpx.c:528,1
    - Dst: CVPixelBufferPoolRelease
      Src: /src/vlc/modules/video_chroma/cvpx.c:529,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/video_chroma/cvpx.c:530,1
    - Dst: free
      Src: /src/vlc/modules/video_chroma/cvpx.c:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 532
    functionName: Close_CVPX_to_CVPX
    functionSourceFile: /src/vlc/modules/video_chroma/cvpx.c
    functionUses: 0
    functionsReached:
    - vlc_video_context_Release
    - CFRelease
    - CVPixelBufferPoolRelease
    - free
    - VTPixelTransferSessionInvalidate
    linkageType: ''
    returnType: void
    signature: void Close_CVPX_to_CVPX(filter_t *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_chain_VideoFilter
      Src: /src/vlc/modules/video_chroma/cvpx.c:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - filter
    - pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 539
    functionName: chain_CVPX_Filter
    functionSourceFile: /src/vlc/modules/video_chroma/cvpx.c
    functionUses: 0
    functionsReached:
    - filter_chain_VideoFilter
    linkageType: ''
    returnType: picture_t
    signature: 'picture_t *

      chain_CVPX_Filter(filter_t *filter, picture_t *pic)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_chain_VideoFlush
      Src: /src/vlc/modules/video_chroma/cvpx.c:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 546
    functionName: chain_CVPX_Flush
    functionSourceFile: /src/vlc/modules/video_chroma/cvpx.c
    functionUses: 0
    functionsReached:
    - filter_chain_VideoFlush
    linkageType: ''
    returnType: void
    signature: void chain_CVPX_Flush(filter_t *filter)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_chroma/cvpx.c:553,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_chroma/cvpx.c:566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - input_chroma
    - output_chroma
    argTypes:
    - vlc_fourcc_t
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 567
    functionName: GetIntermediateChroma
    functionSourceFile: /src/vlc/modules/video_chroma/cvpx.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - vlc_assert_unreachable
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t GetIntermediateChroma(vlc_fourcc_t input_chroma, vlc_fourcc_t
      output_chroma)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_chroma/cvpx.c:572,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_chroma/cvpx.c:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - filter
    - opaque
    argTypes:
    - filter_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 581
    functionName: PrintConversionChain
    functionSourceFile: /src/vlc/modules/video_chroma/cvpx.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int PrintConversionChain(filter_t *filter, void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_NewPicture
      Src: /src/vlc/modules/video_chroma/cvpx.c:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 597
    functionName: VideoBufferNew
    functionSourceFile: /src/vlc/modules/video_chroma/cvpx.c
    functionUses: 0
    functionsReached:
    - filter_NewPicture
    linkageType: ''
    returnType: picture_t
    signature: picture_t *VideoBufferNew(filter_t *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_chroma/cvpx.c:601,1
    - Dst: filter_HoldDecoderDevice
      Src: /src/vlc/modules/video_chroma/cvpx.c:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - obj
    - sys
    argTypes:
    - vlc_object_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 604
    functionName: VideoHoldDevice
    functionSourceFile: /src/vlc/modules/video_chroma/cvpx.c
    functionUses: 0
    functionsReached:
    - filter_HoldDecoderDevice
    - VLC_UNUSED
    linkageType: ''
    returnType: struct vlc_decoder_device
    signature: struct vlc_decoder_device *VideoHoldDevice(vlc_object_t *obj, void
      *sys)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: var_GetChecked
      Src: /src/vlc/modules/video_chroma/cvpx.c:615,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/video_chroma/cvpx.c:615,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_chroma/cvpx.c:624,1
    - Dst: vlc_video_context_GetType
      Src: /src/vlc/modules/video_chroma/cvpx.c:649,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_chroma/cvpx.c:655,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_chroma/cvpx.c:666,1
    - Dst: filter_chain_NewVideo
      Src: /src/vlc/modules/video_chroma/cvpx.c:684,1
    - Dst: filter_chain_Reset
      Src: /src/vlc/modules/video_chroma/cvpx.c:688,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/video_chroma/cvpx.c:694,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/video_chroma/cvpx.c:696,1
    - Dst: GetIntermediateChroma
      Src: /src/vlc/modules/video_chroma/cvpx.c:700,1
    - Dst: var_Create
      Src: /src/vlc/modules/video_chroma/cvpx.c:702,1
    - Dst: var_SetBool
      Src: /src/vlc/modules/video_chroma/cvpx.c:703,1
    - Dst: filter_chain_AppendConverter
      Src: /src/vlc/modules/video_chroma/cvpx.c:706,1
    - Dst: filter_chain_AppendConverter
      Src: /src/vlc/modules/video_chroma/cvpx.c:710,1
    - Dst: filter_chain_GetVideoCtxOut
      Src: /src/vlc/modules/video_chroma/cvpx.c:715,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_chroma/cvpx.c:722,1
    - Dst: filter_chain_ForEach
      Src: /src/vlc/modules/video_chroma/cvpx.c:723,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_chroma/cvpx.c:727,1
    - Dst: filter_chain_Delete
      Src: /src/vlc/modules/video_chroma/cvpx.c:728,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/video_chroma/cvpx.c:729,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 731
    functionName: Open_chain_CVPX
    functionSourceFile: /src/vlc/modules/video_chroma/cvpx.c
    functionUses: 0
    functionsReached:
    - var_Destroy
    - vlc_object_parent
    - ARRAY_SIZE
    - filter_chain_GetVideoCtxOut
    - filter_chain_Delete
    - var_Create
    - vlc_video_context_GetType
    - filter_chain_AppendConverter
    - filter_chain_NewVideo
    - filter_chain_ForEach
    - msg_Err
    - var_SetBool
    - msg_Dbg
    - filter_chain_Reset
    - GetIntermediateChroma
    - var_GetChecked
    - es_format_Copy
    linkageType: ''
    returnType: int
    signature: int Open_chain_CVPX(filter_t *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_chain_Delete
      Src: /src/vlc/modules/video_chroma/cvpx.c:737,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/video_chroma/cvpx.c:738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 739
    functionName: Close_chain_CVPX
    functionSourceFile: /src/vlc/modules/video_chroma/cvpx.c
    functionUses: 0
    functionsReached:
    - var_Destroy
    - filter_chain_Delete
    linkageType: ''
    returnType: void
    signature: void Close_chain_CVPX(filter_t *filter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/video_chroma/gst_mem.c:42,1
    - Dst: filter_NewPicture
      Src: /src/vlc/modules/video_chroma/gst_mem.c:46,1
    - Dst: picture_CopyProperties
      Src: /src/vlc/modules/video_chroma/gst_mem.c:49,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_chroma/gst_mem.c:52,1
    - Dst: gst_video_frame_map
      Src: /src/vlc/modules/video_chroma/gst_mem.c:52,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_chroma/gst_mem.c:54,1
    - Dst: gst_CopyPicture
      Src: /src/vlc/modules/video_chroma/gst_mem.c:58,1
    - Dst: gst_video_frame_unmap
      Src: /src/vlc/modules/video_chroma/gst_mem.c:59,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_chroma/gst_mem.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - p_filter
    - src
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 63
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_chroma/gst_mem.c
    functionUses: 24
    functionsReached:
    - gst_video_frame_map
    - container_of
    - picture_CopyProperties
    - filter_NewPicture
    - msg_Err
    - picture_Release
    - gst_CopyPicture
    - gst_video_frame_unmap
    - unlikely
    linkageType: ''
    returnType: picture_t
    signature: picture_t * Filter(filter_t *p_filter, picture_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_chain_VideoFilter
      Src: /src/vlc/modules/video_chroma/gst_mem.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_filter
    - src
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: Filter_chain
    functionSourceFile: /src/vlc/modules/video_chroma/gst_mem.c
    functionUses: 0
    functionsReached:
    - filter_chain_VideoFilter
    linkageType: ''
    returnType: picture_t
    signature: picture_t * Filter_chain( filter_t *p_filter, picture_t *src )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Copy
      Src: /src/vlc/modules/video_chroma/gst_mem.c:91,1
    - Dst: filter_chain_NewVideo
      Src: /src/vlc/modules/video_chroma/gst_mem.c:94,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/video_chroma/gst_mem.c:97,1
    - Dst: filter_chain_Reset
      Src: /src/vlc/modules/video_chroma/gst_mem.c:100,1
    - Dst: filter_chain_AppendConverter
      Src: /src/vlc/modules/video_chroma/gst_mem.c:103,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/video_chroma/gst_mem.c:104,1
    - Dst: filter_chain_Delete
      Src: /src/vlc/modules/video_chroma/gst_mem.c:107,1
    - Dst: filter_chain_AppendConverter
      Src: /src/vlc/modules/video_chroma/gst_mem.c:111,1
    - Dst: filter_chain_Delete
      Src: /src/vlc/modules/video_chroma/gst_mem.c:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 122
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_chroma/gst_mem.c
    functionUses: 33
    functionsReached:
    - es_format_Clean
    - filter_chain_Delete
    - filter_chain_AppendConverter
    - filter_chain_NewVideo
    - filter_chain_Reset
    - es_format_Copy
    linkageType: ''
    returnType: int
    signature: int Open(filter_t *p_filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/video_chroma/gst_mem.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vec
    argTypes:
    - vlc_chroma_conv_vec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: ProbeChroma
    functionSourceFile: /src/vlc/modules/video_chroma/gst_mem.c
    functionUses: 0
    functionsReached:
    - vlc_chroma_conv_add
    linkageType: ''
    returnType: void
    signature: void ProbeChroma(vlc_chroma_conv_vec *vec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetOffset
      Src: /src/vlc/modules/video_chroma/i420_rgb8.c:86,1
    - Dst: SCALE_WIDTH_DITHER
      Src: /src/vlc/modules/video_chroma/i420_rgb8.c:103,1
    - Dst: SCALE_HEIGHT_DITHER
      Src: /src/vlc/modules/video_chroma/i420_rgb8.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - p_filter
    - p_src
    - p_dest
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 113
    functionName: I420_RGB8
    functionSourceFile: /src/vlc/modules/video_chroma/i420_rgb8.c
    functionUses: 0
    functionsReached:
    - SetOffset
    - SCALE_WIDTH_DITHER
    - SCALE_HEIGHT_DITHER
    linkageType: ''
    returnType: void
    signature: void I420_RGB8( filter_t *p_filter, picture_t *p_src, picture_t *p_dest
      )
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 7
    argNames:
    - i_width
    - i_height
    - i_pic_width
    - i_pic_height
    - pb_hscale
    - pi_vscale
    - p_offset
    argTypes:
    - int
    - int
    - int
    - int
    - bool*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 196
    functionName: SetOffset
    functionSourceFile: /src/vlc/modules/video_chroma/i420_rgb8.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SetOffset( int i_width, int i_height, int i_pic_width,\n                       int
      i_pic_height, bool *pb_hscale,\n                       int *pi_vscale, int *p_offset
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/video_chroma/rv32.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vec
    argTypes:
    - vlc_chroma_conv_vec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: ProbeChroma
    functionSourceFile: /src/vlc/modules/video_chroma/rv32.c
    functionUses: 0
    functionsReached:
    - vlc_chroma_conv_add
    linkageType: ''
    returnType: void
    signature: void ProbeChroma(vlc_chroma_conv_vec *vec)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 81
    functionName: OpenFilter
    functionSourceFile: /src/vlc/modules/video_chroma/rv32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OpenFilter( filter_t *p_filter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: filter_NewPicture
      Src: /src/vlc/modules/video_chroma/rv32.c:93,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_chroma/rv32.c:96,1
    - Dst: picture_CopyProperties
      Src: /src/vlc/modules/video_chroma/rv32.c:122,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_chroma/rv32.c:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - p_filter
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 126
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_chroma/rv32.c
    functionUses: 25
    functionsReached:
    - picture_Release
    - picture_CopyProperties
    - filter_NewPicture
    linkageType: ''
    returnType: picture_t
    signature: picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - SSE2_INSTRUCTIONS
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: SSE2_CALL
    functionSourceFile: /src/vlc/modules/video_chroma/i420_rgb_sse2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSE2_CALL(SSE2_INSTRUCTIONS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - SSE2_INSTRUCTIONS
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 441
    functionName: SSE2_CALL
    functionSourceFile: /src/vlc/modules/video_chroma/i420_rgb_sse2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSE2_CALL(SSE2_INSTRUCTIONS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ppType
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: IID_GRAPHICS_PPV_ARGS
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IID_GRAPHICS_PPV_ARGS(ppType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - block
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: D3D11BLOCK_FROM_BLOCK
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D3D11BLOCK_FROM_BLOCK(block)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - chroma
    argTypes:
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: is_d3d11_opaque
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_d3d11_opaque(vlc_fourcc_t chroma)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - device
    argTypes:
    - vlc_decoder_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: GetD3D11OpaqueDevice
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: d3d11_decoder_device_t
    signature: d3d11_decoder_device_t *GetD3D11OpaqueDevice(vlc_decoder_device *device)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_video_context_HoldDevice
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.h:132,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.h:133,1
    - Dst: assert
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.h:138,1
    - Dst: GetD3D11OpaqueDevice
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.h:139,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.h:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - vlc_video_context*
    assertStmts:
    - condition: (device->opaque != NULL)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/vlc/modules/video_chroma/d3d11_fmt.h
    constantsTouched: []
    func_position:
      end: 143
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 143
    functionName: GetD3D11OpaqueContext
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.h
    functionUses: 2
    functionsReached:
    - vlc_video_context_HoldDevice
    - GetD3D11OpaqueDevice
    - assert
    - vlc_decoder_device_Release
    - unlikely
    linkageType: ''
    returnType: d3d11_decoder_device_t
    signature: d3d11_decoder_device_t *GetD3D11OpaqueContext(vlc_video_context *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_video_context_GetPrivate
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: GetD3D11ContextPrivate
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.h
    functionUses: 1
    functionsReached:
    - vlc_video_context_GetPrivate
    linkageType: ''
    returnType: d3d11_video_context_t
    signature: d3d11_video_context_t *GetD3D11ContextPrivate(vlc_video_context *vctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DxgiGetRenderFormatList
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.h:158,1
    - Dst: is_d3d11_opaque
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.h:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - opaque
    - alpha
    - gpu_based
    argTypes:
    - DXGI_FORMAT
    - DXGI_FORMAT
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 169
    functionName: D3D11_RenderFormat
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.h
    functionUses: 1
    functionsReached:
    - DxgiGetRenderFormatList
    - is_d3d11_opaque
    linkageType: ''
    returnType: d3d_format_t
    signature: d3d_format_t *D3D11_RenderFormat(DXGI_FORMAT opaque, DXGI_FORMAT alpha,
      bool gpu_based)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 181
    functionName: D3D11_CreateDevice
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D3D11_CreateDevice(a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - i
    - ','
    - j
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: FindD3D11Format
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FindD3D11Format(a,b,c,d,e,f,g,h,i,j)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: AllocateTextures
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AllocateTextures(a,b,c,d,e,f,g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WaitForSingleObjectEx
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.h:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - d3d_dev
    argTypes:
    - d3d11_device_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: d3d11_device_lock
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.h
    functionUses: 1
    functionsReached:
    - WaitForSingleObjectEx
    linkageType: ''
    returnType: void
    signature: void d3d11_device_lock(d3d11_device_t *d3d_dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseMutex
      Src: /src/vlc/modules/video_chroma/d3d11_fmt.h:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - d3d_dev
    argTypes:
    - d3d11_device_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: d3d11_device_unlock
    functionSourceFile: /src/vlc/modules/video_chroma/d3d11_fmt.h
    functionUses: 1
    functionsReached:
    - ReleaseMutex
    linkageType: ''
    returnType: void
    signature: void d3d11_device_unlock(d3d11_device_t *d3d_dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_chroma_conv_add_in_outlist
      Src: /src/vlc/modules/video_chroma/grey_yuv.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vec
    argTypes:
    - vlc_chroma_conv_vec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: ProbeChroma
    functionSourceFile: /src/vlc/modules/video_chroma/grey_yuv.c
    functionUses: 0
    functionsReached:
    - vlc_chroma_conv_add_in_outlist
    linkageType: ''
    returnType: void
    signature: void ProbeChroma(vlc_chroma_conv_vec *vec)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: GetFilterOperations
    functionSourceFile: /src/vlc/modules/video_chroma/grey_yuv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct vlc_filter_operations
    signature: 'struct vlc_filter_operations *

      GetFilterOperations( filter_t *filter )'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetFilterOperations
      Src: /src/vlc/modules/video_chroma/grey_yuv.c:98,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 103
    functionName: Activate
    functionSourceFile: /src/vlc/modules/video_chroma/grey_yuv.c
    functionUses: 5
    functionsReached:
    - GetFilterOperations
    linkageType: ''
    returnType: int
    signature: int Activate( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/video_chroma/grey_yuv.c:129,1
    - Dst: memset
      Src: /src/vlc/modules/video_chroma/grey_yuv.c:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - p_filter
    - p_source
    - p_dest
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 154
    functionName: GREY_I420
    functionSourceFile: /src/vlc/modules/video_chroma/grey_yuv.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void GREY_I420( filter_t *p_filter, picture_t *p_source,\n                                           picture_t
      *p_dest )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 3
    argNames:
    - p_filter
    - p_source
    - p_dest
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 195
    functionName: GREY_YUY2
    functionSourceFile: /src/vlc/modules/video_chroma/grey_yuv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GREY_YUY2( filter_t *p_filter, picture_t *p_source,\n                                           picture_t
      *p_dest )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/control/ntservice.c:112,1
    - Dst: unlikely
      Src: /src/vlc/modules/control/ntservice.c:113,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/control/ntservice.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 122
    functionName: Activate
    functionSourceFile: /src/vlc/modules/control/ntservice.c
    functionUses: 5
    functionsReached:
    - unlikely
    - malloc
    - vlc_clone
    linkageType: ''
    returnType: int
    signature: int Activate( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_join
      Src: /src/vlc/modules/control/ntservice.c:132,1
    - Dst: free
      Src: /src/vlc/modules/control/ntservice.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: Close
    functionSourceFile: /src/vlc/modules/control/ntservice.c
    functionUses: 108
    functionsReached:
    - free
    - vlc_join
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/control/ntservice.c:148,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/control/ntservice.c:151,1
    - Dst: strdup
      Src: /src/vlc/modules/control/ntservice.c:153,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/control/ntservice.c:155,1
    - Dst: NTServiceInstall
      Src: /src/vlc/modules/control/ntservice.c:157,1
    - Dst: free
      Src: /src/vlc/modules/control/ntservice.c:158,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/control/ntservice.c:162,1
    - Dst: NTServiceUninstall
      Src: /src/vlc/modules/control/ntservice.c:164,1
    - Dst: free
      Src: /src/vlc/modules/control/ntservice.c:165,1
    - Dst: StartServiceCtrlDispatcherA
      Src: /src/vlc/modules/control/ntservice.c:169,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/ntservice.c:171,1
    - Dst: free
      Src: /src/vlc/modules/control/ntservice.c:174,1
    - Dst: libvlc_Quit
      Src: /src/vlc/modules/control/ntservice.c:177,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/control/ntservice.c:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 179
    functionName: Run
    functionSourceFile: /src/vlc/modules/control/ntservice.c
    functionUses: 7
    functionsReached:
    - strdup
    - var_InheritString
    - vlc_thread_set_name
    - NTServiceUninstall
    - var_InheritBool
    - vlc_object_instance
    - StartServiceCtrlDispatcherA
    - msg_Err
    - NTServiceInstall
    - free
    - libvlc_Quit
    linkageType: ''
    returnType: void
    signature: void *Run( void *data )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OpenSCManager
      Src: /src/vlc/modules/control/ntservice.c:191,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/ntservice.c:194,1
    - Dst: vlc_memstream_open
      Src: /src/vlc/modules/control/ntservice.c:199,1
    - Dst: CloseServiceHandle
      Src: /src/vlc/modules/control/ntservice.c:201,1
    - Dst: GetModuleFileNameA
      Src: /src/vlc/modules/control/ntservice.c:207,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/control/ntservice.c:207,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/control/ntservice.c:208,1
    - Dst: CloseServiceHandle
      Src: /src/vlc/modules/control/ntservice.c:210,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/control/ntservice.c:213,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/control/ntservice.c:215,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/control/ntservice.c:217,1
    - Dst: free
      Src: /src/vlc/modules/control/ntservice.c:218,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/control/ntservice.c:220,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/control/ntservice.c:222,1
    - Dst: free
      Src: /src/vlc/modules/control/ntservice.c:223,1
    - Dst: vlc_memstream_close
      Src: /src/vlc/modules/control/ntservice.c:225,1
    - Dst: CloseServiceHandle
      Src: /src/vlc/modules/control/ntservice.c:227,1
    - Dst: CreateServiceA
      Src: /src/vlc/modules/control/ntservice.c:232,1
    - Dst: GetLastError
      Src: /src/vlc/modules/control/ntservice.c:239,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/ntservice.c:241,1
    - Dst: free
      Src: /src/vlc/modules/control/ntservice.c:243,1
    - Dst: CloseServiceHandle
      Src: /src/vlc/modules/control/ntservice.c:244,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/control/ntservice.c:249,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/control/ntservice.c:255,1
    - Dst: free
      Src: /src/vlc/modules/control/ntservice.c:258,1
    - Dst: CloseServiceHandle
      Src: /src/vlc/modules/control/ntservice.c:260,1
    - Dst: CloseServiceHandle
      Src: /src/vlc/modules/control/ntservice.c:261,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 1
    argNames:
    - p_intf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 264
    functionName: NTServiceInstall
    functionSourceFile: /src/vlc/modules/control/ntservice.c
    functionUses: 1
    functionsReached:
    - var_InheritString
    - OpenSCManager
    - ARRAY_SIZE
    - CreateServiceA
    - vlc_memstream_open
    - vlc_memstream_printf
    - GetModuleFileNameA
    - msg_Err
    - free
    - GetLastError
    - CloseServiceHandle
    - msg_Warn
    - vlc_memstream_close
    linkageType: ''
    returnType: int
    signature: int NTServiceInstall( intf_thread_t *p_intf )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OpenSCManager
      Src: /src/vlc/modules/control/ntservice.c:270,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/ntservice.c:273,1
    - Dst: OpenServiceA
      Src: /src/vlc/modules/control/ntservice.c:279,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/ntservice.c:282,1
    - Dst: CloseServiceHandle
      Src: /src/vlc/modules/control/ntservice.c:283,1
    - Dst: DeleteService
      Src: /src/vlc/modules/control/ntservice.c:288,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/ntservice.c:290,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/ntservice.c:295,1
    - Dst: CloseServiceHandle
      Src: /src/vlc/modules/control/ntservice.c:298,1
    - Dst: CloseServiceHandle
      Src: /src/vlc/modules/control/ntservice.c:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - p_intf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 302
    functionName: NTServiceUninstall
    functionSourceFile: /src/vlc/modules/control/ntservice.c
    functionUses: 1
    functionsReached:
    - DeleteService
    - OpenSCManager
    - msg_Err
    - CloseServiceHandle
    - msg_Dbg
    - OpenServiceA
    linkageType: ''
    returnType: int
    signature: int NTServiceUninstall( intf_thread_t *p_intf )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/control/ntservice.c:313,1
    - Dst: RegisterServiceCtrlHandlerA
      Src: /src/vlc/modules/control/ntservice.c:319,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/ntservice.c:322,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/control/ntservice.c:329,1
    - Dst: strchr
      Src: /src/vlc/modules/control/ntservice.c:335,1
    - Dst: asprintf
      Src: /src/vlc/modules/control/ntservice.c:342,1
    - Dst: intf_Create
      Src: /src/vlc/modules/control/ntservice.c:345,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/control/ntservice.c:345,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/ntservice.c:347,1
    - Dst: free
      Src: /src/vlc/modules/control/ntservice.c:349,1
    - Dst: free
      Src: /src/vlc/modules/control/ntservice.c:352,1
    - Dst: free
      Src: /src/vlc/modules/control/ntservice.c:355,1
    - Dst: SetServiceStatus
      Src: /src/vlc/modules/control/ntservice.c:362,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - numArgs
    - args
    argTypes:
    - DWORD
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 304
    functionDepth: 2
    functionLinenumber: 304
    functionLinenumberEnd: 363
    functionName: ServiceDispatch
    functionSourceFile: /src/vlc/modules/control/ntservice.c
    functionUses: 0
    functionsReached:
    - asprintf
    - strchr
    - var_InheritString
    - memset
    - intf_Create
    - vlc_object_instance
    - RegisterServiceCtrlHandlerA
    - msg_Err
    - free
    - SetServiceStatus
    linkageType: ''
    returnType: void
    signature: void ServiceDispatch( DWORD numArgs, char **args )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SetServiceStatus
      Src: /src/vlc/modules/control/ntservice.c:384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - control
    argTypes:
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 385
    functionName: ServiceCtrlHandler
    functionSourceFile: /src/vlc/modules/control/ntservice.c
    functionUses: 0
    functionsReached:
    - SetServiceStatus
    linkageType: ''
    returnType: void
    signature: void ServiceCtrlHandler( DWORD control )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/vlc/modules/control/intromsg.h:23,1
    - Dst: AllocConsole
      Src: /src/vlc/modules/control/intromsg.h:25,1
    - Dst: freopen
      Src: /src/vlc/modules/control/intromsg.h:26,1
    - Dst: freopen
      Src: /src/vlc/modules/control/intromsg.h:27,1
    - Dst: freopen
      Src: /src/vlc/modules/control/intromsg.h:28,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/intromsg.h:31,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/intromsg.h:32,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/intromsg.h:33,1
    - Dst: _
      Src: /src/vlc/modules/control/intromsg.h:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - p_intf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 37
    functionName: intf_consoleIntroMsg
    functionSourceFile: /src/vlc/modules/control/intromsg.h
    functionUses: 0
    functionsReached:
    - _
    - AllocConsole
    - getenv
    - freopen
    - msg_rc
    linkageType: ''
    returnType: void
    signature: void intf_consoleIntroMsg(intf_thread_t *p_intf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/control/lirc.c:96,1
    - Dst: lirc_init
      Src: /src/vlc/modules/control/lirc.c:100,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/lirc.c:103,1
    - Dst: fcntl
      Src: /src/vlc/modules/control/lirc.c:108,1
    - Dst: fcntl
      Src: /src/vlc/modules/control/lirc.c:108,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/control/lirc.c:111,1
    - Dst: lirc_readconfig
      Src: /src/vlc/modules/control/lirc.c:112,1
    - Dst: free
      Src: /src/vlc/modules/control/lirc.c:113,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/lirc.c:116,1
    - Dst: lirc_deinit
      Src: /src/vlc/modules/control/lirc.c:117,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/control/lirc.c:121,1
    - Dst: lirc_freeconfig
      Src: /src/vlc/modules/control/lirc.c:123,1
    - Dst: lirc_deinit
      Src: /src/vlc/modules/control/lirc.c:124,1
    - Dst: free
      Src: /src/vlc/modules/control/lirc.c:131,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 133
    functionName: Open
    functionSourceFile: /src/vlc/modules/control/lirc.c
    functionUses: 33
    functionsReached:
    - var_InheritString
    - lirc_deinit
    - vlc_clone
    - lirc_readconfig
    - fcntl
    - msg_Err
    - free
    - lirc_freeconfig
    - lirc_init
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_cancel
      Src: /src/vlc/modules/control/lirc.c:143,1
    - Dst: vlc_join
      Src: /src/vlc/modules/control/lirc.c:144,1
    - Dst: lirc_freeconfig
      Src: /src/vlc/modules/control/lirc.c:147,1
    - Dst: lirc_deinit
      Src: /src/vlc/modules/control/lirc.c:148,1
    - Dst: free
      Src: /src/vlc/modules/control/lirc.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 150
    functionName: Close
    functionSourceFile: /src/vlc/modules/control/lirc.c
    functionUses: 108
    functionsReached:
    - lirc_deinit
    - vlc_cancel
    - free
    - vlc_join
    - lirc_freeconfig
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/control/lirc.c:160,1
    - Dst: poll
      Src: /src/vlc/modules/control/lirc.c:169,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/control/lirc.c:177,1
    - Dst: Process
      Src: /src/vlc/modules/control/lirc.c:178,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/control/lirc.c:179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 182
    functionName: Run
    functionSourceFile: /src/vlc/modules/control/lirc.c
    functionUses: 7
    functionsReached:
    - vlc_restorecancel
    - Process
    - vlc_thread_set_name
    - poll
    - vlc_savecancel
    linkageType: ''
    returnType: void
    signature: void *Run( void *data )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lirc_nextcode
      Src: /src/vlc/modules/control/lirc.c:189,1
    - Dst: lirc_code2char
      Src: /src/vlc/modules/control/lirc.c:195,1
    - Dst: strncmp
      Src: /src/vlc/modules/control/lirc.c:198,1
    - Dst: vlc_actions_get_id
      Src: /src/vlc/modules/control/lirc.c:200,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/control/lirc.c:202,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/control/lirc.c:202,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/lirc.c:204,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/lirc.c:208,1
    - Dst: free
      Src: /src/vlc/modules/control/lirc.c:214,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - p_intf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 216
    functionName: Process
    functionSourceFile: /src/vlc/modules/control/lirc.c
    functionUses: 5
    functionsReached:
    - lirc_nextcode
    - vlc_object_instance
    - vlc_actions_get_id
    - msg_Err
    - strncmp
    - var_SetInteger
    - free
    - lirc_code2char
    linkageType: ''
    returnType: void
    signature: void Process( intf_thread_t *p_intf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: INTF_ACTION_HANDLER
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INTF_ACTION_HANDLER(name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_Quit
      Src: /src/vlc/modules/control/hotkeys.c:83,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/control/hotkeys.c:83,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/control/hotkeys.c:96,1
    - Dst: var_TriggerCallback
      Src: /src/vlc/modules/control/hotkeys.c:98,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/control/hotkeys.c:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 99
    functionName: INTF_ACTION_HANDLER
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - vlc_object_instance
    - libvlc_Quit
    - vlc_assert_unreachable
    - var_TriggerCallback
    linkageType: ''
    returnType: void
    signature: void INTF_ACTION_HANDLER()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/control/hotkeys.c:103,1
    - Dst: vlc_player_vout_Hold
      Src: /src/vlc/modules/control/hotkeys.c:104,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/control/hotkeys.c:105,1
    - Dst: vout_Release
      Src: /src/vlc/modules/control/hotkeys.c:106,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/control/hotkeys.c:120,1
    - Dst: handle_action
      Src: /src/vlc/modules/control/hotkeys.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 123
    functionName: INTF_ACTION_HANDLER
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - vlc_player_vout_Hold
    - vlc_assert_unreachable
    - handle_action
    - vlc_playlist_GetPlayer
    - vout_Release
    - var_GetBool
    linkageType: ''
    returnType: void
    signature: void INTF_ACTION_HANDLER(ActionCombo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: PLAYLIST_ACTION_HANDLER
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLAYLIST_ACTION_HANDLER(name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/hotkeys.c:136,1
    - Dst: vlc_playlist_Clear
      Src: /src/vlc/modules/control/hotkeys.c:140,1
    - Dst: vlc_playlist_Prev
      Src: /src/vlc/modules/control/hotkeys.c:143,1
    - Dst: vlc_playlist_Next
      Src: /src/vlc/modules/control/hotkeys.c:146,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/control/hotkeys.c:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 151
    functionName: PLAYLIST_ACTION_HANDLER
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    - vlc_playlist_Clear
    - vlc_playlist_Prev
    - vlc_playlist_Next
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void PLAYLIST_ACTION_HANDLER(Interact)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/hotkeys.c:155,1
    - Dst: vlc_playlist_GetPlaybackRepeat
      Src: /src/vlc/modules/control/hotkeys.c:161,1
    - Dst: vlc_playlist_SetPlaybackRepeat
      Src: /src/vlc/modules/control/hotkeys.c:174,1
    - Dst: vlc_playlist_GetPlaybackOrder
      Src: /src/vlc/modules/control/hotkeys.c:180,1
    - Dst: vlc_playlist_SetPlaybackOrder
      Src: /src/vlc/modules/control/hotkeys.c:185,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/control/hotkeys.c:189,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 191
    functionName: PLAYLIST_ACTION_HANDLER
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - vlc_playlist_GetPlaybackOrder
    - vlc_assert_unreachable
    - vlc_playlist_GetPlaybackRepeat
    - vlc_playlist_SetPlaybackRepeat
    - vlc_playlist_SetPlaybackOrder
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void PLAYLIST_ACTION_HANDLER(Playback)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: var_Create
      Src: /src/vlc/modules/control/hotkeys.c:197,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/control/hotkeys.c:198,1
    - Dst: vlc_player_GetCurrentMedia
      Src: /src/vlc/modules/control/hotkeys.c:199,1
    - Dst: input_item_GetURI
      Src: /src/vlc/modules/control/hotkeys.c:202,1
    - Dst: config_PutPsz
      Src: /src/vlc/modules/control/hotkeys.c:203,1
    - Dst: msg_Info
      Src: /src/vlc/modules/control/hotkeys.c:204,1
    - Dst: free
      Src: /src/vlc/modules/control/hotkeys.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - intf
    - playlist
    - name
    - id
    argTypes:
    - intf_thread_t*
    - vlc_playlist_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 207
    functionName: playlist_bookmark_Set
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - var_Create
    - free
    - msg_Info
    - vlc_playlist_GetPlayer
    - config_PutPsz
    - input_item_GetURI
    - vlc_player_GetCurrentMedia
    linkageType: ''
    returnType: void
    signature: "void playlist_bookmark_Set(intf_thread_t *intf,\n                      vlc_playlist_t
      *playlist, char *name, int id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: var_CreateGetString
      Src: /src/vlc/modules/control/hotkeys.c:213,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/control/hotkeys.c:214,1
    - Dst: vlc_playlist_Get
      Src: /src/vlc/modules/control/hotkeys.c:218,1
    - Dst: vlc_playlist_item_GetMedia
      Src: /src/vlc/modules/control/hotkeys.c:219,1
    - Dst: input_item_GetURI
      Src: /src/vlc/modules/control/hotkeys.c:220,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/hotkeys.c:221,1
    - Dst: free
      Src: /src/vlc/modules/control/hotkeys.c:223,1
    - Dst: vlc_playlist_PlayAt
      Src: /src/vlc/modules/control/hotkeys.c:226,1
    - Dst: free
      Src: /src/vlc/modules/control/hotkeys.c:227,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - intf
    - playlist
    - name
    argTypes:
    - intf_thread_t*
    - vlc_playlist_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 228
    functionName: playlist_bookmark_Play
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - var_CreateGetString
    - vlc_playlist_item_GetMedia
    - vlc_playlist_Count
    - vlc_playlist_PlayAt
    - vlc_playlist_Get
    - strcmp
    - free
    - input_item_GetURI
    linkageType: ''
    returnType: void
    signature: "void playlist_bookmark_Play(intf_thread_t *intf,\n                       vlc_playlist_t
      *playlist, char *name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/vlc/modules/control/hotkeys.c:237,1
    - Dst: playlist_bookmark_Set
      Src: /src/vlc/modules/control/hotkeys.c:241,1
    - Dst: playlist_bookmark_Play
      Src: /src/vlc/modules/control/hotkeys.c:243,1
    - Dst: free
      Src: /src/vlc/modules/control/hotkeys.c:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 245
    functionName: INTF_ACTION_HANDLER
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - free
    - playlist_bookmark_Play
    - asprintf
    - playlist_bookmark_Set
    linkageType: ''
    returnType: void
    signature: void INTF_ACTION_HANDLER(PlaylistBookmark)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: PLAYER_ACTION_HANDLER
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLAYER_ACTION_HANDLER(name)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/hotkeys.c:258,1
    - Dst: vlc_player_GetState
      Src: /src/vlc/modules/control/hotkeys.c:263,1
    - Dst: vlc_player_Resume
      Src: /src/vlc/modules/control/hotkeys.c:265,1
    - Dst: vlc_player_Pause
      Src: /src/vlc/modules/control/hotkeys.c:267,1
    - Dst: vlc_player_Start
      Src: /src/vlc/modules/control/hotkeys.c:271,1
    - Dst: vlc_player_Pause
      Src: /src/vlc/modules/control/hotkeys.c:274,1
    - Dst: vlc_player_Stop
      Src: /src/vlc/modules/control/hotkeys.c:277,1
    - Dst: vlc_player_NextVideoFrame
      Src: /src/vlc/modules/control/hotkeys.c:280,1
    - Dst: vlc_player_PreviousVideoFrame
      Src: /src/vlc/modules/control/hotkeys.c:283,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/control/hotkeys.c:286,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 288
    functionName: PLAYER_ACTION_HANDLER
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - vlc_player_PreviousVideoFrame
    - vlc_assert_unreachable
    - vlc_player_NextVideoFrame
    - VLC_UNUSED
    - vlc_player_Start
    - vlc_player_Stop
    - vlc_player_Pause
    - vlc_player_Resume
    - vlc_player_GetState
    linkageType: ''
    returnType: void
    signature: void PLAYER_ACTION_HANDLER(State)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/control/hotkeys.c:292,1
    - Dst: vlc_player_CanSeek
      Src: /src/vlc/modules/control/hotkeys.c:293,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/control/hotkeys.c:324,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/control/hotkeys.c:326,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/control/hotkeys.c:326,1
    - Dst: vlc_player_JumpTime
      Src: /src/vlc/modules/control/hotkeys.c:328,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/control/hotkeys.c:328,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 329
    functionName: INTF_ACTION_HANDLER
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    - vlc_player_CanSeek
    - var_InheritInteger
    - vlc_tick_from_sec
    - vlc_object_instance
    - vlc_playlist_GetPlayer
    - vlc_player_JumpTime
    linkageType: ''
    returnType: void
    signature: void INTF_ACTION_HANDLER(PlayerSeek)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/hotkeys.c:333,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/hotkeys.c:333,1
    - Dst: vlc_player_vout_Hold
      Src: /src/vlc/modules/control/hotkeys.c:334,1
    - Dst: vlc_player_GetCurrentMedia
      Src: /src/vlc/modules/control/hotkeys.c:335,1
    - Dst: vout_OSDEpg
      Src: /src/vlc/modules/control/hotkeys.c:336,1
    - Dst: vlc_player_DisplayPosition
      Src: /src/vlc/modules/control/hotkeys.c:337,1
    - Dst: vout_Release
      Src: /src/vlc/modules/control/hotkeys.c:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 339
    functionName: PLAYER_ACTION_HANDLER
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - vlc_player_vout_Hold
    - vlc_player_DisplayPosition
    - VLC_UNUSED
    - vout_OSDEpg
    - vout_Release
    - vlc_player_GetCurrentMedia
    linkageType: ''
    returnType: void
    signature: void PLAYER_ACTION_HANDLER(Position)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/hotkeys.c:343,1
    - Dst: vlc_player_SelectPrevProgram
      Src: /src/vlc/modules/control/hotkeys.c:347,1
    - Dst: vlc_player_SelectNextProgram
      Src: /src/vlc/modules/control/hotkeys.c:350,1
    - Dst: vlc_player_SelectPrevTitle
      Src: /src/vlc/modules/control/hotkeys.c:353,1
    - Dst: vlc_player_SelectNextTitle
      Src: /src/vlc/modules/control/hotkeys.c:356,1
    - Dst: vlc_player_SelectPrevChapter
      Src: /src/vlc/modules/control/hotkeys.c:359,1
    - Dst: vlc_player_SelectNextChapter
      Src: /src/vlc/modules/control/hotkeys.c:362,1
    - Dst: vlc_player_Navigate
      Src: /src/vlc/modules/control/hotkeys.c:365,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/control/hotkeys.c:368,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 370
    functionName: PLAYER_ACTION_HANDLER
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - vlc_player_SelectPrevChapter
    - vlc_assert_unreachable
    - vlc_player_SelectNextTitle
    - vlc_player_SelectNextChapter
    - vlc_player_SelectPrevProgram
    - vlc_player_Navigate
    - vlc_player_SelectNextProgram
    - vlc_player_SelectPrevTitle
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void PLAYER_ACTION_HANDLER(NavigateMedia)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_SelectNextTrack
      Src: /src/vlc/modules/control/hotkeys.c:377,1
    - Dst: vlc_player_CycleTrack
      Src: /src/vlc/modules/control/hotkeys.c:381,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/control/hotkeys.c:385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 387
    functionName: PLAYER_ACTION_HANDLER
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - vlc_player_SelectNextTrack
    - vlc_player_CycleTrack
    - vlc_assert_unreachable
    linkageType: ''
    returnType: void
    signature: void PLAYER_ACTION_HANDLER(Track)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/control/hotkeys.c:409,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/control/hotkeys.c:412,1
    - Dst: vlc_player_SetAudioDelay
      Src: /src/vlc/modules/control/hotkeys.c:414,1
    - Dst: vlc_player_SetSubtitleDelay
      Src: /src/vlc/modules/control/hotkeys.c:418,1
    - Dst: vlc_player_GetTrackCount
      Src: /src/vlc/modules/control/hotkeys.c:421,1
    - Dst: vlc_player_GetTrackAt
      Src: /src/vlc/modules/control/hotkeys.c:425,1
    - Dst: vlc_player_GetEsIdVout
      Src: /src/vlc/modules/control/hotkeys.c:428,1
    - Dst: vlc_player_SetEsIdDelay
      Src: /src/vlc/modules/control/hotkeys.c:431,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 437
    functionName: PLAYER_ACTION_HANDLER
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - vlc_player_SetSubtitleDelay
    - vlc_assert_unreachable
    - vlc_player_GetTrackAt
    - vlc_player_SetEsIdDelay
    - VLC_TICK_FROM_MS
    - vlc_player_GetTrackCount
    - vlc_player_SetAudioDelay
    - vlc_player_GetEsIdVout
    linkageType: ''
    returnType: void
    signature: void PLAYER_ACTION_HANDLER(Delay)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/vlc/modules/control/hotkeys.c:445,1
    - Dst: fabs
      Src: /src/vlc/modules/control/hotkeys.c:445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - rate
    - dir
    argTypes:
    - float
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 451
    functionName: AdjustRateFine
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - floor
    - fabs
    linkageType: ''
    returnType: float
    signature: float AdjustRateFine(float rate, int const dir)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/hotkeys.c:455,1
    - Dst: vlc_player_DecrementRate
      Src: /src/vlc/modules/control/hotkeys.c:459,1
    - Dst: vlc_player_IncrementRate
      Src: /src/vlc/modules/control/hotkeys.c:462,1
    - Dst: vlc_player_GetRate
      Src: /src/vlc/modules/control/hotkeys.c:477,1
    - Dst: AdjustRateFine
      Src: /src/vlc/modules/control/hotkeys.c:478,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/control/hotkeys.c:482,1
    - Dst: vlc_player_ChangeRate
      Src: /src/vlc/modules/control/hotkeys.c:484,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 488
    functionName: PLAYER_ACTION_HANDLER
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    - vlc_player_GetRate
    - vlc_player_DecrementRate
    - AdjustRateFine
    - vlc_player_ChangeRate
    - vlc_player_IncrementRate
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void PLAYER_ACTION_HANDLER(Rate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/hotkeys.c:492,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/hotkeys.c:492,1
    - Dst: vlc_player_ToggleSubtitle
      Src: /src/vlc/modules/control/hotkeys.c:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 494
    functionName: PLAYER_ACTION_HANDLER
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - vlc_player_ToggleSubtitle
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void PLAYER_ACTION_HANDLER(ToggleSubtitle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/hotkeys.c:498,1
    - Dst: vlc_player_osd_Message
      Src: /src/vlc/modules/control/hotkeys.c:505,1
    - Dst: _
      Src: /src/vlc/modules/control/hotkeys.c:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 507
    functionName: PLAYER_ACTION_HANDLER
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - vlc_player_osd_Message
    - _
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void PLAYER_ACTION_HANDLER(ControlSubtitleSecondary)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/control/hotkeys.c:516,1
    - Dst: vlc_player_osd_Message
      Src: /src/vlc/modules/control/hotkeys.c:517,1
    - Dst: _
      Src: /src/vlc/modules/control/hotkeys.c:517,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/control/hotkeys.c:520,1
    - Dst: vlc_player_osd_Message
      Src: /src/vlc/modules/control/hotkeys.c:521,1
    - Dst: _
      Src: /src/vlc/modules/control/hotkeys.c:521,1
    - Dst: vlc_player_osd_Message
      Src: /src/vlc/modules/control/hotkeys.c:528,1
    - Dst: _
      Src: /src/vlc/modules/control/hotkeys.c:528,1
    - Dst: vlc_player_GetSubtitleDelay
      Src: /src/vlc/modules/control/hotkeys.c:536,1
    - Dst: vlc_player_SetSubtitleDelay
      Src: /src/vlc/modules/control/hotkeys.c:537,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/control/hotkeys.c:539,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/control/hotkeys.c:540,1
    - Dst: vlc_player_osd_Message
      Src: /src/vlc/modules/control/hotkeys.c:541,1
    - Dst: _
      Src: /src/vlc/modules/control/hotkeys.c:541,1
    - Dst: vlc_player_SetSubtitleDelay
      Src: /src/vlc/modules/control/hotkeys.c:549,1
    - Dst: vlc_player_osd_Message
      Src: /src/vlc/modules/control/hotkeys.c:550,1
    - Dst: _
      Src: /src/vlc/modules/control/hotkeys.c:550,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/control/hotkeys.c:553,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 555
    functionName: PLAYER_ACTION_HANDLER
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - MS_FROM_VLC_TICK
    - vlc_tick_now
    - vlc_player_SetSubtitleDelay
    - vlc_assert_unreachable
    - _
    - vlc_player_GetSubtitleDelay
    - vlc_player_osd_Message
    linkageType: ''
    returnType: void
    signature: void PLAYER_ACTION_HANDLER(SyncSubtitle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/hotkeys.c:559,1
    - Dst: PLAYER_NAV_FROM_ACTION
      Src: /src/vlc/modules/control/hotkeys.c:567,1
    - Dst: PLAYER_NAV_FROM_ACTION
      Src: /src/vlc/modules/control/hotkeys.c:568,1
    - Dst: PLAYER_NAV_FROM_ACTION
      Src: /src/vlc/modules/control/hotkeys.c:569,1
    - Dst: PLAYER_NAV_FROM_ACTION
      Src: /src/vlc/modules/control/hotkeys.c:570,1
    - Dst: PLAYER_NAV_FROM_ACTION
      Src: /src/vlc/modules/control/hotkeys.c:571,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/control/hotkeys.c:574,1
    - Dst: vlc_player_Navigate
      Src: /src/vlc/modules/control/hotkeys.c:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 577
    functionName: PLAYER_ACTION_HANDLER
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - PLAYER_NAV_FROM_ACTION
    - vlc_assert_unreachable
    - vlc_player_Navigate
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void PLAYER_ACTION_HANDLER(Navigate)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - navval
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 567
    functionName: PLAYER_NAV_FROM_ACTION
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLAYER_NAV_FROM_ACTION(navval)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/hotkeys.c:581,1
    - Dst: vlc_viewpoint_from_euler
      Src: /src/vlc/modules/control/hotkeys.c:592,1
    - Dst: vlc_viewpoint_from_euler
      Src: /src/vlc/modules/control/hotkeys.c:596,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/control/hotkeys.c:600,1
    - Dst: vlc_player_UpdateViewpoint
      Src: /src/vlc/modules/control/hotkeys.c:602,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 604
    functionName: PLAYER_ACTION_HANDLER
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - vlc_player_UpdateViewpoint
    - vlc_assert_unreachable
    - vlc_viewpoint_from_euler
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void PLAYER_ACTION_HANDLER(Viewpoint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/hotkeys.c:608,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/hotkeys.c:609,1
    - Dst: vlc_player_ToggleRecording
      Src: /src/vlc/modules/control/hotkeys.c:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 611
    functionName: PLAYER_ACTION_HANDLER
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - vlc_player_ToggleRecording
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void PLAYER_ACTION_HANDLER(Record)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: aout_DeviceGet
      Src: /src/vlc/modules/control/hotkeys.c:618,1
    - Dst: aout_DevicesList
      Src: /src/vlc/modules/control/hotkeys.c:622,1
    - Dst: free
      Src: /src/vlc/modules/control/hotkeys.c:625,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/hotkeys.c:631,1
    - Dst: aout_DeviceSet
      Src: /src/vlc/modules/control/hotkeys.c:636,1
    - Dst: strdup
      Src: /src/vlc/modules/control/hotkeys.c:638,1
    - Dst: free
      Src: /src/vlc/modules/control/hotkeys.c:640,1
    - Dst: free
      Src: /src/vlc/modules/control/hotkeys.c:643,1
    - Dst: free
      Src: /src/vlc/modules/control/hotkeys.c:644,1
    - Dst: free
      Src: /src/vlc/modules/control/hotkeys.c:646,1
    - Dst: free
      Src: /src/vlc/modules/control/hotkeys.c:647,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - aout
    - p_name
    argTypes:
    - audio_output_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 650
    functionName: AudioDeviceCycle
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - strdup
    - aout_DevicesList
    - aout_DeviceGet
    - free
    - strcmp
    - aout_DeviceSet
    linkageType: ''
    returnType: int
    signature: int AudioDeviceCycle(audio_output_t *aout, char **p_name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/hotkeys.c:654,1
    - Dst: vlc_player_aout_DecrementVolume
      Src: /src/vlc/modules/control/hotkeys.c:658,1
    - Dst: vlc_player_aout_IncrementVolume
      Src: /src/vlc/modules/control/hotkeys.c:661,1
    - Dst: vlc_player_aout_ToggleMute
      Src: /src/vlc/modules/control/hotkeys.c:664,1
    - Dst: vlc_player_aout_Hold
      Src: /src/vlc/modules/control/hotkeys.c:668,1
    - Dst: AudioDeviceCycle
      Src: /src/vlc/modules/control/hotkeys.c:672,1
    - Dst: vlc_player_osd_Message
      Src: /src/vlc/modules/control/hotkeys.c:674,1
    - Dst: _
      Src: /src/vlc/modules/control/hotkeys.c:674,1
    - Dst: free
      Src: /src/vlc/modules/control/hotkeys.c:675,1
    - Dst: aout_Release
      Src: /src/vlc/modules/control/hotkeys.c:677,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/control/hotkeys.c:681,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 652
    functionDepth: 2
    functionLinenumber: 652
    functionLinenumberEnd: 683
    functionName: PLAYER_ACTION_HANDLER
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - aout_Release
    - vlc_assert_unreachable
    - vlc_player_aout_IncrementVolume
    - AudioDeviceCycle
    - _
    - vlc_player_osd_Message
    - free
    - vlc_player_aout_ToggleMute
    - vlc_player_aout_Hold
    - vlc_player_aout_DecrementVolume
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void PLAYER_ACTION_HANDLER(Aout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_TriggerCallback
      Src: /src/vlc/modules/control/hotkeys.c:695,1
    - Dst: vout_Release
      Src: /src/vlc/modules/control/hotkeys.c:697,1
    - Dst: free
      Src: /src/vlc/modules/control/hotkeys.c:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - userdata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 699
    functionName: RunSnapshot
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - free
    - vout_Release
    - var_TriggerCallback
    linkageType: ''
    returnType: void
    signature: void RunSnapshot(void *userdata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_executor_New
      Src: /src/vlc/modules/control/hotkeys.c:706,1
    - Dst: malloc
      Src: /src/vlc/modules/control/hotkeys.c:711,1
    - Dst: vlc_player_vout_Hold
      Src: /src/vlc/modules/control/hotkeys.c:715,1
    - Dst: vlc_executor_Submit
      Src: /src/vlc/modules/control/hotkeys.c:718,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - sys
    - player
    argTypes:
    - struct intf_sys_t*
    - vlc_player_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 719
    functionName: TakeSnapshotAsync
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - vlc_executor_New
    - vlc_player_vout_Hold
    - vlc_executor_Submit
    - malloc
    linkageType: ''
    returnType: void
    signature: void TakeSnapshotAsync(struct intf_sys_t *sys, vlc_player_t *player)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/hotkeys.c:723,1
    - Dst: vlc_player_vout_ToggleFullscreen
      Src: /src/vlc/modules/control/hotkeys.c:727,1
    - Dst: vlc_player_vout_SetFullscreen
      Src: /src/vlc/modules/control/hotkeys.c:730,1
    - Dst: TakeSnapshotAsync
      Src: /src/vlc/modules/control/hotkeys.c:733,1
    - Dst: vlc_player_vout_ToggleWallpaperMode
      Src: /src/vlc/modules/control/hotkeys.c:736,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/control/hotkeys.c:739,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 721
    functionDepth: 2
    functionLinenumber: 721
    functionLinenumberEnd: 741
    functionName: PLAYER_ACTION_HANDLER
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - vlc_player_vout_ToggleWallpaperMode
    - vlc_assert_unreachable
    - vlc_player_vout_ToggleFullscreen
    - TakeSnapshotAsync
    - vlc_player_vout_SetFullscreen
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void PLAYER_ACTION_HANDLER(Vouts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 750
    functionName: VOUT_ACTION_HANDLER
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VOUT_ACTION_HANDLER(name)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: var_Get
      Src: /src/vlc/modules/control/hotkeys.c:757,1
    - Dst: var_Change
      Src: /src/vlc/modules/control/hotkeys.c:762,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/hotkeys.c:770,1
    - Dst: var_SetFloat
      Src: /src/vlc/modules/control/hotkeys.c:783,1
    - Dst: var_SetString
      Src: /src/vlc/modules/control/hotkeys.c:785,1
    - Dst: free
      Src: /src/vlc/modules/control/hotkeys.c:789,1
    - Dst: free
      Src: /src/vlc/modules/control/hotkeys.c:791,1
    - Dst: free
      Src: /src/vlc/modules/control/hotkeys.c:793,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 4
    argNames:
    - vout
    - varname
    - vartype
    - next
    argTypes:
    - vout_thread_t*
    - char*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 794
    functionName: vout_CycleVariable
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - var_SetFloat
    - free
    - strcmp
    - var_Change
    - var_SetString
    - var_Get
    linkageType: ''
    returnType: void
    signature: "void vout_CycleVariable(vout_thread_t *vout,\n                   char
      const *varname, int vartype, bool next)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - vout
    - ','
    - varname
    - ','
    - vartype
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 804
    functionName: vout_CycleVariable
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vout_CycleVariable(vout, varname, vartype, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/hotkeys.c:807,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/hotkeys.c:807,1
    - Dst: vout_CycleVariable
      Src: /src/vlc/modules/control/hotkeys.c:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 805
    functionDepth: 2
    functionLinenumber: 805
    functionLinenumberEnd: 809
    functionName: VOUT_ACTION_HANDLER
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - vout_CycleVariable
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void VOUT_ACTION_HANDLER(AspectRatio)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/hotkeys.c:813,1
    - Dst: vout_CycleVariable
      Src: /src/vlc/modules/control/hotkeys.c:816,1
    - Dst: CASE_CROP
      Src: /src/vlc/modules/control/hotkeys.c:829,1
    - Dst: CASE_CROP
      Src: /src/vlc/modules/control/hotkeys.c:830,1
    - Dst: CASE_CROP
      Src: /src/vlc/modules/control/hotkeys.c:831,1
    - Dst: CASE_CROP
      Src: /src/vlc/modules/control/hotkeys.c:832,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/control/hotkeys.c:835,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/control/hotkeys.c:837,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/control/hotkeys.c:838,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 811
    functionDepth: 2
    functionLinenumber: 811
    functionLinenumberEnd: 839
    functionName: VOUT_ACTION_HANDLER
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    - CASE_CROP
    - var_SetInteger
    - vout_CycleVariable
    - var_GetInteger
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void VOUT_ACTION_HANDLER(Crop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - crop
    - ','
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 829
    functionName: CASE_CROP
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CASE_CROP(crop, var)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/hotkeys.c:843,1
    - Dst: var_GetFloat
      Src: /src/vlc/modules/control/hotkeys.c:848,1
    - Dst: var_SetFloat
      Src: /src/vlc/modules/control/hotkeys.c:849,1
    - Dst: var_ToggleBool
      Src: /src/vlc/modules/control/hotkeys.c:851,1
    - Dst: var_GetFloat
      Src: /src/vlc/modules/control/hotkeys.c:856,1
    - Dst: var_SetFloat
      Src: /src/vlc/modules/control/hotkeys.c:860,1
    - Dst: vout_CycleVariable
      Src: /src/vlc/modules/control/hotkeys.c:865,1
    - Dst: var_SetFloat
      Src: /src/vlc/modules/control/hotkeys.c:871,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 841
    functionDepth: 2
    functionLinenumber: 841
    functionLinenumberEnd: 876
    functionName: VOUT_ACTION_HANDLER
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - var_ToggleBool
    - var_GetFloat
    - var_SetFloat
    - vout_CycleVariable
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void VOUT_ACTION_HANDLER(Zoom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/hotkeys.c:880,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/control/hotkeys.c:882,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/control/hotkeys.c:883,1
    - Dst: vout_CycleVariable
      Src: /src/vlc/modules/control/hotkeys.c:885,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 878
    functionDepth: 2
    functionLinenumber: 878
    functionLinenumberEnd: 886
    functionName: VOUT_ACTION_HANDLER
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - var_SetInteger
    - var_GetInteger
    - vout_CycleVariable
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void VOUT_ACTION_HANDLER(Deinterlace)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: var_DecInteger
      Src: /src/vlc/modules/control/hotkeys.c:896,1
    - Dst: var_IncInteger
      Src: /src/vlc/modules/control/hotkeys.c:899,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/control/hotkeys.c:904,1
    - Dst: vlc_player_GetSubtitleTextScale
      Src: /src/vlc/modules/control/hotkeys.c:910,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/control/hotkeys.c:917,1
    - Dst: vlc_player_SetSubtitleTextScale
      Src: /src/vlc/modules/control/hotkeys.c:919,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 923
    functionName: VOUT_ACTION_HANDLER
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - var_DecInteger
    - vlc_player_SetSubtitleTextScale
    - VLC_CLIP
    - var_IncInteger
    - vlc_playlist_GetPlayer
    - vlc_player_GetSubtitleTextScale
    linkageType: ''
    returnType: void
    signature: void VOUT_ACTION_HANDLER(SubtitleDisplay)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_ToggleBool
      Src: /src/vlc/modules/control/hotkeys.c:928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 925
    functionDepth: 1
    functionLinenumber: 925
    functionLinenumberEnd: 929
    functionName: VOUT_ACTION_HANDLER
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - var_ToggleBool
    linkageType: ''
    returnType: void
    signature: void VOUT_ACTION_HANDLER(Projection)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - first
    - ','
    - last
    - ','
    - name
    - ','
    - lock
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 972
    functionName: VLC_ACTION_INTF
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLC_ACTION_INTF(first, last, name, lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - first
    - ','
    - last
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 974
    functionName: VLC_ACTION_PLAYLIST
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLC_ACTION_PLAYLIST(first, last, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - first
    - ','
    - last
    - ','
    - name
    - ','
    - lock
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 976
    functionName: VLC_ACTION_PLAYER
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLC_ACTION_PLAYER(first, last, name, lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - first
    - ','
    - last
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 978
    functionName: VLC_ACTION_VOUT
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLC_ACTION_VOUT(first, last, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1012
    functionName: VLC_ACTION_VOUT
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VLC_ACTION_VOUT(PROJECTION_TOGGLE, PROJECTION_TOGGLE, Projection)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/control/hotkeys.c:1031,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/control/hotkeys.c:1038,1
    - Dst: struct vlc_action*::handler::pf_intf
      Src: /src/vlc/modules/control/hotkeys.c:1043,1
    - Dst: struct vlc_action*::handler::pf_playlist
      Src: /src/vlc/modules/control/hotkeys.c:1046,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/control/hotkeys.c:1051,1
    - Dst: struct vlc_action*::handler::pf_player
      Src: /src/vlc/modules/control/hotkeys.c:1053,1
    - Dst: vlc_player_vout_Hold
      Src: /src/vlc/modules/control/hotkeys.c:1056,1
    - Dst: struct vlc_action*::handler::pf_vout
      Src: /src/vlc/modules/control/hotkeys.c:1057,1
    - Dst: vout_Release
      Src: /src/vlc/modules/control/hotkeys.c:1058,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/control/hotkeys.c:1063,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/control/hotkeys.c:1067,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - intf
    - action_id
    argTypes:
    - intf_thread_t*
    - vlc_action_id_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1068
    functionName: handle_action
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 1
    functionsReached:
    - vlc_player_vout_Hold
    - vlc_assert_unreachable
    - vlc_playlist_Lock
    - vlc_playlist_Unlock
    - struct vlc_action*::handler::pf_vout
    - struct vlc_action*::handler::pf_playlist
    - vlc_playlist_GetPlayer
    - struct vlc_action*::handler::pf_intf
    - msg_Warn
    - vout_Release
    - struct vlc_action*::handler::pf_player
    linkageType: ''
    returnType: void
    signature: void handle_action(intf_thread_t *intf, vlc_action_id_t action_id)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/hotkeys.c:1078,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/control/hotkeys.c:1085,1
    - Dst: var_GetCoords
      Src: /src/vlc/modules/control/hotkeys.c:1090,1
    - Dst: var_SetBool
      Src: /src/vlc/modules/control/hotkeys.c:1098,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/control/hotkeys.c:1098,1
    - Dst: var_TriggerCallback
      Src: /src/vlc/modules/control/hotkeys.c:1100,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/control/hotkeys.c:1100,1
    - Dst: var_SetBool
      Src: /src/vlc/modules/control/hotkeys.c:1107,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/control/hotkeys.c:1107,1
    - Dst: KEY_MOUSEWHEEL_FROM_BUTTON
      Src: /src/vlc/modules/control/hotkeys.c:1111,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/control/hotkeys.c:1112,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/control/hotkeys.c:1112,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 5
    argNames:
    - obj
    - var
    - oldval
    - newval
    - data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1074
    functionDepth: 1
    functionLinenumber: 1074
    functionLinenumberEnd: 1116
    functionName: MouseButtonCallback
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - vlc_object_instance
    - var_SetInteger
    - KEY_MOUSEWHEEL_FROM_BUTTON
    - var_SetBool
    - var_TriggerCallback
    - var_GetBool
    - var_GetCoords
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int MouseButtonCallback(vlc_object_t *obj, char const *var,\n                    vlc_value_t
      oldval, vlc_value_t newval, void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/hotkeys.c:1122,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/hotkeys.c:1122,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/hotkeys.c:1122,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/control/hotkeys.c:1124,1
    - Dst: vlc_viewpoint_from_euler
      Src: /src/vlc/modules/control/hotkeys.c:1130,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/hotkeys.c:1134,1
    - Dst: vlc_player_UpdateViewpoint
      Src: /src/vlc/modules/control/hotkeys.c:1135,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/hotkeys.c:1137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - obj
    - var
    - ov
    - newval
    - data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1118
    functionDepth: 1
    functionLinenumber: 1118
    functionLinenumberEnd: 1142
    functionName: MouseMovedCallback
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - vlc_player_UpdateViewpoint
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlc_viewpoint_from_euler
    - vlc_playlist_GetPlayer
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int MouseMovedCallback(vlc_object_t *obj, char const *var,\n                   vlc_value_t
      ov, vlc_value_t newval, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/hotkeys.c:1148,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/hotkeys.c:1148,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/hotkeys.c:1148,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/hotkeys.c:1150,1
    - Dst: vlc_player_UpdateViewpoint
      Src: /src/vlc/modules/control/hotkeys.c:1151,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/hotkeys.c:1153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - obj
    - var
    - ov
    - newval
    - data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1144
    functionDepth: 1
    functionLinenumber: 1144
    functionLinenumberEnd: 1155
    functionName: ViewpointMovedCallback
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - vlc_player_UpdateViewpoint
    - vlc_player_Unlock
    - vlc_player_Lock
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int ViewpointMovedCallback(vlc_object_t *obj, char const *var,\n                       vlc_value_t
      ov, vlc_value_t newval, void *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/control/hotkeys.c:1163,1
    - Dst: vlc_array_append
      Src: /src/vlc/modules/control/hotkeys.c:1163,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/control/hotkeys.c:1166,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/control/hotkeys.c:1167,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/control/hotkeys.c:1169,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/control/hotkeys.c:1170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - player
    - vout
    - data
    argTypes:
    - vlc_player_t*
    - vout_thread_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1157
    functionDepth: 1
    functionLinenumber: 1157
    functionLinenumberEnd: 1172
    functionName: player_on_vout_started
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - vlc_array_append
    - var_AddCallback
    - unlikely
    - var_GetBool
    linkageType: ''
    returnType: void
    signature: void player_on_vout_started(vlc_player_t *player, vout_thread_t *vout,
      void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_array_index_of_item
      Src: /src/vlc/modules/control/hotkeys.c:1179,1
    - Dst: unlikely
      Src: /src/vlc/modules/control/hotkeys.c:1181,1
    - Dst: vlc_array_remove
      Src: /src/vlc/modules/control/hotkeys.c:1184,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/control/hotkeys.c:1186,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/control/hotkeys.c:1187,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/control/hotkeys.c:1190,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/control/hotkeys.c:1191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - player
    - vout
    - data
    argTypes:
    - vlc_player_t*
    - vout_thread_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1174
    functionDepth: 1
    functionLinenumber: 1174
    functionLinenumberEnd: 1192
    functionName: player_on_vout_stopped
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - var_DelCallback
    - var_GetBool
    - vlc_array_index_of_item
    - vlc_array_remove
    - unlikely
    linkageType: ''
    returnType: void
    signature: void player_on_vout_stopped(vlc_player_t *player, vout_thread_t *vout,
      void *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/hotkeys.c:1200,1
    - Dst: vlc_es_id_GetCat
      Src: /src/vlc/modules/control/hotkeys.c:1202,1
    - Dst: player_on_vout_started
      Src: /src/vlc/modules/control/hotkeys.c:1208,1
    - Dst: player_on_vout_stopped
      Src: /src/vlc/modules/control/hotkeys.c:1211,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/control/hotkeys.c:1214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 6
    argNames:
    - player
    - action
    - vout
    - order
    - es_id
    - data
    argTypes:
    - vlc_player_t*
    - enum vlc_player_vout_action
    - vout_thread_t*
    - enum vlc_vout_order
    - vlc_es_id_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1194
    functionDepth: 2
    functionLinenumber: 1194
    functionLinenumberEnd: 1216
    functionName: player_on_vout_changed
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - player_on_vout_stopped
    - vlc_assert_unreachable
    - player_on_vout_started
    - vlc_es_id_GetCat
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void player_on_vout_changed(vlc_player_t *player,\n                       enum
      vlc_player_vout_action action, vout_thread_t *vout,\n                       enum
      vlc_vout_order order, vlc_es_id_t *es_id,\n                       void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/hotkeys.c:1222,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/hotkeys.c:1222,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/hotkeys.c:1222,1
    - Dst: handle_action
      Src: /src/vlc/modules/control/hotkeys.c:1223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - obj
    - var
    - ov
    - newval
    - data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1218
    functionDepth: 2
    functionLinenumber: 1218
    functionLinenumberEnd: 1225
    functionName: ActionCallback
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - handle_action
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int ActionCallback(vlc_object_t *obj, char const *var,\n               vlc_value_t
      ov, vlc_value_t newval, void *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/control/hotkeys.c:1235,1
    - Dst: vlc_intf_GetMainPlaylist
      Src: /src/vlc/modules/control/hotkeys.c:1239,1
    - Dst: vlc_array_init
      Src: /src/vlc/modules/control/hotkeys.c:1240,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/control/hotkeys.c:1247,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/hotkeys.c:1248,1
    - Dst: vlc_player_AddListener
      Src: /src/vlc/modules/control/hotkeys.c:1249,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/hotkeys.c:1250,1
    - Dst: free
      Src: /src/vlc/modules/control/hotkeys.c:1253,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/control/hotkeys.c:1256,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/control/hotkeys.c:1256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1231
    functionDepth: 1
    functionLinenumber: 1231
    functionLinenumberEnd: 1262
    functionName: Open
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 33
    functionsReached:
    - vlc_intf_GetMainPlaylist
    - var_AddCallback
    - vlc_player_Unlock
    - vlc_object_instance
    - vlc_player_Lock
    - vlc_array_init
    - free
    - vlc_playlist_GetPlayer
    - vlc_player_AddListener
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *this)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/control/hotkeys.c:1269,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/hotkeys.c:1270,1
    - Dst: vlc_player_RemoveListener
      Src: /src/vlc/modules/control/hotkeys.c:1271,1
    - Dst: player_on_vout_stopped
      Src: /src/vlc/modules/control/hotkeys.c:1274,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/control/hotkeys.c:1274,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/hotkeys.c:1276,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/control/hotkeys.c:1278,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/control/hotkeys.c:1278,1
    - Dst: vlc_executor_WaitIdle
      Src: /src/vlc/modules/control/hotkeys.c:1282,1
    - Dst: vlc_executor_Delete
      Src: /src/vlc/modules/control/hotkeys.c:1283,1
    - Dst: free
      Src: /src/vlc/modules/control/hotkeys.c:1286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1264
    functionDepth: 2
    functionLinenumber: 1264
    functionLinenumberEnd: 1287
    functionName: Close
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 108
    functionsReached:
    - vlc_executor_WaitIdle
    - vlc_executor_Delete
    - player_on_vout_stopped
    - vlc_array_item_at_index
    - vlc_player_Unlock
    - vlc_object_instance
    - var_DelCallback
    - vlc_player_Lock
    - free
    - vlc_playlist_GetPlayer
    - vlc_player_RemoveListener
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intf_Create
      Src: /src/vlc/modules/control/hotkeys.c:1291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - libvlc
    argTypes:
    - libvlc_int_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1289
    functionDepth: 1
    functionLinenumber: 1289
    functionLinenumberEnd: 1292
    functionName: AutoRun
    functionSourceFile: /src/vlc/modules/control/hotkeys.c
    functionUses: 0
    functionsReached:
    - intf_Create
    linkageType: ''
    returnType: void
    signature: void AutoRun(libvlc_int_t *libvlc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: GESTURE
    functionSourceFile: /src/vlc/modules/control/gestures.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GESTURE( a, b, c, d )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/control/gestures.c:123,1
    - Dst: unlikely
      Src: /src/vlc/modules/control/gestures.c:124,1
    - Dst: vlc_intf_GetMainPlaylist
      Src: /src/vlc/modules/control/gestures.c:128,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/control/gestures.c:129,1
    - Dst: vlc_vector_init
      Src: /src/vlc/modules/control/gestures.c:130,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/control/gestures.c:136,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/gestures.c:137,1
    - Dst: vlc_player_AddListener
      Src: /src/vlc/modules/control/gestures.c:138,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/gestures.c:139,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/control/gestures.c:144,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/control/gestures.c:147,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/gestures.c:148,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/gestures.c:150,1
    - Dst: free
      Src: /src/vlc/modules/control/gestures.c:154,1
    - Dst: vlc_vector_clear
      Src: /src/vlc/modules/control/gestures.c:162,1
    - Dst: free
      Src: /src/vlc/modules/control/gestures.c:163,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 165
    functionName: Open
    functionSourceFile: /src/vlc/modules/control/gestures.c
    functionUses: 33
    functionsReached:
    - vlc_intf_GetMainPlaylist
    - var_InheritString
    - var_InheritInteger
    - vlc_player_Unlock
    - vlc_mutex_init
    - vlc_vector_init
    - vlc_player_Lock
    - free
    - strcmp
    - vlc_vector_clear
    - vlc_playlist_GetPlayer
    - vlc_player_AddListener
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open ( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i_pattern
    - i_num
    argTypes:
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: gesture
    functionSourceFile: /src/vlc/modules/control/gestures.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned gesture( unsigned i_pattern, unsigned i_num )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/control/gestures.c:183,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/gestures.c:184,1
    - Dst: vlc_player_RemoveListener
      Src: /src/vlc/modules/control/gestures.c:185,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/gestures.c:186,1
    - Dst: vlc_vector_foreach
      Src: /src/vlc/modules/control/gestures.c:190,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/control/gestures.c:192,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/control/gestures.c:193,1
    - Dst: vout_Release
      Src: /src/vlc/modules/control/gestures.c:194,1
    - Dst: vlc_vector_clear
      Src: /src/vlc/modules/control/gestures.c:196,1
    - Dst: free
      Src: /src/vlc/modules/control/gestures.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 200
    functionName: Close
    functionSourceFile: /src/vlc/modules/control/gestures.c
    functionUses: 108
    functionsReached:
    - vlc_vector_foreach
    - vlc_player_Unlock
    - var_DelCallback
    - vlc_player_Lock
    - free
    - vlc_vector_clear
    - vlc_playlist_GetPlayer
    - vout_Release
    - vlc_player_RemoveListener
    linkageType: ''
    returnType: void
    signature: void Close ( vlc_object_t *p_this )
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/control/gestures.c:206,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/control/gestures.c:212,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/gestures.c:218,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/control/gestures.c:220,1
    - Dst: vlc_player_JumpTime
      Src: /src/vlc/modules/control/gestures.c:224,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/control/gestures.c:224,1
    - Dst: GESTURE
      Src: /src/vlc/modules/control/gestures.c:229,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/gestures.c:230,1
    - Dst: vlc_player_DecrementRate
      Src: /src/vlc/modules/control/gestures.c:231,1
    - Dst: GESTURE
      Src: /src/vlc/modules/control/gestures.c:234,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/gestures.c:235,1
    - Dst: vlc_player_IncrementRate
      Src: /src/vlc/modules/control/gestures.c:236,1
    - Dst: GESTURE
      Src: /src/vlc/modules/control/gestures.c:239,1
    - Dst: GESTURE
      Src: /src/vlc/modules/control/gestures.c:240,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/gestures.c:242,1
    - Dst: vlc_player_TogglePause
      Src: /src/vlc/modules/control/gestures.c:243,1
    - Dst: GESTURE
      Src: /src/vlc/modules/control/gestures.c:247,1
    - Dst: vlc_playlist_Prev
      Src: /src/vlc/modules/control/gestures.c:248,1
    - Dst: GESTURE
      Src: /src/vlc/modules/control/gestures.c:251,1
    - Dst: vlc_playlist_Next
      Src: /src/vlc/modules/control/gestures.c:252,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/gestures.c:256,1
    - Dst: vlc_player_aout_IncrementVolume
      Src: /src/vlc/modules/control/gestures.c:257,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/gestures.c:261,1
    - Dst: vlc_player_aout_DecrementVolume
      Src: /src/vlc/modules/control/gestures.c:262,1
    - Dst: GESTURE
      Src: /src/vlc/modules/control/gestures.c:265,1
    - Dst: GESTURE
      Src: /src/vlc/modules/control/gestures.c:266,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/gestures.c:267,1
    - Dst: vlc_player_aout_ToggleMute
      Src: /src/vlc/modules/control/gestures.c:268,1
    - Dst: GESTURE
      Src: /src/vlc/modules/control/gestures.c:271,1
    - Dst: GESTURE
      Src: /src/vlc/modules/control/gestures.c:272,1
    - Dst: GESTURE
      Src: /src/vlc/modules/control/gestures.c:275,1
    - Dst: vlc_player_SelectNextTrack
      Src: /src/vlc/modules/control/gestures.c:277,1
    - Dst: GESTURE
      Src: /src/vlc/modules/control/gestures.c:281,1
    - Dst: vlc_player_vout_ToggleFullscreen
      Src: /src/vlc/modules/control/gestures.c:283,1
    - Dst: GESTURE
      Src: /src/vlc/modules/control/gestures.c:287,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/control/gestures.c:288,1
    - Dst: libvlc_Quit
      Src: /src/vlc/modules/control/gestures.c:290,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/control/gestures.c:290,1
    - Dst: GESTURE
      Src: /src/vlc/modules/control/gestures.c:293,1
    - Dst: GESTURE
      Src: /src/vlc/modules/control/gestures.c:294,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/gestures.c:295,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/control/gestures.c:298,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 65
    argCount: 1
    argNames:
    - p_intf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 302
    functionName: ProcessGesture
    functionSourceFile: /src/vlc/modules/control/gestures.c
    functionUses: 0
    functionsReached:
    - vlc_player_DecrementRate
    - vlc_playlist_Unlock
    - vlc_player_SelectNextTrack
    - vlc_player_aout_ToggleMute
    - vlc_playlist_Prev
    - libvlc_Quit
    - vlc_player_aout_DecrementVolume
    - GESTURE
    - vlc_player_aout_IncrementVolume
    - vlc_playlist_GetPlayer
    - msg_Dbg
    - vlc_player_TogglePause
    - vlc_playlist_Lock
    - var_InheritInteger
    - vlc_object_instance
    - vlc_player_vout_ToggleFullscreen
    - vlc_player_JumpTime
    - vlc_tick_from_sec
    - vlc_player_IncrementRate
    - vlc_playlist_Next
    linkageType: ''
    returnType: void
    signature: void ProcessGesture( intf_thread_t *p_intf )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/gestures.c:307,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/gestures.c:307,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/gestures.c:307,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/control/gestures.c:312,1
    - Dst: abs
      Src: /src/vlc/modules/control/gestures.c:323,1
    - Dst: abs
      Src: /src/vlc/modules/control/gestures.c:323,1
    - Dst: abs
      Src: /src/vlc/modules/control/gestures.c:327,1
    - Dst: abs
      Src: /src/vlc/modules/control/gestures.c:329,1
    - Dst: abs
      Src: /src/vlc/modules/control/gestures.c:333,1
    - Dst: gesture
      Src: /src/vlc/modules/control/gestures.c:341,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/gestures.c:351,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/control/gestures.c:354,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 5
    argNames:
    - this
    - psz_var
    - oldval
    - newval
    - data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 356
    functionName: MovedEvent
    functionSourceFile: /src/vlc/modules/control/gestures.c
    functionUses: 0
    functionsReached:
    - gesture
    - vlc_mutex_lock
    - vlc_mutex_unlock
    - msg_Dbg
    - abs
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int MovedEvent(vlc_object_t *this, char const *psz_var,\n                      vlc_value_t
      oldval, vlc_value_t newval, void *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/control/gestures.c:366,1
    - Dst: var_GetCoords
      Src: /src/vlc/modules/control/gestures.c:372,1
    - Dst: ProcessGesture
      Src: /src/vlc/modules/control/gestures.c:381,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/control/gestures.c:384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - p_this
    - psz_var
    - oldval
    - val
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 387
    functionName: ButtonEvent
    functionSourceFile: /src/vlc/modules/control/gestures.c
    functionUses: 0
    functionsReached:
    - ProcessGesture
    - var_GetCoords
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: int
    signature: "int ButtonEvent( vlc_object_t *p_this, char const *psz_var,\n                        vlc_value_t
      oldval, vlc_value_t val, void *p_data )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/gestures.c:396,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/gestures.c:396,1
    - Dst: vlc_es_id_GetCat
      Src: /src/vlc/modules/control/gestures.c:400,1
    - Dst: vlc_vector_push
      Src: /src/vlc/modules/control/gestures.c:406,1
    - Dst: vout_Hold
      Src: /src/vlc/modules/control/gestures.c:408,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/control/gestures.c:409,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/control/gestures.c:410,1
    - Dst: vlc_vector_remove
      Src: /src/vlc/modules/control/gestures.c:419,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/control/gestures.c:420,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/control/gestures.c:421,1
    - Dst: vout_Release
      Src: /src/vlc/modules/control/gestures.c:422,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/control/gestures.c:428,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 6
    argNames:
    - player
    - action
    - vout
    - order
    - es_id
    - data
    argTypes:
    - vlc_player_t*
    - enum vlc_player_vout_action
    - vout_thread_t*
    - enum vlc_vout_order
    - vlc_es_id_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 430
    functionName: player_on_vout_changed
    functionSourceFile: /src/vlc/modules/control/gestures.c
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    - vout_Hold
    - vlc_vector_remove
    - var_AddCallback
    - var_DelCallback
    - vout_Release
    - vlc_vector_push
    - vlc_es_id_GetCat
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void player_on_vout_changed(vlc_player_t *player,\n                       enum
      vlc_player_vout_action action,\n                       vout_thread_t *vout,\n
      \                      enum vlc_vout_order order,\n                       vlc_es_id_t
      *es_id, void *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/control/motionlib.c:51,1
    - Dst: unlikely
      Src: /src/vlc/modules/control/motionlib.c:52,1
    - Dst: access
      Src: /src/vlc/modules/control/motionlib.c:57,1
    - Dst: fopen
      Src: /src/vlc/modules/control/motionlib.c:58,1
    - Dst: fscanf
      Src: /src/vlc/modules/control/motionlib.c:61,1
    - Dst: fclose
      Src: /src/vlc/modules/control/motionlib.c:62,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/motionlib.c:64,1
    - Dst: access
      Src: /src/vlc/modules/control/motionlib.c:66,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/motionlib.c:70,1
    - Dst: access
      Src: /src/vlc/modules/control/motionlib.c:72,1
    - Dst: fopen
      Src: /src/vlc/modules/control/motionlib.c:73,1
    - Dst: fscanf
      Src: /src/vlc/modules/control/motionlib.c:77,1
    - Dst: fclose
      Src: /src/vlc/modules/control/motionlib.c:78,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/motionlib.c:80,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/motionlib.c:85,1
    - Dst: free
      Src: /src/vlc/modules/control/motionlib.c:86,1
    - Dst: memset
      Src: /src/vlc/modules/control/motionlib.c:90,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 94
    functionName: motion_create
    functionSourceFile: /src/vlc/modules/control/motionlib.c
    functionUses: 0
    functionsReached:
    - memset
    - msg_Err
    - fopen
    - free
    - fscanf
    - access
    - msg_Dbg
    - unlikely
    - malloc
    - fclose
    linkageType: ''
    returnType: motion_sensors_t
    signature: motion_sensors_t *motion_create( vlc_object_t *obj )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/control/motionlib.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - motion
    argTypes:
    - motion_sensors_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: motion_destroy
    functionSourceFile: /src/vlc/modules/control/motionlib.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void motion_destroy( motion_sensors_t *motion )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/vlc/modules/control/motionlib.c:113,1
    - Dst: fscanf
      Src: /src/vlc/modules/control/motionlib.c:119,1
    - Dst: fclose
      Src: /src/vlc/modules/control/motionlib.c:120,1
    - Dst: fopen
      Src: /src/vlc/modules/control/motionlib.c:128,1
    - Dst: fscanf
      Src: /src/vlc/modules/control/motionlib.c:134,1
    - Dst: fclose
      Src: /src/vlc/modules/control/motionlib.c:135,1
    - Dst: fopen
      Src: /src/vlc/modules/control/motionlib.c:143,1
    - Dst: fscanf
      Src: /src/vlc/modules/control/motionlib.c:149,1
    - Dst: fclose
      Src: /src/vlc/modules/control/motionlib.c:150,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/control/motionlib.c:158,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 1
    argNames:
    - motion
    argTypes:
    - motion_sensors_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 160
    functionName: GetOrientation
    functionSourceFile: /src/vlc/modules/control/motionlib.c
    functionUses: 0
    functionsReached:
    - fopen
    - fscanf
    - vlc_assert_unreachable
    - fclose
    linkageType: ''
    returnType: int
    signature: int GetOrientation( motion_sensors_t *motion )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/control/motionlib.c:167,1
    - Dst: GetOrientation
      Src: /src/vlc/modules/control/motionlib.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - motion
    argTypes:
    - motion_sensors_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: motion_get_angle
    functionSourceFile: /src/vlc/modules/control/motionlib.c
    functionUses: 0
    functionsReached:
    - GetOrientation
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int motion_get_angle( motion_sensors_t *motion )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_intf_GetMainPlaylist
      Src: /src/vlc/modules/control/win_msg.c:57,1
    - Dst: input_item_New
      Src: /src/vlc/modules/control/win_msg.c:59,1
    - Dst: input_item_AddOptions
      Src: /src/vlc/modules/control/win_msg.c:62,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/control/win_msg.c:64,1
    - Dst: vlc_playlist_AppendOne
      Src: /src/vlc/modules/control/win_msg.c:65,1
    - Dst: vlc_playlist_Start
      Src: /src/vlc/modules/control/win_msg.c:67,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/control/win_msg.c:68,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/control/win_msg.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - intf
    - uri
    - play_now
    - options_count
    - options
    argTypes:
    - intf_thread_t*
    - char*
    - bool
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 70
    functionName: add_to_playlist
    functionSourceFile: /src/vlc/modules/control/win_msg.c
    functionUses: 0
    functionsReached:
    - vlc_intf_GetMainPlaylist
    - vlc_playlist_Lock
    - input_item_New
    - input_item_Release
    - input_item_AddOptions
    - vlc_playlist_Unlock
    - vlc_playlist_Start
    - vlc_playlist_AppendOne
    linkageType: ''
    returnType: void
    signature: "void add_to_playlist(intf_thread_t *intf, const char *uri,\n                            bool
      play_now, int options_count,\n                            const char *const
      *options)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PostQuitMessage
      Src: /src/vlc/modules/control/win_msg.c:77,1
    - Dst: GetWindowLongPtr
      Src: /src/vlc/modules/control/win_msg.c:84,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/control/win_msg.c:97,1
    - Dst: memcpy
      Src: /src/vlc/modules/control/win_msg.c:100,1
    - Dst: strstr
      Src: /src/vlc/modules/control/win_msg.c:120,1
    - Dst: vlc_path2uri
      Src: /src/vlc/modules/control/win_msg.c:121,1
    - Dst: add_to_playlist
      Src: /src/vlc/modules/control/win_msg.c:122,1
    - Dst: free
      Src: /src/vlc/modules/control/win_msg.c:126,1
    - Dst: free
      Src: /src/vlc/modules/control/win_msg.c:129,1
    - Dst: DefWindowProc
      Src: /src/vlc/modules/control/win_msg.c:133,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - hwnd
    - uMsg
    - wParam
    - lParam
    argTypes:
    - HWND
    - UINT
    - WPARAM
    - LPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 134
    functionName: WMCOPYWNDPROC
    functionSourceFile: /src/vlc/modules/control/win_msg.c
    functionUses: 0
    functionsReached:
    - PostQuitMessage
    - GetWindowLongPtr
    - memcpy
    - free
    - DefWindowProc
    - strstr
    - vlc_alloc
    - vlc_path2uri
    - add_to_playlist
    linkageType: ''
    returnType: LRESULT
    signature: "LRESULT WMCOPYWNDPROC(HWND hwnd, UINT uMsg,\n                                      WPARAM
      wParam, LPARAM lParam)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/control/win_msg.c:141,1
    - Dst: CreateWindow
      Src: /src/vlc/modules/control/win_msg.c:144,1
    - Dst: TEXT
      Src: /src/vlc/modules/control/win_msg.c:145,1
    - Dst: GetModuleHandle
      Src: /src/vlc/modules/control/win_msg.c:153,1
    - Dst: SetWindowLongPtr
      Src: /src/vlc/modules/control/win_msg.c:156,1
    - Dst: SetWindowLongPtr
      Src: /src/vlc/modules/control/win_msg.c:157,1
    - Dst: SetEvent
      Src: /src/vlc/modules/control/win_msg.c:161,1
    - Dst: GetMessage
      Src: /src/vlc/modules/control/win_msg.c:164,1
    - Dst: TranslateMessage
      Src: /src/vlc/modules/control/win_msg.c:166,1
    - Dst: DispatchMessage
      Src: /src/vlc/modules/control/win_msg.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 171
    functionName: HelperThread
    functionSourceFile: /src/vlc/modules/control/win_msg.c
    functionUses: 0
    functionsReached:
    - TEXT
    - vlc_thread_set_name
    - GetModuleHandle
    - DispatchMessage
    - GetMessage
    - CreateWindow
    - SetWindowLongPtr
    - SetEvent
    - TranslateMessage
    linkageType: ''
    returnType: void
    signature: void *HelperThread(void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/control/win_msg.c:176,1
    - Dst: unlikely
      Src: /src/vlc/modules/control/win_msg.c:177,1
    - Dst: CreateEvent
      Src: /src/vlc/modules/control/win_msg.c:183,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/control/win_msg.c:185,1
    - Dst: free
      Src: /src/vlc/modules/control/win_msg.c:187,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/win_msg.c:188,1
    - Dst: WaitForSingleObject
      Src: /src/vlc/modules/control/win_msg.c:193,1
    - Dst: CloseHandle
      Src: /src/vlc/modules/control/win_msg.c:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 197
    functionName: Open
    functionSourceFile: /src/vlc/modules/control/win_msg.c
    functionUses: 33
    functionsReached:
    - CloseHandle
    - vlc_clone
    - WaitForSingleObject
    - msg_Err
    - free
    - unlikely
    - malloc
    - CreateEvent
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SendMessage
      Src: /src/vlc/modules/control/win_msg.c:204,1
    - Dst: vlc_join
      Src: /src/vlc/modules/control/win_msg.c:205,1
    - Dst: free
      Src: /src/vlc/modules/control/win_msg.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 207
    functionName: Close
    functionSourceFile: /src/vlc/modules/control/win_msg.c
    functionUses: 108
    functionsReached:
    - free
    - SendMessage
    - vlc_join
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Info
      Src: /src/vlc/modules/control/dummy.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: Open
    functionSourceFile: /src/vlc/modules/control/dummy.c
    functionUses: 33
    functionsReached:
    - msg_Info
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritBool
      Src: /src/vlc/modules/control/netsync.c:76,1
    - Dst: intf_Create
      Src: /src/vlc/modules/control/netsync.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - libvlc
    argTypes:
    - libvlc_int_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: AutoRun
    functionSourceFile: /src/vlc/modules/control/netsync.c
    functionUses: 0
    functionsReached:
    - intf_Create
    - var_InheritBool
    linkageType: ''
    returnType: void
    signature: void AutoRun(libvlc_int_t *libvlc)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritBool
      Src: /src/vlc/modules/control/netsync.c:126,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/control/netsync.c:127,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/netsync.c:129,1
    - Dst: net_ConnectUDP
      Src: /src/vlc/modules/control/netsync.c:132,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/control/netsync.c:132,1
    - Dst: free
      Src: /src/vlc/modules/control/netsync.c:133,1
    - Dst: net_ListenUDP1
      Src: /src/vlc/modules/control/netsync.c:135,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/control/netsync.c:135,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/netsync.c:139,1
    - Dst: malloc
      Src: /src/vlc/modules/control/netsync.c:143,1
    - Dst: net_Close
      Src: /src/vlc/modules/control/netsync.c:145,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/control/netsync.c:150,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/control/netsync.c:151,1
    - Dst: pl_Get
      Src: /src/vlc/modules/control/netsync.c:154,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/control/netsync.c:157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 159
    functionName: Open
    functionSourceFile: /src/vlc/modules/control/netsync.c
    functionUses: 33
    functionsReached:
    - net_ConnectUDP
    - var_InheritString
    - var_InheritInteger
    - net_Close
    - var_InheritBool
    - var_AddCallback
    - msg_Err
    - free
    - pl_Get
    - VLC_OBJECT
    - net_ListenUDP1
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *object)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: var_DelCallback
      Src: /src/vlc/modules/control/netsync.c:169,1
    - Dst: vlc_cancel
      Src: /src/vlc/modules/control/netsync.c:172,1
    - Dst: vlc_join
      Src: /src/vlc/modules/control/netsync.c:173,1
    - Dst: net_Close
      Src: /src/vlc/modules/control/netsync.c:176,1
    - Dst: free
      Src: /src/vlc/modules/control/netsync.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 178
    functionName: Close
    functionSourceFile: /src/vlc/modules/control/netsync.c
    functionUses: 110
    functionsReached:
    - vlc_cancel
    - net_Close
    - var_DelCallback
    - free
    - vlc_join
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *object)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/control/netsync.c:182,1
    - Dst: input_GetPcrSystem
      Src: /src/vlc/modules/control/netsync.c:185,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/control/netsync.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - input
    argTypes:
    - input_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 190
    functionName: GetPcrSystem
    functionSourceFile: /src/vlc/modules/control/netsync.c
    functionUses: 1
    functionsReached:
    - vlc_savecancel
    - vlc_restorecancel
    - input_GetPcrSystem
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t GetPcrSystem(input_thread_t *input)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/control/netsync.c:196,1
    - Dst: poll
      Src: /src/vlc/modules/control/netsync.c:201,1
    - Dst: recvfrom
      Src: /src/vlc/modules/control/netsync.c:208,1
    - Dst: GetPcrSystem
      Src: /src/vlc/modules/control/netsync.c:211,1
    - Dst: hton64
      Src: /src/vlc/modules/control/netsync.c:215,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/control/netsync.c:215,1
    - Dst: hton64
      Src: /src/vlc/modules/control/netsync.c:216,1
    - Dst: sendto
      Src: /src/vlc/modules/control/netsync.c:219,1
    - Dst: ntoh64
      Src: /src/vlc/modules/control/netsync.c:223,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/netsync.c:224,1
    - Dst: inet_ntoa
      Src: /src/vlc/modules/control/netsync.c:226,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 231
    functionName: Master
    functionSourceFile: /src/vlc/modules/control/netsync.c
    functionUses: 2
    functionsReached:
    - GetPcrSystem
    - vlc_tick_now
    - vlc_thread_set_name
    - poll
    - inet_ntoa
    - ntoh64
    - hton64
    - sendto
    - msg_Dbg
    - recvfrom
    linkageType: ''
    returnType: void
    signature: void *Master(void *handle)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/control/netsync.c:238,1
    - Dst: GetPcrSystem
      Src: /src/vlc/modules/control/netsync.c:244,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/control/netsync.c:249,1
    - Dst: hton64
      Src: /src/vlc/modules/control/netsync.c:251,1
    - Dst: send
      Src: /src/vlc/modules/control/netsync.c:252,1
    - Dst: poll
      Src: /src/vlc/modules/control/netsync.c:255,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/control/netsync.c:258,1
    - Dst: recv
      Src: /src/vlc/modules/control/netsync.c:259,1
    - Dst: ntoh64
      Src: /src/vlc/modules/control/netsync.c:262,1
    - Dst: ntoh64
      Src: /src/vlc/modules/control/netsync.c:263,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/control/netsync.c:268,1
    - Dst: input_GetPcrSystem
      Src: /src/vlc/modules/control/netsync.c:271,1
    - Dst: input_ModifyPcrSystem
      Src: /src/vlc/modules/control/netsync.c:274,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/netsync.c:276,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/control/netsync.c:283,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/control/netsync.c:286,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 289
    functionName: Slave
    functionSourceFile: /src/vlc/modules/control/netsync.c
    functionUses: 2
    functionsReached:
    - vlc_tick_now
    - GetPcrSystem
    - recv
    - vlc_thread_set_name
    - input_GetPcrSystem
    - vlc_restorecancel
    - poll
    - send
    - ntoh64
    - msg_Dbg
    - vlc_tick_sleep
    - vlc_savecancel
    - hton64
    - input_ModifyPcrSystem
    linkageType: ''
    returnType: void
    signature: void *Slave(void *handle)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/netsync.c:294,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/netsync.c:294,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/netsync.c:300,1
    - Dst: assert
      Src: /src/vlc/modules/control/netsync.c:301,1
    - Dst: vlc_cancel
      Src: /src/vlc/modules/control/netsync.c:303,1
    - Dst: vlc_join
      Src: /src/vlc/modules/control/netsync.c:304,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/control/netsync.c:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - object
    - cmd
    - oldval
    - newval
    - data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts:
    - condition: (oldval.p_address == sys->input)
      pos:
        line_end: 300
        line_start: 300
        source_file: /src/vlc/modules/control/netsync.c
    constantsTouched: []
    func_position:
      end: 314
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 314
    functionName: PlaylistEvent
    functionSourceFile: /src/vlc/modules/control/netsync.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_cancel
    - vlc_clone
    - msg_Err
    - vlc_join
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int PlaylistEvent(vlc_object_t *object, char const *cmd,\n                         vlc_value_t
      oldval, vlc_value_t newval, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - media
    argTypes:
    - vlc_ml_media_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: ml::is_ml_object_private
    functionSourceFile: /src/vlc/modules/control/upnp_server/ml.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_ml_object_private(const MediaLibraryContext &, vlc_ml_media_t
      *media)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_count_album_tracks
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ml
    - album
    argTypes:
    - MediaLibraryContext
    - vlc_ml_album_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: ml::is_ml_object_private
    functionSourceFile: /src/vlc/modules/control/upnp_server/ml.hpp
    functionUses: 0
    functionsReached:
    - vlc_ml_count_album_tracks
    linkageType: ''
    returnType: bool
    signature: bool is_ml_object_private(const MediaLibraryContext &ml, vlc_ml_album_t
      *album)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_count_playlist_media
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ml
    - playlist
    argTypes:
    - MediaLibraryContext
    - vlc_ml_playlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: ml::is_ml_object_private
    functionSourceFile: /src/vlc/modules/control/upnp_server/ml.hpp
    functionUses: 0
    functionsReached:
    - vlc_ml_count_playlist_media
    linkageType: ''
    returnType: bool
    signature: bool is_ml_object_private(const MediaLibraryContext &ml, vlc_ml_playlist_t
      *playlist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_count_artist_tracks
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ml
    - artist
    argTypes:
    - MediaLibraryContext
    - vlc_ml_artist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: ml::is_ml_object_private
    functionSourceFile: /src/vlc/modules/control/upnp_server/ml.hpp
    functionUses: 0
    functionsReached:
    - vlc_ml_count_artist_tracks
    linkageType: ''
    returnType: bool
    signature: bool is_ml_object_private(const MediaLibraryContext &ml, vlc_ml_artist_t
      *artist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_count_genre_tracks
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ml
    - genre
    argTypes:
    - MediaLibraryContext
    - vlc_ml_genre_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: ml::is_ml_object_private
    functionSourceFile: /src/vlc/modules/control/upnp_server/ml.hpp
    functionUses: 0
    functionsReached:
    - vlc_ml_count_genre_tracks
    linkageType: ''
    returnType: bool
    signature: bool is_ml_object_private(const MediaLibraryContext &ml, vlc_ml_genre_t
      *genre)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_count_folder_media
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ml
    - folder
    argTypes:
    - MediaLibraryContext
    - vlc_ml_folder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: ml::is_ml_object_private
    functionSourceFile: /src/vlc/modules/control/upnp_server/ml.hpp
    functionUses: 0
    functionsReached:
    - vlc_ml_count_folder_media
    linkageType: ''
    returnType: bool
    signature: bool is_ml_object_private(const MediaLibraryContext &ml, vlc_ml_folder_t
      *folder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: ~ForbiddenAccess()
    functionSourceFile: /src/vlc/modules/control/upnp_server/ml.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ForbiddenAccess()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: ml::errors::what
    functionSourceFile: /src/vlc/modules/control/upnp_server/ml.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~UnknownObject()
    functionSourceFile: /src/vlc/modules/control/upnp_server/ml.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~UnknownObject()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: ml::errors::what
    functionSourceFile: /src/vlc/modules/control/upnp_server/ml.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: ~ForbiddenAccess()
    functionSourceFile: /src/vlc/modules/control/upnp_server/ml.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ForbiddenAccess()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: ml::errors::what
    functionSourceFile: /src/vlc/modules/control/upnp_server/ml.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~UnknownObject()
    functionSourceFile: /src/vlc/modules/control/upnp_server/ml.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~UnknownObject()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: ml::errors::what
    functionSourceFile: /src/vlc/modules/control/upnp_server/ml.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *what() const noexcept override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MLObject *>
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:102,1
    - Dst: vlc_ml_get
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:102,1
    - Dst: errors::UnknownObject
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:104,1
    - Dst: static_cast<void (*)(MLObject *)>
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:106,1
    - Dst: ml::is_ml_object_private
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:107,1
    - Dst: Ptr::get
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:107,1
    - Dst: errors::ForbiddenAccess
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - ml
    - id
    argTypes:
    - MediaLibraryContext
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 110
    functionName: ml::get
    functionSourceFile: /src/vlc/modules/control/upnp_server/ml.hpp
    functionUses: 0
    functionsReached:
    - vlc_ml_get
    - errors::UnknownObject
    - static_cast<void (*)(MLObject *)>
    - static_cast<MLObject *>
    - errors::ForbiddenAccess
    - ml::is_ml_object_private
    - Ptr::get
    linkageType: ''
    returnType: Ptr
    signature: Ptr get(const MediaLibraryContext &ml, const int64_t id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_query_params_create
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:131,1
    - Dst: std::optional<int64_t>::has_value
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:134,1
    - Dst: vlc_ml_list
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:135,1
    - Dst: vlc_ml_list
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:137,1
    - Dst: vlc_ml_list
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:139,1
    - Dst: vlc_ml_list
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:141,1
    - Dst: vlc_ml_list
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ml
    - id
    argTypes:
    - MediaLibraryContext
    - std::optional<int64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 145
    functionName: ml::count
    functionSourceFile: /src/vlc/modules/control/upnp_server/ml.hpp
    functionUses: 0
    functionsReached:
    - vlc_ml_list
    - std::optional<int64_t>::has_value
    - vlc_ml_query_params_create
    linkageType: ''
    returnType: size_t
    signature: size_t count(const MediaLibraryContext &ml, std::optional<int64_t>
      id) noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<int64_t>::has_value
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:159,1
    - Dst: vlc_ml_list
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:160,1
    - Dst: vlc_ml_list
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:162,1
    - Dst: vlc_ml_list
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:164,1
    - Dst: vlc_ml_list
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:166,1
    - Dst: vlc_ml_list
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:168,1
    - Dst: static_cast<void (*)(ListType *)>
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - ml
    - params
    - id
    argTypes:
    - MediaLibraryContext
    - vlc_ml_query_params_t*
    - std::optional<int64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 171
    functionName: ml::list
    functionSourceFile: /src/vlc/modules/control/upnp_server/ml.hpp
    functionUses: 0
    functionsReached:
    - static_cast<void (*)(ListType *)>
    - vlc_ml_list
    - std::optional<int64_t>::has_value
    linkageType: ''
    returnType: Ptr
    signature: "Ptr list(const MediaLibraryContext &ml,\n                    const
      vlc_ml_query_params_t *params,\n                    const std::optional<int64_t>
      id) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - media
    argTypes:
    - vlc_ml_media_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: ml::is_ml_object_private
    functionSourceFile: /src/vlc/modules/control/upnp_server/ml.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_ml_object_private(const MediaLibraryContext &, vlc_ml_media_t
      *media)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_count_album_tracks
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ml
    - album
    argTypes:
    - MediaLibraryContext
    - vlc_ml_album_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: ml::is_ml_object_private
    functionSourceFile: /src/vlc/modules/control/upnp_server/ml.hpp
    functionUses: 1
    functionsReached:
    - vlc_ml_count_album_tracks
    linkageType: ''
    returnType: bool
    signature: bool is_ml_object_private(const MediaLibraryContext &ml, vlc_ml_album_t
      *album)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_count_playlist_media
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ml
    - playlist
    argTypes:
    - MediaLibraryContext
    - vlc_ml_playlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: ml::is_ml_object_private
    functionSourceFile: /src/vlc/modules/control/upnp_server/ml.hpp
    functionUses: 1
    functionsReached:
    - vlc_ml_count_playlist_media
    linkageType: ''
    returnType: bool
    signature: bool is_ml_object_private(const MediaLibraryContext &ml, vlc_ml_playlist_t
      *playlist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_count_artist_tracks
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ml
    - artist
    argTypes:
    - MediaLibraryContext
    - vlc_ml_artist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: ml::is_ml_object_private
    functionSourceFile: /src/vlc/modules/control/upnp_server/ml.hpp
    functionUses: 1
    functionsReached:
    - vlc_ml_count_artist_tracks
    linkageType: ''
    returnType: bool
    signature: bool is_ml_object_private(const MediaLibraryContext &ml, vlc_ml_artist_t
      *artist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_count_genre_tracks
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ml
    - genre
    argTypes:
    - MediaLibraryContext
    - vlc_ml_genre_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: ml::is_ml_object_private
    functionSourceFile: /src/vlc/modules/control/upnp_server/ml.hpp
    functionUses: 1
    functionsReached:
    - vlc_ml_count_genre_tracks
    linkageType: ''
    returnType: bool
    signature: bool is_ml_object_private(const MediaLibraryContext &ml, vlc_ml_genre_t
      *genre)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_count_folder_media
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ml
    - folder
    argTypes:
    - MediaLibraryContext
    - vlc_ml_folder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: ml::is_ml_object_private
    functionSourceFile: /src/vlc/modules/control/upnp_server/ml.hpp
    functionUses: 1
    functionsReached:
    - vlc_ml_count_folder_media
    linkageType: ''
    returnType: bool
    signature: bool is_ml_object_private(const MediaLibraryContext &ml, vlc_ml_folder_t
      *folder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: ~ForbiddenAccess()
    functionSourceFile: /src/vlc/modules/control/upnp_server/ml.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ForbiddenAccess()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: ml::errors::what
    functionSourceFile: /src/vlc/modules/control/upnp_server/ml.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~UnknownObject()
    functionSourceFile: /src/vlc/modules/control/upnp_server/ml.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~UnknownObject()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: ml::errors::what
    functionSourceFile: /src/vlc/modules/control/upnp_server/ml.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: ~ForbiddenAccess()
    functionSourceFile: /src/vlc/modules/control/upnp_server/ml.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ForbiddenAccess()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: ml::errors::what
    functionSourceFile: /src/vlc/modules/control/upnp_server/ml.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~UnknownObject()
    functionSourceFile: /src/vlc/modules/control/upnp_server/ml.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~UnknownObject()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: ml::errors::what
    functionSourceFile: /src/vlc/modules/control/upnp_server/ml.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *what() const noexcept override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MLObject *>
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:102,1
    - Dst: vlc_ml_get
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:102,1
    - Dst: errors::UnknownObject
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:104,1
    - Dst: static_cast<void (*)(MLObject *)>
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:106,1
    - Dst: ml::is_ml_object_private
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:107,1
    - Dst: Ptr::get
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:107,1
    - Dst: errors::ForbiddenAccess
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - ml
    - id
    argTypes:
    - MediaLibraryContext
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 110
    functionName: ml::get
    functionSourceFile: /src/vlc/modules/control/upnp_server/ml.hpp
    functionUses: 0
    functionsReached:
    - vlc_ml_get
    - errors::UnknownObject
    - static_cast<void (*)(MLObject *)>
    - static_cast<MLObject *>
    - errors::ForbiddenAccess
    - ml::is_ml_object_private
    - Ptr::get
    linkageType: ''
    returnType: Ptr
    signature: Ptr get(const MediaLibraryContext &ml, const int64_t id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_query_params_create
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:131,1
    - Dst: std::optional<int64_t>::has_value
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:134,1
    - Dst: vlc_ml_list
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:135,1
    - Dst: vlc_ml_list
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:137,1
    - Dst: vlc_ml_list
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:139,1
    - Dst: vlc_ml_list
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:141,1
    - Dst: vlc_ml_list
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ml
    - id
    argTypes:
    - MediaLibraryContext
    - std::optional<int64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 145
    functionName: ml::count
    functionSourceFile: /src/vlc/modules/control/upnp_server/ml.hpp
    functionUses: 0
    functionsReached:
    - vlc_ml_list
    - std::optional<int64_t>::has_value
    - vlc_ml_query_params_create
    linkageType: ''
    returnType: size_t
    signature: size_t count(const MediaLibraryContext &ml, std::optional<int64_t>
      id) noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::optional<int64_t>::has_value
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:159,1
    - Dst: vlc_ml_list
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:160,1
    - Dst: vlc_ml_list
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:162,1
    - Dst: vlc_ml_list
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:164,1
    - Dst: vlc_ml_list
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:166,1
    - Dst: vlc_ml_list
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:168,1
    - Dst: static_cast<void (*)(ListType *)>
      Src: /src/vlc/modules/control/upnp_server/ml.hpp:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - ml
    - params
    - id
    argTypes:
    - MediaLibraryContext
    - vlc_ml_query_params_t*
    - std::optional<int64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 171
    functionName: ml::list
    functionSourceFile: /src/vlc/modules/control/upnp_server/ml.hpp
    functionUses: 0
    functionsReached:
    - static_cast<void (*)(ListType *)>
    - vlc_ml_list
    - std::optional<int64_t>::has_value
    linkageType: ''
    returnType: Ptr
    signature: "Ptr list(const MediaLibraryContext &ml,\n                    const
      vlc_ml_query_params_t *params,\n                    const std::optional<int64_t>
      id) noexcept"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::string::c_str
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:54,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - type
    - file_extension
    argTypes:
    - vlc_ml_media_type_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 70
    functionName: utils::get_mimetype
    functionSourceFile: /src/vlc/modules/control/upnp_server/utils.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - vlc_assert_unreachable
    linkageType: ''
    returnType: MimeType
    signature: MimeType get_mimetype(vlc_ml_media_type_t type, const std::string &file_extension)
      noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_last_of
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:74,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - file
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: utils::file_extension
    functionSourceFile: /src/vlc/modules/control/upnp_server/utils.cpp
    functionUses: 0
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string file_extension(const std::string &file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UpnpGetServerIpAddress
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:83,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:84,1
    - Dst: UpnpGetServerPort
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: utils::get_server_url
    functionSourceFile: /src/vlc/modules/control/upnp_server/utils.cpp
    functionUses: 0
    functionsReached:
    - UpnpGetServerPort
    - UpnpGetServerIpAddress
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string get_server_url()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config_GetSysPath
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:92,1
    - Dst: assert
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:93,1
    - Dst: free
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:97,1
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (path)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/vlc/modules/control/upnp_server/utils.cpp
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: utils::get_root_dir
    functionSourceFile: /src/vlc/modules/control/upnp_server/utils.cpp
    functionUses: 0
    functionsReached:
    - config_GetSysPath
    - assert
    - free
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string get_root_dir()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const struct sockaddr_in6 *>
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:106,1
    - Dst: reinterpret_cast<const struct sockaddr_in *>
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:110,1
    - Dst: inet_ntop
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr_storage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 116
    functionName: utils::addr_to_string
    functionSourceFile: /src/vlc/modules/control/upnp_server/utils.cpp
    functionUses: 0
    functionsReached:
    - inet_ntop
    - reinterpret_cast<const struct sockaddr_in *>
    - reinterpret_cast<const struct sockaddr_in6 *>
    linkageType: ''
    returnType: std::string
    signature: std::string addr_to_string(const sockaddr_storage *addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - media
    - type
    argTypes:
    - vlc_ml_media_t
    - vlc_ml_track_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: utils::get_media_tracks
    functionSourceFile: /src/vlc/modules/control/upnp_server/utils.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<MediaTrackRef>
    signature: std::vector<MediaTrackRef> get_media_tracks(const vlc_ml_media_t &media,
      vlc_ml_track_type_t type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - media
    - type
    argTypes:
    - vlc_ml_media_t
    - vlc_ml_file_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 146
    functionName: utils::get_media_files
    functionSourceFile: /src/vlc/modules/control/upnp_server/utils.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<MediaFileRef>
    signature: std::vector<MediaFileRef> get_media_files(const vlc_ml_media_t &media,
      vlc_ml_file_type_t type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: utils::file_extension
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:153,1
    - Dst: std::string
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:153,1
    - Dst: utils::get_server_url
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:154,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - album
    argTypes:
    - vlc_ml_album_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 156
    functionName: utils::album_thumbnail_url
    functionSourceFile: /src/vlc/modules/control/upnp_server/utils.cpp
    functionUses: 0
    functionsReached:
    - utils::get_server_url
    - std::string
    - utils::file_extension
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string album_thumbnail_url(const vlc_ml_album_t &album)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::file_extension
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:164,1
    - Dst: std::string
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:164,1
    - Dst: utils::get_server_url
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:165,1
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - media
    - size
    argTypes:
    - vlc_ml_media_t
    - vlc_ml_thumbnail_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 169
    functionName: utils::thumbnail_url
    functionSourceFile: /src/vlc/modules/control/upnp_server/utils.cpp
    functionUses: 0
    functionsReached:
    - utils::get_server_url
    - std::string
    - utils::file_extension
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string thumbnail_url(const vlc_ml_media_t &media, vlc_ml_thumbnail_size_t
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UpnpListBegin
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:176,1
    - Dst: UpnpListEnd
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:176,1
    - Dst: UpnpListNext
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:176,1
    - Dst: reinterpret_cast<UpnpExtraHeaders *>
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:178,1
    - Dst: UpnpExtraHeaders_get_name_cstr
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:179,1
    - Dst: transform
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:181,1
    - Dst: std::begin
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:181,1
    - Dst: std::end
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:181,1
    - Dst: std::begin
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - list
    - name
    argTypes:
    - UpnpListHead*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 188
    functionName: utils::http::get_hdr
    functionSourceFile: /src/vlc/modules/control/upnp_server/utils.cpp
    functionUses: 0
    functionsReached:
    - transform
    - UpnpListEnd
    - std::end
    - UpnpExtraHeaders_get_name_cstr
    - std::begin
    - UpnpListNext
    - UpnpListBegin
    - reinterpret_cast<UpnpExtraHeaders *>
    linkageType: ''
    returnType: UpnpExtraHeaders
    signature: UpnpExtraHeaders *get_hdr(UpnpListHead *list, const std::string name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: utils::http::get_hdr
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:193,1
    - Dst: UpnpExtraHeaders_new
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:197,1
    - Dst: UpnpExtraHeaders_set_resp
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:199,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:199,1
    - Dst: UpnpListInsert
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:200,1
    - Dst: UpnpListEnd
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:201,1
    - Dst: const_cast<UpnpListHead *>
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:201,1
    - Dst: UpnpExtraHeaders_get_node
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - list
    - resp
    argTypes:
    - UpnpListHead*
    - std::pair<std::string, std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 202
    functionName: utils::http::add_response_hdr
    functionSourceFile: /src/vlc/modules/control/upnp_server/utils.cpp
    functionUses: 0
    functionsReached:
    - auto::c_str
    - UpnpExtraHeaders_set_resp
    - UpnpListEnd
    - UpnpListInsert
    - utils::http::get_hdr
    - UpnpExtraHeaders_get_node
    - const_cast<UpnpListHead *>
    - UpnpExtraHeaders_new
    linkageType: ''
    returnType: void
    signature: void add_response_hdr(UpnpListHead *list, const std::pair<std::string,
      std::string> resp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dlna_profile_t::dlna_profile_t
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:208,1
    - Dst: MimeType::combine
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:215,1
    - Dst: dlna_write_protocol_info
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - mime
    argTypes:
    - MimeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 229
    functionName: utils::http::get_dlna_extra_protocol_info
    functionSourceFile: /src/vlc/modules/control/upnp_server/utils.cpp
    functionUses: 0
    functionsReached:
    - MimeType::combine
    - dlna_write_protocol_info
    - dlna_profile_t::dlna_profile_t
    linkageType: ''
    returnType: std::string
    signature: std::string get_dlna_extra_protocol_info(const MimeType &mime)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UpnpListBegin
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:176,1
    - Dst: UpnpListEnd
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:176,1
    - Dst: UpnpListNext
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:176,1
    - Dst: reinterpret_cast<UpnpExtraHeaders *>
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:178,1
    - Dst: UpnpExtraHeaders_get_name_cstr
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:179,1
    - Dst: transform
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:181,1
    - Dst: std::begin
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:181,1
    - Dst: std::end
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:181,1
    - Dst: std::begin
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - list
    - name
    argTypes:
    - UpnpListHead*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 188
    functionName: utils::http::get_hdr
    functionSourceFile: /src/vlc/modules/control/upnp_server/utils.cpp
    functionUses: 1
    functionsReached:
    - transform
    - UpnpListEnd
    - std::end
    - UpnpExtraHeaders_get_name_cstr
    - std::begin
    - UpnpListNext
    - UpnpListBegin
    - reinterpret_cast<UpnpExtraHeaders *>
    linkageType: ''
    returnType: UpnpExtraHeaders
    signature: UpnpExtraHeaders *get_hdr(UpnpListHead *list, const std::string name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: utils::http::get_hdr
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:193,1
    - Dst: UpnpExtraHeaders_new
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:197,1
    - Dst: UpnpExtraHeaders_set_resp
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:199,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:199,1
    - Dst: UpnpListInsert
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:200,1
    - Dst: UpnpListEnd
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:201,1
    - Dst: const_cast<UpnpListHead *>
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:201,1
    - Dst: UpnpExtraHeaders_get_node
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - list
    - resp
    argTypes:
    - UpnpListHead*
    - std::pair<std::string, std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 202
    functionName: utils::http::add_response_hdr
    functionSourceFile: /src/vlc/modules/control/upnp_server/utils.cpp
    functionUses: 0
    functionsReached:
    - auto::c_str
    - UpnpExtraHeaders_set_resp
    - UpnpListEnd
    - UpnpListInsert
    - utils::http::get_hdr
    - UpnpExtraHeaders_get_node
    - const_cast<UpnpListHead *>
    - UpnpExtraHeaders_new
    linkageType: ''
    returnType: void
    signature: void add_response_hdr(UpnpListHead *list, const std::pair<std::string,
      std::string> resp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dlna_profile_t::dlna_profile_t
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:208,1
    - Dst: MimeType::combine
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:215,1
    - Dst: dlna_write_protocol_info
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - mime
    argTypes:
    - MimeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 229
    functionName: utils::http::get_dlna_extra_protocol_info
    functionSourceFile: /src/vlc/modules/control/upnp_server/utils.cpp
    functionUses: 0
    functionsReached:
    - MimeType::combine
    - dlna_write_protocol_info
    - dlna_profile_t::dlna_profile_t
    linkageType: ''
    returnType: std::string
    signature: std::string get_dlna_extra_protocol_info(const MimeType &mime)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::string::c_str
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:54,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - type
    - file_extension
    argTypes:
    - vlc_ml_media_type_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 70
    functionName: utils::get_mimetype
    functionSourceFile: /src/vlc/modules/control/upnp_server/utils.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - vlc_assert_unreachable
    linkageType: ''
    returnType: MimeType
    signature: MimeType get_mimetype(vlc_ml_media_type_t type, const std::string &file_extension)
      noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_last_of
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:74,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - file
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: utils::file_extension
    functionSourceFile: /src/vlc/modules/control/upnp_server/utils.cpp
    functionUses: 2
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string file_extension(const std::string &file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UpnpGetServerIpAddress
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:83,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:84,1
    - Dst: UpnpGetServerPort
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: utils::get_server_url
    functionSourceFile: /src/vlc/modules/control/upnp_server/utils.cpp
    functionUses: 2
    functionsReached:
    - UpnpGetServerPort
    - UpnpGetServerIpAddress
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string get_server_url()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config_GetSysPath
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:92,1
    - Dst: assert
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:93,1
    - Dst: free
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:97,1
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (path)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/vlc/modules/control/upnp_server/utils.cpp
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: utils::get_root_dir
    functionSourceFile: /src/vlc/modules/control/upnp_server/utils.cpp
    functionUses: 0
    functionsReached:
    - config_GetSysPath
    - assert
    - free
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string get_root_dir()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const struct sockaddr_in6 *>
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:106,1
    - Dst: reinterpret_cast<const struct sockaddr_in *>
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:110,1
    - Dst: inet_ntop
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - addr
    argTypes:
    - sockaddr_storage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 116
    functionName: utils::addr_to_string
    functionSourceFile: /src/vlc/modules/control/upnp_server/utils.cpp
    functionUses: 0
    functionsReached:
    - inet_ntop
    - reinterpret_cast<const struct sockaddr_in *>
    - reinterpret_cast<const struct sockaddr_in6 *>
    linkageType: ''
    returnType: std::string
    signature: std::string addr_to_string(const sockaddr_storage *addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - media
    - type
    argTypes:
    - vlc_ml_media_t
    - vlc_ml_track_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: utils::get_media_tracks
    functionSourceFile: /src/vlc/modules/control/upnp_server/utils.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<MediaTrackRef>
    signature: std::vector<MediaTrackRef> get_media_tracks(const vlc_ml_media_t &media,
      vlc_ml_track_type_t type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - media
    - type
    argTypes:
    - vlc_ml_media_t
    - vlc_ml_file_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 146
    functionName: utils::get_media_files
    functionSourceFile: /src/vlc/modules/control/upnp_server/utils.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<MediaFileRef>
    signature: std::vector<MediaFileRef> get_media_files(const vlc_ml_media_t &media,
      vlc_ml_file_type_t type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: utils::file_extension
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:153,1
    - Dst: std::string
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:153,1
    - Dst: utils::get_server_url
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:154,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - album
    argTypes:
    - vlc_ml_album_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 156
    functionName: utils::album_thumbnail_url
    functionSourceFile: /src/vlc/modules/control/upnp_server/utils.cpp
    functionUses: 0
    functionsReached:
    - utils::get_server_url
    - std::string
    - utils::file_extension
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string album_thumbnail_url(const vlc_ml_album_t &album)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::file_extension
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:164,1
    - Dst: std::string
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:164,1
    - Dst: utils::get_server_url
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:165,1
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - media
    - size
    argTypes:
    - vlc_ml_media_t
    - vlc_ml_thumbnail_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 169
    functionName: utils::thumbnail_url
    functionSourceFile: /src/vlc/modules/control/upnp_server/utils.cpp
    functionUses: 0
    functionsReached:
    - utils::get_server_url
    - std::string
    - utils::file_extension
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string thumbnail_url(const vlc_ml_media_t &media, vlc_ml_thumbnail_size_t
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UpnpListBegin
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:176,1
    - Dst: UpnpListEnd
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:176,1
    - Dst: UpnpListNext
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:176,1
    - Dst: reinterpret_cast<UpnpExtraHeaders *>
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:178,1
    - Dst: UpnpExtraHeaders_get_name_cstr
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:179,1
    - Dst: transform
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:181,1
    - Dst: std::begin
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:181,1
    - Dst: std::end
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:181,1
    - Dst: std::begin
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - list
    - name
    argTypes:
    - UpnpListHead*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 188
    functionName: utils::http::get_hdr
    functionSourceFile: /src/vlc/modules/control/upnp_server/utils.cpp
    functionUses: 2
    functionsReached:
    - transform
    - UpnpListEnd
    - std::end
    - UpnpExtraHeaders_get_name_cstr
    - std::begin
    - UpnpListNext
    - UpnpListBegin
    - reinterpret_cast<UpnpExtraHeaders *>
    linkageType: ''
    returnType: UpnpExtraHeaders
    signature: UpnpExtraHeaders *get_hdr(UpnpListHead *list, const std::string name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: utils::http::get_hdr
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:193,1
    - Dst: UpnpExtraHeaders_new
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:197,1
    - Dst: UpnpExtraHeaders_set_resp
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:199,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:199,1
    - Dst: UpnpListInsert
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:200,1
    - Dst: UpnpListEnd
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:201,1
    - Dst: const_cast<UpnpListHead *>
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:201,1
    - Dst: UpnpExtraHeaders_get_node
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - list
    - resp
    argTypes:
    - UpnpListHead*
    - std::pair<std::string, std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 202
    functionName: utils::http::add_response_hdr
    functionSourceFile: /src/vlc/modules/control/upnp_server/utils.cpp
    functionUses: 0
    functionsReached:
    - auto::c_str
    - UpnpExtraHeaders_set_resp
    - UpnpListEnd
    - UpnpListInsert
    - utils::http::get_hdr
    - UpnpExtraHeaders_get_node
    - const_cast<UpnpListHead *>
    - UpnpExtraHeaders_new
    linkageType: ''
    returnType: void
    signature: void add_response_hdr(UpnpListHead *list, const std::pair<std::string,
      std::string> resp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dlna_profile_t::dlna_profile_t
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:208,1
    - Dst: MimeType::combine
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:215,1
    - Dst: dlna_write_protocol_info
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - mime
    argTypes:
    - MimeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 229
    functionName: utils::http::get_dlna_extra_protocol_info
    functionSourceFile: /src/vlc/modules/control/upnp_server/utils.cpp
    functionUses: 0
    functionsReached:
    - MimeType::combine
    - dlna_write_protocol_info
    - dlna_profile_t::dlna_profile_t
    linkageType: ''
    returnType: std::string
    signature: std::string get_dlna_extra_protocol_info(const MimeType &mime)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UpnpListBegin
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:176,1
    - Dst: UpnpListEnd
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:176,1
    - Dst: UpnpListNext
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:176,1
    - Dst: reinterpret_cast<UpnpExtraHeaders *>
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:178,1
    - Dst: UpnpExtraHeaders_get_name_cstr
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:179,1
    - Dst: transform
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:181,1
    - Dst: std::begin
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:181,1
    - Dst: std::end
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:181,1
    - Dst: std::begin
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - list
    - name
    argTypes:
    - UpnpListHead*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 188
    functionName: utils::http::get_hdr
    functionSourceFile: /src/vlc/modules/control/upnp_server/utils.cpp
    functionUses: 3
    functionsReached:
    - transform
    - UpnpListEnd
    - std::end
    - UpnpExtraHeaders_get_name_cstr
    - std::begin
    - UpnpListNext
    - UpnpListBegin
    - reinterpret_cast<UpnpExtraHeaders *>
    linkageType: ''
    returnType: UpnpExtraHeaders
    signature: UpnpExtraHeaders *get_hdr(UpnpListHead *list, const std::string name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: utils::http::get_hdr
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:193,1
    - Dst: UpnpExtraHeaders_new
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:197,1
    - Dst: UpnpExtraHeaders_set_resp
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:199,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:199,1
    - Dst: UpnpListInsert
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:200,1
    - Dst: UpnpListEnd
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:201,1
    - Dst: const_cast<UpnpListHead *>
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:201,1
    - Dst: UpnpExtraHeaders_get_node
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - list
    - resp
    argTypes:
    - UpnpListHead*
    - std::pair<std::string, std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 202
    functionName: utils::http::add_response_hdr
    functionSourceFile: /src/vlc/modules/control/upnp_server/utils.cpp
    functionUses: 0
    functionsReached:
    - auto::c_str
    - UpnpExtraHeaders_set_resp
    - UpnpListEnd
    - UpnpListInsert
    - utils::http::get_hdr
    - UpnpExtraHeaders_get_node
    - const_cast<UpnpListHead *>
    - UpnpExtraHeaders_new
    linkageType: ''
    returnType: void
    signature: void add_response_hdr(UpnpListHead *list, const std::pair<std::string,
      std::string> resp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dlna_profile_t::dlna_profile_t
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:208,1
    - Dst: MimeType::combine
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:215,1
    - Dst: dlna_write_protocol_info
      Src: /src/vlc/modules/control/upnp_server/utils.cpp:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - mime
    argTypes:
    - MimeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 229
    functionName: utils::http::get_dlna_extra_protocol_info
    functionSourceFile: /src/vlc/modules/control/upnp_server/utils.cpp
    functionUses: 0
    functionsReached:
    - MimeType::combine
    - dlna_write_protocol_info
    - dlna_profile_t::dlna_profile_t
    linkageType: ''
    returnType: std::string
    signature: std::string get_dlna_extra_protocol_info(const MimeType &mime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:50,1
    - Dst: ixmlElement_setAttribute
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:51,1
    - Dst: get
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts:
    - condition: (ptr != nullptr)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: xml::set_attribute
    functionSourceFile: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp
    functionUses: 0
    functionsReached:
    - get
    - ixmlElement_setAttribute
    - assert
    linkageType: ''
    returnType: void
    signature: void set_attribute(const char *name, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:56,1
    - Dst: ixmlNode_appendChild
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:58,1
    - Dst: ptr::release
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' child'
    argTypes:
    - Node
    assertStmts:
    - condition: (ptr != nullptr)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: xml::add_child
    functionSourceFile: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp
    functionUses: 0
    functionsReached:
    - ixmlNode_appendChild
    - assert
    - ptr::release
    linkageType: ''
    returnType: void
    signature: void add_child(Node&& child)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:63,1
    - Dst: ixmlNode_appendChild
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:65,1
    - Dst: ptr::release
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' child'
    argTypes:
    - Element
    assertStmts:
    - condition: (ptr != nullptr)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: xml::add_child
    functionSourceFile: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp
    functionUses: 0
    functionsReached:
    - ixmlNode_appendChild
    - assert
    - ptr::release
    linkageType: ''
    returnType: void
    signature: void add_child(Element&& child)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xml::add_child
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:70,1
    - Dst: std::move
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: xml::add_children
    functionSourceFile: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - xml::add_child
    linkageType: ''
    returnType: void
    signature: void add_children(Child &&...child)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ixmlDocument_createDocument
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: xml::Document
    functionSourceFile: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp
    functionUses: 0
    functionsReached:
    - ixmlDocument_createDocument
    linkageType: ''
    returnType: void
    signature: void Document()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: xml::Document
    functionSourceFile: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Document(Ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: xml::Document
    functionSourceFile: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Document(Ptr &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ixmlDocument_createTextNode
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:86,1
    - Dst: get
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: xml::create_text_node
    functionSourceFile: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp
    functionUses: 0
    functionsReached:
    - ixmlDocument_createTextNode
    - get
    linkageType: ''
    returnType: Node
    signature: Node create_text_node(const char *text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ixmlDocument_createElement
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:91,1
    - Dst: get
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: xml::create_element
    functionSourceFile: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp
    functionUses: 0
    functionsReached:
    - get
    - ixmlDocument_createElement
    linkageType: ''
    returnType: Element
    signature: Element create_element(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xml::create_element
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:97,1
    - Dst: Element::add_children
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: xml::create_element
    functionSourceFile: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp
    functionUses: 1
    functionsReached:
    - Element::add_children
    - xml::create_element
    linkageType: ''
    returnType: Element
    signature: Element create_element(const char *name, Children &&...children)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ixmlNode_appendChild
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:102,1
    - Dst: Element::ptr::release
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: xml::set_entry
    functionSourceFile: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp
    functionUses: 0
    functionsReached:
    - Element::ptr::release
    - ixmlNode_appendChild
    linkageType: ''
    returnType: void
    signature: void set_entry(Element &&entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ixmlDocumenttoString
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:108,1
    - Dst: get
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: xml::to_wrapped_cstr
    functionSourceFile: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp
    functionUses: 0
    functionsReached:
    - get
    - ixmlDocumenttoString
    linkageType: ''
    returnType: WrappedDOMString
    signature: WrappedDOMString to_wrapped_cstr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:50,1
    - Dst: ixmlElement_setAttribute
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:51,1
    - Dst: get
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts:
    - condition: (ptr != nullptr)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: xml::set_attribute
    functionSourceFile: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp
    functionUses: 0
    functionsReached:
    - get
    - ixmlElement_setAttribute
    - assert
    linkageType: ''
    returnType: void
    signature: void set_attribute(const char *name, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:56,1
    - Dst: ixmlNode_appendChild
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:58,1
    - Dst: ptr::release
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' child'
    argTypes:
    - Node
    assertStmts:
    - condition: (ptr != nullptr)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: xml::add_child
    functionSourceFile: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp
    functionUses: 1
    functionsReached:
    - ixmlNode_appendChild
    - assert
    - ptr::release
    linkageType: ''
    returnType: void
    signature: void add_child(Node&& child)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:63,1
    - Dst: ixmlNode_appendChild
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:65,1
    - Dst: ptr::release
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' child'
    argTypes:
    - Element
    assertStmts:
    - condition: (ptr != nullptr)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: xml::add_child
    functionSourceFile: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp
    functionUses: 1
    functionsReached:
    - ixmlNode_appendChild
    - assert
    - ptr::release
    linkageType: ''
    returnType: void
    signature: void add_child(Element&& child)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xml::add_child
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:70,1
    - Dst: std::move
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: xml::add_children
    functionSourceFile: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - xml::add_child
    linkageType: ''
    returnType: void
    signature: void add_children(Child &&...child)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ixmlDocument_createDocument
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: xml::Document
    functionSourceFile: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp
    functionUses: 0
    functionsReached:
    - ixmlDocument_createDocument
    linkageType: ''
    returnType: void
    signature: void Document()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: xml::Document
    functionSourceFile: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Document(Ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: xml::Document
    functionSourceFile: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Document(Ptr &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ixmlDocument_createTextNode
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:86,1
    - Dst: get
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: xml::create_text_node
    functionSourceFile: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp
    functionUses: 0
    functionsReached:
    - ixmlDocument_createTextNode
    - get
    linkageType: ''
    returnType: Node
    signature: Node create_text_node(const char *text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ixmlDocument_createElement
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:91,1
    - Dst: get
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: xml::create_element
    functionSourceFile: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp
    functionUses: 1
    functionsReached:
    - get
    - ixmlDocument_createElement
    linkageType: ''
    returnType: Element
    signature: Element create_element(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xml::create_element
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:97,1
    - Dst: Element::add_children
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: xml::create_element
    functionSourceFile: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp
    functionUses: 2
    functionsReached:
    - Element::add_children
    - xml::create_element
    linkageType: ''
    returnType: Element
    signature: Element create_element(const char *name, Children &&...children)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ixmlNode_appendChild
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:102,1
    - Dst: Element::ptr::release
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: xml::set_entry
    functionSourceFile: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp
    functionUses: 0
    functionsReached:
    - Element::ptr::release
    - ixmlNode_appendChild
    linkageType: ''
    returnType: void
    signature: void set_entry(Element &&entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ixmlDocumenttoString
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:108,1
    - Dst: get
      Src: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: xml::to_wrapped_cstr
    functionSourceFile: /src/vlc/modules/control/upnp_server/xml_wrapper.hpp
    functionUses: 0
    functionsReached:
    - get
    - ixmlDocumenttoString
    linkageType: ''
    returnType: WrappedDOMString
    signature: WrappedDOMString to_wrapped_cstr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: ~FileHandler()
    functionSourceFile: /src/vlc/modules/control/upnp_server/FileHandler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FileHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - service
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: UPNP_SERVICE_TYPE
    functionSourceFile: /src/vlc/modules/control/upnp_server/upnp_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPNP_SERVICE_TYPE(service)
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - p_data
    - p_event
    argTypes:
    - void*
    - struct vlc_ml_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 97
    functionName: medialibrary_event_callback
    functionSourceFile: /src/vlc/modules/control/upnp_server/upnp_server.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void medialibrary_event_callback(void *p_data, const struct vlc_ml_event_t
      *p_event)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<IXML_Element *>
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:104,1
    - Dst: UpnpActionRequest_get_ActionRequest
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:104,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:106,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:110,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:111,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:112,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:118,1
    - Dst: strtoul
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:118,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:119,1
    - Dst: strtoul
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:119,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:123,1
    - Dst: xml::Element::set_attribute
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:126,1
    - Dst: xml::Element::set_attribute
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:127,1
    - Dst: xml::Element::set_attribute
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:128,1
    - Dst: std::tie
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:136,1
    - Dst: cds::parse_id
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:136,1
    - Dst: UpnpActionRequest_set_ErrCode
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:140,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:149,1
    - Dst: static_cast<const cds::Container &>
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:153,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:155,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:156,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:158,1
    - Dst: xml::Element::add_child
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:160,1
    - Dst: cds::Object::browse_metadata
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:160,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:166,1
    - Dst: UpnpActionRequest_set_ErrCode
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:167,1
    - Dst: UpnpActionRequest_set_ErrCode
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:171,1
    - Dst: xml::Document::set_entry
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:175,1
    - Dst: std::move
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:175,1
    - Dst: UpnpActionRequest_get_ActionName_cstr
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:177,1
    - Dst: xml::Document::to_wrapped_cstr
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:179,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:180,1
    - Dst: intf_sys_t*::upnp_update_id::load
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:180,1
    - Dst: UpnpActionRequest_get_ActionResult
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:182,1
    - Dst: UPNP_SERVICE_TYPE
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:184,1
    - Dst: UpnpAddToActionResponse
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:185,1
    - Dst: auto::get
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:185,1
    - Dst: UpnpAddToActionResponse
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:186,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:187,1
    - Dst: UpnpAddToActionResponse
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:188,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:189,1
    - Dst: UpnpAddToActionResponse
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:190,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:191,1
    - Dst: UpnpActionRequest_set_ActionResult
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:193,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:195,1
    - Dst: auto::get
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:195,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 2
    argNames:
    - request
    - intf
    argTypes:
    - UpnpActionRequest*
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 198
    functionName: cds_browse
    functionSourceFile: /src/vlc/modules/control/upnp_server/upnp_server.cpp
    functionUses: 0
    functionsReached:
    - xml_getChildElementValue
    - static_cast<uint32_t>
    - reinterpret_cast<IXML_Element *>
    - std::to_string
    - cds::parse_id
    - std::move
    - auto::get
    - std::string::c_str
    - xml::Element::add_child
    - xml::Document::to_wrapped_cstr
    - UPNP_SERVICE_TYPE
    - std::tie
    - xml::Document::create_element
    - strtoul
    - static_cast<const cds::Container &>
    - msg_Dbg
    - msg_Warn
    - xml::Element::set_attribute
    - UpnpAddToActionResponse
    - UpnpActionRequest_set_ErrCode
    - UpnpActionRequest_set_ActionResult
    - intf_sys_t*::upnp_update_id::load
    - strcmp
    - auto::c_str
    - UpnpActionRequest_get_ActionResult
    - UpnpActionRequest_get_ActionRequest
    - cds::Object::browse_metadata
    - UpnpActionRequest_get_ActionName_cstr
    - xml::Document::set_entry
    linkageType: ''
    returnType: bool
    signature: bool cds_browse(UpnpActionRequest *request, intf_thread_t *intf)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: UpnpActionRequest_get_ServiceID_cstr
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:205,1
    - Dst: UpnpActionRequest_get_ActionName_cstr
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:206,1
    - Dst: utils::addr_to_string
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:207,1
    - Dst: UpnpActionRequest_get_CtrlPtIPAddr
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:207,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:208,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:212,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:213,1
    - Dst: UPNP_SERVICE_TYPE
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:215,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:216,1
    - Dst: UpnpAddToActionResponse
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:218,1
    - Dst: UpnpAddToActionResponse
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:220,1
    - Dst: UpnpActionRequest_set_ActionResult
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:221,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:223,1
    - Dst: UpnpAddToActionResponse
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:225,1
    - Dst: UpnpActionRequest_set_ActionResult
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:226,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:230,1
    - Dst: UPNP_SERVICE_TYPE
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:232,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:234,1
    - Dst: cds_browse
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:236,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:237,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:239,1
    - Dst: UpnpAddToActionResponse
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:241,1
    - Dst: UpnpActionRequest_set_ActionResult
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:242,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:244,1
    - Dst: UpnpAddToActionResponse
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:246,1
    - Dst: UpnpActionRequest_set_ActionResult
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:247,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:249,1
    - Dst: asprintf
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:252,1
    - Dst: intf_sys_t*::upnp_update_id::load
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:252,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:254,1
    - Dst: UpnpAddToActionResponse
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:255,1
    - Dst: UpnpActionRequest_set_ActionResult
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:256,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:259,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:262,1
    - Dst: UpnpAddToActionResponse
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:264,1
    - Dst: UpnpActionRequest_set_ActionResult
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:265,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:267,1
    - Dst: UpnpAddToActionResponse
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:269,1
    - Dst: UpnpActionRequest_set_ActionResult
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:270,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 2
    argNames:
    - p_request
    - p_intf
    argTypes:
    - UpnpActionRequest*
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 273
    functionName: handle_action_request
    functionSourceFile: /src/vlc/modules/control/upnp_server/upnp_server.cpp
    functionUses: 0
    functionsReached:
    - utils::addr_to_string
    - auto::c_str
    - UpnpAddToActionResponse
    - UpnpActionRequest_get_CtrlPtIPAddr
    - asprintf
    - vlc::wrap_cptr
    - cds_browse
    - UpnpActionRequest_set_ActionResult
    - intf_sys_t*::upnp_update_id::load
    - msg_Err
    - strcmp
    - UpnpActionRequest_get_ActionName_cstr
    - msg_Dbg
    - UpnpActionRequest_get_ServiceID_cstr
    - UPNP_SERVICE_TYPE
    linkageType: ''
    returnType: void
    signature: void handle_action_request(UpnpActionRequest *p_request, intf_thread_t
      *p_intf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<intf_thread_t *>
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:277,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:283,1
    - Dst: const_cast<UpnpActionRequest *>
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:288,1
    - Dst: static_cast<const UpnpActionRequest *>
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:288,1
    - Dst: handle_action_request
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:289,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:293,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:297,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - event_type
    - event
    - cookie
    argTypes:
    - Upnp_EventType
    - UpnpEventPtr
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 306
    functionName: Callback
    functionSourceFile: /src/vlc/modules/control/upnp_server/upnp_server.cpp
    functionUses: 27
    functionsReached:
    - msg_Err
    - static_cast<intf_thread_t *>
    - const_cast<UpnpActionRequest *>
    - msg_Dbg
    - static_cast<const UpnpActionRequest *>
    - handle_action_request
    linkageType: ''
    returnType: int
    signature: int Callback(Upnp_EventType event_type, UpnpEventPtr event, void *cookie)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UpnpFileInfo_get_Os_cstr
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:314,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:318,1
    - Dst: UpnpFileInfo_set_IsReadable
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:320,1
    - Dst: UpnpFileInfo_set_IsDirectory
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:321,1
    - Dst: parse_url
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:326,1
    - Dst: std::unique_ptr::get_info
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:336,1
    - Dst: static_cast<void*>
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:339,1
    - Dst: std::unique_ptr::release
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - url
    - info
    - void_intf
    - fhandler
    argTypes:
    - char*
    - UpnpFileInfo*
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 342
    functionName: getinfo_cb
    functionSourceFile: /src/vlc/modules/control/upnp_server/upnp_server.cpp
    functionUses: 0
    functionsReached:
    - UpnpFileInfo_set_IsReadable
    - static_cast<void*>
    - parse_url
    - UpnpFileInfo_get_Os_cstr
    - UpnpFileInfo_set_IsDirectory
    - std::unique_ptr::release
    - msg_Dbg
    - std::unique_ptr::get_info
    linkageType: ''
    returnType: int
    signature: int getinfo_cb(const char *url, UpnpFileInfo *info, const void *void_intf,
      const void **fhandler)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:348,1
    - Dst: parse_url
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:355,1
    - Dst: FileHandler*::open
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:366,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:366,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - url
    - void_intf
    - file_handler
    argTypes:
    - char*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 373
    functionName: open_cb
    functionSourceFile: /src/vlc/modules/control/upnp_server/upnp_server.cpp
    functionUses: 1
    functionsReached:
    - parse_url
    - msg_Err
    - msg_Dbg
    - VLC_OBJECT
    - FileHandler*::open
    linkageType: ''
    returnType: UpnpWebFileHandle
    signature: UpnpWebFileHandle open_cb(const char *url, enum UpnpOpenFileMode, const
      void *void_intf, const void *file_handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:379,1
    - Dst: static_cast<FileHandler *>
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:381,1
    - Dst: auto*::read
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:382,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - fileHnd
    - buf
    - buflen
    - void_intf
    argTypes:
    - UpnpWebFileHandle
    - char*
    - size_t
    - void*
    assertStmts:
    - condition: (fileHnd)
      pos:
        line_end: 378
        line_start: 378
        source_file: /src/vlc/modules/control/upnp_server/upnp_server.cpp
    constantsTouched: []
    func_position:
      end: 387
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 387
    functionName: read_cb
    functionSourceFile: /src/vlc/modules/control/upnp_server/upnp_server.cpp
    functionUses: 0
    functionsReached:
    - static_cast<FileHandler *>
    - auto*::read
    - assert
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int read_cb(UpnpWebFileHandle fileHnd, char *buf, size_t buflen, const
      void *void_intf, const void *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:393,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:394,1
    - Dst: static_cast<intmax_t>
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:395,1
    - Dst: static_cast<FileHandler *>
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:397,1
    - Dst: static_cast<FileHandler::SeekType>
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:398,1
    - Dst: auto*::seek
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - fileHnd
    - offset
    - origin
    - void_intf
    argTypes:
    - UpnpWebFileHandle
    - off_t
    - int
    - void*
    assertStmts:
    - condition: (fileHnd)
      pos:
        line_end: 392
        line_start: 392
        source_file: /src/vlc/modules/control/upnp_server/upnp_server.cpp
    constantsTouched: []
    func_position:
      end: 402
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 402
    functionName: seek_cb
    functionSourceFile: /src/vlc/modules/control/upnp_server/upnp_server.cpp
    functionUses: 0
    functionsReached:
    - assert
    - static_cast<FileHandler *>
    - static_cast<intmax_t>
    - auto*::seek
    - static_cast<FileHandler::SeekType>
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int seek_cb(UpnpWebFileHandle fileHnd, off_t offset, int origin, const
      void *void_intf, const void *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:407,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:408,1
    - Dst: static_cast<FileHandler *>
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fileHnd
    - void_intf
    argTypes:
    - UpnpWebFileHandle
    - void*
    assertStmts:
    - condition: (fileHnd)
      pos:
        line_end: 406
        line_start: 406
        source_file: /src/vlc/modules/control/upnp_server/upnp_server.cpp
    constantsTouched: []
    func_position:
      end: 411
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 411
    functionName: close_cb
    functionSourceFile: /src/vlc/modules/control/upnp_server/upnp_server.cpp
    functionUses: 0
    functionsReached:
    - static_cast<FileHandler *>
    - assert
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int close_cb(UpnpWebFileHandle fileHnd, const void *void_intf, const
      void *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:419,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:420,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:420,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:421,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:421,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:422,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:422,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:423,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:423,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:424,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:424,1
    - Dst: std::string
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:428,1
    - Dst: std::string
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:429,1
    - Dst: std::string
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:430,1
    - Dst: std::string
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:431,1
    - Dst: std::string
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:432,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:433,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:435,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:435,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:435,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:436,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:436,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:436,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:437,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:437,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:437,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:438,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:438,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:438,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:439,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:439,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:439,1
    - Dst: utils::get_server_url
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:442,1
    - Dst: std::string
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:444,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:446,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:446,1
    - Dst: xml::Element::set_attribute
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:447,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:449,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:451,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:452,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:452,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:453,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:453,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:454,1
    - Dst: std::move
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:456,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:458,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:459,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:460,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:460,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:460,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:461,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:461,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:462,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:462,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:463,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:463,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:464,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:464,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:465,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:465,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:466,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:466,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:467,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:467,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:468,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:468,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:469,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:469,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:469,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:470,1
    - Dst: icon_elem
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:471,1
    - Dst: icon_elem
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:472,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:473,1
    - Dst: service_elem
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:475,1
    - Dst: service_elem
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:476,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:478,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:480,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:482,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:484,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:486,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:488,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:489,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:490,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:491,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:492,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:494,1
    - Dst: xml::Element::set_attribute
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:495,1
    - Dst: xml::Document::set_entry
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:497,1
    - Dst: std::move
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - uuid
    - server_name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 499
    functionName: make_server_identity
    functionSourceFile: /src/vlc/modules/control/upnp_server/upnp_server.cpp
    functionUses: 0
    functionsReached:
    - auto::c_str
    - xml::Element::set_attribute
    - xml::Document::create_element
    - utils::get_server_url
    - service_elem
    - icon_elem
    - xml::Document::create_text_node
    - std::move
    - std::string::c_str
    - std::string
    - xml::Document::set_entry
    linkageType: ''
    returnType: xml::Document
    signature: xml::Document make_server_identity(const char *uuid, const char *server_name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_rand_bytes
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:506,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:507,1
    - Dst: addons_uuid_to_psz
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:507,1
    - Dst: UpnpEnableWebserver
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:509,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:512,1
    - Dst: UpnpGetErrorMessage
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:512,1
    - Dst: msg_Info
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:516,1
    - Dst: UpnpGetServerIpAddress
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:516,1
    - Dst: UpnpGetServerPort
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:516,1
    - Dst: utils::get_root_dir
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:518,1
    - Dst: UpnpSetWebServerRootDir
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:520,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:520,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:521,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:521,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:524,1
    - Dst: UpnpGetErrorMessage
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:524,1
    - Dst: UpnpEnableWebserver
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:525,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:529,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:529,1
    - Dst: assert
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:530,1
    - Dst: make_server_identity
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:531,1
    - Dst: intf_sys_t*::uuid::get
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:531,1
    - Dst: auto::get
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:531,1
    - Dst: auto::to_wrapped_cstr
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:532,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:535,1
    - Dst: auto::get
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:535,1
    - Dst: UpnpRegisterRootDevice2
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:537,1
    - Dst: auto::get
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:538,1
    - Dst: strlen
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:539,1
    - Dst: auto::get
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:539,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:546,1
    - Dst: UpnpGetErrorMessage
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:546,1
    - Dst: UpnpEnableWebserver
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:547,1
    - Dst: UpnpVirtualDir_set_GetInfoCallback
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:551,1
    - Dst: reinterpret_cast<VDCallback_GetInfo>
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:551,1
    - Dst: UpnpVirtualDir_set_OpenCallback
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:552,1
    - Dst: reinterpret_cast<VDCallback_Open>
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:552,1
    - Dst: UpnpVirtualDir_set_ReadCallback
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:553,1
    - Dst: reinterpret_cast<VDCallback_Read>
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:553,1
    - Dst: UpnpVirtualDir_set_SeekCallback
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:554,1
    - Dst: reinterpret_cast<VDCallback_Seek>
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:554,1
    - Dst: UpnpVirtualDir_set_CloseCallback
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:555,1
    - Dst: reinterpret_cast<VDCallback_Close>
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:555,1
    - Dst: UpnpAddVirtualDir
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:557,1
    - Dst: UpnpAddVirtualDir
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:558,1
    - Dst: UpnpAddVirtualDir
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:559,1
    - Dst: UpnpSendAdvertisement
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:561,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:564,1
    - Dst: UpnpGetErrorMessage
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:564,1
    - Dst: UpnpUnRegisterRootDevice
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:565,1
    - Dst: UpnpEnableWebserver
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 1
    argNames:
    - intf
    argTypes:
    - intf_thread_t*
    assertStmts:
    - condition: (server_name)
      pos:
        line_end: 529
        line_start: 529
        source_file: /src/vlc/modules/control/upnp_server/upnp_server.cpp
    constantsTouched: []
    func_position:
      end: 573
      start: 501
    functionDepth: 2
    functionLinenumber: 501
    functionLinenumberEnd: 573
    functionName: init_upnp
    functionSourceFile: /src/vlc/modules/control/upnp_server/upnp_server.cpp
    functionUses: 0
    functionsReached:
    - UpnpEnableWebserver
    - assert
    - UpnpGetServerIpAddress
    - reinterpret_cast<VDCallback_Read>
    - UpnpAddVirtualDir
    - reinterpret_cast<VDCallback_Close>
    - UpnpUnRegisterRootDevice
    - auto::get
    - UpnpRegisterRootDevice2
    - UpnpGetErrorMessage
    - UpnpVirtualDir_set_CloseCallback
    - UpnpVirtualDir_set_SeekCallback
    - auto::to_wrapped_cstr
    - reinterpret_cast<VDCallback_Seek>
    - make_server_identity
    - utils::get_root_dir
    - reinterpret_cast<VDCallback_Open>
    - msg_Err
    - UpnpGetServerPort
    - msg_Dbg
    - UpnpSetWebServerRootDir
    - UpnpVirtualDir_set_OpenCallback
    - UpnpVirtualDir_set_GetInfoCallback
    - UpnpSendAdvertisement
    - UpnpVirtualDir_set_ReadCallback
    - addons_uuid_to_psz
    - vlc_rand_bytes
    - auto::c_str
    - var_InheritString
    - vlc::wrap_cptr
    - strlen
    - reinterpret_cast<VDCallback_GetInfo>
    - msg_Info
    - intf_sys_t*::uuid::get
    linkageType: ''
    returnType: bool
    signature: bool init_upnp(intf_thread_t *intf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:580,1
    - Dst: intf_sys_t::intf_sys_t
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:581,1
    - Dst: unlikely
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:582,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:586,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:587,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:590,1
    - Dst: vlc_ml_event_register_callback
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:596,1
    - Dst: vlc_ml_event_unregister_callback
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:598,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:602,1
    - Dst: UpnpInstanceWrapper::get
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:602,1
    - Dst: release
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:603,1
    - Dst: cds::init_hierarchy
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:605,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:606,1
    - Dst: init_upnp
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:608,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 578
    functionDepth: 3
    functionLinenumber: 578
    functionLinenumberEnd: 615
    functionName: Server::open
    functionSourceFile: /src/vlc/modules/control/upnp_server/upnp_server.cpp
    functionUses: 0
    functionsReached:
    - vlc_ml_event_register_callback
    - cds::init_hierarchy
    - init_upnp
    - vlc::wrap_cptr
    - container_of
    - var_InheritInteger
    - var_InheritBool
    - msg_Err
    - intf_sys_t::intf_sys_t
    - release
    - vlc_ml_event_unregister_callback
    - unlikely
    - vlc_ml_instance_get
    - UpnpInstanceWrapper::get
    linkageType: ''
    returnType: int
    signature: int open(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:619,1
    - Dst: UpnpUnRegisterRootDevice
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:621,1
    - Dst: UpnpEnableWebserver
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 624
    functionName: Server::close
    functionSourceFile: /src/vlc/modules/control/upnp_server/upnp_server.cpp
    functionUses: 0
    functionsReached:
    - UpnpEnableWebserver
    - UpnpUnRegisterRootDevice
    - container_of
    linkageType: ''
    returnType: void
    signature: void close(vlc_object_t *p_this)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:580,1
    - Dst: intf_sys_t::intf_sys_t
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:581,1
    - Dst: unlikely
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:582,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:586,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:587,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:590,1
    - Dst: vlc_ml_event_register_callback
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:596,1
    - Dst: vlc_ml_event_unregister_callback
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:598,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:602,1
    - Dst: UpnpInstanceWrapper::get
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:602,1
    - Dst: release
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:603,1
    - Dst: cds::init_hierarchy
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:605,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:606,1
    - Dst: init_upnp
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:608,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 578
    functionDepth: 3
    functionLinenumber: 578
    functionLinenumberEnd: 615
    functionName: Server::open
    functionSourceFile: /src/vlc/modules/control/upnp_server/upnp_server.cpp
    functionUses: 0
    functionsReached:
    - vlc_ml_event_register_callback
    - cds::init_hierarchy
    - init_upnp
    - vlc::wrap_cptr
    - container_of
    - var_InheritInteger
    - var_InheritBool
    - msg_Err
    - intf_sys_t::intf_sys_t
    - release
    - vlc_ml_event_unregister_callback
    - unlikely
    - vlc_ml_instance_get
    - UpnpInstanceWrapper::get
    linkageType: ''
    returnType: int
    signature: int open(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:619,1
    - Dst: UpnpUnRegisterRootDevice
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:621,1
    - Dst: UpnpEnableWebserver
      Src: /src/vlc/modules/control/upnp_server/upnp_server.cpp:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 624
    functionName: Server::close
    functionSourceFile: /src/vlc/modules/control/upnp_server/upnp_server.cpp
    functionUses: 0
    functionsReached:
    - UpnpEnableWebserver
    - UpnpUnRegisterRootDevice
    - container_of
    linkageType: ''
    returnType: void
    signature: void close(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:68,1
    - Dst: std::move
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - file
    - mime_type
    argTypes:
    - MLFile
    - utils::MimeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: MLFileHandler::MLFileHandler
    functionSourceFile: /src/vlc/modules/control/upnp_server/FileHandler.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MLFileHandler(MLFile &&file, utils::MimeType &&mime_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UpnpFileInfo_set_ContentType
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:74,1
    - Dst: combine
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:74,1
    - Dst: UpnpFileInfo_set_FileLength
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:75,1
    - Dst: UpnpFileInfo_set_LastModified
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:76,1
    - Dst: const_cast<UpnpListHead *>
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:81,1
    - Dst: UpnpFileInfo_get_ExtraHeadersList
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:81,1
    - Dst: utils::http::add_response_hdr
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - UpnpFileInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: MLFileHandler::get_info
    functionSourceFile: /src/vlc/modules/control/upnp_server/FileHandler.cpp
    functionUses: 0
    functionsReached:
    - utils::http::add_response_hdr
    - UpnpFileInfo_set_LastModified
    - UpnpFileInfo_set_ContentType
    - UpnpFileInfo_get_ExtraHeadersList
    - const_cast<UpnpListHead *>
    - UpnpFileInfo_set_FileLength
    - combine
    linkageType: ''
    returnType: bool
    signature: bool get_info(UpnpFileInfo &info) final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:88,1
    - Dst: vlc_stream_NewMRL
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:88,1
    - Dst: mrl::c_str
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - parent
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: MLFileHandler::open
    functionSourceFile: /src/vlc/modules/control/upnp_server/FileHandler.cpp
    functionUses: 0
    functionsReached:
    - vlc_stream_NewMRL
    - mrl::c_str
    - vlc::wrap_cptr
    linkageType: ''
    returnType: bool
    signature: bool open(vlc_object_t *parent) final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:94,1
    - Dst: get
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - buffer_len
    argTypes:
    - uint8_t[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: MLFileHandler::read
    functionSourceFile: /src/vlc/modules/control/upnp_server/FileHandler.cpp
    functionUses: 0
    functionsReached:
    - get
    - vlc_stream_Read
    linkageType: ''
    returnType: size_t
    signature: size_t read(uint8_t buffer[], size_t buffer_len) noexcept final
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:103,1
    - Dst: get
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:103,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:106,1
    - Dst: get
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:106,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:119,1
    - Dst: get
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - type
    - offset
    argTypes:
    - SeekType
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 120
    functionName: MLFileHandler::seek
    functionSourceFile: /src/vlc/modules/control/upnp_server/FileHandler.cpp
    functionUses: 0
    functionsReached:
    - vlc_stream_Seek
    - get
    - vlc_stream_Tell
    - vlc_stream_GetSize
    linkageType: ''
    returnType: bool
    signature: bool seek(SeekType type, off_t offset) noexcept final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:132,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:133,1
    - Dst: std::stoll
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:137,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:137,1
    - Dst: func_get
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - token
    - extension
    - ml
    argTypes:
    - std::string
    - std::string
    - ml::MediaLibraryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 144
    functionName: get_ml_object
    functionSourceFile: /src/vlc/modules/control/upnp_server/FileHandler.cpp
    functionUses: 0
    functionsReached:
    - std::string::find
    - func_get
    - std::string::substr
    - std::stoll
    linkageType: ''
    returnType: auto
    signature: "auto get_ml_object(const std::string &token,\n                   std::string
      &extension,\n                   const ml::MediaLibraryContext &ml)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getline
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:150,1
    - Dst: getline
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:157,1
    - Dst: get_ml_object
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:160,1
    - Dst: utils::get_media_files
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:166,1
    - Dst: auto::empty
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:167,1
    - Dst: auto::front
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:171,1
    - Dst: utils::get_mimetype
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:173,1
    - Dst: std::make_unique<MLFileHandler>
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:174,1
    - Dst: std::move
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ss
    - ml
    argTypes:
    - std::stringstream
    - ml::MediaLibraryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 146
    functionDepth: 4
    functionLinenumber: 146
    functionLinenumberEnd: 178
    functionName: parse_media_url
    functionSourceFile: /src/vlc/modules/control/upnp_server/FileHandler.cpp
    functionUses: 0
    functionsReached:
    - utils::get_mimetype
    - std::make_unique<MLFileHandler>
    - get_ml_object
    - utils::get_media_files
    - std::move
    - getline
    - auto::front
    - auto::empty
    linkageType: ''
    returnType: std::unique_ptr<FileHandler>
    signature: "std::unique_ptr<FileHandler> parse_media_url(std::stringstream &ss,\n
      \                                                   const ml::MediaLibraryContext
      &ml)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getline
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:184,1
    - Dst: getline
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:193,1
    - Dst: getline
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:198,1
    - Dst: get_ml_object
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:199,1
    - Dst: getline
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:205,1
    - Dst: get_ml_object
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:206,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:211,1
    - Dst: std::make_unique<MLFileHandler>
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:216,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - ss
    - ml
    argTypes:
    - std::stringstream
    - ml::MediaLibraryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 180
    functionDepth: 4
    functionLinenumber: 180
    functionLinenumberEnd: 217
    functionName: parse_thumbnail_url
    functionSourceFile: /src/vlc/modules/control/upnp_server/FileHandler.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - getline
    - std::make_unique<MLFileHandler>
    - get_ml_object
    linkageType: ''
    returnType: std::unique_ptr<FileHandler>
    signature: "std::unique_ptr<FileHandler> parse_thumbnail_url(std::stringstream
      &ss,\n                                                        const ml::MediaLibraryContext
      &ml)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getline
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:226,1
    - Dst: get_ml_object
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:227,1
    - Dst: utils::get_media_files
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:233,1
    - Dst: auto::empty
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:234,1
    - Dst: auto::front
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:239,1
    - Dst: std::make_unique<MLFileHandler>
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ss
    - ml
    argTypes:
    - std::stringstream
    - ml::MediaLibraryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 219
    functionDepth: 4
    functionLinenumber: 219
    functionLinenumberEnd: 243
    functionName: parse_subtitle_url
    functionSourceFile: /src/vlc/modules/control/upnp_server/FileHandler.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<MLFileHandler>
    - get_ml_object
    - utils::get_media_files
    - getline
    - auto::front
    - auto::empty
    linkageType: ''
    returnType: std::unique_ptr<FileHandler>
    signature: "std::unique_ptr<FileHandler> parse_subtitle_url(std::stringstream
      &ss,\n                                                       const ml::MediaLibraryContext
      &ml)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getline
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:250,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:251,1
    - Dst: getline
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:254,1
    - Dst: parse_media_url
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:256,1
    - Dst: parse_thumbnail_url
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:258,1
    - Dst: parse_subtitle_url
      Src: /src/vlc/modules/control/upnp_server/FileHandler.cpp:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - url
    - ml
    argTypes:
    - char*
    - ml::MediaLibraryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 245
    functionDepth: 5
    functionLinenumber: 245
    functionLinenumberEnd: 262
    functionName: parse_url
    functionSourceFile: /src/vlc/modules/control/upnp_server/FileHandler.cpp
    functionUses: 4
    functionsReached:
    - parse_media_url
    - std::string::empty
    - parse_subtitle_url
    - parse_thumbnail_url
    - getline
    linkageType: ''
    returnType: std::unique_ptr<FileHandler>
    signature: std::unique_ptr<FileHandler> parse_url(const char *url, const ml::MediaLibraryContext
      &ml)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: utils::combine
    functionSourceFile: /src/vlc/modules/control/upnp_server/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string combine() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: utils::combine
    functionSourceFile: /src/vlc/modules/control/upnp_server/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string combine() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - id
    - parent_id
    - name
    - ml
    - child
    argTypes:
    - int64_t
    - int64_t
    - char*
    - ml::MediaLibraryContext
    - Object
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: cds::MLContainer::MLContainer
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MLContainer(int64_t id,\n                int64_t parent_id,\n
      \               const char *name,\n                const ml::MediaLibraryContext
      &ml,\n                const Object &child)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Object::ExtraId::has_value
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:56,1
    - Dst: func_get
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:58,1
    - Dst: cds::MLContainer::dump_mlobject_metadata
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:59,1
    - Dst: auto::get
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:59,1
    - Dst: wait_item_count
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:63,1
    - Dst: xml::Element::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:64,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:64,1
    - Dst: xml::Element::add_child
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:67,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:67,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - dest
    - extra
    argTypes:
    - xml::Element
    - Object::ExtraId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 69
    functionName: cds::MLContainer::dump_metadata
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp
    functionUses: 0
    functionsReached:
    - xml::Element::set_attribute
    - xml::Document::create_element
    - std::to_string
    - xml::Document::create_text_node
    - auto::get
    - func_get
    - cds::MLContainer::dump_mlobject_metadata
    - xml::Element::add_child
    - wait_item_count
    - Object::ExtraId::has_value
    linkageType: ''
    returnType: void
    signature: void dump_metadata(xml::Element &dest, const Object::ExtraId &extra)
      const final
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BrowseParams::to_query_params
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:75,1
    - Dst: Object::ExtraId::has_value
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:77,1
    - Dst: static_cast<int64_t>
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:78,1
    - Dst: test_moduledescriptionlist
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:79,1
    - Dst: create_object_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:87,1
    - Dst: get_dynamic_id
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:87,1
    - Dst: cds::MLContainer::dump_mlobject_metadata
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:88,1
    - Dst: xml::Element::add_child
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:89,1
    - Dst: std::move
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:89,1
    - Dst: wait_item_count
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - dest
    - params
    - extra
    argTypes:
    - xml::Element
    - BrowseParams
    - Object::ExtraId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 92
    functionName: cds::MLContainer::browse_direct_children
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp
    functionUses: 0
    functionsReached:
    - BrowseParams::to_query_params
    - test_moduledescriptionlist
    - create_object_element
    - std::move
    - cds::MLContainer::dump_mlobject_metadata
    - xml::Element::add_child
    - get_dynamic_id
    - Object::ExtraId::has_value
    - static_cast<int64_t>
    - wait_item_count
    linkageType: ''
    returnType: BrowseStats
    signature: "BrowseStats browse_direct_children(xml::Element &dest,\n                                       const
      BrowseParams params,\n                                       const Object::ExtraId
      &extra) const final"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cds::Item::dump_mlobject_metadata
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dest
    - media
    argTypes:
    - xml::Element
    - vlc_ml_media_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: cds::MLContainer::dump_mlobject_metadata
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp
    functionUses: 2
    functionsReached:
    - cds::Item::dump_mlobject_metadata
    linkageType: ''
    returnType: void
    signature: void dump_mlobject_metadata(xml::Element &dest, const vlc_ml_media_t
      &media) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xml::Element::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:104,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:104,1
    - Dst: xml::Element::add_children
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:106,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:107,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:108,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:109,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dest
    - playlist
    argTypes:
    - xml::Element
    - vlc_ml_playlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 110
    functionName: cds::MLContainer::dump_mlobject_metadata
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp
    functionUses: 2
    functionsReached:
    - xml::Element::set_attribute
    - xml::Document::create_element
    - xml::Document::create_text_node
    - std::to_string
    - xml::Element::add_children
    linkageType: ''
    returnType: void
    signature: void dump_mlobject_metadata(xml::Element &dest, const vlc_ml_playlist_t
      &playlist) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xml::Element::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:116,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:116,1
    - Dst: utils::album_thumbnail_url
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:118,1
    - Dst: xml::Element::add_children
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:119,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:120,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:120,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:121,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:122,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:123,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:123,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:124,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:124,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:125,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:126,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dest
    - album
    argTypes:
    - xml::Element
    - vlc_ml_album_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 127
    functionName: cds::MLContainer::dump_mlobject_metadata
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp
    functionUses: 2
    functionsReached:
    - xml::Element::set_attribute
    - utils::album_thumbnail_url
    - auto::c_str
    - xml::Document::create_element
    - std::to_string
    - xml::Document::create_text_node
    - xml::Element::add_children
    linkageType: ''
    returnType: void
    signature: void dump_mlobject_metadata(xml::Element &dest, const vlc_ml_album_t
      &album) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xml::Element::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:133,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:133,1
    - Dst: xml::Element::add_children
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:135,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:136,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:137,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:138,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dest
    - artist
    argTypes:
    - xml::Element
    - vlc_ml_artist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 139
    functionName: cds::MLContainer::dump_mlobject_metadata
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp
    functionUses: 2
    functionsReached:
    - xml::Element::set_attribute
    - xml::Document::create_element
    - xml::Document::create_text_node
    - std::to_string
    - xml::Element::add_children
    linkageType: ''
    returnType: void
    signature: void dump_mlobject_metadata(xml::Element &dest, const vlc_ml_artist_t
      &artist) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xml::Element::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:145,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:145,1
    - Dst: xml::Element::add_children
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:147,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:148,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:149,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:150,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dest
    - genre
    argTypes:
    - xml::Element
    - vlc_ml_genre_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 151
    functionName: cds::MLContainer::dump_mlobject_metadata
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp
    functionUses: 2
    functionsReached:
    - xml::Element::set_attribute
    - xml::Document::create_element
    - xml::Document::create_text_node
    - std::to_string
    - xml::Element::add_children
    linkageType: ''
    returnType: void
    signature: void dump_mlobject_metadata(xml::Element &dest, const vlc_ml_genre_t
      &genre) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:157,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:159,1
    - Dst: vlc_uri2path
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:159,1
    - Dst: xml::Element::add_children
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:160,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:161,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:161,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:162,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:162,1
    - Dst: auto::get
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dest
    - folder
    argTypes:
    - xml::Element
    - vlc_ml_folder_t
    assertStmts:
    - condition: (!folder.b_banned)
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp
    constantsTouched: []
    func_position:
      end: 163
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 163
    functionName: cds::MLContainer::dump_mlobject_metadata
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp
    functionUses: 2
    functionsReached:
    - assert
    - vlc::wrap_cptr
    - xml::Document::create_element
    - vlc_uri2path
    - xml::Document::create_text_node
    - auto::get
    - xml::Element::add_children
    linkageType: ''
    returnType: void
    signature: void dump_mlobject_metadata(xml::Element &dest, const vlc_ml_folder_t
      &folder) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - id
    - parent_id
    - name
    - ml
    - child
    argTypes:
    - int64_t
    - int64_t
    - char*
    - ml::MediaLibraryContext
    - Object
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: cds::MLContainer::MLContainer
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MLContainer(int64_t id,\n                int64_t parent_id,\n
      \               const char *name,\n                const ml::MediaLibraryContext
      &ml,\n                const Object &child)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Object::ExtraId::has_value
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:56,1
    - Dst: func_get
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:58,1
    - Dst: cds::MLContainer::dump_mlobject_metadata
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:59,1
    - Dst: auto::get
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:59,1
    - Dst: wait_item_count
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:63,1
    - Dst: xml::Element::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:64,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:64,1
    - Dst: xml::Element::add_child
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:67,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:67,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - dest
    - extra
    argTypes:
    - xml::Element
    - Object::ExtraId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 69
    functionName: cds::MLContainer::dump_metadata
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp
    functionUses: 0
    functionsReached:
    - xml::Element::set_attribute
    - xml::Document::create_element
    - std::to_string
    - xml::Document::create_text_node
    - auto::get
    - func_get
    - cds::MLContainer::dump_mlobject_metadata
    - xml::Element::add_child
    - wait_item_count
    - Object::ExtraId::has_value
    linkageType: ''
    returnType: void
    signature: void dump_metadata(xml::Element &dest, const Object::ExtraId &extra)
      const final
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BrowseParams::to_query_params
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:75,1
    - Dst: Object::ExtraId::has_value
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:77,1
    - Dst: static_cast<int64_t>
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:78,1
    - Dst: test_moduledescriptionlist
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:79,1
    - Dst: create_object_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:87,1
    - Dst: get_dynamic_id
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:87,1
    - Dst: cds::MLContainer::dump_mlobject_metadata
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:88,1
    - Dst: xml::Element::add_child
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:89,1
    - Dst: std::move
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:89,1
    - Dst: wait_item_count
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - dest
    - params
    - extra
    argTypes:
    - xml::Element
    - BrowseParams
    - Object::ExtraId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 92
    functionName: cds::MLContainer::browse_direct_children
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp
    functionUses: 0
    functionsReached:
    - BrowseParams::to_query_params
    - test_moduledescriptionlist
    - create_object_element
    - std::move
    - cds::MLContainer::dump_mlobject_metadata
    - xml::Element::add_child
    - get_dynamic_id
    - Object::ExtraId::has_value
    - static_cast<int64_t>
    - wait_item_count
    linkageType: ''
    returnType: BrowseStats
    signature: "BrowseStats browse_direct_children(xml::Element &dest,\n                                       const
      BrowseParams params,\n                                       const Object::ExtraId
      &extra) const final"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cds::Item::dump_mlobject_metadata
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dest
    - media
    argTypes:
    - xml::Element
    - vlc_ml_media_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: cds::MLContainer::dump_mlobject_metadata
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp
    functionUses: 4
    functionsReached:
    - cds::Item::dump_mlobject_metadata
    linkageType: ''
    returnType: void
    signature: void dump_mlobject_metadata(xml::Element &dest, const vlc_ml_media_t
      &media) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xml::Element::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:104,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:104,1
    - Dst: xml::Element::add_children
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:106,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:107,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:108,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:109,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dest
    - playlist
    argTypes:
    - xml::Element
    - vlc_ml_playlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 110
    functionName: cds::MLContainer::dump_mlobject_metadata
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp
    functionUses: 4
    functionsReached:
    - xml::Element::set_attribute
    - xml::Document::create_element
    - xml::Document::create_text_node
    - std::to_string
    - xml::Element::add_children
    linkageType: ''
    returnType: void
    signature: void dump_mlobject_metadata(xml::Element &dest, const vlc_ml_playlist_t
      &playlist) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xml::Element::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:116,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:116,1
    - Dst: utils::album_thumbnail_url
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:118,1
    - Dst: xml::Element::add_children
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:119,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:120,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:120,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:121,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:122,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:123,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:123,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:124,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:124,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:125,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:126,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dest
    - album
    argTypes:
    - xml::Element
    - vlc_ml_album_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 127
    functionName: cds::MLContainer::dump_mlobject_metadata
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp
    functionUses: 4
    functionsReached:
    - xml::Element::set_attribute
    - utils::album_thumbnail_url
    - auto::c_str
    - xml::Document::create_element
    - std::to_string
    - xml::Document::create_text_node
    - xml::Element::add_children
    linkageType: ''
    returnType: void
    signature: void dump_mlobject_metadata(xml::Element &dest, const vlc_ml_album_t
      &album) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xml::Element::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:133,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:133,1
    - Dst: xml::Element::add_children
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:135,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:136,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:137,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:138,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dest
    - artist
    argTypes:
    - xml::Element
    - vlc_ml_artist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 139
    functionName: cds::MLContainer::dump_mlobject_metadata
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp
    functionUses: 4
    functionsReached:
    - xml::Element::set_attribute
    - xml::Document::create_element
    - xml::Document::create_text_node
    - std::to_string
    - xml::Element::add_children
    linkageType: ''
    returnType: void
    signature: void dump_mlobject_metadata(xml::Element &dest, const vlc_ml_artist_t
      &artist) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xml::Element::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:145,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:145,1
    - Dst: xml::Element::add_children
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:147,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:148,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:149,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:150,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dest
    - genre
    argTypes:
    - xml::Element
    - vlc_ml_genre_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 151
    functionName: cds::MLContainer::dump_mlobject_metadata
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp
    functionUses: 4
    functionsReached:
    - xml::Element::set_attribute
    - xml::Document::create_element
    - xml::Document::create_text_node
    - std::to_string
    - xml::Element::add_children
    linkageType: ''
    returnType: void
    signature: void dump_mlobject_metadata(xml::Element &dest, const vlc_ml_genre_t
      &genre) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:157,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:159,1
    - Dst: vlc_uri2path
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:159,1
    - Dst: xml::Element::add_children
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:160,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:161,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:161,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:162,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:162,1
    - Dst: auto::get
      Src: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dest
    - folder
    argTypes:
    - xml::Element
    - vlc_ml_folder_t
    assertStmts:
    - condition: (!folder.b_banned)
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp
    constantsTouched: []
    func_position:
      end: 163
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 163
    functionName: cds::MLContainer::dump_mlobject_metadata
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/MLContainer.hpp
    functionUses: 4
    functionsReached:
    - assert
    - vlc::wrap_cptr
    - xml::Document::create_element
    - vlc_uri2path
    - xml::Document::create_text_node
    - auto::get
    - xml::Element::add_children
    linkageType: ''
    returnType: void
    signature: void dump_mlobject_metadata(xml::Element &dest, const vlc_ml_folder_t
      &folder) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - id
    - ml
    argTypes:
    - int64_t
    - ml::MediaLibraryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: cds::Item::Item
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/Item.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Item::Item(const int64_t id, const ml::MediaLibraryContext &ml)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duration_cast<seconds>
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:46,1
    - Dst: std::strftime
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:47,1
    - Dst: std::localtime
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fmt
    - duration
    argTypes:
    - char*
    - std::chrono::duration<Rep, Pediod>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: cds::duration_to_string
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/Item.cpp
    functionUses: 0
    functionsReached:
    - duration_cast<seconds>
    - std::localtime
    - std::strftime
    linkageType: ''
    returnType: std::string
    signature: std::string duration_to_string(const char *fmt, std::chrono::duration<Rep,
      Pediod> duration)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string::c_str
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:58,1
    - Dst: utils::get_server_url
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:60,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:62,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:64,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:64,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:64,1
    - Dst: cds::duration_to_string
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:66,1
    - Dst: std::chrono::milliseconds
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:66,1
    - Dst: auto::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:67,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:67,1
    - Dst: std::vector<utils::MediaTrackRef>::size
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:72,1
    - Dst: auto::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:78,1
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:78,1
    - Dst: utils::get_mimetype
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:81,1
    - Dst: utils::http::get_dlna_extra_protocol_info
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:82,1
    - Dst: auto::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:84,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:84,1
    - Dst: std::vector<utils::MediaFileRef>::size
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:86,1
    - Dst: auto::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:88,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:88,1
    - Dst: get
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - doc
    - media
    - v_tracks
    - main_files
    - file_extension
    argTypes:
    - xml::Document
    - vlc_ml_media_t
    - std::vector<utils::MediaTrackRef>
    - std::vector<utils::MediaFileRef>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 92
    functionName: cds::make_resource
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/Item.cpp
    functionUses: 0
    functionsReached:
    - utils::http::get_dlna_extra_protocol_info
    - auto::c_str
    - utils::get_server_url
    - xml::Document::create_element
    - get
    - std::chrono::milliseconds
    - utils::get_mimetype
    - std::vector<utils::MediaFileRef>::size
    - xml::Document::create_text_node
    - std::to_string
    - std::string::c_str
    - std::stringstream::str
    - std::vector<utils::MediaTrackRef>::size
    - auto::set_attribute
    - cds::duration_to_string
    linkageType: ''
    returnType: xml::Element
    signature: "xml::Element make_resource(xml::Document &doc,\n                                  const
      vlc_ml_media_t &media,\n                                  const std::vector<utils::MediaTrackRef>
      v_tracks,\n                                  const std::vector<utils::MediaFileRef>
      main_files,\n                                  const std::string &file_extension)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: utils::get_media_tracks
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:99,1
    - Dst: utils::get_media_files
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:100,1
    - Dst: xml::Element::add_child
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:102,1
    - Dst: cds::make_resource
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:102,1
    - Dst: utils::file_extension
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:110,1
    - Dst: std::string
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:110,1
    - Dst: utils::thumbnail_url
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:111,1
    - Dst: static_cast<vlc_ml_thumbnail_size_t>
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:111,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:112,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:112,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:112,1
    - Dst: utils::http::get_dlna_extra_protocol_info
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:115,1
    - Dst: auto::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:116,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:116,1
    - Dst: xml::Element::add_child
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:118,1
    - Dst: std::move
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:118,1
    - Dst: utils::get_media_files
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:122,1
    - Dst: auto::empty
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:123,1
    - Dst: auto::front
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:125,1
    - Dst: utils::file_extension
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:126,1
    - Dst: utils::get_server_url
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:127,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:127,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:130,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:130,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:130,1
    - Dst: auto::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:131,1
    - Dst: c_str
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:131,1
    - Dst: xml::Element::add_child
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:132,1
    - Dst: std::move
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - dest
    - media
    - file_extension
    argTypes:
    - xml::Element
    - vlc_ml_media_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 134
    functionName: cds::dump_resources
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/Item.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - std::move
    - std::string::c_str
    - xml::Element::add_child
    - auto::empty
    - utils::get_media_tracks
    - xml::Document::create_element
    - xml::Document::create_text_node
    - utils::http::get_dlna_extra_protocol_info
    - static_cast<vlc_ml_thumbnail_size_t>
    - auto::front
    - utils::file_extension
    - auto::set_attribute
    - cds::make_resource
    - auto::c_str
    - utils::get_server_url
    - utils::get_media_files
    - utils::thumbnail_url
    - c_str
    - std::string
    linkageType: ''
    returnType: void
    signature: void dump_resources(xml::Element &dest, const vlc_ml_media_t &media,
      const std::string &file_extension)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: utils::file_extension
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:146,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:161,1
    - Dst: xml::Element::add_children
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:165,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:165,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:165,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:166,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:166,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:167,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:167,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:167,1
    - Dst: func_get
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:173,1
    - Dst: utils::album_thumbnail_url
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:176,1
    - Dst: xml::Element::add_children
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:177,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:178,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:178,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:179,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:179,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:180,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:181,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:181,1
    - Dst: dump_resources
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:189,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - dest
    - media
    - ml
    argTypes:
    - xml::Element
    - vlc_ml_media_t
    - ml::MediaLibraryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 190
    functionName: cds::Item::dump_mlobject_metadata
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/Item.cpp
    functionUses: 2
    functionsReached:
    - auto::c_str
    - utils::album_thumbnail_url
    - xml::Document::create_element
    - xml::Document::create_text_node
    - std::to_string
    - std::string::c_str
    - xml::Element::add_children
    - func_get
    - dump_resources
    - utils::file_extension
    linkageType: ''
    returnType: void
    signature: "void Item::dump_mlobject_metadata(xml::Element &dest,\n                                  const
      vlc_ml_media_t &media,\n                                  const ml::MediaLibraryContext
      &ml)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:194,1
    - Dst: Object::ExtraId::has_value
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:194,1
    - Dst: func_get
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:195,1
    - Dst: cds::Item::dump_mlobject_metadata
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:197,1
    - Dst: auto::get
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dest
    - extra_id
    argTypes:
    - xml::Element
    - Object::ExtraId
    assertStmts:
    - condition: (extra_id.has_value())
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/vlc/modules/control/upnp_server/cds/Item.cpp
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 4
    functionLinenumber: 192
    functionLinenumberEnd: 198
    functionName: cds::Item::dump_metadata
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/Item.cpp
    functionUses: 0
    functionsReached:
    - assert
    - auto::get
    - func_get
    - cds::Item::dump_mlobject_metadata
    - Object::ExtraId::has_value
    linkageType: ''
    returnType: void
    signature: void Item::dump_metadata(xml::Element &dest, const Object::ExtraId
      &extra_id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - id
    - ml
    argTypes:
    - int64_t
    - ml::MediaLibraryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: cds::Item::Item
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/Item.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Item::Item(const int64_t id, const ml::MediaLibraryContext &ml)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duration_cast<seconds>
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:46,1
    - Dst: std::strftime
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:47,1
    - Dst: std::localtime
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fmt
    - duration
    argTypes:
    - char*
    - std::chrono::duration<Rep, Pediod>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: cds::duration_to_string
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/Item.cpp
    functionUses: 1
    functionsReached:
    - duration_cast<seconds>
    - std::localtime
    - std::strftime
    linkageType: ''
    returnType: std::string
    signature: std::string duration_to_string(const char *fmt, std::chrono::duration<Rep,
      Pediod> duration)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string::c_str
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:58,1
    - Dst: utils::get_server_url
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:60,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:62,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:64,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:64,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:64,1
    - Dst: cds::duration_to_string
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:66,1
    - Dst: std::chrono::milliseconds
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:66,1
    - Dst: auto::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:67,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:67,1
    - Dst: std::vector<utils::MediaTrackRef>::size
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:72,1
    - Dst: auto::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:78,1
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:78,1
    - Dst: utils::get_mimetype
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:81,1
    - Dst: utils::http::get_dlna_extra_protocol_info
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:82,1
    - Dst: auto::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:84,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:84,1
    - Dst: std::vector<utils::MediaFileRef>::size
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:86,1
    - Dst: auto::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:88,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:88,1
    - Dst: get
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - doc
    - media
    - v_tracks
    - main_files
    - file_extension
    argTypes:
    - xml::Document
    - vlc_ml_media_t
    - std::vector<utils::MediaTrackRef>
    - std::vector<utils::MediaFileRef>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 92
    functionName: cds::make_resource
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/Item.cpp
    functionUses: 1
    functionsReached:
    - utils::http::get_dlna_extra_protocol_info
    - auto::c_str
    - utils::get_server_url
    - xml::Document::create_element
    - get
    - std::chrono::milliseconds
    - utils::get_mimetype
    - std::vector<utils::MediaFileRef>::size
    - xml::Document::create_text_node
    - std::to_string
    - std::string::c_str
    - std::stringstream::str
    - std::vector<utils::MediaTrackRef>::size
    - auto::set_attribute
    - cds::duration_to_string
    linkageType: ''
    returnType: xml::Element
    signature: "xml::Element make_resource(xml::Document &doc,\n                                  const
      vlc_ml_media_t &media,\n                                  const std::vector<utils::MediaTrackRef>
      v_tracks,\n                                  const std::vector<utils::MediaFileRef>
      main_files,\n                                  const std::string &file_extension)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: utils::get_media_tracks
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:99,1
    - Dst: utils::get_media_files
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:100,1
    - Dst: xml::Element::add_child
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:102,1
    - Dst: cds::make_resource
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:102,1
    - Dst: utils::file_extension
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:110,1
    - Dst: std::string
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:110,1
    - Dst: utils::thumbnail_url
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:111,1
    - Dst: static_cast<vlc_ml_thumbnail_size_t>
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:111,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:112,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:112,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:112,1
    - Dst: utils::http::get_dlna_extra_protocol_info
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:115,1
    - Dst: auto::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:116,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:116,1
    - Dst: xml::Element::add_child
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:118,1
    - Dst: std::move
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:118,1
    - Dst: utils::get_media_files
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:122,1
    - Dst: auto::empty
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:123,1
    - Dst: auto::front
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:125,1
    - Dst: utils::file_extension
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:126,1
    - Dst: utils::get_server_url
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:127,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:127,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:130,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:130,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:130,1
    - Dst: auto::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:131,1
    - Dst: c_str
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:131,1
    - Dst: xml::Element::add_child
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:132,1
    - Dst: std::move
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - dest
    - media
    - file_extension
    argTypes:
    - xml::Element
    - vlc_ml_media_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 134
    functionName: cds::dump_resources
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/Item.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - std::move
    - std::string::c_str
    - xml::Element::add_child
    - auto::empty
    - utils::get_media_tracks
    - xml::Document::create_element
    - xml::Document::create_text_node
    - utils::http::get_dlna_extra_protocol_info
    - static_cast<vlc_ml_thumbnail_size_t>
    - auto::front
    - utils::file_extension
    - auto::set_attribute
    - cds::make_resource
    - auto::c_str
    - utils::get_server_url
    - utils::get_media_files
    - utils::thumbnail_url
    - c_str
    - std::string
    linkageType: ''
    returnType: void
    signature: void dump_resources(xml::Element &dest, const vlc_ml_media_t &media,
      const std::string &file_extension)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: utils::file_extension
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:146,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:161,1
    - Dst: xml::Element::add_children
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:165,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:165,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:165,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:166,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:166,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:167,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:167,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:167,1
    - Dst: func_get
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:173,1
    - Dst: utils::album_thumbnail_url
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:176,1
    - Dst: xml::Element::add_children
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:177,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:178,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:178,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:179,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:179,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:180,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:181,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:181,1
    - Dst: dump_resources
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:189,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - dest
    - media
    - ml
    argTypes:
    - xml::Element
    - vlc_ml_media_t
    - ml::MediaLibraryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 190
    functionName: cds::Item::dump_mlobject_metadata
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/Item.cpp
    functionUses: 3
    functionsReached:
    - auto::c_str
    - utils::album_thumbnail_url
    - xml::Document::create_element
    - xml::Document::create_text_node
    - std::to_string
    - std::string::c_str
    - xml::Element::add_children
    - func_get
    - dump_resources
    - utils::file_extension
    linkageType: ''
    returnType: void
    signature: "void Item::dump_mlobject_metadata(xml::Element &dest,\n                                  const
      vlc_ml_media_t &media,\n                                  const ml::MediaLibraryContext
      &ml)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:194,1
    - Dst: Object::ExtraId::has_value
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:194,1
    - Dst: func_get
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:195,1
    - Dst: cds::Item::dump_mlobject_metadata
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:197,1
    - Dst: auto::get
      Src: /src/vlc/modules/control/upnp_server/cds/Item.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dest
    - extra_id
    argTypes:
    - xml::Element
    - Object::ExtraId
    assertStmts:
    - condition: (extra_id.has_value())
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/vlc/modules/control/upnp_server/cds/Item.cpp
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 4
    functionLinenumber: 192
    functionLinenumberEnd: 198
    functionName: cds::Item::dump_metadata
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/Item.cpp
    functionUses: 0
    functionsReached:
    - assert
    - auto::get
    - func_get
    - cds::Item::dump_mlobject_metadata
    - Object::ExtraId::has_value
    linkageType: ''
    returnType: void
    signature: void Item::dump_metadata(xml::Element &dest, const Object::ExtraId
      &extra_id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - id
    - parent_id
    - name
    - type
    argTypes:
    - int64_t
    - int64_t
    - char*
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: cds::Object
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/Object.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Object(int64_t id, int64_t parent_id, const char *name, const
      Type type) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: ~Object()
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/Object.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Object()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cds::create_object_element
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:69,1
    - Dst: dump_metadata
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - doc
    - extra_id
    argTypes:
    - xml::Document
    - ExtraId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: cds::browse_metadata
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/Object.hpp
    functionUses: 0
    functionsReached:
    - dump_metadata
    - cds::create_object_element
    linkageType: ''
    returnType: xml::Element
    signature: xml::Element browse_metadata(xml::Document &doc, const ExtraId &extra_id)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:79,1
    - Dst: ExtraId::has_value
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:81,1
    - Dst: auto::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:83,1
    - Dst: cds::get_dynamic_id
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:83,1
    - Dst: auto::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:84,1
    - Dst: ExtraId::parent::c_str
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:84,1
    - Dst: auto::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:88,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:88,1
    - Dst: auto::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:89,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:89,1
    - Dst: auto::add_child
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:94,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:94,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:94,1
    - Dst: auto::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - doc
    - extra_id
    argTypes:
    - xml::Document
    - ExtraId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 98
    functionName: cds::create_object_element
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/Object.hpp
    functionUses: 1
    functionsReached:
    - ExtraId::parent::c_str
    - xml::Document::create_element
    - std::to_string
    - auto::add_child
    - xml::Document::create_text_node
    - ExtraId::has_value
    - cds::get_dynamic_id
    - auto::set_attribute
    linkageType: ''
    returnType: xml::Element
    signature: xml::Element create_object_element(xml::Document &doc, const ExtraId
      &extra_id) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ExtraId::has_value
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:107,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:108,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:109,1
    - Dst: ExtraId::parent::empty
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:110,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:111,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - extra_id
    argTypes:
    - ExtraId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: cds::get_dynamic_id
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/Object.hpp
    functionUses: 1
    functionsReached:
    - ExtraId::has_value
    - ExtraId::parent::empty
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string get_dynamic_id(const ExtraId &extra_id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - id
    - parent_id
    - name
    - type
    argTypes:
    - int64_t
    - int64_t
    - char*
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: cds::Object
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/Object.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Object(int64_t id, int64_t parent_id, const char *name, const
      Type type) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: ~Object()
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/Object.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Object()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cds::create_object_element
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:69,1
    - Dst: dump_metadata
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - doc
    - extra_id
    argTypes:
    - xml::Document
    - ExtraId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: cds::browse_metadata
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/Object.hpp
    functionUses: 0
    functionsReached:
    - dump_metadata
    - cds::create_object_element
    linkageType: ''
    returnType: xml::Element
    signature: xml::Element browse_metadata(xml::Document &doc, const ExtraId &extra_id)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:79,1
    - Dst: ExtraId::has_value
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:81,1
    - Dst: auto::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:83,1
    - Dst: cds::get_dynamic_id
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:83,1
    - Dst: auto::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:84,1
    - Dst: ExtraId::parent::c_str
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:84,1
    - Dst: auto::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:88,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:88,1
    - Dst: auto::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:89,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:89,1
    - Dst: auto::add_child
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:94,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:94,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:94,1
    - Dst: auto::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - doc
    - extra_id
    argTypes:
    - xml::Document
    - ExtraId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 98
    functionName: cds::create_object_element
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/Object.hpp
    functionUses: 2
    functionsReached:
    - ExtraId::parent::c_str
    - xml::Document::create_element
    - std::to_string
    - auto::add_child
    - xml::Document::create_text_node
    - ExtraId::has_value
    - cds::get_dynamic_id
    - auto::set_attribute
    linkageType: ''
    returnType: xml::Element
    signature: xml::Element create_object_element(xml::Document &doc, const ExtraId
      &extra_id) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ExtraId::has_value
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:107,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:108,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:109,1
    - Dst: ExtraId::parent::empty
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:110,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:111,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/cds/Object.hpp:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - extra_id
    argTypes:
    - ExtraId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: cds::get_dynamic_id
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/Object.hpp
    functionUses: 2
    functionsReached:
    - ExtraId::has_value
    - ExtraId::parent::empty
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string get_dynamic_id(const ExtraId &extra_id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_query_params_create
      Src: /src/vlc/modules/control/upnp_server/cds/Container.hpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: cds::Container::to_query_params
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/Container.hpp
    functionUses: 0
    functionsReached:
    - vlc_ml_query_params_create
    linkageType: ''
    returnType: vlc_ml_query_params_t
    signature: vlc_ml_query_params_t to_query_params() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - id
    - parent_id
    - name
    argTypes:
    - int64_t
    - int64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: cds::Container::Container
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/Container.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Container(const int64_t id,\n              const int64_t parent_id,\n
      \             const char *name) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_query_params_create
      Src: /src/vlc/modules/control/upnp_server/cds/Container.hpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: cds::Container::to_query_params
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/Container.hpp
    functionUses: 0
    functionsReached:
    - vlc_ml_query_params_create
    linkageType: ''
    returnType: vlc_ml_query_params_t
    signature: vlc_ml_query_params_t to_query_params() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - id
    - parent_id
    - name
    argTypes:
    - int64_t
    - int64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: cds::Container::Container
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/Container.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Container(const int64_t id,\n              const int64_t parent_id,\n
      \             const char *name) noexcept"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:40,1
    - Dst: vlc_uri2path
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:40,1
    - Dst: strlen
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:44,1
    - Dst: auto::get
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:44,1
    - Dst: strlen
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:52,1
    - Dst: auto::get
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:52,1
    - Dst: auto::get
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:54,1
    - Dst: auto::get
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:55,1
    - Dst: strrchr
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:59,1
    - Dst: auto::get
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:59,1
    - Dst: xml::Element::add_children
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:62,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:63,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:64,1
    - Dst: auto::get
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:64,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:65,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - dest
    - folder
    argTypes:
    - xml::Element
    - vlc_ml_folder_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 66
    functionName: cds::MLFolderContainer::dump_folder_metadata
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp
    functionUses: 0
    functionsReached:
    - vlc::wrap_cptr
    - xml::Document::create_element
    - strlen
    - vlc_uri2path
    - xml::Document::create_text_node
    - auto::get
    - xml::Element::add_children
    - strrchr
    linkageType: ''
    returnType: void
    signature: void dump_folder_metadata(xml::Element &dest, const vlc_ml_folder_t
      &folder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - id
    - parent_id
    - name
    - ml
    - child
    argTypes:
    - int64_t
    - int64_t
    - char*
    - ml::MediaLibraryContext
    - Item
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: cds::MLFolderContainer::MLFolderContainer
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MLFolderContainer(int64_t id,\n                      int64_t
      parent_id,\n                      const char *name,\n                      const
      ml::MediaLibraryContext &ml,\n                      const Item &child)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Object::ExtraId::has_value
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:81,1
    - Dst: xml::Element::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:83,1
    - Dst: xml::Element::add_child
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:86,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:87,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:87,1
    - Dst: func_get
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:90,1
    - Dst: cds::MLFolderContainer::dump_folder_metadata
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - dest
    - extra
    argTypes:
    - xml::Element
    - Object::ExtraId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 96
    functionName: cds::MLFolderContainer::dump_metadata
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp
    functionUses: 0
    functionsReached:
    - xml::Element::set_attribute
    - xml::Document::create_element
    - cds::MLFolderContainer::dump_folder_metadata
    - xml::Document::create_text_node
    - func_get
    - xml::Element::add_child
    - Object::ExtraId::has_value
    linkageType: ''
    returnType: void
    signature: void dump_metadata(xml::Element &dest, const Object::ExtraId &extra)
      const final
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BrowseParams::to_query_params
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:102,1
    - Dst: assert
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:103,1
    - Dst: Object::ExtraId::has_value
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:103,1
    - Dst: func_get
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:105,1
    - Dst: assert
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:106,1
    - Dst: test_moduledescriptionlist
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:110,1
    - Dst: create_object_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:117,1
    - Dst: get_dynamic_id
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:117,1
    - Dst: cds::MLFolderContainer::dump_folder_metadata
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:118,1
    - Dst: xml::Element::add_child
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:119,1
    - Dst: std::move
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:119,1
    - Dst: test_moduledescriptionlist
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:123,1
    - Dst: create_object_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:129,1
    - Dst: get_dynamic_id
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:130,1
    - Dst: cds::Item::dump_mlobject_metadata
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:131,1
    - Dst: xml::Element::add_child
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:132,1
    - Dst: std::move
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:132,1
    - Dst: wait_item_count
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:138,1
    - Dst: wait_item_count
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - dest
    - params
    - extra
    argTypes:
    - xml::Element
    - BrowseParams
    - Object::ExtraId
    assertStmts:
    - condition: (folder != nullptr)
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp
    - condition: (extra.has_value())
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp
    constantsTouched: []
    func_position:
      end: 141
      start: 98
    functionDepth: 4
    functionLinenumber: 98
    functionLinenumberEnd: 141
    functionName: cds::MLFolderContainer::browse_direct_children
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp
    functionUses: 0
    functionsReached:
    - BrowseParams::to_query_params
    - test_moduledescriptionlist
    - assert
    - create_object_element
    - cds::MLFolderContainer::dump_folder_metadata
    - std::move
    - func_get
    - xml::Element::add_child
    - cds::Item::dump_mlobject_metadata
    - get_dynamic_id
    - Object::ExtraId::has_value
    - wait_item_count
    linkageType: ''
    returnType: BrowseStats
    signature: "BrowseStats browse_direct_children(xml::Element &dest,\n                                       const
      BrowseParams params,\n                                       const Object::ExtraId
      &extra) const final"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:40,1
    - Dst: vlc_uri2path
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:40,1
    - Dst: strlen
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:44,1
    - Dst: auto::get
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:44,1
    - Dst: strlen
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:52,1
    - Dst: auto::get
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:52,1
    - Dst: auto::get
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:54,1
    - Dst: auto::get
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:55,1
    - Dst: strrchr
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:59,1
    - Dst: auto::get
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:59,1
    - Dst: xml::Element::add_children
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:62,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:63,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:64,1
    - Dst: auto::get
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:64,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:65,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - dest
    - folder
    argTypes:
    - xml::Element
    - vlc_ml_folder_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 66
    functionName: cds::MLFolderContainer::dump_folder_metadata
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp
    functionUses: 2
    functionsReached:
    - vlc::wrap_cptr
    - xml::Document::create_element
    - strlen
    - vlc_uri2path
    - xml::Document::create_text_node
    - auto::get
    - xml::Element::add_children
    - strrchr
    linkageType: ''
    returnType: void
    signature: void dump_folder_metadata(xml::Element &dest, const vlc_ml_folder_t
      &folder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - id
    - parent_id
    - name
    - ml
    - child
    argTypes:
    - int64_t
    - int64_t
    - char*
    - ml::MediaLibraryContext
    - Item
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: cds::MLFolderContainer::MLFolderContainer
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MLFolderContainer(int64_t id,\n                      int64_t
      parent_id,\n                      const char *name,\n                      const
      ml::MediaLibraryContext &ml,\n                      const Item &child)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Object::ExtraId::has_value
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:81,1
    - Dst: xml::Element::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:83,1
    - Dst: xml::Element::add_child
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:86,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:87,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:87,1
    - Dst: func_get
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:90,1
    - Dst: cds::MLFolderContainer::dump_folder_metadata
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - dest
    - extra
    argTypes:
    - xml::Element
    - Object::ExtraId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 96
    functionName: cds::MLFolderContainer::dump_metadata
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp
    functionUses: 0
    functionsReached:
    - xml::Element::set_attribute
    - xml::Document::create_element
    - cds::MLFolderContainer::dump_folder_metadata
    - xml::Document::create_text_node
    - func_get
    - xml::Element::add_child
    - Object::ExtraId::has_value
    linkageType: ''
    returnType: void
    signature: void dump_metadata(xml::Element &dest, const Object::ExtraId &extra)
      const final
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BrowseParams::to_query_params
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:102,1
    - Dst: assert
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:103,1
    - Dst: Object::ExtraId::has_value
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:103,1
    - Dst: func_get
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:105,1
    - Dst: assert
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:106,1
    - Dst: test_moduledescriptionlist
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:110,1
    - Dst: create_object_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:117,1
    - Dst: get_dynamic_id
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:117,1
    - Dst: cds::MLFolderContainer::dump_folder_metadata
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:118,1
    - Dst: xml::Element::add_child
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:119,1
    - Dst: std::move
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:119,1
    - Dst: test_moduledescriptionlist
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:123,1
    - Dst: create_object_element
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:129,1
    - Dst: get_dynamic_id
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:130,1
    - Dst: cds::Item::dump_mlobject_metadata
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:131,1
    - Dst: xml::Element::add_child
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:132,1
    - Dst: std::move
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:132,1
    - Dst: wait_item_count
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:138,1
    - Dst: wait_item_count
      Src: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - dest
    - params
    - extra
    argTypes:
    - xml::Element
    - BrowseParams
    - Object::ExtraId
    assertStmts:
    - condition: (folder != nullptr)
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp
    - condition: (extra.has_value())
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp
    constantsTouched: []
    func_position:
      end: 141
      start: 98
    functionDepth: 4
    functionLinenumber: 98
    functionLinenumberEnd: 141
    functionName: cds::MLFolderContainer::browse_direct_children
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/MLFolderContainer.hpp
    functionUses: 0
    functionsReached:
    - BrowseParams::to_query_params
    - test_moduledescriptionlist
    - assert
    - create_object_element
    - cds::MLFolderContainer::dump_folder_metadata
    - std::move
    - func_get
    - xml::Element::add_child
    - cds::Item::dump_mlobject_metadata
    - get_dynamic_id
    - Object::ExtraId::has_value
    - wait_item_count
    linkageType: ''
    returnType: BrowseStats
    signature: "BrowseStats browse_direct_children(xml::Element &dest,\n                                       const
      BrowseParams params,\n                                       const Object::ExtraId
      &extra) const final"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - id
    - parent_id
    - name
    - children
    argTypes:
    - int64_t
    - int64_t
    - char*
    - std::initializer_list<ObjRef>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: cds::FixedContainer::FixedContainer
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FixedContainer::FixedContainer(const int64_t id,\n                               const
      int64_t parent_id,\n                               const char *name,\n                               std::initializer_list<ObjRef>
      children)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - id
    - parent_id
    - name
    argTypes:
    - int64_t
    - int64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: cds::FixedContainer::FixedContainer
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FixedContainer::FixedContainer(const int64_t id, const int64_t
      parent_id, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp:51,1
    - Dst: static_cast<size_t>
      Src: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp:51,1
    - Dst: size
      Src: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp:51,1
    - Dst: at
      Src: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp:56,1
    - Dst: xml::Element::add_child
      Src: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp:57,1
    - Dst: Object::browse_metadata
      Src: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp:57,1
    - Dst: size
      Src: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dest
    - params
    - extra
    argTypes:
    - xml::Element
    - BrowseParams
    - Object::ExtraId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: cds::FixedContainer::browse_direct_children
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - size
    - Object::browse_metadata
    - std::min
    - at
    - xml::Element::add_child
    linkageType: ''
    returnType: Container::BrowseStats
    signature: "Container::BrowseStats FixedContainer::browse_direct_children(xml::Element
      &dest,\n                                                              BrowseParams
      params,\n                                                              const
      Object::ExtraId &extra) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xml::Element::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp:64,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp:64,1
    - Dst: size
      Src: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp:64,1
    - Dst: xml::Element::add_child
      Src: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp:67,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp:67,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dest
    argTypes:
    - xml::Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: cds::FixedContainer::dump_metadata
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp
    functionUses: 0
    functionsReached:
    - xml::Element::set_attribute
    - xml::Document::create_element
    - size
    - std::to_string
    - xml::Document::create_text_node
    - xml::Element::add_child
    linkageType: ''
    returnType: void
    signature: void FixedContainer::dump_metadata(xml::Element &dest, const Object::ExtraId
      &) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp:76,1
    - Dst: end
      Src: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp:76,1
    - Dst: std::initializer_list<ObjRef>::begin
      Src: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp:76,1
    - Dst: std::initializer_list<ObjRef>::end
      Src: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - l
    argTypes:
    - std::initializer_list<ObjRef>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: cds::FixedContainer::add_children
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp
    functionUses: 0
    functionsReached:
    - std::initializer_list<ObjRef>::begin
    - end
    - std::initializer_list<ObjRef>::end
    - insert
    linkageType: ''
    returnType: void
    signature: void FixedContainer::add_children(std::initializer_list<ObjRef> l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - id
    - parent_id
    - name
    - children
    argTypes:
    - int64_t
    - int64_t
    - char*
    - std::initializer_list<ObjRef>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: cds::FixedContainer::FixedContainer
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FixedContainer::FixedContainer(const int64_t id,\n                               const
      int64_t parent_id,\n                               const char *name,\n                               std::initializer_list<ObjRef>
      children)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - id
    - parent_id
    - name
    argTypes:
    - int64_t
    - int64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: cds::FixedContainer::FixedContainer
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FixedContainer::FixedContainer(const int64_t id, const int64_t
      parent_id, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp:51,1
    - Dst: static_cast<size_t>
      Src: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp:51,1
    - Dst: size
      Src: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp:51,1
    - Dst: at
      Src: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp:56,1
    - Dst: xml::Element::add_child
      Src: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp:57,1
    - Dst: Object::browse_metadata
      Src: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp:57,1
    - Dst: size
      Src: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dest
    - params
    - extra
    argTypes:
    - xml::Element
    - BrowseParams
    - Object::ExtraId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: cds::FixedContainer::browse_direct_children
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - size
    - Object::browse_metadata
    - std::min
    - at
    - xml::Element::add_child
    linkageType: ''
    returnType: Container::BrowseStats
    signature: "Container::BrowseStats FixedContainer::browse_direct_children(xml::Element
      &dest,\n                                                              BrowseParams
      params,\n                                                              const
      Object::ExtraId &extra) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xml::Element::set_attribute
      Src: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp:64,1
    - Dst: std::to_string
      Src: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp:64,1
    - Dst: size
      Src: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp:64,1
    - Dst: xml::Element::add_child
      Src: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp:67,1
    - Dst: xml::Document::create_element
      Src: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp:67,1
    - Dst: xml::Document::create_text_node
      Src: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dest
    argTypes:
    - xml::Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: cds::FixedContainer::dump_metadata
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp
    functionUses: 0
    functionsReached:
    - xml::Element::set_attribute
    - xml::Document::create_element
    - size
    - std::to_string
    - xml::Document::create_text_node
    - xml::Element::add_child
    linkageType: ''
    returnType: void
    signature: void FixedContainer::dump_metadata(xml::Element &dest, const Object::ExtraId
      &) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp:76,1
    - Dst: end
      Src: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp:76,1
    - Dst: std::initializer_list<ObjRef>::begin
      Src: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp:76,1
    - Dst: std::initializer_list<ObjRef>::end
      Src: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - l
    argTypes:
    - std::initializer_list<ObjRef>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: cds::FixedContainer::add_children
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/FixedContainer.cpp
    functionUses: 0
    functionsReached:
    - std::initializer_list<ObjRef>::begin
    - end
    - std::initializer_list<ObjRef>::end
    - insert
    linkageType: ''
    returnType: void
    signature: void FixedContainer::add_children(std::initializer_list<ObjRef> l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getline
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:40,1
    - Dst: static_cast<T>
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:44,1
    - Dst: std::stoull
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ss
    - delim
    argTypes:
    - std::stringstream
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionName: cds::next_value
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/cds.cpp
    functionUses: 0
    functionsReached:
    - std::stoull
    - static_cast<T>
    - getline
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> next_value(std::stringstream &ss, const char delim)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cds::next_value
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:55,1
    - Dst: auto::has_value
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:56,1
    - Dst: std::invalid_argument
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:57,1
    - Dst: cds::next_value
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:58,1
    - Dst: getline
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:63,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:63,1
    - Dst: std::string::back
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:63,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:64,1
    - Dst: std::string::size
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:64,1
    - Dst: auto::has_value
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:67,1
    - Dst: std::optional::value_or
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:68,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 70
    functionName: cds::parse_id
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/cds.cpp
    functionUses: 1
    functionsReached:
    - std::string::back
    - std::string::empty
    - std::invalid_argument
    - std::optional::value_or
    - std::string::size
    - cds::next_value
    - getline
    - auto::has_value
    - std::string::substr
    linkageType: ''
    returnType: std::tuple<unsigned, Object::ExtraId>
    signature: std::tuple<unsigned, Object::ExtraId> parse_id(const std::string &id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:78,1
    - Dst: std::make_unique<FixedContainer>
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:81,1
    - Dst: std::vector::emplace_back
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:82,1
    - Dst: std::move
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:82,1
    - Dst: std::vector::back
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:83,1
    - Dst: std::vector::size
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:87,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:89,1
    - Dst: std::make_unique<MLContainer<decltype(MLHelper)>>
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:90,1
    - Dst: static_cast<Object &>
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:91,1
    - Dst: std::vector::back
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:91,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:94,1
    - Dst: std::make_unique<FixedContainer>
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:94,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:95,1
    - Dst: std::make_unique<Item>
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:95,1
    - Dst: static_cast<const Item &>
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:97,1
    - Dst: std::vector::size
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:100,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:101,1
    - Dst: std::make_unique<MLFolderContainer>
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:101,1
    - Dst: static_cast<Object &>
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:102,1
    - Dst: std::vector::back
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:102,1
    - Dst: std::vector::size
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:106,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:107,1
    - Dst: std::make_unique<MLContainer<decltype(MLHelper)>>
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:108,1
    - Dst: static_cast<Object &>
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:109,1
    - Dst: std::vector::back
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:109,1
    - Dst: static_cast<FixedContainer &>
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:112,1
    - Dst: add_fixed_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:114,1
    - Dst: add_ml_media_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:117,1
    - Dst: add_fixed_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:119,1
    - Dst: add_fixed_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:122,1
    - Dst: add_ml_media_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:123,1
    - Dst: add_ml_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:124,1
    - Dst: add_ml_media_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:126,1
    - Dst: add_ml_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:127,1
    - Dst: add_ml_media_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:129,1
    - Dst: add_fixed_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:132,1
    - Dst: add_ml_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:133,1
    - Dst: add_ml_media_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:135,1
    - Dst: add_ml_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:136,1
    - Dst: add_ml_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:138,1
    - Dst: add_ml_media_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:140,1
    - Dst: add_ml_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:142,1
    - Dst: add_ml_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:144,1
    - Dst: add_ml_media_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:146,1
    - Dst: add_ml_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:150,1
    - Dst: add_ml_media_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:152,1
    - Dst: add_ml_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:153,1
    - Dst: add_ml_folder_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ml
    argTypes:
    - ml::MediaLibraryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 157
    functionName: cds::init_hierarchy
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/cds.cpp
    functionUses: 2
    functionsReached:
    - std::make_unique<MLContainer<decltype(MLHelper)>>
    - std::make_unique<MLFolderContainer>
    - std::make_unique<FixedContainer>
    - std::vector::back
    - std::vector::emplace_back
    - add_ml_folder_container
    - std::make_unique<Item>
    - std::move
    - static_cast<FixedContainer &>
    - std::vector::push_back
    - std::vector::size
    - add_fixed_container
    - add_ml_container
    - static_cast<Object &>
    - static_cast<const Item &>
    - add_ml_media_container
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Object>>
    signature: std::vector<std::unique_ptr<Object>> init_hierarchy(const ml::MediaLibraryContext
      &ml)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getline
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:40,1
    - Dst: static_cast<T>
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:44,1
    - Dst: std::stoull
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ss
    - delim
    argTypes:
    - std::stringstream
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionName: cds::next_value
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/cds.cpp
    functionUses: 1
    functionsReached:
    - std::stoull
    - static_cast<T>
    - getline
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> next_value(std::stringstream &ss, const char delim)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cds::next_value
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:55,1
    - Dst: auto::has_value
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:56,1
    - Dst: std::invalid_argument
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:57,1
    - Dst: cds::next_value
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:58,1
    - Dst: getline
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:63,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:63,1
    - Dst: std::string::back
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:63,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:64,1
    - Dst: std::string::size
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:64,1
    - Dst: auto::has_value
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:67,1
    - Dst: std::optional::value_or
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:68,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 70
    functionName: cds::parse_id
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/cds.cpp
    functionUses: 1
    functionsReached:
    - std::string::back
    - std::string::empty
    - std::invalid_argument
    - std::optional::value_or
    - std::string::size
    - cds::next_value
    - getline
    - auto::has_value
    - std::string::substr
    linkageType: ''
    returnType: std::tuple<unsigned, Object::ExtraId>
    signature: std::tuple<unsigned, Object::ExtraId> parse_id(const std::string &id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:78,1
    - Dst: std::make_unique<FixedContainer>
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:81,1
    - Dst: std::vector::emplace_back
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:82,1
    - Dst: std::move
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:82,1
    - Dst: std::vector::back
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:83,1
    - Dst: std::vector::size
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:87,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:89,1
    - Dst: std::make_unique<MLContainer<decltype(MLHelper)>>
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:90,1
    - Dst: static_cast<Object &>
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:91,1
    - Dst: std::vector::back
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:91,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:94,1
    - Dst: std::make_unique<FixedContainer>
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:94,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:95,1
    - Dst: std::make_unique<Item>
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:95,1
    - Dst: static_cast<const Item &>
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:97,1
    - Dst: std::vector::size
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:100,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:101,1
    - Dst: std::make_unique<MLFolderContainer>
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:101,1
    - Dst: static_cast<Object &>
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:102,1
    - Dst: std::vector::back
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:102,1
    - Dst: std::vector::size
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:106,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:107,1
    - Dst: std::make_unique<MLContainer<decltype(MLHelper)>>
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:108,1
    - Dst: static_cast<Object &>
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:109,1
    - Dst: std::vector::back
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:109,1
    - Dst: static_cast<FixedContainer &>
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:112,1
    - Dst: add_fixed_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:114,1
    - Dst: add_ml_media_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:117,1
    - Dst: add_fixed_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:119,1
    - Dst: add_fixed_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:122,1
    - Dst: add_ml_media_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:123,1
    - Dst: add_ml_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:124,1
    - Dst: add_ml_media_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:126,1
    - Dst: add_ml_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:127,1
    - Dst: add_ml_media_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:129,1
    - Dst: add_fixed_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:132,1
    - Dst: add_ml_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:133,1
    - Dst: add_ml_media_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:135,1
    - Dst: add_ml_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:136,1
    - Dst: add_ml_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:138,1
    - Dst: add_ml_media_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:140,1
    - Dst: add_ml_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:142,1
    - Dst: add_ml_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:144,1
    - Dst: add_ml_media_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:146,1
    - Dst: add_ml_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:150,1
    - Dst: add_ml_media_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:152,1
    - Dst: add_ml_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:153,1
    - Dst: add_ml_folder_container
      Src: /src/vlc/modules/control/upnp_server/cds/cds.cpp:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ml
    argTypes:
    - ml::MediaLibraryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 157
    functionName: cds::init_hierarchy
    functionSourceFile: /src/vlc/modules/control/upnp_server/cds/cds.cpp
    functionUses: 2
    functionsReached:
    - std::make_unique<MLContainer<decltype(MLHelper)>>
    - std::make_unique<MLFolderContainer>
    - std::make_unique<FixedContainer>
    - std::vector::back
    - std::vector::emplace_back
    - add_ml_folder_container
    - std::make_unique<Item>
    - std::move
    - static_cast<FixedContainer &>
    - std::vector::push_back
    - std::vector::size
    - add_fixed_container
    - add_ml_container
    - static_cast<Object &>
    - static_cast<const Item &>
    - add_ml_media_container
    linkageType: ''
    returnType: std::vector<std::unique_ptr<Object>>
    signature: std::vector<std::unique_ptr<Object>> init_hierarchy(const ml::MediaLibraryContext
      &ml)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/control/cli/cli.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: cmdcmp
    functionSourceFile: /src/vlc/modules/control/cli/cli.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int cmdcmp(const void *a, const void *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/control/cli/cli.c:113,1
    - Dst: unlikely
      Src: /src/vlc/modules/control/cli/cli.c:114,1
    - Dst: tsearch
      Src: /src/vlc/modules/control/cli/cli.c:120,1
    - Dst: unlikely
      Src: /src/vlc/modules/control/cli/cli.c:121,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/cli.c:123,1
    - Dst: assert
      Src: /src/vlc/modules/control/cli/cli.c:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - intf
    - handlers
    - count
    - opaque
    argTypes:
    - intf_thread_t*
    - struct cli_handler*
    - size_t
    - void*
    assertStmts:
    - condition: (*pp == cmd)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/vlc/modules/control/cli/cli.c
    constantsTouched: []
    func_position:
      end: 129
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 129
    functionName: RegisterHandlers
    functionSourceFile: /src/vlc/modules/control/cli/cli.c
    functionUses: 0
    functionsReached:
    - assert
    - free
    - tsearch
    - unlikely
    - malloc
    linkageType: ''
    returnType: void
    signature: "void RegisterHandlers(intf_thread_t *intf, const struct cli_handler
      *handlers,\n                      size_t count, void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:134,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:134,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:135,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:136,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:136,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:137,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:137,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:138,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:138,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:139,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:139,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:140,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:140,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:141,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:141,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:142,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:142,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:143,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:143,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:144,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:144,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:145,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:145,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:146,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:146,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:147,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:147,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:148,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:148,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:149,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:149,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:150,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:150,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:151,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:151,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:152,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:152,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:153,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:153,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:154,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:154,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:155,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:156,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:156,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:157,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:157,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:158,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:158,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:159,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:159,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:160,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:160,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:161,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:161,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:162,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:162,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:163,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:163,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:164,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:164,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:165,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:165,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:166,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:166,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:167,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:167,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:168,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:168,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:169,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:169,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:170,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:170,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:171,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:172,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:172,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:173,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:173,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:174,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:174,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:175,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:175,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:176,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:176,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:177,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:177,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:178,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:178,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:179,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:179,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:180,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:180,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:181,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:181,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:182,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:182,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:183,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:183,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:184,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:184,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:185,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:185,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:186,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:187,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:187,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:188,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:188,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:189,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:189,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:190,1
    - Dst: msg_rc
      Src: /src/vlc/modules/control/cli/cli.c:191,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 63
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 194
    functionName: Help
    functionSourceFile: /src/vlc/modules/control/cli/cli.c
    functionUses: 0
    functionsReached:
    - _
    - msg_rc
    linkageType: ''
    returnType: int
    signature: "int Help(struct cli_client *cl, const char *const *args, size_t count,\n
      \               void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intf_Create
      Src: /src/vlc/modules/control/cli/cli.c:203,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/control/cli/cli.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: Intf
    functionSourceFile: /src/vlc/modules/control/cli/cli.c
    functionUses: 15
    functionsReached:
    - intf_Create
    - vlc_object_instance
    linkageType: ''
    returnType: int
    signature: "int Intf(struct cli_client *cl, const char *const *args, size_t count,\n
      \               void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_Quit
      Src: /src/vlc/modules/control/cli/cli.c:211,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/control/cli/cli.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 214
    functionName: Quit
    functionSourceFile: /src/vlc/modules/control/cli/cli.c
    functionUses: 7
    functionsReached:
    - vlc_object_instance
    - libvlc_Quit
    linkageType: ''
    returnType: int
    signature: "int Quit(struct cli_client *cl, const char *const *args, size_t count,\n
      \               void *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_open
      Src: /src/vlc/modules/control/cli/cli.c:222,1
    - Dst: fileno
      Src: /src/vlc/modules/control/cli/cli.c:227,1
    - Dst: fflush
      Src: /src/vlc/modules/control/cli/cli.c:229,1
    - Dst: vlc_dup2
      Src: /src/vlc/modules/control/cli/cli.c:231,1
    - Dst: dup2
      Src: /src/vlc/modules/control/cli/cli.c:233,1
    - Dst: fseek
      Src: /src/vlc/modules/control/cli/cli.c:234,1
    - Dst: vlc_close
      Src: /src/vlc/modules/control/cli/cli.c:235,1
    - Dst: net_Close
      Src: /src/vlc/modules/control/cli/cli.c:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 251
    functionName: LogOut
    functionSourceFile: /src/vlc/modules/control/cli/cli.c
    functionUses: 0
    functionsReached:
    - fileno
    - vlc_open
    - vlc_close
    - net_Close
    - vlc_dup2
    - fseek
    - dup2
    - fflush
    linkageType: ''
    returnType: int
    signature: "int LogOut(struct cli_client *cl, const char *const *args, size_t
      count,\n                  void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/control/cli/cli.c:257,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/control/cli/cli.c:257,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/control/cli/cli.c:262,1
    - Dst: vlc_actions_get_id
      Src: /src/vlc/modules/control/cli/cli.c:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - cl
    - args
    - n
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: KeyAction
    functionSourceFile: /src/vlc/modules/control/cli/cli.c
    functionUses: 0
    functionsReached:
    - var_SetInteger
    - vlc_object_instance
    - vlc_actions_get_id
    - VLC_OBJECT
    linkageType: ''
    returnType: int
    signature: "int KeyAction(struct cli_client *cl, const char *const *args, size_t
      n,\n                     void *data)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strspn
      Src: /src/vlc/modules/control/cli/cli.c:286,1
    - Dst: wordexp
      Src: /src/vlc/modules/control/cli/cli.c:294,1
    - Dst: wordfree
      Src: /src/vlc/modules/control/cli/cli.c:301,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/cli.c:306,1
    - Dst: N_
      Src: /src/vlc/modules/control/cli/cli.c:306,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/control/cli/cli.c:316,1
    - Dst: unlikely
      Src: /src/vlc/modules/control/cli/cli.c:317,1
    - Dst: strdup
      Src: /src/vlc/modules/control/cli/cli.c:326,1
    - Dst: unlikely
      Src: /src/vlc/modules/control/cli/cli.c:327,1
    - Dst: strchr
      Src: /src/vlc/modules/control/cli/cli.c:333,1
    - Dst: strspn
      Src: /src/vlc/modules/control/cli/cli.c:338,1
    - Dst: assert
      Src: /src/vlc/modules/control/cli/cli.c:345,1
    - Dst: tfind
      Src: /src/vlc/modules/control/cli/cli.c:346,1
    - Dst: struct command*::handler::callback
      Src: /src/vlc/modules/control/cli/cli.c:351,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/cli.c:355,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:355,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/cli.c:361,1
    - Dst: wordfree
      Src: /src/vlc/modules/control/cli/cli.c:362,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/cli.c:364,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 3
    argNames:
    - intf
    - cl
    - line
    argTypes:
    - intf_thread_t*
    - struct cli_client*
    - char*
    assertStmts:
    - condition: (count > 0)
      pos:
        line_end: 344
        line_start: 344
        source_file: /src/vlc/modules/control/cli/cli.c
    constantsTouched: []
    func_position:
      end: 367
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 367
    functionName: Process
    functionSourceFile: /src/vlc/modules/control/cli/cli.c
    functionUses: 5
    functionsReached:
    - tfind
    - cli_printf
    - strchr
    - strdup
    - assert
    - strspn
    - N_
    - _
    - free
    - struct command*::handler::callback
    - wordfree
    - wordexp
    - vlc_alloc
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Process(intf_thread_t *intf, struct cli_client *cl, const char
      *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/control/cli/cli.c:375,1
    - Dst: vlc_writev
      Src: /src/vlc/modules/control/cli/cli.c:377,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/control/cli/cli.c:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cl
    - iov
    - iovlen
    argTypes:
    - struct cli_client*
    - struct iovec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 382
    functionName: cli_writev
    functionSourceFile: /src/vlc/modules/control/cli/cli.c
    functionUses: 0
    functionsReached:
    - vlc_writev
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t cli_writev(struct cli_client *cl,\n                          const
      struct iovec *iov, int iovlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vasprintf
      Src: /src/vlc/modules/control/cli/cli.c:387,1
    - Dst: likely
      Src: /src/vlc/modules/control/cli/cli.c:389,1
    - Dst: cli_writev
      Src: /src/vlc/modules/control/cli/cli.c:393,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/control/cli/cli.c:393,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/cli.c:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cl
    - fmt
    - args
    argTypes:
    - struct cli_client*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 398
    functionName: cli_vprintf
    functionSourceFile: /src/vlc/modules/control/cli/cli.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - vasprintf
    - free
    - likely
    - cli_writev
    linkageType: ''
    returnType: int
    signature: int cli_vprintf(struct cli_client *cl, const char *fmt, va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vlc/modules/control/cli/cli.c:405,1
    - Dst: cli_vprintf
      Src: /src/vlc/modules/control/cli/cli.c:406,1
    - Dst: va_end
      Src: /src/vlc/modules/control/cli/cli.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cl
    - fmt
    argTypes:
    - struct cli_client*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 400
    functionDepth: 3
    functionLinenumber: 400
    functionLinenumberEnd: 409
    functionName: cli_printf
    functionSourceFile: /src/vlc/modules/control/cli/cli.c
    functionUses: 1
    functionsReached:
    - va_end
    - cli_vprintf
    - va_start
    linkageType: ''
    returnType: int
    signature: int cli_printf(struct cli_client *cl, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/control/cli/cli.c:416,1
    - Dst: vlc_list_foreach
      Src: /src/vlc/modules/control/cli/cli.c:417,1
    - Dst: va_copy
      Src: /src/vlc/modules/control/cli/cli.c:420,1
    - Dst: cli_vprintf
      Src: /src/vlc/modules/control/cli/cli.c:421,1
    - Dst: va_end
      Src: /src/vlc/modules/control/cli/cli.c:422,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/control/cli/cli.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - p_intf
    - fmt
    - args
    argTypes:
    - intf_thread_t*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 411
    functionDepth: 3
    functionLinenumber: 411
    functionLinenumberEnd: 425
    functionName: msg_vprint
    functionSourceFile: /src/vlc/modules/control/cli/cli.c
    functionUses: 0
    functionsReached:
    - cli_vprintf
    - vlc_mutex_lock
    - vlc_mutex_unlock
    - va_copy
    - va_end
    - vlc_list_foreach
    linkageType: ''
    returnType: void
    signature: void msg_vprint(intf_thread_t *p_intf, const char *fmt, va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vlc/modules/control/cli/cli.c:431,1
    - Dst: msg_vprint
      Src: /src/vlc/modules/control/cli/cli.c:432,1
    - Dst: va_end
      Src: /src/vlc/modules/control/cli/cli.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - intf
    - fmt
    argTypes:
    - intf_thread_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 427
    functionDepth: 4
    functionLinenumber: 427
    functionLinenumberEnd: 434
    functionName: msg_print
    functionSourceFile: /src/vlc/modules/control/cli/cli.c
    functionUses: 0
    functionsReached:
    - va_end
    - msg_vprint
    - va_start
    linkageType: ''
    returnType: void
    signature: void msg_print(intf_thread_t *intf, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: KbdPeek
      Src: /src/vlc/modules/control/cli/cli.c:445,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/control/cli/cli.c:446,1
    - Dst: vlc_testcancel
      Src: /src/vlc/modules/control/cli/cli.c:449,1
    - Dst: fgets
      Src: /src/vlc/modules/control/cli/cli.c:451,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - buffer
    - n
    - stream
    argTypes:
    - char*
    - int
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 452
    functionName: os2_fgets
    functionSourceFile: /src/vlc/modules/control/cli/cli.c
    functionUses: 0
    functionsReached:
    - KbdPeek
    - fgets
    - vlc_testcancel
    - vlc_tick_sleep
    linkageType: ''
    returnType: char
    signature: char *os2_fgets(char *buffer, int n, FILE *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - buffer
    - ','
    - n
    - ','
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 455
    functionName: fgets
    functionSourceFile: /src/vlc/modules/control/cli/cli.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fgets(buffer, n, stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/control/cli/cli.c:463,1
    - Dst: fgets
      Src: /src/vlc/modules/control/cli/cli.c:465,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/control/cli/cli.c:467,1
    - Dst: strlen
      Src: /src/vlc/modules/control/cli/cli.c:469,1
    - Dst: Process
      Src: /src/vlc/modules/control/cli/cli.c:470,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/control/cli/cli.c:471,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/control/cli/cli.c:476,1
    - Dst: libvlc_Quit
      Src: /src/vlc/modules/control/cli/cli.c:477,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/control/cli/cli.c:477,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/control/cli/cli.c:478,1
    - Dst: shutdown
      Src: /src/vlc/modules/control/cli/cli.c:483,1
    - Dst: fileno
      Src: /src/vlc/modules/control/cli/cli.c:483,1
    - Dst: atomic_store_explicit
      Src: /src/vlc/modules/control/cli/cli.c:486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 488
    functionName: cli_client_thread
    functionSourceFile: /src/vlc/modules/control/cli/cli.c
    functionUses: 0
    functionsReached:
    - fileno
    - vlc_restorecancel
    - atomic_store_explicit
    - Process
    - vlc_thread_set_name
    - strlen
    - vlc_object_instance
    - vlc_savecancel
    - fgets
    - libvlc_Quit
    - shutdown
    linkageType: ''
    returnType: void
    signature: void *cli_client_thread(void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/control/cli/cli.c:493,1
    - Dst: unlikely
      Src: /src/vlc/modules/control/cli/cli.c:494,1
    - Dst: atomic_init
      Src: /src/vlc/modules/control/cli/cli.c:499,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/control/cli/cli.c:501,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/control/cli/cli.c:503,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/cli.c:505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - intf
    - fd
    - stream
    argTypes:
    - intf_thread_t*
    - int
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 509
    functionName: cli_client_new
    functionSourceFile: /src/vlc/modules/control/cli/cli.c
    functionUses: 0
    functionsReached:
    - atomic_init
    - vlc_clone
    - vlc_mutex_init
    - free
    - unlikely
    - malloc
    linkageType: ''
    returnType: struct cli_client
    signature: "struct cli_client *cli_client_new(intf_thread_t *intf, int fd,\n                                         FILE
      *stream)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/vlc/modules/control/cli/cli.c:518,1
    - Dst: fcntl
      Src: /src/vlc/modules/control/cli/cli.c:518,1
    - Dst: fdopen
      Src: /src/vlc/modules/control/cli/cli.c:520,1
    - Dst: vlc_close
      Src: /src/vlc/modules/control/cli/cli.c:523,1
    - Dst: cli_client_new
      Src: /src/vlc/modules/control/cli/cli.c:527,1
    - Dst: unlikely
      Src: /src/vlc/modules/control/cli/cli.c:528,1
    - Dst: fclose
      Src: /src/vlc/modules/control/cli/cli.c:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - intf
    - fd
    argTypes:
    - intf_thread_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 516
    functionDepth: 2
    functionLinenumber: 516
    functionLinenumberEnd: 531
    functionName: cli_client_new_fd
    functionSourceFile: /src/vlc/modules/control/cli/cli.c
    functionUses: 0
    functionsReached:
    - cli_client_new
    - vlc_close
    - fcntl
    - fdopen
    - unlikely
    - fclose
    linkageType: ''
    returnType: struct cli_client
    signature: struct cli_client *cli_client_new_fd(intf_thread_t *intf, int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cli_client_new
      Src: /src/vlc/modules/control/cli/cli.c:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - intf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 536
    functionDepth: 2
    functionLinenumber: 536
    functionLinenumberEnd: 539
    functionName: cli_client_new_std
    functionSourceFile: /src/vlc/modules/control/cli/cli.c
    functionUses: 0
    functionsReached:
    - cli_client_new
    linkageType: ''
    returnType: struct cli_client
    signature: struct cli_client *cli_client_new_std(intf_thread_t *intf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_cancel
      Src: /src/vlc/modules/control/cli/cli.c:543,1
    - Dst: vlc_join
      Src: /src/vlc/modules/control/cli/cli.c:544,1
    - Dst: fclose
      Src: /src/vlc/modules/control/cli/cli.c:547,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/cli.c:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cl
    argTypes:
    - struct cli_client*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 549
    functionName: cli_client_delete
    functionSourceFile: /src/vlc/modules/control/cli/cli.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_join
    - fclose
    - vlc_cancel
    linkageType: ''
    returnType: void
    signature: void cli_client_delete(struct cli_client *cl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/control/cli/cli.c:556,1
    - Dst: assert
      Src: /src/vlc/modules/control/cli/cli.c:558,1
    - Dst: net_Accept
      Src: /src/vlc/modules/control/cli/cli.c:562,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/control/cli/cli.c:566,1
    - Dst: cli_client_new_fd
      Src: /src/vlc/modules/control/cli/cli.c:567,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/control/cli/cli.c:571,1
    - Dst: vlc_list_append
      Src: /src/vlc/modules/control/cli/cli.c:572,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/control/cli/cli.c:573,1
    - Dst: vlc_list_foreach
      Src: /src/vlc/modules/control/cli/cli.c:577,1
    - Dst: atomic_load_explicit
      Src: /src/vlc/modules/control/cli/cli.c:578,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/control/cli/cli.c:580,1
    - Dst: vlc_list_remove
      Src: /src/vlc/modules/control/cli/cli.c:581,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/control/cli/cli.c:582,1
    - Dst: cli_client_delete
      Src: /src/vlc/modules/control/cli/cli.c:583,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/control/cli/cli.c:586,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts:
    - condition: (sys->pi_socket_listen != NULL)
      pos:
        line_end: 557
        line_start: 557
        source_file: /src/vlc/modules/control/cli/cli.c
    constantsTouched: []
    func_position:
      end: 588
      start: 551
    functionDepth: 3
    functionLinenumber: 551
    functionLinenumberEnd: 588
    functionName: Run
    functionSourceFile: /src/vlc/modules/control/cli/cli.c
    functionUses: 7
    functionsReached:
    - vlc_restorecancel
    - assert
    - vlc_thread_set_name
    - vlc_list_append
    - vlc_mutex_lock
    - vlc_mutex_unlock
    - atomic_load_explicit
    - net_Accept
    - cli_client_new_fd
    - vlc_list_remove
    - vlc_savecancel
    - vlc_list_foreach
    - cli_client_delete
    linkageType: ''
    returnType: void
    signature: void *Run(void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/control/cli/cli.c:593,1
    - Dst: snprintf
      Src: /src/vlc/modules/control/cli/cli.c:596,1
    - Dst: vasprintf
      Src: /src/vlc/modules/control/cli/cli.c:597,1
    - Dst: utf8_fprintf
      Src: /src/vlc/modules/control/cli/cli.c:603,1
    - Dst: net_Write
      Src: /src/vlc/modules/control/cli/cli.c:605,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/cli.c:607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - p_intf
    - psz_fmt
    - args
    argTypes:
    - intf_thread_t*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 591
    functionDepth: 2
    functionLinenumber: 591
    functionLinenumberEnd: 608
    functionName: msg_vprint
    functionSourceFile: /src/vlc/modules/control/cli/cli.c
    functionUses: 1
    functionsReached:
    - net_Write
    - vasprintf
    - strlen
    - free
    - utf8_fprintf
    - snprintf
    linkageType: ''
    returnType: void
    signature: void msg_vprint(intf_thread_t *p_intf, const char *psz_fmt, va_list
      args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vlc/modules/control/cli/cli.c:614,1
    - Dst: msg_vprint
      Src: /src/vlc/modules/control/cli/cli.c:615,1
    - Dst: va_end
      Src: /src/vlc/modules/control/cli/cli.c:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - intf
    - fmt
    argTypes:
    - intf_thread_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 610
    functionDepth: 4
    functionLinenumber: 610
    functionLinenumberEnd: 617
    functionName: msg_print
    functionSourceFile: /src/vlc/modules/control/cli/cli.c
    functionUses: 0
    functionsReached:
    - va_end
    - msg_vprint
    - va_start
    linkageType: ''
    returnType: void
    signature: void msg_print(intf_thread_t *intf, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vlc/modules/control/cli/cli.c:623,1
    - Dst: msg_vprint
      Src: /src/vlc/modules/control/cli/cli.c:624,1
    - Dst: va_end
      Src: /src/vlc/modules/control/cli/cli.c:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cl
    - fmt
    argTypes:
    - struct cli_client*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 619
    functionDepth: 4
    functionLinenumber: 619
    functionLinenumberEnd: 627
    functionName: cli_printf
    functionSourceFile: /src/vlc/modules/control/cli/cli.c
    functionUses: 1
    functionsReached:
    - va_end
    - msg_vprint
    - va_start
    linkageType: ''
    returnType: int
    signature: int cli_printf(struct cli_client *cl, const char *fmt, ...)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: WaitForSingleObjectEx
      Src: /src/vlc/modules/control/cli/cli.c:636,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/control/cli/cli.c:637,1
    - Dst: ReadConsoleInput
      Src: /src/vlc/modules/control/cli/cli.c:643,1
    - Dst: putc
      Src: /src/vlc/modules/control/cli/cli.c:658,1
    - Dst: assert
      Src: /src/vlc/modules/control/cli/cli.c:678,1
    - Dst: stdc_leading_ones
      Src: /src/vlc/modules/control/cli/cli.c:678,1
    - Dst: fputs
      Src: /src/vlc/modules/control/cli/cli.c:685,1
    - Dst: FromWide
      Src: /src/vlc/modules/control/cli/cli.c:690,1
    - Dst: strlen
      Src: /src/vlc/modules/control/cli/cli.c:691,1
    - Dst: strcpy
      Src: /src/vlc/modules/control/cli/cli.c:697,1
    - Dst: utf8_fprintf
      Src: /src/vlc/modules/control/cli/cli.c:698,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/cli.c:699,1
    - Dst: vlc_testcancel
      Src: /src/vlc/modules/control/cli/cli.c:709,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 43
    argCount: 3
    argNames:
    - p_intf
    - p_buffer
    - pi_size
    argTypes:
    - intf_thread_t*
    - unsigned char*
    - int*
    assertStmts:
    - condition: ( stdc_leading_ones( p_buffer[*pi_size] ) == nbBytes + 1 )
      pos:
        line_end: 677
        line_start: 677
        source_file: /src/vlc/modules/control/cli/cli.c
    constantsTouched: []
    func_position:
      end: 712
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 712
    functionName: ReadWin32
    functionSourceFile: /src/vlc/modules/control/cli/cli.c
    functionUses: 1
    functionsReached:
    - MS_FROM_VLC_TICK
    - assert
    - ReadConsoleInput
    - stdc_leading_ones
    - strlen
    - WaitForSingleObjectEx
    - fputs
    - strcpy
    - free
    - FromWide
    - vlc_testcancel
    - utf8_fprintf
    - putc
    linkageType: ''
    returnType: bool
    signature: bool ReadWin32( intf_thread_t *p_intf, unsigned char *p_buffer, int
      *pi_size )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: WINAPI_FAMILY_PARTITION
      Src: /src/vlc/modules/control/cli/cli.c:717,1
    - Dst: ReadWin32
      Src: /src/vlc/modules/control/cli/cli.c:719,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/control/cli/cli.c:722,1
    - Dst: read
      Src: /src/vlc/modules/control/cli/cli.c:731,1
    - Dst: libvlc_Quit
      Src: /src/vlc/modules/control/cli/cli.c:733,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/control/cli/cli.c:733,1
    - Dst: net_Read
      Src: /src/vlc/modules/control/cli/cli.c:740,1
    - Dst: net_Close
      Src: /src/vlc/modules/control/cli/cli.c:743,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 3
    argNames:
    - p_intf
    - p_buffer
    - pi_size
    argTypes:
    - intf_thread_t*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 764
    functionName: ReadCommand
    functionSourceFile: /src/vlc/modules/control/cli/cli.c
    functionUses: 0
    functionsReached:
    - ReadWin32
    - net_Close
    - read
    - vlc_object_instance
    - WINAPI_FAMILY_PARTITION
    - vlc_tick_sleep
    - libvlc_Quit
    - net_Read
    linkageType: ''
    returnType: bool
    signature: bool ReadCommand(intf_thread_t *p_intf, char *p_buffer, int *pi_size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/control/cli/cli.c:777,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/control/cli/cli.c:782,1
    - Dst: WINAPI_FAMILY_PARTITION
      Src: /src/vlc/modules/control/cli/cli.c:786,1
    - Dst: GetStdHandle
      Src: /src/vlc/modules/control/cli/cli.c:788,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/cli/cli.c:791,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/control/cli/cli.c:800,1
    - Dst: net_Accept
      Src: /src/vlc/modules/control/cli/cli.c:805,1
    - Dst: ReadCommand
      Src: /src/vlc/modules/control/cli/cli.c:809,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/control/cli/cli.c:810,1
    - Dst: Process
      Src: /src/vlc/modules/control/cli/cli.c:817,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/control/cli/cli.c:823,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 772
    functionDepth: 2
    functionLinenumber: 772
    functionLinenumberEnd: 824
    functionName: Run
    functionSourceFile: /src/vlc/modules/control/cli/cli.c
    functionUses: 7
    functionsReached:
    - vlc_restorecancel
    - ReadCommand
    - vlc_thread_set_name
    - Process
    - vlc_assert_unreachable
    - net_Accept
    - msg_Err
    - WINAPI_FAMILY_PARTITION
    - vlc_savecancel
    - GetStdHandle
    linkageType: ''
    returnType: void
    signature: void *Run( void *data )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 828
    functionName: msg_rc
    functionSourceFile: /src/vlc/modules/control/cli/cli.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: msg_rc(...)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/control/cli/cli.c:843,1
    - Dst: unlikely
      Src: /src/vlc/modules/control/cli/cli.c:844,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/control/cli/cli.c:850,1
    - Dst: vlc_list_init
      Src: /src/vlc/modules/control/cli/cli.c:851,1
    - Dst: RegisterHandlers
      Src: /src/vlc/modules/control/cli/cli.c:853,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/control/cli/cli.c:853,1
    - Dst: RegisterPlayer
      Src: /src/vlc/modules/control/cli/cli.c:855,1
    - Dst: unlikely
      Src: /src/vlc/modules/control/cli/cli.c:856,1
    - Dst: RegisterPlaylist
      Src: /src/vlc/modules/control/cli/cli.c:859,1
    - Dst: isatty
      Src: /src/vlc/modules/control/cli/cli.c:866,1
    - Dst: fileno
      Src: /src/vlc/modules/control/cli/cli.c:866,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/control/cli/cli.c:866,1
    - Dst: cli_client_new_std
      Src: /src/vlc/modules/control/cli/cli.c:868,1
    - Dst: vlc_list_append
      Src: /src/vlc/modules/control/cli/cli.c:871,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/control/cli/cli.c:875,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/cli/cli.c:882,1
    - Dst: strlen
      Src: /src/vlc/modules/control/cli/cli.c:886,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/cli/cli.c:889,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/cli.c:890,1
    - Dst: memcpy
      Src: /src/vlc/modules/control/cli/cli.c:893,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/cli.c:894,1
    - Dst: vlc_socket
      Src: /src/vlc/modules/control/cli/cli.c:896,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/control/cli/cli.c:898,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/control/cli/cli.c:898,1
    - Dst: vlc_stat
      Src: /src/vlc/modules/control/cli/cli.c:902,1
    - Dst: S_ISSOCK
      Src: /src/vlc/modules/control/cli/cli.c:902,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/cli/cli.c:904,1
    - Dst: unlink
      Src: /src/vlc/modules/control/cli/cli.c:905,1
    - Dst: bind
      Src: /src/vlc/modules/control/cli/cli.c:908,1
    - Dst: listen
      Src: /src/vlc/modules/control/cli/cli.c:909,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/control/cli/cli.c:911,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/control/cli/cli.c:912,1
    - Dst: net_Close
      Src: /src/vlc/modules/control/cli/cli.c:913,1
    - Dst: calloc
      Src: /src/vlc/modules/control/cli/cli.c:918,1
    - Dst: net_Close
      Src: /src/vlc/modules/control/cli/cli.c:921,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/control/cli/cli.c:931,1
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/control/cli/cli.c:935,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/control/cli/cli.c:938,1
    - Dst: asprintf
      Src: /src/vlc/modules/control/cli/cli.c:940,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/cli.c:942,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/cli.c:945,1
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/control/cli/cli.c:947,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/cli/cli.c:950,1
    - Dst: net_ListenTCP
      Src: /src/vlc/modules/control/cli/cli.c:952,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/control/cli/cli.c:955,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/control/cli/cli.c:957,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/cli.c:958,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/control/cli/cli.c:962,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/cli.c:963,1
    - Dst: setvbuf
      Src: /src/vlc/modules/control/cli/cli.c:970,1
    - Dst: WINAPI_FAMILY_PARTITION
      Src: /src/vlc/modules/control/cli/cli.c:975,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/control/cli/cli.c:978,1
    - Dst: intf_consoleIntroMsg
      Src: /src/vlc/modules/control/cli/cli.c:980,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/control/cli/cli.c:983,1
    - Dst: msg_print
      Src: /src/vlc/modules/control/cli/cli.c:986,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/cli.c:987,1
    - Dst: DeregisterPlayer
      Src: /src/vlc/modules/control/cli/cli.c:993,1
    - Dst: vlc_list_foreach
      Src: /src/vlc/modules/control/cli/cli.c:995,1
    - Dst: cli_client_delete
      Src: /src/vlc/modules/control/cli/cli.c:996,1
    - Dst: tdestroy
      Src: /src/vlc/modules/control/cli/cli.c:998,1
    - Dst: net_ListenClose
      Src: /src/vlc/modules/control/cli/cli.c:999,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 101
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 834
    functionDepth: 5
    functionLinenumber: 834
    functionLinenumberEnd: 1001
    functionName: Activate
    functionSourceFile: /src/vlc/modules/control/cli/cli.c
    functionUses: 5
    functionsReached:
    - vlc_strerror_c
    - vlc_obj_malloc
    - net_Close
    - listen
    - memcpy
    - bind
    - RegisterPlayer
    - vlc_socket
    - asprintf
    - ARRAY_SIZE
    - vlc_list_append
    - msg_print
    - net_ListenClose
    - _
    - msg_Err
    - unlink
    - calloc
    - WINAPI_FAMILY_PARTITION
    - RegisterHandlers
    - msg_Dbg
    - net_ListenTCP
    - intf_consoleIntroMsg
    - msg_Warn
    - DeregisterPlayer
    - vlc_list_foreach
    - vlc_UrlClean
    - RegisterPlaylist
    - vlc_UrlParse
    - var_InheritBool
    - vlc_stat
    - isatty
    - cli_client_delete
    - fileno
    - cli_client_new_std
    - var_InheritString
    - tdestroy
    - vlc_clone
    - strlen
    - vlc_mutex_init
    - S_ISSOCK
    - free
    - setvbuf
    - vlc_list_init
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Activate( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 864
    functionName: isatty
    functionSourceFile: /src/vlc/modules/control/cli/cli.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isatty(fd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_cancel
      Src: /src/vlc/modules/control/cli/cli.c:1015,1
    - Dst: vlc_join
      Src: /src/vlc/modules/control/cli/cli.c:1016,1
    - Dst: DeregisterPlayer
      Src: /src/vlc/modules/control/cli/cli.c:1019,1
    - Dst: vlc_list_foreach
      Src: /src/vlc/modules/control/cli/cli.c:1024,1
    - Dst: cli_client_delete
      Src: /src/vlc/modules/control/cli/cli.c:1025,1
    - Dst: tdestroy
      Src: /src/vlc/modules/control/cli/cli.c:1027,1
    - Dst: net_ListenClose
      Src: /src/vlc/modules/control/cli/cli.c:1031,1
    - Dst: net_Close
      Src: /src/vlc/modules/control/cli/cli.c:1034,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1006
    functionDepth: 1
    functionLinenumber: 1006
    functionLinenumberEnd: 1037
    functionName: Deactivate
    functionSourceFile: /src/vlc/modules/control/cli/cli.c
    functionUses: 3
    functionsReached:
    - tdestroy
    - vlc_cancel
    - net_ListenClose
    - net_Close
    - DeregisterPlayer
    - vlc_join
    - vlc_list_foreach
    - cli_client_delete
    linkageType: ''
    returnType: void
    signature: void Deactivate( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: msg_rc
    functionSourceFile: /src/vlc/modules/control/cli/cli.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: msg_rc(...)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/control/cli/playlist.c:58,1
    - Dst: SKIPSPACE
      Src: /src/vlc/modules/control/cli/playlist.c:64,1
    - Dst: SKIPTRAILINGSPACE
      Src: /src/vlc/modules/control/cli/playlist.c:87,1
    - Dst: strlen
      Src: /src/vlc/modules/control/cli/playlist.c:87,1
    - Dst: strlen
      Src: /src/vlc/modules/control/cli/playlist.c:90,1
    - Dst: strlen
      Src: /src/vlc/modules/control/cli/playlist.c:93,1
    - Dst: strlen
      Src: /src/vlc/modules/control/cli/playlist.c:95,1
    - Dst: strlen
      Src: /src/vlc/modules/control/cli/playlist.c:98,1
    - Dst: strstr
      Src: /src/vlc/modules/control/cli/playlist.c:103,1
    - Dst: strdup
      Src: /src/vlc/modules/control/cli/playlist.c:104,1
    - Dst: vlc_path2uri
      Src: /src/vlc/modules/control/cli/playlist.c:106,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/playlist.c:109,1
    - Dst: xrealloc
      Src: /src/vlc/modules/control/cli/playlist.c:116,1
    - Dst: SKIPSPACE
      Src: /src/vlc/modules/control/cli/playlist.c:121,1
    - Dst: input_item_New
      Src: /src/vlc/modules/control/cli/playlist.c:127,1
    - Dst: input_item_AddOption
      Src: /src/vlc/modules/control/cli/playlist.c:129,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/playlist.c:131,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/playlist.c:135,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/playlist.c:136,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 57
    argCount: 1
    argNames:
    - mrl
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 139
    functionName: parse_MRL
    functionSourceFile: /src/vlc/modules/control/cli/playlist.c
    functionUses: 0
    functionsReached:
    - strdup
    - xrealloc
    - input_item_New
    - input_item_AddOption
    - strlen
    - free
    - SKIPTRAILINGSPACE
    - strstr
    - SKIPSPACE
    - vlc_path2uri
    linkageType: ''
    returnType: input_item_t
    signature: input_item_t *parse_MRL(const char *mrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: SKIPSPACE
    functionSourceFile: /src/vlc/modules/control/cli/playlist.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SKIPSPACE( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: SKIPTRAILINGSPACE
    functionSourceFile: /src/vlc/modules/control/cli/playlist.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SKIPTRAILINGSPACE( p, d )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/control/cli/playlist.c:144,1
    - Dst: vlc_playlist_GetCurrentIndex
      Src: /src/vlc/modules/control/cli/playlist.c:145,1
    - Dst: vlc_playlist_Get
      Src: /src/vlc/modules/control/cli/playlist.c:149,1
    - Dst: vlc_playlist_item_GetMedia
      Src: /src/vlc/modules/control/cli/playlist.c:150,1
    - Dst: vlc_tick_to_str
      Src: /src/vlc/modules/control/cli/playlist.c:157,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/playlist.c:158,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/playlist.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - cl
    - playlist
    argTypes:
    - struct cli_client*
    - vlc_playlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 142
    functionDepth: 4
    functionLinenumber: 142
    functionLinenumberEnd: 163
    functionName: print_playlist
    functionSourceFile: /src/vlc/modules/control/cli/playlist.c
    functionUses: 0
    functionsReached:
    - cli_printf
    - vlc_playlist_item_GetMedia
    - vlc_tick_to_str
    - vlc_playlist_Count
    - vlc_playlist_GetCurrentIndex
    - vlc_playlist_Get
    linkageType: ''
    returnType: void
    signature: void print_playlist(struct cli_client *cl, vlc_playlist_t *playlist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/control/cli/playlist.c:171,1
    - Dst: cb
      Src: /src/vlc/modules/control/cli/playlist.c:172,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/control/cli/playlist.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - cl
    - data
    argTypes:
    - struct cli_client*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: PlaylistDoVoid
    functionSourceFile: /src/vlc/modules/control/cli/playlist.c
    functionUses: 0
    functionsReached:
    - cb
    - vlc_playlist_Unlock
    - vlc_playlist_Lock
    linkageType: ''
    returnType: int
    signature: "int PlaylistDoVoid(struct cli_client *cl, void *data,\n                          int
      (*cb)(vlc_playlist_t *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistDoVoid
      Src: /src/vlc/modules/control/cli/playlist.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: PlaylistPrev
    functionSourceFile: /src/vlc/modules/control/cli/playlist.c
    functionUses: 0
    functionsReached:
    - PlaylistDoVoid
    linkageType: ''
    returnType: int
    signature: "int PlaylistPrev(struct cli_client *cl, const char *const *args,\n
      \                       size_t count, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistDoVoid
      Src: /src/vlc/modules/control/cli/playlist.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: PlaylistNext
    functionSourceFile: /src/vlc/modules/control/cli/playlist.c
    functionUses: 0
    functionsReached:
    - PlaylistDoVoid
    linkageType: ''
    returnType: int
    signature: "int PlaylistNext(struct cli_client *cl, const char *const *args,\n
      \                       size_t count, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistDoVoid
      Src: /src/vlc/modules/control/cli/playlist.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: PlaylistPlay
    functionSourceFile: /src/vlc/modules/control/cli/playlist.c
    functionUses: 0
    functionsReached:
    - PlaylistDoVoid
    linkageType: ''
    returnType: int
    signature: "int PlaylistPlay(struct cli_client *cl, const char *const *args,\n
      \                       size_t count, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Stop
      Src: /src/vlc/modules/control/cli/playlist.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - playlist
    argTypes:
    - vlc_playlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: PlaylistDoStop
    functionSourceFile: /src/vlc/modules/control/cli/playlist.c
    functionUses: 0
    functionsReached:
    - vlc_playlist_Stop
    linkageType: ''
    returnType: int
    signature: int PlaylistDoStop(vlc_playlist_t *playlist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistDoVoid
      Src: /src/vlc/modules/control/cli/playlist.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: PlaylistStop
    functionSourceFile: /src/vlc/modules/control/cli/playlist.c
    functionUses: 0
    functionsReached:
    - PlaylistDoVoid
    linkageType: ''
    returnType: int
    signature: "int PlaylistStop(struct cli_client *cl, const char *const *args,\n
      \                       size_t count, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Stop
      Src: /src/vlc/modules/control/cli/playlist.c:214,1
    - Dst: vlc_playlist_Clear
      Src: /src/vlc/modules/control/cli/playlist.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - playlist
    argTypes:
    - vlc_playlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 217
    functionName: PlaylistDoClear
    functionSourceFile: /src/vlc/modules/control/cli/playlist.c
    functionUses: 0
    functionsReached:
    - vlc_playlist_Stop
    - vlc_playlist_Clear
    linkageType: ''
    returnType: int
    signature: int PlaylistDoClear(vlc_playlist_t *playlist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistDoVoid
      Src: /src/vlc/modules/control/cli/playlist.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 224
    functionName: PlaylistClear
    functionSourceFile: /src/vlc/modules/control/cli/playlist.c
    functionUses: 0
    functionsReached:
    - PlaylistDoVoid
    linkageType: ''
    returnType: int
    signature: "int PlaylistClear(struct cli_client *cl, const char *const *args,\n
      \                        size_t count, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Sort
      Src: /src/vlc/modules/control/cli/playlist.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - playlist
    argTypes:
    - vlc_playlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 235
    functionName: PlaylistDoSort
    functionSourceFile: /src/vlc/modules/control/cli/playlist.c
    functionUses: 0
    functionsReached:
    - vlc_playlist_Sort
    linkageType: ''
    returnType: int
    signature: int PlaylistDoSort(vlc_playlist_t *playlist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistDoVoid
      Src: /src/vlc/modules/control/cli/playlist.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: PlaylistSort
    functionSourceFile: /src/vlc/modules/control/cli/playlist.c
    functionUses: 0
    functionsReached:
    - PlaylistDoVoid
    linkageType: ''
    returnType: int
    signature: "int PlaylistSort(struct cli_client *cl, const char *const *args,\n
      \                       size_t count, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/playlist.c:249,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/control/cli/playlist.c:250,1
    - Dst: print_playlist
      Src: /src/vlc/modules/control/cli/playlist.c:251,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/control/cli/playlist.c:252,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/playlist.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 244
    functionDepth: 5
    functionLinenumber: 244
    functionLinenumberEnd: 256
    functionName: PlaylistList
    functionSourceFile: /src/vlc/modules/control/cli/playlist.c
    functionUses: 0
    functionsReached:
    - cli_printf
    - print_playlist
    - vlc_playlist_Unlock
    - vlc_playlist_Lock
    linkageType: ''
    returnType: int
    signature: "int PlaylistList(struct cli_client *cl, const char *const *args,\n
      \                       size_t count, void *data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/control/cli/playlist.c:265,1
    - Dst: vlc_playlist_GetPlaybackRepeat
      Src: /src/vlc/modules/control/cli/playlist.c:268,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/cli/playlist.c:278,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/cli/playlist.c:280,1
    - Dst: vlc_playlist_SetPlaybackRepeat
      Src: /src/vlc/modules/control/cli/playlist.c:285,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/control/cli/playlist.c:287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - cl
    - args
    - count
    - data
    - on_mode
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    - enum vlc_playlist_playback_repeat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 290
    functionName: PlaylistRepeatCommon
    functionSourceFile: /src/vlc/modules/control/cli/playlist.c
    functionUses: 0
    functionsReached:
    - vlc_playlist_Lock
    - vlc_playlist_GetPlaybackRepeat
    - vlc_playlist_Unlock
    - vlc_playlist_SetPlaybackRepeat
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int PlaylistRepeatCommon(struct cli_client *cl, const char *const
      *args,\n                                size_t count, void *data,\n                                enum
      vlc_playlist_playback_repeat on_mode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistRepeatCommon
      Src: /src/vlc/modules/control/cli/playlist.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 297
    functionName: PlaylistRepeat
    functionSourceFile: /src/vlc/modules/control/cli/playlist.c
    functionUses: 0
    functionsReached:
    - PlaylistRepeatCommon
    linkageType: ''
    returnType: int
    signature: "int PlaylistRepeat(struct cli_client *cl, const char *const *args,\n
      \                         size_t count, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistRepeatCommon
      Src: /src/vlc/modules/control/cli/playlist.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 304
    functionName: PlaylistLoop
    functionSourceFile: /src/vlc/modules/control/cli/playlist.c
    functionUses: 0
    functionsReached:
    - PlaylistRepeatCommon
    linkageType: ''
    returnType: int
    signature: "int PlaylistLoop(struct cli_client *cl, const char *const *args,\n
      \                       size_t count, void *data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/control/cli/playlist.c:311,1
    - Dst: vlc_playlist_GetPlaybackOrder
      Src: /src/vlc/modules/control/cli/playlist.c:314,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/cli/playlist.c:324,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/cli/playlist.c:326,1
    - Dst: vlc_playlist_SetPlaybackOrder
      Src: /src/vlc/modules/control/cli/playlist.c:331,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/control/cli/playlist.c:333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 336
    functionName: PlaylistRandom
    functionSourceFile: /src/vlc/modules/control/cli/playlist.c
    functionUses: 0
    functionsReached:
    - vlc_playlist_GetPlaybackOrder
    - vlc_playlist_Lock
    - vlc_playlist_Unlock
    - strcmp
    - vlc_playlist_SetPlaybackOrder
    linkageType: ''
    returnType: int
    signature: "int PlaylistRandom(struct cli_client *cl, const char *const *args,\n
      \                         size_t count, void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoll
      Src: /src/vlc/modules/control/cli/playlist.c:343,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/control/cli/playlist.c:345,1
    - Dst: vlc_playlist_PlayAt
      Src: /src/vlc/modules/control/cli/playlist.c:347,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/control/cli/playlist.c:349,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/playlist.c:351,1
    - Dst: vlc_ngettext
      Src: /src/vlc/modules/control/cli/playlist.c:352,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/control/cli/playlist.c:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - cl
    - args
    - n_args
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 338
    functionDepth: 4
    functionLinenumber: 338
    functionLinenumberEnd: 359
    functionName: PlaylistGoto
    functionSourceFile: /src/vlc/modules/control/cli/playlist.c
    functionUses: 0
    functionsReached:
    - cli_printf
    - vlc_playlist_Count
    - vlc_playlist_Lock
    - vlc_playlist_PlayAt
    - vlc_playlist_Unlock
    - vlc_ngettext
    - atoll
    linkageType: ''
    returnType: int
    signature: "int PlaylistGoto(struct cli_client *cl, const char *const *args,\n
      \                       size_t n_args, void *data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/control/cli/playlist.c:368,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/control/cli/playlist.c:369,1
    - Dst: strstr
      Src: /src/vlc/modules/control/cli/playlist.c:376,1
    - Dst: input_item_New
      Src: /src/vlc/modules/control/cli/playlist.c:377,1
    - Dst: vlc_path2uri
      Src: /src/vlc/modules/control/cli/playlist.c:380,1
    - Dst: input_item_New
      Src: /src/vlc/modules/control/cli/playlist.c:384,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/playlist.c:385,1
    - Dst: likely
      Src: /src/vlc/modules/control/cli/playlist.c:398,1
    - Dst: input_item_AddOption
      Src: /src/vlc/modules/control/cli/playlist.c:399,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/control/cli/playlist.c:402,1
    - Dst: unlikely
      Src: /src/vlc/modules/control/cli/playlist.c:408,1
    - Dst: vlc_playlist_InsertOne
      Src: /src/vlc/modules/control/cli/playlist.c:414,1
    - Dst: vlc_playlist_PlayAt
      Src: /src/vlc/modules/control/cli/playlist.c:417,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/control/cli/playlist.c:422,1
    - Dst: parse_MRL
      Src: /src/vlc/modules/control/cli/playlist.c:428,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/playlist.c:432,1
    - Dst: vlc_playlist_InsertOne
      Src: /src/vlc/modules/control/cli/playlist.c:435,1
    - Dst: vlc_playlist_PlayAt
      Src: /src/vlc/modules/control/cli/playlist.c:437,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/control/cli/playlist.c:439,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/control/cli/playlist.c:442,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 5
    argNames:
    - cl
    - args
    - n_args
    - data
    - play
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 361
    functionDepth: 4
    functionLinenumber: 361
    functionLinenumberEnd: 444
    functionName: PlaylistAddCommon
    functionSourceFile: /src/vlc/modules/control/cli/playlist.c
    functionUses: 0
    functionsReached:
    - cli_printf
    - vlc_playlist_Count
    - vlc_playlist_Lock
    - input_item_New
    - input_item_AddOption
    - input_item_Release
    - vlc_playlist_InsertOne
    - vlc_playlist_PlayAt
    - vlc_playlist_Unlock
    - free
    - strstr
    - likely
    - parse_MRL
    - unlikely
    - vlc_path2uri
    linkageType: ''
    returnType: int
    signature: "int PlaylistAddCommon(struct cli_client *cl, const char *const *args,\n
      \                            size_t n_args, void *data, bool play)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistAddCommon
      Src: /src/vlc/modules/control/cli/playlist.c:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 446
    functionDepth: 5
    functionLinenumber: 446
    functionLinenumberEnd: 450
    functionName: PlaylistAdd
    functionSourceFile: /src/vlc/modules/control/cli/playlist.c
    functionUses: 0
    functionsReached:
    - PlaylistAddCommon
    linkageType: ''
    returnType: int
    signature: "int PlaylistAdd(struct cli_client *cl, const char *const *args,\n
      \                      size_t count, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistAddCommon
      Src: /src/vlc/modules/control/cli/playlist.c:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 452
    functionDepth: 5
    functionLinenumber: 452
    functionLinenumberEnd: 456
    functionName: PlaylistEnqueue
    functionSourceFile: /src/vlc/modules/control/cli/playlist.c
    functionUses: 0
    functionsReached:
    - PlaylistAddCommon
    linkageType: ''
    returnType: int
    signature: "int PlaylistEnqueue(struct cli_client *cl, const char *const *args,\n
      \                          size_t count, void *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/playlist.c:466,1
    - Dst: strtoul
      Src: /src/vlc/modules/control/cli/playlist.c:470,1
    - Dst: strtoul
      Src: /src/vlc/modules/control/cli/playlist.c:471,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/control/cli/playlist.c:473,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/control/cli/playlist.c:474,1
    - Dst: vlc_playlist_Move
      Src: /src/vlc/modules/control/cli/playlist.c:478,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/playlist.c:483,1
    - Dst: vlc_ngettext
      Src: /src/vlc/modules/control/cli/playlist.c:483,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/control/cli/playlist.c:488,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 458
    functionDepth: 4
    functionLinenumber: 458
    functionLinenumberEnd: 490
    functionName: PlaylistMove
    functionSourceFile: /src/vlc/modules/control/cli/playlist.c
    functionUses: 0
    functionsReached:
    - cli_printf
    - vlc_playlist_Count
    - vlc_playlist_Lock
    - strtoul
    - vlc_playlist_Unlock
    - vlc_playlist_Move
    - vlc_ngettext
    linkageType: ''
    returnType: int
    signature: "int PlaylistMove(struct cli_client *cl, const char *const *args,\n
      \                       size_t count, void *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/control/cli/playlist.c:498,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/playlist.c:500,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/playlist.c:501,1
    - Dst: vlc_meta_Get
      Src: /src/vlc/modules/control/cli/playlist.c:504,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/playlist.c:507,1
    - Dst: vlc_meta_TypeToString
      Src: /src/vlc/modules/control/cli/playlist.c:507,1
    - Dst: vlc_meta_CopyExtraNames
      Src: /src/vlc/modules/control/cli/playlist.c:510,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/playlist.c:513,1
    - Dst: vlc_meta_GetExtra
      Src: /src/vlc/modules/control/cli/playlist.c:514,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/playlist.c:515,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/playlist.c:517,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/playlist.c:520,1
    - Dst: vlc_list_foreach
      Src: /src/vlc/modules/control/cli/playlist.c:522,1
    - Dst: info_category_IsHidden
      Src: /src/vlc/modules/control/cli/playlist.c:525,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/playlist.c:528,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/playlist.c:529,1
    - Dst: info_foreach
      Src: /src/vlc/modules/control/cli/playlist.c:530,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/playlist.c:531,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/playlist.c:532,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/playlist.c:534,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/control/cli/playlist.c:535,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - cl
    - item
    argTypes:
    - struct cli_client*
    - input_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 492
    functionDepth: 4
    functionLinenumber: 492
    functionLinenumberEnd: 536
    functionName: ItemPrint
    functionSourceFile: /src/vlc/modules/control/cli/playlist.c
    functionUses: 0
    functionsReached:
    - cli_printf
    - vlc_meta_CopyExtraNames
    - info_foreach
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - info_category_IsHidden
    - vlc_meta_GetExtra
    - free
    - vlc_meta_TypeToString
    - vlc_list_foreach
    - vlc_meta_Get
    linkageType: ''
    returnType: void
    signature: void ItemPrint(struct cli_client *cl, input_item_t *item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/control/cli/playlist.c:545,1
    - Dst: atoi
      Src: /src/vlc/modules/control/cli/playlist.c:547,1
    - Dst: vlc_playlist_GetCurrentIndex
      Src: /src/vlc/modules/control/cli/playlist.c:549,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/control/cli/playlist.c:551,1
    - Dst: vlc_playlist_item_GetMedia
      Src: /src/vlc/modules/control/cli/playlist.c:552,1
    - Dst: vlc_playlist_Get
      Src: /src/vlc/modules/control/cli/playlist.c:552,1
    - Dst: ItemPrint
      Src: /src/vlc/modules/control/cli/playlist.c:557,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/playlist.c:559,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/control/cli/playlist.c:560,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 538
    functionDepth: 5
    functionLinenumber: 538
    functionLinenumberEnd: 563
    functionName: PlaylistItemInfo
    functionSourceFile: /src/vlc/modules/control/cli/playlist.c
    functionUses: 0
    functionsReached:
    - cli_printf
    - atoi
    - vlc_playlist_item_GetMedia
    - vlc_playlist_Count
    - vlc_playlist_Lock
    - vlc_playlist_Unlock
    - vlc_playlist_GetCurrentIndex
    - vlc_playlist_Get
    - ItemPrint
    linkageType: ''
    returnType: int
    signature: "int PlaylistItemInfo(struct cli_client *cl, const char *const *args,\n
      \                           size_t count, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegisterHandlers
      Src: /src/vlc/modules/control/cli/playlist.c:586,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/control/cli/playlist.c:586,1
    - Dst: vlc_intf_GetMainPlaylist
      Src: /src/vlc/modules/control/cli/playlist.c:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - intf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 584
    functionDepth: 3
    functionLinenumber: 584
    functionLinenumberEnd: 588
    functionName: RegisterPlaylist
    functionSourceFile: /src/vlc/modules/control/cli/playlist.c
    functionUses: 1
    functionsReached:
    - RegisterHandlers
    - ARRAY_SIZE
    - vlc_intf_GetMainPlaylist
    linkageType: ''
    returnType: void
    signature: void RegisterPlaylist(intf_thread_t *intf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/control/cli/player.c:63,1
    - Dst: msg_print
      Src: /src/vlc/modules/control/cli/player.c:64,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/control/cli/player.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - player
    - item
    - data
    argTypes:
    - vlc_player_t*
    - input_item_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 54
    functionDepth: 5
    functionLinenumber: 54
    functionLinenumberEnd: 67
    functionName: player_on_media_changed
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - msg_print
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void player_on_media_changed(vlc_player_t *player, input_item_t *item,
      void *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/cli/player.c:72,1
    - Dst: msg_print
      Src: /src/vlc/modules/control/cli/player.c:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - player
    - state
    - data
    argTypes:
    - vlc_player_t*
    - enum vlc_player_state
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 69
    functionDepth: 5
    functionLinenumber: 69
    functionLinenumberEnd: 94
    functionName: player_on_state_changed
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - msg_print
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void player_on_state_changed(vlc_player_t *player,\n                        enum
      vlc_player_state state, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/cli/player.c:99,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/cli/player.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - player
    - new_buffering
    - data
    argTypes:
    - vlc_player_t*
    - float
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: player_on_buffering_changed
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void player_on_buffering_changed(vlc_player_t *player,\n                            float
      new_buffering, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/cli/player.c:107,1
    - Dst: msg_print
      Src: /src/vlc/modules/control/cli/player.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - player
    - new_rate
    - data
    argTypes:
    - vlc_player_t*
    - float
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 5
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: player_on_rate_changed
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - msg_print
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void player_on_rate_changed(vlc_player_t *player, float new_rate, void
      *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/cli/player.c:116,1
    - Dst: msg_print
      Src: /src/vlc/modules/control/cli/player.c:121,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/control/cli/player.c:122,1
    - Dst: lround
      Src: /src/vlc/modules/control/cli/player.c:126,1
    - Dst: msg_print
      Src: /src/vlc/modules/control/cli/player.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - player
    - new_time
    - new_pos
    - data
    argTypes:
    - vlc_player_t*
    - vlc_tick_t
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 113
    functionDepth: 5
    functionLinenumber: 113
    functionLinenumberEnd: 133
    functionName: player_on_position_changed
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - lround
    - msg_print
    - SEC_FROM_VLC_TICK
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void player_on_position_changed(vlc_player_t *player,\n                           vlc_tick_t
      new_time, double new_pos, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/cli/player.c:146,1
    - Dst: msg_print
      Src: /src/vlc/modules/control/cli/player.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - aout
    - volume
    - data
    argTypes:
    - audio_output_t*
    - float
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 5
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: player_aout_on_volume_changed
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - msg_print
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void player_aout_on_volume_changed(audio_output_t *aout, float volume,
      void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtof
      Src: /src/vlc/modules/control/cli/player.c:160,1
    - Dst: unlikely
      Src: /src/vlc/modules/control/cli/player.c:163,1
    - Dst: isfinite
      Src: /src/vlc/modules/control/cli/player.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - str
    - out
    argTypes:
    - char*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 166
    functionName: ParseFloat
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - isfinite
    - unlikely
    - strtof
    linkageType: ''
    returnType: int
    signature: int ParseFloat(const char *str, float *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/cli/player.c:174,1
    - Dst: cb
      Src: /src/vlc/modules/control/cli/player.c:175,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/cli/player.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - cl
    - data
    argTypes:
    - struct cli_client*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 179
    functionName: PlayerDoVoid
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - vlc_player_Unlock
    - cb
    - vlc_player_Lock
    linkageType: ''
    returnType: int
    signature: "int PlayerDoVoid(struct cli_client *cl, void *data,\n                        void
      (*cb)(vlc_player_t *))"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/cli/player.c:189,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:193,1
    - Dst: getter
      Src: /src/vlc/modules/control/cli/player.c:193,1
    - Dst: ParseFloat
      Src: /src/vlc/modules/control/cli/player.c:198,1
    - Dst: setter
      Src: /src/vlc/modules/control/cli/player.c:200,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/cli/player.c:206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 181
    functionDepth: 4
    functionLinenumber: 181
    functionLinenumberEnd: 208
    functionName: PlayerDoFloat
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - cli_printf
    - vlc_player_Unlock
    - vlc_player_Lock
    - ParseFloat
    - setter
    - getter
    linkageType: ''
    returnType: int
    signature: "int PlayerDoFloat(struct cli_client *cl, const char *const *args,\n
      \                        size_t count, void *data,\n                         void
      (*setter)(vlc_player_t *, float),\n                         float (*getter)(vlc_player_t
      *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlayerDoVoid
      Src: /src/vlc/modules/control/cli/player.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: PlayerPause
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 1
    functionsReached:
    - PlayerDoVoid
    linkageType: ''
    returnType: int
    signature: "int PlayerPause(struct cli_client *cl, const char *const *args,\n
      \                      size_t count, void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/cli/player.c:222,1
    - Dst: vlc_player_CanChangeRate
      Src: /src/vlc/modules/control/cli/player.c:223,1
    - Dst: vlc_player_GetRate
      Src: /src/vlc/modules/control/cli/player.c:225,1
    - Dst: vlc_player_ChangeRate
      Src: /src/vlc/modules/control/cli/player.c:226,1
    - Dst: isgreater
      Src: /src/vlc/modules/control/cli/player.c:227,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/control/cli/player.c:231,1
    - Dst: vlc_player_GetTime
      Src: /src/vlc/modules/control/cli/player.c:232,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/control/cli/player.c:232,1
    - Dst: vlc_player_SetTime
      Src: /src/vlc/modules/control/cli/player.c:234,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/cli/player.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 239
    functionName: PlayerFastForward
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - vlc_player_GetRate
    - var_InheritInteger
    - vlc_tick_from_sec
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlc_player_GetTime
    - vlc_player_SetTime
    - vlc_player_ChangeRate
    - vlc_player_CanChangeRate
    - isgreater
    linkageType: ''
    returnType: int
    signature: "int PlayerFastForward(struct cli_client *cl, const char *const *args,\n
      \                            size_t count, void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/cli/player.c:246,1
    - Dst: vlc_player_CanRewind
      Src: /src/vlc/modules/control/cli/player.c:247,1
    - Dst: vlc_player_GetRate
      Src: /src/vlc/modules/control/cli/player.c:249,1
    - Dst: vlc_player_ChangeRate
      Src: /src/vlc/modules/control/cli/player.c:250,1
    - Dst: isless
      Src: /src/vlc/modules/control/cli/player.c:250,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/control/cli/player.c:254,1
    - Dst: vlc_player_GetTime
      Src: /src/vlc/modules/control/cli/player.c:255,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/control/cli/player.c:255,1
    - Dst: vlc_player_SetTime
      Src: /src/vlc/modules/control/cli/player.c:257,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/cli/player.c:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 262
    functionName: PlayerRewind
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - vlc_player_GetRate
    - var_InheritInteger
    - vlc_tick_from_sec
    - vlc_player_Unlock
    - vlc_player_Lock
    - isless
    - vlc_player_GetTime
    - vlc_player_SetTime
    - vlc_player_ChangeRate
    - vlc_player_CanRewind
    linkageType: ''
    returnType: int
    signature: "int PlayerRewind(struct cli_client *cl, const char *const *args,\n
      \                        size_t count, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlayerDoVoid
      Src: /src/vlc/modules/control/cli/player.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: PlayerFaster
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - PlayerDoVoid
    linkageType: ''
    returnType: int
    signature: "int PlayerFaster(struct cli_client *cl, const char *const *args,\n
      \                       size_t count, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlayerDoVoid
      Src: /src/vlc/modules/control/cli/player.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 276
    functionName: PlayerSlower
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - PlayerDoVoid
    linkageType: ''
    returnType: int
    signature: "int PlayerSlower(struct cli_client *cl, const char *const *args,\n
      \                       size_t count, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_ChangeRate
      Src: /src/vlc/modules/control/cli/player.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - player
    argTypes:
    - vlc_player_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: PlayerDoNormal
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - vlc_player_ChangeRate
    linkageType: ''
    returnType: void
    signature: void PlayerDoNormal(vlc_player_t *player)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlayerDoVoid
      Src: /src/vlc/modules/control/cli/player.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 288
    functionName: PlayerNormal
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - PlayerDoVoid
    linkageType: ''
    returnType: int
    signature: "int PlayerNormal(struct cli_client *cl, const char *const *args,\n
      \                       size_t count, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlayerDoFloat
      Src: /src/vlc/modules/control/cli/player.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cl
    - args
    - n
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 5
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: PlayerRate
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - PlayerDoFloat
    linkageType: ''
    returnType: int
    signature: "int PlayerRate(struct cli_client *cl, const char *const *args, size_t
      n,\n                      void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlayerDoVoid
      Src: /src/vlc/modules/control/cli/player.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 302
    functionName: PlayerFrame
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - PlayerDoVoid
    linkageType: ''
    returnType: int
    signature: "int PlayerFrame(struct cli_client *cl, const char *const *args,\n
      \                      size_t count, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlayerDoVoid
      Src: /src/vlc/modules/control/cli/player.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 309
    functionName: PlayerChapterPrev
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - PlayerDoVoid
    linkageType: ''
    returnType: int
    signature: "int PlayerChapterPrev(struct cli_client *cl, const char *const *args,\n
      \                            size_t count, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlayerDoVoid
      Src: /src/vlc/modules/control/cli/player.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 316
    functionName: PlayerChapterNext
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - PlayerDoVoid
    linkageType: ''
    returnType: int
    signature: "int PlayerChapterNext(struct cli_client *cl, const char *const *args,\n
      \                            size_t count, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlayerDoVoid
      Src: /src/vlc/modules/control/cli/player.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 323
    functionName: PlayerTitlePrev
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - PlayerDoVoid
    linkageType: ''
    returnType: int
    signature: "int PlayerTitlePrev(struct cli_client *cl, const char *const *args,\n
      \                          size_t count, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlayerDoVoid
      Src: /src/vlc/modules/control/cli/player.c:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 330
    functionName: PlayerTitleNext
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - PlayerDoVoid
    linkageType: ''
    returnType: int
    signature: "int PlayerTitleNext(struct cli_client *cl, const char *const *args,\n
      \                          size_t count, void *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:339,1
    - Dst: strtod
      Src: /src/vlc/modules/control/cli/player.c:344,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/cli/player.c:348,1
    - Dst: vlc_player_GetPosition
      Src: /src/vlc/modules/control/cli/player.c:352,1
    - Dst: secf_from_vlc_tick
      Src: /src/vlc/modules/control/cli/player.c:354,1
    - Dst: vlc_player_GetTime
      Src: /src/vlc/modules/control/cli/player.c:354,1
    - Dst: vlc_player_SetPosition
      Src: /src/vlc/modules/control/cli/player.c:358,1
    - Dst: vlc_player_SetTime
      Src: /src/vlc/modules/control/cli/player.c:360,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/control/cli/player.c:360,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/cli/player.c:361,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 332
    functionDepth: 4
    functionLinenumber: 332
    functionLinenumberEnd: 363
    functionName: PlayerSeek
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - cli_printf
    - vlc_player_SetPosition
    - vlc_tick_from_sec
    - vlc_player_Unlock
    - secf_from_vlc_tick
    - vlc_player_Lock
    - vlc_player_GetPosition
    - strtod
    - vlc_player_GetTime
    - vlc_player_SetTime
    linkageType: ''
    returnType: int
    signature: "int PlayerSeek(struct cli_client *cl, const char *const *args,\n                      size_t
      count, void *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/cli/player.c:371,1
    - Dst: vlc_player_SelectChapterIdx
      Src: /src/vlc/modules/control/cli/player.c:374,1
    - Dst: atoi
      Src: /src/vlc/modules/control/cli/player.c:374,1
    - Dst: vlc_player_GetSelectedTitle
      Src: /src/vlc/modules/control/cli/player.c:377,1
    - Dst: vlc_player_GetSelectedChapterIdx
      Src: /src/vlc/modules/control/cli/player.c:380,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:382,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:386,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/cli/player.c:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 365
    functionDepth: 4
    functionLinenumber: 365
    functionLinenumberEnd: 392
    functionName: PlayerSetChapter
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - cli_printf
    - vlc_player_GetSelectedTitle
    - atoi
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlc_player_GetSelectedChapterIdx
    - vlc_player_SelectChapterIdx
    linkageType: ''
    returnType: int
    signature: "int PlayerSetChapter(struct cli_client *cl, const char *const *args,\n
      \                           size_t count, void *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/cli/player.c:400,1
    - Dst: atoi
      Src: /src/vlc/modules/control/cli/player.c:404,1
    - Dst: vlc_player_SelectTitleIdx
      Src: /src/vlc/modules/control/cli/player.c:406,1
    - Dst: vlc_player_GetSelectedTitleIdx
      Src: /src/vlc/modules/control/cli/player.c:410,1
    - Dst: vlc_player_GetTitleList
      Src: /src/vlc/modules/control/cli/player.c:412,1
    - Dst: vlc_player_title_list_GetCount
      Src: /src/vlc/modules/control/cli/player.c:415,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:417,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:421,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/cli/player.c:425,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 394
    functionDepth: 4
    functionLinenumber: 394
    functionLinenumberEnd: 427
    functionName: PlayerSetTitle
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - cli_printf
    - atoi
    - vlc_player_GetTitleList
    - vlc_player_SelectTitleIdx
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlc_player_title_list_GetCount
    - vlc_player_GetSelectedTitleIdx
    linkageType: ''
    returnType: int
    signature: "int PlayerSetTitle(struct cli_client *cl, const char *const *args,\n
      \                         size_t count, void *data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/cli/player.c:449,1
    - Dst: atoi
      Src: /src/vlc/modules/control/cli/player.c:453,1
    - Dst: vlc_player_UnselectTrackCategory
      Src: /src/vlc/modules/control/cli/player.c:458,1
    - Dst: vlc_player_GetTrackCount
      Src: /src/vlc/modules/control/cli/player.c:464,1
    - Dst: vlc_player_GetTrackAt
      Src: /src/vlc/modules/control/cli/player.c:469,1
    - Dst: vlc_player_SelectTrack
      Src: /src/vlc/modules/control/cli/player.c:472,1
    - Dst: vlc_player_GetSelectedTrack
      Src: /src/vlc/modules/control/cli/player.c:479,1
    - Dst: vlc_player_GetTrackCount
      Src: /src/vlc/modules/control/cli/player.c:481,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:483,1
    - Dst: vlc_player_GetTrackAt
      Src: /src/vlc/modules/control/cli/player.c:487,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:488,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:491,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/cli/player.c:495,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 429
    functionDepth: 4
    functionLinenumber: 429
    functionLinenumberEnd: 497
    functionName: PlayerSetTrack
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - cli_printf
    - atoi
    - vlc_player_GetTrackAt
    - vlc_player_SelectTrack
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlc_player_GetTrackCount
    - vlc_player_GetSelectedTrack
    - vlc_player_UnselectTrackCategory
    linkageType: ''
    returnType: int
    signature: "int PlayerSetTrack(struct cli_client *cl, const char *const *args,\n
      \                         size_t count, void *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/cli/player.c:504,1
    - Dst: vlc_player_IsRecording
      Src: /src/vlc/modules/control/cli/player.c:506,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/cli/player.c:511,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/cli/player.c:513,1
    - Dst: vlc_player_SetRecordingEnabled
      Src: /src/vlc/modules/control/cli/player.c:518,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/cli/player.c:519,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 522
    functionName: PlayerRecord
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - vlc_player_Unlock
    - vlc_player_IsRecording
    - vlc_player_SetRecordingEnabled
    - vlc_player_Lock
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int PlayerRecord(struct cli_client *cl, const char *const *args,\n
      \                       size_t count, void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/cli/player.c:530,1
    - Dst: vlc_player_GetTime
      Src: /src/vlc/modules/control/cli/player.c:531,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/cli/player.c:532,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:536,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/control/cli/player.c:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 524
    functionDepth: 4
    functionLinenumber: 524
    functionLinenumberEnd: 539
    functionName: PlayerGetTime
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - cli_printf
    - SEC_FROM_VLC_TICK
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlc_player_GetTime
    linkageType: ''
    returnType: int
    signature: "int PlayerGetTime(struct cli_client *cl, const char *const *args,\n
      \                        size_t count, void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/cli/player.c:547,1
    - Dst: vlc_player_GetLength
      Src: /src/vlc/modules/control/cli/player.c:548,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/cli/player.c:549,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:554,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/control/cli/player.c:554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 541
    functionDepth: 4
    functionLinenumber: 541
    functionLinenumberEnd: 557
    functionName: PlayerGetLength
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - cli_printf
    - SEC_FROM_VLC_TICK
    - vlc_player_Unlock
    - vlc_player_GetLength
    - vlc_player_Lock
    linkageType: ''
    returnType: int
    signature: "int PlayerGetLength(struct cli_client *cl, const char *const *args,\n
      \                          size_t count, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/cli/player.c:565,1
    - Dst: vlc_player_GetSelectedTitle
      Src: /src/vlc/modules/control/cli/player.c:566,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:567,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/cli/player.c:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 559
    functionDepth: 4
    functionLinenumber: 559
    functionLinenumberEnd: 571
    functionName: PlayerGetTitle
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - cli_printf
    - vlc_player_GetSelectedTitle
    - vlc_player_Unlock
    - vlc_player_Lock
    linkageType: ''
    returnType: int
    signature: "int PlayerGetTitle(struct cli_client *cl, const char *const *args,\n
      \                         size_t count, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlayerDoVoid
      Src: /src/vlc/modules/control/cli/player.c:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 578
    functionName: PlayerVoutSnapshot
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - PlayerDoVoid
    linkageType: ''
    returnType: int
    signature: "int PlayerVoutSnapshot(struct cli_client *cl, const char *const *args,\n
      \                             size_t count, void *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_vout_IsFullscreen
      Src: /src/vlc/modules/control/cli/player.c:584,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/control/cli/player.c:588,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/control/cli/player.c:590,1
    - Dst: vlc_player_vout_SetFullscreen
      Src: /src/vlc/modules/control/cli/player.c:594,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 597
    functionName: PlayerFullscreen
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - vlc_player_vout_IsFullscreen
    - vlc_player_vout_SetFullscreen
    - strncasecmp
    linkageType: ''
    returnType: int
    signature: "int PlayerFullscreen(struct cli_client *cl, const char *const *args,\n
      \                           size_t count, void *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/vlc/modules/control/cli/player.c:612,1
    - Dst: ldexpf
      Src: /src/vlc/modules/control/cli/player.c:619,1
    - Dst: stdc_trailing_zeros
      Src: /src/vlc/modules/control/cli/player.c:619,1
    - Dst: ParseFloat
      Src: /src/vlc/modules/control/cli/player.c:622,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/cli/player.c:629,1
    - Dst: vlc_player_aout_SetVolume
      Src: /src/vlc/modules/control/cli/player.c:630,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/cli/player.c:634,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:635,1
    - Dst: vlc_player_aout_GetVolume
      Src: /src/vlc/modules/control/cli/player.c:636,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/cli/player.c:638,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 599
    functionDepth: 4
    functionLinenumber: 599
    functionLinenumberEnd: 640
    functionName: Volume
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 8
    functionsReached:
    - stdc_trailing_zeros
    - cli_printf
    - vlc_player_aout_SetVolume
    - strtoul
    - vlc_player_Unlock
    - vlc_player_Lock
    - ParseFloat
    - ldexpf
    - vlc_player_aout_GetVolume
    linkageType: ''
    returnType: int
    signature: "int Volume(struct cli_client *cl, const char *const *args, size_t
      count,\n                  void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/vlc/modules/control/cli/player.c:649,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/cli/player.c:651,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/cli/player.c:654,1
    - Dst: vlc_player_aout_IncrementVolume
      Src: /src/vlc/modules/control/cli/player.c:655,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/cli/player.c:656,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 659
    functionName: VolumeMove
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - atoi
    - vlc_player_aout_IncrementVolume
    - vlc_player_Unlock
    - vlc_player_Lock
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int VolumeMove(struct cli_client *cl, const char *const *args,\n                      size_t
      count, void *data)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_vout_Hold
      Src: /src/vlc/modules/control/cli/player.c:665,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/cli/player.c:670,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/cli/player.c:672,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/cli/player.c:674,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/control/cli/player.c:678,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/cli/player.c:683,1
    - Dst: ParseFloat
      Src: /src/vlc/modules/control/cli/player.c:686,1
    - Dst: vout_Release
      Src: /src/vlc/modules/control/cli/player.c:689,1
    - Dst: var_SetFloat
      Src: /src/vlc/modules/control/cli/player.c:693,1
    - Dst: var_SetString
      Src: /src/vlc/modules/control/cli/player.c:696,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/cli/player.c:708,1
    - Dst: var_GetFloat
      Src: /src/vlc/modules/control/cli/player.c:709,1
    - Dst: var_GetString
      Src: /src/vlc/modules/control/cli/player.c:712,1
    - Dst: vout_Release
      Src: /src/vlc/modules/control/cli/player.c:715,1
    - Dst: var_Change
      Src: /src/vlc/modules/control/cli/player.c:720,1
    - Dst: vout_Release
      Src: /src/vlc/modules/control/cli/player.c:723,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/player.c:724,1
    - Dst: var_Change
      Src: /src/vlc/modules/control/cli/player.c:729,1
    - Dst: strdup
      Src: /src/vlc/modules/control/cli/player.c:730,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:732,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/cli/player.c:733,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:742,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/player.c:743,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/cli/player.c:752,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:755,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/player.c:756,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/player.c:757,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/player.c:759,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/player.c:761,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/player.c:762,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:763,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/player.c:765,1
    - Dst: vout_Release
      Src: /src/vlc/modules/control/cli/player.c:767,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 4
    argNames:
    - cl
    - args
    - n_args
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 661
    functionDepth: 4
    functionLinenumber: 661
    functionLinenumberEnd: 769
    functionName: VideoConfig
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - vlc_player_vout_Hold
    - var_SetFloat
    - var_GetFloat
    - strdup
    - vlc_assert_unreachable
    - var_GetString
    - cli_printf
    - ParseFloat
    - free
    - strcmp
    - var_Change
    - vout_Release
    - var_SetString
    linkageType: ''
    returnType: int
    signature: "int VideoConfig(struct cli_client *cl, const char *const *args,\n
      \                      size_t n_args, void *data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_aout_Hold
      Src: /src/vlc/modules/control/cli/player.c:777,1
    - Dst: aout_DevicesList
      Src: /src/vlc/modules/control/cli/player.c:784,1
    - Dst: aout_DeviceSet
      Src: /src/vlc/modules/control/cli/player.c:793,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/cli/player.c:799,1
    - Dst: vlc_player_osd_Message
      Src: /src/vlc/modules/control/cli/player.c:800,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/player.c:801,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/player.c:803,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/player.c:804,1
    - Dst: aout_DeviceGet
      Src: /src/vlc/modules/control/cli/player.c:809,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:812,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/cli/player.c:817,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:819,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/player.c:820,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/player.c:821,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:823,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/player.c:825,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/player.c:828,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/player.c:829,1
    - Dst: aout_Release
      Src: /src/vlc/modules/control/cli/player.c:831,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 771
    functionDepth: 4
    functionLinenumber: 771
    functionLinenumberEnd: 833
    functionName: AudioDevice
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - cli_printf
    - aout_DevicesList
    - aout_DeviceGet
    - _
    - vlc_player_osd_Message
    - free
    - strcmp
    - aout_DeviceSet
    - vlc_player_aout_Hold
    - aout_Release
    linkageType: ''
    returnType: int
    signature: "int AudioDevice(struct cli_client *cl, const char *const *args,\n
      \                      size_t count, void *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_aout_Hold
      Src: /src/vlc/modules/control/cli/player.c:841,1
    - Dst: var_Change
      Src: /src/vlc/modules/control/cli/player.c:854,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/control/cli/player.c:861,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:863,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:871,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/player.c:872,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/player.c:874,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/player.c:875,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:876,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/control/cli/player.c:879,1
    - Dst: atoi
      Src: /src/vlc/modules/control/cli/player.c:879,1
    - Dst: aout_Release
      Src: /src/vlc/modules/control/cli/player.c:881,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - cl
    - args
    - n_args
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 835
    functionDepth: 4
    functionLinenumber: 835
    functionLinenumberEnd: 883
    functionName: AudioChannel
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - cli_printf
    - atoi
    - free
    - var_GetInteger
    - var_SetInteger
    - var_Change
    - vlc_player_aout_Hold
    - aout_Release
    linkageType: ''
    returnType: int
    signature: "int AudioChannel(struct cli_client *cl, const char *const *args,\n
      \                       size_t n_args, void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/cli/player.c:891,1
    - Dst: vlc_player_GetCurrentMedia
      Src: /src/vlc/modules/control/cli/player.c:892,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:896,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/control/cli/player.c:897,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:900,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/player.c:900,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:901,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/player.c:901,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:903,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/player.c:903,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:905,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/player.c:905,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:907,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/player.c:907,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:909,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/player.c:909,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:911,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/player.c:911,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:913,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:916,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/player.c:916,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:917,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/player.c:917,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:919,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/player.c:919,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:921,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/player.c:921,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:923,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/player.c:923,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:925,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:928,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/player.c:928,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:929,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/player.c:929,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:931,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/player.c:931,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:933,1
    - Dst: _
      Src: /src/vlc/modules/control/cli/player.c:933,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:935,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/control/cli/player.c:937,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:938,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/cli/player.c:940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 885
    functionDepth: 4
    functionLinenumber: 885
    functionLinenumberEnd: 943
    functionName: Statistics
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - cli_printf
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_player_Unlock
    - _
    - vlc_player_Lock
    - vlc_player_GetCurrentMedia
    linkageType: ''
    returnType: int
    signature: "int Statistics(struct cli_client *cl, const char *const *args,\n                      size_t
      count, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/cli/player.c:951,1
    - Dst: vlc_player_GetState
      Src: /src/vlc/modules/control/cli/player.c:952,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:953,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/cli/player.c:955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 945
    functionDepth: 4
    functionLinenumber: 945
    functionLinenumberEnd: 958
    functionName: IsPlaying
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - cli_printf
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlc_player_GetState
    linkageType: ''
    returnType: int
    signature: "int IsPlaying(struct cli_client *cl, const char *const *args,\n                     size_t
      count, void *data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/cli/player.c:965,1
    - Dst: vlc_player_GetCurrentMedia
      Src: /src/vlc/modules/control/cli/player.c:967,1
    - Dst: input_item_GetURI
      Src: /src/vlc/modules/control/cli/player.c:970,1
    - Dst: likely
      Src: /src/vlc/modules/control/cli/player.c:971,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:973,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/player.c:974,1
    - Dst: vlc_player_aout_GetVolume
      Src: /src/vlc/modules/control/cli/player.c:978,1
    - Dst: isgreaterequal
      Src: /src/vlc/modules/control/cli/player.c:979,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:980,1
    - Dst: lroundf
      Src: /src/vlc/modules/control/cli/player.c:981,1
    - Dst: vlc_player_GetState
      Src: /src/vlc/modules/control/cli/player.c:983,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/cli/player.c:985,1
    - Dst: cli_printf
      Src: /src/vlc/modules/control/cli/player.c:1009,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 4
    argNames:
    - cl
    - args
    - count
    - data
    argTypes:
    - struct cli_client*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 960
    functionDepth: 4
    functionLinenumber: 960
    functionLinenumberEnd: 1012
    functionName: PlayerStatus
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 0
    functionsReached:
    - cli_printf
    - isgreaterequal
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlc_player_GetState
    - free
    - likely
    - vlc_player_aout_GetVolume
    - input_item_GetURI
    - lroundf
    - vlc_player_GetCurrentMedia
    linkageType: ''
    returnType: int
    signature: "int PlayerStatus(struct cli_client *cl, const char *const *args,\n
      \                       size_t count, void *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_intf_GetMainPlaylist
      Src: /src/vlc/modules/control/cli/player.c:1065,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/control/cli/player.c:1066,1
    - Dst: malloc
      Src: /src/vlc/modules/control/cli/player.c:1067,1
    - Dst: unlikely
      Src: /src/vlc/modules/control/cli/player.c:1069,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/control/cli/player.c:1075,1
    - Dst: RegisterHandlers
      Src: /src/vlc/modules/control/cli/player.c:1077,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/control/cli/player.c:1077,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/cli/player.c:1079,1
    - Dst: vlc_player_AddListener
      Src: /src/vlc/modules/control/cli/player.c:1080,1
    - Dst: unlikely
      Src: /src/vlc/modules/control/cli/player.c:1082,1
    - Dst: vlc_player_aout_AddListener
      Src: /src/vlc/modules/control/cli/player.c:1086,1
    - Dst: vlc_player_RemoveListener
      Src: /src/vlc/modules/control/cli/player.c:1090,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/cli/player.c:1094,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/cli/player.c:1098,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/player.c:1099,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - intf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1063
    functionDepth: 3
    functionLinenumber: 1063
    functionLinenumberEnd: 1101
    functionName: RegisterPlayer
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 1
    functionsReached:
    - vlc_intf_GetMainPlaylist
    - ARRAY_SIZE
    - vlc_player_Unlock
    - var_InheritBool
    - vlc_player_Lock
    - vlc_player_RemoveListener
    - free
    - vlc_playlist_GetPlayer
    - RegisterHandlers
    - vlc_player_AddListener
    - vlc_player_aout_AddListener
    - unlikely
    - malloc
    linkageType: ''
    returnType: void
    signature: void *RegisterPlayer(intf_thread_t *intf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_intf_GetMainPlaylist
      Src: /src/vlc/modules/control/cli/player.c:1105,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/control/cli/player.c:1106,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/cli/player.c:1109,1
    - Dst: vlc_player_aout_RemoveListener
      Src: /src/vlc/modules/control/cli/player.c:1110,1
    - Dst: vlc_player_RemoveListener
      Src: /src/vlc/modules/control/cli/player.c:1111,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/cli/player.c:1112,1
    - Dst: free
      Src: /src/vlc/modules/control/cli/player.c:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - intf
    - data
    argTypes:
    - intf_thread_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1103
    functionDepth: 1
    functionLinenumber: 1103
    functionLinenumberEnd: 1115
    functionName: DeregisterPlayer
    functionSourceFile: /src/vlc/modules/control/cli/player.c
    functionUses: 2
    functionsReached:
    - vlc_intf_GetMainPlaylist
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlc_player_RemoveListener
    - free
    - vlc_playlist_GetPlayer
    - vlc_player_aout_RemoveListener
    linkageType: ''
    returnType: void
    signature: void DeregisterPlayer(intf_thread_t *intf, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - tracklist_append_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: tracklist_append_event_next
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_tracklist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: tracklist_append_event_t
    signature: 'tracklist_append_event_t *

      tracklist_append_event_next( tracklist_append_event_t *event )'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - tracklist_remove_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: tracklist_remove_event_next
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_tracklist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: tracklist_remove_event_t
    signature: 'tracklist_remove_event_t *

      tracklist_remove_event_next( tracklist_remove_event_t *event )'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/control/dbus/dbus_player.c:46,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:47,1
    - Dst: vlc_player_GetTime
      Src: /src/vlc/modules/control/dbus/dbus_player.c:48,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:49,1
    - Dst: US_FROM_VLC_TICK
      Src: /src/vlc/modules/control/dbus/dbus_player.c:50,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/vlc/modules/control/dbus/dbus_player.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p_intf
    - container
    argTypes:
    - intf_thread_t*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 56
    functionName: MarshalPosition
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_append_basic
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlc_player_GetTime
    - vlc_playlist_GetPlayer
    - US_FROM_VLC_TICK
    linkageType: ''
    returnType: int
    signature: int MarshalPosition( intf_thread_t *p_intf, DBusMessageIter *container
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_error_init
      Src: /src/vlc/modules/control/dbus/dbus_player.c:68,1
    - Dst: dbus_message_get_args
      Src: /src/vlc/modules/control/dbus/dbus_player.c:70,1
    - Dst: dbus_error_is_set
      Src: /src/vlc/modules/control/dbus/dbus_player.c:75,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/dbus/dbus_player.c:77,1
    - Dst: dbus_error_free
      Src: /src/vlc/modules/control/dbus/dbus_player.c:79,1
    - Dst: sscanf
      Src: /src/vlc/modules/control/dbus/dbus_player.c:83,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:87,1
    - Dst: vlc_playlist_GetCurrentIndex
      Src: /src/vlc/modules/control/dbus/dbus_player.c:88,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/control/dbus/dbus_player.c:91,1
    - Dst: vlc_player_SetTime
      Src: /src/vlc/modules/control/dbus/dbus_player.c:92,1
    - Dst: VLC_TICK_FROM_US
      Src: /src/vlc/modules/control/dbus/dbus_player.c:92,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 97
    functionName: DBUS_METHOD
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached:
    - sscanf
    - vlc_playlist_Lock
    - VLC_TICK_FROM_US
    - dbus_error_free
    - vlc_playlist_Unlock
    - msg_Err
    - dbus_error_is_set
    - vlc_playlist_GetCurrentIndex
    - vlc_player_SetTime
    - vlc_playlist_GetPlayer
    - dbus_error_init
    - dbus_message_get_args
    linkageType: ''
    returnType: void
    signature: void DBUS_METHOD( SetPosition )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbus_error_init
      Src: /src/vlc/modules/control/dbus/dbus_player.c:105,1
    - Dst: dbus_message_get_args
      Src: /src/vlc/modules/control/dbus/dbus_player.c:107,1
    - Dst: dbus_error_is_set
      Src: /src/vlc/modules/control/dbus/dbus_player.c:111,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/dbus/dbus_player.c:113,1
    - Dst: dbus_error_free
      Src: /src/vlc/modules/control/dbus/dbus_player.c:115,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/control/dbus/dbus_player.c:119,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:120,1
    - Dst: vlc_player_JumpTime
      Src: /src/vlc/modules/control/dbus/dbus_player.c:121,1
    - Dst: VLC_TICK_FROM_US
      Src: /src/vlc/modules/control/dbus/dbus_player.c:121,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 125
    functionName: DBUS_METHOD
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached:
    - VLC_TICK_FROM_US
    - dbus_error_free
    - vlc_player_Unlock
    - vlc_player_Lock
    - msg_Err
    - dbus_error_is_set
    - vlc_playlist_GetPlayer
    - dbus_error_init
    - vlc_player_JumpTime
    - dbus_message_get_args
    linkageType: ''
    returnType: void
    signature: void DBUS_METHOD( Seek )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/control/dbus/dbus_player.c:130,1
    - Dst: vlc_player_aout_GetVolume
      Src: /src/vlc/modules/control/dbus/dbus_player.c:131,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/vlc/modules/control/dbus/dbus_player.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p_intf
    - container
    argTypes:
    - intf_thread_t*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 139
    functionName: MarshalVolume
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached:
    - vlc_player_aout_GetVolume
    - dbus_message_iter_append_basic
    - vlc_playlist_GetPlayer
    linkageType: ''
    returnType: int
    signature: int MarshalVolume( intf_thread_t *p_intf, DBusMessageIter *container
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DemarshalSetPropertyValue
      Src: /src/vlc/modules/control/dbus/dbus_player.c:146,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/control/dbus/dbus_player.c:149,1
    - Dst: vlc_player_aout_SetVolume
      Src: /src/vlc/modules/control/dbus/dbus_player.c:150,1
    - Dst: fmaxf
      Src: /src/vlc/modules/control/dbus/dbus_player.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 153
    functionName: DBUS_METHOD
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached:
    - DemarshalSetPropertyValue
    - vlc_playlist_GetPlayer
    - vlc_player_aout_SetVolume
    - fmaxf
    linkageType: ''
    returnType: void
    signature: void DBUS_METHOD( VolumeSet )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:159,1
    - Dst: vlc_playlist_Next
      Src: /src/vlc/modules/control/dbus/dbus_player.c:160,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: DBUS_METHOD
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached:
    - vlc_playlist_Unlock
    - vlc_playlist_Next
    - vlc_playlist_Lock
    linkageType: ''
    returnType: void
    signature: void DBUS_METHOD( Next )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:169,1
    - Dst: vlc_playlist_Prev
      Src: /src/vlc/modules/control/dbus/dbus_player.c:170,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 173
    functionName: DBUS_METHOD
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached:
    - vlc_playlist_Prev
    - vlc_playlist_Unlock
    - vlc_playlist_Lock
    linkageType: ''
    returnType: void
    signature: void DBUS_METHOD( Prev )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:179,1
    - Dst: vlc_playlist_Stop
      Src: /src/vlc/modules/control/dbus/dbus_player.c:180,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 183
    functionName: DBUS_METHOD
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached:
    - vlc_playlist_Stop
    - vlc_playlist_Unlock
    - vlc_playlist_Lock
    linkageType: ''
    returnType: void
    signature: void DBUS_METHOD( Stop )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/control/dbus/dbus_player.c:188,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:189,1
    - Dst: vlc_player_IsPaused
      Src: /src/vlc/modules/control/dbus/dbus_player.c:190,1
    - Dst: vlc_player_Resume
      Src: /src/vlc/modules/control/dbus/dbus_player.c:191,1
    - Dst: vlc_player_Start
      Src: /src/vlc/modules/control/dbus/dbus_player.c:193,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 196
    functionName: DBUS_METHOD
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached:
    - vlc_player_IsPaused
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlc_playlist_GetPlayer
    - vlc_player_Start
    - vlc_player_Resume
    linkageType: ''
    returnType: void
    signature: void DBUS_METHOD( Play )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:202,1
    - Dst: vlc_playlist_Pause
      Src: /src/vlc/modules/control/dbus/dbus_player.c:203,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 206
    functionName: DBUS_METHOD
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached:
    - vlc_playlist_Unlock
    - vlc_playlist_Lock
    - vlc_playlist_Pause
    linkageType: ''
    returnType: void
    signature: void DBUS_METHOD( Pause )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/control/dbus/dbus_player.c:211,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:212,1
    - Dst: vlc_player_TogglePause
      Src: /src/vlc/modules/control/dbus/dbus_player.c:213,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 216
    functionName: DBUS_METHOD
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached:
    - vlc_player_Unlock
    - vlc_playlist_GetPlayer
    - vlc_player_Lock
    - vlc_player_TogglePause
    linkageType: ''
    returnType: void
    signature: void DBUS_METHOD( PlayPause )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dbus_error_init
      Src: /src/vlc/modules/control/dbus/dbus_player.c:224,1
    - Dst: dbus_message_get_args
      Src: /src/vlc/modules/control/dbus/dbus_player.c:226,1
    - Dst: dbus_error_is_set
      Src: /src/vlc/modules/control/dbus/dbus_player.c:230,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/dbus/dbus_player.c:232,1
    - Dst: dbus_error_free
      Src: /src/vlc/modules/control/dbus/dbus_player.c:234,1
    - Dst: input_item_New
      Src: /src/vlc/modules/control/dbus/dbus_player.c:238,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:243,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/control/dbus/dbus_player.c:244,1
    - Dst: vlc_playlist_InsertOne
      Src: /src/vlc/modules/control/dbus/dbus_player.c:245,1
    - Dst: vlc_playlist_PlayAt
      Src: /src/vlc/modules/control/dbus/dbus_player.c:246,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:247,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/control/dbus/dbus_player.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 252
    functionName: DBUS_METHOD
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached:
    - vlc_playlist_Lock
    - input_item_New
    - vlc_playlist_Count
    - vlc_playlist_PlayAt
    - dbus_error_free
    - vlc_playlist_InsertOne
    - vlc_playlist_Unlock
    - input_item_Release
    - msg_Err
    - dbus_error_is_set
    - dbus_error_init
    - dbus_message_get_args
    linkageType: ''
    returnType: void
    signature: void DBUS_METHOD( OpenUri )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:258,1
    - Dst: vlc_playlist_HasNext
      Src: /src/vlc/modules/control/dbus/dbus_player.c:259,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:260,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/vlc/modules/control/dbus/dbus_player.c:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p_intf
    - container
    argTypes:
    - intf_thread_t*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 269
    functionName: MarshalCanGoNext
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_append_basic
    - vlc_playlist_HasNext
    - vlc_playlist_Unlock
    - vlc_playlist_Lock
    linkageType: ''
    returnType: int
    signature: int MarshalCanGoNext( intf_thread_t *p_intf, DBusMessageIter *container
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:275,1
    - Dst: vlc_playlist_HasPrev
      Src: /src/vlc/modules/control/dbus/dbus_player.c:276,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:277,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/vlc/modules/control/dbus/dbus_player.c:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p_intf
    - container
    argTypes:
    - intf_thread_t*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 286
    functionName: MarshalCanGoPrevious
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached:
    - vlc_playlist_HasPrev
    - dbus_message_iter_append_basic
    - vlc_playlist_Unlock
    - vlc_playlist_Lock
    linkageType: ''
    returnType: int
    signature: int MarshalCanGoPrevious( intf_thread_t *p_intf, DBusMessageIter *container
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:292,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/control/dbus/dbus_player.c:293,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:294,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/vlc/modules/control/dbus/dbus_player.c:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p_intf
    - container
    argTypes:
    - intf_thread_t*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 301
    functionName: MarshalCanPlay
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_append_basic
    - vlc_playlist_Count
    - vlc_playlist_Unlock
    - vlc_playlist_Lock
    linkageType: ''
    returnType: int
    signature: int MarshalCanPlay( intf_thread_t *p_intf, DBusMessageIter *container
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/control/dbus/dbus_player.c:306,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:307,1
    - Dst: vlc_player_CanPause
      Src: /src/vlc/modules/control/dbus/dbus_player.c:308,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:309,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/vlc/modules/control/dbus/dbus_player.c:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p_intf
    - container
    argTypes:
    - intf_thread_t*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 316
    functionName: MarshalCanPause
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_append_basic
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlc_playlist_GetPlayer
    - vlc_player_CanPause
    linkageType: ''
    returnType: int
    signature: int MarshalCanPause( intf_thread_t *p_intf, DBusMessageIter *container
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/dbus/dbus_player.c:321,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/vlc/modules/control/dbus/dbus_player.c:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_intf
    - container
    argTypes:
    - intf_thread_t*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 329
    functionName: MarshalCanControl
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_append_basic
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int MarshalCanControl( intf_thread_t *p_intf, DBusMessageIter *container
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/control/dbus/dbus_player.c:334,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:335,1
    - Dst: vlc_player_CanSeek
      Src: /src/vlc/modules/control/dbus/dbus_player.c:336,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:337,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/vlc/modules/control/dbus/dbus_player.c:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p_intf
    - container
    argTypes:
    - intf_thread_t*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 344
    functionName: MarshalCanSeek
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_append_basic
    - vlc_player_CanSeek
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlc_playlist_GetPlayer
    linkageType: ''
    returnType: int
    signature: int MarshalCanSeek( intf_thread_t *p_intf, DBusMessageIter *container
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:350,1
    - Dst: vlc_playlist_GetPlaybackOrder
      Src: /src/vlc/modules/control/dbus/dbus_player.c:352,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:353,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/vlc/modules/control/dbus/dbus_player.c:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p_intf
    - container
    argTypes:
    - intf_thread_t*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 361
    functionName: MarshalShuffle
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached:
    - vlc_playlist_GetPlaybackOrder
    - dbus_message_iter_append_basic
    - vlc_playlist_Unlock
    - vlc_playlist_Lock
    linkageType: ''
    returnType: int
    signature: int MarshalShuffle( intf_thread_t *p_intf, DBusMessageIter *container
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DemarshalSetPropertyValue
      Src: /src/vlc/modules/control/dbus/dbus_player.c:368,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:372,1
    - Dst: vlc_playlist_SetPlaybackOrder
      Src: /src/vlc/modules/control/dbus/dbus_player.c:373,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 379
    functionName: DBUS_METHOD
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached:
    - DemarshalSetPropertyValue
    - vlc_playlist_Unlock
    - vlc_playlist_SetPlaybackOrder
    - vlc_playlist_Lock
    linkageType: ''
    returnType: void
    signature: void DBUS_METHOD( ShuffleSet )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/control/dbus/dbus_player.c:384,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:385,1
    - Dst: vlc_player_GetState
      Src: /src/vlc/modules/control/dbus/dbus_player.c:386,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:387,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/vlc/modules/control/dbus/dbus_player.c:403,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - p_intf
    - container
    argTypes:
    - intf_thread_t*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 408
    functionName: MarshalPlaybackStatus
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_append_basic
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlc_playlist_GetPlayer
    - vlc_player_GetState
    linkageType: ''
    returnType: int
    signature: int MarshalPlaybackStatus( intf_thread_t *p_intf, DBusMessageIter *container
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/control/dbus/dbus_player.c:413,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:414,1
    - Dst: vlc_player_GetRate
      Src: /src/vlc/modules/control/dbus/dbus_player.c:415,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:416,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/vlc/modules/control/dbus/dbus_player.c:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p_intf
    - container
    argTypes:
    - intf_thread_t*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 423
    functionName: MarshalRate
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_append_basic
    - vlc_player_GetRate
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlc_playlist_GetPlayer
    linkageType: ''
    returnType: int
    signature: int MarshalRate( intf_thread_t *p_intf, DBusMessageIter *container
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DemarshalSetPropertyValue
      Src: /src/vlc/modules/control/dbus/dbus_player.c:431,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/control/dbus/dbus_player.c:434,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:435,1
    - Dst: vlc_player_ChangeRate
      Src: /src/vlc/modules/control/dbus/dbus_player.c:436,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 440
    functionName: DBUS_METHOD
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached:
    - DemarshalSetPropertyValue
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlc_player_ChangeRate
    - vlc_playlist_GetPlayer
    linkageType: ''
    returnType: void
    signature: void DBUS_METHOD( RateSet )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/dbus/dbus_player.c:445,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/vlc/modules/control/dbus/dbus_player.c:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_intf
    - container
    argTypes:
    - intf_thread_t*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 452
    functionName: MarshalMinimumRate
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_append_basic
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int MarshalMinimumRate( intf_thread_t *p_intf, DBusMessageIter *container
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/dbus/dbus_player.c:457,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/vlc/modules/control/dbus/dbus_player.c:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_intf
    - container
    argTypes:
    - intf_thread_t*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 464
    functionName: MarshalMaximumRate
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_append_basic
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int MarshalMaximumRate( intf_thread_t *p_intf, DBusMessageIter *container
      )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:470,1
    - Dst: vlc_playlist_GetPlaybackRepeat
      Src: /src/vlc/modules/control/dbus/dbus_player.c:472,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:473,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/control/dbus/dbus_player.c:488,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/vlc/modules/control/dbus/dbus_player.c:491,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - p_intf
    - container
    argTypes:
    - intf_thread_t*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 496
    functionName: MarshalLoopStatus
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_append_basic
    - vlc_assert_unreachable
    - vlc_playlist_Lock
    - vlc_playlist_GetPlaybackRepeat
    - vlc_playlist_Unlock
    linkageType: ''
    returnType: int
    signature: int MarshalLoopStatus( intf_thread_t *p_intf, DBusMessageIter *container
      )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DemarshalSetPropertyValue
      Src: /src/vlc/modules/control/dbus/dbus_player.c:503,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/dbus/dbus_player.c:507,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/dbus/dbus_player.c:509,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/dbus/dbus_player.c:511,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:517,1
    - Dst: vlc_playlist_SetPlaybackRepeat
      Src: /src/vlc/modules/control/dbus/dbus_player.c:518,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:519,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 522
    functionName: DBUS_METHOD
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached:
    - vlc_playlist_Lock
    - DemarshalSetPropertyValue
    - vlc_playlist_Unlock
    - vlc_playlist_SetPlaybackRepeat
    - strcmp
    linkageType: ''
    returnType: void
    signature: void DBUS_METHOD( LoopStatusSet )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:531,1
    - Dst: vlc_playlist_GetCurrentIndex
      Src: /src/vlc/modules/control/dbus/dbus_player.c:532,1
    - Dst: vlc_playlist_Get
      Src: /src/vlc/modules/control/dbus/dbus_player.c:534,1
    - Dst: vlc_playlist_item_Hold
      Src: /src/vlc/modules/control/dbus/dbus_player.c:535,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:537,1
    - Dst: GetInputMeta
      Src: /src/vlc/modules/control/dbus/dbus_player.c:540,1
    - Dst: vlc_playlist_item_Release
      Src: /src/vlc/modules/control/dbus/dbus_player.c:541,1
    - Dst: dbus_message_iter_open_container
      Src: /src/vlc/modules/control/dbus/dbus_player.c:546,1
    - Dst: dbus_message_iter_close_container
      Src: /src/vlc/modules/control/dbus/dbus_player.c:548,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - p_intf
    - container
    argTypes:
    - intf_thread_t*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 552
    functionName: MarshalMetadata
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached:
    - GetInputMeta
    - vlc_playlist_item_Release
    - vlc_playlist_Lock
    - dbus_message_iter_close_container
    - vlc_playlist_Unlock
    - dbus_message_iter_open_container
    - vlc_playlist_GetCurrentIndex
    - vlc_playlist_Get
    - vlc_playlist_item_Hold
    linkageType: ''
    returnType: int
    signature: int MarshalMetadata( intf_thread_t *p_intf, DBusMessageIter *container
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIGNAL_INIT
      Src: /src/vlc/modules/control/dbus/dbus_player.c:560,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/control/dbus/dbus_player.c:568,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:569,1
    - Dst: vlc_player_GetTime
      Src: /src/vlc/modules/control/dbus/dbus_player.c:570,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/dbus/dbus_player.c:571,1
    - Dst: US_FROM_VLC_TICK
      Src: /src/vlc/modules/control/dbus/dbus_player.c:572,1
    - Dst: ADD_INT64
      Src: /src/vlc/modules/control/dbus/dbus_player.c:574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 576
    functionName: DBUS_SIGNAL
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached:
    - vlc_player_Unlock
    - SIGNAL_INIT
    - vlc_player_Lock
    - vlc_player_GetTime
    - vlc_playlist_GetPlayer
    - ADD_INT64
    - US_FROM_VLC_TICK
    linkageType: ''
    returnType: void
    signature: void DBUS_SIGNAL( SeekedSignal )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - prop
    - ','
    - signature
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 590
    functionName: PROPERTY_GET_FUNC
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROPERTY_GET_FUNC( prop, signature )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - prop
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 594
    functionName: PROPERTY_SET_FUNC
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROPERTY_SET_FUNC( prop )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dbus_error_init
      Src: /src/vlc/modules/control/dbus/dbus_player.c:603,1
    - Dst: dbus_message_get_args
      Src: /src/vlc/modules/control/dbus/dbus_player.c:604,1
    - Dst: dbus_error_is_set
      Src: /src/vlc/modules/control/dbus/dbus_player.c:609,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/dbus/dbus_player.c:611,1
    - Dst: dbus_error_free
      Src: /src/vlc/modules/control/dbus/dbus_player.c:613,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/dbus/dbus_player.c:617,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/dbus/dbus_player.c:620,1
    - Dst: PROPERTY_GET_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:630,1
    - Dst: PROPERTY_GET_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:631,1
    - Dst: PROPERTY_GET_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:632,1
    - Dst: PROPERTY_GET_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:633,1
    - Dst: PROPERTY_GET_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:634,1
    - Dst: PROPERTY_GET_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:635,1
    - Dst: PROPERTY_GET_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:636,1
    - Dst: PROPERTY_GET_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:637,1
    - Dst: PROPERTY_GET_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:638,1
    - Dst: PROPERTY_GET_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:639,1
    - Dst: PROPERTY_GET_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:640,1
    - Dst: PROPERTY_GET_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:641,1
    - Dst: PROPERTY_GET_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:642,1
    - Dst: PROPERTY_GET_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 647
    functionName: DBUS_METHOD
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached:
    - dbus_error_free
    - PROPERTY_GET_FUNC
    - msg_Err
    - dbus_error_is_set
    - strcmp
    - dbus_error_init
    - msg_Dbg
    - dbus_message_get_args
    linkageType: ''
    returnType: void
    signature: void DBUS_METHOD( GetProperty )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dbus_error_init
      Src: /src/vlc/modules/control/dbus/dbus_player.c:656,1
    - Dst: dbus_message_get_args
      Src: /src/vlc/modules/control/dbus/dbus_player.c:657,1
    - Dst: dbus_error_is_set
      Src: /src/vlc/modules/control/dbus/dbus_player.c:662,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/dbus/dbus_player.c:664,1
    - Dst: dbus_error_free
      Src: /src/vlc/modules/control/dbus/dbus_player.c:666,1
    - Dst: PROPERTY_SET_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:672,1
    - Dst: PROPERTY_SET_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:673,1
    - Dst: PROPERTY_SET_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:674,1
    - Dst: dbus_error_init
      Src: /src/vlc/modules/control/dbus/dbus_player.c:700,1
    - Dst: dbus_message_get_args
      Src: /src/vlc/modules/control/dbus/dbus_player.c:701,1
    - Dst: dbus_error_is_set
      Src: /src/vlc/modules/control/dbus/dbus_player.c:705,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/dbus/dbus_player.c:707,1
    - Dst: dbus_error_free
      Src: /src/vlc/modules/control/dbus/dbus_player.c:709,1
    - Dst: dbus_message_iter_open_container
      Src: /src/vlc/modules/control/dbus/dbus_player.c:713,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:716,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:717,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:718,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:719,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:720,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:721,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:722,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:723,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:724,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:725,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:726,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:727,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:728,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:729,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:730,1
    - Dst: dbus_message_iter_close_container
      Src: /src/vlc/modules/control/dbus/dbus_player.c:732,1
    - Dst: METHOD_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:748,1
    - Dst: METHOD_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:749,1
    - Dst: METHOD_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:750,1
    - Dst: METHOD_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:754,1
    - Dst: METHOD_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:755,1
    - Dst: METHOD_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:756,1
    - Dst: METHOD_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:757,1
    - Dst: METHOD_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:758,1
    - Dst: METHOD_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:759,1
    - Dst: METHOD_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:760,1
    - Dst: METHOD_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:761,1
    - Dst: METHOD_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:762,1
    - Dst: SeekedSignal
      Src: /src/vlc/modules/control/dbus/dbus_player.c:777,1
    - Dst: SIGNAL_INIT
      Src: /src/vlc/modules/control/dbus/dbus_player.c:815,1
    - Dst: ADD_STRING
      Src: /src/vlc/modules/control/dbus/dbus_player.c:820,1
    - Dst: dbus_message_iter_open_container
      Src: /src/vlc/modules/control/dbus/dbus_player.c:822,1
    - Dst: vlc_dictionary_all_keys
      Src: /src/vlc/modules/control/dbus/dbus_player.c:826,1
    - Dst: unlikely
      Src: /src/vlc/modules/control/dbus/dbus_player.c:828,1
    - Dst: dbus_message_iter_abandon_container
      Src: /src/vlc/modules/control/dbus/dbus_player.c:830,1
    - Dst: PROPERTY_ENTRY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:838,1
    - Dst: PROPERTY_ENTRY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:839,1
    - Dst: PROPERTY_ENTRY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:840,1
    - Dst: PROPERTY_ENTRY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:841,1
    - Dst: PROPERTY_ENTRY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:842,1
    - Dst: PROPERTY_ENTRY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:843,1
    - Dst: PROPERTY_ENTRY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:844,1
    - Dst: PROPERTY_ENTRY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:845,1
    - Dst: PROPERTY_ENTRY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:846,1
    - Dst: PROPERTY_ENTRY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:847,1
    - Dst: free
      Src: /src/vlc/modules/control/dbus/dbus_player.c:853,1
    - Dst: dbus_message_iter_close_container
      Src: /src/vlc/modules/control/dbus/dbus_player.c:855,1
    - Dst: dbus_message_iter_open_container
      Src: /src/vlc/modules/control/dbus/dbus_player.c:858,1
    - Dst: dbus_message_iter_close_container
      Src: /src/vlc/modules/control/dbus/dbus_player.c:862,1
    - Dst: PropertiesChangedSignal
      Src: /src/vlc/modules/control/dbus/dbus_player.c:881,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 97
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 883
    functionName: DBUS_METHOD
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached:
    - PROPERTY_ENTRY
    - dbus_error_is_set
    - SeekedSignal
    - dbus_message_iter_close_container
    - ADD_STRING
    - dbus_message_iter_open_container
    - vlc_dictionary_all_keys
    - msg_Err
    - dbus_error_init
    - dbus_message_get_args
    - SIGNAL_INIT
    - METHOD_FUNC
    - dbus_message_iter_abandon_container
    - PropertiesChangedSignal
    - dbus_error_free
    - ADD_PROPERTY
    - free
    - PROPERTY_SET_FUNC
    - unlikely
    linkageType: ''
    returnType: void
    signature: void DBUS_METHOD( SetProperty )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - prop
    - ','
    - signature
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 689
    functionName: ADD_PROPERTY
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_PROPERTY( prop, signature )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_error_init
      Src: /src/vlc/modules/control/dbus/dbus_player.c:700,1
    - Dst: dbus_message_get_args
      Src: /src/vlc/modules/control/dbus/dbus_player.c:701,1
    - Dst: dbus_error_is_set
      Src: /src/vlc/modules/control/dbus/dbus_player.c:705,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/dbus/dbus_player.c:707,1
    - Dst: dbus_error_free
      Src: /src/vlc/modules/control/dbus/dbus_player.c:709,1
    - Dst: dbus_message_iter_open_container
      Src: /src/vlc/modules/control/dbus/dbus_player.c:713,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:716,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:717,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:718,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:719,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:720,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:721,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:722,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:723,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:724,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:725,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:726,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:727,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:728,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:729,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:730,1
    - Dst: dbus_message_iter_close_container
      Src: /src/vlc/modules/control/dbus/dbus_player.c:732,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 736
    functionName: DBUS_METHOD
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_close_container
    - dbus_error_free
    - dbus_message_iter_open_container
    - ADD_PROPERTY
    - msg_Err
    - dbus_error_is_set
    - dbus_error_init
    - dbus_message_get_args
    linkageType: ''
    returnType: void
    signature: void DBUS_METHOD( GetAllProperties )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - interface
    - ','
    - method
    - ','
    - function
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 743
    functionName: METHOD_FUNC
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: METHOD_FUNC( interface, method, function )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: METHOD_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:748,1
    - Dst: METHOD_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:749,1
    - Dst: METHOD_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:750,1
    - Dst: METHOD_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:754,1
    - Dst: METHOD_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:755,1
    - Dst: METHOD_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:756,1
    - Dst: METHOD_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:757,1
    - Dst: METHOD_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:758,1
    - Dst: METHOD_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:759,1
    - Dst: METHOD_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:760,1
    - Dst: METHOD_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:761,1
    - Dst: METHOD_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_player.c:762,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - p_conn
    - p_from
    - p_this
    argTypes:
    - DBusConnection*
    - DBusMessage*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 765
    functionName: handle_player
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached:
    - METHOD_FUNC
    linkageType: ''
    returnType: DBusHandlerResult
    signature: DBusHandlerResult handle_player ( DBusConnection *p_conn, DBusMessage
      *p_from, void *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SeekedSignal
      Src: /src/vlc/modules/control/dbus/dbus_player.c:777,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_intf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 779
    functionName: SeekedEmit
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached:
    - SeekedSignal
    linkageType: ''
    returnType: int
    signature: int SeekedEmit( intf_thread_t * p_intf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - prop
    - ','
    - signature
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 794
    functionName: PROPERTY_ENTRY
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROPERTY_ENTRY( prop, signature )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SIGNAL_INIT
      Src: /src/vlc/modules/control/dbus/dbus_player.c:815,1
    - Dst: ADD_STRING
      Src: /src/vlc/modules/control/dbus/dbus_player.c:820,1
    - Dst: dbus_message_iter_open_container
      Src: /src/vlc/modules/control/dbus/dbus_player.c:822,1
    - Dst: vlc_dictionary_all_keys
      Src: /src/vlc/modules/control/dbus/dbus_player.c:826,1
    - Dst: unlikely
      Src: /src/vlc/modules/control/dbus/dbus_player.c:828,1
    - Dst: dbus_message_iter_abandon_container
      Src: /src/vlc/modules/control/dbus/dbus_player.c:830,1
    - Dst: PROPERTY_ENTRY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:838,1
    - Dst: PROPERTY_ENTRY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:839,1
    - Dst: PROPERTY_ENTRY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:840,1
    - Dst: PROPERTY_ENTRY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:841,1
    - Dst: PROPERTY_ENTRY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:842,1
    - Dst: PROPERTY_ENTRY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:843,1
    - Dst: PROPERTY_ENTRY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:844,1
    - Dst: PROPERTY_ENTRY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:845,1
    - Dst: PROPERTY_ENTRY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:846,1
    - Dst: PROPERTY_ENTRY
      Src: /src/vlc/modules/control/dbus/dbus_player.c:847,1
    - Dst: free
      Src: /src/vlc/modules/control/dbus/dbus_player.c:853,1
    - Dst: dbus_message_iter_close_container
      Src: /src/vlc/modules/control/dbus/dbus_player.c:855,1
    - Dst: dbus_message_iter_open_container
      Src: /src/vlc/modules/control/dbus/dbus_player.c:858,1
    - Dst: dbus_message_iter_close_container
      Src: /src/vlc/modules/control/dbus/dbus_player.c:862,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - p_intf
    - p_changed_properties
    argTypes:
    - intf_thread_t*
    - vlc_dictionary_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 806
    functionDepth: 1
    functionLinenumber: 806
    functionLinenumberEnd: 866
    functionName: PropertiesChangedSignal
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 1
    functionsReached:
    - dbus_message_iter_abandon_container
    - dbus_message_iter_close_container
    - ADD_STRING
    - PROPERTY_ENTRY
    - vlc_dictionary_all_keys
    - dbus_message_iter_open_container
    - SIGNAL_INIT
    - free
    - unlikely
    linkageType: ''
    returnType: DBusHandlerResult
    signature: "DBusHandlerResult PropertiesChangedSignal( intf_thread_t    *p_intf,\n
      \                        vlc_dictionary_t *p_changed_properties )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PropertiesChangedSignal
      Src: /src/vlc/modules/control/dbus/dbus_player.c:881,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_intf
    - p_changed_properties
    argTypes:
    - intf_thread_t*
    - vlc_dictionary_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 883
    functionName: PlayerPropertiesChangedEmit
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_player.c
    functionUses: 0
    functionsReached:
    - PropertiesChangedSignal
    linkageType: ''
    returnType: int
    signature: "int PlayerPropertiesChangedEmit( intf_thread_t    * p_intf,\n                                 vlc_dictionary_t
      * p_changed_properties )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:41,1
    - Dst: vlc_playlist_item_GetId
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:48,1
    - Dst: vlc_playlist_item_Hold
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - after_track
    - items
    - count
    argTypes:
    - vlc_playlist_item_t*
    - vlc_playlist_item_t*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 60
    functionName: tracklist_append_event_create
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_tracklist.c
    functionUses: 0
    functionsReached:
    - vlc_playlist_item_Hold
    - malloc
    - vlc_playlist_item_GetId
    linkageType: ''
    returnType: tracklist_append_event_t
    signature: tracklist_append_event_t *tracklist_append_event_create(vlc_playlist_item_t
      *after_track, vlc_playlist_item_t *const items[], size_t count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:63,1
    - Dst: vlc_playlist_Get
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:70,1
    - Dst: vlc_playlist_item_GetId
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - playlist
    - first_index
    - count
    argTypes:
    - vlc_playlist_t*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: tracklist_remove_event_create
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_tracklist.c
    functionUses: 0
    functionsReached:
    - vlc_playlist_Get
    - malloc
    - vlc_playlist_item_GetId
    linkageType: ''
    returnType: tracklist_remove_event_t
    signature: tracklist_remove_event_t *tracklist_remove_event_create(vlc_playlist_t
      *playlist, size_t first_index, size_t count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_item_Release
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:82,1
    - Dst: free
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - event
    argTypes:
    - tracklist_append_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: tracklist_append_event_destroy
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_tracklist.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_playlist_item_Release
    linkageType: ''
    returnType: void
    signature: void tracklist_append_event_destroy(tracklist_append_event_t *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - tracklist_remove_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: tracklist_remove_event_destroy
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_tracklist.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void tracklist_remove_event_destroy(tracklist_remove_event_t *event)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:95,1
    - Dst: dbus_message_new_error_printf
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - p_conn
    - p_from
    - trackId
    - p_this
    argTypes:
    - DBusConnection*
    - DBusMessage*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: InvalidTrackId
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_tracklist.c
    functionUses: 0
    functionsReached:
    - dbus_message_new_error_printf
    - msg_Err
    linkageType: ''
    returnType: DBusHandlerResult
    signature: "DBusHandlerResult InvalidTrackId(DBusConnection *p_conn,\n                                        DBusMessage
      *p_from,\n                                        const char *trackId,\n                                        void
      *p_this)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:107,1
    - Dst: dbus_message_new_error
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - p_conn
    - p_from
    - p_this
    argTypes:
    - DBusConnection*
    - DBusMessage*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: InvalidArguments
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_tracklist.c
    functionUses: 0
    functionsReached:
    - dbus_message_new_error
    - msg_Err
    linkageType: ''
    returnType: DBusHandlerResult
    signature: "DBusHandlerResult InvalidArguments(DBusConnection *p_conn,\n                                          DBusMessage
      *p_from,\n                                          void *p_this)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dbus_error_init
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:121,1
    - Dst: dbus_message_get_args
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:132,1
    - Dst: dbus_error_is_set
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:138,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:140,1
    - Dst: dbus_error_free
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:143,1
    - Dst: strncmp
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:147,1
    - Dst: strncmp
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:149,1
    - Dst: sscanf
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:151,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:155,1
    - Dst: input_item_New
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:161,1
    - Dst: unlikely
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:162,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:166,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:167,1
    - Dst: vlc_playlist_InsertOne
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:170,1
    - Dst: vlc_playlist_PlayAt
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:172,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:173,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:175,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 178
    functionName: DBUS_METHOD
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_tracklist.c
    functionUses: 0
    functionsReached:
    - sscanf
    - vlc_playlist_Lock
    - input_item_New
    - vlc_playlist_Count
    - vlc_playlist_PlayAt
    - dbus_error_free
    - vlc_playlist_InsertOne
    - vlc_playlist_Unlock
    - input_item_Release
    - msg_Err
    - dbus_error_is_set
    - strncmp
    - dbus_error_init
    - msg_Warn
    - unlikely
    - dbus_message_get_args
    linkageType: ''
    returnType: void
    signature: void DBUS_METHOD( AddTrack )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_init
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:191,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:193,1
    - Dst: InvalidArguments
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:195,1
    - Dst: dbus_message_iter_recurse
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:198,1
    - Dst: dbus_message_iter_open_container
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:199,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:202,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:204,1
    - Dst: sscanf
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:206,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:214,1
    - Dst: vlc_playlist_IndexOfId
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:215,1
    - Dst: vlc_playlist_Get
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:218,1
    - Dst: vlc_playlist_item_Hold
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:219,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:221,1
    - Dst: GetInputMeta
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:226,1
    - Dst: vlc_playlist_item_Release
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:227,1
    - Dst: dbus_message_iter_next
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:229,1
    - Dst: dbus_message_iter_abandon_container
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:234,1
    - Dst: dbus_message_unref
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:235,1
    - Dst: InvalidTrackId
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:236,1
    - Dst: dbus_message_iter_close_container
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:239,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 241
    functionName: DBUS_METHOD
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_tracklist.c
    functionUses: 0
    functionsReached:
    - sscanf
    - vlc_playlist_Unlock
    - dbus_message_iter_init
    - dbus_message_iter_get_arg_type
    - InvalidTrackId
    - dbus_message_iter_close_container
    - dbus_message_iter_open_container
    - vlc_playlist_Get
    - vlc_playlist_item_Hold
    - dbus_message_unref
    - vlc_playlist_Lock
    - dbus_message_iter_get_basic
    - InvalidArguments
    - vlc_playlist_IndexOfId
    - GetInputMeta
    - dbus_message_iter_recurse
    - vlc_playlist_item_Release
    - dbus_message_iter_abandon_container
    - dbus_message_iter_next
    linkageType: ''
    returnType: void
    signature: void DBUS_METHOD( GetTracksMetadata )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dbus_error_init
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:251,1
    - Dst: dbus_message_get_args
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:253,1
    - Dst: dbus_error_is_set
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:257,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:259,1
    - Dst: dbus_error_free
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:261,1
    - Dst: sscanf
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:265,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:269,1
    - Dst: vlc_playlist_IndexOfId
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:270,1
    - Dst: vlc_playlist_PlayAt
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:272,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:273,1
    - Dst: InvalidTrackId
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:280,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 281
    functionName: DBUS_METHOD
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_tracklist.c
    functionUses: 0
    functionsReached:
    - sscanf
    - vlc_playlist_IndexOfId
    - InvalidTrackId
    - vlc_playlist_Lock
    - vlc_playlist_PlayAt
    - dbus_error_free
    - vlc_playlist_Unlock
    - msg_Err
    - dbus_error_is_set
    - dbus_error_init
    - dbus_message_get_args
    linkageType: ''
    returnType: void
    signature: void DBUS_METHOD( GoTo )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dbus_error_init
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:288,1
    - Dst: dbus_message_get_args
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:293,1
    - Dst: dbus_error_is_set
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:297,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:299,1
    - Dst: dbus_error_free
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:301,1
    - Dst: sscanf
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:305,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:309,1
    - Dst: vlc_playlist_IndexOfId
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:310,1
    - Dst: vlc_playlist_RemoveOne
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:312,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:313,1
    - Dst: InvalidTrackId
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:320,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 321
    functionName: DBUS_METHOD
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_tracklist.c
    functionUses: 0
    functionsReached:
    - sscanf
    - vlc_playlist_IndexOfId
    - InvalidTrackId
    - vlc_playlist_Lock
    - vlc_playlist_RemoveOne
    - dbus_error_free
    - vlc_playlist_Unlock
    - msg_Err
    - dbus_error_is_set
    - dbus_error_init
    - dbus_message_get_args
    linkageType: ''
    returnType: void
    signature: void DBUS_METHOD( RemoveTrack )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:329,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:334,1
    - Dst: free
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - iter
    - id_valid
    - id
    argTypes:
    - DBusMessageIter*
    - bool
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 342
    functionName: MarshalTrack
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_tracklist.c
    functionUses: 0
    functionsReached:
    - free
    - dbus_message_iter_append_basic
    - asprintf
    linkageType: ''
    returnType: int
    signature: int MarshalTrack( DBusMessageIter *iter, bool id_valid, uint64_t id
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_open_container
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:350,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:354,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:355,1
    - Dst: vlc_playlist_Get
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:358,1
    - Dst: vlc_playlist_item_GetId
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:359,1
    - Dst: MarshalTrack
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:360,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:364,1
    - Dst: dbus_message_iter_abandon_container
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:367,1
    - Dst: dbus_message_iter_close_container
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - p_intf
    - container
    argTypes:
    - intf_thread_t*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 344
    functionDepth: 3
    functionLinenumber: 344
    functionLinenumberEnd: 372
    functionName: MarshalTracks
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_tracklist.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_abandon_container
    - vlc_playlist_Count
    - vlc_playlist_Lock
    - dbus_message_iter_close_container
    - vlc_playlist_Unlock
    - dbus_message_iter_open_container
    - vlc_playlist_item_GetId
    - vlc_playlist_Get
    - MarshalTrack
    linkageType: ''
    returnType: int
    signature: int MarshalTracks( intf_thread_t *p_intf, DBusMessageIter *container
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:377,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_intf
    - container
    argTypes:
    - intf_thread_t*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 384
    functionName: MarshalCanEditTracks
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_tracklist.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_append_basic
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int MarshalCanEditTracks( intf_thread_t *p_intf, DBusMessageIter *container
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - prop
    - ','
    - signature
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 398
    functionName: PROPERTY_GET_FUNC
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_tracklist.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROPERTY_GET_FUNC( prop, signature )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - prop
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 403
    functionName: PROPERTY_SET_FUNC
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_tracklist.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROPERTY_SET_FUNC( prop )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dbus_error_init
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:413,1
    - Dst: dbus_message_get_args
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:414,1
    - Dst: dbus_error_is_set
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:419,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:421,1
    - Dst: dbus_error_free
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:423,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:427,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:430,1
    - Dst: PROPERTY_GET_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 444
    functionName: DBUS_METHOD
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_tracklist.c
    functionUses: 0
    functionsReached:
    - dbus_error_free
    - PROPERTY_GET_FUNC
    - msg_Err
    - dbus_error_is_set
    - strcmp
    - dbus_error_init
    - msg_Dbg
    - dbus_message_get_args
    linkageType: ''
    returnType: void
    signature: void DBUS_METHOD( GetProperty )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - prop
    - ','
    - signature
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 457
    functionName: ADD_PROPERTY
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_tracklist.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_PROPERTY( prop, signature )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_error_init
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:468,1
    - Dst: dbus_message_get_args
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:469,1
    - Dst: dbus_error_is_set
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:473,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:475,1
    - Dst: dbus_error_free
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:477,1
    - Dst: dbus_message_iter_open_container
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:481,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:484,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:485,1
    - Dst: dbus_message_iter_close_container
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:487,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 491
    functionName: DBUS_METHOD
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_tracklist.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_close_container
    - dbus_error_free
    - dbus_message_iter_open_container
    - ADD_PROPERTY
    - msg_Err
    - dbus_error_is_set
    - dbus_error_init
    - dbus_message_get_args
    linkageType: ''
    returnType: void
    signature: void DBUS_METHOD( GetAllProperties )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - interface
    - ','
    - method
    - ','
    - function
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 498
    functionName: METHOD_FUNC
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_tracklist.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: METHOD_FUNC( interface, method, function )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: METHOD_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:504,1
    - Dst: METHOD_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:505,1
    - Dst: METHOD_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:509,1
    - Dst: METHOD_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:510,1
    - Dst: METHOD_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:511,1
    - Dst: METHOD_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:512,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - p_conn
    - p_from
    - p_this
    argTypes:
    - DBusConnection*
    - DBusMessage*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 516
    functionName: handle_tracklist
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_tracklist.c
    functionUses: 0
    functionsReached:
    - METHOD_FUNC
    linkageType: ''
    returnType: DBusHandlerResult
    signature: DBusHandlerResult handle_tracklist ( DBusConnection *p_conn, DBusMessage
      *p_from, void *p_this )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SIGNAL_INIT
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:532,1
    - Dst: ADD_STRING
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:537,1
    - Dst: unlikely
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:539,1
    - Dst: dbus_message_iter_open_container
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:539,1
    - Dst: unlikely
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:544,1
    - Dst: dbus_message_iter_close_container
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:544,1
    - Dst: unlikely
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:548,1
    - Dst: dbus_message_iter_open_container
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:548,1
    - Dst: vlc_dictionary_has_key
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:553,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:554,1
    - Dst: unlikely
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:558,1
    - Dst: dbus_message_iter_close_container
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:558,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - p_intf
    - p_changed_properties
    argTypes:
    - intf_thread_t*
    - vlc_dictionary_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 563
    functionName: PropertiesChangedSignal
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_tracklist.c
    functionUses: 2
    functionsReached:
    - dbus_message_iter_append_basic
    - vlc_dictionary_has_key
    - dbus_message_iter_close_container
    - ADD_STRING
    - dbus_message_iter_open_container
    - SIGNAL_INIT
    - unlikely
    linkageType: ''
    returnType: DBusHandlerResult
    signature: "DBusHandlerResult PropertiesChangedSignal( intf_thread_t    *p_intf,\n
      \                        vlc_dictionary_t *p_changed_properties )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SIGNAL_INIT
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:577,1
    - Dst: GetInputMeta
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:583,1
    - Dst: MarshalTrack
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - p_intf
    - has_previous
    - previous_item_id
    - item
    argTypes:
    - intf_thread_t*
    - bool
    - uint64_t
    - vlc_playlist_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 569
    functionDepth: 3
    functionLinenumber: 569
    functionLinenumberEnd: 589
    functionName: TrackAddedSignal
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_tracklist.c
    functionUses: 0
    functionsReached:
    - GetInputMeta
    - SIGNAL_INIT
    - MarshalTrack
    linkageType: ''
    returnType: DBusHandlerResult
    signature: "DBusHandlerResult TrackAddedSignal( intf_thread_t    *p_intf,\n                  bool
      has_previous,\n                  uint64_t previous_item_id,\n                  vlc_playlist_item_t
      *item )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SIGNAL_INIT
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:600,1
    - Dst: MarshalTrack
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p_intf
    - id
    argTypes:
    - intf_thread_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 595
    functionDepth: 3
    functionLinenumber: 595
    functionLinenumberEnd: 610
    functionName: TrackRemovedSignal
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_tracklist.c
    functionUses: 0
    functionsReached:
    - SIGNAL_INIT
    - MarshalTrack
    linkageType: ''
    returnType: DBusHandlerResult
    signature: DBusHandlerResult TrackRemovedSignal( intf_thread_t    *p_intf, uint64_t
      id )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PropertiesChangedSignal
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:623,1
    - Dst: vlc_dictionary_has_key
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:625,1
    - Dst: vlc_dictionary_value_for_key
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:627,1
    - Dst: TrackAddedSignal
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:634,1
    - Dst: vlc_playlist_item_GetId
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:637,1
    - Dst: tracklist_append_event_next
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:639,1
    - Dst: vlc_dictionary_has_key
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:644,1
    - Dst: vlc_dictionary_value_for_key
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:646,1
    - Dst: TrackRemovedSignal
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:650,1
    - Dst: tracklist_remove_event_next
      Src: /src/vlc/modules/control/dbus/dbus_tracklist.c:652,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - p_intf
    - p_changed_properties
    argTypes:
    - intf_thread_t*
    - vlc_dictionary_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 617
    functionDepth: 4
    functionLinenumber: 617
    functionLinenumberEnd: 659
    functionName: TrackListPropertiesChangedEmit
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_tracklist.c
    functionUses: 0
    functionsReached:
    - vlc_dictionary_value_for_key
    - vlc_dictionary_has_key
    - PropertiesChangedSignal
    - tracklist_append_event_next
    - tracklist_remove_event_next
    - vlc_playlist_item_GetId
    - TrackRemovedSignal
    - TrackAddedSignal
    linkageType: ''
    returnType: int
    signature: "int TrackListPropertiesChangedEmit( intf_thread_t    * p_intf,\n                                    vlc_dictionary_t
      * p_changed_properties )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/dbus/dbus_root.c:77,1
    - Dst: _
      Src: /src/vlc/modules/control/dbus/dbus_root.c:78,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/vlc/modules/control/dbus/dbus_root.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_intf
    - container
    argTypes:
    - intf_thread_t*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: MarshalIdentity
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_root.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_append_basic
    - _
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int MarshalIdentity( intf_thread_t *p_intf, DBusMessageIter *container
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/dbus/dbus_root.c:88,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/vlc/modules/control/dbus/dbus_root.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_intf
    - container
    argTypes:
    - intf_thread_t*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: MarshalCanSetFullscreen
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_root.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_append_basic
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int MarshalCanSetFullscreen( intf_thread_t *p_intf, DBusMessageIter
      *container )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/control/dbus/dbus_root.c:99,1
    - Dst: vlc_player_vout_IsFullscreen
      Src: /src/vlc/modules/control/dbus/dbus_root.c:100,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/vlc/modules/control/dbus/dbus_root.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_intf
    - container
    argTypes:
    - intf_thread_t*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 105
    functionName: MarshalFullscreen
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_root.c
    functionUses: 0
    functionsReached:
    - vlc_player_vout_IsFullscreen
    - dbus_message_iter_append_basic
    - vlc_playlist_GetPlayer
    linkageType: ''
    returnType: int
    signature: int MarshalFullscreen( intf_thread_t *p_intf, DBusMessageIter *container
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DemarshalSetPropertyValue
      Src: /src/vlc/modules/control/dbus/dbus_root.c:112,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/control/dbus/dbus_root.c:115,1
    - Dst: vlc_player_vout_SetFullscreen
      Src: /src/vlc/modules/control/dbus/dbus_root.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: DBUS_METHOD
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_root.c
    functionUses: 0
    functionsReached:
    - DemarshalSetPropertyValue
    - vlc_player_vout_SetFullscreen
    - vlc_playlist_GetPlayer
    linkageType: ''
    returnType: void
    signature: void DBUS_METHOD( FullscreenSet )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/dbus/dbus_root.c:124,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/vlc/modules/control/dbus/dbus_root.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_intf
    - container
    argTypes:
    - intf_thread_t*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 131
    functionName: MarshalCanQuit
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_root.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_append_basic
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int MarshalCanQuit( intf_thread_t *p_intf, DBusMessageIter *container
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/dbus/dbus_root.c:136,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/vlc/modules/control/dbus/dbus_root.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_intf
    - container
    argTypes:
    - intf_thread_t*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 143
    functionName: MarshalCanRaise
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_root.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_append_basic
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int MarshalCanRaise( intf_thread_t *p_intf, DBusMessageIter *container
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/dbus/dbus_root.c:148,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/vlc/modules/control/dbus/dbus_root.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_intf
    - container
    argTypes:
    - intf_thread_t*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: MarshalHasTrackList
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_root.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_append_basic
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int MarshalHasTrackList( intf_thread_t *p_intf, DBusMessageIter *container
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/dbus/dbus_root.c:160,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/vlc/modules/control/dbus/dbus_root.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_intf
    - container
    argTypes:
    - intf_thread_t*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 167
    functionName: MarshalDesktopEntry
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_root.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_append_basic
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int MarshalDesktopEntry( intf_thread_t *p_intf, DBusMessageIter *container
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/dbus/dbus_root.c:172,1
    - Dst: dbus_message_iter_open_container
      Src: /src/vlc/modules/control/dbus/dbus_root.c:178,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/vlc/modules/control/dbus/dbus_root.c:187,1
    - Dst: dbus_message_iter_close_container
      Src: /src/vlc/modules/control/dbus/dbus_root.c:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - p_intf
    - container
    argTypes:
    - intf_thread_t*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 196
    functionName: MarshalSupportedMimeTypes
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_root.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_append_basic
    - dbus_message_iter_open_container
    - dbus_message_iter_close_container
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int MarshalSupportedMimeTypes( intf_thread_t *p_intf, DBusMessageIter
      *container )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/dbus/dbus_root.c:201,1
    - Dst: dbus_message_iter_open_container
      Src: /src/vlc/modules/control/dbus/dbus_root.c:207,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/vlc/modules/control/dbus/dbus_root.c:216,1
    - Dst: dbus_message_iter_close_container
      Src: /src/vlc/modules/control/dbus/dbus_root.c:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - p_intf
    - container
    argTypes:
    - intf_thread_t*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 225
    functionName: MarshalSupportedUriSchemes
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_root.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_append_basic
    - dbus_message_iter_open_container
    - dbus_message_iter_close_container
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int MarshalSupportedUriSchemes( intf_thread_t *p_intf, DBusMessageIter
      *container )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_Quit
      Src: /src/vlc/modules/control/dbus/dbus_root.c:230,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/control/dbus/dbus_root.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 232
    functionName: DBUS_METHOD
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_root.c
    functionUses: 0
    functionsReached:
    - vlc_object_instance
    - libvlc_Quit
    linkageType: ''
    returnType: void
    signature: void DBUS_METHOD( Quit )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_TriggerCallback
      Src: /src/vlc/modules/control/dbus/dbus_root.c:237,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/control/dbus/dbus_root.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 239
    functionName: DBUS_METHOD
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_root.c
    functionUses: 0
    functionsReached:
    - vlc_object_instance
    - var_TriggerCallback
    linkageType: ''
    returnType: void
    signature: void DBUS_METHOD( Raise )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - prop
    - ','
    - signature
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 253
    functionName: PROPERTY_GET_FUNC
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_root.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROPERTY_GET_FUNC( prop, signature )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - prop
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: PROPERTY_SET_FUNC
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_root.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROPERTY_SET_FUNC( prop )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dbus_error_init
      Src: /src/vlc/modules/control/dbus/dbus_root.c:266,1
    - Dst: dbus_message_get_args
      Src: /src/vlc/modules/control/dbus/dbus_root.c:267,1
    - Dst: dbus_error_is_set
      Src: /src/vlc/modules/control/dbus/dbus_root.c:272,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/dbus/dbus_root.c:274,1
    - Dst: dbus_error_free
      Src: /src/vlc/modules/control/dbus/dbus_root.c:276,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/dbus/dbus_root.c:280,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/dbus/dbus_root.c:283,1
    - Dst: PROPERTY_GET_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_root.c:293,1
    - Dst: PROPERTY_GET_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_root.c:294,1
    - Dst: PROPERTY_GET_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_root.c:295,1
    - Dst: PROPERTY_GET_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_root.c:296,1
    - Dst: PROPERTY_GET_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_root.c:297,1
    - Dst: PROPERTY_GET_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_root.c:298,1
    - Dst: PROPERTY_GET_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_root.c:299,1
    - Dst: PROPERTY_GET_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_root.c:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 304
    functionName: DBUS_METHOD
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_root.c
    functionUses: 0
    functionsReached:
    - dbus_error_free
    - PROPERTY_GET_FUNC
    - msg_Err
    - dbus_error_is_set
    - strcmp
    - dbus_error_init
    - msg_Dbg
    - dbus_message_get_args
    linkageType: ''
    returnType: void
    signature: void DBUS_METHOD( GetProperty )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbus_error_init
      Src: /src/vlc/modules/control/dbus/dbus_root.c:313,1
    - Dst: dbus_message_get_args
      Src: /src/vlc/modules/control/dbus/dbus_root.c:314,1
    - Dst: dbus_error_is_set
      Src: /src/vlc/modules/control/dbus/dbus_root.c:319,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/dbus/dbus_root.c:321,1
    - Dst: dbus_error_free
      Src: /src/vlc/modules/control/dbus/dbus_root.c:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 330
    functionName: DBUS_METHOD
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_root.c
    functionUses: 0
    functionsReached:
    - dbus_error_free
    - msg_Err
    - dbus_error_is_set
    - dbus_error_init
    - dbus_message_get_args
    linkageType: ''
    returnType: void
    signature: void DBUS_METHOD( SetProperty )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - prop
    - ','
    - signature
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 343
    functionName: ADD_PROPERTY
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_root.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_PROPERTY( prop, signature )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dbus_error_init
      Src: /src/vlc/modules/control/dbus/dbus_root.c:354,1
    - Dst: dbus_message_get_args
      Src: /src/vlc/modules/control/dbus/dbus_root.c:355,1
    - Dst: dbus_error_is_set
      Src: /src/vlc/modules/control/dbus/dbus_root.c:359,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/dbus/dbus_root.c:361,1
    - Dst: dbus_error_free
      Src: /src/vlc/modules/control/dbus/dbus_root.c:363,1
    - Dst: dbus_message_iter_open_container
      Src: /src/vlc/modules/control/dbus/dbus_root.c:367,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_root.c:370,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_root.c:371,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_root.c:372,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_root.c:373,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_root.c:374,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_root.c:375,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_root.c:376,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_root.c:377,1
    - Dst: ADD_PROPERTY
      Src: /src/vlc/modules/control/dbus/dbus_root.c:378,1
    - Dst: dbus_message_iter_close_container
      Src: /src/vlc/modules/control/dbus/dbus_root.c:380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 384
    functionName: DBUS_METHOD
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_root.c
    functionUses: 0
    functionsReached:
    - dbus_message_iter_close_container
    - dbus_error_free
    - dbus_message_iter_open_container
    - ADD_PROPERTY
    - msg_Err
    - dbus_error_is_set
    - dbus_error_init
    - dbus_message_get_args
    linkageType: ''
    returnType: void
    signature: void DBUS_METHOD( GetAllProperties )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - interface
    - ','
    - method
    - ','
    - function
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: METHOD_FUNC
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_root.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: METHOD_FUNC( interface, method, function )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: METHOD_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_root.c:399,1
    - Dst: METHOD_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_root.c:400,1
    - Dst: METHOD_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_root.c:401,1
    - Dst: METHOD_FUNC
      Src: /src/vlc/modules/control/dbus/dbus_root.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - p_conn
    - p_from
    - p_this
    argTypes:
    - DBusConnection*
    - DBusMessage*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 404
    functionName: handle_root
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_root.c
    functionUses: 0
    functionsReached:
    - METHOD_FUNC
    linkageType: ''
    returnType: DBusHandlerResult
    signature: DBusHandlerResult handle_root ( DBusConnection *p_conn, DBusMessage
      *p_from, void *p_this )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SIGNAL_INIT
      Src: /src/vlc/modules/control/dbus/dbus_root.c:421,1
    - Dst: ADD_STRING
      Src: /src/vlc/modules/control/dbus/dbus_root.c:426,1
    - Dst: dbus_message_iter_open_container
      Src: /src/vlc/modules/control/dbus/dbus_root.c:428,1
    - Dst: vlc_dictionary_has_key
      Src: /src/vlc/modules/control/dbus/dbus_root.c:432,1
    - Dst: AddProperty
      Src: /src/vlc/modules/control/dbus/dbus_root.c:434,1
    - Dst: dbus_message_iter_abandon_container
      Src: /src/vlc/modules/control/dbus/dbus_root.c:437,1
    - Dst: dbus_message_iter_close_container
      Src: /src/vlc/modules/control/dbus/dbus_root.c:442,1
    - Dst: dbus_message_iter_open_container
      Src: /src/vlc/modules/control/dbus/dbus_root.c:445,1
    - Dst: dbus_message_iter_close_container
      Src: /src/vlc/modules/control/dbus/dbus_root.c:449,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - p_intf
    - p_changed_properties
    argTypes:
    - intf_thread_t*
    - vlc_dictionary_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 453
    functionName: PropertiesChangedSignal
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_root.c
    functionUses: 3
    functionsReached:
    - vlc_dictionary_has_key
    - dbus_message_iter_abandon_container
    - dbus_message_iter_close_container
    - ADD_STRING
    - AddProperty
    - dbus_message_iter_open_container
    - SIGNAL_INIT
    linkageType: ''
    returnType: DBusHandlerResult
    signature: "DBusHandlerResult PropertiesChangedSignal( intf_thread_t    *p_intf,\n
      \                        vlc_dictionary_t *p_changed_properties )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PropertiesChangedSignal
      Src: /src/vlc/modules/control/dbus/dbus_root.c:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_intf
    - p_changed_properties
    argTypes:
    - intf_thread_t*
    - vlc_dictionary_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 466
    functionName: RootPropertiesChangedEmit
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_root.c
    functionUses: 0
    functionsReached:
    - PropertiesChangedSignal
    linkageType: ''
    returnType: int
    signature: "int RootPropertiesChangedEmit( intf_thread_t    *p_intf,\n                               vlc_dictionary_t
      *p_changed_properties )"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/control/dbus/dbus.c:186,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/control/dbus/dbus.c:186,1
    - Dst: dbus_threads_init_default
      Src: /src/vlc/modules/control/dbus/dbus.c:190,1
    - Dst: calloc
      Src: /src/vlc/modules/control/dbus/dbus.c:193,1
    - Dst: unlikely
      Src: /src/vlc/modules/control/dbus/dbus.c:194,1
    - Dst: vlc_pipe
      Src: /src/vlc/modules/control/dbus/dbus.c:201,1
    - Dst: free
      Src: /src/vlc/modules/control/dbus/dbus.c:203,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/dbus/dbus.c:204,1
    - Dst: dbus_error_init
      Src: /src/vlc/modules/control/dbus/dbus.c:209,1
    - Dst: dbus_bus_get_private
      Src: /src/vlc/modules/control/dbus/dbus.c:214,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/dbus/dbus.c:217,1
    - Dst: dbus_error_free
      Src: /src/vlc/modules/control/dbus/dbus.c:219,1
    - Dst: dbus_connection_set_exit_on_disconnect
      Src: /src/vlc/modules/control/dbus/dbus.c:223,1
    - Dst: dbus_connection_register_object_path
      Src: /src/vlc/modules/control/dbus/dbus.c:226,1
    - Dst: var_Create
      Src: /src/vlc/modules/control/dbus/dbus.c:231,1
    - Dst: dbus_bus_request_name
      Src: /src/vlc/modules/control/dbus/dbus.c:232,1
    - Dst: snprintf
      Src: /src/vlc/modules/control/dbus/dbus.c:241,1
    - Dst: getpid
      Src: /src/vlc/modules/control/dbus/dbus.c:243,1
    - Dst: dbus_bus_request_name
      Src: /src/vlc/modules/control/dbus/dbus.c:245,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/dbus/dbus.c:248,1
    - Dst: var_SetString
      Src: /src/vlc/modules/control/dbus/dbus.c:249,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/control/dbus/dbus.c:254,1
    - Dst: var_SetString
      Src: /src/vlc/modules/control/dbus/dbus.c:255,1
    - Dst: dbus_connection_flush
      Src: /src/vlc/modules/control/dbus/dbus.c:257,1
    - Dst: vlc_array_init
      Src: /src/vlc/modules/control/dbus/dbus.c:261,1
    - Dst: vlc_array_init
      Src: /src/vlc/modules/control/dbus/dbus.c:262,1
    - Dst: vlc_array_init
      Src: /src/vlc/modules/control/dbus/dbus.c:263,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/control/dbus/dbus.c:264,1
    - Dst: vlc_intf_GetMainPlaylist
      Src: /src/vlc/modules/control/dbus/dbus.c:266,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/control/dbus/dbus.c:267,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/control/dbus/dbus.c:269,1
    - Dst: vlc_playlist_AddListener
      Src: /src/vlc/modules/control/dbus/dbus.c:282,1
    - Dst: vlc_player_AddListener
      Src: /src/vlc/modules/control/dbus/dbus.c:295,1
    - Dst: vlc_player_aout_AddListener
      Src: /src/vlc/modules/control/dbus/dbus.c:305,1
    - Dst: vlc_player_vout_AddListener
      Src: /src/vlc/modules/control/dbus/dbus.c:314,1
    - Dst: vlc_player_AddTimer
      Src: /src/vlc/modules/control/dbus/dbus.c:324,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/control/dbus/dbus.c:324,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/control/dbus/dbus.c:328,1
    - Dst: dbus_connection_set_timeout_functions
      Src: /src/vlc/modules/control/dbus/dbus.c:330,1
    - Dst: dbus_connection_set_watch_functions
      Src: /src/vlc/modules/control/dbus/dbus.c:337,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/control/dbus/dbus.c:344,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/control/dbus/dbus.c:350,1
    - Dst: vlc_player_RemoveTimer
      Src: /src/vlc/modules/control/dbus/dbus.c:351,1
    - Dst: vlc_player_vout_RemoveListener
      Src: /src/vlc/modules/control/dbus/dbus.c:353,1
    - Dst: vlc_player_aout_RemoveListener
      Src: /src/vlc/modules/control/dbus/dbus.c:355,1
    - Dst: vlc_player_RemoveListener
      Src: /src/vlc/modules/control/dbus/dbus.c:357,1
    - Dst: vlc_playlist_RemoveListener
      Src: /src/vlc/modules/control/dbus/dbus.c:359,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/control/dbus/dbus.c:361,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/control/dbus/dbus.c:363,1
    - Dst: dbus_connection_close
      Src: /src/vlc/modules/control/dbus/dbus.c:367,1
    - Dst: dbus_connection_unref
      Src: /src/vlc/modules/control/dbus/dbus.c:368,1
    - Dst: vlc_close
      Src: /src/vlc/modules/control/dbus/dbus.c:371,1
    - Dst: vlc_close
      Src: /src/vlc/modules/control/dbus/dbus.c:372,1
    - Dst: free
      Src: /src/vlc/modules/control/dbus/dbus.c:374,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 101
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 376
    functionName: Open
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 33
    functionsReached:
    - dbus_connection_set_watch_functions
    - var_Destroy
    - vlc_playlist_RemoveListener
    - vlc_playlist_Unlock
    - vlc_player_vout_AddListener
    - vlc_player_aout_RemoveListener
    - dbus_connection_register_object_path
    - vlc_player_vout_RemoveListener
    - dbus_connection_flush
    - var_Create
    - vlc_array_init
    - msg_Err
    - calloc
    - dbus_connection_close
    - vlc_playlist_GetPlayer
    - dbus_error_init
    - msg_Dbg
    - dbus_threads_init_default
    - snprintf
    - vlc_intf_GetMainPlaylist
    - vlc_playlist_Lock
    - vlc_player_RemoveTimer
    - vlc_playlist_AddListener
    - VLC_TICK_FROM_SEC
    - vlc_object_instance
    - vlc_player_AddTimer
    - dbus_bus_request_name
    - vlc_pipe
    - dbus_connection_unref
    - getpid
    - dbus_connection_set_timeout_functions
    - vlc_player_RemoveListener
    - vlc_clone
    - vlc_close
    - dbus_error_free
    - vlc_mutex_init
    - free
    - dbus_connection_set_exit_on_disconnect
    - dbus_bus_get_private
    - VLC_OBJECT
    - vlc_player_AddListener
    - vlc_player_aout_AddListener
    - var_SetString
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_cancel
      Src: /src/vlc/modules/control/dbus/dbus.c:388,1
    - Dst: vlc_join
      Src: /src/vlc/modules/control/dbus/dbus.c:389,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/control/dbus/dbus.c:391,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/control/dbus/dbus.c:392,1
    - Dst: vlc_player_RemoveTimer
      Src: /src/vlc/modules/control/dbus/dbus.c:393,1
    - Dst: vlc_player_vout_RemoveListener
      Src: /src/vlc/modules/control/dbus/dbus.c:394,1
    - Dst: vlc_player_aout_RemoveListener
      Src: /src/vlc/modules/control/dbus/dbus.c:395,1
    - Dst: vlc_player_RemoveListener
      Src: /src/vlc/modules/control/dbus/dbus.c:396,1
    - Dst: vlc_playlist_RemoveListener
      Src: /src/vlc/modules/control/dbus/dbus.c:397,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/control/dbus/dbus.c:398,1
    - Dst: dbus_connection_close
      Src: /src/vlc/modules/control/dbus/dbus.c:402,1
    - Dst: dbus_connection_unref
      Src: /src/vlc/modules/control/dbus/dbus.c:403,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/control/dbus/dbus.c:406,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/control/dbus/dbus.c:408,1
    - Dst: tracklist_append_event_destroy
      Src: /src/vlc/modules/control/dbus/dbus.c:411,1
    - Dst: tracklist_remove_event_destroy
      Src: /src/vlc/modules/control/dbus/dbus.c:414,1
    - Dst: free
      Src: /src/vlc/modules/control/dbus/dbus.c:417,1
    - Dst: vlc_array_clear
      Src: /src/vlc/modules/control/dbus/dbus.c:419,1
    - Dst: vlc_array_clear
      Src: /src/vlc/modules/control/dbus/dbus.c:420,1
    - Dst: vlc_array_clear
      Src: /src/vlc/modules/control/dbus/dbus.c:421,1
    - Dst: vlc_close
      Src: /src/vlc/modules/control/dbus/dbus.c:422,1
    - Dst: vlc_close
      Src: /src/vlc/modules/control/dbus/dbus.c:423,1
    - Dst: free
      Src: /src/vlc/modules/control/dbus/dbus.c:424,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 425
    functionName: Close
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 114
    functionsReached:
    - vlc_playlist_RemoveListener
    - vlc_cancel
    - vlc_playlist_Unlock
    - vlc_array_count
    - vlc_player_aout_RemoveListener
    - vlc_player_vout_RemoveListener
    - dbus_connection_close
    - vlc_playlist_GetPlayer
    - vlc_array_clear
    - vlc_player_RemoveTimer
    - vlc_playlist_Lock
    - vlc_array_item_at_index
    - tracklist_append_event_destroy
    - dbus_connection_unref
    - vlc_player_RemoveListener
    - tracklist_remove_event_destroy
    - vlc_close
    - free
    - vlc_join
    linkageType: ''
    returnType: void
    signature: void Close   ( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/control/dbus/dbus.c:432,1
    - Dst: unlikely
      Src: /src/vlc/modules/control/dbus/dbus.c:433,1
    - Dst: dbus_timeout_set_data
      Src: /src/vlc/modules/control/dbus/dbus.c:436,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/control/dbus/dbus.c:438,1
    - Dst: vlc_array_append_or_abort
      Src: /src/vlc/modules/control/dbus/dbus.c:439,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/control/dbus/dbus.c:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - to
    - data
    argTypes:
    - DBusTimeout*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 443
    functionName: add_timeout
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached:
    - vlc_array_append_or_abort
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - dbus_timeout_set_data
    - unlikely
    - malloc
    linkageType: ''
    returnType: dbus_bool_t
    signature: dbus_bool_t add_timeout(DBusTimeout *to, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/control/dbus/dbus.c:451,1
    - Dst: vlc_array_index_of_item
      Src: /src/vlc/modules/control/dbus/dbus.c:452,1
    - Dst: vlc_array_remove
      Src: /src/vlc/modules/control/dbus/dbus.c:453,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/control/dbus/dbus.c:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - to
    - data
    argTypes:
    - DBusTimeout*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 455
    functionName: remove_timeout
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached:
    - vlc_array_index_of_item
    - vlc_array_remove
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void remove_timeout(DBusTimeout *to, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbus_timeout_get_data
      Src: /src/vlc/modules/control/dbus/dbus.c:461,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/control/dbus/dbus.c:463,1
    - Dst: dbus_timeout_get_enabled
      Src: /src/vlc/modules/control/dbus/dbus.c:464,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/control/dbus/dbus.c:465,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/control/dbus/dbus.c:465,1
    - Dst: dbus_timeout_get_interval
      Src: /src/vlc/modules/control/dbus/dbus.c:465,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/control/dbus/dbus.c:466,1
    - Dst: wakeup_main_loop
      Src: /src/vlc/modules/control/dbus/dbus.c:468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - to
    - data
    argTypes:
    - DBusTimeout*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 469
    functionName: toggle_timeout
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - dbus_timeout_get_interval
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - UINT64_C
    - wakeup_main_loop
    - dbus_timeout_get_enabled
    - dbus_timeout_get_data
    linkageType: ''
    returnType: void
    signature: void toggle_timeout(DBusTimeout *to, void *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_array_count
      Src: /src/vlc/modules/control/dbus/dbus.c:481,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/control/dbus/dbus.c:485,1
    - Dst: dbus_timeout_get_enabled
      Src: /src/vlc/modules/control/dbus/dbus.c:487,1
    - Dst: dbus_timeout_get_data
      Src: /src/vlc/modules/control/dbus/dbus.c:490,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/control/dbus/dbus.c:499,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/control/dbus/dbus.c:502,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - intf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 503
    functionName: next_timeout
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached:
    - MS_FROM_VLC_TICK
    - vlc_array_item_at_index
    - vlc_array_count
    - dbus_timeout_get_enabled
    - dbus_timeout_get_data
    linkageType: ''
    returnType: int
    signature: int next_timeout(intf_thread_t *intf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_array_count
      Src: /src/vlc/modules/control/dbus/dbus.c:514,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/control/dbus/dbus.c:516,1
    - Dst: dbus_timeout_get_enabled
      Src: /src/vlc/modules/control/dbus/dbus.c:518,1
    - Dst: dbus_timeout_get_data
      Src: /src/vlc/modules/control/dbus/dbus.c:521,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/control/dbus/dbus.c:522,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/control/dbus/dbus.c:525,1
    - Dst: dbus_timeout_get_interval
      Src: /src/vlc/modules/control/dbus/dbus.c:525,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/control/dbus/dbus.c:526,1
    - Dst: dbus_timeout_handle
      Src: /src/vlc/modules/control/dbus/dbus.c:528,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/control/dbus/dbus.c:530,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - intf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 533
    functionName: process_timeouts
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - dbus_timeout_get_interval
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_array_item_at_index
    - dbus_timeout_handle
    - vlc_array_count
    - UINT64_C
    - dbus_timeout_get_enabled
    - dbus_timeout_get_data
    linkageType: ''
    returnType: void
    signature: void process_timeouts(intf_thread_t *intf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/control/dbus/dbus.c:541,1
    - Dst: vlc_array_append_or_abort
      Src: /src/vlc/modules/control/dbus/dbus.c:542,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/control/dbus/dbus.c:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p_watch
    - p_data
    argTypes:
    - DBusWatch*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 546
    functionName: add_watch
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached:
    - vlc_array_append_or_abort
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: dbus_bool_t
    signature: dbus_bool_t add_watch( DBusWatch *p_watch, void *p_data )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/control/dbus/dbus.c:554,1
    - Dst: vlc_array_index_of_item
      Src: /src/vlc/modules/control/dbus/dbus.c:555,1
    - Dst: vlc_array_remove
      Src: /src/vlc/modules/control/dbus/dbus.c:556,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/control/dbus/dbus.c:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p_watch
    - p_data
    argTypes:
    - DBusWatch*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 558
    functionName: remove_watch
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached:
    - vlc_array_index_of_item
    - vlc_array_remove
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void remove_watch( DBusWatch *p_watch, void *p_data )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbus_watch_get_enabled
      Src: /src/vlc/modules/control/dbus/dbus.c:564,1
    - Dst: wakeup_main_loop
      Src: /src/vlc/modules/control/dbus/dbus.c:565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - p_watch
    - p_data
    argTypes:
    - DBusWatch*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 566
    functionName: watch_toggled
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached:
    - dbus_watch_get_enabled
    - wakeup_main_loop
    linkageType: ''
    returnType: void
    signature: void watch_toggled( DBusWatch *p_watch, void *p_data )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_array_count
      Src: /src/vlc/modules/control/dbus/dbus.c:584,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/control/dbus/dbus.c:593,1
    - Dst: dbus_watch_get_enabled
      Src: /src/vlc/modules/control/dbus/dbus.c:594,1
    - Dst: dbus_watch_get_unix_fd
      Src: /src/vlc/modules/control/dbus/dbus.c:597,1
    - Dst: dbus_watch_get_flags
      Src: /src/vlc/modules/control/dbus/dbus.c:598,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - p_intf
    - p_fds
    argTypes:
    - intf_thread_t*
    - struct pollfd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 610
    functionName: GetPollFds
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached:
    - dbus_watch_get_unix_fd
    - dbus_watch_get_enabled
    - vlc_array_item_at_index
    - vlc_array_count
    - dbus_watch_get_flags
    linkageType: ''
    returnType: int
    signature: int GetPollFds( intf_thread_t *p_intf, struct pollfd *p_fds )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/control/dbus/dbus.c:626,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/control/dbus/dbus.c:627,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/control/dbus/dbus.c:628,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/control/dbus/dbus.c:633,1
    - Dst: vlc_dictionary_has_key
      Src: /src/vlc/modules/control/dbus/dbus.c:636,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/control/dbus/dbus.c:637,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - p_intf
    - player_properties
    - tracklist_properties
    argTypes:
    - intf_thread_t*
    - vlc_dictionary_t*
    - vlc_dictionary_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 638
    functionName: ProcessPlaylistChanged
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached:
    - vlc_dictionary_has_key
    - vlc_playlist_Count
    - vlc_playlist_Lock
    - vlc_playlist_Unlock
    - vlc_dictionary_insert
    linkageType: ''
    returnType: void
    signature: "void ProcessPlaylistChanged( intf_thread_t *p_intf,\n                                    vlc_dictionary_t
      *player_properties,\n                                    vlc_dictionary_t *tracklist_properties
      )"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: vlc_dictionary_init
      Src: /src/vlc/modules/control/dbus/dbus.c:652,1
    - Dst: vlc_dictionary_init
      Src: /src/vlc/modules/control/dbus/dbus.c:653,1
    - Dst: vlc_dictionary_init
      Src: /src/vlc/modules/control/dbus/dbus.c:654,1
    - Dst: TrackChange
      Src: /src/vlc/modules/control/dbus/dbus.c:669,1
    - Dst: vlc_dictionary_has_key
      Src: /src/vlc/modules/control/dbus/dbus.c:672,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/control/dbus/dbus.c:673,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/control/dbus/dbus.c:675,1
    - Dst: vlc_dictionary_value_for_key
      Src: /src/vlc/modules/control/dbus/dbus.c:679,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/control/dbus/dbus.c:682,1
    - Dst: ProcessPlaylistChanged
      Src: /src/vlc/modules/control/dbus/dbus.c:689,1
    - Dst: assert
      Src: /src/vlc/modules/control/dbus/dbus.c:693,1
    - Dst: vlc_dictionary_has_key
      Src: /src/vlc/modules/control/dbus/dbus.c:693,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/control/dbus/dbus.c:694,1
    - Dst: ProcessPlaylistChanged
      Src: /src/vlc/modules/control/dbus/dbus.c:701,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/control/dbus/dbus.c:705,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/control/dbus/dbus.c:708,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/control/dbus/dbus.c:711,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/control/dbus/dbus.c:715,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/control/dbus/dbus.c:718,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/control/dbus/dbus.c:721,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/control/dbus/dbus.c:725,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/control/dbus/dbus.c:730,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/dbus/dbus.c:731,1
    - Dst: vlc_player_GetCurrentMedia
      Src: /src/vlc/modules/control/dbus/dbus.c:732,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/control/dbus/dbus.c:734,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/dbus/dbus.c:736,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/control/dbus/dbus.c:740,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/control/dbus/dbus.c:743,1
    - Dst: SeekedEmit
      Src: /src/vlc/modules/control/dbus/dbus.c:746,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/control/dbus/dbus.c:749,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/control/dbus/dbus.c:752,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/control/dbus/dbus.c:755,1
    - Dst: vlc_dictionary_is_empty
      Src: /src/vlc/modules/control/dbus/dbus.c:759,1
    - Dst: PlayerPropertiesChangedEmit
      Src: /src/vlc/modules/control/dbus/dbus.c:760,1
    - Dst: vlc_dictionary_is_empty
      Src: /src/vlc/modules/control/dbus/dbus.c:762,1
    - Dst: TrackListPropertiesChangedEmit
      Src: /src/vlc/modules/control/dbus/dbus.c:763,1
    - Dst: vlc_dictionary_is_empty
      Src: /src/vlc/modules/control/dbus/dbus.c:765,1
    - Dst: RootPropertiesChangedEmit
      Src: /src/vlc/modules/control/dbus/dbus.c:766,1
    - Dst: tracklist_append_event_destroy
      Src: /src/vlc/modules/control/dbus/dbus.c:774,1
    - Dst: tracklist_remove_event_destroy
      Src: /src/vlc/modules/control/dbus/dbus.c:777,1
    - Dst: free
      Src: /src/vlc/modules/control/dbus/dbus.c:782,1
    - Dst: vlc_dictionary_clear
      Src: /src/vlc/modules/control/dbus/dbus.c:785,1
    - Dst: vlc_dictionary_clear
      Src: /src/vlc/modules/control/dbus/dbus.c:786,1
    - Dst: vlc_dictionary_clear
      Src: /src/vlc/modules/control/dbus/dbus.c:787,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 107
    argCount: 3
    argNames:
    - p_intf
    - p_events
    - i_events
    argTypes:
    - intf_thread_t*
    - callback_info_t**
    - int
    assertStmts:
    - condition: (!vlc_dictionary_has_key( &tracklist_properties, "TrackRemoved" )
        )
      pos:
        line_end: 692
        line_start: 692
        source_file: /src/vlc/modules/control/dbus/dbus.c
    constantsTouched: []
    func_position:
      end: 788
      start: 648
    functionDepth: 5
    functionLinenumber: 648
    functionLinenumberEnd: 788
    functionName: ProcessEvents
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached:
    - SeekedEmit
    - vlc_dictionary_value_for_key
    - vlc_dictionary_has_key
    - assert
    - vlc_dictionary_init
    - TrackChange
    - RootPropertiesChangedEmit
    - TrackListPropertiesChangedEmit
    - ProcessPlaylistChanged
    - vlc_assert_unreachable
    - vlc_player_Unlock
    - vlc_playlist_GetPlayer
    - vlc_dictionary_clear
    - tracklist_append_event_destroy
    - tracklist_remove_event_destroy
    - vlc_dictionary_is_empty
    - PlayerPropertiesChangedEmit
    - vlc_player_Lock
    - free
    - vlc_dictionary_insert
    - vlc_player_GetCurrentMedia
    linkageType: ''
    returnType: void
    signature: "void ProcessEvents( intf_thread_t *p_intf,\n                           callback_info_t
      **p_events, int i_events )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/dbus/dbus.c:805,1
    - Dst: dbus_watch_get_enabled
      Src: /src/vlc/modules/control/dbus/dbus.c:811,1
    - Dst: dbus_watch_get_unix_fd
      Src: /src/vlc/modules/control/dbus/dbus.c:816,1
    - Dst: dbus_watch_handle
      Src: /src/vlc/modules/control/dbus/dbus.c:835,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 5
    argNames:
    - p_intf
    - p_watches
    - i_watches
    - p_fds
    - i_fds
    argTypes:
    - intf_thread_t*
    - DBusWatch**
    - int
    - struct pollfd*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 801
    functionDepth: 1
    functionLinenumber: 801
    functionLinenumberEnd: 838
    functionName: ProcessWatches
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached:
    - dbus_watch_get_unix_fd
    - dbus_watch_get_enabled
    - dbus_watch_handle
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void ProcessWatches( intf_thread_t *p_intf,\n                            DBusWatch
      **p_watches, int i_watches,\n                            struct pollfd *p_fds,
      \ int i_fds )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbus_connection_get_dispatch_status
      Src: /src/vlc/modules/control/dbus/dbus.c:855,1
    - Dst: dbus_connection_dispatch
      Src: /src/vlc/modules/control/dbus/dbus.c:858,1
    - Dst: dbus_connection_get_dispatch_status
      Src: /src/vlc/modules/control/dbus/dbus.c:859,1
    - Dst: dbus_connection_has_messages_to_send
      Src: /src/vlc/modules/control/dbus/dbus.c:863,1
    - Dst: dbus_connection_flush
      Src: /src/vlc/modules/control/dbus/dbus.c:864,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - p_intf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 865
    functionName: DispatchDBusMessages
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached:
    - dbus_connection_flush
    - dbus_connection_has_messages_to_send
    - dbus_connection_get_dispatch_status
    - dbus_connection_dispatch
    linkageType: ''
    returnType: void
    signature: void DispatchDBusMessages( intf_thread_t *p_intf )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_get_interface
      Src: /src/vlc/modules/control/dbus/dbus.c:877,1
    - Dst: dbus_message_get_member
      Src: /src/vlc/modules/control/dbus/dbus.c:878,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/dbus/dbus.c:882,1
    - Dst: dbus_error_init
      Src: /src/vlc/modules/control/dbus/dbus.c:887,1
    - Dst: dbus_message_get_args
      Src: /src/vlc/modules/control/dbus/dbus.c:888,1
    - Dst: dbus_error_is_set
      Src: /src/vlc/modules/control/dbus/dbus.c:892,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/dbus/dbus.c:894,1
    - Dst: dbus_error_free
      Src: /src/vlc/modules/control/dbus/dbus.c:897,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/dbus/dbus.c:902,1
    - Dst: handle_introspect
      Src: /src/vlc/modules/control/dbus/dbus.c:903,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/dbus/dbus.c:905,1
    - Dst: handle_root
      Src: /src/vlc/modules/control/dbus/dbus.c:906,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/dbus/dbus.c:908,1
    - Dst: handle_player
      Src: /src/vlc/modules/control/dbus/dbus.c:909,1
    - Dst: strcmp
      Src: /src/vlc/modules/control/dbus/dbus.c:911,1
    - Dst: handle_tracklist
      Src: /src/vlc/modules/control/dbus/dbus.c:912,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - p_conn
    - p_from
    - p_this
    argTypes:
    - DBusConnection*
    - DBusMessage*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 915
    functionName: MPRISEntryPoint
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached:
    - handle_tracklist
    - handle_introspect
    - dbus_error_free
    - handle_root
    - msg_Err
    - dbus_error_is_set
    - strcmp
    - handle_player
    - dbus_error_init
    - dbus_message_get_interface
    - dbus_message_get_member
    - dbus_message_get_args
    linkageType: ''
    returnType: DBusHandlerResult
    signature: DBusHandlerResult MPRISEntryPoint ( DBusConnection *p_conn, DBusMessage
      *p_from, void *p_this )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/control/dbus/dbus.c:926,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/control/dbus/dbus.c:928,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/control/dbus/dbus.c:934,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/control/dbus/dbus.c:936,1
    - Dst: memset
      Src: /src/vlc/modules/control/dbus/dbus.c:938,1
    - Dst: GetPollFds
      Src: /src/vlc/modules/control/dbus/dbus.c:940,1
    - Dst: next_timeout
      Src: /src/vlc/modules/control/dbus/dbus.c:941,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/control/dbus/dbus.c:943,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/control/dbus/dbus.c:946,1
    - Dst: poll
      Src: /src/vlc/modules/control/dbus/dbus.c:950,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/control/dbus/dbus.c:956,1
    - Dst: read
      Src: /src/vlc/modules/control/dbus/dbus.c:961,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/control/dbus/dbus.c:976,1
    - Dst: process_timeouts
      Src: /src/vlc/modules/control/dbus/dbus.c:978,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/control/dbus/dbus.c:981,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/control/dbus/dbus.c:985,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/control/dbus/dbus.c:989,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/control/dbus/dbus.c:994,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/control/dbus/dbus.c:1002,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/control/dbus/dbus.c:1006,1
    - Dst: vlc_array_clear
      Src: /src/vlc/modules/control/dbus/dbus.c:1007,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/control/dbus/dbus.c:1021,1
    - Dst: ProcessEvents
      Src: /src/vlc/modules/control/dbus/dbus.c:1025,1
    - Dst: free
      Src: /src/vlc/modules/control/dbus/dbus.c:1026,1
    - Dst: ProcessWatches
      Src: /src/vlc/modules/control/dbus/dbus.c:1028,1
    - Dst: DispatchDBusMessages
      Src: /src/vlc/modules/control/dbus/dbus.c:1030,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/control/dbus/dbus.c:1033,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 921
    functionDepth: 6
    functionLinenumber: 921
    functionLinenumberEnd: 1035
    functionName: Run
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 7
    functionsReached:
    - next_timeout
    - GetPollFds
    - ProcessEvents
    - vlc_array_count
    - vlc_alloc
    - vlc_restorecancel
    - vlc_tick_now
    - DispatchDBusMessages
    - vlc_mutex_lock
    - process_timeouts
    - vlc_array_clear
    - vlc_savecancel
    - vlc_thread_set_name
    - vlc_array_item_at_index
    - read
    - ProcessWatches
    - vlc_mutex_unlock
    - memset
    - poll
    - free
    linkageType: ''
    returnType: void
    signature: void *Run( void *data )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/vlc/modules/control/dbus/dbus.c:1041,1
    - Dst: msg_Err
      Src: /src/vlc/modules/control/dbus/dbus.c:1042,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/control/dbus/dbus.c:1043,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - p_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1037
    functionDepth: 1
    functionLinenumber: 1037
    functionLinenumberEnd: 1044
    functionName: wakeup_main_loop
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 2
    functionsReached:
    - vlc_strerror_c
    - write
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void wakeup_main_loop( void *p_data )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_array_count
      Src: /src/vlc/modules/control/dbus/dbus.c:1051,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/control/dbus/dbus.c:1054,1
    - Dst: malloc
      Src: /src/vlc/modules/control/dbus/dbus.c:1069,1
    - Dst: unlikely
      Src: /src/vlc/modules/control/dbus/dbus.c:1070,1
    - Dst: vlc_array_append
      Src: /src/vlc/modules/control/dbus/dbus.c:1074,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - p_intf
    - p_info
    argTypes:
    - intf_thread_t*
    - callback_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1076
    functionName: add_event_locked
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached:
    - vlc_array_append
    - vlc_array_item_at_index
    - vlc_array_count
    - unlikely
    - malloc
    linkageType: ''
    returnType: bool
    signature: bool add_event_locked( intf_thread_t *p_intf, const callback_info_t
      *p_info )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/control/dbus/dbus.c:1081,1
    - Dst: add_event_locked
      Src: /src/vlc/modules/control/dbus/dbus.c:1082,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/control/dbus/dbus.c:1083,1
    - Dst: wakeup_main_loop
      Src: /src/vlc/modules/control/dbus/dbus.c:1086,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p_intf
    - p_info
    argTypes:
    - intf_thread_t*
    - callback_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1078
    functionDepth: 2
    functionLinenumber: 1078
    functionLinenumberEnd: 1088
    functionName: add_event_signal
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached:
    - wakeup_main_loop
    - add_event_locked
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: bool
    signature: bool add_event_signal( intf_thread_t *p_intf, const callback_info_t
      *p_info )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Get
      Src: /src/vlc/modules/control/dbus/dbus.c:1097,1
    - Dst: tracklist_append_event_create
      Src: /src/vlc/modules/control/dbus/dbus.c:1099,1
    - Dst: add_event_signal
      Src: /src/vlc/modules/control/dbus/dbus.c:1100,1
    - Dst: tracklist_append_event_destroy
      Src: /src/vlc/modules/control/dbus/dbus.c:1104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - playlist
    - index
    - items
    - count
    - data
    argTypes:
    - vlc_playlist_t*
    - size_t
    - vlc_playlist_item_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1090
    functionDepth: 3
    functionLinenumber: 1090
    functionLinenumberEnd: 1106
    functionName: playlist_on_items_added
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached:
    - vlc_playlist_Get
    - add_event_signal
    - tracklist_append_event_destroy
    - tracklist_append_event_create
    linkageType: ''
    returnType: void
    signature: "void playlist_on_items_added(vlc_playlist_t *playlist, size_t index,\n
      \                       vlc_playlist_item_t *const items[], size_t count,\n
      \                       void *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tracklist_remove_event_create
      Src: /src/vlc/modules/control/dbus/dbus.c:1115,1
    - Dst: add_event_signal
      Src: /src/vlc/modules/control/dbus/dbus.c:1117,1
    - Dst: tracklist_remove_event_destroy
      Src: /src/vlc/modules/control/dbus/dbus.c:1121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - playlist
    - index
    - count
    - data
    argTypes:
    - vlc_playlist_t*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1108
    functionDepth: 3
    functionLinenumber: 1108
    functionLinenumberEnd: 1122
    functionName: playlist_on_items_removed
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached:
    - add_event_signal
    - tracklist_remove_event_destroy
    - tracklist_remove_event_create
    linkageType: ''
    returnType: void
    signature: "void playlist_on_items_removed(vlc_playlist_t *playlist,\n                          size_t
      index, size_t count, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_event_signal
      Src: /src/vlc/modules/control/dbus/dbus.c:1129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - playlist
    - repeat
    - data
    argTypes:
    - vlc_playlist_t*
    - enum vlc_playlist_playback_repeat
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1124
    functionDepth: 3
    functionLinenumber: 1124
    functionLinenumberEnd: 1131
    functionName: playlist_on_playback_repeat_changed
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached:
    - add_event_signal
    linkageType: ''
    returnType: void
    signature: "void playlist_on_playback_repeat_changed(vlc_playlist_t *playlist,\n
      \                                   enum vlc_playlist_playback_repeat repeat,\n
      \                                   void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_event_signal
      Src: /src/vlc/modules/control/dbus/dbus.c:1138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - playlist
    - order
    - data
    argTypes:
    - vlc_playlist_t*
    - enum vlc_playlist_playback_order
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1133
    functionDepth: 3
    functionLinenumber: 1133
    functionLinenumberEnd: 1140
    functionName: playlist_on_playback_order_changed
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached:
    - add_event_signal
    linkageType: ''
    returnType: void
    signature: "void playlist_on_playback_order_changed(vlc_playlist_t *playlist,\n
      \                                  enum vlc_playlist_playback_order order,\n
      \                                  void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_event_signal
      Src: /src/vlc/modules/control/dbus/dbus.c:1146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - playlist
    - index
    - data
    argTypes:
    - vlc_playlist_t*
    - ssize_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1142
    functionDepth: 3
    functionLinenumber: 1142
    functionLinenumberEnd: 1149
    functionName: playlist_on_current_index_changed
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached:
    - add_event_signal
    linkageType: ''
    returnType: void
    signature: "void playlist_on_current_index_changed(vlc_playlist_t *playlist,\n
      \                                 ssize_t index, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_event_signal
      Src: /src/vlc/modules/control/dbus/dbus.c:1155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - playlist
    - has_prev
    - data
    argTypes:
    - vlc_playlist_t*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1151
    functionDepth: 3
    functionLinenumber: 1151
    functionLinenumberEnd: 1158
    functionName: playlist_on_has_prev_changed
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached:
    - add_event_signal
    linkageType: ''
    returnType: void
    signature: "void playlist_on_has_prev_changed(vlc_playlist_t *playlist, bool has_prev,\n
      \                            void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_event_signal
      Src: /src/vlc/modules/control/dbus/dbus.c:1164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - playlist
    - has_next
    - data
    argTypes:
    - vlc_playlist_t*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1160
    functionDepth: 3
    functionLinenumber: 1160
    functionLinenumberEnd: 1167
    functionName: playlist_on_has_next_changed
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached:
    - add_event_signal
    linkageType: ''
    returnType: void
    signature: "void playlist_on_has_next_changed(vlc_playlist_t *playlist, bool has_next,\n
      \                            void *data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/control/dbus/dbus.c:1196,1
    - Dst: add_event_locked
      Src: /src/vlc/modules/control/dbus/dbus.c:1200,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/control/dbus/dbus.c:1203,1
    - Dst: wakeup_main_loop
      Src: /src/vlc/modules/control/dbus/dbus.c:1206,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - player
    - state
    - data
    argTypes:
    - vlc_player_t*
    - enum vlc_player_state
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1169
    functionDepth: 2
    functionLinenumber: 1169
    functionLinenumberEnd: 1208
    functionName: player_on_state_changed
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached:
    - wakeup_main_loop
    - add_event_locked
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: "void player_on_state_changed(vlc_player_t *player, enum vlc_player_state
      state,\n                        void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: player_on_state_changed
      Src: /src/vlc/modules/control/dbus/dbus.c:1215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - player
    - error
    - data
    argTypes:
    - vlc_player_t*
    - enum vlc_player_error
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1216
    functionName: player_on_error_changed
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached:
    - player_on_state_changed
    linkageType: ''
    returnType: void
    signature: "void player_on_error_changed(vlc_player_t *player, enum vlc_player_error
      error,\n                        void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_event_signal
      Src: /src/vlc/modules/control/dbus/dbus.c:1221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - player
    - new_rate
    - data
    argTypes:
    - vlc_player_t*
    - float
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1218
    functionDepth: 3
    functionLinenumber: 1218
    functionLinenumberEnd: 1223
    functionName: player_on_rate_changed
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached:
    - add_event_signal
    linkageType: ''
    returnType: void
    signature: void player_on_rate_changed(vlc_player_t *player, float new_rate, void
      *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/control/dbus/dbus.c:1232,1
    - Dst: add_event_locked
      Src: /src/vlc/modules/control/dbus/dbus.c:1233,1
    - Dst: add_event_locked
      Src: /src/vlc/modules/control/dbus/dbus.c:1235,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/control/dbus/dbus.c:1237,1
    - Dst: wakeup_main_loop
      Src: /src/vlc/modules/control/dbus/dbus.c:1239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - player
    - old_caps
    - new_caps
    - data
    argTypes:
    - vlc_player_t*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1225
    functionDepth: 2
    functionLinenumber: 1225
    functionLinenumberEnd: 1241
    functionName: player_on_capabilities_changed
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached:
    - wakeup_main_loop
    - add_event_locked
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: "void player_on_capabilities_changed(vlc_player_t *player, int old_caps,
      int new_caps,\n                               void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_event_signal
      Src: /src/vlc/modules/control/dbus/dbus.c:1247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - player
    - item
    - data
    argTypes:
    - vlc_player_t*
    - input_item_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1243
    functionDepth: 3
    functionLinenumber: 1243
    functionLinenumberEnd: 1250
    functionName: player_on_media_meta_changed
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached:
    - add_event_signal
    linkageType: ''
    returnType: void
    signature: "void player_on_media_meta_changed(vlc_player_t *player,\n                             input_item_t
      *item, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_event_signal
      Src: /src/vlc/modules/control/dbus/dbus.c:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - aout
    - volume
    - data
    argTypes:
    - audio_output_t*
    - float
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1252
    functionDepth: 3
    functionLinenumber: 1252
    functionLinenumberEnd: 1258
    functionName: player_aout_on_volume_changed
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached:
    - add_event_signal
    linkageType: ''
    returnType: void
    signature: void player_aout_on_volume_changed(audio_output_t *aout, float volume,
      void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_event_signal
      Src: /src/vlc/modules/control/dbus/dbus.c:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - aout
    - muted
    - data
    argTypes:
    - audio_output_t*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1260
    functionDepth: 3
    functionLinenumber: 1260
    functionLinenumberEnd: 1266
    functionName: player_aout_on_mute_changed
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached:
    - add_event_signal
    linkageType: ''
    returnType: void
    signature: void player_aout_on_mute_changed(audio_output_t *aout, bool muted,
      void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_event_signal
      Src: /src/vlc/modules/control/dbus/dbus.c:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - vout
    - enabled
    - data
    argTypes:
    - vout_thread_t*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1268
    functionDepth: 3
    functionLinenumber: 1268
    functionLinenumberEnd: 1274
    functionName: player_vout_on_fullscreen_changed
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached:
    - add_event_signal
    linkageType: ''
    returnType: void
    signature: "void player_vout_on_fullscreen_changed(vout_thread_t *vout, bool enabled,\n
      \                                 void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/dbus/dbus.c:1280,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/dbus/dbus.c:1281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - data
    argTypes:
    - struct vlc_player_timer_point*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1276
    functionDepth: 1
    functionLinenumber: 1276
    functionLinenumberEnd: 1282
    functionName: player_timer_on_update
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void player_timer_on_update(const struct vlc_player_timer_point *value,
      void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_event_signal
      Src: /src/vlc/modules/control/dbus/dbus.c:1290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - data
    argTypes:
    - struct vlc_player_timer_point*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1284
    functionDepth: 3
    functionLinenumber: 1284
    functionLinenumberEnd: 1291
    functionName: player_timer_on_seek
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached:
    - add_event_signal
    linkageType: ''
    returnType: void
    signature: void player_timer_on_seek(const struct vlc_player_timer_point *value,
      void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/control/dbus/dbus.c:1307,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/control/dbus/dbus.c:1308,1
    - Dst: vlc_player_GetCurrentMedia
      Src: /src/vlc/modules/control/dbus/dbus.c:1309,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/control/dbus/dbus.c:1310,1
    - Dst: input_item_IsPreparsed
      Src: /src/vlc/modules/control/dbus/dbus.c:1314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - p_intf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1296
    functionDepth: 1
    functionLinenumber: 1296
    functionLinenumberEnd: 1320
    functionName: TrackChange
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 1
    functionsReached:
    - vlc_player_Unlock
    - vlc_player_Lock
    - input_item_IsPreparsed
    - vlc_playlist_GetPlayer
    - vlc_player_GetCurrentMedia
    linkageType: ''
    returnType: int
    signature: int TrackChange( intf_thread_t *p_intf )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_init
      Src: /src/vlc/modules/control/dbus/dbus.c:1335,1
    - Dst: dbus_message_iter_get_arg_type
      Src: /src/vlc/modules/control/dbus/dbus.c:1339,1
    - Dst: dbus_message_iter_recurse
      Src: /src/vlc/modules/control/dbus/dbus.c:1342,1
    - Dst: dbus_message_iter_get_basic
      Src: /src/vlc/modules/control/dbus/dbus.c:1343,1
    - Dst: dbus_message_iter_next
      Src: /src/vlc/modules/control/dbus/dbus.c:1346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - p_msg
    - p_arg
    argTypes:
    - DBusMessage*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1349
    functionName: DemarshalSetPropertyValue
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 5
    functionsReached:
    - dbus_message_iter_get_arg_type
    - dbus_message_iter_recurse
    - dbus_message_iter_get_basic
    - dbus_message_iter_next
    - dbus_message_iter_init
    linkageType: ''
    returnType: int
    signature: int DemarshalSetPropertyValue( DBusMessage *p_msg, void *p_arg )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - entry
    - ','
    - type
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1355
    functionDepth: 0
    functionLinenumber: 1355
    functionLinenumberEnd: 1368
    functionName: ADD_META
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_META( entry, type, data )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - entry
    - ','
    - item
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1369
    functionDepth: 0
    functionLinenumber: 1369
    functionLinenumberEnd: 1376
    functionName: ADD_VLC_META_STRING
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_VLC_META_STRING( entry, item )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - entry
    - ','
    - item
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1377
    functionDepth: 0
    functionLinenumber: 1377
    functionLinenumberEnd: 1398
    functionName: ADD_META_SINGLETON_STRING_LIST
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_META_SINGLETON_STRING_LIST( entry, item )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_item_GetMedia
      Src: /src/vlc/modules/control/dbus/dbus.c:1401,1
    - Dst: input_item_GetDuration
      Src: /src/vlc/modules/control/dbus/dbus.c:1405,1
    - Dst: vlc_playlist_item_GetId
      Src: /src/vlc/modules/control/dbus/dbus.c:1410,1
    - Dst: asprintf
      Src: /src/vlc/modules/control/dbus/dbus.c:1411,1
    - Dst: dbus_message_iter_open_container
      Src: /src/vlc/modules/control/dbus/dbus.c:1426,1
    - Dst: ADD_META
      Src: /src/vlc/modules/control/dbus/dbus.c:1428,1
    - Dst: ADD_VLC_META_STRING
      Src: /src/vlc/modules/control/dbus/dbus.c:1429,1
    - Dst: ADD_VLC_META_STRING
      Src: /src/vlc/modules/control/dbus/dbus.c:1430,1
    - Dst: ADD_META_SINGLETON_STRING_LIST
      Src: /src/vlc/modules/control/dbus/dbus.c:1431,1
    - Dst: ADD_VLC_META_STRING
      Src: /src/vlc/modules/control/dbus/dbus.c:1432,1
    - Dst: ADD_VLC_META_STRING
      Src: /src/vlc/modules/control/dbus/dbus.c:1433,1
    - Dst: ADD_META
      Src: /src/vlc/modules/control/dbus/dbus.c:1434,1
    - Dst: ADD_META
      Src: /src/vlc/modules/control/dbus/dbus.c:1435,1
    - Dst: ADD_META_SINGLETON_STRING_LIST
      Src: /src/vlc/modules/control/dbus/dbus.c:1436,1
    - Dst: ADD_VLC_META_STRING
      Src: /src/vlc/modules/control/dbus/dbus.c:1438,1
    - Dst: ADD_VLC_META_STRING
      Src: /src/vlc/modules/control/dbus/dbus.c:1439,1
    - Dst: ADD_VLC_META_STRING
      Src: /src/vlc/modules/control/dbus/dbus.c:1440,1
    - Dst: ADD_VLC_META_STRING
      Src: /src/vlc/modules/control/dbus/dbus.c:1442,1
    - Dst: ADD_META_SINGLETON_STRING_LIST
      Src: /src/vlc/modules/control/dbus/dbus.c:1443,1
    - Dst: ADD_VLC_META_STRING
      Src: /src/vlc/modules/control/dbus/dbus.c:1444,1
    - Dst: ADD_VLC_META_STRING
      Src: /src/vlc/modules/control/dbus/dbus.c:1445,1
    - Dst: ADD_META
      Src: /src/vlc/modules/control/dbus/dbus.c:1446,1
    - Dst: ADD_VLC_META_STRING
      Src: /src/vlc/modules/control/dbus/dbus.c:1447,1
    - Dst: ADD_VLC_META_STRING
      Src: /src/vlc/modules/control/dbus/dbus.c:1448,1
    - Dst: ADD_VLC_META_STRING
      Src: /src/vlc/modules/control/dbus/dbus.c:1449,1
    - Dst: ADD_VLC_META_STRING
      Src: /src/vlc/modules/control/dbus/dbus.c:1450,1
    - Dst: free
      Src: /src/vlc/modules/control/dbus/dbus.c:1452,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/control/dbus/dbus.c:1454,1
    - Dst: vlc_meta_GetStatus
      Src: /src/vlc/modules/control/dbus/dbus.c:1457,1
    - Dst: ADD_META
      Src: /src/vlc/modules/control/dbus/dbus.c:1458,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/control/dbus/dbus.c:1460,1
    - Dst: dbus_message_iter_close_container
      Src: /src/vlc/modules/control/dbus/dbus.c:1462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 2
    argNames:
    - item
    - args
    argTypes:
    - vlc_playlist_item_t*
    - DBusMessageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1399
    functionDepth: 2
    functionLinenumber: 1399
    functionLinenumberEnd: 1464
    functionName: GetInputMeta
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 3
    functionsReached:
    - ADD_VLC_META_STRING
    - asprintf
    - vlc_playlist_item_GetMedia
    - ADD_META_SINGLETON_STRING_LIST
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - dbus_message_iter_close_container
    - dbus_message_iter_open_container
    - vlc_playlist_item_GetId
    - free
    - ADD_META
    - vlc_meta_GetStatus
    - input_item_GetDuration
    linkageType: ''
    returnType: int
    signature: int GetInputMeta(vlc_playlist_item_t *item, DBusMessageIter *args)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_iter_open_container
      Src: /src/vlc/modules/control/dbus/dbus.c:1474,1
    - Dst: dbus_message_iter_append_basic
      Src: /src/vlc/modules/control/dbus/dbus.c:1479,1
    - Dst: dbus_message_iter_open_container
      Src: /src/vlc/modules/control/dbus/dbus.c:1484,1
    - Dst: pf_marshaller
      Src: /src/vlc/modules/control/dbus/dbus.c:1489,1
    - Dst: dbus_message_iter_close_container
      Src: /src/vlc/modules/control/dbus/dbus.c:1492,1
    - Dst: dbus_message_iter_close_container
      Src: /src/vlc/modules/control/dbus/dbus.c:1495,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - p_intf
    - p_container
    - psz_property_name
    - psz_signature
    argTypes:
    - intf_thread_t*
    - DBusMessageIter*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1466
    functionDepth: 0
    functionLinenumber: 1466
    functionLinenumberEnd: 1499
    functionName: AddProperty
    functionSourceFile: /src/vlc/modules/control/dbus/dbus.c
    functionUses: 1
    functionsReached:
    - dbus_message_iter_append_basic
    - pf_marshaller
    - dbus_message_iter_open_container
    - dbus_message_iter_close_container
    linkageType: ''
    returnType: int
    signature: "int AddProperty( intf_thread_t *p_intf,\n                 DBusMessageIter
      *p_container,\n                 const char* psz_property_name,\n                 const
      char* psz_signature,\n                 int (*pf_marshaller) (intf_thread_t*,
      DBusMessageIter*) )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/control/dbus/dbus_introspect.h:153,1
    - Dst: ADD_STRING
      Src: /src/vlc/modules/control/dbus/dbus_introspect.h:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 158
    functionName: DBUS_METHOD
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_introspect.h
    functionUses: 0
    functionsReached:
    - ADD_STRING
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void DBUS_METHOD( handle_introspect )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - method_function
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: DBUS_METHOD
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBUS_METHOD( method_function )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - signal_function
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: DBUS_SIGNAL
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBUS_SIGNAL( signal_function )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - interface
    - ','
    - path
    - ','
    - signal
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: SIGNAL_INIT
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_common.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIGNAL_INIT( interface, path, signal )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dbus_type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: DBUS_ADD
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBUS_ADD( dbus_type, value )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: ADD_STRING
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_common.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_STRING( s )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: ADD_DOUBLE
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_DOUBLE( d )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: ADD_BOOL
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_BOOL( b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: ADD_INT32
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_INT32( i )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: ADD_INT64
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_INT64( i )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: ADD_BYTE
    functionSourceFile: /src/vlc/modules/control/dbus/dbus_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_BYTE( b )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intf_Create
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - libvlc
    argTypes:
    - libvlc_int_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: AutoRun
    functionSourceFile: /src/vlc/modules/control/globalhotkeys/win32.c
    functionUses: 0
    functionsReached:
    - intf_Create
    linkageType: ''
    returnType: void
    signature: void AutoRun(libvlc_int_t *libvlc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:80,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:86,1
    - Dst: vlc_sem_init
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:87,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:89,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:92,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:93,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:95,1
    - Dst: vlc_join
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 101
    functionName: Open
    functionSourceFile: /src/vlc/modules/control/globalhotkeys/win32.c
    functionUses: 33
    functionsReached:
    - vlc_sem_init
    - vlc_sem_wait
    - vlc_obj_malloc
    - vlc_mutex_unlock
    - vlc_clone
    - vlc_mutex_lock
    - vlc_mutex_init
    - vlc_join
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:112,1
    - Dst: PostMessage
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:114,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:115,1
    - Dst: vlc_join
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 118
    functionName: Close
    functionSourceFile: /src/vlc/modules/control/globalhotkeys/win32.c
    functionUses: 114
    functionsReached:
    - vlc_join
    - vlc_mutex_unlock
    - PostMessage
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:127,1
    - Dst: CreateWindow
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:134,1
    - Dst: TEXT
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:134,1
    - Dst: TEXT
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:135,1
    - Dst: TEXT
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:135,1
    - Dst: GetModuleHandle
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:143,1
    - Dst: vlc_sem_post
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:145,1
    - Dst: SetWindowLongPtr
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:150,1
    - Dst: SetWindowLongPtr
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:152,1
    - Dst: vlc_actions_get_key_names
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:156,1
    - Dst: vlc_actions_get_keycodes
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:160,1
    - Dst: HANDLE
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:195,1
    - Dst: HANDLE
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:196,1
    - Dst: HANDLE
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:197,1
    - Dst: HANDLE
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:198,1
    - Dst: HANDLE
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:199,1
    - Dst: HANDLE2
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:200,1
    - Dst: HANDLE2
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:201,1
    - Dst: HANDLE
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:202,1
    - Dst: HANDLE
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:203,1
    - Dst: HANDLE
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:204,1
    - Dst: HANDLE
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:205,1
    - Dst: HANDLE
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:206,1
    - Dst: HANDLE
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:207,1
    - Dst: HANDLE
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:208,1
    - Dst: HANDLE
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:209,1
    - Dst: HANDLE
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:210,1
    - Dst: HANDLE
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:211,1
    - Dst: HANDLE
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:212,1
    - Dst: HANDLE
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:213,1
    - Dst: HANDLE
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:214,1
    - Dst: HANDLE
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:215,1
    - Dst: HANDLE
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:216,1
    - Dst: HANDLE
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:217,1
    - Dst: HANDLE
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:218,1
    - Dst: HANDLE
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:219,1
    - Dst: HANDLE
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:220,1
    - Dst: HANDLE
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:221,1
    - Dst: HANDLE
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:222,1
    - Dst: HANDLE
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:223,1
    - Dst: HANDLE
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:224,1
    - Dst: HANDLE
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:225,1
    - Dst: toupper
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:228,1
    - Dst: GlobalAddAtomA
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:236,1
    - Dst: RegisterHotKey
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:239,1
    - Dst: GlobalDeleteAtom
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:240,1
    - Dst: free
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:242,1
    - Dst: GetMessage
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:246,1
    - Dst: DispatchMessage
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:247,1
    - Dst: vlc_actions_get_key_names
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:250,1
    - Dst: GlobalFindAtomA
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:253,1
    - Dst: UnregisterHotKey
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:256,1
    - Dst: GlobalDeleteAtom
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:257,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:261,1
    - Dst: DestroyWindow
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:262,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:264,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 74
    argCount: 1
    argNames:
    - p_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 267
    functionName: Thread
    functionSourceFile: /src/vlc/modules/control/globalhotkeys/win32.c
    functionUses: 0
    functionsReached:
    - vlc_actions_get_keycodes
    - TEXT
    - vlc_mutex_lock
    - DestroyWindow
    - RegisterHotKey
    - vlc_actions_get_key_names
    - GlobalAddAtomA
    - CreateWindow
    - SetWindowLongPtr
    - GlobalDeleteAtom
    - GlobalFindAtomA
    - vlc_thread_set_name
    - DispatchMessage
    - HANDLE
    - GetMessage
    - toupper
    - GetModuleHandle
    - vlc_mutex_unlock
    - vlc_sem_post
    - UnregisterHotKey
    - free
    - HANDLE2
    linkageType: ''
    returnType: void
    signature: void *Thread( void *p_data )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: HANDLE
    functionSourceFile: /src/vlc/modules/control/globalhotkeys/win32.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE( key )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - key
    - ','
    - key2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 172
    functionName: HANDLE2
    functionSourceFile: /src/vlc/modules/control/globalhotkeys/win32.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE2( key, key2 )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetWindowLongPtr
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:281,1
    - Dst: strcpy
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:283,1
    - Dst: GlobalGetAtomNameA
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:285,1
    - Dst: vlc_actions_get_id
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:291,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:294,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:294,1
    - Dst: PostQuitMessage
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:302,1
    - Dst: DefWindowProc
      Src: /src/vlc/modules/control/globalhotkeys/win32.c:306,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - hwnd
    - uMsg
    - wParam
    - lParam
    argTypes:
    - HWND
    - UINT
    - WPARAM
    - LPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 310
    functionName: WMHOTKEYPROC
    functionSourceFile: /src/vlc/modules/control/globalhotkeys/win32.c
    functionUses: 0
    functionsReached:
    - PostQuitMessage
    - GetWindowLongPtr
    - vlc_object_instance
    - vlc_actions_get_id
    - GlobalGetAtomNameA
    - var_SetInteger
    - strcpy
    - DefWindowProc
    linkageType: ''
    returnType: LRESULT
    signature: "LRESULT WMHOTKEYPROC( HWND hwnd, UINT uMsg, WPARAM wParam,\n        LPARAM
      lParam )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intf_Create
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - libvlc
    argTypes:
    - libvlc_int_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: AutoRun
    functionSourceFile: /src/vlc/modules/control/globalhotkeys/xcb.c
    functionUses: 0
    functionsReached:
    - intf_Create
    linkageType: ''
    returnType: void
    signature: void AutoRun(libvlc_int_t *libvlc)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:101,1
    - Dst: xcb_connect
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:106,1
    - Dst: xcb_connection_has_error
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:108,1
    - Dst: xcb_get_setup
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:112,1
    - Dst: xcb_setup_roots_iterator
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:115,1
    - Dst: xcb_screen_next
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:120,1
    - Dst: xcb_key_symbols_alloc
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:127,1
    - Dst: Mapping
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:131,1
    - Dst: Register
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:137,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:139,1
    - Dst: free
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:143,1
    - Dst: free
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:144,1
    - Dst: xcb_key_symbols_free
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:152,1
    - Dst: xcb_disconnect
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:153,1
    - Dst: free
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:154,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 156
    functionName: Open
    functionSourceFile: /src/vlc/modules/control/globalhotkeys/xcb.c
    functionUses: 33
    functionsReached:
    - xcb_get_setup
    - xcb_key_symbols_free
    - xcb_setup_roots_iterator
    - vlc_clone
    - xcb_screen_next
    - xcb_key_symbols_alloc
    - calloc
    - xcb_connect
    - free
    - Mapping
    - xcb_connection_has_error
    - xcb_disconnect
    - Register
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_cancel
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:169,1
    - Dst: vlc_join
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:170,1
    - Dst: free
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:173,1
    - Dst: free
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:174,1
    - Dst: xcb_key_symbols_free
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:175,1
    - Dst: xcb_disconnect
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:176,1
    - Dst: free
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 178
    functionName: Close
    functionSourceFile: /src/vlc/modules/control/globalhotkeys/xcb.c
    functionUses: 114
    functionsReached:
    - xcb_key_symbols_free
    - vlc_cancel
    - free
    - vlc_join
    - xcb_disconnect
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xcb_get_modifier_mapping
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:195,1
    - Dst: xcb_get_modifier_mapping_reply
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:197,1
    - Dst: xcb_key_symbols_get_keycode
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:201,1
    - Dst: xcb_get_modifier_mapping_keycodes
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:218,1
    - Dst: free
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:227,1
    - Dst: free
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:228,1
    - Dst: free
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:233,1
    - Dst: free
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:234,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 3
    argNames:
    - p_connection
    - p_symbols
    - sym
    argTypes:
    - xcb_connection_t*
    - xcb_key_symbols_t*
    - xcb_keysym_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 236
    functionName: GetModifier
    functionSourceFile: /src/vlc/modules/control/globalhotkeys/xcb.c
    functionUses: 0
    functionsReached:
    - xcb_get_modifier_mapping
    - xcb_get_modifier_mapping_keycodes
    - xcb_key_symbols_get_keycode
    - xcb_get_modifier_mapping_reply
    - free
    linkageType: ''
    returnType: unsigned
    signature: unsigned GetModifier( xcb_connection_t *p_connection, xcb_key_symbols_t
      *p_symbols, xcb_keysym_t sym )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetModifier
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:245,1
    - Dst: GetModifier
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:246,1
    - Dst: GetModifier
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:248,1
    - Dst: GetModifier
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:249,1
    - Dst: GetModifier
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:251,1
    - Dst: GetModifier
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:252,1
    - Dst: GetModifier
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:254,1
    - Dst: GetModifier
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:255,1
    - Dst: GetModifier
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:256,1
    - Dst: GetModifier
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - p_connection
    - p_symbols
    - i_vlc
    argTypes:
    - xcb_connection_t*
    - xcb_key_symbols_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 259
    functionName: GetX11Modifier
    functionSourceFile: /src/vlc/modules/control/globalhotkeys/xcb.c
    functionUses: 0
    functionsReached:
    - GetModifier
    linkageType: ''
    returnType: unsigned
    signature: "unsigned GetX11Modifier( xcb_connection_t *p_connection,\n        xcb_key_symbols_t
      *p_symbols, unsigned i_vlc )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - i_vlc
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 285
    functionName: GetX11Key
    functionSourceFile: /src/vlc/modules/control/globalhotkeys/xcb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: xcb_keysym_t
    signature: xcb_keysym_t GetX11Key( unsigned i_vlc )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_actions_get_key_names
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:303,1
    - Dst: vlc_actions_get_keycodes
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:307,1
    - Dst: GetX11Modifier
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:313,1
    - Dst: GetModifier
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:320,1
    - Dst: xcb_key_symbols_get_keycode
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:325,1
    - Dst: GetX11Key
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:326,1
    - Dst: realloc
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:331,1
    - Dst: free
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:335,1
    - Dst: free
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:348,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - p_intf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 351
    functionName: Mapping
    functionSourceFile: /src/vlc/modules/control/globalhotkeys/xcb.c
    functionUses: 7
    functionsReached:
    - GetX11Key
    - GetX11Modifier
    - xcb_key_symbols_get_keycode
    - realloc
    - vlc_actions_get_key_names
    - free
    - vlc_actions_get_keycodes
    - GetModifier
    linkageType: ''
    returnType: bool
    signature: bool Mapping( intf_thread_t *p_intf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcb_grab_key
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p_intf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 367
    functionName: Register
    functionSourceFile: /src/vlc/modules/control/globalhotkeys/xcb.c
    functionUses: 5
    functionsReached:
    - xcb_grab_key
    linkageType: ''
    returnType: void
    signature: void Register( intf_thread_t *p_intf )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:375,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:377,1
    - Dst: xcb_flush
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:380,1
    - Dst: xcb_get_file_descriptor
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:383,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:387,1
    - Dst: poll
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:389,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:393,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:396,1
    - Dst: xcb_poll_for_event
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:399,1
    - Dst: free
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:403,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:417,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:417,1
    - Dst: free
      Src: /src/vlc/modules/control/globalhotkeys/xcb.c:423,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 1
    argNames:
    - p_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 428
    functionName: Thread
    functionSourceFile: /src/vlc/modules/control/globalhotkeys/xcb.c
    functionUses: 0
    functionsReached:
    - vlc_restorecancel
    - vlc_thread_set_name
    - xcb_flush
    - poll
    - xcb_get_file_descriptor
    - vlc_object_instance
    - free
    - var_SetInteger
    - xcb_poll_for_event
    - vlc_savecancel
    linkageType: ''
    returnType: void
    signature: void *Thread( void *p_data )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - p_volume
    - p_buffer
    - f_multiplier
    argTypes:
    - audio_volume_t*
    - block_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 66
    functionName: FilterFL32
    functionSourceFile: /src/vlc/modules/audio_mixer/float.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FilterFL32( audio_volume_t *p_volume, block_t *p_buffer,\n                        float
      f_multiplier )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - p_volume
    - p_buffer
    - f_multiplier
    argTypes:
    - audio_volume_t*
    - block_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 80
    functionName: FilterFL64
    functionSourceFile: /src/vlc/modules/audio_mixer/float.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FilterFL64( audio_volume_t *p_volume, block_t *p_buffer,\n                        float
      f_multiplier )"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 101
    functionName: Create
    functionSourceFile: /src/vlc/modules/audio_mixer/float.c
    functionUses: 120
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Create( vlc_object_t *p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lroundf
      Src: /src/vlc/modules/audio_mixer/integer.c:46,1
    - Dst: INT64_C
      Src: /src/vlc/modules/audio_mixer/integer.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - vol
    - block
    - volume
    argTypes:
    - audio_volume_t*
    - block_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 61
    functionName: FilterS32N
    functionSourceFile: /src/vlc/modules/audio_mixer/integer.c
    functionUses: 0
    functionsReached:
    - INT64_C
    - lroundf
    linkageType: ''
    returnType: void
    signature: void FilterS32N (audio_volume_t *vol, block_t *block, float volume)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lroundf
      Src: /src/vlc/modules/audio_mixer/integer.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - vol
    - block
    - volume
    argTypes:
    - audio_volume_t*
    - block_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 82
    functionName: FilterS16N
    functionSourceFile: /src/vlc/modules/audio_mixer/integer.c
    functionUses: 0
    functionsReached:
    - lroundf
    linkageType: ''
    returnType: void
    signature: void FilterS16N (audio_volume_t *vol, block_t *block, float volume)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lroundf
      Src: /src/vlc/modules/audio_mixer/integer.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - vol
    - block
    - volume
    argTypes:
    - audio_volume_t*
    - block_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 103
    functionName: FilterU8
    functionSourceFile: /src/vlc/modules/audio_mixer/integer.c
    functionUses: 0
    functionsReached:
    - lroundf
    linkageType: ''
    returnType: void
    signature: void FilterU8 (audio_volume_t *vol, block_t *block, float volume)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 124
    functionName: Activate
    functionSourceFile: /src/vlc/modules/audio_mixer/integer.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Activate (vlc_object_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDWBE
      Src: /src/vlc/modules/meta_engine/ID3Tag.h:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_buffer
    - b_syncsafe
    argTypes:
    - uint8_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: ID3TAG_ReadSize
    functionSourceFile: /src/vlc/modules/meta_engine/ID3Tag.h
    functionUses: 0
    functionsReached:
    - GetDWBE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ID3TAG_ReadSize( const uint8_t *p_buffer, bool b_syncsafe
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/meta_engine/ID3Tag.h:37,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/meta_engine/ID3Tag.h:40,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - p_buffer
    - buffer_len
    - b_footer
    argTypes:
    - uint8_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: ID3TAG_IsTag
    functionSourceFile: /src/vlc/modules/meta_engine/ID3Tag.h
    functionUses: 0
    functionsReached:
    - GetDWBE
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool ID3TAG_IsTag( const uint8_t *p_buffer, size_t buffer_len, bool
      b_footer )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ID3TAG_IsTag
      Src: /src/vlc/modules/meta_engine/ID3Tag.h:46,1
    - Dst: ID3TAG_ReadSize
      Src: /src/vlc/modules/meta_engine/ID3Tag.h:49,1
    - Dst: ID3TAG_IsTag
      Src: /src/vlc/modules/meta_engine/ID3Tag.h:60,1
    - Dst: ID3TAG_ReadSize
      Src: /src/vlc/modules/meta_engine/ID3Tag.h:74,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/meta_engine/ID3Tag.h:91,1
    - Dst: ID3TAG_ReadSize
      Src: /src/vlc/modules/meta_engine/ID3Tag.h:92,1
    - Dst: pf_callback
      Src: /src/vlc/modules/meta_engine/ID3Tag.h:97,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 32
    argCount: 3
    argNames:
    - p_peek
    - i_peek
    - p_priv
    argTypes:
    - uint8_t*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 105
    functionName: ID3TAG_Parse
    functionSourceFile: /src/vlc/modules/meta_engine/ID3Tag.h
    functionUses: 0
    functionsReached:
    - ID3TAG_IsTag
    - pf_callback
    - VLC_FOURCC
    - ID3TAG_ReadSize
    linkageType: ''
    returnType: size_t
    signature: "size_t ID3TAG_Parse( const uint8_t *p_peek, size_t i_peek,\n                            int
      (*pf_callback)(uint32_t, const uint8_t *, size_t, void *), void *p_priv )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: VERSION_INT
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VERSION_INT(a, b, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: ~ExtResolver()
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ExtResolver()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transform
      Src: /src/vlc/modules/meta_engine/taglib.cpp:131,1
    - Dst: VLCTagLib::ExtResolver<T>::ExtResolver(const std::ext::begin
      Src: /src/vlc/modules/meta_engine/taglib.cpp:131,1
    - Dst: VLCTagLib::ExtResolver<T>::ExtResolver(const std::ext::end
      Src: /src/vlc/modules/meta_engine/taglib.cpp:131,1
    - Dst: VLCTagLib::ExtResolver<T>::ExtResolver(const std::ext::begin
      Src: /src/vlc/modules/meta_engine/taglib.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ext'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: VLCTagLib::ExtResolver<T>::ExtResolver(const std::string & ext)
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 0
    functionsReached:
    - VLCTagLib::ExtResolver<T>::ExtResolver(const std::ext::end
    - transform
    - VLCTagLib::ExtResolver<T>::ExtResolver(const std::ext::begin
    linkageType: ''
    returnType: void
    signature: void VLCTagLib::ExtResolver<T>::ExtResolver(const std::string & ext)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VERSION_INT
      Src: /src/vlc/modules/meta_engine/taglib.cpp:137,1
    - Dst: FileName::toString
      Src: /src/vlc/modules/meta_engine/taglib.cpp:138,1
    - Dst: std::string
      Src: /src/vlc/modules/meta_engine/taglib.cpp:140,1
    - Dst: std::string::size
      Src: /src/vlc/modules/meta_engine/taglib.cpp:142,1
    - Dst: length
      Src: /src/vlc/modules/meta_engine/taglib.cpp:144,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/meta_engine/taglib.cpp:146,1
    - Dst: length
      Src: /src/vlc/modules/meta_engine/taglib.cpp:146,1
    - Dst: length
      Src: /src/vlc/modules/meta_engine/taglib.cpp:146,1
    - Dst: transform
      Src: /src/vlc/modules/meta_engine/taglib.cpp:147,1
    - Dst: std::string::begin
      Src: /src/vlc/modules/meta_engine/taglib.cpp:147,1
    - Dst: std::string::end
      Src: /src/vlc/modules/meta_engine/taglib.cpp:147,1
    - Dst: std::string::begin
      Src: /src/vlc/modules/meta_engine/taglib.cpp:147,1
    - Dst: T::T
      Src: /src/vlc/modules/meta_engine/taglib.cpp:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - FileName
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 153
    functionName: '*VLCTagLib::ExtResolver<T>::createFile(FileName fileName, bool,
      AudioProperties::ReadStyle) const'
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 0
    functionsReached:
    - std::string::begin
    - VERSION_INT
    - transform
    - length
    - std::string::end
    - std::string::size
    - std::string::substr
    - T::T
    - FileName::toString
    - std::string
    linkageType: ''
    returnType: File
    signature: File *VLCTagLib::ExtResolver<T>::createFile(FileName fileName, bool,
      AudioProperties::ReadStyle) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VERSION_INT
      Src: /src/vlc/modules/meta_engine/taglib.cpp:159,1
    - Dst: IOStream*::name
      Src: /src/vlc/modules/meta_engine/taglib.cpp:160,1
    - Dst: std::string
      Src: /src/vlc/modules/meta_engine/taglib.cpp:162,1
    - Dst: IOStream*::name
      Src: /src/vlc/modules/meta_engine/taglib.cpp:162,1
    - Dst: std::string::size
      Src: /src/vlc/modules/meta_engine/taglib.cpp:164,1
    - Dst: length
      Src: /src/vlc/modules/meta_engine/taglib.cpp:166,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/meta_engine/taglib.cpp:168,1
    - Dst: length
      Src: /src/vlc/modules/meta_engine/taglib.cpp:168,1
    - Dst: length
      Src: /src/vlc/modules/meta_engine/taglib.cpp:168,1
    - Dst: transform
      Src: /src/vlc/modules/meta_engine/taglib.cpp:169,1
    - Dst: std::string::begin
      Src: /src/vlc/modules/meta_engine/taglib.cpp:169,1
    - Dst: std::string::end
      Src: /src/vlc/modules/meta_engine/taglib.cpp:169,1
    - Dst: std::string::begin
      Src: /src/vlc/modules/meta_engine/taglib.cpp:169,1
    - Dst: VERSION_INT
      Src: /src/vlc/modules/meta_engine/taglib.cpp:171,1
    - Dst: T::T
      Src: /src/vlc/modules/meta_engine/taglib.cpp:172,1
    - Dst: test_media_player_multiple_instance
      Src: /src/vlc/modules/meta_engine/taglib.cpp:174,1
    - Dst: T::T
      Src: /src/vlc/modules/meta_engine/taglib.cpp:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - IOStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 179
    functionName: '* VLCTagLib::ExtResolver<T>::createFileFromStream(IOStream* s,
      bool, AudioProperties::ReadStyle) const'
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 0
    functionsReached:
    - std::string::begin
    - VERSION_INT
    - transform
    - length
    - std::string::end
    - std::string::size
    - IOStream*::name
    - std::string::substr
    - T::T
    - std::string
    - test_media_player_multiple_instance
    linkageType: ''
    returnType: File
    signature: File * VLCTagLib::ExtResolver<T>::createFileFromStream(IOStream* s,
      bool, AudioProperties::ReadStyle) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/meta_engine/taglib.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 210
    functionName: VlcIostream
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 0
    functionsReached:
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: void
    signature: void VlcIostream(stream_t* p_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/meta_engine/taglib.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: ~VlcIostream()
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 0
    functionsReached:
    - vlc_stream_Delete
    linkageType: ''
    returnType: void
    signature: void ~VlcIostream()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 222
    functionName: name
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 83
    functionsReached: []
    linkageType: ''
    returnType: FileName
    signature: FileName name() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/meta_engine/taglib.cpp:233,1
    - Dst: ByteVector::data
      Src: /src/vlc/modules/meta_engine/taglib.cpp:233,1
    - Dst: ByteVector::resize
      Src: /src/vlc/modules/meta_engine/taglib.cpp:237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - length
    argTypes:
    - ulong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 241
    functionName: readBlock
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 0
    functionsReached:
    - ByteVector::resize
    - vlc_stream_Read
    - ByteVector::data
    linkageType: ''
    returnType: ByteVector
    signature: ByteVector readBlock(ulong length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: writeBlock
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void writeBlock(const ByteVector&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: insert
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void insert(const ByteVector&, ulong, ulong)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: removeBlock
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void removeBlock(ulong, ulong)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: readOnly
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool readOnly() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: isOpen
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isOpen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: setMaxSequentialRead
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setMaxSequentialRead(long s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/vlc/modules/meta_engine/taglib.cpp:293,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/meta_engine/taglib.cpp:307,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - offset
    - p
    argTypes:
    - long
    - Position
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 311
    functionName: seek
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 31
    functionsReached:
    - vlc_stream_Seek
    - length
    linkageType: ''
    returnType: void
    signature: void seek(long offset, Position p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 316
    functionName: clear
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 325
    functionName: tell
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long tell() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/meta_engine/taglib.cpp:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 337
    functionName: length
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 25
    functionsReached:
    - vlc_stream_GetSize
    linkageType: ''
    returnType: long
    signature: long length()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 345
    functionName: truncate
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void truncate(long)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/vlc/modules/meta_engine/taglib.cpp:360,1
    - Dst: snprintf
      Src: /src/vlc/modules/meta_engine/taglib.cpp:364,1
    - Dst: vlc_meta_Set
      Src: /src/vlc/modules/meta_engine/taglib.cpp:365,1
    - Dst: snprintf
      Src: /src/vlc/modules/meta_engine/taglib.cpp:369,1
    - Dst: vlc_meta_Set
      Src: /src/vlc/modules/meta_engine/taglib.cpp:370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - p_meta
    - psz_value
    - first
    - second
    argTypes:
    - vlc_meta_t*
    - char*
    - vlc_meta_type_t
    - vlc_meta_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 373
    functionName: ExtractCoupleNumberValues
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 0
    functionsReached:
    - sscanf
    - vlc_meta_Set
    - snprintf
    linkageType: ''
    returnType: int
    signature: "int ExtractCoupleNumberValues( vlc_meta_t* p_meta, const char *psz_value,\n
      \       vlc_meta_type_t first, vlc_meta_type_t second)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: APE::Tag*::itemListMap
      Src: /src/vlc/modules/meta_engine/taglib.cpp:383,1
    - Dst: APE::ItemListMap::find
      Src: /src/vlc/modules/meta_engine/taglib.cpp:386,1
    - Dst: APE::ItemListMap::end
      Src: /src/vlc/modules/meta_engine/taglib.cpp:387,1
    - Dst: APE::ItemListMap::Iterator::second::isEmpty
      Src: /src/vlc/modules/meta_engine/taglib.cpp:388,1
    - Dst: APE::ItemListMap::Iterator::second::type
      Src: /src/vlc/modules/meta_engine/taglib.cpp:389,1
    - Dst: APE::ItemListMap::Iterator::second::binaryData
      Src: /src/vlc/modules/meta_engine/taglib.cpp:393,1
    - Dst: ByteVector::data
      Src: /src/vlc/modules/meta_engine/taglib.cpp:394,1
    - Dst: ByteVector::size
      Src: /src/vlc/modules/meta_engine/taglib.cpp:395,1
    - Dst: strnlen
      Src: /src/vlc/modules/meta_engine/taglib.cpp:398,1
    - Dst: IsUTF8
      Src: /src/vlc/modules/meta_engine/taglib.cpp:399,1
    - Dst: vlc_mime_Ext2Mime
      Src: /src/vlc/modules/meta_engine/taglib.cpp:402,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/meta_engine/taglib.cpp:406,1
    - Dst: vlc_input_attachment_New
      Src: /src/vlc/modules/meta_engine/taglib.cpp:409,1
    - Dst: TAB_APPEND_CAST
      Src: /src/vlc/modules/meta_engine/taglib.cpp:413,1
    - Dst: asprintf
      Src: /src/vlc/modules/meta_engine/taglib.cpp:418,1
    - Dst: vlc_meta_SetArtURL
      Src: /src/vlc/modules/meta_engine/taglib.cpp:420,1
    - Dst: free
      Src: /src/vlc/modules/meta_engine/taglib.cpp:421,1
    - Dst: APE::ItemListMap::erase
      Src: /src/vlc/modules/meta_engine/taglib.cpp:426,1
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:443,1
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:444,1
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:445,1
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:446,1
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:447,1
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:448,1
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:449,1
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:450,1
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:451,1
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:452,1
    - Dst: SET_EXTRA
      Src: /src/vlc/modules/meta_engine/taglib.cpp:454,1
    - Dst: APE::ItemListMap::find
      Src: /src/vlc/modules/meta_engine/taglib.cpp:460,1
    - Dst: APE::ItemListMap::end
      Src: /src/vlc/modules/meta_engine/taglib.cpp:461,1
    - Dst: APE::ItemListMap::Iterator::second::isEmpty
      Src: /src/vlc/modules/meta_engine/taglib.cpp:461,1
    - Dst: ExtractCoupleNumberValues
      Src: /src/vlc/modules/meta_engine/taglib.cpp:463,1
    - Dst: APE::ItemListMap::Iterator::second::toString
      Src: /src/vlc/modules/meta_engine/taglib.cpp:463,1
    - Dst: APE::ItemListMap::erase
      Src: /src/vlc/modules/meta_engine/taglib.cpp:465,1
    - Dst: APE::ItemListMap::begin
      Src: /src/vlc/modules/meta_engine/taglib.cpp:469,1
    - Dst: APE::ItemListMap::end
      Src: /src/vlc/modules/meta_engine/taglib.cpp:469,1
    - Dst: APE::ItemListMap::Iterator::second::isEmpty
      Src: /src/vlc/modules/meta_engine/taglib.cpp:471,1
    - Dst: APE::ItemListMap::Iterator::second::type
      Src: /src/vlc/modules/meta_engine/taglib.cpp:474,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/meta_engine/taglib.cpp:477,1
    - Dst: APE::ItemListMap::Iterator::first::toCString
      Src: /src/vlc/modules/meta_engine/taglib.cpp:478,1
    - Dst: APE::ItemListMap::Iterator::second::toString
      Src: /src/vlc/modules/meta_engine/taglib.cpp:479,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 3
    argNames:
    - tag
    - p_demux_meta
    - p_meta
    argTypes:
    - APE::Tag*
    - demux_meta_t*
    - vlc_meta_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 481
    functionName: ReadMetaFromAPE
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 0
    functionsReached:
    - ByteVector::size
    - SET_EXTRA
    - APE::ItemListMap::Iterator::second::isEmpty
    - APE::ItemListMap::end
    - APE::ItemListMap::erase
    - asprintf
    - ByteVector::data
    - IsUTF8
    - strnlen
    - ExtractCoupleNumberValues
    - APE::ItemListMap::Iterator::second::type
    - msg_Dbg
    - vlc_mime_Ext2Mime
    - APE::ItemListMap::find
    - vlc_meta_SetExtra
    - TAB_APPEND_CAST
    - vlc_input_attachment_New
    - free
    - APE::Tag*::itemListMap
    - APE::ItemListMap::Iterator::second::toString
    - APE::ItemListMap::begin
    - APE::ItemListMap::Iterator::first::toCString
    - vlc_meta_SetArtURL
    - SET
    - APE::ItemListMap::Iterator::second::binaryData
    linkageType: ''
    returnType: void
    signature: void ReadMetaFromAPE( APE::Tag* tag, demux_meta_t* p_demux_meta, vlc_meta_t*
      p_meta )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - keyName
    - ','
    - metaName
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 435
    functionName: SET
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET( keyName, metaName )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - keyName
    - ','
    - metaName
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 442
    functionName: SET_EXTRA
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_EXTRA( keyName, metaName )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:508,1
    - Dst: SET_EXTRA
      Src: /src/vlc/modules/meta_engine/taglib.cpp:509,1
    - Dst: ASF::Tag*::attributeListMap
      Src: /src/vlc/modules/meta_engine/taglib.cpp:514,1
    - Dst: vlc_meta_SetCompilation
      Src: /src/vlc/modules/meta_engine/taglib.cpp:515,1
    - Dst: ASF::Tag*::attributeListMap
      Src: /src/vlc/modules/meta_engine/taglib.cpp:516,1
    - Dst: front
      Src: /src/vlc/modules/meta_engine/taglib.cpp:516,1
    - Dst: ASF::Tag*::attributeListMap
      Src: /src/vlc/modules/meta_engine/taglib.cpp:519,1
    - Dst: ASF::AttributeList::begin
      Src: /src/vlc/modules/meta_engine/taglib.cpp:521,1
    - Dst: ASF::AttributeList::end
      Src: /src/vlc/modules/meta_engine/taglib.cpp:521,1
    - Dst: toPicture
      Src: /src/vlc/modules/meta_engine/taglib.cpp:523,1
    - Dst: ASF::Picture::picture
      Src: /src/vlc/modules/meta_engine/taglib.cpp:524,1
    - Dst: ASF::Picture::mimeType
      Src: /src/vlc/modules/meta_engine/taglib.cpp:525,1
    - Dst: ByteVector::data
      Src: /src/vlc/modules/meta_engine/taglib.cpp:526,1
    - Dst: ByteVector::size
      Src: /src/vlc/modules/meta_engine/taglib.cpp:527,1
    - Dst: ASF::Picture::description
      Src: /src/vlc/modules/meta_engine/taglib.cpp:531,1
    - Dst: strdup
      Src: /src/vlc/modules/meta_engine/taglib.cpp:532,1
    - Dst: ASF::Picture::description
      Src: /src/vlc/modules/meta_engine/taglib.cpp:532,1
    - Dst: asprintf
      Src: /src/vlc/modules/meta_engine/taglib.cpp:535,1
    - Dst: ASF::Picture::type
      Src: /src/vlc/modules/meta_engine/taglib.cpp:535,1
    - Dst: unlikely
      Src: /src/vlc/modules/meta_engine/taglib.cpp:539,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/meta_engine/taglib.cpp:542,1
    - Dst: vlc_input_attachment_New
      Src: /src/vlc/modules/meta_engine/taglib.cpp:545,1
    - Dst: TAB_APPEND_CAST
      Src: /src/vlc/modules/meta_engine/taglib.cpp:548,1
    - Dst: asprintf
      Src: /src/vlc/modules/meta_engine/taglib.cpp:552,1
    - Dst: vlc_meta_SetArtURL
      Src: /src/vlc/modules/meta_engine/taglib.cpp:554,1
    - Dst: free
      Src: /src/vlc/modules/meta_engine/taglib.cpp:555,1
    - Dst: free
      Src: /src/vlc/modules/meta_engine/taglib.cpp:557,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - tag
    - p_demux_meta
    - p_meta
    argTypes:
    - ASF::Tag*
    - demux_meta_t*
    - vlc_meta_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 559
    functionName: ReadMetaFromASF
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 0
    functionsReached:
    - ByteVector::size
    - ASF::Picture::picture
    - SET_EXTRA
    - ASF::AttributeList::end
    - vlc_meta_SetCompilation
    - ASF::Picture::mimeType
    - asprintf
    - ByteVector::data
    - ASF::AttributeList::begin
    - msg_Dbg
    - strdup
    - ASF::Tag*::attributeListMap
    - ASF::Picture::type
    - ASF::Picture::description
    - TAB_APPEND_CAST
    - vlc_input_attachment_New
    - toPicture
    - free
    - vlc_meta_SetArtURL
    - SET
    - unlikely
    - front
    linkageType: ''
    returnType: void
    signature: void ReadMetaFromASF( ASF::Tag* tag, demux_meta_t* p_demux_meta, vlc_meta_t*
      p_meta )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - keyName
    - ','
    - metaName
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 500
    functionName: SET
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET( keyName, metaName )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - keyName
    - ','
    - metaName
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 507
    functionName: SET_EXTRA
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_EXTRA( keyName, metaName )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/vlc/modules/meta_engine/taglib.cpp:570,1
    - Dst: vlc_input_attachment_New
      Src: /src/vlc/modules/meta_engine/taglib.cpp:574,1
    - Dst: String::toCString
      Src: /src/vlc/modules/meta_engine/taglib.cpp:575,1
    - Dst: String::toCString
      Src: /src/vlc/modules/meta_engine/taglib.cpp:576,1
    - Dst: free
      Src: /src/vlc/modules/meta_engine/taglib.cpp:578,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/meta_engine/taglib.cpp:582,1
    - Dst: TAB_APPEND_CAST
      Src: /src/vlc/modules/meta_engine/taglib.cpp:585,1
    - Dst: asprintf
      Src: /src/vlc/modules/meta_engine/taglib.cpp:592,1
    - Dst: vlc_meta_SetArtURL
      Src: /src/vlc/modules/meta_engine/taglib.cpp:595,1
    - Dst: free
      Src: /src/vlc/modules/meta_engine/taglib.cpp:596,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 6
    argNames:
    - p_demux_meta
    - p_meta
    - mimeType
    - description
    - p_data
    - i_data
    argTypes:
    - demux_meta_t*
    - vlc_meta_t*
    - String
    - String
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 561
    functionDepth: 2
    functionLinenumber: 561
    functionLinenumberEnd: 598
    functionName: AddAPICToAttachments
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 0
    functionsReached:
    - asprintf
    - String::toCString
    - TAB_APPEND_CAST
    - vlc_input_attachment_New
    - free
    - msg_Dbg
    - vlc_meta_SetArtURL
    linkageType: ''
    returnType: void
    signature: "void AddAPICToAttachments( demux_meta_t* p_demux_meta,\n                                  vlc_meta_t*
      p_meta,\n                                  const String &mimeType,\n                                  const
      String &description,\n                                  const char *p_data,\n
      \                                 size_t i_data,\n                                  bool
      b_default = false )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: L::begin
      Src: /src/vlc/modules/meta_engine/taglib.cpp:612,1
    - Dst: L::end
      Src: /src/vlc/modules/meta_engine/taglib.cpp:612,1
    - Dst: static_cast<const T*>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:614,1
    - Dst: T*::type
      Src: /src/vlc/modules/meta_engine/taglib.cpp:617,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/meta_engine/taglib.cpp:617,1
    - Dst: T*::type
      Src: /src/vlc/modules/meta_engine/taglib.cpp:617,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - list
    argTypes:
    - L
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 625
    functionName: getDefaultPic
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - static_cast<const T*>
    - L::end
    - L::begin
    - T*::type
    linkageType: ''
    returnType: T
    signature: T * getDefaultPic(const L &list)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getDefaultPic
      Src: /src/vlc/modules/meta_engine/taglib.cpp:631,1
    - Dst: ID3v2::FrameList::begin
      Src: /src/vlc/modules/meta_engine/taglib.cpp:633,1
    - Dst: ID3v2::FrameList::end
      Src: /src/vlc/modules/meta_engine/taglib.cpp:633,1
    - Dst: dynamic_cast<const ID3v2::AttachedPictureFrame*>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:636,1
    - Dst: ID3v2::AttachedPictureFrame*::description
      Src: /src/vlc/modules/meta_engine/taglib.cpp:640,1
    - Dst: ID3v2::AttachedPictureFrame*::mimeType
      Src: /src/vlc/modules/meta_engine/taglib.cpp:641,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/meta_engine/taglib.cpp:649,1
    - Dst: AddAPICToAttachments
      Src: /src/vlc/modules/meta_engine/taglib.cpp:653,1
    - Dst: ID3v2::AttachedPictureFrame*::picture
      Src: /src/vlc/modules/meta_engine/taglib.cpp:655,1
    - Dst: ID3v2::AttachedPictureFrame*::picture
      Src: /src/vlc/modules/meta_engine/taglib.cpp:655,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - list
    - p_demux_meta
    - p_meta
    argTypes:
    - ID3v2::FrameList
    - demux_meta_t*
    - vlc_meta_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 627
    functionDepth: 3
    functionLinenumber: 627
    functionLinenumberEnd: 658
    functionName: ProcessAPICListFromId3v2
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<const ID3v2::AttachedPictureFrame*>
    - ID3v2::AttachedPictureFrame*::picture
    - ID3v2::FrameList::end
    - getDefaultPic
    - ID3v2::AttachedPictureFrame*::mimeType
    - ID3v2::FrameList::begin
    - AddAPICToAttachments
    - msg_Warn
    - ID3v2::AttachedPictureFrame*::description
    linkageType: ''
    returnType: void
    signature: "void ProcessAPICListFromId3v2( const ID3v2::FrameList &list,\n                                      demux_meta_t*
      p_demux_meta, vlc_meta_t* p_meta )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDefaultPic
      Src: /src/vlc/modules/meta_engine/taglib.cpp:664,1
    - Dst: List< FLAC::Picture * >::begin
      Src: /src/vlc/modules/meta_engine/taglib.cpp:666,1
    - Dst: List< FLAC::Picture * >::end
      Src: /src/vlc/modules/meta_engine/taglib.cpp:666,1
    - Dst: static_cast<const FLAC::Picture*>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:668,1
    - Dst: AddAPICToAttachments
      Src: /src/vlc/modules/meta_engine/taglib.cpp:671,1
    - Dst: FLAC::Picture*::mimeType
      Src: /src/vlc/modules/meta_engine/taglib.cpp:672,1
    - Dst: FLAC::Picture*::description
      Src: /src/vlc/modules/meta_engine/taglib.cpp:672,1
    - Dst: FLAC::Picture*::data
      Src: /src/vlc/modules/meta_engine/taglib.cpp:673,1
    - Dst: FLAC::Picture*::data
      Src: /src/vlc/modules/meta_engine/taglib.cpp:673,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - list
    - p_demux_meta
    - p_meta
    argTypes:
    - List< FLAC::Picture * >
    - demux_meta_t*
    - vlc_meta_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 660
    functionDepth: 3
    functionLinenumber: 660
    functionLinenumberEnd: 676
    functionName: ProcessAPICListFromFLAC
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 0
    functionsReached:
    - List< FLAC::Picture * >::end
    - FLAC::Picture*::description
    - getDefaultPic
    - List< FLAC::Picture * >::begin
    - AddAPICToAttachments
    - FLAC::Picture*::data
    - FLAC::Picture*::mimeType
    - static_cast<const FLAC::Picture*>
    linkageType: ''
    returnType: void
    signature: "void ProcessAPICListFromFLAC( const List< FLAC::Picture * > &list,\n
      \                                    demux_meta_t* p_demux_meta, vlc_meta_t*
      p_meta )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:691,1
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:692,1
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:693,1
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:694,1
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:695,1
    - Dst: SETINT
      Src: /src/vlc/modules/meta_engine/taglib.cpp:696,1
    - Dst: SETINT
      Src: /src/vlc/modules/meta_engine/taglib.cpp:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - tag
    - dest
    argTypes:
    - Tag*
    - vlc_meta_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 701
    functionName: ReadMetaFromBasicTag
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 0
    functionsReached:
    - SET
    - SETINT
    linkageType: ''
    returnType: void
    signature: void ReadMetaFromBasicTag(const Tag* tag, vlc_meta_t *dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - accessor
    - ','
    - meta
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 683
    functionName: SET
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET( accessor, meta )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - accessor
    - ','
    - meta
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 690
    functionName: SETINT
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SETINT( accessor, meta )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ID3v2::Tag*::frameListMap
      Src: /src/vlc/modules/meta_engine/taglib.cpp:712,1
    - Dst: ID3v2::FrameList::begin
      Src: /src/vlc/modules/meta_engine/taglib.cpp:714,1
    - Dst: ID3v2::FrameList::end
      Src: /src/vlc/modules/meta_engine/taglib.cpp:714,1
    - Dst: dynamic_cast<ID3v2::UniqueFileIdentifierFrame*>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:717,1
    - Dst: ID3v2::UniqueFileIdentifierFrame*::owner
      Src: /src/vlc/modules/meta_engine/taglib.cpp:720,1
    - Dst: strcmp
      Src: /src/vlc/modules/meta_engine/taglib.cpp:721,1
    - Dst: std::min<unsigned>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:727,1
    - Dst: ID3v2::UniqueFileIdentifierFrame*::identifier
      Src: /src/vlc/modules/meta_engine/taglib.cpp:727,1
    - Dst: strncpy
      Src: /src/vlc/modules/meta_engine/taglib.cpp:728,1
    - Dst: ID3v2::UniqueFileIdentifierFrame*::identifier
      Src: /src/vlc/modules/meta_engine/taglib.cpp:728,1
    - Dst: vlc_meta_SetTrackID
      Src: /src/vlc/modules/meta_engine/taglib.cpp:730,1
    - Dst: ID3v2::Tag*::frameListMap
      Src: /src/vlc/modules/meta_engine/taglib.cpp:735,1
    - Dst: ID3v2::FrameList::begin
      Src: /src/vlc/modules/meta_engine/taglib.cpp:736,1
    - Dst: ID3v2::FrameList::end
      Src: /src/vlc/modules/meta_engine/taglib.cpp:736,1
    - Dst: dynamic_cast<ID3v2::UserTextIdentificationFrame*>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:739,1
    - Dst: strcmp
      Src: /src/vlc/modules/meta_engine/taglib.cpp:742,1
    - Dst: ID3v2::UserTextIdentificationFrame*::description
      Src: /src/vlc/modules/meta_engine/taglib.cpp:742,1
    - Dst: vlc_meta_Set
      Src: /src/vlc/modules/meta_engine/taglib.cpp:744,1
    - Dst: ID3v2::UserTextIdentificationFrame*::fieldList
      Src: /src/vlc/modules/meta_engine/taglib.cpp:744,1
    - Dst: strcmp
      Src: /src/vlc/modules/meta_engine/taglib.cpp:747,1
    - Dst: ID3v2::UserTextIdentificationFrame*::description
      Src: /src/vlc/modules/meta_engine/taglib.cpp:747,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/meta_engine/taglib.cpp:749,1
    - Dst: ID3v2::UserTextIdentificationFrame*::fieldList
      Src: /src/vlc/modules/meta_engine/taglib.cpp:749,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/meta_engine/taglib.cpp:752,1
    - Dst: ID3v2::UserTextIdentificationFrame*::description
      Src: /src/vlc/modules/meta_engine/taglib.cpp:752,1
    - Dst: ID3v2::UserTextIdentificationFrame*::fieldList
      Src: /src/vlc/modules/meta_engine/taglib.cpp:753,1
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:770,1
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:771,1
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:772,1
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:773,1
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:774,1
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:775,1
    - Dst: SET_EXTRA
      Src: /src/vlc/modules/meta_engine/taglib.cpp:776,1
    - Dst: ID3v2::Tag*::frameListMap
      Src: /src/vlc/modules/meta_engine/taglib.cpp:782,1
    - Dst: ID3v2::FrameList::isEmpty
      Src: /src/vlc/modules/meta_engine/taglib.cpp:783,1
    - Dst: ExtractCoupleNumberValues
      Src: /src/vlc/modules/meta_engine/taglib.cpp:785,1
    - Dst: ID3v2::FrameList::begin
      Src: /src/vlc/modules/meta_engine/taglib.cpp:785,1
    - Dst: toString
      Src: /src/vlc/modules/meta_engine/taglib.cpp:785,1
    - Dst: ID3v2::Tag*::frameListMap
      Src: /src/vlc/modules/meta_engine/taglib.cpp:790,1
    - Dst: ID3v2::FrameList::isEmpty
      Src: /src/vlc/modules/meta_engine/taglib.cpp:791,1
    - Dst: ExtractCoupleNumberValues
      Src: /src/vlc/modules/meta_engine/taglib.cpp:793,1
    - Dst: ID3v2::FrameList::begin
      Src: /src/vlc/modules/meta_engine/taglib.cpp:793,1
    - Dst: toString
      Src: /src/vlc/modules/meta_engine/taglib.cpp:793,1
    - Dst: ID3v2::Tag*::frameListMap
      Src: /src/vlc/modules/meta_engine/taglib.cpp:798,1
    - Dst: ID3v2::FrameList::isEmpty
      Src: /src/vlc/modules/meta_engine/taglib.cpp:799,1
    - Dst: ProcessAPICListFromId3v2
      Src: /src/vlc/modules/meta_engine/taglib.cpp:800,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - tag
    - p_demux_meta
    - p_meta
    argTypes:
    - ID3v2::Tag*
    - demux_meta_t*
    - vlc_meta_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 709
    functionDepth: 4
    functionLinenumber: 709
    functionLinenumberEnd: 801
    functionName: ReadMetaFromId3v2
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 0
    functionsReached:
    - vlc_meta_Set
    - SET_EXTRA
    - dynamic_cast<ID3v2::UniqueFileIdentifierFrame*>
    - ID3v2::Tag*::frameListMap
    - std::min<unsigned>
    - dynamic_cast<ID3v2::UserTextIdentificationFrame*>
    - vlc_meta_SetTrackID
    - ID3v2::FrameList::end
    - ExtractCoupleNumberValues
    - ID3v2::FrameList::begin
    - ID3v2::FrameList::isEmpty
    - ProcessAPICListFromId3v2
    - ID3v2::UserTextIdentificationFrame*::description
    - strcmp
    - ID3v2::UniqueFileIdentifierFrame*::identifier
    - strncpy
    - vlc_meta_SetExtra
    - ID3v2::UserTextIdentificationFrame*::fieldList
    - toString
    - ID3v2::UniqueFileIdentifierFrame*::owner
    - SET
    linkageType: ''
    returnType: void
    signature: void ReadMetaFromId3v2( ID3v2::Tag* tag, demux_meta_t* p_demux_meta,
      vlc_meta_t* p_meta )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tagName
    - ','
    - metaName
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 762
    functionName: SET
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET( tagName, metaName )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tagName
    - ','
    - metaName
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 768
    functionName: SET_EXTRA
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_EXTRA( tagName, metaName )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:826,1
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:827,1
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:828,1
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:829,1
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:830,1
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:831,1
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:832,1
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:833,1
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:834,1
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:835,1
    - Dst: SET_EXTRA
      Src: /src/vlc/modules/meta_engine/taglib.cpp:837,1
    - Dst: Ogg::XiphComment*::fieldListMap
      Src: /src/vlc/modules/meta_engine/taglib.cpp:841,1
    - Dst: StringList::isEmpty
      Src: /src/vlc/modules/meta_engine/taglib.cpp:842,1
    - Dst: ExtractCoupleNumberValues
      Src: /src/vlc/modules/meta_engine/taglib.cpp:844,1
    - Dst: StringList::begin
      Src: /src/vlc/modules/meta_engine/taglib.cpp:844,1
    - Dst: toCString
      Src: /src/vlc/modules/meta_engine/taglib.cpp:844,1
    - Dst: Ogg::XiphComment*::fieldListMap
      Src: /src/vlc/modules/meta_engine/taglib.cpp:850,1
    - Dst: StringList::isEmpty
      Src: /src/vlc/modules/meta_engine/taglib.cpp:851,1
    - Dst: Ogg::XiphComment*::fieldListMap
      Src: /src/vlc/modules/meta_engine/taglib.cpp:853,1
    - Dst: StringList::isEmpty
      Src: /src/vlc/modules/meta_engine/taglib.cpp:854,1
    - Dst: vlc_meta_SetTrackTotal
      Src: /src/vlc/modules/meta_engine/taglib.cpp:855,1
    - Dst: StringList::begin
      Src: /src/vlc/modules/meta_engine/taglib.cpp:855,1
    - Dst: toCString
      Src: /src/vlc/modules/meta_engine/taglib.cpp:855,1
    - Dst: vlc_meta_SetTrackTotal
      Src: /src/vlc/modules/meta_engine/taglib.cpp:859,1
    - Dst: StringList::begin
      Src: /src/vlc/modules/meta_engine/taglib.cpp:859,1
    - Dst: toCString
      Src: /src/vlc/modules/meta_engine/taglib.cpp:859,1
    - Dst: ProcessAPICListFromFLAC
      Src: /src/vlc/modules/meta_engine/taglib.cpp:864,1
    - Dst: Ogg::XiphComment*::pictureList
      Src: /src/vlc/modules/meta_engine/taglib.cpp:864,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - tag
    - p_demux_meta
    - p_meta
    argTypes:
    - Ogg::XiphComment*
    - demux_meta_t*
    - vlc_meta_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 809
    functionDepth: 4
    functionLinenumber: 809
    functionLinenumberEnd: 865
    functionName: ReadMetaFromXiph
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 0
    functionsReached:
    - StringList::begin
    - SET_EXTRA
    - ExtractCoupleNumberValues
    - Ogg::XiphComment*::fieldListMap
    - vlc_meta_SetTrackTotal
    - Ogg::XiphComment*::pictureList
    - ProcessAPICListFromFLAC
    - SET
    - StringList::isEmpty
    - toCString
    linkageType: ''
    returnType: void
    signature: void ReadMetaFromXiph( Ogg::XiphComment* tag, demux_meta_t* p_demux_meta,
      vlc_meta_t* p_meta )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - keyName
    - ','
    - metaName
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 818
    functionName: SET
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET( keyName, metaName )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - keyName
    - ','
    - metaName
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 825
    functionName: SET_EXTRA
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_EXTRA( keyName, metaName )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:889,1
    - Dst: SET_EXTRA
      Src: /src/vlc/modules/meta_engine/taglib.cpp:890,1
    - Dst: MP4::Tag*::contains
      Src: /src/vlc/modules/meta_engine/taglib.cpp:895,1
    - Dst: vlc_meta_SetCompilation
      Src: /src/vlc/modules/meta_engine/taglib.cpp:896,1
    - Dst: MP4::Tag*::item
      Src: /src/vlc/modules/meta_engine/taglib.cpp:896,1
    - Dst: MP4::Tag*::contains
      Src: /src/vlc/modules/meta_engine/taglib.cpp:898,1
    - Dst: MP4::Tag*::item
      Src: /src/vlc/modules/meta_engine/taglib.cpp:900,1
    - Dst: format
      Src: /src/vlc/modules/meta_engine/taglib.cpp:901,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/meta_engine/taglib.cpp:903,1
    - Dst: data
      Src: /src/vlc/modules/meta_engine/taglib.cpp:904,1
    - Dst: vlc_input_attachment_New
      Src: /src/vlc/modules/meta_engine/taglib.cpp:907,1
    - Dst: data
      Src: /src/vlc/modules/meta_engine/taglib.cpp:908,1
    - Dst: data
      Src: /src/vlc/modules/meta_engine/taglib.cpp:908,1
    - Dst: TAB_APPEND_CAST
      Src: /src/vlc/modules/meta_engine/taglib.cpp:911,1
    - Dst: vlc_meta_SetArtURL
      Src: /src/vlc/modules/meta_engine/taglib.cpp:914,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - tag
    - p_demux_meta
    - p_meta
    argTypes:
    - MP4::Tag*
    - demux_meta_t*
    - vlc_meta_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 873
    functionDepth: 2
    functionLinenumber: 873
    functionLinenumberEnd: 917
    functionName: ReadMetaFromMP4
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 0
    functionsReached:
    - MP4::Tag*::item
    - SET_EXTRA
    - TAB_APPEND_CAST
    - vlc_meta_SetCompilation
    - data
    - format
    - vlc_input_attachment_New
    - MP4::Tag*::contains
    - msg_Dbg
    - vlc_meta_SetArtURL
    - SET
    linkageType: ''
    returnType: void
    signature: void ReadMetaFromMP4( MP4::Tag* tag, demux_meta_t *p_demux_meta, vlc_meta_t*
      p_meta )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - keyName
    - ','
    - metaName
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 882
    functionName: SET
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET( keyName, metaName )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - keyName
    - ','
    - metaName
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 888
    functionName: SET_EXTRA
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_EXTRA( keyName, metaName )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/vlc/modules/meta_engine/taglib.cpp:921,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/meta_engine/taglib.cpp:930,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/meta_engine/taglib.cpp:931,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - psz_uri
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 934
    functionName: isSchemeCompatible
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 0
    functionsReached:
    - strncasecmp
    - strstr
    - ARRAY_SIZE
    linkageType: ''
    returnType: bool
    signature: bool isSchemeCompatible( const char *psz_uri )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RIFF::WAV::File*::hasID3v2Tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:938,1
    - Dst: RIFF::WAV::File*::hasInfoTag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:938,1
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/meta_engine/taglib.cpp:941,1
    - Dst: TAB_INIT
      Src: /src/vlc/modules/meta_engine/taglib.cpp:945,1
    - Dst: RIFF::WAV::File*::hasInfoTag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:947,1
    - Dst: ReadMetaFromBasicTag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:948,1
    - Dst: RIFF::WAV::File*::InfoTag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:948,1
    - Dst: RIFF::WAV::File*::hasID3v2Tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:949,1
    - Dst: ReadMetaFromBasicTag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:952,1
    - Dst: RIFF::WAV::File*::ID3v2Tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:952,1
    - Dst: ReadMetaFromId3v2
      Src: /src/vlc/modules/meta_engine/taglib.cpp:953,1
    - Dst: RIFF::WAV::File*::ID3v2Tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:953,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - wav
    - demux_meta
    argTypes:
    - RIFF::WAV::File*
    - demux_meta_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 936
    functionDepth: 5
    functionLinenumber: 936
    functionLinenumberEnd: 956
    functionName: ReadWAVMeta
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 0
    functionsReached:
    - RIFF::WAV::File*::hasInfoTag
    - TAB_INIT
    - RIFF::WAV::File*::hasID3v2Tag
    - vlc_meta_New
    - ReadMetaFromId3v2
    - ReadMetaFromBasicTag
    - RIFF::WAV::File*::InfoTag
    - RIFF::WAV::File*::ID3v2Tag
    linkageType: ''
    returnType: int
    signature: int ReadWAVMeta( const RIFF::WAV::File *wav, demux_meta_t *demux_meta
      )
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: input_item_GetURI
      Src: /src/vlc/modules/meta_engine/taglib.cpp:971,1
    - Dst: unlikely
      Src: /src/vlc/modules/meta_engine/taglib.cpp:972,1
    - Dst: isSchemeCompatible
      Src: /src/vlc/modules/meta_engine/taglib.cpp:975,1
    - Dst: free
      Src: /src/vlc/modules/meta_engine/taglib.cpp:977,1
    - Dst: FileRef::addFileTypeResolver
      Src: /src/vlc/modules/meta_engine/taglib.cpp:983,1
    - Dst: vlc_access_NewMRL
      Src: /src/vlc/modules/meta_engine/taglib.cpp:987,1
    - Dst: free
      Src: /src/vlc/modules/meta_engine/taglib.cpp:988,1
    - Dst: vlc_stream_FilterNew
      Src: /src/vlc/modules/meta_engine/taglib.cpp:991,1
    - Dst: FileRef::isNull
      Src: /src/vlc/modules/meta_engine/taglib.cpp:999,1
    - Dst: dynamic_cast<RIFF::WAV::File*>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1005,1
    - Dst: FileRef::file
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1005,1
    - Dst: ReadWAVMeta
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1007,1
    - Dst: FileRef::tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1009,1
    - Dst: FileRef::tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1009,1
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1012,1
    - Dst: ReadMetaFromBasicTag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1017,1
    - Dst: FileRef::tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1017,1
    - Dst: TAB_INIT
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1019,1
    - Dst: dynamic_cast<APE::File*>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1021,1
    - Dst: FileRef::file
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1021,1
    - Dst: APE::File*::APETag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1023,1
    - Dst: ReadMetaFromAPE
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1024,1
    - Dst: APE::File*::APETag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1024,1
    - Dst: dynamic_cast<ASF::File*>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1027,1
    - Dst: FileRef::file
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1027,1
    - Dst: ASF::File*::tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1029,1
    - Dst: ReadMetaFromASF
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1030,1
    - Dst: ASF::File*::tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1030,1
    - Dst: dynamic_cast<FLAC::File*>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1033,1
    - Dst: FileRef::file
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1033,1
    - Dst: FLAC::File*::ID3v2Tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1035,1
    - Dst: ReadMetaFromId3v2
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1036,1
    - Dst: FLAC::File*::ID3v2Tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1036,1
    - Dst: FLAC::File*::xiphComment
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1037,1
    - Dst: ReadMetaFromXiph
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1038,1
    - Dst: FLAC::File*::xiphComment
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1038,1
    - Dst: ProcessAPICListFromFLAC
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1039,1
    - Dst: FLAC::File*::pictureList
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1039,1
    - Dst: dynamic_cast<MP4::File*>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1041,1
    - Dst: FileRef::file
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1041,1
    - Dst: MP4::File*::tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1043,1
    - Dst: ReadMetaFromMP4
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1044,1
    - Dst: MP4::File*::tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1044,1
    - Dst: dynamic_cast<MPC::File*>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1046,1
    - Dst: FileRef::file
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1046,1
    - Dst: MPC::File*::APETag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1048,1
    - Dst: ReadMetaFromAPE
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1049,1
    - Dst: MPC::File*::APETag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1049,1
    - Dst: dynamic_cast<MPEG::File*>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1051,1
    - Dst: FileRef::file
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1051,1
    - Dst: MPEG::File*::APETag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1053,1
    - Dst: ReadMetaFromAPE
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1054,1
    - Dst: MPEG::File*::APETag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1054,1
    - Dst: MPEG::File*::ID3v2Tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1055,1
    - Dst: ReadMetaFromId3v2
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1056,1
    - Dst: MPEG::File*::ID3v2Tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1056,1
    - Dst: dynamic_cast<Ogg::File*>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1058,1
    - Dst: FileRef::file
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1058,1
    - Dst: dynamic_cast<Ogg::FLAC::File*>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1060,1
    - Dst: FileRef::file
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1060,1
    - Dst: ReadMetaFromXiph
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1061,1
    - Dst: Ogg::FLAC::File*::tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1061,1
    - Dst: dynamic_cast<Ogg::Speex::File*>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1062,1
    - Dst: FileRef::file
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1062,1
    - Dst: ReadMetaFromXiph
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1063,1
    - Dst: Ogg::Speex::File*::tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1063,1
    - Dst: dynamic_cast<Ogg::Vorbis::File*>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1064,1
    - Dst: FileRef::file
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1064,1
    - Dst: ReadMetaFromXiph
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1065,1
    - Dst: Ogg::Vorbis::File*::tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1065,1
    - Dst: dynamic_cast<Ogg::Opus::File*>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1067,1
    - Dst: FileRef::file
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1067,1
    - Dst: ReadMetaFromXiph
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1068,1
    - Dst: tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1068,1
    - Dst: dynamic_cast<RIFF::AIFF::File*>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1071,1
    - Dst: FileRef::file
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1071,1
    - Dst: ReadMetaFromId3v2
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1073,1
    - Dst: RIFF::AIFF::File*::tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1073,1
    - Dst: dynamic_cast<TrueAudio::File*>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1075,1
    - Dst: FileRef::file
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1075,1
    - Dst: TrueAudio::File*::ID3v2Tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1077,1
    - Dst: ReadMetaFromId3v2
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1078,1
    - Dst: TrueAudio::File*::ID3v2Tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1078,1
    - Dst: dynamic_cast<WavPack::File*>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1080,1
    - Dst: FileRef::file
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1080,1
    - Dst: WavPack::File*::APETag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1082,1
    - Dst: ReadMetaFromAPE
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1083,1
    - Dst: WavPack::File*::APETag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1083,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 78
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 963
    functionDepth: 6
    functionLinenumber: 963
    functionLinenumberEnd: 1087
    functionName: ReadMeta
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 0
    functionsReached:
    - ReadWAVMeta
    - dynamic_cast<RIFF::WAV::File*>
    - dynamic_cast<Ogg::File*>
    - Ogg::Vorbis::File*::tag
    - dynamic_cast<RIFF::AIFF::File*>
    - ReadMetaFromAPE
    - isSchemeCompatible
    - ReadMetaFromASF
    - MP4::File*::tag
    - dynamic_cast<MPEG::File*>
    - dynamic_cast<Ogg::FLAC::File*>
    - dynamic_cast<ASF::File*>
    - dynamic_cast<MP4::File*>
    - Ogg::Speex::File*::tag
    - vlc_access_NewMRL
    - Ogg::FLAC::File*::tag
    - vlc_meta_New
    - MPEG::File*::APETag
    - TrueAudio::File*::ID3v2Tag
    - WavPack::File*::APETag
    - APE::File*::APETag
    - ReadMetaFromXiph
    - ReadMetaFromId3v2
    - dynamic_cast<MPC::File*>
    - ReadMetaFromMP4
    - MPEG::File*::ID3v2Tag
    - input_item_GetURI
    - MPC::File*::APETag
    - dynamic_cast<Ogg::Speex::File*>
    - FileRef::file
    - FileRef::addFileTypeResolver
    - FileRef::isNull
    - dynamic_cast<Ogg::Vorbis::File*>
    - FLAC::File*::pictureList
    - vlc_stream_FilterNew
    - TAB_INIT
    - dynamic_cast<Ogg::Opus::File*>
    - tag
    - unlikely
    - ReadMetaFromBasicTag
    - RIFF::AIFF::File*::tag
    - dynamic_cast<TrueAudio::File*>
    - free
    - FileRef::tag
    - FLAC::File*::xiphComment
    - dynamic_cast<WavPack::File*>
    - dynamic_cast<FLAC::File*>
    - FLAC::File*::ID3v2Tag
    - ASF::File*::tag
    - dynamic_cast<APE::File*>
    - ProcessAPICListFromFLAC
    linkageType: ''
    returnType: int
    signature: int ReadMeta( vlc_object_t* p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WRITE
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1108,1
    - Dst: WRITE
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1109,1
    - Dst: WRITE
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1110,1
    - Dst: WRITE
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - tag
    - p_item
    argTypes:
    - APE::Tag*
    - input_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1095
    functionDepth: 1
    functionLinenumber: 1095
    functionLinenumberEnd: 1113
    functionName: WriteMetaToAPE
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 0
    functionsReached:
    - WRITE
    linkageType: ''
    returnType: void
    signature: void WriteMetaToAPE( APE::Tag* tag, input_item_t* p_item )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - metaName
    - ','
    - keyName
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1107
    functionName: WRITE
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE( metaName, keyName )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WRITE
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1137,1
    - Dst: WRITE
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1138,1
    - Dst: WRITE
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1139,1
    - Dst: WRITE
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1140,1
    - Dst: ID3v2::Tag*::frameListMap
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1144,1
    - Dst: ID3v2::UserTextIdentificationFrame::UserTextIdentificationFrame
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1166,1
    - Dst: setDescription
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1167,1
    - Dst: setText
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1168,1
    - Dst: free
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1169,1
    - Dst: ID3v2::Tag*::addFrame
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - tag
    - p_item
    argTypes:
    - ID3v2::Tag*
    - input_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1121
    functionDepth: 1
    functionLinenumber: 1121
    functionLinenumberEnd: 1172
    functionName: WriteMetaToId3v2
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 0
    functionsReached:
    - ID3v2::UserTextIdentificationFrame::UserTextIdentificationFrame
    - WRITE
    - free
    - ID3v2::Tag*::frameListMap
    - ID3v2::Tag*::addFrame
    - setText
    - setDescription
    linkageType: ''
    returnType: void
    signature: void WriteMetaToId3v2( ID3v2::Tag* tag, input_item_t* p_item )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - metaName
    - ','
    - tagName
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1136
    functionName: WRITE
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE( metaName, tagName )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - metaName
    - ','
    - txxName
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1163
    functionName: WRITETXXX
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITETXXX( metaName, txxName )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1195
    functionName: if
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 3
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void if( p_file == NULL )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1200,1
    - Dst: fclose
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1203
    functionName: if
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 3
    functionsReached:
    - free
    - fclose
    linkageType: ''
    returnType: void
    signature: void if( vlc_stat( psz_path, &st ) == -1 )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1213
    functionName: ( file_size > 10485760 )
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 0
    functionsReached:
    - fclose
    linkageType: ''
    returnType: if
    signature: if ( file_size > 10485760 )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1220
    functionName: if
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 3
    functionsReached:
    - fclose
    linkageType: ''
    returnType: void
    signature: void if( p_buffer == NULL )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1227
    functionName: ( fread( p_buffer, 1, file_size, p_file ) != (unsigned)file_size
      )
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 0
    functionsReached:
    - fclose
    linkageType: ''
    returnType: if
    signature: if ( fread( p_buffer, 1, file_size, p_file ) != (unsigned)file_size
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TagLib::ID3v2::AttachedPictureFrame::AttachedPictureFrame
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1237,1
    - Dst: addFrame
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1239
    functionName: ( frames.isEmpty() )
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 0
    functionsReached:
    - TagLib::ID3v2::AttachedPictureFrame::AttachedPictureFrame
    - addFrame
    linkageType: ''
    returnType: if
    signature: if ( frames.isEmpty() )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ID3v2::AttachedPictureFrame *>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1242,1
    - Dst: back
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1243
    functionName: ''
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 5857
    functionsReached:
    - back
    - static_cast<ID3v2::AttachedPictureFrame *>
    linkageType: ''
    returnType: else
    signature: 'else '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WRITE
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1268,1
    - Dst: WRITE
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1269,1
    - Dst: WRITE
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1270,1
    - Dst: WRITE
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1271,1
    - Dst: WRITE
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1272,1
    - Dst: WRITE
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1273,1
    - Dst: WRITE
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1274,1
    - Dst: WRITE
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1275,1
    - Dst: WRITE
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - tag
    - p_item
    argTypes:
    - Ogg::XiphComment*
    - input_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1255
    functionDepth: 1
    functionLinenumber: 1255
    functionLinenumberEnd: 1278
    functionName: WriteMetaToXiph
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 0
    functionsReached:
    - WRITE
    linkageType: ''
    returnType: void
    signature: void WriteMetaToXiph( Ogg::XiphComment* tag, input_item_t* p_item )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - metaName
    - ','
    - keyName
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1267
    functionName: WRITE
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE( metaName, keyName )
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1296,1
    - Dst: ToWide
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1301,1
    - Dst: FileRef
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1304,1
    - Dst: free
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1305,1
    - Dst: FileRef
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1307,1
    - Dst: FileRef::isNull
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1310,1
    - Dst: FileRef::tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1310,1
    - Dst: FileRef::file
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1310,1
    - Dst: msg_Err
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1312,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1317,1
    - Dst: FileRef::tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1319,1
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1334,1
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1335,1
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1336,1
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1337,1
    - Dst: SET
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1338,1
    - Dst: input_item_GetDate
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1342,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1343,1
    - Dst: Tag*::setYear
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1343,1
    - Dst: atoi
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1343,1
    - Dst: Tag*::setYear
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1344,1
    - Dst: free
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1345,1
    - Dst: input_item_GetTrackNum
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1347,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1348,1
    - Dst: Tag*::setTrack
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1348,1
    - Dst: atoi
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1348,1
    - Dst: Tag*::setTrack
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1349,1
    - Dst: free
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1350,1
    - Dst: dynamic_cast<APE::File*>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1354,1
    - Dst: FileRef::file
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1354,1
    - Dst: APE::File*::APETag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1356,1
    - Dst: WriteMetaToAPE
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1357,1
    - Dst: APE::File*::APETag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1357,1
    - Dst: dynamic_cast<FLAC::File*>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1360,1
    - Dst: FileRef::file
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1360,1
    - Dst: FLAC::File*::ID3v2Tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1362,1
    - Dst: WriteMetaToId3v2
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1363,1
    - Dst: FLAC::File*::ID3v2Tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1363,1
    - Dst: FLAC::File*::xiphComment
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1364,1
    - Dst: WriteMetaToXiph
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1365,1
    - Dst: FLAC::File*::xiphComment
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1365,1
    - Dst: dynamic_cast<MPC::File*>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1367,1
    - Dst: FileRef::file
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1367,1
    - Dst: MPC::File*::APETag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1369,1
    - Dst: WriteMetaToAPE
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1370,1
    - Dst: MPC::File*::APETag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1370,1
    - Dst: dynamic_cast<MPEG::File*>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1372,1
    - Dst: FileRef::file
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1372,1
    - Dst: MPEG::File*::ID3v2Tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1374,1
    - Dst: WriteMetaToId3v2
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1375,1
    - Dst: MPEG::File*::ID3v2Tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1375,1
    - Dst: MPEG::File*::APETag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1376,1
    - Dst: WriteMetaToAPE
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1377,1
    - Dst: MPEG::File*::APETag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1377,1
    - Dst: dynamic_cast<Ogg::File*>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1379,1
    - Dst: FileRef::file
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1379,1
    - Dst: dynamic_cast<Ogg::FLAC::File*>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1381,1
    - Dst: FileRef::file
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1381,1
    - Dst: WriteMetaToXiph
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1382,1
    - Dst: Ogg::FLAC::File*::tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1382,1
    - Dst: dynamic_cast<Ogg::Speex::File*>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1383,1
    - Dst: FileRef::file
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1383,1
    - Dst: WriteMetaToXiph
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1384,1
    - Dst: Ogg::Speex::File*::tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1384,1
    - Dst: dynamic_cast<Ogg::Vorbis::File*>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1385,1
    - Dst: FileRef::file
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1385,1
    - Dst: WriteMetaToXiph
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1386,1
    - Dst: Ogg::Vorbis::File*::tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1386,1
    - Dst: dynamic_cast<Ogg::Opus::File*>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1388,1
    - Dst: FileRef::file
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1388,1
    - Dst: WriteMetaToXiph
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1389,1
    - Dst: tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1389,1
    - Dst: dynamic_cast<RIFF::File*>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1392,1
    - Dst: FileRef::file
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1392,1
    - Dst: dynamic_cast<RIFF::AIFF::File*>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1394,1
    - Dst: FileRef::file
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1394,1
    - Dst: WriteMetaToId3v2
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1395,1
    - Dst: RIFF::AIFF::File*::tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1395,1
    - Dst: dynamic_cast<RIFF::WAV::File*>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1396,1
    - Dst: FileRef::file
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1396,1
    - Dst: VERSION_INT
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1397,1
    - Dst: WriteMetaToId3v2
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1398,1
    - Dst: RIFF::WAV::File*::ID3v2Tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1398,1
    - Dst: WriteMetaToId3v2
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1400,1
    - Dst: RIFF::WAV::File*::tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1400,1
    - Dst: dynamic_cast<TrueAudio::File*>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1403,1
    - Dst: FileRef::file
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1403,1
    - Dst: TrueAudio::File*::ID3v2Tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1405,1
    - Dst: WriteMetaToId3v2
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1406,1
    - Dst: TrueAudio::File*::ID3v2Tag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1406,1
    - Dst: dynamic_cast<WavPack::File*>
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1408,1
    - Dst: FileRef::file
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1408,1
    - Dst: WavPack::File*::APETag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1410,1
    - Dst: WriteMetaToAPE
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1411,1
    - Dst: WavPack::File*::APETag
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1411,1
    - Dst: FileRef::save
      Src: /src/vlc/modules/meta_engine/taglib.cpp:1415,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 77
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1418
      start: 1287
    functionDepth: 2
    functionLinenumber: 1287
    functionLinenumberEnd: 1418
    functionName: WriteMeta
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<Ogg::File*>
    - dynamic_cast<RIFF::AIFF::File*>
    - atoi
    - Ogg::Vorbis::File*::tag
    - dynamic_cast<RIFF::WAV::File*>
    - EMPTY_STR
    - ToWide
    - input_item_GetTrackNum
    - dynamic_cast<MPEG::File*>
    - dynamic_cast<Ogg::FLAC::File*>
    - WriteMetaToAPE
    - Ogg::Speex::File*::tag
    - Ogg::FLAC::File*::tag
    - FileRef::save
    - MPEG::File*::APETag
    - msg_Err
    - msg_Dbg
    - input_item_GetDate
    - RIFF::WAV::File*::ID3v2Tag
    - TrueAudio::File*::ID3v2Tag
    - WavPack::File*::APETag
    - APE::File*::APETag
    - WriteMetaToId3v2
    - WriteMetaToXiph
    - dynamic_cast<WavPack::File*>
    - dynamic_cast<MPC::File*>
    - Tag*::setTrack
    - MPEG::File*::ID3v2Tag
    - MPC::File*::APETag
    - FileRef
    - dynamic_cast<Ogg::Speex::File*>
    - RIFF::WAV::File*::tag
    - FileRef::file
    - FileRef::isNull
    - dynamic_cast<Ogg::Vorbis::File*>
    - VERSION_INT
    - tag
    - dynamic_cast<Ogg::Opus::File*>
    - RIFF::AIFF::File*::tag
    - dynamic_cast<TrueAudio::File*>
    - free
    - FileRef::tag
    - FLAC::File*::xiphComment
    - dynamic_cast<RIFF::File*>
    - dynamic_cast<FLAC::File*>
    - SET
    - Tag*::setYear
    - dynamic_cast<APE::File*>
    - FLAC::File*::ID3v2Tag
    linkageType: ''
    returnType: int
    signature: int WriteMeta( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1331
    functionName: SET
    functionSourceFile: /src/vlc/modules/meta_engine/taglib.cpp
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET( a, b )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FromCharset
      Src: /src/vlc/modules/meta_engine/ID3Text.h:35,1
    - Dst: FromCharset
      Src: /src/vlc/modules/meta_engine/ID3Text.h:38,1
    - Dst: FromCharset
      Src: /src/vlc/modules/meta_engine/ID3Text.h:41,1
    - Dst: malloc
      Src: /src/vlc/modules/meta_engine/ID3Text.h:47,1
    - Dst: memcpy
      Src: /src/vlc/modules/meta_engine/ID3Text.h:50,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - p_buf
    - i_buf
    - i_charset
    - ppsz_allocated
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 63
    functionName: ID3TextConv
    functionSourceFile: /src/vlc/modules/meta_engine/ID3Text.h
    functionUses: 0
    functionsReached:
    - FromCharset
    - memcpy
    - malloc
    linkageType: ''
    returnType: char
    signature: "char * ID3TextConv( const uint8_t *p_buf, size_t i_buf,\n                                 uint8_t
      i_charset, char **ppsz_allocated )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ID3TextConv
      Src: /src/vlc/modules/meta_engine/ID3Text.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p_buf
    - i_buf
    - ppsz_allocated
    argTypes:
    - uint8_t*
    - size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: ID3TextConvert
    functionSourceFile: /src/vlc/modules/meta_engine/ID3Text.h
    functionUses: 0
    functionsReached:
    - ID3TextConv
    linkageType: ''
    returnType: char
    signature: "char * ID3TextConvert( const uint8_t *p_buf, size_t i_buf,\n                                           char
      **ppsz_allocated )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/vlc/modules/meta_engine/folder.c:83,1
    - Dst: vlc_stat
      Src: /src/vlc/modules/meta_engine/folder.c:86,1
    - Dst: S_ISREG
      Src: /src/vlc/modules/meta_engine/folder.c:86,1
    - Dst: vlc_path2uri
      Src: /src/vlc/modules/meta_engine/folder.c:88,1
    - Dst: likely
      Src: /src/vlc/modules/meta_engine/folder.c:89,1
    - Dst: input_item_SetArtURL
      Src: /src/vlc/modules/meta_engine/folder.c:91,1
    - Dst: free
      Src: /src/vlc/modules/meta_engine/folder.c:92,1
    - Dst: free
      Src: /src/vlc/modules/meta_engine/folder.c:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - item
    - dirpath
    - filename
    argTypes:
    - input_item_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 99
    functionName: ProbeArtFile
    functionSourceFile: /src/vlc/modules/meta_engine/folder.c
    functionUses: 0
    functionsReached:
    - asprintf
    - input_item_SetArtURL
    - free
    - S_ISREG
    - likely
    - vlc_stat
    - vlc_path2uri
    linkageType: ''
    returnType: bool
    signature: "bool ProbeArtFile(input_item_t *item,\n                         const
      char *dirpath, const char *filename)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: input_item_GetURI
      Src: /src/vlc/modules/meta_engine/folder.c:109,1
    - Dst: vlc_uri2path
      Src: /src/vlc/modules/meta_engine/folder.c:113,1
    - Dst: free
      Src: /src/vlc/modules/meta_engine/folder.c:114,1
    - Dst: vlc_stat
      Src: /src/vlc/modules/meta_engine/folder.c:121,1
    - Dst: S_ISDIR
      Src: /src/vlc/modules/meta_engine/folder.c:121,1
    - Dst: strrchr
      Src: /src/vlc/modules/meta_engine/folder.c:123,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/meta_engine/folder.c:130,1
    - Dst: ProbeArtFile
      Src: /src/vlc/modules/meta_engine/folder.c:131,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/meta_engine/folder.c:135,1
    - Dst: ProbeArtFile
      Src: /src/vlc/modules/meta_engine/folder.c:136,1
    - Dst: free
      Src: /src/vlc/modules/meta_engine/folder.c:143,1
    - Dst: free
      Src: /src/vlc/modules/meta_engine/folder.c:144,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 146
    functionName: FindMeta
    functionSourceFile: /src/vlc/modules/meta_engine/folder.c
    functionUses: 0
    functionsReached:
    - var_InheritString
    - ARRAY_SIZE
    - S_ISDIR
    - vlc_uri2path
    - free
    - vlc_stat
    - strrchr
    - input_item_GetURI
    - ProbeArtFile
    linkageType: ''
    returnType: int
    signature: int FindMeta( vlc_object_t *p_this )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ID3TextConvert
      Src: /src/vlc/modules/meta_engine/ID3Meta.h:55,1
    - Dst: vlc_meta_GetExtra
      Src: /src/vlc/modules/meta_engine/ID3Meta.h:58,1
    - Dst: vlc_meta_Get
      Src: /src/vlc/modules/meta_engine/ID3Meta.h:59,1
    - Dst: strcmp
      Src: /src/vlc/modules/meta_engine/ID3Meta.h:60,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/meta_engine/ID3Meta.h:65,1
    - Dst: vlc_meta_Set
      Src: /src/vlc/modules/meta_engine/ID3Meta.h:67,1
    - Dst: free
      Src: /src/vlc/modules/meta_engine/ID3Meta.h:70,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 6
    argNames:
    - p_buf
    - i_buf
    - type
    - psz_extra
    - p_meta
    - pb_updated
    argTypes:
    - uint8_t*
    - size_t
    - vlc_meta_type_t
    - char*
    - vlc_meta_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 73
    functionName: ID3TextTagHandler
    functionSourceFile: /src/vlc/modules/meta_engine/ID3Meta.h
    functionUses: 0
    functionsReached:
    - vlc_meta_Set
    - vlc_meta_GetExtra
    - ID3TextConvert
    - free
    - strcmp
    - vlc_meta_Get
    - vlc_meta_SetExtra
    linkageType: ''
    returnType: bool
    signature: "bool ID3TextTagHandler( const uint8_t *p_buf, size_t i_buf,\n                               vlc_meta_type_t
      type, const char *psz_extra,\n                               vlc_meta_t *p_meta,
      bool *pb_updated )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strnlen
      Src: /src/vlc/modules/meta_engine/ID3Meta.h:82,1
    - Dst: strncmp
      Src: /src/vlc/modules/meta_engine/ID3Meta.h:84,1
    - Dst: vlc_meta_Get
      Src: /src/vlc/modules/meta_engine/ID3Meta.h:86,1
    - Dst: strncmp
      Src: /src/vlc/modules/meta_engine/ID3Meta.h:87,1
    - Dst: strndup
      Src: /src/vlc/modules/meta_engine/ID3Meta.h:89,1
    - Dst: vlc_meta_Set
      Src: /src/vlc/modules/meta_engine/ID3Meta.h:90,1
    - Dst: free
      Src: /src/vlc/modules/meta_engine/ID3Meta.h:91,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - p_buf
    - i_buf
    - p_meta
    - pb_updated
    argTypes:
    - uint8_t*
    - size_t
    - vlc_meta_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 98
    functionName: ID3LinkFrameTagHandler
    functionSourceFile: /src/vlc/modules/meta_engine/ID3Meta.h
    functionUses: 0
    functionsReached:
    - strndup
    - vlc_meta_Set
    - strnlen
    - strncmp
    - free
    - vlc_meta_Get
    linkageType: ''
    returnType: bool
    signature: "bool ID3LinkFrameTagHandler( const uint8_t *p_buf, size_t i_buf,\n
      \                                   vlc_meta_t *p_meta, bool *pb_updated )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/meta_engine/ID3Meta.h:104,1
    - Dst: ID3LinkFrameTagHandler
      Src: /src/vlc/modules/meta_engine/ID3Meta.h:106,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/meta_engine/ID3Meta.h:108,1
    - Dst: ID3TextConvert
      Src: /src/vlc/modules/meta_engine/ID3Meta.h:111,1
    - Dst: strlen
      Src: /src/vlc/modules/meta_engine/ID3Meta.h:114,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/meta_engine/ID3Meta.h:118,1
    - Dst: ID3TextConv
      Src: /src/vlc/modules/meta_engine/ID3Meta.h:121,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/meta_engine/ID3Meta.h:125,1
    - Dst: free
      Src: /src/vlc/modules/meta_engine/ID3Meta.h:126,1
    - Dst: free
      Src: /src/vlc/modules/meta_engine/ID3Meta.h:130,1
    - Dst: vlc_meta_GetExtraCount
      Src: /src/vlc/modules/meta_engine/ID3Meta.h:131,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/meta_engine/ID3Meta.h:136,1
    - Dst: ID3TextTagHandler
      Src: /src/vlc/modules/meta_engine/ID3Meta.h:139,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 5
    argNames:
    - p_buf
    - i_buf
    - i_tag
    - p_meta
    - pb_updated
    argTypes:
    - uint8_t*
    - size_t
    - uint32_t
    - vlc_meta_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 100
    functionDepth: 4
    functionLinenumber: 100
    functionLinenumberEnd: 147
    functionName: ID3HandleTag
    functionSourceFile: /src/vlc/modules/meta_engine/ID3Meta.h
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - strncasecmp
    - ARRAY_SIZE
    - ID3TextConv
    - strlen
    - ID3TextTagHandler
    - ID3TextConvert
    - free
    - ID3LinkFrameTagHandler
    - vlc_meta_GetExtraCount
    - vlc_meta_SetExtra
    linkageType: ''
    returnType: bool
    signature: "bool ID3HandleTag( const uint8_t *p_buf, size_t i_buf,\n                          uint32_t
      i_tag,\n                          vlc_meta_t *p_meta, bool *pb_updated )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_splitter/clone.c:87,1
    - Dst: var_CreateGetNonEmptyString
      Src: /src/vlc/modules/video_splitter/clone.c:90,1
    - Dst: calloc
      Src: /src/vlc/modules/video_splitter/clone.c:103,1
    - Dst: free
      Src: /src/vlc/modules/video_splitter/clone.c:107,1
    - Dst: strchr
      Src: /src/vlc/modules/video_splitter/clone.c:115,1
    - Dst: strdup
      Src: /src/vlc/modules/video_splitter/clone.c:119,1
    - Dst: free
      Src: /src/vlc/modules/video_splitter/clone.c:124,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/video_splitter/clone.c:130,1
    - Dst: calloc
      Src: /src/vlc/modules/video_splitter/clone.c:134,1
    - Dst: video_format_Copy
      Src: /src/vlc/modules/video_splitter/clone.c:148,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_splitter/clone.c:155,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 158
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_splitter/clone.c
    functionUses: 33
    functionsReached:
    - strchr
    - strdup
    - video_format_Copy
    - var_CreateGetNonEmptyString
    - config_ChainParse
    - calloc
    - free
    - msg_Dbg
    - var_CreateGetInteger
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/video_splitter/clone.c:171,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/video_splitter/clone.c:172,1
    - Dst: free
      Src: /src/vlc/modules/video_splitter/clone.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 175
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_splitter/clone.c
    functionUses: 114
    functionsReached:
    - free
    - video_format_Clean
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: video_splitter_NewPicture
      Src: /src/vlc/modules/video_splitter/clone.c:183,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_splitter/clone.c:185,1
    - Dst: picture_Copy
      Src: /src/vlc/modules/video_splitter/clone.c:190,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_splitter/clone.c:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - p_splitter
    - pp_dst
    - p_src
    argTypes:
    - video_splitter_t*
    - picture_t*[]
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_splitter/clone.c
    functionUses: 25
    functionsReached:
    - picture_Release
    - video_splitter_NewPicture
    - picture_Copy
    linkageType: ''
    returnType: int
    signature: "int Filter( video_splitter_t *p_splitter,\n                   picture_t
      *pp_dst[], picture_t *p_src )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: clip_accuracy
    functionSourceFile: /src/vlc/modules/video_splitter/panoramix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int clip_accuracy( int a )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: clip_unit
    functionSourceFile: /src/vlc/modules/video_splitter/panoramix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float clip_unit( float f )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_splitter/panoramix.c:334,1
    - Dst: xcb_connect
      Src: /src/vlc/modules/video_splitter/panoramix.c:336,1
    - Dst: free
      Src: /src/vlc/modules/video_splitter/panoramix.c:337,1
    - Dst: xcb_connection_has_error
      Src: /src/vlc/modules/video_splitter/panoramix.c:338,1
    - Dst: xcb_get_setup
      Src: /src/vlc/modules/video_splitter/panoramix.c:341,1
    - Dst: xcb_setup_roots_iterator
      Src: /src/vlc/modules/video_splitter/panoramix.c:343,1
    - Dst: xcb_screen_next
      Src: /src/vlc/modules/video_splitter/panoramix.c:344,1
    - Dst: xcb_randr_query_version_reply
      Src: /src/vlc/modules/video_splitter/panoramix.c:359,1
    - Dst: xcb_randr_query_version
      Src: /src/vlc/modules/video_splitter/panoramix.c:360,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_splitter/panoramix.c:363,1
    - Dst: free
      Src: /src/vlc/modules/video_splitter/panoramix.c:365,1
    - Dst: xcb_randr_get_screen_resources_reply
      Src: /src/vlc/modules/video_splitter/panoramix.c:368,1
    - Dst: xcb_randr_get_screen_resources
      Src: /src/vlc/modules/video_splitter/panoramix.c:369,1
    - Dst: xcb_randr_get_screen_resources_outputs
      Src: /src/vlc/modules/video_splitter/panoramix.c:374,1
    - Dst: xcb_randr_get_output_info_reply
      Src: /src/vlc/modules/video_splitter/panoramix.c:378,1
    - Dst: xcb_randr_get_output_info
      Src: /src/vlc/modules/video_splitter/panoramix.c:379,1
    - Dst: free
      Src: /src/vlc/modules/video_splitter/panoramix.c:385,1
    - Dst: free
      Src: /src/vlc/modules/video_splitter/panoramix.c:387,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_splitter/panoramix.c:388,1
    - Dst: xcb_disconnect
      Src: /src/vlc/modules/video_splitter/panoramix.c:391,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 393
    functionName: CountMonitors
    functionSourceFile: /src/vlc/modules/video_splitter/panoramix.c
    functionUses: 0
    functionsReached:
    - xcb_randr_get_output_info
    - xcb_get_setup
    - var_InheritString
    - xcb_setup_roots_iterator
    - xcb_randr_query_version
    - xcb_screen_next
    - xcb_randr_get_screen_resources
    - xcb_randr_get_output_info_reply
    - free
    - xcb_connect
    - msg_Dbg
    - xcb_connection_has_error
    - xcb_randr_get_screen_resources_outputs
    - xcb_disconnect
    - xcb_randr_query_version_reply
    - xcb_randr_get_screen_resources_reply
    linkageType: ''
    returnType: unsigned
    signature: unsigned CountMonitors( vlc_object_t *obj )
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/video_splitter/panoramix.c:412,1
    - Dst: malloc
      Src: /src/vlc/modules/video_splitter/panoramix.c:423,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_splitter/panoramix.c:431,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_splitter/panoramix.c:435,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_splitter/panoramix.c:436,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/video_splitter/panoramix.c:442,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/video_splitter/panoramix.c:445,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/video_splitter/panoramix.c:445,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/video_splitter/panoramix.c:446,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/video_splitter/panoramix.c:446,1
    - Dst: CountMonitors
      Src: /src/vlc/modules/video_splitter/panoramix.c:454,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/video_splitter/panoramix.c:469,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/video_splitter/panoramix.c:470,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_splitter/panoramix.c:474,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_splitter/panoramix.c:475,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_splitter/panoramix.c:476,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_splitter/panoramix.c:477,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_splitter/panoramix.c:478,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_splitter/panoramix.c:479,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_splitter/panoramix.c:480,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/video_splitter/panoramix.c:488,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/video_splitter/panoramix.c:489,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_splitter/panoramix.c:490,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_splitter/panoramix.c:497,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_splitter/panoramix.c:514,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_splitter/panoramix.c:515,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/video_splitter/panoramix.c:531,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/video_splitter/panoramix.c:532,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/video_splitter/panoramix.c:533,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_splitter/panoramix.c:535,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_splitter/panoramix.c:536,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_splitter/panoramix.c:537,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_splitter/panoramix.c:538,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_splitter/panoramix.c:539,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_splitter/panoramix.c:540,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_splitter/panoramix.c:542,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_splitter/panoramix.c:543,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_splitter/panoramix.c:544,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_splitter/panoramix.c:545,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_splitter/panoramix.c:546,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_splitter/panoramix.c:547,1
    - Dst: GammaFactor
      Src: /src/vlc/modules/video_splitter/panoramix.c:573,1
    - Dst: clip_unit
      Src: /src/vlc/modules/video_splitter/panoramix.c:575,1
    - Dst: clip_accuracy
      Src: /src/vlc/modules/video_splitter/panoramix.c:602,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_splitter/panoramix.c:615,1
    - Dst: strchr
      Src: /src/vlc/modules/video_splitter/panoramix.c:627,1
    - Dst: atoi
      Src: /src/vlc/modules/video_splitter/panoramix.c:631,1
    - Dst: free
      Src: /src/vlc/modules/video_splitter/panoramix.c:637,1
    - Dst: Configuration
      Src: /src/vlc/modules/video_splitter/panoramix.c:641,1
    - Dst: calloc
      Src: /src/vlc/modules/video_splitter/panoramix.c:647,1
    - Dst: free
      Src: /src/vlc/modules/video_splitter/panoramix.c:651,1
    - Dst: video_format_Copy
      Src: /src/vlc/modules/video_splitter/panoramix.c:666,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 148
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 682
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_splitter/panoramix.c
    functionUses: 33
    functionsReached:
    - GetSystemMetrics
    - atoi
    - strchr
    - Configuration
    - clip_unit
    - VLC_CLIP
    - msg_Err
    - calloc
    - __MAX
    - msg_Dbg
    - CountMonitors
    - video_format_Copy
    - clip_accuracy
    - var_InheritInteger
    - var_InheritBool
    - __MIN
    - GammaFactor
    - var_InheritFloat
    - var_InheritString
    - config_ChainParse
    - var_SetInteger
    - free
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/video_splitter/panoramix.c:692,1
    - Dst: free
      Src: /src/vlc/modules/video_splitter/panoramix.c:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 694
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_splitter/panoramix.c
    functionUses: 114
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: video_splitter_NewPicture
      Src: /src/vlc/modules/video_splitter/panoramix.c:703,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_splitter/panoramix.c:705,1
    - Dst: picture_CopyProperties
      Src: /src/vlc/modules/video_splitter/panoramix.c:721,1
    - Dst: assert
      Src: /src/vlc/modules/video_splitter/panoramix.c:751,1
    - Dst: FilterPlanar
      Src: /src/vlc/modules/video_splitter/panoramix.c:752,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_splitter/panoramix.c:764,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - p_splitter
    - pp_dst
    - p_src
    argTypes:
    - video_splitter_t*
    - picture_t*[]
    - picture_t*
    assertStmts:
    - condition: ( p_sys->p_chroma->b_planar )
      pos:
        line_end: 750
        line_start: 750
        source_file: /src/vlc/modules/video_splitter/panoramix.c
    constantsTouched: []
    func_position:
      end: 766
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 766
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_splitter/panoramix.c
    functionUses: 25
    functionsReached:
    - assert
    - picture_CopyProperties
    - FilterPlanar
    - picture_Release
    - video_splitter_NewPicture
    linkageType: ''
    returnType: int
    signature: int Filter( video_splitter_t *p_splitter, picture_t *pp_dst[], picture_t
      *p_src )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - p_splitter
    - i_index
    - ev
    argTypes:
    - video_splitter_t*
    - int
    - vlc_window_mouse_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 797
    functionName: Mouse
    functionSourceFile: /src/vlc/modules/video_splitter/panoramix.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int Mouse( video_splitter_t *p_splitter, int i_index,\n                  vlc_window_mouse_event_t
      *restrict ev )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/vlc/modules/video_splitter/panoramix.c:808,1
    - Dst: pow
      Src: /src/vlc/modules/video_splitter/panoramix.c:813,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - g
    - f_value
    argTypes:
    - panoramix_gamma_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 816
    functionName: GammaFactor
    functionSourceFile: /src/vlc/modules/video_splitter/panoramix.c
    functionUses: 1
    functionsReached:
    - pow
    linkageType: ''
    returnType: double
    signature: double GammaFactor( const panoramix_gamma_t *g, float f_value )
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/video_splitter/panoramix.c:859,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 9
    argNames:
    - pp_output
    - i_col
    - i_row
    - i_src_width
    - i_src_height
    - i_half_w
    - i_half_h
    - b_attenuate
    - pb_active
    argTypes:
    - panoramix_output_t[][]
    - int
    - int
    - int
    - int
    - int
    - int
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 915
    functionName: Configuration
    functionSourceFile: /src/vlc/modules/video_splitter/panoramix.c
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: "int Configuration( panoramix_output_t pp_output[ROW_MAX][COL_MAX],\n
      \                         int i_col, int i_row,\n                          int
      i_src_width, int i_src_height,\n                          int i_half_w, int
      i_half_h,\n                          bool b_attenuate,\n                          const
      bool *pb_active )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_splitter/panoramix.c:931,1
    - Dst: assert
      Src: /src/vlc/modules/video_splitter/panoramix.c:932,1
    - Dst: assert
      Src: /src/vlc/modules/video_splitter/panoramix.c:933,1
    - Dst: assert
      Src: /src/vlc/modules/video_splitter/panoramix.c:934,1
    - Dst: memset
      Src: /src/vlc/modules/video_splitter/panoramix.c:941,1
    - Dst: memset
      Src: /src/vlc/modules/video_splitter/panoramix.c:953,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_splitter/panoramix.c:962,1
    - Dst: memset
      Src: /src/vlc/modules/video_splitter/panoramix.c:972,1
    - Dst: memset
      Src: /src/vlc/modules/video_splitter/panoramix.c:993,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 11
    argNames:
    - p_out
    - i_out_pitch
    - p_in
    - i_in_pitch
    - i_copy_pitch
    - i_copy_lines
    - i_pixel_black
    - p_cfg
    - p_lut
    - lambdav
    - lambdah
    argTypes:
    - uint8_t*
    - int
    - uint8_t*
    - int
    - int
    - int
    - int
    - panoramix_filter_t*
    - uint8_t[][]
    - int[][]
    - int[][]
    assertStmts:
    - condition: ( !p_cfg->black.i_left   || !p_cfg->attenuate.i_left )
      pos:
        line_end: 930
        line_start: 930
        source_file: /src/vlc/modules/video_splitter/panoramix.c
    - condition: ( !p_cfg->black.i_bottom || !p_cfg->attenuate.i_bottom )
      pos:
        line_end: 933
        line_start: 933
        source_file: /src/vlc/modules/video_splitter/panoramix.c
    - condition: ( !p_cfg->black.i_right  || !p_cfg->attenuate.i_right )
      pos:
        line_end: 931
        line_start: 931
        source_file: /src/vlc/modules/video_splitter/panoramix.c
    - condition: ( !p_cfg->black.i_top    || !p_cfg->attenuate.i_top )
      pos:
        line_end: 932
        line_start: 932
        source_file: /src/vlc/modules/video_splitter/panoramix.c
    constantsTouched: []
    func_position:
      end: 996
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 996
    functionName: FilterPlanar
    functionSourceFile: /src/vlc/modules/video_splitter/panoramix.c
    functionUses: 1
    functionsReached:
    - assert
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: "void FilterPlanar( uint8_t *p_out, int i_out_pitch,\n                          const
      uint8_t *p_in, int i_in_pitch,\n                          int i_copy_pitch,\n
      \                         int i_copy_lines,\n                          int i_pixel_black,\n
      \                         const panoramix_filter_t *p_cfg,\n                          uint8_t
      p_lut[ACCURACY + 1][256],\n                          int lambdav[2][ACCURACY/2],\n
      \                         int lambdah[2][ACCURACY/2] )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: F2
      Src: /src/vlc/modules/video_splitter/panoramix.c:1010,1
    - Dst: clip_accuracy
      Src: /src/vlc/modules/video_splitter/panoramix.c:1017,1
    - Dst: F4
      Src: /src/vlc/modules/video_splitter/panoramix.c:1017,1
    - Dst: F4
      Src: /src/vlc/modules/video_splitter/panoramix.c:1017,1
    - Dst: F2
      Src: /src/vlc/modules/video_splitter/panoramix.c:1025,1
    - Dst: clip_accuracy
      Src: /src/vlc/modules/video_splitter/panoramix.c:1032,1
    - Dst: F4
      Src: /src/vlc/modules/video_splitter/panoramix.c:1032,1
    - Dst: F4
      Src: /src/vlc/modules/video_splitter/panoramix.c:1032,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - p_vout
    - p_pic
    argTypes:
    - vout_thread_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1001
    functionDepth: 1
    functionLinenumber: 1001
    functionLinenumberEnd: 1034
    functionName: RenderPackedRGB
    functionSourceFile: /src/vlc/modules/video_splitter/panoramix.c
    functionUses: 0
    functionsReached:
    - F2
    - F4
    - clip_accuracy
    linkageType: ''
    returnType: void
    signature: void RenderPackedRGB( vout_thread_t *p_vout, picture_t *p_pic )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/video_splitter/wall.c:116,1
    - Dst: malloc
      Src: /src/vlc/modules/video_splitter/wall.c:120,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_splitter/wall.c:124,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/video_splitter/wall.c:128,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/video_splitter/wall.c:129,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/video_splitter/wall.c:131,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/video_splitter/wall.c:132,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_splitter/wall.c:134,1
    - Dst: var_CreateGetNonEmptyString
      Src: /src/vlc/modules/video_splitter/wall.c:138,1
    - Dst: strchr
      Src: /src/vlc/modules/video_splitter/wall.c:149,1
    - Dst: atoi
      Src: /src/vlc/modules/video_splitter/wall.c:153,1
    - Dst: free
      Src: /src/vlc/modules/video_splitter/wall.c:159,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_splitter/wall.c:182,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_splitter/wall.c:194,1
    - Dst: free
      Src: /src/vlc/modules/video_splitter/wall.c:195,1
    - Dst: calloc
      Src: /src/vlc/modules/video_splitter/wall.c:201,1
    - Dst: free
      Src: /src/vlc/modules/video_splitter/wall.c:205,1
    - Dst: video_format_Copy
      Src: /src/vlc/modules/video_splitter/wall.c:220,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 64
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 236
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_splitter/wall.c
    functionUses: 33
    functionsReached:
    - atoi
    - strchr
    - video_format_Copy
    - VLC_CLIP
    - var_CreateGetNonEmptyString
    - config_ChainParse
    - free
    - msg_Err
    - calloc
    - msg_Dbg
    - var_CreateGetInteger
    - vlc_fourcc_GetChromaDescription
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/video_splitter/wall.c:246,1
    - Dst: free
      Src: /src/vlc/modules/video_splitter/wall.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_splitter/wall.c
    functionUses: 114
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: video_splitter_NewPicture
      Src: /src/vlc/modules/video_splitter/wall.c:254,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_splitter/wall.c:256,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/video_splitter/wall.c:281,1
    - Dst: picture_CopyProperties
      Src: /src/vlc/modules/video_splitter/wall.c:283,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_splitter/wall.c:287,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - p_splitter
    - pp_dst
    - p_src
    argTypes:
    - video_splitter_t*
    - picture_t*[]
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 289
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_splitter/wall.c
    functionUses: 25
    functionsReached:
    - picture_Release
    - video_splitter_NewPicture
    - picture_CopyProperties
    - plane_CopyPixels
    linkageType: ''
    returnType: int
    signature: int Filter( video_splitter_t *p_splitter, picture_t *pp_dst[], picture_t
      *p_src )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_splitter/wall.c:309,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - p_splitter
    - i_index
    - ev
    argTypes:
    - video_splitter_t*
    - int
    - vlc_window_mouse_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 311
    functionName: Mouse
    functionSourceFile: /src/vlc/modules/video_splitter/wall.c
    functionUses: 3
    functionsReached:
    - vlc_assert_unreachable
    linkageType: ''
    returnType: int
    signature: "int Mouse( video_splitter_t *p_splitter, int i_index,\n                  vlc_window_mouse_event_t
      *restrict ev )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wglMakeCurrent
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:78,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: MakeCurrentBare
    functionSourceFile: /src/vlc/modules/video_filter/opengl_win_offscreen.c
    functionUses: 0
    functionsReached:
    - unlikely
    - wglMakeCurrent
    linkageType: ''
    returnType: int
    signature: int MakeCurrentBare (vlc_gl_t *gl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:89,1
    - Dst: MakeCurrentBare
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:90,1
    - Dst: opengl_vtable_t*::BindBuffer
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:97,1
    - Dst: opengl_vtable_t*::BindFramebuffer
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts:
    - condition: (!sys->current)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/vlc/modules/video_filter/opengl_win_offscreen.c
    constantsTouched: []
    func_position:
      end: 101
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 101
    functionName: MakeBoundCurrent
    functionSourceFile: /src/vlc/modules/video_filter/opengl_win_offscreen.c
    functionUses: 0
    functionsReached:
    - opengl_vtable_t*::BindBuffer
    - assert
    - opengl_vtable_t*::BindFramebuffer
    - MakeCurrentBare
    linkageType: ''
    returnType: int
    signature: int MakeBoundCurrent (vlc_gl_t *gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:107,1
    - Dst: wglMakeCurrent
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts:
    - condition: (sys->current)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/vlc/modules/video_filter/opengl_win_offscreen.c
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: ReleaseCurrent
    functionSourceFile: /src/vlc/modules/video_filter/opengl_win_offscreen.c
    functionUses: 8
    functionsReached:
    - assert
    - wglMakeCurrent
    linkageType: ''
    returnType: void
    signature: void ReleaseCurrent (vlc_gl_t *gl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wglGetProcAddress
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:117,1
    - Dst: GetProcAddress
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - gl
    - procname
    argTypes:
    - vlc_gl_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 124
    functionName: GetSymbol
    functionSourceFile: /src/vlc/modules/video_filter/opengl_win_offscreen.c
    functionUses: 0
    functionsReached:
    - GetProcAddress
    - wglGetProcAddress
    linkageType: ''
    returnType: void
    signature: void *GetSymbol(vlc_gl_t *gl, const char *procname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:131,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - input
    argTypes:
    - picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: picture_context_copy
    functionSourceFile: /src/vlc/modules/video_filter/opengl_win_offscreen.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: picture_context_t
    signature: picture_context_t *picture_context_copy(picture_context_t *input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:141,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:143,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - input
    argTypes:
    - picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: picture_context_destroy
    functionSourceFile: /src/vlc/modules/video_filter/opengl_win_offscreen.c
    functionUses: 0
    functionsReached:
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void picture_context_destroy(picture_context_t *input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: opengl_vtable_t*::BindFramebuffer
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sys
    argTypes:
    - struct vlc_gl_pbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: BindDrawFramebuffer
    functionSourceFile: /src/vlc/modules/video_filter/opengl_win_offscreen.c
    functionUses: 0
    functionsReached:
    - opengl_vtable_t*::BindFramebuffer
    linkageType: ''
    returnType: void
    signature: void BindDrawFramebuffer(struct vlc_gl_pbuffer *sys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:158,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:164,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:168,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:171,1
    - Dst: BindDrawFramebuffer
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts:
    - condition: (sys->picture_contexts[index].rc >= 0)
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/vlc/modules/video_filter/opengl_win_offscreen.c
    constantsTouched: []
    func_position:
      end: 175
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 175
    functionName: UpdateBuffer
    functionSourceFile: /src/vlc/modules/video_filter/opengl_win_offscreen.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_mutex_unlock
    - BindDrawFramebuffer
    - vlc_mutex_lock
    - vlc_cond_wait
    linkageType: ''
    returnType: void
    signature: void UpdateBuffer(vlc_gl_t *gl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MakeCurrentBare
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:183,1
    - Dst: opengl_vtable_t*::BindBuffer
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:189,1
    - Dst: opengl_vtable_t*::BindFramebuffer
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:190,1
    - Dst: opengl_vtable_t*::UnmapBuffer
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:192,1
    - Dst: opengl_vtable_t*::ReadPixels
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:198,1
    - Dst: opengl_vtable_t*::MapBufferRange
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:200,1
    - Dst: opengl_vtable_t*::GetIntegerv
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:204,1
    - Dst: UpdateBuffer
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:211,1
    - Dst: wglMakeCurrent
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:214,1
    - Dst: picture_NewFromResource
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:226,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 238
    functionName: Swap
    functionSourceFile: /src/vlc/modules/video_filter/opengl_win_offscreen.c
    functionUses: 5
    functionsReached:
    - picture_NewFromResource
    - opengl_vtable_t*::ReadPixels
    - wglMakeCurrent
    - opengl_vtable_t*::MapBufferRange
    - opengl_vtable_t*::BindFramebuffer
    - UpdateBuffer
    - opengl_vtable_t*::GetIntegerv
    - opengl_vtable_t*::BindBuffer
    - opengl_vtable_t*::UnmapBuffer
    - MakeCurrentBare
    linkageType: ''
    returnType: picture_t
    signature: picture_t *Swap(vlc_gl_t *gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wglMakeCurrent
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:245,1
    - Dst: opengl_vtable_t*::DeleteBuffers
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:246,1
    - Dst: opengl_vtable_t*::DeleteFramebuffers
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:247,1
    - Dst: opengl_vtable_t*::DeleteTextures
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:248,1
    - Dst: wglMakeCurrent
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:249,1
    - Dst: wglDeleteContext
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:251,1
    - Dst: struct vlc_gl_pbuffer*::wgl_vt::ReleasePbufferDCARB
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:252,1
    - Dst: struct vlc_gl_pbuffer*::wgl_vt::DestroyPbufferARB
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_filter/opengl_win_offscreen.c
    functionUses: 114
    functionsReached:
    - struct vlc_gl_pbuffer*::wgl_vt::DestroyPbufferARB
    - wglMakeCurrent
    - opengl_vtable_t*::DeleteTextures
    - struct vlc_gl_pbuffer*::wgl_vt::ReleasePbufferDCARB
    - opengl_vtable_t*::DeleteFramebuffers
    - opengl_vtable_t*::DeleteBuffers
    - wglDeleteContext
    linkageType: ''
    returnType: void
    signature: void Close( vlc_gl_t *gl )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOAD_EXT
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:266,1
    - Dst: LOAD_EXT
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:267,1
    - Dst: LOAD_EXT
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:268,1
    - Dst: LOAD_EXT
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:269,1
    - Dst: LOAD_EXT
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:270,1
    - Dst: LOAD_EXT
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - gl
    - wgl_vt
    argTypes:
    - vlc_gl_t*
    - struct wgl_vt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 273
    functionName: LoadWGLExt
    functionSourceFile: /src/vlc/modules/video_filter/opengl_win_offscreen.c
    functionUses: 0
    functionsReached:
    - LOAD_EXT
    linkageType: ''
    returnType: int
    signature: int LoadWGLExt(vlc_gl_t *gl, struct wgl_vt *wgl_vt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 265
    functionName: LOAD_EXT
    functionSourceFile: /src/vlc/modules/video_filter/opengl_win_offscreen.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD_EXT(name, type)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:280,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:284,1
    - Dst: video_format_Init
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:295,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:306,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:307,1
    - Dst: GetModuleHandleA
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:311,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:312,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:314,1
    - Dst: GetDC
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:329,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:330,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:332,1
    - Dst: SetPixelFormat
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:345,1
    - Dst: ChoosePixelFormat
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:345,1
    - Dst: wglCreateContext
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:346,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:349,1
    - Dst: wglMakeCurrent
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:352,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:353,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:355,1
    - Dst: LoadWGLExt
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:359,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:362,1
    - Dst: wglMakeCurrent
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:363,1
    - Dst: struct vlc_gl_pbuffer*::wgl_vt::GetExtensionsStringARB
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:367,1
    - Dst: vlc_gl_StrHasToken
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:368,1
    - Dst: vlc_gl_StrHasToken
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:369,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:371,1
    - Dst: wglMakeCurrent
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:372,1
    - Dst: struct vlc_gl_pbuffer*::wgl_vt::ChoosePixelFormatARB
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:390,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:390,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:393,1
    - Dst: wglMakeCurrent
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:394,1
    - Dst: struct vlc_gl_pbuffer*::wgl_vt::CreatePbufferARB
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:398,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:401,1
    - Dst: wglMakeCurrent
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:402,1
    - Dst: struct vlc_gl_pbuffer*::wgl_vt::GetPbufferDCARB
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:405,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:408,1
    - Dst: wglMakeCurrent
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:409,1
    - Dst: wglCreateContext
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:413,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:416,1
    - Dst: wglMakeCurrent
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:417,1
    - Dst: wglMakeCurrent
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:420,1
    - Dst: wglMakeCurrent
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:421,1
    - Dst: vlc_gl_api_Init
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:423,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:426,1
    - Dst: wglMakeCurrent
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:427,1
    - Dst: opengl_vtable_t*::GenBuffers
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:432,1
    - Dst: opengl_vtable_t*::GenFramebuffers
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:433,1
    - Dst: opengl_vtable_t*::GenTextures
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:434,1
    - Dst: opengl_vtable_t*::BindBuffer
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:438,1
    - Dst: opengl_vtable_t*::BufferData
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:439,1
    - Dst: opengl_vtable_t*::BindFramebuffer
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:441,1
    - Dst: opengl_vtable_t*::BindTexture
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:442,1
    - Dst: opengl_vtable_t*::TexImage2D
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:443,1
    - Dst: opengl_vtable_t*::FramebufferTexture2D
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:445,1
    - Dst: BindDrawFramebuffer
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:458,1
    - Dst: wglMakeCurrent
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:459,1
    - Dst: wglDeleteContext
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:461,1
    - Dst: ReleaseDC
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:462,1
    - Dst: struct vlc_gl_pbuffer*::wgl_vt::ReleasePbufferDCARB
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:468,1
    - Dst: struct vlc_gl_pbuffer*::wgl_vt::DestroyPbufferARB
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:470,1
    - Dst: wglDeleteContext
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:471,1
    - Dst: wglDeleteContext
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:474,1
    - Dst: ReleaseDC
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:476,1
    - Dst: vlc_obj_free
      Src: /src/vlc/modules/video_filter/opengl_win_offscreen.c:477,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 129
    argCount: 4
    argNames:
    - gl
    - width
    - height
    - gl_cfg
    argTypes:
    - vlc_gl_t*
    - unsigned
    - unsigned
    - struct vlc_gl_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 480
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_filter/opengl_win_offscreen.c
    functionUses: 33
    functionsReached:
    - vlc_obj_malloc
    - opengl_vtable_t*::BindTexture
    - opengl_vtable_t*::GenBuffers
    - opengl_vtable_t*::GenFramebuffers
    - struct vlc_gl_pbuffer*::wgl_vt::ReleasePbufferDCARB
    - opengl_vtable_t*::FramebufferTexture2D
    - GetDC
    - wglDeleteContext
    - struct vlc_gl_pbuffer*::wgl_vt::CreatePbufferARB
    - vlc_gl_StrHasToken
    - ARRAY_SIZE
    - vlc_gl_api_Init
    - msg_Err
    - vlc_cond_init
    - opengl_vtable_t*::BindFramebuffer
    - opengl_vtable_t*::BindBuffer
    - opengl_vtable_t*::TexImage2D
    - video_format_Init
    - struct vlc_gl_pbuffer*::wgl_vt::GetPbufferDCARB
    - ReleaseDC
    - struct vlc_gl_pbuffer*::wgl_vt::DestroyPbufferARB
    - struct vlc_gl_pbuffer*::wgl_vt::ChoosePixelFormatARB
    - SetPixelFormat
    - struct vlc_gl_pbuffer*::wgl_vt::GetExtensionsStringARB
    - wglCreateContext
    - GetModuleHandleA
    - BindDrawFramebuffer
    - LoadWGLExt
    - vlc_mutex_init
    - vlc_obj_free
    - wglMakeCurrent
    - opengl_vtable_t*::BufferData
    - ChoosePixelFormat
    - unlikely
    - opengl_vtable_t*::GenTextures
    linkageType: ''
    returnType: int
    signature: "int Open(vlc_gl_t *gl, unsigned width, unsigned height,\n                const
      struct vlc_gl_cfg *gl_cfg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/video_filter/sharpen.c:101,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/sharpen.c:102,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/sharpen.c:107,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/sharpen.c:112,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_filter/sharpen.c:119,1
    - Dst: atomic_init
      Src: /src/vlc/modules/video_filter/sharpen.c:122,1
    - Dst: var_CreateGetFloatCommand
      Src: /src/vlc/modules/video_filter/sharpen.c:123,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/sharpen.c:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: ( p_chroma != NULL )
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/vlc/modules/video_filter/sharpen.c
    constantsTouched: []
    func_position:
      end: 130
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 130
    functionName: Create
    functionSourceFile: /src/vlc/modules/video_filter/sharpen.c
    functionUses: 120
    functionsReached:
    - atomic_init
    - assert
    - var_CreateGetFloatCommand
    - var_AddCallback
    - config_ChainParse
    - msg_Dbg
    - vlc_fourcc_GetChromaDescription
    - malloc
    linkageType: ''
    returnType: int
    signature: int Create( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/sharpen.c:142,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/sharpen.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionName: Destroy
    functionSourceFile: /src/vlc/modules/video_filter/sharpen.c
    functionUses: 72
    functionsReached:
    - free
    - var_DelCallback
    linkageType: ''
    returnType: void
    signature: void Destroy( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: IS_YUV_420_10BITS
    functionSourceFile: /src/vlc/modules/video_filter/sharpen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_YUV_420_10BITS(fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - maxval
    - ','
    - data_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 201
    functionName: SHARPEN_FRAME
    functionSourceFile: /src/vlc/modules/video_filter/sharpen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHARPEN_FRAME(maxval, data_t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_YUV_420_10BITS
      Src: /src/vlc/modules/video_filter/sharpen.c:211,1
    - Dst: SHARPEN_FRAME
      Src: /src/vlc/modules/video_filter/sharpen.c:212,1
    - Dst: SHARPEN_FRAME
      Src: /src/vlc/modules/video_filter/sharpen.c:214,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/video_filter/sharpen.c:216,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/video_filter/sharpen.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p_filter
    - p_pic
    - p_outpic
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 218
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/sharpen.c
    functionUses: 25
    functionsReached:
    - IS_YUV_420_10BITS
    - SHARPEN_FRAME
    - plane_CopyPixels
    linkageType: ''
    returnType: void
    signature: void Filter( filter_t *p_filter, picture_t *p_pic, picture_t *p_outpic
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/sharpen.c:224,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/sharpen.c:224,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/sharpen.c:224,1
    - Dst: atomic_store
      Src: /src/vlc/modules/video_filter/sharpen.c:227,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/video_filter/sharpen.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - p_this
    - psz_var
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 231
    functionName: SharpenCallback
    functionSourceFile: /src/vlc/modules/video_filter/sharpen.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - VLC_CLIP
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int SharpenCallback( vlc_object_t *p_this, char const *psz_var,\n
      \                           vlc_value_t oldval, vlc_value_t newval,\n                            void
      *p_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_chain_VideoFlush
      Src: /src/vlc/modules/video_filter/edgedetection.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: Flush
    functionSourceFile: /src/vlc/modules/video_filter/edgedetection.c
    functionUses: 53
    functionsReached:
    - filter_chain_VideoFlush
    linkageType: ''
    returnType: void
    signature: void Flush( filter_t *p_filter )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: filter_chain_NewVideo
      Src: /src/vlc/modules/video_filter/edgedetection.c:109,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/edgedetection.c:112,1
    - Dst: filter_chain_Reset
      Src: /src/vlc/modules/video_filter/edgedetection.c:116,1
    - Dst: filter_chain_AppendFromString
      Src: /src/vlc/modules/video_filter/edgedetection.c:118,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/edgedetection.c:121,1
    - Dst: filter_chain_Delete
      Src: /src/vlc/modules/video_filter/edgedetection.c:122,1
    - Dst: filter_chain_AppendFromString
      Src: /src/vlc/modules/video_filter/edgedetection.c:126,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/edgedetection.c:129,1
    - Dst: filter_chain_Delete
      Src: /src/vlc/modules/video_filter/edgedetection.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 137
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_filter/edgedetection.c
    functionUses: 33
    functionsReached:
    - filter_chain_Delete
    - msg_Err
    - filter_chain_NewVideo
    - filter_chain_Reset
    - filter_chain_AppendFromString
    linkageType: ''
    returnType: int
    signature: int Open( filter_t *p_filter  )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_chain_Delete
      Src: /src/vlc/modules/video_filter/edgedetection.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_filter/edgedetection.c
    functionUses: 114
    functionsReached:
    - filter_chain_Delete
    linkageType: ''
    returnType: void
    signature: void Close( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_NewPicture
      Src: /src/vlc/modules/video_filter/edgedetection.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 156
    functionName: new_frame
    functionSourceFile: /src/vlc/modules/video_filter/edgedetection.c
    functionUses: 0
    functionsReached:
    - filter_NewPicture
    linkageType: ''
    returnType: picture_t
    signature: picture_t *new_frame( filter_t *p_filter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: filter_chain_VideoFilter
      Src: /src/vlc/modules/video_filter/edgedetection.c:167,1
    - Dst: picture_NewFromFormat
      Src: /src/vlc/modules/video_filter/edgedetection.c:168,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/edgedetection.c:171,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/edgedetection.c:172,1
    - Dst: sobel
      Src: /src/vlc/modules/video_filter/edgedetection.c:184,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/edgedetection.c:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - p_filter
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 190
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/edgedetection.c
    functionUses: 26
    functionsReached:
    - sobel
    - msg_Err
    - picture_Release
    - filter_chain_VideoFilter
    - picture_NewFromFormat
    linkageType: ''
    returnType: picture_t
    signature: picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/vlc/modules/video_filter/edgedetection.c:243,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/edgedetection.c:243,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 5
    argNames:
    - p_pixels
    - i_pitch
    - i_lines
    - i_col
    - i_line
    argTypes:
    - uint8_t*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 245
    functionName: sobel
    functionSourceFile: /src/vlc/modules/video_filter/edgedetection.c
    functionUses: 1
    functionsReached:
    - abs
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t sobel( const uint8_t *p_pixels, const int i_pitch,\n                      const
      int i_lines, int i_col, int i_line )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/extract.c:110,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/extract.c:116,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/extract.c:121,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/extract.c:124,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_filter/extract.c:128,1
    - Dst: var_CreateGetIntegerCommand
      Src: /src/vlc/modules/video_filter/extract.c:131,1
    - Dst: make_projection_matrix
      Src: /src/vlc/modules/video_filter/extract.c:134,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/video_filter/extract.c:136,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/extract.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 143
    functionName: Create
    functionSourceFile: /src/vlc/modules/video_filter/extract.c
    functionUses: 120
    functionsReached:
    - var_CreateGetIntegerCommand
    - make_projection_matrix
    - var_AddCallback
    - vlc_mutex_init
    - config_ChainParse
    - free
    - msg_Err
    - malloc
    linkageType: ''
    returnType: int
    signature: int Create( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/extract.c:152,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/extract.c:154,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/extract.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 156
    functionName: Destroy
    functionSourceFile: /src/vlc/modules/video_filter/extract.c
    functionUses: 72
    functionsReached:
    - free
    - var_DelCallback
    linkageType: ''
    returnType: void
    signature: void Destroy( filter_t *p_filter )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_filter/extract.c:165,1
    - Dst: get_custom_from_yuv
      Src: /src/vlc/modules/video_filter/extract.c:173,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_filter/extract.c:181,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/extract.c:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - p_filter
    - p_pic
    - p_outpic
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 184
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/extract.c
    functionUses: 26
    functionsReached:
    - get_custom_from_yuv
    - vlc_assert_unreachable
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void Filter( filter_t *p_filter, picture_t *p_pic, picture_t *p_outpic
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - res
    - a
    - b
    argTypes:
    - double*
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 205
    functionName: mmult
    functionSourceFile: /src/vlc/modules/video_filter/extract.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mmult( double *res, double *a, double *b )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/vlc/modules/video_filter/extract.c:219,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/extract.c:233,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/extract.c:234,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/extract.c:235,1
    - Dst: mmult
      Src: /src/vlc/modules/video_filter/extract.c:236,1
    - Dst: mmult
      Src: /src/vlc/modules/video_filter/extract.c:237,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/extract.c:242,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/extract.c:243,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/extract.c:244,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/extract.c:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - p_filter
    - color
    - matrix
    argTypes:
    - filter_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 246
    functionName: make_projection_matrix
    functionSourceFile: /src/vlc/modules/video_filter/extract.c
    functionUses: 1
    functionsReached:
    - mmult
    - msg_Dbg
    - sqrt
    linkageType: ''
    returnType: void
    signature: void make_projection_matrix( filter_t *p_filter, int color, int *matrix
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 249
    functionName: IS_YUV_10BITS
    functionSourceFile: /src/vlc/modules/video_filter/extract.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_YUV_10BITS(fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 266
    functionName: GET_CUSTOM_PIX
    functionSourceFile: /src/vlc/modules/video_filter/extract.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_CUSTOM_PIX()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_CUSTOM_PIX
      Src: /src/vlc/modules/video_filter/extract.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - y_in
    - y_out
    - u_in
    - u_out
    - v_in
    - v_out
    - u
    - v
    - m
    - maxval
    argTypes:
    - uint8_t*[]
    - uint8_t*[]
    - uint8_t**
    - uint8_t**
    - uint8_t**
    - uint8_t**
    - uint16_t
    - uint16_t
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 276
    functionName: get_custom_pix_8b
    functionSourceFile: /src/vlc/modules/video_filter/extract.c
    functionUses: 0
    functionsReached:
    - GET_CUSTOM_PIX
    linkageType: ''
    returnType: void
    signature: "void get_custom_pix_8b( uint8_t *y_in[2], uint8_t *y_out[2],\n                   uint8_t
      **u_in, uint8_t **u_out,\n                   uint8_t **v_in, uint8_t **v_out,\n
      \                  uint16_t const u, uint16_t const v,\n                   int
      const *m, int maxval )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_CUSTOM_PIX
      Src: /src/vlc/modules/video_filter/extract.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - y_in
    - y_out
    - u_in
    - u_out
    - v_in
    - v_out
    - u
    - v
    - m
    - maxval
    argTypes:
    - uint16_t*[]
    - uint16_t*[]
    - uint16_t**
    - uint16_t**
    - uint16_t**
    - uint16_t**
    - uint16_t
    - uint16_t
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 287
    functionName: get_custom_pix_10b
    functionSourceFile: /src/vlc/modules/video_filter/extract.c
    functionUses: 0
    functionsReached:
    - GET_CUSTOM_PIX
    linkageType: ''
    returnType: void
    signature: "void get_custom_pix_10b( uint16_t *y_in[2], uint16_t *y_out[2],\n
      \                   uint16_t **u_in, uint16_t **u_out,\n                    uint16_t
      **v_in, uint16_t **v_out,\n                    uint16_t const u, uint16_t const
      v,\n                    int const *m, int maxval )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS_YUV_10BITS
      Src: /src/vlc/modules/video_filter/extract.c:312,1
    - Dst: get_custom_pix_8b
      Src: /src/vlc/modules/video_filter/extract.c:313,1
    - Dst: get_custom_pix_10b
      Src: /src/vlc/modules/video_filter/extract.c:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 6
    argNames:
    - p_inpic
    - p_outpic
    - yp
    - up
    - vp
    - m
    argTypes:
    - picture_t*
    - picture_t*
    - int
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 327
    functionName: get_custom_from_yuv
    functionSourceFile: /src/vlc/modules/video_filter/extract.c
    functionUses: 1
    functionsReached:
    - IS_YUV_10BITS
    - get_custom_pix_10b
    - get_custom_pix_8b
    linkageType: ''
    returnType: void
    signature: "void get_custom_from_yuv( picture_t *p_inpic, picture_t *p_outpic,\n
      \                    int const yp, int const up, int const vp, int const *m
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetPackedYuvOffsets
      Src: /src/vlc/modules/video_filter/extract.c:334,1
    - Dst: vlc_uint8
      Src: /src/vlc/modules/video_filter/extract.c:357,1
    - Dst: vlc_uint8
      Src: /src/vlc/modules/video_filter/extract.c:359,1
    - Dst: vlc_uint8
      Src: /src/vlc/modules/video_filter/extract.c:361,1
    - Dst: vlc_uint8
      Src: /src/vlc/modules/video_filter/extract.c:364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - p_inpic
    - p_outpic
    - m
    argTypes:
    - picture_t*
    - picture_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 377
    functionName: get_custom_from_packedyuv422
    functionSourceFile: /src/vlc/modules/video_filter/extract.c
    functionUses: 0
    functionsReached:
    - GetPackedYuvOffsets
    - vlc_uint8
    linkageType: ''
    returnType: void
    signature: "void get_custom_from_packedyuv422( picture_t *p_inpic,\n                                          picture_t
      *p_outpic,\n                                          int *m )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/extract.c:383,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_filter/extract.c:386,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/extract.c:387,1
    - Dst: make_projection_matrix
      Src: /src/vlc/modules/video_filter/extract.c:391,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_filter/extract.c:396,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/extract.c:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - p_this
    - psz_var
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 400
    functionName: ExtractCallback
    functionSourceFile: /src/vlc/modules/video_filter/extract.c
    functionUses: 0
    functionsReached:
    - make_projection_matrix
    - vlc_mutex_lock
    - vlc_mutex_unlock
    - strcmp
    - msg_Warn
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int ExtractCallback( vlc_object_t *p_this, char const *psz_var,\n
      \                           vlc_value_t oldval, vlc_value_t newval,\n                            void
      *p_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_NewPicture
      Src: /src/vlc/modules/video_filter/canvas.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: video_chain_new
    functionSourceFile: /src/vlc/modules/video_filter/canvas.c
    functionUses: 0
    functionsReached:
    - filter_NewPicture
    linkageType: ''
    returnType: picture_t
    signature: picture_t *video_chain_new( filter_t *p_filter )
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/canvas.c:169,1
    - Dst: video_format_IsSameChroma
      Src: /src/vlc/modules/video_filter/canvas.c:173,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/canvas.c:176,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_filter/canvas.c:180,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/video_filter/canvas.c:183,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/video_filter/canvas.c:184,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/canvas.c:188,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/canvas.c:196,1
    - Dst: var_CreateGetNonEmptyString
      Src: /src/vlc/modules/video_filter/canvas.c:211,1
    - Dst: strchr
      Src: /src/vlc/modules/video_filter/canvas.c:214,1
    - Dst: atoi
      Src: /src/vlc/modules/video_filter/canvas.c:215,1
    - Dst: atoi
      Src: /src/vlc/modules/video_filter/canvas.c:216,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/canvas.c:219,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/canvas.c:223,1
    - Dst: var_CreateGetBool
      Src: /src/vlc/modules/video_filter/canvas.c:239,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/canvas.c:241,1
    - Dst: filter_chain_NewVideo
      Src: /src/vlc/modules/video_filter/canvas.c:251,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/canvas.c:254,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/canvas.c:255,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/video_filter/canvas.c:259,1
    - Dst: snprintf
      Src: /src/vlc/modules/video_filter/canvas.c:283,1
    - Dst: snprintf
      Src: /src/vlc/modules/video_filter/canvas.c:297,1
    - Dst: snprintf
      Src: /src/vlc/modules/video_filter/canvas.c:315,1
    - Dst: snprintf
      Src: /src/vlc/modules/video_filter/canvas.c:329,1
    - Dst: filter_chain_Reset
      Src: /src/vlc/modules/video_filter/canvas.c:341,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/video_filter/canvas.c:342,1
    - Dst: filter_chain_AppendConverter
      Src: /src/vlc/modules/video_filter/canvas.c:344,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/canvas.c:347,1
    - Dst: filter_chain_Delete
      Src: /src/vlc/modules/video_filter/canvas.c:348,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/canvas.c:349,1
    - Dst: filter_chain_AppendFromString
      Src: /src/vlc/modules/video_filter/canvas.c:356,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/canvas.c:358,1
    - Dst: filter_chain_Delete
      Src: /src/vlc/modules/video_filter/canvas.c:359,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/canvas.c:360,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/video_filter/canvas.c:365,1
    - Dst: filter_chain_GetFmtOut
      Src: /src/vlc/modules/video_filter/canvas.c:366,1
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/video_filter/canvas.c:368,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_filter/canvas.c:377,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 107
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 387
    functionName: Activate
    functionSourceFile: /src/vlc/modules/video_filter/canvas.c
    functionUses: 5
    functionsReached:
    - atoi
    - strchr
    - var_CreateGetNonEmptyString
    - filter_chain_Reset
    - filter_chain_GetFmtOut
    - msg_Err
    - msg_Warn
    - snprintf
    - video_format_IsSameChroma
    - filter_chain_NewVideo
    - es_format_Copy
    - es_format_Clean
    - var_CreateGetBool
    - filter_chain_Delete
    - filter_chain_AppendConverter
    - config_ChainParse
    - free
    - var_CreateGetInteger
    - vlc_ureduce
    - filter_chain_AppendFromString
    - malloc
    linkageType: ''
    returnType: int
    signature: int Activate( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_chain_Delete
      Src: /src/vlc/modules/video_filter/canvas.c:395,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/canvas.c:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 397
    functionName: Destroy
    functionSourceFile: /src/vlc/modules/video_filter/canvas.c
    functionUses: 72
    functionsReached:
    - free
    - filter_chain_Delete
    linkageType: ''
    returnType: void
    signature: void Destroy( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_chain_VideoFilter
      Src: /src/vlc/modules/video_filter/canvas.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_filter
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 406
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/canvas.c
    functionUses: 27
    functionsReached:
    - filter_chain_VideoFilter
    linkageType: ''
    returnType: picture_t
    signature: picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_chain_VideoFlush
      Src: /src/vlc/modules/video_filter/canvas.c:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 412
    functionName: Flush
    functionSourceFile: /src/vlc/modules/video_filter/canvas.c
    functionUses: 54
    functionsReached:
    - filter_chain_VideoFlush
    linkageType: ''
    returnType: void
    signature: void Flush( filter_t *p_filter )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/video_filter/invert.c:69,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/invert.c:70,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: ( p_chroma != NULL )
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/vlc/modules/video_filter/invert.c
    constantsTouched: []
    func_position:
      end: 77
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 77
    functionName: Create
    functionSourceFile: /src/vlc/modules/video_filter/invert.c
    functionUses: 120
    functionsReached:
    - assert
    - vlc_fourcc_GetChromaDescription
    linkageType: ''
    returnType: int
    signature: int Create( filter_t *p_filter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/invert.c:88,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/invert.c:95,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 3
    argNames:
    - p_filter
    - p_pic
    - p_outpic
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 147
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/invert.c
    functionUses: 27
    functionsReached:
    - memcpy
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void Filter( filter_t *p_filter, picture_t *p_pic, picture_t *p_outpic
      )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:38,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:39,1
    - Dst: picture_NewFromResource
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:43,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:45,1
    - Dst: D3D11_PictureAttach
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:50,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:52,1
    - Dst: D3D11_AllocateResourceView
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:52,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:52,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:58,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:65,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - filter
    - d3d_dev
    - out
    argTypes:
    - filter_t*
    - d3d11_device_t*
    - ID3D11Texture2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 68
    functionName: PictureFromTexture
    functionSourceFile: /src/vlc/modules/video_filter/amf_vqenhancer.c
    functionUses: 0
    functionsReached:
    - picture_NewFromResource
    - vlc_object_logger
    - D3D11_PictureAttach
    - msg_Err
    - calloc
    - vlc_video_context_Hold
    - picture_Release
    - free
    - D3D11_AllocateResourceView
    - unlikely
    linkageType: ''
    returnType: picture_t
    signature: picture_t *PictureFromTexture(filter_t *filter, d3d11_device_t *d3d_dev,
      ID3D11Texture2D *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct filter_sys_t*::amfInput::pVtbl::Release
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:147,1
    - Dst: struct filter_sys_t*::amf_vqe::pVtbl::Release
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:148,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: D3D11CloseAMFVQE
    functionSourceFile: /src/vlc/modules/video_filter/amf_vqenhancer.c
    functionUses: 0
    functionsReached:
    - struct filter_sys_t*::amf_vqe::pVtbl::Release
    - vlc_video_context_Release
    - struct filter_sys_t*::amfInput::pVtbl::Release
    linkageType: ''
    returnType: void
    signature: void D3D11CloseAMFVQE(filter_t *filter)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: is_d3d11_opaque
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:154,1
    - Dst: GetD3D11ContextPrivate
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:156,1
    - Dst: video_format_IsSimilar
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:158,1
    - Dst: GetD3D11OpaqueContext
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:161,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:164,1
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:168,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:168,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:169,1
    - Dst: GetD3D11ContextPrivate
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:172,1
    - Dst: DxgiGetRenderFormatList
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:175,1
    - Dst: is_d3d11_opaque
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:178,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:181,1
    - Dst: DXGIToAMF
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:183,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:186,1
    - Dst: vlc_AMFCreateContext
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:190,1
    - Dst: struct filter_sys_t*::amf::Context::pVtbl::InitDX11
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:195,1
    - Dst: struct filter_sys_t*::amf::pFactory::pVtbl::CreateComponent
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:199,1
    - Dst: struct filter_sys_t*::amf_vqe::pVtbl::SetProperty
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:207,1
    - Dst: AMFConstructSize
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:212,1
    - Dst: struct filter_sys_t*::amf_vqe::pVtbl::SetProperty
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:214,1
    - Dst: struct filter_sys_t*::amf_vqe::pVtbl::SetProperty
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:222,1
    - Dst: struct filter_sys_t*::amf_vqe::pVtbl::Init
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:228,1
    - Dst: struct filter_sys_t*::amf::Context::pVtbl::AllocSurface
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:234,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:250,1
    - Dst: struct filter_sys_t*::amfInput::pVtbl::Release
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:255,1
    - Dst: struct filter_sys_t*::amf_vqe::pVtbl::Release
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:257,1
    - Dst: vlc_AMFReleaseContext
      Src: /src/vlc/modules/video_filter/amf_vqenhancer.c:258,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 71
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: (cfg != NULL)
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/vlc/modules/video_filter/amf_vqenhancer.c
    constantsTouched: []
    func_position:
      end: 260
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 260
    functionName: D3D11CreateAMFVQE
    functionSourceFile: /src/vlc/modules/video_filter/amf_vqenhancer.c
    functionUses: 0
    functionsReached:
    - assert
    - is_d3d11_opaque
    - DXGIToAMF
    - DxgiGetRenderFormatList
    - AMFConstructSize
    - struct filter_sys_t*::amfInput::pVtbl::Release
    - vlc_obj_calloc
    - vlc_AMFReleaseContext
    - vlc_video_context_Hold
    - msg_Err
    - struct filter_sys_t*::amf_vqe::pVtbl::Release
    - struct filter_sys_t*::amf::Context::pVtbl::InitDX11
    - struct filter_sys_t*::amf_vqe::pVtbl::SetProperty
    - GetD3D11OpaqueContext
    - vlc_AMFCreateContext
    - struct filter_sys_t*::amf::pFactory::pVtbl::CreateComponent
    - struct filter_sys_t*::amf::Context::pVtbl::AllocSurface
    - GetD3D11ContextPrivate
    - VLC_OBJECT
    - video_format_IsSimilar
    - unlikely
    - struct filter_sys_t*::amf_vqe::pVtbl::Init
    linkageType: ''
    returnType: int
    signature: int D3D11CreateAMFVQE(filter_t *filter)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: video_format_IsSameChroma
      Src: /src/vlc/modules/video_filter/scale.c:64,1
    - Dst: video_format_ScaleCropAr
      Src: /src/vlc/modules/video_filter/scale.c:76,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/scale.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 85
    functionName: OpenFilter
    functionSourceFile: /src/vlc/modules/video_filter/scale.c
    functionUses: 0
    functionsReached:
    - video_format_IsSameChroma
    - video_format_ScaleCropAr
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int OpenFilter( filter_t *p_filter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: video_format_ScaleCropAr
      Src: /src/vlc/modules/video_filter/scale.c:93,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/scale.c:134,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/scale.c:138,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/scale.c:179,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/scale.c:182,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - p_filter
    - p_pic
    - p_pic_dst
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 187
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/scale.c
    functionUses: 27
    functionsReached:
    - video_format_ScaleCropAr
    - __MIN
    linkageType: ''
    returnType: void
    signature: void Filter( filter_t *p_filter, picture_t *p_pic, picture_t *p_pic_dst
      )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_MakeCurrent
      Src: /src/vlc/modules/video_filter/opengl.c:55,1
    - Dst: vlc_gl_filters_UpdatePicture
      Src: /src/vlc/modules/video_filter/opengl.c:58,1
    - Dst: vlc_gl_ReleaseCurrent
      Src: /src/vlc/modules/video_filter/opengl.c:61,1
    - Dst: vlc_gl_filters_Draw
      Src: /src/vlc/modules/video_filter/opengl.c:65,1
    - Dst: vlc_gl_ReleaseCurrent
      Src: /src/vlc/modules/video_filter/opengl.c:68,1
    - Dst: vlc_gl_SwapOffscreen
      Src: /src/vlc/modules/video_filter/opengl.c:72,1
    - Dst: vlc_gl_ReleaseCurrent
      Src: /src/vlc/modules/video_filter/opengl.c:73,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/opengl.c:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - filter
    - input
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 90
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/opengl.c
    functionUses: 27
    functionsReached:
    - vlc_gl_MakeCurrent
    - vlc_gl_filters_UpdatePicture
    - vlc_gl_ReleaseCurrent
    - vlc_gl_SwapOffscreen
    - picture_Release
    - vlc_gl_filters_Draw
    linkageType: ''
    returnType: picture_t
    signature: picture_t *Filter(filter_t *filter, picture_t *input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: config_ChainCreate
      Src: /src/vlc/modules/video_filter/opengl.c:97,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/opengl.c:98,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/opengl.c:99,1
    - Dst: vlc_gl_filters_Append
      Src: /src/vlc/modules/video_filter/opengl.c:104,1
    - Dst: config_ChainDestroy
      Src: /src/vlc/modules/video_filter/opengl.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - filters
    argTypes:
    - struct vlc_gl_filters*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 110
    functionName: AppendVFlip
    functionSourceFile: /src/vlc/modules/video_filter/opengl.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_gl_filters_Append
    - config_ChainDestroy
    - config_ChainCreate
    linkageType: ''
    returnType: int
    signature: int AppendVFlip(struct vlc_gl_filters *filters)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_filter/opengl.c:116,1
    - Dst: config_ChainCreate
      Src: /src/vlc/modules/video_filter/opengl.c:124,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/opengl.c:126,1
    - Dst: vlc_gl_filters_Append
      Src: /src/vlc/modules/video_filter/opengl.c:134,1
    - Dst: config_ChainDestroy
      Src: /src/vlc/modules/video_filter/opengl.c:135,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/opengl.c:138,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/opengl.c:139,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/opengl.c:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - sys
    - glfilters_config
    argTypes:
    - filter_sys_t*
    - char*
    assertStmts:
    - condition: (glfilters_config)
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/vlc/modules/video_filter/opengl.c
    constantsTouched: []
    func_position:
      end: 147
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 147
    functionName: LoadFilters
    functionSourceFile: /src/vlc/modules/video_filter/opengl.c
    functionUses: 0
    functionsReached:
    - assert
    - config_ChainCreate
    - msg_Err
    - free
    - config_ChainDestroy
    - vlc_gl_filters_Append
    linkageType: ''
    returnType: int
    signature: int LoadFilters(filter_sys_t *sys, const char *glfilters_config)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_MakeCurrent
      Src: /src/vlc/modules/video_filter/opengl.c:155,1
    - Dst: vlc_gl_filters_Delete
      Src: /src/vlc/modules/video_filter/opengl.c:156,1
    - Dst: vlc_gl_interop_Delete
      Src: /src/vlc/modules/video_filter/opengl.c:157,1
    - Dst: vlc_gl_ReleaseCurrent
      Src: /src/vlc/modules/video_filter/opengl.c:158,1
    - Dst: vlc_gl_Delete
      Src: /src/vlc/modules/video_filter/opengl.c:160,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/opengl.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 163
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_filter/opengl.c
    functionUses: 114
    functionsReached:
    - vlc_gl_MakeCurrent
    - vlc_gl_filters_Delete
    - vlc_gl_ReleaseCurrent
    - free
    - vlc_gl_Delete
    - vlc_gl_interop_Delete
    linkageType: ''
    returnType: void
    signature: void Close( filter_t *filter )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_filter/opengl.c:170,1
    - Dst: vlc_gl_CreateOffscreen
      Src: /src/vlc/modules/video_filter/opengl.c:171,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/opengl.c:173,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_filter/opengl.c:177,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_filter/opengl.c:178,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/video_filter/opengl.c:183,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/video_filter/opengl.c:185,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/opengl.c:185,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/video_filter/opengl.c:195,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/video_filter/opengl.c:197,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/opengl.c:197,1
    - Dst: strdup
      Src: /src/vlc/modules/video_filter/opengl.c:208,1
    - Dst: vlc_gl_CreateOffscreen
      Src: /src/vlc/modules/video_filter/opengl.c:211,1
    - Dst: vlc_gl_CreateOffscreen
      Src: /src/vlc/modules/video_filter/opengl.c:217,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/opengl.c:220,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/opengl.c:221,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 4
    argNames:
    - obj
    - device
    - width
    - height
    argTypes:
    - vlc_object_t*
    - struct vlc_decoder_device*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 224
    functionName: CreateGL
    functionSourceFile: /src/vlc/modules/video_filter/opengl.c
    functionUses: 0
    functionsReached:
    - var_InheritString
    - strdup
    - free
    - strcmp
    - EMPTY_STR
    - vlc_gl_CreateOffscreen
    linkageType: ''
    returnType: vlc_gl_t
    signature: "vlc_gl_t *CreateGL(vlc_object_t *obj, struct vlc_decoder_device *device,\n
      \                         unsigned width, unsigned height)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/opengl.c:230,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_filter/opengl.c:234,1
    - Dst: filter_HoldDecoderDevice
      Src: /src/vlc/modules/video_filter/opengl.c:239,1
    - Dst: CreateGL
      Src: /src/vlc/modules/video_filter/opengl.c:241,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_filter/opengl.c:241,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/video_filter/opengl.c:245,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/opengl.c:249,1
    - Dst: vlc_gl_MakeCurrent
      Src: /src/vlc/modules/video_filter/opengl.c:253,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/opengl.c:255,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/opengl.c:256,1
    - Dst: vlc_gl_api_Init
      Src: /src/vlc/modules/video_filter/opengl.c:261,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/opengl.c:263,1
    - Dst: vlc_gl_interop_New
      Src: /src/vlc/modules/video_filter/opengl.c:267,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/opengl.c:271,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_filter/opengl.c:276,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/opengl.c:279,1
    - Dst: vlc_gl_filters_New
      Src: /src/vlc/modules/video_filter/opengl.c:284,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/opengl.c:287,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/opengl.c:288,1
    - Dst: LoadFilters
      Src: /src/vlc/modules/video_filter/opengl.c:294,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/opengl.c:297,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/opengl.c:298,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/opengl.c:301,1
    - Dst: AppendVFlip
      Src: /src/vlc/modules/video_filter/opengl.c:307,1
    - Dst: vlc_gl_filters_InitFramebuffers
      Src: /src/vlc/modules/video_filter/opengl.c:312,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/opengl.c:315,1
    - Dst: vlc_gl_filters_SetViewport
      Src: /src/vlc/modules/video_filter/opengl.c:319,1
    - Dst: vlc_gl_ReleaseCurrent
      Src: /src/vlc/modules/video_filter/opengl.c:321,1
    - Dst: vlc_gl_filters_Delete
      Src: /src/vlc/modules/video_filter/opengl.c:340,1
    - Dst: vlc_gl_interop_Delete
      Src: /src/vlc/modules/video_filter/opengl.c:344,1
    - Dst: vlc_gl_ReleaseCurrent
      Src: /src/vlc/modules/video_filter/opengl.c:348,1
    - Dst: vlc_gl_Delete
      Src: /src/vlc/modules/video_filter/opengl.c:351,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/opengl.c:354,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 89
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 255
        line_start: 255
        source_file: /src/vlc/modules/video_filter/opengl.c
    constantsTouched: []
    func_position:
      end: 357
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 357
    functionName: OpenOpenGL
    functionSourceFile: /src/vlc/modules/video_filter/opengl.c
    functionUses: 0
    functionsReached:
    - filter_HoldDecoderDevice
    - assert
    - vlc_decoder_device_Release
    - vlc_gl_interop_New
    - LoadFilters
    - vlc_gl_filters_Delete
    - AppendVFlip
    - vlc_gl_api_Init
    - vlc_gl_filters_InitFramebuffers
    - msg_Err
    - vlc_gl_filters_New
    - CreateGL
    - vlc_gl_ReleaseCurrent
    - vlc_gl_Delete
    - vlc_gl_interop_Delete
    - vlc_gl_MakeCurrent
    - var_InheritString
    - config_ChainParse
    - free
    - vlc_gl_filters_SetViewport
    - VLC_OBJECT
    - malloc
    linkageType: ''
    returnType: int
    signature: int OpenOpenGL(filter_t *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: MOD
    functionSourceFile: /src/vlc/modules/video_filter/freeze.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MOD(a, b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: es_format_IsSimilar
      Src: /src/vlc/modules/video_filter/freeze.c:104,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/freeze.c:105,1
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/video_filter/freeze.c:112,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/freeze.c:113,1
    - Dst: vlc_fourcc_IsYUV
      Src: /src/vlc/modules/video_filter/freeze.c:116,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/freeze.c:118,1
    - Dst: calloc
      Src: /src/vlc/modules/video_filter/freeze.c:123,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/freeze.c:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: ( p_chroma != NULL )
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/vlc/modules/video_filter/freeze.c
    constantsTouched: []
    func_position:
      end: 132
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 132
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_filter/freeze.c
    functionUses: 33
    functionsReached:
    - assert
    - es_format_IsSimilar
    - msg_Err
    - calloc
    - vlc_fourcc_IsYUV
    - vlc_fourcc_GetChromaDescription
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Open( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeze_free_allocated_data
      Src: /src/vlc/modules/video_filter/freeze.c:141,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/freeze.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_filter/freeze.c
    functionUses: 114
    functionsReached:
    - freeze_free_allocated_data
    - free
    linkageType: ''
    returnType: void
    signature: void Close( filter_t *p_filter )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: filter_NewPicture
      Src: /src/vlc/modules/video_filter/freeze.c:153,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/freeze.c:154,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/freeze.c:155,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/freeze.c:162,1
    - Dst: freeze_allocate_data
      Src: /src/vlc/modules/video_filter/freeze.c:163,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/freeze.c:165,1
    - Dst: picture_CopyPixels
      Src: /src/vlc/modules/video_filter/freeze.c:173,1
    - Dst: CopyInfoAndRelease
      Src: /src/vlc/modules/video_filter/freeze.c:222,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 2
    argNames:
    - p_filter
    - p_pic_in
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 223
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/freeze.c
    functionUses: 27
    functionsReached:
    - CopyInfoAndRelease
    - filter_NewPicture
    - picture_Release
    - picture_CopyPixels
    - unlikely
    - freeze_allocate_data
    linkageType: ''
    returnType: picture_t
    signature: picture_t *Filter( filter_t *p_filter, picture_t *p_pic_in )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/freeze.c:239,1
    - Dst: vlc_mouse_HasPressed
      Src: /src/vlc/modules/video_filter/freeze.c:245,1
    - Dst: vlc_mouse_IsLeftPressed
      Src: /src/vlc/modules/video_filter/freeze.c:247,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/freeze.c:264,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/freeze.c:266,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 3
    argNames:
    - p_filter
    - p_new
    - p_old
    argTypes:
    - filter_t*
    - vlc_mouse_t*
    - vlc_mouse_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 279
    functionName: freeze_mouse
    functionSourceFile: /src/vlc/modules/video_filter/freeze.c
    functionUses: 0
    functionsReached:
    - vlc_mouse_IsLeftPressed
    - __MAX
    - unlikely
    - vlc_mouse_HasPressed
    linkageType: ''
    returnType: int
    signature: "int freeze_mouse( filter_t *p_filter, vlc_mouse_t *p_new,\n                         const
      vlc_mouse_t *p_old )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: freeze_free_allocated_data
      Src: /src/vlc/modules/video_filter/freeze.c:289,1
    - Dst: calloc
      Src: /src/vlc/modules/video_filter/freeze.c:295,1
    - Dst: calloc
      Src: /src/vlc/modules/video_filter/freeze.c:296,1
    - Dst: calloc
      Src: /src/vlc/modules/video_filter/freeze.c:297,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/freeze.c:299,1
    - Dst: freeze_free_allocated_data
      Src: /src/vlc/modules/video_filter/freeze.c:301,1
    - Dst: calloc
      Src: /src/vlc/modules/video_filter/freeze.c:316,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/freeze.c:317,1
    - Dst: freeze_free_allocated_data
      Src: /src/vlc/modules/video_filter/freeze.c:319,1
    - Dst: calloc
      Src: /src/vlc/modules/video_filter/freeze.c:326,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/freeze.c:327,1
    - Dst: freeze_free_allocated_data
      Src: /src/vlc/modules/video_filter/freeze.c:329,1
    - Dst: calloc
      Src: /src/vlc/modules/video_filter/freeze.c:335,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/freeze.c:336,1
    - Dst: freeze_free_allocated_data
      Src: /src/vlc/modules/video_filter/freeze.c:338,1
    - Dst: calloc
      Src: /src/vlc/modules/video_filter/freeze.c:345,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/freeze.c:346,1
    - Dst: freeze_free_allocated_data
      Src: /src/vlc/modules/video_filter/freeze.c:348,1
    - Dst: calloc
      Src: /src/vlc/modules/video_filter/freeze.c:354,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/freeze.c:355,1
    - Dst: freeze_free_allocated_data
      Src: /src/vlc/modules/video_filter/freeze.c:357,1
    - Dst: calloc
      Src: /src/vlc/modules/video_filter/freeze.c:365,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/freeze.c:366,1
    - Dst: freeze_free_allocated_data
      Src: /src/vlc/modules/video_filter/freeze.c:368,1
    - Dst: calloc
      Src: /src/vlc/modules/video_filter/freeze.c:375,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/freeze.c:376,1
    - Dst: freeze_free_allocated_data
      Src: /src/vlc/modules/video_filter/freeze.c:378,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 2
    argNames:
    - p_filter
    - p_pic_in
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 384
    functionName: freeze_allocate_data
    functionSourceFile: /src/vlc/modules/video_filter/freeze.c
    functionUses: 1
    functionsReached:
    - freeze_free_allocated_data
    - calloc
    - unlikely
    linkageType: ''
    returnType: int
    signature: int freeze_allocate_data( filter_t *p_filter, picture_t *p_pic_in )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/video_filter/freeze.c:394,1
    - Dst: FREENULL
      Src: /src/vlc/modules/video_filter/freeze.c:395,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/freeze.c:399,1
    - Dst: FREENULL
      Src: /src/vlc/modules/video_filter/freeze.c:400,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/freeze.c:405,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/freeze.c:406,1
    - Dst: FREENULL
      Src: /src/vlc/modules/video_filter/freeze.c:408,1
    - Dst: FREENULL
      Src: /src/vlc/modules/video_filter/freeze.c:411,1
    - Dst: FREENULL
      Src: /src/vlc/modules/video_filter/freeze.c:412,1
    - Dst: FREENULL
      Src: /src/vlc/modules/video_filter/freeze.c:413,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 414
    functionName: freeze_free_allocated_data
    functionSourceFile: /src/vlc/modules/video_filter/freeze.c
    functionUses: 2
    functionsReached:
    - free
    - FREENULL
    linkageType: ''
    returnType: void
    signature: void freeze_free_allocated_data( filter_t *p_filter )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/posterize.c:111,1
    - Dst: video_format_IsSameChroma
      Src: /src/vlc/modules/video_filter/posterize.c:116,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/posterize.c:119,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/posterize.c:124,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_filter/posterize.c:128,1
    - Dst: atomic_init
      Src: /src/vlc/modules/video_filter/posterize.c:130,1
    - Dst: var_CreateGetIntegerCommand
      Src: /src/vlc/modules/video_filter/posterize.c:131,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/posterize.c:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 138
    functionName: Create
    functionSourceFile: /src/vlc/modules/video_filter/posterize.c
    functionUses: 122
    functionsReached:
    - var_CreateGetIntegerCommand
    - video_format_IsSameChroma
    - atomic_init
    - var_AddCallback
    - config_ChainParse
    - msg_Err
    - malloc
    linkageType: ''
    returnType: int
    signature: int Create( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/posterize.c:149,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/posterize.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: Destroy
    functionSourceFile: /src/vlc/modules/video_filter/posterize.c
    functionUses: 74
    functionsReached:
    - free
    - var_DelCallback
    linkageType: ''
    returnType: void
    signature: void Destroy( filter_t *p_filter )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/vlc/modules/video_filter/posterize.c:163,1
    - Dst: RVPosterize
      Src: /src/vlc/modules/video_filter/posterize.c:169,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_filter/posterize.c:181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - p_filter
    - p_pic
    - p_outpic
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 183
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/posterize.c
    functionUses: 27
    functionsReached:
    - RVPosterize
    - atomic_load
    - vlc_assert_unreachable
    linkageType: ''
    returnType: void
    signature: void Filter( filter_t *p_filter, picture_t *p_pic, picture_t *p_outpic
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: POSTERIZE_PIXEL
    functionSourceFile: /src/vlc/modules/video_filter/posterize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POSTERIZE_PIXEL(x, level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: YuvPosterization
      Src: /src/vlc/modules/video_filter/posterize.c:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 3
    argNames:
    - p_pic
    - p_outpic
    - i_level
    argTypes:
    - picture_t*
    - picture_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 250
    functionName: PlanarYUVPosterize
    functionSourceFile: /src/vlc/modules/video_filter/posterize.c
    functionUses: 0
    functionsReached:
    - YuvPosterization
    linkageType: ''
    returnType: void
    signature: "void PlanarYUVPosterize( picture_t *p_pic, picture_t *p_outpic,\n
      \                              int i_level )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_filter/posterize.c:303,1
    - Dst: YuvPosterization
      Src: /src/vlc/modules/video_filter/posterize.c:306,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_filter/posterize.c:336,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 68
    argCount: 3
    argNames:
    - p_pic
    - p_outpic
    - i_level
    argTypes:
    - picture_t*
    - picture_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 343
    functionName: PackedYUVPosterize
    functionSourceFile: /src/vlc/modules/video_filter/posterize.c
    functionUses: 0
    functionsReached:
    - YuvPosterization
    - vlc_assert_unreachable
    linkageType: ''
    returnType: void
    signature: void PackedYUVPosterize( picture_t *p_pic, picture_t *p_outpic, int
      i_level )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: POSTERIZE_PIXEL
      Src: /src/vlc/modules/video_filter/posterize.c:368,1
    - Dst: POSTERIZE_PIXEL
      Src: /src/vlc/modules/video_filter/posterize.c:370,1
    - Dst: POSTERIZE_PIXEL
      Src: /src/vlc/modules/video_filter/posterize.c:372,1
    - Dst: POSTERIZE_PIXEL
      Src: /src/vlc/modules/video_filter/posterize.c:377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - p_pic
    - p_outpic
    - rv32
    - level
    argTypes:
    - picture_t*
    - picture_t*
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 384
    functionName: RVPosterize
    functionSourceFile: /src/vlc/modules/video_filter/posterize.c
    functionUses: 1
    functionsReached:
    - POSTERIZE_PIXEL
    linkageType: ''
    returnType: void
    signature: "void RVPosterize( picture_t *p_pic, picture_t *p_outpic,\n                                 bool
      rv32, int level )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: yuv_to_rgb
      Src: /src/vlc/modules/video_filter/posterize.c:401,1
    - Dst: yuv_to_rgb
      Src: /src/vlc/modules/video_filter/posterize.c:402,1
    - Dst: yuv_to_rgb
      Src: /src/vlc/modules/video_filter/posterize.c:403,1
    - Dst: POSTERIZE_PIXEL
      Src: /src/vlc/modules/video_filter/posterize.c:405,1
    - Dst: POSTERIZE_PIXEL
      Src: /src/vlc/modules/video_filter/posterize.c:406,1
    - Dst: POSTERIZE_PIXEL
      Src: /src/vlc/modules/video_filter/posterize.c:407,1
    - Dst: POSTERIZE_PIXEL
      Src: /src/vlc/modules/video_filter/posterize.c:408,1
    - Dst: POSTERIZE_PIXEL
      Src: /src/vlc/modules/video_filter/posterize.c:409,1
    - Dst: POSTERIZE_PIXEL
      Src: /src/vlc/modules/video_filter/posterize.c:410,1
    - Dst: POSTERIZE_PIXEL
      Src: /src/vlc/modules/video_filter/posterize.c:411,1
    - Dst: POSTERIZE_PIXEL
      Src: /src/vlc/modules/video_filter/posterize.c:412,1
    - Dst: POSTERIZE_PIXEL
      Src: /src/vlc/modules/video_filter/posterize.c:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 9
    argNames:
    - posterized_y1
    - posterized_y2
    - posterized_u
    - posterized_v
    - y1
    - y2
    - u
    - v
    - i_level
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 419
    functionName: YuvPosterization
    functionSourceFile: /src/vlc/modules/video_filter/posterize.c
    functionUses: 2
    functionsReached:
    - POSTERIZE_PIXEL
    - yuv_to_rgb
    linkageType: ''
    returnType: void
    signature: "void YuvPosterization( uint8_t* posterized_y1, uint8_t* posterized_y2,\n
      \                            uint8_t* posterized_u, uint8_t* posterized_v,\n
      \                            uint8_t y1, uint8_t y2, uint8_t u, uint8_t v,\n
      \                            int i_level )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/posterize.c:427,1
    - Dst: atomic_store
      Src: /src/vlc/modules/video_filter/posterize.c:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - p_this
    - psz_var
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 431
    functionName: FilterCallback
    functionSourceFile: /src/vlc/modules/video_filter/posterize.c
    functionUses: 0
    functionsReached:
    - strcmp
    - atomic_store
    linkageType: ''
    returnType: int
    signature: "int FilterCallback ( vlc_object_t *p_this, char const *psz_var,\n
      \                           vlc_value_t oldval, vlc_value_t newval, void *p_data
      )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/croppadd.c:153,1
    - Dst: video_format_IsSameChroma
      Src: /src/vlc/modules/video_filter/croppadd.c:157,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/croppadd.c:160,1
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/video_filter/croppadd.c:167,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/croppadd.c:168,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/croppadd.c:171,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/video_filter/croppadd.c:175,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_filter/croppadd.c:175,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/croppadd.c:176,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_filter/croppadd.c:178,1
    - Dst: GET_OPTION
      Src: /src/vlc/modules/video_filter/croppadd.c:186,1
    - Dst: GET_OPTION
      Src: /src/vlc/modules/video_filter/croppadd.c:187,1
    - Dst: GET_OPTION
      Src: /src/vlc/modules/video_filter/croppadd.c:188,1
    - Dst: GET_OPTION
      Src: /src/vlc/modules/video_filter/croppadd.c:189,1
    - Dst: GET_OPTION
      Src: /src/vlc/modules/video_filter/croppadd.c:190,1
    - Dst: GET_OPTION
      Src: /src/vlc/modules/video_filter/croppadd.c:191,1
    - Dst: GET_OPTION
      Src: /src/vlc/modules/video_filter/croppadd.c:192,1
    - Dst: GET_OPTION
      Src: /src/vlc/modules/video_filter/croppadd.c:193,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/croppadd.c:226,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/croppadd.c:229,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/croppadd.c:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: ( p_chroma != NULL )
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/vlc/modules/video_filter/croppadd.c
    constantsTouched: []
    func_position:
      end: 239
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 239
    functionName: OpenFilter
    functionSourceFile: /src/vlc/modules/video_filter/croppadd.c
    functionUses: 0
    functionsReached:
    - video_format_IsSameChroma
    - assert
    - vlc_obj_malloc
    - GET_OPTION
    - msg_Err
    - config_ChainParse
    - msg_Dbg
    - vlc_fourcc_GetChromaDescription
    - VLC_OBJECT
    - unlikely
    linkageType: ''
    returnType: int
    signature: int OpenFilter( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: GET_OPTION
    functionSourceFile: /src/vlc/modules/video_filter/croppadd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_OPTION( name )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/video_filter/croppadd.c:293,1
    - Dst: memset
      Src: /src/vlc/modules/video_filter/croppadd.c:305,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/croppadd.c:309,1
    - Dst: memset
      Src: /src/vlc/modules/video_filter/croppadd.c:314,1
    - Dst: memset
      Src: /src/vlc/modules/video_filter/croppadd.c:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 3
    argNames:
    - p_filter
    - p_pic
    - p_outpic
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 326
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/croppadd.c
    functionUses: 27
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: void Filter( filter_t *p_filter, picture_t *p_pic, picture_t *p_outpic
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: MOD
    functionSourceFile: /src/vlc/modules/video_filter/vhs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t MOD(int64_t a, int64_t b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: es_format_IsSimilar
      Src: /src/vlc/modules/video_filter/vhs.c:120,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/vhs.c:121,1
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/video_filter/vhs.c:128,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/vhs.c:129,1
    - Dst: vlc_fourcc_IsYUV
      Src: /src/vlc/modules/video_filter/vhs.c:132,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/vhs.c:134,1
    - Dst: calloc
      Src: /src/vlc/modules/video_filter/vhs.c:139,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/vhs.c:140,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/video_filter/vhs.c:149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: ( p_chroma != NULL )
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/vlc/modules/video_filter/vhs.c
    constantsTouched: []
    func_position:
      end: 152
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 152
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_filter/vhs.c
    functionUses: 33
    functionsReached:
    - vlc_tick_now
    - assert
    - es_format_IsSimilar
    - msg_Err
    - calloc
    - vlc_fourcc_IsYUV
    - vlc_fourcc_GetChromaDescription
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Open( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vhs_free_allocated_data
      Src: /src/vlc/modules/video_filter/vhs.c:161,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/vhs.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_filter/vhs.c
    functionUses: 114
    functionsReached:
    - free
    - vhs_free_allocated_data
    linkageType: ''
    returnType: void
    signature: void Close( filter_t *p_filter )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/vhs.c:169,1
    - Dst: filter_NewPicture
      Src: /src/vlc/modules/video_filter/vhs.c:174,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/vhs.c:175,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/vhs.c:176,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/video_filter/vhs.c:184,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/vhs.c:189,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/vhs.c:190,1
    - Dst: vhs_allocate_data
      Src: /src/vlc/modules/video_filter/vhs.c:190,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/vhs.c:191,1
    - Dst: picture_CopyPixels
      Src: /src/vlc/modules/video_filter/vhs.c:199,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/vhs.c:204,1
    - Dst: vhs_blue_red_line_effect
      Src: /src/vlc/modules/video_filter/vhs.c:204,1
    - Dst: CopyInfoAndRelease
      Src: /src/vlc/modules/video_filter/vhs.c:205,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/vhs.c:207,1
    - Dst: vhs_sliding_effect
      Src: /src/vlc/modules/video_filter/vhs.c:207,1
    - Dst: CopyInfoAndRelease
      Src: /src/vlc/modules/video_filter/vhs.c:208,1
    - Dst: vhs_blue_red_dots_effect
      Src: /src/vlc/modules/video_filter/vhs.c:210,1
    - Dst: CopyInfoAndRelease
      Src: /src/vlc/modules/video_filter/vhs.c:212,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - p_filter
    - p_pic_in
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 213
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/vhs.c
    functionUses: 27
    functionsReached:
    - vlc_tick_now
    - CopyInfoAndRelease
    - vhs_blue_red_dots_effect
    - vhs_allocate_data
    - filter_NewPicture
    - picture_Release
    - vhs_sliding_effect
    - picture_CopyPixels
    - unlikely
    - vhs_blue_red_line_effect
    linkageType: ''
    returnType: picture_t
    signature: picture_t *Filter( filter_t *p_filter, picture_t *p_pic_in )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vhs_free_allocated_data
      Src: /src/vlc/modules/video_filter/vhs.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - p_filter
    - p_pic_in
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 234
    functionName: vhs_allocate_data
    functionSourceFile: /src/vlc/modules/video_filter/vhs.c
    functionUses: 1
    functionsReached:
    - vhs_free_allocated_data
    linkageType: ''
    returnType: int
    signature: int vhs_allocate_data( filter_t *p_filter, picture_t *p_pic_in )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREENULL
      Src: /src/vlc/modules/video_filter/vhs.c:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 246
    functionName: vhs_free_allocated_data
    functionSourceFile: /src/vlc/modules/video_filter/vhs.c
    functionUses: 2
    functionsReached:
    - FREENULL
    linkageType: ''
    returnType: void
    signature: void vhs_free_allocated_data( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/vhs.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_sys
    - modulo
    argTypes:
    - filter_sys_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: RandomEnd
    functionSourceFile: /src/vlc/modules/video_filter/vhs.c
    functionUses: 0
    functionsReached:
    - vlc_mrand48
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t RandomEnd(filter_sys_t *p_sys, vlc_tick_t modulo)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/video_filter/vhs.c:267,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/vhs.c:268,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/vhs.c:272,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/vhs.c:273,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/vhs.c:276,1
    - Dst: RandomEnd
      Src: /src/vlc/modules/video_filter/vhs.c:278,1
    - Dst: RandomEnd
      Src: /src/vlc/modules/video_filter/vhs.c:282,1
    - Dst: FREENULL
      Src: /src/vlc/modules/video_filter/vhs.c:291,1
    - Dst: memset
      Src: /src/vlc/modules/video_filter/vhs.c:304,1
    - Dst: memset
      Src: /src/vlc/modules/video_filter/vhs.c:308,1
    - Dst: memset
      Src: /src/vlc/modules/video_filter/vhs.c:313,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 2
    argNames:
    - p_filter
    - p_pic_out
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 322
    functionName: vhs_blue_red_line_effect
    functionSourceFile: /src/vlc/modules/video_filter/vhs.c
    functionUses: 1
    functionsReached:
    - memset
    - calloc
    - __MAX
    - vlc_mrand48
    - FREENULL
    - RandomEnd
    - unlikely
    linkageType: ''
    returnType: int
    signature: int vhs_blue_red_line_effect( filter_t *p_filter, picture_t *p_pic_out
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/vhs.c:336,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/vhs.c:337,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/vhs.c:339,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/vhs.c:340,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/vhs.c:341,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/vhs.c:342,1
    - Dst: memset
      Src: /src/vlc/modules/video_filter/vhs.c:358,1
    - Dst: memset
      Src: /src/vlc/modules/video_filter/vhs.c:362,1
    - Dst: memset
      Src: /src/vlc/modules/video_filter/vhs.c:367,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - p_filter
    - p_pic_out
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 374
    functionName: vhs_blue_red_dots_effect
    functionSourceFile: /src/vlc/modules/video_filter/vhs.c
    functionUses: 1
    functionsReached:
    - __MAX
    - vlc_mrand48
    - memset
    linkageType: ''
    returnType: void
    signature: void vhs_blue_red_dots_effect( filter_t *p_filter, picture_t *p_pic_out
      )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: RandomEnd
      Src: /src/vlc/modules/video_filter/vhs.c:393,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/vhs.c:398,1
    - Dst: MOD
      Src: /src/vlc/modules/video_filter/vhs.c:411,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/vhs.c:411,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/video_filter/vhs.c:413,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/vhs.c:414,1
    - Dst: RandomEnd
      Src: /src/vlc/modules/video_filter/vhs.c:431,1
    - Dst: RandomEnd
      Src: /src/vlc/modules/video_filter/vhs.c:441,1
    - Dst: MOD
      Src: /src/vlc/modules/video_filter/vhs.c:444,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/vhs.c:444,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/vhs.c:445,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/vhs.c:453,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/video_filter/vhs.c:458,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/vhs.c:461,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/vhs.c:461,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/vhs.c:462,1
    - Dst: MOD
      Src: /src/vlc/modules/video_filter/vhs.c:472,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/video_filter/vhs.c:474,1
    - Dst: vhs_sliding_effect_apply
      Src: /src/vlc/modules/video_filter/vhs.c:477,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 2
    argNames:
    - p_filter
    - p_pic_out
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 478
    functionName: vhs_sliding_effect
    functionSourceFile: /src/vlc/modules/video_filter/vhs.c
    functionUses: 1
    functionsReached:
    - vhs_sliding_effect_apply
    - SEC_FROM_VLC_TICK
    - VLC_CLIP
    - vlc_mrand48
    - MOD
    - abs
    - RandomEnd
    linkageType: ''
    returnType: int
    signature: int vhs_sliding_effect( filter_t *p_filter, picture_t *p_pic_out )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/video_filter/vhs.c:491,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/vhs.c:493,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/vhs.c:495,1
    - Dst: MOD
      Src: /src/vlc/modules/video_filter/vhs.c:510,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/vhs.c:514,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/vhs.c:519,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - p_filter
    - p_pic_out
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 523
    functionName: vhs_sliding_effect_apply
    functionSourceFile: /src/vlc/modules/video_filter/vhs.c
    functionUses: 1
    functionsReached:
    - memcpy
    - calloc
    - free
    - MOD
    - unlikely
    linkageType: ''
    returnType: int
    signature: int vhs_sliding_effect_apply( filter_t *p_filter, picture_t *p_pic_out
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:81,1
    - Dst: eglMakeCurrent
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:82,1
    - Dst: opengl_vtable_t*::BindBuffer
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:89,1
    - Dst: opengl_vtable_t*::BindFramebuffer
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts:
    - condition: (!sys->current)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/vlc/modules/video_filter/egl_pbuffer.c
    constantsTouched: []
    func_position:
      end: 93
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 93
    functionName: MakeCurrent
    functionSourceFile: /src/vlc/modules/video_filter/egl_pbuffer.c
    functionUses: 18
    functionsReached:
    - opengl_vtable_t*::BindFramebuffer
    - opengl_vtable_t*::BindBuffer
    - assert
    - eglMakeCurrent
    linkageType: ''
    returnType: int
    signature: int MakeCurrent (vlc_gl_t *gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:99,1
    - Dst: eglMakeCurrent
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts:
    - condition: (sys->current)
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/vlc/modules/video_filter/egl_pbuffer.c
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: ReleaseCurrent
    functionSourceFile: /src/vlc/modules/video_filter/egl_pbuffer.c
    functionUses: 11
    functionsReached:
    - assert
    - eglMakeCurrent
    linkageType: ''
    returnType: void
    signature: void ReleaseCurrent (vlc_gl_t *gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eglGetProcAddress
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - gl
    - procname
    argTypes:
    - vlc_gl_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: GetSymbol
    functionSourceFile: /src/vlc/modules/video_filter/egl_pbuffer.c
    functionUses: 0
    functionsReached:
    - eglGetProcAddress
    linkageType: ''
    returnType: void
    signature: void *GetSymbol(vlc_gl_t *gl, const char *procname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eglCreateContext
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - gl
    - cfg
    - client_version
    argTypes:
    - vlc_gl_t*
    - EGLConfig
    - EGLint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: CreateContext
    functionSourceFile: /src/vlc/modules/video_filter/egl_pbuffer.c
    functionUses: 5
    functionsReached:
    - eglCreateContext
    linkageType: ''
    returnType: EGLContext
    signature: EGLContext CreateContext(vlc_gl_t *gl, EGLConfig cfg, EGLint client_version)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vlc_egl_display_New
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:128,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:128,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:133,1
    - Dst: eglInitialize
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:137,1
    - Dst: vlc_egl_display_Delete
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:139,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:142,1
    - Dst: eglQueryString
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:143,1
    - Dst: eglQueryString
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:144,1
    - Dst: eglQueryString
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:147,1
    - Dst: vlc_gl_StrHasToken
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:149,1
    - Dst: msg_Info
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:172,1
    - Dst: eglChooseConfig
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:179,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:182,1
    - Dst: eglCreatePbufferSurface
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:189,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:193,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:194,1
    - Dst: eglBindAPI
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:207,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:209,1
    - Dst: CreateContext
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:213,1
    - Dst: CreateContext
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:217,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:221,1
    - Dst: eglTerminate
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:229,1
    - Dst: vlc_egl_display_Delete
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:230,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 4
    argNames:
    - gl
    - opengl_api
    - width
    - height
    argTypes:
    - vlc_gl_t*
    - int
    - unsigned
    - unsigned
    assertStmts:
    - condition: (false)
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/vlc/modules/video_filter/egl_pbuffer.c
    - condition: (sys->display != EGL_NO_DISPLAY)
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/vlc/modules/video_filter/egl_pbuffer.c
    constantsTouched: []
    func_position:
      end: 232
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 232
    functionName: InitEGL
    functionSourceFile: /src/vlc/modules/video_filter/egl_pbuffer.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_gl_StrHasToken
    - eglCreatePbufferSurface
    - eglQueryString
    - msg_Err
    - msg_Info
    - eglChooseConfig
    - msg_Dbg
    - CreateContext
    - VLC_OBJECT
    - vlc_egl_display_New
    - eglTerminate
    - vlc_egl_display_Delete
    - eglInitialize
    - eglBindAPI
    linkageType: ''
    returnType: int
    signature: int InitEGL(vlc_gl_t *gl, int opengl_api, unsigned width, unsigned
      height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:239,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - input
    argTypes:
    - picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 243
    functionName: picture_context_copy
    functionSourceFile: /src/vlc/modules/video_filter/egl_pbuffer.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: picture_context_t
    signature: picture_context_t *picture_context_copy(picture_context_t *input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:249,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:251,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - input
    argTypes:
    - picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 253
    functionName: picture_context_destroy
    functionSourceFile: /src/vlc/modules/video_filter/egl_pbuffer.c
    functionUses: 0
    functionsReached:
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void picture_context_destroy(picture_context_t *input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: opengl_vtable_t*::BindFramebuffer
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sys
    argTypes:
    - struct vlc_gl_pbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 260
    functionName: BindDrawFramebuffer
    functionSourceFile: /src/vlc/modules/video_filter/egl_pbuffer.c
    functionUses: 2
    functionsReached:
    - opengl_vtable_t*::BindFramebuffer
    linkageType: ''
    returnType: void
    signature: void BindDrawFramebuffer(struct vlc_gl_pbuffer *sys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:266,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:272,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:276,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:279,1
    - Dst: BindDrawFramebuffer
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:282,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts:
    - condition: (sys->picture_contexts[index].rc >= 0)
      pos:
        line_end: 271
        line_start: 271
        source_file: /src/vlc/modules/video_filter/egl_pbuffer.c
    constantsTouched: []
    func_position:
      end: 283
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 283
    functionName: UpdateBuffer
    functionSourceFile: /src/vlc/modules/video_filter/egl_pbuffer.c
    functionUses: 1
    functionsReached:
    - assert
    - vlc_mutex_unlock
    - BindDrawFramebuffer
    - vlc_mutex_lock
    - vlc_cond_wait
    linkageType: ''
    returnType: void
    signature: void UpdateBuffer(vlc_gl_t *gl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eglMakeCurrent
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:291,1
    - Dst: opengl_vtable_t*::BindBuffer
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:297,1
    - Dst: opengl_vtable_t*::BindFramebuffer
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:298,1
    - Dst: opengl_vtable_t*::UnmapBuffer
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:300,1
    - Dst: opengl_vtable_t*::ReadPixels
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:306,1
    - Dst: opengl_vtable_t*::MapBufferRange
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:308,1
    - Dst: opengl_vtable_t*::GetIntegerv
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:312,1
    - Dst: UpdateBuffer
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:319,1
    - Dst: eglMakeCurrent
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:322,1
    - Dst: picture_NewFromResource
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:335,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:336,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts:
    - condition: (output)
      pos:
        line_end: 335
        line_start: 335
        source_file: /src/vlc/modules/video_filter/egl_pbuffer.c
    constantsTouched: []
    func_position:
      end: 348
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 348
    functionName: Swap
    functionSourceFile: /src/vlc/modules/video_filter/egl_pbuffer.c
    functionUses: 5
    functionsReached:
    - picture_NewFromResource
    - assert
    - opengl_vtable_t*::ReadPixels
    - eglMakeCurrent
    - opengl_vtable_t*::MapBufferRange
    - opengl_vtable_t*::BindFramebuffer
    - opengl_vtable_t*::GetIntegerv
    - opengl_vtable_t*::BindBuffer
    - opengl_vtable_t*::UnmapBuffer
    - UpdateBuffer
    linkageType: ''
    returnType: picture_t
    signature: picture_t *Swap(vlc_gl_t *gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_MakeCurrent
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:355,1
    - Dst: opengl_vtable_t*::DeleteBuffers
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:356,1
    - Dst: opengl_vtable_t*::DeleteFramebuffers
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:357,1
    - Dst: opengl_vtable_t*::DeleteTextures
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:358,1
    - Dst: vlc_gl_ReleaseCurrent
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:359,1
    - Dst: eglTerminate
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:361,1
    - Dst: vlc_egl_display_Delete
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 363
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_filter/egl_pbuffer.c
    functionUses: 114
    functionsReached:
    - vlc_gl_MakeCurrent
    - vlc_egl_display_Delete
    - vlc_gl_ReleaseCurrent
    - opengl_vtable_t*::DeleteTextures
    - eglTerminate
    - opengl_vtable_t*::DeleteFramebuffers
    - opengl_vtable_t*::DeleteBuffers
    linkageType: ''
    returnType: void
    signature: void Close( vlc_gl_t *gl )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:370,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:374,1
    - Dst: video_format_Init
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:381,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:392,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:393,1
    - Dst: InitEGL
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:397,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:399,1
    - Dst: eglMakeCurrent
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:414,1
    - Dst: vlc_gl_api_Init
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:418,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:421,1
    - Dst: eglMakeCurrent
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:422,1
    - Dst: opengl_vtable_t*::GenBuffers
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:428,1
    - Dst: opengl_vtable_t*::GenFramebuffers
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:429,1
    - Dst: opengl_vtable_t*::GenTextures
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:430,1
    - Dst: opengl_vtable_t*::BindBuffer
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:434,1
    - Dst: opengl_vtable_t*::BufferData
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:435,1
    - Dst: opengl_vtable_t*::BindFramebuffer
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:437,1
    - Dst: opengl_vtable_t*::BindTexture
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:438,1
    - Dst: opengl_vtable_t*::TexImage2D
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:439,1
    - Dst: opengl_vtable_t*::FramebufferTexture2D
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:441,1
    - Dst: BindDrawFramebuffer
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:454,1
    - Dst: eglMakeCurrent
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:455,1
    - Dst: eglTerminate
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:461,1
    - Dst: vlc_egl_display_Delete
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:462,1
    - Dst: vlc_obj_free
      Src: /src/vlc/modules/video_filter/egl_pbuffer.c:464,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 60
    argCount: 4
    argNames:
    - gl
    - width
    - height
    - gl_cfg
    argTypes:
    - vlc_gl_t*
    - unsigned
    - unsigned
    - struct vlc_gl_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 467
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_filter/egl_pbuffer.c
    functionUses: 33
    functionsReached:
    - vlc_obj_malloc
    - opengl_vtable_t*::BindTexture
    - InitEGL
    - opengl_vtable_t*::GenBuffers
    - opengl_vtable_t*::GenFramebuffers
    - opengl_vtable_t*::FramebufferTexture2D
    - vlc_gl_api_Init
    - msg_Err
    - vlc_cond_init
    - opengl_vtable_t*::BindFramebuffer
    - eglTerminate
    - opengl_vtable_t*::TexImage2D
    - opengl_vtable_t*::BindBuffer
    - video_format_Init
    - eglMakeCurrent
    - BindDrawFramebuffer
    - vlc_mutex_init
    - vlc_obj_free
    - opengl_vtable_t*::BufferData
    - vlc_egl_display_Delete
    - opengl_vtable_t*::GenTextures
    linkageType: ''
    returnType: int
    signature: "int Open(vlc_gl_t *gl, unsigned width, unsigned height,\n                const
      struct vlc_gl_cfg *gl_cfg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_filter/gaussianblur.c:106,1
    - Dst: sqrt
      Src: /src/vlc/modules/video_filter/gaussianblur.c:112,1
    - Dst: exp
      Src: /src/vlc/modules/video_filter/gaussianblur.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - filter_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 126
    functionName: gaussianblur_InitDistribution
    functionSourceFile: /src/vlc/modules/video_filter/gaussianblur.c
    functionUses: 0
    functionsReached:
    - exp
    - vlc_alloc
    - sqrt
    linkageType: ''
    returnType: int
    signature: int gaussianblur_InitDistribution( filter_sys_t *p_sys )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/gaussianblur.c:137,1
    - Dst: video_format_IsSameChroma
      Src: /src/vlc/modules/video_filter/gaussianblur.c:142,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/gaussianblur.c:145,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/gaussianblur.c:149,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_filter/gaussianblur.c:154,1
    - Dst: var_CreateGetFloat
      Src: /src/vlc/modules/video_filter/gaussianblur.c:160,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/gaussianblur.c:163,1
    - Dst: gaussianblur_InitDistribution
      Src: /src/vlc/modules/video_filter/gaussianblur.c:166,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/gaussianblur.c:168,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/gaussianblur.c:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 178
    functionName: Create
    functionSourceFile: /src/vlc/modules/video_filter/gaussianblur.c
    functionUses: 122
    functionsReached:
    - video_format_IsSameChroma
    - config_ChainParse
    - msg_Err
    - free
    - msg_Dbg
    - gaussianblur_InitDistribution
    - var_CreateGetFloat
    - malloc
    linkageType: ''
    returnType: int
    signature: int Create( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/video_filter/gaussianblur.c:184,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/gaussianblur.c:185,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/gaussianblur.c:186,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/gaussianblur.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 189
    functionName: Destroy
    functionSourceFile: /src/vlc/modules/video_filter/gaussianblur.c
    functionUses: 74
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void Destroy( filter_t *p_filter )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ckd_mul
      Src: /src/vlc/modules/video_filter/gaussianblur.c:200,1
    - Dst: ckd_mul
      Src: /src/vlc/modules/video_filter/gaussianblur.c:201,1
    - Dst: realloc_or_free
      Src: /src/vlc/modules/video_filter/gaussianblur.c:206,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/gaussianblur.c:214,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/gaussianblur.c:229,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/gaussianblur.c:230,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/gaussianblur.c:233,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/gaussianblur.c:234,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/gaussianblur.c:266,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/gaussianblur.c:267,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/gaussianblur.c:282,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/gaussianblur.c:283,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 3
    argNames:
    - p_filter
    - p_pic
    - p_outpic
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 295
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/gaussianblur.c
    functionUses: 27
    functionsReached:
    - ckd_mul
    - __MAX
    - __MIN
    - realloc_or_free
    - malloc
    linkageType: ''
    returnType: void
    signature: void Filter( filter_t *p_filter, picture_t *p_pic, picture_t *p_outpic
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/video_filter/motionblur.c:93,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/motionblur.c:94,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/motionblur.c:99,1
    - Dst: picture_NewFromFormat
      Src: /src/vlc/modules/video_filter/motionblur.c:104,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/motionblur.c:107,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_filter/motionblur.c:114,1
    - Dst: atomic_init
      Src: /src/vlc/modules/video_filter/motionblur.c:117,1
    - Dst: var_CreateGetIntegerCommand
      Src: /src/vlc/modules/video_filter/motionblur.c:118,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/motionblur.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: ( p_chroma != NULL )
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/vlc/modules/video_filter/motionblur.c
    constantsTouched: []
    func_position:
      end: 124
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 124
    functionName: Create
    functionSourceFile: /src/vlc/modules/video_filter/motionblur.c
    functionUses: 122
    functionsReached:
    - var_CreateGetIntegerCommand
    - atomic_init
    - assert
    - var_AddCallback
    - config_ChainParse
    - free
    - vlc_fourcc_GetChromaDescription
    - malloc
    - picture_NewFromFormat
    linkageType: ''
    returnType: int
    signature: int Create( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/motionblur.c:133,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/motionblur.c:136,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/motionblur.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: Destroy
    functionSourceFile: /src/vlc/modules/video_filter/motionblur.c
    functionUses: 74
    functionsReached:
    - free
    - picture_Release
    - var_DelCallback
    linkageType: ''
    returnType: void
    signature: void Destroy( filter_t *p_filter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: picture_CopyPixels
      Src: /src/vlc/modules/video_filter/motionblur.c:149,1
    - Dst: RenderBlur
      Src: /src/vlc/modules/video_filter/motionblur.c:154,1
    - Dst: picture_CopyPixels
      Src: /src/vlc/modules/video_filter/motionblur.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - p_filter
    - p_pic
    - p_outpic
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 157
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/motionblur.c
    functionUses: 27
    functionsReached:
    - RenderBlur
    - picture_CopyPixels
    linkageType: ''
    returnType: void
    signature: void Filter( filter_t *p_filter, picture_t *p_pic, picture_t * p_outpic
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/vlc/modules/video_filter/motionblur.c:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - p_sys
    - p_newpic
    - p_outpic
    argTypes:
    - filter_sys_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 193
    functionName: RenderBlur
    functionSourceFile: /src/vlc/modules/video_filter/motionblur.c
    functionUses: 1
    functionsReached:
    - atomic_load
    linkageType: ''
    returnType: void
    signature: "void RenderBlur( filter_sys_t *p_sys, picture_t *p_newpic,\n                        picture_t
      *p_outpic )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/motionblur.c:199,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/motionblur.c:199,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/motionblur.c:199,1
    - Dst: atomic_store
      Src: /src/vlc/modules/video_filter/motionblur.c:202,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/video_filter/motionblur.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - p_this
    - psz_var
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 204
    functionName: MotionBlurCallback
    functionSourceFile: /src/vlc/modules/video_filter/motionblur.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - VLC_CLIP
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int MotionBlurCallback( vlc_object_t *p_this, char const *psz_var,\n
      \                              vlc_value_t oldval, vlc_value_t newval,\n                               void
      *p_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i_bpp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: I_RANGE
    functionSourceFile: /src/vlc/modules/video_filter/adjust_sat_hue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: I_RANGE( i_bpp )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i_bpp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: I_MAX
    functionSourceFile: /src/vlc/modules/video_filter/adjust_sat_hue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: I_MAX( i_bpp )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i_bpp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: I_MID
    functionSourceFile: /src/vlc/modules/video_filter/adjust_sat_hue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: I_MID( i_bpp )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i_bpp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: PLANAR_WRITE_UV_CLIP
    functionSourceFile: /src/vlc/modules/video_filter/adjust_sat_hue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLANAR_WRITE_UV_CLIP( i_bpp )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i_bpp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: PLANAR_WRITE_UV
    functionSourceFile: /src/vlc/modules/video_filter/adjust_sat_hue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLANAR_WRITE_UV( i_bpp )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: PACKED_WRITE_UV_CLIP
    functionSourceFile: /src/vlc/modules/video_filter/adjust_sat_hue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACKED_WRITE_UV_CLIP()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: PACKED_WRITE_UV
    functionSourceFile: /src/vlc/modules/video_filter/adjust_sat_hue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACKED_WRITE_UV()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: ADJUST_8_TIMES
    functionSourceFile: /src/vlc/modules/video_filter/adjust_sat_hue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADJUST_8_TIMES(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADJUST_8_TIMES
      Src: /src/vlc/modules/video_filter/adjust_sat_hue.c:100,1
    - Dst: PLANAR_WRITE_UV_CLIP
      Src: /src/vlc/modules/video_filter/adjust_sat_hue.c:100,1
    - Dst: PLANAR_WRITE_UV_CLIP
      Src: /src/vlc/modules/video_filter/adjust_sat_hue.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 7
    argNames:
    - p_pic
    - p_outpic
    - i_sin
    - i_cos
    - i_sat
    - i_x
    - i_y
    argTypes:
    - picture_t*
    - picture_t*
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 121
    functionName: planar_sat_hue_clip_C
    functionSourceFile: /src/vlc/modules/video_filter/adjust_sat_hue.c
    functionUses: 0
    functionsReached:
    - PLANAR_WRITE_UV_CLIP
    - ADJUST_8_TIMES
    linkageType: ''
    returnType: int
    signature: "int planar_sat_hue_clip_C( picture_t * p_pic, picture_t * p_outpic,
      int i_sin, int i_cos,\n                         int i_sat, int i_x, int i_y
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADJUST_8_TIMES
      Src: /src/vlc/modules/video_filter/adjust_sat_hue.c:146,1
    - Dst: PLANAR_WRITE_UV
      Src: /src/vlc/modules/video_filter/adjust_sat_hue.c:146,1
    - Dst: PLANAR_WRITE_UV
      Src: /src/vlc/modules/video_filter/adjust_sat_hue.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 7
    argNames:
    - p_pic
    - p_outpic
    - i_sin
    - i_cos
    - i_sat
    - i_x
    - i_y
    argTypes:
    - picture_t*
    - picture_t*
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 167
    functionName: planar_sat_hue_C
    functionSourceFile: /src/vlc/modules/video_filter/adjust_sat_hue.c
    functionUses: 0
    functionsReached:
    - PLANAR_WRITE_UV
    - ADJUST_8_TIMES
    linkageType: ''
    returnType: int
    signature: "int planar_sat_hue_C( picture_t * p_pic, picture_t * p_outpic, int
      i_sin, int i_cos,\n                         int i_sat, int i_x, int i_y )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_filter/adjust_sat_hue.c:185,1
    - Dst: ADJUST_8_TIMES
      Src: /src/vlc/modules/video_filter/adjust_sat_hue.c:205,1
    - Dst: PLANAR_WRITE_UV_CLIP
      Src: /src/vlc/modules/video_filter/adjust_sat_hue.c:205,1
    - Dst: PLANAR_WRITE_UV_CLIP
      Src: /src/vlc/modules/video_filter/adjust_sat_hue.c:212,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 7
    argNames:
    - p_pic
    - p_outpic
    - i_sin
    - i_cos
    - i_sat
    - i_x
    - i_y
    argTypes:
    - picture_t*
    - picture_t*
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 226
    functionName: planar_sat_hue_clip_C_16
    functionSourceFile: /src/vlc/modules/video_filter/adjust_sat_hue.c
    functionUses: 0
    functionsReached:
    - PLANAR_WRITE_UV_CLIP
    - vlc_assert_unreachable
    - ADJUST_8_TIMES
    linkageType: ''
    returnType: int
    signature: "int planar_sat_hue_clip_C_16( picture_t * p_pic, picture_t * p_outpic,
      int i_sin, int i_cos,\n                         int i_sat, int i_x, int i_y
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_filter/adjust_sat_hue.c:244,1
    - Dst: ADJUST_8_TIMES
      Src: /src/vlc/modules/video_filter/adjust_sat_hue.c:264,1
    - Dst: PLANAR_WRITE_UV
      Src: /src/vlc/modules/video_filter/adjust_sat_hue.c:264,1
    - Dst: PLANAR_WRITE_UV
      Src: /src/vlc/modules/video_filter/adjust_sat_hue.c:271,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 7
    argNames:
    - p_pic
    - p_outpic
    - i_sin
    - i_cos
    - i_sat
    - i_x
    - i_y
    argTypes:
    - picture_t*
    - picture_t*
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 285
    functionName: planar_sat_hue_C_16
    functionSourceFile: /src/vlc/modules/video_filter/adjust_sat_hue.c
    functionUses: 0
    functionsReached:
    - PLANAR_WRITE_UV
    - vlc_assert_unreachable
    - ADJUST_8_TIMES
    linkageType: ''
    returnType: int
    signature: "int planar_sat_hue_C_16( picture_t * p_pic, picture_t * p_outpic,
      int i_sin, int i_cos,\n                            int i_sat, int i_x, int i_y
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetPackedYuvOffsets
      Src: /src/vlc/modules/video_filter/adjust_sat_hue.c:297,1
    - Dst: ADJUST_8_TIMES
      Src: /src/vlc/modules/video_filter/adjust_sat_hue.c:321,1
    - Dst: PACKED_WRITE_UV_CLIP
      Src: /src/vlc/modules/video_filter/adjust_sat_hue.c:321,1
    - Dst: PACKED_WRITE_UV_CLIP
      Src: /src/vlc/modules/video_filter/adjust_sat_hue.c:328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 7
    argNames:
    - p_pic
    - p_outpic
    - i_sin
    - i_cos
    - i_sat
    - i_x
    - i_y
    argTypes:
    - picture_t*
    - picture_t*
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 338
    functionName: packed_sat_hue_clip_C
    functionSourceFile: /src/vlc/modules/video_filter/adjust_sat_hue.c
    functionUses: 0
    functionsReached:
    - GetPackedYuvOffsets
    - PACKED_WRITE_UV_CLIP
    - ADJUST_8_TIMES
    linkageType: ''
    returnType: int
    signature: "int packed_sat_hue_clip_C( picture_t * p_pic, picture_t * p_outpic,
      int i_sin, int i_cos,\n                         int i_sat, int i_x, int i_y
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetPackedYuvOffsets
      Src: /src/vlc/modules/video_filter/adjust_sat_hue.c:350,1
    - Dst: ADJUST_8_TIMES
      Src: /src/vlc/modules/video_filter/adjust_sat_hue.c:374,1
    - Dst: PACKED_WRITE_UV
      Src: /src/vlc/modules/video_filter/adjust_sat_hue.c:374,1
    - Dst: PACKED_WRITE_UV
      Src: /src/vlc/modules/video_filter/adjust_sat_hue.c:381,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 7
    argNames:
    - p_pic
    - p_outpic
    - i_sin
    - i_cos
    - i_sat
    - i_x
    - i_y
    argTypes:
    - picture_t*
    - picture_t*
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 391
    functionName: packed_sat_hue_C
    functionSourceFile: /src/vlc/modules/video_filter/adjust_sat_hue.c
    functionUses: 0
    functionsReached:
    - GetPackedYuvOffsets
    - PACKED_WRITE_UV
    - ADJUST_8_TIMES
    linkageType: ''
    returnType: int
    signature: "int packed_sat_hue_C( picture_t * p_pic, picture_t * p_outpic, int
      i_sin,\n                      int i_cos, int i_sat, int i_x, int i_y )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - filter
    - src
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/transform.c
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: picture_t
    signature: picture_t *Filter(filter_t *filter, picture_t *src)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/transform.c:65,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_filter/transform.c:73,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_filter/transform.c:75,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_filter/transform.c:78,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/transform.c:79,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_filter/transform.c:85,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/transform.c:89,1
    - Dst: video_format_GetTransform
      Src: /src/vlc/modules/video_filter/transform.c:94,1
    - Dst: transform_Inverse
      Src: /src/vlc/modules/video_filter/transform.c:96,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 104
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_filter/transform.c
    functionUses: 33
    functionsReached:
    - var_InheritString
    - ARRAY_SIZE
    - config_ChainParse
    - msg_Err
    - strcmp
    - free
    - video_format_GetTransform
    - transform_Inverse
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int Open(filter_t *filter)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/magnify.c:100,1
    - Dst: es_format_IsSimilar
      Src: /src/vlc/modules/video_filter/magnify.c:103,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/magnify.c:105,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/magnify.c:110,1
    - Dst: image_HandlerCreate
      Src: /src/vlc/modules/video_filter/magnify.c:114,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/magnify.c:117,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/video_filter/magnify.c:125,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/video_filter/magnify.c:126,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_filter/magnify.c:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 137
    functionName: Create
    functionSourceFile: /src/vlc/modules/video_filter/magnify.c
    functionUses: 123
    functionsReached:
    - vlc_tick_now
    - var_InheritInteger
    - es_format_IsSimilar
    - VLC_TICK_FROM_MS
    - msg_Err
    - free
    - image_HandlerCreate
    - malloc
    linkageType: ''
    returnType: int
    signature: int Create( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: image_HandlerDelete
      Src: /src/vlc/modules/video_filter/magnify.c:146,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/magnify.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: Destroy
    functionSourceFile: /src/vlc/modules/video_filter/magnify.c
    functionUses: 74
    functionsReached:
    - free
    - image_HandlerDelete
    linkageType: ''
    returnType: void
    signature: void Destroy( filter_t *p_filter )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: filter_NewPicture
      Src: /src/vlc/modules/video_filter/magnify.c:163,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/magnify.c:166,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/magnify.c:182,1
    - Dst: image_Convert
      Src: /src/vlc/modules/video_filter/magnify.c:199,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/magnify.c:200,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/magnify.c:202,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/magnify.c:205,1
    - Dst: picture_CopyPixels
      Src: /src/vlc/modules/video_filter/magnify.c:207,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/magnify.c:209,1
    - Dst: picture_CopyPixels
      Src: /src/vlc/modules/video_filter/magnify.c:213,1
    - Dst: image_Convert
      Src: /src/vlc/modules/video_filter/magnify.c:226,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/magnify.c:228,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/magnify.c:230,1
    - Dst: picture_CopyPixels
      Src: /src/vlc/modules/video_filter/magnify.c:235,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/magnify.c:237,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/magnify.c:240,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/magnify.c:241,1
    - Dst: DrawRectangle
      Src: /src/vlc/modules/video_filter/magnify.c:243,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/video_filter/magnify.c:258,1
    - Dst: DrawZoomStatus
      Src: /src/vlc/modules/video_filter/magnify.c:259,1
    - Dst: memset
      Src: /src/vlc/modules/video_filter/magnify.c:265,1
    - Dst: memset
      Src: /src/vlc/modules/video_filter/magnify.c:272,1
    - Dst: CopyInfoAndRelease
      Src: /src/vlc/modules/video_filter/magnify.c:282,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 60
    argCount: 2
    argNames:
    - p_filter
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 283
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/magnify.c
    functionUses: 27
    functionsReached:
    - vlc_tick_now
    - memset
    - memcpy
    - image_Convert
    - filter_NewPicture
    - picture_Release
    - __MIN
    - DrawRectangle
    - DrawZoomStatus
    - picture_CopyPixels
    - unlikely
    - CopyInfoAndRelease
    linkageType: ''
    returnType: picture_t
    signature: picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 7
    argNames:
    - pb_dst
    - i_pitch
    - i_width
    - i_height
    - i_offset_x
    - i_offset_y
    - b_visible
    argTypes:
    - uint8_t*
    - int
    - int
    - int
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 320
    functionName: DrawZoomStatus
    functionSourceFile: /src/vlc/modules/video_filter/magnify.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DrawZoomStatus( uint8_t *pb_dst, int i_pitch, int i_width, int
      i_height,\n                            int i_offset_x, int i_offset_y, bool
      b_visible )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/video_filter/magnify.c:328,1
    - Dst: memset
      Src: /src/vlc/modules/video_filter/magnify.c:338,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 8
    argNames:
    - pb_dst
    - i_pitch
    - i_width
    - i_height
    - x
    - y
    - i_w
    - i_h
    argTypes:
    - uint8_t*
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 339
    functionName: DrawRectangle
    functionSourceFile: /src/vlc/modules/video_filter/magnify.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void DrawRectangle( uint8_t *pb_dst, int i_pitch, int i_width, int
      i_height,\n                           int x, int y, int i_w, int i_h )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mouse_HasPressed
      Src: /src/vlc/modules/video_filter/magnify.c:347,1
    - Dst: vlc_mouse_IsLeftPressed
      Src: /src/vlc/modules/video_filter/magnify.c:348,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/video_filter/magnify.c:367,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/video_filter/magnify.c:369,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/magnify.c:395,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/video_filter/magnify.c:401,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/video_filter/magnify.c:402,1
    - Dst: vlc_mouse_HasMoved
      Src: /src/vlc/modules/video_filter/magnify.c:422,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/video_filter/magnify.c:423,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 38
    argCount: 3
    argNames:
    - p_filter
    - p_new
    - p_old
    argTypes:
    - filter_t*
    - vlc_mouse_t*
    - vlc_mouse_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 432
    functionName: Mouse
    functionSourceFile: /src/vlc/modules/video_filter/magnify.c
    functionUses: 3
    functionsReached:
    - vlc_mouse_IsLeftPressed
    - vlc_tick_now
    - vlc_mouse_HasPressed
    - VLC_CLIP
    - __MAX
    - vlc_mouse_HasMoved
    linkageType: ''
    returnType: int
    signature: int Mouse( filter_t *p_filter, vlc_mouse_t *p_new, const vlc_mouse_t
      *p_old )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/ball.c:225,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/ball.c:249,1
    - Dst: image_HandlerCreate
      Src: /src/vlc/modules/video_filter/ball.c:254,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_filter/ball.c:260,1
    - Dst: var_CreateGetNonEmptyStringCommand
      Src: /src/vlc/modules/video_filter/ball.c:264,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/ball.c:267,1
    - Dst: getBallColor
      Src: /src/vlc/modules/video_filter/ball.c:272,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_filter/ball.c:272,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/ball.c:274,1
    - Dst: var_CreateGetIntegerCommand
      Src: /src/vlc/modules/video_filter/ball.c:277,1
    - Dst: var_CreateGetIntegerCommand
      Src: /src/vlc/modules/video_filter/ball.c:279,1
    - Dst: var_CreateGetBoolCommand
      Src: /src/vlc/modules/video_filter/ball.c:281,1
    - Dst: var_CreateGetIntegerCommand
      Src: /src/vlc/modules/video_filter/ball.c:283,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/video_filter/ball.c:285,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/ball.c:287,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/ball.c:289,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/ball.c:291,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/ball.c:293,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 307
    functionName: Create
    functionSourceFile: /src/vlc/modules/video_filter/ball.c
    functionUses: 124
    functionsReached:
    - var_CreateGetIntegerCommand
    - var_AddCallback
    - vlc_mutex_init
    - getBallColor
    - config_ChainParse
    - msg_Err
    - free
    - var_CreateGetBoolCommand
    - VLC_OBJECT
    - var_CreateGetNonEmptyStringCommand
    - image_HandlerCreate
    - malloc
    linkageType: ''
    returnType: int
    signature: int Create( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/ball.c:319,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/ball.c:321,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/ball.c:323,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/ball.c:325,1
    - Dst: image_HandlerDelete
      Src: /src/vlc/modules/video_filter/ball.c:328,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/ball.c:330,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/ball.c:331,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/ball.c:332,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/ball.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 335
    functionName: Destroy
    functionSourceFile: /src/vlc/modules/video_filter/ball.c
    functionUses: 74
    functionsReached:
    - free
    - image_HandlerDelete
    - var_DelCallback
    linkageType: ''
    returnType: void
    signature: void Destroy( filter_t *p_filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_filter/ball.c:348,1
    - Dst: FilterBall
      Src: /src/vlc/modules/video_filter/ball.c:349,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/ball.c:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_filter
    - p_pic
    - p_outpic
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 351
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/ball.c
    functionUses: 27
    functionsReached:
    - FilterBall
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void Filter( filter_t *p_filter, picture_t *p_pic, picture_t *p_outpic
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - p_sys
    - p_outpic
    argTypes:
    - filter_sys_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 386
    functionName: drawBall
    functionSourceFile: /src/vlc/modules/video_filter/ball.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void drawBall( filter_sys_t *p_sys, picture_t *p_outpic )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/ball.c:393,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/ball.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 8
    argNames:
    - p_sys
    - p_outpic
    - R
    - G
    - B
    - x
    - y
    - b_skip
    argTypes:
    - filter_sys_t*
    - picture_t*
    - uint8_t
    - uint8_t
    - uint8_t
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 401
    functionName: drawPixelRGB24
    functionSourceFile: /src/vlc/modules/video_filter/ball.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void drawPixelRGB24( filter_sys_t *p_sys, picture_t *p_outpic,\n                            uint8_t
      R, uint8_t G, uint8_t B,\n                            int x, int y, bool b_skip
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/ball.c:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 8
    argNames:
    - p_sys
    - p_outpic
    - Y
    - U
    - V
    - x
    - y
    - b_skip
    argTypes:
    - filter_sys_t*
    - picture_t*
    - uint8_t
    - uint8_t
    - uint8_t
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 417
    functionName: drawPixelI420
    functionSourceFile: /src/vlc/modules/video_filter/ball.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void drawPixelI420( filter_sys_t *p_sys, picture_t *p_outpic,\n                           uint8_t
      Y, uint8_t U, uint8_t V,\n                           int x, int y, bool b_skip
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - p_sys
    - p_outpic
    - Y
    - U
    - V
    - x
    - y
    - b_skip
    argTypes:
    - filter_sys_t*
    - picture_t*
    - uint8_t
    - uint8_t
    - uint8_t
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 432
    functionName: drawPixelPacked
    functionSourceFile: /src/vlc/modules/video_filter/ball.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void drawPixelPacked( filter_sys_t *p_sys, picture_t *p_outpic,\n
      \                          uint8_t Y, uint8_t U, uint8_t V,\n                           int
      x, int y, bool b_skip )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/vlc/modules/video_filter/ball.c:442,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - vect_x
    - vect_y
    argTypes:
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 448
    functionName: NormalizeVector
    functionSourceFile: /src/vlc/modules/video_filter/ball.c
    functionUses: 0
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: void
    signature: void NormalizeVector( float *vect_x, float *vect_y )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p_inpic
    - p_smooth
    argTypes:
    - picture_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 507
    functionName: GaussianConvolution
    functionSourceFile: /src/vlc/modules/video_filter/ball.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GaussianConvolution( picture_t *p_inpic, uint32_t *p_smooth )
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: image_Convert
      Src: /src/vlc/modules/video_filter/ball.c:542,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/video_filter/ball.c:545,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_filter/ball.c:561,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_filter/ball.c:566,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_filter/ball.c:571,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/ball.c:576,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/ball.c:578,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/ball.c:580,1
    - Dst: GaussianConvolution
      Src: /src/vlc/modules/video_filter/ball.c:583,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/ball.c:619,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/ball.c:620,1
    - Dst: roundf
      Src: /src/vlc/modules/video_filter/ball.c:652,1
    - Dst: roundf
      Src: /src/vlc/modules/video_filter/ball.c:654,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/ball.c:707,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/ball.c:708,1
    - Dst: NormalizeVector
      Src: /src/vlc/modules/video_filter/ball.c:728,1
    - Dst: NormalizeVector
      Src: /src/vlc/modules/video_filter/ball.c:735,1
    - Dst: roundf
      Src: /src/vlc/modules/video_filter/ball.c:745,1
    - Dst: roundf
      Src: /src/vlc/modules/video_filter/ball.c:746,1
    - Dst: roundf
      Src: /src/vlc/modules/video_filter/ball.c:763,1
    - Dst: roundf
      Src: /src/vlc/modules/video_filter/ball.c:765,1
    - Dst: drawBall
      Src: /src/vlc/modules/video_filter/ball.c:769,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 128
    argCount: 3
    argNames:
    - p_filter
    - p_inpic
    - p_outpic
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 779
    functionName: FilterBall
    functionSourceFile: /src/vlc/modules/video_filter/ball.c
    functionUses: 1
    functionsReached:
    - GaussianConvolution
    - memcpy
    - image_Convert
    - abs
    - vlc_alloc
    - roundf
    - video_format_Clean
    - NormalizeVector
    - drawBall
    linkageType: ''
    returnType: void
    signature: "void FilterBall( filter_t *p_filter, picture_t *p_inpic,\n                           picture_t
      *p_outpic )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/ball.c:791,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/ball.c:793,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_filter/ball.c:795,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/ball.c:796,1
    - Dst: getBallColor
      Src: /src/vlc/modules/video_filter/ball.c:798,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/ball.c:800,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/ball.c:804,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/ball.c:808,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/ball.c:812,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/ball.c:816,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 5
    argNames:
    - p_this
    - psz_var
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 819
    functionName: ballCallback
    functionSourceFile: /src/vlc/modules/video_filter/ball.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - getBallColor
    - msg_Err
    - strcmp
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int ballCallback( vlc_object_t *p_this, char const *psz_var,\n                             vlc_value_t
      oldval, vlc_value_t newval,\n                             void *p_data )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/ball.c:830,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/ball.c:832,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/ball.c:834,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/ball.c:836,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/ball.c:840,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - p_this
    - psz_newval
    argTypes:
    - vlc_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 844
    functionName: getBallColor
    functionSourceFile: /src/vlc/modules/video_filter/ball.c
    functionUses: 2
    functionsReached:
    - strcmp
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int getBallColor( vlc_object_t *p_this, char const *psz_newval )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/sepia.c:123,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/sepia.c:138,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/sepia.c:140,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_filter/sepia.c:144,1
    - Dst: atomic_init
      Src: /src/vlc/modules/video_filter/sepia.c:146,1
    - Dst: var_CreateGetIntegerCommand
      Src: /src/vlc/modules/video_filter/sepia.c:147,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/sepia.c:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 153
    functionName: Create
    functionSourceFile: /src/vlc/modules/video_filter/sepia.c
    functionUses: 124
    functionsReached:
    - var_CreateGetIntegerCommand
    - atomic_init
    - var_AddCallback
    - config_ChainParse
    - free
    - msg_Err
    - malloc
    linkageType: ''
    returnType: int
    signature: int Create( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/sepia.c:162,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/sepia.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: Destroy
    functionSourceFile: /src/vlc/modules/video_filter/sepia.c
    functionUses: 74
    functionsReached:
    - free
    - var_DelCallback
    linkageType: ''
    returnType: void
    signature: void Destroy( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/vlc/modules/video_filter/sepia.c:177,1
    - Dst: filter_sys_t*::pf_sepia
      Src: /src/vlc/modules/video_filter/sepia.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_filter
    - p_pic
    - p_outpic
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/sepia.c
    functionUses: 27
    functionsReached:
    - atomic_load
    - filter_sys_t*::pf_sepia
    linkageType: ''
    returnType: void
    signature: void Filter( filter_t *p_filter, picture_t *p_pic, picture_t *p_outpic
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - src
    - i_intensity_shifted_pair
    argTypes:
    - uint8_t*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 209
    functionName: Sepia8ySSE2
    functionSourceFile: /src/vlc/modules/video_filter/sepia.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VLC_SSE
    signature: "VLC_SSE Sepia8ySSE2(uint8_t * dst, const uint8_t * src,\n                         int
      i_intensity_shifted_pair)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Sepia8ySSE2
      Src: /src/vlc/modules/video_filter/sepia.c:235,1
    - Dst: Sepia8ySSE2
      Src: /src/vlc/modules/video_filter/sepia.c:238,1
    - Dst: Sepia8ySSE2
      Src: /src/vlc/modules/video_filter/sepia.c:241,1
    - Dst: Sepia8ySSE2
      Src: /src/vlc/modules/video_filter/sepia.c:244,1
    - Dst: memset
      Src: /src/vlc/modules/video_filter/sepia.c:248,1
    - Dst: memset
      Src: /src/vlc/modules/video_filter/sepia.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - p_pic
    - p_outpic
    - i_intensity
    argTypes:
    - picture_t*
    - picture_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 282
    functionName: PlanarI420SepiaSSE
    functionSourceFile: /src/vlc/modules/video_filter/sepia.c
    functionUses: 0
    functionsReached:
    - Sepia8ySSE2
    - memset
    linkageType: ''
    returnType: VLC_SSE
    signature: "VLC_SSE PlanarI420SepiaSSE( picture_t *p_pic, picture_t *p_outpic,\n
      \                               int i_intensity )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_CPU_SSE2
      Src: /src/vlc/modules/video_filter/sepia.c:297,1
    - Dst: PlanarI420SepiaSSE
      Src: /src/vlc/modules/video_filter/sepia.c:298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - p_pic
    - p_outpic
    - i_intensity
    argTypes:
    - picture_t*
    - picture_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 345
    functionName: PlanarI420Sepia
    functionSourceFile: /src/vlc/modules/video_filter/sepia.c
    functionUses: 0
    functionsReached:
    - PlanarI420SepiaSSE
    - vlc_CPU_SSE2
    linkageType: ''
    returnType: void
    signature: "void PlanarI420Sepia( picture_t *p_pic, picture_t *p_outpic,\n                               int
      i_intensity )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPackedYuvOffsets
      Src: /src/vlc/modules/video_filter/sepia.c:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - p_pic
    - p_outpic
    - i_intensity
    argTypes:
    - picture_t*
    - picture_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 394
    functionName: PackedYUVSepia
    functionSourceFile: /src/vlc/modules/video_filter/sepia.c
    functionUses: 0
    functionsReached:
    - GetPackedYuvOffsets
    linkageType: ''
    returnType: void
    signature: "void PackedYUVSepia( picture_t *p_pic, picture_t *p_outpic,\n                           int
      i_intensity )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetPackedRgbIndexes
      Src: /src/vlc/modules/video_filter/sepia.c:413,1
    - Dst: FIX
      Src: /src/vlc/modules/video_filter/sepia.c:422,1
    - Dst: FIX
      Src: /src/vlc/modules/video_filter/sepia.c:424,1
    - Dst: FIX
      Src: /src/vlc/modules/video_filter/sepia.c:425,1
    - Dst: FIX
      Src: /src/vlc/modules/video_filter/sepia.c:427,1
    - Dst: FIX
      Src: /src/vlc/modules/video_filter/sepia.c:442,1
    - Dst: FIX
      Src: /src/vlc/modules/video_filter/sepia.c:445,1
    - Dst: vlc_uint8
      Src: /src/vlc/modules/video_filter/sepia.c:446,1
    - Dst: vlc_uint8
      Src: /src/vlc/modules/video_filter/sepia.c:447,1
    - Dst: vlc_uint8
      Src: /src/vlc/modules/video_filter/sepia.c:448,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - p_pic
    - p_outpic
    - i_intensity
    argTypes:
    - picture_t*
    - picture_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 468
    functionName: RVSepia
    functionSourceFile: /src/vlc/modules/video_filter/sepia.c
    functionUses: 0
    functionsReached:
    - vlc_uint8
    - FIX
    - GetPackedRgbIndexes
    linkageType: ''
    returnType: void
    signature: void RVSepia( picture_t *p_pic, picture_t *p_outpic, int i_intensity
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 408
    functionName: FIX
    functionSourceFile: /src/vlc/modules/video_filter/sepia.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIX(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/sepia.c:474,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/sepia.c:474,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/sepia.c:474,1
    - Dst: atomic_store
      Src: /src/vlc/modules/video_filter/sepia.c:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - p_this
    - psz_var
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 480
    functionName: FilterCallback
    functionSourceFile: /src/vlc/modules/video_filter/sepia.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int FilterCallback ( vlc_object_t *p_this, char const *psz_var,\n
      \                           vlc_value_t oldval, vlc_value_t newval,\n                            void
      *p_data )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/colorthres.c:128,1
    - Dst: video_format_IsSameChroma
      Src: /src/vlc/modules/video_filter/colorthres.c:133,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/colorthres.c:136,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/colorthres.c:141,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_filter/colorthres.c:145,1
    - Dst: atomic_init
      Src: /src/vlc/modules/video_filter/colorthres.c:147,1
    - Dst: var_CreateGetIntegerCommand
      Src: /src/vlc/modules/video_filter/colorthres.c:148,1
    - Dst: atomic_init
      Src: /src/vlc/modules/video_filter/colorthres.c:149,1
    - Dst: var_CreateGetIntegerCommand
      Src: /src/vlc/modules/video_filter/colorthres.c:150,1
    - Dst: atomic_init
      Src: /src/vlc/modules/video_filter/colorthres.c:151,1
    - Dst: var_CreateGetIntegerCommand
      Src: /src/vlc/modules/video_filter/colorthres.c:152,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/colorthres.c:154,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/colorthres.c:155,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/colorthres.c:156,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 159
    functionName: Create
    functionSourceFile: /src/vlc/modules/video_filter/colorthres.c
    functionUses: 124
    functionsReached:
    - var_CreateGetIntegerCommand
    - video_format_IsSameChroma
    - atomic_init
    - var_AddCallback
    - config_ChainParse
    - msg_Err
    - malloc
    linkageType: ''
    returnType: int
    signature: int Create( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/colorthres.c:171,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/colorthres.c:172,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/colorthres.c:173,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/colorthres.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 175
    functionName: Destroy
    functionSourceFile: /src/vlc/modules/video_filter/colorthres.c
    functionUses: 74
    functionsReached:
    - free
    - var_DelCallback
    linkageType: ''
    returnType: void
    signature: void Destroy( filter_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/vlc/modules/video_filter/colorthres.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - refu
    - refv
    - reflength
    - i_color
    argTypes:
    - int*
    - int*
    - int*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 188
    functionName: GetReference
    functionSourceFile: /src/vlc/modules/video_filter/colorthres.c
    functionUses: 0
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: void
    signature: "void GetReference( int *refu, int *refv, int *reflength,\n                          uint32_t
      i_color )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/vlc/modules/video_filter/colorthres.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 7
    argNames:
    - u
    - v
    - refu
    - refv
    - reflength
    - i_satthres
    - i_simthres
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 202
    functionName: IsSimilar
    functionSourceFile: /src/vlc/modules/video_filter/colorthres.c
    functionUses: 17
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: bool
    signature: "bool IsSimilar( int u, int v,\n                       int refu, int
      refv, int reflength,\n                       int i_satthres, int i_simthres
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/vlc/modules/video_filter/colorthres.c:213,1
    - Dst: atomic_load
      Src: /src/vlc/modules/video_filter/colorthres.c:214,1
    - Dst: atomic_load
      Src: /src/vlc/modules/video_filter/colorthres.c:215,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/video_filter/colorthres.c:218,1
    - Dst: GetReference
      Src: /src/vlc/modules/video_filter/colorthres.c:224,1
    - Dst: IsSimilar
      Src: /src/vlc/modules/video_filter/colorthres.c:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - p_filter
    - p_pic
    - p_outpic
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 252
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/colorthres.c
    functionUses: 27
    functionsReached:
    - IsSimilar
    - GetReference
    - atomic_load
    - plane_CopyPixels
    linkageType: ''
    returnType: void
    signature: void Filter( filter_t *p_filter, picture_t *p_pic, picture_t *p_outpic
      )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/vlc/modules/video_filter/colorthres.c:258,1
    - Dst: atomic_load
      Src: /src/vlc/modules/video_filter/colorthres.c:259,1
    - Dst: atomic_load
      Src: /src/vlc/modules/video_filter/colorthres.c:260,1
    - Dst: filter_NewPicture
      Src: /src/vlc/modules/video_filter/colorthres.c:264,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/colorthres.c:267,1
    - Dst: GetPackedYuvOffsets
      Src: /src/vlc/modules/video_filter/colorthres.c:272,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/colorthres.c:276,1
    - Dst: GetReference
      Src: /src/vlc/modules/video_filter/colorthres.c:284,1
    - Dst: IsSimilar
      Src: /src/vlc/modules/video_filter/colorthres.c:296,1
    - Dst: CopyInfoAndRelease
      Src: /src/vlc/modules/video_filter/colorthres.c:314,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - p_filter
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 315
    functionName: FilterPacked
    functionSourceFile: /src/vlc/modules/video_filter/colorthres.c
    functionUses: 0
    functionsReached:
    - GetReference
    - atomic_load
    - filter_NewPicture
    - GetPackedYuvOffsets
    - picture_Release
    - IsSimilar
    - CopyInfoAndRelease
    linkageType: ''
    returnType: picture_t
    signature: picture_t *FilterPacked( filter_t *p_filter, picture_t *p_pic )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/colorthres.c:322,1
    - Dst: atomic_store
      Src: /src/vlc/modules/video_filter/colorthres.c:323,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/colorthres.c:324,1
    - Dst: atomic_store
      Src: /src/vlc/modules/video_filter/colorthres.c:325,1
    - Dst: atomic_store
      Src: /src/vlc/modules/video_filter/colorthres.c:327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - p_this
    - psz_var
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 331
    functionName: FilterCallback
    functionSourceFile: /src/vlc/modules/video_filter/colorthres.c
    functionUses: 0
    functionsReached:
    - strcmp
    - atomic_store
    linkageType: ''
    returnType: int
    signature: "int FilterCallback ( vlc_object_t *p_this, char const *psz_var,\n
      \                        vlc_value_t oldval, vlc_value_t newval, void *p_data
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/bluescreen.c:117,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/bluescreen.c:125,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_filter/bluescreen.c:130,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/video_filter/bluescreen.c:134,1
    - Dst: GET_VAR
      Src: /src/vlc/modules/video_filter/bluescreen.c:140,1
    - Dst: GET_VAR
      Src: /src/vlc/modules/video_filter/bluescreen.c:141,1
    - Dst: GET_VAR
      Src: /src/vlc/modules/video_filter/bluescreen.c:142,1
    - Dst: GET_VAR
      Src: /src/vlc/modules/video_filter/bluescreen.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 150
    functionName: Create
    functionSourceFile: /src/vlc/modules/video_filter/bluescreen.c
    functionUses: 124
    functionsReached:
    - vlc_mutex_init
    - GET_VAR
    - config_ChainParse
    - msg_Err
    - malloc
    linkageType: ''
    returnType: int
    signature: int Create( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - min
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: GET_VAR
    functionSourceFile: /src/vlc/modules/video_filter/bluescreen.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_VAR( name, min, max )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/bluescreen.c:156,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/bluescreen.c:157,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/bluescreen.c:158,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/bluescreen.c:159,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/bluescreen.c:161,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/bluescreen.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 163
    functionName: Destroy
    functionSourceFile: /src/vlc/modules/video_filter/bluescreen.c
    functionUses: 74
    functionsReached:
    - free
    - var_DelCallback
    linkageType: ''
    returnType: void
    signature: void Destroy( filter_t *p_filter )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/bluescreen.c:179,1
    - Dst: xrealloc
      Src: /src/vlc/modules/video_filter/bluescreen.c:186,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_filter/bluescreen.c:189,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/bluescreen.c:194,1
    - Dst: memset
      Src: /src/vlc/modules/video_filter/bluescreen.c:209,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - p_filter
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 252
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/bluescreen.c
    functionUses: 27
    functionsReached:
    - xrealloc
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - memset
    - msg_Err
    linkageType: ''
    returnType: picture_t
    signature: picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/bluescreen.c:261,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/bluescreen.c:261,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_filter/bluescreen.c:264,1
    - Dst: VAR_IS
      Src: /src/vlc/modules/video_filter/bluescreen.c:266,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/video_filter/bluescreen.c:267,1
    - Dst: VAR_IS
      Src: /src/vlc/modules/video_filter/bluescreen.c:268,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/video_filter/bluescreen.c:269,1
    - Dst: VAR_IS
      Src: /src/vlc/modules/video_filter/bluescreen.c:270,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/video_filter/bluescreen.c:271,1
    - Dst: VAR_IS
      Src: /src/vlc/modules/video_filter/bluescreen.c:272,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/video_filter/bluescreen.c:273,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/bluescreen.c:274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - p_this
    - psz_var
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 277
    functionName: BluescreenCallback
    functionSourceFile: /src/vlc/modules/video_filter/bluescreen.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - VLC_CLIP
    - VAR_IS
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int BluescreenCallback( vlc_object_t *p_this, char const *psz_var,\n
      \                              vlc_value_t oldval, vlc_value_t newval,\n                               void
      *p_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 266
    functionName: VAR_IS
    functionSourceFile: /src/vlc/modules/video_filter/bluescreen.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VAR_IS( a )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/vlc/modules/video_filter/gradfun.h:60,1
    - Dst: FFMAX
      Src: /src/vlc/modules/video_filter/gradfun.h:61,1
    - Dst: av_clip_uint8
      Src: /src/vlc/modules/video_filter/gradfun.h:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - dst
    - src
    - dc
    - width
    - thresh
    - dithers
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint16_t*
    - int
    - int
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: filter_line_c
    functionSourceFile: /src/vlc/modules/video_filter/gradfun.h
    functionUses: 0
    functionsReached:
    - av_clip_uint8
    - abs
    - FFMAX
    linkageType: ''
    returnType: void
    signature: "void filter_line_c(uint8_t *dst, uint8_t *src, uint16_t *dc,\n                          int
      width, int thresh, const uint16_t *dithers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - dc
    - buf
    - buf1
    - src
    - sstride
    - width
    argTypes:
    - uint16_t*
    - uint16_t*
    - uint16_t*
    - uint8_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: blur_line_c
    functionSourceFile: /src/vlc/modules/video_filter/gradfun.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void blur_line_c(uint16_t *dc, uint16_t *buf, uint16_t *buf1,\n                        uint8_t
      *src, int sstride, int width)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: filter_line_c
      Src: /src/vlc/modules/video_filter/gradfun.h:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - dst
    - src
    - dc
    - width
    - thresh
    - dithers
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint16_t*
    - int
    - int
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 126
    functionName: filter_line_ssse3
    functionSourceFile: /src/vlc/modules/video_filter/gradfun.h
    functionUses: 0
    functionsReached:
    - filter_line_c
    linkageType: ''
    returnType: VLC_SSE
    signature: "VLC_SSE filter_line_ssse3(uint8_t *dst, uint8_t *src, uint16_t *dc,\n
      \                             int width, int thresh, const uint16_t *dithers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - load
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 162
    functionName: BLURV
    functionSourceFile: /src/vlc/modules/video_filter/gradfun.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BLURV(load)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BLURV
      Src: /src/vlc/modules/video_filter/gradfun.h:168,1
    - Dst: BLURV
      Src: /src/vlc/modules/video_filter/gradfun.h:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - dc
    - buf
    - buf1
    - src
    - sstride
    - width
    argTypes:
    - uint16_t*
    - uint16_t*
    - uint16_t*
    - uint8_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 172
    functionName: blur_line_sse2
    functionSourceFile: /src/vlc/modules/video_filter/gradfun.h
    functionUses: 0
    functionsReached:
    - BLURV
    linkageType: ''
    returnType: VLC_SSE
    signature: "VLC_SSE blur_line_sse2(uint16_t *dc, uint16_t *buf, uint16_t *buf1,\n
      \                          uint8_t *src, int sstride, int width)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/video_filter/gradfun.h:185,1
    - Dst: struct vf_priv_s*::blur_line
      Src: /src/vlc/modules/video_filter/gradfun.h:187,1
    - Dst: struct vf_priv_s*::blur_line
      Src: /src/vlc/modules/video_filter/gradfun.h:194,1
    - Dst: struct vf_priv_s*::filter_line
      Src: /src/vlc/modules/video_filter/gradfun.h:208,1
    - Dst: struct vf_priv_s*::filter_line
      Src: /src/vlc/modules/video_filter/gradfun.h:210,1
    - Dst: struct vf_priv_s*::filter_line
      Src: /src/vlc/modules/video_filter/gradfun.h:212,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 8
    argNames:
    - ctx
    - dst
    - src
    - width
    - height
    - dstride
    - sstride
    - r
    argTypes:
    - struct vf_priv_s*
    - uint8_t*
    - uint8_t*
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 215
    functionName: filter_plane
    functionSourceFile: /src/vlc/modules/video_filter/gradfun.h
    functionUses: 0
    functionsReached:
    - struct vf_priv_s*::blur_line
    - struct vf_priv_s*::filter_line
    - memset
    linkageType: ''
    returnType: void
    signature: "void filter_plane(struct vf_priv_s *ctx, uint8_t *dst, uint8_t *src,\n
      \                        int width, int height, int dstride, int sstride, int
      r)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/video_filter/scene.c:157,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/scene.c:158,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_filter/scene.c:162,1
    - Dst: calloc
      Src: /src/vlc/modules/video_filter/scene.c:165,1
    - Dst: image_HandlerCreate
      Src: /src/vlc/modules/video_filter/scene.c:169,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/scene.c:172,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/scene.c:173,1
    - Dst: var_CreateGetString
      Src: /src/vlc/modules/video_filter/scene.c:177,1
    - Dst: image_Type2Fourcc
      Src: /src/vlc/modules/video_filter/scene.c:178,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/scene.c:181,1
    - Dst: image_HandlerDelete
      Src: /src/vlc/modules/video_filter/scene.c:183,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/scene.c:184,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/scene.c:185,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/video_filter/scene.c:188,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/video_filter/scene.c:189,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/video_filter/scene.c:190,1
    - Dst: var_CreateGetBool
      Src: /src/vlc/modules/video_filter/scene.c:193,1
    - Dst: var_CreateGetString
      Src: /src/vlc/modules/video_filter/scene.c:194,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/video_filter/scene.c:195,1
    - Dst: config_GetUserDir
      Src: /src/vlc/modules/video_filter/scene.c:197,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/scene.c:199,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/scene.c:201,1
    - Dst: image_HandlerDelete
      Src: /src/vlc/modules/video_filter/scene.c:202,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/scene.c:203,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/scene.c:204,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/scene.c:205,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: ( p_chroma != NULL )
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/vlc/modules/video_filter/scene.c
    constantsTouched: []
    func_position:
      end: 216
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 216
    functionName: Create
    functionSourceFile: /src/vlc/modules/video_filter/scene.c
    functionUses: 125
    functionsReached:
    - var_CreateGetString
    - assert
    - config_GetUserDir
    - var_CreateGetBool
    - image_HandlerDelete
    - config_ChainParse
    - calloc
    - msg_Err
    - free
    - var_GetNonEmptyString
    - vlc_fourcc_GetChromaDescription
    - var_CreateGetInteger
    - image_HandlerCreate
    - unlikely
    - image_Type2Fourcc
    linkageType: ''
    returnType: int
    signature: int Create( filter_t *p_filter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: image_HandlerDelete
      Src: /src/vlc/modules/video_filter/scene.c:225,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/scene.c:228,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/scene.c:229,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/scene.c:230,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/scene.c:231,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/scene.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 233
    functionName: Destroy
    functionSourceFile: /src/vlc/modules/video_filter/scene.c
    functionUses: 74
    functionsReached:
    - free
    - picture_Release
    - image_HandlerDelete
    linkageType: ''
    returnType: void
    signature: void Destroy( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SnapshotRatio
      Src: /src/vlc/modules/video_filter/scene.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_filter
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 243
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/scene.c
    functionUses: 27
    functionsReached:
    - SnapshotRatio
    linkageType: ''
    returnType: picture_t
    signature: picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/scene.c:259,1
    - Dst: picture_NewFromFormat
      Src: /src/vlc/modules/video_filter/scene.c:275,1
    - Dst: picture_Copy
      Src: /src/vlc/modules/video_filter/scene.c:278,1
    - Dst: SavePicture
      Src: /src/vlc/modules/video_filter/scene.c:279,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - p_filter
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 281
    functionName: SnapshotRatio
    functionSourceFile: /src/vlc/modules/video_filter/scene.c
    functionUses: 1
    functionsReached:
    - picture_Release
    - SavePicture
    - picture_NewFromFormat
    - picture_Copy
    linkageType: ''
    returnType: void
    signature: void SnapshotRatio( filter_t *p_filter, picture_t *p_pic )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: video_format_Init
      Src: /src/vlc/modules/video_filter/scene.c:294,1
    - Dst: asprintf
      Src: /src/vlc/modules/video_filter/scene.c:307,1
    - Dst: asprintf
      Src: /src/vlc/modules/video_filter/scene.c:311,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/scene.c:317,1
    - Dst: asprintf
      Src: /src/vlc/modules/video_filter/scene.c:321,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/scene.c:324,1
    - Dst: image_WriteUrl
      Src: /src/vlc/modules/video_filter/scene.c:329,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/scene.c:333,1
    - Dst: vlc_unlink
      Src: /src/vlc/modules/video_filter/scene.c:339,1
    - Dst: vlc_rename
      Src: /src/vlc/modules/video_filter/scene.c:341,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/scene.c:344,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/video_filter/scene.c:345,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/scene.c:351,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/scene.c:352,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - p_filter
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 353
    functionName: SavePicture
    functionSourceFile: /src/vlc/modules/video_filter/scene.c
    functionUses: 1
    functionsReached:
    - asprintf
    - vlc_strerror_c
    - video_format_Init
    - image_WriteUrl
    - msg_Err
    - free
    - vlc_rename
    - vlc_unlink
    linkageType: ''
    returnType: void
    signature: void SavePicture( filter_t *p_filter, picture_t *p_pic )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_explicit
      Src: /src/vlc/modules/video_filter/gladjust.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - p_this
    - psz_variable
    - oldvalue
    - newvalue
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: varFloatCallback
    functionSourceFile: /src/vlc/modules/video_filter/gladjust.c
    functionUses: 0
    functionsReached:
    - atomic_store_explicit
    linkageType: ''
    returnType: int
    signature: "int varFloatCallback(vlc_object_t *p_this, char const *psz_variable,\n
      \                           vlc_value_t oldvalue, vlc_value_t newvalue,\n                            void
      *p_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: opengl_vtable_t*::UseProgram
      Src: /src/vlc/modules/video_filter/gladjust.c:86,1
    - Dst: vlc_gl_sampler_Update
      Src: /src/vlc/modules/video_filter/gladjust.c:89,1
    - Dst: vlc_gl_sampler_Load
      Src: /src/vlc/modules/video_filter/gladjust.c:90,1
    - Dst: opengl_vtable_t*::BindBuffer
      Src: /src/vlc/modules/video_filter/gladjust.c:92,1
    - Dst: vlc_gl_picture_ToTexCoords
      Src: /src/vlc/modules/video_filter/gladjust.c:104,1
    - Dst: opengl_vtable_t*::BufferData
      Src: /src/vlc/modules/video_filter/gladjust.c:112,1
    - Dst: opengl_vtable_t*::EnableVertexAttribArray
      Src: /src/vlc/modules/video_filter/gladjust.c:117,1
    - Dst: opengl_vtable_t*::VertexAttribPointer
      Src: /src/vlc/modules/video_filter/gladjust.c:118,1
    - Dst: opengl_vtable_t*::EnableVertexAttribArray
      Src: /src/vlc/modules/video_filter/gladjust.c:122,1
    - Dst: opengl_vtable_t*::VertexAttribPointer
      Src: /src/vlc/modules/video_filter/gladjust.c:123,1
    - Dst: opengl_vtable_t*::Uniform1f
      Src: /src/vlc/modules/video_filter/gladjust.c:126,1
    - Dst: atomic_load_explicit
      Src: /src/vlc/modules/video_filter/gladjust.c:127,1
    - Dst: opengl_vtable_t*::Uniform1f
      Src: /src/vlc/modules/video_filter/gladjust.c:128,1
    - Dst: atomic_load_explicit
      Src: /src/vlc/modules/video_filter/gladjust.c:129,1
    - Dst: opengl_vtable_t*::Uniform1f
      Src: /src/vlc/modules/video_filter/gladjust.c:130,1
    - Dst: atomic_load_explicit
      Src: /src/vlc/modules/video_filter/gladjust.c:131,1
    - Dst: opengl_vtable_t*::Uniform1f
      Src: /src/vlc/modules/video_filter/gladjust.c:132,1
    - Dst: atomic_load_explicit
      Src: /src/vlc/modules/video_filter/gladjust.c:133,1
    - Dst: opengl_vtable_t*::Uniform1f
      Src: /src/vlc/modules/video_filter/gladjust.c:134,1
    - Dst: atomic_load_explicit
      Src: /src/vlc/modules/video_filter/gladjust.c:135,1
    - Dst: opengl_vtable_t*::Clear
      Src: /src/vlc/modules/video_filter/gladjust.c:137,1
    - Dst: opengl_vtable_t*::DrawArrays
      Src: /src/vlc/modules/video_filter/gladjust.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 3
    argNames:
    - filter
    - pic
    - meta
    argTypes:
    - struct vlc_gl_filter*
    - struct vlc_gl_picture*
    - struct vlc_gl_input_meta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 141
    functionName: Draw
    functionSourceFile: /src/vlc/modules/video_filter/gladjust.c
    functionUses: 3
    functionsReached:
    - atomic_load_explicit
    - opengl_vtable_t*::EnableVertexAttribArray
    - vlc_gl_sampler_Load
    - opengl_vtable_t*::UseProgram
    - opengl_vtable_t*::VertexAttribPointer
    - vlc_gl_picture_ToTexCoords
    - opengl_vtable_t*::BufferData
    - opengl_vtable_t*::Clear
    - opengl_vtable_t*::DrawArrays
    - opengl_vtable_t*::BindBuffer
    - opengl_vtable_t*::Uniform1f
    - vlc_gl_sampler_Update
    linkageType: ''
    returnType: int
    signature: "int Draw(struct vlc_gl_filter *filter, const struct vlc_gl_picture
      *pic,\n     const struct vlc_gl_input_meta *meta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/gladjust.c:147,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/gladjust.c:148,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/gladjust.c:149,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/gladjust.c:150,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/gladjust.c:151,1
    - Dst: opengl_vtable_t*::DeleteProgram
      Src: /src/vlc/modules/video_filter/gladjust.c:154,1
    - Dst: opengl_vtable_t*::DeleteBuffers
      Src: /src/vlc/modules/video_filter/gladjust.c:155,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/gladjust.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - filter
    argTypes:
    - struct vlc_gl_filter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 158
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_filter/gladjust.c
    functionUses: 114
    functionsReached:
    - free
    - opengl_vtable_t*::DeleteBuffers
    - var_DelCallback
    - opengl_vtable_t*::DeleteProgram
    linkageType: ''
    returnType: void
    signature: void Close(struct vlc_gl_filter *filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_filter/gladjust.c:163,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/video_filter/gladjust.c:164,1
    - Dst: var_Type
      Src: /src/vlc/modules/video_filter/gladjust.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - struct vlc_gl_filter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 168
    functionName: FindOuterFilter
    functionSourceFile: /src/vlc/modules/video_filter/gladjust.c
    functionUses: 0
    functionsReached:
    - var_Type
    - vlc_object_parent
    - VLC_OBJECT
    linkageType: ''
    returnType: vlc_object_t
    signature: vlc_object_t *FindOuterFilter(struct vlc_gl_filter *filter)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FindOuterFilter
      Src: /src/vlc/modules/video_filter/gladjust.c:178,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/gladjust.c:186,1
    - Dst: vlc_gl_api_Init
      Src: /src/vlc/modules/video_filter/gladjust.c:194,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/gladjust.c:197,1
    - Dst: atomic_init
      Src: /src/vlc/modules/video_filter/gladjust.c:201,1
    - Dst: var_CreateGetFloatCommand
      Src: /src/vlc/modules/video_filter/gladjust.c:202,1
    - Dst: atomic_init
      Src: /src/vlc/modules/video_filter/gladjust.c:203,1
    - Dst: var_CreateGetFloatCommand
      Src: /src/vlc/modules/video_filter/gladjust.c:204,1
    - Dst: atomic_init
      Src: /src/vlc/modules/video_filter/gladjust.c:205,1
    - Dst: var_CreateGetFloatCommand
      Src: /src/vlc/modules/video_filter/gladjust.c:206,1
    - Dst: atomic_init
      Src: /src/vlc/modules/video_filter/gladjust.c:207,1
    - Dst: var_CreateGetFloatCommand
      Src: /src/vlc/modules/video_filter/gladjust.c:208,1
    - Dst: atomic_init
      Src: /src/vlc/modules/video_filter/gladjust.c:209,1
    - Dst: var_CreateGetFloatCommand
      Src: /src/vlc/modules/video_filter/gladjust.c:210,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/gladjust.c:212,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/gladjust.c:213,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/gladjust.c:214,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/gladjust.c:215,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/gladjust.c:216,1
    - Dst: vlc_gl_BuildProgram
      Src: /src/vlc/modules/video_filter/gladjust.c:318,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_filter/gladjust.c:318,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_filter/gladjust.c:319,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_filter/gladjust.c:320,1
    - Dst: vlc_gl_sampler_FetchLocations
      Src: /src/vlc/modules/video_filter/gladjust.c:325,1
    - Dst: opengl_vtable_t*::GetAttribLocation
      Src: /src/vlc/modules/video_filter/gladjust.c:329,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/gladjust.c:330,1
    - Dst: opengl_vtable_t*::GetUniformLocation
      Src: /src/vlc/modules/video_filter/gladjust.c:332,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/gladjust.c:333,1
    - Dst: opengl_vtable_t*::GetUniformLocation
      Src: /src/vlc/modules/video_filter/gladjust.c:335,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/gladjust.c:336,1
    - Dst: opengl_vtable_t*::GetUniformLocation
      Src: /src/vlc/modules/video_filter/gladjust.c:338,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/gladjust.c:339,1
    - Dst: opengl_vtable_t*::GetUniformLocation
      Src: /src/vlc/modules/video_filter/gladjust.c:341,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/gladjust.c:342,1
    - Dst: opengl_vtable_t*::GetUniformLocation
      Src: /src/vlc/modules/video_filter/gladjust.c:344,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/gladjust.c:345,1
    - Dst: opengl_vtable_t*::GetAttribLocation
      Src: /src/vlc/modules/video_filter/gladjust.c:347,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/gladjust.c:348,1
    - Dst: opengl_vtable_t*::GenBuffers
      Src: /src/vlc/modules/video_filter/gladjust.c:350,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/gladjust.c:361,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 53
    argCount: 4
    argNames:
    - filter
    - config
    - sampler
    - size_out
    argTypes:
    - struct vlc_gl_filter*
    - config_chain_t*
    - struct vlc_gl_sampler*
    - struct vlc_gl_tex_size*
    assertStmts:
    - condition: (sys->loc.vertex_pos != -1)
      pos:
        line_end: 329
        line_start: 329
        source_file: /src/vlc/modules/video_filter/gladjust.c
    - condition: (sys->loc.hue != -1)
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/vlc/modules/video_filter/gladjust.c
    - condition: (sys->loc.gamma != -1)
      pos:
        line_end: 344
        line_start: 344
        source_file: /src/vlc/modules/video_filter/gladjust.c
    - condition: (sys->loc.tex_coords_in != -1)
      pos:
        line_end: 347
        line_start: 347
        source_file: /src/vlc/modules/video_filter/gladjust.c
    - condition: (sys->loc.brightness != -1)
      pos:
        line_end: 335
        line_start: 335
        source_file: /src/vlc/modules/video_filter/gladjust.c
    - condition: (sys->loc.saturation != -1)
      pos:
        line_end: 341
        line_start: 341
        source_file: /src/vlc/modules/video_filter/gladjust.c
    - condition: (sys->loc.contrast != -1)
      pos:
        line_end: 332
        line_start: 332
        source_file: /src/vlc/modules/video_filter/gladjust.c
    constantsTouched: []
    func_position:
      end: 363
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 363
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_filter/gladjust.c
    functionUses: 33
    functionsReached:
    - atomic_init
    - assert
    - ARRAY_SIZE
    - opengl_vtable_t*::GetUniformLocation
    - var_CreateGetFloatCommand
    - var_AddCallback
    - opengl_vtable_t*::GetAttribLocation
    - opengl_vtable_t*::GenBuffers
    - vlc_gl_api_Init
    - free
    - FindOuterFilter
    - VLC_OBJECT
    - vlc_gl_sampler_FetchLocations
    - vlc_gl_BuildProgram
    - malloc
    linkageType: ''
    returnType: int
    signature: "int Open(struct vlc_gl_filter *filter, const config_chain_t *config,\n
      \    struct vlc_gl_sampler *sampler, struct vlc_gl_tex_size *size_out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_filter/gladjust.c:381,1
    - Dst: var_Create
      Src: /src/vlc/modules/video_filter/gladjust.c:384,1
    - Dst: vlc_gl_WrapOpenGLFilter
      Src: /src/vlc/modules/video_filter/gladjust.c:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 388
    functionName: OpenVideoFilter
    functionSourceFile: /src/vlc/modules/video_filter/gladjust.c
    functionUses: 0
    functionsReached:
    - var_InheritBool
    - vlc_gl_WrapOpenGLFilter
    - var_Create
    linkageType: ''
    returnType: int
    signature: int OpenVideoFilter(filter_t *filter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/video_filter/ripple.c:79,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/ripple.c:80,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/video_filter/ripple.c:85,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_filter/ripple.c:85,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/ripple.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: ( p_chroma != NULL )
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/vlc/modules/video_filter/ripple.c
    constantsTouched: []
    func_position:
      end: 96
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 96
    functionName: Create
    functionSourceFile: /src/vlc/modules/video_filter/ripple.c
    functionUses: 126
    functionsReached:
    - assert
    - vlc_obj_malloc
    - vlc_fourcc_GetChromaDescription
    - VLC_OBJECT
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Create( filter_t *p_filter )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/video_filter/ripple.c:108,1
    - Dst: secf_from_vlc_tick
      Src: /src/vlc/modules/video_filter/ripple.c:112,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/ripple.c:157,1
    - Dst: sin
      Src: /src/vlc/modules/video_filter/ripple.c:167,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/ripple.c:179,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/ripple.c:186,1
    - Dst: memset
      Src: /src/vlc/modules/video_filter/ripple.c:197,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/ripple.c:201,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 3
    argNames:
    - p_filter
    - p_pic
    - p_outpic
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 207
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/ripple.c
    functionUses: 29
    functionsReached:
    - vlc_tick_now
    - memset
    - memcpy
    - secf_from_vlc_tick
    - sin
    linkageType: ''
    returnType: void
    signature: void Filter( filter_t *p_filter, picture_t *p_pic, picture_t *p_outpic
      )
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 4
    argNames:
    - i_chroma
    - i_y_offset
    - i_u_offset
    - i_v_offset
    argTypes:
    - vlc_fourcc_t
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 120
    functionName: GetPackedYuvOffsets
    functionSourceFile: /src/vlc/modules/video_filter/filter_picture.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int GetPackedYuvOffsets( vlc_fourcc_t i_chroma,\n    int *i_y_offset,
      int *i_u_offset, int *i_v_offset )"
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 66
    argCount: 5
    argNames:
    - fcc
    - i_r_index
    - i_g_index
    - i_b_index
    - i_a_index
    argTypes:
    - vlc_fourcc_t
    - int*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 191
    functionName: GetPackedRgbIndexes
    functionSourceFile: /src/vlc/modules/video_filter/filter_picture.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int GetPackedRgbIndexes( vlc_fourcc_t fcc, int *i_r_index,\n                                       int
      *i_g_index, int *i_b_index, int *i_a_index )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - v
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 200
    functionName: vlc_uint8
    functionSourceFile: /src/vlc/modules/video_filter/filter_picture.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t vlc_uint8( int v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FIX
      Src: /src/vlc/modules/video_filter/filter_picture.h:214,1
    - Dst: FIX
      Src: /src/vlc/modules/video_filter/filter_picture.h:215,1
    - Dst: FIX
      Src: /src/vlc/modules/video_filter/filter_picture.h:216,1
    - Dst: FIX
      Src: /src/vlc/modules/video_filter/filter_picture.h:217,1
    - Dst: FIX
      Src: /src/vlc/modules/video_filter/filter_picture.h:218,1
    - Dst: vlc_uint8
      Src: /src/vlc/modules/video_filter/filter_picture.h:219,1
    - Dst: vlc_uint8
      Src: /src/vlc/modules/video_filter/filter_picture.h:220,1
    - Dst: vlc_uint8
      Src: /src/vlc/modules/video_filter/filter_picture.h:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 6
    argNames:
    - r
    - g
    - b
    - y1
    - u1
    - v1
    argTypes:
    - int*
    - int*
    - int*
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 225
    functionName: yuv_to_rgb
    functionSourceFile: /src/vlc/modules/video_filter/filter_picture.h
    functionUses: 1
    functionsReached:
    - vlc_uint8
    - FIX
    linkageType: ''
    returnType: void
    signature: "void yuv_to_rgb( int *r, int *g, int *b,\n                               uint8_t
      y1, uint8_t u1, uint8_t v1 )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 209
    functionName: FIX
    functionSourceFile: /src/vlc/modules/video_filter/filter_picture.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIX(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - y
    - u
    - v
    - r
    - g
    - b
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 233
    functionName: rgb_to_yuv
    functionSourceFile: /src/vlc/modules/video_filter/filter_picture.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void rgb_to_yuv( uint8_t *y, uint8_t *u, uint8_t *v,\n                               int
      r, int g, int b )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: picture_CopyProperties
      Src: /src/vlc/modules/video_filter/filter_picture.h:240,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/filter_picture.h:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_outpic
    - p_inpic
    argTypes:
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 245
    functionName: CopyInfoAndRelease
    functionSourceFile: /src/vlc/modules/video_filter/filter_picture.h
    functionUses: 4
    functionsReached:
    - picture_Release
    - picture_CopyProperties
    linkageType: ''
    returnType: picture_t
    signature: picture_t *CopyInfoAndRelease( picture_t *p_outpic, picture_t *p_inpic
      )
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: video_format_IsSameChroma
      Src: /src/vlc/modules/video_filter/postproc.c:125,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/postproc.c:130,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/postproc.c:154,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/postproc.c:159,1
    - Dst: pp_get_context
      Src: /src/vlc/modules/video_filter/postproc.c:163,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/postproc.c:168,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/postproc.c:169,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_filter/postproc.c:173,1
    - Dst: var_Create
      Src: /src/vlc/modules/video_filter/postproc.c:176,1
    - Dst: var_Change
      Src: /src/vlc/modules/video_filter/postproc.c:178,1
    - Dst: _
      Src: /src/vlc/modules/video_filter/postproc.c:179,1
    - Dst: var_Get
      Src: /src/vlc/modules/video_filter/postproc.c:181,1
    - Dst: var_Change
      Src: /src/vlc/modules/video_filter/postproc.c:182,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/video_filter/postproc.c:184,1
    - Dst: pp_get_mode_by_name_and_quality
      Src: /src/vlc/modules/video_filter/postproc.c:187,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/postproc.c:194,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/postproc.c:195,1
    - Dst: pp_free_context
      Src: /src/vlc/modules/video_filter/postproc.c:196,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/postproc.c:197,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/postproc.c:205,1
    - Dst: _
      Src: /src/vlc/modules/video_filter/postproc.c:212,1
    - Dst: _
      Src: /src/vlc/modules/video_filter/postproc.c:215,1
    - Dst: _
      Src: /src/vlc/modules/video_filter/postproc.c:218,1
    - Dst: var_Change
      Src: /src/vlc/modules/video_filter/postproc.c:224,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/video_filter/postproc.c:227,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/postproc.c:230,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/postproc.c:231,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_filter/postproc.c:235,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 75
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 238
    functionName: OpenPostproc
    functionSourceFile: /src/vlc/modules/video_filter/postproc.c
    functionUses: 0
    functionsReached:
    - video_format_IsSameChroma
    - pp_get_mode_by_name_and_quality
    - var_AddCallback
    - vlc_mutex_init
    - _
    - var_Create
    - msg_Err
    - free
    - pp_get_context
    - config_ChainParse
    - var_GetNonEmptyString
    - pp_free_context
    - msg_Warn
    - var_Change
    - var_Get
    - malloc
    linkageType: ''
    returnType: int
    signature: int OpenPostproc( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/postproc.c:248,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/postproc.c:249,1
    - Dst: pp_free_context
      Src: /src/vlc/modules/video_filter/postproc.c:252,1
    - Dst: pp_free_mode
      Src: /src/vlc/modules/video_filter/postproc.c:253,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/postproc.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 255
    functionName: ClosePostproc
    functionSourceFile: /src/vlc/modules/video_filter/postproc.c
    functionUses: 0
    functionsReached:
    - free
    - pp_free_mode
    - var_DelCallback
    - pp_free_context
    linkageType: ''
    returnType: void
    signature: void ClosePostproc( filter_t *p_filter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_filter/postproc.c:265,1
    - Dst: pp_postprocess
      Src: /src/vlc/modules/video_filter/postproc.c:283,1
    - Dst: picture_CopyPixels
      Src: /src/vlc/modules/video_filter/postproc.c:289,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/postproc.c:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - p_filter
    - p_pic
    - p_outpic
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 291
    functionName: PostprocPict
    functionSourceFile: /src/vlc/modules/video_filter/postproc.c
    functionUses: 0
    functionsReached:
    - picture_CopyPixels
    - vlc_mutex_unlock
    - pp_postprocess
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void PostprocPict( filter_t *p_filter, picture_t *p_pic, picture_t
      *p_outpic )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pp_get_mode_by_name_and_quality
      Src: /src/vlc/modules/video_filter/postproc.c:304,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_filter/postproc.c:308,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_filter/postproc.c:314,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/postproc.c:317,1
    - Dst: pp_free_mode
      Src: /src/vlc/modules/video_filter/postproc.c:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - p_filter
    - psz_name
    - i_quality
    argTypes:
    - filter_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 320
    functionName: PPChangeMode
    functionSourceFile: /src/vlc/modules/video_filter/postproc.c
    functionUses: 0
    functionsReached:
    - pp_get_mode_by_name_and_quality
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - msg_Warn
    - pp_free_mode
    linkageType: ''
    returnType: void
    signature: "void PPChangeMode( filter_t *p_filter, const char *psz_name,\n                          int
      i_quality )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/postproc.c:325,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/postproc.c:325,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/postproc.c:325,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/video_filter/postproc.c:328,1
    - Dst: PPChangeMode
      Src: /src/vlc/modules/video_filter/postproc.c:329,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/postproc.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - p_this
    - psz_var
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 332
    functionName: PPQCallback
    functionSourceFile: /src/vlc/modules/video_filter/postproc.c
    functionUses: 0
    functionsReached:
    - free
    - var_GetNonEmptyString
    - PPChangeMode
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int PPQCallback( vlc_object_t *p_this, const char *psz_var,\n                        vlc_value_t
      oldval, vlc_value_t newval, void *p_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/postproc.c:337,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/postproc.c:337,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/postproc.c:337,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/video_filter/postproc.c:340,1
    - Dst: PPChangeMode
      Src: /src/vlc/modules/video_filter/postproc.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - p_this
    - psz_var
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 344
    functionName: PPNameCallback
    functionSourceFile: /src/vlc/modules/video_filter/postproc.c
    functionUses: 0
    functionsReached:
    - var_GetInteger
    - PPChangeMode
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int PPNameCallback( vlc_object_t *p_this, const char *psz_var,\n                           vlc_value_t
      oldval, vlc_value_t newval, void *p_data )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: filter_sys_t::filter_sys_t
      Src: /src/vlc/modules/video_filter/opencv_example.cpp:102,1
    - Dst: var_Create
      Src: /src/vlc/modules/video_filter/opencv_example.cpp:125,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/video_filter/opencv_example.cpp:125,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/opencv_example.cpp:126,1
    - Dst: var_Set
      Src: /src/vlc/modules/video_filter/opencv_example.cpp:129,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/video_filter/opencv_example.cpp:129,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/opencv_example.cpp:130,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_filter/opencv_example.cpp:133,1
    - Dst: filter_sys_t*::cascade::load
      Src: /src/vlc/modules/video_filter/opencv_example.cpp:134,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/opencv_example.cpp:135,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/opencv_example.cpp:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 140
    functionName: OpenFilter
    functionSourceFile: /src/vlc/modules/video_filter/opencv_example.cpp
    functionUses: 0
    functionsReached:
    - var_InheritString
    - vlc_object_instance
    - var_Create
    - msg_Err
    - free
    - var_Set
    - filter_sys_t*::cascade::load
    - filter_sys_t::filter_sys_t
    linkageType: ''
    returnType: int
    signature: int OpenFilter( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: FilterOperationInitializer
    functionSourceFile: /src/vlc/modules/video_filter/opencv_example.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterOperationInitializer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<filter_sys_t *>
      Src: /src/vlc/modules/video_filter/opencv_example.cpp:147,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/video_filter/opencv_example.cpp:151,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/video_filter/opencv_example.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: CloseFilter
    functionSourceFile: /src/vlc/modules/video_filter/opencv_example.cpp
    functionUses: 0
    functionsReached:
    - var_Destroy
    - vlc_object_instance
    - static_cast<filter_sys_t *>
    linkageType: ''
    returnType: void
    signature: void CloseFilter( filter_t *p_filter )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<filter_sys_t *>
      Src: /src/vlc/modules/video_filter/opencv_example.cpp:161,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/opencv_example.cpp:165,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/opencv_example.cpp:174,1
    - Dst: cv::cvarrToMat
      Src: /src/vlc/modules/video_filter/opencv_example.cpp:179,1
    - Dst: filter_sys_t*::cascade::empty
      Src: /src/vlc/modules/video_filter/opencv_example.cpp:182,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/opencv_example.cpp:183,1
    - Dst: filter_sys_t*::cascade::detectMultiScale
      Src: /src/vlc/modules/video_filter/opencv_example.cpp:187,1
    - Dst: SetTextSize
      Src: /src/vlc/modules/video_filter/opencv_example.cpp:190,1
    - Dst: std::vector::empty
      Src: /src/vlc/modules/video_filter/opencv_example.cpp:192,1
    - Dst: filter_sys_t*::event_info_storage::resize
      Src: /src/vlc/modules/video_filter/opencv_example.cpp:196,1
    - Dst: std::vector::size
      Src: /src/vlc/modules/video_filter/opencv_example.cpp:196,1
    - Dst: std::vector::size
      Src: /src/vlc/modules/video_filter/opencv_example.cpp:197,1
    - Dst: filter_sys_t*::event_info_storage::data
      Src: /src/vlc/modules/video_filter/opencv_example.cpp:198,1
    - Dst: std::vector::size
      Src: /src/vlc/modules/video_filter/opencv_example.cpp:203,1
    - Dst: puzzle_draw_rectangle
      Src: /src/vlc/modules/video_filter/opencv_example.cpp:206,1
    - Dst: CV_RGB
      Src: /src/vlc/modules/video_filter/opencv_example.cpp:206,1
    - Dst: var_TriggerCallback
      Src: /src/vlc/modules/video_filter/opencv_example.cpp:214,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/video_filter/opencv_example.cpp:214,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - p_filter
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 157
    functionDepth: 4
    functionLinenumber: 157
    functionLinenumberEnd: 217
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/opencv_example.cpp
    functionUses: 29
    functionsReached:
    - SetTextSize
    - cv::cvarrToMat
    - filter_sys_t*::cascade::detectMultiScale
    - filter_sys_t*::cascade::empty
    - static_cast<filter_sys_t *>
    - filter_sys_t*::event_info_storage::resize
    - msg_Err
    - CV_RGB
    - vlc_object_instance
    - puzzle_draw_rectangle
    - std::vector::size
    - var_TriggerCallback
    - filter_sys_t*::event_info_storage::data
    - std::vector::empty
    linkageType: ''
    returnType: picture_t
    signature: picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/mirror.c:130,1
    - Dst: video_format_IsSameChroma
      Src: /src/vlc/modules/video_filter/mirror.c:135,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/mirror.c:138,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/mirror.c:143,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_filter/mirror.c:147,1
    - Dst: atomic_init
      Src: /src/vlc/modules/video_filter/mirror.c:149,1
    - Dst: var_CreateGetIntegerCommand
      Src: /src/vlc/modules/video_filter/mirror.c:150,1
    - Dst: atomic_init
      Src: /src/vlc/modules/video_filter/mirror.c:151,1
    - Dst: var_CreateGetIntegerCommand
      Src: /src/vlc/modules/video_filter/mirror.c:152,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/mirror.c:155,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/mirror.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 161
    functionName: Create
    functionSourceFile: /src/vlc/modules/video_filter/mirror.c
    functionUses: 128
    functionsReached:
    - var_CreateGetIntegerCommand
    - video_format_IsSameChroma
    - atomic_init
    - var_AddCallback
    - config_ChainParse
    - msg_Err
    - malloc
    linkageType: ''
    returnType: int
    signature: int Create( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/mirror.c:172,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/mirror.c:173,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/mirror.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 175
    functionName: Destroy
    functionSourceFile: /src/vlc/modules/video_filter/mirror.c
    functionUses: 75
    functionsReached:
    - free
    - var_DelCallback
    linkageType: ''
    returnType: void
    signature: void Destroy( filter_t *p_filter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/vlc/modules/video_filter/mirror.c:189,1
    - Dst: atomic_load
      Src: /src/vlc/modules/video_filter/mirror.c:190,1
    - Dst: VerticalMirror
      Src: /src/vlc/modules/video_filter/mirror.c:195,1
    - Dst: HorizontalMirror
      Src: /src/vlc/modules/video_filter/mirror.c:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - p_filter
    - p_pic
    - p_outpic
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 199
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/mirror.c
    functionUses: 29
    functionsReached:
    - atomic_load
    - HorizontalMirror
    - VerticalMirror
    linkageType: ''
    returnType: void
    signature: void Filter( filter_t *p_filter, picture_t *p_pic, picture_t *p_outpic
      )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: YUV422VerticalMirror
      Src: /src/vlc/modules/video_filter/mirror.c:217,1
    - Dst: RV24VerticalMirror
      Src: /src/vlc/modules/video_filter/mirror.c:224,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_filter/mirror.c:230,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - p_pic
    - p_outpic
    - i_plane
    - b_left_to_right
    argTypes:
    - picture_t*
    - picture_t*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 232
    functionName: VerticalMirror
    functionSourceFile: /src/vlc/modules/video_filter/mirror.c
    functionUses: 2
    functionsReached:
    - YUV422VerticalMirror
    - RV24VerticalMirror
    - vlc_assert_unreachable
    linkageType: ''
    returnType: void
    signature: "void VerticalMirror( picture_t *p_pic, picture_t *p_outpic, int i_plane,\n
      \                          bool b_left_to_right )"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - p_pic
    - p_outpic
    - i_plane
    - b_left_to_right
    argTypes:
    - picture_t*
    - picture_t*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 278
    functionName: PlanarVerticalMirror
    functionSourceFile: /src/vlc/modules/video_filter/mirror.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PlanarVerticalMirror( picture_t *p_pic, picture_t *p_outpic,\n
      \                                int i_plane, bool b_left_to_right )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: YUV422Mirror2Pixels
      Src: /src/vlc/modules/video_filter/mirror.c:318,1
    - Dst: YUV422Mirror2Pixels
      Src: /src/vlc/modules/video_filter/mirror.c:328,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 5
    argNames:
    - p_pic
    - p_outpic
    - i_plane
    - b_left_to_right
    - b_y_is_odd
    argTypes:
    - picture_t*
    - picture_t*
    - int
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 345
    functionName: YUV422VerticalMirror
    functionSourceFile: /src/vlc/modules/video_filter/mirror.c
    functionUses: 1
    functionsReached:
    - YUV422Mirror2Pixels
    linkageType: ''
    returnType: void
    signature: "void YUV422VerticalMirror( picture_t *p_pic, picture_t *p_outpic,\n
      \                                int i_plane, bool b_left_to_right,\n                                 bool
      b_y_is_odd )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - p_dst
    - p_src
    - b_y_is_odd
    argTypes:
    - uint8_t*
    - uint8_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 375
    functionName: YUV422Mirror2Pixels
    functionSourceFile: /src/vlc/modules/video_filter/mirror.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void YUV422Mirror2Pixels( uint8_t* p_dst, uint8_t *p_src,\n                                bool
      b_y_is_odd )"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 4
    argNames:
    - p_pic
    - p_outpic
    - i_plane
    - b_left_to_right
    argTypes:
    - picture_t*
    - picture_t*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 440
    functionName: RV24VerticalMirror
    functionSourceFile: /src/vlc/modules/video_filter/mirror.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void RV24VerticalMirror( picture_t *p_pic, picture_t *p_outpic,\n
      \                                int i_plane, bool b_left_to_right )"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 4
    argNames:
    - p_pic
    - p_outpic
    - i_plane
    - b_left_to_right
    argTypes:
    - picture_t*
    - picture_t*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 503
    functionName: RV32VerticalMirror
    functionSourceFile: /src/vlc/modules/video_filter/mirror.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void RV32VerticalMirror( picture_t *p_pic, picture_t *p_outpic,\n
      \                                int i_plane, bool b_left_to_right )"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - p_pic
    - p_outpic
    - i_plane
    - b_top_to_bottom
    argTypes:
    - picture_t*
    - picture_t*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 570
    functionName: HorizontalMirror
    functionSourceFile: /src/vlc/modules/video_filter/mirror.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HorizontalMirror( picture_t *p_pic, picture_t *p_outpic, int
      i_plane,\n                             bool b_top_to_bottom )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/mirror.c:578,1
    - Dst: atomic_store
      Src: /src/vlc/modules/video_filter/mirror.c:579,1
    - Dst: atomic_store
      Src: /src/vlc/modules/video_filter/mirror.c:581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - p_this
    - psz_var
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 584
    functionName: FilterCallback
    functionSourceFile: /src/vlc/modules/video_filter/mirror.c
    functionUses: 0
    functionsReached:
    - strcmp
    - atomic_store
    linkageType: ''
    returnType: int
    signature: "int FilterCallback ( vlc_object_t *p_this, char const *psz_var,\n
      \                           vlc_value_t oldval, vlc_value_t newval, void *p_data
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: date_Get
      Src: /src/vlc/modules/video_filter/fps.c:70,1
    - Dst: date_Increment
      Src: /src/vlc/modules/video_filter/fps.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_sys
    - pic
    argTypes:
    - filter_sys_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: SetOutputDate
    functionSourceFile: /src/vlc/modules/video_filter/fps.c
    functionUses: 0
    functionsReached:
    - date_Increment
    - date_Get
    linkageType: ''
    returnType: void
    signature: void SetOutputDate(filter_sys_t *p_sys, picture_t *pic)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/fps.c:81,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/fps.c:83,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/fps.c:84,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/fps.c:93,1
    - Dst: date_Get
      Src: /src/vlc/modules/video_filter/fps.c:93,1
    - Dst: date_Get
      Src: /src/vlc/modules/video_filter/fps.c:94,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/fps.c:97,1
    - Dst: date_Set
      Src: /src/vlc/modules/video_filter/fps.c:98,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/fps.c:100,1
    - Dst: picture_Hold
      Src: /src/vlc/modules/video_filter/fps.c:101,1
    - Dst: SetOutputDate
      Src: /src/vlc/modules/video_filter/fps.c:102,1
    - Dst: date_Get
      Src: /src/vlc/modules/video_filter/fps.c:108,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/fps.c:111,1
    - Dst: SetOutputDate
      Src: /src/vlc/modules/video_filter/fps.c:116,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/fps.c:121,1
    - Dst: date_Get
      Src: /src/vlc/modules/video_filter/fps.c:121,1
    - Dst: picture_NewFromFormat
      Src: /src/vlc/modules/video_filter/fps.c:124,1
    - Dst: picture_Copy
      Src: /src/vlc/modules/video_filter/fps.c:126,1
    - Dst: SetOutputDate
      Src: /src/vlc/modules/video_filter/fps.c:127,1
    - Dst: vlc_picture_chain_AppendChain
      Src: /src/vlc/modules/video_filter/fps.c:129,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - p_filter
    - p_picture
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 136
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/fps.c
    functionUses: 29
    functionsReached:
    - picture_Hold
    - date_Set
    - picture_Release
    - msg_Dbg
    - date_Get
    - picture_Copy
    - SetOutputDate
    - vlc_picture_chain_AppendChain
    - unlikely
    - picture_NewFromFormat
    linkageType: ''
    returnType: picture_t
    signature: picture_t *Filter( filter_t *p_filter, picture_t *p_picture)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: date_Init
      Src: /src/vlc/modules/video_filter/fps.c:141,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/fps.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 148
    functionName: Flush
    functionSourceFile: /src/vlc/modules/video_filter/fps.c
    functionUses: 54
    functionsReached:
    - picture_Release
    - date_Init
    linkageType: ''
    returnType: void
    signature: void Flush( filter_t *p_filter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/vlc/modules/video_filter/fps.c:152,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/video_filter/fps.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_filter/fps.c
    functionUses: 114
    functionsReached:
    - Flush
    - vlc_video_context_Release
    linkageType: ''
    returnType: void
    signature: void Close( filter_t *p_filter )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: video_format_IsSameChroma
      Src: /src/vlc/modules/video_filter/fps.c:168,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/video_filter/fps.c:172,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_filter/fps.c:172,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/fps.c:174,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_filter/fps.c:177,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/video_filter/fps.c:183,1
    - Dst: video_format_Copy
      Src: /src/vlc/modules/video_filter/fps.c:184,1
    - Dst: var_InheritURational
      Src: /src/vlc/modules/video_filter/fps.c:187,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/fps.c:195,1
    - Dst: vlc_obj_free
      Src: /src/vlc/modules/video_filter/fps.c:196,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_filter/fps.c:196,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/fps.c:200,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/video_filter/fps.c:204,1
    - Dst: date_Init
      Src: /src/vlc/modules/video_filter/fps.c:207,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/video_filter/fps.c:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 219
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_filter/fps.c
    functionUses: 33
    functionsReached:
    - video_format_IsSameChroma
    - video_format_Copy
    - vlc_obj_malloc
    - vlc_obj_free
    - date_Init
    - vlc_video_context_Hold
    - config_ChainParse
    - var_InheritURational
    - msg_Err
    - msg_Dbg
    - vlc_tick_from_samples
    - VLC_OBJECT
    - video_format_Clean
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Open( filter_t *p_filter )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: video_format_IsSameChroma
      Src: /src/vlc/modules/video_filter/hqdn3d.c:111,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/hqdn3d.c:112,1
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/video_filter/hqdn3d.c:117,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/hqdn3d.c:118,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/hqdn3d.c:120,1
    - Dst: calloc
      Src: /src/vlc/modules/video_filter/hqdn3d.c:125,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/hqdn3d.c:138,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/hqdn3d.c:140,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_filter/hqdn3d.c:144,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/video_filter/hqdn3d.c:148,1
    - Dst: var_CreateGetFloatCommand
      Src: /src/vlc/modules/video_filter/hqdn3d.c:150,1
    - Dst: var_CreateGetFloatCommand
      Src: /src/vlc/modules/video_filter/hqdn3d.c:151,1
    - Dst: var_CreateGetFloatCommand
      Src: /src/vlc/modules/video_filter/hqdn3d.c:152,1
    - Dst: var_CreateGetFloatCommand
      Src: /src/vlc/modules/video_filter/hqdn3d.c:153,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/hqdn3d.c:163,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/hqdn3d.c:164,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/hqdn3d.c:165,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/hqdn3d.c:166,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: ( chroma != NULL )
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/vlc/modules/video_filter/hqdn3d.c
    constantsTouched: []
    func_position:
      end: 169
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 169
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_filter/hqdn3d.c
    functionUses: 33
    functionsReached:
    - video_format_IsSameChroma
    - assert
    - var_CreateGetFloatCommand
    - var_AddCallback
    - vlc_mutex_init
    - msg_Err
    - calloc
    - free
    - config_ChainParse
    - vlc_fourcc_GetChromaDescription
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open(filter_t *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/hqdn3d.c:179,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/hqdn3d.c:180,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/hqdn3d.c:181,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/hqdn3d.c:182,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/hqdn3d.c:185,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/hqdn3d.c:187,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/hqdn3d.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 189
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_filter/hqdn3d.c
    functionUses: 114
    functionsReached:
    - free
    - var_DelCallback
    linkageType: ''
    returnType: void
    signature: void Close(filter_t *filter)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: filter_NewPicture
      Src: /src/vlc/modules/video_filter/hqdn3d.c:203,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/hqdn3d.c:204,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/hqdn3d.c:205,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_filter/hqdn3d.c:208,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/hqdn3d.c:212,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/hqdn3d.c:214,1
    - Dst: PrecalcCoefs
      Src: /src/vlc/modules/video_filter/hqdn3d.c:216,1
    - Dst: PrecalcCoefs
      Src: /src/vlc/modules/video_filter/hqdn3d.c:217,1
    - Dst: PrecalcCoefs
      Src: /src/vlc/modules/video_filter/hqdn3d.c:218,1
    - Dst: PrecalcCoefs
      Src: /src/vlc/modules/video_filter/hqdn3d.c:219,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/hqdn3d.c:221,1
    - Dst: deNoise
      Src: /src/vlc/modules/video_filter/hqdn3d.c:223,1
    - Dst: deNoise
      Src: /src/vlc/modules/video_filter/hqdn3d.c:229,1
    - Dst: deNoise
      Src: /src/vlc/modules/video_filter/hqdn3d.c:235,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/hqdn3d.c:242,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/hqdn3d.c:244,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/hqdn3d.c:245,1
    - Dst: CopyInfoAndRelease
      Src: /src/vlc/modules/video_filter/hqdn3d.c:249,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - filter
    - src
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 250
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/hqdn3d.c
    functionUses: 29
    functionsReached:
    - deNoise
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - PrecalcCoefs
    - filter_NewPicture
    - picture_Release
    - msg_Dbg
    - unlikely
    - CopyInfoAndRelease
    linkageType: ''
    returnType: picture_t
    signature: picture_t *Filter(filter_t *filter, picture_t *src)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/hqdn3d.c:257,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/hqdn3d.c:257,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_filter/hqdn3d.c:263,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/hqdn3d.c:264,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/hqdn3d.c:266,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/hqdn3d.c:268,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/hqdn3d.c:270,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/hqdn3d.c:273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - p_this
    - psz_var
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 276
    functionName: DenoiseCallback
    functionSourceFile: /src/vlc/modules/video_filter/hqdn3d.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_lock
    - strcmp
    - vlc_mutex_unlock
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int DenoiseCallback( vlc_object_t *p_this, char const *psz_var,\n
      \                           vlc_value_t oldval, vlc_value_t newval,\n                            void
      *p_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - seed
    argTypes:
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: urand
    functionSourceFile: /src/vlc/modules/video_filter/grain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t urand(uint32_t *seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: urand
      Src: /src/vlc/modules/video_filter/grain.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - seed
    argTypes:
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: drand
    functionSourceFile: /src/vlc/modules/video_filter/grain.c
    functionUses: 0
    functionsReached:
    - urand
    linkageType: ''
    returnType: double
    signature: double drand(uint32_t *seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drand
      Src: /src/vlc/modules/video_filter/grain.c:122,1
    - Dst: drand
      Src: /src/vlc/modules/video_filter/grain.c:123,1
    - Dst: sqrt
      Src: /src/vlc/modules/video_filter/grain.c:127,1
    - Dst: log
      Src: /src/vlc/modules/video_filter/grain.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - r1
    - r2
    - seed
    argTypes:
    - double*
    - double*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 130
    functionName: grand
    functionSourceFile: /src/vlc/modules/video_filter/grain.c
    functionUses: 0
    functionsReached:
    - drand
    - log
    - sqrt
    linkageType: ''
    returnType: void
    signature: void grand(double *r1, double *r2, uint32_t *seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clip_uint8_vlc
      Src: /src/vlc/modules/video_filter/grain.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 7
    argNames:
    - dst
    - dst_pitch
    - src
    - src_pitch
    - noise
    - w
    - h
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - int16_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: BlockBlend
    functionSourceFile: /src/vlc/modules/video_filter/grain.c
    functionUses: 0
    functionsReached:
    - clip_uint8_vlc
    linkageType: ''
    returnType: void
    signature: "void BlockBlend(uint8_t *dst, size_t dst_pitch,\n                       const
      uint8_t *src, size_t src_pitch,\n                       const int16_t *noise,\n
      \                      int w, int h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BlockBlend
      Src: /src/vlc/modules/video_filter/grain.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - dst
    - dst_pitch
    - src
    - src_pitch
    - noise
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - int16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: BlockBlendC
    functionSourceFile: /src/vlc/modules/video_filter/grain.c
    functionUses: 0
    functionsReached:
    - BlockBlend
    linkageType: ''
    returnType: void
    signature: "void BlockBlendC(uint8_t *dst, size_t dst_pitch,\n                        const
      uint8_t *src, size_t src_pitch,\n                        const int16_t *noise)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: STRING_EXPAND
    functionSourceFile: /src/vlc/modules/video_filter/grain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRING_EXPAND(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: STRING
    functionSourceFile: /src/vlc/modules/video_filter/grain.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRING(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - dst
    - dst_pitch
    - src
    - src_pitch
    - noise
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - int16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 192
    functionName: BlockBlendSse2
    functionSourceFile: /src/vlc/modules/video_filter/grain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VLC_SSE
    signature: "VLC_SSE BlockBlendSse2(uint8_t *dst, size_t dst_pitch,\n                           const
      uint8_t *src, size_t src_pitch,\n                           const int16_t *noise)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - dst
    - src
    - scale
    argTypes:
    - int16_t*
    - int16_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 214
    functionName: Scale
    functionSourceFile: /src/vlc/modules/video_filter/grain.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Scale(int16_t *dst, int16_t *src, int scale)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: urand
      Src: /src/vlc/modules/video_filter/grain.c:224,1
    - Dst: urand
      Src: /src/vlc/modules/video_filter/grain.c:225,1
    - Dst: filter_sys_t*::blend
      Src: /src/vlc/modules/video_filter/grain.c:235,1
    - Dst: BlockBlend
      Src: /src/vlc/modules/video_filter/grain.c:237,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/grain.c:238,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/grain.c:238,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 5
    argNames:
    - filter
    - dst
    - src
    - bank
    - seed
    argTypes:
    - filter_t*
    - plane_t*
    - plane_t*
    - int16_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 241
    functionName: PlaneFilter
    functionSourceFile: /src/vlc/modules/video_filter/grain.c
    functionUses: 0
    functionsReached:
    - filter_sys_t*::blend
    - urand
    - __MIN
    - BlockBlend
    linkageType: ''
    returnType: void
    signature: "void PlaneFilter(filter_t *filter,\n                        plane_t
      *dst, const plane_t *src,\n                        int16_t *bank, uint32_t *seed)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_filter/grain.c:247,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/video_filter/grain.c:248,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/grain.c:249,1
    - Dst: sqrt
      Src: /src/vlc/modules/video_filter/grain.c:251,1
    - Dst: Scale
      Src: /src/vlc/modules/video_filter/grain.c:254,1
    - Dst: Scale
      Src: /src/vlc/modules/video_filter/grain.c:255,1
    - Dst: PlaneFilter
      Src: /src/vlc/modules/video_filter/grain.c:265,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/video_filter/grain.c:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - filter
    - src
    - dst
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 243
    functionDepth: 3
    functionLinenumber: 243
    functionLinenumberEnd: 271
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/grain.c
    functionUses: 30
    functionsReached:
    - vlc_mutex_unlock
    - VLC_CLIP
    - sqrt
    - vlc_mutex_lock
    - PlaneFilter
    - plane_CopyPixels
    - Scale
    linkageType: ''
    returnType: void
    signature: void Filter(filter_t *filter, picture_t *src, picture_t *dst)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/video_filter/grain.c:279,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/grain.c:288,1
    - Dst: grand
      Src: /src/vlc/modules/video_filter/grain.c:292,1
    - Dst: sqrt
      Src: /src/vlc/modules/video_filter/grain.c:307,1
    - Dst: sqrt
      Src: /src/vlc/modules/video_filter/grain.c:313,1
    - Dst: sqrt
      Src: /src/vlc/modules/video_filter/grain.c:314,1
    - Dst: cos
      Src: /src/vlc/modules/video_filter/grain.c:314,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/video_filter/grain.c:338,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/grain.c:344,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 5
    argNames:
    - bank
    - h_min
    - h_max
    - v_min
    - v_max
    argTypes:
    - int16_t*
    - int
    - int
    - int
    - int
    assertStmts:
    - condition: ((N % 2) == 0)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/vlc/modules/video_filter/grain.c
    constantsTouched: []
    func_position:
      end: 346
      start: 276
    functionDepth: 3
    functionLinenumber: 276
    functionLinenumberEnd: 346
    functionName: Generate
    functionSourceFile: /src/vlc/modules/video_filter/grain.c
    functionUses: 2
    functionsReached:
    - assert
    - cos
    - sqrt
    - VLC_CLIP
    - grand
    - calloc
    - free
    linkageType: ''
    returnType: int
    signature: int Generate(int16_t *bank, int h_min, int h_max, int v_min, int v_max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/grain.c:353,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/grain.c:353,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/grain.c:353,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_filter/grain.c:355,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/grain.c:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - object
    - cmd
    - oldval
    - newval
    - data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 360
    functionName: Callback
    functionSourceFile: /src/vlc/modules/video_filter/grain.c
    functionUses: 53
    functionsReached:
    - vlc_mutex_lock
    - vlc_mutex_unlock
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int Callback(vlc_object_t *object, char const *cmd,\n                    vlc_value_t
      oldval, vlc_value_t newval, void *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/video_filter/grain.c:365,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/grain.c:366,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/grain.c:368,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/grain.c:372,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_filter/grain.c:379,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_filter/grain.c:380,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/video_filter/grain.c:381,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/video_filter/grain.c:382,1
    - Dst: Generate
      Src: /src/vlc/modules/video_filter/grain.c:383,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/grain.c:384,1
    - Dst: vlc_CPU_SSE2
      Src: /src/vlc/modules/video_filter/grain.c:390,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/video_filter/grain.c:395,1
    - Dst: var_CreateGetFloatCommand
      Src: /src/vlc/modules/video_filter/grain.c:396,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/grain.c:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: ( chroma != NULL )
      pos:
        line_end: 365
        line_start: 365
        source_file: /src/vlc/modules/video_filter/grain.c
    constantsTouched: []
    func_position:
      end: 402
      start: 362
    functionDepth: 4
    functionLinenumber: 362
    functionLinenumberEnd: 402
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_filter/grain.c
    functionUses: 33
    functionsReached:
    - assert
    - VLC_CLIP
    - var_CreateGetFloatCommand
    - var_InheritInteger
    - var_AddCallback
    - vlc_mutex_init
    - Generate
    - msg_Err
    - free
    - vlc_CPU_SSE2
    - vlc_fourcc_GetChromaDescription
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open(filter_t *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/grain.c:408,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/grain.c:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 410
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_filter/grain.c
    functionUses: 114
    functionsReached:
    - free
    - var_DelCallback
    linkageType: ''
    returnType: void
    signature: void Close(filter_t *filter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/video_filter/wave.c:79,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/wave.c:80,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/video_filter/wave.c:86,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_filter/wave.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: ( p_chroma != NULL )
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/vlc/modules/video_filter/wave.c
    constantsTouched: []
    func_position:
      end: 96
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 96
    functionName: Create
    functionSourceFile: /src/vlc/modules/video_filter/wave.c
    functionUses: 128
    functionsReached:
    - VLC_OBJECT
    - assert
    - vlc_fourcc_GetChromaDescription
    - vlc_obj_malloc
    linkageType: ''
    returnType: int
    signature: int Create( filter_t *p_filter )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/video_filter/wave.c:108,1
    - Dst: secf_from_vlc_tick
      Src: /src/vlc/modules/video_filter/wave.c:112,1
    - Dst: sin
      Src: /src/vlc/modules/video_filter/wave.c:155,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/wave.c:164,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/wave.c:171,1
    - Dst: memset
      Src: /src/vlc/modules/video_filter/wave.c:182,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/wave.c:186,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - p_filter
    - p_pic
    - p_outpic
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 192
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/wave.c
    functionUses: 30
    functionsReached:
    - vlc_tick_now
    - memset
    - memcpy
    - secf_from_vlc_tick
    - sin
    linkageType: ''
    returnType: void
    signature: void Filter( filter_t *p_filter, picture_t *p_pic, picture_t *p_outpic
      )
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/anaglyph.c:97,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/video_filter/anaglyph.c:102,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_filter/anaglyph.c:102,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/anaglyph.c:103,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_filter/anaglyph.c:107,1
    - Dst: var_CreateGetStringCommand
      Src: /src/vlc/modules/video_filter/anaglyph.c:110,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/anaglyph.c:115,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/anaglyph.c:117,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/anaglyph.c:119,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/anaglyph.c:121,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/anaglyph.c:123,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/anaglyph.c:126,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/anaglyph.c:128,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 156
    functionName: Create
    functionSourceFile: /src/vlc/modules/video_filter/anaglyph.c
    functionUses: 128
    functionsReached:
    - vlc_obj_malloc
    - var_CreateGetStringCommand
    - config_ChainParse
    - msg_Err
    - strcmp
    - free
    - VLC_OBJECT
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Create(filter_t *p_filter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: combine_side_by_side_yuv420
      Src: /src/vlc/modules/video_filter/anaglyph.c:166,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_filter/anaglyph.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - p_filter
    - p_pic
    - p_outpic
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 173
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/anaglyph.c
    functionUses: 30
    functionsReached:
    - vlc_assert_unreachable
    - combine_side_by_side_yuv420
    linkageType: ''
    returnType: void
    signature: void Filter(filter_t *p_filter, picture_t *p_pic, picture_t *p_outpic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: yuv_to_rgb
      Src: /src/vlc/modules/video_filter/anaglyph.c:218,1
    - Dst: yuv_to_rgb
      Src: /src/vlc/modules/video_filter/anaglyph.c:219,1
    - Dst: rgb_to_yuv
      Src: /src/vlc/modules/video_filter/anaglyph.c:223,1
    - Dst: yuv_to_rgb
      Src: /src/vlc/modules/video_filter/anaglyph.c:229,1
    - Dst: yuv_to_rgb
      Src: /src/vlc/modules/video_filter/anaglyph.c:230,1
    - Dst: rgb_to_yuv
      Src: /src/vlc/modules/video_filter/anaglyph.c:234,1
    - Dst: yuv_to_rgb
      Src: /src/vlc/modules/video_filter/anaglyph.c:240,1
    - Dst: yuv_to_rgb
      Src: /src/vlc/modules/video_filter/anaglyph.c:241,1
    - Dst: rgb_to_yuv
      Src: /src/vlc/modules/video_filter/anaglyph.c:245,1
    - Dst: yuv_to_rgb
      Src: /src/vlc/modules/video_filter/anaglyph.c:251,1
    - Dst: yuv_to_rgb
      Src: /src/vlc/modules/video_filter/anaglyph.c:252,1
    - Dst: rgb_to_yuv
      Src: /src/vlc/modules/video_filter/anaglyph.c:256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 58
    argCount: 4
    argNames:
    - p_inpic
    - p_outpic
    - left
    - right
    argTypes:
    - picture_t*
    - picture_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 275
    functionName: combine_side_by_side_yuv420
    functionSourceFile: /src/vlc/modules/video_filter/anaglyph.c
    functionUses: 1
    functionsReached:
    - rgb_to_yuv
    - yuv_to_rgb
    linkageType: ''
    returnType: void
    signature: "void combine_side_by_side_yuv420(picture_t *p_inpic, picture_t *p_outpic,\n
      \                                       int left, int right)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lroundf
      Src: /src/vlc/modules/video_filter/rotate.c:103,1
    - Dst: ldexpf
      Src: /src/vlc/modules/video_filter/rotate.c:103,1
    - Dst: sinf
      Src: /src/vlc/modules/video_filter/rotate.c:103,1
    - Dst: lroundf
      Src: /src/vlc/modules/video_filter/rotate.c:104,1
    - Dst: ldexpf
      Src: /src/vlc/modules/video_filter/rotate.c:104,1
    - Dst: cosf
      Src: /src/vlc/modules/video_filter/rotate.c:104,1
    - Dst: atomic_store_explicit
      Src: /src/vlc/modules/video_filter/rotate.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sys
    - f_angle
    argTypes:
    - filter_sys_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: store_trigo
    functionSourceFile: /src/vlc/modules/video_filter/rotate.c
    functionUses: 0
    functionsReached:
    - atomic_store_explicit
    - cosf
    - ldexpf
    - sinf
    - lroundf
    linkageType: ''
    returnType: void
    signature: void store_trigo( filter_sys_t *sys, float f_angle )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: video_format_IsSameChroma
      Src: /src/vlc/modules/video_filter/rotate.c:120,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/rotate.c:123,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/rotate.c:138,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/rotate.c:144,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_filter/rotate.c:149,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_filter/rotate.c:152,1
    - Dst: motion_create
      Src: /src/vlc/modules/video_filter/rotate.c:154,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_filter/rotate.c:154,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/rotate.c:157,1
    - Dst: var_CreateGetFloatCommand
      Src: /src/vlc/modules/video_filter/rotate.c:163,1
    - Dst: store_trigo
      Src: /src/vlc/modules/video_filter/rotate.c:165,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/rotate.c:166,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 172
    functionName: Create
    functionSourceFile: /src/vlc/modules/video_filter/rotate.c
    functionUses: 128
    functionsReached:
    - video_format_IsSameChroma
    - store_trigo
    - var_CreateGetFloatCommand
    - var_AddCallback
    - var_InheritBool
    - config_ChainParse
    - msg_Err
    - free
    - VLC_OBJECT
    - motion_create
    - malloc
    linkageType: ''
    returnType: int
    signature: int Create( filter_t *p_filter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: motion_destroy
      Src: /src/vlc/modules/video_filter/rotate.c:182,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/rotate.c:185,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/rotate.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 189
    functionName: Destroy
    functionSourceFile: /src/vlc/modules/video_filter/rotate.c
    functionUses: 75
    functionsReached:
    - free
    - motion_destroy
    - var_DelCallback
    linkageType: ''
    returnType: void
    signature: void Destroy( filter_t *p_filter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/rotate.c:197,1
    - Dst: motion_get_angle
      Src: /src/vlc/modules/video_filter/rotate.c:207,1
    - Dst: store_trigo
      Src: /src/vlc/modules/video_filter/rotate.c:208,1
    - Dst: atomic_load_explicit
      Src: /src/vlc/modules/video_filter/rotate.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - p_filter
    - p_mouse
    - p_old
    argTypes:
    - filter_t*
    - vlc_mouse_t*
    - vlc_mouse_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 194
    functionDepth: 3
    functionLinenumber: 194
    functionLinenumberEnd: 222
    functionName: Mouse
    functionSourceFile: /src/vlc/modules/video_filter/rotate.c
    functionUses: 3
    functionsReached:
    - store_trigo
    - motion_get_angle
    - atomic_load_explicit
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int Mouse( filter_t *p_filter, vlc_mouse_t *p_mouse,\n                  const
      vlc_mouse_t *p_old )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: motion_get_angle
      Src: /src/vlc/modules/video_filter/rotate.c:233,1
    - Dst: store_trigo
      Src: /src/vlc/modules/video_filter/rotate.c:234,1
    - Dst: atomic_load_explicit
      Src: /src/vlc/modules/video_filter/rotate.c:237,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/rotate.c:247,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 3
    argNames:
    - p_filter
    - p_pic
    - p_outpic
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 337
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/rotate.c
    functionUses: 30
    functionsReached:
    - store_trigo
    - motion_get_angle
    - atomic_load_explicit
    - __MAX
    linkageType: ''
    returnType: void
    signature: void Filter( filter_t *p_filter, picture_t *p_pic, picture_t *p_outpic
      )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GetPackedYuvOffsets
      Src: /src/vlc/modules/video_filter/rotate.c:351,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_filter/rotate.c:354,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/rotate.c:356,1
    - Dst: filter_NewPicture
      Src: /src/vlc/modules/video_filter/rotate.c:360,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/rotate.c:363,1
    - Dst: motion_get_angle
      Src: /src/vlc/modules/video_filter/rotate.c:385,1
    - Dst: store_trigo
      Src: /src/vlc/modules/video_filter/rotate.c:386,1
    - Dst: atomic_load_explicit
      Src: /src/vlc/modules/video_filter/rotate.c:389,1
    - Dst: CopyInfoAndRelease
      Src: /src/vlc/modules/video_filter/rotate.c:442,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 2
    argNames:
    - p_filter
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 342
    functionDepth: 3
    functionLinenumber: 342
    functionLinenumberEnd: 443
    functionName: FilterPacked
    functionSourceFile: /src/vlc/modules/video_filter/rotate.c
    functionUses: 0
    functionsReached:
    - store_trigo
    - atomic_load_explicit
    - filter_NewPicture
    - GetPackedYuvOffsets
    - picture_Release
    - motion_get_angle
    - msg_Warn
    - CopyInfoAndRelease
    linkageType: ''
    returnType: picture_t
    signature: picture_t *FilterPacked( filter_t *p_filter, picture_t *p_pic )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store_trigo
      Src: /src/vlc/modules/video_filter/rotate.c:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - p_this
    - psz_var
    - oldval
    - newval
    - data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 456
    functionName: RotateCallback
    functionSourceFile: /src/vlc/modules/video_filter/rotate.c
    functionUses: 0
    functionsReached:
    - store_trigo
    linkageType: ''
    returnType: int
    signature: "int RotateCallback( vlc_object_t *p_this, char const *psz_var,\n                           vlc_value_t
      oldval, vlc_value_t newval, void *data )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/motiondetect.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: Flush
    functionSourceFile: /src/vlc/modules/video_filter/motiondetect.c
    functionUses: 55
    functionsReached:
    - picture_Release
    linkageType: ''
    returnType: void
    signature: void Flush(filter_t *p_filter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/motiondetect.c:112,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/motiondetect.c:123,1
    - Dst: calloc
      Src: /src/vlc/modules/video_filter/motiondetect.c:129,1
    - Dst: calloc
      Src: /src/vlc/modules/video_filter/motiondetect.c:130,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/motiondetect.c:134,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/motiondetect.c:135,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 140
    functionName: Create
    functionSourceFile: /src/vlc/modules/video_filter/motiondetect.c
    functionUses: 128
    functionsReached:
    - calloc
    - free
    - malloc
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int Create( filter_t *p_filter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/video_filter/motiondetect.c:149,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/motiondetect.c:150,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/motiondetect.c:152,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/motiondetect.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: Destroy
    functionSourceFile: /src/vlc/modules/video_filter/motiondetect.c
    functionUses: 75
    functionsReached:
    - free
    - picture_Release
    linkageType: ''
    returnType: void
    signature: void Destroy( filter_t *p_filter )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/vlc/modules/video_filter/motiondetect.c:177,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_filter/motiondetect.c:196,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/motiondetect.c:214,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/motiondetect.c:215,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - p_filter
    - p_inpic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 224
    functionName: PreparePlanar
    functionSourceFile: /src/vlc/modules/video_filter/motiondetect.c
    functionUses: 0
    functionsReached:
    - abs
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: void PreparePlanar( filter_t *p_filter, picture_t *p_inpic )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetPackedYuvOffsets
      Src: /src/vlc/modules/video_filter/motiondetect.c:232,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_filter/motiondetect.c:235,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/motiondetect.c:253,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/motiondetect.c:254,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/motiondetect.c:258,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - p_filter
    - p_inpic
    - pi_pix_offset
    argTypes:
    - filter_t*
    - picture_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 262
    functionName: PreparePacked
    functionSourceFile: /src/vlc/modules/video_filter/motiondetect.c
    functionUses: 0
    functionsReached:
    - GetPackedYuvOffsets
    - abs
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int PreparePacked( filter_t *p_filter, picture_t *p_inpic, int *pi_pix_offset
      )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: filter_NewPicture
      Src: /src/vlc/modules/video_filter/motiondetect.c:271,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/motiondetect.c:274,1
    - Dst: picture_Copy
      Src: /src/vlc/modules/video_filter/motiondetect.c:277,1
    - Dst: picture_Hold
      Src: /src/vlc/modules/video_filter/motiondetect.c:281,1
    - Dst: PreparePlanar
      Src: /src/vlc/modules/video_filter/motiondetect.c:289,1
    - Dst: PreparePacked
      Src: /src/vlc/modules/video_filter/motiondetect.c:295,1
    - Dst: FindShapes
      Src: /src/vlc/modules/video_filter/motiondetect.c:304,1
    - Dst: Draw
      Src: /src/vlc/modules/video_filter/motiondetect.c:311,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/motiondetect.c:314,1
    - Dst: picture_Hold
      Src: /src/vlc/modules/video_filter/motiondetect.c:315,1
    - Dst: picture_CopyProperties
      Src: /src/vlc/modules/video_filter/motiondetect.c:318,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/motiondetect.c:319,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - p_filter
    - p_inpic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 321
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/motiondetect.c
    functionUses: 30
    functionsReached:
    - picture_Hold
    - PreparePlanar
    - filter_NewPicture
    - Draw
    - picture_CopyProperties
    - picture_Release
    - PreparePacked
    - picture_Copy
    - FindShapes
    linkageType: ''
    returnType: picture_t
    signature: picture_t *Filter( filter_t *p_filter, picture_t *p_inpic )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/video_filter/motiondetect.c:340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - p_inpix
    - p_smooth
    - i_src_pitch
    - i_num_lines
    - i_src_visible
    argTypes:
    - uint32_t*
    - uint32_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 380
    functionName: GaussianConvolution
    functionSourceFile: /src/vlc/modules/video_filter/motiondetect.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void GaussianConvolution( uint32_t *p_inpix, uint32_t *p_smooth,\n
      \                                int i_src_pitch, int i_num_lines,\n                                 int
      i_src_visible )"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: GaussianConvolution
      Src: /src/vlc/modules/video_filter/motiondetect.c:396,1
    - Dst: CHECK
      Src: /src/vlc/modules/video_filter/motiondetect.c:439,1
    - Dst: CHECK
      Src: /src/vlc/modules/video_filter/motiondetect.c:440,1
    - Dst: CHECK
      Src: /src/vlc/modules/video_filter/motiondetect.c:441,1
    - Dst: CHECK
      Src: /src/vlc/modules/video_filter/motiondetect.c:442,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/motiondetect.c:506,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/motiondetect.c:506,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/motiondetect.c:507,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/motiondetect.c:507,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/motiondetect.c:509,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/motiondetect.c:510,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/motiondetect.c:511,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/motiondetect.c:512,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 79
    argCount: 10
    argNames:
    - p_diff
    - p_smooth
    - i_pitch
    - i_visible
    - i_lines
    - colors
    - color_x_min
    - color_x_max
    - color_y_min
    - color_y_max
    argTypes:
    - uint32_t*
    - uint32_t*
    - int
    - int
    - int
    - int*
    - int*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 520
    functionName: FindShapes
    functionSourceFile: /src/vlc/modules/video_filter/motiondetect.c
    functionUses: 1
    functionsReached:
    - __MAX
    - GaussianConvolution
    - __MIN
    - CHECK
    linkageType: ''
    returnType: int
    signature: "int FindShapes( uint32_t *p_diff, uint32_t *p_smooth,\n                       int
      i_pitch, int i_visible, int i_lines,\n                       int *colors,\n
      \                      int *color_x_min, int *color_x_max,\n                       int
      *color_y_min, int *color_y_max )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 439
    functionName: CHECK
    functionSourceFile: /src/vlc/modules/video_filter/motiondetect.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK( A )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/motiondetect.c:563,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 4
    argNames:
    - p_filter
    - p_pix
    - i_pix_pitch
    - i_pix_size
    argTypes:
    - filter_t*
    - uint8_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 564
    functionName: Draw
    functionSourceFile: /src/vlc/modules/video_filter/motiondetect.c
    functionUses: 4
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void Draw( filter_t *p_filter, uint8_t *p_pix, int i_pix_pitch, int
      i_pix_size )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pic_ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: PRIV
    functionSourceFile: /src/vlc/modules/video_filter/egl_surfacetexture.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRIV(pic_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_video_context_GetPrivate
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: GetVCtx
    functionSourceFile: /src/vlc/modules/video_filter/egl_surfacetexture.c
    functionUses: 0
    functionsReached:
    - vlc_video_context_GetPrivate
    linkageType: ''
    returnType: struct video_ctx
    signature: struct video_ctx *GetVCtx(vlc_gl_t *gl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetVCtx
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:84,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:87,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:88,1
    - Dst: PRIV
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:90,1
    - Dst: eglMakeCurrent
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts:
    - condition: (sys->current_picture->context)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/vlc/modules/video_filter/egl_surfacetexture.c
    - condition: (sys->current_picture)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/vlc/modules/video_filter/egl_surfacetexture.c
    constantsTouched: []
    func_position:
      end: 97
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 97
    functionName: MakeCurrent
    functionSourceFile: /src/vlc/modules/video_filter/egl_surfacetexture.c
    functionUses: 23
    functionsReached:
    - PRIV
    - assert
    - GetVCtx
    - eglMakeCurrent
    linkageType: ''
    returnType: int
    signature: int MakeCurrent(vlc_gl_t *gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetVCtx
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:101,1
    - Dst: eglMakeCurrent
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: ReleaseCurrent
    functionSourceFile: /src/vlc/modules/video_filter/egl_surfacetexture.c
    functionUses: 12
    functionsReached:
    - GetVCtx
    - eglMakeCurrent
    linkageType: ''
    returnType: void
    signature: void ReleaseCurrent(vlc_gl_t *gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eglGetProcAddress
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - gl
    - procname
    argTypes:
    - vlc_gl_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: GetSymbol
    functionSourceFile: /src/vlc/modules/video_filter/egl_surfacetexture.c
    functionUses: 0
    functionsReached:
    - eglGetProcAddress
    linkageType: ''
    returnType: void
    signature: void *GetSymbol(vlc_gl_t *gl, const char *procname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: CopyPictureContext
    functionSourceFile: /src/vlc/modules/video_filter/egl_surfacetexture.c
    functionUses: 0
    functionsReached:
    - vlc_video_context_Hold
    linkageType: ''
    returnType: picture_context_t
    signature: picture_context_t *CopyPictureContext(picture_context_t *input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: DestroyPictureContext
    functionSourceFile: /src/vlc/modules/video_filter/egl_surfacetexture.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DestroyPictureContext(picture_context_t *input)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:128,1
    - Dst: GetVCtx
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:129,1
    - Dst: vlc_asurfacetexture_New
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:131,1
    - Dst: ANativeWindow_setBuffersGeometry
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:136,1
    - Dst: eglCreateWindowSurface
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:140,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:144,1
    - Dst: vlc_asurfacetexture_Delete
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:145,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 158
    functionName: CreatePictureContext
    functionSourceFile: /src/vlc/modules/video_filter/egl_surfacetexture.c
    functionUses: 0
    functionsReached:
    - eglCreateWindowSurface
    - GetVCtx
    - vlc_asurfacetexture_New
    - ANativeWindow_setBuffersGeometry
    - vlc_asurfacetexture_Delete
    - msg_Err
    - free
    - malloc
    linkageType: ''
    returnType: picture_context_t
    signature: picture_context_t *CreatePictureContext(vlc_gl_t *gl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetVCtx
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:163,1
    - Dst: eglGetDisplay
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:165,1
    - Dst: eglInitialize
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:171,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:173,1
    - Dst: eglQueryString
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:174,1
    - Dst: eglQueryString
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:175,1
    - Dst: eglChooseConfig
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:191,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:194,1
    - Dst: eglBindAPI
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:198,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:200,1
    - Dst: eglCreateContext
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:210,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:213,1
    - Dst: eglTerminate
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:222,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 224
    functionName: InitEGL
    functionSourceFile: /src/vlc/modules/video_filter/egl_surfacetexture.c
    functionUses: 1
    functionsReached:
    - eglGetDisplay
    - GetVCtx
    - eglCreateContext
    - eglQueryString
    - msg_Err
    - eglChooseConfig
    - msg_Dbg
    - eglTerminate
    - eglInitialize
    - eglBindAPI
    linkageType: ''
    returnType: int
    signature: int InitEGL(vlc_gl_t *gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetVCtx
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:229,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:232,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:233,1
    - Dst: PRIV
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:236,1
    - Dst: eglSwapBuffers
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:238,1
    - Dst: picture_pool_Wait
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:241,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:242,1
    - Dst: PRIV
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:243,1
    - Dst: eglMakeCurrent
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts:
    - condition: (current_picture)
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/vlc/modules/video_filter/egl_surfacetexture.c
    - condition: (current_picture->context)
      pos:
        line_end: 232
        line_start: 232
        source_file: /src/vlc/modules/video_filter/egl_surfacetexture.c
    - condition: (picture->context)
      pos:
        line_end: 241
        line_start: 241
        source_file: /src/vlc/modules/video_filter/egl_surfacetexture.c
    constantsTouched: []
    func_position:
      end: 249
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 249
    functionName: SwapOffscreen
    functionSourceFile: /src/vlc/modules/video_filter/egl_surfacetexture.c
    functionUses: 2
    functionsReached:
    - assert
    - GetVCtx
    - eglMakeCurrent
    - PRIV
    - eglSwapBuffers
    - picture_pool_Wait
    linkageType: ''
    returnType: picture_t
    signature: picture_t *SwapOffscreen(vlc_gl_t *gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:255,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:256,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 258
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_filter/egl_surfacetexture.c
    functionUses: 114
    functionsReached:
    - free
    - picture_Release
    - vlc_video_context_Release
    linkageType: ''
    returnType: void
    signature: void Close(vlc_gl_t *gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:263,1
    - Dst: PRIV
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:266,1
    - Dst: eglDestroySurface
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:268,1
    - Dst: vlc_asurfacetexture_Delete
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:269,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:272,1
    - Dst: picture_pool_Release
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:277,1
    - Dst: eglDestroyContext
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:281,1
    - Dst: eglTerminate
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 284
    functionName: DestroyVideoContext
    functionSourceFile: /src/vlc/modules/video_filter/egl_surfacetexture.c
    functionUses: 0
    functionsReached:
    - eglDestroyContext
    - ARRAY_SIZE
    - vlc_asurfacetexture_Delete
    - free
    - PRIV
    - picture_pool_Release
    - eglTerminate
    - eglDestroySurface
    linkageType: ''
    returnType: void
    signature: void DestroyVideoContext(void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:289,1
    - Dst: PRIV
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - picture_context_t*
    assertStmts:
    - condition: (context)
      pos:
        line_end: 288
        line_start: 288
        source_file: /src/vlc/modules/video_filter/egl_surfacetexture.c
    constantsTouched: []
    func_position:
      end: 293
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 293
    functionName: PictureContextGetTexture
    functionSourceFile: /src/vlc/modules/video_filter/egl_surfacetexture.c
    functionUses: 0
    functionsReached:
    - PRIV
    - assert
    linkageType: ''
    returnType: struct vlc_asurfacetexture
    signature: 'struct vlc_asurfacetexture *

      PictureContextGetTexture(picture_context_t *context)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetVCtx
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:298,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:301,1
    - Dst: picture_NewFromFormat
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:303,1
    - Dst: CreatePictureContext
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:307,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:310,1
    - Dst: picture_pool_New
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:317,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:317,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:325,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 327
    functionName: InitPicturePool
    functionSourceFile: /src/vlc/modules/video_filter/egl_surfacetexture.c
    functionUses: 0
    functionsReached:
    - GetVCtx
    - ARRAY_SIZE
    - picture_pool_New
    - picture_Release
    - picture_NewFromFormat
    - CreatePictureContext
    linkageType: ''
    returnType: int
    signature: int InitPicturePool(vlc_gl_t *gl)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:334,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:340,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:344,1
    - Dst: vlc_video_context_Create
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:365,1
    - Dst: InitEGL
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:370,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:372,1
    - Dst: GetVCtx
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:386,1
    - Dst: InitPicturePool
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:388,1
    - Dst: picture_pool_Get
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:391,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:392,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:393,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:394,1
    - Dst: vlc_gl_MakeCurrent
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:401,1
    - Dst: vlc_gl_LoadExtensionFunctions
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:406,1
    - Dst: vlc_gl_HasExtension
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:409,1
    - Dst: vlc_gl_ReleaseCurrent
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:410,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:414,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:422,1
    - Dst: eglTerminate
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:424,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:426,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/egl_surfacetexture.c:428,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 60
    argCount: 4
    argNames:
    - gl
    - width
    - height
    - gl_cfg
    argTypes:
    - vlc_gl_t*
    - unsigned
    - unsigned
    - struct vlc_gl_cfg*
    assertStmts:
    - condition: (sys->current_picture->context->vctx)
      pos:
        line_end: 393
        line_start: 393
        source_file: /src/vlc/modules/video_filter/egl_surfacetexture.c
    - condition: (sys->current_picture)
      pos:
        line_end: 391
        line_start: 391
        source_file: /src/vlc/modules/video_filter/egl_surfacetexture.c
    - condition: (sys->current_picture->context)
      pos:
        line_end: 392
        line_start: 392
        source_file: /src/vlc/modules/video_filter/egl_surfacetexture.c
    constantsTouched: []
    func_position:
      end: 430
      start: 329
    functionDepth: 4
    functionLinenumber: 329
    functionLinenumberEnd: 430
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_filter/egl_surfacetexture.c
    functionUses: 33
    functionsReached:
    - vlc_video_context_Release
    - assert
    - vlc_gl_MakeCurrent
    - GetVCtx
    - vlc_gl_ReleaseCurrent
    - InitEGL
    - msg_Err
    - InitPicturePool
    - vlc_gl_HasExtension
    - picture_Release
    - eglTerminate
    - free
    - vlc_video_context_Create
    - msg_Warn
    - vlc_gl_LoadExtensionFunctions
    - picture_pool_Get
    - malloc
    linkageType: ''
    returnType: int
    signature: "int Open(vlc_gl_t *gl, unsigned width, unsigned height,\n                const
      struct vlc_gl_cfg *gl_cfg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - PrevMul
    - CurrMul
    - Coef
    argTypes:
    - unsigned int
    - unsigned int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: LowPassMul
    functionSourceFile: /src/vlc/modules/video_filter/hqdn3d.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int LowPassMul(unsigned int PrevMul, unsigned int CurrMul,
      int* Coef)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LowPassMul
      Src: /src/vlc/modules/video_filter/hqdn3d.h:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 8
    argNames:
    - Frame
    - FrameDest
    - FrameAnt
    - W
    - H
    - sStride
    - dStride
    - Temporal
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned short*
    - int
    - int
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 68
    functionName: deNoiseTemporal
    functionSourceFile: /src/vlc/modules/video_filter/hqdn3d.h
    functionUses: 0
    functionsReached:
    - LowPassMul
    linkageType: ''
    returnType: void
    signature: "void deNoiseTemporal(\n                    unsigned char *Frame,        //
      mpi->planes[x]\n                    unsigned char *FrameDest,    // dmpi->planes[x]\n
      \                   unsigned short *FrameAnt,\n                    int W, int
      H, int sStride, int dStride,\n                    int *Temporal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LowPassMul
      Src: /src/vlc/modules/video_filter/hqdn3d.h:87,1
    - Dst: LowPassMul
      Src: /src/vlc/modules/video_filter/hqdn3d.h:95,1
    - Dst: LowPassMul
      Src: /src/vlc/modules/video_filter/hqdn3d.h:100,1
    - Dst: LowPassMul
      Src: /src/vlc/modules/video_filter/hqdn3d.h:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 9
    argNames:
    - Frame
    - FrameDest
    - LineAnt
    - W
    - H
    - sStride
    - dStride
    - Horizontal
    - Vertical
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned int*
    - int
    - int
    - int
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 105
    functionName: deNoiseSpacial
    functionSourceFile: /src/vlc/modules/video_filter/hqdn3d.h
    functionUses: 0
    functionsReached:
    - LowPassMul
    linkageType: ''
    returnType: void
    signature: "void deNoiseSpacial(\n                    unsigned char *Frame,        //
      mpi->planes[x]\n                    unsigned char *FrameDest,    // dmpi->planes[x]\n
      \                   unsigned int *LineAnt,       // vf->priv->Line (width bytes)\n
      \                   int W, int H, int sStride, int dStride,\n                    int
      *Horizontal, int *Vertical)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/hqdn3d.h:120,1
    - Dst: deNoiseTemporal
      Src: /src/vlc/modules/video_filter/hqdn3d.h:131,1
    - Dst: deNoiseSpacial
      Src: /src/vlc/modules/video_filter/hqdn3d.h:136,1
    - Dst: LowPassMul
      Src: /src/vlc/modules/video_filter/hqdn3d.h:143,1
    - Dst: LowPassMul
      Src: /src/vlc/modules/video_filter/hqdn3d.h:150,1
    - Dst: LowPassMul
      Src: /src/vlc/modules/video_filter/hqdn3d.h:151,1
    - Dst: LowPassMul
      Src: /src/vlc/modules/video_filter/hqdn3d.h:161,1
    - Dst: LowPassMul
      Src: /src/vlc/modules/video_filter/hqdn3d.h:162,1
    - Dst: LowPassMul
      Src: /src/vlc/modules/video_filter/hqdn3d.h:168,1
    - Dst: LowPassMul
      Src: /src/vlc/modules/video_filter/hqdn3d.h:169,1
    - Dst: LowPassMul
      Src: /src/vlc/modules/video_filter/hqdn3d.h:170,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 11
    argNames:
    - Frame
    - FrameDest
    - LineAnt
    - FrameAntPtr
    - W
    - H
    - sStride
    - dStride
    - Horizontal
    - Vertical
    - Temporal
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned int*
    - unsigned short**
    - int
    - int
    - int
    - int
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 175
    functionName: deNoise
    functionSourceFile: /src/vlc/modules/video_filter/hqdn3d.h
    functionUses: 1
    functionsReached:
    - LowPassMul
    - malloc
    - deNoiseTemporal
    - deNoiseSpacial
    linkageType: ''
    returnType: void
    signature: "void deNoise(unsigned char *Frame,        // mpi->planes[x]\n                    unsigned
      char *FrameDest,    // dmpi->planes[x]\n                    unsigned int *LineAnt,
      \     // vf->priv->Line (width bytes)\n                    unsigned short **FrameAntPtr,\n
      \                   int W, int H, int sStride, int dStride,\n                    int
      *Horizontal, int *Vertical, int *Temporal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log
      Src: /src/vlc/modules/video_filter/hqdn3d.h:184,1
    - Dst: log
      Src: /src/vlc/modules/video_filter/hqdn3d.h:184,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/hqdn3d.h:188,1
    - Dst: pow
      Src: /src/vlc/modules/video_filter/hqdn3d.h:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - Ct
    - Dist25
    argTypes:
    - int*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: PrecalcCoefs
    functionSourceFile: /src/vlc/modules/video_filter/hqdn3d.h
    functionUses: 1
    functionsReached:
    - pow
    - log
    - abs
    linkageType: ''
    returnType: void
    signature: void PrecalcCoefs(int *Ct, double Dist25)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: video_format_Init
      Src: /src/vlc/modules/video_filter/erase.c:100,1
    - Dst: image_HandlerCreate
      Src: /src/vlc/modules/video_filter/erase.c:101,1
    - Dst: vlc_path2uri
      Src: /src/vlc/modules/video_filter/erase.c:102,1
    - Dst: image_ReadUrl
      Src: /src/vlc/modules/video_filter/erase.c:103,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/erase.c:104,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/video_filter/erase.c:105,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/erase.c:109,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/erase.c:114,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/erase.c:117,1
    - Dst: image_HandlerDelete
      Src: /src/vlc/modules/video_filter/erase.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - p_filter
    - psz_filename
    argTypes:
    - filter_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 120
    functionName: LoadMask
    functionSourceFile: /src/vlc/modules/video_filter/erase.c
    functionUses: 0
    functionsReached:
    - video_format_Init
    - image_HandlerDelete
    - msg_Err
    - free
    - picture_Release
    - image_ReadUrl
    - video_format_Clean
    - image_HandlerCreate
    - vlc_path2uri
    linkageType: ''
    returnType: void
    signature: void LoadMask( filter_t *p_filter, const char *psz_filename )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/erase.c:139,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/erase.c:145,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_filter/erase.c:152,1
    - Dst: var_CreateGetNonEmptyStringCommand
      Src: /src/vlc/modules/video_filter/erase.c:156,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/erase.c:160,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/erase.c:161,1
    - Dst: LoadMask
      Src: /src/vlc/modules/video_filter/erase.c:166,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/erase.c:167,1
    - Dst: var_CreateGetIntegerCommand
      Src: /src/vlc/modules/video_filter/erase.c:169,1
    - Dst: var_CreateGetIntegerCommand
      Src: /src/vlc/modules/video_filter/erase.c:170,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/video_filter/erase.c:172,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/erase.c:173,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/erase.c:174,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/erase.c:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 178
    functionName: Create
    functionSourceFile: /src/vlc/modules/video_filter/erase.c
    functionUses: 130
    functionsReached:
    - var_CreateGetIntegerCommand
    - var_AddCallback
    - vlc_mutex_init
    - config_ChainParse
    - free
    - msg_Err
    - LoadMask
    - var_CreateGetNonEmptyStringCommand
    - malloc
    linkageType: ''
    returnType: int
    signature: int Create( filter_t *p_filter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/erase.c:187,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/erase.c:189,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/erase.c:190,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/erase.c:191,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/erase.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 194
    functionName: Destroy
    functionSourceFile: /src/vlc/modules/video_filter/erase.c
    functionUses: 75
    functionsReached:
    - free
    - picture_Release
    - var_DelCallback
    linkageType: ''
    returnType: void
    signature: void Destroy( filter_t *p_filter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_filter/erase.c:204,1
    - Dst: FilterErase
      Src: /src/vlc/modules/video_filter/erase.c:206,1
    - Dst: picture_CopyPixels
      Src: /src/vlc/modules/video_filter/erase.c:208,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/erase.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p_filter
    - p_pic
    - p_outpic
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 210
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/erase.c
    functionUses: 30
    functionsReached:
    - FilterErase
    - picture_CopyPixels
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void Filter( filter_t *p_filter, picture_t *p_pic, picture_t *p_outpic
      )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/erase.c:250,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/erase.c:251,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/video_filter/erase.c:254,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/erase.c:361,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/erase.c:364,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 66
    argCount: 3
    argNames:
    - p_filter
    - p_inpic
    - p_outpic
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 383
    functionName: FilterErase
    functionSourceFile: /src/vlc/modules/video_filter/erase.c
    functionUses: 1
    functionsReached:
    - __MAX
    - __MIN
    - plane_CopyPixels
    linkageType: ''
    returnType: void
    signature: "void FilterErase( filter_t *p_filter, picture_t *p_inpic,\n                                             picture_t
      *p_outpic )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/erase.c:388,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/erase.c:391,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_filter/erase.c:393,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/erase.c:395,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/erase.c:397,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_filter/erase.c:399,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/erase.c:401,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/erase.c:403,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_filter/erase.c:405,1
    - Dst: LoadMask
      Src: /src/vlc/modules/video_filter/erase.c:406,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/erase.c:407,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_filter/erase.c:411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 5
    argNames:
    - p_this
    - psz_var
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 414
    functionName: EraseCallback
    functionSourceFile: /src/vlc/modules/video_filter/erase.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - LoadMask
    - strcmp
    - msg_Warn
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int EraseCallback( vlc_object_t *p_this, char const *psz_var,\n                          vlc_value_t
      oldval, vlc_value_t newval, void *p_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: div255
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned div255(unsigned v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: div255
      Src: /src/vlc/modules/video_filter/blend.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - src
    - f
    argTypes:
    - T*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: merge
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - div255
    linkageType: ''
    returnType: void
    signature: void merge(T *dst, unsigned src, unsigned f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - picture
    - fmt
    - x
    - y
    argTypes:
    - picture_t*
    - video_format_t*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: CPicture::CPicture
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CPicture(const picture_t *picture,\n             const video_format_t
      *fmt,\n             unsigned x, unsigned y)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - src
    argTypes:
    - CPicture
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: CPicture::CPicture
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CPicture(const CPicture &src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: CPicture::getFormat
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: video_format_t
    signature: video_format_t *getFormat() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: CPicture::isFull
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isFull(unsigned) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: CPicture::getLine
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *getLine(unsigned plane = 0) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CPicture::getLine< 1>
      Src: /src/vlc/modules/video_filter/blend.cpp:104,1
    - Dst: CPicture::getLine<ry>
      Src: /src/vlc/modules/video_filter/blend.cpp:105,1
    - Dst: CPicture::getLine<ry>
      Src: /src/vlc/modules/video_filter/blend.cpp:106,1
    - Dst: CPicture::getLine<1>
      Src: /src/vlc/modules/video_filter/blend.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - CPicture
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: CPictureYUVPlanar::CPictureYUVPlanar
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - CPicture::getLine<1>
    - CPicture::getLine<ry>
    - CPicture::getLine< 1>
    linkageType: ''
    returnType: void
    signature: void CPictureYUVPlanar(const CPicture &cfg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CPictureYUVPlanar::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:112,1
    - Dst: CPictureYUVPlanar::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:114,1
    - Dst: CPictureYUVPlanar::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:115,1
    - Dst: CPictureYUVPlanar::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - px
    - dx
    argTypes:
    - CPixel*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 119
    functionName: CPictureYUVPlanar::get
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - CPictureYUVPlanar::getPointer
    linkageType: ''
    returnType: void
    signature: void get(CPixel *px, unsigned dx, bool full = true) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:122,1
    - Dst: CPictureYUVPlanar::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:122,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:124,1
    - Dst: CPictureYUVPlanar::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:124,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:125,1
    - Dst: CPictureYUVPlanar::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - dx
    - spx
    - a
    - full
    argTypes:
    - unsigned
    - CPixel
    - unsigned
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: CPictureYUVPlanar::merge
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 1
    functionsReached:
    - CPictureYUVPlanar::merge
    - CPictureYUVPlanar::getPointer
    linkageType: ''
    returnType: void
    signature: void merge(unsigned dx, const CPixel &spx, unsigned a, bool full)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - dx
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: CPictureYUVPlanar::isFull
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isFull(unsigned dx) const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 142
    functionName: CPictureYUVPlanar::nextLine
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nextLine()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - plane
    - dx
    argTypes:
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: CPictureYUVPlanar::getPointer
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: pixel
    signature: pixel *getPointer(unsigned plane, unsigned dx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPicture::getLine<1>
      Src: /src/vlc/modules/video_filter/blend.cpp:159,1
    - Dst: CPicture::getLine<2>
      Src: /src/vlc/modules/video_filter/blend.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - CPicture
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: CPictureYUVSemiPlanar::CPictureYUVSemiPlanar
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - CPicture::getLine<1>
    - CPicture::getLine<2>
    linkageType: ''
    returnType: void
    signature: void CPictureYUVSemiPlanar(const CPicture &cfg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CPictureYUVSemiPlanar::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:164,1
    - Dst: CPictureYUVSemiPlanar::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:166,1
    - Dst: CPictureYUVSemiPlanar::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - px
    - dx
    argTypes:
    - CPixel*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 169
    functionName: CPictureYUVSemiPlanar::get
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - CPictureYUVSemiPlanar::getPointer
    linkageType: ''
    returnType: void
    signature: void get(CPixel *px, unsigned dx, bool full = true) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:172,1
    - Dst: CPictureYUVSemiPlanar::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:172,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:174,1
    - Dst: CPictureYUVSemiPlanar::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:174,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:175,1
    - Dst: CPictureYUVSemiPlanar::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - dx
    - spx
    - a
    - full
    argTypes:
    - unsigned
    - CPixel
    - unsigned
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: CPictureYUVSemiPlanar::merge
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - CPictureYUVSemiPlanar::getPointer
    - CPictureYUVPlanar::merge
    linkageType: ''
    returnType: void
    signature: void merge(unsigned dx, const CPixel &spx, unsigned a, bool full)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - dx
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: CPictureYUVSemiPlanar::isFull
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isFull(unsigned dx) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: CPictureYUVSemiPlanar::nextLine
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nextLine()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - plane
    - dx
    argTypes:
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 196
    functionName: CPictureYUVSemiPlanar::getPointer
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *getPointer(unsigned plane, unsigned dx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPicture::getLine<1>
      Src: /src/vlc/modules/video_filter/blend.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - CPicture
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: CPictureYUVPacked::CPictureYUVPacked
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - CPicture::getLine<1>
    linkageType: ''
    returnType: void
    signature: void CPictureYUVPacked(const CPicture &cfg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CPictureYUVPacked::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - px
    - dx
    argTypes:
    - CPixel*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 215
    functionName: CPictureYUVPacked::get
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - CPictureYUVPacked::getPointer
    linkageType: ''
    returnType: void
    signature: void get(CPixel *px, unsigned dx, bool full = true) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CPictureYUVPacked::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:218,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:219,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:221,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - dx
    - spx
    - a
    - full
    argTypes:
    - unsigned
    - CPixel
    - unsigned
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 224
    functionName: CPictureYUVPacked::merge
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - CPictureYUVPlanar::merge
    - CPictureYUVPacked::getPointer
    linkageType: ''
    returnType: void
    signature: void merge(unsigned dx, const CPixel &spx, unsigned a, bool full)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dx
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: CPictureYUVPacked::isFull
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isFull(unsigned dx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: CPictureYUVPacked::nextLine
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nextLine()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dx
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: CPictureYUVPacked::getPointer
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *getPointer(unsigned dx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPicture::getLine<1>
      Src: /src/vlc/modules/video_filter/blend.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - CPicture
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: CPictureYUVP::CPictureYUVP
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - CPicture::getLine<1>
    linkageType: ''
    returnType: void
    signature: void CPictureYUVP(const CPicture &cfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPictureYUVP::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - px
    - dx
    argTypes:
    - CPixel*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: CPictureYUVP::get
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - CPictureYUVP::getPointer
    linkageType: ''
    returnType: void
    signature: void get(CPixel *px, unsigned dx, bool = true) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: CPictureYUVP::nextLine
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nextLine()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dx
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: CPictureYUVP::getPointer
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *getPointer(unsigned dx) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetPackedRgbIndexes
      Src: /src/vlc/modules/video_filter/blend.cpp:270,1
    - Dst: CPicture::getLine<1>
      Src: /src/vlc/modules/video_filter/blend.cpp:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - CPicture
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 278
    functionName: CPictureRGBX::CPictureRGBX
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - CPicture::getLine<1>
    - GetPackedRgbIndexes
    linkageType: ''
    returnType: void
    signature: void CPictureRGBX(const CPicture &cfg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CPictureRGBX::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - px
    - dx
    argTypes:
    - CPixel*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 287
    functionName: CPictureRGBX::get
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - CPictureRGBX::getPointer
    linkageType: ''
    returnType: void
    signature: void get(CPixel *px, unsigned dx, bool = true) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CPictureRGBX::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:290,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:300,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:301,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:302,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:304,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:305,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:306,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:308,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:310,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:311,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - dx
    - spx
    - a
    argTypes:
    - unsigned
    - CPixel
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 314
    functionName: CPictureRGBX::merge
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - CPictureYUVPlanar::merge
    - CPictureRGBX::getPointer
    linkageType: ''
    returnType: void
    signature: void merge(unsigned dx, const CPixel &spx, unsigned a, bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: CPictureRGBX::nextLine
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nextLine()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dx
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 324
    functionName: CPictureRGBX::getPointer
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *getPointer(unsigned dx) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CPicture::getLine<1>
      Src: /src/vlc/modules/video_filter/blend.cpp:339,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_filter/blend.cpp:363,1
    - Dst: vlc_ctz
      Src: /src/vlc/modules/video_filter/blend.cpp:365,1
    - Dst: vlc_ctz
      Src: /src/vlc/modules/video_filter/blend.cpp:366,1
    - Dst: vlc_ctz
      Src: /src/vlc/modules/video_filter/blend.cpp:367,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - CPicture
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 368
    functionName: CPictureRGB16::CPictureRGB16
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - CPicture::getLine<1>
    - vlc_assert_unreachable
    - vlc_ctz
    linkageType: ''
    returnType: void
    signature: void CPictureRGB16(const CPicture &cfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPictureRGB16::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - px
    - dx
    argTypes:
    - CPixel*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 375
    functionName: CPictureRGB16::get
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - CPictureRGB16::getPointer
    linkageType: ''
    returnType: void
    signature: void get(CPixel *px, unsigned dx, bool = true) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPictureRGB16::get
      Src: /src/vlc/modules/video_filter/blend.cpp:379,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:381,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:382,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:383,1
    - Dst: CPictureRGB16::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - dx
    - spx
    - a
    - full
    argTypes:
    - unsigned
    - CPixel
    - unsigned
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 388
    functionName: CPictureRGB16::merge
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - CPictureRGB16::get
    - CPictureRGB16::getPointer
    - CPictureYUVPlanar::merge
    linkageType: ''
    returnType: void
    signature: void merge(unsigned dx, const CPixel &spx, unsigned a, bool full)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 393
    functionName: CPictureRGB16::nextLine
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nextLine()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dx
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 398
    functionName: CPictureRGB16::getPointer
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t *getPointer(unsigned dx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 432
    functionName: convertNone
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void convertNone(const video_format_t *, const video_format_t *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 435
    functionName: operator()(CPixel &)
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator()(CPixel &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 439
    functionName: convertAddOpaque
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void convertAddOpaque(const video_format_t *, const video_format_t
      *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - CPixel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 443
    functionName: operator()(CPixel &p)
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator()(CPixel &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 448
    functionName: convertBits
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void convertBits(const video_format_t *, const video_format_t *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - CPixel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 454
    functionName: operator()(CPixel &p)
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator()(CPixel &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 461
    functionName: convertRgbToYuv8
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void convertRgbToYuv8(const video_format_t *, const video_format_t
      *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rgb_to_yuv
      Src: /src/vlc/modules/video_filter/blend.cpp:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - CPixel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 469
    functionName: operator()(CPixel &p)
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - rgb_to_yuv
    linkageType: ''
    returnType: void
    signature: void operator()(CPixel &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 473
    functionName: convertYuv8ToRgb
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void convertYuv8ToRgb(const video_format_t *, const video_format_t
      *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: yuv_to_rgb
      Src: /src/vlc/modules/video_filter/blend.cpp:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - CPixel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 481
    functionName: operator()(CPixel &p)
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - yuv_to_rgb
    linkageType: ''
    returnType: void
    signature: void operator()(CPixel &p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_filter/blend.cpp:511,1
    - Dst: vlc_popcount
      Src: /src/vlc/modules/video_filter/blend.cpp:513,1
    - Dst: vlc_popcount
      Src: /src/vlc/modules/video_filter/blend.cpp:514,1
    - Dst: vlc_popcount
      Src: /src/vlc/modules/video_filter/blend.cpp:515,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - dst
    argTypes:
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 516
    functionName: convertRgbToRgbSmall
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    - vlc_popcount
    linkageType: ''
    returnType: void
    signature: void convertRgbToRgbSmall(const video_format_t *dst, const video_format_t
      *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - CPixel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 522
    functionName: operator()(CPixel &p)
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator()(CPixel &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - CPixel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 535
    functionName: operator()(CPixel &p)
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator()(CPixel &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 543
    functionName: convertYuvpToYuva8
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void convertYuvpToYuva8(const video_format_t *, const video_format_t
      *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: yuv_to_rgb
      Src: /src/vlc/modules/video_filter/blend.cpp:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - src
    argTypes:
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 546
    functionDepth: 2
    functionLinenumber: 546
    functionLinenumberEnd: 560
    functionName: convertYuvpToRgba
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - yuv_to_rgb
    linkageType: ''
    returnType: void
    signature: void convertYuvpToRgba(const video_format_t *, const video_format_t
      *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - video_format_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 565
    functionName: compose
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void compose(const video_format_t *dst, const video_format_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/vlc/modules/video_filter/blend.cpp:568,1
    - Dst: g
      Src: /src/vlc/modules/video_filter/blend.cpp:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - CPixel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 570
    functionName: operator()(CPixel &p)
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - f
    - g
    linkageType: ''
    returnType: void
    signature: void operator()(CPixel &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - picture
    - fmt
    - x
    - y
    argTypes:
    - picture_t*
    - video_format_t*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: CPicture::CPicture
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CPicture(const picture_t *picture,\n             const video_format_t
      *fmt,\n             unsigned x, unsigned y)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - src
    argTypes:
    - CPicture
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: CPicture::CPicture
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CPicture(const CPicture &src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: CPicture::getFormat
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: video_format_t
    signature: video_format_t *getFormat() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: CPicture::isFull
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isFull(unsigned) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: CPicture::getLine
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *getLine(unsigned plane = 0) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CPicture::getLine< 1>
      Src: /src/vlc/modules/video_filter/blend.cpp:104,1
    - Dst: CPicture::getLine<ry>
      Src: /src/vlc/modules/video_filter/blend.cpp:105,1
    - Dst: CPicture::getLine<ry>
      Src: /src/vlc/modules/video_filter/blend.cpp:106,1
    - Dst: CPicture::getLine<1>
      Src: /src/vlc/modules/video_filter/blend.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - CPicture
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: CPictureYUVPlanar::CPictureYUVPlanar
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - CPicture::getLine<1>
    - CPicture::getLine<ry>
    - CPicture::getLine< 1>
    linkageType: ''
    returnType: void
    signature: void CPictureYUVPlanar(const CPicture &cfg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CPictureYUVPlanar::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:112,1
    - Dst: CPictureYUVPlanar::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:114,1
    - Dst: CPictureYUVPlanar::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:115,1
    - Dst: CPictureYUVPlanar::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - px
    - dx
    argTypes:
    - CPixel*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 119
    functionName: CPictureYUVPlanar::get
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - CPictureYUVPlanar::getPointer
    linkageType: ''
    returnType: void
    signature: void get(CPixel *px, unsigned dx, bool full = true) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:122,1
    - Dst: CPictureYUVPlanar::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:122,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:124,1
    - Dst: CPictureYUVPlanar::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:124,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:125,1
    - Dst: CPictureYUVPlanar::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - dx
    - spx
    - a
    - full
    argTypes:
    - unsigned
    - CPixel
    - unsigned
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: CPictureYUVPlanar::merge
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 6
    functionsReached:
    - CPictureYUVPlanar::merge
    - CPictureYUVPlanar::getPointer
    linkageType: ''
    returnType: void
    signature: void merge(unsigned dx, const CPixel &spx, unsigned a, bool full)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - dx
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: CPictureYUVPlanar::isFull
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isFull(unsigned dx) const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 142
    functionName: CPictureYUVPlanar::nextLine
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nextLine()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - plane
    - dx
    argTypes:
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: CPictureYUVPlanar::getPointer
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: pixel
    signature: pixel *getPointer(unsigned plane, unsigned dx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPicture::getLine<1>
      Src: /src/vlc/modules/video_filter/blend.cpp:159,1
    - Dst: CPicture::getLine<2>
      Src: /src/vlc/modules/video_filter/blend.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - CPicture
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: CPictureYUVSemiPlanar::CPictureYUVSemiPlanar
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - CPicture::getLine<1>
    - CPicture::getLine<2>
    linkageType: ''
    returnType: void
    signature: void CPictureYUVSemiPlanar(const CPicture &cfg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CPictureYUVSemiPlanar::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:164,1
    - Dst: CPictureYUVSemiPlanar::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:166,1
    - Dst: CPictureYUVSemiPlanar::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - px
    - dx
    argTypes:
    - CPixel*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 169
    functionName: CPictureYUVSemiPlanar::get
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - CPictureYUVSemiPlanar::getPointer
    linkageType: ''
    returnType: void
    signature: void get(CPixel *px, unsigned dx, bool full = true) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:172,1
    - Dst: CPictureYUVSemiPlanar::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:172,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:174,1
    - Dst: CPictureYUVSemiPlanar::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:174,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:175,1
    - Dst: CPictureYUVSemiPlanar::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - dx
    - spx
    - a
    - full
    argTypes:
    - unsigned
    - CPixel
    - unsigned
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: CPictureYUVSemiPlanar::merge
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - CPictureYUVSemiPlanar::getPointer
    - CPictureYUVPlanar::merge
    linkageType: ''
    returnType: void
    signature: void merge(unsigned dx, const CPixel &spx, unsigned a, bool full)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - dx
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: CPictureYUVSemiPlanar::isFull
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isFull(unsigned dx) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: CPictureYUVSemiPlanar::nextLine
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nextLine()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - plane
    - dx
    argTypes:
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 196
    functionName: CPictureYUVSemiPlanar::getPointer
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *getPointer(unsigned plane, unsigned dx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPicture::getLine<1>
      Src: /src/vlc/modules/video_filter/blend.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - CPicture
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: CPictureYUVPacked::CPictureYUVPacked
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - CPicture::getLine<1>
    linkageType: ''
    returnType: void
    signature: void CPictureYUVPacked(const CPicture &cfg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CPictureYUVPacked::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - px
    - dx
    argTypes:
    - CPixel*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 215
    functionName: CPictureYUVPacked::get
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - CPictureYUVPacked::getPointer
    linkageType: ''
    returnType: void
    signature: void get(CPixel *px, unsigned dx, bool full = true) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CPictureYUVPacked::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:218,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:219,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:221,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - dx
    - spx
    - a
    - full
    argTypes:
    - unsigned
    - CPixel
    - unsigned
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 224
    functionName: CPictureYUVPacked::merge
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - CPictureYUVPlanar::merge
    - CPictureYUVPacked::getPointer
    linkageType: ''
    returnType: void
    signature: void merge(unsigned dx, const CPixel &spx, unsigned a, bool full)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dx
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: CPictureYUVPacked::isFull
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isFull(unsigned dx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: CPictureYUVPacked::nextLine
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nextLine()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dx
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: CPictureYUVPacked::getPointer
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *getPointer(unsigned dx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPicture::getLine<1>
      Src: /src/vlc/modules/video_filter/blend.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - CPicture
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: CPictureYUVP::CPictureYUVP
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - CPicture::getLine<1>
    linkageType: ''
    returnType: void
    signature: void CPictureYUVP(const CPicture &cfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPictureYUVP::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - px
    - dx
    argTypes:
    - CPixel*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: CPictureYUVP::get
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - CPictureYUVP::getPointer
    linkageType: ''
    returnType: void
    signature: void get(CPixel *px, unsigned dx, bool = true) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: CPictureYUVP::nextLine
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nextLine()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dx
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: CPictureYUVP::getPointer
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *getPointer(unsigned dx) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetPackedRgbIndexes
      Src: /src/vlc/modules/video_filter/blend.cpp:270,1
    - Dst: CPicture::getLine<1>
      Src: /src/vlc/modules/video_filter/blend.cpp:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - CPicture
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 278
    functionName: CPictureRGBX::CPictureRGBX
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - CPicture::getLine<1>
    - GetPackedRgbIndexes
    linkageType: ''
    returnType: void
    signature: void CPictureRGBX(const CPicture &cfg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CPictureRGBX::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - px
    - dx
    argTypes:
    - CPixel*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 287
    functionName: CPictureRGBX::get
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - CPictureRGBX::getPointer
    linkageType: ''
    returnType: void
    signature: void get(CPixel *px, unsigned dx, bool = true) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CPictureRGBX::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:290,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:300,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:301,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:302,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:304,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:305,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:306,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:308,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:310,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:311,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - dx
    - spx
    - a
    argTypes:
    - unsigned
    - CPixel
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 314
    functionName: CPictureRGBX::merge
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - CPictureYUVPlanar::merge
    - CPictureRGBX::getPointer
    linkageType: ''
    returnType: void
    signature: void merge(unsigned dx, const CPixel &spx, unsigned a, bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: CPictureRGBX::nextLine
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nextLine()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dx
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 324
    functionName: CPictureRGBX::getPointer
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *getPointer(unsigned dx) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CPicture::getLine<1>
      Src: /src/vlc/modules/video_filter/blend.cpp:339,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_filter/blend.cpp:363,1
    - Dst: vlc_ctz
      Src: /src/vlc/modules/video_filter/blend.cpp:365,1
    - Dst: vlc_ctz
      Src: /src/vlc/modules/video_filter/blend.cpp:366,1
    - Dst: vlc_ctz
      Src: /src/vlc/modules/video_filter/blend.cpp:367,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - CPicture
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 368
    functionName: CPictureRGB16::CPictureRGB16
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - CPicture::getLine<1>
    - vlc_assert_unreachable
    - vlc_ctz
    linkageType: ''
    returnType: void
    signature: void CPictureRGB16(const CPicture &cfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPictureRGB16::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - px
    - dx
    argTypes:
    - CPixel*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 375
    functionName: CPictureRGB16::get
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 1
    functionsReached:
    - CPictureRGB16::getPointer
    linkageType: ''
    returnType: void
    signature: void get(CPixel *px, unsigned dx, bool = true) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPictureRGB16::get
      Src: /src/vlc/modules/video_filter/blend.cpp:379,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:381,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:382,1
    - Dst: CPictureYUVPlanar::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:383,1
    - Dst: CPictureRGB16::getPointer
      Src: /src/vlc/modules/video_filter/blend.cpp:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - dx
    - spx
    - a
    - full
    argTypes:
    - unsigned
    - CPixel
    - unsigned
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 388
    functionName: CPictureRGB16::merge
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - CPictureRGB16::get
    - CPictureRGB16::getPointer
    - CPictureYUVPlanar::merge
    linkageType: ''
    returnType: void
    signature: void merge(unsigned dx, const CPixel &spx, unsigned a, bool full)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 393
    functionName: CPictureRGB16::nextLine
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nextLine()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dx
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 398
    functionName: CPictureRGB16::getPointer
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t *getPointer(unsigned dx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 432
    functionName: convertNone
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void convertNone(const video_format_t *, const video_format_t *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 435
    functionName: operator()(CPixel &)
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator()(CPixel &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 439
    functionName: convertAddOpaque
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void convertAddOpaque(const video_format_t *, const video_format_t
      *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - CPixel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 443
    functionName: operator()(CPixel &p)
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator()(CPixel &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 448
    functionName: convertBits
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void convertBits(const video_format_t *, const video_format_t *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - CPixel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 454
    functionName: operator()(CPixel &p)
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator()(CPixel &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 461
    functionName: convertRgbToYuv8
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void convertRgbToYuv8(const video_format_t *, const video_format_t
      *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rgb_to_yuv
      Src: /src/vlc/modules/video_filter/blend.cpp:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - CPixel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 469
    functionName: operator()(CPixel &p)
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - rgb_to_yuv
    linkageType: ''
    returnType: void
    signature: void operator()(CPixel &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 473
    functionName: convertYuv8ToRgb
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void convertYuv8ToRgb(const video_format_t *, const video_format_t
      *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: yuv_to_rgb
      Src: /src/vlc/modules/video_filter/blend.cpp:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - CPixel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 481
    functionName: operator()(CPixel &p)
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - yuv_to_rgb
    linkageType: ''
    returnType: void
    signature: void operator()(CPixel &p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_filter/blend.cpp:511,1
    - Dst: vlc_popcount
      Src: /src/vlc/modules/video_filter/blend.cpp:513,1
    - Dst: vlc_popcount
      Src: /src/vlc/modules/video_filter/blend.cpp:514,1
    - Dst: vlc_popcount
      Src: /src/vlc/modules/video_filter/blend.cpp:515,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - dst
    argTypes:
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 516
    functionName: convertRgbToRgbSmall
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    - vlc_popcount
    linkageType: ''
    returnType: void
    signature: void convertRgbToRgbSmall(const video_format_t *dst, const video_format_t
      *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - CPixel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 522
    functionName: operator()(CPixel &p)
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator()(CPixel &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - CPixel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 535
    functionName: operator()(CPixel &p)
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator()(CPixel &p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 543
    functionName: convertYuvpToYuva8
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void convertYuvpToYuva8(const video_format_t *, const video_format_t
      *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: yuv_to_rgb
      Src: /src/vlc/modules/video_filter/blend.cpp:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - src
    argTypes:
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 546
    functionDepth: 2
    functionLinenumber: 546
    functionLinenumberEnd: 560
    functionName: convertYuvpToRgba
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - yuv_to_rgb
    linkageType: ''
    returnType: void
    signature: void convertYuvpToRgba(const video_format_t *, const video_format_t
      *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - video_format_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 565
    functionName: compose
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void compose(const video_format_t *dst, const video_format_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/vlc/modules/video_filter/blend.cpp:568,1
    - Dst: g
      Src: /src/vlc/modules/video_filter/blend.cpp:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - CPixel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 570
    functionName: operator()(CPixel &p)
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - f
    - g
    linkageType: ''
    returnType: void
    signature: void operator()(CPixel &p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CPicture::getFormat
      Src: /src/vlc/modules/video_filter/blend.cpp:584,1
    - Dst: CPicture::getFormat
      Src: /src/vlc/modules/video_filter/blend.cpp:584,1
    - Dst: TSrc::get
      Src: /src/vlc/modules/video_filter/blend.cpp:590,1
    - Dst: convert
      Src: /src/vlc/modules/video_filter/blend.cpp:591,1
    - Dst: div255
      Src: /src/vlc/modules/video_filter/blend.cpp:593,1
    - Dst: TDst::isFull
      Src: /src/vlc/modules/video_filter/blend.cpp:597,1
    - Dst: TDst::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:598,1
    - Dst: TDst::merge
      Src: /src/vlc/modules/video_filter/blend.cpp:600,1
    - Dst: TSrc::nextLine
      Src: /src/vlc/modules/video_filter/blend.cpp:602,1
    - Dst: TDst::nextLine
      Src: /src/vlc/modules/video_filter/blend.cpp:603,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - dst_data
    - src_data
    - width
    - height
    - alpha
    argTypes:
    - CPicture
    - CPicture
    - unsigned
    - unsigned
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 579
    functionDepth: 2
    functionLinenumber: 579
    functionLinenumberEnd: 605
    functionName: Blend
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 4
    functionsReached:
    - CPicture::getFormat
    - TDst::merge
    - TDst::nextLine
    - TSrc::get
    - TDst::isFull
    - div255
    - TSrc::nextLine
    - convert
    linkageType: ''
    returnType: void
    signature: "void Blend(const CPicture &dst_data, const CPicture &src_data,\n           unsigned
      width, unsigned height, int alpha)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 693
    functionName: filter_sys_t
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void filter_sys_t()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 693
    functionName: filter_sys_t
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void filter_sys_t()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<filter_sys_t *>
      Src: /src/vlc/modules/video_filter/blend.cpp:706,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/blend.cpp:710,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/blend.cpp:714,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/blend.cpp:716,1
    - Dst: filter_sys_t*::blend
      Src: /src/vlc/modules/video_filter/blend.cpp:721,1
    - Dst: CPicture
      Src: /src/vlc/modules/video_filter/blend.cpp:721,1
    - Dst: CPicture
      Src: /src/vlc/modules/video_filter/blend.cpp:724,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 6
    argNames:
    - filter
    - dst
    - src
    - x_offset
    - y_offset
    - alpha
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 702
    functionDepth: 1
    functionLinenumber: 702
    functionLinenumberEnd: 728
    functionName: DoBlend
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<filter_sys_t *>
    - CPicture
    - filter_sys_t*::blend
    - msg_Err
    - __MIN
    linkageType: ''
    returnType: void
    signature: "void DoBlend(filter_t *filter,\n                  picture_t *dst,
      const picture_t *src,\n                  int x_offset, int y_offset, int alpha)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 736
    functionName: FilterOperationInitializer
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterOperationInitializer()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: filter_sys_t::filter_sys_t
      Src: /src/vlc/modules/video_filter/blend.cpp:744,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/blend.cpp:751,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 760
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 33
    functionsReached:
    - msg_Err
    - filter_sys_t::filter_sys_t
    linkageType: ''
    returnType: int
    signature: int Open(filter_t *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<filter_sys_t *>
      Src: /src/vlc/modules/video_filter/blend.cpp:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 766
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_filter/blend.cpp
    functionUses: 114
    functionsReached:
    - reinterpret_cast<filter_sys_t *>
    linkageType: ''
    returnType: void
    signature: void Close(filter_t *filter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: picture_Clone
      Src: /src/vlc/modules/video_filter/formatcrop.c:88,1
    - Dst: picture_CopyProperties
      Src: /src/vlc/modules/video_filter/formatcrop.c:91,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/formatcrop.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - filter
    - pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 102
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/formatcrop.c
    functionUses: 30
    functionsReached:
    - picture_Clone
    - picture_CopyProperties
    - picture_Release
    linkageType: ''
    returnType: picture_t
    signature: 'picture_t *

      Filter(filter_t *filter, picture_t *pic)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_filter/formatcrop.c:107,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_filter/formatcrop.c:108,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_filter/formatcrop.c:109,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_filter/formatcrop.c:110,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_filter/formatcrop.c:111,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/formatcrop.c:128,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/formatcrop.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 158
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_filter/formatcrop.c
    functionUses: 33
    functionsReached:
    - var_InheritInteger
    - msg_Err
    - config_ChainParse
    linkageType: ''
    returnType: int
    signature: int Open(filter_t *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: FFMAX
    functionSourceFile: /src/vlc/modules/video_filter/gradfun.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FFMAX(a,b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/video_filter/gradfun.c:109,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/gradfun.c:110,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/gradfun.c:112,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/gradfun.c:116,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/video_filter/gradfun.c:120,1
    - Dst: var_CreateGetFloatCommand
      Src: /src/vlc/modules/video_filter/gradfun.c:122,1
    - Dst: var_CreateGetIntegerCommand
      Src: /src/vlc/modules/video_filter/gradfun.c:123,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/gradfun.c:124,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/gradfun.c:125,1
    - Dst: vlc_CPU_SSE2
      Src: /src/vlc/modules/video_filter/gradfun.c:134,1
    - Dst: vlc_CPU_SSSE3
      Src: /src/vlc/modules/video_filter/gradfun.c:140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: ( chroma != NULL )
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/vlc/modules/video_filter/gradfun.c
    constantsTouched: []
    func_position:
      end: 149
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 149
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_filter/gradfun.c
    functionUses: 33
    functionsReached:
    - var_CreateGetIntegerCommand
    - vlc_CPU_SSSE3
    - assert
    - var_CreateGetFloatCommand
    - var_AddCallback
    - vlc_mutex_init
    - msg_Err
    - vlc_CPU_SSE2
    - vlc_fourcc_GetChromaDescription
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open(filter_t *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/gradfun.c:155,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/gradfun.c:156,1
    - Dst: aligned_free
      Src: /src/vlc/modules/video_filter/gradfun.c:157,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/gradfun.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_filter/gradfun.c
    functionUses: 114
    functionsReached:
    - free
    - aligned_free
    - var_DelCallback
    linkageType: ''
    returnType: void
    signature: void Close(filter_t *filter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_filter/gradfun.c:165,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/video_filter/gradfun.c:166,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/video_filter/gradfun.c:167,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/gradfun.c:168,1
    - Dst: aligned_alloc
      Src: /src/vlc/modules/video_filter/gradfun.c:176,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/video_filter/gradfun.c:189,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/gradfun.c:190,1
    - Dst: filter_plane
      Src: /src/vlc/modules/video_filter/gradfun.c:191,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/video_filter/gradfun.c:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - filter
    - src
    - dst
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 197
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/gradfun.c
    functionUses: 30
    functionsReached:
    - vlc_mutex_unlock
    - VLC_CLIP
    - vlc_mutex_lock
    - aligned_alloc
    - plane_CopyPixels
    - filter_plane
    - __MIN
    linkageType: ''
    returnType: void
    signature: void Filter(filter_t *filter, picture_t *src, picture_t *dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/gradfun.c:204,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/gradfun.c:204,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_filter/gradfun.c:206,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/gradfun.c:207,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/gradfun.c:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - object
    - cmd
    - oldval
    - newval
    - data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 214
    functionName: Callback
    functionSourceFile: /src/vlc/modules/video_filter/gradfun.c
    functionUses: 61
    functionsReached:
    - vlc_mutex_lock
    - strcmp
    - vlc_mutex_unlock
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int Callback(vlc_object_t *object, char const *cmd,\n                    vlc_value_t
      oldval, vlc_value_t newval, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_explicit
      Src: /src/vlc/modules/video_filter/adjust.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - obj
    - varname
    - oldval
    - newval
    - data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: FloatCallback
    functionSourceFile: /src/vlc/modules/video_filter/adjust.c
    functionUses: 0
    functionsReached:
    - atomic_store_explicit
    linkageType: ''
    returnType: int
    signature: "int FloatCallback( vlc_object_t *obj, char const *varname,\n                          vlc_value_t
      oldval, vlc_value_t newval, void *data )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: video_format_IsSameChroma
      Src: /src/vlc/modules/video_filter/adjust.c:135,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/adjust.c:138,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/video_filter/adjust.c:143,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_filter/adjust.c:143,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/adjust.c:175,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_filter/adjust.c:182,1
    - Dst: atomic_init
      Src: /src/vlc/modules/video_filter/adjust.c:184,1
    - Dst: var_CreateGetFloatCommand
      Src: /src/vlc/modules/video_filter/adjust.c:185,1
    - Dst: atomic_init
      Src: /src/vlc/modules/video_filter/adjust.c:186,1
    - Dst: var_CreateGetFloatCommand
      Src: /src/vlc/modules/video_filter/adjust.c:187,1
    - Dst: atomic_init
      Src: /src/vlc/modules/video_filter/adjust.c:188,1
    - Dst: var_CreateGetFloatCommand
      Src: /src/vlc/modules/video_filter/adjust.c:188,1
    - Dst: atomic_init
      Src: /src/vlc/modules/video_filter/adjust.c:189,1
    - Dst: var_CreateGetFloatCommand
      Src: /src/vlc/modules/video_filter/adjust.c:190,1
    - Dst: atomic_init
      Src: /src/vlc/modules/video_filter/adjust.c:191,1
    - Dst: var_CreateGetFloatCommand
      Src: /src/vlc/modules/video_filter/adjust.c:192,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/adjust.c:194,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/adjust.c:195,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/adjust.c:197,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/adjust.c:198,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/adjust.c:200,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 203
    functionName: Create
    functionSourceFile: /src/vlc/modules/video_filter/adjust.c
    functionUses: 130
    functionsReached:
    - video_format_IsSameChroma
    - atomic_init
    - vlc_obj_malloc
    - var_CreateGetFloatCommand
    - var_AddCallback
    - msg_Err
    - config_ChainParse
    - msg_Dbg
    - VLC_OBJECT
    linkageType: ''
    returnType: int
    signature: int Create( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/adjust.c:212,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/adjust.c:213,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/adjust.c:215,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/adjust.c:216,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/adjust.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 219
    functionName: Destroy
    functionSourceFile: /src/vlc/modules/video_filter/adjust.c
    functionUses: 75
    functionsReached:
    - var_DelCallback
    linkageType: ''
    returnType: void
    signature: void Destroy( filter_t *p_filter )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lroundf
      Src: /src/vlc/modules/video_filter/adjust.c:256,1
    - Dst: atomic_load_explicit
      Src: /src/vlc/modules/video_filter/adjust.c:256,1
    - Dst: lroundf
      Src: /src/vlc/modules/video_filter/adjust.c:257,1
    - Dst: atomic_load_explicit
      Src: /src/vlc/modules/video_filter/adjust.c:257,1
    - Dst: atomic_load_explicit
      Src: /src/vlc/modules/video_filter/adjust.c:258,1
    - Dst: atomic_load_explicit
      Src: /src/vlc/modules/video_filter/adjust.c:259,1
    - Dst: atomic_load_explicit
      Src: /src/vlc/modules/video_filter/adjust.c:260,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/video_filter/adjust.c:269,1
    - Dst: powf
      Src: /src/vlc/modules/video_filter/adjust.c:269,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/video_filter/adjust.c:275,1
    - Dst: sinf
      Src: /src/vlc/modules/video_filter/adjust.c:358,1
    - Dst: cosf
      Src: /src/vlc/modules/video_filter/adjust.c:359,1
    - Dst: cosf
      Src: /src/vlc/modules/video_filter/adjust.c:362,1
    - Dst: sinf
      Src: /src/vlc/modules/video_filter/adjust.c:362,1
    - Dst: cosf
      Src: /src/vlc/modules/video_filter/adjust.c:363,1
    - Dst: sinf
      Src: /src/vlc/modules/video_filter/adjust.c:363,1
    - Dst: filter_sys_t*::pf_process_sat_hue_clip
      Src: /src/vlc/modules/video_filter/adjust.c:369,1
    - Dst: filter_sys_t*::pf_process_sat_hue
      Src: /src/vlc/modules/video_filter/adjust.c:376,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 69
    argCount: 3
    argNames:
    - p_filter
    - p_pic
    - p_outpic
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 379
    functionName: FilterPlanar
    functionSourceFile: /src/vlc/modules/video_filter/adjust.c
    functionUses: 1
    functionsReached:
    - powf
    - atomic_load_explicit
    - VLC_CLIP
    - cosf
    - sinf
    - filter_sys_t*::pf_process_sat_hue
    - filter_sys_t*::pf_process_sat_hue_clip
    - lroundf
    linkageType: ''
    returnType: void
    signature: void FilterPlanar( filter_t *p_filter, picture_t *p_pic, picture_t
      *p_outpic )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetPackedYuvOffsets
      Src: /src/vlc/modules/video_filter/adjust.c:408,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_filter/adjust.c:411,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/adjust.c:414,1
    - Dst: filter_NewPicture
      Src: /src/vlc/modules/video_filter/adjust.c:418,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_filter/adjust.c:421,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/adjust.c:423,1
    - Dst: atomic_load_explicit
      Src: /src/vlc/modules/video_filter/adjust.c:428,1
    - Dst: atomic_load_explicit
      Src: /src/vlc/modules/video_filter/adjust.c:429,1
    - Dst: atomic_load_explicit
      Src: /src/vlc/modules/video_filter/adjust.c:430,1
    - Dst: atomic_load_explicit
      Src: /src/vlc/modules/video_filter/adjust.c:431,1
    - Dst: atomic_load_explicit
      Src: /src/vlc/modules/video_filter/adjust.c:432,1
    - Dst: clip_uint8_vlc
      Src: /src/vlc/modules/video_filter/adjust.c:441,1
    - Dst: pow
      Src: /src/vlc/modules/video_filter/adjust.c:441,1
    - Dst: clip_uint8_vlc
      Src: /src/vlc/modules/video_filter/adjust.c:447,1
    - Dst: sin
      Src: /src/vlc/modules/video_filter/adjust.c:491,1
    - Dst: cos
      Src: /src/vlc/modules/video_filter/adjust.c:492,1
    - Dst: cos
      Src: /src/vlc/modules/video_filter/adjust.c:494,1
    - Dst: sin
      Src: /src/vlc/modules/video_filter/adjust.c:494,1
    - Dst: cos
      Src: /src/vlc/modules/video_filter/adjust.c:495,1
    - Dst: sin
      Src: /src/vlc/modules/video_filter/adjust.c:495,1
    - Dst: filter_sys_t*::pf_process_sat_hue_clip
      Src: /src/vlc/modules/video_filter/adjust.c:499,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_filter/adjust.c:504,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/adjust.c:506,1
    - Dst: filter_sys_t*::pf_process_sat_hue
      Src: /src/vlc/modules/video_filter/adjust.c:512,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_filter/adjust.c:517,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/adjust.c:519,1
    - Dst: CopyInfoAndRelease
      Src: /src/vlc/modules/video_filter/adjust.c:524,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 86
    argCount: 2
    argNames:
    - p_filter
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 525
    functionName: FilterPacked
    functionSourceFile: /src/vlc/modules/video_filter/adjust.c
    functionUses: 0
    functionsReached:
    - pow
    - clip_uint8_vlc
    - atomic_load_explicit
    - cos
    - filter_NewPicture
    - GetPackedYuvOffsets
    - picture_Release
    - msg_Warn
    - sin
    - filter_sys_t*::pf_process_sat_hue
    - filter_sys_t*::pf_process_sat_hue_clip
    - CopyInfoAndRelease
    linkageType: ''
    returnType: picture_t
    signature: picture_t *FilterPacked( filter_t *p_filter, picture_t *p_pic )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pic_ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: D3D11AMF_PICCONTEXT_FROM_PICCTX
    functionSourceFile: /src/vlc/modules/video_filter/amf_frc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D3D11AMF_PICCONTEXT_FROM_PICCTX(pic_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: D3D11AMF_PICCONTEXT_FROM_PICCTX
      Src: /src/vlc/modules/video_filter/amf_frc.c:68,1
    - Dst: d3d11_pic_context_destroy
      Src: /src/vlc/modules/video_filter/amf_frc.c:72,1
    - Dst: struct AMFData*::pVtbl::Release
      Src: /src/vlc/modules/video_filter/amf_frc.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: d3d11amf_pic_context_destroy
    functionSourceFile: /src/vlc/modules/video_filter/amf_frc.c
    functionUses: 0
    functionsReached:
    - struct AMFData*::pVtbl::Release
    - D3D11AMF_PICCONTEXT_FROM_PICCTX
    - d3d11_pic_context_destroy
    linkageType: ''
    returnType: void
    signature: void d3d11amf_pic_context_destroy(picture_context_t *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: D3D11AMF_PICCONTEXT_FROM_PICCTX
      Src: /src/vlc/modules/video_filter/amf_frc.c:78,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/amf_frc.c:79,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/amf_frc.c:80,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/video_filter/amf_frc.c:83,1
    - Dst: struct d3d11amf_pic_context*::data::pVtbl::Acquire
      Src: /src/vlc/modules/video_filter/amf_frc.c:84,1
    - Dst: AcquireD3D11PictureSys
      Src: /src/vlc/modules/video_filter/amf_frc.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 92
    functionName: d3d11amf_pic_context_copy
    functionSourceFile: /src/vlc/modules/video_filter/amf_frc.c
    functionUses: 0
    functionsReached:
    - struct d3d11amf_pic_context*::data::pVtbl::Acquire
    - D3D11AMF_PICCONTEXT_FROM_PICCTX
    - vlc_video_context_Hold
    - AcquireD3D11PictureSys
    - unlikely
    - malloc
    linkageType: ''
    returnType: picture_context_t
    signature: picture_context_t *d3d11amf_pic_context_copy(picture_context_t *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/video_filter/amf_frc.c:98,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/amf_frc.c:99,1
    - Dst: picture_NewFromResource
      Src: /src/vlc/modules/video_filter/amf_frc.c:103,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/amf_frc.c:105,1
    - Dst: D3D11_PictureAttach
      Src: /src/vlc/modules/video_filter/amf_frc.c:110,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/amf_frc.c:112,1
    - Dst: D3D11_AllocateResourceView
      Src: /src/vlc/modules/video_filter/amf_frc.c:112,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/video_filter/amf_frc.c:112,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/video_filter/amf_frc.c:118,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/amf_frc.c:126,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/amf_frc.c:127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - filter
    - d3d_dev
    - out
    - data
    argTypes:
    - filter_t*
    - d3d11_device_t*
    - ID3D11Texture2D*
    - AMFData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 129
    functionName: PictureFromTexture
    functionSourceFile: /src/vlc/modules/video_filter/amf_frc.c
    functionUses: 0
    functionsReached:
    - picture_NewFromResource
    - vlc_object_logger
    - D3D11_PictureAttach
    - msg_Err
    - calloc
    - vlc_video_context_Hold
    - picture_Release
    - free
    - D3D11_AllocateResourceView
    - unlikely
    linkageType: ''
    returnType: picture_t
    signature: picture_t *PictureFromTexture(filter_t *filter, d3d11_device_t *d3d_dev,
      ID3D11Texture2D *out, AMFData* data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ActiveD3D11PictureSys
      Src: /src/vlc/modules/video_filter/amf_frc.c:135,1
    - Dst: GetD3D11OpaqueContext
      Src: /src/vlc/modules/video_filter/amf_frc.c:140,1
    - Dst: struct filter_sys_t*::amf::Context::pVtbl::CreateSurfaceFromDX11Native
      Src: /src/vlc/modules/video_filter/amf_frc.c:142,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/amf_frc.c:145,1
    - Dst: AMFSurface*::pVtbl::Release
      Src: /src/vlc/modules/video_filter/amf_frc.c:147,1
    - Dst: ID3D11Resource_SetPrivateData
      Src: /src/vlc/modules/video_filter/amf_frc.c:151,1
    - Dst: struct filter_sys_t*::amf_frc::pVtbl::SubmitInput
      Src: /src/vlc/modules/video_filter/amf_frc.c:153,1
    - Dst: AMFSurface*::pVtbl::Release
      Src: /src/vlc/modules/video_filter/amf_frc.c:154,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/amf_frc.c:157,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/amf_frc.c:162,1
    - Dst: date_Set
      Src: /src/vlc/modules/video_filter/amf_frc.c:166,1
    - Dst: d3d11_device_lock
      Src: /src/vlc/modules/video_filter/amf_frc.c:170,1
    - Dst: struct filter_sys_t*::amf_frc::pVtbl::QueryOutput
      Src: /src/vlc/modules/video_filter/amf_frc.c:171,1
    - Dst: d3d11_device_unlock
      Src: /src/vlc/modules/video_filter/amf_frc.c:172,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/amf_frc.c:175,1
    - Dst: AMFSurface*::pVtbl::GetPlane
      Src: /src/vlc/modules/video_filter/amf_frc.c:180,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/amf_frc.c:182,1
    - Dst: AMFData*::pVtbl::GetMemoryType
      Src: /src/vlc/modules/video_filter/amf_frc.c:182,1
    - Dst: AMFPlane*::pVtbl::GetNative
      Src: /src/vlc/modules/video_filter/amf_frc.c:183,1
    - Dst: PictureFromTexture
      Src: /src/vlc/modules/video_filter/amf_frc.c:184,1
    - Dst: AMFData*::pVtbl::Release
      Src: /src/vlc/modules/video_filter/amf_frc.c:187,1
    - Dst: picture_CopyProperties
      Src: /src/vlc/modules/video_filter/amf_frc.c:191,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/amf_frc.c:194,1
    - Dst: date_Get
      Src: /src/vlc/modules/video_filter/amf_frc.c:203,1
    - Dst: date_Decrement
      Src: /src/vlc/modules/video_filter/amf_frc.c:204,1
    - Dst: vlc_picture_chain_AppendChain
      Src: /src/vlc/modules/video_filter/amf_frc.c:205,1
    - Dst: vlc_picture_chain_AppendChain
      Src: /src/vlc/modules/video_filter/amf_frc.c:210,1
    - Dst: date_Decrement
      Src: /src/vlc/modules/video_filter/amf_frc.c:211,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 2
    argNames:
    - filter
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts:
    - condition: (amfOutput->pVtbl->GetMemoryType(amfOutput) == AMF_MEMORY_DX11)
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/vlc/modules/video_filter/amf_frc.c
    constantsTouched: []
    func_position:
      end: 218
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 218
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/amf_frc.c
    functionUses: 30
    functionsReached:
    - assert
    - picture_Release
    - AMFSurface*::pVtbl::Release
    - struct filter_sys_t*::amf_frc::pVtbl::SubmitInput
    - AMFSurface*::pVtbl::GetPlane
    - msg_Err
    - struct filter_sys_t*::amf_frc::pVtbl::QueryOutput
    - ID3D11Resource_SetPrivateData
    - msg_Dbg
    - date_Get
    - date_Set
    - d3d11_device_unlock
    - GetD3D11OpaqueContext
    - vlc_picture_chain_AppendChain
    - AMFData*::pVtbl::Release
    - date_Decrement
    - struct filter_sys_t*::amf::Context::pVtbl::CreateSurfaceFromDX11Native
    - ActiveD3D11PictureSys
    - PictureFromTexture
    - picture_CopyProperties
    - AMFPlane*::pVtbl::GetNative
    - d3d11_device_lock
    - AMFData*::pVtbl::GetMemoryType
    linkageType: ''
    returnType: picture_t
    signature: picture_t * Filter(filter_t *filter, picture_t *p_pic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct filter_sys_t*::amf_frc::pVtbl::Release
      Src: /src/vlc/modules/video_filter/amf_frc.c:223,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/video_filter/amf_frc.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: D3D11CloseAMFFRC
    functionSourceFile: /src/vlc/modules/video_filter/amf_frc.c
    functionUses: 0
    functionsReached:
    - vlc_video_context_Release
    - struct filter_sys_t*::amf_frc::pVtbl::Release
    linkageType: ''
    returnType: void
    signature: void D3D11CloseAMFFRC(filter_t *filter)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: is_d3d11_opaque
      Src: /src/vlc/modules/video_filter/amf_frc.c:229,1
    - Dst: GetD3D11ContextPrivate
      Src: /src/vlc/modules/video_filter/amf_frc.c:231,1
    - Dst: video_format_IsSimilar
      Src: /src/vlc/modules/video_filter/amf_frc.c:233,1
    - Dst: GetD3D11OpaqueContext
      Src: /src/vlc/modules/video_filter/amf_frc.c:236,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/amf_frc.c:239,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_filter/amf_frc.c:243,1
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/video_filter/amf_frc.c:245,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_filter/amf_frc.c:245,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/amf_frc.c:246,1
    - Dst: GetD3D11ContextPrivate
      Src: /src/vlc/modules/video_filter/amf_frc.c:251,1
    - Dst: DxgiGetRenderFormatList
      Src: /src/vlc/modules/video_filter/amf_frc.c:254,1
    - Dst: is_d3d11_opaque
      Src: /src/vlc/modules/video_filter/amf_frc.c:257,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/amf_frc.c:260,1
    - Dst: DXGIToAMF
      Src: /src/vlc/modules/video_filter/amf_frc.c:262,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/amf_frc.c:265,1
    - Dst: vlc_AMFCreateContext
      Src: /src/vlc/modules/video_filter/amf_frc.c:269,1
    - Dst: AMF_MAKE_FULL_VERSION
      Src: /src/vlc/modules/video_filter/amf_frc.c:274,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/amf_frc.c:276,1
    - Dst: AMF_GET_MAJOR_VERSION
      Src: /src/vlc/modules/video_filter/amf_frc.c:277,1
    - Dst: AMF_GET_MINOR_VERSION
      Src: /src/vlc/modules/video_filter/amf_frc.c:278,1
    - Dst: AMF_GET_SUBMINOR_VERSION
      Src: /src/vlc/modules/video_filter/amf_frc.c:279,1
    - Dst: struct filter_sys_t*::amf::Context::pVtbl::InitDX11
      Src: /src/vlc/modules/video_filter/amf_frc.c:285,1
    - Dst: struct filter_sys_t*::amf::pFactory::pVtbl::CreateComponent
      Src: /src/vlc/modules/video_filter/amf_frc.c:289,1
    - Dst: struct filter_sys_t*::amf_frc::pVtbl::SetProperty
      Src: /src/vlc/modules/video_filter/amf_frc.c:298,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/amf_frc.c:299,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/amf_frc.c:301,1
    - Dst: struct filter_sys_t*::amf_frc::pVtbl::SetProperty
      Src: /src/vlc/modules/video_filter/amf_frc.c:307,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/amf_frc.c:308,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/amf_frc.c:310,1
    - Dst: struct filter_sys_t*::amf_frc::pVtbl::SetProperty
      Src: /src/vlc/modules/video_filter/amf_frc.c:316,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/amf_frc.c:317,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/amf_frc.c:319,1
    - Dst: struct filter_sys_t*::amf_frc::pVtbl::SetProperty
      Src: /src/vlc/modules/video_filter/amf_frc.c:325,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/amf_frc.c:326,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/amf_frc.c:328,1
    - Dst: struct filter_sys_t*::amf_frc::pVtbl::SetProperty
      Src: /src/vlc/modules/video_filter/amf_frc.c:334,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/amf_frc.c:335,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/amf_frc.c:337,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/video_filter/amf_frc.c:341,1
    - Dst: struct filter_sys_t*::amf_frc::pVtbl::SetProperty
      Src: /src/vlc/modules/video_filter/amf_frc.c:343,1
    - Dst: struct filter_sys_t*::amf_frc::pVtbl::Init
      Src: /src/vlc/modules/video_filter/amf_frc.c:347,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/video_filter/amf_frc.c:361,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_filter/amf_frc.c:368,1
    - Dst: date_Init
      Src: /src/vlc/modules/video_filter/amf_frc.c:375,1
    - Dst: struct filter_sys_t*::amf_frc::pVtbl::Release
      Src: /src/vlc/modules/video_filter/amf_frc.c:381,1
    - Dst: vlc_AMFReleaseContext
      Src: /src/vlc/modules/video_filter/amf_frc.c:382,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 108
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: (cfg != NULL)
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/vlc/modules/video_filter/amf_frc.c
    constantsTouched: []
    func_position:
      end: 384
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 384
    functionName: D3D11CreateAMFFRC
    functionSourceFile: /src/vlc/modules/video_filter/amf_frc.c
    functionUses: 0
    functionsReached:
    - assert
    - is_d3d11_opaque
    - DXGIToAMF
    - DxgiGetRenderFormatList
    - AMF_GET_MAJOR_VERSION
    - AMF_MAKE_FULL_VERSION
    - vlc_obj_calloc
    - AMF_GET_MINOR_VERSION
    - vlc_AMFReleaseContext
    - struct filter_sys_t*::amf_frc::pVtbl::Release
    - vlc_video_context_Hold
    - msg_Err
    - msg_Dbg
    - msg_Warn
    - AMF_GET_SUBMINOR_VERSION
    - struct filter_sys_t*::amf::Context::pVtbl::InitDX11
    - GetD3D11OpaqueContext
    - var_GetBool
    - vlc_AMFCreateContext
    - struct filter_sys_t*::amf_frc::pVtbl::SetProperty
    - struct filter_sys_t*::amf::pFactory::pVtbl::CreateComponent
    - date_Init
    - config_ChainParse
    - GetD3D11ContextPrivate
    - VLC_OBJECT
    - video_format_IsSimilar
    - struct filter_sys_t*::amf_frc::pVtbl::Init
    - unlikely
    linkageType: ''
    returnType: int
    signature: int D3D11CreateAMFFRC(filter_t *filter)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/gradient.c:140,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/gradient.c:146,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_filter/gradient.c:155,1
    - Dst: var_CreateGetNonEmptyStringCommand
      Src: /src/vlc/modules/video_filter/gradient.c:159,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/gradient.c:161,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/gradient.c:167,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/gradient.c:171,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/gradient.c:175,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/gradient.c:181,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/gradient.c:185,1
    - Dst: var_CreateGetBoolCommand
      Src: /src/vlc/modules/video_filter/gradient.c:188,1
    - Dst: var_CreateGetBoolCommand
      Src: /src/vlc/modules/video_filter/gradient.c:190,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/video_filter/gradient.c:192,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/gradient.c:193,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/gradient.c:195,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/gradient.c:197,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 205
    functionName: Create
    functionSourceFile: /src/vlc/modules/video_filter/gradient.c
    functionUses: 130
    functionsReached:
    - var_AddCallback
    - vlc_mutex_init
    - var_CreateGetBoolCommand
    - config_ChainParse
    - msg_Err
    - strcmp
    - free
    - var_CreateGetNonEmptyStringCommand
    - malloc
    linkageType: ''
    returnType: int
    signature: int Create( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/gradient.c:216,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/gradient.c:218,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/gradient.c:220,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/gradient.c:223,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/gradient.c:224,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/gradient.c:225,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/gradient.c:226,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/gradient.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 229
    functionName: Destroy
    functionSourceFile: /src/vlc/modules/video_filter/gradient.c
    functionUses: 75
    functionsReached:
    - free
    - var_DelCallback
    linkageType: ''
    returnType: void
    signature: void Destroy( filter_t *p_filter )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_filter/gradient.c:242,1
    - Dst: FilterEdge
      Src: /src/vlc/modules/video_filter/gradient.c:246,1
    - Dst: FilterGradient
      Src: /src/vlc/modules/video_filter/gradient.c:250,1
    - Dst: FilterHough
      Src: /src/vlc/modules/video_filter/gradient.c:254,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/gradient.c:260,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - p_filter
    - p_pic
    - p_outpic
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 261
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/gradient.c
    functionUses: 30
    functionsReached:
    - FilterGradient
    - vlc_mutex_unlock
    - FilterEdge
    - vlc_mutex_lock
    - FilterHough
    linkageType: ''
    returnType: void
    signature: void Filter( filter_t *p_filter, picture_t *p_pic, picture_t *p_outpic
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p_inpic
    - p_smooth
    argTypes:
    - picture_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 319
    functionName: GaussianConvolution
    functionSourceFile: /src/vlc/modules/video_filter/gradient.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GaussianConvolution( picture_t *p_inpic, uint32_t *p_smooth )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_filter/gradient.c:340,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/video_filter/gradient.c:347,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/video_filter/gradient.c:348,1
    - Dst: memset
      Src: /src/vlc/modules/video_filter/gradient.c:352,1
    - Dst: memset
      Src: /src/vlc/modules/video_filter/gradient.c:354,1
    - Dst: GaussianConvolution
      Src: /src/vlc/modules/video_filter/gradient.c:358,1
    - Dst: if
      Src: /src/vlc/modules/video_filter/gradient.c:396,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - p_filter
    - p_inpic
    - p_outpic
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 409
    functionName: FilterGradient
    functionSourceFile: /src/vlc/modules/video_filter/gradient.c
    functionUses: 1
    functionsReached:
    - if
    - memset
    - GaussianConvolution
    - plane_CopyPixels
    - vlc_alloc
    linkageType: ''
    returnType: void
    signature: "void FilterGradient( filter_t *p_filter, picture_t *p_inpic,\n                                                picture_t
      *p_outpic )"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_filter/gradient.c:464,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_filter/gradient.c:469,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_filter/gradient.c:473,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/video_filter/gradient.c:480,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/video_filter/gradient.c:481,1
    - Dst: memset
      Src: /src/vlc/modules/video_filter/gradient.c:485,1
    - Dst: memset
      Src: /src/vlc/modules/video_filter/gradient.c:487,1
    - Dst: memset
      Src: /src/vlc/modules/video_filter/gradient.c:489,1
    - Dst: GaussianConvolution
      Src: /src/vlc/modules/video_filter/gradient.c:493,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/gradient.c:521,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/gradient.c:521,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/gradient.c:531,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/gradient.c:531,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 81
    argCount: 3
    argNames:
    - p_filter
    - p_inpic
    - p_outpic
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 598
    functionName: FilterEdge
    functionSourceFile: /src/vlc/modules/video_filter/gradient.c
    functionUses: 1
    functionsReached:
    - memset
    - GaussianConvolution
    - plane_CopyPixels
    - abs
    - vlc_alloc
    linkageType: ''
    returnType: void
    signature: "void FilterEdge( filter_t *p_filter, picture_t *p_inpic,\n                                            picture_t
      *p_outpic )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/vlc/modules/video_filter/gradient.c:615,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_filter/gradient.c:624,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_filter/gradient.c:627,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/gradient.c:630,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/gradient.c:636,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_filter/gradient.c:637,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/gradient.c:640,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/gradient.c:641,1
    - Dst: sin
      Src: /src/vlc/modules/video_filter/gradient.c:646,1
    - Dst: cos
      Src: /src/vlc/modules/video_filter/gradient.c:647,1
    - Dst: ceil
      Src: /src/vlc/modules/video_filter/gradient.c:652,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/gradient.c:655,1
    - Dst: memset
      Src: /src/vlc/modules/video_filter/gradient.c:658,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/video_filter/gradient.c:660,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/video_filter/gradient.c:661,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/video_filter/gradient.c:662,1
    - Dst: GaussianConvolution
      Src: /src/vlc/modules/video_filter/gradient.c:664,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/gradient.c:680,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/gradient.c:686,1
    - Dst: sin
      Src: /src/vlc/modules/video_filter/gradient.c:708,1
    - Dst: cos
      Src: /src/vlc/modules/video_filter/gradient.c:709,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/gradient.c:720,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/gradient.c:721,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 58
    argCount: 3
    argNames:
    - p_filter
    - p_inpic
    - p_outpic
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 722
    functionName: FilterHough
    functionSourceFile: /src/vlc/modules/video_filter/gradient.c
    functionUses: 1
    functionsReached:
    - ceil
    - sqrt
    - cos
    - memset
    - GaussianConvolution
    - plane_CopyPixels
    - free
    - msg_Dbg
    - vlc_alloc
    - abs
    - sin
    linkageType: ''
    returnType: void
    signature: "void FilterHough( filter_t *p_filter, picture_t *p_inpic,\n                                             picture_t
      *p_outpic )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/gradient.c:730,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_filter/gradient.c:733,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/gradient.c:734,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/gradient.c:736,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/gradient.c:740,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/gradient.c:744,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/gradient.c:750,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/gradient.c:754,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/gradient.c:758,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/gradient.c:762,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 5
    argNames:
    - p_this
    - psz_var
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 765
    functionName: GradientCallback
    functionSourceFile: /src/vlc/modules/video_filter/gradient.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - msg_Err
    - strcmp
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int GradientCallback( vlc_object_t *p_this, char const *psz_var,\n
      \                            vlc_value_t oldval, vlc_value_t newval,\n                             void
      *p_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: MOD
    functionSourceFile: /src/vlc/modules/video_filter/oldmovie.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t MOD(int64_t a, int64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - val
    - ','
    - sub_val
    - ','
    - min
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: SUB_MIN
    functionSourceFile: /src/vlc/modules/video_filter/oldmovie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB_MIN(val, sub_val, min)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - val
    - ','
    - add_val
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: ADD_MAX
    functionSourceFile: /src/vlc/modules/video_filter/oldmovie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_MAX(val, add_val, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - i_x
    - i_y
    - ps_plane
    argTypes:
    - int32_t
    - int32_t
    - plane_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: PIX_OFS
    functionSourceFile: /src/vlc/modules/video_filter/oldmovie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t PIX_OFS(int32_t i_x, int32_t i_y, plane_t *ps_plane)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - i_x
    - ','
    - i_y
    - ','
    - ps_plane
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: CHECK_PIX_OFS
    functionSourceFile: /src/vlc/modules/video_filter/oldmovie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_PIX_OFS(i_x, i_y, ps_plane)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_MIN
      Src: /src/vlc/modules/video_filter/oldmovie.c:61,1
    - Dst: PIX_OFS
      Src: /src/vlc/modules/video_filter/oldmovie.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - i_x
    - i_y
    - intensity
    - ps_plane
    argTypes:
    - int32_t
    - int32_t
    - int16_t
    - plane_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: DARKEN_PIXEL
    functionSourceFile: /src/vlc/modules/video_filter/oldmovie.c
    functionUses: 0
    functionsReached:
    - PIX_OFS
    - SUB_MIN
    linkageType: ''
    returnType: void
    signature: "void DARKEN_PIXEL(int32_t i_x, int32_t i_y,\n    int16_t intensity,
      plane_t *ps_plane)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_MAX
      Src: /src/vlc/modules/video_filter/oldmovie.c:67,1
    - Dst: PIX_OFS
      Src: /src/vlc/modules/video_filter/oldmovie.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - i_x
    - i_y
    - intensity
    - ps_plane
    argTypes:
    - int32_t
    - int32_t
    - int16_t
    - plane_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: LIGHTEN_PIXEL
    functionSourceFile: /src/vlc/modules/video_filter/oldmovie.c
    functionUses: 0
    functionsReached:
    - PIX_OFS
    - ADD_MAX
    linkageType: ''
    returnType: void
    signature: "void LIGHTEN_PIXEL(int32_t i_x, int32_t i_y,\n                                int16_t
      intensity, plane_t *ps_plane)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/vlc/modules/video_filter/oldmovie.c:73,1
    - Dst: CHECK_PIX_OFS
      Src: /src/vlc/modules/video_filter/oldmovie.c:73,1
    - Dst: DARKEN_PIXEL
      Src: /src/vlc/modules/video_filter/oldmovie.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - i_x
    - i_y
    - intensity
    - ps_plane
    argTypes:
    - int32_t
    - int32_t
    - int16_t
    - plane_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: CHECK_N_DARKEN_PIXEL
    functionSourceFile: /src/vlc/modules/video_filter/oldmovie.c
    functionUses: 0
    functionsReached:
    - CHECK_PIX_OFS
    - DARKEN_PIXEL
    - likely
    linkageType: ''
    returnType: void
    signature: "void CHECK_N_DARKEN_PIXEL(int32_t i_x, int32_t i_y,\n                                int16_t
      intensity, plane_t *ps_plane)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/vlc/modules/video_filter/oldmovie.c:79,1
    - Dst: CHECK_PIX_OFS
      Src: /src/vlc/modules/video_filter/oldmovie.c:79,1
    - Dst: LIGHTEN_PIXEL
      Src: /src/vlc/modules/video_filter/oldmovie.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - i_x
    - i_y
    - intensity
    - ps_plane
    argTypes:
    - int32_t
    - int32_t
    - int16_t
    - plane_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: CHECK_N_LIGHTEN_PIXEL
    functionSourceFile: /src/vlc/modules/video_filter/oldmovie.c
    functionUses: 0
    functionsReached:
    - CHECK_PIX_OFS
    - likely
    - LIGHTEN_PIXEL
    linkageType: ''
    returnType: void
    signature: "void CHECK_N_LIGHTEN_PIXEL(int32_t i_x, int32_t i_y,\n                                int16_t
      intensity, plane_t *ps_plane)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: es_format_IsSimilar
      Src: /src/vlc/modules/video_filter/oldmovie.c:193,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/oldmovie.c:194,1
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/video_filter/oldmovie.c:201,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/oldmovie.c:202,1
    - Dst: vlc_fourcc_IsYUV
      Src: /src/vlc/modules/video_filter/oldmovie.c:205,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/oldmovie.c:207,1
    - Dst: calloc
      Src: /src/vlc/modules/video_filter/oldmovie.c:212,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/oldmovie.c:213,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/video_filter/oldmovie.c:222,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: ( p_chroma != NULL )
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/vlc/modules/video_filter/oldmovie.c
    constantsTouched: []
    func_position:
      end: 225
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 225
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_filter/oldmovie.c
    functionUses: 33
    functionsReached:
    - vlc_tick_now
    - assert
    - es_format_IsSimilar
    - msg_Err
    - calloc
    - vlc_fourcc_IsYUV
    - vlc_fourcc_GetChromaDescription
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Open( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oldmovie_free_allocated_data
      Src: /src/vlc/modules/video_filter/oldmovie.c:234,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/oldmovie.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 236
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_filter/oldmovie.c
    functionUses: 114
    functionsReached:
    - free
    - oldmovie_free_allocated_data
    linkageType: ''
    returnType: void
    signature: void Close( filter_t *p_filter )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/oldmovie.c:242,1
    - Dst: filter_NewPicture
      Src: /src/vlc/modules/video_filter/oldmovie.c:247,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/oldmovie.c:248,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/oldmovie.c:249,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/video_filter/oldmovie.c:257,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/oldmovie.c:262,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/oldmovie.c:263,1
    - Dst: oldmovie_allocate_data
      Src: /src/vlc/modules/video_filter/oldmovie.c:263,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/oldmovie.c:264,1
    - Dst: picture_CopyPixels
      Src: /src/vlc/modules/video_filter/oldmovie.c:272,1
    - Dst: oldmovie_black_n_white_effect
      Src: /src/vlc/modules/video_filter/oldmovie.c:277,1
    - Dst: oldmovie_shutter_effect
      Src: /src/vlc/modules/video_filter/oldmovie.c:280,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/oldmovie.c:282,1
    - Dst: oldmovie_sliding_offset_effect
      Src: /src/vlc/modules/video_filter/oldmovie.c:282,1
    - Dst: CopyInfoAndRelease
      Src: /src/vlc/modules/video_filter/oldmovie.c:283,1
    - Dst: oldmovie_dark_border_effect
      Src: /src/vlc/modules/video_filter/oldmovie.c:285,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/oldmovie.c:287,1
    - Dst: oldmovie_film_scratch_effect
      Src: /src/vlc/modules/video_filter/oldmovie.c:287,1
    - Dst: CopyInfoAndRelease
      Src: /src/vlc/modules/video_filter/oldmovie.c:288,1
    - Dst: oldmovie_film_blotch_effect
      Src: /src/vlc/modules/video_filter/oldmovie.c:290,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/oldmovie.c:292,1
    - Dst: oldmovie_lens_hair_effect
      Src: /src/vlc/modules/video_filter/oldmovie.c:292,1
    - Dst: CopyInfoAndRelease
      Src: /src/vlc/modules/video_filter/oldmovie.c:293,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/oldmovie.c:295,1
    - Dst: oldmovie_lens_dust_effect
      Src: /src/vlc/modules/video_filter/oldmovie.c:295,1
    - Dst: CopyInfoAndRelease
      Src: /src/vlc/modules/video_filter/oldmovie.c:296,1
    - Dst: oldmovie_film_dust_effect
      Src: /src/vlc/modules/video_filter/oldmovie.c:298,1
    - Dst: CopyInfoAndRelease
      Src: /src/vlc/modules/video_filter/oldmovie.c:300,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - p_filter
    - p_pic_in
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 301
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/oldmovie.c
    functionUses: 30
    functionsReached:
    - oldmovie_lens_hair_effect
    - vlc_tick_now
    - oldmovie_black_n_white_effect
    - oldmovie_allocate_data
    - oldmovie_film_blotch_effect
    - oldmovie_shutter_effect
    - filter_NewPicture
    - oldmovie_film_scratch_effect
    - picture_Release
    - oldmovie_dark_border_effect
    - oldmovie_film_dust_effect
    - oldmovie_sliding_offset_effect
    - picture_CopyPixels
    - unlikely
    - oldmovie_lens_dust_effect
    - CopyInfoAndRelease
    linkageType: ''
    returnType: picture_t
    signature: picture_t *Filter( filter_t *p_filter, picture_t *p_pic_in )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oldmovie_free_allocated_data
      Src: /src/vlc/modules/video_filter/oldmovie.c:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - p_filter
    - p_pic_in
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 323
    functionName: oldmovie_allocate_data
    functionSourceFile: /src/vlc/modules/video_filter/oldmovie.c
    functionUses: 1
    functionsReached:
    - oldmovie_free_allocated_data
    linkageType: ''
    returnType: int
    signature: int oldmovie_allocate_data( filter_t *p_filter, picture_t *p_pic_in
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREENULL
      Src: /src/vlc/modules/video_filter/oldmovie.c:332,1
    - Dst: FREENULL
      Src: /src/vlc/modules/video_filter/oldmovie.c:335,1
    - Dst: FREENULL
      Src: /src/vlc/modules/video_filter/oldmovie.c:338,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 341
    functionName: oldmovie_free_allocated_data
    functionSourceFile: /src/vlc/modules/video_filter/oldmovie.c
    functionUses: 2
    functionsReached:
    - FREENULL
    linkageType: ''
    returnType: void
    signature: void oldmovie_free_allocated_data( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/video_filter/oldmovie.c:360,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/video_filter/oldmovie.c:365,1
    - Dst: DARKEN_PIXEL
      Src: /src/vlc/modules/video_filter/oldmovie.c:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - p_filter
    - p_pic_out
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 380
    functionName: oldmovie_shutter_effect
    functionSourceFile: /src/vlc/modules/video_filter/oldmovie.c
    functionUses: 1
    functionsReached:
    - DARKEN_PIXEL
    - VLC_CLIP
    linkageType: ''
    returnType: void
    signature: void oldmovie_shutter_effect( filter_t *p_filter, picture_t *p_pic_out
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/oldmovie.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_sys
    - modulo
    argTypes:
    - filter_sys_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 385
    functionName: RandomEnd
    functionSourceFile: /src/vlc/modules/video_filter/oldmovie.c
    functionUses: 2
    functionsReached:
    - vlc_mrand48
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t RandomEnd(filter_sys_t *p_sys, vlc_tick_t modulo)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RandomEnd
      Src: /src/vlc/modules/video_filter/oldmovie.c:404,1
    - Dst: MOD
      Src: /src/vlc/modules/video_filter/oldmovie.c:409,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/oldmovie.c:409,1
    - Dst: RandomEnd
      Src: /src/vlc/modules/video_filter/oldmovie.c:427,1
    - Dst: RandomEnd
      Src: /src/vlc/modules/video_filter/oldmovie.c:435,1
    - Dst: MOD
      Src: /src/vlc/modules/video_filter/oldmovie.c:438,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/oldmovie.c:438,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/oldmovie.c:445,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/video_filter/oldmovie.c:450,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/oldmovie.c:453,1
    - Dst: llabs
      Src: /src/vlc/modules/video_filter/oldmovie.c:453,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/oldmovie.c:454,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/video_filter/oldmovie.c:464,1
    - Dst: MOD
      Src: /src/vlc/modules/video_filter/oldmovie.c:466,1
    - Dst: oldmovie_sliding_offset_apply
      Src: /src/vlc/modules/video_filter/oldmovie.c:470,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 2
    argNames:
    - p_filter
    - p_pic_out
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 471
    functionName: oldmovie_sliding_offset_effect
    functionSourceFile: /src/vlc/modules/video_filter/oldmovie.c
    functionUses: 1
    functionsReached:
    - llabs
    - SEC_FROM_VLC_TICK
    - oldmovie_sliding_offset_apply
    - vlc_mrand48
    - MOD
    - abs
    - RandomEnd
    linkageType: ''
    returnType: int
    signature: int oldmovie_sliding_offset_effect( filter_t *p_filter, picture_t *p_pic_out
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_filter/oldmovie.c:480,1
    - Dst: calloc
      Src: /src/vlc/modules/video_filter/oldmovie.c:485,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/oldmovie.c:487,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/oldmovie.c:489,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/oldmovie.c:493,1
    - Dst: MOD
      Src: /src/vlc/modules/video_filter/oldmovie.c:496,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/oldmovie.c:502,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/oldmovie.c:506,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - p_filter
    - p_pic_out
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts:
    - condition: (p_pic_out->i_planes > 0)
      pos:
        line_end: 479
        line_start: 479
        source_file: /src/vlc/modules/video_filter/oldmovie.c
    - condition: (p_pic_out->p[i_p].i_visible_lines > 0)
      pos:
        line_end: 492
        line_start: 492
        source_file: /src/vlc/modules/video_filter/oldmovie.c
    constantsTouched: []
    func_position:
      end: 510
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 510
    functionName: oldmovie_sliding_offset_apply
    functionSourceFile: /src/vlc/modules/video_filter/oldmovie.c
    functionUses: 1
    functionsReached:
    - assert
    - memcpy
    - calloc
    - free
    - MOD
    - unlikely
    linkageType: ''
    returnType: int
    signature: int oldmovie_sliding_offset_apply( filter_t *p_filter, picture_t *p_pic_out
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_filter/oldmovie.c:517,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/oldmovie.c:518,1
    - Dst: memset
      Src: /src/vlc/modules/video_filter/oldmovie.c:530,1
    - Dst: memset
      Src: /src/vlc/modules/video_filter/oldmovie.c:532,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - p_pic_out
    argTypes:
    - picture_t*
    assertStmts:
    - condition: (p_pic_out->p[Y_PLANE].i_visible_lines > 0)
      pos:
        line_end: 516
        line_start: 516
        source_file: /src/vlc/modules/video_filter/oldmovie.c
    - condition: (p_pic_out->p[Y_PLANE].i_visible_pitch > 0)
      pos:
        line_end: 517
        line_start: 517
        source_file: /src/vlc/modules/video_filter/oldmovie.c
    constantsTouched: []
    func_position:
      end: 534
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 534
    functionName: oldmovie_black_n_white_effect
    functionSourceFile: /src/vlc/modules/video_filter/oldmovie.c
    functionUses: 1
    functionsReached:
    - assert
    - memset
    linkageType: ''
    returnType: void
    signature: void oldmovie_black_n_white_effect( picture_t *p_pic_out )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/oldmovie.c:548,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/oldmovie.c:549,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/oldmovie.c:551,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/oldmovie.c:552,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/oldmovie.c:554,1
    - Dst: SUB_MIN
      Src: /src/vlc/modules/video_filter/oldmovie.c:562,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - p_filter
    - p_pic_out
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 567
    functionName: oldmovie_dark_border_effect
    functionSourceFile: /src/vlc/modules/video_filter/oldmovie.c
    functionUses: 1
    functionsReached:
    - __MAX
    - __MIN
    - SUB_MIN
    linkageType: ''
    returnType: int
    signature: int oldmovie_dark_border_effect( filter_t *p_filter, picture_t *p_pic_out
      )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/video_filter/oldmovie.c:584,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/oldmovie.c:585,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/oldmovie.c:589,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/oldmovie.c:590,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/oldmovie.c:592,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/oldmovie.c:593,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/oldmovie.c:595,1
    - Dst: RandomEnd
      Src: /src/vlc/modules/video_filter/oldmovie.c:596,1
    - Dst: RandomEnd
      Src: /src/vlc/modules/video_filter/oldmovie.c:600,1
    - Dst: FREENULL
      Src: /src/vlc/modules/video_filter/oldmovie.c:608,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/oldmovie.c:615,1
    - Dst: DARKEN_PIXEL
      Src: /src/vlc/modules/video_filter/oldmovie.c:618,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - p_filter
    - p_pic_out
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 623
    functionName: oldmovie_film_scratch_effect
    functionSourceFile: /src/vlc/modules/video_filter/oldmovie.c
    functionUses: 1
    functionsReached:
    - DARKEN_PIXEL
    - calloc
    - __MAX
    - vlc_mrand48
    - __MIN
    - FREENULL
    - RandomEnd
    - unlikely
    linkageType: ''
    returnType: int
    signature: int oldmovie_film_scratch_effect( filter_t *p_filter, picture_t *p_pic_out
      )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/oldmovie.c:638,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/oldmovie.c:639,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/oldmovie.c:640,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/oldmovie.c:640,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/oldmovie.c:641,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/oldmovie.c:643,1
    - Dst: CHECK_N_DARKEN_PIXEL
      Src: /src/vlc/modules/video_filter/oldmovie.c:648,1
    - Dst: CHECK_N_LIGHTEN_PIXEL
      Src: /src/vlc/modules/video_filter/oldmovie.c:655,1
    - Dst: RandomEnd
      Src: /src/vlc/modules/video_filter/oldmovie.c:659,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - p_filter
    - p_pic_out
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 629
    functionDepth: 3
    functionLinenumber: 629
    functionLinenumberEnd: 661
    functionName: oldmovie_film_blotch_effect
    functionSourceFile: /src/vlc/modules/video_filter/oldmovie.c
    functionUses: 1
    functionsReached:
    - CHECK_N_LIGHTEN_PIXEL
    - CHECK_N_DARKEN_PIXEL
    - __MAX
    - vlc_mrand48
    - RandomEnd
    linkageType: ''
    returnType: void
    signature: void oldmovie_film_blotch_effect( filter_t *p_filter, picture_t *p_pic_out
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/oldmovie.c:674,1
    - Dst: DARKEN_PIXEL
      Src: /src/vlc/modules/video_filter/oldmovie.c:675,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/oldmovie.c:675,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/oldmovie.c:676,1
    - Dst: LIGHTEN_PIXEL
      Src: /src/vlc/modules/video_filter/oldmovie.c:679,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/oldmovie.c:679,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/oldmovie.c:680,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - p_filter
    - p_pic_out
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 666
    functionDepth: 2
    functionLinenumber: 666
    functionLinenumberEnd: 682
    functionName: oldmovie_film_dust_effect
    functionSourceFile: /src/vlc/modules/video_filter/oldmovie.c
    functionUses: 1
    functionsReached:
    - DARKEN_PIXEL
    - vlc_mrand48
    - LIGHTEN_PIXEL
    linkageType: ''
    returnType: void
    signature: void oldmovie_film_dust_effect( filter_t *p_filter, picture_t *p_pic_out
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/oldmovie.c:700,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/oldmovie.c:701,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/oldmovie.c:702,1
    - Dst: RandomEnd
      Src: /src/vlc/modules/video_filter/oldmovie.c:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p_filter
    - ps_hair
    argTypes:
    - filter_t*
    - hair_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 705
    functionName: oldmovie_define_hair_location
    functionSourceFile: /src/vlc/modules/video_filter/oldmovie.c
    functionUses: 0
    functionsReached:
    - RandomEnd
    - vlc_mrand48
    linkageType: ''
    returnType: void
    signature: void oldmovie_define_hair_location( filter_t *p_filter, hair_t* ps_hair
      )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/video_filter/oldmovie.c:719,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/oldmovie.c:720,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/oldmovie.c:724,1
    - Dst: MOD
      Src: /src/vlc/modules/video_filter/oldmovie.c:726,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/oldmovie.c:726,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/oldmovie.c:727,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/oldmovie.c:728,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/oldmovie.c:729,1
    - Dst: oldmovie_define_hair_location
      Src: /src/vlc/modules/video_filter/oldmovie.c:731,1
    - Dst: RandomEnd
      Src: /src/vlc/modules/video_filter/oldmovie.c:735,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/oldmovie.c:744,1
    - Dst: oldmovie_define_hair_location
      Src: /src/vlc/modules/video_filter/oldmovie.c:746,1
    - Dst: FREENULL
      Src: /src/vlc/modules/video_filter/oldmovie.c:749,1
    - Dst: cos
      Src: /src/vlc/modules/video_filter/oldmovie.c:761,1
    - Dst: sin
      Src: /src/vlc/modules/video_filter/oldmovie.c:762,1
    - Dst: sin
      Src: /src/vlc/modules/video_filter/oldmovie.c:766,1
    - Dst: cos
      Src: /src/vlc/modules/video_filter/oldmovie.c:767,1
    - Dst: CHECK_N_DARKEN_PIXEL
      Src: /src/vlc/modules/video_filter/oldmovie.c:768,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - p_filter
    - p_pic_out
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 711
    functionDepth: 3
    functionLinenumber: 711
    functionLinenumberEnd: 777
    functionName: oldmovie_lens_hair_effect
    functionSourceFile: /src/vlc/modules/video_filter/oldmovie.c
    functionUses: 1
    functionsReached:
    - oldmovie_define_hair_location
    - cos
    - calloc
    - __MAX
    - CHECK_N_DARKEN_PIXEL
    - vlc_mrand48
    - MOD
    - FREENULL
    - RandomEnd
    - sin
    - unlikely
    linkageType: ''
    returnType: int
    signature: int oldmovie_lens_hair_effect( filter_t *p_filter, picture_t *p_pic_out
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/oldmovie.c:786,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/oldmovie.c:787,1
    - Dst: RandomEnd
      Src: /src/vlc/modules/video_filter/oldmovie.c:789,1
    - Dst: MOD
      Src: /src/vlc/modules/video_filter/oldmovie.c:792,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/oldmovie.c:792,1
    - Dst: MOD
      Src: /src/vlc/modules/video_filter/oldmovie.c:793,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/oldmovie.c:793,1
    - Dst: RandomEnd
      Src: /src/vlc/modules/video_filter/oldmovie.c:795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - p_filter
    - ps_dust
    argTypes:
    - filter_t*
    - dust_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 796
    functionName: oldmovie_define_dust_location
    functionSourceFile: /src/vlc/modules/video_filter/oldmovie.c
    functionUses: 0
    functionsReached:
    - RandomEnd
    - vlc_mrand48
    - MOD
    linkageType: ''
    returnType: void
    signature: void oldmovie_define_dust_location( filter_t *p_filter, dust_t* ps_dust
      )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/video_filter/oldmovie.c:810,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/oldmovie.c:811,1
    - Dst: oldmovie_define_dust_location
      Src: /src/vlc/modules/video_filter/oldmovie.c:815,1
    - Dst: MOD
      Src: /src/vlc/modules/video_filter/oldmovie.c:816,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/oldmovie.c:816,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/oldmovie.c:817,1
    - Dst: RandomEnd
      Src: /src/vlc/modules/video_filter/oldmovie.c:821,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/oldmovie.c:830,1
    - Dst: oldmovie_define_dust_location
      Src: /src/vlc/modules/video_filter/oldmovie.c:832,1
    - Dst: FREENULL
      Src: /src/vlc/modules/video_filter/oldmovie.c:835,1
    - Dst: CHECK_N_DARKEN_PIXEL
      Src: /src/vlc/modules/video_filter/oldmovie.c:844,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 2
    argNames:
    - p_filter
    - p_pic_out
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 802
    functionDepth: 3
    functionLinenumber: 802
    functionLinenumberEnd: 851
    functionName: oldmovie_lens_dust_effect
    functionSourceFile: /src/vlc/modules/video_filter/oldmovie.c
    functionUses: 1
    functionsReached:
    - calloc
    - CHECK_N_DARKEN_PIXEL
    - vlc_mrand48
    - MOD
    - FREENULL
    - oldmovie_define_dust_location
    - RandomEnd
    - unlikely
    linkageType: ''
    returnType: int
    signature: int oldmovie_lens_dust_effect( filter_t *p_filter, picture_t *p_pic_out
      )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: filter_sys_t::filter_sys_t
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:155,1
    - Dst: vlc_object_create
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:168,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:174,1
    - Dst: module_need
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:177,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:184,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:185,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:186,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:191,1
    - Dst: image_HandlerCreate
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:194,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:202,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:205,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:208,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:210,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:212,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:215,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:219,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:221,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:224,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:227,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:229,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:231,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:234,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:237,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:240,1
    - Dst: msg_Info
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:242,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:248,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:251,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 65
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: ( p_sys->p_opencv->ops != NULL )
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/vlc/modules/video_filter/opencv_wrapper.cpp
    constantsTouched: []
    func_position:
      end: 266
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 266
    functionName: Create
    functionSourceFile: /src/vlc/modules/video_filter/opencv_wrapper.cpp
    functionUses: 131
    functionsReached:
    - assert
    - var_InheritString
    - vlc_object_create
    - msg_Err
    - free
    - strcmp
    - msg_Info
    - msg_Dbg
    - vlc_object_delete
    - module_need
    - image_HandlerCreate
    - var_InheritFloat
    - filter_sys_t::filter_sys_t
    linkageType: ''
    returnType: int
    signature: int Create( filter_t* p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: FilterOperationInitializer
    functionSourceFile: /src/vlc/modules/video_filter/opencv_wrapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterOperationInitializer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<filter_sys_t *>
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:275,1
    - Dst: ReleaseImages
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:276,1
    - Dst: vlc_filter_Delete
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 282
    functionName: Destroy
    functionSourceFile: /src/vlc/modules/video_filter/opencv_wrapper.cpp
    functionUses: 75
    functionsReached:
    - vlc_filter_Delete
    - static_cast<filter_sys_t *>
    - ReleaseImages
    linkageType: ''
    returnType: void
    signature: void Destroy( filter_t* p_filter )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<filter_sys_t *>
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:289,1
    - Dst: cvReleaseImageHeader
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:295,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:304,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 311
    functionName: ReleaseImages
    functionSourceFile: /src/vlc/modules/video_filter/opencv_wrapper.cpp
    functionUses: 1
    functionsReached:
    - picture_Release
    - cvReleaseImageHeader
    - msg_Dbg
    - static_cast<filter_sys_t *>
    linkageType: ''
    returnType: void
    signature: void ReleaseImages( filter_t* p_filter )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cvSize
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:323,1
    - Dst: static_cast<filter_sys_t *>
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:325,1
    - Dst: memset
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:327,1
    - Dst: image_Convert
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:353,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:358,1
    - Dst: filter_NewPicture
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:369,1
    - Dst: picture_Copy
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:370,1
    - Dst: cvSize
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:381,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:381,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:383,1
    - Dst: cvCreateImageHeader
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:385,1
    - Dst: cvSetData
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:388,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:398,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - p_filter
    - p_in
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 400
    functionName: VlcPictureToIplImage
    functionSourceFile: /src/vlc/modules/video_filter/opencv_wrapper.cpp
    functionUses: 0
    functionsReached:
    - cvSetData
    - memset
    - cvSize
    - cvCreateImageHeader
    - image_Convert
    - static_cast<filter_sys_t *>
    - msg_Err
    - filter_NewPicture
    - abs
    - msg_Dbg
    - picture_Copy
    linkageType: ''
    returnType: void
    signature: void VlcPictureToIplImage( filter_t* p_filter, picture_t* p_in )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<filter_sys_t *>
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:410,1
    - Dst: filter_NewPicture
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:411,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:413,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:414,1
    - Dst: picture_Copy
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:420,1
    - Dst: VlcPictureToIplImage
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:422,1
    - Dst: filter_sys_t*::p_opencv::ops::filter_video
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:425,1
    - Dst: image_Convert
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:442,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:447,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:449,1
    - Dst: picture_CopyPixels
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:454,1
    - Dst: CopyInfoAndRelease
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:455,1
    - Dst: picture_CopyPixels
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:458,1
    - Dst: picture_CopyProperties
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:459,1
    - Dst: ReleaseImages
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:463,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:464,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:467,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/opencv_wrapper.cpp:473,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - p_filter
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 476
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/opencv_wrapper.cpp
    functionUses: 30
    functionsReached:
    - picture_CopyPixels
    - static_cast<filter_sys_t *>
    - filter_NewPicture
    - msg_Err
    - image_Convert
    - picture_Release
    - picture_CopyProperties
    - filter_sys_t*::p_opencv::ops::filter_video
    - msg_Dbg
    - ReleaseImages
    - picture_Copy
    - VlcPictureToIplImage
    - unlikely
    - CopyInfoAndRelease
    linkageType: ''
    returnType: picture_t
    signature: picture_t * Filter( filter_t* p_filter, picture_t* p_pic )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/alphamask.c:96,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/alphamask.c:104,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_filter/alphamask.c:109,1
    - Dst: var_CreateGetStringCommand
      Src: /src/vlc/modules/video_filter/alphamask.c:113,1
    - Dst: LoadMask
      Src: /src/vlc/modules/video_filter/alphamask.c:116,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/alphamask.c:118,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/alphamask.c:123,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/video_filter/alphamask.c:125,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/alphamask.c:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 131
    functionName: Create
    functionSourceFile: /src/vlc/modules/video_filter/alphamask.c
    functionUses: 131
    functionsReached:
    - var_AddCallback
    - vlc_mutex_init
    - var_CreateGetStringCommand
    - LoadMask
    - config_ChainParse
    - msg_Err
    - free
    - malloc
    linkageType: ''
    returnType: int
    signature: int Create( filter_t *p_filter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/alphamask.c:137,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/alphamask.c:141,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/alphamask.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 144
    functionName: Destroy
    functionSourceFile: /src/vlc/modules/video_filter/alphamask.c
    functionUses: 75
    functionsReached:
    - free
    - picture_Release
    - var_DelCallback
    linkageType: ''
    returnType: void
    signature: void Destroy( filter_t *p_filter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_filter/alphamask.c:150,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/alphamask.c:158,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/video_filter/alphamask.c:168,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/alphamask.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p_filter
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 172
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/alphamask.c
    functionUses: 30
    functionsReached:
    - vlc_mutex_unlock
    - msg_Err
    - plane_CopyPixels
    - vlc_mutex_lock
    linkageType: ''
    returnType: picture_t
    signature: picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: video_format_Init
      Src: /src/vlc/modules/video_filter/alphamask.c:180,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/alphamask.c:182,1
    - Dst: image_HandlerCreate
      Src: /src/vlc/modules/video_filter/alphamask.c:183,1
    - Dst: vlc_path2uri
      Src: /src/vlc/modules/video_filter/alphamask.c:184,1
    - Dst: image_ReadUrl
      Src: /src/vlc/modules/video_filter/alphamask.c:186,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/alphamask.c:187,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/video_filter/alphamask.c:188,1
    - Dst: image_HandlerDelete
      Src: /src/vlc/modules/video_filter/alphamask.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - p_filter
    - psz_filename
    argTypes:
    - filter_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 190
    functionName: LoadMask
    functionSourceFile: /src/vlc/modules/video_filter/alphamask.c
    functionUses: 3
    functionsReached:
    - video_format_Init
    - image_HandlerDelete
    - free
    - picture_Release
    - image_ReadUrl
    - video_format_Clean
    - image_HandlerCreate
    - vlc_path2uri
    linkageType: ''
    returnType: void
    signature: void LoadMask( filter_t *p_filter, const char *psz_filename )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/alphamask.c:199,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/alphamask.c:199,1
    - Dst: VAR_IS
      Src: /src/vlc/modules/video_filter/alphamask.c:205,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_filter/alphamask.c:207,1
    - Dst: LoadMask
      Src: /src/vlc/modules/video_filter/alphamask.c:210,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/alphamask.c:213,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/alphamask.c:220,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/alphamask.c:223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - p_this
    - psz_var
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 228
    functionName: MaskCallback
    functionSourceFile: /src/vlc/modules/video_filter/alphamask.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - msg_Err
    - LoadMask
    - picture_Release
    - VAR_IS
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int MaskCallback( vlc_object_t *p_this, char const *psz_var,\n                         vlc_value_t
      oldval, vlc_value_t newval,\n                         void *p_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 205
    functionName: VAR_IS
    functionSourceFile: /src/vlc/modules/video_filter/alphamask.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VAR_IS( a )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/antiflicker.c:108,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/antiflicker.c:114,1
    - Dst: atomic_init
      Src: /src/vlc/modules/video_filter/antiflicker.c:122,1
    - Dst: var_CreateGetIntegerCommand
      Src: /src/vlc/modules/video_filter/antiflicker.c:123,1
    - Dst: atomic_init
      Src: /src/vlc/modules/video_filter/antiflicker.c:125,1
    - Dst: var_CreateGetIntegerCommand
      Src: /src/vlc/modules/video_filter/antiflicker.c:126,1
    - Dst: calloc
      Src: /src/vlc/modules/video_filter/antiflicker.c:129,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/antiflicker.c:134,1
    - Dst: memset
      Src: /src/vlc/modules/video_filter/antiflicker.c:138,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/antiflicker.c:142,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/antiflicker.c:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 148
    functionName: Create
    functionSourceFile: /src/vlc/modules/video_filter/antiflicker.c
    functionUses: 132
    functionsReached:
    - var_CreateGetIntegerCommand
    - atomic_init
    - memset
    - var_AddCallback
    - msg_Err
    - calloc
    - free
    - malloc
    linkageType: ''
    returnType: int
    signature: int Create( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/antiflicker.c:159,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/antiflicker.c:161,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/antiflicker.c:163,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/antiflicker.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 165
    functionName: Destroy
    functionSourceFile: /src/vlc/modules/video_filter/antiflicker.c
    functionUses: 75
    functionsReached:
    - free
    - var_DelCallback
    linkageType: ''
    returnType: void
    signature: void Destroy( filter_t *p_filter )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - p_pic
    argTypes:
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 191
    functionName: GetLuminanceAvg
    functionSourceFile: /src/vlc/modules/video_filter/antiflicker.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetLuminanceAvg( picture_t *p_pic )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/vlc/modules/video_filter/antiflicker.c:206,1
    - Dst: atomic_load
      Src: /src/vlc/modules/video_filter/antiflicker.c:207,1
    - Dst: GetLuminanceAvg
      Src: /src/vlc/modules/video_filter/antiflicker.c:219,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/antiflicker.c:224,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/video_filter/antiflicker.c:236,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/antiflicker.c:258,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/video_filter/antiflicker.c:274,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/video_filter/antiflicker.c:275,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/antiflicker.c:292,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 3
    argNames:
    - p_filter
    - p_pic
    - p_outpic
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 309
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/antiflicker.c
    functionUses: 30
    functionsReached:
    - atomic_load
    - plane_CopyPixels
    - GetLuminanceAvg
    - abs
    - __MIN
    linkageType: ''
    returnType: void
    signature: void Filter( filter_t *p_filter, picture_t *p_pic, picture_t *p_outpic
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/antiflicker.c:320,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/antiflicker.c:320,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/antiflicker.c:323,1
    - Dst: atomic_store
      Src: /src/vlc/modules/video_filter/antiflicker.c:324,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/antiflicker.c:325,1
    - Dst: atomic_store
      Src: /src/vlc/modules/video_filter/antiflicker.c:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - p_this
    - psz_var
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 329
    functionName: AntiFlickerCallback
    functionSourceFile: /src/vlc/modules/video_filter/antiflicker.c
    functionUses: 0
    functionsReached:
    - strcmp
    - atomic_store
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int AntiFlickerCallback( vlc_object_t *p_this, char const *psz_var,\n
      \                          vlc_value_t oldval, vlc_value_t newval,\n                           void
      *p_data )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/video_filter/psychedelic.c:81,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/psychedelic.c:82,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/psychedelic.c:84,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/psychedelic.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: ( p_chroma != NULL )
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/vlc/modules/video_filter/psychedelic.c
    constantsTouched: []
    func_position:
      end: 107
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 107
    functionName: Create
    functionSourceFile: /src/vlc/modules/video_filter/psychedelic.c
    functionUses: 132
    functionsReached:
    - malloc
    - assert
    - vlc_fourcc_GetChromaDescription
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int Create( filter_t *p_filter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: image_HandlerDelete
      Src: /src/vlc/modules/video_filter/psychedelic.c:119,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/psychedelic.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: Destroy
    functionSourceFile: /src/vlc/modules/video_filter/psychedelic.c
    functionUses: 75
    functionsReached:
    - free
    - image_HandlerDelete
    linkageType: ''
    returnType: void
    signature: void Destroy( filter_t *p_filter )
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: image_HandlerCreate
      Src: /src/vlc/modules/video_filter/psychedelic.c:143,1
    - Dst: memset
      Src: /src/vlc/modules/video_filter/psychedelic.c:150,1
    - Dst: memset
      Src: /src/vlc/modules/video_filter/psychedelic.c:153,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/video_filter/psychedelic.c:167,1
    - Dst: image_Convert
      Src: /src/vlc/modules/video_filter/psychedelic.c:175,1
    - Dst: copyimage
      Src: /src/vlc/modules/video_filter/psychedelic.c:194,1
    - Dst: copyimage
      Src: /src/vlc/modules/video_filter/psychedelic.c:195,1
    - Dst: copyimage
      Src: /src/vlc/modules/video_filter/psychedelic.c:196,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/psychedelic.c:199,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/psychedelic.c:203,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 63
    argCount: 3
    argNames:
    - p_filter
    - p_pic
    - p_outpic
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 241
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/psychedelic.c
    functionUses: 30
    functionsReached:
    - copyimage
    - memset
    - image_Convert
    - plane_CopyPixels
    - msg_Err
    - picture_Release
    - image_HandlerCreate
    linkageType: ''
    returnType: void
    signature: void Filter( filter_t *p_filter, picture_t *p_pic, picture_t *p_outpic
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - plane
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: copyimage
    functionSourceFile: /src/vlc/modules/video_filter/psychedelic.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: copyimage( plane, b )
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/dither.c:121,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/dither.c:149,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/dither.c:150,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_filter/dither.c:155,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/dither.c:158,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/dither.c:159,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/dither.c:163,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/dither.c:165,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/dither.c:167,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/dither.c:169,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/dither.c:171,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/dither.c:175,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/dither.c:176,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/dither.c:177,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/dither.c:180,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_filter/dither.c:183,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/dither.c:186,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/dither.c:187,1
    - Dst: strchr
      Src: /src/vlc/modules/video_filter/dither.c:193,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_filter/dither.c:200,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/dither.c:203,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/dither.c:204,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/dither.c:205,1
    - Dst: strtok_r
      Src: /src/vlc/modules/video_filter/dither.c:210,1
    - Dst: isspace
      Src: /src/vlc/modules/video_filter/dither.c:214,1
    - Dst: strtoul
      Src: /src/vlc/modules/video_filter/dither.c:218,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/dither.c:223,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/dither.c:224,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/dither.c:225,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/dither.c:226,1
    - Dst: strtok_r
      Src: /src/vlc/modules/video_filter/dither.c:230,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/dither.c:232,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_filter/dither.c:272,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/dither.c:274,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/dither.c:275,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 99
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 285
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_filter/dither.c
    functionUses: 33
    functionsReached:
    - strtok_r
    - strchr
    - var_InheritString
    - strtoul
    - isspace
    - msg_Err
    - free
    - strcmp
    - vlc_alloc
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( filter_t *p_filter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/video_filter/dither.c:294,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/dither.c:295,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/dither.c:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 298
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_filter/dither.c
    functionUses: 114
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void Close( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_sys_t*::pf_dither_algo
      Src: /src/vlc/modules/video_filter/dither.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_filter
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/dither.c
    functionUses: 30
    functionsReached:
    - filter_sys_t*::pf_dither_algo
    linkageType: ''
    returnType: picture_t
    signature: picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - p_pic
    - i_x
    - i_y
    - p_r
    - p_g
    - p_b
    argTypes:
    - picture_t*
    - unsigned int
    - unsigned int
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 320
    functionName: read_bgr24
    functionSourceFile: /src/vlc/modules/video_filter/dither.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void read_bgr24( const picture_t *p_pic, const unsigned int i_x, const
      unsigned int i_y, int *p_r, int *p_g, int *p_b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - p_pic
    - i_x
    - i_y
    - i_r
    - i_g
    - i_b
    argTypes:
    - picture_t*
    - unsigned int
    - unsigned int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 329
    functionName: write_bgr24
    functionSourceFile: /src/vlc/modules/video_filter/dither.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void write_bgr24( picture_t *p_pic, const unsigned int i_x, const unsigned
      int i_y, const int i_r, const int i_g, const int i_b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - p_pic
    - i_x
    - i_y
    - p_r
    - p_g
    - p_b
    argTypes:
    - picture_t*
    - unsigned int
    - unsigned int
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 338
    functionName: read_rgb24
    functionSourceFile: /src/vlc/modules/video_filter/dither.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void read_rgb24( const picture_t *p_pic, const unsigned int i_x, const
      unsigned int i_y, int *p_r, int *p_g, int *p_b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - p_pic
    - i_x
    - i_y
    - i_r
    - i_g
    - i_b
    argTypes:
    - picture_t*
    - unsigned int
    - unsigned int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: write_rgb24
    functionSourceFile: /src/vlc/modules/video_filter/dither.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void write_rgb24( picture_t *p_pic, const unsigned int i_x, const unsigned
      int i_y, const int i_r, const int i_g, const int i_b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - p_pic
    - i_x
    - i_y
    - p_r
    - p_g
    - p_b
    argTypes:
    - picture_t*
    - unsigned int
    - unsigned int
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 357
    functionName: read_rgba
    functionSourceFile: /src/vlc/modules/video_filter/dither.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void read_rgba( const picture_t *p_pic, const unsigned int i_x, const
      unsigned int i_y, int *p_r, int *p_g, int *p_b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - p_pic
    - i_x
    - i_y
    - i_r
    - i_g
    - i_b
    argTypes:
    - picture_t*
    - unsigned int
    - unsigned int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 367
    functionName: write_rgba
    functionSourceFile: /src/vlc/modules/video_filter/dither.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void write_rgba( picture_t * p_pic, const unsigned int i_x, const unsigned
      int i_y, const int i_r, const int i_g, const int i_b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - p_r
    - p_g
    - p_b
    - i_y
    - i_u
    - i_v
    argTypes:
    - int*
    - int*
    - int*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 378
    functionName: rgb_from_yuv
    functionSourceFile: /src/vlc/modules/video_filter/dither.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rgb_from_yuv( int *p_r, int *p_g, int *p_b, const int i_y, const
      int i_u, const int i_v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rgb_from_yuv
      Src: /src/vlc/modules/video_filter/dither.c:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - p_pic
    - i_x
    - i_y
    - p_r
    - p_g
    - p_b
    argTypes:
    - picture_t*
    - unsigned int
    - unsigned int
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 386
    functionName: read_yuv
    functionSourceFile: /src/vlc/modules/video_filter/dither.c
    functionUses: 0
    functionsReached:
    - rgb_from_yuv
    linkageType: ''
    returnType: void
    signature: void read_yuv( const picture_t *p_pic, const unsigned int i_x, const
      unsigned int i_y, int *p_r, int *p_g, int *p_b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - p_y
    - p_u
    - p_v
    - d_r
    - d_g
    - d_b
    argTypes:
    - double*
    - double*
    - double*
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 397
    functionName: yuv_from_rgb
    functionSourceFile: /src/vlc/modules/video_filter/dither.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void yuv_from_rgb( double *p_y, double *p_u, double *p_v, const double
      d_r, const double d_g, const double d_b )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: yuv_from_rgb
      Src: /src/vlc/modules/video_filter/dither.c:402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - p_pic
    - i_x
    - i_y
    - i_r
    - i_g
    - i_b
    argTypes:
    - picture_t*
    - unsigned int
    - unsigned int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 409
    functionName: write_yuv
    functionSourceFile: /src/vlc/modules/video_filter/dither.c
    functionUses: 0
    functionsReached:
    - yuv_from_rgb
    linkageType: ''
    returnType: void
    signature: void write_yuv( picture_t *p_pic, const unsigned int i_x, const unsigned
      int i_y, const int i_r, const int i_g, const int i_b )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/dither.c:421,1
    - Dst: filter_sys_t*::pf_read_pixel
      Src: /src/vlc/modules/video_filter/dither.c:430,1
    - Dst: filter_sys_t*::pf_write_pixel
      Src: /src/vlc/modules/video_filter/dither.c:448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - p_filter
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 451
    functionName: FilterRandom
    functionSourceFile: /src/vlc/modules/video_filter/dither.c
    functionUses: 0
    functionsReached:
    - vlc_mrand48
    - filter_sys_t*::pf_read_pixel
    - filter_sys_t*::pf_write_pixel
    linkageType: ''
    returnType: void
    signature: void FilterRandom( const filter_t *p_filter, picture_t *p_pic )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_sys_t*::pf_read_pixel
      Src: /src/vlc/modules/video_filter/dither.c:470,1
    - Dst: filter_sys_t*::pf_write_pixel
      Src: /src/vlc/modules/video_filter/dither.c:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - p_filter
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 486
    functionName: FilterEuclidean
    functionSourceFile: /src/vlc/modules/video_filter/dither.c
    functionUses: 0
    functionsReached:
    - filter_sys_t*::pf_read_pixel
    - filter_sys_t*::pf_write_pixel
    linkageType: ''
    returnType: void
    signature: void FilterEuclidean( const filter_t *p_filter, picture_t *p_pic )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: filter_sys_t*::pf_read_pixel
      Src: /src/vlc/modules/video_filter/dither.c:522,1
    - Dst: filter_sys_t*::pf_write_pixel
      Src: /src/vlc/modules/video_filter/dither.c:565,1
    - Dst: filter_sys_t*::pf_read_pixel
      Src: /src/vlc/modules/video_filter/dither.c:577,1
    - Dst: filter_sys_t*::pf_write_pixel
      Src: /src/vlc/modules/video_filter/dither.c:620,1
    - Dst: memset
      Src: /src/vlc/modules/video_filter/dither.c:624,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 67
    argCount: 2
    argNames:
    - p_filter
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 626
    functionName: FilterFloydSteinberg
    functionSourceFile: /src/vlc/modules/video_filter/dither.c
    functionUses: 0
    functionsReached:
    - memset
    - filter_sys_t*::pf_read_pixel
    - filter_sys_t*::pf_write_pixel
    linkageType: ''
    returnType: void
    signature: void FilterFloydSteinberg( const filter_t *p_filter, picture_t *p_pic
      )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: filter_sys_t*::pf_read_pixel
      Src: /src/vlc/modules/video_filter/dither.c:661,1
    - Dst: filter_sys_t*::pf_write_pixel
      Src: /src/vlc/modules/video_filter/dither.c:698,1
    - Dst: filter_sys_t*::pf_read_pixel
      Src: /src/vlc/modules/video_filter/dither.c:710,1
    - Dst: filter_sys_t*::pf_write_pixel
      Src: /src/vlc/modules/video_filter/dither.c:747,1
    - Dst: memset
      Src: /src/vlc/modules/video_filter/dither.c:750,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 57
    argCount: 2
    argNames:
    - p_filter
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 752
    functionName: FilterSierraFilterLite
    functionSourceFile: /src/vlc/modules/video_filter/dither.c
    functionUses: 0
    functionsReached:
    - memset
    - filter_sys_t*::pf_read_pixel
    - filter_sys_t*::pf_write_pixel
    linkageType: ''
    returnType: void
    signature: void FilterSierraFilterLite( const filter_t *p_filter, picture_t *p_pic
      )
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: filter_sys_t*::pf_read_pixel
      Src: /src/vlc/modules/video_filter/dither.c:789,1
    - Dst: filter_sys_t*::pf_write_pixel
      Src: /src/vlc/modules/video_filter/dither.c:880,1
    - Dst: filter_sys_t*::pf_read_pixel
      Src: /src/vlc/modules/video_filter/dither.c:894,1
    - Dst: filter_sys_t*::pf_write_pixel
      Src: /src/vlc/modules/video_filter/dither.c:985,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/dither.c:990,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/dither.c:991,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/dither.c:995,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/dither.c:996,1
    - Dst: memset
      Src: /src/vlc/modules/video_filter/dither.c:998,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 154
    argCount: 2
    argNames:
    - p_filter
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 1000
    functionName: FilterJarvisJudiceNinke
    functionSourceFile: /src/vlc/modules/video_filter/dither.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    - filter_sys_t*::pf_read_pixel
    - filter_sys_t*::pf_write_pixel
    linkageType: ''
    returnType: void
    signature: void FilterJarvisJudiceNinke( const filter_t *p_filter, picture_t *p_pic
      )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/video_filter/sam3.cpp:152,1
    - Dst: type
      Src: /src/vlc/modules/video_filter/sam3.cpp:152,1
    - Dst: video_format_Init
      Src: /src/vlc/modules/video_filter/sam3.cpp:158,1
    - Dst: video_format_Setup
      Src: /src/vlc/modules/video_filter/sam3.cpp:159,1
    - Dst: picture_NewFromFormat
      Src: /src/vlc/modules/video_filter/sam3.cpp:163,1
    - Dst: static_cast<size_t>
      Src: /src/vlc/modules/video_filter/sam3.cpp:171,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/sam3.cpp:174,1
    - Dst: ptr
      Src: /src/vlc/modules/video_filter/sam3.cpp:175,1
    - Dst: picture_Export
      Src: /src/vlc/modules/video_filter/sam3.cpp:179,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_filter/sam3.cpp:179,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/sam3.cpp:181,1
    - Dst: vlc_fopen
      Src: /src/vlc/modules/video_filter/sam3.cpp:188,1
    - Dst: fwrite
      Src: /src/vlc/modules/video_filter/sam3.cpp:192,1
    - Dst: fclose
      Src: /src/vlc/modules/video_filter/sam3.cpp:194,1
    - Dst: block_Release
      Src: /src/vlc/modules/video_filter/sam3.cpp:197,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - p_filter
    - ' mat_bgr'
    - psz_path
    - i_codec
    argTypes:
    - filter_t*
    - cv::Mat
    - char*
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 199
    functionName: WriteMatAsImage
    functionSourceFile: /src/vlc/modules/video_filter/sam3.cpp
    functionUses: 0
    functionsReached:
    - ptr
    - block_Release
    - static_cast<size_t>
    - video_format_Init
    - type
    - video_format_Setup
    - memcpy
    - picture_Export
    - fwrite
    - picture_Release
    - vlc_fopen
    - empty
    - VLC_OBJECT
    - picture_NewFromFormat
    - fclose
    linkageType: ''
    returnType: bool
    signature: "bool WriteMatAsImage( filter_t* p_filter, const cv::Mat& mat_bgr,\n
      \                             const char* psz_path, vlc_fourcc_t i_codec )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<filter_sys_t*>
      Src: /src/vlc/modules/video_filter/sam3.cpp:206,1
    - Dst: mat_mask::empty
      Src: /src/vlc/modules/video_filter/sam3.cpp:207,1
    - Dst: empty
      Src: /src/vlc/modules/video_filter/sam3.cpp:207,1
    - Dst: time
      Src: /src/vlc/modules/video_filter/sam3.cpp:211,1
    - Dst: localtime_r
      Src: /src/vlc/modules/video_filter/sam3.cpp:213,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/sam3.cpp:216,1
    - Dst: strftime
      Src: /src/vlc/modules/video_filter/sam3.cpp:220,1
    - Dst: VLCVideo::resize
      Src: /src/vlc/modules/video_filter/sam3.cpp:224,1
    - Dst: size
      Src: /src/vlc/modules/video_filter/sam3.cpp:224,1
    - Dst: cv::threshold
      Src: /src/vlc/modules/video_filter/sam3.cpp:225,1
    - Dst: std::string
      Src: /src/vlc/modules/video_filter/sam3.cpp:228,1
    - Dst: std::to_string
      Src: /src/vlc/modules/video_filter/sam3.cpp:229,1
    - Dst: WriteMatAsImage
      Src: /src/vlc/modules/video_filter/sam3.cpp:230,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/video_filter/sam3.cpp:230,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/sam3.cpp:232,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/video_filter/sam3.cpp:232,1
    - Dst: msg_Info
      Src: /src/vlc/modules/video_filter/sam3.cpp:235,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/video_filter/sam3.cpp:235,1
    - Dst: cv::cvtColor
      Src: /src/vlc/modules/video_filter/sam3.cpp:239,1
    - Dst: std::string
      Src: /src/vlc/modules/video_filter/sam3.cpp:240,1
    - Dst: std::to_string
      Src: /src/vlc/modules/video_filter/sam3.cpp:241,1
    - Dst: WriteMatAsImage
      Src: /src/vlc/modules/video_filter/sam3.cpp:242,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/video_filter/sam3.cpp:242,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/sam3.cpp:244,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/video_filter/sam3.cpp:244,1
    - Dst: msg_Info
      Src: /src/vlc/modules/video_filter/sam3.cpp:247,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/video_filter/sam3.cpp:247,1
    - Dst: clone
      Src: /src/vlc/modules/video_filter/sam3.cpp:250,1
    - Dst: __stdc_leading_zeros
      Src: /src/vlc/modules/video_filter/sam3.cpp:251,1
    - Dst: cv::Mat::size
      Src: /src/vlc/modules/video_filter/sam3.cpp:251,1
    - Dst: cv::Mat::setTo
      Src: /src/vlc/modules/video_filter/sam3.cpp:252,1
    - Dst: cv::addWeighted
      Src: /src/vlc/modules/video_filter/sam3.cpp:253,1
    - Dst: static_cast<double>
      Src: /src/vlc/modules/video_filter/sam3.cpp:257,1
    - Dst: static_cast<double>
      Src: /src/vlc/modules/video_filter/sam3.cpp:258,1
    - Dst: std::vector::emplace_back
      Src: /src/vlc/modules/video_filter/sam3.cpp:264,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/video_filter/sam3.cpp:265,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/video_filter/sam3.cpp:266,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/video_filter/sam3.cpp:269,1
    - Dst: cv::drawContours
      Src: /src/vlc/modules/video_filter/sam3.cpp:271,1
    - Dst: std::string
      Src: /src/vlc/modules/video_filter/sam3.cpp:274,1
    - Dst: std::to_string
      Src: /src/vlc/modules/video_filter/sam3.cpp:275,1
    - Dst: WriteMatAsImage
      Src: /src/vlc/modules/video_filter/sam3.cpp:276,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/video_filter/sam3.cpp:276,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/sam3.cpp:278,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/video_filter/sam3.cpp:278,1
    - Dst: msg_Info
      Src: /src/vlc/modules/video_filter/sam3.cpp:281,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/video_filter/sam3.cpp:281,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - p_filter
    - ' obj'
    - ' mat_frame'
    argTypes:
    - filter_t*
    - segmented_object_t
    - cv::Mat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 204
    functionDepth: 3
    functionLinenumber: 204
    functionLinenumberEnd: 282
    functionName: Export
    functionSourceFile: /src/vlc/modules/video_filter/sam3.cpp
    functionUses: 1
    functionsReached:
    - cv::addWeighted
    - static_cast<filter_sys_t*>
    - clone
    - std::to_string
    - std::string::c_str
    - cv::Mat::size
    - __stdc_leading_zeros
    - cv::cvtColor
    - cv::drawContours
    - size
    - msg_Err
    - VLCVideo::resize
    - cv::threshold
    - mat_mask::empty
    - std::vector::emplace_back
    - localtime_r
    - time
    - cv::Mat::setTo
    - std::vector::push_back
    - static_cast<int>
    - strftime
    - WriteMatAsImage
    - empty
    - msg_Info
    - std::string
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void Export( filter_t* p_filter, const segmented_object_t& obj, const
      cv::Mat& mat_frame )
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<filter_sys_t*>
      Src: /src/vlc/modules/video_filter/sam3.cpp:289,1
    - Dst: auto*::cv_work::wait
      Src: /src/vlc/modules/video_filter/sam3.cpp:294,1
    - Dst: auto*::atom_run_text_segment::exchange
      Src: /src/vlc/modules/video_filter/sam3.cpp:313,1
    - Dst: std::unique_lock::unlock
      Src: /src/vlc/modules/video_filter/sam3.cpp:314,1
    - Dst: auto*::mat_current_frame::empty
      Src: /src/vlc/modules/video_filter/sam3.cpp:333,1
    - Dst: cv::Mat::empty
      Src: /src/vlc/modules/video_filter/sam3.cpp:340,1
    - Dst: cv::Mat::empty
      Src: /src/vlc/modules/video_filter/sam3.cpp:340,1
    - Dst: cv::cvtColor
      Src: /src/vlc/modules/video_filter/sam3.cpp:359,1
    - Dst: sam3_image::data::assign
      Src: /src/vlc/modules/video_filter/sam3.cpp:360,1
    - Dst: sam3_encode_image
      Src: /src/vlc/modules/video_filter/sam3.cpp:362,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/sam3.cpp:364,1
    - Dst: sam3_segment_pcs
      Src: /src/vlc/modules/video_filter/sam3.cpp:375,1
    - Dst: mask::data::empty
      Src: /src/vlc/modules/video_filter/sam3.cpp:381,1
    - Dst: const_cast<uint8_t*>
      Src: /src/vlc/modules/video_filter/sam3.cpp:387,1
    - Dst: mask::data::data
      Src: /src/vlc/modules/video_filter/sam3.cpp:387,1
    - Dst: cv::Mat::size
      Src: /src/vlc/modules/video_filter/sam3.cpp:388,1
    - Dst: cv::Mat::size
      Src: /src/vlc/modules/video_filter/sam3.cpp:388,1
    - Dst: VLCVideo::resize
      Src: /src/vlc/modules/video_filter/sam3.cpp:391,1
    - Dst: cv::Mat::size
      Src: /src/vlc/modules/video_filter/sam3.cpp:391,1
    - Dst: cv::Mat::clone
      Src: /src/vlc/modules/video_filter/sam3.cpp:396,1
    - Dst: cv::findContours
      Src: /src/vlc/modules/video_filter/sam3.cpp:400,1
    - Dst: std::vector::empty
      Src: /src/vlc/modules/video_filter/sam3.cpp:401,1
    - Dst: cv::approxPolyDP
      Src: /src/vlc/modules/video_filter/sam3.cpp:407,1
    - Dst: auto*::map_objects::find
      Src: /src/vlc/modules/video_filter/sam3.cpp:438,1
    - Dst: auto*::map_objects::end
      Src: /src/vlc/modules/video_filter/sam3.cpp:438,1
    - Dst: segmented_object_t
      Src: /src/vlc/modules/video_filter/sam3.cpp:445,1
    - Dst: segmented_object_t*::vec_positive_clicks::size
      Src: /src/vlc/modules/video_filter/sam3.cpp:452,1
    - Dst: segmented_object_t*::vec_negative_clicks::size
      Src: /src/vlc/modules/video_filter/sam3.cpp:452,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_filter/sam3.cpp:454,1
    - Dst: segmented_object_t*::vec_positive_clicks::push_back
      Src: /src/vlc/modules/video_filter/sam3.cpp:466,1
    - Dst: segmented_object_t*::vec_negative_clicks::push_back
      Src: /src/vlc/modules/video_filter/sam3.cpp:475,1
    - Dst: sam3_pvs_params::pos_points::push_back
      Src: /src/vlc/modules/video_filter/sam3.cpp:481,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/video_filter/sam3.cpp:481,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/video_filter/sam3.cpp:481,1
    - Dst: sam3_pvs_params::neg_points::push_back
      Src: /src/vlc/modules/video_filter/sam3.cpp:485,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/video_filter/sam3.cpp:485,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/video_filter/sam3.cpp:485,1
    - Dst: segmented_object_t*::vec_positive_clicks::empty
      Src: /src/vlc/modules/video_filter/sam3.cpp:488,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_filter/sam3.cpp:490,1
    - Dst: sam3_segment_pvs
      Src: /src/vlc/modules/video_filter/sam3.cpp:498,1
    - Dst: mask::data::empty
      Src: /src/vlc/modules/video_filter/sam3.cpp:504,1
    - Dst: const_cast<uint8_t*>
      Src: /src/vlc/modules/video_filter/sam3.cpp:510,1
    - Dst: mask::data::data
      Src: /src/vlc/modules/video_filter/sam3.cpp:510,1
    - Dst: cv::Mat::size
      Src: /src/vlc/modules/video_filter/sam3.cpp:511,1
    - Dst: cv::Mat::size
      Src: /src/vlc/modules/video_filter/sam3.cpp:511,1
    - Dst: VLCVideo::resize
      Src: /src/vlc/modules/video_filter/sam3.cpp:514,1
    - Dst: cv::Mat::size
      Src: /src/vlc/modules/video_filter/sam3.cpp:514,1
    - Dst: cv::Mat::clone
      Src: /src/vlc/modules/video_filter/sam3.cpp:519,1
    - Dst: cv::findContours
      Src: /src/vlc/modules/video_filter/sam3.cpp:523,1
    - Dst: std::vector::empty
      Src: /src/vlc/modules/video_filter/sam3.cpp:524,1
    - Dst: cv::contourArea
      Src: /src/vlc/modules/video_filter/sam3.cpp:529,1
    - Dst: cv::arcLength
      Src: /src/vlc/modules/video_filter/sam3.cpp:530,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/video_filter/sam3.cpp:531,1
    - Dst: cv::Mat::empty
      Src: /src/vlc/modules/video_filter/sam3.cpp:540,1
    - Dst: cv::getStructuringElement
      Src: /src/vlc/modules/video_filter/sam3.cpp:547,1
    - Dst: SetTextSize
      Src: /src/vlc/modules/video_filter/sam3.cpp:547,1
    - Dst: cv::morphologyEx
      Src: /src/vlc/modules/video_filter/sam3.cpp:548,1
    - Dst: cv::morphologyEx
      Src: /src/vlc/modules/video_filter/sam3.cpp:549,1
    - Dst: cv::findContours
      Src: /src/vlc/modules/video_filter/sam3.cpp:552,1
    - Dst: std::vector::empty
      Src: /src/vlc/modules/video_filter/sam3.cpp:553,1
    - Dst: cv::approxPolyDP
      Src: /src/vlc/modules/video_filter/sam3.cpp:560,1
    - Dst: cv::dilate
      Src: /src/vlc/modules/video_filter/sam3.cpp:564,1
    - Dst: auto*::map_objects::find
      Src: /src/vlc/modules/video_filter/sam3.cpp:570,1
    - Dst: auto*::map_objects::end
      Src: /src/vlc/modules/video_filter/sam3.cpp:571,1
    - Dst: cv::Mat::clone
      Src: /src/vlc/modules/video_filter/sam3.cpp:578,1
    - Dst: segmented_object_t*::vec_scaled_contours::clear
      Src: /src/vlc/modules/video_filter/sam3.cpp:580,1
    - Dst: mat_mask::empty
      Src: /src/vlc/modules/video_filter/sam3.cpp:585,1
    - Dst: cv::bitwise_and
      Src: /src/vlc/modules/video_filter/sam3.cpp:591,1
    - Dst: cv::countNonZero
      Src: /src/vlc/modules/video_filter/sam3.cpp:593,1
    - Dst: cv::countNonZero
      Src: /src/vlc/modules/video_filter/sam3.cpp:594,1
    - Dst: static_cast<double>
      Src: /src/vlc/modules/video_filter/sam3.cpp:595,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/video_filter/sam3.cpp:597,1
    - Dst: cv::bitwise_or
      Src: /src/vlc/modules/video_filter/sam3.cpp:604,1
    - Dst: segmented_object_t*::vec_positive_clicks::insert
      Src: /src/vlc/modules/video_filter/sam3.cpp:605,1
    - Dst: segmented_object_t*::vec_positive_clicks::end
      Src: /src/vlc/modules/video_filter/sam3.cpp:605,1
    - Dst: vec_positive_clicks::begin
      Src: /src/vlc/modules/video_filter/sam3.cpp:606,1
    - Dst: vec_positive_clicks::end
      Src: /src/vlc/modules/video_filter/sam3.cpp:607,1
    - Dst: segmented_object_t*::vec_negative_clicks::insert
      Src: /src/vlc/modules/video_filter/sam3.cpp:608,1
    - Dst: segmented_object_t*::vec_negative_clicks::end
      Src: /src/vlc/modules/video_filter/sam3.cpp:608,1
    - Dst: vec_negative_clicks::begin
      Src: /src/vlc/modules/video_filter/sam3.cpp:609,1
    - Dst: vec_negative_clicks::end
      Src: /src/vlc/modules/video_filter/sam3.cpp:610,1
    - Dst: auto*::map_objects::erase
      Src: /src/vlc/modules/video_filter/sam3.cpp:611,1
    - Dst: std::vector::empty
      Src: /src/vlc/modules/video_filter/sam3.cpp:614,1
    - Dst: cv::findContours
      Src: /src/vlc/modules/video_filter/sam3.cpp:616,1
    - Dst: cv::approxPolyDP
      Src: /src/vlc/modules/video_filter/sam3.cpp:620,1
    - Dst: segmented_object_t*::vec_scaled_contours::clear
      Src: /src/vlc/modules/video_filter/sam3.cpp:622,1
    - Dst: auto*::map_objects::find
      Src: /src/vlc/modules/video_filter/sam3.cpp:631,1
    - Dst: auto*::map_objects::end
      Src: /src/vlc/modules/video_filter/sam3.cpp:631,1
    - Dst: auto::second::mat_mask::clone
      Src: /src/vlc/modules/video_filter/sam3.cpp:635,1
    - Dst: Export
      Src: /src/vlc/modules/video_filter/sam3.cpp:640,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 185
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 287
    functionDepth: 4
    functionLinenumber: 287
    functionLinenumberEnd: 644
    functionName: Process
    functionSourceFile: /src/vlc/modules/video_filter/sam3.cpp
    functionUses: 7
    functionsReached:
    - segmented_object_t*::vec_negative_clicks::push_back
    - mask::data::empty
    - static_cast<filter_sys_t*>
    - cv::Mat::clone
    - cv::contourArea
    - SetTextSize
    - cv::Mat::size
    - vec_positive_clicks::end
    - auto*::map_objects::erase
    - sam3_pvs_params::pos_points::push_back
    - auto::second::mat_mask::clone
    - cv::cvtColor
    - cv::getStructuringElement
    - mask::data::data
    - segmented_object_t
    - auto*::map_objects::end
    - segmented_object_t*::vec_negative_clicks::end
    - vec_negative_clicks::end
    - std::unique_lock::unlock
    - msg_Err
    - static_cast<float>
    - cv::arcLength
    - segmented_object_t*::vec_scaled_contours::clear
    - cv::countNonZero
    - segmented_object_t*::vec_positive_clicks::size
    - auto*::cv_work::wait
    - msg_Warn
    - cv::approxPolyDP
    - static_cast<double>
    - vec_positive_clicks::begin
    - segmented_object_t*::vec_negative_clicks::size
    - VLCVideo::resize
    - auto*::map_objects::find
    - vec_negative_clicks::begin
    - Export
    - segmented_object_t*::vec_positive_clicks::push_back
    - mat_mask::empty
    - sam3_encode_image
    - segmented_object_t*::vec_positive_clicks::empty
    - sam3_segment_pvs
    - cv::dilate
    - sam3_segment_pcs
    - cv::Mat::empty
    - std::vector::push_back
    - const_cast<uint8_t*>
    - cv::bitwise_and
    - std::vector::empty
    - auto*::atom_run_text_segment::exchange
    - segmented_object_t*::vec_positive_clicks::insert
    - segmented_object_t*::vec_positive_clicks::end
    - sam3_pvs_params::neg_points::push_back
    - cv::bitwise_or
    - cv::findContours
    - sam3_image::data::assign
    - auto*::mat_current_frame::empty
    - segmented_object_t*::vec_negative_clicks::insert
    - cv::morphologyEx
    linkageType: ''
    returnType: void
    signature: void Process( filter_t* p_filter )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<filter_sys_t*>
      Src: /src/vlc/modules/video_filter/sam3.cpp:651,1
    - Dst: auto*::map_objects::clear
      Src: /src/vlc/modules/video_filter/sam3.cpp:659,1
    - Dst: auto*::mat_original_frame::release
      Src: /src/vlc/modules/video_filter/sam3.cpp:664,1
    - Dst: auto*::cv_work::notify_one
      Src: /src/vlc/modules/video_filter/sam3.cpp:674,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/video_filter/sam3.cpp:683,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/video_filter/sam3.cpp:684,1
    - Dst: cv::Mat::clone
      Src: /src/vlc/modules/video_filter/sam3.cpp:687,1
    - Dst: VLCVideo::resize
      Src: /src/vlc/modules/video_filter/sam3.cpp:688,1
    - Dst: auto*::map_objects::empty
      Src: /src/vlc/modules/video_filter/sam3.cpp:697,1
    - Dst: filter_NewPicture
      Src: /src/vlc/modules/video_filter/sam3.cpp:706,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/sam3.cpp:709,1
    - Dst: picture_CopyPixels
      Src: /src/vlc/modules/video_filter/sam3.cpp:712,1
    - Dst: picture_CopyProperties
      Src: /src/vlc/modules/video_filter/sam3.cpp:713,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/video_filter/sam3.cpp:717,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/video_filter/sam3.cpp:718,1
    - Dst: static_cast<double>
      Src: /src/vlc/modules/video_filter/sam3.cpp:727,1
    - Dst: static_cast<double>
      Src: /src/vlc/modules/video_filter/sam3.cpp:728,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/video_filter/sam3.cpp:729,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/video_filter/sam3.cpp:730,1
    - Dst: vec_scaled_contours::empty
      Src: /src/vlc/modules/video_filter/sam3.cpp:733,1
    - Dst: vec_scaled_contours::clear
      Src: /src/vlc/modules/video_filter/sam3.cpp:735,1
    - Dst: std::vector::emplace_back
      Src: /src/vlc/modules/video_filter/sam3.cpp:741,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/video_filter/sam3.cpp:742,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/video_filter/sam3.cpp:743,1
    - Dst: vec_scaled_contours::push_back
      Src: /src/vlc/modules/video_filter/sam3.cpp:746,1
    - Dst: cv::drawContours
      Src: /src/vlc/modules/video_filter/sam3.cpp:752,1
    - Dst: empty
      Src: /src/vlc/modules/video_filter/sam3.cpp:756,1
    - Dst: empty
      Src: /src/vlc/modules/video_filter/sam3.cpp:756,1
    - Dst: EPGItem::boundingRect
      Src: /src/vlc/modules/video_filter/sam3.cpp:758,1
    - Dst: cv::putText
      Src: /src/vlc/modules/video_filter/sam3.cpp:759,1
    - Dst: std::to_string
      Src: /src/vlc/modules/video_filter/sam3.cpp:759,1
    - Dst: FindMountPoint
      Src: /src/vlc/modules/video_filter/sam3.cpp:760,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/video_filter/sam3.cpp:768,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/video_filter/sam3.cpp:769,1
    - Dst: cv::circle
      Src: /src/vlc/modules/video_filter/sam3.cpp:770,1
    - Dst: cv::Scalar
      Src: /src/vlc/modules/video_filter/sam3.cpp:771,1
    - Dst: cv::circle
      Src: /src/vlc/modules/video_filter/sam3.cpp:772,1
    - Dst: cv::Scalar
      Src: /src/vlc/modules/video_filter/sam3.cpp:773,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/video_filter/sam3.cpp:779,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/video_filter/sam3.cpp:780,1
    - Dst: cv::circle
      Src: /src/vlc/modules/video_filter/sam3.cpp:781,1
    - Dst: cv::Scalar
      Src: /src/vlc/modules/video_filter/sam3.cpp:782,1
    - Dst: cv::circle
      Src: /src/vlc/modules/video_filter/sam3.cpp:783,1
    - Dst: cv::Scalar
      Src: /src/vlc/modules/video_filter/sam3.cpp:784,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/sam3.cpp:788,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 2
    argNames:
    - p_filter
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 649
    functionDepth: 2
    functionLinenumber: 649
    functionLinenumberEnd: 791
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/sam3.cpp
    functionUses: 30
    functionsReached:
    - static_cast<filter_sys_t*>
    - cv::Mat::clone
    - vec_scaled_contours::push_back
    - vec_scaled_contours::clear
    - std::to_string
    - picture_Release
    - picture_CopyPixels
    - vec_scaled_contours::empty
    - cv::drawContours
    - cv::putText
    - cv::Scalar
    - auto*::map_objects::clear
    - auto*::cv_work::notify_one
    - VLCVideo::resize
    - std::vector::emplace_back
    - auto*::mat_original_frame::release
    - filter_NewPicture
    - EPGItem::boundingRect
    - auto*::map_objects::empty
    - static_cast<int>
    - cv::circle
    - picture_CopyProperties
    - empty
    - FindMountPoint
    - static_cast<double>
    linkageType: ''
    returnType: picture_t
    signature: picture_t * Filter( filter_t* p_filter, picture_t* p_pic )
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<filter_sys_t*>
      Src: /src/vlc/modules/video_filter/sam3.cpp:798,1
    - Dst: vec_positive_clicks::begin
      Src: /src/vlc/modules/video_filter/sam3.cpp:823,1
    - Dst: vec_positive_clicks::end
      Src: /src/vlc/modules/video_filter/sam3.cpp:823,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/video_filter/sam3.cpp:825,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/video_filter/sam3.cpp:826,1
    - Dst: vec_positive_clicks::erase
      Src: /src/vlc/modules/video_filter/sam3.cpp:833,1
    - Dst: FindMountPoint
      Src: /src/vlc/modules/video_filter/sam3.cpp:836,1
    - Dst: vec_negative_clicks::begin
      Src: /src/vlc/modules/video_filter/sam3.cpp:847,1
    - Dst: vec_negative_clicks::end
      Src: /src/vlc/modules/video_filter/sam3.cpp:847,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/video_filter/sam3.cpp:849,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/video_filter/sam3.cpp:850,1
    - Dst: vec_negative_clicks::erase
      Src: /src/vlc/modules/video_filter/sam3.cpp:857,1
    - Dst: FindMountPoint
      Src: /src/vlc/modules/video_filter/sam3.cpp:860,1
    - Dst: auto*::cv_work::notify_one
      Src: /src/vlc/modules/video_filter/sam3.cpp:879,1
    - Dst: mat_mask::empty
      Src: /src/vlc/modules/video_filter/sam3.cpp:892,1
    - Dst: mat_mask::at
      Src: /src/vlc/modules/video_filter/sam3.cpp:895,1
    - Dst: vec_contours::empty
      Src: /src/vlc/modules/video_filter/sam3.cpp:907,1
    - Dst: cv::pointPolygonTest
      Src: /src/vlc/modules/video_filter/sam3.cpp:911,1
    - Dst: std::abs
      Src: /src/vlc/modules/video_filter/sam3.cpp:912,1
    - Dst: std::abs
      Src: /src/vlc/modules/video_filter/sam3.cpp:914,1
    - Dst: FindMountPoint
      Src: /src/vlc/modules/video_filter/sam3.cpp:924,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/video_filter/sam3.cpp:924,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/video_filter/sam3.cpp:925,1
    - Dst: auto*::cv_work::notify_one
      Src: /src/vlc/modules/video_filter/sam3.cpp:930,1
    - Dst: msg_Info
      Src: /src/vlc/modules/video_filter/sam3.cpp:940,1
    - Dst: mat_mask::empty
      Src: /src/vlc/modules/video_filter/sam3.cpp:958,1
    - Dst: mat_mask::at
      Src: /src/vlc/modules/video_filter/sam3.cpp:961,1
    - Dst: vec_contours::empty
      Src: /src/vlc/modules/video_filter/sam3.cpp:973,1
    - Dst: cv::pointPolygonTest
      Src: /src/vlc/modules/video_filter/sam3.cpp:977,1
    - Dst: std::abs
      Src: /src/vlc/modules/video_filter/sam3.cpp:978,1
    - Dst: std::abs
      Src: /src/vlc/modules/video_filter/sam3.cpp:980,1
    - Dst: msg_Info
      Src: /src/vlc/modules/video_filter/sam3.cpp:989,1
    - Dst: FindMountPoint
      Src: /src/vlc/modules/video_filter/sam3.cpp:995,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/video_filter/sam3.cpp:995,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/video_filter/sam3.cpp:996,1
    - Dst: auto*::cv_work::notify_one
      Src: /src/vlc/modules/video_filter/sam3.cpp:1001,1
    - Dst: auto*::map_objects::begin
      Src: /src/vlc/modules/video_filter/sam3.cpp:1021,1
    - Dst: auto*::map_objects::end
      Src: /src/vlc/modules/video_filter/sam3.cpp:1021,1
    - Dst: auto::second::mat_mask::empty
      Src: /src/vlc/modules/video_filter/sam3.cpp:1023,1
    - Dst: auto::second::mat_mask::at
      Src: /src/vlc/modules/video_filter/sam3.cpp:1026,1
    - Dst: auto*::map_objects::erase
      Src: /src/vlc/modules/video_filter/sam3.cpp:1029,1
    - Dst: msg_Info
      Src: /src/vlc/modules/video_filter/sam3.cpp:1035,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 138
    argCount: 3
    argNames:
    - p_filter
    - p_mouse
    - p_oldmouse
    argTypes:
    - filter_t*
    - vlc_mouse_t*
    - vlc_mouse_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 796
    functionDepth: 2
    functionLinenumber: 796
    functionLinenumberEnd: 1042
    functionName: Mouse
    functionSourceFile: /src/vlc/modules/video_filter/sam3.cpp
    functionUses: 3
    functionsReached:
    - mat_mask::at
    - static_cast<filter_sys_t*>
    - cv::pointPolygonTest
    - vec_negative_clicks::erase
    - vec_positive_clicks::end
    - auto::second::mat_mask::at
    - vec_negative_clicks::end
    - auto*::map_objects::end
    - auto*::map_objects::begin
    - vec_positive_clicks::begin
    - auto*::cv_work::notify_one
    - vec_negative_clicks::begin
    - mat_mask::empty
    - std::abs
    - vec_positive_clicks::erase
    - auto::second::mat_mask::empty
    - static_cast<int>
    - vec_contours::empty
    - msg_Info
    - FindMountPoint
    - auto*::map_objects::erase
    linkageType: ''
    returnType: int
    signature: int Mouse( filter_t* p_filter, vlc_mouse_t* p_mouse, const vlc_mouse_t*
      p_oldmouse )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_Info
      Src: /src/vlc/modules/video_filter/sam3.cpp:1050,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_filter/sam3.cpp:1059,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_filter/sam3.cpp:1060,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_filter/sam3.cpp:1061,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_filter/sam3.cpp:1062,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_filter/sam3.cpp:1063,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_filter/sam3.cpp:1067,1
    - Dst: std::replace
      Src: /src/vlc/modules/video_filter/sam3.cpp:1075,1
    - Dst: std::string::begin
      Src: /src/vlc/modules/video_filter/sam3.cpp:1075,1
    - Dst: std::string::end
      Src: /src/vlc/modules/video_filter/sam3.cpp:1075,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_filter/sam3.cpp:1078,1
    - Dst: std::clamp
      Src: /src/vlc/modules/video_filter/sam3.cpp:1085,1
    - Dst: std::clamp
      Src: /src/vlc/modules/video_filter/sam3.cpp:1086,1
    - Dst: std::clamp
      Src: /src/vlc/modules/video_filter/sam3.cpp:1087,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/sam3.cpp:1090,1
    - Dst: filter_sys_t::filter_sys_t
      Src: /src/vlc/modules/video_filter/sam3.cpp:1094,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_filter/sam3.cpp:1096,1
    - Dst: cv::Scalar
      Src: /src/vlc/modules/video_filter/sam3.cpp:1100,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/sam3.cpp:1115,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/sam3.cpp:1116,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/sam3.cpp:1117,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/sam3.cpp:1118,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/video_filter/sam3.cpp:1125,1
    - Dst: std::thread::hardware_concurrency
      Src: /src/vlc/modules/video_filter/sam3.cpp:1125,1
    - Dst: sam3_load_model
      Src: /src/vlc/modules/video_filter/sam3.cpp:1130,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/sam3.cpp:1133,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/sam3.cpp:1134,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/sam3.cpp:1135,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/sam3.cpp:1136,1
    - Dst: sam3_create_state
      Src: /src/vlc/modules/video_filter/sam3.cpp:1141,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/sam3.cpp:1144,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/sam3.cpp:1145,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/sam3.cpp:1146,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/sam3.cpp:1147,1
    - Dst: SetTextSize
      Src: /src/vlc/modules/video_filter/sam3.cpp:1151,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/sam3.cpp:1155,1
    - Dst: what
      Src: /src/vlc/modules/video_filter/sam3.cpp:1155,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/sam3.cpp:1156,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/sam3.cpp:1157,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/sam3.cpp:1158,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/sam3.cpp:1164,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/sam3.cpp:1165,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/sam3.cpp:1166,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/sam3.cpp:1167,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/sam3.cpp:1171,1
    - Dst: std::thread
      Src: /src/vlc/modules/video_filter/sam3.cpp:1175,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 89
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1047
    functionDepth: 4
    functionLinenumber: 1047
    functionLinenumberEnd: 1178
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_filter/sam3.cpp
    functionUses: 33
    functionsReached:
    - SetTextSize
    - std::string::begin
    - std::replace
    - std::clamp
    - std::string::end
    - sam3_create_state
    - std::thread
    - msg_Err
    - sam3_load_model
    - msg_Warn
    - cv::Scalar
    - std::thread::hardware_concurrency
    - var_InheritInteger
    - var_InheritBool
    - var_InheritString
    - static_cast<int>
    - what
    - free
    - msg_Info
    - filter_sys_t::filter_sys_t
    linkageType: ''
    returnType: int
    signature: int Open( filter_t* p_filter )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<filter_sys_t*>
      Src: /src/vlc/modules/video_filter/sam3.cpp:1185,1
    - Dst: auto*::cv_work::notify_all
      Src: /src/vlc/modules/video_filter/sam3.cpp:1195,1
    - Dst: auto*::thrd_processing::joinable
      Src: /src/vlc/modules/video_filter/sam3.cpp:1199,1
    - Dst: auto*::thrd_processing::join
      Src: /src/vlc/modules/video_filter/sam3.cpp:1201,1
    - Dst: auto*::mat_current_frame::release
      Src: /src/vlc/modules/video_filter/sam3.cpp:1206,1
    - Dst: auto*::mat_original_frame::release
      Src: /src/vlc/modules/video_filter/sam3.cpp:1207,1
    - Dst: auto*::map_objects::clear
      Src: /src/vlc/modules/video_filter/sam3.cpp:1212,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/sam3.cpp:1215,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/sam3.cpp:1216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1218
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_filter/sam3.cpp
    functionUses: 114
    functionsReached:
    - auto*::map_objects::clear
    - static_cast<filter_sys_t*>
    - auto*::thrd_processing::joinable
    - auto*::cv_work::notify_all
    - auto*::mat_original_frame::release
    - free
    - auto*::thrd_processing::join
    - auto*::mat_current_frame::release
    linkageType: ''
    returnType: void
    signature: void Close( filter_t* p_filter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: video_format_Init
      Src: /src/vlc/modules/video_filter/blendbench.c:125,1
    - Dst: image_HandlerCreate
      Src: /src/vlc/modules/video_filter/blendbench.c:127,1
    - Dst: image_ReadUrl
      Src: /src/vlc/modules/video_filter/blendbench.c:128,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/video_filter/blendbench.c:129,1
    - Dst: image_HandlerDelete
      Src: /src/vlc/modules/video_filter/blendbench.c:130,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/blendbench.c:134,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/blendbench.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - p_this
    - pp_pic
    - i_chroma
    - psz_file
    - psz_name
    argTypes:
    - vlc_object_t*
    - picture_t**
    - vlc_fourcc_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 143
    functionName: blendbench_LoadImage
    functionSourceFile: /src/vlc/modules/video_filter/blendbench.c
    functionUses: 0
    functionsReached:
    - video_format_Init
    - image_HandlerDelete
    - msg_Err
    - msg_Dbg
    - image_ReadUrl
    - video_format_Clean
    - image_HandlerCreate
    linkageType: ''
    returnType: int
    signature: "int blendbench_LoadImage( vlc_object_t *p_this, picture_t **pp_pic,\n
      \                                vlc_fourcc_t i_chroma, char *psz_file, const
      char *psz_name )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/blendbench.c:160,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_filter/blendbench.c:171,1
    - Dst: var_CreateGetIntegerCommand
      Src: /src/vlc/modules/video_filter/blendbench.c:174,1
    - Dst: var_CreateGetIntegerCommand
      Src: /src/vlc/modules/video_filter/blendbench.c:176,1
    - Dst: var_CreateGetStringCommand
      Src: /src/vlc/modules/video_filter/blendbench.c:179,1
    - Dst: strlen
      Src: /src/vlc/modules/video_filter/blendbench.c:180,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/video_filter/blendbench.c:181,1
    - Dst: var_CreateGetStringCommand
      Src: /src/vlc/modules/video_filter/blendbench.c:182,1
    - Dst: blendbench_LoadImage
      Src: /src/vlc/modules/video_filter/blendbench.c:183,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_filter/blendbench.c:183,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/blendbench.c:185,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/blendbench.c:186,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/blendbench.c:189,1
    - Dst: var_CreateGetStringCommand
      Src: /src/vlc/modules/video_filter/blendbench.c:193,1
    - Dst: strlen
      Src: /src/vlc/modules/video_filter/blendbench.c:195,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/video_filter/blendbench.c:196,1
    - Dst: var_CreateGetStringCommand
      Src: /src/vlc/modules/video_filter/blendbench.c:197,1
    - Dst: blendbench_LoadImage
      Src: /src/vlc/modules/video_filter/blendbench.c:198,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_filter/blendbench.c:198,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/blendbench.c:201,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/blendbench.c:202,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/blendbench.c:206,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/blendbench.c:207,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 213
    functionName: Create
    functionSourceFile: /src/vlc/modules/video_filter/blendbench.c
    functionUses: 134
    functionsReached:
    - var_CreateGetIntegerCommand
    - VLC_FOURCC
    - blendbench_LoadImage
    - strlen
    - var_CreateGetStringCommand
    - config_ChainParse
    - free
    - picture_Release
    - VLC_OBJECT
    - malloc
    linkageType: ''
    returnType: int
    signature: int Create( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/blendbench.c:222,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/blendbench.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 224
    functionName: Destroy
    functionSourceFile: /src/vlc/modules/video_filter/blendbench.c
    functionUses: 75
    functionsReached:
    - picture_Release
    linkageType: ''
    returnType: void
    signature: void Destroy( filter_t *p_filter )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_create
      Src: /src/vlc/modules/video_filter/blendbench.c:237,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/blendbench.c:240,1
    - Dst: vlc_filter_LoadModule
      Src: /src/vlc/modules/video_filter/blendbench.c:245,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/blendbench.c:248,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/video_filter/blendbench.c:249,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/blendbench.c:252,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/video_filter/blendbench.c:254,1
    - Dst: filter_Blend
      Src: /src/vlc/modules/video_filter/blendbench.c:257,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/video_filter/blendbench.c:260,1
    - Dst: msg_Info
      Src: /src/vlc/modules/video_filter/blendbench.c:262,1
    - Dst: secf_from_vlc_tick
      Src: /src/vlc/modules/video_filter/blendbench.c:263,1
    - Dst: msg_Info
      Src: /src/vlc/modules/video_filter/blendbench.c:264,1
    - Dst: vlc_filter_Delete
      Src: /src/vlc/modules/video_filter/blendbench.c:270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - p_filter
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts:
    - condition: ( p_blend->ops != NULL )
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/vlc/modules/video_filter/blendbench.c
    constantsTouched: []
    func_position:
      end: 274
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 274
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/blendbench.c
    functionUses: 30
    functionsReached:
    - vlc_tick_now
    - assert
    - filter_Blend
    - vlc_object_create
    - secf_from_vlc_tick
    - vlc_filter_Delete
    - picture_Release
    - msg_Info
    - vlc_object_delete
    - vlc_filter_LoadModule
    linkageType: ''
    returnType: picture_t
    signature: picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ssd
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/algo_x.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ssd( int a )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssd
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:62,1
    - Dst: ssd
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:63,1
    - Dst: ssd
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:64,1
    - Dst: ssd
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - src
    - i_src
    argTypes:
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 74
    functionName: XDeint8x8DetectC
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/algo_x.c
    functionUses: 0
    functionsReached:
    - ssd
    linkageType: ''
    returnType: int
    signature: int XDeint8x8DetectC( uint8_t *src, int i_src )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - dst
    - i_dst
    - src1
    - i_src1
    - src2
    - i_src2
    argTypes:
    - uint8_t*
    - int
    - uint8_t*
    - int
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 95
    functionName: XDeint8x8MergeC
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/algo_x.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void XDeint8x8MergeC( uint8_t *dst,  int i_dst,\n                                    uint8_t
      *src1, int i_src1,\n                                    uint8_t *src2, int i_src2
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - dst
    - i_dst
    - src
    - i_src
    argTypes:
    - uint8_t*
    - int
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 118
    functionName: XDeint8x8FieldEC
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/algo_x.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void XDeint8x8FieldEC( uint8_t *dst, int i_dst,\n                                     uint8_t
      *src, int i_src )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:131,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:139,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:139,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:140,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:140,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:141,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:141,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:142,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:142,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:144,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:144,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:145,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:145,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:146,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:146,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:147,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:147,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:149,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:149,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:150,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:150,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:151,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:151,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:152,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - dst
    - i_dst
    - src
    - i_src
    argTypes:
    - uint8_t*
    - int
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 165
    functionName: XDeint8x8FieldC
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/algo_x.c
    functionUses: 0
    functionsReached:
    - memcpy
    - abs
    linkageType: ''
    returnType: void
    signature: "void XDeint8x8FieldC( uint8_t *dst, int i_dst,\n                                    uint8_t
      *src, int i_src )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssd
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:186,1
    - Dst: ssd
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - src
    - i_src
    - i_height
    - i_width
    argTypes:
    - uint8_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 194
    functionName: XDeintNxNDetect
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/algo_x.c
    functionUses: 0
    functionsReached:
    - ssd
    linkageType: ''
    returnType: int
    signature: "int XDeintNxNDetect( uint8_t *src, int i_src,\n                                   int
      i_height, int i_width )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 6
    argNames:
    - dst
    - i_dst
    - src
    - i_src
    - i_width
    - i_height
    argTypes:
    - uint8_t*
    - int
    - uint8_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 222
    functionName: XDeintNxNFrame
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/algo_x.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void XDeintNxNFrame( uint8_t *dst, int i_dst,\n                                   uint8_t
      *src, int i_src,\n                                   int i_width, int i_height
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 6
    argNames:
    - dst
    - i_dst
    - src
    - i_src
    - i_width
    - i_height
    argTypes:
    - uint8_t*
    - int
    - uint8_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 250
    functionName: XDeintNxNField
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/algo_x.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void XDeintNxNField( uint8_t *dst, int i_dst,\n                                   uint8_t
      *src, int i_src,\n                                   int i_width, int i_height
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XDeintNxNDetect
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:255,1
    - Dst: XDeintNxNField
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:256,1
    - Dst: XDeintNxNFrame
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - dst
    - i_dst
    - src
    - i_src
    - i_width
    - i_height
    argTypes:
    - uint8_t*
    - int
    - uint8_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 259
    functionName: XDeintNxN
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/algo_x.c
    functionUses: 0
    functionsReached:
    - XDeintNxNDetect
    - XDeintNxNFrame
    - XDeintNxNField
    linkageType: ''
    returnType: void
    signature: "void XDeintNxN( uint8_t *dst, int i_dst, uint8_t *src, int i_src,\n
      \                             int i_width, int i_height )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XDeint8x8DetectC
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:272,1
    - Dst: XDeint8x8FieldEC
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:275,1
    - Dst: XDeint8x8FieldC
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:277,1
    - Dst: XDeint8x8MergeC
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:281,1
    - Dst: XDeintNxN
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 6
    argNames:
    - dst
    - i_dst
    - src
    - i_src
    - i_mbx
    - i_modx
    argTypes:
    - uint8_t*
    - int
    - uint8_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 292
    functionName: XDeintBand8x8C
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/algo_x.c
    functionUses: 0
    functionsReached:
    - XDeint8x8MergeC
    - XDeintNxN
    - XDeint8x8FieldC
    - XDeint8x8DetectC
    - XDeint8x8FieldEC
    linkageType: ''
    returnType: void
    signature: "void XDeintBand8x8C( uint8_t *dst, int i_dst,\n                                   uint8_t
      *src, int i_src,\n                                   const int i_mbx, int i_modx
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:300,1
    - Dst: XDeintBand8x8C
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:322,1
    - Dst: XDeintNxN
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:333,1
    - Dst: XDeintNxN
      Src: /src/vlc/modules/video_filter/deinterlace/algo_x.c:340,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - p_filter
    - p_outpic
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 298
    functionDepth: 4
    functionLinenumber: 298
    functionLinenumberEnd: 345
    functionName: RenderX
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/algo_x.c
    functionUses: 0
    functionsReached:
    - XDeintBand8x8C
    - XDeintNxN
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int RenderX( filter_t *p_filter, picture_t *p_outpic, picture_t *p_pic
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - _p_dest
    - _p_s1
    - _p_s2
    - i_bytes
    argTypes:
    - void*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: Merge8BitGeneric
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/merge.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Merge8BitGeneric( void *_p_dest, const void *_p_s1,\n                       const
      void *_p_s2, size_t i_bytes )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - _p_dest
    - _p_s1
    - _p_s2
    - i_bytes
    argTypes:
    - void*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: Merge16BitGeneric
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/merge.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Merge16BitGeneric( void *_p_dest, const void *_p_s1,\n                        const
      void *_p_s2, size_t i_bytes )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - p_context
    argTypes:
    - struct deinterlace_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 52
    functionName: InitDeinterlacingContext
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitDeinterlacingContext( struct deinterlace_ctx *p_context )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/deinterlace/common.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - p_context
    argTypes:
    - struct deinterlace_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 70
    functionName: FlushDeinterlacing
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/common.c
    functionUses: 0
    functionsReached:
    - picture_Release
    linkageType: ''
    returnType: void
    signature: void FlushDeinterlacing(struct deinterlace_ctx *p_context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/video_filter/deinterlace/common.c:96,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - p_context
    - fmt
    - p_pic
    argTypes:
    - struct deinterlace_ctx*
    - video_format_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 104
    functionName: GetFieldDuration
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/common.c
    functionUses: 0
    functionsReached:
    - vlc_tick_from_samples
    linkageType: ''
    returnType: vlc_tick_t
    signature: "vlc_tick_t GetFieldDuration(const struct deinterlace_ctx *p_context,\n
      \                        const video_format_t *fmt, const picture_t *p_pic )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - p_context
    - p_dst
    - p_src
    argTypes:
    - struct deinterlace_ctx*
    - video_format_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 123
    functionName: GetDeinterlacingOutput
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GetDeinterlacingOutput( const struct deinterlace_ctx *p_context,\n
      \                            video_format_t *p_dst, const video_format_t *p_src
      )"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: AllocPicture
      Src: /src/vlc/modules/video_filter/deinterlace/common.c:141,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/deinterlace/common.c:144,1
    - Dst: picture_CopyProperties
      Src: /src/vlc/modules/video_filter/deinterlace/common.c:147,1
    - Dst: picture_Hold
      Src: /src/vlc/modules/video_filter/deinterlace/common.c:159,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/deinterlace/common.c:163,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/common.c:197,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/deinterlace/common.c:226,1
    - Dst: AllocPicture
      Src: /src/vlc/modules/video_filter/deinterlace/common.c:236,1
    - Dst: vlc_picture_chain_AppendChain
      Src: /src/vlc/modules/video_filter/deinterlace/common.c:239,1
    - Dst: picture_CopyProperties
      Src: /src/vlc/modules/video_filter/deinterlace/common.c:240,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/deinterlace/common.c:244,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/common.c:261,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/common.c:262,1
    - Dst: struct deinterlace_ctx*::pf_render_single_pic
      Src: /src/vlc/modules/video_filter/deinterlace/common.c:267,1
    - Dst: struct deinterlace_ctx*::pf_render_ordered
      Src: /src/vlc/modules/video_filter/deinterlace/common.c:274,1
    - Dst: struct deinterlace_ctx*::pf_render_ordered
      Src: /src/vlc/modules/video_filter/deinterlace/common.c:278,1
    - Dst: struct deinterlace_ctx*::pf_render_ordered
      Src: /src/vlc/modules/video_filter/deinterlace/common.c:281,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/common.c:287,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/common.c:306,1
    - Dst: GetFieldDuration
      Src: /src/vlc/modules/video_filter/deinterlace/common.c:320,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/deinterlace/common.c:343,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/deinterlace/common.c:347,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/deinterlace/common.c:351,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/deinterlace/common.c:354,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 104
    argCount: 3
    argNames:
    - p_filter
    - p_context
    - p_pic
    argTypes:
    - filter_t*
    - struct deinterlace_ctx*
    - picture_t*
    assertStmts:
    - condition: ( !p_context->settings.b_double_rate )
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/vlc/modules/video_filter/deinterlace/common.c
    - condition: ( p_context->settings.b_double_rate  ||  p_dst[1] == NULL )
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/vlc/modules/video_filter/deinterlace/common.c
    - condition: "( i_frame_offset <= METADATA_SIZE ||\n            i_frame_offset
        == CUSTOM_PTS )"
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/vlc/modules/video_filter/deinterlace/common.c
    - condition: ( i_nb_fields > 2  ||  p_dst[2] == NULL )
      pos:
        line_end: 261
        line_start: 261
        source_file: /src/vlc/modules/video_filter/deinterlace/common.c
    - condition: (p_context->settings.b_use_frame_history)
      pos:
        line_end: 286
        line_start: 286
        source_file: /src/vlc/modules/video_filter/deinterlace/common.c
    constantsTouched: []
    func_position:
      end: 359
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 359
    functionName: DoDeinterlacing
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/common.c
    functionUses: 0
    functionsReached:
    - assert
    - picture_Hold
    - picture_CopyProperties
    - msg_Err
    - picture_Release
    - struct deinterlace_ctx*::pf_render_ordered
    - vlc_picture_chain_AppendChain
    - GetFieldDuration
    - AllocPicture
    - struct deinterlace_ctx*::pf_render_single_pic
    linkageType: ''
    returnType: picture_t
    signature: "picture_t *DoDeinterlacing( filter_t *p_filter,\n                            struct
      deinterlace_ctx *p_context, picture_t *p_pic )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RenderYadif
      Src: /src/vlc/modules/video_filter/deinterlace/algo_yadif.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_filter
    - p_dst
    - p_src
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: RenderYadifSingle
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/algo_yadif.c
    functionUses: 0
    functionsReached:
    - RenderYadif
    linkageType: ''
    returnType: int
    signature: int RenderYadifSingle( filter_t *p_filter, picture_t *p_dst, picture_t
      *p_src )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/deinterlace/algo_yadif.c:57,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_yadif.c:62,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_yadif.c:63,1
    - Dst: vlc_CPU_SSSE3
      Src: /src/vlc/modules/video_filter/deinterlace/algo_yadif.c:116,1
    - Dst: vlc_CPU_SSE2
      Src: /src/vlc/modules/video_filter/deinterlace/algo_yadif.c:119,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/deinterlace/algo_yadif.c:139,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_yadif.c:148,1
    - Dst: filter
      Src: /src/vlc/modules/video_filter/deinterlace/algo_yadif.c:149,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/deinterlace/algo_yadif.c:162,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/deinterlace/algo_yadif.c:166,1
    - Dst: RenderX
      Src: /src/vlc/modules/video_filter/deinterlace/algo_yadif.c:182,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 40
    argCount: 5
    argNames:
    - p_filter
    - p_dst
    - p_src
    - i_order
    - i_field
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    - int
    - int
    assertStmts:
    - condition: ( i_order >= 0 && i_order <= 2 )
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_yadif.c
    - condition: ( i_field == 0 || i_field == 1 )
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_yadif.c
    - condition: ( prevp->i_pitch == curp->i_pitch && curp->i_pitch == nextp->i_pitch
        )
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_yadif.c
    constantsTouched: []
    func_position:
      end: 191
      start: 54
    functionDepth: 5
    functionLinenumber: 54
    functionLinenumberEnd: 191
    functionName: RenderYadif
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/algo_yadif.c
    functionUses: 1
    functionsReached:
    - vlc_CPU_SSSE3
    - assert
    - RenderX
    - memcpy
    - vlc_CPU_SSE2
    - filter
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int RenderYadif( filter_t *p_filter, picture_t *p_dst, picture_t *p_src,\n
      \                int i_order, int i_field )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - j
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: CHECK
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/yadif.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(j)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - dst
    - prev
    - cur
    - next
    - w
    - prefs
    - mrefs
    - parity
    - mode
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: yadif_filter_line_c
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/yadif.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void yadif_filter_line_c(uint8_t *dst, uint8_t *prev, uint8_t *cur,
      uint8_t *next, int w, int prefs, int mrefs, int parity, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - dst8
    - prev8
    - cur8
    - next8
    - w
    - prefs
    - mrefs
    - parity
    - mode
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 94
    functionName: yadif_filter_line_c_16bit
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/yadif.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void yadif_filter_line_c_16bit(uint8_t *dst8, uint8_t *prev8, uint8_t
      *cur8, uint8_t *next8, int w, int prefs, int mrefs, int parity, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: opengl_vtable_t*::UseProgram
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:63,1
    - Dst: vlc_gl_sampler_SelectPlane
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:66,1
    - Dst: vlc_gl_sampler_Update
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:67,1
    - Dst: vlc_gl_sampler_Load
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:68,1
    - Dst: opengl_vtable_t*::BindBuffer
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:70,1
    - Dst: vlc_gl_picture_ToTexCoords
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:82,1
    - Dst: opengl_vtable_t*::BufferData
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:90,1
    - Dst: vlc_gl_picture_ComputeDirectionMatrix
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:95,1
    - Dst: opengl_vtable_t*::EnableVertexAttribArray
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:102,1
    - Dst: opengl_vtable_t*::VertexAttribPointer
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:103,1
    - Dst: opengl_vtable_t*::EnableVertexAttribArray
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:107,1
    - Dst: opengl_vtable_t*::VertexAttribPointer
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:108,1
    - Dst: opengl_vtable_t*::Uniform2f
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:118,1
    - Dst: opengl_vtable_t*::Clear
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:121,1
    - Dst: opengl_vtable_t*::DrawArrays
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - filter
    - pic
    - meta
    argTypes:
    - struct vlc_gl_filter*
    - struct vlc_gl_picture*
    - struct vlc_gl_input_meta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 125
    functionName: Draw
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/glblend.c
    functionUses: 4
    functionsReached:
    - opengl_vtable_t*::BindBuffer
    - opengl_vtable_t*::EnableVertexAttribArray
    - vlc_gl_sampler_Load
    - opengl_vtable_t*::UseProgram
    - opengl_vtable_t*::VertexAttribPointer
    - vlc_gl_picture_ToTexCoords
    - opengl_vtable_t*::BufferData
    - opengl_vtable_t*::Clear
    - opengl_vtable_t*::Uniform2f
    - opengl_vtable_t*::DrawArrays
    - vlc_gl_sampler_SelectPlane
    - vlc_gl_picture_ComputeDirectionMatrix
    - vlc_gl_sampler_Update
    linkageType: ''
    returnType: int
    signature: "int Draw(struct vlc_gl_filter *filter, const struct vlc_gl_picture
      *pic,\n     const struct vlc_gl_input_meta *meta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: opengl_vtable_t*::DeleteProgram
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:133,1
    - Dst: opengl_vtable_t*::DeleteBuffers
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:134,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - struct vlc_gl_filter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/glblend.c
    functionUses: 114
    functionsReached:
    - free
    - opengl_vtable_t*::DeleteBuffers
    - opengl_vtable_t*::DeleteProgram
    linkageType: ''
    returnType: void
    signature: void Close(struct vlc_gl_filter *filter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:153,1
    - Dst: vlc_gl_api_Init
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:159,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:162,1
    - Dst: vlc_gl_BuildProgram
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:202,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:202,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:203,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:204,1
    - Dst: vlc_gl_sampler_FetchLocations
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:209,1
    - Dst: opengl_vtable_t*::GetAttribLocation
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:213,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:214,1
    - Dst: opengl_vtable_t*::GetAttribLocation
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:216,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:217,1
    - Dst: opengl_vtable_t*::GetUniformLocation
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:219,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:221,1
    - Dst: opengl_vtable_t*::GenBuffers
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:223,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 4
    argNames:
    - filter
    - config
    - sampler
    - size_out
    argTypes:
    - struct vlc_gl_filter*
    - config_chain_t*
    - struct vlc_gl_sampler*
    - struct vlc_gl_tex_size*
    assertStmts:
    - condition: (sys->loc.vertex_pos != -1)
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/vlc/modules/video_filter/deinterlace/glblend.c
    - condition: (sys->loc.tex_coords_in != -1)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/vlc/modules/video_filter/deinterlace/glblend.c
    - condition: (sys->loc.one_pixel_up != -1)
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/vlc/modules/video_filter/deinterlace/glblend.c
    constantsTouched: []
    func_position:
      end: 230
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 230
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/glblend.c
    functionUses: 33
    functionsReached:
    - assert
    - ARRAY_SIZE
    - opengl_vtable_t*::GetUniformLocation
    - opengl_vtable_t*::GetAttribLocation
    - opengl_vtable_t*::GenBuffers
    - vlc_gl_api_Init
    - free
    - VLC_OBJECT
    - vlc_gl_sampler_FetchLocations
    - vlc_gl_BuildProgram
    - malloc
    linkageType: ''
    returnType: int
    signature: "int Open(struct vlc_gl_filter *filter, const config_chain_t *config,\n
      \    struct vlc_gl_sampler *sampler, struct vlc_gl_tex_size *size_out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:234,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:236,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:237,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:238,1
    - Dst: vlc_gl_WrapOpenGLFilter
      Src: /src/vlc/modules/video_filter/deinterlace/glblend.c:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 248
    functionName: OpenVideoFilter
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/glblend.c
    functionUses: 0
    functionsReached:
    - free
    - strcmp
    - var_InheritString
    - vlc_gl_WrapOpenGLFilter
    linkageType: ''
    returnType: int
    signature: int OpenVideoFilter(filter_t *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: ( p_filter != NULL )
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    constantsTouched: []
    func_position:
      end: 383
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 383
    functionName: IVTCFrameInit
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void IVTCFrameInit( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:402,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:409,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:410,1
    - Dst: CalculateInterlaceScore
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:414,1
    - Dst: CalculateInterlaceScore
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:416,1
    - Dst: CalculateInterlaceScore
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:418,1
    - Dst: EstimateNumBlocksWithMotion
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: ( p_filter != NULL )
      pos:
        line_end: 401
        line_start: 401
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    - condition: ( p_curr != NULL )
      pos:
        line_end: 409
        line_start: 409
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    - condition: ( p_next != NULL )
      pos:
        line_end: 408
        line_start: 408
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    constantsTouched: []
    func_position:
      end: 434
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 434
    functionName: IVTCLowLevelDetect
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    functionUses: 0
    functionsReached:
    - EstimateNumBlocksWithMotion
    - CalculateInterlaceScore
    - assert
    linkageType: ''
    returnType: void
    signature: void IVTCLowLevelDetect( filter_t *p_filter )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:454,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:460,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: ( p_filter != NULL )
      pos:
        line_end: 453
        line_start: 453
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    - condition: ( p_next != NULL )
      pos:
        line_end: 459
        line_start: 459
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    constantsTouched: []
    func_position:
      end: 603
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 603
    functionName: IVTCCadenceDetectAlgoScores
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void IVTCCadenceDetectAlgoScores( filter_t *p_filter )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:627,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:634,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: ( p_filter != NULL )
      pos:
        line_end: 626
        line_start: 626
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    - condition: ( p_next != NULL )
      pos:
        line_end: 633
        line_start: 633
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    constantsTouched: []
    func_position:
      end: 793
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 793
    functionName: IVTCCadenceDetectAlgoVektor
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void IVTCCadenceDetectAlgoVektor( filter_t *p_filter )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:812,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: ( p_filter != NULL )
      pos:
        line_end: 811
        line_start: 811
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    constantsTouched: []
    func_position:
      end: 833
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 833
    functionName: IVTCCadenceDetectFinalize
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void IVTCCadenceDetectFinalize( filter_t *p_filter )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:856,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:864,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:865,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:866,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:922,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:937,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: ( p_filter != NULL )
      pos:
        line_end: 855
        line_start: 855
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    - condition: ( p_next != NULL )
      pos:
        line_end: 863
        line_start: 863
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    - condition: ( p_curr != NULL )
      pos:
        line_end: 864
        line_start: 864
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    - condition: ( p_prev != NULL )
      pos:
        line_end: 865
        line_start: 865
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    constantsTouched: []
    func_position:
      end: 954
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 954
    functionName: IVTCSoftTelecineDetect
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    functionUses: 0
    functionsReached:
    - assert
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void IVTCSoftTelecineDetect( filter_t *p_filter )
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:973,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:981,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:982,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:983,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:1127,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:1136,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:1169,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 77
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: ( p_filter != NULL )
      pos:
        line_end: 972
        line_start: 972
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    - condition: ( p_prev != NULL )
      pos:
        line_end: 982
        line_start: 982
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    - condition: ( p_next != NULL )
      pos:
        line_end: 980
        line_start: 980
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    - condition: ( p_curr != NULL )
      pos:
        line_end: 981
        line_start: 981
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    constantsTouched: []
    func_position:
      end: 1188
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 1188
    functionName: IVTCCadenceAnalyze
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    functionUses: 0
    functionsReached:
    - assert
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void IVTCCadenceAnalyze( filter_t *p_filter )
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:1208,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:1209,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:1218,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:1219,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:1241,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:1242,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:1282,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:1365,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:1429,1
    - Dst: picture_Copy
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:1433,1
    - Dst: picture_Copy
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:1435,1
    - Dst: ComposeFrame
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:1437,1
    - Dst: ComposeFrame
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:1439,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 87
    argCount: 2
    argNames:
    - p_filter
    - p_dst
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts:
    - condition: ( p_filter != NULL )
      pos:
        line_end: 1207
        line_start: 1207
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    - condition: ( p_dst != NULL )
      pos:
        line_end: 1208
        line_start: 1208
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    - condition: ( p_ivtc->i_cadence_pos != CADENCE_POS_INVALID )
      pos:
        line_end: 1240
        line_start: 1240
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    - condition: ( p_curr != NULL )
      pos:
        line_end: 1218
        line_start: 1218
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    - condition: ( p_next != NULL )
      pos:
        line_end: 1217
        line_start: 1217
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    - condition: ( p_ivtc->i_tfd != TFD_INVALID )
      pos:
        line_end: 1241
        line_start: 1241
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    - condition: ( i_timestamp_delta >= 0 )
      pos:
        line_end: 1364
        line_start: 1364
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    - condition: ( op != IVTC_OP_DROP_FRAME )
      pos:
        line_end: 1428
        line_start: 1428
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    constantsTouched: []
    func_position:
      end: 1459
      start: 1206
    functionDepth: 1
    functionLinenumber: 1206
    functionLinenumberEnd: 1459
    functionName: IVTCOutputOrDropFrame
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    functionUses: 0
    functionsReached:
    - ComposeFrame
    - assert
    - msg_Dbg
    - picture_Copy
    linkageType: ''
    returnType: bool
    signature: bool IVTCOutputOrDropFrame( filter_t *p_filter, picture_t *p_dst )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:1468,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:1469,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:1470,1
    - Dst: IVTCFrameInit
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:1484,1
    - Dst: IVTCLowLevelDetect
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:1491,1
    - Dst: IVTCSoftTelecineDetect
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:1497,1
    - Dst: IVTCCadenceDetectAlgoScores
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:1510,1
    - Dst: IVTCCadenceDetectAlgoVektor
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:1511,1
    - Dst: IVTCCadenceDetectFinalize
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:1512,1
    - Dst: IVTCCadenceAnalyze
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:1513,1
    - Dst: IVTCOutputOrDropFrame
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:1516,1
    - Dst: CalculateInterlaceScore
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:1531,1
    - Dst: picture_Copy
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:1535,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:1542,1
    - Dst: IVTCLowLevelDetect
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:1556,1
    - Dst: picture_Copy
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:1563,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - p_filter
    - p_dst
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts:
    - condition: ( p_filter != NULL )
      pos:
        line_end: 1468
        line_start: 1468
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    - condition: ( p_dst != NULL )
      pos:
        line_end: 1469
        line_start: 1469
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    - condition: ( p_curr && !p_prev )
      pos:
        line_end: 1541
        line_start: 1541
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    constantsTouched: []
    func_position:
      end: 1566
      start: 1466
    functionDepth: 2
    functionLinenumber: 1466
    functionLinenumberEnd: 1566
    functionName: RenderIVTC
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    functionUses: 0
    functionsReached:
    - IVTCFrameInit
    - assert
    - picture_Copy
    - CalculateInterlaceScore
    - IVTCCadenceDetectAlgoScores
    - IVTCCadenceAnalyze
    - IVTCSoftTelecineDetect
    - IVTCOutputOrDropFrame
    - IVTCCadenceDetectAlgoVektor
    - IVTCLowLevelDetect
    - IVTCCadenceDetectFinalize
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int RenderIVTC( filter_t *p_filter, picture_t *p_dst, picture_t *p_pic
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c:1571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: ( p_filter != NULL )
      pos:
        line_end: 1570
        line_start: 1570
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    constantsTouched: []
    func_position:
      end: 1602
      start: 1569
    functionDepth: 1
    functionLinenumber: 1569
    functionLinenumberEnd: 1602
    functionName: IVTCClearState
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/algo_ivtc.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void IVTCClearState( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: FFMAX
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FFMAX(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: FFMAX3
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FFMAX3(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: FFMIN
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FFMIN(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: FFMIN3
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FFMIN3(a,b,c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/helpers.c:70,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/helpers.c:71,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/helpers.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - p_dst
    - p_src
    - i_field
    argTypes:
    - plane_t*
    - plane_t*
    - int
    assertStmts:
    - condition: ( p_dst != NULL )
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/vlc/modules/video_filter/deinterlace/helpers.c
    - condition: ( i_field == 0  ||  i_field == 1 )
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/vlc/modules/video_filter/deinterlace/helpers.c
    - condition: ( p_src != NULL )
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/vlc/modules/video_filter/deinterlace/helpers.c
    constantsTouched: []
    func_position:
      end: 90
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 90
    functionName: FieldFromPlane
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/helpers.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void FieldFromPlane( plane_t *p_dst, const plane_t *p_src, int i_field
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/vlc/modules/video_filter/deinterlace/helpers.c:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 6
    argNames:
    - p_pix_p
    - p_pix_c
    - i_pitch_prev
    - i_pitch_curr
    - pi_top
    - pi_bot
    argTypes:
    - uint8_t*
    - uint8_t*
    - int
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 166
    functionName: TestForMotionInBlock
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/helpers.c
    functionUses: 0
    functionsReached:
    - abs
    linkageType: ''
    returnType: int
    signature: "int TestForMotionInBlock( uint8_t *p_pix_p, uint8_t *p_pix_c,\n                                 int
      i_pitch_prev, int i_pitch_curr,\n                                 int* pi_top,
      int* pi_bot )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/helpers.c:179,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/helpers.c:180,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/helpers.c:181,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/helpers.c:184,1
    - Dst: FieldFromPlane
      Src: /src/vlc/modules/video_filter/deinterlace/helpers.c:225,1
    - Dst: FieldFromPlane
      Src: /src/vlc/modules/video_filter/deinterlace/helpers.c:226,1
    - Dst: FieldFromPlane
      Src: /src/vlc/modules/video_filter/deinterlace/helpers.c:227,1
    - Dst: FieldFromPlane
      Src: /src/vlc/modules/video_filter/deinterlace/helpers.c:228,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/video_filter/deinterlace/helpers.c:231,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/video_filter/deinterlace/helpers.c:232,1
    - Dst: FieldFromPlane
      Src: /src/vlc/modules/video_filter/deinterlace/helpers.c:251,1
    - Dst: FieldFromPlane
      Src: /src/vlc/modules/video_filter/deinterlace/helpers.c:252,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/video_filter/deinterlace/helpers.c:255,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/video_filter/deinterlace/helpers.c:256,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/video_filter/deinterlace/helpers.c:263,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/video_filter/deinterlace/helpers.c:271,1
    - Dst: FFMIN3
      Src: /src/vlc/modules/video_filter/deinterlace/helpers.c:285,1
    - Dst: Merge
      Src: /src/vlc/modules/video_filter/deinterlace/helpers.c:291,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 6
    argNames:
    - p_filter
    - p_outpic
    - p_inpic_top
    - p_inpic_bottom
    - i_output_chroma
    - swapped_uv_conversion
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    - picture_t*
    - compose_chroma_t
    - bool
    assertStmts:
    - condition: ( p_outpic != NULL )
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/vlc/modules/video_filter/deinterlace/helpers.c
    - condition: ( p_inpic_bottom != NULL )
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/vlc/modules/video_filter/deinterlace/helpers.c
    - condition: "( i_output_chroma == CC_ALTLINE       ||\n            i_output_chroma
        == CC_UPCONVERT     ||\n            i_output_chroma == CC_SOURCE_TOP    ||\n
        \           i_output_chroma == CC_SOURCE_BOTTOM ||\n            i_output_chroma
        == CC_MERGE )"
      pos:
        line_end: 187
        line_start: 183
        source_file: /src/vlc/modules/video_filter/deinterlace/helpers.c
    - condition: ( p_inpic_top != NULL )
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/vlc/modules/video_filter/deinterlace/helpers.c
    constantsTouched: []
    func_position:
      end: 299
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 299
    functionName: ComposeFrame
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/helpers.c
    functionUses: 1
    functionsReached:
    - assert
    - FFMIN3
    - FieldFromPlane
    - plane_CopyPixels
    - Merge
    linkageType: ''
    returnType: void
    signature: "void ComposeFrame( filter_t *p_filter,\n                   picture_t
      *p_outpic,\n                   picture_t *p_inpic_top, picture_t *p_inpic_bottom,\n
      \                  compose_chroma_t i_output_chroma, bool swapped_uv_conversion
      )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/helpers.c:306,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/helpers.c:307,1
    - Dst: FFMIN
      Src: /src/vlc/modules/video_filter/deinterlace/helpers.c:332,1
    - Dst: motion_in_block
      Src: /src/vlc/modules/video_filter/deinterlace/helpers.c:344,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - p_prev
    - p_curr
    - pi_top
    - pi_bot
    argTypes:
    - picture_t*
    - picture_t*
    - int*
    - int*
    assertStmts:
    - condition: ( p_prev != NULL )
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/vlc/modules/video_filter/deinterlace/helpers.c
    - condition: ( p_curr != NULL )
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/vlc/modules/video_filter/deinterlace/helpers.c
    constantsTouched: []
    func_position:
      end: 362
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 362
    functionName: EstimateNumBlocksWithMotion
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/helpers.c
    functionUses: 1
    functionsReached:
    - motion_in_block
    - assert
    - FFMIN
    linkageType: ''
    returnType: int
    signature: "int EstimateNumBlocksWithMotion( const picture_t* p_prev,\n                                 const
      picture_t* p_curr,\n                                 int *pi_top, int *pi_bot)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/helpers.c:381,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/helpers.c:382,1
    - Dst: FFMIN
      Src: /src/vlc/modules/video_filter/deinterlace/helpers.c:397,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - p_pic_top
    - p_pic_bot
    argTypes:
    - picture_t*
    - picture_t*
    assertStmts:
    - condition: ( p_pic_top != NULL )
      pos:
        line_end: 380
        line_start: 380
        source_file: /src/vlc/modules/video_filter/deinterlace/helpers.c
    - condition: ( p_pic_bot != NULL )
      pos:
        line_end: 381
        line_start: 381
        source_file: /src/vlc/modules/video_filter/deinterlace/helpers.c
    constantsTouched: []
    func_position:
      end: 452
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 452
    functionName: CalculateInterlaceScore
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/helpers.c
    functionUses: 2
    functionsReached:
    - assert
    - FFMIN
    linkageType: ''
    returnType: int
    signature: "int CalculateInterlaceScore( const picture_t* p_pic_top,\n                             const
      picture_t* p_pic_bot )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_phosphor.c:70,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_phosphor.c:71,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_phosphor.c:72,1
    - Dst: INT64_C
      Src: /src/vlc/modules/video_filter/deinterlace/algo_phosphor.c:78,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 4
    argNames:
    - p_dst
    - i_field
    - i_strength
    - process_chroma
    argTypes:
    - picture_t*
    - int
    - int
    - bool
    assertStmts:
    - condition: ( p_dst != NULL )
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_phosphor.c
    - condition: ( i_field == 0 || i_field == 1 )
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_phosphor.c
    - condition: ( i_strength >= 1 && i_strength <= 3 )
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_phosphor.c
    constantsTouched: []
    func_position:
      end: 144
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 144
    functionName: DarkenField
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/algo_phosphor.c
    functionUses: 0
    functionsReached:
    - assert
    - INT64_C
    linkageType: ''
    returnType: void
    signature: "void DarkenField( picture_t *p_dst,\n                         const
      int i_field, const int i_strength,\n                         bool process_chroma
      )"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/deinterlace/algo_phosphor.c:155,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_phosphor.c:156,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_phosphor.c:157,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_phosphor.c:158,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_phosphor.c:159,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_phosphor.c:175,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/algo_phosphor.c:176,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_filter/deinterlace/algo_phosphor.c:215,1
    - Dst: ComposeFrame
      Src: /src/vlc/modules/video_filter/deinterlace/algo_phosphor.c:219,1
    - Dst: DarkenField
      Src: /src/vlc/modules/video_filter/deinterlace/algo_phosphor.c:232,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 5
    argNames:
    - p_filter
    - p_dst
    - p_pic
    - i_order
    - i_field
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    - int
    - int
    assertStmts:
    - condition: ( i_field == 0 || i_field == 1 )
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_phosphor.c
    - condition: ( p_filter != NULL )
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_phosphor.c
    - condition: ( i_order >= 0 && i_order <= 2 )
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_phosphor.c
    - condition: ( p_dst != NULL )
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_phosphor.c
    - condition: ( p_old != NULL )
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_phosphor.c
    - condition: ( p_in != NULL )
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/vlc/modules/video_filter/deinterlace/algo_phosphor.c
    constantsTouched: []
    func_position:
      end: 237
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 237
    functionName: RenderPhosphor
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/algo_phosphor.c
    functionUses: 0
    functionsReached:
    - ComposeFrame
    - assert
    - vlc_assert_unreachable
    - DarkenField
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int RenderPhosphor( filter_t *p_filter,\n                    picture_t
      *p_dst, picture_t *p_pic,\n                    int i_order, int i_field )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 297
    functionName: Probe
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/deinterlace.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Probe(void *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:390,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:393,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:395,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:399,1
    - Dst: SetFilterMethod
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:401,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:405,1
    - Dst: SetFilterMethod
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:407,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:410,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - p_filter
    - mode
    - pack
    argTypes:
    - filter_t*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 418
    functionName: SetFilterMethod
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/deinterlace.c
    functionUses: 1
    functionsReached:
    - SetFilterMethod
    - ARRAY_SIZE
    - msg_Err
    - strcmp
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int SetFilterMethod( filter_t *p_filter, const char *mode, bool pack
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDeinterlacingOutput
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_filter
    - p_dst
    - p_src
    argTypes:
    - filter_t*
    - video_format_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 437
    functionName: GetOutputFormat
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/deinterlace.c
    functionUses: 0
    functionsReached:
    - GetDeinterlacingOutput
    linkageType: ''
    returnType: void
    signature: "void GetOutputFormat( filter_t *p_filter,\n                      video_format_t
      *p_dst, const video_format_t *p_src )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_NewPicture
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 446
    functionName: AllocPicture
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/deinterlace.c
    functionUses: 2
    functionsReached:
    - filter_NewPicture
    linkageType: ''
    returnType: picture_t
    signature: picture_t *AllocPicture( filter_t *filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DoDeinterlacing
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_filter
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 449
    functionDepth: 3
    functionLinenumber: 449
    functionLinenumberEnd: 453
    functionName: Deinterlace
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/deinterlace.c
    functionUses: 0
    functionsReached:
    - DoDeinterlacing
    linkageType: ''
    returnType: picture_t
    signature: picture_t *Deinterlace( filter_t *p_filter, picture_t *p_pic )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FlushDeinterlacing
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:462,1
    - Dst: IVTCClearState
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 465
    functionName: Flush
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/deinterlace.c
    functionUses: 55
    functionsReached:
    - IVTCClearState
    - FlushDeinterlacing
    linkageType: ''
    returnType: void
    signature: void Flush( filter_t *p_filter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - p_filter
    - p_mouse
    - p_old
    argTypes:
    - filter_t*
    - vlc_mouse_t*
    - vlc_mouse_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 480
    functionName: Mouse
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/deinterlace.c
    functionUses: 3
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int Mouse( filter_t *p_filter,\n           vlc_mouse_t *p_mouse,\n
      \          const vlc_mouse_t *p_old )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:491,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 493
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/deinterlace.c
    functionUses: 114
    functionsReached:
    - free
    - Flush
    linkageType: ''
    returnType: void
    signature: void Close( filter_t *p_filter )
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:513,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:517,1
    - Dst: assert
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:540,1
    - Dst: vlc_fourcc_IsYUV
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:540,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:543,1
    - Dst: InitDeinterlacingContext
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:549,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:551,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:553,1
    - Dst: SetFilterMethod
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:554,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:557,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:558,1
    - Dst: IVTCClearState
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:562,1
    - Dst: vlc_CPU_functions_init_once
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:565,1
    - Dst: stdc_trailing_zeros
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:566,1
    - Dst: GetOutputFormat
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:571,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:574,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:576,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:581,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:586,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:591,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:595,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:600,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:611,1
    - Dst: video_format_IsSameChroma
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:614,1
    - Dst: Close
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:617,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_filter/deinterlace/deinterlace.c:624,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 67
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: ( vlc_fourcc_IsYUV( fourcc ) )
      pos:
        line_end: 539
        line_start: 539
        source_file: /src/vlc/modules/video_filter/deinterlace/deinterlace.c
    constantsTouched: []
    func_position:
      end: 627
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 627
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/deinterlace.c
    functionUses: 33
    functionsReached:
    - stdc_trailing_zeros
    - video_format_IsSameChroma
    - assert
    - var_InheritString
    - SetFilterMethod
    - Close
    - vlc_CPU_functions_init_once
    - config_ChainParse
    - free
    - GetOutputFormat
    - strcmp
    - vlc_fourcc_IsYUV
    - msg_Dbg
    - vlc_fourcc_GetChromaDescription
    - var_GetInteger
    - IVTCClearState
    - malloc
    - InitDeinterlacingContext
    linkageType: ''
    returnType: int
    signature: int Open( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/deinterlace/algo_basic.c:47,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/deinterlace/algo_basic.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - p_filter
    - p_outpic
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 70
    functionName: RenderDiscard
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/algo_basic.c
    functionUses: 0
    functionsReached:
    - memcpy
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int RenderDiscard( filter_t *p_filter, picture_t *p_outpic, picture_t
      *p_pic )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/deinterlace/algo_basic.c:79,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/deinterlace/algo_basic.c:80,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/deinterlace/algo_basic.c:96,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/deinterlace/algo_basic.c:105,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/deinterlace/algo_basic.c:109,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/deinterlace/algo_basic.c:115,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/deinterlace/algo_basic.c:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 5
    argNames:
    - p_filter
    - p_outpic
    - p_pic
    - order
    - i_field
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 126
    functionName: RenderBob
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/algo_basic.c
    functionUses: 0
    functionsReached:
    - memcpy
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int RenderBob( filter_t *p_filter, picture_t *p_outpic, picture_t
      *p_pic,\n               int order, int i_field )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/deinterlace/algo_basic.c:135,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/deinterlace/algo_basic.c:153,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/deinterlace/algo_basic.c:162,1
    - Dst: Merge
      Src: /src/vlc/modules/video_filter/deinterlace/algo_basic.c:166,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/deinterlace/algo_basic.c:173,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/deinterlace/algo_basic.c:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 5
    argNames:
    - p_filter
    - p_outpic
    - p_pic
    - order
    - i_field
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 184
    functionName: RenderLinear
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/algo_basic.c
    functionUses: 0
    functionsReached:
    - memcpy
    - Merge
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int RenderLinear( filter_t *p_filter,\n                  picture_t
      *p_outpic, picture_t *p_pic, int order, int i_field )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Merge
      Src: /src/vlc/modules/video_filter/deinterlace/algo_basic.c:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - p_filter
    - p_outpic
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 218
    functionName: RenderMean
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/algo_basic.c
    functionUses: 0
    functionsReached:
    - Merge
    linkageType: ''
    returnType: int
    signature: int RenderMean( filter_t *p_filter, picture_t *p_outpic, picture_t
      *p_pic )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/deinterlace/algo_basic.c:242,1
    - Dst: Merge
      Src: /src/vlc/modules/video_filter/deinterlace/algo_basic.c:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - p_filter
    - p_outpic
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 256
    functionName: RenderBlend
    functionSourceFile: /src/vlc/modules/video_filter/deinterlace/algo_basic.c
    functionUses: 0
    functionsReached:
    - memcpy
    - Merge
    linkageType: ''
    returnType: int
    signature: int RenderBlend( filter_t *p_filter, picture_t *p_outpic, picture_t
      *p_pic )
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: puzzle_free_ps_pieces_shapes
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:71,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:72,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:77,1
    - Dst: puzzle_generate_sect_border
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:90,1
    - Dst: puzzle_generate_sect_border
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:92,1
    - Dst: puzzle_generate_sect_border
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:94,1
    - Dst: puzzle_generate_sect_border
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:96,1
    - Dst: puzzle_generate_sect_border
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:98,1
    - Dst: puzzle_generate_sect_border
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:100,1
    - Dst: puzzle_generate_sect_border
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:102,1
    - Dst: puzzle_generate_sect_border
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:104,1
    - Dst: puzzle_scale_curve_H
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:115,1
    - Dst: puzzle_H_2_scale_curve_V
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:116,1
    - Dst: puzzle_curve_H_2_negative
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:117,1
    - Dst: puzzle_curve_V_2_negative
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:118,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:121,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:122,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:123,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:124,1
    - Dst: puzzle_generate_sect_bezier
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:130,1
    - Dst: puzzle_generate_sect_bezier
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:132,1
    - Dst: puzzle_generate_sect_bezier
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:134,1
    - Dst: puzzle_generate_sect_bezier
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:136,1
    - Dst: puzzle_generate_sectTop2Btm
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:139,1
    - Dst: puzzle_generate_sectTop2Btm
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:141,1
    - Dst: puzzle_generate_sectLeft2Right
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:143,1
    - Dst: puzzle_generate_sectLeft2Right
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:145,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:149,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:150,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:151,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:152,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 85
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 162
    functionName: puzzle_bake_pieces_shapes
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c
    functionUses: 0
    functionsReached:
    - puzzle_curve_V_2_negative
    - puzzle_H_2_scale_curve_V
    - puzzle_curve_H_2_negative
    - free
    - puzzle_generate_sectLeft2Right
    - puzzle_scale_curve_H
    - puzzle_generate_sect_bezier
    - puzzle_generate_sect_border
    - puzzle_generate_sectTop2Btm
    - puzzle_free_ps_pieces_shapes
    - malloc
    linkageType: ''
    returnType: int
    signature: int puzzle_bake_pieces_shapes( filter_t *p_filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:175,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:176,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:178,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 182
    functionName: puzzle_free_ps_pieces_shapes
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void puzzle_free_ps_pieces_shapes( filter_t *p_filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - p_filter
    - i_x
    - i_y
    - i_except
    argTypes:
    - filter_t*
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 203
    functionName: puzzle_find_piece
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int puzzle_find_piece( filter_t *p_filter, int32_t i_x, int32_t i_y,
      int32_t i_except)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:262,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:262,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:262,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:263,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:263,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:263,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:264,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:264,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:264,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:265,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:265,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:265,1
    - Dst: puzzle_find_piece
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:270,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 2
    argNames:
    - p_filter
    - i_piece
    argTypes:
    - filter_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 274
    functionName: puzzle_calculate_corners
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c
    functionUses: 0
    functionsReached:
    - puzzle_find_piece
    - __MAX
    - __MIN
    linkageType: ''
    returnType: void
    signature: void puzzle_calculate_corners( filter_t *p_filter,  int32_t i_piece
      )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:290,1
    - Dst: puzzle_calculate_corners
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:316,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 6
    argNames:
    - p_filter
    - i_piece
    - i_rotate_mirror
    - i_center_x
    - i_center_y
    - b_avoid_mirror
    argTypes:
    - filter_t*
    - int32_t
    - int8_t
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 318
    functionName: puzzle_rotate_pce
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c
    functionUses: 0
    functionsReached:
    - abs
    - puzzle_calculate_corners
    linkageType: ''
    returnType: void
    signature: void puzzle_rotate_pce( filter_t *p_filter, int32_t i_piece, int8_t
      i_rotate_mirror, int32_t i_center_x, int32_t i_center_y, bool b_avoid_mirror
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: puzzle_calculate_corners
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - p_filter
    - i_piece
    - i_dx
    - i_dy
    argTypes:
    - filter_t*
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 337
    functionName: puzzle_move_group
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c
    functionUses: 0
    functionsReached:
    - puzzle_calculate_corners
    linkageType: ''
    returnType: void
    signature: void puzzle_move_group( filter_t *p_filter, int32_t i_piece, int32_t
      i_dx, int32_t i_dy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:367,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:367,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:368,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:368,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:369,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:369,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:370,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:370,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:373,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 5
    argNames:
    - p_filter
    - p_pic_in
    - p_pic_out
    - i_plane
    - ps_piece
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    - uint8_t
    - piece_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 379
    functionName: puzzle_drw_basic_pce_in_plane
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c
    functionUses: 0
    functionsReached:
    - __MAX
    - memcpy
    linkageType: ''
    returnType: void
    signature: void puzzle_drw_basic_pce_in_plane( filter_t *p_filter, picture_t *p_pic_in,
      picture_t *p_pic_out, uint8_t i_plane, piece_t *ps_piece)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:422,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 13
    argCount: 5
    argNames:
    - p_filter
    - p_pic_in
    - p_pic_out
    - i_plane
    - ps_piece
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    - uint8_t
    - piece_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 431
    functionName: puzzle_drw_adv_pce_in_plane
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void puzzle_drw_adv_pce_in_plane( filter_t *p_filter, picture_t *p_pic_in,
      picture_t *p_pic_out, uint8_t i_plane, piece_t *ps_piece)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:514,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 38
    argCount: 6
    argNames:
    - p_filter
    - p_pic_in
    - p_pic_out
    - i_plane
    - ps_piece
    - i_pce
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    - uint8_t
    - piece_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 533
    functionName: puzzle_drw_complex_pce_in_plane
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void puzzle_drw_complex_pce_in_plane( filter_t *p_filter, picture_t
      *p_pic_in, picture_t *p_pic_out, uint8_t i_plane, piece_t *ps_piece, uint32_t
      i_pce)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: puzzle_drw_basic_pce_in_plane
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:553,1
    - Dst: puzzle_drw_adv_pce_in_plane
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:558,1
    - Dst: puzzle_drw_complex_pce_in_plane
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:561,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - p_filter
    - p_pic_in
    - p_pic_out
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 567
    functionName: puzzle_draw_pieces
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c
    functionUses: 0
    functionsReached:
    - puzzle_drw_complex_pce_in_plane
    - puzzle_drw_basic_pce_in_plane
    - puzzle_drw_adv_pce_in_plane
    linkageType: ''
    returnType: void
    signature: void puzzle_draw_pieces( filter_t *p_filter, picture_t *p_pic_in, picture_t
      *p_pic_out)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - p_filter
    - i_y
    - b_left
    - i_plane
    argTypes:
    - filter_t*
    - int32_t
    - bool
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 580
    functionName: puzzle_diagonal_limit
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t puzzle_diagonal_limit( filter_t *p_filter, int32_t i_y, bool
      b_left, uint8_t i_plane )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:600,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:608,1
    - Dst: puzzle_diagonal_limit
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:622,1
    - Dst: puzzle_diagonal_limit
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:623,1
    - Dst: puzzle_diagonal_limit
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:626,1
    - Dst: puzzle_diagonal_limit
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:630,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:636,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:639,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:640,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 4
    argNames:
    - p_filter
    - ps_piece_shape
    - i_plane
    - i_border
    argTypes:
    - filter_t*
    - piece_shape_t*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 651
    functionName: puzzle_generate_sect_border
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c
    functionUses: 1
    functionsReached:
    - free
    - puzzle_diagonal_limit
    - floor
    - malloc
    linkageType: ''
    returnType: int
    signature: int puzzle_generate_sect_border( filter_t *p_filter, piece_shape_t
      *ps_piece_shape, uint8_t i_plane, uint8_t i_border)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: puzzle_get_min_bezier
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:675,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:677,1
    - Dst: floor
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:677,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:678,1
    - Dst: floor
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:678,1
    - Dst: floor
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:681,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:687,1
    - Dst: puzzle_generate_shape_lines
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:691,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 6
    argNames:
    - p_filter
    - ps_piece_shape
    - i_pts_nbr
    - ps_pt
    - i_plane
    - i_border
    argTypes:
    - filter_t*
    - piece_shape_t*
    - uint8_t
    - point_t*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 692
    functionName: puzzle_generate_sect_bezier
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c
    functionUses: 1
    functionsReached:
    - floor
    - puzzle_generate_shape_lines
    - __MIN
    - puzzle_get_min_bezier
    - malloc
    linkageType: ''
    returnType: int
    signature: int puzzle_generate_sect_bezier( filter_t *p_filter, piece_shape_t
      *ps_piece_shape, uint8_t i_pts_nbr, point_t *ps_pt, uint8_t i_plane, uint8_t
      i_border)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:703,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:708,1
    - Dst: bezier_val
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:708,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:709,1
    - Dst: bezier_val
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:709,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - f_min_curve_x
    - f_min_curve_y
    - f_x_ratio
    - f_y_ratio
    - ps_pt
    - i_pts_nbr
    argTypes:
    - float*
    - float*
    - float
    - float
    - point_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 711
    functionName: puzzle_get_min_bezier
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c
    functionUses: 1
    functionsReached:
    - floor
    - bezier_val
    - __MIN
    linkageType: ''
    returnType: void
    signature: void puzzle_get_min_bezier(float *f_min_curve_x, float *f_min_curve_y,
      float f_x_ratio, float f_y_ratio, point_t *ps_pt, uint8_t i_pts_nbr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: puzzle_detect_curve
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:725,1
    - Dst: puzzle_diagonal_limit
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:729,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:746,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:749,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:750,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:761,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:764,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:765,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:779,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:782,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:783,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 10
    argNames:
    - p_filter
    - ps_piece_shape
    - i_min_y
    - i_nb_y
    - f_x_ratio
    - f_y_ratio
    - ps_pt
    - i_pts_nbr
    - i_border
    - i_plane
    argTypes:
    - filter_t*
    - piece_shape_t*
    - int32_t
    - int32_t
    - float
    - float
    - point_t*
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 794
    functionName: puzzle_generate_shape_lines
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c
    functionUses: 1
    functionsReached:
    - puzzle_detect_curve
    - puzzle_diagonal_limit
    - malloc
    - free
    linkageType: ''
    returnType: int
    signature: int puzzle_generate_shape_lines( filter_t *p_filter, piece_shape_t
      *ps_piece_shape, int32_t i_min_y, int32_t i_nb_y, float f_x_ratio, float f_y_ratio,
      point_t *ps_pt, uint8_t i_pts_nbr, uint8_t i_border, uint8_t i_plane)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:809,1
    - Dst: bezier_val
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:814,1
    - Dst: bezier_val
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:815,1
    - Dst: floor
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:818,1
    - Dst: puzzle_diagonal_limit
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:832,1
    - Dst: puzzle_diagonal_limit
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:833,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 9
    argNames:
    - p_filter
    - i_y
    - f_x_ratio
    - f_y_ratio
    - ps_pt
    - i_pts_nbr
    - i_border
    - i_plane
    - pi_sects
    argTypes:
    - filter_t*
    - int32_t
    - float
    - float
    - point_t*
    - uint8_t
    - uint8_t
    - uint8_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 800
    functionDepth: 1
    functionLinenumber: 800
    functionLinenumberEnd: 854
    functionName: puzzle_detect_curve
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c
    functionUses: 1
    functionsReached:
    - puzzle_diagonal_limit
    - floor
    - bezier_val
    linkageType: ''
    returnType: int
    signature: int puzzle_detect_curve( filter_t *p_filter, int32_t i_y, float f_x_ratio,
      float f_y_ratio, point_t *ps_pt, uint8_t i_pts_nbr, uint8_t i_border, uint8_t
      i_plane, int32_t *pi_sects)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:872,1
    - Dst: puzzle_diagonal_limit
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:880,1
    - Dst: puzzle_diagonal_limit
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:881,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:885,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:888,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:889,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - p_filter
    - ps_piece_shape
    - ps_left_piece_shape
    - i_plane
    argTypes:
    - filter_t*
    - piece_shape_t*
    - piece_shape_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 859
    functionDepth: 1
    functionLinenumber: 859
    functionLinenumberEnd: 908
    functionName: puzzle_generate_sectLeft2Right
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c
    functionUses: 1
    functionsReached:
    - free
    - puzzle_diagonal_limit
    - malloc
    linkageType: ''
    returnType: int
    signature: int puzzle_generate_sectLeft2Right( filter_t *p_filter, piece_shape_t
      *ps_piece_shape, piece_shape_t *ps_left_piece_shape, uint8_t i_plane)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:931,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:942,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:945,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:946,1
    - Dst: puzzle_diagonal_limit
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:952,1
    - Dst: puzzle_diagonal_limit
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:952,1
    - Dst: puzzle_diagonal_limit
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:956,1
    - Dst: puzzle_diagonal_limit
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:956,1
    - Dst: puzzle_diagonal_limit
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:958,1
    - Dst: puzzle_diagonal_limit
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:958,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:964,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:967,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c:968,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 4
    argNames:
    - p_filter
    - ps_piece_shape
    - ps_top_piece_shape
    - i_plane
    argTypes:
    - filter_t*
    - piece_shape_t*
    - piece_shape_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 983
    functionName: puzzle_generate_sectTop2Btm
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_pce.c
    functionUses: 1
    functionsReached:
    - free
    - puzzle_diagonal_limit
    - malloc
    linkageType: ''
    returnType: int
    signature: int puzzle_generate_sectTop2Btm( filter_t *p_filter, piece_shape_t
      *ps_piece_shape, piece_shape_t *ps_top_piece_shape, uint8_t i_plane)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ps_pt
    - ','
    - f_sub_t
    - ','
    - i_main_t
    - ','
    - axis
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: bezier_val
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_bezier.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bezier_val(ps_pt,f_sub_t,i_main_t,axis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_lib.h:52,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_lib.h:52,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_lib.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - init_val
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: init_countdown
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_lib.h
    functionUses: 0
    functionsReached:
    - __MAX
    - vlc_mrand48
    linkageType: ''
    returnType: int32_t
    signature: int32_t init_countdown(int32_t init_val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_lib.c:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - p_pic_out
    - Y
    - U
    - V
    argTypes:
    - picture_t*
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 118
    functionName: puzzle_preset_desk_background
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_lib.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void puzzle_preset_desk_background( picture_t *p_pic_out, uint8_t Y,
      uint8_t U, uint8_t V)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_lib.c:139,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_lib.c:142,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_lib.c:145,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_lib.c:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - p_filter
    - p_pic_in
    - p_pic_out
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 149
    functionName: puzzle_draw_borders
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_lib.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void puzzle_draw_borders( filter_t *p_filter, picture_t *p_pic_in,
      picture_t *p_pic_out)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_lib.c:193,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - p_filter
    - p_pic_in
    - p_pic_out
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 198
    functionName: puzzle_draw_preview
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_lib.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void puzzle_draw_preview( filter_t *p_filter, picture_t *p_pic_in,
      picture_t *p_pic_out)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_lib.c:218,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 7
    argNames:
    - p_pic_out
    - i_x
    - i_y
    - i_width
    - i_lines
    - ppsz_sign
    - b_reverse
    argTypes:
    - picture_t*
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    - char**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 225
    functionName: puzzle_draw_sign
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_lib.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void puzzle_draw_sign(picture_t *p_pic_out, int32_t i_x, int32_t i_y,
      int32_t i_width, int32_t i_lines, const char **ppsz_sign, bool b_reverse)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_lib.c:251,1
    - Dst: memset
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_lib.c:255,1
    - Dst: memset
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_lib.c:256,1
    - Dst: memset
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_lib.c:260,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 8
    argNames:
    - p_pic_out
    - i_x
    - i_y
    - i_w
    - i_h
    - i_Y
    - i_U
    - i_V
    argTypes:
    - picture_t*
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 262
    functionName: puzzle_draw_rectangle
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_lib.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void puzzle_draw_rectangle(picture_t *p_pic_out, int32_t i_x, int32_t
      i_y, int32_t i_w, int32_t i_h, uint8_t i_Y, uint8_t i_U, uint8_t i_V )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_lib.c:288,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 8
    argNames:
    - p_pic_out
    - i_x
    - i_y
    - i_w
    - i_h
    - i_Y
    - i_U
    - i_V
    argTypes:
    - picture_t*
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 290
    functionName: puzzle_fill_rectangle
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_lib.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void puzzle_fill_rectangle(picture_t *p_pic_out, int32_t i_x, int32_t
      i_y, int32_t i_w, int32_t i_h, uint8_t i_Y, uint8_t i_U, uint8_t i_V )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_bezier.c:55,1
    - Dst: floor
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_bezier.c:76,1
    - Dst: bezier_val
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_bezier.c:81,1
    - Dst: bezier_val
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_bezier.c:82,1
    - Dst: fabsf
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_bezier.c:85,1
    - Dst: fabsf
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_bezier.c:89,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_bezier.c:100,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 45
    argCount: 5
    argNames:
    - i_width
    - i_lines
    - i_pts_nbr
    - ps_pt
    - i_shape_size
    argTypes:
    - int32_t
    - int32_t
    - uint8_t
    - point_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 117
    functionName: puzzle_scale_curve_H
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_bezier.c
    functionUses: 1
    functionsReached:
    - floor
    - fabsf
    - bezier_val
    - free
    - malloc
    linkageType: ''
    returnType: point_t
    signature: point_t *puzzle_scale_curve_H(int32_t i_width, int32_t i_lines, uint8_t
      i_pts_nbr, point_t *ps_pt, int32_t i_shape_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: puzzle_scale_curve_H
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_bezier.c:127,1
    - Dst: puzzle_curve_H_2_V
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_bezier.c:128,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_bezier.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - i_width
    - i_lines
    - i_pts_nbr
    - ps_pt
    - i_shape_size
    argTypes:
    - int32_t
    - int32_t
    - uint8_t
    - point_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: puzzle_H_2_scale_curve_V
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_bezier.c
    functionUses: 1
    functionsReached:
    - free
    - puzzle_curve_H_2_V
    - puzzle_scale_curve_H
    linkageType: ''
    returnType: point_t
    signature: point_t *puzzle_H_2_scale_curve_V(int32_t i_width, int32_t i_lines,
      uint8_t i_pts_nbr, point_t *ps_pt, int32_t i_shape_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_bezier.c:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - i_pts_nbr
    - ps_pt
    argTypes:
    - uint8_t
    - point_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 153
    functionName: puzzle_curve_H_2_V
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_bezier.c
    functionUses: 1
    functionsReached:
    - malloc
    linkageType: ''
    returnType: point_t
    signature: point_t *puzzle_curve_H_2_V(uint8_t i_pts_nbr, point_t *ps_pt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_bezier.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - i_pts_nbr
    - ps_pt
    argTypes:
    - uint8_t
    - point_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 173
    functionName: puzzle_curve_H_2_negative
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_bezier.c
    functionUses: 1
    functionsReached:
    - malloc
    linkageType: ''
    returnType: point_t
    signature: point_t *puzzle_curve_H_2_negative(uint8_t i_pts_nbr, point_t *ps_pt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_bezier.c:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - i_pts_nbr
    - ps_pt
    argTypes:
    - uint8_t
    - point_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 193
    functionName: puzzle_curve_V_2_negative
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_bezier.c
    functionUses: 1
    functionsReached:
    - malloc
    linkageType: ''
    returnType: point_t
    signature: point_t *puzzle_curve_V_2_negative(uint8_t i_pts_nbr, point_t *ps_pt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_bezier.c:317,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_bezier.c:319,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_bezier.c:323,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_bezier.c:335,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_bezier.c:343,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 1
    argNames:
    - i_pts_nbr
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 351
    functionName: puzzle_rand_bezier
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_bezier.c
    functionUses: 0
    functionsReached:
    - vlc_mrand48
    - malloc
    linkageType: ''
    returnType: point_t
    signature: point_t *puzzle_rand_bezier(uint8_t i_pts_nbr)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: puzzle_free_ps_puzzle_array
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:55,1
    - Dst: puzzle_free_ps_pieces_shapes
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:56,1
    - Dst: puzzle_free_ps_pieces
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:57,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:75,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:80,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:84,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:90,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:93,1
    - Dst: puzzle_bake_pieces_shapes
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:154,1
    - Dst: puzzle_bake_piece
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:159,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 87
    argCount: 3
    argNames:
    - p_filter
    - p_pic_out
    - p_pic_in
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 172
    functionName: puzzle_bake
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c
    functionUses: 0
    functionsReached:
    - puzzle_free_ps_puzzle_array
    - puzzle_bake_piece
    - puzzle_free_ps_pieces
    - puzzle_bake_pieces_shapes
    - puzzle_free_ps_pieces_shapes
    - malloc
    linkageType: ''
    returnType: int
    signature: int puzzle_bake( filter_t *p_filter, picture_t *p_pic_out, picture_t
      *p_pic_in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:181,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:182,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:184,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:188,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 195
    functionName: puzzle_free_ps_puzzle_array
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void puzzle_free_ps_puzzle_array( filter_t *p_filter)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: puzzle_allocate_ps_pieces
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:202,1
    - Dst: puzzle_shuffle
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:209,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:236,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:236,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:239,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:239,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:253,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:254,1
    - Dst: puzzle_calculate_corners
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:277,1
    - Dst: puzzle_set_left_top_shapes
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:286,1
    - Dst: puzzle_random_rotate
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:289,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 56
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 292
    functionName: puzzle_bake_piece
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c
    functionUses: 1
    functionsReached:
    - puzzle_allocate_ps_pieces
    - vlc_mrand48
    - puzzle_calculate_corners
    - puzzle_shuffle
    - puzzle_set_left_top_shapes
    - puzzle_random_rotate
    linkageType: ''
    returnType: int
    signature: int puzzle_bake_piece( filter_t *p_filter)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 321
    functionName: puzzle_set_left_top_shapes
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void puzzle_set_left_top_shapes( filter_t *p_filter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: puzzle_rotate_pce
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:335,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:335,1
    - Dst: puzzle_rotate_pce
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:338,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:338,1
    - Dst: puzzle_rotate_pce
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:341,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:341,1
    - Dst: puzzle_calculate_corners
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:344,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 346
    functionName: puzzle_random_rotate
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c
    functionUses: 1
    functionsReached:
    - vlc_mrand48
    - puzzle_rotate_pce
    - puzzle_calculate_corners
    linkageType: ''
    returnType: void
    signature: void puzzle_random_rotate( filter_t *p_filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:354,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:355,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:359,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:362,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 369
    functionName: puzzle_free_ps_pieces
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void puzzle_free_ps_pieces( filter_t *p_filter)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: puzzle_free_ps_pieces
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:374,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:376,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:380,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:383,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:384,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:390,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:393,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:394,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:398,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:401,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:402,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:404,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 409
    functionName: puzzle_allocate_ps_pieces
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c
    functionUses: 1
    functionsReached:
    - free
    - malloc
    - puzzle_free_ps_pieces
    linkageType: ''
    returnType: int
    signature: int puzzle_allocate_ps_pieces( filter_t *p_filter)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - p_sys
    - pi_pce_lst
    argTypes:
    - filter_sys_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 432
    functionName: puzzle_is_valid
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool puzzle_is_valid( filter_sys_t *p_sys, int32_t *pi_pce_lst )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: puzzle_generate_rand_pce_list
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:442,1
    - Dst: puzzle_is_finished
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:445,1
    - Dst: puzzle_is_valid
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:445,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 463
    functionName: puzzle_shuffle
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c
    functionUses: 1
    functionsReached:
    - puzzle_generate_rand_pce_list
    - puzzle_is_valid
    - puzzle_is_finished
    linkageType: ''
    returnType: int
    signature: int puzzle_shuffle( filter_t *p_filter )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:470,1
    - Dst: calloc
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:471,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:479,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - p_filter
    - pi_pce_lst
    argTypes:
    - filter_t*
    - int32_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 484
    functionName: puzzle_generate_rand_pce_list
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c
    functionUses: 1
    functionsReached:
    - free
    - calloc
    - vlc_mrand48
    linkageType: ''
    returnType: int
    signature: int puzzle_generate_rand_pce_list( filter_t *p_filter, int32_t **pi_pce_lst
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - p_sys
    - pi_pce_lst
    argTypes:
    - filter_sys_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 493
    functionName: puzzle_is_finished
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool puzzle_is_finished( filter_sys_t *p_sys, int32_t *pi_pce_lst )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:500,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:506,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:511,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:517,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:522,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - p_filter
    - i_piece
    argTypes:
    - filter_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 526
    functionName: puzzle_piece_foreground
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c
    functionUses: 0
    functionsReached:
    - free
    - memcpy
    - malloc
    linkageType: ''
    returnType: int
    signature: int puzzle_piece_foreground( filter_t *p_filter, int32_t i_piece)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 534
    functionName: puzzle_count_pce_group
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void puzzle_count_pce_group( filter_t *p_filter)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:559,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:561,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:562,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:563,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:564,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:565,1
    - Dst: puzzle_move_group
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:571,1
    - Dst: puzzle_move_group
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:573,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:581,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:583,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:584,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:585,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:586,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:587,1
    - Dst: puzzle_move_group
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:594,1
    - Dst: puzzle_move_group
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:596,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:606,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:608,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:609,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:610,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:611,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:612,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:618,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:620,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:621,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:622,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:623,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:624,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 45
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 540
    functionDepth: 3
    functionLinenumber: 540
    functionLinenumberEnd: 631
    functionName: puzzle_solve_pces_group
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c
    functionUses: 0
    functionsReached:
    - abs
    - puzzle_move_group
    linkageType: ''
    returnType: void
    signature: void puzzle_solve_pces_group( filter_t *p_filter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:652,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:653,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:654,1
    - Dst: abs
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:655,1
    - Dst: puzzle_calculate_corners
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:666,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 637
    functionDepth: 2
    functionLinenumber: 637
    functionLinenumberEnd: 671
    functionName: puzzle_solve_pces_accuracy
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c
    functionUses: 0
    functionsReached:
    - abs
    - puzzle_calculate_corners
    linkageType: ''
    returnType: void
    signature: void puzzle_solve_pces_accuracy( filter_t *p_filter)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:694,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:710,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:717,1
    - Dst: malloc
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:719,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 724
    functionName: puzzle_sort_layers
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c
    functionUses: 0
    functionsReached:
    - free
    - memcpy
    - malloc
    linkageType: ''
    returnType: int
    signature: int puzzle_sort_layers( filter_t *p_filter)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: init_countdown
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:742,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:745,1
    - Dst: puzzle_calculate_corners
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:757,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 731
    functionDepth: 2
    functionLinenumber: 731
    functionLinenumberEnd: 763
    functionName: puzzle_auto_solve
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c
    functionUses: 0
    functionsReached:
    - init_countdown
    - vlc_mrand48
    - puzzle_calculate_corners
    linkageType: ''
    returnType: void
    signature: void puzzle_auto_solve( filter_t *p_filter)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: init_countdown
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:782,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:785,1
    - Dst: puzzle_rotate_pce
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:804,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:804,1
    - Dst: puzzle_rotate_pce
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:807,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:807,1
    - Dst: puzzle_rotate_pce
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:810,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:810,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:817,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:822,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:851,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:851,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:856,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:856,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:861,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:861,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:866,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:866,1
    - Dst: puzzle_calculate_corners
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:870,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 62
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 771
    functionDepth: 3
    functionLinenumber: 771
    functionLinenumberEnd: 874
    functionName: puzzle_auto_shuffle
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c
    functionUses: 0
    functionsReached:
    - init_countdown
    - vlc_mrand48
    - puzzle_calculate_corners
    - puzzle_rotate_pce
    linkageType: ''
    returnType: void
    signature: void puzzle_auto_shuffle( filter_t *p_filter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:883,1
    - Dst: calloc
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:891,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:893,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 914
    functionName: puzzle_save
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c
    functionUses: 0
    functionsReached:
    - calloc
    - free
    linkageType: ''
    returnType: save_game_t
    signature: save_game_t * puzzle_save(filter_t *p_filter)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: puzzle_calculate_corners
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:953,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:985,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:985,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:990,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:990,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:995,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:995,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:1000,1
    - Dst: vlc_mrand48
      Src: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c:1000,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 56
    argCount: 2
    argNames:
    - p_filter
    - ps_save_game
    argTypes:
    - filter_t*
    - save_game_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 916
    functionDepth: 2
    functionLinenumber: 916
    functionLinenumberEnd: 1005
    functionName: puzzle_load
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle_mgt.c
    functionUses: 0
    functionsReached:
    - vlc_mrand48
    - puzzle_calculate_corners
    linkageType: ''
    returnType: void
    signature: void puzzle_load( filter_t *p_filter, save_game_t *ps_save_game)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: es_format_IsSimilar
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:129,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:130,1
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:135,1
    - Dst: calloc
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:140,1
    - Dst: calloc
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:152,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:155,1
    - Dst: puzzle_rand_bezier
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:160,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:163,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:166,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:167,1
    - Dst: var_CreateGetIntegerCommand
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:170,1
    - Dst: var_CreateGetIntegerCommand
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:172,1
    - Dst: var_CreateGetIntegerCommand
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:174,1
    - Dst: var_CreateGetBoolCommand
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:176,1
    - Dst: var_CreateGetIntegerCommand
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:178,1
    - Dst: var_CreateGetIntegerCommand
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:180,1
    - Dst: var_CreateGetIntegerCommand
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:182,1
    - Dst: var_CreateGetIntegerCommand
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:184,1
    - Dst: var_CreateGetIntegerCommand
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:186,1
    - Dst: var_CreateGetIntegerCommand
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:188,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:190,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:191,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:192,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:193,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:194,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:195,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:196,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:197,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:198,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:199,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 48
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 210
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle.c
    functionUses: 33
    functionsReached:
    - var_CreateGetIntegerCommand
    - var_AddCallback
    - es_format_IsSimilar
    - vlc_mutex_init
    - var_CreateGetBoolCommand
    - msg_Err
    - calloc
    - free
    - config_ChainParse
    - vlc_fourcc_GetChromaDescription
    - puzzle_rand_bezier
    linkageType: ''
    returnType: int
    signature: int Open( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:218,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:219,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:220,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:221,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:222,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:223,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:224,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:225,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:226,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:227,1
    - Dst: puzzle_free_ps_puzzle_array
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:230,1
    - Dst: puzzle_free_ps_pieces_shapes
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:231,1
    - Dst: puzzle_free_ps_pieces
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:232,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:233,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:234,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:235,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:238,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:239,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 242
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle.c
    functionUses: 115
    functionsReached:
    - puzzle_free_ps_puzzle_array
    - var_DelCallback
    - free
    - puzzle_free_ps_pieces
    - puzzle_free_ps_pieces_shapes
    linkageType: ''
    returnType: void
    signature: void Close( filter_t *p_filter )
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: filter_NewPicture
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:253,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:255,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:293,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:294,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:298,1
    - Dst: init_countdown
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:353,1
    - Dst: init_countdown
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:356,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:388,1
    - Dst: puzzle_save
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:396,1
    - Dst: CopyInfoAndRelease
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:398,1
    - Dst: puzzle_bake
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:399,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:402,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:403,1
    - Dst: CopyInfoAndRelease
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:404,1
    - Dst: puzzle_load
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:406,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:407,1
    - Dst: free
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:408,1
    - Dst: puzzle_bake
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:411,1
    - Dst: CopyInfoAndRelease
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:413,1
    - Dst: puzzle_bake_piece
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:419,1
    - Dst: CopyInfoAndRelease
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:421,1
    - Dst: puzzle_preset_desk_background
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:426,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:430,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:434,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:437,1
    - Dst: puzzle_solve_pces_accuracy
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:441,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:444,1
    - Dst: puzzle_solve_pces_group
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:448,1
    - Dst: puzzle_count_pce_group
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:453,1
    - Dst: puzzle_sort_layers
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:456,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:459,1
    - Dst: CopyInfoAndRelease
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:460,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:464,1
    - Dst: puzzle_calculate_corners
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:470,1
    - Dst: puzzle_auto_shuffle
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:477,1
    - Dst: puzzle_auto_solve
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:478,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:481,1
    - Dst: puzzle_draw_borders
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:486,1
    - Dst: puzzle_draw_pieces
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:489,1
    - Dst: puzzle_find_piece
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:495,1
    - Dst: puzzle_draw_preview
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:500,1
    - Dst: puzzle_draw_rectangle
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:509,1
    - Dst: puzzle_fill_rectangle
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:524,1
    - Dst: puzzle_draw_sign
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:534,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:540,1
    - Dst: puzzle_draw_sign
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:563,1
    - Dst: puzzle_draw_sign
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:566,1
    - Dst: puzzle_draw_sign
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:569,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:572,1
    - Dst: CopyInfoAndRelease
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:576,1
    CyclomaticComplexity: 112
    EdgeCount: 112
    ICount: 198
    argCount: 2
    argNames:
    - p_filter
    - p_pic_in
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 247
    functionDepth: 4
    functionLinenumber: 247
    functionLinenumberEnd: 577
    functionName: Filter
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle.c
    functionUses: 31
    functionsReached:
    - puzzle_save
    - puzzle_auto_shuffle
    - puzzle_auto_solve
    - memcpy
    - puzzle_fill_rectangle
    - picture_Release
    - init_countdown
    - puzzle_draw_sign
    - vlc_mutex_lock
    - puzzle_draw_borders
    - __MAX
    - puzzle_calculate_corners
    - puzzle_solve_pces_group
    - puzzle_find_piece
    - puzzle_preset_desk_background
    - puzzle_load
    - puzzle_solve_pces_accuracy
    - puzzle_draw_pieces
    - filter_NewPicture
    - puzzle_draw_rectangle
    - puzzle_count_pce_group
    - vlc_mutex_unlock
    - puzzle_bake
    - puzzle_bake_piece
    - free
    - puzzle_sort_layers
    - puzzle_draw_preview
    - CopyInfoAndRelease
    linkageType: ''
    returnType: picture_t
    signature: picture_t *Filter( filter_t *p_filter, picture_t *p_pic_in )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:586,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:586,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:589,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:590,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:591,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:593,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:594,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:596,1
    - Dst: __MAX
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:597,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:599,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:602,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:605,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:608,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:611,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:614,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:617,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:622,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 5
    argNames:
    - p_this
    - psz_var
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 625
    functionName: puzzle_Callback
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - __MAX
    - strcmp
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int puzzle_Callback( vlc_object_t *p_this, char const *psz_var,\n
      \                          vlc_value_t oldval, vlc_value_t newval,\n                           void
      *p_data )"
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mouse_HasPressed
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:650,1
    - Dst: vlc_mouse_HasPressed
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:665,1
    - Dst: puzzle_is_finished
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:734,1
    - Dst: vlc_mouse_HasPressed
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:744,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:747,1
    - Dst: puzzle_piece_foreground
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:750,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:753,1
    - Dst: puzzle_move_group
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:776,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:783,1
    - Dst: vlc_mouse_HasReleased
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:786,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:791,1
    - Dst: puzzle_rotate_pce
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:797,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:799,1
    - Dst: vlc_mouse_IsLeftPressed
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:829,1
    - Dst: vlc_mouse_GetMotion
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:833,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:847,1
    - Dst: puzzle_move_group
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:849,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_filter/puzzle/puzzle.c:851,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 145
    argCount: 3
    argNames:
    - p_filter
    - p_new
    - p_old
    argTypes:
    - filter_t*
    - vlc_mouse_t*
    - vlc_mouse_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 628
    functionDepth: 3
    functionLinenumber: 628
    functionLinenumberEnd: 857
    functionName: puzzle_mouse
    functionSourceFile: /src/vlc/modules/video_filter/puzzle/puzzle.c
    functionUses: 0
    functionsReached:
    - vlc_mouse_IsLeftPressed
    - vlc_mouse_HasPressed
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - puzzle_piece_foreground
    - vlc_mouse_GetMotion
    - puzzle_rotate_pce
    - puzzle_is_finished
    - puzzle_move_group
    - vlc_mouse_HasReleased
    linkageType: ''
    returnType: int
    signature: "int puzzle_mouse( filter_t *p_filter, vlc_mouse_t *p_new,\n                  const
      vlc_mouse_t *p_old )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: __MIN
      Src: /src/vlc/modules/stream_filter/cache_read.c:116,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_filter/cache_read.c:122,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/stream_filter/cache_read.c:126,1
    - Dst: vlc_killed
      Src: /src/vlc/modules/stream_filter/cache_read.c:132,1
    - Dst: __MIN
      Src: /src/vlc/modules/stream_filter/cache_read.c:135,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/stream_filter/cache_read.c:136,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/stream_filter/cache_read.c:165,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 167
    functionName: AStreamRefillStream
    functionSourceFile: /src/vlc/modules/stream_filter/cache_read.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - vlc_stream_Read
    - __MIN
    - msg_Dbg
    - vlc_killed
    linkageType: ''
    returnType: int
    signature: int AStreamRefillStream(stream_t *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/stream_filter/cache_read.c:172,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_filter/cache_read.c:175,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/stream_filter/cache_read.c:179,1
    - Dst: vlc_killed
      Src: /src/vlc/modules/stream_filter/cache_read.c:184,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_filter/cache_read.c:194,1
    - Dst: __MIN
      Src: /src/vlc/modules/stream_filter/cache_read.c:201,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/stream_filter/cache_read.c:202,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_filter/cache_read.c:210,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/stream_filter/cache_read.c:211,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/stream_filter/cache_read.c:211,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 218
    functionName: AStreamPrebufferStream
    functionSourceFile: /src/vlc/modules/stream_filter/cache_read.c
    functionUses: 0
    functionsReached:
    - MS_FROM_VLC_TICK
    - vlc_tick_now
    - vlc_stream_Read
    - __MIN
    - msg_Dbg
    - vlc_killed
    linkageType: ''
    returnType: void
    signature: void AStreamPrebufferStream(stream_t *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AStreamPrebufferStream
      Src: /src/vlc/modules/stream_filter/cache_read.c:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 243
    functionName: AStreamControlReset
    functionSourceFile: /src/vlc/modules/stream_filter/cache_read.c
    functionUses: 0
    functionsReached:
    - AStreamPrebufferStream
    linkageType: ''
    returnType: void
    signature: void AStreamControlReset(stream_t *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_filter/cache_read.c:254,1
    - Dst: __MIN
      Src: /src/vlc/modules/stream_filter/cache_read.c:260,1
    - Dst: __MIN
      Src: /src/vlc/modules/stream_filter/cache_read.c:262,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_filter/cache_read.c:269,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/stream_filter/cache_read.c:280,1
    - Dst: AStreamRefillStream
      Src: /src/vlc/modules/stream_filter/cache_read.c:286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - s
    - buf
    - len
    argTypes:
    - stream_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 290
    functionName: AStreamReadStream
    functionSourceFile: /src/vlc/modules/stream_filter/cache_read.c
    functionUses: 0
    functionsReached:
    - VLC_CLIP
    - memcpy
    - AStreamRefillStream
    - msg_Dbg
    - __MIN
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t AStreamReadStream(stream_t *s, void *buf, size_t len)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_filter/cache_read.c:301,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/stream_filter/cache_read.c:308,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_filter/cache_read.c:311,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/stream_filter/cache_read.c:316,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/stream_filter/cache_read.c:326,1
    - Dst: assert
      Src: /src/vlc/modules/stream_filter/cache_read.c:369,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/cache_read.c:376,1
    - Dst: assert
      Src: /src/vlc/modules/stream_filter/cache_read.c:383,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/stream_filter/cache_read.c:388,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/cache_read.c:390,1
    - Dst: __MIN
      Src: /src/vlc/modules/stream_filter/cache_read.c:399,1
    - Dst: AStreamReadStream
      Src: /src/vlc/modules/stream_filter/cache_read.c:401,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/cache_read.c:403,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/cache_read.c:414,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/stream_filter/cache_read.c:417,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/cache_read.c:419,1
    - Dst: AStreamRefillStream
      Src: /src/vlc/modules/stream_filter/cache_read.c:440,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 78
    argCount: 2
    argNames:
    - s
    - i_pos
    argTypes:
    - stream_t*
    - uint64_t
    assertStmts:
    - condition: (i_tk_idx >= 0 && i_tk_idx < STREAM_CACHE_TRACK)
      pos:
        line_end: 368
        line_start: 368
        source_file: /src/vlc/modules/stream_filter/cache_read.c
    - condition: (b_aseek)
      pos:
        line_end: 382
        line_start: 382
        source_file: /src/vlc/modules/stream_filter/cache_read.c
    constantsTouched: []
    func_position:
      end: 444
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 444
    functionName: AStreamSeekStream
    functionSourceFile: /src/vlc/modules/stream_filter/cache_read.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - assert
    - AStreamRefillStream
    - msg_Err
    - msg_Dbg
    - __MIN
    - msg_Warn
    - vlc_stream_Seek
    - AStreamReadStream
    - vlc_stream_Control
    linkageType: ''
    returnType: int
    signature: int AStreamSeekStream(stream_t *s, uint64_t i_pos)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_vaControl
      Src: /src/vlc/modules/stream_filter/cache_read.c:472,1
    - Dst: vlc_stream_vaControl
      Src: /src/vlc/modules/stream_filter/cache_read.c:477,1
    - Dst: AStreamControlReset
      Src: /src/vlc/modules/stream_filter/cache_read.c:479,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/cache_read.c:485,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 3
    argNames:
    - s
    - i_query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 449
    functionDepth: 3
    functionLinenumber: 449
    functionLinenumberEnd: 489
    functionName: AStreamControl
    functionSourceFile: /src/vlc/modules/stream_filter/cache_read.c
    functionUses: 0
    functionsReached:
    - vlc_stream_vaControl
    - AStreamControlReset
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int AStreamControl(stream_t *s, int i_query, va_list args)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/stream_filter/cache_read.c:498,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_filter/cache_read.c:499,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_filter/cache_read.c:510,1
    - Dst: malloc
      Src: /src/vlc/modules/stream_filter/cache_read.c:515,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/cache_read.c:518,1
    - Dst: AStreamPrebufferStream
      Src: /src/vlc/modules/stream_filter/cache_read.c:538,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/cache_read.c:542,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/cache_read.c:543,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/cache_read.c:544,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 552
    functionName: Open
    functionSourceFile: /src/vlc/modules/stream_filter/cache_read.c
    functionUses: 33
    functionsReached:
    - AStreamPrebufferStream
    - free
    - msg_Err
    - msg_Dbg
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/stream_filter/cache_read.c:562,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/cache_read.c:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 564
    functionName: Close
    functionSourceFile: /src/vlc/modules/stream_filter/cache_read.c
    functionUses: 115
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: munmap
      Src: /src/vlc/modules/stream_filter/decomp.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: cleanup_mmap
    functionSourceFile: /src/vlc/modules/stream_filter/decomp.c
    functionUses: 0
    functionsReached:
    - munmap
    linkageType: ''
    returnType: void
    signature: void cleanup_mmap (void *addr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/stream_filter/decomp.c:106,1
    - Dst: sysconf
      Src: /src/vlc/modules/stream_filter/decomp.c:111,1
    - Dst: sigemptyset
      Src: /src/vlc/modules/stream_filter/decomp.c:117,1
    - Dst: sigaddset
      Src: /src/vlc/modules/stream_filter/decomp.c:118,1
    - Dst: pthread_sigmask
      Src: /src/vlc/modules/stream_filter/decomp.c:119,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/stream_filter/decomp.c:124,1
    - Dst: mmap
      Src: /src/vlc/modules/stream_filter/decomp.c:126,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_filter/decomp.c:128,1
    - Dst: vlc_cleanup_push
      Src: /src/vlc/modules/stream_filter/decomp.c:130,1
    - Dst: malloc
      Src: /src/vlc/modules/stream_filter/decomp.c:132,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_filter/decomp.c:133,1
    - Dst: vlc_cleanup_push
      Src: /src/vlc/modules/stream_filter/decomp.c:135,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_filter/decomp.c:138,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/stream_filter/decomp.c:140,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/stream_filter/decomp.c:141,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_filter/decomp.c:142,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/stream_filter/decomp.c:144,1
    - Dst: write
      Src: /src/vlc/modules/stream_filter/decomp.c:151,1
    - Dst: vmsplice
      Src: /src/vlc/modules/stream_filter/decomp.c:158,1
    - Dst: write
      Src: /src/vlc/modules/stream_filter/decomp.c:162,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/decomp.c:167,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/stream_filter/decomp.c:168,1
    - Dst: vlc_cleanup_pop
      Src: /src/vlc/modules/stream_filter/decomp.c:173,1
    - Dst: munmap
      Src: /src/vlc/modules/stream_filter/decomp.c:175,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/decomp.c:177,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_filter/decomp.c:182,1
    - Dst: vlc_close
      Src: /src/vlc/modules/stream_filter/decomp.c:185,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 187
    functionName: Thread
    functionSourceFile: /src/vlc/modules/stream_filter/decomp.c
    functionUses: 0
    functionsReached:
    - vlc_strerror_c
    - vlc_cleanup_pop
    - vlc_restorecancel
    - mmap
    - vlc_mutex_lock
    - sigemptyset
    - sysconf
    - write
    - msg_Err
    - vlc_stream_Read
    - msg_Dbg
    - vlc_savecancel
    - sigaddset
    - vlc_thread_set_name
    - vlc_cleanup_push
    - pthread_sigmask
    - vlc_mutex_unlock
    - vlc_close
    - unlikely
    - free
    - munmap
    - vmsplice
    - malloc
    - vlc_cond_wait
    linkageType: ''
    returnType: void
    signature: void *Thread (void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_read_i11e
      Src: /src/vlc/modules/stream_filter/decomp.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stream
    - buf
    - buflen
    argTypes:
    - stream_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: Read
    functionSourceFile: /src/vlc/modules/stream_filter/decomp.c
    functionUses: 48
    functionsReached:
    - vlc_read_i11e
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Read (stream_t *stream, void *buf, size_t buflen)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/stream_filter/decomp.c:225,1
    - Dst: va_arg
      Src: /src/vlc/modules/stream_filter/decomp.c:231,1
    - Dst: va_arg
      Src: /src/vlc/modules/stream_filter/decomp.c:235,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_filter/decomp.c:237,1
    - Dst: vlc_stream_SetPauseState
      Src: /src/vlc/modules/stream_filter/decomp.c:238,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/stream_filter/decomp.c:240,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_filter/decomp.c:241,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - stream
    - query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 248
    functionName: Control
    functionSourceFile: /src/vlc/modules/stream_filter/decomp.c
    functionUses: 59
    functionsReached:
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - va_arg
    - vlc_stream_SetPauseState
    linkageType: ''
    returnType: int
    signature: int Control (stream_t *stream, int query, va_list args)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/stream_filter/decomp.c:257,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/stream_filter/decomp.c:261,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/stream_filter/decomp.c:262,1
    - Dst: vlc_stream_CanPause
      Src: /src/vlc/modules/stream_filter/decomp.c:265,1
    - Dst: vlc_stream_CanPace
      Src: /src/vlc/modules/stream_filter/decomp.c:266,1
    - Dst: vlc_stream_GetPtsDelay
      Src: /src/vlc/modules/stream_filter/decomp.c:267,1
    - Dst: vlc_stream_GetMTime
      Src: /src/vlc/modules/stream_filter/decomp.c:269,1
    - Dst: vlc_pipe
      Src: /src/vlc/modules/stream_filter/decomp.c:279,1
    - Dst: vlc_pipe
      Src: /src/vlc/modules/stream_filter/decomp.c:284,1
    - Dst: vlc_spawnp
      Src: /src/vlc/modules/stream_filter/decomp.c:291,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/stream_filter/decomp.c:293,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/decomp.c:298,1
    - Dst: vlc_close
      Src: /src/vlc/modules/stream_filter/decomp.c:302,1
    - Dst: vlc_close
      Src: /src/vlc/modules/stream_filter/decomp.c:304,1
    - Dst: vlc_close
      Src: /src/vlc/modules/stream_filter/decomp.c:306,1
    - Dst: vlc_close
      Src: /src/vlc/modules/stream_filter/decomp.c:308,1
    - Dst: vlc_waitpid
      Src: /src/vlc/modules/stream_filter/decomp.c:314,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/decomp.c:315,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 2
    argNames:
    - stream
    - path
    argTypes:
    - stream_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 323
    functionName: Open
    functionSourceFile: /src/vlc/modules/stream_filter/decomp.c
    functionUses: 33
    functionsReached:
    - vlc_spawnp
    - vlc_clone
    - vlc_close
    - vlc_mutex_init
    - vlc_stream_GetMTime
    - msg_Err
    - free
    - vlc_cond_init
    - vlc_waitpid
    - vlc_pipe
    - vlc_stream_GetPtsDelay
    - malloc
    - vlc_stream_CanPace
    - vlc_stream_CanPause
    linkageType: ''
    returnType: int
    signature: int Open (stream_t *stream, const char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_cancel
      Src: /src/vlc/modules/stream_filter/decomp.c:334,1
    - Dst: vlc_close
      Src: /src/vlc/modules/stream_filter/decomp.c:335,1
    - Dst: vlc_join
      Src: /src/vlc/modules/stream_filter/decomp.c:336,1
    - Dst: vlc_close
      Src: /src/vlc/modules/stream_filter/decomp.c:339,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_filter/decomp.c:341,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_filter/decomp.c:342,1
    - Dst: vlc_waitpid
      Src: /src/vlc/modules/stream_filter/decomp.c:342,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/decomp.c:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 344
    functionName: Close
    functionSourceFile: /src/vlc/modules/stream_filter/decomp.c
    functionUses: 115
    functionsReached:
    - vlc_cancel
    - vlc_close
    - free
    - vlc_join
    - msg_Dbg
    - vlc_waitpid
    linkageType: ''
    returnType: void
    signature: void Close (vlc_object_t *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/stream_filter/decomp.c:355,1
    - Dst: memcmp
      Src: /src/vlc/modules/stream_filter/decomp.c:358,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_filter/decomp.c:361,1
    - Dst: Open
      Src: /src/vlc/modules/stream_filter/decomp.c:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 363
    functionName: OpenGzip
    functionSourceFile: /src/vlc/modules/stream_filter/decomp.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    - memcmp
    - msg_Dbg
    - Open
    linkageType: ''
    returnType: int
    signature: int OpenGzip (vlc_object_t *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/stream_filter/decomp.c:375,1
    - Dst: memcmp
      Src: /src/vlc/modules/stream_filter/decomp.c:378,1
    - Dst: memcmp
      Src: /src/vlc/modules/stream_filter/decomp.c:379,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_filter/decomp.c:382,1
    - Dst: Open
      Src: /src/vlc/modules/stream_filter/decomp.c:383,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 384
    functionName: OpenBzip2
    functionSourceFile: /src/vlc/modules/stream_filter/decomp.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    - memcmp
    - msg_Dbg
    - Open
    linkageType: ''
    returnType: int
    signature: int OpenBzip2 (vlc_object_t *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/stream_filter/decomp.c:395,1
    - Dst: memcmp
      Src: /src/vlc/modules/stream_filter/decomp.c:398,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_filter/decomp.c:401,1
    - Dst: Open
      Src: /src/vlc/modules/stream_filter/decomp.c:402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 403
    functionName: OpenXZ
    functionSourceFile: /src/vlc/modules/stream_filter/decomp.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    - memcmp
    - msg_Dbg
    - Open
    linkageType: ''
    returnType: int
    signature: int OpenXZ (vlc_object_t *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/stream_filter/decomp.c:414,1
    - Dst: memcmp
      Src: /src/vlc/modules/stream_filter/decomp.c:416,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_filter/decomp.c:421,1
    - Dst: Open
      Src: /src/vlc/modules/stream_filter/decomp.c:422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 423
    functionName: OpenZstd
    functionSourceFile: /src/vlc/modules/stream_filter/decomp.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    - memcmp
    - msg_Dbg
    - Open
    linkageType: ''
    returnType: int
    signature: int OpenZstd(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_vaControl
      Src: /src/vlc/modules/stream_filter/adf.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_stream
    - i_query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: Control
    functionSourceFile: /src/vlc/modules/stream_filter/adf.c
    functionUses: 60
    functionsReached:
    - vlc_stream_vaControl
    linkageType: ''
    returnType: int
    signature: int Control( stream_t *p_stream, int i_query, va_list args )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/stream_filter/adf.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - s
    - buffer
    - i_read
    argTypes:
    - stream_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: Read
    functionSourceFile: /src/vlc/modules/stream_filter/adf.c
    functionUses: 49
    functionsReached:
    - vlc_stream_Read
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Read( stream_t *s, void *buffer, size_t i_read )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/stream_filter/adf.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - offset
    argTypes:
    - stream_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: Seek
    functionSourceFile: /src/vlc/modules/stream_filter/adf.c
    functionUses: 30
    functionsReached:
    - vlc_stream_Seek
    linkageType: ''
    returnType: int
    signature: int Seek( stream_t *s, uint64_t offset )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/vlc/modules/stream_filter/adf.c:76,1
    - Dst: strncmp
      Src: /src/vlc/modules/stream_filter/adf.c:77,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/stream_filter/adf.c:82,1
    - Dst: memcmp
      Src: /src/vlc/modules/stream_filter/adf.c:86,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - p_object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 94
    functionName: Open
    functionSourceFile: /src/vlc/modules/stream_filter/adf.c
    functionUses: 37
    functionsReached:
    - strncmp
    - strrchr
    - vlc_stream_Peek
    - memcmp
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_object )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_filter/prefetch.c:86,1
    - Dst: assert
      Src: /src/vlc/modules/stream_filter/prefetch.c:87,1
    - Dst: vlc_stream_ReadPartial
      Src: /src/vlc/modules/stream_filter/prefetch.c:89,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_filter/prefetch.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - buf
    - length
    argTypes:
    - stream_t*
    - void*
    - size_t
    assertStmts:
    - condition: (length > 0)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/vlc/modules/stream_filter/prefetch.c
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: ThreadRead
    functionSourceFile: /src/vlc/modules/stream_filter/prefetch.c
    functionUses: 0
    functionsReached:
    - vlc_stream_ReadPartial
    - assert
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t ThreadRead(stream_t *stream, void *buf, size_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_filter/prefetch.c:99,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/stream_filter/prefetch.c:101,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/prefetch.c:103,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_filter/prefetch.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - stream
    - seek_offset
    argTypes:
    - stream_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: ThreadSeek
    functionSourceFile: /src/vlc/modules/stream_filter/prefetch.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Seek
    - vlc_mutex_lock
    - vlc_mutex_unlock
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int ThreadSeek(stream_t *stream, uint64_t seek_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_filter/prefetch.c:114,1
    - Dst: va_start
      Src: /src/vlc/modules/stream_filter/prefetch.c:119,1
    - Dst: vlc_stream_vaControl
      Src: /src/vlc/modules/stream_filter/prefetch.c:120,1
    - Dst: va_end
      Src: /src/vlc/modules/stream_filter/prefetch.c:121,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_filter/prefetch.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - stream
    - query
    argTypes:
    - stream_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 125
    functionName: ThreadControl
    functionSourceFile: /src/vlc/modules/stream_filter/prefetch.c
    functionUses: 0
    functionsReached:
    - va_end
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - va_start
    - vlc_stream_vaControl
    linkageType: ''
    returnType: int
    signature: int ThreadControl(stream_t *stream, int query, ...)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/stream_filter/prefetch.c:129,1
    - Dst: vlc_interrupt_set
      Src: /src/vlc/modules/stream_filter/prefetch.c:135,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_filter/prefetch.c:137,1
    - Dst: vlc_killed
      Src: /src/vlc/modules/stream_filter/prefetch.c:138,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_filter/prefetch.c:142,1
    - Dst: ThreadControl
      Src: /src/vlc/modules/stream_filter/prefetch.c:145,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/prefetch.c:147,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_filter/prefetch.c:153,1
    - Dst: ThreadControl
      Src: /src/vlc/modules/stream_filter/prefetch.c:155,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/stream_filter/prefetch.c:161,1
    - Dst: ThreadSeek
      Src: /src/vlc/modules/stream_filter/prefetch.c:169,1
    - Dst: assert
      Src: /src/vlc/modules/stream_filter/prefetch.c:173,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/stream_filter/prefetch.c:179,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/stream_filter/prefetch.c:186,1
    - Dst: assert
      Src: /src/vlc/modules/stream_filter/prefetch.c:190,1
    - Dst: ThreadSeek
      Src: /src/vlc/modules/stream_filter/prefetch.c:205,1
    - Dst: assert
      Src: /src/vlc/modules/stream_filter/prefetch.c:209,1
    - Dst: assert
      Src: /src/vlc/modules/stream_filter/prefetch.c:210,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/stream_filter/prefetch.c:219,1
    - Dst: assert
      Src: /src/vlc/modules/stream_filter/prefetch.c:224,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/stream_filter/prefetch.c:231,1
    - Dst: ThreadRead
      Src: /src/vlc/modules/stream_filter/prefetch.c:248,1
    - Dst: assert
      Src: /src/vlc/modules/stream_filter/prefetch.c:253,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_filter/prefetch.c:254,1
    - Dst: assert
      Src: /src/vlc/modules/stream_filter/prefetch.c:258,1
    - Dst: assert
      Src: /src/vlc/modules/stream_filter/prefetch.c:260,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/stream_filter/prefetch.c:263,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/stream_filter/prefetch.c:267,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_filter/prefetch.c:268,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 78
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts:
    - condition: (stream_offset >= sys->buffer_offset)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/vlc/modules/stream_filter/prefetch.c
    - condition: ((size_t)val <= len)
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/vlc/modules/stream_filter/prefetch.c
    - condition: (!sys->error)
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/vlc/modules/stream_filter/prefetch.c
    - condition: (!sys->error)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/vlc/modules/stream_filter/prefetch.c
    - condition: (sys->buffer_length <= sys->buffer_size)
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/vlc/modules/stream_filter/prefetch.c
    - condition: (sys->buffer_size >= sys->buffer_length)
      pos:
        line_end: 223
        line_start: 223
        source_file: /src/vlc/modules/stream_filter/prefetch.c
    - condition: (len > 0)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/vlc/modules/stream_filter/prefetch.c
    - condition: (!sys->eof)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/vlc/modules/stream_filter/prefetch.c
    constantsTouched: []
    func_position:
      end: 270
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 270
    functionName: Thread
    functionSourceFile: /src/vlc/modules/stream_filter/prefetch.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_cond_signal
    - vlc_thread_set_name
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - ThreadRead
    - free
    - ThreadSeek
    - msg_Dbg
    - vlc_interrupt_set
    - vlc_killed
    - ThreadControl
    - unlikely
    - vlc_cond_wait
    linkageType: ''
    returnType: void
    signature: void *Thread(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_filter/prefetch.c:276,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/stream_filter/prefetch.c:279,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_filter/prefetch.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - stream
    - offset
    argTypes:
    - stream_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 282
    functionName: Seek
    functionSourceFile: /src/vlc/modules/stream_filter/prefetch.c
    functionUses: 32
    functionsReached:
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: int
    signature: int Seek(stream_t *stream, uint64_t offset)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - stream
    - eof
    argTypes:
    - stream_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 298
    functionName: BufferLevel
    functionSourceFile: /src/vlc/modules/stream_filter/prefetch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t BufferLevel(const stream_t *stream, bool *eof)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_filter/prefetch.c:309,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/prefetch.c:312,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/stream_filter/prefetch.c:314,1
    - Dst: BufferLevel
      Src: /src/vlc/modules/stream_filter/prefetch.c:317,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_filter/prefetch.c:323,1
    - Dst: vlc_interrupt_forward_start
      Src: /src/vlc/modules/stream_filter/prefetch.c:327,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/stream_filter/prefetch.c:328,1
    - Dst: vlc_interrupt_forward_stop
      Src: /src/vlc/modules/stream_filter/prefetch.c:329,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_filter/prefetch.c:339,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/stream_filter/prefetch.c:341,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_filter/prefetch.c:342,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - stream
    - buf
    - buflen
    argTypes:
    - stream_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 344
    functionName: Read
    functionSourceFile: /src/vlc/modules/stream_filter/prefetch.c
    functionUses: 50
    functionsReached:
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_interrupt_forward_start
    - memcpy
    - msg_Err
    - BufferLevel
    - vlc_interrupt_forward_stop
    - vlc_cond_wait
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Read(stream_t *stream, void *buf, size_t buflen)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/stream_filter/prefetch.c:353,1
    - Dst: va_arg
      Src: /src/vlc/modules/stream_filter/prefetch.c:356,1
    - Dst: va_arg
      Src: /src/vlc/modules/stream_filter/prefetch.c:359,1
    - Dst: va_arg
      Src: /src/vlc/modules/stream_filter/prefetch.c:362,1
    - Dst: va_arg
      Src: /src/vlc/modules/stream_filter/prefetch.c:367,1
    - Dst: va_arg
      Src: /src/vlc/modules/stream_filter/prefetch.c:372,1
    - Dst: va_arg
      Src: /src/vlc/modules/stream_filter/prefetch.c:375,1
    - Dst: va_arg
      Src: /src/vlc/modules/stream_filter/prefetch.c:385,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_filter/prefetch.c:385,1
    - Dst: va_arg
      Src: /src/vlc/modules/stream_filter/prefetch.c:393,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_filter/prefetch.c:395,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/stream_filter/prefetch.c:397,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_filter/prefetch.c:398,1
    - Dst: malloc
      Src: /src/vlc/modules/stream_filter/prefetch.c:406,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_filter/prefetch.c:407,1
    - Dst: va_arg
      Src: /src/vlc/modules/stream_filter/prefetch.c:412,1
    - Dst: va_arg
      Src: /src/vlc/modules/stream_filter/prefetch.c:413,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_filter/prefetch.c:414,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/stream_filter/prefetch.c:417,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_filter/prefetch.c:418,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/prefetch.c:425,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 74
    argCount: 3
    argNames:
    - stream
    - query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 429
    functionName: Control
    functionSourceFile: /src/vlc/modules/stream_filter/prefetch.c
    functionUses: 62
    functionsReached:
    - vlc_cond_signal
    - strdup
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - msg_Err
    - va_arg
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Control(stream_t *stream, int query, va_list args)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_CanFastSeek
      Src: /src/vlc/modules/stream_filter/prefetch.c:439,1
    - Dst: vlc_stream_GetPrivateIdState
      Src: /src/vlc/modules/stream_filter/prefetch.c:446,1
    - Dst: malloc
      Src: /src/vlc/modules/stream_filter/prefetch.c:450,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_filter/prefetch.c:451,1
    - Dst: vlc_stream_CanSeek
      Src: /src/vlc/modules/stream_filter/prefetch.c:454,1
    - Dst: vlc_stream_CanPause
      Src: /src/vlc/modules/stream_filter/prefetch.c:455,1
    - Dst: vlc_stream_CanPace
      Src: /src/vlc/modules/stream_filter/prefetch.c:456,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/stream_filter/prefetch.c:458,1
    - Dst: vlc_stream_GetMTime
      Src: /src/vlc/modules/stream_filter/prefetch.c:460,1
    - Dst: vlc_stream_GetPtsDelay
      Src: /src/vlc/modules/stream_filter/prefetch.c:463,1
    - Dst: vlc_stream_GetContentType
      Src: /src/vlc/modules/stream_filter/prefetch.c:464,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/stream_filter/prefetch.c:473,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/stream_filter/prefetch.c:474,1
    - Dst: stream_Size
      Src: /src/vlc/modules/stream_filter/prefetch.c:477,1
    - Dst: malloc
      Src: /src/vlc/modules/stream_filter/prefetch.c:484,1
    - Dst: vlc_interrupt_create
      Src: /src/vlc/modules/stream_filter/prefetch.c:488,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_filter/prefetch.c:489,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/stream_filter/prefetch.c:492,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/stream_filter/prefetch.c:493,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/stream_filter/prefetch.c:494,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/stream_filter/prefetch.c:498,1
    - Dst: vlc_interrupt_destroy
      Src: /src/vlc/modules/stream_filter/prefetch.c:500,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_filter/prefetch.c:504,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/prefetch.c:511,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/prefetch.c:512,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/prefetch.c:513,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 515
    functionName: Open
    functionSourceFile: /src/vlc/modules/stream_filter/prefetch.c
    functionUses: 37
    functionsReached:
    - vlc_interrupt_create
    - vlc_stream_CanFastSeek
    - vlc_stream_GetContentType
    - vlc_stream_CanPause
    - vlc_interrupt_destroy
    - vlc_cond_init
    - msg_Dbg
    - vlc_stream_GetSize
    - var_InheritInteger
    - vlc_stream_GetPrivateIdState
    - vlc_stream_GetPtsDelay
    - vlc_stream_CanPace
    - stream_Size
    - vlc_clone
    - vlc_stream_GetMTime
    - vlc_mutex_init
    - free
    - vlc_stream_CanSeek
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_filter/prefetch.c:526,1
    - Dst: vlc_interrupt_kill
      Src: /src/vlc/modules/stream_filter/prefetch.c:527,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/stream_filter/prefetch.c:528,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_filter/prefetch.c:529,1
    - Dst: vlc_join
      Src: /src/vlc/modules/stream_filter/prefetch.c:531,1
    - Dst: vlc_interrupt_destroy
      Src: /src/vlc/modules/stream_filter/prefetch.c:532,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/prefetch.c:538,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/prefetch.c:540,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/prefetch.c:541,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/prefetch.c:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 543
    functionName: Close
    functionSourceFile: /src/vlc/modules/stream_filter/prefetch.c
    functionUses: 115
    functionsReached:
    - vlc_interrupt_destroy
    - vlc_cond_signal
    - vlc_interrupt_kill
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - free
    - vlc_join
    linkageType: ''
    returnType: void
    signature: void Close (vlc_object_t *obj)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/stream_filter/inflate.c:45,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/stream_filter/inflate.c:59,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/inflate.c:67,1
    - Dst: inflate
      Src: /src/vlc/modules/stream_filter/inflate.c:71,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_filter/inflate.c:75,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/inflate.c:81,1
    - Dst: memmove
      Src: /src/vlc/modules/stream_filter/inflate.c:88,1
    - Dst: Read
      Src: /src/vlc/modules/stream_filter/inflate.c:90,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/inflate.c:93,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 3
    argNames:
    - stream
    - buf
    - buflen
    argTypes:
    - stream_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 95
    functionName: Read
    functionSourceFile: /src/vlc/modules/stream_filter/inflate.c
    functionUses: 51
    functionsReached:
    - inflate
    - Read
    - msg_Err
    - memmove
    - vlc_stream_Read
    - msg_Dbg
    - unlikely
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Read(stream_t *stream, void *buf, size_t buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - offset
    argTypes:
    - stream_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: Seek
    functionSourceFile: /src/vlc/modules/stream_filter/inflate.c
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Seek(stream_t *stream, uint64_t offset)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/stream_filter/inflate.c:109,1
    - Dst: vlc_stream_vaControl
      Src: /src/vlc/modules/stream_filter/inflate.c:119,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/inflate.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 3
    argNames:
    - stream
    - query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 135
    functionName: Control
    functionSourceFile: /src/vlc/modules/stream_filter/inflate.c
    functionUses: 63
    functionsReached:
    - va_arg
    - vlc_stream_vaControl
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int Control(stream_t *stream, int query, va_list args)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/stream_filter/inflate.c:144,1
    - Dst: U16_AT
      Src: /src/vlc/modules/stream_filter/inflate.c:147,1
    - Dst: memcmp
      Src: /src/vlc/modules/stream_filter/inflate.c:150,1
    - Dst: malloc
      Src: /src/vlc/modules/stream_filter/inflate.c:155,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_filter/inflate.c:156,1
    - Dst: inflateInit2
      Src: /src/vlc/modules/stream_filter/inflate.c:166,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/inflate.c:169,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 178
    functionName: Open
    functionSourceFile: /src/vlc/modules/stream_filter/inflate.c
    functionUses: 37
    functionsReached:
    - vlc_stream_Peek
    - U16_AT
    - inflateInit2
    - free
    - unlikely
    - malloc
    - memcmp
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inflateEnd
      Src: /src/vlc/modules/stream_filter/inflate.c:185,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/inflate.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 187
    functionName: Close
    functionSourceFile: /src/vlc/modules/stream_filter/inflate.c
    functionUses: 115
    functionsReached:
    - free
    - inflateEnd
    linkageType: ''
    returnType: void
    signature: void Close (vlc_object_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - i_error
    - p_errors_messages
    argTypes:
    - int
    - struct error_messages_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 109
    functionName: GetErrorMessage
    functionSourceFile: /src/vlc/modules/stream_filter/aribcam.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char * GetErrorMessage( const int i_error,\n                               const
      struct error_messages_s *p_errors_messages )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __MIN
      Src: /src/vlc/modules/stream_filter/aribcam.c:119,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_filter/aribcam.c:120,1
    - Dst: block_Release
      Src: /src/vlc/modules/stream_filter/aribcam.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - p_stream
    - p_data
    - i_toread
    argTypes:
    - stream_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 139
    functionName: RemainRead
    functionSourceFile: /src/vlc/modules/stream_filter/aribcam.c
    functionUses: 0
    functionsReached:
    - memcpy
    - block_Release
    - __MIN
    linkageType: ''
    returnType: size_t
    signature: size_t RemainRead( stream_t *p_stream, uint8_t *p_data, size_t i_toread
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/stream_filter/aribcam.c:146,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_filter/aribcam.c:149,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/stream_filter/aribcam.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - p_stream
    - p_data
    - i_size
    argTypes:
    - stream_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 154
    functionName: RemainAdd
    functionSourceFile: /src/vlc/modules/stream_filter/aribcam.c
    functionUses: 0
    functionsReached:
    - block_Alloc
    - memcpy
    - block_ChainAppend
    linkageType: ''
    returnType: bool
    signature: bool RemainAdd( stream_t *p_stream, const uint8_t *p_data, size_t i_size
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_filter/aribcam.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - stream_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: RemainFlush
    functionSourceFile: /src/vlc/modules/stream_filter/aribcam.c
    functionUses: 0
    functionsReached:
    - block_ChainRelease
    linkageType: ''
    returnType: void
    signature: void RemainFlush( stream_sys_t *p_sys )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RemainRead
      Src: /src/vlc/modules/stream_filter/aribcam.c:176,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/stream_filter/aribcam.c:184,1
    - Dst: stream_sys_t*::p_b25::put
      Src: /src/vlc/modules/stream_filter/aribcam.c:188,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/aribcam.c:191,1
    - Dst: GetErrorMessage
      Src: /src/vlc/modules/stream_filter/aribcam.c:192,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/aribcam.c:199,1
    - Dst: stream_sys_t*::p_b25::get
      Src: /src/vlc/modules/stream_filter/aribcam.c:204,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/aribcam.c:207,1
    - Dst: GetErrorMessage
      Src: /src/vlc/modules/stream_filter/aribcam.c:208,1
    - Dst: RemainAdd
      Src: /src/vlc/modules/stream_filter/aribcam.c:215,1
    - Dst: __MIN
      Src: /src/vlc/modules/stream_filter/aribcam.c:218,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_filter/aribcam.c:219,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - p_stream
    - p_buf
    - i_toread
    argTypes:
    - stream_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 227
    functionName: Read
    functionSourceFile: /src/vlc/modules/stream_filter/aribcam.c
    functionUses: 52
    functionsReached:
    - RemainAdd
    - RemainRead
    - memcpy
    - GetErrorMessage
    - msg_Err
    - vlc_stream_Read
    - __MIN
    - stream_sys_t*::p_b25::put
    - stream_sys_t*::p_b25::get
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Read( stream_t *p_stream, void *p_buf, size_t i_toread )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/stream_filter/aribcam.c:235,1
    - Dst: RemainFlush
      Src: /src/vlc/modules/stream_filter/aribcam.c:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_stream
    - i_pos
    argTypes:
    - stream_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 239
    functionName: Seek
    functionSourceFile: /src/vlc/modules/stream_filter/aribcam.c
    functionUses: 34
    functionsReached:
    - vlc_stream_Seek
    - RemainFlush
    linkageType: ''
    returnType: int
    signature: int Seek( stream_t *p_stream, uint64_t i_pos )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_vaControl
      Src: /src/vlc/modules/stream_filter/aribcam.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_stream
    - i_query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: Control
    functionSourceFile: /src/vlc/modules/stream_filter/aribcam.c
    functionUses: 64
    functionsReached:
    - vlc_stream_vaControl
    linkageType: ''
    returnType: int
    signature: int Control( stream_t *p_stream, int i_query, va_list args )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: stream_Size
      Src: /src/vlc/modules/stream_filter/aribcam.c:253,1
    - Dst: calloc
      Src: /src/vlc/modules/stream_filter/aribcam.c:257,1
    - Dst: create_arib_std_b25
      Src: /src/vlc/modules/stream_filter/aribcam.c:261,1
    - Dst: stream_sys_t*::p_b25::set_multi2_round
      Src: /src/vlc/modules/stream_filter/aribcam.c:264,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_filter/aribcam.c:265,1
    - Dst: stream_sys_t*::p_b25::set_strip
      Src: /src/vlc/modules/stream_filter/aribcam.c:267,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_filter/aribcam.c:268,1
    - Dst: stream_sys_t*::p_b25::set_emm_proc
      Src: /src/vlc/modules/stream_filter/aribcam.c:270,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_filter/aribcam.c:271,1
    - Dst: stream_sys_t*::p_b25::set_unit_size
      Src: /src/vlc/modules/stream_filter/aribcam.c:274,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_filter/aribcam.c:275,1
    - Dst: create_b_cas_card
      Src: /src/vlc/modules/stream_filter/aribcam.c:277,1
    - Dst: stream_sys_t*::p_bcas::init
      Src: /src/vlc/modules/stream_filter/aribcam.c:280,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_filter/aribcam.c:284,1
    - Dst: GetErrorMessage
      Src: /src/vlc/modules/stream_filter/aribcam.c:285,1
    - Dst: stream_sys_t*::p_bcas::get_id
      Src: /src/vlc/modules/stream_filter/aribcam.c:290,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_filter/aribcam.c:294,1
    - Dst: stream_sys_t*::p_bcas::get_init_status
      Src: /src/vlc/modules/stream_filter/aribcam.c:300,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_filter/aribcam.c:302,1
    - Dst: stream_sys_t*::p_b25::set_b_cas_card
      Src: /src/vlc/modules/stream_filter/aribcam.c:306,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/aribcam.c:309,1
    - Dst: GetErrorMessage
      Src: /src/vlc/modules/stream_filter/aribcam.c:310,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/aribcam.c:315,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/aribcam.c:319,1
    - Dst: Close
      Src: /src/vlc/modules/stream_filter/aribcam.c:330,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_filter/aribcam.c:330,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 1
    argNames:
    - p_object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 332
    functionName: Open
    functionSourceFile: /src/vlc/modules/stream_filter/aribcam.c
    functionUses: 37
    functionsReached:
    - create_arib_std_b25
    - stream_sys_t*::p_bcas::get_id
    - stream_Size
    - stream_sys_t*::p_b25::set_b_cas_card
    - stream_sys_t*::p_b25::set_emm_proc
    - create_b_cas_card
    - stream_sys_t*::p_bcas::init
    - GetErrorMessage
    - calloc
    - stream_sys_t*::p_bcas::get_init_status
    - stream_sys_t*::p_b25::set_multi2_round
    - msg_Err
    - msg_Dbg
    - stream_sys_t*::p_b25::set_strip
    - VLC_OBJECT
    - msg_Warn
    - Close
    - stream_sys_t*::p_b25::set_unit_size
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_object )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stream_sys_t*::p_bcas::release
      Src: /src/vlc/modules/stream_filter/aribcam.c:340,1
    - Dst: stream_sys_t*::p_b25::release
      Src: /src/vlc/modules/stream_filter/aribcam.c:343,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/aribcam.c:345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p_object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 346
    functionName: Close
    functionSourceFile: /src/vlc/modules/stream_filter/aribcam.c
    functionUses: 116
    functionsReached:
    - free
    - stream_sys_t*::p_bcas::release
    - stream_sys_t*::p_b25::release
    linkageType: ''
    returnType: void
    signature: void Close ( vlc_object_t *p_object )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_vaControl
      Src: /src/vlc/modules/stream_filter/accesstweaks.c:90,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - p_stream
    - i_query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 91
    functionName: Control
    functionSourceFile: /src/vlc/modules/stream_filter/accesstweaks.c
    functionUses: 65
    functionsReached:
    - vlc_stream_vaControl
    linkageType: ''
    returnType: int
    signature: int Control( stream_t *p_stream, int i_query, va_list args )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/stream_filter/accesstweaks.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - buffer
    - i_read
    argTypes:
    - stream_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: Read
    functionSourceFile: /src/vlc/modules/stream_filter/accesstweaks.c
    functionUses: 53
    functionsReached:
    - vlc_stream_Read
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Read( stream_t *s, void *buffer, size_t i_read )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/stream_filter/accesstweaks.c:102,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/stream_filter/accesstweaks.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - offset
    argTypes:
    - stream_t*
    - uint64_t
    assertStmts:
    - condition: ( p_sys->b_seek )
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/vlc/modules/stream_filter/accesstweaks.c
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: Seek
    functionSourceFile: /src/vlc/modules/stream_filter/accesstweaks.c
    functionUses: 35
    functionsReached:
    - vlc_stream_Seek
    - assert
    linkageType: ''
    returnType: int
    signature: int Seek( stream_t *s, uint64_t offset )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/stream_filter/accesstweaks.c:109,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_filter/accesstweaks.c:110,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/stream_filter/accesstweaks.c:117,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/stream_filter/accesstweaks.c:118,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/stream_filter/accesstweaks.c:122,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/stream_filter/accesstweaks.c:129,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/stream_filter/accesstweaks.c:131,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/stream_filter/accesstweaks.c:136,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - p_object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 148
    functionName: Open
    functionSourceFile: /src/vlc/modules/stream_filter/accesstweaks.c
    functionUses: 37
    functionsReached:
    - vlc_obj_malloc
    - var_InheritBool
    - unlikely
    - vlc_stream_GetSize
    - vlc_stream_Control
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_object )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/stream_filter/record.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 95
    functionName: Open
    functionSourceFile: /src/vlc/modules/stream_filter/record.c
    functionUses: 37
    functionsReached:
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open ( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Stop
      Src: /src/vlc/modules/stream_filter/record.c:106,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/record.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: Close
    functionSourceFile: /src/vlc/modules/stream_filter/record.c
    functionUses: 116
    functionsReached:
    - free
    - Stop
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/stream_filter/record.c:118,1
    - Dst: Write
      Src: /src/vlc/modules/stream_filter/record.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - s
    - p_read
    - i_read
    argTypes:
    - stream_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 128
    functionName: Read
    functionSourceFile: /src/vlc/modules/stream_filter/record.c
    functionUses: 54
    functionsReached:
    - Write
    - vlc_stream_Read
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Read( stream_t *s, void *p_read, size_t i_read )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/stream_filter/record.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - offset
    argTypes:
    - stream_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: Seek
    functionSourceFile: /src/vlc/modules/stream_filter/record.c
    functionUses: 36
    functionsReached:
    - vlc_stream_Seek
    linkageType: ''
    returnType: int
    signature: int Seek( stream_t *s, uint64_t offset )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_vaControl
      Src: /src/vlc/modules/stream_filter/record.c:138,1
    - Dst: va_arg
      Src: /src/vlc/modules/stream_filter/record.c:141,1
    - Dst: va_arg
      Src: /src/vlc/modules/stream_filter/record.c:145,1
    - Dst: va_arg
      Src: /src/vlc/modules/stream_filter/record.c:146,1
    - Dst: Start
      Src: /src/vlc/modules/stream_filter/record.c:153,1
    - Dst: Stop
      Src: /src/vlc/modules/stream_filter/record.c:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - i_query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 156
    functionName: Control
    functionSourceFile: /src/vlc/modules/stream_filter/record.c
    functionUses: 67
    functionsReached:
    - va_arg
    - vlc_stream_vaControl
    - Start
    - Stop
    linkageType: ''
    returnType: int
    signature: int Control( stream_t *s, int i_query, va_list args )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/stream_filter/record.c:160,1
    - Dst: var_Type
      Src: /src/vlc/modules/stream_filter/record.c:162,1
    - Dst: var_SetString
      Src: /src/vlc/modules/stream_filter/record.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - obj
    - file
    argTypes:
    - vlc_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: set_record_file_var
    functionSourceFile: /src/vlc/modules/stream_filter/record.c
    functionUses: 1
    functionsReached:
    - vlc_object_parent
    - var_Type
    - var_SetString
    linkageType: ''
    returnType: void
    signature: void set_record_file_var(vlc_object_t *obj, const char *file)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: var_CreateGetNonEmptyString
      Src: /src/vlc/modules/stream_filter/record.c:188,1
    - Dst: config_GetUserDir
      Src: /src/vlc/modules/stream_filter/record.c:190,1
    - Dst: input_item_CreateFilename
      Src: /src/vlc/modules/stream_filter/record.c:199,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/record.c:202,1
    - Dst: vlc_fopen
      Src: /src/vlc/modules/stream_filter/record.c:207,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/record.c:210,1
    - Dst: set_record_file_var
      Src: /src/vlc/modules/stream_filter/record.c:215,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_filter/record.c:215,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_filter/record.c:217,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/record.c:218,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - s
    - dir_path
    - psz_extension
    argTypes:
    - stream_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 224
    functionName: Start
    functionSourceFile: /src/vlc/modules/stream_filter/record.c
    functionUses: 48
    functionsReached:
    - set_record_file_var
    - var_CreateGetNonEmptyString
    - free
    - vlc_fopen
    - input_item_CreateFilename
    - msg_Dbg
    - VLC_OBJECT
    - config_GetUserDir
    linkageType: ''
    returnType: int
    signature: int Start( stream_t *s, const char *dir_path, const char *psz_extension
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/stream_filter/record.c:229,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_filter/record.c:231,1
    - Dst: fclose
      Src: /src/vlc/modules/stream_filter/record.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream_t*
    assertStmts:
    - condition: ( p_sys->f )
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/vlc/modules/stream_filter/record.c
    constantsTouched: []
    func_position:
      end: 235
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 235
    functionName: Stop
    functionSourceFile: /src/vlc/modules/stream_filter/record.c
    functionUses: 36
    functionsReached:
    - assert
    - msg_Dbg
    - fclose
    linkageType: ''
    returnType: int
    signature: int Stop( stream_t *s )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/stream_filter/record.c:241,1
    - Dst: fwrite
      Src: /src/vlc/modules/stream_filter/record.c:246,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/record.c:252,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/record.c:254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - s
    - p_buffer
    - i_buffer
    argTypes:
    - stream_t*
    - uint8_t*
    - size_t
    assertStmts:
    - condition: ( p_sys->f )
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/vlc/modules/stream_filter/record.c
    constantsTouched: []
    func_position:
      end: 256
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 256
    functionName: Write
    functionSourceFile: /src/vlc/modules/stream_filter/record.c
    functionUses: 46
    functionsReached:
    - assert
    - msg_Err
    - fwrite
    linkageType: ''
    returnType: void
    signature: void Write( stream_t *s, const uint8_t *p_buffer, size_t i_buffer )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/stream_filter/skiptags.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: skiptags_sys_New
    functionSourceFile: /src/vlc/modules/stream_filter/skiptags.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: struct skiptags_sys_t
    signature: struct skiptags_sys_t * skiptags_sys_New(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_filter/skiptags.c:58,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/skiptags.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sys
    argTypes:
    - struct skiptags_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: skiptags_sys_Delete
    functionSourceFile: /src/vlc/modules/stream_filter/skiptags.c
    functionUses: 0
    functionsReached:
    - block_ChainRelease
    - free
    linkageType: ''
    returnType: void
    signature: void skiptags_sys_Delete(struct skiptags_sys_t *sys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/stream_filter/skiptags.c:67,1
    - Dst: memcmp
      Src: /src/vlc/modules/stream_filter/skiptags.c:69,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_filter/skiptags.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 83
    functionName: SkipID3Tag
    functionSourceFile: /src/vlc/modules/stream_filter/skiptags.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    - memcmp
    - msg_Dbg
    linkageType: ''
    returnType: uint_fast32_t
    signature: uint_fast32_t SkipID3Tag(stream_t *s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/stream_filter/skiptags.c:90,1
    - Dst: memcmp
      Src: /src/vlc/modules/stream_filter/skiptags.c:92,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/stream_filter/skiptags.c:95,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/stream_filter/skiptags.c:99,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/stream_filter/skiptags.c:103,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_filter/skiptags.c:115,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 118
    functionName: SkipAPETag
    functionSourceFile: /src/vlc/modules/stream_filter/skiptags.c
    functionUses: 0
    functionsReached:
    - GetDWLE
    - vlc_stream_Peek
    - memcmp
    - msg_Dbg
    linkageType: ''
    returnType: uint_fast32_t
    signature: uint_fast32_t SkipAPETag(stream_t *s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/stream_filter/skiptags.c:123,1
    - Dst: skipper
      Src: /src/vlc/modules/stream_filter/skiptags.c:124,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/stream_filter/skiptags.c:129,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_filter/skiptags.c:130,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/stream_filter/skiptags.c:132,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/skiptags.c:133,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_filter/skiptags.c:139,1
    - Dst: __MIN
      Src: /src/vlc/modules/stream_filter/skiptags.c:152,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/stream_filter/skiptags.c:156,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_filter/skiptags.c:158,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/stream_filter/skiptags.c:160,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/skiptags.c:161,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - s
    - pp_block
    - pi_tags_count
    argTypes:
    - stream_t*
    - block_t**
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 172
    functionName: SkipTag
    functionSourceFile: /src/vlc/modules/stream_filter/skiptags.c
    functionUses: 0
    functionsReached:
    - block_ChainRelease
    - msg_Err
    - vlc_stream_Read
    - __MIN
    - skipper
    - vlc_stream_Block
    - vlc_stream_Seek
    - vlc_stream_Tell
    - unlikely
    linkageType: ''
    returnType: bool
    signature: "bool SkipTag(stream_t *s, uint_fast32_t (*skipper)(stream_t *),\n
      \                   block_t **pp_block, unsigned *pi_tags_count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/stream_filter/skiptags.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stream
    - buf
    - buflen
    argTypes:
    - stream_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: Read
    functionSourceFile: /src/vlc/modules/stream_filter/skiptags.c
    functionUses: 56
    functionsReached:
    - vlc_stream_Read
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Read(stream_t *stream, void *buf, size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/stream_filter/skiptags.c:183,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/stream_filter/skiptags.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - offset
    argTypes:
    - stream_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 186
    functionName: Seek
    functionSourceFile: /src/vlc/modules/stream_filter/skiptags.c
    functionUses: 38
    functionsReached:
    - vlc_stream_Seek
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Seek(stream_t *stream, uint64_t offset)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/stream_filter/skiptags.c:200,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/stream_filter/skiptags.c:206,1
    - Dst: va_arg
      Src: /src/vlc/modules/stream_filter/skiptags.c:208,1
    - Dst: vlc_stream_vaControl
      Src: /src/vlc/modules/stream_filter/skiptags.c:213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - stream
    - query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 214
    functionName: Control
    functionSourceFile: /src/vlc/modules/stream_filter/skiptags.c
    functionUses: 68
    functionsReached:
    - va_arg
    - vlc_stream_vaControl
    - vlc_stream_GetSize
    linkageType: ''
    returnType: int
    signature: int Control(stream_t *stream, int query, va_list args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipTag
      Src: /src/vlc/modules/stream_filter/skiptags.c:225,1
    - Dst: SkipTag
      Src: /src/vlc/modules/stream_filter/skiptags.c:226,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/stream_filter/skiptags.c:236,1
    - Dst: skiptags_sys_New
      Src: /src/vlc/modules/stream_filter/skiptags.c:237,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/stream_filter/skiptags.c:239,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 250
    functionName: Open
    functionSourceFile: /src/vlc/modules/stream_filter/skiptags.c
    functionUses: 37
    functionsReached:
    - block_ChainRelease
    - vlc_stream_Tell
    - SkipTag
    - skiptags_sys_New
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: skiptags_sys_Delete
      Src: /src/vlc/modules/stream_filter/skiptags.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 258
    functionName: Close
    functionSourceFile: /src/vlc/modules/stream_filter/skiptags.c
    functionUses: 116
    functionsReached:
    - skiptags_sys_Delete
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcasestr
      Src: /src/vlc/modules/stream_filter/hds/hds.c:220,1
    - Dst: strcasestr
      Src: /src/vlc/modules/stream_filter/hds/hds.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: isFQUrl
    functionSourceFile: /src/vlc/modules/stream_filter/hds/hds.c
    functionUses: 0
    functionsReached:
    - strcasestr
    linkageType: ''
    returnType: bool
    signature: bool isFQUrl( const char* url )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/stream_filter/hds/hds.c:227,1
    - Dst: memcmp
      Src: /src/vlc/modules/stream_filter/hds/hds.c:233,1
    - Dst: FromCharset
      Src: /src/vlc/modules/stream_filter/hds/hds.c:235,1
    - Dst: memcmp
      Src: /src/vlc/modules/stream_filter/hds/hds.c:237,1
    - Dst: FromCharset
      Src: /src/vlc/modules/stream_filter/hds/hds.c:239,1
    - Dst: strndup
      Src: /src/vlc/modules/stream_filter/hds/hds.c:242,1
    - Dst: strstr
      Src: /src/vlc/modules/stream_filter/hds/hds.c:247,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 250
    functionName: isHDS
    functionSourceFile: /src/vlc/modules/stream_filter/hds/hds.c
    functionUses: 0
    functionsReached:
    - strndup
    - vlc_stream_Peek
    - free
    - strstr
    - FromCharset
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool isHDS( stream_t *s )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_array_count
      Src: /src/vlc/modules/stream_filter/hds/hds.c:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 269
    functionName: get_stream_size
    functionSourceFile: /src/vlc/modules/stream_filter/hds/hds.c
    functionUses: 0
    functionsReached:
    - vlc_array_count
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get_stream_size( stream_t* s )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: U32_AT
      Src: /src/vlc/modules/stream_filter/hds/hds.c:279,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/hds/hds.c:283,1
    - Dst: memcmp
      Src: /src/vlc/modules/stream_filter/hds/hds.c:290,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/hds/hds.c:292,1
    - Dst: memchr
      Src: /src/vlc/modules/stream_filter/hds/hds.c:312,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/hds/hds.c:315,1
    - Dst: strncmp
      Src: /src/vlc/modules/stream_filter/hds/hds.c:322,1
    - Dst: strlen
      Src: /src/vlc/modules/stream_filter/hds/hds.c:323,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/hds/hds.c:331,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/hds/hds.c:338,1
    - Dst: U32_AT
      Src: /src/vlc/modules/stream_filter/hds/hds.c:342,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/hds/hds.c:347,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/hds/hds.c:353,1
    - Dst: U32_AT
      Src: /src/vlc/modules/stream_filter/hds/hds.c:361,1
    - Dst: U32_AT
      Src: /src/vlc/modules/stream_filter/hds/hds.c:367,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 4
    argNames:
    - p_this
    - s
    - data
    - data_end
    argTypes:
    - vlc_object_t*
    - hds_stream_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 375
    functionName: parse_asrt
    functionSourceFile: /src/vlc/modules/stream_filter/hds/hds.c
    functionUses: 0
    functionsReached:
    - U32_AT
    - strlen
    - msg_Err
    - strncmp
    - memchr
    - memcmp
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t * parse_asrt( vlc_object_t* p_this,\n                        hds_stream_t*
      s,\n                        uint8_t* data,\n                        uint8_t*
      data_end )"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: U32_AT
      Src: /src/vlc/modules/stream_filter/hds/hds.c:384,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/hds/hds.c:388,1
    - Dst: memcmp
      Src: /src/vlc/modules/stream_filter/hds/hds.c:394,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/hds/hds.c:396,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/hds/hds.c:406,1
    - Dst: U32_AT
      Src: /src/vlc/modules/stream_filter/hds/hds.c:410,1
    - Dst: memchr
      Src: /src/vlc/modules/stream_filter/hds/hds.c:424,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/hds/hds.c:427,1
    - Dst: strncmp
      Src: /src/vlc/modules/stream_filter/hds/hds.c:434,1
    - Dst: strlen
      Src: /src/vlc/modules/stream_filter/hds/hds.c:435,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/hds/hds.c:444,1
    - Dst: U32_AT
      Src: /src/vlc/modules/stream_filter/hds/hds.c:448,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/hds/hds.c:455,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/hds/hds.c:461,1
    - Dst: U32_AT
      Src: /src/vlc/modules/stream_filter/hds/hds.c:465,1
    - Dst: U64_AT
      Src: /src/vlc/modules/stream_filter/hds/hds.c:468,1
    - Dst: U32_AT
      Src: /src/vlc/modules/stream_filter/hds/hds.c:471,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 4
    argNames:
    - p_this
    - s
    - data
    - data_end
    argTypes:
    - vlc_object_t*
    - hds_stream_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 494
    functionName: parse_afrt
    functionSourceFile: /src/vlc/modules/stream_filter/hds/hds.c
    functionUses: 0
    functionsReached:
    - U32_AT
    - U64_AT
    - strlen
    - msg_Err
    - strncmp
    - memchr
    - memcmp
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t * parse_afrt( vlc_object_t* p_this,\n                        hds_stream_t*
      s,\n                        uint8_t* data,\n                        uint8_t*
      data_end )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/stream_filter/hds/hds.c:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 500
    functionName: chunk_new
    functionSourceFile: /src/vlc/modules/stream_filter/hds/hds.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: chunk_t
    signature: chunk_t * chunk_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREENULL
      Src: /src/vlc/modules/stream_filter/hds/hds.c:504,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 506
    functionName: chunk_free
    functionSourceFile: /src/vlc/modules/stream_filter/hds/hds.c
    functionUses: 0
    functionsReached:
    - free
    - FREENULL
    linkageType: ''
    returnType: void
    signature: void chunk_free( chunk_t * chunk )
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: U32_AT
      Src: /src/vlc/modules/stream_filter/hds/hds.c:515,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_filter/hds/hds.c:519,1
    - Dst: memcmp
      Src: /src/vlc/modules/stream_filter/hds/hds.c:524,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_filter/hds/hds.c:526,1
    - Dst: U32_AT
      Src: /src/vlc/modules/stream_filter/hds/hds.c:543,1
    - Dst: U64_AT
      Src: /src/vlc/modules/stream_filter/hds/hds.c:546,1
    - Dst: strndup
      Src: /src/vlc/modules/stream_filter/hds/hds.c:552,1
    - Dst: strlen
      Src: /src/vlc/modules/stream_filter/hds/hds.c:553,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_filter/hds/hds.c:556,1
    - Dst: strndup
      Src: /src/vlc/modules/stream_filter/hds/hds.c:569,1
    - Dst: strlen
      Src: /src/vlc/modules/stream_filter/hds/hds.c:571,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_filter/hds/hds.c:575,1
    - Dst: memchr
      Src: /src/vlc/modules/stream_filter/hds/hds.c:576,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/hds/hds.c:579,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_filter/hds/hds.c:587,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_filter/hds/hds.c:593,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/hds/hds.c:604,1
    - Dst: strndup
      Src: /src/vlc/modules/stream_filter/hds/hds.c:613,1
    - Dst: strnlen
      Src: /src/vlc/modules/stream_filter/hds/hds.c:615,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_filter/hds/hds.c:619,1
    - Dst: memchr
      Src: /src/vlc/modules/stream_filter/hds/hds.c:624,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/hds/hds.c:627,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_filter/hds/hds.c:633,1
    - Dst: memchr
      Src: /src/vlc/modules/stream_filter/hds/hds.c:638,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/hds/hds.c:641,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_filter/hds/hds.c:647,1
    - Dst: parse_asrt
      Src: /src/vlc/modules/stream_filter/hds/hds.c:657,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_filter/hds/hds.c:661,1
    - Dst: parse_afrt
      Src: /src/vlc/modules/stream_filter/hds/hds.c:671,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 99
    argCount: 4
    argNames:
    - p_this
    - s
    - data
    - data_end
    argTypes:
    - vlc_object_t*
    - hds_stream_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 672
    functionName: parse_BootstrapData
    functionSourceFile: /src/vlc/modules/stream_filter/hds/hds.c
    functionUses: 0
    functionsReached:
    - strndup
    - U32_AT
    - memchr
    - U64_AT
    - strnlen
    - strlen
    - parse_afrt
    - msg_Err
    - parse_asrt
    - msg_Warn
    - memcmp
    linkageType: ''
    returnType: void
    signature: "void parse_BootstrapData( vlc_object_t* p_this,\n                                 hds_stream_t
      * s,\n                                 uint8_t* data,\n                                 uint8_t*
      data_end )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 686
    functionName: is_whitespace
    functionSourceFile: /src/vlc/modules/stream_filter/hds/hds.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_whitespace( char c )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_whitespace
      Src: /src/vlc/modules/stream_filter/hds/hds.c:692,1
    - Dst: is_whitespace
      Src: /src/vlc/modules/stream_filter/hds/hds.c:699,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 702
    functionName: whitespace_substr
    functionSourceFile: /src/vlc/modules/stream_filter/hds/hds.c
    functionUses: 0
    functionsReached:
    - is_whitespace
    linkageType: ''
    returnType: void
    signature: "void whitespace_substr( char** start,\n                               char**
      end )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/hds/hds.c:718,1
    - Dst: U32_AT
      Src: /src/vlc/modules/stream_filter/hds/hds.c:723,1
    - Dst: U64_AT
      Src: /src/vlc/modules/stream_filter/hds/hds.c:733,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/hds/hds.c:738,1
    - Dst: memcmp
      Src: /src/vlc/modules/stream_filter/hds/hds.c:750,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 4
    argNames:
    - p_this
    - chunkdata
    - chunkdata_end
    - mdatptr
    argTypes:
    - vlc_object_t*
    - uint8_t*
    - uint8_t*
    - uint8_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 755
    functionName: find_chunk_mdat
    functionSourceFile: /src/vlc/modules/stream_filter/hds/hds.c
    functionUses: 0
    functionsReached:
    - U32_AT
    - U64_AT
    - memcmp
    - msg_Err
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t find_chunk_mdat( vlc_object_t* p_this,\n                                 uint8_t*
      chunkdata, uint8_t* chunkdata_end,\n                                 uint8_t**
      mdatptr )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/stream_filter/hds/hds.c:777,1
    - Dst: isFQUrl
      Src: /src/vlc/modules/stream_filter/hds/hds.c:779,1
    - Dst: asprintf
      Src: /src/vlc/modules/stream_filter/hds/hds.c:790,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/hds/hds.c:796,1
    - Dst: msg_Info
      Src: /src/vlc/modules/stream_filter/hds/hds.c:800,1
    - Dst: vlc_stream_NewURL
      Src: /src/vlc/modules/stream_filter/hds/hds.c:802,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/hds/hds.c:805,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:806,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:810,1
    - Dst: stream_Size
      Src: /src/vlc/modules/stream_filter/hds/hds.c:812,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/hds/hds.c:815,1
    - Dst: malloc
      Src: /src/vlc/modules/stream_filter/hds/hds.c:820,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/hds/hds.c:823,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/stream_filter/hds/hds.c:827,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/hds/hds.c:835,1
    - Dst: realloc
      Src: /src/vlc/modules/stream_filter/hds/hds.c:837,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/stream_filter/hds/hds.c:848,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 4
    argNames:
    - s
    - sys
    - stream
    - chunk
    argTypes:
    - stream_t*
    - stream_sys_t*
    - hds_stream_t*
    - chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 759
    functionDepth: 2
    functionLinenumber: 759
    functionLinenumberEnd: 850
    functionName: download_chunk
    functionSourceFile: /src/vlc/modules/stream_filter/hds/hds.c
    functionUses: 0
    functionsReached:
    - asprintf
    - stream_Size
    - strlen
    - realloc
    - vlc_stream_Delete
    - isFQUrl
    - msg_Err
    - free
    - msg_Info
    - vlc_stream_Read
    - malloc
    - vlc_stream_NewURL
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t * download_chunk( stream_t *s,\n                                stream_sys_t*
      sys,\n                                hds_stream_t* stream, chunk_t* chunk )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/stream_filter/hds/hds.c:854,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/stream_filter/hds/hds.c:860,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/stream_filter/hds/hds.c:866,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_filter/hds/hds.c:868,1
    - Dst: download_chunk
      Src: /src/vlc/modules/stream_filter/hds/hds.c:888,1
    - Dst: find_chunk_mdat
      Src: /src/vlc/modules/stream_filter/hds/hds.c:896,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/stream_filter/hds/hds.c:910,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_filter/hds/hds.c:914,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/stream_filter/hds/hds.c:916,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 852
    functionDepth: 3
    functionLinenumber: 852
    functionLinenumberEnd: 918
    functionName: download_thread
    functionSourceFile: /src/vlc/modules/stream_filter/hds/hds.c
    functionUses: 0
    functionsReached:
    - vlc_restorecancel
    - vlc_thread_set_name
    - download_chunk
    - vlc_mutex_lock
    - vlc_mutex_unlock
    - vlc_array_count
    - vlc_savecancel
    - find_chunk_mdat
    - vlc_cond_wait
    linkageType: ''
    returnType: void
    signature: void * download_thread( void* p )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: chunk_new
      Src: /src/vlc/modules/stream_filter/hds/hds.c:926,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/hds/hds.c:930,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/hds/hds.c:966,1
    - Dst: chunk_free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:967,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1008,1
    - Dst: chunk_free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1009,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 64
    argCount: 3
    argNames:
    - s
    - last_chunk
    - hds_stream
    argTypes:
    - stream_t*
    - chunk_t*
    - hds_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 920
    functionDepth: 2
    functionLinenumber: 920
    functionLinenumberEnd: 1046
    functionName: generate_new_chunk
    functionSourceFile: /src/vlc/modules/stream_filter/hds/hds.c
    functionUses: 0
    functionsReached:
    - chunk_new
    - chunk_free
    - msg_Err
    linkageType: ''
    returnType: chunk_t
    signature: "chunk_t * generate_new_chunk(\n    stream_t* s,\n    chunk_t* last_chunk,\n
      \   hds_stream_t* hds_stream )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1053,1
    - Dst: generate_new_chunk
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1060,1
    - Dst: generate_new_chunk
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1077,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1084,1
    - Dst: chunk_free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1090,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1098,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - s
    - hds_stream
    argTypes:
    - stream_t*
    - hds_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1048
    functionDepth: 3
    functionLinenumber: 1048
    functionLinenumberEnd: 1099
    functionName: maintain_live_chunks
    functionSourceFile: /src/vlc/modules/stream_filter/hds/hds.c
    functionUses: 0
    functionsReached:
    - chunk_free
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - generate_new_chunk
    linkageType: ''
    returnType: void
    signature: "void maintain_live_chunks(\n    stream_t *s,\n    hds_stream_t* hds_stream\n
      \   )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1104,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1109,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1115,1
    - Dst: isFQUrl
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1120,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1122,1
    - Dst: asprintf
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1130,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1142,1
    - Dst: vlc_stream_NewURL
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1143,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1146,1
    - Dst: stream_Size
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1150,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1153,1
    - Dst: malloc
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1157,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1158,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1162,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1168,1
    - Dst: parse_BootstrapData
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1169,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1169,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1171,1
    - Dst: maintain_live_chunks
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1172,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1175,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1178,1
    - Dst: vlc_tick_wait
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1181,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1182,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1188,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1190,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1102
    functionDepth: 4
    functionLinenumber: 1102
    functionLinenumberEnd: 1192
    functionName: live_thread
    functionSourceFile: /src/vlc/modules/stream_filter/hds/hds.c
    functionUses: 0
    functionsReached:
    - vlc_array_count
    - asprintf
    - vlc_tick_now
    - vlc_restorecancel
    - vlc_mutex_lock
    - maintain_live_chunks
    - msg_Err
    - vlc_stream_Read
    - vlc_tick_from_samples
    - vlc_savecancel
    - vlc_stream_NewURL
    - strdup
    - vlc_thread_set_name
    - vlc_tick_wait
    - stream_Size
    - vlc_mutex_unlock
    - vlc_stream_Delete
    - isFQUrl
    - free
    - VLC_OBJECT
    - parse_BootstrapData
    - malloc
    linkageType: ''
    returnType: void
    signature: void * live_thread( void* p )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1196,1
    - Dst: xml_ReaderCreate
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1199,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - s
    - m
    argTypes:
    - stream_t*
    - manifest_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1194
    functionDepth: 1
    functionLinenumber: 1194
    functionLinenumberEnd: 1207
    functionName: init_Manifest
    functionSourceFile: /src/vlc/modules/stream_filter/hds/hds.c
    functionUses: 0
    functionsReached:
    - msg_Err
    - xml_ReaderCreate
    - memset
    linkageType: ''
    returnType: int
    signature: int init_Manifest( stream_t *s, manifest_t *m )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1212,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1216,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1217,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1218,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1219,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1224,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1225,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1226,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1227,1
    - Dst: xml_ReaderDelete
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - m
    argTypes:
    - manifest_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1209
    functionDepth: 1
    functionLinenumber: 1209
    functionLinenumberEnd: 1232
    functionName: cleanup_Manifest
    functionSourceFile: /src/vlc/modules/stream_filter/hds/hds.c
    functionUses: 0
    functionsReached:
    - free
    - xml_ReaderDelete
    linkageType: ''
    returnType: void
    signature: void cleanup_Manifest( manifest_t *m )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1239
    functionName: write_int_24
    functionSourceFile: /src/vlc/modules/stream_filter/hds/hds.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void write_int_24( uint8_t *p, uint32_t val )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1241
    functionDepth: 0
    functionLinenumber: 1241
    functionLinenumberEnd: 1247
    functionName: write_int_32
    functionSourceFile: /src/vlc/modules/stream_filter/hds/hds.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void write_int_32( uint8_t *p, uint32_t val )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1261,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1268,1
    - Dst: write_int_24
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1279,1
    - Dst: memset
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1283,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1287,1
    - Dst: write_int_32
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - pp_buffer
    - p_metadata_payload
    - metadata_payload_len
    argTypes:
    - uint8_t**
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1249
    functionDepth: 1
    functionLinenumber: 1249
    functionLinenumberEnd: 1295
    functionName: write_flv_header_and_metadata
    functionSourceFile: /src/vlc/modules/stream_filter/hds/hds.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    - write_int_32
    - write_int_24
    - malloc
    linkageType: ''
    returnType: size_t
    signature: "size_t write_flv_header_and_metadata(\n    uint8_t **pp_buffer,\n
      \   const uint8_t *p_metadata_payload,\n    size_t metadata_payload_len )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_flv_header_and_metadata
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_sys
    - stream
    argTypes:
    - stream_sys_t*
    - hds_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1297
    functionDepth: 2
    functionLinenumber: 1297
    functionLinenumberEnd: 1302
    functionName: initialize_header_and_metadata
    functionSourceFile: /src/vlc/modules/stream_filter/hds/hds.c
    functionUses: 0
    functionsReached:
    - write_flv_header_and_metadata
    linkageType: ''
    returnType: void
    signature: void initialize_header_and_metadata( stream_sys_t* p_sys, hds_stream_t
      *stream )
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1308,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1331,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1337,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1339,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1345,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1346,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1350,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1352,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1359,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1361,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1367,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1379,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1383,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1384,1
    - Dst: xml_ReaderNextAttr
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1388,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1390,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1392,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1394,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1398,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1400,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1402,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1406,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1408,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1410,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1414,1
    - Dst: atoi
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1416,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1422,1
    - Dst: xml_ReaderNextAttr
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1424,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1426,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1428,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1430,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1434,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1436,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1438,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1442,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1444,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1446,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1455,1
    - Dst: strlen
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1458,1
    - Dst: whitespace_substr
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1459,1
    - Dst: vlc_b64_decode_binary
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1463,1
    - Dst: msg_Err
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1466,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1469,1
    - Dst: atof
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1471,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1474,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1476,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1478,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1482,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1483,1
    - Dst: strlen
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1490,1
    - Dst: whitespace_substr
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1491,1
    - Dst: vlc_b64_decode_binary
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1495,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1499,1
    - Dst: memcmp
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1506,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1508,1
    - Dst: FREENULL
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1509,1
    - Dst: strcmp
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1523,1
    - Dst: malloc
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1525,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1528,1
    - Dst: memset
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1531,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1533,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1534,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1535,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1548,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1550,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1551,1
    - Dst: malloc
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1558,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1561,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1562,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1563,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1567,1
    - Dst: parse_BootstrapData
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1573,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1573,1
    - Dst: generate_new_chunk
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1580,1
    - Dst: generate_new_chunk
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1586,1
    - Dst: strdup
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1595,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1597,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1598,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1599,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1600,1
    - Dst: vlc_array_append_or_abort
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1607,1
    - Dst: msg_Info
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1609,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1617,1
    - Dst: cleanup_Manifest
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1618,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 192
    argCount: 2
    argNames:
    - s
    - m
    argTypes:
    - stream_t*
    - manifest_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1304
    functionDepth: 3
    functionLinenumber: 1304
    functionLinenumberEnd: 1621
    functionName: parse_Manifest
    functionSourceFile: /src/vlc/modules/stream_filter/hds/hds.c
    functionUses: 0
    functionsReached:
    - atoi
    - xml_ReaderNextNode
    - memcpy
    - cleanup_Manifest
    - FREENULL
    - memcmp
    - vlc_array_append_or_abort
    - msg_Err
    - vlc_cond_init
    - xml_ReaderNextAttr
    - msg_Dbg
    - atof
    - msg_Warn
    - whitespace_substr
    - generate_new_chunk
    - strdup
    - strcmp
    - memset
    - strlen
    - vlc_mutex_init
    - free
    - msg_Info
    - vlc_b64_decode_binary
    - VLC_OBJECT
    - parse_BootstrapData
    - malloc
    linkageType: ''
    returnType: int
    signature: int parse_Manifest( stream_t *s, manifest_t *m )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREENULL
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1626,1
    - Dst: FREENULL
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1628,1
    - Dst: FREENULL
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1630,1
    - Dst: FREENULL
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1631,1
    - Dst: FREENULL
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1632,1
    - Dst: FREENULL
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1635,1
    - Dst: chunk_free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1642,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1646,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - hds_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1647
      start: 1624
    functionDepth: 2
    functionLinenumber: 1624
    functionLinenumberEnd: 1647
    functionName: hds_free
    functionSourceFile: /src/vlc/modules/stream_filter/hds/hds.c
    functionUses: 0
    functionsReached:
    - free
    - chunk_free
    - FREENULL
    linkageType: ''
    returnType: void
    signature: void hds_free( hds_stream_t *p_stream )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hds_free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1652,1
    - Dst: vlc_array_clear
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1653,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1654,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - stream_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1655
      start: 1649
    functionDepth: 3
    functionLinenumber: 1649
    functionLinenumberEnd: 1655
    functionName: SysCleanup
    functionSourceFile: /src/vlc/modules/stream_filter/hds/hds.c
    functionUses: 0
    functionsReached:
    - free
    - hds_free
    - vlc_array_clear
    linkageType: ''
    returnType: void
    signature: void SysCleanup( stream_sys_t *p_sys )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isHDS
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1662,1
    - Dst: msg_Info
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1665,1
    - Dst: calloc
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1667,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1668,1
    - Dst: strndup
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1671,1
    - Dst: strcspn
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1672,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1675,1
    - Dst: strrchr
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1680,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1683,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1684,1
    - Dst: vlc_array_init
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1692,1
    - Dst: init_Manifest
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1695,1
    - Dst: parse_Manifest
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1695,1
    - Dst: cleanup_Manifest
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1697,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1705,1
    - Dst: msg_Info
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1711,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1713,1
    - Dst: SysCleanup
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1722,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1723,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1725
      start: 1657
    functionDepth: 4
    functionLinenumber: 1657
    functionLinenumberEnd: 1725
    functionName: Open
    functionSourceFile: /src/vlc/modules/stream_filter/hds/hds.c
    functionUses: 37
    functionsReached:
    - strndup
    - parse_Manifest
    - vlc_clone
    - init_Manifest
    - vlc_array_init
    - cleanup_Manifest
    - calloc
    - msg_Info
    - strcspn
    - free
    - SysCleanup
    - strrchr
    - unlikely
    - isHDS
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_array_count
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1733,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1736,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1739,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1740,1
    - Dst: vlc_join
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1742,1
    - Dst: vlc_join
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1746,1
    - Dst: SysCleanup
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1749,1
    - Dst: free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1750,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1727
    functionDepth: 4
    functionLinenumber: 1727
    functionLinenumberEnd: 1751
    functionName: Close
    functionSourceFile: /src/vlc/modules/stream_filter/hds/hds.c
    functionUses: 116
    functionsReached:
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - free
    - vlc_array_count
    - vlc_join
    - SysCleanup
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: initialize_header_and_metadata
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1758,1
    - Dst: memcpy
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1768,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - stream
    - p_sys
    - buffer
    - i_read
    argTypes:
    - hds_stream_t*
    - stream_sys_t*
    - void*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1753
    functionDepth: 3
    functionLinenumber: 1753
    functionLinenumberEnd: 1772
    functionName: send_flv_header
    functionSourceFile: /src/vlc/modules/stream_filter/hds/hds.c
    functionUses: 0
    functionsReached:
    - initialize_header_and_metadata
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int send_flv_header( hds_stream_t *stream, stream_sys_t* p_sys,\n
      \                           void* buffer, unsigned i_read )"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1799,1
    - Dst: generate_new_chunk
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1812,1
    - Dst: chunk_free
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1818,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1837,1
    - Dst: generate_new_chunk
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1846,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1862,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1863,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 52
    argCount: 4
    argNames:
    - s
    - buffer
    - read_len
    - stream
    argTypes:
    - stream_t*
    - uint8_t*
    - unsigned
    - hds_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1774
    functionDepth: 3
    functionLinenumber: 1774
    functionLinenumberEnd: 1867
    functionName: read_chunk_data
    functionSourceFile: /src/vlc/modules/stream_filter/hds/hds.c
    functionUses: 0
    functionsReached:
    - chunk_free
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - memcpy
    - generate_new_chunk
    linkageType: ''
    returnType: unsigned
    signature: "unsigned read_chunk_data(\n    stream_t* s,\n    uint8_t* buffer,
      unsigned read_len,\n    hds_stream_t* stream )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - stream_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1872
      start: 1869
    functionDepth: 0
    functionLinenumber: 1869
    functionLinenumberEnd: 1872
    functionName: header_unfinished
    functionSourceFile: /src/vlc/modules/stream_filter/hds/hds.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool header_unfinished( stream_sys_t *p_sys )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_array_count
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1878,1
    - Dst: unlikely
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1880,1
    - Dst: header_unfinished
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1886,1
    - Dst: send_flv_header
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1887,1
    - Dst: read_chunk_data
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1889,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - s
    - buffer
    - i_read
    argTypes:
    - stream_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1890
      start: 1874
    functionDepth: 4
    functionLinenumber: 1874
    functionLinenumberEnd: 1890
    functionName: Read
    functionSourceFile: /src/vlc/modules/stream_filter/hds/hds.c
    functionUses: 58
    functionsReached:
    - read_chunk_data
    - header_unfinished
    - send_flv_header
    - vlc_array_count
    - unlikely
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Read( stream_t *s, void *buffer, size_t i_read )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1907,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1907,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1908,1
    - Dst: get_stream_size
      Src: /src/vlc/modules/stream_filter/hds/hds.c:1911,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - s
    - i_query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1892
    functionDepth: 2
    functionLinenumber: 1892
    functionLinenumberEnd: 1917
    functionName: Control
    functionSourceFile: /src/vlc/modules/stream_filter/hds/hds.c
    functionUses: 68
    functionsReached:
    - var_InheritInteger
    - va_arg
    - VLC_TICK_FROM_MS
    - get_stream_size
    linkageType: ''
    returnType: int
    signature: int Control( stream_t *s, int i_query, va_list args )
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - p_stream
    - p_packet
    argTypes:
    - logical_stream_t*
    - ogg_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 66
    functionName: Ogg_IsKeyFrame
    functionSourceFile: /src/vlc/modules/demux/ogg_granule.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Ogg_IsKeyFrame( const logical_stream_t *p_stream, const ogg_packet
      *p_packet )
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - p_stream
    - i_granule
    argTypes:
    - logical_stream_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 88
    functionName: Ogg_GetKeyframeGranule
    functionSourceFile: /src/vlc/modules/demux/ogg_granule.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t Ogg_GetKeyframeGranule( const logical_stream_t *p_stream, int64_t
      i_granule )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - p_stream
    - i_granule
    argTypes:
    - logical_stream_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: Ogg_GranuleToSampleDelta
    functionSourceFile: /src/vlc/modules/demux/ogg_granule.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t Ogg_GranuleToSampleDelta( const logical_stream_t *p_stream,
      int64_t i_granule )
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - p_stream
    - i_granule
    argTypes:
    - logical_stream_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 129
    functionName: Ogg_GranuleToSample
    functionSourceFile: /src/vlc/modules/demux/ogg_granule.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t Ogg_GranuleToSample( const logical_stream_t *p_stream, int64_t
      i_granule )
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - p_stream
    - i_sample
    - b_start
    argTypes:
    - logical_stream_t*
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 166
    functionName: Ogg_ShiftPacketSample
    functionSourceFile: /src/vlc/modules/demux/ogg_granule.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: "int64_t Ogg_ShiftPacketSample( const logical_stream_t *p_stream,\n
      \                                     int64_t i_sample, bool b_start )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Ogg_ShiftPacketSample
      Src: /src/vlc/modules/demux/ogg_granule.c:170,1
    - Dst: date_Set
      Src: /src/vlc/modules/demux/ogg_granule.c:177,1
    - Dst: date_Increment
      Src: /src/vlc/modules/demux/ogg_granule.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - p_stream
    - i_sample
    - b_start
    argTypes:
    - logical_stream_t*
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 179
    functionName: Ogg_SampleToTime
    functionSourceFile: /src/vlc/modules/demux/ogg_granule.c
    functionUses: 0
    functionsReached:
    - Ogg_ShiftPacketSample
    - date_Set
    - date_Increment
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t Ogg_SampleToTime( const logical_stream_t *p_stream, int64_t
      i_sample, bool b_start )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_stream
    - i_granule
    argTypes:
    - logical_stream_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: Ogg_GranuleIsValid
    functionSourceFile: /src/vlc/modules/demux/ogg_granule.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Ogg_GranuleIsValid( const logical_stream_t *p_stream, int64_t
      i_granule )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Ogg_GranuleIsValid
      Src: /src/vlc/modules/demux/ogg_granule.c:190,1
    - Dst: Ogg_GranuleToSample
      Src: /src/vlc/modules/demux/ogg_granule.c:193,1
    - Dst: Ogg_GranuleToSampleDelta
      Src: /src/vlc/modules/demux/ogg_granule.c:196,1
    - Dst: Ogg_SampleToTime
      Src: /src/vlc/modules/demux/ogg_granule.c:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - p_stream
    - i_granule
    - b_start
    - b_pts
    argTypes:
    - logical_stream_t*
    - int64_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 201
    functionName: Ogg_GranuleToTime
    functionSourceFile: /src/vlc/modules/demux/ogg_granule.c
    functionUses: 0
    functionsReached:
    - Ogg_GranuleToSampleDelta
    - Ogg_GranuleToSample
    - Ogg_SampleToTime
    - Ogg_GranuleIsValid
    linkageType: ''
    returnType: vlc_tick_t
    signature: "vlc_tick_t Ogg_GranuleToTime( const logical_stream_t *p_stream, int64_t
      i_granule,\n                           bool b_start, bool b_pts )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/demux/mock.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - obj
    - name
    argTypes:
    - vlc_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: var_InheritSsize
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached:
    - var_InheritInteger
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t var_InheritSsize(vlc_object_t *obj, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/demux/mock.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - obj
    - name
    argTypes:
    - vlc_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: var_InheritUnsigned
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached:
    - var_InheritInteger
    linkageType: ''
    returnType: unsigned
    signature: unsigned var_InheritUnsigned(vlc_object_t *obj, const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritString
      Src: /src/vlc/modules/demux/mock.c:118,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/mock.c:122,1
    - Dst: free
      Src: /src/vlc/modules/demux/mock.c:125,1
    - Dst: strcpy
      Src: /src/vlc/modules/demux/mock.c:131,1
    - Dst: free
      Src: /src/vlc/modules/demux/mock.c:134,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mock.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - obj
    - name
    argTypes:
    - vlc_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 139
    functionName: var_InheritFourcc
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached:
    - var_InheritString
    - strlen
    - memcpy
    - free
    - strcpy
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t var_InheritFourcc(vlc_object_t *obj, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/vlc/modules/demux/mock.c:147,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mock.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - psz
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 151
    functionName: var_Read_vlc_fourcc_t
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - strncpy
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t var_Read_vlc_fourcc_t(const char *psz)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtoll
      Src: /src/vlc/modules/demux/mock.c:159,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/mock.c:161,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/mock.c:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - psz
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: var_Read_bool
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached:
    - strtoll
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool var_Read_bool(const char *psz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strtoll
      Src: /src/vlc/modules/demux/mock.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - psz
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: var_Read_integer
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached:
    - strtoll
    linkageType: ''
    returnType: int64_t
    signature: int64_t var_Read_integer(const char *psz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_Read_integer
      Src: /src/vlc/modules/demux/mock.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - psz
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: var_Read_unsigned
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached:
    - var_Read_integer
    linkageType: ''
    returnType: unsigned
    signature: unsigned var_Read_unsigned(const char *psz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atof
      Src: /src/vlc/modules/demux/mock.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - psz
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: var_Read_float
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached:
    - atof
    linkageType: ''
    returnType: float
    signature: float var_Read_float(const char *psz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: FREE_CB
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE_CB(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: NO_FREE
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NO_FREE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Y
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 199
    functionName: OPTIONS_AUDIO
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTIONS_AUDIO(Y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Y
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 211
    functionName: OPTIONS_VIDEO
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTIONS_VIDEO(Y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Y
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 217
    functionName: OPTIONS_SUB
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTIONS_SUB(Y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 243
    functionName: OPTIONS_GLOBAL
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTIONS_GLOBAL(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - var_name
    - ','
    - type
    - ','
    - module_header_type
    - ','
    - getter
    - ','
    - default_value
    - ','
    - free_cb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: DECLARE_OPTION
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_OPTION(var_name, type, module_header_type, getter, default_value,
      free_cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 247
    functionName: DECLARE_SUBOPTION
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_SUBOPTION(a,b,c,d,e,f,g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var_name
    - ','
    - member_name
    - ','
    - getter
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: READ
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ(var_name, member_name, getter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - var_name
    - ','
    - type
    - ','
    - module_header_type
    - ','
    - getter
    - ','
    - default_value
    - ','
    - free_cb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: READ_OPTION
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_OPTION(var_name, type, module_header_type, getter, default_value,
      free_cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - group_name
    - ','
    - var_name
    - ','
    - type
    - ','
    - module_header_type
    - ','
    - getter
    - ','
    - default_value
    - ','
    - free_cb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 254
    functionName: READ_SUBOPTION
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_SUBOPTION(group_name, var_name, type, module_header_type, getter,
      default_value, free_cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - var_name
    - ','
    - type
    - ','
    - module_header_type
    - ','
    - getter
    - ','
    - default_value
    - ','
    - free_cb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: DECLARE_MODULE_OPTIONS
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_MODULE_OPTIONS(var_name, type, module_header_type, getter,
      default_value, free_cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: DECLARE_MODULE_SUBOPTIONS
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_MODULE_SUBOPTIONS(a,b,c,d,e,f,g)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_input_title_New
      Src: /src/vlc/modules/demux/mock.c:337,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/mock.c:343,1
    - Dst: vlc_input_title_Delete
      Src: /src/vlc/modules/demux/mock.c:346,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mock.c:349,1
    - Dst: vlc_input_title_Delete
      Src: /src/vlc/modules/demux/mock.c:352,1
    - Dst: vlc_seekpoint_New
      Src: /src/vlc/modules/demux/mock.c:358,1
    - Dst: vlc_input_title_Delete
      Src: /src/vlc/modules/demux/mock.c:361,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/mock.c:366,1
    - Dst: vlc_input_title_Delete
      Src: /src/vlc/modules/demux/mock.c:370,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - demux
    - idx
    argTypes:
    - demux_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 376
    functionName: CreateTitle
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached:
    - asprintf
    - vlc_input_title_Delete
    - vlc_seekpoint_New
    - vlc_input_title_New
    - vlc_alloc
    linkageType: ''
    returnType: input_title_t
    signature: 'input_title_t *

      CreateTitle(demux_t *demux, size_t idx)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/vlc/modules/demux/mock.c:386,1
    - Dst: picture_New
      Src: /src/vlc/modules/demux/mock.c:390,1
    - Dst: memset
      Src: /src/vlc/modules/demux/mock.c:394,1
    - Dst: picture_Export
      Src: /src/vlc/modules/demux/mock.c:396,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mock.c:396,1
    - Dst: vlc_input_attachment_New
      Src: /src/vlc/modules/demux/mock.c:401,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mock.c:406,1
    - Dst: picture_Release
      Src: /src/vlc/modules/demux/mock.c:408,1
    - Dst: free
      Src: /src/vlc/modules/demux/mock.c:409,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - demux
    - prefix_name
    - index
    argTypes:
    - demux_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 411
    functionName: CreateAttachment
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached:
    - asprintf
    - block_Release
    - picture_New
    - memset
    - picture_Export
    - vlc_input_attachment_New
    - free
    - picture_Release
    - VLC_OBJECT
    linkageType: ''
    returnType: input_attachment_t
    signature: 'input_attachment_t *

      CreateAttachment(demux_t *demux, const char *prefix_name, size_t index)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/mock.c:418,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mock.c:422,1
    - Dst: CreateAttachment
      Src: /src/vlc/modules/demux/mock.c:428,1
    - Dst: free
      Src: /src/vlc/modules/demux/mock.c:434,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/mock.c:443,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - demux
    - attach_array_p
    - attach_count_p
    argTypes:
    - demux_t*
    - input_attachment_t***
    - int*
    assertStmts:
    - condition: (sys->attachment_count > 0)
      pos:
        line_end: 417
        line_start: 417
        source_file: /src/vlc/modules/demux/mock.c
    constantsTouched: []
    func_position:
      end: 452
      start: 413
    functionDepth: 3
    functionLinenumber: 413
    functionLinenumberEnd: 452
    functionName: GetAttachments
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached:
    - asprintf
    - CreateAttachment
    - assert
    - free
    - vlc_alloc
    linkageType: ''
    returnType: int
    signature: "int GetAttachments(demux_t *demux, input_attachment_t ***attach_array_p,\n
      \              int *attach_count_p)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/demux/mock.c:459,1
    - Dst: vlc_meta_SetArtist
      Src: /src/vlc/modules/demux/mock.c:463,1
    - Dst: vlc_meta_SetGenre
      Src: /src/vlc/modules/demux/mock.c:464,1
    - Dst: vlc_meta_SetArtURL
      Src: /src/vlc/modules/demux/mock.c:467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 470
    functionName: CreateMeta
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached:
    - vlc_meta_SetArtURL
    - vlc_meta_New
    - vlc_meta_SetArtist
    - vlc_meta_SetGenre
    linkageType: ''
    returnType: vlc_meta_t
    signature: 'vlc_meta_t *

      CreateMeta(demux_t *demux)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/mock.c:479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - demux
    - pts
    argTypes:
    - demux_t*
    - vlc_tick_t
    assertStmts:
    - condition: (pts >= VLC_TICK_0)
      pos:
        line_end: 478
        line_start: 478
        source_file: /src/vlc/modules/demux/mock.c
    constantsTouched: []
    func_position:
      end: 488
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 488
    functionName: SetAudioPts
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void SetAudioPts(demux_t *demux, vlc_tick_t pts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/mock.c:497,1
    - Dst: vlc_tick_rate_duration
      Src: /src/vlc/modules/demux/mock.c:500,1
    - Dst: date_Set
      Src: /src/vlc/modules/demux/mock.c:506,1
    - Dst: date_Increment
      Src: /src/vlc/modules/demux/mock.c:507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - demux
    - pts
    argTypes:
    - demux_t*
    - vlc_tick_t
    assertStmts:
    - condition: (pts >= VLC_TICK_0)
      pos:
        line_end: 496
        line_start: 496
        source_file: /src/vlc/modules/demux/mock.c
    constantsTouched: []
    func_position:
      end: 508
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 508
    functionName: SetVideoPts
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached:
    - date_Increment
    - date_Set
    - assert
    - vlc_tick_rate_duration
    linkageType: ''
    returnType: void
    signature: void SetVideoPts(demux_t *demux, vlc_tick_t pts)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: __MIN
      Src: /src/vlc/modules/demux/mock.c:516,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/mock.c:516,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/mock.c:520,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 524
    functionName: UpdateClock
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached:
    - __MIN
    - date_Get
    linkageType: ''
    returnType: void
    signature: void UpdateClock(demux_t *demux)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/mock.c:529,1
    - Dst: SetVideoPts
      Src: /src/vlc/modules/demux/mock.c:530,1
    - Dst: SetAudioPts
      Src: /src/vlc/modules/demux/mock.c:531,1
    - Dst: UpdateClock
      Src: /src/vlc/modules/demux/mock.c:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - demux
    - time
    argTypes:
    - demux_t*
    - vlc_tick_t
    assertStmts:
    - condition: (time >= VLC_TICK_0)
      pos:
        line_end: 528
        line_start: 528
        source_file: /src/vlc/modules/demux/mock.c
    constantsTouched: []
    func_position:
      end: 533
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 533
    functionName: SetTime
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 10
    functionsReached:
    - SetVideoPts
    - assert
    - UpdateClock
    - SetAudioPts
    linkageType: ''
    returnType: void
    signature: void SetTime(demux_t *demux, vlc_tick_t time)
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mock.c:543,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mock.c:546,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mock.c:549,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mock.c:552,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mock.c:556,1
    - Dst: CreateMeta
      Src: /src/vlc/modules/demux/mock.c:557,1
    - Dst: vlc_meta_Merge
      Src: /src/vlc/modules/demux/mock.c:560,1
    - Dst: vlc_meta_Delete
      Src: /src/vlc/modules/demux/mock.c:561,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mock.c:571,1
    - Dst: SetTime
      Src: /src/vlc/modules/demux/mock.c:575,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mock.c:583,1
    - Dst: SetTime
      Src: /src/vlc/modules/demux/mock.c:586,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mock.c:594,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mock.c:614,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mock.c:620,1
    - Dst: SetTime
      Src: /src/vlc/modules/demux/mock.c:621,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mock.c:627,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mock.c:630,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mock.c:633,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mock.c:639,1
    - Dst: SetTime
      Src: /src/vlc/modules/demux/mock.c:640,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mock.c:646,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mock.c:647,1
    - Dst: CreateTitle
      Src: /src/vlc/modules/demux/mock.c:652,1
    - Dst: vlc_input_title_Delete
      Src: /src/vlc/modules/demux/mock.c:656,1
    - Dst: free
      Src: /src/vlc/modules/demux/mock.c:657,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mock.c:686,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mock.c:687,1
    - Dst: GetAttachments
      Src: /src/vlc/modules/demux/mock.c:691,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mock.c:694,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mock.c:699,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 156
    argCount: 3
    argNames:
    - demux
    - query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 535
    functionDepth: 3
    functionLinenumber: 535
    functionLinenumberEnd: 720
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 68
    functionsReached:
    - vlc_meta_Delete
    - vlc_input_title_Delete
    - CreateMeta
    - CreateTitle
    - vlc_meta_Merge
    - GetAttachments
    - free
    - va_arg
    - vlc_alloc
    - SetTime
    linkageType: ''
    returnType: int
    signature: int Control(demux_t *demux, int query, va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/mock.c:730,1
    - Dst: sin
      Src: /src/vlc/modules/demux/mock.c:735,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - demux
    - track
    - block
    argTypes:
    - demux_t*
    - struct mock_track*
    - block_t*
    assertStmts:
    - condition: (track->fmt.audio.i_format == VLC_CODEC_FL32)
      pos:
        line_end: 729
        line_start: 729
        source_file: /src/vlc/modules/demux/mock.c
    constantsTouched: []
    func_position:
      end: 741
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 741
    functionName: GenerateAudioSineWave
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached:
    - sin
    - assert
    linkageType: ''
    returnType: void
    signature: void GenerateAudioSineWave(demux_t *demux, struct mock_track *track,
      block_t *block)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: samples_from_vlc_tick
      Src: /src/vlc/modules/demux/mock.c:747,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/mock.c:750,1
    - Dst: GenerateAudioSineWave
      Src: /src/vlc/modules/demux/mock.c:756,1
    - Dst: memset
      Src: /src/vlc/modules/demux/mock.c:758,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - demux
    - track
    - length
    argTypes:
    - demux_t*
    - struct mock_track*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 743
    functionDepth: 2
    functionLinenumber: 743
    functionLinenumberEnd: 761
    functionName: CreateAudioBlock
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached:
    - samples_from_vlc_tick
    - block_Alloc
    - GenerateAudioSineWave
    - memset
    linkageType: ''
    returnType: block_t
    signature: 'block_t *

      CreateAudioBlock(demux_t *demux, struct mock_track *track, vlc_tick_t length)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/demux/mock.c:772,1
    - Dst: picture_Release
      Src: /src/vlc/modules/demux/mock.c:773,1
    - Dst: free
      Src: /src/vlc/modules/demux/mock.c:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 775
    functionName: video_block_free_cb
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached:
    - free
    - picture_Release
    - container_of
    linkageType: ''
    returnType: void
    signature: void video_block_free_cb(block_t *b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: picture_NewFromFormat
      Src: /src/vlc/modules/demux/mock.c:781,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mock.c:785,1
    - Dst: picture_Release
      Src: /src/vlc/modules/demux/mock.c:788,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/mock.c:805,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/mock.c:808,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mock.c:816,1
    - Dst: memset
      Src: /src/vlc/modules/demux/mock.c:822,1
    - Dst: memset
      Src: /src/vlc/modules/demux/mock.c:838,1
    - Dst: memset
      Src: /src/vlc/modules/demux/mock.c:840,1
    - Dst: block_Init
      Src: /src/vlc/modules/demux/mock.c:848,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 3
    argNames:
    - demux
    - track
    - pts
    argTypes:
    - demux_t*
    - struct mock_track*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 850
    functionName: CreateVideoBlock
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached:
    - block_Init
    - memset
    - VLC_TICK_FROM_MS
    - memcpy
    - picture_Release
    - __MAX
    - malloc
    - picture_NewFromFormat
    linkageType: ''
    returnType: block_t
    signature: 'block_t *

      CreateVideoBlock(demux_t *demux, struct mock_track *track, vlc_tick_t pts)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/vlc/modules/demux/mock.c:857,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/mock.c:859,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/mock.c:861,1
    - Dst: free
      Src: /src/vlc/modules/demux/mock.c:864,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mock.c:868,1
    - Dst: free
      Src: /src/vlc/modules/demux/mock.c:871,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - demux
    - track
    - pts
    argTypes:
    - demux_t*
    - struct mock_track*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 852
    functionDepth: 2
    functionLinenumber: 852
    functionLinenumberEnd: 874
    functionName: CreateSubBlock
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached:
    - asprintf
    - strlen
    - memcpy
    - free
    - block_Alloc
    linkageType: ''
    returnType: block_t
    signature: 'block_t *

      CreateSubBlock(demux_t *demux, struct mock_track *track, vlc_tick_t pts)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vector_foreach
      Src: /src/vlc/modules/demux/mock.c:883,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/mock.c:889,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - demux
    - pts
    - created
    argTypes:
    - demux_t*
    - vlc_tick_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 896
    functionName: CheckAndCreateTracksEs
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached:
    - vlc_vector_foreach
    - es_out_Add
    linkageType: ''
    returnType: int
    signature: int CheckAndCreateTracksEs(demux_t *demux, vlc_tick_t pts, bool *created)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_out_Del
      Src: /src/vlc/modules/demux/mock.c:902,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/mock.c:903,1
    - Dst: free
      Src: /src/vlc/modules/demux/mock.c:904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - demux
    - track
    argTypes:
    - demux_t*
    - struct mock_track*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 898
    functionDepth: 1
    functionLinenumber: 898
    functionLinenumberEnd: 905
    functionName: DeleteTrack
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached:
    - free
    - es_out_Del
    - es_format_Clean
    linkageType: ''
    returnType: void
    signature: void DeleteTrack(demux_t *demux, struct mock_track *track)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/demux/mock.c:911,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/mock.c:915,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/demux/mock.c:928,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - demux
    - i_cat
    - id
    - group
    argTypes:
    - demux_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 907
    functionDepth: 1
    functionLinenumber: 907
    functionLinenumberEnd: 936
    functionName: CreateTrack
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached:
    - calloc
    - vlc_assert_unreachable
    - es_format_Init
    linkageType: ''
    returnType: struct mock_track
    signature: 'struct mock_track *

      CreateTrack(demux_t *demux, int i_cat, int id, int group)'
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/demux/mock.c:945,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mock.c:959,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mock.c:961,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mock.c:963,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mock.c:969,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mock.c:975,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mock.c:979,1
    - Dst: vlc_fourcc_IsYUV
      Src: /src/vlc/modules/demux/mock.c:994,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/mock.c:999,1
    - Dst: memset
      Src: /src/vlc/modules/demux/mock.c:1002,1
    - Dst: SetWLE
      Src: /src/vlc/modules/demux/mock.c:1009,1
    - Dst: SetWLE
      Src: /src/vlc/modules/demux/mock.c:1011,1
    - Dst: SetWLE
      Src: /src/vlc/modules/demux/mock.c:1013,1
    - Dst: SetWLE
      Src: /src/vlc/modules/demux/mock.c:1021,1
    - Dst: SetWLE
      Src: /src/vlc/modules/demux/mock.c:1023,1
    - Dst: SetWLE
      Src: /src/vlc/modules/demux/mock.c:1025,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 57
    argCount: 3
    argNames:
    - demux
    - options
    - fmt
    argTypes:
    - demux_t*
    - struct mock_video_options*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 938
    functionDepth: 1
    functionLinenumber: 938
    functionLinenumberEnd: 1036
    functionName: ConfigureVideoTrack
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached:
    - memset
    - SetWLE
    - memcpy
    - msg_Err
    - __MAX
    - vlc_fourcc_IsYUV
    - vlc_fourcc_GetChromaDescription
    - malloc
    linkageType: ''
    returnType: int
    signature: "int ConfigureVideoTrack(demux_t *demux,\n                    const
      struct mock_video_options *options,\n                    es_format_t *fmt)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: aout_BitsPerSample
      Src: /src/vlc/modules/demux/mock.c:1044,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mock.c:1051,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mock.c:1053,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mock.c:1055,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mock.c:1063,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/demux/mock.c:1080,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/demux/mock.c:1087,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 3
    argNames:
    - demux
    - options
    - fmt
    argTypes:
    - demux_t*
    - struct mock_audio_options*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1038
    functionDepth: 1
    functionLinenumber: 1038
    functionLinenumberEnd: 1092
    functionName: ConfigureAudioTrack
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached:
    - aout_FormatPrepare
    - vlc_assert_unreachable
    - msg_Err
    - aout_BitsPerSample
    linkageType: ''
    returnType: int
    signature: "int ConfigureAudioTrack(demux_t *demux,\n                    const
      struct mock_audio_options *options,\n                    es_format_t *fmt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mock.c:1099,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - demux
    - options
    - fmt
    argTypes:
    - demux_t*
    - struct mock_sub_options*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1094
    functionDepth: 1
    functionLinenumber: 1094
    functionLinenumberEnd: 1109
    functionName: ConfigureSubTrack
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int ConfigureSubTrack(demux_t *demux,\n                  const struct
      mock_sub_options *options,\n                  es_format_t *fmt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vector_foreach
      Src: /src/vlc/modules/demux/mock.c:1117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - sys
    - cat
    - id
    argTypes:
    - struct demux_sys*
    - enum es_format_category_e
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1125
    functionName: GetMockTrackByID
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached:
    - vlc_vector_foreach
    linkageType: ''
    returnType: struct mock_track
    signature: "struct mock_track *\nGetMockTrackByID(struct demux_sys *sys,\n                 enum
      es_format_category_e cat, unsigned id)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPTIONS_VIDEO
      Src: /src/vlc/modules/demux/mock.c:1144,1
    - Dst: OPTIONS_AUDIO
      Src: /src/vlc/modules/demux/mock.c:1147,1
    - Dst: OPTIONS_SUB
      Src: /src/vlc/modules/demux/mock.c:1150,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/demux/mock.c:1153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - config_chain
    - track
    argTypes:
    - config_chain_t*
    - struct mock_track*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1127
    functionDepth: 1
    functionLinenumber: 1127
    functionLinenumberEnd: 1158
    functionName: OverrideTrackOptions
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached:
    - OPTIONS_SUB
    - vlc_assert_unreachable
    - OPTIONS_VIDEO
    - OPTIONS_AUDIO
    linkageType: ''
    returnType: int
    signature: "int OverrideTrackOptions(const config_chain_t *config_chain,\n                     struct
      mock_track *track)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - group_name
    - ','
    - var_name
    - ','
    - type
    - ','
    - module_header_type
    - ','
    - getter
    - ','
    - default_value
    - ','
    - free_cb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1138
    functionName: OVERRIDE_SUBOPTION
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OVERRIDE_SUBOPTION(group_name, var_name, type, module_header_type,
      getter, default_value, free_cb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/vlc/modules/demux/mock.c:1181,1
    - Dst: GetMockTrackByID
      Src: /src/vlc/modules/demux/mock.c:1183,1
    - Dst: OverrideTrackOptions
      Src: /src/vlc/modules/demux/mock.c:1185,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mock.c:1189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - demux
    - config_name
    - config_chain
    argTypes:
    - demux_t*
    - char*
    - config_chain_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1160
    functionDepth: 2
    functionLinenumber: 1160
    functionLinenumberEnd: 1191
    functionName: UpdateTrackConfiguration
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached:
    - sscanf
    - GetMockTrackByID
    - OverrideTrackOptions
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: "int UpdateTrackConfiguration(demux_t *demux,\n                         const
      char *config_name,\n                         const config_chain_t *config_chain)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vector_foreach
      Src: /src/vlc/modules/demux/mock.c:1201,1
    - Dst: CreateAudioBlock
      Src: /src/vlc/modules/demux/mock.c:1209,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/mock.c:1220,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - demux
    - step_length
    - end_pts
    argTypes:
    - demux_t*
    - vlc_tick_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1193
    functionDepth: 3
    functionLinenumber: 1193
    functionLinenumberEnd: 1227
    functionName: DemuxAudio
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached:
    - vlc_vector_foreach
    - es_out_Send
    - CreateAudioBlock
    linkageType: ''
    returnType: int
    signature: int DemuxAudio(demux_t *demux, vlc_tick_t step_length, vlc_tick_t end_pts)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: date_Get
      Src: /src/vlc/modules/demux/mock.c:1235,1
    - Dst: date_Increment
      Src: /src/vlc/modules/demux/mock.c:1237,1
    - Dst: vlc_vector_foreach
      Src: /src/vlc/modules/demux/mock.c:1241,1
    - Dst: CreateVideoBlock
      Src: /src/vlc/modules/demux/mock.c:1256,1
    - Dst: CreateSubBlock
      Src: /src/vlc/modules/demux/mock.c:1259,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/mock.c:1270,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - demux
    - end_pts
    argTypes:
    - demux_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1229
    functionDepth: 3
    functionLinenumber: 1229
    functionLinenumberEnd: 1276
    functionName: DemuxVideo
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached:
    - CreateSubBlock
    - es_out_Send
    - vlc_vector_foreach
    - date_Get
    - date_Increment
    - CreateVideoBlock
    linkageType: ''
    returnType: int
    signature: int DemuxVideo(demux_t *demux, vlc_tick_t end_pts)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: CheckAndCreateTracksEs
      Src: /src/vlc/modules/demux/mock.c:1289,1
    - Dst: date_Set
      Src: /src/vlc/modules/demux/mock.c:1300,1
    - Dst: UpdateClock
      Src: /src/vlc/modules/demux/mock.c:1307,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/demux/mock.c:1324,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/mock.c:1327,1
    - Dst: vlc_tick_rate_duration
      Src: /src/vlc/modules/demux/mock.c:1331,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/mock.c:1337,1
    - Dst: DemuxAudio
      Src: /src/vlc/modules/demux/mock.c:1342,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/mock.c:1343,1
    - Dst: DemuxVideo
      Src: /src/vlc/modules/demux/mock.c:1351,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/mock.c:1352,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/mock.c:1353,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 46
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1278
    functionDepth: 4
    functionLinenumber: 1278
    functionLinenumberEnd: 1372
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 5
    functionsReached:
    - DemuxAudio
    - CheckAndCreateTracksEs
    - UpdateClock
    - date_Set
    - DemuxVideo
    - __MAX
    - vlc_tick_rate_duration
    - __MIN
    - date_Get
    - vlc_tick_sleep
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int Demux(demux_t *demux)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/demux/mock.c:1377,1
    - Dst: strcasestr
      Src: /src/vlc/modules/demux/mock.c:1382,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mock.c:1383,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/mock.c:1385,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/mock.c:1389,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mock.c:1391,1
    - Dst: memmove
      Src: /src/vlc/modules/demux/mock.c:1392,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/mock.c:1392,1
    - Dst: strcasestr
      Src: /src/vlc/modules/demux/mock.c:1395,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/mock.c:1397,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/mock.c:1400,1
    - Dst: free
      Src: /src/vlc/modules/demux/mock.c:1408,1
    - Dst: memmove
      Src: /src/vlc/modules/demux/mock.c:1412,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/mock.c:1412,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - orignal_url
    argTypes:
    - char*
    assertStmts:
    - condition: (substr_start != NULL)
      pos:
        line_end: 1382
        line_start: 1382
        source_file: /src/vlc/modules/demux/mock.c
    - condition: (substr_end != NULL)
      pos:
        line_end: 1390
        line_start: 1390
        source_file: /src/vlc/modules/demux/mock.c
    constantsTouched: []
    func_position:
      end: 1416
      start: 1374
    functionDepth: 1
    functionLinenumber: 1374
    functionLinenumberEnd: 1416
    functionName: StripNodeParams
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached:
    - assert
    - strdup
    - strchr
    - strlen
    - memmove
    - free
    - strcasestr
    linkageType: ''
    returnType: char
    signature: 'char *

      StripNodeParams(const char *orignal_url)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: StripNodeParams
      Src: /src/vlc/modules/demux/mock.c:1438,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/mock.c:1449,1
    - Dst: strstr
      Src: /src/vlc/modules/demux/mock.c:1452,1
    - Dst: free
      Src: /src/vlc/modules/demux/mock.c:1453,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/mock.c:1457,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mock.c:1458,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/mock.c:1460,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/mock.c:1474,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/mock.c:1482,1
    - Dst: free
      Src: /src/vlc/modules/demux/mock.c:1485,1
    - Dst: input_item_New
      Src: /src/vlc/modules/demux/mock.c:1489,1
    - Dst: free
      Src: /src/vlc/modules/demux/mock.c:1490,1
    - Dst: free
      Src: /src/vlc/modules/demux/mock.c:1491,1
    - Dst: input_item_node_AppendItem
      Src: /src/vlc/modules/demux/mock.c:1496,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/demux/mock.c:1497,1
    - Dst: free
      Src: /src/vlc/modules/demux/mock.c:1502,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 2
    argNames:
    - demux
    - node
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts:
    - condition: (option != NULL)
      pos:
        line_end: 1457
        line_start: 1457
        source_file: /src/vlc/modules/demux/mock.c
    constantsTouched: []
    func_position:
      end: 1504
      start: 1433
    functionDepth: 2
    functionLinenumber: 1433
    functionLinenumberEnd: 1504
    functionName: Readdir
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 1
    functionsReached:
    - asprintf
    - strchr
    - assert
    - input_item_New
    - input_item_Release
    - StripNodeParams
    - free
    - strstr
    - input_item_node_AppendItem
    linkageType: ''
    returnType: int
    signature: int Readdir(stream_t *demux, input_item_node_t *node)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - demux
    - query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1506
    functionDepth: 0
    functionLinenumber: 1506
    functionLinenumberEnd: 1522
    functionName: ReaddirControl
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ReaddirControl(demux_t *demux, int query, va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPTIONS_GLOBAL
      Src: /src/vlc/modules/demux/mock.c:1535,1
    - Dst: vlc_vector_foreach
      Src: /src/vlc/modules/demux/mock.c:1538,1
    - Dst: OPTIONS_AUDIO
      Src: /src/vlc/modules/demux/mock.c:1540,1
    - Dst: OPTIONS_VIDEO
      Src: /src/vlc/modules/demux/mock.c:1541,1
    - Dst: OPTIONS_SUB
      Src: /src/vlc/modules/demux/mock.c:1542,1
    - Dst: DeleteTrack
      Src: /src/vlc/modules/demux/mock.c:1544,1
    - Dst: vlc_vector_clear
      Src: /src/vlc/modules/demux/mock.c:1546,1
    - Dst: vlc_vector_clear
      Src: /src/vlc/modules/demux/mock.c:1547,1
    - Dst: free
      Src: /src/vlc/modules/demux/mock.c:1549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1524
    functionDepth: 2
    functionLinenumber: 1524
    functionLinenumberEnd: 1550
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 116
    functionsReached:
    - OPTIONS_SUB
    - vlc_vector_foreach
    - OPTIONS_GLOBAL
    - OPTIONS_VIDEO
    - free
    - vlc_vector_clear
    - OPTIONS_AUDIO
    - DeleteTrack
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - var_name
    - ','
    - type
    - ','
    - module_header_type
    - ','
    - getter
    - ','
    - default_value
    - ','
    - free_cb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1530
    functionDepth: 0
    functionLinenumber: 1530
    functionLinenumberEnd: 1532
    functionName: FREE_OPTIONS
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE_OPTIONS(var_name, type, module_header_type, getter, default_value,
      free_cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - group_name
    - ','
    - var_name
    - ','
    - type
    - ','
    - module_header_type
    - ','
    - getter
    - ','
    - default_value
    - ','
    - free_cb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1534
    functionName: FREE_SUBOPTIONS
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE_SUBOPTIONS(group_name, var_name, type, module_header_type, getter,
      default_value, free_cb)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/mock.c:1563,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/mock.c:1565,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mock.c:1574,1
    - Dst: vlc_vector_push_hole
      Src: /src/vlc/modules/demux/mock.c:1578,1
    - Dst: strtok_r
      Src: /src/vlc/modules/demux/mock.c:1583,1
    - Dst: strtok_r
      Src: /src/vlc/modules/demux/mock.c:1584,1
    - Dst: strtoll
      Src: /src/vlc/modules/demux/mock.c:1587,1
    - Dst: vlc_vector_clear
      Src: /src/vlc/modules/demux/mock.c:1591,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mock.c:1592,1
    - Dst: strtoll
      Src: /src/vlc/modules/demux/mock.c:1598,1
    - Dst: vlc_vector_clear
      Src: /src/vlc/modules/demux/mock.c:1602,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mock.c:1603,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mock.c:1608,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts:
    - condition: (sys->discontinuities != NULL)
      pos:
        line_end: 1562
        line_start: 1562
        source_file: /src/vlc/modules/demux/mock.c
    - condition: (index < pcr_count)
      pos:
        line_end: 1607
        line_start: 1607
        source_file: /src/vlc/modules/demux/mock.c
    constantsTouched: []
    func_position:
      end: 1615
      start: 1552
    functionDepth: 1
    functionLinenumber: 1552
    functionLinenumberEnd: 1615
    functionName: ParseDiscontinuities
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 0
    functionsReached:
    - vlc_vector_push_hole
    - strtok_r
    - assert
    - strlen
    - strtoll
    - msg_Err
    - vlc_vector_clear
    linkageType: ''
    returnType: int
    signature: int ParseDiscontinuities(demux_t *demux)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/demux/mock.c:1625,1
    - Dst: vlc_vector_init
      Src: /src/vlc/modules/demux/mock.c:1631,1
    - Dst: vlc_vector_init
      Src: /src/vlc/modules/demux/mock.c:1632,1
    - Dst: var_LocationParse
      Src: /src/vlc/modules/demux/mock.c:1635,1
    - Dst: OPTIONS_GLOBAL
      Src: /src/vlc/modules/demux/mock.c:1638,1
    - Dst: OPTIONS_AUDIO
      Src: /src/vlc/modules/demux/mock.c:1639,1
    - Dst: OPTIONS_VIDEO
      Src: /src/vlc/modules/demux/mock.c:1640,1
    - Dst: OPTIONS_SUB
      Src: /src/vlc/modules/demux/mock.c:1641,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mock.c:1667,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mock.c:1669,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mock.c:1671,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mock.c:1673,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mock.c:1675,1
    - Dst: vlc_vector_reserve
      Src: /src/vlc/modules/demux/mock.c:1686,1
    - Dst: CreateTrack
      Src: /src/vlc/modules/demux/mock.c:1707,1
    - Dst: vlc_vector_push
      Src: /src/vlc/modules/demux/mock.c:1710,1
    - Dst: DeleteTrack
      Src: /src/vlc/modules/demux/mock.c:1713,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mock.c:1719,1
    - Dst: ParseDiscontinuities
      Src: /src/vlc/modules/demux/mock.c:1731,1
    - Dst: config_ChainCreate
      Src: /src/vlc/modules/demux/mock.c:1741,1
    - Dst: UpdateTrackConfiguration
      Src: /src/vlc/modules/demux/mock.c:1744,1
    - Dst: free
      Src: /src/vlc/modules/demux/mock.c:1745,1
    - Dst: config_ChainDestroy
      Src: /src/vlc/modules/demux/mock.c:1747,1
    - Dst: free
      Src: /src/vlc/modules/demux/mock.c:1749,1
    - Dst: vlc_vector_foreach
      Src: /src/vlc/modules/demux/mock.c:1754,1
    - Dst: ConfigureAudioTrack
      Src: /src/vlc/modules/demux/mock.c:1759,1
    - Dst: ConfigureVideoTrack
      Src: /src/vlc/modules/demux/mock.c:1762,1
    - Dst: ConfigureSubTrack
      Src: /src/vlc/modules/demux/mock.c:1765,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/demux/mock.c:1768,1
    - Dst: CheckAndCreateTracksEs
      Src: /src/vlc/modules/demux/mock.c:1777,1
    - Dst: SetAudioPts
      Src: /src/vlc/modules/demux/mock.c:1781,1
    - Dst: date_Init
      Src: /src/vlc/modules/demux/mock.c:1786,1
    - Dst: SetVideoPts
      Src: /src/vlc/modules/demux/mock.c:1788,1
    - Dst: Close
      Src: /src/vlc/modules/demux/mock.c:1802,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 119
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: (track_count == sys->tracks.size)
      pos:
        line_end: 1718
        line_start: 1718
        source_file: /src/vlc/modules/demux/mock.c
    constantsTouched: []
    func_position:
      end: 1805
      start: 1617
    functionDepth: 3
    functionLinenumber: 1617
    functionLinenumberEnd: 1805
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/mock.c
    functionUses: 37
    functionsReached:
    - assert
    - vlc_obj_malloc
    - config_ChainCreate
    - CreateTrack
    - vlc_assert_unreachable
    - CheckAndCreateTracksEs
    - OPTIONS_GLOBAL
    - OPTIONS_VIDEO
    - msg_Err
    - vlc_vector_push
    - SetAudioPts
    - OPTIONS_SUB
    - ParseDiscontinuities
    - SetVideoPts
    - ConfigureVideoTrack
    - ConfigureSubTrack
    - OPTIONS_AUDIO
    - Close
    - var_LocationParse
    - vlc_vector_foreach
    - vlc_vector_init
    - date_Init
    - free
    - config_ChainDestroy
    - UpdateTrackConfiguration
    - vlc_vector_reserve
    - DeleteTrack
    - ConfigureAudioTrack
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/demux/rawaud.c:107,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/demux/rawaud.c:111,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/rawaud.c:112,1
    - Dst: vlc_fourcc_GetCodecFromString
      Src: /src/vlc/modules/demux/rawaud.c:113,1
    - Dst: free
      Src: /src/vlc/modules/demux/rawaud.c:114,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/rawaud.c:118,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/rawaud.c:119,1
    - Dst: free
      Src: /src/vlc/modules/demux/rawaud.c:120,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/rawaud.c:154,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/rawaud.c:156,1
    - Dst: free
      Src: /src/vlc/modules/demux/rawaud.c:157,1
    - Dst: var_CreateGetString
      Src: /src/vlc/modules/demux/rawaud.c:163,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/demux/rawaud.c:164,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/demux/rawaud.c:165,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/rawaud.c:173,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/rawaud.c:174,1
    - Dst: free
      Src: /src/vlc/modules/demux/rawaud.c:175,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/rawaud.c:179,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/rawaud.c:189,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/rawaud.c:190,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/rawaud.c:192,1
    - Dst: free
      Src: /src/vlc/modules/demux/rawaud.c:193,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/rawaud.c:196,1
    - Dst: date_Init
      Src: /src/vlc/modules/demux/rawaud.c:199,1
    - Dst: date_Set
      Src: /src/vlc/modules/demux/rawaud.c:200,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/rawaud.c:203,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/rawaud.c:207,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 67
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 212
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/rawaud.c
    functionUses: 37
    functionsReached:
    - var_CreateGetString
    - var_InheritString
    - es_format_Clean
    - date_Init
    - date_Set
    - msg_Err
    - free
    - __MAX
    - vlc_fourcc_GetCodecFromString
    - var_CreateGetInteger
    - msg_Dbg
    - es_format_Init
    - es_out_Add
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t * p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/rawaud.c:222,1
    - Dst: free
      Src: /src/vlc/modules/demux/rawaud.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 224
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/rawaud.c
    functionUses: 117
    functionsReached:
    - free
    - es_format_Clean
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/rawaud.c:236,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/rawaud.c:240,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/rawaud.c:242,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/rawaud.c:243,1
    - Dst: date_Increment
      Src: /src/vlc/modules/demux/rawaud.c:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 248
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/rawaud.c
    functionUses: 5
    functionsReached:
    - es_out_Send
    - date_Get
    - vlc_stream_Block
    - date_Increment
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/rawaud.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 259
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/rawaud.c
    functionUses: 68
    functionsReached:
    - demux_vaControlHelper
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: VORBIS_HEADER_TO_FLAG
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VORBIS_HEADER_TO_FLAG(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p_stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: VORBIS_HEADERS_VALID
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VORBIS_HEADERS_VALID(p_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - logical_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: Ogg_HasQueuedBlocks
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Ogg_HasQueuedBlocks( const logical_stream_t *p_stream )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/demux/ogg.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - logical_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: Ogg_GetDecoderPreroll
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 0
    functionsReached:
    - vlc_tick_from_samples
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t Ogg_GetDecoderPreroll( logical_stream_t *p_stream )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/ogg.c:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - audio
    argTypes:
    - audio_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 222
    functionName: fill_channels_info
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: void fill_channels_info(audio_format_t *audio)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/ogg.c:234,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/ogg.c:235,1
    - Dst: stream_ContentType
      Src: /src/vlc/modules/demux/ogg.c:237,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/ogg.c:242,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/ogg.c:243,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/ogg.c:244,1
    - Dst: free
      Src: /src/vlc/modules/demux/ogg.c:246,1
    - Dst: free
      Src: /src/vlc/modules/demux/ogg.c:249,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/ogg.c:253,1
    - Dst: ogg_sync_init
      Src: /src/vlc/modules/demux/ogg.c:265,1
    - Dst: TAB_INIT
      Src: /src/vlc/modules/demux/ogg.c:268,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/ogg.c:271,1
    - Dst: demux_t*::pf_demux
      Src: /src/vlc/modules/demux/ogg.c:274,1
    - Dst: Ogg_CreateES
      Src: /src/vlc/modules/demux/ogg.c:277,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 280
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 37
    functionsReached:
    - vlc_stream_Peek
    - es_out_Control
    - Ogg_CreateES
    - TAB_INIT
    - free
    - strcmp
    - calloc
    - demux_t*::pf_demux
    - ogg_sync_init
    - stream_ContentType
    - memcmp
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t * p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ogg_sync_clear
      Src: /src/vlc/modules/demux/ogg.c:291,1
    - Dst: Ogg_EndOfStream
      Src: /src/vlc/modules/demux/ogg.c:293,1
    - Dst: Ogg_LogicalStreamDelete
      Src: /src/vlc/modules/demux/ogg.c:296,1
    - Dst: free
      Src: /src/vlc/modules/demux/ogg.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 299
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 117
    functionsReached:
    - Ogg_EndOfStream
    - Ogg_LogicalStreamDelete
    - ogg_sync_clear
    - free
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 316
    functionName: Ogg_GetLastDTS
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t Ogg_GetLastDTS( demux_t * p_demux )
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 2
    argNames:
    - p_demux
    - b_drain
    argTypes:
    - demux_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 344
    functionName: Ogg_GeneratePCR
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t Ogg_GeneratePCR( demux_t * p_demux, bool b_drain )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Ogg_GeneratePCR
      Src: /src/vlc/modules/demux/ogg.c:354,1
    - Dst: likely
      Src: /src/vlc/modules/demux/ogg.c:358,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/ogg.c:359,1
    - Dst: Ogg_HasQueuedBlocks
      Src: /src/vlc/modules/demux/ogg.c:372,1
    - Dst: Ogg_SendQueuedBlock
      Src: /src/vlc/modules/demux/ogg.c:373,1
    - Dst: Ogg_HasQueuedBlocks
      Src: /src/vlc/modules/demux/ogg.c:374,1
    - Dst: Ogg_GeneratePCR
      Src: /src/vlc/modules/demux/ogg.c:378,1
    - Dst: likely
      Src: /src/vlc/modules/demux/ogg.c:382,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/ogg.c:383,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - p_demux
    - b_drain
    argTypes:
    - demux_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 387
    functionName: Ogg_OutputQueues
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 0
    functionsReached:
    - Ogg_HasQueuedBlocks
    - likely
    - Ogg_GeneratePCR
    - es_out_SetPCR
    - Ogg_SendQueuedBlock
    linkageType: ''
    returnType: void
    signature: void Ogg_OutputQueues( demux_t *p_demux, bool b_drain )
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:413,1
    - Dst: Ogg_OutputQueues
      Src: /src/vlc/modules/demux/ogg.c:415,1
    - Dst: Ogg_GetLastDTS
      Src: /src/vlc/modules/demux/ogg.c:417,1
    - Dst: Ogg_LogicalStreamDelete
      Src: /src/vlc/modules/demux/ogg.c:424,1
    - Dst: TAB_CLEAN
      Src: /src/vlc/modules/demux/ogg.c:426,1
    - Dst: Ogg_EndOfStream
      Src: /src/vlc/modules/demux/ogg.c:429,1
    - Dst: likely
      Src: /src/vlc/modules/demux/ogg.c:435,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/ogg.c:436,1
    - Dst: Ogg_BeginningOfStream
      Src: /src/vlc/modules/demux/ogg.c:441,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:444,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/ogg.c:449,1
    - Dst: Oggseek_ProbeEnd
      Src: /src/vlc/modules/demux/ogg.c:451,1
    - Dst: Ogg_CreateES
      Src: /src/vlc/modules/demux/ogg.c:460,1
    - Dst: Ogg_ReadPage
      Src: /src/vlc/modules/demux/ogg.c:481,1
    - Dst: ogg_page_eos
      Src: /src/vlc/modules/demux/ogg.c:484,1
    - Dst: ogg_page_serialno
      Src: /src/vlc/modules/demux/ogg.c:490,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:492,1
    - Dst: Ogg_ApplySkeleton
      Src: /src/vlc/modules/demux/ogg.c:497,1
    - Dst: ogg_page_serialno
      Src: /src/vlc/modules/demux/ogg.c:504,1
    - Dst: ogg_page_serialno
      Src: /src/vlc/modules/demux/ogg.c:521,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/ogg.c:523,1
    - Dst: Ogg_ResetStream
      Src: /src/vlc/modules/demux/ogg.c:524,1
    - Dst: ogg_stream_reset_serialno
      Src: /src/vlc/modules/demux/ogg.c:527,1
    - Dst: ogg_page_serialno
      Src: /src/vlc/modules/demux/ogg.c:527,1
    - Dst: ogg_stream_pagein
      Src: /src/vlc/modules/demux/ogg.c:531,1
    - Dst: ogg_page_granulepos
      Src: /src/vlc/modules/demux/ogg.c:538,1
    - Dst: ogg_page_eos
      Src: /src/vlc/modules/demux/ogg.c:549,1
    - Dst: DemuxDebug
      Src: /src/vlc/modules/demux/ogg.c:552,1
    - Dst: if
      Src: /src/vlc/modules/demux/ogg.c:553,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:554,1
    - Dst: ogg_page_pageno
      Src: /src/vlc/modules/demux/ogg.c:555,1
    - Dst: ogg_page_granulepos
      Src: /src/vlc/modules/demux/ogg.c:556,1
    - Dst: ogg_page_packets
      Src: /src/vlc/modules/demux/ogg.c:557,1
    - Dst: ogg_page_continued
      Src: /src/vlc/modules/demux/ogg.c:558,1
    - Dst: ogg_stream_packetout
      Src: /src/vlc/modules/demux/ogg.c:562,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/ogg.c:569,1
    - Dst: Ogg_ReadTheoraHeader
      Src: /src/vlc/modules/demux/ogg.c:571,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/ogg.c:576,1
    - Dst: Ogg_ReadDaalaHeader
      Src: /src/vlc/modules/demux/ogg.c:578,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/ogg.c:583,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/ogg.c:585,1
    - Dst: Ogg_ReadVorbisHeader
      Src: /src/vlc/modules/demux/ogg.c:586,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/ogg.c:591,1
    - Dst: Ogg_DecodePacket
      Src: /src/vlc/modules/demux/ogg.c:594,1
    - Dst: ogg_page_eos
      Src: /src/vlc/modules/demux/ogg.c:594,1
    - Dst: Ogg_OutputQueues
      Src: /src/vlc/modules/demux/ogg.c:625,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 118
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 628
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 5
    functionsReached:
    - Ogg_ResetStream
    - if
    - ogg_page_continued
    - ogg_page_serialno
    - ogg_page_pageno
    - Ogg_DecodePacket
    - ogg_page_packets
    - Ogg_OutputQueues
    - memcmp
    - Ogg_ReadTheoraHeader
    - vlc_stream_Control
    - ogg_stream_pagein
    - ogg_page_granulepos
    - DemuxDebug
    - msg_Err
    - msg_Dbg
    - ogg_stream_reset_serialno
    - Ogg_ReadDaalaHeader
    - ogg_stream_packetout
    - es_format_Change
    - Ogg_BeginningOfStream
    - Ogg_ReadVorbisHeader
    - Ogg_EndOfStream
    - TAB_CLEAN
    - Ogg_ReadPage
    - Oggseek_ProbeEnd
    - likely
    - ogg_page_eos
    - vlc_stream_Tell
    - es_out_SetPCR
    - Ogg_CreateES
    - Ogg_GetLastDTS
    - Ogg_ApplySkeleton
    - Ogg_LogicalStreamDelete
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t * p_demux )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: __MAX
      Src: /src/vlc/modules/demux/ogg.c:647,1
    - Dst: date_Set
      Src: /src/vlc/modules/demux/ogg.c:653,1
    - Dst: ogg_stream_reset
      Src: /src/vlc/modules/demux/ogg.c:654,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/demux/ogg.c:655,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - logical_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 658
    functionName: Ogg_ResetStream
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 1
    functionsReached:
    - block_ChainRelease
    - __MAX
    - date_Set
    - ogg_stream_reset
    linkageType: ''
    returnType: void
    signature: void Ogg_ResetStream( logical_stream_t *p_stream )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Ogg_ResetStream
      Src: /src/vlc/modules/demux/ogg.c:664,1
    - Dst: ogg_sync_reset
      Src: /src/vlc/modules/demux/ogg.c:668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - demux_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 660
    functionDepth: 2
    functionLinenumber: 660
    functionLinenumberEnd: 670
    functionName: Ogg_PreparePostSeek
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 0
    functionsReached:
    - ogg_sync_reset
    - Ogg_ResetStream
    linkageType: ''
    returnType: void
    signature: void Ogg_PreparePostSeek( demux_sys_t *p_sys )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/ogg.c:682,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 699
    functionName: Ogg_GetSelectedStream
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 0
    functionsReached:
    - es_out_Control
    linkageType: ''
    returnType: logical_stream_t
    signature: logical_stream_t * Ogg_GetSelectedStream( demux_t *p_demux )
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_vaControl
      Src: /src/vlc/modules/demux/ogg.c:716,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/ogg.c:719,1
    - Dst: vlc_meta_Merge
      Src: /src/vlc/modules/demux/ogg.c:721,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/ogg.c:725,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/ogg.c:743,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/ogg.c:744,1
    - Dst: Ogg_GetSelectedStream
      Src: /src/vlc/modules/demux/ogg.c:745,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/ogg.c:748,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/ogg.c:751,1
    - Dst: Ogg_GetDecoderPreroll
      Src: /src/vlc/modules/demux/ogg.c:752,1
    - Dst: Oggseek_BlindSeektoAbsoluteTime
      Src: /src/vlc/modules/demux/ogg.c:755,1
    - Dst: Ogg_PreparePostSeek
      Src: /src/vlc/modules/demux/ogg.c:757,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/ogg.c:759,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/ogg.c:770,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/ogg.c:771,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/ogg.c:776,1
    - Dst: vlc_input_attachment_Hold
      Src: /src/vlc/modules/demux/ogg.c:781,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/demux/ogg.c:793,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/ogg.c:795,1
    - Dst: Ogg_GetSelectedStream
      Src: /src/vlc/modules/demux/ogg.c:813,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/ogg.c:816,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/ogg.c:820,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/ogg.c:822,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/ogg.c:823,1
    - Dst: Oggseek_BlindSeektoPosition
      Src: /src/vlc/modules/demux/ogg.c:826,1
    - Dst: Ogg_PreparePostSeek
      Src: /src/vlc/modules/demux/ogg.c:828,1
    - Dst: assert
      Src: /src/vlc/modules/demux/ogg.c:832,1
    - Dst: Ogg_GetDecoderPreroll
      Src: /src/vlc/modules/demux/ogg.c:834,1
    - Dst: Oggseek_SeektoAbsolutetime
      Src: /src/vlc/modules/demux/ogg.c:837,1
    - Dst: Ogg_PreparePostSeek
      Src: /src/vlc/modules/demux/ogg.c:839,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/ogg.c:841,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/ogg.c:850,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/ogg.c:852,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/ogg.c:857,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/ogg.c:858,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/ogg.c:859,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/ogg.c:860,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/ogg.c:866,1
    - Dst: vlc_input_title_New
      Src: /src/vlc/modules/demux/ogg.c:870,1
    - Dst: free
      Src: /src/vlc/modules/demux/ogg.c:873,1
    - Dst: vlc_seekpoint_Duplicate
      Src: /src/vlc/modules/demux/ogg.c:879,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/ogg.c:880,1
    - Dst: vlc_seekpoint_Delete
      Src: /src/vlc/modules/demux/ogg.c:884,1
    - Dst: vlc_input_title_Delete
      Src: /src/vlc/modules/demux/ogg.c:886,1
    - Dst: free
      Src: /src/vlc/modules/demux/ogg.c:887,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/demux/ogg.c:890,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/ogg.c:899,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/ogg.c:906,1
    - Dst: Ogg_GetSelectedStream
      Src: /src/vlc/modules/demux/ogg.c:918,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/ogg.c:921,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/ogg.c:925,1
    - Dst: Oggseek_BlindSeektoAbsoluteTime
      Src: /src/vlc/modules/demux/ogg.c:926,1
    - Dst: Ogg_PreparePostSeek
      Src: /src/vlc/modules/demux/ogg.c:928,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/ogg.c:929,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/ogg.c:940,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/ogg.c:946,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/ogg.c:949,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/ogg.c:953,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 165
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts:
    - condition: ( p_sys->i_length > 0 )
      pos:
        line_end: 831
        line_start: 831
        source_file: /src/vlc/modules/demux/ogg.c
    constantsTouched: []
    func_position:
      end: 956
      start: 704
    functionDepth: 3
    functionLinenumber: 704
    functionLinenumberEnd: 956
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 72
    functionsReached:
    - assert
    - vlc_seekpoint_Delete
    - vlc_input_attachment_Hold
    - vlc_seekpoint_Duplicate
    - vlc_alloc
    - vlc_stream_Control
    - msg_Err
    - Ogg_GetDecoderPreroll
    - vlc_stream_vaControl
    - vlc_input_title_New
    - Oggseek_BlindSeektoAbsoluteTime
    - vlc_stream_GetSize
    - TAB_APPEND
    - Ogg_PreparePostSeek
    - Oggseek_SeektoAbsolutetime
    - vlc_stream_Tell
    - demux_vaControlHelper
    - es_out_Control
    - vlc_input_title_Delete
    - vlc_meta_Merge
    - Ogg_GetSelectedStream
    - free
    - va_arg
    - Oggseek_BlindSeektoPosition
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ogg_sync_pageout
      Src: /src/vlc/modules/demux/ogg.c:970,1
    - Dst: ogg_sync_buffer
      Src: /src/vlc/modules/demux/ogg.c:972,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/ogg.c:976,1
    - Dst: ogg_sync_wrote
      Src: /src/vlc/modules/demux/ogg.c:980,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - p_demux
    - p_oggpage
    argTypes:
    - demux_t*
    - ogg_page*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 964
    functionDepth: 1
    functionLinenumber: 964
    functionLinenumberEnd: 984
    functionName: Ogg_ReadPage
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 1
    functionsReached:
    - vlc_stream_Read
    - ogg_sync_wrote
    - ogg_sync_pageout
    - ogg_sync_buffer
    linkageType: ''
    returnType: int
    signature: int Ogg_ReadPage( demux_t *p_demux, ogg_page *p_oggpage )
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/ogg.c:989,1
    - Dst: Ogg_GranuleIsValid
      Src: /src/vlc/modules/demux/ogg.c:992,1
    - Dst: Ogg_GranuleToTime
      Src: /src/vlc/modules/demux/ogg.c:994,1
    - Dst: assert
      Src: /src/vlc/modules/demux/ogg.c:995,1
    - Dst: date_Set
      Src: /src/vlc/modules/demux/ogg.c:998,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/ogg.c:1004,1
    - Dst: date_Increment
      Src: /src/vlc/modules/demux/ogg.c:1008,1
    - Dst: Ogg_OpusPacketDuration
      Src: /src/vlc/modules/demux/ogg.c:1016,1
    - Dst: VORBIS_HEADERS_VALID
      Src: /src/vlc/modules/demux/ogg.c:1025,1
    - Dst: vorbis_packet_blocksize
      Src: /src/vlc/modules/demux/ogg.c:1027,1
    - Dst: Ogg_VorbisValidBlocksize
      Src: /src/vlc/modules/demux/ogg.c:1029,1
    - Dst: Ogg_VorbisValidBlocksize
      Src: /src/vlc/modules/demux/ogg.c:1031,1
    - Dst: date_Increment
      Src: /src/vlc/modules/demux/ogg.c:1052,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 3
    argNames:
    - p_demux
    - p_stream
    - p_oggpacket
    argTypes:
    - demux_t*
    - logical_stream_t*
    - ogg_packet*
    assertStmts:
    - condition: ( !p_stream->b_contiguous || i_endtime != VLC_TICK_INVALID )
      pos:
        line_end: 994
        line_start: 994
        source_file: /src/vlc/modules/demux/ogg.c
    constantsTouched: []
    func_position:
      end: 1055
      start: 986
    functionDepth: 3
    functionLinenumber: 986
    functionLinenumberEnd: 1055
    functionName: Ogg_SetNextFrame
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 0
    functionsReached:
    - assert
    - Ogg_VorbisValidBlocksize
    - date_Set
    - vorbis_packet_blocksize
    - VLC_UNUSED
    - VORBIS_HEADERS_VALID
    - date_Get
    - date_Increment
    - Ogg_OpusPacketDuration
    - Ogg_GranuleIsValid
    - Ogg_GranuleToTime
    linkageType: ''
    returnType: void
    signature: "void Ogg_SetNextFrame( demux_t *p_demux, logical_stream_t *p_stream,\n
      \                             ogg_packet *p_oggpacket )"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: Ogg_OpusPacketDuration
      Src: /src/vlc/modules/demux/ogg.c:1082,1
    - Dst: VORBIS_HEADERS_VALID
      Src: /src/vlc/modules/demux/ogg.c:1087,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/ogg.c:1089,1
    - Dst: vorbis_packet_blocksize
      Src: /src/vlc/modules/demux/ogg.c:1107,1
    - Dst: vorbis_packet_blocksize
      Src: /src/vlc/modules/demux/ogg.c:1111,1
    - Dst: Ogg_VorbisValidBlocksize
      Src: /src/vlc/modules/demux/ogg.c:1115,1
    - Dst: Ogg_VorbisValidBlocksize
      Src: /src/vlc/modules/demux/ogg.c:1115,1
    - Dst: date_Set
      Src: /src/vlc/modules/demux/ogg.c:1132,1
    - Dst: date_Decrement
      Src: /src/vlc/modules/demux/ogg.c:1133,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/ogg.c:1136,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/ogg.c:1137,1
    - Dst: date_Set
      Src: /src/vlc/modules/demux/ogg.c:1141,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/ogg.c:1141,1
    - Dst: assert
      Src: /src/vlc/modules/demux/ogg.c:1143,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/ogg.c:1143,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/ogg.c:1146,1
    - Dst: date_Set
      Src: /src/vlc/modules/demux/ogg.c:1147,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/ogg.c:1153,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/ogg.c:1161,1
    - Dst: date_Increment
      Src: /src/vlc/modules/demux/ogg.c:1168,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 60
    argCount: 4
    argNames:
    - p_demux
    - p_stream
    - i_enddts
    - b_eos
    argTypes:
    - demux_t*
    - logical_stream_t*
    - vlc_tick_t
    - bool
    assertStmts:
    - condition: (date_Get( &d ) != VLC_TICK_INVALID)
      pos:
        line_end: 1142
        line_start: 1142
        source_file: /src/vlc/modules/demux/ogg.c
    constantsTouched: []
    func_position:
      end: 1174
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1174
    functionName: Ogg_FixupOutputQueue
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 0
    functionsReached:
    - assert
    - date_Set
    - vorbis_packet_blocksize
    - msg_Err
    - __MIN
    - VORBIS_HEADERS_VALID
    - date_Get
    - date_Increment
    - Ogg_OpusPacketDuration
    - Ogg_VorbisValidBlocksize
    - date_Decrement
    linkageType: ''
    returnType: vlc_tick_t
    signature: "vlc_tick_t Ogg_FixupOutputQueue( demux_t *p_demux, logical_stream_t
      *p_stream,\n                                        vlc_tick_t i_enddts, bool
      b_eos )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/ogg.c:1180,1
    - Dst: assert
      Src: /src/vlc/modules/demux/ogg.c:1184,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/demux/ogg.c:1188,1
    - Dst: Ogg_FixupOutputQueue
      Src: /src/vlc/modules/demux/ogg.c:1195,1
    - Dst: DemuxDebug
      Src: /src/vlc/modules/demux/ogg.c:1198,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:1198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - p_demux
    - p_stream
    - p_block
    - i_enddts
    - b_eos
    argTypes:
    - demux_t*
    - logical_stream_t*
    - block_t*
    - vlc_tick_t
    - bool
    assertStmts:
    - condition: ( p_block != NULL )
      pos:
        line_end: 1183
        line_start: 1183
        source_file: /src/vlc/modules/demux/ogg.c
    constantsTouched: []
    func_position:
      end: 1200
      start: 1176
    functionDepth: 2
    functionLinenumber: 1176
    functionLinenumberEnd: 1200
    functionName: Ogg_QueueBlocks
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 0
    functionsReached:
    - assert
    - DemuxDebug
    - Ogg_FixupOutputQueue
    - block_ChainLastAppend
    - msg_Dbg
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void Ogg_QueueBlocks( demux_t *p_demux, logical_stream_t *p_stream,\n
      \                            block_t *p_block, vlc_tick_t i_enddts, bool b_eos
      )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Ogg_HasQueuedBlocks
      Src: /src/vlc/modules/demux/ogg.c:1206,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/ogg.c:1220,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/ogg.c:1236,1
    - Dst: DemuxDebug
      Src: /src/vlc/modules/demux/ogg.c:1248,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:1248,1
    - Dst: assert
      Src: /src/vlc/modules/demux/ogg.c:1254,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/ogg.c:1257,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/ogg.c:1259,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - p_demux
    - p_stream
    argTypes:
    - demux_t*
    - logical_stream_t*
    assertStmts:
    - condition: ( p_sys->i_pcr != VLC_TICK_INVALID )
      pos:
        line_end: 1253
        line_start: 1253
        source_file: /src/vlc/modules/demux/ogg.c
    constantsTouched: []
    func_position:
      end: 1265
      start: 1202
    functionDepth: 1
    functionLinenumber: 1202
    functionLinenumberEnd: 1265
    functionName: Ogg_SendQueuedBlock
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 1
    functionsReached:
    - Ogg_HasQueuedBlocks
    - block_Release
    - assert
    - es_out_Send
    - DemuxDebug
    - __MIN
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void Ogg_SendQueuedBlock( demux_t *p_demux, logical_stream_t *p_stream
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - p_stream
    - p_oggpacket
    argTypes:
    - logical_stream_t*
    - ogg_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1276
    functionName: Ogg_IsHeaderPacket
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool Ogg_IsHeaderPacket( const logical_stream_t *p_stream,\n                                const
      ogg_packet *p_oggpacket )"
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/demux/ogg.c:1291,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/ogg.c:1297,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/ogg.c:1303,1
    - Dst: Ogg_ReadSkeletonBones
      Src: /src/vlc/modules/demux/ogg.c:1305,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/ogg.c:1309,1
    - Dst: Ogg_ReadSkeletonIndex
      Src: /src/vlc/modules/demux/ogg.c:1311,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/ogg.c:1320,1
    - Dst: Ogg_ReadVP8Header
      Src: /src/vlc/modules/demux/ogg.c:1322,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/ogg.c:1333,1
    - Dst: Ogg_DecodeVorbisHeader
      Src: /src/vlc/modules/demux/ogg.c:1344,1
    - Dst: Ogg_ReadFlacStreamInfo
      Src: /src/vlc/modules/demux/ogg.c:1378,1
    - Dst: realloc_or_free
      Src: /src/vlc/modules/demux/ogg.c:1407,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/ogg.c:1411,1
    - Dst: xiph_AppendHeaders
      Src: /src/vlc/modules/demux/ogg.c:1418,1
    - Dst: free
      Src: /src/vlc/modules/demux/ogg.c:1421,1
    - Dst: free
      Src: /src/vlc/modules/demux/ogg.c:1430,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/ogg.c:1432,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/ogg.c:1435,1
    - Dst: Ogg_ExtractMeta
      Src: /src/vlc/modules/demux/ogg.c:1443,1
    - Dst: Ogg_GranuleToTime
      Src: /src/vlc/modules/demux/ogg.c:1458,1
    - Dst: Ogg_GranuleToTime
      Src: /src/vlc/modules/demux/ogg.c:1459,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/ogg.c:1461,1
    - Dst: date_Set
      Src: /src/vlc/modules/demux/ogg.c:1465,1
    - Dst: Ogg_IsHeaderPacket
      Src: /src/vlc/modules/demux/ogg.c:1468,1
    - Dst: Ogg_SetNextFrame
      Src: /src/vlc/modules/demux/ogg.c:1470,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/ogg.c:1478,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/ogg.c:1485,1
    - Dst: Ogg_GranuleToTime
      Src: /src/vlc/modules/demux/ogg.c:1495,1
    - Dst: Ogg_OpusPacketDuration
      Src: /src/vlc/modules/demux/ogg.c:1504,1
    - Dst: DemuxDebug
      Src: /src/vlc/modules/demux/ogg.c:1506,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:1506,1
    - Dst: Ogg_IsKeyFrame
      Src: /src/vlc/modules/demux/ogg.c:1515,1
    - Dst: Ogg_GranuleToTime
      Src: /src/vlc/modules/demux/ogg.c:1521,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:1547,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/ogg.c:1548,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:1557,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/ogg.c:1558,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/ogg.c:1595,1
    - Dst: Ogg_QueueBlocks
      Src: /src/vlc/modules/demux/ogg.c:1598,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 187
    argCount: 4
    argNames:
    - p_demux
    - p_stream
    - p_oggpacket
    - b_eos
    argTypes:
    - demux_t*
    - logical_stream_t*
    - ogg_packet*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1281
    functionDepth: 4
    functionLinenumber: 1281
    functionLinenumberEnd: 1599
    functionName: Ogg_DecodePacket
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 1
    functionsReached:
    - Ogg_ReadSkeletonIndex
    - memcpy
    - Ogg_IsKeyFrame
    - Ogg_ReadVP8Header
    - block_Alloc
    - realloc_or_free
    - memcmp
    - Ogg_QueueBlocks
    - Ogg_GranuleToTime
    - DemuxDebug
    - msg_Dbg
    - date_Get
    - Ogg_ReadFlacStreamInfo
    - Ogg_IsHeaderPacket
    - Ogg_ExtractMeta
    - date_Set
    - xiph_AppendHeaders
    - Ogg_SetNextFrame
    - block_Release
    - es_out_Control
    - free
    - Ogg_DecodeVorbisHeader
    - Ogg_OpusPacketDuration
    - Ogg_ReadSkeletonBones
    - malloc
    linkageType: ''
    returnType: void
    signature: "void Ogg_DecodePacket( demux_t *p_demux,\n                              logical_stream_t
      *p_stream,\n                              ogg_packet *p_oggpacket, bool b_eos
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: opus_frame_duration
      Src: /src/vlc/modules/demux/ogg.c:1603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_oggpacket
    argTypes:
    - ogg_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1601
    functionDepth: 1
    functionLinenumber: 1601
    functionLinenumberEnd: 1604
    functionName: Ogg_OpusPacketDuration
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 3
    functionsReached:
    - opus_frame_duration
    linkageType: ''
    returnType: unsigned
    signature: unsigned Ogg_OpusPacketDuration( ogg_packet *p_oggpacket )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/demux/ogg.c:1618,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/ogg.c:1619,1
    - Dst: Ogg_LogicalStreamInit
      Src: /src/vlc/modules/demux/ogg.c:1622,1
    - Dst: ogg_page_serialno
      Src: /src/vlc/modules/demux/ogg.c:1625,1
    - Dst: ogg_stream_init
      Src: /src/vlc/modules/demux/ogg.c:1626,1
    - Dst: ogg_page_granulepos
      Src: /src/vlc/modules/demux/ogg.c:1628,1
    - Dst: ogg_stream_pagein
      Src: /src/vlc/modules/demux/ogg.c:1635,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/ogg.c:1638,1
    - Dst: ogg_stream_packetpeek
      Src: /src/vlc/modules/demux/ogg.c:1644,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/ogg.c:1646,1
    - Dst: Ogg_ConfigureStream
      Src: /src/vlc/modules/demux/ogg.c:1650,1
    - Dst: Ogg_LogicalStreamDelete
      Src: /src/vlc/modules/demux/ogg.c:1659,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - p_demux
    - current_page
    argTypes:
    - demux_t*
    - ogg_page*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1616
    functionDepth: 1
    functionLinenumber: 1616
    functionLinenumberEnd: 1661
    functionName: Ogg_FindLogicalStream
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 0
    functionsReached:
    - Ogg_LogicalStreamInit
    - ogg_stream_pagein
    - ogg_page_granulepos
    - Ogg_ConfigureStream
    - ogg_page_serialno
    - msg_Err
    - ogg_stream_init
    - ogg_stream_packetpeek
    - Ogg_LogicalStreamDelete
    - unlikely
    - malloc
    linkageType: ''
    returnType: logical_stream_t
    signature: logical_stream_t *Ogg_FindLogicalStream( demux_t *p_demux, ogg_page
      *current_page )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/ogg.c:1667,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:1668,1
    - Dst: Ogg_ReadPage
      Src: /src/vlc/modules/demux/ogg.c:1670,1
    - Dst: ogg_page_bos
      Src: /src/vlc/modules/demux/ogg.c:1674,1
    - Dst: ogg_stream_pagein
      Src: /src/vlc/modules/demux/ogg.c:1681,1
    - Dst: Ogg_FindLogicalStream
      Src: /src/vlc/modules/demux/ogg.c:1692,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/ogg.c:1693,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/demux/ogg.c:1696,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1703
      start: 1663
    functionDepth: 2
    functionLinenumber: 1663
    functionLinenumberEnd: 1703
    functionName: Ogg_FindLogicalStreams
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 0
    functionsReached:
    - stream_Size
    - ogg_page_bos
    - ogg_stream_pagein
    - TAB_APPEND
    - unlikely
    - Ogg_ReadPage
    - msg_Dbg
    - Ogg_FindLogicalStream
    linkageType: ''
    returnType: int
    signature: int Ogg_FindLogicalStreams( demux_t *p_demux )
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/demux/ogg.c:1714,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/ogg.c:1716,1
    - Dst: Ogg_ReadVorbisHeader
      Src: /src/vlc/modules/demux/ogg.c:1717,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:1718,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:1721,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/ogg.c:1727,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/ogg.c:1729,1
    - Dst: Ogg_ReadSpeexHeader
      Src: /src/vlc/modules/demux/ogg.c:1730,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:1731,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:1740,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/ogg.c:1746,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/ogg.c:1748,1
    - Dst: Ogg_ReadOpusHeader
      Src: /src/vlc/modules/demux/ogg.c:1749,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:1750,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/ogg.c:1758,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:1760,1
    - Dst: date_Init
      Src: /src/vlc/modules/demux/ogg.c:1768,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/ogg.c:1769,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/ogg.c:1773,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/ogg.c:1774,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:1778,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/ogg.c:1788,1
    - Dst: Ogg_ReadFlacStreamInfo
      Src: /src/vlc/modules/demux/ogg.c:1791,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:1793,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/ogg.c:1799,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/ogg.c:1801,1
    - Dst: Ogg_ReadTheoraHeader
      Src: /src/vlc/modules/demux/ogg.c:1802,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:1803,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:1809,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/ogg.c:1815,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/ogg.c:1817,1
    - Dst: Ogg_ReadDaalaHeader
      Src: /src/vlc/modules/demux/ogg.c:1818,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:1819,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:1825,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/ogg.c:1831,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/ogg.c:1833,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/ogg.c:1835,1
    - Dst: Ogg_ReadDiracHeader
      Src: /src/vlc/modules/demux/ogg.c:1836,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:1837,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/ogg.c:1840,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/ogg.c:1846,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/ogg.c:1848,1
    - Dst: Ogg_ReadVP8Header
      Src: /src/vlc/modules/demux/ogg.c:1849,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:1850,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:1857,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/ogg.c:1863,1
    - Dst: Ogg_ReadAnnodexHeader
      Src: /src/vlc/modules/demux/ogg.c:1865,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/ogg.c:1871,1
    - Dst: Ogg_ReadAnnodexHeader
      Src: /src/vlc/modules/demux/ogg.c:1873,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/ogg.c:1877,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/ogg.c:1879,1
    - Dst: Ogg_ReadKateHeader
      Src: /src/vlc/modules/demux/ogg.c:1880,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:1881,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:1884,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/ogg.c:1890,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/ogg.c:1897,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/ogg.c:1900,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/ogg.c:1901,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:1905,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/ogg.c:1909,1
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/demux/ogg.c:1910,1
    - Dst: date_Init
      Src: /src/vlc/modules/demux/ogg.c:1913,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/ogg.c:1914,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/ogg.c:1919,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/ogg.c:1921,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:1927,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/ogg.c:1942,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/ogg.c:1947,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/ogg.c:1949,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/ogg.c:1952,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/ogg.c:1955,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/ogg.c:1961,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/ogg.c:1963,1
    - Dst: fill_channels_info
      Src: /src/vlc/modules/demux/ogg.c:1964,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/ogg.c:1966,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/ogg.c:1968,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/ogg.c:1970,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/ogg.c:1972,1
    - Dst: date_Init
      Src: /src/vlc/modules/demux/ogg.c:1974,1
    - Dst: wf_tag_to_fourcc
      Src: /src/vlc/modules/demux/ogg.c:1976,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/ogg.c:1981,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:1986,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:1988,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:1998,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:2004,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/ogg.c:2019,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/ogg.c:2020,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/ogg.c:2021,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/ogg.c:2022,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/ogg.c:2023,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/ogg.c:2024,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/ogg.c:2025,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/ogg.c:2026,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/ogg.c:2029,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/ogg.c:2032,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/ogg.c:2033,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/ogg.c:2035,1
    - Dst: ogg_stream_packetout
      Src: /src/vlc/modules/demux/ogg.c:2038,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/ogg.c:2041,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:2043,1
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/demux/ogg.c:2050,1
    - Dst: date_Init
      Src: /src/vlc/modules/demux/ogg.c:2054,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:2064,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/ogg.c:2073,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/ogg.c:2080,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/ogg.c:2081,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/ogg.c:2082,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/ogg.c:2084,1
    - Dst: ogg_stream_packetout
      Src: /src/vlc/modules/demux/ogg.c:2087,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/ogg.c:2094,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/ogg.c:2097,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/ogg.c:2102,1
    - Dst: strtol
      Src: /src/vlc/modules/demux/ogg.c:2104,1
    - Dst: fill_channels_info
      Src: /src/vlc/modules/demux/ogg.c:2106,1
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/demux/ogg.c:2109,1
    - Dst: date_Init
      Src: /src/vlc/modules/demux/ogg.c:2113,1
    - Dst: wf_tag_to_fourcc
      Src: /src/vlc/modules/demux/ogg.c:2119,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/ogg.c:2124,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:2129,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:2131,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:2140,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/ogg.c:2145,1
    - Dst: ogg_stream_packetout
      Src: /src/vlc/modules/demux/ogg.c:2148,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:2150,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/ogg.c:2151,1
    - Dst: date_Init
      Src: /src/vlc/modules/demux/ogg.c:2152,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:2156,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/ogg.c:2162,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:2166,1
    - Dst: Ogg_ReadSkeletonHeader
      Src: /src/vlc/modules/demux/ogg.c:2168,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/ogg.c:2172,1
    - Dst: Ogg_ReadOggSpotsHeader
      Src: /src/vlc/modules/demux/ogg.c:2174,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:2175,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/ogg.c:2181,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:2187,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 241
    argCount: 3
    argNames:
    - p_demux
    - oggpacket
    - p_stream
    argTypes:
    - demux_t*
    - ogg_packet
    - logical_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2198
      start: 1705
    functionDepth: 1
    functionLinenumber: 1705
    functionLinenumberEnd: 2198
    functionName: Ogg_ConfigureStream
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 1
    functionsReached:
    - Ogg_ReadDiracHeader
    - GetWLE
    - memcpy
    - Ogg_ReadVP8Header
    - Ogg_ReadTheoraHeader
    - memcmp
    - Ogg_ReadOggSpotsHeader
    - msg_Err
    - Ogg_ReadSkeletonHeader
    - msg_Dbg
    - msg_Warn
    - Ogg_ReadFlacStreamInfo
    - Ogg_ReadDaalaHeader
    - ogg_stream_packetout
    - es_format_Change
    - VLC_FOURCC
    - Ogg_ReadSpeexHeader
    - Ogg_ReadVorbisHeader
    - Ogg_ReadKateHeader
    - wf_tag_to_fourcc
    - strncmp
    - Ogg_ReadAnnodexHeader
    - fill_channels_info
    - GetQWLE
    - date_Init
    - Ogg_ReadOpusHeader
    - strtol
    - GetDWLE
    - vlc_ureduce
    - malloc
    linkageType: ''
    returnType: int
    signature: int Ogg_ConfigureStream( demux_t *p_demux, ogg_packet oggpacket, logical_stream_t
      *p_stream )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:2226,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/ogg.c:2232,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/demux/ogg.c:2233,1
    - Dst: Ogg_LogicalStreamResetEsFormat
      Src: /src/vlc/modules/demux/ogg.c:2234,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/ogg.c:2240,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/ogg.c:2253,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:2261,1
    - Dst: Ogg_LogicalStreamDelete
      Src: /src/vlc/modules/demux/ogg.c:2262,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 2
    argNames:
    - p_demux
    - stable_id
    argTypes:
    - demux_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2266
      start: 2203
    functionDepth: 1
    functionLinenumber: 2203
    functionLinenumberEnd: 2266
    functionName: Ogg_CreateES
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 2
    functionsReached:
    - es_out_Control
    - es_format_Clean
    - Ogg_LogicalStreamResetEsFormat
    - msg_Dbg
    - es_out_Add
    - Ogg_LogicalStreamDelete
    - es_format_Copy
    linkageType: ''
    returnType: void
    signature: void Ogg_CreateES( demux_t *p_demux, bool stable_id )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Ogg_FindLogicalStreams
      Src: /src/vlc/modules/demux/ogg.c:2279,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/ogg.c:2281,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2310
      start: 2272
    functionDepth: 3
    functionLinenumber: 2272
    functionLinenumberEnd: 2310
    functionName: Ogg_BeginningOfStream
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 1
    functionsReached:
    - Ogg_FindLogicalStreams
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int Ogg_BeginningOfStream( demux_t *p_demux )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Ogg_LogicalStreamDelete
      Src: /src/vlc/modules/demux/ogg.c:2321,1
    - Dst: free
      Src: /src/vlc/modules/demux/ogg.c:2322,1
    - Dst: vlc_meta_Delete
      Src: /src/vlc/modules/demux/ogg.c:2335,1
    - Dst: vlc_input_attachment_Release
      Src: /src/vlc/modules/demux/ogg.c:2339,1
    - Dst: TAB_CLEAN
      Src: /src/vlc/modules/demux/ogg.c:2340,1
    - Dst: vlc_seekpoint_Delete
      Src: /src/vlc/modules/demux/ogg.c:2345,1
    - Dst: TAB_CLEAN
      Src: /src/vlc/modules/demux/ogg.c:2347,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2348
      start: 2315
    functionDepth: 1
    functionLinenumber: 2315
    functionLinenumberEnd: 2348
    functionName: Ogg_EndOfStream
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 2
    functionsReached:
    - vlc_meta_Delete
    - vlc_seekpoint_Delete
    - TAB_CLEAN
    - vlc_input_attachment_Release
    - free
    - Ogg_LogicalStreamDelete
    linkageType: ''
    returnType: void
    signature: void Ogg_EndOfStream( demux_t *p_demux )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vorbis_info_clear
      Src: /src/vlc/modules/demux/ogg.c:2356,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/ogg.c:2357,1
    - Dst: vorbis_comment_clear
      Src: /src/vlc/modules/demux/ogg.c:2359,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/ogg.c:2360,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/ogg.c:2364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - logical_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2366
      start: 2350
    functionDepth: 1
    functionLinenumber: 2350
    functionLinenumberEnd: 2366
    functionName: Ogg_CleanSpecificData
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 0
    functionsReached:
    - FREENULL
    - vorbis_info_clear
    - VLC_UNUSED
    - vorbis_comment_clear
    linkageType: ''
    returnType: void
    signature: void Ogg_CleanSpecificData( logical_stream_t *p_stream )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/demux/ogg.c:2370,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/ogg.c:2371,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/ogg.c:2372,1
    - Dst: date_Set
      Src: /src/vlc/modules/demux/ogg.c:2376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - logical_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2380
      start: 2368
    functionDepth: 1
    functionLinenumber: 2368
    functionLinenumberEnd: 2380
    functionName: Ogg_LogicalStreamInit
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 1
    functionsReached:
    - date_Set
    - es_format_Init
    - memset
    linkageType: ''
    returnType: void
    signature: void Ogg_LogicalStreamInit( logical_stream_t *p_stream )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: es_out_Del
      Src: /src/vlc/modules/demux/ogg.c:2390,1
    - Dst: ogg_stream_clear
      Src: /src/vlc/modules/demux/ogg.c:2392,1
    - Dst: free
      Src: /src/vlc/modules/demux/ogg.c:2393,1
    - Dst: Ogg_CleanSpecificData
      Src: /src/vlc/modules/demux/ogg.c:2395,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/ogg.c:2397,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/ogg.c:2398,1
    - Dst: oggseek_index_entries_free
      Src: /src/vlc/modules/demux/ogg.c:2402,1
    - Dst: Ogg_FreeSkeleton
      Src: /src/vlc/modules/demux/ogg.c:2405,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/demux/ogg.c:2411,1
    - Dst: free
      Src: /src/vlc/modules/demux/ogg.c:2413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - p_demux
    - p_stream
    argTypes:
    - demux_t*
    - logical_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2414
      start: 2385
    functionDepth: 2
    functionLinenumber: 2385
    functionLinenumberEnd: 2414
    functionName: Ogg_LogicalStreamDelete
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 5
    functionsReached:
    - ogg_stream_clear
    - es_format_Clean
    - block_ChainRelease
    - free
    - es_out_Del
    - Ogg_FreeSkeleton
    - oggseek_index_entries_free
    - Ogg_CleanSpecificData
    linkageType: ''
    returnType: void
    signature: void Ogg_LogicalStreamDelete( demux_t *p_demux, logical_stream_t *p_stream
      )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xiph_SplitHeaders
      Src: /src/vlc/modules/demux/ogg.c:2425,1
    - Dst: xiph_SplitHeaders
      Src: /src/vlc/modules/demux/ogg.c:2432,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/ogg.c:2442,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - p_new
    - p_old
    argTypes:
    - es_format_t*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2447
      start: 2419
    functionDepth: 1
    functionLinenumber: 2419
    functionLinenumberEnd: 2447
    functionName: Ogg_IsVorbisFormatCompatible
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 0
    functionsReached:
    - xiph_SplitHeaders
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool Ogg_IsVorbisFormatCompatible( const es_format_t *p_new, const
      es_format_t *p_old )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: xiph_SplitHeaders
      Src: /src/vlc/modules/demux/ogg.c:2456,1
    - Dst: xiph_SplitHeaders
      Src: /src/vlc/modules/demux/ogg.c:2463,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/ogg.c:2483,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/ogg.c:2507,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/ogg.c:2532,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 51
    argCount: 2
    argNames:
    - p_new
    - p_old
    argTypes:
    - es_format_t*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2537
      start: 2449
    functionDepth: 1
    functionLinenumber: 2449
    functionLinenumberEnd: 2537
    functionName: Ogg_IsOpusFormatCompatible
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 0
    functionsReached:
    - xiph_SplitHeaders
    - ARRAY_SIZE
    - memcmp
    linkageType: ''
    returnType: bool
    signature: "bool Ogg_IsOpusFormatCompatible( const es_format_t *p_new,\n                                        const
      es_format_t *p_old )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Ogg_IsVorbisFormatCompatible
      Src: /src/vlc/modules/demux/ogg.c:2547,1
    - Dst: Ogg_IsOpusFormatCompatible
      Src: /src/vlc/modules/demux/ogg.c:2549,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/ogg.c:2554,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - p_demux
    - p_stream
    argTypes:
    - demux_t*
    - logical_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2557
      start: 2539
    functionDepth: 2
    functionLinenumber: 2539
    functionLinenumberEnd: 2557
    functionName: Ogg_LogicalStreamResetEsFormat
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 1
    functionsReached:
    - Ogg_IsOpusFormatCompatible
    - Ogg_IsVorbisFormatCompatible
    - msg_Warn
    linkageType: ''
    returnType: bool
    signature: bool Ogg_LogicalStreamResetEsFormat( demux_t *p_demux, logical_stream_t
      *p_stream )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vorbis_ParseComment
      Src: /src/vlc/modules/demux/ogg.c:2566,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/ogg.c:2574,1
    - Dst: vlc_meta_Set
      Src: /src/vlc/modules/demux/ogg.c:2576,1
    - Dst: vlc_replay_gain_CopyFromMeta
      Src: /src/vlc/modules/demux/ogg.c:2579,1
    - Dst: replay_gain_Reset
      Src: /src/vlc/modules/demux/ogg.c:2585,1
    - Dst: vlc_meta_GetExtra
      Src: /src/vlc/modules/demux/ogg.c:2587,1
    - Dst: vlc_strtof_c
      Src: /src/vlc/modules/demux/ogg.c:2591,1
    - Dst: vlc_meta_GetExtra
      Src: /src/vlc/modules/demux/ogg.c:2594,1
    - Dst: vlc_strtof_c
      Src: /src/vlc/modules/demux/ogg.c:2598,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - p_demux
    - p_fmt
    - p_headers
    - i_headers
    argTypes:
    - demux_t*
    - es_format_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2613
      start: 2559
    functionDepth: 1
    functionLinenumber: 2559
    functionLinenumberEnd: 2613
    functionName: Ogg_ExtractComments
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 0
    functionsReached:
    - vlc_meta_Set
    - vlc_replay_gain_CopyFromMeta
    - vlc_strtof_c
    - vlc_meta_GetExtra
    - vorbis_ParseComment
    - replay_gain_Reset
    - snprintf
    linkageType: ''
    returnType: void
    signature: "void Ogg_ExtractComments( demux_t *p_demux, es_format_t *p_fmt,\n
      \                                const void *p_headers, size_t i_headers )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_bswap32
      Src: /src/vlc/modules/demux/ogg.c:2619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2622
      start: 2615
    functionDepth: 1
    functionLinenumber: 2615
    functionLinenumberEnd: 2622
    functionName: GetDW24BE
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 0
    functionsReached:
    - vlc_bswap32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t GetDW24BE( const uint8_t *p )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetDW24BE
      Src: /src/vlc/modules/demux/ogg.c:2632,1
    - Dst: Ogg_ExtractComments
      Src: /src/vlc/modules/demux/ogg.c:2635,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - p_demux
    - p_fmt
    - p_headers
    - i_headers
    argTypes:
    - demux_t*
    - es_format_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2637
      start: 2624
    functionDepth: 2
    functionLinenumber: 2624
    functionLinenumberEnd: 2637
    functionName: Ogg_ExtractFlacComments
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 0
    functionsReached:
    - GetDW24BE
    - Ogg_ExtractComments
    linkageType: ''
    returnType: void
    signature: "void Ogg_ExtractFlacComments( demux_t *p_demux, es_format_t *p_fmt,\n
      \                                    const uint8_t *p_headers, size_t i_headers
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xiph_SplitHeaders
      Src: /src/vlc/modules/demux/ogg.c:2646,1
    - Dst: Ogg_ExtractComments
      Src: /src/vlc/modules/demux/ogg.c:2651,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - p_demux
    - p_fmt
    - p_headers
    - i_headers
    - i_skip
    argTypes:
    - demux_t*
    - es_format_t*
    - void*
    - size_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2655
      start: 2639
    functionDepth: 2
    functionLinenumber: 2639
    functionLinenumberEnd: 2655
    functionName: Ogg_ExtractXiphMeta
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 0
    functionsReached:
    - xiph_SplitHeaders
    - Ogg_ExtractComments
    linkageType: ''
    returnType: void
    signature: "void Ogg_ExtractXiphMeta( demux_t *p_demux, es_format_t *p_fmt,\n
      \                                const void *p_headers, size_t i_headers, unsigned
      i_skip )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Ogg_ExtractXiphMeta
      Src: /src/vlc/modules/demux/ogg.c:2667,1
    - Dst: Ogg_ExtractXiphMeta
      Src: /src/vlc/modules/demux/ogg.c:2670,1
    - Dst: Ogg_ExtractXiphMeta
      Src: /src/vlc/modules/demux/ogg.c:2673,1
    - Dst: Ogg_ExtractComments
      Src: /src/vlc/modules/demux/ogg.c:2676,1
    - Dst: Ogg_ExtractXiphMeta
      Src: /src/vlc/modules/demux/ogg.c:2681,1
    - Dst: Ogg_ExtractFlacComments
      Src: /src/vlc/modules/demux/ogg.c:2686,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - p_demux
    - p_fmt
    - p_headers
    - i_headers
    argTypes:
    - demux_t*
    - es_format_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2696
      start: 2657
    functionDepth: 3
    functionLinenumber: 2657
    functionLinenumberEnd: 2696
    functionName: Ogg_ExtractMeta
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 1
    functionsReached:
    - Ogg_ExtractXiphMeta
    - Ogg_ExtractFlacComments
    - Ogg_ExtractComments
    linkageType: ''
    returnType: void
    signature: void Ogg_ExtractMeta( demux_t *p_demux, es_format_t *p_fmt, const uint8_t
      *p_headers, size_t i_headers )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bs_init
      Src: /src/vlc/modules/demux/ogg.c:2715,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/ogg.c:2716,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/ogg.c:2718,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/ogg.c:2719,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/ogg.c:2720,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/ogg.c:2722,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/ogg.c:2723,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/ogg.c:2724,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/ogg.c:2725,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/ogg.c:2726,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/ogg.c:2727,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/ogg.c:2729,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/ogg.c:2730,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/ogg.c:2731,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/ogg.c:2732,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/ogg.c:2733,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/ogg.c:2738,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/ogg.c:2739,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/ogg.c:2740,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/ogg.c:2743,1
    - Dst: date_Init
      Src: /src/vlc/modules/demux/ogg.c:2749,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 2
    argNames:
    - p_stream
    - p_oggpacket
    argTypes:
    - logical_stream_t*
    - ogg_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2752
      start: 2698
    functionDepth: 1
    functionLinenumber: 2698
    functionLinenumberEnd: 2752
    functionName: Ogg_ReadTheoraHeader
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 2
    functionsReached:
    - bs_skip
    - date_Init
    - bs_read
    - __MAX
    - bs_init
    linkageType: ''
    returnType: bool
    signature: "bool Ogg_ReadTheoraHeader( logical_stream_t *p_stream,\n                                  ogg_packet
      *p_oggpacket )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: oggpack_readinit
      Src: /src/vlc/modules/demux/ogg.c:2772,1
    - Dst: oggpack_adv
      Src: /src/vlc/modules/demux/ogg.c:2773,1
    - Dst: oggpack_read
      Src: /src/vlc/modules/demux/ogg.c:2775,1
    - Dst: oggpack_read
      Src: /src/vlc/modules/demux/ogg.c:2776,1
    - Dst: oggpack_read
      Src: /src/vlc/modules/demux/ogg.c:2777,1
    - Dst: oggpack_adv
      Src: /src/vlc/modules/demux/ogg.c:2779,1
    - Dst: oggpack_adv
      Src: /src/vlc/modules/demux/ogg.c:2780,1
    - Dst: oggpack_adv
      Src: /src/vlc/modules/demux/ogg.c:2782,1
    - Dst: oggpack_adv
      Src: /src/vlc/modules/demux/ogg.c:2783,1
    - Dst: oggpack_read
      Src: /src/vlc/modules/demux/ogg.c:2784,1
    - Dst: oggpack_read
      Src: /src/vlc/modules/demux/ogg.c:2786,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/ogg.c:2787,1
    - Dst: oggpack_adv
      Src: /src/vlc/modules/demux/ogg.c:2792,1
    - Dst: oggpack_read
      Src: /src/vlc/modules/demux/ogg.c:2795,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/ogg.c:2802,1
    - Dst: date_Init
      Src: /src/vlc/modules/demux/ogg.c:2806,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - p_stream
    - p_oggpacket
    argTypes:
    - logical_stream_t*
    - ogg_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2809
      start: 2754
    functionDepth: 1
    functionLinenumber: 2754
    functionLinenumberEnd: 2809
    functionName: Ogg_ReadDaalaHeader
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 2
    functionsReached:
    - date_Init
    - oggpack_read
    - __MAX
    - oggpack_adv
    - oggpack_readinit
    - VLC_UNUSED
    linkageType: ''
    returnType: bool
    signature: "bool Ogg_ReadDaalaHeader( logical_stream_t *p_stream,\n                                 ogg_packet
      *p_oggpacket )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: oggpack_readinit
      Src: /src/vlc/modules/demux/ogg.c:2822,1
    - Dst: oggpack_adv
      Src: /src/vlc/modules/demux/ogg.c:2823,1
    - Dst: oggpack_read
      Src: /src/vlc/modules/demux/ogg.c:2824,1
    - Dst: fill_channels_info
      Src: /src/vlc/modules/demux/ogg.c:2825,1
    - Dst: oggpack_read
      Src: /src/vlc/modules/demux/ogg.c:2826,1
    - Dst: date_Init
      Src: /src/vlc/modules/demux/ogg.c:2829,1
    - Dst: oggpack_adv
      Src: /src/vlc/modules/demux/ogg.c:2831,1
    - Dst: oggpack_read
      Src: /src/vlc/modules/demux/ogg.c:2832,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - p_stream
    - p_oggpacket
    argTypes:
    - logical_stream_t*
    - ogg_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2835
      start: 2811
    functionDepth: 1
    functionLinenumber: 2811
    functionLinenumberEnd: 2835
    functionName: Ogg_ReadVorbisHeader
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 2
    functionsReached:
    - date_Init
    - oggpack_read
    - oggpack_adv
    - oggpack_readinit
    - fill_channels_info
    linkageType: ''
    returnType: bool
    signature: "bool Ogg_ReadVorbisHeader( logical_stream_t *p_stream,\n                                  ogg_packet
      *p_oggpacket )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i_blocksize
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2841
      start: 2837
    functionDepth: 0
    functionLinenumber: 2837
    functionLinenumberEnd: 2841
    functionName: Ogg_VorbisValidBlocksize
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Ogg_VorbisValidBlocksize( long i_blocksize )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/demux/ogg.c:2849,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/ogg.c:2850,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/ogg.c:2853,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/ogg.c:2854,1
    - Dst: vorbis_info_init
      Src: /src/vlc/modules/demux/ogg.c:2857,1
    - Dst: vorbis_comment_init
      Src: /src/vlc/modules/demux/ogg.c:2858,1
    - Dst: vorbis_synthesis_headerin
      Src: /src/vlc/modules/demux/ogg.c:2864,1
    - Dst: VORBIS_HEADER_TO_FLAG
      Src: /src/vlc/modules/demux/ogg.c:2869,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - p_stream
    - p_oggpacket
    - i_number
    argTypes:
    - logical_stream_t*
    - ogg_packet*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2875
      start: 2843
    functionDepth: 1
    functionLinenumber: 2843
    functionLinenumberEnd: 2875
    functionName: Ogg_DecodeVorbisHeader
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 1
    functionsReached:
    - vorbis_info_init
    - VORBIS_HEADER_TO_FLAG
    - vorbis_comment_init
    - vorbis_synthesis_headerin
    - calloc
    - FREENULL
    - malloc
    linkageType: ''
    returnType: void
    signature: "void Ogg_DecodeVorbisHeader( logical_stream_t *p_stream,\n                                    ogg_packet
      *p_oggpacket, int i_number )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: oggpack_readinit
      Src: /src/vlc/modules/demux/ogg.c:2889,1
    - Dst: oggpack_adv
      Src: /src/vlc/modules/demux/ogg.c:2890,1
    - Dst: oggpack_adv
      Src: /src/vlc/modules/demux/ogg.c:2891,1
    - Dst: oggpack_adv
      Src: /src/vlc/modules/demux/ogg.c:2892,1
    - Dst: oggpack_read
      Src: /src/vlc/modules/demux/ogg.c:2893,1
    - Dst: date_Init
      Src: /src/vlc/modules/demux/ogg.c:2896,1
    - Dst: oggpack_adv
      Src: /src/vlc/modules/demux/ogg.c:2897,1
    - Dst: oggpack_adv
      Src: /src/vlc/modules/demux/ogg.c:2898,1
    - Dst: oggpack_read
      Src: /src/vlc/modules/demux/ogg.c:2899,1
    - Dst: fill_channels_info
      Src: /src/vlc/modules/demux/ogg.c:2903,1
    - Dst: oggpack_read
      Src: /src/vlc/modules/demux/ogg.c:2904,1
    - Dst: oggpack_read
      Src: /src/vlc/modules/demux/ogg.c:2906,1
    - Dst: oggpack_adv
      Src: /src/vlc/modules/demux/ogg.c:2907,1
    - Dst: oggpack_read
      Src: /src/vlc/modules/demux/ogg.c:2909,1
    - Dst: oggpack_read
      Src: /src/vlc/modules/demux/ogg.c:2910,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - p_stream
    - p_oggpacket
    argTypes:
    - logical_stream_t*
    - ogg_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2912
      start: 2878
    functionDepth: 1
    functionLinenumber: 2878
    functionLinenumberEnd: 2912
    functionName: Ogg_ReadSpeexHeader
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 1
    functionsReached:
    - date_Init
    - oggpack_read
    - oggpack_adv
    - oggpack_readinit
    - fill_channels_info
    linkageType: ''
    returnType: bool
    signature: "bool Ogg_ReadSpeexHeader( logical_stream_t *p_stream,\n                                 ogg_packet
      *p_oggpacket )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: date_Init
      Src: /src/vlc/modules/demux/ogg.c:2926,1
    - Dst: oggpack_readinit
      Src: /src/vlc/modules/demux/ogg.c:2930,1
    - Dst: oggpack_adv
      Src: /src/vlc/modules/demux/ogg.c:2931,1
    - Dst: oggpack_read
      Src: /src/vlc/modules/demux/ogg.c:2932,1
    - Dst: oggpack_read
      Src: /src/vlc/modules/demux/ogg.c:2934,1
    - Dst: oggpack_read
      Src: /src/vlc/modules/demux/ogg.c:2935,1
    - Dst: oggpack_adv
      Src: /src/vlc/modules/demux/ogg.c:2936,1
    - Dst: oggpack_read
      Src: /src/vlc/modules/demux/ogg.c:2937,1
    - Dst: fill_channels_info
      Src: /src/vlc/modules/demux/ogg.c:2946,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - p_stream
    - p_oggpacket
    argTypes:
    - logical_stream_t*
    - ogg_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2956
      start: 2914
    functionDepth: 1
    functionLinenumber: 2914
    functionLinenumberEnd: 2956
    functionName: Ogg_ReadOpusHeader
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 1
    functionsReached:
    - date_Init
    - oggpack_read
    - oggpack_adv
    - oggpack_readinit
    - fill_channels_info
    linkageType: ''
    returnType: void
    signature: "void Ogg_ReadOpusHeader( logical_stream_t *p_stream,\n                                ogg_packet
      *p_oggpacket )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bs_init
      Src: /src/vlc/modules/demux/ogg.c:2964,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/ogg.c:2966,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/ogg.c:2967,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:2969,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/ogg.c:2973,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/ogg.c:2975,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/ogg.c:2976,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/ogg.c:2977,1
    - Dst: fill_channels_info
      Src: /src/vlc/modules/demux/ogg.c:2978,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:2980,1
    - Dst: date_Init
      Src: /src/vlc/modules/demux/ogg.c:2984,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:2988,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - p_demux
    - p_stream
    - p_oggpacket
    argTypes:
    - demux_t*
    - logical_stream_t*
    - ogg_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2994
      start: 2958
    functionDepth: 1
    functionLinenumber: 2958
    functionLinenumberEnd: 2994
    functionName: Ogg_ReadFlacStreamInfo
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 2
    functionsReached:
    - bs_skip
    - date_Init
    - bs_read
    - msg_Dbg
    - fill_channels_info
    - bs_init
    linkageType: ''
    returnType: bool
    signature: "bool Ogg_ReadFlacStreamInfo( demux_t *p_demux, logical_stream_t *p_stream,\n
      \                               ogg_packet *p_oggpacket )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: oggpack_readinit
      Src: /src/vlc/modules/demux/ogg.c:3011,1
    - Dst: oggpack_adv
      Src: /src/vlc/modules/demux/ogg.c:3012,1
    - Dst: oggpack_read
      Src: /src/vlc/modules/demux/ogg.c:3013,1
    - Dst: oggpack_adv
      Src: /src/vlc/modules/demux/ogg.c:3014,1
    - Dst: oggpack_read
      Src: /src/vlc/modules/demux/ogg.c:3015,1
    - Dst: oggpack_adv
      Src: /src/vlc/modules/demux/ogg.c:3016,1
    - Dst: oggpack_read
      Src: /src/vlc/modules/demux/ogg.c:3017,1
    - Dst: oggpack_read
      Src: /src/vlc/modules/demux/ogg.c:3018,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/ogg.c:3019,1
    - Dst: date_Init
      Src: /src/vlc/modules/demux/ogg.c:3022,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/ogg.c:3024,1
    - Dst: oggpack_read
      Src: /src/vlc/modules/demux/ogg.c:3028,1
    - Dst: oggpack_read
      Src: /src/vlc/modules/demux/ogg.c:3034,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/ogg.c:3036,1
    - Dst: oggpack_read
      Src: /src/vlc/modules/demux/ogg.c:3040,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/ogg.c:3044,1
    - Dst: FindKateCategoryName
      Src: /src/vlc/modules/demux/ogg.c:3044,1
    - Dst: free
      Src: /src/vlc/modules/demux/ogg.c:3047,1
    - Dst: oggpack_read
      Src: /src/vlc/modules/demux/ogg.c:3054,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 2
    argNames:
    - p_stream
    - p_oggpacket
    argTypes:
    - logical_stream_t*
    - ogg_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3058
      start: 2996
    functionDepth: 1
    functionLinenumber: 2996
    functionLinenumberEnd: 3058
    functionName: Ogg_ReadKateHeader
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 1
    functionsReached:
    - strdup
    - date_Init
    - FindKateCategoryName
    - oggpack_read
    - free
    - __MAX
    - oggpack_adv
    - oggpack_readinit
    - malloc
    linkageType: ''
    returnType: bool
    signature: "bool Ogg_ReadKateHeader( logical_stream_t *p_stream,\n                                ogg_packet
      *p_oggpacket )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/ogg.c:3071,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/ogg.c:3072,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/ogg.c:3075,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/ogg.c:3076,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/ogg.c:3077,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/ogg.c:3078,1
    - Dst: date_Init
      Src: /src/vlc/modules/demux/ogg.c:3081,1
    - Dst: Ogg_ExtractMeta
      Src: /src/vlc/modules/demux/ogg.c:3086,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - p_demux
    - p_stream
    - p_oggpacket
    argTypes:
    - demux_t*
    - logical_stream_t*
    - ogg_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3092
      start: 3060
    functionDepth: 4
    functionLinenumber: 3060
    functionLinenumberEnd: 3092
    functionName: Ogg_ReadVP8Header
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 2
    functionsReached:
    - GetWBE
    - date_Init
    - GetDWBE
    - Ogg_ExtractMeta
    linkageType: ''
    returnType: bool
    signature: "bool Ogg_ReadVP8Header( demux_t *p_demux, logical_stream_t *p_stream,\n
      \                              ogg_packet *p_oggpacket )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3096
      start: 3094
    functionDepth: 0
    functionLinenumber: 3094
    functionLinenumberEnd: 3096
    functionName: CMPVALUE
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMPVALUE(str)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CMPVALUE
      Src: /src/vlc/modules/demux/ogg.c:3104,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/ogg.c:3107,1
    - Dst: free
      Src: /src/vlc/modules/demux/ogg.c:3108,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/ogg.c:3109,1
    - Dst: CMPVALUE
      Src: /src/vlc/modules/demux/ogg.c:3111,1
    - Dst: CMPVALUE
      Src: /src/vlc/modules/demux/ogg.c:3112,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/ogg.c:3114,1
    - Dst: CMPVALUE
      Src: /src/vlc/modules/demux/ogg.c:3118,1
    - Dst: CMPVALUE
      Src: /src/vlc/modules/demux/ogg.c:3119,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/ogg.c:3121,1
    - Dst: CMPVALUE
      Src: /src/vlc/modules/demux/ogg.c:3125,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/ogg.c:3127,1
    - Dst: CMPVALUE
      Src: /src/vlc/modules/demux/ogg.c:3131,1
    - Dst: CMPVALUE
      Src: /src/vlc/modules/demux/ogg.c:3132,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/ogg.c:3134,1
    - Dst: CMPVALUE
      Src: /src/vlc/modules/demux/ogg.c:3138,1
    - Dst: CMPVALUE
      Src: /src/vlc/modules/demux/ogg.c:3139,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/ogg.c:3141,1
    - Dst: CMPVALUE
      Src: /src/vlc/modules/demux/ogg.c:3145,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/ogg.c:3147,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/ogg.c:3147,1
    - Dst: CMPVALUE
      Src: /src/vlc/modules/demux/ogg.c:3151,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/ogg.c:3154,1
    - Dst: CMPVALUE
      Src: /src/vlc/modules/demux/ogg.c:3156,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/ogg.c:3159,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/ogg.c:3160,1
    - Dst: CMPVALUE
      Src: /src/vlc/modules/demux/ogg.c:3162,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/ogg.c:3164,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 4
    argNames:
    - p_stream
    - p_value
    - bytes
    - b_force_backup
    argTypes:
    - logical_stream_t*
    - uint8_t*
    - size_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3166
      start: 3097
    functionDepth: 1
    functionLinenumber: 3097
    functionLinenumberEnd: 3166
    functionName: Ogg_ApplyContentType
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - strdup
    - free
    - CMPVALUE
    - es_format_Change
    linkageType: ''
    returnType: void
    signature: "void Ogg_ApplyContentType( logical_stream_t *p_stream,\n                                  const
      uint8_t *p_value, size_t bytes,\n                                  bool *b_force_backup
      )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/demux/ogg.c:3173,1
    - Dst: Ogg_ReadTheoraHeader
      Src: /src/vlc/modules/demux/ogg.c:3182,1
    - Dst: oggpack_readinit
      Src: /src/vlc/modules/demux/ogg.c:3184,1
    - Dst: oggpack_adv
      Src: /src/vlc/modules/demux/ogg.c:3185,1
    - Dst: oggpack_read
      Src: /src/vlc/modules/demux/ogg.c:3186,1
    - Dst: oggpack_read
      Src: /src/vlc/modules/demux/ogg.c:3187,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/ogg.c:3188,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/ogg.c:3189,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:3191,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/ogg.c:3197,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/ogg.c:3204,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/ogg.c:3205,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/ogg.c:3207,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/ogg.c:3212,1
    - Dst: memchr
      Src: /src/vlc/modules/demux/ogg.c:3214,1
    - Dst: strncpy
      Src: /src/vlc/modules/demux/ogg.c:3220,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/ogg.c:3220,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:3221,1
    - Dst: date_Init
      Src: /src/vlc/modules/demux/ogg.c:3226,1
    - Dst: Ogg_ApplyContentType
      Src: /src/vlc/modules/demux/ogg.c:3229,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - p_demux
    - p_stream
    - p_oggpacket
    argTypes:
    - demux_t*
    - logical_stream_t*
    - ogg_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3232
      start: 3168
    functionDepth: 2
    functionLinenumber: 3168
    functionLinenumberEnd: 3232
    functionName: Ogg_ReadAnnodexHeader
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 1
    functionsReached:
    - GetQWLE
    - strncasecmp
    - Ogg_ApplyContentType
    - memchr
    - date_Init
    - oggpack_read
    - GetDWLE
    - msg_Dbg
    - oggpack_adv
    - oggpack_readinit
    - __MIN
    - strncpy
    - Ogg_ReadTheoraHeader
    - memcmp
    linkageType: ''
    returnType: void
    signature: "void Ogg_ReadAnnodexHeader( demux_t *p_demux,\n                                   logical_stream_t
      *p_stream,\n                                   ogg_packet *p_oggpacket )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/ogg.c:3243,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/ogg.c:3244,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/ogg.c:3245,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/ogg.c:3246,1
    - Dst: GCD
      Src: /src/vlc/modules/demux/ogg.c:3249,1
    - Dst: date_Init
      Src: /src/vlc/modules/demux/ogg.c:3256,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/ogg.c:3258,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - p_demux
    - p_stream
    - p_oggpacket
    argTypes:
    - demux_t*
    - logical_stream_t*
    - ogg_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3262
      start: 3234
    functionDepth: 2
    functionLinenumber: 3234
    functionLinenumberEnd: 3262
    functionName: Ogg_ReadSkeletonHeader
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 1
    functionsReached:
    - GetQWLE
    - asprintf
    - GCD
    - GetWLE
    - date_Init
    linkageType: ''
    returnType: void
    signature: "void Ogg_ReadSkeletonHeader( demux_t *p_demux, logical_stream_t *p_stream,\n
      \                                   ogg_packet *p_oggpacket )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/ogg.c:3271,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/ogg.c:3286,1
    - Dst: TAB_INIT
      Src: /src/vlc/modules/demux/ogg.c:3288,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/ogg.c:3293,1
    - Dst: strndup
      Src: /src/vlc/modules/demux/ogg.c:3300,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:3304,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/demux/ogg.c:3305,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 2
    argNames:
    - p_demux
    - p_oggpacket
    argTypes:
    - demux_t*
    - ogg_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3312
      start: 3264
    functionDepth: 2
    functionLinenumber: 3264
    functionLinenumberEnd: 3312
    functionName: Ogg_ReadSkeletonBones
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 1
    functionsReached:
    - strndup
    - TAB_INIT
    - TAB_APPEND
    - GetDWLE
    - msg_Dbg
    - malloc
    linkageType: ''
    returnType: void
    signature: void Ogg_ReadSkeletonBones( demux_t *p_demux, ogg_packet *p_oggpacket
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/ogg.c:3331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - p_begin
    - p_end
    - pi_value
    argTypes:
    - unsigned const char*
    - unsigned const char*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3333
      start: 3315
    functionDepth: 0
    functionLinenumber: 3315
    functionLinenumberEnd: 3333
    functionName: Read7BitsVariableLE
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 0
    functionsReached:
    - GetQWLE
    linkageType: ''
    returnType: unsigned const char
    signature: "unsigned const char * Read7BitsVariableLE( unsigned const char *p_begin,\n
      \                                          unsigned const char *p_end,\n                                           uint64_t
      *pi_value )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/ogg.c:3344,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/ogg.c:3355,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ogg.c:3356,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/ogg.c:3359,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/ogg.c:3360,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/ogg.c:3361,1
    - Dst: Read7BitsVariableLE
      Src: /src/vlc/modules/demux/ogg.c:3369,1
    - Dst: Read7BitsVariableLE
      Src: /src/vlc/modules/demux/ogg.c:3370,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/ogg.c:3376,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/ogg.c:3380,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/ogg.c:3382,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 2
    argNames:
    - p_demux
    - p_oggpacket
    argTypes:
    - demux_t*
    - ogg_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3386
      start: 3335
    functionDepth: 1
    functionLinenumber: 3335
    functionLinenumberEnd: 3386
    functionName: Ogg_ReadSkeletonIndex
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 1
    functionsReached:
    - GetQWLE
    - memcpy
    - Read7BitsVariableLE
    - GetDWLE
    - msg_Dbg
    - msg_Warn
    - malloc
    linkageType: ''
    returnType: void
    signature: void Ogg_ReadSkeletonIndex( demux_t *p_demux, ogg_packet *p_oggpacket
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/ogg.c:3392,1
    - Dst: TAB_CLEAN
      Src: /src/vlc/modules/demux/ogg.c:3393,1
    - Dst: free
      Src: /src/vlc/modules/demux/ogg.c:3394,1
    - Dst: free
      Src: /src/vlc/modules/demux/ogg.c:3395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - p_skel
    argTypes:
    - ogg_skeleton_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3396
      start: 3388
    functionDepth: 1
    functionLinenumber: 3388
    functionLinenumberEnd: 3396
    functionName: Ogg_FreeSkeleton
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 1
    functionsReached:
    - free
    - TAB_CLEAN
    linkageType: ''
    returnType: void
    signature: void Ogg_FreeSkeleton( ogg_skeleton_t *p_skel )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/vlc/modules/demux/ogg.c:3404,1
    - Dst: free
      Src: /src/vlc/modules/demux/ogg.c:3406,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/ogg.c:3407,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/ogg.c:3409,1
    - Dst: Ogg_ApplyContentType
      Src: /src/vlc/modules/demux/ogg.c:3413,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/ogg.c:3414,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - logical_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3417
      start: 3398
    functionDepth: 2
    functionLinenumber: 3398
    functionLinenumberEnd: 3417
    functionName: Ogg_ApplySkeleton
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 1
    functionsReached:
    - strdup
    - Ogg_ApplyContentType
    - strlen
    - strncmp
    - free
    linkageType: ''
    returnType: void
    signature: void Ogg_ApplySkeleton( logical_stream_t *p_stream )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Read7BitsVariableLE
      Src: /src/vlc/modules/demux/ogg.c:3450,1
    - Dst: Read7BitsVariableLE
      Src: /src/vlc/modules/demux/ogg.c:3452,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 4
    argNames:
    - p_stream
    - i_time
    - pi_lower
    - pi_upper
    argTypes:
    - logical_stream_t*
    - vlc_tick_t
    - int64_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3467
      start: 3420
    functionDepth: 1
    functionLinenumber: 3420
    functionLinenumberEnd: 3467
    functionName: Ogg_GetBoundsUsingSkeletonIndex
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 0
    functionsReached:
    - Read7BitsVariableLE
    linkageType: ''
    returnType: bool
    signature: "bool Ogg_GetBoundsUsingSkeletonIndex( logical_stream_t *p_stream,
      vlc_tick_t i_time,\n                                      int64_t *pi_lower,
      int64_t *pi_upper )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bs_eof
      Src: /src/vlc/modules/demux/ogg.c:3473,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/ogg.c:3473,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/ogg.c:3477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - p_bs
    argTypes:
    - bs_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3481
      start: 3469
    functionDepth: 1
    functionLinenumber: 3469
    functionLinenumberEnd: 3481
    functionName: dirac_uint
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 0
    functionsReached:
    - bs_eof
    - bs_read
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dirac_uint( bs_t *p_bs )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bs_read
      Src: /src/vlc/modules/demux/ogg.c:3485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_bs
    argTypes:
    - bs_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3486
      start: 3483
    functionDepth: 1
    functionLinenumber: 3483
    functionLinenumberEnd: 3486
    functionName: dirac_bool
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 0
    functionsReached:
    - bs_read
    linkageType: ''
    returnType: int
    signature: int dirac_bool( bs_t *p_bs )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/ogg.c:3500,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/ogg.c:3505,1
    - Dst: bs_init
      Src: /src/vlc/modules/demux/ogg.c:3514,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/ogg.c:3515,1
    - Dst: dirac_uint
      Src: /src/vlc/modules/demux/ogg.c:3516,1
    - Dst: dirac_uint
      Src: /src/vlc/modules/demux/ogg.c:3517,1
    - Dst: dirac_uint
      Src: /src/vlc/modules/demux/ogg.c:3518,1
    - Dst: dirac_uint
      Src: /src/vlc/modules/demux/ogg.c:3519,1
    - Dst: dirac_uint
      Src: /src/vlc/modules/demux/ogg.c:3521,1
    - Dst: dirac_bool
      Src: /src/vlc/modules/demux/ogg.c:3528,1
    - Dst: dirac_uint
      Src: /src/vlc/modules/demux/ogg.c:3530,1
    - Dst: dirac_uint
      Src: /src/vlc/modules/demux/ogg.c:3531,1
    - Dst: dirac_bool
      Src: /src/vlc/modules/demux/ogg.c:3534,1
    - Dst: dirac_uint
      Src: /src/vlc/modules/demux/ogg.c:3536,1
    - Dst: dirac_bool
      Src: /src/vlc/modules/demux/ogg.c:3539,1
    - Dst: dirac_uint
      Src: /src/vlc/modules/demux/ogg.c:3541,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/ogg.c:3548,1
    - Dst: dirac_bool
      Src: /src/vlc/modules/demux/ogg.c:3549,1
    - Dst: dirac_uint
      Src: /src/vlc/modules/demux/ogg.c:3551,1
    - Dst: dirac_uint
      Src: /src/vlc/modules/demux/ogg.c:3561,1
    - Dst: dirac_uint
      Src: /src/vlc/modules/demux/ogg.c:3562,1
    - Dst: date_Init
      Src: /src/vlc/modules/demux/ogg.c:3575,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 2
    argNames:
    - p_stream
    - p_oggpacket
    argTypes:
    - logical_stream_t*
    - ogg_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3578
      start: 3488
    functionDepth: 2
    functionLinenumber: 3488
    functionLinenumberEnd: 3578
    functionName: Ogg_ReadDiracHeader
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 1
    functionsReached:
    - dirac_uint
    - bs_skip
    - ARRAY_SIZE
    - dirac_bool
    - date_Init
    - __MAX
    - bs_init
    linkageType: ''
    returnType: bool
    signature: "bool Ogg_ReadDiracHeader( logical_stream_t *p_stream,\n                                 ogg_packet
      *p_oggpacket )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/ogg.c:3588,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/ogg.c:3602,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/ogg.c:3603,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/ogg.c:3610,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/ogg.c:3611,1
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/demux/ogg.c:3627,1
    - Dst: date_Init
      Src: /src/vlc/modules/demux/ogg.c:3631,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - p_stream
    - p_oggpacket
    argTypes:
    - logical_stream_t*
    - ogg_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3637
      start: 3580
    functionDepth: 1
    functionLinenumber: 3580
    functionLinenumberEnd: 3637
    functionName: Ogg_ReadOggSpotsHeader
    functionSourceFile: /src/vlc/modules/demux/ogg.c
    functionUses: 1
    functionsReached:
    - GetQWLE
    - GetWLE
    - date_Init
    - vlc_ureduce
    - es_format_Change
    linkageType: ''
    returnType: bool
    signature: "bool Ogg_ReadOggSpotsHeader( logical_stream_t *p_stream,\n                                    ogg_packet
      *p_oggpacket )"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/sid.cpp:94,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/sid.cpp:99,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/sid.cpp:103,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/sid.cpp:103,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/sid.cpp:106,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/sid.cpp:107,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/sid.cpp:110,1
    - Dst: free
      Src: /src/vlc/modules/demux/sid.cpp:111,1
    - Dst: SidTune::SidTune
      Src: /src/vlc/modules/demux/sid.cpp:115,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/sid.cpp:116,1
    - Dst: free
      Src: /src/vlc/modules/demux/sid.cpp:117,1
    - Dst: SidTune*::read
      Src: /src/vlc/modules/demux/sid.cpp:121,1
    - Dst: free
      Src: /src/vlc/modules/demux/sid.cpp:122,1
    - Dst: sidplay2::sidplay2
      Src: /src/vlc/modules/demux/sid.cpp:126,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/sid.cpp:127,1
    - Dst: reinterpret_cast<demux_sys_t *>
      Src: /src/vlc/modules/demux/sid.cpp:130,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/sid.cpp:130,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/sid.cpp:131,1
    - Dst: SidTune*::getInfo
      Src: /src/vlc/modules/demux/sid.cpp:137,1
    - Dst: sidplay2*::info
      Src: /src/vlc/modules/demux/sid.cpp:139,1
    - Dst: sidplay2*::config
      Src: /src/vlc/modules/demux/sid.cpp:140,1
    - Dst: ReSIDBuilder::ReSIDBuilder
      Src: /src/vlc/modules/demux/sid.cpp:142,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/sid.cpp:143,1
    - Dst: ReSIDBuilder*::create
      Src: /src/vlc/modules/demux/sid.cpp:146,1
    - Dst: ReSIDBuilder*::sampling
      Src: /src/vlc/modules/demux/sid.cpp:147,1
    - Dst: sidplay2*::config
      Src: /src/vlc/modules/demux/sid.cpp:153,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/sid.cpp:158,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/sid.cpp:169,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/sid.cpp:170,1
    - Dst: date_Init
      Src: /src/vlc/modules/demux/sid.cpp:173,1
    - Dst: date_Set
      Src: /src/vlc/modules/demux/sid.cpp:174,1
    - Dst: demux_sys_t*::tune::selectSong
      Src: /src/vlc/modules/demux/sid.cpp:176,1
    - Dst: demux_sys_t*::player::load
      Src: /src/vlc/modules/demux/sid.cpp:177,1
    - Dst: demux_sys_t*::player::fastForward
      Src: /src/vlc/modules/demux/sid.cpp:178,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/sid.cpp:190,1
    - Dst: free
      Src: /src/vlc/modules/demux/sid.cpp:194,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 83
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 196
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/sid.cpp
    functionUses: 37
    functionsReached:
    - ReSIDBuilder::ReSIDBuilder
    - reinterpret_cast<demux_sys_t *>
    - ReSIDBuilder*::sampling
    - demux_sys_t*::player::fastForward
    - es_format_Init
    - memcmp
    - SidTune::SidTune
    - sidplay2*::config
    - sidplay2::sidplay2
    - msg_Err
    - calloc
    - vlc_stream_Read
    - SidTune*::read
    - demux_sys_t*::player::load
    - date_Set
    - ReSIDBuilder*::create
    - demux_sys_t*::tune::selectSong
    - SidTune*::getInfo
    - stream_Size
    - vlc_stream_Peek
    - date_Init
    - free
    - es_out_Add
    - sidplay2*::info
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open (vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<demux_sys_t *>
      Src: /src/vlc/modules/demux/sid.cpp:202,1
    - Dst: free
      Src: /src/vlc/modules/demux/sid.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 208
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/sid.cpp
    functionUses: 117
    functionsReached:
    - free
    - reinterpret_cast<demux_sys_t *>
    linkageType: ''
    returnType: void
    signature: void Close (vlc_object_t *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<demux_sys_t *>
      Src: /src/vlc/modules/demux/sid.cpp:212,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/sid.cpp:214,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/sid.cpp:215,1
    - Dst: demux_sys_t*::tune::getStatus
      Src: /src/vlc/modules/demux/sid.cpp:218,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/sid.cpp:219,1
    - Dst: demux_sys_t*::player::play
      Src: /src/vlc/modules/demux/sid.cpp:223,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/sid.cpp:225,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/sid.cpp:229,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/sid.cpp:231,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/sid.cpp:233,1
    - Dst: date_Increment
      Src: /src/vlc/modules/demux/sid.cpp:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 238
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/sid.cpp
    functionUses: 5
    functionsReached:
    - block_Release
    - demux_sys_t*::tune::getStatus
    - reinterpret_cast<demux_sys_t *>
    - es_out_Send
    - block_Alloc
    - date_Get
    - date_Increment
    - unlikely
    - es_out_SetPCR
    - demux_sys_t*::player::play
    linkageType: ''
    returnType: int
    signature: int Demux (demux_t *demux)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<demux_sys_t *>
      Src: /src/vlc/modules/demux/sid.cpp:243,1
    - Dst: demux_sys_t*::player::time
      Src: /src/vlc/modules/demux/sid.cpp:250,1
    - Dst: demux_sys_t*::player::timebase
      Src: /src/vlc/modules/demux/sid.cpp:250,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/sid.cpp:250,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/sid.cpp:255,1
    - Dst: FromCharset
      Src: /src/vlc/modules/demux/sid.cpp:258,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/sid.cpp:258,1
    - Dst: FromCharset
      Src: /src/vlc/modules/demux/sid.cpp:259,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/sid.cpp:259,1
    - Dst: FromCharset
      Src: /src/vlc/modules/demux/sid.cpp:260,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/sid.cpp:260,1
    - Dst: vlc_meta_SetTitle
      Src: /src/vlc/modules/demux/sid.cpp:262,1
    - Dst: vlc_meta_SetArtist
      Src: /src/vlc/modules/demux/sid.cpp:263,1
    - Dst: vlc_meta_SetCopyright
      Src: /src/vlc/modules/demux/sid.cpp:264,1
    - Dst: free
      Src: /src/vlc/modules/demux/sid.cpp:266,1
    - Dst: free
      Src: /src/vlc/modules/demux/sid.cpp:267,1
    - Dst: free
      Src: /src/vlc/modules/demux/sid.cpp:268,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/sid.cpp:275,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/sid.cpp:276,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/sid.cpp:279,1
    - Dst: vlc_input_title_New
      Src: /src/vlc/modules/demux/sid.cpp:282,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/sid.cpp:290,1
    - Dst: demux_sys_t*::tune::selectSong
      Src: /src/vlc/modules/demux/sid.cpp:291,1
    - Dst: demux_sys_t*::player::load
      Src: /src/vlc/modules/demux/sid.cpp:292,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/sid.cpp:298,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/sid.cpp:304,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/sid.cpp:315,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/sid.cpp:322,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 52
    argCount: 3
    argNames:
    - demux
    - query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 327
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/sid.cpp
    functionUses: 74
    functionsReached:
    - demux_vaControlHelper
    - vlc_meta_SetTitle
    - demux_sys_t*::player::load
    - reinterpret_cast<demux_sys_t *>
    - strlen
    - VLC_TICK_FROM_MS
    - demux_sys_t*::player::timebase
    - free
    - vlc_meta_SetCopyright
    - va_arg
    - vlc_meta_SetArtist
    - vlc_input_title_New
    - vlc_alloc
    - demux_sys_t*::tune::selectSong
    - msg_Dbg
    - FromCharset
    - demux_sys_t*::player::time
    linkageType: ''
    returnType: int
    signature: int Control (demux_t *demux, int query, va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/demux/wav.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: wav_chunk_CompareCb
    functionSourceFile: /src/vlc/modules/demux/wav.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int wav_chunk_CompareCb(const void *a, const void *b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/wav.c:92,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/wav.c:112,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/wav.c:114,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/wav.c:119,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/wav.c:122,1
    - Dst: aout_ChannelReorder
      Src: /src/vlc/modules/demux/wav.c:126,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/wav.c:130,1
    - Dst: date_Increment
      Src: /src/vlc/modules/demux/wav.c:132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 135
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/wav.c
    functionUses: 5
    functionsReached:
    - es_out_Send
    - aout_ChannelReorder
    - vlc_stream_Block
    - date_Get
    - msg_Warn
    - date_Increment
    - vlc_stream_Tell
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/wav.c:145,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/wav.c:158,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/wav.c:159,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/demux/wav.c:164,1
    - Dst: date_Set
      Src: /src/vlc/modules/demux/wav.c:165,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 172
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/wav.c
    functionUses: 74
    functionsReached:
    - demux_vaControlHelper
    - date_Set
    - vlc_tick_from_samples
    - vlc_stream_Tell
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/demux/wav.c:178,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/wav.c:184,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/wav.c:185,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/wav.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p_demux
    - i_size
    argTypes:
    - demux_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 189
    functionName: ChunkSkip
    functionSourceFile: /src/vlc/modules/demux/wav.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Seek
    - vlc_stream_Tell
    - vlc_stream_Read
    - unlikely
    linkageType: ''
    returnType: int
    signature: int ChunkSkip( demux_t *p_demux, uint32_t i_size )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/wav.c:197,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/wav.c:197,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/wav.c:204,1
    - Dst: bsearch
      Src: /src/vlc/modules/demux/wav.c:208,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/wav.c:210,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/wav.c:214,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/wav.c:217,1
    - Dst: ChunkSkip
      Src: /src/vlc/modules/demux/wav.c:220,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/wav.c:225,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - p_demux
    - p_id
    - pi_size
    argTypes:
    - demux_t*
    - enum wav_chunk_id*
    - uint32_t*
    assertStmts:
    - condition: "( strcmp( wav_chunk_id_key_list[i].key,\n                        wav_chunk_id_key_list[i
        + 1].key ) < 0 )"
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/vlc/modules/demux/wav.c
    constantsTouched: []
    func_position:
      end: 233
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 233
    functionName: ChunkGetNext
    functionSourceFile: /src/vlc/modules/demux/wav.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_stream_Peek
    - strcmp
    - bsearch
    - GetDWLE
    - vlc_stream_Read
    - ChunkSkip
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: "int ChunkGetNext( demux_t *p_demux, enum wav_chunk_id *p_id,\n                         uint32_t
      *pi_size )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: __MAX
      Src: /src/vlc/modules/demux/wav.c:246,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - pi_size
    - pi_samples
    - p_fmt
    argTypes:
    - unsigned int*
    - unsigned*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 260
    functionName: FrameInfo_PCM
    functionSourceFile: /src/vlc/modules/demux/wav.c
    functionUses: 0
    functionsReached:
    - __MAX
    linkageType: ''
    returnType: int
    signature: "int FrameInfo_PCM( unsigned int *pi_size, unsigned *pi_samples,\n
      \                         const es_format_t *p_fmt )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pi_size
    - pi_samples
    - p_fmt
    argTypes:
    - unsigned int*
    - unsigned*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 276
    functionName: FrameInfo_MS_ADPCM
    functionSourceFile: /src/vlc/modules/demux/wav.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int FrameInfo_MS_ADPCM( unsigned int *pi_size, unsigned *pi_samples,\n
      \                              const es_format_t *p_fmt )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pi_size
    - pi_samples
    - p_fmt
    argTypes:
    - unsigned int*
    - unsigned*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 292
    functionName: FrameInfo_IMA_ADPCM
    functionSourceFile: /src/vlc/modules/demux/wav.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int FrameInfo_IMA_ADPCM( unsigned int *pi_size, unsigned *pi_samples,\n
      \                               const es_format_t *p_fmt )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pi_size
    - pi_samples
    - p_fmt
    argTypes:
    - unsigned int*
    - unsigned*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 305
    functionName: FrameInfo_Creative_ADPCM
    functionSourceFile: /src/vlc/modules/demux/wav.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int FrameInfo_Creative_ADPCM( unsigned int *pi_size, unsigned *pi_samples,\n
      \                                    const es_format_t *p_fmt )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pi_size
    - pi_samples
    - p_fmt
    argTypes:
    - unsigned int*
    - unsigned*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 318
    functionName: FrameInfo_MSGSM
    functionSourceFile: /src/vlc/modules/demux/wav.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int FrameInfo_MSGSM( unsigned int *pi_size, unsigned *pi_samples,\n
      \                           const es_format_t *p_fmt )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/wav.c:324,1
    - Dst: free
      Src: /src/vlc/modules/demux/wav.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 326
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/wav.c
    functionUses: 117
    functionsReached:
    - free
    - es_format_Clean
    linkageType: ''
    returnType: void
    signature: void Close ( vlc_object_t * p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/wav.c:335,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/wav.c:339,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/wav.c:342,1
    - Dst: ChunkSkip
      Src: /src/vlc/modules/demux/wav.c:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p_demux
    - i_size
    argTypes:
    - demux_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 345
    functionName: ChunkParseDS64
    functionSourceFile: /src/vlc/modules/demux/wav.c
    functionUses: 0
    functionsReached:
    - GetQWLE
    - ChunkSkip
    - vlc_stream_Peek
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int ChunkParseDS64( demux_t *p_demux, uint32_t i_size )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/wav.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 356
    functionName: InitFmt
    functionSourceFile: /src/vlc/modules/demux/wav.c
    functionUses: 0
    functionsReached:
    - es_format_Init
    linkageType: ''
    returnType: void
    signature: void InitFmt( demux_t *p_demux )
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: i_size < sizeof( WAVEFORMATEX ) || i_size >
      Src: /src/vlc/modules/demux/wav.c:367,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/wav.c:369,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/wav.c:374,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/wav.c:375,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/wav.c:381,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/wav.c:382,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/wav.c:384,1
    - Dst: wf_tag_to_fourcc
      Src: /src/vlc/modules/demux/wav.c:388,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/wav.c:388,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/wav.c:390,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/wav.c:391,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/wav.c:392,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/wav.c:393,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/wav.c:394,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/wav.c:396,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/wav.c:396,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/wav.c:402,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/wav.c:411,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/wav.c:412,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/wav.c:413,1
    - Dst: sf_tag_to_fourcc
      Src: /src/vlc/modules/demux/wav.c:415,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/wav.c:417,1
    - Dst: GUID_PRINT
      Src: /src/vlc/modules/demux/wav.c:417,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/wav.c:422,1
    - Dst: getChannelMask
      Src: /src/vlc/modules/demux/wav.c:426,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/wav.c:428,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/wav.c:432,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/wav.c:443,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/wav.c:452,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/wav.c:468,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/wav.c:489,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/wav.c:496,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/wav.c:497,1
    - Dst: aout_CheckChannelReorder
      Src: /src/vlc/modules/demux/wav.c:499,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/wav.c:503,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/wav.c:511,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/wav.c:512,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/wav.c:517,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/wav.c:521,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/wav.c:524,1
    - Dst: free
      Src: /src/vlc/modules/demux/wav.c:529,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/wav.c:534,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/wav.c:535,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/wav.c:536,1
    - Dst: FrameInfo_PCM
      Src: /src/vlc/modules/demux/wav.c:539,1
    - Dst: vlc_fourcc_GetCodecAudio
      Src: /src/vlc/modules/demux/wav.c:543,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/wav.c:546,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/wav.c:552,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/wav.c:553,1
    - Dst: FrameInfo_MS_ADPCM
      Src: /src/vlc/modules/demux/wav.c:554,1
    - Dst: FrameInfo_IMA_ADPCM
      Src: /src/vlc/modules/demux/wav.c:559,1
    - Dst: FrameInfo_Creative_ADPCM
      Src: /src/vlc/modules/demux/wav.c:564,1
    - Dst: FrameInfo_MSGSM
      Src: /src/vlc/modules/demux/wav.c:580,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/wav.c:585,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/wav.c:592,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/wav.c:597,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/wav.c:601,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/wav.c:606,1
    - Dst: InitFmt
      Src: /src/vlc/modules/demux/wav.c:607,1
    - Dst: free
      Src: /src/vlc/modules/demux/wav.c:608,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 160
    argCount: 2
    argNames:
    - p_demux
    - i_size
    argTypes:
    - demux_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 610
    functionName: ChunkParseFmt
    functionSourceFile: /src/vlc/modules/demux/wav.c
    functionUses: 0
    functionsReached:
    - FrameInfo_Creative_ADPCM
    - GetWLE
    - memcpy
    - InitFmt
    - sf_tag_to_fourcc
    - ARRAY_SIZE
    - FrameInfo_MSGSM
    - msg_Err
    - vlc_stream_Read
    - msg_Dbg
    - FrameInfo_PCM
    - msg_Warn
    - getChannelMask
    - VLC_FOURCC
    - wf_tag_to_fourcc
    - __MIN
    - vlc_fourcc_GetCodecAudio
    - FrameInfo_IMA_ADPCM
    - i_size < sizeof( WAVEFORMATEX ) || i_size >
    - es_format_Clean
    - aout_CheckChannelReorder
    - FrameInfo_MS_ADPCM
    - free
    - GetDWLE
    - GUID_PRINT
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int ChunkParseFmt( demux_t *p_demux, uint32_t i_size )
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/wav.c:622,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/wav.c:625,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/wav.c:626,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/wav.c:627,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/wav.c:634,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/wav.c:635,1
    - Dst: InitFmt
      Src: /src/vlc/modules/demux/wav.c:640,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/wav.c:643,1
    - Dst: ChunkGetNext
      Src: /src/vlc/modules/demux/wav.c:648,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/wav.c:652,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/demux/wav.c:661,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/wav.c:663,1
    - Dst: likely
      Src: /src/vlc/modules/demux/wav.c:668,1
    - Dst: ChunkSkip
      Src: /src/vlc/modules/demux/wav.c:675,1
    - Dst: ChunkParseDS64
      Src: /src/vlc/modules/demux/wav.c:682,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/wav.c:687,1
    - Dst: ChunkSkip
      Src: /src/vlc/modules/demux/wav.c:694,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/wav.c:695,1
    - Dst: ChunkParseFmt
      Src: /src/vlc/modules/demux/wav.c:698,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/wav.c:707,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/wav.c:715,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/wav.c:715,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/wav.c:716,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/wav.c:726,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/wav.c:727,1
    - Dst: date_Init
      Src: /src/vlc/modules/demux/wav.c:730,1
    - Dst: date_Set
      Src: /src/vlc/modules/demux/wav.c:731,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/wav.c:736,1
    - Dst: free
      Src: /src/vlc/modules/demux/wav.c:737,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 87
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 612
    functionDepth: 3
    functionLinenumber: 612
    functionLinenumberEnd: 739
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/wav.c
    functionUses: 37
    functionsReached:
    - InitFmt
    - memcmp
    - msg_Err
    - vlc_stream_Read
    - msg_Warn
    - vlc_stream_GetSize
    - date_Set
    - ChunkGetNext
    - likely
    - ChunkParseDS64
    - vlc_stream_Seek
    - vlc_stream_Tell
    - vlc_stream_Peek
    - es_format_Clean
    - date_Init
    - free
    - ChunkSkip
    - es_out_Add
    - ChunkParseFmt
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t * p_this )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/vc1.c:82,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/vc1.c:89,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/vc1.c:93,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/vc1.c:97,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/vc1.c:98,1
    - Dst: var_CreateGetFloat
      Src: /src/vlc/modules/demux/vc1.c:106,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/vc1.c:111,1
    - Dst: demux_PacketizerNew
      Src: /src/vlc/modules/demux/vc1.c:112,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/vc1.c:112,1
    - Dst: free
      Src: /src/vlc/modules/demux/vc1.c:115,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 119
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/vc1.c
    functionUses: 37
    functionsReached:
    - vlc_stream_Peek
    - demux_PacketizerNew
    - msg_Err
    - es_format_Init
    - free
    - VLC_OBJECT
    - msg_Warn
    - var_CreateGetFloat
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t * p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: demux_PacketizerDestroy
      Src: /src/vlc/modules/demux/vc1.c:129,1
    - Dst: free
      Src: /src/vlc/modules/demux/vc1.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/vc1.c
    functionUses: 117
    functionsReached:
    - demux_PacketizerDestroy
    - free
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t * p_this )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/vc1.c:144,1
    - Dst: demux_sys_t*::p_packetizer::pf_packetize
      Src: /src/vlc/modules/demux/vc1.c:156,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/vc1.c:169,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/vc1.c:172,1
    - Dst: likely
      Src: /src/vlc/modules/demux/vc1.c:176,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/vc1.c:177,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/vc1.c:180,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/demux/vc1.c:188,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/vc1.c:194,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 199
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/vc1.c
    functionUses: 5
    functionsReached:
    - block_Release
    - demux_sys_t*::p_packetizer::pf_packetize
    - es_out_Send
    - VLC_TICK_FROM_MS
    - vlc_tick_from_samples
    - likely
    - es_out_Add
    - vlc_stream_Block
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/vc1.c:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 214
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/vc1.c
    functionUses: 74
    functionsReached:
    - demux_vaControlHelper
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/xiph_metadata.c:53,1
    - Dst: RM
      Src: /src/vlc/modules/demux/xiph_metadata.c:54,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/xiph_metadata.c:55,1
    - Dst: RM
      Src: /src/vlc/modules/demux/xiph_metadata.c:56,1
    - Dst: strndup
      Src: /src/vlc/modules/demux/xiph_metadata.c:61,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/xiph_metadata.c:62,1
    - Dst: RM
      Src: /src/vlc/modules/demux/xiph_metadata.c:64,1
    - Dst: free
      Src: /src/vlc/modules/demux/xiph_metadata.c:68,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/xiph_metadata.c:72,1
    - Dst: RM
      Src: /src/vlc/modules/demux/xiph_metadata.c:73,1
    - Dst: free
      Src: /src/vlc/modules/demux/xiph_metadata.c:77,1
    - Dst: strndup
      Src: /src/vlc/modules/demux/xiph_metadata.c:82,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/xiph_metadata.c:83,1
    - Dst: RM
      Src: /src/vlc/modules/demux/xiph_metadata.c:85,1
    - Dst: EnsureUTF8
      Src: /src/vlc/modules/demux/xiph_metadata.c:87,1
    - Dst: RM
      Src: /src/vlc/modules/demux/xiph_metadata.c:92,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/xiph_metadata.c:94,1
    - Dst: RM
      Src: /src/vlc/modules/demux/xiph_metadata.c:95,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/xiph_metadata.c:105,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/xiph_metadata.c:107,1
    - Dst: strcat
      Src: /src/vlc/modules/demux/xiph_metadata.c:108,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/xiph_metadata.c:109,1
    - Dst: strcat
      Src: /src/vlc/modules/demux/xiph_metadata.c:110,1
    - Dst: vlc_input_attachment_New
      Src: /src/vlc/modules/demux/xiph_metadata.c:112,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/xiph_metadata.c:115,1
    - Dst: free
      Src: /src/vlc/modules/demux/xiph_metadata.c:123,1
    - Dst: free
      Src: /src/vlc/modules/demux/xiph_metadata.c:124,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 5
    argNames:
    - p_data
    - size
    - i_attachments
    - i_cover_score
    - i_cover_idx
    argTypes:
    - uint8_t*
    - size_t
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 126
    functionName: ParseFlacPicture
    functionSourceFile: /src/vlc/modules/demux/xiph_metadata.c
    functionUses: 0
    functionsReached:
    - strndup
    - RM
    - snprintf
    - ARRAY_SIZE
    - vlc_input_attachment_New
    - EnsureUTF8
    - free
    - GetDWBE
    - strcasecmp
    - strcat
    - unlikely
    linkageType: ''
    returnType: input_attachment_t
    signature: "input_attachment_t * ParseFlacPicture( const uint8_t *p_data, size_t
      size,\n    int i_attachments, int *i_cover_score, int *i_cover_idx )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: RM
    functionSourceFile: /src/vlc/modules/demux/xiph_metadata.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RM(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: RM
    functionSourceFile: /src/vlc/modules/demux/xiph_metadata.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RM(x)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/demux/xiph_metadata.c:152,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/xiph_metadata.c:156,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/xiph_metadata.c:158,1
    - Dst: free
      Src: /src/vlc/modules/demux/xiph_metadata.c:159,1
    - Dst: vlc_seekpoint_New
      Src: /src/vlc/modules/demux/xiph_metadata.c:165,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - i_index
    - p_array
    argTypes:
    - unsigned int
    - chapters_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 167
    functionName: getChapterEntry
    functionSourceFile: /src/vlc/modules/demux/xiph_metadata.c
    functionUses: 0
    functionsReached:
    - calloc
    - vlc_seekpoint_New
    - memcpy
    - free
    linkageType: ''
    returnType: seekpoint_t
    signature: seekpoint_t * getChapterEntry( unsigned int i_index, chapters_array_t
      *p_array )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/xiph_metadata.c:187,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/xiph_metadata.c:190,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/xiph_metadata.c:193,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/xiph_metadata.c:193,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - psz_line
    - psz_tag
    - i_tag
    - b_quoted
    argTypes:
    - char*
    - char*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 232
    functionName: xiph_ExtractCueSheetMeta
    functionSourceFile: /src/vlc/modules/demux/xiph_metadata.c
    functionUses: 0
    functionsReached:
    - strlen
    - strncasecmp
    - strdup
    - malloc
    linkageType: ''
    returnType: char
    signature: "char * xiph_ExtractCueSheetMeta( const char *psz_line,\n                                        const
      char *psz_tag, int i_tag,\n                                        bool b_quoted
      )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/xiph_metadata.c:239,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/xiph_metadata.c:240,1
    - Dst: TRY_EXTRACT_CUEMETA
      Src: /src/vlc/modules/demux/xiph_metadata.c:254,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/xiph_metadata.c:258,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/demux/xiph_metadata.c:263,1
    - Dst: vlc_seekpoint_Delete
      Src: /src/vlc/modules/demux/xiph_metadata.c:265,1
    - Dst: vlc_seekpoint_New
      Src: /src/vlc/modules/demux/xiph_metadata.c:268,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/xiph_metadata.c:270,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/xiph_metadata.c:273,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/xiph_metadata.c:275,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/demux/xiph_metadata.c:275,1
    - Dst: xiph_ExtractCueSheetMeta
      Src: /src/vlc/modules/demux/xiph_metadata.c:281,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 7
    argNames:
    - pi_flags
    - p_meta
    - psz_line
    - pi_seekpoint
    - ppp_seekpoint
    - pp_tmppoint
    - pb_valid
    argTypes:
    - unsigned*
    - vlc_meta_t*
    - char*
    - int*
    - seekpoint_t***
    - seekpoint_t**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 283
    functionName: xiph_ParseCueSheetMeta
    functionSourceFile: /src/vlc/modules/demux/xiph_metadata.c
    functionUses: 0
    functionsReached:
    - sscanf
    - strncasecmp
    - vlc_seekpoint_Delete
    - TAB_APPEND
    - vlc_seekpoint_New
    - vlc_tick_from_sec
    - xiph_ExtractCueSheetMeta
    - vlc_tick_from_samples
    - TRY_EXTRACT_CUEMETA
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void xiph_ParseCueSheetMeta( unsigned *pi_flags, vlc_meta_t *p_meta,\n
      \                                   const char *psz_line,\n                                    int
      *pi_seekpoint, seekpoint_t ***ppp_seekpoint,\n                                    seekpoint_t
      **pp_tmppoint, bool *pb_valid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - string
    - ','
    - quoted
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 253
    functionName: TRY_EXTRACT_CUEMETA
    functionSourceFile: /src/vlc/modules/demux/xiph_metadata.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRY_EXTRACT_CUEMETA(var, string, quoted)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strndup
      Src: /src/vlc/modules/demux/xiph_metadata.c:298,1
    - Dst: xiph_ParseCueSheetMeta
      Src: /src/vlc/modules/demux/xiph_metadata.c:301,1
    - Dst: free
      Src: /src/vlc/modules/demux/xiph_metadata.c:304,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/demux/xiph_metadata.c:320,1
    - Dst: vlc_seekpoint_Delete
      Src: /src/vlc/modules/demux/xiph_metadata.c:322,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 6
    argNames:
    - pi_flags
    - p_meta
    - p_data
    - i_data
    - pi_seekpoint
    - ppp_seekpoint
    argTypes:
    - unsigned*
    - vlc_meta_t*
    - char*
    - int
    - int*
    - seekpoint_t***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 324
    functionName: xiph_ParseCueSheet
    functionSourceFile: /src/vlc/modules/demux/xiph_metadata.c
    functionUses: 0
    functionsReached:
    - strndup
    - vlc_seekpoint_Delete
    - TAB_APPEND
    - free
    - xiph_ParseCueSheetMeta
    linkageType: ''
    returnType: void
    signature: "void xiph_ParseCueSheet( unsigned *pi_flags, vlc_meta_t *p_meta,\n
      \                               const char *p_data, int i_data,\n                                int
      *pi_seekpoint, seekpoint_t ***ppp_seekpoint )"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/xiph_metadata.c:335,1
    - Dst: RM
      Src: /src/vlc/modules/demux/xiph_metadata.c:335,1
    - Dst: RM
      Src: /src/vlc/modules/demux/xiph_metadata.c:340,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/xiph_metadata.c:345,1
    - Dst: RM
      Src: /src/vlc/modules/demux/xiph_metadata.c:345,1
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/demux/xiph_metadata.c:353,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/xiph_metadata.c:355,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/xiph_metadata.c:365,1
    - Dst: RM
      Src: /src/vlc/modules/demux/xiph_metadata.c:365,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/xiph_metadata.c:373,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/xiph_metadata.c:375,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/xiph_metadata.c:378,1
    - Dst: IF_EXTRACT
      Src: /src/vlc/modules/demux/xiph_metadata.c:415,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/xiph_metadata.c:420,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/xiph_metadata.c:420,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/xiph_metadata.c:425,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/xiph_metadata.c:425,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/xiph_metadata.c:429,1
    - Dst: vlc_meta_Set
      Src: /src/vlc/modules/demux/xiph_metadata.c:430,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/xiph_metadata.c:434,1
    - Dst: vlc_meta_Set
      Src: /src/vlc/modules/demux/xiph_metadata.c:435,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/xiph_metadata.c:447,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/xiph_metadata.c:447,1
    - Dst: IF_EXTRACT
      Src: /src/vlc/modules/demux/xiph_metadata.c:449,1
    - Dst: free
      Src: /src/vlc/modules/demux/xiph_metadata.c:452,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/xiph_metadata.c:453,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/xiph_metadata.c:453,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/xiph_metadata.c:458,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/xiph_metadata.c:458,1
    - Dst: vlc_b64_decode_binary
      Src: /src/vlc/modules/demux/xiph_metadata.c:464,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/xiph_metadata.c:464,1
    - Dst: ParseFlacPicture
      Src: /src/vlc/modules/demux/xiph_metadata.c:465,1
    - Dst: free
      Src: /src/vlc/modules/demux/xiph_metadata.c:467,1
    - Dst: TAB_APPEND_CAST
      Src: /src/vlc/modules/demux/xiph_metadata.c:470,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/xiph_metadata.c:474,1
    - Dst: strstr
      Src: /src/vlc/modules/demux/xiph_metadata.c:483,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/xiph_metadata.c:484,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/xiph_metadata.c:486,1
    - Dst: getChapterEntry
      Src: /src/vlc/modules/demux/xiph_metadata.c:487,1
    - Dst: EnsureUTF8
      Src: /src/vlc/modules/demux/xiph_metadata.c:489,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/xiph_metadata.c:491,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/xiph_metadata.c:493,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/xiph_metadata.c:496,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/xiph_metadata.c:497,1
    - Dst: getChapterEntry
      Src: /src/vlc/modules/demux/xiph_metadata.c:499,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/xiph_metadata.c:501,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/xiph_metadata.c:501,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/xiph_metadata.c:505,1
    - Dst: EnsureUTF8
      Src: /src/vlc/modules/demux/xiph_metadata.c:507,1
    - Dst: xiph_ParseCueSheet
      Src: /src/vlc/modules/demux/xiph_metadata.c:508,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/xiph_metadata.c:511,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/xiph_metadata.c:515,1
    - Dst: EnsureUTF8
      Src: /src/vlc/modules/demux/xiph_metadata.c:517,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/demux/xiph_metadata.c:523,1
    - Dst: free
      Src: /src/vlc/modules/demux/xiph_metadata.c:527,1
    - Dst: RM
      Src: /src/vlc/modules/demux/xiph_metadata.c:528,1
    - Dst: TAB_APPEND_CAST
      Src: /src/vlc/modules/demux/xiph_metadata.c:535,1
    - Dst: free
      Src: /src/vlc/modules/demux/xiph_metadata.c:538,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 96
    argCount: 10
    argNames:
    - p_fmt
    - pp_meta
    - p_data
    - i_data
    - i_attachments
    - attachments
    - i_cover_score
    - i_cover_idx
    - i_seekpoint
    - ppp_seekpoint
    argTypes:
    - es_format_t*
    - vlc_meta_t**
    - uint8_t*
    - size_t
    - int*
    - input_attachment_t***
    - int*
    - int*
    - int*
    - seekpoint_t***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 326
    functionDepth: 3
    functionLinenumber: 326
    functionLinenumberEnd: 539
    functionName: vorbis_ParseComment
    functionSourceFile: /src/vlc/modules/demux/xiph_metadata.c
    functionUses: 1
    functionsReached:
    - sscanf
    - vlc_meta_Set
    - strchr
    - memcpy
    - ParseFlacPicture
    - EnsureUTF8
    - IF_EXTRACT
    - vlc_meta_New
    - xiph_ParseCueSheet
    - strstr
    - snprintf
    - strdup
    - getChapterEntry
    - vlc_meta_SetExtra
    - RM
    - strncasecmp
    - TAB_APPEND_CAST
    - strlen
    - vlc_tick_from_sec
    - VLC_TICK_FROM_MS
    - free
    - GetDWLE
    - vlc_b64_decode_binary
    - unlikely
    - malloc
    linkageType: ''
    returnType: void
    signature: "void vorbis_ParseComment( es_format_t *p_fmt, vlc_meta_t **pp_meta,\n
      \       const uint8_t *p_data, size_t i_data,\n        int *i_attachments, input_attachment_t
      ***attachments,\n        int *i_cover_score, int *i_cover_idx,\n        int
      *i_seekpoint, seekpoint_t ***ppp_seekpoint )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - txt
    - ','
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 399
    functionName: IF_EXTRACT
    functionSourceFile: /src/vlc/modules/demux/xiph_metadata.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IF_EXTRACT(txt,var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - txt
    - ','
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 414
    functionName: IF_EXTRACT_ONCE_NUMBER
    functionSourceFile: /src/vlc/modules/demux/xiph_metadata.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IF_EXTRACT_ONCE_NUMBER(txt,var)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/demux/xiph_metadata.c:545,1
    - Dst: N_
      Src: /src/vlc/modules/demux/xiph_metadata.c:548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - psz_tag
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 549
    functionName: FindKateCategoryName
    functionSourceFile: /src/vlc/modules/demux/xiph_metadata.c
    functionUses: 1
    functionsReached:
    - strcmp
    - N_
    linkageType: ''
    returnType: char
    signature: char *FindKateCategoryName( const char *psz_tag )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - run
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: BAILOUT
    functionSourceFile: /src/vlc/modules/demux/xiph_test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BAILOUT(run)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - run
    - ','
    - test
    - ','
    - a
    - ','
    - b
    - ','
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: RUN
    functionSourceFile: /src/vlc/modules/demux/xiph_test.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN(run, test, a, b, res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - run
    - ','
    - test
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: PASS
    functionSourceFile: /src/vlc/modules/demux/xiph_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PASS(run, test, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - run
    - ','
    - test
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: FAIL
    functionSourceFile: /src/vlc/modules/demux/xiph_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAIL(run, test, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - foo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: EXPECT
    functionSourceFile: /src/vlc/modules/demux/xiph_test.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPECT(foo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - foo
    - ','
    - cleanup
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: EXPECT_CLEANUP
    functionSourceFile: /src/vlc/modules/demux/xiph_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPECT_CLEANUP(foo, cleanup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT
      Src: /src/vlc/modules/demux/xiph_test.c:69,1
    - Dst: xiph_IsLavcFormat
      Src: /src/vlc/modules/demux/xiph_test.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - run
    - p_extra
    - i_extra
    - source
    argTypes:
    - char*
    - uint8_t*
    - size_t
    - struct params_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: test_xiph_IsLavcFormat
    functionSourceFile: /src/vlc/modules/demux/xiph_test.c
    functionUses: 0
    functionsReached:
    - EXPECT
    - xiph_IsLavcFormat
    linkageType: ''
    returnType: int
    signature: "int test_xiph_IsLavcFormat(const char *run,\n                 const
      uint8_t *p_extra, size_t i_extra,\n                 const struct params_s *source)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT
      Src: /src/vlc/modules/demux/xiph_test.c:77,1
    - Dst: xiph_CountHeaders
      Src: /src/vlc/modules/demux/xiph_test.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - run
    - p_extra
    - i_extra
    - source
    argTypes:
    - char*
    - uint8_t*
    - size_t
    - struct params_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: test_xiph_CountHeaders
    functionSourceFile: /src/vlc/modules/demux/xiph_test.c
    functionUses: 0
    functionsReached:
    - EXPECT
    - xiph_CountHeaders
    linkageType: ''
    returnType: int
    signature: "int test_xiph_CountHeaders(const char *run,\n                 const
      uint8_t *p_extra, size_t i_extra,\n                 const struct params_s *source)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT
      Src: /src/vlc/modules/demux/xiph_test.c:85,1
    - Dst: xiph_CountLavcHeaders
      Src: /src/vlc/modules/demux/xiph_test.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - run
    - p_extra
    - i_extra
    - source
    argTypes:
    - char*
    - uint8_t*
    - size_t
    - struct params_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: test_xiph_CountLavcHeaders
    functionSourceFile: /src/vlc/modules/demux/xiph_test.c
    functionUses: 0
    functionsReached:
    - EXPECT
    - xiph_CountLavcHeaders
    linkageType: ''
    returnType: int
    signature: "int test_xiph_CountLavcHeaders(const char *run,\n                 const
      uint8_t *p_extra, size_t i_extra,\n                 const struct params_s *source)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT
      Src: /src/vlc/modules/demux/xiph_test.c:94,1
    - Dst: EXPECT
      Src: /src/vlc/modules/demux/xiph_test.c:97,1
    - Dst: EXPECT
      Src: /src/vlc/modules/demux/xiph_test.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - run
    - packet_size
    - packet
    - packet_count
    - source
    argTypes:
    - char*
    - size_t[]
    - void*[]
    - size_t
    - struct params_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: SplitCompare
    functionSourceFile: /src/vlc/modules/demux/xiph_test.c
    functionUses: 0
    functionsReached:
    - EXPECT
    linkageType: ''
    returnType: int
    signature: "int SplitCompare(const char *run,\n                        size_t
      packet_size[],\n                        const void *packet[], size_t packet_count,\n
      \                       const struct params_s *source)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xiph_SplitHeaders
      Src: /src/vlc/modules/demux/xiph_test.c:110,1
    - Dst: SplitCompare
      Src: /src/vlc/modules/demux/xiph_test.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - run
    - p_extra
    - i_extra
    - source
    argTypes:
    - char*
    - uint8_t*
    - size_t
    - struct params_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: test_xiph_SplitHeaders
    functionSourceFile: /src/vlc/modules/demux/xiph_test.c
    functionUses: 0
    functionsReached:
    - SplitCompare
    - xiph_SplitHeaders
    linkageType: ''
    returnType: int
    signature: "int test_xiph_SplitHeaders(const char *run,\n                 const
      uint8_t *p_extra, size_t i_extra,\n                 const struct params_s *source)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xiph_SplitLavcHeaders
      Src: /src/vlc/modules/demux/xiph_test.c:124,1
    - Dst: SplitCompare
      Src: /src/vlc/modules/demux/xiph_test.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - run
    - p_extra
    - i_extra
    - source
    argTypes:
    - char*
    - uint8_t*
    - size_t
    - struct params_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 129
    functionName: test_xiph_SplitLavcHeaders
    functionSourceFile: /src/vlc/modules/demux/xiph_test.c
    functionUses: 0
    functionsReached:
    - xiph_SplitLavcHeaders
    - SplitCompare
    linkageType: ''
    returnType: int
    signature: "int test_xiph_SplitLavcHeaders(const char *run,\n                 const
      uint8_t *p_extra, size_t i_extra,\n                 const struct params_s *source)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xiph_PackHeaders
      Src: /src/vlc/modules/demux/xiph_test.c:138,1
    - Dst: EXPECT_CLEANUP
      Src: /src/vlc/modules/demux/xiph_test.c:143,1
    - Dst: free
      Src: /src/vlc/modules/demux/xiph_test.c:143,1
    - Dst: EXPECT_CLEANUP
      Src: /src/vlc/modules/demux/xiph_test.c:144,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/xiph_test.c:144,1
    - Dst: free
      Src: /src/vlc/modules/demux/xiph_test.c:144,1
    - Dst: free
      Src: /src/vlc/modules/demux/xiph_test.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - run
    - p_extra
    - i_extra
    - source
    argTypes:
    - char*
    - uint8_t*
    - size_t
    - struct params_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 148
    functionName: test_xiph_PackHeaders
    functionSourceFile: /src/vlc/modules/demux/xiph_test.c
    functionUses: 0
    functionsReached:
    - EXPECT_CLEANUP
    - free
    - memcmp
    - xiph_PackHeaders
    linkageType: ''
    returnType: int
    signature: "int test_xiph_PackHeaders(const char *run,\n                 const
      uint8_t *p_extra, size_t i_extra,\n                 struct params_s *source)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xiph_AppendHeaders
      Src: /src/vlc/modules/demux/xiph_test.c:154,1
    - Dst: EXPECT_CLEANUP
      Src: /src/vlc/modules/demux/xiph_test.c:158,1
    - Dst: free
      Src: /src/vlc/modules/demux/xiph_test.c:159,1
    - Dst: EXPECT_CLEANUP
      Src: /src/vlc/modules/demux/xiph_test.c:160,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/xiph_test.c:160,1
    - Dst: free
      Src: /src/vlc/modules/demux/xiph_test.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - run
    - p_extra
    - i_extra
    - source
    argTypes:
    - char*
    - uint8_t*
    - size_t
    - struct params_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionName: test_xiph_AppendHeaders
    functionSourceFile: /src/vlc/modules/demux/xiph_test.c
    functionUses: 0
    functionsReached:
    - xiph_AppendHeaders
    - free
    - EXPECT_CLEANUP
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int test_xiph_AppendHeaders(const char *run,\n                 const
      uint8_t *p_extra, size_t i_extra,\n                 struct params_s *source)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PASS
      Src: /src/vlc/modules/demux/xiph_test.c:174,1
    - Dst: PASS
      Src: /src/vlc/modules/demux/xiph_test.c:175,1
    - Dst: PASS
      Src: /src/vlc/modules/demux/xiph_test.c:176,1
    - Dst: PASS
      Src: /src/vlc/modules/demux/xiph_test.c:177,1
    - Dst: PASS
      Src: /src/vlc/modules/demux/xiph_test.c:178,1
    - Dst: PASS
      Src: /src/vlc/modules/demux/xiph_test.c:179,1
    - Dst: PASS
      Src: /src/vlc/modules/demux/xiph_test.c:180,1
    - Dst: PASS
      Src: /src/vlc/modules/demux/xiph_test.c:181,1
    - Dst: PASS
      Src: /src/vlc/modules/demux/xiph_test.c:182,1
    - Dst: PASS
      Src: /src/vlc/modules/demux/xiph_test.c:184,1
    - Dst: PASS
      Src: /src/vlc/modules/demux/xiph_test.c:187,1
    - Dst: PASS
      Src: /src/vlc/modules/demux/xiph_test.c:191,1
    - Dst: PASS
      Src: /src/vlc/modules/demux/xiph_test.c:193,1
    - Dst: PASS
      Src: /src/vlc/modules/demux/xiph_test.c:195,1
    - Dst: PASS
      Src: /src/vlc/modules/demux/xiph_test.c:200,1
    - Dst: PASS
      Src: /src/vlc/modules/demux/xiph_test.c:202,1
    - Dst: PASS
      Src: /src/vlc/modules/demux/xiph_test.c:203,1
    - Dst: PASS
      Src: /src/vlc/modules/demux/xiph_test.c:209,1
    - Dst: PASS
      Src: /src/vlc/modules/demux/xiph_test.c:211,1
    - Dst: PASS
      Src: /src/vlc/modules/demux/xiph_test.c:221,1
    - Dst: FAIL
      Src: /src/vlc/modules/demux/xiph_test.c:222,1
    - Dst: memset
      Src: /src/vlc/modules/demux/xiph_test.c:226,1
    - Dst: FAIL
      Src: /src/vlc/modules/demux/xiph_test.c:227,1
    - Dst: FAIL
      Src: /src/vlc/modules/demux/xiph_test.c:229,1
    - Dst: PASS
      Src: /src/vlc/modules/demux/xiph_test.c:236,1
    - Dst: PASS
      Src: /src/vlc/modules/demux/xiph_test.c:247,1
    - Dst: FAIL
      Src: /src/vlc/modules/demux/xiph_test.c:248,1
    - Dst: FAIL
      Src: /src/vlc/modules/demux/xiph_test.c:249,1
    - Dst: FAIL
      Src: /src/vlc/modules/demux/xiph_test.c:253,1
    - Dst: PASS
      Src: /src/vlc/modules/demux/xiph_test.c:257,1
    - Dst: FAIL
      Src: /src/vlc/modules/demux/xiph_test.c:261,1
    - Dst: PASS
      Src: /src/vlc/modules/demux/xiph_test.c:269,1
    - Dst: PASS
      Src: /src/vlc/modules/demux/xiph_test.c:277,1
    - Dst: PASS
      Src: /src/vlc/modules/demux/xiph_test.c:284,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/xiph_test.c:288,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/xiph_test.c:289,1
    - Dst: PASS
      Src: /src/vlc/modules/demux/xiph_test.c:290,1
    - Dst: free
      Src: /src/vlc/modules/demux/xiph_test.c:292,1
    - Dst: RUN
      Src: /src/vlc/modules/demux/xiph_test.c:300,1
    - Dst: free
      Src: /src/vlc/modules/demux/xiph_test.c:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 108
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 307
    functionName: main
    functionSourceFile: /src/vlc/modules/demux/xiph_test.c
    functionUses: 4
    functionsReached:
    - memset
    - memcpy
    - PASS
    - free
    - RUN
    - FAIL
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mva_init
      Src: /src/vlc/modules/demux/timestamps_filter.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - tf
    argTypes:
    - struct timestamps_filter_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: timestamps_filter_init
    functionSourceFile: /src/vlc/modules/demux/timestamps_filter.h
    functionUses: 0
    functionsReached:
    - mva_init
    linkageType: ''
    returnType: void
    signature: void timestamps_filter_init(struct timestamps_filter_s *tf)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mva_getLastPacket
      Src: /src/vlc/modules/demux/timestamps_filter.h:92,1
    - Dst: mva_get
      Src: /src/vlc/modules/demux/timestamps_filter.h:102,1
    - Dst: llabs
      Src: /src/vlc/modules/demux/timestamps_filter.h:105,1
    - Dst: mva_get
      Src: /src/vlc/modules/demux/timestamps_filter.h:107,1
    - Dst: printf
      Src: /src/vlc/modules/demux/timestamps_filter.h:112,1
    - Dst: mva_get
      Src: /src/vlc/modules/demux/timestamps_filter.h:120,1
    - Dst: printf
      Src: /src/vlc/modules/demux/timestamps_filter.h:122,1
    - Dst: mva_get
      Src: /src/vlc/modules/demux/timestamps_filter.h:124,1
    - Dst: llabs
      Src: /src/vlc/modules/demux/timestamps_filter.h:125,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/timestamps_filter.h:127,1
    - Dst: mva_add
      Src: /src/vlc/modules/demux/timestamps_filter.h:133,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 6
    argNames:
    - s
    - tf
    - i_dts
    - i_length
    - b_discontinuity
    - b_contiguous
    argTypes:
    - char*
    - struct timestamps_filter_s*
    - vlc_tick_t
    - vlc_tick_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 136
    functionName: timestamps_filter_push
    functionSourceFile: /src/vlc/modules/demux/timestamps_filter.h
    functionUses: 0
    functionsReached:
    - llabs
    - mva_add
    - mva_getLastPacket
    - printf
    - mva_get
    - VLC_UNUSED
    linkageType: ''
    returnType: bool
    signature: "bool timestamps_filter_push(const char *s, struct timestamps_filter_s
      *tf,\n                                   vlc_tick_t i_dts, vlc_tick_t i_length,\n
      \                                  bool b_discontinuity, bool b_contiguous)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - p_sys
    - id
    argTypes:
    - struct tf_es_out_s*
    - es_out_id_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 148
    functionName: timestamps_filter_es_out_getID
    functionSourceFile: /src/vlc/modules/demux/timestamps_filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct tf_es_out_id_s
    signature: struct tf_es_out_id_s * timestamps_filter_es_out_getID(struct tf_es_out_s
      *p_sys, es_out_id_t *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timestamps_filter_init
      Src: /src/vlc/modules/demux/timestamps_filter.h:155,1
    - Dst: timestamps_filter_init
      Src: /src/vlc/modules/demux/timestamps_filter.h:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - out
    argTypes:
    - struct tf_es_out_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: timestamps_filter_es_out_Reset
    functionSourceFile: /src/vlc/modules/demux/timestamps_filter.h
    functionUses: 0
    functionsReached:
    - timestamps_filter_init
    linkageType: ''
    returnType: void
    signature: void timestamps_filter_es_out_Reset(struct tf_es_out_s *out)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/timestamps_filter.h:163,1
    - Dst: container_of
      Src: /src/vlc/modules/demux/timestamps_filter.h:164,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/timestamps_filter.h:172,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/timestamps_filter.h:175,1
    - Dst: timestamps_filter_push
      Src: /src/vlc/modules/demux/timestamps_filter.h:177,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/timestamps_filter.h:188,1
    - Dst: printf
      Src: /src/vlc/modules/demux/timestamps_filter.h:193,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/timestamps_filter.h:205,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/timestamps_filter.h:207,1
    - Dst: timestamps_filter_es_out_Reset
      Src: /src/vlc/modules/demux/timestamps_filter.h:212,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/timestamps_filter.h:217,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/timestamps_filter.h:218,1
    - Dst: timestamps_filter_es_out_getID
      Src: /src/vlc/modules/demux/timestamps_filter.h:219,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/timestamps_filter.h:222,1
    - Dst: timestamps_filter_es_out_Reset
      Src: /src/vlc/modules/demux/timestamps_filter.h:237,1
    - Dst: es_out_vaControl
      Src: /src/vlc/modules/demux/timestamps_filter.h:244,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 4
    argNames:
    - out
    - in
    - i_query
    - va_list
    argTypes:
    - es_out_t*
    - input_source_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 245
    functionName: timestamps_filter_es_out_Control
    functionSourceFile: /src/vlc/modules/demux/timestamps_filter.h
    functionUses: 0
    functionsReached:
    - es_out_Control
    - es_out_vaControl
    - container_of
    - timestamps_filter_es_out_Reset
    - printf
    - __MAX
    - va_arg
    - timestamps_filter_push
    - timestamps_filter_es_out_getID
    - es_out_SetPCR
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int timestamps_filter_es_out_Control(es_out_t *out, input_source_t
      *in, int i_query, va_list va_list)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/demux/timestamps_filter.h:249,1
    - Dst: timestamps_filter_es_out_getID
      Src: /src/vlc/modules/demux/timestamps_filter.h:250,1
    - Dst: timestamps_filter_push
      Src: /src/vlc/modules/demux/timestamps_filter.h:252,1
    - Dst: mva_getLastDTS
      Src: /src/vlc/modules/demux/timestamps_filter.h:262,1
    - Dst: mva_getLastDTS
      Src: /src/vlc/modules/demux/timestamps_filter.h:262,1
    - Dst: printf
      Src: /src/vlc/modules/demux/timestamps_filter.h:268,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/timestamps_filter.h:297,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - out
    - id
    - p_block
    argTypes:
    - es_out_t*
    - es_out_id_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 298
    functionName: timestamps_filter_es_out_Send
    functionSourceFile: /src/vlc/modules/demux/timestamps_filter.h
    functionUses: 0
    functionsReached:
    - container_of
    - es_out_Send
    - printf
    - timestamps_filter_push
    - mva_getLastDTS
    - timestamps_filter_es_out_getID
    linkageType: ''
    returnType: int
    signature: int timestamps_filter_es_out_Send(es_out_t *out, es_out_id_t *id, block_t
      *p_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/demux/timestamps_filter.h:302,1
    - Dst: free
      Src: /src/vlc/modules/demux/timestamps_filter.h:304,1
    - Dst: ARRAY_RESET
      Src: /src/vlc/modules/demux/timestamps_filter.h:305,1
    - Dst: free
      Src: /src/vlc/modules/demux/timestamps_filter.h:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - out
    argTypes:
    - es_out_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 307
    functionName: timestamps_filter_es_out_Delete
    functionSourceFile: /src/vlc/modules/demux/timestamps_filter.h
    functionUses: 4
    functionsReached:
    - free
    - ARRAY_RESET
    - container_of
    linkageType: ''
    returnType: void
    signature: void timestamps_filter_es_out_Delete(es_out_t *out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/timestamps_filter.h:311,1
    - Dst: container_of
      Src: /src/vlc/modules/demux/timestamps_filter.h:312,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/timestamps_filter.h:314,1
    - Dst: timestamps_filter_init
      Src: /src/vlc/modules/demux/timestamps_filter.h:317,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/timestamps_filter.h:324,1
    - Dst: free
      Src: /src/vlc/modules/demux/timestamps_filter.h:327,1
    - Dst: ARRAY_APPEND
      Src: /src/vlc/modules/demux/timestamps_filter.h:331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - out
    - in
    - fmt
    argTypes:
    - es_out_t*
    - input_source_t*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 334
    functionName: timestamps_filter_es_out_Add
    functionSourceFile: /src/vlc/modules/demux/timestamps_filter.h
    functionUses: 0
    functionsReached:
    - container_of
    - timestamps_filter_init
    - free
    - es_out_Add
    - ARRAY_APPEND
    - malloc
    - VLC_UNUSED
    linkageType: ''
    returnType: es_out_id_t
    signature: es_out_id_t *timestamps_filter_es_out_Add(es_out_t *out, input_source_t
      *in, const es_format_t *fmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/demux/timestamps_filter.h:338,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/demux/timestamps_filter.h:340,1
    - Dst: free
      Src: /src/vlc/modules/demux/timestamps_filter.h:347,1
    - Dst: ARRAY_REMOVE
      Src: /src/vlc/modules/demux/timestamps_filter.h:348,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - out
    - id
    argTypes:
    - es_out_t*
    - es_out_id_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 351
    functionName: timestamps_filter_es_out_Del
    functionSourceFile: /src/vlc/modules/demux/timestamps_filter.h
    functionUses: 0
    functionsReached:
    - free
    - ARRAY_REMOVE
    - es_out_Del
    - container_of
    linkageType: ''
    returnType: void
    signature: void timestamps_filter_es_out_Del(es_out_t *out, es_out_id_t *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/demux/timestamps_filter.h:364,1
    - Dst: free
      Src: /src/vlc/modules/demux/timestamps_filter.h:367,1
    - Dst: timestamps_filter_init
      Src: /src/vlc/modules/demux/timestamps_filter.h:372,1
    - Dst: ARRAY_INIT
      Src: /src/vlc/modules/demux/timestamps_filter.h:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - orig
    argTypes:
    - es_out_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 378
    functionName: timestamps_filter_es_out_New
    functionSourceFile: /src/vlc/modules/demux/timestamps_filter.h
    functionUses: 3
    functionsReached:
    - free
    - ARRAY_INIT
    - timestamps_filter_init
    - malloc
    linkageType: ''
    returnType: es_out_t
    signature: es_out_t * timestamps_filter_es_out_New(es_out_t *orig)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - byte
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: MUS_EV
    functionSourceFile: /src/vlc/modules/demux/dmxmus.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUS_EV(byte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/dmxmus.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: GetByte
    functionSourceFile: /src/vlc/modules/demux/dmxmus.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Read
    linkageType: ''
    returnType: int
    signature: int GetByte(demux_t *demux)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GetByte
      Src: /src/vlc/modules/demux/dmxmus.c:94,1
    - Dst: MUS_EV
      Src: /src/vlc/modules/demux/dmxmus.c:98,1
    - Dst: likely
      Src: /src/vlc/modules/demux/dmxmus.c:102,1
    - Dst: GetByte
      Src: /src/vlc/modules/demux/dmxmus.c:103,1
    - Dst: GetByte
      Src: /src/vlc/modules/demux/dmxmus.c:113,1
    - Dst: GetByte
      Src: /src/vlc/modules/demux/dmxmus.c:127,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - demux
    - buf
    - delay
    argTypes:
    - demux_t*
    - unsigned char*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 137
    functionName: ReadEvent
    functionSourceFile: /src/vlc/modules/demux/dmxmus.c
    functionUses: 0
    functionsReached:
    - GetByte
    - MUS_EV
    - likely
    linkageType: ''
    returnType: int
    signature: "int ReadEvent(demux_t *demux, unsigned char *buf,\n                     unsigned
      *restrict delay)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/dmxmus.c:141,1
    - Dst: likely
      Src: /src/vlc/modules/demux/dmxmus.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - type
    - channel
    - data
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: Event2
    functionSourceFile: /src/vlc/modules/demux/dmxmus.c
    functionUses: 0
    functionsReached:
    - block_Alloc
    - likely
    linkageType: ''
    returnType: block_t
    signature: block_t *Event2(uint8_t type, uint8_t channel, uint8_t data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/dmxmus.c:152,1
    - Dst: likely
      Src: /src/vlc/modules/demux/dmxmus.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - type
    - channel
    - data
    - data2
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: Event3
    functionSourceFile: /src/vlc/modules/demux/dmxmus.c
    functionUses: 0
    functionsReached:
    - block_Alloc
    - likely
    linkageType: ''
    returnType: block_t
    signature: "block_t *Event3(uint8_t type, uint8_t channel,\n                       uint8_t
      data, uint8_t data2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Event3
      Src: /src/vlc/modules/demux/dmxmus.c:167,1
    - Dst: Event3
      Src: /src/vlc/modules/demux/dmxmus.c:170,1
    - Dst: Event3
      Src: /src/vlc/modules/demux/dmxmus.c:177,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/dmxmus.c:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - demux
    - channel
    - num
    argTypes:
    - demux_t*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 187
    functionName: HandleControl
    functionSourceFile: /src/vlc/modules/demux/dmxmus.c
    functionUses: 0
    functionsReached:
    - msg_Warn
    - Event3
    linkageType: ''
    returnType: block_t
    signature: block_t *HandleControl(demux_t *demux, uint8_t channel, uint8_t num)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Event2
      Src: /src/vlc/modules/demux/dmxmus.c:196,1
    - Dst: Event3
      Src: /src/vlc/modules/demux/dmxmus.c:202,1
    - Dst: Event3
      Src: /src/vlc/modules/demux/dmxmus.c:205,1
    - Dst: Event3
      Src: /src/vlc/modules/demux/dmxmus.c:208,1
    - Dst: Event3
      Src: /src/vlc/modules/demux/dmxmus.c:211,1
    - Dst: Event3
      Src: /src/vlc/modules/demux/dmxmus.c:214,1
    - Dst: Event3
      Src: /src/vlc/modules/demux/dmxmus.c:217,1
    - Dst: Event3
      Src: /src/vlc/modules/demux/dmxmus.c:220,1
    - Dst: Event3
      Src: /src/vlc/modules/demux/dmxmus.c:223,1
    - Dst: HandleControl
      Src: /src/vlc/modules/demux/dmxmus.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 4
    argNames:
    - demux
    - channel
    - num
    - val
    argTypes:
    - demux_t*
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 189
    functionDepth: 3
    functionLinenumber: 189
    functionLinenumberEnd: 228
    functionName: HandleControlValue
    functionSourceFile: /src/vlc/modules/demux/dmxmus.c
    functionUses: 0
    functionsReached:
    - Event3
    - HandleControl
    - Event2
    linkageType: ''
    returnType: block_t
    signature: "block_t *HandleControlValue(demux_t *demux, uint8_t channel,\n                                   uint8_t
      num, uint8_t val)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/dmxmus.c:235,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/dmxmus.c:240,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/dmxmus.c:241,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/dmxmus.c:242,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/dmxmus.c:248,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/dmxmus.c:249,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/dmxmus.c:251,1
    - Dst: ReadEvent
      Src: /src/vlc/modules/demux/dmxmus.c:260,1
    - Dst: MUS_EV
      Src: /src/vlc/modules/demux/dmxmus.c:268,1
    - Dst: Event2
      Src: /src/vlc/modules/demux/dmxmus.c:270,1
    - Dst: Event3
      Src: /src/vlc/modules/demux/dmxmus.c:277,1
    - Dst: Event3
      Src: /src/vlc/modules/demux/dmxmus.c:281,1
    - Dst: HandleControl
      Src: /src/vlc/modules/demux/dmxmus.c:286,1
    - Dst: HandleControlValue
      Src: /src/vlc/modules/demux/dmxmus.c:290,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/demux/dmxmus.c:303,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/dmxmus.c:307,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/dmxmus.c:308,1
    - Dst: date_Increment
      Src: /src/vlc/modules/demux/dmxmus.c:311,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 230
    functionDepth: 4
    functionLinenumber: 230
    functionLinenumberEnd: 313
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/dmxmus.c
    functionUses: 5
    functionsReached:
    - HandleControl
    - HandleControlValue
    - vlc_assert_unreachable
    - es_out_Send
    - Event2
    - Event3
    - VLC_TICK_FROM_MS
    - ReadEvent
    - block_Alloc
    - MUS_EV
    - date_Get
    - date_Increment
    - vlc_stream_Tell
    - unlikely
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int Demux(demux_t *demux)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/dmxmus.c:319,1
    - Dst: date_Set
      Src: /src/vlc/modules/demux/dmxmus.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 324
    functionName: SeekSet0
    functionSourceFile: /src/vlc/modules/demux/dmxmus.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Seek
    - date_Set
    linkageType: ''
    returnType: int
    signature: int SeekSet0(demux_t *demux)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SeekSet0
      Src: /src/vlc/modules/demux/dmxmus.c:336,1
    - Dst: ReadEvent
      Src: /src/vlc/modules/demux/dmxmus.c:343,1
    - Dst: MUS_EV
      Src: /src/vlc/modules/demux/dmxmus.c:344,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/dmxmus.c:345,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/demux/dmxmus.c:351,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 352
    functionName: GetLength
    functionSourceFile: /src/vlc/modules/demux/dmxmus.c
    functionUses: 12
    functionsReached:
    - SeekSet0
    - ReadEvent
    - MUS_EV
    - vlc_tick_from_samples
    - vlc_stream_Tell
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t GetLength(demux_t *demux)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/demux/dmxmus.c:360,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/dmxmus.c:368,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/dmxmus.c:380,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/dmxmus.c:384,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/dmxmus.c:384,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/dmxmus.c:394,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - demux
    - query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 400
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/dmxmus.c
    functionUses: 77
    functionsReached:
    - demux_vaControlHelper
    - va_arg
    - date_Get
    linkageType: ''
    returnType: int
    signature: int Control(demux_t *demux, int query, va_list args)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/dmxmus.c:408,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/dmxmus.c:410,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/dmxmus.c:413,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/dmxmus.c:414,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/dmxmus.c:415,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/dmxmus.c:416,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/dmxmus.c:422,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/dmxmus.c:428,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/dmxmus.c:429,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/dmxmus.c:429,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/demux/dmxmus.c:431,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/dmxmus.c:432,1
    - Dst: memset
      Src: /src/vlc/modules/demux/dmxmus.c:440,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/dmxmus.c:443,1
    - Dst: GetLength
      Src: /src/vlc/modules/demux/dmxmus.c:445,1
    - Dst: SeekSet0
      Src: /src/vlc/modules/demux/dmxmus.c:447,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/dmxmus.c:453,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/dmxmus.c:459,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/dmxmus.c:462,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/dmxmus.c:463,1
    - Dst: date_Init
      Src: /src/vlc/modules/demux/dmxmus.c:466,1
    - Dst: date_Set
      Src: /src/vlc/modules/demux/dmxmus.c:467,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 473
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/dmxmus.c
    functionUses: 37
    functionsReached:
    - SeekSet0
    - vlc_stream_Peek
    - vlc_obj_malloc
    - GetWLE
    - memset
    - GetLength
    - date_Init
    - date_Set
    - vlc_stream_Read
    - msg_Dbg
    - es_out_Add
    - es_format_Init
    - unlikely
    - memcmp
    - vlc_stream_Control
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_error
      Src: /src/vlc/modules/demux/ytdl.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - msg
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: json_parse_error
    functionSourceFile: /src/vlc/modules/demux/ytdl.c
    functionUses: 0
    functionsReached:
    - vlc_error
    linkageType: ''
    returnType: void
    signature: void json_parse_error(void *data, const char *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_killed
      Src: /src/vlc/modules/demux/ytdl.c:64,1
    - Dst: vlc_read_i11e
      Src: /src/vlc/modules/demux/ytdl.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - data
    - buf
    - size
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: json_read
    functionSourceFile: /src/vlc/modules/demux/ytdl.c
    functionUses: 0
    functionsReached:
    - vlc_killed
    - vlc_read_i11e
    linkageType: ''
    returnType: size_t
    signature: size_t json_read(void *data, void *buf, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_pipe
      Src: /src/vlc/modules/demux/ytdl.c:78,1
    - Dst: vlc_spawnp
      Src: /src/vlc/modules/demux/ytdl.c:82,1
    - Dst: vlc_close
      Src: /src/vlc/modules/demux/ytdl.c:84,1
    - Dst: vlc_close
      Src: /src/vlc/modules/demux/ytdl.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pid
    - argv
    argTypes:
    - pid_t*
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 93
    functionName: ytdl_popen
    functionSourceFile: /src/vlc/modules/demux/ytdl.c
    functionUses: 0
    functionsReached:
    - vlc_close
    - vlc_pipe
    - vlc_spawnp
    linkageType: ''
    returnType: int
    signature: int ytdl_popen(pid_t *restrict pid, const char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OpenProcess
      Src: /src/vlc/modules/demux/ytdl.c:98,1
    - Dst: TerminateProcess
      Src: /src/vlc/modules/demux/ytdl.c:107,1
    - Dst: CloseHandle
      Src: /src/vlc/modules/demux/ytdl.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pid
    - signum
    argTypes:
    - pid_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 119
    functionName: vlc_kill
    functionSourceFile: /src/vlc/modules/demux/ytdl.c
    functionUses: 0
    functionsReached:
    - TerminateProcess
    - OpenProcess
    - CloseHandle
    linkageType: ''
    returnType: int
    signature: int vlc_kill(pid_t pid, int signum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: kill
    functionSourceFile: /src/vlc/modules/demux/ytdl.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kill(p, s)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: json_get_num
      Src: /src/vlc/modules/demux/ytdl.c:131,1
    - Dst: json_get_num
      Src: /src/vlc/modules/demux/ytdl.c:132,1
    - Dst: json_get_num
      Src: /src/vlc/modules/demux/ytdl.c:133,1
    - Dst: json_get_num
      Src: /src/vlc/modules/demux/ytdl.c:134,1
    - Dst: isnan
      Src: /src/vlc/modules/demux/ytdl.c:137,1
    - Dst: isnan
      Src: /src/vlc/modules/demux/ytdl.c:137,1
    - Dst: isnan
      Src: /src/vlc/modules/demux/ytdl.c:138,1
    - Dst: isnan
      Src: /src/vlc/modules/demux/ytdl.c:141,1
    - Dst: isnan
      Src: /src/vlc/modules/demux/ytdl.c:141,1
    - Dst: isnan
      Src: /src/vlc/modules/demux/ytdl.c:142,1
    - Dst: islessequal
      Src: /src/vlc/modules/demux/ytdl.c:144,1
    - Dst: islessequal
      Src: /src/vlc/modules/demux/ytdl.c:145,1
    - Dst: islessequal
      Src: /src/vlc/modules/demux/ytdl.c:152,1
    - Dst: isless
      Src: /src/vlc/modules/demux/ytdl.c:154,1
    - Dst: isgreater
      Src: /src/vlc/modules/demux/ytdl.c:156,1
    - Dst: isgreater
      Src: /src/vlc/modules/demux/ytdl.c:160,1
    - Dst: isgreater
      Src: /src/vlc/modules/demux/ytdl.c:162,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 3
    argNames:
    - f_a
    - f_b
    - pref_height
    argTypes:
    - struct json_object*
    - struct json_object*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 166
    functionName: CompareFormats
    functionSourceFile: /src/vlc/modules/demux/ytdl.c
    functionUses: 0
    functionsReached:
    - isnan
    - islessequal
    - isless
    - isgreater
    - json_get_num
    linkageType: ''
    returnType: int
    signature: "int CompareFormats(const struct json_object *f_a,\n                          const
      struct json_object *f_b, double pref_height)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: json_get
      Src: /src/vlc/modules/demux/ytdl.c:171,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/demux/ytdl.c:179,1
    - Dst: isless
      Src: /src/vlc/modules/demux/ytdl.c:181,1
    - Dst: CompareFormats
      Src: /src/vlc/modules/demux/ytdl.c:197,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - s
    - entry
    argTypes:
    - stream_t*
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 202
    functionName: PickFormat
    functionSourceFile: /src/vlc/modules/demux/ytdl.c
    functionUses: 0
    functionsReached:
    - json_get
    - var_InheritInteger
    - CompareFormats
    - isless
    linkageType: ''
    returnType: struct json_object
    signature: "struct json_object *PickFormat(stream_t *s,\n                                            const
      struct json_object *entry)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_get
      Src: /src/vlc/modules/demux/ytdl.c:206,1
    - Dst: json_get_str
      Src: /src/vlc/modules/demux/ytdl.c:216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 217
    functionName: PickArt
    functionSourceFile: /src/vlc/modules/demux/ytdl.c
    functionUses: 0
    functionsReached:
    - json_get
    - json_get_str
    linkageType: ''
    returnType: char
    signature: char *PickArt(const struct json_object *entry)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: json_get_str
      Src: /src/vlc/modules/demux/ytdl.c:221,1
    - Dst: vlc_meta_Set
      Src: /src/vlc/modules/demux/ytdl.c:223,1
    - Dst: json_get_str
      Src: /src/vlc/modules/demux/ytdl.c:225,1
    - Dst: vlc_meta_Set
      Src: /src/vlc/modules/demux/ytdl.c:227,1
    - Dst: json_get_str
      Src: /src/vlc/modules/demux/ytdl.c:229,1
    - Dst: vlc_meta_Set
      Src: /src/vlc/modules/demux/ytdl.c:231,1
    - Dst: PickArt
      Src: /src/vlc/modules/demux/ytdl.c:233,1
    - Dst: vlc_meta_Set
      Src: /src/vlc/modules/demux/ytdl.c:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - meta
    - json
    argTypes:
    - vlc_meta_t*
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 236
    functionName: GetMeta
    functionSourceFile: /src/vlc/modules/demux/ytdl.c
    functionUses: 1
    functionsReached:
    - json_get_str
    - vlc_meta_Set
    - PickArt
    linkageType: ''
    returnType: void
    signature: void GetMeta(vlc_meta_t *meta, const struct json_object *json)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PickFormat
      Src: /src/vlc/modules/demux/ytdl.c:241,1
    - Dst: json_get_str
      Src: /src/vlc/modules/demux/ytdl.c:246,1
    - Dst: json_get_str
      Src: /src/vlc/modules/demux/ytdl.c:251,1
    - Dst: json_get_num
      Src: /src/vlc/modules/demux/ytdl.c:252,1
    - Dst: isnan
      Src: /src/vlc/modules/demux/ytdl.c:253,1
    - Dst: lround
      Src: /src/vlc/modules/demux/ytdl.c:254,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/ytdl.c:259,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/ytdl.c:259,1
    - Dst: input_item_NewStream
      Src: /src/vlc/modules/demux/ytdl.c:262,1
    - Dst: free
      Src: /src/vlc/modules/demux/ytdl.c:264,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/ytdl.c:266,1
    - Dst: GetMeta
      Src: /src/vlc/modules/demux/ytdl.c:270,1
    - Dst: input_item_node_AppendItem
      Src: /src/vlc/modules/demux/ytdl.c:271,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/demux/ytdl.c:272,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - s
    - node
    - json
    argTypes:
    - stream_t*
    - input_item_node_t*
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 238
    functionDepth: 3
    functionLinenumber: 238
    functionLinenumberEnd: 275
    functionName: ReadItem
    functionSourceFile: /src/vlc/modules/demux/ytdl.c
    functionUses: 0
    functionsReached:
    - json_get_str
    - lround
    - asprintf
    - GetMeta
    - input_item_Release
    - isnan
    - unlikely
    - input_item_NewStream
    - PickFormat
    - free
    - input_item_node_AppendItem
    - json_get_num
    linkageType: ''
    returnType: int
    signature: "int ReadItem(stream_t *s, input_item_node_t *node,\n                    const
      struct json_object *json)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_get
      Src: /src/vlc/modules/demux/ytdl.c:280,1
    - Dst: ReadItem
      Src: /src/vlc/modules/demux/ytdl.c:283,1
    - Dst: ReadItem
      Src: /src/vlc/modules/demux/ytdl.c:293,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - s
    - node
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 277
    functionDepth: 4
    functionLinenumber: 277
    functionLinenumberEnd: 297
    functionName: ReadDir
    functionSourceFile: /src/vlc/modules/demux/ytdl.c
    functionUses: 2
    functionsReached:
    - json_get
    - ReadItem
    linkageType: ''
    returnType: int
    signature: int ReadDir(stream_t *s, input_item_node_t *node)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/demux/ytdl.c:307,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/ytdl.c:311,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/ytdl.c:315,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/ytdl.c:316,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/demux/ytdl.c:316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - s
    - query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 325
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/ytdl.c
    functionUses: 78
    functionsReached:
    - var_InheritInteger
    - va_arg
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: int
    signature: int Control(stream_t *s, int query, va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: demux_Demux
      Src: /src/vlc/modules/demux/ytdl.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 332
    functionName: DemuxNested
    functionSourceFile: /src/vlc/modules/demux/ytdl.c
    functionUses: 0
    functionsReached:
    - demux_Demux
    linkageType: ''
    returnType: int
    signature: int DemuxNested(stream_t *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/demux/ytdl.c:340,1
    - Dst: GetMeta
      Src: /src/vlc/modules/demux/ytdl.c:342,1
    - Dst: demux_Control
      Src: /src/vlc/modules/demux/ytdl.c:343,1
    - Dst: demux_vaControl
      Src: /src/vlc/modules/demux/ytdl.c:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - s
    - query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 334
    functionDepth: 3
    functionLinenumber: 334
    functionLinenumberEnd: 349
    functionName: ControlNested
    functionSourceFile: /src/vlc/modules/demux/ytdl.c
    functionUses: 0
    functionsReached:
    - va_arg
    - demux_vaControl
    - demux_Control
    - GetMeta
    linkageType: ''
    returnType: int
    signature: int ControlNested(stream_t *s, int query, va_list args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_NewURL
      Src: /src/vlc/modules/demux/ytdl.c:354,1
    - Dst: demux_New
      Src: /src/vlc/modules/demux/ytdl.c:357,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/ytdl.c:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - obj
    - url
    - out
    argTypes:
    - vlc_object_t*
    - char*
    - es_out_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 366
    functionName: vlc_demux_NewURL
    functionSourceFile: /src/vlc/modules/demux/ytdl.c
    functionUses: 0
    functionsReached:
    - demux_New
    - vlc_stream_Delete
    - vlc_stream_NewURL
    linkageType: ''
    returnType: stream_t
    signature: "stream_t *vlc_demux_NewURL(vlc_object_t *obj, const char *url,\n                                  es_out_t
      *out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/ytdl.c:374,1
    - Dst: json_free
      Src: /src/vlc/modules/demux/ytdl.c:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 377
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/ytdl.c
    functionUses: 117
    functionsReached:
    - json_free
    - vlc_stream_Delete
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *obj)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/demux/ytdl.c:383,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/ytdl.c:384,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/demux/ytdl.c:387,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/ytdl.c:388,1
    - Dst: ytdl_popen
      Src: /src/vlc/modules/demux/ytdl.c:398,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ytdl.c:401,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/demux/ytdl.c:401,1
    - Dst: free
      Src: /src/vlc/modules/demux/ytdl.c:402,1
    - Dst: free
      Src: /src/vlc/modules/demux/ytdl.c:406,1
    - Dst: json_parse
      Src: /src/vlc/modules/demux/ytdl.c:408,1
    - Dst: kill
      Src: /src/vlc/modules/demux/ytdl.c:410,1
    - Dst: vlc_close
      Src: /src/vlc/modules/demux/ytdl.c:411,1
    - Dst: vlc_waitpid
      Src: /src/vlc/modules/demux/ytdl.c:412,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ytdl.c:416,1
    - Dst: json_get
      Src: /src/vlc/modules/demux/ytdl.c:423,1
    - Dst: PickFormat
      Src: /src/vlc/modules/demux/ytdl.c:433,1
    - Dst: json_get_str
      Src: /src/vlc/modules/demux/ytdl.c:437,1
    - Dst: var_Create
      Src: /src/vlc/modules/demux/ytdl.c:440,1
    - Dst: vlc_demux_NewURL
      Src: /src/vlc/modules/demux/ytdl.c:441,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/ytdl.c:444,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ytdl.c:446,1
    - Dst: json_free
      Src: /src/vlc/modules/demux/ytdl.c:451,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 2
    argNames:
    - obj
    - src_url
    argTypes:
    - vlc_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 379
    functionDepth: 3
    functionLinenumber: 379
    functionLinenumberEnd: 459
    functionName: OpenCommon
    functionSourceFile: /src/vlc/modules/demux/ytdl.c
    functionUses: 4
    functionsReached:
    - json_get_str
    - vlc_strerror_c
    - var_InheritString
    - vlc_obj_malloc
    - kill
    - json_parse
    - vlc_close
    - json_free
    - var_Create
    - PickFormat
    - msg_Err
    - free
    - vlc_demux_NewURL
    - msg_Dbg
    - ytdl_popen
    - vlc_waitpid
    - json_get
    - unlikely
    linkageType: ''
    returnType: int
    signature: int OpenCommon(vlc_object_t *obj, const char *src_url)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/ytdl.c:467,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/ytdl.c:468,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/ytdl.c:470,1
    - Dst: OpenCommon
      Src: /src/vlc/modules/demux/ytdl.c:473,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 474
    functionName: OpenFilter
    functionSourceFile: /src/vlc/modules/demux/ytdl.c
    functionUses: 0
    functionsReached:
    - OpenCommon
    - strncasecmp
    - var_InheritBool
    linkageType: ''
    returnType: int
    signature: int OpenFilter(vlc_object_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/ytdl.c:481,1
    - Dst: vlc_ascii_strncasecmp
      Src: /src/vlc/modules/demux/ytdl.c:483,1
    - Dst: OpenCommon
      Src: /src/vlc/modules/demux/ytdl.c:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: (url != NULL)
      pos:
        line_end: 480
        line_start: 480
        source_file: /src/vlc/modules/demux/ytdl.c
    constantsTouched: []
    func_position:
      end: 487
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 487
    functionName: OpenAccess
    functionSourceFile: /src/vlc/modules/demux/ytdl.c
    functionUses: 0
    functionsReached:
    - OpenCommon
    - assert
    - vlc_ascii_strncasecmp
    linkageType: ''
    returnType: int
    signature: int OpenAccess(vlc_object_t *obj)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/vlc/modules/demux/mod.c:143,1
    - Dst: Validate
      Src: /src/vlc/modules/demux/mod.c:148,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mod.c:150,1
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/mod.c:155,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/demux/mod.c:159,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mod.c:163,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/demux/mod.c:165,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mod.c:166,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/mod.c:169,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mod.c:173,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/demux/mod.c:178,1
    - Dst: ModPlug_GetSettings
      Src: /src/vlc/modules/demux/mod.c:179,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/mod.c:186,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/mod.c:189,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/demux/mod.c:191,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/demux/mod.c:192,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/mod.c:194,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/demux/mod.c:196,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/demux/mod.c:197,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/mod.c:199,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/demux/mod.c:201,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/demux/mod.c:202,1
    - Dst: ModPlug_SetSettings
      Src: /src/vlc/modules/demux/mod.c:204,1
    - Dst: ModPlug_Load
      Src: /src/vlc/modules/demux/mod.c:206,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/demux/mod.c:207,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mod.c:211,1
    - Dst: date_Init
      Src: /src/vlc/modules/demux/mod.c:216,1
    - Dst: date_Set
      Src: /src/vlc/modules/demux/mod.c:217,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/mod.c:218,1
    - Dst: ModPlug_GetLength
      Src: /src/vlc/modules/demux/mod.c:218,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mod.c:220,1
    - Dst: ModPlug_GetName
      Src: /src/vlc/modules/demux/mod.c:221,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/demux/mod.c:222,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/mod.c:225,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mod.c:225,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/mod.c:227,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mod.c:227,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/mod.c:232,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mod.c:233,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 68
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 241
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/mod.c
    functionUses: 37
    functionsReached:
    - vlc_obj_malloc
    - ModPlug_SetSettings
    - es_format_Init
    - ModPlug_Load
    - vlc_mutex_lock
    - msg_Err
    - vlc_stream_Read
    - msg_Dbg
    - VLC_FOURCC
    - MS_FROM_VLC_TICK
    - ModPlug_GetLength
    - var_InheritInteger
    - var_InheritBool
    - date_Set
    - ModPlug_GetName
    - stream_Size
    - vlc_mutex_unlock
    - VLC_TICK_FROM_MS
    - date_Init
    - unlikely
    - es_out_Add
    - Validate
    - strrchr
    - ModPlug_GetSettings
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModPlug_Unload
      Src: /src/vlc/modules/demux/mod.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/mod.c
    functionUses: 117
    functionsReached:
    - ModPlug_Unload
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/mod.c:264,1
    - Dst: ModPlug_Read
      Src: /src/vlc/modules/demux/mod.c:268,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mod.c:272,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/mod.c:277,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/mod.c:279,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/mod.c:280,1
    - Dst: date_Increment
      Src: /src/vlc/modules/demux/mod.c:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 283
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/mod.c
    functionUses: 6
    functionsReached:
    - block_Release
    - ModPlug_Read
    - es_out_Send
    - block_Alloc
    - date_Get
    - date_Increment
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mod.c:298,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mod.c:302,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/mod.c:305,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mod.c:313,1
    - Dst: ModPlug_Seek
      Src: /src/vlc/modules/demux/mod.c:318,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/demux/mod.c:318,1
    - Dst: date_Set
      Src: /src/vlc/modules/demux/mod.c:319,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mod.c:326,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/mod.c:326,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mod.c:330,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mod.c:335,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mod.c:337,1
    - Dst: ModPlug_Seek
      Src: /src/vlc/modules/demux/mod.c:339,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/demux/mod.c:339,1
    - Dst: date_Set
      Src: /src/vlc/modules/demux/mod.c:340,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mod.c:348,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mod.c:354,1
    - Dst: ModPlug_NumSamples
      Src: /src/vlc/modules/demux/mod.c:355,1
    - Dst: ModPlug_NumInstruments
      Src: /src/vlc/modules/demux/mod.c:356,1
    - Dst: ModPlug_NumPatterns
      Src: /src/vlc/modules/demux/mod.c:357,1
    - Dst: ModPlug_NumChannels
      Src: /src/vlc/modules/demux/mod.c:358,1
    - Dst: ModPlug_GetName
      Src: /src/vlc/modules/demux/mod.c:364,1
    - Dst: IsUTF8
      Src: /src/vlc/modules/demux/mod.c:365,1
    - Dst: vlc_meta_SetTitle
      Src: /src/vlc/modules/demux/mod.c:366,1
    - Dst: ModPlug_GetMessage
      Src: /src/vlc/modules/demux/mod.c:369,1
    - Dst: IsUTF8
      Src: /src/vlc/modules/demux/mod.c:370,1
    - Dst: vlc_meta_SetDescription
      Src: /src/vlc/modules/demux/mod.c:371,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/mod.c:374,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/mod.c:377,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/demux/mod.c:383,1
    - Dst: free
      Src: /src/vlc/modules/demux/mod.c:385,1
    - Dst: free
      Src: /src/vlc/modules/demux/mod.c:388,1
    - Dst: ModPlug_InstrumentName
      Src: /src/vlc/modules/demux/mod.c:398,1
    - Dst: IsUTF8
      Src: /src/vlc/modules/demux/mod.c:399,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/mod.c:400,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/demux/mod.c:403,1
    - Dst: ModPlug_SampleName
      Src: /src/vlc/modules/demux/mod.c:410,1
    - Dst: IsUTF8
      Src: /src/vlc/modules/demux/mod.c:411,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/mod.c:412,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/demux/mod.c:415,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/mod.c:427,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 82
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 433
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/mod.c
    functionUses: 79
    functionsReached:
    - ModPlug_Seek
    - asprintf
    - IsUTF8
    - ModPlug_SampleName
    - date_Get
    - snprintf
    - MS_FROM_VLC_TICK
    - vlc_meta_SetDescription
    - ModPlug_NumSamples
    - date_Set
    - ModPlug_GetName
    - likely
    - vlc_meta_SetExtra
    - demux_vaControlHelper
    - vlc_meta_SetTitle
    - ModPlug_GetMessage
    - ModPlug_NumChannels
    - free
    - va_arg
    - ModPlug_NumInstruments
    - ModPlug_NumPatterns
    - ModPlug_InstrumentName
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/mod.c:510,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mod.c:517,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/mod.c:524,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mod.c:530,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/mod.c:542,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/mod.c:558,1
    - Dst: memchr
      Src: /src/vlc/modules/demux/mod.c:561,1
    - Dst: memchr
      Src: /src/vlc/modules/demux/mod.c:576,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 48
    argCount: 2
    argNames:
    - p_demux
    - psz_ext
    argTypes:
    - demux_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 592
    functionName: Validate
    functionSourceFile: /src/vlc/modules/demux/mod.c
    functionUses: 9
    functionsReached:
    - vlc_stream_Peek
    - memchr
    - strlen
    - strcasecmp
    - memcmp
    linkageType: ''
    returnType: int
    signature: int Validate( demux_t *p_demux, const char *psz_ext )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/nsv.c:99,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/nsv.c:102,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/nsv.c:102,1
    - Dst: ReSynch
      Src: /src/vlc/modules/demux/nsv.c:105,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/nsv.c:109,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/nsv.c:110,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/nsv.c:118,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/nsv.c:121,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/nsv.c:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 135
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/nsv.c
    functionUses: 37
    functionsReached:
    - vlc_stream_Peek
    - ReSynch
    - es_format_Init
    - unlikely
    - malloc
    - memcmp
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/nsv.c:145,1
    - Dst: free
      Src: /src/vlc/modules/demux/nsv.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/nsv.c
    functionUses: 117
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/nsv.c:165,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/nsv.c:168,1
    - Dst: ReadNSVf
      Src: /src/vlc/modules/demux/nsv.c:170,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/nsv.c:173,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/nsv.c:178,1
    - Dst: ReadNSVs
      Src: /src/vlc/modules/demux/nsv.c:183,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/nsv.c:187,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/nsv.c:190,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/nsv.c:192,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/nsv.c:199,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/nsv.c:199,1
    - Dst: ReSynch
      Src: /src/vlc/modules/demux/nsv.c:200,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/nsv.c:205,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/nsv.c:207,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/nsv.c:212,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/nsv.c:224,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/nsv.c:226,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/nsv.c:229,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/nsv.c:230,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/nsv.c:232,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/nsv.c:235,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/nsv.c:239,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/nsv.c:240,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/nsv.c:242,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/nsv.c:244,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/nsv.c:247,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/demux/nsv.c:263,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/nsv.c:266,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/nsv.c:268,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/nsv.c:274,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/nsv.c:276,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/nsv.c:284,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/nsv.c:289,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/nsv.c:292,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/nsv.c:293,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/nsv.c:304,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/nsv.c:307,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/nsv.c:311,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/nsv.c:317,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/nsv.c:320,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/nsv.c:326,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/nsv.c:329,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/nsv.c:330,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 110
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 343
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/nsv.c
    functionUses: 6
    functionsReached:
    - GetWLE
    - vlc_stream_Block
    - ReadNSVf
    - memcmp
    - vlc_stream_Control
    - es_out_Send
    - ReSynch
    - msg_Err
    - vlc_stream_Read
    - msg_Dbg
    - msg_Warn
    - ReadNSVs
    - VLC_FOURCC
    - VLC_TICK_FROM_SEC
    - es_out_SetPCR
    - block_Release
    - vlc_stream_Peek
    - es_out_Control
    - GetDWLE
    - es_out_Add
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_vaControl
      Src: /src/vlc/modules/demux/nsv.c:358,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/nsv.c:361,1
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/nsv.c:362,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/nsv.c:365,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/nsv.c:375,1
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/nsv.c:376,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/nsv.c:378,1
    - Dst: ReSynch
      Src: /src/vlc/modules/demux/nsv.c:378,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/nsv.c:390,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/demux/nsv.c:397,1
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/nsv.c:397,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/nsv.c:400,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/nsv.c:405,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/nsv.c:410,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/nsv.c:416,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/nsv.c:417,1
    - Dst: free
      Src: /src/vlc/modules/demux/nsv.c:419,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/nsv.c:423,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/nsv.c:426,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/nsv.c:441,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 66
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 446
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/nsv.c
    functionUses: 81
    functionsReached:
    - demux_vaControlHelper
    - stream_Size
    - strdup
    - ReSynch
    - free
    - va_arg
    - vlc_stream_vaControl
    - vlc_tick_from_samples
    - vlc_stream_Seek
    - vlc_stream_Tell
    - vlc_stream_Control
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/nsv.c:456,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/nsv.c:464,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/nsv.c:465,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/nsv.c:467,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/nsv.c:475,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 479
    functionName: ReSynch
    functionSourceFile: /src/vlc/modules/demux/nsv.c
    functionUses: 3
    functionsReached:
    - vlc_stream_Read
    - vlc_stream_Peek
    - memcmp
    linkageType: ''
    returnType: int
    signature: int ReSynch( demux_t *p_demux )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/nsv.c:489,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/nsv.c:490,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/nsv.c:495,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/nsv.c:496,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/nsv.c:504,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 507
    functionName: ReadNSVf
    functionSourceFile: /src/vlc/modules/demux/nsv.c
    functionUses: 1
    functionsReached:
    - vlc_stream_Read
    - GetDWLE
    - msg_Dbg
    - vlc_stream_Peek
    linkageType: ''
    returnType: int
    signature: int ReadNSVf( demux_t *p_demux )
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/nsv.c:517,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/nsv.c:519,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/nsv.c:524,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/nsv.c:526,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/nsv.c:527,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/nsv.c:528,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/nsv.c:531,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/nsv.c:532,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/nsv.c:535,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/nsv.c:536,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/nsv.c:537,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/nsv.c:539,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/nsv.c:540,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/nsv.c:541,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/nsv.c:542,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/nsv.c:543,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/nsv.c:544,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/nsv.c:547,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/nsv.c:550,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/nsv.c:552,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/nsv.c:553,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/nsv.c:554,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/demux/nsv.c:559,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/nsv.c:561,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/nsv.c:563,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/nsv.c:570,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/nsv.c:572,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/nsv.c:573,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/nsv.c:575,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/nsv.c:576,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/nsv.c:578,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/nsv.c:579,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/nsv.c:580,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/nsv.c:582,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/nsv.c:583,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/nsv.c:585,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/nsv.c:588,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/nsv.c:592,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/nsv.c:594,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/demux/nsv.c:598,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/nsv.c:601,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/demux/nsv.c:631,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/nsv.c:635,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/nsv.c:636,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/nsv.c:642,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 98
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 647
    functionName: ReadNSVs
    functionSourceFile: /src/vlc/modules/demux/nsv.c
    functionUses: 1
    functionsReached:
    - VLC_FOURCC
    - GetWLE
    - VLC_TICK_FROM_MS
    - msg_Err
    - vlc_stream_Read
    - es_out_Del
    - msg_Warn
    - es_out_Add
    - es_format_Init
    - msg_Dbg
    - vlc_tick_from_samples
    linkageType: ''
    returnType: int
    signature: int ReadNSVs( demux_t *p_demux )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/rawdv.c:138,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/rawdv.c:145,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/rawdv.c:157,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/rawdv.c:166,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/rawdv.c:170,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/rawdv.c:188,1
    - Dst: var_CreateGetBool
      Src: /src/vlc/modules/demux/rawdv.c:192,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/rawdv.c:193,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/rawdv.c:206,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/rawdv.c:212,1
    - Dst: dv_get_audio_format
      Src: /src/vlc/modules/demux/rawdv.c:218,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/rawdv.c:219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 67
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 225
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/rawdv.c
    functionUses: 37
    functionsReached:
    - vlc_stream_Peek
    - var_CreateGetBool
    - dv_get_audio_format
    - msg_Dbg
    - GetDWBE
    - es_out_Add
    - msg_Warn
    - es_format_Init
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t * p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_Destroy
      Src: /src/vlc/modules/demux/rawdv.c:235,1
    - Dst: free
      Src: /src/vlc/modules/demux/rawdv.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 237
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/rawdv.c
    functionUses: 117
    functionsReached:
    - free
    - var_Destroy
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/demux/rawdv.c:252,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/rawdv.c:252,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/rawdv.c:252,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/rawdv.c:256,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/rawdv.c:257,1
    - Dst: likely
      Src: /src/vlc/modules/demux/rawdv.c:264,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/rawdv.c:267,1
    - Dst: dv_extract_audio
      Src: /src/vlc/modules/demux/rawdv.c:271,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/rawdv.c:273,1
    - Dst: likely
      Src: /src/vlc/modules/demux/rawdv.c:277,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/rawdv.c:278,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/rawdv.c:280,1
    - Dst: vlc_tick_rate_duration
      Src: /src/vlc/modules/demux/rawdv.c:284,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 288
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/rawdv.c
    functionUses: 6
    functionsReached:
    - vlc_tick_now
    - block_Release
    - es_out_Control
    - es_out_Send
    - VLC_TICK_FROM_MS
    - dv_extract_audio
    - vlc_tick_rate_duration
    - likely
    - vlc_stream_Block
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/rawdv.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 302
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/rawdv.c
    functionUses: 82
    functionsReached:
    - demux_vaControlHelper
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/demux/hx.c:71,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/hx.c:75,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/hx.c:79,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/hx.c:80,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/hx.c:82,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/hx.c:86,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/hx.c:87,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/hx.c:92,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/hx.c:95,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/hx.c:96,1
    - Dst: ARRAY_APPEND
      Src: /src/vlc/modules/demux/hx.c:102,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/hx.c:105,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 107
    functionName: LoadIndex
    functionSourceFile: /src/vlc/modules/demux/hx.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Read
    - GetDWLE
    - msg_Dbg
    - msg_Warn
    - vlc_stream_Seek
    - ARRAY_APPEND
    - memcmp
    - vlc_stream_GetSize
    linkageType: ''
    returnType: int
    signature: int LoadIndex(demux_t *p_demux)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - p_sys
    - time
    argTypes:
    - hx_sys_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 135
    functionName: LookupIndex
    functionSourceFile: /src/vlc/modules/demux/hx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct hxfi_index
    signature: struct hxfi_index LookupIndex(hx_sys_t *p_sys, uint32_t time)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/hx.c:142,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/hx.c:149,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/hx.c:155,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/hx.c:161,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/hx.c:161,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/hx.c:167,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/hx.c:171,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/hx.c:180,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/hx.c:180,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/hx.c:182,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/hx.c:184,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/hx.c:196,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/hx.c:203,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/hx.c:204,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/hx.c:212,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/hx.c:218,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/hx.c:224,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/hx.c:229,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 234
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/hx.c
    functionUses: 6
    functionsReached:
    - block_Release
    - es_out_Send
    - VLC_TICK_FROM_MS
    - GetDWLE
    - vlc_stream_Read
    - msg_Dbg
    - msg_Warn
    - vlc_stream_Block
    - memcmp
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int Demux(demux_t *p_demux)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LookupIndex
      Src: /src/vlc/modules/demux/hx.c:239,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/hx.c:242,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/hx.c:245,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/hx.c:249,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/hx.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - p_demux
    - time
    - b_precise
    argTypes:
    - demux_t*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 253
    functionName: SeekUsingIndex
    functionSourceFile: /src/vlc/modules/demux/hx.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Seek
    - es_out_Control
    - VLC_TICK_FROM_MS
    - LookupIndex
    linkageType: ''
    returnType: int
    signature: int SeekUsingIndex(demux_t *p_demux, uint32_t time, bool b_precise)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/hx.c:267,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/demux/hx.c:274,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/hx.c:279,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/hx.c:280,1
    - Dst: SeekUsingIndex
      Src: /src/vlc/modules/demux/hx.c:281,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/demux/hx.c:281,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/hx.c:285,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/hx.c:286,1
    - Dst: SeekUsingIndex
      Src: /src/vlc/modules/demux/hx.c:289,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/hx.c:301,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 302
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/hx.c
    functionUses: 83
    functionsReached:
    - demux_vaControlHelper
    - MS_FROM_VLC_TICK
    - VLC_TICK_FROM_MS
    - va_arg
    - SeekUsingIndex
    linkageType: ''
    returnType: int
    signature: int Control(demux_t *p_demux, int i_query, va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_RESET
      Src: /src/vlc/modules/demux/hx.c:308,1
    - Dst: free
      Src: /src/vlc/modules/demux/hx.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 310
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/hx.c
    functionUses: 117
    functionsReached:
    - free
    - ARRAY_RESET
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *p_this)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/hx.c:318,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/hx.c:319,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/hx.c:319,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/hx.c:320,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/hx.c:323,1
    - Dst: ARRAY_INIT
      Src: /src/vlc/modules/demux/hx.c:334,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/hx.c:337,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/hx.c:340,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/hx.c:341,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/hx.c:342,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/hx.c:346,1
    - Dst: LoadIndex
      Src: /src/vlc/modules/demux/hx.c:347,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/hx.c:348,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/hx.c:349,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/hx.c:351,1
    - Dst: Close
      Src: /src/vlc/modules/demux/hx.c:352,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/hx.c:360,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/hx.c:364,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/hx.c:365,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/hx.c:367,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/hx.c:370,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/hx.c:371,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 377
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/hx.c
    functionUses: 37
    functionsReached:
    - Close
    - vlc_stream_Peek
    - es_format_Clean
    - msg_Err
    - GetDWLE
    - ARRAY_INIT
    - es_out_Add
    - es_format_Init
    - vlc_stream_Seek
    - vlc_stream_Tell
    - LoadIndex
    - malloc
    - memcmp
    - vlc_stream_Control
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t * p_this)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/flac.c:124,1
    - Dst: demux_IsContentType
      Src: /src/vlc/modules/demux/flac.c:129,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/flac.c:133,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/flac.c:137,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/flac.c:138,1
    - Dst: TAB_INIT
      Src: /src/vlc/modules/demux/flac.c:153,1
    - Dst: TAB_INIT
      Src: /src/vlc/modules/demux/flac.c:154,1
    - Dst: TAB_INIT
      Src: /src/vlc/modules/demux/flac.c:155,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/flac.c:159,1
    - Dst: ParseHeaders
      Src: /src/vlc/modules/demux/flac.c:163,1
    - Dst: demux_PacketizerNew
      Src: /src/vlc/modules/demux/flac.c:167,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/flac.c:167,1
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/demux/flac.c:175,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/flac.c:176,1
    - Dst: vlc_meta_Set
      Src: /src/vlc/modules/demux/flac.c:178,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/flac.c:181,1
    - Dst: Close
      Src: /src/vlc/modules/demux/flac.c:187,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 189
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/flac.c
    functionUses: 37
    functionsReached:
    - demux_IsContentType
    - snprintf
    - vlc_stream_Peek
    - vlc_meta_Set
    - Close
    - demux_PacketizerNew
    - TAB_INIT
    - ParseHeaders
    - vlc_meta_New
    - msg_Err
    - VLC_OBJECT
    - es_format_Init
    - es_out_Add
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t * p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/demux/flac.c:200,1
    - Dst: free
      Src: /src/vlc/modules/demux/flac.c:203,1
    - Dst: TAB_CLEAN
      Src: /src/vlc/modules/demux/flac.c:204,1
    - Dst: vlc_input_attachment_Release
      Src: /src/vlc/modules/demux/flac.c:207,1
    - Dst: TAB_CLEAN
      Src: /src/vlc/modules/demux/flac.c:208,1
    - Dst: vlc_seekpoint_Delete
      Src: /src/vlc/modules/demux/flac.c:211,1
    - Dst: TAB_CLEAN
      Src: /src/vlc/modules/demux/flac.c:212,1
    - Dst: demux_PacketizerDestroy
      Src: /src/vlc/modules/demux/flac.c:216,1
    - Dst: vlc_meta_Delete
      Src: /src/vlc/modules/demux/flac.c:219,1
    - Dst: free
      Src: /src/vlc/modules/demux/flac.c:220,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 221
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/flac.c
    functionUses: 119
    functionsReached:
    - demux_PacketizerDestroy
    - vlc_meta_Delete
    - block_Release
    - vlc_seekpoint_Delete
    - TAB_CLEAN
    - vlc_input_attachment_Release
    - free
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t * p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decoder_t*::pf_packetize
      Src: /src/vlc/modules/demux/flac.c:227,1
    - Dst: FLAC_ParseSyncInfo
      Src: /src/vlc/modules/demux/flac.c:233,1
    - Dst: assert
      Src: /src/vlc/modules/demux/flac.c:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - p_packetizer
    - streaminfo
    - pp_current_block
    argTypes:
    - decoder_t*
    - struct flac_stream_info*
    - block_t**
    assertStmts:
    - condition: ( i_ret != 0 )
      pos:
        line_end: 234
        line_start: 234
        source_file: /src/vlc/modules/demux/flac.c
    constantsTouched: []
    func_position:
      end: 241
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 241
    functionName: GetPacketizedBlock
    functionSourceFile: /src/vlc/modules/demux/flac.c
    functionUses: 0
    functionsReached:
    - decoder_t*::pf_packetize
    - assert
    - FLAC_ParseSyncInfo
    linkageType: ''
    returnType: block_t
    signature: "block_t *GetPacketizedBlock( decoder_t *p_packetizer,\n                                    const
      struct flac_stream_info *streaminfo,\n                                    block_t
      **pp_current_block )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decoder_t*::pf_flush
      Src: /src/vlc/modules/demux/flac.c:246,1
    - Dst: decoder_t*::pf_packetize
      Src: /src/vlc/modules/demux/flac.c:250,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/flac.c:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p_packetizer
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 253
    functionName: FlushPacketizer
    functionSourceFile: /src/vlc/modules/demux/flac.c
    functionUses: 0
    functionsReached:
    - decoder_t*::pf_packetize
    - block_Release
    - decoder_t*::pf_flush
    linkageType: ''
    returnType: void
    signature: void FlushPacketizer( decoder_t *p_packetizer )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FlushPacketizer
      Src: /src/vlc/modules/demux/flac.c:259,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/flac.c:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - demux_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 265
    functionName: Reset
    functionSourceFile: /src/vlc/modules/demux/flac.c
    functionUses: 41
    functionsReached:
    - FlushPacketizer
    - block_Release
    linkageType: ''
    returnType: void
    signature: void Reset( demux_sys_t *p_sys )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/flac.c:278,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/flac.c:280,1
    - Dst: FlushPacketizer
      Src: /src/vlc/modules/demux/flac.c:284,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/flac.c:293,1
    - Dst: GetPacketizedBlock
      Src: /src/vlc/modules/demux/flac.c:297,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/flac.c:305,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/flac.c:317,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/flac.c:321,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/flac.c:334,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/flac.c:340,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/flac.c:342,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/flac.c:349,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 47
    argCount: 5
    argNames:
    - p_demux
    - i_time
    - i_bytemicrorate
    - i_lowpos
    - i_highpos
    argTypes:
    - demux_t*
    - vlc_tick_t
    - double
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 355
    functionName: RefineSeek
    functionSourceFile: /src/vlc/modules/demux/flac.c
    functionUses: 0
    functionsReached:
    - FlushPacketizer
    - block_Release
    - VLC_TICK_FROM_MS
    - GetPacketizedBlock
    - __MAX
    - __MIN
    - vlc_stream_Block
    - vlc_stream_Seek
    - vlc_stream_Tell
    - vlc_stream_Control
    linkageType: ''
    returnType: int
    signature: "int RefineSeek( demux_t *p_demux, vlc_tick_t i_time, double i_bytemicrorate,\n
      \                      uint64_t i_lowpos, uint64_t i_highpos )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/flac.c:368,1
    - Dst: GetPacketizedBlock
      Src: /src/vlc/modules/demux/flac.c:380,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/flac.c:393,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/flac.c:394,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/flac.c:394,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/flac.c:399,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/flac.c:401,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 362
    functionDepth: 3
    functionLinenumber: 362
    functionLinenumberEnd: 409
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/flac.c
    functionUses: 6
    functionsReached:
    - es_out_Send
    - GetPacketizedBlock
    - __MAX
    - vlc_stream_Block
    - unlikely
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/flac.c:417,1
    - Dst: assert
      Src: /src/vlc/modules/demux/flac.c:431,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts:
    - condition: ( n->i_byte_offset != s->i_byte_offset)
      pos:
        line_end: 430
        line_start: 430
        source_file: /src/vlc/modules/demux/flac.c
    constantsTouched: []
    func_position:
      end: 438
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 438
    functionName: ControlGetLength
    functionSourceFile: /src/vlc/modules/demux/flac.c
    functionUses: 0
    functionsReached:
    - stream_Size
    - assert
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t ControlGetLength( demux_t *p_demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 444
    functionName: ControlGetTime
    functionSourceFile: /src/vlc/modules/demux/flac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t ControlGetTime( demux_t *p_demux )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/flac.c:453,1
    - Dst: ControlGetLength
      Src: /src/vlc/modules/demux/flac.c:457,1
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/flac.c:461,1
    - Dst: assert
      Src: /src/vlc/modules/demux/flac.c:473,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/flac.c:494,1
    - Dst: RefineSeek
      Src: /src/vlc/modules/demux/flac.c:497,1
    - Dst: Reset
      Src: /src/vlc/modules/demux/flac.c:501,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/flac.c:502,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - p_demux
    - i_time
    argTypes:
    - demux_t*
    - vlc_tick_t
    assertStmts:
    - condition: ( p_sys->i_seekpoint > 0 )
      pos:
        line_end: 472
        line_start: 472
        source_file: /src/vlc/modules/demux/flac.c
    constantsTouched: []
    func_position:
      end: 506
      start: 446
    functionDepth: 4
    functionLinenumber: 446
    functionLinenumberEnd: 506
    functionName: ControlSetTime
    functionSourceFile: /src/vlc/modules/demux/flac.c
    functionUses: 0
    functionsReached:
    - ControlGetLength
    - stream_Size
    - assert
    - es_out_Control
    - Reset
    - RefineSeek
    - vlc_stream_Seek
    - vlc_stream_Control
    linkageType: ''
    returnType: int
    signature: int ControlSetTime( demux_t *p_demux, vlc_tick_t i_time )
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/demux/flac.c:514,1
    - Dst: vlc_meta_Merge
      Src: /src/vlc/modules/demux/flac.c:516,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/flac.c:521,1
    - Dst: ControlGetLength
      Src: /src/vlc/modules/demux/flac.c:527,1
    - Dst: ControlSetTime
      Src: /src/vlc/modules/demux/flac.c:532,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/flac.c:532,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/flac.c:536,1
    - Dst: ControlGetLength
      Src: /src/vlc/modules/demux/flac.c:537,1
    - Dst: ControlSetTime
      Src: /src/vlc/modules/demux/flac.c:541,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/flac.c:546,1
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/flac.c:546,1
    - Dst: Reset
      Src: /src/vlc/modules/demux/flac.c:550,1
    - Dst: ControlGetTime
      Src: /src/vlc/modules/demux/flac.c:556,1
    - Dst: ControlGetLength
      Src: /src/vlc/modules/demux/flac.c:561,1
    - Dst: ControlGetTime
      Src: /src/vlc/modules/demux/flac.c:564,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/flac.c:576,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/flac.c:577,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/flac.c:582,1
    - Dst: vlc_input_attachment_Hold
      Src: /src/vlc/modules/demux/flac.c:587,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/flac.c:592,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/flac.c:593,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/flac.c:594,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/flac.c:595,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/flac.c:601,1
    - Dst: vlc_input_title_New
      Src: /src/vlc/modules/demux/flac.c:605,1
    - Dst: free
      Src: /src/vlc/modules/demux/flac.c:608,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/flac.c:612,1
    - Dst: vlc_input_title_Delete
      Src: /src/vlc/modules/demux/flac.c:615,1
    - Dst: free
      Src: /src/vlc/modules/demux/flac.c:616,1
    - Dst: vlc_seekpoint_Duplicate
      Src: /src/vlc/modules/demux/flac.c:622,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/flac.c:631,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/flac.c:638,1
    - Dst: ControlSetTime
      Src: /src/vlc/modules/demux/flac.c:641,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/flac.c:644,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 88
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 646
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/flac.c
    functionUses: 86
    functionsReached:
    - ControlGetLength
    - ControlGetTime
    - demux_vaControlHelper
    - stream_Size
    - vlc_input_title_Delete
    - ControlSetTime
    - Reset
    - vlc_meta_Merge
    - free
    - vlc_input_attachment_Hold
    - va_arg
    - vlc_input_title_New
    - vlc_seekpoint_Duplicate
    - vlc_alloc
    - vlc_stream_Seek
    - malloc
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 659
    functionName: Get24bBE
    functionSourceFile: /src/vlc/modules/demux/flac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Get24bBE( const uint8_t *p )
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/vlc/modules/demux/flac.c:674,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/demux/flac.c:677,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/flac.c:680,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/flac.c:683,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/flac.c:692,1
    - Dst: Get24bBE
      Src: /src/vlc/modules/demux/flac.c:697,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/flac.c:702,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/flac.c:706,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/flac.c:710,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/flac.c:712,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/flac.c:715,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/flac.c:718,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/flac.c:719,1
    - Dst: FLAC_ParseStreamInfo
      Src: /src/vlc/modules/demux/flac.c:726,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/demux/flac.c:732,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/flac.c:739,1
    - Dst: ParseSeekTable
      Src: /src/vlc/modules/demux/flac.c:741,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/flac.c:745,1
    - Dst: ParseComment
      Src: /src/vlc/modules/demux/flac.c:747,1
    - Dst: vlc_replay_gain_CopyFromMeta
      Src: /src/vlc/modules/demux/flac.c:749,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/flac.c:753,1
    - Dst: ParsePicture
      Src: /src/vlc/modules/demux/flac.c:755,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/flac.c:758,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/flac.c:763,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 2
    argNames:
    - p_demux
    - p_fmt
    argTypes:
    - demux_t*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 666
    functionDepth: 2
    functionLinenumber: 666
    functionLinenumberEnd: 769
    functionName: ParseHeaders
    functionSourceFile: /src/vlc/modules/demux/flac.c
    functionUses: 1
    functionsReached:
    - ParseSeekTable
    - vlc_stream_Peek
    - vlc_replay_gain_CopyFromMeta
    - Get24bBE
    - ParseComment
    - TAB_APPEND
    - msg_Err
    - FLAC_ParseStreamInfo
    - xmalloc
    - malloc
    - vlc_stream_Read
    - vlc_tick_from_samples
    - FREENULL
    - ParsePicture
    - vlc_stream_Tell
    - memcmp
    linkageType: ''
    returnType: int
    signature: int ParseHeaders( demux_t *p_demux, es_format_t *p_fmt )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetQWBE
      Src: /src/vlc/modules/demux/flac.c:784,1
    - Dst: GetQWBE
      Src: /src/vlc/modules/demux/flac.c:788,1
    - Dst: xmalloc
      Src: /src/vlc/modules/demux/flac.c:791,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/demux/flac.c:792,1
    - Dst: GetQWBE
      Src: /src/vlc/modules/demux/flac.c:793,1
    - Dst: free
      Src: /src/vlc/modules/demux/flac.c:801,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/demux/flac.c:808,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 4
    argNames:
    - p_demux
    - p_data
    - i_data
    - i_sample_rate
    argTypes:
    - demux_t*
    - uint8_t*
    - size_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 812
    functionName: ParseSeekTable
    functionSourceFile: /src/vlc/modules/demux/flac.c
    functionUses: 1
    functionsReached:
    - TAB_APPEND
    - free
    - xmalloc
    - vlc_tick_from_samples
    - GetQWBE
    linkageType: ''
    returnType: void
    signature: "void ParseSeekTable( demux_t *p_demux, const uint8_t *p_data, size_t
      i_data,\n                            unsigned i_sample_rate )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vorbis_ParseComment
      Src: /src/vlc/modules/demux/flac.c:821,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - p_demux
    - p_data
    - i_data
    argTypes:
    - demux_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 814
    functionDepth: 4
    functionLinenumber: 814
    functionLinenumberEnd: 825
    functionName: ParseComment
    functionSourceFile: /src/vlc/modules/demux/flac.c
    functionUses: 3
    functionsReached:
    - vorbis_ParseComment
    linkageType: ''
    returnType: void
    signature: void ParseComment( demux_t *p_demux, const uint8_t *p_data, size_t
      i_data )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseFlacPicture
      Src: /src/vlc/modules/demux/flac.c:833,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/demux/flac.c:838,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p_demux
    - p_data
    - i_data
    argTypes:
    - demux_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 827
    functionDepth: 3
    functionLinenumber: 827
    functionLinenumberEnd: 839
    functionName: ParsePicture
    functionSourceFile: /src/vlc/modules/demux/flac.c
    functionUses: 1
    functionsReached:
    - TAB_APPEND
    - ParseFlacPicture
    linkageType: ''
    returnType: void
    signature: void ParsePicture( demux_t *p_demux, const uint8_t *p_data, size_t
      i_data )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - wvfextChannelMask
    - i_channels
    - i_match
    argTypes:
    - uint32_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 62
    functionName: getChannelMask
    functionSourceFile: /src/vlc/modules/demux/windows_audio_commons.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned getChannelMask( uint32_t * wvfextChannelMask, int i_channels,
      int * i_match )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ts
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: make_vlc_timestamp
    functionSourceFile: /src/vlc/modules/demux/g64rtp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t make_vlc_timestamp( uint64_t ts )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/modules/demux/g64rtp.c:209,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/g64rtp.c:209,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/g64rtp.c:210,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/g64rtp.c:216,1
    - Dst: make_vlc_timestamp
      Src: /src/vlc/modules/demux/g64rtp.c:218,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/g64rtp.c:218,1
    - Dst: fprintf
      Src: /src/vlc/modules/demux/g64rtp.c:219,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/g64rtp.c:220,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/g64rtp.c:220,1
    - Dst: assert
      Src: /src/vlc/modules/demux/g64rtp.c:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - s
    - payloadsize
    argTypes:
    - stream_t*
    - uint32_t
    assertStmts:
    - condition: (payloadsize == 0)
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/vlc/modules/demux/g64rtp.c
    constantsTouched: []
    func_position:
      end: 225
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 225
    functionName: parse_framemetadata_payload
    functionSourceFile: /src/vlc/modules/demux/g64rtp.c
    functionUses: 0
    functionsReached:
    - GetQWLE
    - make_vlc_timestamp
    - assert
    - fprintf
    - vlc_stream_Read
    - GetDWLE
    - vlc_stream_Tell
    linkageType: ''
    returnType: int
    signature: int parse_framemetadata_payload( stream_t *s, uint32_t payloadsize
      )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/g64rtp.c:230,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/g64rtp.c:230,1
    - Dst: vlc_vector_reserve
      Src: /src/vlc/modules/demux/g64rtp.c:232,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/g64rtp.c:238,1
    - Dst: make_vlc_timestamp
      Src: /src/vlc/modules/demux/g64rtp.c:242,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/g64rtp.c:242,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/g64rtp.c:243,1
    - Dst: vlc_vector_push
      Src: /src/vlc/modules/demux/g64rtp.c:245,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/g64rtp.c:251,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - s
    - payloadsize
    - index
    argTypes:
    - stream_t*
    - uint32_t
    - vec_index_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 255
    functionName: parse_iframeindex_payload
    functionSourceFile: /src/vlc/modules/demux/g64rtp.c
    functionUses: 0
    functionsReached:
    - GetQWLE
    - make_vlc_timestamp
    - vlc_stream_Read
    - vlc_vector_reserve
    - msg_Dbg
    - vlc_stream_Tell
    - vlc_vector_push
    linkageType: ''
    returnType: int
    signature: int parse_iframeindex_payload( stream_t *s, uint32_t payloadsize, vec_index_t
      *index )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/g64rtp.c:260,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/g64rtp.c:262,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/g64rtp.c:264,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/g64rtp.c:267,1
    - Dst: FromCharset
      Src: /src/vlc/modules/demux/g64rtp.c:269,1
    - Dst: free
      Src: /src/vlc/modules/demux/g64rtp.c:274,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/g64rtp.c:279,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - s
    - ppsz
    argTypes:
    - stream_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 283
    functionName: parse_metadata
    functionSourceFile: /src/vlc/modules/demux/g64rtp.c
    functionUses: 0
    functionsReached:
    - free
    - GetDWLE
    - vlc_stream_Read
    - FromCharset
    - malloc
    linkageType: ''
    returnType: int
    signature: int parse_metadata( stream_t *s, char **ppsz )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/g64rtp.c:291,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/g64rtp.c:292,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/g64rtp.c:300,1
    - Dst: parse_metadata
      Src: /src/vlc/modules/demux/g64rtp.c:306,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/g64rtp.c:314,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/g64rtp.c:319,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/g64rtp.c:320,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/g64rtp.c:321,1
    - Dst: free
      Src: /src/vlc/modules/demux/g64rtp.c:329,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 2
    argNames:
    - s
    - ppsz_title
    argTypes:
    - stream_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 331
    functionName: parse_file_header
    functionSourceFile: /src/vlc/modules/demux/g64rtp.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    - free
    - vlc_stream_Read
    - GetDWLE
    - vlc_stream_Seek
    - parse_metadata
    - memcmp
    linkageType: ''
    returnType: int
    signature: int parse_file_header( stream_t *s, char **ppsz_title )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/modules/demux/g64rtp.c:336,1
    - Dst: fprintf
      Src: /src/vlc/modules/demux/g64rtp.c:338,1
    - Dst: make_vlc_timestamp
      Src: /src/vlc/modules/demux/g64rtp.c:343,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/g64rtp.c:343,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/g64rtp.c:345,1
    - Dst: fprintf
      Src: /src/vlc/modules/demux/g64rtp.c:347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - p
    - unit
    argTypes:
    - uint8_t[]
    - dump_unit_wrapper_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 353
    functionName: parse_wrapper_header
    functionSourceFile: /src/vlc/modules/demux/g64rtp.c
    functionUses: 0
    functionsReached:
    - GetQWLE
    - fprintf
    - make_vlc_timestamp
    - GetDWLE
    linkageType: ''
    returnType: int
    signature: int parse_wrapper_header( const uint8_t p[G64_WRAP_HEADER_BYTES], dump_unit_wrapper_t
      *unit )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_module_match
      Src: /src/vlc/modules/demux/g64rtp.c:361,1
    - Dst: vlc_module_map
      Src: /src/vlc/modules/demux/g64rtp.c:365,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/demux/g64rtp.c:365,1
    - Dst: cb
      Src: /src/vlc/modules/demux/g64rtp.c:369,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/g64rtp.c:372,1
    - Dst: module_get_name
      Src: /src/vlc/modules/demux/g64rtp.c:372,1
    - Dst: assert
      Src: /src/vlc/modules/demux/g64rtp.c:373,1
    - Dst: free
      Src: /src/vlc/modules/demux/g64rtp.c:379,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - obj
    - pt
    - desc
    - mime
    argTypes:
    - vlc_object_t*
    - struct vlc_rtp_pt*
    - struct vlc_sdp_pt*
    - char*
    assertStmts:
    - condition: ( pt->ops != NULL )
      pos:
        line_end: 372
        line_start: 372
        source_file: /src/vlc/modules/demux/g64rtp.c
    constantsTouched: []
    func_position:
      end: 381
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 381
    functionName: g64_rtp_pt_instantiate
    functionSourceFile: /src/vlc/modules/demux/g64rtp.c
    functionUses: 0
    functionsReached:
    - assert
    - module_get_name
    - vlc_object_logger
    - cb
    - free
    - msg_Dbg
    - vlc_module_match
    - vlc_module_map
    linkageType: ''
    returnType: int
    signature: "int g64_rtp_pt_instantiate( vlc_object_t *obj, struct vlc_rtp_pt *restrict
      pt,\n                               const struct vlc_sdp_pt *restrict desc,
      const char *mime )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/g64rtp.c:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - es
    argTypes:
    - struct vlc_rtp_es*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 386
    functionName: g64_dummy_es_destroy
    functionSourceFile: /src/vlc/modules/demux/g64rtp.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void g64_dummy_es_destroy( struct vlc_rtp_es *es )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/g64rtp.c:390,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/g64rtp.c:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - es
    - block
    argTypes:
    - struct vlc_rtp_es*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 392
    functionName: g64_dummy_es_decode
    functionSourceFile: /src/vlc/modules/demux/g64rtp.c
    functionUses: 0
    functionsReached:
    - block_Release
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void g64_dummy_es_decode( struct vlc_rtp_es *es, block_t *block )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/demux/g64rtp.c:408,1
    - Dst: free
      Src: /src/vlc/modules/demux/g64rtp.c:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - es
    argTypes:
    - struct vlc_rtp_es*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 410
    functionName: g64_es_id_destroy
    functionSourceFile: /src/vlc/modules/demux/g64rtp.c
    functionUses: 0
    functionsReached:
    - free
    - container_of
    linkageType: ''
    returnType: void
    signature: void g64_es_id_destroy( struct vlc_rtp_es *es )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/demux/g64rtp.c:414,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/g64rtp.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - es
    - block
    argTypes:
    - struct vlc_rtp_es*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 418
    functionName: g64_es_id_send
    functionSourceFile: /src/vlc/modules/demux/g64rtp.c
    functionUses: 0
    functionsReached:
    - es_out_Send
    - container_of
    linkageType: ''
    returnType: void
    signature: void g64_es_id_send( struct vlc_rtp_es *es, block_t *block )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/g64rtp.c:429,1
    - Dst: assert
      Src: /src/vlc/modules/demux/g64rtp.c:430,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/g64rtp.c:432,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/g64rtp.c:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pt
    - fmt
    argTypes:
    - struct vlc_rtp_pt*
    - es_format_t*
    assertStmts:
    - condition: (fmt->i_codec == p_sys->fcc)
      pos:
        line_end: 429
        line_start: 429
        source_file: /src/vlc/modules/demux/g64rtp.c
    constantsTouched: []
    func_position:
      end: 441
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 441
    functionName: g64_rtp_es_request
    functionSourceFile: /src/vlc/modules/demux/g64rtp.c
    functionUses: 0
    functionsReached:
    - assert
    - unlikely
    - malloc
    - VLC_UNUSED
    linkageType: ''
    returnType: struct vlc_rtp_es
    signature: "struct vlc_rtp_es *g64_rtp_es_request( struct vlc_rtp_pt *pt,\n                                              const
      es_format_t *restrict fmt )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/g64rtp.c:446,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/g64rtp.c:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pt
    - name
    argTypes:
    - struct vlc_rtp_pt*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 449
    functionName: g64_rtp_mux_request
    functionSourceFile: /src/vlc/modules/demux/g64rtp.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: struct vlc_rtp_es
    signature: "struct vlc_rtp_es *g64_rtp_mux_request( struct vlc_rtp_pt *pt,\n                                               const
      char *name )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_rtp_pt_end
      Src: /src/vlc/modules/demux/g64rtp.c:453,1
    - Dst: struct vlc_rtp_pt*::ops::release
      Src: /src/vlc/modules/demux/g64rtp.c:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pt
    - pptriv
    argTypes:
    - struct vlc_rtp_pt*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 457
    functionName: g64_rtp_pt_clear
    functionSourceFile: /src/vlc/modules/demux/g64rtp.c
    functionUses: 0
    functionsReached:
    - vlc_rtp_pt_end
    - struct vlc_rtp_pt*::ops::release
    linkageType: ''
    returnType: void
    signature: void g64_rtp_pt_clear( struct vlc_rtp_pt *pt, void **pptriv )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/g64rtp.c:481,1
    - Dst: strcat
      Src: /src/vlc/modules/demux/g64rtp.c:491,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/g64rtp.c:491,1
    - Dst: g64_rtp_pt_instantiate
      Src: /src/vlc/modules/demux/g64rtp.c:498,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/g64rtp.c:498,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - p_demux
    - pt
    - fcc
    argTypes:
    - demux_t*
    - struct vlc_rtp_pt*
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 464
    functionDepth: 2
    functionLinenumber: 464
    functionLinenumberEnd: 506
    functionName: g64_rtp_pt_init
    functionSourceFile: /src/vlc/modules/demux/g64rtp.c
    functionUses: 0
    functionsReached:
    - strchr
    - ARRAY_SIZE
    - g64_rtp_pt_instantiate
    - VLC_OBJECT
    - strcat
    linkageType: ''
    returnType: int
    signature: int g64_rtp_pt_init( demux_t *p_demux, struct vlc_rtp_pt *pt, vlc_fourcc_t
      fcc )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/demux/g64rtp.c:513,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/g64rtp.c:514,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/g64rtp.c:515,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/g64rtp.c:518,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/g64rtp.c:521,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/g64rtp.c:525,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/g64rtp.c:526,1
    - Dst: parse_iframeindex_payload
      Src: /src/vlc/modules/demux/g64rtp.c:529,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - s
    - index
    argTypes:
    - stream_t*
    - vec_index_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 530
    functionName: LoadIndex
    functionSourceFile: /src/vlc/modules/demux/g64rtp.c
    functionUses: 1
    functionsReached:
    - GetQWLE
    - vlc_stream_Peek
    - vlc_stream_Read
    - GetDWLE
    - vlc_stream_Seek
    - parse_iframeindex_payload
    - vlc_stream_GetSize
    linkageType: ''
    returnType: int
    signature: int LoadIndex( stream_t *s, vec_index_t *index )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/g64rtp.c:536,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/g64rtp.c:539,1
    - Dst: parse_wrapper_header
      Src: /src/vlc/modules/demux/g64rtp.c:544,1
    - Dst: vlc_vector_push
      Src: /src/vlc/modules/demux/g64rtp.c:551,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/g64rtp.c:555,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/g64rtp.c:555,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 2
    argNames:
    - s
    - index
    argTypes:
    - stream_t*
    - vec_index_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 532
    functionDepth: 2
    functionLinenumber: 532
    functionLinenumberEnd: 560
    functionName: BuildIndex
    functionSourceFile: /src/vlc/modules/demux/g64rtp.c
    functionUses: 0
    functionsReached:
    - parse_wrapper_header
    - vlc_stream_Read
    - vlc_stream_Seek
    - vlc_stream_Tell
    - vlc_vector_push
    linkageType: ''
    returnType: int
    signature: int BuildIndex( stream_t *s, vec_index_t *index )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/g64rtp.c:606,1
    - Dst: vlc_rtp_pt_decode
      Src: /src/vlc/modules/demux/g64rtp.c:614,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/g64rtp.c:619,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 2
    argNames:
    - p_demux
    - p_block
    argTypes:
    - demux_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 562
    functionDepth: 2
    functionLinenumber: 562
    functionLinenumberEnd: 620
    functionName: parse_rtp
    functionSourceFile: /src/vlc/modules/demux/g64rtp.c
    functionUses: 0
    functionsReached:
    - GetWBE
    - block_Release
    - vlc_rtp_pt_decode
    linkageType: ''
    returnType: void
    signature: void parse_rtp( demux_t *p_demux, block_t *p_block )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/g64rtp.c:630,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/g64rtp.c:636,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/g64rtp.c:641,1
    - Dst: parse_rtp
      Src: /src/vlc/modules/demux/g64rtp.c:645,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - p_demux
    - size
    argTypes:
    - demux_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 622
    functionDepth: 3
    functionLinenumber: 622
    functionLinenumberEnd: 651
    functionName: parse_rtp_dumps
    functionSourceFile: /src/vlc/modules/demux/g64rtp.c
    functionUses: 0
    functionsReached:
    - GetWBE
    - vlc_stream_Read
    - parse_rtp
    - vlc_stream_Block
    linkageType: ''
    returnType: int
    signature: int parse_rtp_dumps( demux_t *p_demux, uint32_t size )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/g64rtp.c:663,1
    - Dst: parse_wrapper_header
      Src: /src/vlc/modules/demux/g64rtp.c:668,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/g64rtp.c:673,1
    - Dst: parse_rtp_dumps
      Src: /src/vlc/modules/demux/g64rtp.c:676,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/g64rtp.c:680,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/g64rtp.c:681,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/g64rtp.c:684,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/g64rtp.c:685,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/g64rtp.c:687,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/g64rtp.c:688,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/g64rtp.c:693,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 658
    functionDepth: 4
    functionLinenumber: 658
    functionLinenumberEnd: 696
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/g64rtp.c
    functionUses: 6
    functionsReached:
    - parse_wrapper_header
    - msg_Err
    - vlc_stream_Read
    - GetDWLE
    - vlc_stream_Tell
    - es_out_SetPCR
    - parse_rtp_dumps
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: g64_rtp_pt_init
      Src: /src/vlc/modules/demux/g64rtp.c:707,1
    - Dst: g64_rtp_pt_clear
      Src: /src/vlc/modules/demux/g64rtp.c:709,1
    - Dst: vlc_rtp_pt_begin
      Src: /src/vlc/modules/demux/g64rtp.c:711,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/g64rtp.c:722,1
    - Dst: es_out_SetNextDisplayTime
      Src: /src/vlc/modules/demux/g64rtp.c:724,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - p_demux
    - ts
    - b_precise
    argTypes:
    - demux_t*
    - vlc_tick_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 698
    functionDepth: 3
    functionLinenumber: 698
    functionLinenumberEnd: 726
    functionName: SeekTo
    functionSourceFile: /src/vlc/modules/demux/g64rtp.c
    functionUses: 0
    functionsReached:
    - g64_rtp_pt_init
    - vlc_rtp_pt_begin
    - es_out_SetNextDisplayTime
    - g64_rtp_pt_clear
    - vlc_stream_Seek
    linkageType: ''
    returnType: int
    signature: int SeekTo( demux_t *p_demux, vlc_tick_t ts, bool b_precise )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/demux/g64rtp.c:755,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/g64rtp.c:760,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/g64rtp.c:761,1
    - Dst: SeekTo
      Src: /src/vlc/modules/demux/g64rtp.c:762,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/g64rtp.c:777,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/g64rtp.c:778,1
    - Dst: SeekTo
      Src: /src/vlc/modules/demux/g64rtp.c:779,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/g64rtp.c:785,1
    - Dst: vlc_meta_Set
      Src: /src/vlc/modules/demux/g64rtp.c:787,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/g64rtp.c:794,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 731
    functionDepth: 4
    functionLinenumber: 731
    functionLinenumberEnd: 797
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/g64rtp.c
    functionUses: 86
    functionsReached:
    - SeekTo
    - va_arg
    - vlc_meta_Set
    - demux_vaControlHelper
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: g64_rtp_pt_clear
      Src: /src/vlc/modules/demux/g64rtp.c:807,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/demux/g64rtp.c:809,1
    - Dst: vlc_vector_clear
      Src: /src/vlc/modules/demux/g64rtp.c:810,1
    - Dst: free
      Src: /src/vlc/modules/demux/g64rtp.c:811,1
    - Dst: free
      Src: /src/vlc/modules/demux/g64rtp.c:812,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 802
    functionDepth: 3
    functionLinenumber: 802
    functionLinenumberEnd: 813
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/g64rtp.c
    functionUses: 119
    functionsReached:
    - free
    - vlc_vector_clear
    - es_out_Del
    - g64_rtp_pt_clear
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: parse_file_header
      Src: /src/vlc/modules/demux/g64rtp.c:826,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/g64rtp.c:830,1
    - Dst: free
      Src: /src/vlc/modules/demux/g64rtp.c:833,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/g64rtp.c:844,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/g64rtp.c:849,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/g64rtp.c:852,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/g64rtp.c:857,1
    - Dst: free
      Src: /src/vlc/modules/demux/g64rtp.c:858,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/g64rtp.c:862,1
    - Dst: free
      Src: /src/vlc/modules/demux/g64rtp.c:865,1
    - Dst: vlc_vector_init
      Src: /src/vlc/modules/demux/g64rtp.c:870,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/g64rtp.c:871,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/g64rtp.c:877,1
    - Dst: Close
      Src: /src/vlc/modules/demux/g64rtp.c:880,1
    - Dst: g64_rtp_pt_init
      Src: /src/vlc/modules/demux/g64rtp.c:886,1
    - Dst: Close
      Src: /src/vlc/modules/demux/g64rtp.c:888,1
    - Dst: vlc_rtp_pt_begin
      Src: /src/vlc/modules/demux/g64rtp.c:892,1
    - Dst: vlc_stream_CanSeek
      Src: /src/vlc/modules/demux/g64rtp.c:894,1
    - Dst: LoadIndex
      Src: /src/vlc/modules/demux/g64rtp.c:897,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/g64rtp.c:898,1
    - Dst: Close
      Src: /src/vlc/modules/demux/g64rtp.c:900,1
    - Dst: vlc_stream_CanFastSeek
      Src: /src/vlc/modules/demux/g64rtp.c:905,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/g64rtp.c:907,1
    - Dst: BuildIndex
      Src: /src/vlc/modules/demux/g64rtp.c:908,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/g64rtp.c:909,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/g64rtp.c:910,1
    - Dst: Close
      Src: /src/vlc/modules/demux/g64rtp.c:912,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 77
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 819
    functionDepth: 3
    functionLinenumber: 819
    functionLinenumberEnd: 932
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/g64rtp.c
    functionUses: 37
    functionsReached:
    - vlc_stream_CanSeek
    - vlc_stream_Peek
    - g64_rtp_pt_init
    - BuildIndex
    - vlc_rtp_pt_begin
    - vlc_vector_init
    - LoadIndex
    - msg_Err
    - free
    - calloc
    - vlc_stream_CanFastSeek
    - vlc_stream_Seek
    - msg_Warn
    - es_out_Add
    - es_format_Init
    - Close
    - vlc_stream_Tell
    - parse_file_header
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t * p_this )
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/rawvid.c:136,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/rawvid.c:139,1
    - Dst: strrchr
      Src: /src/vlc/modules/demux/rawvid.c:152,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/rawvid.c:159,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/rawvid.c:168,1
    - Dst: vlc_stream_ReadLine
      Src: /src/vlc/modules/demux/rawvid.c:190,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/rawvid.c:195,1
    - Dst: READ_FRAC
      Src: /src/vlc/modules/demux/rawvid.c:222,1
    - Dst: READ_FRAC
      Src: /src/vlc/modules/demux/rawvid.c:223,1
    - Dst: READ_FRAC
      Src: /src/vlc/modules/demux/rawvid.c:224,1
    - Dst: READ_FRAC
      Src: /src/vlc/modules/demux/rawvid.c:225,1
    - Dst: strstr
      Src: /src/vlc/modules/demux/rawvid.c:233,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/rawvid.c:247,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/rawvid.c:254,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/rawvid.c:254,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/rawvid.c:262,1
    - Dst: free
      Src: /src/vlc/modules/demux/rawvid.c:267,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/demux/rawvid.c:272,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/demux/rawvid.c:275,1
    - Dst: var_CreateGetNonEmptyString
      Src: /src/vlc/modules/demux/rawvid.c:279,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/rawvid.c:282,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/rawvid.c:284,1
    - Dst: free
      Src: /src/vlc/modules/demux/rawvid.c:286,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/rawvid.c:289,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/rawvid.c:290,1
    - Dst: free
      Src: /src/vlc/modules/demux/rawvid.c:291,1
    - Dst: var_InheritURational
      Src: /src/vlc/modules/demux/rawvid.c:294,1
    - Dst: var_InheritURational
      Src: /src/vlc/modules/demux/rawvid.c:300,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/rawvid.c:307,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/rawvid.c:313,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/rawvid.c:319,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/rawvid.c:331,1
    - Dst: video_format_Setup
      Src: /src/vlc/modules/demux/rawvid.c:332,1
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/demux/rawvid.c:336,1
    - Dst: date_Init
      Src: /src/vlc/modules/demux/rawvid.c:339,1
    - Dst: date_Set
      Src: /src/vlc/modules/demux/rawvid.c:341,1
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/demux/rawvid.c:344,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/rawvid.c:345,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/rawvid.c:349,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/rawvid.c:362,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/rawvid.c:363,1
    - Dst: free
      Src: /src/vlc/modules/demux/rawvid.c:371,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 140
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 373
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/rawvid.c
    functionUses: 37
    functionsReached:
    - strchr
    - var_CreateGetNonEmptyString
    - memcpy
    - es_format_Init
    - msg_Err
    - vlc_stream_ReadLine
    - msg_Dbg
    - strstr
    - strcasecmp
    - msg_Warn
    - date_Set
    - strncmp
    - vlc_fourcc_GetChromaDescription
    - vlc_stream_Peek
    - strlen
    - video_format_Setup
    - date_Init
    - var_InheritURational
    - free
    - READ_FRAC
    - var_CreateGetInteger
    - vlc_ureduce
    - es_out_Add
    - strrchr
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t * p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - num
    - ','
    - den
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 222
    functionName: READ_FRAC
    functionSourceFile: /src/vlc/modules/demux/rawvid.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_FRAC( key, num, den )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/rawvid.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 383
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/rawvid.c
    functionUses: 120
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: date_Get
      Src: /src/vlc/modules/demux/rawvid.c:394,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/rawvid.c:397,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/rawvid.c:403,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/rawvid.c:409,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/rawvid.c:416,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/rawvid.c:421,1
    - Dst: date_Increment
      Src: /src/vlc/modules/demux/rawvid.c:423,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 426
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/rawvid.c
    functionUses: 6
    functionsReached:
    - es_out_Send
    - vlc_stream_Read
    - date_Get
    - vlc_stream_Block
    - date_Increment
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/rawvid.c:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 442
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/rawvid.c
    functionUses: 86
    functionsReached:
    - demux_vaControlHelper
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/demux/image.c:118,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/image.c:120,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/image.c:127,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/image.c:131,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/image.c:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 139
    functionName: Load
    functionSourceFile: /src/vlc/modules/demux/image.c
    functionUses: 6
    functionsReached:
    - block_Release
    - msg_Err
    - block_Alloc
    - vlc_stream_Read
    - vlc_stream_GetSize
    linkageType: ''
    returnType: block_t
    signature: block_t *Load(demux_t *demux)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: image_HandlerCreate
      Src: /src/vlc/modules/demux/image.c:144,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/image.c:146,1
    - Dst: video_format_Init
      Src: /src/vlc/modules/demux/image.c:151,1
    - Dst: image_Read
      Src: /src/vlc/modules/demux/image.c:153,1
    - Dst: image_HandlerDelete
      Src: /src/vlc/modules/demux/image.c:154,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/image.c:159,1
    - Dst: es_format_InitFromVideo
      Src: /src/vlc/modules/demux/image.c:160,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/demux/image.c:161,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/image.c:167,1
    - Dst: picture_Release
      Src: /src/vlc/modules/demux/image.c:169,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/image.c:177,1
    - Dst: picture_GetAncillary
      Src: /src/vlc/modules/demux/image.c:186,1
    - Dst: vlc_frame_AttachAncillary
      Src: /src/vlc/modules/demux/image.c:188,1
    - Dst: picture_Release
      Src: /src/vlc/modules/demux/image.c:190,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - demux
    - fmt
    - chroma
    - data
    argTypes:
    - demux_t*
    - es_format_t*
    - vlc_fourcc_t
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 192
    functionName: Decode
    functionSourceFile: /src/vlc/modules/demux/image.c
    functionUses: 5
    functionsReached:
    - picture_GetAncillary
    - block_Release
    - video_format_Init
    - es_format_Clean
    - image_HandlerDelete
    - image_Read
    - memcpy
    - vlc_frame_AttachAncillary
    - picture_Release
    - block_Alloc
    - video_format_Clean
    - image_HandlerCreate
    - es_format_InitFromVideo
    linkageType: ''
    returnType: block_t
    signature: "block_t *Decode(demux_t *demux,\n                       es_format_t
      *fmt, vlc_fourcc_t chroma, block_t *data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: date_Get
      Src: /src/vlc/modules/demux/image.c:202,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/demux/image.c:206,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/image.c:207,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/image.c:209,1
    - Dst: vlc_tick_wait
      Src: /src/vlc/modules/demux/image.c:211,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/image.c:219,1
    - Dst: block_Duplicate
      Src: /src/vlc/modules/demux/image.c:226,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/image.c:232,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/image.c:234,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/image.c:236,1
    - Dst: date_Increment
      Src: /src/vlc/modules/demux/image.c:238,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 240
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/image.c
    functionUses: 6
    functionsReached:
    - vlc_tick_wait
    - vlc_tick_now
    - block_Release
    - es_out_Send
    - VLC_TICK_FROM_MS
    - block_Duplicate
    - date_Get
    - date_Increment
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int Demux(demux_t *demux)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/demux/image.c:248,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/image.c:251,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/image.c:253,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/image.c:261,1
    - Dst: date_Set
      Src: /src/vlc/modules/demux/image.c:262,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/image.c:266,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/image.c:272,1
    - Dst: date_Set
      Src: /src/vlc/modules/demux/image.c:273,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/demux/image.c:273,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/image.c:277,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/image.c:284,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/image.c:288,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/image.c:301,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 53
    argCount: 3
    argNames:
    - demux
    - query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 307
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/image.c
    functionUses: 86
    functionsReached:
    - demux_vaControlHelper
    - VLC_CLIP
    - date_Set
    - __MAX
    - va_arg
    - date_Get
    linkageType: ''
    returnType: int
    signature: int Control(demux_t *demux, int query, va_list args)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/image.c:312,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/image.c:314,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/image.c:315,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/image.c:316,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/image.c:317,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/image.c:318,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/image.c:319,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/image.c:321,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/image.c:322,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/image.c:323,1
    - Dst: memchr
      Src: /src/vlc/modules/demux/image.c:330,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/image.c:330,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 331
    functionName: IsBmp
    functionSourceFile: /src/vlc/modules/demux/image.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    - ARRAY_SIZE
    - memchr
    - GetDWLE
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool IsBmp(stream_t *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/image.c:336,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/image.c:347,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/image.c:347,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/image.c:348,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/image.c:348,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 351
    functionName: IsPcx
    functionSourceFile: /src/vlc/modules/demux/image.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    - GetWLE
    linkageType: ''
    returnType: bool
    signature: bool IsPcx(stream_t *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/image.c:356,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/image.c:358,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/image.c:359,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/image.c:360,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/image.c:360,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 363
    functionName: IsLbm
    functionSourceFile: /src/vlc/modules/demux/image.c
    functionUses: 0
    functionsReached:
    - GetDWBE
    - vlc_stream_Peek
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool IsLbm(stream_t *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 367
    functionName: IsPnmBlank
    functionSourceFile: /src/vlc/modules/demux/image.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsPnmBlank(uint8_t v)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/image.c:371,1
    - Dst: IsPnmBlank
      Src: /src/vlc/modules/demux/image.c:376,1
    - Dst: IsPnmBlank
      Src: /src/vlc/modules/demux/image.c:381,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 395
    functionName: IsPnm
    functionSourceFile: /src/vlc/modules/demux/image.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    - IsPnmBlank
    linkageType: ''
    returnType: bool
    signature: bool IsPnm(stream_t *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - position
    - data
    - size
    argTypes:
    - size_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 408
    functionName: FindJpegMarker
    functionSourceFile: /src/vlc/modules/demux/image.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t FindJpegMarker(size_t *position, const uint8_t *data, size_t
      size)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/image.c:412,1
    - Dst: FindJpegMarker
      Src: /src/vlc/modules/demux/image.c:418,1
    - Dst: FindJpegMarker
      Src: /src/vlc/modules/demux/image.c:422,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/image.c:427,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/image.c:431,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/image.c:440,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 446
    functionName: IsJfif
    functionSourceFile: /src/vlc/modules/demux/image.c
    functionUses: 0
    functionsReached:
    - GetWBE
    - vlc_stream_Peek
    - FindJpegMarker
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool IsJfif(stream_t *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/image.c:451,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/image.c:453,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/image.c:456,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/image.c:459,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 460
    functionName: IsWebP
    functionSourceFile: /src/vlc/modules/demux/image.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Seek
    - vlc_stream_Peek
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool IsWebP(stream_t *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/image.c:465,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/image.c:470,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 473
    functionName: IsSpiff
    functionSourceFile: /src/vlc/modules/demux/image.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool IsSpiff(stream_t *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/image.c:480,1
    - Dst: FindJpegMarker
      Src: /src/vlc/modules/demux/image.c:486,1
    - Dst: FindJpegMarker
      Src: /src/vlc/modules/demux/image.c:488,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/image.c:492,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/image.c:495,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 498
    functionName: IsExifXMP
    functionSourceFile: /src/vlc/modules/demux/image.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    - FindJpegMarker
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool IsExifXMP(stream_t *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/demux/image.c:504,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/image.c:504,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - position
    - data
    - size
    - marker
    argTypes:
    - int*
    - uint8_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 511
    functionName: FindSVGmarker
    functionSourceFile: /src/vlc/modules/demux/image.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool FindSVGmarker(int *position, const uint8_t *data, const int size,
      const char *marker)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/vlc/modules/demux/image.c:518,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/image.c:522,1
    - Dst: FindSVGmarker
      Src: /src/vlc/modules/demux/image.c:528,1
    - Dst: FindSVGmarker
      Src: /src/vlc/modules/demux/image.c:534,1
    - Dst: FindSVGmarker
      Src: /src/vlc/modules/demux/image.c:540,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 550
    functionName: IsSVG
    functionSourceFile: /src/vlc/modules/demux/image.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    - strstr
    - FindSVGmarker
    linkageType: ''
    returnType: bool
    signature: bool IsSVG(stream_t *s)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/image.c:558,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/image.c:569,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/image.c:570,1
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/image.c:579,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/image.c:583,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/image.c:586,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/image.c:587,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/image.c:591,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/image.c:592,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/image.c:595,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 24
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 596
    functionName: IsTarga
    functionSourceFile: /src/vlc/modules/demux/image.c
    functionUses: 0
    functionsReached:
    - stream_Size
    - vlc_stream_Peek
    - GetWLE
    - vlc_stream_Seek
    - vlc_stream_Tell
    - memcmp
    - vlc_stream_Control
    linkageType: ''
    returnType: bool
    signature: bool IsTarga(stream_t *s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/image.c:692,1
    - Dst: image_format_t*::detect
      Src: /src/vlc/modules/demux/image.c:696,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/image.c:699,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/image.c:708,1
    - Dst: assert
      Src: /src/vlc/modules/demux/image.c:714,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/image.c:717,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream_t*
    assertStmts:
    - condition: (img->marker_size > 0)
      pos:
        line_end: 713
        line_start: 713
        source_file: /src/vlc/modules/demux/image.c
    constantsTouched: []
    func_position:
      end: 721
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 721
    functionName: Detect
    functionSourceFile: /src/vlc/modules/demux/image.c
    functionUses: 2
    functionsReached:
    - assert
    - vlc_stream_Peek
    - ARRAY_SIZE
    - image_format_t*::detect
    - vlc_stream_Seek
    - memcmp
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t Detect(stream_t *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/image.c:728,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/image.c:731,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/image.c:732,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/image.c:742,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - object
    - fmt
    argTypes:
    - vlc_object_t*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 745
    functionName: parse_farbfeld_header
    functionSourceFile: /src/vlc/modules/demux/image.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Read
    - vlc_stream_Peek
    - GetDWBE
    linkageType: ''
    returnType: int
    signature: int parse_farbfeld_header(vlc_object_t *object, es_format_t *fmt)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Detect
      Src: /src/vlc/modules/demux/image.c:752,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/image.c:756,1
    - Dst: vlc_fourcc_GetDescription
      Src: /src/vlc/modules/demux/image.c:757,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/image.c:764,1
    - Dst: parse_farbfeld_header
      Src: /src/vlc/modules/demux/image.c:769,1
    - Dst: Load
      Src: /src/vlc/modules/demux/image.c:773,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/image.c:774,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/demux/image.c:775,1
    - Dst: vlc_fourcc_GetCodecFromString
      Src: /src/vlc/modules/demux/image.c:776,1
    - Dst: free
      Src: /src/vlc/modules/demux/image.c:777,1
    - Dst: Decode
      Src: /src/vlc/modules/demux/image.c:779,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/demux/image.c:781,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/demux/image.c:782,1
    - Dst: var_InheritURational
      Src: /src/vlc/modules/demux/image.c:783,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/image.c:788,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/image.c:796,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/image.c:799,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/image.c:802,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/image.c:803,1
    - Dst: date_Init
      Src: /src/vlc/modules/demux/image.c:807,1
    - Dst: date_Set
      Src: /src/vlc/modules/demux/image.c:808,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/image.c:809,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/image.c:810,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/image.c:811,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/image.c:814,1
    - Dst: free
      Src: /src/vlc/modules/demux/image.c:815,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/image.c:819,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/demux/image.c:819,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/image.c:820,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/demux/image.c:821,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 1
    argNames:
    - object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 747
    functionDepth: 2
    functionLinenumber: 747
    functionLinenumberEnd: 828
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/image.c
    functionUses: 37
    functionsReached:
    - Decode
    - es_format_Init
    - vlc_fourcc_GetDescription
    - vlc_tick_now
    - Load
    - msg_Err
    - msg_Dbg
    - parse_farbfeld_header
    - var_InheritInteger
    - var_InheritBool
    - date_Set
    - var_InheritFloat
    - Detect
    - block_Release
    - var_InheritString
    - es_format_Clean
    - vlc_tick_from_sec
    - date_Init
    - var_InheritURational
    - free
    - vlc_fourcc_GetCodecFromString
    - es_out_Add
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *object)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/demux/image.c:836,1
    - Dst: free
      Src: /src/vlc/modules/demux/image.c:837,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 838
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/image.c
    functionUses: 120
    functionsReached:
    - free
    - block_Release
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *object)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/voc.c:82,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/voc.c:85,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/voc.c:89,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/voc.c:94,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/voc.c:99,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/voc.c:103,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/voc.c:107,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/demux/voc.c:110,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/voc.c:111,1
    - Dst: date_Init
      Src: /src/vlc/modules/demux/voc.c:118,1
    - Dst: date_Set
      Src: /src/vlc/modules/demux/voc.c:119,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/voc.c:121,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 127
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/voc.c
    functionUses: 37
    functionsReached:
    - vlc_stream_Peek
    - vlc_obj_malloc
    - GetWLE
    - date_Init
    - date_Set
    - vlc_stream_Read
    - msg_Dbg
    - es_format_Init
    - unlikely
    - memcmp
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t * p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ofmt
    - nfmt
    argTypes:
    - es_format_t*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: fmtcmp
    functionSourceFile: /src/vlc/modules/demux/voc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fmtcmp( es_format_t *ofmt, es_format_t *nfmt )
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - sr
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 158
    functionName: fix_voc_sr
    functionSourceFile: /src/vlc/modules/demux/voc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int fix_voc_sr( unsigned int sr )
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/voc.c:167,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/voc.c:170,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/voc.c:171,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/voc.c:174,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/voc.c:186,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/voc.c:227,1
    - Dst: fix_voc_sr
      Src: /src/vlc/modules/demux/voc.c:237,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/voc.c:246,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/voc.c:251,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/voc.c:255,1
    - Dst: fix_voc_sr
      Src: /src/vlc/modules/demux/voc.c:258,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/voc.c:269,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/voc.c:273,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/voc.c:274,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/voc.c:283,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/voc.c:284,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/voc.c:299,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/voc.c:304,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/voc.c:314,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/voc.c:322,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/voc.c:325,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/voc.c:326,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/voc.c:332,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/voc.c:337,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/voc.c:348,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/voc.c:349,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/voc.c:352,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/voc.c:358,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/voc.c:372,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/voc.c:390,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/voc.c:397,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/voc.c:403,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/voc.c:408,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/voc.c:421,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/voc.c:426,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/voc.c:432,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/voc.c:438,1
    - Dst: fmtcmp
      Src: /src/vlc/modules/demux/voc.c:445,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/voc.c:447,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/demux/voc.c:448,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/voc.c:454,1
    - Dst: date_Change
      Src: /src/vlc/modules/demux/voc.c:455,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/voc.c:456,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/voc.c:457,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/voc.c:465,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 228
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 467
    functionName: ReadBlockHeader
    functionSourceFile: /src/vlc/modules/demux/voc.c
    functionUses: 0
    functionsReached:
    - fix_voc_sr
    - date_Change
    - GetWLE
    - memcpy
    - unlikely
    - msg_Err
    - GetDWLE
    - vlc_stream_Read
    - msg_Dbg
    - msg_Warn
    - es_format_Init
    - vlc_stream_Seek
    - es_out_Del
    - vlc_stream_Tell
    - es_out_Add
    - fmtcmp
    linkageType: ''
    returnType: int
    signature: int ReadBlockHeader( demux_t *p_demux )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/voc.c:483,1
    - Dst: ReadBlockHeader
      Src: /src/vlc/modules/demux/voc.c:486,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/voc.c:497,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/voc.c:502,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/voc.c:512,1
    - Dst: memset
      Src: /src/vlc/modules/demux/voc.c:516,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/voc.c:520,1
    - Dst: date_Increment
      Src: /src/vlc/modules/demux/voc.c:522,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/voc.c:523,1
    - Dst: assert
      Src: /src/vlc/modules/demux/voc.c:524,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/voc.c:525,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts:
    - condition: (p_sys->p_es != NULL)
      pos:
        line_end: 523
        line_start: 523
        source_file: /src/vlc/modules/demux/voc.c
    constantsTouched: []
    func_position:
      end: 528
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 528
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/voc.c
    functionUses: 6
    functionsReached:
    - ReadBlockHeader
    - assert
    - memset
    - es_out_Send
    - vlc_stream_Block
    - block_Alloc
    - date_Get
    - msg_Warn
    - date_Increment
    - vlc_stream_Tell
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/voc.c:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 542
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/voc.c
    functionUses: 87
    functionsReached:
    - demux_vaControlHelper
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/subtitle_helper.h:24,1
    - Dst: vlc_stream_MemoryNew
      Src: /src/vlc/modules/demux/subtitle_helper.h:33,1
    - Dst: vlc_stream_ReadLine
      Src: /src/vlc/modules/demux/subtitle_helper.h:38,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/subtitle_helper.h:40,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/subtitle_helper.h:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - p_demuxstream
    - pi_offset
    argTypes:
    - stream_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 45
    functionName: peek_Readline
    functionSourceFile: /src/vlc/modules/demux/subtitle_helper.h
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    - vlc_stream_Delete
    - vlc_stream_ReadLine
    - vlc_stream_MemoryNew
    - vlc_stream_Tell
    linkageType: ''
    returnType: char
    signature: char * peek_Readline( stream_t *p_demuxstream, uint64_t *pi_offset
      )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/xa.c:94,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/xa.c:96,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/xa.c:96,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/xa.c:97,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/xa.c:99,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/demux/xa.c:102,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/xa.c:103,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/xa.c:109,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/xa.c:113,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/xa.c:115,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/xa.c:116,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/xa.c:117,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/xa.c:120,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/xa.c:122,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/xa.c:133,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/xa.c:142,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/xa.c:143,1
    - Dst: date_Init
      Src: /src/vlc/modules/demux/xa.c:146,1
    - Dst: date_Set
      Src: /src/vlc/modules/demux/xa.c:147,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 153
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/xa.c
    functionUses: 37
    functionsReached:
    - vlc_stream_Peek
    - vlc_obj_malloc
    - GetWLE
    - date_Init
    - date_Set
    - vlc_stream_Read
    - msg_Dbg
    - GetDWLE
    - es_out_Add
    - es_format_Init
    - unlikely
    - memcmp
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t * p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/xa.c:164,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/xa.c:173,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/xa.c:176,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/xa.c:181,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/xa.c:182,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/xa.c:183,1
    - Dst: date_Increment
      Src: /src/vlc/modules/demux/xa.c:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 188
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/xa.c
    functionUses: 6
    functionsReached:
    - es_out_Send
    - vlc_stream_Block
    - date_Get
    - msg_Warn
    - date_Increment
    - vlc_stream_Tell
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/xa.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/xa.c
    functionUses: 87
    functionsReached:
    - demux_vaControlHelper
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: demux_IsPathExtension
      Src: /src/vlc/modules/demux/cdg.c:75,1
    - Dst: demux_IsForced
      Src: /src/vlc/modules/demux/cdg.c:75,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/demux/cdg.c:86,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/cdg.c:87,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/cdg.c:90,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/cdg.c:97,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/cdg.c:98,1
    - Dst: date_Init
      Src: /src/vlc/modules/demux/cdg.c:102,1
    - Dst: date_Set
      Src: /src/vlc/modules/demux/cdg.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 109
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/cdg.c
    functionUses: 37
    functionsReached:
    - vlc_obj_malloc
    - date_Init
    - date_Set
    - demux_IsForced
    - demux_IsPathExtension
    - es_out_Add
    - es_format_Init
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t * p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/cdg.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: PosToDate
    functionSourceFile: /src/vlc/modules/demux/cdg.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Tell
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t PosToDate( demux_t *p_demux )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/cdg.c:127,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/cdg.c:130,1
    - Dst: PosToDate
      Src: /src/vlc/modules/demux/cdg.c:134,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/cdg.c:135,1
    - Dst: date_Set
      Src: /src/vlc/modules/demux/cdg.c:138,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/cdg.c:143,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/cdg.c:146,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/cdg.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 149
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/cdg.c
    functionUses: 6
    functionsReached:
    - es_out_Send
    - date_Set
    - PosToDate
    - msg_Dbg
    - date_Get
    - vlc_stream_Block
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/cdg.c:157,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/cdg.c:158,1
    - Dst: date_Set
      Src: /src/vlc/modules/demux/cdg.c:163,1
    - Dst: PosToDate
      Src: /src/vlc/modules/demux/cdg.c:163,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/cdg.c:164,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/cdg.c:165,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/cdg.c:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 171
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/cdg.c
    functionUses: 87
    functionsReached:
    - demux_vaControlHelper
    - date_Set
    - PosToDate
    - vlc_stream_Seek
    - vlc_stream_Tell
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/pva.c:88,1
    - Dst: ReSynch
      Src: /src/vlc/modules/demux/pva.c:92,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/pva.c:96,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/pva.c:97,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/pva.c:106,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/pva.c:108,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/pva.c:110,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/pva.c:112,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 122
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/pva.c
    functionUses: 37
    functionsReached:
    - vlc_stream_Peek
    - ReSynch
    - es_out_Add
    - es_format_Init
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/demux/pva.c:132,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/demux/pva.c:133,1
    - Dst: free
      Src: /src/vlc/modules/demux/pva.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/pva.c
    functionUses: 120
    functionsReached:
    - block_ChainRelease
    - free
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/pva.c:154,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/pva.c:156,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/pva.c:161,1
    - Dst: ReSynch
      Src: /src/vlc/modules/demux/pva.c:162,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/pva.c:166,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/pva.c:168,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/pva.c:173,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/pva.c:179,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/pva.c:183,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/demux/pva.c:186,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/pva.c:199,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/pva.c:201,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/demux/pva.c:206,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/pva.c:210,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/pva.c:221,1
    - Dst: block_ChainGather
      Src: /src/vlc/modules/demux/pva.c:224,1
    - Dst: likely
      Src: /src/vlc/modules/demux/pva.c:225,1
    - Dst: likely
      Src: /src/vlc/modules/demux/pva.c:227,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/pva.c:228,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/pva.c:230,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/pva.c:237,1
    - Dst: FROM_SCALE
      Src: /src/vlc/modules/demux/pva.c:242,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/demux/pva.c:243,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/pva.c:250,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/pva.c:254,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/demux/pva.c:257,1
    - Dst: ParsePES
      Src: /src/vlc/modules/demux/pva.c:265,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/pva.c:267,1
    - Dst: ParsePES
      Src: /src/vlc/modules/demux/pva.c:278,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/demux/pva.c:280,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/pva.c:285,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/pva.c:286,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 96
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 291
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/pva.c
    functionUses: 6
    functionsReached:
    - GetWBE
    - block_Release
    - vlc_stream_Peek
    - block_ChainAppend
    - es_out_Send
    - ReSynch
    - block_ChainRelease
    - vlc_stream_Block
    - vlc_stream_Read
    - msg_Dbg
    - GetDWBE
    - likely
    - msg_Warn
    - FROM_SCALE
    - ParsePES
    - es_out_SetPCR
    - block_ChainGather
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_vaControl
      Src: /src/vlc/modules/demux/pva.c:304,1
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/pva.c:307,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/pva.c:309,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/pva.c:310,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/pva.c:317,1
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/pva.c:318,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/pva.c:320,1
    - Dst: ReSynch
      Src: /src/vlc/modules/demux/pva.c:320,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/pva.c:328,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/pva.c:339,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/demux/pva.c:342,1
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/pva.c:342,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/pva.c:350,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/pva.c:358,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 364
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/pva.c
    functionUses: 88
    functionsReached:
    - demux_vaControlHelper
    - stream_Size
    - ReSynch
    - va_arg
    - vlc_stream_vaControl
    - vlc_tick_from_samples
    - vlc_stream_Seek
    - vlc_stream_Tell
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/pva.c:374,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/pva.c:385,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/pva.c:393,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 398
    functionName: ReSynch
    functionSourceFile: /src/vlc/modules/demux/pva.c
    functionUses: 6
    functionsReached:
    - vlc_stream_Read
    - vlc_stream_Peek
    linkageType: ''
    returnType: int
    signature: int ReSynch( demux_t *p_demux )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainExtract
      Src: /src/vlc/modules/demux/pva.c:413,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/pva.c:413,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/pva.c:417,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/demux/pva.c:418,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/pva.c:422,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/demux/pva.c:424,1
    - Dst: block_ChainGather
      Src: /src/vlc/modules/demux/pva.c:433,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/pva.c:434,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/demux/pva.c:438,1
    - Dst: GetPESTimestamp
      Src: /src/vlc/modules/demux/pva.c:447,1
    - Dst: FROM_SCALE
      Src: /src/vlc/modules/demux/pva.c:448,1
    - Dst: GetPESTimestamp
      Src: /src/vlc/modules/demux/pva.c:452,1
    - Dst: FROM_SCALE
      Src: /src/vlc/modules/demux/pva.c:453,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/pva.c:460,1
    - Dst: likely
      Src: /src/vlc/modules/demux/pva.c:463,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/pva.c:464,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/pva.c:466,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 467
    functionName: ParsePES
    functionSourceFile: /src/vlc/modules/demux/pva.c
    functionUses: 1
    functionsReached:
    - block_ChainExtract
    - block_Release
    - ARRAY_SIZE
    - es_out_Send
    - block_ChainRelease
    - GetPESTimestamp
    - likely
    - msg_Warn
    - FROM_SCALE
    - unlikely
    - es_out_SetPCR
    - block_ChainGather
    linkageType: ''
    returnType: void
    signature: void ParsePES( demux_t *p_demux )
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/au.c:109,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/au.c:112,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/au.c:116,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/au.c:120,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/au.c:122,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/au.c:126,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/au.c:128,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/demux/au.c:132,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/au.c:133,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/au.c:137,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/au.c:147,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/au.c:152,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/au.c:153,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/au.c:154,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/au.c:157,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/au.c:158,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/au.c:159,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/au.c:160,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/au.c:161,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/au.c:163,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/au.c:208,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/au.c:215,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/au.c:222,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/au.c:229,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/au.c:236,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/au.c:243,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/au.c:250,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/au.c:250,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/au.c:263,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/au.c:269,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/au.c:275,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/au.c:276,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/au.c:280,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/demux/au.c:291,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 137
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 298
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/au.c
    functionUses: 37
    functionsReached:
    - VLC_FOURCC
    - vlc_stream_Peek
    - vlc_obj_malloc
    - msg_Err
    - __MAX
    - vlc_stream_Read
    - vlc_tick_from_samples
    - GetDWBE
    - msg_Warn
    - es_format_Init
    - es_out_Add
    - unlikely
    - memcmp
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/au.c:311,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/au.c:313,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/au.c:316,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/au.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 327
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/au.c
    functionUses: 6
    functionsReached:
    - es_out_Send
    - msg_Warn
    - es_out_SetPCR
    - vlc_stream_Block
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/au.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 339
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/au.c
    functionUses: 88
    functionsReached:
    - demux_vaControlHelper
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: DemuxDebug
    functionSourceFile: /src/vlc/modules/demux/ogg.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DemuxDebug(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: OggDebug
    functionSourceFile: /src/vlc/modules/demux/oggseek.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OggDebug(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: OggNoDebug
    functionSourceFile: /src/vlc/modules/demux/oggseek.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OggNoDebug(code)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/xiph.h:34,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/xiph.h:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - extra
    - i_extra
    - i_codec
    argTypes:
    - void*
    - size_t
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 40
    functionName: xiph_IsLavcFormat
    functionSourceFile: /src/vlc/modules/demux/xiph.h
    functionUses: 1
    functionsReached:
    - GetWBE
    linkageType: ''
    returnType: bool
    signature: "bool xiph_IsLavcFormat(const void *extra, size_t i_extra,\n                                     vlc_fourcc_t
      i_codec)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/xiph.h:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - p_extra
    - i_extra
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: xiph_CountLavcHeaders
    functionSourceFile: /src/vlc/modules/demux/xiph.h
    functionUses: 1
    functionsReached:
    - GetWBE
    linkageType: ''
    returnType: unsigned
    signature: unsigned xiph_CountLavcHeaders(const void *p_extra, size_t i_extra)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p_extra
    - i_extra
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: xiph_CountHeaders
    functionSourceFile: /src/vlc/modules/demux/xiph.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned xiph_CountHeaders(const void *p_extra, size_t i_extra)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xiph_IsLavcFormat
      Src: /src/vlc/modules/demux/xiph.h:73,1
    - Dst: xiph_CountLavcHeaders
      Src: /src/vlc/modules/demux/xiph.h:74,1
    - Dst: xiph_CountHeaders
      Src: /src/vlc/modules/demux/xiph.h:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - p_extra
    - i_extra
    - i_codec
    argTypes:
    - void*
    - unsigned
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: xiph_CountUnknownHeaders
    functionSourceFile: /src/vlc/modules/demux/xiph.h
    functionUses: 1
    functionsReached:
    - xiph_CountLavcHeaders
    - xiph_IsLavcFormat
    - xiph_CountHeaders
    linkageType: ''
    returnType: unsigned
    signature: "unsigned xiph_CountUnknownHeaders(const void *p_extra, unsigned i_extra,\n
      \                                               vlc_fourcc_t i_codec)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xiph_CountLavcHeaders
      Src: /src/vlc/modules/demux/xiph.h:88,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/xiph.h:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - packet_size
    - packet
    - packet_count
    - i_extra
    - p_extra
    argTypes:
    - size_t[]
    - void*[]
    - size_t*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 104
    functionName: xiph_SplitLavcHeaders
    functionSourceFile: /src/vlc/modules/demux/xiph.h
    functionUses: 1
    functionsReached:
    - GetWBE
    - xiph_CountLavcHeaders
    linkageType: ''
    returnType: int
    signature: "int xiph_SplitLavcHeaders(size_t packet_size[],\n                                        const
      void *packet[], size_t *packet_count,\n                                        size_t
      i_extra, const void *p_extra)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xiph_CountHeaders
      Src: /src/vlc/modules/demux/xiph.h:116,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 5
    argNames:
    - packet_size
    - packet
    - packet_count
    - i_extra
    - p_extra
    argTypes:
    - size_t[]
    - void*[]
    - size_t*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 159
    functionName: xiph_SplitHeaders
    functionSourceFile: /src/vlc/modules/demux/xiph.h
    functionUses: 6
    functionsReached:
    - xiph_CountHeaders
    linkageType: ''
    returnType: int
    signature: "int xiph_SplitHeaders(size_t packet_size[],\n                                    const
      void *packet[], size_t *packet_count,\n                                    size_t
      i_extra, const void *p_extra)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/demux/xiph.h:180,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/xiph.h:203,1
    - Dst: assert
      Src: /src/vlc/modules/demux/xiph.h:207,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 5
    argNames:
    - extra_size
    - extra
    - packet_size
    - packet
    - packet_count
    argTypes:
    - size_t*
    - void**
    - size_t[]
    - void*[]
    - size_t
    assertStmts:
    - condition: (current == (uint8_t*)*extra + *extra_size)
      pos:
        line_end: 206
        line_start: 206
        source_file: /src/vlc/modules/demux/xiph.h
    constantsTouched: []
    func_position:
      end: 209
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 209
    functionName: xiph_PackHeaders
    functionSourceFile: /src/vlc/modules/demux/xiph.h
    functionUses: 2
    functionsReached:
    - assert
    - memcpy
    - malloc
    linkageType: ''
    returnType: int
    signature: "int xiph_PackHeaders(size_t *extra_size, void **extra,\n                                   size_t
      packet_size[],\n                                   const void *const packet[],\n
      \                                  size_t packet_count)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xiph_SplitHeaders
      Src: /src/vlc/modules/demux/xiph.h:219,1
    - Dst: xiph_PackHeaders
      Src: /src/vlc/modules/demux/xiph.h:231,1
    - Dst: free
      Src: /src/vlc/modules/demux/xiph.h:237,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - extra_size
    - extra
    - size
    - data
    argTypes:
    - size_t*
    - void**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 242
    functionName: xiph_AppendHeaders
    functionSourceFile: /src/vlc/modules/demux/xiph.h
    functionUses: 2
    functionsReached:
    - free
    - xiph_SplitHeaders
    - xiph_PackHeaders
    linkageType: ''
    returnType: int
    signature: "int xiph_AppendHeaders(size_t *extra_size, void **extra,\n                                     size_t
      size, const void *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: leb128_expected
    functionSourceFile: /src/vlc/modules/demux/av1_unpack.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t leb128_expected(uint32_t v)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - v
    - p
    argTypes:
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: leb128_write
    functionSourceFile: /src/vlc/modules/demux/av1_unpack.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void leb128_write(uint32_t v, uint8_t *p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AV1_OBU_iterator_init
      Src: /src/vlc/modules/demux/av1_unpack.h:51,1
    - Dst: AV1_OBU_iterate_next
      Src: /src/vlc/modules/demux/av1_unpack.h:53,1
    - Dst: AV1_OBUHasSizeField
      Src: /src/vlc/modules/demux/av1_unpack.h:55,1
    - Dst: AV1_OBUHasExtensionField
      Src: /src/vlc/modules/demux/av1_unpack.h:57,1
    - Dst: leb128_expected
      Src: /src/vlc/modules/demux/av1_unpack.h:60,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/demux/av1_unpack.h:67,1
    - Dst: memmove
      Src: /src/vlc/modules/demux/av1_unpack.h:69,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/demux/av1_unpack.h:75,1
    - Dst: memmove
      Src: /src/vlc/modules/demux/av1_unpack.h:79,1
    - Dst: likely
      Src: /src/vlc/modules/demux/av1_unpack.h:84,1
    - Dst: leb128_write
      Src: /src/vlc/modules/demux/av1_unpack.h:86,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - p_block
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 93
    functionName: AV1_Unpack_Sample_ExpandSize
    functionSourceFile: /src/vlc/modules/demux/av1_unpack.h
    functionUses: 0
    functionsReached:
    - leb128_expected
    - block_Realloc
    - AV1_OBUHasSizeField
    - AV1_OBU_iterator_init
    - leb128_write
    - memmove
    - AV1_OBU_iterate_next
    - likely
    - AV1_OBUHasExtensionField
    linkageType: ''
    returnType: block_t
    signature: block_t * AV1_Unpack_Sample_ExpandSize(block_t *p_block)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AV1_Unpack_Sample_ExpandSize
      Src: /src/vlc/modules/demux/av1_unpack.h:107,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/demux/av1_unpack.h:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - p_block
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 104
    functionDepth: 4
    functionLinenumber: 104
    functionLinenumberEnd: 121
    functionName: AV1_Unpack_Sample
    functionSourceFile: /src/vlc/modules/demux/av1_unpack.h
    functionUses: 0
    functionsReached:
    - AV1_Unpack_Sample_ExpandSize
    - block_Realloc
    linkageType: ''
    returnType: block_t
    signature: block_t * AV1_Unpack_Sample(block_t *p_block)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/demux/dvb-text.h:28,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/dvb-text.h:45,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/dvb-text.h:56,1
    - Dst: FromCharset
      Src: /src/vlc/modules/demux/dvb-text.h:88,1
    - Dst: strndup
      Src: /src/vlc/modules/demux/dvb-text.h:91,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/dvb-text.h:92,1
    - Dst: EnsureUTF8
      Src: /src/vlc/modules/demux/dvb-text.h:94,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/dvb-text.h:97,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/dvb-text.h:99,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/dvb-text.h:99,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/dvb-text.h:107,1
    - Dst: memmove
      Src: /src/vlc/modules/demux/dvb-text.h:112,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/dvb-text.h:121,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/dvb-text.h:121,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/dvb-text.h:127,1
    - Dst: memmove
      Src: /src/vlc/modules/demux/dvb-text.h:132,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 72
    argCount: 2
    argNames:
    - buf
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 141
    functionName: vlc_from_EIT
    functionSourceFile: /src/vlc/modules/demux/dvb-text.h
    functionUses: 2
    functionsReached:
    - strndup
    - strchr
    - strlen
    - unlikely
    - memcpy
    - EnsureUTF8
    - memmove
    - FromCharset
    - snprintf
    linkageType: ''
    returnType: char
    signature: char *vlc_from_EIT (const void *buf, size_t length)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - p_buff
    - i_buff_len
    - pi_value_out
    - i_len_out
    argTypes:
    - uint8_t*
    - size_t
    - uint64_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 140
    functionName: ParseVarLenInteger
    functionSourceFile: /src/vlc/modules/demux/caf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ParseVarLenInteger( const uint8_t *p_buff, size_t i_buff_len, uint64_t
      *pi_value_out, uint32_t *i_len_out )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetQWBE
      Src: /src/vlc/modules/demux/caf.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: GetDBLBE
    functionSourceFile: /src/vlc/modules/demux/caf.c
    functionUses: 0
    functionsReached:
    - GetQWBE
    linkageType: ''
    returnType: double
    signature: double GetDBLBE( const uint8_t *p )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/caf.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - i_out
    argTypes:
    - uint8_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: ReadBEInt32ToUInt32
    functionSourceFile: /src/vlc/modules/demux/caf.c
    functionUses: 0
    functionsReached:
    - GetDWBE
    linkageType: ''
    returnType: int
    signature: int ReadBEInt32ToUInt32( const uint8_t *p, uint32_t *i_out )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetQWBE
      Src: /src/vlc/modules/demux/caf.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - i_out
    argTypes:
    - uint8_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: ReadBEInt64ToUInt64
    functionSourceFile: /src/vlc/modules/demux/caf.c
    functionUses: 0
    functionsReached:
    - GetQWBE
    linkageType: ''
    returnType: int
    signature: int ReadBEInt64ToUInt64( const uint8_t *p, uint64_t *i_out )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - demux_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: NeedsPacketTable
    functionSourceFile: /src/vlc/modules/demux/caf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NeedsPacketTable( demux_sys_t *p_sys )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NeedsPacketTable
      Src: /src/vlc/modules/demux/caf.c:193,1
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/caf.c:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 216
    functionName: TotalNumFrames
    functionSourceFile: /src/vlc/modules/demux/caf.c
    functionUses: 0
    functionsReached:
    - NeedsPacketTable
    - stream_Size
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t TotalNumFrames( demux_t *p_demux )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NeedsPacketTable
      Src: /src/vlc/modules/demux/caf.c:222,1
    - Dst: TotalNumFrames
      Src: /src/vlc/modules/demux/caf.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 231
    functionName: TotalNumSamples
    functionSourceFile: /src/vlc/modules/demux/caf.c
    functionUses: 0
    functionsReached:
    - NeedsPacketTable
    - TotalNumFrames
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t TotalNumSamples( demux_t *p_demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/caf.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: ReadFOURCC
    functionSourceFile: /src/vlc/modules/demux/caf.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t ReadFOURCC( const uint8_t *p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - span1
    - span2
    argTypes:
    - frame_span_t*
    - frame_span_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 254
    functionName: FrameSpanAddSpan
    functionSourceFile: /src/vlc/modules/demux/caf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FrameSpanAddSpan( frame_span_t *span1, frame_span_t *span2 )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/caf.c:273,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/caf.c:275,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/caf.c:280,1
    - Dst: ParseVarLenInteger
      Src: /src/vlc/modules/demux/caf.c:294,1
    - Dst: ParseVarLenInteger
      Src: /src/vlc/modules/demux/caf.c:316,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 3
    argNames:
    - p_demux
    - i_desc_offset
    - span
    argTypes:
    - demux_t*
    - uint64_t
    - frame_span_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 328
    functionName: FrameSpanAddDescription
    functionSourceFile: /src/vlc/modules/demux/caf.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Seek
    - ParseVarLenInteger
    - vlc_stream_Peek
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int FrameSpanAddDescription( demux_t *p_demux, uint64_t i_desc_offset,
      frame_span_t *span )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/demux/caf.c:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - span
    - i_sample_rate
    argTypes:
    - frame_span_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: FrameSpanGetTime
    functionSourceFile: /src/vlc/modules/demux/caf.c
    functionUses: 0
    functionsReached:
    - vlc_tick_from_samples
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t FrameSpanGetTime( frame_span_t *span, uint32_t i_sample_rate
      )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TotalNumFrames
      Src: /src/vlc/modules/demux/caf.c:350,1
    - Dst: NeedsPacketTable
      Src: /src/vlc/modules/demux/caf.c:352,1
    - Dst: FrameSpanAddDescription
      Src: /src/vlc/modules/demux/caf.c:376,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - p_demux
    - p_span
    - i_target_sample
    argTypes:
    - demux_t*
    - frame_span_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 392
    functionName: SetSpanWithSample
    functionSourceFile: /src/vlc/modules/demux/caf.c
    functionUses: 0
    functionsReached:
    - FrameSpanAddDescription
    - NeedsPacketTable
    - TotalNumFrames
    linkageType: ''
    returnType: int
    signature: int SetSpanWithSample( demux_t *p_demux, frame_span_t *p_span, uint64_t
      i_target_sample )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/caf.c:408,1
    - Dst: ReadFOURCC
      Src: /src/vlc/modules/demux/caf.c:411,1
    - Dst: GetQWBE
      Src: /src/vlc/modules/demux/caf.c:412,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/caf.c:418,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/demux/caf.c:418,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - p_demux
    - p_fcc
    - pi_size
    argTypes:
    - demux_t*
    - vlc_fourcc_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 427
    functionName: NextChunk
    functionSourceFile: /src/vlc/modules/demux/caf.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - UINT64_C
    - vlc_stream_Read
    - ReadFOURCC
    - GetQWBE
    linkageType: ''
    returnType: int
    signature: int NextChunk( demux_t *p_demux, vlc_fourcc_t *p_fcc, uint64_t *pi_size
      )
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/caf.c:435,1
    - Dst: ReadFOURCC
      Src: /src/vlc/modules/demux/caf.c:440,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/caf.c:441,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/caf.c:443,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/caf.c:444,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/caf.c:445,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/caf.c:446,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/caf.c:452,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/caf.c:465,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/caf.c:465,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/caf.c:466,1
    - Dst: vlc_fourcc_GetCodecAudio
      Src: /src/vlc/modules/demux/caf.c:466,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/caf.c:476,1
    - Dst: vlc_fourcc_GetCodecAudio
      Src: /src/vlc/modules/demux/caf.c:476,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/caf.c:479,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/caf.c:485,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/caf.c:488,1
    - Dst: vlc_fourcc_GetCodecAudio
      Src: /src/vlc/modules/demux/caf.c:488,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/caf.c:493,1
    - Dst: vlc_fourcc_GetCodecAudio
      Src: /src/vlc/modules/demux/caf.c:493,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/caf.c:498,1
    - Dst: round
      Src: /src/vlc/modules/demux/caf.c:502,1
    - Dst: GetDBLBE
      Src: /src/vlc/modules/demux/caf.c:502,1
    - Dst: lround
      Src: /src/vlc/modules/demux/caf.c:507,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/caf.c:510,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/caf.c:515,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 429
    functionDepth: 2
    functionLinenumber: 429
    functionLinenumberEnd: 532
    functionName: ReadDescChunk
    functionSourceFile: /src/vlc/modules/demux/caf.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - lround
    - vlc_stream_Peek
    - GetDBLBE
    - msg_Err
    - round
    - GetDWBE
    - ReadFOURCC
    - es_format_Init
    - vlc_fourcc_GetCodecAudio
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int ReadDescChunk( demux_t *p_demux )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/caf.c:552,1
    - Dst: free
      Src: /src/vlc/modules/demux/caf.c:556,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/caf.c:558,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/demux/caf.c:566,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/caf.c:567,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/demux/caf.c:568,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/caf.c:569,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/caf.c:573,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - p_demux
    - p
    - i_size
    argTypes:
    - demux_t*
    - uint8_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 577
    functionName: ProcessALACCookie
    functionSourceFile: /src/vlc/modules/demux/caf.c
    functionUses: 0
    functionsReached:
    - memcpy
    - free
    - SetDWBE
    - msg_Warn
    - malloc
    linkageType: ''
    returnType: int
    signature: int ProcessALACCookie( demux_t *p_demux, const uint8_t *p, uint64_t
      i_size )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - p_tag
    - p
    - p_offset
    - i_size
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 590
    functionName: AACCookieGetTag
    functionSourceFile: /src/vlc/modules/demux/caf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AACCookieGetTag( uint8_t *p_tag, const uint8_t *p, uint64_t *p_offset,
      uint64_t i_size )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseVarLenInteger
      Src: /src/vlc/modules/demux/caf.c:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - p_tag_len
    - p
    - p_offset
    - i_size
    argTypes:
    - uint64_t*
    - uint8_t*
    - uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 602
    functionName: AACCookieTagLen
    functionSourceFile: /src/vlc/modules/demux/caf.c
    functionUses: 0
    functionsReached:
    - ParseVarLenInteger
    linkageType: ''
    returnType: bool
    signature: bool AACCookieTagLen( uint64_t *p_tag_len, const uint8_t *p, uint64_t
      *p_offset, uint64_t i_size )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - i_length
    - i_size
    - i_offset
    argTypes:
    - int64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 607
    functionName: AACCookieChkLen
    functionSourceFile: /src/vlc/modules/demux/caf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AACCookieChkLen( int64_t i_length, uint64_t i_size, uint64_t i_offset
      )
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: AACCookieGetTag
      Src: /src/vlc/modules/demux/caf.c:625,1
    - Dst: AACCookieTagLen
      Src: /src/vlc/modules/demux/caf.c:630,1
    - Dst: AACCookieChkLen
      Src: /src/vlc/modules/demux/caf.c:632,1
    - Dst: AACCookieChkLen
      Src: /src/vlc/modules/demux/caf.c:638,1
    - Dst: AACCookieChkLen
      Src: /src/vlc/modules/demux/caf.c:643,1
    - Dst: AACCookieChkLen
      Src: /src/vlc/modules/demux/caf.c:649,1
    - Dst: AACCookieGetTag
      Src: /src/vlc/modules/demux/caf.c:653,1
    - Dst: AACCookieTagLen
      Src: /src/vlc/modules/demux/caf.c:659,1
    - Dst: AACCookieChkLen
      Src: /src/vlc/modules/demux/caf.c:661,1
    - Dst: AACCookieGetTag
      Src: /src/vlc/modules/demux/caf.c:664,1
    - Dst: AACCookieTagLen
      Src: /src/vlc/modules/demux/caf.c:669,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/caf.c:680,1
    - Dst: free
      Src: /src/vlc/modules/demux/caf.c:685,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/caf.c:687,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/caf.c:695,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 74
    argCount: 3
    argNames:
    - p_demux
    - p
    - i_size
    argTypes:
    - demux_t*
    - uint8_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 612
    functionDepth: 2
    functionLinenumber: 612
    functionLinenumberEnd: 699
    functionName: ProcessAACCookie
    functionSourceFile: /src/vlc/modules/demux/caf.c
    functionUses: 0
    functionsReached:
    - AACCookieChkLen
    - memcpy
    - AACCookieGetTag
    - free
    - AACCookieTagLen
    - msg_Warn
    - malloc
    linkageType: ''
    returnType: int
    signature: int ProcessAACCookie( demux_t *p_demux, const uint8_t *p, uint64_t
      i_size )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/caf.c:708,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/caf.c:712,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/caf.c:714,1
    - Dst: ProcessALACCookie
      Src: /src/vlc/modules/demux/caf.c:720,1
    - Dst: ProcessAACCookie
      Src: /src/vlc/modules/demux/caf.c:725,1
    - Dst: free
      Src: /src/vlc/modules/demux/caf.c:730,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/caf.c:732,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/caf.c:740,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - p_demux
    - i_size
    argTypes:
    - demux_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 701
    functionDepth: 3
    functionLinenumber: 701
    functionLinenumberEnd: 745
    functionName: ReadKukiChunk
    functionSourceFile: /src/vlc/modules/demux/caf.c
    functionUses: 0
    functionsReached:
    - ProcessAACCookie
    - vlc_stream_Peek
    - memcpy
    - msg_Err
    - free
    - malloc
    - ProcessALACCookie
    linkageType: ''
    returnType: int
    signature: int ReadKukiChunk( demux_t *p_demux, uint64_t i_size )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/caf.c:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p_demux
    - i_size
    argTypes:
    - demux_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 758
    functionName: ReadDataChunk
    functionSourceFile: /src/vlc/modules/demux/caf.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Tell
    linkageType: ''
    returnType: int
    signature: int ReadDataChunk( demux_t *p_demux, uint64_t i_size )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/caf.c:766,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/caf.c:768,1
    - Dst: ReadBEInt64ToUInt64
      Src: /src/vlc/modules/demux/caf.c:772,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/caf.c:774,1
    - Dst: ReadBEInt64ToUInt64
      Src: /src/vlc/modules/demux/caf.c:777,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/caf.c:779,1
    - Dst: ReadBEInt32ToUInt32
      Src: /src/vlc/modules/demux/caf.c:782,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/caf.c:784,1
    - Dst: ReadBEInt32ToUInt32
      Src: /src/vlc/modules/demux/caf.c:787,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/caf.c:789,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/caf.c:793,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 760
    functionDepth: 2
    functionLinenumber: 760
    functionLinenumberEnd: 796
    functionName: ReadPaktChunk
    functionSourceFile: /src/vlc/modules/demux/caf.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    - ReadBEInt32ToUInt32
    - msg_Err
    - ReadBEInt64ToUInt64
    - vlc_stream_Tell
    linkageType: ''
    returnType: int
    signature: int ReadPaktChunk( demux_t *p_demux )
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/caf.c:810,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/caf.c:814,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/caf.c:818,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/caf.c:821,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/caf.c:826,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/caf.c:829,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/caf.c:833,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/caf.c:836,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/caf.c:842,1
    - Dst: NextChunk
      Src: /src/vlc/modules/demux/caf.c:848,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/caf.c:854,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/caf.c:858,1
    - Dst: ReadDescChunk
      Src: /src/vlc/modules/demux/caf.c:863,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/caf.c:866,1
    - Dst: ReadDataChunk
      Src: /src/vlc/modules/demux/caf.c:868,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/caf.c:871,1
    - Dst: ReadPaktChunk
      Src: /src/vlc/modules/demux/caf.c:873,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/caf.c:876,1
    - Dst: ReadKukiChunk
      Src: /src/vlc/modules/demux/caf.c:878,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/caf.c:891,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/caf.c:893,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/caf.c:898,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/caf.c:898,1
    - Dst: NeedsPacketTable
      Src: /src/vlc/modules/demux/caf.c:905,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/caf.c:907,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/caf.c:913,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/caf.c:917,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/caf.c:927,1
    - Dst: free
      Src: /src/vlc/modules/demux/caf.c:928,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 78
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 801
    functionDepth: 4
    functionLinenumber: 801
    functionLinenumberEnd: 930
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/caf.c
    functionUses: 37
    functionsReached:
    - es_format_Init
    - memcmp
    - msg_Err
    - calloc
    - vlc_stream_Read
    - msg_Dbg
    - ReadDataChunk
    - VLC_FOURCC
    - ReadDescChunk
    - vlc_stream_Seek
    - vlc_stream_Tell
    - GetWBE
    - NextChunk
    - ReadKukiChunk
    - vlc_stream_Peek
    - ReadPaktChunk
    - es_format_Clean
    - NeedsPacketTable
    - free
    - es_out_Add
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: __MAX
      Src: /src/vlc/modules/demux/caf.c:949,1
    - Dst: NeedsPacketTable
      Src: /src/vlc/modules/demux/caf.c:951,1
    - Dst: FrameSpanAddDescription
      Src: /src/vlc/modules/demux/caf.c:977,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/caf.c:985,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/caf.c:989,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/caf.c:994,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/caf.c:998,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/caf.c:1001,1
    - Dst: FrameSpanGetTime
      Src: /src/vlc/modules/demux/caf.c:1006,1
    - Dst: FrameSpanAddSpan
      Src: /src/vlc/modules/demux/caf.c:1008,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/caf.c:1010,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/caf.c:1011,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 935
    functionDepth: 2
    functionLinenumber: 935
    functionLinenumberEnd: 1014
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/caf.c
    functionUses: 6
    functionsReached:
    - es_out_Send
    - NeedsPacketTable
    - msg_Err
    - __MAX
    - vlc_stream_Seek
    - FrameSpanAddSpan
    - vlc_stream_Block
    - FrameSpanAddDescription
    - FrameSpanGetTime
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TotalNumSamples
      Src: /src/vlc/modules/demux/caf.c:1026,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/caf.c:1031,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/caf.c:1035,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/demux/caf.c:1036,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/caf.c:1040,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/demux/caf.c:1041,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/caf.c:1045,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/caf.c:1050,1
    - Dst: SetSpanWithSample
      Src: /src/vlc/modules/demux/caf.c:1052,1
    - Dst: samples_from_vlc_tick
      Src: /src/vlc/modules/demux/caf.c:1059,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/caf.c:1059,1
    - Dst: SetSpanWithSample
      Src: /src/vlc/modules/demux/caf.c:1060,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/caf.c:1066,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/caf.c:1072,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1019
    functionDepth: 3
    functionLinenumber: 1019
    functionLinenumberEnd: 1080
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/caf.c
    functionUses: 89
    functionsReached:
    - samples_from_vlc_tick
    - demux_vaControlHelper
    - va_arg
    - TotalNumSamples
    - vlc_tick_from_samples
    - SetSpanWithSample
    - vlc_stream_Control
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/caf.c:1090,1
    - Dst: free
      Src: /src/vlc/modules/demux/caf.c:1091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1085
    functionDepth: 1
    functionLinenumber: 1085
    functionLinenumberEnd: 1092
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/caf.c
    functionUses: 120
    functionsReached:
    - free
    - es_format_Clean
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __MIN
      Src: /src/vlc/modules/demux/vobsub.h:32,1
    - Dst: abs
      Src: /src/vlc/modules/demux/vobsub.h:32,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/vobsub.h:33,1
    - Dst: abs
      Src: /src/vlc/modules/demux/vobsub.h:33,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/vobsub.h:34,1
    - Dst: abs
      Src: /src/vlc/modules/demux/vobsub.h:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 37
    functionName: vobsub_palette_argb2ayvu
    functionSourceFile: /src/vlc/modules/demux/vobsub.h
    functionUses: 0
    functionsReached:
    - __MIN
    - abs
    linkageType: ''
    returnType: void
    signature: void vobsub_palette_argb2ayvu( const uint32_t *src, uint32_t *dst )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/vlc/modules/demux/vobsub.h:42,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/vobsub.h:50,1
    - Dst: vobsub_palette_argb2ayvu
      Src: /src/vlc/modules/demux/vobsub.h:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - psz_buf
    - pu_palette
    argTypes:
    - char*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 59
    functionName: vobsub_palette_parse
    functionSourceFile: /src/vlc/modules/demux/vobsub.h
    functionUses: 0
    functionsReached:
    - sscanf
    - vobsub_palette_argb2ayvu
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int vobsub_palette_parse( const char *psz_buf, uint32_t *pu_palette
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/vlc/modules/demux/vobsub.h:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - psz_buf
    - pi_original_frame_width
    - pi_original_frame_height
    argTypes:
    - char*
    - unsigned*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 76
    functionName: vobsub_size_parse
    functionSourceFile: /src/vlc/modules/demux/vobsub.h
    functionUses: 0
    functionsReached:
    - sscanf
    linkageType: ''
    returnType: int
    signature: "int vobsub_size_parse( const char *psz_buf,\n                                     unsigned
      *pi_original_frame_width,\n                                     unsigned *pi_original_frame_height
      )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/demux/vobsub.h:82,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/vobsub.h:83,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/vobsub.h:86,1
    - Dst: strstr
      Src: /src/vlc/modules/demux/vobsub.h:89,1
    - Dst: vobsub_size_parse
      Src: /src/vlc/modules/demux/vobsub.h:91,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/vobsub.h:95,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/vobsub.h:101,1
    - Dst: strstr
      Src: /src/vlc/modules/demux/vobsub.h:104,1
    - Dst: vobsub_palette_parse
      Src: /src/vlc/modules/demux/vobsub.h:106,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/vobsub.h:109,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/vobsub.h:113,1
    - Dst: free
      Src: /src/vlc/modules/demux/vobsub.h:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - o
    - subs
    - buf
    - buf_size
    argTypes:
    - vlc_object_t*
    - subs_format_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 116
    functionName: vobsub_extra_parse
    functionSourceFile: /src/vlc/modules/demux/vobsub.h
    functionUses: 0
    functionsReached:
    - memcpy
    - free
    - malloc
    - msg_Dbg
    - strstr
    - msg_Warn
    - unlikely
    - vobsub_size_parse
    - vobsub_palette_parse
    linkageType: ''
    returnType: void
    signature: "void vobsub_extra_parse(vlc_object_t *o, subs_format_t *subs,\n                                      const
      uint8_t *buf, size_t buf_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/subtitle.c:246,1
    - Dst: INT64_C
      Src: /src/vlc/modules/demux/subtitle.c:246,1
    - Dst: INT64_C
      Src: /src/vlc/modules/demux/subtitle.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - h
    - m
    - s
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: vlc_tick_from_HMS
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 0
    functionsReached:
    - vlc_tick_from_sec
    - INT64_C
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t vlc_tick_from_HMS( int h, int m, int s )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:259,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/subtitle.c:261,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/subtitle.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - p_subtitle
    argTypes:
    - subtitle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 267
    functionName: ToTextBlock
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 0
    functionsReached:
    - strlen
    - block_Alloc
    - memcpy
    linkageType: ''
    returnType: block_t
    signature: block_t *ToTextBlock( const subtitle_t *p_subtitle )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:275,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/subtitle.c:278,1
    - Dst: strtok_r
      Src: /src/vlc/modules/demux/subtitle.c:284,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:287,1
    - Dst: strtok_r
      Src: /src/vlc/modules/demux/subtitle.c:295,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - p_subtitle
    argTypes:
    - subtitle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 299
    functionName: ToEIA608Block
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 0
    functionsReached:
    - sscanf
    - strlen
    - block_Alloc
    - strtok_r
    linkageType: ''
    returnType: block_t
    signature: block_t *ToEIA608Block( const subtitle_t *p_subtitle )
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/subtitle.c:315,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/subtitle.c:321,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/subtitle.c:339,1
    - Dst: var_CreateGetFloat
      Src: /src/vlc/modules/demux/subtitle.c:345,1
    - Dst: llroundf
      Src: /src/vlc/modules/demux/subtitle.c:348,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/subtitle.c:349,1
    - Dst: var_CreateGetString
      Src: /src/vlc/modules/demux/subtitle.c:354,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/subtitle.c:362,1
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:370,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/subtitle.c:373,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/subtitle.c:378,1
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:380,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/subtitle.c:395,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/subtitle.c:400,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/subtitle.c:406,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/subtitle.c:414,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/subtitle.c:416,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/subtitle.c:417,1
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:419,1
    - Dst: FromCharset
      Src: /src/vlc/modules/demux/subtitle.c:428,1
    - Dst: vlc_stream_MemoryNew
      Src: /src/vlc/modules/demux/subtitle.c:430,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:431,1
    - Dst: vlc_stream_MemoryNew
      Src: /src/vlc/modules/demux/subtitle.c:438,1
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:444,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/subtitle.c:454,1
    - Dst: vlc_stream_ReadLine
      Src: /src/vlc/modules/demux/subtitle.c:460,1
    - Dst: strcasestr
      Src: /src/vlc/modules/demux/subtitle.c:463,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:468,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:469,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:474,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:477,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:480,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:483,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:486,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:489,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:492,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/subtitle.c:499,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/subtitle.c:504,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/subtitle.c:509,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/subtitle.c:514,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/subtitle.c:519,1
    - Dst: strcasestr
      Src: /src/vlc/modules/demux/subtitle.c:524,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:529,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:532,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:537,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:544,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:545,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:550,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:556,1
    - Dst: strstr
      Src: /src/vlc/modules/demux/subtitle.c:562,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:567,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:568,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:573,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:574,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:580,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:585,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:590,1
    - Dst: strcasestr
      Src: /src/vlc/modules/demux/subtitle.c:596,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/subtitle.c:601,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/subtitle.c:606,1
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:613,1
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:617,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/subtitle.c:620,1
    - Dst: assert
      Src: /src/vlc/modules/demux/subtitle.c:627,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/subtitle.c:627,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/subtitle.c:629,1
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:630,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/subtitle.c:638,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/subtitle.c:645,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/subtitle.c:648,1
    - Dst: Close
      Src: /src/vlc/modules/demux/subtitle.c:650,1
    - Dst: TextLoad
      Src: /src/vlc/modules/demux/subtitle.c:656,1
    - Dst: realloc
      Src: /src/vlc/modules/demux/subtitle.c:664,1
    - Dst: TextUnload
      Src: /src/vlc/modules/demux/subtitle.c:667,1
    - Dst: Close
      Src: /src/vlc/modules/demux/subtitle.c:668,1
    - Dst: pf_read
      Src: /src/vlc/modules/demux/subtitle.c:674,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/subtitle.c:674,1
    - Dst: TextUnload
      Src: /src/vlc/modules/demux/subtitle.c:682,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/subtitle.c:684,1
    - Dst: Fix
      Src: /src/vlc/modules/demux/subtitle.c:691,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/subtitle.c:692,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/subtitle.c:696,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/subtitle.c:700,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/subtitle.c:711,1
    - Dst: get_language_from_url
      Src: /src/vlc/modules/demux/subtitle.c:716,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/subtitle.c:718,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/demux/subtitle.c:722,1
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:726,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/subtitle.c:728,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:730,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/subtitle.c:734,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/subtitle.c:735,1
    - Dst: Close
      Src: /src/vlc/modules/demux/subtitle.c:738,1
    CyclomaticComplexity: 106
    EdgeCount: 106
    ICount: 255
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: ( i_start_pos == vlc_stream_Tell( p_demux->s ) )
      pos:
        line_end: 626
        line_start: 626
        source_file: /src/vlc/modules/demux/subtitle.c
    constantsTouched: []
    func_position:
      end: 743
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 743
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 37
    functionsReached:
    - var_CreateGetString
    - sscanf
    - TextLoad
    - assert
    - realloc
    - vlc_stream_MemoryNew
    - es_format_Init
    - var_CreateGetFloat
    - Fix
    - memcmp
    - get_language_from_url
    - llroundf
    - vlc_stream_ReadLine
    - msg_Dbg
    - strstr
    - vlc_stream_Read
    - msg_Warn
    - strcasestr
    - pf_read
    - strdup
    - strcmp
    - Close
    - vlc_stream_Tell
    - FromCharset
    - strncasecmp
    - vlc_stream_Peek
    - TextUnload
    - var_InheritString
    - es_format_Clean
    - strlen
    - VLC_TICK_FROM_MS
    - vlc_stream_Delete
    - free
    - VLC_OBJECT
    - es_out_Add
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open ( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:754,1
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:755,1
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:756,1
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:758,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 759
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 121
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 772
    functionName: ResetCurrentIndex
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResetCurrentIndex( demux_t *p_demux )
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/demux/subtitle.c:785,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/subtitle.c:789,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/subtitle.c:793,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/subtitle.c:799,1
    - Dst: ResetCurrentIndex
      Src: /src/vlc/modules/demux/subtitle.c:800,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/subtitle.c:805,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/subtitle.c:822,1
    - Dst: demux_Control
      Src: /src/vlc/modules/demux/subtitle.c:826,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/subtitle.c:831,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/subtitle.c:834,1
    - Dst: ResetCurrentIndex
      Src: /src/vlc/modules/demux/subtitle.c:835,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/subtitle.c:839,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/subtitle.c:845,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 61
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 859
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 90
    functionsReached:
    - demux_vaControlHelper
    - va_arg
    - demux_Control
    - ResetCurrentIndex
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Fix
      Src: /src/vlc/modules/demux/subtitle.c:869,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/subtitle.c:881,1
    - Dst: demux_sys_t*::pf_convert
      Src: /src/vlc/modules/demux/subtitle.c:887,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/subtitle.c:895,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/subtitle.c:904,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/subtitle.c:905,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 912
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 6
    functionsReached:
    - es_out_Send
    - VLC_TICK_FROM_MS
    - demux_sys_t*::pf_convert
    - Fix
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - second
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 921
    functionName: subtitle_cmp
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int subtitle_cmp( const void *first, const void *second )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/vlc/modules/demux/subtitle.c:932,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 934
    functionName: Fix
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 2
    functionsReached:
    - qsort
    linkageType: ''
    returnType: void
    signature: void Fix( demux_t *p_demux )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/demux/subtitle.c:944,1
    - Dst: vlc_stream_ReadLine
      Src: /src/vlc/modules/demux/subtitle.c:951,1
    - Dst: realloc
      Src: /src/vlc/modules/demux/subtitle.c:960,1
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:970,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - txt
    - s
    argTypes:
    - text_t*
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 936
    functionDepth: 1
    functionLinenumber: 936
    functionLinenumberEnd: 975
    functionName: TextLoad
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 1
    functionsReached:
    - calloc
    - vlc_stream_ReadLine
    - realloc
    - free
    linkageType: ''
    returnType: int
    signature: int TextLoad( text_t *txt, stream_t *s )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:981,1
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:982,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - txt
    argTypes:
    - text_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 986
    functionName: TextUnload
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void TextUnload( text_t *txt )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - txt
    argTypes:
    - text_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 994
    functionName: TextGetLine
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *TextGetLine( text_t *txt )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - txt
    argTypes:
    - text_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 999
    functionName: TextPreviousLine
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TextPreviousLine( text_t *txt )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:1013,1
    - Dst: TextGetLine
      Src: /src/vlc/modules/demux/subtitle.c:1021,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/subtitle.c:1025,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:1025,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:1031,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:1032,1
    - Dst: vlc_strtof_c
      Src: /src/vlc/modules/demux/subtitle.c:1039,1
    - Dst: var_GetFloat
      Src: /src/vlc/modules/demux/subtitle.c:1040,1
    - Dst: llroundf
      Src: /src/vlc/modules/demux/subtitle.c:1041,1
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:1043,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 5
    argNames:
    - p_obj
    - p_props
    - txt
    - p_subtitle
    - i_idx
    argTypes:
    - vlc_object_t*
    - subs_properties_t*
    - text_t*
    - subtitle_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1009
    functionDepth: 1
    functionLinenumber: 1009
    functionLinenumberEnd: 1058
    functionName: ParseMicroDvd
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 0
    functionsReached:
    - TextGetLine
    - sscanf
    - var_GetFloat
    - vlc_strtof_c
    - strlen
    - free
    - llroundf
    - malloc
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int ParseMicroDvd( vlc_object_t *p_obj, subs_properties_t *p_props,\n
      \                         text_t *txt, subtitle_t *p_subtitle,\n                          size_t
      i_idx )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:1081,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:1082,1
    - Dst: TextGetLine
      Src: /src/vlc/modules/demux/subtitle.c:1087,1
    - Dst: pf_parse_timing
      Src: /src/vlc/modules/demux/subtitle.c:1092,1
    - Dst: TextGetLine
      Src: /src/vlc/modules/demux/subtitle.c:1104,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:1107,1
    - Dst: realloc_or_free
      Src: /src/vlc/modules/demux/subtitle.c:1114,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/subtitle.c:1118,1
    - Dst: strstr
      Src: /src/vlc/modules/demux/subtitle.c:1128,1
    - Dst: memmove
      Src: /src/vlc/modules/demux/subtitle.c:1131,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:1131,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 5
    argNames:
    - p_obj
    - p_props
    - txt
    - p_subtitle
    - b_replace_br
    argTypes:
    - vlc_object_t*
    - subs_properties_t*
    - text_t*
    - subtitle_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1076
    functionDepth: 1
    functionLinenumber: 1076
    functionLinenumberEnd: 1136
    functionName: ParseSubRipSubViewer
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 0
    functionsReached:
    - TextGetLine
    - strlen
    - memcpy
    - pf_parse_timing
    - memmove
    - strstr
    - realloc_or_free
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int ParseSubRipSubViewer( vlc_object_t *p_obj, subs_properties_t *p_props,\n
      \                                text_t *txt, subtitle_t *p_subtitle,\n                                 int
      (* pf_parse_timing)(subtitle_t *, const char *),\n                                 bool
      b_replace_br )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:1147,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:1151,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:1156,1
    - Dst: vlc_tick_from_HMS
      Src: /src/vlc/modules/demux/subtitle.c:1164,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/subtitle.c:1165,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - timing_value
    - s
    - length
    argTypes:
    - vlc_tick_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1141
    functionDepth: 2
    functionLinenumber: 1141
    functionLinenumberEnd: 1169
    functionName: subtitle_ParseSubRipTimingValue
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 0
    functionsReached:
    - sscanf
    - VLC_TICK_FROM_MS
    - vlc_tick_from_HMS
    linkageType: ''
    returnType: int
    signature: "int subtitle_ParseSubRipTimingValue(vlc_tick_t *timing_value,\n                                           const
      char *s, size_t length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/vlc/modules/demux/subtitle.c:1177,1
    - Dst: subtitle_ParseSubRipTimingValue
      Src: /src/vlc/modules/demux/subtitle.c:1181,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:1185,1
    - Dst: subtitle_ParseSubRipTimingValue
      Src: /src/vlc/modules/demux/subtitle.c:1186,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:1186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - p_subtitle
    - s
    argTypes:
    - subtitle_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1174
    functionDepth: 3
    functionLinenumber: 1174
    functionLinenumberEnd: 1187
    functionName: subtitle_ParseSubRipTiming
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 0
    functionsReached:
    - strlen
    - subtitle_ParseSubRipTimingValue
    - strstr
    linkageType: ''
    returnType: int
    signature: "int subtitle_ParseSubRipTiming( subtitle_t *p_subtitle,\n                                       const
      char *s )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:1195,1
    - Dst: ParseSubRipSubViewer
      Src: /src/vlc/modules/demux/subtitle.c:1196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - p_obj
    - p_props
    - txt
    - p_subtitle
    - i_idx
    argTypes:
    - vlc_object_t*
    - subs_properties_t*
    - text_t*
    - subtitle_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1191
    functionDepth: 2
    functionLinenumber: 1191
    functionLinenumberEnd: 1199
    functionName: ParseSubRip
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 0
    functionsReached:
    - ParseSubRipSubViewer
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int ParseSubRip( vlc_object_t *p_obj, subs_properties_t *p_props,\n
      \                        text_t *txt, subtitle_t *p_subtitle,\n                         size_t
      i_idx )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:1209,1
    - Dst: vlc_tick_from_HMS
      Src: /src/vlc/modules/demux/subtitle.c:1213,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/subtitle.c:1214,1
    - Dst: vlc_tick_from_HMS
      Src: /src/vlc/modules/demux/subtitle.c:1216,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/subtitle.c:1217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p_subtitle
    - s
    argTypes:
    - subtitle_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1204
    functionDepth: 2
    functionLinenumber: 1204
    functionLinenumberEnd: 1219
    functionName: subtitle_ParseSubViewerTiming
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 0
    functionsReached:
    - sscanf
    - VLC_TICK_FROM_MS
    - vlc_tick_from_HMS
    linkageType: ''
    returnType: int
    signature: "int subtitle_ParseSubViewerTiming( subtitle_t *p_subtitle,\n                                   const
      char *s )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:1227,1
    - Dst: ParseSubRipSubViewer
      Src: /src/vlc/modules/demux/subtitle.c:1229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - p_obj
    - p_props
    - txt
    - p_subtitle
    - i_idx
    argTypes:
    - vlc_object_t*
    - subs_properties_t*
    - text_t*
    - subtitle_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1223
    functionDepth: 2
    functionLinenumber: 1223
    functionLinenumberEnd: 1232
    functionName: ParseSubViewer
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 0
    functionsReached:
    - ParseSubRipSubViewer
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int ParseSubViewer( vlc_object_t *p_obj, subs_properties_t *p_props,\n
      \                           text_t *txt, subtitle_t *p_subtitle,\n                            size_t
      i_idx )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:1240,1
    - Dst: TextGetLine
      Src: /src/vlc/modules/demux/subtitle.c:1245,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/subtitle.c:1269,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:1269,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:1276,1
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:1278,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:1283,1
    - Dst: memmove
      Src: /src/vlc/modules/demux/subtitle.c:1295,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:1295,1
    - Dst: atoi
      Src: /src/vlc/modules/demux/subtitle.c:1300,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/subtitle.c:1303,1
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:1305,1
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:1309,1
    - Dst: vlc_tick_from_HMS
      Src: /src/vlc/modules/demux/subtitle.c:1313,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/subtitle.c:1314,1
    - Dst: vlc_tick_from_HMS
      Src: /src/vlc/modules/demux/subtitle.c:1315,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/subtitle.c:1316,1
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:1320,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:1324,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:1326,1
    - Dst: realloc_or_free
      Src: /src/vlc/modules/demux/subtitle.c:1327,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/subtitle.c:1330,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 5
    argNames:
    - p_obj
    - p_props
    - txt
    - p_subtitle
    - i_idx
    argTypes:
    - vlc_object_t*
    - subs_properties_t*
    - text_t*
    - subtitle_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1236
    functionDepth: 2
    functionLinenumber: 1236
    functionLinenumberEnd: 1333
    functionName: ParseSSA
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 0
    functionsReached:
    - TextGetLine
    - sscanf
    - atoi
    - asprintf
    - snprintf
    - strlen
    - VLC_TICK_FROM_MS
    - free
    - memmove
    - vlc_tick_from_HMS
    - realloc_or_free
    - malloc
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int ParseSSA( vlc_object_t *p_obj, subs_properties_t *p_props,\n                      text_t
      *txt, subtitle_t *p_subtitle,\n                      size_t i_idx )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:1345,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:1346,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:1347,1
    - Dst: TextGetLine
      Src: /src/vlc/modules/demux/subtitle.c:1352,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/subtitle.c:1358,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:1358,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:1362,1
    - Dst: vlc_tick_from_HMS
      Src: /src/vlc/modules/demux/subtitle.c:1365,1
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:1369,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - p_obj
    - p_props
    - txt
    - p_subtitle
    - i_idx
    argTypes:
    - vlc_object_t*
    - subs_properties_t*
    - text_t*
    - subtitle_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1341
    functionDepth: 2
    functionLinenumber: 1341
    functionLinenumberEnd: 1380
    functionName: ParseVplayer
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 0
    functionsReached:
    - TextGetLine
    - sscanf
    - strlen
    - free
    - vlc_tick_from_HMS
    - malloc
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int ParseVplayer( vlc_object_t *p_obj, subs_properties_t *p_props,\n
      \                        text_t *txt, subtitle_t *p_subtitle,\n                         size_t
      i_idx )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasestr
      Src: /src/vlc/modules/demux/subtitle.c:1387,1
    - Dst: strcasestr
      Src: /src/vlc/modules/demux/subtitle.c:1389,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:1390,1
    - Dst: TextGetLine
      Src: /src/vlc/modules/demux/subtitle.c:1395,1
    - Dst: strcasestr
      Src: /src/vlc/modules/demux/subtitle.c:1399,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:1401,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - txt
    - psz_start
    - psz_str
    argTypes:
    - text_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1384
    functionDepth: 1
    functionLinenumber: 1384
    functionLinenumberEnd: 1403
    functionName: ParseSamiSearch
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 0
    functionsReached:
    - TextGetLine
    - strlen
    - strcasestr
    linkageType: ''
    returnType: char
    signature: "char *ParseSamiSearch( text_t *txt,\n                                    const
      char *psz_start, const char *psz_str )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:1407,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:1408,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:1409,1
    - Dst: ParseSamiSearch
      Src: /src/vlc/modules/demux/subtitle.c:1417,1
    - Dst: strtol
      Src: /src/vlc/modules/demux/subtitle.c:1424,1
    - Dst: ParseSamiSearch
      Src: /src/vlc/modules/demux/subtitle.c:1428,1
    - Dst: ParseSamiSearch
      Src: /src/vlc/modules/demux/subtitle.c:1432,1
    - Dst: TextGetLine
      Src: /src/vlc/modules/demux/subtitle.c:1443,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/subtitle.c:1449,1
    - Dst: strcasestr
      Src: /src/vlc/modules/demux/subtitle.c:1453,1
    - Dst: ParseSamiSearch
      Src: /src/vlc/modules/demux/subtitle.c:1458,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/subtitle.c:1460,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/subtitle.c:1482,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/subtitle.c:1484,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 5
    argNames:
    - p_obj
    - p_props
    - txt
    - p_subtitle
    - i_idx
    argTypes:
    - vlc_object_t*
    - subs_properties_t*
    - text_t*
    - subtitle_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1404
    functionDepth: 2
    functionLinenumber: 1404
    functionLinenumberEnd: 1487
    functionName: ParseSami
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 0
    functionsReached:
    - TextGetLine
    - strncasecmp
    - strdup
    - VLC_TICK_FROM_MS
    - ParseSamiSearch
    - strncmp
    - strtol
    - strcasestr
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int ParseSami( vlc_object_t *p_obj, subs_properties_t *p_props,\n
      \                     text_t *txt, subtitle_t *p_subtitle, size_t i_idx )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:1509,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:1510,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:1511,1
    - Dst: TextGetLine
      Src: /src/vlc/modules/demux/subtitle.c:1516,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:1522,1
    - Dst: vlc_tick_from_HMS
      Src: /src/vlc/modules/demux/subtitle.c:1526,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/subtitle.c:1527,1
    - Dst: TextGetLine
      Src: /src/vlc/modules/demux/subtitle.c:1538,1
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:1543,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:1547,1
    - Dst: realloc_or_free
      Src: /src/vlc/modules/demux/subtitle.c:1556,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/subtitle.c:1560,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 5
    argNames:
    - p_obj
    - p_props
    - txt
    - p_subtitle
    - i_idx
    argTypes:
    - vlc_object_t*
    - subs_properties_t*
    - text_t*
    - subtitle_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1564
      start: 1506
    functionDepth: 2
    functionLinenumber: 1506
    functionLinenumberEnd: 1564
    functionName: ParseDVDSubtitle
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 0
    functionsReached:
    - TextGetLine
    - sscanf
    - strlen
    - VLC_TICK_FROM_MS
    - memcpy
    - free
    - vlc_tick_from_HMS
    - realloc_or_free
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int ParseDVDSubtitle(vlc_object_t *p_obj, subs_properties_t *p_props,\n
      \                           text_t *txt, subtitle_t *p_subtitle, size_t i_idx
      )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:1574,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:1575,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:1576,1
    - Dst: TextGetLine
      Src: /src/vlc/modules/demux/subtitle.c:1582,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/subtitle.c:1589,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:1589,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:1595,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:1596,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/subtitle.c:1598,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/subtitle.c:1599,1
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:1602,1
    - Dst: memmove
      Src: /src/vlc/modules/demux/subtitle.c:1613,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:1613,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 5
    argNames:
    - p_obj
    - p_props
    - txt
    - p_subtitle
    - i_idx
    argTypes:
    - vlc_object_t*
    - subs_properties_t*
    - text_t*
    - subtitle_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1571
    functionDepth: 1
    functionLinenumber: 1571
    functionLinenumberEnd: 1619
    functionName: ParseMPL2
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 0
    functionsReached:
    - TextGetLine
    - sscanf
    - strlen
    - VLC_TICK_FROM_MS
    - free
    - memmove
    - malloc
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int ParseMPL2(vlc_object_t *p_obj, subs_properties_t *p_props,\n                     text_t
      *txt, subtitle_t *p_subtitle, size_t i_idx )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:1623,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:1624,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:1625,1
    - Dst: TextGetLine
      Src: /src/vlc/modules/demux/subtitle.c:1636,1
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:1640,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:1645,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:1663,1
    - Dst: realloc_or_free
      Src: /src/vlc/modules/demux/subtitle.c:1664,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/subtitle.c:1668,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 5
    argNames:
    - p_obj
    - p_props
    - txt
    - p_subtitle
    - i_idx
    argTypes:
    - vlc_object_t*
    - subs_properties_t*
    - text_t*
    - subtitle_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1679
      start: 1621
    functionDepth: 1
    functionLinenumber: 1621
    functionLinenumberEnd: 1679
    functionName: ParseAQT
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 0
    functionsReached:
    - TextGetLine
    - sscanf
    - strlen
    - memcpy
    - free
    - realloc_or_free
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int ParseAQT(vlc_object_t *p_obj, subs_properties_t *p_props, text_t
      *txt, subtitle_t *p_subtitle, size_t i_idx )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:1684,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:1685,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:1686,1
    - Dst: TextGetLine
      Src: /src/vlc/modules/demux/subtitle.c:1693,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/subtitle.c:1699,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:1699,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:1704,1
    - Dst: INT64_C
      Src: /src/vlc/modules/demux/subtitle.c:1707,1
    - Dst: INT64_C
      Src: /src/vlc/modules/demux/subtitle.c:1708,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:1710,1
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:1714,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/subtitle.c:1725,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 5
    argNames:
    - p_obj
    - p_props
    - txt
    - p_subtitle
    - i_idx
    argTypes:
    - vlc_object_t*
    - subs_properties_t*
    - text_t*
    - subtitle_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1727
      start: 1681
    functionDepth: 1
    functionLinenumber: 1681
    functionLinenumberEnd: 1727
    functionName: ParsePJS
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 0
    functionsReached:
    - TextGetLine
    - sscanf
    - strlen
    - INT64_C
    - free
    - msg_Dbg
    - malloc
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int ParsePJS(vlc_object_t *p_obj, subs_properties_t *p_props,\n                    text_t
      *txt, subtitle_t *p_subtitle, size_t i_idx )"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:1732,1
    - Dst: TextGetLine
      Src: /src/vlc/modules/demux/subtitle.c:1744,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:1755,1
    - Dst: llroundf
      Src: /src/vlc/modules/demux/subtitle.c:1760,1
    - Dst: llroundf
      Src: /src/vlc/modules/demux/subtitle.c:1762,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/subtitle.c:1766,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:1766,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:1768,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/subtitle.c:1769,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:1769,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:1777,1
    - Dst: var_GetFloat
      Src: /src/vlc/modules/demux/subtitle.c:1779,1
    - Dst: var_SetFloat
      Src: /src/vlc/modules/demux/subtitle.c:1780,1
    - Dst: TextGetLine
      Src: /src/vlc/modules/demux/subtitle.c:1792,1
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:1796,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:1800,1
    - Dst: realloc_or_free
      Src: /src/vlc/modules/demux/subtitle.c:1804,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/subtitle.c:1808,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 50
    argCount: 5
    argNames:
    - p_obj
    - p_props
    - txt
    - p_subtitle
    - i_idx
    argTypes:
    - vlc_object_t*
    - subs_properties_t*
    - text_t*
    - subtitle_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1817
      start: 1729
    functionDepth: 1
    functionLinenumber: 1729
    functionLinenumberEnd: 1817
    functionName: ParseMPSub
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 0
    functionsReached:
    - TextGetLine
    - sscanf
    - var_GetFloat
    - var_SetFloat
    - strlen
    - memcpy
    - strncmp
    - free
    - llroundf
    - realloc_or_free
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int ParseMPSub( vlc_object_t *p_obj, subs_properties_t *p_props,\n
      \                      text_t *txt, subtitle_t *p_subtitle, size_t i_idx )"
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:1822,1
    - Dst: TextGetLine
      Src: /src/vlc/modules/demux/subtitle.c:1838,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:1842,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/subtitle.c:1843,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:1850,1
    - Dst: vlc_tick_from_HMS
      Src: /src/vlc/modules/demux/subtitle.c:1853,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/subtitle.c:1854,1
    - Dst: vlc_tick_from_HMS
      Src: /src/vlc/modules/demux/subtitle.c:1855,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/subtitle.c:1856,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:1860,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/subtitle.c:1863,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/subtitle.c:1865,1
    - Dst: strcpy
      Src: /src/vlc/modules/demux/subtitle.c:1876,1
    - Dst: toupper
      Src: /src/vlc/modules/demux/subtitle.c:1878,1
    - Dst: isalpha
      Src: /src/vlc/modules/demux/subtitle.c:1881,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:1885,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:1894,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:1896,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:1898,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:1903,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:1911,1
    - Dst: INT64_C
      Src: /src/vlc/modules/demux/subtitle.c:1914,1
    - Dst: INT64_C
      Src: /src/vlc/modules/demux/subtitle.c:1914,1
    - Dst: isalpha
      Src: /src/vlc/modules/demux/subtitle.c:1920,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:1924,1
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:1929,1
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:1935,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:1940,1
    - Dst: TextGetLine
      Src: /src/vlc/modules/demux/subtitle.c:1942,1
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:1946,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:1950,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:1954,1
    - Dst: realloc_or_free
      Src: /src/vlc/modules/demux/subtitle.c:1956,1
    - Dst: strcat
      Src: /src/vlc/modules/demux/subtitle.c:1961,1
    - Dst: isalpha
      Src: /src/vlc/modules/demux/subtitle.c:1968,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/subtitle.c:1983,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:1983,1
    - Dst: toupper
      Src: /src/vlc/modules/demux/subtitle.c:2025,1
    - Dst: toupper
      Src: /src/vlc/modules/demux/subtitle.c:2026,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/subtitle.c:2059,1
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:2060,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 152
    argCount: 5
    argNames:
    - p_obj
    - p_props
    - txt
    - p_subtitle
    - i_idx
    argTypes:
    - vlc_object_t*
    - subs_properties_t*
    - text_t*
    - subtitle_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2062
      start: 1819
    functionDepth: 2
    functionLinenumber: 1819
    functionLinenumberEnd: 2062
    functionName: ParseJSS
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 0
    functionsReached:
    - TextGetLine
    - sscanf
    - isalpha
    - strlen
    - vlc_tick_from_sec
    - INT64_C
    - free
    - strcpy
    - calloc
    - msg_Dbg
    - vlc_tick_from_HMS
    - strcat
    - toupper
    - realloc_or_free
    - malloc
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int ParseJSS( vlc_object_t *p_obj, subs_properties_t *p_props,\n                     text_t
      *txt, subtitle_t *p_subtitle, size_t i_idx )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:2067,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:2068,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:2069,1
    - Dst: TextGetLine
      Src: /src/vlc/modules/demux/subtitle.c:2078,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/subtitle.c:2083,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:2083,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:2087,1
    - Dst: vlc_tick_from_HMS
      Src: /src/vlc/modules/demux/subtitle.c:2090,1
    - Dst: vlc_tick_from_HMS
      Src: /src/vlc/modules/demux/subtitle.c:2091,1
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:2094,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - p_obj
    - p_props
    - txt
    - p_subtitle
    - i_idx
    argTypes:
    - vlc_object_t*
    - subs_properties_t*
    - text_t*
    - subtitle_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2105
      start: 2064
    functionDepth: 2
    functionLinenumber: 2064
    functionLinenumberEnd: 2105
    functionName: ParsePSB
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 0
    functionsReached:
    - TextGetLine
    - sscanf
    - strlen
    - free
    - vlc_tick_from_HMS
    - malloc
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int ParsePSB( vlc_object_t *p_obj, subs_properties_t *p_props,\n                     text_t
      *txt, subtitle_t *p_subtitle, size_t i_idx )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:2111,1
    - Dst: vlc_tick_from_HMS
      Src: /src/vlc/modules/demux/subtitle.c:2113,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/subtitle.c:2114,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:2116,1
    - Dst: vlc_tick_from_HMS
      Src: /src/vlc/modules/demux/subtitle.c:2118,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/subtitle.c:2119,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:2121,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/subtitle.c:2123,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/subtitle.c:2124,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:2126,1
    - Dst: vlc_tick_from_HMS
      Src: /src/vlc/modules/demux/subtitle.c:2128,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:2131,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/subtitle.c:2133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - psz
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2137
      start: 2107
    functionDepth: 2
    functionLinenumber: 2107
    functionLinenumberEnd: 2137
    functionName: ParseRealTime
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 0
    functionsReached:
    - sscanf
    - vlc_tick_from_sec
    - VLC_TICK_FROM_MS
    - vlc_tick_from_HMS
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t ParseRealTime( const char *psz )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:2142,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:2143,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:2144,1
    - Dst: TextGetLine
      Src: /src/vlc/modules/demux/subtitle.c:2149,1
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:2150,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/subtitle.c:2155,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:2155,1
    - Dst: strcasestr
      Src: /src/vlc/modules/demux/subtitle.c:2161,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:2167,1
    - Dst: ParseRealTime
      Src: /src/vlc/modules/demux/subtitle.c:2171,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:2173,1
    - Dst: ParseRealTime
      Src: /src/vlc/modules/demux/subtitle.c:2182,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:2197,1
    - Dst: TextGetLine
      Src: /src/vlc/modules/demux/subtitle.c:2200,1
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:2204,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:2208,1
    - Dst: strcasestr
      Src: /src/vlc/modules/demux/subtitle.c:2211,1
    - Dst: strcasestr
      Src: /src/vlc/modules/demux/subtitle.c:2212,1
    - Dst: TextPreviousLine
      Src: /src/vlc/modules/demux/subtitle.c:2214,1
    - Dst: realloc_or_free
      Src: /src/vlc/modules/demux/subtitle.c:2218,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/subtitle.c:2222,1
    - Dst: memmove
      Src: /src/vlc/modules/demux/subtitle.c:2229,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:2229,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 5
    argNames:
    - p_obj
    - p_props
    - txt
    - p_subtitle
    - i_idx
    argTypes:
    - vlc_object_t*
    - subs_properties_t*
    - text_t*
    - subtitle_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2234
      start: 2139
    functionDepth: 3
    functionLinenumber: 2139
    functionLinenumberEnd: 2234
    functionName: ParseRealText
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 0
    functionsReached:
    - TextGetLine
    - sscanf
    - strlen
    - memcpy
    - free
    - ParseRealTime
    - memmove
    - TextPreviousLine
    - strcasestr
    - realloc_or_free
    - malloc
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int ParseRealText( vlc_object_t *p_obj, subs_properties_t *p_props,\n
      \                         text_t *txt, subtitle_t *p_subtitle, size_t i_idx
      )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:2239,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:2240,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:2241,1
    - Dst: TextGetLine
      Src: /src/vlc/modules/demux/subtitle.c:2249,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/subtitle.c:2254,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:2254,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:2258,1
    - Dst: vlc_tick_from_HMS
      Src: /src/vlc/modules/demux/subtitle.c:2261,1
    - Dst: TextGetLine
      Src: /src/vlc/modules/demux/subtitle.c:2263,1
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:2266,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:2270,1
    - Dst: vlc_tick_from_HMS
      Src: /src/vlc/modules/demux/subtitle.c:2271,1
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:2276,1
    - Dst: strstr
      Src: /src/vlc/modules/demux/subtitle.c:2281,1
    - Dst: memmove
      Src: /src/vlc/modules/demux/subtitle.c:2284,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:2284,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 5
    argNames:
    - p_obj
    - p_props
    - txt
    - p_subtitle
    - i_idx
    argTypes:
    - vlc_object_t*
    - subs_properties_t*
    - text_t*
    - subtitle_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2289
      start: 2236
    functionDepth: 2
    functionLinenumber: 2236
    functionLinenumberEnd: 2289
    functionName: ParseDKS
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 0
    functionsReached:
    - TextGetLine
    - sscanf
    - strlen
    - free
    - memmove
    - vlc_tick_from_HMS
    - strstr
    - malloc
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int ParseDKS( vlc_object_t *p_obj, subs_properties_t *p_props,\n                     text_t
      *txt, subtitle_t *p_subtitle, size_t i_idx )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:2294,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:2295,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:2296,1
    - Dst: TextGetLine
      Src: /src/vlc/modules/demux/subtitle.c:2303,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:2308,1
    - Dst: vlc_tick_from_HMS
      Src: /src/vlc/modules/demux/subtitle.c:2310,1
    - Dst: TextGetLine
      Src: /src/vlc/modules/demux/subtitle.c:2312,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/subtitle.c:2316,1
    - Dst: TextGetLine
      Src: /src/vlc/modules/demux/subtitle.c:2320,1
    - Dst: free
      Src: /src/vlc/modules/demux/subtitle.c:2323,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:2327,1
    - Dst: vlc_tick_from_HMS
      Src: /src/vlc/modules/demux/subtitle.c:2328,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - p_obj
    - p_props
    - txt
    - p_subtitle
    - i_idx
    argTypes:
    - vlc_object_t*
    - subs_properties_t*
    - text_t*
    - subtitle_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2339
      start: 2291
    functionDepth: 2
    functionLinenumber: 2291
    functionLinenumberEnd: 2339
    functionName: ParseSubViewer1
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 0
    functionsReached:
    - TextGetLine
    - sscanf
    - strdup
    - free
    - vlc_tick_from_HMS
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int ParseSubViewer1( vlc_object_t *p_obj, subs_properties_t *p_props,\n
      \                           text_t *txt, subtitle_t *p_subtitle, size_t i_idx
      )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:2344,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:2345,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:2346,1
    - Dst: TextGetLine
      Src: /src/vlc/modules/demux/subtitle.c:2351,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:2358,1
    - Dst: vlc_tick_from_HMS
      Src: /src/vlc/modules/demux/subtitle.c:2362,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/subtitle.c:2363,1
    - Dst: vlc_tick_from_HMS
      Src: /src/vlc/modules/demux/subtitle.c:2365,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/subtitle.c:2366,1
    - Dst: TextGetLine
      Src: /src/vlc/modules/demux/subtitle.c:2377,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:2380,1
    - Dst: realloc_or_free
      Src: /src/vlc/modules/demux/subtitle.c:2389,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/subtitle.c:2393,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 5
    argNames:
    - p_obj
    - p_props
    - txt
    - p_subtitle
    - i_idx
    argTypes:
    - vlc_object_t*
    - subs_properties_t*
    - text_t*
    - subtitle_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2397
      start: 2341
    functionDepth: 2
    functionLinenumber: 2341
    functionLinenumberEnd: 2397
    functionName: ParseCommonSBV
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 0
    functionsReached:
    - TextGetLine
    - sscanf
    - strlen
    - VLC_TICK_FROM_MS
    - memcpy
    - vlc_tick_from_HMS
    - realloc_or_free
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int ParseCommonSBV( vlc_object_t *p_obj, subs_properties_t *p_props,\n
      \                          text_t *txt, subtitle_t *p_subtitle, size_t i_idx
      )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:2402,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:2403,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/subtitle.c:2404,1
    - Dst: var_GetFloat
      Src: /src/vlc/modules/demux/subtitle.c:2422,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/subtitle.c:2425,1
    - Dst: TextGetLine
      Src: /src/vlc/modules/demux/subtitle.c:2437,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/subtitle.c:2443,1
    - Dst: INT64_C
      Src: /src/vlc/modules/demux/subtitle.c:2448,1
    - Dst: INT64_C
      Src: /src/vlc/modules/demux/subtitle.c:2448,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/subtitle.c:2463,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/subtitle.c:2467,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/subtitle.c:2468,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/subtitle.c:2474,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 34
    argCount: 5
    argNames:
    - p_obj
    - p_props
    - txt
    - p_subtitle
    - i_idx
    argTypes:
    - vlc_object_t*
    - subs_properties_t*
    - text_t*
    - subtitle_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2482
      start: 2399
    functionDepth: 1
    functionLinenumber: 2399
    functionLinenumberEnd: 2482
    functionName: ParseSCC
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 0
    functionsReached:
    - TextGetLine
    - var_GetFloat
    - sscanf
    - strchr
    - strdup
    - ARRAY_SIZE
    - vlc_tick_from_sec
    - INT64_C
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int ParseSCC( vlc_object_t *p_obj, subs_properties_t *p_props,\n                     text_t
      *txt, subtitle_t *p_subtitle, size_t i_idx )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/subtitle.c:2492,1
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/demux/subtitle.c:2494,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/demux/subtitle.c:2496,1
    - Dst: strrchr
      Src: /src/vlc/modules/demux/subtitle.c:2500,1
    - Dst: strrchr
      Src: /src/vlc/modules/demux/subtitle.c:2504,1
    - Dst: memrchr
      Src: /src/vlc/modules/demux/subtitle.c:2508,1
    - Dst: memrchr
      Src: /src/vlc/modules/demux/subtitle.c:2512,1
    - Dst: strndup
      Src: /src/vlc/modules/demux/subtitle.c:2516,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/demux/subtitle.c:2521,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - urlstr
    argTypes:
    - char*
    assertStmts:
    - condition: (urlstr != NULL)
      pos:
        line_end: 2491
        line_start: 2491
        source_file: /src/vlc/modules/demux/subtitle.c
    constantsTouched: []
    func_position:
      end: 2523
      start: 2486
    functionDepth: 2
    functionLinenumber: 2486
    functionLinenumberEnd: 2523
    functionName: get_language_from_url
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 1
    functionsReached:
    - strndup
    - vlc_UrlParse
    - assert
    - memrchr
    - strrchr
    - vlc_UrlClean
    linkageType: ''
    returnType: char
    signature: char *get_language_from_url(const char *urlstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/modules/demux/subtitle.c:2528,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:2552,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:2553,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/subtitle.c:2562,1
    - Dst: fprintf
      Src: /src/vlc/modules/demux/subtitle.c:2564,1
    - Dst: subtitle_ParseSubRipTimingValue
      Src: /src/vlc/modules/demux/subtitle.c:2568,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:2570,1
    - Dst: fprintf
      Src: /src/vlc/modules/demux/subtitle.c:2571,1
    - Dst: assert
      Src: /src/vlc/modules/demux/subtitle.c:2572,1
    - Dst: assert
      Src: /src/vlc/modules/demux/subtitle.c:2573,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/subtitle.c:2576,1
    - Dst: fprintf
      Src: /src/vlc/modules/demux/subtitle.c:2578,1
    - Dst: subtitle_ParseSubRipTimingValue
      Src: /src/vlc/modules/demux/subtitle.c:2584,1
    - Dst: assert
      Src: /src/vlc/modules/demux/subtitle.c:2587,1
    - Dst: fprintf
      Src: /src/vlc/modules/demux/subtitle.c:2588,1
    - Dst: assert
      Src: /src/vlc/modules/demux/subtitle.c:2589,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/subtitle.c:2592,1
    - Dst: fprintf
      Src: /src/vlc/modules/demux/subtitle.c:2594,1
    - Dst: subtitle_ParseSubRipTimingValue
      Src: /src/vlc/modules/demux/subtitle.c:2597,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:2598,1
    - Dst: assert
      Src: /src/vlc/modules/demux/subtitle.c:2600,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/subtitle.c:2603,1
    - Dst: fprintf
      Src: /src/vlc/modules/demux/subtitle.c:2605,1
    - Dst: subtitle_ParseSubRipTimingValue
      Src: /src/vlc/modules/demux/subtitle.c:2608,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/subtitle.c:2609,1
    - Dst: assert
      Src: /src/vlc/modules/demux/subtitle.c:2611,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 2571
        line_start: 2571
        source_file: /src/vlc/modules/demux/subtitle.c
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 2586
        line_start: 2586
        source_file: /src/vlc/modules/demux/subtitle.c
    - condition: (ret != VLC_SUCCESS)
      pos:
        line_end: 2599
        line_start: 2599
        source_file: /src/vlc/modules/demux/subtitle.c
    - condition: (value == sized_timing_values_success[i].value)
      pos:
        line_end: 2588
        line_start: 2588
        source_file: /src/vlc/modules/demux/subtitle.c
    - condition: (value == timing_values_success[i].value)
      pos:
        line_end: 2572
        line_start: 2572
        source_file: /src/vlc/modules/demux/subtitle.c
    - condition: (ret != VLC_SUCCESS)
      pos:
        line_end: 2610
        line_start: 2610
        source_file: /src/vlc/modules/demux/subtitle.c
    constantsTouched: []
    func_position:
      end: 2613
      start: 2526
    functionDepth: 3
    functionLinenumber: 2526
    functionLinenumberEnd: 2613
    functionName: test_subtitle_ParseSubRipTimingValue
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 0
    functionsReached:
    - subtitle_ParseSubRipTimingValue
    - assert
    - ARRAY_SIZE
    - fprintf
    - strlen
    linkageType: ''
    returnType: void
    signature: void test_subtitle_ParseSubRipTimingValue(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/modules/demux/subtitle.c:2617,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/subtitle.c:2641,1
    - Dst: fprintf
      Src: /src/vlc/modules/demux/subtitle.c:2643,1
    - Dst: subtitle_ParseSubRipTiming
      Src: /src/vlc/modules/demux/subtitle.c:2649,1
    - Dst: fprintf
      Src: /src/vlc/modules/demux/subtitle.c:2650,1
    - Dst: assert
      Src: /src/vlc/modules/demux/subtitle.c:2651,1
    - Dst: assert
      Src: /src/vlc/modules/demux/subtitle.c:2652,1
    - Dst: assert
      Src: /src/vlc/modules/demux/subtitle.c:2653,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/subtitle.c:2656,1
    - Dst: fprintf
      Src: /src/vlc/modules/demux/subtitle.c:2658,1
    - Dst: subtitle_ParseSubRipTiming
      Src: /src/vlc/modules/demux/subtitle.c:2661,1
    - Dst: assert
      Src: /src/vlc/modules/demux/subtitle.c:2663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 2650
        line_start: 2650
        source_file: /src/vlc/modules/demux/subtitle.c
    - condition: (sub.i_start == timing_values_success[i].left)
      pos:
        line_end: 2651
        line_start: 2651
        source_file: /src/vlc/modules/demux/subtitle.c
    - condition: (sub.i_stop == timing_values_success[i].right)
      pos:
        line_end: 2652
        line_start: 2652
        source_file: /src/vlc/modules/demux/subtitle.c
    - condition: (ret != VLC_SUCCESS)
      pos:
        line_end: 2662
        line_start: 2662
        source_file: /src/vlc/modules/demux/subtitle.c
    constantsTouched: []
    func_position:
      end: 2665
      start: 2615
    functionDepth: 4
    functionLinenumber: 2615
    functionLinenumberEnd: 2665
    functionName: test_subtitle_ParseSubRipTiming
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 0
    functionsReached:
    - fprintf
    - assert
    - ARRAY_SIZE
    - subtitle_ParseSubRipTiming
    linkageType: ''
    returnType: void
    signature: void test_subtitle_ParseSubRipTiming(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_subtitle_ParseSubRipTimingValue
      Src: /src/vlc/modules/demux/subtitle.c:2670,1
    - Dst: test_subtitle_ParseSubRipTiming
      Src: /src/vlc/modules/demux/subtitle.c:2671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2674
      start: 2667
    functionDepth: 5
    functionLinenumber: 2667
    functionLinenumberEnd: 2674
    functionName: main
    functionSourceFile: /src/vlc/modules/demux/subtitle.c
    functionUses: 4
    functionsReached:
    - test_subtitle_ParseSubRipTiming
    - test_subtitle_ParseSubRipTimingValue
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/ty.c:309,1
    - Dst: U32_AT
      Src: /src/vlc/modules/demux/ty.c:312,1
    - Dst: U32_AT
      Src: /src/vlc/modules/demux/ty.c:313,1
    - Dst: U32_AT
      Src: /src/vlc/modules/demux/ty.c:314,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/ty.c:318,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ty.c:323,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/ty.c:325,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/ty.c:326,1
    - Dst: U32_AT
      Src: /src/vlc/modules/demux/ty.c:338,1
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/ty.c:341,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/ty.c:350,1
    - Dst: probe_stream
      Src: /src/vlc/modules/demux/ty.c:352,1
    - Dst: free
      Src: /src/vlc/modules/demux/ty.c:354,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/ty.c:359,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/ty.c:363,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/ty.c:365,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/ty.c:369,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/ty.c:372,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/ty.c:375,1
    - Dst: cc_Init
      Src: /src/vlc/modules/demux/ty.c:380,1
    - Dst: XdsInit
      Src: /src/vlc/modules/demux/ty.c:382,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 385
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/ty.c
    functionUses: 37
    functionsReached:
    - U32_AT
    - cc_Init
    - stream_Size
    - vlc_stream_Peek
    - probe_stream
    - calloc
    - free
    - es_format_Init
    - msg_Dbg
    - es_out_Add
    - msg_Warn
    - XdsInit
    - unlikely
    - vlc_stream_Control
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *p_this)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: get_chunk_header
      Src: /src/vlc/modules/demux/ty.c:425,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/ty.c:449,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/ty.c:453,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/ty.c:454,1
    - Dst: DemuxRecVideo
      Src: /src/vlc/modules/demux/ty.c:473,1
    - Dst: DemuxRecAudio
      Src: /src/vlc/modules/demux/ty.c:479,1
    - Dst: DemuxRecCc
      Src: /src/vlc/modules/demux/ty.c:485,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ty.c:490,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/ty.c:496,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 502
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/ty.c
    functionUses: 6
    functionsReached:
    - block_Release
    - DemuxRecAudio
    - DemuxRecVideo
    - DemuxRecCc
    - msg_Err
    - msg_Dbg
    - get_chunk_header
    - vlc_stream_Block
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/demux/ty.c:514,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/ty.c:521,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/ty.c:522,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/ty.c:529,1
    - Dst: ty_stream_seek_pct
      Src: /src/vlc/modules/demux/ty.c:532,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/ty.c:539,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/ty.c:539,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/ty.c:543,1
    - Dst: ty_stream_seek_time
      Src: /src/vlc/modules/demux/ty.c:546,1
    - Dst: NS_FROM_VLC_TICK
      Src: /src/vlc/modules/demux/ty.c:547,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/ty.c:547,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/ty.c:552,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 557
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/ty.c
    functionUses: 91
    functionsReached:
    - demux_vaControlHelper
    - NS_FROM_VLC_TICK
    - ty_stream_seek_time
    - va_arg
    - ty_stream_seek_pct
    - vlc_stream_Tell
    - VLC_TICK_FROM_NS
    linkageType: ''
    returnType: int
    signature: int Control(demux_t *p_demux, int i_query, va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XdsExit
      Src: /src/vlc/modules/demux/ty.c:565,1
    - Dst: cc_Exit
      Src: /src/vlc/modules/demux/ty.c:566,1
    - Dst: free
      Src: /src/vlc/modules/demux/ty.c:567,1
    - Dst: free
      Src: /src/vlc/modules/demux/ty.c:568,1
    - Dst: free
      Src: /src/vlc/modules/demux/ty.c:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 570
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/ty.c
    functionUses: 121
    functionsReached:
    - free
    - XdsExit
    - cc_Exit
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPESTimestamp
      Src: /src/vlc/modules/demux/ty.c:578,1
    - Dst: FROM_SCALE_NZ
      Src: /src/vlc/modules/demux/ty.c:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 580
    functionName: get_pts
    functionSourceFile: /src/vlc/modules/demux/ty.c
    functionUses: 0
    functionsReached:
    - GetPESTimestamp
    - FROM_SCALE_NZ
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t get_pts( const uint8_t *buf )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/demux/ty.c:591,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - header
    - buffer
    - buffer_len
    - i_search_len
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 595
    functionName: find_es_header
    functionSourceFile: /src/vlc/modules/demux/ty.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int find_es_header( const uint8_t *header,\n                           const
      uint8_t *buffer, size_t buffer_len, size_t i_search_len )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ty.c:613,1
    - Dst: memset
      Src: /src/vlc/modules/demux/ty.c:619,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/ty.c:622,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/ty.c:628,1
    - Dst: get_pts
      Src: /src/vlc/modules/demux/ty.c:644,1
    - Dst: memmove
      Src: /src/vlc/modules/demux/ty.c:649,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ty.c:653,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - p_demux
    - p_block
    - offset
    argTypes:
    - demux_t*
    - block_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 666
    functionName: check_sync_pes
    functionSourceFile: /src/vlc/modules/demux/ty.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    - get_pts
    - msg_Err
    - memmove
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int check_sync_pes( demux_t *p_demux, block_t *p_block, int32_t offset
      )
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/ty.c:675,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ty.c:680,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/ty.c:699,1
    - Dst: find_es_header
      Src: /src/vlc/modules/demux/ty.c:700,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/ty.c:708,1
    - Dst: get_pts
      Src: /src/vlc/modules/demux/ty.c:711,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ty.c:723,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/ty.c:737,1
    - Dst: N_
      Src: /src/vlc/modules/demux/ty.c:786,1
    - Dst: N_
      Src: /src/vlc/modules/demux/ty.c:787,1
    - Dst: N_
      Src: /src/vlc/modules/demux/ty.c:788,1
    - Dst: N_
      Src: /src/vlc/modules/demux/ty.c:789,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/ty.c:795,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/ty.c:797,1
    - Dst: vlc_gettext
      Src: /src/vlc/modules/demux/ty.c:797,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/ty.c:799,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/ty.c:800,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/ty.c:810,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/ty.c:811,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/ty.c:813,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/ty.c:819,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/ty.c:821,1
    - Dst: cc_Flush
      Src: /src/vlc/modules/demux/ty.c:824,1
    - Dst: likely
      Src: /src/vlc/modules/demux/ty.c:829,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/ty.c:830,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/ty.c:832,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 70
    argCount: 3
    argNames:
    - p_demux
    - rec_hdr
    - p_block_in
    argTypes:
    - demux_t*
    - ty_rec_hdr_t*
    - block_t*
    assertStmts:
    - condition: ( rec_hdr->rec_type == 0xe0 )
      pos:
        line_end: 674
        line_start: 674
        source_file: /src/vlc/modules/demux/ty.c
    constantsTouched: []
    func_position:
      end: 834
      start: 668
    functionDepth: 2
    functionLinenumber: 668
    functionLinenumberEnd: 834
    functionName: DemuxRecVideo
    functionSourceFile: /src/vlc/modules/demux/ty.c
    functionUses: 1
    functionsReached:
    - block_Release
    - assert
    - strdup
    - cc_Flush
    - es_format_Clean
    - es_out_Send
    - vlc_gettext
    - N_
    - memcpy
    - get_pts
    - find_es_header
    - block_Alloc
    - msg_Dbg
    - __MIN
    - es_out_Add
    - es_format_Init
    - likely
    - unlikely
    linkageType: ''
    returnType: int
    signature: int DemuxRecVideo( demux_t *p_demux, ty_rec_hdr_t *rec_hdr, block_t
      *p_block_in )
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/ty.c:841,1
    - Dst: fprintf
      Src: /src/vlc/modules/demux/ty.c:846,1
    - Dst: fprintf
      Src: /src/vlc/modules/demux/ty.c:848,1
    - Dst: fprintf
      Src: /src/vlc/modules/demux/ty.c:849,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ty.c:863,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/ty.c:868,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/ty.c:872,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/ty.c:877,1
    - Dst: find_es_header
      Src: /src/vlc/modules/demux/ty.c:884,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/ty.c:885,1
    - Dst: find_es_header
      Src: /src/vlc/modules/demux/ty.c:887,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/ty.c:888,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/ty.c:892,1
    - Dst: get_pts
      Src: /src/vlc/modules/demux/ty.c:896,1
    - Dst: find_es_header
      Src: /src/vlc/modules/demux/ty.c:923,1
    - Dst: get_pts
      Src: /src/vlc/modules/demux/ty.c:935,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/ty.c:938,1
    - Dst: check_sync_pes
      Src: /src/vlc/modules/demux/ty.c:946,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/ty.c:950,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ty.c:954,1
    - Dst: find_es_header
      Src: /src/vlc/modules/demux/ty.c:981,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ty.c:985,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ty.c:996,1
    - Dst: check_sync_pes
      Src: /src/vlc/modules/demux/ty.c:1000,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/ty.c:1003,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/ty.c:1019,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/ty.c:1025,1
    - Dst: likely
      Src: /src/vlc/modules/demux/ty.c:1028,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/ty.c:1029,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/ty.c:1031,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 83
    argCount: 3
    argNames:
    - p_demux
    - rec_hdr
    - p_block_in
    argTypes:
    - demux_t*
    - ty_rec_hdr_t*
    - block_t*
    assertStmts:
    - condition: ( rec_hdr->rec_type == 0xc0 )
      pos:
        line_end: 840
        line_start: 840
        source_file: /src/vlc/modules/demux/ty.c
    constantsTouched: []
    func_position:
      end: 1033
      start: 835
    functionDepth: 3
    functionLinenumber: 835
    functionLinenumberEnd: 1033
    functionName: DemuxRecAudio
    functionSourceFile: /src/vlc/modules/demux/ty.c
    functionUses: 1
    functionsReached:
    - block_Release
    - assert
    - ARRAY_SIZE
    - es_out_Send
    - fprintf
    - check_sync_pes
    - memcpy
    - get_pts
    - find_es_header
    - msg_Err
    - msg_Dbg
    - likely
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int DemuxRecAudio( demux_t *p_demux, ty_rec_hdr_t *rec_hdr, block_t
      *p_block_in )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/demux/ty.c:1041,1
    - Dst: DemuxDecodeXds
      Src: /src/vlc/modules/demux/ty.c:1052,1
    - Dst: cc_AppendData
      Src: /src/vlc/modules/demux/ty.c:1054,1
    - Dst: CC_PKT_BYTE0
      Src: /src/vlc/modules/demux/ty.c:1054,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - p_demux
    - rec_hdr
    - p_block_in
    argTypes:
    - demux_t*
    - ty_rec_hdr_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1035
    functionDepth: 1
    functionLinenumber: 1035
    functionLinenumberEnd: 1055
    functionName: DemuxRecCc
    functionSourceFile: /src/vlc/modules/demux/ty.c
    functionUses: 1
    functionsReached:
    - DemuxDecodeXds
    - cc_AppendData
    - block_Release
    - CC_PKT_BYTE0
    linkageType: ''
    returnType: bool
    signature: bool DemuxRecCc( demux_t *p_demux, ty_rec_hdr_t *rec_hdr, block_t *p_block_in
      )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/ty.c:1072,1
    - Dst: parse_master
      Src: /src/vlc/modules/demux/ty.c:1073,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/ty.c:1080,1
    - Dst: get_chunk_header
      Src: /src/vlc/modules/demux/ty.c:1087,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ty.c:1092,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ty.c:1093,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/ty.c:1101,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - p_demux
    - seek_pct
    argTypes:
    - demux_t*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1058
    functionDepth: 1
    functionLinenumber: 1058
    functionLinenumberEnd: 1108
    functionName: ty_stream_seek_pct
    functionSourceFile: /src/vlc/modules/demux/ty.c
    functionUses: 1
    functionsReached:
    - vlc_stream_Seek
    - parse_master
    - msg_Dbg
    - get_chunk_header
    linkageType: ''
    returnType: int
    signature: int ty_stream_seek_pct(demux_t *p_demux, double seek_pct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/demux/ty.c:1124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - h
    argTypes:
    - xds_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1125
    functionName: XdsInit
    functionSourceFile: /src/vlc/modules/demux/ty.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void XdsInit( xds_t *h )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/ty.c:1129,1
    - Dst: free
      Src: /src/vlc/modules/demux/ty.c:1130,1
    - Dst: free
      Src: /src/vlc/modules/demux/ty.c:1131,1
    - Dst: free
      Src: /src/vlc/modules/demux/ty.c:1134,1
    - Dst: free
      Src: /src/vlc/modules/demux/ty.c:1135,1
    - Dst: free
      Src: /src/vlc/modules/demux/ty.c:1137,1
    - Dst: free
      Src: /src/vlc/modules/demux/ty.c:1138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - h
    argTypes:
    - xds_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1139
    functionName: XdsExit
    functionSourceFile: /src/vlc/modules/demux/ty.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void XdsExit( xds_t *h )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: E2
      Src: /src/vlc/modules/demux/ty.c:1148,1
    - Dst: E2
      Src: /src/vlc/modules/demux/ty.c:1149,1
    - Dst: E2
      Src: /src/vlc/modules/demux/ty.c:1150,1
    - Dst: E2
      Src: /src/vlc/modules/demux/ty.c:1151,1
    - Dst: E2
      Src: /src/vlc/modules/demux/ty.c:1152,1
    - Dst: E2
      Src: /src/vlc/modules/demux/ty.c:1153,1
    - Dst: E2
      Src: /src/vlc/modules/demux/ty.c:1154,1
    - Dst: E2
      Src: /src/vlc/modules/demux/ty.c:1155,1
    - Dst: E2
      Src: /src/vlc/modules/demux/ty.c:1156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - dst
    - p_src
    - i_src
    argTypes:
    - char[]
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1164
    functionName: XdsStringUtf8
    functionSourceFile: /src/vlc/modules/demux/ty.c
    functionUses: 0
    functionsReached:
    - E2
    linkageType: ''
    returnType: void
    signature: void XdsStringUtf8( char dst[2*32+1], const uint8_t *p_src, size_t
      i_src )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - u1
    - ','
    - u2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1148
    functionName: E2
    functionSourceFile: /src/vlc/modules/demux/ty.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: E2( c, u1, u2 )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/demux/ty.c:1167,1
    - Dst: free
      Src: /src/vlc/modules/demux/ty.c:1172,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/ty.c:1174,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - h
    - ppsz_dst
    - psz_new
    argTypes:
    - xds_t*
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1180
    functionName: XdsChangeString
    functionSourceFile: /src/vlc/modules/demux/ty.c
    functionUses: 0
    functionsReached:
    - free
    - strcmp
    - strdup
    linkageType: ''
    returnType: bool
    signature: bool XdsChangeString( xds_t *h, char **ppsz_dst, const char *psz_new
      )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: XdsStringUtf8
      Src: /src/vlc/modules/demux/ty.c:1191,1
    - Dst: XdsChangeString
      Src: /src/vlc/modules/demux/ty.c:1192,1
    - Dst: XdsChangeString
      Src: /src/vlc/modules/demux/ty.c:1214,1
    - Dst: XdsChangeString
      Src: /src/vlc/modules/demux/ty.c:1235,1
    - Dst: assert
      Src: /src/vlc/modules/demux/ty.c:1245,1
    - Dst: XdsChangeString
      Src: /src/vlc/modules/demux/ty.c:1247,1
    - Dst: fprintf
      Src: /src/vlc/modules/demux/ty.c:1257,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - h
    - pk
    argTypes:
    - xds_t*
    - xds_packet_t*
    assertStmts:
    - condition: ( i_rating == 0x18 )
      pos:
        line_end: 1244
        line_start: 1244
        source_file: /src/vlc/modules/demux/ty.c
    constantsTouched: []
    func_position:
      end: 1261
      start: 1182
    functionDepth: 1
    functionLinenumber: 1182
    functionLinenumberEnd: 1261
    functionName: XdsDecodeCurrentFuture
    functionSourceFile: /src/vlc/modules/demux/ty.c
    functionUses: 0
    functionsReached:
    - fprintf
    - XdsChangeString
    - assert
    - XdsStringUtf8
    linkageType: ''
    returnType: void
    signature: void XdsDecodeCurrentFuture( xds_t *h, xds_packet_t *pk )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: XdsStringUtf8
      Src: /src/vlc/modules/demux/ty.c:1273,1
    - Dst: XdsChangeString
      Src: /src/vlc/modules/demux/ty.c:1274,1
    - Dst: XdsStringUtf8
      Src: /src/vlc/modules/demux/ty.c:1285,1
    - Dst: XdsChangeString
      Src: /src/vlc/modules/demux/ty.c:1286,1
    - Dst: XdsStringUtf8
      Src: /src/vlc/modules/demux/ty.c:1293,1
    - Dst: XdsChangeString
      Src: /src/vlc/modules/demux/ty.c:1294,1
    - Dst: XdsChangeString
      Src: /src/vlc/modules/demux/ty.c:1302,1
    - Dst: fprintf
      Src: /src/vlc/modules/demux/ty.c:1317,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - h
    - pk
    argTypes:
    - xds_t*
    - xds_packet_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1263
    functionDepth: 1
    functionLinenumber: 1263
    functionLinenumberEnd: 1321
    functionName: XdsDecodeChannel
    functionSourceFile: /src/vlc/modules/demux/ty.c
    functionUses: 0
    functionsReached:
    - fprintf
    - XdsChangeString
    - XdsStringUtf8
    linkageType: ''
    returnType: void
    signature: void XdsDecodeChannel( xds_t *h, xds_packet_t *pk )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: XdsDecodeCurrentFuture
      Src: /src/vlc/modules/demux/ty.c:1329,1
    - Dst: XdsDecodeChannel
      Src: /src/vlc/modules/demux/ty.c:1332,1
    - Dst: fprintf
      Src: /src/vlc/modules/demux/ty.c:1336,1
    - Dst: fprintf
      Src: /src/vlc/modules/demux/ty.c:1341,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - h
    - pk
    argTypes:
    - xds_t*
    - xds_packet_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1323
    functionDepth: 2
    functionLinenumber: 1323
    functionLinenumberEnd: 1348
    functionName: XdsDecode
    functionSourceFile: /src/vlc/modules/demux/ty.c
    functionUses: 0
    functionsReached:
    - fprintf
    - XdsDecodeChannel
    - XdsDecodeCurrentFuture
    linkageType: ''
    returnType: void
    signature: void XdsDecode( xds_t *h, xds_packet_t *pk )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: XdsDecode
      Src: /src/vlc/modules/demux/ty.c:1403,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 3
    argNames:
    - h
    - d1
    - d2
    argTypes:
    - xds_t*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1350
    functionDepth: 3
    functionLinenumber: 1350
    functionLinenumberEnd: 1429
    functionName: XdsParse
    functionSourceFile: /src/vlc/modules/demux/ty.c
    functionUses: 0
    functionsReached:
    - XdsDecode
    linkageType: ''
    returnType: void
    signature: void XdsParse( xds_t *h, uint8_t d1, uint8_t d2 )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: XdsParse
      Src: /src/vlc/modules/demux/ty.c:1435,1
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/demux/ty.c:1442,1
    - Dst: vlc_meta_SetPublisher
      Src: /src/vlc/modules/demux/ty.c:1444,1
    - Dst: vlc_meta_SetTitle
      Src: /src/vlc/modules/demux/ty.c:1446,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/demux/ty.c:1448,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/ty.c:1449,1
    - Dst: vlc_meta_Delete
      Src: /src/vlc/modules/demux/ty.c:1450,1
    - Dst: vlc_epg_New
      Src: /src/vlc/modules/demux/ty.c:1455,1
    - Dst: vlc_epg_event_New
      Src: /src/vlc/modules/demux/ty.c:1458,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/ty.c:1462,1
    - Dst: vlc_epg_AddEvent
      Src: /src/vlc/modules/demux/ty.c:1463,1
    - Dst: vlc_epg_event_Delete
      Src: /src/vlc/modules/demux/ty.c:1464,1
    - Dst: vlc_epg_SetCurrent
      Src: /src/vlc/modules/demux/ty.c:1468,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/ty.c:1474,1
    - Dst: vlc_epg_Delete
      Src: /src/vlc/modules/demux/ty.c:1476,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 3
    argNames:
    - p_demux
    - d1
    - d2
    argTypes:
    - demux_t*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1431
    functionDepth: 4
    functionLinenumber: 1431
    functionLinenumberEnd: 1481
    functionName: DemuxDecodeXds
    functionSourceFile: /src/vlc/modules/demux/ty.c
    functionUses: 1
    functionsReached:
    - vlc_meta_Delete
    - vlc_epg_New
    - vlc_meta_SetTitle
    - es_out_Control
    - strdup
    - vlc_epg_Delete
    - vlc_meta_New
    - vlc_epg_event_New
    - vlc_epg_SetCurrent
    - vlc_epg_event_Delete
    - vlc_meta_SetPublisher
    - XdsParse
    - vlc_epg_AddEvent
    - vlc_meta_SetExtra
    linkageType: ''
    returnType: void
    signature: void DemuxDecodeXds( demux_t *p_demux, uint8_t d1, uint8_t d2 )
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/ty.c:1492,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ty.c:1501,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ty.c:1507,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/ty.c:1510,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/ty.c:1511,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/ty.c:1514,1
    - Dst: parse_master
      Src: /src/vlc/modules/demux/ty.c:1517,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ty.c:1522,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/ty.c:1526,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/ty.c:1527,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/ty.c:1530,1
    - Dst: parse_master
      Src: /src/vlc/modules/demux/ty.c:1533,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ty.c:1544,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/ty.c:1558,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/ty.c:1559,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/ty.c:1562,1
    - Dst: parse_master
      Src: /src/vlc/modules/demux/ty.c:1565,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/ty.c:1571,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ty.c:1577,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ty.c:1582,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/ty.c:1584,1
    - Dst: get_chunk_header
      Src: /src/vlc/modules/demux/ty.c:1590,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/ty.c:1593,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/ty.c:1595,1
    - Dst: get_chunk_header
      Src: /src/vlc/modules/demux/ty.c:1598,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ty.c:1603,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ty.c:1610,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ty.c:1613,1
    - Dst: ty_stream_seek_time
      Src: /src/vlc/modules/demux/ty.c:1621,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/ty.c:1629,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 87
    argCount: 2
    argNames:
    - p_demux
    - l_seek_time
    argTypes:
    - demux_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1486
    functionDepth: 1
    functionLinenumber: 1486
    functionLinenumberEnd: 1636
    functionName: ty_stream_seek_time
    functionSourceFile: /src/vlc/modules/demux/ty.c
    functionUses: 2
    functionsReached:
    - ARRAY_SIZE
    - ty_stream_seek_time
    - msg_Err
    - vlc_stream_Tell
    - vlc_stream_Read
    - msg_Dbg
    - get_chunk_header
    - vlc_stream_Seek
    - parse_master
    linkageType: ''
    returnType: int
    signature: int ty_stream_seek_time(demux_t *p_demux, uint64_t l_seek_time)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/ty.c:1646,1
    - Dst: free
      Src: /src/vlc/modules/demux/ty.c:1656,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/ty.c:1660,1
    - Dst: U32_AT
      Src: /src/vlc/modules/demux/ty.c:1663,1
    - Dst: U32_AT
      Src: /src/vlc/modules/demux/ty.c:1664,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/ty.c:1684,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/ty.c:1691,1
    - Dst: U64_AT
      Src: /src/vlc/modules/demux/ty.c:1693,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/ty.c:1695,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/ty.c:1696,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/ty.c:1699,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/ty.c:1702,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ty.c:1713,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ty.c:1717,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/ty.c:1722,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1642
    functionDepth: 1
    functionLinenumber: 1642
    functionLinenumberEnd: 1723
    functionName: parse_master
    functionSourceFile: /src/vlc/modules/demux/ty.c
    functionUses: 2
    functionsReached:
    - U32_AT
    - U64_AT
    - memcpy
    - msg_Err
    - free
    - calloc
    - vlc_stream_Read
    - msg_Dbg
    - vlc_stream_Seek
    - vlc_stream_Tell
    linkageType: ''
    returnType: int
    signature: int parse_master(demux_t *p_demux)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/ty.c:1741,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/ty.c:1743,1
    - Dst: analyze_chunk
      Src: /src/vlc/modules/demux/ty.c:1750,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/ty.c:1763,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/ty.c:1767,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/ty.c:1771,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1775
      start: 1733
    functionDepth: 1
    functionLinenumber: 1733
    functionLinenumberEnd: 1775
    functionName: probe_stream
    functionSourceFile: /src/vlc/modules/demux/ty.c
    functionUses: 1
    functionsReached:
    - analyze_chunk
    - vlc_stream_Peek
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int probe_stream(demux_t *p_demux)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: U32_AT
      Src: /src/vlc/modules/demux/ty.c:1790,1
    - Dst: parse_chunk_headers
      Src: /src/vlc/modules/demux/ty.c:1804,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/ty.c:1805,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ty.c:1834,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ty.c:1839,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ty.c:1843,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ty.c:1848,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ty.c:1855,1
    - Dst: find_es_header
      Src: /src/vlc/modules/demux/ty.c:1866,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ty.c:1876,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ty.c:1881,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ty.c:1891,1
    - Dst: free
      Src: /src/vlc/modules/demux/ty.c:1896,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 78
    argCount: 2
    argNames:
    - p_demux
    - p_chunk
    argTypes:
    - demux_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1898
      start: 1780
    functionDepth: 1
    functionLinenumber: 1780
    functionLinenumberEnd: 1898
    functionName: analyze_chunk
    functionSourceFile: /src/vlc/modules/demux/ty.c
    functionUses: 1
    functionsReached:
    - U32_AT
    - find_es_header
    - free
    - parse_chunk_headers
    - msg_Dbg
    - unlikely
    linkageType: ''
    returnType: int
    signature: int analyze_chunk(demux_t *p_demux, const uint8_t *p_chunk)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ty.c:1911,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/ty.c:1915,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/ty.c:1921,1
    - Dst: U32_AT
      Src: /src/vlc/modules/demux/ty.c:1924,1
    - Dst: U32_AT
      Src: /src/vlc/modules/demux/ty.c:1932,1
    - Dst: parse_master
      Src: /src/vlc/modules/demux/ty.c:1935,1
    - Dst: get_chunk_header
      Src: /src/vlc/modules/demux/ty.c:1937,1
    - Dst: free
      Src: /src/vlc/modules/demux/ty.c:1966,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/ty.c:1970,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/ty.c:1974,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/ty.c:1977,1
    - Dst: free
      Src: /src/vlc/modules/demux/ty.c:1978,1
    - Dst: parse_chunk_headers
      Src: /src/vlc/modules/demux/ty.c:1983,1
    - Dst: free
      Src: /src/vlc/modules/demux/ty.c:1984,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/ty.c:1985,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ty.c:1994,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1997
      start: 1902
    functionDepth: 2
    functionLinenumber: 1902
    functionLinenumberEnd: 1997
    functionName: get_chunk_header
    functionSourceFile: /src/vlc/modules/demux/ty.c
    functionUses: 4
    functionsReached:
    - U32_AT
    - vlc_stream_Peek
    - free
    - vlc_stream_Read
    - msg_Dbg
    - parse_chunk_headers
    - get_chunk_header
    - parse_master
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int get_chunk_header(demux_t *p_demux)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/ty.c:2007,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/ty.c:2008,1
    - Dst: free
      Src: /src/vlc/modules/demux/ty.c:2040,1
    - Dst: U64_AT
      Src: /src/vlc/modules/demux/ty.c:2045,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 3
    argNames:
    - p_buf
    - i_num_recs
    - pi_payload_size
    argTypes:
    - uint8_t*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2050
      start: 2000
    functionDepth: 1
    functionLinenumber: 2000
    functionLinenumberEnd: 2050
    functionName: parse_chunk_headers
    functionSourceFile: /src/vlc/modules/demux/ty.c
    functionUses: 2
    functionsReached:
    - free
    - unlikely
    - vlc_alloc
    - U64_AT
    linkageType: ''
    returnType: ty_rec_hdr_t
    signature: "ty_rec_hdr_t *parse_chunk_headers( const uint8_t *p_buf,\n                                          size_t
      i_num_recs, int *pi_payload_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/smf.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 56
    functionName: ReadVarInt
    functionSourceFile: /src/vlc/modules/demux/smf.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Read
    linkageType: ''
    returnType: int32_t
    signature: int32_t ReadVarInt (stream_t *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/smf.c:75,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/smf.c:75,1
    - Dst: ReadVarInt
      Src: /src/vlc/modules/demux/smf.c:84,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/smf.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - s
    - track
    argTypes:
    - stream_t*
    - mtrk_t*
    assertStmts:
    - condition: (vlc_stream_Tell (s) == track->start + track->offset)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/vlc/modules/demux/smf.c
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 91
    functionName: ReadDeltaTime
    functionSourceFile: /src/vlc/modules/demux/smf.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Tell
    - assert
    - ReadVarInt
    linkageType: ''
    returnType: int
    signature: int ReadDeltaTime (stream_t *s, mtrk_t *track)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/smf.c:121,1
    - Dst: ReadVarInt
      Src: /src/vlc/modules/demux/smf.c:124,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/smf.c:128,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/smf.c:130,1
    - Dst: free
      Src: /src/vlc/modules/demux/smf.c:132,1
    - Dst: EnsureUTF8
      Src: /src/vlc/modules/demux/smf.c:144,1
    - Dst: msg_Info
      Src: /src/vlc/modules/demux/smf.c:145,1
    - Dst: EnsureUTF8
      Src: /src/vlc/modules/demux/smf.c:149,1
    - Dst: msg_Info
      Src: /src/vlc/modules/demux/smf.c:150,1
    - Dst: EnsureUTF8
      Src: /src/vlc/modules/demux/smf.c:154,1
    - Dst: msg_Info
      Src: /src/vlc/modules/demux/smf.c:155,1
    - Dst: EnsureUTF8
      Src: /src/vlc/modules/demux/smf.c:159,1
    - Dst: msg_Info
      Src: /src/vlc/modules/demux/smf.c:160,1
    - Dst: EnsureUTF8
      Src: /src/vlc/modules/demux/smf.c:168,1
    - Dst: msg_Info
      Src: /src/vlc/modules/demux/smf.c:169,1
    - Dst: EnsureUTF8
      Src: /src/vlc/modules/demux/smf.c:173,1
    - Dst: msg_Info
      Src: /src/vlc/modules/demux/smf.c:174,1
    - Dst: EnsureUTF8
      Src: /src/vlc/modules/demux/smf.c:178,1
    - Dst: msg_Info
      Src: /src/vlc/modules/demux/smf.c:179,1
    - Dst: EnsureUTF8
      Src: /src/vlc/modules/demux/smf.c:183,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/smf.c:184,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/smf.c:188,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/smf.c:190,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/smf.c:201,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/smf.c:206,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/smf.c:212,1
    - Dst: date_Change
      Src: /src/vlc/modules/demux/smf.c:215,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/smf.c:223,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/smf.c:237,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/smf.c:241,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/smf.c:246,1
    - Dst: free
      Src: /src/vlc/modules/demux/smf.c:250,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 92
    argCount: 2
    argNames:
    - p_demux
    - tr
    argTypes:
    - demux_t*
    - mtrk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 252
    functionName: HandleMeta
    functionSourceFile: /src/vlc/modules/demux/smf.c
    functionUses: 0
    functionsReached:
    - EnsureUTF8
    - free
    - msg_Info
    - ReadVarInt
    - vlc_stream_Read
    - msg_Dbg
    - msg_Err
    - msg_Warn
    - date_Change
    - vlc_stream_Tell
    - malloc
    linkageType: ''
    returnType: int
    signature: int HandleMeta (demux_t *p_demux, mtrk_t *tr)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/smf.c:263,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/smf.c:264,1
    - Dst: ReadVarInt
      Src: /src/vlc/modules/demux/smf.c:278,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/smf.c:282,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/demux/smf.c:285,1
    - Dst: HandleMeta
      Src: /src/vlc/modules/demux/smf.c:292,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/smf.c:324,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/smf.c:331,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/smf.c:338,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/smf.c:344,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/smf.c:349,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/smf.c:351,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/smf.c:353,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/smf.c:360,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/smf.c:364,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 84
    argCount: 3
    argNames:
    - p_demux
    - tr
    - out
    argTypes:
    - demux_t*
    - mtrk_t*
    - es_out_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 366
    functionName: HandleMessage
    functionSourceFile: /src/vlc/modules/demux/smf.c
    functionUses: 0
    functionsReached:
    - block_Release
    - block_Realloc
    - HandleMeta
    - es_out_Send
    - msg_Err
    - ReadVarInt
    - vlc_stream_Read
    - block_Alloc
    - date_Get
    - vlc_stream_Block
    - vlc_stream_Seek
    - vlc_stream_Tell
    linkageType: ''
    returnType: int
    signature: int HandleMessage (demux_t *p_demux, mtrk_t *tr, es_out_t *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: date_Init
      Src: /src/vlc/modules/demux/smf.c:374,1
    - Dst: date_Set
      Src: /src/vlc/modules/demux/smf.c:375,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/smf.c:390,1
    - Dst: ReadDeltaTime
      Src: /src/vlc/modules/demux/smf.c:391,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/smf.c:393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 368
    functionDepth: 3
    functionLinenumber: 368
    functionLinenumberEnd: 399
    functionName: SeekSet0
    functionSourceFile: /src/vlc/modules/demux/smf.c
    functionUses: 2
    functionsReached:
    - date_Set
    - date_Init
    - msg_Err
    - vlc_stream_Seek
    - ReadDeltaTime
    linkageType: ''
    returnType: int
    signature: int SeekSet0 (demux_t *demux)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HandleMessage
      Src: /src/vlc/modules/demux/smf.c:413,1
    - Dst: ReadDeltaTime
      Src: /src/vlc/modules/demux/smf.c:414,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/smf.c:416,1
    - Dst: date_Increment
      Src: /src/vlc/modules/demux/smf.c:426,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - demux
    - pulse
    - out
    argTypes:
    - demux_t*
    - uint64_t*
    - es_out_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 401
    functionDepth: 4
    functionLinenumber: 401
    functionLinenumberEnd: 429
    functionName: ReadEvents
    functionSourceFile: /src/vlc/modules/demux/smf.c
    functionUses: 0
    functionsReached:
    - date_Increment
    - HandleMessage
    - ReadDeltaTime
    - msg_Err
    linkageType: ''
    returnType: int
    signature: "int ReadEvents (demux_t *demux, uint64_t *restrict pulse,\n                       es_out_t
      *out)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: date_Get
      Src: /src/vlc/modules/demux/smf.c:443,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/smf.c:445,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/smf.c:446,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/smf.c:452,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/smf.c:453,1
    - Dst: ReadEvents
      Src: /src/vlc/modules/demux/smf.c:462,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 438
    functionDepth: 5
    functionLinenumber: 438
    functionLinenumberEnd: 470
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/smf.c
    functionUses: 6
    functionsReached:
    - es_out_Send
    - ReadEvents
    - block_Alloc
    - date_Get
    - unlikely
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int Demux (demux_t *demux)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: date_Get
      Src: /src/vlc/modules/demux/smf.c:477,1
    - Dst: SeekSet0
      Src: /src/vlc/modules/demux/smf.c:477,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/smf.c:483,1
    - Dst: ReadEvents
      Src: /src/vlc/modules/demux/smf.c:487,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/smf.c:492,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - demux
    - pts
    argTypes:
    - demux_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 472
    functionDepth: 5
    functionLinenumber: 472
    functionLinenumberEnd: 494
    functionName: Seek
    functionSourceFile: /src/vlc/modules/demux/smf.c
    functionUses: 69
    functionsReached:
    - ReadEvents
    - SeekSet0
    - date_Get
    linkageType: ''
    returnType: int
    signature: int Seek (demux_t *demux, vlc_tick_t pts)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/demux/smf.c:506,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/smf.c:511,1
    - Dst: Seek
      Src: /src/vlc/modules/demux/smf.c:515,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/smf.c:515,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/smf.c:517,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/smf.c:520,1
    - Dst: Seek
      Src: /src/vlc/modules/demux/smf.c:523,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/smf.c:523,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/smf.c:529,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 535
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/smf.c
    functionUses: 92
    functionsReached:
    - demux_vaControlHelper
    - va_arg
    - Seek
    linkageType: ''
    returnType: int
    signature: int Control (demux_t *demux, int i_query, va_list args)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/smf.c:549,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/smf.c:553,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/smf.c:553,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/smf.c:555,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/smf.c:557,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/smf.c:558,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/smf.c:568,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/smf.c:572,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/smf.c:577,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/smf.c:580,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/smf.c:585,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/smf.c:589,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/smf.c:594,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/smf.c:604,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/smf.c:604,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/smf.c:610,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/smf.c:614,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/smf.c:618,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/smf.c:622,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/smf.c:625,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/smf.c:632,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/smf.c:635,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/smf.c:638,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/smf.c:639,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/smf.c:643,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/smf.c:660,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/smf.c:662,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/smf.c:668,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/smf.c:671,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/smf.c:675,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/smf.c:678,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/smf.c:679,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/smf.c:681,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/smf.c:681,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/smf.c:685,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/smf.c:686,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/smf.c:690,1
    - Dst: SeekSet0
      Src: /src/vlc/modules/demux/smf.c:692,1
    - Dst: ReadEvents
      Src: /src/vlc/modules/demux/smf.c:696,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/smf.c:699,1
    - Dst: SeekSet0
      Src: /src/vlc/modules/demux/smf.c:702,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/smf.c:706,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/smf.c:710,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/smf.c:711,1
    - Dst: free
      Src: /src/vlc/modules/demux/smf.c:719,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 112
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 540
    functionDepth: 5
    functionLinenumber: 540
    functionLinenumberEnd: 721
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/smf.c
    functionUses: 37
    functionsReached:
    - SeekSet0
    - ReadEvents
    - es_format_Init
    - memcmp
    - vlc_stream_Control
    - msg_Err
    - vlc_stream_Read
    - msg_Dbg
    - date_Get
    - GetDWBE
    - vlc_stream_Seek
    - vlc_stream_Tell
    - GetWBE
    - vlc_stream_Peek
    - free
    - GetDWLE
    - es_out_Add
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open (vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/smf.c:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 732
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/smf.c
    functionUses: 121
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void Close (vlc_object_t * p_this)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/tta.c:93,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/tta.c:96,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/tta.c:102,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/tta.c:106,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/tta.c:112,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/tta.c:119,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/tta.c:120,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/tta.c:121,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/tta.c:122,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/tta.c:126,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/tta.c:130,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/tta.c:143,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/tta.c:150,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/tta.c:152,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/tta.c:156,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/tta.c:161,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/tta.c:165,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/tta.c:169,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/tta.c:170,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/tta.c:174,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/tta.c:178,1
    - Dst: Close
      Src: /src/vlc/modules/demux/tta.c:179,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 69
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 181
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/tta.c
    functionUses: 37
    functionsReached:
    - vlc_stream_Peek
    - es_format_Clean
    - GetWLE
    - memcpy
    - msg_Err
    - calloc
    - vlc_stream_Read
    - GetDWLE
    - msg_Warn
    - es_out_Add
    - es_format_Init
    - Close
    - unlikely
    - malloc
    - memcmp
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t * p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/tta.c:191,1
    - Dst: free
      Src: /src/vlc/modules/demux/tta.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 193
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/tta.c
    functionUses: 122
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t * p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/tta.c:208,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/tta.c:212,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/tta.c:216,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/tta.c:218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 221
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/tta.c
    functionUses: 6
    functionsReached:
    - vlc_tick_from_sec
    - es_out_Send
    - es_out_SetPCR
    - vlc_stream_Block
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_vaControl
      Src: /src/vlc/modules/demux/tta.c:235,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/tta.c:238,1
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/tta.c:239,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/tta.c:242,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/tta.c:251,1
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/tta.c:252,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/tta.c:261,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/tta.c:269,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/tta.c:270,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/tta.c:274,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/tta.c:274,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/tta.c:281,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 287
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/tta.c
    functionUses: 94
    functionsReached:
    - demux_vaControlHelper
    - stream_Size
    - vlc_tick_from_sec
    - va_arg
    - vlc_stream_vaControl
    - vlc_stream_Seek
    - vlc_stream_Tell
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: peek_Readline
      Src: /src/vlc/modules/demux/vobsub.c:126,1
    - Dst: strcasestr
      Src: /src/vlc/modules/demux/vobsub.c:128,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/vobsub.c:130,1
    - Dst: free
      Src: /src/vlc/modules/demux/vobsub.c:131,1
    - Dst: free
      Src: /src/vlc/modules/demux/vobsub.c:134,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/vobsub.c:138,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/vobsub.c:143,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/vobsub.c:144,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/vobsub.c:149,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/vobsub.c:150,1
    - Dst: TextLoad
      Src: /src/vlc/modules/demux/vobsub.c:157,1
    - Dst: ParseVobSubIDX
      Src: /src/vlc/modules/demux/vobsub.c:160,1
    - Dst: TextUnload
      Src: /src/vlc/modules/demux/vobsub.c:163,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/demux/vobsub.c:176,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/vobsub.c:178,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/vobsub.c:182,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/vobsub.c:183,1
    - Dst: vlc_stream_NewURL
      Src: /src/vlc/modules/demux/vobsub.c:186,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/vobsub.c:189,1
    - Dst: free
      Src: /src/vlc/modules/demux/vobsub.c:191,1
    - Dst: free
      Src: /src/vlc/modules/demux/vobsub.c:194,1
    - Dst: free
      Src: /src/vlc/modules/demux/vobsub.c:204,1
    - Dst: free
      Src: /src/vlc/modules/demux/vobsub.c:205,1
    - Dst: free
      Src: /src/vlc/modules/demux/vobsub.c:206,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 61
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 209
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/vobsub.c
    functionUses: 37
    functionsReached:
    - TextLoad
    - strdup
    - TextUnload
    - VLC_TICK_FROM_SEC
    - strlen
    - memcpy
    - msg_Err
    - free
    - msg_Dbg
    - peek_Readline
    - strcasestr
    - ParseVobSubIDX
    - unlikely
    - malloc
    - vlc_stream_NewURL
    linkageType: ''
    returnType: int
    signature: int Open ( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/vobsub.c:220,1
    - Dst: free
      Src: /src/vlc/modules/demux/vobsub.c:224,1
    - Dst: free
      Src: /src/vlc/modules/demux/vobsub.c:225,1
    - Dst: free
      Src: /src/vlc/modules/demux/vobsub.c:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 227
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/vobsub.c
    functionUses: 122
    functionsReached:
    - free
    - vlc_stream_Delete
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/demux/vobsub.c:242,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/vobsub.c:246,1
    - Dst: likely
      Src: /src/vlc/modules/demux/vobsub.c:254,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/vobsub.c:255,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/vobsub.c:267,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/vobsub.c:283,1
    - Dst: likely
      Src: /src/vlc/modules/demux/vobsub.c:288,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/vobsub.c:289,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/vobsub.c:313,1
    - Dst: demux_Control
      Src: /src/vlc/modules/demux/vobsub.c:315,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/vobsub.c:318,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/vobsub.c:324,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 73
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 338
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/vobsub.c
    functionUses: 95
    functionsReached:
    - demux_vaControlHelper
    - demux_Control
    - es_out_Control
    - va_arg
    - likely
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/vobsub.c:377,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/vobsub.c:379,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/vobsub.c:386,1
    - Dst: DemuxVobSub
      Src: /src/vlc/modules/demux/vobsub.c:395,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/vobsub.c:397,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 408
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/vobsub.c
    functionUses: 6
    functionsReached:
    - block_Release
    - DemuxVobSub
    - msg_Warn
    - vlc_stream_Block
    - vlc_stream_Seek
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_ReadLine
      Src: /src/vlc/modules/demux/vobsub.c:418,1
    - Dst: free
      Src: /src/vlc/modules/demux/vobsub.c:423,1
    - Dst: realloc
      Src: /src/vlc/modules/demux/vobsub.c:427,1
    - Dst: free
      Src: /src/vlc/modules/demux/vobsub.c:430,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - txt
    - s
    argTypes:
    - text_t*
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 442
    functionName: TextLoad
    functionSourceFile: /src/vlc/modules/demux/vobsub.c
    functionUses: 2
    functionsReached:
    - free
    - vlc_stream_ReadLine
    - realloc
    linkageType: ''
    returnType: int
    signature: int TextLoad( text_t *txt, stream_t *s )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/vobsub.c:447,1
    - Dst: free
      Src: /src/vlc/modules/demux/vobsub.c:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - txt
    argTypes:
    - text_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 452
    functionName: TextUnload
    functionSourceFile: /src/vlc/modules/demux/vobsub.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void TextUnload( text_t *txt )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - txt
    argTypes:
    - text_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 460
    functionName: TextGetLine
    functionSourceFile: /src/vlc/modules/demux/vobsub.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *TextGetLine( text_t *txt )
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TextGetLine
      Src: /src/vlc/modules/demux/vobsub.c:470,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/vobsub.c:479,1
    - Dst: vobsub_size_parse
      Src: /src/vlc/modules/demux/vobsub.c:482,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/vobsub.c:485,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/vobsub.c:489,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/vobsub.c:492,1
    - Dst: vobsub_palette_parse
      Src: /src/vlc/modules/demux/vobsub.c:494,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/vobsub.c:497,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/vobsub.c:501,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/vobsub.c:504,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/vobsub.c:512,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/vobsub.c:515,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/vobsub.c:517,1
    - Dst: vlc_reallocarray
      Src: /src/vlc/modules/demux/vobsub.c:523,1
    - Dst: memset
      Src: /src/vlc/modules/demux/vobsub.c:533,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/vobsub.c:540,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/vobsub.c:549,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/vobsub.c:553,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/vobsub.c:554,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/vobsub.c:556,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/vobsub.c:568,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/vobsub.c:574,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/vobsub.c:574,1
    - Dst: vlc_reallocarray
      Src: /src/vlc/modules/demux/vobsub.c:577,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/vobsub.c:591,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/vobsub.c:594,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/vobsub.c:604,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/vobsub.c:613,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/vobsub.c:613,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/vobsub.c:616,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/vobsub.c:621,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 83
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 462
    functionDepth: 3
    functionLinenumber: 462
    functionLinenumberEnd: 626
    functionName: ParseVobSubIDX
    functionSourceFile: /src/vlc/modules/demux/vobsub.c
    functionUses: 1
    functionsReached:
    - TextGetLine
    - sscanf
    - strncasecmp
    - memset
    - vlc_reallocarray
    - vlc_tick_from_sec
    - VLC_TICK_FROM_MS
    - memcpy
    - strncmp
    - msg_Dbg
    - es_out_Add
    - msg_Warn
    - es_format_Init
    - vobsub_size_parse
    - vobsub_palette_parse
    linkageType: ''
    returnType: int
    signature: int ParseVobSubIDX( demux_t *p_demux )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ps_pkt_size
      Src: /src/vlc/modules/demux/vobsub.c:637,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/vobsub.c:647,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/vobsub.c:653,1
    - Dst: ps_pkt_id
      Src: /src/vlc/modules/demux/vobsub.c:657,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/vobsub.c:666,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/vobsub.c:667,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/vobsub.c:669,1
    - Dst: ps_pkt_parse_pes
      Src: /src/vlc/modules/demux/vobsub.c:672,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/vobsub.c:672,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/vobsub.c:674,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/vobsub.c:689,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/vobsub.c:696,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 41
    argCount: 2
    argNames:
    - p_demux
    - p_bk
    argTypes:
    - demux_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 701
    functionName: DemuxVobSub
    functionSourceFile: /src/vlc/modules/demux/vobsub.c
    functionUses: 1
    functionsReached:
    - block_Release
    - es_out_Send
    - ps_pkt_parse_pes
    - memcpy
    - block_Alloc
    - ps_pkt_size
    - VLC_OBJECT
    - msg_Warn
    - ps_pkt_id
    - unlikely
    linkageType: ''
    returnType: int
    signature: int DemuxVobSub( demux_t *p_demux, block_t *p_bk )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - position
    - data
    - size
    argTypes:
    - int*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: find_jpeg_marker
    functionSourceFile: /src/vlc/modules/demux/mxpeg_helper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t find_jpeg_marker(int *position, const uint8_t *data, int size)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mxpeg_helper.h:45,1
    - Dst: find_jpeg_marker
      Src: /src/vlc/modules/demux/mxpeg_helper.h:48,1
    - Dst: find_jpeg_marker
      Src: /src/vlc/modules/demux/mxpeg_helper.h:50,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mxpeg_helper.h:57,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mxpeg_helper.h:64,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mxpeg_helper.h:71,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mxpeg_helper.h:74,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mxpeg_helper.h:79,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mxpeg_helper.h:88,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 92
    functionName: IsMxpeg
    functionSourceFile: /src/vlc/modules/demux/mxpeg_helper.h
    functionUses: 0
    functionsReached:
    - GetWBE
    - find_jpeg_marker
    - vlc_stream_Peek
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool IsMxpeg(stream_t *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_ReadDir
      Src: /src/vlc/modules/demux/directory.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - demux
    - node
    argTypes:
    - demux_t*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: ReadDir
    functionSourceFile: /src/vlc/modules/demux/directory.c
    functionUses: 3
    functionsReached:
    - vlc_stream_ReadDir
    linkageType: ''
    returnType: int
    signature: int ReadDir(demux_t *demux, input_item_node_t *node)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_vaControl
      Src: /src/vlc/modules/demux/directory.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - demux
    - query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 53
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/directory.c
    functionUses: 96
    functionsReached:
    - vlc_stream_vaControl
    linkageType: ''
    returnType: int
    signature: int Control(demux_t *demux, int query, va_list args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/directory.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: (p_demux->pf_demux == NULL)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/vlc/modules/demux/directory.c
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: Import_Dir
    functionSourceFile: /src/vlc/modules/demux/directory.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int Import_Dir( vlc_object_t *p_this )
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/nuv.c:213,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/nuv.c:214,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/nuv.c:215,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/nuv.c:218,1
    - Dst: memset
      Src: /src/vlc/modules/demux/nuv.c:221,1
    - Dst: demux_IndexInit
      Src: /src/vlc/modules/demux/nuv.c:229,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/nuv.c:234,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/nuv.c:237,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/nuv.c:239,1
    - Dst: HeaderLoad
      Src: /src/vlc/modules/demux/nuv.c:242,1
    - Dst: FrameHeaderLoad
      Src: /src/vlc/modules/demux/nuv.c:246,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/nuv.c:254,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/nuv.c:255,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/nuv.c:261,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/nuv.c:262,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/nuv.c:268,1
    - Dst: FrameHeaderLoad
      Src: /src/vlc/modules/demux/nuv.c:272,1
    - Dst: ExtendedHeaderLoad
      Src: /src/vlc/modules/demux/nuv.c:277,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/nuv.c:281,1
    - Dst: SeekTableLoad
      Src: /src/vlc/modules/demux/nuv.c:282,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/nuv.c:285,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/nuv.c:292,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/nuv.c:302,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/nuv.c:313,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/nuv.c:319,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/nuv.c:324,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/nuv.c:328,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/nuv.c:331,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/nuv.c:340,1
    - Dst: Close
      Src: /src/vlc/modules/demux/nuv.c:341,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 97
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 344
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/nuv.c
    functionUses: 37
    functionsReached:
    - HeaderLoad
    - vlc_stream_Peek
    - memset
    - demux_IndexInit
    - msg_Err
    - strncmp
    - ExtendedHeaderLoad
    - es_format_Init
    - FrameHeaderLoad
    - msg_Dbg
    - vlc_stream_Read
    - es_out_Add
    - msg_Warn
    - Close
    - vlc_stream_Tell
    - SeekTableLoad
    - malloc
    - vlc_stream_Control
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t * p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/nuv.c:354,1
    - Dst: demux_IndexClean
      Src: /src/vlc/modules/demux/nuv.c:355,1
    - Dst: free
      Src: /src/vlc/modules/demux/nuv.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 357
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/nuv.c
    functionUses: 123
    functionsReached:
    - free
    - demux_IndexClean
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t * p_this )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: FrameHeaderLoad
      Src: /src/vlc/modules/demux/nuv.c:372,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/nuv.c:382,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/nuv.c:388,1
    - Dst: demux_IndexAppend
      Src: /src/vlc/modules/demux/nuv.c:396,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/nuv.c:398,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/nuv.c:404,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/nuv.c:410,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/nuv.c:413,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/nuv.c:414,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/demux/nuv.c:422,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/nuv.c:423,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/nuv.c:425,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/nuv.c:429,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/nuv.c:432,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/nuv.c:433,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/nuv.c:438,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 44
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 442
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/nuv.c
    functionUses: 6
    functionsReached:
    - block_Release
    - block_Realloc
    - es_out_Send
    - memcpy
    - demux_IndexAppend
    - vlc_stream_Read
    - FrameHeaderLoad
    - msg_Dbg
    - vlc_stream_Block
    - vlc_stream_Tell
    - unlikely
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/demux/nuv.c:456,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/nuv.c:460,1
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/nuv.c:468,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/nuv.c:471,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/nuv.c:483,1
    - Dst: llround
      Src: /src/vlc/modules/demux/nuv.c:490,1
    - Dst: demux_IndexConvertTime
      Src: /src/vlc/modules/demux/nuv.c:492,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/demux/nuv.c:493,1
    - Dst: ControlSetPosition
      Src: /src/vlc/modules/demux/nuv.c:494,1
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/nuv.c:498,1
    - Dst: demux_IndexFindOffset
      Src: /src/vlc/modules/demux/nuv.c:499,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/demux/nuv.c:500,1
    - Dst: ControlSetPosition
      Src: /src/vlc/modules/demux/nuv.c:501,1
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/nuv.c:504,1
    - Dst: ControlSetPosition
      Src: /src/vlc/modules/demux/nuv.c:506,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/nuv.c:510,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/nuv.c:510,1
    - Dst: demux_IndexConvertTime
      Src: /src/vlc/modules/demux/nuv.c:519,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/nuv.c:519,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/demux/nuv.c:520,1
    - Dst: ControlSetPosition
      Src: /src/vlc/modules/demux/nuv.c:521,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/nuv.c:531,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/nuv.c:535,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/nuv.c:537,1
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/nuv.c:538,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/nuv.c:539,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/nuv.c:547,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/nuv.c:558,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 68
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 564
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/nuv.c
    functionUses: 97
    functionsReached:
    - demux_vaControlHelper
    - stream_Size
    - demux_IndexConvertTime
    - demux_IndexFindOffset
    - ControlSetPosition
    - UINT64_C
    - va_arg
    - __MAX
    - vlc_stream_Tell
    - llround
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/nuv.c:573,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/nuv.c:579,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/nuv.c:581,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/nuv.c:585,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/nuv.c:596,1
    - Dst: FrameHeaderLoad
      Src: /src/vlc/modules/demux/nuv.c:599,1
    - Dst: demux_IndexAppend
      Src: /src/vlc/modules/demux/nuv.c:605,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/nuv.c:610,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 3
    argNames:
    - p_demux
    - offset
    - b_guess
    argTypes:
    - demux_t*
    - uint64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 616
    functionName: ControlSetPosition
    functionSourceFile: /src/vlc/modules/demux/nuv.c
    functionUses: 1
    functionsReached:
    - FrameHeaderLoad
    - msg_Dbg
    - demux_IndexAppend
    - vlc_stream_Read
    - msg_Warn
    - vlc_stream_Seek
    - vlc_stream_Tell
    linkageType: ''
    returnType: int
    signature: int ControlSetPosition(demux_t *p_demux, uint64_t offset, bool b_guess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/demux/nuv.c:630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pd
    - src
    argTypes:
    - double*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 632
    functionName: GetDoubleLE
    functionSourceFile: /src/vlc/modules/demux/nuv.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void GetDoubleLE( double *pd, void *src )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/nuv.c:640,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/nuv.c:644,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/nuv.c:645,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/nuv.c:646,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/nuv.c:647,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/nuv.c:648,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/nuv.c:649,1
    - Dst: GetDoubleLE
      Src: /src/vlc/modules/demux/nuv.c:651,1
    - Dst: GetDoubleLE
      Src: /src/vlc/modules/demux/nuv.c:652,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/nuv.c:653,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/nuv.c:654,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/nuv.c:655,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/nuv.c:656,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/nuv.c:658,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - p_demux
    - h
    argTypes:
    - demux_t*
    - header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 665
    functionName: HeaderLoad
    functionSourceFile: /src/vlc/modules/demux/nuv.c
    functionUses: 3
    functionsReached:
    - memcpy
    - GetDWLE
    - vlc_stream_Read
    - msg_Dbg
    - GetDoubleLE
    linkageType: ''
    returnType: int
    signature: int HeaderLoad( demux_t *p_demux, header_t *h )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/nuv.c:674,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/nuv.c:682,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/nuv.c:683,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/nuv.c:685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - p_demux
    - h
    argTypes:
    - demux_t*
    - frame_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 693
    functionName: FrameHeaderLoad
    functionSourceFile: /src/vlc/modules/demux/nuv.c
    functionUses: 3
    functionsReached:
    - GetDWLE
    - vlc_stream_Read
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int FrameHeaderLoad( demux_t *p_demux, frame_header_t *h )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/nuv.c:699,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/nuv.c:702,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/nuv.c:703,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/nuv.c:704,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/nuv.c:705,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/nuv.c:706,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/nuv.c:707,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/nuv.c:708,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/nuv.c:709,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/nuv.c:710,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/nuv.c:711,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/nuv.c:712,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/nuv.c:713,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/nuv.c:714,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/nuv.c:715,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/nuv.c:716,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/nuv.c:717,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/nuv.c:718,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/nuv.c:720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - p_demux
    - h
    argTypes:
    - demux_t*
    - extended_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 731
    functionName: ExtendedHeaderLoad
    functionSourceFile: /src/vlc/modules/demux/nuv.c
    functionUses: 1
    functionsReached:
    - VLC_FOURCC
    - GetQWLE
    - GetDWLE
    - vlc_stream_Read
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int ExtendedHeaderLoad( demux_t *p_demux, extended_header_t *h )
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/nuv.c:757,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/nuv.c:759,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/nuv.c:761,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/nuv.c:763,1
    - Dst: FrameHeaderLoad
      Src: /src/vlc/modules/demux/nuv.c:766,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/nuv.c:771,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/nuv.c:776,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/nuv.c:780,1
    - Dst: free
      Src: /src/vlc/modules/demux/nuv.c:783,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/nuv.c:794,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/nuv.c:795,1
    - Dst: free
      Src: /src/vlc/modules/demux/nuv.c:797,1
    - Dst: FrameHeaderLoad
      Src: /src/vlc/modules/demux/nuv.c:801,1
    - Dst: free
      Src: /src/vlc/modules/demux/nuv.c:803,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/nuv.c:809,1
    - Dst: free
      Src: /src/vlc/modules/demux/nuv.c:813,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/nuv.c:817,1
    - Dst: free
      Src: /src/vlc/modules/demux/nuv.c:820,1
    - Dst: free
      Src: /src/vlc/modules/demux/nuv.c:821,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/nuv.c:830,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/nuv.c:836,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/nuv.c:839,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/nuv.c:846,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/nuv.c:851,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/nuv.c:854,1
    - Dst: demux_IndexAppend
      Src: /src/vlc/modules/demux/nuv.c:858,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/nuv.c:860,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/nuv.c:873,1
    - Dst: free
      Src: /src/vlc/modules/demux/nuv.c:876,1
    - Dst: free
      Src: /src/vlc/modules/demux/nuv.c:878,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/nuv.c:881,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 74
    argCount: 2
    argNames:
    - p_demux
    - p_sys
    argTypes:
    - demux_t*
    - demux_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 746
    functionDepth: 2
    functionLinenumber: 746
    functionLinenumberEnd: 886
    functionName: SeekTableLoad
    functionSourceFile: /src/vlc/modules/demux/nuv.c
    functionUses: 1
    functionsReached:
    - GetQWLE
    - free
    - FrameHeaderLoad
    - msg_Dbg
    - vlc_stream_Read
    - GetDWLE
    - msg_Warn
    - vlc_stream_Seek
    - demux_IndexAppend
    - vlc_stream_Tell
    - malloc
    linkageType: ''
    returnType: int
    signature: int SeekTableLoad( demux_t *p_demux, demux_sys_t *p_sys )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_idx
    argTypes:
    - demux_index_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 895
    functionName: demux_IndexInit
    functionSourceFile: /src/vlc/modules/demux/nuv.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void demux_IndexInit( demux_index_t *p_idx )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/nuv.c:898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_idx
    argTypes:
    - demux_index_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 900
    functionName: demux_IndexClean
    functionSourceFile: /src/vlc/modules/demux/nuv.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void demux_IndexClean( demux_index_t *p_idx )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/vlc/modules/demux/nuv.c:944,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - p_idx
    - i_time
    - i_offset
    argTypes:
    - demux_index_t*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 957
    functionName: demux_IndexAppend
    functionSourceFile: /src/vlc/modules/demux/nuv.c
    functionUses: 3
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void
    signature: "void demux_IndexAppend( demux_index_t *p_idx,\n                               int64_t
      i_time, int64_t i_offset )"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - p_idx
    - i_time
    argTypes:
    - demux_index_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 997
    functionName: demux_IndexConvertTime
    functionSourceFile: /src/vlc/modules/demux/nuv.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t demux_IndexConvertTime(demux_index_t *p_idx,\n                                       vlc_tick_t
      i_time)"
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - p_idx
    - i_offset
    argTypes:
    - demux_index_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1039
    functionName: demux_IndexFindOffset
    functionSourceFile: /src/vlc/modules/demux/nuv.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t demux_IndexFindOffset(demux_index_t *p_idx, uint64_t i_offset)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - sample
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 76
    functionName: dv_audio_12to16
    functionSourceFile: /src/vlc/modules/demux/rawdv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t dv_audio_12to16( uint16_t sample )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/rawdv.h:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - p_fmt
    - p_aaux_src
    argTypes:
    - es_format_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 99
    functionName: dv_get_audio_format
    functionSourceFile: /src/vlc/modules/demux/rawdv.h
    functionUses: 1
    functionsReached:
    - es_format_Init
    linkageType: ''
    returnType: void
    signature: "void dv_get_audio_format( es_format_t *p_fmt,\n                                        const
      uint8_t *p_aaux_src )"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - p_buffer
    - i_dsf
    argTypes:
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 114
    functionName: dv_get_audio_sample_count
    functionSourceFile: /src/vlc/modules/demux/rawdv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dv_get_audio_sample_count( const uint8_t *p_buffer, int i_dsf )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dv_get_audio_sample_count
      Src: /src/vlc/modules/demux/rawdv.h:139,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/rawdv.h:141,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/rawdv.h:142,1
    - Dst: dv_audio_12to16
      Src: /src/vlc/modules/demux/rawdv.h:181,1
    - Dst: dv_audio_12to16
      Src: /src/vlc/modules/demux/rawdv.h:182,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 1
    argNames:
    - p_frame_block
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 208
    functionName: dv_extract_audio
    functionSourceFile: /src/vlc/modules/demux/rawdv.h
    functionUses: 1
    functionsReached:
    - dv_get_audio_sample_count
    - unlikely
    - dv_audio_12to16
    - block_Alloc
    linkageType: ''
    returnType: block_t
    signature: block_t *dv_extract_audio( block_t *p_frame_block )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/aiff.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - p
    argTypes:
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 103
    functionName: GetF80BE
    functionSourceFile: /src/vlc/modules/demux/aiff.c
    functionUses: 0
    functionsReached:
    - GetDWBE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int GetF80BE( const uint8_t p[10] )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/aiff.c:118,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/aiff.c:132,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/aiff.c:134,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/aiff.c:137,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/aiff.c:139,1
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/demux/aiff.c:144,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/aiff.c:145,1
    - Dst: free
      Src: /src/vlc/modules/demux/aiff.c:147,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/aiff.c:152,1
    - Dst: vlc_meta_Set
      Src: /src/vlc/modules/demux/aiff.c:154,1
    - Dst: free
      Src: /src/vlc/modules/demux/aiff.c:155,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - p_demux
    - i_chunk_size
    - i_data_size
    argTypes:
    - demux_t*
    - uint64_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 161
    functionName: ReadTextChunk
    functionSourceFile: /src/vlc/modules/demux/aiff.c
    functionUses: 0
    functionsReached:
    - vlc_meta_Set
    - vlc_stream_Peek
    - ARRAY_SIZE
    - vlc_meta_New
    - memcpy
    - free
    - unlikely
    - malloc
    - memcmp
    linkageType: ''
    returnType: int
    signature: int ReadTextChunk( demux_t *p_demux,  uint64_t i_chunk_size, uint32_t
      i_data_size )
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/aiff.c:172,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/aiff.c:175,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/aiff.c:181,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/aiff.c:183,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/aiff.c:183,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/aiff.c:187,1
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/demux/aiff.c:190,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/aiff.c:192,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/aiff.c:201,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/aiff.c:201,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/demux/aiff.c:204,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/aiff.c:210,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/aiff.c:213,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/demux/aiff.c:214,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/aiff.c:216,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/aiff.c:219,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/aiff.c:221,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/aiff.c:224,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/aiff.c:227,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/aiff.c:231,1
    - Dst: GetF80BE
      Src: /src/vlc/modules/demux/aiff.c:232,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/aiff.c:234,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/aiff.c:235,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/aiff.c:238,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/aiff.c:240,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/aiff.c:243,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/aiff.c:245,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/aiff.c:246,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/aiff.c:248,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/aiff.c:251,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/aiff.c:253,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/aiff.c:258,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/aiff.c:259,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/aiff.c:260,1
    - Dst: CoreAudio_Layout_to_vlc
      Src: /src/vlc/modules/demux/aiff.c:263,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/aiff.c:267,1
    - Dst: ReadTextChunk
      Src: /src/vlc/modules/demux/aiff.c:271,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/aiff.c:273,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/aiff.c:281,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/aiff.c:285,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/aiff.c:287,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/demux/aiff.c:293,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/aiff.c:295,1
    - Dst: aout_CheckChannelReorder
      Src: /src/vlc/modules/demux/aiff.c:302,1
    - Dst: vlc_fourcc_GetCodecAudio
      Src: /src/vlc/modules/demux/aiff.c:306,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/aiff.c:320,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/aiff.c:331,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/aiff.c:333,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/aiff.c:339,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/aiff.c:340,1
    - Dst: Close
      Src: /src/vlc/modules/demux/aiff.c:349,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 109
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 351
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/aiff.c
    functionUses: 37
    functionsReached:
    - es_format_Init
    - vlc_obj_calloc
    - memcmp
    - vlc_stream_Control
    - msg_Err
    - GetF80BE
    - UINT64_C
    - vlc_stream_Read
    - msg_Dbg
    - msg_Warn
    - ReadTextChunk
    - VLC_FOURCC
    - __MIN
    - GetDWBE
    - vlc_fourcc_GetCodecAudio
    - vlc_stream_Seek
    - Close
    - vlc_stream_Tell
    - GetWBE
    - vlc_stream_Peek
    - CoreAudio_Layout_to_vlc
    - aout_CheckChannelReorder
    - es_out_Add
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/aiff.c:359,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/aiff.c:371,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/aiff.c:379,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/demux/aiff.c:387,1
    - Dst: aout_ChannelReorder
      Src: /src/vlc/modules/demux/aiff.c:392,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/aiff.c:396,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 398
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/aiff.c
    functionUses: 6
    functionsReached:
    - es_out_Send
    - aout_ChannelReorder
    - vlc_tick_from_samples
    - vlc_stream_Block
    - vlc_stream_Tell
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_meta_Delete
      Src: /src/vlc/modules/demux/aiff.c:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 410
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/aiff.c
    functionUses: 124
    functionsReached:
    - vlc_meta_Delete
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t * p_this )
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_vaControl
      Src: /src/vlc/modules/demux/aiff.c:423,1
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/aiff.c:428,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/aiff.c:429,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/aiff.c:431,1
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/aiff.c:444,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/aiff.c:446,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/aiff.c:453,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/demux/aiff.c:457,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/aiff.c:464,1
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/aiff.c:469,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/demux/aiff.c:474,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/aiff.c:481,1
    - Dst: vlc_meta_Merge
      Src: /src/vlc/modules/demux/aiff.c:484,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/aiff.c:496,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 50
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 501
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/aiff.c
    functionUses: 99
    functionsReached:
    - demux_vaControlHelper
    - stream_Size
    - vlc_meta_Merge
    - va_arg
    - vlc_stream_vaControl
    - vlc_tick_from_samples
    - vlc_stream_Seek
    - vlc_stream_Tell
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/oggseek.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - idx
    argTypes:
    - demux_index_entry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: oggseek_index_entries_free
    functionSourceFile: /src/vlc/modules/demux/oggseek.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void oggseek_index_entries_free ( demux_index_entry_t *idx )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/demux/oggseek.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - i_timestamp
    - i_pagepos
    argTypes:
    - vlc_tick_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 94
    functionName: index_entry_new
    functionSourceFile: /src/vlc/modules/demux/oggseek.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: demux_index_entry_t
    signature: demux_index_entry_t *index_entry_new( vlc_tick_t i_timestamp, int64_t
      i_pagepos )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: index_entry_new
      Src: /src/vlc/modules/demux/oggseek.c:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - p_stream
    - i_timestamp
    - i_pagepos
    argTypes:
    - logical_stream_t*
    - vlc_tick_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 122
    functionName: OggSeek_IndexAdd
    functionSourceFile: /src/vlc/modules/demux/oggseek.c
    functionUses: 0
    functionsReached:
    - index_entry_new
    linkageType: ''
    returnType: demux_index_entry_t
    signature: "demux_index_entry_t *OggSeek_IndexAdd ( logical_stream_t *p_stream,\n
      \                                            vlc_tick_t i_timestamp,\n                                             int64_t
      i_pagepos )"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - p_stream
    - i_timestamp
    - pi_pos_lower
    - pi_pos_upper
    - pi_lower_timestamp
    argTypes:
    - logical_stream_t*
    - vlc_tick_t
    - int64_t*
    - int64_t*
    - vlc_tick_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 152
    functionName: OggSeekIndexFind
    functionSourceFile: /src/vlc/modules/demux/oggseek.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool OggSeekIndexFind ( logical_stream_t *p_stream, vlc_tick_t i_timestamp,\n
      \                              int64_t *pi_pos_lower, int64_t *pi_pos_upper,\n
      \                              vlc_tick_t *pi_lower_timestamp )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/oggseek.c:164,1
    - Dst: ogg_sync_reset
      Src: /src/vlc/modules/demux/oggseek.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p_demux
    - i_pos
    argTypes:
    - demux_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: seek_byte
    functionSourceFile: /src/vlc/modules/demux/oggseek.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Seek
    - ogg_sync_reset
    linkageType: ''
    returnType: void
    signature: void seek_byte( demux_t *p_demux, int64_t i_pos )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: __MIN
      Src: /src/vlc/modules/demux/oggseek.c:195,1
    - Dst: seek_byte
      Src: /src/vlc/modules/demux/oggseek.c:197,1
    - Dst: ogg_sync_buffer
      Src: /src/vlc/modules/demux/oggseek.c:199,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/oggseek.c:203,1
    - Dst: ogg_sync_wrote
      Src: /src/vlc/modules/demux/oggseek.c:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - p_demux
    - i_bytes_to_read
    argTypes:
    - demux_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 207
    functionName: get_data
    functionSourceFile: /src/vlc/modules/demux/oggseek.c
    functionUses: 3
    functionsReached:
    - seek_byte
    - vlc_stream_Read
    - __MIN
    - ogg_sync_buffer
    - ogg_sync_wrote
    linkageType: ''
    returnType: int64_t
    signature: int64_t get_data( demux_t *p_demux, int64_t i_bytes_to_read )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/oggseek.c:219,1
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/oggseek.c:220,1
    - Dst: assert
      Src: /src/vlc/modules/demux/oggseek.c:222,1
    - Dst: ogg_stream_init
      Src: /src/vlc/modules/demux/oggseek.c:226,1
    - Dst: ogg_sync_init
      Src: /src/vlc/modules/demux/oggseek.c:227,1
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/oggseek.c:230,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/oggseek.c:231,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/oggseek.c:233,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/oggseek.c:235,1
    - Dst: ogg_sync_clear
      Src: /src/vlc/modules/demux/oggseek.c:237,1
    - Dst: ogg_stream_clear
      Src: /src/vlc/modules/demux/oggseek.c:238,1
    - Dst: ogg_sync_pageseek
      Src: /src/vlc/modules/demux/oggseek.c:248,1
    - Dst: ogg_sync_buffer
      Src: /src/vlc/modules/demux/oggseek.c:250,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/oggseek.c:252,1
    - Dst: ogg_sync_wrote
      Src: /src/vlc/modules/demux/oggseek.c:255,1
    - Dst: ogg_sync_pageout
      Src: /src/vlc/modules/demux/oggseek.c:257,1
    - Dst: ogg_page_granulepos
      Src: /src/vlc/modules/demux/oggseek.c:259,1
    - Dst: ogg_page_serialno
      Src: /src/vlc/modules/demux/oggseek.c:264,1
    - Dst: Ogg_GranuleToTime
      Src: /src/vlc/modules/demux/oggseek.c:267,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/oggseek.c:272,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/oggseek.c:283,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/oggseek.c:298,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/oggseek.c:301,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/oggseek.c:306,1
    - Dst: ogg_sync_clear
      Src: /src/vlc/modules/demux/oggseek.c:308,1
    - Dst: ogg_stream_clear
      Src: /src/vlc/modules/demux/oggseek.c:309,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 61
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts:
    - condition: ( OGGSEEK_BYTES_TO_READ < UINT_MAX )
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/vlc/modules/demux/oggseek.c
    constantsTouched: []
    func_position:
      end: 310
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 310
    functionName: Oggseek_ProbeEnd
    functionSourceFile: /src/vlc/modules/demux/oggseek.c
    functionUses: 1
    functionsReached:
    - stream_Size
    - assert
    - ogg_stream_clear
    - ogg_sync_pageseek
    - ogg_page_granulepos
    - ogg_page_serialno
    - __MAX
    - vlc_stream_Seek
    - vlc_stream_Read
    - ogg_stream_init
    - ogg_sync_buffer
    - ogg_sync_pageout
    - ogg_sync_init
    - __MIN
    - vlc_stream_Tell
    - ogg_sync_clear
    - ogg_sync_wrote
    - Ogg_GranuleToTime
    linkageType: ''
    returnType: void
    signature: void Oggseek_ProbeEnd( demux_t *p_demux )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p_stream
    - i_granule
    argTypes:
    - logical_stream_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: update_page_type
    functionSourceFile: /src/vlc/modules/demux/oggseek.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_page_type( logical_stream_t *p_stream, int64_t i_granule
      )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: seek_byte
      Src: /src/vlc/modules/demux/oggseek.c:337,1
    - Dst: get_data
      Src: /src/vlc/modules/demux/oggseek.c:351,1
    - Dst: ogg_sync_pageseek
      Src: /src/vlc/modules/demux/oggseek.c:359,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/oggseek.c:370,1
    - Dst: seek_byte
      Src: /src/vlc/modules/demux/oggseek.c:380,1
    - Dst: ogg_stream_reset
      Src: /src/vlc/modules/demux/oggseek.c:381,1
    - Dst: oggseek_read_page
      Src: /src/vlc/modules/demux/oggseek.c:398,1
    - Dst: ogg_stream_pagein
      Src: /src/vlc/modules/demux/oggseek.c:405,1
    - Dst: ogg_page_granulepos
      Src: /src/vlc/modules/demux/oggseek.c:412,1
    - Dst: update_page_type
      Src: /src/vlc/modules/demux/oggseek.c:414,1
    - Dst: ogg_page_granulepos
      Src: /src/vlc/modules/demux/oggseek.c:414,1
    - Dst: ogg_stream_packetout
      Src: /src/vlc/modules/demux/oggseek.c:423,1
    - Dst: ogg_page_granulepos
      Src: /src/vlc/modules/demux/oggseek.c:430,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 57
    argCount: 5
    argNames:
    - p_demux
    - i_pos1
    - i_pos2
    - p_stream
    - i_granulepos
    argTypes:
    - demux_t*
    - int64_t
    - int64_t
    - logical_stream_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 437
    functionName: find_first_page_granule
    functionSourceFile: /src/vlc/modules/demux/oggseek.c
    functionUses: 0
    functionsReached:
    - get_data
    - seek_byte
    - ogg_sync_pageseek
    - ogg_stream_pagein
    - ogg_page_granulepos
    - strncmp
    - update_page_type
    - oggseek_read_page
    - ogg_stream_packetout
    - ogg_stream_reset
    linkageType: ''
    returnType: int64_t
    signature: "int64_t find_first_page_granule( demux_t *p_demux,\n                                int64_t
      i_pos1, int64_t i_pos2,\n                                logical_stream_t *p_stream,\n
      \                               int64_t *i_granulepos )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ogg_stream_pagein
      Src: /src/vlc/modules/demux/oggseek.c:445,1
    - Dst: update_page_type
      Src: /src/vlc/modules/demux/oggseek.c:450,1
    - Dst: ogg_page_granulepos
      Src: /src/vlc/modules/demux/oggseek.c:450,1
    - Dst: Ogg_GetKeyframeGranule
      Src: /src/vlc/modules/demux/oggseek.c:452,1
    - Dst: Ogg_GetKeyframeGranule
      Src: /src/vlc/modules/demux/oggseek.c:453,1
    - Dst: ogg_page_granulepos
      Src: /src/vlc/modules/demux/oggseek.c:453,1
    - Dst: ogg_page_continued
      Src: /src/vlc/modules/demux/oggseek.c:455,1
    - Dst: ogg_page_pageno
      Src: /src/vlc/modules/demux/oggseek.c:458,1
    - Dst: ogg_stream_packetout
      Src: /src/vlc/modules/demux/oggseek.c:465,1
    - Dst: ogg_stream_packetpeek
      Src: /src/vlc/modules/demux/oggseek.c:470,1
    - Dst: Ogg_IsKeyFrame
      Src: /src/vlc/modules/demux/oggseek.c:472,1
    - Dst: OggDebug
      Src: /src/vlc/modules/demux/oggseek.c:474,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/oggseek.c:475,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/oggseek.c:476,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/oggseek.c:477,1
    - Dst: ogg_page_pageno
      Src: /src/vlc/modules/demux/oggseek.c:478,1
    - Dst: ogg_page_packets
      Src: /src/vlc/modules/demux/oggseek.c:478,1
    - Dst: ogg_page_pageno
      Src: /src/vlc/modules/demux/oggseek.c:490,1
    - Dst: ogg_page_pageno
      Src: /src/vlc/modules/demux/oggseek.c:497,1
    - Dst: ogg_stream_packetout
      Src: /src/vlc/modules/demux/oggseek.c:502,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 5
    argNames:
    - p_demux
    - p_stream
    - i_granulepos
    - p_lastpacketcoords
    - b_exact
    argTypes:
    - demux_t*
    - logical_stream_t*
    - int64_t
    - packetStartCoordinates*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 506
    functionName: OggSeekToPacket
    functionSourceFile: /src/vlc/modules/demux/oggseek.c
    functionUses: 0
    functionsReached:
    - ogg_stream_pagein
    - OggDebug
    - ogg_page_granulepos
    - ogg_page_continued
    - ogg_page_pageno
    - Ogg_IsKeyFrame
    - msg_Dbg
    - ogg_page_packets
    - ogg_stream_packetpeek
    - update_page_type
    - Ogg_GetKeyframeGranule
    - ogg_stream_packetout
    linkageType: ''
    returnType: bool
    signature: "bool OggSeekToPacket( demux_t *p_demux, logical_stream_t *p_stream,\n
      \           int64_t i_granulepos, packetStartCoordinates *p_lastpacketcoords,\n
      \           bool b_exact )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: seek_byte
      Src: /src/vlc/modules/demux/oggseek.c:518,1
    - Dst: OggDebug
      Src: /src/vlc/modules/demux/oggseek.c:521,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/oggseek.c:522,1
    - Dst: get_data
      Src: /src/vlc/modules/demux/oggseek.c:533,1
    - Dst: ogg_sync_pageseek
      Src: /src/vlc/modules/demux/oggseek.c:538,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/oggseek.c:549,1
    - Dst: seek_byte
      Src: /src/vlc/modules/demux/oggseek.c:558,1
    - Dst: ogg_stream_reset
      Src: /src/vlc/modules/demux/oggseek.c:559,1
    - Dst: ogg_stream_packetout
      Src: /src/vlc/modules/demux/oggseek.c:562,1
    - Dst: oggseek_read_page
      Src: /src/vlc/modules/demux/oggseek.c:577,1
    - Dst: ogg_page_serialno
      Src: /src/vlc/modules/demux/oggseek.c:584,1
    - Dst: OggSeekToPacket
      Src: /src/vlc/modules/demux/oggseek.c:591,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 50
    argCount: 6
    argNames:
    - p_demux
    - i_pos1
    - i_pos2
    - p_stream
    - i_granulepos
    - b_fastseek
    argTypes:
    - demux_t*
    - int64_t
    - int64_t
    - logical_stream_t*
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 603
    functionName: OggForwardSeekToFrame
    functionSourceFile: /src/vlc/modules/demux/oggseek.c
    functionUses: 0
    functionsReached:
    - get_data
    - seek_byte
    - ogg_sync_pageseek
    - OggDebug
    - OggSeekToPacket
    - ogg_page_serialno
    - strncmp
    - msg_Dbg
    - oggseek_read_page
    - ogg_stream_packetout
    - ogg_stream_reset
    linkageType: ''
    returnType: int64_t
    signature: "int64_t OggForwardSeekToFrame( demux_t *p_demux, int64_t i_pos1, int64_t
      i_pos2,\n                logical_stream_t *p_stream, int64_t i_granulepos, bool
      b_fastseek )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __MAX
      Src: /src/vlc/modules/demux/oggseek.c:609,1
    - Dst: OggDebug
      Src: /src/vlc/modules/demux/oggseek.c:613,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/oggseek.c:614,1
    - Dst: OggForwardSeekToFrame
      Src: /src/vlc/modules/demux/oggseek.c:618,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/oggseek.c:623,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - p_demux
    - i_pos1
    - i_pos2
    - p_stream
    - i_granulepos
    argTypes:
    - demux_t*
    - int64_t
    - int64_t
    - logical_stream_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 605
    functionDepth: 3
    functionLinenumber: 605
    functionLinenumberEnd: 628
    functionName: OggBackwardSeekToFrame
    functionSourceFile: /src/vlc/modules/demux/oggseek.c
    functionUses: 0
    functionsReached:
    - OggForwardSeekToFrame
    - __MAX
    - msg_Dbg
    - OggDebug
    linkageType: ''
    returnType: int64_t
    signature: "int64_t OggBackwardSeekToFrame( demux_t *p_demux, int64_t i_pos1,
      int64_t i_pos2,\n                               logical_stream_t *p_stream,
      int64_t i_granulepos )"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: __MAX
      Src: /src/vlc/modules/demux/oggseek.c:649,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/oggseek.c:650,1
    - Dst: OggDebug
      Src: /src/vlc/modules/demux/oggseek.c:659,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/oggseek.c:659,1
    - Dst: find_first_page_granule
      Src: /src/vlc/modules/demux/oggseek.c:663,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/oggseek.c:665,1
    - Dst: Ogg_GranuleToTime
      Src: /src/vlc/modules/demux/oggseek.c:670,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/oggseek.c:681,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/oggseek.c:682,1
    - Dst: find_first_page_granule
      Src: /src/vlc/modules/demux/oggseek.c:694,1
    - Dst: Ogg_GranuleToTime
      Src: /src/vlc/modules/demux/oggseek.c:699,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/oggseek.c:704,1
    - Dst: OggDebug
      Src: /src/vlc/modules/demux/oggseek.c:740,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/oggseek.c:740,1
    - Dst: OggBackwardSeekToFrame
      Src: /src/vlc/modules/demux/oggseek.c:759,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/oggseek.c:760,1
    - Dst: Ogg_GetKeyframeGranule
      Src: /src/vlc/modules/demux/oggseek.c:767,1
    - Dst: Ogg_GetKeyframeGranule
      Src: /src/vlc/modules/demux/oggseek.c:769,1
    - Dst: OggDebug
      Src: /src/vlc/modules/demux/oggseek.c:771,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/oggseek.c:771,1
    - Dst: Ogg_GranuleToTime
      Src: /src/vlc/modules/demux/oggseek.c:775,1
    - Dst: OggDebug
      Src: /src/vlc/modules/demux/oggseek.c:777,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/oggseek.c:777,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/oggseek.c:777,1
    - Dst: OggBackwardSeekToFrame
      Src: /src/vlc/modules/demux/oggseek.c:779,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/oggseek.c:780,1
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/oggseek.c:781,1
    - Dst: Ogg_GranuleToTime
      Src: /src/vlc/modules/demux/oggseek.c:782,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 71
    argCount: 6
    argNames:
    - p_demux
    - p_stream
    - i_targettime
    - i_pos_lower
    - i_pos_upper
    - pi_seek_time
    argTypes:
    - demux_t*
    - logical_stream_t*
    - vlc_tick_t
    - int64_t
    - int64_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 631
    functionDepth: 4
    functionLinenumber: 631
    functionLinenumberEnd: 789
    functionName: OggBisectSearchByTime
    functionSourceFile: /src/vlc/modules/demux/oggseek.c
    functionUses: 0
    functionsReached:
    - find_first_page_granule
    - stream_Size
    - OggDebug
    - msg_Err
    - __MAX
    - __MIN
    - msg_Dbg
    - OggBackwardSeekToFrame
    - Ogg_GetKeyframeGranule
    - Ogg_GranuleToTime
    linkageType: ''
    returnType: int64_t
    signature: "int64_t OggBisectSearchByTime( demux_t *p_demux, logical_stream_t
      *p_stream,\n            vlc_tick_t i_targettime, int64_t i_pos_lower, int64_t
      i_pos_upper, int64_t *pi_seek_time)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Ogg_GetBoundsUsingSkeletonIndex
      Src: /src/vlc/modules/demux/oggseek.c:805,1
    - Dst: OggSeekIndexFind
      Src: /src/vlc/modules/demux/oggseek.c:810,1
    - Dst: OggBisectSearchByTime
      Src: /src/vlc/modules/demux/oggseek.c:821,1
    - Dst: seek_byte
      Src: /src/vlc/modules/demux/oggseek.c:834,1
    - Dst: ogg_stream_reset
      Src: /src/vlc/modules/demux/oggseek.c:835,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 4
    argNames:
    - p_demux
    - p_stream
    - i_time
    - b_fastseek
    argTypes:
    - demux_t*
    - logical_stream_t*
    - vlc_tick_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 796
    functionDepth: 5
    functionLinenumber: 796
    functionLinenumberEnd: 838
    functionName: Oggseek_BlindSeektoAbsoluteTime
    functionSourceFile: /src/vlc/modules/demux/oggseek.c
    functionUses: 1
    functionsReached:
    - seek_byte
    - Ogg_GetBoundsUsingSkeletonIndex
    - OggBisectSearchByTime
    - OggSeekIndexFind
    - ogg_stream_reset
    linkageType: ''
    returnType: int
    signature: "int Oggseek_BlindSeektoAbsoluteTime( demux_t *p_demux, logical_stream_t
      *p_stream,\n                                     vlc_tick_t i_time, bool b_fastseek
      )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OggDebug
      Src: /src/vlc/modules/demux/oggseek.c:844,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/oggseek.c:844,1
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/oggseek.c:845,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/oggseek.c:846,1
    - Dst: find_first_page_granule
      Src: /src/vlc/modules/demux/oggseek.c:850,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/oggseek.c:856,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/oggseek.c:857,1
    - Dst: OggDebug
      Src: /src/vlc/modules/demux/oggseek.c:861,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/oggseek.c:861,1
    - Dst: Ogg_GetKeyframeGranule
      Src: /src/vlc/modules/demux/oggseek.c:863,1
    - Dst: OggBackwardSeekToFrame
      Src: /src/vlc/modules/demux/oggseek.c:869,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/oggseek.c:870,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/oggseek.c:871,1
    - Dst: OggForwardSeekToFrame
      Src: /src/vlc/modules/demux/oggseek.c:877,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/oggseek.c:878,1
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/oggseek.c:879,1
    - Dst: OggDebug
      Src: /src/vlc/modules/demux/oggseek.c:883,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/oggseek.c:883,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - p_demux
    - p_stream
    - f
    - b_canfastseek
    argTypes:
    - demux_t*
    - logical_stream_t*
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 840
    functionDepth: 4
    functionLinenumber: 840
    functionLinenumberEnd: 886
    functionName: Oggseek_BlindSeektoPosition
    functionSourceFile: /src/vlc/modules/demux/oggseek.c
    functionUses: 1
    functionsReached:
    - find_first_page_granule
    - stream_Size
    - OggDebug
    - msg_Err
    - OggForwardSeekToFrame
    - __MAX
    - msg_Dbg
    - OggBackwardSeekToFrame
    - __MIN
    - vlc_stream_Seek
    - vlc_stream_Tell
    - Ogg_GetKeyframeGranule
    linkageType: ''
    returnType: int
    signature: "int Oggseek_BlindSeektoPosition( demux_t *p_demux, logical_stream_t
      *p_stream,\n                                 double f, bool b_canfastseek )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OggDebug
      Src: /src/vlc/modules/demux/oggseek.c:893,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/oggseek.c:893,1
    - Dst: Ogg_GetBoundsUsingSkeletonIndex
      Src: /src/vlc/modules/demux/oggseek.c:897,1
    - Dst: OggDebug
      Src: /src/vlc/modules/demux/oggseek.c:900,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/oggseek.c:900,1
    - Dst: seek_byte
      Src: /src/vlc/modules/demux/oggseek.c:903,1
    - Dst: ogg_stream_reset
      Src: /src/vlc/modules/demux/oggseek.c:904,1
    - Dst: OggDebug
      Src: /src/vlc/modules/demux/oggseek.c:907,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/oggseek.c:907,1
    - Dst: OggSeekIndexFind
      Src: /src/vlc/modules/demux/oggseek.c:911,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/oggseek.c:914,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/oggseek.c:915,1
    - Dst: OggBisectSearchByTime
      Src: /src/vlc/modules/demux/oggseek.c:918,1
    - Dst: ogg_stream_reset
      Src: /src/vlc/modules/demux/oggseek.c:923,1
    - Dst: seek_byte
      Src: /src/vlc/modules/demux/oggseek.c:925,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/oggseek.c:930,1
    - Dst: ceil
      Src: /src/vlc/modules/demux/oggseek.c:930,1
    - Dst: sqrt
      Src: /src/vlc/modules/demux/oggseek.c:930,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/demux/oggseek.c:930,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/oggseek.c:931,1
    - Dst: OggSeek_IndexAdd
      Src: /src/vlc/modules/demux/oggseek.c:933,1
    - Dst: OggDebug
      Src: /src/vlc/modules/demux/oggseek.c:935,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/oggseek.c:935,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - p_demux
    - p_stream
    - i_time
    argTypes:
    - demux_t*
    - logical_stream_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 888
    functionDepth: 5
    functionLinenumber: 888
    functionLinenumberEnd: 937
    functionName: Oggseek_SeektoAbsolutetime
    functionSourceFile: /src/vlc/modules/demux/oggseek.c
    functionUses: 1
    functionsReached:
    - seek_byte
    - ceil
    - OggDebug
    - sqrt
    - SEC_FROM_VLC_TICK
    - vlc_tick_from_sec
    - Ogg_GetBoundsUsingSkeletonIndex
    - __MAX
    - msg_Dbg
    - __MIN
    - OggBisectSearchByTime
    - OggSeek_IndexAdd
    - OggSeekIndexFind
    - ogg_stream_reset
    linkageType: ''
    returnType: int
    signature: "int Oggseek_SeektoAbsolutetime( demux_t *p_demux, logical_stream_t
      *p_stream,\n                                vlc_tick_t i_time )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/oggseek.c:961,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/oggseek.c:964,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/oggseek.c:968,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/oggseek.c:970,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/oggseek.c:971,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/oggseek.c:977,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/oggseek.c:979,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/oggseek.c:980,1
    - Dst: ogg_sync_reset
      Src: /src/vlc/modules/demux/oggseek.c:991,1
    - Dst: ogg_sync_buffer
      Src: /src/vlc/modules/demux/oggseek.c:993,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/oggseek.c:997,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/oggseek.c:999,1
    - Dst: ogg_sync_wrote
      Src: /src/vlc/modules/demux/oggseek.c:1002,1
    - Dst: ogg_sync_pageout
      Src: /src/vlc/modules/demux/oggseek.c:1007,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/oggseek.c:1009,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 947
    functionDepth: 1
    functionLinenumber: 947
    functionLinenumberEnd: 1015
    functionName: oggseek_read_page
    functionSourceFile: /src/vlc/modules/demux/oggseek.c
    functionUses: 2
    functionsReached:
    - ogg_sync_reset
    - memcpy
    - msg_Err
    - vlc_stream_Read
    - msg_Dbg
    - ogg_sync_buffer
    - ogg_sync_pageout
    - msg_Warn
    - vlc_stream_Seek
    - vlc_stream_Tell
    - ogg_sync_wrote
    linkageType: ''
    returnType: int64_t
    signature: int64_t oggseek_read_page( demux_t *p_demux )
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - unsigned char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 62
    functionName: opus_frame_duration
    functionSourceFile: /src/vlc/modules/demux/opus.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned opus_frame_duration(unsigned char *data, long len)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/demux/gme.c:80,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/gme.c:87,1
    - Dst: gme_identify_header
      Src: /src/vlc/modules/demux/gme.c:90,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/gme.c:93,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/gme.c:98,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/gme.c:104,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/gme.c:105,1
    - Dst: gme_new_emu
      Src: /src/vlc/modules/demux/gme.c:108,1
    - Dst: gme_identify_extension
      Src: /src/vlc/modules/demux/gme.c:108,1
    - Dst: free
      Src: /src/vlc/modules/demux/gme.c:111,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/gme.c:118,1
    - Dst: gme_set_autoload_playback_limit
      Src: /src/vlc/modules/demux/gme.c:119,1
    - Dst: gme_load_custom
      Src: /src/vlc/modules/demux/gme.c:124,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/gme.c:125,1
    - Dst: gme_load_custom
      Src: /src/vlc/modules/demux/gme.c:129,1
    - Dst: gme_start_track
      Src: /src/vlc/modules/demux/gme.c:131,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/gme.c:134,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/gme.c:143,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/gme.c:144,1
    - Dst: gme_delete
      Src: /src/vlc/modules/demux/gme.c:146,1
    - Dst: free
      Src: /src/vlc/modules/demux/gme.c:147,1
    - Dst: date_Init
      Src: /src/vlc/modules/demux/gme.c:150,1
    - Dst: date_Set
      Src: /src/vlc/modules/demux/gme.c:151,1
    - Dst: gme_track_count
      Src: /src/vlc/modules/demux/gme.c:154,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/gme.c:155,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/gme.c:156,1
    - Dst: vlc_input_title_New
      Src: /src/vlc/modules/demux/gme.c:161,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/gme.c:163,1
    - Dst: gme_track_info
      Src: /src/vlc/modules/demux/gme.c:167,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/gme.c:169,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/gme.c:171,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/gme.c:173,1
    - Dst: gme_free_info
      Src: /src/vlc/modules/demux/gme.c:174,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 68
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 183
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/gme.c
    functionUses: 37
    functionsReached:
    - gme_new_emu
    - gme_track_count
    - vlc_alloc
    - es_format_Init
    - vlc_stream_Block
    - gme_load_custom
    - gme_delete
    - gme_start_track
    - vlc_input_title_New
    - msg_Dbg
    - vlc_stream_GetSize
    - strdup
    - var_InheritBool
    - date_Set
    - gme_track_info
    - gme_set_autoload_playback_limit
    - block_Release
    - vlc_stream_Peek
    - gme_identify_header
    - VLC_TICK_FROM_MS
    - date_Init
    - gme_free_info
    - gme_identify_extension
    - free
    - es_out_Add
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open (vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_input_title_Delete
      Src: /src/vlc/modules/demux/gme.c:192,1
    - Dst: free
      Src: /src/vlc/modules/demux/gme.c:193,1
    - Dst: gme_delete
      Src: /src/vlc/modules/demux/gme.c:194,1
    - Dst: free
      Src: /src/vlc/modules/demux/gme.c:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 196
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/gme.c
    functionUses: 124
    functionsReached:
    - free
    - vlc_input_title_Delete
    - gme_delete
    linkageType: ''
    returnType: void
    signature: void Close (vlc_object_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/gme.c:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - data
    - buf
    - length
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 206
    functionName: ReaderStream
    functionSourceFile: /src/vlc/modules/demux/gme.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Read
    linkageType: ''
    returnType: gme_err_t
    signature: gme_err_t ReaderStream (void *data, void *buf, int length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __MIN
      Src: /src/vlc/modules/demux/gme.c:211,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/gme.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - data
    - buf
    - length
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 218
    functionName: ReaderBlock
    functionSourceFile: /src/vlc/modules/demux/gme.c
    functionUses: 0
    functionsReached:
    - memcpy
    - __MIN
    linkageType: ''
    returnType: gme_err_t
    signature: gme_err_t ReaderBlock (void *data, void *buf, int length)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gme_track_ended
      Src: /src/vlc/modules/demux/gme.c:227,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/gme.c:229,1
    - Dst: gme_track_count
      Src: /src/vlc/modules/demux/gme.c:230,1
    - Dst: gme_start_track
      Src: /src/vlc/modules/demux/gme.c:234,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/gme.c:238,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/gme.c:239,1
    - Dst: gme_play
      Src: /src/vlc/modules/demux/gme.c:242,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/gme.c:245,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/gme.c:246,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/gme.c:250,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/gme.c:251,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/gme.c:252,1
    - Dst: date_Increment
      Src: /src/vlc/modules/demux/gme.c:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 255
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/gme.c
    functionUses: 6
    functionsReached:
    - block_Release
    - es_out_Send
    - gme_track_count
    - gme_start_track
    - msg_Err
    - gme_track_ended
    - block_Alloc
    - msg_Dbg
    - date_Get
    - date_Increment
    - gme_play
    - unlikely
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int Demux (demux_t *demux)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/demux/gme.c:265,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/gme.c:270,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/gme.c:272,1
    - Dst: gme_tell
      Src: /src/vlc/modules/demux/gme.c:277,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/gme.c:287,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/gme.c:289,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/demux/gme.c:293,1
    - Dst: gme_seek
      Src: /src/vlc/modules/demux/gme.c:294,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/gme.c:301,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/gme.c:310,1
    - Dst: gme_tell
      Src: /src/vlc/modules/demux/gme.c:310,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/demux/gme.c:316,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/gme.c:316,1
    - Dst: gme_seek
      Src: /src/vlc/modules/demux/gme.c:317,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/gme.c:324,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/gme.c:325,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/gme.c:330,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/gme.c:331,1
    - Dst: vlc_input_title_Duplicate
      Src: /src/vlc/modules/demux/gme.c:335,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/gme.c:341,1
    - Dst: gme_track_count
      Src: /src/vlc/modules/demux/gme.c:342,1
    - Dst: gme_start_track
      Src: /src/vlc/modules/demux/gme.c:344,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/gme.c:352,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/gme.c:363,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/gme.c:370,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 73
    argCount: 3
    argNames:
    - demux
    - query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 377
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/gme.c
    functionUses: 99
    functionsReached:
    - demux_vaControlHelper
    - MS_FROM_VLC_TICK
    - gme_seek
    - vlc_input_title_Duplicate
    - gme_track_count
    - gme_start_track
    - VLC_TICK_FROM_MS
    - gme_tell
    - va_arg
    - vlc_alloc
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Control (demux_t *demux, int query, va_list args)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - a_
    - b_
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 95
    functionName: cue_Compare
    functionSourceFile: /src/vlc/modules/demux/webvtt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cue_Compare( const void *a_, const void *b_ )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_memstream_open
      Src: /src/vlc/modules/demux/webvtt.c:101,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/webvtt.c:104,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/webvtt.c:105,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/webvtt.c:106,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/demux/webvtt.c:112,1
    - Dst: vlc_memstream_write
      Src: /src/vlc/modules/demux/webvtt.c:113,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/demux/webvtt.c:118,1
    - Dst: vlc_memstream_write
      Src: /src/vlc/modules/demux/webvtt.c:119,1
    - Dst: vlc_memstream_write
      Src: /src/vlc/modules/demux/webvtt.c:120,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/demux/webvtt.c:126,1
    - Dst: vlc_memstream_write
      Src: /src/vlc/modules/demux/webvtt.c:127,1
    - Dst: vlc_memstream_write
      Src: /src/vlc/modules/demux/webvtt.c:128,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/demux/webvtt.c:132,1
    - Dst: vlc_memstream_write
      Src: /src/vlc/modules/demux/webvtt.c:133,1
    - Dst: vlc_memstream_write
      Src: /src/vlc/modules/demux/webvtt.c:134,1
    - Dst: vlc_memstream_close
      Src: /src/vlc/modules/demux/webvtt.c:136,1
    - Dst: block_heap_Alloc
      Src: /src/vlc/modules/demux/webvtt.c:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - p_cue
    - b_continued
    argTypes:
    - webvtt_cue_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 139
    functionName: ConvertWEBVTT
    functionSourceFile: /src/vlc/modules/demux/webvtt.c
    functionUses: 0
    functionsReached:
    - vlc_memstream_write
    - strlen
    - vlc_memstream_open
    - SetDWBE
    - vlc_memstream_close
    - block_heap_Alloc
    linkageType: ''
    returnType: block_t
    signature: block_t *ConvertWEBVTT( const webvtt_cue_t *p_cue, bool b_continued
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/demux/webvtt.c:151,1
    - Dst: vlc_memstream_putc
      Src: /src/vlc/modules/demux/webvtt.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - mw
    - psz
    argTypes:
    - struct memstream_wrap*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 154
    functionName: memstream_Append
    functionSourceFile: /src/vlc/modules/demux/webvtt.c
    functionUses: 0
    functionsReached:
    - vlc_memstream_putc
    - vlc_memstream_puts
    linkageType: ''
    returnType: void
    signature: void memstream_Append( struct memstream_wrap *mw, const char *psz )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_memstream_close
      Src: /src/vlc/modules/demux/webvtt.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - mw
    - pp
    - pi
    argTypes:
    - struct memstream_wrap*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 163
    functionName: memstream_Grab
    functionSourceFile: /src/vlc/modules/demux/webvtt.c
    functionUses: 0
    functionsReached:
    - vlc_memstream_close
    linkageType: ''
    returnType: void
    signature: void memstream_Grab( struct memstream_wrap *mw, void **pp, size_t *pi
      )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/vlc/modules/demux/webvtt.c:189,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 202
    functionName: ParserGetCueHandler
    functionSourceFile: /src/vlc/modules/demux/webvtt.c
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: webvtt_cue_t
    signature: webvtt_cue_t * ParserGetCueHandler( void *priv )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: webvtt_cue_Clean
      Src: /src/vlc/modules/demux/webvtt.c:210,1
    - Dst: webvtt_cue_Init
      Src: /src/vlc/modules/demux/webvtt.c:211,1
    - Dst: realloc
      Src: /src/vlc/modules/demux/webvtt.c:224,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - priv
    - p_cue
    argTypes:
    - void*
    - webvtt_cue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 240
    functionName: ParserCueDoneHandler
    functionSourceFile: /src/vlc/modules/demux/webvtt.c
    functionUses: 0
    functionsReached:
    - realloc
    - webvtt_cue_Init
    - webvtt_cue_Clean
    linkageType: ''
    returnType: void
    signature: void ParserCueDoneHandler( void *priv, webvtt_cue_t *p_cue )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/webvtt.c:245,1
    - Dst: memstream_Append
      Src: /src/vlc/modules/demux/webvtt.c:248,1
    - Dst: memstream_Append
      Src: /src/vlc/modules/demux/webvtt.c:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - priv
    - s
    - b_new
    - psz_line
    argTypes:
    - void*
    - enum webvtt_header_line_e
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: ParserHeaderHandler
    functionSourceFile: /src/vlc/modules/demux/webvtt.c
    functionUses: 0
    functionsReached:
    - memstream_Append
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void ParserHeaderHandler( void *priv, enum webvtt_header_line_e s,\n
      \                                bool b_new, const char *psz_line )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/webvtt.c:259,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/webvtt.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: StreamParserGetCueHandler
    functionSourceFile: /src/vlc/modules/demux/webvtt.c
    functionUses: 0
    functionsReached:
    - malloc
    - VLC_UNUSED
    linkageType: ''
    returnType: webvtt_cue_t
    signature: webvtt_cue_t * StreamParserGetCueHandler( void *priv )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ConvertWEBVTT
      Src: /src/vlc/modules/demux/webvtt.c:270,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/webvtt.c:275,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/webvtt.c:283,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/webvtt.c:284,1
    - Dst: webvtt_cue_Clean
      Src: /src/vlc/modules/demux/webvtt.c:287,1
    - Dst: free
      Src: /src/vlc/modules/demux/webvtt.c:288,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - priv
    - p_cue
    argTypes:
    - void*
    - webvtt_cue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 289
    functionName: StreamParserCueDoneHandler
    functionSourceFile: /src/vlc/modules/demux/webvtt.c
    functionUses: 0
    functionsReached:
    - webvtt_cue_Clean
    - es_out_Send
    - free
    - ConvertWEBVTT
    - es_out_SetPCR
    linkageType: ''
    returnType: void
    signature: void StreamParserCueDoneHandler( void *priv, webvtt_cue_t *p_cue )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - a_
    - b_
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 307
    functionName: index_Compare
    functionSourceFile: /src/vlc/modules/demux/webvtt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int index_Compare( const void *a_, const void *b_ )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p_sys
    - i_time
    argTypes:
    - demux_sys_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 317
    functionName: getIndexByTime
    functionSourceFile: /src/vlc/modules/demux/webvtt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getIndexByTime( demux_sys_t *p_sys, vlc_tick_t i_time )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/webvtt.c:325,1
    - Dst: qsort
      Src: /src/vlc/modules/demux/webvtt.c:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts:
    - condition: ( p_sys->index.p_array != NULL )
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/vlc/modules/demux/webvtt.c
    constantsTouched: []
    func_position:
      end: 349
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 349
    functionName: BuildIndex
    functionSourceFile: /src/vlc/modules/demux/webvtt.c
    functionUses: 1
    functionsReached:
    - assert
    - qsort
    linkageType: ''
    returnType: void
    signature: void BuildIndex( demux_t *p_demux )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ConvertWEBVTT
      Src: /src/vlc/modules/demux/webvtt.c:366,1
    - Dst: block_ChainGather
      Src: /src/vlc/modules/demux/webvtt.c:372,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - p_demux
    - i_start
    argTypes:
    - demux_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 373
    functionName: demux_From
    functionSourceFile: /src/vlc/modules/demux/webvtt.c
    functionUses: 0
    functionsReached:
    - ConvertWEBVTT
    - block_ChainGather
    linkageType: ''
    returnType: block_t
    signature: block_t *demux_From( demux_t *p_demux, vlc_tick_t i_start )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: webvtt_text_parser_New
      Src: /src/vlc/modules/demux/webvtt.c:384,1
    - Dst: vlc_memstream_open
      Src: /src/vlc/modules/demux/webvtt.c:390,1
    - Dst: vlc_memstream_open
      Src: /src/vlc/modules/demux/webvtt.c:391,1
    - Dst: vlc_stream_ReadLine
      Src: /src/vlc/modules/demux/webvtt.c:394,1
    - Dst: webvtt_text_parser_Feed
      Src: /src/vlc/modules/demux/webvtt.c:395,1
    - Dst: webvtt_text_parser_Feed
      Src: /src/vlc/modules/demux/webvtt.c:396,1
    - Dst: qsort
      Src: /src/vlc/modules/demux/webvtt.c:399,1
    - Dst: BuildIndex
      Src: /src/vlc/modules/demux/webvtt.c:401,1
    - Dst: memstream_Grab
      Src: /src/vlc/modules/demux/webvtt.c:403,1
    - Dst: memstream_Grab
      Src: /src/vlc/modules/demux/webvtt.c:405,1
    - Dst: webvtt_text_parser_Delete
      Src: /src/vlc/modules/demux/webvtt.c:408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 411
    functionName: ReadWEBVTT
    functionSourceFile: /src/vlc/modules/demux/webvtt.c
    functionUses: 0
    functionsReached:
    - memstream_Grab
    - BuildIndex
    - webvtt_text_parser_Delete
    - vlc_memstream_open
    - webvtt_text_parser_Feed
    - qsort
    - vlc_stream_ReadLine
    - webvtt_text_parser_New
    linkageType: ''
    returnType: int
    signature: int ReadWEBVTT( demux_t *p_demux )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_memstream_open
      Src: /src/vlc/modules/demux/webvtt.c:416,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/demux/webvtt.c:418,1
    - Dst: vlc_memstream_write
      Src: /src/vlc/modules/demux/webvtt.c:419,1
    - Dst: vlc_memstream_write
      Src: /src/vlc/modules/demux/webvtt.c:421,1
    - Dst: vlc_memstream_close
      Src: /src/vlc/modules/demux/webvtt.c:423,1
    - Dst: free
      Src: /src/vlc/modules/demux/webvtt.c:430,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - p_sys
    - p_extra
    - pi_extra
    argTypes:
    - demux_sys_t*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 432
    functionName: MakeExtradata
    functionSourceFile: /src/vlc/modules/demux/webvtt.c
    functionUses: 0
    functionsReached:
    - vlc_memstream_write
    - vlc_memstream_puts
    - vlc_memstream_open
    - free
    - vlc_memstream_close
    linkageType: ''
    returnType: void
    signature: void MakeExtradata( demux_sys_t *p_sys, void **p_extra, size_t *pi_extra
      )
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/demux/webvtt.c:445,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/webvtt.c:453,1
    - Dst: getIndexByTime
      Src: /src/vlc/modules/demux/webvtt.c:459,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/webvtt.c:459,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/webvtt.c:469,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/webvtt.c:477,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/webvtt.c:488,1
    - Dst: getIndexByTime
      Src: /src/vlc/modules/demux/webvtt.c:489,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/webvtt.c:500,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/webvtt.c:506,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 59
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 520
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/webvtt.c
    functionUses: 99
    functionsReached:
    - demux_vaControlHelper
    - va_arg
    - VLC_TICK_FROM_MS
    - getIndexByTime
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 539
    functionName: ControlStream
    functionSourceFile: /src/vlc/modules/demux/webvtt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ControlStream( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: demux_From
      Src: /src/vlc/modules/demux/webvtt.c:566,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/webvtt.c:580,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/webvtt.c:584,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/webvtt.c:597,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/demux/webvtt.c:598,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 544
    functionDepth: 3
    functionLinenumber: 544
    functionLinenumberEnd: 605
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/webvtt.c
    functionUses: 6
    functionsReached:
    - VLC_TICK_FROM_SEC
    - demux_From
    - es_out_SetPCR
    - es_out_Send
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_ReadLine
      Src: /src/vlc/modules/demux/webvtt.c:611,1
    - Dst: webvtt_text_parser_Feed
      Src: /src/vlc/modules/demux/webvtt.c:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 615
    functionName: DemuxStream
    functionSourceFile: /src/vlc/modules/demux/webvtt.c
    functionUses: 0
    functionsReached:
    - vlc_stream_ReadLine
    - webvtt_text_parser_Feed
    linkageType: ''
    returnType: int
    signature: int DemuxStream( demux_t *p_demux )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/webvtt.c:623,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/webvtt.c:627,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/webvtt.c:630,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/webvtt.c:637,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 642
    functionName: ProbeWEBVTT
    functionSourceFile: /src/vlc/modules/demux/webvtt.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    - memcmp
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int ProbeWEBVTT( demux_t *p_demux )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ProbeWEBVTT
      Src: /src/vlc/modules/demux/webvtt.c:652,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/webvtt.c:659,1
    - Dst: ReadWEBVTT
      Src: /src/vlc/modules/demux/webvtt.c:663,1
    - Dst: webvtt_CloseDemux
      Src: /src/vlc/modules/demux/webvtt.c:665,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/webvtt.c:670,1
    - Dst: MakeExtradata
      Src: /src/vlc/modules/demux/webvtt.c:672,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/webvtt.c:675,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/webvtt.c:676,1
    - Dst: webvtt_CloseDemux
      Src: /src/vlc/modules/demux/webvtt.c:679,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 647
    functionDepth: 3
    functionLinenumber: 647
    functionLinenumberEnd: 684
    functionName: webvtt_OpenDemux
    functionSourceFile: /src/vlc/modules/demux/webvtt.c
    functionUses: 0
    functionsReached:
    - ProbeWEBVTT
    - es_format_Clean
    - MakeExtradata
    - ReadWEBVTT
    - webvtt_CloseDemux
    - calloc
    - es_out_Add
    - es_format_Init
    linkageType: ''
    returnType: int
    signature: int webvtt_OpenDemux ( vlc_object_t *p_this )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ProbeWEBVTT
      Src: /src/vlc/modules/demux/webvtt.c:691,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/webvtt.c:698,1
    - Dst: webvtt_text_parser_New
      Src: /src/vlc/modules/demux/webvtt.c:702,1
    - Dst: webvtt_CloseDemux
      Src: /src/vlc/modules/demux/webvtt.c:708,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/webvtt.c:713,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/webvtt.c:714,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/webvtt.c:715,1
    - Dst: webvtt_CloseDemux
      Src: /src/vlc/modules/demux/webvtt.c:718,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 686
    functionDepth: 2
    functionLinenumber: 686
    functionLinenumberEnd: 723
    functionName: webvtt_OpenDemuxStream
    functionSourceFile: /src/vlc/modules/demux/webvtt.c
    functionUses: 0
    functionsReached:
    - ProbeWEBVTT
    - es_format_Clean
    - webvtt_CloseDemux
    - calloc
    - es_out_Add
    - es_format_Init
    - webvtt_text_parser_New
    linkageType: ''
    returnType: int
    signature: int webvtt_OpenDemuxStream ( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: webvtt_cue_Clean
      Src: /src/vlc/modules/demux/webvtt.c:734,1
    - Dst: free
      Src: /src/vlc/modules/demux/webvtt.c:735,1
    - Dst: free
      Src: /src/vlc/modules/demux/webvtt.c:737,1
    - Dst: webvtt_text_parser_Feed
      Src: /src/vlc/modules/demux/webvtt.c:741,1
    - Dst: webvtt_text_parser_Delete
      Src: /src/vlc/modules/demux/webvtt.c:742,1
    - Dst: free
      Src: /src/vlc/modules/demux/webvtt.c:745,1
    - Dst: free
      Src: /src/vlc/modules/demux/webvtt.c:746,1
    - Dst: free
      Src: /src/vlc/modules/demux/webvtt.c:748,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 749
    functionName: webvtt_CloseDemux
    functionSourceFile: /src/vlc/modules/demux/webvtt.c
    functionUses: 2
    functionsReached:
    - free
    - webvtt_text_parser_Delete
    - webvtt_text_parser_Feed
    - webvtt_cue_Clean
    linkageType: ''
    returnType: void
    signature: void webvtt_CloseDemux( vlc_object_t *p_this )
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/demux/ttml.c:81,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/ttml.c:84,1
    - Dst: tt_time_Create
      Src: /src/vlc/modules/demux/ttml.c:89,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/ttml.c:89,1
    - Dst: tt_timings_FindLowerIndex
      Src: /src/vlc/modules/demux/ttml.c:90,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/ttml.c:98,1
    - Dst: tt_time_Sub
      Src: /src/vlc/modules/demux/ttml.c:104,1
    - Dst: tt_time_Convert
      Src: /src/vlc/modules/demux/ttml.c:106,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/ttml.c:111,1
    - Dst: tt_time_Convert
      Src: /src/vlc/modules/demux/ttml.c:118,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/ttml.c:119,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/ttml.c:127,1
    - Dst: tt_time_Convert
      Src: /src/vlc/modules/demux/ttml.c:130,1
    - Dst: tt_time_Create
      Src: /src/vlc/modules/demux/ttml.c:131,1
    - Dst: tt_timings_FindLowerIndex
      Src: /src/vlc/modules/demux/ttml.c:132,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/ttml.c:142,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 61
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 156
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/ttml.c
    functionUses: 99
    functionsReached:
    - tt_time_Create
    - demux_vaControlHelper
    - VLC_TICK_FROM_MS
    - tt_timings_FindLowerIndex
    - tt_time_Convert
    - va_arg
    - tt_time_Sub
    linkageType: ''
    returnType: int
    signature: int Control( demux_t* p_demux, int i_query, va_list args )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderNextNodeNS
      Src: /src/vlc/modules/demux/ttml.c:165,1
    - Dst: xml_ReaderIsEmptyElement
      Src: /src/vlc/modules/demux/ttml.c:166,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/ttml.c:177,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/ttml.c:178,1
    - Dst: tt_LocalName
      Src: /src/vlc/modules/demux/ttml.c:178,1
    - Dst: tt_node_NewRead
      Src: /src/vlc/modules/demux/ttml.c:182,1
    - Dst: tt_nodes_Read
      Src: /src/vlc/modules/demux/ttml.c:188,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/ttml.c:195,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 206
    functionName: ReadTTML
    functionSourceFile: /src/vlc/modules/demux/ttml.c
    functionUses: 0
    functionsReached:
    - strcmp
    - tt_nodes_Read
    - tt_LocalName
    - xml_ReaderIsEmptyElement
    - tt_node_NewRead
    - xml_ReaderNextNodeNS
    linkageType: ''
    returnType: int
    signature: int ReadTTML( demux_t* p_demux )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tt_time_Convert
      Src: /src/vlc/modules/demux/ttml.c:214,1
    - Dst: tt_time_Convert
      Src: /src/vlc/modules/demux/ttml.c:217,1
    - Dst: tt_time_Convert
      Src: /src/vlc/modules/demux/ttml.c:219,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/ttml.c:223,1
    - Dst: vlc_memstream_open
      Src: /src/vlc/modules/demux/ttml.c:229,1
    - Dst: tt_node_ToText
      Src: /src/vlc/modules/demux/ttml.c:232,1
    - Dst: vlc_memstream_close
      Src: /src/vlc/modules/demux/ttml.c:235,1
    - Dst: block_heap_Alloc
      Src: /src/vlc/modules/demux/ttml.c:237,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/ttml.c:244,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/ttml.c:253,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/ttml.c:254,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 261
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/ttml.c
    functionUses: 8
    functionsReached:
    - tt_node_ToText
    - es_out_Send
    - vlc_memstream_open
    - VLC_TICK_FROM_MS
    - tt_time_Convert
    - vlc_memstream_close
    - block_heap_Alloc
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t* p_demux )
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/ttml.c:269,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/ttml.c:270,1
    - Dst: GetQWBE
      Src: /src/vlc/modules/demux/ttml.c:278,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/demux/ttml.c:281,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/demux/ttml.c:282,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/demux/ttml.c:283,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/demux/ttml.c:284,1
    - Dst: FromCharset
      Src: /src/vlc/modules/demux/ttml.c:285,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/demux/ttml.c:287,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/demux/ttml.c:288,1
    - Dst: FromCharset
      Src: /src/vlc/modules/demux/ttml.c:289,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/demux/ttml.c:291,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/demux/ttml.c:292,1
    - Dst: FromCharset
      Src: /src/vlc/modules/demux/ttml.c:293,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/demux/ttml.c:295,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/demux/ttml.c:296,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/demux/ttml.c:297,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/ttml.c:300,1
    - Dst: UINT32_C
      Src: /src/vlc/modules/demux/ttml.c:300,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/ttml.c:307,1
    - Dst: strnstr
      Src: /src/vlc/modules/demux/ttml.c:311,1
    - Dst: isalpha
      Src: /src/vlc/modules/demux/ttml.c:313,1
    - Dst: free
      Src: /src/vlc/modules/demux/ttml.c:316,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/ttml.c:329,1
    - Dst: strnstr
      Src: /src/vlc/modules/demux/ttml.c:331,1
    - Dst: free
      Src: /src/vlc/modules/demux/ttml.c:334,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/ttml.c:339,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/ttml.c:340,1
    - Dst: tt_time_Init
      Src: /src/vlc/modules/demux/ttml.c:345,1
    - Dst: tt_time_Init
      Src: /src/vlc/modules/demux/ttml.c:346,1
    - Dst: tt_time_Init
      Src: /src/vlc/modules/demux/ttml.c:347,1
    - Dst: tt_namespaces_Init
      Src: /src/vlc/modules/demux/ttml.c:349,1
    - Dst: xml_Create
      Src: /src/vlc/modules/demux/ttml.c:351,1
    - Dst: xml_ReaderCreate
      Src: /src/vlc/modules/demux/ttml.c:355,1
    - Dst: ReadTTML
      Src: /src/vlc/modules/demux/ttml.c:363,1
    - Dst: tt_timings_Resolve
      Src: /src/vlc/modules/demux/ttml.c:366,1
    - Dst: vlc_memstream_open
      Src: /src/vlc/modules/demux/ttml.c:373,1
    - Dst: tt_time_Init
      Src: /src/vlc/modules/demux/ttml.c:377,1
    - Dst: tt_node_ToText
      Src: /src/vlc/modules/demux/ttml.c:378,1
    - Dst: vlc_memstream_putc
      Src: /src/vlc/modules/demux/ttml.c:380,1
    - Dst: vlc_memstream_close
      Src: /src/vlc/modules/demux/ttml.c:382,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/ttml.c:384,1
    - Dst: free
      Src: /src/vlc/modules/demux/ttml.c:385,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/ttml.c:394,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/ttml.c:396,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/ttml.c:400,1
    - Dst: tt_CloseDemux
      Src: /src/vlc/modules/demux/ttml.c:405,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 89
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 408
    functionName: tt_OpenDemux
    functionSourceFile: /src/vlc/modules/demux/ttml.c
    functionUses: 0
    functionsReached:
    - tt_node_ToText
    - vlc_memstream_open
    - es_format_Init
    - isalpha
    - ARRAY_SIZE
    - tt_namespaces_Init
    - calloc
    - UINT64_C
    - strnstr
    - tt_timings_Resolve
    - GetQWBE
    - msg_Dbg
    - ReadTTML
    - vlc_memstream_putc
    - GetDWBE
    - vlc_memstream_close
    - FromCharset
    - UINT32_C
    - tt_CloseDemux
    - vlc_stream_Peek
    - xml_Create
    - es_format_Clean
    - strlen
    - xml_ReaderCreate
    - free
    - es_out_Add
    - tt_time_Init
    - unlikely
    linkageType: ''
    returnType: int
    signature: int tt_OpenDemux( vlc_object_t* p_this )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tt_node_RecursiveDelete
      Src: /src/vlc/modules/demux/ttml.c:416,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/demux/ttml.c:419,1
    - Dst: xml_ReaderDelete
      Src: /src/vlc/modules/demux/ttml.c:422,1
    - Dst: xml_Delete
      Src: /src/vlc/modules/demux/ttml.c:425,1
    - Dst: tt_namespaces_Clean
      Src: /src/vlc/modules/demux/ttml.c:427,1
    - Dst: free
      Src: /src/vlc/modules/demux/ttml.c:429,1
    - Dst: free
      Src: /src/vlc/modules/demux/ttml.c:431,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 432
    functionName: tt_CloseDemux
    functionSourceFile: /src/vlc/modules/demux/ttml.c
    functionUses: 3
    functionsReached:
    - tt_node_RecursiveDelete
    - free
    - es_out_Del
    - tt_namespaces_Clean
    - xml_ReaderDelete
    - xml_Delete
    linkageType: ''
    returnType: void
    signature: void tt_CloseDemux( vlc_object_t* p_this )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mjpeg.c:98,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mjpeg.c:102,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mjpeg.c:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - p_demux
    - b_first
    argTypes:
    - demux_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 112
    functionName: Peek
    functionSourceFile: /src/vlc/modules/demux/mjpeg.c
    functionUses: 78
    functionsReached:
    - vlc_stream_Peek
    - msg_Warn
    linkageType: ''
    returnType: bool
    signature: bool Peek( demux_t *p_demux, bool b_first )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Peek
      Src: /src/vlc/modules/demux/mjpeg.c:127,1
    - Dst: Peek
      Src: /src/vlc/modules/demux/mjpeg.c:140,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/demux/mjpeg.c:153,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mjpeg.c:153,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mjpeg.c:154,1
    - Dst: strncpy
      Src: /src/vlc/modules/demux/mjpeg.c:156,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - p_demux
    - p_pos
    argTypes:
    - demux_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 159
    functionName: GetLine
    functionSourceFile: /src/vlc/modules/demux/mjpeg.c
    functionUses: 27
    functionsReached:
    - Peek
    - vlc_obj_malloc
    - strncpy
    - VLC_OBJECT
    - unlikely
    linkageType: ''
    returnType: char
    signature: char * GetLine( demux_t *p_demux, int *p_pos )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Peek
      Src: /src/vlc/modules/demux/mjpeg.c:176,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mjpeg.c:178,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mjpeg.c:183,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/mjpeg.c:186,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/mjpeg.c:187,1
    - Dst: GetLine
      Src: /src/vlc/modules/demux/mjpeg.c:195,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mjpeg.c:198,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mjpeg.c:206,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/mjpeg.c:211,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mjpeg.c:213,1
    - Dst: vlc_obj_free
      Src: /src/vlc/modules/demux/mjpeg.c:216,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mjpeg.c:216,1
    - Dst: GetLine
      Src: /src/vlc/modules/demux/mjpeg.c:220,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/mjpeg.c:223,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/mjpeg.c:227,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mjpeg.c:229,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mjpeg.c:239,1
    - Dst: vlc_obj_free
      Src: /src/vlc/modules/demux/mjpeg.c:241,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mjpeg.c:241,1
    - Dst: GetLine
      Src: /src/vlc/modules/demux/mjpeg.c:242,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mjpeg.c:247,1
    - Dst: vlc_obj_free
      Src: /src/vlc/modules/demux/mjpeg.c:251,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mjpeg.c:251,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 2
    argNames:
    - p_demux
    - p_header_size
    argTypes:
    - demux_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 255
    functionName: CheckMimeHeader
    functionSourceFile: /src/vlc/modules/demux/mjpeg.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - Peek
    - GetLine
    - vlc_obj_free
    - msg_Err
    - strncmp
    - strcmp
    - msg_Dbg
    - VLC_OBJECT
    - msg_Warn
    linkageType: ''
    returnType: bool
    signature: bool CheckMimeHeader( demux_t *p_demux, int *p_header_size )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/mjpeg.c:262,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mjpeg.c:264,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/demux/mjpeg.c:275,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/mjpeg.c:279,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/mjpeg.c:280,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/demux/mjpeg.c:283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - p_demux
    - i
    argTypes:
    - demux_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 286
    functionName: SendBlock
    functionSourceFile: /src/vlc/modules/demux/mjpeg.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - es_out_Send
    - vlc_stream_Block
    - msg_Warn
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int SendBlock( demux_t *p_demux, int i )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: IsMxpeg
      Src: /src/vlc/modules/demux/mjpeg.c:297,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/demux/mjpeg.c:301,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mjpeg.c:302,1
    - Dst: stream_ContentType
      Src: /src/vlc/modules/demux/mjpeg.c:313,1
    - Dst: strstr
      Src: /src/vlc/modules/demux/mjpeg.c:317,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/mjpeg.c:320,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/mjpeg.c:321,1
    - Dst: vlc_obj_strdup
      Src: /src/vlc/modules/demux/mjpeg.c:328,1
    - Dst: free
      Src: /src/vlc/modules/demux/mjpeg.c:331,1
    - Dst: free
      Src: /src/vlc/modules/demux/mjpeg.c:335,1
    - Dst: CheckMimeHeader
      Src: /src/vlc/modules/demux/mjpeg.c:338,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/mjpeg.c:342,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mjpeg.c:350,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/demux/mjpeg.c:365,1
    - Dst: demux_IsPathExtension
      Src: /src/vlc/modules/demux/mjpeg.c:368,1
    - Dst: demux_IsPathExtension
      Src: /src/vlc/modules/demux/mjpeg.c:369,1
    - Dst: vlc_tick_rate_duration
      Src: /src/vlc/modules/demux/mjpeg.c:379,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/mjpeg.c:381,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/mjpeg.c:384,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mjpeg.c:385,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 58
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 291
    functionDepth: 3
    functionLinenumber: 291
    functionLinenumberEnd: 390
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/mjpeg.c
    functionUses: 37
    functionsReached:
    - var_InheritFloat
    - vlc_obj_malloc
    - strlen
    - CheckMimeHeader
    - free
    - es_format_Init
    - vlc_stream_Read
    - msg_Dbg
    - strstr
    - stream_ContentType
    - vlc_obj_strdup
    - demux_IsPathExtension
    - IsMxpeg
    - vlc_tick_rate_duration
    - es_out_Add
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t * p_this )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_wait
      Src: /src/vlc/modules/demux/mjpeg.c:405,1
    - Dst: Peek
      Src: /src/vlc/modules/demux/mjpeg.c:410,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mjpeg.c:412,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mjpeg.c:417,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mjpeg.c:427,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mjpeg.c:432,1
    - Dst: Peek
      Src: /src/vlc/modules/demux/mjpeg.c:434,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mjpeg.c:436,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mjpeg.c:443,1
    - Dst: SendBlock
      Src: /src/vlc/modules/demux/mjpeg.c:448,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 449
    functionName: MjpgDemux
    functionSourceFile: /src/vlc/modules/demux/mjpeg.c
    functionUses: 0
    functionsReached:
    - vlc_tick_wait
    - Peek
    - SendBlock
    - msg_Dbg
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int MjpgDemux( demux_t *p_demux )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CheckMimeHeader
      Src: /src/vlc/modules/demux/mjpeg.c:456,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/mjpeg.c:460,1
    - Dst: Peek
      Src: /src/vlc/modules/demux/mjpeg.c:473,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mjpeg.c:475,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/mjpeg.c:480,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mjpeg.c:484,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mjpeg.c:496,1
    - Dst: Peek
      Src: /src/vlc/modules/demux/mjpeg.c:499,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mjpeg.c:501,1
    - Dst: Peek
      Src: /src/vlc/modules/demux/mjpeg.c:512,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mjpeg.c:514,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/mjpeg.c:520,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/mjpeg.c:522,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/mjpeg.c:523,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mjpeg.c:534,1
    - Dst: SendBlock
      Src: /src/vlc/modules/demux/mjpeg.c:538,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 451
    functionDepth: 3
    functionLinenumber: 451
    functionLinenumberEnd: 539
    functionName: MimeDemux
    functionSourceFile: /src/vlc/modules/demux/mjpeg.c
    functionUses: 0
    functionsReached:
    - Peek
    - SendBlock
    - strlen
    - CheckMimeHeader
    - msg_Err
    - strncmp
    - vlc_stream_Read
    - msg_Dbg
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int MimeDemux( demux_t *p_demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/mjpeg.c:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 547
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/mjpeg.c
    functionUses: 99
    functionsReached:
    - demux_vaControlHelper
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritString
      Src: /src/vlc/modules/demux/demuxdump.c:73,1
    - Dst: var_Create
      Src: /src/vlc/modules/demux/demuxdump.c:78,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/demuxdump.c:79,1
    - Dst: var_SetBool
      Src: /src/vlc/modules/demux/demuxdump.c:80,1
    - Dst: var_Create
      Src: /src/vlc/modules/demux/demuxdump.c:82,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/demux/demuxdump.c:84,1
    - Dst: free
      Src: /src/vlc/modules/demux/demuxdump.c:87,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/demuxdump.c:88,1
    - Dst: sout_AccessOutNew
      Src: /src/vlc/modules/demux/demuxdump.c:92,1
    - Dst: free
      Src: /src/vlc/modules/demux/demuxdump.c:93,1
    - Dst: free
      Src: /src/vlc/modules/demux/demuxdump.c:94,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/demuxdump.c:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 105
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/demuxdump.c
    functionUses: 37
    functionsReached:
    - var_InheritString
    - var_InheritBool
    - var_Create
    - msg_Err
    - free
    - var_SetBool
    - sout_AccessOutNew
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t * p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sout_AccessOutDelete
      Src: /src/vlc/modules/demux/demuxdump.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/demuxdump.c
    functionUses: 124
    functionsReached:
    - sout_AccessOutDelete
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/demuxdump.c:125,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/demuxdump.c:126,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/demuxdump.c:129,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/demuxdump.c:132,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/demux/demuxdump.c:137,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/demuxdump.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 144
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/demuxdump.c
    functionUses: 9
    functionsReached:
    - block_Release
    - sout_AccessOutWrite
    - msg_Err
    - block_Alloc
    - vlc_stream_Read
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/demuxdump.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/demuxdump.c
    functionUses: 99
    functionsReached:
    - demux_vaControlHelper
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/stl.c:75,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/stl.c:76,1
    - Dst: strtol
      Src: /src/vlc/modules/demux/stl.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (size < sizeof(tmp))
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/vlc/modules/demux/stl.c
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: ParseInteger
    functionSourceFile: /src/vlc/modules/demux/stl.c
    functionUses: 0
    functionsReached:
    - strtol
    - assert
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t ParseInteger(uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - fps
    argTypes:
    - uint8_t*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: ParseTimeCode
    functionSourceFile: /src/vlc/modules/demux/stl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t ParseTimeCode(uint8_t *data, double fps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseInteger
      Src: /src/vlc/modules/demux/stl.c:92,1
    - Dst: ParseTimeCode
      Src: /src/vlc/modules/demux/stl.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - fps
    argTypes:
    - uint8_t*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: ParseTextTimeCode
    functionSourceFile: /src/vlc/modules/demux/stl.c
    functionUses: 0
    functionsReached:
    - ParseInteger
    - ParseTimeCode
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t ParseTextTimeCode(uint8_t *data, double fps)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_vaControl
      Src: /src/vlc/modules/demux/stl.c:101,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/stl.c:108,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/demux/stl.c:109,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/demux/stl.c:109,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/stl.c:117,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/stl.c:121,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/stl.c:125,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/stl.c:137,1
    - Dst: demux_Control
      Src: /src/vlc/modules/demux/stl.c:141,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/stl.c:147,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/demux/stl.c:154,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/demux/stl.c:154,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/stl.c:170,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 60
    argCount: 3
    argNames:
    - demux
    - query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 176
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/stl.c
    functionUses: 100
    functionsReached:
    - demux_vaControlHelper
    - vlc_object_parent
    - demux_Control
    - va_arg
    - vlc_stream_Seek
    - var_GetInteger
    - vlc_stream_vaControl
    linkageType: ''
    returnType: int
    signature: int Control(demux_t *demux, int query, va_list args)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: var_GetInteger
      Src: /src/vlc/modules/demux/stl.c:183,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/demux/stl.c:183,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/stl.c:194,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/stl.c:200,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/stl.c:201,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/stl.c:204,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/stl.c:211,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/stl.c:216,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/stl.c:224,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/stl.c:225,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 229
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/stl.c
    functionUses: 9
    functionsReached:
    - block_Release
    - vlc_object_parent
    - es_out_Send
    - VLC_TICK_FROM_MS
    - vlc_stream_Seek
    - vlc_stream_Block
    - var_GetInteger
    - vlc_stream_Tell
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int Demux(demux_t *demux)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/stl.c:236,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/stl.c:239,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/stl.c:240,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/stl.c:246,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/stl.c:247,1
    - Dst: ParseInteger
      Src: /src/vlc/modules/demux/stl.c:250,1
    - Dst: ParseTextTimeCode
      Src: /src/vlc/modules/demux/stl.c:251,1
    - Dst: ParseInteger
      Src: /src/vlc/modules/demux/stl.c:252,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/stl.c:255,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/stl.c:257,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/stl.c:266,1
    - Dst: free
      Src: /src/vlc/modules/demux/stl.c:269,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/stl.c:279,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/stl.c:280,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/stl.c:281,1
    - Dst: ParseTimeCode
      Src: /src/vlc/modules/demux/stl.c:292,1
    - Dst: ParseTimeCode
      Src: /src/vlc/modules/demux/stl.c:293,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/stl.c:305,1
    - Dst: Close
      Src: /src/vlc/modules/demux/stl.c:307,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/stl.c:312,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/stl.c:317,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/stl.c:320,1
    - Dst: Close
      Src: /src/vlc/modules/demux/stl.c:324,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 67
    argCount: 1
    argNames:
    - object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 231
    functionDepth: 3
    functionLinenumber: 231
    functionLinenumberEnd: 332
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/stl.c
    functionUses: 37
    functionsReached:
    - ParseTextTimeCode
    - Close
    - vlc_stream_Peek
    - ParseTimeCode
    - es_format_Clean
    - ParseInteger
    - msg_Err
    - calloc
    - malloc
    - free
    - vlc_stream_Read
    - msg_Dbg
    - es_out_Add
    - msg_Warn
    - vlc_stream_Seek
    - es_format_Init
    - memcmp
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/stl.c:339,1
    - Dst: free
      Src: /src/vlc/modules/demux/stl.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 341
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/stl.c
    functionUses: 125
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct moving_average_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: mva_init
    functionSourceFile: /src/vlc/modules/demux/moving_avg.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mva_init(struct moving_average_s *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - m
    - dts
    - duration
    argTypes:
    - struct moving_average_s*
    - vlc_tick_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: mva_add
    functionSourceFile: /src/vlc/modules/demux/moving_avg.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mva_add(struct moving_average_s *m,\n                     vlc_tick_t
      dts, vlc_tick_t duration)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/vlc/modules/demux/moving_avg.h:61,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct moving_average_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 91
    functionName: mva_get
    functionSourceFile: /src/vlc/modules/demux/moving_avg.h
    functionUses: 1
    functionsReached:
    - likely
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t mva_get(const struct moving_average_s *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct moving_average_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: mva_getLastPacket
    functionSourceFile: /src/vlc/modules/demux/moving_avg.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct mva_packet_s
    signature: struct mva_packet_s * mva_getLastPacket(struct moving_average_s *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mva_getLastPacket
      Src: /src/vlc/modules/demux/moving_avg.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct moving_average_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: mva_getLastDTS
    functionSourceFile: /src/vlc/modules/demux/moving_avg.h
    functionUses: 1
    functionsReached:
    - mva_getLastPacket
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t mva_getLastDTS(struct moving_average_s *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: adaptive::TrackerEvent::TrackerEvent
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrackerEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: ~TrackerEvent()
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TrackerEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: ~DiscontinuityEvent()
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DiscontinuityEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: ~SegmentGapEvent()
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SegmentGapEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: adaptive::RepresentationSwitchEvent::RepresentationSwitchEvent
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepresentationSwitchEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: ~RepresentationSwitchEvent()
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RepresentationSwitchEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: ~RepresentationUpdatedEvent()
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RepresentationUpdatedEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: ~RepresentationUpdateFailedEvent()
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RepresentationUpdateFailedEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: adaptive::FormatChangedEvent::FormatChangedEvent
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FormatChangedEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: ~FormatChangedEvent()
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FormatChangedEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: adaptive::SegmentChangedEvent::SegmentChangedEvent
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SegmentChangedEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: ~SegmentChangedEvent()
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SegmentChangedEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: adaptive::BufferingStateUpdatedEvent::BufferingStateUpdatedEvent
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BufferingStateUpdatedEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: ~BufferingStateUpdatedEvent()
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BufferingStateUpdatedEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: adaptive::BufferingLevelChangedEvent::BufferingLevelChangedEvent
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BufferingLevelChangedEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 176
    functionName: ~BufferingLevelChangedEvent()
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BufferingLevelChangedEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: ~PositionChangedEvent()
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PositionChangedEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: adaptive::TrackerEvent::TrackerEvent
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrackerEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: ~TrackerEvent()
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TrackerEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: ~DiscontinuityEvent()
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DiscontinuityEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: ~SegmentGapEvent()
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SegmentGapEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: adaptive::RepresentationSwitchEvent::RepresentationSwitchEvent
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepresentationSwitchEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: ~RepresentationSwitchEvent()
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RepresentationSwitchEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: ~RepresentationUpdatedEvent()
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RepresentationUpdatedEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: ~RepresentationUpdateFailedEvent()
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RepresentationUpdateFailedEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: adaptive::FormatChangedEvent::FormatChangedEvent
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FormatChangedEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: ~FormatChangedEvent()
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FormatChangedEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: adaptive::SegmentChangedEvent::SegmentChangedEvent
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SegmentChangedEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: ~SegmentChangedEvent()
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SegmentChangedEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: adaptive::BufferingStateUpdatedEvent::BufferingStateUpdatedEvent
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BufferingStateUpdatedEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: ~BufferingStateUpdatedEvent()
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BufferingStateUpdatedEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: adaptive::BufferingLevelChangedEvent::BufferingLevelChangedEvent
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BufferingLevelChangedEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 176
    functionName: ~BufferingLevelChangedEvent()
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BufferingLevelChangedEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: ~PositionChangedEvent()
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PositionChangedEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: adaptive::Timescale::Timescale
    functionSourceFile: /src/vlc/modules/demux/adaptive/Time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Timescale(uint64_t v = 0)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - stime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: adaptive::Timescale::ToTime
    functionSourceFile: /src/vlc/modules/demux/adaptive/Time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t ToTime(stime_t t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: adaptive::Timescale::ToScaled
    functionSourceFile: /src/vlc/modules/demux/adaptive/Time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: stime_t
    signature: stime_t ToScaled(vlc_tick_t t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: adaptive::Timescale::isValid
    functionSourceFile: /src/vlc/modules/demux/adaptive/Time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: operator uint64_t() const
    functionSourceFile: /src/vlc/modules/demux/adaptive/Time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator uint64_t() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: adaptive::SegmentTimes::SegmentTimes
    functionSourceFile: /src/vlc/modules/demux/adaptive/Time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SegmentTimes()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - vlc_tick_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: adaptive::SegmentTimes::SegmentTimes
    functionSourceFile: /src/vlc/modules/demux/adaptive/Time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SegmentTimes(vlc_tick_t a, vlc_tick_t b, vlc_tick_t c = VLC_TICK_INVALID)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - v
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: adaptive::SegmentTimes::offsetBy
    functionSourceFile: /src/vlc/modules/demux/adaptive/Time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void offsetBy(vlc_tick_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: adaptive::Times::Times
    functionSourceFile: /src/vlc/modules/demux/adaptive/Time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Times()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - a
    argTypes:
    - SegmentTimes
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: adaptive::Times::Times
    functionSourceFile: /src/vlc/modules/demux/adaptive/Time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Times(const SegmentTimes &s, vlc_tick_t a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: adaptive::Times::offsetBy
      Src: /src/vlc/modules/demux/adaptive/Time.hpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: adaptive::Times::offsetBy
    functionSourceFile: /src/vlc/modules/demux/adaptive/Time.hpp
    functionUses: 1
    functionsReached:
    - adaptive::Times::offsetBy
    linkageType: ''
    returnType: void
    signature: void offsetBy(vlc_tick_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: adaptive::SynchronizationReferences::SynchronizationReferences
    functionSourceFile: /src/vlc/modules/demux/adaptive/Time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SynchronizationReferences()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: INT64_C
      Src: /src/vlc/modules/demux/adaptive/Time.hpp:125,1
    - Dst: size
      Src: /src/vlc/modules/demux/adaptive/Time.hpp:130,1
    - Dst: pop_back
      Src: /src/vlc/modules/demux/adaptive/Time.hpp:131,1
    - Dst: push_front
      Src: /src/vlc/modules/demux/adaptive/Time.hpp:132,1
    - Dst: SynchronizationReference
      Src: /src/vlc/modules/demux/adaptive/Time.hpp:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - seq
    - t
    argTypes:
    - uint64_t
    - Times
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 133
    functionName: adaptive::SynchronizationReferences::addReference
    functionSourceFile: /src/vlc/modules/demux/adaptive/Time.hpp
    functionUses: 0
    functionsReached:
    - SynchronizationReference
    - size
    - INT64_C
    - pop_back
    - push_front
    linkageType: ''
    returnType: void
    signature: void addReference(uint64_t seq, const Times &t)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - seq
    - ref
    argTypes:
    - uint64_t
    - SynchronizationReference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 145
    functionName: adaptive::SynchronizationReferences::getReference
    functionSourceFile: /src/vlc/modules/demux/adaptive/Time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool getReference(uint64_t seq, vlc_tick_t,\n                          SynchronizationReference
      &ref) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: adaptive::Timescale::Timescale
    functionSourceFile: /src/vlc/modules/demux/adaptive/Time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Timescale(uint64_t v = 0)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - stime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: adaptive::Timescale::ToTime
    functionSourceFile: /src/vlc/modules/demux/adaptive/Time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t ToTime(stime_t t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: adaptive::Timescale::ToScaled
    functionSourceFile: /src/vlc/modules/demux/adaptive/Time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: stime_t
    signature: stime_t ToScaled(vlc_tick_t t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: adaptive::Timescale::isValid
    functionSourceFile: /src/vlc/modules/demux/adaptive/Time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: operator uint64_t() const
    functionSourceFile: /src/vlc/modules/demux/adaptive/Time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator uint64_t() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: adaptive::SegmentTimes::SegmentTimes
    functionSourceFile: /src/vlc/modules/demux/adaptive/Time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SegmentTimes()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - vlc_tick_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: adaptive::SegmentTimes::SegmentTimes
    functionSourceFile: /src/vlc/modules/demux/adaptive/Time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SegmentTimes(vlc_tick_t a, vlc_tick_t b, vlc_tick_t c = VLC_TICK_INVALID)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - v
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: adaptive::SegmentTimes::offsetBy
    functionSourceFile: /src/vlc/modules/demux/adaptive/Time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void offsetBy(vlc_tick_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: adaptive::Times::Times
    functionSourceFile: /src/vlc/modules/demux/adaptive/Time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Times()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - a
    argTypes:
    - SegmentTimes
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: adaptive::Times::Times
    functionSourceFile: /src/vlc/modules/demux/adaptive/Time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Times(const SegmentTimes &s, vlc_tick_t a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: adaptive::Times::offsetBy
      Src: /src/vlc/modules/demux/adaptive/Time.hpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: adaptive::Times::offsetBy
    functionSourceFile: /src/vlc/modules/demux/adaptive/Time.hpp
    functionUses: 2
    functionsReached:
    - adaptive::Times::offsetBy
    linkageType: ''
    returnType: void
    signature: void offsetBy(vlc_tick_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: adaptive::SynchronizationReferences::SynchronizationReferences
    functionSourceFile: /src/vlc/modules/demux/adaptive/Time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SynchronizationReferences()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: INT64_C
      Src: /src/vlc/modules/demux/adaptive/Time.hpp:125,1
    - Dst: size
      Src: /src/vlc/modules/demux/adaptive/Time.hpp:130,1
    - Dst: pop_back
      Src: /src/vlc/modules/demux/adaptive/Time.hpp:131,1
    - Dst: push_front
      Src: /src/vlc/modules/demux/adaptive/Time.hpp:132,1
    - Dst: SynchronizationReference
      Src: /src/vlc/modules/demux/adaptive/Time.hpp:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - seq
    - t
    argTypes:
    - uint64_t
    - Times
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 133
    functionName: adaptive::SynchronizationReferences::addReference
    functionSourceFile: /src/vlc/modules/demux/adaptive/Time.hpp
    functionUses: 0
    functionsReached:
    - SynchronizationReference
    - size
    - INT64_C
    - pop_back
    - push_front
    linkageType: ''
    returnType: void
    signature: void addReference(uint64_t seq, const Times &t)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - seq
    - ref
    argTypes:
    - uint64_t
    - SynchronizationReference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 145
    functionName: adaptive::SynchronizationReferences::getReference
    functionSourceFile: /src/vlc/modules/demux/adaptive/Time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool getReference(uint64_t seq, vlc_tick_t,\n                          SynchronizationReference
      &ref) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: TrackerEvent::TrackerEvent
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrackerEvent::TrackerEvent(Type t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: TrackerEvent::~TrackerEvent()
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrackerEvent::~TrackerEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: TrackerEvent::getType
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TrackerEvent::Type
    signature: TrackerEvent::Type TrackerEvent::getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: DiscontinuityEvent::DiscontinuityEvent
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DiscontinuityEvent::DiscontinuityEvent(uint64_t d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: SegmentGapEvent::SegmentGapEvent
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SegmentGapEvent::SegmentGapEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - prev
    - next
    argTypes:
    - BaseRepresentation*
    - BaseRepresentation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: RepresentationSwitchEvent::RepresentationSwitchEvent
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void RepresentationSwitchEvent::RepresentationSwitchEvent(BaseRepresentation
      *prev,\n                                                     BaseRepresentation
      *next)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rep
    argTypes:
    - BaseRepresentation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: RepresentationUpdatedEvent::RepresentationUpdatedEvent
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepresentationUpdatedEvent::RepresentationUpdatedEvent(BaseRepresentation
      * rep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rep
    argTypes:
    - BaseRepresentation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: RepresentationUpdateFailedEvent::RepresentationUpdateFailedEvent
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepresentationUpdateFailedEvent::RepresentationUpdateFailedEvent(BaseRepresentation
      * rep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - StreamFormat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: FormatChangedEvent::FormatChangedEvent
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FormatChangedEvent::FormatChangedEvent(const StreamFormat *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - id
    - sequence
    - starttime
    - duration
    - displaytime
    argTypes:
    - ID
    - uint64_t
    - vlc_tick_t
    - vlc_tick_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: SegmentChangedEvent::SegmentChangedEvent
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SegmentChangedEvent::SegmentChangedEvent(const ID &id, uint64_t
      sequence, vlc_tick_t starttime,\n                                         vlc_tick_t
      duration, vlc_tick_t displaytime)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - id
    - enabled
    argTypes:
    - ID
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: BufferingStateUpdatedEvent::BufferingStateUpdatedEvent
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BufferingStateUpdatedEvent::BufferingStateUpdatedEvent(const ID
      &id, bool enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - id
    - minimum
    - maximum
    - current
    - target
    argTypes:
    - ID
    - vlc_tick_t
    - vlc_tick_t
    - vlc_tick_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: BufferingLevelChangedEvent::BufferingLevelChangedEvent
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void BufferingLevelChangedEvent::BufferingLevelChangedEvent(const
      ID &id,\n                                                       vlc_tick_t minimum,
      vlc_tick_t maximum,\n                                                       vlc_tick_t
      current, vlc_tick_t target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: PositionChangedEvent::PositionChangedEvent
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PositionChangedEvent::PositionChangedEvent(vlc_tick_t r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SegmentTracker::setAdaptationLogic
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - res
    - logic_
    - bl
    - adaptSet
    - refs
    argTypes:
    - SharedResources*
    - AbstractAdaptationLogic*
    - AbstractBufferingLogic*
    - BaseAdaptationSet*
    - SynchronizationReferences*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 145
    functionName: SegmentTracker::SegmentTracker
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - SegmentTracker::setAdaptationLogic
    linkageType: ''
    returnType: void
    signature: "void SegmentTracker::SegmentTracker(SharedResources *res,\n        AbstractAdaptationLogic
      *logic_,\n        const AbstractBufferingLogic *bl,\n        BaseAdaptationSet
      *adaptSet,\n        SynchronizationReferences *refs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SegmentTracker::reset
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: SegmentTracker::~SegmentTracker()
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - SegmentTracker::reset
    linkageType: ''
    returnType: void
    signature: void SegmentTracker::~SegmentTracker()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: SegmentTracker::Position::Position()
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: void
    signature: void SegmentTracker::Position::Position()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - rep
    - number
    argTypes:
    - BaseRepresentation*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: SegmentTracker::Position::Position(BaseRepresentation *rep, uint64_t
      number)
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SegmentTracker::Position::Position(BaseRepresentation *rep, uint64_t
      number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: SegmentTracker::Position::isValid() const
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: bool
    signature: bool SegmentTracker::Position::isValid() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::imbue
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:177,1
    - Dst: std::locale
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:177,1
    - Dst: isValid
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:178,1
    - Dst: getID
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:182,1
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: SegmentTracker::Position::toString() const
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::imbue
    - getID
    - std::stringstream::str
    - isValid
    - std::locale
    linkageType: ''
    returnType: std::string
    signature: std::string SegmentTracker::Position::toString() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 201
    functionName: '& SegmentTracker::Position::operator ++()'
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - isValid
    linkageType: ''
    returnType: SegmentTracker::Position
    signature: SegmentTracker::Position & SegmentTracker::Position::operator ++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SegmentTracker::registerListener
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - logic_
    argTypes:
    - AbstractAdaptationLogic*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: SegmentTracker::setAdaptationLogic
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 1
    functionsReached:
    - SegmentTracker::registerListener
    linkageType: ''
    returnType: void
    signature: void SegmentTracker::setAdaptationLogic(AbstractAdaptationLogic *logic_)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getNextRepresentation
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:213,1
    - Dst: BaseRepresentation*::getCodecsDesc
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - descs
    argTypes:
    - CodecDescriptionList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: SegmentTracker::getCodecsDesc
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - getNextRepresentation
    - BaseRepresentation*::getCodecsDesc
    linkageType: ''
    returnType: void
    signature: void SegmentTracker::getCodecsDesc(CodecDescriptionList *descs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRole
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: '& SegmentTracker::getStreamRole() const'
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - getRole
    linkageType: ''
    returnType: Role
    signature: Role & SegmentTracker::getStreamRole() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SegmentTracker::notify
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:225,1
    - Dst: RepresentationSwitchEvent
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:225,1
    - Dst: Position
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:226,1
    - Dst: Position
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:227,1
    - Dst: SegmentTracker::resetChunksSequence
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 231
    functionName: SegmentTracker::reset
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 1
    functionsReached:
    - SegmentTracker::resetChunksSequence
    - RepresentationSwitchEvent
    - SegmentTracker::notify
    - Position
    linkageType: ''
    returnType: void
    signature: void SegmentTracker::reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: SegmentTracker::ChunkEntry::ChunkEntry()
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SegmentTracker::ChunkEntry::ChunkEntry()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - c
    - p
    - s
    - d
    - dt
    argTypes:
    - SegmentChunk*
    - Position
    - vlc_tick_t
    - vlc_tick_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 245
    functionName: SegmentTracker::ChunkEntry::ChunkEntry(SegmentChunk *c, Position
      p, vlc_tick_t s, vlc_tick_t d, vlc_tick_t dt)
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SegmentTracker::ChunkEntry::ChunkEntry(SegmentChunk *c, Position
      p, vlc_tick_t s, vlc_tick_t d, vlc_tick_t dt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: SegmentTracker::ChunkEntry::isValid() const
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - isValid
    linkageType: ''
    returnType: bool
    signature: bool SegmentTracker::ChunkEntry::isValid() const
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ChunkEntry
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:256,1
    - Dst: Position::isValid
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:259,1
    - Dst: SegmentTracker::getStartPosition
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:261,1
    - Dst: Position::isValid
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:262,1
    - Dst: ChunkEntry
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:263,1
    - Dst: isSegmentAligned
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:267,1
    - Dst: Position::Position
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:272,1
    - Dst: getNextRepresentation
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:273,1
    - Dst: Position::rep::translateSegmentNumber
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:277,1
    - Dst: Position::rep::needsUpdate
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:280,1
    - Dst: Position::rep::scheduleNextUpdate
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:281,1
    - Dst: Position::rep::runLocalUpdates
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:281,1
    - Dst: Position::isValid
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:284,1
    - Dst: Position::rep::translateSegmentNumber
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:285,1
    - Dst: Position::isValid
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:288,1
    - Dst: Position::rep::getMinAheadTime
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:288,1
    - Dst: Position
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:289,1
    - Dst: Position::isValid
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:291,1
    - Dst: Position::rep::getNextMediaSegment
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:297,1
    - Dst: Position::rep::needsIndex
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:299,1
    - Dst: ChunkEntry
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:300,1
    - Dst: Position::rep::getInitSegment
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:305,1
    - Dst: Position::rep::needsIndex
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:312,1
    - Dst: Position::rep::getIndexSegment
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:313,1
    - Dst: ISegment*::toChunk
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:321,1
    - Dst: ChunkEntry
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:323,1
    - Dst: ISegment*::getDiscontinuitySequenceNumber
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:326,1
    - Dst: ISegment*::getDisplayTime
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:330,1
    - Dst: Position::rep::getPlaybackTimeDurationBySegmentNumber
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:332,1
    - Dst: ChunkEntry
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:335,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 47
    argCount: 2
    argNames:
    - switch_allowed
    - pos
    argTypes:
    - bool
    - Position
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 336
    functionName: SegmentTracker::prepareChunk
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - ISegment*::getDiscontinuitySequenceNumber
    - Position::rep::getIndexSegment
    - ChunkEntry
    - Position::Position
    - Position::rep::runLocalUpdates
    - isSegmentAligned
    - Position::isValid
    - Position::rep::getMinAheadTime
    - Position::rep::needsIndex
    - getNextRepresentation
    - Position::rep::translateSegmentNumber
    - Position::rep::getNextMediaSegment
    - Position
    - Position::rep::scheduleNextUpdate
    - Position::rep::needsUpdate
    - ISegment*::getDisplayTime
    - Position::rep::getInitSegment
    - Position::rep::getPlaybackTimeDurationBySegmentNumber
    - SegmentTracker::getStartPosition
    - ISegment*::toChunk
    linkageType: ''
    returnType: SegmentTracker::ChunkEntry
    signature: SegmentTracker::ChunkEntry SegmentTracker::prepareChunk(bool switch_allowed,
      Position pos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:340,1
    - Dst: front
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:342,1
    - Dst: pop_front
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 345
    functionName: SegmentTracker::resetChunksSequence
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 1
    functionsReached:
    - empty
    - pop_front
    - front
    linkageType: ''
    returnType: void
    signature: void SegmentTracker::resetChunksSequence()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:349,1
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:352,1
    - Dst: SegmentTracker::prepareChunk
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:354,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:355,1
    - Dst: front
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:358,1
    - Dst: ChunkEntry::isValid
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:359,1
    - Dst: pop_front
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:361,1
    - Dst: isValid
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:369,1
    - Dst: SegmentTracker::notify
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:379,1
    - Dst: RepresentationSwitchEvent
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:379,1
    - Dst: StreamFormat
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:386,1
    - Dst: ChunkEntry::chunk::getStreamFormat
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:391,1
    - Dst: StreamFormat
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:394,1
    - Dst: ProbeableChunk::ProbeableChunk
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:396,1
    - Dst: ProbeableChunk*::peek
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:398,1
    - Dst: StreamFormat
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:399,1
    - Dst: StreamFormat
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:401,1
    - Dst: StreamFormat
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:402,1
    - Dst: ChunkEntry::chunk::getContentType
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:402,1
    - Dst: ChunkEntry::chunk::setStreamFormat
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:403,1
    - Dst: StreamFormat
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:409,1
    - Dst: SegmentTracker::notify
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:412,1
    - Dst: FormatChangedEvent
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:412,1
    - Dst: pop_front
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:416,1
    - Dst: SegmentTracker::notify
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:427,1
    - Dst: SegmentGapEvent
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:427,1
    - Dst: SegmentTracker::notify
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:431,1
    - Dst: DiscontinuityEvent
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:431,1
    - Dst: SegmentTracker::notify
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:434,1
    - Dst: SegmentChangedEvent
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:434,1
    - Dst: getID
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:434,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 1
    argNames:
    - switch_allowed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 442
    functionName: SegmentTracker::getNextChunk
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - StreamFormat
    - SegmentGapEvent
    - SegmentTracker::prepareChunk
    - ChunkEntry::chunk::getContentType
    - ProbeableChunk::ProbeableChunk
    - RepresentationSwitchEvent
    - push_back
    - SegmentTracker::notify
    - getID
    - DiscontinuityEvent
    - SegmentChangedEvent
    - ChunkEntry::chunk::setStreamFormat
    - front
    - FormatChangedEvent
    - ProbeableChunk*::peek
    - isValid
    - pop_front
    - ChunkEntry::chunk::getStreamFormat
    - empty
    - ChunkEntry::isValid
    linkageType: ''
    returnType: ChunkInterface
    signature: ChunkInterface * SegmentTracker::getNextChunk(bool switch_allowed)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Position
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:446,1
    - Dst: Position::isValid
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:447,1
    - Dst: getNextRepresentation
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:448,1
    - Dst: Position::rep::needsUpdate
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:454,1
    - Dst: Position::rep::runLocalUpdates
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:456,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:458,1
    - Dst: getPlaylist
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:458,1
    - Dst: Position::rep::getID
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:460,1
    - Dst: Position::rep::scheduleNextUpdate
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:463,1
    - Dst: SegmentTracker::notify
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:464,1
    - Dst: RepresentationUpdatedEvent
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:464,1
    - Dst: Position::rep::getSegmentNumberByTime
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:467,1
    - Dst: SegmentTracker::setPosition
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:470,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - time
    - restarted
    - tryonly
    argTypes:
    - vlc_tick_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 474
    functionName: SegmentTracker::setPositionByTime
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - getNextRepresentation
    - Position::rep::scheduleNextUpdate
    - Position::rep::needsUpdate
    - RepresentationUpdatedEvent
    - SegmentTracker::notify
    - SegmentTracker::setPosition
    - Position::isValid
    - Position::rep::getID
    - Position::rep::getSegmentNumberByTime
    - getPlaylist
    - msg_Err
    - Position::rep::runLocalUpdates
    - Position
    linkageType: ''
    returnType: bool
    signature: bool SegmentTracker::setPositionByTime(vlc_tick_t time, bool restarted,
      bool tryonly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Position
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:480,1
    - Dst: SegmentTracker::resetChunksSequence
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:482,1
    - Dst: SegmentTracker::notify
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:483,1
    - Dst: PositionChangedEvent
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:483,1
    - Dst: SegmentTracker::getPlaybackTime
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pos
    - restarted
    argTypes:
    - Position
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 484
    functionName: SegmentTracker::setPosition
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 1
    functionsReached:
    - SegmentTracker::notify
    - SegmentTracker::getPlaybackTime
    - PositionChangedEvent
    - SegmentTracker::resetChunksSequence
    - Position
    linkageType: ''
    returnType: void
    signature: void SegmentTracker::setPosition(const Position &pos, bool restarted)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Position::Position
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:488,1
    - Dst: getNextRepresentation
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:489,1
    - Dst: Position::rep::needsUpdate
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:493,1
    - Dst: Position::rep::runLocalUpdates
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:493,1
    - Dst: getStartSegmentNumber
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:494,1
    - Dst: Position::rep::scheduleNextUpdate
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:495,1
    - Dst: SegmentTracker::notify
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:497,1
    - Dst: RepresentationUpdatedEvent
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:497,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 500
    functionName: SegmentTracker::getStartPosition
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 1
    functionsReached:
    - getNextRepresentation
    - Position::rep::scheduleNextUpdate
    - Position::rep::needsUpdate
    - RepresentationUpdatedEvent
    - SegmentTracker::notify
    - Position::Position
    - Position::rep::runLocalUpdates
    - getStartSegmentNumber
    linkageType: ''
    returnType: SegmentTracker::Position
    signature: SegmentTracker::Position SegmentTracker::getStartPosition() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:504,1
    - Dst: SegmentTracker::getStartPosition
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:507,1
    - Dst: Position::isValid
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:508,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 502
    functionDepth: 2
    functionLinenumber: 502
    functionLinenumberEnd: 513
    functionName: SegmentTracker::setStartPosition
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - Position::isValid
    - SegmentTracker::getStartPosition
    - isValid
    linkageType: ''
    returnType: bool
    signature: bool SegmentTracker::setStartPosition()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getNextRepresentation
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:521,1
    - Dst: BaseRepresentation*::getPlaybackTimeDurationBySegmentNumber
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:524,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - b_next
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 529
    functionName: SegmentTracker::getPlaybackTime
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 1
    functionsReached:
    - getNextRepresentation
    - BaseRepresentation*::getPlaybackTimeDurationBySegmentNumber
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t SegmentTracker::getPlaybackTime(bool b_next) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rep::getMediaPlaybackRange
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - start
    - end
    - length
    argTypes:
    - vlc_tick_t*
    - vlc_tick_t*
    - vlc_tick_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 537
    functionName: SegmentTracker::getMediaPlaybackRange
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - rep::getMediaPlaybackRange
    linkageType: ''
    returnType: bool
    signature: "bool SegmentTracker::getMediaPlaybackRange(vlc_tick_t *start, vlc_tick_t
      *end,\n                                           vlc_tick_t *length) const"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getNextRepresentation
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:543,1
    - Dst: BaseRepresentation*::needsUpdate
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:547,1
    - Dst: BaseRepresentation*::runLocalUpdates
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:549,1
    - Dst: BaseRepresentation*::scheduleNextUpdate
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:550,1
    - Dst: SegmentTracker::notify
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:552,1
    - Dst: RepresentationUpdatedEvent
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:552,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:555,1
    - Dst: getStartSegmentNumber
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:556,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:557,1
    - Dst: BaseRepresentation*::getMinAheadTime
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:558,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 539
    functionDepth: 3
    functionLinenumber: 539
    functionLinenumberEnd: 561
    functionName: SegmentTracker::getMinAheadTime
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - getNextRepresentation
    - RepresentationUpdatedEvent
    - BaseRepresentation*::scheduleNextUpdate
    - SegmentTracker::notify
    - BaseRepresentation*::runLocalUpdates
    - BaseRepresentation*::getMinAheadTime
    - BaseRepresentation*::needsUpdate
    - getStartSegmentNumber
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t SegmentTracker::getMinAheadTime() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getReference
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - discontinuitysequence
    - time
    - r
    argTypes:
    - uint64_t
    - vlc_tick_t
    - SynchronizationReference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 568
    functionName: SegmentTracker::getSynchronizationReference
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - getReference
    linkageType: ''
    returnType: bool
    signature: "bool SegmentTracker::getSynchronizationReference(uint64_t discontinuitysequence,\n
      \                                                vlc_tick_t time,\n                                                 SynchronizationReference
      &r) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addReference
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - discontinuitysequence
    - t
    argTypes:
    - uint64_t
    - Times
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 574
    functionName: SegmentTracker::updateSynchronizationReference
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - addReference
    linkageType: ''
    returnType: void
    signature: "void SegmentTracker::updateSynchronizationReference(uint64_t discontinuitysequence,\n
      \                                                   const Times &t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SegmentTracker::notify
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:578,1
    - Dst: BufferingStateUpdatedEvent
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:578,1
    - Dst: getID
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 579
    functionName: SegmentTracker::notifyBufferingState
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - getID
    - SegmentTracker::notify
    - BufferingStateUpdatedEvent
    linkageType: ''
    returnType: void
    signature: void SegmentTracker::notifyBufferingState(bool enabled) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SegmentTracker::notify
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:584,1
    - Dst: BufferingLevelChangedEvent
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:584,1
    - Dst: getID
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - min
    - max
    - current
    - target
    argTypes:
    - vlc_tick_t
    - vlc_tick_t
    - vlc_tick_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 585
    functionName: SegmentTracker::notifyBufferingLevel
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - getID
    - BufferingLevelChangedEvent
    - SegmentTracker::notify
    linkageType: ''
    returnType: void
    signature: "void SegmentTracker::notifyBufferingLevel(vlc_tick_t min, vlc_tick_t
      max,\n                                          vlc_tick_t current, vlc_tick_t
      target) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - listener
    argTypes:
    - SegmentTrackerListenerInterface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 590
    functionName: SegmentTracker::registerListener
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 1
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void SegmentTracker::registerListener(SegmentTrackerListenerInterface
      *listener)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPlaylist
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:594,1
    - Dst: SegmentTracker::getMinAheadTime
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:595,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 592
    functionDepth: 4
    functionLinenumber: 592
    functionLinenumberEnd: 597
    functionName: SegmentTracker::bufferingAvailable
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - SegmentTracker::getMinAheadTime
    - getPlaylist
    linkageType: ''
    returnType: bool
    signature: bool SegmentTracker::bufferingAvailable() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rep::needsUpdate
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:602,1
    - Dst: rep::runLocalUpdates
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:604,1
    - Dst: rep::scheduleNextUpdate
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:605,1
    - Dst: SegmentTracker::notify
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:607,1
    - Dst: RepresentationUpdatedEvent
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:607,1
    - Dst: rep::canNoLongerUpdate
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:611,1
    - Dst: SegmentTracker::notify
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:612,1
    - Dst: RepresentationUpdateFailedEvent
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:612,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 615
    functionName: SegmentTracker::updateSelected
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - RepresentationUpdatedEvent
    - SegmentTracker::notify
    - rep::needsUpdate
    - rep::runLocalUpdates
    - rep::scheduleNextUpdate
    - RepresentationUpdateFailedEvent
    - rep::canNoLongerUpdate
    linkageType: ''
    returnType: bool
    signature: bool SegmentTracker::updateSelected()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:620,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:620,1
    - Dst: trackerEvent
      Src: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp:621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - event
    argTypes:
    - TrackerEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 622
    functionName: SegmentTracker::notify
    functionSourceFile: /src/vlc/modules/demux/adaptive/SegmentTracker.cpp
    functionUses: 9
    functionsReached:
    - end
    - begin
    - trackerEvent
    linkageType: ''
    returnType: void
    signature: void SegmentTracker::notify(const TrackerEvent &event) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 1
    argNames:
    - demux_
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 66
    functionName: AbstractStream::AbstractStream
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 0
    functionsReached:
    - vlc_mutex_init
    linkageType: ''
    returnType: void
    signature: void AbstractStream::AbstractStream(demux_t * demux_)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:74,1
    - Dst: BufferedChunksSourceStream::BufferedChunksSourceStream
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:74,1
    - Dst: CommandsFactory::CommandsFactory
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:77,1
    - Dst: CommandsQueue::CommandsQueue
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:78,1
    - Dst: FakeESOut::FakeESOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:81,1
    - Dst: setExtraInfoProvider
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:86,1
    - Dst: SegmentTracker*::getStreamRole
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:87,1
    - Dst: isDefault
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:88,1
    - Dst: autoSelectable
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:88,1
    - Dst: setPriority
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:89,1
    - Dst: autoSelectable
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:90,1
    - Dst: setPriority
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:91,1
    - Dst: registerListener
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:94,1
    - Dst: notifyBufferingState
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:95,1
    - Dst: setExpectedTimestamp
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:97,1
    - Dst: getPlaybackTime
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:97,1
    - Dst: AbstractStream::declaredCodecs
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:98,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - format_
    - tracker
    argTypes:
    - StreamFormat
    - SegmentTracker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 108
    functionName: AbstractStream::init
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 0
    functionsReached:
    - getPlaybackTime
    - setPriority
    - SegmentTracker*::getStreamRole
    - CommandsQueue::CommandsQueue
    - CommandsFactory::CommandsFactory
    - registerListener
    - notifyBufferingState
    - BufferedChunksSourceStream::BufferedChunksSourceStream
    - FakeESOut::FakeESOut
    - isDefault
    - VLC_OBJECT
    - setExpectedTimestamp
    - AbstractStream::declaredCodecs
    - autoSelectable
    - setExtraInfoProvider
    linkageType: ''
    returnType: bool
    signature: bool AbstractStream::init(const StreamFormat &format_, SegmentTracker
      *tracker)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: notifyBufferingState
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: AbstractStream::~AbstractStream()
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 0
    functionsReached:
    - notifyBufferingState
    linkageType: ''
    returnType: void
    signature: void AbstractStream::~AbstractStream()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: drain
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:127,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:128,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:130,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:132,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:133,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:135,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - b_discontinuity
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 140
    functionName: AbstractStream::prepareRestart
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 0
    functionsReached:
    - AbstractStream::fakeEsOut
    - drain
    linkageType: ''
    returnType: void
    signature: void AbstractStream::prepareRestart(bool b_discontinuity)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: needsRestartOnSeek
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:152,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:159,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:161,1
    - Dst: SegmentTimes
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:162,1
    - Dst: SegmentTimes
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:163,1
    - Dst: SegmentTimes
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:164,1
    - Dst: AbstractStream::getNextChunk
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:165,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:167,1
    - Dst: AbstractStream::restartDemux
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:168,1
    - Dst: msg_Info
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:170,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:177,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 1
    argNames:
    - seekMediaTime
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 182
    functionName: AbstractStream::resetForNewPosition
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 0
    functionsReached:
    - AbstractStream::getNextChunk
    - SegmentTimes
    - AbstractStream::restartDemux
    - needsRestartOnSeek
    - msg_Info
    - AbstractStream::fakeEsOut
    linkageType: ''
    returnType: bool
    signature: bool AbstractStream::resetForNewPosition(vlc_tick_t seekMediaTime)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lang
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: AbstractStream::setLanguage
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractStream::setLanguage(const std::string &lang)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desc
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: AbstractStream::setDescription
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractStream::setDescription(const std::string &desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AbstractStream::getMinAheadTime
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 199
    functionName: AbstractStream::getMinAheadTime
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 1
    functionsReached:
    - AbstractStream::getMinAheadTime
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t AbstractStream::getMinAheadTime() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Times
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:206,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:208,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 212
    functionName: AbstractStream::getFirstTimes
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 0
    functionsReached:
    - Times
    - AbstractStream::fakeEsOut
    linkageType: ''
    returnType: Times
    signature: Times AbstractStream::getFirstTimes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: AbstractStream::esCount
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 0
    functionsReached:
    - AbstractStream::fakeEsOut
    linkageType: ''
    returnType: int
    signature: int AbstractStream::esCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:221,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:222,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:223,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:225,1
    - Dst: static_cast<void *>
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:227,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:231,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 238
    functionName: AbstractStream::seekAble
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 0
    functionsReached:
    - static_cast<void *>
    - msg_Dbg
    - msg_Warn
    - AbstractStream::fakeEsOut
    linkageType: ''
    returnType: bool
    signature: bool AbstractStream::seekAble() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: AbstractStream::isSelected
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 0
    functionsReached:
    - AbstractStream::fakeEsOut
    linkageType: ''
    returnType: bool
    signature: bool AbstractStream::isSelected() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: AbstractStream::StreamPosition::StreamPosition()
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 0
    functionsReached:
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: void
    signature: void AbstractStream::StreamPosition::StreamPosition()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AbstractStream::setPosition
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:254,1
    - Dst: AbstractStream::setDisabled
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pos
    argTypes:
    - StreamPosition
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 264
    functionName: AbstractStream::reactivate
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 0
    functionsReached:
    - AbstractStream::setDisabled
    - AbstractStream::setPosition
    linkageType: ''
    returnType: bool
    signature: bool AbstractStream::reactivate(const StreamPosition &pos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AbstractStream::getNextChunk
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:274,1
    - Dst: Reset
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:279,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:281,1
    - Dst: AbstractStream::createDemux
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:282,1
    - Dst: StreamFormat
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:283,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:284,1
    - Dst: str
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:285,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 288
    functionName: AbstractStream::startDemux
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 0
    functionsReached:
    - StreamFormat
    - AbstractStream::getNextChunk
    - Reset
    - msg_Err
    - AbstractStream::createDemux
    - str
    - AbstractStream::fakeEsOut
    linkageType: ''
    returnType: bool
    signature: bool AbstractStream::startDemux()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: recycleAll
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:295,1
    - Dst: AbstractStream::startDemux
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:296,1
    - Dst: needsRestartOnSeek
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:298,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:302,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:304,1
    - Dst: destroy
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:305,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:306,1
    - Dst: create
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:307,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 315
    functionName: AbstractStream::restartDemux
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 1
    functionsReached:
    - create
    - recycleAll
    - needsRestartOnSeek
    - destroy
    - AbstractStream::startDemux
    - AbstractStream::fakeEsOut
    linkageType: ''
    returnType: bool
    signature: bool AbstractStream::restartDemux()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: notifyBufferingState
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 322
    functionName: AbstractStream::setDisabled
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 1
    functionsReached:
    - notifyBufferingState
    linkageType: ''
    returnType: void
    signature: void AbstractStream::setDisabled(bool b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: AbstractStream::isValid
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AbstractStream::isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 334
    functionName: AbstractStream::isDisabled
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AbstractStream::isDisabled() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AbstractStream::setPosition
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:341,1
    - Dst: getStartPosition
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:341,1
    - Dst: needsRestartOnSeek
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 344
    functionName: AbstractStream::setLivePause
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 0
    functionsReached:
    - needsRestartOnSeek
    - getStartPosition
    - AbstractStream::setPosition
    linkageType: ''
    returnType: void
    signature: void AbstractStream::setLivePause(bool b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:348,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - from
    argTypes:
    - Times
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 356
    functionName: AbstractStream::getDemuxedAmount
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 0
    functionsReached:
    - AbstractStream::fakeEsOut
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t AbstractStream::getDemuxedAmount(Times from) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AbstractStream::getDemuxedAmount
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - deadline
    - i_min_buffering
    - i_max_buffering
    - pi_demuxed
    argTypes:
    - Times
    - vlc_tick_t
    - vlc_tick_t
    - vlc_tick_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 376
    functionName: AbstractStream::getBufferAndStatus
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 0
    functionsReached:
    - AbstractStream::getDemuxedAmount
    linkageType: ''
    returnType: AbstractStream::BufferingStatus
    signature: "AbstractStream::BufferingStatus AbstractStream::getBufferAndStatus(const
      Times &deadline,\n                                   vlc_tick_t i_min_buffering,\n
      \                                  vlc_tick_t i_max_buffering,\n                                   vlc_tick_t
      *pi_demuxed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbstractStream::doBufferize
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - deadline
    - i_min_buffering
    - i_extra_buffering
    - i_target_buffering
    - b_keep_alive
    argTypes:
    - Times
    - vlc_tick_t
    - vlc_tick_t
    - vlc_tick_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 387
    functionName: AbstractStream::bufferize
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 0
    functionsReached:
    - AbstractStream::doBufferize
    linkageType: ''
    returnType: AbstractStream::BufferingStatus
    signature: "AbstractStream::BufferingStatus AbstractStream::bufferize(Times deadline,\n
      \                                                          vlc_tick_t i_min_buffering,\n
      \                                                          vlc_tick_t i_extra_buffering,\n
      \                                                          vlc_tick_t i_target_buffering,\n
      \                                                          bool b_keep_alive)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:395,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:400,1
    - Dst: AbstractStream::esCount
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:405,1
    - Dst: AbstractStream::isSelected
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:405,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:405,1
    - Dst: AbstractStream::setDisabled
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:407,1
    - Dst: reset
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:408,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:409,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:410,1
    - Dst: str
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:411,1
    - Dst: c_str
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:411,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:412,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:416,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:418,1
    - Dst: setStartPosition
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:422,1
    - Dst: bufferingAvailable
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:425,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:427,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:433,1
    - Dst: AbstractStream::getNextChunk
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:440,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:443,1
    - Dst: getSynchronizationReference
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:452,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:454,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:458,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:459,1
    - Dst: AbstractStream::startDemux
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:467,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:470,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:471,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:476,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:480,1
    - Dst: notifyBufferingLevel
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:485,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:488,1
    - Dst: Times::offsetBy
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:489,1
    - Dst: Times::offsetBy
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:492,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:492,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:500,1
    - Dst: demux
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:501,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:502,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:503,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:508,1
    - Dst: AbstractStream::prepareRestart
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:509,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:512,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:513,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:514,1
    - Dst: assert
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:515,1
    - Dst: assert
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:517,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:518,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:519,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:520,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:523,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:527,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:530,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:531,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:537,1
    - Dst: notifyBufferingLevel
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:538,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:543,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:547,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:549,1
    - Dst: updateSynchronizationReference
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:551,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 110
    argCount: 5
    argNames:
    - deadline
    - i_min_buffering
    - i_max_buffering
    - i_target_buffering
    - b_keep_alive
    argTypes:
    - Times
    - vlc_tick_t
    - vlc_tick_t
    - vlc_tick_t
    - bool
    assertStmts:
    - condition: (startTimeContext.media)
      pos:
        line_end: 516
        line_start: 516
        source_file: /src/vlc/modules/demux/adaptive/Streams.cpp
    - condition: (startTimeContext.media)
      pos:
        line_end: 514
        line_start: 514
        source_file: /src/vlc/modules/demux/adaptive/Streams.cpp
    constantsTouched: []
    func_position:
      end: 560
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 560
    functionName: AbstractStream::doBufferize
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 1
    functionsReached:
    - assert
    - AbstractStream::isSelected
    - updateSynchronizationReference
    - str
    - vlc_mutex_lock
    - msg_Dbg
    - getSynchronizationReference
    - AbstractStream::startDemux
    - notifyBufferingLevel
    - demux
    - AbstractStream::esCount
    - AbstractStream::prepareRestart
    - setStartPosition
    - VLC_TICK_FROM_SEC
    - reset
    - Times::offsetBy
    - bufferingAvailable
    - AbstractStream::setDisabled
    - AbstractStream::getNextChunk
    - vlc_mutex_unlock
    - c_str
    - AbstractStream::fakeEsOut
    linkageType: ''
    returnType: AbstractStream::BufferingStatus
    signature: "AbstractStream::BufferingStatus AbstractStream::doBufferize(Times
      deadline,\n                                                             vlc_tick_t
      i_min_buffering,\n                                                             vlc_tick_t
      i_max_buffering,\n                                                             vlc_tick_t
      i_target_buffering,\n                                                             bool
      b_keep_alive)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:566,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:568,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:569,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:570,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:571,1
    - Dst: c_str
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:574,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:576,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:577,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:580,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:582,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:587,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:593,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:594,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:595,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:596,1
    - Dst: c_str
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:599,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:603,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:607,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:610,1
    - Dst: Times
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:610,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - deadline
    - times
    argTypes:
    - Times
    - Times*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 615
    functionName: AbstractStream::dequeue
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - Times
    - c_str
    - AbstractStream::fakeEsOut
    linkageType: ''
    returnType: AbstractStream::Status
    signature: AbstractStream::Status AbstractStream::dequeue(Times deadline, Times
      *times)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:619,1
    - Dst: AbstractStream::getNextChunk
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:620,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:622,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:623,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:625,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:627,1
    - Dst: assert
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:629,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:629,1
    - Dst: getSynchronizationReference
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:631,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:632,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (fakeEsOut()->hasSegmentStartTimes())
      pos:
        line_end: 628
        line_start: 628
        source_file: /src/vlc/modules/demux/adaptive/Streams.cpp
    constantsTouched: []
    func_position:
      end: 635
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 635
    functionName: AbstractStream::getNextChunk
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 4
    functionsReached:
    - assert
    - AbstractStream::getNextChunk
    - getSynchronizationReference
    - AbstractStream::fakeEsOut
    linkageType: ''
    returnType: ChunkInterface
    signature: ChunkInterface * AbstractStream::getNextChunk() const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AbstractStream::getNextChunk
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:642,1
    - Dst: setSrcID
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:650,1
    - Dst: msg_Info
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:654,1
    - Dst: getBytesRead
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:667,1
    - Dst: readBlock
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:669,1
    - Dst: getRequestStatus
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:672,1
    - Dst: hasMoreData
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:685,1
    - Dst: AbstractStream::checkBlock
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:691,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 637
    functionDepth: 3
    functionLinenumber: 637
    functionLinenumberEnd: 694
    functionName: AbstractStream::readNextBlock
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 0
    functionsReached:
    - AbstractStream::getNextChunk
    - readBlock
    - AbstractStream::checkBlock
    - hasMoreData
    - getBytesRead
    - getRequestStatus
    - msg_Info
    - setSrcID
    linkageType: ''
    returnType: block_t
    signature: block_t * AbstractStream::readNextBlock()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AbstractStream::seekAble
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:698,1
    - Dst: needsRestartOnSeek
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:701,1
    - Dst: setPositionByTime
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:702,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pos
    - tryonly
    argTypes:
    - StreamPosition
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 696
    functionDepth: 2
    functionLinenumber: 696
    functionLinenumberEnd: 711
    functionName: AbstractStream::setPosition
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 2
    functionsReached:
    - needsRestartOnSeek
    - AbstractStream::seekAble
    - setPositionByTime
    linkageType: ''
    returnType: bool
    signature: bool AbstractStream::setPosition(const StreamPosition &pos, bool tryonly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getMediaPlaybackRange
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - start
    - end
    - length
    argTypes:
    - vlc_tick_t*
    - vlc_tick_t*
    - vlc_tick_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 717
    functionName: AbstractStream::getMediaPlaybackTimes
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 0
    functionsReached:
    - getMediaPlaybackRange
    linkageType: ''
    returnType: bool
    signature: "bool AbstractStream::getMediaPlaybackTimes(vlc_tick_t *start, vlc_tick_t
      *end,\n                                           vlc_tick_t *length) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - duration
    argTypes:
    - vlc_tick_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 725
    functionName: AbstractStream::getMediaAdvanceAmount
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AbstractStream::getMediaAdvanceAmount(vlc_tick_t *duration) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: updateSelected
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 736
    functionName: AbstractStream::runUpdates
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 0
    functionsReached:
    - updateSelected
    linkageType: ''
    returnType: bool
    signature: bool AbstractStream::runUpdates(bool)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:740,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:741,1
    - Dst: c_str
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:741,1
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:742,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:743,1
    - Dst: c_str
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:743,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - p_fmt
    argTypes:
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 749
    functionName: AbstractStream::fillExtraFMTInfo
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 0
    functionsReached:
    - empty
    - strdup
    - c_str
    linkageType: ''
    returnType: void
    signature: void AbstractStream::fillExtraFMTInfo( es_format_t *p_fmt ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_block
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 754
    functionName: AbstractStream::checkBlock
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: block_t
    signature: block_t *AbstractStream::checkBlock(block_t *p_block, bool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AbstractStream::newDemux
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:758,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:758,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:759,1
    - Dst: AbstractDemuxer*::create
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:760,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:765,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - StreamFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 768
    functionName: AbstractStream::createDemux
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 1
    functionsReached:
    - AbstractStream::newDemux
    - AbstractDemuxer*::create
    - VLC_OBJECT
    - AbstractStream::fakeEsOut
    linkageType: ''
    returnType: AbstractDemuxer
    signature: AbstractDemuxer * AbstractStream::createDemux(const StreamFormat &format)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Demuxer::Demuxer
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:777,1
    - Dst: Demuxer::Demuxer
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:781,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - p_obj
    - format
    - out
    - source
    argTypes:
    - vlc_object_t*
    - StreamFormat
    - es_out_t*
    - AbstractSourceStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 789
    functionName: AbstractStream::newDemux
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 1
    functionsReached:
    - Demuxer::Demuxer
    linkageType: ''
    returnType: AbstractDemuxer
    signature: "AbstractDemuxer *AbstractStream::newDemux(vlc_object_t *p_obj, const
      StreamFormat &format,\n                                          es_out_t *out,
      AbstractSourceStream *source) const"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TrackerEvent::getType
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:793,1
    - Dst: static_cast<const DiscontinuityEvent &>
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:798,1
    - Dst: SrcID::make
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:801,1
    - Dst: SegmentTimes
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:807,1
    - Dst: SegmentTimes
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:808,1
    - Dst: static_cast<const FormatChangedEvent &>
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:814,1
    - Dst: msg_Info
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:819,1
    - Dst: str
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:820,1
    - Dst: FormatChangedEvent::format::str
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:820,1
    - Dst: static_cast<const RepresentationSwitchEvent &>
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:830,1
    - Dst: bitstreamSwitchCompatible
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:833,1
    - Dst: StreamFormat
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:835,1
    - Dst: RepresentationSwitchEvent::next::getAdaptationSet
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:837,1
    - Dst: AdvDebug
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:840,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:840,1
    - Dst: c_str
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:841,1
    - Dst: RepresentationSwitchEvent::prev::getID
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:842,1
    - Dst: RepresentationSwitchEvent::prev::getStreamFormat
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:843,1
    - Dst: RepresentationSwitchEvent::next::getID
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:844,1
    - Dst: RepresentationSwitchEvent::next::getStreamFormat
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:845,1
    - Dst: SrcID::make
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:848,1
    - Dst: RepresentationSwitchEvent::next::getWidth
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:849,1
    - Dst: RepresentationSwitchEvent::next::getWidth
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:849,1
    - Dst: RepresentationSwitchEvent::next::getHeight
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:850,1
    - Dst: RepresentationSwitchEvent::next::getHeight
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:850,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:869,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:870,1
    - Dst: c_str
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:870,1
    - Dst: static_cast<const SegmentChangedEvent &>
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:877,1
    - Dst: needsRestartOnEachSegment
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:878,1
    - Dst: offsetBy
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:883,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:884,1
    - Dst: static_cast<const PositionChangedEvent &>
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:897,1
    - Dst: AbstractStream::resetForNewPosition
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:898,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 69
    argCount: 1
    argNames:
    - ev
    argTypes:
    - TrackerEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 791
    functionDepth: 2
    functionLinenumber: 791
    functionLinenumberEnd: 905
    functionName: AbstractStream::trackerEvent
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 0
    functionsReached:
    - StreamFormat
    - AdvDebug
    - offsetBy
    - str
    - RepresentationSwitchEvent::next::getAdaptationSet
    - RepresentationSwitchEvent::prev::getID
    - SrcID::make
    - msg_Err
    - AbstractStream::resetForNewPosition
    - msg_Dbg
    - bitstreamSwitchCompatible
    - static_cast<const FormatChangedEvent &>
    - RepresentationSwitchEvent::next::getStreamFormat
    - static_cast<const PositionChangedEvent &>
    - RepresentationSwitchEvent::next::getHeight
    - SegmentTimes
    - TrackerEvent::getType
    - needsRestartOnEachSegment
    - static_cast<const RepresentationSwitchEvent &>
    - static_cast<const DiscontinuityEvent &>
    - static_cast<const SegmentChangedEvent &>
    - RepresentationSwitchEvent::next::getWidth
    - msg_Info
    - c_str
    - RepresentationSwitchEvent::prev::getStreamFormat
    - RepresentationSwitchEvent::next::getID
    - FormatChangedEvent::format::str
    - AbstractStream::fakeEsOut
    linkageType: ''
    returnType: void
    signature: void AbstractStream::trackerEvent(const TrackerEvent &ev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CodecDescriptionList::CodecDescriptionList
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:909,1
    - Dst: getCodecsDesc
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:910,1
    - Dst: CodecDescriptionList::cbegin
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:911,1
    - Dst: CodecDescriptionList::cend
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:911,1
    - Dst: getFmt
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:913,1
    - Dst: AbstractStream::fakeEsOut
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:915,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 907
    functionDepth: 1
    functionLinenumber: 907
    functionLinenumberEnd: 917
    functionName: AbstractStream::declaredCodecs
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 1
    functionsReached:
    - CodecDescriptionList::cend
    - CodecDescriptionList::cbegin
    - getCodecsDesc
    - getFmt
    - CodecDescriptionList::CodecDescriptionList
    - AbstractStream::fakeEsOut
    linkageType: ''
    returnType: void
    signature: void AbstractStream::declaredCodecs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WithLock
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 922
    functionName: AbstractStream::fakeEsOut
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 15
    functionsReached:
    - WithLock
    linkageType: ''
    returnType: FakeESOut::LockedFakeEsOut
    signature: FakeESOut::LockedFakeEsOut AbstractStream::fakeEsOut()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WithLock
      Src: /src/vlc/modules/demux/adaptive/Streams.cpp:926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 927
    functionName: AbstractStream::fakeEsOut
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.cpp
    functionUses: 15
    functionsReached:
    - WithLock
    linkageType: ''
    returnType: FakeESOut::LockedFakeEsOut
    signature: FakeESOut::LockedFakeEsOut AbstractStream::fakeEsOut() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - auth
    - ring
    - conn
    argTypes:
    - AuthStorage*
    - Keyring*
    - AbstractConnectionManager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: SharedResources::SharedResources
    functionSourceFile: /src/vlc/modules/demux/adaptive/SharedResources.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SharedResources::SharedResources(AuthStorage *auth, Keyring *ring,\n
      \                                AbstractConnectionManager *conn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: SharedResources::~SharedResources()
    functionSourceFile: /src/vlc/modules/demux/adaptive/SharedResources.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SharedResources::~SharedResources()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: SharedResources::getAuthStorage
    functionSourceFile: /src/vlc/modules/demux/adaptive/SharedResources.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AuthStorage
    signature: AuthStorage * SharedResources::getAuthStorage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: SharedResources::getKeyring
    functionSourceFile: /src/vlc/modules/demux/adaptive/SharedResources.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Keyring
    signature: Keyring * SharedResources::getKeyring()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: SharedResources::getConnManager
    functionSourceFile: /src/vlc/modules/demux/adaptive/SharedResources.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AbstractConnectionManager
    signature: AbstractConnectionManager * SharedResources::getConnManager()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AuthStorage::AuthStorage
      Src: /src/vlc/modules/demux/adaptive/SharedResources.cpp:65,1
    - Dst: Keyring::Keyring
      Src: /src/vlc/modules/demux/adaptive/SharedResources.cpp:66,1
    - Dst: HTTPConnectionManager::HTTPConnectionManager
      Src: /src/vlc/modules/demux/adaptive/SharedResources.cpp:67,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/adaptive/SharedResources.cpp:68,1
    - Dst: HTTPConnectionManager*::addFactory
      Src: /src/vlc/modules/demux/adaptive/SharedResources.cpp:69,1
    - Dst: LibVLCHTTPConnectionFactory::LibVLCHTTPConnectionFactory
      Src: /src/vlc/modules/demux/adaptive/SharedResources.cpp:69,1
    - Dst: HTTPConnectionManager*::addFactory
      Src: /src/vlc/modules/demux/adaptive/SharedResources.cpp:70,1
    - Dst: StreamUrlConnectionFactory::StreamUrlConnectionFactory
      Src: /src/vlc/modules/demux/adaptive/SharedResources.cpp:70,1
    - Dst: ConnectionParams::isLocal
      Src: /src/vlc/modules/demux/adaptive/SharedResources.cpp:72,1
    - Dst: HTTPConnectionManager*::setLocalConnectionsAllowed
      Src: /src/vlc/modules/demux/adaptive/SharedResources.cpp:73,1
    - Dst: SharedResources::SharedResources
      Src: /src/vlc/modules/demux/adaptive/SharedResources.cpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - obj
    - ' playlisturl'
    argTypes:
    - vlc_object_t*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: SharedResources::createDefault
    functionSourceFile: /src/vlc/modules/demux/adaptive/SharedResources.cpp
    functionUses: 0
    functionsReached:
    - AuthStorage::AuthStorage
    - SharedResources::SharedResources
    - ConnectionParams::isLocal
    - var_InheritBool
    - HTTPConnectionManager::HTTPConnectionManager
    - HTTPConnectionManager*::setLocalConnectionsAllowed
    - Keyring::Keyring
    - LibVLCHTTPConnectionFactory::LibVLCHTTPConnectionFactory
    - HTTPConnectionManager*::addFactory
    - StreamUrlConnectionFactory::StreamUrlConnectionFactory
    linkageType: ''
    returnType: SharedResources
    signature: "SharedResources * SharedResources::createDefault(vlc_object_t *obj,\n
      \                                                const std::string & playlisturl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFirstPeriod
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:67,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:77,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:78,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 5
    argNames:
    - p_demux_
    - res
    - pl
    - factory
    - type
    argTypes:
    - demux_t*
    - SharedResources*
    - BasePlaylist*
    - AbstractStreamFactory*
    - AbstractAdaptationLogic::LogicType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 88
    functionName: PlaylistManager::PlaylistManager
    functionSourceFile: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp
    functionUses: 0
    functionsReached:
    - vlc_cond_init
    - vlc_mutex_init
    - getFirstPeriod
    linkageType: ''
    returnType: void
    signature: "void PlaylistManager::PlaylistManager( demux_t *p_demux_,\n                                  SharedResources
      *res,\n                                  BasePlaylist *pl,\n                                  AbstractStreamFactory
      *factory,\n                                  AbstractAdaptationLogic::LogicType
      type )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistManager::unsetPeriod
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: PlaylistManager::~PlaylistManager   ()
    functionSourceFile: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp
    functionUses: 0
    functionsReached:
    - PlaylistManager::unsetPeriod
    linkageType: ''
    returnType: void
    signature: void PlaylistManager::~PlaylistManager   ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:103,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:103,1
    - Dst: clear
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: PlaylistManager::unsetPeriod
    functionSourceFile: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp
    functionUses: 1
    functionsReached:
    - end
    - begin
    - clear
    linkageType: ''
    returnType: void
    signature: void PlaylistManager::unsetPeriod()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistManager::createLogic
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:113,1
    - Dst: getConnManager
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:113,1
    - Dst: PlaylistManager::createBufferingLogic
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:116,1
    - Dst: getAdaptationSets
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:119,1
    - Dst: SegmentTracker::SegmentTracker
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:124,1
    - Dst: create
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:130,1
    - Dst: getStreamFormat
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:130,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:138,1
    - Dst: getLang
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:141,1
    - Dst: AbstractStream*::setLanguage
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:142,1
    - Dst: getLang
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:142,1
    - Dst: description::empty
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:144,1
    - Dst: AbstractStream*::setDescription
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:145,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 149
    functionName: PlaylistManager::setupPeriod
    functionSourceFile: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp
    functionUses: 0
    functionsReached:
    - create
    - AbstractStream*::setLanguage
    - PlaylistManager::createBufferingLogic
    - push_back
    - AbstractStream*::setDescription
    - SegmentTracker::SegmentTracker
    - getAdaptationSets
    - getConnManager
    - description::empty
    - PlaylistManager::createLogic
    - getLang
    - getStreamFormat
    linkageType: ''
    returnType: bool
    signature: bool PlaylistManager::setupPeriod()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistManager::setupPeriod
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:155,1
    - Dst: time
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:158,1
    - Dst: PlaylistManager::preparsePlaylist
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:162,1
    - Dst: PlaylistManager::updateControlsPosition
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - b_preparsing
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 166
    functionName: PlaylistManager::init
    functionSourceFile: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp
    functionUses: 0
    functionsReached:
    - time
    - PlaylistManager::setupPeriod
    - PlaylistManager::updateControlsPosition
    - PlaylistManager::preparsePlaylist
    linkageType: ''
    returnType: bool
    signature: bool PlaylistManager::init(bool b_preparsing)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_clone
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:173,1
    - Dst: static_cast<void *>
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:173,1
    - Dst: PlaylistManager::setBufferingRunState
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 180
    functionName: PlaylistManager::start
    functionSourceFile: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp
    functionUses: 0
    functionsReached:
    - static_cast<void *>
    - PlaylistManager::setBufferingRunState
    - vlc_clone
    linkageType: ''
    returnType: bool
    signature: bool PlaylistManager::start()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: PlaylistManager::started
    functionSourceFile: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PlaylistManager::started() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:195,1
    - Dst: vlc_join
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 200
    functionName: PlaylistManager::stop
    functionSourceFile: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp
    functionUses: 0
    functionsReached:
    - signal
    - vlc_join
    linkageType: ''
    returnType: void
    signature: void PlaylistManager::stop()
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - PrioritizedAbstractStream
    - PrioritizedAbstractStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 219
    functionName: streamCompare
    functionSourceFile: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool streamCompare(const PrioritizedAbstractStream &a,  const PrioritizedAbstractStream
      &b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:229,1
    - Dst: std::vector::begin
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:230,1
    - Dst: PrioritizedAbstractStream::st::getBufferAndStatus
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:235,1
    - Dst: std::sort
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:238,1
    - Dst: std::vector::begin
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:238,1
    - Dst: std::vector::end
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:238,1
    - Dst: AbstractStream*::isValid
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:244,1
    - Dst: AbstractStream*::esCount
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:247,1
    - Dst: AbstractStream*::isDisabled
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:249,1
    - Dst: AbstractStream*::isSelected
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:250,1
    - Dst: PlaylistManager::reactivateStream
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:250,1
    - Dst: AbstractStream*::bufferize
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:258,1
    - Dst: PlaylistManager::getActiveStreamsCount
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:262,1
    - Dst: PlaylistManager::getFirstTimes
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:281,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 24
    argCount: 4
    argNames:
    - deadline
    - i_min_buffering
    - i_max_buffering
    - i_target_buffering
    argTypes:
    - Times
    - vlc_tick_t
    - vlc_tick_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 285
    functionName: PlaylistManager::bufferize
    functionSourceFile: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp
    functionUses: 0
    functionsReached:
    - AbstractStream*::esCount
    - std::vector::end
    - size
    - PrioritizedAbstractStream::st::getBufferAndStatus
    - PlaylistManager::getFirstTimes
    - AbstractStream*::bufferize
    - AbstractStream*::isDisabled
    - AbstractStream*::isSelected
    - std::sort
    - PlaylistManager::reactivateStream
    - PlaylistManager::getActiveStreamsCount
    - AbstractStream*::isValid
    - std::vector::begin
    linkageType: ''
    returnType: AbstractStream::BufferingStatus
    signature: "AbstractStream::BufferingStatus PlaylistManager::bufferize(Times deadline,\n
      \                                                          vlc_tick_t i_min_buffering,\n
      \                                                          vlc_tick_t i_max_buffering,\n
      \                                                          vlc_tick_t i_target_buffering)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistManager::dequeue
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - floor
    - barrier
    argTypes:
    - Times
    - Times*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 308
    functionName: PlaylistManager::dequeue
    functionSourceFile: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp
    functionUses: 1
    functionsReached:
    - PlaylistManager::dequeue
    linkageType: ''
    returnType: AbstractStream::Status
    signature: AbstractStream::Status PlaylistManager::dequeue(Times floor, Times
      *barrier)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 316
    functionName: PlaylistManager::getResumePosition
    functionSourceFile: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamPosition
    signature: StreamPosition PlaylistManager::getResumePosition() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistManager::getFirstTimes
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:323,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 331
    functionName: PlaylistManager::getFirstTimes
    functionSourceFile: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp
    functionUses: 2
    functionsReached:
    - PlaylistManager::getFirstTimes
    linkageType: ''
    returnType: Times
    signature: Times PlaylistManager::getFirstTimes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:339,1
    - Dst: isDisabled
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 343
    functionName: PlaylistManager::getActiveStreamsCount
    functionSourceFile: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp
    functionUses: 1
    functionsReached:
    - isDisabled
    - isValid
    linkageType: ''
    returnType: unsigned
    signature: unsigned PlaylistManager::getActiveStreamsCount() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: StreamPosition::times::offsetBy
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:352,1
    - Dst: isValid
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:361,1
    - Dst: isDisabled
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:361,1
    - Dst: PlaylistManager::setPosition
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:364,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:372,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:378,1
    - Dst: SeekDebug
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:380,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:380,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - mediatime
    - pos
    - accurate
    argTypes:
    - vlc_tick_t
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 385
    functionName: PlaylistManager::setPosition
    functionSourceFile: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp
    functionUses: 1
    functionsReached:
    - StreamPosition::times::offsetBy
    - PlaylistManager::setPosition
    - isDisabled
    - es_out_Control
    - isValid
    - SeekDebug
    - msg_Dbg
    - msg_Warn
    linkageType: ''
    returnType: bool
    signature: bool PlaylistManager::setPosition(vlc_tick_t mediatime, double pos,
      bool accurate)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistManager::started
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:389,1
    - Dst: isValid
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:393,1
    - Dst: isDisabled
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:393,1
    - Dst: PlaylistManager::setLivePause
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:394,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 395
    functionName: PlaylistManager::setLivePause
    functionSourceFile: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp
    functionUses: 1
    functionsReached:
    - PlaylistManager::setLivePause
    - PlaylistManager::started
    - isDisabled
    - isValid
    linkageType: ''
    returnType: void
    signature: void PlaylistManager::setLivePause(bool b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: needsUpdates
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:399,1
    - Dst: isLive
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 401
    functionName: PlaylistManager::needsUpdate
    functionSourceFile: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp
    functionUses: 0
    functionsReached:
    - isLive
    - needsUpdates
    linkageType: ''
    returnType: bool
    signature: bool PlaylistManager::needsUpdate() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 406
    functionName: PlaylistManager::scheduleNextUpdate
    functionSourceFile: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlaylistManager::scheduleNextUpdate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runUpdates
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:411,1
    - Dst: PlaylistManager::updateControlsPosition
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 415
    functionName: PlaylistManager::updatePlaylist
    functionSourceFile: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp
    functionUses: 0
    functionsReached:
    - runUpdates
    - PlaylistManager::updateControlsPosition
    linkageType: ''
    returnType: bool
    signature: bool PlaylistManager::updatePlaylist()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: PlaylistManager::preparsePlaylist
    functionSourceFile: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlaylistManager::preparsePlaylist()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b_first
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: PlaylistManager::getTimes
    functionSourceFile: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Times
    signature: Times PlaylistManager::getTimes(bool b_first) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::for_each
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:431,1
    - Dst: cbegin
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:431,1
    - Dst: cend
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:431,1
    - Dst: isValid
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:433,1
    - Dst: isDisabled
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:433,1
    - Dst: isSelected
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:433,1
    - Dst: PlaylistManager::getMinAheadTime
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:435,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 441
    functionName: PlaylistManager::getMinAheadTime
    functionSourceFile: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp
    functionUses: 1
    functionsReached:
    - isSelected
    - isDisabled
    - std::for_each
    - isValid
    - cend
    - cbegin
    - PlaylistManager::getMinAheadTime
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t PlaylistManager::getMinAheadTime() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbstractStream*::reactivate
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:445,1
    - Dst: PlaylistManager::getResumePosition
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - AbstractStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 446
    functionName: PlaylistManager::reactivateStream
    functionSourceFile: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp
    functionUses: 1
    functionsReached:
    - PlaylistManager::getResumePosition
    - AbstractStream*::reactivate
    linkageType: ''
    returnType: bool
    signature: bool PlaylistManager::reactivateStream(AbstractStream *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<PlaylistManager *>
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:451,1
    - Dst: PlaylistManager*::started
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:452,1
    - Dst: PlaylistManager*::start
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:452,1
    - Dst: PlaylistManager*::doDemux
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 455
    functionName: PlaylistManager::demux_callback
    functionSourceFile: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<PlaylistManager *>
    - PlaylistManager*::start
    - PlaylistManager*::doDemux
    - PlaylistManager*::started
    linkageType: ''
    returnType: int
    signature: int PlaylistManager::demux_callback(demux_t *p_demux)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:459,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:465,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:465,1
    - Dst: isValid
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:467,1
    - Dst: isDisabled
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:468,1
    - Dst: vlc_cond_timedwait
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:471,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:471,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:471,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:472,1
    - Dst: Times::offsetBy
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:477,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:479,1
    - Dst: PlaylistManager::dequeue
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:481,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:483,1
    - Dst: assert
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:487,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:489,1
    - Dst: PlaylistManager::updateControlsPosition
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:491,1
    - Dst: PlaylistManager::setBufferingRunState
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:500,1
    - Dst: getNextPeriod
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:501,1
    - Dst: PlaylistManager::unsetPeriod
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:504,1
    - Dst: PlaylistManager::setupPeriod
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:506,1
    - Dst: Times
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:509,1
    - Dst: Times
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:510,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:511,1
    - Dst: PlaylistManager::setBufferingRunState
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:513,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:518,1
    - Dst: vlc_cond_timedwait
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:519,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:519,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:519,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:520,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:523,1
    - Dst: Times
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:524,1
    - Dst: Times
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:525,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:527,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:528,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:531,1
    - Dst: std::max
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:535,1
    - Dst: INT64_C
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:535,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:535,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:536,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:538,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 61
    argCount: 1
    argNames:
    - increment
    argTypes:
    - vlc_tick_t
    assertStmts:
    - condition: (barrier.segment.media != VLC_TICK_INVALID)
      pos:
        line_end: 486
        line_start: 486
        source_file: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp
    constantsTouched: []
    func_position:
      end: 543
      start: 457
    functionDepth: 3
    functionLinenumber: 457
    functionLinenumberEnd: 543
    functionName: PlaylistManager::doDemux
    functionSourceFile: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp
    functionUses: 0
    functionsReached:
    - getNextPeriod
    - assert
    - isDisabled
    - vlc_cond_timedwait
    - PlaylistManager::setupPeriod
    - INT64_C
    - std::max
    - vlc_tick_now
    - PlaylistManager::updateControlsPosition
    - vlc_mutex_lock
    - begin
    - PlaylistManager::dequeue
    - PlaylistManager::setBufferingRunState
    - isValid
    - Times::offsetBy
    - end
    - es_out_Control
    - vlc_mutex_unlock
    - VLC_TICK_FROM_MS
    - PlaylistManager::unsetPeriod
    - Times
    linkageType: ''
    returnType: int
    signature: int PlaylistManager::doDemux(vlc_tick_t increment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<PlaylistManager *>
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:547,1
    - Dst: PlaylistManager*::doControl
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 549
    functionName: PlaylistManager::control_callback
    functionSourceFile: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<PlaylistManager *>
    - PlaylistManager*::doControl
    linkageType: ''
    returnType: int
    signature: int PlaylistManager::control_callback(demux_t *p_demux, int i_query,
      va_list args)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistManager::setBufferingRunState
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:571,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:572,1
    - Dst: isLive
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:573,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:575,1
    - Dst: Times
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:576,1
    - Dst: PlaylistManager::setLivePause
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:580,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:582,1
    - Dst: PlaylistManager::setLivePause
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:586,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:587,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:588,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:589,1
    - Dst: PlaylistManager::setBufferingRunState
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:590,1
    - Dst: PlaylistManager::setBufferingRunState
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:593,1
    - Dst: PlaylistManager::setBufferingRunState
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:634,1
    - Dst: PlaylistManager::setBufferingRunState
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:639,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:643,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:644,1
    - Dst: SeekDebug
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:647,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:647,1
    - Dst: PlaylistManager::setPosition
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:650,1
    - Dst: PlaylistManager::setBufferingRunState
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:652,1
    - Dst: Times
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:657,1
    - Dst: Times
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:658,1
    - Dst: PlaylistManager::setBufferingRunState
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:662,1
    - Dst: PlaylistManager::setBufferingRunState
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:668,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:670,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:671,1
    - Dst: PlaylistManager::setPosition
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:672,1
    - Dst: PlaylistManager::setBufferingRunState
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:674,1
    - Dst: Times
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:680,1
    - Dst: Times
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:681,1
    - Dst: PlaylistManager::setBufferingRunState
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:685,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:690,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:690,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 94
    argCount: 2
    argNames:
    - i_query
    - args
    argTypes:
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 551
    functionDepth: 2
    functionLinenumber: 551
    functionLinenumberEnd: 697
    functionName: PlaylistManager::doControl
    functionSourceFile: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp
    functionUses: 0
    functionsReached:
    - MS_FROM_VLC_TICK
    - vlc_tick_now
    - PlaylistManager::setPosition
    - es_out_Control
    - PlaylistManager::setLivePause
    - VLC_TICK_FROM_SEC
    - SeekDebug
    - va_arg
    - PlaylistManager::setBufferingRunState
    - isLive
    - Times
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int PlaylistManager::doControl(int i_query, va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 704
    functionName: PlaylistManager::setBufferingRunState
    functionSourceFile: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp
    functionUses: 3
    functionsReached:
    - signal
    linkageType: ''
    returnType: void
    signature: void PlaylistManager::setBufferingRunState(bool b)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getMinBuffering
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:709,1
    - Dst: getMaxBuffering
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:710,1
    - Dst: getStableBuffering
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:711,1
    - Dst: wait
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:715,1
    - Dst: PlaylistManager::needsUpdate
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:719,1
    - Dst: PlaylistManager::updatePlaylist
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:721,1
    - Dst: PlaylistManager::scheduleNextUpdate
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:722,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:727,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:729,1
    - Dst: PlaylistManager::bufferize
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:731,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:736,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:738,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:740,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:742,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:744,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:748,1
    - Dst: timedwait
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:751,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:752,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 706
    functionDepth: 2
    functionLinenumber: 706
    functionLinenumberEnd: 758
    functionName: PlaylistManager::Run
    functionSourceFile: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - PlaylistManager::bufferize
    - VLC_TICK_FROM_SEC
    - getMaxBuffering
    - getStableBuffering
    - VLC_TICK_FROM_MS
    - PlaylistManager::needsUpdate
    - getMinBuffering
    - wait
    - PlaylistManager::updatePlaylist
    - PlaylistManager::scheduleNextUpdate
    - timedwait
    linkageType: ''
    returnType: void
    signature: void PlaylistManager::Run()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:762,1
    - Dst: static_cast<PlaylistManager *>
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 765
    functionName: PlaylistManager::managerThread
    functionSourceFile: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp
    functionUses: 0
    functionsReached:
    - static_cast<PlaylistManager *>
    - vlc_thread_set_name
    linkageType: ''
    returnType: void
    signature: void * PlaylistManager::managerThread(void *opaque)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:771,1
    - Dst: isValid
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:778,1
    - Dst: isDisabled
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:778,1
    - Dst: isSelected
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:778,1
    - Dst: getMediaPlaybackTimes
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:780,1
    - Dst: PlaylistManager::getTimes
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:800,1
    - Dst: PlaylistManager::getTimes
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:801,1
    - Dst: isLive
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:802,1
    - Dst: SeekDebug
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:804,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:804,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:819,1
    - Dst: SeekDebug
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:853,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:853,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 856
    functionName: PlaylistManager::updateControlsPosition
    functionSourceFile: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp
    functionUses: 3
    functionsReached:
    - isSelected
    - isDisabled
    - vlc_tick_from_sec
    - SeekDebug
    - getMediaPlaybackTimes
    - isLive
    - time
    - msg_Dbg
    - isValid
    - PlaylistManager::getTimes
    linkageType: ''
    returnType: void
    signature: void PlaylistManager::updateControlsPosition()
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:860,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:866,1
    - Dst: FixedRateAdaptationLogic::FixedRateAdaptationLogic
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:867,1
    - Dst: AlwaysLowestAdaptationLogic::AlwaysLowestAdaptationLogic
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:871,1
    - Dst: AlwaysBestAdaptationLogic::AlwaysBestAdaptationLogic
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:874,1
    - Dst: RateBasedAdaptationLogic::RateBasedAdaptationLogic
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:879,1
    - Dst: AbstractConnectionManager*::setDownloadRateObserver
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:881,1
    - Dst: RoundRobinLogic::RoundRobinLogic
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:887,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:888,1
    - Dst: NearOptimalAdaptationLogic::NearOptimalAdaptationLogic
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:894,1
    - Dst: AbstractConnectionManager*::setDownloadRateObserver
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:896,1
    - Dst: PredictiveAdaptationLogic::PredictiveAdaptationLogic
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:903,1
    - Dst: AbstractConnectionManager*::setDownloadRateObserver
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:905,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:915,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:916,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:919,1
    - Dst: AbstractAdaptationLogic*::setMaxDeviceResolution
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:927,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 2
    argNames:
    - type
    - conn
    argTypes:
    - AbstractAdaptationLogic::LogicType
    - AbstractConnectionManager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 931
    functionName: PlaylistManager::createLogic
    functionSourceFile: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp
    functionUses: 1
    functionsReached:
    - AlwaysLowestAdaptationLogic::AlwaysLowestAdaptationLogic
    - var_InheritInteger
    - RateBasedAdaptationLogic::RateBasedAdaptationLogic
    - AbstractAdaptationLogic*::setMaxDeviceResolution
    - PredictiveAdaptationLogic::PredictiveAdaptationLogic
    - RoundRobinLogic::RoundRobinLogic
    - FixedRateAdaptationLogic::FixedRateAdaptationLogic
    - VLC_OBJECT
    - msg_Warn
    - NearOptimalAdaptationLogic::NearOptimalAdaptationLogic
    - AlwaysBestAdaptationLogic::AlwaysBestAdaptationLogic
    - AbstractConnectionManager*::setDownloadRateObserver
    linkageType: ''
    returnType: AbstractAdaptationLogic
    signature: AbstractAdaptationLogic *PlaylistManager::createLogic(AbstractAdaptationLogic::LogicType
      type, AbstractConnectionManager *conn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DefaultBufferingLogic::DefaultBufferingLogic
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:935,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:938,1
    - Dst: DefaultBufferingLogic*::setUserLiveDelay
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:940,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:940,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:941,1
    - Dst: DefaultBufferingLogic*::setUserMaxBuffering
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:943,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp:943,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 946
    functionName: PlaylistManager::createBufferingLogic
    functionSourceFile: /src/vlc/modules/demux/adaptive/PlaylistManager.cpp
    functionUses: 1
    functionsReached:
    - DefaultBufferingLogic*::setUserMaxBuffering
    - var_InheritInteger
    - VLC_TICK_FROM_MS
    - DefaultBufferingLogic::DefaultBufferingLogic
    - DefaultBufferingLogic*::setUserLiveDelay
    linkageType: ''
    returnType: AbstractBufferingLogic
    signature: AbstractBufferingLogic *PlaylistManager::createBufferingLogic() const
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: stream_ContentType
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:171,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:174,1
    - Dst: free
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:175,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:180,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:185,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:187,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:195,1
    - Dst: free
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:196,1
    - Dst: DASHManager::mimeMatched
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:201,1
    - Dst: SmoothManager::mimeMatched
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:202,1
    - Dst: HLSManager::isHTTPLiveStreaming
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:204,1
    - Dst: HandleHLS
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:206,1
    - Dst: DOMParser::DOMParser
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:211,1
    - Dst: HandleDash
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:214,1
    - Dst: HandleSmooth
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:218,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:224,1
    - Dst: vlc_stream_MemoryNew
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:227,1
    - Dst: const_cast<uint8_t *>
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:227,1
    - Dst: DOMParser::reset
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:230,1
    - Dst: DOMParser::parse
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:230,1
    - Dst: DASHManager::isDASH
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:232,1
    - Dst: DOMParser::getRootNode
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:232,1
    - Dst: HandleDash
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:234,1
    - Dst: SmoothManager::isSmoothStreaming
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:236,1
    - Dst: DOMParser::getRootNode
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:236,1
    - Dst: HandleSmooth
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:238,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:241,1
    - Dst: PlaylistManager*::init
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:247,1
    - Dst: var_Create
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:254,1
    - Dst: var_SetBool
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:255,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:261,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 54
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 264
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/adaptive/adaptive.cpp
    functionUses: 37
    functionsReached:
    - HandleSmooth
    - DOMParser::parse
    - SmoothManager::isSmoothStreaming
    - vlc_stream_MemoryNew
    - DASHManager::mimeMatched
    - stream_ContentType
    - DOMParser::DOMParser
    - SmoothManager::mimeMatched
    - ARRAY_SIZE
    - const_cast<uint8_t *>
    - DOMParser::getRootNode
    - HLSManager::isHTTPLiveStreaming
    - PlaylistManager*::init
    - var_Create
    - msg_Err
    - DOMParser::reset
    - msg_Dbg
    - HandleDash
    - strcmp
    - HandleHLS
    - var_InheritString
    - vlc_stream_Peek
    - vlc_stream_Delete
    - DASHManager::isDASH
    - free
    - var_SetBool
    - std::string
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *p_obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<PlaylistManager *>
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:272,1
    - Dst: PlaylistManager*::stop
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 276
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/adaptive/adaptive.cpp
    functionUses: 125
    functionsReached:
    - reinterpret_cast<PlaylistManager *>
    - PlaylistManager*::stop
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *p_obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DOMParser::reset
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:285,1
    - Dst: DOMParser::parse
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:285,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:287,1
    - Dst: DOMParser::getRootNode
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:290,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:290,1
    - Dst: IsoffMainParser::parse
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:292,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:295,1
    - Dst: SharedResources::createDefault
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:300,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:300,1
    - Dst: DASHStreamFactory::DASHStreamFactory
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:301,1
    - Dst: DASHManager::DASHManager
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:304,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - p_demux
    - xmlParser
    - ' playlisturl'
    - logic
    argTypes:
    - demux_t*
    - DOMParser
    - std::string
    - AbstractAdaptationLogic::LogicType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 312
    functionName: HandleDash
    functionSourceFile: /src/vlc/modules/demux/adaptive/adaptive.cpp
    functionUses: 1
    functionsReached:
    - IsoffMainParser::parse
    - DOMParser::parse
    - DOMParser::getRootNode
    - SharedResources::createDefault
    - msg_Err
    - DOMParser::reset
    - VLC_OBJECT
    - DASHManager::DASHManager
    - DASHStreamFactory::DASHStreamFactory
    linkageType: ''
    returnType: PlaylistManager
    signature: "PlaylistManager * HandleDash(demux_t *p_demux, DOMParser &xmlParser,\n
      \                                   const std::string & playlisturl,\n                                    AbstractAdaptationLogic::LogicType
      logic)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DOMParser::reset
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:318,1
    - Dst: DOMParser::parse
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:318,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:320,1
    - Dst: DOMParser::getRootNode
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:323,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:323,1
    - Dst: ManifestParser::parse
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:325,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:328,1
    - Dst: SharedResources::createDefault
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:333,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:333,1
    - Dst: SmoothStreamFactory::SmoothStreamFactory
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:334,1
    - Dst: SmoothManager::SmoothManager
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:337,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - p_demux
    - xmlParser
    - ' playlisturl'
    - logic
    argTypes:
    - demux_t*
    - DOMParser
    - std::string
    - AbstractAdaptationLogic::LogicType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 345
    functionName: HandleSmooth
    functionSourceFile: /src/vlc/modules/demux/adaptive/adaptive.cpp
    functionUses: 1
    functionsReached:
    - DOMParser::parse
    - DOMParser::getRootNode
    - SharedResources::createDefault
    - SmoothStreamFactory::SmoothStreamFactory
    - msg_Err
    - DOMParser::reset
    - VLC_OBJECT
    - ManifestParser::parse
    - SmoothManager::SmoothManager
    linkageType: ''
    returnType: PlaylistManager
    signature: "PlaylistManager * HandleSmooth(demux_t *p_demux, DOMParser &xmlParser,\n
      \                                   const std::string & playlisturl,\n                                    AbstractAdaptationLogic::LogicType
      logic)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SharedResources::createDefault
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:352,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:352,1
    - Dst: M3U8Parser::parse
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:357,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:357,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:360,1
    - Dst: HLSStreamFactory::HLSStreamFactory
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:365,1
    - Dst: HLSManager::HLSManager
      Src: /src/vlc/modules/demux/adaptive/adaptive.cpp:368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - p_demux
    - ' playlisturl'
    - logic
    argTypes:
    - demux_t*
    - std::string
    - AbstractAdaptationLogic::LogicType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 376
    functionName: HandleHLS
    functionSourceFile: /src/vlc/modules/demux/adaptive/adaptive.cpp
    functionUses: 1
    functionsReached:
    - HLSManager::HLSManager
    - SharedResources::createDefault
    - HLSStreamFactory::HLSStreamFactory
    - msg_Err
    - VLC_OBJECT
    - M3U8Parser::parse
    linkageType: ''
    returnType: PlaylistManager
    signature: "PlaylistManager * HandleHLS(demux_t *p_demux,\n                                   const
      std::string & playlisturl,\n                                   AbstractAdaptationLogic::LogicType
      logic)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: StreamFormat::operator StreamFormat::Type() const
    functionSourceFile: /src/vlc/modules/demux/adaptive/StreamFormat.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamFormat::operator StreamFormat::Type() const
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 71
    functionName: StreamFormat::str
    functionSourceFile: /src/vlc/modules/demux/adaptive/StreamFormat.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string StreamFormat::str() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type_
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: StreamFormat::StreamFormat
    functionSourceFile: /src/vlc/modules/demux/adaptive/StreamFormat.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamFormat::StreamFormat( Type type_ )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: transform
      Src: /src/vlc/modules/demux/adaptive/StreamFormat.cpp:81,1
    - Dst: std::string::begin
      Src: /src/vlc/modules/demux/adaptive/StreamFormat.cpp:81,1
    - Dst: std::string::end
      Src: /src/vlc/modules/demux/adaptive/StreamFormat.cpp:81,1
    - Dst: std::string::begin
      Src: /src/vlc/modules/demux/adaptive/StreamFormat.cpp:81,1
    - Dst: std::string::find
      Src: /src/vlc/modules/demux/adaptive/StreamFormat.cpp:82,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/adaptive/StreamFormat.cpp:86,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - mimetype
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 104
    functionName: StreamFormat::StreamFormat
    functionSourceFile: /src/vlc/modules/demux/adaptive/StreamFormat.cpp
    functionUses: 0
    functionsReached:
    - std::string::find
    - std::string::begin
    - transform
    - std::string::end
    - std::string::substr
    linkageType: ''
    returnType: void
    signature: void StreamFormat::StreamFormat( const std::string &mimetype )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: ID3Callback
    functionSourceFile: /src/vlc/modules/demux/adaptive/StreamFormat.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ID3Callback(uint32_t, const uint8_t *, size_t, void *)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/demux/adaptive/StreamFormat.cpp:118,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - p
    - sz
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 123
    functionName: IsWebVTT
    functionSourceFile: /src/vlc/modules/demux/adaptive/StreamFormat.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool IsWebVTT(const char *p, size_t sz)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/vlc/modules/demux/adaptive/StreamFormat.cpp:127,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/adaptive/StreamFormat.cpp:132,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/adaptive/StreamFormat.cpp:138,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/adaptive/StreamFormat.cpp:139,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/adaptive/StreamFormat.cpp:144,1
    - Dst: ID3TAG_IsTag
      Src: /src/vlc/modules/demux/adaptive/StreamFormat.cpp:150,1
    - Dst: ID3TAG_Parse
      Src: /src/vlc/modules/demux/adaptive/StreamFormat.cpp:152,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/adaptive/StreamFormat.cpp:161,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/adaptive/StreamFormat.cpp:162,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/adaptive/StreamFormat.cpp:163,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/adaptive/StreamFormat.cpp:164,1
    - Dst: IsWebVTT
      Src: /src/vlc/modules/demux/adaptive/StreamFormat.cpp:166,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/adaptive/StreamFormat.cpp:168,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/adaptive/StreamFormat.cpp:170,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/adaptive/StreamFormat.cpp:175,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/adaptive/StreamFormat.cpp:176,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 40
    argCount: 2
    argNames:
    - data_
    - sz
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 189
    functionName: StreamFormat::StreamFormat
    functionSourceFile: /src/vlc/modules/demux/adaptive/StreamFormat.cpp
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - reinterpret_cast<const uint8_t *>
    - IsWebVTT
    - ID3TAG_IsTag
    - ID3TAG_Parse
    - GetDWBE
    - memcmp
    linkageType: ''
    returnType: void
    signature: void StreamFormat::StreamFormat(const void *data_, size_t sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: StreamFormat::~StreamFormat()
    functionSourceFile: /src/vlc/modules/demux/adaptive/StreamFormat.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamFormat::~StreamFormat()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: StreamFormat::operator ==(Type t) const
    functionSourceFile: /src/vlc/modules/demux/adaptive/StreamFormat.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool StreamFormat::operator ==(Type t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: StreamFormat::operator !=(Type t) const
    functionSourceFile: /src/vlc/modules/demux/adaptive/StreamFormat.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool StreamFormat::operator !=(Type t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - StreamFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: StreamFormat::operator ==(const StreamFormat &other) const
    functionSourceFile: /src/vlc/modules/demux/adaptive/StreamFormat.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool StreamFormat::operator ==(const StreamFormat &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - StreamFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: StreamFormat::operator !=(const StreamFormat &other) const
    functionSourceFile: /src/vlc/modules/demux/adaptive/StreamFormat.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool StreamFormat::operator !=(const StreamFormat &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: ~AbstractStreamFactory()
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AbstractStreamFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: ~AbstractStreamFactory()
    functionSourceFile: /src/vlc/modules/demux/adaptive/Streams.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AbstractStreamFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id_
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: ID::ID
    functionSourceFile: /src/vlc/modules/demux/adaptive/ID.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ID::ID(const std::string &id_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::imbue
      Src: /src/vlc/modules/demux/adaptive/ID.cpp:37,1
    - Dst: std::locale
      Src: /src/vlc/modules/demux/adaptive/ID.cpp:37,1
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/demux/adaptive/ID.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - id_
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: ID::ID
    functionSourceFile: /src/vlc/modules/demux/adaptive/ID.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::imbue
    - std::locale
    - std::stringstream::str
    linkageType: ''
    returnType: void
    signature: void ID::ID(uint64_t id_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/ID.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: ID::isValid
    functionSourceFile: /src/vlc/modules/demux/adaptive/ID.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool ID::isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/ID.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - ID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: ID::operator==(const ID &other) const
    functionSourceFile: /src/vlc/modules/demux/adaptive/ID.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool ID::operator==(const ID &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/vlc/modules/demux/adaptive/ID.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - ID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: ID::operator<(const ID &other) const
    functionSourceFile: /src/vlc/modules/demux/adaptive/ID.cpp
    functionUses: 0
    functionsReached:
    - compare
    linkageType: ''
    returnType: bool
    signature: bool ID::operator<(const ID &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: ID::str
    functionSourceFile: /src/vlc/modules/demux/adaptive/ID.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ID::str() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: SrcID::SrcID
    functionSourceFile: /src/vlc/modules/demux/adaptive/ID.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SrcID::SrcID(unsigned n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - SrcID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: SrcID::operator==(const SrcID &other) const
    functionSourceFile: /src/vlc/modules/demux/adaptive/ID.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SrcID::operator==(const SrcID &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - SrcID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: SrcID::operator!=(const SrcID &other) const
    functionSourceFile: /src/vlc/modules/demux/adaptive/ID.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SrcID::operator!=(const SrcID &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SrcID::SrcID
      Src: /src/vlc/modules/demux/adaptive/ID.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: SrcID::make
    functionSourceFile: /src/vlc/modules/demux/adaptive/ID.cpp
    functionUses: 1
    functionsReached:
    - SrcID::SrcID
    linkageType: ''
    returnType: SrcID
    signature: SrcID SrcID::make()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SrcID::SrcID
      Src: /src/vlc/modules/demux/adaptive/ID.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: SrcID::dummy
    functionSourceFile: /src/vlc/modules/demux/adaptive/ID.cpp
    functionUses: 0
    functionsReached:
    - SrcID::SrcID
    linkageType: ''
    returnType: SrcID
    signature: SrcID SrcID::dummy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: '& Unique::getID() const'
    functionSourceFile: /src/vlc/modules/demux/adaptive/ID.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ID
    signature: ID & Unique::getID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id_
    argTypes:
    - ID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: Unique::setID
    functionSourceFile: /src/vlc/modules/demux/adaptive/ID.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Unique::setID(const ID &id_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - testcond
    - ','
    - testcontext
    - ','
    - testline
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 36
    functionName: DoExpect
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DoExpect(testcond, testcontext, testline)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - testcond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: Expect
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Expect(testcond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - func
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: TEST
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/test.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST(func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST
      Src: /src/vlc/modules/demux/adaptive/test/test.cpp:40,1
    - Dst: TEST
      Src: /src/vlc/modules/demux/adaptive/test/test.cpp:41,1
    - Dst: TEST
      Src: /src/vlc/modules/demux/adaptive/test/test.cpp:42,1
    - Dst: TEST
      Src: /src/vlc/modules/demux/adaptive/test/test.cpp:43,1
    - Dst: TEST
      Src: /src/vlc/modules/demux/adaptive/test/test.cpp:44,1
    - Dst: TEST
      Src: /src/vlc/modules/demux/adaptive/test/test.cpp:45,1
    - Dst: TEST
      Src: /src/vlc/modules/demux/adaptive/test/test.cpp:46,1
    - Dst: TEST
      Src: /src/vlc/modules/demux/adaptive/test/test.cpp:47,1
    - Dst: TEST
      Src: /src/vlc/modules/demux/adaptive/test/test.cpp:48,1
    - Dst: TEST
      Src: /src/vlc/modules/demux/adaptive/test/test.cpp:49,1
    - Dst: TEST
      Src: /src/vlc/modules/demux/adaptive/test/test.cpp:50,1
    - Dst: TEST
      Src: /src/vlc/modules/demux/adaptive/test/test.cpp:51,1
    - Dst: TEST
      Src: /src/vlc/modules/demux/adaptive/test/test.cpp:52,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 54
    functionName: main
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/test.cpp
    functionUses: 4
    functionsReached:
    - TEST
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: DummyLogic::DummyLogic
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DummyLogic()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ~DummyLogic()
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DummyLogic()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BaseAdaptationSet*::getRepresentations
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:61,1
    - Dst: BaseAdaptationSet*::getRepresentations
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - set
    argTypes:
    - BaseAdaptationSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: DummyLogic::getNextRepresentation
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - BaseAdaptationSet*::getRepresentations
    linkageType: ''
    returnType: BaseRepresentation
    signature: "BaseRepresentation * getNextRepresentation(BaseAdaptationSet *set,\n
      \                                                 BaseRepresentation *) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - t
    - range
    - v
    - content
    argTypes:
    - ChunkType
    - BytesRange
    - std::vector<uint8_t>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: DummyChunkSource::DummyChunkSource
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DummyChunkSource(ChunkType t, const BytesRange &range, const
      std::vector<uint8_t> &v,\n                         const std::string &content)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: ~DummyChunkSource()
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DummyChunkSource()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: DummyChunkSource::recycle
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void recycle() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: '& getContentType  () const override'
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & getContentType  () const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: DummyChunkSource::getRequestStatus
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: RequestStatus
    signature: RequestStatus getRequestStatus() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:86,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:87,1
    - Dst: std::memcpy
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: DummyChunkSource::readBlock
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - std::memcpy
    - size
    - block_Alloc
    linkageType: ''
    returnType: block_t
    signature: block_t *   readBlock       ()  override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:95,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:98,1
    - Dst: std::memcpy
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - sz
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 103
    functionName: DummyChunkSource::read
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - std::memcpy
    - size
    - block_Alloc
    linkageType: ''
    returnType: block_t
    signature: block_t *   read            (size_t sz)  override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: DummyChunkSource::hasMoreData
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool hasMoreData     () const  override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: DummyChunkSource::getBytesRead
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getBytesRead    () const  override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: DummyConnectionManager::DummyConnectionManager
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DummyConnectionManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: ~DummyConnectionManager()
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DummyConnectionManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: DummyConnectionManager::closeAllConnections
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void closeAllConnections () override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: DummyConnectionManager::getConnection
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AbstractConnection
    signature: AbstractConnection * getConnection(ConnectionParams &) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:126,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:127,1
    - Dst: std::vector<uint8_t>
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:128,1
    - Dst: DummyChunkSource::DummyChunkSource
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:128,1
    - Dst: DummyChunkSource::DummyChunkSource
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - uri
    - t
    - br
    argTypes:
    - std::string
    - ChunkType
    - BytesRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 132
    functionName: DummyConnectionManager::makeSource
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    - end
    - DummyChunkSource::DummyChunkSource
    - find
    linkageType: ''
    returnType: AbstractChunkSource
    signature: "AbstractChunkSource *makeSource(const std::string &uri,\n                                        const
      ID &, ChunkType t,\n                                        const BytesRange
      &br) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: DummyConnectionManager::recycleSource
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void recycleSource(AbstractChunkSource *) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: DummyConnectionManager::start
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void start(AbstractChunkSource *) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: DummyConnectionManager::cancel
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cancel(AbstractChunkSource *) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SegmentTrackerListener::reset
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: SegmentTrackerListener::SegmentTrackerListener
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - SegmentTrackerListener::reset
    linkageType: ''
    returnType: void
    signature: void SegmentTrackerListener()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: ~SegmentTrackerListener()
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SegmentTrackerListener()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TrackerEvent::getType
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:152,1
    - Dst: static_cast<const SegmentChangedEvent *>
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:157,1
    - Dst: static_cast<const FormatChangedEvent *>
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:167,1
    - Dst: static_cast<const RepresentationSwitchEvent *>
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:174,1
    - Dst: static_cast<const PositionChangedEvent *>
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:187,1
    - Dst: insert
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:194,1
    - Dst: TrackerEvent::getType
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:194,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - event
    argTypes:
    - TrackerEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 195
    functionName: SegmentTrackerListener::trackerEvent
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const SegmentChangedEvent *>
    - static_cast<const FormatChangedEvent *>
    - TrackerEvent::getType
    - insert
    - static_cast<const RepresentationSwitchEvent *>
    - static_cast<const PositionChangedEvent *>
    linkageType: ''
    returnType: void
    signature: void trackerEvent(const TrackerEvent &event) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:199,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - TrackerEvent::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: SegmentTrackerListener::occured
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: bool occured(TrackerEvent::Type t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:204,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:205,1
    - Dst: StreamFormat
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 214
    functionName: SegmentTrackerListener::reset
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 1
    functionsReached:
    - StreamFormat
    - clear
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - set
    argTypes:
    - BaseAdaptationSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 243
    functionName: DummyRepresentation::DummyRepresentation
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DummyRepresentation(BaseAdaptationSet *set)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 244
    functionName: ~DummyRepresentation()
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DummyRepresentation()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 245
    functionName: DummyRepresentation::getStreamFormat
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamFormat
    signature: StreamFormat getStreamFormat() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - set
    - duration
    argTypes:
    - BaseAdaptationSet*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 252
    functionName: DummyHLSRepresentation::DummyHLSRepresentation
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DummyHLSRepresentation(BaseAdaptationSet *set, time_t duration)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: ~DummyHLSRepresentation()
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DummyHLSRepresentation()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: DummyHLSRepresentation::getStreamFormat
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamFormat
    signature: StreamFormat getStreamFormat() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: DummyHLSRepresentation::needsUpdate
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool needsUpdate(uint64_t) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: DummyHLSRepresentation::runLocalUpdates
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool runLocalUpdates(SharedResources *) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BasePlaylist::BasePlaylist
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:265,1
    - Dst: BasePeriod::BasePeriod
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:266,1
    - Dst: BasePlaylist*::addPeriod
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:267,1
    - Dst: BaseAdaptationSet::BaseAdaptationSet
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:268,1
    - Dst: BasePeriod*::addAdaptationSet
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 274
    functionName: CreatePlaylistPeriodAdaptationSet
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - BasePlaylist::BasePlaylist
    - BaseAdaptationSet::BaseAdaptationSet
    - BasePeriod*::addAdaptationSet
    - BasePlaylist*::addPeriod
    - BasePeriod::BasePeriod
    linkageType: ''
    returnType: BaseAdaptationSet
    signature: BaseAdaptationSet *CreatePlaylistPeriodAdaptationSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DummyRepresentation::DummyRepresentation
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:287,1
    - Dst: BaseAdaptationSet*::addRepresentation
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:288,1
    - Dst: DummyRepresentation*::setID
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:289,1
    - Dst: ID
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:289,1
    - Dst: SegmentList::SegmentList
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:294,1
    - Dst: SegmentList*::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:295,1
    - Dst: TimescaleAttr::TimescaleAttr
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:295,1
    - Dst: Segment::Segment
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:298,1
    - Dst: Segment*::setSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:299,1
    - Dst: Segment*::setDiscontinuitySequenceNumber
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:300,1
    - Dst: Segment*::setSourceUrl
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:303,1
    - Dst: SegmentList*::addSegment
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:304,1
    - Dst: std::rethrow_exception
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:308,1
    - Dst: std::current_exception
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:308,1
    - Dst: DummyRepresentation*::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:310,1
    - Dst: SegmentTracker*::getStartPosition
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:313,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:314,1
    - Dst: SegmentTracker::Position::isValid
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:314,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:315,1
    - Dst: SegmentTracker*::getNextChunk
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:316,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:317,1
    - Dst: SegmentTrackerListener::reset
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:320,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:321,1
    - Dst: SegmentTracker*::setStartPosition
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:321,1
    - Dst: SegmentTracker*::getNextChunk
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:322,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:323,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:324,1
    - Dst: SegmentTrackerListener::occured
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:324,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:325,1
    - Dst: SegmentTrackerListener::occured
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:325,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:326,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:326,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:327,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:327,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:328,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:329,1
    - Dst: SegmentTrackerListener::reset
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:333,1
    - Dst: SegmentTracker*::getNextChunk
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:334,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:335,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:336,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:336,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:337,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:337,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:338,1
    - Dst: SegmentTrackerListener::occured
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:338,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:339,1
    - Dst: SegmentTrackerListener::occured
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:339,1
    - Dst: SegmentTrackerListener::reset
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:343,1
    - Dst: SegmentTracker*::getNextChunk
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:344,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:345,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:346,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:346,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:347,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:347,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:348,1
    - Dst: SegmentTrackerListener::occured
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:348,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:349,1
    - Dst: SegmentTrackerListener::occured
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:349,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:350,1
    - Dst: SegmentTrackerListener::reset
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:355,1
    - Dst: SegmentTracker*::getNextChunk
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:356,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:357,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:358,1
    - Dst: SegmentTrackerListener::occured
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 64
    argCount: 3
    argNames:
    - adaptSet
    - tracker
    - events
    argTypes:
    - BaseAdaptationSet*
    - SegmentTracker*
    - SegmentTrackerListener
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 366
    functionName: SegmentTracker_check_formats
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - Segment*::setSourceUrl
    - SegmentTracker*::setStartPosition
    - SegmentTracker*::getNextChunk
    - std::rethrow_exception
    - std::current_exception
    - SegmentTrackerListener::reset
    - SegmentTracker::Position::isValid
    - SegmentList*::addAttribute
    - SegmentList*::addSegment
    - TimescaleAttr::TimescaleAttr
    - ID
    - DummyRepresentation*::addAttribute
    - DummyRepresentation*::setID
    - SegmentTrackerListener::occured
    - Segment*::setSequenceNumber
    - DummyRepresentation::DummyRepresentation
    - BaseAdaptationSet*::addRepresentation
    - Segment*::setDiscontinuitySequenceNumber
    - SegmentTracker*::getStartPosition
    - SegmentList::SegmentList
    - Timescale::ToTime
    - Segment::Segment
    - Expect
    linkageType: ''
    returnType: int
    signature: "int SegmentTracker_check_formats(BaseAdaptationSet *adaptSet,\n                                        DummyLogic
      *,\n                                        SegmentTracker *tracker,\n                                        SegmentTrackerListener
      &events)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DummyRepresentation::DummyRepresentation
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:380,1
    - Dst: BaseAdaptationSet*::addRepresentation
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:381,1
    - Dst: DummyRepresentation*::setID
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:382,1
    - Dst: ID
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:382,1
    - Dst: SegmentList::SegmentList
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:387,1
    - Dst: SegmentList*::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:388,1
    - Dst: TimescaleAttr::TimescaleAttr
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:388,1
    - Dst: Segment::Segment
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:391,1
    - Dst: Segment*::setSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:392,1
    - Dst: Segment*::setDiscontinuitySequenceNumber
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:393,1
    - Dst: Segment*::setSourceUrl
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:396,1
    - Dst: SegmentList*::addSegment
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:397,1
    - Dst: std::rethrow_exception
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:401,1
    - Dst: std::current_exception
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:401,1
    - Dst: DummyRepresentation*::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:403,1
    - Dst: SegmentTrackerListener::reset
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:405,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:406,1
    - Dst: SegmentTracker*::setPositionByTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:406,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:406,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:407,1
    - Dst: SegmentTrackerListener::occured
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:407,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:408,1
    - Dst: SegmentTracker*::getPlaybackTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:408,1
    - Dst: SegmentTrackerListener::reset
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:410,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:411,1
    - Dst: SegmentTracker*::setPositionByTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:411,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:411,1
    - Dst: SegmentTracker*::getNextChunk
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:412,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:413,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:414,1
    - Dst: SegmentTrackerListener::occured
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:414,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:415,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:415,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:416,1
    - Dst: SegmentTracker*::getPlaybackTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:416,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:416,1
    - Dst: SegmentTrackerListener::reset
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:421,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:422,1
    - Dst: SegmentTracker*::setPositionByTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:422,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:422,1
    - Dst: SegmentTracker*::getNextChunk
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:423,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:424,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:425,1
    - Dst: SegmentTrackerListener::occured
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:425,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:430,1
    - Dst: SegmentTracker*::setPositionByTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:430,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:430,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:431,1
    - Dst: SegmentTracker*::setPositionByTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:431,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:431,1
    - Dst: SegmentTrackerListener::reset
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:434,1
    - Dst: SegmentTracker*::getStartPosition
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:435,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:436,1
    - Dst: SegmentTracker::Position::isValid
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:436,1
    - Dst: SegmentTracker*::setPosition
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:437,1
    - Dst: SegmentTracker*::getNextChunk
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:438,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:439,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:440,1
    - Dst: SegmentTrackerListener::occured
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:440,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:441,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:441,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:442,1
    - Dst: SegmentTracker*::getPlaybackTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:442,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:442,1
    - Dst: SegmentTrackerListener::reset
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:447,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:448,1
    - Dst: SegmentTracker*::setPositionByTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:448,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:448,1
    - Dst: SegmentTracker*::getNextChunk
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:449,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:450,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:451,1
    - Dst: SegmentTrackerListener::occured
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:451,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:452,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:452,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:453,1
    - Dst: SegmentTracker*::getPlaybackTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:453,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:453,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 66
    argCount: 3
    argNames:
    - adaptSet
    - tracker
    - events
    argTypes:
    - BaseAdaptationSet*
    - SegmentTracker*
    - SegmentTrackerListener
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 463
    functionName: SegmentTracker_check_seeks
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - Segment*::setSourceUrl
    - SegmentTracker*::setPositionByTime
    - SegmentTracker*::getNextChunk
    - std::rethrow_exception
    - SegmentTracker*::setPosition
    - SegmentTracker*::getPlaybackTime
    - std::current_exception
    - SegmentTrackerListener::reset
    - SegmentTracker::Position::isValid
    - SegmentList*::addAttribute
    - SegmentList*::addSegment
    - TimescaleAttr::TimescaleAttr
    - ID
    - DummyRepresentation*::addAttribute
    - DummyRepresentation*::setID
    - SegmentTrackerListener::occured
    - Segment*::setSequenceNumber
    - DummyRepresentation::DummyRepresentation
    - BaseAdaptationSet*::addRepresentation
    - Segment*::setDiscontinuitySequenceNumber
    - SegmentTracker*::getStartPosition
    - SegmentList::SegmentList
    - Timescale::ToTime
    - Segment::Segment
    - Expect
    linkageType: ''
    returnType: int
    signature: "int SegmentTracker_check_seeks(BaseAdaptationSet *adaptSet,\n                                      DummyLogic
      *,\n                                      SegmentTracker *tracker,\n                                      SegmentTrackerListener
      &events)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DummyRepresentation::DummyRepresentation
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:477,1
    - Dst: BaseAdaptationSet*::addRepresentation
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:478,1
    - Dst: DummyRepresentation*::setID
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:479,1
    - Dst: ID
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:479,1
    - Dst: SegmentList::SegmentList
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:484,1
    - Dst: SegmentList*::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:485,1
    - Dst: TimescaleAttr::TimescaleAttr
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:485,1
    - Dst: Segment::Segment
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:488,1
    - Dst: Segment*::setSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:489,1
    - Dst: Segment*::setDiscontinuitySequenceNumber
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:490,1
    - Dst: Segment*::setSourceUrl
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:493,1
    - Dst: SegmentList*::addSegment
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:494,1
    - Dst: std::rethrow_exception
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:498,1
    - Dst: std::current_exception
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:498,1
    - Dst: DummyRepresentation*::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:500,1
    - Dst: SegmentList*::getSegments
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:501,1
    - Dst: SegmentList*::getSegments
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:502,1
    - Dst: DummyRepresentation::DummyRepresentation
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:504,1
    - Dst: BaseAdaptationSet*::addRepresentation
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:505,1
    - Dst: DummyRepresentation*::setID
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:506,1
    - Dst: ID
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:506,1
    - Dst: SegmentList::SegmentList
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:510,1
    - Dst: SegmentList*::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:511,1
    - Dst: TimescaleAttr::TimescaleAttr
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:511,1
    - Dst: Segment::Segment
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:514,1
    - Dst: Segment*::setSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:515,1
    - Dst: Segment*::setDiscontinuitySequenceNumber
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:516,1
    - Dst: Segment*::setSourceUrl
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:519,1
    - Dst: SegmentList*::addSegment
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:520,1
    - Dst: std::rethrow_exception
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:524,1
    - Dst: std::current_exception
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:524,1
    - Dst: DummyRepresentation*::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:526,1
    - Dst: InitSegment::InitSegment
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:529,1
    - Dst: InitSegment*::setSourceUrl
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:530,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:533,1
    - Dst: BaseAdaptationSet*::isSegmentAligned
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:533,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:534,1
    - Dst: BaseAdaptationSet*::getRepresentations
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:534,1
    - Dst: SegmentTrackerListener::reset
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:537,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:538,1
    - Dst: SegmentTracker*::setStartPosition
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:538,1
    - Dst: SegmentTracker*::getNextChunk
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:539,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:540,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:541,1
    - Dst: SegmentTrackerListener::occured
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:541,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:542,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:543,1
    - Dst: SegmentTrackerListener::reset
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:550,1
    - Dst: SegmentTracker*::getNextChunk
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:551,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:552,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:553,1
    - Dst: SegmentTrackerListener::occured
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:553,1
    - Dst: SegmentTrackerListener::reset
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:557,1
    - Dst: SegmentTracker*::getNextChunk
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:558,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:559,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:560,1
    - Dst: SegmentTrackerListener::occured
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:560,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:561,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:562,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:564,1
    - Dst: ChunkInterface*::getContentType
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:564,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:565,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:565,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:566,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:566,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:567,1
    - Dst: SegmentTrackerListener::reset
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:572,1
    - Dst: SegmentTracker*::getNextChunk
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:573,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:574,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:575,1
    - Dst: SegmentTrackerListener::occured
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:575,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:576,1
    - Dst: ChunkInterface*::getContentType
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:576,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:578,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:578,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:579,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:579,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:580,1
    - Dst: SegmentTrackerListener::reset
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:586,1
    - Dst: SegmentTracker*::getNextChunk
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:587,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:588,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:589,1
    - Dst: SegmentTrackerListener::occured
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:589,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:590,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:591,1
    - Dst: SegmentTrackerListener::reset
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:596,1
    - Dst: SegmentTracker*::getNextChunk
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:597,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:598,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:599,1
    - Dst: SegmentTrackerListener::occured
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:599,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:600,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:601,1
    - Dst: SegmentTrackerListener::reset
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:607,1
    - Dst: SegmentTracker*::getStartPosition
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:608,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:609,1
    - Dst: SegmentTracker::Position::isValid
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:609,1
    - Dst: SegmentTracker*::setPosition
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:610,1
    - Dst: SegmentTracker*::getNextChunk
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:611,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:612,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:613,1
    - Dst: SegmentTrackerListener::occured
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:613,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:614,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:615,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:616,1
    - Dst: ChunkInterface*::getContentType
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:616,1
    - Dst: SegmentTrackerListener::reset
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:622,1
    - Dst: SegmentTracker*::getNextChunk
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:623,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:624,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:625,1
    - Dst: SegmentTrackerListener::occured
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:625,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:626,1
    - Dst: ChunkInterface*::getContentType
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:626,1
    - Dst: SegmentTrackerListener::reset
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:631,1
    - Dst: SegmentTracker*::getNextChunk
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:632,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:633,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:634,1
    - Dst: SegmentTrackerListener::occured
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:634,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 130
    argCount: 4
    argNames:
    - adaptSet
    - logic
    - tracker
    - events
    argTypes:
    - BaseAdaptationSet*
    - DummyLogic*
    - SegmentTracker*
    - SegmentTrackerListener
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 644
    functionName: SegmentTracker_check_switches
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - Segment*::setSourceUrl
    - ChunkInterface*::getContentType
    - SegmentTracker*::setStartPosition
    - SegmentTracker*::getNextChunk
    - SegmentList*::getSegments
    - std::rethrow_exception
    - SegmentTracker*::setPosition
    - InitSegment*::setSourceUrl
    - std::current_exception
    - SegmentTrackerListener::reset
    - BaseAdaptationSet*::getRepresentations
    - SegmentTracker::Position::isValid
    - SegmentList*::addAttribute
    - SegmentList*::addSegment
    - TimescaleAttr::TimescaleAttr
    - ID
    - DummyRepresentation*::addAttribute
    - DummyRepresentation*::setID
    - SegmentTrackerListener::occured
    - InitSegment::InitSegment
    - Segment*::setSequenceNumber
    - DummyRepresentation::DummyRepresentation
    - BaseAdaptationSet*::addRepresentation
    - Segment*::setDiscontinuitySequenceNumber
    - SegmentTracker*::getStartPosition
    - SegmentList::SegmentList
    - BaseAdaptationSet*::isSegmentAligned
    - Timescale::ToTime
    - Segment::Segment
    - Expect
    linkageType: ''
    returnType: int
    signature: "int SegmentTracker_check_switches(BaseAdaptationSet *adaptSet,\n                                         DummyLogic
      *logic,\n                                         SegmentTracker *tracker,\n
      \                                        SegmentTrackerListener &events)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DummyHLSRepresentation::DummyHLSRepresentation
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:658,1
    - Dst: BaseAdaptationSet*::addRepresentation
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:659,1
    - Dst: DummyHLSRepresentation*::setID
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:660,1
    - Dst: ID
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:660,1
    - Dst: SegmentList::SegmentList
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:665,1
    - Dst: SegmentList*::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:666,1
    - Dst: TimescaleAttr::TimescaleAttr
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:666,1
    - Dst: Segment::Segment
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:669,1
    - Dst: Segment*::setSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:670,1
    - Dst: Segment*::setSourceUrl
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:673,1
    - Dst: SegmentList*::addSegment
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:674,1
    - Dst: std::rethrow_exception
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:678,1
    - Dst: std::current_exception
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:678,1
    - Dst: DummyHLSRepresentation*::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:680,1
    - Dst: DummyHLSRepresentation::DummyHLSRepresentation
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:682,1
    - Dst: BaseAdaptationSet*::addRepresentation
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:683,1
    - Dst: DummyHLSRepresentation*::setID
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:684,1
    - Dst: ID
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:684,1
    - Dst: SegmentList::SegmentList
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:689,1
    - Dst: SegmentList*::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:690,1
    - Dst: TimescaleAttr::TimescaleAttr
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:690,1
    - Dst: Segment::Segment
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:693,1
    - Dst: Segment*::setSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:694,1
    - Dst: Segment*::setSourceUrl
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:697,1
    - Dst: SegmentList*::addSegment
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:698,1
    - Dst: std::rethrow_exception
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:702,1
    - Dst: std::current_exception
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:702,1
    - Dst: DummyHLSRepresentation*::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:704,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:707,1
    - Dst: SegmentTracker*::setPositionByTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:707,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:707,1
    - Dst: SegmentTracker*::getNextChunk
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:708,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:709,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:710,1
    - Dst: SegmentTrackerListener::occured
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:710,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:711,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:711,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:712,1
    - Dst: SegmentTracker*::getPlaybackTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:712,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:712,1
    - Dst: SegmentTrackerListener::reset
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:718,1
    - Dst: SegmentTracker*::getNextChunk
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:719,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:720,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:721,1
    - Dst: SegmentTrackerListener::occured
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:721,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:722,1
    - Dst: SegmentTracker*::getPlaybackTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:722,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:722,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 58
    argCount: 4
    argNames:
    - adaptSet
    - logic
    - tracker
    - events
    argTypes:
    - BaseAdaptationSet*
    - DummyLogic*
    - SegmentTracker*
    - SegmentTrackerListener
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 647
    functionDepth: 2
    functionLinenumber: 647
    functionLinenumberEnd: 732
    functionName: SegmentTracker_check_HLSseeks
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - Segment*::setSourceUrl
    - SegmentTracker*::setPositionByTime
    - SegmentTracker*::getNextChunk
    - std::rethrow_exception
    - SegmentTracker*::getPlaybackTime
    - std::current_exception
    - SegmentTrackerListener::reset
    - SegmentList*::addAttribute
    - SegmentList*::addSegment
    - TimescaleAttr::TimescaleAttr
    - ID
    - DummyHLSRepresentation*::addAttribute
    - SegmentTrackerListener::occured
    - DummyHLSRepresentation::DummyHLSRepresentation
    - Segment*::setSequenceNumber
    - BaseAdaptationSet*::addRepresentation
    - SegmentList::SegmentList
    - DummyHLSRepresentation*::setID
    - Timescale::ToTime
    - Segment::Segment
    - Expect
    linkageType: ''
    returnType: int
    signature: "int SegmentTracker_check_HLSseeks(BaseAdaptationSet *adaptSet,\n                                         DummyLogic
      *logic,\n                                         SegmentTracker *tracker,\n
      \                                        SegmentTrackerListener &events)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DummyConnectionManager::DummyConnectionManager
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:741,1
    - Dst: DummyConnectionManager*::data::insert
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:744,1
    - Dst: mapentry
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:744,1
    - Dst: std::vector<uint8_t>
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:744,1
    - Dst: DummyConnectionManager*::data::insert
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:745,1
    - Dst: mapentry
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:745,1
    - Dst: std::vector<uint8_t>
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:745,1
    - Dst: DummyConnectionManager*::data::insert
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:746,1
    - Dst: mapentry
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:746,1
    - Dst: std::vector<uint8_t>
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:746,1
    - Dst: DefaultBufferingLogic::DefaultBufferingLogic
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:749,1
    - Dst: CreatePlaylistPeriodAdaptationSet
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:752,1
    - Dst: BaseAdaptationSet*::getPlaylist
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:756,1
    - Dst: DummyLogic::DummyLogic
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:762,1
    - Dst: SegmentTracker::SegmentTracker
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:763,1
    - Dst: SegmentTrackerListener::SegmentTrackerListener
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:770,1
    - Dst: SegmentTracker*::registerListener
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:771,1
    - Dst: func
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:773,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - func
    argTypes:
    - testfunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 736
    functionDepth: 2
    functionLinenumber: 736
    functionLinenumberEnd: 780
    functionName: Prepare_test
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - BaseAdaptationSet*::getPlaylist
    - CreatePlaylistPeriodAdaptationSet
    - func
    - mapentry
    - SegmentTracker::SegmentTracker
    - DummyLogic::DummyLogic
    - DefaultBufferingLogic::DefaultBufferingLogic
    - DummyConnectionManager*::data::insert
    - DummyConnectionManager::DummyConnectionManager
    - SegmentTrackerListener::SegmentTrackerListener
    - SegmentTracker*::registerListener
    - std::vector<uint8_t>
    linkageType: ''
    returnType: int
    signature: int Prepare_test(testfunc func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Prepare_test
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:785,1
    - Dst: Prepare_test
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:786,1
    - Dst: Prepare_test
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:787,1
    - Dst: Prepare_test
      Src: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp:788,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 782
    functionDepth: 3
    functionLinenumber: 782
    functionLinenumberEnd: 790
    functionName: SegmentTracker_test
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/SegmentTracker.cpp
    functionUses: 0
    functionsReached:
    - Prepare_test
    linkageType: ''
    returnType: int
    signature: int SegmentTracker_test()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: DT
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DT(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DummyEsOut::reset
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: DummyEsOut::DummyEsOut
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp
    functionUses: 0
    functionsReached:
    - DummyEsOut::reset
    linkageType: ''
    returnType: void
    signature: void DummyEsOut::DummyEsOut()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: DummyEsOut::~DummyEsOut()
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DummyEsOut::~DummyEsOut()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:90,1
    - Dst: front
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:92,1
    - Dst: pop_front
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 95
    functionName: DummyEsOut::reset
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp
    functionUses: 1
    functionsReached:
    - empty
    - pop_front
    - front
    linkageType: ''
    returnType: void
    signature: void DummyEsOut::reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:105,1
    - Dst: ES::ES
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:106,1
    - Dst: DummyEsOut*::eslist::push_back
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - fmt
    argTypes:
    - es_out_t*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: DummyEsOut::callback_add
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp
    functionUses: 0
    functionsReached:
    - DummyEsOut*::eslist::push_back
    - ES::ES
    - container_of
    linkageType: ''
    returnType: es_out_id_t
    signature: es_out_id_t *DummyEsOut::callback_add(es_out_t *out, input_source_t
      *, const es_format_t *fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:113,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - out
    - b
    argTypes:
    - es_out_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: DummyEsOut::callback_send
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp
    functionUses: 0
    functionsReached:
    - block_Release
    - container_of
    linkageType: ''
    returnType: int
    signature: int DummyEsOut::callback_send(es_out_t *out, es_out_id_t *, block_t
      *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:122,1
    - Dst: find
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:124,1
    - Dst: DummyEsOut*::eslist::begin
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:124,1
    - Dst: DummyEsOut*::eslist::end
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:124,1
    - Dst: assert
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:125,1
    - Dst: DummyEsOut*::eslist::end
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:125,1
    - Dst: DummyEsOut*::eslist::end
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:126,1
    - Dst: DummyEsOut*::eslist::erase
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - out
    - id
    argTypes:
    - es_out_t*
    - es_out_id_t*
    assertStmts:
    - condition: (it != dummyesout->eslist.end())
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: DummyEsOut::callback_del
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp
    functionUses: 0
    functionsReached:
    - assert
    - DummyEsOut*::eslist::begin
    - container_of
    - DummyEsOut*::eslist::erase
    - DummyEsOut*::eslist::end
    - find
    linkageType: ''
    returnType: void
    signature: void DummyEsOut::callback_del(es_out_t *out, es_out_id_t *id)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:133,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:141,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:142,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:147,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:159,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:160,1
    - Dst: find
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:161,1
    - Dst: DummyEsOut*::eslist::begin
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:161,1
    - Dst: DummyEsOut*::eslist::end
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:161,1
    - Dst: DummyEsOut*::eslist::end
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:162,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:169,1
    - Dst: find
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:170,1
    - Dst: DummyEsOut*::eslist::begin
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:170,1
    - Dst: DummyEsOut*::eslist::end
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:170,1
    - Dst: DummyEsOut*::eslist::end
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - out
    - i_query
    - args
    argTypes:
    - es_out_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 181
    functionName: DummyEsOut::callback_control
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp
    functionUses: 0
    functionsReached:
    - DummyEsOut*::eslist::begin
    - container_of
    - va_arg
    - DummyEsOut*::eslist::end
    - find
    linkageType: ''
    returnType: int
    signature: int DummyEsOut::callback_control(es_out_t *out, input_source_t *, int
      i_query, va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: DummyEsOut::callback_destroy
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DummyEsOut::callback_destroy(es_out_t *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:202,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: DummyEsOut::ES::ES(const es_format_t *src)
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp
    functionUses: 0
    functionsReached:
    - es_format_Copy
    - es_format_Init
    linkageType: ''
    returnType: void
    signature: void DummyEsOut::ES::ES(const es_format_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: DummyEsOut::ES::~ES()
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp
    functionUses: 0
    functionsReached:
    - es_format_Clean
    linkageType: ''
    returnType: void
    signature: void DummyEsOut::ES::~ES()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:213,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - out
    - id
    - dts
    - pts
    argTypes:
    - es_out_t*
    - es_out_id_t*
    - vlc_tick_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 220
    functionName: enqueue
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp
    functionUses: 1
    functionsReached:
    - block_Alloc
    - es_out_Send
    linkageType: ''
    returnType: void
    signature: void enqueue(es_out_t *out, es_out_id_t *id, vlc_tick_t dts, vlc_tick_t
      pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 223
    functionName: TMS
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TMS(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 224
    functionName: DMS
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DMS(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 225
    functionName: SEND
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SEND(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 226
    functionName: PCR
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp
    functionUses: 100
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCR(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: FROM_MPEGTS
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FROM_MPEGTS(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:235,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:241,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:242,1
    - Dst: FakeESOut*::setSrcID
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:246,1
    - Dst: SrcID::make
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:246,1
    - Dst: FakeESOutID::getFmt
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:247,1
    - Dst: FakeESOutID::getFmt
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:248,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:249,1
    - Dst: FakeESOutID::isCompatible
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:249,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:250,1
    - Dst: FakeESOutID::isCompatible
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:250,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:251,1
    - Dst: FakeESOutID::isCompatible
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:251,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:252,1
    - Dst: FakeESOutID::isCompatible
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:252,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:253,1
    - Dst: FakeESOutID::isCompatible
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:253,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:254,1
    - Dst: FakeESOutID::isCompatible
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:254,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:255,1
    - Dst: FakeESOutID::isCompatible
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:255,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:256,1
    - Dst: FakeESOutID::isCompatible
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:256,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:257,1
    - Dst: FakeESOutID::isCompatible
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:257,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:258,1
    - Dst: FakeESOutID::isCompatible
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:258,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:259,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:264,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:265,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:268,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:271,1
    - Dst: DummyEsOut*::eslist::size
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:271,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:272,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:273,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:274,1
    - Dst: DummyEsOut*::eslist::size
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:274,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:275,1
    - Dst: DummyEsOut*::eslist::front
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:275,1
    - Dst: DummyEsOut*::eslist::front
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:276,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:279,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:280,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:281,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:282,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:283,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:284,1
    - Dst: DummyEsOut*::eslist::size
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:284,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:285,1
    - Dst: DummyEsOut*::eslist::front
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:285,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:286,1
    - Dst: DummyEsOut*::eslist::front
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:286,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:287,1
    - Dst: DummyEsOut*::eslist::back
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:287,1
    - Dst: FakeESOut*::recycleAll
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:290,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:291,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:292,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:293,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:294,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:295,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:296,1
    - Dst: DummyEsOut*::eslist::size
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:296,1
    - Dst: FakeESOut*::gc
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:297,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:298,1
    - Dst: DummyEsOut*::eslist::size
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:298,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:299,1
    - Dst: DummyEsOut*::eslist::front
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:299,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:300,1
    - Dst: DummyEsOut*::eslist::front
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:300,1
    - Dst: FakeESOut*::recycleAll
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:303,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:304,1
    - Dst: DummyEsOut*::eslist::size
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:304,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:305,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:306,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:310,1
    - Dst: FakeESOutID::isCompatible
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:310,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:312,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:313,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:314,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:315,1
    - Dst: DummyEsOut*::eslist::size
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:315,1
    - Dst: FakeESOut*::gc
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:316,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:317,1
    - Dst: DummyEsOut*::eslist::size
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:317,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:318,1
    - Dst: DummyEsOut*::eslist::front
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:318,1
    - Dst: FakeESOut*::recycleAll
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:321,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:322,1
    - Dst: DummyEsOut*::eslist::size
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:322,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:323,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:324,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:325,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:326,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:327,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:328,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:329,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:330,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:331,1
    - Dst: DummyEsOut*::eslist::size
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:331,1
    - Dst: FakeESOut*::gc
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:332,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:333,1
    - Dst: DummyEsOut*::eslist::size
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:333,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:336,1
    - Dst: FakeESOut*::setSrcID
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:339,1
    - Dst: SrcID::make
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:339,1
    - Dst: FakeESOut*::recycleAll
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:340,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:341,1
    - Dst: DummyEsOut*::eslist::size
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:341,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:342,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:343,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:344,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:345,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:346,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:347,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:348,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:349,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:350,1
    - Dst: DummyEsOut*::eslist::size
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:350,1
    - Dst: FakeESOut*::gc
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:351,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:352,1
    - Dst: DummyEsOut*::eslist::size
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:352,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:355,1
    - Dst: FakeESOut*::recycleAll
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:358,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:359,1
    - Dst: DummyEsOut*::eslist::size
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:359,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:360,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:361,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:362,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:363,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:364,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:365,1
    - Dst: DummyEsOut*::eslist::size
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:365,1
    - Dst: FakeESOut*::gc
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:366,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:367,1
    - Dst: DummyEsOut*::eslist::size
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:367,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:368,1
    - Dst: DummyEsOut*::eslist::front
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:368,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:373,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 112
    argCount: 3
    argNames:
    - out
    - dummy
    - fakees
    argTypes:
    - es_out_t*
    - DummyEsOut*
    - FakeESOut*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 376
    functionName: check3
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp
    functionUses: 0
    functionsReached:
    - DummyEsOut*::eslist::front
    - es_format_Clean
    - FakeESOutID::getFmt
    - FakeESOut*::gc
    - FakeESOut*::setSrcID
    - DummyEsOut*::eslist::back
    - FakeESOutID::isCompatible
    - SrcID::make
    - es_out_Add
    - es_format_Init
    - DummyEsOut*::eslist::size
    - FakeESOut*::commandsQueue
    - FakeESOut*::recycleAll
    - Expect
    linkageType: ''
    returnType: int
    signature: int check3(es_out_t *out, DummyEsOut *dummy, FakeESOut *fakees)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:382,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:383,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:386,1
    - Dst: FakeESOut*::setSegmentStartTimes
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:390,1
    - Dst: FakeESOut*::setExpectedTimestamp
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:391,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:391,1
    - Dst: PCR
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:393,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:393,1
    - Dst: SEND
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:394,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:394,1
    - Dst: PCR
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:395,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:395,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:397,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:398,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:398,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:399,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:399,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:400,1
    - Dst: FakeESOut*::resetTimestamps
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:402,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:403,1
    - Dst: FakeESOut*::setSegmentStartTimes
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:406,1
    - Dst: FakeESOut*::setExpectedTimestamp
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:407,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:407,1
    - Dst: PCR
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:409,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:409,1
    - Dst: SEND
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:410,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:410,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:412,1
    - Dst: fprintf
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:413,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:414,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:414,1
    - Dst: fprintf
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:415,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:416,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:416,1
    - Dst: FakeESOut*::resetTimestamps
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:418,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:419,1
    - Dst: FakeESOut*::setSegmentStartTimes
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:422,1
    - Dst: FakeESOut*::setAssociatedTimestamp
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:423,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:423,1
    - Dst: PCR
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:425,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:425,1
    - Dst: SEND
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:426,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:426,1
    - Dst: PCR
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:427,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:427,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:428,1
    - Dst: fprintf
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:429,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:430,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:430,1
    - Dst: FakeESOut*::resetTimestamps
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:432,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:433,1
    - Dst: FakeESOut*::setSegmentStartTimes
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:436,1
    - Dst: FakeESOut*::setAssociatedTimestamp
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:437,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:437,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:437,1
    - Dst: SEND
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:439,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:439,1
    - Dst: PCR
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:440,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:440,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:441,1
    - Dst: fprintf
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:442,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:443,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:443,1
    - Dst: FakeESOut*::setSegmentStartTimes
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:446,1
    - Dst: FakeESOut*::setAssociatedTimestamp
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:447,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:447,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:447,1
    - Dst: FROM_MPEGTS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:447,1
    - Dst: SEND
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:449,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:449,1
    - Dst: PCR
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:450,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:450,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:451,1
    - Dst: fprintf
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:452,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:453,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 52
    argCount: 2
    argNames:
    - out
    - fakees
    argTypes:
    - es_out_t*
    - FakeESOut*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 460
    functionName: check2
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp
    functionUses: 0
    functionsReached:
    - FakeESOut*::setAssociatedTimestamp
    - PCR
    - fprintf
    - FakeESOut*::commandsQueue
    - TMS
    - FakeESOut*::setExpectedTimestamp
    - SEND
    - FakeESOut*::resetTimestamps
    - es_out_Add
    - es_format_Init
    - FROM_MPEGTS
    - FakeESOut*::setSegmentStartTimes
    - Expect
    linkageType: ''
    returnType: int
    signature: int check2(es_out_t *out, DummyEsOut *, FakeESOut *fakees)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:465,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:466,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:471,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:472,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:476,1
    - Dst: FakeESOut*::setSegmentStartTimes
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:478,1
    - Dst: PCR
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:480,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:480,1
    - Dst: SEND
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:482,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:482,1
    - Dst: PCR
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:483,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:483,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:485,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:486,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:487,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:487,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:488,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:490,1
    - Dst: DMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:490,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:490,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:493,1
    - Dst: FakeESOut*::resetTimestamps
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:494,1
    - Dst: FakeESOut*::setSegmentStartTimes
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:495,1
    - Dst: FakeESOut*::setSynchronizationReference
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:496,1
    - Dst: SynchronizationReference
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:496,1
    - Dst: SEND
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:497,1
    - Dst: PCR
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:498,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:499,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:499,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:500,1
    - Dst: FROM_MPEGTS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:500,1
    - Dst: FakeESOut*::applyTimestampContinuity
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:501,1
    - Dst: fprintf
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:502,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:503,1
    - Dst: DMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:503,1
    - Dst: FROM_MPEGTS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:506,1
    - Dst: FakeESOut*::resetTimestamps
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:507,1
    - Dst: FakeESOut*::setSegmentStartTimes
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:508,1
    - Dst: FakeESOut*::setSynchronizationReference
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:509,1
    - Dst: SynchronizationReference
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:509,1
    - Dst: SEND
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:510,1
    - Dst: PCR
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:511,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:512,1
    - Dst: FROM_MPEGTS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:512,1
    - Dst: FakeESOut*::applyTimestampContinuity
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:513,1
    - Dst: fprintf
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:514,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:515,1
    - Dst: DMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:515,1
    - Dst: FROM_MPEGTS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:519,1
    - Dst: FakeESOut*::resetTimestamps
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:520,1
    - Dst: FakeESOut*::setSegmentStartTimes
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:521,1
    - Dst: FakeESOut*::setSynchronizationReference
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:522,1
    - Dst: SynchronizationReference
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:522,1
    - Dst: SEND
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:523,1
    - Dst: PCR
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:524,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:525,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:525,1
    - Dst: FakeESOut*::applyTimestampContinuity
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:527,1
    - Dst: fprintf
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:528,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:529,1
    - Dst: FROM_MPEGTS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:532,1
    - Dst: FakeESOut*::resetTimestamps
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:533,1
    - Dst: FakeESOut*::setSegmentStartTimes
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:534,1
    - Dst: FakeESOut*::setSynchronizationReference
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:535,1
    - Dst: SynchronizationReference
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:535,1
    - Dst: SEND
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:536,1
    - Dst: PCR
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:537,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:538,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:538,1
    - Dst: FROM_MPEGTS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:539,1
    - Dst: FakeESOut*::applyTimestampContinuity
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:540,1
    - Dst: fprintf
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:541,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:542,1
    - Dst: FROM_MPEGTS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:546,1
    - Dst: FakeESOut*::resetTimestamps
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:547,1
    - Dst: FakeESOut*::setSegmentStartTimes
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:548,1
    - Dst: FakeESOut*::setSynchronizationReference
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:549,1
    - Dst: SynchronizationReference
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:549,1
    - Dst: SEND
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:550,1
    - Dst: PCR
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:551,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:552,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:553,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:553,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:554,1
    - Dst: FakeESOut*::hasSynchronizationReference
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:554,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:555,1
    - Dst: FROM_MPEGTS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:556,1
    - Dst: SEND
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:557,1
    - Dst: FROM_MPEGTS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:558,1
    - Dst: SEND
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:559,1
    - Dst: FROM_MPEGTS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:560,1
    - Dst: SEND
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:561,1
    - Dst: FROM_MPEGTS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:562,1
    - Dst: SEND
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:563,1
    - Dst: PCR
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:564,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:565,1
    - Dst: SEND
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:567,1
    - Dst: PCR
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:568,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:569,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:570,1
    - Dst: FROM_MPEGTS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:570,1
    - Dst: SEND
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:571,1
    - Dst: FROM_MPEGTS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:571,1
    - Dst: PCR
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:572,1
    - Dst: FROM_MPEGTS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:572,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:573,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:574,1
    - Dst: FROM_MPEGTS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:574,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 88
    argCount: 3
    argNames:
    - out
    - ctx
    - fakees
    argTypes:
    - es_out_t*
    - DummyEsOut*
    - FakeESOut*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 581
    functionName: check1
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp
    functionUses: 0
    functionsReached:
    - SynchronizationReference
    - PCR
    - DMS
    - FROM_MPEGTS
    - fprintf
    - TMS
    - FakeESOut*::setSegmentStartTimes
    - SEND
    - FakeESOut*::resetTimestamps
    - es_out_Add
    - es_format_Init
    - FakeESOut*::setSynchronizationReference
    - FakeESOut*::commandsQueue
    - FakeESOut*::applyTimestampContinuity
    - FakeESOut*::hasSynchronizationReference
    - Expect
    linkageType: ''
    returnType: int
    signature: int check1(es_out_t *out, DummyEsOut *ctx, FakeESOut *fakees)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:586,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:587,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:591,1
    - Dst: FakeESOut*::setSegmentStartTimes
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:593,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:595,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:595,1
    - Dst: PCR
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:597,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:597,1
    - Dst: SEND
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:599,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:599,1
    - Dst: PCR
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:600,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:600,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:602,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:603,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:604,1
    - Dst: TMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:604,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:605,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:606,1
    - Dst: DMS
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:606,1
    - Dst: FakeESOut*::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - out
    - fakees
    argTypes:
    - es_out_t*
    - FakeESOut*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 625
    functionName: check0
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp
    functionUses: 0
    functionsReached:
    - PCR
    - DMS
    - FakeESOut*::commandsQueue
    - TMS
    - SEND
    - es_out_Add
    - es_format_Init
    - FakeESOut*::setSegmentStartTimes
    - Expect
    linkageType: ''
    returnType: int
    signature: int check0(es_out_t *out, DummyEsOut *, FakeESOut *fakees)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DummyEsOut::DummyEsOut
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:629,1
    - Dst: CommandsFactory::CommandsFactory
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:638,1
    - Dst: CommandsQueue::CommandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:639,1
    - Dst: FakeESOut::FakeESOut
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:640,1
    - Dst: DummyEsOut::reset
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp:646,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 650
    functionName: FakeEsOut_test
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/FakeEsOut.cpp
    functionUses: 0
    functionsReached:
    - DummyEsOut::reset
    - CommandsQueue::CommandsQueue
    - CommandsFactory::CommandsFactory
    - DummyEsOut::DummyEsOut
    - FakeESOut::FakeESOut
    linkageType: ''
    returnType: int
    signature: int FakeEsOut_test()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: TestEsOut::TestEsOut
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestEsOut()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~TestEsOut()
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached:
    - cleanup
    linkageType: ''
    returnType: void
    signature: void ~TestEsOut()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: TestEsOut::milestoneReached
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void milestoneReached() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: TestEsOut::recycle
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void recycle(AbstractFakeESOutID *) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: TestEsOut::createOrRecycleRealEsID
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void createOrRecycleRealEsID(AbstractFakeESOutID *) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: TestEsOut::setPriority
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setPriority(int) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:51,1
    - Dst: OutputVal
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - b
    argTypes:
    - AbstractFakeESOutID*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: TestEsOut::sendData
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - OutputVal
    linkageType: ''
    returnType: void
    signature: void sendData(AbstractFakeESOutID *id, block_t *b) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: TestEsOut::sendMeta
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sendMeta(int, const vlc_meta_t *) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:58,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:60,1
    - Dst: front
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:60,1
    - Dst: pop_front
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: TestEsOut::cleanup
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached:
    - block_Release
    - empty
    - pop_front
    - front
    linkageType: ''
    returnType: void
    signature: void cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: TestEsOut::esOutAdd
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: es_out_id_t
    signature: es_out_id_t *esOutAdd(const es_format_t *) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: TestEsOut::esOutSend
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int esOutSend(es_out_id_t *, block_t *) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: TestEsOut::esOutDel
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void esOutDel(es_out_id_t *) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: TestEsOut::esOutControl
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int esOutControl(int, va_list) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: TestEsOut::esOutDestroy
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void esOutDestroy() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - TestEsOut*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: TestEsOutID::TestEsOutID
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestEsOutID(TestEsOut *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: ~TestEsOutID()
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TestEsOutID()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: TestEsOutID::realESID
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: es_out_id_t
    signature: es_out_id_t * realESID() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: TestEsOutID::create
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void create() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: TestEsOutID::release
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void release() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestEsOutID::sendData
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: TestEsOutID::sendData
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp
    functionUses: 1
    functionsReached:
    - TestEsOutID::sendData
    linkageType: ''
    returnType: void
    signature: void sendData(block_t *b) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: TestEsOutID::esType
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EsType
    signature: EsType esType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: DT
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DT(t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TestEsOut::TestEsOut
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:95,1
    - Dst: CommandsQueue::CommandsQueue
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:101,1
    - Dst: TestEsOutID::TestEsOutID
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:103,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:106,1
    - Dst: CommandsQueue::isEOF
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:106,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:107,1
    - Dst: CommandsQueue::isDraining
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:107,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:108,1
    - Dst: CommandsQueue::isEmpty
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:108,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:109,1
    - Dst: CommandsQueue::getDemuxedAmount
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:109,1
    - Dst: DT
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:109,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:110,1
    - Dst: CommandsQueue::getBufferingLevel
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:110,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:111,1
    - Dst: CommandsQueue::getFirstTimes
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:111,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:112,1
    - Dst: CommandsQueue::getPCR
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:112,1
    - Dst: CommandsFactory::createEsOutAddCommand
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:113,1
    - Dst: CommandsQueue::Schedule
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:114,1
    - Dst: CommandsFactory::createEsOutDelCommand
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:115,1
    - Dst: CommandsQueue::Schedule
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:116,1
    - Dst: CommandsQueue::Process
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:118,1
    - Dst: Times
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:118,1
    - Dst: SegmentTimes
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:118,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:118,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:119,1
    - Dst: CommandsQueue::isEmpty
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:119,1
    - Dst: CommandsQueue::Commit
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:120,1
    - Dst: CommandsQueue::Process
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:122,1
    - Dst: Times
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:122,1
    - Dst: SegmentTimes
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:122,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:122,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:123,1
    - Dst: CommandsQueue::isEOF
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:123,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:124,1
    - Dst: CommandsQueue::isDraining
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:124,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:125,1
    - Dst: CommandsQueue::isEmpty
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:125,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:126,1
    - Dst: CommandsQueue::getDemuxedAmount
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:126,1
    - Dst: DT
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:126,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:127,1
    - Dst: CommandsQueue::getBufferingLevel
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:127,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:128,1
    - Dst: CommandsQueue::getPCR
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:128,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:128,1
    - Dst: CommandsQueue::Abort
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:130,1
    - Dst: TestEsOut::cleanup
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:131,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:136,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:137,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:138,1
    - Dst: CommandsFactory::createEsOutSendCommand
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:139,1
    - Dst: SegmentTimes
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:139,1
    - Dst: CommandsQueue::Schedule
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:140,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:142,1
    - Dst: CommandsQueue::getPCR
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:142,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:143,1
    - Dst: CommandsQueue::getFirstTimes
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:143,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:144,1
    - Dst: CommandsQueue::getDemuxedAmount
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:144,1
    - Dst: DT
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:144,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:145,1
    - Dst: CommandsQueue::getBufferingLevel
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:145,1
    - Dst: CommandsFactory::createEsOutControlPCRCommand
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:147,1
    - Dst: SegmentTimes
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:147,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:147,1
    - Dst: CommandsQueue::Schedule
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:148,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:149,1
    - Dst: CommandsQueue::getDemuxedAmount
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:149,1
    - Dst: DT
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:149,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:149,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:150,1
    - Dst: CommandsQueue::getBufferingLevel
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:150,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:150,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:151,1
    - Dst: CommandsQueue::getDemuxedAmount
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:151,1
    - Dst: DT
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:151,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:151,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:152,1
    - Dst: CommandsQueue::getDemuxedAmount
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:152,1
    - Dst: DT
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:152,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:152,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:152,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:153,1
    - Dst: CommandsQueue::getPCR
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:153,1
    - Dst: CommandsFactory::createEsOutControlPCRCommand
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:155,1
    - Dst: SegmentTimes
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:155,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:155,1
    - Dst: CommandsQueue::Schedule
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:156,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:157,1
    - Dst: CommandsQueue::getBufferingLevel
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:157,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:157,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:158,1
    - Dst: CommandsQueue::getDemuxedAmount
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:158,1
    - Dst: DT
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:158,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:158,1
    - Dst: CommandsQueue::Process
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:161,1
    - Dst: Times
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:161,1
    - Dst: SegmentTimes
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:161,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:161,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:162,1
    - Dst: CommandsQueue::getPCR
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:162,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:162,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:163,1
    - Dst: CommandsQueue::getFirstTimes
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:163,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:163,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:164,1
    - Dst: CommandsQueue::getDemuxedAmount
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:164,1
    - Dst: DT
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:164,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:164,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:164,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:165,1
    - Dst: CommandsQueue::getDemuxedAmount
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:165,1
    - Dst: DT
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:165,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:165,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:165,1
    - Dst: CommandsQueue::setDrop
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:168,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:171,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:172,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:173,1
    - Dst: CommandsFactory::createEsOutSendCommand
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:174,1
    - Dst: SegmentTimes
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:174,1
    - Dst: CommandsQueue::Schedule
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:175,1
    - Dst: CommandsFactory::createEsOutControlPCRCommand
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:177,1
    - Dst: SegmentTimes
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:177,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:177,1
    - Dst: CommandsQueue::Schedule
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:178,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:179,1
    - Dst: CommandsQueue::getPCR
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:179,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:179,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:180,1
    - Dst: CommandsQueue::getDemuxedAmount
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:180,1
    - Dst: DT
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:180,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:180,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:180,1
    - Dst: CommandsQueue::setDrop
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:181,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:184,1
    - Dst: CommandsQueue::getPCR
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:184,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:184,1
    - Dst: CommandsQueue::Process
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:185,1
    - Dst: DT
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:185,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:185,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:186,1
    - Dst: CommandsQueue::isEmpty
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:186,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:187,1
    - Dst: CommandsQueue::getPCR
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:187,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:187,1
    - Dst: CommandsQueue::Abort
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:189,1
    - Dst: TestEsOut::cleanup
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:190,1
    - Dst: TestEsOutID::TestEsOutID
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:193,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:194,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:200,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:201,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:202,1
    - Dst: CommandsFactory::createEsOutSendCommand
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:203,1
    - Dst: SegmentTimes
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:203,1
    - Dst: CommandsQueue::Schedule
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:204,1
    - Dst: CommandsFactory::createEsOutControlPCRCommand
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:208,1
    - Dst: SegmentTimes
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:208,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:209,1
    - Dst: CommandsQueue::Schedule
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:210,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:211,1
    - Dst: TestEsOut::output::empty
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:211,1
    - Dst: CommandsQueue::Process
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:212,1
    - Dst: DT
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:212,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:213,1
    - Dst: TestEsOut::output::empty
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:213,1
    - Dst: CommandsQueue::Process
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:214,1
    - Dst: DT
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:214,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:214,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:215,1
    - Dst: TestEsOut::output::size
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:215,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:218,1
    - Dst: TestEsOut::output::front
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:219,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:220,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:221,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:222,1
    - Dst: TestEsOut::output::pop_front
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:223,1
    - Dst: TestEsOut::output::front
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:224,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:225,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:226,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:227,1
    - Dst: TestEsOut::output::pop_front
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:228,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:230,1
    - Dst: TestEsOut::output::empty
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:230,1
    - Dst: CommandsQueue::Abort
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:231,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:241,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:242,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:243,1
    - Dst: CommandsFactory::createEsOutSendCommand
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:244,1
    - Dst: SegmentTimes
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:244,1
    - Dst: CommandsQueue::Schedule
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:245,1
    - Dst: CommandsFactory::createEsOutControlPCRCommand
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:248,1
    - Dst: SegmentTimes
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:248,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:249,1
    - Dst: CommandsQueue::Schedule
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:250,1
    - Dst: CommandsQueue::Process
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:252,1
    - Dst: Times
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:252,1
    - Dst: SegmentTimes
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:252,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:252,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:253,1
    - Dst: TestEsOut::output::size
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:253,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:257,1
    - Dst: TestEsOut::output::front
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:258,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:259,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:260,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:261,1
    - Dst: TestEsOut::output::pop_front
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:262,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:264,1
    - Dst: TestEsOut::output::empty
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:264,1
    - Dst: CommandsQueue::Abort
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:265,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:275,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:276,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:278,1
    - Dst: CommandsFactory::createEsOutSendCommand
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:279,1
    - Dst: SegmentTimes
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:279,1
    - Dst: CommandsQueue::Schedule
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:280,1
    - Dst: CommandsFactory::createEsOutControlPCRCommand
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:283,1
    - Dst: SegmentTimes
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:283,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:284,1
    - Dst: CommandsQueue::Schedule
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:285,1
    - Dst: CommandsQueue::Process
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:287,1
    - Dst: Times
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:287,1
    - Dst: SegmentTimes
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:287,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:287,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:288,1
    - Dst: TestEsOut::output::size
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:288,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:292,1
    - Dst: TestEsOut::output::front
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:293,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:294,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:295,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:296,1
    - Dst: TestEsOut::output::pop_front
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:297,1
    - Dst: TestEsOut::output::front
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:298,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:299,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:300,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:301,1
    - Dst: TestEsOut::output::pop_front
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:302,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:304,1
    - Dst: TestEsOut::output::empty
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:304,1
    - Dst: CommandsQueue::Abort
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:305,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:310,1
    - Dst: CommandsFactory::createEsOutControlPCRCommand
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:311,1
    - Dst: SegmentTimes
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:311,1
    - Dst: CommandsQueue::Schedule
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:312,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:313,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:314,1
    - Dst: CommandsFactory::createEsOutSendCommand
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:316,1
    - Dst: SegmentTimes
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:316,1
    - Dst: CommandsQueue::Schedule
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:317,1
    - Dst: CommandsQueue::Process
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:319,1
    - Dst: DT
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:319,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:319,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:320,1
    - Dst: TestEsOut::output::size
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:320,1
    - Dst: CommandsQueue::Abort
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:321,1
    - Dst: TestEsOut::cleanup
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:322,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:327,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:328,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:329,1
    - Dst: CommandsFactory::createEsOutSendCommand
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:330,1
    - Dst: SegmentTimes
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:330,1
    - Dst: CommandsQueue::Schedule
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:331,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:333,1
    - Dst: CommandsQueue::getDemuxedAmount
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:333,1
    - Dst: DT
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:333,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:334,1
    - Dst: CommandsQueue::getBufferingLevel
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:334,1
    - Dst: CommandsFactory::createEsOutControlPCRCommand
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:335,1
    - Dst: SegmentTimes
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:335,1
    - Dst: CommandsQueue::Schedule
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:336,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:337,1
    - Dst: CommandsQueue::getDemuxedAmount
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:337,1
    - Dst: DT
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:337,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:337,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:338,1
    - Dst: CommandsQueue::getBufferingLevel
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:338,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:338,1
    - Dst: CommandsQueue::Process
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:339,1
    - Dst: DT
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:339,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:339,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:340,1
    - Dst: TestEsOut::output::size
      Src: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp:340,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 185
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 353
    functionName: CommandsQueue_test
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached:
    - TestEsOut::output::size
    - TestEsOutID::TestEsOutID
    - CommandsFactory::createEsOutControlPCRCommand
    - block_Alloc
    - CommandsQueue::isEmpty
    - packetizer_getcc_cea608_max
    - CommandsFactory::createEsOutSendCommand
    - CommandsQueue::isEOF
    - CommandsQueue::getBufferingLevel
    - TestEsOut::TestEsOut
    - CommandsQueue::isDraining
    - TestEsOut::output::empty
    - CommandsQueue::getFirstTimes
    - CommandsQueue::Process
    - TestEsOut::output::pop_front
    - CommandsQueue::Abort
    - CommandsQueue::getPCR
    - CommandsQueue::Schedule
    - SegmentTimes
    - CommandsQueue::CommandsQueue
    - TestEsOut::output::front
    - CommandsFactory::createEsOutAddCommand
    - DT
    - block_Release
    - TestEsOut::cleanup
    - CommandsQueue::setDrop
    - vlc_tick_from_sec
    - Times
    - CommandsFactory::createEsOutDelCommand
    - CommandsQueue::Commit
    - CommandsQueue::getDemuxedAmount
    - Expect
    linkageType: ''
    returnType: int
    signature: int CommandsQueue_test()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:33,1
    - Dst: UTCTime
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:34,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:35,1
    - Dst: UTCTime
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:36,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:37,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:37,1
    - Dst: UTCTime
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:38,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:39,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:39,1
    - Dst: UTCTime
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:40,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:41,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:41,1
    - Dst: UTCTime
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:42,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:43,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:43,1
    - Dst: UTCTime
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:44,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:45,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:45,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:45,1
    - Dst: UTCTime
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:46,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:47,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:47,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:47,1
    - Dst: UTCTime
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:48,1
    - Dst: UTCTime
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:51,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:52,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:52,1
    - Dst: UTCTime
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:53,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:54,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:54,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:54,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:57,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:57,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:57,1
    - Dst: IsoTime
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:58,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:59,1
    - Dst: IsoTime
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:60,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:61,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:61,1
    - Dst: IsoTime
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:62,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:63,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:63,1
    - Dst: IsoTime
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:64,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:65,1
    - Dst: IsoTime
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:66,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:67,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:67,1
    - Dst: IsoTime
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:68,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:69,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 72
    functionName: Conversions_test
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/tools/Conversions.cpp
    functionUses: 0
    functionsReached:
    - vlc_tick_from_sec
    - VLC_TICK_FROM_MS
    - UTCTime
    - IsoTime
    - Expect
    linkageType: ''
    returnType: int
    signature: int Conversions_test()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: TestPlaylist::TestPlaylist
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestPlaylist()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ~TestPlaylist()
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TestPlaylist()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: TestPlaylist::isLive
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isLive() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: TestPlaylist::isLowLatency
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isLowLatency() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DefaultBufferingLogic::DefaultBufferingLogic
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:70,1
    - Dst: TestPlaylist::TestPlaylist
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:74,1
    - Dst: BasePeriod::BasePeriod
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:80,1
    - Dst: BaseAdaptationSet::BaseAdaptationSet
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:81,1
    - Dst: BaseRepresentation::BaseRepresentation
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:82,1
    - Dst: std::rethrow_exception
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:86,1
    - Dst: std::current_exception
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:86,1
    - Dst: BaseAdaptationSet*::addRepresentation
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:88,1
    - Dst: BasePeriod*::addAdaptationSet
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:89,1
    - Dst: TestPlaylist*::addPeriod
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:90,1
    - Dst: BaseAdaptationSet*::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:93,1
    - Dst: TimescaleAttr::TimescaleAttr
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:93,1
    - Dst: SegmentList::SegmentList
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:95,1
    - Dst: BaseRepresentation*::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:96,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:98,1
    - Dst: DefaultBufferingLogic::getStartSegmentNumber
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:98,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:98,1
    - Dst: Timescale::ToScaled
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:100,1
    - Dst: Segment::Segment
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:102,1
    - Dst: Segment*::setSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:103,1
    - Dst: SegmentList*::addSegment
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:105,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:107,1
    - Dst: DefaultBufferingLogic::getStartSegmentNumber
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:107,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:108,1
    - Dst: DefaultBufferingLogic::getMinBuffering
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:108,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:109,1
    - Dst: DefaultBufferingLogic::getMaxBuffering
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:109,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:110,1
    - Dst: DefaultBufferingLogic::getStableBuffering
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:110,1
    - Dst: DefaultBufferingLogic::getMaxBuffering
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:110,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:111,1
    - Dst: DefaultBufferingLogic::getStableBuffering
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:111,1
    - Dst: DefaultBufferingLogic::getMinBuffering
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:111,1
    - Dst: DefaultBufferingLogic::setUserMinBuffering
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:113,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:114,1
    - Dst: DefaultBufferingLogic::getMinBuffering
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:114,1
    - Dst: std::max
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:114,1
    - Dst: DefaultBufferingLogic::setUserMinBuffering
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:117,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:118,1
    - Dst: DefaultBufferingLogic::getMinBuffering
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:118,1
    - Dst: DefaultBufferingLogic::setUserMinBuffering
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:120,1
    - Dst: DefaultBufferingLogic::setUserMaxBuffering
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:121,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:122,1
    - Dst: DefaultBufferingLogic::getMaxBuffering
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:122,1
    - Dst: DefaultBufferingLogic::setUserMinBuffering
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:124,1
    - Dst: DefaultBufferingLogic::setUserMaxBuffering
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:125,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:126,1
    - Dst: DefaultBufferingLogic::getMaxBuffering
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:126,1
    - Dst: DefaultBufferingLogic::setUserMinBuffering
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:129,1
    - Dst: DefaultBufferingLogic::setUserMaxBuffering
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:130,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:131,1
    - Dst: DefaultBufferingLogic::getMinBuffering
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:131,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:132,1
    - Dst: DefaultBufferingLogic::getMaxBuffering
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:132,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:133,1
    - Dst: DefaultBufferingLogic::getLiveDelay
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:133,1
    - Dst: DefaultBufferingLogic::setUserLiveDelay
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:135,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:136,1
    - Dst: DefaultBufferingLogic::getLiveDelay
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:136,1
    - Dst: std::max
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:136,1
    - Dst: DefaultBufferingLogic::setUserLiveDelay
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:140,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:142,1
    - Dst: DefaultBufferingLogic::getMinBuffering
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:142,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:143,1
    - Dst: DefaultBufferingLogic::getMaxBuffering
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:143,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:144,1
    - Dst: DefaultBufferingLogic::getMinBuffering
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:144,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:145,1
    - Dst: DefaultBufferingLogic::getLiveDelay
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:145,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:148,1
    - Dst: DefaultBufferingLogic::getStartSegmentNumber
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:148,1
    - Dst: SegmentList*::getTotalLength
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:150,1
    - Dst: Timescale::ToScaled
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:151,1
    - Dst: Segment::Segment
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:153,1
    - Dst: Segment*::setSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:154,1
    - Dst: SegmentList*::addSegment
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:156,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:159,1
    - Dst: DefaultBufferingLogic::getStartSegmentNumber
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:159,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:161,1
    - Dst: DefaultBufferingLogic::getStartSegmentNumber
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:161,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:163,1
    - Dst: DefaultBufferingLogic::getStartSegmentNumber
      Src: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 173
    functionName: BufferingLogic_test
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/logic/BufferingLogic.cpp
    functionUses: 0
    functionsReached:
    - BaseAdaptationSet::BaseAdaptationSet
    - BasePeriod*::addAdaptationSet
    - DefaultBufferingLogic::setUserMinBuffering
    - std::max
    - DefaultBufferingLogic::getLiveDelay
    - std::rethrow_exception
    - SegmentList*::getTotalLength
    - packetizer_getcc_cea608_max
    - std::current_exception
    - DefaultBufferingLogic::setUserLiveDelay
    - BaseRepresentation::BaseRepresentation
    - BaseAdaptationSet*::addAttribute
    - DefaultBufferingLogic::setUserMaxBuffering
    - BaseRepresentation*::addAttribute
    - SegmentList*::addSegment
    - TimescaleAttr::TimescaleAttr
    - DefaultBufferingLogic::getStableBuffering
    - Timescale::ToScaled
    - BasePeriod::BasePeriod
    - DefaultBufferingLogic::DefaultBufferingLogic
    - TestPlaylist::TestPlaylist
    - Segment*::setSequenceNumber
    - BaseAdaptationSet*::addRepresentation
    - TestPlaylist*::addPeriod
    - DefaultBufferingLogic::getMaxBuffering
    - SegmentList::SegmentList
    - DefaultBufferingLogic::getMinBuffering
    - DefaultBufferingLogic::getStartSegmentNumber
    - Segment::Segment
    - Expect
    linkageType: ''
    returnType: int
    signature: int BufferingLogic_test()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<SegmentList>
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:42,1
    - Dst: std::unique_ptr::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:44,1
    - Dst: TimescaleAttr::TimescaleAttr
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:44,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:46,1
    - Dst: std::unique_ptr::getStartSegmentNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:46,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:46,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:47,1
    - Dst: std::unique_ptr::getTotalLength
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:47,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:49,1
    - Dst: std::unique_ptr::getSegmentNumberByTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:49,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:50,1
    - Dst: std::unique_ptr::getMediaSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:50,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:51,1
    - Dst: std::unique_ptr::getNextMediaSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:51,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:52,1
    - Dst: std::unique_ptr::getMinAheadTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:52,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:54,1
    - Dst: std::unique_ptr::getPlaybackTimeDurationBySegmentNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:54,1
    - Dst: std::make_unique<Segment>
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:58,1
    - Dst: std::unique_ptr::setSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:59,1
    - Dst: std::unique_ptr::addSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:62,1
    - Dst: std::unique_ptr::release
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:62,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:64,1
    - Dst: std::unique_ptr::getTotalLength
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:64,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:65,1
    - Dst: std::unique_ptr::getSegmentNumberByTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:65,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:65,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:66,1
    - Dst: std::unique_ptr::getSegmentNumberByTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:66,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:66,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:67,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:68,1
    - Dst: std::unique_ptr::getPlaybackTimeDurationBySegmentNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:68,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:69,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:69,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:70,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:70,1
    - Dst: std::unique_ptr::getMediaSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:71,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:72,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:73,1
    - Dst: Segment*::getSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:73,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:74,1
    - Dst: std::unique_ptr::getNextMediaSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:75,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:76,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:77,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:78,1
    - Dst: std::unique_ptr::getNextMediaSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:79,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:80,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:81,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:82,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:83,1
    - Dst: std::unique_ptr::getMinAheadTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:83,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:83,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:84,1
    - Dst: std::unique_ptr::getMinAheadTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:84,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:84,1
    - Dst: std::make_unique<Segment>
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:88,1
    - Dst: std::unique_ptr::setSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:89,1
    - Dst: std::unique_ptr::addSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:92,1
    - Dst: std::unique_ptr::release
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:92,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:95,1
    - Dst: std::unique_ptr::getTotalLength
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:95,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:96,1
    - Dst: std::unique_ptr::getMinAheadTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:96,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:96,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:97,1
    - Dst: std::unique_ptr::getSegmentNumberByTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:97,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:97,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:98,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:99,1
    - Dst: std::unique_ptr::getPlaybackTimeDurationBySegmentNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:99,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:100,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:100,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:101,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:101,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:102,1
    - Dst: std::unique_ptr::getMinAheadTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:102,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:102,1
    - Dst: std::make_unique<SegmentList>
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:105,1
    - Dst: std::make_unique<Segment>
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:108,1
    - Dst: std::unique_ptr::setSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:109,1
    - Dst: std::unique_ptr::addSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:112,1
    - Dst: std::unique_ptr::release
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:112,1
    - Dst: std::unique_ptr::updateWith
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:114,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:114,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:115,1
    - Dst: std::unique_ptr::getStartSegmentNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:115,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:116,1
    - Dst: std::unique_ptr::getTotalLength
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:116,1
    - Dst: std::unique_ptr::getMediaSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:120,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:121,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:122,1
    - Dst: Segment*::getSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:122,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:123,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:124,1
    - Dst: std::unique_ptr::pruneByPlaybackTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:128,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:128,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:129,1
    - Dst: std::unique_ptr::getStartSegmentNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:129,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:130,1
    - Dst: std::unique_ptr::getTotalLength
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:130,1
    - Dst: std::unique_ptr::pruneBySegmentNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:132,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:133,1
    - Dst: std::unique_ptr::getStartSegmentNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:133,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:134,1
    - Dst: std::unique_ptr::getTotalLength
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:134,1
    - Dst: std::unique_ptr::reset
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:136,1
    - Dst: std::unique_ptr::reset
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:137,1
    - Dst: std::make_unique<SegmentList>
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:140,1
    - Dst: std::unique_ptr::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:141,1
    - Dst: TimescaleAttr::TimescaleAttr
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:141,1
    - Dst: std::unique_ptr::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:142,1
    - Dst: DurationAttr::DurationAttr
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:142,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:143,1
    - Dst: std::unique_ptr::inheritDuration
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:143,1
    - Dst: std::make_unique<Segment>
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:146,1
    - Dst: std::unique_ptr::setSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:147,1
    - Dst: std::unique_ptr::addSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:150,1
    - Dst: std::unique_ptr::release
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:150,1
    - Dst: std::make_unique<SegmentList>
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:152,1
    - Dst: std::make_unique<Segment>
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:155,1
    - Dst: std::unique_ptr::setSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:156,1
    - Dst: std::unique_ptr::addSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:159,1
    - Dst: std::unique_ptr::release
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:159,1
    - Dst: std::unique_ptr::updateWith
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:161,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:161,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:162,1
    - Dst: std::unique_ptr::getSegments
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:162,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:163,1
    - Dst: std::unique_ptr::getSegments
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:163,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:164,1
    - Dst: std::unique_ptr::getSegments
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:164,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:165,1
    - Dst: std::unique_ptr::getSegments
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:165,1
    - Dst: std::unique_ptr::reset
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:167,1
    - Dst: std::unique_ptr::reset
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:168,1
    - Dst: std::make_unique<SegmentList>
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:171,1
    - Dst: std::unique_ptr::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:172,1
    - Dst: TimescaleAttr::TimescaleAttr
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:172,1
    - Dst: std::unique_ptr::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:173,1
    - Dst: DurationAttr::DurationAttr
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:173,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:174,1
    - Dst: std::unique_ptr::inheritDuration
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:174,1
    - Dst: std::make_unique<Segment>
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:177,1
    - Dst: std::unique_ptr::setSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:178,1
    - Dst: std::unique_ptr::addSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:181,1
    - Dst: std::unique_ptr::release
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:181,1
    - Dst: std::make_unique<SegmentList>
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:183,1
    - Dst: std::make_unique<Segment>
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:186,1
    - Dst: std::unique_ptr::setSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:187,1
    - Dst: std::unique_ptr::addSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:190,1
    - Dst: std::unique_ptr::release
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:190,1
    - Dst: std::unique_ptr::updateWith
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:192,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:192,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:193,1
    - Dst: std::unique_ptr::getStartSegmentNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:193,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:194,1
    - Dst: std::unique_ptr::getSegments
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:194,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:195,1
    - Dst: std::unique_ptr::getSegments
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:195,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:196,1
    - Dst: std::unique_ptr::getSegments
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:196,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:197,1
    - Dst: std::unique_ptr::getSegments
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:197,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:198,1
    - Dst: std::unique_ptr::getSegments
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:198,1
    - Dst: std::unique_ptr::reset
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:200,1
    - Dst: std::unique_ptr::reset
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:201,1
    - Dst: std::make_unique<SegmentList>
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:204,1
    - Dst: std::unique_ptr::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:205,1
    - Dst: TimescaleAttr::TimescaleAttr
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:205,1
    - Dst: std::unique_ptr::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:206,1
    - Dst: DurationAttr::DurationAttr
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:206,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:207,1
    - Dst: std::unique_ptr::inheritDuration
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:207,1
    - Dst: std::make_unique<Segment>
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:210,1
    - Dst: std::unique_ptr::setSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:211,1
    - Dst: std::unique_ptr::addSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:214,1
    - Dst: std::unique_ptr::release
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:214,1
    - Dst: std::make_unique<SegmentList>
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:216,1
    - Dst: std::make_unique<Segment>
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:219,1
    - Dst: std::unique_ptr::setSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:220,1
    - Dst: std::unique_ptr::addSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:223,1
    - Dst: std::unique_ptr::release
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:223,1
    - Dst: std::unique_ptr::updateWith
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:225,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:225,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:226,1
    - Dst: std::unique_ptr::getStartSegmentNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:226,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:227,1
    - Dst: std::unique_ptr::getSegments
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:227,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:228,1
    - Dst: std::unique_ptr::getSegments
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:228,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:229,1
    - Dst: std::unique_ptr::getSegments
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:229,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:230,1
    - Dst: std::unique_ptr::getSegments
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:230,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:231,1
    - Dst: std::unique_ptr::getSegments
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:231,1
    - Dst: std::unique_ptr::reset
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:233,1
    - Dst: std::unique_ptr::reset
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:234,1
    - Dst: std::make_unique<SegmentList>
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:237,1
    - Dst: std::unique_ptr::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:238,1
    - Dst: TimescaleAttr::TimescaleAttr
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:238,1
    - Dst: std::make_unique<Segment>
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:241,1
    - Dst: std::unique_ptr::setSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:242,1
    - Dst: std::unique_ptr::addSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:245,1
    - Dst: std::unique_ptr::release
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:245,1
    - Dst: std::unique_ptr::getSegments
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:247,1
    - Dst: SegmentTimeline::SegmentTimeline
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:249,1
    - Dst: std::unique_ptr::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:250,1
    - Dst: SegmentTimeline*::addElement
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:251,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:252,1
    - Dst: SegmentTimeline*::getTotalLength
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:252,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:253,1
    - Dst: std::unique_ptr::getStartSegmentNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:253,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:254,1
    - Dst: std::unique_ptr::getTotalLength
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:254,1
    - Dst: SegmentTimeline*::getTotalLength
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:254,1
    - Dst: std::unique_ptr::getMediaSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:255,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:256,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:257,1
    - Dst: std::vector::at
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:257,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:258,1
    - Dst: std::unique_ptr::getMediaSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:258,1
    - Dst: SegmentTimeline*::addElement
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:260,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:261,1
    - Dst: SegmentTimeline*::getTotalLength
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:261,1
    - Dst: std::unique_ptr::getMediaSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:262,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:263,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:264,1
    - Dst: std::vector::at
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:264,1
    - Dst: std::unique_ptr::reset
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp:266,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 183
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 271
    functionName: SegmentList_test
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/playlist/SegmentList.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::getStartSegmentNumber
    - std::unique_ptr::addSegment
    - std::unique_ptr::getPlaybackTimeDurationBySegmentNumber
    - std::unique_ptr::pruneBySegmentNumber
    - std::unique_ptr::get
    - packetizer_getcc_cea608_max
    - std::vector::at
    - std::unique_ptr::addAttribute
    - TimescaleAttr::TimescaleAttr
    - std::unique_ptr::setSequenceNumber
    - std::unique_ptr::inheritDuration
    - std::unique_ptr::getSegments
    - std::unique_ptr::getMinAheadTime
    - Segment*::getSequenceNumber
    - std::unique_ptr::release
    - std::unique_ptr::getMediaSegment
    - std::unique_ptr::getTotalLength
    - DurationAttr::DurationAttr
    - std::make_unique<SegmentList>
    - std::unique_ptr::getNextMediaSegment
    - std::unique_ptr::pruneByPlaybackTime
    - std::unique_ptr::reset
    - std::make_unique<Segment>
    - std::unique_ptr::updateWith
    - SegmentTimeline*::addElement
    - SegmentTimeline::SegmentTimeline
    - Timescale::ToTime
    - SegmentTimeline*::getTotalLength
    - std::unique_ptr::getSegmentNumberByTime
    - Expect
    linkageType: ''
    returnType: int
    signature: int SegmentList_test()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SegmentTimeline::SegmentTimeline
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:42,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:44,1
    - Dst: SegmentTimeline*::getTotalLength
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:44,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:45,1
    - Dst: SegmentTimeline*::getElementIndexBySequence
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:45,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:45,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:46,1
    - Dst: SegmentTimeline*::getElementNumberByScaledPlaybackTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:46,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:47,1
    - Dst: SegmentTimeline*::getMinAheadScaledTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:47,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:48,1
    - Dst: SegmentTimeline*::minElementNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:48,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:49,1
    - Dst: SegmentTimeline*::maxElementNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:49,1
    - Dst: SegmentTimeline*::addElement
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:53,1
    - Dst: SegmentTimeline*::addElement
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:54,1
    - Dst: SegmentTimeline*::addElement
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:55,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:57,1
    - Dst: SegmentTimeline*::minElementNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:57,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:58,1
    - Dst: SegmentTimeline*::maxElementNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:58,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:59,1
    - Dst: SegmentTimeline*::getTotalLength
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:59,1
    - Dst: SegmentTimeline*::getElementIndexBySequence
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:60,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:61,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:61,1
    - Dst: SegmentTimeline*::getElementIndexBySequence
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:62,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:63,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:63,1
    - Dst: SegmentTimeline*::getElementIndexBySequence
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:64,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:65,1
    - Dst: SegmentTimeline*::getElementIndexBySequence
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:66,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:67,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:69,1
    - Dst: SegmentTimeline*::getMinAheadScaledTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:69,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:70,1
    - Dst: SegmentTimeline*::getMinAheadScaledTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:70,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:71,1
    - Dst: SegmentTimeline*::getMinAheadScaledTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:71,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:72,1
    - Dst: SegmentTimeline*::getElementIndexBySequence
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:72,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:73,1
    - Dst: SegmentTimeline*::getScaledPlaybackTimeByElementNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:73,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:74,1
    - Dst: SegmentTimeline*::getScaledPlaybackTimeByElementNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:74,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:76,1
    - Dst: SegmentTimeline*::getScaledPlaybackTimeDurationBySegmentNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:76,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:77,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:78,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:79,1
    - Dst: SegmentTimeline*::getElementNumberByScaledPlaybackTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:79,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:80,1
    - Dst: SegmentTimeline*::getElementNumberByScaledPlaybackTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:80,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:81,1
    - Dst: SegmentTimeline*::getElementNumberByScaledPlaybackTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:81,1
    - Dst: SegmentTimeline*::addElement
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:84,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:85,1
    - Dst: SegmentTimeline*::minElementNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:85,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:86,1
    - Dst: SegmentTimeline*::maxElementNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:86,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:87,1
    - Dst: SegmentTimeline*::getTotalLength
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:87,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:88,1
    - Dst: SegmentTimeline*::getElementIndexBySequence
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:88,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:89,1
    - Dst: SegmentTimeline*::getElementIndexBySequence
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:89,1
    - Dst: SegmentTimeline*::addElement
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:90,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:91,1
    - Dst: SegmentTimeline*::maxElementNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:91,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:92,1
    - Dst: SegmentTimeline*::getTotalLength
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:92,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:94,1
    - Dst: SegmentTimeline*::getMinAheadScaledTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:94,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:95,1
    - Dst: SegmentTimeline*::getMinAheadScaledTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:95,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:96,1
    - Dst: SegmentTimeline*::getMinAheadScaledTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:96,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:98,1
    - Dst: SegmentTimeline*::getScaledPlaybackTimeByElementNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:98,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:99,1
    - Dst: SegmentTimeline*::getScaledPlaybackTimeByElementNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:99,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:101,1
    - Dst: SegmentTimeline*::getElementNumberByScaledPlaybackTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:101,1
    - Dst: SegmentTimeline*::addElement
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:104,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:105,1
    - Dst: SegmentTimeline*::maxElementNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:105,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:106,1
    - Dst: SegmentTimeline*::getTotalLength
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:106,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:107,1
    - Dst: SegmentTimeline*::getElementIndexBySequence
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:107,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:107,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:108,1
    - Dst: SegmentTimeline*::getElementIndexBySequence
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:108,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:111,1
    - Dst: SegmentTimeline*::pruneBySequenceNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:111,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:112,1
    - Dst: SegmentTimeline*::minElementNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:112,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:113,1
    - Dst: SegmentTimeline*::getTotalLength
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:113,1
    - Dst: SegmentTimeline*::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:116,1
    - Dst: TimescaleAttr::TimescaleAttr
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:116,1
    - Dst: SegmentTimeline*::pruneByPlaybackTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:117,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:117,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:118,1
    - Dst: SegmentTimeline*::minElementNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:118,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:119,1
    - Dst: SegmentTimeline*::getTotalLength
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:119,1
    - Dst: SegmentTimeline*::pruneByPlaybackTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:120,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:120,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:121,1
    - Dst: SegmentTimeline*::minElementNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:121,1
    - Dst: SegmentTimeline*::pruneByPlaybackTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:122,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:122,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:123,1
    - Dst: SegmentTimeline*::minElementNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:123,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:124,1
    - Dst: SegmentTimeline*::getTotalLength
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:124,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:125,1
    - Dst: SegmentTimeline*::pruneBySequenceNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:125,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:126,1
    - Dst: SegmentTimeline*::getTotalLength
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:126,1
    - Dst: SegmentTimeline*::addElement
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:129,1
    - Dst: SegmentTimeline*::addElement
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:130,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:131,1
    - Dst: SegmentTimeline*::minElementNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:131,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:132,1
    - Dst: SegmentTimeline*::maxElementNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:132,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:133,1
    - Dst: SegmentTimeline*::getTotalLength
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:133,1
    - Dst: SegmentTimeline::SegmentTimeline
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:135,1
    - Dst: SegmentTimeline*::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:136,1
    - Dst: TimescaleAttr::TimescaleAttr
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:136,1
    - Dst: SegmentTimeline*::addElement
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:137,1
    - Dst: SegmentTimeline*::addElement
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:138,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:139,1
    - Dst: SegmentTimeline*::minElementNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:139,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:140,1
    - Dst: SegmentTimeline*::maxElementNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:140,1
    - Dst: SegmentTimeline*::updateWith
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:142,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:143,1
    - Dst: SegmentTimeline*::minElementNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:143,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:144,1
    - Dst: SegmentTimeline*::maxElementNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:144,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:145,1
    - Dst: SegmentTimeline*::getTotalLength
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:145,1
    - Dst: SegmentTimeline::SegmentTimeline
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:148,1
    - Dst: SegmentTimeline*::addElement
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:149,1
    - Dst: SegmentTimeline*::addElement
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:150,1
    - Dst: SegmentTimeline*::addElement
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:151,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:152,1
    - Dst: SegmentTimeline*::maxElementNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:152,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:153,1
    - Dst: SegmentTimeline*::getTotalLength
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:153,1
    - Dst: SegmentTimeline*::updateWith
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:155,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:156,1
    - Dst: SegmentTimeline*::maxElementNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:156,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:157,1
    - Dst: SegmentTimeline*::getTotalLength
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:157,1
    - Dst: SegmentTimeline::SegmentTimeline
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:160,1
    - Dst: SegmentTimeline*::addElement
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:162,1
    - Dst: SegmentTimeline*::updateWith
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:163,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:164,1
    - Dst: SegmentTimeline*::maxElementNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:164,1
    - Dst: SegmentTimeline::SegmentTimeline
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:167,1
    - Dst: SegmentTimeline*::addElement
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:169,1
    - Dst: SegmentTimeline*::updateWith
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:170,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:171,1
    - Dst: SegmentTimeline*::maxElementNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 111
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 36
    functionDepth: 3
    functionLinenumber: 36
    functionLinenumberEnd: 183
    functionName: Timeline_test
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTimeline.cpp
    functionUses: 0
    functionsReached:
    - SegmentTimeline*::getScaledPlaybackTimeDurationBySegmentNumber
    - SegmentTimeline*::pruneBySequenceNumber
    - SegmentTimeline*::updateWith
    - SegmentTimeline*::getMinAheadScaledTime
    - SegmentTimeline*::minElementNumber
    - SegmentTimeline*::maxElementNumber
    - SegmentTimeline*::addElement
    - SegmentTimeline*::pruneByPlaybackTime
    - SegmentTimeline*::getElementIndexBySequence
    - SegmentTimeline::SegmentTimeline
    - SegmentTimeline*::getElementNumberByScaledPlaybackTime
    - SegmentTimeline*::addAttribute
    - SegmentTimeline*::getScaledPlaybackTimeByElementNumber
    - SegmentTimeline*::getTotalLength
    - TimescaleAttr::TimescaleAttr
    - Expect
    - Timescale::ToTime
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: int
    signature: int Timeline_test()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BasePlaylist::BasePlaylist
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:46,1
    - Dst: BasePeriod::BasePeriod
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:52,1
    - Dst: AdaptationSet::AdaptationSet
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:53,1
    - Dst: Representation::Representation
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:54,1
    - Dst: std::rethrow_exception
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:58,1
    - Dst: std::current_exception
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:58,1
    - Dst: AdaptationSet*::addRepresentation
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:60,1
    - Dst: BasePeriod*::addAdaptationSet
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:61,1
    - Dst: BasePlaylist*::addPeriod
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:62,1
    - Dst: Representation*::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:65,1
    - Dst: TimescaleAttr::TimescaleAttr
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:65,1
    - Dst: SegmentTemplateSegment::SegmentTemplateSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:66,1
    - Dst: SegmentTemplate::SegmentTemplate
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:66,1
    - Dst: Representation*::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:67,1
    - Dst: SegmentTemplate*::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:68,1
    - Dst: StartnumberAttr::StartnumberAttr
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:68,1
    - Dst: Representation*::contextualize
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:69,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:70,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:73,1
    - Dst: SegmentTemplate*::getStartSegmentNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:73,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:76,1
    - Dst: SegmentTemplate*::getSegmentNumberByTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:76,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:76,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:79,1
    - Dst: SegmentTemplate*::getMinAheadTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:79,1
    - Dst: Representation*::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:82,1
    - Dst: DurationAttr::DurationAttr
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:82,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:83,1
    - Dst: SegmentTemplate*::getSegmentNumberByTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:83,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:83,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:84,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:85,1
    - Dst: SegmentTemplate*::getPlaybackTimeDurationBySegmentNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:85,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:86,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:86,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:87,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:87,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:88,1
    - Dst: SegmentTemplate*::getMediaSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:88,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:91,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:93,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:94,1
    - Dst: SegmentTemplate*::getLiveTemplateNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:94,1
    - Dst: SegmentTemplate*::getStartSegmentNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:94,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:96,1
    - Dst: SegmentTemplate*::getLiveTemplateNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:96,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:96,1
    - Dst: SegmentTemplate*::getStartSegmentNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:97,1
    - Dst: SegmentTimeline::SegmentTimeline
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:105,1
    - Dst: SegmentTemplate*::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:106,1
    - Dst: SegmentTimeline*::addElement
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:107,1
    - Dst: SegmentTimeline*::addElement
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:108,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:109,1
    - Dst: SegmentTemplate*::getMediaSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:109,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:110,1
    - Dst: SegmentTemplate*::getMediaSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:110,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:111,1
    - Dst: SegmentTemplate*::getMediaSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:111,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:112,1
    - Dst: SegmentTemplate*::getStartSegmentNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:112,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:113,1
    - Dst: SegmentTemplate*::getSegmentNumberByTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:113,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:113,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:114,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:115,1
    - Dst: SegmentTemplate*::getPlaybackTimeDurationBySegmentNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:115,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:116,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:116,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:117,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:117,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:118,1
    - Dst: SegmentTemplate*::getMinAheadTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:118,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 128
    functionName: SegmentTemplate_test
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/playlist/SegmentTemplate.cpp
    functionUses: 0
    functionsReached:
    - BasePlaylist::BasePlaylist
    - AdaptationSet::AdaptationSet
    - BasePeriod*::addAdaptationSet
    - SegmentTemplate*::getLiveTemplateNumber
    - BasePlaylist*::addPeriod
    - std::rethrow_exception
    - SegmentTemplate*::addAttribute
    - std::current_exception
    - StartnumberAttr::StartnumberAttr
    - SegmentTemplate*::getMinAheadTime
    - AdaptationSet*::addRepresentation
    - TimescaleAttr::TimescaleAttr
    - SegmentTemplate*::getStartSegmentNumber
    - SegmentTemplateSegment::SegmentTemplateSegment
    - SegmentTemplate*::getMediaSegment
    - SegmentTemplate*::getSegmentNumberByTime
    - BasePeriod::BasePeriod
    - Representation*::addAttribute
    - DurationAttr::DurationAttr
    - Representation::Representation
    - SegmentTemplate::SegmentTemplate
    - Representation*::contextualize
    - SegmentTemplate*::getPlaybackTimeDurationBySegmentNumber
    - SegmentTimeline*::addElement
    - SegmentTimeline::SegmentTimeline
    - Timescale::ToTime
    - Expect
    linkageType: ''
    returnType: int
    signature: int SegmentTemplate_test()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_MemoryNew
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:51,1
    - Dst: M3U8Parser::parse
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:54,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:54,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - obj
    - psz
    - isz
    argTypes:
    - vlc_object_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: ParseM3U8
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp
    functionUses: 0
    functionsReached:
    - M3U8Parser::parse
    - std::string
    - vlc_stream_MemoryNew
    - vlc_stream_Delete
    linkageType: ''
    returnType: M3U8
    signature: M3U8 * ParseM3U8(vlc_object_t *obj, const char *psz, size_t isz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vlc_object_t*>
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:61,1
    - Dst: ParseM3U8
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:74,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:77,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:78,1
    - Dst: M3U8*::getUrlSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:78,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:79,1
    - Dst: M3U8*::getPeriods
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:79,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:80,1
    - Dst: M3U8*::getFirstPeriod
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:80,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:81,1
    - Dst: M3U8*::getFirstPeriod
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:81,1
    - Dst: M3U8*::getFirstPeriod
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:82,1
    - Dst: BaseAdaptationSet*::getRepresentations
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:83,1
    - Dst: std::find_if
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:84,1
    - Dst: std::vector::cbegin
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:84,1
    - Dst: std::vector::cend
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:84,1
    - Dst: getBandwidth
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:85,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:86,1
    - Dst: std::vector::end
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:86,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:87,1
    - Dst: static_cast<HLSRepresentation *>
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:87,1
    - Dst: std::find_if
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:88,1
    - Dst: std::vector::cbegin
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:88,1
    - Dst: std::vector::cend
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:88,1
    - Dst: getBandwidth
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:89,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:90,1
    - Dst: std::vector::end
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:90,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:91,1
    - Dst: static_cast<HLSRepresentation *>
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:91,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:92,1
    - Dst: getUrlSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:92,1
    - Dst: getCodecs
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:93,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:94,1
    - Dst: std::list::empty
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:94,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:95,1
    - Dst: std::list::front
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:95,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:96,1
    - Dst: needsUpdate
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:96,1
    - Dst: ParseM3U8
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:121,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:124,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:125,1
    - Dst: M3U8*::getPeriods
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:125,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:126,1
    - Dst: M3U8*::getFirstPeriod
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:126,1
    - Dst: M3U8*::getFirstPeriod
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:127,1
    - Dst: ID
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:127,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:128,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:129,1
    - Dst: BaseAdaptationSet*::getRepresentations
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:129,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:130,1
    - Dst: BaseAdaptationSet*::getLang
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:130,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:131,1
    - Dst: BaseAdaptationSet*::getRole
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:131,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:132,1
    - Dst: BaseAdaptationSet*::getRole
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:132,1
    - Dst: ParseM3U8
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:153,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:156,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:157,1
    - Dst: M3U8*::getFirstPeriod
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:157,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:158,1
    - Dst: M3U8*::getFirstPeriod
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:158,1
    - Dst: M3U8*::getFirstPeriod
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:159,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:160,1
    - Dst: BaseAdaptationSet*::getRole
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:160,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:161,1
    - Dst: BaseAdaptationSet*::getRole
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:161,1
    - Dst: BaseAdaptationSet*::getRepresentations
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:162,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:163,1
    - Dst: auto::size
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:163,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:164,1
    - Dst: getBandwidth
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:164,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:165,1
    - Dst: getBandwidth
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:165,1
    - Dst: CodecDescriptionList::CodecDescriptionList
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:168,1
    - Dst: getCodecsDesc
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:169,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:170,1
    - Dst: CodecDescriptionList::size
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:170,1
    - Dst: CodecDescriptionList::front
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:171,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:172,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:173,1
    - Dst: FormatNamespace::getFmt
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:173,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:174,1
    - Dst: FormatNamespace::getFmt
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:174,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:175,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:176,1
    - Dst: ParseM3U8
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:205,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:208,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:209,1
    - Dst: M3U8*::getFirstPeriod
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:209,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:210,1
    - Dst: M3U8*::getFirstPeriod
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:210,1
    - Dst: M3U8*::getFirstPeriod
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:213,1
    - Dst: ID
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:213,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:214,1
    - Dst: auto::getRepresentations
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:215,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:216,1
    - Dst: auto::size
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:216,1
    - Dst: CodecDescriptionList::CodecDescriptionList
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:218,1
    - Dst: getCodecsDesc
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:219,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:220,1
    - Dst: CodecDescriptionList::size
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:220,1
    - Dst: CodecDescriptionList::front
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:221,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:222,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:223,1
    - Dst: FormatNamespace::getFmt
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:223,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:224,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:225,1
    - Dst: M3U8*::getFirstPeriod
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:229,1
    - Dst: ID
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:229,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:230,1
    - Dst: auto::getRepresentations
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:231,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:232,1
    - Dst: auto::size
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:232,1
    - Dst: CodecDescriptionList::CodecDescriptionList
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:234,1
    - Dst: getCodecsDesc
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:235,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:236,1
    - Dst: CodecDescriptionList::size
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:236,1
    - Dst: CodecDescriptionList::front
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:237,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:238,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:239,1
    - Dst: FormatNamespace::getFmt
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:239,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:240,1
    - Dst: M3U8*::getFirstPeriod
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:244,1
    - Dst: ID
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:244,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:245,1
    - Dst: auto::getRepresentations
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:246,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:247,1
    - Dst: auto::size
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:247,1
    - Dst: CodecDescriptionList::CodecDescriptionList
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:249,1
    - Dst: getCodecsDesc
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:250,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:251,1
    - Dst: CodecDescriptionList::size
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:251,1
    - Dst: CodecDescriptionList::front
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:252,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:253,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:254,1
    - Dst: FormatNamespace::getFmt
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:254,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 100
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 267
    functionName: M3U8MasterPlaylist_test
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp
    functionUses: 0
    functionsReached:
    - std::list::empty
    - getCodecs
    - ParseM3U8
    - getCodecsDesc
    - std::find_if
    - BaseAdaptationSet*::getRole
    - CodecDescriptionList::front
    - auto::getRepresentations
    - BaseAdaptationSet*::getRepresentations
    - BaseAdaptationSet*::getLang
    - FormatNamespace::getFmt
    - std::list::front
    - M3U8*::getFirstPeriod
    - auto::size
    - std::vector::cbegin
    - ID
    - CodecDescriptionList::size
    - CodecDescriptionList::CodecDescriptionList
    - M3U8*::getPeriods
    - std::vector::cend
    - std::vector::end
    - getBandwidth
    - static_cast<HLSRepresentation *>
    - M3U8*::getUrlSegment
    - needsUpdate
    - getUrlSegment
    - static_cast<vlc_object_t*>
    - Expect
    linkageType: ''
    returnType: int
    signature: int M3U8MasterPlaylist_test()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vlc_object_t*>
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:271,1
    - Dst: DefaultBufferingLogic::DefaultBufferingLogic
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:272,1
    - Dst: ParseM3U8
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:282,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:285,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:286,1
    - Dst: M3U8*::isLive
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:286,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:287,1
    - Dst: M3U8*::isLowLatency
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:287,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:288,1
    - Dst: M3U8*::getPeriods
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:288,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:289,1
    - Dst: M3U8*::getFirstPeriod
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:289,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:290,1
    - Dst: M3U8*::getFirstPeriod
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:290,1
    - Dst: M3U8*::getFirstPeriod
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:291,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:292,1
    - Dst: BaseRepresentation*::getProfile
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:292,1
    - Dst: DefaultBufferingLogic::getStartSegmentNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:294,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:295,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:297,1
    - Dst: BaseRepresentation*::getPlaybackTimeDurationBySegmentNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:297,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:297,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:299,1
    - Dst: BaseRepresentation*::getPlaybackTimeDurationBySegmentNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:299,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:300,1
    - Dst: BaseRepresentation*::getPlaybackTimeDurationBySegmentNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:300,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:301,1
    - Dst: BaseRepresentation*::getPlaybackTimeDurationBySegmentNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:301,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:302,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:302,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:303,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:303,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:304,1
    - Dst: BaseRepresentation*::getSegmentNumberByTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:304,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:304,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:305,1
    - Dst: BaseRepresentation*::getMediaSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:306,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:307,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:308,1
    - Dst: Segment*::getSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:308,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:309,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:312,1
    - Dst: BaseRepresentation*::getMediaPlaybackRange
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:312,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:313,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:313,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:314,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:314,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:315,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:315,1
    - Dst: ParseM3U8
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:336,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:339,1
    - Dst: M3U8*::getFirstPeriod
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:340,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:342,1
    - Dst: BaseRepresentation*::getProfile
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:342,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:343,1
    - Dst: BaseRepresentation*::inheritTimescale
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:345,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:346,1
    - Dst: Timescale::isValid
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:346,1
    - Dst: BaseRepresentation*::getNextMediaSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:350,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:351,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:352,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:353,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:354,1
    - Dst: Segment*::getSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:354,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:355,1
    - Dst: Timescale::ToScaled
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:355,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:355,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:358,1
    - Dst: BaseRepresentation*::getMediaPlaybackRange
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:358,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:359,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:359,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:360,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:360,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:361,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:361,1
    - Dst: ParseM3U8
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:386,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:389,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:390,1
    - Dst: M3U8*::isLive
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:390,1
    - Dst: M3U8*::getFirstPeriod
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:391,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:394,1
    - Dst: BaseRepresentation*::getSegmentNumberByTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:394,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:394,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:395,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:396,1
    - Dst: BaseRepresentation*::getSegmentNumberByTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:396,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:396,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:397,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:398,1
    - Dst: BaseRepresentation*::getSegmentNumberByTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:398,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:398,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:399,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:400,1
    - Dst: DefaultBufferingLogic::getStartSegmentNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:400,1
    - Dst: ParseM3U8
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:429,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:432,1
    - Dst: M3U8*::getFirstPeriod
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:433,1
    - Dst: BaseRepresentation*::getNextMediaSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:438,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:439,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:440,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:441,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:444,1
    - Dst: BaseRepresentation*::getSegmentNumberByTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:444,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:444,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:445,1
    - Dst: BaseRepresentation*::getMediaSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:448,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:449,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:450,1
    - Dst: static_cast<HLSSegment *>
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:450,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:450,1
    - Dst: BaseRepresentation*::getMediaSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:451,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:452,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:453,1
    - Dst: static_cast<HLSSegment *>
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:453,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:453,1
    - Dst: BaseRepresentation*::getMediaSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:456,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:457,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:458,1
    - Dst: static_cast<HLSSegment *>
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:458,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:458,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:461,1
    - Dst: BaseRepresentation*::getMediaPlaybackRange
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:461,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:462,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:462,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:463,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:463,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:464,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:464,1
    - Dst: ParseM3U8
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:491,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:494,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:495,1
    - Dst: M3U8*::isLive
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:495,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:496,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:496,1
    - Dst: M3U8*::getFirstPeriod
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:497,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:499,1
    - Dst: DefaultBufferingLogic::getStartSegmentNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:499,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:500,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:501,1
    - Dst: DefaultBufferingLogic::getStartSegmentNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:501,1
    - Dst: ParseM3U8
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:526,1
    - Dst: DefaultBufferingLogic
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:529,1
    - Dst: DefaultBufferingLogic::setLowDelay
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:530,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:531,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:532,1
    - Dst: M3U8*::isLive
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:532,1
    - Dst: M3U8*::getFirstPeriod
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:533,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:535,1
    - Dst: DefaultBufferingLogic::getStartSegmentNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:535,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:536,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:536,1
    - Dst: ParseM3U8
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:561,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:564,1
    - Dst: M3U8*::getFirstPeriod
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:565,1
    - Dst: BaseRepresentation*::getMediaSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:567,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:568,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:569,1
    - Dst: Segment*::getOffset
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:569,1
    - Dst: BaseRepresentation*::getMediaSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:570,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:571,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:572,1
    - Dst: Segment*::getOffset
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:572,1
    - Dst: BaseRepresentation*::getMediaSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:573,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:574,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:575,1
    - Dst: Segment*::getOffset
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:575,1
    - Dst: BaseRepresentation*::getMediaSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:576,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:577,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:578,1
    - Dst: Segment*::getOffset
      Src: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp:578,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 137
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 269
    functionDepth: 3
    functionLinenumber: 269
    functionLinenumberEnd: 589
    functionName: M3U8Playlist_test
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/playlist/M3U8.cpp
    functionUses: 0
    functionsReached:
    - SEC_FROM_VLC_TICK
    - M3U8*::isLive
    - ParseM3U8
    - BaseRepresentation*::getSegmentNumberByTime
    - Timescale::isValid
    - BaseRepresentation*::getMediaPlaybackRange
    - packetizer_getcc_cea608_max
    - static_cast<HLSSegment *>
    - DefaultBufferingLogic::setLowDelay
    - UINT64_C
    - M3U8*::getFirstPeriod
    - Segment*::getOffset
    - DefaultBufferingLogic
    - BaseRepresentation*::getProfile
    - M3U8*::isLowLatency
    - Timescale::ToScaled
    - Segment*::getSequenceNumber
    - DefaultBufferingLogic::DefaultBufferingLogic
    - BaseRepresentation*::getNextMediaSegment
    - M3U8*::getPeriods
    - BaseRepresentation*::getPlaybackTimeDurationBySegmentNumber
    - BaseRepresentation*::getMediaSegment
    - BaseRepresentation*::inheritTimescale
    - vlc_tick_from_sec
    - DefaultBufferingLogic::getStartSegmentNumber
    - static_cast<vlc_object_t*>
    - Expect
    linkageType: ''
    returnType: int
    signature: int M3U8Playlist_test()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BasePeriod::BasePeriod
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:43,1
    - Dst: BaseAdaptationSet::BaseAdaptationSet
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:48,1
    - Dst: BaseRepresentation::BaseRepresentation
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:49,1
    - Dst: std::rethrow_exception
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:52,1
    - Dst: std::current_exception
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:52,1
    - Dst: BaseAdaptationSet*::addRepresentation
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:54,1
    - Dst: BasePeriod*::addAdaptationSet
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:55,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:57,1
    - Dst: BaseRepresentation*::inheritAttribute
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:57,1
    - Dst: BasePeriod*::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:58,1
    - Dst: Timescale
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:58,1
    - Dst: TimescaleAttr::TimescaleAttr
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:58,1
    - Dst: BaseRepresentation*::inheritAttribute
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:60,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:61,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:62,1
    - Dst: AbstractAttr*::isValid
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:62,1
    - Dst: BaseRepresentation*::inheritTimescale
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:63,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:64,1
    - Dst: BaseAdaptationSet*::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:66,1
    - Dst: Timescale
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:66,1
    - Dst: TimescaleAttr::TimescaleAttr
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:66,1
    - Dst: BaseRepresentation*::inheritTimescale
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:67,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:68,1
    - Dst: BaseAdaptationSet*::replaceAttribute
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:70,1
    - Dst: Timescale
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:70,1
    - Dst: TimescaleAttr::TimescaleAttr
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:70,1
    - Dst: BaseRepresentation*::inheritTimescale
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:71,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:72,1
    - Dst: BasePeriod::BasePeriod
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:83,1
    - Dst: BaseAdaptationSet::BaseAdaptationSet
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:88,1
    - Dst: BaseRepresentation::BaseRepresentation
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:89,1
    - Dst: std::rethrow_exception
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:92,1
    - Dst: std::current_exception
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:92,1
    - Dst: BaseAdaptationSet*::addRepresentation
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:94,1
    - Dst: BasePeriod*::addAdaptationSet
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:95,1
    - Dst: SegmentTemplateSegment::SegmentTemplateSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:97,1
    - Dst: SegmentTemplate::SegmentTemplate
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:97,1
    - Dst: BaseRepresentation*::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:98,1
    - Dst: SegmentTimeline::SegmentTimeline
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:99,1
    - Dst: SegmentTemplate*::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:100,1
    - Dst: SegmentTemplateSegment::SegmentTemplateSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:102,1
    - Dst: SegmentTemplate::SegmentTemplate
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:102,1
    - Dst: BasePeriod*::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:103,1
    - Dst: SegmentTemplate*::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:104,1
    - Dst: Timescale
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:104,1
    - Dst: TimescaleAttr::TimescaleAttr
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:104,1
    - Dst: SegmentTimeline::SegmentTimeline
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:105,1
    - Dst: SegmentTimeline*::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:106,1
    - Dst: Timescale
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:106,1
    - Dst: TimescaleAttr::TimescaleAttr
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:106,1
    - Dst: SegmentTemplate*::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:107,1
    - Dst: BaseRepresentation*::inheritAttribute
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:110,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:111,1
    - Dst: SegmentTimeline*::inheritTimescale
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:112,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:113,1
    - Dst: SegmentTimeline*::replaceAttribute
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:114,1
    - Dst: Timescale
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:114,1
    - Dst: TimescaleAttr::TimescaleAttr
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:114,1
    - Dst: SegmentTimeline*::inheritTimescale
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:116,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 126
    functionName: Inheritables_test
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/playlist/Inheritables.cpp
    functionUses: 0
    functionsReached:
    - BaseRepresentation*::inheritAttribute
    - BaseAdaptationSet::BaseAdaptationSet
    - BasePeriod*::addAttribute
    - BasePeriod*::addAdaptationSet
    - std::rethrow_exception
    - SegmentTemplate*::addAttribute
    - std::current_exception
    - BaseRepresentation::BaseRepresentation
    - AbstractAttr*::isValid
    - BaseAdaptationSet*::addAttribute
    - BaseRepresentation*::addAttribute
    - TimescaleAttr::TimescaleAttr
    - Timescale
    - SegmentTemplateSegment::SegmentTemplateSegment
    - SegmentTimeline*::inheritTimescale
    - BaseAdaptationSet*::replaceAttribute
    - BasePeriod::BasePeriod
    - SegmentTimeline*::addAttribute
    - BaseRepresentation*::inheritTimescale
    - SegmentTemplate::SegmentTemplate
    - BaseAdaptationSet*::addRepresentation
    - SegmentTimeline::SegmentTimeline
    - SegmentTimeline*::replaceAttribute
    - Expect
    linkageType: ''
    returnType: int
    signature: int Inheritables_test()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/adaptive/test/playlist/TemplatedUri.cpp:111,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/adaptive/test/playlist/TemplatedUri.cpp:113,1
    - Dst: std::string::length
      Src: /src/vlc/modules/demux/adaptive/test/playlist/TemplatedUri.cpp:118,1
    - Dst: TemplatedUri::IsDASHToken
      Src: /src/vlc/modules/demux/adaptive/test/playlist/TemplatedUri.cpp:122,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/adaptive/test/playlist/TemplatedUri.cpp:124,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/TemplatedUri.cpp:138,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/adaptive/test/playlist/TemplatedUri.cpp:139,1
    - Dst: TemplatedUri::ReplaceDASHToken
      Src: /src/vlc/modules/demux/adaptive/test/playlist/TemplatedUri.cpp:151,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/TemplatedUri.cpp:152,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/TemplatedUri.cpp:160,1
    - Dst: std::strcmp
      Src: /src/vlc/modules/demux/adaptive/test/playlist/TemplatedUri.cpp:160,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/adaptive/test/playlist/TemplatedUri.cpp:160,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 169
    functionName: TemplatedUri_test
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/playlist/TemplatedUri.cpp
    functionUses: 0
    functionsReached:
    - TemplatedUri::IsDASHToken
    - ARRAY_SIZE
    - std::string::length
    - std::strcmp
    - std::string::c_str
    - TemplatedUri::ReplaceDASHToken
    - std::string::substr
    - std::string
    - Expect
    linkageType: ''
    returnType: int
    signature: int TemplatedUri_test()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BaseRepresentation::BaseRepresentation
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:41,1
    - Dst: SegmentBase::SegmentBase
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:44,1
    - Dst: SegmentBase*::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:46,1
    - Dst: TimescaleAttr::TimescaleAttr
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:46,1
    - Dst: BaseRepresentation*::addAttribute
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:47,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:50,1
    - Dst: SegmentBase*::getMediaSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:50,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:52,1
    - Dst: SegmentBase*::getSegmentNumberByTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:52,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:53,1
    - Dst: SegmentBase*::getNextMediaSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:53,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:55,1
    - Dst: SegmentBase*::getPlaybackTimeDurationBySegmentNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:55,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:65,1
    - Dst: BaseRepresentation*::SplitUsingIndex
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:67,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:70,1
    - Dst: SegmentBase*::getMediaSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:70,1
    - Dst: SegmentBase*::setByteRange
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:72,1
    - Dst: BaseRepresentation*::SplitUsingIndex
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:75,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:76,1
    - Dst: SegmentBase*::subSegments
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:76,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:77,1
    - Dst: SegmentBase*::getMediaSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:77,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:78,1
    - Dst: SegmentBase*::getMinAheadTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:78,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:78,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:79,1
    - Dst: SegmentBase*::getSegmentNumberByTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:79,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:79,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:80,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:81,1
    - Dst: SegmentBase*::getMinAheadTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:81,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:81,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:82,1
    - Dst: SegmentBase*::getPlaybackTimeDurationBySegmentNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:82,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:83,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:83,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:84,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:84,1
    - Dst: SegmentBase*::getMediaSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:85,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:86,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:87,1
    - Dst: Segment*::getSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:87,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:88,1
    - Dst: Segment*::getOffset
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:88,1
    - Dst: SegmentBase*::getNextMediaSegment
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:90,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:91,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:92,1
    - Dst: Segment*::getSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:92,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:93,1
    - Dst: Expect
      Src: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 104
    functionName: SegmentBase_test
    functionSourceFile: /src/vlc/modules/demux/adaptive/test/playlist/SegmentBase.cpp
    functionUses: 0
    functionsReached:
    - SegmentBase*::subSegments
    - SegmentBase*::getPlaybackTimeDurationBySegmentNumber
    - BaseRepresentation*::SplitUsingIndex
    - BaseRepresentation::BaseRepresentation
    - SegmentBase*::getSegmentNumberByTime
    - Segment*::getOffset
    - SegmentBase*::getMediaSegment
    - Segment*::getSequenceNumber
    - SegmentBase*::setByteRange
    - SegmentBase::SegmentBase
    - SegmentBase*::addAttribute
    - BaseRepresentation*::addAttribute
    - SegmentBase*::getNextMediaSegment
    - TimescaleAttr::TimescaleAttr
    - std::vector::push_back
    - SegmentBase*::getMinAheadTime
    - Timescale::ToTime
    - Expect
    linkageType: ''
    returnType: int
    signature: int SegmentBase_test()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:68,1
    - Dst: AbstractFakeEsOut*::esOutAdd
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fakees
    - p_fmt
    argTypes:
    - es_out_t*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: EsOutCallbacks::es_out_Add
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached:
    - AbstractFakeEsOut*::esOutAdd
    - container_of
    linkageType: ''
    returnType: es_out_id_t
    signature: es_out_id_t * EsOutCallbacks::es_out_Add(es_out_t *fakees, input_source_t
      *, const es_format_t *p_fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:74,1
    - Dst: AbstractFakeEsOut*::esOutSend
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fakees
    - p_es
    - p_block
    argTypes:
    - es_out_t*
    - es_out_id_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: EsOutCallbacks::es_out_Send
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached:
    - AbstractFakeEsOut*::esOutSend
    - container_of
    linkageType: ''
    returnType: int
    signature: int EsOutCallbacks::es_out_Send(es_out_t *fakees, es_out_id_t *p_es,
      block_t *p_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:80,1
    - Dst: AbstractFakeEsOut*::esOutDel
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fakees
    - p_es
    argTypes:
    - es_out_t*
    - es_out_id_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: EsOutCallbacks::es_out_Del
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached:
    - AbstractFakeEsOut*::esOutDel
    - container_of
    linkageType: ''
    returnType: void
    signature: void EsOutCallbacks::es_out_Del(es_out_t *fakees, es_out_id_t *p_es)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:86,1
    - Dst: AbstractFakeEsOut*::esOutControl
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fakees
    - i_query
    - args
    argTypes:
    - es_out_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: EsOutCallbacks::es_out_Control
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached:
    - AbstractFakeEsOut*::esOutControl
    - container_of
    linkageType: ''
    returnType: int
    signature: int EsOutCallbacks::es_out_Control(es_out_t *fakees, input_source_t
      *, int i_query, va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:92,1
    - Dst: AbstractFakeEsOut*::esOutDestroy
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fakees
    argTypes:
    - es_out_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: EsOutCallbacks::es_out_Destroy
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached:
    - AbstractFakeEsOut*::esOutDestroy
    - container_of
    linkageType: ''
    returnType: void
    signature: void EsOutCallbacks::es_out_Destroy(es_out_t *fakees)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsOutCallbacks::Private::Private
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: AbstractFakeEsOut::AbstractFakeEsOut
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached:
    - EsOutCallbacks::Private::Private
    linkageType: ''
    returnType: void
    signature: void AbstractFakeEsOut::AbstractFakeEsOut()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<EsOutCallbacks::Private *>
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: AbstractFakeEsOut::~AbstractFakeEsOut()
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<EsOutCallbacks::Private *>
    linkageType: ''
    returnType: void
    signature: void AbstractFakeEsOut::~AbstractFakeEsOut()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<EsOutCallbacks::Private *>
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: AbstractFakeEsOut::operator es_out_t *()
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<EsOutCallbacks::Private *>
    linkageType: ''
    returnType: void
    signature: void AbstractFakeEsOut::operator es_out_t *()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - q
    argTypes:
    - FakeESOut
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: FakeESOut::LockedFakeEsOut::LockedFakeEsOut(FakeESOut &q)
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached:
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void FakeESOut::LockedFakeEsOut::LockedFakeEsOut(FakeESOut &q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: FakeESOut::LockedFakeEsOut::~LockedFakeEsOut()
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void FakeESOut::LockedFakeEsOut::~LockedFakeEsOut()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: FakeESOut::LockedFakeEsOut::operator es_out_t*()
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeESOut::LockedFakeEsOut::operator es_out_t*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: '& FakeESOut::LockedFakeEsOut::operator *()'
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FakeESOut
    signature: FakeESOut & FakeESOut::LockedFakeEsOut::operator *()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: '* FakeESOut::LockedFakeEsOut::operator ->()'
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FakeESOut
    signature: FakeESOut * FakeESOut::LockedFakeEsOut::operator ->()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - es
    - queue
    - cf
    argTypes:
    - es_out_t*
    - AbstractCommandsQueue*
    - CommandsFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 155
    functionName: FakeESOut::FakeESOut
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 2
    functionsReached:
    - vlc_mutex_init
    linkageType: ''
    returnType: void
    signature: "void FakeESOut::FakeESOut( es_out_t *es, AbstractCommandsQueue *queue,\n
      \                     CommandsFactory *cf )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LockedFakeEsOut
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: FakeESOut::WithLock
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached:
    - LockedFakeEsOut
    linkageType: ''
    returnType: FakeESOut::LockedFakeEsOut
    signature: FakeESOut::LockedFakeEsOut FakeESOut::WithLock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: FakeESOut::commandsQueue
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AbstractCommandsQueue
    signature: AbstractCommandsQueue * FakeESOut::commandsQueue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: FakeESOut::commandsFactory
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CommandsFactory
    signature: CommandsFactory * FakeESOut::commandsFactory() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FakeESOut::recycleAll
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:174,1
    - Dst: FakeESOut::gc
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 179
    functionName: FakeESOut::~FakeESOut()
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached:
    - FakeESOut::recycleAll
    - FakeESOut::gc
    linkageType: ''
    returnType: void
    signature: void FakeESOut::~FakeESOut()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FakeESOut::setExpectedTimestamp
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:183,1
    - Dst: FakeESOut::setAssociatedTimestamp
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:184,1
    - Dst: SegmentTimes
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 186
    functionName: FakeESOut::resetTimestamps
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached:
    - FakeESOut::setAssociatedTimestamp
    - FakeESOut::setExpectedTimestamp
    - SegmentTimes
    linkageType: ''
    returnType: void
    signature: void FakeESOut::resetTimestamps()
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ts
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 201
    functionName: FakeESOut::setExpectedTimestamp
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeESOut::setExpectedTimestamp(vlc_tick_t ts)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ts
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 216
    functionName: FakeESOut::setAssociatedTimestamp
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeESOut::setAssociatedTimestamp(vlc_tick_t ts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FakeESOut::setAssociatedTimestamp
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - mpegts
    - muxed
    argTypes:
    - vlc_tick_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 230
    functionName: FakeESOut::setAssociatedTimestamp
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 2
    functionsReached:
    - FakeESOut::setAssociatedTimestamp
    linkageType: ''
    returnType: void
    signature: void FakeESOut::setAssociatedTimestamp(vlc_tick_t mpegts, vlc_tick_t
      muxed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - extra
    argTypes:
    - ExtraFMTInfoInterface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: FakeESOut::setExtraInfoProvider
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeESOut::setExtraInfoProvider( ExtraFMTInfoInterface *extra
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:240,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:241,1
    - Dst: fillExtraFMTInfo
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:248,1
    - Dst: FakeESOutID::FakeESOutID
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:250,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - p_fmt
    argTypes:
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 255
    functionName: FakeESOut::createNewID
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached:
    - es_format_Clean
    - fillExtraFMTInfo
    - es_format_Init
    - es_format_Copy
    - FakeESOutID::FakeESOutID
    linkageType: ''
    returnType: FakeESOutID
    signature: FakeESOutID * FakeESOut::createNewID( const es_format_t *p_fmt )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<FakeESOutID *>
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:259,1
    - Dst: insert
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:264,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:264,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:264,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:264,1
    - Dst: clear
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:265,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:270,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:270,1
    - Dst: FakeESOutID*::isCompatible
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:273,1
    - Dst: FakeESOutID*::realESID
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:275,1
    - Dst: FakeESOutID*::setRealESID
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:276,1
    - Dst: erase
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:278,1
    - Dst: FakeESOutID*::getFmt
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:281,1
    - Dst: FakeESOutID*::getFmt
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:281,1
    - Dst: FakeESOutID*::realESID
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:281,1
    - Dst: FakeESOut::hasSelectedEs
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:290,1
    - Dst: FakeESOutID*::realESID
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:294,1
    - Dst: FakeESOutID*::setRealESID
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:295,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:296,1
    - Dst: FakeESOutID*::getFmt
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:296,1
    - Dst: erase
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:298,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:307,1
    - Dst: FakeESOutID*::getFmt
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:307,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:312,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:314,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:315,1
    - Dst: FakeESOutID*::setRealESID
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:318,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 1
    argNames:
    - es_id_
    argTypes:
    - AbstractFakeESOutID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 319
    functionName: FakeESOut::createOrRecycleRealEsID
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached:
    - FakeESOutID*::isCompatible
    - erase
    - es_out_Control
    - es_format_Clean
    - begin
    - clear
    - FakeESOutID*::setRealESID
    - insert
    - static_cast<FakeESOutID *>
    - es_out_Add
    - FakeESOutID*::realESID
    - FakeESOut::hasSelectedEs
    - end
    - es_format_Copy
    - FakeESOutID*::getFmt
    linkageType: ''
    returnType: void
    signature: void FakeESOut::createOrRecycleRealEsID( AbstractFakeESOutID *es_id_
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 324
    functionName: FakeESOut::setPriority
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeESOut::setPriority( int p )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<FakeESOutID *>
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:328,1
    - Dst: FakeESOut::gc
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:330,1
    - Dst: FakeESOutID*::realESID
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:331,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:332,1
    - Dst: FakeESOutID*::realESID
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:332,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:334,1
    - Dst: FakeESOut::gc
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - id_
    - p_block
    argTypes:
    - AbstractFakeESOutID*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 337
    functionName: FakeESOut::sendData
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached:
    - block_Release
    - es_out_Send
    - FakeESOut::gc
    - static_cast<FakeESOutID *>
    - FakeESOutID*::realESID
    linkageType: ''
    returnType: void
    signature: void FakeESOut::sendData( AbstractFakeESOutID *id_, block_t *p_block
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - group
    - p_meta
    argTypes:
    - int
    - vlc_meta_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 342
    functionName: FakeESOut::sendMeta
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached:
    - es_out_Control
    linkageType: ''
    returnType: void
    signature: void FakeESOut::sendMeta( int group, const vlc_meta_t *p_meta )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:346,1
    - Dst: size
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:347,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:351,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:351,1
    - Dst: realESID
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 355
    functionName: FakeESOut::esCount
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached:
    - realESID
    - size
    - begin
    - empty
    - end
    linkageType: ''
    returnType: size_t
    signature: size_t FakeESOut::esCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: FakeESOut::hasSegmentStartTimes
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool FakeESOut::hasSegmentStartTimes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - SegmentTimes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 365
    functionName: FakeESOut::setSegmentStartTimes
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeESOut::setSegmentStartTimes(const SegmentTimes &t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FakeESOut::commandsFactory
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:369,1
    - Dst: FakeESOut::commandsQueue
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - SegmentTimes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 372
    functionName: FakeESOut::setSegmentProgressTimes
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached:
    - FakeESOut::commandsQueue
    - FakeESOut::commandsFactory
    linkageType: ''
    returnType: void
    signature: void FakeESOut::setSegmentProgressTimes(const SegmentTimes &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 377
    functionName: FakeESOut::hasSynchronizationReference
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool FakeESOut::hasSynchronizationReference() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - SynchronizationReference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: FakeESOut::setSynchronizationReference
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeESOut::setSynchronizationReference(const SynchronizationReference
      &r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SrcID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 387
    functionName: FakeESOut::setSrcID
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeESOut::setSrcID( const SrcID &s )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 393
    functionName: FakeESOut::setPCRTrusted
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeESOut::setPCRTrusted( bool b )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: creatEsOutControlResetPCRCommand
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:397,1
    - Dst: likely
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:398,1
    - Dst: Schedule
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 400
    functionName: FakeESOut::schedulePCRReset
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached:
    - Schedule
    - likely
    - creatEsOutControlResetPCRCommand
    linkageType: ''
    returnType: void
    signature: void FakeESOut::schedulePCRReset()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:405,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:405,1
    - Dst: FakeESOutID*::scheduledForDeletion
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:408,1
    - Dst: createEsOutDelCommand
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:410,1
    - Dst: likely
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:411,1
    - Dst: Schedule
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:413,1
    - Dst: FakeESOutID*::setScheduledForDeletion
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 418
    functionName: FakeESOut::scheduleAllForDeletion
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached:
    - FakeESOutID*::scheduledForDeletion
    - begin
    - Schedule
    - createEsOutDelCommand
    - likely
    - FakeESOutID*::setScheduledForDeletion
    - end
    linkageType: ''
    returnType: void
    signature: void FakeESOut::scheduleAllForDeletion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Abort
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:423,1
    - Dst: assert
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:424,1
    - Dst: isEmpty
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:424,1
    - Dst: splice
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:425,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (commandsqueue->isEmpty())
      pos:
        line_end: 423
        line_start: 423
        source_file: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    constantsTouched: []
    func_position:
      end: 426
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 426
    functionName: FakeESOut::recycleAll
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 1
    functionsReached:
    - assert
    - splice
    - isEmpty
    - Abort
    - end
    linkageType: ''
    returnType: void
    signature: void FakeESOut::recycleAll()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:430,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:430,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:430,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:430,1
    - Dst: clear
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:431,1
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:433,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:439,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:439,1
    - Dst: realESID
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:441,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:443,1
    - Dst: realESID
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:443,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:444,1
    - Dst: realESID
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:444,1
    - Dst: clear
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 449
    functionName: FakeESOut::gc
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 2
    functionsReached:
    - realESID
    - es_out_Control
    - begin
    - clear
    - insert
    - empty
    - es_out_Del
    - end
    linkageType: ''
    returnType: void
    signature: void FakeESOut::gc()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:456,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:456,1
    - Dst: FakeESOut::hasSelectedEs
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:457,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 460
    functionName: FakeESOut::hasSelectedEs
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 2
    functionsReached:
    - end
    - begin
    - FakeESOut::hasSelectedEs
    linkageType: ''
    returnType: bool
    signature: bool FakeESOut::hasSelectedEs() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AbstractFakeESOutID*::realESID
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:464,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:467,1
    - Dst: AbstractFakeESOutID*::realESID
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - id
    argTypes:
    - AbstractFakeESOutID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 472
    functionName: FakeESOut::hasSelectedEs
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 2
    functionsReached:
    - es_out_Control
    - AbstractFakeESOutID*::realESID
    linkageType: ''
    returnType: bool
    signature: bool FakeESOut::hasSelectedEs(const AbstractFakeESOutID *id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 478
    functionName: FakeESOut::restarting
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool FakeESOut::restarting() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<FakeESOutID *>
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:482,1
    - Dst: remove
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:483,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - id_
    argTypes:
    - AbstractFakeESOutID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 485
    functionName: FakeESOut::recycle
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached:
    - remove
    - static_cast<FakeESOutID *>
    - push_back
    linkageType: ''
    returnType: void
    signature: void FakeESOut::recycle( AbstractFakeESOutID *id_ )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FakeESOut::gc
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: FakeESOut::milestoneReached
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached:
    - FakeESOut::gc
    linkageType: ''
    returnType: void
    signature: void FakeESOut::milestoneReached()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createEsOutMilestoneCommand
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:496,1
    - Dst: likely
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:497,1
    - Dst: Schedule
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 501
    functionName: FakeESOut::scheduleNecessaryMilestone
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached:
    - Schedule
    - likely
    - createEsOutMilestoneCommand
    linkageType: ''
    returnType: void
    signature: void FakeESOut::scheduleNecessaryMilestone()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:525,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ts
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 535
    functionName: FakeESOut::fixTimestamp
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached:
    - VLC_TICK_FROM_SEC
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t FakeESOut::fixTimestamp(vlc_tick_t ts)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: INT64_C
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:542,1
    - Dst: INT64_C
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:543,1
    - Dst: second::offsetBy
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:564,1
    - Dst: assert
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:567,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - ts
    argTypes:
    - vlc_tick_t
    assertStmts:
    - condition: (ts >= VLC_TICK_INVALID)
      pos:
        line_end: 566
        line_start: 566
        source_file: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    constantsTouched: []
    func_position:
      end: 577
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 577
    functionName: FakeESOut::applyTimestampContinuity
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached:
    - assert
    - INT64_C
    - second::offsetBy
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t FakeESOut::applyTimestampContinuity(vlc_tick_t ts)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:583,1
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:583,1
    - Dst: assert
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:585,1
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:585,1
    - Dst: assert
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:586,1
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:586,1
    - Dst: FakeESOut::createNewID
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:590,1
    - Dst: likely
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:591,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:593,1
    - Dst: FakeESOutID*::getFmt
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:593,1
    - Dst: likely
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:594,1
    - Dst: FakeESOutID*::setRealESID
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:596,1
    - Dst: push_front
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:597,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - es_format_t*
    assertStmts:
    - condition: (recycle_candidates.empty())
      pos:
        line_end: 584
        line_start: 584
        source_file: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    - condition: (fakeesidlist.empty())
      pos:
        line_end: 585
        line_start: 585
        source_file: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    constantsTouched: []
    func_position:
      end: 601
      start: 579
    functionDepth: 2
    functionLinenumber: 579
    functionLinenumberEnd: 601
    functionName: FakeESOut::declareEs
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached:
    - assert
    - FakeESOutID*::setRealESID
    - push_front
    - empty
    - FakeESOut::createNewID
    - likely
    - es_out_Add
    - FakeESOutID*::getFmt
    linkageType: ''
    returnType: void
    signature: void FakeESOut::declareEs(const es_format_t *fmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FakeESOut::createNewID
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:614,1
    - Dst: likely
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:615,1
    - Dst: assert
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:617,1
    - Dst: FakeESOutID*::scheduledForDeletion
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:617,1
    - Dst: createEsOutAddCommand
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:618,1
    - Dst: likely
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:619,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:621,1
    - Dst: Schedule
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:622,1
    - Dst: reinterpret_cast<es_out_id_t *>
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:624,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - p_fmt
    argTypes:
    - es_format_t*
    assertStmts:
    - condition: (!es_id->scheduledForDeletion())
      pos:
        line_end: 616
        line_start: 616
        source_file: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    constantsTouched: []
    func_position:
      end: 632
      start: 605
    functionDepth: 2
    functionLinenumber: 605
    functionLinenumberEnd: 632
    functionName: FakeESOut::esOutAdd
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached:
    - assert
    - FakeESOutID*::scheduledForDeletion
    - push_back
    - reinterpret_cast<es_out_id_t *>
    - Schedule
    - FakeESOut::createNewID
    - likely
    - createEsOutAddCommand
    linkageType: ''
    returnType: es_out_id_t
    signature: es_out_id_t * FakeESOut::esOutAdd(const es_format_t *p_fmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FakeESOut::scheduleNecessaryMilestone
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:638,1
    - Dst: reinterpret_cast<FakeESOutID *>
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:640,1
    - Dst: assert
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:641,1
    - Dst: FakeESOutID*::scheduledForDeletion
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:641,1
    - Dst: FakeESOut::fixTimestamp
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:643,1
    - Dst: FakeESOut::fixTimestamp
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:644,1
    - Dst: FakeESOut::hasSynchronizationReference
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:646,1
    - Dst: assert
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:651,1
    - Dst: FakeESOut::hasSynchronizationReference
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:651,1
    - Dst: FakeESOut::applyTimestampContinuity
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:654,1
    - Dst: FakeESOut::applyTimestampContinuity
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:655,1
    - Dst: SegmentTimes::offsetBy
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:661,1
    - Dst: assert
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:662,1
    - Dst: createEsOutSendCommand
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:667,1
    - Dst: likely
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:668,1
    - Dst: Schedule
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:670,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - p_es
    - p_block
    argTypes:
    - es_out_id_t*
    - block_t*
    assertStmts:
    - condition: (!es_id->scheduledForDeletion())
      pos:
        line_end: 640
        line_start: 640
        source_file: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    - condition: (hasSynchronizationReference())
      pos:
        line_end: 650
        line_start: 650
        source_file: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    - condition: (times.media != VLC_TICK_INVALID)
      pos:
        line_end: 661
        line_start: 661
        source_file: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    constantsTouched: []
    func_position:
      end: 674
      start: 634
    functionDepth: 2
    functionLinenumber: 634
    functionLinenumberEnd: 674
    functionName: FakeESOut::esOutSend
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached:
    - FakeESOut::scheduleNecessaryMilestone
    - assert
    - FakeESOutID*::scheduledForDeletion
    - FakeESOut::applyTimestampContinuity
    - SegmentTimes::offsetBy
    - reinterpret_cast<FakeESOutID *>
    - createEsOutSendCommand
    - Schedule
    - FakeESOut::hasSynchronizationReference
    - FakeESOut::fixTimestamp
    - likely
    linkageType: ''
    returnType: int
    signature: int FakeESOut::esOutSend(es_out_id_t *p_es, block_t *p_block)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<FakeESOutID *>
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:680,1
    - Dst: createEsOutDelCommand
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:681,1
    - Dst: likely
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:682,1
    - Dst: FakeESOutID*::setScheduledForDeletion
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:684,1
    - Dst: Schedule
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_es
    argTypes:
    - es_out_id_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 688
    functionName: FakeESOut::esOutDel
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<FakeESOutID *>
    - Schedule
    - createEsOutDelCommand
    - likely
    - FakeESOutID*::setScheduledForDeletion
    linkageType: ''
    returnType: void
    signature: void FakeESOut::esOutDel(es_out_id_t *p_es)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: FakeESOut::scheduleNecessaryMilestone
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:694,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:703,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:706,1
    - Dst: FakeESOut::fixTimestamp
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:713,1
    - Dst: FakeESOut::applyTimestampContinuity
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:715,1
    - Dst: SegmentTimes::offsetBy
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:718,1
    - Dst: std::llabs
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:730,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:730,1
    - Dst: SegmentTimes
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:738,1
    - Dst: createEsOutControlPCRCommand
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:742,1
    - Dst: likely
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:743,1
    - Dst: Schedule
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:745,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:754,1
    - Dst: createEsOutMetaCommand
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:755,1
    - Dst: likely
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:756,1
    - Dst: Schedule
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:758,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:768,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 2
    argNames:
    - i_query
    - args
    argTypes:
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 690
    functionDepth: 2
    functionLinenumber: 690
    functionLinenumberEnd: 780
    functionName: FakeESOut::esOutControl
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached:
    - FakeESOut::scheduleNecessaryMilestone
    - SegmentTimes
    - SegmentTimes::offsetBy
    - FakeESOut::applyTimestampContinuity
    - vlc_tick_from_sec
    - createEsOutControlPCRCommand
    - std::llabs
    - Schedule
    - createEsOutMetaCommand
    - va_arg
    - FakeESOut::fixTimestamp
    - likely
    linkageType: ''
    returnType: int
    signature: int FakeESOut::esOutControl(int i_query, va_list args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FakeESOut::scheduleNecessaryMilestone
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:786,1
    - Dst: createEsOutDestroyCommand
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:788,1
    - Dst: likely
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:789,1
    - Dst: Schedule
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp:790,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 782
    functionDepth: 2
    functionLinenumber: 782
    functionLinenumberEnd: 791
    functionName: FakeESOut::esOutDestroy
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOut.cpp
    functionUses: 0
    functionsReached:
    - Schedule
    - FakeESOut::scheduleNecessaryMilestone
    - likely
    - createEsOutDestroyCommand
    linkageType: ''
    returnType: void
    signature: void FakeESOut::esOutDestroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: adaptive::AbstractCommand::AbstractCommand
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractCommand()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~AbstractCommand()
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AbstractCommand()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~CommandsFactory()
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CommandsFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: ~AbstractCommandsQueue()
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AbstractCommandsQueue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: adaptive::AbstractCommand::AbstractCommand
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractCommand()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~AbstractCommand()
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AbstractCommand()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~CommandsFactory()
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CommandsFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: ~AbstractCommandsQueue()
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AbstractCommandsQueue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: AbstractDemuxer::AbstractDemuxer
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/Demuxer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractDemuxer::AbstractDemuxer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: AbstractDemuxer::~AbstractDemuxer()
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/Demuxer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractDemuxer::~AbstractDemuxer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: AbstractDemuxer::alwaysStartsFromZero
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/Demuxer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AbstractDemuxer::alwaysStartsFromZero() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: AbstractDemuxer::bitstreamSwitchCompatible
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/Demuxer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AbstractDemuxer::bitstreamSwitchCompatible() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: AbstractDemuxer::needsRestartOnEachSegment
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/Demuxer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AbstractDemuxer::needsRestartOnEachSegment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: AbstractDemuxer::setBitstreamSwitchCompatible
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/Demuxer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractDemuxer::setBitstreamSwitchCompatible( bool b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: AbstractDemuxer::setRestartsOnEachSegment
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/Demuxer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractDemuxer::setRestartsOnEachSegment( bool b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: AbstractDemuxer::needsRestartOnSeek
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/Demuxer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AbstractDemuxer::needsRestartOnSeek() const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - i_ret
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 90
    functionName: AbstractDemuxer::returnCode
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/Demuxer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AbstractDemuxer::Status
    signature: AbstractDemuxer::Status AbstractDemuxer::returnCode(int i_ret)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - p_obj_
    - name_
    - out
    - source
    argTypes:
    - vlc_object_t*
    - std::string
    - es_out_t*
    - AbstractSourceStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 112
    functionName: Demuxer::Demuxer
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/Demuxer.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Demuxer::Demuxer(vlc_object_t *p_obj_, const std::string &name_,\n
      \                es_out_t *out, AbstractSourceStream *source)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: demux_Delete
      Src: /src/vlc/modules/demux/adaptive/plumbing/Demuxer.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: Demuxer::~Demuxer()
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/Demuxer.cpp
    functionUses: 0
    functionsReached:
    - demux_Delete
    linkageType: ''
    returnType: void
    signature: void Demuxer::~Demuxer()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: makeStream
      Src: /src/vlc/modules/demux/adaptive/plumbing/Demuxer.cpp:122,1
    - Dst: demux_New
      Src: /src/vlc/modules/demux/adaptive/plumbing/Demuxer.cpp:126,1
    - Dst: c_str
      Src: /src/vlc/modules/demux/adaptive/plumbing/Demuxer.cpp:126,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/adaptive/plumbing/Demuxer.cpp:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 140
    functionName: Demuxer::create
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/Demuxer.cpp
    functionUses: 0
    functionsReached:
    - makeStream
    - demux_New
    - vlc_stream_Delete
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool Demuxer::create()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: demux_Delete
      Src: /src/vlc/modules/demux/adaptive/plumbing/Demuxer.cpp:146,1
    - Dst: Reset
      Src: /src/vlc/modules/demux/adaptive/plumbing/Demuxer.cpp:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: Demuxer::destroy
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/Demuxer.cpp
    functionUses: 0
    functionsReached:
    - demux_Delete
    - Reset
    linkageType: ''
    returnType: void
    signature: void Demuxer::destroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: demux_Demux
      Src: /src/vlc/modules/demux/adaptive/plumbing/Demuxer.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: Demuxer::drain
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/Demuxer.cpp
    functionUses: 0
    functionsReached:
    - demux_Demux
    linkageType: ''
    returnType: void
    signature: void Demuxer::drain()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: demux_Demux
      Src: /src/vlc/modules/demux/adaptive/plumbing/Demuxer.cpp:161,1
    - Dst: returnCode
      Src: /src/vlc/modules/demux/adaptive/plumbing/Demuxer.cpp:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 165
    functionName: Demuxer::demux
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/Demuxer.cpp
    functionUses: 0
    functionsReached:
    - returnCode
    - demux_Demux
    linkageType: ''
    returnType: Demuxer::Status
    signature: Demuxer::Status Demuxer::demux(vlc_tick_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - p_obj
    - name
    - out
    - source
    argTypes:
    - vlc_object_t*
    - std::string
    - es_out_t*
    - AbstractSourceStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: SlaveDemuxer::SlaveDemuxer
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/Demuxer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SlaveDemuxer::SlaveDemuxer(vlc_object_t *p_obj, const std::string
      &name,\n                           es_out_t *out, AbstractSourceStream *source)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: SlaveDemuxer::~SlaveDemuxer()
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/Demuxer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SlaveDemuxer::~SlaveDemuxer()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Demuxer::create
      Src: /src/vlc/modules/demux/adaptive/plumbing/Demuxer.cpp:183,1
    - Dst: demux_Control
      Src: /src/vlc/modules/demux/adaptive/plumbing/Demuxer.cpp:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 191
    functionName: SlaveDemuxer::create
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/Demuxer.cpp
    functionUses: 0
    functionsReached:
    - Demuxer::create
    - demux_Control
    linkageType: ''
    returnType: bool
    signature: bool SlaveDemuxer::create()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/adaptive/plumbing/Demuxer.cpp:196,1
    - Dst: demux_Control
      Src: /src/vlc/modules/demux/adaptive/plumbing/Demuxer.cpp:197,1
    - Dst: Demuxer::demux
      Src: /src/vlc/modules/demux/adaptive/plumbing/Demuxer.cpp:202,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/adaptive/plumbing/Demuxer.cpp:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - nz_deadline
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 205
    functionName: SlaveDemuxer::demux
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/Demuxer.cpp
    functionUses: 0
    functionsReached:
    - Demuxer::demux
    - VLC_TICK_FROM_MS
    - demux_Control
    - es_out_Control
    linkageType: ''
    returnType: AbstractDemuxer::Status
    signature: AbstractDemuxer::Status SlaveDemuxer::demux(vlc_tick_t nz_deadline)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type_
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: AbstractCommand::AbstractCommand
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractCommand::AbstractCommand( int type_ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: '& AbstractCommand::getTimes() const'
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Times
    signature: Times & AbstractCommand::getTimes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: AbstractCommand::getType
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int AbstractCommand::getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - p_es
    argTypes:
    - int
    - AbstractFakeESOutID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: AbstractFakeEsCommand::AbstractFakeEsCommand
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractFakeEsCommand::AbstractFakeEsCommand( int type, AbstractFakeESOutID
      *p_es )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const void *>
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: AbstractFakeEsCommand::esIdentifier
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const void *>
    linkageType: ''
    returnType: void
    signature: void * AbstractFakeEsCommand::esIdentifier() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Times
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p_es
    - t
    - p_block_
    argTypes:
    - AbstractFakeESOutID*
    - SegmentTimes
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: EsOutSendCommand::EsOutSendCommand
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached:
    - Times
    linkageType: ''
    returnType: void
    signature: "void EsOutSendCommand::EsOutSendCommand( AbstractFakeESOutID *p_es,\n
      \                                   const SegmentTimes &t, block_t *p_block_
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: EsOutSendCommand::~EsOutSendCommand()
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached:
    - block_Release
    linkageType: ''
    returnType: void
    signature: void EsOutSendCommand::~EsOutSendCommand()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sendData
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: EsOutSendCommand::Execute
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached:
    - sendData
    linkageType: ''
    returnType: void
    signature: void EsOutSendCommand::Execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_es
    argTypes:
    - AbstractFakeESOutID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: EsOutDelCommand::EsOutDelCommand
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EsOutDelCommand::EsOutDelCommand( AbstractFakeESOutID *p_es )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: EsOutDelCommand::Execute
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached:
    - release
    linkageType: ''
    returnType: void
    signature: void EsOutDelCommand::Execute( )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_es
    argTypes:
    - AbstractFakeESOutID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: EsOutAddCommand::EsOutAddCommand
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EsOutAddCommand::EsOutAddCommand( AbstractFakeESOutID *p_es )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: EsOutAddCommand::~EsOutAddCommand()
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EsOutAddCommand::~EsOutAddCommand()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: EsOutAddCommand::Execute
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached:
    - create
    linkageType: ''
    returnType: void
    signature: void EsOutAddCommand::Execute( )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Times
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - group_
    - t
    - pcr
    argTypes:
    - int
    - SegmentTimes
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: EsOutControlPCRCommand::EsOutControlPCRCommand
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached:
    - Times
    linkageType: ''
    returnType: void
    signature: "void EsOutControlPCRCommand::EsOutControlPCRCommand( int group_,\n
      \                                               const SegmentTimes &t, vlc_tick_t
      pcr )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: EsOutControlPCRCommand::Execute
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EsOutControlPCRCommand::Execute( )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: EsOutDestroyCommand::EsOutDestroyCommand
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EsOutDestroyCommand::EsOutDestroyCommand()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: EsOutDestroyCommand::Execute
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EsOutDestroyCommand::Execute( )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: EsOutControlResetPCRCommand::EsOutControlResetPCRCommand
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EsOutControlResetPCRCommand::EsOutControlResetPCRCommand()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: EsOutControlResetPCRCommand::Execute
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EsOutControlResetPCRCommand::Execute( )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - i_group
    - p_meta
    argTypes:
    - AbstractFakeEsOut*
    - int
    - vlc_meta_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: EsOutMetaCommand::EsOutMetaCommand
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EsOutMetaCommand::EsOutMetaCommand( AbstractFakeEsOut *out,\n
      \                                   int i_group, vlc_meta_t *p_meta )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_meta_Delete
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: EsOutMetaCommand::~EsOutMetaCommand()
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached:
    - vlc_meta_Delete
    linkageType: ''
    returnType: void
    signature: void EsOutMetaCommand::~EsOutMetaCommand()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sendMeta
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: EsOutMetaCommand::Execute
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached:
    - sendMeta
    linkageType: ''
    returnType: void
    signature: void EsOutMetaCommand::Execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - AbstractFakeEsOut*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: EsOutMilestoneCommand::EsOutMilestoneCommand
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EsOutMilestoneCommand::EsOutMilestoneCommand( AbstractFakeEsOut
      *out )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: milestoneReached
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: EsOutMilestoneCommand::Execute
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached:
    - milestoneReached
    linkageType: ''
    returnType: void
    signature: void EsOutMilestoneCommand::Execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Times
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - SegmentTimes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: EsOutMediaProgressCommand::EsOutMediaProgressCommand
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached:
    - Times
    linkageType: ''
    returnType: void
    signature: void EsOutMediaProgressCommand::EsOutMediaProgressCommand(const SegmentTimes
      &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: EsOutMediaProgressCommand::Execute
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EsOutMediaProgressCommand::Execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsOutSendCommand::EsOutSendCommand
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - id
    - t
    - p_block
    argTypes:
    - AbstractFakeESOutID*
    - SegmentTimes
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: CommandsFactory::createEsOutSendCommand
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 1
    functionsReached:
    - EsOutSendCommand::EsOutSendCommand
    linkageType: ''
    returnType: EsOutSendCommand
    signature: "EsOutSendCommand * CommandsFactory::createEsOutSendCommand( AbstractFakeESOutID
      *id,\n                                                            const SegmentTimes
      &t,\n                                                            block_t *p_block
      ) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsOutDelCommand::EsOutDelCommand
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - AbstractFakeESOutID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: CommandsFactory::createEsOutDelCommand
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 1
    functionsReached:
    - EsOutDelCommand::EsOutDelCommand
    linkageType: ''
    returnType: EsOutDelCommand
    signature: EsOutDelCommand * CommandsFactory::createEsOutDelCommand( AbstractFakeESOutID
      *id ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsOutAddCommand::EsOutAddCommand
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - AbstractFakeESOutID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: CommandsFactory::createEsOutAddCommand
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 1
    functionsReached:
    - EsOutAddCommand::EsOutAddCommand
    linkageType: ''
    returnType: EsOutAddCommand
    signature: EsOutAddCommand * CommandsFactory::createEsOutAddCommand( AbstractFakeESOutID
      *id ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsOutControlPCRCommand::EsOutControlPCRCommand
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - group
    - t
    - pcr
    argTypes:
    - int
    - SegmentTimes
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 217
    functionName: CommandsFactory::createEsOutControlPCRCommand
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 1
    functionsReached:
    - EsOutControlPCRCommand::EsOutControlPCRCommand
    linkageType: ''
    returnType: EsOutControlPCRCommand
    signature: "EsOutControlPCRCommand * CommandsFactory::createEsOutControlPCRCommand(
      int group,\n                                                                        const
      SegmentTimes &t,\n                                                                        vlc_tick_t
      pcr ) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsOutDestroyCommand::EsOutDestroyCommand
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: CommandsFactory::createEsOutDestroyCommand
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached:
    - EsOutDestroyCommand::EsOutDestroyCommand
    linkageType: ''
    returnType: EsOutDestroyCommand
    signature: EsOutDestroyCommand * CommandsFactory::createEsOutDestroyCommand()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsOutControlResetPCRCommand::EsOutControlResetPCRCommand
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: CommandsFactory::creatEsOutControlResetPCRCommand
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached:
    - EsOutControlResetPCRCommand::EsOutControlResetPCRCommand
    linkageType: ''
    returnType: EsOutControlResetPCRCommand
    signature: EsOutControlResetPCRCommand * CommandsFactory::creatEsOutControlResetPCRCommand()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:232,1
    - Dst: vlc_meta_Merge
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:235,1
    - Dst: EsOutMetaCommand::EsOutMetaCommand
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - out
    - group
    - p_meta
    argTypes:
    - AbstractFakeEsOut*
    - int
    - vlc_meta_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 239
    functionName: CommandsFactory::createEsOutMetaCommand
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached:
    - vlc_meta_New
    - vlc_meta_Merge
    - EsOutMetaCommand::EsOutMetaCommand
    linkageType: ''
    returnType: EsOutMetaCommand
    signature: "EsOutMetaCommand * CommandsFactory::createEsOutMetaCommand( AbstractFakeEsOut
      *out, int group,\n                                                            const
      vlc_meta_t *p_meta ) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsOutMilestoneCommand::EsOutMilestoneCommand
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - AbstractFakeEsOut*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: CommandsFactory::createEsOutMilestoneCommand
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached:
    - EsOutMilestoneCommand::EsOutMilestoneCommand
    linkageType: ''
    returnType: EsOutMilestoneCommand
    signature: EsOutMilestoneCommand * CommandsFactory::createEsOutMilestoneCommand(
      AbstractFakeEsOut *out ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EsOutMediaProgressCommand::EsOutMediaProgressCommand
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - t
    argTypes:
    - SegmentTimes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 251
    functionName: CommandsFactory::createEsOutMediaProgressCommand
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached:
    - EsOutMediaProgressCommand::EsOutMediaProgressCommand
    linkageType: ''
    returnType: EsOutMediaProgressCommand
    signature: EsOutMediaProgressCommand * CommandsFactory::createEsOutMediaProgressCommand(
      const SegmentTimes &t ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getType
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:261,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:261,1
    - Dst: getTimes
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' ostr'
    - ' list'
    argTypes:
    - std::ostream
    - std::list<AbstractCommand *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 264
    functionName: '& operator<<(std::ostream& ostr, const std::list<AbstractCommand
      *>& list)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached:
    - getType
    - SEC_FROM_VLC_TICK
    - getTimes
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& ostr, const std::list<AbstractCommand
      *>& list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 272
    functionName: AbstractCommandsQueue::AbstractCommandsQueue
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractCommandsQueue::AbstractCommandsQueue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: AbstractCommandsQueue::setDrop
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractCommandsQueue::setDrop( bool b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: AbstractCommandsQueue::setDraining
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractCommandsQueue::setDraining()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: AbstractCommandsQueue::isDraining
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AbstractCommandsQueue::isDraining() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AbstractCommandsQueue::setDraining
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 296
    functionName: AbstractCommandsQueue::setEOF
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached:
    - AbstractCommandsQueue::setDraining
    linkageType: ''
    returnType: void
    signature: void AbstractCommandsQueue::setEOF( bool b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: AbstractCommandsQueue::isEOF
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AbstractCommandsQueue::isEOF() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Times
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: CommandsQueue::CommandsQueue
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 3
    functionsReached:
    - Times
    linkageType: ''
    returnType: void
    signature: void CommandsQueue::CommandsQueue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CommandsQueue::Abort
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: CommandsQueue::~CommandsQueue()
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached:
    - CommandsQueue::Abort
    linkageType: ''
    returnType: void
    signature: void CommandsQueue::~CommandsQueue()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Queueentry::second::getTimes
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:317,1
    - Dst: Queueentry::second::getTimes
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:317,1
    - Dst: Queueentry::second::getType
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:321,1
    - Dst: Queueentry::second::getType
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:322,1
    - Dst: Queueentry::second::getTimes
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:328,1
    - Dst: Queueentry::second::getTimes
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:329,1
    - Dst: Queueentry::second::getTimes
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:335,1
    - Dst: Queueentry::second::getTimes
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:335,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Queueentry
    - Queueentry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 337
    functionName: compareCommands
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached:
    - Queueentry::second::getType
    - Queueentry::second::getTimes
    linkageType: ''
    returnType: bool
    signature: bool compareCommands( const Queueentry &a, const Queueentry &b )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AbstractCommand*::getType
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:345,1
    - Dst: AbstractCommand*::getTimes
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:347,1
    - Dst: AbstractCommand*::getType
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:351,1
    - Dst: AbstractCommand*::getTimes
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:353,1
    - Dst: AbstractCommand*::getTimes
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:355,1
    - Dst: CommandsQueue::LockedCommit
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:356,1
    - Dst: CommandsQueue::LockedCommit
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:361,1
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:362,1
    - Dst: back
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:363,1
    - Dst: getTimes
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:363,1
    - Dst: back
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:364,1
    - Dst: getTimes
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:364,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:366,1
    - Dst: Queueentry
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:366,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:370,1
    - Dst: Queueentry
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:370,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - command
    argTypes:
    - AbstractCommand*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 372
    functionName: CommandsQueue::Schedule
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 1
    functionsReached:
    - push_back
    - back
    - AbstractCommand*::getTimes
    - getTimes
    - empty
    - Queueentry
    - CommandsQueue::LockedCommit
    - AbstractCommand*::getType
    linkageType: ''
    returnType: void
    signature: void CommandsQueue::Schedule( AbstractCommand *command, EsType )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::list::splice
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:391,1
    - Dst: std::list::end
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:391,1
    - Dst: std::list::empty
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:393,1
    - Dst: std::list::front
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:395,1
    - Dst: AbstractCommand*::getType
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:398,1
    - Dst: AbstractCommand*::getType
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:401,1
    - Dst: AbstractCommand*::getType
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:404,1
    - Dst: AbstractCommand*::getTimes
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:404,1
    - Dst: std::list::pop_front
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:407,1
    - Dst: AbstractCommand*::getType
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:410,1
    - Dst: dynamic_cast<EsOutSendCommand *>
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:412,1
    - Dst: EsOutSendCommand*::esIdentifier
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:414,1
    - Dst: AbstractCommand*::getTimes
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:417,1
    - Dst: std::set::insert
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:421,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:422,1
    - Dst: AbstractCommand*::getTimes
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:424,1
    - Dst: std::set::find
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:426,1
    - Dst: std::set::end
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:426,1
    - Dst: std::list::push_back
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:427,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:429,1
    - Dst: std::list::push_back
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:433,1
    - Dst: std::list::push_back
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:436,1
    - Dst: splice
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:440,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:440,1
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:442,1
    - Dst: std::list::empty
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:446,1
    - Dst: std::list::front
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:448,1
    - Dst: std::list::pop_front
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:449,1
    - Dst: AbstractCommand*::getType
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:451,1
    - Dst: AbstractCommand*::getTimes
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:453,1
    - Dst: AbstractCommand*::Execute
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:458,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 1
    argNames:
    - barrier
    argTypes:
    - Times
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 465
    functionName: CommandsQueue::Process
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 1
    functionsReached:
    - std::list::pop_front
    - dynamic_cast<EsOutSendCommand *>
    - push_back
    - std::list::empty
    - std::list::push_back
    - end
    - std::list::end
    - AbstractCommand*::getTimes
    - splice
    - std::list::splice
    - empty
    - std::set::insert
    - std::set::find
    - std::list::front
    - EsOutSendCommand*::esIdentifier
    - std::set::end
    - AbstractCommand*::Execute
    - AbstractCommand*::getType
    linkageType: ''
    returnType: Times
    signature: Times CommandsQueue::Process( Times barrier )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sort
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:470,1
    - Dst: splice
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:471,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 472
    functionName: CommandsQueue::LockedCommit
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 1
    functionsReached:
    - end
    - splice
    - sort
    linkageType: ''
    returnType: void
    signature: void CommandsQueue::LockedCommit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CommandsQueue::LockedCommit
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: CommandsQueue::Commit
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 1
    functionsReached:
    - CommandsQueue::LockedCommit
    linkageType: ''
    returnType: void
    signature: void CommandsQueue::Commit()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: splice
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:481,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:481,1
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:482,1
    - Dst: front
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:484,1
    - Dst: pop_front
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:485,1
    - Dst: Times
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:490,1
    - Dst: SegmentTimes
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:491,1
    - Dst: Times
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - b_reset
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 496
    functionName: CommandsQueue::Abort
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 2
    functionsReached:
    - SegmentTimes
    - splice
    - empty
    - Times
    - end
    - pop_front
    - front
    linkageType: ''
    returnType: void
    signature: void CommandsQueue::Abort( bool b_reset )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:500,1
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 501
    functionName: CommandsQueue::isEmpty
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 1
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool CommandsQueue::isEmpty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CommandsQueue::LockedSetDraining
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 506
    functionName: CommandsQueue::setDraining
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 1
    functionsReached:
    - CommandsQueue::LockedSetDraining
    linkageType: ''
    returnType: void
    signature: void CommandsQueue::setDraining()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CommandsQueue::getFirstTimes
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:510,1
    - Dst: Times
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:515,1
    - Dst: SegmentTimes
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:515,1
    - Dst: Times::offsetBy
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:518,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - from
    argTypes:
    - Times
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 520
    functionName: CommandsQueue::getDemuxedAmount
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 1
    functionsReached:
    - SegmentTimes
    - Times::offsetBy
    - CommandsQueue::getFirstTimes
    - Times
    linkageType: ''
    returnType: Times
    signature: Times CommandsQueue::getDemuxedAmount(Times from) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Times
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:527,1
    - Dst: SegmentTimes
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:527,1
    - Dst: Times::offsetBy
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:529,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - from
    argTypes:
    - Times
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 531
    functionName: CommandsQueue::getDemuxedMediaAmount
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 0
    functionsReached:
    - SegmentTimes
    - Times::offsetBy
    - Times
    linkageType: ''
    returnType: Times
    signature: Times CommandsQueue::getDemuxedMediaAmount(const Times &from) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 536
    functionName: CommandsQueue::getBufferingLevel
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Times
    signature: Times CommandsQueue::getBufferingLevel() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:542,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:542,1
    - Dst: second::getTimes
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:544,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 553
    functionName: CommandsQueue::getFirstTimes
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 2
    functionsReached:
    - end
    - begin
    - second::getTimes
    linkageType: ''
    returnType: Times
    signature: Times CommandsQueue::getFirstTimes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CommandsQueue::LockedCommit
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:557,1
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 559
    functionName: CommandsQueue::LockedSetDraining
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 1
    functionsReached:
    - CommandsQueue::LockedCommit
    - empty
    linkageType: ''
    returnType: void
    signature: void CommandsQueue::LockedSetDraining()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 564
    functionName: CommandsQueue::getPCR
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/CommandsQueue.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Times
    signature: Times CommandsQueue::getPCR() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_obj_
    - source_
    argTypes:
    - vlc_object_t*
    - BlockStreamInterface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: AbstractChunksSourceStream::AbstractChunksSourceStream
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractChunksSourceStream::AbstractChunksSourceStream(vlc_object_t
      *p_obj_, BlockStreamInterface *source_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: AbstractChunksSourceStream::~AbstractChunksSourceStream()
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractChunksSourceStream::~AbstractChunksSourceStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: AbstractChunksSourceStream::Reset
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractChunksSourceStream::Reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<AbstractChunksSourceStream *>
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:52,1
    - Dst: AbstractChunksSourceStream*::Read
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:53,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - buf
    - size
    argTypes:
    - stream_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: AbstractChunksSourceStream::read_Callback
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<AbstractChunksSourceStream *>
    - AbstractChunksSourceStream*::Read
    - reinterpret_cast<uint8_t *>
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t AbstractChunksSourceStream::read_Callback(stream_t *s, void
      *buf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<AbstractChunksSourceStream *>
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:58,1
    - Dst: AbstractChunksSourceStream*::Seek
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - i_pos
    argTypes:
    - stream_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: AbstractChunksSourceStream::seek_Callback
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<AbstractChunksSourceStream *>
    - AbstractChunksSourceStream*::Seek
    linkageType: ''
    returnType: int
    signature: int AbstractChunksSourceStream::seek_Callback(stream_t *s, uint64_t
      i_pos)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - i_query
    - args
    argTypes:
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 85
    functionName: AbstractChunksSourceStream::control_Callback
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp
    functionUses: 0
    functionsReached:
    - va_arg
    linkageType: ''
    returnType: int
    signature: int AbstractChunksSourceStream::control_Callback(stream_t *, int i_query,
      va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: AbstractChunksSourceStream::delete_Callback
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractChunksSourceStream::delete_Callback(stream_t *)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_CommonNew
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: AbstractChunksSourceStream::makeStream
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp
    functionUses: 0
    functionsReached:
    - vlc_stream_CommonNew
    linkageType: ''
    returnType: stream_t
    signature: stream_t * AbstractChunksSourceStream::makeStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_obj_
    - source_
    argTypes:
    - vlc_object_t*
    - BlockStreamInterface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: ChunksSourceStream::ChunksSourceStream
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChunksSourceStream::ChunksSourceStream(vlc_object_t *p_obj_, BlockStreamInterface
      *source_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: ChunksSourceStream::~ChunksSourceStream()
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp
    functionUses: 0
    functionsReached:
    - block_Release
    linkageType: ''
    returnType: void
    signature: void ChunksSourceStream::~ChunksSourceStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:120,1
    - Dst: AbstractChunksSourceStream::Reset
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: ChunksSourceStream::Reset
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp
    functionUses: 1
    functionsReached:
    - block_Release
    - AbstractChunksSourceStream::Reset
    linkageType: ''
    returnType: void
    signature: void ChunksSourceStream::Reset()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: readNextBlock
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:129,1
    - Dst: std::min
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pp
    - sz
    argTypes:
    - uint8_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 136
    functionName: ChunksSourceStream::Peek
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp
    functionUses: 0
    functionsReached:
    - std::min
    - readNextBlock
    linkageType: ''
    returnType: size_t
    signature: size_t ChunksSourceStream::Peek(const uint8_t **pp, size_t sz)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: readNextBlock
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:145,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:154,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:163,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:166,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 172
    functionName: ChunksSourceStream::Read
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - block_Release
    - readNextBlock
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t ChunksSourceStream::Read(uint8_t *buf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: ChunksSourceStream::Seek
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ChunksSourceStream::Seek(uint64_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_BytestreamInit
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p_obj_
    - source_
    argTypes:
    - vlc_object_t*
    - BlockStreamInterface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 186
    functionName: BufferedChunksSourceStream::BufferedChunksSourceStream
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp
    functionUses: 1
    functionsReached:
    - block_BytestreamInit
    linkageType: ''
    returnType: void
    signature: void BufferedChunksSourceStream::BufferedChunksSourceStream(vlc_object_t
      *p_obj_, BlockStreamInterface *source_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_BytestreamEmpty
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:190,1
    - Dst: BufferedChunksSourceStream::invalidatePeek
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: BufferedChunksSourceStream::~BufferedChunksSourceStream()
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp
    functionUses: 0
    functionsReached:
    - block_BytestreamEmpty
    - BufferedChunksSourceStream::invalidatePeek
    linkageType: ''
    returnType: void
    signature: void BufferedChunksSourceStream::~BufferedChunksSourceStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_BytestreamEmpty
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:196,1
    - Dst: BufferedChunksSourceStream::invalidatePeek
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:199,1
    - Dst: AbstractChunksSourceStream::Reset
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 201
    functionName: BufferedChunksSourceStream::Reset
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp
    functionUses: 0
    functionsReached:
    - block_BytestreamEmpty
    - AbstractChunksSourceStream::Reset
    - BufferedChunksSourceStream::invalidatePeek
    linkageType: ''
    returnType: void
    signature: void BufferedChunksSourceStream::Reset()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: block_BytestreamRemaining
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:205,1
    - Dst: BufferedChunksSourceStream::fillByteStream
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:208,1
    - Dst: block_BytestreamRemaining
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:209,1
    - Dst: block_PeekOffsetBytes
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - buf
    - i_toread
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 221
    functionName: BufferedChunksSourceStream::doRead
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp
    functionUses: 0
    functionsReached:
    - block_PeekOffsetBytes
    - block_BytestreamRemaining
    - BufferedChunksSourceStream::fillByteStream
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t BufferedChunksSourceStream::doRead(uint8_t *buf, size_t i_toread)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BufferedChunksSourceStream::invalidatePeek
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:225,1
    - Dst: BufferedChunksSourceStream::doRead
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:227,1
    - Dst: block_SkipBytes
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:238,1
    - Dst: block_BytestreamFlush
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - buf
    - i_toread
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 245
    functionName: BufferedChunksSourceStream::Read
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp
    functionUses: 0
    functionsReached:
    - block_BytestreamFlush
    - block_SkipBytes
    - BufferedChunksSourceStream::doRead
    - BufferedChunksSourceStream::invalidatePeek
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t BufferedChunksSourceStream::Read(uint8_t *buf, size_t i_toread)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:251,1
    - Dst: BufferedChunksSourceStream::fillByteStream
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:256,1
    - Dst: block_BytestreamRemaining
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:257,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:259,1
    - Dst: block_BytestreamRemaining
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:260,1
    - Dst: BufferedChunksSourceStream::invalidatePeek
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - i_seek
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 266
    functionName: BufferedChunksSourceStream::Seek
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp
    functionUses: 0
    functionsReached:
    - block_BytestreamRemaining
    - BufferedChunksSourceStream::fillByteStream
    - BufferedChunksSourceStream::invalidatePeek
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int BufferedChunksSourceStream::Seek(uint64_t i_seek)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:270,1
    - Dst: BufferedChunksSourceStream::invalidatePeek
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:271,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:272,1
    - Dst: BufferedChunksSourceStream::doRead
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:275,1
    - Dst: BufferedChunksSourceStream::invalidatePeek
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pp
    - sz
    argTypes:
    - uint8_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 283
    functionName: BufferedChunksSourceStream::Peek
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp
    functionUses: 0
    functionsReached:
    - block_Alloc
    - std::min
    - BufferedChunksSourceStream::invalidatePeek
    - BufferedChunksSourceStream::doRead
    linkageType: ''
    returnType: size_t
    signature: size_t BufferedChunksSourceStream::Peek(const uint8_t **pp, size_t
      sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_BytestreamRemaining
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:287,1
    - Dst: readNextBlock
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:289,1
    - Dst: block_BytestreamPush
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - level
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: BufferedChunksSourceStream::fillByteStream
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp
    functionUses: 2
    functionsReached:
    - readNextBlock
    - block_BytestreamRemaining
    - block_BytestreamPush
    linkageType: ''
    returnType: void
    signature: void BufferedChunksSourceStream::fillByteStream(size_t level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 303
    functionName: BufferedChunksSourceStream::invalidatePeek
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/SourceStream.cpp
    functionUses: 5
    functionsReached:
    - block_Release
    linkageType: ''
    returnType: void
    signature: void BufferedChunksSourceStream::invalidatePeek()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Copy
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOutID.cpp:35,1
    - Dst: SrcID::make
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOutID.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fakeesout
    - p_fmt
    argTypes:
    - FakeESOut*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: FakeESOutID::FakeESOutID
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOutID.cpp
    functionUses: 1
    functionsReached:
    - es_format_Copy
    - SrcID::make
    linkageType: ''
    returnType: void
    signature: void FakeESOutID::FakeESOutID( FakeESOut *fakeesout, const es_format_t
      *p_fmt )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Copy
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOutID.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fakeesout
    - p_fmt
    - srcid_
    argTypes:
    - FakeESOut*
    - es_format_t*
    - SrcID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: FakeESOutID::FakeESOutID
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOutID.cpp
    functionUses: 1
    functionsReached:
    - es_format_Copy
    linkageType: ''
    returnType: void
    signature: "void FakeESOutID::FakeESOutID( FakeESOut *fakeesout, const es_format_t
      *p_fmt,\n                          const SrcID &srcid_ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOutID.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: FakeESOutID::~FakeESOutID()
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOutID.cpp
    functionUses: 0
    functionsReached:
    - es_format_Clean
    linkageType: ''
    returnType: void
    signature: void FakeESOutID::~FakeESOutID()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - real_es_id
    argTypes:
    - es_out_id_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: FakeESOutID::setRealESID
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOutID.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeESOutID::setRealESID( es_out_id_t *real_es_id )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FakeESOutID::sendData
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOutID.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_block
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: FakeESOutID::sendData
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOutID.cpp
    functionUses: 1
    functionsReached:
    - FakeESOutID::sendData
    linkageType: ''
    returnType: void
    signature: void FakeESOutID::sendData( block_t *p_block )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: FakeESOutID::esType
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOutID.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EsType
    signature: EsType FakeESOutID::esType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createOrRecycleRealEsID
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOutID.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: FakeESOutID::create
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOutID.cpp
    functionUses: 0
    functionsReached:
    - createOrRecycleRealEsID
    linkageType: ''
    returnType: void
    signature: void FakeESOutID::create()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: recycle
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOutID.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: FakeESOutID::release
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOutID.cpp
    functionUses: 0
    functionsReached:
    - recycle
    linkageType: ''
    returnType: void
    signature: void FakeESOutID::release()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: FakeESOutID::realESID
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOutID.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: es_out_id_t
    signature: es_out_id_t * FakeESOutID::realESID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: FakeESOutID::getFmt
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOutID.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: es_format_t
    signature: es_format_t *FakeESOutID::getFmt() const
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOutID.cpp:121,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOutID.cpp:134,1
    - Dst: es_format_IsSimilar
      Src: /src/vlc/modules/demux/adaptive/plumbing/FakeESOutID.cpp:138,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 1
    argNames:
    - p_other
    argTypes:
    - FakeESOutID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 140
    functionName: FakeESOutID::isCompatible
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOutID.cpp
    functionUses: 1
    functionsReached:
    - es_format_IsSimilar
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool FakeESOutID::isCompatible( const FakeESOutID *p_other ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: FakeESOutID::setScheduledForDeletion
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOutID.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeESOutID::setScheduledForDeletion()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: FakeESOutID::scheduledForDeletion
    functionSourceFile: /src/vlc/modules/demux/adaptive/plumbing/FakeESOutID.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool FakeESOutID::scheduledForDeletion() const
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: vlc_strtod_c
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:50,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:82,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 1
    argNames:
    - psz_duration
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 87
    functionName: str_duration
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp
    functionUses: 0
    functionsReached:
    - vlc_tick_from_sec
    - vlc_strtod_c
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t str_duration( const char *psz_duration )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: str_duration
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:91,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: IsoTime::IsoTime
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - str_duration
    linkageType: ''
    returnType: void
    signature: void IsoTime::IsoTime(const std::string &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: IsoTime::operator vlc_tick_t () const
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IsoTime::operator vlc_tick_t () const
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: std::istringstream::imbue
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:105,1
    - Dst: std::locale
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:105,1
    - Dst: std::istringstream::good
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:110,1
    - Dst: std::istringstream::ignore
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:113,1
    - Dst: std::istringstream::good
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:114,1
    - Dst: std::istringstream::good
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:118,1
    - Dst: std::istringstream::peek
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:118,1
    - Dst: std::istringstream::good
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:120,1
    - Dst: std::istringstream::ignore
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:122,1
    - Dst: std::istringstream::good
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:123,1
    - Dst: std::istringstream::good
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:127,1
    - Dst: std::istringstream::peek
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:127,1
    - Dst: std::istringstream::ignore
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:129,1
    - Dst: std::istringstream::peek
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:132,1
    - Dst: std::istringstream::ignore
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:137,1
    - Dst: std::istringstream::good
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:138,1
    - Dst: std::istringstream::peek
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:140,1
    - Dst: std::istringstream::good
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:144,1
    - Dst: std::istringstream::peek
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:144,1
    - Dst: std::istringstream::ignore
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:146,1
    - Dst: std::istringstream::good
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:148,1
    - Dst: std::istringstream::peek
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:148,1
    - Dst: std::istringstream::peek
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:148,1
    - Dst: std::istringstream::peek
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:150,1
    - Dst: std::istringstream::ignore
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:152,1
    - Dst: std::istringstream::good
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:154,1
    - Dst: std::istringstream::fail
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:158,1
    - Dst: std::string::length
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:160,1
    - Dst: std::stoul
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:162,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:162,1
    - Dst: std::string::length
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:163,1
    - Dst: std::string::find
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:163,1
    - Dst: std::stoul
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:164,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:164,1
    - Dst: std::stoul
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:166,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:166,1
    - Dst: std::stoul
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:170,1
    - Dst: std::istringstream::fail
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:177,1
    - Dst: timegm
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:188,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:191,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp:193,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 68
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 201
    functionName: UTCTime::UTCTime
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp
    functionUses: 0
    functionsReached:
    - std::string::find
    - std::istringstream::ignore
    - std::istringstream::peek
    - std::istringstream::fail
    - std::istringstream::good
    - VLC_TICK_FROM_MS
    - std::istringstream::imbue
    - timegm
    - std::string::length
    - std::stoul
    - vlc_tick_from_samples
    - std::string::substr
    - std::locale
    linkageType: ''
    returnType: void
    signature: void UTCTime::UTCTime(const std::string &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: UTCTime::operator vlc_tick_t () const
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/Conversions.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UTCTime::operator vlc_tick_t () const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SharedResources*::getConnManager
      Src: /src/vlc/modules/demux/adaptive/tools/Retrieve.cpp:43,1
    - Dst: ID
      Src: /src/vlc/modules/demux/adaptive/tools/Retrieve.cpp:44,1
    - Dst: BytesRange
      Src: /src/vlc/modules/demux/adaptive/tools/Retrieve.cpp:44,1
    - Dst: HTTPChunk::HTTPChunk
      Src: /src/vlc/modules/demux/adaptive/tools/Retrieve.cpp:43,1
    - Dst: HTTPChunk*::readBlock
      Src: /src/vlc/modules/demux/adaptive/tools/Retrieve.cpp:53,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/demux/adaptive/tools/Retrieve.cpp:56,1
    - Dst: block_ChainGather
      Src: /src/vlc/modules/demux/adaptive/tools/Retrieve.cpp:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - resources
    - type
    - uri
    argTypes:
    - SharedResources*
    - ChunkType
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 61
    functionName: Retrieve::HTTP
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/Retrieve.cpp
    functionUses: 0
    functionsReached:
    - HTTPChunk*::readBlock
    - HTTPChunk::HTTPChunk
    - ID
    - block_ChainLastAppend
    - SharedResources*::getConnManager
    - BytesRange
    - block_ChainGather
    linkageType: ''
    returnType: block_t
    signature: "block_t * Retrieve::HTTP(SharedResources *resources, ChunkType type,\n
      \                        const std::string &uri)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: adaptive::MovingAverageSum::MovingAverageSum
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MovingAverageSum(T i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: operator()(T n)
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator()(T n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::exception
      Src: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - nbobs
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: adaptive::MovingAverage<T>::MovingAverage
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp
    functionUses: 0
    functionsReached:
    - std::exception
    linkageType: ''
    returnType: void
    signature: void MovingAverage<T>::MovingAverage(unsigned nbobs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp:68,1
    - Dst: front
      Src: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp:70,1
    - Dst: pop_front
      Src: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp:71,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp:73,1
    - Dst: std::min_element
      Src: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp:76,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp:76,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp:76,1
    - Dst: std::max_element
      Src: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp:77,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp:77,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp:77,1
    - Dst: std::for_each
      Src: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp:78,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp:78,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp:78,1
    - Dst: MovingAverageSum<T>
      Src: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp:79,1
    - Dst: rbegin
      Src: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - v
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 88
    functionName: adaptive::MovingAverage<T>::push
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp
    functionUses: 0
    functionsReached:
    - push_back
    - std::for_each
    - MovingAverageSum<T>
    - size
    - begin
    - std::max_element
    - std::min_element
    - rbegin
    - end
    - pop_front
    - front
    linkageType: ''
    returnType: T
    signature: T MovingAverage<T>::push(T v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: adaptive::MovingAverageSum::MovingAverageSum
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MovingAverageSum(T i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: operator()(T n)
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator()(T n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::exception
      Src: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - nbobs
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: adaptive::MovingAverage<T>::MovingAverage
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp
    functionUses: 0
    functionsReached:
    - std::exception
    linkageType: ''
    returnType: void
    signature: void MovingAverage<T>::MovingAverage(unsigned nbobs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp:68,1
    - Dst: front
      Src: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp:70,1
    - Dst: pop_front
      Src: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp:71,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp:73,1
    - Dst: std::min_element
      Src: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp:76,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp:76,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp:76,1
    - Dst: std::max_element
      Src: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp:77,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp:77,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp:77,1
    - Dst: std::for_each
      Src: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp:78,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp:78,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp:78,1
    - Dst: MovingAverageSum<T>
      Src: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp:79,1
    - Dst: rbegin
      Src: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - v
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 88
    functionName: adaptive::MovingAverage<T>::push
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/MovingAverage.hpp
    functionUses: 0
    functionsReached:
    - push_back
    - std::for_each
    - MovingAverageSum<T>
    - size
    - begin
    - std::max_element
    - std::min_element
    - rbegin
    - end
    - pop_front
    - front
    linkageType: ''
    returnType: T
    signature: T MovingAverage<T>::push(T v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fcc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: MP4RA
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MP4RA(fcc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fcc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: MSFCC
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MSFCC(fcc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:40,1
    - Dst: FormatNamespace::ParseString
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - codec
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: FormatNamespace::FormatNamespace
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp
    functionUses: 0
    functionsReached:
    - FormatNamespace::ParseString
    - es_format_Init
    linkageType: ''
    returnType: void
    signature: void FormatNamespace::FormatNamespace(const std::string &codec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: FormatNamespace::~FormatNamespace()
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp
    functionUses: 0
    functionsReached:
    - es_format_Clean
    linkageType: ''
    returnType: void
    signature: void FormatNamespace::~FormatNamespace()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: FormatNamespace::getFmt
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: es_format_t
    signature: es_format_t * FormatNamespace::getFmt() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::string>::size
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:57,1
    - Dst: std::stoi
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:60,1
    - Dst: std::vector<std::string>::at
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:60,1
    - Dst: MPEG4_get_codec_by_ObjectType
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:61,1
    - Dst: std::vector<std::string>::size
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:69,1
    - Dst: std::stoi
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:70,1
    - Dst: std::vector<std::string>::at
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:70,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - elements
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 75
    functionName: FormatNamespace::ParseMPEG4Elements
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp
    functionUses: 0
    functionsReached:
    - MPEG4_get_codec_by_ObjectType
    - std::stoi
    - std::vector<std::string>::at
    - std::vector<std::string>::size
    linkageType: ''
    returnType: void
    signature: void FormatNamespace::ParseMPEG4Elements(const std::vector<std::string>
      &elements)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Helper::tokenize
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:79,1
    - Dst: std::list::empty
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:80,1
    - Dst: std::list::front
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:83,1
    - Dst: std::string::size
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:84,1
    - Dst: std::list::pop_front
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:87,1
    - Dst: std::vector::assign
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:89,1
    - Dst: std::list::begin
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:89,1
    - Dst: std::list::end
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:89,1
    - Dst: FormatNamespace::Parse
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:91,1
    - Dst: MP4RA
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - codecstring
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 92
    functionName: FormatNamespace::ParseString
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp
    functionUses: 1
    functionsReached:
    - std::list::pop_front
    - std::list::begin
    - std::list::empty
    - std::list::end
    - FormatNamespace::Parse
    - std::string::size
    - std::vector::assign
    - std::list::front
    - MP4RA
    - Helper::tokenize
    linkageType: ''
    returnType: void
    signature: void FormatNamespace::ParseString(const std::string &codecstring)
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: MP4RA
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:99,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:101,1
    - Dst: FormatNamespace::ParseMPEG4Elements
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:102,1
    - Dst: MP4RA
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:104,1
    - Dst: MP4RA
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:105,1
    - Dst: MP4RA
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:106,1
    - Dst: MP4RA
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:107,1
    - Dst: MP4RA
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:108,1
    - Dst: MP4RA
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:109,1
    - Dst: MP4RA
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:110,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:111,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:111,1
    - Dst: std::vector<std::string>::size
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:112,1
    - Dst: std::vector<std::string>::at
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:112,1
    - Dst: std::vector<std::string>::at
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:114,1
    - Dst: std::stoi
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:115,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:115,1
    - Dst: std::stoi
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:116,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:116,1
    - Dst: MP4RA
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:119,1
    - Dst: MP4RA
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:120,1
    - Dst: MP4RA
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:121,1
    - Dst: MP4RA
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:122,1
    - Dst: MP4RA
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:123,1
    - Dst: MP4RA
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:124,1
    - Dst: MP4RA
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:125,1
    - Dst: MP4RA
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:126,1
    - Dst: MP4RA
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:127,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:129,1
    - Dst: MP4RA
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:131,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:132,1
    - Dst: std::vector<std::string>::size
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:133,1
    - Dst: std::stoi
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:135,1
    - Dst: std::vector<std::string>::at
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:135,1
    - Dst: std::stoi
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:136,1
    - Dst: std::vector<std::string>::at
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:136,1
    - Dst: MP4RA
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:139,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:140,1
    - Dst: MP4RA
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:142,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:143,1
    - Dst: MP4RA
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:145,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:146,1
    - Dst: MP4RA
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:148,1
    - Dst: MP4RA
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:149,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:150,1
    - Dst: vlc_fourcc_GetCodec
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:151,1
    - Dst: MP4RA
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:151,1
    - Dst: std::vector<std::string>::size
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:154,1
    - Dst: std::stoi
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:156,1
    - Dst: std::vector<std::string>::at
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:156,1
    - Dst: std::stoi
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:157,1
    - Dst: std::vector<std::string>::at
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:157,1
    - Dst: MP4RA
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:160,1
    - Dst: MP4RA
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:161,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:162,1
    - Dst: std::vector<std::string>::size
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:163,1
    - Dst: std::stoi
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:164,1
    - Dst: std::vector<std::string>::at
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:164,1
    - Dst: MSFCC
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:166,1
    - Dst: MSFCC
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:167,1
    - Dst: MSFCC
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:168,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:169,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:169,1
    - Dst: MSFCC
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:171,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:172,1
    - Dst: MP4RA
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:175,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:177,1
    - Dst: FormatNamespace::ParseMPEG4Elements
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:178,1
    - Dst: MP4RA
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:180,1
    - Dst: MP4RA
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:181,1
    - Dst: MP4RA
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:182,1
    - Dst: MP4RA
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:183,1
    - Dst: MP4RA
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:184,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:185,1
    - Dst: vlc_fourcc_GetCodec
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:185,1
    - Dst: MSFCC
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:187,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:188,1
    - Dst: MSFCC
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:191,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:192,1
    - Dst: MP4RA
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:195,1
    - Dst: MSFCC
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:196,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:197,1
    - Dst: MP4RA
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:199,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp:200,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 96
    argCount: 2
    argNames:
    - fcc
    - elements
    argTypes:
    - vlc_fourcc_t
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 218
    functionName: FormatNamespace::Parse
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/FormatNamespace.cpp
    functionUses: 1
    functionsReached:
    - VLC_FOURCC
    - FormatNamespace::ParseMPEG4Elements
    - std::vector<std::string>::size
    - MSFCC
    - vlc_fourcc_GetCodec
    - std::stoi
    - std::vector<std::string>::at
    - std::string::substr
    - MP4RA
    - es_format_Change
    linkageType: ''
    returnType: void
    signature: void FormatNamespace::Parse(vlc_fourcc_t fcc, const std::vector<std::string>
      &elements)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::string::length
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:36,1
    - Dst: std::string::length
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:38,1
    - Dst: std::string::at
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:41,1
    - Dst: std::string::size
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:41,1
    - Dst: std::string::at
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:42,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:45,1
    - Dst: std::string::size
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:45,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - path1
    - path2
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 51
    functionName: Helper::combinePaths
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/Helper.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::at
    - std::string::substr
    - std::string::length
    linkageType: ''
    returnType: std::string
    signature: std::string Helper::combinePaths        (const std::string &path1,
      const std::string &path2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_last_of
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:54,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: Helper::getDirectoryPath
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/Helper.cpp
    functionUses: 0
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string Helper::getDirectoryPath    (const std::string &path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_first_of
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:62,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:64,1
    - Dst: std::string::find_last_of
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:67,1
    - Dst: std::string::length
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:68,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:69,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - uri
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: Helper::getFileExtension
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/Helper.cpp
    functionUses: 0
    functionsReached:
    - std::string::length
    - std::string::substr
    - std::string::find_first_of
    - std::string
    - std::string::find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string Helper::getFileExtension (const std::string &uri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:75,1
    - Dst: std::string::size
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:75,1
    - Dst: transform
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:78,1
    - Dst: std::string::begin
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:78,1
    - Dst: std::string::end
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:78,1
    - Dst: std::string::begin
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:78,1
    - Dst: transform
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:79,1
    - Dst: std::string::begin
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:79,1
    - Dst: std::string::end
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:79,1
    - Dst: std::string::begin
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - str1
    - str2
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: Helper::icaseEquals
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/Helper.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::begin
    - transform
    - std::string::end
    linkageType: ''
    returnType: bool
    signature: bool Helper::icaseEquals(std::string str1, std::string str2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::search
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:85,1
    - Dst: cbegin
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:86,1
    - Dst: cend
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:86,1
    - Dst: cbegin
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:87,1
    - Dst: cend
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:87,1
    - Dst: toupper
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:89,1
    - Dst: toupper
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:89,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' haystack'
    - ' needle'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: Helper::ifind
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/Helper.cpp
    functionUses: 0
    functionsReached:
    - toupper
    - end
    - cend
    - cbegin
    - std::search
    linkageType: ''
    returnType: bool
    signature: bool Helper::ifind(const std::string & haystack, const std::string
      & needle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_first_of
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:98,1
    - Dst: std::list::push_back
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:101,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:101,1
    - Dst: std::string::find_first_of
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:103,1
    - Dst: std::list::push_back
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:106,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - str
    - c
    argTypes:
    - std::string
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 108
    functionName: Helper::tokenize
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/Helper.cpp
    functionUses: 1
    functionsReached:
    - std::string::find_first_of
    - std::string::substr
    - std::list::push_back
    linkageType: ''
    returnType: std::list<std::string>
    signature: std::list<std::string> Helper::tokenize(const std::string &str, char
      c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_last_not_of
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:112,1
    - Dst: std::string::erase
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:114,1
    - Dst: std::string::clear
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - l
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: '& Helper::rtrim(std::string &s, const std::string &l)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/Helper.cpp
    functionUses: 0
    functionsReached:
    - std::string::clear
    - std::string::find_last_not_of
    - std::string::erase
    linkageType: ''
    returnType: std::string
    signature: std::string & Helper::rtrim(std::string &s, const std::string &l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_first_not_of
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:122,1
    - Dst: std::string::erase
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:124,1
    - Dst: std::string::clear
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - l
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: '& Helper::ltrim(std::string &s, const std::string &l)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/Helper.cpp
    functionUses: 0
    functionsReached:
    - std::string::clear
    - std::string::find_first_not_of
    - std::string::erase
    linkageType: ''
    returnType: std::string
    signature: std::string & Helper::ltrim(std::string &s, const std::string &l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ltrim
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:132,1
    - Dst: rtrim
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - l
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: '& Helper::trim(std::string &s, const std::string &l)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/Helper.cpp
    functionUses: 0
    functionsReached:
    - rtrim
    - ltrim
    linkageType: ''
    returnType: std::string
    signature: std::string & Helper::trim(std::string &s, const std::string &l)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::istringstream::get
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:141,1
    - Dst: std::istringstream::get
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:145,1
    - Dst: std::ostringstream::str
      Src: /src/vlc/modules/demux/adaptive/tools/Helper.cpp:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 153
    functionName: Helper::unescape
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/Helper.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - std::istringstream::get
    linkageType: ''
    returnType: std::string
    signature: std::string Helper::unescape(const std::string &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: AdvDebug
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/Debug.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AdvDebug(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: BwDebug
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/Debug.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BwDebug(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: SeekDebug
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/Debug.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SeekDebug(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: CacheDebug
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/Debug.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CacheDebug(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - classname
    - ','
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 29
    functionName: PREREQ_COPYMOVEASSIGN
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/Macros.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PREREQ_COPYMOVEASSIGN(classname, op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - classname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: PREREQ_VIRTUAL
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/Macros.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PREREQ_VIRTUAL(classname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - classname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: PREREQ_INTERFACE
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/Macros.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PREREQ_INTERFACE(classname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: Ratio::Ratio
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/Properties.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ratio()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - d
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: Ratio::Ratio
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/Properties.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ratio(T n, T d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Ratio::isValid
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/Properties.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Ratio::num
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/Properties.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T num() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Ratio::den
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/Properties.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T den() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Ratio::width
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/Properties.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T width() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Ratio::height
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/Properties.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T height() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::istringstream::imbue
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.hpp:54,1
    - Dst: std::locale
      Src: /src/vlc/modules/demux/adaptive/tools/Conversions.hpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: Integer::Integer
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/Conversions.hpp
    functionUses: 0
    functionsReached:
    - std::locale
    - std::istringstream::imbue
    linkageType: ''
    returnType: void
    signature: void Integer(const std::string &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: operator T() const
    functionSourceFile: /src/vlc/modules/demux/adaptive/tools/Conversions.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator T() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: CommonEncryption::CommonEncryption
    functionSourceFile: /src/vlc/modules/demux/adaptive/encryption/CommonEncryption.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommonEncryption::CommonEncryption()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/encryption/CommonEncryption.cpp:49,1
    - Dst: CommonEncryption::uri::empty
      Src: /src/vlc/modules/demux/adaptive/encryption/CommonEncryption.cpp:49,1
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/encryption/CommonEncryption.cpp:51,1
    - Dst: CommonEncryption::iv::empty
      Src: /src/vlc/modules/demux/adaptive/encryption/CommonEncryption.cpp:51,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - other
    argTypes:
    - CommonEncryption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: CommonEncryption::mergeWith
    functionSourceFile: /src/vlc/modules/demux/adaptive/encryption/CommonEncryption.cpp
    functionUses: 0
    functionsReached:
    - CommonEncryption::uri::empty
    - empty
    - CommonEncryption::iv::empty
    linkageType: ''
    returnType: void
    signature: void CommonEncryption::mergeWith(const CommonEncryption &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: CommonEncryptionSession::CommonEncryptionSession
    functionSourceFile: /src/vlc/modules/demux/adaptive/encryption/CommonEncryption.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommonEncryptionSession::CommonEncryptionSession()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CommonEncryptionSession::close
      Src: /src/vlc/modules/demux/adaptive/encryption/CommonEncryption.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: CommonEncryptionSession::~CommonEncryptionSession()
    functionSourceFile: /src/vlc/modules/demux/adaptive/encryption/CommonEncryption.cpp
    functionUses: 0
    functionsReached:
    - CommonEncryptionSession::close
    linkageType: ''
    returnType: void
    signature: void CommonEncryptionSession::~CommonEncryptionSession()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CommonEncryptionSession::close
      Src: /src/vlc/modules/demux/adaptive/encryption/CommonEncryption.cpp:69,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/adaptive/encryption/CommonEncryption.cpp:73,1
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/encryption/CommonEncryption.cpp:77,1
    - Dst: uri::empty
      Src: /src/vlc/modules/demux/adaptive/encryption/CommonEncryption.cpp:79,1
    - Dst: SharedResources*::getKeyring
      Src: /src/vlc/modules/demux/adaptive/encryption/CommonEncryption.cpp:80,1
    - Dst: size
      Src: /src/vlc/modules/demux/adaptive/encryption/CommonEncryption.cpp:81,1
    - Dst: vlc_gcrypt_init
      Src: /src/vlc/modules/demux/adaptive/encryption/CommonEncryption.cpp:85,1
    - Dst: gcry_cipher_open
      Src: /src/vlc/modules/demux/adaptive/encryption/CommonEncryption.cpp:87,1
    - Dst: gcry_cipher_setkey
      Src: /src/vlc/modules/demux/adaptive/encryption/CommonEncryption.cpp:88,1
    - Dst: gcry_cipher_setiv
      Src: /src/vlc/modules/demux/adaptive/encryption/CommonEncryption.cpp:89,1
    - Dst: gcry_cipher_close
      Src: /src/vlc/modules/demux/adaptive/encryption/CommonEncryption.cpp:91,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - res
    - enc
    argTypes:
    - SharedResources*
    - CommonEncryption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 99
    functionName: CommonEncryptionSession::start
    functionSourceFile: /src/vlc/modules/demux/adaptive/encryption/CommonEncryption.cpp
    functionUses: 0
    functionsReached:
    - uri::empty
    - gcry_cipher_close
    - gcry_cipher_setkey
    - size
    - empty
    - CommonEncryptionSession::close
    - vlc_gcrypt_init
    - SharedResources*::getKeyring
    - gcry_cipher_setiv
    - gcry_cipher_open
    - VLC_UNUSED
    linkageType: ''
    returnType: bool
    signature: bool CommonEncryptionSession::start(SharedResources *res, const CommonEncryption
      &enc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<gcry_cipher_hd_t>
      Src: /src/vlc/modules/demux/adaptive/encryption/CommonEncryption.cpp:104,1
    - Dst: gcry_cipher_close
      Src: /src/vlc/modules/demux/adaptive/encryption/CommonEncryption.cpp:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: CommonEncryptionSession::close
    functionSourceFile: /src/vlc/modules/demux/adaptive/encryption/CommonEncryption.cpp
    functionUses: 2
    functionsReached:
    - reinterpret_cast<gcry_cipher_hd_t>
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: void CommonEncryptionSession::close()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/adaptive/encryption/CommonEncryption.cpp:114,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/adaptive/encryption/CommonEncryption.cpp:115,1
    - Dst: reinterpret_cast<gcry_cipher_hd_t>
      Src: /src/vlc/modules/demux/adaptive/encryption/CommonEncryption.cpp:117,1
    - Dst: gcry_cipher_decrypt
      Src: /src/vlc/modules/demux/adaptive/encryption/CommonEncryption.cpp:121,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/vlc/modules/demux/adaptive/encryption/CommonEncryption.cpp:129,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/vlc/modules/demux/adaptive/encryption/CommonEncryption.cpp:132,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 3
    argNames:
    - inputdata
    - inputbytes
    - last
    argTypes:
    - void*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 147
    functionName: CommonEncryptionSession::decrypt
    functionSourceFile: /src/vlc/modules/demux/adaptive/encryption/CommonEncryption.cpp
    functionUses: 0
    functionsReached:
    - gcry_cipher_decrypt
    - reinterpret_cast<gcry_cipher_hd_t>
    - reinterpret_cast<uint8_t *>
    - VLC_UNUSED
    linkageType: ''
    returnType: size_t
    signature: size_t CommonEncryptionSession::decrypt(void *inputdata, size_t inputbytes,
      bool last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/demux/adaptive/encryption/Keyring.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj_
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: Keyring::Keyring
    functionSourceFile: /src/vlc/modules/demux/adaptive/encryption/Keyring.cpp
    functionUses: 1
    functionsReached:
    - vlc_mutex_init
    linkageType: ''
    returnType: void
    signature: void Keyring::Keyring(vlc_object_t *obj_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: Keyring::~Keyring()
    functionSourceFile: /src/vlc/modules/demux/adaptive/encryption/Keyring.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Keyring::~Keyring()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/vlc/modules/demux/adaptive/encryption/Keyring.cpp:50,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/encryption/Keyring.cpp:51,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/encryption/Keyring.cpp:54,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/adaptive/encryption/Keyring.cpp:54,1
    - Dst: Retrieve::HTTP
      Src: /src/vlc/modules/demux/adaptive/encryption/Keyring.cpp:55,1
    - Dst: KeyringKey::resize
      Src: /src/vlc/modules/demux/adaptive/encryption/Keyring.cpp:60,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/adaptive/encryption/Keyring.cpp:61,1
    - Dst: insert
      Src: /src/vlc/modules/demux/adaptive/encryption/Keyring.cpp:62,1
    - Dst: std::pair<std::string, KeyringKey>
      Src: /src/vlc/modules/demux/adaptive/encryption/Keyring.cpp:62,1
    - Dst: push_front
      Src: /src/vlc/modules/demux/adaptive/encryption/Keyring.cpp:63,1
    - Dst: size
      Src: /src/vlc/modules/demux/adaptive/encryption/Keyring.cpp:64,1
    - Dst: erase
      Src: /src/vlc/modules/demux/adaptive/encryption/Keyring.cpp:66,1
    - Dst: find
      Src: /src/vlc/modules/demux/adaptive/encryption/Keyring.cpp:66,1
    - Dst: back
      Src: /src/vlc/modules/demux/adaptive/encryption/Keyring.cpp:66,1
    - Dst: pop_back
      Src: /src/vlc/modules/demux/adaptive/encryption/Keyring.cpp:67,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/adaptive/encryption/Keyring.cpp:70,1
    - Dst: find
      Src: /src/vlc/modules/demux/adaptive/encryption/Keyring.cpp:75,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/encryption/Keyring.cpp:75,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/encryption/Keyring.cpp:75,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/encryption/Keyring.cpp:76,1
    - Dst: erase
      Src: /src/vlc/modules/demux/adaptive/encryption/Keyring.cpp:78,1
    - Dst: push_front
      Src: /src/vlc/modules/demux/adaptive/encryption/Keyring.cpp:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - resources
    - uri
    argTypes:
    - SharedResources*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 45
    functionDepth: 4
    functionLinenumber: 45
    functionLinenumberEnd: 85
    functionName: Keyring::getKey
    functionSourceFile: /src/vlc/modules/demux/adaptive/encryption/Keyring.cpp
    functionUses: 0
    functionsReached:
    - erase
    - block_Release
    - back
    - size
    - begin
    - memcpy
    - insert
    - pop_back
    - push_front
    - std::string::c_str
    - Retrieve::HTTP
    - msg_Dbg
    - KeyringKey::resize
    - std::pair<std::string, KeyringKey>
    - end
    - find
    linkageType: ''
    returnType: KeyringKey
    signature: KeyringKey Keyring::getKey(SharedResources *resources, const std::string
      &uri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: AbstractBufferingLogic::AbstractBufferingLogic
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractBufferingLogic::AbstractBufferingLogic()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: AbstractBufferingLogic::setLowDelay
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractBufferingLogic::setLowDelay(bool b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: AbstractBufferingLogic::setUserMinBuffering
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractBufferingLogic::setUserMinBuffering(vlc_tick_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: AbstractBufferingLogic::setUserMaxBuffering
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractBufferingLogic::setUserMaxBuffering(vlc_tick_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: AbstractBufferingLogic::setUserLiveDelay
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractBufferingLogic::setUserLiveDelay(vlc_tick_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: DefaultBufferingLogic::DefaultBufferingLogic
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DefaultBufferingLogic::DefaultBufferingLogic()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BaseRepresentation*::getPlaylist
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:85,1
    - Dst: DefaultBufferingLogic::getLiveStartSegmentNumber
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:86,1
    - Dst: BaseRepresentation*::inheritSegmentProfile
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:88,1
    - Dst: AbstractSegmentBaseType*::getStartSegmentNumber
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:91,1
    - Dst: BaseRepresentation*::getPlaylist
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:92,1
    - Dst: AbstractSegmentBaseType*::getPlaybackTimeDurationBySegmentNumber
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:96,1
    - Dst: AbstractSegmentBaseType*::getSegmentNumberByTime
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - rep
    argTypes:
    - BaseRepresentation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 100
    functionName: DefaultBufferingLogic::getStartSegmentNumber
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp
    functionUses: 2
    functionsReached:
    - AbstractSegmentBaseType*::getStartSegmentNumber
    - BaseRepresentation*::inheritSegmentProfile
    - DefaultBufferingLogic::getLiveStartSegmentNumber
    - AbstractSegmentBaseType*::getSegmentNumberByTime
    - BaseRepresentation*::getPlaylist
    - AbstractSegmentBaseType*::getPlaybackTimeDurationBySegmentNumber
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t DefaultBufferingLogic::getStartSegmentNumber(BaseRepresentation
      *rep) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DefaultBufferingLogic::isLowLatency
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:104,1
    - Dst: BasePlaylist*::getMinBuffering
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:109,1
    - Dst: std::max
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:110,1
    - Dst: BasePlaylist*::getMinBuffering
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:110,1
    - Dst: std::max
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - BasePlaylist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: DefaultBufferingLogic::getMinBuffering
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp
    functionUses: 1
    functionsReached:
    - DefaultBufferingLogic::isLowLatency
    - std::max
    - BasePlaylist*::getMinBuffering
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t DefaultBufferingLogic::getMinBuffering(const BasePlaylist
      *p) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DefaultBufferingLogic::isLowLatency
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:116,1
    - Dst: DefaultBufferingLogic::getMinBuffering
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:117,1
    - Dst: BasePlaylist*::isLive
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:121,1
    - Dst: std::min
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:122,1
    - Dst: DefaultBufferingLogic::getLiveDelay
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:122,1
    - Dst: BasePlaylist*::getMaxBuffering
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:123,1
    - Dst: std::min
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:124,1
    - Dst: BasePlaylist*::getMaxBuffering
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:124,1
    - Dst: std::max
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:125,1
    - Dst: DefaultBufferingLogic::getMinBuffering
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - BasePlaylist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: DefaultBufferingLogic::getMaxBuffering
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp
    functionUses: 1
    functionsReached:
    - BasePlaylist*::isLive
    - BasePlaylist*::getMaxBuffering
    - DefaultBufferingLogic::isLowLatency
    - std::min
    - DefaultBufferingLogic::getLiveDelay
    - std::max
    - DefaultBufferingLogic::getMinBuffering
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t DefaultBufferingLogic::getMaxBuffering(const BasePlaylist
      *p) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DefaultBufferingLogic::isLowLatency
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:130,1
    - Dst: DefaultBufferingLogic::getMinBuffering
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:131,1
    - Dst: std::min
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:139,1
    - Dst: std::max
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:140,1
    - Dst: DefaultBufferingLogic::getMinBuffering
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - BasePlaylist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 141
    functionName: DefaultBufferingLogic::getLiveDelay
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp
    functionUses: 2
    functionsReached:
    - DefaultBufferingLogic::isLowLatency
    - std::max
    - std::min
    - DefaultBufferingLogic::getMinBuffering
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t DefaultBufferingLogic::getLiveDelay(const BasePlaylist *p)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DefaultBufferingLogic::getMinBuffering
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:145,1
    - Dst: DefaultBufferingLogic::isLowLatency
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:146,1
    - Dst: BasePlaylist*::isLive
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:148,1
    - Dst: std::max
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:149,1
    - Dst: DefaultBufferingLogic::getLiveDelay
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:149,1
    - Dst: DefaultBufferingLogic::getMaxBuffering
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:150,1
    - Dst: std::min
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:151,1
    - Dst: DefaultBufferingLogic::getMinBuffering
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - BasePlaylist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: DefaultBufferingLogic::getStableBuffering
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp
    functionUses: 1
    functionsReached:
    - BasePlaylist*::isLive
    - DefaultBufferingLogic::isLowLatency
    - DefaultBufferingLogic::getMaxBuffering
    - std::min
    - DefaultBufferingLogic::getLiveDelay
    - std::max
    - DefaultBufferingLogic::getMinBuffering
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t DefaultBufferingLogic::getStableBuffering(const BasePlaylist
      *p) const
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: BaseRepresentation*::getPlaylist
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:156,1
    - Dst: DefaultBufferingLogic::getBufferingOffset
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:159,1
    - Dst: BaseRepresentation*::inheritSegmentList
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:161,1
    - Dst: BaseRepresentation*::inheritSegmentBase
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:162,1
    - Dst: BaseRepresentation*::inheritSegmentTemplate
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:163,1
    - Dst: SegmentTemplate*::inheritSegmentTimeline
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:167,1
    - Dst: SegmentList*::inheritSegmentTimeline
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:169,1
    - Dst: SegmentTimeline*::inheritTimescale
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:176,1
    - Dst: SegmentTimeline*::minElementNumber
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:178,1
    - Dst: SegmentTimeline*::maxElementNumber
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:179,1
    - Dst: SegmentTimeline*::getScaledPlaybackTimeDurationBySegmentNumber
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:187,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:189,1
    - Dst: SegmentTimeline*::getScaledPlaybackTimeDurationBySegmentNumber
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:199,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:201,1
    - Dst: SegmentTimeline*::getScaledPlaybackTimeDurationBySegmentNumber
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:207,1
    - Dst: SegmentTimeline*::maxElementNumber
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:207,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:209,1
    - Dst: Timescale::ToScaled
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:212,1
    - Dst: SegmentTimeline*::getElementNumberByScaledPlaybackTime
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:216,1
    - Dst: assert
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:219,1
    - Dst: Timescale::ToScaled
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:222,1
    - Dst: Timescale::ToScaled
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:223,1
    - Dst: SegmentTimeline*::getElementNumberByScaledPlaybackTime
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:227,1
    - Dst: assert
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:228,1
    - Dst: SegmentTimeline*::minElementNumber
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:228,1
    - Dst: assert
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:229,1
    - Dst: assert
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:230,1
    - Dst: SegmentTimeline*::maxElementNumber
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:230,1
    - Dst: assert
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:231,1
    - Dst: SegmentTemplate*::inheritDuration
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:239,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:243,1
    - Dst: time
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:243,1
    - Dst: BaseRepresentation*::getPeriodStart
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:245,1
    - Dst: SegmentTemplate*::inheritStartNumber
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:246,1
    - Dst: SegmentTemplate*::inheritTimescale
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:247,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:250,1
    - Dst: SegmentTemplate*::getLiveTemplateNumber
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:267,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:268,1
    - Dst: assert
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:270,1
    - Dst: std::min
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:275,1
    - Dst: SegmentList*::getSegments
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:285,1
    - Dst: SegmentList*::inheritTimescale
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:287,1
    - Dst: SegmentList*::getSegments
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:288,1
    - Dst: std::vector::back
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:289,1
    - Dst: std::vector::begin
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:293,1
    - Dst: std::vector::end
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:293,1
    - Dst: std::min
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:300,1
    - Dst: Timescale::ToScaled
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:301,1
    - Dst: std::vector::front
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:305,1
    - Dst: std::vector::begin
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:309,1
    - Dst: std::vector::end
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:309,1
    - Dst: getSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:311,1
    - Dst: ISegment*::getSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:318,1
    - Dst: std::min
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:319,1
    - Dst: std::vector::size
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:319,1
    - Dst: std::vector::begin
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:332,1
    - Dst: std::vector::end
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:332,1
    - Dst: getSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:334,1
    - Dst: getSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:336,1
    - Dst: std::min
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:342,1
    - Dst: Timescale::ToScaled
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:342,1
    - Dst: std::vector::begin
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:345,1
    - Dst: std::vector::end
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:345,1
    - Dst: getSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:347,1
    - Dst: SegmentBase*::subSegments
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:357,1
    - Dst: std::vector::empty
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:358,1
    - Dst: SegmentBase*::getSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:359,1
    - Dst: BaseRepresentation*::inheritTimescale
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:361,1
    - Dst: Timescale::isValid
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:362,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:363,1
    - Dst: std::vector::back
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:364,1
    - Dst: Timescale::ToScaled
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:366,1
    - Dst: AbstractSegmentBaseType::findSegmentNumberByScaledTime
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:368,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:369,1
    - Dst: std::vector::front
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:370,1
    - Dst: SegmentBase*::getSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:372,1
    - Dst: SegmentBase*::getSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:375,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:380,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 116
    argCount: 1
    argNames:
    - rep
    argTypes:
    - BaseRepresentation*
    assertStmts:
    - condition: (start <= safeMaxElementNumber)
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp
    - condition: (start >= safeMinElementNumber)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp
    - condition: (start >= timeline->minElementNumber())
      pos:
        line_end: 227
        line_start: 227
        source_file: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp
    - condition: (safestarttime<=safeedgetime)
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp
    - condition: (startnumber > start)
      pos:
        line_end: 269
        line_start: 269
        source_file: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp
    - condition: (start <= timeline->maxElementNumber())
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp
    constantsTouched: []
    func_position:
      end: 381
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 381
    functionName: DefaultBufferingLogic::getLiveStartSegmentNumber
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp
    functionUses: 1
    functionsReached:
    - SegmentBase*::subSegments
    - AbstractSegmentBaseType::findSegmentNumberByScaledTime
    - assert
    - SegmentTimeline*::minElementNumber
    - SegmentBase*::getSequenceNumber
    - SegmentTemplate*::getLiveTemplateNumber
    - SegmentList*::getSegments
    - Timescale::isValid
    - BaseRepresentation*::inheritSegmentBase
    - packetizer_getcc_cea608_max
    - SegmentTemplate*::inheritStartNumber
    - BaseRepresentation*::inheritSegmentList
    - getSequenceNumber
    - SegmentTimeline*::maxElementNumber
    - BaseRepresentation*::getPlaylist
    - SegmentList*::inheritSegmentTimeline
    - SegmentList*::inheritTimescale
    - DefaultBufferingLogic::getBufferingOffset
    - SegmentTimeline*::inheritTimescale
    - SegmentTemplate*::inheritTimescale
    - Timescale::ToScaled
    - BaseRepresentation*::inheritSegmentTemplate
    - BaseRepresentation*::getPeriodStart
    - std::vector::front
    - time
    - std::vector::size
    - SegmentTimeline*::getElementNumberByScaledPlaybackTime
    - std::vector::empty
    - BaseRepresentation*::inheritTimescale
    - SegmentTimeline*::getScaledPlaybackTimeDurationBySegmentNumber
    - std::vector::back
    - std::vector::end
    - SegmentTemplate*::inheritDuration
    - vlc_tick_from_sec
    - SegmentTemplate*::inheritSegmentTimeline
    - std::min
    - ISegment*::getSequenceNumber
    - Timescale::ToTime
    - unlikely
    - std::vector::begin
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t DefaultBufferingLogic::getLiveStartSegmentNumber(BaseRepresentation
      *rep) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BasePlaylist*::isLive
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:385,1
    - Dst: DefaultBufferingLogic::getLiveDelay
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:385,1
    - Dst: DefaultBufferingLogic::getMaxBuffering
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - BasePlaylist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 383
    functionDepth: 3
    functionLinenumber: 383
    functionLinenumberEnd: 386
    functionName: DefaultBufferingLogic::getBufferingOffset
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp
    functionUses: 1
    functionsReached:
    - BasePlaylist*::isLive
    - DefaultBufferingLogic::getMaxBuffering
    - DefaultBufferingLogic::getLiveDelay
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t DefaultBufferingLogic::getBufferingOffset(const BasePlaylist
      *p) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value_or
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:390,1
    - Dst: BasePlaylist*::isLowLatency
      Src: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - BasePlaylist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 391
    functionName: DefaultBufferingLogic::isLowLatency
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.cpp
    functionUses: 4
    functionsReached:
    - BasePlaylist*::isLowLatency
    - value_or
    linkageType: ''
    returnType: bool
    signature: bool DefaultBufferingLogic::isLowLatency(const BasePlaylist *p) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~AlwaysBestAdaptationLogic()
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/AlwaysBestAdaptationLogic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AlwaysBestAdaptationLogic()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~AlwaysBestAdaptationLogic()
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/AlwaysBestAdaptationLogic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AlwaysBestAdaptationLogic()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~AlwaysBestAdaptationLogic()
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/AlwaysBestAdaptationLogic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AlwaysBestAdaptationLogic()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~AlwaysBestAdaptationLogic()
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/AlwaysBestAdaptationLogic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AlwaysBestAdaptationLogic()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - maxwidth
    - maxheight
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: RepresentationSelector::RepresentationSelector
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepresentationSelector::RepresentationSelector(int maxwidth, int
      maxheight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: RepresentationSelector::~RepresentationSelector()
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepresentationSelector::~RepresentationSelector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BaseAdaptationSet*::getRepresentations
      Src: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp:45,1
    - Dst: std::vector::empty
      Src: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp:46,1
    - Dst: std::vector::begin
      Src: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - adaptSet
    argTypes:
    - BaseAdaptationSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: RepresentationSelector::lowest
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp
    functionUses: 0
    functionsReached:
    - BaseAdaptationSet*::getRepresentations
    - std::vector::empty
    - std::vector::begin
    linkageType: ''
    returnType: BaseRepresentation
    signature: BaseRepresentation * RepresentationSelector::lowest(BaseAdaptationSet
      *adaptSet) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BaseAdaptationSet*::getRepresentations
      Src: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp:51,1
    - Dst: std::vector::crbegin
      Src: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp:53,1
    - Dst: std::vector::crend
      Src: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp:53,1
    - Dst: getWidth
      Src: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp:55,1
    - Dst: getHeight
      Src: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp:55,1
    - Dst: RepresentationSelector::lowest
      Src: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - adaptSet
    argTypes:
    - BaseAdaptationSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: RepresentationSelector::highest
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp
    functionUses: 0
    functionsReached:
    - RepresentationSelector::lowest
    - getHeight
    - std::vector::crbegin
    - BaseAdaptationSet*::getRepresentations
    - std::vector::crend
    - getWidth
    linkageType: ''
    returnType: BaseRepresentation
    signature: BaseRepresentation * RepresentationSelector::highest(BaseAdaptationSet
      *adaptSet) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BaseAdaptationSet*::getRepresentations
      Src: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp:63,1
    - Dst: std::upper_bound
      Src: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp:64,1
    - Dst: std::vector::cbegin
      Src: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp:64,1
    - Dst: std::vector::cend
      Src: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp:64,1
    - Dst: std::vector::end
      Src: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp:65,1
    - Dst: BaseRepresentation*::getWidth
      Src: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp:66,1
    - Dst: BaseRepresentation*::getHeight
      Src: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - adaptSet
    - rep
    argTypes:
    - BaseAdaptationSet*
    - BaseRepresentation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: RepresentationSelector::higher
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp
    functionUses: 0
    functionsReached:
    - std::vector::cbegin
    - std::vector::end
    - BaseRepresentation*::getWidth
    - BaseRepresentation*::getHeight
    - BaseAdaptationSet*::getRepresentations
    - std::upper_bound
    - std::vector::cend
    linkageType: ''
    returnType: BaseRepresentation
    signature: BaseRepresentation * RepresentationSelector::higher(BaseAdaptationSet
      *adaptSet, BaseRepresentation *rep) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BaseAdaptationSet*::getRepresentations
      Src: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp:73,1
    - Dst: std::lower_bound
      Src: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp:74,1
    - Dst: std::vector::cbegin
      Src: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp:74,1
    - Dst: std::vector::cend
      Src: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp:74,1
    - Dst: std::vector::cbegin
      Src: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - adaptSet
    - rep
    argTypes:
    - BaseAdaptationSet*
    - BaseRepresentation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: RepresentationSelector::lower
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp
    functionUses: 0
    functionsReached:
    - BaseAdaptationSet*::getRepresentations
    - std::lower_bound
    - std::vector::cbegin
    - std::vector::cend
    linkageType: ''
    returnType: BaseRepresentation
    signature: BaseRepresentation * RepresentationSelector::lower(BaseAdaptationSet
      *adaptSet, BaseRepresentation *rep) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepresentationSelector::select
      Src: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp:80,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - adaptSet
    argTypes:
    - BaseAdaptationSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: RepresentationSelector::select
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp
    functionUses: 1
    functionsReached:
    - RepresentationSelector::select
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: BaseRepresentation
    signature: BaseRepresentation * RepresentationSelector::select(BaseAdaptationSet
      *adaptSet) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BaseAdaptationSet*::getRepresentations
      Src: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp:87,1
    - Dst: RepresentationSelector::select
      Src: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - adaptSet
    - bitrate
    argTypes:
    - BaseAdaptationSet*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: RepresentationSelector::select
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp
    functionUses: 2
    functionsReached:
    - BaseAdaptationSet*::getRepresentations
    - RepresentationSelector::select
    linkageType: ''
    returnType: BaseRepresentation
    signature: BaseRepresentation * RepresentationSelector::select(BaseAdaptationSet
      *adaptSet, uint64_t bitrate) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp:96,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp:96,1
    - Dst: getBandwidth
      Src: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp:98,1
    - Dst: getBandwidth
      Src: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp:98,1
    - Dst: getWidth
      Src: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp:101,1
    - Dst: getHeight
      Src: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp:101,1
    - Dst: getBandwidth
      Src: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp:104,1
    - Dst: getBandwidth
      Src: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp:105,1
    - Dst: getBandwidth
      Src: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp:108,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - ' reps'
    - minbitrate
    - maxbitrate
    argTypes:
    - std::vector<BaseRepresentation *>
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 116
    functionName: RepresentationSelector::select
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/Representationselectors.cpp
    functionUses: 2
    functionsReached:
    - getHeight
    - begin
    - getBandwidth
    - getWidth
    - end
    linkageType: ''
    returnType: BaseRepresentation
    signature: "BaseRepresentation * RepresentationSelector::select(const std::vector<BaseRepresentation
      *>& reps,\n                                                uint64_t minbitrate,
      uint64_t maxbitrate) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ~AlwaysLowestAdaptationLogic()
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/AlwaysLowestAdaptationLogic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AlwaysLowestAdaptationLogic()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ~AlwaysLowestAdaptationLogic()
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/AlwaysLowestAdaptationLogic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AlwaysLowestAdaptationLogic()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ~AlwaysLowestAdaptationLogic()
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/AlwaysLowestAdaptationLogic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AlwaysLowestAdaptationLogic()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ~AlwaysLowestAdaptationLogic()
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/AlwaysLowestAdaptationLogic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AlwaysLowestAdaptationLogic()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: AlwaysBestAdaptationLogic::AlwaysBestAdaptationLogic
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/AlwaysBestAdaptationLogic.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AlwaysBestAdaptationLogic::AlwaysBestAdaptationLogic    (vlc_object_t
      *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepresentationSelector::highest
      Src: /src/vlc/modules/demux/adaptive/logic/AlwaysBestAdaptationLogic.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - adaptSet
    argTypes:
    - BaseAdaptationSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: AlwaysBestAdaptationLogic::getNextRepresentation
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/AlwaysBestAdaptationLogic.cpp
    functionUses: 0
    functionsReached:
    - RepresentationSelector::highest
    linkageType: ''
    returnType: BaseRepresentation
    signature: BaseRepresentation *AlwaysBestAdaptationLogic::getNextRepresentation(BaseAdaptationSet
      *adaptSet, BaseRepresentation *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: NearOptimalContext::NearOptimalContext
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NearOptimalContext::NearOptimalContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: NearOptimalAdaptationLogic::NearOptimalAdaptationLogic
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp
    functionUses: 1
    functionsReached:
    - vlc_mutex_init
    linkageType: ''
    returnType: void
    signature: void NearOptimalAdaptationLogic::NearOptimalAdaptationLogic(vlc_object_t
      *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: NearOptimalAdaptationLogic::~NearOptimalAdaptationLogic()
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NearOptimalAdaptationLogic::~NearOptimalAdaptationLogic()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RepresentationSelector::lowest
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:72,1
    - Dst: RepresentationSelector::higher
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:73,1
    - Dst: NearOptimalAdaptationLogic::getUtility
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:75,1
    - Dst: BaseRepresentation*::getBandwidth
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 5
    argNames:
    - adaptSet
    - selector
    - gammaP
    - VD
    - Q
    argTypes:
    - BaseAdaptationSet*
    - RepresentationSelector
    - float
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 84
    functionName: NearOptimalAdaptationLogic::getNextQualityIndex
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp
    functionUses: 0
    functionsReached:
    - RepresentationSelector::higher
    - NearOptimalAdaptationLogic::getUtility
    - RepresentationSelector::lowest
    - BaseRepresentation*::getBandwidth
    linkageType: ''
    returnType: BaseRepresentation
    signature: "BaseRepresentation *\nNearOptimalAdaptationLogic::getNextQualityIndex(
      BaseAdaptationSet *adaptSet, RepresentationSelector &selector,\n                                                 float
      gammaP, float VD, float Q )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: RepresentationSelector::lowest
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:90,1
    - Dst: RepresentationSelector::highest
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:91,1
    - Dst: NearOptimalAdaptationLogic::getUtility
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:98,1
    - Dst: NearOptimalAdaptationLogic::getUtility
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:99,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:101,1
    - Dst: find
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:103,1
    - Dst: BaseAdaptationSet*::getID
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:103,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:104,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:106,1
    - Dst: RepresentationSelector::lowest
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:107,1
    - Dst: NearOptimalAdaptationLogic::getAvailableBw
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:111,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:113,1
    - Dst: secf_from_vlc_tick
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:116,1
    - Dst: RepresentationSelector::select
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:121,1
    - Dst: RepresentationSelector::higher
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:125,1
    - Dst: BaseRepresentation*::getCodecs
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:126,1
    - Dst: BaseRepresentation*::getCodecs
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:126,1
    - Dst: NearOptimalAdaptationLogic::getNextQualityIndex
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:133,1
    - Dst: secf_from_vlc_tick
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:134,1
    - Dst: BaseRepresentation*::getBandwidth
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:135,1
    - Dst: BaseRepresentation*::getBandwidth
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:135,1
    - Dst: RepresentationSelector::select
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:137,1
    - Dst: BaseRepresentation*::getBandwidth
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:138,1
    - Dst: BaseRepresentation*::getBandwidth
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:138,1
    - Dst: BaseRepresentation*::getBandwidth
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:142,1
    - Dst: BaseRepresentation*::getBandwidth
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:142,1
    - Dst: RepresentationSelector::lower
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:148,1
    - Dst: BwDebug
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:154,1
    - Dst: msg_Info
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:154,1
    - Dst: BaseRepresentation*::getBandwidth
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:155,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - adaptSet
    - prevRep
    argTypes:
    - BaseAdaptationSet*
    - BaseRepresentation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 86
    functionDepth: 4
    functionLinenumber: 86
    functionLinenumberEnd: 158
    functionName: NearOptimalAdaptationLogic::getNextRepresentation
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp
    functionUses: 0
    functionsReached:
    - RepresentationSelector::lower
    - RepresentationSelector::lowest
    - BaseAdaptationSet*::getID
    - vlc_mutex_lock
    - vlc_mutex_unlock
    - NearOptimalAdaptationLogic::getUtility
    - BaseRepresentation*::getCodecs
    - secf_from_vlc_tick
    - msg_Info
    - NearOptimalAdaptationLogic::getNextQualityIndex
    - NearOptimalAdaptationLogic::getAvailableBw
    - RepresentationSelector::highest
    - RepresentationSelector::higher
    - BwDebug
    - end
    - BaseRepresentation*::getBandwidth
    - RepresentationSelector::select
    - find
    linkageType: ''
    returnType: BaseRepresentation
    signature: BaseRepresentation *NearOptimalAdaptationLogic::getNextRepresentation(BaseAdaptationSet
      *adaptSet, BaseRepresentation *prevRep)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:163,1
    - Dst: BaseRepresentation*::getBandwidth
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:163,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:164,1
    - Dst: std::log
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:166,1
    - Dst: BaseRepresentation*::getBandwidth
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:166,1
    - Dst: insert
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:167,1
    - Dst: std::pair<uint64_t, float>
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:167,1
    - Dst: BaseRepresentation*::getBandwidth
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rep
    argTypes:
    - BaseRepresentation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: NearOptimalAdaptationLogic::getUtility
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp
    functionUses: 2
    functionsReached:
    - std::pair<uint64_t, float>
    - std::log
    - insert
    - end
    - BaseRepresentation*::getBandwidth
    - find
    linkageType: ''
    returnType: float
    signature: float NearOptimalAdaptationLogic::getUtility(const BaseRepresentation
      *rep)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BaseRepresentation*::getBandwidth
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - i_bw
    - curRep
    argTypes:
    - unsigned
    - BaseRepresentation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: NearOptimalAdaptationLogic::getAvailableBw
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp
    functionUses: 1
    functionsReached:
    - BaseRepresentation*::getBandwidth
    linkageType: ''
    returnType: unsigned
    signature: unsigned NearOptimalAdaptationLogic::getAvailableBw(unsigned i_bw,
      const BaseRepresentation *curRep) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:188,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:189,1
    - Dst: std::max
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 192
    functionName: NearOptimalAdaptationLogic::getMaxCurrentBw
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    - std::max
    linkageType: ''
    returnType: unsigned
    signature: unsigned NearOptimalAdaptationLogic::getMaxCurrentBw() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:198,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:199,1
    - Dst: NearOptimalContext::average::push
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:202,1
    - Dst: NearOptimalAdaptationLogic::getMaxCurrentBw
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - id
    - dlsize
    - time
    argTypes:
    - ID
    - size_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 205
    functionName: NearOptimalAdaptationLogic::updateDownloadRate
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp
    functionUses: 0
    functionsReached:
    - end
    - NearOptimalContext::average::push
    - NearOptimalAdaptationLogic::getMaxCurrentBw
    - find
    linkageType: ''
    returnType: void
    signature: "void NearOptimalAdaptationLogic::updateDownloadRate(const ID &id,
      size_t dlsize,\n                                                    vlc_tick_t
      time, vlc_tick_t)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TrackerEvent::getType
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:209,1
    - Dst: static_cast<const RepresentationSwitchEvent &>
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:214,1
    - Dst: RepresentationSwitchEvent::prev::getBandwidth
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:217,1
    - Dst: RepresentationSwitchEvent::next::getBandwidth
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:219,1
    - Dst: BwDebug
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:220,1
    - Dst: msg_Info
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:220,1
    - Dst: static_cast<const BufferingStateUpdatedEvent &>
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:227,1
    - Dst: find
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:232,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:232,1
    - Dst: NearOptimalContext::NearOptimalContext
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:234,1
    - Dst: insert
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:235,1
    - Dst: std::pair<ID, NearOptimalContext>
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:235,1
    - Dst: find
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:240,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:241,1
    - Dst: erase
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:242,1
    - Dst: BwDebug
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:244,1
    - Dst: msg_Info
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:244,1
    - Dst: ID::str
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:244,1
    - Dst: static_cast<const BufferingLevelChangedEvent &>
      Src: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp:252,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - ev
    argTypes:
    - TrackerEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 264
    functionName: NearOptimalAdaptationLogic::trackerEvent
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp
    functionUses: 0
    functionsReached:
    - std::pair<ID, NearOptimalContext>
    - erase
    - TrackerEvent::getType
    - end
    - NearOptimalContext::NearOptimalContext
    - insert
    - ID::str
    - static_cast<const RepresentationSwitchEvent &>
    - msg_Info
    - RepresentationSwitchEvent::prev::getBandwidth
    - static_cast<const BufferingLevelChangedEvent &>
    - RepresentationSwitchEvent::next::getBandwidth
    - BwDebug
    - static_cast<const BufferingStateUpdatedEvent &>
    - find
    linkageType: ''
    returnType: void
    signature: void NearOptimalAdaptationLogic::trackerEvent(const TrackerEvent &ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: ~RateBasedAdaptationLogic   ()
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/RateBasedAdaptationLogic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RateBasedAdaptationLogic   ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: ~RateBasedAdaptationLogic   ()
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/RateBasedAdaptationLogic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RateBasedAdaptationLogic   ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: ~RateBasedAdaptationLogic   ()
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/RateBasedAdaptationLogic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RateBasedAdaptationLogic   ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: ~RateBasedAdaptationLogic   ()
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/RateBasedAdaptationLogic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RateBasedAdaptationLogic   ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/logic/AbstractAdaptationLogic.cpp:37,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/logic/AbstractAdaptationLogic.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 3
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: AbstractAdaptationLogic::AbstractAdaptationLogic
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/AbstractAdaptationLogic.cpp
    functionUses: 0
    functionsReached:
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: void
    signature: void AbstractAdaptationLogic::AbstractAdaptationLogic    (vlc_object_t
      *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: AbstractAdaptationLogic::updateDownloadRate
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/AbstractAdaptationLogic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void AbstractAdaptationLogic::updateDownloadRate    (const adaptive::ID
      &, size_t,\n                                                     vlc_tick_t,
      vlc_tick_t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/logic/AbstractAdaptationLogic.cpp:48,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/logic/AbstractAdaptationLogic.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - w
    - h
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: AbstractAdaptationLogic::setMaxDeviceResolution
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/AbstractAdaptationLogic.cpp
    functionUses: 0
    functionsReached:
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: void
    signature: void AbstractAdaptationLogic::setMaxDeviceResolution (int w, int h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: RoundRobinLogic::RoundRobinLogic
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/RoundRobinLogic.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RoundRobinLogic::RoundRobinLogic    (vlc_object_t *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BaseAdaptationSet*::getRepresentations
      Src: /src/vlc/modules/demux/adaptive/logic/RoundRobinLogic.cpp:25,1
    - Dst: BaseAdaptationSet*::getRepresentations
      Src: /src/vlc/modules/demux/adaptive/logic/RoundRobinLogic.cpp:29,1
    - Dst: BaseAdaptationSet*::getRepresentations
      Src: /src/vlc/modules/demux/adaptive/logic/RoundRobinLogic.cpp:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - adaptSet
    argTypes:
    - BaseAdaptationSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 32
    functionName: RoundRobinLogic::getNextRepresentation
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/RoundRobinLogic.cpp
    functionUses: 0
    functionsReached:
    - BaseAdaptationSet*::getRepresentations
    linkageType: ''
    returnType: BaseRepresentation
    signature: "BaseRepresentation *RoundRobinLogic::getNextRepresentation(BaseAdaptationSet
      *adaptSet,\n                                                           BaseRepresentation
      *)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: RateBasedAdaptationLogic::RateBasedAdaptationLogic
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp
    functionUses: 1
    functionsReached:
    - vlc_mutex_init
    linkageType: ''
    returnType: void
    signature: void RateBasedAdaptationLogic::RateBasedAdaptationLogic  (vlc_object_t
      *obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp:54,1
    - Dst: BaseRepresentation*::getBandwidth
      Src: /src/vlc/modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp:55,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp:56,1
    - Dst: RepresentationSelector::select
      Src: /src/vlc/modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp:63,1
    - Dst: RepresentationSelector::select
      Src: /src/vlc/modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - adaptSet
    - currep
    argTypes:
    - BaseAdaptationSet*
    - BaseRepresentation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 49
    functionDepth: 4
    functionLinenumber: 49
    functionLinenumberEnd: 72
    functionName: RateBasedAdaptationLogic::getNextRepresentation
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp
    functionUses: 0
    functionsReached:
    - RepresentationSelector::select
    - BaseRepresentation*::getBandwidth
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: BaseRepresentation
    signature: BaseRepresentation *RateBasedAdaptationLogic::getNextRepresentation(BaseAdaptationSet
      *adaptSet, BaseRepresentation *currep)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp:77,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp:83,1
    - Dst: push
      Src: /src/vlc/modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp:89,1
    - Dst: BwDebug
      Src: /src/vlc/modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp:93,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp:93,1
    - Dst: BwDebug
      Src: /src/vlc/modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp:99,1
    - Dst: msg_Info
      Src: /src/vlc/modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - size
    - time
    argTypes:
    - size_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 101
    functionName: RateBasedAdaptationLogic::updateDownloadRate
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp
    functionUses: 0
    functionsReached:
    - push
    - VLC_TICK_FROM_MS
    - msg_Info
    - msg_Dbg
    - BwDebug
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void RateBasedAdaptationLogic::updateDownloadRate(const ID &, size_t
      size,\n                                                  vlc_tick_t time, vlc_tick_t)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TrackerEvent::getType
      Src: /src/vlc/modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp:105,1
    - Dst: static_cast<const RepresentationSwitchEvent &>
      Src: /src/vlc/modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp:108,1
    - Dst: RepresentationSwitchEvent::prev::getBandwidth
      Src: /src/vlc/modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp:111,1
    - Dst: RepresentationSwitchEvent::next::getBandwidth
      Src: /src/vlc/modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp:113,1
    - Dst: BwDebug
      Src: /src/vlc/modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp:115,1
    - Dst: msg_Info
      Src: /src/vlc/modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ev
    argTypes:
    - TrackerEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 118
    functionName: RateBasedAdaptationLogic::trackerEvent
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp
    functionUses: 0
    functionsReached:
    - TrackerEvent::getType
    - static_cast<const RepresentationSwitchEvent &>
    - msg_Info
    - RepresentationSwitchEvent::prev::getBandwidth
    - RepresentationSwitchEvent::next::getBandwidth
    - BwDebug
    linkageType: ''
    returnType: void
    signature: void RateBasedAdaptationLogic::trackerEvent(const TrackerEvent &ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - obj
    - bps
    argTypes:
    - vlc_object_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: FixedRateAdaptationLogic::FixedRateAdaptationLogic
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FixedRateAdaptationLogic::FixedRateAdaptationLogic(vlc_object_t
      *obj, size_t bps)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RepresentationSelector::select
      Src: /src/vlc/modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp:132,1
    - Dst: RepresentationSelector::select
      Src: /src/vlc/modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - adaptSet
    argTypes:
    - BaseAdaptationSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 126
    functionDepth: 4
    functionLinenumber: 126
    functionLinenumberEnd: 140
    functionName: FixedRateAdaptationLogic::getNextRepresentation
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp
    functionUses: 0
    functionsReached:
    - RepresentationSelector::select
    linkageType: ''
    returnType: BaseRepresentation
    signature: BaseRepresentation *FixedRateAdaptationLogic::getNextRepresentation(BaseAdaptationSet
      *adaptSet, BaseRepresentation *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: ~RoundRobinLogic()
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/RoundRobinLogic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RoundRobinLogic()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: ~RoundRobinLogic()
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/RoundRobinLogic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RoundRobinLogic()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: ~RoundRobinLogic()
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/RoundRobinLogic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RoundRobinLogic()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: ~RoundRobinLogic()
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/RoundRobinLogic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RoundRobinLogic()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: PredictiveStats::PredictiveStats
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PredictiveStats::PredictiveStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: PredictiveAdaptationLogic::~PredictiveAdaptationLogic()
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PredictiveAdaptationLogic::~PredictiveAdaptationLogic()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: PredictiveStats::starting
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PredictiveStats::starting() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: PredictiveAdaptationLogic::PredictiveAdaptationLogic
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp
    functionUses: 1
    functionsReached:
    - vlc_mutex_init
    linkageType: ''
    returnType: void
    signature: void PredictiveAdaptationLogic::PredictiveAdaptationLogic(vlc_object_t
      *obj)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:75,1
    - Dst: BaseAdaptationSet*::getID
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:75,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:76,1
    - Dst: RepresentationSelector::highest
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:78,1
    - Dst: size
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:87,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:89,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:90,1
    - Dst: std::min
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:96,1
    - Dst: std::max
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:98,1
    - Dst: PredictiveStats::starting
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:102,1
    - Dst: RepresentationSelector::highest
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:104,1
    - Dst: PredictiveAdaptationLogic::getAvailableBw
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:108,1
    - Dst: RepresentationSelector::select
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:111,1
    - Dst: RepresentationSelector::select
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:115,1
    - Dst: std::max
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:115,1
    - Dst: BaseRepresentation*::getBandwidth
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:116,1
    - Dst: RepresentationSelector::lower
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:126,1
    - Dst: RepresentationSelector::select
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:130,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:135,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:135,1
    - Dst: msg_Info
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:138,1
    - Dst: first::str
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:139,1
    - Dst: BwDebug
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:142,1
    - Dst: if
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:142,1
    - Dst: msg_Info
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:143,1
    - Dst: BaseAdaptationSet*::getID
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:144,1
    - Dst: BaseRepresentation*::getBandwidth
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:144,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 2
    argNames:
    - adaptSet
    - prevRep
    argTypes:
    - BaseAdaptationSet*
    - BaseRepresentation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 68
    functionDepth: 4
    functionLinenumber: 68
    functionLinenumberEnd: 150
    functionName: PredictiveAdaptationLogic::getNextRepresentation
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp
    functionUses: 0
    functionsReached:
    - RepresentationSelector::lower
    - first::str
    - BaseAdaptationSet*::getID
    - if
    - PredictiveStats::starting
    - size
    - begin
    - std::min
    - RepresentationSelector::select
    - std::max
    - msg_Info
    - RepresentationSelector::highest
    - BwDebug
    - end
    - BaseRepresentation*::getBandwidth
    - PredictiveAdaptationLogic::getAvailableBw
    - find
    linkageType: ''
    returnType: BaseRepresentation
    signature: BaseRepresentation *PredictiveAdaptationLogic::getNextRepresentation(BaseAdaptationSet
      *adaptSet, BaseRepresentation *prevRep)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:156,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:157,1
    - Dst: PredictiveStats::average::push
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - id
    - dlsize
    - time
    argTypes:
    - ID
    - size_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: PredictiveAdaptationLogic::updateDownloadRate
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp
    functionUses: 0
    functionsReached:
    - PredictiveStats::average::push
    - end
    - find
    linkageType: ''
    returnType: void
    signature: "void PredictiveAdaptationLogic::updateDownloadRate(const ID &id, size_t
      dlsize,\n                                                   vlc_tick_t time,
      vlc_tick_t)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BaseRepresentation*::getBandwidth
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - i_bw
    - curRep
    argTypes:
    - unsigned
    - BaseRepresentation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 174
    functionName: PredictiveAdaptationLogic::getAvailableBw
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp
    functionUses: 1
    functionsReached:
    - BaseRepresentation*::getBandwidth
    linkageType: ''
    returnType: unsigned
    signature: unsigned PredictiveAdaptationLogic::getAvailableBw(unsigned i_bw, const
      BaseRepresentation *curRep) const
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TrackerEvent::getType
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:178,1
    - Dst: static_cast<const RepresentationSwitchEvent &>
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:183,1
    - Dst: RepresentationSwitchEvent::prev::getBandwidth
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:186,1
    - Dst: RepresentationSwitchEvent::next::getBandwidth
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:188,1
    - Dst: BwDebug
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:190,1
    - Dst: msg_Info
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:190,1
    - Dst: static_cast<const BufferingStateUpdatedEvent &>
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:197,1
    - Dst: find
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:202,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:202,1
    - Dst: PredictiveStats::PredictiveStats
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:204,1
    - Dst: insert
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:205,1
    - Dst: std::pair<ID, PredictiveStats>
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:205,1
    - Dst: find
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:210,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:211,1
    - Dst: erase
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:212,1
    - Dst: BwDebug
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:214,1
    - Dst: msg_Info
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:214,1
    - Dst: ID::str
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:214,1
    - Dst: static_cast<const BufferingLevelChangedEvent &>
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:222,1
    - Dst: static_cast<const SegmentChangedEvent &>
      Src: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp:234,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 1
    argNames:
    - ev
    argTypes:
    - TrackerEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 245
    functionName: PredictiveAdaptationLogic::trackerEvent
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp
    functionUses: 0
    functionsReached:
    - erase
    - TrackerEvent::getType
    - end
    - static_cast<const SegmentChangedEvent &>
    - insert
    - ID::str
    - static_cast<const RepresentationSwitchEvent &>
    - std::pair<ID, PredictiveStats>
    - msg_Info
    - RepresentationSwitchEvent::prev::getBandwidth
    - PredictiveStats::PredictiveStats
    - static_cast<const BufferingLevelChangedEvent &>
    - RepresentationSwitchEvent::next::getBandwidth
    - BwDebug
    - static_cast<const BufferingStateUpdatedEvent &>
    - find
    linkageType: ''
    returnType: void
    signature: void PredictiveAdaptationLogic::trackerEvent(const TrackerEvent &ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~AbstractBufferingLogic()
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AbstractBufferingLogic()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: ~DefaultBufferingLogic()
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DefaultBufferingLogic()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~AbstractBufferingLogic()
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AbstractBufferingLogic()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: ~DefaultBufferingLogic()
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DefaultBufferingLogic()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~AbstractBufferingLogic()
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AbstractBufferingLogic()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: ~DefaultBufferingLogic()
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DefaultBufferingLogic()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~AbstractBufferingLogic()
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AbstractBufferingLogic()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: ~DefaultBufferingLogic()
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/BufferingLogic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DefaultBufferingLogic()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: adaptive::logic::AbstractAdaptationLogic::AbstractAdaptationLogic
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/AbstractAdaptationLogic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractAdaptationLogic             ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: ~AbstractAdaptationLogic    ()
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/AbstractAdaptationLogic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AbstractAdaptationLogic    ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: adaptive::logic::AbstractAdaptationLogic::trackerEvent
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/AbstractAdaptationLogic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void trackerEvent           (const TrackerEvent &) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: adaptive::logic::AbstractAdaptationLogic::AbstractAdaptationLogic
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/AbstractAdaptationLogic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractAdaptationLogic             ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: ~AbstractAdaptationLogic    ()
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/AbstractAdaptationLogic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AbstractAdaptationLogic    ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: adaptive::logic::AbstractAdaptationLogic::trackerEvent
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/AbstractAdaptationLogic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void trackerEvent           (const TrackerEvent &) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: adaptive::logic::AbstractAdaptationLogic::AbstractAdaptationLogic
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/AbstractAdaptationLogic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractAdaptationLogic             ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: ~AbstractAdaptationLogic    ()
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/AbstractAdaptationLogic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AbstractAdaptationLogic    ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: adaptive::logic::AbstractAdaptationLogic::trackerEvent
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/AbstractAdaptationLogic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void trackerEvent           (const TrackerEvent &) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: adaptive::logic::AbstractAdaptationLogic::AbstractAdaptationLogic
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/AbstractAdaptationLogic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractAdaptationLogic             ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: ~AbstractAdaptationLogic    ()
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/AbstractAdaptationLogic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AbstractAdaptationLogic    ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: adaptive::logic::AbstractAdaptationLogic::trackerEvent
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/AbstractAdaptationLogic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void trackerEvent           (const TrackerEvent &) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: AlwaysLowestAdaptationLogic::AlwaysLowestAdaptationLogic
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/AlwaysLowestAdaptationLogic.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AlwaysLowestAdaptationLogic::AlwaysLowestAdaptationLogic(vlc_object_t
      *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepresentationSelector::lowest
      Src: /src/vlc/modules/demux/adaptive/logic/AlwaysLowestAdaptationLogic.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - adaptSet
    argTypes:
    - BaseAdaptationSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: AlwaysLowestAdaptationLogic::getNextRepresentation
    functionSourceFile: /src/vlc/modules/demux/adaptive/logic/AlwaysLowestAdaptationLogic.cpp
    functionUses: 0
    functionsReached:
    - RepresentationSelector::lowest
    linkageType: ''
    returnType: BaseRepresentation
    signature: BaseRepresentation *AlwaysLowestAdaptationLogic::getNextRepresentation(BaseAdaptationSet
      *adaptSet, BaseRepresentation *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: adaptive::playlist::Initializable::Initializable
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Templates.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Initializable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: ~Initializable()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Templates.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Initializable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: adaptive::playlist::Indexable::Indexable
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Templates.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Indexable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: ~Indexable()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Templates.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Indexable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: adaptive::playlist::Initializable::Initializable
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Templates.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Initializable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: ~Initializable()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Templates.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Initializable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: adaptive::playlist::Indexable::Indexable
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Templates.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Indexable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: ~Indexable()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Templates.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Indexable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: adaptive::playlist::Initializable::Initializable
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Templates.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Initializable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: ~Initializable()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Templates.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Initializable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: adaptive::playlist::Indexable::Indexable
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Templates.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Indexable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: ~Indexable()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Templates.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Indexable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: adaptive::playlist::Initializable::Initializable
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Templates.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Initializable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: ~Initializable()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Templates.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Initializable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: adaptive::playlist::Indexable::Indexable
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Templates.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Indexable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: ~Indexable()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Templates.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Indexable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - parent_
    - b_relative
    argTypes:
    - SegmentInformation*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: SegmentList::SegmentList
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SegmentList::SegmentList( SegmentInformation *parent_, bool b_relative
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:48,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: SegmentList::~SegmentList()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    linkageType: ''
    returnType: void
    signature: void SegmentList::~SegmentList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: '& SegmentList::getSegments() const'
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Segment*>
    signature: std::vector<Segment*> & SegmentList::getSegments() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: inheritSegmentTimeline
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:59,1
    - Dst: SegmentTimeline*::getElementIndexBySequence
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:62,1
    - Dst: size
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:63,1
    - Dst: at
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:65,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:68,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:69,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:69,1
    - Dst: Segment*::getSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:72,1
    - Dst: Segment*::getSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:76,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - number
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 82
    functionName: SegmentList::getMediaSegment
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp
    functionUses: 0
    functionsReached:
    - size
    - begin
    - Segment*::getSequenceNumber
    - at
    - inheritSegmentTimeline
    - SegmentTimeline*::getElementIndexBySequence
    - end
    linkageType: ''
    returnType: Segment
    signature: Segment * SegmentList::getMediaSegment(uint64_t number) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Segment*::setParent
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:86,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - seg
    argTypes:
    - Segment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: SegmentList::addSegment
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp
    functionUses: 0
    functionsReached:
    - Segment*::setParent
    - push_back
    linkageType: ''
    returnType: void
    signature: void SegmentList::addSegment(Segment *seg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: inheritDuration
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:94,1
    - Dst: AbstractMultipleSegmentBaseType::updateWith
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:96,1
    - Dst: dynamic_cast<SegmentList *>
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:98,1
    - Dst: SegmentList*::segments::empty
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:99,1
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:104,1
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:106,1
    - Dst: SegmentList::pruneBySegmentNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:107,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:107,1
    - Dst: assert
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:108,1
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:108,1
    - Dst: SegmentList::addSegment
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:110,1
    - Dst: SegmentList*::segments::clear
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:111,1
    - Dst: back
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:115,1
    - Dst: SegmentList*::segments::front
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:116,1
    - Dst: SegmentList*::pruneBySegmentNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:119,1
    - Dst: Segment*::getSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:119,1
    - Dst: SegmentList*::segments::empty
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:121,1
    - Dst: SegmentList*::segments::begin
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:125,1
    - Dst: SegmentList*::segments::end
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:125,1
    - Dst: Segment*::getSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:130,1
    - Dst: Segment*::getSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:130,1
    - Dst: assert
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:132,1
    - Dst: Segment*::getSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:132,1
    - Dst: Segment*::getSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:132,1
    - Dst: assert
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:133,1
    - Dst: Segment*::getSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:134,1
    - Dst: Segment*::getSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:134,1
    - Dst: SegmentList::addSegment
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:138,1
    - Dst: SegmentList*::segments::clear
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:140,1
    - Dst: SegmentList::pruneBySegmentNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:143,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - updated_
    - b_restamp
    argTypes:
    - AbstractMultipleSegmentBaseType*
    - bool
    assertStmts:
    - condition: (prevSegment->getSequenceNumber() < cur->getSequenceNumber())
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp
    - condition: (duration)
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp
    - condition: (segments.empty())
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp
    constantsTouched: []
    func_position:
      end: 145
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 145
    functionName: SegmentList::updateWith
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp
    functionUses: 0
    functionsReached:
    - inheritDuration
    - AbstractMultipleSegmentBaseType::updateWith
    - assert
    - packetizer_getcc_cea608_max
    - SegmentList::addSegment
    - back
    - SegmentList*::segments::front
    - Segment*::getSequenceNumber
    - SegmentList*::segments::begin
    - SegmentList*::segments::empty
    - empty
    - SegmentList*::pruneBySegmentNumber
    - SegmentList*::segments::end
    - dynamic_cast<SegmentList *>
    - SegmentList*::segments::clear
    - SegmentList::pruneBySegmentNumber
    linkageType: ''
    returnType: void
    signature: "void SegmentList::updateWith(AbstractMultipleSegmentBaseType *updated_,\n
      \                            bool b_restamp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inheritTimescale
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:149,1
    - Dst: findSegmentNumberByScaledTime
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:150,1
    - Dst: Timescale::ToScaled
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:150,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:151,1
    - Dst: SegmentList::pruneBySegmentNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - time
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: SegmentList::pruneByPlaybackTime
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp
    functionUses: 0
    functionsReached:
    - packetizer_getcc_cea608_max
    - Timescale::ToScaled
    - findSegmentNumberByScaledTime
    - inheritTimescale
    - SegmentList::pruneBySegmentNumber
    linkageType: ''
    returnType: void
    signature: void SegmentList::pruneByPlaybackTime(vlc_tick_t time)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:157,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:158,1
    - Dst: Segment*::getSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:162,1
    - Dst: erase
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - tobelownum
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 169
    functionName: SegmentList::pruneBySegmentNumber
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp
    functionUses: 2
    functionsReached:
    - erase
    - end
    - begin
    - Segment*::getSequenceNumber
    linkageType: ''
    returnType: void
    signature: void SegmentList::pruneBySegmentNumber(uint64_t tobelownum)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:174,1
    - Dst: inheritSegmentTimeline
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:180,1
    - Dst: SegmentTimeline*::inheritTimescale
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:183,1
    - Dst: SegmentTimeline*::getScaledPlaybackTimeDurationBySegmentNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:184,1
    - Dst: inheritTimescale
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:191,1
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:193,1
    - Dst: front
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:196,1
    - Dst: ISegment*::getSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:197,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:203,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:204,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:204,1
    - Dst: inheritDuration
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:211,1
    - Dst: Segment*::getSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:214,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:227,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:228,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - number
    - time
    - dur
    argTypes:
    - uint64_t
    - vlc_tick_t*
    - vlc_tick_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 230
    functionName: SegmentList::getPlaybackTimeDurationBySegmentNumber
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp
    functionUses: 0
    functionsReached:
    - SegmentTimeline*::getScaledPlaybackTimeDurationBySegmentNumber
    - inheritDuration
    - front
    - SegmentTimeline*::inheritTimescale
    - begin
    - Segment*::getSequenceNumber
    - inheritSegmentTimeline
    - empty
    - ISegment*::getSequenceNumber
    - inheritTimescale
    - Timescale::ToTime
    - end
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: bool
    signature: "bool SegmentList::getPlaybackTimeDurationBySegmentNumber(uint64_t
      number,\n                                                         vlc_tick_t
      *time, vlc_tick_t *dur) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inheritSegmentTimeline
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:234,1
    - Dst: SegmentTimeline*::getTotalLength
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 238
    functionName: SegmentList::getTotalLength
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp
    functionUses: 0
    functionsReached:
    - SegmentTimeline*::getTotalLength
    - inheritSegmentTimeline
    linkageType: ''
    returnType: stime_t
    signature: stime_t SegmentList::getTotalLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: SegmentList::hasRelativeMediaTimes
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SegmentList::hasRelativeMediaTimes() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inheritSegmentTimeline
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:247,1
    - Dst: SegmentTimeline*::inheritTimescale
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:250,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:251,1
    - Dst: SegmentTimeline*::getMinAheadScaledTime
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:251,1
    - Dst: inheritTimescale
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:255,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:257,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:257,1
    - Dst: Segment*::getSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:260,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - curnum
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 264
    functionName: SegmentList::getMinAheadTime
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp
    functionUses: 0
    functionsReached:
    - SegmentTimeline*::inheritTimescale
    - begin
    - SegmentTimeline*::getMinAheadScaledTime
    - Segment*::getSequenceNumber
    - inheritSegmentTimeline
    - inheritTimescale
    - Timescale::ToTime
    - end
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t SegmentList::getMinAheadTime(uint64_t curnum) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: inheritSegmentTimeline
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:272,1
    - Dst: SegmentTimeline*::getElementIndexBySequence
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:275,1
    - Dst: size
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:276,1
    - Dst: at
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:278,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:282,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:282,1
    - Dst: Segment*::getSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:285,1
    - Dst: Segment*::getSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - i_pos
    - pi_newpos
    - pb_gap
    argTypes:
    - uint64_t
    - uint64_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 293
    functionName: SegmentList::getNextMediaSegment
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp
    functionUses: 0
    functionsReached:
    - size
    - begin
    - Segment*::getSequenceNumber
    - at
    - inheritSegmentTimeline
    - SegmentTimeline*::getElementIndexBySequence
    - end
    linkageType: ''
    returnType: Segment
    signature: "Segment *  SegmentList::getNextMediaSegment(uint64_t i_pos,uint64_t
      *pi_newpos,\n                                            bool *pb_gap) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inheritSegmentTimeline
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:297,1
    - Dst: SegmentTimeline*::minElementNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:299,1
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:300,1
    - Dst: front
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:300,1
    - Dst: inheritStartNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 301
    functionName: SegmentList::getStartSegmentNumber
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp
    functionUses: 0
    functionsReached:
    - inheritStartNumber
    - SegmentTimeline*::minElementNumber
    - empty
    - inheritSegmentTimeline
    - front
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SegmentList::getStartSegmentNumber() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inheritSegmentTimeline
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:305,1
    - Dst: SegmentTimeline*::inheritTimescale
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:308,1
    - Dst: Timescale::ToScaled
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:309,1
    - Dst: SegmentTimeline*::getElementNumberByScaledPlaybackTime
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:310,1
    - Dst: inheritTimescale
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:314,1
    - Dst: Timescale::isValid
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:315,1
    - Dst: Timescale::ToScaled
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:317,1
    - Dst: AbstractSegmentBaseType::findSegmentNumberByScaledTime
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:318,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - time
    - ret
    argTypes:
    - vlc_tick_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 303
    functionDepth: 3
    functionLinenumber: 303
    functionLinenumberEnd: 320
    functionName: SegmentList::getSegmentNumberByTime
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp
    functionUses: 0
    functionsReached:
    - AbstractSegmentBaseType::findSegmentNumberByScaledTime
    - SegmentTimeline*::inheritTimescale
    - Timescale::ToScaled
    - Timescale::isValid
    - inheritSegmentTimeline
    - inheritTimescale
    - SegmentTimeline*::getElementNumberByScaledPlaybackTime
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: bool
    signature: bool SegmentList::getSegmentNumberByTime(vlc_tick_t time, uint64_t
      *ret) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AbstractSegmentBaseType::debug
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:324,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:326,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:326,1
    - Dst: SegmentList::debug
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:327,1
    - Dst: getAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:328,1
    - Dst: static_cast<const SegmentTimeline *>
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - obj
    - indent
    argTypes:
    - vlc_object_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 331
    functionName: SegmentList::debug
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentList.cpp
    functionUses: 1
    functionsReached:
    - static_cast<const SegmentTimeline *>
    - SegmentList::debug
    - AbstractSegmentBaseType::debug
    - begin
    - end
    - getAttribute
    linkageType: ''
    returnType: void
    signature: void SegmentList::debug(vlc_object_t *obj, int indent) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - period
    argTypes:
    - BasePeriod*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: BaseAdaptationSet::BaseAdaptationSet
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BaseAdaptationSet::BaseAdaptationSet(BasePeriod *period)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_delete_all
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp:52,1
    - Dst: clear
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: BaseAdaptationSet::~BaseAdaptationSet   ()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp
    functionUses: 0
    functionsReached:
    - vlc_delete_all
    - clear
    linkageType: ''
    returnType: void
    signature: void BaseAdaptationSet::~BaseAdaptationSet   ()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp:58,1
    - Dst: front
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp:59,1
    - Dst: StreamFormat
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: BaseAdaptationSet::getStreamFormat
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp
    functionUses: 0
    functionsReached:
    - StreamFormat
    - empty
    - front
    linkageType: ''
    returnType: StreamFormat
    signature: StreamFormat BaseAdaptationSet::getStreamFormat() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: '& BaseAdaptationSet::getRepresentations() const'
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<BaseRepresentation*>
    signature: std::vector<BaseRepresentation*> & BaseAdaptationSet::getRepresentations()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cbegin
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp:71,1
    - Dst: cend
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp:71,1
    - Dst: getID
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - ID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: BaseAdaptationSet::getRepresentationByID
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp
    functionUses: 0
    functionsReached:
    - getID
    - cend
    - cbegin
    linkageType: ''
    returnType: BaseRepresentation
    signature: BaseRepresentation * BaseAdaptationSet::getRepresentationByID(const
      ID &id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp:81,1
    - Dst: std::upper_bound
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp:81,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp:81,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp:82,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rep
    argTypes:
    - BaseRepresentation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: BaseAdaptationSet::addRepresentation
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - begin
    - std::upper_bound
    - insert
    - end
    linkageType: ''
    returnType: void
    signature: void BaseAdaptationSet::addRepresentation(BaseRepresentation *rep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: '& BaseAdaptationSet::getLang() const'
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & BaseAdaptationSet::getLang() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_first_of
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp:96,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp:98,1
    - Dst: std::string::size
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - lang_
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: BaseAdaptationSet::setLang
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - std::string::find_first_of
    - std::string::substr
    linkageType: ''
    returnType: void
    signature: void BaseAdaptationSet::setLang( const std::string &lang_ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: BaseAdaptationSet::setSegmentAligned
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BaseAdaptationSet::setSegmentAligned(bool b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: BaseAdaptationSet::setBitswitchAble
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BaseAdaptationSet::setBitswitchAble(bool b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value_or
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: BaseAdaptationSet::isSegmentAligned
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp
    functionUses: 0
    functionsReached:
    - value_or
    linkageType: ''
    returnType: bool
    signature: bool BaseAdaptationSet::isSegmentAligned() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp:120,1
    - Dst: BaseAdaptationSet::isSegmentAligned
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: BaseAdaptationSet::isBitSwitchable
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp
    functionUses: 0
    functionsReached:
    - BaseAdaptationSet::isSegmentAligned
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool BaseAdaptationSet::isBitSwitchable() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Role
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: BaseAdaptationSet::setRole
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BaseAdaptationSet::setRole(const Role &r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: '& BaseAdaptationSet::getRole() const'
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Role
    signature: Role & BaseAdaptationSet::getRole() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp:136,1
    - Dst: std::string::append
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp:137,1
    - Dst: str
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp:137,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp:138,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp:138,1
    - Dst: getProfile
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp:139,1
    - Dst: AbstractSegmentBaseType*::debug
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp:141,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp:143,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp:143,1
    - Dst: BaseAdaptationSet::debug
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - obj
    - indent
    argTypes:
    - vlc_object_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 145
    functionName: BaseAdaptationSet::debug
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseAdaptationSet.cpp
    functionUses: 1
    functionsReached:
    - begin
    - BaseAdaptationSet::debug
    - str
    - std::string::c_str
    - msg_Dbg
    - std::string::append
    - getProfile
    - end
    - AbstractSegmentBaseType*::debug
    linkageType: ''
    returnType: void
    signature: void BaseAdaptationSet::debug(vlc_object_t *obj, int indent) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: Role::Role
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Role.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Role::Role(Value r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Role
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: Role::operator <(const Role &other) const
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Role.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Role::operator <(const Role &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Role
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: Role::operator ==(const Role &other) const
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Role.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Role::operator ==(const Role &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: Role::isDefault
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Role.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Role::isDefault() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: Role::autoSelectable
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Role.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Role::autoSelectable() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - playlist_
    argTypes:
    - BasePlaylist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: BasePeriod::BasePeriod
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BasePeriod.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BasePeriod::BasePeriod(BasePlaylist *playlist_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_delete_all
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePeriod.cpp:51,1
    - Dst: clear
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePeriod.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: BasePeriod::~BasePeriod ()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BasePeriod.cpp
    functionUses: 0
    functionsReached:
    - vlc_delete_all
    - clear
    linkageType: ''
    returnType: void
    signature: void BasePeriod::~BasePeriod ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: BasePeriod::getPlaylist
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BasePeriod.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BasePlaylist
    signature: BasePlaylist *BasePeriod::getPlaylist() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: '&  BasePeriod::getAdaptationSets() const'
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BasePeriod.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<BaseAdaptationSet*>
    signature: std::vector<BaseAdaptationSet*> &  BasePeriod::getAdaptationSets()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePeriod.cpp:67,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePeriod.cpp:67,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePeriod.cpp:67,1
    - Dst: BaseAdaptationSet*::getRole
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePeriod.cpp:69,1
    - Dst: getRole
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePeriod.cpp:69,1
    - Dst: insert
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePeriod.cpp:70,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePeriod.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - adaptationSet
    argTypes:
    - BaseAdaptationSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: BasePeriod::addAdaptationSet
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BasePeriod.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - begin
    - insert
    - std::find_if
    - getRole
    - end
    - BaseAdaptationSet*::getRole
    linkageType: ''
    returnType: void
    signature: void BasePeriod::addAdaptationSet(BaseAdaptationSet *adaptationSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cbegin
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePeriod.cpp:76,1
    - Dst: cend
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePeriod.cpp:76,1
    - Dst: getID
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePeriod.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - adaptive::ID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: BasePeriod::getAdaptationSetByID
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BasePeriod.cpp
    functionUses: 0
    functionsReached:
    - getID
    - cend
    - cbegin
    linkageType: ''
    returnType: BaseAdaptationSet
    signature: BaseAdaptationSet *BasePeriod::getAdaptationSetByID(const adaptive::ID
      &id) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePeriod.cpp:87,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePeriod.cpp:88,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePeriod.cpp:88,1
    - Dst: getProfile
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePeriod.cpp:89,1
    - Dst: AbstractSegmentBaseType*::debug
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePeriod.cpp:91,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePeriod.cpp:93,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePeriod.cpp:93,1
    - Dst: BasePeriod::debug
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePeriod.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - obj
    - indent
    argTypes:
    - vlc_object_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 95
    functionName: BasePeriod::debug
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BasePeriod.cpp
    functionUses: 1
    functionsReached:
    - begin
    - std::string::c_str
    - BasePeriod::debug
    - msg_Dbg
    - std::string::append
    - getProfile
    - end
    - AbstractSegmentBaseType*::debug
    linkageType: ''
    returnType: void
    signature: void BasePeriod::debug(vlc_object_t *obj, int indent) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: BasePeriod::getPeriodStart
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BasePeriod.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t BasePeriod::getPeriodStart() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: BasePeriod::getPeriodDuration
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BasePeriod.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t BasePeriod::getPeriodDuration() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - source
    - rep_
    argTypes:
    - AbstractChunkSource*
    - BaseRepresentation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: SegmentChunk::SegmentChunk
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentChunk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SegmentChunk::SegmentChunk(AbstractChunkSource *source, BaseRepresentation
      *rep_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: SegmentChunk::~SegmentChunk()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentChunk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SegmentChunk::~SegmentChunk()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hasMoreData
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentChunk.cpp:57,1
    - Dst: SegmentChunk::decrypt
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentChunk.cpp:58,1
    - Dst: close
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentChunk.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pp_block
    argTypes:
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 65
    functionName: SegmentChunk::decrypt
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentChunk.cpp
    functionUses: 1
    functionsReached:
    - hasMoreData
    - SegmentChunk::decrypt
    - close
    linkageType: ''
    returnType: bool
    signature: bool SegmentChunk::decrypt(block_t **pp_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SegmentChunk::decrypt
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentChunk.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pp_block
    argTypes:
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: SegmentChunk::onDownload
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentChunk.cpp
    functionUses: 0
    functionsReached:
    - SegmentChunk::decrypt
    linkageType: ''
    returnType: void
    signature: void SegmentChunk::onDownload(block_t **pp_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StreamFormat
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentChunk.cpp:74,1
    - Dst: SegmentChunk::getStreamFormat
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentChunk.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: SegmentChunk::getStreamFormat
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentChunk.cpp
    functionUses: 1
    functionsReached:
    - StreamFormat
    - SegmentChunk::getStreamFormat
    linkageType: ''
    returnType: StreamFormat
    signature: StreamFormat SegmentChunk::getStreamFormat() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - StreamFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: SegmentChunk::setStreamFormat
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentChunk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SegmentChunk::setStreamFormat(const StreamFormat &f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - CommonEncryptionSession*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: SegmentChunk::setEncryptionSession
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentChunk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SegmentChunk::setEncryptionSession(CommonEncryptionSession *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - set
    argTypes:
    - BaseAdaptationSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: BaseRepresentation::BaseRepresentation
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BaseRepresentation::BaseRepresentation( BaseAdaptationSet *set
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: BaseRepresentation::~BaseRepresentation ()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BaseRepresentation::~BaseRepresentation ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StreamFormat
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: BaseRepresentation::getStreamFormat
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp
    functionUses: 0
    functionsReached:
    - StreamFormat
    linkageType: ''
    returnType: StreamFormat
    signature: StreamFormat BaseRepresentation::getStreamFormat() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: BaseRepresentation::getAdaptationSet
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BaseAdaptationSet
    signature: BaseAdaptationSet * BaseRepresentation::getAdaptationSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: BaseRepresentation::getBandwidth
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t BaseRepresentation::getBandwidth            () const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bandwidth
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: BaseRepresentation::setBandwidth
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BaseRepresentation::setBandwidth( uint64_t bandwidth )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '& BaseRepresentation::getCodecs() const'
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::list<std::string>
    signature: std::list<std::string> & BaseRepresentation::getCodecs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Helper::tokenize
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:84,1
    - Dst: std::list::begin
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:86,1
    - Dst: std::list::end
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:86,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: BaseRepresentation::addCodecs
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp
    functionUses: 0
    functionsReached:
    - std::list::end
    - std::list::begin
    - Helper::tokenize
    - push_back
    linkageType: ''
    returnType: void
    signature: void BaseRepresentation::addCodecs(const std::string &s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getCodecs
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:92,1
    - Dst: std::list::empty
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:93,1
    - Dst: BaseRepresentation::getStreamFormat
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:95,1
    - Dst: std::list::push_front
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:99,1
    - Dst: std::list::push_front
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:102,1
    - Dst: std::list::cbegin
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:109,1
    - Dst: std::list::cend
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:109,1
    - Dst: BaseRepresentation::makeCodecDescription
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:111,1
    - Dst: CodecDescription*::setDescription
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:112,1
    - Dst: CodecDescription*::setLanguage
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:113,1
    - Dst: getLang
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:113,1
    - Dst: getWidth
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:114,1
    - Dst: getHeight
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:114,1
    - Dst: CodecDescription*::setDimensions
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:115,1
    - Dst: getWidth
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:115,1
    - Dst: getHeight
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:115,1
    - Dst: CodecDescriptionList*::push_back
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:116,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - desc
    argTypes:
    - CodecDescriptionList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 118
    functionName: BaseRepresentation::getCodecsDesc
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp
    functionUses: 0
    functionsReached:
    - getLang
    - std::list::cbegin
    - BaseRepresentation::makeCodecDescription
    - std::list::empty
    - std::list::cend
    - getHeight
    - getCodecs
    - std::list::push_front
    - CodecDescriptionList*::push_back
    - CodecDescription*::setLanguage
    - getWidth
    - CodecDescription*::setDimensions
    - BaseRepresentation::getStreamFormat
    - CodecDescription*::setDescription
    linkageType: ''
    returnType: void
    signature: void BaseRepresentation::getCodecsDesc(CodecDescriptionList *desc)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CodecDescription::CodecDescription
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - codec
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: BaseRepresentation::makeCodecDescription
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp
    functionUses: 1
    functionsReached:
    - CodecDescription::CodecDescription
    linkageType: ''
    returnType: CodecDescription
    signature: CodecDescription * BaseRepresentation::makeCodecDescription(const std::string
      &codec) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: BaseRepresentation::needsUpdate
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BaseRepresentation::needsUpdate(uint64_t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inheritSegmentBase
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:132,1
    - Dst: SegmentBase*::subSegments
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: BaseRepresentation::needsIndex
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp
    functionUses: 0
    functionsReached:
    - SegmentBase*::subSegments
    - inheritSegmentBase
    linkageType: ''
    returnType: bool
    signature: bool BaseRepresentation::needsIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: BaseRepresentation::runLocalUpdates
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BaseRepresentation::runLocalUpdates(SharedResources *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: BaseRepresentation::scheduleNextUpdate
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BaseRepresentation::scheduleNextUpdate(uint64_t, bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: BaseRepresentation::canNoLongerUpdate
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BaseRepresentation::canNoLongerUpdate() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BaseRepresentation::getSegmentNumberByTime
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:154,1
    - Dst: pruneBySegmentNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - time
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: BaseRepresentation::pruneByPlaybackTime
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp
    functionUses: 0
    functionsReached:
    - pruneBySegmentNumber
    - BaseRepresentation::getSegmentNumberByTime
    linkageType: ''
    returnType: void
    signature: void BaseRepresentation::pruneByPlaybackTime(vlc_tick_t time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inheritSegmentTemplate
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:160,1
    - Dst: inheritSegmentList
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:162,1
    - Dst: inheritSegmentBase
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:164,1
    - Dst: AbstractSegmentBaseType*::getMinAheadTime
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - curnum
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 167
    functionName: BaseRepresentation::getMinAheadTime
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp
    functionUses: 0
    functionsReached:
    - inheritSegmentBase
    - inheritSegmentTemplate
    - AbstractSegmentBaseType*::getMinAheadTime
    - inheritSegmentList
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t BaseRepresentation::getMinAheadTime(uint64_t curnum) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:172,1
    - Dst: std::string::append
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:173,1
    - Dst: str
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:173,1
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:174,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:176,1
    - Dst: std::string::append
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:177,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:178,1
    - Dst: std::string::append
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:179,1
    - Dst: std::string::append
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:180,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:182,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:182,1
    - Dst: getProfile
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:183,1
    - Dst: AbstractSegmentBaseType*::debug
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - obj
    - indent
    argTypes:
    - vlc_object_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 186
    functionName: BaseRepresentation::debug
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp
    functionUses: 0
    functionsReached:
    - getProfile
    - begin
    - std::string::c_str
    - empty
    - msg_Dbg
    - std::string::append
    - str
    - end
    - AbstractSegmentBaseType*::debug
    linkageType: ''
    returnType: void
    signature: void BaseRepresentation::debug(vlc_object_t *obj, int indent) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - component
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: BaseRepresentation::contextualize
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: "std::string BaseRepresentation::contextualize(size_t, const std::string
      &component,\n                                              const SegmentTemplate
      *) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BaseRepresentation*::getBandwidth
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:197,1
    - Dst: BaseRepresentation*::getBandwidth
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BaseRepresentation*
    - BaseRepresentation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: BaseRepresentation::bwCompare
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp
    functionUses: 0
    functionsReached:
    - BaseRepresentation*::getBandwidth
    linkageType: ''
    returnType: bool
    signature: "bool BaseRepresentation::bwCompare(const BaseRepresentation *a,\n
      \                                  const BaseRepresentation *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: BaseRepresentation::validateCodec
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BaseRepresentation::validateCodec(const std::string &) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: BaseRepresentation::translateSegmentNumber
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t BaseRepresentation::translateSegmentNumber(uint64_t num, const
      BaseRepresentation *) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inheritSegmentProfile
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:212,1
    - Dst: AbstractSegmentBaseType*::getSegmentNumberByTime
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - time
    - ret
    argTypes:
    - vlc_tick_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: BaseRepresentation::getSegmentNumberByTime
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp
    functionUses: 1
    functionsReached:
    - inheritSegmentProfile
    - AbstractSegmentBaseType*::getSegmentNumberByTime
    linkageType: ''
    returnType: bool
    signature: bool BaseRepresentation::getSegmentNumberByTime(vlc_tick_t time, uint64_t
      *ret) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:219,1
    - Dst: inheritSegmentProfile
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:222,1
    - Dst: AbstractSegmentBaseType*::getPlaybackTimeDurationBySegmentNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - number
    - time
    - duration
    argTypes:
    - uint64_t
    - vlc_tick_t*
    - vlc_tick_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 224
    functionName: BaseRepresentation::getPlaybackTimeDurationBySegmentNumber
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp
    functionUses: 0
    functionsReached:
    - AbstractSegmentBaseType*::getPlaybackTimeDurationBySegmentNumber
    - inheritSegmentProfile
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: bool
    signature: "bool BaseRepresentation::getPlaybackTimeDurationBySegmentNumber(uint64_t
      number,\n                                                                vlc_tick_t
      *time, vlc_tick_t *duration) const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: inheritSegmentTemplate
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:230,1
    - Dst: SegmentTemplate*::inheritTimescale
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:233,1
    - Dst: SegmentTemplate*::inheritSegmentTimeline
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:234,1
    - Dst: SegmentTimeline*::getScaledPlaybackTimeDurationBySegmentNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:238,1
    - Dst: SegmentTimeline*::minElementNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:238,1
    - Dst: SegmentTimeline*::getScaledPlaybackTimeDurationBySegmentNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:240,1
    - Dst: SegmentTimeline*::maxElementNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:240,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:244,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:245,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:246,1
    - Dst: SegmentTimeline*::getTotalLength
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:246,1
    - Dst: SegmentTemplate*::inheritDuration
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:250,1
    - Dst: getPlaylist
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:253,1
    - Dst: getPlaylist
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:254,1
    - Dst: inheritSegmentList
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:259,1
    - Dst: SegmentList*::getSegments
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:260,1
    - Dst: SegmentList*::inheritTimescale
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:262,1
    - Dst: SegmentList*::getSegments
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:263,1
    - Dst: std::vector::back
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:264,1
    - Dst: std::vector::front
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:265,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:267,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:268,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:269,1
    - Dst: SegmentList*::getTotalLength
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:269,1
    - Dst: inheritSegmentBase
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:273,1
    - Dst: SegmentBase*::subSegments
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:276,1
    - Dst: std::vector::empty
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:277,1
    - Dst: inheritTimescale
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:280,1
    - Dst: std::vector::back
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:281,1
    - Dst: std::vector::front
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:282,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:284,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp:285,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - rangeBegin
    - rangeEnd
    - rangeLength
    argTypes:
    - vlc_tick_t*
    - vlc_tick_t*
    - vlc_tick_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 291
    functionName: BaseRepresentation::getMediaPlaybackRange
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BaseRepresentation.cpp
    functionUses: 0
    functionsReached:
    - SegmentBase*::subSegments
    - SegmentTimeline*::minElementNumber
    - SegmentList*::getSegments
    - SegmentList*::getTotalLength
    - inheritSegmentTemplate
    - SegmentTimeline*::maxElementNumber
    - SegmentList*::inheritTimescale
    - inheritSegmentList
    - SegmentTemplate*::inheritTimescale
    - std::vector::front
    - inheritTimescale
    - std::vector::empty
    - inheritSegmentBase
    - SegmentTimeline*::getScaledPlaybackTimeDurationBySegmentNumber
    - std::vector::back
    - SegmentTemplate*::inheritDuration
    - SegmentTemplate*::inheritSegmentTimeline
    - getPlaylist
    - Timescale::ToTime
    - SegmentTimeline*::getTotalLength
    linkageType: ''
    returnType: bool
    signature: "bool BaseRepresentation::getMediaPlaybackRange(vlc_tick_t *rangeBegin,\n
      \                                              vlc_tick_t *rangeEnd,\n                                               vlc_tick_t
      *rangeLength) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - parent_
    argTypes:
    - AbstractMultipleSegmentBaseType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: SegmentTimeline::SegmentTimeline
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SegmentTimeline::SegmentTimeline(AbstractMultipleSegmentBaseType
      *parent_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:47,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: SegmentTimeline::~SegmentTimeline()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    linkageType: ''
    returnType: void
    signature: void SegmentTimeline::~SegmentTimeline()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Element::Element
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:53,1
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:56,1
    - Dst: back
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:58,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - number
    - d
    - r
    - t
    argTypes:
    - uint64_t
    - stime_t
    - uint64_t
    - stime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 64
    functionName: SegmentTimeline::addElement
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp
    functionUses: 0
    functionsReached:
    - empty
    - Element::Element
    - push_back
    - back
    linkageType: ''
    returnType: void
    signature: void SegmentTimeline::addElement(uint64_t number, stime_t d, uint64_t
      r, stime_t t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:70,1
    - Dst: SegmentTimeline::minElementNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:71,1
    - Dst: SegmentTimeline::maxElementNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:72,1
    - Dst: rbegin
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:76,1
    - Dst: rend
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:76,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - number
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 88
    functionName: SegmentTimeline::getMinAheadScaledTime
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp
    functionUses: 0
    functionsReached:
    - rend
    - SegmentTimeline::minElementNumber
    - size
    - SegmentTimeline::maxElementNumber
    - rbegin
    linkageType: ''
    returnType: stime_t
    signature: stime_t SegmentTimeline::getMinAheadScaledTime(uint64_t number) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:95,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:98,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - scaled
    argTypes:
    - stime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 119
    functionName: SegmentTimeline::getElementNumberByScaledPlaybackTime
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp
    functionUses: 0
    functionsReached:
    - end
    - size
    - begin
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SegmentTimeline::getElementNumberByScaledPlaybackTime(stime_t
      scaled) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:125,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - number
    - time
    - duration
    argTypes:
    - uint64_t
    - stime_t*
    - stime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 139
    functionName: SegmentTimeline::getScaledPlaybackTimeDurationBySegmentNumber
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    linkageType: ''
    returnType: bool
    signature: "bool SegmentTimeline::getScaledPlaybackTimeDurationBySegmentNumber(uint64_t
      number,\n                                                                   stime_t
      *time, stime_t *duration) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SegmentTimeline::getScaledPlaybackTimeDurationBySegmentNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - number
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: SegmentTimeline::getScaledPlaybackTimeByElementNumber
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp
    functionUses: 0
    functionsReached:
    - SegmentTimeline::getScaledPlaybackTimeDurationBySegmentNumber
    linkageType: ''
    returnType: stime_t
    signature: stime_t SegmentTimeline::getScaledPlaybackTimeByElementNumber(uint64_t
      number) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: SegmentTimeline::getTotalLength
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: stime_t
    signature: stime_t SegmentTimeline::getTotalLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:155,1
    - Dst: back
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: SegmentTimeline::maxElementNumber
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp
    functionUses: 1
    functionsReached:
    - empty
    - back
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SegmentTimeline::maxElementNumber() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:164,1
    - Dst: front
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: SegmentTimeline::minElementNumber
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp
    functionUses: 1
    functionsReached:
    - empty
    - front
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SegmentTimeline::minElementNumber() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:172,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:172,1
    - Dst: std::distance
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:178,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:178,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - number
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 182
    functionName: SegmentTimeline::getElementIndexBySequence
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    - packetizer_getcc_cea608_max
    - std::distance
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SegmentTimeline::getElementIndexBySequence(uint64_t number)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inheritTimescale
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:186,1
    - Dst: SegmentTimeline::getElementNumberByScaledPlaybackTime
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:187,1
    - Dst: Timescale::ToScaled
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:187,1
    - Dst: SegmentTimeline::pruneBySequenceNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - time
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: SegmentTimeline::pruneByPlaybackTime
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp
    functionUses: 0
    functionsReached:
    - Timescale::ToScaled
    - SegmentTimeline::getElementNumberByScaledPlaybackTime
    - inheritTimescale
    - SegmentTimeline::pruneBySequenceNumber
    linkageType: ''
    returnType: void
    signature: void SegmentTimeline::pruneByPlaybackTime(vlc_tick_t time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:194,1
    - Dst: front
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:196,1
    - Dst: pop_front
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - number
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 221
    functionName: SegmentTimeline::pruneBySequenceNumber
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp
    functionUses: 1
    functionsReached:
    - size
    - pop_front
    - front
    linkageType: ''
    returnType: size_t
    signature: size_t SegmentTimeline::pruneBySequenceNumber(uint64_t number)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:225,1
    - Dst: SegmentTimeline::elements::size
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:227,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:229,1
    - Dst: SegmentTimeline::elements::front
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:229,1
    - Dst: SegmentTimeline::elements::pop_front
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:230,1
    - Dst: back
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:235,1
    - Dst: SegmentTimeline::elements::size
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:236,1
    - Dst: SegmentTimeline::elements::front
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:238,1
    - Dst: SegmentTimeline::elements::pop_front
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:239,1
    - Dst: Element*::contains
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:241,1
    - Dst: std::max
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:245,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - other
    argTypes:
    - SegmentTimeline
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 261
    functionName: SegmentTimeline::updateWith
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - back
    - SegmentTimeline::elements::front
    - Element*::contains
    - SegmentTimeline::elements::size
    - std::max
    - empty
    - SegmentTimeline::elements::pop_front
    linkageType: ''
    returnType: void
    signature: void SegmentTimeline::updateWith(SegmentTimeline &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:266,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:267,1
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:267,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:270,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:270,1
    - Dst: SegmentTimeline::debug
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - obj
    - indent
    argTypes:
    - vlc_object_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 272
    functionName: SegmentTimeline::debug
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp
    functionUses: 1
    functionsReached:
    - SegmentTimeline::debug
    - begin
    - std::stringstream::str
    - msg_Dbg
    - end
    - std::string
    linkageType: ''
    returnType: void
    signature: void SegmentTimeline::debug(vlc_object_t *obj, int indent) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - number_
    - d_
    - r_
    - t_
    argTypes:
    - uint64_t
    - stime_t
    - uint64_t
    - stime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 280
    functionName: SegmentTimeline::Element::Element(uint64_t number_, stime_t d_,
      uint64_t r_, stime_t t_)
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SegmentTimeline::Element::Element(uint64_t number_, stime_t d_,
      uint64_t r_, stime_t t_)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - time
    argTypes:
    - stime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 287
    functionName: SegmentTimeline::Element::contains(stime_t time) const
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SegmentTimeline::Element::contains(stime_t time) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::imbue
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:292,1
    - Dst: std::locale
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:292,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:293,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:295,1
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - obj
    - indent
    argTypes:
    - vlc_object_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 296
    functionName: SegmentTimeline::Element::debug(vlc_object_t *obj, int indent) const
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTimeline.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::imbue
    - std::stringstream::str
    - std::locale
    - msg_Dbg
    - std::string
    linkageType: ''
    returnType: void
    signature: void SegmentTimeline::Element::debug(vlc_object_t *obj, int indent)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Segment *>::empty
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBaseType.cpp:36,1
    - Dst: std::vector<Segment *>::size
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBaseType.cpp:36,1
    - Dst: std::vector<Segment *>::begin
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBaseType.cpp:40,1
    - Dst: std::vector<Segment *>::end
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBaseType.cpp:41,1
    - Dst: std::vector<Segment *>::begin
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBaseType.cpp:46,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - segments
    - time
    argTypes:
    - std::vector<Segment *>
    - stime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 57
    functionName: AbstractSegmentBaseType::findSegmentByScaledTime
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentBaseType.cpp
    functionUses: 0
    functionsReached:
    - std::vector<Segment *>::end
    - std::vector<Segment *>::begin
    - std::vector<Segment *>::empty
    - std::vector<Segment *>::size
    linkageType: ''
    returnType: Segment
    signature: "Segment * AbstractSegmentBaseType::findSegmentByScaledTime(const std::vector<Segment
      *> &segments,\n                                                                 stime_t
      time)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AbstractSegmentBaseType::findSegmentByScaledTime
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBaseType.cpp:62,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBaseType.cpp:64,1
    - Dst: Segment*::getSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBaseType.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - segments
    - time
    argTypes:
    - std::vector<Segment *>
    - stime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: AbstractSegmentBaseType::findSegmentNumberByScaledTime
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentBaseType.cpp
    functionUses: 2
    functionsReached:
    - AbstractSegmentBaseType::findSegmentByScaledTime
    - Segment*::getSequenceNumber
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t AbstractSegmentBaseType::findSegmentNumberByScaledTime(const
      std::vector<Segment *> &segments,\n                                                               stime_t
      time)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - parent
    - t
    argTypes:
    - SegmentInformation*
    - AttrsNode::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: AbstractSegmentBaseType::AbstractSegmentBaseType
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentBaseType.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractSegmentBaseType::AbstractSegmentBaseType(SegmentInformation
      *parent, AttrsNode::Type t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: AbstractSegmentBaseType::~AbstractSegmentBaseType()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentBaseType.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractSegmentBaseType::~AbstractSegmentBaseType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: AbstractSegmentBaseType::getInitSegment
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentBaseType.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InitSegment
    signature: InitSegment *AbstractSegmentBaseType::getInitSegment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: AbstractSegmentBaseType::getIndexSegment
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentBaseType.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IndexSegment
    signature: IndexSegment *AbstractSegmentBaseType::getIndexSegment() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AbstractSegmentBaseType::debug
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBaseType.cpp:91,1
    - Dst: AbstractSegmentBaseType::debug
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBaseType.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - obj
    - indent
    argTypes:
    - vlc_object_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: AbstractSegmentBaseType::debug
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentBaseType.cpp
    functionUses: 2
    functionsReached:
    - AbstractSegmentBaseType::debug
    linkageType: ''
    returnType: void
    signature: void AbstractSegmentBaseType::debug(vlc_object_t *obj, int indent)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - parent
    - type
    argTypes:
    - SegmentInformation*
    - AttrsNode::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: AbstractMultipleSegmentBaseType::AbstractMultipleSegmentBaseType
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentBaseType.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void AbstractMultipleSegmentBaseType::AbstractMultipleSegmentBaseType(SegmentInformation
      *parent,\n                                                                 AttrsNode::Type
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: AbstractMultipleSegmentBaseType::~AbstractMultipleSegmentBaseType()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentBaseType.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractMultipleSegmentBaseType::~AbstractMultipleSegmentBaseType()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SegmentTimeline *>
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBaseType.cpp:109,1
    - Dst: getAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBaseType.cpp:109,1
    - Dst: static_cast<SegmentTimeline *>
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBaseType.cpp:110,1
    - Dst: AbstractMultipleSegmentBaseType*::getAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBaseType.cpp:110,1
    - Dst: SegmentTimeline*::updateWith
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBaseType.cpp:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - updated
    argTypes:
    - AbstractMultipleSegmentBaseType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: AbstractMultipleSegmentBaseType::updateWith
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentBaseType.cpp
    functionUses: 1
    functionsReached:
    - static_cast<SegmentTimeline *>
    - AbstractMultipleSegmentBaseType*::getAttribute
    - SegmentTimeline*::updateWith
    - getAttribute
    linkageType: ''
    returnType: void
    signature: "void AbstractMultipleSegmentBaseType::updateWith(AbstractMultipleSegmentBaseType
      *updated,\n                                                 bool)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - p_object_
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 52
    functionName: BasePlaylist::BasePlaylist
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp
    functionUses: 2
    functionsReached:
    - VLC_TICK_FROM_SEC
    linkageType: ''
    returnType: void
    signature: void BasePlaylist::BasePlaylist (vlc_object_t *p_object_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BasePlaylist::periods::size
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp:56,1
    - Dst: BasePlaylist::periods::at
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: BasePlaylist::~BasePlaylist()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp
    functionUses: 0
    functionsReached:
    - BasePlaylist::periods::size
    - BasePlaylist::periods::at
    linkageType: ''
    returnType: void
    signature: void BasePlaylist::~BasePlaylist()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: '& BasePlaylist::getPeriods()'
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<BasePeriod *>
    signature: std::vector<BasePeriod *> & BasePlaylist::getPeriods()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - url
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: BasePlaylist::addBaseUrl
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void BasePlaylist::addBaseUrl(const std::string &url)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - url
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: BasePlaylist::setPlaylistUrl
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BasePlaylist::setPlaylistUrl(const std::string &url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BasePeriod*::setParentNode
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp:77,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - period
    argTypes:
    - BasePeriod*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: BasePlaylist::addPeriod
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp
    functionUses: 0
    functionsReached:
    - BasePeriod*::setParentNode
    - push_back
    linkageType: ''
    returnType: void
    signature: void BasePlaylist::addPeriod(BasePeriod *period)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: BasePlaylist::isLive
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BasePlaylist::isLive() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: BasePlaylist::isLowLatency
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BasePlaylist::isLowLatency() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type_
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: BasePlaylist::setType
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BasePlaylist::setType(const std::string &type_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - min
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: BasePlaylist::setMinBuffering
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BasePlaylist::setMinBuffering( vlc_tick_t min )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: BasePlaylist::setMaxBuffering
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BasePlaylist::setMaxBuffering( vlc_tick_t max )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: BasePlaylist::getMinBuffering
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t BasePlaylist::getMinBuffering() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: BasePlaylist::getMaxBuffering
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t BasePlaylist::getMaxBuffering() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Url::Url
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp:118,1
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp:120,1
    - Dst: Url
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp:121,1
    - Dst: front
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp:121,1
    - Dst: Url::hasScheme
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp:123,1
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp:123,1
    - Dst: Url::prepend
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp:124,1
    - Dst: Url
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: BasePlaylist::getUrlSegment
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp
    functionUses: 0
    functionsReached:
    - Url
    - Url::Url
    - Url::hasScheme
    - empty
    - Url::prepend
    - front
    linkageType: ''
    returnType: Url
    signature: Url BasePlaylist::getUrlSegment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: BasePlaylist::getVLCObject
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_object_t
    signature: vlc_object_t * BasePlaylist::getVLCObject() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPeriods
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp:136,1
    - Dst: std::vector::empty
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp:138,1
    - Dst: std::vector::front
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 142
    functionName: BasePlaylist::getFirstPeriod
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp
    functionUses: 0
    functionsReached:
    - std::vector::front
    - std::vector::empty
    - getPeriods
    linkageType: ''
    returnType: BasePeriod
    signature: BasePeriod * BasePlaylist::getFirstPeriod()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPeriods
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp:146,1
    - Dst: std::vector::size
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp:148,1
    - Dst: std::vector::at
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp:150,1
    - Dst: std::vector::size
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp:150,1
    - Dst: std::vector::at
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - period
    argTypes:
    - BasePeriod*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 155
    functionName: BasePlaylist::getNextPeriod
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp
    functionUses: 0
    functionsReached:
    - std::vector::at
    - std::vector::size
    - getPeriods
    linkageType: ''
    returnType: BasePeriod
    signature: BasePeriod * BasePlaylist::getNextPeriod(BasePeriod *period)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: BasePlaylist::needsUpdates
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BasePlaylist::needsUpdates() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp:166,1
    - Dst: BasePlaylist*::periods::size
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp:166,1
    - Dst: at
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp:167,1
    - Dst: BasePlaylist*::periods::at
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - updatedPlaylist
    argTypes:
    - BasePlaylist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: BasePlaylist::updateWith
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp
    functionUses: 0
    functionsReached:
    - BasePlaylist*::periods::at
    - size
    - BasePlaylist*::periods::size
    - at
    linkageType: ''
    returnType: void
    signature: void BasePlaylist::updateWith(BasePlaylist *updatedPlaylist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp:173,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp:173,1
    - Dst: BasePlaylist::debug
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp:174,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: BasePlaylist::debug
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/BasePlaylist.cpp
    functionUses: 1
    functionsReached:
    - end
    - begin
    - BasePlaylist::debug
    - VLC_OBJECT
    linkageType: ''
    returnType: void
    signature: void BasePlaylist::debug() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: CodecDescription::CodecDescription
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp
    functionUses: 1
    functionsReached:
    - es_format_Init
    linkageType: ''
    returnType: void
    signature: void CodecDescription::CodecDescription()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp:39,1
    - Dst: FormatNamespace::getFmt
      Src: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp:39,1
    - Dst: FormatNamespace::getFmt
      Src: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp:39,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp:40,1
    - Dst: FormatNamespace::getFmt
      Src: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - codec
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: CodecDescription::CodecDescription
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp
    functionUses: 1
    functionsReached:
    - FormatNamespace::getFmt
    - es_format_Copy
    - es_format_Init
    linkageType: ''
    returnType: void
    signature: void CodecDescription::CodecDescription(const std::string &codec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: CodecDescription::~CodecDescription()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp
    functionUses: 0
    functionsReached:
    - es_format_Clean
    linkageType: ''
    returnType: void
    signature: void CodecDescription::~CodecDescription()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: CodecDescription::getFmt
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: es_format_t
    signature: es_format_t * CodecDescription::getFmt() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - w
    - h
    argTypes:
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: CodecDescription::setDimensions
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodecDescription::setDimensions(unsigned w, unsigned h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp:63,1
    - Dst: checkasm_strdup
      Src: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp:64,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: CodecDescription::setDescription
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp
    functionUses: 0
    functionsReached:
    - free
    - std::string::c_str
    - checkasm_strdup
    linkageType: ''
    returnType: void
    signature: void CodecDescription::setDescription(const std::string &d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp:69,1
    - Dst: checkasm_strdup
      Src: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp:70,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - l
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: CodecDescription::setLanguage
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp
    functionUses: 0
    functionsReached:
    - free
    - std::string::c_str
    - checkasm_strdup
    linkageType: ''
    returnType: void
    signature: void CodecDescription::setLanguage(const std::string &l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AspectRatio::isValid
      Src: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp:75,1
    - Dst: AspectRatio::num
      Src: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp:77,1
    - Dst: AspectRatio::den
      Src: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - AspectRatio
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: CodecDescription::setAspectRatio
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp
    functionUses: 0
    functionsReached:
    - AspectRatio::isValid
    - AspectRatio::num
    - AspectRatio::den
    linkageType: ''
    returnType: void
    signature: void CodecDescription::setAspectRatio(const AspectRatio &r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Rate::isValid
      Src: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp:83,1
    - Dst: Rate::num
      Src: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp:85,1
    - Dst: Rate::den
      Src: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - Rate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: CodecDescription::setFrameRate
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp
    functionUses: 0
    functionsReached:
    - Rate::den
    - Rate::isValid
    - Rate::num
    linkageType: ''
    returnType: void
    signature: void CodecDescription::setFrameRate(const Rate &r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Rate::isValid
      Src: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp:91,1
    - Dst: Rate::num
      Src: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - Rate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: CodecDescription::setSampleRate
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp
    functionUses: 0
    functionsReached:
    - Rate::isValid
    - Rate::num
    linkageType: ''
    returnType: void
    signature: void CodecDescription::setSampleRate(const Rate &r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: CodecDescription::setChannelsCount
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodecDescription::setChannelsCount(unsigned c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: CodecDescriptionList::CodecDescriptionList
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodecDescriptionList::CodecDescriptionList()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp:108,1
    - Dst: front
      Src: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp:110,1
    - Dst: pop_front
      Src: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: CodecDescriptionList::~CodecDescriptionList()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.cpp
    functionUses: 0
    functionsReached:
    - empty
    - pop_front
    - front
    linkageType: ''
    returnType: void
    signature: void CodecDescriptionList::~CodecDescriptionList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - parent
    argTypes:
    - ICanonicalUrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: SegmentTemplateSegment::SegmentTemplateSegment
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SegmentTemplateSegment::SegmentTemplateSegment( ICanonicalUrl
      *parent )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: SegmentTemplateSegment::~SegmentTemplateSegment()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SegmentTemplateSegment::~SegmentTemplateSegment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Url
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:49,1
    - Dst: MainUI::getComponent
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - url
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: SegmentTemplateSegment::setSourceUrl
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp
    functionUses: 0
    functionsReached:
    - Url
    - MainUI::getComponent
    linkageType: ''
    returnType: void
    signature: void SegmentTemplateSegment::setSourceUrl(const std::string &url)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - templ_
    argTypes:
    - SegmentTemplate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: SegmentTemplateSegment::setParentTemplate
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SegmentTemplateSegment::setParentTemplate( SegmentTemplate *templ_
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setParent
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:63,1
    - Dst: setParentTemplate
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - seg
    - parent
    argTypes:
    - SegmentTemplateSegment*
    - SegmentInformation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: SegmentTemplate::SegmentTemplate
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp
    functionUses: 2
    functionsReached:
    - setParent
    - setParentTemplate
    linkageType: ''
    returnType: void
    signature: void SegmentTemplate::SegmentTemplate( SegmentTemplateSegment *seg,
      SegmentInformation *parent )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: SegmentTemplate::~SegmentTemplate()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SegmentTemplate::~SegmentTemplate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SegmentTemplate::setSourceUrl
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - url
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: SegmentTemplate::setSourceUrl
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp
    functionUses: 1
    functionsReached:
    - SegmentTemplate::setSourceUrl
    linkageType: ''
    returnType: void
    signature: void SegmentTemplate::setSourceUrl( const std::string &url )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:79,1
    - Dst: static_cast<SegmentTimeline *>
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - time
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: SegmentTemplate::pruneByPlaybackTime
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp
    functionUses: 0
    functionsReached:
    - static_cast<SegmentTimeline *>
    - getAttribute
    linkageType: ''
    returnType: void
    signature: void SegmentTemplate::pruneByPlaybackTime(vlc_tick_t time)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:86,1
    - Dst: static_cast<SegmentTimeline *>
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - number
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: SegmentTemplate::pruneBySequenceNumber
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp
    functionUses: 0
    functionsReached:
    - static_cast<SegmentTimeline *>
    - getAttribute
    linkageType: ''
    returnType: size_t
    signature: size_t SegmentTemplate::pruneBySequenceNumber(uint64_t number)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: inheritStartNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:94,1
    - Dst: inheritDuration
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:96,1
    - Dst: inheritTimescale
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:101,1
    - Dst: getPlaylist
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:105,1
    - Dst: getPeriodStart
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:106,1
    - Dst: Timescale::ToScaled
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - playbacktime
    - abs
    argTypes:
    - vlc_tick_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 115
    functionName: SegmentTemplate::getLiveTemplateNumber
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp
    functionUses: 0
    functionsReached:
    - inheritDuration
    - inheritStartNumber
    - getPeriodStart
    - Timescale::ToScaled
    - getPlaylist
    - inheritTimescale
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SegmentTemplate::getLiveTemplateNumber(vlc_tick_t playbacktime,
      bool abs) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AbstractSegmentBaseType::debug
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:119,1
    - Dst: SegmentTemplate::debug
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:121,1
    - Dst: getAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:122,1
    - Dst: static_cast<const SegmentTimeline *>
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - obj
    - indent
    argTypes:
    - vlc_object_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: SegmentTemplate::debug
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp
    functionUses: 1
    functionsReached:
    - AbstractSegmentBaseType::debug
    - SegmentTemplate::debug
    - static_cast<const SegmentTimeline *>
    - getAttribute
    linkageType: ''
    returnType: void
    signature: void SegmentTemplate::debug(vlc_object_t *obj, int indent) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inheritSegmentTimeline
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:129,1
    - Dst: SegmentTimeline*::inheritTimescale
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:132,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:133,1
    - Dst: SegmentTimeline*::getMinAheadScaledTime
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:133,1
    - Dst: inheritTimescale
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:137,1
    - Dst: SegmentTemplate::getLiveTemplateNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:138,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:138,1
    - Dst: time
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:138,1
    - Dst: inheritDuration
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:139,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - number
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 142
    functionName: SegmentTemplate::getMinAheadTime
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp
    functionUses: 0
    functionsReached:
    - inheritDuration
    - SegmentTimeline*::inheritTimescale
    - vlc_tick_from_sec
    - SegmentTimeline*::getMinAheadScaledTime
    - inheritSegmentTimeline
    - time
    - inheritTimescale
    - Timescale::ToTime
    - SegmentTemplate::getLiveTemplateNumber
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t SegmentTemplate::getMinAheadTime(uint64_t number) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SegmentTemplate::getScaledPlaybackTimeDurationBySegmentNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pos
    - virtualsegment
    argTypes:
    - uint64_t
    - SegmentTemplateSegment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 155
    functionName: SegmentTemplate::setVirtualSegmentTime
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp
    functionUses: 0
    functionsReached:
    - SegmentTemplate::getScaledPlaybackTimeDurationBySegmentNumber
    linkageType: ''
    returnType: void
    signature: "void SegmentTemplate::setVirtualSegmentTime(uint64_t pos,\n                                            SegmentTemplateSegment
      *virtualsegment) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inheritSegmentTimeline
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:159,1
    - Dst: SegmentTimeline*::maxElementNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:160,1
    - Dst: SegmentTimeline*::minElementNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:160,1
    - Dst: SegmentTemplate::setVirtualSegmentTime
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - number
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 166
    functionName: SegmentTemplate::getMediaSegment
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp
    functionUses: 0
    functionsReached:
    - SegmentTemplate::setVirtualSegmentTime
    - inheritSegmentTimeline
    - SegmentTimeline*::minElementNumber
    - SegmentTimeline*::maxElementNumber
    linkageType: ''
    returnType: Segment
    signature: Segment * SegmentTemplate::getMediaSegment(uint64_t number) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: inheritSegmentTimeline
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:174,1
    - Dst: std::max
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:177,1
    - Dst: SegmentTimeline*::minElementNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:177,1
    - Dst: SegmentTimeline*::maxElementNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:178,1
    - Dst: getPlaylist
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:184,1
    - Dst: BasePlaylist*::isLive
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:185,1
    - Dst: inheritTimescale
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:187,1
    - Dst: inheritDuration
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:188,1
    - Dst: getPeriodDuration
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:189,1
    - Dst: inheritStartNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:194,1
    - Dst: Timescale::ToScaled
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:195,1
    - Dst: std::max
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:205,1
    - Dst: inheritStartNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:205,1
    - Dst: SegmentTemplate::setVirtualSegmentTime
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:207,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - i_pos
    - pi_newpos
    - pb_gap
    argTypes:
    - uint64_t
    - uint64_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 209
    functionName: SegmentTemplate::getNextMediaSegment
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp
    functionUses: 0
    functionsReached:
    - BasePlaylist*::isLive
    - inheritDuration
    - inheritStartNumber
    - Timescale::ToScaled
    - SegmentTemplate::setVirtualSegmentTime
    - getPlaylist
    - SegmentTimeline*::minElementNumber
    - SegmentTimeline*::maxElementNumber
    - std::max
    - inheritSegmentTimeline
    - getPeriodDuration
    - inheritTimescale
    linkageType: ''
    returnType: Segment
    signature: "Segment *  SegmentTemplate::getNextMediaSegment(uint64_t i_pos,uint64_t
      *pi_newpos,\n                                                     bool *pb_gap)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inheritSegmentTimeline
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:213,1
    - Dst: SegmentTimeline*::minElementNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:214,1
    - Dst: inheritStartNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: SegmentTemplate::getStartSegmentNumber
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp
    functionUses: 0
    functionsReached:
    - inheritSegmentTimeline
    - SegmentTimeline*::minElementNumber
    - inheritStartNumber
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SegmentTemplate::getStartSegmentNumber() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: inheritSegmentTimeline
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:219,1
    - Dst: SegmentTimeline*::inheritTimescale
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:222,1
    - Dst: Timescale::ToScaled
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:223,1
    - Dst: SegmentTimeline*::getElementNumberByScaledPlaybackTime
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:224,1
    - Dst: inheritDuration
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:228,1
    - Dst: getPlaylist
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:231,1
    - Dst: BasePlaylist*::isLive
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:232,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:234,1
    - Dst: TimedText::time
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:234,1
    - Dst: SegmentTemplate::getLiveTemplateNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:236,1
    - Dst: SegmentTemplate::getLiveTemplateNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:238,1
    - Dst: inheritTimescale
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:243,1
    - Dst: inheritStartNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:244,1
    - Dst: Timescale::ToScaled
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:245,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - time
    - ret
    argTypes:
    - vlc_tick_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 251
    functionName: SegmentTemplate::getSegmentNumberByTime
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp
    functionUses: 0
    functionsReached:
    - BasePlaylist*::isLive
    - inheritDuration
    - SegmentTimeline*::inheritTimescale
    - inheritStartNumber
    - Timescale::ToScaled
    - vlc_tick_from_sec
    - getPlaylist
    - inheritSegmentTimeline
    - SegmentTimeline*::getElementNumberByScaledPlaybackTime
    - SegmentTemplate::getLiveTemplateNumber
    - inheritTimescale
    - TimedText::time
    linkageType: ''
    returnType: bool
    signature: bool SegmentTemplate::getSegmentNumberByTime(vlc_tick_t time, uint64_t
      *ret) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:258,1
    - Dst: SegmentTemplate::getScaledPlaybackTimeDurationBySegmentNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:264,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:267,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - number
    - time
    - duration
    argTypes:
    - uint64_t
    - vlc_tick_t*
    - vlc_tick_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 271
    functionName: SegmentTemplate::getPlaybackTimeDurationBySegmentNumber
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp
    functionUses: 0
    functionsReached:
    - Timescale::ToTime
    - SegmentTemplate::getScaledPlaybackTimeDurationBySegmentNumber
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: bool
    signature: "bool SegmentTemplate::getPlaybackTimeDurationBySegmentNumber(uint64_t
      number,\n                                                             vlc_tick_t
      *time,\n                                                             vlc_tick_t
      *duration) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:278,1
    - Dst: inheritSegmentTimeline
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:281,1
    - Dst: SegmentTimeline*::inheritTimescale
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:284,1
    - Dst: SegmentTimeline*::getScaledPlaybackTimeDurationBySegmentNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:285,1
    - Dst: inheritTimescale
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:290,1
    - Dst: inheritStartNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:291,1
    - Dst: inheritDuration
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - number
    - stime
    - sduration
    - timescale
    argTypes:
    - uint64_t
    - stime_t*
    - stime_t*
    - Timescale*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 299
    functionName: SegmentTemplate::getScaledPlaybackTimeDurationBySegmentNumber
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp
    functionUses: 2
    functionsReached:
    - SegmentTimeline*::getScaledPlaybackTimeDurationBySegmentNumber
    - inheritDuration
    - SegmentTimeline*::inheritTimescale
    - inheritStartNumber
    - inheritSegmentTimeline
    - inheritTimescale
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: bool
    signature: "bool SegmentTemplate::getScaledPlaybackTimeDurationBySegmentNumber(uint64_t
      number,\n                                                                   stime_t
      *stime,\n                                                                   stime_t
      *sduration,\n                                                                   Timescale
      *timescale) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - templ_
    - parent
    argTypes:
    - SegmentTemplate*
    - ICanonicalUrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 307
    functionName: SegmentTemplateInit::SegmentTemplateInit
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SegmentTemplateInit::SegmentTemplateInit( SegmentTemplate *templ_,\n
      \                                         ICanonicalUrl *parent )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 312
    functionName: SegmentTemplateInit::~SegmentTemplateInit()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SegmentTemplateInit::~SegmentTemplateInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Url
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:316,1
    - Dst: MainUI::getComponent
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - url
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: SegmentTemplateInit::setSourceUrl
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentTemplate.cpp
    functionUses: 0
    functionsReached:
    - Url
    - MainUI::getComponent
    linkageType: ''
    returnType: void
    signature: void SegmentTemplateInit::setSourceUrl(const std::string &url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbstractAttr::getType
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - AbstractAttr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: operator ==(const AbstractAttr &t) const
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached:
    - AbstractAttr::getType
    linkageType: ''
    returnType: bool
    signature: bool operator ==(const AbstractAttr &t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbstractAttr::getType
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - AbstractAttr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: operator !=(const AbstractAttr &t) const
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached:
    - AbstractAttr::getType
    linkageType: ''
    returnType: bool
    signature: bool operator !=(const AbstractAttr &t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: adaptive::playlist::AbstractAttr::isValid
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - AttrsNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: adaptive::playlist::AbstractAttr::setParentNode
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setParentNode(AttrsNode *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: adaptive::playlist::AttrsNode::AttrsNode
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AttrsNode(const AttrsNode &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: '& operator=(const AttrsNode &)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AttrsNode
    signature: AttrsNode & operator=(const AttrsNode &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: adaptive::playlist::AttrWrapper::AttrWrapper
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AttrWrapper(T v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: condDeleteValue
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: ~AttrWrapper()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached:
    - condDeleteValue
    linkageType: ''
    returnType: void
    signature: void ~AttrWrapper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: adaptive::playlist::AttrWrapper::AttrWrapper
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AttrWrapper(const AttrWrapper &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: '& operator=(const AttrWrapper<e, T> &)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AttrWrapper<e, T>
    signature: AttrWrapper<e, T> & operator=(const AttrWrapper<e, T> &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: operator const T&() const
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator const T&() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: adaptive::playlist::AttrWrapper::condDeleteValue
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void condDeleteValue(const T &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: adaptive::playlist::AttrWrapper::condDeleteValue
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void condDeleteValue(T* &v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - Timescale
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: adaptive::playlist::TimescaleAttr::TimescaleAttr
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TimescaleAttr(Timescale v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: adaptive::playlist::TimescaleAttr::isValid
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: adaptive::playlist::TimescaleAttr::isValid
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 1
    functionsReached:
    - adaptive::playlist::TimescaleAttr::isValid
    linkageType: ''
    returnType: bool
    signature: bool isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - stime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: adaptive::playlist::DurationAttr::DurationAttr
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DurationAttr(stime_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: adaptive::playlist::DurationAttr::isValid
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbstractAttr::getType
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - AbstractAttr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: operator ==(const AbstractAttr &t) const
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached:
    - AbstractAttr::getType
    linkageType: ''
    returnType: bool
    signature: bool operator ==(const AbstractAttr &t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbstractAttr::getType
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - AbstractAttr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: operator !=(const AbstractAttr &t) const
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached:
    - AbstractAttr::getType
    linkageType: ''
    returnType: bool
    signature: bool operator !=(const AbstractAttr &t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: adaptive::playlist::AbstractAttr::isValid
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - AttrsNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: adaptive::playlist::AbstractAttr::setParentNode
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setParentNode(AttrsNode *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: adaptive::playlist::AttrsNode::AttrsNode
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AttrsNode(const AttrsNode &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: '& operator=(const AttrsNode &)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AttrsNode
    signature: AttrsNode & operator=(const AttrsNode &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: adaptive::playlist::AttrWrapper::AttrWrapper
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AttrWrapper(T v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: condDeleteValue
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: ~AttrWrapper()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached:
    - condDeleteValue
    linkageType: ''
    returnType: void
    signature: void ~AttrWrapper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: adaptive::playlist::AttrWrapper::AttrWrapper
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AttrWrapper(const AttrWrapper &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: '& operator=(const AttrWrapper<e, T> &)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AttrWrapper<e, T>
    signature: AttrWrapper<e, T> & operator=(const AttrWrapper<e, T> &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: operator const T&() const
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator const T&() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: adaptive::playlist::AttrWrapper::condDeleteValue
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void condDeleteValue(const T &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: adaptive::playlist::AttrWrapper::condDeleteValue
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void condDeleteValue(T* &v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - Timescale
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: adaptive::playlist::TimescaleAttr::TimescaleAttr
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TimescaleAttr(Timescale v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: adaptive::playlist::TimescaleAttr::isValid
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: adaptive::playlist::TimescaleAttr::isValid
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 2
    functionsReached:
    - adaptive::playlist::TimescaleAttr::isValid
    linkageType: ''
    returnType: bool
    signature: bool isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - stime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: adaptive::playlist::DurationAttr::DurationAttr
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DurationAttr(stime_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: adaptive::playlist::DurationAttr::isValid
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbstractAttr::getType
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - AbstractAttr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: operator ==(const AbstractAttr &t) const
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached:
    - AbstractAttr::getType
    linkageType: ''
    returnType: bool
    signature: bool operator ==(const AbstractAttr &t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbstractAttr::getType
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - AbstractAttr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: operator !=(const AbstractAttr &t) const
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached:
    - AbstractAttr::getType
    linkageType: ''
    returnType: bool
    signature: bool operator !=(const AbstractAttr &t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: adaptive::playlist::AbstractAttr::isValid
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - AttrsNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: adaptive::playlist::AbstractAttr::setParentNode
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setParentNode(AttrsNode *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: adaptive::playlist::AttrsNode::AttrsNode
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AttrsNode(const AttrsNode &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: '& operator=(const AttrsNode &)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AttrsNode
    signature: AttrsNode & operator=(const AttrsNode &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: adaptive::playlist::AttrWrapper::AttrWrapper
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AttrWrapper(T v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: condDeleteValue
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: ~AttrWrapper()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached:
    - condDeleteValue
    linkageType: ''
    returnType: void
    signature: void ~AttrWrapper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: adaptive::playlist::AttrWrapper::AttrWrapper
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AttrWrapper(const AttrWrapper &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: '& operator=(const AttrWrapper<e, T> &)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AttrWrapper<e, T>
    signature: AttrWrapper<e, T> & operator=(const AttrWrapper<e, T> &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: operator const T&() const
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator const T&() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: adaptive::playlist::AttrWrapper::condDeleteValue
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void condDeleteValue(const T &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: adaptive::playlist::AttrWrapper::condDeleteValue
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void condDeleteValue(T* &v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - Timescale
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: adaptive::playlist::TimescaleAttr::TimescaleAttr
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TimescaleAttr(Timescale v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: adaptive::playlist::TimescaleAttr::isValid
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: adaptive::playlist::TimescaleAttr::isValid
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 3
    functionsReached:
    - adaptive::playlist::TimescaleAttr::isValid
    linkageType: ''
    returnType: bool
    signature: bool isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - stime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: adaptive::playlist::DurationAttr::DurationAttr
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DurationAttr(stime_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: adaptive::playlist::DurationAttr::isValid
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbstractAttr::getType
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - AbstractAttr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: operator ==(const AbstractAttr &t) const
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached:
    - AbstractAttr::getType
    linkageType: ''
    returnType: bool
    signature: bool operator ==(const AbstractAttr &t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbstractAttr::getType
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - AbstractAttr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: operator !=(const AbstractAttr &t) const
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached:
    - AbstractAttr::getType
    linkageType: ''
    returnType: bool
    signature: bool operator !=(const AbstractAttr &t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: adaptive::playlist::AbstractAttr::isValid
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - AttrsNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: adaptive::playlist::AbstractAttr::setParentNode
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setParentNode(AttrsNode *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: adaptive::playlist::AttrsNode::AttrsNode
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AttrsNode(const AttrsNode &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: '& operator=(const AttrsNode &)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AttrsNode
    signature: AttrsNode & operator=(const AttrsNode &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: adaptive::playlist::AttrWrapper::AttrWrapper
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AttrWrapper(T v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: condDeleteValue
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: ~AttrWrapper()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached:
    - condDeleteValue
    linkageType: ''
    returnType: void
    signature: void ~AttrWrapper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: adaptive::playlist::AttrWrapper::AttrWrapper
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AttrWrapper(const AttrWrapper &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: '& operator=(const AttrWrapper<e, T> &)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AttrWrapper<e, T>
    signature: AttrWrapper<e, T> & operator=(const AttrWrapper<e, T> &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: operator const T&() const
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator const T&() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: adaptive::playlist::AttrWrapper::condDeleteValue
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void condDeleteValue(const T &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: adaptive::playlist::AttrWrapper::condDeleteValue
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void condDeleteValue(T* &v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - Timescale
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: adaptive::playlist::TimescaleAttr::TimescaleAttr
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TimescaleAttr(Timescale v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: adaptive::playlist::TimescaleAttr::isValid
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: adaptive::playlist::TimescaleAttr::isValid
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 4
    functionsReached:
    - adaptive::playlist::TimescaleAttr::isValid
    linkageType: ''
    returnType: bool
    signature: bool isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - stime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: adaptive::playlist::DurationAttr::DurationAttr
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DurationAttr(stime_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: adaptive::playlist::DurationAttr::isValid
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - CommonAttributesElements*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: CommonAttributesElements::CommonAttributesElements
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/CommonAttributesElements.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommonAttributesElements::CommonAttributesElements(CommonAttributesElements
      *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: CommonAttributesElements::~CommonAttributesElements()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/CommonAttributesElements.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommonAttributesElements::~CommonAttributesElements()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/playlist/CommonAttributesElements.cpp:48,1
    - Dst: getMimeType
      Src: /src/vlc/modules/demux/adaptive/playlist/CommonAttributesElements.cpp:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: '& CommonAttributesElements::getMimeType() const'
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/CommonAttributesElements.cpp
    functionUses: 0
    functionsReached:
    - empty
    - getMimeType
    linkageType: ''
    returnType: std::string
    signature: std::string & CommonAttributesElements::getMimeType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mimeType
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: CommonAttributesElements::setMimeType
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/CommonAttributesElements.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommonAttributesElements::setMimeType( const std::string &mimeType
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CommonAttributesElements::getWidth
      Src: /src/vlc/modules/demux/adaptive/playlist/CommonAttributesElements.cpp:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: CommonAttributesElements::getWidth
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/CommonAttributesElements.cpp
    functionUses: 1
    functionsReached:
    - CommonAttributesElements::getWidth
    linkageType: ''
    returnType: int
    signature: int CommonAttributesElements::getWidth                () const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - width
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: CommonAttributesElements::setWidth
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/CommonAttributesElements.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommonAttributesElements::setWidth( int width )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CommonAttributesElements::getHeight
      Src: /src/vlc/modules/demux/adaptive/playlist/CommonAttributesElements.cpp:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: CommonAttributesElements::getHeight
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/CommonAttributesElements.cpp
    functionUses: 1
    functionsReached:
    - CommonAttributesElements::getHeight
    linkageType: ''
    returnType: int
    signature: int CommonAttributesElements::getHeight               () const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - height
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: CommonAttributesElements::setHeight
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/CommonAttributesElements.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommonAttributesElements::setHeight( int height )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - AspectRatio
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: CommonAttributesElements::setAspectRatio
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/CommonAttributesElements.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommonAttributesElements::setAspectRatio(const AspectRatio &r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/vlc/modules/demux/adaptive/playlist/CommonAttributesElements.cpp:91,1
    - Dst: getAspectRatio
      Src: /src/vlc/modules/demux/adaptive/playlist/CommonAttributesElements.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: '& CommonAttributesElements::getAspectRatio() const'
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/CommonAttributesElements.cpp
    functionUses: 0
    functionsReached:
    - getAspectRatio
    - isValid
    linkageType: ''
    returnType: AspectRatio
    signature: AspectRatio & CommonAttributesElements::getAspectRatio() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/vlc/modules/demux/adaptive/playlist/CommonAttributesElements.cpp:98,1
    - Dst: getFrameRate
      Src: /src/vlc/modules/demux/adaptive/playlist/CommonAttributesElements.cpp:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: '& CommonAttributesElements::getFrameRate() const'
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/CommonAttributesElements.cpp
    functionUses: 0
    functionsReached:
    - getFrameRate
    - isValid
    linkageType: ''
    returnType: Rate
    signature: Rate & CommonAttributesElements::getFrameRate() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Rate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: CommonAttributesElements::setFrameRate
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/CommonAttributesElements.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommonAttributesElements::setFrameRate(const Rate &r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/vlc/modules/demux/adaptive/playlist/CommonAttributesElements.cpp:110,1
    - Dst: getSampleRate
      Src: /src/vlc/modules/demux/adaptive/playlist/CommonAttributesElements.cpp:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: '& CommonAttributesElements::getSampleRate() const'
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/CommonAttributesElements.cpp
    functionUses: 0
    functionsReached:
    - getSampleRate
    - isValid
    linkageType: ''
    returnType: Rate
    signature: Rate & CommonAttributesElements::getSampleRate() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - Rate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: CommonAttributesElements::setSampleRate
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/CommonAttributesElements.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommonAttributesElements::setSampleRate(const Rate &r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: AbstractAttr::AbstractAttr
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractAttr::AbstractAttr(Type t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: AbstractAttr::~AbstractAttr()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractAttr::~AbstractAttr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: AbstractAttr::getType
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: AbstractAttr::Type
    signature: AbstractAttr::Type AbstractAttr::getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setParentNode
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - parent_
    argTypes:
    - Type
    - AttrsNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: AttrsNode::AttrsNode
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp
    functionUses: 0
    functionsReached:
    - setParentNode
    linkageType: ''
    returnType: void
    signature: void AttrsNode::AttrsNode(Type t, AttrsNode *parent_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:62,1
    - Dst: front
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:64,1
    - Dst: pop_front
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: AttrsNode::~AttrsNode()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp
    functionUses: 0
    functionsReached:
    - empty
    - pop_front
    - front
    linkageType: ''
    returnType: void
    signature: void AttrsNode::~AttrsNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_front
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:71,1
    - Dst: AbstractAttr*::setParentNode
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - AbstractAttr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: AttrsNode::addAttribute
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp
    functionUses: 0
    functionsReached:
    - push_front
    - AbstractAttr*::setParentNode
    linkageType: ''
    returnType: void
    signature: void AttrsNode::addAttribute(AbstractAttr *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AttrsNode::getAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:77,1
    - Dst: AbstractAttr*::getType
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:77,1
    - Dst: remove
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:80,1
    - Dst: push_front
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:83,1
    - Dst: AbstractAttr*::setParentNode
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - AbstractAttr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: AttrsNode::replaceAttribute
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp
    functionUses: 0
    functionsReached:
    - AbstractAttr*::getType
    - remove
    - AttrsNode::getAttribute
    - push_front
    - AbstractAttr*::setParentNode
    linkageType: ''
    returnType: void
    signature: void AttrsNode::replaceAttribute(AbstractAttr *p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AttrsNode::getAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:89,1
    - Dst: AbstractAttr*::isValid
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:90,1
    - Dst: std::list::push_front
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:100,1
    - Dst: AttrsNode*::getType
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:100,1
    - Dst: std::list::empty
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:103,1
    - Dst: AttrsNode*::getAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:111,1
    - Dst: AbstractAttr*::isValid
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:112,1
    - Dst: std::list::pop_back
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:116,1
    - Dst: std::list::empty
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:117,1
    - Dst: AttrsNode*::getAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:126,1
    - Dst: AbstractAttr*::isValid
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:127,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 1
    argNames:
    - type
    argTypes:
    - AbstractAttr::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 133
    functionName: AttrsNode::inheritAttribute
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp
    functionUses: 0
    functionsReached:
    - std::list::empty
    - AttrsNode*::getType
    - AbstractAttr*::isValid
    - std::list::push_front
    - std::list::pop_back
    - AttrsNode::getAttribute
    - AttrsNode*::getAttribute
    linkageType: ''
    returnType: AbstractAttr
    signature: AbstractAttr * AttrsNode::inheritAttribute(AbstractAttr::Type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<AttrsNode *>
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - AbstractAttr::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: AttrsNode::inheritAttribute
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp
    functionUses: 0
    functionsReached:
    - const_cast<AttrsNode *>
    linkageType: ''
    returnType: AbstractAttr
    signature: AbstractAttr * AttrsNode::inheritAttribute(AbstractAttr::Type type)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AttrsNode::inheritAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:142,1
    - Dst: AbstractAttr*::isValid
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:143,1
    - Dst: static_cast<const DurationAttr *>
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: AttrsNode::inheritDuration
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp
    functionUses: 0
    functionsReached:
    - AttrsNode::inheritAttribute
    - static_cast<const DurationAttr *>
    - AbstractAttr*::isValid
    linkageType: ''
    returnType: stime_t
    signature: stime_t AttrsNode::inheritDuration() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AttrsNode::inheritAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:150,1
    - Dst: AbstractAttr*::isValid
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:151,1
    - Dst: static_cast<const StartnumberAttr *>
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:152,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: AttrsNode::inheritStartNumber
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp
    functionUses: 0
    functionsReached:
    - AttrsNode::inheritAttribute
    - packetizer_getcc_cea608_max
    - static_cast<const StartnumberAttr *>
    - AbstractAttr*::isValid
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t AttrsNode::inheritStartNumber() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AttrsNode::inheritAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:158,1
    - Dst: AbstractAttr*::isValid
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:159,1
    - Dst: static_cast<const TimescaleAttr *>
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:160,1
    - Dst: Timescale
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 163
    functionName: AttrsNode::inheritTimescale
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp
    functionUses: 0
    functionsReached:
    - AttrsNode::inheritAttribute
    - Timescale
    - static_cast<const TimescaleAttr *>
    - AbstractAttr*::isValid
    linkageType: ''
    returnType: Timescale
    signature: Timescale AttrsNode::inheritTimescale() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AttrsNode::inheritAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:167,1
    - Dst: AbstractAttr*::isValid
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:168,1
    - Dst: static_cast<const AvailabilityTimeOffsetAttr *>
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: AttrsNode::inheritAvailabilityTimeOffset
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp
    functionUses: 0
    functionsReached:
    - AttrsNode::inheritAttribute
    - static_cast<const AvailabilityTimeOffsetAttr *>
    - AbstractAttr*::isValid
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t AttrsNode::inheritAvailabilityTimeOffset() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AttrsNode::inheritAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:175,1
    - Dst: AbstractAttr*::isValid
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:176,1
    - Dst: static_cast<const AvailabilityTimeCompleteAttr *>
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: AttrsNode::inheritAvailabilityTimeComplete
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp
    functionUses: 0
    functionsReached:
    - AttrsNode::inheritAttribute
    - static_cast<const AvailabilityTimeCompleteAttr *>
    - AbstractAttr*::isValid
    linkageType: ''
    returnType: bool
    signature: bool AttrsNode::inheritAvailabilityTimeComplete() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AttrsNode::inheritAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:183,1
    - Dst: AbstractAttr*::isValid
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:184,1
    - Dst: static_cast<SegmentBase *>
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: AttrsNode::inheritSegmentBase
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp
    functionUses: 0
    functionsReached:
    - AttrsNode::inheritAttribute
    - static_cast<SegmentBase *>
    - AbstractAttr*::isValid
    linkageType: ''
    returnType: SegmentBase
    signature: SegmentBase * AttrsNode::inheritSegmentBase() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AttrsNode::inheritAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:191,1
    - Dst: AbstractAttr*::isValid
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:192,1
    - Dst: static_cast<SegmentList *>
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 195
    functionName: AttrsNode::inheritSegmentList
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp
    functionUses: 0
    functionsReached:
    - AttrsNode::inheritAttribute
    - static_cast<SegmentList *>
    - AbstractAttr*::isValid
    linkageType: ''
    returnType: SegmentList
    signature: SegmentList * AttrsNode::inheritSegmentList() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AttrsNode::inheritAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:199,1
    - Dst: AbstractAttr*::isValid
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:200,1
    - Dst: static_cast<SegmentTemplate *>
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: AttrsNode::inheritSegmentTemplate
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp
    functionUses: 0
    functionsReached:
    - AttrsNode::inheritAttribute
    - static_cast<SegmentTemplate *>
    - AbstractAttr*::isValid
    linkageType: ''
    returnType: SegmentTemplate
    signature: SegmentTemplate * AttrsNode::inheritSegmentTemplate() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AttrsNode::inheritAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:207,1
    - Dst: AbstractAttr*::isValid
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:208,1
    - Dst: static_cast<SegmentTimeline *>
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: AttrsNode::inheritSegmentTimeline
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp
    functionUses: 0
    functionsReached:
    - AttrsNode::inheritAttribute
    - static_cast<SegmentTimeline *>
    - AbstractAttr*::isValid
    linkageType: ''
    returnType: SegmentTimeline
    signature: SegmentTimeline * AttrsNode::inheritSegmentTimeline() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::list<AbstractAttr::Type>::begin
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:217,1
    - Dst: std::list<AbstractAttr::Type>::end
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:217,1
    - Dst: AttrsNode*::getAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:219,1
    - Dst: AbstractAttr*::isValid
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:220,1
    - Dst: dynamic_cast<AttrsNode *>
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::list<AbstractAttr::Type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 227
    functionName: AttrsNode::matchPath
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp
    functionUses: 0
    functionsReached:
    - std::list<AbstractAttr::Type>::end
    - std::list<AbstractAttr::Type>::begin
    - AbstractAttr*::isValid
    - dynamic_cast<AttrsNode *>
    - AttrsNode*::getAttribute
    linkageType: ''
    returnType: AttrsNode
    signature: AttrsNode * AttrsNode::matchPath(std::list<AbstractAttr::Type>&path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:231,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:231,1
    - Dst: getType
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - AbstractAttr::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 237
    functionName: AttrsNode::getAttribute
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp
    functionUses: 2
    functionsReached:
    - end
    - begin
    - getType
    linkageType: ''
    returnType: AbstractAttr
    signature: AbstractAttr * AttrsNode::getAttribute(AbstractAttr::Type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<AttrsNode *>
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - AbstractAttr::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: AttrsNode::getAttribute
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp
    functionUses: 2
    functionsReached:
    - const_cast<AttrsNode *>
    linkageType: ''
    returnType: AbstractAttr
    signature: AbstractAttr * AttrsNode::getAttribute(AbstractAttr::Type type) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AttrsNode::matchPath
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:247,1
    - Dst: AttrsNode*::getAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:250,1
    - Dst: AbstractAttr*::isValid
      Src: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - type
    - path
    argTypes:
    - AbstractAttr::Type
    - std::list<AbstractAttr::Type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 255
    functionName: AttrsNode::getAttribute
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Inheritables.cpp
    functionUses: 2
    functionsReached:
    - AbstractAttr*::isValid
    - AttrsNode::matchPath
    - AttrsNode*::getAttribute
    linkageType: ''
    returnType: AbstractAttr
    signature: "AbstractAttr * AttrsNode::getAttribute(AbstractAttr::Type type,\n
      \                                          std::list<AbstractAttr::Type>&path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - parent
    argTypes:
    - ICanonicalUrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 56
    functionName: ISegment::ISegment
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp
    functionUses: 0
    functionsReached:
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: void
    signature: void ISegment::ISegment(const ICanonicalUrl *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: ISegment::~ISegment()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ISegment::~ISegment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CommonEncryption::mergeWith
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:65,1
    - Dst: BaseRepresentation*::intheritEncryption
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:65,1
    - Dst: CommonEncryptionSession::CommonEncryptionSession
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:69,1
    - Dst: CommonEncryptionSession*::start
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:70,1
    - Dst: SegmentChunk*::setEncryptionSession
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - res
    - chunk
    - rep
    argTypes:
    - SharedResources*
    - SegmentChunk*
    - BaseRepresentation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 78
    functionName: ISegment::prepareChunk
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp
    functionUses: 0
    functionsReached:
    - CommonEncryptionSession::CommonEncryptionSession
    - BaseRepresentation*::intheritEncryption
    - SegmentChunk*::setEncryptionSession
    - CommonEncryption::mergeWith
    - CommonEncryptionSession*::start
    linkageType: ''
    returnType: bool
    signature: bool ISegment::prepareChunk(SharedResources *res, SegmentChunk *chunk,
      BaseRepresentation *rep)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getUrlSegment
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:82,1
    - Dst: BytesRange::BytesRange
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:83,1
    - Dst: BytesRange
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:85,1
    - Dst: dynamic_cast<InitSegment *>
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:87,1
    - Dst: dynamic_cast<IndexSegment *>
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:89,1
    - Dst: SharedResources*::getConnManager
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:93,1
    - Dst: BaseRepresentation*::getAdaptationSet
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:94,1
    - Dst: createChunk
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:99,1
    - Dst: ISegment::getDiscontinuitySequenceNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:104,1
    - Dst: ISegment::prepareChunk
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:105,1
    - Dst: SharedResources*::getConnManager
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:107,1
    - Dst: SharedResources*::getConnManager
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:111,1
    - Dst: SharedResources*::getConnManager
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:116,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - res
    - index
    - rep
    argTypes:
    - SharedResources*
    - size_t
    - BaseRepresentation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 120
    functionName: ISegment::toChunk
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<IndexSegment *>
    - ISegment::prepareChunk
    - ISegment::getDiscontinuitySequenceNumber
    - dynamic_cast<InitSegment *>
    - BaseRepresentation*::getAdaptationSet
    - SharedResources*::getConnManager
    - BytesRange
    - createChunk
    - getUrlSegment
    - BytesRange::BytesRange
    linkageType: ''
    returnType: SegmentChunk
    signature: SegmentChunk * ISegment::toChunk(SharedResources *res, size_t index,
      BaseRepresentation *rep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: ISegment::isTemplate
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ISegment::isTemplate() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: ISegment::setByteRange
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ISegment::setByteRange(size_t start, size_t end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - seq
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: ISegment::setSequenceNumber
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ISegment::setSequenceNumber(uint64_t seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: ISegment::getSequenceNumber
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ISegment::getSequenceNumber() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - seq
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: ISegment::setDiscontinuitySequenceNumber
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ISegment::setDiscontinuitySequenceNumber(uint64_t seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: ISegment::getDiscontinuitySequenceNumber
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ISegment::getDiscontinuitySequenceNumber() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: ISegment::getOffset
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ISegment::getOffset() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::imbue
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:161,1
    - Dst: std::locale
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:161,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:162,1
    - Dst: ISegment::getSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:162,1
    - Dst: getUrlSegment
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:163,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:172,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:175,1
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - obj
    - indent
    argTypes:
    - vlc_object_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 158
    functionDepth: 3
    functionLinenumber: 158
    functionLinenumberEnd: 176
    functionName: ISegment::debug
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::imbue
    - ISegment::getSequenceNumber
    - std::stringstream::str
    - std::locale
    - msg_Dbg
    - getUrlSegment
    - std::string
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: void
    signature: void ISegment::debug(vlc_object_t *obj, int indent) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - byte
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: ISegment::contains
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ISegment::contains(size_t byte) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - CommonEncryption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: ISegment::setEncryption
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ISegment::setEncryption(CommonEncryption &e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: ISegment::setDisplayTime
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ISegment::setDisplayTime(vlc_tick_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: ISegment::getDisplayTime
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t ISegment::getDisplayTime() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - ICanonicalUrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: Segment::Segment
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Segment::Segment(ICanonicalUrl *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SegmentChunk::SegmentChunk
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source
    - rep
    argTypes:
    - AbstractChunkSource*
    - BaseRepresentation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: Segment::createChunk
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp
    functionUses: 0
    functionsReached:
    - SegmentChunk::SegmentChunk
    linkageType: ''
    returnType: SegmentChunk
    signature: SegmentChunk * Segment::createChunk(AbstractChunkSource *source, BaseRepresentation
      *rep)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:214,1
    - Dst: SubSegment*::setSequenceNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:218,1
    - Dst: size
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:218,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - subsegment
    argTypes:
    - SubSegment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 221
    functionName: Segment::addSubSegment
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp
    functionUses: 0
    functionsReached:
    - size
    - empty
    - SubSegment*::setSequenceNumber
    - push_back
    linkageType: ''
    returnType: void
    signature: void Segment::addSubSegment(SubSegment *subsegment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:226,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: Segment::~Segment()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    linkageType: ''
    returnType: void
    signature: void Segment::~Segment()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:232,1
    - Dst: Url
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - url
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: Segment::setSourceUrl
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp
    functionUses: 0
    functionsReached:
    - Url
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void Segment::setSourceUrl   ( const std::string &url )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:238,1
    - Dst: ISegment::debug
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:240,1
    - Dst: std::string::append
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:245,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:246,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:246,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:248,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:248,1
    - Dst: Segment::debug
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - obj
    - indent
    argTypes:
    - vlc_object_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 251
    functionName: Segment::debug
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp
    functionUses: 1
    functionsReached:
    - Segment::debug
    - begin
    - std::string::c_str
    - empty
    - msg_Dbg
    - std::string::append
    - end
    - ISegment::debug
    linkageType: ''
    returnType: void
    signature: void Segment::debug(vlc_object_t *obj, int indent) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hasScheme
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:255,1
    - Dst: getParentUrlSegment
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:261,1
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:262,1
    - Dst: Url::append
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: Segment::getUrlSegment
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp
    functionUses: 0
    functionsReached:
    - empty
    - hasScheme
    - getParentUrlSegment
    - Url::append
    linkageType: ''
    returnType: Url
    signature: Url Segment::getUrlSegment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: '& Segment::subSegments() const'
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Segment*>
    signature: std::vector<Segment*> & Segment::subSegments() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parent
    argTypes:
    - ICanonicalUrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: InitSegment::InitSegment
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitSegment::InitSegment(ICanonicalUrl *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parent
    argTypes:
    - ICanonicalUrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: IndexSegment::IndexSegment
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IndexSegment::IndexSegment(ICanonicalUrl *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setByteRange
      Src: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - main
    - start
    - end
    argTypes:
    - Segment*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 290
    functionName: SubSegment::SubSegment
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Segment.cpp
    functionUses: 0
    functionsReached:
    - setByteRange
    linkageType: ''
    returnType: void
    signature: void SubSegment::SubSegment(Segment *main, size_t start, size_t end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: adaptive::playlist::CodecDescriptionList::CodecDescriptionList
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodecDescriptionList(const CodecDescriptionList &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: operator=(const CodecDescriptionList&)
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const CodecDescriptionList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: adaptive::playlist::CodecDescriptionList::CodecDescriptionList
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodecDescriptionList(const CodecDescriptionList &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: operator=(const CodecDescriptionList&)
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const CodecDescriptionList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: adaptive::playlist::CodecDescriptionList::CodecDescriptionList
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodecDescriptionList(const CodecDescriptionList &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: operator=(const CodecDescriptionList&)
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const CodecDescriptionList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: adaptive::playlist::CodecDescriptionList::CodecDescriptionList
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodecDescriptionList(const CodecDescriptionList &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: operator=(const CodecDescriptionList&)
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/CodecDescription.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(const CodecDescriptionList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SegmentInformation::init
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - parent_
    argTypes:
    - SegmentInformation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: SegmentInformation::SegmentInformation
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp
    functionUses: 0
    functionsReached:
    - SegmentInformation::init
    linkageType: ''
    returnType: void
    signature: void SegmentInformation::SegmentInformation(SegmentInformation *parent_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SegmentInformation::init
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - parent_
    argTypes:
    - BasePlaylist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: SegmentInformation::SegmentInformation
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp
    functionUses: 0
    functionsReached:
    - SegmentInformation::init
    linkageType: ''
    returnType: void
    signature: void SegmentInformation::SegmentInformation(BasePlaylist * parent_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: SegmentInformation::init
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SegmentInformation::init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: SegmentInformation::~SegmentInformation()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SegmentInformation::~SegmentInformation()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SegmentInformation::getPlaylist
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: SegmentInformation::getPlaylist
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp
    functionUses: 1
    functionsReached:
    - SegmentInformation::getPlaylist
    linkageType: ''
    returnType: BasePlaylist
    signature: BasePlaylist * SegmentInformation::getPlaylist() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inheritSegmentTemplate
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:78,1
    - Dst: inheritSegmentList
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:80,1
    - Dst: inheritSegmentBase
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: SegmentInformation::inheritSegmentProfile
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp
    functionUses: 0
    functionsReached:
    - inheritSegmentBase
    - inheritSegmentTemplate
    - inheritSegmentList
    linkageType: ''
    returnType: AbstractSegmentBaseType
    signature: AbstractSegmentBaseType * SegmentInformation::inheritSegmentProfile()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SegmentInformation::inheritSegmentProfile
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:91,1
    - Dst: AbstractSegmentBaseType*::getNextMediaSegment
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - i_pos
    - pi_newpos
    - pb_gap
    argTypes:
    - uint64_t
    - uint64_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: SegmentInformation::getNextMediaSegment
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp
    functionUses: 0
    functionsReached:
    - AbstractSegmentBaseType*::getNextMediaSegment
    - SegmentInformation::inheritSegmentProfile
    linkageType: ''
    returnType: Segment
    signature: "Segment *  SegmentInformation::getNextMediaSegment(uint64_t i_pos,uint64_t
      *pi_newpos,\n                                                   bool *pb_gap)
      const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SegmentInformation::inheritSegmentProfile
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:99,1
    - Dst: AbstractSegmentBaseType*::getInitSegment
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: SegmentInformation::getInitSegment
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp
    functionUses: 0
    functionsReached:
    - AbstractSegmentBaseType*::getInitSegment
    - SegmentInformation::inheritSegmentProfile
    linkageType: ''
    returnType: InitSegment
    signature: InitSegment * SegmentInformation::getInitSegment() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SegmentInformation::inheritSegmentProfile
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:107,1
    - Dst: AbstractSegmentBaseType*::getIndexSegment
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: SegmentInformation::getIndexSegment
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp
    functionUses: 0
    functionsReached:
    - AbstractSegmentBaseType*::getIndexSegment
    - SegmentInformation::inheritSegmentProfile
    linkageType: ''
    returnType: IndexSegment
    signature: IndexSegment *SegmentInformation::getIndexSegment() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SegmentInformation::inheritSegmentProfile
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:115,1
    - Dst: AbstractSegmentBaseType*::getMediaSegment
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pos
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: SegmentInformation::getMediaSegment
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp
    functionUses: 0
    functionsReached:
    - AbstractSegmentBaseType*::getMediaSegment
    - SegmentInformation::inheritSegmentProfile
    linkageType: ''
    returnType: Segment
    signature: Segment * SegmentInformation::getMediaSegment(uint64_t pos) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:124,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:124,1
    - Dst: getID
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - adaptive::ID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 130
    functionName: SegmentInformation::getChildByID
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    - getID
    linkageType: ''
    returnType: SegmentInformation
    signature: SegmentInformation * SegmentInformation::getChildByID(const adaptive::ID
      &id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:135,1
    - Dst: AbstractAttr*::isValid
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:136,1
    - Dst: SegmentInformation*::getAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:136,1
    - Dst: inheritSegmentList
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:138,1
    - Dst: SegmentInformation*::inheritSegmentList
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:138,1
    - Dst: getAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:141,1
    - Dst: AbstractAttr*::isValid
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:142,1
    - Dst: SegmentInformation*::getAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:142,1
    - Dst: inheritSegmentTemplate
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:144,1
    - Dst: SegmentInformation*::inheritSegmentTemplate
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:144,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:148,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:148,1
    - Dst: SegmentInformation*::getChildByID
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:151,1
    - Dst: SegmentInformation*::getID
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:151,1
    - Dst: SegmentInformation*::updateWith
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:153,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - updated
    argTypes:
    - SegmentInformation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 156
    functionName: SegmentInformation::updateWith
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp
    functionUses: 0
    functionsReached:
    - SegmentInformation*::inheritSegmentTemplate
    - inheritSegmentList
    - AbstractAttr*::isValid
    - begin
    - SegmentInformation*::inheritSegmentList
    - SegmentInformation*::getChildByID
    - SegmentInformation*::getAttribute
    - end
    - SegmentInformation*::updateWith
    - inheritSegmentTemplate
    - getAttribute
    - SegmentInformation*::getID
    linkageType: ''
    returnType: void
    signature: void SegmentInformation::updateWith(SegmentInformation *updated)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SegmentList *>
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:160,1
    - Dst: getAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:160,1
    - Dst: SegmentList*::pruneByPlaybackTime
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:162,1
    - Dst: static_cast<SegmentTemplate *>
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:164,1
    - Dst: getAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:164,1
    - Dst: SegmentTemplate*::pruneByPlaybackTime
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:166,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:169,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:169,1
    - Dst: SegmentInformation::pruneByPlaybackTime
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - time
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: SegmentInformation::pruneByPlaybackTime
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp
    functionUses: 1
    functionsReached:
    - SegmentList*::pruneByPlaybackTime
    - end
    - begin
    - static_cast<SegmentTemplate *>
    - SegmentInformation::pruneByPlaybackTime
    - static_cast<SegmentList *>
    - SegmentTemplate*::pruneByPlaybackTime
    - getAttribute
    linkageType: ''
    returnType: void
    signature: void SegmentInformation::pruneByPlaybackTime(vlc_tick_t time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:175,1
    - Dst: dynamic_cast<BaseRepresentation *>
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:175,1
    - Dst: static_cast<SegmentList *>
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:177,1
    - Dst: getAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:177,1
    - Dst: SegmentList*::pruneBySegmentNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:179,1
    - Dst: static_cast<SegmentTemplate *>
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:181,1
    - Dst: getAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:181,1
    - Dst: SegmentTemplate*::pruneBySequenceNumber
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - num
    argTypes:
    - uint64_t
    assertStmts:
    - condition: (dynamic_cast<BaseRepresentation *>(this))
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp
    constantsTouched: []
    func_position:
      end: 184
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 184
    functionName: SegmentInformation::pruneBySegmentNumber
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp
    functionUses: 0
    functionsReached:
    - assert
    - static_cast<SegmentTemplate *>
    - SegmentList*::pruneBySegmentNumber
    - static_cast<SegmentList *>
    - dynamic_cast<BaseRepresentation *>
    - getAttribute
    - SegmentTemplate*::pruneBySequenceNumber
    linkageType: ''
    returnType: void
    signature: void SegmentInformation::pruneBySegmentNumber(uint64_t num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: intheritEncryption
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: '& SegmentInformation::intheritEncryption() const'
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp
    functionUses: 0
    functionsReached:
    - intheritEncryption
    linkageType: ''
    returnType: CommonEncryption
    signature: CommonEncryption & SegmentInformation::intheritEncryption() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enc
    argTypes:
    - CommonEncryption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: SegmentInformation::setEncryption
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SegmentInformation::setEncryption(const CommonEncryption &enc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SegmentInformation::getPeriodStart
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: SegmentInformation::getPeriodStart
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp
    functionUses: 1
    functionsReached:
    - SegmentInformation::getPeriodStart
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t SegmentInformation::getPeriodStart() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SegmentInformation::getPeriodDuration
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 212
    functionName: SegmentInformation::getPeriodDuration
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp
    functionUses: 1
    functionsReached:
    - SegmentInformation::getPeriodDuration
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t SegmentInformation::getPeriodDuration() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:217,1
    - Dst: static_cast<SegmentTemplate *>
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:218,1
    - Dst: getAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:219,1
    - Dst: static_cast<SegmentList *>
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:220,1
    - Dst: getAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:221,1
    - Dst: static_cast<SegmentBase *>
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 225
    functionName: SegmentInformation::getProfile
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp
    functionUses: 0
    functionsReached:
    - static_cast<SegmentList *>
    - static_cast<SegmentTemplate *>
    - getAttribute
    - static_cast<SegmentBase *>
    linkageType: ''
    returnType: AbstractSegmentBaseType
    signature: AbstractSegmentBaseType * SegmentInformation::getProfile() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SegmentList *>
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:229,1
    - Dst: getAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:229,1
    - Dst: SegmentList*::updateWith
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:232,1
    - Dst: replaceAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - list
    - restamp
    argTypes:
    - SegmentList*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: SegmentInformation::updateSegmentList
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp
    functionUses: 0
    functionsReached:
    - static_cast<SegmentList *>
    - replaceAttribute
    - getAttribute
    - SegmentList*::updateWith
    linkageType: ''
    returnType: void
    signature: void SegmentInformation::updateSegmentList(SegmentList *list, bool
      restamp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SegmentTemplate *>
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:243,1
    - Dst: getAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:243,1
    - Dst: SegmentTemplate*::updateWith
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:246,1
    - Dst: addAttribute
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - templ
    argTypes:
    - SegmentTemplate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 253
    functionName: SegmentInformation::setSegmentTemplate
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp
    functionUses: 0
    functionsReached:
    - addAttribute
    - SegmentTemplate*::updateWith
    - static_cast<SegmentTemplate *>
    - getAttribute
    linkageType: ''
    returnType: void
    signature: void SegmentInformation::setSegmentTemplate(SegmentTemplate *templ)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Segment*::contains
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:258,1
    - Dst: SubSegment::SubSegment
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:260,1
    - Dst: Segment*::addSubSegment
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - container
    - start
    - end
    - time
    - duration
    argTypes:
    - Segment*
    - size_t
    - size_t
    - stime_t
    - stime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 265
    functionName: insertIntoSegment
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp
    functionUses: 0
    functionsReached:
    - Segment*::contains
    - Segment*::addSubSegment
    - SubSegment::SubSegment
    linkageType: ''
    returnType: void
    signature: "void insertIntoSegment(Segment *container, size_t start,\n                              size_t
      end, stime_t time, stime_t duration)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: inheritSegmentBase
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:269,1
    - Dst: std::vector<SplitPoint>::begin
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:278,1
    - Dst: std::vector<SplitPoint>::end
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:278,1
    - Dst: std::vector<SplitPoint>::begin
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:281,1
    - Dst: insertIntoSegment
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:284,1
    - Dst: std::vector<SplitPoint>::size
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:290,1
    - Dst: insertIntoSegment
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:292,1
    - Dst: std::vector<SplitPoint>::size
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:294,1
    - Dst: insertIntoSegment
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:296,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - splitlist
    argTypes:
    - std::vector<SplitPoint>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 298
    functionName: SegmentInformation::SplitUsingIndex
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp
    functionUses: 0
    functionsReached:
    - std::vector<SplitPoint>::end
    - insertIntoSegment
    - std::vector<SplitPoint>::begin
    - std::vector<SplitPoint>::size
    - inheritSegmentBase
    linkageType: ''
    returnType: void
    signature: void SegmentInformation::SplitUsingIndex(std::vector<SplitPoint> &splitlist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hasScheme
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:302,1
    - Dst: getParentUrlSegment
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:308,1
    - Dst: Url::append
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 313
    functionName: SegmentInformation::getUrlSegment
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentInformation.cpp
    functionUses: 0
    functionsReached:
    - hasScheme
    - getParentUrlSegment
    - Url::append
    linkageType: ''
    returnType: Url
    signature: Url SegmentInformation::getUrlSegment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Url::Url
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Url.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Url::Url()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prepend
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' comp'
    argTypes:
    - Component
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: Url::Url
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Url.cpp
    functionUses: 1
    functionsReached:
    - prepend
    linkageType: ''
    returnType: void
    signature: void Url::Url(const Component & comp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prepend
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:43,1
    - Dst: Component
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: Url::Url
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Url.cpp
    functionUses: 1
    functionsReached:
    - prepend
    - Component
    linkageType: ''
    returnType: void
    signature: void Url::Url(const std::string &str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Url::empty
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: Url::hasScheme
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Url.cpp
    functionUses: 1
    functionsReached:
    - Url::empty
    linkageType: ''
    returnType: bool
    signature: bool Url::hasScheme() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Url::empty
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: Url::empty
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Url.cpp
    functionUses: 2
    functionsReached:
    - Url::empty
    linkageType: ''
    returnType: bool
    signature: bool Url::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:61,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' comp'
    argTypes:
    - Component
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: '& Url::prepend(const Component & comp)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Url.cpp
    functionUses: 0
    functionsReached:
    - begin
    - insert
    linkageType: ''
    returnType: Url
    signature: Url & Url::prepend(const Component & comp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:67,1
    - Dst: back
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:67,1
    - Dst: pop_back
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:68,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' comp'
    argTypes:
    - Component
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: '& Url::append(const Component & comp)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Url.cpp
    functionUses: 0
    functionsReached:
    - pop_back
    - empty
    - push_back
    - back
    linkageType: ''
    returnType: Url
    signature: Url & Url::append(const Component & comp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:75,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:75,1
    - Dst: Url::components::begin
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:75,1
    - Dst: Url::components::end
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - url
    argTypes:
    - Url
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: '& Url::prepend(const Url &url)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Url.cpp
    functionUses: 0
    functionsReached:
    - begin
    - insert
    - Url::components::end
    - Url::components::begin
    linkageType: ''
    returnType: Url
    signature: Url & Url::prepend(const Url &url)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:81,1
    - Dst: Url::components::front
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:81,1
    - Dst: front
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:83,1
    - Dst: size
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:85,1
    - Dst: pop_back
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:86,1
    - Dst: front
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:87,1
    - Dst: std::string::find_first_of
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:88,1
    - Dst: std::string::find_first_of
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:91,1
    - Dst: front
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:93,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:93,1
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:99,1
    - Dst: back
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:99,1
    - Dst: pop_back
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:100,1
    - Dst: insert
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:101,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:101,1
    - Dst: Url::components::begin
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:101,1
    - Dst: Url::components::end
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:101,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - url
    argTypes:
    - Url
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 103
    functionName: '& Url::append(const Url &url)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Url.cpp
    functionUses: 0
    functionsReached:
    - Url::components::front
    - back
    - size
    - insert
    - pop_back
    - Url::components::begin
    - empty
    - std::string::substr
    - std::string::find_first_of
    - end
    - Url::components::end
    - front
    linkageType: ''
    returnType: Url
    signature: Url & Url::append(const Url &url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Url::toString
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: Url::toString
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Url.cpp
    functionUses: 2
    functionsReached:
    - Url::toString
    linkageType: ''
    returnType: std::string
    signature: std::string Url::toString() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:115,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:115,1
    - Dst: BaseRepresentation*::contextualize
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:120,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:124,1
    - Dst: vlc_uri_fixup
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:128,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:128,1
    - Dst: vlc_uri_resolve
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:129,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:129,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:130,1
    - Dst: free
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:131,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:134,1
    - Dst: free
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - index
    - rep
    argTypes:
    - size_t
    - BaseRepresentation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 141
    functionName: Url::toString
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Url.cpp
    functionUses: 2
    functionsReached:
    - vlc_uri_resolve
    - std::string::empty
    - BaseRepresentation*::contextualize
    - begin
    - vlc_uri_fixup
    - free
    - std::string::c_str
    - end
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string Url::toString(size_t index, const BaseRepresentation *rep)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:146,1
    - Dst: length
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:148,1
    - Dst: find_first_of
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:149,1
    - Dst: find_first_of
      Src: /src/vlc/modules/demux/adaptive/playlist/Url.cpp:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' str'
    - templ_
    argTypes:
    - std::string
    - SegmentTemplate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: Url::Component::Component(const std::string & str, const SegmentTemplate
      *templ_)
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/Url.cpp
    functionUses: 0
    functionsReached:
    - length
    - find_first_of
    - empty
    linkageType: ''
    returnType: void
    signature: void Url::Component::Component(const std::string & str, const SegmentTemplate
      *templ_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parent
    argTypes:
    - SegmentInformation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: SegmentBase::SegmentBase
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentBase.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SegmentBase::SegmentBase(SegmentInformation *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: SegmentBase::~SegmentBase   ()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SegmentBase::~SegmentBase   ()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBase.cpp:48,1
    - Dst: size
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBase.cpp:48,1
    - Dst: inheritTimescale
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBase.cpp:51,1
    - Dst: Timescale::isValid
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBase.cpp:52,1
    - Dst: std::for_each
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBase.cpp:56,1
    - Dst: cbegin
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBase.cpp:56,1
    - Dst: cend
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBase.cpp:56,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBase.cpp:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - curnum
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 62
    functionName: SegmentBase::getMinAheadTime
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentBase.cpp
    functionUses: 0
    functionsReached:
    - std::for_each
    - size
    - Timescale::isValid
    - inheritTimescale
    - Timescale::ToTime
    - cend
    - cbegin
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t SegmentBase::getMinAheadTime(uint64_t curnum) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBase.cpp:66,1
    - Dst: at
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBase.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: SegmentBase::getMediaSegment
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentBase.cpp
    functionUses: 0
    functionsReached:
    - size
    - at
    linkageType: ''
    returnType: Segment
    signature: Segment * SegmentBase::getMediaSegment(uint64_t pos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SegmentBase::getMediaSegment
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBase.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - i_pos
    - pi_newpos
    - pb_gap
    argTypes:
    - uint64_t
    - uint64_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: SegmentBase::getNextMediaSegment
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentBase.cpp
    functionUses: 0
    functionsReached:
    - SegmentBase::getMediaSegment
    linkageType: ''
    returnType: Segment
    signature: "Segment *  SegmentBase::getNextMediaSegment(uint64_t i_pos,uint64_t
      *pi_newpos,\n                                            bool *pb_gap) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: SegmentBase::getStartSegmentNumber
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentBase.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SegmentBase::getStartSegmentNumber() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inheritTimescale
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBase.cpp:84,1
    - Dst: Timescale::isValid
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBase.cpp:85,1
    - Dst: Timescale::ToScaled
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBase.cpp:87,1
    - Dst: AbstractSegmentBaseType::findSegmentNumberByScaledTime
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBase.cpp:88,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBase.cpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - time
    - ret
    argTypes:
    - vlc_tick_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 4
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: SegmentBase::getSegmentNumberByTime
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentBase.cpp
    functionUses: 0
    functionsReached:
    - AbstractSegmentBaseType::findSegmentNumberByScaledTime
    - Timescale::ToScaled
    - Timescale::isValid
    - inheritTimescale
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: bool
    signature: bool SegmentBase::getSegmentNumberByTime(vlc_tick_t time, uint64_t
      *ret) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inheritTimescale
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBase.cpp:96,1
    - Dst: SegmentBase::getMediaSegment
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBase.cpp:97,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBase.cpp:100,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBase.cpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - number
    - time
    - dur
    argTypes:
    - uint64_t
    - vlc_tick_t*
    - vlc_tick_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 105
    functionName: SegmentBase::getPlaybackTimeDurationBySegmentNumber
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentBase.cpp
    functionUses: 0
    functionsReached:
    - SegmentBase::getMediaSegment
    - inheritTimescale
    - Timescale::ToTime
    linkageType: ''
    returnType: bool
    signature: "bool SegmentBase::getPlaybackTimeDurationBySegmentNumber(uint64_t
      number,\n                                                         vlc_tick_t
      *time,\n                                                         vlc_tick_t
      *dur) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbstractSegmentBaseType::debug
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBase.cpp:109,1
    - Dst: std::for_each
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBase.cpp:110,1
    - Dst: cbegin
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBase.cpp:110,1
    - Dst: cend
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBase.cpp:110,1
    - Dst: SegmentBase::debug
      Src: /src/vlc/modules/demux/adaptive/playlist/SegmentBase.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - obj
    - indent
    argTypes:
    - vlc_object_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: SegmentBase::debug
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/SegmentBase.cpp
    functionUses: 1
    functionsReached:
    - std::for_each
    - AbstractSegmentBaseType::debug
    - SegmentBase::debug
    - cend
    - cbegin
    linkageType: ''
    returnType: void
    signature: void SegmentBase::debug(vlc_object_t *obj, int indent) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: adaptive::playlist::ICanonicalUrl::setParent
      Src: /src/vlc/modules/demux/adaptive/playlist/ICanonicalUrl.hpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: adaptive::playlist::ICanonicalUrl::ICanonicalUrl
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/ICanonicalUrl.hpp
    functionUses: 0
    functionsReached:
    - adaptive::playlist::ICanonicalUrl::setParent
    linkageType: ''
    returnType: void
    signature: void ICanonicalUrl( const ICanonicalUrl *parent = nullptr )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~ICanonicalUrl()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/ICanonicalUrl.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ICanonicalUrl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parent
    argTypes:
    - ICanonicalUrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: adaptive::playlist::ICanonicalUrl::setParent
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/ICanonicalUrl.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setParent( const ICanonicalUrl *parent )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getUrlSegment
      Src: /src/vlc/modules/demux/adaptive/playlist/ICanonicalUrl.hpp:42,1
    - Dst: Url
      Src: /src/vlc/modules/demux/adaptive/playlist/ICanonicalUrl.hpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: adaptive::playlist::ICanonicalUrl::getParentUrlSegment
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/ICanonicalUrl.hpp
    functionUses: 0
    functionsReached:
    - getUrlSegment
    - Url
    linkageType: ''
    returnType: Url
    signature: Url getParentUrlSegment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: adaptive::playlist::ICanonicalUrl::setParent
      Src: /src/vlc/modules/demux/adaptive/playlist/ICanonicalUrl.hpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: adaptive::playlist::ICanonicalUrl::ICanonicalUrl
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/ICanonicalUrl.hpp
    functionUses: 0
    functionsReached:
    - adaptive::playlist::ICanonicalUrl::setParent
    linkageType: ''
    returnType: void
    signature: void ICanonicalUrl( const ICanonicalUrl *parent = nullptr )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~ICanonicalUrl()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/ICanonicalUrl.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ICanonicalUrl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parent
    argTypes:
    - ICanonicalUrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: adaptive::playlist::ICanonicalUrl::setParent
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/ICanonicalUrl.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setParent( const ICanonicalUrl *parent )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getUrlSegment
      Src: /src/vlc/modules/demux/adaptive/playlist/ICanonicalUrl.hpp:42,1
    - Dst: Url
      Src: /src/vlc/modules/demux/adaptive/playlist/ICanonicalUrl.hpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: adaptive::playlist::ICanonicalUrl::getParentUrlSegment
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/ICanonicalUrl.hpp
    functionUses: 0
    functionsReached:
    - getUrlSegment
    - Url
    linkageType: ''
    returnType: Url
    signature: Url getParentUrlSegment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: adaptive::playlist::ICanonicalUrl::setParent
      Src: /src/vlc/modules/demux/adaptive/playlist/ICanonicalUrl.hpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: adaptive::playlist::ICanonicalUrl::ICanonicalUrl
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/ICanonicalUrl.hpp
    functionUses: 0
    functionsReached:
    - adaptive::playlist::ICanonicalUrl::setParent
    linkageType: ''
    returnType: void
    signature: void ICanonicalUrl( const ICanonicalUrl *parent = nullptr )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~ICanonicalUrl()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/ICanonicalUrl.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ICanonicalUrl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parent
    argTypes:
    - ICanonicalUrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: adaptive::playlist::ICanonicalUrl::setParent
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/ICanonicalUrl.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setParent( const ICanonicalUrl *parent )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getUrlSegment
      Src: /src/vlc/modules/demux/adaptive/playlist/ICanonicalUrl.hpp:42,1
    - Dst: Url
      Src: /src/vlc/modules/demux/adaptive/playlist/ICanonicalUrl.hpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: adaptive::playlist::ICanonicalUrl::getParentUrlSegment
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/ICanonicalUrl.hpp
    functionUses: 0
    functionsReached:
    - getUrlSegment
    - Url
    linkageType: ''
    returnType: Url
    signature: Url getParentUrlSegment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: adaptive::playlist::ICanonicalUrl::setParent
      Src: /src/vlc/modules/demux/adaptive/playlist/ICanonicalUrl.hpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: adaptive::playlist::ICanonicalUrl::ICanonicalUrl
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/ICanonicalUrl.hpp
    functionUses: 0
    functionsReached:
    - adaptive::playlist::ICanonicalUrl::setParent
    linkageType: ''
    returnType: void
    signature: void ICanonicalUrl( const ICanonicalUrl *parent = nullptr )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~ICanonicalUrl()
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/ICanonicalUrl.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ICanonicalUrl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parent
    argTypes:
    - ICanonicalUrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: adaptive::playlist::ICanonicalUrl::setParent
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/ICanonicalUrl.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setParent( const ICanonicalUrl *parent )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getUrlSegment
      Src: /src/vlc/modules/demux/adaptive/playlist/ICanonicalUrl.hpp:42,1
    - Dst: Url
      Src: /src/vlc/modules/demux/adaptive/playlist/ICanonicalUrl.hpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: adaptive::playlist::ICanonicalUrl::getParentUrlSegment
    functionSourceFile: /src/vlc/modules/demux/adaptive/playlist/ICanonicalUrl.hpp
    functionUses: 0
    functionsReached:
    - getUrlSegment
    - Url
    linkageType: ''
    returnType: Url
    signature: Url getParentUrlSegment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: adaptive::http::Downloader::Downloader
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Downloader.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Downloader(Downloader&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& operator=(const Downloader&)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Downloader.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Downloader
    signature: Downloader & operator=(const Downloader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '& operator=(Downloader&&)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Downloader.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Downloader
    signature: Downloader & operator=(Downloader&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: adaptive::http::Downloader::Downloader
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Downloader.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Downloader(Downloader&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& operator=(const Downloader&)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Downloader.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Downloader
    signature: Downloader & operator=(const Downloader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '& operator=(Downloader&&)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Downloader.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Downloader
    signature: Downloader & operator=(Downloader&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: adaptive::http::Downloader::Downloader
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Downloader.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Downloader(Downloader&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& operator=(const Downloader&)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Downloader.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Downloader
    signature: Downloader & operator=(const Downloader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '& operator=(Downloader&&)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Downloader.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Downloader
    signature: Downloader & operator=(Downloader&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: adaptive::http::Downloader::Downloader
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Downloader.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Downloader(Downloader&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& operator=(const Downloader&)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Downloader.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Downloader
    signature: Downloader & operator=(const Downloader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '& operator=(Downloader&&)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Downloader.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Downloader
    signature: Downloader & operator=(Downloader&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: adaptive::http::AbstractConnectionManager::AbstractConnectionManager
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractConnectionManager(AbstractConnectionManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '& operator=(const AbstractConnectionManager&)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AbstractConnectionManager
    signature: AbstractConnectionManager & operator=(const AbstractConnectionManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '& operator=(AbstractConnectionManager&&)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AbstractConnectionManager
    signature: AbstractConnectionManager & operator=(AbstractConnectionManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: adaptive::http::AbstractConnectionManager::AbstractConnectionManager
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractConnectionManager(AbstractConnectionManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '& operator=(const AbstractConnectionManager&)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AbstractConnectionManager
    signature: AbstractConnectionManager & operator=(const AbstractConnectionManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '& operator=(AbstractConnectionManager&&)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AbstractConnectionManager
    signature: AbstractConnectionManager & operator=(AbstractConnectionManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: adaptive::http::AbstractConnectionManager::AbstractConnectionManager
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractConnectionManager(AbstractConnectionManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '& operator=(const AbstractConnectionManager&)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AbstractConnectionManager
    signature: AbstractConnectionManager & operator=(const AbstractConnectionManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '& operator=(AbstractConnectionManager&&)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AbstractConnectionManager
    signature: AbstractConnectionManager & operator=(AbstractConnectionManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: adaptive::http::AbstractConnectionManager::AbstractConnectionManager
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractConnectionManager(AbstractConnectionManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '& operator=(const AbstractConnectionManager&)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AbstractConnectionManager
    signature: AbstractConnectionManager & operator=(const AbstractConnectionManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '& operator=(AbstractConnectionManager&&)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AbstractConnectionManager
    signature: AbstractConnectionManager & operator=(AbstractConnectionManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: adaptive::http::HTTPChunk::onDownload
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void onDownload      (block_t **)  override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: adaptive::http::HTTPChunk::onDownload
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void onDownload      (block_t **)  override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: adaptive::http::HTTPChunk::onDownload
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void onDownload      (block_t **)  override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: adaptive::http::HTTPChunk::onDownload
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void onDownload      (block_t **)  override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_object_
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: AbstractConnection::AbstractConnection
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractConnection::AbstractConnection(vlc_object_t *p_object_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: AbstractConnection::~AbstractConnection()
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractConnection::~AbstractConnection()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConnectionParams
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - params_
    argTypes:
    - ConnectionParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: AbstractConnection::prepare
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached:
    - ConnectionParams
    linkageType: ''
    returnType: bool
    signature: bool AbstractConnection::prepare(const ConnectionParams &params_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: AbstractConnection::getContentLength
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t AbstractConnection::getContentLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: AbstractConnection::getBytesRead
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t AbstractConnection::getBytesRead() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: '& AbstractConnection::getContentType() const'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & AbstractConnection::getContentType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: '& AbstractConnection::getRedirection() const'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConnectionParams
    signature: ConnectionParams & AbstractConnection::getRedirection() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_mgr_create
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p_object_
    - jar
    argTypes:
    - vlc_object_t*
    - struct vlc_http_cookie_jar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: adaptive::http::LibVLCHTTPSource::LibVLCHTTPSource
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached:
    - vlc_http_mgr_create
    linkageType: ''
    returnType: void
    signature: void LibVLCHTTPSource(vlc_object_t *p_object_, struct vlc_http_cookie_jar_t
      *jar)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_mgr_destroy
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: ~LibVLCHTTPSource()
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached:
    - vlc_http_mgr_destroy
    linkageType: ''
    returnType: void
    signature: void ~LibVLCHTTPSource()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_res_read
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 5
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: adaptive::http::LibVLCHTTPSource::readNextBlock
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached:
    - vlc_http_res_read
    linkageType: ''
    returnType: block_t
    signature: block_t *readNextBlock() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_res_destroy
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: adaptive::http::LibVLCHTTPSource::reset
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached:
    - vlc_http_res_destroy
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:135,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:136,1
    - Dst: isValid
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:137,1
    - Dst: getEndByte
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:139,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:141,1
    - Dst: getStartByte
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:142,1
    - Dst: getEndByte
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:142,1
    - Dst: vlc_http_msg_add_header
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:147,1
    - Dst: getStartByte
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct vlc_http_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 132
    functionDepth: 5
    functionLinenumber: 132
    functionLinenumberEnd: 153
    functionName: adaptive::http::LibVLCHTTPSource::formatRequest
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached:
    - getEndByte
    - getStartByte
    - vlc_http_msg_add_header
    - isValid
    linkageType: ''
    returnType: int
    signature: "int formatRequest(const struct vlc_http_resource *,\n                          struct
      vlc_http_msg *req)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_msg_get_status
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:157,1
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:159,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:166,1
    - Dst: getStartByte
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:167,1
    - Dst: getEndByte
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:168,1
    - Dst: getStartByte
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:168,1
    - Dst: getEndByte
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:168,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - resp
    argTypes:
    - struct vlc_http_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 155
    functionDepth: 4
    functionLinenumber: 155
    functionLinenumberEnd: 174
    functionName: adaptive::http::LibVLCHTTPSource::validateResponse
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached:
    - sscanf
    - getStartByte
    - vlc_http_msg_get_status
    - getEndByte
    - vlc_http_msg_get_header
    linkageType: ''
    returnType: int
    signature: int validateResponse(const struct vlc_http_resource *, const struct
      vlc_http_msg *resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<LibVLCHTTPSource **>
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:179,1
    - Dst: adaptive::http::LibVLCHTTPSource::formatRequest
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - res
    - req
    - opaque
    argTypes:
    - struct vlc_http_resource*
    - struct vlc_http_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 6
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: adaptive::http::LibVLCHTTPSource::formatrequest_handler
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached:
    - static_cast<LibVLCHTTPSource **>
    - adaptive::http::LibVLCHTTPSource::formatRequest
    linkageType: ''
    returnType: int
    signature: "int formatrequest_handler(const struct vlc_http_resource *res,\n                                         struct
      vlc_http_msg *req, void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<LibVLCHTTPSource **>
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:185,1
    - Dst: adaptive::http::LibVLCHTTPSource::validateResponse
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - res
    - resp
    - opaque
    argTypes:
    - struct vlc_http_resource*
    - struct vlc_http_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 5
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: adaptive::http::LibVLCHTTPSource::validateresponse_handler
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached:
    - static_cast<LibVLCHTTPSource **>
    - adaptive::http::LibVLCHTTPSource::validateResponse
    linkageType: ''
    returnType: int
    signature: "int validateresponse_handler(const struct vlc_http_resource *res,\n
      \                                           const struct vlc_http_msg *resp,
      void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - psz_username
    - psz_password
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: adaptive::http::LibVLCHTTPSource::setCredentials
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCredentials(const char *psz_username, const char *psz_password)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: adaptive::http::LibVLCHTTPSource::isInitialized
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: adaptive::http::LibVLCHTTPSource::getTotalRead
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getTotalRead() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_msg_get_header
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 4
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: adaptive::http::LibVLCHTTPSource::getResponseHeader
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached:
    - vlc_http_msg_get_header
    linkageType: ''
    returnType: char
    signature: char * getResponseHeader(const char *key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: '& getFinalLocation() const'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConnectionParams
    signature: ConnectionParams & getFinalLocation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_msg_get_size
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 5
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: adaptive::http::LibVLCHTTPSource::getSize
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached:
    - vlc_http_msg_get_size
    linkageType: ''
    returnType: size_t
    signature: size_t getSize() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct restuple *>
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:232,1
    - Dst: std::malloc
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:233,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:234,1
    - Dst: vlc_http_res_init
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:240,1
    - Dst: ConnectionParams::getUrl
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:241,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:242,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:242,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:243,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:243,1
    - Dst: std::free
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - params
    - ua
    - ref
    - range
    argTypes:
    - ConnectionParams
    - std::string
    - std::string
    - BytesRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 250
    functionName: adaptive::http::LibVLCHTTPSource::create
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - static_cast<struct restuple *>
    - std::string::c_str
    - std::malloc
    - std::free
    - vlc_http_res_init
    - unlikely
    - ConnectionParams::getUrl
    linkageType: ''
    returnType: int
    signature: "int create(const ConnectionParams &params,const std::string &ua,\n
      \                  const std::string &ref, const BytesRange &range)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:257,1
    - Dst: has_value
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:257,1
    - Dst: vlc_http_res_set_login
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:258,1
    - Dst: has_value
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:259,1
    - Dst: c_str
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:259,1
    - Dst: has_value
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:260,1
    - Dst: c_str
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:260,1
    - Dst: vlc_http_res_get_status
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:262,1
    - Dst: vlc_http_res_get_basic_realm
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:268,1
    - Dst: vlc_credential_init
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:273,1
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:274,1
    - Dst: getUrl
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:274,1
    - Dst: vlc_credential_get
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:278,1
    - Dst: _
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:279,1
    - Dst: _
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:280,1
    - Dst: adaptive::http::LibVLCHTTPSource::setCredentials
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:283,1
    - Dst: adaptive::http::LibVLCHTTPSource::abortandlogin
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:284,1
    - Dst: vlc_http_res_get_status
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:285,1
    - Dst: vlc_credential_store
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:294,1
    - Dst: vlc_credential_clean
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:297,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:298,1
    - Dst: free
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:299,1
    - Dst: vlc_http_res_get_redirect
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:309,1
    - Dst: ConnectionParams
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:312,1
    - Dst: free
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:313,1
    - Dst: ConnectionParams::getScheme
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:314,1
    - Dst: setPath
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:315,1
    - Dst: ConnectionParams::getPath
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:315,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 252
    functionDepth: 5
    functionLinenumber: 252
    functionLinenumberEnd: 322
    functionName: adaptive::http::LibVLCHTTPSource::connect
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached:
    - vlc_http_res_get_redirect
    - vlc_credential_store
    - vlc_credential_get
    - ConnectionParams::getScheme
    - has_value
    - vlc_http_res_get_basic_realm
    - _
    - adaptive::http::LibVLCHTTPSource::setCredentials
    - setPath
    - vlc_UrlClean
    - ConnectionParams::getPath
    - vlc_UrlParse
    - vlc_http_res_set_login
    - vlc_credential_init
    - adaptive::http::LibVLCHTTPSource::abortandlogin
    - vlc_credential_clean
    - vlc_http_res_get_status
    - free
    - c_str
    - ConnectionParams
    - getUrl
    linkageType: ''
    returnType: RequestStatus
    signature: RequestStatus connect()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:329,1
    - Dst: has_value
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:330,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:330,1
    - Dst: c_str
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:330,1
    - Dst: free
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:331,1
    - Dst: has_value
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:332,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:332,1
    - Dst: c_str
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:332,1
    - Dst: vlc_http_res_open
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:334,1
    - Dst: vlc_http_msg_destroy
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 324
    functionDepth: 3
    functionLinenumber: 324
    functionLinenumberEnd: 343
    functionName: adaptive::http::LibVLCHTTPSource::abortandlogin
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 1
    functionsReached:
    - strdup
    - free
    - vlc_http_msg_destroy
    - vlc_http_res_open
    - c_str
    - has_value
    linkageType: ''
    returnType: int
    signature: int abortandlogin()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AuthStorage*::getJar
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:355,1
    - Dst: adaptive::http::LibVLCHTTPSource::LibVLCHTTPSource
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:355,1
    - Dst: ChunksSourceStream::ChunksSourceStream
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:356,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:358,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:361,1
    - Dst: free
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:362,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:364,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:367,1
    - Dst: free
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - p_object_
    - auth
    argTypes:
    - vlc_object_t*
    - AuthStorage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 352
    functionDepth: 3
    functionLinenumber: 352
    functionLinenumberEnd: 370
    functionName: LibVLCHTTPConnection::LibVLCHTTPConnection
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached:
    - var_InheritString
    - adaptive::http::LibVLCHTTPSource::LibVLCHTTPSource
    - free
    - ChunksSourceStream::ChunksSourceStream
    - AuthStorage*::getJar
    - std::string
    linkageType: ''
    returnType: void
    signature: void LibVLCHTTPConnection::LibVLCHTTPConnection(vlc_object_t *p_object_,
      AuthStorage *auth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibVLCHTTPConnection::reset
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 377
    functionName: LibVLCHTTPConnection::~LibVLCHTTPConnection()
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached:
    - LibVLCHTTPConnection::reset
    linkageType: ''
    returnType: void
    signature: void LibVLCHTTPConnection::~LibVLCHTTPConnection()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LibVLCHTTPConnection::reset
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:381,1
    - Dst: Reset
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:382,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:385,1
    - Dst: BytesRange
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:388,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 392
    functionName: LibVLCHTTPConnection::reset
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 2
    functionsReached:
    - LibVLCHTTPConnection::reset
    - Reset
    - vlc_stream_Delete
    - BytesRange
    - std::string
    linkageType: ''
    returnType: void
    signature: void LibVLCHTTPConnection::reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getHostname
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:398,1
    - Dst: ConnectionParams::getHostname
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:398,1
    - Dst: getScheme
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:399,1
    - Dst: ConnectionParams::getScheme
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:399,1
    - Dst: getPort
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:400,1
    - Dst: ConnectionParams::getPort
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - params_
    argTypes:
    - ConnectionParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 401
    functionName: LibVLCHTTPConnection::canReuse
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached:
    - getScheme
    - ConnectionParams::getPort
    - ConnectionParams::getScheme
    - ConnectionParams::getHostname
    - getPort
    - getHostname
    linkageType: ''
    returnType: bool
    signature: bool LibVLCHTTPConnection::canReuse(const ConnectionParams &params_)
      const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: isInitialized
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:406,1
    - Dst: LibVLCHTTPConnection::reset
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:409,1
    - Dst: setPath
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:412,1
    - Dst: BytesRange::isValid
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:414,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:415,1
    - Dst: getUrl
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:415,1
    - Dst: BytesRange::getStartByte
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:416,1
    - Dst: BytesRange::getEndByte
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:416,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:418,1
    - Dst: getUrl
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:418,1
    - Dst: create
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:420,1
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:426,1
    - Dst: getUrl
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:426,1
    - Dst: vlc_credential_init
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:427,1
    - Dst: vlc_credential_get
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:428,1
    - Dst: setCredentials
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:430,1
    - Dst: vlc_credential_clean
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:431,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:432,1
    - Dst: connect
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:436,1
    - Dst: getFinalLocation
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:440,1
    - Dst: Reset
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:444,1
    - Dst: makeStream
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:445,1
    - Dst: getSize
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:449,1
    - Dst: getResponseHeader
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:451,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:453,1
    - Dst: getResponseHeader
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:455,1
    - Dst: strstr
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:456,1
    - Dst: strstr
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:456,1
    - Dst: vlc_stream_FilterNew
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:458,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 2
    argNames:
    - path
    - range
    argTypes:
    - std::string
    - BytesRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 467
    functionName: LibVLCHTTPConnection::request
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached:
    - getFinalLocation
    - connect
    - getSize
    - isInitialized
    - create
    - BytesRange::getStartByte
    - LibVLCHTTPConnection::reset
    - Reset
    - msg_Dbg
    - strstr
    - BytesRange::getEndByte
    - getResponseHeader
    - setPath
    - vlc_UrlClean
    - vlc_UrlParse
    - makeStream
    - vlc_credential_init
    - BytesRange::isValid
    - vlc_credential_clean
    - vlc_stream_FilterNew
    - std::string
    - setCredentials
    - vlc_credential_get
    - getUrl
    linkageType: ''
    returnType: RequestStatus
    signature: "RequestStatus LibVLCHTTPConnection::request(const std::string &path,\n
      \                                           const BytesRange &range)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:471,1
    - Dst: getTotalRead
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_buffer
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 474
    functionName: LibVLCHTTPConnection::read
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached:
    - getTotalRead
    - vlc_stream_Read
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t LibVLCHTTPConnection::read(void *p_buffer, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LibVLCHTTPConnection::reset
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 481
    functionName: LibVLCHTTPConnection::setUsed
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached:
    - LibVLCHTTPConnection::reset
    linkageType: ''
    returnType: void
    signature: void LibVLCHTTPConnection::setUsed( bool b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 489
    functionName: StreamUrlConnection::StreamUrlConnection
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamUrlConnection::StreamUrlConnection(vlc_object_t *p_object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StreamUrlConnection::reset
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 494
    functionName: StreamUrlConnection::~StreamUrlConnection()
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached:
    - StreamUrlConnection::reset
    linkageType: ''
    returnType: void
    signature: void StreamUrlConnection::~StreamUrlConnection()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:499,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:503,1
    - Dst: BytesRange
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:504,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 505
    functionName: StreamUrlConnection::reset
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 1
    functionsReached:
    - std::string
    - BytesRange
    - vlc_stream_Delete
    linkageType: ''
    returnType: void
    signature: void StreamUrlConnection::reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConnectionParams::usesAccess
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:509,1
    - Dst: getHostname
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:511,1
    - Dst: ConnectionParams::getHostname
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:511,1
    - Dst: getScheme
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:512,1
    - Dst: ConnectionParams::getScheme
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:512,1
    - Dst: getPort
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:513,1
    - Dst: ConnectionParams::getPort
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:513,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - params_
    argTypes:
    - ConnectionParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 514
    functionName: StreamUrlConnection::canReuse
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached:
    - getScheme
    - ConnectionParams::getPort
    - ConnectionParams::getScheme
    - ConnectionParams::getHostname
    - getPort
    - getHostname
    - ConnectionParams::usesAccess
    linkageType: ''
    returnType: bool
    signature: bool StreamUrlConnection::canReuse(const ConnectionParams &params_)
      const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: StreamUrlConnection::reset
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:519,1
    - Dst: setPath
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:522,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:524,1
    - Dst: getUrl
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:524,1
    - Dst: BytesRange::isValid
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:525,1
    - Dst: BytesRange::getStartByte
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:525,1
    - Dst: vlc_stream_NewURL
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:527,1
    - Dst: getUrl
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:527,1
    - Dst: stream_ContentType
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:531,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:534,1
    - Dst: free
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:535,1
    - Dst: vlc_stream_FilterNew
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:538,1
    - Dst: BytesRange::isValid
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:542,1
    - Dst: BytesRange::getEndByte
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:542,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:544,1
    - Dst: BytesRange::getStartByte
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:544,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:546,1
    - Dst: BytesRange::getEndByte
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:550,1
    - Dst: BytesRange::getStartByte
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:550,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:554,1
    - Dst: BytesRange::isValid
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:556,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - path
    - range
    argTypes:
    - std::string
    - BytesRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 560
    functionName: StreamUrlConnection::request
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached:
    - BytesRange::getStartByte
    - vlc_stream_FilterNew
    - StreamUrlConnection::reset
    - vlc_stream_GetSize
    - vlc_stream_Delete
    - free
    - std::string
    - msg_Dbg
    - BytesRange::getEndByte
    - vlc_stream_Seek
    - stream_ContentType
    - getUrl
    - setPath
    - BytesRange::isValid
    - vlc_stream_NewURL
    linkageType: ''
    returnType: RequestStatus
    signature: "RequestStatus StreamUrlConnection::request(const std::string &path,\n
      \                                          const BytesRange &range)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:577,1
    - Dst: StreamUrlConnection::reset
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:584,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - p_buffer
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 589
    functionName: StreamUrlConnection::read
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached:
    - StreamUrlConnection::reset
    - vlc_stream_Read
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t StreamUrlConnection::read(void *p_buffer, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StreamUrlConnection::reset
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 596
    functionName: StreamUrlConnection::setUsed
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached:
    - StreamUrlConnection::reset
    linkageType: ''
    returnType: void
    signature: void StreamUrlConnection::setUsed( bool b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - auth
    argTypes:
    - AuthStorage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 602
    functionName: LibVLCHTTPConnectionFactory::LibVLCHTTPConnectionFactory
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LibVLCHTTPConnectionFactory::LibVLCHTTPConnectionFactory( AuthStorage
      *auth )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConnectionParams::getScheme
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:607,1
    - Dst: ConnectionParams::getScheme
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:607,1
    - Dst: ConnectionParams::getHostname
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:608,1
    - Dst: LibVLCHTTPConnection::LibVLCHTTPConnection
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - p_object
    - params
    argTypes:
    - vlc_object_t*
    - ConnectionParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 604
    functionDepth: 4
    functionLinenumber: 604
    functionLinenumberEnd: 611
    functionName: LibVLCHTTPConnectionFactory::createConnection
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached:
    - ConnectionParams::getScheme
    - LibVLCHTTPConnection::LibVLCHTTPConnection
    - ConnectionParams::getHostname
    linkageType: ''
    returnType: AbstractConnection
    signature: "AbstractConnection * LibVLCHTTPConnectionFactory::createConnection(vlc_object_t
      *p_object,\n                                                                  const
      ConnectionParams &params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 617
    functionName: StreamUrlConnectionFactory::StreamUrlConnectionFactory
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamUrlConnectionFactory::StreamUrlConnectionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StreamUrlConnection::StreamUrlConnection
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 623
    functionName: StreamUrlConnectionFactory::createConnection
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.cpp
    functionUses: 0
    functionsReached:
    - StreamUrlConnection::StreamUrlConnection
    linkageType: ''
    returnType: AbstractConnection
    signature: "AbstractConnection * StreamUrlConnectionFactory::createConnection(vlc_object_t
      *p_object,\n                                                                  const
      ConnectionParams &)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:49,1
    - Dst: getEndByte
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:49,1
    - Dst: getEndByte
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:50,1
    - Dst: getStartByte
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - t
    - range
    argTypes:
    - ChunkType
    - BytesRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: AbstractChunkSource::AbstractChunkSource
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 0
    functionsReached:
    - getEndByte
    - getStartByte
    - isValid
    linkageType: ''
    returnType: void
    signature: void AbstractChunkSource::AbstractChunkSource(ChunkType t, const BytesRange
      &range)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: AbstractChunkSource::~AbstractChunkSource()
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractChunkSource::~AbstractChunkSource()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '& AbstractChunkSource::getBytesRange() const'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BytesRange
    signature: BytesRange & AbstractChunkSource::getBytesRange() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: '& AbstractChunkSource::getContentType() const'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & AbstractChunkSource::getContentType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: AbstractChunkSource::getRequestStatus
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RequestStatus
    signature: RequestStatus AbstractChunkSource::getRequestStatus() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: '& AbstractChunkSource::getStorageID() const'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StorageID
    signature: StorageID & AbstractChunkSource::getStorageID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: AbstractChunkSource::getChunkType
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ChunkType
    signature: ChunkType AbstractChunkSource::getChunkType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - source_
    argTypes:
    - AbstractChunkSource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: AbstractChunk::AbstractChunk
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractChunk::AbstractChunk(AbstractChunkSource *source_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: recycle
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: AbstractChunk::~AbstractChunk()
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 0
    functionsReached:
    - recycle
    linkageType: ''
    returnType: void
    signature: void AbstractChunk::~AbstractChunk()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getContentType
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: '& AbstractChunk::getContentType() const'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 0
    functionsReached:
    - getContentType
    linkageType: ''
    returnType: std::string
    signature: std::string & AbstractChunk::getContentType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbstractChunk::getRequestStatus
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: AbstractChunk::getRequestStatus
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 1
    functionsReached:
    - AbstractChunk::getRequestStatus
    linkageType: ''
    returnType: RequestStatus
    signature: RequestStatus AbstractChunk::getRequestStatus() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: AbstractChunk::getBytesRead
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t AbstractChunk::getBytesRead() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getBytesRange
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:111,1
    - Dst: getBytesRange
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: AbstractChunk::getStartByteInFile
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 0
    functionsReached:
    - getBytesRange
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t AbstractChunk::getStartByteInFile() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AbstractChunk::readBlock
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:122,1
    - Dst: AbstractChunk::read
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:122,1
    - Dst: onDownload
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - size
    - b_block
    argTypes:
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: AbstractChunk::doRead
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 0
    functionsReached:
    - onDownload
    - AbstractChunk::read
    - AbstractChunk::readBlock
    linkageType: ''
    returnType: block_t
    signature: block_t * AbstractChunk::doRead(size_t size, bool b_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbstractChunk::hasMoreData
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: AbstractChunk::hasMoreData
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 1
    functionsReached:
    - AbstractChunk::hasMoreData
    linkageType: ''
    returnType: bool
    signature: bool AbstractChunk::hasMoreData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbstractChunk::doRead
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: AbstractChunk::readBlock
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 1
    functionsReached:
    - AbstractChunk::doRead
    linkageType: ''
    returnType: block_t
    signature: block_t * AbstractChunk::readBlock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbstractChunk::doRead
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: AbstractChunk::read
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 1
    functionsReached:
    - AbstractChunk::doRead
    linkageType: ''
    returnType: block_t
    signature: block_t * AbstractChunk::read(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setUseAccess
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:161,1
    - Dst: HTTPChunkSource::setIdentifier
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:162,1
    - Dst: HTTPChunkSource::init
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - ' url'
    - manager
    - id
    - t
    - range
    - access
    argTypes:
    - std::string
    - AbstractConnectionManager*
    - adaptive::ID
    - ChunkType
    - BytesRange
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 165
    functionName: HTTPChunkSource::HTTPChunkSource
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 0
    functionsReached:
    - HTTPChunkSource::init
    - setUseAccess
    - HTTPChunkSource::setIdentifier
    linkageType: ''
    returnType: void
    signature: "void HTTPChunkSource::HTTPChunkSource(const std::string& url, AbstractConnectionManager
      *manager,\n                                 const adaptive::ID &id, ChunkType
      t, const BytesRange &range,\n                                 bool access)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setUsed
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: HTTPChunkSource::~HTTPChunkSource()
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 0
    functionsReached:
    - setUsed
    linkageType: ''
    returnType: void
    signature: void HTTPChunkSource::~HTTPChunkSource()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ConnectionParams
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:176,1
    - Dst: setUseAccess
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:177,1
    - Dst: usesAccess
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:177,1
    - Dst: getScheme
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:179,1
    - Dst: getScheme
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:179,1
    - Dst: getPath
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:182,1
    - Dst: getHostname
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - url
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: HTTPChunkSource::init
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 1
    functionsReached:
    - getScheme
    - usesAccess
    - getPath
    - setUseAccess
    - ConnectionParams
    - getHostname
    linkageType: ''
    returnType: bool
    signature: bool HTTPChunkSource::init(const std::string &url)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: HTTPChunkSource::hasMoreData
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HTTPChunkSource::hasMoreData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: HTTPChunkSource::getBytesRead
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t HTTPChunkSource::getBytesRead() const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: HTTPChunkSource::prepare
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:206,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:221,1
    - Dst: HTTPChunkSource::read
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:228,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:231,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:234,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:243,1
    - Dst: HTTPChunkSource::getBytesRead
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:245,1
    - Dst: updateDownloadRate
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:248,1
    - Dst: HTTPChunkSource::getBytesRead
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:249,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 1
    argNames:
    - readsize
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 256
    functionName: HTTPChunkSource::read
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 1
    functionsReached:
    - vlc_tick_now
    - block_Release
    - HTTPChunkSource::getBytesRead
    - updateDownloadRate
    - HTTPChunkSource::prepare
    - HTTPChunkSource::read
    - block_Alloc
    linkageType: ''
    returnType: block_t
    signature: block_t * HTTPChunkSource::read(size_t readsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: HTTPChunkSource::recycle
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HTTPChunkSource::recycle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:265,1
    - Dst: BytesRange::getStartByte
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:265,1
    - Dst: std::to_string
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:265,1
    - Dst: BytesRange::getEndByte
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - r
    argTypes:
    - std::string
    - BytesRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: HTTPChunkSource::makeStorageID
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 0
    functionsReached:
    - BytesRange::getEndByte
    - BytesRange::getStartByte
    - std::to_string
    linkageType: ''
    returnType: StorageID
    signature: StorageID HTTPChunkSource::makeStorageID(const std::string &s, const
      BytesRange &r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getContentType
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 275
    functionName: '& HTTPChunkSource::getContentType() const'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 0
    functionsReached:
    - getContentType
    linkageType: ''
    returnType: std::string
    signature: std::string & HTTPChunkSource::getContentType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPChunkSource::makeStorageID
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - r
    argTypes:
    - std::string
    - BytesRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: HTTPChunkSource::setIdentifier
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 1
    functionsReached:
    - HTTPChunkSource::makeStorageID
    linkageType: ''
    returnType: void
    signature: void HTTPChunkSource::setIdentifier(const std::string &s, const BytesRange
      &r)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:292,1
    - Dst: getConnection
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:299,1
    - Dst: request
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:304,1
    - Dst: ConnectionParams::getPath
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:304,1
    - Dst: getRedirection
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:309,1
    - Dst: setUsed
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:310,1
    - Dst: ConnectionParams::getUrl
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:312,1
    - Dst: getContentLength
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:320,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:322,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 327
    functionName: HTTPChunkSource::prepare
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 1
    functionsReached:
    - vlc_tick_now
    - setUsed
    - getConnection
    - getRedirection
    - request
    - getContentLength
    - ConnectionParams::getUrl
    - ConnectionParams::getPath
    linkageType: ''
    returnType: bool
    signature: bool HTTPChunkSource::prepare()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPChunkSource::read
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: HTTPChunkSource::readBlock
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 0
    functionsReached:
    - HTTPChunkSource::read
    linkageType: ''
    returnType: block_t
    signature: block_t * HTTPChunkSource::readBlock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - ' url'
    - manager
    - sourceid
    - type
    - range
    - access
    argTypes:
    - std::string
    - AbstractConnectionManager*
    - adaptive::ID
    - ChunkType
    - BytesRange
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 348
    functionName: HTTPChunkBufferedSource::HTTPChunkBufferedSource
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HTTPChunkBufferedSource::HTTPChunkBufferedSource(const std::string&
      url, AbstractConnectionManager *manager,\n                                                 const
      adaptive::ID &sourceid,\n                                                 ChunkType
      type, const BytesRange &range,\n                                                 bool
      access)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:353,1
    - Dst: wait
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:358,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 368
    functionName: HTTPChunkBufferedSource::~HTTPChunkBufferedSource()
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 0
    functionsReached:
    - block_ChainRelease
    - cancel
    - wait
    linkageType: ''
    returnType: void
    signature: void HTTPChunkBufferedSource::~HTTPChunkBufferedSource()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 374
    functionName: HTTPChunkBufferedSource::isDone
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HTTPChunkBufferedSource::isDone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 380
    functionName: HTTPChunkBufferedSource::hold
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HTTPChunkBufferedSource::hold()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 387
    functionName: HTTPChunkBufferedSource::release
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 0
    functionsReached:
    - signal
    linkageType: ''
    returnType: void
    signature: void HTTPChunkBufferedSource::release()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: prepare
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:393,1
    - Dst: signal
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:397,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:408,1
    - Dst: HTTPChunkBufferedSource::read
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:422,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:425,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:429,1
    - Dst: signal
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:433,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:440,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:449,1
    - Dst: signal
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:454,1
    - Dst: updateDownloadRate
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:459,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 1
    argNames:
    - readsize
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 462
    functionName: HTTPChunkBufferedSource::bufferize
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 0
    functionsReached:
    - HTTPChunkBufferedSource::read
    - block_Release
    - vlc_tick_now
    - updateDownloadRate
    - prepare
    - block_ChainLastAppend
    - block_Alloc
    - signal
    linkageType: ''
    returnType: void
    signature: void HTTPChunkBufferedSource::bufferize(size_t readsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 468
    functionName: HTTPChunkBufferedSource::hasMoreData
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HTTPChunkBufferedSource::hasMoreData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: recycleSource
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 477
    functionName: HTTPChunkBufferedSource::recycle
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 0
    functionsReached:
    - recycleSource
    linkageType: ''
    returnType: void
    signature: void HTTPChunkBufferedSource::recycle()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:486,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:491,1
    - Dst: block_Duplicate
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:497,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 505
    functionName: HTTPChunkBufferedSource::readBlock
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 0
    functionsReached:
    - block_Duplicate
    - block_Alloc
    - wait
    linkageType: ''
    returnType: block_t
    signature: block_t * HTTPChunkBufferedSource::readBlock()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:512,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:515,1
    - Dst: std::min
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:524,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:525,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - readsize
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 543
    functionName: HTTPChunkBufferedSource::read
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 1
    functionsReached:
    - memcpy
    - block_Alloc
    - std::min
    - wait
    linkageType: ''
    returnType: block_t
    signature: block_t * HTTPChunkBufferedSource::read(size_t readsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbstractConnectionManager*::makeSource
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:547,1
    - Dst: AbstractConnectionManager*::start
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - url
    - manager
    - id
    - type
    - range
    argTypes:
    - std::string
    - AbstractConnectionManager*
    - adaptive::ID
    - ChunkType
    - BytesRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 550
    functionName: HTTPChunk::HTTPChunk
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 1
    functionsReached:
    - AbstractConnectionManager*::makeSource
    - AbstractConnectionManager*::start
    linkageType: ''
    returnType: void
    signature: "void HTTPChunk::HTTPChunk(const std::string &url, AbstractConnectionManager
      *manager,\n                     const adaptive::ID &id, ChunkType type, const
      BytesRange &range)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: HTTPChunk::~HTTPChunk()
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HTTPChunk::~HTTPChunk()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - source
    argTypes:
    - ChunkInterface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 561
    functionName: ProbeableChunk::ProbeableChunk
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProbeableChunk::ProbeableChunk(ChunkInterface *source)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 568
    functionName: ProbeableChunk::~ProbeableChunk()
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 0
    functionsReached:
    - block_Release
    linkageType: ''
    returnType: void
    signature: void ProbeableChunk::~ProbeableChunk()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getContentType
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 573
    functionName: '& ProbeableChunk::getContentType() const'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 0
    functionsReached:
    - getContentType
    linkageType: ''
    returnType: std::string
    signature: std::string & ProbeableChunk::getContentType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProbeableChunk::getRequestStatus
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 578
    functionName: ProbeableChunk::getRequestStatus
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 1
    functionsReached:
    - ProbeableChunk::getRequestStatus
    linkageType: ''
    returnType: RequestStatus
    signature: RequestStatus ProbeableChunk::getRequestStatus() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProbeableChunk::readBlock
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 587
    functionName: ProbeableChunk::readBlock
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 1
    functionsReached:
    - ProbeableChunk::readBlock
    linkageType: ''
    returnType: block_t
    signature: block_t * ProbeableChunk::readBlock()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ProbeableChunk::read
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:592,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:595,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:598,1
    - Dst: ProbeableChunk::read
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:608,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:612,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:614,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:616,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - sz
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 622
    functionName: ProbeableChunk::read
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 1
    functionsReached:
    - block_Release
    - block_Realloc
    - memcpy
    - ProbeableChunk::read
    - block_Alloc
    linkageType: ''
    returnType: block_t
    signature: block_t * ProbeableChunk::read(size_t sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProbeableChunk::hasMoreData
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 627
    functionName: ProbeableChunk::hasMoreData
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 1
    functionsReached:
    - ProbeableChunk::hasMoreData
    linkageType: ''
    returnType: bool
    signature: bool ProbeableChunk::hasMoreData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProbeableChunk::getBytesRead
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 632
    functionName: ProbeableChunk::getBytesRead
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 1
    functionsReached:
    - ProbeableChunk::getBytesRead
    linkageType: ''
    returnType: size_t
    signature: size_t ProbeableChunk::getBytesRead() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ProbeableChunk::readBlock
      Src: /src/vlc/modules/demux/adaptive/http/Chunk.cpp:637,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pp
    argTypes:
    - uint8_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 642
    functionName: ProbeableChunk::peek
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Chunk.cpp
    functionUses: 0
    functionsReached:
    - ProbeableChunk::readBlock
    linkageType: ''
    returnType: size_t
    signature: size_t ProbeableChunk::peek(const uint8_t **pp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/adaptive/http/AuthStorage.cpp:31,1
    - Dst: static_cast<vlc_http_cookie_jar_t *>
      Src: /src/vlc/modules/demux/adaptive/http/AuthStorage.cpp:32,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/demux/adaptive/http/AuthStorage.cpp:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: AuthStorage::AuthStorage
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/AuthStorage.cpp
    functionUses: 1
    functionsReached:
    - var_InheritBool
    - static_cast<vlc_http_cookie_jar_t *>
    - var_InheritAddress
    linkageType: ''
    returnType: void
    signature: void AuthStorage::AuthStorage( vlc_object_t *p_obj )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: AuthStorage::~AuthStorage()
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/AuthStorage.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuthStorage::~AuthStorage()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_cookies_store
      Src: /src/vlc/modules/demux/adaptive/http/AuthStorage.cpp:46,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/adaptive/http/AuthStorage.cpp:46,1
    - Dst: ConnectionParams::getHostname
      Src: /src/vlc/modules/demux/adaptive/http/AuthStorage.cpp:47,1
    - Dst: ConnectionParams::getPath
      Src: /src/vlc/modules/demux/adaptive/http/AuthStorage.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cookie
    - params
    argTypes:
    - std::string
    - ConnectionParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: AuthStorage::addCookie
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/AuthStorage.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - vlc_http_cookies_store
    - ConnectionParams::getHostname
    - ConnectionParams::getPath
    linkageType: ''
    returnType: void
    signature: void AuthStorage::addCookie( const std::string &cookie, const ConnectionParams
      &params )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/vlc/modules/demux/adaptive/http/AuthStorage.cpp:53,1
    - Dst: vlc_http_cookies_fetch
      Src: /src/vlc/modules/demux/adaptive/http/AuthStorage.cpp:54,1
    - Dst: ConnectionParams::getHostname
      Src: /src/vlc/modules/demux/adaptive/http/AuthStorage.cpp:55,1
    - Dst: ConnectionParams::getPath
      Src: /src/vlc/modules/demux/adaptive/http/AuthStorage.cpp:56,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/adaptive/http/AuthStorage.cpp:60,1
    - Dst: free
      Src: /src/vlc/modules/demux/adaptive/http/AuthStorage.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - params
    - secure
    argTypes:
    - ConnectionParams
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: AuthStorage::getCookie
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/AuthStorage.cpp
    functionUses: 0
    functionsReached:
    - vlc_http_cookies_fetch
    - free
    - ConnectionParams::getHostname
    - std::string
    - ConnectionParams::getPath
    linkageType: ''
    returnType: std::string
    signature: std::string AuthStorage::getCookie( const ConnectionParams &params,
      bool secure )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: AuthStorage::getJar
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/AuthStorage.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_http_cookie_jar_t
    signature: vlc_http_cookie_jar_t *AuthStorage::getJar() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: adaptive::http::BackendPrefInterface::BackendPrefInterface
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/ConnectionParams.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BackendPrefInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: adaptive::http::BackendPrefInterface::usesAccess
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/ConnectionParams.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool usesAccess() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: adaptive::http::BackendPrefInterface::setUseAccess
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/ConnectionParams.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setUseAccess(bool b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: adaptive::http::BackendPrefInterface::BackendPrefInterface
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/ConnectionParams.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BackendPrefInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: adaptive::http::BackendPrefInterface::usesAccess
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/ConnectionParams.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool usesAccess() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: adaptive::http::BackendPrefInterface::setUseAccess
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/ConnectionParams.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setUseAccess(bool b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: adaptive::http::BackendPrefInterface::BackendPrefInterface
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/ConnectionParams.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BackendPrefInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: adaptive::http::BackendPrefInterface::usesAccess
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/ConnectionParams.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool usesAccess() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: adaptive::http::BackendPrefInterface::setUseAccess
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/ConnectionParams.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setUseAccess(bool b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: adaptive::http::BackendPrefInterface::BackendPrefInterface
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/ConnectionParams.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BackendPrefInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: adaptive::http::BackendPrefInterface::usesAccess
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/ConnectionParams.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool usesAccess() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: adaptive::http::BackendPrefInterface::setUseAccess
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/ConnectionParams.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setUseAccess(bool b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: Downloader::Downloader
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Downloader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Downloader::Downloader()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_clone
      Src: /src/vlc/modules/demux/adaptive/http/Downloader.cpp:43,1
    - Dst: static_cast<void *>
      Src: /src/vlc/modules/demux/adaptive/http/Downloader.cpp:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: Downloader::start
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Downloader.cpp
    functionUses: 0
    functionsReached:
    - static_cast<void *>
    - vlc_clone
    linkageType: ''
    returnType: bool
    signature: bool Downloader::start()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Downloader::kill
      Src: /src/vlc/modules/demux/adaptive/http/Downloader.cpp:53,1
    - Dst: vlc_join
      Src: /src/vlc/modules/demux/adaptive/http/Downloader.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: Downloader::~Downloader()
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Downloader.cpp
    functionUses: 0
    functionsReached:
    - Downloader::kill
    - vlc_join
    linkageType: ''
    returnType: void
    signature: void Downloader::~Downloader()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/vlc/modules/demux/adaptive/http/Downloader.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: Downloader::kill
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Downloader.cpp
    functionUses: 1
    functionsReached:
    - signal
    linkageType: ''
    returnType: void
    signature: void Downloader::kill()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPChunkBufferedSource*::hold
      Src: /src/vlc/modules/demux/adaptive/http/Downloader.cpp:69,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/adaptive/http/Downloader.cpp:70,1
    - Dst: signal
      Src: /src/vlc/modules/demux/adaptive/http/Downloader.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - source
    argTypes:
    - HTTPChunkBufferedSource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: Downloader::schedule
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Downloader.cpp
    functionUses: 0
    functionsReached:
    - signal
    - HTTPChunkBufferedSource*::hold
    - push_back
    linkageType: ''
    returnType: void
    signature: void Downloader::schedule(HTTPChunkBufferedSource *source)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/vlc/modules/demux/adaptive/http/Downloader.cpp:80,1
    - Dst: HTTPChunkBufferedSource*::isDone
      Src: /src/vlc/modules/demux/adaptive/http/Downloader.cpp:83,1
    - Dst: remove
      Src: /src/vlc/modules/demux/adaptive/http/Downloader.cpp:85,1
    - Dst: HTTPChunkBufferedSource*::release
      Src: /src/vlc/modules/demux/adaptive/http/Downloader.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - source
    argTypes:
    - HTTPChunkBufferedSource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 88
    functionName: Downloader::cancel
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Downloader.cpp
    functionUses: 0
    functionsReached:
    - HTTPChunkBufferedSource*::isDone
    - remove
    - HTTPChunkBufferedSource*::release
    - wait
    linkageType: ''
    returnType: void
    signature: void Downloader::cancel(HTTPChunkBufferedSource *source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/demux/adaptive/http/Downloader.cpp:92,1
    - Dst: static_cast<Downloader *>
      Src: /src/vlc/modules/demux/adaptive/http/Downloader.cpp:93,1
    - Dst: Downloader*::Run
      Src: /src/vlc/modules/demux/adaptive/http/Downloader.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: Downloader::downloaderThread
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Downloader.cpp
    functionUses: 0
    functionsReached:
    - Downloader*::Run
    - vlc_thread_set_name
    - static_cast<Downloader *>
    linkageType: ''
    returnType: void
    signature: void * Downloader::downloaderThread(void *opaque)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/vlc/modules/demux/adaptive/http/Downloader.cpp:102,1
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/http/Downloader.cpp:104,1
    - Dst: wait
      Src: /src/vlc/modules/demux/adaptive/http/Downloader.cpp:105,1
    - Dst: unlock
      Src: /src/vlc/modules/demux/adaptive/http/Downloader.cpp:109,1
    - Dst: front
      Src: /src/vlc/modules/demux/adaptive/http/Downloader.cpp:113,1
    - Dst: unlock
      Src: /src/vlc/modules/demux/adaptive/http/Downloader.cpp:114,1
    - Dst: bufferize
      Src: /src/vlc/modules/demux/adaptive/http/Downloader.cpp:115,1
    - Dst: lock
      Src: /src/vlc/modules/demux/adaptive/http/Downloader.cpp:116,1
    - Dst: isDone
      Src: /src/vlc/modules/demux/adaptive/http/Downloader.cpp:117,1
    - Dst: pop_front
      Src: /src/vlc/modules/demux/adaptive/http/Downloader.cpp:119,1
    - Dst: release
      Src: /src/vlc/modules/demux/adaptive/http/Downloader.cpp:120,1
    - Dst: signal
      Src: /src/vlc/modules/demux/adaptive/http/Downloader.cpp:124,1
    - Dst: unlock
      Src: /src/vlc/modules/demux/adaptive/http/Downloader.cpp:125,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 127
    functionName: Downloader::Run
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/Downloader.cpp
    functionUses: 0
    functionsReached:
    - lock
    - release
    - empty
    - bufferize
    - wait
    - isDone
    - signal
    - unlock
    - pop_front
    - front
    linkageType: ''
    returnType: void
    signature: void Downloader::Run()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: BytesRange::BytesRange
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/BytesRange.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BytesRange::BytesRange()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: BytesRange::BytesRange
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/BytesRange.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BytesRange::BytesRange(size_t start, size_t end)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: BytesRange::isValid
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/BytesRange.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BytesRange::isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: BytesRange::getStartByte
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/BytesRange.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t BytesRange::getStartByte() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: BytesRange::getEndByte
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/BytesRange.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t BytesRange::getEndByte() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: adaptive::http::AbstractConnection::AbstractConnection
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractConnection(AbstractConnection&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: '& operator=(const AbstractConnection&)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AbstractConnection
    signature: AbstractConnection & operator=(const AbstractConnection&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& operator=(AbstractConnection&&)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AbstractConnection
    signature: AbstractConnection & operator=(AbstractConnection&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: adaptive::http::AbstractConnectionFactory::AbstractConnectionFactory
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractConnectionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: ~AbstractConnectionFactory()
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AbstractConnectionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: ~LibVLCHTTPConnectionFactory()
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LibVLCHTTPConnectionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: ~StreamUrlConnectionFactory()
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StreamUrlConnectionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: adaptive::http::AbstractConnection::AbstractConnection
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractConnection(AbstractConnection&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: '& operator=(const AbstractConnection&)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AbstractConnection
    signature: AbstractConnection & operator=(const AbstractConnection&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& operator=(AbstractConnection&&)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AbstractConnection
    signature: AbstractConnection & operator=(AbstractConnection&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: adaptive::http::AbstractConnectionFactory::AbstractConnectionFactory
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractConnectionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: ~AbstractConnectionFactory()
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AbstractConnectionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: ~LibVLCHTTPConnectionFactory()
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LibVLCHTTPConnectionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: ~StreamUrlConnectionFactory()
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StreamUrlConnectionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: adaptive::http::AbstractConnection::AbstractConnection
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractConnection(AbstractConnection&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: '& operator=(const AbstractConnection&)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AbstractConnection
    signature: AbstractConnection & operator=(const AbstractConnection&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& operator=(AbstractConnection&&)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AbstractConnection
    signature: AbstractConnection & operator=(AbstractConnection&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: adaptive::http::AbstractConnectionFactory::AbstractConnectionFactory
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractConnectionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: ~AbstractConnectionFactory()
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AbstractConnectionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: ~LibVLCHTTPConnectionFactory()
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LibVLCHTTPConnectionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: ~StreamUrlConnectionFactory()
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StreamUrlConnectionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: adaptive::http::AbstractConnection::AbstractConnection
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractConnection(AbstractConnection&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: '& operator=(const AbstractConnection&)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AbstractConnection
    signature: AbstractConnection & operator=(const AbstractConnection&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& operator=(AbstractConnection&&)'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AbstractConnection
    signature: AbstractConnection & operator=(AbstractConnection&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: adaptive::http::AbstractConnectionFactory::AbstractConnectionFactory
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractConnectionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: ~AbstractConnectionFactory()
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AbstractConnectionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: ~LibVLCHTTPConnectionFactory()
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LibVLCHTTPConnectionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: ~StreamUrlConnectionFactory()
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnection.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StreamUrlConnectionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: ConnectionParams::ConnectionParams
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/ConnectionParams.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConnectionParams::ConnectionParams()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConnectionParams::parse
      Src: /src/vlc/modules/demux/adaptive/http/ConnectionParams.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - uri
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: ConnectionParams::ConnectionParams
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/ConnectionParams.cpp
    functionUses: 0
    functionsReached:
    - ConnectionParams::parse
    linkageType: ''
    returnType: void
    signature: void ConnectionParams::ConnectionParams(const std::string &uri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: '& ConnectionParams::getUrl() const'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/ConnectionParams.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & ConnectionParams::getUrl() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: '& ConnectionParams::getScheme() const'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/ConnectionParams.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & ConnectionParams::getScheme() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: '& ConnectionParams::getHostname() const'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/ConnectionParams.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & ConnectionParams::getHostname() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: '& ConnectionParams::getPath() const'
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/ConnectionParams.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & ConnectionParams::getPath() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char *>
      Src: /src/vlc/modules/demux/adaptive/http/ConnectionParams.cpp:67,1
    - Dst: c_str
      Src: /src/vlc/modules/demux/adaptive/http/ConnectionParams.cpp:67,1
    - Dst: const_cast<char *>
      Src: /src/vlc/modules/demux/adaptive/http/ConnectionParams.cpp:68,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/adaptive/http/ConnectionParams.cpp:68,1
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/http/ConnectionParams.cpp:71,1
    - Dst: const_cast<char *>
      Src: /src/vlc/modules/demux/adaptive/http/ConnectionParams.cpp:72,1
    - Dst: c_str
      Src: /src/vlc/modules/demux/adaptive/http/ConnectionParams.cpp:72,1
    - Dst: vlc_uri_compose
      Src: /src/vlc/modules/demux/adaptive/http/ConnectionParams.cpp:78,1
    - Dst: assign
      Src: /src/vlc/modules/demux/adaptive/http/ConnectionParams.cpp:81,1
    - Dst: free
      Src: /src/vlc/modules/demux/adaptive/http/ConnectionParams.cpp:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - path_
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 84
    functionName: ConnectionParams::setPath
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/ConnectionParams.cpp
    functionUses: 0
    functionsReached:
    - const_cast<char *>
    - assign
    - vlc_uri_compose
    - free
    - std::string::c_str
    - empty
    - c_str
    linkageType: ''
    returnType: void
    signature: void ConnectionParams::setPath(const std::string &path_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: ConnectionParams::getPort
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/ConnectionParams.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ConnectionParams::getPort() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: ConnectionParams::isLocal
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/ConnectionParams.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ConnectionParams::isLocal() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/demux/adaptive/http/ConnectionParams.cpp:99,1
    - Dst: c_str
      Src: /src/vlc/modules/demux/adaptive/http/ConnectionParams.cpp:99,1
    - Dst: transform
      Src: /src/vlc/modules/demux/adaptive/http/ConnectionParams.cpp:104,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/http/ConnectionParams.cpp:104,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/http/ConnectionParams.cpp:104,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/http/ConnectionParams.cpp:104,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/demux/adaptive/http/ConnectionParams.cpp:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 119
    functionName: ConnectionParams::parse
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/ConnectionParams.cpp
    functionUses: 1
    functionsReached:
    - vlc_UrlParse
    - transform
    - begin
    - c_str
    - end
    - vlc_UrlClean
    linkageType: ''
    returnType: void
    signature: void ConnectionParams::parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_object_
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: AbstractConnectionManager::AbstractConnectionManager
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractConnectionManager::AbstractConnectionManager(vlc_object_t
      *p_object_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: AbstractConnectionManager::~AbstractConnectionManager()
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractConnectionManager::~AbstractConnectionManager()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BwDebug
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:57,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:57,1
    - Dst: INT64_C
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:59,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:59,1
    - Dst: adaptive::ID::str
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:60,1
    - Dst: AbstractConnectionManager::updateDownloadRate
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - sourceid
    - size
    - time
    - latency
    argTypes:
    - adaptive::ID
    - size_t
    - vlc_tick_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: AbstractConnectionManager::updateDownloadRate
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp
    functionUses: 1
    functionsReached:
    - MS_FROM_VLC_TICK
    - adaptive::ID::str
    - INT64_C
    - AbstractConnectionManager::updateDownloadRate
    - msg_Dbg
    - BwDebug
    linkageType: ''
    returnType: void
    signature: "void AbstractConnectionManager::updateDownloadRate(const adaptive::ID
      &sourceid, size_t size,\n                                                   vlc_tick_t
      time, vlc_tick_t latency)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obs
    argTypes:
    - IDownloadRateObserver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: AbstractConnectionManager::setDownloadRateObserver
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractConnectionManager::setDownloadRateObserver(IDownloadRateObserver
      *obs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - source
    argTypes:
    - AbstractChunkSource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: AbstractConnectionManager::deleteSource
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AbstractConnectionManager::deleteSource(AbstractChunkSource *source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:79,1
    - Dst: Downloader::Downloader
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:80,1
    - Dst: Downloader::Downloader
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:81,1
    - Dst: HTTPConnectionManager::start
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:82,1
    - Dst: HTTPConnectionManager::start
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - p_object_
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 86
    functionName: HTTPConnectionManager::HTTPConnectionManager
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp
    functionUses: 1
    functionsReached:
    - Downloader::Downloader
    - HTTPConnectionManager::start
    - vlc_mutex_init
    linkageType: ''
    returnType: void
    signature: void HTTPConnectionManager::HTTPConnectionManager    (vlc_object_t
      *p_object_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:90,1
    - Dst: back
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:92,1
    - Dst: pop_back
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:93,1
    - Dst: assert
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:94,1
    - Dst: CacheDebug
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:96,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:96,1
    - Dst: HTTPChunkBufferedSource*::getStorageID
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:97,1
    - Dst: deleteSource
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:98,1
    - Dst: HTTPConnectionManager::closeAllConnections
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:102,1
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:103,1
    - Dst: front
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:105,1
    - Dst: pop_front
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (cache_total >= purged->contentLength)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp
    constantsTouched: []
    func_position:
      end: 108
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 108
    functionName: HTTPConnectionManager::~HTTPConnectionManager   ()
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp
    functionUses: 0
    functionsReached:
    - assert
    - back
    - pop_back
    - CacheDebug
    - empty
    - msg_Dbg
    - deleteSource
    - HTTPChunkBufferedSource*::getStorageID
    - pop_front
    - HTTPConnectionManager::closeAllConnections
    - front
    linkageType: ''
    returnType: void
    signature: void HTTPConnectionManager::~HTTPConnectionManager   ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTPConnectionManager::releaseAllConnections
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:113,1
    - Dst: vlc_delete_all
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: HTTPConnectionManager::closeAllConnections
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp
    functionUses: 1
    functionsReached:
    - vlc_delete_all
    - HTTPConnectionManager::releaseAllConnections
    linkageType: ''
    returnType: void
    signature: void HTTPConnectionManager::closeAllConnections      ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:120,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:120,1
    - Dst: setUsed
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: HTTPConnectionManager::releaseAllConnections
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp
    functionUses: 1
    functionsReached:
    - end
    - begin
    - setUsed
    linkageType: ''
    returnType: void
    signature: void HTTPConnectionManager::releaseAllConnections()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:127,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:127,1
    - Dst: AbstractConnection*::canReuse
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - params
    argTypes:
    - ConnectionParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: HTTPConnectionManager::reuseConnection
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    - AbstractConnection*::canReuse
    linkageType: ''
    returnType: AbstractConnection
    signature: AbstractConnection * HTTPConnectionManager::reuseConnection(ConnectionParams
      &params)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:138,1
    - Dst: empty
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:138,1
    - Dst: ConnectionParams::isLocal
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:141,1
    - Dst: HTTPConnectionManager::reuseConnection
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:148,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:151,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:151,1
    - Dst: createConnection
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:152,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:159,1
    - Dst: AbstractConnection*::prepare
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:161,1
    - Dst: AbstractConnection*::setUsed
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:167,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - params
    argTypes:
    - ConnectionParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 169
    functionName: HTTPConnectionManager::getConnection
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - createConnection
    - AbstractConnection*::prepare
    - AbstractConnection*::setUsed
    - ConnectionParams::isLocal
    - HTTPConnectionManager::reuseConnection
    - begin
    - empty
    - end
    - unlikely
    linkageType: ''
    returnType: AbstractConnection
    signature: AbstractConnection * HTTPConnectionManager::getConnection(ConnectionParams
      &params)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: HTTPChunkSource::makeStorageID
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:175,1
    - Dst: getStorageID
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:182,1
    - Dst: remove
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:184,1
    - Dst: assert
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:185,1
    - Dst: CacheDebug
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:187,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:187,1
    - Dst: StorageID::c_str
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:188,1
    - Dst: HTTPChunkBufferedSource::HTTPChunkBufferedSource
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - url
    - id
    - type
    - range
    argTypes:
    - std::string
    - ID
    - ChunkType
    - BytesRange
    assertStmts:
    - condition: (cache_total >= s->contentLength)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp
    constantsTouched: []
    func_position:
      end: 199
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 199
    functionName: HTTPConnectionManager::makeSource
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp
    functionUses: 0
    functionsReached:
    - HTTPChunkBufferedSource::HTTPChunkBufferedSource
    - assert
    - remove
    - getStorageID
    - CacheDebug
    - msg_Dbg
    - StorageID::c_str
    - HTTPChunkSource::makeStorageID
    linkageType: ''
    returnType: AbstractChunkSource
    signature: "AbstractChunkSource *HTTPConnectionManager::makeSource(const std::string
      &url,\n                                                       const ID &id,
      ChunkType type,\n                                                       const
      BytesRange &range)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AbstractChunkSource*::getChunkType
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:204,1
    - Dst: dynamic_cast<HTTPChunkBufferedSource *>
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:218,1
    - Dst: HTTPChunkBufferedSource*::getStorageID
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:219,1
    - Dst: back
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:224,1
    - Dst: pop_back
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:225,1
    - Dst: assert
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:226,1
    - Dst: CacheDebug
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:228,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:228,1
    - Dst: HTTPChunkBufferedSource*::getStorageID
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:229,1
    - Dst: deleteSource
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:230,1
    - Dst: push_front
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:232,1
    - Dst: CacheDebug
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:234,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:234,1
    - Dst: HTTPChunkBufferedSource*::getStorageID
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:235,1
    - Dst: deleteSource
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:238,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - source
    argTypes:
    - AbstractChunkSource*
    assertStmts:
    - condition: (cache_total >= purged->contentLength)
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp
    constantsTouched: []
    func_position:
      end: 239
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 239
    functionName: HTTPConnectionManager::recycleSource
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp
    functionUses: 0
    functionsReached:
    - assert
    - back
    - dynamic_cast<HTTPChunkBufferedSource *>
    - pop_back
    - CacheDebug
    - AbstractChunkSource*::getChunkType
    - push_front
    - msg_Dbg
    - deleteSource
    - HTTPChunkBufferedSource*::getStorageID
    linkageType: ''
    returnType: void
    signature: void HTTPConnectionManager::recycleSource(AbstractChunkSource *source)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AbstractChunkSource*::getChunkType
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - source
    argTypes:
    - AbstractChunkSource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 254
    functionName: HTTPConnectionManager::getDownloadQueue
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp
    functionUses: 0
    functionsReached:
    - AbstractChunkSource*::getChunkType
    linkageType: ''
    returnType: Downloader
    signature: Downloader * HTTPConnectionManager::getDownloadQueue(const AbstractChunkSource
      *source) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<HTTPChunkBufferedSource *>
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:258,1
    - Dst: HTTPChunkBufferedSource*::isDone
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:259,1
    - Dst: HTTPConnectionManager::getDownloadQueue
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - source
    argTypes:
    - AbstractChunkSource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 261
    functionName: HTTPConnectionManager::start
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp
    functionUses: 1
    functionsReached:
    - HTTPChunkBufferedSource*::isDone
    - dynamic_cast<HTTPChunkBufferedSource *>
    - HTTPConnectionManager::getDownloadQueue
    linkageType: ''
    returnType: void
    signature: void HTTPConnectionManager::start(AbstractChunkSource *source)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<HTTPChunkBufferedSource *>
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:265,1
    - Dst: HTTPConnectionManager::getDownloadQueue
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - source
    argTypes:
    - AbstractChunkSource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 268
    functionName: HTTPConnectionManager::cancel
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<HTTPChunkBufferedSource *>
    - HTTPConnectionManager::getDownloadQueue
    linkageType: ''
    returnType: void
    signature: void HTTPConnectionManager::cancel(AbstractChunkSource *source)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: HTTPConnectionManager::setLocalConnectionsAllowed
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HTTPConnectionManager::setLocalConnectionsAllowed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - factory
    argTypes:
    - AbstractConnectionFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: HTTPConnectionManager::addFactory
    functionSourceFile: /src/vlc/modules/demux/adaptive/http/HTTPConnectionManager.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void HTTPConnectionManager::addFactory(AbstractConnectionFactory *factory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - name
    - ns
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: Node::Attribute::matches(const std::string &name, const std::string
      &ns) const
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/Node.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Node::Attribute::matches(const std::string &name, const std::string
      &ns) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/vlc/modules/demux/adaptive/xml/Node.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - ns
    argTypes:
    - std::unique_ptr<std::string>
    - Namespaces::Ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: Node::Node
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/Node.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Node::Node(std::unique_ptr<std::string> name, Namespaces::Ptr
      ns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Node::subNodes::size
      Src: /src/vlc/modules/demux/adaptive/xml/Node.cpp:50,1
    - Dst: Node::subNodes::at
      Src: /src/vlc/modules/demux/adaptive/xml/Node.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: Node::~Node ()
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/Node.cpp
    functionUses: 0
    functionsReached:
    - Node::subNodes::at
    - Node::subNodes::size
    linkageType: ''
    returnType: void
    signature: void Node::~Node ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: '&           Node::getSubNodes           () const'
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/Node.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Node*>
    signature: std::vector<Node*> &           Node::getSubNodes           () const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Node::subNodes::push_back
      Src: /src/vlc/modules/demux/adaptive/xml/Node.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: Node::addSubNode
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/Node.cpp
    functionUses: 0
    functionsReached:
    - Node::subNodes::push_back
    linkageType: ''
    returnType: void
    signature: void Node::addSubNode            (Node *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: '&                  Node::getName               () const'
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/Node.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &                  Node::getName               () const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: '& Node::getNamespace() const'
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/Node.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & Node::getNamespace() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Node::hasAttribute
      Src: /src/vlc/modules/demux/adaptive/xml/Node.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: Node::hasAttribute
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/Node.cpp
    functionUses: 1
    functionsReached:
    - Node::hasAttribute
    linkageType: ''
    returnType: bool
    signature: bool Node::hasAttribute(const std::string& name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/vlc/modules/demux/adaptive/xml/Node.cpp:81,1
    - Dst: cbegin
      Src: /src/vlc/modules/demux/adaptive/xml/Node.cpp:81,1
    - Dst: cend
      Src: /src/vlc/modules/demux/adaptive/xml/Node.cpp:81,1
    - Dst: cend
      Src: /src/vlc/modules/demux/adaptive/xml/Node.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' name'
    - ns
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: Node::hasAttribute
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/Node.cpp
    functionUses: 1
    functionsReached:
    - std::find_if
    - cend
    - cbegin
    linkageType: ''
    returnType: bool
    signature: bool Node::hasAttribute(const std::string& name, const std::string
      &ns) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAttributeValue
      Src: /src/vlc/modules/demux/adaptive/xml/Node.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: '& Node::getAttributeValue(const std::string& key) const'
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/Node.cpp
    functionUses: 0
    functionsReached:
    - getAttributeValue
    linkageType: ''
    returnType: std::string
    signature: std::string & Node::getAttributeValue(const std::string& key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/vlc/modules/demux/adaptive/xml/Node.cpp:94,1
    - Dst: cbegin
      Src: /src/vlc/modules/demux/adaptive/xml/Node.cpp:94,1
    - Dst: cend
      Src: /src/vlc/modules/demux/adaptive/xml/Node.cpp:94,1
    - Dst: cend
      Src: /src/vlc/modules/demux/adaptive/xml/Node.cpp:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' key'
    - ns
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: '& Node::getAttributeValue(const std::string& key, const std::string
      &ns) const'
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/Node.cpp
    functionUses: 0
    functionsReached:
    - std::find_if
    - cend
    - cbegin
    linkageType: ''
    returnType: std::string
    signature: std::string & Node::getAttributeValue(const std::string& key, const
      std::string &ns) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/vlc/modules/demux/adaptive/xml/Node.cpp:108,1
    - Dst: std::move
      Src: /src/vlc/modules/demux/adaptive/xml/Node.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' key'
    - ns
    - ' value'
    argTypes:
    - std::string
    - Namespaces::Ptr
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: Node::addAttribute
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/Node.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - push_back
    linkageType: ''
    returnType: void
    signature: void Node::addAttribute(const std::string& key, Namespaces::Ptr ns,
      const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: '&                         Node::getText               () const'
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/Node.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &                         Node::getText               ()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: Node::setText
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/Node.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Node::setText(const std::string &text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: '& Node::getAttributes() const'
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/Node.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Node::Attributes
    signature: Node::Attributes & Node::getAttributes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - name
    - ns
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: Node::matches
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/Node.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Node::matches(const std::string &name, const std::string &ns)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getSubNodes
      Src: /src/vlc/modules/demux/adaptive/xml/DOMHelper.cpp:37,1
    - Dst: DOMHelper::getElementsByTagName
      Src: /src/vlc/modules/demux/adaptive/xml/DOMHelper.cpp:39,1
    - Dst: Node*::getSubNodes
      Src: /src/vlc/modules/demux/adaptive/xml/DOMHelper.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - root
    - ' name'
    - ' ns'
    - selfContain
    argTypes:
    - Node*
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: DOMHelper::getElementByTagName
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/DOMHelper.cpp
    functionUses: 0
    functionsReached:
    - DOMHelper::getElementsByTagName
    - Node*::getSubNodes
    linkageType: ''
    returnType: std::vector<Node *>
    signature: "std::vector<Node *> DOMHelper::getElementByTagName(Node *root, const
      std::string& name,\n                                                   const
      std::string& ns, bool selfContain)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getSubNodes
      Src: /src/vlc/modules/demux/adaptive/xml/DOMHelper.cpp:50,1
    - Dst: Node*::getSubNodes
      Src: /src/vlc/modules/demux/adaptive/xml/DOMHelper.cpp:52,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/demux/adaptive/xml/DOMHelper.cpp:53,1
    - Dst: Node*::getSubNodes
      Src: /src/vlc/modules/demux/adaptive/xml/DOMHelper.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - root
    - ' name'
    - ' ns'
    argTypes:
    - Node*
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 57
    functionName: DOMHelper::getChildElementByTagName
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/DOMHelper.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - Node*::getSubNodes
    linkageType: ''
    returnType: std::vector<Node *>
    signature: "std::vector<Node *> DOMHelper::getChildElementByTagName(Node *root,
      const std::string& name,\n                                                        const
      std::string& ns)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Node*::matches
      Src: /src/vlc/modules/demux/adaptive/xml/DOMHelper.cpp:62,1
    - Dst: std::vector<Node*>*::push_back
      Src: /src/vlc/modules/demux/adaptive/xml/DOMHelper.cpp:64,1
    - Dst: Node*::matches
      Src: /src/vlc/modules/demux/adaptive/xml/DOMHelper.cpp:68,1
    - Dst: std::vector<Node*>*::push_back
      Src: /src/vlc/modules/demux/adaptive/xml/DOMHelper.cpp:69,1
    - Dst: Node*::getSubNodes
      Src: /src/vlc/modules/demux/adaptive/xml/DOMHelper.cpp:71,1
    - Dst: DOMHelper::getElementsByTagName
      Src: /src/vlc/modules/demux/adaptive/xml/DOMHelper.cpp:73,1
    - Dst: Node*::getSubNodes
      Src: /src/vlc/modules/demux/adaptive/xml/DOMHelper.cpp:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - root
    - ' name'
    - ns
    - elements
    - selfContain
    argTypes:
    - Node*
    - std::string
    - std::string
    - std::vector<Node*>*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: DOMHelper::getElementsByTagName
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/DOMHelper.cpp
    functionUses: 2
    functionsReached:
    - DOMHelper::getElementsByTagName
    - Node*::matches
    - Node*::getSubNodes
    - std::vector<Node*>*::push_back
    linkageType: ''
    returnType: void
    signature: "void DOMHelper::getElementsByTagName(Node *root, const std::string&
      name, const std::string &ns,\n                                     std::vector<Node*>
      *elements, bool selfContain)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Node*::getSubNodes
      Src: /src/vlc/modules/demux/adaptive/xml/DOMHelper.cpp:79,1
    - Dst: Node*::getSubNodes
      Src: /src/vlc/modules/demux/adaptive/xml/DOMHelper.cpp:81,1
    - Dst: Node*::getSubNodes
      Src: /src/vlc/modules/demux/adaptive/xml/DOMHelper.cpp:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - root
    - name
    - ' ns'
    argTypes:
    - Node*
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: DOMHelper::getFirstChildElementByName
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/DOMHelper.cpp
    functionUses: 0
    functionsReached:
    - Node*::getSubNodes
    linkageType: ''
    returnType: Node
    signature: Node * DOMHelper::getFirstChildElementByName(Node *root, const std::string
      &name, const std::string& ns)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: DOMParser::DOMParser
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DOMParser::DOMParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - stream
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: DOMParser::DOMParser
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DOMParser::DOMParser    (stream_t *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderDelete
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: DOMParser::~DOMParser   ()
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp
    functionUses: 0
    functionsReached:
    - xml_ReaderDelete
    linkageType: ''
    returnType: void
    signature: void DOMParser::~DOMParser   ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: DOMParser::getRootNode
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: Node
    signature: Node *   DOMParser::getRootNode              ()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderCreate
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:67,1
    - Dst: DOMParser::processNode
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 79
    functionName: DOMParser::parse
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp
    functionUses: 3
    functionsReached:
    - xml_ReaderCreate
    - DOMParser::processNode
    linkageType: ''
    returnType: bool
    signature: bool DOMParser::parse                    (bool b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderDelete
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:89,1
    - Dst: xml_ReaderCreate
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 92
    functionName: DOMParser::reset
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp
    functionUses: 3
    functionsReached:
    - xml_ReaderCreate
    - xml_ReaderDelete
    linkageType: ''
    returnType: bool
    signature: bool DOMParser::reset(stream_t *s)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderNextNodeNS
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:100,1
    - Dst: registerNamespace
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:106,1
    - Dst: xml_ReaderIsEmptyElement
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:107,1
    - Dst: std::strchr
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:108,1
    - Dst: std::make_unique<std::string>
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:110,1
    - Dst: std::move
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:111,1
    - Dst: Node::Node
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:111,1
    - Dst: std::stack::empty
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:114,1
    - Dst: std::stack::top
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:115,1
    - Dst: std::stack::push
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:116,1
    - Dst: DOMParser::addAttributesToNode
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:118,1
    - Dst: std::stack::size
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:121,1
    - Dst: std::stack::pop
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:122,1
    - Dst: std::stack::empty
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:128,1
    - Dst: std::stack::top
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:129,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:129,1
    - Dst: std::stack::empty
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:135,1
    - Dst: std::stack::top
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:138,1
    - Dst: std::stack::pop
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:139,1
    - Dst: std::stack::empty
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:140,1
    - Dst: std::stack::size
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:149,1
    - Dst: std::stack::pop
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:150,1
    - Dst: std::stack::empty
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:152,1
    - Dst: std::stack::top
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:152,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 1
    argNames:
    - b_strict
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 161
    functionName: DOMParser::processNode
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp
    functionUses: 1
    functionsReached:
    - std::stack::push
    - std::stack::pop
    - std::make_unique<std::string>
    - registerNamespace
    - std::stack::top
    - std::move
    - std::string
    - std::stack::size
    - xml_ReaderIsEmptyElement
    - DOMParser::addAttributesToNode
    - Node::Node
    - std::stack::empty
    - xml_ReaderNextNodeNS
    - std::strchr
    linkageType: ''
    returnType: Node
    signature: Node * DOMParser::processNode(bool b_strict)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderNextAttrNS
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:169,1
    - Dst: registerNamespace
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:171,1
    - Dst: Node*::addAttribute
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 176
    functionName: DOMParser::addAttributesToNode
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp
    functionUses: 1
    functionsReached:
    - xml_ReaderNextAttrNS
    - registerNamespace
    - Node*::addAttribute
    linkageType: ''
    returnType: void
    signature: void DOMParser::addAttributesToNode      (Node *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:180,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:182,1
    - Dst: Node*::getName
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:182,1
    - Dst: Node*::getAttributes
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:184,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:187,1
    - Dst: name::c_str
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:187,1
    - Dst: value::c_str
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:187,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:189,1
    - Dst: Node*::getSubNodes
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:193,1
    - Dst: DOMParser::print
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:195,1
    - Dst: Node*::getSubNodes
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - node
    - offset
    argTypes:
    - Node*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 197
    functionName: DOMParser::print
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp
    functionUses: 1
    functionsReached:
    - value::c_str
    - Node*::getAttributes
    - Node*::getSubNodes
    - DOMParser::print
    - Node*::getName
    - msg_Dbg
    - name::c_str
    linkageType: ''
    returnType: void
    signature: void DOMParser::print                    (Node *node, int offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DOMParser::print
      Src: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: DOMParser::print
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/DOMParser.cpp
    functionUses: 2
    functionsReached:
    - DOMParser::print
    linkageType: ''
    returnType: void
    signature: void DOMParser::print                    ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: adaptive::xml::Node::Node
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/Node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Node            ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: adaptive::xml::Node::Node
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/Node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Node            ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: adaptive::xml::Node::Node
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/Node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Node            ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: adaptive::xml::Node::Node
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/Node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Node            ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: adaptive::xml::Namespaces::Namespaces
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/Namespaces.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Namespaces()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: adaptive::xml::Namespaces::Namespaces
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/Namespaces.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Namespaces()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: adaptive::xml::Namespaces::Namespaces
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/Namespaces.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Namespaces()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: adaptive::xml::Namespaces::Namespaces
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/Namespaces.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Namespaces()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Namespaces::getNamespace
      Src: /src/vlc/modules/demux/adaptive/xml/Namespaces.cpp:35,1
    - Dst: std::make_shared<Entry>
      Src: /src/vlc/modules/demux/adaptive/xml/Namespaces.cpp:37,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/adaptive/xml/Namespaces.cpp:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ns
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: Namespaces::registerNamespace
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/Namespaces.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - Namespaces::getNamespace
    - std::make_shared<Entry>
    linkageType: ''
    returnType: Namespaces::Ptr
    signature: Namespaces::Ptr Namespaces::registerNamespace(const char *ns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/vlc/modules/demux/adaptive/xml/Namespaces.cpp:43,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/xml/Namespaces.cpp:43,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/xml/Namespaces.cpp:43,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/xml/Namespaces.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ns
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: Namespaces::getNamespace
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/Namespaces.cpp
    functionUses: 1
    functionsReached:
    - std::find_if
    - end
    - begin
    linkageType: ''
    returnType: Namespaces::Ptr
    signature: Namespaces::Ptr Namespaces::getNamespace(const std::string &ns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/vlc/modules/demux/adaptive/xml/Namespaces.cpp:50,1
    - Dst: begin
      Src: /src/vlc/modules/demux/adaptive/xml/Namespaces.cpp:50,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/xml/Namespaces.cpp:50,1
    - Dst: std::strcmp
      Src: /src/vlc/modules/demux/adaptive/xml/Namespaces.cpp:51,1
    - Dst: get
      Src: /src/vlc/modules/demux/adaptive/xml/Namespaces.cpp:51,1
    - Dst: end
      Src: /src/vlc/modules/demux/adaptive/xml/Namespaces.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ns
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: Namespaces::getNamespace
    functionSourceFile: /src/vlc/modules/demux/adaptive/xml/Namespaces.cpp
    functionUses: 1
    functionsReached:
    - get
    - begin
    - std::find_if
    - std::strcmp
    - end
    linkageType: ''
    returnType: Namespaces::Ptr
    signature: Namespaces::Ptr Namespaces::getNamespace(const char *ns)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - object_
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: AtomsReader::AtomsReader
    functionSourceFile: /src/vlc/modules/demux/adaptive/mp4/AtomsReader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AtomsReader::AtomsReader(vlc_object_t *object_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AtomsReader::clean
      Src: /src/vlc/modules/demux/adaptive/mp4/AtomsReader.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: AtomsReader::~AtomsReader()
    functionSourceFile: /src/vlc/modules/demux/adaptive/mp4/AtomsReader.cpp
    functionUses: 0
    functionsReached:
    - AtomsReader::clean
    linkageType: ''
    returnType: void
    signature: void AtomsReader::~AtomsReader()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxFree
      Src: /src/vlc/modules/demux/adaptive/mp4/AtomsReader.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: AtomsReader::clean
    functionSourceFile: /src/vlc/modules/demux/adaptive/mp4/AtomsReader.cpp
    functionUses: 1
    functionsReached:
    - MP4_BoxFree
    linkageType: ''
    returnType: void
    signature: void AtomsReader::clean()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AtomsReader::clean
      Src: /src/vlc/modules/demux/adaptive/mp4/AtomsReader.cpp:49,1
    - Dst: vlc_stream_MemoryNew
      Src: /src/vlc/modules/demux/adaptive/mp4/AtomsReader.cpp:51,1
    - Dst: MP4_BoxNew
      Src: /src/vlc/modules/demux/adaptive/mp4/AtomsReader.cpp:54,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/adaptive/mp4/AtomsReader.cpp:57,1
    - Dst: memset
      Src: /src/vlc/modules/demux/adaptive/mp4/AtomsReader.cpp:60,1
    - Dst: MP4_ReadBoxContainerChildren
      Src: /src/vlc/modules/demux/adaptive/mp4/AtomsReader.cpp:63,1
    - Dst: MP4_BoxDumpStructure
      Src: /src/vlc/modules/demux/adaptive/mp4/AtomsReader.cpp:66,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/adaptive/mp4/AtomsReader.cpp:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - p_block
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 73
    functionName: AtomsReader::parseBlock
    functionSourceFile: /src/vlc/modules/demux/adaptive/mp4/AtomsReader.cpp
    functionUses: 0
    functionsReached:
    - memset
    - MP4_BoxNew
    - MP4_ReadBoxContainerChildren
    - vlc_stream_Delete
    - AtomsReader::clean
    - vlc_stream_MemoryNew
    - MP4_BoxDumpStructure
    linkageType: ''
    returnType: bool
    signature: bool AtomsReader::parseBlock(block_t *p_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: HLSStream::HLSStream
    functionSourceFile: /src/vlc/modules/demux/hls/HLSStreams.cpp
    functionUses: 0
    functionsReached:
    - vlc_meta_New
    linkageType: ''
    returnType: void
    signature: void HLSStream::HLSStream(demux_t *demux)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_meta_Delete
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: HLSStream::~HLSStream()
    functionSourceFile: /src/vlc/modules/demux/hls/HLSStreams.cpp
    functionUses: 0
    functionsReached:
    - vlc_meta_Delete
    linkageType: ''
    returnType: void
    signature: void HLSStream::~HLSStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fakeEsOut
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:57,1
    - Dst: fakeEsOut
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - i_offset
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: HLSStream::setMetadataTimeOffset
    functionSourceFile: /src/vlc/modules/demux/hls/HLSStreams.cpp
    functionUses: 0
    functionsReached:
    - fakeEsOut
    linkageType: ''
    returnType: void
    signature: void HLSStream::setMetadataTimeOffset(vlc_tick_t i_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fakeEsOut
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mpegts
    - muxed
    argTypes:
    - vlc_tick_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: HLSStream::setMetadataTimeMapping
    functionSourceFile: /src/vlc/modules/demux/hls/HLSStreams.cpp
    functionUses: 0
    functionsReached:
    - fakeEsOut
    linkageType: ''
    returnType: void
    signature: void HLSStream::setMetadataTimeMapping(vlc_tick_t mpegts, vlc_tick_t
      muxed)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AbstractStream::trackerEvent
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:69,1
    - Dst: TrackerEvent::getType
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:71,1
    - Dst: getStreamRole
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - e
    argTypes:
    - TrackerEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 84
    functionName: HLSStream::trackerEvent
    functionSourceFile: /src/vlc/modules/demux/hls/HLSStreams.cpp
    functionUses: 0
    functionsReached:
    - TrackerEvent::getType
    - getStreamRole
    - AbstractStream::trackerEvent
    linkageType: ''
    returnType: void
    signature: void HLSStream::trackerEvent(const TrackerEvent &e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:89,1
    - Dst: HLSStream::setMetadataTimeOffset
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:91,1
    - Dst: FROM_SCALE_NZ
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:91,1
    - Dst: GetQWBE
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - p_payload
    - i_payload
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: HLSStream::ParseID3PrivTag
    functionSourceFile: /src/vlc/modules/demux/hls/HLSStreams.cpp
    functionUses: 0
    functionsReached:
    - HLSStream::setMetadataTimeOffset
    - FROM_SCALE_NZ
    - memcmp
    - GetQWBE
    linkageType: ''
    returnType: int
    signature: int HLSStream::ParseID3PrivTag(const uint8_t *p_payload, size_t i_payload)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:98,1
    - Dst: HLSStream::ParseID3PrivTag
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:99,1
    - Dst: ID3HandleTag
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - i_tag
    - p_payload
    - i_payload
    argTypes:
    - uint32_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 5
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: HLSStream::ParseID3Tag
    functionSourceFile: /src/vlc/modules/demux/hls/HLSStreams.cpp
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - ID3HandleTag
    - HLSStream::ParseID3PrivTag
    linkageType: ''
    returnType: int
    signature: int HLSStream::ParseID3Tag(uint32_t i_tag, const uint8_t *p_payload,
      size_t i_payload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HLSStream *>
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:107,1
    - Dst: HLSStream*::ParseID3Tag
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - i_tag
    - p_payload
    - i_payload
    - p_priv
    argTypes:
    - uint32_t
    - uint8_t*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: HLSStream::ID3TAG_Parse_Handler
    functionSourceFile: /src/vlc/modules/demux/hls/HLSStreams.cpp
    functionUses: 0
    functionsReached:
    - HLSStream*::ParseID3Tag
    - static_cast<HLSStream *>
    linkageType: ''
    returnType: int
    signature: int HLSStream::ID3TAG_Parse_Handler(uint32_t i_tag, const uint8_t *p_payload,
      size_t i_payload, void *p_priv)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ID3TAG_IsTag
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:115,1
    - Dst: ID3TAG_Parse
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:117,1
    - Dst: static_cast<void *>
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:118,1
    - Dst: strnstr
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:133,1
    - Dst: memchr
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:136,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:139,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:140,1
    - Dst: std::string::find
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:143,1
    - Dst: std::string::length
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:144,1
    - Dst: UTCTime
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:145,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:145,1
    - Dst: std::string::find
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:147,1
    - Dst: std::string::size
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:148,1
    - Dst: std::string::find_last_not_of
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:151,1
    - Dst: Integer<uint64_t>
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:152,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:152,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:155,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:156,1
    - Dst: HLSStream::setMetadataTimeMapping
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:158,1
    - Dst: fakeEsOut
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:167,1
    - Dst: fakeEsOut
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:169,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 32
    argCount: 2
    argNames:
    - p_block
    - b_first
    argTypes:
    - block_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 173
    functionName: HLSStream::checkBlock
    functionSourceFile: /src/vlc/modules/demux/hls/HLSStreams.cpp
    functionUses: 0
    functionsReached:
    - std::string::find
    - fakeEsOut
    - ID3TAG_IsTag
    - static_cast<void *>
    - HLSStream::setMetadataTimeMapping
    - std::string::length
    - std::string::size
    - strnstr
    - Integer<uint64_t>
    - ID3TAG_Parse
    - std::string::substr
    - UTCTime
    - std::string::find_last_not_of
    - memchr
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: block_t
    signature: block_t * HLSStream::checkBlock(block_t *p_block, bool b_first)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: Demuxer::Demuxer
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:182,1
    - Dst: Demuxer::Demuxer
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:186,1
    - Dst: Demuxer::Demuxer
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:190,1
    - Dst: AbstractDemuxer*::setBitstreamSwitchCompatible
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:192,1
    - Dst: AbstractStream::newDemux
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:196,1
    - Dst: Demuxer::Demuxer
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:200,1
    - Dst: Demuxer::Demuxer
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:204,1
    - Dst: AbstractDemuxer*::setRestartsOnEachSegment
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:206,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - p_obj
    - format
    - out
    - source
    argTypes:
    - vlc_object_t*
    - StreamFormat
    - es_out_t*
    - AbstractSourceStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 215
    functionName: HLSStream::newDemux
    functionSourceFile: /src/vlc/modules/demux/hls/HLSStreams.cpp
    functionUses: 0
    functionsReached:
    - AbstractDemuxer*::setBitstreamSwitchCompatible
    - AbstractDemuxer*::setRestartsOnEachSegment
    - AbstractStream::newDemux
    - Demuxer::Demuxer
    linkageType: ''
    returnType: AbstractDemuxer
    signature: "AbstractDemuxer *HLSStream::newDemux(vlc_object_t *p_obj, const StreamFormat
      &format,\n                                     es_out_t *out, AbstractSourceStream
      *source) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HLSStream::HLSStream
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:220,1
    - Dst: HLSStream*::init
      Src: /src/vlc/modules/demux/hls/HLSStreams.cpp:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - realdemux
    - format
    - tracker
    argTypes:
    - demux_t*
    - StreamFormat
    - SegmentTracker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 227
    functionName: HLSStreamFactory::create
    functionSourceFile: /src/vlc/modules/demux/hls/HLSStreams.cpp
    functionUses: 0
    functionsReached:
    - HLSStream*::init
    - HLSStream::HLSStream
    linkageType: ''
    returnType: AbstractStream
    signature: "AbstractStream * HLSStreamFactory::create(demux_t *realdemux, const
      StreamFormat &format,\n                               SegmentTracker *tracker)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - demux_
    - res
    - playlist
    - factory
    - type
    argTypes:
    - demux_t*
    - SharedResources*
    - M3U8*
    - AbstractStreamFactory*
    - AbstractAdaptationLogic::LogicType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: HLSManager::HLSManager
    functionSourceFile: /src/vlc/modules/demux/hls/HLSManager.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HLSManager::HLSManager(demux_t *demux_,\n                       SharedResources
      *res,\n                       M3U8 *playlist,\n                       AbstractStreamFactory
      *factory,\n                       AbstractAdaptationLogic::LogicType type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: HLSManager::~HLSManager()
    functionSourceFile: /src/vlc/modules/demux/hls/HLSManager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HLSManager::~HLSManager()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/hls/HLSManager.cpp:55,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/hls/HLSManager.cpp:56,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/hls/HLSManager.cpp:59,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/hls/HLSManager.cpp:88,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/hls/HLSManager.cpp:94,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/hls/HLSManager.cpp:96,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/hls/HLSManager.cpp:99,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 105
    functionName: HLSManager::isHTTPLiveStreaming
    functionSourceFile: /src/vlc/modules/demux/hls/HLSManager.cpp
    functionUses: 1
    functionsReached:
    - strlen
    - vlc_stream_Peek
    - memcmp
    - ARRAY_SIZE
    linkageType: ''
    returnType: bool
    signature: bool HLSManager::isHTTPLiveStreaming(stream_t *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - res
    argTypes:
    - SharedResources*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: M3U8Parser::M3U8Parser
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Parser.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void M3U8Parser::M3U8Parser(SharedResources *res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: M3U8Parser::~M3U8Parser   ()
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Parser.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void M3U8Parser::~M3U8Parser   ()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::list<Tag *>::begin
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:66,1
    - Dst: std::list<Tag *>::end
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:66,1
    - Dst: getType
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:68,1
    - Dst: std::list::push_back
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - list
    - tag
    argTypes:
    - std::list<Tag *>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: getTagsFromList
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Parser.cpp
    functionUses: 0
    functionsReached:
    - getType
    - std::list<Tag *>::end
    - std::list<Tag *>::begin
    - std::list::push_back
    linkageType: ''
    returnType: std::list<Tag *>
    signature: std::list<Tag *> getTagsFromList(std::list<Tag *> &list, int tag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::list<Tag *>::begin
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:77,1
    - Dst: std::list<Tag *>::end
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:77,1
    - Dst: getType
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - list
    - tag
    argTypes:
    - std::list<Tag *>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: getTagFromList
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Parser.cpp
    functionUses: 0
    functionsReached:
    - getType
    - std::list<Tag *>::end
    - std::list<Tag *>::begin
    linkageType: ''
    returnType: Tag
    signature: Tag * getTagFromList(std::list<Tag *> &list, int tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::list<Tag *>::begin
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:88,1
    - Dst: std::list<Tag *>::end
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:88,1
    - Dst: std::list<Tag *>::clear
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - list
    argTypes:
    - std::list<Tag *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: releaseTagsList
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Parser.cpp
    functionUses: 0
    functionsReached:
    - std::list<Tag *>::clear
    - std::list<Tag *>::end
    - std::list<Tag *>::begin
    linkageType: ''
    returnType: void
    signature: void releaseTagsList(std::list<Tag *> &list)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: AttributesTag*::getAttributeByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:95,1
    - Dst: AttributesTag*::getAttributeByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:96,1
    - Dst: AttributesTag*::getAttributeByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:98,1
    - Dst: AttributesTag*::getAttributeByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:99,1
    - Dst: HLSRepresentation::HLSRepresentation
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:101,1
    - Dst: HLSRepresentation*::addAttribute
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:104,1
    - Dst: Timescale
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:104,1
    - Dst: TimescaleAttr::TimescaleAttr
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:104,1
    - Dst: AttributesTag*::getType
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:109,1
    - Dst: Attribute*::quotedString
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:111,1
    - Dst: HLSRepresentation*::setID
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:117,1
    - Dst: HLSRepresentation*::setPlaylistUrl
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:118,1
    - Dst: std::string::find
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:119,1
    - Dst: Helper::getDirectoryPath
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:121,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:122,1
    - Dst: std::string::append
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:123,1
    - Dst: Url::Url
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:123,1
    - Dst: HLSRepresentation*::setBandwidth
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:128,1
    - Dst: Attribute*::decimal
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:128,1
    - Dst: Attribute*::getResolution
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:132,1
    - Dst: HLSRepresentation*::setWidth
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:135,1
    - Dst: HLSRepresentation*::setHeight
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:136,1
    - Dst: AttributesTag*::getAttributeByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:140,1
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:144,1
    - Dst: Attribute*::floatingPoint
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:144,1
    - Dst: HLSRepresentation*::setFrameRate
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:145,1
    - Dst: Rate
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:145,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - adaptSet
    - tag
    argTypes:
    - BaseAdaptationSet*
    - AttributesTag*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 150
    functionName: M3U8Parser::createRepresentation
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Parser.cpp
    functionUses: 0
    functionsReached:
    - std::string::find
    - std::string::empty
    - Attribute*::getResolution
    - HLSRepresentation*::setID
    - HLSRepresentation*::setHeight
    - Attribute*::quotedString
    - Rate
    - HLSRepresentation::HLSRepresentation
    - Url::Url
    - TimescaleAttr::TimescaleAttr
    - Attribute*::decimal
    - Timescale
    - Attribute*::floatingPoint
    - HLSRepresentation*::setFrameRate
    - AttributesTag*::getType
    - std::string::append
    - AttributesTag*::getAttributeByName
    - Helper::getDirectoryPath
    - HLSRepresentation*::setPlaylistUrl
    - HLSRepresentation*::setWidth
    - HLSRepresentation*::setBandwidth
    - vlc_ureduce
    - HLSRepresentation*::addAttribute
    linkageType: ''
    returnType: HLSRepresentation
    signature: HLSRepresentation * M3U8Parser::createRepresentation(BaseAdaptationSet
      *adaptSet, const AttributesTag * tag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: M3U8Parser::createRepresentation
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:156,1
    - Dst: M3U8Parser::parseSegments
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:159,1
    - Dst: BaseAdaptationSet*::addRepresentation
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - p_obj
    - adaptSet
    - tag
    - tagslist
    argTypes:
    - vlc_object_t*
    - BaseAdaptationSet*
    - AttributesTag*
    - std::list<Tag *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: M3U8Parser::createAndFillRepresentation
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Parser.cpp
    functionUses: 0
    functionsReached:
    - M3U8Parser::createRepresentation
    - BaseAdaptationSet*::addRepresentation
    - M3U8Parser::parseSegments
    linkageType: ''
    returnType: void
    signature: "void M3U8Parser::createAndFillRepresentation(vlc_object_t *p_obj,
      BaseAdaptationSet *adaptSet,\n                                             const
      AttributesTag *tag,\n                                             const std::list<Tag
      *> &tagslist)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AttributesTag*::getAttributeByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:170,1
    - Dst: HLSRepresentation*::setChannelsCount
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:172,1
    - Dst: std::atoi
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:172,1
    - Dst: Attribute*::quotedString
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:172,1
    - Dst: StreamFormat
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - mediatag
    - type
    - rep
    argTypes:
    - AttributesTag*
    - std::string
    - HLSRepresentation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 179
    functionName: M3U8Parser::fillRepresentationFromMediainfo
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Parser.cpp
    functionUses: 0
    functionsReached:
    - StreamFormat
    - std::atoi
    - HLSRepresentation*::setChannelsCount
    - Attribute*::quotedString
    - AttributesTag*::getAttributeByName
    linkageType: ''
    returnType: void
    signature: "void M3U8Parser::fillRepresentationFromMediainfo(const AttributesTag
      *mediatag,\n                                                 const std::string
      &type,\n                                                 HLSRepresentation *rep)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: AttributesTag*::getAttributeByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:186,1
    - Dst: AttributesTag*::getAttributeByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:188,1
    - Dst: BaseAdaptationSet*::setRole
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:189,1
    - Dst: Role
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:189,1
    - Dst: BaseAdaptationSet*::setRole
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:191,1
    - Dst: Role
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:191,1
    - Dst: AttributesTag*::getAttributeByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:194,1
    - Dst: AttributesTag*::getAttributeByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:196,1
    - Dst: AttributesTag*::getAttributeByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:197,1
    - Dst: BaseAdaptationSet*::setRole
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:198,1
    - Dst: Role
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:198,1
    - Dst: BaseAdaptationSet*::setRole
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:204,1
    - Dst: Role
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:204,1
    - Dst: AttributesTag*::getAttributeByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:207,1
    - Dst: BaseAdaptationSet*::setLang
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:208,1
    - Dst: AttributesTag*::getAttributeByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:208,1
    - Dst: AttributesTag*::getAttributeByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:211,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:214,1
    - Dst: Attribute*::quotedString
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:216,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:219,1
    - Dst: BaseAdaptationSet*::setID
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:222,1
    - Dst: ID
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:222,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - mediatag
    - type
    - group
    - altAdaptSet
    argTypes:
    - AttributesTag*
    - std::string
    - std::string
    - BaseAdaptationSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 224
    functionName: M3U8Parser::fillAdaptsetFromMediainfo
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Parser.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - ID
    - Role
    - BaseAdaptationSet*::setRole
    - Attribute*::quotedString
    - BaseAdaptationSet*::setID
    - BaseAdaptationSet*::setLang
    - AttributesTag*::getAttributeByName
    linkageType: ''
    returnType: void
    signature: "void M3U8Parser::fillAdaptsetFromMediainfo(const AttributesTag *mediatag,\n
      \                                          const std::string &type,\n                                           const
      std::string &group,\n                                           BaseAdaptationSet
      *altAdaptSet)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Retrieve::HTTP
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:228,1
    - Dst: HLSRepresentation*::getPlaylistUrl
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:228,1
    - Dst: vlc_stream_MemoryNew
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:231,1
    - Dst: M3U8Parser::parseEntries
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:234,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:235,1
    - Dst: M3U8Parser::parseSegments
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:237,1
    - Dst: releaseTagsList
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:239,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - p_obj
    - rep
    argTypes:
    - vlc_object_t*
    - HLSRepresentation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 226
    functionDepth: 4
    functionLinenumber: 226
    functionLinenumberEnd: 245
    functionName: M3U8Parser::appendSegmentsFromPlaylistURI
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Parser.cpp
    functionUses: 0
    functionsReached:
    - block_Release
    - HLSRepresentation*::getPlaylistUrl
    - releaseTagsList
    - vlc_stream_Delete
    - Retrieve::HTTP
    - vlc_stream_MemoryNew
    - M3U8Parser::parseEntries
    - M3U8Parser::parseSegments
    linkageType: ''
    returnType: bool
    signature: bool M3U8Parser::appendSegmentsFromPlaylistURI(vlc_object_t *p_obj,
      HLSRepresentation *rep)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AttributesTag*::getAttributeByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:250,1
    - Dst: AttributesTag*::getAttributeByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:251,1
    - Dst: AttributesTag*::getAttributeByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:252,1
    - Dst: CommonEncryption::uri::clear
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:255,1
    - Dst: AttributesTag*::getAttributeByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:257,1
    - Dst: Url::hasScheme
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:258,1
    - Dst: Url::prepend
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:260,1
    - Dst: Helper::getDirectoryPath
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:260,1
    - Dst: Url::toString
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:260,1
    - Dst: Url::toString
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:263,1
    - Dst: AttributesTag*::getAttributeByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:265,1
    - Dst: CommonEncryption::iv::clear
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:267,1
    - Dst: AttributesTag*::getAttributeByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:268,1
    - Dst: CommonEncryption::uri::clear
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:276,1
    - Dst: CommonEncryption::iv::clear
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:277,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - keytag
    - playlistUrl
    - encryption
    argTypes:
    - AttributesTag*
    - Url
    - CommonEncryption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 280
    functionName: parseEncryption
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Parser.cpp
    functionUses: 0
    functionsReached:
    - Helper::getDirectoryPath
    - CommonEncryption::uri::clear
    - CommonEncryption::iv::clear
    - Url::hasScheme
    - Url::toString
    - AttributesTag*::getAttributeByName
    - Url::prepend
    linkageType: ''
    returnType: bool
    signature: "bool parseEncryption(const AttributesTag *keytag, const Url &playlistUrl,\n
      \                           CommonEncryption &encryption)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: std::list<Tag *>::cend
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:284,1
    - Dst: std::find_if
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:284,1
    - Dst: std::list<Tag *>::cbegin
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:284,1
    - Dst: std::list<Tag *>::cend
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:284,1
    - Dst: getType
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:285,1
    - Dst: std::list<Tag *>::size
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:286,1
    - Dst: std::list<Tag *>::back
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:286,1
    - Dst: SegmentList::SegmentList
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:288,1
    - Dst: HLSRepresentation*::inheritTimescale
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:289,1
    - Dst: CommonEncryption::CommonEncryption
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:302,1
    - Dst: std::list<Tag *>::begin
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:308,1
    - Dst: std::list<Tag *>::end
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:308,1
    - Dst: Tag*::getType
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:311,1
    - Dst: static_cast<const SingleValueTag*>
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:316,1
    - Dst: getValue
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:316,1
    - Dst: static_cast<const ValuesListTag *>
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:322,1
    - Dst: static_cast<const SingleValueTag *>
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:328,1
    - Dst: SingleValueTag*::getValue
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:329,1
    - Dst: empty
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:329,1
    - Dst: HLSSegment::HLSSegment
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:336,1
    - Dst: HLSSegment*::setSourceUrl
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:340,1
    - Dst: SingleValueTag*::getValue
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:340,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:343,1
    - Dst: ValuesListTag*::getAttributeByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:346,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:348,1
    - Dst: Attribute*::floatingPoint
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:348,1
    - Dst: Timescale::ToScaled
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:351,1
    - Dst: Timescale::ToScaled
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:352,1
    - Dst: HLSSegment*::setDisplayTime
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:357,1
    - Dst: std::list::push_back
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:361,1
    - Dst: SingleValueTag*::getValue
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:365,1
    - Dst: ByteRange::first::has_value
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:366,1
    - Dst: HLSSegment*::setByteRange
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:369,1
    - Dst: HLSSegment*::setDiscontinuitySequenceNumber
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:372,1
    - Dst: HLSSegment*::setEncryption
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:377,1
    - Dst: static_cast<const SingleValueTag *>
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:382,1
    - Dst: static_cast<const SingleValueTag *>
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:386,1
    - Dst: static_cast<const SingleValueTag *>
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:390,1
    - Dst: UTCTime
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:395,1
    - Dst: static_cast<const SingleValueTag *>
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:395,1
    - Dst: std::list::size
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:397,1
    - Dst: std::list::back
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:397,1
    - Dst: std::list::crbegin
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:400,1
    - Dst: std::list::crend
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:400,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:402,1
    - Dst: setDisplayTime
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:407,1
    - Dst: parseEncryption
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:413,1
    - Dst: static_cast<const AttributesTag *>
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:413,1
    - Dst: HLSRepresentation*::getPlaylistUrl
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:414,1
    - Dst: static_cast<const AttributesTag *>
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:419,1
    - Dst: AttributesTag*::getAttributeByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:421,1
    - Dst: InitSegment::InitSegment
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:424,1
    - Dst: InitSegment*::setSourceUrl
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:427,1
    - Dst: Attribute*::quotedString
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:427,1
    - Dst: AttributesTag*::getAttributeByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:428,1
    - Dst: Attribute*::unescapeQuotes
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:431,1
    - Dst: InitSegment*::setByteRange
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:432,1
    - Dst: ByteRange::first::value_or
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:432,1
    - Dst: ByteRange::first::value_or
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:432,1
    - Dst: static_cast<const SingleValueTag *>
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:441,1
    - Dst: SegmentList*::addSegment
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:455,1
    - Dst: std::list::clear
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:456,1
    - Dst: HLSRepresentation*::isLive
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:458,1
    - Dst: HLSRepresentation*::getPlaylist
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:460,1
    - Dst: HLSRepresentation*::getPlaylist
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:462,1
    - Dst: HLSRepresentation*::getPlaylist
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:464,1
    - Dst: HLSRepresentation*::updateSegmentList
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:467,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 107
    argCount: 2
    argNames:
    - rep
    - tagslist
    argTypes:
    - HLSRepresentation*
    - std::list<Tag *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 468
    functionName: M3U8Parser::parseSegments
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Parser.cpp
    functionUses: 2
    functionsReached:
    - HLSSegment*::setDiscontinuitySequenceNumber
    - InitSegment*::setByteRange
    - Attribute*::unescapeQuotes
    - parseEncryption
    - std::find_if
    - SingleValueTag*::getValue
    - Timescale::ToTime
    - Attribute*::quotedString
    - InitSegment*::setSourceUrl
    - std::list::clear
    - std::list<Tag *>::cend
    - HLSRepresentation*::getPlaylistUrl
    - getValue
    - std::list<Tag *>::begin
    - std::list<Tag *>::end
    - SegmentList*::addSegment
    - static_cast<const SingleValueTag*>
    - static_cast<const SingleValueTag *>
    - HLSRepresentation*::inheritTimescale
    - getType
    - HLSSegment*::setByteRange
    - static_cast<const AttributesTag *>
    - HLSSegment*::setEncryption
    - std::list::crbegin
    - Attribute*::floatingPoint
    - setDisplayTime
    - Timescale::ToScaled
    - HLSRepresentation*::getPlaylist
    - ByteRange::first::has_value
    - HLSRepresentation*::isLive
    - CommonEncryption::CommonEncryption
    - ValuesListTag*::getAttributeByName
    - UTCTime
    - std::list::push_back
    - AttributesTag*::getAttributeByName
    - InitSegment::InitSegment
    - HLSRepresentation*::updateSegmentList
    - ByteRange::first::value_or
    - std::list::back
    - std::list<Tag *>::size
    - static_cast<const ValuesListTag *>
    - std::list<Tag *>::cbegin
    - Tag*::getType
    - HLSSegment::HLSSegment
    - vlc_tick_from_sec
    - std::list<Tag *>::back
    - SegmentList::SegmentList
    - empty
    - std::list::size
    - HLSSegment*::setSourceUrl
    - std::list::crend
    - HLSSegment*::setDisplayTime
    linkageType: ''
    returnType: void
    signature: void M3U8Parser::parseSegments(vlc_object_t *, HLSRepresentation *rep,
      const std::list<Tag *> &tagslist)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_ReadLine
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:471,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:472,1
    - Dst: std::isspace
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:473,1
    - Dst: free
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:475,1
    - Dst: free
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:478,1
    - Dst: M3U8::M3U8
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:480,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:484,1
    - Dst: M3U8*::setPlaylistUrl
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:485,1
    - Dst: Helper::getDirectoryPath
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:485,1
    - Dst: BasePeriod::BasePeriod
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:487,1
    - Dst: M3U8Parser::parseEntries
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:491,1
    - Dst: getTagsFromList
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:492,1
    - Dst: std::list::empty
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:493,1
    - Dst: getTagFromList
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:500,1
    - Dst: CommonEncryption::CommonEncryption
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:503,1
    - Dst: parseEncryption
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:504,1
    - Dst: static_cast<const AttributesTag *>
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:504,1
    - Dst: M3U8*::getUrlSegment
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:505,1
    - Dst: CommonEncryption::uri::empty
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:506,1
    - Dst: getKeyring
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:508,1
    - Dst: getTagsFromList
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:554,1
    - Dst: std::list::begin
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:555,1
    - Dst: std::list::end
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:555,1
    - Dst: dynamic_cast<AttributesTag *>
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:557,1
    - Dst: AttributesTag*::getAttributeByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:560,1
    - Dst: AttributesTag*::getAttributeByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:563,1
    - Dst: Attribute*::quotedString
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:566,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:566,1
    - Dst: Attribute*::quotedString
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:567,1
    - Dst: std::unordered_map::insert
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:568,1
    - Dst: std::pair<std::string, CodecStats>
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:568,1
    - Dst: CodecStats
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:568,1
    - Dst: std::list::push_back
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:569,1
    - Dst: std::list::begin
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:573,1
    - Dst: std::list::end
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:573,1
    - Dst: dynamic_cast<AttributesTag *>
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:575,1
    - Dst: AttributesTag*::getAttributeByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:579,1
    - Dst: Attribute*::quotedString
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:585,1
    - Dst: AttributesTag*::getAttributeByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:588,1
    - Dst: Helper::tokenize
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:591,1
    - Dst: Attribute*::quotedString
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:591,1
    - Dst: FormatNamespace::getFmt
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:596,1
    - Dst: StreamInfos::codecs::push_front
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:598,1
    - Dst: AttributesTag*::getAttributeByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:605,1
    - Dst: std::unordered_map::find
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:611,1
    - Dst: AttributesTag*::getAttributeByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:611,1
    - Dst: std::unordered_map::cend
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:612,1
    - Dst: second::find
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:614,1
    - Dst: second::end
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:615,1
    - Dst: second::insert
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:618,1
    - Dst: std::pair<std::string, unsigned>
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:618,1
    - Dst: std::list::push_front
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:619,1
    - Dst: StreamInfos::codecs::remove_if
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:629,1
    - Dst: StreamInfos::codecs::size
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:630,1
    - Dst: StreamInfos::codecs::sort
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:633,1
    - Dst: StreamInfos::codecs::unique
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:635,1
    - Dst: std::list::push_back
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:639,1
    - Dst: BaseAdaptationSet::BaseAdaptationSet
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:643,1
    - Dst: uri::empty
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:649,1
    - Dst: M3U8Parser::createRepresentation
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:652,1
    - Dst: HLSRepresentation*::addCodecs
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:657,1
    - Dst: BaseAdaptationSet*::description::empty
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:659,1
    - Dst: tag::getAttributeByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:660,1
    - Dst: tag::getAttributeByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:662,1
    - Dst: BaseAdaptationSet*::addRepresentation
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:665,1
    - Dst: BaseAdaptationSet*::getRepresentations
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:669,1
    - Dst: std::list::push_front
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:674,1
    - Dst: tag::getAttributeByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:680,1
    - Dst: uri::empty
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:686,1
    - Dst: std::find_if
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:688,1
    - Dst: std::list::begin
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:688,1
    - Dst: std::list::end
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:688,1
    - Dst: std::list::end
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:691,1
    - Dst: uri::empty
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:695,1
    - Dst: tag::getAttributeByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:702,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:702,1
    - Dst: Attribute*::quotedString
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:703,1
    - Dst: M3U8Parser::fillAdaptsetFromMediainfo
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:707,1
    - Dst: rep::getAdaptationSet
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:708,1
    - Dst: M3U8Parser::fillRepresentationFromMediainfo
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:710,1
    - Dst: BaseAdaptationSet::BaseAdaptationSet
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:717,1
    - Dst: M3U8Parser::fillAdaptsetFromMediainfo
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:720,1
    - Dst: M3U8Parser::createRepresentation
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:722,1
    - Dst: M3U8Parser::fillRepresentationFromMediainfo
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:729,1
    - Dst: std::unordered_map::find
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:732,1
    - Dst: std::unordered_map::end
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:733,1
    - Dst: FormatNamespace::getFmt
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:740,1
    - Dst: HLSRepresentation*::addCodecs
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:742,1
    - Dst: BaseAdaptationSet*::addRepresentation
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:749,1
    - Dst: std::list::push_front
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:750,1
    - Dst: getID
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:759,1
    - Dst: setID
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:760,1
    - Dst: ID
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:760,1
    - Dst: BasePeriod*::addAdaptationSet
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:761,1
    - Dst: BaseAdaptationSet::BaseAdaptationSet
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:766,1
    - Dst: AttributesTag::AttributesTag
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:769,1
    - Dst: AttributesTag*::addAttribute
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:770,1
    - Dst: Attribute::Attribute
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:770,1
    - Dst: M3U8Parser::createAndFillRepresentation
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:771,1
    - Dst: BaseAdaptationSet*::getRepresentations
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:772,1
    - Dst: BaseAdaptationSet*::getRepresentations
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:774,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:775,1
    - Dst: BasePeriod*::addAdaptationSet
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:776,1
    - Dst: M3U8*::addPeriod
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:784,1
    - Dst: std::find_if
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:786,1
    - Dst: std::list::cbegin
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:786,1
    - Dst: std::list::cend
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:786,1
    - Dst: getType
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:787,1
    - Dst: std::list::end
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:788,1
    - Dst: static_cast<const AttributesTag *>
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:790,1
    - Dst: auto::getAttributeByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:791,1
    - Dst: auto::getAttributeByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:793,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:794,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:796,1
    - Dst: releaseTagsList
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:802,1
    - Dst: M3U8*::debug
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:804,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 157
    argCount: 3
    argNames:
    - p_object
    - p_stream
    - playlisturl
    argTypes:
    - vlc_object_t*
    - stream_t*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 469
    functionDepth: 3
    functionLinenumber: 469
    functionLinenumberEnd: 806
    functionName: M3U8Parser::parse
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Parser.cpp
    functionUses: 2
    functionsReached:
    - std::unordered_map::insert
    - std::string::empty
    - std::pair<std::string, CodecStats>
    - CodecStats
    - StreamInfos::codecs::remove_if
    - uri::empty
    - std::list::empty
    - BaseAdaptationSet*::description::empty
    - parseEncryption
    - BaseAdaptationSet::BaseAdaptationSet
    - M3U8*::addPeriod
    - getTagFromList
    - BasePeriod*::addAdaptationSet
    - second::find
    - CommonEncryption::uri::empty
    - M3U8Parser::createRepresentation
    - std::find_if
    - Attribute*::quotedString
    - std::string::c_str
    - M3U8Parser::fillAdaptsetFromMediainfo
    - packetizer_getcc_cea608_max
    - StreamInfos::codecs::push_front
    - std::list::begin
    - Attribute::Attribute
    - StreamInfos::codecs::sort
    - std::list::end
    - getID
    - FormatNamespace::getFmt
    - StreamInfos::codecs::size
    - vlc_stream_ReadLine
    - second::insert
    - BaseAdaptationSet*::getRepresentations
    - M3U8Parser::fillRepresentationFromMediainfo
    - std::unordered_map::end
    - getTagsFromList
    - setID
    - M3U8Parser::createAndFillRepresentation
    - static_cast<const AttributesTag *>
    - getType
    - StreamInfos::codecs::unique
    - M3U8*::debug
    - Helper::tokenize
    - rep::getAdaptationSet
    - ID
    - AttributesTag::AttributesTag
    - M3U8*::setPlaylistUrl
    - std::list::push_front
    - std::unordered_map::find
    - CommonEncryption::CommonEncryption
    - strncmp
    - BasePeriod::BasePeriod
    - std::unordered_map::cend
    - std::pair<std::string, unsigned>
    - second::end
    - AttributesTag*::getAttributeByName
    - std::list::push_back
    - auto::getAttributeByName
    - M3U8Parser::parseEntries
    - std::isspace
    - tag::getAttributeByName
    - Helper::getDirectoryPath
    - std::list::cbegin
    - BaseAdaptationSet*::addRepresentation
    - releaseTagsList
    - std::list::cend
    - AttributesTag*::addAttribute
    - vlc_tick_from_sec
    - free
    - M3U8*::getUrlSegment
    - HLSRepresentation*::addCodecs
    - getKeyring
    - M3U8::M3U8
    - std::string
    - dynamic_cast<AttributesTag *>
    linkageType: ''
    returnType: M3U8
    signature: M3U8 * M3U8Parser::parse(vlc_object_t *p_object, stream_t *p_stream,
      const std::string &playlisturl)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_ReadLine
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:814,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:818,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:822,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:825,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:826,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:830,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:833,1
    - Dst: TagFactory::createTagByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:835,1
    - Dst: std::list::push_back
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:837,1
    - Dst: Tag*::getType
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:845,1
    - Dst: static_cast<AttributesTag *>
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:847,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:849,1
    - Dst: Attribute::Attribute
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:849,1
    - Dst: AttributesTag*::addAttribute
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:851,1
    - Dst: TagFactory::createTagByName
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:855,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:855,1
    - Dst: std::list::push_back
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:857,1
    - Dst: free
      Src: /src/vlc/modules/demux/hls/playlist/Parser.cpp:866,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 1
    argNames:
    - stream
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 870
    functionName: M3U8Parser::parseEntries
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Parser.cpp
    functionUses: 2
    functionsReached:
    - std::string::empty
    - strchr
    - static_cast<AttributesTag *>
    - Tag*::getType
    - Attribute::Attribute
    - AttributesTag*::addAttribute
    - TagFactory::createTagByName
    - strncmp
    - free
    - vlc_stream_ReadLine
    - std::list::push_back
    - std::string
    linkageType: ''
    returnType: std::list<Tag *>
    signature: std::list<Tag *> M3U8Parser::parseEntries(stream_t *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setSequenceNumber
      Src: /src/vlc/modules/demux/hls/playlist/HLSSegment.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - parent
    - seq
    argTypes:
    - ICanonicalUrl*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: HLSSegment::HLSSegment
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/HLSSegment.cpp
    functionUses: 1
    functionsReached:
    - setSequenceNumber
    linkageType: ''
    returnType: void
    signature: void HLSSegment::HLSSegment( ICanonicalUrl *parent, uint64_t seq )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: HLSSegment::~HLSSegment()
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/HLSSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HLSSegment::~HLSSegment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: iv::size
      Src: /src/vlc/modules/demux/hls/playlist/HLSSegment.cpp:44,1
    - Dst: getSequenceNumber
      Src: /src/vlc/modules/demux/hls/playlist/HLSSegment.cpp:46,1
    - Dst: iv::clear
      Src: /src/vlc/modules/demux/hls/playlist/HLSSegment.cpp:47,1
    - Dst: iv::resize
      Src: /src/vlc/modules/demux/hls/playlist/HLSSegment.cpp:48,1
    - Dst: ISegment::prepareChunk
      Src: /src/vlc/modules/demux/hls/playlist/HLSSegment.cpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - res
    - chunk
    - rep
    argTypes:
    - SharedResources*
    - SegmentChunk*
    - BaseRepresentation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 57
    functionName: HLSSegment::prepareChunk
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/HLSSegment.cpp
    functionUses: 0
    functionsReached:
    - ISegment::prepareChunk
    - getSequenceNumber
    - iv::clear
    - iv::size
    - iv::resize
    linkageType: ''
    returnType: bool
    signature: bool HLSSegment::prepareChunk(SharedResources *res, SegmentChunk *chunk,
      BaseRepresentation *rep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - set
    argTypes:
    - BaseAdaptationSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: HLSRepresentation::HLSRepresentation
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HLSRepresentation::HLSRepresentation  ( BaseAdaptationSet *set
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: HLSRepresentation::~HLSRepresentation ()
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HLSRepresentation::~HLSRepresentation ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: HLSRepresentation::getStreamFormat
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StreamFormat
    signature: StreamFormat HLSRepresentation::getStreamFormat() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: HLSRepresentation::isLive
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HLSRepresentation::isLive() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: HLSRepresentation::initialized
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HLSRepresentation::initialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Url
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - uri
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: HLSRepresentation::setPlaylistUrl
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp
    functionUses: 0
    functionsReached:
    - Url
    linkageType: ''
    returnType: void
    signature: void HLSRepresentation::setPlaylistUrl(const std::string &uri)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hasScheme
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:77,1
    - Dst: getParentUrlSegment
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:83,1
    - Dst: empty
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:84,1
    - Dst: Url::append
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 88
    functionName: HLSRepresentation::getPlaylistUrl
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp
    functionUses: 0
    functionsReached:
    - empty
    - hasScheme
    - getParentUrlSegment
    - Url::append
    linkageType: ''
    returnType: Url
    signature: Url HLSRepresentation::getPlaylistUrl() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BaseRepresentation::debug
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:92,1
    - Dst: std::string::append
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:96,1
    - Dst: std::string::append
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:97,1
    - Dst: HLSRepresentation::getStreamFormat
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:97,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:98,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - obj
    - indent
    argTypes:
    - vlc_object_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: HLSRepresentation::debug
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp
    functionUses: 0
    functionsReached:
    - HLSRepresentation::getStreamFormat
    - BaseRepresentation::debug
    - std::string::c_str
    - msg_Dbg
    - std::string::append
    linkageType: ''
    returnType: void
    signature: void HLSRepresentation::debug(vlc_object_t *obj, int indent) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HLSRepresentation::isLive
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:104,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:114,1
    - Dst: getPlaylist
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:115,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:117,1
    - Dst: BasePlaylist*::getVLCObject
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:117,1
    - Dst: getID
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:118,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:119,1
    - Dst: HLSRepresentation::debug
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:123,1
    - Dst: BasePlaylist*::getVLCObject
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - b_updated
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 124
    functionName: HLSRepresentation::scheduleNextUpdate
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - HLSRepresentation::debug
    - SEC_FROM_VLC_TICK
    - getID
    - getPlaylist
    - BasePlaylist*::getVLCObject
    - msg_Dbg
    - HLSRepresentation::isLive
    linkageType: ''
    returnType: void
    signature: void HLSRepresentation::scheduleNextUpdate(uint64_t, bool b_updated)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HLSRepresentation::isLive
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:132,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:134,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:137,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:138,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:144,1
    - Dst: getMinAheadTime
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - number
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 126
    functionDepth: 3
    functionLinenumber: 126
    functionLinenumberEnd: 151
    functionName: HLSRepresentation::needsUpdate
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - VLC_TICK_FROM_SEC
    - vlc_tick_from_sec
    - getMinAheadTime
    - HLSRepresentation::isLive
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: bool
    signature: bool HLSRepresentation::needsUpdate(uint64_t number) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPlaylist
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:155,1
    - Dst: M3U8Parser::appendSegmentsFromPlaylistURI
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:157,1
    - Dst: BasePlaylist*::getVLCObject
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:157,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:159,1
    - Dst: BasePlaylist*::getVLCObject
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:159,1
    - Dst: getID
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:161,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - res
    argTypes:
    - SharedResources*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 153
    functionDepth: 5
    functionLinenumber: 153
    functionLinenumberEnd: 172
    functionName: HLSRepresentation::runLocalUpdates
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - getID
    - getPlaylist
    - BasePlaylist*::getVLCObject
    - M3U8Parser::appendSegmentsFromPlaylistURI
    - msg_Warn
    linkageType: ''
    returnType: bool
    signature: bool HLSRepresentation::runLocalUpdates(SharedResources *res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: HLSRepresentation::canNoLongerUpdate
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HLSRepresentation::canNoLongerUpdate() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: HLSRepresentation::setChannelsCount
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HLSRepresentation::setChannelsCount(unsigned c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BaseRepresentation::makeCodecDescription
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:186,1
    - Dst: CodecDescription*::setChannelsCount
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 192
    functionName: HLSRepresentation::makeCodecDescription
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp
    functionUses: 0
    functionsReached:
    - BaseRepresentation::makeCodecDescription
    - CodecDescription*::setChannelsCount
    linkageType: ''
    returnType: CodecDescription
    signature: CodecDescription * HLSRepresentation::makeCodecDescription(const std::string
      &s) const
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const HLSRepresentation *>
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:196,1
    - Dst: BaseRepresentation*::getMediaSegment
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:199,1
    - Dst: inheritSegmentList
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:200,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:202,1
    - Dst: ISegment*::getDiscontinuitySequenceNumber
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:204,1
    - Dst: SegmentList*::hasRelativeMediaTimes
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:206,1
    - Dst: SegmentList*::getSegments
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:211,1
    - Dst: std::vector::begin
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:213,1
    - Dst: std::vector::end
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:213,1
    - Dst: ISegment*::getDiscontinuitySequenceNumber
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:217,1
    - Dst: ISegment*::getSequenceNumber
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:222,1
    - Dst: ISegment*::getSequenceNumber
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:225,1
    - Dst: SegmentList*::getTotalLength
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:228,1
    - Dst: inheritSegmentList
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:230,1
    - Dst: SegmentList*::getTotalLength
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:233,1
    - Dst: SegmentList*::getSegments
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:234,1
    - Dst: SegmentList*::getSegments
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:238,1
    - Dst: std::vector::front
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:239,1
    - Dst: SegmentList*::getTotalLength
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:240,1
    - Dst: std::vector::begin
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:242,1
    - Dst: std::vector::end
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:242,1
    - Dst: ISegment*::getDiscontinuitySequenceNumber
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:246,1
    - Dst: ISegment*::getSequenceNumber
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:251,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp:256,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 2
    argNames:
    - num
    - from
    argTypes:
    - uint64_t
    - BaseRepresentation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 194
    functionDepth: 3
    functionLinenumber: 194
    functionLinenumberEnd: 257
    functionName: HLSRepresentation::translateSegmentNumber
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/HLSRepresentation.cpp
    functionUses: 0
    functionsReached:
    - BaseRepresentation*::getMediaSegment
    - SegmentList*::hasRelativeMediaTimes
    - ISegment*::getDiscontinuitySequenceNumber
    - inheritSegmentList
    - std::vector::end
    - SegmentList*::getSegments
    - std::vector::front
    - ISegment*::getSequenceNumber
    - static_cast<const HLSRepresentation *>
    - SegmentList*::getTotalLength
    - std::vector::begin
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t HLSRepresentation::translateSegmentNumber(uint64_t num, const
      BaseRepresentation *from) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name_
    - value_
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: Attribute::Attribute
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Tags.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Attribute::Attribute(const std::string &name_, const std::string
      &value_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::istringstream::imbue
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:43,1
    - Dst: std::locale
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: Attribute::decimal
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Tags.cpp
    functionUses: 0
    functionsReached:
    - std::locale
    - std::istringstream::imbue
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Attribute::decimal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::istringstream::imbue
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:51,1
    - Dst: std::locale
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: Attribute::floatingPoint
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Tags.cpp
    functionUses: 0
    functionsReached:
    - std::locale
    - std::istringstream::imbue
    linkageType: ''
    returnType: double
    signature: double Attribute::floatingPoint() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:59,1
    - Dst: substr
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:59,1
    - Dst: substr
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:59,1
    - Dst: length
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:61,1
    - Dst: substr
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:64,1
    - Dst: std::stringstream::imbue
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:65,1
    - Dst: std::locale
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:65,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 71
    functionName: Attribute::hexSequence
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Tags.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::imbue
    - length
    - std::vector::push_back
    - substr
    - std::locale
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Attribute::hexSequence() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' is'
    - ' data'
    argTypes:
    - std::istream
    - std::optional<std::size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: '& operator>>(std::istream& is, std::optional<std::size_t>& data)'
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Tags.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::istream
    signature: std::istream & operator>>(std::istream& is, std::optional<std::size_t>&
      data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::istringstream::imbue
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:86,1
    - Dst: std::locale
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:86,1
    - Dst: std::istringstream::good
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:88,1
    - Dst: ByteRange
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:89,1
    - Dst: std::istringstream::good
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:91,1
    - Dst: std::istringstream::get
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:93,1
    - Dst: std::istringstream::good
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:94,1
    - Dst: ByteRange
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:97,1
    - Dst: ByteRange
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:101,1
    - Dst: std::move
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:101,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 102
    functionName: Attribute::getByteRange
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Tags.cpp
    functionUses: 0
    functionsReached:
    - std::istringstream::get
    - ByteRange
    - std::istringstream::good
    - std::istringstream::imbue
    - std::move
    - std::locale
    linkageType: ''
    returnType: ByteRange
    signature: ByteRange Attribute::getByteRange() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::istringstream::imbue
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:109,1
    - Dst: std::locale
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:109,1
    - Dst: std::istringstream::good
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:110,1
    - Dst: std::istringstream::good
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:113,1
    - Dst: std::istringstream::get
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:115,1
    - Dst: std::istringstream::good
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:116,1
    - Dst: std::make_pair
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 122
    functionName: Attribute::getResolution
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Tags.cpp
    functionUses: 0
    functionsReached:
    - std::istringstream::get
    - std::istringstream::good
    - std::make_pair
    - std::istringstream::imbue
    - std::locale
    linkageType: ''
    returnType: std::pair<int, int>
    signature: std::pair<int, int> Attribute::getResolution() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Attribute::Attribute
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:126,1
    - Dst: Attribute::quotedString
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: Attribute::unescapeQuotes
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Tags.cpp
    functionUses: 0
    functionsReached:
    - Attribute::quotedString
    - Attribute::Attribute
    linkageType: ''
    returnType: Attribute
    signature: Attribute Attribute::unescapeQuotes() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:131,1
    - Dst: at
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:131,1
    - Dst: length
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:134,1
    - Dst: Helper::unescape
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:137,1
    - Dst: substr
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:137,1
    - Dst: length
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: Attribute::quotedString
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Tags.cpp
    functionUses: 1
    functionsReached:
    - length
    - Helper::unescape
    - at
    - empty
    - substr
    linkageType: ''
    returnType: std::string
    signature: std::string Attribute::quotedString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type_
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: Tag::Tag
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Tags.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tag::Tag(int type_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: Tag::~Tag()
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Tags.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tag::~Tag()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: Tag::getType
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Tags.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Tag::getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - type
    - v
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: SingleValueTag::SingleValueTag
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Tags.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SingleValueTag::SingleValueTag(int type, const std::string &v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: SingleValueTag::~SingleValueTag()
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Tags.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SingleValueTag::~SingleValueTag()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: '&SingleValueTag::getValue() const'
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Tags.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Attribute
    signature: Attribute &SingleValueTag::getValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AttributesTag::parseAttributes
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - v
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: AttributesTag::AttributesTag
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Tags.cpp
    functionUses: 1
    functionsReached:
    - AttributesTag::parseAttributes
    linkageType: ''
    returnType: void
    signature: void AttributesTag::AttributesTag(int type, const std::string &v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:177,1
    - Dst: end
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionName: AttributesTag::~AttributesTag()
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Tags.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    linkageType: ''
    returnType: void
    signature: void AttributesTag::~AttributesTag()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:184,1
    - Dst: end
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 189
    functionName: AttributesTag::getAttributeByName
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Tags.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    linkageType: ''
    returnType: Attribute
    signature: Attribute * AttributesTag::getAttributeByName(const char *name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attr
    argTypes:
    - Attribute*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: AttributesTag::addAttribute
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Tags.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void AttributesTag::addAttribute(Attribute *attr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::istringstream::good
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:201,1
    - Dst: std::istringstream::good
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:204,1
    - Dst: std::istringstream::peek
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:206,1
    - Dst: std::ostringstream::put
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:209,1
    - Dst: std::istringstream::get
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:209,1
    - Dst: std::istringstream::get
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:213,1
    - Dst: std::istringstream::get
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:217,1
    - Dst: std::ostringstream::str
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:220,1
    - Dst: std::ostringstream::str
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:221,1
    - Dst: std::istringstream::good
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:225,1
    - Dst: std::istringstream::peek
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:227,1
    - Dst: std::istringstream::get
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:230,1
    - Dst: std::istringstream::get
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:234,1
    - Dst: std::ostringstream::put
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:242,1
    - Dst: std::istringstream::get
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:242,1
    - Dst: std::istringstream::get
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:248,1
    - Dst: std::istringstream::good
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:252,1
    - Dst: std::ostringstream::put
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:253,1
    - Dst: std::istringstream::get
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:253,1
    - Dst: std::ostringstream::str
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:256,1
    - Dst: std::ostringstream::str
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:257,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:259,1
    - Dst: Attribute::Attribute
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:261,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:263,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 41
    argCount: 1
    argNames:
    - field
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 266
    functionName: AttributesTag::parseAttributes
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Tags.cpp
    functionUses: 1
    functionsReached:
    - std::string::empty
    - std::ostringstream::put
    - std::istringstream::get
    - std::istringstream::peek
    - Attribute::Attribute
    - push_back
    - std::istringstream::good
    - std::ostringstream::str
    linkageType: ''
    returnType: void
    signature: void AttributesTag::parseAttributes(const std::string &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ValuesListTag::parseAttributes
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - v
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: ValuesListTag::ValuesListTag
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Tags.cpp
    functionUses: 0
    functionsReached:
    - ValuesListTag::parseAttributes
    linkageType: ''
    returnType: void
    signature: void ValuesListTag::ValuesListTag(int type, const std::string &v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: ValuesListTag::~ValuesListTag()
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Tags.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ValuesListTag::~ValuesListTag()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:280,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:284,1
    - Dst: Attribute::Attribute
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:284,1
    - Dst: addAttribute
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:286,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:288,1
    - Dst: Attribute::Attribute
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:288,1
    - Dst: addAttribute
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:290,1
    - Dst: Attribute::Attribute
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:294,1
    - Dst: addAttribute
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - field
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 298
    functionName: ValuesListTag::parseAttributes
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Tags.cpp
    functionUses: 1
    functionsReached:
    - std::string::find
    - addAttribute
    - std::string::substr
    - Attribute::Attribute
    linkageType: ''
    returnType: void
    signature: void ValuesListTag::parseAttributes(const std::string &field)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: Tag::Tag
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:338,1
    - Dst: SingleValueTag::SingleValueTag
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:348,1
    - Dst: ValuesListTag::ValuesListTag
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:351,1
    - Dst: AttributesTag::AttributesTag
      Src: /src/vlc/modules/demux/hls/playlist/Tags.cpp:359,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 366
    functionName: TagFactory::createTagByName
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/Tags.cpp
    functionUses: 1
    functionsReached:
    - ValuesListTag::ValuesListTag
    - Tag::Tag
    - AttributesTag::AttributesTag
    - SingleValueTag::SingleValueTag
    linkageType: ''
    returnType: Tag
    signature: Tag * TagFactory::createTagByName(const std::string &name, const std::string
      &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/demux/hls/playlist/M3U8.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: M3U8::M3U8
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/M3U8.cpp
    functionUses: 1
    functionsReached:
    - VLC_TICK_FROM_SEC
    linkageType: ''
    returnType: void
    signature: void M3U8::M3U8 (vlc_object_t *p_object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: M3U8::~M3U8()
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/M3U8.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void M3U8::~M3U8()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/hls/playlist/M3U8.cpp:45,1
    - Dst: end
      Src: /src/vlc/modules/demux/hls/playlist/M3U8.cpp:45,1
    - Dst: BasePeriod*::getAdaptationSets
      Src: /src/vlc/modules/demux/hls/playlist/M3U8.cpp:48,1
    - Dst: std::vector::cbegin
      Src: /src/vlc/modules/demux/hls/playlist/M3U8.cpp:49,1
    - Dst: std::vector::cend
      Src: /src/vlc/modules/demux/hls/playlist/M3U8.cpp:49,1
    - Dst: BaseAdaptationSet*::getRepresentations
      Src: /src/vlc/modules/demux/hls/playlist/M3U8.cpp:52,1
    - Dst: std::vector::cbegin
      Src: /src/vlc/modules/demux/hls/playlist/M3U8.cpp:53,1
    - Dst: std::vector::cend
      Src: /src/vlc/modules/demux/hls/playlist/M3U8.cpp:53,1
    - Dst: dynamic_cast<const HLSRepresentation *>
      Src: /src/vlc/modules/demux/hls/playlist/M3U8.cpp:55,1
    - Dst: HLSRepresentation*::initialized
      Src: /src/vlc/modules/demux/hls/playlist/M3U8.cpp:56,1
    - Dst: HLSRepresentation*::isLive
      Src: /src/vlc/modules/demux/hls/playlist/M3U8.cpp:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 68
    functionName: M3U8::isLive
    functionSourceFile: /src/vlc/modules/demux/hls/playlist/M3U8.cpp
    functionUses: 0
    functionsReached:
    - std::vector::cbegin
    - begin
    - dynamic_cast<const HLSRepresentation *>
    - HLSRepresentation*::isLive
    - BaseAdaptationSet*::getRepresentations
    - HLSRepresentation*::initialized
    - BasePeriod*::getAdaptationSets
    - end
    - std::vector::cend
    linkageType: ''
    returnType: bool
    signature: bool M3U8::isLive() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: DASHStream::DASHStream
    functionSourceFile: /src/vlc/modules/demux/dash/DASHStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DASHStream::DASHStream(demux_t *demux)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AbstractStream::newDemux
      Src: /src/vlc/modules/demux/dash/DASHStream.cpp:41,1
    - Dst: Demuxer::Demuxer
      Src: /src/vlc/modules/demux/dash/DASHStream.cpp:45,1
    - Dst: SlaveDemuxer::SlaveDemuxer
      Src: /src/vlc/modules/demux/dash/DASHStream.cpp:49,1
    - Dst: SlaveDemuxer::SlaveDemuxer
      Src: /src/vlc/modules/demux/dash/DASHStream.cpp:53,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - p_obj
    - format
    - out
    - source
    argTypes:
    - vlc_object_t*
    - StreamFormat
    - es_out_t*
    - AbstractSourceStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 62
    functionName: DASHStream::newDemux
    functionSourceFile: /src/vlc/modules/demux/dash/DASHStream.cpp
    functionUses: 0
    functionsReached:
    - AbstractStream::newDemux
    - SlaveDemuxer::SlaveDemuxer
    - Demuxer::Demuxer
    linkageType: ''
    returnType: AbstractDemuxer
    signature: "AbstractDemuxer *DASHStream::newDemux(vlc_object_t *p_obj, const StreamFormat
      &format,\n                                      es_out_t *out, AbstractSourceStream
      *source) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DASHStream::DASHStream
      Src: /src/vlc/modules/demux/dash/DASHStream.cpp:67,1
    - Dst: AbstractStream*::init
      Src: /src/vlc/modules/demux/dash/DASHStream.cpp:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - realdemux
    - format
    - tracker
    argTypes:
    - demux_t*
    - StreamFormat
    - SegmentTracker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: DASHStreamFactory::create
    functionSourceFile: /src/vlc/modules/demux/dash/DASHStream.cpp
    functionUses: 0
    functionsReached:
    - AbstractStream*::init
    - DASHStream::DASHStream
    linkageType: ''
    returnType: AbstractStream
    signature: "AbstractStream * DASHStreamFactory::create(demux_t *realdemux, const
      StreamFormat &format,\n                                   SegmentTracker *tracker)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - demux_
    - res
    - mpd
    - factory
    - type
    argTypes:
    - demux_t*
    - SharedResources*
    - MPD*
    - AbstractStreamFactory*
    - AbstractAdaptationLogic::LogicType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: DASHManager::DASHManager
    functionSourceFile: /src/vlc/modules/demux/dash/DASHManager.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DASHManager::DASHManager(demux_t *demux_,\n                         SharedResources
      *res,\n                         MPD *mpd,\n                         AbstractStreamFactory
      *factory,\n                         AbstractAdaptationLogic::LogicType type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: DASHManager::~DASHManager   ()
    functionSourceFile: /src/vlc/modules/demux/dash/DASHManager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DASHManager::~DASHManager   ()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:67,1
    - Dst: getMinAheadTime
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:69,1
    - Dst: std::max
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:74,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:74,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:76,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 79
    functionName: DASHManager::scheduleNextUpdate
    functionSourceFile: /src/vlc/modules/demux/dash/DASHManager.cpp
    functionUses: 0
    functionsReached:
    - SEC_FROM_VLC_TICK
    - VLC_TICK_FROM_SEC
    - std::max
    - time
    - msg_Dbg
    - getMinAheadTime
    linkageType: ''
    returnType: void
    signature: void DASHManager::scheduleNextUpdate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:83,1
    - Dst: PlaylistManager::needsUpdate
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: DASHManager::needsUpdate
    functionSourceFile: /src/vlc/modules/demux/dash/DASHManager.cpp
    functionUses: 0
    functionsReached:
    - PlaylistManager::needsUpdate
    - time
    linkageType: ''
    returnType: bool
    signature: bool DASHManager::needsUpdate() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Retrieve::HTTP
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:96,1
    - Dst: vlc_stream_MemoryNew
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:100,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:103,1
    - Dst: xml::DOMParser::parse
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:108,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:110,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:111,1
    - Dst: xml::DOMParser::getRootNode
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:115,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:115,1
    - Dst: Helper::getDirectoryPath
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:116,1
    - Dst: IsoffMainParser::parse
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:117,1
    - Dst: updateWith
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:120,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:123,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 89
    functionDepth: 4
    functionLinenumber: 89
    functionLinenumberEnd: 128
    functionName: DASHManager::updatePlaylist
    functionSourceFile: /src/vlc/modules/demux/dash/DASHManager.cpp
    functionUses: 0
    functionsReached:
    - IsoffMainParser::parse
    - block_Release
    - Helper::getDirectoryPath
    - xml::DOMParser::getRootNode
    - vlc_stream_Delete
    - Retrieve::HTTP
    - xml::DOMParser::parse
    - vlc_stream_MemoryNew
    - VLC_OBJECT
    - updateWith
    linkageType: ''
    returnType: bool
    signature: bool DASHManager::updatePlaylist()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<MPD *>
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:136,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:143,1
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:144,1
    - Dst: MPD*::programInfo::getTitle
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:148,1
    - Dst: vlc_meta_SetTitle
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:149,1
    - Dst: MPD*::programInfo::getTitle
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:149,1
    - Dst: MPD*::programInfo::getSource
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:151,1
    - Dst: vlc_meta_SetPublisher
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:152,1
    - Dst: MPD*::programInfo::getSource
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:152,1
    - Dst: MPD*::programInfo::getCopyright
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:154,1
    - Dst: vlc_meta_SetCopyright
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:155,1
    - Dst: MPD*::programInfo::getCopyright
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:155,1
    - Dst: MPD*::programInfo::getMoreInformationUrl
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:157,1
    - Dst: vlc_meta_SetURL
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:158,1
    - Dst: MPD*::programInfo::getMoreInformationUrl
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:158,1
    - Dst: vlc_meta_Merge
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:160,1
    - Dst: vlc_meta_Delete
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:161,1
    - Dst: PlaylistManager::doControl
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:165,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - i_query
    - args
    argTypes:
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 130
    functionDepth: 3
    functionLinenumber: 130
    functionLinenumberEnd: 166
    functionName: DASHManager::doControl
    functionSourceFile: /src/vlc/modules/demux/dash/DASHManager.cpp
    functionUses: 0
    functionsReached:
    - vlc_meta_Delete
    - vlc_meta_SetTitle
    - vlc_meta_New
    - MPD*::programInfo::getMoreInformationUrl
    - vlc_meta_Merge
    - MPD*::programInfo::getSource
    - MPD*::programInfo::getCopyright
    - vlc_meta_SetURL
    - PlaylistManager::doControl
    - vlc_meta_SetCopyright
    - va_arg
    - vlc_meta_SetPublisher
    - MPD*::programInfo::getTitle
    - dynamic_cast<MPD *>
    linkageType: ''
    returnType: int
    signature: int DASHManager::doControl(int i_query, va_list args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:177,1
    - Dst: xml::Node*::matches
      Src: /src/vlc/modules/demux/dash/DASHManager.cpp:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - root
    argTypes:
    - xml::Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 182
    functionName: DASHManager::isDASH
    functionSourceFile: /src/vlc/modules/demux/dash/DASHManager.cpp
    functionUses: 1
    functionsReached:
    - ARRAY_SIZE
    - xml::Node*::matches
    linkageType: ''
    returnType: bool
    signature: bool DASHManager::isDASH(xml::Node *root)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mime
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: DASHManager::mimeMatched
    functionSourceFile: /src/vlc/modules/demux/dash/DASHManager.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DASHManager::mimeMatched(const std::string &mime)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: IndexReader::IndexReader
    functionSourceFile: /src/vlc/modules/demux/dash/mp4/IndexReader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IndexReader::IndexReader(vlc_object_t *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parseBlock
      Src: /src/vlc/modules/demux/dash/mp4/IndexReader.cpp:39,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/dash/mp4/IndexReader.cpp:42,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/demux/dash/mp4/IndexReader.cpp:55,1
    - Dst: BaseRepresentation*::replaceAttribute
      Src: /src/vlc/modules/demux/dash/mp4/IndexReader.cpp:60,1
    - Dst: Timescale
      Src: /src/vlc/modules/demux/dash/mp4/IndexReader.cpp:60,1
    - Dst: TimescaleAttr::TimescaleAttr
      Src: /src/vlc/modules/demux/dash/mp4/IndexReader.cpp:60,1
    - Dst: BaseRepresentation*::SplitUsingIndex
      Src: /src/vlc/modules/demux/dash/mp4/IndexReader.cpp:61,1
    - Dst: BaseRepresentation*::getPlaylist
      Src: /src/vlc/modules/demux/dash/mp4/IndexReader.cpp:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - p_block
    - rep
    - i_fileoffset
    argTypes:
    - block_t*
    - BaseRepresentation*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 66
    functionName: IndexReader::parseIndex
    functionSourceFile: /src/vlc/modules/demux/dash/mp4/IndexReader.cpp
    functionUses: 0
    functionsReached:
    - BaseRepresentation*::SplitUsingIndex
    - MP4_BoxGet
    - BaseRepresentation*::getPlaylist
    - std::vector::push_back
    - TimescaleAttr::TimescaleAttr
    - Timescale
    - BaseRepresentation*::replaceAttribute
    - parseBlock
    linkageType: ''
    returnType: bool
    signature: bool IndexReader::parseIndex(block_t *p_block, BaseRepresentation *rep,
      uint64_t i_fileoffset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: DASHCommonAttributesElements::DASHCommonAttributesElements
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/DASHCommonAttributesElements.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DASHCommonAttributesElements::DASHCommonAttributesElements()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_delete_all
      Src: /src/vlc/modules/demux/dash/mpd/DASHCommonAttributesElements.cpp:48,1
    - Dst: vlc_delete_all
      Src: /src/vlc/modules/demux/dash/mpd/DASHCommonAttributesElements.cpp:49,1
    - Dst: vlc_delete_all
      Src: /src/vlc/modules/demux/dash/mpd/DASHCommonAttributesElements.cpp:50,1
    - Dst: vlc_delete_all
      Src: /src/vlc/modules/demux/dash/mpd/DASHCommonAttributesElements.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: DASHCommonAttributesElements::~DASHCommonAttributesElements()
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/DASHCommonAttributesElements.cpp
    functionUses: 0
    functionsReached:
    - vlc_delete_all
    linkageType: ''
    returnType: void
    signature: void DASHCommonAttributesElements::~DASHCommonAttributesElements()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: DASHCommonAttributesElements::getParX
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/DASHCommonAttributesElements.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DASHCommonAttributesElements::getParX                 () const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - parX
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: DASHCommonAttributesElements::setParX
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/DASHCommonAttributesElements.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DASHCommonAttributesElements::setParX( int parX )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: DASHCommonAttributesElements::getParY
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/DASHCommonAttributesElements.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DASHCommonAttributesElements::getParY                 () const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DASHCommonAttributesElements::setParY
      Src: /src/vlc/modules/demux/dash/mpd/DASHCommonAttributesElements.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - parY
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: DASHCommonAttributesElements::setParY
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/DASHCommonAttributesElements.cpp
    functionUses: 1
    functionsReached:
    - DASHCommonAttributesElements::setParY
    linkageType: ''
    returnType: void
    signature: void DASHCommonAttributesElements::setParY( int parY )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: DASHCommonAttributesElements::getFrameRate
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/DASHCommonAttributesElements.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DASHCommonAttributesElements::getFrameRate            () const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - frameRate
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: DASHCommonAttributesElements::setFrameRate
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/DASHCommonAttributesElements.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DASHCommonAttributesElements::setFrameRate( int frameRate )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: '&   DASHCommonAttributesElements::getNumberOfChannels() const'
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/DASHCommonAttributesElements.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::list<std::string>
    signature: std::list<std::string> &   DASHCommonAttributesElements::getNumberOfChannels()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/vlc/modules/demux/dash/mpd/DASHCommonAttributesElements.cpp:94,1
    - Dst: DASHCommonAttributesElements::channels::push_back
      Src: /src/vlc/modules/demux/dash/mpd/DASHCommonAttributesElements.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - channel
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: DASHCommonAttributesElements::addChannel
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/DASHCommonAttributesElements.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - DASHCommonAttributesElements::channels::push_back
    linkageType: ''
    returnType: void
    signature: void DASHCommonAttributesElements::addChannel( const std::string &channel
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: '&   DASHCommonAttributesElements::getSamplingRates() const'
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/DASHCommonAttributesElements.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::list<int>
    signature: std::list<int> &   DASHCommonAttributesElements::getSamplingRates()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DASHCommonAttributesElements::sampleRates::push_back
      Src: /src/vlc/modules/demux/dash/mpd/DASHCommonAttributesElements.cpp:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - sampleRate
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: DASHCommonAttributesElements::addSampleRate
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/DASHCommonAttributesElements.cpp
    functionUses: 0
    functionsReached:
    - DASHCommonAttributesElements::sampleRates::push_back
    linkageType: ''
    returnType: void
    signature: void DASHCommonAttributesElements::addSampleRate( int sampleRate )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: '&DASHCommonAttributesElements::getContentProtections() const'
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/DASHCommonAttributesElements.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::list<ContentDescription*>
    signature: std::list<ContentDescription*> &DASHCommonAttributesElements::getContentProtections()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DASHCommonAttributesElements::contentProtections::push_back
      Src: /src/vlc/modules/demux/dash/mpd/DASHCommonAttributesElements.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - desc
    argTypes:
    - ContentDescription*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: DASHCommonAttributesElements::addContentProtection
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/DASHCommonAttributesElements.cpp
    functionUses: 0
    functionsReached:
    - DASHCommonAttributesElements::contentProtections::push_back
    linkageType: ''
    returnType: void
    signature: void DASHCommonAttributesElements::addContentProtection(ContentDescription
      *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: '&DASHCommonAttributesElements::getAccessibilities() const'
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/DASHCommonAttributesElements.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::list<ContentDescription*>
    signature: std::list<ContentDescription*> &DASHCommonAttributesElements::getAccessibilities()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DASHCommonAttributesElements::accessibilities::push_back
      Src: /src/vlc/modules/demux/dash/mpd/DASHCommonAttributesElements.cpp:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - desc
    argTypes:
    - ContentDescription*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: DASHCommonAttributesElements::addAccessibility
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/DASHCommonAttributesElements.cpp
    functionUses: 0
    functionsReached:
    - DASHCommonAttributesElements::accessibilities::push_back
    linkageType: ''
    returnType: void
    signature: void DASHCommonAttributesElements::addAccessibility(ContentDescription
      *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: '&DASHCommonAttributesElements::getRatings() const'
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/DASHCommonAttributesElements.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::list<ContentDescription*>
    signature: std::list<ContentDescription*> &DASHCommonAttributesElements::getRatings()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DASHCommonAttributesElements::ratings::push_back
      Src: /src/vlc/modules/demux/dash/mpd/DASHCommonAttributesElements.cpp:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - desc
    argTypes:
    - ContentDescription*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: DASHCommonAttributesElements::addRating
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/DASHCommonAttributesElements.cpp
    functionUses: 0
    functionsReached:
    - DASHCommonAttributesElements::ratings::push_back
    linkageType: ''
    returnType: void
    signature: void DASHCommonAttributesElements::addRating(ContentDescription *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: '&DASHCommonAttributesElements::getViewpoints() const'
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/DASHCommonAttributesElements.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::list<ContentDescription*>
    signature: std::list<ContentDescription*> &DASHCommonAttributesElements::getViewpoints()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DASHCommonAttributesElements::viewpoints::push_back
      Src: /src/vlc/modules/demux/dash/mpd/DASHCommonAttributesElements.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - desc
    argTypes:
    - ContentDescription*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: DASHCommonAttributesElements::addViewpoint
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/DASHCommonAttributesElements.cpp
    functionUses: 0
    functionsReached:
    - DASHCommonAttributesElements::viewpoints::push_back
    linkageType: ''
    returnType: void
    signature: void DASHCommonAttributesElements::addViewpoint(ContentDescription
      *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: '&ProgramInformation::getSource() const'
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/ProgramInformation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &ProgramInformation::getSource() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - source
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: ProgramInformation::setSource
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/ProgramInformation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProgramInformation::setSource(const std::string &source)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: '&ProgramInformation::getCopyright() const'
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/ProgramInformation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &ProgramInformation::getCopyright() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - copyright
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: ProgramInformation::setCopyright
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/ProgramInformation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProgramInformation::setCopyright(const std::string &copyright)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - url
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: ProgramInformation::setMoreInformationUrl
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/ProgramInformation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProgramInformation::setMoreInformationUrl(const std::string &url)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: '& ProgramInformation::getMoreInformationUrl() const'
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/ProgramInformation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & ProgramInformation::getMoreInformationUrl() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: '&ProgramInformation::getTitle() const'
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/ProgramInformation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &ProgramInformation::getTitle() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - title
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: ProgramInformation::setTitle
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/ProgramInformation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProgramInformation::setTitle                (const std::string
      &title)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~ProgramInformation()
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/ProgramInformation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ProgramInformation()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~ProgramInformation()
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/ProgramInformation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ProgramInformation()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~ProgramInformation()
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/ProgramInformation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ProgramInformation()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~ProgramInformation()
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/ProgramInformation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ProgramInformation()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_object
    - profile_
    argTypes:
    - vlc_object_t*
    - Profile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: MPD::MPD
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/MPD.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MPD::MPD (vlc_object_t *p_object, Profile profile_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: MPD::~MPD()
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/MPD.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MPD::~MPD()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/demux/dash/mpd/MPD.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: MPD::isLive
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/MPD.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool MPD::isLive() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: MPD::isLowLatency
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/MPD.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MPD::isLowLatency() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: MPD::setLowLatency
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/MPD.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MPD::setLowLatency(bool b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: MPD::getProfile
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/MPD.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Profile
    signature: Profile MPD::getProfile() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/dash/mpd/MPD.cpp:79,1
    - Dst: static_cast<std::string>
      Src: /src/vlc/modules/demux/dash/mpd/MPD.cpp:81,1
    - Dst: MPD::getProfile
      Src: /src/vlc/modules/demux/dash/mpd/MPD.cpp:81,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/demux/dash/mpd/MPD.cpp:82,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/dash/mpd/MPD.cpp:84,1
    - Dst: getUrlSegment
      Src: /src/vlc/modules/demux/dash/mpd/MPD.cpp:84,1
    - Dst: BasePlaylist::debug
      Src: /src/vlc/modules/demux/dash/mpd/MPD.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: MPD::debug
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/MPD.cpp
    functionUses: 0
    functionsReached:
    - BasePlaylist::debug
    - SEC_FROM_VLC_TICK
    - MPD::getProfile
    - msg_Dbg
    - static_cast<std::string>
    - getUrlSegment
    linkageType: ''
    returnType: void
    signature: void MPD::debug() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - root_
    - p_object_
    - stream
    - ' streambaseurl_'
    argTypes:
    - Node*
    - vlc_object_t*
    - stream_t*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: IsoffMainParser::IsoffMainParser
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void IsoffMainParser::IsoffMainParser    (Node *root_, vlc_object_t
      *p_object_,\n                                     stream_t *stream, const std::string
      & streambaseurl_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: IsoffMainParser::~IsoffMainParser   ()
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IsoffMainParser::~IsoffMainParser   ()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:70,1
    - Dst: Integer<double>
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:72,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:72,1
    - Dst: T*::addAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:73,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:73,1
    - Dst: AvailabilityTimeOffsetAttr::AvailabilityTimeOffsetAttr
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:73,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:75,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:77,1
    - Dst: T*::addAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:78,1
    - Dst: AvailabilityTimeCompleteAttr::AvailabilityTimeCompleteAttr
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:78,1
    - Dst: MPD*::setLowLatency
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - mpd
    - node
    - s
    argTypes:
    - MPD*
    - Node*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 82
    functionName: parseAvailability
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp
    functionUses: 0
    functionsReached:
    - Node*::getAttributeValue
    - T*::addAttribute
    - Integer<double>
    - Node*::hasAttribute
    - vlc_tick_from_sec
    - AvailabilityTimeOffsetAttr::AvailabilityTimeOffsetAttr
    - AvailabilityTimeCompleteAttr::AvailabilityTimeCompleteAttr
    - MPD*::setLowLatency
    linkageType: ''
    returnType: void
    signature: void parseAvailability(MPD *mpd, Node *node, T *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DOMHelper::getChildElementByTagName
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:86,1
    - Dst: getDASHNamespace
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:86,1
    - Dst: std::vector::size
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:88,1
    - Dst: MPD*::addBaseUrl
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:89,1
    - Dst: std::vector::at
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:89,1
    - Dst: MPD*::setPlaylistUrl
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:91,1
    - Dst: Helper::getDirectoryPath
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - mpd
    - root
    argTypes:
    - MPD*
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: IsoffMainParser::parseMPDBaseUrl
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp
    functionUses: 0
    functionsReached:
    - Helper::getDirectoryPath
    - DOMHelper::getChildElementByTagName
    - getDASHNamespace
    - MPD*::addBaseUrl
    - std::vector::at
    - std::vector::size
    - MPD*::setPlaylistUrl
    linkageType: ''
    returnType: void
    signature: void IsoffMainParser::parseMPDBaseUrl(MPD *mpd, Node *root)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsoffMainParser::getProfile
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:96,1
    - Dst: MPD::MPD
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:96,1
    - Dst: IsoffMainParser::parseMPDAttributes
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:99,1
    - Dst: IsoffMainParser::parseProgramInformation
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:100,1
    - Dst: DOMHelper::getFirstChildElementByName
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:100,1
    - Dst: getDASHNamespace
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:100,1
    - Dst: IsoffMainParser::parseMPDBaseUrl
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:101,1
    - Dst: IsoffMainParser::parsePeriods
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:102,1
    - Dst: MPD*::addAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:103,1
    - Dst: StartnumberAttr::StartnumberAttr
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:103,1
    - Dst: MPD*::debug
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: IsoffMainParser::parse
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp
    functionUses: 2
    functionsReached:
    - IsoffMainParser::parseMPDAttributes
    - IsoffMainParser::parseProgramInformation
    - StartnumberAttr::StartnumberAttr
    - MPD::MPD
    - getDASHNamespace
    - MPD*::addAttribute
    - IsoffMainParser::parseMPDBaseUrl
    - IsoffMainParser::getProfile
    - DOMHelper::getFirstChildElementByName
    - MPD*::debug
    - IsoffMainParser::parsePeriods
    linkageType: ''
    returnType: MPD
    signature: MPD * IsoffMainParser::parse()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: xml::Node*::getAttributes
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:111,1
    - Dst: IsoTime
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:119,1
    - Dst: MPD*::setMinBuffering
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:123,1
    - Dst: IsoTime
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:123,1
    - Dst: IsoTime
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:128,1
    - Dst: IsoTime
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:134,1
    - Dst: MPD*::setType
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:138,1
    - Dst: UTCTime
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:142,1
    - Dst: UTCTime
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:146,1
    - Dst: IsoTime
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:150,1
    - Dst: IsoTime
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:154,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - mpd
    - node
    argTypes:
    - MPD*
    - xml::Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 157
    functionName: IsoffMainParser::parseMPDAttributes
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp
    functionUses: 1
    functionsReached:
    - xml::Node*::getAttributes
    - MPD*::setType
    - UTCTime
    - MPD*::setMinBuffering
    - IsoTime
    linkageType: ''
    returnType: void
    signature: void IsoffMainParser::parseMPDAttributes   (MPD *mpd, xml::Node *node)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DOMHelper::getElementByTagName
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:161,1
    - Dst: getDASHNamespace
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:161,1
    - Dst: std::vector::begin
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:165,1
    - Dst: std::vector::end
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:165,1
    - Dst: BasePeriod::BasePeriod
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:167,1
    - Dst: IsoffMainParser::parseSegmentInformation
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:170,1
    - Dst: hasAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:171,1
    - Dst: IsoTime
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:172,1
    - Dst: getAttributeValue
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:172,1
    - Dst: hasAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:173,1
    - Dst: IsoTime
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:174,1
    - Dst: getAttributeValue
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:174,1
    - Dst: DOMHelper::getChildElementByTagName
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:175,1
    - Dst: getDASHNamespace
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:175,1
    - Dst: std::vector::empty
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:176,1
    - Dst: std::vector::front
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:178,1
    - Dst: Url::Url
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:178,1
    - Dst: parseAvailability
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:179,1
    - Dst: std::vector::front
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:179,1
    - Dst: IsoffMainParser::parseAdaptationSets
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:182,1
    - Dst: MPD*::addPeriod
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:183,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - mpd
    - root
    argTypes:
    - MPD*
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 185
    functionName: IsoffMainParser::parsePeriods
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp
    functionUses: 1
    functionsReached:
    - DOMHelper::getChildElementByTagName
    - std::vector::end
    - getDASHNamespace
    - Url::Url
    - MPD*::addPeriod
    - BasePeriod::BasePeriod
    - IsoffMainParser::parseSegmentInformation
    - getAttributeValue
    - std::vector::front
    - hasAttribute
    - parseAvailability
    - DOMHelper::getElementByTagName
    - IsoffMainParser::parseAdaptationSets
    - std::vector::empty
    - IsoTime
    - std::vector::begin
    linkageType: ''
    returnType: void
    signature: void IsoffMainParser::parsePeriods(MPD *mpd, Node *root)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IsoffMainParser::parseInitSegment
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:191,1
    - Dst: DOMHelper::getFirstChildElementByName
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:191,1
    - Dst: getDASHNamespace
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:191,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:193,1
    - Dst: std::sscanf
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:196,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:196,1
    - Dst: DashIndexSegment::DashIndexSegment
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:198,1
    - Dst: IndexSegment*::setByteRange
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:201,1
    - Dst: dynamic_cast<SegmentBase *>
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:204,1
    - Dst: dynamic_cast<SegmentBase *>
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:205,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:210,1
    - Dst: Timescale
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:212,1
    - Dst: Integer<uint64_t>
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:212,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:212,1
    - Dst: TimescaleAttr::TimescaleAttr
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:212,1
    - Dst: AbstractSegmentBaseType*::addAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:213,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - node
    - base
    - parent
    argTypes:
    - Node*
    - AbstractSegmentBaseType*
    - SegmentInformation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 215
    functionName: IsoffMainParser::parseSegmentBaseType
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp
    functionUses: 0
    functionsReached:
    - Node*::getAttributeValue
    - dynamic_cast<SegmentBase *>
    - IsoffMainParser::parseInitSegment
    - getDASHNamespace
    - Node*::hasAttribute
    - std::sscanf
    - DOMHelper::getFirstChildElementByName
    - IndexSegment*::setByteRange
    - Integer<uint64_t>
    - AbstractSegmentBaseType*::addAttribute
    - DashIndexSegment::DashIndexSegment
    - TimescaleAttr::TimescaleAttr
    - Timescale
    linkageType: ''
    returnType: void
    signature: "void IsoffMainParser::parseSegmentBaseType(MPD *, Node *node,\n                                           AbstractSegmentBaseType
      *base,\n                                           SegmentInformation *parent)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsoffMainParser::parseSegmentBaseType
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:221,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:223,1
    - Dst: AbstractMultipleSegmentBaseType*::addAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:224,1
    - Dst: Integer<stime_t>
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:224,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:224,1
    - Dst: DurationAttr::DurationAttr
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:224,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:226,1
    - Dst: AbstractMultipleSegmentBaseType*::addAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:227,1
    - Dst: Integer<uint64_t>
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:227,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:227,1
    - Dst: StartnumberAttr::StartnumberAttr
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:227,1
    - Dst: IsoffMainParser::parseTimeline
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:229,1
    - Dst: DOMHelper::getFirstChildElementByName
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:229,1
    - Dst: getDASHNamespace
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - mpd
    - node
    - base
    - parent
    argTypes:
    - MPD*
    - Node*
    - AbstractMultipleSegmentBaseType*
    - SegmentInformation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 230
    functionName: IsoffMainParser::parseMultipleSegmentBaseType
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp
    functionUses: 0
    functionsReached:
    - Node*::getAttributeValue
    - StartnumberAttr::StartnumberAttr
    - IsoffMainParser::parseTimeline
    - getDASHNamespace
    - Node*::hasAttribute
    - AbstractMultipleSegmentBaseType*::addAttribute
    - DOMHelper::getFirstChildElementByName
    - Integer<uint64_t>
    - IsoffMainParser::parseSegmentBaseType
    - DurationAttr::DurationAttr
    - Integer<stime_t>
    linkageType: ''
    returnType: void
    signature: "void IsoffMainParser::parseMultipleSegmentBaseType(MPD *mpd, Node
      *node,\n                                                   AbstractMultipleSegmentBaseType
      *base,\n                                                   SegmentInformation
      *parent)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:239,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:240,1
    - Dst: SegmentTemplateSegment::SegmentTemplateSegment
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:242,1
    - Dst: SegmentTemplate::SegmentTemplate
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:242,1
    - Dst: SegmentTemplate*::setSourceUrl
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:245,1
    - Dst: IsoffMainParser::parseMultipleSegmentBaseType
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:247,1
    - Dst: parseAvailability
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:249,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:251,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:254,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:255,1
    - Dst: SegmentTemplateInit::SegmentTemplateInit
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:255,1
    - Dst: SegmentTemplateInit*::setSourceUrl
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:257,1
    - Dst: SegmentInformation*::setSegmentTemplate
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:263,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:265,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - mpd
    - templateNode
    - info
    argTypes:
    - MPD*
    - Node*
    - SegmentInformation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 266
    functionName: IsoffMainParser::parseSegmentTemplate
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp
    functionUses: 0
    functionsReached:
    - Node*::getAttributeValue
    - SegmentTemplate::SegmentTemplate
    - IsoffMainParser::parseMultipleSegmentBaseType
    - std::string::empty
    - Node*::hasAttribute
    - SegmentTemplate*::setSourceUrl
    - SegmentInformation*::setSegmentTemplate
    - SegmentTemplateInit*::setSourceUrl
    - parseAvailability
    - SegmentTemplateInit::SegmentTemplateInit
    - SegmentTemplateSegment::SegmentTemplateSegment
    linkageType: ''
    returnType: size_t
    signature: size_t IsoffMainParser::parseSegmentTemplate(MPD *mpd, Node *templateNode,
      SegmentInformation *info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsoffMainParser::parseSegmentBase
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:272,1
    - Dst: DOMHelper::getFirstChildElementByName
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:272,1
    - Dst: getDASHNamespace
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:272,1
    - Dst: IsoffMainParser::parseSegmentList
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:273,1
    - Dst: DOMHelper::getFirstChildElementByName
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:273,1
    - Dst: getDASHNamespace
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:273,1
    - Dst: IsoffMainParser::parseSegmentTemplate
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:274,1
    - Dst: DOMHelper::getFirstChildElementByName
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:274,1
    - Dst: getDASHNamespace
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:274,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:275,1
    - Dst: SegmentInformation*::addAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:276,1
    - Dst: Timescale
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:276,1
    - Dst: Integer<uint64_t>
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:276,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:276,1
    - Dst: TimescaleAttr::TimescaleAttr
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:276,1
    - Dst: parseAvailability
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:278,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:280,1
    - Dst: SegmentInformation*::setID
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:281,1
    - Dst: ID
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:281,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:281,1
    - Dst: SegmentInformation*::setID
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:283,1
    - Dst: ID
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - mpd
    - node
    - info
    - nextid
    argTypes:
    - MPD*
    - Node*
    - SegmentInformation*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 268
    functionDepth: 4
    functionLinenumber: 268
    functionLinenumberEnd: 286
    functionName: IsoffMainParser::parseSegmentInformation
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp
    functionUses: 1
    functionsReached:
    - IsoffMainParser::parseSegmentTemplate
    - Node*::getAttributeValue
    - Timescale
    - SegmentInformation*::addAttribute
    - ID
    - getDASHNamespace
    - Node*::hasAttribute
    - SegmentInformation*::setID
    - DOMHelper::getFirstChildElementByName
    - Integer<uint64_t>
    - TimescaleAttr::TimescaleAttr
    - IsoffMainParser::parseSegmentBase
    - IsoffMainParser::parseSegmentList
    - parseAvailability
    linkageType: ''
    returnType: size_t
    signature: "size_t IsoffMainParser::parseSegmentInformation(MPD *mpd, Node *node,\n
      \                                               SegmentInformation *info, uint64_t
      *nextid)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: DOMHelper::getElementByTagName
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:290,1
    - Dst: getDASHNamespace
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:290,1
    - Dst: std::vector::begin
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:294,1
    - Dst: std::vector::end
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:294,1
    - Dst: AdaptationSet::AdaptationSet
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:296,1
    - Dst: IsoffMainParser::parseCommonAttributesElements
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:300,1
    - Dst: hasAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:302,1
    - Dst: AdaptationSet*::setLang
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:303,1
    - Dst: getAttributeValue
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:303,1
    - Dst: hasAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:305,1
    - Dst: AdaptationSet*::setBitswitchAble
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:306,1
    - Dst: getAttributeValue
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:306,1
    - Dst: hasAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:308,1
    - Dst: AdaptationSet*::setSegmentAligned
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:309,1
    - Dst: getAttributeValue
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:309,1
    - Dst: DOMHelper::getFirstChildElementByName
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:311,1
    - Dst: getDASHNamespace
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:311,1
    - Dst: parseAvailability
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:314,1
    - Dst: Node*::getText
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:315,1
    - Dst: Url::Url
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:315,1
    - Dst: DOMHelper::getFirstChildElementByName
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:318,1
    - Dst: getDASHNamespace
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:318,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:319,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:319,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:321,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:324,1
    - Dst: AdaptationSet*::setRole
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:327,1
    - Dst: AdaptationSet*::setRole
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:329,1
    - Dst: AdaptationSet*::setRole
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:331,1
    - Dst: AdaptationSet*::setRole
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:333,1
    - Dst: AdaptationSet*::setRole
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:335,1
    - Dst: AdaptationSet*::setRole
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:337,1
    - Dst: AdaptationSet*::setRole
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:339,1
    - Dst: IsoffMainParser::parseSegmentInformation
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:343,1
    - Dst: IsoffMainParser::parseRepresentations
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:345,1
    - Dst: AdaptationSet*::description::empty
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:348,1
    - Dst: AdaptationSet*::getID
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:349,1
    - Dst: AdaptationSet*::getRepresentations
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:352,1
    - Dst: BasePeriod*::addAdaptationSet
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:353,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 42
    argCount: 3
    argNames:
    - mpd
    - periodNode
    - period
    argTypes:
    - MPD*
    - Node*
    - BasePeriod*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 288
    functionDepth: 5
    functionLinenumber: 288
    functionLinenumberEnd: 357
    functionName: IsoffMainParser::parseAdaptationSets
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp
    functionUses: 1
    functionsReached:
    - Node*::getAttributeValue
    - AdaptationSet::AdaptationSet
    - BasePeriod*::addAdaptationSet
    - AdaptationSet*::setLang
    - AdaptationSet*::getRepresentations
    - DOMHelper::getElementByTagName
    - AdaptationSet*::setSegmentAligned
    - AdaptationSet*::getID
    - Url::Url
    - Node*::getText
    - getAttributeValue
    - IsoffMainParser::parseSegmentInformation
    - hasAttribute
    - parseAvailability
    - AdaptationSet*::setBitswitchAble
    - getDASHNamespace
    - Node*::hasAttribute
    - AdaptationSet*::description::empty
    - DOMHelper::getFirstChildElementByName
    - IsoffMainParser::parseRepresentations
    - std::vector::end
    - AdaptationSet*::setRole
    - IsoffMainParser::parseCommonAttributesElements
    - std::vector::begin
    linkageType: ''
    returnType: void
    signature: void IsoffMainParser::parseAdaptationSets  (MPD *mpd, Node *periodNode,
      BasePeriod *period)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:362,1
    - Dst: CommonAttributesElements*::setWidth
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:363,1
    - Dst: atoi
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:363,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:363,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:365,1
    - Dst: CommonAttributesElements*::setHeight
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:366,1
    - Dst: atoi
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:366,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:366,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:368,1
    - Dst: CommonAttributesElements*::setMimeType
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:369,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - node
    - commonAttrElements
    argTypes:
    - Node*
    - CommonAttributesElements*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 370
    functionName: IsoffMainParser::parseCommonAttributesElements
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp
    functionUses: 1
    functionsReached:
    - Node*::getAttributeValue
    - CommonAttributesElements*::setMimeType
    - atoi
    - Node*::hasAttribute
    - CommonAttributesElements*::setHeight
    - CommonAttributesElements*::setWidth
    linkageType: ''
    returnType: void
    signature: "void IsoffMainParser::parseCommonAttributesElements(Node *node,\n
      \                                                   CommonAttributesElements
      *commonAttrElements)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DOMHelper::getElementByTagName
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:374,1
    - Dst: getDASHNamespace
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:374,1
    - Dst: std::vector::size
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:377,1
    - Dst: Representation::Representation
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:379,1
    - Dst: std::vector::at
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:380,1
    - Dst: DOMHelper::getChildElementByTagName
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:382,1
    - Dst: getDASHNamespace
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:382,1
    - Dst: std::vector::empty
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:383,1
    - Dst: std::vector::front
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:385,1
    - Dst: Url::Url
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:385,1
    - Dst: parseAvailability
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:386,1
    - Dst: std::vector::front
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:386,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:389,1
    - Dst: Representation*::setID
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:390,1
    - Dst: ID
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:390,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:390,1
    - Dst: IsoffMainParser::parseCommonAttributesElements
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:392,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:394,1
    - Dst: Representation*::setBandwidth
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:395,1
    - Dst: atoi
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:395,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:395,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:397,1
    - Dst: Representation*::addCodecs
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:398,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:398,1
    - Dst: IsoffMainParser::parseSegmentInformation
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:400,1
    - Dst: Representation*::baseUrl::empty
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:403,1
    - Dst: AdaptationSet*::getMediaSegment
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:404,1
    - Dst: SegmentBase::SegmentBase
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:406,1
    - Dst: Representation*::addAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:408,1
    - Dst: AdaptationSet*::addRepresentation
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:411,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - mpd
    - adaptationSetNode
    - adaptationSet
    argTypes:
    - MPD*
    - Node*
    - AdaptationSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 372
    functionDepth: 5
    functionLinenumber: 372
    functionLinenumberEnd: 413
    functionName: IsoffMainParser::parseRepresentations
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp
    functionUses: 1
    functionsReached:
    - Node*::getAttributeValue
    - atoi
    - DOMHelper::getElementByTagName
    - DOMHelper::getChildElementByTagName
    - AdaptationSet*::addRepresentation
    - std::vector::at
    - Url::Url
    - IsoffMainParser::parseSegmentInformation
    - parseAvailability
    - ID
    - getDASHNamespace
    - Node*::hasAttribute
    - Representation*::addCodecs
    - Representation*::setID
    - std::vector::front
    - std::vector::size
    - Representation*::addAttribute
    - Representation*::setBandwidth
    - std::vector::empty
    - Representation::Representation
    - AdaptationSet*::getMediaSegment
    - SegmentBase::SegmentBase
    - IsoffMainParser::parseCommonAttributesElements
    - Representation*::baseUrl::empty
    linkageType: ''
    returnType: void
    signature: void IsoffMainParser::parseRepresentations (MPD *mpd, Node *adaptationSetNode,
      AdaptationSet *adaptationSet)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SegmentBase::SegmentBase
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:418,1
    - Dst: IsoffMainParser::parseSegmentBaseType
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:421,1
    - Dst: parseAvailability
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:423,1
    - Dst: SegmentBase*::indexSegment::getOffset
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:425,1
    - Dst: InitSegment::InitSegment
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:427,1
    - Dst: InitSegment*::setSourceUrl
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:428,1
    - Dst: SegmentBase*::getUrlSegment
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:428,1
    - Dst: InitSegment*::setByteRange
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:429,1
    - Dst: SegmentBase*::indexSegment::getOffset
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:429,1
    - Dst: SegmentInformation*::addAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:433,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - mpd
    - segmentBaseNode
    - info
    argTypes:
    - MPD*
    - Node*
    - SegmentInformation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 436
    functionName: IsoffMainParser::parseSegmentBase
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp
    functionUses: 1
    functionsReached:
    - InitSegment*::setByteRange
    - SegmentInformation*::addAttribute
    - SegmentBase*::indexSegment::getOffset
    - InitSegment::InitSegment
    - SegmentBase::SegmentBase
    - IsoffMainParser::parseSegmentBaseType
    - InitSegment*::setSourceUrl
    - parseAvailability
    - SegmentBase*::getUrlSegment
    linkageType: ''
    returnType: size_t
    signature: size_t IsoffMainParser::parseSegmentBase(MPD *mpd, Node * segmentBaseNode,
      SegmentInformation *info)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DOMHelper::getElementByTagName
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:443,1
    - Dst: getDASHNamespace
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:443,1
    - Dst: SegmentList::SegmentList
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:445,1
    - Dst: IsoffMainParser::parseMultipleSegmentBaseType
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:447,1
    - Dst: parseAvailability
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:449,1
    - Dst: SegmentInformation*::inheritStartNumber
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:451,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:452,1
    - Dst: SegmentList*::inheritDuration
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:455,1
    - Dst: std::vector::begin
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:458,1
    - Dst: std::vector::end
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:458,1
    - Dst: Segment::Segment
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:462,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:466,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:467,1
    - Dst: Segment*::setSourceUrl
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:468,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:470,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:472,1
    - Dst: std::string::find
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:473,1
    - Dst: Segment*::setByteRange
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:474,1
    - Dst: atoi
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:474,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:474,1
    - Dst: atoi
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:474,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:474,1
    - Dst: std::string::size
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:474,1
    - Dst: Segment*::setSequenceNumber
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:481,1
    - Dst: SegmentList*::addSegment
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:483,1
    - Dst: SegmentList*::getSegments
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:486,1
    - Dst: SegmentInformation*::updateSegmentList
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:487,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - mpd
    - segListNode
    - info
    argTypes:
    - MPD*
    - Node*
    - SegmentInformation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 438
    functionDepth: 3
    functionLinenumber: 438
    functionLinenumberEnd: 491
    functionName: IsoffMainParser::parseSegmentList
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp
    functionUses: 1
    functionsReached:
    - Node*::getAttributeValue
    - std::string::find
    - std::string::empty
    - atoi
    - Segment*::setSourceUrl
    - Segment*::setByteRange
    - SegmentList*::getSegments
    - DOMHelper::getElementByTagName
    - packetizer_getcc_cea608_max
    - SegmentList*::addSegment
    - parseAvailability
    - SegmentInformation*::updateSegmentList
    - IsoffMainParser::parseMultipleSegmentBaseType
    - getDASHNamespace
    - Node*::hasAttribute
    - Segment*::setSequenceNumber
    - std::vector::end
    - SegmentList*::inheritDuration
    - std::string::size
    - SegmentList::SegmentList
    - SegmentInformation*::inheritStartNumber
    - std::string::substr
    - Segment::Segment
    - std::vector::begin
    linkageType: ''
    returnType: size_t
    signature: size_t IsoffMainParser::parseSegmentList(MPD *mpd, Node * segListNode,
      SegmentInformation *info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: InitSegment::InitSegment
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:498,1
    - Dst: InitSegment*::setSourceUrl
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:499,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:499,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:501,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:503,1
    - Dst: std::string::find
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:504,1
    - Dst: InitSegment*::setByteRange
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:505,1
    - Dst: atoi
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:505,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:505,1
    - Dst: atoi
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:505,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:505,1
    - Dst: std::string::size
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - initNode
    - init
    - parent
    argTypes:
    - Node*
    - Initializable<InitSegment>*
    - SegmentInformation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 509
    functionName: IsoffMainParser::parseInitSegment
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp
    functionUses: 1
    functionsReached:
    - std::string::find
    - Node*::getAttributeValue
    - InitSegment*::setByteRange
    - atoi
    - Node*::hasAttribute
    - std::string::size
    - std::string::substr
    - InitSegment*::setSourceUrl
    - InitSegment::InitSegment
    linkageType: ''
    returnType: void
    signature: void IsoffMainParser::parseInitSegment(Node *initNode, Initializable<InitSegment>
      *init, SegmentInformation *parent)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:517,1
    - Dst: Integer<uint64_t>
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:518,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:518,1
    - Dst: AbstractMultipleSegmentBaseType*::inheritStartNumber
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:519,1
    - Dst: AbstractMultipleSegmentBaseType*::inheritStartNumber
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:520,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:521,1
    - Dst: SegmentTimeline::SegmentTimeline
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:524,1
    - Dst: DOMHelper::getElementByTagName
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:527,1
    - Dst: getDASHNamespace
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:527,1
    - Dst: std::vector::begin
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:529,1
    - Dst: std::vector::end
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:529,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:532,1
    - Dst: Integer<stime_t>
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:534,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:534,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:536,1
    - Dst: Integer<int64_t>
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:538,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:538,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:540,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:543,1
    - Dst: Integer<stime_t>
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:545,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:545,1
    - Dst: SegmentTimeline*::addElement
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:546,1
    - Dst: SegmentTimeline*::addElement
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:548,1
    - Dst: AbstractMultipleSegmentBaseType*::addAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:553,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - node
    - base
    argTypes:
    - Node*
    - AbstractMultipleSegmentBaseType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 511
    functionDepth: 3
    functionLinenumber: 511
    functionLinenumberEnd: 555
    functionName: IsoffMainParser::parseTimeline
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp
    functionUses: 1
    functionsReached:
    - Node*::getAttributeValue
    - std::vector::end
    - getDASHNamespace
    - Node*::hasAttribute
    - AbstractMultipleSegmentBaseType*::addAttribute
    - Integer<int64_t>
    - SegmentTimeline*::addElement
    - Integer<uint64_t>
    - AbstractMultipleSegmentBaseType*::inheritStartNumber
    - SegmentTimeline::SegmentTimeline
    - DOMHelper::getElementByTagName
    - Integer<stime_t>
    - std::vector::begin
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: void
    signature: void IsoffMainParser::parseTimeline(Node *node, AbstractMultipleSegmentBaseType
      *base)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ProgramInformation::ProgramInformation
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:562,1
    - Dst: DOMHelper::getFirstChildElementByName
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:565,1
    - Dst: getDASHNamespace
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:565,1
    - Dst: ProgramInformation*::setTitle
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:567,1
    - Dst: Node*::getText
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:567,1
    - Dst: DOMHelper::getFirstChildElementByName
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:569,1
    - Dst: getDASHNamespace
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:569,1
    - Dst: ProgramInformation*::setSource
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:571,1
    - Dst: Node*::getText
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:571,1
    - Dst: DOMHelper::getFirstChildElementByName
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:573,1
    - Dst: getDASHNamespace
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:573,1
    - Dst: ProgramInformation*::setCopyright
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:575,1
    - Dst: Node*::getText
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:575,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:577,1
    - Dst: ProgramInformation*::setMoreInformationUrl
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:578,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:578,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - node
    - mpd
    argTypes:
    - Node*
    - MPD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 582
    functionName: IsoffMainParser::parseProgramInformation
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp
    functionUses: 1
    functionsReached:
    - Node*::getAttributeValue
    - ProgramInformation*::setMoreInformationUrl
    - getDASHNamespace
    - Node*::hasAttribute
    - ProgramInformation*::setTitle
    - Node*::getText
    - DOMHelper::getFirstChildElementByName
    - ProgramInformation*::setCopyright
    - ProgramInformation::ProgramInformation
    - ProgramInformation*::setSource
    linkageType: ''
    returnType: void
    signature: void IsoffMainParser::parseProgramInformation(Node * node, MPD *mpd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getAttributeValue
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:590,1
    - Dst: std::string::length
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:591,1
    - Dst: getAttributeValue
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:592,1
    - Dst: std::string::find_first_of
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:599,1
    - Dst: Profile
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:600,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:600,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 584
    functionDepth: 2
    functionLinenumber: 584
    functionLinenumberEnd: 605
    functionName: IsoffMainParser::getProfile
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp
    functionUses: 1
    functionsReached:
    - std::string::length
    - getAttributeValue
    - std::string::substr
    - std::string::find_first_of
    - Profile
    linkageType: ''
    returnType: Profile
    signature: Profile IsoffMainParser::getProfile() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNamespace
      Src: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 610
    functionName: '& IsoffMainParser::getDASHNamespace() const'
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/IsoffMainParser.cpp
    functionUses: 0
    functionsReached:
    - getNamespace
    linkageType: ''
    returnType: std::string
    signature: std::string & IsoffMainParser::getDASHNamespace() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - set
    argTypes:
    - AdaptationSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: Representation::Representation
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/Representation.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Representation::Representation  ( AdaptationSet *set )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: Representation::~Representation ()
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/Representation.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Representation::~Representation ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StreamFormat
      Src: /src/vlc/modules/demux/dash/mpd/Representation.cpp:50,1
    - Dst: getMimeType
      Src: /src/vlc/modules/demux/dash/mpd/Representation.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: Representation::getStreamFormat
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/Representation.cpp
    functionUses: 2
    functionsReached:
    - StreamFormat
    - getMimeType
    linkageType: ''
    returnType: StreamFormat
    signature: StreamFormat Representation::getStreamFormat() const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: std::string::length
      Src: /src/vlc/modules/demux/dash/mpd/Representation.cpp:61,1
    - Dst: TemplatedUri::IsDASHToken
      Src: /src/vlc/modules/demux/dash/mpd/Representation.cpp:64,1
    - Dst: Representation::getScaledTimeBySegmentNumber
      Src: /src/vlc/modules/demux/dash/mpd/Representation.cpp:70,1
    - Dst: getBandwidth
      Src: /src/vlc/modules/demux/dash/mpd/Representation.cpp:73,1
    - Dst: str
      Src: /src/vlc/modules/demux/dash/mpd/Representation.cpp:79,1
    - Dst: TemplatedUri::ReplaceDASHToken
      Src: /src/vlc/modules/demux/dash/mpd/Representation.cpp:89,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 3
    argNames:
    - number
    - component
    - templ
    argTypes:
    - size_t
    - std::string
    - SegmentTemplate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 99
    functionName: Representation::contextualize
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/Representation.cpp
    functionUses: 0
    functionsReached:
    - TemplatedUri::IsDASHToken
    - getBandwidth
    - std::string::length
    - Representation::getScaledTimeBySegmentNumber
    - TemplatedUri::ReplaceDASHToken
    - str
    linkageType: ''
    returnType: std::string
    signature: "std::string Representation::contextualize(size_t number, const std::string
      &component,\n                                          const SegmentTemplate
      *templ) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SegmentTemplate*::inheritSegmentTimeline
      Src: /src/vlc/modules/demux/dash/mpd/Representation.cpp:104,1
    - Dst: SegmentTimeline*::getScaledPlaybackTimeByElementNumber
      Src: /src/vlc/modules/demux/dash/mpd/Representation.cpp:107,1
    - Dst: SegmentTemplate*::inheritDuration
      Src: /src/vlc/modules/demux/dash/mpd/Representation.cpp:109,1
    - Dst: SegmentTemplate*::inheritDuration
      Src: /src/vlc/modules/demux/dash/mpd/Representation.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - index
    - templ
    argTypes:
    - uint64_t
    - SegmentTemplate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 114
    functionName: Representation::getScaledTimeBySegmentNumber
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/Representation.cpp
    functionUses: 1
    functionsReached:
    - SegmentTemplate*::inheritDuration
    - SegmentTemplate*::inheritSegmentTimeline
    - SegmentTimeline*::getScaledPlaybackTimeByElementNumber
    linkageType: ''
    returnType: stime_t
    signature: stime_t Representation::getScaledTimeBySegmentNumber(uint64_t index,
      const SegmentTemplate *templ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - period
    argTypes:
    - BasePeriod*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: AdaptationSet::AdaptationSet
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/AdaptationSet.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AdaptationSet::AdaptationSet(BasePeriod *period)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: AdaptationSet::~AdaptationSet()
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/AdaptationSet.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AdaptationSet::~AdaptationSet()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getMimeType
      Src: /src/vlc/modules/demux/dash/mpd/AdaptationSet.cpp:48,1
    - Dst: StreamFormat
      Src: /src/vlc/modules/demux/dash/mpd/AdaptationSet.cpp:49,1
    - Dst: getMimeType
      Src: /src/vlc/modules/demux/dash/mpd/AdaptationSet.cpp:49,1
    - Dst: BaseAdaptationSet::getStreamFormat
      Src: /src/vlc/modules/demux/dash/mpd/AdaptationSet.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: AdaptationSet::getStreamFormat
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/AdaptationSet.cpp
    functionUses: 1
    functionsReached:
    - StreamFormat
    - BaseAdaptationSet::getStreamFormat
    - getMimeType
    linkageType: ''
    returnType: StreamFormat
    signature: StreamFormat AdaptationSet::getStreamFormat() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: AdaptationSet::getSubsegmentAlignmentFlag
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/AdaptationSet.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AdaptationSet::getSubsegmentAlignmentFlag() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - alignment
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: AdaptationSet::setSubsegmentAlignmentFlag
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/AdaptationSet.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AdaptationSet::setSubsegmentAlignmentFlag(bool alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - Name
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: Profile::Profile
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/Profile.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Profile::Profile(Name name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Profile::getNameByURN
      Src: /src/vlc/modules/demux/dash/mpd/Profile.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - urn
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: Profile::Profile
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/Profile.cpp
    functionUses: 0
    functionsReached:
    - Profile::getNameByURN
    linkageType: ''
    returnType: void
    signature: void Profile::Profile(const std::string &urn)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - urn
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: Profile::getNameByURN
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/Profile.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Profile::Name
    signature: Profile::Name Profile::getNameByURN(const std::string &urn) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: Profile::operator Profile::Name ()
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/Profile.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Profile::operator Profile::Name ()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/vlc/modules/demux/dash/mpd/Profile.cpp:76,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/dash/mpd/Profile.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: Profile::operator std::string ()
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/Profile.cpp
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: void
    signature: void Profile::operator std::string ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - profile
    argTypes:
    - Profile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: Profile::operator==(Profile &profile) const
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/Profile.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Profile::operator==(Profile &profile) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/vlc/modules/demux/dash/mpd/ContentDescription.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - uri
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: ContentDescription::setSchemeIdUri
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/ContentDescription.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void ContentDescription::setSchemeIdUri(const std::string &uri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '&      ContentDescription::getSchemeIdUri() const'
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/ContentDescription.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &      ContentDescription::getSchemeIdUri() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: '& ContentDescription::getSchemeInformation() const'
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/ContentDescription.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & ContentDescription::getSchemeInformation() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/vlc/modules/demux/dash/mpd/ContentDescription.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - schemeInfo
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: ContentDescription::setSchemeInformation
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/ContentDescription.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void ContentDescription::setSchemeInformation( const std::string &schemeInfo
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - source
    - rep
    argTypes:
    - AbstractChunkSource*
    - BaseRepresentation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: DashIndexChunk::DashIndexChunk
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/DASHSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DashIndexChunk::DashIndexChunk(AbstractChunkSource *source, BaseRepresentation
      *rep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: DashIndexChunk::~DashIndexChunk()
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/DASHSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DashIndexChunk::~DashIndexChunk()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decrypt
      Src: /src/vlc/modules/demux/dash/mpd/DASHSegment.cpp:51,1
    - Dst: getPlaylist
      Src: /src/vlc/modules/demux/dash/mpd/DASHSegment.cpp:56,1
    - Dst: IndexReader::parseIndex
      Src: /src/vlc/modules/demux/dash/mpd/DASHSegment.cpp:57,1
    - Dst: getStartByteInFile
      Src: /src/vlc/modules/demux/dash/mpd/DASHSegment.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pp_block
    argTypes:
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: DashIndexChunk::onDownload
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/DASHSegment.cpp
    functionUses: 0
    functionsReached:
    - getStartByteInFile
    - decrypt
    - IndexReader::parseIndex
    - getPlaylist
    linkageType: ''
    returnType: void
    signature: void DashIndexChunk::onDownload(block_t **pp_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - ICanonicalUrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: DashIndexSegment::DashIndexSegment
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/DASHSegment.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DashIndexSegment::DashIndexSegment(ICanonicalUrl *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: DashIndexSegment::~DashIndexSegment()
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/DASHSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DashIndexSegment::~DashIndexSegment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DashIndexChunk::DashIndexChunk
      Src: /src/vlc/modules/demux/dash/mpd/DASHSegment.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source
    - rep
    argTypes:
    - AbstractChunkSource*
    - BaseRepresentation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: DashIndexSegment::createChunk
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/DASHSegment.cpp
    functionUses: 0
    functionsReached:
    - DashIndexChunk::DashIndexChunk
    linkageType: ''
    returnType: SegmentChunk
    signature: SegmentChunk * DashIndexSegment::createChunk(AbstractChunkSource *source,
      BaseRepresentation *rep)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::string::length
      Src: /src/vlc/modules/demux/dash/mpd/TemplatedUri.cpp:38,1
    - Dst: std::string::find
      Src: /src/vlc/modules/demux/dash/mpd/TemplatedUri.cpp:51,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/dash/mpd/TemplatedUri.cpp:54,1
    - Dst: std::istringstream::imbue
      Src: /src/vlc/modules/demux/dash/mpd/TemplatedUri.cpp:55,1
    - Dst: std::locale
      Src: /src/vlc/modules/demux/dash/mpd/TemplatedUri.cpp:55,1
    - Dst: std::istringstream::good
      Src: /src/vlc/modules/demux/dash/mpd/TemplatedUri.cpp:57,1
    - Dst: std::isdigit
      Src: /src/vlc/modules/demux/dash/mpd/TemplatedUri.cpp:59,1
    - Dst: std::istringstream::peek
      Src: /src/vlc/modules/demux/dash/mpd/TemplatedUri.cpp:59,1
    - Dst: std::istringstream::fail
      Src: /src/vlc/modules/demux/dash/mpd/TemplatedUri.cpp:61,1
    - Dst: std::istringstream::peek
      Src: /src/vlc/modules/demux/dash/mpd/TemplatedUri.cpp:61,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - str
    - pos
    - formatstring
    - formatwidth
    argTypes:
    - std::string
    - std::string::size_type
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 69
    functionName: TokenEnd
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/TemplatedUri.cpp
    functionUses: 0
    functionsReached:
    - std::string::find
    - std::istringstream::peek
    - std::istringstream::fail
    - std::istringstream::good
    - std::istringstream::imbue
    - std::string::length
    - std::string::substr
    - std::locale
    - std::isdigit
    linkageType: ''
    returnType: std::string::size_type
    signature: "std::string::size_type TokenEnd(const std::string &str,\n                                       std::string::size_type
      pos,\n                                       bool formatstring,\n                                       int
      &formatwidth)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::length
      Src: /src/vlc/modules/demux/dash/mpd/TemplatedUri.cpp:79,1
    - Dst: std::string::compare
      Src: /src/vlc/modules/demux/dash/mpd/TemplatedUri.cpp:80,1
    - Dst: TokenEnd
      Src: /src/vlc/modules/demux/dash/mpd/TemplatedUri.cpp:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 7
    argNames:
    - str
    - pos
    - token
    - token_len
    - formatstring
    - fulllength
    - width
    argTypes:
    - std::string
    - std::string::size_type
    - char*
    - size_t
    - bool
    - std::string::size_type
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 89
    functionName: CompareToken
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/TemplatedUri.cpp
    functionUses: 0
    functionsReached:
    - std::string::compare
    - TokenEnd
    - std::string::length
    linkageType: ''
    returnType: int
    signature: "int CompareToken(const std::string &str,\n                        std::string::size_type
      pos,\n                        const char *token,\n                        const
      size_t token_len,\n                        bool formatstring,\n                        std::string::size_type
      &fulllength,\n                        int &width)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::string::length
      Src: /src/vlc/modules/demux/dash/mpd/TemplatedUri.cpp:95,1
    - Dst: CompareToken
      Src: /src/vlc/modules/demux/dash/mpd/TemplatedUri.cpp:105,1
    - Dst: CompareToken
      Src: /src/vlc/modules/demux/dash/mpd/TemplatedUri.cpp:111,1
    - Dst: CompareToken
      Src: /src/vlc/modules/demux/dash/mpd/TemplatedUri.cpp:117,1
    - Dst: CompareToken
      Src: /src/vlc/modules/demux/dash/mpd/TemplatedUri.cpp:123,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - str
    - pos
    - token
    argTypes:
    - std::string
    - std::string::size_type
    - TemplatedUri::Token
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 91
    functionDepth: 4
    functionLinenumber: 91
    functionLinenumberEnd: 130
    functionName: TemplatedUri::IsDASHToken
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/TemplatedUri.cpp
    functionUses: 2
    functionsReached:
    - CompareToken
    - std::string::length
    linkageType: ''
    returnType: bool
    signature: "bool TemplatedUri::IsDASHToken(const std::string &str,\n                               std::string::size_type
      pos,\n                               TemplatedUri::Token &token)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::imbue
      Src: /src/vlc/modules/demux/dash/mpd/TemplatedUri.cpp:135,1
    - Dst: std::locale
      Src: /src/vlc/modules/demux/dash/mpd/TemplatedUri.cpp:135,1
    - Dst: std::stringstream::width
      Src: /src/vlc/modules/demux/dash/mpd/TemplatedUri.cpp:138,1
    - Dst: std::stringstream::fill
      Src: /src/vlc/modules/demux/dash/mpd/TemplatedUri.cpp:139,1
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/demux/dash/mpd/TemplatedUri.cpp:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - value
    - width
    argTypes:
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: FormatValue
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/TemplatedUri.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::imbue
    - std::stringstream::width
    - std::stringstream::fill
    - std::stringstream::str
    - std::locale
    linkageType: ''
    returnType: std::string
    signature: std::string FormatValue(uint64_t value, int width)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FormatValue
      Src: /src/vlc/modules/demux/dash/mpd/TemplatedUri.cpp:156,1
    - Dst: std::string::replace
      Src: /src/vlc/modules/demux/dash/mpd/TemplatedUri.cpp:157,1
    - Dst: std::string::length
      Src: /src/vlc/modules/demux/dash/mpd/TemplatedUri.cpp:158,1
    - Dst: std::string::replace
      Src: /src/vlc/modules/demux/dash/mpd/TemplatedUri.cpp:162,1
    - Dst: TemplatedUri::TokenReplacement::str::length
      Src: /src/vlc/modules/demux/dash/mpd/TemplatedUri.cpp:163,1
    - Dst: std::string::erase
      Src: /src/vlc/modules/demux/dash/mpd/TemplatedUri.cpp:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 4
    argNames:
    - str
    - pos
    - token
    - repl
    argTypes:
    - std::string
    - std::string::size_type
    - TemplatedUri::Token
    - TemplatedUri::TokenReplacement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 173
    functionName: TemplatedUri::ReplaceDASHToken
    functionSourceFile: /src/vlc/modules/demux/dash/mpd/TemplatedUri.cpp
    functionUses: 2
    functionsReached:
    - std::string::erase
    - std::string::length
    - std::string::replace
    - TemplatedUri::TokenReplacement::str::length
    - FormatValue
    linkageType: ''
    returnType: std::string::size_type
    signature: "std::string::size_type TemplatedUri::ReplaceDASHToken(std::string
      &str,\n                                                      std::string::size_type
      pos,\n                                                      const TemplatedUri::Token
      &token,\n                                                      const TemplatedUri::TokenReplacement
      &repl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: GlobalTimestamp
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GlobalTimestamp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: InitTimestamp
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: InitTimestamp(t,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - el
    - ','
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: MKV_IS_ID
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MKV_IS_ID( el, C )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: MKV_CHECKED_PTR_DECL
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MKV_CHECKED_PTR_DECL( name, type, src )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: MKV_CHECKED_PTR_DECL_CONST
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MKV_CHECKED_PTR_DECL_CONST( name, type, src )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/vlc/modules/demux/mkv/mkv.hpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - type_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: mkv::MissingMandatory::MissingMandatory
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.hpp
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: void
    signature: void MissingMandatory(const char * type_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type *>
      Src: /src/vlc/modules/demux/mkv/mkv.hpp:138,1
    - Dst: FindFirstElt
      Src: /src/vlc/modules/demux/mkv/mkv.hpp:138,1
    - Dst: EBML_INFO
      Src: /src/vlc/modules/demux/mkv/mkv.hpp:138,1
    - Dst: MissingMandatory
      Src: /src/vlc/modules/demux/mkv/mkv.hpp:141,1
    - Dst: EBML_INFO_NAME
      Src: /src/vlc/modules/demux/mkv/mkv.hpp:141,1
    - Dst: EBML_INFO
      Src: /src/vlc/modules/demux/mkv/mkv.hpp:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' Master'
    argTypes:
    - EbmlMaster
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: mkv::GetMandatoryChild
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.hpp
    functionUses: 0
    functionsReached:
    - FindFirstElt
    - EBML_INFO_NAME
    - static_cast<Type *>
    - MissingMandatory
    - EBML_INFO
    linkageType: ''
    returnType: Type
    signature: Type & GetMandatoryChild(const EbmlMaster & Master)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type *>
      Src: /src/vlc/modules/demux/mkv/mkv.hpp:149,1
    - Dst: FindFirstElt
      Src: /src/vlc/modules/demux/mkv/mkv.hpp:149,1
    - Dst: EBML_INFO
      Src: /src/vlc/modules/demux/mkv/mkv.hpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' Master'
    argTypes:
    - EbmlMaster
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: mkv::FindChild
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.hpp
    functionUses: 0
    functionsReached:
    - FindFirstElt
    - EBML_INFO
    - static_cast<Type *>
    linkageType: ''
    returnType: Type
    signature: Type * FindChild(const EbmlMaster & Master)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type *>
      Src: /src/vlc/modules/demux/mkv/mkv.hpp:155,1
    - Dst: FindNextElt
      Src: /src/vlc/modules/demux/mkv/mkv.hpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' Master'
    - ' PastElt'
    argTypes:
    - EbmlMaster
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: mkv::FindNextChild
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.hpp
    functionUses: 0
    functionsReached:
    - FindNextElt
    - static_cast<Type *>
    linkageType: ''
    returnType: Type
    signature: Type * FindNextChild(const EbmlMaster & Master, const Type & PastElt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: ~matroska_stream_c()
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~matroska_stream_c()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: ~PrivateTrackData()
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PrivateTrackData()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: mkv::PrivateTrackData::Init
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - el
    - ','
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: MKV_IS_ID
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MKV_IS_ID( el, C )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: MKV_CHECKED_PTR_DECL
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MKV_CHECKED_PTR_DECL( name, type, src )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: MKV_CHECKED_PTR_DECL_CONST
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MKV_CHECKED_PTR_DECL_CONST( name, type, src )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/vlc/modules/demux/mkv/mkv.hpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - type_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: mkv::MissingMandatory::MissingMandatory
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.hpp
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: void
    signature: void MissingMandatory(const char * type_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type *>
      Src: /src/vlc/modules/demux/mkv/mkv.hpp:138,1
    - Dst: FindFirstElt
      Src: /src/vlc/modules/demux/mkv/mkv.hpp:138,1
    - Dst: EBML_INFO
      Src: /src/vlc/modules/demux/mkv/mkv.hpp:138,1
    - Dst: MissingMandatory
      Src: /src/vlc/modules/demux/mkv/mkv.hpp:141,1
    - Dst: EBML_INFO_NAME
      Src: /src/vlc/modules/demux/mkv/mkv.hpp:141,1
    - Dst: EBML_INFO
      Src: /src/vlc/modules/demux/mkv/mkv.hpp:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' Master'
    argTypes:
    - EbmlMaster
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: mkv::GetMandatoryChild
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.hpp
    functionUses: 0
    functionsReached:
    - FindFirstElt
    - EBML_INFO_NAME
    - static_cast<Type *>
    - MissingMandatory
    - EBML_INFO
    linkageType: ''
    returnType: Type
    signature: Type & GetMandatoryChild(const EbmlMaster & Master)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type *>
      Src: /src/vlc/modules/demux/mkv/mkv.hpp:149,1
    - Dst: FindFirstElt
      Src: /src/vlc/modules/demux/mkv/mkv.hpp:149,1
    - Dst: EBML_INFO
      Src: /src/vlc/modules/demux/mkv/mkv.hpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' Master'
    argTypes:
    - EbmlMaster
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: mkv::FindChild
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.hpp
    functionUses: 0
    functionsReached:
    - FindFirstElt
    - EBML_INFO
    - static_cast<Type *>
    linkageType: ''
    returnType: Type
    signature: Type * FindChild(const EbmlMaster & Master)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type *>
      Src: /src/vlc/modules/demux/mkv/mkv.hpp:155,1
    - Dst: FindNextElt
      Src: /src/vlc/modules/demux/mkv/mkv.hpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' Master'
    - ' PastElt'
    argTypes:
    - EbmlMaster
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: mkv::FindNextChild
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.hpp
    functionUses: 0
    functionsReached:
    - FindNextElt
    - static_cast<Type *>
    linkageType: ''
    returnType: Type
    signature: Type * FindNextChild(const EbmlMaster & Master, const Type & PastElt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: ~matroska_stream_c()
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~matroska_stream_c()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: ~PrivateTrackData()
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PrivateTrackData()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: mkv::PrivateTrackData::Init
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: GetFOURCC
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GetFOURCC( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: mkv::__GetFOURCC
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t __GetFOURCC( uint8_t *p )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:60,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:61,1
    - Dst: static_cast<uint8_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:63,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:66,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:67,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:68,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - p_tk
    argTypes:
    - mkv_track_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 70
    functionName: mkv::fill_extra_data_alac
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - static_cast<uint8_t*>
    - SetDWBE
    - unlikely
    - malloc
    linkageType: ''
    returnType: void
    signature: void fill_extra_data_alac( mkv_track_t *p_tk )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:76,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - p_tk
    - offset
    argTypes:
    - mkv_track_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: mkv::fill_extra_data
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - xmalloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: void fill_extra_data( mkv_track_t *p_tk, unsigned int offset )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UTFstring::GetUTF8
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - UTFstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: mkv::ToUTF8Const
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - UTFstring::GetUTF8
    linkageType: ''
    returnType: char
    signature: char * ToUTF8Const( const UTFstring &u )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:91,1
    - Dst: mkv::ToUTF8Const
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - UTFstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: mkv::ToUTF8
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - strdup
    - mkv::ToUTF8Const
    linkageType: ''
    returnType: char
    signature: char * ToUTF8( const UTFstring &u )
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: EbmlParser::Get
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:108,1
    - Dst: MKV_IS_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:110,1
    - Dst: EBML_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:112,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:116,1
    - Dst: EbmlParser::Down
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:118,1
    - Dst: EbmlParser::Get
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:121,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:123,1
    - Dst: EbmlElement*::ValidateSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:123,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:125,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:125,1
    - Dst: MKV_IS_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:128,1
    - Dst: static_cast<KaxSeekID*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:130,1
    - Dst: KaxSeekID::ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:131,1
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:131,1
    - Dst: EbmlId
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:132,1
    - Dst: KaxSeekID::GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:132,1
    - Dst: KaxSeekID::GetSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:132,1
    - Dst: MKV_IS_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:134,1
    - Dst: static_cast<KaxSeekPosition*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:136,1
    - Dst: KaxSeekPosition::ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:137,1
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:137,1
    - Dst: GetGlobalPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:138,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:138,1
    - Dst: MKV_IS_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:140,1
    - Dst: MKV_IS_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:140,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:143,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:143,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:149,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:149,1
    - Dst: EbmlParser::Up
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:151,1
    - Dst: EBML_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:155,1
    - Dst: add_cluster_position
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:157,1
    - Dst: EBML_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:159,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:161,1
    - Dst: mkv::matroska_segment_c::LoadSeekHeadItem
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:162,1
    - Dst: EBML_INFO
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:162,1
    - Dst: EBML_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:164,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:166,1
    - Dst: mkv::matroska_segment_c::LoadSeekHeadItem
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:167,1
    - Dst: EBML_INFO
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:167,1
    - Dst: EBML_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:169,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:171,1
    - Dst: mkv::matroska_segment_c::LoadSeekHeadItem
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:172,1
    - Dst: EBML_INFO
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:172,1
    - Dst: EBML_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:174,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:176,1
    - Dst: mkv::matroska_segment_c::LoadSeekHeadItem
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:177,1
    - Dst: EBML_INFO
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:177,1
    - Dst: EBML_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:179,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:181,1
    - Dst: mkv::matroska_segment_c::LoadSeekHeadItem
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:182,1
    - Dst: EBML_INFO
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:182,1
    - Dst: EBML_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:184,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:186,1
    - Dst: mkv::matroska_segment_c::LoadSeekHeadItem
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:187,1
    - Dst: EBML_INFO
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:187,1
    - Dst: EBML_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:189,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:191,1
    - Dst: mkv::matroska_segment_c::LoadSeekHeadItem
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:192,1
    - Dst: EBML_INFO
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:192,1
    - Dst: EBML_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:195,1
    - Dst: EBML_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:195,1
    - Dst: EBML_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:196,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:197,1
    - Dst: MKV_IS_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:201,1
    - Dst: MKV_IS_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:201,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:202,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:202,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 68
    argCount: 1
    argNames:
    - seekhead
    argTypes:
    - KaxSeekHead*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 204
    functionName: mkv::matroska_segment_c::ParseSeekHead
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - EbmlElement*::ValidateSize
    - EbmlParser::Down
    - KaxSeekID::GetBuffer
    - KaxSeekID::ReadData
    - EbmlParser::Up
    - EBML_INFO
    - MKV_IS_ID
    - msg_Err
    - msg_Dbg
    - static_cast<uint64_t>
    - EbmlId
    - GetGlobalPosition
    - static_cast<KaxSeekID*>
    - I_O
    - EbmlParser::Get
    - mkv::matroska_segment_c::LoadSeekHeadItem
    - EBML_NAME
    - static_cast<KaxSeekPosition*>
    - add_cluster_position
    - KaxSeekID::GetSize
    - KaxSeekPosition::ReadData
    - EBML_ID
    - unlikely
    linkageType: ''
    returnType: void
    signature: void matroska_segment_c::ParseSeekHead( KaxSeekHead *seekhead )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 211
    functionName: ONLY_FMT
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ONLY_FMT(t)
  - BBCount: 136
    BranchProfiles: []
    Callsites:
    - Dst: GetMandatoryChild<KaxTrackType>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:217,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:220,1
    - Dst: what
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:220,1
    - Dst: mkv_track_t::mkv_track_t
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:243,1
    - Dst: MkvTree
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:245,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:280,1
    - Dst: VLC_FORMAT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:282,1
    - Dst: va_start
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:284,1
    - Dst: MkvTree_va
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:285,1
    - Dst: va_end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:286,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:290,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:291,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:295,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:295,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:301,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:320,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:324,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:325,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:329,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:330,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:334,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:336,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:340,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:340,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:344,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:344,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:348,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:348,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:352,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:352,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:353,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:357,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:359,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:363,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:363,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:367,1
    - Dst: ToUTF8
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:368,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:368,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:369,1
    - Dst: std::string::find_first_of
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:374,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:375,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:376,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:376,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:376,1
    - Dst: std::string::find_first_of
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:387,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:388,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:389,1
    - Dst: lang::empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:389,1
    - Dst: lang::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:389,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:394,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:395,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:395,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:399,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:402,1
    - Dst: static_cast<uint8_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:403,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:403,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:405,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:406,1
    - Dst: GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:406,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:409,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:409,1
    - Dst: static_cast<UTFstring const&>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:413,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:414,1
    - Dst: tk::str_codec_name::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:414,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:419,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:419,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:423,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:423,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:428,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:428,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:429,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:434,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:434,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:435,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:440,1
    - Dst: ListSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:442,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:444,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:449,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:449,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:449,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:454,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:457,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:457,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:457,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:462,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:462,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:466,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:467,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:471,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:471,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:475,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:480,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:480,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:480,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:485,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:486,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:491,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:497,1
    - Dst: KaxContentCompSettings::KaxContentCompSettings
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:499,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:503,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:504,1
    - Dst: static_cast<unsigned>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:512,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:517,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:517,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:517,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:540,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:550,1
    - Dst: add_overflow
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:558,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:560,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:564,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:566,1
    - Dst: add_overflow
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:573,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:575,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:579,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:581,1
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:606,1
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:611,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:621,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:622,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:622,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:623,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:629,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:630,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:633,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:633,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:633,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:638,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:639,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:651,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:651,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:657,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:658,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:662,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:663,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:667,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:668,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:673,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:674,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:674,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:678,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:680,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:703,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:703,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:705,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:705,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:709,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:710,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:711,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:715,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:716,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:717,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:721,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:722,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:723,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:727,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:728,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:729,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:733,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:734,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:735,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:739,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:740,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:741,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:745,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:746,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:747,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:751,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:752,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:753,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:757,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:758,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:768,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:772,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:773,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:773,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:777,1
    - Dst: std::max
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:778,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:778,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:779,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:783,1
    - Dst: ValidateSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:784,1
    - Dst: GetFOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:786,1
    - Dst: GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:786,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:787,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:793,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:795,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:799,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:799,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:799,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:804,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:806,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:818,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:818,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:820,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:824,1
    - Dst: iso_23001_transfer_to_vlc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:825,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:825,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:827,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:858,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:858,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:860,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:860,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:862,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:866,1
    - Dst: iso_23001_primaries_to_vlc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:867,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:867,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:869,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:890,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:890,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:892,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:892,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:894,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:898,1
    - Dst: iso_23001_matrix_coeffs_to_vlc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:899,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:899,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:901,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:927,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:927,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:929,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:929,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:931,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:935,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:937,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:938,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:944,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:944,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:946,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:950,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:952,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:953,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:959,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:959,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:961,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:965,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:966,1
    - Dst: static_cast<uint16_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:967,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:971,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:972,1
    - Dst: static_cast<uint16_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:973,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:977,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:979,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:983,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:983,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:983,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:988,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:989,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:990,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:994,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:995,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:996,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1000,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1001,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1002,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1006,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1007,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1008,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1012,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1013,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1014,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1018,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1019,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1020,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1024,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1025,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1026,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1030,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1031,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1032,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1036,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1037,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1038,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1042,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1043,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1044,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1048,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1049,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1051,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1051,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1051,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1056,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1057,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1062,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1066,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1067,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1068,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1072,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1073,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1074,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1078,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1079,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1080,1
    - Dst: E_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1082,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1083,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1086,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1086,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1090,1
    - Dst: KaxTrackEntry*::begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1090,1
    - Dst: KaxTrackEntry*::end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1090,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1094,1
    - Dst: vlc_find_iso639
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1101,1
    - Dst: "struct MetaDataCapture {\n      matroska_segment_c * obj;\n      mkv_track_t
        \       * tk;\n      demux_t            * p_demuxer;\n      bool&                bSupported;\n
        \     int                  level;\n      std::string          lang;\n      bool
        \                lang_is_ietf;\n      struct {\n        unsigned int i_crop_right;\n
        \       unsigned int i_crop_left;\n        unsigned int i_crop_top;\n        unsigned
        int i_crop_bottom;\n        unsigned int i_display_unit;\n        unsigned
        int i_display_width;\n        unsigned int i_display_height;\n\n        unsigned
        int chroma_sit_vertical;\n        unsigned int chroma_sit_horizontal;\n      }
        track_video_info;\n\n      struct {\n          float yaw;\n          float
        pitch;\n          float roll;\n      } pose;\n\n    }::lang::c_str"
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1101,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1103,1
    - Dst: "struct MetaDataCapture {\n      matroska_segment_c * obj;\n      mkv_track_t
        \       * tk;\n      demux_t            * p_demuxer;\n      bool&                bSupported;\n
        \     int                  level;\n      std::string          lang;\n      bool
        \                lang_is_ietf;\n      struct {\n        unsigned int i_crop_right;\n
        \       unsigned int i_crop_left;\n        unsigned int i_crop_top;\n        unsigned
        int i_crop_bottom;\n        unsigned int i_display_unit;\n        unsigned
        int i_display_width;\n        unsigned int i_display_height;\n\n        unsigned
        int chroma_sit_vertical;\n        unsigned int chroma_sit_horizontal;\n      }
        track_video_info;\n\n      struct {\n          float yaw;\n          float
        pitch;\n          float roll;\n      } pose;\n\n    }::lang::c_str"
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1103,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1104,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1105,1
    - Dst: "struct MetaDataCapture {\n      matroska_segment_c * obj;\n      mkv_track_t
        \       * tk;\n      demux_t            * p_demuxer;\n      bool&                bSupported;\n
        \     int                  level;\n      std::string          lang;\n      bool
        \                lang_is_ietf;\n      struct {\n        unsigned int i_crop_right;\n
        \       unsigned int i_crop_left;\n        unsigned int i_crop_top;\n        unsigned
        int i_crop_bottom;\n        unsigned int i_display_unit;\n        unsigned
        int i_display_width;\n        unsigned int i_display_height;\n\n        unsigned
        int chroma_sit_vertical;\n        unsigned int chroma_sit_horizontal;\n      }
        track_video_info;\n\n      struct {\n          float yaw;\n          float
        pitch;\n          float roll;\n      } pose;\n\n    }::lang::c_str"
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1105,1
    - Dst: vlc_viewpoint_from_euler
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1107,1
    - Dst: zlib_decompress_extra
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1116,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1118,1
    - Dst: lzo1x_decompress_extra
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1126,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1128,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1135,1
    - Dst: mkv::matroska_segment_c::TrackInit
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1140,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1142,1
    - Dst: insert
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1147,1
    - Dst: std::make_pair
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1147,1
    - Dst: std::unique_ptr<mkv_track_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1147,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1151,1
    CyclomaticComplexity: 133
    EdgeCount: 133
    ICount: 681
    argCount: 1
    argNames:
    - m
    argTypes:
    - KaxTrackEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 1154
    functionName: mkv::matroska_segment_c::ParseTrackEntry
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - static_cast<uint32_t>
    - debug
    - memcpy
    - iso_23001_primaries_to_vlc
    - vlc_find_iso639
    - std::string::c_str
    - KaxContentCompSettings::KaxContentCompSettings
    - std::max
    - VLC_TICK_FROM_NS
    - ValidateSize
    - MkvTree
    - begin
    - MkvTree_va
    - ListSize
    - msg_Err
    - static_cast<float>
    - msg_Dbg
    - mkv_track_t::mkv_track_t
    - tk::str_codec_name::c_str
    - static_cast<uint8_t>
    - msg_Warn
    - E_CASE
    - UTFstring
    - GetFOURCC
    - static_cast<UTFstring const&>
    - static_cast<uint64_t>
    - strdup
    - va_start
    - VLC_FORMAT
    - Dispatcher::Dispatcher
    - std::make_pair
    - "struct MetaDataCapture {\n      matroska_segment_c * obj;\n      mkv_track_t
      \       * tk;\n      demux_t            * p_demuxer;\n      bool&                bSupported;\n
      \     int                  level;\n      std::string          lang;\n      bool
      \                lang_is_ietf;\n      struct {\n        unsigned int i_crop_right;\n
      \       unsigned int i_crop_left;\n        unsigned int i_crop_top;\n        unsigned
      int i_crop_bottom;\n        unsigned int i_display_unit;\n        unsigned int
      i_display_width;\n        unsigned int i_display_height;\n\n        unsigned
      int chroma_sit_vertical;\n        unsigned int chroma_sit_horizontal;\n      }
      track_video_info;\n\n      struct {\n          float yaw;\n          float pitch;\n
      \         float roll;\n      } pose;\n\n    }::lang::c_str"
    - MKV_SWITCH_INIT
    - static_cast<uint8_t*>
    - vlc_viewpoint_from_euler
    - lang::empty
    - KaxTrackEntry*::end
    - likely
    - EBML_NAME
    - GetBuffer
    - std::string::find_first_of
    - va_end
    - end
    - static_cast<uint16_t>
    - GetMandatoryChild<KaxTrackType>
    - std::unique_ptr<mkv_track_t>
    - VLC_UNUSED
    - ONLY_FMT
    - iso_23001_matrix_coeffs_to_vlc
    - mkv::matroska_segment_c::TrackInit
    - lzo1x_decompress_extra
    - ToUTF8
    - iso_23001_transfer_to_vlc
    - GetSize
    - what
    - insert
    - iterate
    - free
    - lang::c_str
    - std::string::substr
    - vlc_ureduce
    - zlib_decompress_extra
    - static_cast<unsigned>
    - std::string
    - unlikely
    - malloc
    - add_overflow
    - KaxTrackEntry*::begin
    linkageType: ''
    returnType: void
    signature: void matroska_segment_c::ParseTrackEntry( const KaxTrackEntry *m )
  - BBCount: 124
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:280,1
    - Dst: VLC_FORMAT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:282,1
    - Dst: va_start
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:284,1
    - Dst: mkv::MkvTree_va
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:285,1
    - Dst: va_end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:286,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:290,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:291,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:295,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:295,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:301,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:320,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:324,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:325,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:329,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:330,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:334,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:336,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:340,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:340,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:344,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:344,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:348,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:348,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:352,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:352,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:353,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:357,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:359,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:363,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:363,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:367,1
    - Dst: mkv::ToUTF8
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:368,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:368,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:369,1
    - Dst: std::string::find_first_of
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:374,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:375,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:376,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:376,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:376,1
    - Dst: std::string::find_first_of
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:387,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:388,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:389,1
    - Dst: lang::empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:389,1
    - Dst: lang::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:389,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:394,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:395,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:395,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:399,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:402,1
    - Dst: static_cast<uint8_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:403,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:403,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:405,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:406,1
    - Dst: GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:406,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:409,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:409,1
    - Dst: static_cast<UTFstring const&>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:413,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:414,1
    - Dst: tk::str_codec_name::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:414,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:419,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:419,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:423,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:423,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:428,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:428,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:429,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:434,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:434,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:435,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:440,1
    - Dst: ListSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:442,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:444,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:449,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:449,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:449,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:454,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:457,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:457,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:457,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:462,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:462,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:466,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:467,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:471,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:471,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:475,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:480,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:480,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:480,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:485,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:486,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:491,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:497,1
    - Dst: KaxContentCompSettings::KaxContentCompSettings
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:499,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:503,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:504,1
    - Dst: static_cast<unsigned>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:512,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:517,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:517,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:517,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:540,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:550,1
    - Dst: add_overflow
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:558,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:560,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:564,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:566,1
    - Dst: add_overflow
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:573,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:575,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:579,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:581,1
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:606,1
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:611,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:621,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:622,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:622,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:623,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:629,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:630,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:633,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:633,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:633,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:638,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:639,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:651,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:651,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:657,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:658,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:662,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:663,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:667,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:668,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:673,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:674,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:674,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:678,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:680,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:703,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:703,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:705,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:705,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:709,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:710,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:711,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:715,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:716,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:717,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:721,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:722,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:723,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:727,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:728,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:729,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:733,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:734,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:735,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:739,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:740,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:741,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:745,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:746,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:747,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:751,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:752,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:753,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:757,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:758,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:768,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:772,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:773,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:773,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:777,1
    - Dst: std::max
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:778,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:778,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:779,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:783,1
    - Dst: ValidateSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:784,1
    - Dst: GetFOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:786,1
    - Dst: GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:786,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:787,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:793,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:795,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:799,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:799,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:799,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:804,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:806,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:818,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:818,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:820,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:824,1
    - Dst: iso_23001_transfer_to_vlc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:825,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:825,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:827,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:858,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:858,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:860,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:860,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:862,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:866,1
    - Dst: iso_23001_primaries_to_vlc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:867,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:867,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:869,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:890,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:890,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:892,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:892,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:894,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:898,1
    - Dst: iso_23001_matrix_coeffs_to_vlc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:899,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:899,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:901,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:927,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:927,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:929,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:929,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:931,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:935,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:937,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:938,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:944,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:944,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:946,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:950,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:952,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:953,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:959,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:959,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:961,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:965,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:966,1
    - Dst: static_cast<uint16_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:967,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:971,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:972,1
    - Dst: static_cast<uint16_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:973,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:977,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:979,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:983,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:983,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:983,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:988,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:989,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:990,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:994,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:995,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:996,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1000,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1001,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1002,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1006,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1007,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1008,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1012,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1013,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1014,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1018,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1019,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1020,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1024,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1025,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1026,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1030,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1031,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1032,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1036,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1037,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1038,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1042,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1043,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1044,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1048,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1049,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1051,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1051,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1051,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1056,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1057,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1062,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1066,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1067,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1068,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1072,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1073,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1074,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1078,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1079,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1080,1
    - Dst: mkv::E_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1082,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1083,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1086,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1086,1
    CyclomaticComplexity: 111
    EdgeCount: 111
    ICount: 620
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 1088
    functionName: mkv::MKV_SWITCH_CREATE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - static_cast<uint32_t>
    - debug
    - memcpy
    - iso_23001_primaries_to_vlc
    - std::string::c_str
    - KaxContentCompSettings::KaxContentCompSettings
    - std::max
    - VLC_TICK_FROM_NS
    - ValidateSize
    - begin
    - ListSize
    - msg_Err
    - static_cast<float>
    - tk::str_codec_name::c_str
    - msg_Dbg
    - static_cast<uint8_t>
    - UTFstring
    - GetFOURCC
    - static_cast<UTFstring const&>
    - static_cast<uint64_t>
    - va_start
    - VLC_FORMAT
    - MKV_SWITCH_INIT
    - static_cast<uint8_t*>
    - lang::empty
    - mkv::ToUTF8
    - likely
    - mkv::E_CASE
    - GetBuffer
    - std::string::find_first_of
    - va_end
    - end
    - static_cast<uint16_t>
    - EBML_NAME
    - VLC_UNUSED
    - ONLY_FMT
    - iso_23001_matrix_coeffs_to_vlc
    - iso_23001_transfer_to_vlc
    - GetSize
    - iterate
    - free
    - lang::c_str
    - std::string::substr
    - vlc_ureduce
    - mkv::MkvTree_va
    - static_cast<unsigned>
    - std::string
    - unlikely
    - malloc
    - add_overflow
    linkageType: ''
    returnType: void
    signature: void MKV_SWITCH_CREATE( EbmlTypeDispatcher, MetaDataHandlers, MetaDataCapture
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:290,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 292
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - static_cast<uint32_t>
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTrackNumber, tnum )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:295,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - debug
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTrackUID, tuid )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:301,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:320,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 321
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - debug
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTrackType, ttype )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:324,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 326
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - static_cast<uint32_t>
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTrackFlagEnabled, fenb )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:329,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - static_cast<uint32_t>
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTrackFlagDefault, fdef )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:334,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 337
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - static_cast<uint32_t>
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTrackFlagForced, ffor )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:340,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - debug
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTrackFlagLacing, lac )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:344,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 345
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - debug
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTrackMinCache, cmin )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:348,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - debug
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTrackMaxCache, cmax )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:352,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:352,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 354
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - debug
    - VLC_TICK_FROM_NS
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTrackDefaultDuration, defd )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:357,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - static_cast<float>
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTrackTimestampScale, ttcs )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:363,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 364
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - debug
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxMaxBlockAdditionID, mbl )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:367,1
    - Dst: mkv::ToUTF8
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:368,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:368,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 370
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - free
    - debug
    - UTFstring
    - mkv::ToUTF8
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTrackName, tname )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_first_of
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:374,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:375,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:376,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:376,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 381
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - std::string::empty
    - debug
    - std::string::c_str
    - std::string::substr
    - std::string::find_first_of
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTrackLanguage, lang )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_first_of
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:387,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:388,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:389,1
    - Dst: lang::empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:389,1
    - Dst: lang::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 390
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - debug
    - lang::empty
    - lang::c_str
    - std::string::substr
    - std::string::find_first_of
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxLanguageIETF, lang )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:394,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:395,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 396
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - debug
    - std::string
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxCodecID, codecid )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:399,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:402,1
    - Dst: static_cast<uint8_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:403,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:403,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:405,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:406,1
    - Dst: GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:406,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:409,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 410
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - GetSize
    - debug
    - memcpy
    - static_cast<uint8_t*>
    - free
    - likely
    - GetBuffer
    - malloc
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxCodecPrivate, cpriv )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<UTFstring const&>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:413,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:414,1
    - Dst: tk::str_codec_name::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 415
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - debug
    - static_cast<UTFstring const&>
    - tk::str_codec_name::c_str
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxCodecName, cname )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:419,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - debug
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxCodecDecodeAll, cdall )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:423,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 424
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - debug
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTrackOverlay, tovr )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:428,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:428,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 431
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - VLC_TICK_FROM_NS
    - static_cast<uint64_t>
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxCodecDelay, codecdelay )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:434,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:434,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 436
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - debug
    - VLC_TICK_FROM_NS
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxSeekPreRoll, spr )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:440,1
    - Dst: ListSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:442,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:444,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:449,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:449,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 451
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - debug
    - begin
    - ListSize
    - iterate
    - msg_Err
    - end
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxContentEncodings, cencs )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:454,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:457,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:457,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 459
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - debug
    - begin
    - end
    - iterate
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxContentEncoding, cenc )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:462,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 463
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - debug
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxContentEncodingOrder, encord )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:466,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 468
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - static_cast<uint32_t>
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxContentEncodingScope, encscope )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:471,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 472
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - debug
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxContentEncodingType, enctype )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:475,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:480,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:480,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 482
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - debug
    - begin
    - end
    - iterate
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxContentCompression, compr )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:485,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:486,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:491,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 494
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - static_cast<uint32_t>
    - debug
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxContentCompAlgo, compalg )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:497,1
    - Dst: KaxContentCompSettings::KaxContentCompSettings
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 500
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - debug
    - KaxContentCompSettings::KaxContentCompSettings
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxContentCompSettings, kccs )
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:503,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:504,1
    - Dst: static_cast<unsigned>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:512,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:517,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:517,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:517,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:540,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:550,1
    - Dst: add_overflow
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:558,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:560,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:564,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:566,1
    - Dst: add_overflow
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:573,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:575,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:579,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:581,1
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:606,1
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:611,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 617
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - ONLY_FMT
    - debug
    - begin
    - iterate
    - vlc_ureduce
    - static_cast<unsigned>
    - end
    - unlikely
    - add_overflow
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTrackVideo, tkv )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:621,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:622,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:622,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 624
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - ONLY_FMT
    - debug
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoAlphaMode, mode )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:629,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:630,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:633,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:633,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 635
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - ONLY_FMT
    - debug
    - begin
    - iterate
    - end
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoProjection, proj )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:638,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:639,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:651,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:651,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 654
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - ONLY_FMT
    - debug
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoProjectionType, fint )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:657,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 659
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - static_cast<float>
    - ONLY_FMT
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoProjectionPoseYaw, pose )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:662,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 664
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - static_cast<float>
    - ONLY_FMT
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoProjectionPosePitch, pose )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:667,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 669
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - static_cast<float>
    - ONLY_FMT
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoProjectionPoseRoll, pose )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:673,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:674,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 675
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - ONLY_FMT
    - debug
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoFlagInterlaced, fint )
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:678,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:680,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:703,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:703,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:705,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:705,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 706
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - ONLY_FMT
    - debug
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoStereoMode, stereo )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:709,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:710,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 712
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - ONLY_FMT
    - static_cast<uint32_t>
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoPixelWidth, vwidth )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:715,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:716,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 718
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - ONLY_FMT
    - static_cast<uint32_t>
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoPixelHeight, vheight )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:721,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:722,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 724
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - ONLY_FMT
    - static_cast<uint32_t>
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoDisplayWidth, vwidth )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:727,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:728,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 730
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - ONLY_FMT
    - static_cast<uint32_t>
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoDisplayHeight, vheight )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:733,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:734,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 736
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - ONLY_FMT
    - static_cast<uint32_t>
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoPixelCropBottom, cropval )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:739,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:740,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 742
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - ONLY_FMT
    - static_cast<uint32_t>
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoPixelCropTop, cropval )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:745,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:746,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 748
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - ONLY_FMT
    - static_cast<uint32_t>
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoPixelCropRight, cropval )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:751,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:752,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 754
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - ONLY_FMT
    - static_cast<uint32_t>
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoPixelCropLeft, cropval )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:757,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:758,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:768,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 769
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - ONLY_FMT
    - debug
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoDisplayUnit, vdmode )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:772,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:773,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 774
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - ONLY_FMT
    - debug
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoAspectRatio, ratio )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:777,1
    - Dst: std::max
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:778,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:778,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 780
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - static_cast<float>
    - ONLY_FMT
    - std::max
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoFrameRate, vfps )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:783,1
    - Dst: ValidateSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:784,1
    - Dst: GetFOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:786,1
    - Dst: GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:786,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:787,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 781
    functionDepth: 1
    functionLinenumber: 781
    functionLinenumberEnd: 789
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - ONLY_FMT
    - GetFOURCC
    - debug
    - GetBuffer
    - ValidateSize
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoColourSpace, colourspace )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:793,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:795,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:799,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:799,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 801
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - debug
    - begin
    - iterate
    - msg_Err
    - end
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoColour, colours)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:804,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:806,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:818,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:818,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:820,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 802
    functionDepth: 1
    functionLinenumber: 802
    functionLinenumberEnd: 821
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - ONLY_FMT
    - debug
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoColourRange, range )
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:824,1
    - Dst: iso_23001_transfer_to_vlc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:825,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:825,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:827,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:858,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:858,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:860,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:860,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:862,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 822
    functionDepth: 1
    functionLinenumber: 822
    functionLinenumberEnd: 863
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - ONLY_FMT
    - debug
    - iso_23001_transfer_to_vlc
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoColourTransferCharacter, transfer )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:866,1
    - Dst: iso_23001_primaries_to_vlc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:867,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:867,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:869,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:890,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:890,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:892,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:892,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:894,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 895
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - ONLY_FMT
    - debug
    - iso_23001_primaries_to_vlc
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoColourPrimaries, primaries )
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:898,1
    - Dst: iso_23001_matrix_coeffs_to_vlc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:899,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:899,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:901,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:927,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:927,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:929,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:929,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:931,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 896
    functionDepth: 1
    functionLinenumber: 896
    functionLinenumberEnd: 932
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - ONLY_FMT
    - iso_23001_matrix_coeffs_to_vlc
    - debug
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoColourMatrix, matrix )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:935,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:937,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:938,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:944,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:944,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:946,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 947
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - ONLY_FMT
    - debug
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoChromaSitHorz, chroma_hor )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:950,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:952,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:953,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:959,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:959,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:961,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 948
    functionDepth: 1
    functionLinenumber: 948
    functionLinenumberEnd: 962
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - ONLY_FMT
    - debug
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoChromaSitVert, chroma_ver )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:965,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:966,1
    - Dst: static_cast<uint16_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 968
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - static_cast<uint16_t>
    - ONLY_FMT
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoColourMaxCLL, maxCLL )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:971,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:972,1
    - Dst: static_cast<uint16_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 969
    functionDepth: 1
    functionLinenumber: 969
    functionLinenumberEnd: 974
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - static_cast<uint16_t>
    - ONLY_FMT
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoColourMaxFALL, maxFALL )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:977,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:979,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:983,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:983,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:983,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 985
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - debug
    - begin
    - iterate
    - msg_Err
    - end
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoColourMasterMeta, mastering )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:988,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:989,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:990,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 986
    functionDepth: 1
    functionLinenumber: 986
    functionLinenumberEnd: 991
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - static_cast<float>
    - ONLY_FMT
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoLuminanceMax, maxLum )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:994,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:995,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 997
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - static_cast<float>
    - ONLY_FMT
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoLuminanceMin, minLum )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1000,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1001,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1003
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - static_cast<float>
    - ONLY_FMT
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoGChromaX, chroma )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1006,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1007,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1004
    functionDepth: 1
    functionLinenumber: 1004
    functionLinenumberEnd: 1009
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - static_cast<float>
    - ONLY_FMT
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoGChromaY, chroma )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1012,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1013,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1010
    functionDepth: 1
    functionLinenumber: 1010
    functionLinenumberEnd: 1015
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - static_cast<float>
    - ONLY_FMT
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoBChromaX, chroma )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1018,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1019,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1020,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1016
    functionDepth: 1
    functionLinenumber: 1016
    functionLinenumberEnd: 1021
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - static_cast<float>
    - ONLY_FMT
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoBChromaY, chroma )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1024,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1025,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1022
    functionDepth: 1
    functionLinenumber: 1022
    functionLinenumberEnd: 1027
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - static_cast<float>
    - ONLY_FMT
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoRChromaX, chroma )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1030,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1031,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1028
    functionDepth: 1
    functionLinenumber: 1028
    functionLinenumberEnd: 1033
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - static_cast<float>
    - ONLY_FMT
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoRChromaY, chroma )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1036,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1037,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1034
    functionDepth: 1
    functionLinenumber: 1034
    functionLinenumberEnd: 1039
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - static_cast<float>
    - ONLY_FMT
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoWhitePointChromaX, white )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1042,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1043,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1040
    functionDepth: 1
    functionLinenumber: 1040
    functionLinenumberEnd: 1045
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - static_cast<float>
    - ONLY_FMT
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoWhitePointChromaY, white )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1048,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1049,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1051,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1051,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1053
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - ONLY_FMT
    - debug
    - begin
    - iterate
    - end
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTrackAudio, tka )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1056,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1057,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1054
    functionDepth: 1
    functionLinenumber: 1054
    functionLinenumberEnd: 1063
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - static_cast<float>
    - ONLY_FMT
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxAudioSamplingFreq, afreq )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1066,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1067,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1064
    functionDepth: 1
    functionLinenumber: 1064
    functionLinenumberEnd: 1069
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - static_cast<float>
    - ONLY_FMT
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxAudioOutputSamplingFreq, afreq )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1072,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1073,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1075
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - ONLY_FMT
    - debug
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxAudioChannels, achan )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1078,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1079,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1076
    functionDepth: 1
    functionLinenumber: 1076
    functionLinenumberEnd: 1081
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - ONLY_FMT
    - debug
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxAudioBitDepth, abits )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mkv::matroska_segment_c::ReadMaster
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1164,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1177,1
    - Dst: obj::ParseTrackEntry
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1180,1
    - Dst: E_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1182,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1183,1
    - Dst: MkvTree
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1186,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1186,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1190,1
    - Dst: KaxTracks*::begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1190,1
    - Dst: KaxTracks*::end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1190,1
    - Dst: std::max
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - tracks
    argTypes:
    - KaxTracks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1161
    functionDepth: 1
    functionLinenumber: 1161
    functionLinenumberEnd: 1196
    functionName: mkv::matroska_segment_c::ParseTracks
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - MkvTree
    - obj::ParseTrackEntry
    - Dispatcher::Dispatcher
    - KaxTracks*::begin
    - KaxTracks*::end
    - MKV_SWITCH_INIT
    - mkv::matroska_segment_c::ReadMaster
    - std::max
    - EBML_NAME
    - E_CASE
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void matroska_segment_c::ParseTracks( KaxTracks *tracks )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1177,1
    - Dst: obj::ParseTrackEntry
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1180,1
    - Dst: mkv::E_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1182,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1183,1
    - Dst: mkv::MkvTree
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1186,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1175
    functionDepth: 1
    functionLinenumber: 1175
    functionLinenumberEnd: 1188
    functionName: mkv::MKV_SWITCH_CREATE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - obj::ParseTrackEntry
    - MKV_SWITCH_INIT
    - mkv::MkvTree
    - EBML_NAME
    - mkv::E_CASE
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void MKV_SWITCH_CREATE( EbmlTypeDispatcher, TrackHandlers, struct Capture
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: obj::ParseTrackEntry
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1181
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 2
    functionsReached:
    - obj::ParseTrackEntry
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTrackEntry, track_number )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mkv::matroska_segment_c::ReadMaster
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1205,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1218,1
    - Dst: VLC_FORMAT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1220,1
    - Dst: va_start
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1222,1
    - Dst: MkvTree_va
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1223,1
    - Dst: va_end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1224,1
    - Dst: KaxSegmentUID::KaxSegmentUID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1230,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1232,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1232,1
    - Dst: obj::p_segment_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1232,1
    - Dst: KaxPrevUID::KaxPrevUID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1238,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1241,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1241,1
    - Dst: obj::p_prev_segment_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1241,1
    - Dst: KaxNextUID::KaxNextUID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1247,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1250,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1250,1
    - Dst: obj::p_next_segment_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1250,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1254,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1255,1
    - Dst: static_cast<double>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1259,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1260,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1264,1
    - Dst: ToUTF8
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1265,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1265,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1266,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1270,1
    - Dst: ToUTF8
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1271,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1271,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1272,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1276,1
    - Dst: ToUTF8Const
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1276,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1276,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1280,1
    - Dst: ToUTF8
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1281,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1281,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1282,1
    - Dst: obj::families::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1286,1
    - Dst: KaxSegmentFamily::KaxSegmentFamily
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1286,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1287,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1287,1
    - Dst: GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1287,1
    - Dst: GetEpochDate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1293,1
    - Dst: gmtime_r
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1295,1
    - Dst: strftime
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1296,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1299,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1306,1
    - Dst: editions::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1310,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1310,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1314,1
    - Dst: KaxChapterTranslateID::KaxChapterTranslateID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1319,1
    - Dst: obj::ReadMaster
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1324,1
    - Dst: chapter_translation_c::chapter_translation_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1327,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1329,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1330,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1330,1
    - Dst: chapter_translation_c*::isValid
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1333,1
    - Dst: obj::translations::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1334,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1340,1
    - Dst: E_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1343,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1345,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1349,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1349,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1353,1
    - Dst: EbmlMaster*::begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1353,1
    - Dst: EbmlMaster*::end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1353,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1356,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 84
    argCount: 1
    argNames:
    - info
    argTypes:
    - KaxInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1201
    functionDepth: 2
    functionLinenumber: 1201
    functionLinenumberEnd: 1357
    functionName: mkv::matroska_segment_c::ParseInfo
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - debug
    - static_cast<uint32_t>
    - chapter_translation_c*::isValid
    - mkv::matroska_segment_c::ReadMaster
    - VLC_TICK_FROM_NS
    - obj::p_segment_uid::GetBuffer
    - KaxSegmentFamily::KaxSegmentFamily
    - KaxNextUID::KaxNextUID
    - reinterpret_cast<uint64_t*>
    - begin
    - MkvTree_va
    - ToUTF8Const
    - msg_Err
    - EbmlMaster*::begin
    - obj::translations::push_back
    - E_CASE
    - chapter_translation_c::chapter_translation_c
    - EbmlMaster*::end
    - UTFstring
    - KaxChapterTranslateID::KaxChapterTranslateID
    - gmtime_r
    - static_cast<uint64_t>
    - va_start
    - VLC_FORMAT
    - Dispatcher::Dispatcher
    - MKV_SWITCH_INIT
    - GetEpochDate
    - KaxSegmentUID::KaxSegmentUID
    - obj::families::push_back
    - EBML_NAME
    - GetBuffer
    - va_end
    - end
    - VLC_UNUSED
    - obj::p_prev_segment_uid::GetBuffer
    - ToUTF8
    - free
    - strftime
    - obj::p_next_segment_uid::GetBuffer
    - obj::ReadMaster
    - editions::push_back
    - static_cast<double>
    - KaxPrevUID::KaxPrevUID
    linkageType: ''
    returnType: void
    signature: void matroska_segment_c::ParseInfo( KaxInfo *info )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1218,1
    - Dst: VLC_FORMAT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1220,1
    - Dst: va_start
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1222,1
    - Dst: mkv::MkvTree_va
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1223,1
    - Dst: va_end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1224,1
    - Dst: KaxSegmentUID::KaxSegmentUID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1230,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1232,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1232,1
    - Dst: obj::p_segment_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1232,1
    - Dst: KaxPrevUID::KaxPrevUID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1238,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1241,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1241,1
    - Dst: obj::p_prev_segment_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1241,1
    - Dst: KaxNextUID::KaxNextUID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1247,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1250,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1250,1
    - Dst: obj::p_next_segment_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1250,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1254,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1255,1
    - Dst: static_cast<double>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1259,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1260,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1264,1
    - Dst: mkv::ToUTF8
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1265,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1265,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1266,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1270,1
    - Dst: mkv::ToUTF8
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1271,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1271,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1272,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1276,1
    - Dst: mkv::ToUTF8Const
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1276,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1276,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1280,1
    - Dst: mkv::ToUTF8
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1281,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1281,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1282,1
    - Dst: obj::families::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1286,1
    - Dst: KaxSegmentFamily::KaxSegmentFamily
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1286,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1287,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1287,1
    - Dst: GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1287,1
    - Dst: GetEpochDate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1293,1
    - Dst: gmtime_r
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1295,1
    - Dst: strftime
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1296,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1299,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1306,1
    - Dst: editions::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1310,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1310,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1314,1
    - Dst: KaxChapterTranslateID::KaxChapterTranslateID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1319,1
    - Dst: obj::ReadMaster
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1324,1
    - Dst: chapter_translation_c::chapter_translation_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1327,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1329,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1330,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1330,1
    - Dst: chapter_translation_c*::isValid
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1333,1
    - Dst: obj::translations::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1334,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1340,1
    - Dst: mkv::E_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1343,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1345,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1349,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1349,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1216
    functionDepth: 2
    functionLinenumber: 1216
    functionLinenumberEnd: 1351
    functionName: mkv::MKV_SWITCH_CREATE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - debug
    - static_cast<uint32_t>
    - chapter_translation_c*::isValid
    - obj::p_segment_uid::GetBuffer
    - KaxSegmentFamily::KaxSegmentFamily
    - KaxNextUID::KaxNextUID
    - reinterpret_cast<uint64_t*>
    - begin
    - msg_Err
    - obj::translations::push_back
    - chapter_translation_c::chapter_translation_c
    - UTFstring
    - KaxChapterTranslateID::KaxChapterTranslateID
    - gmtime_r
    - static_cast<uint64_t>
    - va_start
    - VLC_FORMAT
    - Dispatcher::Dispatcher
    - MKV_SWITCH_INIT
    - GetEpochDate
    - KaxSegmentUID::KaxSegmentUID
    - obj::families::push_back
    - mkv::ToUTF8
    - EBML_NAME
    - mkv::E_CASE
    - GetBuffer
    - va_end
    - end
    - mkv::ToUTF8Const
    - VLC_UNUSED
    - obj::p_prev_segment_uid::GetBuffer
    - obj::ReadMaster
    - free
    - strftime
    - obj::p_next_segment_uid::GetBuffer
    - mkv::MkvTree_va
    - editions::push_back
    - static_cast<double>
    - KaxPrevUID::KaxPrevUID
    linkageType: ''
    returnType: void
    signature: void MKV_SWITCH_CREATE(EbmlTypeDispatcher, InfoHandlers, InfoHandlerPayload)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: KaxSegmentUID::KaxSegmentUID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1230,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1232,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1232,1
    - Dst: obj::p_segment_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1233
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - debug
    - KaxSegmentUID::KaxSegmentUID
    - reinterpret_cast<uint64_t*>
    - obj::p_segment_uid::GetBuffer
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxSegmentUID, uid )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: KaxPrevUID::KaxPrevUID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1238,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1241,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1241,1
    - Dst: obj::p_prev_segment_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1242
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - debug
    - obj::p_prev_segment_uid::GetBuffer
    - KaxPrevUID::KaxPrevUID
    - reinterpret_cast<uint64_t*>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxPrevUID, uid )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: KaxNextUID::KaxNextUID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1247,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1250,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1250,1
    - Dst: obj::p_next_segment_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1251
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - debug
    - obj::p_next_segment_uid::GetBuffer
    - KaxNextUID::KaxNextUID
    - reinterpret_cast<uint64_t*>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxNextUID, uid )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1254,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1256
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - debug
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTimestampScale, tcs )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1259,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1257
    functionDepth: 0
    functionLinenumber: 1257
    functionLinenumberEnd: 1261
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - debug
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxDuration, dur )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1264,1
    - Dst: mkv::ToUTF8
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1265,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1265,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1262
    functionDepth: 2
    functionLinenumber: 1262
    functionLinenumberEnd: 1267
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - free
    - debug
    - UTFstring
    - mkv::ToUTF8
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxMuxingApp, mapp )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1270,1
    - Dst: mkv::ToUTF8
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1271,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1271,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1268
    functionDepth: 2
    functionLinenumber: 1268
    functionLinenumberEnd: 1273
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - free
    - debug
    - UTFstring
    - mkv::ToUTF8
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxWritingApp, wapp )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1276,1
    - Dst: mkv::ToUTF8Const
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1276,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1274
    functionDepth: 1
    functionLinenumber: 1274
    functionLinenumberEnd: 1277
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - UTFstring
    - debug
    - mkv::ToUTF8Const
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxSegmentFilename, sfn )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1280,1
    - Dst: mkv::ToUTF8
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1281,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1281,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1278
    functionDepth: 2
    functionLinenumber: 1278
    functionLinenumberEnd: 1283
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - free
    - debug
    - UTFstring
    - mkv::ToUTF8
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTitle, title )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: obj::families::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1286,1
    - Dst: KaxSegmentFamily::KaxSegmentFamily
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1286,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1287,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1287,1
    - Dst: GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1288
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - KaxSegmentFamily::KaxSegmentFamily
    - reinterpret_cast<uint64_t*>
    - debug
    - obj::families::push_back
    - GetBuffer
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxSegmentFamily, uid )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetEpochDate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1293,1
    - Dst: gmtime_r
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1295,1
    - Dst: strftime
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1296,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1289
    functionDepth: 2
    functionLinenumber: 1289
    functionLinenumberEnd: 1301
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - strftime
    - gmtime_r
    - debug
    - GetEpochDate
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxDateUTC, date )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1306,1
    - Dst: editions::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1310,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1310,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1314,1
    - Dst: KaxChapterTranslateID::KaxChapterTranslateID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1319,1
    - Dst: obj::ReadMaster
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1324,1
    - Dst: chapter_translation_c::chapter_translation_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1327,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1329,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1330,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1330,1
    - Dst: chapter_translation_c*::isValid
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1333,1
    - Dst: obj::translations::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1334,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1302
    functionDepth: 1
    functionLinenumber: 1302
    functionLinenumberEnd: 1342
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - KaxChapterTranslateID::KaxChapterTranslateID
    - static_cast<uint64_t>
    - Dispatcher::Dispatcher
    - static_cast<uint32_t>
    - begin
    - end
    - chapter_translation_c*::isValid
    - MKV_SWITCH_INIT
    - msg_Err
    - obj::ReadMaster
    - obj::translations::push_back
    - editions::push_back
    - chapter_translation_c::chapter_translation_c
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxChapterTranslate, trans )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1306,1
    - Dst: editions::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1310,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1310,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1314,1
    - Dst: KaxChapterTranslateID::KaxChapterTranslateID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1304
    functionDepth: 1
    functionLinenumber: 1304
    functionLinenumberEnd: 1321
    functionName: mkv::MKV_SWITCH_CREATE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - KaxChapterTranslateID::KaxChapterTranslateID
    - static_cast<uint64_t>
    - static_cast<uint32_t>
    - MKV_SWITCH_INIT
    - editions::push_back
    linkageType: ''
    returnType: void
    signature: void MKV_SWITCH_CREATE( EbmlTypeDispatcher, TranslationHandler, chapter_translation_c*
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: editions::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1310,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1308
    functionDepth: 0
    functionLinenumber: 1308
    functionLinenumberEnd: 1311
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - editions::push_back
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxChapterTranslateEditionUID, uid )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1312
    functionDepth: 0
    functionLinenumber: 1312
    functionLinenumberEnd: 1315
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxChapterTranslateCodec, codec_id )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KaxChapterTranslateID::KaxChapterTranslateID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1316
    functionDepth: 0
    functionLinenumber: 1316
    functionLinenumberEnd: 1320
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - KaxChapterTranslateID::KaxChapterTranslateID
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxChapterTranslateID, translated_id )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: MkvTree
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1365,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1382,1
    - Dst: VLC_FORMAT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1384,1
    - Dst: va_start
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1386,1
    - Dst: MkvTree_va
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1387,1
    - Dst: va_end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1388,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1392,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1393,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1397,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1398,1
    - Dst: KaxChapterSegmentUID::KaxChapterSegmentUID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1403,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1406,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1406,1
    - Dst: chapters::p_segment_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1406,1
    - Dst: KaxChapterSegmentEditionUID::KaxChapterSegmentEditionUID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1411,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1413,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1415,1
    - Dst: chapters::p_segment_edition_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1415,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1417,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1423,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1423,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1424,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1428,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1428,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1429,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1433,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1436,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1436,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1436,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1441,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1450,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1450,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1454,1
    - Dst: static_cast<std::string const&>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1454,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1458,1
    - Dst: static_cast<std::string const&>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1458,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1463,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1465,1
    - Dst: MKV_CHECKED_PTR_DECL_CONST
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1472,1
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1474,1
    - Dst: obj::sys::GetMatroskaScriptInterpreter
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1476,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1477,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1478,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1481,1
    - Dst: matroska_script_codec_c::matroska_script_codec_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1480,1
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1485,1
    - Dst: obj::sys::GetDVDInterpretor
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1487,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1488,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1489,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1491,1
    - Dst: dvd_chapter_codec_c::dvd_chapter_codec_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1491,1
    - Dst: MKV_CHECKED_PTR_DECL_CONST
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1501,1
    - Dst: chapter_codec_cmds_c*::SetPrivate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1503,1
    - Dst: MKV_CHECKED_PTR_DECL_CONST
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1505,1
    - Dst: chapter_codec_cmds_c*::AddCommand
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1507,1
    - Dst: chapters::codecs::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1510,1
    - Dst: chapter_item_c::chapter_item_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1515,1
    - Dst: obj::ParseChapterAtom
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1518,1
    - Dst: chapters::sub_chapters::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1519,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1523,1
    - Dst: KaxChapterAtom*::begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1523,1
    - Dst: KaxChapterAtom*::end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1523,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 80
    argCount: 3
    argNames:
    - i_level
    - ca
    - ' chapters'
    argTypes:
    - int
    - KaxChapterAtom*
    - chapter_item_c
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1363
    functionDepth: 1
    functionLinenumber: 1363
    functionLinenumberEnd: 1524
    functionName: mkv::matroska_segment_c::ParseChapterAtom
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - obj::sys::GetMatroskaScriptInterpreter
    - KaxChapterAtom*::begin
    - obj::ParseChapterAtom
    - debug
    - static_cast<uint32_t>
    - std::string::c_str
    - matroska_script_codec_c::matroska_script_codec_c
    - KaxChapterSegmentEditionUID::KaxChapterSegmentEditionUID
    - chapters::sub_chapters::push_back
    - chapters::codecs::push_back
    - VLC_TICK_FROM_NS
    - chapter_codec_cmds_c*::AddCommand
    - MkvTree
    - GetValue
    - reinterpret_cast<uint64_t*>
    - begin
    - MkvTree_va
    - static_cast<uint8_t>
    - KaxChapterAtom*::end
    - chapter_item_c::chapter_item_c
    - UTFstring
    - static_cast<uint64_t>
    - va_start
    - VLC_FORMAT
    - Dispatcher::Dispatcher
    - var_InheritBool
    - MKV_SWITCH_INIT
    - va_end
    - end
    - dvd_chapter_codec_c::dvd_chapter_codec_c
    - chapters::p_segment_edition_uid::GetBuffer
    - MKV_CHECKED_PTR_DECL_CONST
    - reinterpret_cast<uint32_t*>
    - vlc_object_logger
    - iterate
    - chapter_codec_cmds_c*::SetPrivate
    - chapters::p_segment_uid::GetBuffer
    - KaxChapterSegmentUID::KaxChapterSegmentUID
    - unlikely
    - static_cast<std::string const&>
    - obj::sys::GetDVDInterpretor
    linkageType: ''
    returnType: void
    signature: void matroska_segment_c::ParseChapterAtom( int i_level, KaxChapterAtom
      *ca, chapter_item_c & chapters )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1382,1
    - Dst: VLC_FORMAT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1384,1
    - Dst: va_start
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1386,1
    - Dst: mkv::MkvTree_va
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1387,1
    - Dst: va_end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1388,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1392,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1393,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1397,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1398,1
    - Dst: KaxChapterSegmentUID::KaxChapterSegmentUID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1403,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1406,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1406,1
    - Dst: chapters::p_segment_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1406,1
    - Dst: KaxChapterSegmentEditionUID::KaxChapterSegmentEditionUID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1411,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1413,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1415,1
    - Dst: chapters::p_segment_edition_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1415,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1417,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1423,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1423,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1424,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1428,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1428,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1429,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1433,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1436,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1436,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1436,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1441,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1450,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1450,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1454,1
    - Dst: static_cast<std::string const&>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1454,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1458,1
    - Dst: static_cast<std::string const&>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1458,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1463,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1465,1
    - Dst: MKV_CHECKED_PTR_DECL_CONST
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1472,1
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1474,1
    - Dst: obj::sys::GetMatroskaScriptInterpreter
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1476,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1477,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1478,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1481,1
    - Dst: matroska_script_codec_c::matroska_script_codec_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1480,1
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1485,1
    - Dst: obj::sys::GetDVDInterpretor
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1487,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1488,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1489,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1491,1
    - Dst: dvd_chapter_codec_c::dvd_chapter_codec_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1491,1
    - Dst: MKV_CHECKED_PTR_DECL_CONST
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1501,1
    - Dst: chapter_codec_cmds_c*::SetPrivate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1503,1
    - Dst: MKV_CHECKED_PTR_DECL_CONST
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1505,1
    - Dst: chapter_codec_cmds_c*::AddCommand
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1507,1
    - Dst: chapters::codecs::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1510,1
    - Dst: chapter_item_c::chapter_item_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1515,1
    - Dst: obj::ParseChapterAtom
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1518,1
    - Dst: chapters::sub_chapters::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1519,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1380
    functionDepth: 1
    functionLinenumber: 1380
    functionLinenumberEnd: 1521
    functionName: mkv::MKV_SWITCH_CREATE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - obj::sys::GetMatroskaScriptInterpreter
    - obj::ParseChapterAtom
    - debug
    - static_cast<uint32_t>
    - std::string::c_str
    - matroska_script_codec_c::matroska_script_codec_c
    - KaxChapterSegmentEditionUID::KaxChapterSegmentEditionUID
    - chapters::sub_chapters::push_back
    - chapters::codecs::push_back
    - VLC_TICK_FROM_NS
    - chapter_codec_cmds_c*::AddCommand
    - GetValue
    - reinterpret_cast<uint64_t*>
    - begin
    - static_cast<uint8_t>
    - chapter_item_c::chapter_item_c
    - UTFstring
    - static_cast<uint64_t>
    - va_start
    - VLC_FORMAT
    - var_InheritBool
    - MKV_SWITCH_INIT
    - end
    - va_end
    - dvd_chapter_codec_c::dvd_chapter_codec_c
    - chapters::p_segment_edition_uid::GetBuffer
    - MKV_CHECKED_PTR_DECL_CONST
    - reinterpret_cast<uint32_t*>
    - vlc_object_logger
    - iterate
    - chapter_codec_cmds_c*::SetPrivate
    - chapters::p_segment_uid::GetBuffer
    - mkv::MkvTree_va
    - KaxChapterSegmentUID::KaxChapterSegmentUID
    - unlikely
    - static_cast<std::string const&>
    - obj::sys::GetDVDInterpretor
    linkageType: ''
    returnType: void
    signature: void MKV_SWITCH_CREATE( EbmlTypeDispatcher, ChapterAtomHandlers, ChapterPayload
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1392,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1390
    functionDepth: 0
    functionLinenumber: 1390
    functionLinenumberEnd: 1394
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - debug
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxChapterUID, uid )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1397,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1395
    functionDepth: 0
    functionLinenumber: 1395
    functionLinenumberEnd: 1399
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - debug
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxChapterFlagHidden, flag )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KaxChapterSegmentUID::KaxChapterSegmentUID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1403,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1406,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1406,1
    - Dst: chapters::p_segment_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1407
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1407
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - reinterpret_cast<uint64_t*>
    - KaxChapterSegmentUID::KaxChapterSegmentUID
    - chapters::p_segment_uid::GetBuffer
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxChapterSegmentUID, uid )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KaxChapterSegmentEditionUID::KaxChapterSegmentEditionUID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1411,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1413,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1415,1
    - Dst: chapters::p_segment_edition_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1415,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1420
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - reinterpret_cast<uint32_t*>
    - debug
    - static_cast<uint32_t>
    - KaxChapterSegmentEditionUID::KaxChapterSegmentEditionUID
    - chapters::p_segment_edition_uid::GetBuffer
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxChapterSegmentEditionUID, euid )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1423,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1423,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1425
      start: 1421
    functionDepth: 1
    functionLinenumber: 1421
    functionLinenumberEnd: 1425
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - debug
    - VLC_TICK_FROM_NS
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxChapterTimeStart, start )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1428,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1428,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1426
    functionDepth: 1
    functionLinenumber: 1426
    functionLinenumberEnd: 1430
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - debug
    - VLC_TICK_FROM_NS
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxChapterTimeEnd, end )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1433,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1436,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1436,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1431
    functionDepth: 0
    functionLinenumber: 1431
    functionLinenumberEnd: 1438
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - debug
    - begin
    - end
    - iterate
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxChapterDisplay, chapter_display )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1441,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1450,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1439
    functionDepth: 0
    functionLinenumber: 1439
    functionLinenumberEnd: 1451
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - UTFstring
    - debug
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxChapterString, name )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1454,1
    - Dst: static_cast<std::string const&>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1452
    functionDepth: 0
    functionLinenumber: 1452
    functionLinenumberEnd: 1455
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - debug
    - static_cast<std::string const&>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxChapterLanguage, lang )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1458,1
    - Dst: static_cast<std::string const&>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1456
    functionDepth: 0
    functionLinenumber: 1456
    functionLinenumberEnd: 1459
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - debug
    - static_cast<std::string const&>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxChapterCountry, ct )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1463,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1465,1
    - Dst: MKV_CHECKED_PTR_DECL_CONST
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1472,1
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1474,1
    - Dst: obj::sys::GetMatroskaScriptInterpreter
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1476,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1477,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1478,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1481,1
    - Dst: matroska_script_codec_c::matroska_script_codec_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1480,1
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1485,1
    - Dst: obj::sys::GetDVDInterpretor
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1487,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1488,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1489,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1491,1
    - Dst: dvd_chapter_codec_c::dvd_chapter_codec_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1491,1
    - Dst: MKV_CHECKED_PTR_DECL_CONST
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1501,1
    - Dst: chapter_codec_cmds_c*::SetPrivate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1503,1
    - Dst: MKV_CHECKED_PTR_DECL_CONST
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1505,1
    - Dst: chapter_codec_cmds_c*::AddCommand
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1507,1
    - Dst: chapters::codecs::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1510,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1461
    functionDepth: 1
    functionLinenumber: 1461
    functionLinenumberEnd: 1512
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - chapter_codec_cmds_c*::AddCommand
    - obj::sys::GetMatroskaScriptInterpreter
    - GetValue
    - MKV_CHECKED_PTR_DECL_CONST
    - debug
    - vlc_object_logger
    - var_InheritBool
    - chapter_codec_cmds_c*::SetPrivate
    - matroska_script_codec_c::matroska_script_codec_c
    - chapters::codecs::push_back
    - dvd_chapter_codec_c::dvd_chapter_codec_c
    - unlikely
    - obj::sys::GetDVDInterpretor
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxChapterProcess, cp )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chapter_item_c::chapter_item_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1515,1
    - Dst: obj::ParseChapterAtom
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1518,1
    - Dst: chapters::sub_chapters::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1513
    functionDepth: 0
    functionLinenumber: 1513
    functionLinenumberEnd: 1520
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - chapter_item_c::chapter_item_c
    - chapters::sub_chapters::push_back
    - obj::ParseChapterAtom
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxChapterAtom, atom )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mkv::matroska_segment_c::ReadMaster
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1531,1
    - Dst: FindChild<KaxAttached>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1534,1
    - Dst: KaxAttached*::GetSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1538,1
    - Dst: GetMandatoryChild<KaxFileData>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1540,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1541,1
    - Dst: GetMandatoryChild<KaxFileName>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1541,1
    - Dst: vlc_input_attachment_New
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1542,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1542,1
    - Dst: GetMandatoryChild<KaxMimeType>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1543,1
    - Dst: KaxFileData::GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1545,1
    - Dst: KaxFileData::GetSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1546,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1549,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1552,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1555,1
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1559,1
    - Dst: vlc_meta_SetArtURL
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1560,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1561,1
    - Dst: stored_attachments::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1564,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1564,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1568,1
    - Dst: what
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1568,1
    - Dst: FindNextChild<KaxAttached>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1570,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - attachments
    argTypes:
    - KaxAttachments*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1529
    functionDepth: 2
    functionLinenumber: 1529
    functionLinenumberEnd: 1572
    functionName: mkv::matroska_segment_c::ParseAttachments
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - GetMandatoryChild<KaxFileName>
    - mkv::matroska_segment_c::ReadMaster
    - std::string::c_str
    - stored_attachments::push_back
    - GetMandatoryChild<KaxFileData>
    - asprintf
    - KaxFileData::GetBuffer
    - vlc_meta_New
    - KaxAttached*::GetSize
    - msg_Dbg
    - FindNextChild<KaxAttached>
    - UTFstring
    - FindChild<KaxAttached>
    - strncmp
    - KaxFileData::GetSize
    - vlc::wrap_cptr
    - what
    - vlc_input_attachment_New
    - free
    - vlc_meta_SetArtURL
    - GetMandatoryChild<KaxMimeType>
    linkageType: ''
    returnType: void
    signature: void matroska_segment_c::ParseAttachments( KaxAttachments *attachments
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mkv::matroska_segment_c::ReadMaster
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1579,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1584,1
    - Dst: chapter_edition_c::chapter_edition_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1592,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1596,1
    - Dst: chapter_item_c::chapter_item_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1599,1
    - Dst: obj::ParseChapterAtom
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1600,1
    - Dst: p_edition::sub_chapters::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1601,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1605,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1609,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1609,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1613,1
    - Dst: obj::stored_editions::size
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1614,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1618,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1622,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1623,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1627,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1627,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1630,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1630,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1630,1
    - Dst: "struct EditionPayload {\n                matroska_segment_c * const obj;\n
        \               demux_t            * const p_demuxer;\n                chapter_edition_c
        \ * const p_edition;\n\n            }::obj::stored_editions::push_back"
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1632,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1635,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1636,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1640,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1640,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1644,1
    - Dst: KaxChapters*::begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1644,1
    - Dst: KaxChapters*::end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 1
    argNames:
    - chapters
    argTypes:
    - KaxChapters*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1577
    functionDepth: 1
    functionLinenumber: 1577
    functionLinenumberEnd: 1645
    functionName: mkv::matroska_segment_c::ParseChapters
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - obj::ParseChapterAtom
    - mkv::matroska_segment_c::ReadMaster
    - p_edition::sub_chapters::push_back
    - KaxChapters*::end
    - "struct EditionPayload {\n                matroska_segment_c * const obj;\n
      \               demux_t            * const p_demuxer;\n                chapter_edition_c
      \ * const p_edition;\n\n            }::obj::stored_editions::push_back"
    - begin
    - msg_Dbg
    - KaxChapters*::begin
    - static_cast<uint8_t>
    - chapter_item_c::chapter_item_c
    - static_cast<uint64_t>
    - Dispatcher::Dispatcher
    - var_InheritBool
    - MKV_SWITCH_INIT
    - EBML_NAME
    - end
    - obj::stored_editions::size
    - VLC_UNUSED
    - chapter_edition_c::chapter_edition_c
    linkageType: ''
    returnType: void
    signature: void matroska_segment_c::ParseChapters( KaxChapters *chapters )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1584,1
    - Dst: chapter_edition_c::chapter_edition_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1592,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1596,1
    - Dst: chapter_item_c::chapter_item_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1599,1
    - Dst: obj::ParseChapterAtom
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1600,1
    - Dst: p_edition::sub_chapters::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1601,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1605,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1609,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1609,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1613,1
    - Dst: obj::stored_editions::size
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1614,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1618,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1622,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1623,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1627,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1627,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1630,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1630,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1630,1
    - Dst: "struct EditionPayload {\n                matroska_segment_c * const obj;\n
        \               demux_t            * const p_demuxer;\n                chapter_edition_c
        \ * const p_edition;\n\n            }::obj::stored_editions::push_back"
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1632,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1635,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1636,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1640,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1640,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1642
      start: 1582
    functionDepth: 1
    functionLinenumber: 1582
    functionLinenumberEnd: 1642
    functionName: mkv::MKV_SWITCH_CREATE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - obj::ParseChapterAtom
    - Dispatcher::Dispatcher
    - end
    - begin
    - chapter_edition_c::chapter_edition_c
    - var_InheritBool
    - MKV_SWITCH_INIT
    - p_edition::sub_chapters::push_back
    - msg_Dbg
    - EBML_NAME
    - static_cast<uint8_t>
    - chapter_item_c::chapter_item_c
    - obj::stored_editions::size
    - "struct EditionPayload {\n                matroska_segment_c * const obj;\n
      \               demux_t            * const p_demuxer;\n                chapter_edition_c
      \ * const p_edition;\n\n            }::obj::stored_editions::push_back"
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void MKV_SWITCH_CREATE( EbmlTypeDispatcher, KaxChapterHandler, matroska_segment_c
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: chapter_edition_c::chapter_edition_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1592,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1596,1
    - Dst: chapter_item_c::chapter_item_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1599,1
    - Dst: obj::ParseChapterAtom
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1600,1
    - Dst: p_edition::sub_chapters::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1601,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1605,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1609,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1609,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1613,1
    - Dst: obj::stored_editions::size
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1614,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1618,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1622,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1623,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1627,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1627,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1630,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1630,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1630,1
    - Dst: "struct EditionPayload {\n                matroska_segment_c * const obj;\n
        \               demux_t            * const p_demuxer;\n                chapter_edition_c
        \ * const p_edition;\n\n            }::obj::stored_editions::push_back"
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1632,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1633
      start: 1585
    functionDepth: 1
    functionLinenumber: 1585
    functionLinenumberEnd: 1633
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - static_cast<uint64_t>
    - obj::ParseChapterAtom
    - Dispatcher::Dispatcher
    - end
    - begin
    - chapter_edition_c::chapter_edition_c
    - var_InheritBool
    - MKV_SWITCH_INIT
    - p_edition::sub_chapters::push_back
    - msg_Dbg
    - EBML_NAME
    - static_cast<uint8_t>
    - chapter_item_c::chapter_item_c
    - obj::stored_editions::size
    - "struct EditionPayload {\n                matroska_segment_c * const obj;\n
      \               demux_t            * const p_demuxer;\n                chapter_edition_c
      \ * const p_edition;\n\n            }::obj::stored_editions::push_back"
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxEditionEntry, entry )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1596,1
    - Dst: chapter_item_c::chapter_item_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1599,1
    - Dst: obj::ParseChapterAtom
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1600,1
    - Dst: p_edition::sub_chapters::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1601,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1605,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1609,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1609,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1613,1
    - Dst: obj::stored_editions::size
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1614,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1618,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1622,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1623,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1627,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1627,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1594
    functionDepth: 1
    functionLinenumber: 1594
    functionLinenumberEnd: 1629
    functionName: mkv::MKV_SWITCH_CREATE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - obj::ParseChapterAtom
    - var_InheritBool
    - MKV_SWITCH_INIT
    - p_edition::sub_chapters::push_back
    - msg_Dbg
    - EBML_NAME
    - static_cast<uint8_t>
    - chapter_item_c::chapter_item_c
    - obj::stored_editions::size
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void MKV_SWITCH_CREATE( EbmlTypeDispatcher, KaxEditionHandler, EditionPayload
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chapter_item_c::chapter_item_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1599,1
    - Dst: obj::ParseChapterAtom
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1600,1
    - Dst: p_edition::sub_chapters::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1597
    functionDepth: 0
    functionLinenumber: 1597
    functionLinenumberEnd: 1602
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - chapter_item_c::chapter_item_c
    - p_edition::sub_chapters::push_back
    - obj::ParseChapterAtom
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxChapterAtom, chapter_atom )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1603
    functionDepth: 0
    functionLinenumber: 1603
    functionLinenumberEnd: 1606
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxEditionUID, euid )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1609,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1609,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1607
    functionDepth: 1
    functionLinenumber: 1607
    functionLinenumberEnd: 1610
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - var_InheritBool
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxEditionFlagOrdered, flag_ordered )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1613,1
    - Dst: obj::stored_editions::size
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1614,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1615
      start: 1611
    functionDepth: 0
    functionLinenumber: 1611
    functionLinenumberEnd: 1615
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - obj::stored_editions::size
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxEditionFlagDefault, flag_default )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1616
    functionDepth: 0
    functionLinenumber: 1616
    functionLinenumberEnd: 1619
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxEditionFlagHidden, flag_hidden )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1622,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1620
    functionDepth: 1
    functionLinenumber: 1620
    functionLinenumberEnd: 1624
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void E_CASE( EbmlVoid, el )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1627,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1625
    functionDepth: 1
    functionLinenumber: 1625
    functionLinenumberEnd: 1628
    functionName: mkv::E_CASE_DEFAULT
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - EBML_NAME
    linkageType: ''
    returnType: void
    signature: void E_CASE_DEFAULT( el )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1635,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1637
      start: 1634
    functionDepth: 1
    functionLinenumber: 1634
    functionLinenumberEnd: 1637
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void E_CASE( EbmlVoid, el )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1640,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1638
    functionDepth: 1
    functionLinenumber: 1638
    functionLinenumberEnd: 1641
    functionName: mkv::E_CASE_DEFAULT
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - EBML_NAME
    linkageType: ''
    returnType: void
    signature: void E_CASE_DEFAULT( el )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mkv::matroska_segment_c::ReadMaster
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1652,1
    - Dst: FindChild<KaxClusterTimestamp>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1655,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1658,1
    - Dst: KaxCluster*::InitTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1662,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1662,1
    - Dst: add_cluster
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1663,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1666,1
    - Dst: KaxCluster*::GlobalTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1666,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - cluster
    - b_update_start_time
    - read_fully
    argTypes:
    - KaxCluster*
    - bool
    - ScopeMode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1647
    functionDepth: 1
    functionLinenumber: 1647
    functionLinenumberEnd: 1669
    functionName: mkv::matroska_segment_c::ParseCluster
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - FindChild<KaxClusterTimestamp>
    - static_cast<uint64_t>
    - KaxCluster*::InitTimestamp
    - add_cluster
    - msg_Err
    - mkv::matroska_segment_c::ReadMaster
    - VLC_TICK_FROM_NS
    - KaxCluster*::GlobalTimestamp
    linkageType: ''
    returnType: bool
    signature: bool matroska_segment_c::ParseCluster( KaxCluster *cluster, bool b_update_start_time,
      ScopeMode read_fully )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1673
      start: 1671
    functionDepth: 0
    functionLinenumber: 1671
    functionLinenumberEnd: 1673
    functionName: ONLY_FMT
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ONLY_FMT(t)
  - BBCount: 65
    BranchProfiles: []
    Callsites:
    - Dst: mkv_track_t*::codec::empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1676,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1678,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1694,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1696,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1699,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1704,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1707,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1708,1
    - Dst: GetFOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1709,1
    - Dst: std::min
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1712,1
    - Dst: static_cast<size_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1712,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1712,1
    - Dst: xmalloc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1717,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1718,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1719,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1723,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1732,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1734,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1736,1
    - Dst: strstr
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1739,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1741,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1743,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1746,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1756,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1756,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1758,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1763,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1765,1
    - Dst: v_real_helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1765,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1766,1
    - Dst: v_real_helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1766,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1767,1
    - Dst: v_real_helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1767,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1768,1
    - Dst: v_real_helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1768,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1769,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1772,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1778,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1784,1
    - Dst: static_cast<const uint8_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1787,1
    - Dst: es_format_HasVpxAlpha
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1800,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1818,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1822,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1826,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1829,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1832,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1835,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1838,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1839,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1840,1
    - Dst: S_CASE_GLOB
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1842,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1844,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1846,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1857,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1863,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1865,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1867,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1869,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1870,1
    - Dst: MP4_BoxNew
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1873,1
    - Dst: vlc_stream_MemoryNew
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1876,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1876,1
    - Dst: GetFOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1882,1
    - Dst: MP4_ReadBox_sample_vide
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1884,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1893,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1897,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1901,1
    - Dst: MP4_BoxFree
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1903,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1906,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1908,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1912,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1914,1
    - Dst: vlc_fourcc_GetDescription
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1917,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1921,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1925,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1929,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1931,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1933,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1935,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1937,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1943,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1948,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1950,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1951,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1952,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1953,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1954,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1956,1
    - Dst: xmalloc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1961,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1963,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1968,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1973,1
    - Dst: sf_tag_to_fourcc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1975,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1982,1
    - Dst: getChannelMask
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1986,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1993,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2000,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2009,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2025,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2045,1
    - Dst: vlc_fourcc_GetCodecAudio
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2051,1
    - Dst: aout_CheckChannelReorder
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2055,1
    - Dst: wf_tag_to_fourcc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2066,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2069,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2073,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2078,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2086,1
    - Dst: A_MPEG_helper_
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2086,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2087,1
    - Dst: A_MPEG_helper_
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2087,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2088,1
    - Dst: A_MPEG_helper_
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2088,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2089,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2090,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2101,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2102,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2106,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2110,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2114,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2115,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2119,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2121,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2123,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2125,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2128,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2133,1
    - Dst: static_cast<const void *>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2139,1
    - Dst: static_cast<const void *>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2140,1
    - Dst: xiph_PackHeaders
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2142,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2145,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2147,1
    - Dst: A_OPUS__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2147,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2148,1
    - Dst: A_OPUS__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2148,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2150,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2169,1
    - Dst: xmalloc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2172,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2188,1
    - Dst: A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2188,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2189,1
    - Dst: A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2189,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2190,1
    - Dst: A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2190,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2191,1
    - Dst: A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2191,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2192,1
    - Dst: A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2192,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2193,1
    - Dst: A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2193,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2194,1
    - Dst: A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2194,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2195,1
    - Dst: A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2195,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2196,1
    - Dst: A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2196,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2197,1
    - Dst: A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2197,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2198,1
    - Dst: A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2198,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2199,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2201,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2203,1
    - Dst: fill_extra_data_alac
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2205,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2207,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2209,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2211,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2212,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2219,1
    - Dst: xmalloc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2224,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2226,1
    - Dst: SetWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2227,1
    - Dst: SetWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2228,1
    - Dst: SetWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2229,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2230,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2231,1
    - Dst: memset
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2232,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2236,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2241,1
    - Dst: A_PCM__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2241,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2241,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2242,1
    - Dst: A_PCM__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2242,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2242,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2243,1
    - Dst: A_PCM__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2243,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2243,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2244,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2245,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2252,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2258,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2259,1
    - Dst: Cook_PrivateTrackData::Cook_PrivateTrackData
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2271,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2277,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2278,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2280,1
    - Dst: Cook_PrivateTrackData*::Init
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2280,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2281,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2291,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2293,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2295,1
    - Dst: A_REAL__is_valid
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2296,1
    - Dst: A_REAL__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2299,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2301,1
    - Dst: A_REAL__is_valid
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2302,1
    - Dst: A_REAL__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2305,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2307,1
    - Dst: A_REAL__is_valid
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2308,1
    - Dst: A_REAL__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2311,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2313,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2317,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2319,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2323,1
    - Dst: S_CASE_GLOB
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2325,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2327,1
    - Dst: GetFOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2330,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2332,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2334,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2335,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2337,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2339,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2341,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2342,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2344,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2346,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2347,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2349,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2351,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2352,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2354,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2355,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2358,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2360,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2361,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2363,1
    - Dst: SSA__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2363,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2364,1
    - Dst: SSA__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2364,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2365,1
    - Dst: SSA__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2365,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2366,1
    - Dst: SSA__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2366,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2367,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2368,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2373,1
    - Dst: vobsub_extra_parse
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2375,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2375,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2379,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2381,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2385,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2387,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2388,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2392,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2395,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2398,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2399,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2401,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2403,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2404,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2406,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2407,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2409,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2413,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2419,1
    - Dst: mkv_track_t*::codec::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2419,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2423,1
    - Dst: mkv_track_t*::codec::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2424,1
    - Dst: what
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2424,1
    CyclomaticComplexity: 96
    EdgeCount: 96
    ICount: 578
    argCount: 1
    argNames:
    - p_tk
    argTypes:
    - mkv_track_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2429
      start: 1674
    functionDepth: 4
    functionLinenumber: 1674
    functionLinenumberEnd: 2429
    functionName: mkv::matroska_segment_c::TrackInit
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - A_AAC_MPEG__helper
    - strchr
    - GetWLE
    - xiph_PackHeaders
    - memcpy
    - sf_tag_to_fourcc
    - vlc_stream_MemoryNew
    - fill_extra_data_alac
    - memcmp
    - std::runtime_error
    - A_REAL__helper
    - vlc_fourcc_GetDescription
    - static_cast<size_t>
    - ARRAY_SIZE
    - Cook_PrivateTrackData*::Init
    - mkv_track_t*::codec::c_str
    - MP4_BoxNew
    - S_CASE_GLOB
    - msg_Err
    - fill_extra_data
    - SetDWLE
    - msg_Dbg
    - strstr
    - static_cast<const void *>
    - msg_Warn
    - A_OPUS__helper
    - getChannelMask
    - vobsub_extra_parse
    - VLC_FOURCC
    - es_format_HasVpxAlpha
    - GetFOURCC
    - Cook_PrivateTrackData::Cook_PrivateTrackData
    - strdup
    - wf_tag_to_fourcc
    - Dispatcher::Dispatcher
    - SetWLE
    - MKV_SWITCH_INIT
    - MP4_BoxFree
    - S_CASE
    - A_REAL__is_valid
    - likely
    - vlc_fourcc_GetCodecAudio
    - mkv_track_t*::codec::empty
    - ONLY_FMT
    - GetWBE
    - A_MPEG_helper_
    - A_PCM__helper
    - aout_CheckChannelReorder
    - memset
    - SSA__helper
    - std::min
    - vlc_stream_Delete
    - what
    - xmalloc
    - GetDWLE
    - VLC_OBJECT
    - MP4_ReadBox_sample_vide
    - v_real_helper
    - unlikely
    - malloc
    - static_cast<const uint8_t*>
    linkageType: ''
    returnType: bool
    signature: bool matroska_segment_c::TrackInit( mkv_track_t * p_tk )
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1694,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1696,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1699,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1704,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1707,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1708,1
    - Dst: GetFOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1709,1
    - Dst: std::min
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1712,1
    - Dst: static_cast<size_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1712,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1712,1
    - Dst: xmalloc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1717,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1718,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1719,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1723,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1732,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1734,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1736,1
    - Dst: strstr
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1739,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1741,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1743,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1746,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1756,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1756,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1758,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1763,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1765,1
    - Dst: mkv::v_real_helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1765,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1766,1
    - Dst: mkv::v_real_helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1766,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1767,1
    - Dst: mkv::v_real_helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1767,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1768,1
    - Dst: mkv::v_real_helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1768,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1769,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1772,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1778,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1784,1
    - Dst: static_cast<const uint8_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1787,1
    - Dst: es_format_HasVpxAlpha
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1800,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1818,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1822,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1826,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1829,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1832,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1835,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1838,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1839,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1840,1
    - Dst: S_CASE_GLOB
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1842,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1844,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1846,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1857,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1863,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1865,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1867,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1869,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1870,1
    - Dst: MP4_BoxNew
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1873,1
    - Dst: vlc_stream_MemoryNew
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1876,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1876,1
    - Dst: GetFOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1882,1
    - Dst: MP4_ReadBox_sample_vide
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1884,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1893,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1897,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1901,1
    - Dst: MP4_BoxFree
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1903,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1906,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1908,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1912,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1914,1
    - Dst: vlc_fourcc_GetDescription
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1917,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1921,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1925,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1929,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1931,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1933,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1935,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1937,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1943,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1948,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1950,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1951,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1952,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1953,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1954,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1956,1
    - Dst: xmalloc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1961,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1963,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1968,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1973,1
    - Dst: sf_tag_to_fourcc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1975,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1982,1
    - Dst: getChannelMask
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1986,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1993,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2000,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2009,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2025,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2045,1
    - Dst: vlc_fourcc_GetCodecAudio
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2051,1
    - Dst: aout_CheckChannelReorder
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2055,1
    - Dst: wf_tag_to_fourcc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2066,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2069,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2073,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2078,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2086,1
    - Dst: mkv::A_MPEG_helper_
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2086,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2087,1
    - Dst: mkv::A_MPEG_helper_
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2087,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2088,1
    - Dst: mkv::A_MPEG_helper_
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2088,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2089,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2090,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2101,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2102,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2106,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2110,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2114,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2115,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2119,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2121,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2123,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2125,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2128,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2133,1
    - Dst: static_cast<const void *>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2139,1
    - Dst: static_cast<const void *>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2140,1
    - Dst: xiph_PackHeaders
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2142,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2145,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2147,1
    - Dst: mkv::A_OPUS__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2147,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2148,1
    - Dst: mkv::A_OPUS__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2148,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2150,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2169,1
    - Dst: xmalloc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2172,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2188,1
    - Dst: mkv::A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2188,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2189,1
    - Dst: mkv::A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2189,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2190,1
    - Dst: mkv::A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2190,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2191,1
    - Dst: mkv::A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2191,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2192,1
    - Dst: mkv::A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2192,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2193,1
    - Dst: mkv::A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2193,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2194,1
    - Dst: mkv::A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2194,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2195,1
    - Dst: mkv::A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2195,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2196,1
    - Dst: mkv::A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2196,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2197,1
    - Dst: mkv::A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2197,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2198,1
    - Dst: mkv::A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2198,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2199,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2201,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2203,1
    - Dst: mkv::fill_extra_data_alac
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2205,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2207,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2209,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2211,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2212,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2219,1
    - Dst: xmalloc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2224,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2226,1
    - Dst: SetWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2227,1
    - Dst: SetWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2228,1
    - Dst: SetWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2229,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2230,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2231,1
    - Dst: memset
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2232,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2236,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2241,1
    - Dst: mkv::A_PCM__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2241,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2241,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2242,1
    - Dst: mkv::A_PCM__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2242,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2242,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2243,1
    - Dst: mkv::A_PCM__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2243,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2243,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2244,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2245,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2252,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2258,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2259,1
    - Dst: Cook_PrivateTrackData::Cook_PrivateTrackData
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2271,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2277,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2278,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2280,1
    - Dst: Cook_PrivateTrackData*::Init
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2280,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2281,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2291,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2293,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2295,1
    - Dst: mkv::A_REAL__is_valid
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2296,1
    - Dst: mkv::A_REAL__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2299,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2301,1
    - Dst: mkv::A_REAL__is_valid
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2302,1
    - Dst: mkv::A_REAL__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2305,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2307,1
    - Dst: mkv::A_REAL__is_valid
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2308,1
    - Dst: mkv::A_REAL__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2311,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2313,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2317,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2319,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2323,1
    - Dst: S_CASE_GLOB
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2325,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2327,1
    - Dst: GetFOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2330,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2332,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2334,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2335,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2337,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2339,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2341,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2342,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2344,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2346,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2347,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2349,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2351,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2352,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2354,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2355,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2358,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2360,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2361,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2363,1
    - Dst: mkv::SSA__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2363,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2364,1
    - Dst: mkv::SSA__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2364,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2365,1
    - Dst: mkv::SSA__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2365,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2366,1
    - Dst: mkv::SSA__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2366,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2367,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2368,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2373,1
    - Dst: vobsub_extra_parse
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2375,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2375,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2379,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2381,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2385,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2387,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2388,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2392,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2395,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2398,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2399,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2401,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2403,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2404,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2406,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2407,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2409,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2413,1
    CyclomaticComplexity: 94
    EdgeCount: 94
    ICount: 564
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2416
      start: 1692
    functionDepth: 4
    functionLinenumber: 1692
    functionLinenumberEnd: 2416
    functionName: mkv::MKV_SWITCH_CREATE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - strchr
    - GetWLE
    - xiph_PackHeaders
    - memcpy
    - mkv::fill_extra_data_alac
    - sf_tag_to_fourcc
    - vlc_stream_MemoryNew
    - mkv::SSA__helper
    - mkv::A_PCM__helper
    - memcmp
    - std::runtime_error
    - vlc_fourcc_GetDescription
    - static_cast<size_t>
    - ARRAY_SIZE
    - Cook_PrivateTrackData*::Init
    - MP4_BoxNew
    - S_CASE_GLOB
    - msg_Err
    - mkv::A_OPUS__helper
    - SetDWLE
    - msg_Dbg
    - strstr
    - static_cast<const void *>
    - msg_Warn
    - getChannelMask
    - vobsub_extra_parse
    - VLC_FOURCC
    - mkv::fill_extra_data
    - GetFOURCC
    - es_format_HasVpxAlpha
    - mkv::A_AAC_MPEG__helper
    - Cook_PrivateTrackData::Cook_PrivateTrackData
    - strdup
    - wf_tag_to_fourcc
    - mkv::A_MPEG_helper_
    - SetWLE
    - MKV_SWITCH_INIT
    - MP4_BoxFree
    - S_CASE
    - likely
    - vlc_fourcc_GetCodecAudio
    - mkv::A_REAL__helper
    - ONLY_FMT
    - GetWBE
    - mkv::v_real_helper
    - aout_CheckChannelReorder
    - memset
    - std::min
    - vlc_stream_Delete
    - xmalloc
    - GetDWLE
    - mkv::A_REAL__is_valid
    - VLC_OBJECT
    - MP4_ReadBox_sample_vide
    - unlikely
    - malloc
    - static_cast<const uint8_t*>
    linkageType: ''
    returnType: void
    signature: void MKV_SWITCH_CREATE( StringDispatcher, TrackCodecHandlers, HandlerPayload
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1756,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1756,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1758,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1763,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - codec
    - ' vars'
    argTypes:
    - vlc_fourcc_t
    - HandlerPayload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1748
    functionDepth: 2
    functionLinenumber: 1748
    functionLinenumberEnd: 1764
    functionName: mkv::v_real_helper
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - mkv::fill_extra_data
    - ONLY_FMT
    - strchr
    - memcmp
    linkageType: ''
    returnType: void
    signature: void v_real_helper (vlc_fourcc_t codec, HandlerPayload& vars)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - HandlerPayload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2085
      start: 2082
    functionDepth: 0
    functionLinenumber: 2082
    functionLinenumberEnd: 2085
    functionName: mkv::A_MPEG_helper_
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void A_MPEG_helper_ (HandlerPayload& vars)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2128,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2133,1
    - Dst: static_cast<const void *>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2139,1
    - Dst: static_cast<const void *>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2140,1
    - Dst: xiph_PackHeaders
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2142,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - HandlerPayload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2146
      start: 2127
    functionDepth: 2
    functionLinenumber: 2127
    functionLinenumberEnd: 2146
    functionName: mkv::A_OPUS__helper
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - xiph_PackHeaders
    - ONLY_FMT
    - static_cast<const void *>
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void A_OPUS__helper(HandlerPayload& vars)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2150,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2169,1
    - Dst: xmalloc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - ' vars'
    - i_profile
    argTypes:
    - HandlerPayload
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2187
      start: 2149
    functionDepth: 1
    functionLinenumber: 2149
    functionLinenumberEnd: 2187
    functionName: mkv::A_AAC_MPEG__helper
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - ONLY_FMT
    - xmalloc
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void A_AAC_MPEG__helper(HandlerPayload& vars, int i_profile, bool sbr
      = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' vars'
    - i_codec
    argTypes:
    - HandlerPayload
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2240
      start: 2235
    functionDepth: 1
    functionLinenumber: 2235
    functionLinenumberEnd: 2240
    functionName: mkv::A_PCM__helper
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - ONLY_FMT
    linkageType: ''
    returnType: void
    signature: void A_PCM__helper (HandlerPayload& vars, vlc_fourcc_t i_codec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2252,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2258,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - HandlerPayload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2265
      start: 2251
    functionDepth: 1
    functionLinenumber: 2251
    functionLinenumberEnd: 2265
    functionName: mkv::A_REAL__is_valid
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - ONLY_FMT
    - memcmp
    - msg_Err
    linkageType: ''
    returnType: bool
    signature: bool A_REAL__is_valid (HandlerPayload& vars)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Cook_PrivateTrackData::Cook_PrivateTrackData
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2271,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2277,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2278,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2280,1
    - Dst: Cook_PrivateTrackData*::Init
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2280,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2281,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2291,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - ' vars'
    - i_codec
    argTypes:
    - HandlerPayload
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2294
      start: 2266
    functionDepth: 2
    functionLinenumber: 2266
    functionLinenumberEnd: 2294
    functionName: mkv::A_REAL__helper
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - mkv::fill_extra_data
    - Cook_PrivateTrackData::Cook_PrivateTrackData
    - Cook_PrivateTrackData*::Init
    - msg_Dbg
    - unlikely
    - std::runtime_error
    linkageType: ''
    returnType: void
    signature: void A_REAL__helper (HandlerPayload& vars, vlc_fourcc_t i_codec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2358,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2360,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - HandlerPayload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2362
      start: 2357
    functionDepth: 2
    functionLinenumber: 2357
    functionLinenumberEnd: 2362
    functionName: mkv::SSA__helper
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - mkv::fill_extra_data
    - ONLY_FMT
    - strdup
    linkageType: ''
    returnType: void
    signature: void SSA__helper (HandlerPayload& vars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2415
      start: 2412
    functionDepth: 1
    functionLinenumber: 2412
    functionLinenumberEnd: 2415
    functionName: mkv::S_CASE_DEFAULT
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void S_CASE_DEFAULT(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: GetFOURCC
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GetFOURCC( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: mkv::__GetFOURCC
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t __GetFOURCC( uint8_t *p )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:60,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:61,1
    - Dst: static_cast<uint8_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:63,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:66,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:67,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:68,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - p_tk
    argTypes:
    - mkv_track_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 70
    functionName: mkv::fill_extra_data_alac
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 1
    functionsReached:
    - memcpy
    - static_cast<uint8_t*>
    - SetDWBE
    - unlikely
    - malloc
    linkageType: ''
    returnType: void
    signature: void fill_extra_data_alac( mkv_track_t *p_tk )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:76,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - p_tk
    - offset
    argTypes:
    - mkv_track_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: mkv::fill_extra_data
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - xmalloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: void fill_extra_data( mkv_track_t *p_tk, unsigned int offset )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UTFstring::GetUTF8
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - UTFstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: mkv::ToUTF8Const
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 3
    functionsReached:
    - UTFstring::GetUTF8
    linkageType: ''
    returnType: char
    signature: char * ToUTF8Const( const UTFstring &u )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:91,1
    - Dst: mkv::ToUTF8Const
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - UTFstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: mkv::ToUTF8
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - strdup
    - mkv::ToUTF8Const
    linkageType: ''
    returnType: char
    signature: char * ToUTF8( const UTFstring &u )
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: EbmlParser::Get
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:108,1
    - Dst: MKV_IS_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:110,1
    - Dst: EBML_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:112,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:116,1
    - Dst: EbmlParser::Down
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:118,1
    - Dst: EbmlParser::Get
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:121,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:123,1
    - Dst: EbmlElement*::ValidateSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:123,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:125,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:125,1
    - Dst: MKV_IS_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:128,1
    - Dst: static_cast<KaxSeekID*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:130,1
    - Dst: KaxSeekID::ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:131,1
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:131,1
    - Dst: EbmlId
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:132,1
    - Dst: KaxSeekID::GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:132,1
    - Dst: KaxSeekID::GetSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:132,1
    - Dst: MKV_IS_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:134,1
    - Dst: static_cast<KaxSeekPosition*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:136,1
    - Dst: KaxSeekPosition::ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:137,1
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:137,1
    - Dst: GetGlobalPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:138,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:138,1
    - Dst: MKV_IS_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:140,1
    - Dst: MKV_IS_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:140,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:143,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:143,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:149,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:149,1
    - Dst: EbmlParser::Up
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:151,1
    - Dst: EBML_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:155,1
    - Dst: add_cluster_position
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:157,1
    - Dst: EBML_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:159,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:161,1
    - Dst: mkv::matroska_segment_c::LoadSeekHeadItem
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:162,1
    - Dst: EBML_INFO
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:162,1
    - Dst: EBML_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:164,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:166,1
    - Dst: mkv::matroska_segment_c::LoadSeekHeadItem
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:167,1
    - Dst: EBML_INFO
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:167,1
    - Dst: EBML_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:169,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:171,1
    - Dst: mkv::matroska_segment_c::LoadSeekHeadItem
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:172,1
    - Dst: EBML_INFO
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:172,1
    - Dst: EBML_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:174,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:176,1
    - Dst: mkv::matroska_segment_c::LoadSeekHeadItem
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:177,1
    - Dst: EBML_INFO
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:177,1
    - Dst: EBML_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:179,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:181,1
    - Dst: mkv::matroska_segment_c::LoadSeekHeadItem
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:182,1
    - Dst: EBML_INFO
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:182,1
    - Dst: EBML_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:184,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:186,1
    - Dst: mkv::matroska_segment_c::LoadSeekHeadItem
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:187,1
    - Dst: EBML_INFO
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:187,1
    - Dst: EBML_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:189,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:191,1
    - Dst: mkv::matroska_segment_c::LoadSeekHeadItem
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:192,1
    - Dst: EBML_INFO
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:192,1
    - Dst: EBML_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:195,1
    - Dst: EBML_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:195,1
    - Dst: EBML_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:196,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:197,1
    - Dst: MKV_IS_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:201,1
    - Dst: MKV_IS_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:201,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:202,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:202,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 68
    argCount: 1
    argNames:
    - seekhead
    argTypes:
    - KaxSeekHead*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 204
    functionName: mkv::matroska_segment_c::ParseSeekHead
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - EbmlElement*::ValidateSize
    - EbmlParser::Down
    - KaxSeekID::GetBuffer
    - KaxSeekID::ReadData
    - EbmlParser::Up
    - EBML_INFO
    - MKV_IS_ID
    - msg_Err
    - msg_Dbg
    - static_cast<uint64_t>
    - EbmlId
    - GetGlobalPosition
    - static_cast<KaxSeekID*>
    - I_O
    - EbmlParser::Get
    - mkv::matroska_segment_c::LoadSeekHeadItem
    - EBML_NAME
    - static_cast<KaxSeekPosition*>
    - add_cluster_position
    - KaxSeekID::GetSize
    - KaxSeekPosition::ReadData
    - EBML_ID
    - unlikely
    linkageType: ''
    returnType: void
    signature: void matroska_segment_c::ParseSeekHead( KaxSeekHead *seekhead )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 211
    functionName: ONLY_FMT
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ONLY_FMT(t)
  - BBCount: 136
    BranchProfiles: []
    Callsites:
    - Dst: GetMandatoryChild<KaxTrackType>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:217,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:220,1
    - Dst: what
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:220,1
    - Dst: mkv_track_t::mkv_track_t
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:243,1
    - Dst: MkvTree
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:245,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:280,1
    - Dst: VLC_FORMAT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:282,1
    - Dst: va_start
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:284,1
    - Dst: MkvTree_va
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:285,1
    - Dst: va_end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:286,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:290,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:291,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:295,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:295,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:301,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:320,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:324,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:325,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:329,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:330,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:334,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:336,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:340,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:340,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:344,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:344,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:348,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:348,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:352,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:352,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:353,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:357,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:359,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:363,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:363,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:367,1
    - Dst: ToUTF8
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:368,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:368,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:369,1
    - Dst: std::string::find_first_of
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:374,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:375,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:376,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:376,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:376,1
    - Dst: std::string::find_first_of
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:387,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:388,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:389,1
    - Dst: lang::empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:389,1
    - Dst: lang::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:389,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:394,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:395,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:395,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:399,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:402,1
    - Dst: static_cast<uint8_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:403,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:403,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:405,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:406,1
    - Dst: GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:406,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:409,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:409,1
    - Dst: static_cast<UTFstring const&>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:413,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:414,1
    - Dst: tk::str_codec_name::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:414,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:419,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:419,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:423,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:423,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:428,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:428,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:429,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:434,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:434,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:435,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:440,1
    - Dst: ListSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:442,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:444,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:449,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:449,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:449,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:454,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:457,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:457,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:457,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:462,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:462,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:466,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:467,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:471,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:471,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:475,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:480,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:480,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:480,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:485,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:486,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:491,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:497,1
    - Dst: KaxContentCompSettings::KaxContentCompSettings
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:499,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:503,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:504,1
    - Dst: static_cast<unsigned>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:512,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:517,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:517,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:517,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:540,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:550,1
    - Dst: add_overflow
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:558,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:560,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:564,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:566,1
    - Dst: add_overflow
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:573,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:575,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:579,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:581,1
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:606,1
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:611,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:621,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:622,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:622,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:623,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:629,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:630,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:633,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:633,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:633,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:638,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:639,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:651,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:651,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:657,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:658,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:662,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:663,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:667,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:668,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:673,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:674,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:674,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:678,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:680,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:703,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:703,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:705,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:705,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:709,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:710,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:711,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:715,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:716,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:717,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:721,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:722,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:723,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:727,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:728,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:729,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:733,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:734,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:735,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:739,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:740,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:741,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:745,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:746,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:747,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:751,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:752,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:753,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:757,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:758,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:768,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:772,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:773,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:773,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:777,1
    - Dst: std::max
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:778,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:778,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:779,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:783,1
    - Dst: ValidateSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:784,1
    - Dst: GetFOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:786,1
    - Dst: GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:786,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:787,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:793,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:795,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:799,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:799,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:799,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:804,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:806,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:818,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:818,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:820,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:824,1
    - Dst: iso_23001_transfer_to_vlc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:825,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:825,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:827,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:858,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:858,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:860,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:860,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:862,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:866,1
    - Dst: iso_23001_primaries_to_vlc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:867,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:867,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:869,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:890,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:890,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:892,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:892,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:894,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:898,1
    - Dst: iso_23001_matrix_coeffs_to_vlc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:899,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:899,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:901,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:927,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:927,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:929,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:929,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:931,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:935,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:937,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:938,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:944,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:944,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:946,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:950,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:952,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:953,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:959,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:959,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:961,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:965,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:966,1
    - Dst: static_cast<uint16_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:967,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:971,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:972,1
    - Dst: static_cast<uint16_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:973,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:977,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:979,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:983,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:983,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:983,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:988,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:989,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:990,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:994,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:995,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:996,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1000,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1001,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1002,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1006,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1007,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1008,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1012,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1013,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1014,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1018,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1019,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1020,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1024,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1025,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1026,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1030,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1031,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1032,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1036,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1037,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1038,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1042,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1043,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1044,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1048,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1049,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1051,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1051,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1051,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1056,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1057,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1062,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1066,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1067,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1068,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1072,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1073,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1074,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1078,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1079,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1080,1
    - Dst: E_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1082,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1083,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1086,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1086,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1090,1
    - Dst: KaxTrackEntry*::begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1090,1
    - Dst: KaxTrackEntry*::end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1090,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1094,1
    - Dst: vlc_find_iso639
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1101,1
    - Dst: "struct MetaDataCapture {\n      matroska_segment_c * obj;\n      mkv_track_t
        \       * tk;\n      demux_t            * p_demuxer;\n      bool&                bSupported;\n
        \     int                  level;\n      std::string          lang;\n      bool
        \                lang_is_ietf;\n      struct {\n        unsigned int i_crop_right;\n
        \       unsigned int i_crop_left;\n        unsigned int i_crop_top;\n        unsigned
        int i_crop_bottom;\n        unsigned int i_display_unit;\n        unsigned
        int i_display_width;\n        unsigned int i_display_height;\n\n        unsigned
        int chroma_sit_vertical;\n        unsigned int chroma_sit_horizontal;\n      }
        track_video_info;\n\n      struct {\n          float yaw;\n          float
        pitch;\n          float roll;\n      } pose;\n\n    }::lang::c_str"
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1101,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1103,1
    - Dst: "struct MetaDataCapture {\n      matroska_segment_c * obj;\n      mkv_track_t
        \       * tk;\n      demux_t            * p_demuxer;\n      bool&                bSupported;\n
        \     int                  level;\n      std::string          lang;\n      bool
        \                lang_is_ietf;\n      struct {\n        unsigned int i_crop_right;\n
        \       unsigned int i_crop_left;\n        unsigned int i_crop_top;\n        unsigned
        int i_crop_bottom;\n        unsigned int i_display_unit;\n        unsigned
        int i_display_width;\n        unsigned int i_display_height;\n\n        unsigned
        int chroma_sit_vertical;\n        unsigned int chroma_sit_horizontal;\n      }
        track_video_info;\n\n      struct {\n          float yaw;\n          float
        pitch;\n          float roll;\n      } pose;\n\n    }::lang::c_str"
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1103,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1104,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1105,1
    - Dst: "struct MetaDataCapture {\n      matroska_segment_c * obj;\n      mkv_track_t
        \       * tk;\n      demux_t            * p_demuxer;\n      bool&                bSupported;\n
        \     int                  level;\n      std::string          lang;\n      bool
        \                lang_is_ietf;\n      struct {\n        unsigned int i_crop_right;\n
        \       unsigned int i_crop_left;\n        unsigned int i_crop_top;\n        unsigned
        int i_crop_bottom;\n        unsigned int i_display_unit;\n        unsigned
        int i_display_width;\n        unsigned int i_display_height;\n\n        unsigned
        int chroma_sit_vertical;\n        unsigned int chroma_sit_horizontal;\n      }
        track_video_info;\n\n      struct {\n          float yaw;\n          float
        pitch;\n          float roll;\n      } pose;\n\n    }::lang::c_str"
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1105,1
    - Dst: vlc_viewpoint_from_euler
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1107,1
    - Dst: zlib_decompress_extra
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1116,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1118,1
    - Dst: lzo1x_decompress_extra
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1126,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1128,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1135,1
    - Dst: mkv::matroska_segment_c::TrackInit
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1140,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1142,1
    - Dst: insert
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1147,1
    - Dst: std::make_pair
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1147,1
    - Dst: std::unique_ptr<mkv_track_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1147,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1151,1
    CyclomaticComplexity: 133
    EdgeCount: 133
    ICount: 681
    argCount: 1
    argNames:
    - m
    argTypes:
    - KaxTrackEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 211
    functionDepth: 5
    functionLinenumber: 211
    functionLinenumberEnd: 1154
    functionName: mkv::matroska_segment_c::ParseTrackEntry
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - static_cast<uint32_t>
    - debug
    - memcpy
    - iso_23001_primaries_to_vlc
    - vlc_find_iso639
    - std::string::c_str
    - KaxContentCompSettings::KaxContentCompSettings
    - std::max
    - VLC_TICK_FROM_NS
    - ValidateSize
    - MkvTree
    - begin
    - MkvTree_va
    - ListSize
    - msg_Err
    - static_cast<float>
    - msg_Dbg
    - mkv_track_t::mkv_track_t
    - tk::str_codec_name::c_str
    - static_cast<uint8_t>
    - msg_Warn
    - E_CASE
    - UTFstring
    - GetFOURCC
    - static_cast<UTFstring const&>
    - static_cast<uint64_t>
    - strdup
    - va_start
    - VLC_FORMAT
    - Dispatcher::Dispatcher
    - std::make_pair
    - "struct MetaDataCapture {\n      matroska_segment_c * obj;\n      mkv_track_t
      \       * tk;\n      demux_t            * p_demuxer;\n      bool&                bSupported;\n
      \     int                  level;\n      std::string          lang;\n      bool
      \                lang_is_ietf;\n      struct {\n        unsigned int i_crop_right;\n
      \       unsigned int i_crop_left;\n        unsigned int i_crop_top;\n        unsigned
      int i_crop_bottom;\n        unsigned int i_display_unit;\n        unsigned int
      i_display_width;\n        unsigned int i_display_height;\n\n        unsigned
      int chroma_sit_vertical;\n        unsigned int chroma_sit_horizontal;\n      }
      track_video_info;\n\n      struct {\n          float yaw;\n          float pitch;\n
      \         float roll;\n      } pose;\n\n    }::lang::c_str"
    - MKV_SWITCH_INIT
    - static_cast<uint8_t*>
    - vlc_viewpoint_from_euler
    - lang::empty
    - KaxTrackEntry*::end
    - likely
    - EBML_NAME
    - GetBuffer
    - std::string::find_first_of
    - va_end
    - end
    - static_cast<uint16_t>
    - GetMandatoryChild<KaxTrackType>
    - std::unique_ptr<mkv_track_t>
    - VLC_UNUSED
    - ONLY_FMT
    - iso_23001_matrix_coeffs_to_vlc
    - mkv::matroska_segment_c::TrackInit
    - lzo1x_decompress_extra
    - ToUTF8
    - iso_23001_transfer_to_vlc
    - GetSize
    - what
    - insert
    - iterate
    - free
    - lang::c_str
    - std::string::substr
    - vlc_ureduce
    - zlib_decompress_extra
    - static_cast<unsigned>
    - std::string
    - unlikely
    - malloc
    - add_overflow
    - KaxTrackEntry*::begin
    linkageType: ''
    returnType: void
    signature: void matroska_segment_c::ParseTrackEntry( const KaxTrackEntry *m )
  - BBCount: 124
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:280,1
    - Dst: VLC_FORMAT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:282,1
    - Dst: va_start
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:284,1
    - Dst: mkv::MkvTree_va
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:285,1
    - Dst: va_end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:286,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:290,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:291,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:295,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:295,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:301,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:320,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:324,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:325,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:329,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:330,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:334,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:336,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:340,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:340,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:344,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:344,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:348,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:348,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:352,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:352,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:353,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:357,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:359,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:363,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:363,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:367,1
    - Dst: mkv::ToUTF8
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:368,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:368,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:369,1
    - Dst: std::string::find_first_of
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:374,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:375,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:376,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:376,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:376,1
    - Dst: std::string::find_first_of
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:387,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:388,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:389,1
    - Dst: lang::empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:389,1
    - Dst: lang::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:389,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:394,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:395,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:395,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:399,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:402,1
    - Dst: static_cast<uint8_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:403,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:403,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:405,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:406,1
    - Dst: GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:406,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:409,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:409,1
    - Dst: static_cast<UTFstring const&>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:413,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:414,1
    - Dst: tk::str_codec_name::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:414,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:419,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:419,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:423,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:423,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:428,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:428,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:429,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:434,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:434,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:435,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:440,1
    - Dst: ListSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:442,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:444,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:449,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:449,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:449,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:454,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:457,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:457,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:457,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:462,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:462,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:466,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:467,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:471,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:471,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:475,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:480,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:480,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:480,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:485,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:486,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:491,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:497,1
    - Dst: KaxContentCompSettings::KaxContentCompSettings
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:499,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:503,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:504,1
    - Dst: static_cast<unsigned>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:512,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:517,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:517,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:517,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:540,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:550,1
    - Dst: add_overflow
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:558,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:560,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:564,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:566,1
    - Dst: add_overflow
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:573,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:575,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:579,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:581,1
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:606,1
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:611,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:621,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:622,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:622,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:623,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:629,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:630,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:633,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:633,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:633,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:638,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:639,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:651,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:651,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:657,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:658,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:662,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:663,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:667,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:668,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:673,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:674,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:674,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:678,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:680,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:703,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:703,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:705,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:705,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:709,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:710,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:711,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:715,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:716,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:717,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:721,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:722,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:723,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:727,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:728,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:729,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:733,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:734,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:735,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:739,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:740,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:741,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:745,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:746,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:747,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:751,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:752,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:753,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:757,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:758,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:768,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:772,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:773,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:773,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:777,1
    - Dst: std::max
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:778,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:778,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:779,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:783,1
    - Dst: ValidateSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:784,1
    - Dst: GetFOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:786,1
    - Dst: GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:786,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:787,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:793,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:795,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:799,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:799,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:799,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:804,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:806,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:818,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:818,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:820,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:824,1
    - Dst: iso_23001_transfer_to_vlc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:825,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:825,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:827,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:858,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:858,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:860,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:860,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:862,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:866,1
    - Dst: iso_23001_primaries_to_vlc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:867,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:867,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:869,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:890,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:890,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:892,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:892,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:894,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:898,1
    - Dst: iso_23001_matrix_coeffs_to_vlc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:899,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:899,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:901,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:927,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:927,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:929,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:929,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:931,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:935,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:937,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:938,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:944,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:944,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:946,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:950,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:952,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:953,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:959,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:959,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:961,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:965,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:966,1
    - Dst: static_cast<uint16_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:967,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:971,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:972,1
    - Dst: static_cast<uint16_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:973,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:977,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:979,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:983,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:983,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:983,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:988,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:989,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:990,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:994,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:995,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:996,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1000,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1001,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1002,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1006,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1007,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1008,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1012,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1013,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1014,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1018,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1019,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1020,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1024,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1025,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1026,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1030,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1031,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1032,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1036,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1037,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1038,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1042,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1043,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1044,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1048,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1049,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1051,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1051,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1051,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1056,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1057,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1062,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1066,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1067,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1068,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1072,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1073,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1074,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1078,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1079,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1080,1
    - Dst: mkv::E_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1082,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1083,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1086,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1086,1
    CyclomaticComplexity: 111
    EdgeCount: 111
    ICount: 620
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 1088
    functionName: mkv::MKV_SWITCH_CREATE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - static_cast<uint32_t>
    - debug
    - memcpy
    - iso_23001_primaries_to_vlc
    - std::string::c_str
    - KaxContentCompSettings::KaxContentCompSettings
    - std::max
    - VLC_TICK_FROM_NS
    - ValidateSize
    - begin
    - ListSize
    - msg_Err
    - static_cast<float>
    - tk::str_codec_name::c_str
    - msg_Dbg
    - static_cast<uint8_t>
    - UTFstring
    - GetFOURCC
    - static_cast<UTFstring const&>
    - static_cast<uint64_t>
    - va_start
    - VLC_FORMAT
    - MKV_SWITCH_INIT
    - static_cast<uint8_t*>
    - lang::empty
    - mkv::ToUTF8
    - likely
    - mkv::E_CASE
    - GetBuffer
    - std::string::find_first_of
    - va_end
    - end
    - static_cast<uint16_t>
    - EBML_NAME
    - VLC_UNUSED
    - ONLY_FMT
    - iso_23001_matrix_coeffs_to_vlc
    - iso_23001_transfer_to_vlc
    - GetSize
    - iterate
    - free
    - lang::c_str
    - std::string::substr
    - vlc_ureduce
    - mkv::MkvTree_va
    - static_cast<unsigned>
    - std::string
    - unlikely
    - malloc
    - add_overflow
    linkageType: ''
    returnType: void
    signature: void MKV_SWITCH_CREATE( EbmlTypeDispatcher, MetaDataHandlers, MetaDataCapture
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:290,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 292
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - static_cast<uint32_t>
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTrackNumber, tnum )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:295,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - debug
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTrackUID, tuid )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:301,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:320,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 321
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - debug
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTrackType, ttype )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:324,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 326
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - static_cast<uint32_t>
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTrackFlagEnabled, fenb )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:329,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - static_cast<uint32_t>
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTrackFlagDefault, fdef )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:334,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 337
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - static_cast<uint32_t>
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTrackFlagForced, ffor )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:340,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - debug
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTrackFlagLacing, lac )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:344,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 345
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - debug
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTrackMinCache, cmin )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:348,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - debug
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTrackMaxCache, cmax )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:352,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:352,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 354
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - debug
    - VLC_TICK_FROM_NS
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTrackDefaultDuration, defd )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:357,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - static_cast<float>
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTrackTimestampScale, ttcs )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:363,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 364
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - debug
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxMaxBlockAdditionID, mbl )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:367,1
    - Dst: mkv::ToUTF8
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:368,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:368,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 370
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - free
    - debug
    - UTFstring
    - mkv::ToUTF8
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTrackName, tname )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_first_of
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:374,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:375,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:376,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:376,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 381
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - std::string::empty
    - debug
    - std::string::c_str
    - std::string::substr
    - std::string::find_first_of
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTrackLanguage, lang )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_first_of
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:387,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:388,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:389,1
    - Dst: lang::empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:389,1
    - Dst: lang::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 390
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - debug
    - lang::empty
    - lang::c_str
    - std::string::substr
    - std::string::find_first_of
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxLanguageIETF, lang )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:394,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:395,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 396
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - debug
    - std::string
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxCodecID, codecid )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:399,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:402,1
    - Dst: static_cast<uint8_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:403,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:403,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:405,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:406,1
    - Dst: GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:406,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:409,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 410
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - GetSize
    - debug
    - memcpy
    - static_cast<uint8_t*>
    - free
    - likely
    - GetBuffer
    - malloc
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxCodecPrivate, cpriv )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<UTFstring const&>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:413,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:414,1
    - Dst: tk::str_codec_name::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 415
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - debug
    - static_cast<UTFstring const&>
    - tk::str_codec_name::c_str
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxCodecName, cname )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:419,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - debug
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxCodecDecodeAll, cdall )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:423,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 424
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - debug
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTrackOverlay, tovr )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:428,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:428,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 431
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - VLC_TICK_FROM_NS
    - static_cast<uint64_t>
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxCodecDelay, codecdelay )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:434,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:434,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 436
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - debug
    - VLC_TICK_FROM_NS
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxSeekPreRoll, spr )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:440,1
    - Dst: ListSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:442,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:444,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:449,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:449,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 451
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - debug
    - begin
    - ListSize
    - iterate
    - msg_Err
    - end
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxContentEncodings, cencs )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:454,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:457,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:457,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 459
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - debug
    - begin
    - end
    - iterate
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxContentEncoding, cenc )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:462,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 463
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - debug
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxContentEncodingOrder, encord )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:466,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 468
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - static_cast<uint32_t>
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxContentEncodingScope, encscope )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:471,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 472
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - debug
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxContentEncodingType, enctype )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:475,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:480,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:480,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 482
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - debug
    - begin
    - end
    - iterate
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxContentCompression, compr )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:485,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:486,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:491,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 494
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - static_cast<uint32_t>
    - debug
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxContentCompAlgo, compalg )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:497,1
    - Dst: KaxContentCompSettings::KaxContentCompSettings
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 500
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - debug
    - KaxContentCompSettings::KaxContentCompSettings
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxContentCompSettings, kccs )
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:503,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:504,1
    - Dst: static_cast<unsigned>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:512,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:517,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:517,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:517,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:540,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:550,1
    - Dst: add_overflow
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:558,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:560,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:564,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:566,1
    - Dst: add_overflow
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:573,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:575,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:579,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:581,1
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:606,1
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:611,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 617
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - ONLY_FMT
    - debug
    - begin
    - iterate
    - vlc_ureduce
    - static_cast<unsigned>
    - end
    - unlikely
    - add_overflow
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTrackVideo, tkv )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:621,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:622,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:622,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 624
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - ONLY_FMT
    - debug
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoAlphaMode, mode )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:629,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:630,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:633,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:633,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 635
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - ONLY_FMT
    - debug
    - begin
    - iterate
    - end
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoProjection, proj )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:638,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:639,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:651,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:651,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 654
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - ONLY_FMT
    - debug
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoProjectionType, fint )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:657,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 659
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - static_cast<float>
    - ONLY_FMT
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoProjectionPoseYaw, pose )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:662,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 664
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - static_cast<float>
    - ONLY_FMT
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoProjectionPosePitch, pose )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:667,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 669
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - static_cast<float>
    - ONLY_FMT
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoProjectionPoseRoll, pose )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:673,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:674,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 675
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - ONLY_FMT
    - debug
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoFlagInterlaced, fint )
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:678,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:680,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:703,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:703,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:705,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:705,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 706
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - ONLY_FMT
    - debug
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoStereoMode, stereo )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:709,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:710,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 712
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - ONLY_FMT
    - static_cast<uint32_t>
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoPixelWidth, vwidth )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:715,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:716,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 718
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - ONLY_FMT
    - static_cast<uint32_t>
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoPixelHeight, vheight )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:721,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:722,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 724
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - ONLY_FMT
    - static_cast<uint32_t>
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoDisplayWidth, vwidth )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:727,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:728,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 730
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - ONLY_FMT
    - static_cast<uint32_t>
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoDisplayHeight, vheight )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:733,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:734,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 736
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - ONLY_FMT
    - static_cast<uint32_t>
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoPixelCropBottom, cropval )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:739,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:740,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 742
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - ONLY_FMT
    - static_cast<uint32_t>
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoPixelCropTop, cropval )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:745,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:746,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 748
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - ONLY_FMT
    - static_cast<uint32_t>
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoPixelCropRight, cropval )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:751,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:752,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 754
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - ONLY_FMT
    - static_cast<uint32_t>
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoPixelCropLeft, cropval )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:757,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:758,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:768,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 769
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - ONLY_FMT
    - debug
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoDisplayUnit, vdmode )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:772,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:773,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 774
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - ONLY_FMT
    - debug
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoAspectRatio, ratio )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:777,1
    - Dst: std::max
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:778,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:778,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 780
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - static_cast<float>
    - ONLY_FMT
    - std::max
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoFrameRate, vfps )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:783,1
    - Dst: ValidateSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:784,1
    - Dst: GetFOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:786,1
    - Dst: GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:786,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:787,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 781
    functionDepth: 1
    functionLinenumber: 781
    functionLinenumberEnd: 789
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - ONLY_FMT
    - GetFOURCC
    - debug
    - GetBuffer
    - ValidateSize
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoColourSpace, colourspace )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:793,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:795,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:799,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:799,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 801
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - debug
    - begin
    - iterate
    - msg_Err
    - end
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoColour, colours)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:804,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:806,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:818,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:818,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:820,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 802
    functionDepth: 1
    functionLinenumber: 802
    functionLinenumberEnd: 821
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - ONLY_FMT
    - debug
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoColourRange, range )
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:824,1
    - Dst: iso_23001_transfer_to_vlc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:825,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:825,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:827,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:858,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:858,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:860,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:860,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:862,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 822
    functionDepth: 1
    functionLinenumber: 822
    functionLinenumberEnd: 863
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - ONLY_FMT
    - debug
    - iso_23001_transfer_to_vlc
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoColourTransferCharacter, transfer )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:866,1
    - Dst: iso_23001_primaries_to_vlc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:867,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:867,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:869,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:890,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:890,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:892,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:892,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:894,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 895
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - ONLY_FMT
    - debug
    - iso_23001_primaries_to_vlc
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoColourPrimaries, primaries )
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:898,1
    - Dst: iso_23001_matrix_coeffs_to_vlc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:899,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:899,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:901,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:927,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:927,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:929,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:929,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:931,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 896
    functionDepth: 1
    functionLinenumber: 896
    functionLinenumberEnd: 932
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - ONLY_FMT
    - iso_23001_matrix_coeffs_to_vlc
    - debug
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoColourMatrix, matrix )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:935,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:937,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:938,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:944,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:944,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:946,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 947
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - ONLY_FMT
    - debug
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoChromaSitHorz, chroma_hor )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:950,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:952,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:953,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:959,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:959,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:961,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 948
    functionDepth: 1
    functionLinenumber: 948
    functionLinenumberEnd: 962
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - ONLY_FMT
    - debug
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoChromaSitVert, chroma_ver )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:965,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:966,1
    - Dst: static_cast<uint16_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 968
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - static_cast<uint16_t>
    - ONLY_FMT
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoColourMaxCLL, maxCLL )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:971,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:972,1
    - Dst: static_cast<uint16_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 969
    functionDepth: 1
    functionLinenumber: 969
    functionLinenumberEnd: 974
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - static_cast<uint16_t>
    - ONLY_FMT
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoColourMaxFALL, maxFALL )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:977,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:979,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:983,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:983,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:983,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 985
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - debug
    - begin
    - iterate
    - msg_Err
    - end
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoColourMasterMeta, mastering )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:988,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:989,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:990,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 986
    functionDepth: 1
    functionLinenumber: 986
    functionLinenumberEnd: 991
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - static_cast<float>
    - ONLY_FMT
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoLuminanceMax, maxLum )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:994,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:995,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 997
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - static_cast<float>
    - ONLY_FMT
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoLuminanceMin, minLum )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1000,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1001,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1003
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - static_cast<float>
    - ONLY_FMT
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoGChromaX, chroma )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1006,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1007,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1004
    functionDepth: 1
    functionLinenumber: 1004
    functionLinenumberEnd: 1009
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - static_cast<float>
    - ONLY_FMT
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoGChromaY, chroma )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1012,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1013,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1010
    functionDepth: 1
    functionLinenumber: 1010
    functionLinenumberEnd: 1015
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - static_cast<float>
    - ONLY_FMT
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoBChromaX, chroma )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1018,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1019,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1020,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1016
    functionDepth: 1
    functionLinenumber: 1016
    functionLinenumberEnd: 1021
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - static_cast<float>
    - ONLY_FMT
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoBChromaY, chroma )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1024,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1025,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1022
    functionDepth: 1
    functionLinenumber: 1022
    functionLinenumberEnd: 1027
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - static_cast<float>
    - ONLY_FMT
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoRChromaX, chroma )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1030,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1031,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1028
    functionDepth: 1
    functionLinenumber: 1028
    functionLinenumberEnd: 1033
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - static_cast<float>
    - ONLY_FMT
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoRChromaY, chroma )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1036,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1037,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1034
    functionDepth: 1
    functionLinenumber: 1034
    functionLinenumberEnd: 1039
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - static_cast<float>
    - ONLY_FMT
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoWhitePointChromaX, white )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1042,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1043,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1040
    functionDepth: 1
    functionLinenumber: 1040
    functionLinenumberEnd: 1045
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - static_cast<float>
    - ONLY_FMT
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxVideoWhitePointChromaY, white )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1048,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1049,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1051,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1051,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1053
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - ONLY_FMT
    - debug
    - begin
    - iterate
    - end
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTrackAudio, tka )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1056,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1057,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1054
    functionDepth: 1
    functionLinenumber: 1054
    functionLinenumberEnd: 1063
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - static_cast<float>
    - ONLY_FMT
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxAudioSamplingFreq, afreq )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1066,1
    - Dst: static_cast<float>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1067,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1064
    functionDepth: 1
    functionLinenumber: 1064
    functionLinenumberEnd: 1069
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - static_cast<float>
    - ONLY_FMT
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxAudioOutputSamplingFreq, afreq )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1072,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1073,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1075
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - ONLY_FMT
    - debug
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxAudioChannels, achan )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1078,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1079,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1076
    functionDepth: 1
    functionLinenumber: 1076
    functionLinenumberEnd: 1081
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 4
    functionsReached:
    - ONLY_FMT
    - debug
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxAudioBitDepth, abits )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mkv::matroska_segment_c::ReadMaster
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1164,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1177,1
    - Dst: obj::ParseTrackEntry
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1180,1
    - Dst: E_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1182,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1183,1
    - Dst: MkvTree
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1186,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1186,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1190,1
    - Dst: KaxTracks*::begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1190,1
    - Dst: KaxTracks*::end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1190,1
    - Dst: std::max
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - tracks
    argTypes:
    - KaxTracks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1161
    functionDepth: 1
    functionLinenumber: 1161
    functionLinenumberEnd: 1196
    functionName: mkv::matroska_segment_c::ParseTracks
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - MkvTree
    - obj::ParseTrackEntry
    - Dispatcher::Dispatcher
    - KaxTracks*::begin
    - KaxTracks*::end
    - MKV_SWITCH_INIT
    - mkv::matroska_segment_c::ReadMaster
    - std::max
    - EBML_NAME
    - E_CASE
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void matroska_segment_c::ParseTracks( KaxTracks *tracks )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1177,1
    - Dst: obj::ParseTrackEntry
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1180,1
    - Dst: mkv::E_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1182,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1183,1
    - Dst: mkv::MkvTree
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1186,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1175
    functionDepth: 1
    functionLinenumber: 1175
    functionLinenumberEnd: 1188
    functionName: mkv::MKV_SWITCH_CREATE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - obj::ParseTrackEntry
    - MKV_SWITCH_INIT
    - mkv::MkvTree
    - EBML_NAME
    - mkv::E_CASE
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void MKV_SWITCH_CREATE( EbmlTypeDispatcher, TrackHandlers, struct Capture
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: obj::ParseTrackEntry
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1181
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 5
    functionsReached:
    - obj::ParseTrackEntry
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTrackEntry, track_number )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mkv::matroska_segment_c::ReadMaster
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1205,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1218,1
    - Dst: VLC_FORMAT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1220,1
    - Dst: va_start
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1222,1
    - Dst: MkvTree_va
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1223,1
    - Dst: va_end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1224,1
    - Dst: KaxSegmentUID::KaxSegmentUID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1230,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1232,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1232,1
    - Dst: obj::p_segment_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1232,1
    - Dst: KaxPrevUID::KaxPrevUID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1238,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1241,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1241,1
    - Dst: obj::p_prev_segment_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1241,1
    - Dst: KaxNextUID::KaxNextUID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1247,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1250,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1250,1
    - Dst: obj::p_next_segment_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1250,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1254,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1255,1
    - Dst: static_cast<double>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1259,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1260,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1264,1
    - Dst: ToUTF8
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1265,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1265,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1266,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1270,1
    - Dst: ToUTF8
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1271,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1271,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1272,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1276,1
    - Dst: ToUTF8Const
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1276,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1276,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1280,1
    - Dst: ToUTF8
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1281,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1281,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1282,1
    - Dst: obj::families::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1286,1
    - Dst: KaxSegmentFamily::KaxSegmentFamily
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1286,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1287,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1287,1
    - Dst: GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1287,1
    - Dst: GetEpochDate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1293,1
    - Dst: gmtime_r
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1295,1
    - Dst: strftime
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1296,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1299,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1306,1
    - Dst: editions::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1310,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1310,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1314,1
    - Dst: KaxChapterTranslateID::KaxChapterTranslateID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1319,1
    - Dst: obj::ReadMaster
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1324,1
    - Dst: chapter_translation_c::chapter_translation_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1327,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1329,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1330,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1330,1
    - Dst: chapter_translation_c*::isValid
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1333,1
    - Dst: obj::translations::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1334,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1340,1
    - Dst: E_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1343,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1345,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1349,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1349,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1353,1
    - Dst: EbmlMaster*::begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1353,1
    - Dst: EbmlMaster*::end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1353,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1356,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 84
    argCount: 1
    argNames:
    - info
    argTypes:
    - KaxInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1201
    functionDepth: 2
    functionLinenumber: 1201
    functionLinenumberEnd: 1357
    functionName: mkv::matroska_segment_c::ParseInfo
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - debug
    - static_cast<uint32_t>
    - chapter_translation_c*::isValid
    - mkv::matroska_segment_c::ReadMaster
    - VLC_TICK_FROM_NS
    - obj::p_segment_uid::GetBuffer
    - KaxSegmentFamily::KaxSegmentFamily
    - KaxNextUID::KaxNextUID
    - reinterpret_cast<uint64_t*>
    - begin
    - MkvTree_va
    - ToUTF8Const
    - msg_Err
    - EbmlMaster*::begin
    - obj::translations::push_back
    - E_CASE
    - chapter_translation_c::chapter_translation_c
    - EbmlMaster*::end
    - UTFstring
    - KaxChapterTranslateID::KaxChapterTranslateID
    - gmtime_r
    - static_cast<uint64_t>
    - va_start
    - VLC_FORMAT
    - Dispatcher::Dispatcher
    - MKV_SWITCH_INIT
    - GetEpochDate
    - KaxSegmentUID::KaxSegmentUID
    - obj::families::push_back
    - EBML_NAME
    - GetBuffer
    - va_end
    - end
    - VLC_UNUSED
    - obj::p_prev_segment_uid::GetBuffer
    - ToUTF8
    - free
    - strftime
    - obj::p_next_segment_uid::GetBuffer
    - obj::ReadMaster
    - editions::push_back
    - static_cast<double>
    - KaxPrevUID::KaxPrevUID
    linkageType: ''
    returnType: void
    signature: void matroska_segment_c::ParseInfo( KaxInfo *info )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1218,1
    - Dst: VLC_FORMAT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1220,1
    - Dst: va_start
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1222,1
    - Dst: mkv::MkvTree_va
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1223,1
    - Dst: va_end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1224,1
    - Dst: KaxSegmentUID::KaxSegmentUID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1230,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1232,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1232,1
    - Dst: obj::p_segment_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1232,1
    - Dst: KaxPrevUID::KaxPrevUID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1238,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1241,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1241,1
    - Dst: obj::p_prev_segment_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1241,1
    - Dst: KaxNextUID::KaxNextUID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1247,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1250,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1250,1
    - Dst: obj::p_next_segment_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1250,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1254,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1255,1
    - Dst: static_cast<double>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1259,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1260,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1264,1
    - Dst: mkv::ToUTF8
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1265,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1265,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1266,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1270,1
    - Dst: mkv::ToUTF8
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1271,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1271,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1272,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1276,1
    - Dst: mkv::ToUTF8Const
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1276,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1276,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1280,1
    - Dst: mkv::ToUTF8
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1281,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1281,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1282,1
    - Dst: obj::families::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1286,1
    - Dst: KaxSegmentFamily::KaxSegmentFamily
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1286,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1287,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1287,1
    - Dst: GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1287,1
    - Dst: GetEpochDate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1293,1
    - Dst: gmtime_r
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1295,1
    - Dst: strftime
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1296,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1299,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1306,1
    - Dst: editions::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1310,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1310,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1314,1
    - Dst: KaxChapterTranslateID::KaxChapterTranslateID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1319,1
    - Dst: obj::ReadMaster
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1324,1
    - Dst: chapter_translation_c::chapter_translation_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1327,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1329,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1330,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1330,1
    - Dst: chapter_translation_c*::isValid
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1333,1
    - Dst: obj::translations::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1334,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1340,1
    - Dst: mkv::E_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1343,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1345,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1349,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1349,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1216
    functionDepth: 2
    functionLinenumber: 1216
    functionLinenumberEnd: 1351
    functionName: mkv::MKV_SWITCH_CREATE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - debug
    - static_cast<uint32_t>
    - chapter_translation_c*::isValid
    - obj::p_segment_uid::GetBuffer
    - KaxSegmentFamily::KaxSegmentFamily
    - KaxNextUID::KaxNextUID
    - reinterpret_cast<uint64_t*>
    - begin
    - msg_Err
    - obj::translations::push_back
    - chapter_translation_c::chapter_translation_c
    - UTFstring
    - KaxChapterTranslateID::KaxChapterTranslateID
    - gmtime_r
    - static_cast<uint64_t>
    - va_start
    - VLC_FORMAT
    - Dispatcher::Dispatcher
    - MKV_SWITCH_INIT
    - GetEpochDate
    - KaxSegmentUID::KaxSegmentUID
    - obj::families::push_back
    - mkv::ToUTF8
    - EBML_NAME
    - mkv::E_CASE
    - GetBuffer
    - va_end
    - end
    - mkv::ToUTF8Const
    - VLC_UNUSED
    - obj::p_prev_segment_uid::GetBuffer
    - obj::ReadMaster
    - free
    - strftime
    - obj::p_next_segment_uid::GetBuffer
    - mkv::MkvTree_va
    - editions::push_back
    - static_cast<double>
    - KaxPrevUID::KaxPrevUID
    linkageType: ''
    returnType: void
    signature: void MKV_SWITCH_CREATE(EbmlTypeDispatcher, InfoHandlers, InfoHandlerPayload)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: KaxSegmentUID::KaxSegmentUID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1230,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1232,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1232,1
    - Dst: obj::p_segment_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1233
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - debug
    - KaxSegmentUID::KaxSegmentUID
    - reinterpret_cast<uint64_t*>
    - obj::p_segment_uid::GetBuffer
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxSegmentUID, uid )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: KaxPrevUID::KaxPrevUID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1238,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1241,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1241,1
    - Dst: obj::p_prev_segment_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1242
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - debug
    - obj::p_prev_segment_uid::GetBuffer
    - KaxPrevUID::KaxPrevUID
    - reinterpret_cast<uint64_t*>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxPrevUID, uid )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: KaxNextUID::KaxNextUID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1247,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1250,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1250,1
    - Dst: obj::p_next_segment_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1251
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - debug
    - obj::p_next_segment_uid::GetBuffer
    - KaxNextUID::KaxNextUID
    - reinterpret_cast<uint64_t*>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxNextUID, uid )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1254,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1256
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - debug
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTimestampScale, tcs )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1259,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1257
    functionDepth: 0
    functionLinenumber: 1257
    functionLinenumberEnd: 1261
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - debug
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxDuration, dur )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1264,1
    - Dst: mkv::ToUTF8
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1265,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1265,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1262
    functionDepth: 2
    functionLinenumber: 1262
    functionLinenumberEnd: 1267
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - free
    - debug
    - UTFstring
    - mkv::ToUTF8
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxMuxingApp, mapp )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1270,1
    - Dst: mkv::ToUTF8
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1271,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1271,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1268
    functionDepth: 2
    functionLinenumber: 1268
    functionLinenumberEnd: 1273
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - free
    - debug
    - UTFstring
    - mkv::ToUTF8
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxWritingApp, wapp )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1276,1
    - Dst: mkv::ToUTF8Const
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1276,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1274
    functionDepth: 1
    functionLinenumber: 1274
    functionLinenumberEnd: 1277
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - UTFstring
    - debug
    - mkv::ToUTF8Const
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxSegmentFilename, sfn )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1280,1
    - Dst: mkv::ToUTF8
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1281,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1281,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1278
    functionDepth: 2
    functionLinenumber: 1278
    functionLinenumberEnd: 1283
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - free
    - debug
    - UTFstring
    - mkv::ToUTF8
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTitle, title )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: obj::families::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1286,1
    - Dst: KaxSegmentFamily::KaxSegmentFamily
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1286,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1287,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1287,1
    - Dst: GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1288
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - KaxSegmentFamily::KaxSegmentFamily
    - reinterpret_cast<uint64_t*>
    - debug
    - obj::families::push_back
    - GetBuffer
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxSegmentFamily, uid )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetEpochDate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1293,1
    - Dst: gmtime_r
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1295,1
    - Dst: strftime
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1296,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1289
    functionDepth: 2
    functionLinenumber: 1289
    functionLinenumberEnd: 1301
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - strftime
    - gmtime_r
    - debug
    - GetEpochDate
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxDateUTC, date )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1306,1
    - Dst: editions::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1310,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1310,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1314,1
    - Dst: KaxChapterTranslateID::KaxChapterTranslateID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1319,1
    - Dst: obj::ReadMaster
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1324,1
    - Dst: chapter_translation_c::chapter_translation_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1327,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1329,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1330,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1330,1
    - Dst: chapter_translation_c*::isValid
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1333,1
    - Dst: obj::translations::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1334,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1302
    functionDepth: 1
    functionLinenumber: 1302
    functionLinenumberEnd: 1342
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - KaxChapterTranslateID::KaxChapterTranslateID
    - static_cast<uint64_t>
    - Dispatcher::Dispatcher
    - static_cast<uint32_t>
    - begin
    - end
    - chapter_translation_c*::isValid
    - MKV_SWITCH_INIT
    - msg_Err
    - obj::ReadMaster
    - obj::translations::push_back
    - editions::push_back
    - chapter_translation_c::chapter_translation_c
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxChapterTranslate, trans )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1306,1
    - Dst: editions::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1310,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1310,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1314,1
    - Dst: KaxChapterTranslateID::KaxChapterTranslateID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1304
    functionDepth: 1
    functionLinenumber: 1304
    functionLinenumberEnd: 1321
    functionName: mkv::MKV_SWITCH_CREATE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - KaxChapterTranslateID::KaxChapterTranslateID
    - static_cast<uint64_t>
    - static_cast<uint32_t>
    - MKV_SWITCH_INIT
    - editions::push_back
    linkageType: ''
    returnType: void
    signature: void MKV_SWITCH_CREATE( EbmlTypeDispatcher, TranslationHandler, chapter_translation_c*
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: editions::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1310,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1308
    functionDepth: 0
    functionLinenumber: 1308
    functionLinenumberEnd: 1311
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - editions::push_back
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxChapterTranslateEditionUID, uid )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1312
    functionDepth: 0
    functionLinenumber: 1312
    functionLinenumberEnd: 1315
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxChapterTranslateCodec, codec_id )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KaxChapterTranslateID::KaxChapterTranslateID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1316
    functionDepth: 0
    functionLinenumber: 1316
    functionLinenumberEnd: 1320
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - KaxChapterTranslateID::KaxChapterTranslateID
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxChapterTranslateID, translated_id )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: MkvTree
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1365,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1382,1
    - Dst: VLC_FORMAT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1384,1
    - Dst: va_start
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1386,1
    - Dst: MkvTree_va
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1387,1
    - Dst: va_end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1388,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1392,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1393,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1397,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1398,1
    - Dst: KaxChapterSegmentUID::KaxChapterSegmentUID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1403,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1406,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1406,1
    - Dst: chapters::p_segment_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1406,1
    - Dst: KaxChapterSegmentEditionUID::KaxChapterSegmentEditionUID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1411,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1413,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1415,1
    - Dst: chapters::p_segment_edition_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1415,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1417,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1423,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1423,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1424,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1428,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1428,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1429,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1433,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1436,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1436,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1436,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1441,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1450,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1450,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1454,1
    - Dst: static_cast<std::string const&>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1454,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1458,1
    - Dst: static_cast<std::string const&>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1458,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1463,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1465,1
    - Dst: MKV_CHECKED_PTR_DECL_CONST
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1472,1
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1474,1
    - Dst: obj::sys::GetMatroskaScriptInterpreter
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1476,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1477,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1478,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1481,1
    - Dst: matroska_script_codec_c::matroska_script_codec_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1480,1
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1485,1
    - Dst: obj::sys::GetDVDInterpretor
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1487,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1488,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1489,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1491,1
    - Dst: dvd_chapter_codec_c::dvd_chapter_codec_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1491,1
    - Dst: MKV_CHECKED_PTR_DECL_CONST
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1501,1
    - Dst: chapter_codec_cmds_c*::SetPrivate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1503,1
    - Dst: MKV_CHECKED_PTR_DECL_CONST
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1505,1
    - Dst: chapter_codec_cmds_c*::AddCommand
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1507,1
    - Dst: chapters::codecs::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1510,1
    - Dst: chapter_item_c::chapter_item_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1515,1
    - Dst: obj::ParseChapterAtom
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1518,1
    - Dst: chapters::sub_chapters::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1519,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1523,1
    - Dst: KaxChapterAtom*::begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1523,1
    - Dst: KaxChapterAtom*::end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1523,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 80
    argCount: 3
    argNames:
    - i_level
    - ca
    - ' chapters'
    argTypes:
    - int
    - KaxChapterAtom*
    - chapter_item_c
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1363
    functionDepth: 1
    functionLinenumber: 1363
    functionLinenumberEnd: 1524
    functionName: mkv::matroska_segment_c::ParseChapterAtom
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - obj::sys::GetMatroskaScriptInterpreter
    - KaxChapterAtom*::begin
    - obj::ParseChapterAtom
    - debug
    - static_cast<uint32_t>
    - std::string::c_str
    - matroska_script_codec_c::matroska_script_codec_c
    - KaxChapterSegmentEditionUID::KaxChapterSegmentEditionUID
    - chapters::sub_chapters::push_back
    - chapters::codecs::push_back
    - VLC_TICK_FROM_NS
    - chapter_codec_cmds_c*::AddCommand
    - MkvTree
    - GetValue
    - reinterpret_cast<uint64_t*>
    - begin
    - MkvTree_va
    - static_cast<uint8_t>
    - KaxChapterAtom*::end
    - chapter_item_c::chapter_item_c
    - UTFstring
    - static_cast<uint64_t>
    - va_start
    - VLC_FORMAT
    - Dispatcher::Dispatcher
    - var_InheritBool
    - MKV_SWITCH_INIT
    - va_end
    - end
    - dvd_chapter_codec_c::dvd_chapter_codec_c
    - chapters::p_segment_edition_uid::GetBuffer
    - MKV_CHECKED_PTR_DECL_CONST
    - reinterpret_cast<uint32_t*>
    - vlc_object_logger
    - iterate
    - chapter_codec_cmds_c*::SetPrivate
    - chapters::p_segment_uid::GetBuffer
    - KaxChapterSegmentUID::KaxChapterSegmentUID
    - unlikely
    - static_cast<std::string const&>
    - obj::sys::GetDVDInterpretor
    linkageType: ''
    returnType: void
    signature: void matroska_segment_c::ParseChapterAtom( int i_level, KaxChapterAtom
      *ca, chapter_item_c & chapters )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1382,1
    - Dst: VLC_FORMAT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1384,1
    - Dst: va_start
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1386,1
    - Dst: mkv::MkvTree_va
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1387,1
    - Dst: va_end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1388,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1392,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1393,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1397,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1398,1
    - Dst: KaxChapterSegmentUID::KaxChapterSegmentUID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1403,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1406,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1406,1
    - Dst: chapters::p_segment_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1406,1
    - Dst: KaxChapterSegmentEditionUID::KaxChapterSegmentEditionUID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1411,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1413,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1415,1
    - Dst: chapters::p_segment_edition_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1415,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1417,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1423,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1423,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1424,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1428,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1428,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1429,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1433,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1436,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1436,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1436,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1441,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1450,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1450,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1454,1
    - Dst: static_cast<std::string const&>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1454,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1458,1
    - Dst: static_cast<std::string const&>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1458,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1463,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1465,1
    - Dst: MKV_CHECKED_PTR_DECL_CONST
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1472,1
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1474,1
    - Dst: obj::sys::GetMatroskaScriptInterpreter
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1476,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1477,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1478,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1481,1
    - Dst: matroska_script_codec_c::matroska_script_codec_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1480,1
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1485,1
    - Dst: obj::sys::GetDVDInterpretor
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1487,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1488,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1489,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1491,1
    - Dst: dvd_chapter_codec_c::dvd_chapter_codec_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1491,1
    - Dst: MKV_CHECKED_PTR_DECL_CONST
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1501,1
    - Dst: chapter_codec_cmds_c*::SetPrivate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1503,1
    - Dst: MKV_CHECKED_PTR_DECL_CONST
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1505,1
    - Dst: chapter_codec_cmds_c*::AddCommand
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1507,1
    - Dst: chapters::codecs::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1510,1
    - Dst: chapter_item_c::chapter_item_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1515,1
    - Dst: obj::ParseChapterAtom
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1518,1
    - Dst: chapters::sub_chapters::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1519,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1380
    functionDepth: 1
    functionLinenumber: 1380
    functionLinenumberEnd: 1521
    functionName: mkv::MKV_SWITCH_CREATE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - obj::sys::GetMatroskaScriptInterpreter
    - obj::ParseChapterAtom
    - debug
    - static_cast<uint32_t>
    - std::string::c_str
    - matroska_script_codec_c::matroska_script_codec_c
    - KaxChapterSegmentEditionUID::KaxChapterSegmentEditionUID
    - chapters::sub_chapters::push_back
    - chapters::codecs::push_back
    - VLC_TICK_FROM_NS
    - chapter_codec_cmds_c*::AddCommand
    - GetValue
    - reinterpret_cast<uint64_t*>
    - begin
    - static_cast<uint8_t>
    - chapter_item_c::chapter_item_c
    - UTFstring
    - static_cast<uint64_t>
    - va_start
    - VLC_FORMAT
    - var_InheritBool
    - MKV_SWITCH_INIT
    - end
    - va_end
    - dvd_chapter_codec_c::dvd_chapter_codec_c
    - chapters::p_segment_edition_uid::GetBuffer
    - MKV_CHECKED_PTR_DECL_CONST
    - reinterpret_cast<uint32_t*>
    - vlc_object_logger
    - iterate
    - chapter_codec_cmds_c*::SetPrivate
    - chapters::p_segment_uid::GetBuffer
    - mkv::MkvTree_va
    - KaxChapterSegmentUID::KaxChapterSegmentUID
    - unlikely
    - static_cast<std::string const&>
    - obj::sys::GetDVDInterpretor
    linkageType: ''
    returnType: void
    signature: void MKV_SWITCH_CREATE( EbmlTypeDispatcher, ChapterAtomHandlers, ChapterPayload
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1392,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1390
    functionDepth: 0
    functionLinenumber: 1390
    functionLinenumberEnd: 1394
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - debug
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxChapterUID, uid )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1397,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1395
    functionDepth: 0
    functionLinenumber: 1395
    functionLinenumberEnd: 1399
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - debug
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxChapterFlagHidden, flag )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KaxChapterSegmentUID::KaxChapterSegmentUID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1403,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1406,1
    - Dst: reinterpret_cast<uint64_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1406,1
    - Dst: chapters::p_segment_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1407
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1407
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - reinterpret_cast<uint64_t*>
    - KaxChapterSegmentUID::KaxChapterSegmentUID
    - chapters::p_segment_uid::GetBuffer
    - debug
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxChapterSegmentUID, uid )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KaxChapterSegmentEditionUID::KaxChapterSegmentEditionUID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1411,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1413,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1415,1
    - Dst: chapters::p_segment_edition_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1415,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1420
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - reinterpret_cast<uint32_t*>
    - debug
    - static_cast<uint32_t>
    - KaxChapterSegmentEditionUID::KaxChapterSegmentEditionUID
    - chapters::p_segment_edition_uid::GetBuffer
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxChapterSegmentEditionUID, euid )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1423,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1423,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1425
      start: 1421
    functionDepth: 1
    functionLinenumber: 1421
    functionLinenumberEnd: 1425
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - debug
    - VLC_TICK_FROM_NS
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxChapterTimeStart, start )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1428,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1428,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1426
    functionDepth: 1
    functionLinenumber: 1426
    functionLinenumberEnd: 1430
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - debug
    - VLC_TICK_FROM_NS
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxChapterTimeEnd, end )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1433,1
    - Dst: iterate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1436,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1436,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1431
    functionDepth: 0
    functionLinenumber: 1431
    functionLinenumberEnd: 1438
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - debug
    - begin
    - end
    - iterate
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxChapterDisplay, chapter_display )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1441,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1450,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1439
    functionDepth: 0
    functionLinenumber: 1439
    functionLinenumberEnd: 1451
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - UTFstring
    - debug
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxChapterString, name )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1454,1
    - Dst: static_cast<std::string const&>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1452
    functionDepth: 0
    functionLinenumber: 1452
    functionLinenumberEnd: 1455
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - debug
    - static_cast<std::string const&>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxChapterLanguage, lang )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1458,1
    - Dst: static_cast<std::string const&>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1456
    functionDepth: 0
    functionLinenumber: 1456
    functionLinenumberEnd: 1459
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - debug
    - static_cast<std::string const&>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxChapterCountry, ct )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1463,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1465,1
    - Dst: MKV_CHECKED_PTR_DECL_CONST
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1472,1
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1474,1
    - Dst: obj::sys::GetMatroskaScriptInterpreter
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1476,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1477,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1478,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1481,1
    - Dst: matroska_script_codec_c::matroska_script_codec_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1480,1
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1485,1
    - Dst: obj::sys::GetDVDInterpretor
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1487,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1488,1
    - Dst: debug
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1489,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1491,1
    - Dst: dvd_chapter_codec_c::dvd_chapter_codec_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1491,1
    - Dst: MKV_CHECKED_PTR_DECL_CONST
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1501,1
    - Dst: chapter_codec_cmds_c*::SetPrivate
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1503,1
    - Dst: MKV_CHECKED_PTR_DECL_CONST
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1505,1
    - Dst: chapter_codec_cmds_c*::AddCommand
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1507,1
    - Dst: chapters::codecs::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1510,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1461
    functionDepth: 1
    functionLinenumber: 1461
    functionLinenumberEnd: 1512
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - chapter_codec_cmds_c*::AddCommand
    - obj::sys::GetMatroskaScriptInterpreter
    - GetValue
    - MKV_CHECKED_PTR_DECL_CONST
    - debug
    - vlc_object_logger
    - var_InheritBool
    - chapter_codec_cmds_c*::SetPrivate
    - matroska_script_codec_c::matroska_script_codec_c
    - chapters::codecs::push_back
    - dvd_chapter_codec_c::dvd_chapter_codec_c
    - unlikely
    - obj::sys::GetDVDInterpretor
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxChapterProcess, cp )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chapter_item_c::chapter_item_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1515,1
    - Dst: obj::ParseChapterAtom
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1518,1
    - Dst: chapters::sub_chapters::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1513
    functionDepth: 0
    functionLinenumber: 1513
    functionLinenumberEnd: 1520
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - chapter_item_c::chapter_item_c
    - chapters::sub_chapters::push_back
    - obj::ParseChapterAtom
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxChapterAtom, atom )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mkv::matroska_segment_c::ReadMaster
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1531,1
    - Dst: FindChild<KaxAttached>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1534,1
    - Dst: KaxAttached*::GetSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1538,1
    - Dst: GetMandatoryChild<KaxFileData>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1540,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1541,1
    - Dst: GetMandatoryChild<KaxFileName>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1541,1
    - Dst: vlc_input_attachment_New
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1542,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1542,1
    - Dst: GetMandatoryChild<KaxMimeType>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1543,1
    - Dst: KaxFileData::GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1545,1
    - Dst: KaxFileData::GetSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1546,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1549,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1552,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1555,1
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1559,1
    - Dst: vlc_meta_SetArtURL
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1560,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1561,1
    - Dst: stored_attachments::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1564,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1564,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1568,1
    - Dst: what
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1568,1
    - Dst: FindNextChild<KaxAttached>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1570,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - attachments
    argTypes:
    - KaxAttachments*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1529
    functionDepth: 2
    functionLinenumber: 1529
    functionLinenumberEnd: 1572
    functionName: mkv::matroska_segment_c::ParseAttachments
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - GetMandatoryChild<KaxFileName>
    - mkv::matroska_segment_c::ReadMaster
    - std::string::c_str
    - stored_attachments::push_back
    - GetMandatoryChild<KaxFileData>
    - asprintf
    - KaxFileData::GetBuffer
    - vlc_meta_New
    - KaxAttached*::GetSize
    - msg_Dbg
    - FindNextChild<KaxAttached>
    - UTFstring
    - FindChild<KaxAttached>
    - strncmp
    - KaxFileData::GetSize
    - vlc::wrap_cptr
    - what
    - vlc_input_attachment_New
    - free
    - vlc_meta_SetArtURL
    - GetMandatoryChild<KaxMimeType>
    linkageType: ''
    returnType: void
    signature: void matroska_segment_c::ParseAttachments( KaxAttachments *attachments
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mkv::matroska_segment_c::ReadMaster
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1579,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1584,1
    - Dst: chapter_edition_c::chapter_edition_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1592,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1596,1
    - Dst: chapter_item_c::chapter_item_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1599,1
    - Dst: obj::ParseChapterAtom
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1600,1
    - Dst: p_edition::sub_chapters::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1601,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1605,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1609,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1609,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1613,1
    - Dst: obj::stored_editions::size
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1614,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1618,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1622,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1623,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1627,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1627,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1630,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1630,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1630,1
    - Dst: "struct EditionPayload {\n                matroska_segment_c * const obj;\n
        \               demux_t            * const p_demuxer;\n                chapter_edition_c
        \ * const p_edition;\n\n            }::obj::stored_editions::push_back"
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1632,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1635,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1636,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1640,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1640,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1644,1
    - Dst: KaxChapters*::begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1644,1
    - Dst: KaxChapters*::end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 1
    argNames:
    - chapters
    argTypes:
    - KaxChapters*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1577
    functionDepth: 1
    functionLinenumber: 1577
    functionLinenumberEnd: 1645
    functionName: mkv::matroska_segment_c::ParseChapters
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - obj::ParseChapterAtom
    - mkv::matroska_segment_c::ReadMaster
    - p_edition::sub_chapters::push_back
    - KaxChapters*::end
    - "struct EditionPayload {\n                matroska_segment_c * const obj;\n
      \               demux_t            * const p_demuxer;\n                chapter_edition_c
      \ * const p_edition;\n\n            }::obj::stored_editions::push_back"
    - begin
    - msg_Dbg
    - KaxChapters*::begin
    - static_cast<uint8_t>
    - chapter_item_c::chapter_item_c
    - static_cast<uint64_t>
    - Dispatcher::Dispatcher
    - var_InheritBool
    - MKV_SWITCH_INIT
    - EBML_NAME
    - end
    - obj::stored_editions::size
    - VLC_UNUSED
    - chapter_edition_c::chapter_edition_c
    linkageType: ''
    returnType: void
    signature: void matroska_segment_c::ParseChapters( KaxChapters *chapters )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1584,1
    - Dst: chapter_edition_c::chapter_edition_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1592,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1596,1
    - Dst: chapter_item_c::chapter_item_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1599,1
    - Dst: obj::ParseChapterAtom
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1600,1
    - Dst: p_edition::sub_chapters::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1601,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1605,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1609,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1609,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1613,1
    - Dst: obj::stored_editions::size
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1614,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1618,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1622,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1623,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1627,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1627,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1630,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1630,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1630,1
    - Dst: "struct EditionPayload {\n                matroska_segment_c * const obj;\n
        \               demux_t            * const p_demuxer;\n                chapter_edition_c
        \ * const p_edition;\n\n            }::obj::stored_editions::push_back"
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1632,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1635,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1636,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1640,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1640,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1642
      start: 1582
    functionDepth: 1
    functionLinenumber: 1582
    functionLinenumberEnd: 1642
    functionName: mkv::MKV_SWITCH_CREATE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - obj::ParseChapterAtom
    - Dispatcher::Dispatcher
    - end
    - begin
    - chapter_edition_c::chapter_edition_c
    - var_InheritBool
    - MKV_SWITCH_INIT
    - p_edition::sub_chapters::push_back
    - msg_Dbg
    - EBML_NAME
    - static_cast<uint8_t>
    - chapter_item_c::chapter_item_c
    - obj::stored_editions::size
    - "struct EditionPayload {\n                matroska_segment_c * const obj;\n
      \               demux_t            * const p_demuxer;\n                chapter_edition_c
      \ * const p_edition;\n\n            }::obj::stored_editions::push_back"
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void MKV_SWITCH_CREATE( EbmlTypeDispatcher, KaxChapterHandler, matroska_segment_c
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: chapter_edition_c::chapter_edition_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1592,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1596,1
    - Dst: chapter_item_c::chapter_item_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1599,1
    - Dst: obj::ParseChapterAtom
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1600,1
    - Dst: p_edition::sub_chapters::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1601,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1605,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1609,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1609,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1613,1
    - Dst: obj::stored_editions::size
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1614,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1618,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1622,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1623,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1627,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1627,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1630,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1630,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1630,1
    - Dst: "struct EditionPayload {\n                matroska_segment_c * const obj;\n
        \               demux_t            * const p_demuxer;\n                chapter_edition_c
        \ * const p_edition;\n\n            }::obj::stored_editions::push_back"
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1632,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1633
      start: 1585
    functionDepth: 1
    functionLinenumber: 1585
    functionLinenumberEnd: 1633
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - static_cast<uint64_t>
    - obj::ParseChapterAtom
    - Dispatcher::Dispatcher
    - end
    - begin
    - chapter_edition_c::chapter_edition_c
    - var_InheritBool
    - MKV_SWITCH_INIT
    - p_edition::sub_chapters::push_back
    - msg_Dbg
    - EBML_NAME
    - static_cast<uint8_t>
    - chapter_item_c::chapter_item_c
    - obj::stored_editions::size
    - "struct EditionPayload {\n                matroska_segment_c * const obj;\n
      \               demux_t            * const p_demuxer;\n                chapter_edition_c
      \ * const p_edition;\n\n            }::obj::stored_editions::push_back"
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxEditionEntry, entry )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1596,1
    - Dst: chapter_item_c::chapter_item_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1599,1
    - Dst: obj::ParseChapterAtom
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1600,1
    - Dst: p_edition::sub_chapters::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1601,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1605,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1609,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1609,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1613,1
    - Dst: obj::stored_editions::size
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1614,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1618,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1622,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1623,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1627,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1627,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1594
    functionDepth: 1
    functionLinenumber: 1594
    functionLinenumberEnd: 1629
    functionName: mkv::MKV_SWITCH_CREATE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - obj::ParseChapterAtom
    - var_InheritBool
    - MKV_SWITCH_INIT
    - p_edition::sub_chapters::push_back
    - msg_Dbg
    - EBML_NAME
    - static_cast<uint8_t>
    - chapter_item_c::chapter_item_c
    - obj::stored_editions::size
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void MKV_SWITCH_CREATE( EbmlTypeDispatcher, KaxEditionHandler, EditionPayload
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chapter_item_c::chapter_item_c
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1599,1
    - Dst: obj::ParseChapterAtom
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1600,1
    - Dst: p_edition::sub_chapters::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1597
    functionDepth: 0
    functionLinenumber: 1597
    functionLinenumberEnd: 1602
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - chapter_item_c::chapter_item_c
    - p_edition::sub_chapters::push_back
    - obj::ParseChapterAtom
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxChapterAtom, chapter_atom )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1603
    functionDepth: 0
    functionLinenumber: 1603
    functionLinenumberEnd: 1606
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxEditionUID, euid )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1609,1
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1609,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1607
    functionDepth: 1
    functionLinenumber: 1607
    functionLinenumberEnd: 1610
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - var_InheritBool
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxEditionFlagOrdered, flag_ordered )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1613,1
    - Dst: obj::stored_editions::size
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1614,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1615
      start: 1611
    functionDepth: 0
    functionLinenumber: 1611
    functionLinenumberEnd: 1615
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - obj::stored_editions::size
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxEditionFlagDefault, flag_default )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1616
    functionDepth: 0
    functionLinenumber: 1616
    functionLinenumberEnd: 1619
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxEditionFlagHidden, flag_hidden )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1622,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1620
    functionDepth: 1
    functionLinenumber: 1620
    functionLinenumberEnd: 1624
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void E_CASE( EbmlVoid, el )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1627,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1625
    functionDepth: 1
    functionLinenumber: 1625
    functionLinenumberEnd: 1628
    functionName: mkv::E_CASE_DEFAULT
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - EBML_NAME
    linkageType: ''
    returnType: void
    signature: void E_CASE_DEFAULT( el )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1635,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1637
      start: 1634
    functionDepth: 1
    functionLinenumber: 1634
    functionLinenumberEnd: 1637
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 6
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void E_CASE( EbmlVoid, el )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1640,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1638
    functionDepth: 1
    functionLinenumber: 1638
    functionLinenumberEnd: 1641
    functionName: mkv::E_CASE_DEFAULT
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - EBML_NAME
    linkageType: ''
    returnType: void
    signature: void E_CASE_DEFAULT( el )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mkv::matroska_segment_c::ReadMaster
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1652,1
    - Dst: FindChild<KaxClusterTimestamp>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1655,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1658,1
    - Dst: KaxCluster*::InitTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1662,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1662,1
    - Dst: add_cluster
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1663,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1666,1
    - Dst: KaxCluster*::GlobalTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1666,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - cluster
    - b_update_start_time
    - read_fully
    argTypes:
    - KaxCluster*
    - bool
    - ScopeMode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1647
    functionDepth: 1
    functionLinenumber: 1647
    functionLinenumberEnd: 1669
    functionName: mkv::matroska_segment_c::ParseCluster
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - FindChild<KaxClusterTimestamp>
    - static_cast<uint64_t>
    - KaxCluster*::InitTimestamp
    - add_cluster
    - msg_Err
    - mkv::matroska_segment_c::ReadMaster
    - VLC_TICK_FROM_NS
    - KaxCluster*::GlobalTimestamp
    linkageType: ''
    returnType: bool
    signature: bool matroska_segment_c::ParseCluster( KaxCluster *cluster, bool b_update_start_time,
      ScopeMode read_fully )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1673
      start: 1671
    functionDepth: 0
    functionLinenumber: 1671
    functionLinenumberEnd: 1673
    functionName: ONLY_FMT
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 100
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ONLY_FMT(t)
  - BBCount: 65
    BranchProfiles: []
    Callsites:
    - Dst: mkv_track_t*::codec::empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1676,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1678,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1694,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1696,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1699,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1704,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1707,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1708,1
    - Dst: GetFOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1709,1
    - Dst: std::min
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1712,1
    - Dst: static_cast<size_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1712,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1712,1
    - Dst: xmalloc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1717,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1718,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1719,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1723,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1732,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1734,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1736,1
    - Dst: strstr
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1739,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1741,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1743,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1746,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1756,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1756,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1758,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1763,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1765,1
    - Dst: v_real_helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1765,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1766,1
    - Dst: v_real_helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1766,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1767,1
    - Dst: v_real_helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1767,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1768,1
    - Dst: v_real_helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1768,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1769,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1772,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1778,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1784,1
    - Dst: static_cast<const uint8_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1787,1
    - Dst: es_format_HasVpxAlpha
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1800,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1818,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1822,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1826,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1829,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1832,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1835,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1838,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1839,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1840,1
    - Dst: S_CASE_GLOB
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1842,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1844,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1846,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1857,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1863,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1865,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1867,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1869,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1870,1
    - Dst: MP4_BoxNew
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1873,1
    - Dst: vlc_stream_MemoryNew
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1876,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1876,1
    - Dst: GetFOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1882,1
    - Dst: MP4_ReadBox_sample_vide
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1884,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1893,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1897,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1901,1
    - Dst: MP4_BoxFree
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1903,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1906,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1908,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1912,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1914,1
    - Dst: vlc_fourcc_GetDescription
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1917,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1921,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1925,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1929,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1931,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1933,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1935,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1937,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1943,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1948,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1950,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1951,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1952,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1953,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1954,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1956,1
    - Dst: xmalloc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1961,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1963,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1968,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1973,1
    - Dst: sf_tag_to_fourcc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1975,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1982,1
    - Dst: getChannelMask
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1986,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1993,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2000,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2009,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2025,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2045,1
    - Dst: vlc_fourcc_GetCodecAudio
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2051,1
    - Dst: aout_CheckChannelReorder
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2055,1
    - Dst: wf_tag_to_fourcc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2066,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2069,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2073,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2078,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2086,1
    - Dst: A_MPEG_helper_
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2086,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2087,1
    - Dst: A_MPEG_helper_
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2087,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2088,1
    - Dst: A_MPEG_helper_
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2088,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2089,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2090,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2101,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2102,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2106,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2110,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2114,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2115,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2119,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2121,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2123,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2125,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2128,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2133,1
    - Dst: static_cast<const void *>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2139,1
    - Dst: static_cast<const void *>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2140,1
    - Dst: xiph_PackHeaders
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2142,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2145,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2147,1
    - Dst: A_OPUS__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2147,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2148,1
    - Dst: A_OPUS__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2148,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2150,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2169,1
    - Dst: xmalloc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2172,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2188,1
    - Dst: A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2188,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2189,1
    - Dst: A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2189,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2190,1
    - Dst: A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2190,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2191,1
    - Dst: A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2191,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2192,1
    - Dst: A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2192,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2193,1
    - Dst: A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2193,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2194,1
    - Dst: A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2194,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2195,1
    - Dst: A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2195,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2196,1
    - Dst: A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2196,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2197,1
    - Dst: A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2197,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2198,1
    - Dst: A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2198,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2199,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2201,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2203,1
    - Dst: fill_extra_data_alac
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2205,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2207,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2209,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2211,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2212,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2219,1
    - Dst: xmalloc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2224,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2226,1
    - Dst: SetWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2227,1
    - Dst: SetWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2228,1
    - Dst: SetWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2229,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2230,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2231,1
    - Dst: memset
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2232,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2236,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2241,1
    - Dst: A_PCM__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2241,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2241,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2242,1
    - Dst: A_PCM__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2242,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2242,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2243,1
    - Dst: A_PCM__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2243,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2243,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2244,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2245,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2252,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2258,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2259,1
    - Dst: Cook_PrivateTrackData::Cook_PrivateTrackData
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2271,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2277,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2278,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2280,1
    - Dst: Cook_PrivateTrackData*::Init
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2280,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2281,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2291,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2293,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2295,1
    - Dst: A_REAL__is_valid
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2296,1
    - Dst: A_REAL__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2299,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2301,1
    - Dst: A_REAL__is_valid
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2302,1
    - Dst: A_REAL__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2305,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2307,1
    - Dst: A_REAL__is_valid
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2308,1
    - Dst: A_REAL__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2311,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2313,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2317,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2319,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2323,1
    - Dst: S_CASE_GLOB
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2325,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2327,1
    - Dst: GetFOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2330,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2332,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2334,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2335,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2337,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2339,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2341,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2342,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2344,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2346,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2347,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2349,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2351,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2352,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2354,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2355,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2358,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2360,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2361,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2363,1
    - Dst: SSA__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2363,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2364,1
    - Dst: SSA__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2364,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2365,1
    - Dst: SSA__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2365,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2366,1
    - Dst: SSA__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2366,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2367,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2368,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2373,1
    - Dst: vobsub_extra_parse
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2375,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2375,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2379,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2381,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2385,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2387,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2388,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2392,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2395,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2398,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2399,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2401,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2403,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2404,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2406,1
    - Dst: fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2407,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2409,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2413,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2419,1
    - Dst: mkv_track_t*::codec::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2419,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2423,1
    - Dst: mkv_track_t*::codec::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2424,1
    - Dst: what
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2424,1
    CyclomaticComplexity: 96
    EdgeCount: 96
    ICount: 578
    argCount: 1
    argNames:
    - p_tk
    argTypes:
    - mkv_track_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2429
      start: 1674
    functionDepth: 4
    functionLinenumber: 1674
    functionLinenumberEnd: 2429
    functionName: mkv::matroska_segment_c::TrackInit
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 2
    functionsReached:
    - A_AAC_MPEG__helper
    - strchr
    - GetWLE
    - xiph_PackHeaders
    - memcpy
    - sf_tag_to_fourcc
    - vlc_stream_MemoryNew
    - fill_extra_data_alac
    - memcmp
    - std::runtime_error
    - A_REAL__helper
    - vlc_fourcc_GetDescription
    - static_cast<size_t>
    - ARRAY_SIZE
    - Cook_PrivateTrackData*::Init
    - mkv_track_t*::codec::c_str
    - MP4_BoxNew
    - S_CASE_GLOB
    - msg_Err
    - fill_extra_data
    - SetDWLE
    - msg_Dbg
    - strstr
    - static_cast<const void *>
    - msg_Warn
    - A_OPUS__helper
    - getChannelMask
    - vobsub_extra_parse
    - VLC_FOURCC
    - es_format_HasVpxAlpha
    - GetFOURCC
    - Cook_PrivateTrackData::Cook_PrivateTrackData
    - strdup
    - wf_tag_to_fourcc
    - Dispatcher::Dispatcher
    - SetWLE
    - MKV_SWITCH_INIT
    - MP4_BoxFree
    - S_CASE
    - A_REAL__is_valid
    - likely
    - vlc_fourcc_GetCodecAudio
    - mkv_track_t*::codec::empty
    - ONLY_FMT
    - GetWBE
    - A_MPEG_helper_
    - A_PCM__helper
    - aout_CheckChannelReorder
    - memset
    - SSA__helper
    - std::min
    - vlc_stream_Delete
    - what
    - xmalloc
    - GetDWLE
    - VLC_OBJECT
    - MP4_ReadBox_sample_vide
    - v_real_helper
    - unlikely
    - malloc
    - static_cast<const uint8_t*>
    linkageType: ''
    returnType: bool
    signature: bool matroska_segment_c::TrackInit( mkv_track_t * p_tk )
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1694,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1696,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1699,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1704,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1707,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1708,1
    - Dst: GetFOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1709,1
    - Dst: std::min
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1712,1
    - Dst: static_cast<size_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1712,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1712,1
    - Dst: xmalloc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1717,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1718,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1719,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1723,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1732,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1734,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1736,1
    - Dst: strstr
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1739,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1741,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1743,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1746,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1756,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1756,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1758,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1763,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1765,1
    - Dst: mkv::v_real_helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1765,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1766,1
    - Dst: mkv::v_real_helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1766,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1767,1
    - Dst: mkv::v_real_helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1767,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1768,1
    - Dst: mkv::v_real_helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1768,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1769,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1772,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1778,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1784,1
    - Dst: static_cast<const uint8_t*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1787,1
    - Dst: es_format_HasVpxAlpha
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1800,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1818,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1822,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1826,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1829,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1832,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1835,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1838,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1839,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1840,1
    - Dst: S_CASE_GLOB
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1842,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1844,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1846,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1857,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1863,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1865,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1867,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1869,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1870,1
    - Dst: MP4_BoxNew
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1873,1
    - Dst: vlc_stream_MemoryNew
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1876,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1876,1
    - Dst: GetFOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1882,1
    - Dst: MP4_ReadBox_sample_vide
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1884,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1893,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1897,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1901,1
    - Dst: MP4_BoxFree
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1903,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1906,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1908,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1912,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1914,1
    - Dst: vlc_fourcc_GetDescription
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1917,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1921,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1925,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1929,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1931,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1933,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1935,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1937,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1943,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1948,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1950,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1951,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1952,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1953,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1954,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1956,1
    - Dst: xmalloc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1961,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1963,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1968,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1973,1
    - Dst: sf_tag_to_fourcc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1975,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1982,1
    - Dst: getChannelMask
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1986,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1993,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2000,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2009,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2025,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2045,1
    - Dst: vlc_fourcc_GetCodecAudio
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2051,1
    - Dst: aout_CheckChannelReorder
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2055,1
    - Dst: wf_tag_to_fourcc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2066,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2069,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2073,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2078,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2086,1
    - Dst: mkv::A_MPEG_helper_
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2086,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2087,1
    - Dst: mkv::A_MPEG_helper_
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2087,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2088,1
    - Dst: mkv::A_MPEG_helper_
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2088,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2089,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2090,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2101,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2102,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2106,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2110,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2114,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2115,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2119,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2121,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2123,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2125,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2128,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2133,1
    - Dst: static_cast<const void *>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2139,1
    - Dst: static_cast<const void *>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2140,1
    - Dst: xiph_PackHeaders
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2142,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2145,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2147,1
    - Dst: mkv::A_OPUS__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2147,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2148,1
    - Dst: mkv::A_OPUS__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2148,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2150,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2169,1
    - Dst: xmalloc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2172,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2188,1
    - Dst: mkv::A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2188,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2189,1
    - Dst: mkv::A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2189,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2190,1
    - Dst: mkv::A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2190,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2191,1
    - Dst: mkv::A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2191,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2192,1
    - Dst: mkv::A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2192,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2193,1
    - Dst: mkv::A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2193,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2194,1
    - Dst: mkv::A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2194,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2195,1
    - Dst: mkv::A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2195,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2196,1
    - Dst: mkv::A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2196,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2197,1
    - Dst: mkv::A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2197,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2198,1
    - Dst: mkv::A_AAC_MPEG__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2198,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2199,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2201,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2203,1
    - Dst: mkv::fill_extra_data_alac
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2205,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2207,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2209,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2211,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2212,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2219,1
    - Dst: xmalloc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2224,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2226,1
    - Dst: SetWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2227,1
    - Dst: SetWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2228,1
    - Dst: SetWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2229,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2230,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2231,1
    - Dst: memset
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2232,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2236,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2241,1
    - Dst: mkv::A_PCM__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2241,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2241,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2242,1
    - Dst: mkv::A_PCM__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2242,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2242,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2243,1
    - Dst: mkv::A_PCM__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2243,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2243,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2244,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2245,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2252,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2258,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2259,1
    - Dst: Cook_PrivateTrackData::Cook_PrivateTrackData
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2271,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2277,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2278,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2280,1
    - Dst: Cook_PrivateTrackData*::Init
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2280,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2281,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2291,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2293,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2295,1
    - Dst: mkv::A_REAL__is_valid
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2296,1
    - Dst: mkv::A_REAL__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2299,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2301,1
    - Dst: mkv::A_REAL__is_valid
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2302,1
    - Dst: mkv::A_REAL__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2305,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2307,1
    - Dst: mkv::A_REAL__is_valid
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2308,1
    - Dst: mkv::A_REAL__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2311,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2313,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2317,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2319,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2323,1
    - Dst: S_CASE_GLOB
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2325,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2327,1
    - Dst: GetFOURCC
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2330,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2332,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2334,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2335,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2337,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2339,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2341,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2342,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2344,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2346,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2347,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2349,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2351,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2352,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2354,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2355,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2358,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2360,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2361,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2363,1
    - Dst: mkv::SSA__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2363,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2364,1
    - Dst: mkv::SSA__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2364,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2365,1
    - Dst: mkv::SSA__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2365,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2366,1
    - Dst: mkv::SSA__helper
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2366,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2367,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2368,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2373,1
    - Dst: vobsub_extra_parse
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2375,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2375,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2379,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2381,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2385,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2387,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2388,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2392,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2395,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2398,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2399,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2401,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2403,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2404,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2406,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2407,1
    - Dst: S_CASE
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2409,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2413,1
    CyclomaticComplexity: 94
    EdgeCount: 94
    ICount: 564
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2416
      start: 1692
    functionDepth: 4
    functionLinenumber: 1692
    functionLinenumberEnd: 2416
    functionName: mkv::MKV_SWITCH_CREATE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - strchr
    - GetWLE
    - xiph_PackHeaders
    - memcpy
    - mkv::fill_extra_data_alac
    - sf_tag_to_fourcc
    - vlc_stream_MemoryNew
    - mkv::SSA__helper
    - mkv::A_PCM__helper
    - memcmp
    - std::runtime_error
    - vlc_fourcc_GetDescription
    - static_cast<size_t>
    - ARRAY_SIZE
    - Cook_PrivateTrackData*::Init
    - MP4_BoxNew
    - S_CASE_GLOB
    - msg_Err
    - mkv::A_OPUS__helper
    - SetDWLE
    - msg_Dbg
    - strstr
    - static_cast<const void *>
    - msg_Warn
    - getChannelMask
    - vobsub_extra_parse
    - VLC_FOURCC
    - mkv::fill_extra_data
    - GetFOURCC
    - es_format_HasVpxAlpha
    - mkv::A_AAC_MPEG__helper
    - Cook_PrivateTrackData::Cook_PrivateTrackData
    - strdup
    - wf_tag_to_fourcc
    - mkv::A_MPEG_helper_
    - SetWLE
    - MKV_SWITCH_INIT
    - MP4_BoxFree
    - S_CASE
    - likely
    - vlc_fourcc_GetCodecAudio
    - mkv::A_REAL__helper
    - ONLY_FMT
    - GetWBE
    - mkv::v_real_helper
    - aout_CheckChannelReorder
    - memset
    - std::min
    - vlc_stream_Delete
    - xmalloc
    - GetDWLE
    - mkv::A_REAL__is_valid
    - VLC_OBJECT
    - MP4_ReadBox_sample_vide
    - unlikely
    - malloc
    - static_cast<const uint8_t*>
    linkageType: ''
    returnType: void
    signature: void MKV_SWITCH_CREATE( StringDispatcher, TrackCodecHandlers, HandlerPayload
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1756,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1756,1
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1758,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:1763,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - codec
    - ' vars'
    argTypes:
    - vlc_fourcc_t
    - HandlerPayload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1748
    functionDepth: 2
    functionLinenumber: 1748
    functionLinenumberEnd: 1764
    functionName: mkv::v_real_helper
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 2
    functionsReached:
    - mkv::fill_extra_data
    - ONLY_FMT
    - strchr
    - memcmp
    linkageType: ''
    returnType: void
    signature: void v_real_helper (vlc_fourcc_t codec, HandlerPayload& vars)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - HandlerPayload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2085
      start: 2082
    functionDepth: 0
    functionLinenumber: 2082
    functionLinenumberEnd: 2085
    functionName: mkv::A_MPEG_helper_
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void A_MPEG_helper_ (HandlerPayload& vars)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2128,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2133,1
    - Dst: static_cast<const void *>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2139,1
    - Dst: static_cast<const void *>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2140,1
    - Dst: xiph_PackHeaders
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2142,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - HandlerPayload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2146
      start: 2127
    functionDepth: 2
    functionLinenumber: 2127
    functionLinenumberEnd: 2146
    functionName: mkv::A_OPUS__helper
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 2
    functionsReached:
    - xiph_PackHeaders
    - ONLY_FMT
    - static_cast<const void *>
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void A_OPUS__helper(HandlerPayload& vars)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2150,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2169,1
    - Dst: xmalloc
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - ' vars'
    - i_profile
    argTypes:
    - HandlerPayload
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2187
      start: 2149
    functionDepth: 1
    functionLinenumber: 2149
    functionLinenumberEnd: 2187
    functionName: mkv::A_AAC_MPEG__helper
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 2
    functionsReached:
    - ONLY_FMT
    - xmalloc
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void A_AAC_MPEG__helper(HandlerPayload& vars, int i_profile, bool sbr
      = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' vars'
    - i_codec
    argTypes:
    - HandlerPayload
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2240
      start: 2235
    functionDepth: 1
    functionLinenumber: 2235
    functionLinenumberEnd: 2240
    functionName: mkv::A_PCM__helper
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 2
    functionsReached:
    - ONLY_FMT
    linkageType: ''
    returnType: void
    signature: void A_PCM__helper (HandlerPayload& vars, vlc_fourcc_t i_codec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2252,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2258,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - HandlerPayload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2265
      start: 2251
    functionDepth: 1
    functionLinenumber: 2251
    functionLinenumberEnd: 2265
    functionName: mkv::A_REAL__is_valid
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 2
    functionsReached:
    - ONLY_FMT
    - memcmp
    - msg_Err
    linkageType: ''
    returnType: bool
    signature: bool A_REAL__is_valid (HandlerPayload& vars)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Cook_PrivateTrackData::Cook_PrivateTrackData
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2271,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2277,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2278,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2280,1
    - Dst: Cook_PrivateTrackData*::Init
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2280,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2281,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2291,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - ' vars'
    - i_codec
    argTypes:
    - HandlerPayload
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2294
      start: 2266
    functionDepth: 2
    functionLinenumber: 2266
    functionLinenumberEnd: 2294
    functionName: mkv::A_REAL__helper
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 2
    functionsReached:
    - mkv::fill_extra_data
    - Cook_PrivateTrackData::Cook_PrivateTrackData
    - Cook_PrivateTrackData*::Init
    - msg_Dbg
    - unlikely
    - std::runtime_error
    linkageType: ''
    returnType: void
    signature: void A_REAL__helper (HandlerPayload& vars, vlc_fourcc_t i_codec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_FMT
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2358,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2360,1
    - Dst: mkv::fill_extra_data
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' vars'
    argTypes:
    - HandlerPayload
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2362
      start: 2357
    functionDepth: 2
    functionLinenumber: 2357
    functionLinenumberEnd: 2362
    functionName: mkv::SSA__helper
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 2
    functionsReached:
    - mkv::fill_extra_data
    - ONLY_FMT
    - strdup
    linkageType: ''
    returnType: void
    signature: void SSA__helper (HandlerPayload& vars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp:2413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2415
      start: 2412
    functionDepth: 1
    functionLinenumber: 2412
    functionLinenumberEnd: 2415
    functionName: mkv::S_CASE_DEFAULT
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_parse.cpp
    functionUses: 0
    functionsReached:
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void S_CASE_DEFAULT(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/demux/mkv/events.cpp:37,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/demux/mkv/events.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: mkv::event_thread_t::event_thread_t
    functionSourceFile: /src/vlc/modules/demux/mkv/events.cpp
    functionUses: 0
    functionsReached:
    - vlc_cond_init
    - vlc_mutex_init
    linkageType: ''
    returnType: void
    signature: void event_thread_t::event_thread_t(demux_t *p_demux)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbortThread
      Src: /src/vlc/modules/demux/mkv/events.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: event_thread_t::~event_thread_t()
    functionSourceFile: /src/vlc/modules/demux/mkv/events.cpp
    functionUses: 0
    functionsReached:
    - AbortThread
    linkageType: ''
    returnType: void
    signature: void event_thread_t::~event_thread_t()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mkv::event_thread_t::QueueEvent
      Src: /src/vlc/modules/demux/mkv/events.cpp:52,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mkv/events.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - track
    - p_block
    argTypes:
    - mkv_track_t
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: mkv::event_thread_t::SendData
    functionSourceFile: /src/vlc/modules/demux/mkv/events.cpp
    functionUses: 0
    functionsReached:
    - block_Release
    - mkv::event_thread_t::QueueEvent
    linkageType: ''
    returnType: void
    signature: void event_thread_t::SendData( mkv_track_t &track, block_t * p_block
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_clone
      Src: /src/vlc/modules/demux/mkv/events.cpp:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: mkv::event_thread_t::EnsureThreadLocked
    functionSourceFile: /src/vlc/modules/demux/mkv/events.cpp
    functionUses: 0
    functionsReached:
    - vlc_clone
    linkageType: ''
    returnType: void
    signature: void event_thread_t::EnsureThreadLocked()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/demux/mkv/events.cpp:76,1
    - Dst: vlc_join
      Src: /src/vlc/modules/demux/mkv/events.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 81
    functionName: mkv::event_thread_t::AbortThread
    functionSourceFile: /src/vlc/modules/demux/mkv/events.cpp
    functionUses: 0
    functionsReached:
    - vlc_cond_signal
    - vlc_join
    linkageType: ''
    returnType: void
    signature: void event_thread_t::AbortThread()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/mkv/events.cpp:96,1
    - Dst: mkv::event_thread_t::HandleKeyEvent
      Src: /src/vlc/modules/demux/mkv/events.cpp:103,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - nav_query
    argTypes:
    - demux_query_e
    assertStmts:
    - condition: (false)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/vlc/modules/demux/mkv/events.cpp
    constantsTouched: []
    func_position:
      end: 107
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 107
    functionName: mkv::event_thread_t::SendEventNav
    functionSourceFile: /src/vlc/modules/demux/mkv/events.cpp
    functionUses: 0
    functionsReached:
    - assert
    - mkv::event_thread_t::HandleKeyEvent
    linkageType: ''
    returnType: int
    signature: int event_thread_t::SendEventNav( demux_query_e nav_query )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ESInfo*>
      Src: /src/vlc/modules/demux/mkv/events.cpp:111,1
    - Dst: vlc_mouse_Init
      Src: /src/vlc/modules/demux/mkv/events.cpp:114,1
    - Dst: ESInfo*::owner::QueueEvent
      Src: /src/vlc/modules/demux/mkv/events.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - new_state
    - userdata
    argTypes:
    - vlc_mouse_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: mkv::event_thread_t::EventMouse
    functionSourceFile: /src/vlc/modules/demux/mkv/events.cpp
    functionUses: 0
    functionsReached:
    - static_cast<ESInfo*>
    - vlc_mouse_Init
    - ESInfo*::owner::QueueEvent
    linkageType: ''
    returnType: void
    signature: void event_thread_t::EventMouse( vlc_mouse_t const* new_state, void*
      userdata )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/demux/mkv/events.cpp:122,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/demux/mkv/events.cpp:124,1
    - Dst: empty
      Src: /src/vlc/modules/demux/mkv/events.cpp:128,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/demux/mkv/events.cpp:129,1
    - Dst: empty
      Src: /src/vlc/modules/demux/mkv/events.cpp:134,1
    - Dst: front
      Src: /src/vlc/modules/demux/mkv/events.cpp:136,1
    - Dst: pop_front
      Src: /src/vlc/modules/demux/mkv/events.cpp:137,1
    - Dst: empty
      Src: /src/vlc/modules/demux/mkv/events.cpp:139,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/demux/mkv/events.cpp:142,1
    - Dst: mkv::event_thread_t::HandleMouseEvent
      Src: /src/vlc/modules/demux/mkv/events.cpp:146,1
    - Dst: mkv::event_thread_t::HandleButtonData
      Src: /src/vlc/modules/demux/mkv/events.cpp:150,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/demux/mkv/events.cpp:153,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/demux/mkv/events.cpp:157,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 158
    functionName: mkv::event_thread_t::EventThread
    functionSourceFile: /src/vlc/modules/demux/mkv/events.cpp
    functionUses: 0
    functionsReached:
    - vlc_restorecancel
    - vlc_thread_set_name
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - empty
    - mkv::event_thread_t::HandleButtonData
    - vlc_savecancel
    - mkv::event_thread_t::HandleMouseEvent
    - pop_front
    - vlc_cond_wait
    - front
    linkageType: ''
    returnType: void
    signature: void event_thread_t::EventThread()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<event_thread_t*>
      Src: /src/vlc/modules/demux/mkv/events.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: mkv::event_thread_t::EventThread
    functionSourceFile: /src/vlc/modules/demux/mkv/events.cpp
    functionUses: 0
    functionsReached:
    - static_cast<event_thread_t*>
    linkageType: ''
    returnType: void
    signature: void *event_thread_t::EventThread(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: demux_sys_t*::GetDVDInterpretor
      Src: /src/vlc/modules/demux/mkv/events.cpp:172,1
    - Dst: auto::HandleKeyEvent
      Src: /src/vlc/modules/demux/mkv/events.cpp:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - NavivationKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 178
    functionName: mkv::event_thread_t::HandleKeyEvent
    functionSourceFile: /src/vlc/modules/demux/mkv/events.cpp
    functionUses: 1
    functionsReached:
    - demux_sys_t*::GetDVDInterpretor
    - auto::HandleKeyEvent
    linkageType: ''
    returnType: bool
    signature: bool event_thread_t::HandleKeyEvent( NavivationKey key )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mouse_HasPressed
      Src: /src/vlc/modules/demux/mkv/events.cpp:185,1
    - Dst: mkv::event_thread_t::HandleMousePressed
      Src: /src/vlc/modules/demux/mkv/events.cpp:188,1
    - Dst: vlc_mouse_HasMoved
      Src: /src/vlc/modules/demux/mkv/events.cpp:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' event'
    argTypes:
    - EventInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: mkv::event_thread_t::HandleMouseEvent
    functionSourceFile: /src/vlc/modules/demux/mkv/events.cpp
    functionUses: 1
    functionsReached:
    - vlc_mouse_HasMoved
    - vlc_mouse_HasPressed
    - mkv::event_thread_t::HandleMousePressed
    linkageType: ''
    returnType: void
    signature: void event_thread_t::HandleMouseEvent( EventInfo const& event )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkv::event_thread_t::HandleButtonData
      Src: /src/vlc/modules/demux/mkv/events.cpp:198,1
    - Dst: button_data::get
      Src: /src/vlc/modules/demux/mkv/events.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' event'
    argTypes:
    - EventInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: mkv::event_thread_t::HandleButtonData
    functionSourceFile: /src/vlc/modules/demux/mkv/events.cpp
    functionUses: 2
    functionsReached:
    - mkv::event_thread_t::HandleButtonData
    - button_data::get
    linkageType: ''
    returnType: void
    signature: void event_thread_t::HandleButtonData( EventInfo const& event )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: demux_sys_t*::GetDVDInterpretor
      Src: /src/vlc/modules/demux/mkv/events.cpp:207,1
    - Dst: auto::SetPci
      Src: /src/vlc/modules/demux/mkv/events.cpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_block
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 212
    functionName: mkv::event_thread_t::HandleButtonData
    functionSourceFile: /src/vlc/modules/demux/mkv/events.cpp
    functionUses: 2
    functionsReached:
    - demux_sys_t*::GetDVDInterpretor
    - auto::SetPci
    linkageType: ''
    returnType: void
    signature: void event_thread_t::HandleButtonData( block_t *p_block )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/events.cpp:218,1
    - Dst: demux_sys_t*::GetDVDInterpretor
      Src: /src/vlc/modules/demux/mkv/events.cpp:222,1
    - Dst: auto::HandleMousePressed
      Src: /src/vlc/modules/demux/mkv/events.cpp:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 227
    functionName: mkv::event_thread_t::HandleMousePressed
    functionSourceFile: /src/vlc/modules/demux/mkv/events.cpp
    functionUses: 1
    functionsReached:
    - auto::HandleMousePressed
    - demux_sys_t*::GetDVDInterpretor
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void event_thread_t::HandleMousePressed( unsigned x, unsigned y )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mkv/events.cpp:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' spu_hl'
    argTypes:
    - vlc_spu_highlight_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 239
    functionName: mkv::event_thread_t::SetHighlight
    functionSourceFile: /src/vlc/modules/demux/mkv/events.cpp
    functionUses: 0
    functionsReached:
    - es_out_Control
    linkageType: ''
    returnType: void
    signature: void event_thread_t::SetHighlight( vlc_spu_highlight_t & spu_hl )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: push_front
      Src: /src/vlc/modules/demux/mkv/events.cpp:248,1
    - Dst: mkv::event_thread_t::ESInfo
      Src: /src/vlc/modules/demux/mkv/events.cpp:248,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/events.cpp:249,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mkv/events.cpp:253,1
    - Dst: static_cast<vlc_mouse_event>
      Src: /src/vlc/modules/demux/mkv/events.cpp:254,1
    - Dst: static_cast<void*>
      Src: /src/vlc/modules/demux/mkv/events.cpp:255,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/events.cpp:257,1
    - Dst: erase
      Src: /src/vlc/modules/demux/mkv/events.cpp:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' track'
    argTypes:
    - mkv_track_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 263
    functionName: mkv::event_thread_t::AddTrack
    functionSourceFile: /src/vlc/modules/demux/mkv/events.cpp
    functionUses: 0
    functionsReached:
    - erase
    - es_out_Control
    - static_cast<void*>
    - begin
    - static_cast<vlc_mouse_event>
    - push_front
    - msg_Warn
    - mkv::event_thread_t::ESInfo
    linkageType: ''
    returnType: bool
    signature: bool event_thread_t::AddTrack( mkv_track_t & track )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/vlc/modules/demux/mkv/events.cpp:268,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/events.cpp:268,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/events.cpp:268,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/events.cpp:269,1
    - Dst: erase
      Src: /src/vlc/modules/demux/mkv/events.cpp:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - track
    argTypes:
    - mkv_track_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: mkv::event_thread_t::DelTrack
    functionSourceFile: /src/vlc/modules/demux/mkv/events.cpp
    functionUses: 0
    functionsReached:
    - erase
    - end
    - begin
    - find
    linkageType: ''
    returnType: void
    signature: void event_thread_t::DelTrack( mkv_track_t &track )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/demux/mkv/events.cpp:37,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/demux/mkv/events.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: mkv::event_thread_t::event_thread_t
    functionSourceFile: /src/vlc/modules/demux/mkv/events.cpp
    functionUses: 0
    functionsReached:
    - vlc_cond_init
    - vlc_mutex_init
    linkageType: ''
    returnType: void
    signature: void event_thread_t::event_thread_t(demux_t *p_demux)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AbortThread
      Src: /src/vlc/modules/demux/mkv/events.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: event_thread_t::~event_thread_t()
    functionSourceFile: /src/vlc/modules/demux/mkv/events.cpp
    functionUses: 0
    functionsReached:
    - AbortThread
    linkageType: ''
    returnType: void
    signature: void event_thread_t::~event_thread_t()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mkv::event_thread_t::QueueEvent
      Src: /src/vlc/modules/demux/mkv/events.cpp:52,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mkv/events.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - track
    - p_block
    argTypes:
    - mkv_track_t
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: mkv::event_thread_t::SendData
    functionSourceFile: /src/vlc/modules/demux/mkv/events.cpp
    functionUses: 0
    functionsReached:
    - block_Release
    - mkv::event_thread_t::QueueEvent
    linkageType: ''
    returnType: void
    signature: void event_thread_t::SendData( mkv_track_t &track, block_t * p_block
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_clone
      Src: /src/vlc/modules/demux/mkv/events.cpp:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: mkv::event_thread_t::EnsureThreadLocked
    functionSourceFile: /src/vlc/modules/demux/mkv/events.cpp
    functionUses: 0
    functionsReached:
    - vlc_clone
    linkageType: ''
    returnType: void
    signature: void event_thread_t::EnsureThreadLocked()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/demux/mkv/events.cpp:76,1
    - Dst: vlc_join
      Src: /src/vlc/modules/demux/mkv/events.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 81
    functionName: mkv::event_thread_t::AbortThread
    functionSourceFile: /src/vlc/modules/demux/mkv/events.cpp
    functionUses: 0
    functionsReached:
    - vlc_cond_signal
    - vlc_join
    linkageType: ''
    returnType: void
    signature: void event_thread_t::AbortThread()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/mkv/events.cpp:96,1
    - Dst: mkv::event_thread_t::HandleKeyEvent
      Src: /src/vlc/modules/demux/mkv/events.cpp:103,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - nav_query
    argTypes:
    - demux_query_e
    assertStmts:
    - condition: (false)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/vlc/modules/demux/mkv/events.cpp
    constantsTouched: []
    func_position:
      end: 107
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 107
    functionName: mkv::event_thread_t::SendEventNav
    functionSourceFile: /src/vlc/modules/demux/mkv/events.cpp
    functionUses: 0
    functionsReached:
    - assert
    - mkv::event_thread_t::HandleKeyEvent
    linkageType: ''
    returnType: int
    signature: int event_thread_t::SendEventNav( demux_query_e nav_query )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ESInfo*>
      Src: /src/vlc/modules/demux/mkv/events.cpp:111,1
    - Dst: vlc_mouse_Init
      Src: /src/vlc/modules/demux/mkv/events.cpp:114,1
    - Dst: ESInfo*::owner::QueueEvent
      Src: /src/vlc/modules/demux/mkv/events.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - new_state
    - userdata
    argTypes:
    - vlc_mouse_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: mkv::event_thread_t::EventMouse
    functionSourceFile: /src/vlc/modules/demux/mkv/events.cpp
    functionUses: 0
    functionsReached:
    - static_cast<ESInfo*>
    - vlc_mouse_Init
    - ESInfo*::owner::QueueEvent
    linkageType: ''
    returnType: void
    signature: void event_thread_t::EventMouse( vlc_mouse_t const* new_state, void*
      userdata )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/demux/mkv/events.cpp:122,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/demux/mkv/events.cpp:124,1
    - Dst: empty
      Src: /src/vlc/modules/demux/mkv/events.cpp:128,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/demux/mkv/events.cpp:129,1
    - Dst: empty
      Src: /src/vlc/modules/demux/mkv/events.cpp:134,1
    - Dst: front
      Src: /src/vlc/modules/demux/mkv/events.cpp:136,1
    - Dst: pop_front
      Src: /src/vlc/modules/demux/mkv/events.cpp:137,1
    - Dst: empty
      Src: /src/vlc/modules/demux/mkv/events.cpp:139,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/demux/mkv/events.cpp:142,1
    - Dst: mkv::event_thread_t::HandleMouseEvent
      Src: /src/vlc/modules/demux/mkv/events.cpp:146,1
    - Dst: mkv::event_thread_t::HandleButtonData
      Src: /src/vlc/modules/demux/mkv/events.cpp:150,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/demux/mkv/events.cpp:153,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/demux/mkv/events.cpp:157,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 158
    functionName: mkv::event_thread_t::EventThread
    functionSourceFile: /src/vlc/modules/demux/mkv/events.cpp
    functionUses: 0
    functionsReached:
    - vlc_restorecancel
    - vlc_thread_set_name
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - empty
    - mkv::event_thread_t::HandleButtonData
    - vlc_savecancel
    - mkv::event_thread_t::HandleMouseEvent
    - pop_front
    - vlc_cond_wait
    - front
    linkageType: ''
    returnType: void
    signature: void event_thread_t::EventThread()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<event_thread_t*>
      Src: /src/vlc/modules/demux/mkv/events.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: mkv::event_thread_t::EventThread
    functionSourceFile: /src/vlc/modules/demux/mkv/events.cpp
    functionUses: 0
    functionsReached:
    - static_cast<event_thread_t*>
    linkageType: ''
    returnType: void
    signature: void *event_thread_t::EventThread(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: demux_sys_t*::GetDVDInterpretor
      Src: /src/vlc/modules/demux/mkv/events.cpp:172,1
    - Dst: auto::HandleKeyEvent
      Src: /src/vlc/modules/demux/mkv/events.cpp:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - NavivationKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 178
    functionName: mkv::event_thread_t::HandleKeyEvent
    functionSourceFile: /src/vlc/modules/demux/mkv/events.cpp
    functionUses: 2
    functionsReached:
    - demux_sys_t*::GetDVDInterpretor
    - auto::HandleKeyEvent
    linkageType: ''
    returnType: bool
    signature: bool event_thread_t::HandleKeyEvent( NavivationKey key )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mouse_HasPressed
      Src: /src/vlc/modules/demux/mkv/events.cpp:185,1
    - Dst: mkv::event_thread_t::HandleMousePressed
      Src: /src/vlc/modules/demux/mkv/events.cpp:188,1
    - Dst: vlc_mouse_HasMoved
      Src: /src/vlc/modules/demux/mkv/events.cpp:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' event'
    argTypes:
    - EventInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: mkv::event_thread_t::HandleMouseEvent
    functionSourceFile: /src/vlc/modules/demux/mkv/events.cpp
    functionUses: 2
    functionsReached:
    - vlc_mouse_HasMoved
    - vlc_mouse_HasPressed
    - mkv::event_thread_t::HandleMousePressed
    linkageType: ''
    returnType: void
    signature: void event_thread_t::HandleMouseEvent( EventInfo const& event )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkv::event_thread_t::HandleButtonData
      Src: /src/vlc/modules/demux/mkv/events.cpp:198,1
    - Dst: button_data::get
      Src: /src/vlc/modules/demux/mkv/events.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' event'
    argTypes:
    - EventInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: mkv::event_thread_t::HandleButtonData
    functionSourceFile: /src/vlc/modules/demux/mkv/events.cpp
    functionUses: 4
    functionsReached:
    - mkv::event_thread_t::HandleButtonData
    - button_data::get
    linkageType: ''
    returnType: void
    signature: void event_thread_t::HandleButtonData( EventInfo const& event )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: demux_sys_t*::GetDVDInterpretor
      Src: /src/vlc/modules/demux/mkv/events.cpp:207,1
    - Dst: auto::SetPci
      Src: /src/vlc/modules/demux/mkv/events.cpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_block
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 212
    functionName: mkv::event_thread_t::HandleButtonData
    functionSourceFile: /src/vlc/modules/demux/mkv/events.cpp
    functionUses: 4
    functionsReached:
    - demux_sys_t*::GetDVDInterpretor
    - auto::SetPci
    linkageType: ''
    returnType: void
    signature: void event_thread_t::HandleButtonData( block_t *p_block )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/events.cpp:218,1
    - Dst: demux_sys_t*::GetDVDInterpretor
      Src: /src/vlc/modules/demux/mkv/events.cpp:222,1
    - Dst: auto::HandleMousePressed
      Src: /src/vlc/modules/demux/mkv/events.cpp:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 227
    functionName: mkv::event_thread_t::HandleMousePressed
    functionSourceFile: /src/vlc/modules/demux/mkv/events.cpp
    functionUses: 2
    functionsReached:
    - auto::HandleMousePressed
    - demux_sys_t*::GetDVDInterpretor
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void event_thread_t::HandleMousePressed( unsigned x, unsigned y )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mkv/events.cpp:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' spu_hl'
    argTypes:
    - vlc_spu_highlight_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 239
    functionName: mkv::event_thread_t::SetHighlight
    functionSourceFile: /src/vlc/modules/demux/mkv/events.cpp
    functionUses: 0
    functionsReached:
    - es_out_Control
    linkageType: ''
    returnType: void
    signature: void event_thread_t::SetHighlight( vlc_spu_highlight_t & spu_hl )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: push_front
      Src: /src/vlc/modules/demux/mkv/events.cpp:248,1
    - Dst: mkv::event_thread_t::ESInfo
      Src: /src/vlc/modules/demux/mkv/events.cpp:248,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/events.cpp:249,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mkv/events.cpp:253,1
    - Dst: static_cast<vlc_mouse_event>
      Src: /src/vlc/modules/demux/mkv/events.cpp:254,1
    - Dst: static_cast<void*>
      Src: /src/vlc/modules/demux/mkv/events.cpp:255,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/events.cpp:257,1
    - Dst: erase
      Src: /src/vlc/modules/demux/mkv/events.cpp:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' track'
    argTypes:
    - mkv_track_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 263
    functionName: mkv::event_thread_t::AddTrack
    functionSourceFile: /src/vlc/modules/demux/mkv/events.cpp
    functionUses: 0
    functionsReached:
    - erase
    - es_out_Control
    - static_cast<void*>
    - begin
    - static_cast<vlc_mouse_event>
    - push_front
    - msg_Warn
    - mkv::event_thread_t::ESInfo
    linkageType: ''
    returnType: bool
    signature: bool event_thread_t::AddTrack( mkv_track_t & track )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/vlc/modules/demux/mkv/events.cpp:268,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/events.cpp:268,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/events.cpp:268,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/events.cpp:269,1
    - Dst: erase
      Src: /src/vlc/modules/demux/mkv/events.cpp:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - track
    argTypes:
    - mkv_track_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: mkv::event_thread_t::DelTrack
    functionSourceFile: /src/vlc/modules/demux/mkv/events.cpp
    functionUses: 0
    functionsReached:
    - erase
    - end
    - begin
    - find
    linkageType: ''
    returnType: void
    signature: void event_thread_t::DelTrack( mkv_track_t &track )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iso_23001_8_tc_to_vlc_xfer
      Src: /src/vlc/modules/demux/mkv/vlc_colors.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iso_transfer
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: iso_23001_transfer_to_vlc
    functionSourceFile: /src/vlc/modules/demux/mkv/vlc_colors.c
    functionUses: 6
    functionsReached:
    - iso_23001_8_tc_to_vlc_xfer
    linkageType: ''
    returnType: video_transfer_func_t
    signature: video_transfer_func_t iso_23001_transfer_to_vlc(uint8_t iso_transfer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iso_23001_8_cp_to_vlc_primaries
      Src: /src/vlc/modules/demux/mkv/vlc_colors.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iso_primaries
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: iso_23001_primaries_to_vlc
    functionSourceFile: /src/vlc/modules/demux/mkv/vlc_colors.c
    functionUses: 6
    functionsReached:
    - iso_23001_8_cp_to_vlc_primaries
    linkageType: ''
    returnType: video_color_primaries_t
    signature: video_color_primaries_t iso_23001_primaries_to_vlc(uint8_t iso_primaries)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iso_23001_8_mc_to_vlc_coeffs
      Src: /src/vlc/modules/demux/mkv/vlc_colors.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iso_coefs
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: iso_23001_matrix_coeffs_to_vlc
    functionSourceFile: /src/vlc/modules/demux/mkv/vlc_colors.c
    functionUses: 6
    functionsReached:
    - iso_23001_8_mc_to_vlc_coeffs
    linkageType: ''
    returnType: video_color_space_t
    signature: video_color_space_t iso_23001_matrix_coeffs_to_vlc(uint8_t iso_coefs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - p_uid
    - ' opened_segments'
    argTypes:
    - T*
    - std::vector<matroska_segment_c*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: mkv::getSegmentbyUID
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: matroska_segment_c
    signature: matroska_segment_c * getSegmentbyUID( T * p_uid, const std::vector<matroska_segment_c*>
      & opened_segments )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: virtual_chapter_c::virtual_chapter_c
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:53,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:58,1
    - Dst: chapter_item_c*::str_name::c_str
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:60,1
    - Dst: getSegmentbyUID
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:66,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:68,1
    - Dst: chapter_item_c*::p_segment_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:70,1
    - Dst: chapter_item_c*::str_name::c_str
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:70,1
    - Dst: matroska_segment_c*::Preload
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:74,1
    - Dst: chapter_item_c*::sub_chapters::size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:79,1
    - Dst: mkv::virtual_chapter_c::CreateVirtualChapter
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:81,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:84,1
    - Dst: virtual_chapter_c::virtual_chapter_c
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:92,1
    - Dst: std::vector::size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:95,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:105,1
    - Dst: chapter_item_c*::str_name::c_str
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:107,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 5
    argNames:
    - p_chap
    - ' main_segment'
    - ' opened_segments'
    - ' usertime_offset'
    - b_ordered
    argTypes:
    - chapter_item_c*
    - matroska_segment_c
    - std::vector<matroska_segment_c*>
    - vlc_tick_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 110
    functionName: mkv::virtual_chapter_c::CreateVirtualChapter
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 1
    functionsReached:
    - chapter_item_c*::sub_chapters::size
    - virtual_chapter_c::virtual_chapter_c
    - chapter_item_c*::str_name::c_str
    - chapter_item_c*::p_segment_uid::GetBuffer
    - getSegmentbyUID
    - matroska_segment_c*::Preload
    - std::vector::push_back
    - std::vector::size
    - msg_Dbg
    - msg_Warn
    - mkv::virtual_chapter_c::CreateVirtualChapter
    linkageType: ''
    returnType: virtual_chapter_c
    signature: "virtual_chapter_c * virtual_chapter_c::CreateVirtualChapter( chapter_item_c
      * p_chap,\n                                                             matroska_segment_c
      & main_segment,\n                                                             const
      std::vector<matroska_segment_c*> & opened_segments,\n                                                             vlc_tick_t
      & usertime_offset, bool b_ordered)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: virtual_chapter_c::~virtual_chapter_c()
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void virtual_chapter_c::~virtual_chapter_c()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sub_chapters::size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:132,1
    - Dst: mkv::virtual_chapter_c::CreateVirtualChapter
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:134,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:138,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:140,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:141,1
    - Dst: getSegmentbyUID
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:156,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:159,1
    - Dst: matroska_segment_c*::p_prev_segment_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:160,1
    - Dst: matroska_segment_c*::Preload
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:162,1
    - Dst: matroska_segment_c*::stored_editions::size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:165,1
    - Dst: mkv::virtual_chapter_c::CreateVirtualChapter
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:167,1
    - Dst: insert
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:170,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:170,1
    - Dst: mkv::virtual_chapter_c::CreateVirtualChapter
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:182,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:185,1
    - Dst: getSegmentbyUID
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:191,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:194,1
    - Dst: matroska_segment_c*::p_next_segment_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:195,1
    - Dst: matroska_segment_c*::Preload
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:197,1
    - Dst: matroska_segment_c*::stored_editions::size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:200,1
    - Dst: mkv::virtual_chapter_c::CreateVirtualChapter
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:202,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:205,1
    - Dst: mkv::virtual_edition_c::retimeChapters
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:215,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:221,1
    - Dst: mkv::virtual_edition_c::print
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:222,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:223,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 3
    argNames:
    - p_edit
    - ' main_segment'
    - ' opened_segments'
    argTypes:
    - chapter_edition_c*
    - matroska_segment_c
    - std::vector<matroska_segment_c*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 225
    functionName: mkv::virtual_edition_c::virtual_edition_c
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - matroska_segment_c*::stored_editions::size
    - sub_chapters::size
    - matroska_segment_c*::p_next_segment_uid::GetBuffer
    - size
    - begin
    - insert
    - mkv::virtual_edition_c::print
    - mkv::virtual_edition_c::retimeChapters
    - getSegmentbyUID
    - matroska_segment_c*::Preload
    - msg_Dbg
    - matroska_segment_c*::p_prev_segment_uid::GetBuffer
    - mkv::virtual_chapter_c::CreateVirtualChapter
    linkageType: ''
    returnType: void
    signature: "void virtual_edition_c::virtual_edition_c( chapter_edition_c * p_edit,
      matroska_segment_c & main_segment,\n                                      const
      std::vector<matroska_segment_c*> & opened_segments )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: virtual_edition_c::~virtual_edition_c()
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void virtual_edition_c::~virtual_edition_c()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: virtual_chapter_c*::sub_vchapters::size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:236,1
    - Dst: mkv::virtual_edition_c::retimeSubChapters
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_vchap
    argTypes:
    - virtual_chapter_c*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 248
    functionName: mkv::virtual_edition_c::retimeSubChapters
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 1
    functionsReached:
    - virtual_chapter_c*::sub_vchapters::size
    - mkv::virtual_edition_c::retimeSubChapters
    linkageType: ''
    returnType: void
    signature: void virtual_edition_c::retimeSubChapters( virtual_chapter_c * p_vchap
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:259,1
    - Dst: mkv::virtual_edition_c::retimeSubChapters
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 269
    functionName: mkv::virtual_edition_c::retimeChapters
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 1
    functionsReached:
    - size
    - mkv::virtual_edition_c::retimeSubChapters
    linkageType: ''
    returnType: void
    signature: void virtual_edition_c::retimeChapters()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stored_editions::size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:278,1
    - Dst: virtual_edition_c::virtual_edition_c
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:281,1
    - Dst: virtual_edition_c*::vchapters::size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:284,1
    - Dst: segment::translations::size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:286,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:298,1
    - Dst: virtual_edition_c*::GetMainName
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:300,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:303,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:310,1
    - Dst: stored_editions::size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:313,1
    - Dst: virtual_edition_c::virtual_edition_c
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:315,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:316,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:320,1
    - Dst: mkv::virtual_segment_c::CurrentEdition
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:329,1
    - Dst: mkv::virtual_segment_c::CurrentEdition
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:330,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 2
    argNames:
    - ' main_segment'
    - ' p_opened_segments'
    argTypes:
    - matroska_segment_c
    - std::vector<matroska_segment_c*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 331
    functionName: mkv::virtual_segment_c::virtual_segment_c
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 0
    functionsReached:
    - virtual_edition_c::virtual_edition_c
    - virtual_edition_c*::vchapters::size
    - push_back
    - size
    - segment::translations::size
    - stored_editions::size
    - virtual_edition_c*::GetMainName
    - msg_Warn
    - mkv::virtual_segment_c::CurrentEdition
    linkageType: ''
    returnType: void
    signature: void virtual_segment_c::virtual_segment_c( matroska_segment_c & main_segment,
      std::vector<matroska_segment_c*> & p_opened_segments )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 337
    functionName: virtual_segment_c::~virtual_segment_c()
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void virtual_segment_c::~virtual_segment_c()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mkv::virtual_segment_c::CurrentEdition
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:342,1
    - Dst: virtual_edition_c*::BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - codec_id
    - match
    argTypes:
    - chapter_codec_id
    - chapter_cmd_match
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 347
    functionName: mkv::virtual_segment_c::BrowseCodecPrivate
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 0
    functionsReached:
    - virtual_edition_c*::BrowseCodecPrivate
    - mkv::virtual_segment_c::CurrentEdition
    linkageType: ''
    returnType: virtual_chapter_c
    signature: "virtual_chapter_c *virtual_segment_c::BrowseCodecPrivate( chapter_codec_id
      codec_id,\n                                                          chapter_cmd_match
      match )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:356,1
    - Dst: mkv::virtual_edition_c::BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - codec_id
    - match
    argTypes:
    - chapter_codec_id
    - chapter_cmd_match
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 363
    functionName: mkv::virtual_edition_c::BrowseCodecPrivate
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 1
    functionsReached:
    - mkv::virtual_edition_c::BrowseCodecPrivate
    - size
    linkageType: ''
    returnType: virtual_chapter_c
    signature: "virtual_chapter_c * virtual_edition_c::BrowseCodecPrivate( chapter_codec_id
      codec_id,\n                                                           chapter_cmd_match
      match )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mkv::virtual_chapter_c::BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:373,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:376,1
    - Dst: mkv::virtual_chapter_c::BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - codec_id
    - match
    argTypes:
    - chapter_codec_id
    - chapter_cmd_match
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 383
    functionName: mkv::virtual_chapter_c::BrowseCodecPrivate
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 1
    functionsReached:
    - size
    - mkv::virtual_chapter_c::BrowseCodecPrivate
    linkageType: ''
    returnType: virtual_chapter_c
    signature: "virtual_chapter_c * virtual_chapter_c::BrowseCodecPrivate( chapter_codec_id
      codec_id,\n                                                           chapter_cmd_match
      match )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - time
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 389
    functionName: mkv::virtual_chapter_c::ContainsTimestamp
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool virtual_chapter_c::ContainsTimestamp( vlc_tick_t time )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:393,1
    - Dst: mkv::virtual_chapter_c::ContainsTimestamp
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:395,1
    - Dst: mkv::virtual_chapter_c::getSubChapterbyTimecode
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - time
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 400
    functionName: mkv::virtual_chapter_c::getSubChapterbyTimecode
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 1
    functionsReached:
    - size
    - mkv::virtual_chapter_c::ContainsTimestamp
    - mkv::virtual_chapter_c::getSubChapterbyTimecode
    linkageType: ''
    returnType: virtual_chapter_c
    signature: virtual_chapter_c * virtual_chapter_c::getSubChapterbyTimecode( vlc_tick_t
      time )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:404,1
    - Dst: ContainsTimestamp
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:406,1
    - Dst: getSubChapterbyTimecode
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:407,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:410,1
    - Dst: back
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:412,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - time
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 422
    functionName: mkv::virtual_edition_c::getChapterbyTimecode
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 0
    functionsReached:
    - ContainsTimestamp
    - back
    - size
    - getSubChapterbyTimecode
    linkageType: ''
    returnType: virtual_chapter_c
    signature: virtual_chapter_c * virtual_edition_c::getChapterbyTimecode( vlc_tick_t
      time )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mkv::virtual_segment_c::CurrentEdition
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:428,1
    - Dst: Enter
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:435,1
    - Dst: ContainsTimestamp
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:441,1
    - Dst: virtual_edition_c*::getChapterbyTimecode
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:444,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:450,1
    - Dst: virtual_chapter_c*::EnterAndLeave
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:456,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:465,1
    - Dst: mkv::virtual_segment_c::Seek
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:466,1
    - Dst: Leave
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:489,1
    - Dst: segment::ESDestroy
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:491,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 45
    argCount: 1
    argNames:
    - ' demux'
    argTypes:
    - demux_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 500
    functionName: mkv::virtual_segment_c::UpdateCurrentToChapter
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 0
    functionsReached:
    - segment::ESDestroy
    - virtual_edition_c*::getChapterbyTimecode
    - es_out_Control
    - mkv::virtual_segment_c::Seek
    - Enter
    - msg_Dbg
    - virtual_chapter_c*::EnterAndLeave
    - ContainsTimestamp
    - mkv::virtual_segment_c::CurrentEdition
    - Leave
    linkageType: ''
    returnType: bool
    signature: bool virtual_segment_c::UpdateCurrentToChapter( demux_t & demux )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mkv::virtual_chapter_c::Leave
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 508
    functionName: mkv::virtual_chapter_c::Leave
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 1
    functionsReached:
    - mkv::virtual_chapter_c::Leave
    linkageType: ''
    returnType: bool
    signature: bool virtual_chapter_c::Leave( )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mkv::virtual_chapter_c::EnterAndLeave
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_leaving_vchapter
    - b_enter
    argTypes:
    - virtual_chapter_c*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 516
    functionName: mkv::virtual_chapter_c::EnterAndLeave
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 1
    functionsReached:
    - mkv::virtual_chapter_c::EnterAndLeave
    linkageType: ''
    returnType: bool
    signature: bool virtual_chapter_c::EnterAndLeave( virtual_chapter_c *p_leaving_vchapter,
      bool b_enter )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mkv::virtual_segment_c::CurrentEdition
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:525,1
    - Dst: mkv::virtual_segment_c::CurrentEdition
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:527,1
    - Dst: mkv::virtual_segment_c::CurrentEdition
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:529,1
    - Dst: mkv::virtual_segment_c::CurrentEdition
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:533,1
    - Dst: mkv::virtual_segment_c::KeepTrackSelection
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:547,1
    - Dst: segment::ESDestroy
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:548,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:550,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:554,1
    - Dst: demux_sys_t*::PreparePlayback
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:556,1
    - Dst: segment::Seek
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:563,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - ' demuxer'
    - i_mk_date
    - p_vchapter
    - b_precise
    argTypes:
    - demux_t
    - vlc_tick_t
    - virtual_chapter_c*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 564
    functionName: mkv::virtual_segment_c::Seek
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 1
    functionsReached:
    - segment::ESDestroy
    - es_out_Control
    - mkv::virtual_segment_c::KeepTrackSelection
    - msg_Dbg
    - segment::Seek
    - mkv::virtual_segment_c::CurrentEdition
    - demux_sys_t*::PreparePlayback
    linkageType: ''
    returnType: bool
    signature: "bool virtual_segment_c::Seek( demux_t & demuxer, vlc_tick_t i_mk_date,\n
      \                             virtual_chapter_c *p_vchapter, bool b_precise
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:571,1
    - Dst: mkv::virtual_chapter_c::FindChapter
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:573,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - i_find_uid
    argTypes:
    - chapter_uid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 579
    functionName: mkv::virtual_chapter_c::FindChapter
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 1
    functionsReached:
    - size
    - mkv::virtual_chapter_c::FindChapter
    linkageType: ''
    returnType: virtual_chapter_c
    signature: virtual_chapter_c * virtual_chapter_c::FindChapter( chapter_uid i_find_uid
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mkv::virtual_segment_c::CurrentEdition
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:583,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:584,1
    - Dst: virtual_edition_c*::vchapters::size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:587,1
    - Dst: mkv::virtual_segment_c::FindChapter
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:589,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - i_find_uid
    argTypes:
    - chapter_uid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 594
    functionName: mkv::virtual_segment_c::FindChapter
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 1
    functionsReached:
    - mkv::virtual_segment_c::CurrentEdition
    - unlikely
    - virtual_edition_c*::vchapters::size
    - mkv::virtual_segment_c::FindChapter
    linkageType: ''
    returnType: virtual_chapter_c
    signature: virtual_chapter_c * virtual_segment_c::FindChapter( chapter_uid i_find_uid
      )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetCodecName
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:604,1
    - Dst: vlc_seekpoint_New
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:608,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:610,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:615,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:615,1
    - Dst: xrealloc
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:619,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:628,1
    - Dst: mkv::virtual_chapter_c::PublishChapters
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:629,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - ' title'
    - ' i_user_chapters'
    - i_level
    - allow_no_name
    argTypes:
    - input_title_t
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 632
    functionName: mkv::virtual_chapter_c::PublishChapters
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 1
    functionsReached:
    - strdup
    - xrealloc
    - size
    - vlc_seekpoint_New
    - std::string::c_str
    - mkv::virtual_chapter_c::PublishChapters
    - GetCodecName
    - unlikely
    linkageType: ''
    returnType: int
    signature: int virtual_chapter_c::PublishChapters( input_title_t & title, int
      & i_user_chapters, int i_level, bool allow_no_name )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:639,1
    - Dst: vlc_seekpoint_New
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:642,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:644,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:648,1
    - Dst: str_name::c_str
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:648,1
    - Dst: static_cast<seekpoint_t**>
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:651,1
    - Dst: xrealloc
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:651,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:661,1
    - Dst: mkv::virtual_edition_c::PublishChapters
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:662,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - ' title'
    - ' i_user_chapters'
    - i_level
    argTypes:
    - input_title_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 665
    functionName: mkv::virtual_edition_c::PublishChapters
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 1
    functionsReached:
    - strdup
    - xrealloc
    - size
    - vlc_seekpoint_New
    - mkv::virtual_edition_c::PublishChapters
    - str_name::c_str
    - static_cast<seekpoint_t**>
    - unlikely
    linkageType: ''
    returnType: int
    signature: int virtual_edition_c::PublishChapters( input_title_t & title, int
      & i_user_chapters, int i_level )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mkv::virtual_edition_c::GetMainName
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:670,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 673
    functionName: mkv::virtual_edition_c::GetMainName
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 1
    functionsReached:
    - std::string
    - mkv::virtual_edition_c::GetMainName
    linkageType: ''
    returnType: std::string
    signature: std::string virtual_edition_c::GetMainName()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mkv::virtual_chapter_c::Enter
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:678,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - b_do_subs
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 680
    functionName: mkv::virtual_chapter_c::Enter
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 1
    functionsReached:
    - mkv::virtual_chapter_c::Enter
    linkageType: ''
    returnType: bool
    signature: bool virtual_chapter_c::Enter( bool b_do_subs )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mkv::virtual_chapter_c::Leave
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - b_do_subs
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 687
    functionName: mkv::virtual_chapter_c::Leave
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 2
    functionsReached:
    - mkv::virtual_chapter_c::Leave
    linkageType: ''
    returnType: bool
    signature: bool virtual_chapter_c::Leave( bool b_do_subs )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:692,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:693,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:694,1
    - Dst: mkv::virtual_chapter_c::print
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:695,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 696
    functionName: mkv::virtual_chapter_c::print
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 1
    functionsReached:
    - mkv::virtual_chapter_c::print
    - size
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void virtual_chapter_c::print()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:708,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:741,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:742,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:744,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:746,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:749,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:757,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:758,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:760,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 29
    argCount: 2
    argNames:
    - ' old'
    - ' next'
    argTypes:
    - matroska_segment_c
    - matroska_segment_c
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 699
    functionDepth: 2
    functionLinenumber: 699
    functionLinenumberEnd: 766
    functionName: mkv::virtual_segment_c::KeepTrackSelection
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 1
    functionsReached:
    - strcasecmp
    - es_out_Control
    - memcmp
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: void virtual_segment_c::KeepTrackSelection( const matroska_segment_c
      & old, const matroska_segment_c & next )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - p_uid
    - ' opened_segments'
    argTypes:
    - T*
    - std::vector<matroska_segment_c*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: mkv::getSegmentbyUID
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: matroska_segment_c
    signature: matroska_segment_c * getSegmentbyUID( T * p_uid, const std::vector<matroska_segment_c*>
      & opened_segments )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: virtual_chapter_c::virtual_chapter_c
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:53,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:58,1
    - Dst: chapter_item_c*::str_name::c_str
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:60,1
    - Dst: getSegmentbyUID
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:66,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:68,1
    - Dst: chapter_item_c*::p_segment_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:70,1
    - Dst: chapter_item_c*::str_name::c_str
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:70,1
    - Dst: matroska_segment_c*::Preload
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:74,1
    - Dst: chapter_item_c*::sub_chapters::size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:79,1
    - Dst: mkv::virtual_chapter_c::CreateVirtualChapter
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:81,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:84,1
    - Dst: virtual_chapter_c::virtual_chapter_c
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:92,1
    - Dst: std::vector::size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:95,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:105,1
    - Dst: chapter_item_c*::str_name::c_str
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:107,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 5
    argNames:
    - p_chap
    - ' main_segment'
    - ' opened_segments'
    - ' usertime_offset'
    - b_ordered
    argTypes:
    - chapter_item_c*
    - matroska_segment_c
    - std::vector<matroska_segment_c*>
    - vlc_tick_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 110
    functionName: mkv::virtual_chapter_c::CreateVirtualChapter
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 3
    functionsReached:
    - chapter_item_c*::sub_chapters::size
    - virtual_chapter_c::virtual_chapter_c
    - chapter_item_c*::str_name::c_str
    - chapter_item_c*::p_segment_uid::GetBuffer
    - getSegmentbyUID
    - matroska_segment_c*::Preload
    - std::vector::push_back
    - std::vector::size
    - msg_Dbg
    - msg_Warn
    - mkv::virtual_chapter_c::CreateVirtualChapter
    linkageType: ''
    returnType: virtual_chapter_c
    signature: "virtual_chapter_c * virtual_chapter_c::CreateVirtualChapter( chapter_item_c
      * p_chap,\n                                                             matroska_segment_c
      & main_segment,\n                                                             const
      std::vector<matroska_segment_c*> & opened_segments,\n                                                             vlc_tick_t
      & usertime_offset, bool b_ordered)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: virtual_chapter_c::~virtual_chapter_c()
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void virtual_chapter_c::~virtual_chapter_c()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sub_chapters::size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:132,1
    - Dst: mkv::virtual_chapter_c::CreateVirtualChapter
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:134,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:138,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:140,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:141,1
    - Dst: getSegmentbyUID
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:156,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:159,1
    - Dst: matroska_segment_c*::p_prev_segment_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:160,1
    - Dst: matroska_segment_c*::Preload
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:162,1
    - Dst: matroska_segment_c*::stored_editions::size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:165,1
    - Dst: mkv::virtual_chapter_c::CreateVirtualChapter
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:167,1
    - Dst: insert
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:170,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:170,1
    - Dst: mkv::virtual_chapter_c::CreateVirtualChapter
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:182,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:185,1
    - Dst: getSegmentbyUID
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:191,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:194,1
    - Dst: matroska_segment_c*::p_next_segment_uid::GetBuffer
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:195,1
    - Dst: matroska_segment_c*::Preload
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:197,1
    - Dst: matroska_segment_c*::stored_editions::size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:200,1
    - Dst: mkv::virtual_chapter_c::CreateVirtualChapter
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:202,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:205,1
    - Dst: mkv::virtual_edition_c::retimeChapters
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:215,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:221,1
    - Dst: mkv::virtual_edition_c::print
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:222,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:223,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 3
    argNames:
    - p_edit
    - ' main_segment'
    - ' opened_segments'
    argTypes:
    - chapter_edition_c*
    - matroska_segment_c
    - std::vector<matroska_segment_c*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 225
    functionName: mkv::virtual_edition_c::virtual_edition_c
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - matroska_segment_c*::stored_editions::size
    - sub_chapters::size
    - matroska_segment_c*::p_next_segment_uid::GetBuffer
    - size
    - begin
    - insert
    - mkv::virtual_edition_c::print
    - mkv::virtual_edition_c::retimeChapters
    - getSegmentbyUID
    - matroska_segment_c*::Preload
    - msg_Dbg
    - matroska_segment_c*::p_prev_segment_uid::GetBuffer
    - mkv::virtual_chapter_c::CreateVirtualChapter
    linkageType: ''
    returnType: void
    signature: "void virtual_edition_c::virtual_edition_c( chapter_edition_c * p_edit,
      matroska_segment_c & main_segment,\n                                      const
      std::vector<matroska_segment_c*> & opened_segments )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: virtual_edition_c::~virtual_edition_c()
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void virtual_edition_c::~virtual_edition_c()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: virtual_chapter_c*::sub_vchapters::size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:236,1
    - Dst: mkv::virtual_edition_c::retimeSubChapters
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_vchap
    argTypes:
    - virtual_chapter_c*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 248
    functionName: mkv::virtual_edition_c::retimeSubChapters
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 3
    functionsReached:
    - virtual_chapter_c*::sub_vchapters::size
    - mkv::virtual_edition_c::retimeSubChapters
    linkageType: ''
    returnType: void
    signature: void virtual_edition_c::retimeSubChapters( virtual_chapter_c * p_vchap
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:259,1
    - Dst: mkv::virtual_edition_c::retimeSubChapters
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 269
    functionName: mkv::virtual_edition_c::retimeChapters
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 2
    functionsReached:
    - size
    - mkv::virtual_edition_c::retimeSubChapters
    linkageType: ''
    returnType: void
    signature: void virtual_edition_c::retimeChapters()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stored_editions::size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:278,1
    - Dst: virtual_edition_c::virtual_edition_c
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:281,1
    - Dst: virtual_edition_c*::vchapters::size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:284,1
    - Dst: segment::translations::size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:286,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:298,1
    - Dst: virtual_edition_c*::GetMainName
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:300,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:303,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:310,1
    - Dst: stored_editions::size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:313,1
    - Dst: virtual_edition_c::virtual_edition_c
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:315,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:316,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:320,1
    - Dst: mkv::virtual_segment_c::CurrentEdition
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:329,1
    - Dst: mkv::virtual_segment_c::CurrentEdition
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:330,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 2
    argNames:
    - ' main_segment'
    - ' p_opened_segments'
    argTypes:
    - matroska_segment_c
    - std::vector<matroska_segment_c*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 331
    functionName: mkv::virtual_segment_c::virtual_segment_c
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 0
    functionsReached:
    - virtual_edition_c::virtual_edition_c
    - virtual_edition_c*::vchapters::size
    - push_back
    - size
    - segment::translations::size
    - stored_editions::size
    - virtual_edition_c*::GetMainName
    - msg_Warn
    - mkv::virtual_segment_c::CurrentEdition
    linkageType: ''
    returnType: void
    signature: void virtual_segment_c::virtual_segment_c( matroska_segment_c & main_segment,
      std::vector<matroska_segment_c*> & p_opened_segments )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 337
    functionName: virtual_segment_c::~virtual_segment_c()
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void virtual_segment_c::~virtual_segment_c()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mkv::virtual_segment_c::CurrentEdition
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:342,1
    - Dst: virtual_edition_c*::BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - codec_id
    - match
    argTypes:
    - chapter_codec_id
    - chapter_cmd_match
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 347
    functionName: mkv::virtual_segment_c::BrowseCodecPrivate
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 0
    functionsReached:
    - virtual_edition_c*::BrowseCodecPrivate
    - mkv::virtual_segment_c::CurrentEdition
    linkageType: ''
    returnType: virtual_chapter_c
    signature: "virtual_chapter_c *virtual_segment_c::BrowseCodecPrivate( chapter_codec_id
      codec_id,\n                                                          chapter_cmd_match
      match )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:356,1
    - Dst: mkv::virtual_edition_c::BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - codec_id
    - match
    argTypes:
    - chapter_codec_id
    - chapter_cmd_match
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 363
    functionName: mkv::virtual_edition_c::BrowseCodecPrivate
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 2
    functionsReached:
    - mkv::virtual_edition_c::BrowseCodecPrivate
    - size
    linkageType: ''
    returnType: virtual_chapter_c
    signature: "virtual_chapter_c * virtual_edition_c::BrowseCodecPrivate( chapter_codec_id
      codec_id,\n                                                           chapter_cmd_match
      match )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mkv::virtual_chapter_c::BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:373,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:376,1
    - Dst: mkv::virtual_chapter_c::BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - codec_id
    - match
    argTypes:
    - chapter_codec_id
    - chapter_cmd_match
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 383
    functionName: mkv::virtual_chapter_c::BrowseCodecPrivate
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 2
    functionsReached:
    - size
    - mkv::virtual_chapter_c::BrowseCodecPrivate
    linkageType: ''
    returnType: virtual_chapter_c
    signature: "virtual_chapter_c * virtual_chapter_c::BrowseCodecPrivate( chapter_codec_id
      codec_id,\n                                                           chapter_cmd_match
      match )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - time
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 389
    functionName: mkv::virtual_chapter_c::ContainsTimestamp
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool virtual_chapter_c::ContainsTimestamp( vlc_tick_t time )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:393,1
    - Dst: mkv::virtual_chapter_c::ContainsTimestamp
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:395,1
    - Dst: mkv::virtual_chapter_c::getSubChapterbyTimecode
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - time
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 400
    functionName: mkv::virtual_chapter_c::getSubChapterbyTimecode
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 2
    functionsReached:
    - size
    - mkv::virtual_chapter_c::ContainsTimestamp
    - mkv::virtual_chapter_c::getSubChapterbyTimecode
    linkageType: ''
    returnType: virtual_chapter_c
    signature: virtual_chapter_c * virtual_chapter_c::getSubChapterbyTimecode( vlc_tick_t
      time )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:404,1
    - Dst: ContainsTimestamp
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:406,1
    - Dst: getSubChapterbyTimecode
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:407,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:410,1
    - Dst: back
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:412,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - time
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 422
    functionName: mkv::virtual_edition_c::getChapterbyTimecode
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 0
    functionsReached:
    - ContainsTimestamp
    - back
    - size
    - getSubChapterbyTimecode
    linkageType: ''
    returnType: virtual_chapter_c
    signature: virtual_chapter_c * virtual_edition_c::getChapterbyTimecode( vlc_tick_t
      time )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mkv::virtual_segment_c::CurrentEdition
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:428,1
    - Dst: Enter
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:435,1
    - Dst: ContainsTimestamp
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:441,1
    - Dst: virtual_edition_c*::getChapterbyTimecode
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:444,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:450,1
    - Dst: virtual_chapter_c*::EnterAndLeave
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:456,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:465,1
    - Dst: mkv::virtual_segment_c::Seek
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:466,1
    - Dst: Leave
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:489,1
    - Dst: segment::ESDestroy
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:491,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 45
    argCount: 1
    argNames:
    - ' demux'
    argTypes:
    - demux_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 500
    functionName: mkv::virtual_segment_c::UpdateCurrentToChapter
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 0
    functionsReached:
    - segment::ESDestroy
    - virtual_edition_c*::getChapterbyTimecode
    - es_out_Control
    - mkv::virtual_segment_c::Seek
    - Enter
    - msg_Dbg
    - virtual_chapter_c*::EnterAndLeave
    - ContainsTimestamp
    - mkv::virtual_segment_c::CurrentEdition
    - Leave
    linkageType: ''
    returnType: bool
    signature: bool virtual_segment_c::UpdateCurrentToChapter( demux_t & demux )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mkv::virtual_chapter_c::Leave
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 508
    functionName: mkv::virtual_chapter_c::Leave
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 3
    functionsReached:
    - mkv::virtual_chapter_c::Leave
    linkageType: ''
    returnType: bool
    signature: bool virtual_chapter_c::Leave( )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mkv::virtual_chapter_c::EnterAndLeave
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_leaving_vchapter
    - b_enter
    argTypes:
    - virtual_chapter_c*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 516
    functionName: mkv::virtual_chapter_c::EnterAndLeave
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 2
    functionsReached:
    - mkv::virtual_chapter_c::EnterAndLeave
    linkageType: ''
    returnType: bool
    signature: bool virtual_chapter_c::EnterAndLeave( virtual_chapter_c *p_leaving_vchapter,
      bool b_enter )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mkv::virtual_segment_c::CurrentEdition
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:525,1
    - Dst: mkv::virtual_segment_c::CurrentEdition
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:527,1
    - Dst: mkv::virtual_segment_c::CurrentEdition
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:529,1
    - Dst: mkv::virtual_segment_c::CurrentEdition
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:533,1
    - Dst: mkv::virtual_segment_c::KeepTrackSelection
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:547,1
    - Dst: segment::ESDestroy
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:548,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:550,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:554,1
    - Dst: demux_sys_t*::PreparePlayback
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:556,1
    - Dst: segment::Seek
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:563,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - ' demuxer'
    - i_mk_date
    - p_vchapter
    - b_precise
    argTypes:
    - demux_t
    - vlc_tick_t
    - virtual_chapter_c*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 518
    functionDepth: 3
    functionLinenumber: 518
    functionLinenumberEnd: 564
    functionName: mkv::virtual_segment_c::Seek
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 2
    functionsReached:
    - segment::ESDestroy
    - es_out_Control
    - mkv::virtual_segment_c::KeepTrackSelection
    - msg_Dbg
    - segment::Seek
    - mkv::virtual_segment_c::CurrentEdition
    - demux_sys_t*::PreparePlayback
    linkageType: ''
    returnType: bool
    signature: "bool virtual_segment_c::Seek( demux_t & demuxer, vlc_tick_t i_mk_date,\n
      \                             virtual_chapter_c *p_vchapter, bool b_precise
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:571,1
    - Dst: mkv::virtual_chapter_c::FindChapter
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:573,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - i_find_uid
    argTypes:
    - chapter_uid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 579
    functionName: mkv::virtual_chapter_c::FindChapter
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 2
    functionsReached:
    - size
    - mkv::virtual_chapter_c::FindChapter
    linkageType: ''
    returnType: virtual_chapter_c
    signature: virtual_chapter_c * virtual_chapter_c::FindChapter( chapter_uid i_find_uid
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mkv::virtual_segment_c::CurrentEdition
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:583,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:584,1
    - Dst: virtual_edition_c*::vchapters::size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:587,1
    - Dst: mkv::virtual_segment_c::FindChapter
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:589,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - i_find_uid
    argTypes:
    - chapter_uid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 594
    functionName: mkv::virtual_segment_c::FindChapter
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 2
    functionsReached:
    - mkv::virtual_segment_c::CurrentEdition
    - unlikely
    - virtual_edition_c*::vchapters::size
    - mkv::virtual_segment_c::FindChapter
    linkageType: ''
    returnType: virtual_chapter_c
    signature: virtual_chapter_c * virtual_segment_c::FindChapter( chapter_uid i_find_uid
      )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetCodecName
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:604,1
    - Dst: vlc_seekpoint_New
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:608,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:610,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:615,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:615,1
    - Dst: xrealloc
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:619,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:628,1
    - Dst: mkv::virtual_chapter_c::PublishChapters
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:629,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - ' title'
    - ' i_user_chapters'
    - i_level
    - allow_no_name
    argTypes:
    - input_title_t
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 632
    functionName: mkv::virtual_chapter_c::PublishChapters
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 2
    functionsReached:
    - strdup
    - xrealloc
    - size
    - vlc_seekpoint_New
    - std::string::c_str
    - mkv::virtual_chapter_c::PublishChapters
    - GetCodecName
    - unlikely
    linkageType: ''
    returnType: int
    signature: int virtual_chapter_c::PublishChapters( input_title_t & title, int
      & i_user_chapters, int i_level, bool allow_no_name )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:639,1
    - Dst: vlc_seekpoint_New
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:642,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:644,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:648,1
    - Dst: str_name::c_str
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:648,1
    - Dst: static_cast<seekpoint_t**>
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:651,1
    - Dst: xrealloc
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:651,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:661,1
    - Dst: mkv::virtual_edition_c::PublishChapters
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:662,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - ' title'
    - ' i_user_chapters'
    - i_level
    argTypes:
    - input_title_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 665
    functionName: mkv::virtual_edition_c::PublishChapters
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 2
    functionsReached:
    - strdup
    - xrealloc
    - size
    - vlc_seekpoint_New
    - mkv::virtual_edition_c::PublishChapters
    - str_name::c_str
    - static_cast<seekpoint_t**>
    - unlikely
    linkageType: ''
    returnType: int
    signature: int virtual_edition_c::PublishChapters( input_title_t & title, int
      & i_user_chapters, int i_level )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mkv::virtual_edition_c::GetMainName
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:670,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 673
    functionName: mkv::virtual_edition_c::GetMainName
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 2
    functionsReached:
    - std::string
    - mkv::virtual_edition_c::GetMainName
    linkageType: ''
    returnType: std::string
    signature: std::string virtual_edition_c::GetMainName()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mkv::virtual_chapter_c::Enter
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:678,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - b_do_subs
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 680
    functionName: mkv::virtual_chapter_c::Enter
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 2
    functionsReached:
    - mkv::virtual_chapter_c::Enter
    linkageType: ''
    returnType: bool
    signature: bool virtual_chapter_c::Enter( bool b_do_subs )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mkv::virtual_chapter_c::Leave
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - b_do_subs
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 687
    functionName: mkv::virtual_chapter_c::Leave
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 4
    functionsReached:
    - mkv::virtual_chapter_c::Leave
    linkageType: ''
    returnType: bool
    signature: bool virtual_chapter_c::Leave( bool b_do_subs )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:692,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:693,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:694,1
    - Dst: mkv::virtual_chapter_c::print
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:695,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 696
    functionName: mkv::virtual_chapter_c::print
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 2
    functionsReached:
    - mkv::virtual_chapter_c::print
    - size
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void virtual_chapter_c::print()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:708,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:741,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:742,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:744,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:746,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:749,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:757,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:758,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/virtual_segment.cpp:760,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 29
    argCount: 2
    argNames:
    - ' old'
    - ' next'
    argTypes:
    - matroska_segment_c
    - matroska_segment_c
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 699
    functionDepth: 2
    functionLinenumber: 699
    functionLinenumberEnd: 766
    functionName: mkv::virtual_segment_c::KeepTrackSelection
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.cpp
    functionUses: 2
    functionsReached:
    - strcasecmp
    - es_out_Control
    - memcmp
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: void virtual_segment_c::KeepTrackSelection( const matroska_segment_c
      & old, const matroska_segment_c & next )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::upper_bound
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - beg
    - end
    - ' value'
    argTypes:
    - It
    - It
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: greatest_lower_bound
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 0
    functionsReached:
    - std::upper_bound
    linkageType: ''
    returnType: It
    signature: It greatest_lower_bound( It beg, It end, T const& value )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - It
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: prev_
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: It
    signature: It prev_( It it )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - It
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: next_
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: It
    signature: It next_( It it )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::upper_bound
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - beg
    - end
    - ' value'
    argTypes:
    - It
    - It
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: greatest_lower_bound
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 0
    functionsReached:
    - std::upper_bound
    linkageType: ''
    returnType: It
    signature: It greatest_lower_bound( It beg, It end, T const& value )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - It
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: prev_
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: It
    signature: It prev_( It it )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - It
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: next_
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: It
    signature: It next_( It it )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::upper_bound
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:56,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:57,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:58,1
    - Dst: insert
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fpos
    argTypes:
    - fptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: mkv::SegmentSeeker::add_cluster_position
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::upper_bound
    - begin
    - insert
    linkageType: ''
    returnType: SegmentSeeker::cluster_positions_t::iterator
    signature: SegmentSeeker::cluster_positions_t::iterator SegmentSeeker::add_cluster_position(
      fptr_t fpos )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: KaxCluster*::GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:69,1
    - Dst: vlc_tick_t
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:70,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:70,1
    - Dst: KaxCluster*::GlobalTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:70,1
    - Dst: vlc_tick_t
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:71,1
    - Dst: KaxCluster*::IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:72,1
    - Dst: KaxCluster*::GetEndPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:73,1
    - Dst: KaxCluster*::GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:73,1
    - Dst: mkv::SegmentSeeker::add_cluster_position
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:77,1
    - Dst: lower_bound
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:79,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:81,1
    - Dst: insert
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:87,1
    - Dst: cluster_map_t::value_type
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:87,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:102,1
    - Dst: cpu_suffix
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:104,1
    - Dst: prev_
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:104,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:107,1
    - Dst: next_
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:107,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:107,1
    - Dst: cpu_suffix
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:109,1
    - Dst: next_
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:109,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - p_cluster
    argTypes:
    - KaxCluster*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 113
    functionName: mkv::SegmentSeeker::add_cluster
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 0
    functionsReached:
    - KaxCluster*::GetElementPosition
    - lower_bound
    - prev_
    - begin
    - insert
    - KaxCluster*::GetEndPosition
    - next_
    - KaxCluster*::IsFiniteSize
    - mkv::SegmentSeeker::add_cluster_position
    - cluster_map_t::value_type
    - end
    - VLC_TICK_FROM_NS
    - vlc_tick_t
    - KaxCluster*::GlobalTimestamp
    - cpu_suffix
    linkageType: ''
    returnType: SegmentSeeker::cluster_map_t::iterator
    signature: SegmentSeeker::cluster_map_t::iterator SegmentSeeker::add_cluster(
      KaxCluster * const p_cluster )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' prev'
    - ' next'
    argTypes:
    - Cluster
    - Cluster
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: mkv::fix
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fix( Cluster& prev, Cluster& next )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::lower_bound
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:119,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:119,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:119,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:121,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:128,1
    - Dst: insert
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - track_id
    - sp
    argTypes:
    - track_id_t
    - Seekpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 139
    functionName: mkv::SegmentSeeker::add_seekpoint
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 0
    functionsReached:
    - std::lower_bound
    - begin
    - insert
    - end
    linkageType: ''
    returnType: void
    signature: void SegmentSeeker::add_seekpoint( track_id_t track_id, Seekpoint sp
      )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:146,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:146,1
    - Dst: find
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:148,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:148,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:148,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:148,1
    - Dst: mkv::SegmentSeeker::get_first_seekpoint_around
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:151,1
    - Dst: tracks_seekpoint_t::insert
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:159,1
    - Dst: tracks_seekpoint_t::value_type
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:159,1
    - Dst: tracks_seekpoint_t::empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:162,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:165,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:165,1
    - Dst: find
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:167,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:167,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:167,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:167,1
    - Dst: mkv::SegmentSeeker::get_first_seekpoint_around
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:170,1
    - Dst: tracks_seekpoint_t::insert
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:175,1
    - Dst: tracks_seekpoint_t::value_type
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:175,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 3
    argNames:
    - start_fpos
    - end_pts
    - ' filter_tracks'
    argTypes:
    - fptr_t
    - vlc_tick_t
    - track_ids_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 180
    functionName: mkv::SegmentSeeker::find_greatest_seekpoints_in_range
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 0
    functionsReached:
    - begin
    - tracks_seekpoint_t::insert
    - tracks_seekpoint_t::value_type
    - mkv::SegmentSeeker::get_first_seekpoint_around
    - tracks_seekpoint_t::empty
    - end
    - find
    linkageType: ''
    returnType: SegmentSeeker::tracks_seekpoint_t
    signature: SegmentSeeker::tracks_seekpoint_t SegmentSeeker::find_greatest_seekpoints_in_range(
      fptr_t start_fpos, vlc_tick_t end_pts, track_ids_t const& filter_tracks )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:186,1
    - Dst: mkv::SegmentSeeker::Seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:188,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:195,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:196,1
    - Dst: greatest_lower_bound
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - pts
    - ' seekpoints'
    - trust_level
    argTypes:
    - vlc_tick_t
    - seekpoints_t
    - Seekpoint::TrustLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 208
    functionName: mkv::SegmentSeeker::get_first_seekpoint_around
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 1
    functionsReached:
    - mkv::SegmentSeeker::Seekpoint
    - begin
    - greatest_lower_bound
    - empty
    - end
    linkageType: ''
    returnType: SegmentSeeker::Seekpoint
    signature: "SegmentSeeker::Seekpoint SegmentSeeker::get_first_seekpoint_around(
      vlc_tick_t pts, seekpoints_t const& seekpoints,\n                                           Seekpoint::TrustLevel
      trust_level )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:213,1
    - Dst: seekpoint_pair_t
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:215,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:222,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:223,1
    - Dst: greatest_lower_bound
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:224,1
    - Dst: seekpoint_pair_t
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:228,1
    - Dst: mkv::SegmentSeeker::Seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:228,1
    - Dst: next_
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:231,1
    - Dst: seekpoint_pair_t
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:233,1
    - Dst: mkv::SegmentSeeker::Seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pts
    - ' seekpoints'
    argTypes:
    - vlc_tick_t
    - seekpoints_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 236
    functionName: mkv::SegmentSeeker::get_seekpoints_around
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 0
    functionsReached:
    - mkv::SegmentSeeker::Seekpoint
    - begin
    - greatest_lower_bound
    - empty
    - seekpoint_pair_t
    - end
    - next_
    linkageType: ''
    returnType: SegmentSeeker::seekpoint_pair_t
    signature: SegmentSeeker::seekpoint_pair_t SegmentSeeker::get_seekpoints_around(
      vlc_tick_t pts, seekpoints_t const& seekpoints )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:243,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:250,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:251,1
    - Dst: mkv::SegmentSeeker::get_seekpoints_around
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:255,1
    - Dst: lower_bound
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:274,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:276,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:276,1
    - Dst: mkv::SegmentSeeker::Seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:282,1
    - Dst: mkv::SegmentSeeker::Seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:287,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - target_pts
    - ' priority_tracks'
    argTypes:
    - vlc_tick_t
    - track_ids_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 293
    functionName: mkv::SegmentSeeker::get_seekpoints_around
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 1
    functionsReached:
    - mkv::SegmentSeeker::Seekpoint
    - mkv::SegmentSeeker::get_seekpoints_around
    - lower_bound
    - begin
    - empty
    - end
    linkageType: ''
    returnType: SegmentSeeker::seekpoint_pair_t
    signature: SegmentSeeker::seekpoint_pair_t SegmentSeeker::get_seekpoints_around(
      vlc_tick_t target_pts, track_ids_t const& priority_tracks )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:302,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:302,1
    - Dst: find
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:303,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:303,1
    - Dst: mkv::SegmentSeeker::get_seekpoints_around
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:313,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:318,1
    - Dst: tracks_seekpoint_t
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:319,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:322,1
    - Dst: mkv::SegmentSeeker::index_range
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:326,1
    - Dst: mkv::SegmentSeeker::Range
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:326,1
    - Dst: mkv::SegmentSeeker::find_greatest_seekpoints_in_range
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:328,1
    - Dst: contains_all_of_t
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:330,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:341,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 4
    argNames:
    - ' ms'
    - target_pts
    - ' priority_tracks'
    - ' filter_tracks'
    argTypes:
    - matroska_segment_c
    - vlc_tick_t
    - track_ids_t
    - track_ids_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 342
    functionName: mkv::SegmentSeeker::get_seekpoints
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 0
    functionsReached:
    - mkv::SegmentSeeker::find_greatest_seekpoints_in_range
    - mkv::SegmentSeeker::get_seekpoints_around
    - find
    - vlc_assert_unreachable
    - begin
    - mkv::SegmentSeeker::Range
    - contains_all_of_t
    - mkv::SegmentSeeker::index_range
    - tracks_seekpoint_t
    - end
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: SegmentSeeker::tracks_seekpoint_t
    signature: "SegmentSeeker::tracks_seekpoint_t SegmentSeeker::get_seekpoints( matroska_segment_c&
      ms, vlc_tick_t target_pts,\n                               track_ids_t const&
      priority_tracks, track_ids_t const& filter_tracks )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:302,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:302,1
    - Dst: find
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:303,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' haystack'
    - ' track_ids'
    argTypes:
    - tracks_seekpoint_t
    - track_ids_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 308
    functionName: operator()( tracks_seekpoint_t const& haystack, track_ids_t const&
      track_ids )
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    - find
    linkageType: ''
    returnType: bool
    signature: bool operator()( tracks_seekpoint_t const& haystack, track_ids_t const&
      track_ids )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkv::SegmentSeeker::get_search_areas
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:347,1
    - Dst: ranges_t::begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:349,1
    - Dst: ranges_t::end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:349,1
    - Dst: mkv::SegmentSeeker::index_unsearched_range
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - ' ms'
    - search_area
    - max_pts
    argTypes:
    - matroska_segment_c
    - Range
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 351
    functionName: mkv::SegmentSeeker::index_range
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 1
    functionsReached:
    - ranges_t::end
    - mkv::SegmentSeeker::index_unsearched_range
    - mkv::SegmentSeeker::get_search_areas
    - ranges_t::begin
    linkageType: ''
    returnType: void
    signature: void SegmentSeeker::index_range( matroska_segment_c& ms, Range search_area,
      vlc_tick_t max_pts )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mkv::SegmentSeeker::mkv_jump_to
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:356,1
    - Dst: es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:358,1
    - Dst: BlockGet
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:374,1
    - Dst: static_cast<KaxInternalBlock&>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:383,1
    - Dst: static_cast<KaxInternalBlock&>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:384,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:386,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:387,1
    - Dst: GlobalTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:387,1
    - Dst: TrackNum
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:388,1
    - Dst: FindTrackByBlock
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:390,1
    - Dst: mkv::SegmentSeeker::add_seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:397,1
    - Dst: mkv::SegmentSeeker::Seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:397,1
    - Dst: es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:404,1
    - Dst: mkv::SegmentSeeker::mark_range_as_searched
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:406,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - ' ms'
    - search_area
    - max_pts
    argTypes:
    - matroska_segment_c
    - Range
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 407
    functionName: mkv::SegmentSeeker::index_unsearched_range
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 1
    functionsReached:
    - GlobalTimestamp
    - mkv::SegmentSeeker::Seekpoint
    - BlockGet
    - es::I_O
    - mkv::SegmentSeeker::mkv_jump_to
    - mkv::SegmentSeeker::mark_range_as_searched
    - FindTrackByBlock
    - mkv::SegmentSeeker::add_seekpoint
    - static_cast<KaxInternalBlock&>
    - VLC_TICK_FROM_NS
    - GetElementPosition
    - TrackNum
    linkageType: ''
    returnType: void
    signature: void SegmentSeeker::index_unsearched_range( matroska_segment_c& ms,
      Range search_area, vlc_tick_t max_pts )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:414,1
    - Dst: std::upper_bound
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:414,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:414,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:414,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:419,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:419,1
    - Dst: ranges_t::size
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:421,1
    - Dst: ranges_t::rbegin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:423,1
    - Dst: std::max
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:433,1
    - Dst: ranges_t::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:438,1
    - Dst: std::move
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:441,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - data
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 443
    functionName: mkv::SegmentSeeker::mark_range_as_searched
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 1
    functionsReached:
    - ranges_t::push_back
    - begin
    - std::upper_bound
    - ranges_t::rbegin
    - insert
    - std::max
    - std::move
    - ranges_t::size
    - end
    linkageType: ''
    returnType: void
    signature: void SegmentSeeker::mark_range_as_searched( Range data )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: greatest_lower_bound
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:452,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:452,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:452,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:454,1
    - Dst: ranges_t::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:458,1
    - Dst: mkv::SegmentSeeker::Range
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:458,1
    - Dst: std::max
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:465,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:466,1
    - Dst: ranges_t::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:468,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - fptr_t
    - fptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 472
    functionName: mkv::SegmentSeeker::get_search_areas
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 1
    functionsReached:
    - ranges_t::push_back
    - begin
    - mkv::SegmentSeeker::Range
    - greatest_lower_bound
    - std::max
    - end
    linkageType: ''
    returnType: SegmentSeeker::ranges_t
    signature: SegmentSeeker::ranges_t SegmentSeeker::get_search_areas( fptr_t start,
      fptr_t end ) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:479,1
    - Dst: empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:481,1
    - Dst: greatest_lower_bound
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:483,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:484,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:484,1
    - Dst: es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:487,1
    - Dst: ep::reconstruct
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:488,1
    - Dst: ep::Get
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:493,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:496,1
    - Dst: MKV_IS_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:499,1
    - Dst: static_cast<KaxCluster*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:505,1
    - Dst: cluster::GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:507,1
    - Dst: mkv::SegmentSeeker::add_cluster_position
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:509,1
    - Dst: mkv::SegmentSeeker::mark_range_as_searched
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:511,1
    - Dst: mkv::SegmentSeeker::Range
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:511,1
    - Dst: es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:511,1
    - Dst: cluster::IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:513,1
    - Dst: cluster::GetEndPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:513,1
    - Dst: es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:521,1
    - Dst: cluster::GetDataStart
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:521,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:524,1
    - Dst: ep::GetLevel
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:524,1
    - Dst: ep::Down
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:525,1
    - Dst: ep::Get
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:529,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:532,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:534,1
    - Dst: es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:534,1
    - Dst: cluster::InitTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:535,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:535,1
    - Dst: mkv::SegmentSeeker::add_cluster
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:536,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:539,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:541,1
    - Dst: es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:541,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:546,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:546,1
    - Dst: mkv::SegmentSeeker::mark_range_as_searched
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:552,1
    - Dst: mkv::SegmentSeeker::Range
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:552,1
    - Dst: es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:552,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:556,1
    - Dst: es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:557,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 2
    argNames:
    - ' ms'
    - fpos
    argTypes:
    - matroska_segment_c
    - fptr_t
    assertStmts:
    - condition: (ms.ep.GetLevel() == 1)
      pos:
        line_end: 523
        line_start: 523
        source_file: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    constantsTouched: []
    func_position:
      end: 558
      start: 474
    functionDepth: 3
    functionLinenumber: 474
    functionLinenumberEnd: 558
    functionName: mkv::SegmentSeeker::mkv_jump_to
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 1
    functionsReached:
    - assert
    - static_cast<KaxCluster*>
    - packetizer_getcc_cea608_max
    - MKV_IS_ID
    - mkv::SegmentSeeker::add_cluster
    - begin
    - msg_Err
    - mkv::SegmentSeeker::Range
    - ep::GetLevel
    - ReadData
    - cluster::GetEndPosition
    - mkv::SegmentSeeker::mark_range_as_searched
    - static_cast<uint64_t>
    - cluster::GetDataStart
    - greatest_lower_bound
    - cluster::GetElementPosition
    - cluster::InitTimestamp
    - MKV_CHECKED_PTR_DECL
    - mkv::SegmentSeeker::add_cluster_position
    - ep::Down
    - EBML_NAME
    - end
    - es::I_O
    - ep::reconstruct
    - cluster::IsFiniteSize
    - empty
    - ep::Get
    linkageType: ''
    returnType: void
    signature: void SegmentSeeker::mkv_jump_to( matroska_segment_c& ms, fptr_t fpos
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::upper_bound
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:56,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:57,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:58,1
    - Dst: insert
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fpos
    argTypes:
    - fptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: mkv::SegmentSeeker::add_cluster_position
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 2
    functionsReached:
    - end
    - std::upper_bound
    - begin
    - insert
    linkageType: ''
    returnType: SegmentSeeker::cluster_positions_t::iterator
    signature: SegmentSeeker::cluster_positions_t::iterator SegmentSeeker::add_cluster_position(
      fptr_t fpos )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: KaxCluster*::GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:69,1
    - Dst: vlc_tick_t
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:70,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:70,1
    - Dst: KaxCluster*::GlobalTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:70,1
    - Dst: vlc_tick_t
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:71,1
    - Dst: KaxCluster*::IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:72,1
    - Dst: KaxCluster*::GetEndPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:73,1
    - Dst: KaxCluster*::GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:73,1
    - Dst: mkv::SegmentSeeker::add_cluster_position
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:77,1
    - Dst: lower_bound
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:79,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:81,1
    - Dst: insert
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:87,1
    - Dst: cluster_map_t::value_type
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:87,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:102,1
    - Dst: cpu_suffix
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:104,1
    - Dst: prev_
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:104,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:107,1
    - Dst: next_
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:107,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:107,1
    - Dst: cpu_suffix
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:109,1
    - Dst: next_
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:109,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - p_cluster
    argTypes:
    - KaxCluster*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 113
    functionName: mkv::SegmentSeeker::add_cluster
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 1
    functionsReached:
    - KaxCluster*::GetElementPosition
    - lower_bound
    - prev_
    - begin
    - insert
    - KaxCluster*::GetEndPosition
    - next_
    - KaxCluster*::IsFiniteSize
    - mkv::SegmentSeeker::add_cluster_position
    - cluster_map_t::value_type
    - end
    - VLC_TICK_FROM_NS
    - vlc_tick_t
    - KaxCluster*::GlobalTimestamp
    - cpu_suffix
    linkageType: ''
    returnType: SegmentSeeker::cluster_map_t::iterator
    signature: SegmentSeeker::cluster_map_t::iterator SegmentSeeker::add_cluster(
      KaxCluster * const p_cluster )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' prev'
    - ' next'
    argTypes:
    - Cluster
    - Cluster
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: mkv::fix
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fix( Cluster& prev, Cluster& next )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::lower_bound
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:119,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:119,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:119,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:121,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:128,1
    - Dst: insert
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - track_id
    - sp
    argTypes:
    - track_id_t
    - Seekpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 139
    functionName: mkv::SegmentSeeker::add_seekpoint
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 1
    functionsReached:
    - std::lower_bound
    - begin
    - insert
    - end
    linkageType: ''
    returnType: void
    signature: void SegmentSeeker::add_seekpoint( track_id_t track_id, Seekpoint sp
      )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:146,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:146,1
    - Dst: find
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:148,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:148,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:148,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:148,1
    - Dst: mkv::SegmentSeeker::get_first_seekpoint_around
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:151,1
    - Dst: tracks_seekpoint_t::insert
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:159,1
    - Dst: tracks_seekpoint_t::value_type
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:159,1
    - Dst: tracks_seekpoint_t::empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:162,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:165,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:165,1
    - Dst: find
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:167,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:167,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:167,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:167,1
    - Dst: mkv::SegmentSeeker::get_first_seekpoint_around
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:170,1
    - Dst: tracks_seekpoint_t::insert
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:175,1
    - Dst: tracks_seekpoint_t::value_type
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:175,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 3
    argNames:
    - start_fpos
    - end_pts
    - ' filter_tracks'
    argTypes:
    - fptr_t
    - vlc_tick_t
    - track_ids_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 180
    functionName: mkv::SegmentSeeker::find_greatest_seekpoints_in_range
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 1
    functionsReached:
    - begin
    - tracks_seekpoint_t::insert
    - tracks_seekpoint_t::value_type
    - mkv::SegmentSeeker::get_first_seekpoint_around
    - tracks_seekpoint_t::empty
    - end
    - find
    linkageType: ''
    returnType: SegmentSeeker::tracks_seekpoint_t
    signature: SegmentSeeker::tracks_seekpoint_t SegmentSeeker::find_greatest_seekpoints_in_range(
      fptr_t start_fpos, vlc_tick_t end_pts, track_ids_t const& filter_tracks )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:186,1
    - Dst: mkv::SegmentSeeker::Seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:188,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:195,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:196,1
    - Dst: greatest_lower_bound
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - pts
    - ' seekpoints'
    - trust_level
    argTypes:
    - vlc_tick_t
    - seekpoints_t
    - Seekpoint::TrustLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 208
    functionName: mkv::SegmentSeeker::get_first_seekpoint_around
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 2
    functionsReached:
    - mkv::SegmentSeeker::Seekpoint
    - begin
    - greatest_lower_bound
    - empty
    - end
    linkageType: ''
    returnType: SegmentSeeker::Seekpoint
    signature: "SegmentSeeker::Seekpoint SegmentSeeker::get_first_seekpoint_around(
      vlc_tick_t pts, seekpoints_t const& seekpoints,\n                                           Seekpoint::TrustLevel
      trust_level )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:213,1
    - Dst: seekpoint_pair_t
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:215,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:222,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:223,1
    - Dst: greatest_lower_bound
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:224,1
    - Dst: seekpoint_pair_t
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:228,1
    - Dst: mkv::SegmentSeeker::Seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:228,1
    - Dst: next_
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:231,1
    - Dst: seekpoint_pair_t
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:233,1
    - Dst: mkv::SegmentSeeker::Seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pts
    - ' seekpoints'
    argTypes:
    - vlc_tick_t
    - seekpoints_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 236
    functionName: mkv::SegmentSeeker::get_seekpoints_around
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 2
    functionsReached:
    - mkv::SegmentSeeker::Seekpoint
    - begin
    - greatest_lower_bound
    - empty
    - seekpoint_pair_t
    - end
    - next_
    linkageType: ''
    returnType: SegmentSeeker::seekpoint_pair_t
    signature: SegmentSeeker::seekpoint_pair_t SegmentSeeker::get_seekpoints_around(
      vlc_tick_t pts, seekpoints_t const& seekpoints )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:243,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:250,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:251,1
    - Dst: mkv::SegmentSeeker::get_seekpoints_around
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:255,1
    - Dst: lower_bound
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:274,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:276,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:276,1
    - Dst: mkv::SegmentSeeker::Seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:282,1
    - Dst: mkv::SegmentSeeker::Seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:287,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - target_pts
    - ' priority_tracks'
    argTypes:
    - vlc_tick_t
    - track_ids_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 293
    functionName: mkv::SegmentSeeker::get_seekpoints_around
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 3
    functionsReached:
    - mkv::SegmentSeeker::Seekpoint
    - mkv::SegmentSeeker::get_seekpoints_around
    - lower_bound
    - begin
    - empty
    - end
    linkageType: ''
    returnType: SegmentSeeker::seekpoint_pair_t
    signature: SegmentSeeker::seekpoint_pair_t SegmentSeeker::get_seekpoints_around(
      vlc_tick_t target_pts, track_ids_t const& priority_tracks )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:302,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:302,1
    - Dst: find
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:303,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:303,1
    - Dst: mkv::SegmentSeeker::get_seekpoints_around
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:313,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:318,1
    - Dst: tracks_seekpoint_t
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:319,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:322,1
    - Dst: mkv::SegmentSeeker::index_range
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:326,1
    - Dst: mkv::SegmentSeeker::Range
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:326,1
    - Dst: mkv::SegmentSeeker::find_greatest_seekpoints_in_range
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:328,1
    - Dst: contains_all_of_t
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:330,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:341,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 4
    argNames:
    - ' ms'
    - target_pts
    - ' priority_tracks'
    - ' filter_tracks'
    argTypes:
    - matroska_segment_c
    - vlc_tick_t
    - track_ids_t
    - track_ids_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 342
    functionName: mkv::SegmentSeeker::get_seekpoints
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 0
    functionsReached:
    - mkv::SegmentSeeker::find_greatest_seekpoints_in_range
    - mkv::SegmentSeeker::get_seekpoints_around
    - find
    - vlc_assert_unreachable
    - begin
    - mkv::SegmentSeeker::Range
    - contains_all_of_t
    - mkv::SegmentSeeker::index_range
    - tracks_seekpoint_t
    - end
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: SegmentSeeker::tracks_seekpoint_t
    signature: "SegmentSeeker::tracks_seekpoint_t SegmentSeeker::get_seekpoints( matroska_segment_c&
      ms, vlc_tick_t target_pts,\n                               track_ids_t const&
      priority_tracks, track_ids_t const& filter_tracks )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:302,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:302,1
    - Dst: find
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:303,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' haystack'
    - ' track_ids'
    argTypes:
    - tracks_seekpoint_t
    - track_ids_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 308
    functionName: operator()( tracks_seekpoint_t const& haystack, track_ids_t const&
      track_ids )
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    - find
    linkageType: ''
    returnType: bool
    signature: bool operator()( tracks_seekpoint_t const& haystack, track_ids_t const&
      track_ids )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkv::SegmentSeeker::get_search_areas
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:347,1
    - Dst: ranges_t::begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:349,1
    - Dst: ranges_t::end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:349,1
    - Dst: mkv::SegmentSeeker::index_unsearched_range
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - ' ms'
    - search_area
    - max_pts
    argTypes:
    - matroska_segment_c
    - Range
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 344
    functionDepth: 3
    functionLinenumber: 344
    functionLinenumberEnd: 351
    functionName: mkv::SegmentSeeker::index_range
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 2
    functionsReached:
    - ranges_t::end
    - mkv::SegmentSeeker::index_unsearched_range
    - mkv::SegmentSeeker::get_search_areas
    - ranges_t::begin
    linkageType: ''
    returnType: void
    signature: void SegmentSeeker::index_range( matroska_segment_c& ms, Range search_area,
      vlc_tick_t max_pts )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mkv::SegmentSeeker::mkv_jump_to
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:356,1
    - Dst: es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:358,1
    - Dst: BlockGet
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:374,1
    - Dst: static_cast<KaxInternalBlock&>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:383,1
    - Dst: static_cast<KaxInternalBlock&>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:384,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:386,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:387,1
    - Dst: GlobalTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:387,1
    - Dst: TrackNum
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:388,1
    - Dst: FindTrackByBlock
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:390,1
    - Dst: mkv::SegmentSeeker::add_seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:397,1
    - Dst: mkv::SegmentSeeker::Seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:397,1
    - Dst: es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:404,1
    - Dst: mkv::SegmentSeeker::mark_range_as_searched
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:406,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - ' ms'
    - search_area
    - max_pts
    argTypes:
    - matroska_segment_c
    - Range
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 353
    functionDepth: 4
    functionLinenumber: 353
    functionLinenumberEnd: 407
    functionName: mkv::SegmentSeeker::index_unsearched_range
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 2
    functionsReached:
    - GlobalTimestamp
    - mkv::SegmentSeeker::Seekpoint
    - BlockGet
    - es::I_O
    - mkv::SegmentSeeker::mkv_jump_to
    - mkv::SegmentSeeker::mark_range_as_searched
    - FindTrackByBlock
    - mkv::SegmentSeeker::add_seekpoint
    - static_cast<KaxInternalBlock&>
    - VLC_TICK_FROM_NS
    - GetElementPosition
    - TrackNum
    linkageType: ''
    returnType: void
    signature: void SegmentSeeker::index_unsearched_range( matroska_segment_c& ms,
      Range search_area, vlc_tick_t max_pts )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:414,1
    - Dst: std::upper_bound
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:414,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:414,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:414,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:419,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:419,1
    - Dst: ranges_t::size
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:421,1
    - Dst: ranges_t::rbegin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:423,1
    - Dst: std::max
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:433,1
    - Dst: ranges_t::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:438,1
    - Dst: std::move
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:441,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - data
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 443
    functionName: mkv::SegmentSeeker::mark_range_as_searched
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 3
    functionsReached:
    - ranges_t::push_back
    - begin
    - std::upper_bound
    - ranges_t::rbegin
    - insert
    - std::max
    - std::move
    - ranges_t::size
    - end
    linkageType: ''
    returnType: void
    signature: void SegmentSeeker::mark_range_as_searched( Range data )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: greatest_lower_bound
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:452,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:452,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:452,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:454,1
    - Dst: ranges_t::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:458,1
    - Dst: mkv::SegmentSeeker::Range
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:458,1
    - Dst: std::max
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:465,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:466,1
    - Dst: ranges_t::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:468,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - fptr_t
    - fptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 472
    functionName: mkv::SegmentSeeker::get_search_areas
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 2
    functionsReached:
    - ranges_t::push_back
    - begin
    - mkv::SegmentSeeker::Range
    - greatest_lower_bound
    - std::max
    - end
    linkageType: ''
    returnType: SegmentSeeker::ranges_t
    signature: SegmentSeeker::ranges_t SegmentSeeker::get_search_areas( fptr_t start,
      fptr_t end ) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:479,1
    - Dst: empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:481,1
    - Dst: greatest_lower_bound
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:483,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:484,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:484,1
    - Dst: es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:487,1
    - Dst: ep::reconstruct
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:488,1
    - Dst: ep::Get
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:493,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:496,1
    - Dst: MKV_IS_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:499,1
    - Dst: static_cast<KaxCluster*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:505,1
    - Dst: cluster::GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:507,1
    - Dst: mkv::SegmentSeeker::add_cluster_position
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:509,1
    - Dst: mkv::SegmentSeeker::mark_range_as_searched
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:511,1
    - Dst: mkv::SegmentSeeker::Range
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:511,1
    - Dst: es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:511,1
    - Dst: cluster::IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:513,1
    - Dst: cluster::GetEndPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:513,1
    - Dst: es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:521,1
    - Dst: cluster::GetDataStart
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:521,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:524,1
    - Dst: ep::GetLevel
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:524,1
    - Dst: ep::Down
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:525,1
    - Dst: ep::Get
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:529,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:532,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:534,1
    - Dst: es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:534,1
    - Dst: cluster::InitTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:535,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:535,1
    - Dst: mkv::SegmentSeeker::add_cluster
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:536,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:539,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:541,1
    - Dst: es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:541,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:546,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:546,1
    - Dst: mkv::SegmentSeeker::mark_range_as_searched
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:552,1
    - Dst: mkv::SegmentSeeker::Range
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:552,1
    - Dst: es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:552,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:556,1
    - Dst: es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp:557,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 2
    argNames:
    - ' ms'
    - fpos
    argTypes:
    - matroska_segment_c
    - fptr_t
    assertStmts:
    - condition: (ms.ep.GetLevel() == 1)
      pos:
        line_end: 523
        line_start: 523
        source_file: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    constantsTouched: []
    func_position:
      end: 558
      start: 474
    functionDepth: 3
    functionLinenumber: 474
    functionLinenumberEnd: 558
    functionName: mkv::SegmentSeeker::mkv_jump_to
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.cpp
    functionUses: 2
    functionsReached:
    - assert
    - static_cast<KaxCluster*>
    - packetizer_getcc_cea608_max
    - MKV_IS_ID
    - mkv::SegmentSeeker::add_cluster
    - begin
    - msg_Err
    - mkv::SegmentSeeker::Range
    - ep::GetLevel
    - ReadData
    - cluster::GetEndPosition
    - mkv::SegmentSeeker::mark_range_as_searched
    - static_cast<uint64_t>
    - cluster::GetDataStart
    - greatest_lower_bound
    - cluster::GetElementPosition
    - cluster::InitTimestamp
    - MKV_CHECKED_PTR_DECL
    - mkv::SegmentSeeker::add_cluster_position
    - ep::Down
    - EBML_NAME
    - end
    - es::I_O
    - ep::reconstruct
    - cluster::IsFiniteSize
    - empty
    - ep::Get
    linkageType: ''
    returnType: void
    signature: void SegmentSeeker::mkv_jump_to( matroska_segment_c& ms, fptr_t fpos
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mouse_Init
      Src: /src/vlc/modules/demux/mkv/events.hpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' track_'
    - ' owner'
    argTypes:
    - mkv_track_t
    - event_thread_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: mkv::event_thread_t::ESInfo
    functionSourceFile: /src/vlc/modules/demux/mkv/events.hpp
    functionUses: 2
    functionsReached:
    - vlc_mouse_Init
    linkageType: ''
    returnType: void
    signature: void ESInfo( mkv_track_t & track_, event_thread_t& owner )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - mkv_track_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: operator==( const mkv_track_t & t ) const
    functionSourceFile: /src/vlc/modules/demux/mkv/events.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==( const mkv_track_t & t ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' state_old'
    - ' state_new'
    argTypes:
    - vlc_mouse_t
    - vlc_mouse_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: mkv::event_thread_t::EventInfo
    functionSourceFile: /src/vlc/modules/demux/mkv/events.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EventInfo( const vlc_mouse_t & state_old, const vlc_mouse_t &
      state_new )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - block
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: mkv::event_thread_t::EventInfo
    functionSourceFile: /src/vlc/modules/demux/mkv/events.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EventInfo( block_t * block )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkv::event_thread_t::EnsureThreadLocked
      Src: /src/vlc/modules/demux/mkv/events.hpp:132,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/mkv/events.hpp:134,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/demux/mkv/events.hpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - EventInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: mkv::event_thread_t::QueueEvent
    functionSourceFile: /src/vlc/modules/demux/mkv/events.hpp
    functionUses: 2
    functionsReached:
    - vlc_cond_signal
    - push_back
    - mkv::event_thread_t::EnsureThreadLocked
    linkageType: ''
    returnType: void
    signature: void QueueEvent(const EventInfo & e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mouse_Init
      Src: /src/vlc/modules/demux/mkv/events.hpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' track_'
    - ' owner'
    argTypes:
    - mkv_track_t
    - event_thread_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: mkv::event_thread_t::ESInfo
    functionSourceFile: /src/vlc/modules/demux/mkv/events.hpp
    functionUses: 2
    functionsReached:
    - vlc_mouse_Init
    linkageType: ''
    returnType: void
    signature: void ESInfo( mkv_track_t & track_, event_thread_t& owner )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - mkv_track_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: operator==( const mkv_track_t & t ) const
    functionSourceFile: /src/vlc/modules/demux/mkv/events.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==( const mkv_track_t & t ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' state_old'
    - ' state_new'
    argTypes:
    - vlc_mouse_t
    - vlc_mouse_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: mkv::event_thread_t::EventInfo
    functionSourceFile: /src/vlc/modules/demux/mkv/events.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EventInfo( const vlc_mouse_t & state_old, const vlc_mouse_t &
      state_new )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - block
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: mkv::event_thread_t::EventInfo
    functionSourceFile: /src/vlc/modules/demux/mkv/events.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EventInfo( block_t * block )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkv::event_thread_t::EnsureThreadLocked
      Src: /src/vlc/modules/demux/mkv/events.hpp:132,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/mkv/events.hpp:134,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/demux/mkv/events.hpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - EventInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: mkv::event_thread_t::QueueEvent
    functionSourceFile: /src/vlc/modules/demux/mkv/events.hpp
    functionUses: 2
    functionsReached:
    - vlc_cond_signal
    - push_back
    - mkv::event_thread_t::EnsureThreadLocked
    linkageType: ''
    returnType: void
    signature: void QueueEvent(const EventInfo & e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: mkv::Tag::Tag
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tag()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment.hpp:164,1
    - Dst: IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment.hpp:164,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment.hpp:164,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.hpp:166,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.hpp:166,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.hpp:166,1
    - Dst: Read
      Src: /src/vlc/modules/demux/mkv/matroska_segment.hpp:173,1
    - Dst: EBML_CONTEXT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.hpp:173,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mkv/matroska_segment.hpp:176,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.hpp:182,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.hpp:182,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.hpp:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - EbmlMaster
    assertStmts:
    - condition: (el != nullptr)
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/vlc/modules/demux/mkv/matroska_segment.hpp
    constantsTouched: []
    func_position:
      end: 187
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 187
    functionName: mkv::matroska_segment_c::ReadMaster
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.hpp
    functionUses: 10
    functionsReached:
    - IsFiniteSize
    - assert
    - GetSize
    - Read
    - EBML_CONTEXT
    - msg_Err
    - EBML_NAME
    - VLC_OBJECT
    - unlikely
    linkageType: ''
    returnType: bool
    signature: bool ReadMaster(EbmlMaster & m, ScopeMode scope = SCOPE_ALL_DATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: mkv::Tag::Tag
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tag()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment.hpp:164,1
    - Dst: IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment.hpp:164,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment.hpp:164,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.hpp:166,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.hpp:166,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.hpp:166,1
    - Dst: Read
      Src: /src/vlc/modules/demux/mkv/matroska_segment.hpp:173,1
    - Dst: EBML_CONTEXT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.hpp:173,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mkv/matroska_segment.hpp:176,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.hpp:182,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.hpp:182,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.hpp:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - EbmlMaster
    assertStmts:
    - condition: (el != nullptr)
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/vlc/modules/demux/mkv/matroska_segment.hpp
    constantsTouched: []
    func_position:
      end: 187
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 187
    functionName: mkv::matroska_segment_c::ReadMaster
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.hpp
    functionUses: 10
    functionsReached:
    - IsFiniteSize
    - assert
    - GetSize
    - Read
    - EBML_CONTEXT
    - msg_Err
    - EBML_NAME
    - VLC_OBJECT
    - unlikely
    linkageType: ''
    returnType: bool
    signature: bool ReadMaster(EbmlMaster & m, ScopeMode scope = SCOPE_ALL_DATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - log
    - ' vm_'
    argTypes:
    - struct vlc_logger*
    - chapter_codec_vm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: mkv::matroska_script_interpretor_c::matroska_script_interpretor_c
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_script.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void matroska_script_interpretor_c( struct vlc_logger *log, chapter_codec_vm
      & vm_ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - log
    - ' vm_'
    - ' interpreter_'
    argTypes:
    - struct vlc_logger*
    - chapter_codec_vm
    - matroska_script_interpretor_c
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: mkv::matroska_script_codec_c::matroska_script_codec_c
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_script.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void matroska_script_codec_c( struct vlc_logger *log, chapter_codec_vm
      & vm_, matroska_script_interpretor_c & interpreter_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: '& get_interpreter() override'
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_script.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: matroska_script_interpreter_common_c
    signature: matroska_script_interpreter_common_c & get_interpreter() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - log
    - ' vm_'
    argTypes:
    - struct vlc_logger*
    - chapter_codec_vm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: mkv::matroska_script_interpretor_c::matroska_script_interpretor_c
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_script.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void matroska_script_interpretor_c( struct vlc_logger *log, chapter_codec_vm
      & vm_ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - log
    - ' vm_'
    - ' interpreter_'
    argTypes:
    - struct vlc_logger*
    - chapter_codec_vm
    - matroska_script_interpretor_c
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: mkv::matroska_script_codec_c::matroska_script_codec_c
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_script.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void matroska_script_codec_c( struct vlc_logger *log, chapter_codec_vm
      & vm_, matroska_script_interpretor_c & interpreter_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: '& get_interpreter() override'
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_script.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: matroska_script_interpreter_common_c
    signature: matroska_script_interpreter_common_c & get_interpreter() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/demux/mkv/demux.hpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' demux'
    - trust_cues
    argTypes:
    - demux_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 63
    functionName: mkv::demux_sys_t
    functionSourceFile: /src/vlc/modules/demux/mkv/demux.hpp
    functionUses: 0
    functionsReached:
    - vlc_mutex_init
    linkageType: ''
    returnType: void
    signature: void demux_sys_t( demux_t & demux, bool trust_cues )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: mkv::GetCurrentVSegment
    functionSourceFile: /src/vlc/modules/demux/mkv/demux.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: virtual_segment_c
    signature: virtual_segment_c *GetCurrentVSegment() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<dvd_command_interpretor_c>
      Src: /src/vlc/modules/demux/mkv/demux.hpp:120,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/demux/mkv/demux.hpp:120,1
    - Dst: get
      Src: /src/vlc/modules/demux/mkv/demux.hpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: mkv::GetDVDInterpretor
    functionSourceFile: /src/vlc/modules/demux/mkv/demux.hpp
    functionUses: 0
    functionsReached:
    - vlc_object_logger
    - std::make_unique<dvd_command_interpretor_c>
    - get
    linkageType: ''
    returnType: dvd_command_interpretor_c
    signature: dvd_command_interpretor_c * GetDVDInterpretor()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<matroska_script_interpretor_c>
      Src: /src/vlc/modules/demux/mkv/demux.hpp:132,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/demux/mkv/demux.hpp:132,1
    - Dst: get
      Src: /src/vlc/modules/demux/mkv/demux.hpp:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 138
    functionName: mkv::GetMatroskaScriptInterpreter
    functionSourceFile: /src/vlc/modules/demux/mkv/demux.hpp
    functionUses: 0
    functionsReached:
    - std::make_unique<matroska_script_interpretor_c>
    - vlc_object_logger
    - get
    linkageType: ''
    returnType: matroska_script_interpretor_c
    signature: matroska_script_interpretor_c * GetMatroskaScriptInterpreter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/demux/mkv/demux.hpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' demux'
    - trust_cues
    argTypes:
    - demux_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 63
    functionName: mkv::demux_sys_t
    functionSourceFile: /src/vlc/modules/demux/mkv/demux.hpp
    functionUses: 0
    functionsReached:
    - vlc_mutex_init
    linkageType: ''
    returnType: void
    signature: void demux_sys_t( demux_t & demux, bool trust_cues )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: mkv::GetCurrentVSegment
    functionSourceFile: /src/vlc/modules/demux/mkv/demux.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: virtual_segment_c
    signature: virtual_segment_c *GetCurrentVSegment() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<dvd_command_interpretor_c>
      Src: /src/vlc/modules/demux/mkv/demux.hpp:120,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/demux/mkv/demux.hpp:120,1
    - Dst: get
      Src: /src/vlc/modules/demux/mkv/demux.hpp:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: mkv::GetDVDInterpretor
    functionSourceFile: /src/vlc/modules/demux/mkv/demux.hpp
    functionUses: 0
    functionsReached:
    - vlc_object_logger
    - std::make_unique<dvd_command_interpretor_c>
    - get
    linkageType: ''
    returnType: dvd_command_interpretor_c
    signature: dvd_command_interpretor_c * GetDVDInterpretor()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<matroska_script_interpretor_c>
      Src: /src/vlc/modules/demux/mkv/demux.hpp:132,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/demux/mkv/demux.hpp:132,1
    - Dst: get
      Src: /src/vlc/modules/demux/mkv/demux.hpp:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 138
    functionName: mkv::GetMatroskaScriptInterpreter
    functionSourceFile: /src/vlc/modules/demux/mkv/demux.hpp
    functionUses: 0
    functionsReached:
    - std::make_unique<matroska_script_interpretor_c>
    - vlc_object_logger
    - get
    linkageType: ''
    returnType: matroska_script_interpretor_c
    signature: matroska_script_interpretor_c * GetMatroskaScriptInterpreter()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FindChild<KaxChapterProcessData>
      Src: /src/vlc/modules/demux/mkv/chapter_command.cpp:32,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/chapter_command.cpp:33,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command.cpp:35,1
    - Dst: FindChild<KaxChapterProcessTime>
      Src: /src/vlc/modules/demux/mkv/chapter_command.cpp:39,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/chapter_command.cpp:40,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command.cpp:42,1
    - Dst: static_cast<unsigned>
      Src: /src/vlc/modules/demux/mkv/chapter_command.cpp:45,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command.cpp:47,1
    - Dst: static_cast<unsigned>
      Src: /src/vlc/modules/demux/mkv/chapter_command.cpp:47,1
    - Dst: static_cast<unsigned>
      Src: /src/vlc/modules/demux/mkv/chapter_command.cpp:51,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/mkv/chapter_command.cpp:53,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/mkv/chapter_command.cpp:54,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/mkv/chapter_command.cpp:55,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/demux/mkv/chapter_command.cpp:56,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - ' command'
    argTypes:
    - KaxChapterProcessCommand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 58
    functionName: mkv::chapter_codec_cmds_c::AddCommand
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command.cpp
    functionUses: 0
    functionsReached:
    - FindChild<KaxChapterProcessTime>
    - push_back
    - FindChild<KaxChapterProcessData>
    - vlc_assert_unreachable
    - vlc_debug
    - static_cast<unsigned>
    - unlikely
    linkageType: ''
    returnType: void
    signature: void chapter_codec_cmds_c::AddCommand( const KaxChapterProcessCommand
      & command )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FindChild<KaxChapterProcessData>
      Src: /src/vlc/modules/demux/mkv/chapter_command.cpp:32,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/chapter_command.cpp:33,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command.cpp:35,1
    - Dst: FindChild<KaxChapterProcessTime>
      Src: /src/vlc/modules/demux/mkv/chapter_command.cpp:39,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/chapter_command.cpp:40,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command.cpp:42,1
    - Dst: static_cast<unsigned>
      Src: /src/vlc/modules/demux/mkv/chapter_command.cpp:45,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command.cpp:47,1
    - Dst: static_cast<unsigned>
      Src: /src/vlc/modules/demux/mkv/chapter_command.cpp:47,1
    - Dst: static_cast<unsigned>
      Src: /src/vlc/modules/demux/mkv/chapter_command.cpp:51,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/mkv/chapter_command.cpp:53,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/mkv/chapter_command.cpp:54,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/mkv/chapter_command.cpp:55,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/demux/mkv/chapter_command.cpp:56,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - ' command'
    argTypes:
    - KaxChapterProcessCommand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 58
    functionName: mkv::chapter_codec_cmds_c::AddCommand
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command.cpp
    functionUses: 0
    functionsReached:
    - FindChild<KaxChapterProcessTime>
    - push_back
    - FindChild<KaxChapterProcessData>
    - vlc_assert_unreachable
    - vlc_debug
    - static_cast<unsigned>
    - unlikely
    linkageType: ''
    returnType: void
    signature: void chapter_codec_cmds_c::AddCommand( const KaxChapterProcessCommand
      & command )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - log
    - ' vm_'
    argTypes:
    - struct vlc_logger*
    - chapter_codec_vm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 34
    functionName: mkv::dvd_command_interpretor_c::dvd_command_interpretor_c
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void dvd_command_interpretor_c( struct vlc_logger *log, chapter_codec_vm
      & vm_ )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: mkv::dvd_command_interpretor_c::GetPRM
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t GetPRM( size_t index ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: mkv::dvd_command_interpretor_c::GetGPRM
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t GetGPRM( size_t index ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: mkv::dvd_command_interpretor_c::GetSPRM
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t GetSPRM( size_t index ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - index
    - value
    argTypes:
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: mkv::dvd_command_interpretor_c::SetPRM
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SetPRM( size_t index, uint16_t value )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - index
    - value
    argTypes:
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: mkv::dvd_command_interpretor_c::SetGPRM
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SetGPRM( size_t index, uint16_t value )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - index
    - value
    argTypes:
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: mkv::dvd_command_interpretor_c::SetSPRM
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SetSPRM( size_t index, uint16_t value )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp:101,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp:101,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp:111,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp:111,1
    - Dst: mkv::dvd_command_interpretor_c::GetPRM
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp:111,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp:120,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp:120,1
    - Dst: mkv::dvd_command_interpretor_c::GetPRM
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - b_value
    - value
    argTypes:
    - bool
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 128
    functionName: mkv::dvd_command_interpretor_c::GetRegTypeName
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp
    functionUses: 0
    functionsReached:
    - snprintf
    - ARRAY_SIZE
    - mkv::dvd_command_interpretor_c::GetPRM
    linkageType: ''
    returnType: std::string
    signature: std::string GetRegTypeName( bool b_value, uint16_t value ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - log
    - ' vm_'
    - ' intepretor_'
    argTypes:
    - struct vlc_logger*
    - chapter_codec_vm
    - dvd_command_interpretor_c
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: mkv::dvd_chapter_codec_c::dvd_chapter_codec_c
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dvd_chapter_codec_c( struct vlc_logger *log, chapter_codec_vm
      & vm_, dvd_command_interpretor_c & intepretor_ )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - log
    - ' vm_'
    argTypes:
    - struct vlc_logger*
    - chapter_codec_vm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 34
    functionName: mkv::dvd_command_interpretor_c::dvd_command_interpretor_c
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void dvd_command_interpretor_c( struct vlc_logger *log, chapter_codec_vm
      & vm_ )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: mkv::dvd_command_interpretor_c::GetPRM
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t GetPRM( size_t index ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: mkv::dvd_command_interpretor_c::GetGPRM
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t GetGPRM( size_t index ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: mkv::dvd_command_interpretor_c::GetSPRM
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t GetSPRM( size_t index ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - index
    - value
    argTypes:
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: mkv::dvd_command_interpretor_c::SetPRM
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SetPRM( size_t index, uint16_t value )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - index
    - value
    argTypes:
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: mkv::dvd_command_interpretor_c::SetGPRM
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SetGPRM( size_t index, uint16_t value )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - index
    - value
    argTypes:
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: mkv::dvd_command_interpretor_c::SetSPRM
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SetSPRM( size_t index, uint16_t value )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp:101,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp:101,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp:111,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp:111,1
    - Dst: mkv::dvd_command_interpretor_c::GetPRM
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp:111,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp:120,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp:120,1
    - Dst: mkv::dvd_command_interpretor_c::GetPRM
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - b_value
    - value
    argTypes:
    - bool
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 128
    functionName: mkv::dvd_command_interpretor_c::GetRegTypeName
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp
    functionUses: 0
    functionsReached:
    - snprintf
    - ARRAY_SIZE
    - mkv::dvd_command_interpretor_c::GetPRM
    linkageType: ''
    returnType: std::string
    signature: std::string GetRegTypeName( bool b_value, uint16_t value ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - log
    - ' vm_'
    - ' intepretor_'
    argTypes:
    - struct vlc_logger*
    - chapter_codec_vm
    - dvd_command_interpretor_c
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: mkv::dvd_chapter_codec_c::dvd_chapter_codec_c
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dvd_chapter_codec_c( struct vlc_logger *log, chapter_codec_vm
      & vm_, dvd_command_interpretor_c & intepretor_ )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EbmlParser
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' demuxer'
    - ' estream'
    - p_seg
    argTypes:
    - demux_sys_t
    - matroska_iostream_c
    - KaxSegment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 66
    functionName: mkv::matroska_segment_c::matroska_segment_c
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - EbmlParser
    linkageType: ''
    returnType: void
    signature: void matroska_segment_c::matroska_segment_c( demux_sys_t & demuxer,
      matroska_iostream_c & estream, KaxSegment *p_seg )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:70,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:71,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:72,1
    - Dst: vlc_delete_all
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:79,1
    - Dst: vlc_delete_all
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:80,1
    - Dst: vlc_delete_all
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 82
    functionName: matroska_segment_c::~matroska_segment_c()
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - free
    - vlc_delete_all
    linkageType: ''
    returnType: void
    signature: void matroska_segment_c::~matroska_segment_c()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:98,1
    - Dst: EbmlParser::Get
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:103,1
    - Dst: MKV_IS_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:105,1
    - Dst: EbmlParser::Down
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:113,1
    - Dst: EbmlParser::Get
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:114,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:116,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:120,1
    - Dst: ValidateSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:120,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:122,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:126,1
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:126,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:130,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:134,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:134,1
    - Dst: MKV_IS_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:136,1
    - Dst: EbmlParser::Down
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:138,1
    - Dst: EbmlParser::Get
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:141,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:143,1
    - Dst: EbmlElement*::ValidateSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:143,1
    - Dst: EbmlParser::Up
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:145,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:146,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:146,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:151,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:153,1
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:153,1
    - Dst: static_cast<uint16_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:154,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:156,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:158,1
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:158,1
    - Dst: GetGlobalPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:159,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:159,1
    - Dst: add_cluster_position
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:161,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:163,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:165,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:170,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:174,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:178,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:182,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:187,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:187,1
    - Dst: EbmlParser::Up
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:193,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:194,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:194,1
    - Dst: EbmlParser::Up
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:198,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:202,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:202,1
    - Dst: EbmlParser::Up
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:205,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:207,1
    - Dst: find
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:211,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:211,1
    - Dst: add_seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:218,1
    - Dst: mkv::SegmentSeeker::Seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:219,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:224,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:224,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:228,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 80
    argCount: 1
    argNames:
    - cues
    argTypes:
    - KaxCues*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 229
    functionName: mkv::matroska_segment_c::LoadCues
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - EbmlElement*::ValidateSize
    - EbmlParser::Down
    - EbmlParser::Up
    - VLC_TICK_FROM_NS
    - ValidateSize
    - find
    - MKV_IS_ID
    - msg_Err
    - msg_Dbg
    - msg_Warn
    - ReadData
    - add_seekpoint
    - static_cast<uint64_t>
    - GetGlobalPosition
    - I_O
    - EbmlParser::Get
    - MKV_CHECKED_PTR_DECL
    - EBML_NAME
    - static_cast<uint16_t>
    - end
    - VLC_UNUSED
    - mkv::SegmentSeeker::Seekpoint
    - add_cluster_position
    - unlikely
    linkageType: ''
    returnType: void
    signature: void matroska_segment_c::LoadCues( KaxCues *cues )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: mkv::if
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: else
    signature: else if( MKV_CHECKED_PTR_DECL( cuerelative, KaxCueRelativePosition,
      el ) )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: mkv::if
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: else
    signature: else if( MKV_CHECKED_PTR_DECL( cueblock, KaxCueBlockNumber, el ) )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: mkv::if
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: else
    signature: else if( MKV_CHECKED_PTR_DECL( cueref, KaxCueReference, el ) )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: mkv::if
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: else
    signature: else if( MKV_CHECKED_PTR_DECL( cueduration, KaxCueDuration, el ) )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:270,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:281,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:284,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:288,1
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:292,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:296,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:297,1
    - Dst: obj::ParseSimpleTags
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:304,1
    - Dst: out::sub_tags::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:305,1
    - Dst: std::move
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:305,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:308,1
    - Dst: KaxTagSimple*::begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:308,1
    - Dst: KaxTagSimple*::end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:308,1
    - Dst: SimpleTag*::tag_name::empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:310,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:312,1
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:316,1
    - Dst: vlc_meta_Set
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:322,1
    - Dst: SimpleTag*::value::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:322,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:323,1
    - Dst: SimpleTag*::tag_name::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:323,1
    - Dst: SimpleTag*::value::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:323,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:327,1
    - Dst: SimpleTag*::tag_name::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:327,1
    - Dst: SimpleTag*::value::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:327,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:328,1
    - Dst: SimpleTag*::tag_name::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:328,1
    - Dst: SimpleTag*::value::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:328,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 3
    argNames:
    - pout_simple
    - tag
    - target_type
    argTypes:
    - SimpleTag*
    - KaxTagSimple*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 331
    functionName: mkv::matroska_segment_c::ParseSimpleTags
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - UTFstring
    - GetValue
    - vlc_meta_Set
    - KaxTagSimple*::end
    - Dispatcher::Dispatcher
    - vlc_meta_New
    - vlc_meta_SetExtra
    - MKV_SWITCH_INIT
    - obj::ParseSimpleTags
    - KaxTagSimple*::begin
    - out::sub_tags::push_back
    - std::move
    - SimpleTag*::tag_name::empty
    - SimpleTag*::tag_name::c_str
    - msg_Dbg
    - SimpleTag*::value::c_str
    - msg_Warn
    - VLC_UNUSED
    linkageType: ''
    returnType: bool
    signature: bool matroska_segment_c::ParseSimpleTags( SimpleTag* pout_simple, KaxTagSimple
      *tag, int target_type )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:281,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:284,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:288,1
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:292,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:296,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:297,1
    - Dst: obj::ParseSimpleTags
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:304,1
    - Dst: out::sub_tags::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:305,1
    - Dst: std::move
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 307
    functionName: mkv::MKV_SWITCH_CREATE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - UTFstring
    - GetValue
    - MKV_SWITCH_INIT
    - obj::ParseSimpleTags
    - out::sub_tags::push_back
    - std::move
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void MKV_SWITCH_CREATE( EbmlTypeDispatcher, SimpleTagHandler, SimpleTagHandlerPayload
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - UTFstring
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTagName, entry )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - UTFstring
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTagString, entry )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - GetValue
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTagLangue, entry )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:296,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 298
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTagDefault, unused )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: obj::ParseSimpleTags
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:304,1
    - Dst: out::sub_tags::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:305,1
    - Dst: std::move
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 306
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - out::sub_tags::push_back
    - std::move
    - obj::ParseSimpleTags
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTagSimple, simple )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mkv::matroska_segment_c::ReadMaster
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:335,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:347,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:350,1
    - Dst: Tag::Tag
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:351,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:362,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:365,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:369,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:372,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:373,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:378,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:379,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:384,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:385,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:390,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:391,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:396,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:397,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:401,1
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:401,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:405,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:405,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:409,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:409,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:409,1
    - Dst: obj::ParseSimpleTags
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:415,1
    - Dst: tag::simple_tags::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:416,1
    - Dst: std::move
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:416,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:420,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:420,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:424,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:424,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:424,1
    - Dst: obj::tags::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:425,1
    - Dst: std::move
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:425,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:429,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:429,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:433,1
    - Dst: KaxTags*::begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:433,1
    - Dst: KaxTags*::end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:433,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 51
    argCount: 1
    argNames:
    - tags_
    argTypes:
    - KaxTags*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 435
    functionName: mkv::matroska_segment_c::LoadTags
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - GetValue
    - static_cast<uint64_t>
    - Dispatcher::Dispatcher
    - obj::tags::push_back
    - static_cast<uint32_t>
    - begin
    - tag::simple_tags::push_back
    - MKV_SWITCH_INIT
    - obj::ParseSimpleTags
    - mkv::matroska_segment_c::ReadMaster
    - Tag::Tag
    - std::move
    - msg_Dbg
    - EBML_NAME
    - end
    - KaxTags*::end
    - KaxTags*::begin
    linkageType: ''
    returnType: void
    signature: void matroska_segment_c::LoadTags( KaxTags *tags_ )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:347,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:350,1
    - Dst: Tag::Tag
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:351,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:362,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:365,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:369,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:372,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:373,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:378,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:379,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:384,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:385,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:390,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:391,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:396,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:397,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:401,1
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:401,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:405,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:405,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:409,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:409,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:409,1
    - Dst: obj::ParseSimpleTags
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:415,1
    - Dst: tag::simple_tags::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:416,1
    - Dst: std::move
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:416,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:420,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:420,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:424,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:424,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:424,1
    - Dst: obj::tags::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:425,1
    - Dst: std::move
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:425,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:429,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 431
    functionName: mkv::MKV_SWITCH_CREATE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - GetValue
    - static_cast<uint64_t>
    - Dispatcher::Dispatcher
    - obj::tags::push_back
    - static_cast<uint32_t>
    - begin
    - tag::simple_tags::push_back
    - MKV_SWITCH_INIT
    - obj::ParseSimpleTags
    - Tag::Tag
    - std::move
    - msg_Dbg
    - EBML_NAME
    - end
    linkageType: ''
    returnType: void
    signature: void MKV_SWITCH_CREATE( EbmlTypeDispatcher, KaxTagsHandler, TagsHandlerPayload
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:350,1
    - Dst: Tag::Tag
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:351,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:362,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:365,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:369,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:372,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:373,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:378,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:379,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:384,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:385,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:390,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:391,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:396,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:397,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:401,1
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:401,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:405,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:405,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:409,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:409,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:409,1
    - Dst: obj::ParseSimpleTags
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:415,1
    - Dst: tag::simple_tags::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:416,1
    - Dst: std::move
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:416,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:420,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:420,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:424,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:424,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:424,1
    - Dst: obj::tags::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:425,1
    - Dst: std::move
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 426
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - GetValue
    - static_cast<uint64_t>
    - Dispatcher::Dispatcher
    - obj::tags::push_back
    - static_cast<uint32_t>
    - begin
    - tag::simple_tags::push_back
    - MKV_SWITCH_INIT
    - obj::ParseSimpleTags
    - Tag::Tag
    - std::move
    - msg_Dbg
    - EBML_NAME
    - end
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTag, entry )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:362,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:365,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:369,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:372,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:373,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:378,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:379,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:384,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:385,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:390,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:391,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:396,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:397,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:401,1
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:401,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:405,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:405,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:409,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:409,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:409,1
    - Dst: obj::ParseSimpleTags
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:415,1
    - Dst: tag::simple_tags::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:416,1
    - Dst: std::move
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:416,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:420,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 422
    functionName: mkv::MKV_SWITCH_CREATE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - GetValue
    - static_cast<uint64_t>
    - Dispatcher::Dispatcher
    - static_cast<uint32_t>
    - begin
    - tag::simple_tags::push_back
    - MKV_SWITCH_INIT
    - obj::ParseSimpleTags
    - std::move
    - msg_Dbg
    - EBML_NAME
    - end
    linkageType: ''
    returnType: void
    signature: void MKV_SWITCH_CREATE( EbmlTypeDispatcher, TagHandler, TagHandlerPayload
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:365,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:369,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:372,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:373,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:378,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:379,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:384,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:385,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:390,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:391,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:396,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:397,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:401,1
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:401,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:405,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:405,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:409,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:409,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 410
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - GetValue
    - static_cast<uint64_t>
    - Dispatcher::Dispatcher
    - static_cast<uint32_t>
    - begin
    - MKV_SWITCH_INIT
    - msg_Dbg
    - EBML_NAME
    - end
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTagTargets, targets )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:369,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:372,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:373,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:378,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:379,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:384,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:385,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:390,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:391,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:396,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:397,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:401,1
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:401,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:405,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 407
    functionName: mkv::MKV_SWITCH_CREATE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - GetValue
    - static_cast<uint64_t>
    - static_cast<uint32_t>
    - MKV_SWITCH_INIT
    - msg_Dbg
    - EBML_NAME
    linkageType: ''
    returnType: void
    signature: void MKV_SWITCH_CREATE( EbmlTypeDispatcher, TargetsHandler, TagHandlerPayload
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:372,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 374
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - static_cast<uint32_t>
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTagTargetTypeValue, entry )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:378,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 380
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - static_cast<uint64_t>
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTagTrackUID, entry )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:384,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 386
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - static_cast<uint64_t>
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTagEditionUID, entry )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:390,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 392
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - static_cast<uint64_t>
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTagChapterUID, entry )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:396,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 398
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - static_cast<uint64_t>
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTagAttachmentUID, entry )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:401,1
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 402
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - GetValue
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTagTargetType, entry )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:405,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 406
    functionName: mkv::E_CASE_DEFAULT
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - EBML_NAME
    linkageType: ''
    returnType: void
    signature: void E_CASE_DEFAULT( el )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: obj::ParseSimpleTags
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:415,1
    - Dst: tag::simple_tags::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:416,1
    - Dst: std::move
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 417
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - std::move
    - tag::simple_tags::push_back
    - obj::ParseSimpleTags
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTagSimple, entry )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:420,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 421
    functionName: mkv::E_CASE_DEFAULT
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - EBML_NAME
    linkageType: ''
    returnType: void
    signature: void E_CASE_DEFAULT( el )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:429,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: mkv::E_CASE_DEFAULT
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - EBML_NAME
    linkageType: ''
    returnType: void
    signature: void E_CASE_DEFAULT( el )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:443,1
    - Dst: vlc_meta_SetTitle
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 449
    functionName: mkv::matroska_segment_c::InformationCreate
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - vlc_meta_New
    - vlc_meta_SetTitle
    linkageType: ''
    returnType: void
    signature: void matroska_segment_c::InformationCreate( )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:467,1
    - Dst: obj::ParseCluster
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:471,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:476,1
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:482,1
    - Dst: EbmlParser::Get
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:487,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:492,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - i_cluster_pos
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 497
    functionName: mkv::matroska_segment_c::PreloadClusters
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - obj::ParseCluster
    - Dispatcher::Dispatcher
    - I_O
    - MKV_SWITCH_INIT
    - EbmlParser::Get
    - VLC_UNUSED
    linkageType: ''
    returnType: bool
    signature: bool matroska_segment_c::PreloadClusters(uint64_t i_cluster_pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:467,1
    - Dst: obj::ParseCluster
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:471,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 479
    functionName: mkv::MKV_SWITCH_CREATE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - MKV_SWITCH_INIT
    - obj::ParseCluster
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void MKV_SWITCH_CREATE(EbmlTypeDispatcher, ClusterHandler, ClusterHandlerPayload
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: obj::ParseCluster
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 472
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - obj::ParseCluster
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxCluster, kcluster )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 478
    functionName: mkv::E_CASE_DEFAULT
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void E_CASE_DEFAULT( el )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mkv::matroska_segment_c::SameFamily
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:504,1
    - Dst: mkv::matroska_segment_c::Preload
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' of_segment'
    argTypes:
    - matroska_segment_c
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 508
    functionName: mkv::matroska_segment_c::PreloadFamily
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - mkv::matroska_segment_c::SameFamily
    - mkv::matroska_segment_c::Preload
    linkageType: ''
    returnType: bool
    signature: bool matroska_segment_c::PreloadFamily( const matroska_segment_c &
      of_segment )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<EbmlBinary *>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:517,1
    - Dst: static_cast<EbmlBinary *>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:524,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - p_item_a
    - p_item_b
    argTypes:
    - matroska_segment_c*
    - matroska_segment_c*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 537
    functionName: mkv::matroska_segment_c::CompareSegmentUIDs
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - static_cast<EbmlBinary *>
    linkageType: ''
    returnType: bool
    signature: bool matroska_segment_c::CompareSegmentUIDs( const matroska_segment_c
      * p_item_a, const matroska_segment_c * p_item_b )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:541,1
    - Dst: families::size
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:543,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' of_segment'
    argTypes:
    - matroska_segment_c
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 550
    functionName: mkv::matroska_segment_c::SameFamily
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 1
    functionsReached:
    - size
    - families::size
    linkageType: ''
    returnType: bool
    signature: bool matroska_segment_c::SameFamily( const matroska_segment_c & of_segment
      ) const
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: Reset
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:559,1
    - Dst: Get
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:561,1
    - Dst: MKV_IS_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:563,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:567,1
    - Dst: EbmlElement*::GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:570,1
    - Dst: mkv::matroska_segment_c::ParseSeekHead
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:571,1
    - Dst: static_cast<KaxSeekHead*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:571,1
    - Dst: MKV_IS_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:574,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:577,1
    - Dst: mkv::matroska_segment_c::ParseInfo
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:580,1
    - Dst: static_cast<KaxInfo*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:580,1
    - Dst: EbmlElement*::GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:581,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:584,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:587,1
    - Dst: mkv::matroska_segment_c::ParseTracks
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:590,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:592,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:594,1
    - Dst: EbmlElement*::GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:596,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:598,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:600,1
    - Dst: mkv::matroska_segment_c::LoadCues
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:603,1
    - Dst: EbmlElement*::GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:604,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:607,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:610,1
    - Dst: mkv::matroska_segment_c::PreloadClusters
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:612,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:612,1
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:613,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:613,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:615,1
    - Dst: mkv::matroska_segment_c::EnsureDuration
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:618,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:623,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:624,1
    - Dst: add_seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:626,1
    - Dst: mkv::SegmentSeeker::Seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:627,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:627,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:635,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:637,1
    - Dst: mkv::matroska_segment_c::ParseAttachments
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:640,1
    - Dst: EbmlElement*::GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:641,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:644,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:646,1
    - Dst: mkv::matroska_segment_c::ParseChapters
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:649,1
    - Dst: EbmlElement*::GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:650,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:653,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:655,1
    - Dst: empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:656,1
    - Dst: mkv::matroska_segment_c::LoadTags
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:658,1
    - Dst: MKV_IS_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:661,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:662,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:664,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:664,1
    - Dst: mkv::matroska_segment_c::ComputeTrackPriority
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:667,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 552
    functionDepth: 3
    functionLinenumber: 552
    functionLinenumberEnd: 672
    functionName: mkv::matroska_segment_c::Preload
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 1
    functionsReached:
    - EbmlElement*::GetElementPosition
    - mkv::matroska_segment_c::LoadTags
    - Get
    - mkv::matroska_segment_c::ParseInfo
    - GetElementPosition
    - mkv::matroska_segment_c::ParseChapters
    - MKV_IS_ID
    - size
    - Reset
    - begin
    - msg_Err
    - msg_Dbg
    - add_seekpoint
    - mkv::matroska_segment_c::PreloadClusters
    - mkv::matroska_segment_c::ParseAttachments
    - var_InheritBool
    - I_O
    - mkv::matroska_segment_c::EnsureDuration
    - mkv::matroska_segment_c::ComputeTrackPriority
    - MKV_CHECKED_PTR_DECL
    - EBML_NAME
    - end
    - static_cast<KaxInfo*>
    - mkv::SegmentSeeker::Seekpoint
    - mkv::matroska_segment_c::ParseTracks
    - empty
    - static_cast<KaxSeekHead*>
    - mkv::matroska_segment_c::LoadCues
    - mkv::matroska_segment_c::ParseSeekHead
    linkageType: ''
    returnType: bool
    signature: bool matroska_segment_c::Preload( )
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:677,1
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:677,1
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:680,1
    - Dst: FindNextID
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:681,1
    - Dst: EbmlElement*::IsDummy
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:683,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:685,1
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:686,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:691,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:694,1
    - Dst: mkv::matroska_segment_c::ParseSeekHead
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:700,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:704,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:707,1
    - Dst: mkv::matroska_segment_c::ParseInfo
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:710,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:714,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:717,1
    - Dst: mkv::matroska_segment_c::ParseTracks
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:719,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:720,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:722,1
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:724,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:729,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:731,1
    - Dst: mkv::matroska_segment_c::LoadCues
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:734,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:738,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:740,1
    - Dst: mkv::matroska_segment_c::ParseAttachments
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:743,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:747,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:749,1
    - Dst: mkv::matroska_segment_c::ParseChapters
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:752,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:756,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:758,1
    - Dst: empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:759,1
    - Dst: mkv::matroska_segment_c::LoadTags
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:761,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:766,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:766,1
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:770,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 69
    argCount: 2
    argNames:
    - ' ClassInfos'
    - i_element_position
    argTypes:
    - EbmlCallbacks
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 675
    functionDepth: 3
    functionLinenumber: 675
    functionLinenumberEnd: 772
    functionName: mkv::matroska_segment_c::LoadSeekHeadItem
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 2
    functionsReached:
    - mkv::matroska_segment_c::ParseChapters
    - mkv::matroska_segment_c::ParseTracks
    - EbmlElement*::IsDummy
    - size
    - mkv::matroska_segment_c::ParseAttachments
    - I_O
    - mkv::matroska_segment_c::LoadTags
    - msg_Err
    - FindNextID
    - empty
    - msg_Dbg
    - MKV_CHECKED_PTR_DECL
    - mkv::matroska_segment_c::LoadCues
    - mkv::matroska_segment_c::ParseInfo
    - static_cast<int64_t>
    - EBML_NAME
    - mkv::matroska_segment_c::ParseSeekHead
    linkageType: ''
    returnType: bool
    signature: bool matroska_segment_c::LoadSeekHeadItem( const EbmlCallbacks & ClassInfos,
      int64_t i_element_position )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:778,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:786,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:786,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:790,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:799,1
    - Dst: SegmentSeeker::track_ids_t::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:801,1
    - Dst: SegmentSeeker::track_ids_t::empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:804,1
    - Dst: std::set_intersection
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:811,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:811,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:811,1
    - Dst: SegmentSeeker::track_ids_t::begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:812,1
    - Dst: SegmentSeeker::track_ids_t::end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:812,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:813,1
    - Dst: SegmentSeeker::track_ids_t::empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:814,1
    - Dst: get_seekpoints
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:821,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:825,1
    - Dst: what
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:825,1
    - Dst: SegmentSeeker::tracks_seekpoint_t::begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:831,1
    - Dst: SegmentSeeker::tracks_seekpoint_t::end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:831,1
    - Dst: find
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:833,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:834,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:847,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:851,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:855,1
    - Dst: mkv_jump_to
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:869,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:873,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:877,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 4
    argNames:
    - demuxer
    - i_absolute_mk_date
    - i_mk_time_offset
    - b_accurate
    argTypes:
    - demux_t
    - vlc_tick_t
    - vlc_tick_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 774
    functionDepth: 3
    functionLinenumber: 774
    functionLinenumberEnd: 879
    functionName: mkv::matroska_segment_c::Seek
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - mkv_jump_to
    - find
    - es_out_Control
    - SegmentSeeker::track_ids_t::empty
    - begin
    - std::set_intersection
    - get_seekpoints
    - what
    - SegmentSeeker::tracks_seekpoint_t::begin
    - msg_Err
    - std::back_inserter
    - SegmentSeeker::tracks_seekpoint_t::end
    - SegmentSeeker::track_ids_t::push_back
    - msg_Dbg
    - SegmentSeeker::track_ids_t::end
    - SegmentSeeker::track_ids_t::begin
    - end
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: bool
    signature: bool matroska_segment_c::Seek( demux_t &demuxer, vlc_tick_t i_absolute_mk_date,
      vlc_tick_t i_mk_time_offset, bool b_accurate )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:888,1
    - Dst: KaxBlock*::TrackNum
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:888,1
    - Dst: find
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:890,1
    - Dst: KaxSimpleBlock*::TrackNum
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:890,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:892,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:894,1
    - Dst: tracks_map_t::iterator::second::get
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:897,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - p_block
    - p_simpleblock
    argTypes:
    - KaxBlock*
    - KaxSimpleBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 898
    functionName: mkv::matroska_segment_c::FindTrackByBlock
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - tracks_map_t::iterator::second::get
    - KaxBlock*::TrackNum
    - end
    - KaxSimpleBlock*::TrackNum
    - find
    linkageType: ''
    returnType: mkv_track_t
    signature: "mkv_track_t * matroska_segment_c::FindTrackByBlock(\n                                             const
      KaxBlock *p_block, const KaxSimpleBlock *p_simpleblock )"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:905,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:905,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:920,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:920,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:925,1
    - Dst: mkv_track_t::codec::empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:925,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:927,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:927,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:931,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:936,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:941,1
    - Dst: mkv::matroska_segment_c::tracks::begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:960,1
    - Dst: mkv::matroska_segment_c::tracks::end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:960,1
    - Dst: mkv::matroska_segment_c::tracks::begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:981,1
    - Dst: mkv::matroska_segment_c::tracks::end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:981,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:984,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 900
    functionDepth: 1
    functionLinenumber: 900
    functionLinenumberEnd: 987
    functionName: mkv::matroska_segment_c::ComputeTrackPriority
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 1
    functionsReached:
    - push_back
    - static_cast<int>
    - begin
    - mkv_track_t::codec::empty
    - msg_Warn
    - mkv::matroska_segment_c::tracks::end
    - end
    - unlikely
    - mkv::matroska_segment_c::tracks::begin
    linkageType: ''
    returnType: void
    signature: void matroska_segment_c::ComputeTrackPriority()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:998,1
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1002,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1003,1
    - Dst: _cluster_positions::size
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1007,1
    - Dst: _cluster_positions::rbegin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1008,1
    - Dst: IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1009,1
    - Dst: mkv::matroska_segment_c::ParseCluster
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1012,1
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1015,1
    - Dst: EbmlParser::Get
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1021,1
    - Dst: EbmlElement*::IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1023,1
    - Dst: EbmlElement*::GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1023,1
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1025,1
    - Dst: MKV_IS_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1029,1
    - Dst: EbmlElement*::GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1031,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1032,1
    - Dst: mkv::matroska_segment_c::ParseCluster
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1035,1
    - Dst: EbmlParser::Reset
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1043,1
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1044,1
    - Dst: EbmlParser::Get
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1046,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1047,1
    - Dst: mkv::matroska_segment_c::ParseCluster
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1050,1
    - Dst: GlobalTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1053,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1056,1
    - Dst: SetParent
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1058,1
    - Dst: std::max
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1059,1
    - Dst: GlobalTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1059,1
    - Dst: MKV_CHECKED_PTR_DECL_CONST
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1061,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1066,1
    - Dst: SetParent
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1068,1
    - Dst: GlobalTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1069,1
    - Dst: MKV_CHECKED_PTR_DECL_CONST
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1071,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1073,1
    - Dst: std::max
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1076,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1080,1
    - Dst: GlobalTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1080,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1081,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1081,1
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1085,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 1
    argNames:
    - ' fromCluster'
    argTypes:
    - KaxCluster
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 989
    functionDepth: 2
    functionLinenumber: 989
    functionLinenumberEnd: 1087
    functionName: mkv::matroska_segment_c::EnsureDuration
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 1
    functionsReached:
    - EbmlElement*::GetElementPosition
    - GlobalTimestamp
    - SEC_FROM_VLC_TICK
    - _cluster_positions::rbegin
    - std::max
    - _cluster_positions::size
    - VLC_TICK_FROM_NS
    - GetElementPosition
    - MKV_IS_ID
    - SetParent
    - msg_Dbg
    - EbmlElement*::IsFiniteSize
    - msg_Warn
    - IsFiniteSize
    - static_cast<uint64_t>
    - I_O
    - EbmlParser::Get
    - MKV_CHECKED_PTR_DECL
    - EbmlParser::Reset
    - mkv::matroska_segment_c::ParseCluster
    - MKV_CHECKED_PTR_DECL_CONST
    linkageType: ''
    returnType: bool
    signature: bool matroska_segment_c::EnsureDuration(KaxCluster & fromCluster)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1092,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1092,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1092,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1095,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1095,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1100,1
    - Dst: codec::empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1100,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1102,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1102,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1106,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1110,1
    - Dst: ev::AddTrack
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1113,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1115,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1135,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1089
    functionDepth: 1
    functionLinenumber: 1089
    functionLinenumberEnd: 1139
    functionName: mkv::matroska_segment_c::ESCreate
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - es_out_Control
    - ev::AddTrack
    - static_cast<int>
    - codec::empty
    - size
    - begin
    - msg_Dbg
    - es_out_Add
    - msg_Warn
    - end
    - unlikely
    linkageType: ''
    returnType: bool
    signature: bool matroska_segment_c::ESCreate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ev::AbortThread
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1143,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1145,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1145,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1151,1
    - Dst: ev::DelTrack
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1141
    functionDepth: 1
    functionLinenumber: 1141
    functionLinenumberEnd: 1156
    functionName: mkv::matroska_segment_c::ESDestroy
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - ev::AbortThread
    - begin
    - ev::DelTrack
    - es_out_Del
    - end
    linkageType: ''
    returnType: void
    signature: void matroska_segment_c::ESDestroy( )
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1195,1
    - Dst: ep::Down
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1201,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1205,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1206,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1210,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1210,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1216,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1220,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1220,1
    - Dst: obj::cluster::InitTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1221,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1221,1
    - Dst: obj::_seeker::add_cluster
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1222,1
    - Dst: ep::Down
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1227,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1229,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1235,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1239,1
    - Dst: ep::Down
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1240,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1246,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1252,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1252,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1255,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1256,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1256,1
    - Dst: ReleaseFrames
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1257,1
    - Dst: simpleblock::SetParent
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1261,1
    - Dst: IsKeyframe
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1263,1
    - Dst: obj::FindTrackByBlock
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1265,1
    - Dst: obj::_seeker::add_seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1267,1
    - Dst: TrackNum
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1267,1
    - Dst: mkv::SegmentSeeker::Seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1268,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1268,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1268,1
    - Dst: GlobalTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1268,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1275,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1281,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1281,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1284,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1284,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1285,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1285,1
    - Dst: ReleaseFrames
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1286,1
    - Dst: block::SetParent
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1290,1
    - Dst: obj::FindTrackByBlock
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1292,1
    - Dst: obj::_seeker::add_seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1295,1
    - Dst: TrackNum
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1295,1
    - Dst: mkv::SegmentSeeker::Seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1296,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1296,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1296,1
    - Dst: GlobalTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1296,1
    - Dst: ep::Keep
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1299,1
    - Dst: obj::ReadMaster
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1303,1
    - Dst: ep::Keep
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1306,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1311,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1311,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1312,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1316,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1316,1
    - Dst: static_cast<int64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1320,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1325,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1326,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1331,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1331,1
    - Dst: static_cast<int64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1332,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1337,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1339,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1340,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1340,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1345,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1346,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1347,1
    - Dst: Get
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1355,1
    - Dst: mkv::matroska_segment_c::FindTrackByBlock
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1358,1
    - Dst: Unkeep
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1361,1
    - Dst: IsKeyframe
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1368,1
    - Dst: IsDiscardable
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1369,1
    - Dst: GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1376,1
    - Dst: DataBuffer*::Buffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1377,1
    - Dst: DataBuffer*::Size
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1380,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1396,1
    - Dst: GetLevel
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1407,1
    - Dst: Up
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1413,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1416,1
    - Dst: IsTopPresent
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1425,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1427,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1442,1
    - Dst: EbmlElement*::ValidateSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1442,1
    - Dst: EbmlElement*::IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1442,1
    - Dst: EbmlElement*::GetSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1442,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1444,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1444,1
    - Dst: Up
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1445,1
    - Dst: Unkeep
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1450,1
    - Dst: EbmlTypeDispatcher*::send
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1460,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1465,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1475,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1475,1
    - Dst: Up
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1476,1
    - Dst: Unkeep
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1477,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 178
    argCount: 6
    argNames:
    - ' pp_block'
    - ' pp_simpleblock'
    - ' pp_additions'
    - pb_key_picture
    - pb_discardable_picture
    - pi_duration
    argTypes:
    - KaxBlock*
    - KaxSimpleBlock*
    - KaxBlockAdditions*
    - bool*
    - bool*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1158
    functionDepth: 2
    functionLinenumber: 1158
    functionLinenumberEnd: 1482
    functionName: mkv::matroska_segment_c::BlockGet
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - GlobalTimestamp
    - EbmlElement*::ValidateSize
    - Unkeep
    - Get
    - DataBuffer*::Size
    - simpleblock::SetParent
    - block::SetParent
    - VLC_TICK_FROM_NS
    - GetElementPosition
    - DataBuffer*::Buffer
    - IsTopPresent
    - obj::es::I_O
    - msg_Err
    - ep::Keep
    - msg_Dbg
    - EbmlElement*::IsFiniteSize
    - msg_Warn
    - ReadData
    - obj::FindTrackByBlock
    - IsDiscardable
    - static_cast<uint64_t>
    - IsKeyframe
    - Dispatcher::Dispatcher
    - MKV_SWITCH_INIT
    - GetLevel
    - ReleaseFrames
    - EBML_NAME
    - EbmlTypeDispatcher*::send
    - ep::Down
    - static_cast<int64_t>
    - GetBuffer
    - VLC_UNUSED
    - mkv::matroska_segment_c::FindTrackByBlock
    - mkv::SegmentSeeker::Seekpoint
    - obj::_seeker::add_seekpoint
    - GetSize
    - obj::cluster::InitTimestamp
    - Up
    - EbmlElement*::GetSize
    - obj::ReadMaster
    - unlikely
    - obj::_seeker::add_cluster
    - TrackNum
    linkageType: ''
    returnType: int
    signature: "int matroska_segment_c::BlockGet( KaxBlock * & pp_block, KaxSimpleBlock
      * & pp_simpleblock,\n                                  KaxBlockAdditions * &
      pp_additions,\n                                  bool *pb_key_picture, bool
      *pb_discardable_picture,\n                                  uint64_t *pi_duration
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1195,1
    - Dst: ep::Down
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1201,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1205,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1206,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1210,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1193
    functionDepth: 1
    functionLinenumber: 1193
    functionLinenumberEnd: 1212
    functionName: mkv::MKV_SWITCH_CREATE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - ep::Down
    - MKV_SWITCH_INIT
    - msg_Dbg
    - EBML_NAME
    - msg_Warn
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void MKV_SWITCH_CREATE( EbmlTypeDispatcher, BlockGetHandler_l1, BlockPayload
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ep::Down
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1197
    functionDepth: 0
    functionLinenumber: 1197
    functionLinenumberEnd: 1202
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - ep::Down
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxCluster, kcluster )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1205,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1203
    functionDepth: 1
    functionLinenumber: 1203
    functionLinenumberEnd: 1207
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - msg_Warn
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxCues, kcue )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1210,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1208
    functionDepth: 1
    functionLinenumber: 1208
    functionLinenumberEnd: 1211
    functionName: mkv::E_CASE_DEFAULT
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - EBML_NAME
    linkageType: ''
    returnType: void
    signature: void E_CASE_DEFAULT(element)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1216,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1220,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1220,1
    - Dst: obj::cluster::InitTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1221,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1221,1
    - Dst: obj::_seeker::add_cluster
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1222,1
    - Dst: ep::Down
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1227,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1229,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1235,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1239,1
    - Dst: ep::Down
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1240,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1246,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1252,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1252,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1255,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1256,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1256,1
    - Dst: ReleaseFrames
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1257,1
    - Dst: simpleblock::SetParent
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1261,1
    - Dst: IsKeyframe
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1263,1
    - Dst: obj::FindTrackByBlock
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1265,1
    - Dst: obj::_seeker::add_seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1267,1
    - Dst: TrackNum
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1267,1
    - Dst: mkv::SegmentSeeker::Seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1268,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1268,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1268,1
    - Dst: GlobalTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1268,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1214
    functionDepth: 2
    functionLinenumber: 1214
    functionLinenumberEnd: 1271
    functionName: mkv::MKV_SWITCH_CREATE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - GlobalTimestamp
    - simpleblock::SetParent
    - VLC_TICK_FROM_NS
    - GetElementPosition
    - obj::es::I_O
    - msg_Err
    - msg_Warn
    - ReadData
    - obj::FindTrackByBlock
    - static_cast<uint64_t>
    - IsKeyframe
    - MKV_SWITCH_INIT
    - ReleaseFrames
    - EBML_NAME
    - ep::Down
    - VLC_UNUSED
    - mkv::SegmentSeeker::Seekpoint
    - obj::_seeker::add_seekpoint
    - GetSize
    - obj::cluster::InitTimestamp
    - obj::_seeker::add_cluster
    - TrackNum
    linkageType: ''
    returnType: void
    signature: void MKV_SWITCH_CREATE( EbmlTypeDispatcher, BlockGetHandler_l2, BlockPayload
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1220,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1220,1
    - Dst: obj::cluster::InitTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1221,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1221,1
    - Dst: obj::_seeker::add_cluster
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1218
    functionDepth: 2
    functionLinenumber: 1218
    functionLinenumberEnd: 1224
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - static_cast<uint64_t>
    - obj::es::I_O
    - obj::cluster::InitTimestamp
    - ReadData
    - obj::_seeker::add_cluster
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxClusterTimestamp, ktimecode )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ep::Down
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1227,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1225
    functionDepth: 1
    functionLinenumber: 1225
    functionLinenumberEnd: 1230
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - VLC_UNUSED
    - ep::Down
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxClusterSilentTracks, ksilent )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1235,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1239,1
    - Dst: ep::Down
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1231
    functionDepth: 1
    functionLinenumber: 1231
    functionLinenumberEnd: 1241
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - ep::Down
    - GetElementPosition
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxBlockGroup, kbgroup )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1246,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1252,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1252,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1255,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1256,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1256,1
    - Dst: ReleaseFrames
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1257,1
    - Dst: simpleblock::SetParent
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1261,1
    - Dst: IsKeyframe
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1263,1
    - Dst: obj::FindTrackByBlock
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1265,1
    - Dst: obj::_seeker::add_seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1267,1
    - Dst: TrackNum
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1267,1
    - Dst: mkv::SegmentSeeker::Seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1268,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1268,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1268,1
    - Dst: GlobalTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1268,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1242
    functionDepth: 2
    functionLinenumber: 1242
    functionLinenumberEnd: 1270
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - GlobalTimestamp
    - mkv::SegmentSeeker::Seekpoint
    - IsKeyframe
    - obj::_seeker::add_seekpoint
    - GetSize
    - obj::es::I_O
    - msg_Err
    - simpleblock::SetParent
    - ReleaseFrames
    - EBML_NAME
    - msg_Warn
    - ReadData
    - obj::FindTrackByBlock
    - VLC_TICK_FROM_NS
    - GetElementPosition
    - TrackNum
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxSimpleBlock, ksblock )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1275,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1281,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1281,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1284,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1284,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1285,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1285,1
    - Dst: ReleaseFrames
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1286,1
    - Dst: block::SetParent
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1290,1
    - Dst: obj::FindTrackByBlock
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1292,1
    - Dst: obj::_seeker::add_seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1295,1
    - Dst: TrackNum
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1295,1
    - Dst: mkv::SegmentSeeker::Seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1296,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1296,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1296,1
    - Dst: GlobalTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1296,1
    - Dst: ep::Keep
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1299,1
    - Dst: obj::ReadMaster
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1303,1
    - Dst: ep::Keep
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1306,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1311,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1311,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1312,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1316,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1316,1
    - Dst: static_cast<int64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1320,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1325,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1326,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1331,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1331,1
    - Dst: static_cast<int64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1332,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1337,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1339,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1340,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1340,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1273
    functionDepth: 2
    functionLinenumber: 1273
    functionLinenumberEnd: 1342
    functionName: mkv::MKV_SWITCH_CREATE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - GlobalTimestamp
    - block::SetParent
    - VLC_TICK_FROM_NS
    - GetElementPosition
    - obj::es::I_O
    - msg_Err
    - ep::Keep
    - msg_Warn
    - ReadData
    - obj::FindTrackByBlock
    - static_cast<uint64_t>
    - MKV_SWITCH_INIT
    - ReleaseFrames
    - EBML_NAME
    - static_cast<int64_t>
    - VLC_UNUSED
    - mkv::SegmentSeeker::Seekpoint
    - obj::_seeker::add_seekpoint
    - GetSize
    - obj::ReadMaster
    - unlikely
    - TrackNum
    linkageType: ''
    returnType: void
    signature: void MKV_SWITCH_CREATE( EbmlTypeDispatcher, BlockGetHandler_l3, BlockPayload
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1281,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1281,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1284,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1284,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1285,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1285,1
    - Dst: ReleaseFrames
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1286,1
    - Dst: block::SetParent
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1290,1
    - Dst: obj::FindTrackByBlock
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1292,1
    - Dst: obj::_seeker::add_seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1295,1
    - Dst: TrackNum
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1295,1
    - Dst: mkv::SegmentSeeker::Seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1296,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1296,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1296,1
    - Dst: GlobalTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1296,1
    - Dst: ep::Keep
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1299,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1277
    functionDepth: 2
    functionLinenumber: 1277
    functionLinenumberEnd: 1300
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - GlobalTimestamp
    - mkv::SegmentSeeker::Seekpoint
    - obj::_seeker::add_seekpoint
    - GetSize
    - obj::es::I_O
    - msg_Err
    - ep::Keep
    - ReleaseFrames
    - EBML_NAME
    - ReadData
    - block::SetParent
    - obj::FindTrackByBlock
    - VLC_TICK_FROM_NS
    - unlikely
    - GetElementPosition
    - TrackNum
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxBlock, kblock )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: obj::ReadMaster
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1303,1
    - Dst: ep::Keep
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1301
    functionDepth: 0
    functionLinenumber: 1301
    functionLinenumberEnd: 1308
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - ep::Keep
    - obj::ReadMaster
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxBlockAdditions, kadditions )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1311,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1311,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1309
    functionDepth: 2
    functionLinenumber: 1309
    functionLinenumberEnd: 1313
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - ReadData
    - static_cast<uint64_t>
    - obj::es::I_O
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxBlockDuration, kduration )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1316,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1316,1
    - Dst: static_cast<int64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1314
    functionDepth: 2
    functionLinenumber: 1314
    functionLinenumberEnd: 1322
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - ReadData
    - obj::es::I_O
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxReferenceBlock, kreference )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1325,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1323
    functionDepth: 1
    functionLinenumber: 1323
    functionLinenumberEnd: 1327
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxClusterSilentTrackNumber, kstrackn )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1331,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1331,1
    - Dst: static_cast<int64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1329
    functionDepth: 2
    functionLinenumber: 1329
    functionLinenumberEnd: 1333
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - ReadData
    - obj::es::I_O
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxDiscardPadding, kdiscardp )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1337,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1339,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1340,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1335
    functionDepth: 1
    functionLinenumber: 1335
    functionLinenumberEnd: 1341
    functionName: mkv::E_CASE_DEFAULT
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - GetElementPosition
    - EBML_NAME
    - msg_Warn
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void E_CASE_DEFAULT( element )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EbmlParser
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' demuxer'
    - ' estream'
    - p_seg
    argTypes:
    - demux_sys_t
    - matroska_iostream_c
    - KaxSegment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 66
    functionName: mkv::matroska_segment_c::matroska_segment_c
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - EbmlParser
    linkageType: ''
    returnType: void
    signature: void matroska_segment_c::matroska_segment_c( demux_sys_t & demuxer,
      matroska_iostream_c & estream, KaxSegment *p_seg )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:70,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:71,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:72,1
    - Dst: vlc_delete_all
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:79,1
    - Dst: vlc_delete_all
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:80,1
    - Dst: vlc_delete_all
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 82
    functionName: matroska_segment_c::~matroska_segment_c()
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - free
    - vlc_delete_all
    linkageType: ''
    returnType: void
    signature: void matroska_segment_c::~matroska_segment_c()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:98,1
    - Dst: EbmlParser::Get
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:103,1
    - Dst: MKV_IS_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:105,1
    - Dst: EbmlParser::Down
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:113,1
    - Dst: EbmlParser::Get
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:114,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:116,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:120,1
    - Dst: ValidateSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:120,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:122,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:126,1
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:126,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:130,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:134,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:134,1
    - Dst: MKV_IS_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:136,1
    - Dst: EbmlParser::Down
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:138,1
    - Dst: EbmlParser::Get
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:141,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:143,1
    - Dst: EbmlElement*::ValidateSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:143,1
    - Dst: EbmlParser::Up
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:145,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:146,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:146,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:151,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:153,1
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:153,1
    - Dst: static_cast<uint16_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:154,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:156,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:158,1
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:158,1
    - Dst: GetGlobalPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:159,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:159,1
    - Dst: add_cluster_position
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:161,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:163,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:165,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:170,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:174,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:178,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:182,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:187,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:187,1
    - Dst: EbmlParser::Up
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:193,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:194,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:194,1
    - Dst: EbmlParser::Up
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:198,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:202,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:202,1
    - Dst: EbmlParser::Up
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:205,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:207,1
    - Dst: find
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:211,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:211,1
    - Dst: add_seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:218,1
    - Dst: mkv::SegmentSeeker::Seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:219,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:224,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:224,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:228,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 80
    argCount: 1
    argNames:
    - cues
    argTypes:
    - KaxCues*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 229
    functionName: mkv::matroska_segment_c::LoadCues
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 2
    functionsReached:
    - EbmlElement*::ValidateSize
    - EbmlParser::Down
    - EbmlParser::Up
    - VLC_TICK_FROM_NS
    - ValidateSize
    - find
    - MKV_IS_ID
    - msg_Err
    - msg_Dbg
    - msg_Warn
    - ReadData
    - add_seekpoint
    - static_cast<uint64_t>
    - GetGlobalPosition
    - I_O
    - EbmlParser::Get
    - MKV_CHECKED_PTR_DECL
    - EBML_NAME
    - static_cast<uint16_t>
    - end
    - VLC_UNUSED
    - mkv::SegmentSeeker::Seekpoint
    - add_cluster_position
    - unlikely
    linkageType: ''
    returnType: void
    signature: void matroska_segment_c::LoadCues( KaxCues *cues )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: mkv::if
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: else
    signature: else if( MKV_CHECKED_PTR_DECL( cuerelative, KaxCueRelativePosition,
      el ) )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: mkv::if
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: else
    signature: else if( MKV_CHECKED_PTR_DECL( cueblock, KaxCueBlockNumber, el ) )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: mkv::if
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: else
    signature: else if( MKV_CHECKED_PTR_DECL( cueref, KaxCueReference, el ) )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: mkv::if
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: else
    signature: else if( MKV_CHECKED_PTR_DECL( cueduration, KaxCueDuration, el ) )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:270,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:281,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:284,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:288,1
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:292,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:296,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:297,1
    - Dst: obj::ParseSimpleTags
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:304,1
    - Dst: out::sub_tags::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:305,1
    - Dst: std::move
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:305,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:308,1
    - Dst: KaxTagSimple*::begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:308,1
    - Dst: KaxTagSimple*::end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:308,1
    - Dst: SimpleTag*::tag_name::empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:310,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:312,1
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:316,1
    - Dst: vlc_meta_Set
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:322,1
    - Dst: SimpleTag*::value::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:322,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:323,1
    - Dst: SimpleTag*::tag_name::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:323,1
    - Dst: SimpleTag*::value::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:323,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:327,1
    - Dst: SimpleTag*::tag_name::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:327,1
    - Dst: SimpleTag*::value::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:327,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:328,1
    - Dst: SimpleTag*::tag_name::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:328,1
    - Dst: SimpleTag*::value::c_str
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:328,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 3
    argNames:
    - pout_simple
    - tag
    - target_type
    argTypes:
    - SimpleTag*
    - KaxTagSimple*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 331
    functionName: mkv::matroska_segment_c::ParseSimpleTags
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - UTFstring
    - GetValue
    - vlc_meta_Set
    - KaxTagSimple*::end
    - Dispatcher::Dispatcher
    - vlc_meta_New
    - vlc_meta_SetExtra
    - MKV_SWITCH_INIT
    - obj::ParseSimpleTags
    - KaxTagSimple*::begin
    - out::sub_tags::push_back
    - std::move
    - SimpleTag*::tag_name::empty
    - SimpleTag*::tag_name::c_str
    - msg_Dbg
    - SimpleTag*::value::c_str
    - msg_Warn
    - VLC_UNUSED
    linkageType: ''
    returnType: bool
    signature: bool matroska_segment_c::ParseSimpleTags( SimpleTag* pout_simple, KaxTagSimple
      *tag, int target_type )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:281,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:284,1
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:288,1
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:292,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:296,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:297,1
    - Dst: obj::ParseSimpleTags
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:304,1
    - Dst: out::sub_tags::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:305,1
    - Dst: std::move
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 307
    functionName: mkv::MKV_SWITCH_CREATE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - UTFstring
    - GetValue
    - MKV_SWITCH_INIT
    - obj::ParseSimpleTags
    - out::sub_tags::push_back
    - std::move
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void MKV_SWITCH_CREATE( EbmlTypeDispatcher, SimpleTagHandler, SimpleTagHandlerPayload
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - UTFstring
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTagName, entry )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UTFstring
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - UTFstring
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTagString, entry )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - GetValue
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTagLangue, entry )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:296,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 298
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTagDefault, unused )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: obj::ParseSimpleTags
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:304,1
    - Dst: out::sub_tags::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:305,1
    - Dst: std::move
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 306
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - out::sub_tags::push_back
    - std::move
    - obj::ParseSimpleTags
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTagSimple, simple )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mkv::matroska_segment_c::ReadMaster
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:335,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:347,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:350,1
    - Dst: Tag::Tag
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:351,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:362,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:365,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:369,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:372,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:373,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:378,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:379,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:384,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:385,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:390,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:391,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:396,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:397,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:401,1
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:401,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:405,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:405,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:409,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:409,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:409,1
    - Dst: obj::ParseSimpleTags
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:415,1
    - Dst: tag::simple_tags::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:416,1
    - Dst: std::move
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:416,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:420,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:420,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:424,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:424,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:424,1
    - Dst: obj::tags::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:425,1
    - Dst: std::move
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:425,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:429,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:429,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:433,1
    - Dst: KaxTags*::begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:433,1
    - Dst: KaxTags*::end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:433,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 51
    argCount: 1
    argNames:
    - tags_
    argTypes:
    - KaxTags*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 435
    functionName: mkv::matroska_segment_c::LoadTags
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 2
    functionsReached:
    - GetValue
    - static_cast<uint64_t>
    - Dispatcher::Dispatcher
    - obj::tags::push_back
    - static_cast<uint32_t>
    - begin
    - tag::simple_tags::push_back
    - MKV_SWITCH_INIT
    - obj::ParseSimpleTags
    - mkv::matroska_segment_c::ReadMaster
    - Tag::Tag
    - std::move
    - msg_Dbg
    - EBML_NAME
    - end
    - KaxTags*::end
    - KaxTags*::begin
    linkageType: ''
    returnType: void
    signature: void matroska_segment_c::LoadTags( KaxTags *tags_ )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:347,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:350,1
    - Dst: Tag::Tag
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:351,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:362,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:365,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:369,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:372,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:373,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:378,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:379,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:384,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:385,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:390,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:391,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:396,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:397,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:401,1
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:401,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:405,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:405,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:409,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:409,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:409,1
    - Dst: obj::ParseSimpleTags
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:415,1
    - Dst: tag::simple_tags::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:416,1
    - Dst: std::move
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:416,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:420,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:420,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:424,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:424,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:424,1
    - Dst: obj::tags::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:425,1
    - Dst: std::move
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:425,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:429,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 431
    functionName: mkv::MKV_SWITCH_CREATE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - GetValue
    - static_cast<uint64_t>
    - Dispatcher::Dispatcher
    - obj::tags::push_back
    - static_cast<uint32_t>
    - begin
    - tag::simple_tags::push_back
    - MKV_SWITCH_INIT
    - obj::ParseSimpleTags
    - Tag::Tag
    - std::move
    - msg_Dbg
    - EBML_NAME
    - end
    linkageType: ''
    returnType: void
    signature: void MKV_SWITCH_CREATE( EbmlTypeDispatcher, KaxTagsHandler, TagsHandlerPayload
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:350,1
    - Dst: Tag::Tag
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:351,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:362,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:365,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:369,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:372,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:373,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:378,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:379,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:384,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:385,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:390,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:391,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:396,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:397,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:401,1
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:401,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:405,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:405,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:409,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:409,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:409,1
    - Dst: obj::ParseSimpleTags
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:415,1
    - Dst: tag::simple_tags::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:416,1
    - Dst: std::move
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:416,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:420,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:420,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:424,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:424,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:424,1
    - Dst: obj::tags::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:425,1
    - Dst: std::move
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 426
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - GetValue
    - static_cast<uint64_t>
    - Dispatcher::Dispatcher
    - obj::tags::push_back
    - static_cast<uint32_t>
    - begin
    - tag::simple_tags::push_back
    - MKV_SWITCH_INIT
    - obj::ParseSimpleTags
    - Tag::Tag
    - std::move
    - msg_Dbg
    - EBML_NAME
    - end
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTag, entry )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:362,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:365,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:369,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:372,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:373,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:378,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:379,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:384,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:385,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:390,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:391,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:396,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:397,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:401,1
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:401,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:405,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:405,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:409,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:409,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:409,1
    - Dst: obj::ParseSimpleTags
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:415,1
    - Dst: tag::simple_tags::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:416,1
    - Dst: std::move
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:416,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:420,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 422
    functionName: mkv::MKV_SWITCH_CREATE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - GetValue
    - static_cast<uint64_t>
    - Dispatcher::Dispatcher
    - static_cast<uint32_t>
    - begin
    - tag::simple_tags::push_back
    - MKV_SWITCH_INIT
    - obj::ParseSimpleTags
    - std::move
    - msg_Dbg
    - EBML_NAME
    - end
    linkageType: ''
    returnType: void
    signature: void MKV_SWITCH_CREATE( EbmlTypeDispatcher, TagHandler, TagHandlerPayload
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:365,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:369,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:372,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:373,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:378,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:379,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:384,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:385,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:390,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:391,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:396,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:397,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:401,1
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:401,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:405,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:405,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:409,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:409,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 410
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - GetValue
    - static_cast<uint64_t>
    - Dispatcher::Dispatcher
    - static_cast<uint32_t>
    - begin
    - MKV_SWITCH_INIT
    - msg_Dbg
    - EBML_NAME
    - end
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTagTargets, targets )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:369,1
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:372,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:373,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:378,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:379,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:384,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:385,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:390,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:391,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:396,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:397,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:401,1
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:401,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:405,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 407
    functionName: mkv::MKV_SWITCH_CREATE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - GetValue
    - static_cast<uint64_t>
    - static_cast<uint32_t>
    - MKV_SWITCH_INIT
    - msg_Dbg
    - EBML_NAME
    linkageType: ''
    returnType: void
    signature: void MKV_SWITCH_CREATE( EbmlTypeDispatcher, TargetsHandler, TagHandlerPayload
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:372,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 374
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - static_cast<uint32_t>
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTagTargetTypeValue, entry )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:378,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 380
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - static_cast<uint64_t>
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTagTrackUID, entry )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:384,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 386
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - static_cast<uint64_t>
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTagEditionUID, entry )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:390,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 392
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - static_cast<uint64_t>
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTagChapterUID, entry )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:396,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 398
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - static_cast<uint64_t>
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTagAttachmentUID, entry )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:401,1
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 402
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - GetValue
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTagTargetType, entry )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:405,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 406
    functionName: mkv::E_CASE_DEFAULT
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - EBML_NAME
    linkageType: ''
    returnType: void
    signature: void E_CASE_DEFAULT( el )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: obj::ParseSimpleTags
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:415,1
    - Dst: tag::simple_tags::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:416,1
    - Dst: std::move
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 417
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - std::move
    - tag::simple_tags::push_back
    - obj::ParseSimpleTags
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxTagSimple, entry )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:420,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 421
    functionName: mkv::E_CASE_DEFAULT
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - EBML_NAME
    linkageType: ''
    returnType: void
    signature: void E_CASE_DEFAULT( el )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:429,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: mkv::E_CASE_DEFAULT
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - EBML_NAME
    linkageType: ''
    returnType: void
    signature: void E_CASE_DEFAULT( el )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:443,1
    - Dst: vlc_meta_SetTitle
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 449
    functionName: mkv::matroska_segment_c::InformationCreate
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - vlc_meta_New
    - vlc_meta_SetTitle
    linkageType: ''
    returnType: void
    signature: void matroska_segment_c::InformationCreate( )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:467,1
    - Dst: obj::ParseCluster
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:471,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:476,1
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:482,1
    - Dst: EbmlParser::Get
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:487,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:492,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - i_cluster_pos
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 497
    functionName: mkv::matroska_segment_c::PreloadClusters
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 1
    functionsReached:
    - obj::ParseCluster
    - Dispatcher::Dispatcher
    - I_O
    - MKV_SWITCH_INIT
    - EbmlParser::Get
    - VLC_UNUSED
    linkageType: ''
    returnType: bool
    signature: bool matroska_segment_c::PreloadClusters(uint64_t i_cluster_pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:467,1
    - Dst: obj::ParseCluster
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:471,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 479
    functionName: mkv::MKV_SWITCH_CREATE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - MKV_SWITCH_INIT
    - obj::ParseCluster
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void MKV_SWITCH_CREATE(EbmlTypeDispatcher, ClusterHandler, ClusterHandlerPayload
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: obj::ParseCluster
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 472
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - obj::ParseCluster
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxCluster, kcluster )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 478
    functionName: mkv::E_CASE_DEFAULT
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void E_CASE_DEFAULT( el )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mkv::matroska_segment_c::SameFamily
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:504,1
    - Dst: mkv::matroska_segment_c::Preload
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' of_segment'
    argTypes:
    - matroska_segment_c
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 499
    functionDepth: 4
    functionLinenumber: 499
    functionLinenumberEnd: 508
    functionName: mkv::matroska_segment_c::PreloadFamily
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - mkv::matroska_segment_c::SameFamily
    - mkv::matroska_segment_c::Preload
    linkageType: ''
    returnType: bool
    signature: bool matroska_segment_c::PreloadFamily( const matroska_segment_c &
      of_segment )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<EbmlBinary *>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:517,1
    - Dst: static_cast<EbmlBinary *>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:524,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - p_item_a
    - p_item_b
    argTypes:
    - matroska_segment_c*
    - matroska_segment_c*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 537
    functionName: mkv::matroska_segment_c::CompareSegmentUIDs
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - static_cast<EbmlBinary *>
    linkageType: ''
    returnType: bool
    signature: bool matroska_segment_c::CompareSegmentUIDs( const matroska_segment_c
      * p_item_a, const matroska_segment_c * p_item_b )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:541,1
    - Dst: families::size
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:543,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' of_segment'
    argTypes:
    - matroska_segment_c
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 550
    functionName: mkv::matroska_segment_c::SameFamily
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 2
    functionsReached:
    - size
    - families::size
    linkageType: ''
    returnType: bool
    signature: bool matroska_segment_c::SameFamily( const matroska_segment_c & of_segment
      ) const
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: Reset
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:559,1
    - Dst: Get
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:561,1
    - Dst: MKV_IS_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:563,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:567,1
    - Dst: EbmlElement*::GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:570,1
    - Dst: mkv::matroska_segment_c::ParseSeekHead
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:571,1
    - Dst: static_cast<KaxSeekHead*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:571,1
    - Dst: MKV_IS_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:574,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:577,1
    - Dst: mkv::matroska_segment_c::ParseInfo
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:580,1
    - Dst: static_cast<KaxInfo*>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:580,1
    - Dst: EbmlElement*::GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:581,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:584,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:587,1
    - Dst: mkv::matroska_segment_c::ParseTracks
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:590,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:592,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:594,1
    - Dst: EbmlElement*::GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:596,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:598,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:600,1
    - Dst: mkv::matroska_segment_c::LoadCues
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:603,1
    - Dst: EbmlElement*::GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:604,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:607,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:610,1
    - Dst: mkv::matroska_segment_c::PreloadClusters
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:612,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:612,1
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:613,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:613,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:615,1
    - Dst: mkv::matroska_segment_c::EnsureDuration
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:618,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:623,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:624,1
    - Dst: add_seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:626,1
    - Dst: mkv::SegmentSeeker::Seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:627,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:627,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:635,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:637,1
    - Dst: mkv::matroska_segment_c::ParseAttachments
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:640,1
    - Dst: EbmlElement*::GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:641,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:644,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:646,1
    - Dst: mkv::matroska_segment_c::ParseChapters
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:649,1
    - Dst: EbmlElement*::GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:650,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:653,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:655,1
    - Dst: empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:656,1
    - Dst: mkv::matroska_segment_c::LoadTags
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:658,1
    - Dst: MKV_IS_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:661,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:662,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:664,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:664,1
    - Dst: mkv::matroska_segment_c::ComputeTrackPriority
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:667,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 552
    functionDepth: 3
    functionLinenumber: 552
    functionLinenumberEnd: 672
    functionName: mkv::matroska_segment_c::Preload
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 2
    functionsReached:
    - EbmlElement*::GetElementPosition
    - mkv::matroska_segment_c::LoadTags
    - Get
    - mkv::matroska_segment_c::ParseInfo
    - GetElementPosition
    - mkv::matroska_segment_c::ParseChapters
    - MKV_IS_ID
    - size
    - Reset
    - begin
    - msg_Err
    - msg_Dbg
    - add_seekpoint
    - mkv::matroska_segment_c::PreloadClusters
    - mkv::matroska_segment_c::ParseAttachments
    - var_InheritBool
    - I_O
    - mkv::matroska_segment_c::EnsureDuration
    - mkv::matroska_segment_c::ComputeTrackPriority
    - MKV_CHECKED_PTR_DECL
    - EBML_NAME
    - end
    - static_cast<KaxInfo*>
    - mkv::SegmentSeeker::Seekpoint
    - mkv::matroska_segment_c::ParseTracks
    - empty
    - static_cast<KaxSeekHead*>
    - mkv::matroska_segment_c::LoadCues
    - mkv::matroska_segment_c::ParseSeekHead
    linkageType: ''
    returnType: bool
    signature: bool matroska_segment_c::Preload( )
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:677,1
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:677,1
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:680,1
    - Dst: FindNextID
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:681,1
    - Dst: EbmlElement*::IsDummy
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:683,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:685,1
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:686,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:691,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:694,1
    - Dst: mkv::matroska_segment_c::ParseSeekHead
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:700,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:704,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:707,1
    - Dst: mkv::matroska_segment_c::ParseInfo
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:710,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:714,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:717,1
    - Dst: mkv::matroska_segment_c::ParseTracks
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:719,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:720,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:722,1
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:724,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:729,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:731,1
    - Dst: mkv::matroska_segment_c::LoadCues
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:734,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:738,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:740,1
    - Dst: mkv::matroska_segment_c::ParseAttachments
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:743,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:747,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:749,1
    - Dst: mkv::matroska_segment_c::ParseChapters
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:752,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:756,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:758,1
    - Dst: empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:759,1
    - Dst: mkv::matroska_segment_c::LoadTags
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:761,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:766,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:766,1
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:770,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 69
    argCount: 2
    argNames:
    - ' ClassInfos'
    - i_element_position
    argTypes:
    - EbmlCallbacks
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 675
    functionDepth: 3
    functionLinenumber: 675
    functionLinenumberEnd: 772
    functionName: mkv::matroska_segment_c::LoadSeekHeadItem
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 2
    functionsReached:
    - mkv::matroska_segment_c::ParseChapters
    - mkv::matroska_segment_c::ParseTracks
    - EbmlElement*::IsDummy
    - size
    - mkv::matroska_segment_c::ParseAttachments
    - I_O
    - mkv::matroska_segment_c::LoadTags
    - msg_Err
    - FindNextID
    - empty
    - msg_Dbg
    - MKV_CHECKED_PTR_DECL
    - mkv::matroska_segment_c::LoadCues
    - mkv::matroska_segment_c::ParseInfo
    - static_cast<int64_t>
    - EBML_NAME
    - mkv::matroska_segment_c::ParseSeekHead
    linkageType: ''
    returnType: bool
    signature: bool matroska_segment_c::LoadSeekHeadItem( const EbmlCallbacks & ClassInfos,
      int64_t i_element_position )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:778,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:786,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:786,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:790,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:799,1
    - Dst: SegmentSeeker::track_ids_t::push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:801,1
    - Dst: SegmentSeeker::track_ids_t::empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:804,1
    - Dst: std::set_intersection
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:811,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:811,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:811,1
    - Dst: SegmentSeeker::track_ids_t::begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:812,1
    - Dst: SegmentSeeker::track_ids_t::end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:812,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:813,1
    - Dst: SegmentSeeker::track_ids_t::empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:814,1
    - Dst: get_seekpoints
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:821,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:825,1
    - Dst: what
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:825,1
    - Dst: SegmentSeeker::tracks_seekpoint_t::begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:831,1
    - Dst: SegmentSeeker::tracks_seekpoint_t::end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:831,1
    - Dst: find
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:833,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:834,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:847,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:851,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:855,1
    - Dst: mkv_jump_to
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:869,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:873,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:877,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 4
    argNames:
    - demuxer
    - i_absolute_mk_date
    - i_mk_time_offset
    - b_accurate
    argTypes:
    - demux_t
    - vlc_tick_t
    - vlc_tick_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 774
    functionDepth: 3
    functionLinenumber: 774
    functionLinenumberEnd: 879
    functionName: mkv::matroska_segment_c::Seek
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - mkv_jump_to
    - find
    - es_out_Control
    - SegmentSeeker::track_ids_t::empty
    - begin
    - std::set_intersection
    - get_seekpoints
    - what
    - SegmentSeeker::tracks_seekpoint_t::begin
    - msg_Err
    - std::back_inserter
    - SegmentSeeker::tracks_seekpoint_t::end
    - SegmentSeeker::track_ids_t::push_back
    - msg_Dbg
    - SegmentSeeker::track_ids_t::end
    - SegmentSeeker::track_ids_t::begin
    - end
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: bool
    signature: bool matroska_segment_c::Seek( demux_t &demuxer, vlc_tick_t i_absolute_mk_date,
      vlc_tick_t i_mk_time_offset, bool b_accurate )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:888,1
    - Dst: KaxBlock*::TrackNum
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:888,1
    - Dst: find
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:890,1
    - Dst: KaxSimpleBlock*::TrackNum
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:890,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:892,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:894,1
    - Dst: tracks_map_t::iterator::second::get
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:897,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - p_block
    - p_simpleblock
    argTypes:
    - KaxBlock*
    - KaxSimpleBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 898
    functionName: mkv::matroska_segment_c::FindTrackByBlock
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 1
    functionsReached:
    - tracks_map_t::iterator::second::get
    - KaxBlock*::TrackNum
    - end
    - KaxSimpleBlock*::TrackNum
    - find
    linkageType: ''
    returnType: mkv_track_t
    signature: "mkv_track_t * matroska_segment_c::FindTrackByBlock(\n                                             const
      KaxBlock *p_block, const KaxSimpleBlock *p_simpleblock )"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:905,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:905,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:920,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:920,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:925,1
    - Dst: mkv_track_t::codec::empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:925,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:927,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:927,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:931,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:936,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:941,1
    - Dst: mkv::matroska_segment_c::tracks::begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:960,1
    - Dst: mkv::matroska_segment_c::tracks::end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:960,1
    - Dst: mkv::matroska_segment_c::tracks::begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:981,1
    - Dst: mkv::matroska_segment_c::tracks::end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:981,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:984,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 900
    functionDepth: 1
    functionLinenumber: 900
    functionLinenumberEnd: 987
    functionName: mkv::matroska_segment_c::ComputeTrackPriority
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 2
    functionsReached:
    - push_back
    - static_cast<int>
    - begin
    - mkv_track_t::codec::empty
    - msg_Warn
    - mkv::matroska_segment_c::tracks::end
    - end
    - unlikely
    - mkv::matroska_segment_c::tracks::begin
    linkageType: ''
    returnType: void
    signature: void matroska_segment_c::ComputeTrackPriority()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:998,1
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1002,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1003,1
    - Dst: _cluster_positions::size
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1007,1
    - Dst: _cluster_positions::rbegin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1008,1
    - Dst: IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1009,1
    - Dst: mkv::matroska_segment_c::ParseCluster
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1012,1
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1015,1
    - Dst: EbmlParser::Get
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1021,1
    - Dst: EbmlElement*::IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1023,1
    - Dst: EbmlElement*::GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1023,1
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1025,1
    - Dst: MKV_IS_ID
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1029,1
    - Dst: EbmlElement*::GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1031,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1032,1
    - Dst: mkv::matroska_segment_c::ParseCluster
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1035,1
    - Dst: EbmlParser::Reset
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1043,1
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1044,1
    - Dst: EbmlParser::Get
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1046,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1047,1
    - Dst: mkv::matroska_segment_c::ParseCluster
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1050,1
    - Dst: GlobalTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1053,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1056,1
    - Dst: SetParent
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1058,1
    - Dst: std::max
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1059,1
    - Dst: GlobalTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1059,1
    - Dst: MKV_CHECKED_PTR_DECL_CONST
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1061,1
    - Dst: MKV_CHECKED_PTR_DECL
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1066,1
    - Dst: SetParent
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1068,1
    - Dst: GlobalTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1069,1
    - Dst: MKV_CHECKED_PTR_DECL_CONST
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1071,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1073,1
    - Dst: std::max
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1076,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1080,1
    - Dst: GlobalTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1080,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1081,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1081,1
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1085,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 1
    argNames:
    - ' fromCluster'
    argTypes:
    - KaxCluster
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 989
    functionDepth: 2
    functionLinenumber: 989
    functionLinenumberEnd: 1087
    functionName: mkv::matroska_segment_c::EnsureDuration
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 2
    functionsReached:
    - EbmlElement*::GetElementPosition
    - GlobalTimestamp
    - SEC_FROM_VLC_TICK
    - _cluster_positions::rbegin
    - std::max
    - _cluster_positions::size
    - VLC_TICK_FROM_NS
    - GetElementPosition
    - MKV_IS_ID
    - SetParent
    - msg_Dbg
    - EbmlElement*::IsFiniteSize
    - msg_Warn
    - IsFiniteSize
    - static_cast<uint64_t>
    - I_O
    - EbmlParser::Get
    - MKV_CHECKED_PTR_DECL
    - EbmlParser::Reset
    - mkv::matroska_segment_c::ParseCluster
    - MKV_CHECKED_PTR_DECL_CONST
    linkageType: ''
    returnType: bool
    signature: bool matroska_segment_c::EnsureDuration(KaxCluster & fromCluster)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1092,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1092,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1092,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1095,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1095,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1100,1
    - Dst: codec::empty
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1100,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1102,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1102,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1106,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1110,1
    - Dst: ev::AddTrack
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1113,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1115,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1135,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1089
    functionDepth: 1
    functionLinenumber: 1089
    functionLinenumberEnd: 1139
    functionName: mkv::matroska_segment_c::ESCreate
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - es_out_Control
    - ev::AddTrack
    - static_cast<int>
    - codec::empty
    - size
    - begin
    - msg_Dbg
    - es_out_Add
    - msg_Warn
    - end
    - unlikely
    linkageType: ''
    returnType: bool
    signature: bool matroska_segment_c::ESCreate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ev::AbortThread
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1143,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1145,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1145,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1151,1
    - Dst: ev::DelTrack
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1141
    functionDepth: 1
    functionLinenumber: 1141
    functionLinenumberEnd: 1156
    functionName: mkv::matroska_segment_c::ESDestroy
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - ev::AbortThread
    - begin
    - ev::DelTrack
    - es_out_Del
    - end
    linkageType: ''
    returnType: void
    signature: void matroska_segment_c::ESDestroy( )
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1195,1
    - Dst: ep::Down
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1201,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1205,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1206,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1210,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1210,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1216,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1220,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1220,1
    - Dst: obj::cluster::InitTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1221,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1221,1
    - Dst: obj::_seeker::add_cluster
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1222,1
    - Dst: ep::Down
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1227,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1229,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1235,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1239,1
    - Dst: ep::Down
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1240,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1246,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1252,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1252,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1255,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1256,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1256,1
    - Dst: ReleaseFrames
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1257,1
    - Dst: simpleblock::SetParent
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1261,1
    - Dst: IsKeyframe
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1263,1
    - Dst: obj::FindTrackByBlock
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1265,1
    - Dst: obj::_seeker::add_seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1267,1
    - Dst: TrackNum
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1267,1
    - Dst: mkv::SegmentSeeker::Seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1268,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1268,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1268,1
    - Dst: GlobalTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1268,1
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1275,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1281,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1281,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1284,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1284,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1285,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1285,1
    - Dst: ReleaseFrames
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1286,1
    - Dst: block::SetParent
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1290,1
    - Dst: obj::FindTrackByBlock
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1292,1
    - Dst: obj::_seeker::add_seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1295,1
    - Dst: TrackNum
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1295,1
    - Dst: mkv::SegmentSeeker::Seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1296,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1296,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1296,1
    - Dst: GlobalTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1296,1
    - Dst: ep::Keep
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1299,1
    - Dst: obj::ReadMaster
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1303,1
    - Dst: ep::Keep
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1306,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1311,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1311,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1312,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1316,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1316,1
    - Dst: static_cast<int64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1320,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1325,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1326,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1331,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1331,1
    - Dst: static_cast<int64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1332,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1337,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1339,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1340,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1340,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1345,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1346,1
    - Dst: Dispatcher::Dispatcher
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1347,1
    - Dst: Get
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1355,1
    - Dst: mkv::matroska_segment_c::FindTrackByBlock
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1358,1
    - Dst: Unkeep
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1361,1
    - Dst: IsKeyframe
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1368,1
    - Dst: IsDiscardable
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1369,1
    - Dst: GetBuffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1376,1
    - Dst: DataBuffer*::Buffer
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1377,1
    - Dst: DataBuffer*::Size
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1380,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1396,1
    - Dst: GetLevel
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1407,1
    - Dst: Up
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1413,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1416,1
    - Dst: IsTopPresent
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1425,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1427,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1442,1
    - Dst: EbmlElement*::ValidateSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1442,1
    - Dst: EbmlElement*::IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1442,1
    - Dst: EbmlElement*::GetSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1442,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1444,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1444,1
    - Dst: Up
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1445,1
    - Dst: Unkeep
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1450,1
    - Dst: EbmlTypeDispatcher*::send
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1460,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1465,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1475,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1475,1
    - Dst: Up
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1476,1
    - Dst: Unkeep
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1477,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 178
    argCount: 6
    argNames:
    - ' pp_block'
    - ' pp_simpleblock'
    - ' pp_additions'
    - pb_key_picture
    - pb_discardable_picture
    - pi_duration
    argTypes:
    - KaxBlock*
    - KaxSimpleBlock*
    - KaxBlockAdditions*
    - bool*
    - bool*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1158
    functionDepth: 2
    functionLinenumber: 1158
    functionLinenumberEnd: 1482
    functionName: mkv::matroska_segment_c::BlockGet
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - GlobalTimestamp
    - EbmlElement*::ValidateSize
    - Unkeep
    - Get
    - DataBuffer*::Size
    - simpleblock::SetParent
    - block::SetParent
    - VLC_TICK_FROM_NS
    - GetElementPosition
    - DataBuffer*::Buffer
    - IsTopPresent
    - obj::es::I_O
    - msg_Err
    - ep::Keep
    - msg_Dbg
    - EbmlElement*::IsFiniteSize
    - msg_Warn
    - ReadData
    - obj::FindTrackByBlock
    - IsDiscardable
    - static_cast<uint64_t>
    - IsKeyframe
    - Dispatcher::Dispatcher
    - MKV_SWITCH_INIT
    - GetLevel
    - ReleaseFrames
    - EBML_NAME
    - EbmlTypeDispatcher*::send
    - ep::Down
    - static_cast<int64_t>
    - GetBuffer
    - VLC_UNUSED
    - mkv::matroska_segment_c::FindTrackByBlock
    - mkv::SegmentSeeker::Seekpoint
    - obj::_seeker::add_seekpoint
    - GetSize
    - obj::cluster::InitTimestamp
    - Up
    - EbmlElement*::GetSize
    - obj::ReadMaster
    - unlikely
    - obj::_seeker::add_cluster
    - TrackNum
    linkageType: ''
    returnType: int
    signature: "int matroska_segment_c::BlockGet( KaxBlock * & pp_block, KaxSimpleBlock
      * & pp_simpleblock,\n                                  KaxBlockAdditions * &
      pp_additions,\n                                  bool *pb_key_picture, bool
      *pb_discardable_picture,\n                                  uint64_t *pi_duration
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1195,1
    - Dst: ep::Down
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1201,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1205,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1206,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1210,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1193
    functionDepth: 1
    functionLinenumber: 1193
    functionLinenumberEnd: 1212
    functionName: mkv::MKV_SWITCH_CREATE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - ep::Down
    - MKV_SWITCH_INIT
    - msg_Dbg
    - EBML_NAME
    - msg_Warn
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void MKV_SWITCH_CREATE( EbmlTypeDispatcher, BlockGetHandler_l1, BlockPayload
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ep::Down
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1197
    functionDepth: 0
    functionLinenumber: 1197
    functionLinenumberEnd: 1202
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - ep::Down
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxCluster, kcluster )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1205,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1203
    functionDepth: 1
    functionLinenumber: 1203
    functionLinenumberEnd: 1207
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - msg_Warn
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxCues, kcue )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1210,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1208
    functionDepth: 1
    functionLinenumber: 1208
    functionLinenumberEnd: 1211
    functionName: mkv::E_CASE_DEFAULT
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - EBML_NAME
    linkageType: ''
    returnType: void
    signature: void E_CASE_DEFAULT(element)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1216,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1220,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1220,1
    - Dst: obj::cluster::InitTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1221,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1221,1
    - Dst: obj::_seeker::add_cluster
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1222,1
    - Dst: ep::Down
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1227,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1229,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1235,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1239,1
    - Dst: ep::Down
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1240,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1246,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1252,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1252,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1255,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1256,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1256,1
    - Dst: ReleaseFrames
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1257,1
    - Dst: simpleblock::SetParent
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1261,1
    - Dst: IsKeyframe
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1263,1
    - Dst: obj::FindTrackByBlock
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1265,1
    - Dst: obj::_seeker::add_seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1267,1
    - Dst: TrackNum
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1267,1
    - Dst: mkv::SegmentSeeker::Seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1268,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1268,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1268,1
    - Dst: GlobalTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1268,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1214
    functionDepth: 2
    functionLinenumber: 1214
    functionLinenumberEnd: 1271
    functionName: mkv::MKV_SWITCH_CREATE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - GlobalTimestamp
    - simpleblock::SetParent
    - VLC_TICK_FROM_NS
    - GetElementPosition
    - obj::es::I_O
    - msg_Err
    - msg_Warn
    - ReadData
    - obj::FindTrackByBlock
    - static_cast<uint64_t>
    - IsKeyframe
    - MKV_SWITCH_INIT
    - ReleaseFrames
    - EBML_NAME
    - ep::Down
    - VLC_UNUSED
    - mkv::SegmentSeeker::Seekpoint
    - obj::_seeker::add_seekpoint
    - GetSize
    - obj::cluster::InitTimestamp
    - obj::_seeker::add_cluster
    - TrackNum
    linkageType: ''
    returnType: void
    signature: void MKV_SWITCH_CREATE( EbmlTypeDispatcher, BlockGetHandler_l2, BlockPayload
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1220,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1220,1
    - Dst: obj::cluster::InitTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1221,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1221,1
    - Dst: obj::_seeker::add_cluster
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1218
    functionDepth: 2
    functionLinenumber: 1218
    functionLinenumberEnd: 1224
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - static_cast<uint64_t>
    - obj::es::I_O
    - obj::cluster::InitTimestamp
    - ReadData
    - obj::_seeker::add_cluster
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxClusterTimestamp, ktimecode )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ep::Down
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1227,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1225
    functionDepth: 1
    functionLinenumber: 1225
    functionLinenumberEnd: 1230
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - VLC_UNUSED
    - ep::Down
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxClusterSilentTracks, ksilent )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1235,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1239,1
    - Dst: ep::Down
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1231
    functionDepth: 1
    functionLinenumber: 1231
    functionLinenumberEnd: 1241
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - ep::Down
    - GetElementPosition
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxBlockGroup, kbgroup )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1246,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1252,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1252,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1255,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1256,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1256,1
    - Dst: ReleaseFrames
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1257,1
    - Dst: simpleblock::SetParent
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1261,1
    - Dst: IsKeyframe
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1263,1
    - Dst: obj::FindTrackByBlock
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1265,1
    - Dst: obj::_seeker::add_seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1267,1
    - Dst: TrackNum
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1267,1
    - Dst: mkv::SegmentSeeker::Seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1268,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1268,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1268,1
    - Dst: GlobalTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1268,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1242
    functionDepth: 2
    functionLinenumber: 1242
    functionLinenumberEnd: 1270
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - GlobalTimestamp
    - mkv::SegmentSeeker::Seekpoint
    - IsKeyframe
    - obj::_seeker::add_seekpoint
    - GetSize
    - obj::es::I_O
    - msg_Err
    - simpleblock::SetParent
    - ReleaseFrames
    - EBML_NAME
    - msg_Warn
    - ReadData
    - obj::FindTrackByBlock
    - VLC_TICK_FROM_NS
    - GetElementPosition
    - TrackNum
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxSimpleBlock, ksblock )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MKV_SWITCH_INIT
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1275,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1281,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1281,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1284,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1284,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1285,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1285,1
    - Dst: ReleaseFrames
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1286,1
    - Dst: block::SetParent
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1290,1
    - Dst: obj::FindTrackByBlock
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1292,1
    - Dst: obj::_seeker::add_seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1295,1
    - Dst: TrackNum
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1295,1
    - Dst: mkv::SegmentSeeker::Seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1296,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1296,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1296,1
    - Dst: GlobalTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1296,1
    - Dst: ep::Keep
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1299,1
    - Dst: obj::ReadMaster
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1303,1
    - Dst: ep::Keep
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1306,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1311,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1311,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1312,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1316,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1316,1
    - Dst: static_cast<int64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1320,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1325,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1326,1
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1331,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1331,1
    - Dst: static_cast<int64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1332,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1337,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1339,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1340,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1340,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1273
    functionDepth: 2
    functionLinenumber: 1273
    functionLinenumberEnd: 1342
    functionName: mkv::MKV_SWITCH_CREATE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - GlobalTimestamp
    - block::SetParent
    - VLC_TICK_FROM_NS
    - GetElementPosition
    - obj::es::I_O
    - msg_Err
    - ep::Keep
    - msg_Warn
    - ReadData
    - obj::FindTrackByBlock
    - static_cast<uint64_t>
    - MKV_SWITCH_INIT
    - ReleaseFrames
    - EBML_NAME
    - static_cast<int64_t>
    - VLC_UNUSED
    - mkv::SegmentSeeker::Seekpoint
    - obj::_seeker::add_seekpoint
    - GetSize
    - obj::ReadMaster
    - unlikely
    - TrackNum
    linkageType: ''
    returnType: void
    signature: void MKV_SWITCH_CREATE( EbmlTypeDispatcher, BlockGetHandler_l3, BlockPayload
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1281,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1281,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1284,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1284,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1285,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1285,1
    - Dst: ReleaseFrames
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1286,1
    - Dst: block::SetParent
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1290,1
    - Dst: obj::FindTrackByBlock
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1292,1
    - Dst: obj::_seeker::add_seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1295,1
    - Dst: TrackNum
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1295,1
    - Dst: mkv::SegmentSeeker::Seekpoint
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1296,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1296,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1296,1
    - Dst: GlobalTimestamp
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1296,1
    - Dst: ep::Keep
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1299,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1277
    functionDepth: 2
    functionLinenumber: 1277
    functionLinenumberEnd: 1300
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - GlobalTimestamp
    - mkv::SegmentSeeker::Seekpoint
    - obj::_seeker::add_seekpoint
    - GetSize
    - obj::es::I_O
    - msg_Err
    - ep::Keep
    - ReleaseFrames
    - EBML_NAME
    - ReadData
    - block::SetParent
    - obj::FindTrackByBlock
    - VLC_TICK_FROM_NS
    - unlikely
    - GetElementPosition
    - TrackNum
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxBlock, kblock )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: obj::ReadMaster
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1303,1
    - Dst: ep::Keep
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1301
    functionDepth: 0
    functionLinenumber: 1301
    functionLinenumberEnd: 1308
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - ep::Keep
    - obj::ReadMaster
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxBlockAdditions, kadditions )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1311,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1311,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1309
    functionDepth: 2
    functionLinenumber: 1309
    functionLinenumberEnd: 1313
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - ReadData
    - static_cast<uint64_t>
    - obj::es::I_O
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxBlockDuration, kduration )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1316,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1316,1
    - Dst: static_cast<int64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1314
    functionDepth: 2
    functionLinenumber: 1314
    functionLinenumberEnd: 1322
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - ReadData
    - obj::es::I_O
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxReferenceBlock, kreference )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1325,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1323
    functionDepth: 1
    functionLinenumber: 1323
    functionLinenumberEnd: 1327
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxClusterSilentTrackNumber, kstrackn )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadData
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1331,1
    - Dst: obj::es::I_O
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1331,1
    - Dst: static_cast<int64_t>
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1329
    functionDepth: 2
    functionLinenumber: 1329
    functionLinenumberEnd: 1333
    functionName: mkv::E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 6
    functionsReached:
    - ReadData
    - obj::es::I_O
    - static_cast<int64_t>
    linkageType: ''
    returnType: void
    signature: void E_CASE( KaxDiscardPadding, kdiscardp )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1337,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1339,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1340,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/matroska_segment.cpp:1340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1335
    functionDepth: 1
    functionLinenumber: 1335
    functionLinenumberEnd: 1341
    functionName: mkv::E_CASE_DEFAULT
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment.cpp
    functionUses: 0
    functionsReached:
    - GetElementPosition
    - EBML_NAME
    - msg_Warn
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void E_CASE_DEFAULT( element )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:27,1
    - Dst: GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:29,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 36
    functionName: mkv::dvd_chapter_codec_c::GetTitleNumber
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 0
    functionsReached:
    - GetBuffer
    - GetSize
    linkageType: ''
    returnType: int16_t
    signature: int16_t dvd_chapter_codec_c::GetTitleNumber() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkv::dvd_chapter_codec_c::EnterLeaveHelper
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: mkv::dvd_chapter_codec_c::Enter
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 0
    functionsReached:
    - mkv::dvd_chapter_codec_c::EnterLeaveHelper
    linkageType: ''
    returnType: bool
    signature: bool dvd_chapter_codec_c::Enter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkv::dvd_chapter_codec_c::EnterLeaveHelper
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: mkv::dvd_chapter_codec_c::Leave
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 0
    functionsReached:
    - mkv::dvd_chapter_codec_c::EnterLeaveHelper
    linkageType: ''
    returnType: bool
    signature: bool dvd_chapter_codec_c::Leave()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:51,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:52,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:54,1
    - Dst: GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:56,1
    - Dst: std::min<size_t>
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:57,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:57,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:60,1
    - Dst: Interpret
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - str_diag
    - ' p_container'
    - process_time
    argTypes:
    - char*
    - ChapterProcess
    - MatroskaChapterProcessTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 67
    functionName: mkv::dvd_chapter_codec_c::EnterLeaveHelper
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 2
    functionsReached:
    - GetSize
    - begin
    - Interpret
    - std::min<size_t>
    - vlc_debug
    - GetBuffer
    - end
    linkageType: ''
    returnType: bool
    signature: bool dvd_chapter_codec_c::EnterLeaveHelper( char const * str_diag,
      ChapterProcess & p_container, MatroskaChapterProcessTime process_time )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:73,1
    - Dst: GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:75,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:87,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:87,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:97,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:101,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:101,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - f_for_title
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 109
    functionName: mkv::dvd_chapter_codec_c::GetCodecName
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 0
    functionsReached:
    - GetBuffer
    - GetSize
    - snprintf
    - ARRAY_SIZE
    linkageType: ''
    returnType: std::string
    signature: std::string dvd_chapter_codec_c::GetCodecName( bool f_for_title ) const
  - BBCount: 86
    BranchProfiles: []
    Callsites:
    - Dst: mkv::dvd_command_interpretor_c::GetPRM
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:164,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:170,1
    - Dst: mkv::dvd_command_interpretor_c::GetRegTypeName
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:170,1
    - Dst: mkv::dvd_command_interpretor_c::GetRegTypeName
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:170,1
    - Dst: mkv::dvd_command_interpretor_c::GetPRM
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:171,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:178,1
    - Dst: mkv::dvd_command_interpretor_c::GetRegTypeName
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:178,1
    - Dst: mkv::dvd_command_interpretor_c::GetRegTypeName
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:178,1
    - Dst: mkv::dvd_command_interpretor_c::GetPRM
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:179,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:186,1
    - Dst: mkv::dvd_command_interpretor_c::GetRegTypeName
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:186,1
    - Dst: mkv::dvd_command_interpretor_c::GetRegTypeName
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:186,1
    - Dst: mkv::dvd_command_interpretor_c::GetPRM
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:187,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:194,1
    - Dst: mkv::dvd_command_interpretor_c::GetRegTypeName
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:194,1
    - Dst: mkv::dvd_command_interpretor_c::GetRegTypeName
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:194,1
    - Dst: mkv::dvd_command_interpretor_c::GetPRM
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:195,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:202,1
    - Dst: mkv::dvd_command_interpretor_c::GetRegTypeName
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:202,1
    - Dst: mkv::dvd_command_interpretor_c::GetRegTypeName
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:202,1
    - Dst: mkv::dvd_command_interpretor_c::GetPRM
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:203,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:210,1
    - Dst: mkv::dvd_command_interpretor_c::GetRegTypeName
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:210,1
    - Dst: mkv::dvd_command_interpretor_c::GetRegTypeName
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:210,1
    - Dst: mkv::dvd_command_interpretor_c::GetPRM
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:211,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:218,1
    - Dst: mkv::dvd_command_interpretor_c::GetRegTypeName
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:218,1
    - Dst: mkv::dvd_command_interpretor_c::GetRegTypeName
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:218,1
    - Dst: mkv::dvd_command_interpretor_c::GetPRM
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:219,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:238,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:243,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:250,1
    - Dst: BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:253,1
    - Dst: mkv::dvd_command_interpretor_c::MatchTitleNumber
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:255,1
    - Dst: virtual_chapter_c*::BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:261,1
    - Dst: mkv::dvd_command_interpretor_c::MatchCellNumber
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:263,1
    - Dst: JumpTo
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:267,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:276,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:284,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:287,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:290,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:293,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:296,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:299,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:302,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:305,1
    - Dst: BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:308,1
    - Dst: mkv::dvd_command_interpretor_c::MatchPgcType
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:310,1
    - Dst: virtual_chapter_c*::BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:316,1
    - Dst: mkv::dvd_command_interpretor_c::MatchCellNumber
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:318,1
    - Dst: JumpTo
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:321,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:327,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:330,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:333,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:340,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:344,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:351,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:354,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:357,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:360,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:363,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:366,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:369,1
    - Dst: BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:373,1
    - Dst: mkv::dvd_command_interpretor_c::MatchIsVMG
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:375,1
    - Dst: virtual_segment_c*::BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:378,1
    - Dst: mkv::dvd_command_interpretor_c::MatchPgcType
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:380,1
    - Dst: JumpTo
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:383,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:393,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:396,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:399,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:402,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:405,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:408,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:411,1
    - Dst: BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:417,1
    - Dst: mkv::dvd_command_interpretor_c::MatchVTSMNumber
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:419,1
    - Dst: virtual_chapter_c*::BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:425,1
    - Dst: mkv::dvd_command_interpretor_c::MatchTitleNumber
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:427,1
    - Dst: virtual_segment_c*::BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:431,1
    - Dst: mkv::dvd_command_interpretor_c::MatchPgcType
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:433,1
    - Dst: JumpTo
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:436,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:441,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:444,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:448,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:458,1
    - Dst: GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:461,1
    - Dst: mkv::dvd_command_interpretor_c::MatchIsDomain
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:463,1
    - Dst: virtual_chapter_c*::p_chapter::GetTitleNumber
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:466,1
    - Dst: BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:469,1
    - Dst: mkv::dvd_command_interpretor_c::MatchVTSNumber
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:471,1
    - Dst: virtual_chapter_c*::BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:476,1
    - Dst: mkv::dvd_command_interpretor_c::MatchTitleNumber
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:478,1
    - Dst: virtual_chapter_c*::BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:482,1
    - Dst: mkv::dvd_command_interpretor_c::MatchChapterNumber
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:484,1
    - Dst: JumpTo
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:487,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:492,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:495,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:498,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:501,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:506,1
    - Dst: mkv::dvd_command_interpretor_c::SetGPRM
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:508,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:509,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:516,1
    - Dst: GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:517,1
    - Dst: mkv::dvd_command_interpretor_c::MatchPgcNumber
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:519,1
    - Dst: JumpTo
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:522,1
    - Dst: GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:522,1
    - Dst: GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:531,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:533,1
    - Dst: virtual_chapter_c*::BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:534,1
    - Dst: mkv::dvd_command_interpretor_c::MatchCellNumber
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:536,1
    - Dst: JumpTo
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:539,1
    - Dst: GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:539,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:546,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:552,1
    - Dst: mkv::dvd_command_interpretor_c::SetSPRM
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:553,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:558,1
    CyclomaticComplexity: 93
    EdgeCount: 93
    ICount: 332
    argCount: 2
    argNames:
    - p_command
    - i_size
    argTypes:
    - binary*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 572
    functionName: mkv::dvd_command_interpretor_c::Interpret
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 0
    functionsReached:
    - mkv::dvd_command_interpretor_c::MatchPgcType
    - mkv::dvd_command_interpretor_c::MatchVTSMNumber
    - mkv::dvd_command_interpretor_c::MatchCellNumber
    - mkv::dvd_command_interpretor_c::MatchPgcNumber
    - mkv::dvd_command_interpretor_c::GetRegTypeName
    - mkv::dvd_command_interpretor_c::SetGPRM
    - mkv::dvd_command_interpretor_c::MatchIsDomain
    - BrowseCodecPrivate
    - GetCurrentVSegment
    - mkv::dvd_command_interpretor_c::SetSPRM
    - mkv::dvd_command_interpretor_c::GetPRM
    - virtual_segment_c*::BrowseCodecPrivate
    - mkv::dvd_command_interpretor_c::MatchIsVMG
    - virtual_chapter_c*::p_chapter::GetTitleNumber
    - vlc_debug
    - JumpTo
    - mkv::dvd_command_interpretor_c::MatchVTSNumber
    - mkv::dvd_command_interpretor_c::MatchChapterNumber
    - virtual_chapter_c*::BrowseCodecPrivate
    - mkv::dvd_command_interpretor_c::MatchTitleNumber
    linkageType: ''
    returnType: bool
    signature: bool dvd_command_interpretor_c::Interpret( MatroskaChapterProcessTime,
      const binary * p_command, size_t i_size )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:578,1
    - Dst: mkv::dvd_command_interpretor_c::SetSPRM
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:581,1
    - Dst: mkv::dvd_command_interpretor_c::Interpret
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:586,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - button
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 574
    functionDepth: 3
    functionLinenumber: 574
    functionLinenumberEnd: 589
    functionName: mkv::dvd_command_interpretor_c::ProcessNavAction
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 0
    functionsReached:
    - mkv::dvd_command_interpretor_c::SetSPRM
    - mkv::dvd_command_interpretor_c::Interpret
    - ARRAY_SIZE
    linkageType: ''
    returnType: bool
    signature: bool dvd_command_interpretor_c::ProcessNavAction( uint16_t button )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mkv::dvd_command_interpretor_c::GetSPRM
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:594,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:596,1
    - Dst: mkv::dvd_command_interpretor_c::ProcessNavAction
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:603,1
    - Dst: mkv::dvd_command_interpretor_c::ProcessNavAction
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:604,1
    - Dst: mkv::dvd_command_interpretor_c::ProcessNavAction
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:605,1
    - Dst: mkv::dvd_command_interpretor_c::ProcessNavAction
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:606,1
    - Dst: mkv::dvd_command_interpretor_c::Interpret
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:609,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:614,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - key
    argTypes:
    - NavivationKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 591
    functionDepth: 4
    functionLinenumber: 591
    functionLinenumberEnd: 615
    functionName: mkv::dvd_command_interpretor_c::HandleKeyEvent
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - vlc_assert_unreachable
    - mkv::dvd_command_interpretor_c::GetSPRM
    - mkv::dvd_command_interpretor_c::ProcessNavAction
    - mkv::dvd_command_interpretor_c::Interpret
    linkageType: ''
    returnType: bool
    signature: bool dvd_command_interpretor_c::HandleKeyEvent( NavivationKey key )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:627,1
    - Dst: std::min<uint16_t>
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:628,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:628,1
    - Dst: mkv::dvd_command_interpretor_c::GetSPRM
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:655,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:657,1
    - Dst: mkv::dvd_command_interpretor_c::SetSPRM
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:660,1
    - Dst: mkv::dvd_command_interpretor_c::Interpret
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:661,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:663,1
    - Dst: vlc_spu_highlight_t
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:669,1
    - Dst: SetHighlight
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:697,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 617
    functionDepth: 3
    functionLinenumber: 617
    functionLinenumberEnd: 699
    functionName: mkv::dvd_command_interpretor_c::HandleMousePressed
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 0
    functionsReached:
    - mkv::dvd_command_interpretor_c::SetSPRM
    - ARRAY_SIZE
    - SetHighlight
    - mkv::dvd_command_interpretor_c::GetSPRM
    - vlc_spu_highlight_t
    - vlc_debug
    - std::min<uint16_t>
    - mkv::dvd_command_interpretor_c::Interpret
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: void
    signature: void dvd_command_interpretor_c::HandleMousePressed( unsigned x, unsigned
      y )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - chapter_codec_cmds_c
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 704
    functionName: mkv::dvd_command_interpretor_c::MatchIsDomain
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 1
    functionsReached:
    - chapter_codec_cmds_c::p_private_data::GetBuffer
    linkageType: ''
    returnType: bool
    signature: bool dvd_command_interpretor_c::MatchIsDomain( const chapter_codec_cmds_c
      &data )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: chapter_codec_cmds_c::p_private_data::GetSize
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:708,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:711,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:711,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - chapter_codec_cmds_c
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 712
    functionName: mkv::dvd_command_interpretor_c::MatchIsVMG
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 1
    functionsReached:
    - chapter_codec_cmds_c::p_private_data::GetSize
    - chapter_codec_cmds_c::p_private_data::GetBuffer
    linkageType: ''
    returnType: bool
    signature: bool dvd_command_interpretor_c::MatchIsVMG( const chapter_codec_cmds_c
      &data )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: chapter_codec_cmds_c::p_private_data::GetSize
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:716,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:719,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:719,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:722,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:722,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - data
    - i_title
    argTypes:
    - chapter_codec_cmds_c
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 725
    functionName: mkv::dvd_command_interpretor_c::MatchVTSNumber
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 1
    functionsReached:
    - chapter_codec_cmds_c::p_private_data::GetSize
    - chapter_codec_cmds_c::p_private_data::GetBuffer
    linkageType: ''
    returnType: bool
    signature: bool dvd_command_interpretor_c::MatchVTSNumber( const chapter_codec_cmds_c
      &data, uint16_t i_title )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: chapter_codec_cmds_c::p_private_data::GetSize
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:729,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:732,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:732,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:735,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - data
    - i_title
    argTypes:
    - chapter_codec_cmds_c
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 738
    functionName: mkv::dvd_command_interpretor_c::MatchVTSMNumber
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 1
    functionsReached:
    - chapter_codec_cmds_c::p_private_data::GetSize
    - chapter_codec_cmds_c::p_private_data::GetBuffer
    linkageType: ''
    returnType: bool
    signature: bool dvd_command_interpretor_c::MatchVTSMNumber( const chapter_codec_cmds_c
      &data, uint8_t i_title )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: chapter_codec_cmds_c::p_private_data::GetSize
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:742,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:745,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:748,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:748,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - data
    - i_title
    argTypes:
    - chapter_codec_cmds_c
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 751
    functionName: mkv::dvd_command_interpretor_c::MatchTitleNumber
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 1
    functionsReached:
    - chapter_codec_cmds_c::p_private_data::GetSize
    - chapter_codec_cmds_c::p_private_data::GetBuffer
    linkageType: ''
    returnType: bool
    signature: bool dvd_command_interpretor_c::MatchTitleNumber( const chapter_codec_cmds_c
      &data, uint8_t i_title )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: chapter_codec_cmds_c::p_private_data::GetSize
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:755,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:758,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:761,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - data
    - i_pgc
    argTypes:
    - chapter_codec_cmds_c
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 764
    functionName: mkv::dvd_command_interpretor_c::MatchPgcType
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 1
    functionsReached:
    - chapter_codec_cmds_c::p_private_data::GetSize
    - chapter_codec_cmds_c::p_private_data::GetBuffer
    linkageType: ''
    returnType: bool
    signature: bool dvd_command_interpretor_c::MatchPgcType( const chapter_codec_cmds_c
      &data, uint8_t i_pgc )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: chapter_codec_cmds_c::p_private_data::GetSize
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:768,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:771,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:774,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:774,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - data
    - i_pgc_n
    argTypes:
    - chapter_codec_cmds_c
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 777
    functionName: mkv::dvd_command_interpretor_c::MatchPgcNumber
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 1
    functionsReached:
    - chapter_codec_cmds_c::p_private_data::GetSize
    - chapter_codec_cmds_c::p_private_data::GetBuffer
    linkageType: ''
    returnType: bool
    signature: bool dvd_command_interpretor_c::MatchPgcNumber( const chapter_codec_cmds_c
      &data, uint16_t i_pgc_n )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: chapter_codec_cmds_c::p_private_data::GetSize
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:781,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:784,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:787,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - data
    - i_ptt
    argTypes:
    - chapter_codec_cmds_c
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 790
    functionName: mkv::dvd_command_interpretor_c::MatchChapterNumber
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 1
    functionsReached:
    - chapter_codec_cmds_c::p_private_data::GetSize
    - chapter_codec_cmds_c::p_private_data::GetBuffer
    linkageType: ''
    returnType: bool
    signature: bool dvd_command_interpretor_c::MatchChapterNumber( const chapter_codec_cmds_c
      &data, uint8_t i_ptt )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: chapter_codec_cmds_c::p_private_data::GetSize
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:794,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:797,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:800,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - data
    - i_cell_n
    argTypes:
    - chapter_codec_cmds_c
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 803
    functionName: mkv::dvd_command_interpretor_c::MatchCellNumber
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 1
    functionsReached:
    - chapter_codec_cmds_c::p_private_data::GetSize
    - chapter_codec_cmds_c::p_private_data::GetBuffer
    linkageType: ''
    returnType: bool
    signature: bool dvd_command_interpretor_c::MatchCellNumber( const chapter_codec_cmds_c
      &data, uint8_t i_cell_n )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bs_init
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:811,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:813,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:814,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:815,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:817,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:818,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:820,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:821,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:822,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:823,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:824,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:825,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:826,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:827,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:829,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:830,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:831,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:832,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:833,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:834,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:835,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:836,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:838,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:839,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:840,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:841,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:842,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:843,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:844,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:845,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:847,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:848,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:849,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:851,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:852,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:853,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:854,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:857,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:858,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:860,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:861,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:863,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:864,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:865,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:866,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:867,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:868,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:869,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:870,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:871,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:872,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:873,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:874,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:875,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:876,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:877,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:878,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:879,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:880,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:884,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:886,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:889,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:890,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:891,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:892,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:894,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:895,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:897,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:898,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:899,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:900,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:902,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:903,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:904,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:905,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:906,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:907,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:910,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:911,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:913,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:914,1
    - Dst: bs_error
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:914,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 87
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - unsigned
    assertStmts:
    - condition: (!bs_error(&bs))
      pos:
        line_end: 913
        line_start: 913
        source_file: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    constantsTouched: []
    func_position:
      end: 915
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 915
    functionName: mkv::dvd_command_interpretor_c::SetPci
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 0
    functionsReached:
    - bs_skip
    - bs_read1
    - ARRAY_SIZE
    - assert
    - bs_read
    - bs_error
    - bs_init
    linkageType: ''
    returnType: void
    signature: void dvd_command_interpretor_c::SetPci(const uint8_t *data, unsigned
      size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:27,1
    - Dst: GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:29,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 36
    functionName: mkv::dvd_chapter_codec_c::GetTitleNumber
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 0
    functionsReached:
    - GetBuffer
    - GetSize
    linkageType: ''
    returnType: int16_t
    signature: int16_t dvd_chapter_codec_c::GetTitleNumber() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkv::dvd_chapter_codec_c::EnterLeaveHelper
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: mkv::dvd_chapter_codec_c::Enter
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 0
    functionsReached:
    - mkv::dvd_chapter_codec_c::EnterLeaveHelper
    linkageType: ''
    returnType: bool
    signature: bool dvd_chapter_codec_c::Enter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkv::dvd_chapter_codec_c::EnterLeaveHelper
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: mkv::dvd_chapter_codec_c::Leave
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 0
    functionsReached:
    - mkv::dvd_chapter_codec_c::EnterLeaveHelper
    linkageType: ''
    returnType: bool
    signature: bool dvd_chapter_codec_c::Leave()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:51,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:52,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:54,1
    - Dst: GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:56,1
    - Dst: std::min<size_t>
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:57,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:57,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:60,1
    - Dst: Interpret
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - str_diag
    - ' p_container'
    - process_time
    argTypes:
    - char*
    - ChapterProcess
    - MatroskaChapterProcessTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 67
    functionName: mkv::dvd_chapter_codec_c::EnterLeaveHelper
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 4
    functionsReached:
    - GetSize
    - begin
    - Interpret
    - std::min<size_t>
    - vlc_debug
    - GetBuffer
    - end
    linkageType: ''
    returnType: bool
    signature: bool dvd_chapter_codec_c::EnterLeaveHelper( char const * str_diag,
      ChapterProcess & p_container, MatroskaChapterProcessTime process_time )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:73,1
    - Dst: GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:75,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:87,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:87,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:97,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:101,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:101,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - f_for_title
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 109
    functionName: mkv::dvd_chapter_codec_c::GetCodecName
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 0
    functionsReached:
    - GetBuffer
    - GetSize
    - snprintf
    - ARRAY_SIZE
    linkageType: ''
    returnType: std::string
    signature: std::string dvd_chapter_codec_c::GetCodecName( bool f_for_title ) const
  - BBCount: 86
    BranchProfiles: []
    Callsites:
    - Dst: mkv::dvd_command_interpretor_c::GetPRM
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:164,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:170,1
    - Dst: mkv::dvd_command_interpretor_c::GetRegTypeName
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:170,1
    - Dst: mkv::dvd_command_interpretor_c::GetRegTypeName
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:170,1
    - Dst: mkv::dvd_command_interpretor_c::GetPRM
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:171,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:178,1
    - Dst: mkv::dvd_command_interpretor_c::GetRegTypeName
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:178,1
    - Dst: mkv::dvd_command_interpretor_c::GetRegTypeName
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:178,1
    - Dst: mkv::dvd_command_interpretor_c::GetPRM
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:179,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:186,1
    - Dst: mkv::dvd_command_interpretor_c::GetRegTypeName
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:186,1
    - Dst: mkv::dvd_command_interpretor_c::GetRegTypeName
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:186,1
    - Dst: mkv::dvd_command_interpretor_c::GetPRM
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:187,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:194,1
    - Dst: mkv::dvd_command_interpretor_c::GetRegTypeName
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:194,1
    - Dst: mkv::dvd_command_interpretor_c::GetRegTypeName
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:194,1
    - Dst: mkv::dvd_command_interpretor_c::GetPRM
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:195,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:202,1
    - Dst: mkv::dvd_command_interpretor_c::GetRegTypeName
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:202,1
    - Dst: mkv::dvd_command_interpretor_c::GetRegTypeName
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:202,1
    - Dst: mkv::dvd_command_interpretor_c::GetPRM
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:203,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:210,1
    - Dst: mkv::dvd_command_interpretor_c::GetRegTypeName
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:210,1
    - Dst: mkv::dvd_command_interpretor_c::GetRegTypeName
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:210,1
    - Dst: mkv::dvd_command_interpretor_c::GetPRM
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:211,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:218,1
    - Dst: mkv::dvd_command_interpretor_c::GetRegTypeName
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:218,1
    - Dst: mkv::dvd_command_interpretor_c::GetRegTypeName
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:218,1
    - Dst: mkv::dvd_command_interpretor_c::GetPRM
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:219,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:238,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:243,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:250,1
    - Dst: BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:253,1
    - Dst: mkv::dvd_command_interpretor_c::MatchTitleNumber
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:255,1
    - Dst: virtual_chapter_c*::BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:261,1
    - Dst: mkv::dvd_command_interpretor_c::MatchCellNumber
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:263,1
    - Dst: JumpTo
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:267,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:276,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:284,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:287,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:290,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:293,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:296,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:299,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:302,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:305,1
    - Dst: BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:308,1
    - Dst: mkv::dvd_command_interpretor_c::MatchPgcType
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:310,1
    - Dst: virtual_chapter_c*::BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:316,1
    - Dst: mkv::dvd_command_interpretor_c::MatchCellNumber
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:318,1
    - Dst: JumpTo
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:321,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:327,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:330,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:333,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:340,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:344,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:351,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:354,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:357,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:360,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:363,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:366,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:369,1
    - Dst: BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:373,1
    - Dst: mkv::dvd_command_interpretor_c::MatchIsVMG
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:375,1
    - Dst: virtual_segment_c*::BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:378,1
    - Dst: mkv::dvd_command_interpretor_c::MatchPgcType
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:380,1
    - Dst: JumpTo
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:383,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:393,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:396,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:399,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:402,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:405,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:408,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:411,1
    - Dst: BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:417,1
    - Dst: mkv::dvd_command_interpretor_c::MatchVTSMNumber
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:419,1
    - Dst: virtual_chapter_c*::BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:425,1
    - Dst: mkv::dvd_command_interpretor_c::MatchTitleNumber
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:427,1
    - Dst: virtual_segment_c*::BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:431,1
    - Dst: mkv::dvd_command_interpretor_c::MatchPgcType
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:433,1
    - Dst: JumpTo
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:436,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:441,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:444,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:448,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:458,1
    - Dst: GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:461,1
    - Dst: mkv::dvd_command_interpretor_c::MatchIsDomain
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:463,1
    - Dst: virtual_chapter_c*::p_chapter::GetTitleNumber
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:466,1
    - Dst: BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:469,1
    - Dst: mkv::dvd_command_interpretor_c::MatchVTSNumber
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:471,1
    - Dst: virtual_chapter_c*::BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:476,1
    - Dst: mkv::dvd_command_interpretor_c::MatchTitleNumber
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:478,1
    - Dst: virtual_chapter_c*::BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:482,1
    - Dst: mkv::dvd_command_interpretor_c::MatchChapterNumber
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:484,1
    - Dst: JumpTo
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:487,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:492,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:495,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:498,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:501,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:506,1
    - Dst: mkv::dvd_command_interpretor_c::SetGPRM
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:508,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:509,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:516,1
    - Dst: GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:517,1
    - Dst: mkv::dvd_command_interpretor_c::MatchPgcNumber
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:519,1
    - Dst: JumpTo
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:522,1
    - Dst: GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:522,1
    - Dst: GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:531,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:533,1
    - Dst: virtual_chapter_c*::BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:534,1
    - Dst: mkv::dvd_command_interpretor_c::MatchCellNumber
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:536,1
    - Dst: JumpTo
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:539,1
    - Dst: GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:539,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:546,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:552,1
    - Dst: mkv::dvd_command_interpretor_c::SetSPRM
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:553,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:558,1
    CyclomaticComplexity: 93
    EdgeCount: 93
    ICount: 332
    argCount: 2
    argNames:
    - p_command
    - i_size
    argTypes:
    - binary*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 572
    functionName: mkv::dvd_command_interpretor_c::Interpret
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 3
    functionsReached:
    - mkv::dvd_command_interpretor_c::MatchPgcType
    - mkv::dvd_command_interpretor_c::MatchVTSMNumber
    - mkv::dvd_command_interpretor_c::MatchCellNumber
    - mkv::dvd_command_interpretor_c::MatchPgcNumber
    - mkv::dvd_command_interpretor_c::GetRegTypeName
    - mkv::dvd_command_interpretor_c::SetGPRM
    - mkv::dvd_command_interpretor_c::MatchIsDomain
    - BrowseCodecPrivate
    - GetCurrentVSegment
    - mkv::dvd_command_interpretor_c::SetSPRM
    - mkv::dvd_command_interpretor_c::GetPRM
    - virtual_segment_c*::BrowseCodecPrivate
    - mkv::dvd_command_interpretor_c::MatchIsVMG
    - virtual_chapter_c*::p_chapter::GetTitleNumber
    - vlc_debug
    - JumpTo
    - mkv::dvd_command_interpretor_c::MatchVTSNumber
    - mkv::dvd_command_interpretor_c::MatchChapterNumber
    - virtual_chapter_c*::BrowseCodecPrivate
    - mkv::dvd_command_interpretor_c::MatchTitleNumber
    linkageType: ''
    returnType: bool
    signature: bool dvd_command_interpretor_c::Interpret( MatroskaChapterProcessTime,
      const binary * p_command, size_t i_size )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:578,1
    - Dst: mkv::dvd_command_interpretor_c::SetSPRM
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:581,1
    - Dst: mkv::dvd_command_interpretor_c::Interpret
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:586,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - button
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 574
    functionDepth: 3
    functionLinenumber: 574
    functionLinenumberEnd: 589
    functionName: mkv::dvd_command_interpretor_c::ProcessNavAction
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 1
    functionsReached:
    - mkv::dvd_command_interpretor_c::SetSPRM
    - mkv::dvd_command_interpretor_c::Interpret
    - ARRAY_SIZE
    linkageType: ''
    returnType: bool
    signature: bool dvd_command_interpretor_c::ProcessNavAction( uint16_t button )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mkv::dvd_command_interpretor_c::GetSPRM
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:594,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:596,1
    - Dst: mkv::dvd_command_interpretor_c::ProcessNavAction
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:603,1
    - Dst: mkv::dvd_command_interpretor_c::ProcessNavAction
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:604,1
    - Dst: mkv::dvd_command_interpretor_c::ProcessNavAction
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:605,1
    - Dst: mkv::dvd_command_interpretor_c::ProcessNavAction
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:606,1
    - Dst: mkv::dvd_command_interpretor_c::Interpret
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:609,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:614,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - key
    argTypes:
    - NavivationKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 591
    functionDepth: 4
    functionLinenumber: 591
    functionLinenumberEnd: 615
    functionName: mkv::dvd_command_interpretor_c::HandleKeyEvent
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - vlc_assert_unreachable
    - mkv::dvd_command_interpretor_c::GetSPRM
    - mkv::dvd_command_interpretor_c::ProcessNavAction
    - mkv::dvd_command_interpretor_c::Interpret
    linkageType: ''
    returnType: bool
    signature: bool dvd_command_interpretor_c::HandleKeyEvent( NavivationKey key )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:627,1
    - Dst: std::min<uint16_t>
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:628,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:628,1
    - Dst: mkv::dvd_command_interpretor_c::GetSPRM
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:655,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:657,1
    - Dst: mkv::dvd_command_interpretor_c::SetSPRM
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:660,1
    - Dst: mkv::dvd_command_interpretor_c::Interpret
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:661,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:663,1
    - Dst: vlc_spu_highlight_t
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:669,1
    - Dst: SetHighlight
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:697,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 617
    functionDepth: 3
    functionLinenumber: 617
    functionLinenumberEnd: 699
    functionName: mkv::dvd_command_interpretor_c::HandleMousePressed
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 0
    functionsReached:
    - mkv::dvd_command_interpretor_c::SetSPRM
    - ARRAY_SIZE
    - SetHighlight
    - mkv::dvd_command_interpretor_c::GetSPRM
    - vlc_spu_highlight_t
    - vlc_debug
    - std::min<uint16_t>
    - mkv::dvd_command_interpretor_c::Interpret
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: void
    signature: void dvd_command_interpretor_c::HandleMousePressed( unsigned x, unsigned
      y )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - chapter_codec_cmds_c
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 704
    functionName: mkv::dvd_command_interpretor_c::MatchIsDomain
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 2
    functionsReached:
    - chapter_codec_cmds_c::p_private_data::GetBuffer
    linkageType: ''
    returnType: bool
    signature: bool dvd_command_interpretor_c::MatchIsDomain( const chapter_codec_cmds_c
      &data )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: chapter_codec_cmds_c::p_private_data::GetSize
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:708,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:711,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:711,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - chapter_codec_cmds_c
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 712
    functionName: mkv::dvd_command_interpretor_c::MatchIsVMG
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 2
    functionsReached:
    - chapter_codec_cmds_c::p_private_data::GetSize
    - chapter_codec_cmds_c::p_private_data::GetBuffer
    linkageType: ''
    returnType: bool
    signature: bool dvd_command_interpretor_c::MatchIsVMG( const chapter_codec_cmds_c
      &data )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: chapter_codec_cmds_c::p_private_data::GetSize
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:716,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:719,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:719,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:722,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:722,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - data
    - i_title
    argTypes:
    - chapter_codec_cmds_c
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 725
    functionName: mkv::dvd_command_interpretor_c::MatchVTSNumber
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 2
    functionsReached:
    - chapter_codec_cmds_c::p_private_data::GetSize
    - chapter_codec_cmds_c::p_private_data::GetBuffer
    linkageType: ''
    returnType: bool
    signature: bool dvd_command_interpretor_c::MatchVTSNumber( const chapter_codec_cmds_c
      &data, uint16_t i_title )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: chapter_codec_cmds_c::p_private_data::GetSize
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:729,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:732,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:732,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:735,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - data
    - i_title
    argTypes:
    - chapter_codec_cmds_c
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 738
    functionName: mkv::dvd_command_interpretor_c::MatchVTSMNumber
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 2
    functionsReached:
    - chapter_codec_cmds_c::p_private_data::GetSize
    - chapter_codec_cmds_c::p_private_data::GetBuffer
    linkageType: ''
    returnType: bool
    signature: bool dvd_command_interpretor_c::MatchVTSMNumber( const chapter_codec_cmds_c
      &data, uint8_t i_title )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: chapter_codec_cmds_c::p_private_data::GetSize
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:742,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:745,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:748,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:748,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - data
    - i_title
    argTypes:
    - chapter_codec_cmds_c
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 751
    functionName: mkv::dvd_command_interpretor_c::MatchTitleNumber
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 2
    functionsReached:
    - chapter_codec_cmds_c::p_private_data::GetSize
    - chapter_codec_cmds_c::p_private_data::GetBuffer
    linkageType: ''
    returnType: bool
    signature: bool dvd_command_interpretor_c::MatchTitleNumber( const chapter_codec_cmds_c
      &data, uint8_t i_title )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: chapter_codec_cmds_c::p_private_data::GetSize
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:755,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:758,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:761,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - data
    - i_pgc
    argTypes:
    - chapter_codec_cmds_c
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 764
    functionName: mkv::dvd_command_interpretor_c::MatchPgcType
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 2
    functionsReached:
    - chapter_codec_cmds_c::p_private_data::GetSize
    - chapter_codec_cmds_c::p_private_data::GetBuffer
    linkageType: ''
    returnType: bool
    signature: bool dvd_command_interpretor_c::MatchPgcType( const chapter_codec_cmds_c
      &data, uint8_t i_pgc )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: chapter_codec_cmds_c::p_private_data::GetSize
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:768,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:771,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:774,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:774,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - data
    - i_pgc_n
    argTypes:
    - chapter_codec_cmds_c
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 777
    functionName: mkv::dvd_command_interpretor_c::MatchPgcNumber
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 2
    functionsReached:
    - chapter_codec_cmds_c::p_private_data::GetSize
    - chapter_codec_cmds_c::p_private_data::GetBuffer
    linkageType: ''
    returnType: bool
    signature: bool dvd_command_interpretor_c::MatchPgcNumber( const chapter_codec_cmds_c
      &data, uint16_t i_pgc_n )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: chapter_codec_cmds_c::p_private_data::GetSize
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:781,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:784,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:787,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - data
    - i_ptt
    argTypes:
    - chapter_codec_cmds_c
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 790
    functionName: mkv::dvd_command_interpretor_c::MatchChapterNumber
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 2
    functionsReached:
    - chapter_codec_cmds_c::p_private_data::GetSize
    - chapter_codec_cmds_c::p_private_data::GetBuffer
    linkageType: ''
    returnType: bool
    signature: bool dvd_command_interpretor_c::MatchChapterNumber( const chapter_codec_cmds_c
      &data, uint8_t i_ptt )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: chapter_codec_cmds_c::p_private_data::GetSize
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:794,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:797,1
    - Dst: chapter_codec_cmds_c::p_private_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:800,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - data
    - i_cell_n
    argTypes:
    - chapter_codec_cmds_c
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 803
    functionName: mkv::dvd_command_interpretor_c::MatchCellNumber
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 2
    functionsReached:
    - chapter_codec_cmds_c::p_private_data::GetSize
    - chapter_codec_cmds_c::p_private_data::GetBuffer
    linkageType: ''
    returnType: bool
    signature: bool dvd_command_interpretor_c::MatchCellNumber( const chapter_codec_cmds_c
      &data, uint8_t i_cell_n )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bs_init
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:811,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:813,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:814,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:815,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:817,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:818,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:820,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:821,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:822,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:823,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:824,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:825,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:826,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:827,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:829,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:830,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:831,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:832,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:833,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:834,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:835,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:836,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:838,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:839,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:840,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:841,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:842,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:843,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:844,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:845,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:847,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:848,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:849,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:851,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:852,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:853,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:854,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:857,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:858,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:860,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:861,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:863,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:864,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:865,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:866,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:867,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:868,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:869,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:870,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:871,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:872,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:873,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:874,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:875,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:876,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:877,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:878,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:879,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:880,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:884,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:886,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:889,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:890,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:891,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:892,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:894,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:895,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:897,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:898,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:899,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:900,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:902,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:903,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:904,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:905,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:906,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:907,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:910,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:911,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:913,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:914,1
    - Dst: bs_error
      Src: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp:914,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 87
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - unsigned
    assertStmts:
    - condition: (!bs_error(&bs))
      pos:
        line_end: 913
        line_start: 913
        source_file: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    constantsTouched: []
    func_position:
      end: 915
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 915
    functionName: mkv::dvd_command_interpretor_c::SetPci
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_dvd.cpp
    functionUses: 0
    functionsReached:
    - bs_skip
    - bs_read1
    - ARRAY_SIZE
    - assert
    - bs_read
    - bs_error
    - bs_init
    linkageType: ''
    returnType: void
    signature: void dvd_command_interpretor_c::SetPci(const uint8_t *data, unsigned
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::strcmp
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s1'
    - ' s2'
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: operator () (char const * const& s1, char const * const& s2) const
    functionSourceFile: /src/vlc/modules/demux/mkv/string_dispatcher.hpp
    functionUses: 0
    functionsReached:
    - std::strcmp
    linkageType: ''
    returnType: bool
    signature: bool operator () (char const * const& s1, char const * const& s2) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::strcmp
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s1'
    - ' s2'
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: operator () (char const * const& s1, char const * const& s2) const
    functionSourceFile: /src/vlc/modules/demux/mkv/string_dispatcher.hpp
    functionUses: 0
    functionsReached:
    - std::strcmp
    linkageType: ''
    returnType: bool
    signature: bool operator () (char const * const& s1, char const * const& s2) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringDispatcher::insert
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - ProcessorEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: StringDispatcher::insert
    functionSourceFile: /src/vlc/modules/demux/mkv/string_dispatcher.hpp
    functionUses: 1
    functionsReached:
    - StringDispatcher::insert
    linkageType: ''
    returnType: void
    signature: void insert (ProcessorEntry const& data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getline
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:61,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:62,1
    - Dst: std::istringstream::clear
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:64,1
    - Dst: std::istringstream::unget
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:65,1
    - Dst: std::istringstream::get
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:67,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:68,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:68,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:70,1
    - Dst: std::make_pair
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - ProcessorEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: StringDispatcher::insert_glob
    functionSourceFile: /src/vlc/modules/demux/mkv/string_dispatcher.hpp
    functionUses: 0
    functionsReached:
    - std::istringstream::get
    - push_back
    - std::istringstream::clear
    - std::make_pair
    - std::vector::push_back
    - getline
    - std::string
    - std::istringstream::unget
    linkageType: ''
    returnType: void
    signature: void insert_glob (ProcessorEntry const& data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:74,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:75,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:84,1
    - Dst: front
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:91,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:93,1
    - Dst: c_str
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:93,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:93,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:96,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:100,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:101,1
    - Dst: strstr
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:104,1
    - Dst: GlobParts::const_iterator::c_str
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:104,1
    - Dst: GlobParts::const_iterator::size
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:109,1
    - Dst: back
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:114,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 1
    argNames:
    - ' haystack'
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 119
    functionName: StringDispatcher::find_glob_match
    functionSourceFile: /src/vlc/modules/demux/mkv/string_dispatcher.hpp
    functionUses: 0
    functionsReached:
    - GlobParts::const_iterator::size
    - back
    - begin
    - size
    - GlobParts::const_iterator::c_str
    - strncmp
    - strstr
    - c_str
    - end
    - front
    linkageType: ''
    returnType: Processor
    signature: Processor find_glob_match (char const* const& haystack) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:123,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:124,1
    - Dst: find
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:126,1
    - Dst: ProcessorContainer::const_iterator::second
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:127,1
    - Dst: StringDispatcher::find_glob_match
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:131,1
    - Dst: glob
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:132,1
    - Dst: _default_handler
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' str'
    - ' payload'
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 142
    functionName: StringDispatcher::send
    functionSourceFile: /src/vlc/modules/demux/mkv/string_dispatcher.hpp
    functionUses: 0
    functionsReached:
    - ProcessorContainer::const_iterator::second
    - begin
    - StringDispatcher::find_glob_match
    - glob
    - end
    - _default_handler
    - find
    linkageType: ''
    returnType: bool
    signature: bool send (char const* const& str, void* const& payload) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::strcmp
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s1'
    - ' s2'
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: operator () (char const * const& s1, char const * const& s2) const
    functionSourceFile: /src/vlc/modules/demux/mkv/string_dispatcher.hpp
    functionUses: 0
    functionsReached:
    - std::strcmp
    linkageType: ''
    returnType: bool
    signature: bool operator () (char const * const& s1, char const * const& s2) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::strcmp
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s1'
    - ' s2'
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: operator () (char const * const& s1, char const * const& s2) const
    functionSourceFile: /src/vlc/modules/demux/mkv/string_dispatcher.hpp
    functionUses: 0
    functionsReached:
    - std::strcmp
    linkageType: ''
    returnType: bool
    signature: bool operator () (char const * const& s1, char const * const& s2) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringDispatcher::insert
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - ProcessorEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: StringDispatcher::insert
    functionSourceFile: /src/vlc/modules/demux/mkv/string_dispatcher.hpp
    functionUses: 2
    functionsReached:
    - StringDispatcher::insert
    linkageType: ''
    returnType: void
    signature: void insert (ProcessorEntry const& data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getline
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:61,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:62,1
    - Dst: std::istringstream::clear
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:64,1
    - Dst: std::istringstream::unget
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:65,1
    - Dst: std::istringstream::get
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:67,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:68,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:68,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:70,1
    - Dst: std::make_pair
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - ProcessorEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: StringDispatcher::insert_glob
    functionSourceFile: /src/vlc/modules/demux/mkv/string_dispatcher.hpp
    functionUses: 0
    functionsReached:
    - std::istringstream::get
    - push_back
    - std::istringstream::clear
    - std::make_pair
    - std::vector::push_back
    - getline
    - std::string
    - std::istringstream::unget
    linkageType: ''
    returnType: void
    signature: void insert_glob (ProcessorEntry const& data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:74,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:75,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:84,1
    - Dst: front
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:91,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:93,1
    - Dst: c_str
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:93,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:93,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:96,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:100,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:101,1
    - Dst: strstr
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:104,1
    - Dst: GlobParts::const_iterator::c_str
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:104,1
    - Dst: GlobParts::const_iterator::size
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:109,1
    - Dst: back
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:114,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 1
    argNames:
    - ' haystack'
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 119
    functionName: StringDispatcher::find_glob_match
    functionSourceFile: /src/vlc/modules/demux/mkv/string_dispatcher.hpp
    functionUses: 1
    functionsReached:
    - GlobParts::const_iterator::size
    - back
    - begin
    - size
    - GlobParts::const_iterator::c_str
    - strncmp
    - strstr
    - c_str
    - end
    - front
    linkageType: ''
    returnType: Processor
    signature: Processor find_glob_match (char const* const& haystack) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:123,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:124,1
    - Dst: find
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:126,1
    - Dst: ProcessorContainer::const_iterator::second
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:127,1
    - Dst: StringDispatcher::find_glob_match
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:131,1
    - Dst: glob
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:132,1
    - Dst: _default_handler
      Src: /src/vlc/modules/demux/mkv/string_dispatcher.hpp:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' str'
    - ' payload'
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 142
    functionName: StringDispatcher::send
    functionSourceFile: /src/vlc/modules/demux/mkv/string_dispatcher.hpp
    functionUses: 0
    functionsReached:
    - ProcessorContainer::const_iterator::second
    - begin
    - StringDispatcher::find_glob_match
    - glob
    - end
    - _default_handler
    - find
    linkageType: ''
    returnType: bool
    signature: bool send (char const* const& str, void* const& payload) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: STRD_T0KENPASTE_
    functionSourceFile: /src/vlc/modules/demux/mkv/string_dispatcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRD_T0KENPASTE_(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    functionName: STRD_TOKENPASTE_
    functionSourceFile: /src/vlc/modules/demux/mkv/string_dispatcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRD_TOKENPASTE_(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ClassName_
    - ','
    - VariableName_
    - ','
    - InitializationExpr_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: STRING_CASE_DEF
    functionSourceFile: /src/vlc/modules/demux/mkv/string_dispatcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRING_CASE_DEF(ClassName_, VariableName_, InitializationExpr_ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - VariableName_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: S_CASE_DEFAULT
    functionSourceFile: /src/vlc/modules/demux/mkv/string_dispatcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_CASE_DEFAULT(VariableName_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - fptr_t
    - fptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: mkv::SegmentSeeker::Range
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Range (fptr_t start, fptr_t end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: operator<( Range const& rhs ) const
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<( Range const& rhs ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - fpos
    - pts
    argTypes:
    - fptr_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: mkv::SegmentSeeker::Seekpoint
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.hpp
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Seekpoint( fptr_t fpos, vlc_tick_t pts, TrustLevel trust_level
      = TRUSTED )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.hpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: mkv::SegmentSeeker::Seekpoint
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.hpp
    functionUses: 22
    functionsReached:
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: void
    signature: void Seekpoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Seekpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: operator<( Seekpoint const& rhs ) const
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<( Seekpoint const& rhs ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - fptr_t
    - fptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: mkv::SegmentSeeker::Range
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Range (fptr_t start, fptr_t end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: operator<( Range const& rhs ) const
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<( Range const& rhs ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - fpos
    - pts
    argTypes:
    - fptr_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: mkv::SegmentSeeker::Seekpoint
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.hpp
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Seekpoint( fptr_t fpos, vlc_tick_t pts, TrustLevel trust_level
      = TRUSTED )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/mkv/matroska_segment_seeker.hpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: mkv::SegmentSeeker::Seekpoint
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.hpp
    functionUses: 22
    functionsReached:
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: void
    signature: void Seekpoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - Seekpoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: operator<( Seekpoint const& rhs ) const
    functionSourceFile: /src/vlc/modules/demux/mkv/matroska_segment_seeker.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<( Seekpoint const& rhs ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: lzokay::get_le16
    functionSourceFile: /src/vlc/modules/demux/mkv/lzokay.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t get_le16(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: NEEDS_IN
    functionSourceFile: /src/vlc/modules/demux/mkv/lzokay.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEEDS_IN(count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: NEEDS_OUT
    functionSourceFile: /src/vlc/modules/demux/mkv/lzokay.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEEDS_OUT(count)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: NEEDS_IN
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:95,1
    - Dst: NEEDS_OUT
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:96,1
    - Dst: NEEDS_IN
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:107,1
    - Dst: NEEDS_OUT
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:108,1
    - Dst: NEEDS_IN
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:119,1
    - Dst: NEEDS_IN
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:137,1
    - Dst: std::size_t
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:139,1
    - Dst: std::size_t
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:150,1
    - Dst: NEEDS_IN
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:156,1
    - Dst: lzokay::get_le16
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:157,1
    - Dst: std::size_t
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:171,1
    - Dst: NEEDS_IN
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:177,1
    - Dst: lzokay::get_le16
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:178,1
    - Dst: NEEDS_IN
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:203,1
    - Dst: NEEDS_OUT
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:204,1
    - Dst: NEEDS_IN
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:223,1
    - Dst: NEEDS_IN
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:238,1
    - Dst: NEEDS_IN
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:248,1
    - Dst: NEEDS_OUT
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:249,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 92
    argCount: 5
    argNames:
    - src
    - src_size
    - dst
    - init_dst_size
    - ' dst_size'
    argTypes:
    - uint8_t*
    - std::size_t
    - uint8_t*
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 268
    functionName: lzokay::decompress
    functionSourceFile: /src/vlc/modules/demux/mkv/lzokay.cpp
    functionUses: 0
    functionsReached:
    - std::size_t
    - NEEDS_IN
    - NEEDS_OUT
    - lzokay::get_le16
    linkageType: ''
    returnType: EResult
    signature: "EResult decompress(const uint8_t* src, std::size_t src_size,\n                   uint8_t*
      dst, std::size_t init_dst_size,\n                   std::size_t& dst_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: lzokay::get_le16
    functionSourceFile: /src/vlc/modules/demux/mkv/lzokay.cpp
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t get_le16(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: NEEDS_IN
    functionSourceFile: /src/vlc/modules/demux/mkv/lzokay.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEEDS_IN(count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: NEEDS_OUT
    functionSourceFile: /src/vlc/modules/demux/mkv/lzokay.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEEDS_OUT(count)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: NEEDS_IN
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:95,1
    - Dst: NEEDS_OUT
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:96,1
    - Dst: NEEDS_IN
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:107,1
    - Dst: NEEDS_OUT
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:108,1
    - Dst: NEEDS_IN
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:119,1
    - Dst: NEEDS_IN
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:137,1
    - Dst: std::size_t
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:139,1
    - Dst: std::size_t
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:150,1
    - Dst: NEEDS_IN
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:156,1
    - Dst: lzokay::get_le16
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:157,1
    - Dst: std::size_t
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:171,1
    - Dst: NEEDS_IN
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:177,1
    - Dst: lzokay::get_le16
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:178,1
    - Dst: NEEDS_IN
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:203,1
    - Dst: NEEDS_OUT
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:204,1
    - Dst: NEEDS_IN
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:223,1
    - Dst: NEEDS_IN
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:238,1
    - Dst: NEEDS_IN
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:248,1
    - Dst: NEEDS_OUT
      Src: /src/vlc/modules/demux/mkv/lzokay.cpp:249,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 92
    argCount: 5
    argNames:
    - src
    - src_size
    - dst
    - init_dst_size
    - ' dst_size'
    argTypes:
    - uint8_t*
    - std::size_t
    - uint8_t*
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 268
    functionName: lzokay::decompress
    functionSourceFile: /src/vlc/modules/demux/mkv/lzokay.cpp
    functionUses: 0
    functionsReached:
    - std::size_t
    - NEEDS_IN
    - NEEDS_OUT
    - lzokay::get_le16
    linkageType: ''
    returnType: EResult
    signature: "EResult decompress(const uint8_t* src, std::size_t src_size,\n                   uint8_t*
      dst, std::size_t init_dst_size,\n                   std::size_t& dst_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/mkv/stream_io_callback.hpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: ~vlc_stream_io_callback()
    functionSourceFile: /src/vlc/modules/demux/mkv/stream_io_callback.hpp
    functionUses: 0
    functionsReached:
    - vlc_stream_Delete
    linkageType: ''
    returnType: void
    signature: void ~vlc_stream_io_callback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: mkv::vlc_stream_io_callback::IsEOF
    functionSourceFile: /src/vlc/modules/demux/mkv/stream_io_callback.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsEOF() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: mkv::vlc_stream_io_callback::close
    functionSourceFile: /src/vlc/modules/demux/mkv/stream_io_callback.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void close           ( void ) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' io'
    argTypes:
    - vlc_stream_io_callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: mkv::matroska_iostream_c::matroska_iostream_c
    functionSourceFile: /src/vlc/modules/demux/mkv/stream_io_callback.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void matroska_iostream_c(vlc_stream_io_callback & io)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vlc_stream_io_callback &>
      Src: /src/vlc/modules/demux/mkv/stream_io_callback.hpp:76,1
    - Dst: EbmlStream::I_O
      Src: /src/vlc/modules/demux/mkv/stream_io_callback.hpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: '& I_O()'
    functionSourceFile: /src/vlc/modules/demux/mkv/stream_io_callback.hpp
    functionUses: 0
    functionsReached:
    - static_cast<vlc_stream_io_callback &>
    - EbmlStream::I_O
    linkageType: ''
    returnType: vlc_stream_io_callback
    signature: vlc_stream_io_callback & I_O()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/mkv/stream_io_callback.hpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: ~vlc_stream_io_callback()
    functionSourceFile: /src/vlc/modules/demux/mkv/stream_io_callback.hpp
    functionUses: 0
    functionsReached:
    - vlc_stream_Delete
    linkageType: ''
    returnType: void
    signature: void ~vlc_stream_io_callback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: mkv::vlc_stream_io_callback::IsEOF
    functionSourceFile: /src/vlc/modules/demux/mkv/stream_io_callback.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsEOF() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: mkv::vlc_stream_io_callback::close
    functionSourceFile: /src/vlc/modules/demux/mkv/stream_io_callback.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void close           ( void ) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' io'
    argTypes:
    - vlc_stream_io_callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: mkv::matroska_iostream_c::matroska_iostream_c
    functionSourceFile: /src/vlc/modules/demux/mkv/stream_io_callback.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void matroska_iostream_c(vlc_stream_io_callback & io)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vlc_stream_io_callback &>
      Src: /src/vlc/modules/demux/mkv/stream_io_callback.hpp:76,1
    - Dst: EbmlStream::I_O
      Src: /src/vlc/modules/demux/mkv/stream_io_callback.hpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: '& I_O()'
    functionSourceFile: /src/vlc/modules/demux/mkv/stream_io_callback.hpp
    functionUses: 0
    functionsReached:
    - static_cast<vlc_stream_io_callback &>
    - EbmlStream::I_O
    linkageType: ''
    returnType: vlc_stream_io_callback
    signature: vlc_stream_io_callback & I_O()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_delete_all
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:39,1
    - Dst: vlc_delete_all
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: chapter_item_c::~chapter_item_c()
    functionSourceFile: /src/vlc/modules/demux/mkv/chapters.cpp
    functionUses: 0
    functionsReached:
    - vlc_delete_all
    linkageType: ''
    returnType: void
    signature: void chapter_item_c::~chapter_item_c()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: match
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - codec_id
    - match
    argTypes:
    - chapter_codec_id
    - chapter_cmd_match
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionName: mkv::chapter_item_c::BrowseCodecPrivate
    functionSourceFile: /src/vlc/modules/demux/mkv/chapters.cpp
    functionUses: 0
    functionsReached:
    - match
    linkageType: ''
    returnType: chapter_item_c
    signature: "chapter_item_c *chapter_item_c::BrowseCodecPrivate( chapter_codec_id
      codec_id,\n                                                    chapter_cmd_match
      match )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sub_chapters::size
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:62,1
    - Dst: mkv::chapter_item_c::FindChapter
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:64,1
    - Dst: chapter_item_c*::Append
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:67,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' chapter'
    argTypes:
    - chapter_item_c
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 74
    functionName: mkv::chapter_item_c::Append
    functionSourceFile: /src/vlc/modules/demux/mkv/chapters.cpp
    functionUses: 0
    functionsReached:
    - chapter_item_c*::Append
    - push_back
    - mkv::chapter_item_c::FindChapter
    - sub_chapters::size
    linkageType: ''
    returnType: void
    signature: void chapter_item_c::Append( const chapter_item_c & chapter )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:84,1
    - Dst: mkv::chapter_item_c::FindChapter
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - i_find_uid
    argTypes:
    - chapter_uid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: mkv::chapter_item_c::FindChapter
    functionSourceFile: /src/vlc/modules/demux/mkv/chapters.cpp
    functionUses: 2
    functionsReached:
    - size
    - mkv::chapter_item_c::FindChapter
    linkageType: ''
    returnType: chapter_item_c
    signature: chapter_item_c * chapter_item_c::FindChapter( chapter_uid i_find_uid
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mkv::chapter_item_c::GetCodecName
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:99,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - f_for_title
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 105
    functionName: mkv::chapter_item_c::GetCodecName
    functionSourceFile: /src/vlc/modules/demux/mkv/chapters.cpp
    functionUses: 1
    functionsReached:
    - mkv::chapter_item_c::GetCodecName
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string chapter_item_c::GetCodecName( bool f_for_title ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mkv::chapter_item_c::GetTitleNumber
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: mkv::chapter_item_c::GetTitleNumber
    functionSourceFile: /src/vlc/modules/demux/mkv/chapters.cpp
    functionUses: 1
    functionsReached:
    - mkv::chapter_item_c::GetTitleNumber
    linkageType: ''
    returnType: int16_t
    signature: int16_t chapter_item_c::GetTitleNumber( ) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:126,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:127,1
    - Dst: mkv::chapter_item_c::ParentOf
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' item'
    argTypes:
    - chapter_item_c
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 135
    functionName: mkv::chapter_item_c::ParentOf
    functionSourceFile: /src/vlc/modules/demux/mkv/chapters.cpp
    functionUses: 1
    functionsReached:
    - mkv::chapter_item_c::ParentOf
    - end
    - begin
    linkageType: ''
    returnType: bool
    signature: bool chapter_item_c::ParentOf( const chapter_item_c & item ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::count_if
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:143,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:143,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:143,1
    - Dst: std::mem_fn
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:144,1
    - Dst: count_if
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:150,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:150,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:150,1
    - Dst: std::bind
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:151,1
    - Dst: std::mem_fn
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - do_subs
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 156
    functionName: mkv::chapter_item_c::EnterLeaveHelper_
    functionSourceFile: /src/vlc/modules/demux/mkv/chapters.cpp
    functionUses: 0
    functionsReached:
    - std::mem_fn
    - begin
    - count_if
    - end
    - std::count_if
    - std::bind
    linkageType: ''
    returnType: bool
    signature: "bool chapter_item_c::EnterLeaveHelper_ ( bool do_subs,\n    bool (chapter_codec_cmds_c::*
      co_cb) (),\n    bool (chapter_item_c      ::* ch_cb) (bool)\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkv::chapter_item_c::EnterLeaveHelper_
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b_do_subs
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: mkv::chapter_item_c::Enter
    functionSourceFile: /src/vlc/modules/demux/mkv/chapters.cpp
    functionUses: 0
    functionsReached:
    - mkv::chapter_item_c::EnterLeaveHelper_
    linkageType: ''
    returnType: bool
    signature: bool chapter_item_c::Enter( bool b_do_subs )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkv::chapter_item_c::EnterLeaveHelper_
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - b_do_subs
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 177
    functionName: mkv::chapter_item_c::Leave
    functionSourceFile: /src/vlc/modules/demux/mkv/chapters.cpp
    functionUses: 0
    functionsReached:
    - mkv::chapter_item_c::EnterLeaveHelper_
    linkageType: ''
    returnType: bool
    signature: bool chapter_item_c::Leave( bool b_do_subs )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: chapter_item_c*::ParentOf
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:184,1
    - Dst: chapter_item_c*::Leave
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:186,1
    - Dst: mkv::chapter_item_c::Enter
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:197,1
    - Dst: chapter_item_c*::sub_chapters::size
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:199,1
    - Dst: mkv::chapter_item_c::ParentOf
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:201,1
    - Dst: chapter_item_c*::Enter
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:205,1
    - Dst: mkv::chapter_item_c::Enter
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:215,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 2
    argNames:
    - p_leaving_chapter
    - b_final_enter
    argTypes:
    - chapter_item_c*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 218
    functionName: mkv::chapter_item_c::EnterAndLeave
    functionSourceFile: /src/vlc/modules/demux/mkv/chapters.cpp
    functionUses: 0
    functionsReached:
    - chapter_item_c*::sub_chapters::size
    - mkv::chapter_item_c::ParentOf
    - chapter_item_c*::ParentOf
    - chapter_item_c*::Leave
    - chapter_item_c*::Enter
    - mkv::chapter_item_c::Enter
    linkageType: ''
    returnType: bool
    signature: bool chapter_item_c::EnterAndLeave( chapter_item_c *p_leaving_chapter,
      bool b_final_enter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:225,1
    - Dst: GetCodecName
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 230
    functionName: mkv::chapter_edition_c::GetMainName
    functionSourceFile: /src/vlc/modules/demux/mkv/chapters.cpp
    functionUses: 0
    functionsReached:
    - GetCodecName
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string chapter_edition_c::GetMainName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_delete_all
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:39,1
    - Dst: vlc_delete_all
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: chapter_item_c::~chapter_item_c()
    functionSourceFile: /src/vlc/modules/demux/mkv/chapters.cpp
    functionUses: 0
    functionsReached:
    - vlc_delete_all
    linkageType: ''
    returnType: void
    signature: void chapter_item_c::~chapter_item_c()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: match
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - codec_id
    - match
    argTypes:
    - chapter_codec_id
    - chapter_cmd_match
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionName: mkv::chapter_item_c::BrowseCodecPrivate
    functionSourceFile: /src/vlc/modules/demux/mkv/chapters.cpp
    functionUses: 0
    functionsReached:
    - match
    linkageType: ''
    returnType: chapter_item_c
    signature: "chapter_item_c *chapter_item_c::BrowseCodecPrivate( chapter_codec_id
      codec_id,\n                                                    chapter_cmd_match
      match )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sub_chapters::size
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:62,1
    - Dst: mkv::chapter_item_c::FindChapter
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:64,1
    - Dst: chapter_item_c*::Append
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:67,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' chapter'
    argTypes:
    - chapter_item_c
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 74
    functionName: mkv::chapter_item_c::Append
    functionSourceFile: /src/vlc/modules/demux/mkv/chapters.cpp
    functionUses: 0
    functionsReached:
    - chapter_item_c*::Append
    - push_back
    - mkv::chapter_item_c::FindChapter
    - sub_chapters::size
    linkageType: ''
    returnType: void
    signature: void chapter_item_c::Append( const chapter_item_c & chapter )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:84,1
    - Dst: mkv::chapter_item_c::FindChapter
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - i_find_uid
    argTypes:
    - chapter_uid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: mkv::chapter_item_c::FindChapter
    functionSourceFile: /src/vlc/modules/demux/mkv/chapters.cpp
    functionUses: 4
    functionsReached:
    - size
    - mkv::chapter_item_c::FindChapter
    linkageType: ''
    returnType: chapter_item_c
    signature: chapter_item_c * chapter_item_c::FindChapter( chapter_uid i_find_uid
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mkv::chapter_item_c::GetCodecName
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:99,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - f_for_title
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 105
    functionName: mkv::chapter_item_c::GetCodecName
    functionSourceFile: /src/vlc/modules/demux/mkv/chapters.cpp
    functionUses: 2
    functionsReached:
    - mkv::chapter_item_c::GetCodecName
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string chapter_item_c::GetCodecName( bool f_for_title ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mkv::chapter_item_c::GetTitleNumber
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: mkv::chapter_item_c::GetTitleNumber
    functionSourceFile: /src/vlc/modules/demux/mkv/chapters.cpp
    functionUses: 2
    functionsReached:
    - mkv::chapter_item_c::GetTitleNumber
    linkageType: ''
    returnType: int16_t
    signature: int16_t chapter_item_c::GetTitleNumber( ) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:126,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:127,1
    - Dst: mkv::chapter_item_c::ParentOf
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' item'
    argTypes:
    - chapter_item_c
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 135
    functionName: mkv::chapter_item_c::ParentOf
    functionSourceFile: /src/vlc/modules/demux/mkv/chapters.cpp
    functionUses: 3
    functionsReached:
    - mkv::chapter_item_c::ParentOf
    - end
    - begin
    linkageType: ''
    returnType: bool
    signature: bool chapter_item_c::ParentOf( const chapter_item_c & item ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::count_if
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:143,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:143,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:143,1
    - Dst: std::mem_fn
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:144,1
    - Dst: count_if
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:150,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:150,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:150,1
    - Dst: std::bind
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:151,1
    - Dst: std::mem_fn
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - do_subs
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 156
    functionName: mkv::chapter_item_c::EnterLeaveHelper_
    functionSourceFile: /src/vlc/modules/demux/mkv/chapters.cpp
    functionUses: 2
    functionsReached:
    - std::mem_fn
    - begin
    - count_if
    - end
    - std::count_if
    - std::bind
    linkageType: ''
    returnType: bool
    signature: "bool chapter_item_c::EnterLeaveHelper_ ( bool do_subs,\n    bool (chapter_codec_cmds_c::*
      co_cb) (),\n    bool (chapter_item_c      ::* ch_cb) (bool)\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkv::chapter_item_c::EnterLeaveHelper_
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b_do_subs
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: mkv::chapter_item_c::Enter
    functionSourceFile: /src/vlc/modules/demux/mkv/chapters.cpp
    functionUses: 1
    functionsReached:
    - mkv::chapter_item_c::EnterLeaveHelper_
    linkageType: ''
    returnType: bool
    signature: bool chapter_item_c::Enter( bool b_do_subs )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkv::chapter_item_c::EnterLeaveHelper_
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - b_do_subs
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 177
    functionName: mkv::chapter_item_c::Leave
    functionSourceFile: /src/vlc/modules/demux/mkv/chapters.cpp
    functionUses: 0
    functionsReached:
    - mkv::chapter_item_c::EnterLeaveHelper_
    linkageType: ''
    returnType: bool
    signature: bool chapter_item_c::Leave( bool b_do_subs )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: chapter_item_c*::ParentOf
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:184,1
    - Dst: chapter_item_c*::Leave
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:186,1
    - Dst: mkv::chapter_item_c::Enter
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:197,1
    - Dst: chapter_item_c*::sub_chapters::size
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:199,1
    - Dst: mkv::chapter_item_c::ParentOf
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:201,1
    - Dst: chapter_item_c*::Enter
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:205,1
    - Dst: mkv::chapter_item_c::Enter
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:215,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 2
    argNames:
    - p_leaving_chapter
    - b_final_enter
    argTypes:
    - chapter_item_c*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 218
    functionName: mkv::chapter_item_c::EnterAndLeave
    functionSourceFile: /src/vlc/modules/demux/mkv/chapters.cpp
    functionUses: 0
    functionsReached:
    - chapter_item_c*::sub_chapters::size
    - mkv::chapter_item_c::ParentOf
    - chapter_item_c*::ParentOf
    - chapter_item_c*::Leave
    - chapter_item_c*::Enter
    - mkv::chapter_item_c::Enter
    linkageType: ''
    returnType: bool
    signature: bool chapter_item_c::EnterAndLeave( chapter_item_c *p_leaving_chapter,
      bool b_final_enter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:225,1
    - Dst: GetCodecName
      Src: /src/vlc/modules/demux/mkv/chapters.cpp:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 230
    functionName: mkv::chapter_edition_c::GetMainName
    functionSourceFile: /src/vlc/modules/demux/mkv/chapters.cpp
    functionUses: 0
    functionsReached:
    - GetCodecName
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string chapter_edition_c::GetMainName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' id'
    - cb
    argTypes:
    - EbmlId
    - EbmlProcessor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: EbmlProcessorEntry
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EbmlProcessorEntry (EbmlId const& id, EbmlProcessor cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetLength
      Src: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp:52,1
    - Dst: GetLength
      Src: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp:52,1
    - Dst: GetLength
      Src: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp:53,1
    - Dst: GetLength
      Src: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp:53,1
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp:53,1
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - EbmlProcessorEntry
    - EbmlProcessorEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: operator<( EbmlProcessorEntry const& lhs, EbmlProcessorEntry const&
      rhs )
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp
    functionUses: 0
    functionsReached:
    - GetLength
    - GetValue
    linkageType: ''
    returnType: bool
    signature: bool operator<( EbmlProcessorEntry const& lhs, EbmlProcessorEntry const&
      rhs )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - EbmlProcessorEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: EbmlTypeDispatcher::insert
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void insert (EbmlProcessorEntry const& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp:67,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp:67,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: EbmlTypeDispatcher::on_create
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    - std::sort
    linkageType: ''
    returnType: void
    signature: void on_create ()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<EbmlId const&>
      Src: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp:75,1
    - Dst: cend
      Src: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp:81,1
    - Dst: std::lower_bound
      Src: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp:82,1
    - Dst: cbegin
      Src: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp:82,1
    - Dst: auto::callback
      Src: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp:89,1
    - Dst: _default_handler
      Src: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ' element'
    - payload
    argTypes:
    - EbmlElement*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 98
    functionName: EbmlTypeDispatcher::send
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp
    functionUses: 0
    functionsReached:
    - std::lower_bound
    - static_cast<EbmlId const&>
    - auto::callback
    - cend
    - cbegin
    - _default_handler
    linkageType: ''
    returnType: bool
    signature: bool send (EbmlElement * const& element, void* payload) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' id'
    - cb
    argTypes:
    - EbmlId
    - EbmlProcessor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: EbmlProcessorEntry
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EbmlProcessorEntry (EbmlId const& id, EbmlProcessor cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetLength
      Src: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp:52,1
    - Dst: GetLength
      Src: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp:52,1
    - Dst: GetLength
      Src: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp:53,1
    - Dst: GetLength
      Src: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp:53,1
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp:53,1
    - Dst: GetValue
      Src: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - EbmlProcessorEntry
    - EbmlProcessorEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: operator<( EbmlProcessorEntry const& lhs, EbmlProcessorEntry const&
      rhs )
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp
    functionUses: 0
    functionsReached:
    - GetLength
    - GetValue
    linkageType: ''
    returnType: bool
    signature: bool operator<( EbmlProcessorEntry const& lhs, EbmlProcessorEntry const&
      rhs )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - EbmlProcessorEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: EbmlTypeDispatcher::insert
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void insert (EbmlProcessorEntry const& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp:67,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp:67,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: EbmlTypeDispatcher::on_create
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    - std::sort
    linkageType: ''
    returnType: void
    signature: void on_create ()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<EbmlId const&>
      Src: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp:75,1
    - Dst: cend
      Src: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp:81,1
    - Dst: std::lower_bound
      Src: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp:82,1
    - Dst: cbegin
      Src: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp:82,1
    - Dst: auto::callback
      Src: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp:89,1
    - Dst: _default_handler
      Src: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ' element'
    - payload
    argTypes:
    - EbmlElement*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 98
    functionName: EbmlTypeDispatcher::send
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp
    functionUses: 0
    functionsReached:
    - std::lower_bound
    - static_cast<EbmlId const&>
    - auto::callback
    - cend
    - cbegin
    - _default_handler
    linkageType: ''
    returnType: bool
    signature: bool send (EbmlElement * const& element, void* payload) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - EbmlType_
    - ','
    - ClassName_
    - ','
    - VariableName_
    - ','
    - InitializationExpr_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: EBML_ELEMENT_CASE_DEF
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EBML_ELEMENT_CASE_DEF(EbmlType_, ClassName_, VariableName_, InitializationExpr_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - EbmlType_
    - ','
    - VariableName_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: E_CASE
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: E_CASE(EbmlType_, VariableName_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - VariableName_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: E_CASE_DEFAULT
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_dispatcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: E_CASE_DEFAULT(VariableName_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - reader_
    - reader_len_
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: mkv::ByteReader::ByteReader
    functionSourceFile: /src/vlc/modules/demux/mkv/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ByteReader(const uint8_t *reader_, size_t reader_len_)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: mkv::ByteReader::skip
    functionSourceFile: /src/vlc/modules/demux/mkv/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool skip(size_t bytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mkv/util.hpp:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: mkv::ByteReader::GetBE16
    functionSourceFile: /src/vlc/modules/demux/mkv/util.hpp
    functionUses: 0
    functionsReached:
    - GetWBE
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t GetBE16()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mkv/util.hpp:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 85
    functionName: mkv::ByteReader::GetBE32
    functionSourceFile: /src/vlc/modules/demux/mkv/util.hpp
    functionUses: 0
    functionsReached:
    - GetDWBE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t GetBE32()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: mkv::ByteReader::hasErrors
    functionSourceFile: /src/vlc/modules/demux/mkv/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasErrors() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - reader
    - reader_len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: mkv::Cook_PrivateTrackData::Cook_PrivateTrackData
    functionSourceFile: /src/vlc/modules/demux/mkv/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cook_PrivateTrackData(const uint8_t *reader, size_t reader_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - reader_
    - reader_len_
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: mkv::ByteReader::ByteReader
    functionSourceFile: /src/vlc/modules/demux/mkv/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ByteReader(const uint8_t *reader_, size_t reader_len_)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: mkv::ByteReader::skip
    functionSourceFile: /src/vlc/modules/demux/mkv/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool skip(size_t bytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mkv/util.hpp:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: mkv::ByteReader::GetBE16
    functionSourceFile: /src/vlc/modules/demux/mkv/util.hpp
    functionUses: 0
    functionsReached:
    - GetWBE
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t GetBE16()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mkv/util.hpp:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 85
    functionName: mkv::ByteReader::GetBE32
    functionSourceFile: /src/vlc/modules/demux/mkv/util.hpp
    functionUses: 0
    functionsReached:
    - GetDWBE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t GetBE32()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: mkv::ByteReader::hasErrors
    functionSourceFile: /src/vlc/modules/demux/mkv/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasErrors() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - reader
    - reader_len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: mkv::Cook_PrivateTrackData::Cook_PrivateTrackData
    functionSourceFile: /src/vlc/modules/demux/mkv/util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cook_PrivateTrackData(const uint8_t *reader, size_t reader_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/chapter_command_script_common.cpp:18,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/chapter_command_script_common.cpp:19,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/chapter_command_script_common.cpp:21,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_script_common.cpp:23,1
    - Dst: get_interpreter
      Src: /src/vlc/modules/demux/mkv/chapter_command_script_common.cpp:24,1
    - Dst: GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_script_common.cpp:24,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/chapter_command_script_common.cpp:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 29
    functionName: mkv::matroska_script_codec_common_c::Enter
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_script_common.cpp
    functionUses: 0
    functionsReached:
    - get_interpreter
    - GetSize
    - begin
    - vlc_debug
    - GetBuffer
    - end
    linkageType: ''
    returnType: bool
    signature: bool matroska_script_codec_common_c::Enter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/chapter_command_script_common.cpp:34,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/chapter_command_script_common.cpp:35,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/chapter_command_script_common.cpp:37,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_script_common.cpp:39,1
    - Dst: get_interpreter
      Src: /src/vlc/modules/demux/mkv/chapter_command_script_common.cpp:40,1
    - Dst: GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_script_common.cpp:40,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/chapter_command_script_common.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: mkv::matroska_script_codec_common_c::Leave
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_script_common.cpp
    functionUses: 0
    functionsReached:
    - get_interpreter
    - GetSize
    - begin
    - vlc_debug
    - GetBuffer
    - end
    linkageType: ''
    returnType: bool
    signature: bool matroska_script_codec_common_c::Leave()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/chapter_command_script_common.cpp:18,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/chapter_command_script_common.cpp:19,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/chapter_command_script_common.cpp:21,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_script_common.cpp:23,1
    - Dst: get_interpreter
      Src: /src/vlc/modules/demux/mkv/chapter_command_script_common.cpp:24,1
    - Dst: GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_script_common.cpp:24,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/chapter_command_script_common.cpp:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 29
    functionName: mkv::matroska_script_codec_common_c::Enter
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_script_common.cpp
    functionUses: 0
    functionsReached:
    - get_interpreter
    - GetSize
    - begin
    - vlc_debug
    - GetBuffer
    - end
    linkageType: ''
    returnType: bool
    signature: bool matroska_script_codec_common_c::Enter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/chapter_command_script_common.cpp:34,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/chapter_command_script_common.cpp:35,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/chapter_command_script_common.cpp:37,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_script_common.cpp:39,1
    - Dst: get_interpreter
      Src: /src/vlc/modules/demux/mkv/chapter_command_script_common.cpp:40,1
    - Dst: GetBuffer
      Src: /src/vlc/modules/demux/mkv/chapter_command_script_common.cpp:40,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/chapter_command_script_common.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: mkv::matroska_script_codec_common_c::Leave
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_script_common.cpp
    functionUses: 0
    functionsReached:
    - get_interpreter
    - GetSize
    - begin
    - vlc_debug
    - GetBuffer
    - end
    linkageType: ''
    returnType: bool
    signature: bool matroska_script_codec_common_c::Leave()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/demux.cpp:35,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/demux.cpp:37,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/demux.cpp:39,1
    - Dst: vlc_meta_Delete
      Src: /src/vlc/modules/demux/mkv/demux.cpp:41,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/demux.cpp:43,1
    - Dst: vlc_input_title_Delete
      Src: /src/vlc/modules/demux/mkv/demux.cpp:44,1
    - Dst: back
      Src: /src/vlc/modules/demux/mkv/demux.cpp:44,1
    - Dst: pop_back
      Src: /src/vlc/modules/demux/mkv/demux.cpp:44,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: demux_sys_t::~demux_sys_t()
    functionSourceFile: /src/vlc/modules/demux/mkv/demux.cpp
    functionUses: 0
    functionsReached:
    - vlc_meta_Delete
    - vlc_input_title_Delete
    - back
    - size
    - pop_back
    linkageType: ''
    returnType: void
    signature: void demux_sys_t::~demux_sys_t()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: matroska_stream_c*::estream::FindNextID
      Src: /src/vlc/modules/demux/mkv/demux.cpp:55,1
    - Dst: EBML_INFO
      Src: /src/vlc/modules/demux/mkv/demux.cpp:55,1
    - Dst: EbmlElement*::IsDummy
      Src: /src/vlc/modules/demux/mkv/demux.cpp:56,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/demux.cpp:58,1
    - Dst: EbmlElement*::Read
      Src: /src/vlc/modules/demux/mkv/demux.cpp:67,1
    - Dst: EBML_CLASS_CONTEXT
      Src: /src/vlc/modules/demux/mkv/demux.cpp:67,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mkv/demux.cpp:70,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/demux.cpp:76,1
    - Dst: GetChild<EDocType>
      Src: /src/vlc/modules/demux/mkv/demux.cpp:81,1
    - Dst: static_cast<EbmlHead*>
      Src: /src/vlc/modules/demux/mkv/demux.cpp:81,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/mkv/demux.cpp:82,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/mkv/demux.cpp:82,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/demux.cpp:84,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/mkv/demux.cpp:84,1
    - Dst: GetChild<EDocTypeReadVersion>
      Src: /src/vlc/modules/demux/mkv/demux.cpp:89,1
    - Dst: static_cast<EbmlHead*>
      Src: /src/vlc/modules/demux/mkv/demux.cpp:89,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/demux.cpp:92,1
    - Dst: matroska_stream_c*::estream::FindNextID
      Src: /src/vlc/modules/demux/mkv/demux.cpp:101,1
    - Dst: EBML_INFO
      Src: /src/vlc/modules/demux/mkv/demux.cpp:101,1
    - Dst: EbmlElement*::IsDummy
      Src: /src/vlc/modules/demux/mkv/demux.cpp:102,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/demux.cpp:104,1
    - Dst: MKV_IS_ID
      Src: /src/vlc/modules/demux/mkv/demux.cpp:113,1
    - Dst: matroska_segment_c::matroska_segment_c
      Src: /src/vlc/modules/demux/mkv/demux.cpp:115,1
    - Dst: matroska_segment_c*::Preload
      Src: /src/vlc/modules/demux/mkv/demux.cpp:117,1
    - Dst: mkv::demux_sys_t::SegmentIsOpened
      Src: /src/vlc/modules/demux/mkv/demux.cpp:120,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/mkv/demux.cpp:122,1
    - Dst: matroska_stream_c*::segments::push_back
      Src: /src/vlc/modules/demux/mkv/demux.cpp:124,1
    - Dst: EbmlElement*::IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/demux.cpp:140,1
    - Dst: EbmlElement*::SkipData
      Src: /src/vlc/modules/demux/mkv/demux.cpp:142,1
    - Dst: matroska_stream_c*::estream::FindNextID
      Src: /src/vlc/modules/demux/mkv/demux.cpp:143,1
    - Dst: EBML_INFO
      Src: /src/vlc/modules/demux/mkv/demux.cpp:143,1
    - Dst: EbmlElement*::IsDummy
      Src: /src/vlc/modules/demux/mkv/demux.cpp:144,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 66
    argCount: 2
    argNames:
    - p_demux
    - p_stream1
    argTypes:
    - demux_t*
    - matroska_stream_c*
    assertStmts:
    - condition: (el != nullptr)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/vlc/modules/demux/mkv/demux.cpp
    constantsTouched: []
    func_position:
      end: 163
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 163
    functionName: mkv::demux_sys_t::AnalyseAllSegmentsFound
    functionSourceFile: /src/vlc/modules/demux/mkv/demux.cpp
    functionUses: 0
    functionsReached:
    - assert
    - EbmlElement*::IsDummy
    - matroska_segment_c::matroska_segment_c
    - GetChild<EDocTypeReadVersion>
    - mkv::demux_sys_t::SegmentIsOpened
    - EBML_INFO
    - static_cast<EbmlHead*>
    - matroska_stream_c*::segments::push_back
    - MKV_IS_ID
    - push_back
    - msg_Err
    - GetChild<EDocType>
    - matroska_segment_c*::Preload
    - EbmlElement*::IsFiniteSize
    - EbmlElement*::Read
    - EbmlElement*::SkipData
    - matroska_stream_c*::estream::FindNextID
    - std::string
    - EBML_CLASS_CONTEXT
    linkageType: ''
    returnType: bool
    signature: bool demux_sys_t::AnalyseAllSegmentsFound( demux_t *p_demux, matroska_stream_c
      *p_stream1 )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/demux.cpp:167,1
    - Dst: mkv::demux_sys_t::PreloadFamily
      Src: /src/vlc/modules/demux/mkv/demux.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' of_segment'
    argTypes:
    - matroska_segment_c
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: mkv::demux_sys_t::PreloadFamily
    functionSourceFile: /src/vlc/modules/demux/mkv/demux.cpp
    functionUses: 1
    functionsReached:
    - size
    - mkv::demux_sys_t::PreloadFamily
    linkageType: ''
    returnType: void
    signature: void demux_sys_t::PreloadFamily( const matroska_segment_c & of_segment
      )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/demux.cpp:179,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/demux.cpp:179,1
    - Dst: virtual_segment_c::virtual_segment_c
      Src: /src/vlc/modules/demux/mkv/demux.cpp:182,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/demux.cpp:186,1
    - Dst: CurrentEdition
      Src: /src/vlc/modules/demux/mkv/demux.cpp:186,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/demux.cpp:193,1
    - Dst: CurrentChapter
      Src: /src/vlc/modules/demux/mkv/demux.cpp:193,1
    - Dst: CurrentChapter
      Src: /src/vlc/modules/demux/mkv/demux.cpp:193,1
    - Dst: CurrentChapter
      Src: /src/vlc/modules/demux/mkv/demux.cpp:194,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/mkv/demux.cpp:196,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/demux.cpp:198,1
    - Dst: SameFamily
      Src: /src/vlc/modules/demux/mkv/demux.cpp:201,1
    - Dst: virtual_segment_c::virtual_segment_c
      Src: /src/vlc/modules/demux/mkv/demux.cpp:203,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mkv/demux.cpp:204,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/mkv/demux.cpp:205,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/demux.cpp:210,1
    - Dst: virtual_segment_c*::Editions
      Src: /src/vlc/modules/demux/mkv/demux.cpp:213,1
    - Dst: virtual_segment_c*::Editions
      Src: /src/vlc/modules/demux/mkv/demux.cpp:215,1
    - Dst: virtual_segment_c*::Editions
      Src: /src/vlc/modules/demux/mkv/demux.cpp:217,1
    - Dst: vlc_input_title_New
      Src: /src/vlc/modules/demux/mkv/demux.cpp:218,1
    - Dst: virtual_edition_c*::GetMainName
      Src: /src/vlc/modules/demux/mkv/demux.cpp:224,1
    - Dst: auto::length
      Src: /src/vlc/modules/demux/mkv/demux.cpp:225,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/demux.cpp:226,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/demux/mkv/demux.cpp:226,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/demux.cpp:237,1
    - Dst: simple_tags::size
      Src: /src/vlc/modules/demux/mkv/demux.cpp:240,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/demux.cpp:245,1
    - Dst: value::c_str
      Src: /src/vlc/modules/demux/mkv/demux.cpp:245,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/demux.cpp:246,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/demux.cpp:247,1
    - Dst: value::c_str
      Src: /src/vlc/modules/demux/mkv/demux.cpp:247,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/mkv/demux.cpp:254,1
    - Dst: virtual_edition_c*::PublishChapters
      Src: /src/vlc/modules/demux/mkv/demux.cpp:261,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/mkv/demux.cpp:266,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 275
    functionName: mkv::demux_sys_t::PreloadLinked
    functionSourceFile: /src/vlc/modules/demux/mkv/demux.cpp
    functionUses: 0
    functionsReached:
    - SameFamily
    - simple_tags::size
    - virtual_edition_c*::PublishChapters
    - CurrentChapter
    - asprintf
    - auto::length
    - push_back
    - CurrentEdition
    - value::c_str
    - size
    - vlc_input_title_New
    - msg_Dbg
    - virtual_edition_c*::GetMainName
    - strdup
    - likely
    - auto::c_str
    - virtual_segment_c::virtual_segment_c
    - free
    - virtual_segment_c*::Editions
    - unlikely
    linkageType: ''
    returnType: bool
    signature: bool demux_sys_t::PreloadLinked()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::remove_if
      Src: /src/vlc/modules/demux/mkv/demux.cpp:279,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/demux.cpp:279,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/demux.cpp:279,1
    - Dst: isUsed
      Src: /src/vlc/modules/demux/mkv/demux.cpp:280,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/demux.cpp:282,1
    - Dst: erase
      Src: /src/vlc/modules/demux/mkv/demux.cpp:284,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/demux.cpp:284,1
    - Dst: std::remove_if
      Src: /src/vlc/modules/demux/mkv/demux.cpp:286,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/demux.cpp:286,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/demux.cpp:286,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/demux.cpp:290,1
    - Dst: erase
      Src: /src/vlc/modules/demux/mkv/demux.cpp:292,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/demux.cpp:292,1
    - Dst: empty
      Src: /src/vlc/modules/demux/mkv/demux.cpp:294,1
    - Dst: empty
      Src: /src/vlc/modules/demux/mkv/demux.cpp:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 295
    functionName: mkv::demux_sys_t::FreeUnused
    functionSourceFile: /src/vlc/modules/demux/mkv/demux.cpp
    functionUses: 0
    functionsReached:
    - erase
    - isUsed
    - begin
    - empty
    - end
    - std::remove_if
    linkageType: ''
    returnType: bool
    signature: bool demux_sys_t::FreeUnused()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CurrentSegment
      Src: /src/vlc/modules/demux/mkv/demux.cpp:299,1
    - Dst: CurrentSegment
      Src: /src/vlc/modules/demux/mkv/demux.cpp:304,1
    - Dst: CurrentSegment
      Src: /src/vlc/modules/demux/mkv/demux.cpp:305,1
    - Dst: CurrentSegment
      Src: /src/vlc/modules/demux/mkv/demux.cpp:308,1
    - Dst: CurrentSegment
      Src: /src/vlc/modules/demux/mkv/demux.cpp:311,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/demux.cpp:312,1
    - Dst: CurrentSegment
      Src: /src/vlc/modules/demux/mkv/demux.cpp:312,1
    - Dst: Duration
      Src: /src/vlc/modules/demux/mkv/demux.cpp:314,1
    - Dst: CurrentSegment
      Src: /src/vlc/modules/demux/mkv/demux.cpp:317,1
    - Dst: CurrentSegment
      Src: /src/vlc/modules/demux/mkv/demux.cpp:318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' new_vsegment'
    argTypes:
    - virtual_segment_c
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 321
    functionName: mkv::demux_sys_t::PreparePlayback
    functionSourceFile: /src/vlc/modules/demux/mkv/demux.cpp
    functionUses: 0
    functionsReached:
    - Duration
    - CurrentSegment
    - msg_Warn
    linkageType: ''
    returnType: bool
    signature: bool demux_sys_t::PreparePlayback( virtual_segment_c & new_vsegment
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p_chapter::Enter
      Src: /src/vlc/modules/demux/mkv/demux.cpp:325,1
    - Dst: Seek
      Src: /src/vlc/modules/demux/mkv/demux.cpp:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' vsegment'
    - ' vchapter'
    argTypes:
    - virtual_segment_c
    - virtual_chapter_c
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 330
    functionName: mkv::demux_sys_t::JumpTo
    functionSourceFile: /src/vlc/modules/demux/mkv/demux.cpp
    functionUses: 0
    functionsReached:
    - Seek
    - p_chapter::Enter
    linkageType: ''
    returnType: void
    signature: void demux_sys_t::JumpTo( virtual_segment_c & vsegment, virtual_chapter_c
      & vchapter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/demux.cpp:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' uid'
    argTypes:
    - EbmlBinary
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: mkv::demux_sys_t::SegmentIsOpened
    functionSourceFile: /src/vlc/modules/demux/mkv/demux.cpp
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool demux_sys_t::SegmentIsOpened( const EbmlBinary & uid ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/demux.cpp:347,1
    - Dst: mkv::demux_sys_t::BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/demux.cpp:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - codec_id
    - match
    - p_vsegment_found
    argTypes:
    - chapter_codec_id
    - chapter_cmd_match
    - virtual_segment_c*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 357
    functionName: mkv::demux_sys_t::BrowseCodecPrivate
    functionSourceFile: /src/vlc/modules/demux/mkv/demux.cpp
    functionUses: 1
    functionsReached:
    - size
    - mkv::demux_sys_t::BrowseCodecPrivate
    linkageType: ''
    returnType: virtual_chapter_c
    signature: "virtual_chapter_c *demux_sys_t::BrowseCodecPrivate( chapter_codec_id
      codec_id,\n                                                    chapter_cmd_match
      match,\n                                                    virtual_segment_c
      * &p_vsegment_found )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/demux.cpp:362,1
    - Dst: FindChapter
      Src: /src/vlc/modules/demux/mkv/demux.cpp:364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - i_find_uid
    - ' p_vsegment_found'
    argTypes:
    - chapter_uid
    - virtual_segment_c*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 372
    functionName: mkv::demux_sys_t::FindVChapter
    functionSourceFile: /src/vlc/modules/demux/mkv/demux.cpp
    functionUses: 0
    functionsReached:
    - FindChapter
    - size
    linkageType: ''
    returnType: virtual_chapter_c
    signature: virtual_chapter_c *demux_sys_t::FindVChapter( chapter_uid i_find_uid,
      virtual_segment_c * & p_vsegment_found )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkv::demux_sys_t::SetHighlight
      Src: /src/vlc/modules/demux/mkv/demux.cpp:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' spu_hl'
    argTypes:
    - vlc_spu_highlight_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 377
    functionName: mkv::demux_sys_t::SetHighlight
    functionSourceFile: /src/vlc/modules/demux/mkv/demux.cpp
    functionUses: 1
    functionsReached:
    - mkv::demux_sys_t::SetHighlight
    linkageType: ''
    returnType: void
    signature: void demux_sys_t::SetHighlight( vlc_spu_highlight_t & spu_hl )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/demux.cpp:35,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/demux.cpp:37,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/demux.cpp:39,1
    - Dst: vlc_meta_Delete
      Src: /src/vlc/modules/demux/mkv/demux.cpp:41,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/demux.cpp:43,1
    - Dst: vlc_input_title_Delete
      Src: /src/vlc/modules/demux/mkv/demux.cpp:44,1
    - Dst: back
      Src: /src/vlc/modules/demux/mkv/demux.cpp:44,1
    - Dst: pop_back
      Src: /src/vlc/modules/demux/mkv/demux.cpp:44,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: demux_sys_t::~demux_sys_t()
    functionSourceFile: /src/vlc/modules/demux/mkv/demux.cpp
    functionUses: 0
    functionsReached:
    - vlc_meta_Delete
    - vlc_input_title_Delete
    - back
    - size
    - pop_back
    linkageType: ''
    returnType: void
    signature: void demux_sys_t::~demux_sys_t()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: matroska_stream_c*::estream::FindNextID
      Src: /src/vlc/modules/demux/mkv/demux.cpp:55,1
    - Dst: EBML_INFO
      Src: /src/vlc/modules/demux/mkv/demux.cpp:55,1
    - Dst: EbmlElement*::IsDummy
      Src: /src/vlc/modules/demux/mkv/demux.cpp:56,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/demux.cpp:58,1
    - Dst: EbmlElement*::Read
      Src: /src/vlc/modules/demux/mkv/demux.cpp:67,1
    - Dst: EBML_CLASS_CONTEXT
      Src: /src/vlc/modules/demux/mkv/demux.cpp:67,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mkv/demux.cpp:70,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/demux.cpp:76,1
    - Dst: GetChild<EDocType>
      Src: /src/vlc/modules/demux/mkv/demux.cpp:81,1
    - Dst: static_cast<EbmlHead*>
      Src: /src/vlc/modules/demux/mkv/demux.cpp:81,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/mkv/demux.cpp:82,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/mkv/demux.cpp:82,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/demux.cpp:84,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/mkv/demux.cpp:84,1
    - Dst: GetChild<EDocTypeReadVersion>
      Src: /src/vlc/modules/demux/mkv/demux.cpp:89,1
    - Dst: static_cast<EbmlHead*>
      Src: /src/vlc/modules/demux/mkv/demux.cpp:89,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/demux.cpp:92,1
    - Dst: matroska_stream_c*::estream::FindNextID
      Src: /src/vlc/modules/demux/mkv/demux.cpp:101,1
    - Dst: EBML_INFO
      Src: /src/vlc/modules/demux/mkv/demux.cpp:101,1
    - Dst: EbmlElement*::IsDummy
      Src: /src/vlc/modules/demux/mkv/demux.cpp:102,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/demux.cpp:104,1
    - Dst: MKV_IS_ID
      Src: /src/vlc/modules/demux/mkv/demux.cpp:113,1
    - Dst: matroska_segment_c::matroska_segment_c
      Src: /src/vlc/modules/demux/mkv/demux.cpp:115,1
    - Dst: matroska_segment_c*::Preload
      Src: /src/vlc/modules/demux/mkv/demux.cpp:117,1
    - Dst: mkv::demux_sys_t::SegmentIsOpened
      Src: /src/vlc/modules/demux/mkv/demux.cpp:120,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/mkv/demux.cpp:122,1
    - Dst: matroska_stream_c*::segments::push_back
      Src: /src/vlc/modules/demux/mkv/demux.cpp:124,1
    - Dst: EbmlElement*::IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/demux.cpp:140,1
    - Dst: EbmlElement*::SkipData
      Src: /src/vlc/modules/demux/mkv/demux.cpp:142,1
    - Dst: matroska_stream_c*::estream::FindNextID
      Src: /src/vlc/modules/demux/mkv/demux.cpp:143,1
    - Dst: EBML_INFO
      Src: /src/vlc/modules/demux/mkv/demux.cpp:143,1
    - Dst: EbmlElement*::IsDummy
      Src: /src/vlc/modules/demux/mkv/demux.cpp:144,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 66
    argCount: 2
    argNames:
    - p_demux
    - p_stream1
    argTypes:
    - demux_t*
    - matroska_stream_c*
    assertStmts:
    - condition: (el != nullptr)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/vlc/modules/demux/mkv/demux.cpp
    constantsTouched: []
    func_position:
      end: 163
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 163
    functionName: mkv::demux_sys_t::AnalyseAllSegmentsFound
    functionSourceFile: /src/vlc/modules/demux/mkv/demux.cpp
    functionUses: 0
    functionsReached:
    - assert
    - EbmlElement*::IsDummy
    - matroska_segment_c::matroska_segment_c
    - GetChild<EDocTypeReadVersion>
    - mkv::demux_sys_t::SegmentIsOpened
    - EBML_INFO
    - static_cast<EbmlHead*>
    - matroska_stream_c*::segments::push_back
    - MKV_IS_ID
    - push_back
    - msg_Err
    - GetChild<EDocType>
    - matroska_segment_c*::Preload
    - EbmlElement*::IsFiniteSize
    - EbmlElement*::Read
    - EbmlElement*::SkipData
    - matroska_stream_c*::estream::FindNextID
    - std::string
    - EBML_CLASS_CONTEXT
    linkageType: ''
    returnType: bool
    signature: bool demux_sys_t::AnalyseAllSegmentsFound( demux_t *p_demux, matroska_stream_c
      *p_stream1 )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/demux.cpp:167,1
    - Dst: mkv::demux_sys_t::PreloadFamily
      Src: /src/vlc/modules/demux/mkv/demux.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' of_segment'
    argTypes:
    - matroska_segment_c
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: mkv::demux_sys_t::PreloadFamily
    functionSourceFile: /src/vlc/modules/demux/mkv/demux.cpp
    functionUses: 2
    functionsReached:
    - size
    - mkv::demux_sys_t::PreloadFamily
    linkageType: ''
    returnType: void
    signature: void demux_sys_t::PreloadFamily( const matroska_segment_c & of_segment
      )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/demux.cpp:179,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/demux.cpp:179,1
    - Dst: virtual_segment_c::virtual_segment_c
      Src: /src/vlc/modules/demux/mkv/demux.cpp:182,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/demux.cpp:186,1
    - Dst: CurrentEdition
      Src: /src/vlc/modules/demux/mkv/demux.cpp:186,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/demux.cpp:193,1
    - Dst: CurrentChapter
      Src: /src/vlc/modules/demux/mkv/demux.cpp:193,1
    - Dst: CurrentChapter
      Src: /src/vlc/modules/demux/mkv/demux.cpp:193,1
    - Dst: CurrentChapter
      Src: /src/vlc/modules/demux/mkv/demux.cpp:194,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/mkv/demux.cpp:196,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/demux.cpp:198,1
    - Dst: SameFamily
      Src: /src/vlc/modules/demux/mkv/demux.cpp:201,1
    - Dst: virtual_segment_c::virtual_segment_c
      Src: /src/vlc/modules/demux/mkv/demux.cpp:203,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mkv/demux.cpp:204,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/mkv/demux.cpp:205,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/demux.cpp:210,1
    - Dst: virtual_segment_c*::Editions
      Src: /src/vlc/modules/demux/mkv/demux.cpp:213,1
    - Dst: virtual_segment_c*::Editions
      Src: /src/vlc/modules/demux/mkv/demux.cpp:215,1
    - Dst: virtual_segment_c*::Editions
      Src: /src/vlc/modules/demux/mkv/demux.cpp:217,1
    - Dst: vlc_input_title_New
      Src: /src/vlc/modules/demux/mkv/demux.cpp:218,1
    - Dst: virtual_edition_c*::GetMainName
      Src: /src/vlc/modules/demux/mkv/demux.cpp:224,1
    - Dst: auto::length
      Src: /src/vlc/modules/demux/mkv/demux.cpp:225,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/demux.cpp:226,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/demux/mkv/demux.cpp:226,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/demux.cpp:237,1
    - Dst: simple_tags::size
      Src: /src/vlc/modules/demux/mkv/demux.cpp:240,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/demux.cpp:245,1
    - Dst: value::c_str
      Src: /src/vlc/modules/demux/mkv/demux.cpp:245,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/demux.cpp:246,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/demux.cpp:247,1
    - Dst: value::c_str
      Src: /src/vlc/modules/demux/mkv/demux.cpp:247,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/mkv/demux.cpp:254,1
    - Dst: virtual_edition_c*::PublishChapters
      Src: /src/vlc/modules/demux/mkv/demux.cpp:261,1
    - Dst: push_back
      Src: /src/vlc/modules/demux/mkv/demux.cpp:266,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 275
    functionName: mkv::demux_sys_t::PreloadLinked
    functionSourceFile: /src/vlc/modules/demux/mkv/demux.cpp
    functionUses: 0
    functionsReached:
    - SameFamily
    - simple_tags::size
    - virtual_edition_c*::PublishChapters
    - CurrentChapter
    - asprintf
    - auto::length
    - push_back
    - CurrentEdition
    - value::c_str
    - size
    - vlc_input_title_New
    - msg_Dbg
    - virtual_edition_c*::GetMainName
    - strdup
    - likely
    - auto::c_str
    - virtual_segment_c::virtual_segment_c
    - free
    - virtual_segment_c*::Editions
    - unlikely
    linkageType: ''
    returnType: bool
    signature: bool demux_sys_t::PreloadLinked()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::remove_if
      Src: /src/vlc/modules/demux/mkv/demux.cpp:279,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/demux.cpp:279,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/demux.cpp:279,1
    - Dst: isUsed
      Src: /src/vlc/modules/demux/mkv/demux.cpp:280,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/demux.cpp:282,1
    - Dst: erase
      Src: /src/vlc/modules/demux/mkv/demux.cpp:284,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/demux.cpp:284,1
    - Dst: std::remove_if
      Src: /src/vlc/modules/demux/mkv/demux.cpp:286,1
    - Dst: begin
      Src: /src/vlc/modules/demux/mkv/demux.cpp:286,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/demux.cpp:286,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/demux.cpp:290,1
    - Dst: erase
      Src: /src/vlc/modules/demux/mkv/demux.cpp:292,1
    - Dst: end
      Src: /src/vlc/modules/demux/mkv/demux.cpp:292,1
    - Dst: empty
      Src: /src/vlc/modules/demux/mkv/demux.cpp:294,1
    - Dst: empty
      Src: /src/vlc/modules/demux/mkv/demux.cpp:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 295
    functionName: mkv::demux_sys_t::FreeUnused
    functionSourceFile: /src/vlc/modules/demux/mkv/demux.cpp
    functionUses: 0
    functionsReached:
    - erase
    - isUsed
    - begin
    - empty
    - end
    - std::remove_if
    linkageType: ''
    returnType: bool
    signature: bool demux_sys_t::FreeUnused()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CurrentSegment
      Src: /src/vlc/modules/demux/mkv/demux.cpp:299,1
    - Dst: CurrentSegment
      Src: /src/vlc/modules/demux/mkv/demux.cpp:304,1
    - Dst: CurrentSegment
      Src: /src/vlc/modules/demux/mkv/demux.cpp:305,1
    - Dst: CurrentSegment
      Src: /src/vlc/modules/demux/mkv/demux.cpp:308,1
    - Dst: CurrentSegment
      Src: /src/vlc/modules/demux/mkv/demux.cpp:311,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/demux.cpp:312,1
    - Dst: CurrentSegment
      Src: /src/vlc/modules/demux/mkv/demux.cpp:312,1
    - Dst: Duration
      Src: /src/vlc/modules/demux/mkv/demux.cpp:314,1
    - Dst: CurrentSegment
      Src: /src/vlc/modules/demux/mkv/demux.cpp:317,1
    - Dst: CurrentSegment
      Src: /src/vlc/modules/demux/mkv/demux.cpp:318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' new_vsegment'
    argTypes:
    - virtual_segment_c
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 321
    functionName: mkv::demux_sys_t::PreparePlayback
    functionSourceFile: /src/vlc/modules/demux/mkv/demux.cpp
    functionUses: 0
    functionsReached:
    - Duration
    - CurrentSegment
    - msg_Warn
    linkageType: ''
    returnType: bool
    signature: bool demux_sys_t::PreparePlayback( virtual_segment_c & new_vsegment
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p_chapter::Enter
      Src: /src/vlc/modules/demux/mkv/demux.cpp:325,1
    - Dst: Seek
      Src: /src/vlc/modules/demux/mkv/demux.cpp:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' vsegment'
    - ' vchapter'
    argTypes:
    - virtual_segment_c
    - virtual_chapter_c
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 330
    functionName: mkv::demux_sys_t::JumpTo
    functionSourceFile: /src/vlc/modules/demux/mkv/demux.cpp
    functionUses: 0
    functionsReached:
    - Seek
    - p_chapter::Enter
    linkageType: ''
    returnType: void
    signature: void demux_sys_t::JumpTo( virtual_segment_c & vsegment, virtual_chapter_c
      & vchapter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/demux.cpp:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' uid'
    argTypes:
    - EbmlBinary
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: mkv::demux_sys_t::SegmentIsOpened
    functionSourceFile: /src/vlc/modules/demux/mkv/demux.cpp
    functionUses: 2
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool demux_sys_t::SegmentIsOpened( const EbmlBinary & uid ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/demux.cpp:347,1
    - Dst: mkv::demux_sys_t::BrowseCodecPrivate
      Src: /src/vlc/modules/demux/mkv/demux.cpp:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - codec_id
    - match
    - p_vsegment_found
    argTypes:
    - chapter_codec_id
    - chapter_cmd_match
    - virtual_segment_c*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 357
    functionName: mkv::demux_sys_t::BrowseCodecPrivate
    functionSourceFile: /src/vlc/modules/demux/mkv/demux.cpp
    functionUses: 2
    functionsReached:
    - size
    - mkv::demux_sys_t::BrowseCodecPrivate
    linkageType: ''
    returnType: virtual_chapter_c
    signature: "virtual_chapter_c *demux_sys_t::BrowseCodecPrivate( chapter_codec_id
      codec_id,\n                                                    chapter_cmd_match
      match,\n                                                    virtual_segment_c
      * &p_vsegment_found )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/demux.cpp:362,1
    - Dst: FindChapter
      Src: /src/vlc/modules/demux/mkv/demux.cpp:364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - i_find_uid
    - ' p_vsegment_found'
    argTypes:
    - chapter_uid
    - virtual_segment_c*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 372
    functionName: mkv::demux_sys_t::FindVChapter
    functionSourceFile: /src/vlc/modules/demux/mkv/demux.cpp
    functionUses: 0
    functionsReached:
    - FindChapter
    - size
    linkageType: ''
    returnType: virtual_chapter_c
    signature: virtual_chapter_c *demux_sys_t::FindVChapter( chapter_uid i_find_uid,
      virtual_segment_c * & p_vsegment_found )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkv::demux_sys_t::SetHighlight
      Src: /src/vlc/modules/demux/mkv/demux.cpp:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' spu_hl'
    argTypes:
    - vlc_spu_highlight_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 377
    functionName: mkv::demux_sys_t::SetHighlight
    functionSourceFile: /src/vlc/modules/demux/mkv/demux.cpp
    functionUses: 2
    functionsReached:
    - mkv::demux_sys_t::SetHighlight
    linkageType: ''
    returnType: void
    signature: void demux_sys_t::SetHighlight( vlc_spu_highlight_t & spu_hl )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:39,1
    - Dst: memset
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - es
    - el_start
    - p_demux
    argTypes:
    - matroska_iostream_c*
    - EbmlElement*
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: mkv::EbmlParser::EbmlParser
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_parser.cpp
    functionUses: 0
    functionsReached:
    - var_InheritBool
    - memset
    linkageType: ''
    returnType: void
    signature: void EbmlParser::EbmlParser( matroska_iostream_c *es, EbmlElement *el_start,
      demux_t *p_demux )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( !mb_keep )
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/vlc/modules/demux/mkv/Ebml_parser.cpp
    constantsTouched: []
    func_position:
      end: 62
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 62
    functionName: EbmlParser::~EbmlParser( void )
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_parser.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void EbmlParser::~EbmlParser( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkv::EbmlParser::~EbmlParser
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:66,1
    - Dst: static_cast<void*>
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:68,1
    - Dst: EbmlParser::EbmlParser
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - es
    - el_start
    - p_demux
    argTypes:
    - matroska_iostream_c*
    - EbmlElement*
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: mkv::EbmlParser::reconstruct
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_parser.cpp
    functionUses: 0
    functionsReached:
    - mkv::EbmlParser::~EbmlParser
    - static_cast<void*>
    - EbmlParser::EbmlParser
    linkageType: ''
    returnType: void
    signature: void EbmlParser::reconstruct( matroska_iostream_c* es, EbmlElement*
      el_start, demux_t* p_demux )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:75,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (mi_user_level != 0)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/vlc/modules/demux/mkv/Ebml_parser.cpp
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: mkv::EbmlParser::Up
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_parser.cpp
    functionUses: 0
    functionsReached:
    - assert
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: void EbmlParser::Up( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_el[mi_level] != nullptr)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/vlc/modules/demux/mkv/Ebml_parser.cpp
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: mkv::EbmlParser::Down
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_parser.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void EbmlParser::Down( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: mkv::EbmlParser::Keep
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_parser.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EbmlParser::Keep( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: mkv::EbmlParser::Unkeep
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_parser.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EbmlParser::Unkeep()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: mkv::EbmlParser::GetLevel
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_parser.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EbmlParser::GetLevel( void ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:116,1
    - Dst: static_cast<EbmlMaster*>
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 117
    functionName: mkv::EbmlParser::Reset
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_parser.cpp
    functionUses: 0
    functionsReached:
    - static_cast<EbmlMaster*>
    - I_O
    linkageType: ''
    returnType: void
    signature: void EbmlParser::Reset( demux_t *p_demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: mkv::GetEbmlNoGlobal_Context
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_parser.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EbmlSemanticContext
    signature: EbmlSemanticContext & GetEbmlNoGlobal_Context()
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:152,1
    - Dst: EbmlElement*::IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:154,1
    - Dst: EbmlElement*::GetEndPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:155,1
    - Dst: GetEndPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:155,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:157,1
    - Dst: EbmlElement*::GetElementPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:158,1
    - Dst: EbmlElement*::GetEndPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:158,1
    - Dst: GetEndPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:158,1
    - Dst: EbmlElement*::IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:163,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:165,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:166,1
    - Dst: EbmlElement*::GetElementPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:166,1
    - Dst: EbmlElement*::IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:177,1
    - Dst: EbmlElement*::SkipData
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:178,1
    - Dst: EBML_CONTEXT
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:178,1
    - Dst: IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:183,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:187,1
    - Dst: IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:191,1
    - Dst: GetEndPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:192,1
    - Dst: GetEndPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:192,1
    - Dst: GetEndPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:194,1
    - Dst: GetEndPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:195,1
    - Dst: IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:202,1
    - Dst: IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:202,1
    - Dst: GetEndPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:203,1
    - Dst: GetEndPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:203,1
    - Dst: IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:211,1
    - Dst: IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:211,1
    - Dst: GetEndPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:214,1
    - Dst: GetEndPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:215,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:225,1
    - Dst: EBML_CTX_MASTER
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:233,1
    - Dst: EBML_CONTEXT
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:233,1
    - Dst: EBML_CTX_MASTER
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:233,1
    - Dst: EBML_CONTEXT
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:235,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:238,1
    - Dst: FindNextElement
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:239,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:247,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:284,1
    - Dst: EbmlElement*::IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:286,1
    - Dst: EbmlElement*::SkipData
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:287,1
    - Dst: EBML_CONTEXT
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:287,1
    - Dst: IsDummy
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:289,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:296,1
    - Dst: EbmlElement*::IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:301,1
    - Dst: EbmlElement*::GetEndPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:302,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:302,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:304,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:305,1
    - Dst: EbmlElement*::GetEndPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:305,1
    - Dst: IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:319,1
    - Dst: IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:320,1
    - Dst: GetEndPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:321,1
    - Dst: GetEndPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:321,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:324,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:325,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:331,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:333,1
    - Dst: IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:335,1
    - Dst: IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:335,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:336,1
    - Dst: GetEndPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:336,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:338,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 133
    argCount: 1
    argNames:
    - allow_overshoot
    argTypes:
    - bool
    assertStmts:
    - condition: (m_el[mi_level] == p_prev)
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/vlc/modules/demux/mkv/Ebml_parser.cpp
    constantsTouched: []
    func_position:
      end: 361
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 361
    functionName: mkv::EbmlParser::Get
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_parser.cpp
    functionUses: 0
    functionsReached:
    - IsFiniteSize
    - EbmlElement*::GetElementPosition
    - assert
    - EbmlElement*::SkipData
    - GetSize
    - EBML_CONTEXT
    - unlikely
    - msg_Err
    - FindNextElement
    - GetEndPosition
    - msg_Dbg
    - EBML_NAME
    - EbmlElement*::IsFiniteSize
    - EbmlElement*::GetEndPosition
    - IsDummy
    - msg_Warn
    - EBML_CTX_MASTER
    - GetElementPosition
    linkageType: ''
    returnType: EbmlElement
    signature: EbmlElement *EbmlParser::Get( bool allow_overshoot )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - el
    argTypes:
    - EbmlElement*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 371
    functionName: mkv::EbmlParser::IsTopPresent
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_parser.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EbmlParser::IsTopPresent( EbmlElement *el ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:39,1
    - Dst: memset
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - es
    - el_start
    - p_demux
    argTypes:
    - matroska_iostream_c*
    - EbmlElement*
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: mkv::EbmlParser::EbmlParser
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_parser.cpp
    functionUses: 0
    functionsReached:
    - var_InheritBool
    - memset
    linkageType: ''
    returnType: void
    signature: void EbmlParser::EbmlParser( matroska_iostream_c *es, EbmlElement *el_start,
      demux_t *p_demux )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( !mb_keep )
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/vlc/modules/demux/mkv/Ebml_parser.cpp
    constantsTouched: []
    func_position:
      end: 62
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 62
    functionName: EbmlParser::~EbmlParser( void )
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_parser.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void EbmlParser::~EbmlParser( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkv::EbmlParser::~EbmlParser
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:66,1
    - Dst: static_cast<void*>
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:68,1
    - Dst: EbmlParser::EbmlParser
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - es
    - el_start
    - p_demux
    argTypes:
    - matroska_iostream_c*
    - EbmlElement*
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: mkv::EbmlParser::reconstruct
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_parser.cpp
    functionUses: 0
    functionsReached:
    - mkv::EbmlParser::~EbmlParser
    - static_cast<void*>
    - EbmlParser::EbmlParser
    linkageType: ''
    returnType: void
    signature: void EbmlParser::reconstruct( matroska_iostream_c* es, EbmlElement*
      el_start, demux_t* p_demux )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:75,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (mi_user_level != 0)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/vlc/modules/demux/mkv/Ebml_parser.cpp
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: mkv::EbmlParser::Up
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_parser.cpp
    functionUses: 0
    functionsReached:
    - assert
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: void EbmlParser::Up( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_el[mi_level] != nullptr)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/vlc/modules/demux/mkv/Ebml_parser.cpp
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: mkv::EbmlParser::Down
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_parser.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void EbmlParser::Down( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: mkv::EbmlParser::Keep
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_parser.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EbmlParser::Keep( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: mkv::EbmlParser::Unkeep
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_parser.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EbmlParser::Unkeep()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: mkv::EbmlParser::GetLevel
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_parser.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EbmlParser::GetLevel( void ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: I_O
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:116,1
    - Dst: static_cast<EbmlMaster*>
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 117
    functionName: mkv::EbmlParser::Reset
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_parser.cpp
    functionUses: 0
    functionsReached:
    - static_cast<EbmlMaster*>
    - I_O
    linkageType: ''
    returnType: void
    signature: void EbmlParser::Reset( demux_t *p_demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: mkv::GetEbmlNoGlobal_Context
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_parser.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EbmlSemanticContext
    signature: EbmlSemanticContext & GetEbmlNoGlobal_Context()
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:152,1
    - Dst: EbmlElement*::IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:154,1
    - Dst: EbmlElement*::GetEndPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:155,1
    - Dst: GetEndPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:155,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:157,1
    - Dst: EbmlElement*::GetElementPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:158,1
    - Dst: EbmlElement*::GetEndPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:158,1
    - Dst: GetEndPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:158,1
    - Dst: EbmlElement*::IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:163,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:165,1
    - Dst: EBML_NAME
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:166,1
    - Dst: EbmlElement*::GetElementPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:166,1
    - Dst: EbmlElement*::IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:177,1
    - Dst: EbmlElement*::SkipData
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:178,1
    - Dst: EBML_CONTEXT
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:178,1
    - Dst: IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:183,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:187,1
    - Dst: IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:191,1
    - Dst: GetEndPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:192,1
    - Dst: GetEndPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:192,1
    - Dst: GetEndPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:194,1
    - Dst: GetEndPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:195,1
    - Dst: IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:202,1
    - Dst: IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:202,1
    - Dst: GetEndPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:203,1
    - Dst: GetEndPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:203,1
    - Dst: IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:211,1
    - Dst: IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:211,1
    - Dst: GetEndPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:214,1
    - Dst: GetEndPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:215,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:225,1
    - Dst: EBML_CTX_MASTER
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:233,1
    - Dst: EBML_CONTEXT
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:233,1
    - Dst: EBML_CTX_MASTER
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:233,1
    - Dst: EBML_CONTEXT
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:235,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:238,1
    - Dst: FindNextElement
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:239,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:247,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:284,1
    - Dst: EbmlElement*::IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:286,1
    - Dst: EbmlElement*::SkipData
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:287,1
    - Dst: EBML_CONTEXT
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:287,1
    - Dst: IsDummy
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:289,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:296,1
    - Dst: EbmlElement*::IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:301,1
    - Dst: EbmlElement*::GetEndPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:302,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:302,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:304,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:305,1
    - Dst: EbmlElement*::GetEndPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:305,1
    - Dst: IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:319,1
    - Dst: IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:320,1
    - Dst: GetEndPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:321,1
    - Dst: GetEndPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:321,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:324,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:325,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:331,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:333,1
    - Dst: IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:335,1
    - Dst: IsFiniteSize
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:335,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:336,1
    - Dst: GetEndPosition
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:336,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/Ebml_parser.cpp:338,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 133
    argCount: 1
    argNames:
    - allow_overshoot
    argTypes:
    - bool
    assertStmts:
    - condition: (m_el[mi_level] == p_prev)
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/vlc/modules/demux/mkv/Ebml_parser.cpp
    constantsTouched: []
    func_position:
      end: 361
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 361
    functionName: mkv::EbmlParser::Get
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_parser.cpp
    functionUses: 0
    functionsReached:
    - IsFiniteSize
    - EbmlElement*::GetElementPosition
    - assert
    - EbmlElement*::SkipData
    - GetSize
    - EBML_CONTEXT
    - unlikely
    - msg_Err
    - FindNextElement
    - GetEndPosition
    - msg_Dbg
    - EBML_NAME
    - EbmlElement*::IsFiniteSize
    - EbmlElement*::GetEndPosition
    - IsDummy
    - msg_Warn
    - EBML_CTX_MASTER
    - GetElementPosition
    linkageType: ''
    returnType: EbmlElement
    signature: EbmlElement *EbmlParser::Get( bool allow_overshoot )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - el
    argTypes:
    - EbmlElement*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 371
    functionName: mkv::EbmlParser::IsTopPresent
    functionSourceFile: /src/vlc/modules/demux/mkv/Ebml_parser.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EbmlParser::IsTopPresent( EbmlElement *el ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s_
    - b_owner_
    argTypes:
    - stream_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: mkv::vlc_stream_io_callback::vlc_stream_io_callback
    functionSourceFile: /src/vlc/modules/demux/mkv/stream_io_callback.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vlc_stream_io_callback::vlc_stream_io_callback( stream_t *s_,
      bool b_owner_ )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/mkv/stream_io_callback.cpp:39,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/mkv/stream_io_callback.cpp:39,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/mkv/stream_io_callback.cpp:44,1
    - Dst: static_cast<size_t>
      Src: /src/vlc/modules/demux/mkv/stream_io_callback.cpp:45,1
    - Dst: static_cast<uint32>
      Src: /src/vlc/modules/demux/mkv/stream_io_callback.cpp:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - p_buffer
    - i_size
    argTypes:
    - void*
    - size_t
    assertStmts:
    - condition: ( i_size <= std::numeric_limits<uint32>::max() )
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/vlc/modules/demux/mkv/stream_io_callback.cpp
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: mkv::vlc_stream_io_callback::read
    functionSourceFile: /src/vlc/modules/demux/mkv/stream_io_callback.cpp
    functionUses: 0
    functionsReached:
    - assert
    - static_cast<size_t>
    - vlc_stream_Read
    - static_cast<uint32>
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: uint32
    signature: uint32 vlc_stream_io_callback::read( void *p_buffer, size_t i_size
      )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mkv/stream_io_callback.cpp:51,1
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/mkv/stream_io_callback.cpp:59,1
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/mkv/stream_io_callback.cpp:71,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/mkv/stream_io_callback.cpp:73,1
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/mkv/stream_io_callback.cpp:78,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/mkv/stream_io_callback.cpp:85,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 2
    argNames:
    - i_offset
    - mode
    argTypes:
    - int64_t
    - seek_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 90
    functionName: mkv::vlc_stream_io_callback::setFilePointer
    functionSourceFile: /src/vlc/modules/demux/mkv/stream_io_callback.cpp
    functionUses: 0
    functionsReached:
    - vlc_stream_Seek
    - vlc_stream_Tell
    - stream_Size
    linkageType: ''
    returnType: void
    signature: void vlc_stream_io_callback::setFilePointer(int64_t i_offset, seek_mode
      mode )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mkv/stream_io_callback.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: mkv::vlc_stream_io_callback::getFilePointer
    functionSourceFile: /src/vlc/modules/demux/mkv/stream_io_callback.cpp
    functionUses: 0
    functionsReached:
    - vlc_stream_Tell
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t vlc_stream_io_callback::getFilePointer( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: mkv::vlc_stream_io_callback::write
    functionSourceFile: /src/vlc/modules/demux/mkv/stream_io_callback.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t vlc_stream_io_callback::write(const void *, size_t )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s_
    - b_owner_
    argTypes:
    - stream_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: mkv::vlc_stream_io_callback::vlc_stream_io_callback
    functionSourceFile: /src/vlc/modules/demux/mkv/stream_io_callback.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vlc_stream_io_callback::vlc_stream_io_callback( stream_t *s_,
      bool b_owner_ )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/mkv/stream_io_callback.cpp:39,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/mkv/stream_io_callback.cpp:39,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/mkv/stream_io_callback.cpp:44,1
    - Dst: static_cast<size_t>
      Src: /src/vlc/modules/demux/mkv/stream_io_callback.cpp:45,1
    - Dst: static_cast<uint32>
      Src: /src/vlc/modules/demux/mkv/stream_io_callback.cpp:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - p_buffer
    - i_size
    argTypes:
    - void*
    - size_t
    assertStmts:
    - condition: ( i_size <= std::numeric_limits<uint32>::max() )
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/vlc/modules/demux/mkv/stream_io_callback.cpp
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: mkv::vlc_stream_io_callback::read
    functionSourceFile: /src/vlc/modules/demux/mkv/stream_io_callback.cpp
    functionUses: 0
    functionsReached:
    - assert
    - static_cast<size_t>
    - vlc_stream_Read
    - static_cast<uint32>
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: uint32
    signature: uint32 vlc_stream_io_callback::read( void *p_buffer, size_t i_size
      )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mkv/stream_io_callback.cpp:51,1
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/mkv/stream_io_callback.cpp:59,1
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/mkv/stream_io_callback.cpp:71,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/mkv/stream_io_callback.cpp:73,1
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/mkv/stream_io_callback.cpp:78,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/mkv/stream_io_callback.cpp:85,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 2
    argNames:
    - i_offset
    - mode
    argTypes:
    - int64_t
    - seek_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 90
    functionName: mkv::vlc_stream_io_callback::setFilePointer
    functionSourceFile: /src/vlc/modules/demux/mkv/stream_io_callback.cpp
    functionUses: 0
    functionsReached:
    - vlc_stream_Seek
    - vlc_stream_Tell
    - stream_Size
    linkageType: ''
    returnType: void
    signature: void vlc_stream_io_callback::setFilePointer(int64_t i_offset, seek_mode
      mode )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mkv/stream_io_callback.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: mkv::vlc_stream_io_callback::getFilePointer
    functionSourceFile: /src/vlc/modules/demux/mkv/stream_io_callback.cpp
    functionUses: 0
    functionsReached:
    - vlc_stream_Tell
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t vlc_stream_io_callback::getFilePointer( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: mkv::vlc_stream_io_callback::write
    functionSourceFile: /src/vlc/modules/demux/mkv/stream_io_callback.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t vlc_stream_io_callback::write(const void *, size_t )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_script.cpp:31,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/mkv/chapter_command_script.cpp:31,1
    - Dst: std::string::compare
      Src: /src/vlc/modules/demux/mkv/chapter_command_script.cpp:33,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/chapter_command_script.cpp:33,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/chapter_command_script.cpp:38,1
    - Dst: std::string::size
      Src: /src/vlc/modules/demux/mkv/chapter_command_script.cpp:38,1
    - Dst: std::string::size
      Src: /src/vlc/modules/demux/mkv/chapter_command_script.cpp:50,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/mkv/chapter_command_script.cpp:61,1
    - Dst: std::stoull
      Src: /src/vlc/modules/demux/mkv/chapter_command_script.cpp:62,1
    - Dst: FindVChapter
      Src: /src/vlc/modules/demux/mkv/chapter_command_script.cpp:65,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_script.cpp:68,1
    - Dst: GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/chapter_command_script.cpp:71,1
    - Dst: JumpTo
      Src: /src/vlc/modules/demux/mkv/chapter_command_script.cpp:76,1
    - Dst: virtual_chapter_c*::EnterAndLeave
      Src: /src/vlc/modules/demux/mkv/chapter_command_script.cpp:78,1
    - Dst: JumpTo
      Src: /src/vlc/modules/demux/mkv/chapter_command_script.cpp:79,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 3
    argNames:
    - time
    - p_command
    - i_size
    argTypes:
    - MatroskaChapterProcessTime
    - binary*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 87
    functionName: mkv::matroska_script_interpretor_c::Interpret
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_script.cpp
    functionUses: 0
    functionsReached:
    - std::string::compare
    - FindVChapter
    - size
    - std::string::size
    - std::string::c_str
    - vlc_debug
    - std::string::substr
    - JumpTo
    - std::stoull
    - virtual_chapter_c*::EnterAndLeave
    - GetCurrentVSegment
    linkageType: ''
    returnType: bool
    signature: bool matroska_script_interpretor_c::Interpret( MatroskaChapterProcessTime
      time, const binary * p_command, size_t i_size )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_script.cpp:31,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/mkv/chapter_command_script.cpp:31,1
    - Dst: std::string::compare
      Src: /src/vlc/modules/demux/mkv/chapter_command_script.cpp:33,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/chapter_command_script.cpp:33,1
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/chapter_command_script.cpp:38,1
    - Dst: std::string::size
      Src: /src/vlc/modules/demux/mkv/chapter_command_script.cpp:38,1
    - Dst: std::string::size
      Src: /src/vlc/modules/demux/mkv/chapter_command_script.cpp:50,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/mkv/chapter_command_script.cpp:61,1
    - Dst: std::stoull
      Src: /src/vlc/modules/demux/mkv/chapter_command_script.cpp:62,1
    - Dst: FindVChapter
      Src: /src/vlc/modules/demux/mkv/chapter_command_script.cpp:65,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/mkv/chapter_command_script.cpp:68,1
    - Dst: GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/chapter_command_script.cpp:71,1
    - Dst: JumpTo
      Src: /src/vlc/modules/demux/mkv/chapter_command_script.cpp:76,1
    - Dst: virtual_chapter_c*::EnterAndLeave
      Src: /src/vlc/modules/demux/mkv/chapter_command_script.cpp:78,1
    - Dst: JumpTo
      Src: /src/vlc/modules/demux/mkv/chapter_command_script.cpp:79,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 3
    argNames:
    - time
    - p_command
    - i_size
    argTypes:
    - MatroskaChapterProcessTime
    - binary*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 87
    functionName: mkv::matroska_script_interpretor_c::Interpret
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_script.cpp
    functionUses: 0
    functionsReached:
    - std::string::compare
    - FindVChapter
    - size
    - std::string::size
    - std::string::c_str
    - vlc_debug
    - std::string::substr
    - JumpTo
    - std::stoull
    - virtual_chapter_c*::EnterAndLeave
    - GetCurrentVSegment
    linkageType: ''
    returnType: bool
    signature: bool matroska_script_interpretor_c::Interpret( MatroskaChapterProcessTime
      time, const binary * p_command, size_t i_size )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - log
    - ' vm_'
    - codec_id
    argTypes:
    - struct vlc_logger*
    - chapter_codec_vm
    - enum chapter_codec_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: mkv::chapter_codec_cmds_c::chapter_codec_cmds_c
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void chapter_codec_cmds_c( struct vlc_logger *log, chapter_codec_vm
      & vm_, enum chapter_codec_id codec_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: ~chapter_codec_cmds_c()
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~chapter_codec_cmds_c()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<KaxChapterProcessPrivate>
      Src: /src/vlc/modules/demux/mkv/chapter_command.hpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' private_data'
    argTypes:
    - KaxChapterProcessPrivate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: mkv::chapter_codec_cmds_c::SetPrivate
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command.hpp
    functionUses: 0
    functionsReached:
    - std::make_unique<KaxChapterProcessPrivate>
    linkageType: ''
    returnType: void
    signature: void SetPrivate( const KaxChapterProcessPrivate & private_data )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: mkv::chapter_codec_cmds_c::Enter
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Enter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: mkv::chapter_codec_cmds_c::Leave
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Leave()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: mkv::chapter_codec_cmds_c::GetCodecName
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetCodecName( bool ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: mkv::chapter_codec_cmds_c::GetTitleNumber
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int16_t
    signature: int16_t GetTitleNumber() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - log
    - ' vm_'
    - codec_id
    argTypes:
    - struct vlc_logger*
    - chapter_codec_vm
    - enum chapter_codec_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: mkv::chapter_codec_cmds_c::chapter_codec_cmds_c
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void chapter_codec_cmds_c( struct vlc_logger *log, chapter_codec_vm
      & vm_, enum chapter_codec_id codec_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: ~chapter_codec_cmds_c()
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~chapter_codec_cmds_c()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<KaxChapterProcessPrivate>
      Src: /src/vlc/modules/demux/mkv/chapter_command.hpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' private_data'
    argTypes:
    - KaxChapterProcessPrivate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: mkv::chapter_codec_cmds_c::SetPrivate
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command.hpp
    functionUses: 0
    functionsReached:
    - std::make_unique<KaxChapterProcessPrivate>
    linkageType: ''
    returnType: void
    signature: void SetPrivate( const KaxChapterProcessPrivate & private_data )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: mkv::chapter_codec_cmds_c::Enter
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Enter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: mkv::chapter_codec_cmds_c::Leave
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Leave()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: mkv::chapter_codec_cmds_c::GetCodecName
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetCodecName( bool ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: mkv::chapter_codec_cmds_c::GetTitleNumber
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int16_t
    signature: int16_t GetTitleNumber() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/mkv/chapters.hpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: mkv::chapter_translation_c::chapter_translation_c
    functionSourceFile: /src/vlc/modules/demux/mkv/chapters.hpp
    functionUses: 0
    functionsReached:
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: void
    signature: void chapter_translation_c()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: ~chapter_translation_c()
    functionSourceFile: /src/vlc/modules/demux/mkv/chapters.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~chapter_translation_c()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/mkv/chapters.hpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: mkv::chapter_translation_c::isValid
    functionSourceFile: /src/vlc/modules/demux/mkv/chapters.hpp
    functionUses: 0
    functionsReached:
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: bool
    signature: bool isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: mkv::chapter_item_c::chapter_item_c
    functionSourceFile: /src/vlc/modules/demux/mkv/chapters.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void chapter_item_c()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: mkv::chapter_edition_c::chapter_edition_c
    functionSourceFile: /src/vlc/modules/demux/mkv/chapters.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void chapter_edition_c()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/mkv/chapters.hpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: mkv::chapter_translation_c::chapter_translation_c
    functionSourceFile: /src/vlc/modules/demux/mkv/chapters.hpp
    functionUses: 0
    functionsReached:
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: void
    signature: void chapter_translation_c()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: ~chapter_translation_c()
    functionSourceFile: /src/vlc/modules/demux/mkv/chapters.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~chapter_translation_c()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/mkv/chapters.hpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: mkv::chapter_translation_c::isValid
    functionSourceFile: /src/vlc/modules/demux/mkv/chapters.hpp
    functionUses: 0
    functionsReached:
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: bool
    signature: bool isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: mkv::chapter_item_c::chapter_item_c
    functionSourceFile: /src/vlc/modules/demux/mkv/chapters.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void chapter_item_c()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: mkv::chapter_edition_c::chapter_edition_c
    functionSourceFile: /src/vlc/modules/demux/mkv/chapters.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void chapter_edition_c()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/util.cpp:45,1
    - Dst: inflateInit
      Src: /src/vlc/modules/demux/mkv/util.cpp:50,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/util.cpp:52,1
    - Dst: realloc
      Src: /src/vlc/modules/demux/mkv/util.cpp:62,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/util.cpp:65,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/util.cpp:67,1
    - Dst: inflateEnd
      Src: /src/vlc/modules/demux/mkv/util.cpp:68,1
    - Dst: static_cast<uint8_t *>
      Src: /src/vlc/modules/demux/mkv/util.cpp:72,1
    - Dst: inflate
      Src: /src/vlc/modules/demux/mkv/util.cpp:75,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/util.cpp:78,1
    - Dst: inflateEnd
      Src: /src/vlc/modules/demux/mkv/util.cpp:79,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/util.cpp:80,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/util.cpp:87,1
    - Dst: static_cast<uint8_t *>
      Src: /src/vlc/modules/demux/mkv/util.cpp:89,1
    - Dst: realloc
      Src: /src/vlc/modules/demux/mkv/util.cpp:89,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/util.cpp:92,1
    - Dst: inflateEnd
      Src: /src/vlc/modules/demux/mkv/util.cpp:94,1
    - Dst: inflateEnd
      Src: /src/vlc/modules/demux/mkv/util.cpp:101,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 2
    argNames:
    - p_demux
    - ' tk'
    argTypes:
    - demux_t*
    - mkv_track_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 103
    functionName: mkv::zlib_decompress_extra
    functionSourceFile: /src/vlc/modules/demux/mkv/util.cpp
    functionUses: 0
    functionsReached:
    - inflateEnd
    - inflateInit
    - inflate
    - realloc
    - msg_Err
    - free
    - static_cast<uint8_t *>
    - msg_Dbg
    linkageType: ''
    returnType: int32_t
    signature: int32_t zlib_decompress_extra( demux_t * p_demux, mkv_track_t & tk
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inflateInit
      Src: /src/vlc/modules/demux/mkv/util.cpp:114,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/util.cpp:117,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/mkv/util.cpp:124,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/demux/mkv/util.cpp:129,1
    - Dst: static_cast<unsigned char *>
      Src: /src/vlc/modules/demux/mkv/util.cpp:130,1
    - Dst: inflate
      Src: /src/vlc/modules/demux/mkv/util.cpp:133,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/util.cpp:136,1
    - Dst: inflateEnd
      Src: /src/vlc/modules/demux/mkv/util.cpp:137,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mkv/util.cpp:138,1
    - Dst: inflateEnd
      Src: /src/vlc/modules/demux/mkv/util.cpp:146,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/demux/mkv/util.cpp:148,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mkv/util.cpp:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 2
    argNames:
    - p_this
    - p_in_block
    argTypes:
    - vlc_object_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 153
    functionName: mkv::block_zlib_decompress
    functionSourceFile: /src/vlc/modules/demux/mkv/util.cpp
    functionUses: 0
    functionsReached:
    - block_Release
    - block_Realloc
    - inflateEnd
    - inflateInit
    - inflate
    - static_cast<unsigned char *>
    - msg_Err
    - block_Alloc
    - msg_Dbg
    linkageType: ''
    returnType: block_t
    signature: block_t *block_zlib_decompress( vlc_object_t *p_this, block_t *p_in_block
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/util.cpp:162,1
    - Dst: realloc
      Src: /src/vlc/modules/demux/mkv/util.cpp:167,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/util.cpp:170,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/util.cpp:172,1
    - Dst: static_cast<uint8_t *>
      Src: /src/vlc/modules/demux/mkv/util.cpp:176,1
    - Dst: lzokay::decompress
      Src: /src/vlc/modules/demux/mkv/util.cpp:177,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/util.cpp:184,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/util.cpp:185,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/util.cpp:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - p_demux
    - ' tk'
    argTypes:
    - demux_t*
    - mkv_track_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 194
    functionName: mkv::lzo1x_decompress_extra
    functionSourceFile: /src/vlc/modules/demux/mkv/util.cpp
    functionUses: 0
    functionsReached:
    - lzokay::decompress
    - realloc
    - msg_Err
    - free
    - static_cast<uint8_t *>
    - msg_Dbg
    linkageType: ''
    returnType: bool
    signature: bool lzo1x_decompress_extra( demux_t * p_demux, mkv_track_t & tk )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/mkv/util.cpp:202,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/demux/mkv/util.cpp:206,1
    - Dst: lzokay::decompress
      Src: /src/vlc/modules/demux/mkv/util.cpp:207,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/util.cpp:214,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mkv/util.cpp:215,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/demux/mkv/util.cpp:219,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mkv/util.cpp:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - p_this
    - p_in_block
    argTypes:
    - vlc_object_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 224
    functionName: mkv::block_lzo1x_decompress
    functionSourceFile: /src/vlc/modules/demux/mkv/util.cpp
    functionUses: 0
    functionsReached:
    - lzokay::decompress
    - block_Release
    - block_Realloc
    - msg_Err
    - block_Alloc
    linkageType: ''
    returnType: block_t
    signature: block_t *block_lzo1x_decompress( vlc_object_t *p_this, block_t *p_in_block
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/util.cpp:229,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/mkv/util.cpp:232,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mkv/util.cpp:233,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/util.cpp:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - p_mem
    - i_mem
    - offset
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 238
    functionName: mkv::MemToBlock
    functionSourceFile: /src/vlc/modules/demux/mkv/util.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - block_Alloc
    - unlikely
    - likely
    linkageType: ''
    returnType: block_t
    signature: block_t *MemToBlock( uint8_t *p_mem, size_t i_mem, size_t offset)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Cook_PrivateTrackData *>
      Src: /src/vlc/modules/demux/mkv/util.cpp:244,1
    - Dst: Cook_PrivateTrackData*::p_subpackets::size
      Src: /src/vlc/modules/demux/mkv/util.cpp:249,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mkv/util.cpp:252,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/util.cpp:259,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/util.cpp:277,1
    - Dst: Cook_PrivateTrackData*::p_subpackets::size
      Src: /src/vlc/modules/demux/mkv/util.cpp:277,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mkv/util.cpp:283,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/mkv/util.cpp:286,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/util.cpp:290,1
    - Dst: Cook_PrivateTrackData*::p_subpackets::size
      Src: /src/vlc/modules/demux/mkv/util.cpp:311,1
    - Dst: Cook_PrivateTrackData*::p_subpackets::size
      Src: /src/vlc/modules/demux/mkv/util.cpp:313,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mkv/util.cpp:315,1
    - Dst: mkv::send_Block
      Src: /src/vlc/modules/demux/mkv/util.cpp:317,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 4
    argNames:
    - p_demux
    - p_tk
    - p_blk
    - i_pts
    argTypes:
    - demux_t*
    - mkv_track_t*
    - block_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 323
    functionName: mkv::handle_real_audio
    functionSourceFile: /src/vlc/modules/demux/mkv/util.cpp
    functionUses: 0
    functionsReached:
    - block_Release
    - static_cast<Cook_PrivateTrackData *>
    - memcpy
    - mkv::send_Block
    - block_Alloc
    - msg_Dbg
    - likely
    - Cook_PrivateTrackData*::p_subpackets::size
    - unlikely
    linkageType: ''
    returnType: void
    signature: void handle_real_audio(demux_t * p_demux, mkv_track_t * p_tk, block_t
      * p_blk, vlc_tick_t i_pts)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/demux/mkv/util.cpp:329,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/vlc/modules/demux/mkv/util.cpp:340,1
    - Dst: std::memchr
      Src: /src/vlc/modules/demux/mkv/util.cpp:340,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/vlc/modules/demux/mkv/util.cpp:346,1
    - Dst: std::memchr
      Src: /src/vlc/modules/demux/mkv/util.cpp:346,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/vlc/modules/demux/mkv/util.cpp:363,1
    - Dst: std::memchr
      Src: /src/vlc/modules/demux/mkv/util.cpp:363,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/vlc/modules/demux/mkv/util.cpp:367,1
    - Dst: std::memchr
      Src: /src/vlc/modules/demux/mkv/util.cpp:367,1
    - Dst: WEBVTT_Pack_CueElementsGetNewSize
      Src: /src/vlc/modules/demux/mkv/util.cpp:378,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/mkv/util.cpp:379,1
    - Dst: WEBVTT_Pack_CueElements
      Src: /src/vlc/modules/demux/mkv/util.cpp:382,1
    - Dst: block_CopyProperties
      Src: /src/vlc/modules/demux/mkv/util.cpp:383,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mkv/util.cpp:384,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mkv/util.cpp:388,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 4
    argNames:
    - p_block
    - b_webm
    - p_add
    - i_add
    argTypes:
    - block_t*
    - bool
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 390
    functionName: mkv::WEBVTT_Repack_Sample
    functionSourceFile: /src/vlc/modules/demux/mkv/util.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t *>
    - block_Release
    - memset
    - std::memchr
    - WEBVTT_Pack_CueElementsGetNewSize
    - block_CopyProperties
    - block_Alloc
    - WEBVTT_Pack_CueElements
    linkageType: ''
    returnType: block_t
    signature: "block_t *WEBVTT_Repack_Sample(block_t *p_block, bool b_webm,\n                              const
      uint8_t *p_add, size_t i_add)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: demux_sys_t*::GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/util.cpp:395,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/mkv/util.cpp:417,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/util.cpp:419,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 427
    functionName: mkv::UpdatePCR
    functionSourceFile: /src/vlc/modules/demux/mkv/util.cpp
    functionUses: 0
    functionsReached:
    - demux_sys_t*::GetCurrentVSegment
    - es_out_SetPCR
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int UpdatePCR( demux_t * p_demux )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: demux_sys_t*::GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/util.cpp:432,1
    - Dst: aout_ChannelReorder
      Src: /src/vlc/modules/demux/mkv/util.cpp:436,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/util.cpp:449,1
    - Dst: mkv::UpdatePCR
      Src: /src/vlc/modules/demux/mkv/util.cpp:460,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/mkv/util.cpp:462,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 5
    argNames:
    - p_demux
    - p_tk
    - p_block
    - i_number_frames
    - i_duration
    argTypes:
    - demux_t*
    - mkv_track_t*
    - block_t*
    - unsigned int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 429
    functionDepth: 2
    functionLinenumber: 429
    functionLinenumberEnd: 463
    functionName: mkv::send_Block
    functionSourceFile: /src/vlc/modules/demux/mkv/util.cpp
    functionUses: 1
    functionsReached:
    - demux_sys_t*::GetCurrentVSegment
    - es_out_Send
    - aout_ChannelReorder
    - mkv::UpdatePCR
    - VLC_TICK_FROM_NS
    linkageType: ''
    returnType: void
    signature: void send_Block( demux_t * p_demux, mkv_track_t * p_tk, block_t * p_block,
      unsigned int i_number_frames, uint64_t i_duration )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: skip
      Src: /src/vlc/modules/demux/mkv/util.cpp:505,1
    - Dst: GetBE16
      Src: /src/vlc/modules/demux/mkv/util.cpp:508,1
    - Dst: skip
      Src: /src/vlc/modules/demux/mkv/util.cpp:509,1
    - Dst: skip
      Src: /src/vlc/modules/demux/mkv/util.cpp:510,1
    - Dst: skip
      Src: /src/vlc/modules/demux/mkv/util.cpp:511,1
    - Dst: skip
      Src: /src/vlc/modules/demux/mkv/util.cpp:512,1
    - Dst: GetBE32
      Src: /src/vlc/modules/demux/mkv/util.cpp:513,1
    - Dst: skip
      Src: /src/vlc/modules/demux/mkv/util.cpp:514,1
    - Dst: GetBE16
      Src: /src/vlc/modules/demux/mkv/util.cpp:515,1
    - Dst: GetBE16
      Src: /src/vlc/modules/demux/mkv/util.cpp:516,1
    - Dst: GetBE16
      Src: /src/vlc/modules/demux/mkv/util.cpp:517,1
    - Dst: skip
      Src: /src/vlc/modules/demux/mkv/util.cpp:518,1
    - Dst: GetBE16
      Src: /src/vlc/modules/demux/mkv/util.cpp:526,1
    - Dst: skip
      Src: /src/vlc/modules/demux/mkv/util.cpp:527,1
    - Dst: GetBE16
      Src: /src/vlc/modules/demux/mkv/util.cpp:528,1
    - Dst: GetBE16
      Src: /src/vlc/modules/demux/mkv/util.cpp:529,1
    - Dst: skip
      Src: /src/vlc/modules/demux/mkv/util.cpp:534,1
    - Dst: skip
      Src: /src/vlc/modules/demux/mkv/util.cpp:535,1
    - Dst: GetBE16
      Src: /src/vlc/modules/demux/mkv/util.cpp:536,1
    - Dst: skip
      Src: /src/vlc/modules/demux/mkv/util.cpp:537,1
    - Dst: GetBE16
      Src: /src/vlc/modules/demux/mkv/util.cpp:538,1
    - Dst: GetBE16
      Src: /src/vlc/modules/demux/mkv/util.cpp:539,1
    - Dst: hasErrors
      Src: /src/vlc/modules/demux/mkv/util.cpp:543,1
    - Dst: resize
      Src: /src/vlc/modules/demux/mkv/util.cpp:547,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 550
    functionName: mkv::Cook_PrivateTrackData::Init
    functionSourceFile: /src/vlc/modules/demux/mkv/util.cpp
    functionUses: 0
    functionsReached:
    - GetBE32
    - resize
    - hasErrors
    - skip
    - GetBE16
    linkageType: ''
    returnType: bool
    signature: bool Cook_PrivateTrackData::Init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/util.cpp:554,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mkv/util.cpp:556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 557
    functionName: Cook_PrivateTrackData::~Cook_PrivateTrackData()
    functionSourceFile: /src/vlc/modules/demux/mkv/util.cpp
    functionUses: 0
    functionsReached:
    - size
    - block_Release
    linkageType: ''
    returnType: void
    signature: void Cook_PrivateTrackData::~Cook_PrivateTrackData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/util.cpp:569,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/demux/mkv/util.cpp:570,1
    - Dst: SetWLE
      Src: /src/vlc/modules/demux/mkv/util.cpp:571,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/demux/mkv/util.cpp:572,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/demux/mkv/util.cpp:573,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/demux/mkv/util.cpp:574,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/util.cpp:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 7
    argNames:
    - version
    - block_samples
    - flags
    - crc
    - src
    - srclen
    - dst
    argTypes:
    - uint16_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint8_t*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 576
    functionName: mkv::fill_wvpk_block
    functionSourceFile: /src/vlc/modules/demux/mkv/util.cpp
    functionUses: 0
    functionsReached:
    - SetWLE
    - SetDWLE
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void fill_wvpk_block(uint16_t version, uint32_t block_samples, uint32_t
      flags,\n                                   uint32_t crc, uint8_t * src, size_t
      srclen, uint8_t * dst)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/mkv/util.cpp:587,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/util.cpp:592,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/util.cpp:594,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/util.cpp:600,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/mkv/util.cpp:604,1
    - Dst: mkv::fill_wvpk_block
      Src: /src/vlc/modules/demux/mkv/util.cpp:608,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/mkv/util.cpp:615,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/util.cpp:621,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/util.cpp:623,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/util.cpp:625,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mkv/util.cpp:633,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/demux/mkv/util.cpp:635,1
    - Dst: mkv::fill_wvpk_block
      Src: /src/vlc/modules/demux/mkv/util.cpp:640,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 3
    argNames:
    - ' tk'
    - buffer
    - size
    argTypes:
    - mkv_track_t
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (total_size >= p_block->i_buffer)
      pos:
        line_end: 632
        line_start: 632
        source_file: /src/vlc/modules/demux/mkv/util.cpp
    constantsTouched: []
    func_position:
      end: 648
      start: 578
    functionDepth: 2
    functionLinenumber: 578
    functionLinenumberEnd: 648
    functionName: mkv::packetize_wavpack
    functionSourceFile: /src/vlc/modules/demux/mkv/util.cpp
    functionUses: 0
    functionsReached:
    - assert
    - block_Realloc
    - GetWLE
    - mkv::fill_wvpk_block
    - block_Alloc
    - GetDWLE
    linkageType: ''
    returnType: block_t
    signature: block_t * packetize_wavpack( const mkv_track_t & tk, uint8_t * buffer,
      size_t  size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/demux/mkv/util.cpp:660,1
    - Dst: char::char
      Src: /src/vlc/modules/demux/mkv/util.cpp:663,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/util.cpp:666,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/util.cpp:674,1
    - Dst: strcat
      Src: /src/vlc/modules/demux/mkv/util.cpp:676,1
    - Dst: strcat
      Src: /src/vlc/modules/demux/mkv/util.cpp:677,1
    - Dst: msg_GenericVa
      Src: /src/vlc/modules/demux/mkv/util.cpp:679,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - ' demuxer'
    - i_level
    - fmt
    - args
    argTypes:
    - demux_t
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 683
    functionName: mkv::MkvTree_va
    functionSourceFile: /src/vlc/modules/demux/mkv/util.cpp
    functionUses: 6
    functionsReached:
    - msg_GenericVa
    - strlen
    - memcpy
    - msg_Err
    - strcat
    - char::char
    linkageType: ''
    returnType: void
    signature: void MkvTree_va( demux_t& demuxer, int i_level, const char* fmt, va_list
      args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vlc/modules/demux/mkv/util.cpp:687,1
    - Dst: mkv::MkvTree_va
      Src: /src/vlc/modules/demux/mkv/util.cpp:688,1
    - Dst: va_end
      Src: /src/vlc/modules/demux/mkv/util.cpp:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' demuxer'
    - i_level
    - psz_format
    argTypes:
    - demux_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 685
    functionDepth: 2
    functionLinenumber: 685
    functionLinenumberEnd: 690
    functionName: mkv::MkvTree
    functionSourceFile: /src/vlc/modules/demux/mkv/util.cpp
    functionUses: 2
    functionsReached:
    - va_end
    - mkv::MkvTree_va
    - va_start
    linkageType: ''
    returnType: void
    signature: void MkvTree( demux_t & demuxer, int i_level, const char *psz_format,
      ... )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/util.cpp:45,1
    - Dst: inflateInit
      Src: /src/vlc/modules/demux/mkv/util.cpp:50,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/util.cpp:52,1
    - Dst: realloc
      Src: /src/vlc/modules/demux/mkv/util.cpp:62,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/util.cpp:65,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/util.cpp:67,1
    - Dst: inflateEnd
      Src: /src/vlc/modules/demux/mkv/util.cpp:68,1
    - Dst: static_cast<uint8_t *>
      Src: /src/vlc/modules/demux/mkv/util.cpp:72,1
    - Dst: inflate
      Src: /src/vlc/modules/demux/mkv/util.cpp:75,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/util.cpp:78,1
    - Dst: inflateEnd
      Src: /src/vlc/modules/demux/mkv/util.cpp:79,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/util.cpp:80,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/util.cpp:87,1
    - Dst: static_cast<uint8_t *>
      Src: /src/vlc/modules/demux/mkv/util.cpp:89,1
    - Dst: realloc
      Src: /src/vlc/modules/demux/mkv/util.cpp:89,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/util.cpp:92,1
    - Dst: inflateEnd
      Src: /src/vlc/modules/demux/mkv/util.cpp:94,1
    - Dst: inflateEnd
      Src: /src/vlc/modules/demux/mkv/util.cpp:101,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 2
    argNames:
    - p_demux
    - ' tk'
    argTypes:
    - demux_t*
    - mkv_track_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 103
    functionName: mkv::zlib_decompress_extra
    functionSourceFile: /src/vlc/modules/demux/mkv/util.cpp
    functionUses: 0
    functionsReached:
    - inflateEnd
    - inflateInit
    - inflate
    - realloc
    - msg_Err
    - free
    - static_cast<uint8_t *>
    - msg_Dbg
    linkageType: ''
    returnType: int32_t
    signature: int32_t zlib_decompress_extra( demux_t * p_demux, mkv_track_t & tk
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inflateInit
      Src: /src/vlc/modules/demux/mkv/util.cpp:114,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/util.cpp:117,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/mkv/util.cpp:124,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/demux/mkv/util.cpp:129,1
    - Dst: static_cast<unsigned char *>
      Src: /src/vlc/modules/demux/mkv/util.cpp:130,1
    - Dst: inflate
      Src: /src/vlc/modules/demux/mkv/util.cpp:133,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/util.cpp:136,1
    - Dst: inflateEnd
      Src: /src/vlc/modules/demux/mkv/util.cpp:137,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mkv/util.cpp:138,1
    - Dst: inflateEnd
      Src: /src/vlc/modules/demux/mkv/util.cpp:146,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/demux/mkv/util.cpp:148,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mkv/util.cpp:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 2
    argNames:
    - p_this
    - p_in_block
    argTypes:
    - vlc_object_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 153
    functionName: mkv::block_zlib_decompress
    functionSourceFile: /src/vlc/modules/demux/mkv/util.cpp
    functionUses: 0
    functionsReached:
    - block_Release
    - block_Realloc
    - inflateEnd
    - inflateInit
    - inflate
    - static_cast<unsigned char *>
    - msg_Err
    - block_Alloc
    - msg_Dbg
    linkageType: ''
    returnType: block_t
    signature: block_t *block_zlib_decompress( vlc_object_t *p_this, block_t *p_in_block
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/util.cpp:162,1
    - Dst: realloc
      Src: /src/vlc/modules/demux/mkv/util.cpp:167,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/util.cpp:170,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/util.cpp:172,1
    - Dst: static_cast<uint8_t *>
      Src: /src/vlc/modules/demux/mkv/util.cpp:176,1
    - Dst: lzokay::decompress
      Src: /src/vlc/modules/demux/mkv/util.cpp:177,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/util.cpp:184,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/util.cpp:185,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/util.cpp:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - p_demux
    - ' tk'
    argTypes:
    - demux_t*
    - mkv_track_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 194
    functionName: mkv::lzo1x_decompress_extra
    functionSourceFile: /src/vlc/modules/demux/mkv/util.cpp
    functionUses: 0
    functionsReached:
    - lzokay::decompress
    - realloc
    - msg_Err
    - free
    - static_cast<uint8_t *>
    - msg_Dbg
    linkageType: ''
    returnType: bool
    signature: bool lzo1x_decompress_extra( demux_t * p_demux, mkv_track_t & tk )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/mkv/util.cpp:202,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/demux/mkv/util.cpp:206,1
    - Dst: lzokay::decompress
      Src: /src/vlc/modules/demux/mkv/util.cpp:207,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/util.cpp:214,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mkv/util.cpp:215,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/demux/mkv/util.cpp:219,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mkv/util.cpp:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - p_this
    - p_in_block
    argTypes:
    - vlc_object_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 224
    functionName: mkv::block_lzo1x_decompress
    functionSourceFile: /src/vlc/modules/demux/mkv/util.cpp
    functionUses: 0
    functionsReached:
    - lzokay::decompress
    - block_Release
    - block_Realloc
    - msg_Err
    - block_Alloc
    linkageType: ''
    returnType: block_t
    signature: block_t *block_lzo1x_decompress( vlc_object_t *p_this, block_t *p_in_block
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/util.cpp:229,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/mkv/util.cpp:232,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mkv/util.cpp:233,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/util.cpp:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - p_mem
    - i_mem
    - offset
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 238
    functionName: mkv::MemToBlock
    functionSourceFile: /src/vlc/modules/demux/mkv/util.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - block_Alloc
    - unlikely
    - likely
    linkageType: ''
    returnType: block_t
    signature: block_t *MemToBlock( uint8_t *p_mem, size_t i_mem, size_t offset)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Cook_PrivateTrackData *>
      Src: /src/vlc/modules/demux/mkv/util.cpp:244,1
    - Dst: Cook_PrivateTrackData*::p_subpackets::size
      Src: /src/vlc/modules/demux/mkv/util.cpp:249,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mkv/util.cpp:252,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/util.cpp:259,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/util.cpp:277,1
    - Dst: Cook_PrivateTrackData*::p_subpackets::size
      Src: /src/vlc/modules/demux/mkv/util.cpp:277,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mkv/util.cpp:283,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/mkv/util.cpp:286,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/util.cpp:290,1
    - Dst: Cook_PrivateTrackData*::p_subpackets::size
      Src: /src/vlc/modules/demux/mkv/util.cpp:311,1
    - Dst: Cook_PrivateTrackData*::p_subpackets::size
      Src: /src/vlc/modules/demux/mkv/util.cpp:313,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mkv/util.cpp:315,1
    - Dst: mkv::send_Block
      Src: /src/vlc/modules/demux/mkv/util.cpp:317,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 4
    argNames:
    - p_demux
    - p_tk
    - p_blk
    - i_pts
    argTypes:
    - demux_t*
    - mkv_track_t*
    - block_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 323
    functionName: mkv::handle_real_audio
    functionSourceFile: /src/vlc/modules/demux/mkv/util.cpp
    functionUses: 0
    functionsReached:
    - block_Release
    - static_cast<Cook_PrivateTrackData *>
    - memcpy
    - mkv::send_Block
    - block_Alloc
    - msg_Dbg
    - likely
    - Cook_PrivateTrackData*::p_subpackets::size
    - unlikely
    linkageType: ''
    returnType: void
    signature: void handle_real_audio(demux_t * p_demux, mkv_track_t * p_tk, block_t
      * p_blk, vlc_tick_t i_pts)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/demux/mkv/util.cpp:329,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/vlc/modules/demux/mkv/util.cpp:340,1
    - Dst: std::memchr
      Src: /src/vlc/modules/demux/mkv/util.cpp:340,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/vlc/modules/demux/mkv/util.cpp:346,1
    - Dst: std::memchr
      Src: /src/vlc/modules/demux/mkv/util.cpp:346,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/vlc/modules/demux/mkv/util.cpp:363,1
    - Dst: std::memchr
      Src: /src/vlc/modules/demux/mkv/util.cpp:363,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/vlc/modules/demux/mkv/util.cpp:367,1
    - Dst: std::memchr
      Src: /src/vlc/modules/demux/mkv/util.cpp:367,1
    - Dst: WEBVTT_Pack_CueElementsGetNewSize
      Src: /src/vlc/modules/demux/mkv/util.cpp:378,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/mkv/util.cpp:379,1
    - Dst: WEBVTT_Pack_CueElements
      Src: /src/vlc/modules/demux/mkv/util.cpp:382,1
    - Dst: block_CopyProperties
      Src: /src/vlc/modules/demux/mkv/util.cpp:383,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mkv/util.cpp:384,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mkv/util.cpp:388,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 4
    argNames:
    - p_block
    - b_webm
    - p_add
    - i_add
    argTypes:
    - block_t*
    - bool
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 390
    functionName: mkv::WEBVTT_Repack_Sample
    functionSourceFile: /src/vlc/modules/demux/mkv/util.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t *>
    - block_Release
    - memset
    - std::memchr
    - WEBVTT_Pack_CueElementsGetNewSize
    - block_CopyProperties
    - block_Alloc
    - WEBVTT_Pack_CueElements
    linkageType: ''
    returnType: block_t
    signature: "block_t *WEBVTT_Repack_Sample(block_t *p_block, bool b_webm,\n                              const
      uint8_t *p_add, size_t i_add)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: demux_sys_t*::GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/util.cpp:395,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/mkv/util.cpp:417,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/util.cpp:419,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 427
    functionName: mkv::UpdatePCR
    functionSourceFile: /src/vlc/modules/demux/mkv/util.cpp
    functionUses: 1
    functionsReached:
    - demux_sys_t*::GetCurrentVSegment
    - es_out_SetPCR
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int UpdatePCR( demux_t * p_demux )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: demux_sys_t*::GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/util.cpp:432,1
    - Dst: aout_ChannelReorder
      Src: /src/vlc/modules/demux/mkv/util.cpp:436,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/util.cpp:449,1
    - Dst: mkv::UpdatePCR
      Src: /src/vlc/modules/demux/mkv/util.cpp:460,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/mkv/util.cpp:462,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 5
    argNames:
    - p_demux
    - p_tk
    - p_block
    - i_number_frames
    - i_duration
    argTypes:
    - demux_t*
    - mkv_track_t*
    - block_t*
    - unsigned int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 429
    functionDepth: 2
    functionLinenumber: 429
    functionLinenumberEnd: 463
    functionName: mkv::send_Block
    functionSourceFile: /src/vlc/modules/demux/mkv/util.cpp
    functionUses: 2
    functionsReached:
    - demux_sys_t*::GetCurrentVSegment
    - es_out_Send
    - aout_ChannelReorder
    - mkv::UpdatePCR
    - VLC_TICK_FROM_NS
    linkageType: ''
    returnType: void
    signature: void send_Block( demux_t * p_demux, mkv_track_t * p_tk, block_t * p_block,
      unsigned int i_number_frames, uint64_t i_duration )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: skip
      Src: /src/vlc/modules/demux/mkv/util.cpp:505,1
    - Dst: GetBE16
      Src: /src/vlc/modules/demux/mkv/util.cpp:508,1
    - Dst: skip
      Src: /src/vlc/modules/demux/mkv/util.cpp:509,1
    - Dst: skip
      Src: /src/vlc/modules/demux/mkv/util.cpp:510,1
    - Dst: skip
      Src: /src/vlc/modules/demux/mkv/util.cpp:511,1
    - Dst: skip
      Src: /src/vlc/modules/demux/mkv/util.cpp:512,1
    - Dst: GetBE32
      Src: /src/vlc/modules/demux/mkv/util.cpp:513,1
    - Dst: skip
      Src: /src/vlc/modules/demux/mkv/util.cpp:514,1
    - Dst: GetBE16
      Src: /src/vlc/modules/demux/mkv/util.cpp:515,1
    - Dst: GetBE16
      Src: /src/vlc/modules/demux/mkv/util.cpp:516,1
    - Dst: GetBE16
      Src: /src/vlc/modules/demux/mkv/util.cpp:517,1
    - Dst: skip
      Src: /src/vlc/modules/demux/mkv/util.cpp:518,1
    - Dst: GetBE16
      Src: /src/vlc/modules/demux/mkv/util.cpp:526,1
    - Dst: skip
      Src: /src/vlc/modules/demux/mkv/util.cpp:527,1
    - Dst: GetBE16
      Src: /src/vlc/modules/demux/mkv/util.cpp:528,1
    - Dst: GetBE16
      Src: /src/vlc/modules/demux/mkv/util.cpp:529,1
    - Dst: skip
      Src: /src/vlc/modules/demux/mkv/util.cpp:534,1
    - Dst: skip
      Src: /src/vlc/modules/demux/mkv/util.cpp:535,1
    - Dst: GetBE16
      Src: /src/vlc/modules/demux/mkv/util.cpp:536,1
    - Dst: skip
      Src: /src/vlc/modules/demux/mkv/util.cpp:537,1
    - Dst: GetBE16
      Src: /src/vlc/modules/demux/mkv/util.cpp:538,1
    - Dst: GetBE16
      Src: /src/vlc/modules/demux/mkv/util.cpp:539,1
    - Dst: hasErrors
      Src: /src/vlc/modules/demux/mkv/util.cpp:543,1
    - Dst: resize
      Src: /src/vlc/modules/demux/mkv/util.cpp:547,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 550
    functionName: mkv::Cook_PrivateTrackData::Init
    functionSourceFile: /src/vlc/modules/demux/mkv/util.cpp
    functionUses: 0
    functionsReached:
    - GetBE32
    - resize
    - hasErrors
    - skip
    - GetBE16
    linkageType: ''
    returnType: bool
    signature: bool Cook_PrivateTrackData::Init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/util.cpp:554,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mkv/util.cpp:556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 557
    functionName: Cook_PrivateTrackData::~Cook_PrivateTrackData()
    functionSourceFile: /src/vlc/modules/demux/mkv/util.cpp
    functionUses: 0
    functionsReached:
    - size
    - block_Release
    linkageType: ''
    returnType: void
    signature: void Cook_PrivateTrackData::~Cook_PrivateTrackData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/util.cpp:569,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/demux/mkv/util.cpp:570,1
    - Dst: SetWLE
      Src: /src/vlc/modules/demux/mkv/util.cpp:571,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/demux/mkv/util.cpp:572,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/demux/mkv/util.cpp:573,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/demux/mkv/util.cpp:574,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/util.cpp:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 7
    argNames:
    - version
    - block_samples
    - flags
    - crc
    - src
    - srclen
    - dst
    argTypes:
    - uint16_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint8_t*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 576
    functionName: mkv::fill_wvpk_block
    functionSourceFile: /src/vlc/modules/demux/mkv/util.cpp
    functionUses: 1
    functionsReached:
    - SetWLE
    - SetDWLE
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void fill_wvpk_block(uint16_t version, uint32_t block_samples, uint32_t
      flags,\n                                   uint32_t crc, uint8_t * src, size_t
      srclen, uint8_t * dst)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/mkv/util.cpp:587,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/util.cpp:592,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/util.cpp:594,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/util.cpp:600,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/mkv/util.cpp:604,1
    - Dst: mkv::fill_wvpk_block
      Src: /src/vlc/modules/demux/mkv/util.cpp:608,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/mkv/util.cpp:615,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/util.cpp:621,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/util.cpp:623,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mkv/util.cpp:625,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mkv/util.cpp:633,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/demux/mkv/util.cpp:635,1
    - Dst: mkv::fill_wvpk_block
      Src: /src/vlc/modules/demux/mkv/util.cpp:640,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 3
    argNames:
    - ' tk'
    - buffer
    - size
    argTypes:
    - mkv_track_t
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (total_size >= p_block->i_buffer)
      pos:
        line_end: 632
        line_start: 632
        source_file: /src/vlc/modules/demux/mkv/util.cpp
    constantsTouched: []
    func_position:
      end: 648
      start: 578
    functionDepth: 2
    functionLinenumber: 578
    functionLinenumberEnd: 648
    functionName: mkv::packetize_wavpack
    functionSourceFile: /src/vlc/modules/demux/mkv/util.cpp
    functionUses: 0
    functionsReached:
    - assert
    - block_Realloc
    - GetWLE
    - mkv::fill_wvpk_block
    - block_Alloc
    - GetDWLE
    linkageType: ''
    returnType: block_t
    signature: block_t * packetize_wavpack( const mkv_track_t & tk, uint8_t * buffer,
      size_t  size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/demux/mkv/util.cpp:660,1
    - Dst: char::char
      Src: /src/vlc/modules/demux/mkv/util.cpp:663,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/util.cpp:666,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/util.cpp:674,1
    - Dst: strcat
      Src: /src/vlc/modules/demux/mkv/util.cpp:676,1
    - Dst: strcat
      Src: /src/vlc/modules/demux/mkv/util.cpp:677,1
    - Dst: msg_GenericVa
      Src: /src/vlc/modules/demux/mkv/util.cpp:679,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - ' demuxer'
    - i_level
    - fmt
    - args
    argTypes:
    - demux_t
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 683
    functionName: mkv::MkvTree_va
    functionSourceFile: /src/vlc/modules/demux/mkv/util.cpp
    functionUses: 7
    functionsReached:
    - msg_GenericVa
    - strlen
    - memcpy
    - msg_Err
    - strcat
    - char::char
    linkageType: ''
    returnType: void
    signature: void MkvTree_va( demux_t& demuxer, int i_level, const char* fmt, va_list
      args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vlc/modules/demux/mkv/util.cpp:687,1
    - Dst: mkv::MkvTree_va
      Src: /src/vlc/modules/demux/mkv/util.cpp:688,1
    - Dst: va_end
      Src: /src/vlc/modules/demux/mkv/util.cpp:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' demuxer'
    - i_level
    - psz_format
    argTypes:
    - demux_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 685
    functionDepth: 2
    functionLinenumber: 685
    functionLinenumberEnd: 690
    functionName: mkv::MkvTree
    functionSourceFile: /src/vlc/modules/demux/mkv/util.cpp
    functionUses: 2
    functionsReached:
    - va_end
    - mkv::MkvTree_va
    - va_start
    linkageType: ''
    returnType: void
    signature: void MkvTree( demux_t & demuxer, int i_level, const char *psz_format,
      ... )
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:117,1
    - Dst: demux_sys_t::demux_sys_t
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:126,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:128,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:129,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:133,1
    - Dst: matroska_stream_c::matroska_stream_c
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:136,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:137,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:139,1
    - Dst: demux_sys_t*::streams::push_back
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:143,1
    - Dst: demux_sys_t*::AnalyseAllSegmentsFound
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:145,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:147,1
    - Dst: matroska_stream_c*::segments::size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:151,1
    - Dst: Preload
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:153,1
    - Dst: translations::size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:155,1
    - Dst: families::size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:157,1
    - Dst: matroska_segment_c*::stored_editions::size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:162,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:164,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:168,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:170,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:172,1
    - Dst: std::string::at
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:177,1
    - Dst: std::string::length
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:177,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:179,1
    - Dst: std::string::length
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:179,1
    - Dst: std::string::find_last_of
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:183,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:185,1
    - Dst: std::string::find_last_of
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:185,1
    - Dst: vlc_opendir
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:189,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:189,1
    - Dst: vlc_readdir
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:194,1
    - Dst: strnlen
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:196,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:201,1
    - Dst: c_str
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:201,1
    - Dst: compare
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:203,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:209,1
    - Dst: c_str
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:209,1
    - Dst: length
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:209,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:210,1
    - Dst: c_str
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:210,1
    - Dst: length
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:210,1
    - Dst: vlc_path2uri
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:214,1
    - Dst: c_str
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:214,1
    - Dst: vlc_stream_NewURL
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:215,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:220,1
    - Dst: matroska_stream_c::matroska_stream_c
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:226,1
    - Dst: demux_sys_t*::AnalyseAllSegmentsFound
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:228,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:230,1
    - Dst: c_str
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:230,1
    - Dst: demux_sys_t*::streams::push_back
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:235,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:241,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:243,1
    - Dst: c_str
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:243,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:245,1
    - Dst: vlc_closedir
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:249,1
    - Dst: demux_sys_t*::PreloadFamily
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:253,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:256,1
    - Dst: demux_sys_t*::PreloadLinked
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:258,1
    - Dst: demux_sys_t*::PreparePlayback
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:259,1
    - Dst: demux_sys_t*::GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:259,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:261,1
    - Dst: demux_sys_t*::GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:265,1
    - Dst: demux_sys_t*::GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:265,1
    - Dst: demux_sys_t*::FreeUnused
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:267,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:269,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 99
    argCount: 2
    argNames:
    - p_demux
    - trust_cues
    argTypes:
    - demux_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 278
    functionName: mkv::OpenInternal
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.cpp
    functionUses: 0
    functionsReached:
    - demux_sys_t*::PreloadFamily
    - demux_sys_t*::FreeUnused
    - demux_sys_t::demux_sys_t
    - vlc_path2uri
    - length
    - matroska_stream_c*::segments::size
    - std::string::c_str
    - vlc_stream_Control
    - demux_sys_t*::GetCurrentVSegment
    - matroska_segment_c*::stored_editions::size
    - strnlen
    - demux_sys_t*::PreloadLinked
    - msg_Err
    - msg_Dbg
    - strcasecmp
    - msg_Warn
    - compare
    - vlc_stream_NewURL
    - Preload
    - var_InheritBool
    - demux_sys_t*::streams::push_back
    - vlc_readdir
    - families::size
    - demux_sys_t*::PreparePlayback
    - strncasecmp
    - vlc_stream_Peek
    - es_out_Control
    - vlc_closedir
    - vlc_stream_Delete
    - std::string::length
    - free
    - std::string::at
    - matroska_stream_c::matroska_stream_c
    - demux_sys_t*::AnalyseAllSegmentsFound
    - std::string::substr
    - c_str
    - vlc_opendir
    - unlikely
    - translations::size
    - std::string::find_last_of
    linkageType: ''
    returnType: int
    signature: int OpenInternal( demux_t *p_demux, bool trust_cues )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkv::OpenInternal
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: mkv::Open
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.cpp
    functionUses: 0
    functionsReached:
    - mkv::OpenInternal
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkv::OpenInternal
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 290
    functionName: mkv::OpenTrusted
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.cpp
    functionUses: 0
    functionsReached:
    - mkv::OpenInternal
    linkageType: ''
    returnType: int
    signature: int OpenTrusted( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<demux_t*>
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:297,1
    - Dst: demux_sys_t*::GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:299,1
    - Dst: virtual_segment_c*::CurrentSegment
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:302,1
    - Dst: matroska_segment_c*::ESDestroy
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 308
    functionName: mkv::Close
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.cpp
    functionUses: 0
    functionsReached:
    - matroska_segment_c*::ESDestroy
    - virtual_segment_c*::CurrentSegment
    - demux_sys_t*::GetCurrentVSegment
    - reinterpret_cast<demux_t*>
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_vaControl
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:329,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:332,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:333,1
    - Dst: demux_sys_t*::stored_attachments::size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:335,1
    - Dst: demux_sys_t*::stored_attachments::size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:338,1
    - Dst: static_cast<input_attachment_t**>
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:339,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:339,1
    - Dst: demux_sys_t*::stored_attachments::size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:339,1
    - Dst: demux_sys_t*::stored_attachments::size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:343,1
    - Dst: vlc_input_attachment_Hold
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:345,1
    - Dst: get
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:345,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:350,1
    - Dst: vlc_meta_Merge
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:351,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:356,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:358,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:362,1
    - Dst: static_cast<double>
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:364,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:372,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:373,1
    - Dst: mkv::Seek
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:374,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:379,1
    - Dst: demux_sys_t*::titles::size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:383,1
    - Dst: demux_sys_t*::titles::size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:383,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:385,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:386,1
    - Dst: demux_sys_t*::titles::size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:388,1
    - Dst: static_cast<input_title_t**>
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:389,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:389,1
    - Dst: demux_sys_t*::titles::size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:389,1
    - Dst: demux_sys_t*::titles::size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:391,1
    - Dst: vlc_input_title_Duplicate
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:392,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:399,1
    - Dst: demux_sys_t*::titles::size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:400,1
    - Dst: demux_sys_t*::GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:402,1
    - Dst: demux_sys_t*::GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:404,1
    - Dst: mkv::Seek
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:407,1
    - Dst: demux_sys_t*::GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:416,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:423,1
    - Dst: demux_sys_t*::titles::size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:426,1
    - Dst: mkv::Seek
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:428,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:440,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:447,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:451,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:455,1
    - Dst: demux_sys_t*::GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:457,1
    - Dst: demux_sys_t*::GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:457,1
    - Dst: demux_sys_t*::GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:459,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:474,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:475,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:476,1
    - Dst: mkv::Seek
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:477,1
    - Dst: demux_sys_t*::ev::SendEventNav
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:486,1
    - Dst: static_cast<demux_query_e>
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:486,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:492,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 120
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 497
    functionName: mkv::Control
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.cpp
    functionUses: 0
    functionsReached:
    - demux_vaControlHelper
    - static_cast<demux_query_e>
    - demux_sys_t*::GetCurrentVSegment
    - vlc_input_title_Duplicate
    - get
    - demux_sys_t*::titles::size
    - demux_sys_t*::stored_attachments::size
    - vlc_meta_Merge
    - demux_sys_t*::ev::SendEventNav
    - vlc_input_attachment_Hold
    - va_arg
    - static_cast<input_title_t**>
    - msg_Dbg
    - vlc_alloc
    - static_cast<input_attachment_t**>
    - vlc_stream_vaControl
    - static_cast<double>
    - mkv::Seek
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: demux_sys_t*::GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:503,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:505,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:506,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:510,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:515,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:520,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:525,1
    - Dst: vlc_tick_t
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:527,1
    - Dst: virtual_segment_c*::Seek
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:529,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - p_demux
    - i_mk_date
    - f_percent
    - b_precise
    argTypes:
    - demux_t*
    - vlc_tick_t
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 530
    functionName: mkv::Seek
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.cpp
    functionUses: 1
    functionsReached:
    - demux_sys_t*::GetCurrentVSegment
    - var_InheritBool
    - virtual_segment_c*::Seek
    - msg_Dbg
    - msg_Warn
    - vlc_tick_t
    linkageType: ''
    returnType: int
    signature: int Seek( demux_t *p_demux, vlc_tick_t i_mk_date, double f_percent,
      bool b_precise )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vlc_vpx_alpha_t*>
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:534,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 537
    functionName: mkv::ReleaseVpxAlpha
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.cpp
    functionUses: 0
    functionsReached:
    - free
    - static_cast<vlc_vpx_alpha_t*>
    linkageType: ''
    returnType: void
    signature: void ReleaseVpxAlpha(void *opaque)
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: demux_sys_t*::GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:546,1
    - Dst: static_cast<KaxInternalBlock&>
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:549,1
    - Dst: static_cast<KaxInternalBlock&>
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:550,1
    - Dst: matroska_segment_c*::FindTrackByBlock
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:554,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:557,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:565,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:576,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:587,1
    - Dst: NumberFrames
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:588,1
    - Dst: GetBuffer
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:593,1
    - Dst: DataBuffer*::Size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:595,1
    - Dst: DataBuffer*::Buffer
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:596,1
    - Dst: DataBuffer*::Size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:596,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:598,1
    - Dst: mkv::MemToBlock
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:605,1
    - Dst: DataBuffer*::Buffer
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:605,1
    - Dst: DataBuffer*::Size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:605,1
    - Dst: mkv_track_t::p_compression_data::GetSize
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:605,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:606,1
    - Dst: mkv::packetize_wavpack
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:607,1
    - Dst: DataBuffer*::Buffer
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:607,1
    - Dst: DataBuffer*::Size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:607,1
    - Dst: mkv::MemToBlock
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:609,1
    - Dst: DataBuffer*::Buffer
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:609,1
    - Dst: DataBuffer*::Size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:609,1
    - Dst: mkv::block_zlib_decompress
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:620,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:620,1
    - Dst: mkv::block_lzo1x_decompress
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:629,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:629,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:637,1
    - Dst: mkv_track_t::p_compression_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:637,1
    - Dst: mkv_track_t::p_compression_data::GetSize
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:637,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:640,1
    - Dst: mkv::handle_real_audio
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:650,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:651,1
    - Dst: mkv::FindChild
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:664,1
    - Dst: mkv::FindChild
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:667,1
    - Dst: static_cast<std::string::size_type>
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:670,1
    - Dst: auto::GetSize
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:670,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:671,1
    - Dst: auto::GetBuffer
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:671,1
    - Dst: mkv::WEBVTT_Repack_Sample
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:675,1
    - Dst: mkv_track_t*::codec::compare
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:676,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:685,1
    - Dst: samples_from_vlc_tick
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:688,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:694,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:696,1
    - Dst: AV1_Unpack_Sample
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:706,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:707,1
    - Dst: mkv::FindChild
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:715,1
    - Dst: mkv::FindChild
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:718,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:721,1
    - Dst: mkv::FindChild
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:724,1
    - Dst: vlc_vpx_alpha_t::vlc_vpx_alpha_t
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:728,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:729,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:731,1
    - Dst: static_cast<uint8_t*>
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:734,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:734,1
    - Dst: auto::GetSize
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:734,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:735,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:738,1
    - Dst: auto::GetSize
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:741,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:742,1
    - Dst: auto::GetBuffer
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:742,1
    - Dst: auto::GetSize
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:742,1
    - Dst: vlc_ancillary_CreateWithFreeCb
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:744,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:746,1
    - Dst: vlc_frame_AttachAncillary
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:748,1
    - Dst: vlc_ancillary_Release
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:749,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:750,1
    - Dst: mkv::ReleaseVpxAlpha
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:756,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:757,1
    - Dst: demux_sys_t*::ev::SendData
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:769,1
    - Dst: std::min
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:796,1
    - Dst: mkv::send_Block
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:800,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 157
    argCount: 8
    argNames:
    - p_demux
    - block
    - simpleblock
    - additions
    - i_pts
    - i_duration
    - b_key_picture
    - b_discardable_picture
    argTypes:
    - demux_t*
    - KaxBlock*
    - KaxSimpleBlock*
    - KaxBlockAdditions*
    - vlc_tick_t
    - uint64_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 540
    functionDepth: 5
    functionLinenumber: 540
    functionLinenumberEnd: 807
    functionName: mkv::BlockDecode
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.cpp
    functionUses: 0
    functionsReached:
    - static_cast<std::string::size_type>
    - mkv_track_t::p_compression_data::GetBuffer
    - reinterpret_cast<const uint8_t *>
    - block_Realloc
    - vlc_vpx_alpha_t::vlc_vpx_alpha_t
    - memcpy
    - mkv::packetize_wavpack
    - AV1_Unpack_Sample
    - mkv::MemToBlock
    - mkv_track_t*::codec::compare
    - DataBuffer*::Size
    - mkv::ReleaseVpxAlpha
    - vlc_ancillary_CreateWithFreeCb
    - mkv::FindChild
    - VLC_TICK_FROM_NS
    - mkv::send_Block
    - demux_sys_t*::GetCurrentVSegment
    - DataBuffer*::Buffer
    - matroska_segment_c*::FindTrackByBlock
    - auto::GetSize
    - vlc_frame_AttachAncillary
    - msg_Err
    - mkv::block_lzo1x_decompress
    - msg_Warn
    - static_cast<KaxInternalBlock&>
    - samples_from_vlc_tick
    - static_cast<uint64_t>
    - vlc_ancillary_Release
    - demux_sys_t*::ev::SendData
    - static_cast<uint8_t*>
    - likely
    - GetBuffer
    - mkv_track_t::p_compression_data::GetSize
    - block_Release
    - es_out_Control
    - GetSize
    - std::min
    - mkv::block_zlib_decompress
    - VLC_OBJECT
    - auto::GetBuffer
    - NumberFrames
    - mkv::WEBVTT_Repack_Sample
    - unlikely
    - malloc
    - mkv::handle_real_audio
    linkageType: ''
    returnType: void
    signature: "void BlockDecode( demux_t *p_demux, KaxBlock *block, KaxSimpleBlock
      *simpleblock,\n                  const KaxBlockAdditions *additions,\n                  vlc_tick_t
      i_pts, uint64_t i_duration, bool b_key_picture,\n                  bool b_discardable_picture
      )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: demux_sys_t*::GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:820,1
    - Dst: virtual_segment_c*::UpdateCurrentToChapter
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:824,1
    - Dst: demux_sys_t*::GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:826,1
    - Dst: virtual_segment_c*::CurrentSegment
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:829,1
    - Dst: matroska_segment_c*::BlockGet
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:840,1
    - Dst: virtual_segment_c*::CurrentEdition
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:843,1
    - Dst: virtual_segment_c*::CurrentEdition
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:843,1
    - Dst: virtual_segment_c*::CurrentChapter
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:845,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:858,1
    - Dst: static_cast<KaxInternalBlock&>
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:863,1
    - Dst: static_cast<KaxInternalBlock&>
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:864,1
    - Dst: matroska_segment_c*::FindTrackByBlock
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:867,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:871,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:880,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:882,1
    - Dst: mkv::UpdatePCR
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:893,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:895,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:904,1
    - Dst: GlobalTimestamp
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:904,1
    - Dst: virtual_segment_c*::CurrentEdition
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:907,1
    - Dst: virtual_segment_c*::CurrentEdition
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:908,1
    - Dst: virtual_segment_c*::CurrentChapter
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:909,1
    - Dst: mkv::BlockDecode
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:917,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 814
    functionDepth: 6
    functionLinenumber: 814
    functionLinenumberEnd: 924
    functionName: mkv::Demux
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.cpp
    functionUses: 0
    functionsReached:
    - GlobalTimestamp
    - demux_sys_t*::GetCurrentVSegment
    - matroska_segment_c*::BlockGet
    - matroska_segment_c*::FindTrackByBlock
    - virtual_segment_c*::CurrentSegment
    - mkv::BlockDecode
    - msg_Err
    - mkv::UpdatePCR
    - virtual_segment_c*::CurrentEdition
    - virtual_segment_c*::UpdateCurrentToChapter
    - msg_Warn
    - virtual_segment_c*::CurrentChapter
    - static_cast<KaxInternalBlock&>
    - VLC_TICK_FROM_NS
    - GetElementPosition
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:939,1
    - Dst: std::memset
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:953,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:955,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:965,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - es_cat
    argTypes:
    - enum es_format_category_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 926
    functionDepth: 3
    functionLinenumber: 926
    functionLinenumberEnd: 971
    functionName: mkv::mkv_track_t::mkv_track_t
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.cpp
    functionUses: 0
    functionsReached:
    - strdup
    - es_format_Init
    - std::memset
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: void
    signature: void mkv_track_t::mkv_track_t(enum es_format_category_e es_cat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:975,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:976,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (p_es == NULL)
      pos:
        line_end: 975
        line_start: 975
        source_file: /src/vlc/modules/demux/mkv/mkv.cpp
    constantsTouched: []
    func_position:
      end: 982
      start: 973
    functionDepth: 1
    functionLinenumber: 973
    functionLinenumberEnd: 982
    functionName: mkv_track_t::~mkv_track_t()
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.cpp
    functionUses: 0
    functionsReached:
    - free
    - assert
    - es_format_Clean
    linkageType: ''
    returnType: void
    signature: void mkv_track_t::~mkv_track_t()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - s
    - owner
    argTypes:
    - stream_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 987
    functionName: mkv::matroska_stream_c::matroska_stream_c
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void matroska_stream_c::matroska_stream_c( stream_t *s, bool owner
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:991,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 997
    functionName: mkv::matroska_stream_c::isUsed
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool matroska_stream_c::isUsed() const
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:117,1
    - Dst: demux_sys_t::demux_sys_t
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:126,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:128,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:129,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:133,1
    - Dst: matroska_stream_c::matroska_stream_c
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:136,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:137,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:139,1
    - Dst: demux_sys_t*::streams::push_back
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:143,1
    - Dst: demux_sys_t*::AnalyseAllSegmentsFound
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:145,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:147,1
    - Dst: matroska_stream_c*::segments::size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:151,1
    - Dst: Preload
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:153,1
    - Dst: translations::size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:155,1
    - Dst: families::size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:157,1
    - Dst: matroska_segment_c*::stored_editions::size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:162,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:164,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:168,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:170,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:172,1
    - Dst: std::string::at
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:177,1
    - Dst: std::string::length
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:177,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:179,1
    - Dst: std::string::length
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:179,1
    - Dst: std::string::find_last_of
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:183,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:185,1
    - Dst: std::string::find_last_of
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:185,1
    - Dst: vlc_opendir
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:189,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:189,1
    - Dst: vlc_readdir
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:194,1
    - Dst: strnlen
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:196,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:201,1
    - Dst: c_str
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:201,1
    - Dst: compare
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:203,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:209,1
    - Dst: c_str
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:209,1
    - Dst: length
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:209,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:210,1
    - Dst: c_str
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:210,1
    - Dst: length
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:210,1
    - Dst: vlc_path2uri
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:214,1
    - Dst: c_str
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:214,1
    - Dst: vlc_stream_NewURL
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:215,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:220,1
    - Dst: matroska_stream_c::matroska_stream_c
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:226,1
    - Dst: demux_sys_t*::AnalyseAllSegmentsFound
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:228,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:230,1
    - Dst: c_str
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:230,1
    - Dst: demux_sys_t*::streams::push_back
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:235,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:241,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:243,1
    - Dst: c_str
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:243,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:245,1
    - Dst: vlc_closedir
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:249,1
    - Dst: demux_sys_t*::PreloadFamily
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:253,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:256,1
    - Dst: demux_sys_t*::PreloadLinked
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:258,1
    - Dst: demux_sys_t*::PreparePlayback
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:259,1
    - Dst: demux_sys_t*::GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:259,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:261,1
    - Dst: demux_sys_t*::GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:265,1
    - Dst: demux_sys_t*::GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:265,1
    - Dst: demux_sys_t*::FreeUnused
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:267,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:269,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 99
    argCount: 2
    argNames:
    - p_demux
    - trust_cues
    argTypes:
    - demux_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 278
    functionName: mkv::OpenInternal
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.cpp
    functionUses: 2
    functionsReached:
    - demux_sys_t*::PreloadFamily
    - demux_sys_t*::FreeUnused
    - demux_sys_t::demux_sys_t
    - vlc_path2uri
    - length
    - matroska_stream_c*::segments::size
    - std::string::c_str
    - vlc_stream_Control
    - demux_sys_t*::GetCurrentVSegment
    - matroska_segment_c*::stored_editions::size
    - strnlen
    - demux_sys_t*::PreloadLinked
    - msg_Err
    - msg_Dbg
    - strcasecmp
    - msg_Warn
    - compare
    - vlc_stream_NewURL
    - Preload
    - var_InheritBool
    - demux_sys_t*::streams::push_back
    - vlc_readdir
    - families::size
    - demux_sys_t*::PreparePlayback
    - strncasecmp
    - vlc_stream_Peek
    - es_out_Control
    - vlc_closedir
    - vlc_stream_Delete
    - std::string::length
    - free
    - std::string::at
    - matroska_stream_c::matroska_stream_c
    - demux_sys_t*::AnalyseAllSegmentsFound
    - std::string::substr
    - c_str
    - vlc_opendir
    - unlikely
    - translations::size
    - std::string::find_last_of
    linkageType: ''
    returnType: int
    signature: int OpenInternal( demux_t *p_demux, bool trust_cues )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkv::OpenInternal
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: mkv::Open
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.cpp
    functionUses: 0
    functionsReached:
    - mkv::OpenInternal
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkv::OpenInternal
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 290
    functionName: mkv::OpenTrusted
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.cpp
    functionUses: 0
    functionsReached:
    - mkv::OpenInternal
    linkageType: ''
    returnType: int
    signature: int OpenTrusted( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<demux_t*>
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:297,1
    - Dst: demux_sys_t*::GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:299,1
    - Dst: virtual_segment_c*::CurrentSegment
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:302,1
    - Dst: matroska_segment_c*::ESDestroy
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 308
    functionName: mkv::Close
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.cpp
    functionUses: 0
    functionsReached:
    - matroska_segment_c*::ESDestroy
    - virtual_segment_c*::CurrentSegment
    - demux_sys_t*::GetCurrentVSegment
    - reinterpret_cast<demux_t*>
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_vaControl
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:329,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:332,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:333,1
    - Dst: demux_sys_t*::stored_attachments::size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:335,1
    - Dst: demux_sys_t*::stored_attachments::size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:338,1
    - Dst: static_cast<input_attachment_t**>
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:339,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:339,1
    - Dst: demux_sys_t*::stored_attachments::size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:339,1
    - Dst: demux_sys_t*::stored_attachments::size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:343,1
    - Dst: vlc_input_attachment_Hold
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:345,1
    - Dst: get
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:345,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:350,1
    - Dst: vlc_meta_Merge
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:351,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:356,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:358,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:362,1
    - Dst: static_cast<double>
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:364,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:372,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:373,1
    - Dst: mkv::Seek
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:374,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:379,1
    - Dst: demux_sys_t*::titles::size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:383,1
    - Dst: demux_sys_t*::titles::size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:383,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:385,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:386,1
    - Dst: demux_sys_t*::titles::size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:388,1
    - Dst: static_cast<input_title_t**>
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:389,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:389,1
    - Dst: demux_sys_t*::titles::size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:389,1
    - Dst: demux_sys_t*::titles::size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:391,1
    - Dst: vlc_input_title_Duplicate
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:392,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:399,1
    - Dst: demux_sys_t*::titles::size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:400,1
    - Dst: demux_sys_t*::GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:402,1
    - Dst: demux_sys_t*::GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:404,1
    - Dst: mkv::Seek
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:407,1
    - Dst: demux_sys_t*::GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:416,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:423,1
    - Dst: demux_sys_t*::titles::size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:426,1
    - Dst: mkv::Seek
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:428,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:440,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:447,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:451,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:455,1
    - Dst: demux_sys_t*::GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:457,1
    - Dst: demux_sys_t*::GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:457,1
    - Dst: demux_sys_t*::GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:459,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:474,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:475,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:476,1
    - Dst: mkv::Seek
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:477,1
    - Dst: demux_sys_t*::ev::SendEventNav
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:486,1
    - Dst: static_cast<demux_query_e>
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:486,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:492,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 120
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 497
    functionName: mkv::Control
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.cpp
    functionUses: 0
    functionsReached:
    - demux_vaControlHelper
    - static_cast<demux_query_e>
    - demux_sys_t*::GetCurrentVSegment
    - vlc_input_title_Duplicate
    - get
    - demux_sys_t*::titles::size
    - demux_sys_t*::stored_attachments::size
    - vlc_meta_Merge
    - demux_sys_t*::ev::SendEventNav
    - vlc_input_attachment_Hold
    - va_arg
    - static_cast<input_title_t**>
    - msg_Dbg
    - vlc_alloc
    - static_cast<input_attachment_t**>
    - vlc_stream_vaControl
    - static_cast<double>
    - mkv::Seek
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: demux_sys_t*::GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:503,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:505,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:506,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:510,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:515,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:520,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:525,1
    - Dst: vlc_tick_t
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:527,1
    - Dst: virtual_segment_c*::Seek
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:529,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - p_demux
    - i_mk_date
    - f_percent
    - b_precise
    argTypes:
    - demux_t*
    - vlc_tick_t
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 530
    functionName: mkv::Seek
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.cpp
    functionUses: 2
    functionsReached:
    - demux_sys_t*::GetCurrentVSegment
    - var_InheritBool
    - virtual_segment_c*::Seek
    - msg_Dbg
    - msg_Warn
    - vlc_tick_t
    linkageType: ''
    returnType: int
    signature: int Seek( demux_t *p_demux, vlc_tick_t i_mk_date, double f_percent,
      bool b_precise )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vlc_vpx_alpha_t*>
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:534,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 537
    functionName: mkv::ReleaseVpxAlpha
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.cpp
    functionUses: 1
    functionsReached:
    - free
    - static_cast<vlc_vpx_alpha_t*>
    linkageType: ''
    returnType: void
    signature: void ReleaseVpxAlpha(void *opaque)
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: demux_sys_t*::GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:546,1
    - Dst: static_cast<KaxInternalBlock&>
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:549,1
    - Dst: static_cast<KaxInternalBlock&>
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:550,1
    - Dst: matroska_segment_c*::FindTrackByBlock
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:554,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:557,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:565,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:576,1
    - Dst: GetSize
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:587,1
    - Dst: NumberFrames
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:588,1
    - Dst: GetBuffer
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:593,1
    - Dst: DataBuffer*::Size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:595,1
    - Dst: DataBuffer*::Buffer
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:596,1
    - Dst: DataBuffer*::Size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:596,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:598,1
    - Dst: mkv::MemToBlock
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:605,1
    - Dst: DataBuffer*::Buffer
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:605,1
    - Dst: DataBuffer*::Size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:605,1
    - Dst: mkv_track_t::p_compression_data::GetSize
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:605,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:606,1
    - Dst: mkv::packetize_wavpack
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:607,1
    - Dst: DataBuffer*::Buffer
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:607,1
    - Dst: DataBuffer*::Size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:607,1
    - Dst: mkv::MemToBlock
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:609,1
    - Dst: DataBuffer*::Buffer
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:609,1
    - Dst: DataBuffer*::Size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:609,1
    - Dst: mkv::block_zlib_decompress
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:620,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:620,1
    - Dst: mkv::block_lzo1x_decompress
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:629,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:629,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:637,1
    - Dst: mkv_track_t::p_compression_data::GetBuffer
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:637,1
    - Dst: mkv_track_t::p_compression_data::GetSize
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:637,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:640,1
    - Dst: mkv::handle_real_audio
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:650,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:651,1
    - Dst: mkv::FindChild
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:664,1
    - Dst: mkv::FindChild
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:667,1
    - Dst: static_cast<std::string::size_type>
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:670,1
    - Dst: auto::GetSize
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:670,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:671,1
    - Dst: auto::GetBuffer
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:671,1
    - Dst: mkv::WEBVTT_Repack_Sample
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:675,1
    - Dst: mkv_track_t*::codec::compare
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:676,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:685,1
    - Dst: samples_from_vlc_tick
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:688,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:694,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:696,1
    - Dst: AV1_Unpack_Sample
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:706,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:707,1
    - Dst: mkv::FindChild
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:715,1
    - Dst: mkv::FindChild
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:718,1
    - Dst: static_cast<uint64_t>
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:721,1
    - Dst: mkv::FindChild
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:724,1
    - Dst: vlc_vpx_alpha_t::vlc_vpx_alpha_t
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:728,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:729,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:731,1
    - Dst: static_cast<uint8_t*>
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:734,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:734,1
    - Dst: auto::GetSize
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:734,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:735,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:738,1
    - Dst: auto::GetSize
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:741,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:742,1
    - Dst: auto::GetBuffer
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:742,1
    - Dst: auto::GetSize
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:742,1
    - Dst: vlc_ancillary_CreateWithFreeCb
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:744,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:746,1
    - Dst: vlc_frame_AttachAncillary
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:748,1
    - Dst: vlc_ancillary_Release
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:749,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:750,1
    - Dst: mkv::ReleaseVpxAlpha
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:756,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:757,1
    - Dst: demux_sys_t*::ev::SendData
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:769,1
    - Dst: std::min
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:796,1
    - Dst: mkv::send_Block
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:800,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 157
    argCount: 8
    argNames:
    - p_demux
    - block
    - simpleblock
    - additions
    - i_pts
    - i_duration
    - b_key_picture
    - b_discardable_picture
    argTypes:
    - demux_t*
    - KaxBlock*
    - KaxSimpleBlock*
    - KaxBlockAdditions*
    - vlc_tick_t
    - uint64_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 540
    functionDepth: 5
    functionLinenumber: 540
    functionLinenumberEnd: 807
    functionName: mkv::BlockDecode
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.cpp
    functionUses: 1
    functionsReached:
    - static_cast<std::string::size_type>
    - mkv_track_t::p_compression_data::GetBuffer
    - reinterpret_cast<const uint8_t *>
    - block_Realloc
    - vlc_vpx_alpha_t::vlc_vpx_alpha_t
    - memcpy
    - mkv::packetize_wavpack
    - AV1_Unpack_Sample
    - mkv::MemToBlock
    - mkv_track_t*::codec::compare
    - DataBuffer*::Size
    - mkv::ReleaseVpxAlpha
    - vlc_ancillary_CreateWithFreeCb
    - mkv::FindChild
    - VLC_TICK_FROM_NS
    - mkv::send_Block
    - demux_sys_t*::GetCurrentVSegment
    - DataBuffer*::Buffer
    - matroska_segment_c*::FindTrackByBlock
    - auto::GetSize
    - vlc_frame_AttachAncillary
    - msg_Err
    - mkv::block_lzo1x_decompress
    - msg_Warn
    - static_cast<KaxInternalBlock&>
    - samples_from_vlc_tick
    - static_cast<uint64_t>
    - vlc_ancillary_Release
    - demux_sys_t*::ev::SendData
    - static_cast<uint8_t*>
    - likely
    - GetBuffer
    - mkv_track_t::p_compression_data::GetSize
    - block_Release
    - es_out_Control
    - GetSize
    - std::min
    - mkv::block_zlib_decompress
    - VLC_OBJECT
    - auto::GetBuffer
    - NumberFrames
    - mkv::WEBVTT_Repack_Sample
    - unlikely
    - malloc
    - mkv::handle_real_audio
    linkageType: ''
    returnType: void
    signature: "void BlockDecode( demux_t *p_demux, KaxBlock *block, KaxSimpleBlock
      *simpleblock,\n                  const KaxBlockAdditions *additions,\n                  vlc_tick_t
      i_pts, uint64_t i_duration, bool b_key_picture,\n                  bool b_discardable_picture
      )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: demux_sys_t*::GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:820,1
    - Dst: virtual_segment_c*::UpdateCurrentToChapter
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:824,1
    - Dst: demux_sys_t*::GetCurrentVSegment
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:826,1
    - Dst: virtual_segment_c*::CurrentSegment
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:829,1
    - Dst: matroska_segment_c*::BlockGet
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:840,1
    - Dst: virtual_segment_c*::CurrentEdition
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:843,1
    - Dst: virtual_segment_c*::CurrentEdition
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:843,1
    - Dst: virtual_segment_c*::CurrentChapter
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:845,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:858,1
    - Dst: static_cast<KaxInternalBlock&>
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:863,1
    - Dst: static_cast<KaxInternalBlock&>
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:864,1
    - Dst: matroska_segment_c*::FindTrackByBlock
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:867,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:871,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:880,1
    - Dst: GetElementPosition
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:882,1
    - Dst: mkv::UpdatePCR
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:893,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:895,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:904,1
    - Dst: GlobalTimestamp
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:904,1
    - Dst: virtual_segment_c*::CurrentEdition
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:907,1
    - Dst: virtual_segment_c*::CurrentEdition
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:908,1
    - Dst: virtual_segment_c*::CurrentChapter
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:909,1
    - Dst: mkv::BlockDecode
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:917,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 814
    functionDepth: 6
    functionLinenumber: 814
    functionLinenumberEnd: 924
    functionName: mkv::Demux
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.cpp
    functionUses: 0
    functionsReached:
    - GlobalTimestamp
    - demux_sys_t*::GetCurrentVSegment
    - matroska_segment_c*::BlockGet
    - matroska_segment_c*::FindTrackByBlock
    - virtual_segment_c*::CurrentSegment
    - mkv::BlockDecode
    - msg_Err
    - mkv::UpdatePCR
    - virtual_segment_c*::CurrentEdition
    - virtual_segment_c*::UpdateCurrentToChapter
    - msg_Warn
    - virtual_segment_c*::CurrentChapter
    - static_cast<KaxInternalBlock&>
    - VLC_TICK_FROM_NS
    - GetElementPosition
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:939,1
    - Dst: std::memset
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:953,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:955,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:965,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - es_cat
    argTypes:
    - enum es_format_category_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 926
    functionDepth: 3
    functionLinenumber: 926
    functionLinenumberEnd: 971
    functionName: mkv::mkv_track_t::mkv_track_t
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.cpp
    functionUses: 0
    functionsReached:
    - strdup
    - es_format_Init
    - std::memset
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: void
    signature: void mkv_track_t::mkv_track_t(enum es_format_category_e es_cat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:975,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:976,1
    - Dst: free
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (p_es == NULL)
      pos:
        line_end: 975
        line_start: 975
        source_file: /src/vlc/modules/demux/mkv/mkv.cpp
    constantsTouched: []
    func_position:
      end: 982
      start: 973
    functionDepth: 1
    functionLinenumber: 973
    functionLinenumberEnd: 982
    functionName: mkv_track_t::~mkv_track_t()
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.cpp
    functionUses: 0
    functionsReached:
    - free
    - assert
    - es_format_Clean
    linkageType: ''
    returnType: void
    signature: void mkv_track_t::~mkv_track_t()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - s
    - owner
    argTypes:
    - stream_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 987
    functionName: mkv::matroska_stream_c::matroska_stream_c
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void matroska_stream_c::matroska_stream_c( stream_t *s, bool owner
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/mkv.cpp:991,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 997
    functionName: mkv::matroska_stream_c::isUsed
    functionSourceFile: /src/vlc/modules/demux/mkv/mkv.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool matroska_stream_c::isUsed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Dispatcher::Dispatcher
    functionSourceFile: /src/vlc/modules/demux/mkv/dispatcher.hpp
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Dispatcher()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Impl const*>
      Src: /src/vlc/modules/demux/mkv/dispatcher.hpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - beg
    - end
    - ' payload'
    argTypes:
    - It
    - It
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: Dispatcher::iterate
    functionSourceFile: /src/vlc/modules/demux/mkv/dispatcher.hpp
    functionUses: 0
    functionsReached:
    - static_cast<Impl const*>
    linkageType: ''
    returnType: void
    signature: void iterate (It beg, It end, void* const& payload) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' callback'
    argTypes:
    - Processor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: Dispatcher::set_default_handler
    functionSourceFile: /src/vlc/modules/demux/mkv/dispatcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_default_handler (Processor const& callback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Dispatcher::on_create
    functionSourceFile: /src/vlc/modules/demux/mkv/dispatcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_create ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Dispatcher::Dispatcher
    functionSourceFile: /src/vlc/modules/demux/mkv/dispatcher.hpp
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Dispatcher()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Impl const*>
      Src: /src/vlc/modules/demux/mkv/dispatcher.hpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - beg
    - end
    - ' payload'
    argTypes:
    - It
    - It
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: Dispatcher::iterate
    functionSourceFile: /src/vlc/modules/demux/mkv/dispatcher.hpp
    functionUses: 0
    functionsReached:
    - static_cast<Impl const*>
    linkageType: ''
    returnType: void
    signature: void iterate (It beg, It end, void* const& payload) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' callback'
    argTypes:
    - Processor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: Dispatcher::set_default_handler
    functionSourceFile: /src/vlc/modules/demux/mkv/dispatcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_default_handler (Processor const& callback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Dispatcher::on_create
    functionSourceFile: /src/vlc/modules/demux/mkv/dispatcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_create ()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - DispatchType_
    - ','
    - GroupName_
    - ','
    - PayloadType_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: MKV_SWITCH_CREATE
    functionSourceFile: /src/vlc/modules/demux/mkv/dispatcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MKV_SWITCH_CREATE(DispatchType_, GroupName_, PayloadType_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 120
    functionName: MKV_SWITCH_INIT
    functionSourceFile: /src/vlc/modules/demux/mkv/dispatcher.hpp
    functionUses: 60
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MKV_SWITCH_INIT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - ClassName_
    - ','
    - RealType_
    - ','
    - Type_
    - ','
    - VariableName_
    - ','
    - PayloadName_
    - ','
    - InitializationExpr_
    - ','
    - UnwrapExpr_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 154
    functionName: MKV_SWITCH_CASE_DEFINITION
    functionSourceFile: /src/vlc/modules/demux/mkv/dispatcher.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MKV_SWITCH_CASE_DEFINITION(ClassName_, RealType_, Type_, VariableName_,
      PayloadName_, InitializationExpr_, UnwrapExpr_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - log
    - ' vm_'
    argTypes:
    - struct vlc_logger*
    - chapter_codec_vm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: mkv::matroska_script_interpreter_common_c::matroska_script_interpreter_common_c
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_script_common.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void matroska_script_interpreter_common_c( struct vlc_logger *log,
      chapter_codec_vm & vm_ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: ~matroska_script_interpreter_common_c()
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_script_common.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~matroska_script_interpreter_common_c()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - log
    - vm_
    - codec_id
    argTypes:
    - struct vlc_logger*
    - chapter_codec_vm
    - enum chapter_codec_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: mkv::matroska_script_codec_common_c::matroska_script_codec_common_c
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_script_common.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void matroska_script_codec_common_c( struct vlc_logger *log, chapter_codec_vm
      &vm_, enum chapter_codec_id codec_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - log
    - ' vm_'
    argTypes:
    - struct vlc_logger*
    - chapter_codec_vm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: mkv::matroska_script_interpreter_common_c::matroska_script_interpreter_common_c
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_script_common.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void matroska_script_interpreter_common_c( struct vlc_logger *log,
      chapter_codec_vm & vm_ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: ~matroska_script_interpreter_common_c()
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_script_common.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~matroska_script_interpreter_common_c()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - log
    - vm_
    - codec_id
    argTypes:
    - struct vlc_logger*
    - chapter_codec_vm
    - enum chapter_codec_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: mkv::matroska_script_codec_common_c::matroska_script_codec_common_c
    functionSourceFile: /src/vlc/modules/demux/mkv/chapter_command_script_common.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void matroska_script_codec_common_c( struct vlc_logger *log, chapter_codec_vm
      &vm_, enum chapter_codec_id codec_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - seg
    - p_chap
    - start
    - stop
    - ' sub_chaps'
    argTypes:
    - matroska_segment_c
    - chapter_item_c*
    - vlc_tick_t
    - vlc_tick_t
    - std::vector<virtual_chapter_c *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: mkv::virtual_chapter_c::virtual_chapter_c
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void virtual_chapter_c( matroska_segment_c &seg, chapter_item_c *p_chap,
      vlc_tick_t start, vlc_tick_t stop, std::vector<virtual_chapter_c *> & sub_chaps
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - itemA
    - itemB
    argTypes:
    - virtual_chapter_c*
    - virtual_chapter_c*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: mkv::virtual_chapter_c::CompareTimecode
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CompareTimecode( const virtual_chapter_c * itemA, const virtual_chapter_c
      * itemB )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.hpp:103,1
    - Dst: mkv::virtual_edition_c::print
      Src: /src/vlc/modules/demux/mkv/virtual_segment.hpp:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: mkv::virtual_edition_c::print
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.hpp
    functionUses: 3
    functionsReached:
    - size
    - mkv::virtual_edition_c::print
    linkageType: ''
    returnType: void
    signature: void print()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.hpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: mkv::virtual_segment_c::CurrentEdition
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.hpp
    functionUses: 10
    functionsReached:
    - size
    linkageType: ''
    returnType: virtual_edition_c
    signature: virtual_edition_c * CurrentEdition()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: mkv::virtual_segment_c::CurrentChapter
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: virtual_chapter_c
    signature: virtual_chapter_c * CurrentChapter() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: mkv::virtual_segment_c::CurrentSegment
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: matroska_segment_c
    signature: matroska_segment_c * CurrentSegment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: mkv::virtual_segment_c::Duration
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t Duration()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: mkv::virtual_segment_c::Editions
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<virtual_edition_c*>
    signature: std::vector<virtual_edition_c*> * Editions()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - seg
    - p_chap
    - start
    - stop
    - ' sub_chaps'
    argTypes:
    - matroska_segment_c
    - chapter_item_c*
    - vlc_tick_t
    - vlc_tick_t
    - std::vector<virtual_chapter_c *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: mkv::virtual_chapter_c::virtual_chapter_c
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void virtual_chapter_c( matroska_segment_c &seg, chapter_item_c *p_chap,
      vlc_tick_t start, vlc_tick_t stop, std::vector<virtual_chapter_c *> & sub_chaps
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - itemA
    - itemB
    argTypes:
    - virtual_chapter_c*
    - virtual_chapter_c*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: mkv::virtual_chapter_c::CompareTimecode
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CompareTimecode( const virtual_chapter_c * itemA, const virtual_chapter_c
      * itemB )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.hpp:103,1
    - Dst: mkv::virtual_edition_c::print
      Src: /src/vlc/modules/demux/mkv/virtual_segment.hpp:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: mkv::virtual_edition_c::print
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.hpp
    functionUses: 4
    functionsReached:
    - size
    - mkv::virtual_edition_c::print
    linkageType: ''
    returnType: void
    signature: void print()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/demux/mkv/virtual_segment.hpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: mkv::virtual_segment_c::CurrentEdition
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.hpp
    functionUses: 10
    functionsReached:
    - size
    linkageType: ''
    returnType: virtual_edition_c
    signature: virtual_edition_c * CurrentEdition()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: mkv::virtual_segment_c::CurrentChapter
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: virtual_chapter_c
    signature: virtual_chapter_c * CurrentChapter() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: mkv::virtual_segment_c::CurrentSegment
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: matroska_segment_c
    signature: matroska_segment_c * CurrentSegment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: mkv::virtual_segment_c::Duration
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t Duration()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: mkv::virtual_segment_c::Editions
    functionSourceFile: /src/vlc/modules/demux/mkv/virtual_segment.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<virtual_edition_c*>
    signature: std::vector<virtual_edition_c*> * Editions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_bswap32
      Src: /src/vlc/modules/demux/avformat/demux.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - codec_tag
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: CodecTagToFourcc
    functionSourceFile: /src/vlc/modules/demux/avformat/demux.c
    functionUses: 0
    functionsReached:
    - vlc_bswap32
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t CodecTagToFourcc( uint32_t codec_tag )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBAVCODEC_VERSION_CHECK
      Src: /src/vlc/modules/demux/avformat/demux.c:123,1
    - Dst: av_packet_side_data_get
      Src: /src/vlc/modules/demux/avformat/demux.c:126,1
    - Dst: av_stream_get_side_data
      Src: /src/vlc/modules/demux/avformat/demux.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - type
    argTypes:
    - AVStream*
    - enum AVPacketSideDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 131
    functionName: GetStreamSideData
    functionSourceFile: /src/vlc/modules/demux/avformat/demux.c
    functionUses: 0
    functionsReached:
    - LIBAVCODEC_VERSION_CHECK
    - av_stream_get_side_data
    - av_packet_side_data_get
    linkageType: ''
    returnType: void
    signature: void * GetStreamSideData(const AVStream *s, enum AVPacketSideDataType
      type)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: av_dict_get
      Src: /src/vlc/modules/demux/avformat/demux.c:140,1
    - Dst: GetStreamSideData
      Src: /src/vlc/modules/demux/avformat/demux.c:143,1
    - Dst: av_display_matrix_flip
      Src: /src/vlc/modules/demux/avformat/demux.c:150,1
    - Dst: lround
      Src: /src/vlc/modules/demux/avformat/demux.c:152,1
    - Dst: av_display_rotation_get
      Src: /src/vlc/modules/demux/avformat/demux.c:152,1
    - Dst: video_format_TransformBy
      Src: /src/vlc/modules/demux/avformat/demux.c:174,1
    - Dst: strtol
      Src: /src/vlc/modules/demux/avformat/demux.c:178,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 31
    argCount: 2
    argNames:
    - fmt
    - s
    argTypes:
    - es_format_t*
    - AVStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 192
    functionName: get_rotation
    functionSourceFile: /src/vlc/modules/demux/avformat/demux.c
    functionUses: 0
    functionsReached:
    - lround
    - av_display_rotation_get
    - video_format_TransformBy
    - strtol
    - av_display_matrix_flip
    - GetStreamSideData
    - av_dict_get
    linkageType: ''
    returnType: void
    signature: void get_rotation(es_format_t *fmt, const AVStream *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIBAVUTIL_VERSION_CHECK
      Src: /src/vlc/modules/demux/avformat/demux.c:196,1
    - Dst: GetStreamSideData
      Src: /src/vlc/modules/demux/avformat/demux.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - fmt
    - s
    argTypes:
    - es_format_t*
    - AVStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 210
    functionName: get_dovi_config
    functionSourceFile: /src/vlc/modules/demux/avformat/demux.c
    functionUses: 0
    functionsReached:
    - LIBAVUTIL_VERSION_CHECK
    - GetStreamSideData
    linkageType: ''
    returnType: void
    signature: void get_dovi_config(es_format_t *fmt, const AVStream *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetStreamSideData
      Src: /src/vlc/modules/demux/avformat/demux.c:214,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/avformat/demux.c:217,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/avformat/demux.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - fmt
    - s
    argTypes:
    - es_format_t*
    - AVStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 223
    functionName: get_palette
    functionSourceFile: /src/vlc/modules/demux/avformat/demux.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ARRAY_SIZE
    - GetStreamSideData
    linkageType: ''
    returnType: void
    signature: void get_palette(es_format_t *fmt, const AVStream *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritString
      Src: /src/vlc/modules/demux/avformat/demux.c:227,1
    - Dst: vlc_av_get_options
      Src: /src/vlc/modules/demux/avformat/demux.c:231,1
    - Dst: free
      Src: /src/vlc/modules/demux/avformat/demux.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 235
    functionName: BuildAVOptions
    functionSourceFile: /src/vlc/modules/demux/avformat/demux.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_av_get_options
    - var_InheritString
    linkageType: ''
    returnType: AVDictionary
    signature: AVDictionary * BuildAVOptions( demux_t *p_demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: av_dict_get
      Src: /src/vlc/modules/demux/avformat/demux.c:240,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/avformat/demux.c:241,1
    - Dst: av_dict_free
      Src: /src/vlc/modules/demux/avformat/demux.c:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_demux
    - pp_dict
    argTypes:
    - demux_t*
    - AVDictionary**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 244
    functionName: FreeUnclaimedOptions
    functionSourceFile: /src/vlc/modules/demux/avformat/demux.c
    functionUses: 0
    functionsReached:
    - av_dict_get
    - av_dict_free
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void FreeUnclaimedOptions( demux_t *p_demux, AVDictionary **pp_dict
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: av_dict_copy
      Src: /src/vlc/modules/demux/avformat/demux.c:258,1
    - Dst: vlc_avcodec_lock
      Src: /src/vlc/modules/demux/avformat/demux.c:261,1
    - Dst: avformat_find_stream_info
      Src: /src/vlc/modules/demux/avformat/demux.c:262,1
    - Dst: vlc_avcodec_unlock
      Src: /src/vlc/modules/demux/avformat/demux.c:263,1
    - Dst: FreeUnclaimedOptions
      Src: /src/vlc/modules/demux/avformat/demux.c:265,1
    - Dst: av_dict_free
      Src: /src/vlc/modules/demux/avformat/demux.c:267,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avformat/demux.c:272,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/demux/avformat/demux.c:273,1
    - Dst: AVUNERROR
      Src: /src/vlc/modules/demux/avformat/demux.c:273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - p_demux
    - options
    argTypes:
    - demux_t*
    - AVDictionary*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 275
    functionName: FindStreamInfo
    functionSourceFile: /src/vlc/modules/demux/avformat/demux.c
    functionUses: 0
    functionsReached:
    - vlc_strerror_c
    - AVUNERROR
    - av_dict_free
    - avformat_find_stream_info
    - vlc_avcodec_lock
    - vlc_avcodec_unlock
    - FreeUnclaimedOptions
    - msg_Warn
    - av_dict_copy
    linkageType: ''
    returnType: void
    signature: void FindStreamInfo( demux_t *p_demux, AVDictionary *options )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/avformat/demux.c:286,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/avformat/demux.c:290,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/avformat/demux.c:291,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/avformat/demux.c:294,1
    - Dst: memset
      Src: /src/vlc/modules/demux/avformat/demux.c:295,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avformat/demux.c:298,1
    - Dst: vlc_init_avformat
      Src: /src/vlc/modules/demux/avformat/demux.c:302,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/demux/avformat/demux.c:305,1
    - Dst: av_find_input_format
      Src: /src/vlc/modules/demux/avformat/demux.c:308,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avformat/demux.c:309,1
    - Dst: free
      Src: /src/vlc/modules/demux/avformat/demux.c:310,1
    - Dst: av_probe_input_format
      Src: /src/vlc/modules/demux/avformat/demux.c:314,1
    - Dst: free
      Src: /src/vlc/modules/demux/avformat/demux.c:316,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avformat/demux.c:320,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/avformat/demux.c:340,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/avformat/demux.c:346,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/avformat/demux.c:353,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/avformat/demux.c:357,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/avformat/demux.c:358,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/avformat/demux.c:359,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avformat/demux.c:365,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 3
    argNames:
    - p_this
    - AVInputFormat **pp_fmt
    - psz_url
    argTypes:
    - vlc_object_t*
    - AVF_MAYBE_CONST
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 368
    functionName: avformat_ProbeDemux
    functionSourceFile: /src/vlc/modules/demux/avformat/demux.c
    functionUses: 0
    functionsReached:
    - vlc_init_avformat
    - av_probe_input_format
    - vlc_stream_Peek
    - var_InheritString
    - memset
    - av_find_input_format
    - strlen
    - memcpy
    - free
    - strcmp
    - msg_Dbg
    - strcasecmp
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: "int avformat_ProbeDemux( vlc_object_t *p_this,\n                                AVF_MAYBE_CONST
      AVInputFormat **pp_fmt,\n                                const char *psz_url
      )"
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: avformat_ProbeDemux
      Src: /src/vlc/modules/demux/avformat/demux.c:385,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/avformat/demux.c:388,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/avformat/demux.c:393,1
    - Dst: TAB_INIT
      Src: /src/vlc/modules/demux/avformat/demux.c:402,1
    - Dst: av_malloc
      Src: /src/vlc/modules/demux/avformat/demux.c:408,1
    - Dst: avformat_CloseDemux
      Src: /src/vlc/modules/demux/avformat/demux.c:411,1
    - Dst: avformat_alloc_context
      Src: /src/vlc/modules/demux/avformat/demux.c:415,1
    - Dst: av_free
      Src: /src/vlc/modules/demux/avformat/demux.c:418,1
    - Dst: avformat_CloseDemux
      Src: /src/vlc/modules/demux/avformat/demux.c:419,1
    - Dst: avio_alloc_context
      Src: /src/vlc/modules/demux/avformat/demux.c:423,1
    - Dst: av_free
      Src: /src/vlc/modules/demux/avformat/demux.c:427,1
    - Dst: avformat_CloseDemux
      Src: /src/vlc/modules/demux/avformat/demux.c:428,1
    - Dst: BuildAVOptions
      Src: /src/vlc/modules/demux/avformat/demux.c:433,1
    - Dst: avformat_open_input
      Src: /src/vlc/modules/demux/avformat/demux.c:436,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/avformat/demux.c:439,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/demux/avformat/demux.c:440,1
    - Dst: AVUNERROR
      Src: /src/vlc/modules/demux/avformat/demux.c:440,1
    - Dst: av_dict_free
      Src: /src/vlc/modules/demux/avformat/demux.c:441,1
    - Dst: av_free
      Src: /src/vlc/modules/demux/avformat/demux.c:442,1
    - Dst: avio_context_free
      Src: /src/vlc/modules/demux/avformat/demux.c:443,1
    - Dst: avformat_CloseDemux
      Src: /src/vlc/modules/demux/avformat/demux.c:445,1
    - Dst: FindStreamInfo
      Src: /src/vlc/modules/demux/avformat/demux.c:450,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/avformat/demux.c:455,1
    - Dst: avformat_CloseDemux
      Src: /src/vlc/modules/demux/avformat/demux.c:456,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/avformat/demux.c:459,1
    - Dst: avformat_CloseDemux
      Src: /src/vlc/modules/demux/avformat/demux.c:462,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avformat/demux.c:469,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/demux/avformat/demux.c:470,1
    - Dst: AVUNERROR
      Src: /src/vlc/modules/demux/avformat/demux.c:470,1
    - Dst: GetVlcFourcc
      Src: /src/vlc/modules/demux/avformat/demux.c:485,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/avformat/demux.c:489,1
    - Dst: CodecTagToFourcc
      Src: /src/vlc/modules/demux/avformat/demux.c:490,1
    - Dst: LIBAVCODEC_VERSION_CHECK
      Src: /src/vlc/modules/demux/avformat/demux.c:492,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/avformat/demux.c:504,1
    - Dst: strstr
      Src: /src/vlc/modules/demux/avformat/demux.c:508,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/avformat/demux.c:510,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/avformat/demux.c:516,1
    - Dst: CodecTagToFourcc
      Src: /src/vlc/modules/demux/avformat/demux.c:517,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avformat/demux.c:524,1
    - Dst: GetVlcChroma
      Src: /src/vlc/modules/demux/avformat/demux.c:525,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/avformat/demux.c:527,1
    - Dst: av_find_input_format
      Src: /src/vlc/modules/demux/avformat/demux.c:533,1
    - Dst: av_find_input_format
      Src: /src/vlc/modules/demux/avformat/demux.c:534,1
    - Dst: av_find_input_format
      Src: /src/vlc/modules/demux/avformat/demux.c:534,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/avformat/demux.c:535,1
    - Dst: get_rotation
      Src: /src/vlc/modules/demux/avformat/demux.c:542,1
    - Dst: get_dovi_config
      Src: /src/vlc/modules/demux/avformat/demux.c:543,1
    - Dst: get_palette
      Src: /src/vlc/modules/demux/avformat/demux.c:544,1
    - Dst: av_guess_frame_rate
      Src: /src/vlc/modules/demux/avformat/demux.c:549,1
    - Dst: av_guess_sample_aspect_ratio
      Src: /src/vlc/modules/demux/avformat/demux.c:557,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/avformat/demux.c:566,1
    - Dst: CodecTagToFourcc
      Src: /src/vlc/modules/demux/avformat/demux.c:567,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/avformat/demux.c:568,1
    - Dst: vobsub_extra_parse
      Src: /src/vlc/modules/demux/avformat/demux.c:573,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/avformat/demux.c:578,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/avformat/demux.c:579,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/avformat/demux.c:583,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/avformat/demux.c:585,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/avformat/demux.c:593,1
    - Dst: CodecTagToFourcc
      Src: /src/vlc/modules/demux/avformat/demux.c:594,1
    - Dst: av_dict_get
      Src: /src/vlc/modules/demux/avformat/demux.c:602,1
    - Dst: vlc_input_attachment_New
      Src: /src/vlc/modules/demux/avformat/demux.c:605,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/demux/avformat/demux.c:609,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avformat/demux.c:613,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avformat/demux.c:620,1
    - Dst: av_dict_get
      Src: /src/vlc/modules/demux/avformat/demux.c:625,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/avformat/demux.c:627,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/avformat/demux.c:635,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/avformat/demux.c:648,1
    - Dst: xiph_PackHeaders
      Src: /src/vlc/modules/demux/avformat/demux.c:656,1
    - Dst: xiph_PackHeaders
      Src: /src/vlc/modules/demux/avformat/demux.c:678,1
    - Dst: xiph_PackHeaders
      Src: /src/vlc/modules/demux/avformat/demux.c:704,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/avformat/demux.c:713,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/avformat/demux.c:717,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/avformat/demux.c:727,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/demux/avformat/demux.c:729,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/avformat/demux.c:731,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avformat/demux.c:733,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/avformat/demux.c:736,1
    - Dst: FROM_AV_TS_NZ
      Src: /src/vlc/modules/demux/avformat/demux.c:740,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avformat/demux.c:742,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avformat/demux.c:743,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avformat/demux.c:745,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avformat/demux.c:746,1
    - Dst: FROM_AV_TS_NZ
      Src: /src/vlc/modules/demux/avformat/demux.c:748,1
    - Dst: vlc_input_title_New
      Src: /src/vlc/modules/demux/avformat/demux.c:752,1
    - Dst: FROM_AV_TS_NZ
      Src: /src/vlc/modules/demux/avformat/demux.c:753,1
    - Dst: vlc_seekpoint_New
      Src: /src/vlc/modules/demux/avformat/demux.c:758,1
    - Dst: av_dict_get
      Src: /src/vlc/modules/demux/avformat/demux.c:760,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/avformat/demux.c:763,1
    - Dst: EnsureUTF8
      Src: /src/vlc/modules/demux/avformat/demux.c:764,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avformat/demux.c:765,1
    - Dst: FROM_AVSCALE
      Src: /src/vlc/modules/demux/avformat/demux.c:767,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/demux/avformat/demux.c:770,1
    - Dst: ResetTime
      Src: /src/vlc/modules/demux/avformat/demux.c:773,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 236
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 370
    functionDepth: 4
    functionLinenumber: 370
    functionLinenumberEnd: 775
    functionName: avformat_OpenDemux
    functionSourceFile: /src/vlc/modules/demux/avformat/demux.c
    functionUses: 0
    functionsReached:
    - get_palette
    - vlc_strerror_c
    - xiph_PackHeaders
    - av_find_input_format
    - get_rotation
    - memcpy
    - EnsureUTF8
    - av_malloc
    - get_dovi_config
    - FROM_AV_TS_NZ
    - es_format_Init
    - av_dict_get
    - GetVlcFourcc
    - vlc_stream_Control
    - avio_context_free
    - av_free
    - av_guess_sample_aspect_ratio
    - avformat_CloseDemux
    - msg_Err
    - calloc
    - GetVlcChroma
    - av_guess_frame_rate
    - msg_Dbg
    - strstr
    - vlc_input_title_New
    - msg_Warn
    - AVUNERROR
    - CodecTagToFourcc
    - vobsub_extra_parse
    - VLC_FOURCC
    - strdup
    - ResetTime
    - TAB_APPEND
    - vlc_seekpoint_New
    - avio_alloc_context
    - strncmp
    - strcmp
    - FindStreamInfo
    - FROM_AVSCALE
    - LIBAVCODEC_VERSION_CHECK
    - avformat_ProbeDemux
    - es_format_Copy
    - GetWBE
    - avformat_open_input
    - es_out_Control
    - es_format_Clean
    - TAB_INIT
    - av_dict_free
    - vlc_input_attachment_New
    - BuildAVOptions
    - es_out_Add
    - malloc
    - avformat_alloc_context
    linkageType: ''
    returnType: int
    signature: int avformat_OpenDemux( vlc_object_t *p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/avformat/demux.c:786,1
    - Dst: free
      Src: /src/vlc/modules/demux/avformat/demux.c:787,1
    - Dst: av_free
      Src: /src/vlc/modules/demux/avformat/demux.c:793,1
    - Dst: avio_context_free
      Src: /src/vlc/modules/demux/avformat/demux.c:794,1
    - Dst: avformat_close_input
      Src: /src/vlc/modules/demux/avformat/demux.c:796,1
    - Dst: vlc_input_attachment_Release
      Src: /src/vlc/modules/demux/avformat/demux.c:800,1
    - Dst: TAB_CLEAN
      Src: /src/vlc/modules/demux/avformat/demux.c:801,1
    - Dst: vlc_input_title_Delete
      Src: /src/vlc/modules/demux/avformat/demux.c:804,1
    - Dst: free
      Src: /src/vlc/modules/demux/avformat/demux.c:806,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 807
    functionName: avformat_CloseDemux
    functionSourceFile: /src/vlc/modules/demux/avformat/demux.c
    functionUses: 1
    functionsReached:
    - avio_context_free
    - vlc_input_title_Delete
    - av_free
    - es_format_Clean
    - TAB_CLEAN
    - vlc_input_attachment_Release
    - avformat_close_input
    - free
    linkageType: ''
    returnType: void
    signature: void avformat_CloseDemux( vlc_object_t *p_this )
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: av_read_frame
      Src: /src/vlc/modules/demux/avformat/demux.c:820,1
    - Dst: AVERROR
      Src: /src/vlc/modules/demux/avformat/demux.c:824,1
    - Dst: av_packet_unref
      Src: /src/vlc/modules/demux/avformat/demux.c:831,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avformat/demux.c:838,1
    - Dst: av_packet_unref
      Src: /src/vlc/modules/demux/avformat/demux.c:839,1
    - Dst: av_packet_get_side_data
      Src: /src/vlc/modules/demux/avformat/demux.c:850,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/avformat/demux.c:855,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avformat/demux.c:857,1
    - Dst: realloc
      Src: /src/vlc/modules/demux/avformat/demux.c:858,1
    - Dst: likely
      Src: /src/vlc/modules/demux/avformat/demux.c:860,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/avformat/demux.c:863,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/avformat/demux.c:865,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/avformat/demux.c:871,1
    - Dst: av_packet_unref
      Src: /src/vlc/modules/demux/avformat/demux.c:873,1
    - Dst: BuildSsaFrame
      Src: /src/vlc/modules/demux/avformat/demux.c:881,1
    - Dst: av_packet_unref
      Src: /src/vlc/modules/demux/avformat/demux.c:884,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/avformat/demux.c:890,1
    - Dst: av_packet_unref
      Src: /src/vlc/modules/demux/avformat/demux.c:892,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/avformat/demux.c:897,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/avformat/demux.c:902,1
    - Dst: av_packet_unref
      Src: /src/vlc/modules/demux/avformat/demux.c:904,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/avformat/demux.c:907,1
    - Dst: AV1_Unpack_Sample
      Src: /src/vlc/modules/demux/avformat/demux.c:916,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/avformat/demux.c:917,1
    - Dst: av_packet_unref
      Src: /src/vlc/modules/demux/avformat/demux.c:919,1
    - Dst: FROM_AV_TS_NZ
      Src: /src/vlc/modules/demux/avformat/demux.c:927,1
    - Dst: FROM_AVSCALE
      Src: /src/vlc/modules/demux/avformat/demux.c:936,1
    - Dst: FROM_AVSCALE
      Src: /src/vlc/modules/demux/avformat/demux.c:944,1
    - Dst: FROM_AVSCALE
      Src: /src/vlc/modules/demux/avformat/demux.c:948,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/avformat/demux.c:951,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avformat/demux.c:971,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/avformat/demux.c:981,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/demux/avformat/demux.c:989,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/avformat/demux.c:990,1
    - Dst: likely
      Src: /src/vlc/modules/demux/avformat/demux.c:992,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/avformat/demux.c:995,1
    - Dst: UpdateSeekPoint
      Src: /src/vlc/modules/demux/avformat/demux.c:996,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/avformat/demux.c:1000,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/avformat/demux.c:1002,1
    - Dst: av_packet_unref
      Src: /src/vlc/modules/demux/avformat/demux.c:1004,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 108
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 812
    functionDepth: 5
    functionLinenumber: 812
    functionLinenumberEnd: 1006
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/avformat/demux.c
    functionUses: 20
    functionsReached:
    - realloc
    - memcpy
    - AV1_Unpack_Sample
    - BuildSsaFrame
    - block_Alloc
    - FROM_AV_TS_NZ
    - FREENULL
    - UpdateSeekPoint
    - memcmp
    - es_out_Send
    - __MAX
    - msg_Dbg
    - msg_Warn
    - VLC_TICK_FROM_SEC
    - strcmp
    - __MIN
    - likely
    - FROM_AVSCALE
    - av_packet_unref
    - av_read_frame
    - es_out_SetPCR
    - av_packet_get_side_data
    - block_Release
    - es_out_Control
    - AVERROR
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - p_demux
    - i_time
    argTypes:
    - demux_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1028
    functionName: UpdateSeekPoint
    functionSourceFile: /src/vlc/modules/demux/avformat/demux.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateSeekPoint( demux_t *p_demux, vlc_tick_t i_time )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FROM_AV_TS
      Src: /src/vlc/modules/demux/avformat/demux.c:1038,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/avformat/demux.c:1046,1
    - Dst: UpdateSeekPoint
      Src: /src/vlc/modules/demux/avformat/demux.c:1047,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - p_demux
    - i_time
    argTypes:
    - demux_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1049
    functionName: ResetTime
    functionSourceFile: /src/vlc/modules/demux/avformat/demux.c
    functionUses: 1
    functionsReached:
    - es_out_Control
    - FROM_AV_TS
    - UpdateSeekPoint
    linkageType: ''
    returnType: void
    signature: void ResetTime( demux_t *p_demux, int64_t i_time )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: __MIN
      Src: /src/vlc/modules/demux/avformat/demux.c:1057,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/avformat/demux.c:1058,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/avformat/demux.c:1066,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/avformat/demux.c:1073,1
    - Dst: block_heap_Alloc
      Src: /src/vlc/modules/demux/avformat/demux.c:1076,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/avformat/demux.c:1076,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/avformat/demux.c:1078,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/avformat/demux.c:1081,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - p_pkt
    - i_order
    argTypes:
    - AVPacket*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1051
    functionDepth: 2
    functionLinenumber: 1051
    functionLinenumberEnd: 1083
    functionName: BuildSsaFrame
    functionSourceFile: /src/vlc/modules/demux/avformat/demux.c
    functionUses: 1
    functionsReached:
    - sscanf
    - asprintf
    - strlen
    - vlc_tick_from_sec
    - VLC_TICK_FROM_MS
    - memcpy
    - __MIN
    - block_heap_Alloc
    linkageType: ''
    returnType: block_t
    signature: block_t *BuildSsaFrame( const AVPacket *p_pkt, unsigned i_order )
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avformat/demux.c:1099,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avformat/demux.c:1103,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/demux/avformat/demux.c:1104,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/avformat/demux.c:1110,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avformat/demux.c:1123,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avformat/demux.c:1124,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avformat/demux.c:1127,1
    - Dst: av_seek_frame
      Src: /src/vlc/modules/demux/avformat/demux.c:1132,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/demux/avformat/demux.c:1135,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/avformat/demux.c:1138,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avformat/demux.c:1144,1
    - Dst: av_seek_frame
      Src: /src/vlc/modules/demux/avformat/demux.c:1145,1
    - Dst: ResetTime
      Src: /src/vlc/modules/demux/avformat/demux.c:1148,1
    - Dst: ResetTime
      Src: /src/vlc/modules/demux/avformat/demux.c:1153,1
    - Dst: ResetTime
      Src: /src/vlc/modules/demux/avformat/demux.c:1155,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avformat/demux.c:1162,1
    - Dst: FROM_AV_TS_NZ
      Src: /src/vlc/modules/demux/avformat/demux.c:1162,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avformat/demux.c:1164,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avformat/demux.c:1168,1
    - Dst: TO_AV_TS
      Src: /src/vlc/modules/demux/avformat/demux.c:1173,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avformat/demux.c:1173,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avformat/demux.c:1174,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avformat/demux.c:1176,1
    - Dst: av_seek_frame
      Src: /src/vlc/modules/demux/avformat/demux.c:1178,1
    - Dst: ResetTime
      Src: /src/vlc/modules/demux/avformat/demux.c:1183,1
    - Dst: ResetTime
      Src: /src/vlc/modules/demux/avformat/demux.c:1185,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avformat/demux.c:1191,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avformat/demux.c:1219,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/avformat/demux.c:1222,1
    - Dst: av_dict_get
      Src: /src/vlc/modules/demux/avformat/demux.c:1224,1
    - Dst: IsUTF8
      Src: /src/vlc/modules/demux/avformat/demux.c:1225,1
    - Dst: vlc_meta_Set
      Src: /src/vlc/modules/demux/avformat/demux.c:1226,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avformat/demux.c:1234,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avformat/demux.c:1235,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/avformat/demux.c:1241,1
    - Dst: vlc_input_attachment_Hold
      Src: /src/vlc/modules/demux/avformat/demux.c:1247,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avformat/demux.c:1255,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avformat/demux.c:1256,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avformat/demux.c:1257,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avformat/demux.c:1258,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/avformat/demux.c:1263,1
    - Dst: vlc_input_title_Duplicate
      Src: /src/vlc/modules/demux/avformat/demux.c:1266,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avformat/demux.c:1274,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avformat/demux.c:1281,1
    - Dst: TO_AV_TS
      Src: /src/vlc/modules/demux/avformat/demux.c:1285,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avformat/demux.c:1288,1
    - Dst: av_seek_frame
      Src: /src/vlc/modules/demux/avformat/demux.c:1290,1
    - Dst: ResetTime
      Src: /src/vlc/modules/demux/avformat/demux.c:1294,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avformat/demux.c:1299,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avformat/demux.c:1307,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avformat/demux.c:1312,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/avformat/demux.c:1318,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 130
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1088
    functionDepth: 2
    functionLinenumber: 1088
    functionLinenumberEnd: 1322
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/avformat/demux.c
    functionUses: 135
    functionsReached:
    - demux_vaControlHelper
    - av_seek_frame
    - vlc_meta_Set
    - IsUTF8
    - ARRAY_SIZE
    - ResetTime
    - vlc_input_title_Duplicate
    - msg_Err
    - vlc_input_attachment_Hold
    - va_arg
    - malloc
    - FROM_AV_TS_NZ
    - vlc_alloc
    - msg_Warn
    - av_dict_get
    - vlc_stream_Tell
    - TO_AV_TS
    - vlc_stream_GetSize
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/avformat/demux.c:1331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - opaque
    - buf
    - buf_size
    argTypes:
    - void*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1327
    functionDepth: 1
    functionLinenumber: 1327
    functionLinenumberEnd: 1333
    functionName: IORead
    functionSourceFile: /src/vlc/modules/demux/avformat/demux.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Read
    linkageType: ''
    returnType: int
    signature: int IORead( void *opaque, uint8_t *buf, int buf_size )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/avformat/demux.c:1339,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avformat/demux.c:1342,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/avformat/demux.c:1355,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avformat/demux.c:1367,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avformat/demux.c:1373,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/avformat/demux.c:1377,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avformat/demux.c:1379,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/avformat/demux.c:1383,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - opaque
    - offset
    - whence
    argTypes:
    - void*
    - int64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1335
    functionDepth: 1
    functionLinenumber: 1335
    functionLinenumberEnd: 1384
    functionName: IOSeek
    functionSourceFile: /src/vlc/modules/demux/avformat/demux.c
    functionUses: 0
    functionsReached:
    - stream_Size
    - msg_Dbg
    - msg_Warn
    - vlc_stream_Seek
    - vlc_stream_Tell
    linkageType: ''
    returnType: int64_t
    signature: int64_t IOSeek( void *opaque, int64_t offset, int whence )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LIBAVFORMAT_VERSION_CHECK
      Src: /src/vlc/modules/demux/avformat/mux.c:92,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/avformat/mux.c:98,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avformat/mux.c:101,1
    - Dst: vlc_init_avformat
      Src: /src/vlc/modules/demux/avformat/mux.c:103,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/demux/avformat/mux.c:105,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/demux/avformat/mux.c:108,1
    - Dst: av_guess_format
      Src: /src/vlc/modules/demux/avformat/mux.c:111,1
    - Dst: free
      Src: /src/vlc/modules/demux/avformat/mux.c:112,1
    - Dst: av_guess_format
      Src: /src/vlc/modules/demux/avformat/mux.c:117,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/avformat/mux.c:121,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/avformat/mux.c:125,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/avformat/mux.c:126,1
    - Dst: avformat_alloc_context
      Src: /src/vlc/modules/demux/avformat/mux.c:130,1
    - Dst: av_strdup
      Src: /src/vlc/modules/demux/avformat/mux.c:134,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/avformat/mux.c:138,1
    - Dst: sout_AccessOutControl
      Src: /src/vlc/modules/demux/avformat/mux.c:141,1
    - Dst: avio_alloc_context
      Src: /src/vlc/modules/demux/avformat/mux.c:143,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/demux/avformat/mux.c:155,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 165
    functionName: avformat_OpenMux
    functionSourceFile: /src/vlc/modules/demux/avformat/mux.c
    functionUses: 0
    functionsReached:
    - vlc_init_avformat
    - var_InheritString
    - sout_AccessOutControl
    - LIBAVFORMAT_VERSION_CHECK
    - av_strdup
    - config_ChainParse
    - av_guess_format
    - strcmp
    - free
    - msg_Err
    - msg_Dbg
    - avio_alloc_context
    - var_GetBool
    - unlikely
    - malloc
    - avformat_alloc_context
    linkageType: ''
    returnType: int
    signature: int avformat_OpenMux( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: av_write_trailer
      Src: /src/vlc/modules/demux/avformat/mux.c:175,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/avformat/mux.c:177,1
    - Dst: avformat_free_context
      Src: /src/vlc/modules/demux/avformat/mux.c:180,1
    - Dst: av_free
      Src: /src/vlc/modules/demux/avformat/mux.c:181,1
    - Dst: free
      Src: /src/vlc/modules/demux/avformat/mux.c:183,1
    - Dst: free
      Src: /src/vlc/modules/demux/avformat/mux.c:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 185
    functionName: avformat_CloseMux
    functionSourceFile: /src/vlc/modules/demux/avformat/mux.c
    functionUses: 0
    functionsReached:
    - avformat_free_context
    - av_free
    - msg_Err
    - free
    - av_write_trailer
    linkageType: ''
    returnType: void
    signature: void avformat_CloseMux( vlc_object_t *p_this )
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avformat/mux.c:196,1
    - Dst: GetFfmpegCodec
      Src: /src/vlc/modules/demux/avformat/mux.c:198,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avformat/mux.c:201,1
    - Dst: xiph_SplitHeaders
      Src: /src/vlc/modules/demux/avformat/mux.c:212,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/avformat/mux.c:216,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avformat/mux.c:233,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/avformat/mux.c:238,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/avformat/mux.c:239,1
    - Dst: avformat_new_stream
      Src: /src/vlc/modules/demux/avformat/mux.c:245,1
    - Dst: free
      Src: /src/vlc/modules/demux/avformat/mux.c:248,1
    - Dst: LIBAVCODEC_VERSION_CHECK
      Src: /src/vlc/modules/demux/avformat/mux.c:261,1
    - Dst: LIBAVUTIL_VERSION_CHECK
      Src: /src/vlc/modules/demux/avformat/mux.c:261,1
    - Dst: av_channel_layout_default
      Src: /src/vlc/modules/demux/avformat/mux.c:262,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avformat/mux.c:269,1
    - Dst: av_dict_set
      Src: /src/vlc/modules/demux/avformat/mux.c:281,1
    - Dst: av_dict_set
      Src: /src/vlc/modules/demux/avformat/mux.c:283,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avformat/mux.c:288,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avformat/mux.c:292,1
    - Dst: av_reduce
      Src: /src/vlc/modules/demux/avformat/mux.c:300,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avformat/mux.c:304,1
    - Dst: video_format_Copy
      Src: /src/vlc/modules/demux/avformat/mux.c:314,1
    - Dst: FindFfmpegChroma
      Src: /src/vlc/modules/demux/avformat/mux.c:315,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avformat/mux.c:317,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/avformat/mux.c:319,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avformat/mux.c:320,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/demux/avformat/mux.c:322,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avformat/mux.c:326,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avformat/mux.c:329,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/demux/avformat/mux.c:333,1
    - Dst: av_codec_get_tag
      Src: /src/vlc/modules/demux/avformat/mux.c:337,1
    - Dst: av_codec_get_tag
      Src: /src/vlc/modules/demux/avformat/mux.c:341,1
    - Dst: av_malloc
      Src: /src/vlc/modules/demux/avformat/mux.c:350,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/avformat/mux.c:351,1
    - Dst: av_malloc
      Src: /src/vlc/modules/demux/avformat/mux.c:356,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/avformat/mux.c:357,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 107
    argCount: 2
    argNames:
    - p_mux
    - p_input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 362
    functionName: AddStream
    functionSourceFile: /src/vlc/modules/demux/avformat/mux.c
    functionUses: 9
    functionsReached:
    - xiph_SplitHeaders
    - memcpy
    - av_reduce
    - av_malloc
    - video_format_Clean
    - vlc_assert_unreachable
    - msg_Err
    - av_codec_get_tag
    - msg_Dbg
    - msg_Warn
    - video_format_Copy
    - FindFfmpegChroma
    - avformat_new_stream
    - LIBAVCODEC_VERSION_CHECK
    - av_channel_layout_default
    - free
    - GetFfmpegCodec
    - LIBAVUTIL_VERSION_CHECK
    - av_dict_set
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int AddStream( sout_mux_t *p_mux, sout_input_t *p_input )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avformat/mux.c:369,1
    - Dst: free
      Src: /src/vlc/modules/demux/avformat/mux.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_mux
    - p_input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: DelStream
    functionSourceFile: /src/vlc/modules/demux/avformat/mux.c
    functionUses: 1
    functionsReached:
    - free
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void DelStream( sout_mux_t *p_mux, sout_input_t *p_input )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: block_FifoGet
      Src: /src/vlc/modules/demux/avformat/mux.c:376,1
    - Dst: av_packet_alloc
      Src: /src/vlc/modules/demux/avformat/mux.c:379,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/avformat/mux.c:382,1
    - Dst: av_write_frame
      Src: /src/vlc/modules/demux/avformat/mux.c:395,1
    - Dst: av_rescale_q
      Src: /src/vlc/modules/demux/avformat/mux.c:403,1
    - Dst: av_rescale_q
      Src: /src/vlc/modules/demux/avformat/mux.c:406,1
    - Dst: av_write_frame
      Src: /src/vlc/modules/demux/avformat/mux.c:409,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/avformat/mux.c:411,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/avformat/mux.c:414,1
    - Dst: av_packet_free
      Src: /src/vlc/modules/demux/avformat/mux.c:415,1
    - Dst: av_packet_free
      Src: /src/vlc/modules/demux/avformat/mux.c:420,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/avformat/mux.c:421,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - p_mux
    - p_input
    argTypes:
    - sout_mux_t*
    - sout_input_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 423
    functionName: MuxBlock
    functionSourceFile: /src/vlc/modules/demux/avformat/mux.c
    functionUses: 2
    functionsReached:
    - block_Release
    - av_packet_free
    - block_FifoGet
    - msg_Err
    - av_packet_alloc
    - av_write_frame
    - av_rescale_q
    linkageType: ''
    returnType: int
    signature: int MuxBlock( sout_mux_t *p_mux, sout_input_t *p_input )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/avformat/mux.c:433,1
    - Dst: IOWrite
      Src: /src/vlc/modules/demux/avformat/mux.c:439,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - opaque
    - buf
    - buf_size
    - type
    - time
    argTypes:
    - void*
    - uint8_t*
    - int
    - enum AVIODataMarkerType
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 440
    functionName: IOWriteTyped
    functionSourceFile: /src/vlc/modules/demux/avformat/mux.c
    functionUses: 0
    functionsReached:
    - IOWrite
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int IOWriteTyped(void *opaque, const uint8_t *buf, int buf_size,\n
      \                enum AVIODataMarkerType type, int64_t time)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avformat/mux.c:454,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/demux/avformat/mux.c:456,1
    - Dst: vlc_av_get_options
      Src: /src/vlc/modules/demux/avformat/mux.c:459,1
    - Dst: free
      Src: /src/vlc/modules/demux/avformat/mux.c:460,1
    - Dst: av_dict_set
      Src: /src/vlc/modules/demux/avformat/mux.c:462,1
    - Dst: avformat_write_header
      Src: /src/vlc/modules/demux/avformat/mux.c:463,1
    - Dst: av_dict_get
      Src: /src/vlc/modules/demux/avformat/mux.c:465,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/avformat/mux.c:466,1
    - Dst: av_dict_free
      Src: /src/vlc/modules/demux/avformat/mux.c:468,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/avformat/mux.c:471,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/demux/avformat/mux.c:472,1
    - Dst: AVUNERROR
      Src: /src/vlc/modules/demux/avformat/mux.c:472,1
    - Dst: avio_flush
      Src: /src/vlc/modules/demux/avformat/mux.c:478,1
    - Dst: sout_MuxGetStream
      Src: /src/vlc/modules/demux/avformat/mux.c:486,1
    - Dst: MuxBlock
      Src: /src/vlc/modules/demux/avformat/mux.c:490,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - p_mux
    argTypes:
    - sout_mux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 494
    functionName: Mux
    functionSourceFile: /src/vlc/modules/demux/avformat/mux.c
    functionUses: 2
    functionsReached:
    - vlc_strerror_c
    - MuxBlock
    - av_dict_free
    - var_GetNonEmptyString
    - free
    - msg_Err
    - av_dict_set
    - vlc_av_get_options
    - msg_Dbg
    - avformat_write_header
    - AVUNERROR
    - av_dict_get
    - sout_MuxGetStream
    - avio_flush
    linkageType: ''
    returnType: int
    signature: int Mux( sout_mux_t *p_mux )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avformat/mux.c:506,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avformat/mux.c:512,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/avformat/mux.c:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - p_mux
    - i_query
    - args
    argTypes:
    - sout_mux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 521
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/avformat/mux.c
    functionUses: 136
    functionsReached:
    - va_arg
    - strdup
    linkageType: ''
    returnType: int
    signature: int Control( sout_mux_t *p_mux, int i_query, va_list args )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avformat/mux.c:537,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/avformat/mux.c:540,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/avformat/mux.c:541,1
    - Dst: sout_AccessOutWrite
      Src: /src/vlc/modules/demux/avformat/mux.c:554,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - opaque
    - buf
    - buf_size
    argTypes:
    - void*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 556
    functionName: IOWrite
    functionSourceFile: /src/vlc/modules/demux/avformat/mux.c
    functionUses: 1
    functionsReached:
    - memcpy
    - block_Alloc
    - sout_AccessOutWrite
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int IOWrite( void *opaque, const uint8_t *buf, int buf_size )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avformat/mux.c:563,1
    - Dst: sout_AccessOutSeek
      Src: /src/vlc/modules/demux/avformat/mux.c:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - opaque
    - offset
    - whence
    argTypes:
    - void*
    - int64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 575
    functionName: IOSeek
    functionSourceFile: /src/vlc/modules/demux/avformat/mux.c
    functionUses: 0
    functionsReached:
    - sout_AccessOutSeek
    - msg_Dbg
    linkageType: ''
    returnType: int64_t
    signature: int64_t IOSeek( void *opaque, int64_t offset, int whence )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - p_peek
    - i_peek
    - p_current
    - i_wanted
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: AsfObjectHelperHave
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AsfObjectHelperHave( const uint8_t *p_peek, size_t i_peek, const
      uint8_t *p_current, size_t i_wanted )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: ASF_HAVE
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASF_HAVE(n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AsfObjectHelperHave
      Src: /src/vlc/modules/demux/asf/libasf.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - p_peek
    - i_peek
    - pp_data
    - i_wanted
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: AsfObjectHelperSkip
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - AsfObjectHelperHave
    linkageType: ''
    returnType: void
    signature: void AsfObjectHelperSkip( const uint8_t *p_peek, size_t i_peek, uint8_t
      **pp_data, size_t i_wanted )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: ASF_SKIP
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASF_SKIP(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - x
    - ','
    - cmd
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: ASF_FUNCTION_READ_X
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASF_FUNCTION_READ_X(type, x, cmd )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: ASF_READ1
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASF_READ1()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: ASF_READ2
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASF_READ2()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: ASF_READ4
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASF_READ4()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: ASF_READ8
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASF_READ8()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASF_HAVE
      Src: /src/vlc/modules/demux/asf/libasf.c:95,1
    - Dst: FromCharset
      Src: /src/vlc/modules/demux/asf/libasf.c:97,1
    - Dst: ASF_SKIP
      Src: /src/vlc/modules/demux/asf/libasf.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - p_peek
    - i_peek
    - pp_data
    - i_size
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: AsfObjectHelperReadString
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - ASF_HAVE
    - FromCharset
    - ASF_SKIP
    linkageType: ''
    returnType: char
    signature: char *AsfObjectHelperReadString( const uint8_t *p_peek, size_t i_peek,
      uint8_t **pp_data, size_t i_size )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: ASF_READS
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASF_READS(n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/asf/libasf.c:119,1
    - Dst: ASF_GetGUID
      Src: /src/vlc/modules/demux/asf/libasf.c:122,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:123,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/asf/libasf.c:124,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:128,1
    - Dst: GUID_PRINT
      Src: /src/vlc/modules/demux/asf/libasf.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - s
    - p_obj
    argTypes:
    - stream_t*
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 135
    functionName: ASF_ReadObjectCommon
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - GetQWLE
    - vlc_stream_Peek
    - msg_Dbg
    - ASF_GetGUID
    - GUID_PRINT
    - vlc_stream_Tell
    linkageType: ''
    returnType: int
    signature: int ASF_ReadObjectCommon( stream_t *s, asf_object_t *p_obj )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/asf/libasf.c:141,1
    - Dst: ASF_ReadObjectCommon
      Src: /src/vlc/modules/demux/asf/libasf.c:149,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/asf/libasf.c:174,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - s
    - p_obj
    - i_boundary
    argTypes:
    - stream_t*
    - asf_object_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 176
    functionName: ASF_NextObject
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Seek
    - vlc_stream_Tell
    - ASF_ReadObjectCommon
    linkageType: ''
    returnType: int
    signature: int ASF_NextObject( stream_t *s, asf_object_t *p_obj, uint64_t i_boundary
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/asf/libasf.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pp_obj
    argTypes:
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: ASF_FreeObject_Null
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void ASF_FreeObject_Null( asf_object_t *pp_obj )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/asf/libasf.c:189,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:192,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:199,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/asf/libasf.c:206,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/asf/libasf.c:212,1
    - Dst: ASF_ReadObject
      Src: /src/vlc/modules/demux/asf/libasf.c:214,1
    - Dst: free
      Src: /src/vlc/modules/demux/asf/libasf.c:216,1
    - Dst: ASF_NextObject
      Src: /src/vlc/modules/demux/asf/libasf.c:219,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - s
    - p_obj
    argTypes:
    - stream_t*
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 183
    functionDepth: 3
    functionLinenumber: 183
    functionLinenumberEnd: 223
    functionName: ASF_ReadObject_Header
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    - ASF_ReadObject
    - ASF_NextObject
    - free
    - vlc_stream_Read
    - GetDWLE
    - msg_Dbg
    - malloc
    linkageType: ''
    returnType: int
    signature: int ASF_ReadObject_Header( stream_t *s, asf_object_t *p_obj )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/asf/libasf.c:230,1
    - Dst: ASF_GetGUID
      Src: /src/vlc/modules/demux/asf/libasf.c:233,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:234,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:235,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:238,1
    - Dst: GUID_PRINT
      Src: /src/vlc/modules/demux/asf/libasf.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - s
    - p_obj
    argTypes:
    - stream_t*
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 247
    functionName: ASF_ReadObject_Data
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - GetQWLE
    - vlc_stream_Peek
    - GetWLE
    - msg_Dbg
    - ASF_GetGUID
    - GUID_PRINT
    linkageType: ''
    returnType: int
    signature: int ASF_ReadObject_Data( stream_t *s, asf_object_t *p_obj )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/asf/libasf.c:258,1
    - Dst: ASF_GetGUID
      Src: /src/vlc/modules/demux/asf/libasf.c:262,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:263,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:264,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:265,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:269,1
    - Dst: GUID_PRINT
      Src: /src/vlc/modules/demux/asf/libasf.c:273,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/asf/libasf.c:289,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:299,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:300,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - s
    - p_obj
    argTypes:
    - stream_t*
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 304
    functionName: ASF_ReadObject_Index
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - GetQWLE
    - vlc_stream_Peek
    - GetWLE
    - calloc
    - GetDWLE
    - msg_Dbg
    - ASF_GetGUID
    - GUID_PRINT
    linkageType: ''
    returnType: int
    signature: int ASF_ReadObject_Index( stream_t *s, asf_object_t *p_obj )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/asf/libasf.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 311
    functionName: ASF_FreeObject_Index
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - FREENULL
    linkageType: ''
    returnType: void
    signature: void ASF_FreeObject_Index( asf_object_t *p_obj )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/asf/libasf.c:318,1
    - Dst: ASF_GetGUID
      Src: /src/vlc/modules/demux/asf/libasf.c:321,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:322,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:323,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:324,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:325,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:326,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:327,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/asf/libasf.c:328,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/asf/libasf.c:330,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:331,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/asf/libasf.c:332,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:332,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/asf/libasf.c:333,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:333,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:334,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:337,1
    - Dst: GUID_PRINT
      Src: /src/vlc/modules/demux/asf/libasf.c:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - s
    - p_obj
    argTypes:
    - stream_t*
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 352
    functionName: ASF_ReadObject_file_properties
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - GetQWLE
    - vlc_stream_Peek
    - VLC_TICK_FROM_MS
    - __MAX
    - GetDWLE
    - msg_Dbg
    - ASF_GetGUID
    - GUID_PRINT
    - unlikely
    linkageType: ''
    returnType: int
    signature: int ASF_ReadObject_file_properties( stream_t *s, asf_object_t *p_obj
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/asf/libasf.c:360,1
    - Dst: free
      Src: /src/vlc/modules/demux/asf/libasf.c:361,1
    - Dst: free
      Src: /src/vlc/modules/demux/asf/libasf.c:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 364
    functionName: ASF_FreeObject_metadata
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void ASF_FreeObject_metadata( asf_object_t *p_obj )
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/asf/libasf.c:376,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:380,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/asf/libasf.c:384,1
    - Dst: ASF_HAVE
      Src: /src/vlc/modules/demux/asf/libasf.c:398,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:401,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:404,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:405,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:406,1
    - Dst: ASF_READ4
      Src: /src/vlc/modules/demux/asf/libasf.c:407,1
    - Dst: ASF_HAVE
      Src: /src/vlc/modules/demux/asf/libasf.c:410,1
    - Dst: ASF_READS
      Src: /src/vlc/modules/demux/asf/libasf.c:414,1
    - Dst: ASF_READS
      Src: /src/vlc/modules/demux/asf/libasf.c:419,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/asf/libasf.c:425,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/asf/libasf.c:430,1
    - Dst: ASF_READ8
      Src: /src/vlc/modules/demux/asf/libasf.c:436,1
    - Dst: ASF_READ4
      Src: /src/vlc/modules/demux/asf/libasf.c:440,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:444,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:448,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:459,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:467,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:470,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:473,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 63
    argCount: 2
    argNames:
    - s
    - p_obj
    argTypes:
    - stream_t*
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 479
    functionName: ASF_ReadObject_metadata
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - ASF_READS
    - vlc_stream_Peek
    - GetWLE
    - ASF_READ8
    - memcpy
    - calloc
    - ASF_READ4
    - msg_Dbg
    - ASF_READ2
    - ASF_HAVE
    - malloc
    linkageType: ''
    returnType: int
    signature: int ASF_ReadObject_metadata( stream_t *s, asf_object_t *p_obj )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/asf/libasf.c:489,1
    - Dst: ASF_GetGUID
      Src: /src/vlc/modules/demux/asf/libasf.c:493,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:494,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:495,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/asf/libasf.c:502,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/asf/libasf.c:506,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:516,1
    - Dst: GUID_PRINT
      Src: /src/vlc/modules/demux/asf/libasf.c:519,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/asf/libasf.c:526,1
    - Dst: free
      Src: /src/vlc/modules/demux/asf/libasf.c:528,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/asf/libasf.c:534,1
    - Dst: ASF_ReadObject
      Src: /src/vlc/modules/demux/asf/libasf.c:537,1
    - Dst: free
      Src: /src/vlc/modules/demux/asf/libasf.c:539,1
    - Dst: ASF_NextObject
      Src: /src/vlc/modules/demux/asf/libasf.c:543,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - s
    - p_obj
    argTypes:
    - stream_t*
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 481
    functionDepth: 3
    functionLinenumber: 481
    functionLinenumberEnd: 550
    functionName: ASF_ReadObject_header_extension
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    - GetWLE
    - ASF_ReadObject
    - memcpy
    - ASF_NextObject
    - free
    - GetDWLE
    - msg_Dbg
    - vlc_stream_Read
    - ASF_GetGUID
    - GUID_PRINT
    - malloc
    linkageType: ''
    returnType: int
    signature: int ASF_ReadObject_header_extension( stream_t *s, asf_object_t *p_obj
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/asf/libasf.c:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 557
    functionName: ASF_FreeObject_header_extension
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - FREENULL
    linkageType: ''
    returnType: void
    signature: void ASF_FreeObject_header_extension( asf_object_t *p_obj )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/asf/libasf.c:567,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/asf/libasf.c:575,1
    - Dst: ASF_GetGUID
      Src: /src/vlc/modules/demux/asf/libasf.c:579,1
    - Dst: ASF_GetGUID
      Src: /src/vlc/modules/demux/asf/libasf.c:580,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:581,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:582,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:583,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:584,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:588,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/asf/libasf.c:597,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/asf/libasf.c:601,1
    - Dst: free
      Src: /src/vlc/modules/demux/asf/libasf.c:610,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/asf/libasf.c:615,1
    - Dst: free
      Src: /src/vlc/modules/demux/asf/libasf.c:618,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/asf/libasf.c:621,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:627,1
    - Dst: GUID_PRINT
      Src: /src/vlc/modules/demux/asf/libasf.c:632,1
    - Dst: GUID_PRINT
      Src: /src/vlc/modules/demux/asf/libasf.c:633,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 2
    argNames:
    - s
    - p_obj
    argTypes:
    - stream_t*
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 642
    functionName: ASF_ReadObject_stream_properties
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - GetQWLE
    - vlc_stream_Peek
    - GetWLE
    - memcpy
    - msg_Err
    - free
    - GetDWLE
    - msg_Dbg
    - ASF_GetGUID
    - GUID_PRINT
    - malloc
    linkageType: ''
    returnType: int
    signature: int ASF_ReadObject_stream_properties( stream_t *s, asf_object_t *p_obj
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/asf/libasf.c:648,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/asf/libasf.c:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 650
    functionName: ASF_FreeObject_stream_properties
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - FREENULL
    linkageType: ''
    returnType: void
    signature: void ASF_FreeObject_stream_properties( asf_object_t *p_obj )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/asf/libasf.c:661,1
    - Dst: free
      Src: /src/vlc/modules/demux/asf/libasf.c:662,1
    - Dst: free
      Src: /src/vlc/modules/demux/asf/libasf.c:663,1
    - Dst: free
      Src: /src/vlc/modules/demux/asf/libasf.c:664,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 666
    functionName: ASF_FreeObject_codec_list
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void ASF_FreeObject_codec_list( asf_object_t *p_obj )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/asf/libasf.c:676,1
    - Dst: ASF_GetGUID
      Src: /src/vlc/modules/demux/asf/libasf.c:680,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:681,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:683,1
    - Dst: GUID_PRINT
      Src: /src/vlc/modules/demux/asf/libasf.c:684,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/asf/libasf.c:694,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/asf/libasf.c:696,1
    - Dst: ASF_HAVE
      Src: /src/vlc/modules/demux/asf/libasf.c:696,1
    - Dst: free
      Src: /src/vlc/modules/demux/asf/libasf.c:698,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:704,1
    - Dst: ASF_READS
      Src: /src/vlc/modules/demux/asf/libasf.c:710,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:710,1
    - Dst: ASF_READS
      Src: /src/vlc/modules/demux/asf/libasf.c:713,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:713,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:716,1
    - Dst: ASF_HAVE
      Src: /src/vlc/modules/demux/asf/libasf.c:717,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/asf/libasf.c:719,1
    - Dst: likely
      Src: /src/vlc/modules/demux/asf/libasf.c:720,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/asf/libasf.c:721,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:729,1
    - Dst: ASF_FreeObject_codec_list
      Src: /src/vlc/modules/demux/asf/libasf.c:744,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 2
    argNames:
    - s
    - p_obj
    argTypes:
    - stream_t*
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 746
    functionName: ASF_ReadObject_codec_list
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - ASF_READS
    - vlc_stream_Peek
    - memcpy
    - ASF_FreeObject_codec_list
    - free
    - GetDWLE
    - msg_Dbg
    - ASF_READ2
    - likely
    - ASF_GetGUID
    - ASF_HAVE
    - GUID_PRINT
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int ASF_ReadObject_codec_list( stream_t *s, asf_object_t *p_obj )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FromCharset
      Src: /src/vlc/modules/demux/asf/libasf.c:750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pp_data
    - i_size
    argTypes:
    - uint8_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 753
    functionName: get_wstring
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - FromCharset
    linkageType: ''
    returnType: char
    signature: char *get_wstring( const uint8_t **pp_data, size_t i_size )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/asf/libasf.c:766,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:772,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:773,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:774,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:775,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:776,1
    - Dst: ASF_HAVE
      Src: /src/vlc/modules/demux/asf/libasf.c:778,1
    - Dst: get_wstring
      Src: /src/vlc/modules/demux/asf/libasf.c:781,1
    - Dst: get_wstring
      Src: /src/vlc/modules/demux/asf/libasf.c:782,1
    - Dst: get_wstring
      Src: /src/vlc/modules/demux/asf/libasf.c:783,1
    - Dst: get_wstring
      Src: /src/vlc/modules/demux/asf/libasf.c:784,1
    - Dst: get_wstring
      Src: /src/vlc/modules/demux/asf/libasf.c:785,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:788,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - s
    - p_obj
    argTypes:
    - stream_t*
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 757
    functionDepth: 2
    functionLinenumber: 757
    functionLinenumberEnd: 798
    functionName: ASF_ReadObject_content_description
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - get_wstring
    - vlc_stream_Peek
    - ASF_HAVE
    - msg_Dbg
    - ASF_READ2
    linkageType: ''
    returnType: int
    signature: int ASF_ReadObject_content_description(stream_t *s, asf_object_t *p_obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/asf/libasf.c:804,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/asf/libasf.c:805,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/asf/libasf.c:806,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/asf/libasf.c:807,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/asf/libasf.c:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 800
    functionDepth: 1
    functionLinenumber: 800
    functionLinenumberEnd: 809
    functionName: ASF_FreeObject_content_description
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - FREENULL
    linkageType: ''
    returnType: void
    signature: void ASF_FreeObject_content_description( asf_object_t *p_obj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/asf/libasf.c:821,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:827,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/asf/libasf.c:830,1
    - Dst: ASF_HAVE
      Src: /src/vlc/modules/demux/asf/libasf.c:836,1
    - Dst: ASF_READS
      Src: /src/vlc/modules/demux/asf/libasf.c:838,1
    - Dst: ASF_READ1
      Src: /src/vlc/modules/demux/asf/libasf.c:838,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:844,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:847,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - s
    - p_obj
    argTypes:
    - stream_t*
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 812
    functionDepth: 1
    functionLinenumber: 812
    functionLinenumberEnd: 851
    functionName: ASF_ReadObject_language_list
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - ASF_READS
    - vlc_stream_Peek
    - ASF_HAVE
    - calloc
    - ASF_READ1
    - msg_Dbg
    - ASF_READ2
    linkageType: ''
    returnType: int
    signature: int ASF_ReadObject_language_list(stream_t *s, asf_object_t *p_obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/asf/libasf.c:859,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/asf/libasf.c:860,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 853
    functionDepth: 1
    functionLinenumber: 853
    functionLinenumberEnd: 861
    functionName: ASF_FreeObject_language_list
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - FREENULL
    linkageType: ''
    returnType: void
    signature: void ASF_FreeObject_language_list( asf_object_t *p_obj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/asf/libasf.c:874,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:880,1
    - Dst: ASF_HAVE
      Src: /src/vlc/modules/demux/asf/libasf.c:885,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:887,1
    - Dst: ASF_READ4
      Src: /src/vlc/modules/demux/asf/libasf.c:890,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:895,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:898,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - s
    - p_obj
    argTypes:
    - stream_t*
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 904
    functionName: ASF_ReadObject_stream_bitrate_properties
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    - ASF_HAVE
    - ASF_READ4
    - msg_Dbg
    - ASF_READ2
    linkageType: ''
    returnType: int
    signature: "int ASF_ReadObject_stream_bitrate_properties( stream_t *s,\n                                                     asf_object_t
      *p_obj)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/asf/libasf.c:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 908
    functionName: ASF_FreeObject_stream_bitrate_properties
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void ASF_FreeObject_stream_bitrate_properties( asf_object_t *p_obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/asf/libasf.c:917,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/asf/libasf.c:918,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/asf/libasf.c:921,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/asf/libasf.c:922,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/asf/libasf.c:923,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 910
    functionDepth: 1
    functionLinenumber: 910
    functionLinenumberEnd: 924
    functionName: ASF_FreeObject_extended_stream_properties
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - free
    - FREENULL
    linkageType: ''
    returnType: void
    signature: void ASF_FreeObject_extended_stream_properties( asf_object_t *p_obj)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/asf/libasf.c:936,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:942,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:943,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:944,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:945,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:946,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:947,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:948,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:949,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:950,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:951,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:952,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:955,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:956,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:957,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:958,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/asf/libasf.c:962,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/asf/libasf.c:964,1
    - Dst: free
      Src: /src/vlc/modules/demux/asf/libasf.c:969,1
    - Dst: free
      Src: /src/vlc/modules/demux/asf/libasf.c:970,1
    - Dst: ASF_HAVE
      Src: /src/vlc/modules/demux/asf/libasf.c:975,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:977,1
    - Dst: ASF_READS
      Src: /src/vlc/modules/demux/asf/libasf.c:978,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:978,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/asf/libasf.c:982,1
    - Dst: ASF_HAVE
      Src: /src/vlc/modules/demux/asf/libasf.c:989,1
    - Dst: ASF_GetGUID
      Src: /src/vlc/modules/demux/asf/libasf.c:990,1
    - Dst: ASF_SKIP
      Src: /src/vlc/modules/demux/asf/libasf.c:991,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:992,1
    - Dst: ASF_READ4
      Src: /src/vlc/modules/demux/asf/libasf.c:993,1
    - Dst: ASF_HAVE
      Src: /src/vlc/modules/demux/asf/libasf.c:996,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/asf/libasf.c:997,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/asf/libasf.c:999,1
    - Dst: ASF_SKIP
      Src: /src/vlc/modules/demux/asf/libasf.c:1000,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/asf/libasf.c:1011,1
    - Dst: ASF_FreeObject_extended_stream_properties
      Src: /src/vlc/modules/demux/asf/libasf.c:1013,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/asf/libasf.c:1017,1
    - Dst: ASF_ReadObject
      Src: /src/vlc/modules/demux/asf/libasf.c:1018,1
    - Dst: free
      Src: /src/vlc/modules/demux/asf/libasf.c:1020,1
    - Dst: ASF_ParentObject
      Src: /src/vlc/modules/demux/asf/libasf.c:1026,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:1031,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:1032,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:1034,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:1038,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:1042,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:1043,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:1044,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:1046,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:1048,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:1050,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:1053,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:1056,1
    - Dst: GUID_PRINT
      Src: /src/vlc/modules/demux/asf/libasf.c:1057,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 87
    argCount: 2
    argNames:
    - s
    - p_obj
    argTypes:
    - stream_t*
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 926
    functionDepth: 2
    functionLinenumber: 926
    functionLinenumberEnd: 1060
    functionName: ASF_ReadObject_extended_stream_properties
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - GetWLE
    - memcpy
    - ASF_FreeObject_extended_stream_properties
    - ASF_READ2
    - ASF_ParentObject
    - ASF_SKIP
    - calloc
    - vlc_stream_Read
    - msg_Dbg
    - ASF_GetGUID
    - ASF_ReadObject
    - ASF_HAVE
    - GetQWLE
    - ASF_READS
    - vlc_stream_Peek
    - free
    - ASF_READ4
    - GetDWLE
    - GUID_PRINT
    - malloc
    linkageType: ''
    returnType: int
    signature: "int ASF_ReadObject_extended_stream_properties( stream_t *s,\n                                                      asf_object_t
      *p_obj)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/asf/libasf.c:1072,1
    - Dst: ASF_HAVE
      Src: /src/vlc/modules/demux/asf/libasf.c:1078,1
    - Dst: guidcmp
      Src: /src/vlc/modules/demux/asf/libasf.c:1081,1
    - Dst: guidcmp
      Src: /src/vlc/modules/demux/asf/libasf.c:1083,1
    - Dst: ASF_SKIP
      Src: /src/vlc/modules/demux/asf/libasf.c:1085,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:1087,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/asf/libasf.c:1088,1
    - Dst: ASF_HAVE
      Src: /src/vlc/modules/demux/asf/libasf.c:1097,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:1099,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:1106,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:1111,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - s
    - p_obj
    argTypes:
    - stream_t*
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1062
    functionDepth: 1
    functionLinenumber: 1062
    functionLinenumberEnd: 1114
    functionName: ASF_ReadObject_advanced_mutual_exclusion
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    - ASF_SKIP
    - calloc
    - msg_Dbg
    - ASF_READ2
    - ASF_HAVE
    - guidcmp
    linkageType: ''
    returnType: int
    signature: "int ASF_ReadObject_advanced_mutual_exclusion( stream_t *s,\n                                                     asf_object_t
      *p_obj)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/asf/libasf.c:1119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1115
    functionDepth: 1
    functionLinenumber: 1115
    functionLinenumberEnd: 1120
    functionName: ASF_FreeObject_advanced_mutual_exclusion
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - FREENULL
    linkageType: ''
    returnType: void
    signature: void ASF_FreeObject_advanced_mutual_exclusion( asf_object_t *p_obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/asf/libasf.c:1133,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:1139,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/asf/libasf.c:1141,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/asf/libasf.c:1143,1
    - Dst: free
      Src: /src/vlc/modules/demux/asf/libasf.c:1148,1
    - Dst: free
      Src: /src/vlc/modules/demux/asf/libasf.c:1149,1
    - Dst: ASF_HAVE
      Src: /src/vlc/modules/demux/asf/libasf.c:1155,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:1157,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:1158,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:1163,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:1165,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - s
    - p_obj
    argTypes:
    - stream_t*
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1123
    functionDepth: 1
    functionLinenumber: 1123
    functionLinenumberEnd: 1170
    functionName: ASF_ReadObject_stream_prioritization
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    - ASF_HAVE
    - calloc
    - free
    - msg_Dbg
    - ASF_READ2
    linkageType: ''
    returnType: int
    signature: "int ASF_ReadObject_stream_prioritization( stream_t *s,\n                                                 asf_object_t
      *p_obj)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/asf/libasf.c:1175,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/asf/libasf.c:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1171
    functionDepth: 1
    functionLinenumber: 1171
    functionLinenumberEnd: 1177
    functionName: ASF_FreeObject_stream_prioritization
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - FREENULL
    linkageType: ''
    returnType: void
    signature: void ASF_FreeObject_stream_prioritization( asf_object_t *p_obj)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/asf/libasf.c:1187,1
    - Dst: ASF_HAVE
      Src: /src/vlc/modules/demux/asf/libasf.c:1193,1
    - Dst: guidcmp
      Src: /src/vlc/modules/demux/asf/libasf.c:1196,1
    - Dst: guidcmp
      Src: /src/vlc/modules/demux/asf/libasf.c:1198,1
    - Dst: ASF_SKIP
      Src: /src/vlc/modules/demux/asf/libasf.c:1200,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:1202,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/asf/libasf.c:1203,1
    - Dst: ASF_HAVE
      Src: /src/vlc/modules/demux/asf/libasf.c:1212,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:1214,1
    - Dst: free
      Src: /src/vlc/modules/demux/asf/libasf.c:1217,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:1223,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:1228,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - s
    - p_obj
    argTypes:
    - stream_t*
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1179
    functionDepth: 1
    functionLinenumber: 1179
    functionLinenumberEnd: 1232
    functionName: ASF_ReadObject_bitrate_mutual_exclusion
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    - ASF_SKIP
    - calloc
    - free
    - msg_Dbg
    - ASF_READ2
    - ASF_HAVE
    - guidcmp
    linkageType: ''
    returnType: int
    signature: int ASF_ReadObject_bitrate_mutual_exclusion( stream_t *s, asf_object_t
      *p_obj )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/asf/libasf.c:1237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1233
    functionDepth: 1
    functionLinenumber: 1233
    functionLinenumberEnd: 1239
    functionName: ASF_FreeObject_bitrate_mutual_exclusion
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - FREENULL
    linkageType: ''
    returnType: void
    signature: void ASF_FreeObject_bitrate_mutual_exclusion( asf_object_t *p_obj)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/asf/libasf.c:1252,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:1258,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/asf/libasf.c:1259,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/asf/libasf.c:1260,1
    - Dst: free
      Src: /src/vlc/modules/demux/asf/libasf.c:1263,1
    - Dst: free
      Src: /src/vlc/modules/demux/asf/libasf.c:1264,1
    - Dst: ASF_HAVE
      Src: /src/vlc/modules/demux/asf/libasf.c:1272,1
    - Dst: ASF_READS
      Src: /src/vlc/modules/demux/asf/libasf.c:1275,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:1275,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:1278,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:1279,1
    - Dst: ASF_READS
      Src: /src/vlc/modules/demux/asf/libasf.c:1284,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/asf/libasf.c:1292,1
    - Dst: ASF_READ1
      Src: /src/vlc/modules/demux/asf/libasf.c:1298,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/asf/libasf.c:1308,1
    - Dst: ASF_READ1
      Src: /src/vlc/modules/demux/asf/libasf.c:1308,1
    - Dst: ASF_SKIP
      Src: /src/vlc/modules/demux/asf/libasf.c:1309,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/asf/libasf.c:1314,1
    - Dst: ASF_READ4
      Src: /src/vlc/modules/demux/asf/libasf.c:1314,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/asf/libasf.c:1320,1
    - Dst: ASF_READ8
      Src: /src/vlc/modules/demux/asf/libasf.c:1320,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/asf/libasf.c:1326,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:1326,1
    - Dst: ASF_SKIP
      Src: /src/vlc/modules/demux/asf/libasf.c:1332,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:1338,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:1340,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 2
    argNames:
    - s
    - p_obj
    argTypes:
    - stream_t*
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1241
    functionDepth: 2
    functionLinenumber: 1241
    functionLinenumberEnd: 1345
    functionName: ASF_ReadObject_extended_content_description
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - ASF_READS
    - asprintf
    - vlc_stream_Peek
    - strdup
    - ASF_HAVE
    - ASF_READ8
    - ASF_SKIP
    - calloc
    - free
    - ASF_READ1
    - ASF_READ4
    - msg_Dbg
    - ASF_READ2
    - malloc
    linkageType: ''
    returnType: int
    signature: "int ASF_ReadObject_extended_content_description( stream_t *s,\n                                                        asf_object_t
      *p_obj)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/asf/libasf.c:1353,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/asf/libasf.c:1354,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/asf/libasf.c:1356,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/asf/libasf.c:1357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1346
    functionDepth: 1
    functionLinenumber: 1346
    functionLinenumberEnd: 1358
    functionName: ASF_FreeObject_extended_content_description
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - FREENULL
    linkageType: ''
    returnType: void
    signature: void ASF_FreeObject_extended_content_description( asf_object_t *p_obj)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/asf/libasf.c:1368,1
    - Dst: ASF_HAVE
      Src: /src/vlc/modules/demux/asf/libasf.c:1374,1
    - Dst: ASF_GetGUID
      Src: /src/vlc/modules/demux/asf/libasf.c:1377,1
    - Dst: ASF_SKIP
      Src: /src/vlc/modules/demux/asf/libasf.c:1378,1
    - Dst: ASF_READ4
      Src: /src/vlc/modules/demux/asf/libasf.c:1379,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:1380,1
    - Dst: ASF_READS
      Src: /src/vlc/modules/demux/asf/libasf.c:1381,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:1381,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/asf/libasf.c:1385,1
    - Dst: free
      Src: /src/vlc/modules/demux/asf/libasf.c:1389,1
    - Dst: ASF_HAVE
      Src: /src/vlc/modules/demux/asf/libasf.c:1397,1
    - Dst: ASF_READ8
      Src: /src/vlc/modules/demux/asf/libasf.c:1400,1
    - Dst: ASF_READ8
      Src: /src/vlc/modules/demux/asf/libasf.c:1401,1
    - Dst: ASF_READ2
      Src: /src/vlc/modules/demux/asf/libasf.c:1402,1
    - Dst: ASF_READ4
      Src: /src/vlc/modules/demux/asf/libasf.c:1403,1
    - Dst: ASF_READ4
      Src: /src/vlc/modules/demux/asf/libasf.c:1404,1
    - Dst: ASF_READ4
      Src: /src/vlc/modules/demux/asf/libasf.c:1405,1
    - Dst: ASF_READS
      Src: /src/vlc/modules/demux/asf/libasf.c:1407,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:1414,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:1417,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - s
    - p_obj
    argTypes:
    - stream_t*
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1360
    functionDepth: 1
    functionLinenumber: 1360
    functionLinenumberEnd: 1420
    functionName: ASF_ReadObject_marker
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - ASF_READS
    - vlc_stream_Peek
    - ASF_READ8
    - ASF_SKIP
    - calloc
    - ASF_READ4
    - free
    - msg_Dbg
    - ASF_READ2
    - ASF_GetGUID
    - ASF_HAVE
    linkageType: ''
    returnType: int
    signature: int ASF_ReadObject_marker(stream_t *s, asf_object_t *p_obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/asf/libasf.c:1427,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/asf/libasf.c:1429,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/asf/libasf.c:1430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1421
    functionDepth: 1
    functionLinenumber: 1421
    functionLinenumberEnd: 1431
    functionName: ASF_FreeObject_marker
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - FREENULL
    linkageType: ''
    returnType: void
    signature: void ASF_FreeObject_marker( asf_object_t *p_obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/asf/libasf.c:1441,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:1454,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:1455,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:1460,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/asf/libasf.c:1472,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:1484,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:1485,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - s
    - p_obj
    argTypes:
    - stream_t*
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1433
    functionDepth: 1
    functionLinenumber: 1433
    functionLinenumberEnd: 1489
    functionName: ASF_ReadObject_timecode_index
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - calloc
    - GetDWLE
    - vlc_stream_Peek
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int ASF_ReadObject_timecode_index(stream_t *s, asf_object_t *p_obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/asf/libasf.c:1498,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:1502,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:1503,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/libasf.c:1504,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:1507,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - s
    - p_obj
    argTypes:
    - stream_t*
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1517
      start: 1491
    functionDepth: 1
    functionLinenumber: 1491
    functionLinenumberEnd: 1517
    functionName: ASF_ReadObject_timecode_index_parameters
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - GetDWLE
    - vlc_stream_Peek
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int ASF_ReadObject_timecode_index_parameters(stream_t *s, asf_object_t
      *p_obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/asf/libasf.c:1523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1519
    functionDepth: 1
    functionLinenumber: 1519
    functionLinenumberEnd: 1524
    functionName: ASF_FreeObject_timecode_index
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - FREENULL
    linkageType: ''
    returnType: void
    signature: void ASF_FreeObject_timecode_index( asf_object_t *p_obj )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/asf/libasf.c:1528,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/asf/libasf.c:1529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - p_obj
    argTypes:
    - stream_t*
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1526
    functionDepth: 1
    functionLinenumber: 1526
    functionLinenumberEnd: 1531
    functionName: ASF_ReadObject_Raw
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int ASF_ReadObject_Raw(stream_t *s, asf_object_t *p_obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p_father
    - p_obj
    argTypes:
    - asf_object_t*
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1611
      start: 1597
    functionDepth: 0
    functionLinenumber: 1597
    functionLinenumberEnd: 1611
    functionName: ASF_ParentObject
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASF_ParentObject( asf_object_t *p_father, asf_object_t *p_obj
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/asf/libasf.c:1615,1
    - Dst: guidcmp
      Src: /src/vlc/modules/demux/asf/libasf.c:1617,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - vlc_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1613
    functionDepth: 1
    functionLinenumber: 1613
    functionLinenumberEnd: 1621
    functionName: ASF_GetObject_Function
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - guidcmp
    - ARRAY_SIZE
    linkageType: ''
    returnType: struct ASF_Object_Function_entry
    signature: struct ASF_Object_Function_entry * ASF_GetObject_Function( const vlc_guid_t
      *id )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/demux/asf/libasf.c:1631,1
    - Dst: ASF_ReadObjectCommon
      Src: /src/vlc/modules/demux/asf/libasf.c:1633,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/asf/libasf.c:1635,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/asf/libasf.c:1635,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/asf/libasf.c:1646,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/asf/libasf.c:1646,1
    - Dst: ASF_GetObject_Function
      Src: /src/vlc/modules/demux/asf/libasf.c:1651,1
    - Dst: struct ASF_Object_Function_entry*::ASF_ReadObject_function
      Src: /src/vlc/modules/demux/asf/libasf.c:1658,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/asf/libasf.c:1662,1
    - Dst: GUID_PRINT
      Src: /src/vlc/modules/demux/asf/libasf.c:1663,1
    - Dst: ASF_ParentObject
      Src: /src/vlc/modules/demux/asf/libasf.c:1668,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - s
    - p_obj
    - p_father
    argTypes:
    - stream_t*
    - asf_object_t*
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1623
    functionDepth: 2
    functionLinenumber: 1623
    functionLinenumberEnd: 1671
    functionName: ASF_ReadObject
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 3
    functionsReached:
    - ASF_GetObject_Function
    - ASF_ParentObject
    - memset
    - struct ASF_Object_Function_entry*::ASF_ReadObject_function
    - ASF_ReadObjectCommon
    - msg_Warn
    - GUID_PRINT
    - vlc_stream_Tell
    linkageType: ''
    returnType: int
    signature: "int ASF_ReadObject( stream_t *s, asf_object_t *p_obj,\n                           asf_object_t
      *p_father )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASF_FreeObject
      Src: /src/vlc/modules/demux/asf/libasf.c:1686,1
    - Dst: ASF_GetObject_Function
      Src: /src/vlc/modules/demux/asf/libasf.c:1692,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:1697,1
    - Dst: GUID_PRINT
      Src: /src/vlc/modules/demux/asf/libasf.c:1699,1
    - Dst: struct ASF_Object_Function_entry*::ASF_FreeObject_function
      Src: /src/vlc/modules/demux/asf/libasf.c:1701,1
    - Dst: free
      Src: /src/vlc/modules/demux/asf/libasf.c:1704,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - s
    - p_obj
    argTypes:
    - stream_t*
    - asf_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1673
    functionDepth: 2
    functionLinenumber: 1673
    functionLinenumberEnd: 1705
    functionName: ASF_FreeObject
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 1
    functionsReached:
    - ASF_GetObject_Function
    - ASF_FreeObject
    - free
    - msg_Dbg
    - struct ASF_Object_Function_entry*::ASF_FreeObject_function
    - GUID_PRINT
    linkageType: ''
    returnType: void
    signature: void ASF_FreeObject( stream_t *s, asf_object_t *p_obj )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: guidcmp
      Src: /src/vlc/modules/demux/asf/libasf.c:1762,1
    - Dst: memset
      Src: /src/vlc/modules/demux/asf/libasf.c:1772,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/asf/libasf.c:1777,1
    - Dst: GUID_PRINT
      Src: /src/vlc/modules/demux/asf/libasf.c:1785,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/libasf.c:1791,1
    - Dst: ASF_ObjectDumpDebug
      Src: /src/vlc/modules/demux/asf/libasf.c:1796,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - p_obj
    - p_node
    - i_level
    argTypes:
    - vlc_object_t*
    - asf_object_common_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1752
    functionDepth: 1
    functionLinenumber: 1752
    functionLinenumberEnd: 1798
    functionName: ASF_ObjectDumpDebug
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 1
    functionsReached:
    - memset
    - ASF_ObjectDumpDebug
    - guidcmp
    - msg_Dbg
    - GUID_PRINT
    - snprintf
    linkageType: ''
    returnType: void
    signature: "void ASF_ObjectDumpDebug( vlc_object_t *p_obj,\n                                 asf_object_common_t
      *p_node, unsigned i_level )"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/demux/asf/libasf.c:1805,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/asf/libasf.c:1813,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/asf/libasf.c:1814,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/asf/libasf.c:1830,1
    - Dst: ASF_ReadObject
      Src: /src/vlc/modules/demux/asf/libasf.c:1832,1
    - Dst: free
      Src: /src/vlc/modules/demux/asf/libasf.c:1834,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/asf/libasf.c:1856,1
    - Dst: GUID_PRINT
      Src: /src/vlc/modules/demux/asf/libasf.c:1857,1
    - Dst: guidcmp
      Src: /src/vlc/modules/demux/asf/libasf.c:1862,1
    - Dst: ASF_NextObject
      Src: /src/vlc/modules/demux/asf/libasf.c:1879,1
    - Dst: ASF_FindObject
      Src: /src/vlc/modules/demux/asf/libasf.c:1885,1
    - Dst: ASF_FindObject
      Src: /src/vlc/modules/demux/asf/libasf.c:1891,1
    - Dst: ASF_FindObject
      Src: /src/vlc/modules/demux/asf/libasf.c:1897,1
    - Dst: ASF_FindObject
      Src: /src/vlc/modules/demux/asf/libasf.c:1900,1
    - Dst: ASF_ObjectDumpDebug
      Src: /src/vlc/modules/demux/asf/libasf.c:1904,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/asf/libasf.c:1904,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/asf/libasf.c:1908,1
    - Dst: ASF_FreeObjectRoot
      Src: /src/vlc/modules/demux/asf/libasf.c:1912,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 76
    argCount: 2
    argNames:
    - s
    - b_seekable
    argTypes:
    - stream_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1914
      start: 1803
    functionDepth: 3
    functionLinenumber: 1803
    functionLinenumberEnd: 1914
    functionName: ASF_ReadObjectRoot
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - ASF_ReadObject
    - ASF_ObjectDumpDebug
    - memcpy
    - ASF_NextObject
    - ASF_FindObject
    - free
    - VLC_OBJECT
    - msg_Warn
    - GUID_PRINT
    - vlc_stream_Tell
    - guidcmp
    - malloc
    - ASF_FreeObjectRoot
    linkageType: ''
    returnType: asf_object_root_t
    signature: asf_object_root_t *ASF_ReadObjectRoot( stream_t *s, int b_seekable
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASF_FreeObject
      Src: /src/vlc/modules/demux/asf/libasf.c:1925,1
    - Dst: free
      Src: /src/vlc/modules/demux/asf/libasf.c:1928,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - s
    - p_root
    argTypes:
    - stream_t*
    - asf_object_root_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1929
      start: 1916
    functionDepth: 3
    functionLinenumber: 1916
    functionLinenumberEnd: 1929
    functionName: ASF_FreeObjectRoot
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 1
    functionsReached:
    - free
    - ASF_FreeObject
    linkageType: ''
    returnType: void
    signature: void ASF_FreeObjectRoot( stream_t *s, asf_object_root_t *p_root )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: guidcmp
      Src: /src/vlc/modules/demux/asf/libasf.c:1944,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - _p_obj
    - p_guid
    argTypes:
    - void*
    - vlc_guid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1950
      start: 1931
    functionDepth: 1
    functionLinenumber: 1931
    functionLinenumberEnd: 1950
    functionName: ASF_CountObject
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 0
    functionsReached:
    - guidcmp
    linkageType: ''
    returnType: int
    signature: int ASF_CountObject( void *_p_obj, const vlc_guid_t *p_guid )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: guidcmp
      Src: /src/vlc/modules/demux/asf/libasf.c:1962,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - _p_obj
    - p_guid
    - i_number
    argTypes:
    - void*
    - vlc_guid_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1972
      start: 1952
    functionDepth: 1
    functionLinenumber: 1952
    functionLinenumberEnd: 1972
    functionName: ASF_FindObject
    functionSourceFile: /src/vlc/modules/demux/asf/libasf.c
    functionUses: 1
    functionsReached:
    - guidcmp
    linkageType: ''
    returnType: void
    signature: "void *ASF_FindObject( void *_p_obj, const vlc_guid_t *p_guid,\n                        int
      i_number )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/libasf_guid.h:268,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/asf/libasf_guid.h:269,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/asf/libasf_guid.h:270,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/asf/libasf_guid.h:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p_guid
    - p_data
    argTypes:
    - vlc_guid_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 272
    functionName: ASF_GetGUID
    functionSourceFile: /src/vlc/modules/demux/asf/libasf_guid.h
    functionUses: 9
    functionsReached:
    - GetDWLE
    - memcpy
    - GetWLE
    linkageType: ''
    returnType: void
    signature: void ASF_GetGUID( vlc_guid_t *p_guid, const uint8_t *p_data )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/asf/asfpacket.c:60,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/asfpacket.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 5
    argNames:
    - var
    - p
    - skip
    - left
    - bits
    argTypes:
    - uint32_t*
    - uint8_t*
    - unsigned int*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 71
    functionName: GetValue2b
    functionSourceFile: /src/vlc/modules/demux/asf/asfpacket.c
    functionUses: 0
    functionsReached:
    - GetDWLE
    - GetWLE
    linkageType: ''
    returnType: int
    signature: int GetValue2b(uint32_t *var, const uint8_t *p, unsigned int *skip,
      int left, int bits)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/asf/asfpacket.c:88,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/asf/asfpacket.c:90,1
    - Dst: asf_packet_sys_t*::pf_send
      Src: /src/vlc/modules/demux/asf/asfpacket.c:107,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/asf/asfpacket.c:110,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/demux/asf/asfpacket.c:112,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/demux/asf/asfpacket.c:121,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 10
    argNames:
    - p_packetsys
    - i_stream_number
    - p_tkinfo
    - i_sub_payload_data_length
    - i_pts
    - i_dts
    - i_media_object_number
    - i_media_object_offset
    - b_keyframe
    - b_ignore_pts
    argTypes:
    - asf_packet_sys_t*
    - uint8_t
    - asf_track_info_t*
    - uint32_t
    - vlc_tick_t
    - vlc_tick_t
    - uint32_t
    - uint32_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 124
    functionName: DemuxSubPayload
    functionSourceFile: /src/vlc/modules/demux/asf/asfpacket.c
    functionUses: 0
    functionsReached:
    - vlc_warning
    - block_ChainAppend
    - vlc_stream_Read
    - vlc_debug
    - asf_packet_sys_t*::pf_send
    - vlc_stream_Block
    linkageType: ''
    returnType: int
    signature: "int DemuxSubPayload( asf_packet_sys_t *p_packetsys,\n                            uint8_t
      i_stream_number, asf_track_info_t *p_tkinfo,\n                            uint32_t
      i_sub_payload_data_length, vlc_tick_t i_pts, vlc_tick_t i_dts,\n                            uint32_t
      i_media_object_number, uint32_t i_media_object_offset,\n                            bool
      b_keyframe, bool b_ignore_pts )"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/asf/asfpacket.c:144,1
    - Dst: guidcmp
      Src: /src/vlc/modules/demux/asf/asfpacket.c:156,1
    - Dst: guidcmp
      Src: /src/vlc/modules/demux/asf/asfpacket.c:161,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/asfpacket.c:165,1
    - Dst: guidcmp
      Src: /src/vlc/modules/demux/asf/asfpacket.c:175,1
    - Dst: asf_packet_sys_t*::pf_setaspectratio
      Src: /src/vlc/modules/demux/asf/asfpacket.c:180,1
    - Dst: guidcmp
      Src: /src/vlc/modules/demux/asf/asfpacket.c:183,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/asfpacket.c:191,1
    - Dst: GUID_PRINT
      Src: /src/vlc/modules/demux/asf/asfpacket.c:191,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/demux/asf/asfpacket.c:201,1
    - Dst: GUID_PRINT
      Src: /src/vlc/modules/demux/asf/asfpacket.c:202,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 51
    argCount: 5
    argNames:
    - p_packetsys
    - p_tkinfo
    - p_data
    - i_data
    - b_keyframe
    argTypes:
    - asf_packet_sys_t*
    - asf_track_info_t*
    - uint8_t*
    - size_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 203
    functionName: ParsePayloadExtensions
    functionSourceFile: /src/vlc/modules/demux/asf/asfpacket.c
    functionUses: 0
    functionsReached:
    - vlc_warning
    - GetWLE
    - GetDWLE
    - msg_Dbg
    - asf_packet_sys_t*::pf_setaspectratio
    - GUID_PRINT
    - guidcmp
    linkageType: ''
    returnType: void
    signature: "void ParsePayloadExtensions( asf_packet_sys_t *p_packetsys,\n                                    const
      asf_track_info_t *p_tkinfo,\n                                    const uint8_t
      *p_data, size_t i_data,\n                                    bool *b_keyframe
      )"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/asf/asfpacket.c:208,1
    - Dst: GetValue2b
      Src: /src/vlc/modules/demux/asf/asfpacket.c:217,1
    - Dst: GetValue2b
      Src: /src/vlc/modules/demux/asf/asfpacket.c:220,1
    - Dst: GetValue2b
      Src: /src/vlc/modules/demux/asf/asfpacket.c:223,1
    - Dst: asf_packet_sys_t*::pf_gettrackinfo
      Src: /src/vlc/modules/demux/asf/asfpacket.c:235,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/asf/asfpacket.c:248,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/asfpacket.c:248,1
    - Dst: ParsePayloadExtensions
      Src: /src/vlc/modules/demux/asf/asfpacket.c:251,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/asf/asfpacket.c:268,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/asf/asfpacket.c:270,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/demux/asf/asfpacket.c:278,1
    - Dst: GetValue2b
      Src: /src/vlc/modules/demux/asf/asfpacket.c:294,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/asf/asfpacket.c:307,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/asf/asfpacket.c:312,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/demux/asf/asfpacket.c:314,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/asf/asfpacket.c:319,1
    - Dst: asf_packet_sys_t*::pf_doskip
      Src: /src/vlc/modules/demux/asf/asfpacket.c:325,1
    - Dst: asf_packet_sys_t*::pf_updatetime
      Src: /src/vlc/modules/demux/asf/asfpacket.c:333,1
    - Dst: asf_packet_sys_t*::pf_updatesendtime
      Src: /src/vlc/modules/demux/asf/asfpacket.c:337,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/asf/asfpacket.c:351,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/demux/asf/asfpacket.c:353,1
    - Dst: VLC_TICK_FROM_MSFTIME
      Src: /src/vlc/modules/demux/asf/asfpacket.c:360,1
    - Dst: VLC_TICK_FROM_MSFTIME
      Src: /src/vlc/modules/demux/asf/asfpacket.c:365,1
    - Dst: DemuxSubPayload
      Src: /src/vlc/modules/demux/asf/asfpacket.c:368,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/asf/asfpacket.c:381,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/demux/asf/asfpacket.c:384,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 108
    argCount: 3
    argNames:
    - p_packetsys
    - pkt
    - i_payload
    argTypes:
    - asf_packet_sys_t*
    - asf_packet_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 402
    functionName: DemuxPayload
    functionSourceFile: /src/vlc/modules/demux/asf/asfpacket.c
    functionUses: 0
    functionsReached:
    - MS_FROM_VLC_TICK
    - vlc_warning
    - vlc_stream_Peek
    - GetValue2b
    - asf_packet_sys_t*::pf_updatetime
    - ParsePayloadExtensions
    - VLC_TICK_FROM_MS
    - DemuxSubPayload
    - VLC_TICK_FROM_MSFTIME
    - GetDWLE
    - asf_packet_sys_t*::pf_updatesendtime
    - asf_packet_sys_t*::pf_gettrackinfo
    - vlc_debug
    - vlc_stream_Read
    - asf_packet_sys_t*::pf_doskip
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int DemuxPayload(asf_packet_sys_t *p_packetsys, asf_packet_t *pkt,
      int i_payload)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/asf/asfpacket.c:408,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/asf/asfpacket.c:415,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/demux/asf/asfpacket.c:418,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/demux/asf/asfpacket.c:441,1
    - Dst: GetValue2b
      Src: /src/vlc/modules/demux/asf/asfpacket.c:455,1
    - Dst: GetValue2b
      Src: /src/vlc/modules/demux/asf/asfpacket.c:458,1
    - Dst: GetValue2b
      Src: /src/vlc/modules/demux/asf/asfpacket.c:460,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/demux/asf/asfpacket.c:465,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/asf/asfpacket.c:479,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/asfpacket.c:479,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/demux/asf/asfpacket.c:486,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/asf/asfpacket.c:491,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/demux/asf/asfpacket.c:494,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/demux/asf/asfpacket.c:510,1
    - Dst: DemuxPayload
      Src: /src/vlc/modules/demux/asf/asfpacket.c:518,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/demux/asf/asfpacket.c:520,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/demux/asf/asfpacket.c:532,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/asf/asfpacket.c:533,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/demux/asf/asfpacket.c:540,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/asf/asfpacket.c:549,1
    - Dst: vlc_error
      Src: /src/vlc/modules/demux/asf/asfpacket.c:551,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/demux/asf/asfpacket.c:559,1
    - Dst: vlc_error
      Src: /src/vlc/modules/demux/asf/asfpacket.c:562,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/asf/asfpacket.c:565,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/demux/asf/asfpacket.c:567,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 105
    argCount: 5
    argNames:
    - p_packetsys
    - i_data_packet_min
    - i_data_packet_max
    - i_data_begin
    - i_data_end
    argTypes:
    - asf_packet_sys_t*
    - uint32_t
    - uint32_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 404
    functionDepth: 3
    functionLinenumber: 404
    functionLinenumberEnd: 572
    functionName: DemuxASFPacket
    functionSourceFile: /src/vlc/modules/demux/asf/asfpacket.c
    functionUses: 0
    functionsReached:
    - vlc_warning
    - vlc_stream_Peek
    - GetValue2b
    - VLC_TICK_FROM_MS
    - DemuxPayload
    - GetDWLE
    - vlc_stream_Read
    - vlc_debug
    - vlc_error
    - vlc_stream_Tell
    linkageType: ''
    returnType: int
    signature: "int DemuxASFPacket( asf_packet_sys_t *p_packetsys,\n                    uint32_t
      i_data_packet_min, uint32_t i_data_packet_max,\n                    uint64_t
      i_data_begin, uint64_t i_data_end )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - p_ti
    argTypes:
    - asf_track_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 582
    functionName: ASFPacketTrackInit
    functionSourceFile: /src/vlc/modules/demux/asf/asfpacket.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASFPacketTrackInit( asf_track_info_t *p_ti )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/demux/asf/asfpacket.c:587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_ti
    argTypes:
    - asf_track_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 591
    functionName: ASFPacketTrackReset
    functionSourceFile: /src/vlc/modules/demux/asf/asfpacket.c
    functionUses: 0
    functionsReached:
    - block_ChainRelease
    linkageType: ''
    returnType: void
    signature: void ASFPacketTrackReset( asf_track_info_t *p_ti )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/asf/asf.c:168,1
    - Dst: ASF_GetGUID
      Src: /src/vlc/modules/demux/asf/asf.c:170,1
    - Dst: guidcmp
      Src: /src/vlc/modules/demux/asf/asf.c:171,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/asf/asf.c:176,1
    - Dst: DemuxInit
      Src: /src/vlc/modules/demux/asf/asf.c:179,1
    - Dst: free
      Src: /src/vlc/modules/demux/asf/asf.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 198
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/asf/asf.c
    functionUses: 37
    functionsReached:
    - vlc_stream_Peek
    - calloc
    - free
    - DemuxInit
    - ASF_GetGUID
    - guidcmp
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t * p_this )
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/asf/asf.c:212,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/asf/asf.c:224,1
    - Dst: DemuxASFPacket
      Src: /src/vlc/modules/demux/asf/asf.c:234,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/asf/asf.c:242,1
    - Dst: ASF_GetGUID
      Src: /src/vlc/modules/demux/asf/asf.c:246,1
    - Dst: guidcmp
      Src: /src/vlc/modules/demux/asf/asf.c:247,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/asf/asf.c:249,1
    - Dst: Packet_Enqueue
      Src: /src/vlc/modules/demux/asf/asf.c:258,1
    - Dst: Block_Dequeue
      Src: /src/vlc/modules/demux/asf/asf.c:271,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/asf/asf.c:277,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/asf.c:279,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/asf/asf.c:286,1
    - Dst: DemuxEnd
      Src: /src/vlc/modules/demux/asf/asf.c:291,1
    - Dst: DemuxInit
      Src: /src/vlc/modules/demux/asf/asf.c:294,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/asf/asf.c:296,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/asf/asf.c:299,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 55
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 204
    functionDepth: 4
    functionLinenumber: 204
    functionLinenumberEnd: 307
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/asf/asf.c
    functionUses: 20
    functionsReached:
    - vlc_stream_Peek
    - es_out_Control
    - DemuxASFPacket
    - Block_Dequeue
    - msg_Err
    - DemuxInit
    - msg_Dbg
    - msg_Warn
    - ASF_GetGUID
    - Packet_Enqueue
    - guidcmp
    - DemuxEnd
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DemuxEnd
      Src: /src/vlc/modules/demux/asf/asf.c:316,1
    - Dst: free
      Src: /src/vlc/modules/demux/asf/asf.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 319
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/asf/asf.c
    functionUses: 125
    functionsReached:
    - free
    - DemuxEnd
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t * p_this )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MSFTIME_FROM_SEC
      Src: /src/vlc/modules/demux/asf/asf.c:348,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/asf/asf.c:350,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 362
    functionName: WaitKeyframe
    functionSourceFile: /src/vlc/modules/demux/asf/asf.c
    functionUses: 0
    functionsReached:
    - MSFTIME_FROM_SEC
    - __MIN
    linkageType: ''
    returnType: void
    signature: void WaitKeyframe( demux_t *p_demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WaitKeyframe
      Src: /src/vlc/modules/demux/asf/asf.c:371,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/asf.c:373,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/asf/asf.c:374,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/asf/asf.c:374,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/asf/asf.c:375,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/asf/asf.c:376,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/asf/asf.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 379
    functionName: SeekPercent
    functionSourceFile: /src/vlc/modules/demux/asf/asf.c
    functionUses: 0
    functionsReached:
    - demux_vaControlHelper
    - msg_Dbg
    - WaitKeyframe
    - __MIN
    linkageType: ''
    returnType: int
    signature: int SeekPercent( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/asf.c:386,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/demux/asf/asf.c:387,1
    - Dst: ASF_FindObject
      Src: /src/vlc/modules/demux/asf/asf.c:395,1
    - Dst: MSFTIME_FROM_VLC_TICK
      Src: /src/vlc/modules/demux/asf/asf.c:397,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/asf/asf.c:400,1
    - Dst: WaitKeyframe
      Src: /src/vlc/modules/demux/asf/asf.c:404,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/asf/asf.c:409,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/asf/asf.c:411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - p_demux
    - i_date
    - f_pos
    argTypes:
    - demux_t*
    - vlc_tick_t
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 415
    functionName: SeekIndex
    functionSourceFile: /src/vlc/modules/demux/asf/asf.c
    functionUses: 0
    functionsReached:
    - WaitKeyframe
    - SEC_FROM_VLC_TICK
    - es_out_Control
    - ASF_FindObject
    - msg_Dbg
    - msg_Warn
    - vlc_stream_Seek
    - MSFTIME_FROM_VLC_TICK
    linkageType: ''
    returnType: int
    signature: int SeekIndex( demux_t *p_demux, vlc_tick_t i_date, float f_pos )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FlushQueue
      Src: /src/vlc/modules/demux/asf/asf.c:433,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/asf/asf.c:438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 439
    functionName: SeekPrepare
    functionSourceFile: /src/vlc/modules/demux/asf/asf.c
    functionUses: 0
    functionsReached:
    - FlushQueue
    - es_out_Control
    linkageType: ''
    returnType: void
    signature: void SeekPrepare( demux_t *p_demux )
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/demux/asf/asf.c:455,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/asf/asf.c:460,1
    - Dst: SeekPrepare
      Src: /src/vlc/modules/demux/asf/asf.c:468,1
    - Dst: va_copy
      Src: /src/vlc/modules/demux/asf/asf.c:473,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/asf/asf.c:474,1
    - Dst: va_end
      Src: /src/vlc/modules/demux/asf/asf.c:475,1
    - Dst: SeekIndex
      Src: /src/vlc/modules/demux/asf/asf.c:477,1
    - Dst: SeekPercent
      Src: /src/vlc/modules/demux/asf/asf.c:480,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/asf/asf.c:484,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/asf.c:488,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/asf/asf.c:489,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/asf.c:494,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/asf/asf.c:495,1
    - Dst: FlushQueue
      Src: /src/vlc/modules/demux/asf/asf.c:514,1
    - Dst: WaitKeyframe
      Src: /src/vlc/modules/demux/asf/asf.c:521,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/asf/asf.c:533,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/asf/asf.c:537,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/asf/asf.c:538,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/asf/asf.c:539,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/asf/asf.c:540,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/asf/asf.c:541,1
    - Dst: SeekPrepare
      Src: /src/vlc/modules/demux/asf/asf.c:549,1
    - Dst: va_copy
      Src: /src/vlc/modules/demux/asf/asf.c:554,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/asf/asf.c:555,1
    - Dst: va_end
      Src: /src/vlc/modules/demux/asf/asf.c:556,1
    - Dst: SeekIndex
      Src: /src/vlc/modules/demux/asf/asf.c:558,1
    - Dst: SeekPercent
      Src: /src/vlc/modules/demux/asf/asf.c:561,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/asf/asf.c:564,1
    - Dst: vlc_meta_Merge
      Src: /src/vlc/modules/demux/asf/asf.c:565,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/asf/asf.c:570,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/asf/asf.c:571,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/asf/asf.c:572,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/asf/asf.c:573,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/asf/asf.c:579,1
    - Dst: vlc_input_title_New
      Src: /src/vlc/modules/demux/asf/asf.c:583,1
    - Dst: free
      Src: /src/vlc/modules/demux/asf/asf.c:586,1
    - Dst: vlc_seekpoint_Duplicate
      Src: /src/vlc/modules/demux/asf/asf.c:592,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/asf/asf.c:593,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/demux/asf/asf.c:595,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/asf/asf.c:605,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/asf/asf.c:611,1
    - Dst: SeekPrepare
      Src: /src/vlc/modules/demux/asf/asf.c:619,1
    - Dst: SeekIndex
      Src: /src/vlc/modules/demux/asf/asf.c:623,1
    - Dst: WaitKeyframe
      Src: /src/vlc/modules/demux/asf/asf.c:630,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/asf/asf.c:631,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/asf/asf.c:642,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/asf/asf.c:648,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/asf/asf.c:649,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/asf/asf.c:650,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/asf/asf.c:651,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/asf/asf.c:652,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 124
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 444
    functionDepth: 3
    functionLinenumber: 444
    functionLinenumberEnd: 655
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/asf/asf.c
    functionUses: 140
    functionsReached:
    - SeekPrepare
    - vlc_seekpoint_Duplicate
    - SeekIndex
    - vlc_stream_Control
    - WaitKeyframe
    - vlc_input_title_New
    - msg_Dbg
    - FlushQueue
    - SeekPercent
    - TAB_APPEND
    - va_copy
    - __MIN
    - vlc_stream_Seek
    - va_end
    - demux_vaControlHelper
    - vlc_meta_Merge
    - free
    - va_arg
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/asf/asf.c:673,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - p_packetsys
    - i_stream_number
    - i_ratio_x
    - i_ratio_y
    argTypes:
    - asf_packet_sys_t*
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 674
    functionName: Packet_SetAR
    functionSourceFile: /src/vlc/modules/demux/asf/asf.c
    functionUses: 0
    functionsReached:
    - es_out_Control
    linkageType: ''
    returnType: void
    signature: "void Packet_SetAR( asf_packet_sys_t *p_packetsys, uint8_t i_stream_number,\n
      \                         uint8_t i_ratio_x, uint8_t i_ratio_y )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_packetsys
    - i_time
    argTypes:
    - asf_packet_sys_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 682
    functionName: Packet_SetSendTime
    functionSourceFile: /src/vlc/modules/demux/asf/asf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Packet_SetSendTime( asf_packet_sys_t *p_packetsys, vlc_tick_t
      i_time )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - p_packetsys
    - i_stream_number
    - i_time
    argTypes:
    - asf_packet_sys_t*
    - uint8_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 693
    functionName: Packet_UpdateTime
    functionSourceFile: /src/vlc/modules/demux/asf/asf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Packet_UpdateTime( asf_packet_sys_t *p_packetsys, uint8_t i_stream_number,\n
      \                              vlc_tick_t i_time )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_packetsys
    - i_stream_number
    argTypes:
    - asf_packet_sys_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 706
    functionName: Packet_GetTrackInfo
    functionSourceFile: /src/vlc/modules/demux/asf/asf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: asf_track_info_t
    signature: "asf_track_info_t * Packet_GetTrackInfo( asf_packet_sys_t *p_packetsys,\n
      \                                              uint8_t i_stream_number )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/asf/asf.c:716,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - p_packetsys
    - i_stream_number
    - b_packet_keyframe
    argTypes:
    - asf_packet_sys_t*
    - uint8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 740
    functionName: Packet_DoSkip
    functionSourceFile: /src/vlc/modules/demux/asf/asf.c
    functionUses: 0
    functionsReached:
    - msg_Warn
    linkageType: ''
    returnType: bool
    signature: bool Packet_DoSkip( asf_packet_sys_t *p_packetsys, uint8_t i_stream_number,
      bool b_packet_keyframe )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASF_FindObject
      Src: /src/vlc/modules/demux/asf/asf.c:814,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/asf/asf.c:817,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - p_sys
    - p_hdr
    - p_prios
    argTypes:
    - demux_sys_t*
    - void*
    - asf_es_priorities_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 809
    functionDepth: 2
    functionLinenumber: 809
    functionLinenumberEnd: 829
    functionName: ASF_fillup_es_priorities_ex
    functionSourceFile: /src/vlc/modules/demux/asf/asf.c
    functionUses: 0
    functionsReached:
    - vlc_alloc
    - ASF_FindObject
    linkageType: ''
    returnType: void
    signature: "void ASF_fillup_es_priorities_ex( demux_sys_t *p_sys, void *p_hdr,\n
      \                                        asf_es_priorities_t *p_prios )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASF_FindObject
      Src: /src/vlc/modules/demux/asf/asf.c:837,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/asf/asf.c:840,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - p_sys
    - p_hdr
    - p_prios
    argTypes:
    - demux_sys_t*
    - void*
    - asf_es_priorities_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 832
    functionDepth: 2
    functionLinenumber: 832
    functionLinenumberEnd: 853
    functionName: ASF_fillup_es_bitrate_priorities_ex
    functionSourceFile: /src/vlc/modules/demux/asf/asf.c
    functionUses: 0
    functionsReached:
    - vlc_alloc
    - ASF_FindObject
    linkageType: ''
    returnType: void
    signature: "void ASF_fillup_es_bitrate_priorities_ex( demux_sys_t *p_sys, void
      *p_hdr,\n                                                 asf_es_priorities_t
      *p_prios )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - target
    - ','
    - getter
    - ','
    - maxtarget
    - ','
    - temp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 866
    functionName: GET_CHECKED
    functionSourceFile: /src/vlc/modules/demux/asf/asf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_CHECKED( target, getter, maxtarget, temp )
  - BBCount: 63
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/asf/asf.c:899,1
    - Dst: ASF_ReadObjectRoot
      Src: /src/vlc/modules/demux/asf/asf.c:901,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/asf/asf.c:903,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/asf/asf.c:910,1
    - Dst: ASF_FindObject
      Src: /src/vlc/modules/demux/asf/asf.c:914,1
    - Dst: ASF_FindObject
      Src: /src/vlc/modules/demux/asf/asf.c:916,1
    - Dst: ASF_FindObject
      Src: /src/vlc/modules/demux/asf/asf.c:918,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/demux/asf/asf.c:921,1
    - Dst: _
      Src: /src/vlc/modules/demux/asf/asf.c:921,1
    - Dst: ASF_CountObject
      Src: /src/vlc/modules/demux/asf/asf.c:926,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/asf/asf.c:930,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/asf.c:933,1
    - Dst: ASF_FindObject
      Src: /src/vlc/modules/demux/asf/asf.c:936,1
    - Dst: ASF_FindObject
      Src: /src/vlc/modules/demux/asf/asf.c:941,1
    - Dst: ASF_FindObject
      Src: /src/vlc/modules/demux/asf/asf.c:948,1
    - Dst: ASF_fillup_es_priorities_ex
      Src: /src/vlc/modules/demux/asf/asf.c:950,1
    - Dst: ASF_fillup_es_bitrate_priorities_ex
      Src: /src/vlc/modules/demux/asf/asf.c:951,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/asf/asf.c:954,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/asf/asf.c:959,1
    - Dst: ASF_FindObject
      Src: /src/vlc/modules/demux/asf/asf.c:970,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/asf/asf.c:979,1
    - Dst: memset
      Src: /src/vlc/modules/demux/asf/asf.c:982,1
    - Dst: ASFPacketTrackInit
      Src: /src/vlc/modules/demux/asf/asf.c:984,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/asf/asf.c:996,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/asf.c:1002,1
    - Dst: ASF_CountObject
      Src: /src/vlc/modules/demux/asf/asf.c:1011,1
    - Dst: ASF_FindObject
      Src: /src/vlc/modules/demux/asf/asf.c:1016,1
    - Dst: guidcmp
      Src: /src/vlc/modules/demux/asf/asf.c:1030,1
    - Dst: guidcmp
      Src: /src/vlc/modules/demux/asf/asf.c:1034,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/asf/asf.c:1040,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/asf/asf.c:1041,1
    - Dst: wf_tag_to_fourcc
      Src: /src/vlc/modules/demux/asf/asf.c:1042,1
    - Dst: GET_CHECKED
      Src: /src/vlc/modules/demux/asf/asf.c:1044,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/asf/asf.c:1044,1
    - Dst: GET_CHECKED
      Src: /src/vlc/modules/demux/asf/asf.c:1046,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/asf.c:1046,1
    - Dst: GET_CHECKED
      Src: /src/vlc/modules/demux/asf/asf.c:1048,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/asf.c:1048,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/asf/asf.c:1050,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/asf/asf.c:1051,1
    - Dst: GET_CHECKED
      Src: /src/vlc/modules/demux/asf/asf.c:1057,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/asf/asf.c:1057,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/asf/asf.c:1057,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/asf/asf.c:1061,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/asf/asf.c:1062,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/asf.c:1065,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/asf/asf.c:1066,1
    - Dst: guidcmp
      Src: /src/vlc/modules/demux/asf/asf.c:1068,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/asf/asf.c:1075,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/asf/asf.c:1076,1
    - Dst: GET_CHECKED
      Src: /src/vlc/modules/demux/asf/asf.c:1079,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/asf.c:1079,1
    - Dst: GET_CHECKED
      Src: /src/vlc/modules/demux/asf/asf.c:1081,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/asf.c:1081,1
    - Dst: GET_CHECKED
      Src: /src/vlc/modules/demux/asf/asf.c:1089,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/asf/asf.c:1094,1
    - Dst: GET_CHECKED
      Src: /src/vlc/modules/demux/asf/asf.c:1103,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/asf/asf.c:1103,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/asf.c:1103,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/asf/asf.c:1107,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/asf/asf.c:1108,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/asf/asf.c:1122,1
    - Dst: GET_CHECKED
      Src: /src/vlc/modules/demux/asf/asf.c:1127,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/asf/asf.c:1130,1
    - Dst: GET_CHECKED
      Src: /src/vlc/modules/demux/asf/asf.c:1135,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/asf.c:1150,1
    - Dst: guidcmp
      Src: /src/vlc/modules/demux/asf/asf.c:1153,1
    - Dst: ASF_GetGUID
      Src: /src/vlc/modules/demux/asf/asf.c:1157,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/asf.c:1158,1
    - Dst: GUID_PRINT
      Src: /src/vlc/modules/demux/asf/asf.c:1159,1
    - Dst: ASF_GetGUID
      Src: /src/vlc/modules/demux/asf/asf.c:1162,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/asf.c:1163,1
    - Dst: GUID_PRINT
      Src: /src/vlc/modules/demux/asf/asf.c:1164,1
    - Dst: ASF_GetGUID
      Src: /src/vlc/modules/demux/asf/asf.c:1171,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/asf.c:1172,1
    - Dst: GUID_PRINT
      Src: /src/vlc/modules/demux/asf/asf.c:1173,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/asf.c:1179,1
    - Dst: guidcmp
      Src: /src/vlc/modules/demux/asf/asf.c:1180,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/asf/asf.c:1184,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/asf/asf.c:1186,1
    - Dst: wf_tag_to_fourcc
      Src: /src/vlc/modules/demux/asf/asf.c:1190,1
    - Dst: GET_CHECKED
      Src: /src/vlc/modules/demux/asf/asf.c:1192,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/asf/asf.c:1192,1
    - Dst: GET_CHECKED
      Src: /src/vlc/modules/demux/asf/asf.c:1194,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/asf.c:1194,1
    - Dst: GET_CHECKED
      Src: /src/vlc/modules/demux/asf/asf.c:1196,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/asf/asf.c:1196,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/asf/asf.c:1198,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/asf/asf.c:1199,1
    - Dst: GET_CHECKED
      Src: /src/vlc/modules/demux/asf/asf.c:1205,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/asf/asf.c:1205,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/asf/asf.c:1205,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/asf/asf.c:1209,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/asf/asf.c:1211,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/asf.c:1216,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/asf/asf.c:1221,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/asf/asf.c:1226,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/asf/asf.c:1231,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/asf/asf.c:1245,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/asf/asf.c:1247,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/asf/asf.c:1274,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/asf/asf.c:1279,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/demux/asf/asf.c:1281,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/asf/asf.c:1286,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/asf/asf.c:1288,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/asf.c:1299,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/asf/asf.c:1303,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/asf/asf.c:1311,1
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/asf/asf.c:1311,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/asf/asf.c:1319,1
    - Dst: stream_Size
      Src: /src/vlc/modules/demux/asf/asf.c:1326,1
    - Dst: ckd_mul
      Src: /src/vlc/modules/demux/asf/asf.c:1338,1
    - Dst: VLC_TICK_FROM_MSFTIME
      Src: /src/vlc/modules/demux/asf/asf.c:1338,1
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/demux/asf/asf.c:1352,1
    - Dst: ASF_FindObject
      Src: /src/vlc/modules/demux/asf/asf.c:1355,1
    - Dst: vlc_meta_SetTitle
      Src: /src/vlc/modules/demux/asf/asf.c:1360,1
    - Dst: vlc_meta_SetArtist
      Src: /src/vlc/modules/demux/asf/asf.c:1364,1
    - Dst: vlc_meta_SetCopyright
      Src: /src/vlc/modules/demux/asf/asf.c:1368,1
    - Dst: vlc_meta_SetDescription
      Src: /src/vlc/modules/demux/asf/asf.c:1372,1
    - Dst: vlc_meta_SetRating
      Src: /src/vlc/modules/demux/asf/asf.c:1376,1
    - Dst: ASF_FindObject
      Src: /src/vlc/modules/demux/asf/asf.c:1380,1
    - Dst: set_meta
      Src: /src/vlc/modules/demux/asf/asf.c:1390,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/demux/asf/asf.c:1403,1
    - Dst: ASF_FindObject
      Src: /src/vlc/modules/demux/asf/asf.c:1413,1
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/demux/asf/asf.c:1418,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/demux/asf/asf.c:1419,1
    - Dst: vlc_meta_Add
      Src: /src/vlc/modules/demux/asf/asf.c:1426,1
    - Dst: vlc_meta_Add
      Src: /src/vlc/modules/demux/asf/asf.c:1432,1
    - Dst: free
      Src: /src/vlc/modules/demux/asf/asf.c:1440,1
    - Dst: free
      Src: /src/vlc/modules/demux/asf/asf.c:1441,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/asf/asf.c:1455,1
    - Dst: vlc_seekpoint_New
      Src: /src/vlc/modules/demux/asf/asf.c:1461,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/asf/asf.c:1462,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/asf/asf.c:1465,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/asf/asf.c:1467,1
    - Dst: vlc_seekpoint_Delete
      Src: /src/vlc/modules/demux/asf/asf.c:1472,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/demux/asf/asf.c:1476,1
    - Dst: free
      Src: /src/vlc/modules/demux/asf/asf.c:1483,1
    - Dst: free
      Src: /src/vlc/modules/demux/asf/asf.c:1484,1
    - Dst: DemuxEnd
      Src: /src/vlc/modules/demux/asf/asf.c:1485,1
    CyclomaticComplexity: 124
    EdgeCount: 124
    ICount: 310
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 867
    functionDepth: 4
    functionLinenumber: 867
    functionLinenumberEnd: 1487
    functionName: DemuxInit
    functionSourceFile: /src/vlc/modules/demux/asf/asf.c
    functionUses: 2
    functionsReached:
    - strchr
    - vlc_seekpoint_Delete
    - GetWLE
    - DemuxEnd
    - memcpy
    - vlc_meta_SetArtist
    - set_meta
    - es_format_Init
    - ASF_ReadObjectRoot
    - vlc_stream_Control
    - ASFPacketTrackInit
    - asprintf
    - vlc_dialog_display_error
    - vlc_meta_New
    - _
    - ASF_FindObject
    - vlc_meta_SetRating
    - ASF_fillup_es_bitrate_priorities_ex
    - msg_Dbg
    - msg_Warn
    - ASF_CountObject
    - ASF_GetGUID
    - guidcmp
    - VLC_TICK_FROM_MSFTIME
    - VLC_FOURCC
    - strdup
    - vlc_meta_SetDescription
    - wf_tag_to_fourcc
    - TAB_APPEND
    - vlc_seekpoint_New
    - ASF_fillup_es_priorities_ex
    - strcmp
    - __MIN
    - vlc_stream_Seek
    - es_format_Copy
    - vlc_meta_SetExtra
    - strncasecmp
    - stream_Size
    - es_out_Control
    - es_format_Clean
    - memset
    - vlc_meta_SetTitle
    - VLC_TICK_FROM_MS
    - ckd_mul
    - vlc_meta_SetCopyright
    - free
    - GetDWLE
    - es_out_Add
    - GET_CHECKED
    - GUID_PRINT
    - unlikely
    - malloc
    - vlc_meta_Add
    linkageType: ''
    returnType: int
    signature: int DemuxInit( demux_t *p_demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - vlc_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1389
    functionName: set_meta
    functionSourceFile: /src/vlc/modules/demux/asf/asf.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_meta( name, vlc_type )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASFPacketTrackReset
      Src: /src/vlc/modules/demux/asf/asf.c:1494,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/demux/asf/asf.c:1497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - tk
    argTypes:
    - asf_track_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1492
    functionDepth: 1
    functionLinenumber: 1492
    functionLinenumberEnd: 1501
    functionName: FlushQueue
    functionSourceFile: /src/vlc/modules/demux/asf/asf.c
    functionUses: 2
    functionsReached:
    - block_ChainRelease
    - ASFPacketTrackReset
    linkageType: ''
    returnType: void
    signature: void FlushQueue( asf_track_t *tk )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FlushQueue
      Src: /src/vlc/modules/demux/asf/asf.c:1511,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1503
    functionDepth: 2
    functionLinenumber: 1503
    functionLinenumberEnd: 1513
    functionName: FlushQueues
    functionSourceFile: /src/vlc/modules/demux/asf/asf.c
    functionUses: 0
    functionsReached:
    - FlushQueue
    linkageType: ''
    returnType: void
    signature: void FlushQueues( demux_t *p_demux )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASF_FreeObjectRoot
      Src: /src/vlc/modules/demux/asf/asf.c:1524,1
    - Dst: vlc_meta_Delete
      Src: /src/vlc/modules/demux/asf/asf.c:1530,1
    - Dst: vlc_seekpoint_Delete
      Src: /src/vlc/modules/demux/asf/asf.c:1535,1
    - Dst: TAB_CLEAN
      Src: /src/vlc/modules/demux/asf/asf.c:1536,1
    - Dst: FlushQueues
      Src: /src/vlc/modules/demux/asf/asf.c:1538,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/demux/asf/asf.c:1548,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/asf/asf.c:1552,1
    - Dst: free
      Src: /src/vlc/modules/demux/asf/asf.c:1553,1
    - Dst: free
      Src: /src/vlc/modules/demux/asf/asf.c:1555,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1518
    functionDepth: 4
    functionLinenumber: 1518
    functionLinenumberEnd: 1559
    functionName: DemuxEnd
    functionSourceFile: /src/vlc/modules/demux/asf/asf.c
    functionUses: 3
    functionsReached:
    - vlc_meta_Delete
    - vlc_seekpoint_Delete
    - es_format_Clean
    - TAB_CLEAN
    - free
    - es_out_Del
    - FlushQueues
    - ASF_FreeObjectRoot
    linkageType: ''
    returnType: void
    signature: void DemuxEnd( demux_t *p_demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p_chk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: AVI_CHUNK
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVI_CHUNK( p_chk )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p_chk
    - ','
    - i_fourcc
    - ','
    - b_list
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: AVI_ChunkCount
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVI_ChunkCount( p_chk, i_fourcc, b_list )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - p_chk
    - ','
    - i_fourcc
    - ','
    - i_number
    - ','
    - b_list
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: AVI_ChunkFind
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVI_ChunkFind( p_chk, i_fourcc, i_number, b_list )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: __EVEN
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __EVEN( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/avi/libavi.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_buff
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: GetFOURCC
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 10
    functionsReached:
    - VLC_FOURCC
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t GetFOURCC( const uint8_t *p_buff )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __EVEN
      Src: /src/vlc/modules/demux/avi/libavi.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_ck
    argTypes:
    - avi_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: AVI_ChunkSize
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached:
    - __EVEN
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t AVI_ChunkSize( const avi_chunk_t *p_ck )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVI_ChunkSize
      Src: /src/vlc/modules/demux/avi/libavi.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_ck
    argTypes:
    - avi_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: AVI_ChunkEnd
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached:
    - AVI_ChunkSize
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t AVI_ChunkEnd( const avi_chunk_t *p_ck )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AVI_ChunkInit
      Src: /src/vlc/modules/demux/avi/libavi.c:66,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/avi/libavi.c:68,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/avi/libavi.c:69,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/demux/avi/libavi.c:72,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/libavi.c:73,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/libavi.c:75,1
    - Dst: GetFOURCC
      Src: /src/vlc/modules/demux/avi/libavi.c:79,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/avi/libavi.c:80,1
    - Dst: __EVEN
      Src: /src/vlc/modules/demux/avi/libavi.c:85,1
    - Dst: AVI_ChunkEnd
      Src: /src/vlc/modules/demux/avi/libavi.c:88,1
    - Dst: AVI_ChunkEnd
      Src: /src/vlc/modules/demux/avi/libavi.c:88,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/libavi.c:90,1
    - Dst: AVI_ChunkEnd
      Src: /src/vlc/modules/demux/avi/libavi.c:91,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/libavi.c:101,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 3
    argNames:
    - s
    - p_chk
    - p_father
    argTypes:
    - stream_t*
    - avi_chunk_t*
    - avi_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 108
    functionName: AVI_ChunkReadCommon
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached:
    - AVI_ChunkInit
    - GetFOURCC
    - vlc_stream_Peek
    - AVI_ChunkEnd
    - GetDWLE
    - msg_Dbg
    - msg_Warn
    - __EVEN
    - vlc_stream_Tell
    - vlc_stream_GetSize
    linkageType: ''
    returnType: int
    signature: "int AVI_ChunkReadCommon( stream_t *s, avi_chunk_t *p_chk,\n                                const
      avi_chunk_t *p_father )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AVI_ChunkEnd
      Src: /src/vlc/modules/demux/avi/libavi.c:113,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/avi/libavi.c:114,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/avi/libavi.c:116,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/avi/libavi.c:118,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/avi/libavi.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - s
    - p_chk
    argTypes:
    - stream_t*
    - avi_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 122
    functionName: AVI_GotoNextChunk
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached:
    - AVI_ChunkEnd
    - vlc_stream_Read
    - vlc_stream_Seek
    - vlc_stream_Tell
    - vlc_stream_Control
    linkageType: ''
    returnType: int
    signature: int AVI_GotoNextChunk( stream_t *s, const avi_chunk_t *p_chk )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AVI_ChunkReadCommon
      Src: /src/vlc/modules/demux/avi/libavi.c:130,1
    - Dst: AVI_GotoNextChunk
      Src: /src/vlc/modules/demux/avi/libavi.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - s
    - p_chk
    argTypes:
    - stream_t*
    - avi_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 138
    functionName: AVI_NextChunk
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached:
    - AVI_ChunkReadCommon
    - AVI_GotoNextChunk
    linkageType: ''
    returnType: int
    signature: int AVI_NextChunk( stream_t *s, avi_chunk_t *p_chk )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/libavi.c:155,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/avi/libavi.c:158,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/libavi.c:160,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/avi/libavi.c:164,1
    - Dst: GetFOURCC
      Src: /src/vlc/modules/demux/avi/libavi.c:166,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/libavi.c:180,1
    - Dst: AVI_NextChunk
      Src: /src/vlc/modules/demux/avi/libavi.c:181,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/avi/libavi.c:184,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/libavi.c:186,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/libavi.c:191,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/libavi.c:195,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/avi/libavi.c:200,1
    - Dst: AVI_ChunkRead
      Src: /src/vlc/modules/demux/avi/libavi.c:204,1
    - Dst: AVI_ChunkClean
      Src: /src/vlc/modules/demux/avi/libavi.c:207,1
    - Dst: free
      Src: /src/vlc/modules/demux/avi/libavi.c:208,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/avi/libavi.c:222,1
    - Dst: AVI_ChunkEnd
      Src: /src/vlc/modules/demux/avi/libavi.c:222,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/libavi.c:237,1
    - Dst: AVI_GotoNextChunk
      Src: /src/vlc/modules/demux/avi/libavi.c:240,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 55
    argCount: 2
    argNames:
    - s
    - p_container
    argTypes:
    - stream_t*
    - avi_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 145
    functionDepth: 4
    functionLinenumber: 145
    functionLinenumberEnd: 243
    functionName: AVI_ChunkRead_list
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached:
    - GetFOURCC
    - vlc_stream_Peek
    - AVI_NextChunk
    - AVI_ChunkClean
    - AVI_ChunkEnd
    - calloc
    - free
    - vlc_stream_Read
    - msg_Dbg
    - AVI_GotoNextChunk
    - msg_Warn
    - vlc_stream_Tell
    - AVI_ChunkRead
    - vlc_stream_Control
    linkageType: ''
    returnType: int
    signature: int AVI_ChunkRead_list( stream_t *s, avi_chunk_t *p_container )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AVI_ChunkFind
      Src: /src/vlc/modules/demux/avi/libavi.c:248,1
    - Dst: AVI_ChunkEnd
      Src: /src/vlc/modules/demux/avi/libavi.c:253,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/avi/libavi.c:257,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/avi/libavi.c:258,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/avi/libavi.c:264,1
    - Dst: AVI_ChunkRead
      Src: /src/vlc/modules/demux/avi/libavi.c:271,1
    - Dst: AVI_ChunkClean
      Src: /src/vlc/modules/demux/avi/libavi.c:274,1
    - Dst: free
      Src: /src/vlc/modules/demux/avi/libavi.c:275,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/avi/libavi.c:284,1
    - Dst: __EVEN
      Src: /src/vlc/modules/demux/avi/libavi.c:286,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 2
    argNames:
    - s
    - p_riff
    argTypes:
    - stream_t*
    - avi_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 301
    functionName: AVI_ChunkFetchIndexes
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached:
    - AVI_ChunkFind
    - AVI_ChunkClean
    - AVI_ChunkEnd
    - calloc
    - free
    - vlc_stream_Seek
    - __EVEN
    - vlc_stream_Tell
    - AVI_ChunkRead
    - vlc_stream_Control
    linkageType: ''
    returnType: int
    signature: int AVI_ChunkFetchIndexes( stream_t *s, avi_chunk_t *p_riff )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - res
    - ','
    - func
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 333
    functionName: AVI_READ
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVI_READ( res, func, size )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: AVI_READCHUNK_EXIT
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVI_READCHUNK_EXIT( code )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 342
    functionName: GetB
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GetB( uint8_t *ptr )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i_byte
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 346
    functionName: AVI_READ1BYTE
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVI_READ1BYTE( i_byte )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i_word
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 349
    functionName: AVI_READ2BYTES
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVI_READ2BYTES( i_word )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i_dword
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 352
    functionName: AVI_READ4BYTES
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVI_READ4BYTES( i_dword )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i_qword
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 355
    functionName: AVI_READ8BYTES
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVI_READ8BYTES( i_qword )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i_dword
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 358
    functionName: AVI_READFOURCC
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVI_READFOURCC( i_dword )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:364,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:365,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:366,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:367,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:368,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:369,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:370,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:371,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:372,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:373,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:374,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:375,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:376,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:377,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/libavi.c:379,1
    - Dst: AVI_READCHUNK_EXIT
      Src: /src/vlc/modules/demux/avi/libavi.c:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 2
    argNames:
    - s
    - p_chk
    argTypes:
    - stream_t*
    - avi_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 389
    functionName: AVI_ChunkRead_avih
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached:
    - AVI_READ4BYTES
    - msg_Dbg
    - AVI_READCHUNK_EXIT
    linkageType: ''
    returnType: int
    signature: int AVI_ChunkRead_avih( stream_t *s, avi_chunk_t *p_chk )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVI_READFOURCC
      Src: /src/vlc/modules/demux/avi/libavi.c:395,1
    - Dst: AVI_READFOURCC
      Src: /src/vlc/modules/demux/avi/libavi.c:396,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:397,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:398,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:399,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:400,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:401,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:402,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:403,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:404,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:405,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:406,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/libavi.c:408,1
    - Dst: AVI_READCHUNK_EXIT
      Src: /src/vlc/modules/demux/avi/libavi.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - s
    - p_chk
    argTypes:
    - stream_t*
    - avi_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 418
    functionName: AVI_ChunkRead_strh
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached:
    - AVI_READFOURCC
    - AVI_READ4BYTES
    - msg_Dbg
    - AVI_READCHUNK_EXIT
    linkageType: ''
    returnType: int
    signature: int AVI_ChunkRead_strh( stream_t *s, avi_chunk_t *p_chk )
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/avi/libavi.c:427,1
    - Dst: AVI_READCHUNK_EXIT
      Src: /src/vlc/modules/demux/avi/libavi.c:428,1
    - Dst: AVI_ChunkFind
      Src: /src/vlc/modules/demux/avi/libavi.c:430,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/avi/libavi.c:432,1
    - Dst: AVI_READCHUNK_EXIT
      Src: /src/vlc/modules/demux/avi/libavi.c:433,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/avi/libavi.c:440,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/avi/libavi.c:440,1
    - Dst: AVI_READCHUNK_EXIT
      Src: /src/vlc/modules/demux/avi/libavi.c:443,1
    - Dst: AVI_READ2BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:445,1
    - Dst: AVI_READ2BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:446,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:447,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:448,1
    - Dst: AVI_READ2BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:449,1
    - Dst: AVI_READ2BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:450,1
    - Dst: AVI_READ2BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:455,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/libavi.c:467,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/avi/libavi.c:476,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/libavi.c:481,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/avi/libavi.c:493,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/avi/libavi.c:493,1
    - Dst: AVI_READCHUNK_EXIT
      Src: /src/vlc/modules/demux/avi/libavi.c:497,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:499,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:500,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:501,1
    - Dst: AVI_READ2BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:502,1
    - Dst: AVI_READ2BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:503,1
    - Dst: AVI_READFOURCC
      Src: /src/vlc/modules/demux/avi/libavi.c:504,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:505,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:506,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:507,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:508,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:509,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/avi/libavi.c:519,1
    - Dst: UINT32_C
      Src: /src/vlc/modules/demux/avi/libavi.c:526,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/avi/libavi.c:536,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/avi/libavi.c:542,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/libavi.c:546,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/libavi.c:564,1
    - Dst: AVI_READCHUNK_EXIT
      Src: /src/vlc/modules/demux/avi/libavi.c:569,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 89
    argCount: 2
    argNames:
    - s
    - p_chk
    argTypes:
    - stream_t*
    - avi_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 570
    functionName: AVI_ChunkRead_strf
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached:
    - AVI_ChunkFind
    - memcpy
    - AVI_READ2BYTES
    - msg_Err
    - AVI_READFOURCC
    - __MAX
    - AVI_READ4BYTES
    - msg_Dbg
    - __MIN
    - msg_Warn
    - AVI_READCHUNK_EXIT
    - malloc
    - UINT32_C
    linkageType: ''
    returnType: int
    signature: int AVI_ChunkRead_strf( stream_t *s, avi_chunk_t *p_chk )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/avi/libavi.c:576,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/avi/libavi.c:580,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - p_chk
    argTypes:
    - avi_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 582
    functionName: AVI_ChunkFree_strf
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached:
    - FREENULL
    linkageType: ''
    returnType: void
    signature: void AVI_ChunkFree_strf( avi_chunk_t *p_chk )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/libavi.c:589,1
    - Dst: AVI_READCHUNK_EXIT
      Src: /src/vlc/modules/demux/avi/libavi.c:590,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/avi/libavi.c:593,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/avi/libavi.c:595,1
    - Dst: AVI_READCHUNK_EXIT
      Src: /src/vlc/modules/demux/avi/libavi.c:596,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - s
    - p_chk
    argTypes:
    - stream_t*
    - avi_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 597
    functionName: AVI_ChunkRead_strd
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached:
    - AVI_READCHUNK_EXIT
    - msg_Dbg
    - malloc
    - memcpy
    linkageType: ''
    returnType: int
    signature: int AVI_ChunkRead_strd( stream_t *s, avi_chunk_t *p_chk )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/avi/libavi.c:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_chk
    argTypes:
    - avi_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 602
    functionName: AVI_ChunkFree_strd
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void AVI_ChunkFree_strd( avi_chunk_t *p_chk )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: __MIN
      Src: /src/vlc/modules/demux/avi/libavi.c:610,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/avi/libavi.c:616,1
    - Dst: AVI_READCHUNK_EXIT
      Src: /src/vlc/modules/demux/avi/libavi.c:618,1
    - Dst: AVI_READFOURCC
      Src: /src/vlc/modules/demux/avi/libavi.c:622,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:623,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:624,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:625,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/libavi.c:633,1
    - Dst: AVI_READCHUNK_EXIT
      Src: /src/vlc/modules/demux/avi/libavi.c:635,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - s
    - p_chk
    argTypes:
    - stream_t*
    - avi_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 636
    functionName: AVI_ChunkRead_idx1
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached:
    - calloc
    - AVI_READFOURCC
    - AVI_READ4BYTES
    - __MIN
    - msg_Dbg
    - AVI_READCHUNK_EXIT
    linkageType: ''
    returnType: int
    signature: int AVI_ChunkRead_idx1( stream_t *s, avi_chunk_t *p_chk )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/avi/libavi.c:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_chk
    argTypes:
    - avi_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 643
    functionName: AVI_ChunkFree_idx1
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached:
    - FREENULL
    linkageType: ''
    returnType: void
    signature: void AVI_ChunkFree_idx1( avi_chunk_t *p_chk )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/avi/libavi.c:652,1
    - Dst: AVI_READ2BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:657,1
    - Dst: AVI_READ1BYTE
      Src: /src/vlc/modules/demux/avi/libavi.c:658,1
    - Dst: AVI_READ1BYTE
      Src: /src/vlc/modules/demux/avi/libavi.c:659,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:660,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:662,1
    - Dst: AVI_READ8BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:669,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:670,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/avi/libavi.c:672,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/avi/libavi.c:674,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:679,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:680,1
    - Dst: AVI_READ8BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:687,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:688,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/avi/libavi.c:690,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/avi/libavi.c:692,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:697,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:698,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:699,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:707,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:708,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:709,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/avi/libavi.c:711,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/avi/libavi.c:713,1
    - Dst: AVI_READ8BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:718,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:719,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:720,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/libavi.c:727,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/libavi.c:731,1
    - Dst: AVI_READCHUNK_EXIT
      Src: /src/vlc/modules/demux/avi/libavi.c:734,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 61
    argCount: 2
    argNames:
    - s
    - p_chk
    argTypes:
    - stream_t*
    - avi_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 735
    functionName: AVI_ChunkRead_indx
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached:
    - AVI_READ1BYTE
    - AVI_READCHUNK_EXIT
    - AVI_READ8BYTES
    - calloc
    - AVI_READ4BYTES
    - __MIN
    - msg_Dbg
    - msg_Warn
    - AVI_READ2BYTES
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int AVI_ChunkRead_indx( stream_t *s, avi_chunk_t *p_chk )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/avi/libavi.c:740,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/avi/libavi.c:741,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/avi/libavi.c:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_chk
    argTypes:
    - avi_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 743
    functionName: AVI_ChunkFree_indx
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached:
    - FREENULL
    linkageType: ''
    returnType: void
    signature: void AVI_ChunkFree_indx( avi_chunk_t *p_chk )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:751,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:752,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:753,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:754,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:755,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:756,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:757,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:758,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:759,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/avi/libavi.c:760,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:762,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:763,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:764,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:765,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:766,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:767,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:768,1
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:769,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/libavi.c:773,1
    - Dst: AVI_READCHUNK_EXIT
      Src: /src/vlc/modules/demux/avi/libavi.c:776,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - s
    - p_chk
    argTypes:
    - stream_t*
    - avi_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 777
    functionName: AVI_ChunkRead_vprp
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached:
    - AVI_READ4BYTES
    - __MIN
    - msg_Dbg
    - AVI_READCHUNK_EXIT
    linkageType: ''
    returnType: int
    signature: int AVI_ChunkRead_vprp( stream_t *s, avi_chunk_t *p_chk )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVI_READ4BYTES
      Src: /src/vlc/modules/demux/avi/libavi.c:785,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/libavi.c:788,1
    - Dst: AVI_READCHUNK_EXIT
      Src: /src/vlc/modules/demux/avi/libavi.c:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - p_chk
    argTypes:
    - stream_t*
    - avi_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 792
    functionName: AVI_ChunkRead_dmlh
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached:
    - AVI_READ4BYTES
    - msg_Dbg
    - AVI_READCHUNK_EXIT
    linkageType: ''
    returnType: int
    signature: int AVI_ChunkRead_dmlh( stream_t *s, avi_chunk_t *p_chk )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/demux/avi/libavi.c:866,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/avi/libavi.c:867,1
    - Dst: free
      Src: /src/vlc/modules/demux/avi/libavi.c:870,1
    - Dst: free
      Src: /src/vlc/modules/demux/avi/libavi.c:871,1
    - Dst: AVI_READCHUNK_EXIT
      Src: /src/vlc/modules/demux/avi/libavi.c:872,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/avi/libavi.c:874,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/libavi.c:878,1
    - Dst: AVI_READCHUNK_EXIT
      Src: /src/vlc/modules/demux/avi/libavi.c:881,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - s
    - p_chk
    argTypes:
    - stream_t*
    - avi_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 852
    functionDepth: 1
    functionLinenumber: 852
    functionLinenumberEnd: 882
    functionName: AVI_ChunkRead_strz
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached:
    - strdup
    - memcpy
    - free
    - msg_Dbg
    - AVI_READCHUNK_EXIT
    - malloc
    linkageType: ''
    returnType: int
    signature: int AVI_ChunkRead_strz( stream_t *s, avi_chunk_t *p_chk )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/avi/libavi.c:886,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/avi/libavi.c:887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_chk
    argTypes:
    - avi_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 888
    functionName: AVI_ChunkFree_strz
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached:
    - FREENULL
    linkageType: ''
    returnType: void
    signature: void AVI_ChunkFree_strz( avi_chunk_t *p_chk )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVI_NextChunk
      Src: /src/vlc/modules/demux/avi/libavi.c:892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - p_chk
    argTypes:
    - stream_t*
    - avi_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 890
    functionDepth: 4
    functionLinenumber: 890
    functionLinenumberEnd: 893
    functionName: AVI_ChunkRead_nothing
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached:
    - AVI_NextChunk
    linkageType: ''
    returnType: int
    signature: int AVI_ChunkRead_nothing( stream_t *s, avi_chunk_t *p_chk )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/avi/libavi.c:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_chk
    argTypes:
    - avi_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 894
    functionDepth: 1
    functionLinenumber: 894
    functionLinenumberEnd: 897
    functionName: AVI_ChunkFree_nothing
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void AVI_ChunkFree_nothing( avi_chunk_t *p_chk )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - i_fourcc
    argTypes:
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 988
    functionName: AVI_ChunkFunctionFind
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int AVI_ChunkFunctionFind( vlc_fourcc_t i_fourcc )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/libavi.c:996,1
    - Dst: AVI_ChunkReadCommon
      Src: /src/vlc/modules/demux/avi/libavi.c:1000,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/avi/libavi.c:1003,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/libavi.c:1005,1
    - Dst: AVI_ChunkFunctionFind
      Src: /src/vlc/modules/demux/avi/libavi.c:1010,1
    - Dst: AVI_ChunkRead_function
      Src: /src/vlc/modules/demux/avi/libavi.c:1013,1
    - Dst: AVI_ChunkRead_indx
      Src: /src/vlc/modules/demux/avi/libavi.c:1021,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/libavi.c:1024,1
    - Dst: AVI_NextChunk
      Src: /src/vlc/modules/demux/avi/libavi.c:1026,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - s
    - p_chk
    - p_father
    argTypes:
    - stream_t*
    - avi_chunk_t*
    - avi_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 990
    functionDepth: 4
    functionLinenumber: 990
    functionLinenumberEnd: 1027
    functionName: AVI_ChunkRead
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 2
    functionsReached:
    - VLC_FOURCC
    - AVI_ChunkFunctionFind
    - AVI_NextChunk
    - AVI_ChunkReadCommon
    - AVI_ChunkRead_indx
    - AVI_ChunkRead_function
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int AVI_ChunkRead( stream_t *s, avi_chunk_t *p_chk, avi_chunk_t *p_father
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AVI_ChunkClean
      Src: /src/vlc/modules/demux/avi/libavi.c:1045,1
    - Dst: free
      Src: /src/vlc/modules/demux/avi/libavi.c:1046,1
    - Dst: AVI_ChunkFunctionFind
      Src: /src/vlc/modules/demux/avi/libavi.c:1050,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/libavi.c:1054,1
    - Dst: AVI_ChunkFree_function
      Src: /src/vlc/modules/demux/avi/libavi.c:1057,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/libavi.c:1061,1
    - Dst: AVI_ChunkInit
      Src: /src/vlc/modules/demux/avi/libavi.c:1064,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - s
    - p_chk
    argTypes:
    - stream_t*
    - avi_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1067
    functionName: AVI_ChunkClean
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 3
    functionsReached:
    - AVI_ChunkInit
    - AVI_ChunkFunctionFind
    - AVI_ChunkClean
    - AVI_ChunkFree_function
    - free
    - msg_Dbg
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: "void AVI_ChunkClean( stream_t *s,\n                     avi_chunk_t
      *p_chk )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/demux/avi/libavi.c:1071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_chk
    argTypes:
    - avi_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1072
    functionName: AVI_ChunkInit
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void AVI_ChunkInit( avi_chunk_t *p_chk )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/demux/avi/libavi.c:1083,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/avi/libavi.c:1092,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/avi/libavi.c:1102,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/libavi.c:1108,1
    - Dst: AVI_ChunkDumpDebug_level
      Src: /src/vlc/modules/demux/avi/libavi.c:1113,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - p_obj
    - p_chk
    - i_level
    argTypes:
    - vlc_object_t*
    - avi_chunk_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1074
    functionDepth: 1
    functionLinenumber: 1074
    functionLinenumberEnd: 1116
    functionName: AVI_ChunkDumpDebug_level
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 1
    functionsReached:
    - AVI_ChunkDumpDebug_level
    - snprintf
    - msg_Dbg
    - memset
    linkageType: ''
    returnType: void
    signature: "void AVI_ChunkDumpDebug_level( vlc_object_t *p_obj,\n                                      avi_chunk_t
      \ *p_chk, unsigned i_level )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/avi/libavi.c:1124,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/avi/libavi.c:1133,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/avi/libavi.c:1138,1
    - Dst: AVI_ChunkRead
      Src: /src/vlc/modules/demux/avi/libavi.c:1142,1
    - Dst: AVI_ChunkClean
      Src: /src/vlc/modules/demux/avi/libavi.c:1144,1
    - Dst: free
      Src: /src/vlc/modules/demux/avi/libavi.c:1145,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/avi/libavi.c:1153,1
    - Dst: __EVEN
      Src: /src/vlc/modules/demux/avi/libavi.c:1155,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/demux/avi/libavi.c:1168,1
    - Dst: AVI_ChunkDumpDebug_level
      Src: /src/vlc/modules/demux/avi/libavi.c:1171,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/avi/libavi.c:1171,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 2
    argNames:
    - s
    - p_root
    argTypes:
    - stream_t*
    - avi_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1118
    functionDepth: 5
    functionLinenumber: 1118
    functionLinenumberEnd: 1173
    functionName: AVI_ChunkReadRoot
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - AVI_ChunkClean
    - calloc
    - free
    - AVI_ChunkDumpDebug_level
    - VLC_OBJECT
    - __EVEN
    - vlc_stream_Tell
    - AVI_ChunkRead
    - vlc_stream_GetSize
    - vlc_stream_Control
    linkageType: ''
    returnType: int
    signature: int AVI_ChunkReadRoot( stream_t *s, avi_chunk_t *p_root )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVI_ChunkClean
      Src: /src/vlc/modules/demux/avi/libavi.c:1178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - p_chk
    argTypes:
    - stream_t*
    - avi_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1175
    functionDepth: 2
    functionLinenumber: 1175
    functionLinenumberEnd: 1179
    functionName: AVI_ChunkFreeRoot
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached:
    - AVI_ChunkClean
    linkageType: ''
    returnType: void
    signature: "void AVI_ChunkFreeRoot( stream_t *s,\n                        avi_chunk_t
      \ *p_chk )"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - p_chk
    - i_fourcc
    - b_list
    argTypes:
    - avi_chunk_t*
    - vlc_fourcc_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1182
    functionDepth: 0
    functionLinenumber: 1182
    functionLinenumberEnd: 1202
    functionName: AVI_ChunkCount_
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int AVI_ChunkCount_( avi_chunk_t *p_chk, vlc_fourcc_t i_fourcc, bool
      b_list )
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 4
    argNames:
    - p_chk
    - i_fourcc
    - i_number
    - b_list
    argTypes:
    - avi_chunk_t*
    - vlc_fourcc_t
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1225
    functionName: AVI_ChunkFind_
    functionSourceFile: /src/vlc/modules/demux/avi/libavi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void *AVI_ChunkFind_( avi_chunk_t *p_chk,\n                      vlc_fourcc_t
      i_fourcc, int i_number, bool b_list )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FromCharset
      Src: /src/vlc/modules/demux/avi/avi.c:102,1
    - Dst: vlc_pgettext
      Src: /src/vlc/modules/demux/avi/avi.c:102,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/avi/avi.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: FromACP
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 0
    functionsReached:
    - strlen
    - vlc_pgettext
    - FromCharset
    linkageType: ''
    returnType: char
    signature: char *FromACP( const char *str )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 221
    functionName: __EVEN
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __EVEN(x)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - biCompression
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 286
    functionName: IsQNAPCodec
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsQNAPCodec(uint32_t biCompression)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/demux/avi/avi.c:294,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/avi/avi.c:296,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/avi/avi.c:299,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/avi/avi.c:300,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/avi/avi.c:301,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/avi/avi.c:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - p_buf
    - pi_start
    - pi_end
    argTypes:
    - uint8_t*
    - vlc_tick_t*
    - vlc_tick_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 304
    functionName: ExtractXsubSampleInfo
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 0
    functionsReached:
    - sscanf
    - vlc_tick_from_sec
    - VLC_TICK_FROM_MS
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int ExtractXsubSampleInfo( const uint8_t *p_buf,\n                                  vlc_tick_t
      *pi_start, vlc_tick_t *pi_end )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/avi/avi.c:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - s
    - i_skip
    - pp_peek
    - i_peek
    argTypes:
    - stream_t*
    - size_t
    - uint8_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 314
    functionName: AVI_PeekSample
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    linkageType: ''
    returnType: int
    signature: "int AVI_PeekSample( stream_t *s, size_t i_skip,\n                           const
      uint8_t **pp_peek, size_t i_peek )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/avi/avi.c:320,1
    - Dst: AVI_PeekSample
      Src: /src/vlc/modules/demux/avi/avi.c:321,1
    - Dst: ExtractXsubSampleInfo
      Src: /src/vlc/modules/demux/avi/avi.c:322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - stream_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 325
    functionName: AVI_GetXsubSampleTimeAt
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Seek
    - AVI_PeekSample
    - ExtractXsubSampleInfo
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t AVI_GetXsubSampleTimeAt( stream_t *s, uint64_t pos )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/avi/avi.c:339,1
    - Dst: avi_index_Clean
      Src: /src/vlc/modules/demux/avi/avi.c:340,1
    - Dst: free
      Src: /src/vlc/modules/demux/avi/avi.c:341,1
    - Dst: free
      Src: /src/vlc/modules/demux/avi/avi.c:344,1
    - Dst: AVI_ChunkFreeRoot
      Src: /src/vlc/modules/demux/avi/avi.c:346,1
    - Dst: vlc_meta_Delete
      Src: /src/vlc/modules/demux/avi/avi.c:348,1
    - Dst: vlc_input_attachment_Release
      Src: /src/vlc/modules/demux/avi/avi.c:351,1
    - Dst: free
      Src: /src/vlc/modules/demux/avi/avi.c:352,1
    - Dst: free
      Src: /src/vlc/modules/demux/avi/avi.c:354,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 330
    functionDepth: 3
    functionLinenumber: 330
    functionLinenumberEnd: 355
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 125
    functionsReached:
    - vlc_meta_Delete
    - es_format_Clean
    - vlc_input_attachment_Release
    - free
    - AVI_ChunkFreeRoot
    - avi_index_Clean
    linkageType: ''
    returnType: void
    signature: void Close ( vlc_object_t * p_this )
  - BBCount: 73
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/avi/avi.c:378,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/avi/avi.c:383,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/avi/avi.c:383,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/avi/avi.c:385,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/avi/avi.c:385,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/avi/avi.c:394,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/avi/avi.c:398,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/avi/avi.c:399,1
    - Dst: TAB_INIT
      Src: /src/vlc/modules/demux/avi/avi.c:403,1
    - Dst: TAB_INIT
      Src: /src/vlc/modules/demux/avi/avi.c:404,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/avi/avi.c:406,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/avi/avi.c:408,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/avi/avi.c:410,1
    - Dst: AVI_ChunkReadRoot
      Src: /src/vlc/modules/demux/avi/avi.c:412,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/avi/avi.c:414,1
    - Dst: free
      Src: /src/vlc/modules/demux/avi/avi.c:415,1
    - Dst: AVI_ChunkCount
      Src: /src/vlc/modules/demux/avi/avi.c:419,1
    - Dst: AVI_ChunkCount
      Src: /src/vlc/modules/demux/avi/avi.c:422,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:424,1
    - Dst: AVI_ChunkFind
      Src: /src/vlc/modules/demux/avi/avi.c:429,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:432,1
    - Dst: AVI_ChunkFind
      Src: /src/vlc/modules/demux/avi/avi.c:439,1
    - Dst: AVI_ChunkFind
      Src: /src/vlc/modules/demux/avi/avi.c:440,1
    - Dst: AVI_ChunkFind
      Src: /src/vlc/modules/demux/avi/avi.c:441,1
    - Dst: AVI_ChunkFind
      Src: /src/vlc/modules/demux/avi/avi.c:443,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/avi/avi.c:447,1
    - Dst: AVI_ChunkFind
      Src: /src/vlc/modules/demux/avi/avi.c:451,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/avi/avi.c:453,1
    - Dst: AVI_ChunkCount
      Src: /src/vlc/modules/demux/avi/avi.c:456,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:459,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/avi/avi.c:465,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/avi/avi.c:470,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/avi.c:475,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:497,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:502,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:509,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/avi/avi.c:511,1
    - Dst: AVI_MetaLoad
      Src: /src/vlc/modules/demux/avi/avi.c:515,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/avi/avi.c:521,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/avi/avi.c:522,1
    - Dst: AVI_ChunkFind
      Src: /src/vlc/modules/demux/avi/avi.c:525,1
    - Dst: AVI_ChunkFind
      Src: /src/vlc/modules/demux/avi/avi.c:526,1
    - Dst: AVI_ChunkFind
      Src: /src/vlc/modules/demux/avi/avi.c:527,1
    - Dst: AVI_ChunkFind
      Src: /src/vlc/modules/demux/avi/avi.c:534,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:539,1
    - Dst: free
      Src: /src/vlc/modules/demux/avi/avi.c:540,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/avi.c:547,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/avi/avi.c:554,1
    - Dst: container_of
      Src: /src/vlc/modules/demux/avi/avi.c:559,1
    - Dst: AVI_FourccGetCodec
      Src: /src/vlc/modules/demux/avi/avi.c:560,1
    - Dst: AVI_FourccGetCodec
      Src: /src/vlc/modules/demux/avi/avi.c:563,1
    - Dst: vlc_fourcc_GetCodecAudio
      Src: /src/vlc/modules/demux/avi/avi.c:570,1
    - Dst: aout_BitsPerSample
      Src: /src/vlc/modules/demux/avi/avi.c:572,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:588,1
    - Dst: AVI_ChunkFind
      Src: /src/vlc/modules/demux/avi/avi.c:629,1
    - Dst: AVI_ChunkFind
      Src: /src/vlc/modules/demux/avi/avi.c:633,1
    - Dst: FromACP
      Src: /src/vlc/modules/demux/avi/avi.c:635,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/avi.c:638,1
    - Dst: vlc_fourcc_GetDescription
      Src: /src/vlc/modules/demux/avi/avi.c:641,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/avi/avi.c:653,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/avi/avi.c:654,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/avi/avi.c:656,1
    - Dst: free
      Src: /src/vlc/modules/demux/avi/avi.c:657,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/avi/avi.c:661,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/avi.c:670,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/avi/avi.c:671,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/avi/avi.c:677,1
    - Dst: ParseBitmapInfoHeader
      Src: /src/vlc/modules/demux/avi/avi.c:679,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/avi/avi.c:682,1
    - Dst: free
      Src: /src/vlc/modules/demux/avi/avi.c:683,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/avi/avi.c:688,1
    - Dst: IsQNAPCodec
      Src: /src/vlc/modules/demux/avi/avi.c:695,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/avi/avi.c:703,1
    - Dst: AVI_ChunkFind
      Src: /src/vlc/modules/demux/avi/avi.c:716,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/avi.c:729,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/avi.c:740,1
    - Dst: AVI_ExtractSubtitle
      Src: /src/vlc/modules/demux/avi/avi.c:741,1
    - Dst: free
      Src: /src/vlc/modules/demux/avi/avi.c:742,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/avi.c:747,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/avi/avi.c:748,1
    - Dst: AVI_FourccGetCodec
      Src: /src/vlc/modules/demux/avi/avi.c:748,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/avi.c:759,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:763,1
    - Dst: free
      Src: /src/vlc/modules/demux/avi/avi.c:764,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:771,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/avi/avi.c:772,1
    - Dst: free
      Src: /src/vlc/modules/demux/avi/avi.c:773,1
    - Dst: FromACP
      Src: /src/vlc/modules/demux/avi/avi.c:779,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/avi/avi.c:780,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/demux/avi/avi.c:781,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/avi/avi.c:786,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/demux/avi/avi.c:790,1
    - Dst: AVI_IndexCreate
      Src: /src/vlc/modules/demux/avi/avi.c:796,1
    - Dst: AVI_IndexLoad
      Src: /src/vlc/modules/demux/avi/avi.c:800,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:804,1
    - Dst: AVI_IndexLoad
      Src: /src/vlc/modules/demux/avi/avi.c:809,1
    - Dst: AVI_MovieGetLength
      Src: /src/vlc/modules/demux/avi/avi.c:813,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/avi/avi.c:821,1
    - Dst: VLC_TICK_FROM_US
      Src: /src/vlc/modules/demux/avi/avi.c:824,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:827,1
    - Dst: _
      Src: /src/vlc/modules/demux/avi/avi.c:837,1
    - Dst: vlc_dialog_wait_question
      Src: /src/vlc/modules/demux/avi/avi.c:844,1
    - Dst: _
      Src: /src/vlc/modules/demux/avi/avi.c:846,1
    - Dst: _
      Src: /src/vlc/modules/demux/avi/avi.c:847,1
    - Dst: _
      Src: /src/vlc/modules/demux/avi/avi.c:848,1
    - Dst: _
      Src: /src/vlc/modules/demux/avi/avi.c:849,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/avi.c:857,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/avi.c:864,1
    - Dst: AVI_ChunkFind
      Src: /src/vlc/modules/demux/avi/avi.c:887,1
    - Dst: AVI_ChunkFind
      Src: /src/vlc/modules/demux/avi/avi.c:888,1
    - Dst: VLC_TICK_FROM_US
      Src: /src/vlc/modules/demux/avi/avi.c:897,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:902,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:907,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/avi/avi.c:914,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/avi/avi.c:918,1
    - Dst: Close
      Src: /src/vlc/modules/demux/avi/avi.c:925,1
    CyclomaticComplexity: 130
    EdgeCount: 130
    ICount: 332
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 360
    functionDepth: 6
    functionLinenumber: 360
    functionLinenumberEnd: 927
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 37
    functionsReached:
    - AVI_ChunkFind
    - memcpy
    - AVI_MetaLoad
    - IsQNAPCodec
    - es_format_Init
    - AVI_IndexCreate
    - vlc_stream_Control
    - AVI_ChunkReadRoot
    - vlc_fourcc_GetDescription
    - container_of
    - _
    - msg_Err
    - calloc
    - aout_BitsPerSample
    - __MAX
    - vlc_stream_Read
    - msg_Dbg
    - msg_Warn
    - AVI_ChunkCount
    - VLC_FOURCC
    - AVI_IndexLoad
    - vlc_dialog_wait_question
    - AVI_MovieGetLength
    - var_InheritInteger
    - TAB_APPEND
    - var_InheritBool
    - AVI_FourccGetCodec
    - AVI_ExtractSubtitle
    - strncmp
    - __MIN
    - vlc_fourcc_GetCodecAudio
    - vlc_stream_Seek
    - Close
    - FromACP
    - strncasecmp
    - vlc_stream_Peek
    - es_format_Clean
    - VLC_TICK_FROM_US
    - TAB_INIT
    - ParseBitmapInfoHeader
    - free
    - es_out_Add
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t * p_this )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/avi/avi.c:939,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/avi/avi.c:940,1
    - Dst: __EVEN
      Src: /src/vlc/modules/demux/avi/avi.c:946,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/avi/avi.c:949,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/avi/avi.c:951,1
    - Dst: ExtractXsubSampleInfo
      Src: /src/vlc/modules/demux/avi/avi.c:961,1
    - Dst: memmove
      Src: /src/vlc/modules/demux/avi/avi.c:996,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/avi/avi.c:1004,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/avi/avi.c:1007,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/avi/avi.c:1020,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/avi/avi.c:1025,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 4
    argNames:
    - p_demux
    - tk
    - i_header
    - i_osize
    argTypes:
    - demux_t*
    - avi_track_t*
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (i_header % 8 == 0)
      pos:
        line_end: 938
        line_start: 938
        source_file: /src/vlc/modules/demux/avi/avi.c
    constantsTouched: []
    func_position:
      end: 1030
      start: 933
    functionDepth: 2
    functionLinenumber: 933
    functionLinenumberEnd: 1030
    functionName: ReadFrame
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 1
    functionsReached:
    - block_Release
    - assert
    - ExtractXsubSampleInfo
    - memcpy
    - memmove
    - block_Alloc
    - vlc_stream_Read
    - vlc_stream_Block
    - __EVEN
    linkageType: ''
    returnType: block_t
    signature: "block_t * ReadFrame( demux_t *p_demux, const avi_track_t *tk,\n                            uint32_t
      i_header, uint32_t i_osize )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: AVI_DvHandleAudio
      Src: /src/vlc/modules/demux/avi/avi.c:1048,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/avi/avi.c:1057,1
    - Dst: IsQNAPCodec
      Src: /src/vlc/modules/demux/avi/avi.c:1059,1
    - Dst: vlc_meta_Get
      Src: /src/vlc/modules/demux/avi/avi.c:1061,1
    - Dst: vlc_towc
      Src: /src/vlc/modules/demux/avi/avi.c:1071,1
    - Dst: likely
      Src: /src/vlc/modules/demux/avi/avi.c:1072,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/avi/avi.c:1080,1
    - Dst: vlc_meta_Set
      Src: /src/vlc/modules/demux/avi/avi.c:1082,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/avi/avi.c:1099,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/avi/avi.c:1101,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 3
    argNames:
    - p_demux
    - tk
    - p_frame
    argTypes:
    - demux_t*
    - avi_track_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1035
    functionDepth: 1
    functionLinenumber: 1035
    functionLinenumberEnd: 1102
    functionName: AVI_SendFrame
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - vlc_meta_Set
    - block_Release
    - es_out_Send
    - AVI_DvHandleAudio
    - strncmp
    - vlc_towc
    - IsQNAPCodec
    - likely
    - vlc_meta_Get
    linkageType: ''
    returnType: void
    signature: void AVI_SendFrame( demux_t *p_demux, avi_track_t *tk, block_t *p_frame
      )
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/avi/avi.c:1123,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/avi/avi.c:1127,1
    - Dst: AVI_TrackSeek
      Src: /src/vlc/modules/demux/avi/avi.c:1134,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:1157,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/avi/avi.c:1162,1
    - Dst: AVI_GetXsubSampleTimeAt
      Src: /src/vlc/modules/demux/avi/avi.c:1189,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/demux/avi/avi.c:1194,1
    - Dst: AVI_GetPTS
      Src: /src/vlc/modules/demux/avi/avi.c:1201,1
    - Dst: AVI_PTSToByte
      Src: /src/vlc/modules/demux/avi/avi.c:1205,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/demux/avi/avi.c:1207,1
    - Dst: AVI_PTSToChunk
      Src: /src/vlc/modules/demux/avi/avi.c:1209,1
    - Dst: AVI_GetDPTS
      Src: /src/vlc/modules/demux/avi/avi.c:1210,1
    - Dst: AVI_GetDPTS
      Src: /src/vlc/modules/demux/avi/avi.c:1235,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:1260,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/avi/avi.c:1272,1
    - Dst: AVI_PacketNext
      Src: /src/vlc/modules/demux/avi/avi.c:1275,1
    - Dst: AVI_TrackStopFinishedStreams
      Src: /src/vlc/modules/demux/avi/avi.c:1277,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/avi/avi.c:1283,1
    - Dst: AVI_PacketGetHeader
      Src: /src/vlc/modules/demux/avi/avi.c:1291,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:1293,1
    - Dst: AVI_TrackStopFinishedStreams
      Src: /src/vlc/modules/demux/avi/avi.c:1295,1
    - Dst: AVI_PacketNext
      Src: /src/vlc/modules/demux/avi/avi.c:1301,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:1303,1
    - Dst: AVI_TrackStopFinishedStreams
      Src: /src/vlc/modules/demux/avi/avi.c:1305,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:1310,1
    - Dst: AVI_GetKeyFlag
      Src: /src/vlc/modules/demux/avi/avi.c:1320,1
    - Dst: avi_index_Append
      Src: /src/vlc/modules/demux/avi/avi.c:1324,1
    - Dst: AVI_GetDPTS
      Src: /src/vlc/modules/demux/avi/avi.c:1328,1
    - Dst: AVI_PacketNext
      Src: /src/vlc/modules/demux/avi/avi.c:1336,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:1338,1
    - Dst: AVI_TrackStopFinishedStreams
      Src: /src/vlc/modules/demux/avi/avi.c:1340,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/avi/avi.c:1350,1
    - Dst: AVI_PTSToByte
      Src: /src/vlc/modules/demux/avi/avi.c:1376,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/avi/avi.c:1376,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/avi/avi.c:1377,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/avi/avi.c:1380,1
    - Dst: assert
      Src: /src/vlc/modules/demux/avi/avi.c:1384,1
    - Dst: ReadFrame
      Src: /src/vlc/modules/demux/avi/avi.c:1391,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:1393,1
    - Dst: AVI_GetPTS
      Src: /src/vlc/modules/demux/avi/avi.c:1400,1
    - Dst: AVI_SendFrame
      Src: /src/vlc/modules/demux/avi/avi.c:1456,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 184
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts:
    - condition: (tk->i_idxposb == 0)
      pos:
        line_end: 1383
        line_start: 1383
        source_file: /src/vlc/modules/demux/avi/avi.c
    constantsTouched: []
    func_position:
      end: 1458
      start: 1111
    functionDepth: 3
    functionLinenumber: 1111
    functionLinenumberEnd: 1458
    functionName: Demux_Seekable
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 0
    functionsReached:
    - AVI_TrackSeek
    - assert
    - AVI_PTSToByte
    - __MAX
    - msg_Warn
    - AVI_SendFrame
    - AVI_PTSToChunk
    - AVI_GetDPTS
    - ReadFrame
    - AVI_GetKeyFlag
    - VLC_TICK_FROM_SEC
    - AVI_TrackStopFinishedStreams
    - __MIN
    - vlc_stream_Seek
    - es_out_SetPCR
    - AVI_GetXsubSampleTimeAt
    - es_out_Control
    - avi_index_Append
    - VLC_TICK_FROM_MS
    - AVI_PacketNext
    - AVI_GetPTS
    - AVI_PacketGetHeader
    linkageType: ''
    returnType: int
    signature: int Demux_Seekable( demux_t *p_demux )
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/avi/avi.c:1473,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/avi/avi.c:1482,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/avi/avi.c:1486,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:1512,1
    - Dst: AVI_GetPTS
      Src: /src/vlc/modules/demux/avi/avi.c:1517,1
    - Dst: AVI_PacketGetHeader
      Src: /src/vlc/modules/demux/avi/avi.c:1523,1
    - Dst: AVI_PacketNext
      Src: /src/vlc/modules/demux/avi/avi.c:1540,1
    - Dst: AVI_PacketNext
      Src: /src/vlc/modules/demux/avi/avi.c:1545,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:1550,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/avi/avi.c:1552,1
    - Dst: AVI_PacketSearch
      Src: /src/vlc/modules/demux/avi/avi.c:1553,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/avi/avi.c:1555,1
    - Dst: llabs
      Src: /src/vlc/modules/demux/avi/avi.c:1565,1
    - Dst: AVI_GetPTS
      Src: /src/vlc/modules/demux/avi/avi.c:1565,1
    - Dst: AVI_GetPTS
      Src: /src/vlc/modules/demux/avi/avi.c:1566,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/demux/avi/avi.c:1566,1
    - Dst: ReadFrame
      Src: /src/vlc/modules/demux/avi/avi.c:1569,1
    - Dst: AVI_GetPTS
      Src: /src/vlc/modules/demux/avi/avi.c:1576,1
    - Dst: AVI_SendFrame
      Src: /src/vlc/modules/demux/avi/avi.c:1580,1
    - Dst: AVI_PacketNext
      Src: /src/vlc/modules/demux/avi/avi.c:1584,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 75
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1466
    functionDepth: 3
    functionLinenumber: 1466
    functionLinenumberEnd: 1609
    functionName: Demux_UnSeekable
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 0
    functionsReached:
    - llabs
    - es_out_Control
    - VLC_TICK_FROM_SEC
    - msg_Err
    - AVI_PacketNext
    - AVI_GetPTS
    - AVI_PacketGetHeader
    - msg_Warn
    - ReadFrame
    - vlc_stream_Tell
    - AVI_SendFrame
    - AVI_PacketSearch
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int Demux_UnSeekable( demux_t *p_demux )
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/avi.c:1617,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/demux/avi/avi.c:1618,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/avi/avi.c:1622,1
    - Dst: AVI_ChunkFind
      Src: /src/vlc/modules/demux/avi/avi.c:1627,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/avi/avi.c:1628,1
    - Dst: AVI_ChunkFetchIndexes
      Src: /src/vlc/modules/demux/avi/avi.c:1631,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/avi/avi.c:1635,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/avi/avi.c:1636,1
    - Dst: AVI_IndexLoad
      Src: /src/vlc/modules/demux/avi/avi.c:1642,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/demux/avi/avi.c:1652,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:1658,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:1665,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/avi/avi.c:1668,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/avi/avi.c:1671,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:1685,1
    - Dst: AVI_StreamChunkSet
      Src: /src/vlc/modules/demux/avi/avi.c:1690,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:1692,1
    - Dst: AVI_StreamChunkSet
      Src: /src/vlc/modules/demux/avi/avi.c:1700,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:1703,1
    - Dst: AVI_GetPTS
      Src: /src/vlc/modules/demux/avi/avi.c:1708,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/avi.c:1710,1
    - Dst: AVI_TrackSeek
      Src: /src/vlc/modules/demux/avi/avi.c:1731,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/avi/avi.c:1737,1
    - Dst: AVI_GetPTS
      Src: /src/vlc/modules/demux/avi/avi.c:1737,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/avi/avi.c:1745,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/avi/avi.c:1747,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/avi.c:1748,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/demux/avi/avi.c:1748,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/avi/avi.c:1753,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/avi/avi.c:1754,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/avi/avi.c:1760,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 89
    argCount: 4
    argNames:
    - p_demux
    - i_date
    - f_ratio
    - b_accurate
    argTypes:
    - demux_t*
    - vlc_tick_t
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1763
      start: 1614
    functionDepth: 3
    functionLinenumber: 1614
    functionLinenumberEnd: 1763
    functionName: Seek
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 114
    functionsReached:
    - AVI_ChunkFind
    - AVI_IndexLoad
    - AVI_TrackSeek
    - es_out_Control
    - SEC_FROM_VLC_TICK
    - AVI_ChunkFetchIndexes
    - msg_Err
    - __MAX
    - msg_Dbg
    - AVI_GetPTS
    - AVI_StreamChunkSet
    - msg_Warn
    - vlc_stream_Seek
    - __MIN
    - vlc_stream_Tell
    - unlikely
    - es_out_SetPCR
    - vlc_stream_GetSize
    linkageType: ''
    returnType: int
    signature: int Seek( demux_t *p_demux, vlc_tick_t i_date, double f_ratio, bool
      b_accurate )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/demux/avi/avi.c:1777,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/avi/avi.c:1779,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1783
      start: 1768
    functionDepth: 1
    functionLinenumber: 1768
    functionLinenumberEnd: 1783
    functionName: ControlGetPosition
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Tell
    - vlc_stream_GetSize
    linkageType: ''
    returnType: double
    signature: double ControlGetPosition( demux_t *p_demux )
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avi/avi.c:1796,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avi/avi.c:1800,1
    - Dst: ControlGetPosition
      Src: /src/vlc/modules/demux/avi/avi.c:1801,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avi/avi.c:1804,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avi/avi.c:1805,1
    - Dst: Seek
      Src: /src/vlc/modules/demux/avi/avi.c:1813,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avi/avi.c:1817,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avi/avi.c:1824,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avi/avi.c:1825,1
    - Dst: ControlGetPosition
      Src: /src/vlc/modules/demux/avi/avi.c:1836,1
    - Dst: Seek
      Src: /src/vlc/modules/demux/avi/avi.c:1839,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avi/avi.c:1842,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avi/avi.c:1846,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avi/avi.c:1860,1
    - Dst: vlc_meta_Merge
      Src: /src/vlc/modules/demux/avi/avi.c:1861,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avi/avi.c:1869,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avi/avi.c:1870,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/avi/avi.c:1872,1
    - Dst: likely
      Src: /src/vlc/modules/demux/avi/avi.c:1873,1
    - Dst: vlc_input_attachment_Hold
      Src: /src/vlc/modules/demux/avi/avi.c:1877,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/avi/avi.c:1885,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/avi/avi.c:1895,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 78
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1900
      start: 1785
    functionDepth: 2
    functionLinenumber: 1785
    functionLinenumberEnd: 1900
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 150
    functionsReached:
    - demux_vaControlHelper
    - Seek
    - vlc_meta_Merge
    - calloc
    - vlc_input_attachment_Hold
    - ControlGetPosition
    - va_arg
    - likely
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - i_value
    - i_timescale
    - i_newscale
    argTypes:
    - vlc_tick_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1920
      start: 1906
    functionDepth: 0
    functionLinenumber: 1906
    functionLinenumberEnd: 1920
    functionName: AVI_Rescale
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t AVI_Rescale( vlc_tick_t i_value, uint32_t i_timescale, uint32_t
      i_newscale )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVI_Rescale
      Src: /src/vlc/modules/demux/avi/avi.c:1927,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/demux/avi/avi.c:1928,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - tk
    - i_pts
    argTypes:
    - avi_track_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1929
      start: 1922
    functionDepth: 1
    functionLinenumber: 1922
    functionLinenumberEnd: 1929
    functionName: AVI_PTSToChunk
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 1
    functionsReached:
    - SEC_FROM_VLC_TICK
    - AVI_Rescale
    linkageType: ''
    returnType: int64_t
    signature: int64_t AVI_PTSToChunk( avi_track_t *tk, vlc_tick_t i_pts )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVI_Rescale
      Src: /src/vlc/modules/demux/avi/avi.c:1936,1
    - Dst: samples_from_vlc_tick
      Src: /src/vlc/modules/demux/avi/avi.c:1937,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - tk
    - i_pts
    argTypes:
    - avi_track_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1938
      start: 1931
    functionDepth: 1
    functionLinenumber: 1931
    functionLinenumberEnd: 1938
    functionName: AVI_PTSToByte
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 1
    functionsReached:
    - samples_from_vlc_tick
    - AVI_Rescale
    linkageType: ''
    returnType: int64_t
    signature: int64_t AVI_PTSToByte( avi_track_t *tk, vlc_tick_t i_pts )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AVI_Rescale
      Src: /src/vlc/modules/demux/avi/avi.c:1950,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - tk
    - i_count
    argTypes:
    - avi_track_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1957
      start: 1940
    functionDepth: 1
    functionLinenumber: 1940
    functionLinenumberEnd: 1957
    functionName: AVI_GetDPTS
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 1
    functionsReached:
    - AVI_Rescale
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t AVI_GetDPTS( avi_track_t *tk, int64_t i_count )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AVI_GetDPTS
      Src: /src/vlc/modules/demux/avi/avi.c:1979,1
    - Dst: AVI_GetDPTS
      Src: /src/vlc/modules/demux/avi/avi.c:1983,1
    - Dst: AVI_GetDPTS
      Src: /src/vlc/modules/demux/avi/avi.c:1985,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - tk
    argTypes:
    - avi_track_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1986
      start: 1959
    functionDepth: 2
    functionLinenumber: 1959
    functionLinenumberEnd: 1986
    functionName: AVI_GetPTS
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 3
    functionsReached:
    - AVI_GetDPTS
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t AVI_GetPTS( avi_track_t *tk )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/avi/avi.c:1998,1
    - Dst: AVI_PacketNext
      Src: /src/vlc/modules/demux/avi/avi.c:2000,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/avi/avi.c:2007,1
    - Dst: AVI_PacketGetHeader
      Src: /src/vlc/modules/demux/avi/avi.c:2013,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:2015,1
    - Dst: AVI_PacketNext
      Src: /src/vlc/modules/demux/avi/avi.c:2021,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:2027,1
    - Dst: AVI_GetKeyFlag
      Src: /src/vlc/modules/demux/avi/avi.c:2035,1
    - Dst: avi_index_Append
      Src: /src/vlc/modules/demux/avi/avi.c:2039,1
    - Dst: AVI_PacketNext
      Src: /src/vlc/modules/demux/avi/avi.c:2046,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - p_demux
    - tk
    argTypes:
    - demux_t*
    - avi_track_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2052
      start: 1988
    functionDepth: 1
    functionLinenumber: 1988
    functionLinenumberEnd: 2052
    functionName: AVI_StreamChunkFind
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 0
    functionsReached:
    - AVI_GetKeyFlag
    - avi_index_Append
    - AVI_PacketNext
    - AVI_PacketGetHeader
    - msg_Warn
    - vlc_stream_Seek
    linkageType: ''
    returnType: int
    signature: int AVI_StreamChunkFind( demux_t *p_demux, avi_track_t *tk )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AVI_StreamChunkFind
      Src: /src/vlc/modules/demux/avi/avi.c:2067,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - p_demux
    - p_stream
    - i_ck
    argTypes:
    - demux_t*
    - avi_track_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2076
      start: 2055
    functionDepth: 2
    functionLinenumber: 2055
    functionLinenumberEnd: 2076
    functionName: AVI_StreamChunkSet
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 1
    functionsReached:
    - AVI_StreamChunkFind
    linkageType: ''
    returnType: int
    signature: "int AVI_StreamChunkSet( demux_t *p_demux, avi_track_t *p_stream,\n
      \                              unsigned int i_ck )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: __MIN
      Src: /src/vlc/modules/demux/avi/avi.c:2089,1
    - Dst: AVI_StreamChunkFind
      Src: /src/vlc/modules/demux/avi/avi.c:2125,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - p_demux
    - p_stream
    - i_byte
    argTypes:
    - demux_t*
    - avi_track_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2137
      start: 2079
    functionDepth: 2
    functionLinenumber: 2079
    functionLinenumberEnd: 2137
    functionName: AVI_StreamBytesSet
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 0
    functionsReached:
    - AVI_StreamChunkFind
    - __MIN
    linkageType: ''
    returnType: int
    signature: "int AVI_StreamBytesSet( demux_t    *p_demux,\n                               avi_track_t
      *p_stream,\n                               uint64_t  i_byte )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: AVI_SeekSubtitleTrack
      Src: /src/vlc/modules/demux/avi/avi.c:2148,1
    - Dst: AVI_GetPTS
      Src: /src/vlc/modules/demux/avi/avi.c:2150,1
    - Dst: AVI_PTSToChunk
      Src: /src/vlc/modules/demux/avi/avi.c:2154,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/avi/avi.c:2155,1
    - Dst: AVI_StreamChunkSet
      Src: /src/vlc/modules/demux/avi/avi.c:2157,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/avi.c:2176,1
    - Dst: AVI_StreamChunkSet
      Src: /src/vlc/modules/demux/avi/avi.c:2190,1
    - Dst: while
      Src: /src/vlc/modules/demux/avi/avi.c:2199,1
    - Dst: if
      Src: /src/vlc/modules/demux/avi/avi.c:2202,1
    - Dst: AVI_StreamChunkSet
      Src: /src/vlc/modules/demux/avi/avi.c:2202,1
    - Dst: AVI_PTSToByte
      Src: /src/vlc/modules/demux/avi/avi.c:2213,1
    - Dst: AVI_StreamBytesSet
      Src: /src/vlc/modules/demux/avi/avi.c:2216,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 3
    argNames:
    - p_demux
    - i_stream
    - i_date
    argTypes:
    - demux_t*
    - int
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2222
      start: 2139
    functionDepth: 3
    functionLinenumber: 2139
    functionLinenumberEnd: 2222
    functionName: AVI_TrackSeek
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 2
    functionsReached:
    - if
    - AVI_PTSToByte
    - AVI_StreamBytesSet
    - msg_Dbg
    - AVI_GetPTS
    - AVI_StreamChunkSet
    - while
    - AVI_SeekSubtitleTrack
    - unlikely
    - AVI_PTSToChunk
    linkageType: ''
    returnType: int
    signature: "int AVI_TrackSeek( demux_t *p_demux,\n                           int
      i_stream,\n                           vlc_tick_t i_date )"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: IsQNAPCodec
      Src: /src/vlc/modules/demux/avi/avi.c:2232,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/avi/avi.c:2232,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/avi/avi.c:2244,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/avi/avi.c:2263,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/avi/avi.c:2272,1
    - Dst: h264_getNALType
      Src: /src/vlc/modules/demux/avi/avi.c:2275,1
    - Dst: h264_getNALType
      Src: /src/vlc/modules/demux/avi/avi.c:2277,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/avi/avi.c:2285,1
    - Dst: hevc_getNALType
      Src: /src/vlc/modules/demux/avi/avi.c:2288,1
    - Dst: hevc_getNALType
      Src: /src/vlc/modules/demux/avi/avi.c:2290,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 2
    argNames:
    - tk
    - p_byte
    argTypes:
    - avi_track_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2301
      start: 2227
    functionDepth: 1
    functionLinenumber: 2227
    functionLinenumberEnd: 2301
    functionName: AVI_GetKeyFlag
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 2
    functionsReached:
    - VLC_FOURCC
    - h264_getNALType
    - hevc_getNALType
    - IsQNAPCodec
    - GetDWBE
    linkageType: ''
    returnType: int
    signature: int AVI_GetKeyFlag( const avi_track_t *tk, const uint8_t *p_byte )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wf_tag_to_fourcc
      Src: /src/vlc/modules/demux/avi/avi.c:2308,1
    - Dst: vlc_fourcc_GetCodec
      Src: /src/vlc/modules/demux/avi/avi.c:2311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - i_cat
    - i_codec
    argTypes:
    - unsigned int
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2315
      start: 2303
    functionDepth: 1
    functionLinenumber: 2303
    functionLinenumberEnd: 2315
    functionName: AVI_FourccGetCodec
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 1
    functionsReached:
    - vlc_fourcc_GetCodec
    - wf_tag_to_fourcc
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t AVI_FourccGetCodec( unsigned int i_cat, vlc_fourcc_t i_codec
      )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: VLC_TWOCC
      Src: /src/vlc/modules/demux/avi/avi.c:2337,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - i_id
    - pi_number
    - pi_type
    argTypes:
    - vlc_fourcc_t
    - unsigned int*
    - enum es_format_category_e*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2359
      start: 2320
    functionDepth: 1
    functionLinenumber: 2320
    functionLinenumberEnd: 2359
    functionName: AVI_ParseStreamHeader
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 0
    functionsReached:
    - VLC_TWOCC
    linkageType: ''
    returnType: void
    signature: "void AVI_ParseStreamHeader( vlc_fourcc_t i_id,\n                                   unsigned
      int *pi_number,\n                                   enum es_format_category_e
      *pi_type )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/avi/avi.c:2368,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/avi/avi.c:2372,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/avi/avi.c:2373,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/avi/avi.c:2374,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/avi/avi.c:2377,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/avi/avi.c:2385,1
    - Dst: AVI_ParseStreamHeader
      Src: /src/vlc/modules/demux/avi/avi.c:2387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - p_demux
    - p_pk
    argTypes:
    - demux_t*
    - avi_packet_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2389
      start: 2364
    functionDepth: 2
    functionLinenumber: 2364
    functionLinenumberEnd: 2389
    functionName: AVI_PacketGetHeader
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 3
    functionsReached:
    - VLC_FOURCC
    - vlc_stream_Peek
    - memcpy
    - GetDWLE
    - AVI_ParseStreamHeader
    - vlc_stream_Tell
    linkageType: ''
    returnType: int
    signature: int AVI_PacketGetHeader( demux_t *p_demux, avi_packet_t *p_pk )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AVI_PacketGetHeader
      Src: /src/vlc/modules/demux/avi/avi.c:2396,1
    - Dst: __EVEN
      Src: /src/vlc/modules/demux/avi/avi.c:2415,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/avi/avi.c:2423,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2428
      start: 2391
    functionDepth: 3
    functionLinenumber: 2391
    functionLinenumberEnd: 2428
    functionName: AVI_PacketNext
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 3
    functionsReached:
    - __EVEN
    - vlc_stream_Read
    - AVI_PacketGetHeader
    linkageType: ''
    returnType: int
    signature: int AVI_PacketNext( demux_t *p_demux )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/avi/avi.c:2438,1
    - Dst: AVI_PacketGetHeader
      Src: /src/vlc/modules/demux/avi/avi.c:2442,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:2458,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2460
      start: 2430
    functionDepth: 3
    functionLinenumber: 2430
    functionLinenumberEnd: 2460
    functionName: AVI_PacketSearch
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 1
    functionsReached:
    - vlc_stream_Read
    - AVI_PacketGetHeader
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int AVI_PacketSearch( demux_t *p_demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_index
    argTypes:
    - avi_index_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2470
      start: 2465
    functionDepth: 0
    functionLinenumber: 2465
    functionLinenumberEnd: 2470
    functionName: avi_index_Init
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void avi_index_Init( avi_index_t *p_index )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/avi/avi.c:2473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_index
    argTypes:
    - avi_index_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2474
      start: 2471
    functionDepth: 0
    functionLinenumber: 2471
    functionLinenumberEnd: 2474
    functionName: avi_index_Clean
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void avi_index_Clean( avi_index_t *p_index )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: realloc_or_free
      Src: /src/vlc/modules/demux/avi/avi.c:2494,1
    - Dst: avi_index_Init
      Src: /src/vlc/modules/demux/avi/avi.c:2498,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - p_index
    - pi_last_pos
    - p_entry
    argTypes:
    - avi_index_t*
    - uint64_t*
    - avi_entry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2516
      start: 2477
    functionDepth: 1
    functionLinenumber: 2477
    functionLinenumberEnd: 2516
    functionName: avi_index_Append
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 2
    functionsReached:
    - avi_index_Init
    - realloc_or_free
    linkageType: ''
    returnType: int64_t
    signature: "int64_t avi_index_Append( avi_index_t *p_index, uint64_t *pi_last_pos,\n
      \                                avi_entry_t *p_entry )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: AVI_ChunkFind
      Src: /src/vlc/modules/demux/avi/avi.c:2524,1
    - Dst: AVI_ChunkFind
      Src: /src/vlc/modules/demux/avi/avi.c:2525,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:2529,1
    - Dst: AVI_ChunkFind
      Src: /src/vlc/modules/demux/avi/avi.c:2539,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/avi/avi.c:2543,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/avi/avi.c:2546,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/avi/avi.c:2557,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/avi/avi.c:2558,1
    - Dst: isdigit
      Src: /src/vlc/modules/demux/avi/avi.c:2559,1
    - Dst: isdigit
      Src: /src/vlc/modules/demux/avi/avi.c:2559,1
    - Dst: isalpha
      Src: /src/vlc/modules/demux/avi/avi.c:2560,1
    - Dst: isalpha
      Src: /src/vlc/modules/demux/avi/avi.c:2560,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 3
    argNames:
    - p_demux
    - pp_idx1
    - pi_offset
    argTypes:
    - demux_t*
    - avi_chunk_idx1_t**
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2581
      start: 2518
    functionDepth: 1
    functionLinenumber: 2518
    functionLinenumberEnd: 2581
    functionName: AVI_IndexFind_idx1
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 0
    functionsReached:
    - AVI_ChunkFind
    - isalpha
    - vlc_stream_Peek
    - isdigit
    - __MIN
    - msg_Warn
    - vlc_stream_Seek
    linkageType: ''
    returnType: int
    signature: "int AVI_IndexFind_idx1( demux_t *p_demux,\n                               avi_chunk_idx1_t
      **pp_idx1,\n                               uint64_t *pi_offset )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AVI_IndexFind_idx1
      Src: /src/vlc/modules/demux/avi/avi.c:2590,1
    - Dst: AVI_ParseStreamHeader
      Src: /src/vlc/modules/demux/avi/avi.c:2600,1
    - Dst: avi_index_Append
      Src: /src/vlc/modules/demux/avi/avi.c:2612,1
    - Dst: AVI_GetDPTS
      Src: /src/vlc/modules/demux/avi/avi.c:2624,1
    - Dst: AVI_GetDPTS
      Src: /src/vlc/modules/demux/avi/avi.c:2629,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/avi.c:2631,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - p_demux
    - p_index
    - pi_last_offset
    argTypes:
    - demux_t*
    - avi_index_t[]
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2637
      start: 2583
    functionDepth: 2
    functionLinenumber: 2583
    functionLinenumberEnd: 2637
    functionName: AVI_IndexLoad_idx1
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 0
    functionsReached:
    - avi_index_Append
    - AVI_IndexFind_idx1
    - msg_Dbg
    - AVI_ParseStreamHeader
    - AVI_GetDPTS
    linkageType: ''
    returnType: int
    signature: "int AVI_IndexLoad_idx1( demux_t *p_demux,\n                               avi_index_t
      p_index[], uint64_t *pi_last_offset )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/avi.c:2647,1
    - Dst: avi_index_Append
      Src: /src/vlc/modules/demux/avi/avi.c:2657,1
    - Dst: avi_index_Append
      Src: /src/vlc/modules/demux/avi/avi.c:2669,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:2674,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - p_demux
    - p_index
    - pi_max_offset
    - p_indx
    argTypes:
    - demux_t*
    - avi_index_t*
    - uint64_t*
    - avi_chunk_indx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2676
      start: 2639
    functionDepth: 2
    functionLinenumber: 2639
    functionLinenumberEnd: 2676
    functionName: __Parse_indx
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 0
    functionsReached:
    - avi_index_Append
    - msg_Dbg
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: "void __Parse_indx( demux_t *p_demux, avi_index_t *p_index, uint64_t
      *pi_max_offset,\n                          avi_chunk_indx_t *p_indx )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AVI_ChunkFind
      Src: /src/vlc/modules/demux/avi/avi.c:2686,1
    - Dst: AVI_ChunkFind
      Src: /src/vlc/modules/demux/avi/avi.c:2687,1
    - Dst: AVI_ChunkFind
      Src: /src/vlc/modules/demux/avi/avi.c:2694,1
    - Dst: AVI_ChunkFind
      Src: /src/vlc/modules/demux/avi/avi.c:2695,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:2700,1
    - Dst: __Parse_indx
      Src: /src/vlc/modules/demux/avi/avi.c:2707,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/avi/avi.c:2716,1
    - Dst: AVI_ChunkRead
      Src: /src/vlc/modules/demux/avi/avi.c:2718,1
    - Dst: __Parse_indx
      Src: /src/vlc/modules/demux/avi/avi.c:2724,1
    - Dst: AVI_ChunkClean
      Src: /src/vlc/modules/demux/avi/avi.c:2725,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:2730,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 3
    argNames:
    - p_demux
    - p_index
    - pi_last_offset
    argTypes:
    - demux_t*
    - avi_index_t[]
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2733
      start: 2678
    functionDepth: 5
    functionLinenumber: 2678
    functionLinenumberEnd: 2733
    functionName: AVI_IndexLoad_indx
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 0
    functionsReached:
    - AVI_ChunkFind
    - __Parse_indx
    - AVI_ChunkClean
    - msg_Warn
    - vlc_stream_Seek
    - AVI_ChunkRead
    linkageType: ''
    returnType: void
    signature: "void AVI_IndexLoad_indx( demux_t *p_demux,\n                                avi_index_t
      p_index[], uint64_t *pi_last_offset )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avi_index_Init
      Src: /src/vlc/modules/demux/avi/avi.c:2744,1
    - Dst: avi_index_Init
      Src: /src/vlc/modules/demux/avi/avi.c:2745,1
    - Dst: AVI_IndexLoad_indx
      Src: /src/vlc/modules/demux/avi/avi.c:2750,1
    - Dst: AVI_IndexLoad_idx1
      Src: /src/vlc/modules/demux/avi/avi.c:2752,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/avi.c:2759,1
    - Dst: free
      Src: /src/vlc/modules/demux/avi/avi.c:2760,1
    - Dst: avi_index_Clean
      Src: /src/vlc/modules/demux/avi/avi.c:2762,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/avi.c:2766,1
    - Dst: free
      Src: /src/vlc/modules/demux/avi/avi.c:2767,1
    - Dst: avi_index_Clean
      Src: /src/vlc/modules/demux/avi/avi.c:2769,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/avi/avi.c:2772,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:2784,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/avi.c:2790,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2793
      start: 2735
    functionDepth: 6
    functionLinenumber: 2735
    functionLinenumberEnd: 2793
    functionName: AVI_IndexLoad
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 2
    functionsReached:
    - AVI_IndexLoad_indx
    - AVI_IndexLoad_idx1
    - free
    - __MAX
    - msg_Dbg
    - msg_Warn
    - avi_index_Init
    - avi_index_Clean
    linkageType: ''
    returnType: void
    signature: void AVI_IndexLoad( demux_t *p_demux )
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: AVI_ChunkFind
      Src: /src/vlc/modules/demux/avi/avi.c:2809,1
    - Dst: AVI_ChunkFind
      Src: /src/vlc/modules/demux/avi/avi.c:2810,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/avi/avi.c:2814,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/demux/avi/avi.c:2818,1
    - Dst: avi_index_Init
      Src: /src/vlc/modules/demux/avi/avi.c:2822,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/avi/avi.c:2824,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/avi/avi.c:2826,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:2827,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/demux/avi/avi.c:2831,1
    - Dst: vlc_dialog_display_progress
      Src: /src/vlc/modules/demux/avi/avi.c:2835,1
    - Dst: _
      Src: /src/vlc/modules/demux/avi/avi.c:2835,1
    - Dst: _
      Src: /src/vlc/modules/demux/avi/avi.c:2836,1
    - Dst: _
      Src: /src/vlc/modules/demux/avi/avi.c:2837,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/demux/avi/avi.c:2845,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/avi/avi.c:2845,1
    - Dst: vlc_dialog_is_cancelled
      Src: /src/vlc/modules/demux/avi/avi.c:2847,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/avi/avi.c:2850,1
    - Dst: vlc_dialog_update_progress
      Src: /src/vlc/modules/demux/avi/avi.c:2853,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/demux/avi/avi.c:2855,1
    - Dst: AVI_PacketGetHeader
      Src: /src/vlc/modules/demux/avi/avi.c:2858,1
    - Dst: AVI_GetKeyFlag
      Src: /src/vlc/modules/demux/avi/avi.c:2867,1
    - Dst: avi_index_Append
      Src: /src/vlc/modules/demux/avi/avi.c:2871,1
    - Dst: AVI_ChunkFind
      Src: /src/vlc/modules/demux/avi/avi.c:2881,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/avi.c:2884,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/avi/avi.c:2885,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/avi.c:2893,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:2901,1
    - Dst: AVI_PacketSearch
      Src: /src/vlc/modules/demux/avi/avi.c:2902,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:2904,1
    - Dst: AVI_PacketNext
      Src: /src/vlc/modules/demux/avi/avi.c:2911,1
    - Dst: vlc_dialog_release
      Src: /src/vlc/modules/demux/avi/avi.c:2919,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/avi.c:2923,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 72
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2926
      start: 2795
    functionDepth: 4
    functionLinenumber: 2795
    functionLinenumberEnd: 2926
    functionName: AVI_IndexCreate
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 1
    functionsReached:
    - AVI_ChunkFind
    - vlc_dialog_display_progress
    - AVI_PacketSearch
    - vlc_tick_now
    - _
    - msg_Err
    - msg_Dbg
    - msg_Warn
    - vlc_dialog_is_cancelled
    - vlc_stream_GetSize
    - AVI_GetKeyFlag
    - vlc_dialog_update_progress
    - vlc_dialog_release
    - __MIN
    - vlc_stream_Seek
    - avi_index_Init
    - vlc_stream_Tell
    - avi_index_Append
    - VLC_TICK_FROM_MS
    - AVI_PacketNext
    - AVI_PacketGetHeader
    linkageType: ''
    returnType: void
    signature: void AVI_IndexCreate( demux_t *p_demux )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/demux/avi/avi.c:2934,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/avi/avi.c:2939,1
    - Dst: vlc_meta_SetSetting
      Src: /src/vlc/modules/demux/avi/avi.c:2944,1
    - Dst: AVI_ChunkFind
      Src: /src/vlc/modules/demux/avi/avi.c:2946,1
    - Dst: AVI_ChunkFind
      Src: /src/vlc/modules/demux/avi/avi.c:2969,1
    - Dst: FromACP
      Src: /src/vlc/modules/demux/avi/avi.c:2972,1
    - Dst: vlc_meta_Set
      Src: /src/vlc/modules/demux/avi/avi.c:2977,1
    - Dst: free
      Src: /src/vlc/modules/demux/avi/avi.c:2978,1
    - Dst: AVI_ChunkFind
      Src: /src/vlc/modules/demux/avi/avi.c:2993,1
    - Dst: FromACP
      Src: /src/vlc/modules/demux/avi/avi.c:2996,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/demux/avi/avi.c:3001,1
    - Dst: free
      Src: /src/vlc/modules/demux/avi/avi.c:3002,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 3
    argNames:
    - p_demux
    - p_riff
    - p_avih
    argTypes:
    - demux_t*
    - avi_chunk_list_t*
    - avi_chunk_avih_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3004
      start: 2929
    functionDepth: 2
    functionLinenumber: 2929
    functionLinenumberEnd: 3004
    functionName: AVI_MetaLoad
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 1
    functionsReached:
    - AVI_ChunkFind
    - vlc_meta_Set
    - vlc_meta_New
    - free
    - vlc_meta_SetSetting
    - FromACP
    - snprintf
    - vlc_meta_SetExtra
    linkageType: ''
    returnType: void
    signature: "void AVI_MetaLoad( demux_t *p_demux,\n                          avi_chunk_list_t
      *p_riff, avi_chunk_avih_t *p_avih )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dv_get_audio_format
      Src: /src/vlc/modules/demux/avi/avi.c:3016,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/demux/avi/avi.c:3020,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/avi/avi.c:3026,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/avi/avi.c:3030,1
    - Dst: dv_extract_audio
      Src: /src/vlc/modules/demux/avi/avi.c:3032,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/avi/avi.c:3036,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/avi/avi.c:3038,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - p_demux
    - tk
    - p_frame
    argTypes:
    - demux_t*
    - avi_track_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3040
      start: 3006
    functionDepth: 2
    functionLinenumber: 3006
    functionLinenumberEnd: 3040
    functionName: AVI_DvHandleAudio
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 1
    functionsReached:
    - block_Release
    - es_format_Clean
    - es_out_Send
    - dv_get_audio_format
    - dv_extract_audio
    - es_out_Del
    - es_out_Add
    linkageType: ''
    returnType: void
    signature: void AVI_DvHandleAudio( demux_t *p_demux, avi_track_t *tk, block_t
      *p_frame )
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: AVI_ChunkFind
      Src: /src/vlc/modules/demux/avi/avi.c:3075,1
    - Dst: AVI_ChunkInit
      Src: /src/vlc/modules/demux/avi/avi.c:3077,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/avi/avi.c:3085,1
    - Dst: AVI_ChunkRead
      Src: /src/vlc/modules/demux/avi/avi.c:3086,1
    - Dst: AVI_IndexFind_idx1
      Src: /src/vlc/modules/demux/avi/avi.c:3107,1
    - Dst: AVI_ParseStreamHeader
      Src: /src/vlc/modules/demux/avi/avi.c:3117,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/avi.c:3132,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/avi/avi.c:3136,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/avi/avi.c:3138,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/avi/avi.c:3150,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/avi/avi.c:3151,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/avi/avi.c:3153,1
    - Dst: INT64_C
      Src: /src/vlc/modules/demux/avi/avi.c:3154,1
    - Dst: FromCharset
      Src: /src/vlc/modules/demux/avi/avi.c:3157,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/avi/avi.c:3160,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/avi/avi.c:3162,1
    - Dst: FromACP
      Src: /src/vlc/modules/demux/avi/avi.c:3169,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/avi/avi.c:3171,1
    - Dst: vlc_input_attachment_New
      Src: /src/vlc/modules/demux/avi/avi.c:3173,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/demux/avi/avi.c:3178,1
    - Dst: free
      Src: /src/vlc/modules/demux/avi/avi.c:3179,1
    - Dst: free
      Src: /src/vlc/modules/demux/avi/avi.c:3182,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/avi/avi.c:3185,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/avi.c:3188,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/avi/avi.c:3190,1
    - Dst: AVI_ChunkClean
      Src: /src/vlc/modules/demux/avi/avi.c:3192,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 87
    argCount: 4
    argNames:
    - p_demux
    - i_stream
    - p_strl
    - p_strn
    argTypes:
    - demux_t*
    - unsigned int
    - avi_chunk_list_t*
    - avi_chunk_STRING_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3193
      start: 3061
    functionDepth: 5
    functionLinenumber: 3061
    functionLinenumberEnd: 3193
    functionName: AVI_ExtractSubtitle
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 1
    functionsReached:
    - AVI_ChunkFind
    - GetWLE
    - INT64_C
    - vlc_stream_Block
    - memcmp
    - asprintf
    - AVI_ChunkClean
    - msg_Dbg
    - msg_Warn
    - AVI_ChunkInit
    - TAB_APPEND
    - vlc_stream_Seek
    - FromCharset
    - FromACP
    - block_Release
    - vlc_input_attachment_New
    - free
    - AVI_IndexFind_idx1
    - GetDWLE
    - AVI_ParseStreamHeader
    - AVI_ChunkRead
    linkageType: ''
    returnType: void
    signature: "void AVI_ExtractSubtitle( demux_t *p_demux,\n                                 unsigned
      int i_stream,\n                                 avi_chunk_list_t *p_strl,\n
      \                                avi_chunk_STRING_t *p_strn )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - demux_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3206
      start: 3195
    functionDepth: 0
    functionLinenumber: 3195
    functionLinenumberEnd: 3206
    functionName: AVI_GetVideoTrackForXsub
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: avi_track_t
    signature: avi_track_t * AVI_GetVideoTrackForXsub( demux_sys_t *p_sys )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AVI_GetVideoTrackForXsub
      Src: /src/vlc/modules/demux/avi/avi.c:3213,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - p_sys
    - tk
    argTypes:
    - demux_sys_t*
    - avi_track_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3242
      start: 3208
    functionDepth: 1
    functionLinenumber: 3208
    functionLinenumberEnd: 3242
    functionName: AVI_SeekSubtitleTrack
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 1
    functionsReached:
    - AVI_GetVideoTrackForXsub
    linkageType: ''
    returnType: int
    signature: int AVI_SeekSubtitleTrack( demux_sys_t *p_sys, avi_track_t *tk )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3266
      start: 3247
    functionDepth: 0
    functionLinenumber: 3247
    functionLinenumberEnd: 3266
    functionName: AVI_TrackStopFinishedStreams
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AVI_TrackStopFinishedStreams( demux_t *p_demux )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AVI_GetDPTS
      Src: /src/vlc/modules/demux/avi/avi.c:3290,1
    - Dst: AVI_GetDPTS
      Src: /src/vlc/modules/demux/avi/avi.c:3296,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/avi/avi.c:3299,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/demux/avi/avi.c:3302,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/avi/avi.c:3303,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3307
      start: 3271
    functionDepth: 2
    functionLinenumber: 3271
    functionLinenumberEnd: 3307
    functionName: AVI_MovieGetLength
    functionSourceFile: /src/vlc/modules/demux/avi/avi.c
    functionUses: 1
    functionsReached:
    - __MAX
    - SEC_FROM_VLC_TICK
    - msg_Dbg
    - AVI_GetDPTS
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t AVI_MovieGetLength( demux_t *p_demux )
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/avi/bitmapinfoheader.h:160,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/avi/bitmapinfoheader.h:161,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/avi/bitmapinfoheader.h:162,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/avi/bitmapinfoheader.h:163,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/avi/bitmapinfoheader.h:166,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/avi/bitmapinfoheader.h:199,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/avi/bitmapinfoheader.h:202,1
    - Dst: vlc_fourcc_GetCodec
      Src: /src/vlc/modules/demux/avi/bitmapinfoheader.h:235,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/avi/bitmapinfoheader.h:240,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/avi/bitmapinfoheader.h:241,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/avi/bitmapinfoheader.h:244,1
    - Dst: video_format_Setup
      Src: /src/vlc/modules/demux/avi/bitmapinfoheader.h:248,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 89
    argCount: 4
    argNames:
    - p_bih
    - i_bih
    - fmt
    - p_props
    argTypes:
    - VLC_BITMAPINFOHEADER*
    - size_t
    - es_format_t*
    - struct bitmapinfoheader_properties*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 263
    functionName: ParseBitmapInfoHeader
    functionSourceFile: /src/vlc/modules/demux/avi/bitmapinfoheader.h
    functionUses: 1
    functionsReached:
    - ARRAY_SIZE
    - vlc_fourcc_GetCodec
    - video_format_Setup
    - memcpy
    - GetDWLE
    - __MIN
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: "int ParseBitmapInfoHeader( const VLC_BITMAPINFOHEADER *p_bih, size_t
      i_bih,\n                                         es_format_t *fmt,\n                                         struct
      bitmapinfoheader_properties *p_props )"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/demux/avi/bitmapinfoheader.h:271,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/avi/bitmapinfoheader.h:300,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/avi/bitmapinfoheader.h:317,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/avi/bitmapinfoheader.h:327,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/avi/bitmapinfoheader.h:338,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/demux/avi/bitmapinfoheader.h:339,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/demux/avi/bitmapinfoheader.h:341,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/demux/avi/bitmapinfoheader.h:342,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/demux/avi/bitmapinfoheader.h:343,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/demux/avi/bitmapinfoheader.h:346,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/avi/bitmapinfoheader.h:361,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 82
    argCount: 4
    argNames:
    - fmt
    - p_bih
    - p_bih_extra
    - pi_total
    argTypes:
    - es_format_t*
    - VLC_BITMAPINFOHEADER*
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 377
    functionName: CreateBitmapInfoHeader
    functionSourceFile: /src/vlc/modules/demux/avi/bitmapinfoheader.h
    functionUses: 1
    functionsReached:
    - VLC_FOURCC
    - vlc_assert_unreachable
    - ARRAY_SIZE
    - memcpy
    - SetDWLE
    - vlc_fourcc_GetChromaDescription
    - malloc
    linkageType: ''
    returnType: int
    signature: "int CreateBitmapInfoHeader( const es_format_t *fmt,\n                                          VLC_BITMAPINFOHEADER
      *p_bih,\n                                          uint8_t **p_bih_extra,\n
      \                                         size_t *pi_total )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: GetCurrentItem
    functionSourceFile: /src/vlc/modules/demux/playlist/playlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GetCurrentItem(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: GetSource
    functionSourceFile: /src/vlc/modules/demux/playlist/playlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GetSource(obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stream_HasExtension
      Src: /src/vlc/modules/demux/playlist/b4s.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: Import_B4S
    functionSourceFile: /src/vlc/modules/demux/playlist/b4s.c
    functionUses: 0
    functionsReached:
    - stream_HasExtension
    linkageType: ''
    returnType: int
    signature: int Import_B4S( vlc_object_t *p_this )
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentItem
      Src: /src/vlc/modules/demux/playlist/b4s.c:71,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/b4s.c:73,1
    - Dst: vlc_stream_ReadLine
      Src: /src/vlc/modules/demux/playlist/b4s.c:73,1
    - Dst: xml_ReaderCreate
      Src: /src/vlc/modules/demux/playlist/b4s.c:75,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/demux/playlist/b4s.c:81,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/playlist/b4s.c:83,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/b4s.c:87,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/playlist/b4s.c:89,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/demux/playlist/b4s.c:97,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/playlist/b4s.c:100,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/b4s.c:104,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/playlist/b4s.c:106,1
    - Dst: xml_ReaderNextAttr
      Src: /src/vlc/modules/demux/playlist/b4s.c:112,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/b4s.c:114,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/b4s.c:115,1
    - Dst: atoi
      Src: /src/vlc/modules/demux/playlist/b4s.c:115,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/b4s.c:116,1
    - Dst: input_item_SetName
      Src: /src/vlc/modules/demux/playlist/b4s.c:117,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/playlist/b4s.c:119,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/demux/playlist/b4s.c:123,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/b4s.c:131,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/b4s.c:132,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/playlist/b4s.c:133,1
    - Dst: xml_ReaderNextAttr
      Src: /src/vlc/modules/demux/playlist/b4s.c:137,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/b4s.c:139,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/b4s.c:140,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/b4s.c:142,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/b4s.c:143,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/playlist/b4s.c:147,1
    - Dst: IsWhitespace
      Src: /src/vlc/modules/demux/playlist/b4s.c:160,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/b4s.c:162,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/b4s.c:164,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/b4s.c:166,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/b4s.c:168,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/b4s.c:170,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/playlist/b4s.c:174,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/b4s.c:178,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/b4s.c:179,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/b4s.c:187,1
    - Dst: vlc_xml_decode
      Src: /src/vlc/modules/demux/playlist/b4s.c:189,1
    - Dst: input_item_New
      Src: /src/vlc/modules/demux/playlist/b4s.c:190,1
    - Dst: input_item_SetNowPlaying
      Src: /src/vlc/modules/demux/playlist/b4s.c:192,1
    - Dst: input_item_SetGenre
      Src: /src/vlc/modules/demux/playlist/b4s.c:194,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/playlist/b4s.c:196,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/playlist/b4s.c:198,1
    - Dst: input_item_node_AppendItem
      Src: /src/vlc/modules/demux/playlist/b4s.c:200,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/demux/playlist/b4s.c:201,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/b4s.c:202,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/b4s.c:203,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/b4s.c:204,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/b4s.c:205,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/b4s.c:206,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/b4s.c:207,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/b4s.c:209,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/playlist/b4s.c:217,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/b4s.c:222,1
    - Dst: xml_ReaderDelete
      Src: /src/vlc/modules/demux/playlist/b4s.c:225,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 109
    argCount: 2
    argNames:
    - p_demux
    - p_subitems
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 227
    functionName: ReadDir
    functionSourceFile: /src/vlc/modules/demux/playlist/b4s.c
    functionUses: 3
    functionsReached:
    - atoi
    - input_item_SetGenre
    - vlc_xml_decode
    - FREENULL
    - input_item_New
    - msg_Err
    - vlc_stream_ReadLine
    - xml_ReaderNextAttr
    - msg_Dbg
    - msg_Warn
    - strdup
    - IsWhitespace
    - input_item_Release
    - GetCurrentItem
    - input_item_SetName
    - strcmp
    - input_item_node_AppendItem
    - input_item_SetNowPlaying
    - xml_ReaderCreate
    - free
    - xml_ReaderDelete
    - unlikely
    - xml_ReaderNextNode
    linkageType: ''
    returnType: int
    signature: int ReadDir( stream_t *p_demux, input_item_node_t *p_subitems )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strspn
      Src: /src/vlc/modules/demux/playlist/b4s.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - psz_string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: IsWhitespace
    functionSourceFile: /src/vlc/modules/demux/playlist/b4s.c
    functionUses: 1
    functionsReached:
    - strspn
    linkageType: ''
    returnType: bool
    signature: bool IsWhitespace( const char *psz_string )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/playlist/sgimb.c:143,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/sgimb.c:148,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/sgimb.c:153,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/playlist/sgimb.c:155,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/playlist/sgimb.c:156,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/sgimb.c:159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 182
    functionName: Import_SGIMB
    functionSourceFile: /src/vlc/modules/demux/playlist/sgimb.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - vlc_stream_Peek
    - msg_Dbg
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Import_SGIMB( vlc_object_t * p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/sgimb.c:191,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/sgimb.c:192,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/sgimb.c:193,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/sgimb.c:194,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/sgimb.c:195,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/sgimb.c:196,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/sgimb.c:197,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/sgimb.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 200
    functionName: Close_SGIMB
    functionSourceFile: /src/vlc/modules/demux/playlist/sgimb.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void Close_SGIMB( vlc_object_t *p_this )
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/sgimb.c:216,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/sgimb.c:219,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/sgimb.c:220,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/sgimb.c:222,1
    - Dst: strrchr
      Src: /src/vlc/modules/demux/playlist/sgimb.c:225,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/sgimb.c:230,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/sgimb.c:237,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/sgimb.c:238,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/sgimb.c:240,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/sgimb.c:243,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/sgimb.c:244,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/sgimb.c:246,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/sgimb.c:249,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/sgimb.c:250,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/sgimb.c:252,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/sgimb.c:255,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/sgimb.c:256,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/sgimb.c:258,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/sgimb.c:261,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/sgimb.c:262,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/sgimb.c:264,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/sgimb.c:267,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/sgimb.c:268,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/sgimb.c:270,1
    - Dst: strcasestr
      Src: /src/vlc/modules/demux/playlist/sgimb.c:273,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/sgimb.c:276,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/sgimb.c:279,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/sgimb.c:280,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/sgimb.c:282,1
    - Dst: strtol
      Src: /src/vlc/modules/demux/playlist/sgimb.c:285,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/sgimb.c:287,1
    - Dst: strtol
      Src: /src/vlc/modules/demux/playlist/sgimb.c:290,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/sgimb.c:292,1
    - Dst: VLC_TICK_FROM_US
      Src: /src/vlc/modules/demux/playlist/sgimb.c:295,1
    - Dst: strtol
      Src: /src/vlc/modules/demux/playlist/sgimb.c:295,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/sgimb.c:297,1
    - Dst: strtol
      Src: /src/vlc/modules/demux/playlist/sgimb.c:300,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/sgimb.c:302,1
    - Dst: strtol
      Src: /src/vlc/modules/demux/playlist/sgimb.c:305,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/sgimb.c:307,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 84
    argCount: 2
    argNames:
    - p_demux
    - psz_line
    argTypes:
    - stream_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 317
    functionName: ParseLine
    functionSourceFile: /src/vlc/modules/demux/playlist/sgimb.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - strdup
    - VLC_TICK_FROM_US
    - free
    - strtol
    - strcasestr
    - strrchr
    linkageType: ''
    returnType: int
    signature: int ParseLine ( stream_t *p_demux, char *psz_line )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_ReadLine
      Src: /src/vlc/modules/demux/playlist/sgimb.c:325,1
    - Dst: ParseLine
      Src: /src/vlc/modules/demux/playlist/sgimb.c:327,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/sgimb.c:328,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/sgimb.c:335,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/playlist/sgimb.c:336,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/playlist/sgimb.c:347,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/playlist/sgimb.c:362,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/playlist/sgimb.c:367,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/sgimb.c:370,1
    - Dst: input_item_NewStream
      Src: /src/vlc/modules/demux/playlist/sgimb.c:374,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/playlist/sgimb.c:380,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/playlist/sgimb.c:388,1
    - Dst: input_item_AddOption
      Src: /src/vlc/modules/demux/playlist/sgimb.c:390,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/sgimb.c:391,1
    - Dst: input_item_AddOption
      Src: /src/vlc/modules/demux/playlist/sgimb.c:395,1
    - Dst: input_item_AddOption
      Src: /src/vlc/modules/demux/playlist/sgimb.c:397,1
    - Dst: input_item_node_AppendItem
      Src: /src/vlc/modules/demux/playlist/sgimb.c:399,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/demux/playlist/sgimb.c:400,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 2
    argNames:
    - p_demux
    - node
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 402
    functionName: ReadDir
    functionSourceFile: /src/vlc/modules/demux/playlist/sgimb.c
    functionUses: 3
    functionsReached:
    - input_item_node_AppendItem
    - asprintf
    - input_item_AddOption
    - input_item_Release
    - input_item_NewStream
    - msg_Err
    - free
    - vlc_stream_ReadLine
    - ParseLine
    linkageType: ''
    returnType: int
    signature: int ReadDir( stream_t *p_demux, input_item_node_t *node )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderIsEmptyElement
      Src: /src/vlc/modules/demux/playlist/wpl.c:38,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/demux/playlist/wpl.c:41,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/playlist/wpl.c:43,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/playlist/wpl.c:48,1
    - Dst: xml_ReaderIsEmptyElement
      Src: /src/vlc/modules/demux/playlist/wpl.c:50,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - p_reader
    - psz_tag
    argTypes:
    - xml_reader_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 56
    functionName: consume_tag
    functionSourceFile: /src/vlc/modules/demux/playlist/wpl.c
    functionUses: 0
    functionsReached:
    - xml_ReaderIsEmptyElement
    - xml_ReaderNextNode
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int consume_tag( xml_reader_t* p_reader, char const* psz_tag )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/wpl.c:60,1
    - Dst: likely
      Src: /src/vlc/modules/demux/playlist/wpl.c:63,1
    - Dst: consume_tag
      Src: /src/vlc/modules/demux/playlist/wpl.c:64,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/wpl.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_demux
    - psz_tag
    argTypes:
    - stream_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: consume_volatile_tag
    functionSourceFile: /src/vlc/modules/demux/playlist/wpl.c
    functionUses: 0
    functionsReached:
    - free
    - consume_tag
    - strdup
    - likely
    linkageType: ''
    returnType: int
    signature: int consume_volatile_tag( stream_t* p_demux, char const* psz_tag )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderIsEmptyElement
      Src: /src/vlc/modules/demux/playlist/wpl.c:73,1
    - Dst: xml_ReaderNextAttr
      Src: /src/vlc/modules/demux/playlist/wpl.c:77,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/playlist/wpl.c:82,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/wpl.c:83,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/playlist/wpl.c:85,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/wpl.c:86,1
    - Dst: consume_tag
      Src: /src/vlc/modules/demux/playlist/wpl.c:93,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/playlist/wpl.c:98,1
    - Dst: input_item_AddInfo
      Src: /src/vlc/modules/demux/playlist/wpl.c:99,1
    - Dst: _
      Src: /src/vlc/modules/demux/playlist/wpl.c:99,1
    - Dst: _
      Src: /src/vlc/modules/demux/playlist/wpl.c:99,1
    - Dst: atoll
      Src: /src/vlc/modules/demux/playlist/wpl.c:100,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/playlist/wpl.c:102,1
    - Dst: input_item_SetPublisher
      Src: /src/vlc/modules/demux/playlist/wpl.c:103,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/playlist/wpl.c:105,1
    - Dst: input_item_SetRating
      Src: /src/vlc/modules/demux/playlist/wpl.c:106,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/playlist/wpl.c:108,1
    - Dst: input_item_SetGenre
      Src: /src/vlc/modules/demux/playlist/wpl.c:109,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/playlist/wpl.c:111,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/wpl.c:114,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/wpl.c:115,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 29
    argCount: 2
    argNames:
    - p_demux
    - p_input
    argTypes:
    - stream_t*
    - input_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 116
    functionName: parse_meta
    functionSourceFile: /src/vlc/modules/demux/playlist/wpl.c
    functionUses: 0
    functionsReached:
    - consume_tag
    - input_item_AddInfo
    - input_item_SetGenre
    - strdup
    - _
    - input_item_SetPublisher
    - input_item_SetRating
    - free
    - xml_ReaderNextAttr
    - strcasecmp
    - msg_Warn
    - xml_ReaderIsEmptyElement
    - atoll
    linkageType: ''
    returnType: void
    signature: void parse_meta( stream_t* p_demux, input_item_t* p_input )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderIsEmptyElement
      Src: /src/vlc/modules/demux/playlist/wpl.c:123,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/demux/playlist/wpl.c:126,1
    - Dst: input_item_SetTitle
      Src: /src/vlc/modules/demux/playlist/wpl.c:129,1
    - Dst: consume_tag
      Src: /src/vlc/modules/demux/playlist/wpl.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p_demux
    - p_input
    argTypes:
    - stream_t*
    - input_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 133
    functionName: parse_title_element
    functionSourceFile: /src/vlc/modules/demux/playlist/wpl.c
    functionUses: 0
    functionsReached:
    - xml_ReaderIsEmptyElement
    - consume_tag
    - input_item_SetTitle
    - xml_ReaderNextNode
    linkageType: ''
    returnType: int
    signature: int parse_title_element( stream_t* p_demux, input_item_t* p_input )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/demux/playlist/wpl.c:141,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/playlist/wpl.c:143,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/playlist/wpl.c:148,1
    - Dst: parse_meta
      Src: /src/vlc/modules/demux/playlist/wpl.c:150,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/playlist/wpl.c:154,1
    - Dst: parse_title_element
      Src: /src/vlc/modules/demux/playlist/wpl.c:156,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/playlist/wpl.c:161,1
    - Dst: consume_volatile_tag
      Src: /src/vlc/modules/demux/playlist/wpl.c:162,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - p_demux
    - p_input
    argTypes:
    - stream_t*
    - input_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 135
    functionDepth: 4
    functionLinenumber: 135
    functionLinenumberEnd: 165
    functionName: read_head
    functionSourceFile: /src/vlc/modules/demux/playlist/wpl.c
    functionUses: 0
    functionsReached:
    - parse_meta
    - consume_volatile_tag
    - strcasecmp
    - msg_Warn
    - parse_title_element
    - xml_ReaderNextNode
    linkageType: ''
    returnType: void
    signature: void read_head( stream_t* p_demux, input_item_t* p_input )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/demux/playlist/wpl.c:173,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/playlist/wpl.c:174,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/playlist/wpl.c:176,1
    - Dst: xml_ReaderIsEmptyElement
      Src: /src/vlc/modules/demux/playlist/wpl.c:180,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/demux/playlist/wpl.c:183,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/playlist/wpl.c:185,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/playlist/wpl.c:190,1
    - Dst: xml_ReaderIsEmptyElement
      Src: /src/vlc/modules/demux/playlist/wpl.c:192,1
    - Dst: xml_ReaderNextAttr
      Src: /src/vlc/modules/demux/playlist/wpl.c:195,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/playlist/wpl.c:199,1
    - Dst: ProcessMRL
      Src: /src/vlc/modules/demux/playlist/wpl.c:201,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/playlist/wpl.c:202,1
    - Dst: input_item_New
      Src: /src/vlc/modules/demux/playlist/wpl.c:204,1
    - Dst: likely
      Src: /src/vlc/modules/demux/playlist/wpl.c:205,1
    - Dst: input_item_node_AppendItem
      Src: /src/vlc/modules/demux/playlist/wpl.c:207,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/demux/playlist/wpl.c:208,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/wpl.c:210,1
    - Dst: consume_tag
      Src: /src/vlc/modules/demux/playlist/wpl.c:215,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/playlist/wpl.c:220,1
    - Dst: consume_volatile_tag
      Src: /src/vlc/modules/demux/playlist/wpl.c:221,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/demux/playlist/wpl.c:225,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/playlist/wpl.c:226,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/playlist/wpl.c:227,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 2
    argNames:
    - p_demux
    - p_node
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 167
    functionDepth: 4
    functionLinenumber: 167
    functionLinenumberEnd: 228
    functionName: read_body
    functionSourceFile: /src/vlc/modules/demux/playlist/wpl.c
    functionUses: 0
    functionsReached:
    - consume_tag
    - ProcessMRL
    - input_item_New
    - input_item_Release
    - msg_Err
    - free
    - xml_ReaderNextAttr
    - consume_volatile_tag
    - likely
    - strcasecmp
    - msg_Warn
    - xml_ReaderIsEmptyElement
    - input_item_node_AppendItem
    - unlikely
    - xml_ReaderNextNode
    linkageType: ''
    returnType: void
    signature: void read_body( stream_t* p_demux, input_item_node_t* p_node )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/demux/playlist/wpl.c:236,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/playlist/wpl.c:237,1
    - Dst: xml_ReaderIsEmptyElement
      Src: /src/vlc/modules/demux/playlist/wpl.c:237,1
    - Dst: GetCurrentItem
      Src: /src/vlc/modules/demux/playlist/wpl.c:242,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/demux/playlist/wpl.c:244,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/playlist/wpl.c:246,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/playlist/wpl.c:251,1
    - Dst: read_head
      Src: /src/vlc/modules/demux/playlist/wpl.c:253,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/playlist/wpl.c:257,1
    - Dst: read_body
      Src: /src/vlc/modules/demux/playlist/wpl.c:259,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/playlist/wpl.c:263,1
    - Dst: consume_volatile_tag
      Src: /src/vlc/modules/demux/playlist/wpl.c:264,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - p_demux
    - p_node
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 230
    functionDepth: 5
    functionLinenumber: 230
    functionLinenumberEnd: 269
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/playlist/wpl.c
    functionUses: 20
    functionsReached:
    - read_head
    - GetCurrentItem
    - consume_volatile_tag
    - strcasecmp
    - msg_Warn
    - xml_ReaderIsEmptyElement
    - xml_ReaderNextNode
    - read_body
    linkageType: ''
    returnType: int
    signature: int Demux( stream_t* p_demux, input_item_node_t *p_node )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderDelete
      Src: /src/vlc/modules/demux/playlist/wpl.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 276
    functionName: Close_WPL
    functionSourceFile: /src/vlc/modules/demux/playlist/wpl.c
    functionUses: 0
    functionsReached:
    - xml_ReaderDelete
    linkageType: ''
    returnType: void
    signature: void Close_WPL( vlc_object_t* p_this )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stream_HasExtension
      Src: /src/vlc/modules/demux/playlist/wpl.c:282,1
    - Dst: stream_HasExtension
      Src: /src/vlc/modules/demux/playlist/wpl.c:283,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/playlist/wpl.c:287,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/playlist/wpl.c:288,1
    - Dst: vlc_stream_MemoryNew
      Src: /src/vlc/modules/demux/playlist/wpl.c:291,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/playlist/wpl.c:292,1
    - Dst: xml_ReaderCreate
      Src: /src/vlc/modules/demux/playlist/wpl.c:295,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/playlist/wpl.c:298,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/playlist/wpl.c:299,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/demux/playlist/wpl.c:307,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/playlist/wpl.c:309,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/playlist/wpl.c:311,1
    - Dst: Close_WPL
      Src: /src/vlc/modules/demux/playlist/wpl.c:312,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/playlist/wpl.c:313,1
    - Dst: xml_ReaderDelete
      Src: /src/vlc/modules/demux/playlist/wpl.c:317,1
    - Dst: xml_ReaderCreate
      Src: /src/vlc/modules/demux/playlist/wpl.c:319,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/playlist/wpl.c:320,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/playlist/wpl.c:321,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/wpl.c:324,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 329
    functionName: Import_WPL
    functionSourceFile: /src/vlc/modules/demux/playlist/wpl.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    - xml_ReaderCreate
    - vlc_stream_Delete
    - msg_Err
    - Close_WPL
    - vlc_stream_MemoryNew
    - xml_ReaderDelete
    - strcasecmp
    - msg_Dbg
    - stream_HasExtension
    - unlikely
    - xml_ReaderNextNode
    linkageType: ''
    returnType: int
    signature: int Import_WPL( vlc_object_t* p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stream_HasExtension
      Src: /src/vlc/modules/demux/playlist/itml.c:49,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/playlist/itml.c:54,1
    - Dst: strnstr
      Src: /src/vlc/modules/demux/playlist/itml.c:56,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/playlist/itml.c:59,1
    - Dst: strnstr
      Src: /src/vlc/modules/demux/playlist/itml.c:61,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/itml.c:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 70
    functionName: Import_iTML
    functionSourceFile: /src/vlc/modules/demux/playlist/itml.c
    functionUses: 0
    functionsReached:
    - strnstr
    - stream_HasExtension
    - vlc_stream_Peek
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int Import_iTML( vlc_object_t *p_this )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/demux/playlist/itml.c:80,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/playlist/itml.c:81,1
    - Dst: xml_ReaderCreate
      Src: /src/vlc/modules/demux/playlist/itml.c:85,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/demux/playlist/itml.c:93,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/playlist/itml.c:96,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/itml.c:103,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/playlist/itml.c:105,1
    - Dst: parse_plist_node
      Src: /src/vlc/modules/demux/playlist/itml.c:114,1
    - Dst: xml_ReaderDelete
      Src: /src/vlc/modules/demux/playlist/itml.c:119,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/itml.c:120,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - p_demux
    - p_subitems
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 124
    functionName: ReadDir
    functionSourceFile: /src/vlc/modules/demux/playlist/itml.c
    functionUses: 3
    functionsReached:
    - xml_ReaderCreate
    - msg_Err
    - calloc
    - strcmp
    - parse_plist_node
    - free
    - xml_ReaderDelete
    - unlikely
    - xml_ReaderNextNode
    linkageType: ''
    returnType: int
    signature: int ReadDir( stream_t *p_demux, input_item_node_t *p_subitems )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/playlist/itml.c:134,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/playlist/itml.c:134,1
    - Dst: xml_ReaderNextAttr
      Src: /src/vlc/modules/demux/playlist/itml.c:139,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/itml.c:142,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/itml.c:145,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/playlist/itml.c:146,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/playlist/itml.c:150,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/playlist/itml.c:155,1
    - Dst: parse_dict
      Src: /src/vlc/modules/demux/playlist/itml.c:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 6
    argNames:
    - p_demux
    - p_input_node
    - p_track
    - p_xml_reader
    - psz_element
    - p_handlers
    argTypes:
    - stream_t*
    - input_item_node_t*
    - track_elem_t*
    - xml_reader_t*
    - char*
    - xml_elem_hnd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 159
    functionName: parse_plist_node
    functionSourceFile: /src/vlc/modules/demux/playlist/itml.c
    functionUses: 1
    functionsReached:
    - parse_dict
    - strcmp
    - xml_ReaderNextAttr
    - msg_Warn
    - VLC_UNUSED
    linkageType: ''
    returnType: bool
    signature: "bool parse_plist_node( stream_t *p_demux, input_item_node_t *p_input_node,\n
      \                             track_elem_t *p_track, xml_reader_t *p_xml_reader,\n
      \                             const char *psz_element,\n                              xml_elem_hnd_t
      *p_handlers )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/demux/playlist/itml.c:176,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/itml.c:184,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/playlist/itml.c:188,1
    - Dst: xml_elem_hnd_t*::pf_handler::cmplx
      Src: /src/vlc/modules/demux/playlist/itml.c:194,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/itml.c:199,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/itml.c:200,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/itml.c:209,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/itml.c:210,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/playlist/itml.c:211,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/itml.c:218,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/itml.c:225,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/playlist/itml.c:227,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/itml.c:232,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/itml.c:234,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/itml.c:235,1
    - Dst: xml_elem_hnd_t*::pf_handler::smpl
      Src: /src/vlc/modules/demux/playlist/itml.c:240,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/itml.c:242,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/playlist/itml.c:247,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/itml.c:250,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/itml.c:251,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 6
    argNames:
    - p_demux
    - p_input_node
    - p_track
    - p_xml_reader
    - psz_element
    - p_handlers
    argTypes:
    - stream_t*
    - input_item_node_t*
    - track_elem_t*
    - xml_reader_t*
    - char*
    - xml_elem_hnd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 253
    functionName: parse_dict
    functionSourceFile: /src/vlc/modules/demux/playlist/itml.c
    functionUses: 1
    functionsReached:
    - strdup
    - xml_elem_hnd_t*::pf_handler::smpl
    - msg_Err
    - free
    - strcmp
    - FREENULL
    - xml_elem_hnd_t*::pf_handler::cmplx
    - unlikely
    - xml_ReaderNextNode
    linkageType: ''
    returnType: bool
    signature: "bool parse_dict( stream_t *p_demux, input_item_node_t *p_input_node,\n
      \                       track_elem_t *p_track, xml_reader_t *p_xml_reader,\n
      \                       const char *psz_element, xml_elem_hnd_t *p_handlers
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/playlist/itml.c:260,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/playlist/itml.c:260,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/playlist/itml.c:260,1
    - Dst: parse_dict
      Src: /src/vlc/modules/demux/playlist/itml.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - p_demux
    - p_input_node
    - p_track
    - p_xml_reader
    - psz_element
    - p_handlers
    argTypes:
    - stream_t*
    - input_item_node_t*
    - track_elem_t*
    - xml_reader_t*
    - char*
    - xml_elem_hnd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 275
    functionName: parse_plist_dict
    functionSourceFile: /src/vlc/modules/demux/playlist/itml.c
    functionUses: 0
    functionsReached:
    - parse_dict
    - VLC_UNUSED
    linkageType: ''
    returnType: bool
    signature: "bool parse_plist_dict( stream_t *p_demux, input_item_node_t *p_input_node,\n
      \                             track_elem_t *p_track, xml_reader_t *p_xml_reader,\n
      \                             const char *psz_element,\n                              xml_elem_hnd_t
      *p_handlers )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/playlist/itml.c:282,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/playlist/itml.c:282,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/playlist/itml.c:282,1
    - Dst: parse_dict
      Src: /src/vlc/modules/demux/playlist/itml.c:289,1
    - Dst: msg_Info
      Src: /src/vlc/modules/demux/playlist/itml.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - p_demux
    - p_input_node
    - p_track
    - p_xml_reader
    - psz_element
    - p_handlers
    argTypes:
    - stream_t*
    - input_item_node_t*
    - track_elem_t*
    - xml_reader_t*
    - char*
    - xml_elem_hnd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 296
    functionName: parse_tracks_dict
    functionSourceFile: /src/vlc/modules/demux/playlist/itml.c
    functionUses: 0
    functionsReached:
    - msg_Info
    - parse_dict
    - VLC_UNUSED
    linkageType: ''
    returnType: bool
    signature: "bool parse_tracks_dict( stream_t *p_demux, input_item_node_t *p_input_node,\n
      \                              track_elem_t *p_track, xml_reader_t *p_xml_reader,\n
      \                              const char *psz_element,\n                               xml_elem_hnd_t
      *p_handlers )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/playlist/itml.c:303,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/playlist/itml.c:303,1
    - Dst: new_track
      Src: /src/vlc/modules/demux/playlist/itml.c:306,1
    - Dst: parse_dict
      Src: /src/vlc/modules/demux/playlist/itml.c:319,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/itml.c:322,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/playlist/itml.c:327,1
    - Dst: free_track
      Src: /src/vlc/modules/demux/playlist/itml.c:328,1
    - Dst: msg_Info
      Src: /src/vlc/modules/demux/playlist/itml.c:332,1
    - Dst: input_item_New
      Src: /src/vlc/modules/demux/playlist/itml.c:333,1
    - Dst: input_item_node_AppendItem
      Src: /src/vlc/modules/demux/playlist/itml.c:334,1
    - Dst: add_meta
      Src: /src/vlc/modules/demux/playlist/itml.c:337,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/demux/playlist/itml.c:338,1
    - Dst: free_track
      Src: /src/vlc/modules/demux/playlist/itml.c:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 6
    argNames:
    - p_demux
    - p_input_node
    - p_track
    - p_xml_reader
    - psz_element
    - p_handlers
    argTypes:
    - stream_t*
    - input_item_node_t*
    - track_elem_t*
    - xml_reader_t*
    - char*
    - xml_elem_hnd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 344
    functionName: parse_track_dict
    functionSourceFile: /src/vlc/modules/demux/playlist/itml.c
    functionUses: 0
    functionsReached:
    - parse_dict
    - new_track
    - input_item_New
    - input_item_Release
    - msg_Info
    - add_meta
    - msg_Dbg
    - free_track
    - msg_Warn
    - input_item_node_AppendItem
    - VLC_UNUSED
    linkageType: ''
    returnType: bool
    signature: "bool parse_track_dict( stream_t *p_demux, input_item_node_t *p_input_node,\n
      \                             track_elem_t *p_track, xml_reader_t *p_xml_reader,\n
      \                             const char *psz_element,\n                              xml_elem_hnd_t
      *p_handlers )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/demux/playlist/itml.c:348,1
    - Dst: likely
      Src: /src/vlc/modules/demux/playlist/itml.c:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 360
    functionName: new_track
    functionSourceFile: /src/vlc/modules/demux/playlist/itml.c
    functionUses: 1
    functionsReached:
    - likely
    - malloc
    linkageType: ''
    returnType: track_elem_t
    signature: track_elem_t *new_track(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/itml.c:367,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/itml.c:368,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/itml.c:369,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/itml.c:370,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/itml.c:371,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/itml.c:372,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/itml.c:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - p_track
    argTypes:
    - track_elem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 374
    functionName: free_track
    functionSourceFile: /src/vlc/modules/demux/playlist/itml.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_track( track_elem_t *p_track )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_xml_decode
      Src: /src/vlc/modules/demux/playlist/itml.c:384,1
    - Dst: SAVE_INFO
      Src: /src/vlc/modules/demux/playlist/itml.c:389,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/itml.c:395,1
    - Dst: atol
      Src: /src/vlc/modules/demux/playlist/itml.c:397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - p_track
    - psz_name
    - psz_value
    argTypes:
    - track_elem_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 402
    functionName: save_data
    functionSourceFile: /src/vlc/modules/demux/playlist/itml.c
    functionUses: 0
    functionsReached:
    - strcmp
    - vlc_xml_decode
    - atol
    - SAVE_INFO
    linkageType: ''
    returnType: bool
    signature: "bool save_data( track_elem_t *p_track, const char *psz_name,\n                       char
      *psz_value )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 388
    functionName: SAVE_INFO
    functionSourceFile: /src/vlc/modules/demux/playlist/itml.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAVE_INFO( name, value )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SET_INFO
      Src: /src/vlc/modules/demux/playlist/itml.c:415,1
    - Dst: SET_INFO
      Src: /src/vlc/modules/demux/playlist/itml.c:416,1
    - Dst: SET_INFO
      Src: /src/vlc/modules/demux/playlist/itml.c:417,1
    - Dst: SET_INFO
      Src: /src/vlc/modules/demux/playlist/itml.c:418,1
    - Dst: SET_INFO
      Src: /src/vlc/modules/demux/playlist/itml.c:419,1
    - Dst: SET_INFO
      Src: /src/vlc/modules/demux/playlist/itml.c:420,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - p_input_item
    - p_track
    argTypes:
    - input_item_t*
    - track_elem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 423
    functionName: add_meta
    functionSourceFile: /src/vlc/modules/demux/playlist/itml.c
    functionUses: 1
    functionsReached:
    - SET_INFO
    linkageType: ''
    returnType: bool
    signature: bool add_meta( input_item_t *p_input_item, track_elem_t *p_track )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - prop
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 415
    functionName: SET_INFO
    functionSourceFile: /src/vlc/modules/demux/playlist/itml.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_INFO( type, prop )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/playlist/itml.c:432,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/playlist/itml.c:432,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/playlist/itml.c:433,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/playlist/itml.c:433,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/demux/playlist/itml.c:437,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/itml.c:438,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 6
    argNames:
    - p_demux
    - p_input_node
    - p_track
    - p_xml_reader
    - psz_element
    - p_handlers
    argTypes:
    - stream_t*
    - input_item_node_t*
    - track_elem_t*
    - xml_reader_t*
    - char*
    - xml_elem_hnd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 441
    functionName: skip_element
    functionSourceFile: /src/vlc/modules/demux/playlist/itml.c
    functionUses: 0
    functionsReached:
    - strcmp
    - xml_ReaderNextNode
    - VLC_UNUSED
    linkageType: ''
    returnType: bool
    signature: "bool skip_element( stream_t *p_demux, input_item_node_t *p_input_node,\n
      \                         track_elem_t *p_track, xml_reader_t *p_xml_reader,\n
      \                         const char *psz_element, xml_elem_hnd_t *p_handlers
      )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/vlc/modules/demux/playlist/playlist.c:149,1
    - Dst: isalpha
      Src: /src/vlc/modules/demux/playlist/playlist.c:151,1
    - Dst: vlc_path2uri
      Src: /src/vlc/modules/demux/playlist/playlist.c:153,1
    - Dst: vlc_uri_fixup
      Src: /src/vlc/modules/demux/playlist/playlist.c:175,1
    - Dst: vlc_uri_resolve
      Src: /src/vlc/modules/demux/playlist/playlist.c:179,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/playlist.c:180,1
    - Dst: strstr
      Src: /src/vlc/modules/demux/playlist/playlist.c:189,1
    - Dst: strspn
      Src: /src/vlc/modules/demux/playlist/playlist.c:194,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/playlist.c:196,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - str
    - base
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 201
    functionName: ProcessMRL
    functionSourceFile: /src/vlc/modules/demux/playlist/playlist.c
    functionUses: 1
    functionsReached:
    - isalpha
    - vlc_uri_resolve
    - strdup
    - strspn
    - vlc_uri_fixup
    - strncmp
    - free
    - strstr
    - vlc_path2uri
    linkageType: ''
    returnType: char
    signature: char *ProcessMRL(const char *str, const char *base)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: access_vaDirectoryControlHelper
      Src: /src/vlc/modules/demux/playlist/playlist.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - p_access
    - i_query
    - args
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 215
    functionName: PlaylistControl
    functionSourceFile: /src/vlc/modules/demux/playlist/playlist.c
    functionUses: 0
    functionsReached:
    - access_vaDirectoryControlHelper
    linkageType: ''
    returnType: int
    signature: int PlaylistControl( stream_t *p_access, int i_query, va_list args
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsUTF8
      Src: /src/vlc/modules/demux/playlist/m3u.c:48,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/m3u.c:48,1
    - Dst: FromLatin1
      Src: /src/vlc/modules/demux/playlist/m3u.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: GuessEncoding
    functionSourceFile: /src/vlc/modules/demux/playlist/m3u.c
    functionUses: 0
    functionsReached:
    - FromLatin1
    - strdup
    - IsUTF8
    linkageType: ''
    returnType: char
    signature: char *GuessEncoding (const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsUTF8
      Src: /src/vlc/modules/demux/playlist/m3u.c:53,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/m3u.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: CheckUnicode
    functionSourceFile: /src/vlc/modules/demux/playlist/m3u.c
    functionUses: 0
    functionsReached:
    - strdup
    - IsUTF8
    linkageType: ''
    returnType: char
    signature: char *CheckUnicode (const char *str)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/playlist/m3u.c:66,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/playlist/m3u.c:73,1
    - Dst: stream_HasExtension
      Src: /src/vlc/modules/demux/playlist/m3u.c:83,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/m3u.c:84,1
    - Dst: stream_MimeType
      Src: /src/vlc/modules/demux/playlist/m3u.c:88,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/playlist/m3u.c:92,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/demux/playlist/m3u.c:94,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/demux/playlist/m3u.c:95,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/demux/playlist/m3u.c:96,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/demux/playlist/m3u.c:97,1
    - Dst: vlc_ascii_strcasecmp
      Src: /src/vlc/modules/demux/playlist/m3u.c:98,1
    - Dst: stream_HasExtension
      Src: /src/vlc/modules/demux/playlist/m3u.c:99,1
    - Dst: stream_HasExtension
      Src: /src/vlc/modules/demux/playlist/m3u.c:100,1
    - Dst: stream_HasExtension
      Src: /src/vlc/modules/demux/playlist/m3u.c:101,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/m3u.c:102,1
    - Dst: ContainsURL
      Src: /src/vlc/modules/demux/playlist/m3u.c:103,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/m3u.c:108,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/playlist/m3u.c:113,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/m3u.c:116,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 27
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 122
    functionName: Import_M3U
    functionSourceFile: /src/vlc/modules/demux/playlist/m3u.c
    functionUses: 0
    functionsReached:
    - ContainsURL
    - strncasecmp
    - vlc_stream_Peek
    - vlc_ascii_strcasecmp
    - free
    - vlc_stream_Read
    - msg_Dbg
    - stream_HasExtension
    - memcmp
    - stream_MimeType
    linkageType: ''
    returnType: int
    signature: int Import_M3U( vlc_object_t *p_this )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strnstr
      Src: /src/vlc/modules/demux/playlist/m3u.c:149,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/m3u.c:155,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/m3u.c:156,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/m3u.c:160,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/m3u.c:161,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/m3u.c:162,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/m3u.c:166,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/m3u.c:167,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 36
    argCount: 2
    argNames:
    - p_peek
    - i_peek
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 184
    functionName: ContainsURL
    functionSourceFile: /src/vlc/modules/demux/playlist/m3u.c
    functionUses: 1
    functionsReached:
    - strnstr
    - strncasecmp
    linkageType: ''
    returnType: bool
    signature: bool ContainsURL(const uint8_t *p_peek, size_t i_peek)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/demux/playlist/m3u.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct entry_meta_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: entry_meta_Init
    functionSourceFile: /src/vlc/modules/demux/playlist/m3u.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void entry_meta_Init( struct entry_meta_s *e )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/m3u.c:210,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/m3u.c:211,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/m3u.c:212,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/m3u.c:213,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/m3u.c:214,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/m3u.c:215,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/m3u.c:216,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/m3u.c:217,1
    - Dst: TAB_CLEAN
      Src: /src/vlc/modules/demux/playlist/m3u.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct entry_meta_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 219
    functionName: entry_meta_Clean
    functionSourceFile: /src/vlc/modules/demux/playlist/m3u.c
    functionUses: 0
    functionsReached:
    - free
    - TAB_CLEAN
    linkageType: ''
    returnType: void
    signature: void entry_meta_Clean( struct entry_meta_s *e )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: input_item_NewExt
      Src: /src/vlc/modules/demux/playlist/m3u.c:229,1
    - Dst: input_item_AddOptions
      Src: /src/vlc/modules/demux/playlist/m3u.c:234,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/demux/playlist/m3u.c:236,1
    - Dst: vlc_meta_SetWithPriority
      Src: /src/vlc/modules/demux/playlist/m3u.c:238,1
    - Dst: vlc_meta_SetWithPriority
      Src: /src/vlc/modules/demux/playlist/m3u.c:240,1
    - Dst: vlc_meta_SetWithPriority
      Src: /src/vlc/modules/demux/playlist/m3u.c:242,1
    - Dst: vlc_meta_SetWithPriority
      Src: /src/vlc/modules/demux/playlist/m3u.c:244,1
    - Dst: vlc_meta_SetWithPriority
      Src: /src/vlc/modules/demux/playlist/m3u.c:246,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/demux/playlist/m3u.c:247,1
    - Dst: input_item_AddInfo
      Src: /src/vlc/modules/demux/playlist/m3u.c:249,1
    - Dst: input_item_node_AppendItem
      Src: /src/vlc/modules/demux/playlist/m3u.c:251,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/demux/playlist/m3u.c:252,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - p_node
    - meta
    argTypes:
    - input_item_node_t*
    - struct entry_meta_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 255
    functionName: CreateEntry
    functionSourceFile: /src/vlc/modules/demux/playlist/m3u.c
    functionUses: 0
    functionsReached:
    - input_item_AddInfo
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - input_item_Release
    - input_item_AddOptions
    - vlc_meta_SetWithPriority
    - input_item_node_AppendItem
    - input_item_NewExt
    linkageType: ''
    returnType: int
    signature: int CreateEntry( input_item_node_t *p_node, const struct entry_meta_s
      *meta )
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: entry_meta_Init
      Src: /src/vlc/modules/demux/playlist/m3u.c:262,1
    - Dst: vlc_stream_ReadLine
      Src: /src/vlc/modules/demux/playlist/m3u.c:265,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/m3u.c:285,1
    - Dst: parseEXTINF
      Src: /src/vlc/modules/demux/playlist/m3u.c:290,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/m3u.c:293,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/m3u.c:298,1
    - Dst: pf_dup
      Src: /src/vlc/modules/demux/playlist/m3u.c:299,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/m3u.c:302,1
    - Dst: pf_dup
      Src: /src/vlc/modules/demux/playlist/m3u.c:310,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/demux/playlist/m3u.c:312,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/m3u.c:315,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/m3u.c:321,1
    - Dst: pf_dup
      Src: /src/vlc/modules/demux/playlist/m3u.c:322,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/m3u.c:326,1
    - Dst: input_item_SetTitle
      Src: /src/vlc/modules/demux/playlist/m3u.c:330,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/m3u.c:333,1
    - Dst: pf_dup
      Src: /src/vlc/modules/demux/playlist/m3u.c:339,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/m3u.c:342,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/m3u.c:344,1
    - Dst: ProcessMRL
      Src: /src/vlc/modules/demux/playlist/m3u.c:346,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/m3u.c:347,1
    - Dst: CreateEntry
      Src: /src/vlc/modules/demux/playlist/m3u.c:349,1
    - Dst: entry_meta_Clean
      Src: /src/vlc/modules/demux/playlist/m3u.c:352,1
    - Dst: entry_meta_Init
      Src: /src/vlc/modules/demux/playlist/m3u.c:353,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/m3u.c:358,1
    - Dst: vlc_stream_ReadLine
      Src: /src/vlc/modules/demux/playlist/m3u.c:359,1
    - Dst: entry_meta_Clean
      Src: /src/vlc/modules/demux/playlist/m3u.c:363,1
    - Dst: entry_meta_Init
      Src: /src/vlc/modules/demux/playlist/m3u.c:364,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/m3u.c:365,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 73
    argCount: 2
    argNames:
    - p_demux
    - p_subitems
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 369
    functionName: ReadDir
    functionSourceFile: /src/vlc/modules/demux/playlist/m3u.c
    functionUses: 3
    functionsReached:
    - input_item_SetTitle
    - strncasecmp
    - parseEXTINF
    - strdup
    - entry_meta_Init
    - ProcessMRL
    - TAB_APPEND
    - free
    - pf_dup
    - vlc_stream_ReadLine
    - entry_meta_Clean
    - CreateEntry
    linkageType: ''
    returnType: int
    signature: int ReadDir( stream_t *p_demux, input_item_node_t *p_subitems )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/vlc/modules/demux/playlist/m3u.c:375,1
    - Dst: pf_dup
      Src: /src/vlc/modules/demux/playlist/m3u.c:383,1
    - Dst: pf_dup
      Src: /src/vlc/modules/demux/playlist/m3u.c:385,1
    - Dst: pf_dup
      Src: /src/vlc/modules/demux/playlist/m3u.c:395,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/playlist/m3u.c:400,1
    - Dst: pf_dup
      Src: /src/vlc/modules/demux/playlist/m3u.c:406,1
    - Dst: pf_dup
      Src: /src/vlc/modules/demux/playlist/m3u.c:408,1
    - Dst: pf_dup
      Src: /src/vlc/modules/demux/playlist/m3u.c:414,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - psz_string
    - (*pf_dup) (const char *)
    - meta
    argTypes:
    - char*
    - char*
    - struct entry_meta_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 416
    functionName: parseEXTINFTitle
    functionSourceFile: /src/vlc/modules/demux/playlist/m3u.c
    functionUses: 0
    functionsReached:
    - pf_dup
    - strchr
    - strstr
    linkageType: ''
    returnType: void
    signature: "void parseEXTINFTitle( char *psz_string,\n                              char
      *(*pf_dup) (const char *),\n                              struct entry_meta_s
      *meta )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vlc/modules/demux/playlist/m3u.c:422,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/playlist/m3u.c:423,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/m3u.c:428,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/playlist/m3u.c:430,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/playlist/m3u.c:432,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/playlist/m3u.c:434,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/playlist/m3u.c:436,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/playlist/m3u.c:439,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/playlist/m3u.c:448,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/playlist/m3u.c:449,1
    - Dst: pf_dup
      Src: /src/vlc/modules/demux/playlist/m3u.c:456,1
    - Dst: pf_dup
      Src: /src/vlc/modules/demux/playlist/m3u.c:459,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 3
    argNames:
    - psz_string
    - (*pf_dup)(const char *)
    - meta
    argTypes:
    - char*
    - char*
    - struct entry_meta_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 460
    functionName: parseEXTINFIptvDiots
    functionSourceFile: /src/vlc/modules/demux/playlist/m3u.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - strchr
    - strlen
    - pf_dup
    - strcasecmp
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void parseEXTINFIptvDiots( char *psz_string,\n                                  char
      *(*pf_dup)(const char *),\n                                  struct entry_meta_s
      *meta )"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: parseEXTINFIptvDiots
      Src: /src/vlc/modules/demux/playlist/m3u.c:488,1
    - Dst: parseEXTINFIptvDiots
      Src: /src/vlc/modules/demux/playlist/m3u.c:504,1
    - Dst: parseEXTINFIptvDiots
      Src: /src/vlc/modules/demux/playlist/m3u.c:511,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 46
    argCount: 4
    argNames:
    - psz_string
    - (*pf_dup)(const char *)
    - meta
    - ppsz_end
    argTypes:
    - char*
    - char*
    - struct entry_meta_s*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 462
    functionDepth: 3
    functionLinenumber: 462
    functionLinenumberEnd: 525
    functionName: parseEXTINFIptvDiotsInDuration
    functionSourceFile: /src/vlc/modules/demux/playlist/m3u.c
    functionUses: 0
    functionsReached:
    - parseEXTINFIptvDiots
    linkageType: ''
    returnType: void
    signature: "void parseEXTINFIptvDiotsInDuration( char *psz_string,\n                                            char
      *(*pf_dup)(const char *),\n                                            struct
      entry_meta_s *meta,\n                                            char **ppsz_end
      )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/demux/playlist/m3u.c:531,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/m3u.c:533,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/m3u.c:534,1
    - Dst: vlc_strtof_c
      Src: /src/vlc/modules/demux/playlist/m3u.c:542,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/playlist/m3u.c:544,1
    - Dst: parseEXTINFTitle
      Src: /src/vlc/modules/demux/playlist/m3u.c:562,1
    - Dst: parseEXTINFIptvDiotsInDuration
      Src: /src/vlc/modules/demux/playlist/m3u.c:569,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/m3u.c:572,1
    - Dst: pf_dup
      Src: /src/vlc/modules/demux/playlist/m3u.c:573,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 3
    argNames:
    - psz_string
    - (*pf_dup)(const char *)
    - meta
    argTypes:
    - char*
    - char*
    - struct entry_meta_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 527
    functionDepth: 4
    functionLinenumber: 527
    functionLinenumberEnd: 576
    functionName: parseEXTINF
    functionSourceFile: /src/vlc/modules/demux/playlist/m3u.c
    functionUses: 1
    functionsReached:
    - parseEXTINFIptvDiotsInDuration
    - vlc_strtof_c
    - parseEXTINFTitle
    - strlen
    - vlc_tick_from_sec
    - free
    - pf_dup
    - FREENULL
    linkageType: ''
    returnType: void
    signature: "void parseEXTINF( char *psz_string,\n                         char
      *(*pf_dup)(const char *),\n                         struct entry_meta_s *meta
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: StreamLocation
    functionSourceFile: /src/vlc/modules/demux/playlist/bdmv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *StreamLocation( const stream_t *s )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stream_HasExtension
      Src: /src/vlc/modules/demux/playlist/bdmv.c:54,1
    - Dst: StreamLocation
      Src: /src/vlc/modules/demux/playlist/bdmv.c:57,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/playlist/bdmv.c:61,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/bdmv.c:70,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/playlist/bdmv.c:79,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/playlist/bdmv.c:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 86
    functionName: Import_BDMV
    functionSourceFile: /src/vlc/modules/demux/playlist/bdmv.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - vlc_stream_Peek
    - StreamLocation
    - strlen
    - stream_HasExtension
    - memcmp
    linkageType: ''
    returnType: int
    signature: int Import_BDMV( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StreamLocation
      Src: /src/vlc/modules/demux/playlist/bdmv.c:90,1
    - Dst: strndup
      Src: /src/vlc/modules/demux/playlist/bdmv.c:93,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/playlist/bdmv.c:93,1
    - Dst: input_item_New
      Src: /src/vlc/modules/demux/playlist/bdmv.c:97,1
    - Dst: input_item_AddOption
      Src: /src/vlc/modules/demux/playlist/bdmv.c:98,1
    - Dst: input_item_node_AppendItem
      Src: /src/vlc/modules/demux/playlist/bdmv.c:99,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/demux/playlist/bdmv.c:100,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/bdmv.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p_stream
    - node
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 105
    functionName: ReadBR
    functionSourceFile: /src/vlc/modules/demux/playlist/bdmv.c
    functionUses: 0
    functionsReached:
    - strndup
    - input_item_New
    - input_item_AddOption
    - StreamLocation
    - strlen
    - input_item_Release
    - free
    - input_item_node_AppendItem
    linkageType: ''
    returnType: int
    signature: int ReadBR( stream_t *p_stream, input_item_node_t *node )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/playlist/asx.c:54,1
    - Dst: xml_ReaderNextAttr
      Src: /src/vlc/modules/demux/playlist/asx.c:68,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/asx.c:70,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/asx.c:75,1
    - Dst: isdigit
      Src: /src/vlc/modules/demux/playlist/asx.c:80,1
    - Dst: VLC_TICK_FROM_US
      Src: /src/vlc/modules/demux/playlist/asx.c:115,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/asx.c:117,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 2
    argNames:
    - p_xml_reader
    - pi_result
    argTypes:
    - xml_reader_t*
    - vlc_tick_t*
    assertStmts:
    - condition: ( pi_result )
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/vlc/modules/demux/playlist/asx.c
    constantsTouched: []
    func_position:
      end: 120
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 120
    functionName: ParseTime
    functionSourceFile: /src/vlc/modules/demux/playlist/asx.c
    functionUses: 1
    functionsReached:
    - strncasecmp
    - assert
    - strdup
    - VLC_TICK_FROM_US
    - free
    - isdigit
    - xml_ReaderNextAttr
    linkageType: ''
    returnType: bool
    signature: bool ParseTime(xml_reader_t *p_xml_reader, vlc_tick_t* pi_result )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/demux/playlist/asx.c:127,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/asx.c:130,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/asx.c:131,1
    - Dst: vlc_xml_decode
      Src: /src/vlc/modules/demux/playlist/asx.c:132,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/demux/playlist/asx.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p_xml_reader
    - ppsz_txt
    argTypes:
    - xml_reader_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 142
    functionName: ReadElement
    functionSourceFile: /src/vlc/modules/demux/playlist/asx.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_xml_decode
    - strdup
    - xml_ReaderNextNode
    linkageType: ''
    returnType: bool
    signature: bool ReadElement( xml_reader_t *p_xml_reader, char **ppsz_txt )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/playlist/asx.c:147,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/asx.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: PeekASX
    functionSourceFile: /src/vlc/modules/demux/playlist/asx.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - vlc_stream_Peek
    linkageType: ''
    returnType: bool
    signature: bool PeekASX( stream_t *s )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stream_MimeType
      Src: /src/vlc/modules/demux/playlist/asx.c:158,1
    - Dst: stream_HasExtension
      Src: /src/vlc/modules/demux/playlist/asx.c:160,1
    - Dst: stream_HasExtension
      Src: /src/vlc/modules/demux/playlist/asx.c:161,1
    - Dst: stream_HasExtension
      Src: /src/vlc/modules/demux/playlist/asx.c:162,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/playlist/asx.c:163,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/playlist/asx.c:164,1
    - Dst: PeekASX
      Src: /src/vlc/modules/demux/playlist/asx.c:165,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/asx.c:167,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/asx.c:168,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/asx.c:172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 179
    functionName: Import_ASX
    functionSourceFile: /src/vlc/modules/demux/playlist/asx.c
    functionUses: 0
    functionsReached:
    - PeekASX
    - free
    - msg_Dbg
    - strcasecmp
    - stream_HasExtension
    - stream_MimeType
    linkageType: ''
    returnType: int
    signature: int Import_ASX( vlc_object_t *p_this )
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/demux/playlist/asx.c:208,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/asx.c:216,1
    - Dst: ReadElement
      Src: /src/vlc/modules/demux/playlist/asx.c:218,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/asx.c:221,1
    - Dst: ReadElement
      Src: /src/vlc/modules/demux/playlist/asx.c:223,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/asx.c:226,1
    - Dst: ReadElement
      Src: /src/vlc/modules/demux/playlist/asx.c:228,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/asx.c:231,1
    - Dst: xml_ReaderNextAttr
      Src: /src/vlc/modules/demux/playlist/asx.c:235,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/asx.c:237,1
    - Dst: ReadElement
      Src: /src/vlc/modules/demux/playlist/asx.c:241,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/asx.c:245,1
    - Dst: vlc_xml_decode
      Src: /src/vlc/modules/demux/playlist/asx.c:246,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/asx.c:248,1
    - Dst: ReadElement
      Src: /src/vlc/modules/demux/playlist/asx.c:250,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/asx.c:253,1
    - Dst: ParseTime
      Src: /src/vlc/modules/demux/playlist/asx.c:255,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/asx.c:258,1
    - Dst: ParseTime
      Src: /src/vlc/modules/demux/playlist/asx.c:260,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/asx.c:265,1
    - Dst: input_item_GetTitle
      Src: /src/vlc/modules/demux/playlist/asx.c:270,1
    - Dst: input_item_GetArtist
      Src: /src/vlc/modules/demux/playlist/asx.c:272,1
    - Dst: input_item_GetCopyright
      Src: /src/vlc/modules/demux/playlist/asx.c:274,1
    - Dst: input_item_GetDescription
      Src: /src/vlc/modules/demux/playlist/asx.c:276,1
    - Dst: xml_ReaderNextAttr
      Src: /src/vlc/modules/demux/playlist/asx.c:280,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/asx.c:282,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/asx.c:285,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/playlist/asx.c:287,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/asx.c:288,1
    - Dst: vlc_xml_decode
      Src: /src/vlc/modules/demux/playlist/asx.c:289,1
    - Dst: ProcessMRL
      Src: /src/vlc/modules/demux/playlist/asx.c:290,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/playlist/asx.c:296,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/demux/playlist/asx.c:297,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/playlist/asx.c:302,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/demux/playlist/asx.c:304,1
    - Dst: input_item_NewExt
      Src: /src/vlc/modules/demux/playlist/asx.c:309,1
    - Dst: input_item_AddOptions
      Src: /src/vlc/modules/demux/playlist/asx.c:314,1
    - Dst: input_item_SetTitle
      Src: /src/vlc/modules/demux/playlist/asx.c:320,1
    - Dst: input_item_SetArtist
      Src: /src/vlc/modules/demux/playlist/asx.c:322,1
    - Dst: input_item_SetCopyright
      Src: /src/vlc/modules/demux/playlist/asx.c:324,1
    - Dst: input_item_SetURL
      Src: /src/vlc/modules/demux/playlist/asx.c:326,1
    - Dst: input_item_SetDescription
      Src: /src/vlc/modules/demux/playlist/asx.c:328,1
    - Dst: input_item_node_AppendItem
      Src: /src/vlc/modules/demux/playlist/asx.c:332,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/demux/playlist/asx.c:334,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/asx.c:338,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/asx.c:339,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/asx.c:340,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/asx.c:344,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/asx.c:346,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/asx.c:347,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/asx.c:348,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/asx.c:349,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/asx.c:350,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/asx.c:351,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 105
    argCount: 5
    argNames:
    - pi_n_entry
    - p_xml_reader
    - p_subitems
    - p_current_input
    - psz_prefix
    argTypes:
    - int*
    - xml_reader_t*
    - input_item_node_t*
    - input_item_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 352
    functionName: ProcessEntry
    functionSourceFile: /src/vlc/modules/demux/playlist/asx.c
    functionUses: 0
    functionsReached:
    - SEC_FROM_VLC_TICK
    - vlc_xml_decode
    - input_item_GetCopyright
    - input_item_NewExt
    - input_item_SetTitle
    - asprintf
    - input_item_GetDescription
    - xml_ReaderNextAttr
    - input_item_GetArtist
    - input_item_GetTitle
    - strdup
    - ReadElement
    - input_item_Release
    - input_item_AddOptions
    - input_item_SetDescription
    - input_item_node_AppendItem
    - ParseTime
    - input_item_SetCopyright
    - strncasecmp
    - ProcessMRL
    - input_item_SetURL
    - free
    - input_item_SetArtist
    - xml_ReaderNextNode
    linkageType: ''
    returnType: void
    signature: "void ProcessEntry( int *pi_n_entry, xml_reader_t *p_xml_reader,\n
      \                        input_item_node_t *p_subitems,\n                         input_item_t
      *p_current_input, char *psz_prefix )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/playlist/asx.c:357,1
    - Dst: strpbrk
      Src: /src/vlc/modules/demux/playlist/asx.c:359,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/playlist/asx.c:365,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/playlist/asx.c:368,1
    - Dst: isxdigit
      Src: /src/vlc/modules/demux/playlist/asx.c:380,1
    - Dst: isdigit
      Src: /src/vlc/modules/demux/playlist/asx.c:389,1
    - Dst: isalnum
      Src: /src/vlc/modules/demux/playlist/asx.c:399,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 1
    argNames:
    - psz_str
    argTypes:
    - char*
    assertStmts:
    - condition: ( psz_str != NULL )
      pos:
        line_end: 356
        line_start: 356
        source_file: /src/vlc/modules/demux/playlist/asx.c
    constantsTouched: []
    func_position:
      end: 406
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 406
    functionName: isXmlEncoded
    functionSourceFile: /src/vlc/modules/demux/playlist/asx.c
    functionUses: 0
    functionsReached:
    - assert
    - strchr
    - isxdigit
    - strpbrk
    - isalnum
    - isdigit
    linkageType: ''
    returnType: bool
    signature: bool isXmlEncoded(const char* psz_str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/asx.c:412,1
    - Dst: strndup
      Src: /src/vlc/modules/demux/playlist/asx.c:414,1
    - Dst: isXmlEncoded
      Src: /src/vlc/modules/demux/playlist/asx.c:419,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/demux/playlist/asx.c:420,1
    - Dst: vlc_xml_encode
      Src: /src/vlc/modules/demux/playlist/asx.c:423,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/asx.c:426,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/demux/playlist/asx.c:429,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/asx.c:430,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/asx.c:432,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - p_stream
    - psz_begin
    - psz_end
    argTypes:
    - struct vlc_memstream*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 433
    functionName: memstream_puts_xmlencoded
    functionSourceFile: /src/vlc/modules/demux/playlist/asx.c
    functionUses: 0
    functionsReached:
    - strndup
    - vlc_xml_encode
    - strdup
    - vlc_memstream_puts
    - free
    - isXmlEncoded
    linkageType: ''
    returnType: void
    signature: void memstream_puts_xmlencoded(struct vlc_memstream* p_stream, const
      char* psz_begin, const char* psz_end)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vlc_memstream_open
      Src: /src/vlc/modules/demux/playlist/asx.c:448,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/playlist/asx.c:455,1
    - Dst: memstream_puts_xmlencoded
      Src: /src/vlc/modules/demux/playlist/asx.c:457,1
    - Dst: memstream_puts_xmlencoded
      Src: /src/vlc/modules/demux/playlist/asx.c:462,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/playlist/asx.c:466,1
    - Dst: strstr
      Src: /src/vlc/modules/demux/playlist/asx.c:469,1
    - Dst: vlc_memstream_putc
      Src: /src/vlc/modules/demux/playlist/asx.c:480,1
    - Dst: vlc_memstream_putc
      Src: /src/vlc/modules/demux/playlist/asx.c:490,1
    - Dst: vlc_memstream_putc
      Src: /src/vlc/modules/demux/playlist/asx.c:498,1
    - Dst: vlc_memstream_putc
      Src: /src/vlc/modules/demux/playlist/asx.c:503,1
    - Dst: vlc_ascii_toupper
      Src: /src/vlc/modules/demux/playlist/asx.c:503,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/playlist/asx.c:509,1
    - Dst: memstream_puts_xmlencoded
      Src: /src/vlc/modules/demux/playlist/asx.c:513,1
    - Dst: vlc_memstream_putc
      Src: /src/vlc/modules/demux/playlist/asx.c:514,1
    - Dst: vlc_memstream_close
      Src: /src/vlc/modules/demux/playlist/asx.c:519,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 1
    argNames:
    - psz_source
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 440
    functionDepth: 3
    functionLinenumber: 440
    functionLinenumberEnd: 523
    functionName: ASXToXML
    functionSourceFile: /src/vlc/modules/demux/playlist/asx.c
    functionUses: 0
    functionsReached:
    - strchr
    - memstream_puts_xmlencoded
    - vlc_memstream_open
    - vlc_ascii_toupper
    - strncmp
    - vlc_memstream_putc
    - strstr
    - vlc_memstream_close
    linkageType: ''
    returnType: VLC_MALLOC
    signature: VLC_MALLOC * ASXToXML( char* psz_source )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strspn
      Src: /src/vlc/modules/demux/playlist/asx.c:533,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/asx.c:534,1
    - Dst: strstr
      Src: /src/vlc/modules/demux/playlist/asx.c:538,1
    - Dst: strspn
      Src: /src/vlc/modules/demux/playlist/asx.c:544,1
    - Dst: strcspn
      Src: /src/vlc/modules/demux/playlist/asx.c:547,1
    - Dst: strspn
      Src: /src/vlc/modules/demux/playlist/asx.c:551,1
    - Dst: strspn
      Src: /src/vlc/modules/demux/playlist/asx.c:556,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/playlist/asx.c:562,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/asx.c:567,1
    - Dst: strndup
      Src: /src/vlc/modules/demux/playlist/asx.c:570,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 1
    argNames:
    - psz_xml
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 525
    functionDepth: 2
    functionLinenumber: 525
    functionLinenumberEnd: 575
    functionName: detectXmlEncoding
    functionSourceFile: /src/vlc/modules/demux/playlist/asx.c
    functionUses: 0
    functionsReached:
    - strndup
    - strncasecmp
    - strchr
    - strspn
    - strcspn
    - strstr
    linkageType: ''
    returnType: char
    signature: char *detectXmlEncoding( const char *psz_xml )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/demux/playlist/asx.c:584,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/playlist/asx.c:590,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/playlist/asx.c:591,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/playlist/asx.c:596,1
    - Dst: assert
      Src: /src/vlc/modules/demux/playlist/asx.c:600,1
    - Dst: detectXmlEncoding
      Src: /src/vlc/modules/demux/playlist/asx.c:607,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/playlist/asx.c:610,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/asx.c:611,1
    - Dst: strstr
      Src: /src/vlc/modules/demux/playlist/asx.c:615,1
    - Dst: FromCharset
      Src: /src/vlc/modules/demux/playlist/asx.c:620,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/playlist/asx.c:620,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/asx.c:621,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/asx.c:622,1
    - Dst: IsUTF8
      Src: /src/vlc/modules/demux/playlist/asx.c:628,1
    - Dst: FromLocaleDup
      Src: /src/vlc/modules/demux/playlist/asx.c:630,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/asx.c:631,1
    - Dst: ASXToXML
      Src: /src/vlc/modules/demux/playlist/asx.c:637,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/asx.c:638,1
    - Dst: vlc_stream_MemoryNew
      Src: /src/vlc/modules/demux/playlist/asx.c:642,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/playlist/asx.c:642,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - stream_t*
    assertStmts:
    - condition: ( (size_t)i_ret <= streamSize )
      pos:
        line_end: 599
        line_start: 599
        source_file: /src/vlc/modules/demux/playlist/asx.c
    constantsTouched: []
    func_position:
      end: 644
      start: 578
    functionDepth: 4
    functionLinenumber: 578
    functionLinenumberEnd: 644
    functionName: PreparseStream
    functionSourceFile: /src/vlc/modules/demux/playlist/asx.c
    functionUses: 0
    functionsReached:
    - FromLocaleDup
    - detectXmlEncoding
    - assert
    - IsUTF8
    - strlen
    - free
    - ASXToXML
    - vlc_stream_Read
    - vlc_stream_MemoryNew
    - strstr
    - strcasecmp
    - FromCharset
    - unlikely
    - malloc
    - vlc_stream_GetSize
    linkageType: ''
    returnType: stream_t
    signature: stream_t * PreparseStream( stream_t *p_demux )
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/demux/playlist/asx.c:648,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/asx.c:653,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/playlist/asx.c:654,1
    - Dst: GetCurrentItem
      Src: /src/vlc/modules/demux/playlist/asx.c:661,1
    - Dst: PreparseStream
      Src: /src/vlc/modules/demux/playlist/asx.c:662,1
    - Dst: xml_ReaderCreate
      Src: /src/vlc/modules/demux/playlist/asx.c:668,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/playlist/asx.c:672,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/demux/playlist/asx.c:678,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/asx.c:686,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/playlist/asx.c:690,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/asx.c:696,1
    - Dst: ReadElement
      Src: /src/vlc/modules/demux/playlist/asx.c:698,1
    - Dst: input_item_SetTitle
      Src: /src/vlc/modules/demux/playlist/asx.c:700,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/asx.c:702,1
    - Dst: ReadElement
      Src: /src/vlc/modules/demux/playlist/asx.c:704,1
    - Dst: input_item_SetArtist
      Src: /src/vlc/modules/demux/playlist/asx.c:706,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/asx.c:708,1
    - Dst: ReadElement
      Src: /src/vlc/modules/demux/playlist/asx.c:710,1
    - Dst: input_item_SetCopyright
      Src: /src/vlc/modules/demux/playlist/asx.c:712,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/asx.c:714,1
    - Dst: xml_ReaderNextAttr
      Src: /src/vlc/modules/demux/playlist/asx.c:719,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/asx.c:721,1
    - Dst: ReadElement
      Src: /src/vlc/modules/demux/playlist/asx.c:725,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/asx.c:729,1
    - Dst: vlc_xml_decode
      Src: /src/vlc/modules/demux/playlist/asx.c:731,1
    - Dst: input_item_SetURL
      Src: /src/vlc/modules/demux/playlist/asx.c:732,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/asx.c:734,1
    - Dst: ReadElement
      Src: /src/vlc/modules/demux/playlist/asx.c:736,1
    - Dst: input_item_SetDescription
      Src: /src/vlc/modules/demux/playlist/asx.c:738,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/asx.c:742,1
    - Dst: ReadElement
      Src: /src/vlc/modules/demux/playlist/asx.c:744,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/asx.c:749,1
    - Dst: xml_ReaderNextAttr
      Src: /src/vlc/modules/demux/playlist/asx.c:754,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/asx.c:756,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/asx.c:762,1
    - Dst: vlc_xml_decode
      Src: /src/vlc/modules/demux/playlist/asx.c:763,1
    - Dst: input_item_New
      Src: /src/vlc/modules/demux/playlist/asx.c:764,1
    - Dst: input_item_node_AppendItem
      Src: /src/vlc/modules/demux/playlist/asx.c:765,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/demux/playlist/asx.c:767,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/asx.c:771,1
    - Dst: ProcessEntry
      Src: /src/vlc/modules/demux/playlist/asx.c:773,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/asx.c:785,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/asx.c:788,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/asx.c:789,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/asx.c:790,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/asx.c:791,1
    - Dst: xml_ReaderDelete
      Src: /src/vlc/modules/demux/playlist/asx.c:794,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/playlist/asx.c:796,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 88
    argCount: 2
    argNames:
    - p_demux
    - p_subitems
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 646
    functionDepth: 5
    functionLinenumber: 646
    functionLinenumberEnd: 799
    functionName: ReadDir
    functionSourceFile: /src/vlc/modules/demux/playlist/asx.c
    functionUses: 3
    functionsReached:
    - PreparseStream
    - vlc_xml_decode
    - input_item_SetTitle
    - input_item_New
    - msg_Err
    - xml_ReaderNextAttr
    - strdup
    - ReadElement
    - input_item_Release
    - GetCurrentItem
    - input_item_SetDescription
    - ProcessEntry
    - input_item_node_AppendItem
    - input_item_SetCopyright
    - strncasecmp
    - input_item_SetURL
    - xml_ReaderCreate
    - vlc_stream_Delete
    - free
    - xml_ReaderDelete
    - input_item_SetArtist
    - unlikely
    - xml_ReaderNextNode
    linkageType: ''
    returnType: int
    signature: int ReadDir( stream_t *p_demux, input_item_node_t *p_subitems )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/playlist/pls.c:50,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/pls.c:51,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/pls.c:55,1
    - Dst: stream_HasExtension
      Src: /src/vlc/modules/demux/playlist/pls.c:56,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/pls.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 64
    functionName: Import_PLS
    functionSourceFile: /src/vlc/modules/demux/playlist/pls.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - vlc_stream_Peek
    - msg_Dbg
    - stream_HasExtension
    linkageType: ''
    returnType: int
    signature: int Import_PLS( vlc_object_t *p_this )
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_ReadLine
      Src: /src/vlc/modules/demux/playlist/pls.c:79,1
    - Dst: IsASCII
      Src: /src/vlc/modules/demux/playlist/pls.c:81,1
    - Dst: IsUTF8
      Src: /src/vlc/modules/demux/playlist/pls.c:83,1
    - Dst: FromLatin1
      Src: /src/vlc/modules/demux/playlist/pls.c:89,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/pls.c:90,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/pls.c:94,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/pls.c:96,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/playlist/pls.c:100,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/pls.c:108,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/playlist/pls.c:111,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/pls.c:113,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/pls.c:114,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/playlist/pls.c:117,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/pls.c:119,1
    - Dst: atoi
      Src: /src/vlc/modules/demux/playlist/pls.c:119,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/pls.c:120,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/playlist/pls.c:126,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/playlist/pls.c:128,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/pls.c:129,1
    - Dst: input_item_New
      Src: /src/vlc/modules/demux/playlist/pls.c:140,1
    - Dst: input_item_node_AppendItem
      Src: /src/vlc/modules/demux/playlist/pls.c:141,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/demux/playlist/pls.c:142,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/pls.c:143,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/playlist/pls.c:148,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/pls.c:150,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/pls.c:155,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/pls.c:157,1
    - Dst: ProcessMRL
      Src: /src/vlc/modules/demux/playlist/pls.c:159,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/pls.c:161,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/pls.c:163,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/pls.c:164,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/pls.c:166,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/playlist/pls.c:170,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/pls.c:172,1
    - Dst: input_item_New
      Src: /src/vlc/modules/demux/playlist/pls.c:177,1
    - Dst: input_item_node_AppendItem
      Src: /src/vlc/modules/demux/playlist/pls.c:178,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/demux/playlist/pls.c:179,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/pls.c:180,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/playlist/pls.c:184,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/pls.c:186,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 79
    argCount: 2
    argNames:
    - p_demux
    - p_subitems
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 190
    functionName: ReadDir
    functionSourceFile: /src/vlc/modules/demux/playlist/pls.c
    functionUses: 3
    functionsReached:
    - sscanf
    - input_item_node_AppendItem
    - IsASCII
    - strncasecmp
    - IsUTF8
    - strchr
    - atoi
    - input_item_New
    - input_item_Release
    - ProcessMRL
    - strdup
    - free
    - vlc_stream_ReadLine
    - msg_Dbg
    - strcasecmp
    - msg_Warn
    - FromLatin1
    linkageType: ''
    returnType: int
    signature: int ReadDir( stream_t *p_demux, input_item_node_t *p_subitems )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stream_IsMimeType
      Src: /src/vlc/modules/demux/playlist/podcast.c:50,1
    - Dst: stream_IsMimeType
      Src: /src/vlc/modules/demux/playlist/podcast.c:51,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/playlist/podcast.c:58,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/playlist/podcast.c:59,1
    - Dst: vlc_stream_MemoryNew
      Src: /src/vlc/modules/demux/playlist/podcast.c:63,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/playlist/podcast.c:64,1
    - Dst: xml_ReaderCreate
      Src: /src/vlc/modules/demux/playlist/podcast.c:67,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/playlist/podcast.c:70,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/demux/playlist/podcast.c:76,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/podcast.c:77,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/playlist/podcast.c:79,1
    - Dst: xml_ReaderDelete
      Src: /src/vlc/modules/demux/playlist/podcast.c:80,1
    - Dst: xml_ReaderDelete
      Src: /src/vlc/modules/demux/playlist/podcast.c:84,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/playlist/podcast.c:85,1
    - Dst: stream_IsMimeType
      Src: /src/vlc/modules/demux/playlist/podcast.c:88,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/podcast.c:93,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 96
    functionName: Import_podcast
    functionSourceFile: /src/vlc/modules/demux/playlist/podcast.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    - stream_IsMimeType
    - xml_ReaderCreate
    - vlc_stream_Delete
    - strcmp
    - vlc_stream_MemoryNew
    - xml_ReaderDelete
    - msg_Dbg
    - unlikely
    - xml_ReaderNextNode
    linkageType: ''
    returnType: int
    signature: int Import_podcast( vlc_object_t *p_this )
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentItem
      Src: /src/vlc/modules/demux/playlist/podcast.c:126,1
    - Dst: xml_ReaderCreate
      Src: /src/vlc/modules/demux/playlist/podcast.c:128,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/demux/playlist/podcast.c:134,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/playlist/podcast.c:136,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/podcast.c:140,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/playlist/podcast.c:142,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/demux/playlist/podcast.c:146,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/podcast.c:152,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/podcast.c:153,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/playlist/podcast.c:154,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/podcast.c:157,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/podcast.c:159,1
    - Dst: xml_ReaderNextAttr
      Src: /src/vlc/modules/demux/playlist/podcast.c:164,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/podcast.c:166,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/podcast.c:169,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/podcast.c:171,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/podcast.c:173,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/podcast.c:177,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/podcast.c:178,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/podcast.c:181,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/podcast.c:184,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/podcast.c:185,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/podcast.c:189,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/podcast.c:190,1
    - Dst: vlc_xml_decode
      Src: /src/vlc/modules/demux/playlist/podcast.c:192,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/podcast.c:195,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/podcast.c:210,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/podcast.c:212,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/podcast.c:213,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/podcast.c:216,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/podcast.c:217,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/podcast.c:220,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/podcast.c:222,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/podcast.c:224,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/podcast.c:226,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/podcast.c:228,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/podcast.c:230,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/podcast.c:232,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/podcast.c:234,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/podcast.c:239,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/podcast.c:240,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/podcast.c:245,1
    - Dst: input_item_SetName
      Src: /src/vlc/modules/demux/playlist/podcast.c:246,1
    - Dst: ADD_GINFO_META
      Src: /src/vlc/modules/demux/playlist/podcast.c:256,1
    - Dst: _
      Src: /src/vlc/modules/demux/playlist/podcast.c:256,1
    - Dst: ADD_GINFO_META
      Src: /src/vlc/modules/demux/playlist/podcast.c:257,1
    - Dst: _
      Src: /src/vlc/modules/demux/playlist/podcast.c:257,1
    - Dst: ADD_GINFO_META
      Src: /src/vlc/modules/demux/playlist/podcast.c:258,1
    - Dst: _
      Src: /src/vlc/modules/demux/playlist/podcast.c:258,1
    - Dst: ADD_GINFO_META
      Src: /src/vlc/modules/demux/playlist/podcast.c:259,1
    - Dst: _
      Src: /src/vlc/modules/demux/playlist/podcast.c:259,1
    - Dst: ADD_GINFO
      Src: /src/vlc/modules/demux/playlist/podcast.c:260,1
    - Dst: _
      Src: /src/vlc/modules/demux/playlist/podcast.c:260,1
    - Dst: ADD_GINFO
      Src: /src/vlc/modules/demux/playlist/podcast.c:261,1
    - Dst: _
      Src: /src/vlc/modules/demux/playlist/podcast.c:261,1
    - Dst: ADD_GINFO
      Src: /src/vlc/modules/demux/playlist/podcast.c:262,1
    - Dst: _
      Src: /src/vlc/modules/demux/playlist/podcast.c:262,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/podcast.c:265,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/podcast.c:266,1
    - Dst: input_item_AddInfo
      Src: /src/vlc/modules/demux/playlist/podcast.c:268,1
    - Dst: _
      Src: /src/vlc/modules/demux/playlist/podcast.c:269,1
    - Dst: _
      Src: /src/vlc/modules/demux/playlist/podcast.c:269,1
    - Dst: input_item_SetDescription
      Src: /src/vlc/modules/demux/playlist/podcast.c:271,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/podcast.c:276,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/podcast.c:281,1
    - Dst: vlc_xml_decode
      Src: /src/vlc/modules/demux/playlist/podcast.c:283,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/podcast.c:287,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/podcast.c:296,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/podcast.c:298,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/playlist/podcast.c:303,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/playlist/podcast.c:306,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/podcast.c:307,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/podcast.c:308,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/podcast.c:309,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/podcast.c:310,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/podcast.c:311,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/podcast.c:312,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/podcast.c:313,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/podcast.c:314,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/podcast.c:315,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/podcast.c:316,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/podcast.c:317,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/podcast.c:318,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/podcast.c:319,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/podcast.c:320,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/podcast.c:321,1
    - Dst: vlc_xml_decode
      Src: /src/vlc/modules/demux/playlist/podcast.c:326,1
    - Dst: vlc_xml_decode
      Src: /src/vlc/modules/demux/playlist/podcast.c:328,1
    - Dst: input_item_New
      Src: /src/vlc/modules/demux/playlist/podcast.c:329,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/podcast.c:330,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/podcast.c:331,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/podcast.c:335,1
    - Dst: strTimeToMTime
      Src: /src/vlc/modules/demux/playlist/podcast.c:341,1
    - Dst: ADD_INFO_META
      Src: /src/vlc/modules/demux/playlist/podcast.c:355,1
    - Dst: _
      Src: /src/vlc/modules/demux/playlist/podcast.c:355,1
    - Dst: ADD_INFO_META
      Src: /src/vlc/modules/demux/playlist/podcast.c:356,1
    - Dst: _
      Src: /src/vlc/modules/demux/playlist/podcast.c:356,1
    - Dst: ADD_INFO
      Src: /src/vlc/modules/demux/playlist/podcast.c:357,1
    - Dst: _
      Src: /src/vlc/modules/demux/playlist/podcast.c:357,1
    - Dst: ADD_INFO
      Src: /src/vlc/modules/demux/playlist/podcast.c:358,1
    - Dst: _
      Src: /src/vlc/modules/demux/playlist/podcast.c:358,1
    - Dst: ADD_INFO
      Src: /src/vlc/modules/demux/playlist/podcast.c:359,1
    - Dst: _
      Src: /src/vlc/modules/demux/playlist/podcast.c:359,1
    - Dst: ADD_INFO
      Src: /src/vlc/modules/demux/playlist/podcast.c:360,1
    - Dst: _
      Src: /src/vlc/modules/demux/playlist/podcast.c:360,1
    - Dst: ADD_INFO_META
      Src: /src/vlc/modules/demux/playlist/podcast.c:361,1
    - Dst: _
      Src: /src/vlc/modules/demux/playlist/podcast.c:361,1
    - Dst: ADD_INFO_META
      Src: /src/vlc/modules/demux/playlist/podcast.c:362,1
    - Dst: _
      Src: /src/vlc/modules/demux/playlist/podcast.c:362,1
    - Dst: ADD_INFO_META
      Src: /src/vlc/modules/demux/playlist/podcast.c:363,1
    - Dst: _
      Src: /src/vlc/modules/demux/playlist/podcast.c:363,1
    - Dst: ADD_INFO
      Src: /src/vlc/modules/demux/playlist/podcast.c:364,1
    - Dst: _
      Src: /src/vlc/modules/demux/playlist/podcast.c:364,1
    - Dst: input_item_AddInfo
      Src: /src/vlc/modules/demux/playlist/podcast.c:370,1
    - Dst: _
      Src: /src/vlc/modules/demux/playlist/podcast.c:370,1
    - Dst: _
      Src: /src/vlc/modules/demux/playlist/podcast.c:371,1
    - Dst: input_item_SetMetaExtra
      Src: /src/vlc/modules/demux/playlist/podcast.c:373,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/podcast.c:375,1
    - Dst: input_item_SetArtURL
      Src: /src/vlc/modules/demux/playlist/podcast.c:380,1
    - Dst: input_item_SetArtURL
      Src: /src/vlc/modules/demux/playlist/podcast.c:382,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/podcast.c:383,1
    - Dst: input_item_AddInfo
      Src: /src/vlc/modules/demux/playlist/podcast.c:387,1
    - Dst: _
      Src: /src/vlc/modules/demux/playlist/podcast.c:388,1
    - Dst: _
      Src: /src/vlc/modules/demux/playlist/podcast.c:389,1
    - Dst: _
      Src: /src/vlc/modules/demux/playlist/podcast.c:390,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/podcast.c:392,1
    - Dst: input_item_node_AppendItem
      Src: /src/vlc/modules/demux/playlist/podcast.c:394,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/demux/playlist/podcast.c:395,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/podcast.c:398,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/playlist/podcast.c:409,1
    - Dst: input_item_SetArtURL
      Src: /src/vlc/modules/demux/playlist/podcast.c:413,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/podcast.c:415,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/podcast.c:416,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/podcast.c:417,1
    - Dst: xml_ReaderDelete
      Src: /src/vlc/modules/demux/playlist/podcast.c:418,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/podcast.c:423,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/podcast.c:424,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/podcast.c:425,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/podcast.c:426,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/podcast.c:427,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/podcast.c:428,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/podcast.c:429,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/podcast.c:430,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/podcast.c:431,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/podcast.c:432,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/podcast.c:433,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/podcast.c:434,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/podcast.c:435,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/podcast.c:436,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/podcast.c:437,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/podcast.c:438,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/podcast.c:439,1
    - Dst: xml_ReaderDelete
      Src: /src/vlc/modules/demux/playlist/podcast.c:442,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 210
    argCount: 2
    argNames:
    - p_demux
    - p_subitems
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 445
    functionName: ReadDir
    functionSourceFile: /src/vlc/modules/demux/playlist/podcast.c
    functionUses: 3
    functionsReached:
    - input_item_AddInfo
    - input_item_SetArtURL
    - vlc_xml_decode
    - FREENULL
    - input_item_New
    - _
    - ADD_GINFO_META
    - msg_Err
    - xml_ReaderNextAttr
    - msg_Dbg
    - msg_Warn
    - strdup
    - input_item_Release
    - GetCurrentItem
    - input_item_SetName
    - input_item_SetDescription
    - strcmp
    - input_item_node_AppendItem
    - ADD_INFO
    - input_item_SetMetaExtra
    - strTimeToMTime
    - xml_ReaderCreate
    - ADD_GINFO
    - free
    - xml_ReaderDelete
    - ADD_INFO_META
    - unlikely
    - xml_ReaderNextNode
    linkageType: ''
    returnType: int
    signature: int ReadDir( stream_t *p_demux, input_item_node_t *p_subitems )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - info
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: ADD_GINFO
    functionSourceFile: /src/vlc/modules/demux/playlist/podcast.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_GINFO( info, name )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - info
    - ','
    - name
    - ','
    - meta
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 256
    functionName: ADD_GINFO_META
    functionSourceFile: /src/vlc/modules/demux/playlist/podcast.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_GINFO_META( info, name, meta )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - info
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 348
    functionName: ADD_INFO
    functionSourceFile: /src/vlc/modules/demux/playlist/podcast.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_INFO( info, field )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - info
    - ','
    - field
    - ','
    - meta
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 354
    functionName: ADD_INFO_META
    functionSourceFile: /src/vlc/modules/demux/playlist/podcast.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_INFO_META( info, field, meta )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/vlc/modules/demux/playlist/podcast.c:450,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/playlist/podcast.c:453,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/playlist/podcast.c:455,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/playlist/podcast.c:457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - psz
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 461
    functionName: strTimeToMTime
    functionSourceFile: /src/vlc/modules/demux/playlist/podcast.c
    functionUses: 1
    functionsReached:
    - sscanf
    - vlc_tick_from_sec
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t strTimeToMTime( const char *psz )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: StreamLocation
    functionSourceFile: /src/vlc/modules/demux/playlist/ifo.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *StreamLocation( const stream_t *s )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stream_HasExtension
      Src: /src/vlc/modules/demux/playlist/ifo.c:55,1
    - Dst: StreamLocation
      Src: /src/vlc/modules/demux/playlist/ifo.c:58,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/playlist/ifo.c:62,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/ifo.c:72,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/ifo.c:73,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/ifo.c:79,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/playlist/ifo.c:88,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/playlist/ifo.c:89,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 95
    functionName: Import_IFO
    functionSourceFile: /src/vlc/modules/demux/playlist/ifo.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - vlc_stream_Peek
    - StreamLocation
    - strlen
    - stream_HasExtension
    - memcmp
    linkageType: ''
    returnType: int
    signature: int Import_IFO( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StreamLocation
      Src: /src/vlc/modules/demux/playlist/ifo.c:99,1
    - Dst: strndup
      Src: /src/vlc/modules/demux/playlist/ifo.c:101,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/playlist/ifo.c:101,1
    - Dst: input_item_New
      Src: /src/vlc/modules/demux/playlist/ifo.c:105,1
    - Dst: input_item_AddOption
      Src: /src/vlc/modules/demux/playlist/ifo.c:108,1
    - Dst: input_item_node_AppendItem
      Src: /src/vlc/modules/demux/playlist/ifo.c:109,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/demux/playlist/ifo.c:110,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/ifo.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - p_stream
    - node
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 116
    functionName: ReadDVD
    functionSourceFile: /src/vlc/modules/demux/playlist/ifo.c
    functionUses: 0
    functionsReached:
    - strndup
    - input_item_New
    - input_item_AddOption
    - StreamLocation
    - strlen
    - input_item_Release
    - free
    - input_item_node_AppendItem
    linkageType: ''
    returnType: int
    signature: int ReadDVD( stream_t *p_stream, input_item_node_t *node )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StreamLocation
      Src: /src/vlc/modules/demux/playlist/ifo.c:120,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/playlist/ifo.c:122,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/ifo.c:123,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/playlist/ifo.c:125,1
    - Dst: strcpy
      Src: /src/vlc/modules/demux/playlist/ifo.c:128,1
    - Dst: input_item_New
      Src: /src/vlc/modules/demux/playlist/ifo.c:130,1
    - Dst: input_item_node_AppendItem
      Src: /src/vlc/modules/demux/playlist/ifo.c:133,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/demux/playlist/ifo.c:134,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/ifo.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - p_stream
    - node
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 140
    functionName: ReadDVD_VR
    functionSourceFile: /src/vlc/modules/demux/playlist/ifo.c
    functionUses: 0
    functionsReached:
    - strdup
    - input_item_New
    - input_item_Release
    - StreamLocation
    - strlen
    - free
    - strcpy
    - input_item_node_AppendItem
    - unlikely
    linkageType: ''
    returnType: int
    signature: int ReadDVD_VR( stream_t *p_stream, input_item_node_t *node )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_ReadLine
      Src: /src/vlc/modules/demux/playlist/wms.c:38,1
    - Dst: IsUTF8
      Src: /src/vlc/modules/demux/playlist/wms.c:40,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/wms.c:42,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/playlist/wms.c:46,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/playlist/wms.c:48,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/playlist/wms.c:54,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/playlist/wms.c:55,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/playlist/wms.c:59,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/playlist/wms.c:60,1
    - Dst: input_item_New
      Src: /src/vlc/modules/demux/playlist/wms.c:62,1
    - Dst: input_item_node_AppendItem
      Src: /src/vlc/modules/demux/playlist/wms.c:63,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/demux/playlist/wms.c:64,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/wms.c:66,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - demux
    - subitems
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 69
    functionName: ReadDir
    functionSourceFile: /src/vlc/modules/demux/playlist/wms.c
    functionUses: 3
    functionsReached:
    - sscanf
    - strchr
    - IsUTF8
    - strncasecmp
    - input_item_New
    - input_item_Release
    - memcpy
    - free
    - strcmp
    - vlc_stream_ReadLine
    - msg_Warn
    - input_item_node_AppendItem
    linkageType: ''
    returnType: int
    signature: int ReadDir(stream_t *demux, input_item_node_t *subitems)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/playlist/wms.c:76,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/playlist/wms.c:77,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/wms.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: Import_WMS
    functionSourceFile: /src/vlc/modules/demux/playlist/wms.c
    functionUses: 0
    functionsReached:
    - strncmp
    - vlc_stream_Peek
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int Import_WMS(vlc_object_t *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stream_HasExtension
      Src: /src/vlc/modules/demux/playlist/xspf.c:92,1
    - Dst: stream_IsMimeType
      Src: /src/vlc/modules/demux/playlist/xspf.c:93,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/playlist/xspf.c:96,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/playlist/xspf.c:97,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/xspf.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 106
    functionName: Import_xspf
    functionSourceFile: /src/vlc/modules/demux/playlist/xspf.c
    functionUses: 0
    functionsReached:
    - stream_IsMimeType
    - calloc
    - msg_Dbg
    - stream_HasExtension
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Import_xspf(vlc_object_t *p_this)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: input_item_Release
      Src: /src/vlc/modules/demux/playlist/xspf.c:114,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/xspf.c:115,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/xspf.c:116,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/xspf.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: Close_xspf
    functionSourceFile: /src/vlc/modules/demux/playlist/xspf.c
    functionUses: 0
    functionsReached:
    - input_item_Release
    - free
    linkageType: ''
    returnType: void
    signature: void Close_xspf(vlc_object_t *p_this)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/xspf.c:133,1
    - Dst: xml_ReaderCreate
      Src: /src/vlc/modules/demux/playlist/xspf.c:136,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/demux/playlist/xspf.c:141,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/playlist/xspf.c:143,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/xspf.c:148,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/playlist/xspf.c:150,1
    - Dst: xml_ReaderIsEmptyElement
      Src: /src/vlc/modules/demux/playlist/xspf.c:154,1
    - Dst: parse_playlist_node
      Src: /src/vlc/modules/demux/playlist/xspf.c:157,1
    - Dst: input_item_node_AppendItem
      Src: /src/vlc/modules/demux/playlist/xspf.c:165,1
    - Dst: xml_ReaderDelete
      Src: /src/vlc/modules/demux/playlist/xspf.c:171,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - p_stream
    - p_subitems
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 173
    functionName: ReadDir
    functionSourceFile: /src/vlc/modules/demux/playlist/xspf.c
    functionUses: 3
    functionsReached:
    - strdup
    - xml_ReaderCreate
    - msg_Err
    - strcmp
    - parse_playlist_node
    - xml_ReaderDelete
    - xml_ReaderIsEmptyElement
    - input_item_node_AppendItem
    - xml_ReaderNextNode
    linkageType: ''
    returnType: int
    signature: int ReadDir(stream_t *p_stream, input_item_node_t *p_subitems)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/xspf.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - tab
    - n
    - name
    argTypes:
    - xml_elem_hnd_t*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 181
    functionName: get_handler
    functionSourceFile: /src/vlc/modules/demux/playlist/xspf.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: xml_elem_hnd_t
    signature: xml_elem_hnd_t *get_handler(const xml_elem_hnd_t *tab, size_t n, const
      char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderNextAttr
      Src: /src/vlc/modules/demux/playlist/xspf.c:186,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/xspf.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p_xml_reader
    - psz_name
    argTypes:
    - xml_reader_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 192
    functionName: get_node_attribute
    functionSourceFile: /src/vlc/modules/demux/playlist/xspf.c
    functionUses: 0
    functionsReached:
    - strcmp
    - xml_ReaderNextAttr
    linkageType: ''
    returnType: char
    signature: char *get_node_attribute(xml_reader_t *p_xml_reader, const char *psz_name)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/demux/playlist/xspf.c:216,1
    - Dst: xml_ReaderIsEmptyElement
      Src: /src/vlc/modules/demux/playlist/xspf.c:218,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/xspf.c:223,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/playlist/xspf.c:226,1
    - Dst: get_handler
      Src: /src/vlc/modules/demux/playlist/xspf.c:230,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/playlist/xspf.c:233,1
    - Dst: skip_element
      Src: /src/vlc/modules/demux/playlist/xspf.c:234,1
    - Dst: xml_elem_hnd_t*::pf_handler::cmplx
      Src: /src/vlc/modules/demux/playlist/xspf.c:242,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/xspf.c:253,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/xspf.c:260,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/playlist/xspf.c:261,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/xspf.c:268,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/xspf.c:277,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/playlist/xspf.c:279,1
    - Dst: xml_elem_hnd_t*::pf_handler::smpl
      Src: /src/vlc/modules/demux/playlist/xspf.c:284,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/xspf.c:287,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/xspf.c:296,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 7
    argNames:
    - p_stream
    - p_input_node
    - p_input_item
    - p_xml_reader
    - psz_root_node
    - pl_elements
    - i_pl_elements
    argTypes:
    - stream_t*
    - input_item_node_t*
    - input_item_t*
    - xml_reader_t*
    - char*
    - xml_elem_hnd_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 299
    functionName: parse_node
    functionSourceFile: /src/vlc/modules/demux/playlist/xspf.c
    functionUses: 0
    functionsReached:
    - strdup
    - xml_elem_hnd_t*::pf_handler::smpl
    - msg_Err
    - free
    - strcmp
    - FREENULL
    - xml_elem_hnd_t*::pf_handler::cmplx
    - msg_Warn
    - xml_ReaderIsEmptyElement
    - get_handler
    - skip_element
    - unlikely
    - xml_ReaderNextNode
    linkageType: ''
    returnType: bool
    signature: "bool parse_node(stream_t *p_stream,\n                       input_item_node_t
      *p_input_node, input_item_t *p_input_item,\n                       xml_reader_t
      *p_xml_reader, const char *psz_root_node,\n                       const xml_elem_hnd_t
      *pl_elements, size_t i_pl_elements)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderNextAttr
      Src: /src/vlc/modules/demux/playlist/xspf.c:318,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/xspf.c:320,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/xspf.c:323,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/xspf.c:323,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/playlist/xspf.c:324,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/xspf.c:326,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/xspf.c:326,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/xspf.c:328,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/xspf.c:330,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/xspf.c:331,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/playlist/xspf.c:334,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/playlist/xspf.c:338,1
    - Dst: parse_node
      Src: /src/vlc/modules/demux/playlist/xspf.c:357,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/playlist/xspf.c:359,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 308
    functionDepth: 3
    functionLinenumber: 308
    functionLinenumberEnd: 360
    functionName: parse_playlist_node::COMPLEX_INTERFACE
    functionSourceFile: /src/vlc/modules/demux/playlist/xspf.c
    functionUses: 0
    functionsReached:
    - parse_node
    - strdup
    - ARRAY_SIZE
    - free
    - strcmp
    - xml_ReaderNextAttr
    - msg_Warn
    linkageType: ''
    returnType: bool
    signature: bool parse_playlist_node COMPLEX_INTERFACE
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/playlist/xspf.c:367,1
    - Dst: parse_node
      Src: /src/vlc/modules/demux/playlist/xspf.c:377,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/playlist/xspf.c:379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 365
    functionDepth: 3
    functionLinenumber: 365
    functionLinenumberEnd: 380
    functionName: parse_tracklist_node::COMPLEX_INTERFACE
    functionSourceFile: /src/vlc/modules/demux/playlist/xspf.c
    functionUses: 0
    functionsReached:
    - parse_node
    - ARRAY_SIZE
    - VLC_UNUSED
    linkageType: ''
    returnType: bool
    signature: bool parse_tracklist_node COMPLEX_INTERFACE
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/playlist/xspf.c:387,1
    - Dst: ProcessMRL
      Src: /src/vlc/modules/demux/playlist/xspf.c:389,1
    - Dst: input_item_SetURI
      Src: /src/vlc/modules/demux/playlist/xspf.c:392,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/xspf.c:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 396
    functionName: parse_location::SIMPLE_INTERFACE
    functionSourceFile: /src/vlc/modules/demux/playlist/xspf.c
    functionUses: 0
    functionsReached:
    - free
    - input_item_SetURI
    - ProcessMRL
    - VLC_UNUSED
    linkageType: ''
    returnType: bool
    signature: bool parse_location SIMPLE_INTERFACE
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: input_item_New
      Src: /src/vlc/modules/demux/playlist/xspf.c:409,1
    - Dst: input_item_node_Create
      Src: /src/vlc/modules/demux/playlist/xspf.c:414,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/demux/playlist/xspf.c:417,1
    - Dst: parse_node
      Src: /src/vlc/modules/demux/playlist/xspf.c:440,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/playlist/xspf.c:442,1
    - Dst: input_item_GetURI
      Src: /src/vlc/modules/demux/playlist/xspf.c:446,1
    - Dst: input_item_SetURI
      Src: /src/vlc/modules/demux/playlist/xspf.c:448,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/xspf.c:450,1
    - Dst: input_item_node_AppendNode
      Src: /src/vlc/modules/demux/playlist/xspf.c:456,1
    - Dst: realloc
      Src: /src/vlc/modules/demux/playlist/xspf.c:465,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/playlist/xspf.c:481,1
    - Dst: input_item_node_AppendItem
      Src: /src/vlc/modules/demux/playlist/xspf.c:482,1
    - Dst: input_item_node_Delete
      Src: /src/vlc/modules/demux/playlist/xspf.c:495,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/demux/playlist/xspf.c:497,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 402
    functionDepth: 3
    functionLinenumber: 402
    functionLinenumberEnd: 500
    functionName: parse_track_node::COMPLEX_INTERFACE
    functionSourceFile: /src/vlc/modules/demux/playlist/xspf.c
    functionUses: 0
    functionsReached:
    - parse_node
    - input_item_SetURI
    - input_item_node_Delete
    - ARRAY_SIZE
    - input_item_New
    - input_item_Release
    - realloc
    - free
    - input_item_node_AppendNode
    - msg_Warn
    - input_item_node_AppendItem
    - input_item_GetURI
    - input_item_node_Create
    linkageType: ''
    returnType: bool
    signature: bool parse_track_node COMPLEX_INTERFACE
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vlc_xml_decode
      Src: /src/vlc/modules/demux/playlist/xspf.c:513,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/xspf.c:516,1
    - Dst: input_item_SetTitle
      Src: /src/vlc/modules/demux/playlist/xspf.c:517,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/xspf.c:518,1
    - Dst: input_item_SetArtist
      Src: /src/vlc/modules/demux/playlist/xspf.c:519,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/xspf.c:520,1
    - Dst: input_item_SetAlbum
      Src: /src/vlc/modules/demux/playlist/xspf.c:521,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/xspf.c:522,1
    - Dst: input_item_SetTrackNum
      Src: /src/vlc/modules/demux/playlist/xspf.c:523,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/xspf.c:524,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/playlist/xspf.c:525,1
    - Dst: atol
      Src: /src/vlc/modules/demux/playlist/xspf.c:525,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/xspf.c:526,1
    - Dst: input_item_SetDescription
      Src: /src/vlc/modules/demux/playlist/xspf.c:527,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/xspf.c:528,1
    - Dst: ProcessMRL
      Src: /src/vlc/modules/demux/playlist/xspf.c:530,1
    - Dst: input_item_SetURL
      Src: /src/vlc/modules/demux/playlist/xspf.c:532,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/xspf.c:533,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/xspf.c:535,1
    - Dst: ProcessMRL
      Src: /src/vlc/modules/demux/playlist/xspf.c:537,1
    - Dst: input_item_SetArtURL
      Src: /src/vlc/modules/demux/playlist/xspf.c:539,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/xspf.c:540,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 505
    functionDepth: 2
    functionLinenumber: 505
    functionLinenumberEnd: 543
    functionName: set_item_info::SIMPLE_INTERFACE
    functionSourceFile: /src/vlc/modules/demux/playlist/xspf.c
    functionUses: 0
    functionsReached:
    - input_item_SetTitle
    - ProcessMRL
    - input_item_SetAlbum
    - input_item_SetTrackNum
    - input_item_SetURL
    - input_item_SetArtURL
    - atol
    - vlc_xml_decode
    - VLC_TICK_FROM_MS
    - input_item_SetDescription
    - free
    - strcmp
    - input_item_SetArtist
    linkageType: ''
    returnType: bool
    signature: bool set_item_info SIMPLE_INTERFACE
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/playlist/xspf.c:550,1
    - Dst: vlc_xml_decode
      Src: /src/vlc/modules/demux/playlist/xspf.c:555,1
    - Dst: input_item_AddOption
      Src: /src/vlc/modules/demux/playlist/xspf.c:557,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 560
    functionName: SIMPLE_INTERFACE
    functionSourceFile: /src/vlc/modules/demux/playlist/xspf.c
    functionUses: 0
    functionsReached:
    - input_item_AddOption
    - vlc_xml_decode
    - VLC_UNUSED
    linkageType: ''
    returnType: bool
    signature: bool SIMPLE_INTERFACE
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/playlist/xspf.c:567,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/playlist/xspf.c:567,1
    - Dst: atoi
      Src: /src/vlc/modules/demux/playlist/xspf.c:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 572
    functionName: parse_vlcid::SIMPLE_INTERFACE
    functionSourceFile: /src/vlc/modules/demux/playlist/xspf.c
    functionUses: 0
    functionsReached:
    - atoi
    - VLC_UNUSED
    linkageType: ''
    returnType: bool
    signature: bool parse_vlcid SIMPLE_INTERFACE
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_node_attribute
      Src: /src/vlc/modules/demux/playlist/xspf.c:586,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/xspf.c:589,1
    - Dst: likely
      Src: /src/vlc/modules/demux/playlist/xspf.c:590,1
    - Dst: vlc_xml_decode
      Src: /src/vlc/modules/demux/playlist/xspf.c:591,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/playlist/xspf.c:597,1
    - Dst: input_item_NewDirectory
      Src: /src/vlc/modules/demux/playlist/xspf.c:601,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/xspf.c:602,1
    - Dst: input_item_node_AppendItem
      Src: /src/vlc/modules/demux/playlist/xspf.c:606,1
    - Dst: parse_node
      Src: /src/vlc/modules/demux/playlist/xspf.c:618,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/playlist/xspf.c:620,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/demux/playlist/xspf.c:623,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 577
    functionDepth: 3
    functionLinenumber: 577
    functionLinenumberEnd: 626
    functionName: parse_vlcnode_node::COMPLEX_INTERFACE
    functionSourceFile: /src/vlc/modules/demux/playlist/xspf.c
    functionUses: 0
    functionsReached:
    - parse_node
    - strdup
    - ARRAY_SIZE
    - input_item_Release
    - vlc_xml_decode
    - get_node_attribute
    - free
    - input_item_NewDirectory
    - likely
    - msg_Warn
    - input_item_node_AppendItem
    linkageType: ''
    returnType: bool
    signature: bool parse_vlcnode_node COMPLEX_INTERFACE
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_node_attribute
      Src: /src/vlc/modules/demux/playlist/xspf.c:637,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/playlist/xspf.c:640,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/xspf.c:646,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/xspf.c:648,1
    - Dst: skip_element
      Src: /src/vlc/modules/demux/playlist/xspf.c:649,1
    - Dst: parse_node
      Src: /src/vlc/modules/demux/playlist/xspf.c:659,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/playlist/xspf.c:661,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 631
    functionDepth: 3
    functionLinenumber: 631
    functionLinenumberEnd: 662
    functionName: parse_extension_node::COMPLEX_INTERFACE
    functionSourceFile: /src/vlc/modules/demux/playlist/xspf.c
    functionUses: 0
    functionsReached:
    - parse_node
    - ARRAY_SIZE
    - get_node_attribute
    - strcmp
    - msg_Dbg
    - msg_Warn
    - skip_element
    linkageType: ''
    returnType: bool
    signature: bool parse_extension_node COMPLEX_INTERFACE
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/playlist/xspf.c:670,1
    - Dst: get_node_attribute
      Src: /src/vlc/modules/demux/playlist/xspf.c:679,1
    - Dst: atoi
      Src: /src/vlc/modules/demux/playlist/xspf.c:681,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/playlist/xspf.c:686,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/playlist/xspf.c:693,1
    - Dst: input_item_node_AppendItem
      Src: /src/vlc/modules/demux/playlist/xspf.c:697,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/demux/playlist/xspf.c:698,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 668
    functionDepth: 2
    functionLinenumber: 668
    functionLinenumberEnd: 702
    functionName: parse_extitem_node::COMPLEX_INTERFACE
    functionSourceFile: /src/vlc/modules/demux/playlist/xspf.c
    functionUses: 0
    functionsReached:
    - atoi
    - input_item_Release
    - get_node_attribute
    - msg_Warn
    - input_item_node_AppendItem
    - VLC_UNUSED
    linkageType: ''
    returnType: bool
    signature: bool parse_extitem_node COMPLEX_INTERFACE
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/playlist/xspf.c:709,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/playlist/xspf.c:709,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/xspf.c:715,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/demux/playlist/xspf.c:721,1
    - Dst: xml_ReaderIsEmptyElement
      Src: /src/vlc/modules/demux/playlist/xspf.c:724,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/xspf.c:740,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/xspf.c:742,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 745
    functionName: skip_element::COMPLEX_INTERFACE
    functionSourceFile: /src/vlc/modules/demux/playlist/xspf.c
    functionUses: 0
    functionsReached:
    - strdup
    - free
    - strcmp
    - xml_ReaderIsEmptyElement
    - xml_ReaderNextNode
    - VLC_UNUSED
    linkageType: ''
    returnType: bool
    signature: bool skip_element COMPLEX_INTERFACE
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stream_HasExtension
      Src: /src/vlc/modules/demux/playlist/ram.c:77,1
    - Dst: stream_HasExtension
      Src: /src/vlc/modules/demux/playlist/ram.c:78,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/playlist/ram.c:82,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/playlist/ram.c:84,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/playlist/ram.c:84,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/ram.c:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 94
    functionName: Import_RAM
    functionSourceFile: /src/vlc/modules/demux/playlist/ram.c
    functionUses: 0
    functionsReached:
    - stream_HasExtension
    - vlc_stream_Peek
    - memcmp
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int Import_RAM( vlc_object_t *p_this )
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - s
    - i_strlen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 118
    functionName: SkipBlanks
    functionSourceFile: /src/vlc/modules/demux/playlist/ram.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *SkipBlanks( const char *s, size_t i_strlen )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SkipBlanks
      Src: /src/vlc/modules/demux/playlist/ram.c:133,1
    - Dst: isdigit
      Src: /src/vlc/modules/demux/playlist/ram.c:136,1
    - Dst: SkipBlanks
      Src: /src/vlc/modules/demux/playlist/ram.c:149,1
    - Dst: SkipBlanks
      Src: /src/vlc/modules/demux/playlist/ram.c:153,1
    - Dst: isdigit
      Src: /src/vlc/modules/demux/playlist/ram.c:156,1
    - Dst: SkipBlanks
      Src: /src/vlc/modules/demux/playlist/ram.c:169,1
    - Dst: SkipBlanks
      Src: /src/vlc/modules/demux/playlist/ram.c:173,1
    - Dst: isdigit
      Src: /src/vlc/modules/demux/playlist/ram.c:176,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 2
    argNames:
    - s
    - i_strlen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 193
    functionName: ParseTime
    functionSourceFile: /src/vlc/modules/demux/playlist/ram.c
    functionUses: 2
    functionsReached:
    - SkipBlanks
    - isdigit
    linkageType: ''
    returnType: int
    signature: int ParseTime( const char *s, size_t i_strlen)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/demux/playlist/ram.c:198,1
    - Dst: vlc_stream_ReadLine
      Src: /src/vlc/modules/demux/playlist/ram.c:209,1
    - Dst: ProcessMRL
      Src: /src/vlc/modules/demux/playlist/ram.c:228,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/playlist/ram.c:234,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/playlist/ram.c:246,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/playlist/ram.c:253,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/playlist/ram.c:260,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/ram.c:268,1
    - Dst: ParseClipInfo
      Src: /src/vlc/modules/demux/playlist/ram.c:270,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/ram.c:274,1
    - Dst: vlc_uri_decode_duplicate
      Src: /src/vlc/modules/demux/playlist/ram.c:276,1
    - Dst: EnsureUTF8
      Src: /src/vlc/modules/demux/playlist/ram.c:277,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/ram.c:279,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/playlist/ram.c:280,1
    - Dst: ParseTime
      Src: /src/vlc/modules/demux/playlist/ram.c:282,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/playlist/ram.c:282,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/playlist/ram.c:286,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/demux/playlist/ram.c:287,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/ram.c:290,1
    - Dst: ParseTime
      Src: /src/vlc/modules/demux/playlist/ram.c:292,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/playlist/ram.c:292,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/playlist/ram.c:296,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/demux/playlist/ram.c:297,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/ram.c:300,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/ram.c:302,1
    - Dst: vlc_uri_decode_duplicate
      Src: /src/vlc/modules/demux/playlist/ram.c:303,1
    - Dst: EnsureUTF8
      Src: /src/vlc/modules/demux/playlist/ram.c:304,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/ram.c:306,1
    - Dst: vlc_uri_decode_duplicate
      Src: /src/vlc/modules/demux/playlist/ram.c:308,1
    - Dst: EnsureUTF8
      Src: /src/vlc/modules/demux/playlist/ram.c:309,1
    - Dst: input_item_New
      Src: /src/vlc/modules/demux/playlist/ram.c:319,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/ram.c:322,1
    - Dst: input_item_AddOptions
      Src: /src/vlc/modules/demux/playlist/ram.c:326,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/demux/playlist/ram.c:328,1
    - Dst: input_item_SetArtist
      Src: /src/vlc/modules/demux/playlist/ram.c:328,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/demux/playlist/ram.c:329,1
    - Dst: input_item_SetPublisher
      Src: /src/vlc/modules/demux/playlist/ram.c:329,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/demux/playlist/ram.c:330,1
    - Dst: input_item_SetTitle
      Src: /src/vlc/modules/demux/playlist/ram.c:330,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/demux/playlist/ram.c:331,1
    - Dst: input_item_SetCopyright
      Src: /src/vlc/modules/demux/playlist/ram.c:331,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/demux/playlist/ram.c:332,1
    - Dst: input_item_SetAlbum
      Src: /src/vlc/modules/demux/playlist/ram.c:332,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/demux/playlist/ram.c:333,1
    - Dst: input_item_SetGenre
      Src: /src/vlc/modules/demux/playlist/ram.c:333,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/demux/playlist/ram.c:334,1
    - Dst: input_item_SetDate
      Src: /src/vlc/modules/demux/playlist/ram.c:334,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/demux/playlist/ram.c:335,1
    - Dst: input_item_SetTrackNum
      Src: /src/vlc/modules/demux/playlist/ram.c:335,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/demux/playlist/ram.c:336,1
    - Dst: input_item_SetDescription
      Src: /src/vlc/modules/demux/playlist/ram.c:336,1
    - Dst: input_item_node_AppendItem
      Src: /src/vlc/modules/demux/playlist/ram.c:338,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/demux/playlist/ram.c:339,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/ram.c:340,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/ram.c:345,1
    - Dst: vlc_stream_ReadLine
      Src: /src/vlc/modules/demux/playlist/ram.c:346,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/ram.c:352,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/ram.c:353,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/ram.c:354,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/ram.c:355,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/ram.c:356,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/ram.c:357,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/ram.c:358,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/ram.c:359,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/ram.c:360,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/ram.c:361,1
    - Dst: FREENULL
      Src: /src/vlc/modules/demux/playlist/ram.c:362,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 125
    argCount: 2
    argNames:
    - p_demux
    - p_subitems
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 370
    functionName: ReadDir
    functionSourceFile: /src/vlc/modules/demux/playlist/ram.c
    functionUses: 3
    functionsReached:
    - strchr
    - input_item_SetGenre
    - input_item_SetAlbum
    - EnsureUTF8
    - EMPTY_STR
    - FREENULL
    - input_item_SetTitle
    - asprintf
    - input_item_New
    - input_item_SetPublisher
    - vlc_stream_ReadLine
    - input_item_Release
    - input_item_AddOptions
    - TAB_APPEND
    - input_item_SetDescription
    - strncmp
    - strcmp
    - input_item_node_AppendItem
    - ParseTime
    - input_item_SetCopyright
    - ProcessMRL
    - vlc_uri_decode_duplicate
    - input_item_SetTrackNum
    - strlen
    - input_item_SetDate
    - ParseClipInfo
    - free
    - input_item_SetArtist
    - unlikely
    linkageType: ''
    returnType: int
    signature: int ReadDir( stream_t *p_demux, input_item_node_t *p_subitems )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/ram.c:388,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/playlist/ram.c:389,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/ram.c:392,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/playlist/ram.c:402,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/playlist/ram.c:406,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/playlist/ram.c:410,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/ram.c:414,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/playlist/ram.c:420,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/playlist/ram.c:422,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/playlist/ram.c:423,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/ram.c:427,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/ram.c:431,1
    - Dst: vlc_uri_decode_duplicate
      Src: /src/vlc/modules/demux/playlist/ram.c:432,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/ram.c:433,1
    - Dst: vlc_uri_decode_duplicate
      Src: /src/vlc/modules/demux/playlist/ram.c:434,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/ram.c:435,1
    - Dst: vlc_uri_decode_duplicate
      Src: /src/vlc/modules/demux/playlist/ram.c:436,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/ram.c:437,1
    - Dst: vlc_uri_decode_duplicate
      Src: /src/vlc/modules/demux/playlist/ram.c:438,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/ram.c:439,1
    - Dst: vlc_uri_decode_duplicate
      Src: /src/vlc/modules/demux/playlist/ram.c:440,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/ram.c:441,1
    - Dst: vlc_uri_decode_duplicate
      Src: /src/vlc/modules/demux/playlist/ram.c:442,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/ram.c:443,1
    - Dst: vlc_uri_decode_duplicate
      Src: /src/vlc/modules/demux/playlist/ram.c:444,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/ram.c:446,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/ram.c:450,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 8
    argNames:
    - psz_clipinfo
    - ppsz_artist
    - ppsz_title
    - ppsz_album
    - ppsz_genre
    - ppsz_year
    - ppsz_cdnum
    - ppsz_comments
    argTypes:
    - char*
    - char**
    - char**
    - char**
    - char**
    - char**
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 451
    functionName: ParseClipInfo
    functionSourceFile: /src/vlc/modules/demux/playlist/ram.c
    functionUses: 1
    functionsReached:
    - strchr
    - vlc_uri_decode_duplicate
    - strdup
    - free
    - strcmp
    linkageType: ''
    returnType: void
    signature: "void ParseClipInfo( const char *psz_clipinfo, char **ppsz_artist,
      char **ppsz_title,\n                           char **ppsz_album, char **ppsz_genre,
      char **ppsz_year,\n                           char **ppsz_cdnum, char **ppsz_comments
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stream_HasExtension
      Src: /src/vlc/modules/demux/playlist/qtl.c:86,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/qtl.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 94
    functionName: Import_QTL
    functionSourceFile: /src/vlc/modules/demux/playlist/qtl.c
    functionUses: 0
    functionsReached:
    - stream_HasExtension
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int Import_QTL( vlc_object_t *p_this )
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderCreate
      Src: /src/vlc/modules/demux/playlist/qtl.c:118,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/demux/playlist/qtl.c:126,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/playlist/qtl.c:128,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/qtl.c:132,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/qtl.c:135,1
    - Dst: xml_ReaderNextAttr
      Src: /src/vlc/modules/demux/playlist/qtl.c:140,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/qtl.c:142,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/qtl.c:143,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/qtl.c:144,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/qtl.c:145,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/qtl.c:146,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/qtl.c:148,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/qtl.c:150,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/qtl.c:152,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/qtl.c:154,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/qtl.c:159,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/qtl.c:161,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/qtl.c:162,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/qtl.c:164,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/qtl.c:165,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/qtl.c:166,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/qtl.c:168,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/qtl.c:170,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/qtl.c:175,1
    - Dst: atoi
      Src: /src/vlc/modules/demux/playlist/qtl.c:176,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/qtl.c:177,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/qtl.c:179,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/qtl.c:180,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/qtl.c:182,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/qtl.c:183,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/qtl.c:184,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/qtl.c:186,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/qtl.c:187,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/qtl.c:189,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/qtl.c:190,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/qtl.c:191,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/qtl.c:193,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/qtl.c:194,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/qtl.c:196,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/qtl.c:198,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/playlist/qtl.c:199,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/qtl.c:201,1
    - Dst: atoi
      Src: /src/vlc/modules/demux/playlist/qtl.c:202,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/qtl.c:204,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/qtl.c:208,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/qtl.c:210,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/qtl.c:212,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/qtl.c:214,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/qtl.c:215,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/qtl.c:217,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/qtl.c:218,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/qtl.c:219,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/qtl.c:220,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/qtl.c:222,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/qtl.c:223,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/qtl.c:225,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/qtl.c:226,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/qtl.c:227,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/playlist/qtl.c:232,1
    - Dst: input_item_New
      Src: /src/vlc/modules/demux/playlist/qtl.c:236,1
    - Dst: SADD_INFO
      Src: /src/vlc/modules/demux/playlist/qtl.c:239,1
    - Dst: SADD_INFO
      Src: /src/vlc/modules/demux/playlist/qtl.c:240,1
    - Dst: _
      Src: /src/vlc/modules/demux/playlist/qtl.c:240,1
    - Dst: input_item_node_AppendItem
      Src: /src/vlc/modules/demux/playlist/qtl.c:241,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/demux/playlist/qtl.c:242,1
    - Dst: vlc_xml_decode
      Src: /src/vlc/modules/demux/playlist/qtl.c:245,1
    - Dst: input_item_New
      Src: /src/vlc/modules/demux/playlist/qtl.c:246,1
    - Dst: input_item_node_AppendItem
      Src: /src/vlc/modules/demux/playlist/qtl.c:247,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/demux/playlist/qtl.c:248,1
    - Dst: xml_ReaderDelete
      Src: /src/vlc/modules/demux/playlist/qtl.c:256,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/qtl.c:258,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/qtl.c:259,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/qtl.c:260,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/qtl.c:261,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/qtl.c:262,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 110
    argCount: 2
    argNames:
    - p_demux
    - p_subitems
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 264
    functionName: ReadDir
    functionSourceFile: /src/vlc/modules/demux/playlist/qtl.c
    functionUses: 3
    functionsReached:
    - atoi
    - strdup
    - input_item_New
    - input_item_Release
    - vlc_xml_decode
    - _
    - xml_ReaderCreate
    - msg_Err
    - free
    - strcmp
    - xml_ReaderNextAttr
    - msg_Dbg
    - xml_ReaderDelete
    - SADD_INFO
    - input_item_node_AppendItem
    - xml_ReaderNextNode
    linkageType: ''
    returnType: int
    signature: int ReadDir( stream_t *p_demux, input_item_node_t *p_subitems )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: SADD_INFO
    functionSourceFile: /src/vlc/modules/demux/playlist/qtl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SADD_INFO( type, field )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: stream_HasExtension
      Src: /src/vlc/modules/demux/playlist/dvb.c:48,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/playlist/dvb.c:53,1
    - Dst: memchr
      Src: /src/vlc/modules/demux/playlist/dvb.c:57,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/playlist/dvb.c:63,1
    - Dst: ParseLine
      Src: /src/vlc/modules/demux/playlist/dvb.c:66,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/demux/playlist/dvb.c:69,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/playlist/dvb.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 76
    functionName: Import_DVB
    functionSourceFile: /src/vlc/modules/demux/playlist/dvb.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    - input_item_Release
    - memcpy
    - msg_Dbg
    - ParseLine
    - stream_HasExtension
    - memchr
    linkageType: ''
    returnType: int
    signature: int Import_DVB(vlc_object_t *p_this)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_ReadLine
      Src: /src/vlc/modules/demux/playlist/dvb.c:83,1
    - Dst: ParseLine
      Src: /src/vlc/modules/demux/playlist/dvb.c:85,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/dvb.c:86,1
    - Dst: input_item_node_AppendItem
      Src: /src/vlc/modules/demux/playlist/dvb.c:90,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/demux/playlist/dvb.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - s
    - subitems
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: ReadDir
    functionSourceFile: /src/vlc/modules/demux/playlist/dvb.c
    functionUses: 3
    functionsReached:
    - input_item_Release
    - ParseLine
    - free
    - vlc_stream_ReadLine
    - input_item_node_AppendItem
    linkageType: ''
    returnType: int
    signature: int ReadDir(stream_t *s, input_item_node_t *subitems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/dvb.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - k
    - e
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: cmp
    functionSourceFile: /src/vlc/modules/demux/playlist/dvb.c
    functionUses: 532
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int cmp(const void *k, const void *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/vlc/modules/demux/playlist/dvb.c:115,1
    - Dst: bsearch
      Src: /src/vlc/modules/demux/playlist/dvb.c:119,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/playlist/dvb.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 122
    functionName: ParseFEC
    functionSourceFile: /src/vlc/modules/demux/playlist/dvb.c
    functionUses: 0
    functionsReached:
    - strncmp
    - bsearch
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char *ParseFEC(const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/vlc/modules/demux/playlist/dvb.c:142,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/playlist/dvb.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 145
    functionName: ParseModulation
    functionSourceFile: /src/vlc/modules/demux/playlist/dvb.c
    functionUses: 0
    functionsReached:
    - bsearch
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char *ParseModulation(const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/vlc/modules/demux/playlist/dvb.c:159,1
    - Dst: bsearch
      Src: /src/vlc/modules/demux/playlist/dvb.c:163,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/playlist/dvb.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 166
    functionName: ParseGuard
    functionSourceFile: /src/vlc/modules/demux/playlist/dvb.c
    functionUses: 0
    functionsReached:
    - strncmp
    - bsearch
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char *ParseGuard(const char *str)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: strspn
      Src: /src/vlc/modules/demux/playlist/dvb.c:174,1
    - Dst: strsep
      Src: /src/vlc/modules/demux/playlist/dvb.c:179,1
    - Dst: assert
      Src: /src/vlc/modules/demux/playlist/dvb.c:180,1
    - Dst: EnsureUTF8
      Src: /src/vlc/modules/demux/playlist/dvb.c:181,1
    - Dst: strsep
      Src: /src/vlc/modules/demux/playlist/dvb.c:184,1
    - Dst: strtoul
      Src: /src/vlc/modules/demux/playlist/dvb.c:187,1
    - Dst: strsep
      Src: /src/vlc/modules/demux/playlist/dvb.c:192,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/dvb.c:198,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/dvb.c:198,1
    - Dst: toupper
      Src: /src/vlc/modules/demux/playlist/dvb.c:200,1
    - Dst: strsep
      Src: /src/vlc/modules/demux/playlist/dvb.c:203,1
    - Dst: strsep
      Src: /src/vlc/modules/demux/playlist/dvb.c:208,1
    - Dst: strtoul
      Src: /src/vlc/modules/demux/playlist/dvb.c:212,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/playlist/dvb.c:217,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/demux/playlist/dvb.c:219,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/playlist/dvb.c:223,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/dvb.c:228,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/dvb.c:230,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/dvb.c:232,1
    - Dst: strsep
      Src: /src/vlc/modules/demux/playlist/dvb.c:237,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/playlist/dvb.c:241,1
    - Dst: strtoul
      Src: /src/vlc/modules/demux/playlist/dvb.c:243,1
    - Dst: ParseFEC
      Src: /src/vlc/modules/demux/playlist/dvb.c:247,1
    - Dst: strsep
      Src: /src/vlc/modules/demux/playlist/dvb.c:247,1
    - Dst: ParseModulation
      Src: /src/vlc/modules/demux/playlist/dvb.c:248,1
    - Dst: strsep
      Src: /src/vlc/modules/demux/playlist/dvb.c:248,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/playlist/dvb.c:252,1
    - Dst: atoi
      Src: /src/vlc/modules/demux/playlist/dvb.c:259,1
    - Dst: ParseFEC
      Src: /src/vlc/modules/demux/playlist/dvb.c:261,1
    - Dst: strsep
      Src: /src/vlc/modules/demux/playlist/dvb.c:261,1
    - Dst: ParseFEC
      Src: /src/vlc/modules/demux/playlist/dvb.c:262,1
    - Dst: strsep
      Src: /src/vlc/modules/demux/playlist/dvb.c:262,1
    - Dst: ParseModulation
      Src: /src/vlc/modules/demux/playlist/dvb.c:263,1
    - Dst: strsep
      Src: /src/vlc/modules/demux/playlist/dvb.c:263,1
    - Dst: strsep
      Src: /src/vlc/modules/demux/playlist/dvb.c:268,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/playlist/dvb.c:269,1
    - Dst: atoi
      Src: /src/vlc/modules/demux/playlist/dvb.c:271,1
    - Dst: ParseGuard
      Src: /src/vlc/modules/demux/playlist/dvb.c:275,1
    - Dst: strsep
      Src: /src/vlc/modules/demux/playlist/dvb.c:275,1
    - Dst: strsep
      Src: /src/vlc/modules/demux/playlist/dvb.c:279,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/playlist/dvb.c:280,1
    - Dst: atoi
      Src: /src/vlc/modules/demux/playlist/dvb.c:283,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/playlist/dvb.c:284,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/playlist/dvb.c:287,1
    - Dst: ParseModulation
      Src: /src/vlc/modules/demux/playlist/dvb.c:297,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/playlist/dvb.c:301,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/playlist/dvb.c:306,1
    - Dst: strsep
      Src: /src/vlc/modules/demux/playlist/dvb.c:310,1
    - Dst: strsep
      Src: /src/vlc/modules/demux/playlist/dvb.c:312,1
    - Dst: strsep
      Src: /src/vlc/modules/demux/playlist/dvb.c:314,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/dvb.c:317,1
    - Dst: strtoul
      Src: /src/vlc/modules/demux/playlist/dvb.c:320,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/dvb.c:323,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/playlist/dvb.c:328,1
    - Dst: input_item_NewCard
      Src: /src/vlc/modules/demux/playlist/dvb.c:330,1
    - Dst: free
      Src: /src/vlc/modules/demux/playlist/dvb.c:331,1
    - Dst: input_item_AddOption
      Src: /src/vlc/modules/demux/playlist/dvb.c:333,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 89
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    assertStmts:
    - condition: (name != NULL)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/vlc/modules/demux/playlist/dvb.c
    constantsTouched: []
    func_position:
      end: 335
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 335
    functionName: ParseLine
    functionSourceFile: /src/vlc/modules/demux/playlist/dvb.c
    functionUses: 3
    functionsReached:
    - atoi
    - assert
    - EnsureUTF8
    - asprintf
    - strtoul
    - UINT64_C
    - snprintf
    - strsep
    - input_item_AddOption
    - input_item_NewCard
    - strncmp
    - strcmp
    - toupper
    - ParseFEC
    - ParseGuard
    - strspn
    - free
    - ParseModulation
    - unlikely
    linkageType: ''
    returnType: input_item_t
    signature: input_item_t *ParseLine(char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - demux_
    - res
    - playlist
    - factory
    - type
    argTypes:
    - demux_t*
    - SharedResources*
    - Manifest*
    - AbstractStreamFactory*
    - AbstractAdaptationLogic::LogicType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: SmoothManager::SmoothManager
    functionSourceFile: /src/vlc/modules/demux/smooth/SmoothManager.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SmoothManager::SmoothManager(demux_t *demux_,\n                             SharedResources
      *res,\n                             Manifest *playlist,\n                       AbstractStreamFactory
      *factory,\n                       AbstractAdaptationLogic::LogicType type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: SmoothManager::~SmoothManager()
    functionSourceFile: /src/vlc/modules/demux/smooth/SmoothManager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SmoothManager::~SmoothManager()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Retrieve::HTTP
      Src: /src/vlc/modules/demux/smooth/SmoothManager.cpp:59,1
    - Dst: vlc_stream_MemoryNew
      Src: /src/vlc/modules/demux/smooth/SmoothManager.cpp:63,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/smooth/SmoothManager.cpp:66,1
    - Dst: xml::DOMParser::parse
      Src: /src/vlc/modules/demux/smooth/SmoothManager.cpp:71,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/smooth/SmoothManager.cpp:73,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/smooth/SmoothManager.cpp:74,1
    - Dst: xml::DOMParser::getRootNode
      Src: /src/vlc/modules/demux/smooth/SmoothManager.cpp:80,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/smooth/SmoothManager.cpp:80,1
    - Dst: ManifestParser::ManifestParser
      Src: /src/vlc/modules/demux/smooth/SmoothManager.cpp:80,1
    - Dst: ManifestParser*::parse
      Src: /src/vlc/modules/demux/smooth/SmoothManager.cpp:84,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/smooth/SmoothManager.cpp:88,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/smooth/SmoothManager.cpp:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 55
    functionDepth: 4
    functionLinenumber: 55
    functionLinenumberEnd: 92
    functionName: SmoothManager::fetchManifest
    functionSourceFile: /src/vlc/modules/demux/smooth/SmoothManager.cpp
    functionUses: 0
    functionsReached:
    - block_Release
    - xml::DOMParser::getRootNode
    - vlc_stream_Delete
    - ManifestParser*::parse
    - Retrieve::HTTP
    - xml::DOMParser::parse
    - vlc_stream_MemoryNew
    - VLC_OBJECT
    - ManifestParser::ManifestParser
    linkageType: ''
    returnType: Manifest
    signature: Manifest * SmoothManager::fetchManifest()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/demux/smooth/SmoothManager.cpp:100,1
    - Dst: end
      Src: /src/vlc/modules/demux/smooth/SmoothManager.cpp:100,1
    - Dst: AbstractStream*::getMinAheadTime
      Src: /src/vlc/modules/demux/smooth/SmoothManager.cpp:103,1
    - Dst: AbstractStream*::isValid
      Src: /src/vlc/modules/demux/smooth/SmoothManager.cpp:104,1
    - Dst: AbstractStream*::isDisabled
      Src: /src/vlc/modules/demux/smooth/SmoothManager.cpp:104,1
    - Dst: AbstractStream*::isSelected
      Src: /src/vlc/modules/demux/smooth/SmoothManager.cpp:104,1
    - Dst: SmoothManager::updatePlaylist
      Src: /src/vlc/modules/demux/smooth/SmoothManager.cpp:114,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 115
    functionName: SmoothManager::updatePlaylist
    functionSourceFile: /src/vlc/modules/demux/smooth/SmoothManager.cpp
    functionUses: 1
    functionsReached:
    - AbstractStream*::getMinAheadTime
    - begin
    - AbstractStream*::isDisabled
    - AbstractStream*::isSelected
    - SmoothManager::updatePlaylist
    - AbstractStream*::isValid
    - end
    linkageType: ''
    returnType: bool
    signature: bool SmoothManager::updatePlaylist()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/vlc/modules/demux/smooth/SmoothManager.cpp:119,1
    - Dst: getMinAheadTime
      Src: /src/vlc/modules/demux/smooth/SmoothManager.cpp:121,1
    - Dst: std::max
      Src: /src/vlc/modules/demux/smooth/SmoothManager.cpp:126,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/demux/smooth/SmoothManager.cpp:126,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/demux/smooth/SmoothManager.cpp:128,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/smooth/SmoothManager.cpp:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 131
    functionName: SmoothManager::scheduleNextUpdate
    functionSourceFile: /src/vlc/modules/demux/smooth/SmoothManager.cpp
    functionUses: 0
    functionsReached:
    - SEC_FROM_VLC_TICK
    - VLC_TICK_FROM_SEC
    - std::max
    - time
    - msg_Dbg
    - getMinAheadTime
    linkageType: ''
    returnType: void
    signature: void SmoothManager::scheduleNextUpdate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/vlc/modules/demux/smooth/SmoothManager.cpp:135,1
    - Dst: PlaylistManager::needsUpdate
      Src: /src/vlc/modules/demux/smooth/SmoothManager.cpp:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: SmoothManager::needsUpdate
    functionSourceFile: /src/vlc/modules/demux/smooth/SmoothManager.cpp
    functionUses: 0
    functionsReached:
    - PlaylistManager::needsUpdate
    - time
    linkageType: ''
    returnType: bool
    signature: bool SmoothManager::needsUpdate() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SmoothManager::fetchManifest
      Src: /src/vlc/modules/demux/smooth/SmoothManager.cpp:150,1
    - Dst: updateWith
      Src: /src/vlc/modules/demux/smooth/SmoothManager.cpp:153,1
    - Dst: debug
      Src: /src/vlc/modules/demux/smooth/SmoothManager.cpp:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - forcemanifest
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 141
    functionDepth: 5
    functionLinenumber: 141
    functionLinenumberEnd: 164
    functionName: SmoothManager::updatePlaylist
    functionSourceFile: /src/vlc/modules/demux/smooth/SmoothManager.cpp
    functionUses: 1
    functionsReached:
    - debug
    - updateWith
    - SmoothManager::fetchManifest
    linkageType: ''
    returnType: bool
    signature: bool SmoothManager::updatePlaylist(bool forcemanifest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isLive
      Src: /src/vlc/modules/demux/smooth/SmoothManager.cpp:168,1
    - Dst: SmoothManager::updatePlaylist
      Src: /src/vlc/modules/demux/smooth/SmoothManager.cpp:169,1
    - Dst: PlaylistManager::reactivateStream
      Src: /src/vlc/modules/demux/smooth/SmoothManager.cpp:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - stream
    argTypes:
    - AbstractStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: SmoothManager::reactivateStream
    functionSourceFile: /src/vlc/modules/demux/smooth/SmoothManager.cpp
    functionUses: 0
    functionsReached:
    - isLive
    - PlaylistManager::reactivateStream
    - SmoothManager::updatePlaylist
    linkageType: ''
    returnType: bool
    signature: bool SmoothManager::reactivateStream(AbstractStream *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xml::Node*::getName
      Src: /src/vlc/modules/demux/smooth/SmoothManager.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - root
    argTypes:
    - xml::Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: SmoothManager::isSmoothStreaming
    functionSourceFile: /src/vlc/modules/demux/smooth/SmoothManager.cpp
    functionUses: 1
    functionsReached:
    - xml::Node*::getName
    linkageType: ''
    returnType: bool
    signature: bool SmoothManager::isSmoothStreaming(xml::Node *root)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mime
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: SmoothManager::mimeMatched
    functionSourceFile: /src/vlc/modules/demux/smooth/SmoothManager.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SmoothManager::mimeMatched(const std::string &mime)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: SmoothStream::SmoothStream
    functionSourceFile: /src/vlc/modules/demux/smooth/SmoothStream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SmoothStream::SmoothStream(demux_t *demux)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AbstractStream::newDemux
      Src: /src/vlc/modules/demux/smooth/SmoothStream.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - p_obj
    - format
    - out
    - source
    argTypes:
    - vlc_object_t*
    - StreamFormat
    - es_out_t*
    - AbstractSourceStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: SmoothStream::newDemux
    functionSourceFile: /src/vlc/modules/demux/smooth/SmoothStream.cpp
    functionUses: 0
    functionsReached:
    - AbstractStream::newDemux
    linkageType: ''
    returnType: AbstractDemuxer
    signature: "AbstractDemuxer *SmoothStream::newDemux(vlc_object_t *p_obj, const
      StreamFormat &format,\n                                        es_out_t *out,
      AbstractSourceStream *source) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SmoothStream::SmoothStream
      Src: /src/vlc/modules/demux/smooth/SmoothStream.cpp:46,1
    - Dst: SmoothStream*::init
      Src: /src/vlc/modules/demux/smooth/SmoothStream.cpp:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - realdemux
    - format
    - tracker
    argTypes:
    - demux_t*
    - StreamFormat
    - SegmentTracker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: SmoothStreamFactory::create
    functionSourceFile: /src/vlc/modules/demux/smooth/SmoothStream.cpp
    functionUses: 0
    functionsReached:
    - SmoothStream*::init
    - SmoothStream::SmoothStream
    linkageType: ''
    returnType: AbstractStream
    signature: "AbstractStream * SmoothStreamFactory::create(demux_t *realdemux, const
      StreamFormat &format,\n                                             SegmentTracker
      *tracker) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: CodecParameters::CodecParameters
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodecParameters::CodecParameters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: CodecParameters::~CodecParameters()
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodecParameters::~CodecParameters()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>::resize
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:48,1
    - Dst: std::string::size
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:48,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:49,1
    - Dst: std::strtoul
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:50,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - v
    argTypes:
    - std::string
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: HexDecode
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>::resize
    - std::string::size
    - std::string::substr
    - std::strtoul
    - std::vector<uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void HexDecode(const std::string &s, std::vector<uint8_t> &v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HexDecode
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - extra
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: CodecParameters::setCodecPrivateData
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp
    functionUses: 0
    functionsReached:
    - HexDecode
    linkageType: ''
    returnType: void
    signature: void CodecParameters::setCodecPrivateData(const std::string &extra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HexDecode
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:65,1
    - Dst: CodecParameters::fromWaveFormatEx
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - waveformat
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: CodecParameters::setWaveFormatEx
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp
    functionUses: 0
    functionsReached:
    - CodecParameters::fromWaveFormatEx
    - HexDecode
    linkageType: ''
    returnType: void
    signature: void CodecParameters::setWaveFormatEx(const std::string &waveformat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: CodecParameters::setChannels
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodecParameters::setChannels(uint16_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: CodecParameters::setPacketSize
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodecParameters::setPacketSize(uint16_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: CodecParameters::setSamplingRate
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodecParameters::setSamplingRate(uint32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: CodecParameters::setBitsPerSample
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodecParameters::setBitsPerSample(uint16_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wf_tag_to_fourcc
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: CodecParameters::setAudioTag
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp
    functionUses: 0
    functionsReached:
    - wf_tag_to_fourcc
    linkageType: ''
    returnType: void
    signature: void CodecParameters::setAudioTag(uint16_t i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>::size
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:96,1
    - Dst: free
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:98,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:100,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:100,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:103,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:103,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - fmt
    - extradata
    argTypes:
    - es_format_t*
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: FillExtradata
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp
    functionUses: 0
    functionsReached:
    - free
    - std::vector<uint8_t>::size
    - memcpy
    - malloc
    linkageType: ''
    returnType: void
    signature: void FillExtradata(es_format_t *fmt, const std::vector<uint8_t> &extradata)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:111,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:116,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:117,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:118,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:122,1
    - Dst: FillExtradata
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:127,1
    - Dst: FillExtradata
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:137,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 146
    functionName: CodecParameters::initAndFillEsFmt
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - FillExtradata
    - es_format_Init
    linkageType: ''
    returnType: void
    signature: void CodecParameters::initAndFillEsFmt(es_format_t *fmt) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:150,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:152,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:155,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:156,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:157,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:158,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:161,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:164,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - fcc
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 171
    functionName: CodecParameters::setFourCC
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - VLC_FOURCC
    linkageType: ''
    returnType: void
    signature: void CodecParameters::setFourCC(const std::string &fcc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>::size
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:175,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:177,1
    - Dst: wf_tag_to_fourcc
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:178,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:179,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:180,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:181,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:182,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:183,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:184,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:185,1
    - Dst: std::min
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:187,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:187,1
    - Dst: resize
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:191,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 197
    functionName: CodecParameters::fromWaveFormatEx
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp
    functionUses: 1
    functionsReached:
    - resize
    - wf_tag_to_fourcc
    - GetWLE
    - std::min
    - memcpy
    - GetDWLE
    - std::vector<uint8_t>::size
    linkageType: ''
    returnType: void
    signature: void CodecParameters::fromWaveFormatEx(const std::vector<uint8_t> &data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: CodecParameters::fromVideoInfoHeader
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/CodecParameters.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodecParameters::fromVideoInfoHeader(const std::vector<uint8_t>
      &)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/demux/smooth/playlist/Manifest.cpp:34,1
    - Dst: addAttribute
      Src: /src/vlc/modules/demux/smooth/playlist/Manifest.cpp:35,1
    - Dst: Timescale
      Src: /src/vlc/modules/demux/smooth/playlist/Manifest.cpp:35,1
    - Dst: TimescaleAttr::TimescaleAttr
      Src: /src/vlc/modules/demux/smooth/playlist/Manifest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: Manifest::Manifest
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/Manifest.cpp
    functionUses: 0
    functionsReached:
    - addAttribute
    - VLC_TICK_FROM_SEC
    - Timescale
    - TimescaleAttr::TimescaleAttr
    linkageType: ''
    returnType: void
    signature: void Manifest::Manifest (vlc_object_t *p_object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: Manifest::~Manifest()
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/Manifest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manifest::~Manifest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: Manifest::isLive
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/Manifest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Manifest::isLive() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - t
    - block
    argTypes:
    - ChunkType
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: MemoryChunkSource::MemoryChunkSource
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/MemoryChunk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MemoryChunkSource::MemoryChunkSource(ChunkType t, block_t *block)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/demux/smooth/playlist/MemoryChunk.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: MemoryChunkSource::~MemoryChunkSource()
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/MemoryChunk.cpp
    functionUses: 0
    functionsReached:
    - block_Release
    linkageType: ''
    returnType: void
    signature: void MemoryChunkSource::~MemoryChunkSource()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: MemoryChunkSource::hasMoreData
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/MemoryChunk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MemoryChunkSource::hasMoreData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: MemoryChunkSource::getBytesRead
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/MemoryChunk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MemoryChunkSource::getBytesRead() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: MemoryChunkSource::recycle
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/MemoryChunk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MemoryChunkSource::recycle()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: MemoryChunkSource::readBlock
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/MemoryChunk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: block_t
    signature: block_t * MemoryChunkSource::readBlock()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: __MIN
      Src: /src/vlc/modules/demux/smooth/playlist/MemoryChunk.cpp:77,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/smooth/playlist/MemoryChunk.cpp:80,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/smooth/playlist/MemoryChunk.cpp:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - toread
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 89
    functionName: MemoryChunkSource::read
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/MemoryChunk.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - block_Alloc
    - __MIN
    linkageType: ''
    returnType: block_t
    signature: block_t * MemoryChunkSource::read(size_t toread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CodecParameters::initAndFillEsFmt
      Src: /src/vlc/modules/demux/smooth/playlist/QualityLevel.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - CodecParameters
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: SmoothCodecDescription::SmoothCodecDescription
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/QualityLevel.cpp
    functionUses: 0
    functionsReached:
    - CodecParameters::initAndFillEsFmt
    linkageType: ''
    returnType: void
    signature: void SmoothCodecDescription::SmoothCodecDescription(const CodecParameters
      &params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: SmoothCodecDescription::~SmoothCodecDescription()
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/QualityLevel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SmoothCodecDescription::~SmoothCodecDescription()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - set
    argTypes:
    - BaseAdaptationSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: QualityLevel::QualityLevel
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/QualityLevel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QualityLevel::QualityLevel  ( BaseAdaptationSet *set )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: QualityLevel::~QualityLevel ()
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/QualityLevel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QualityLevel::~QualityLevel ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StreamFormat
      Src: /src/vlc/modules/demux/smooth/playlist/QualityLevel.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: QualityLevel::getStreamFormat
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/QualityLevel.cpp
    functionUses: 0
    functionsReached:
    - StreamFormat
    linkageType: ''
    returnType: StreamFormat
    signature: StreamFormat QualityLevel::getStreamFormat() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SmoothCodecDescription::SmoothCodecDescription
      Src: /src/vlc/modules/demux/smooth/playlist/QualityLevel.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: QualityLevel::makeCodecDescription
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/QualityLevel.cpp
    functionUses: 0
    functionsReached:
    - SmoothCodecDescription::SmoothCodecDescription
    linkageType: ''
    returnType: CodecDescription
    signature: CodecDescription * QualityLevel::makeCodecDescription(const std::string
      &) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AbstractSegmentBaseType::getInitSegment
      Src: /src/vlc/modules/demux/smooth/playlist/QualityLevel.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: QualityLevel::getInitSegment
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/QualityLevel.cpp
    functionUses: 0
    functionsReached:
    - AbstractSegmentBaseType::getInitSegment
    linkageType: ''
    returnType: InitSegment
    signature: InitSegment * QualityLevel::getInitSegment() const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find
      Src: /src/vlc/modules/demux/smooth/playlist/QualityLevel.cpp:80,1
    - Dst: std::string::find
      Src: /src/vlc/modules/demux/smooth/playlist/QualityLevel.cpp:82,1
    - Dst: std::stringstream::imbue
      Src: /src/vlc/modules/demux/smooth/playlist/QualityLevel.cpp:86,1
    - Dst: std::locale
      Src: /src/vlc/modules/demux/smooth/playlist/QualityLevel.cpp:86,1
    - Dst: SegmentTemplate*::inheritSegmentTimeline
      Src: /src/vlc/modules/demux/smooth/playlist/QualityLevel.cpp:87,1
    - Dst: SegmentTimeline*::getScaledPlaybackTimeByElementNumber
      Src: /src/vlc/modules/demux/smooth/playlist/QualityLevel.cpp:90,1
    - Dst: std::string::replace
      Src: /src/vlc/modules/demux/smooth/playlist/QualityLevel.cpp:91,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/smooth/playlist/QualityLevel.cpp:91,1
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/demux/smooth/playlist/QualityLevel.cpp:91,1
    - Dst: std::string::find
      Src: /src/vlc/modules/demux/smooth/playlist/QualityLevel.cpp:96,1
    - Dst: std::string::find
      Src: /src/vlc/modules/demux/smooth/playlist/QualityLevel.cpp:98,1
    - Dst: std::stringstream::imbue
      Src: /src/vlc/modules/demux/smooth/playlist/QualityLevel.cpp:102,1
    - Dst: std::locale
      Src: /src/vlc/modules/demux/smooth/playlist/QualityLevel.cpp:102,1
    - Dst: getBandwidth
      Src: /src/vlc/modules/demux/smooth/playlist/QualityLevel.cpp:103,1
    - Dst: std::string::replace
      Src: /src/vlc/modules/demux/smooth/playlist/QualityLevel.cpp:104,1
    - Dst: std::string
      Src: /src/vlc/modules/demux/smooth/playlist/QualityLevel.cpp:104,1
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/demux/smooth/playlist/QualityLevel.cpp:104,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - number
    - component
    - templ
    argTypes:
    - size_t
    - std::string
    - SegmentTemplate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 108
    functionName: QualityLevel::contextualize
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/QualityLevel.cpp
    functionUses: 0
    functionsReached:
    - std::string::find
    - std::stringstream::imbue
    - SegmentTemplate*::inheritSegmentTimeline
    - getBandwidth
    - std::stringstream::str
    - std::string::replace
    - std::string
    - std::locale
    - SegmentTimeline*::getScaledPlaybackTimeByElementNumber
    linkageType: ''
    returnType: std::string
    signature: "std::string QualityLevel::contextualize(size_t number, const std::string
      &component,\n                                          const SegmentTemplate
      *templ) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: '& QualityLevel::getCodecParameters() const'
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/QualityLevel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CodecParameters
    signature: CodecParameters & QualityLevel::getCodecParameters() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - CodecParameters
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: QualityLevel::setCodecParameters
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/QualityLevel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QualityLevel::setCodecParameters(const CodecParameters &c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - root_
    - p_object_
    - stream
    - ' streambaseurl_'
    argTypes:
    - Node*
    - vlc_object_t*
    - stream_t*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: ManifestParser::ManifestParser
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ManifestParser::ManifestParser(Node *root_, vlc_object_t *p_object_,\n
      \                              stream_t *stream, const std::string & streambaseurl_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: ManifestParser::~ManifestParser()
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ManifestParser::~ManifestParser()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: SegmentTimeline::SegmentTimeline
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:58,1
    - Dst: DOMHelper::getElementByTagName
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:61,1
    - Dst: std::vector::begin
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:72,1
    - Dst: std::vector::end
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:72,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:78,1
    - Dst: Integer<uint64_t>
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:80,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:80,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:88,1
    - Dst: Integer<uint64_t>
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:90,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:90,1
    - Dst: std::vector::end
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:93,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:96,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:96,1
    - Dst: Integer<uint64_t>
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:98,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:98,1
    - Dst: Integer<uint64_t>
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:99,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:99,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:104,1
    - Dst: Integer<uint64_t>
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:106,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:106,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:115,1
    - Dst: Integer<uint64_t>
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:117,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:117,1
    - Dst: std::vector::begin
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:123,1
    - Dst: SegmentTimeline*::addElement
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:134,1
    - Dst: std::vector::size
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:141,1
    - Dst: SegmentTimeline*::addElement
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:142,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 1
    argNames:
    - streamIndexNode
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 145
    functionName: createTimeline
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp
    functionUses: 0
    functionsReached:
    - Node*::getAttributeValue
    - std::vector::end
    - Node*::hasAttribute
    - SegmentTimeline*::addElement
    - Integer<uint64_t>
    - std::vector::size
    - SegmentTimeline::SegmentTimeline
    - DOMHelper::getElementByTagName
    - std::vector::begin
    linkageType: ''
    returnType: SegmentTimeline
    signature: SegmentTimeline *createTimeline(Node *streamIndexNode)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: QualityLevel::QualityLevel
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:150,1
    - Dst: QualityLevel*::setID
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:153,1
    - Dst: ID
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:153,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:155,1
    - Dst: QualityLevel*::setBandwidth
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:156,1
    - Dst: Integer<uint64_t>
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:156,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:156,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:158,1
    - Dst: QualityLevel*::setWidth
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:159,1
    - Dst: Integer<uint64_t>
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:159,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:159,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:160,1
    - Dst: QualityLevel*::setWidth
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:161,1
    - Dst: Integer<uint64_t>
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:161,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:161,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:163,1
    - Dst: QualityLevel*::setHeight
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:164,1
    - Dst: Integer<uint64_t>
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:164,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:164,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:165,1
    - Dst: QualityLevel*::setHeight
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:166,1
    - Dst: Integer<uint64_t>
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:166,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:166,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:168,1
    - Dst: QualityLevel*::addCodecs
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:169,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:169,1
    - Dst: CodecParameters::CodecParameters
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:171,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:173,1
    - Dst: CodecParameters::setFourCC
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:174,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:174,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:176,1
    - Dst: CodecParameters::setPacketSize
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:177,1
    - Dst: Integer<uint16_t>
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:177,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:177,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:179,1
    - Dst: CodecParameters::setChannels
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:180,1
    - Dst: Integer<uint16_t>
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:180,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:180,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:182,1
    - Dst: CodecParameters::setSamplingRate
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:183,1
    - Dst: Integer<uint32_t>
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:183,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:183,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:185,1
    - Dst: CodecParameters::setBitsPerSample
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:186,1
    - Dst: Integer<uint32_t>
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:186,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:186,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:188,1
    - Dst: CodecParameters::setCodecPrivateData
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:189,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:189,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:191,1
    - Dst: CodecParameters::setAudioTag
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:192,1
    - Dst: Integer<uint16_t>
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:192,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:192,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:194,1
    - Dst: CodecParameters::setWaveFormatEx
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:195,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:195,1
    - Dst: QualityLevel*::setCodecParameters
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:197,1
    - Dst: BaseAdaptationSet*::addRepresentation
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:199,1
    - Dst: BaseAdaptationSet*::getPlaylist
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:204,1
    - Dst: ForgedInitSegment::ForgedInitSegment
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:201,1
    - Dst: ForgedInitSegment*::setTrackID
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:207,1
    - Dst: BaseAdaptationSet*::getLang
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:209,1
    - Dst: ForgedInitSegment*::setLanguage
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:210,1
    - Dst: BaseAdaptationSet*::getLang
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:210,1
    - Dst: QualityLevel*::getWidth
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:212,1
    - Dst: QualityLevel*::getHeight
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:212,1
    - Dst: ForgedInitSegment*::setVideoSize
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:213,1
    - Dst: QualityLevel*::getWidth
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:213,1
    - Dst: QualityLevel*::getHeight
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:213,1
    - Dst: ForgedInitSegment*::setSourceUrl
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:215,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 6
    argNames:
    - adaptSet
    - qualNode
    - type
    - id
    - trackid
    - timescale
    argTypes:
    - BaseAdaptationSet*
    - Node*
    - std::string
    - unsigned
    - unsigned
    - Timescale
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 220
    functionName: ParseQualityLevel
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp
    functionUses: 0
    functionsReached:
    - Node*::getAttributeValue
    - CodecParameters::setCodecPrivateData
    - CodecParameters::setWaveFormatEx
    - Integer<uint32_t>
    - QualityLevel*::setID
    - QualityLevel*::setWidth
    - QualityLevel*::setBandwidth
    - CodecParameters::setAudioTag
    - ForgedInitSegment*::setLanguage
    - BaseAdaptationSet*::getLang
    - Integer<uint64_t>
    - QualityLevel*::getHeight
    - CodecParameters::CodecParameters
    - CodecParameters::setSamplingRate
    - ForgedInitSegment*::setTrackID
    - ID
    - QualityLevel::QualityLevel
    - Node*::hasAttribute
    - CodecParameters::setChannels
    - CodecParameters::setBitsPerSample
    - ForgedInitSegment::ForgedInitSegment
    - ForgedInitSegment*::setVideoSize
    - Integer<uint16_t>
    - ForgedInitSegment*::setSourceUrl
    - BaseAdaptationSet*::addRepresentation
    - BaseAdaptationSet*::getPlaylist
    - QualityLevel*::setHeight
    - CodecParameters::setPacketSize
    - QualityLevel*::getWidth
    - QualityLevel*::addCodecs
    - QualityLevel*::setCodecParameters
    - CodecParameters::setFourCC
    linkageType: ''
    returnType: void
    signature: "void ParseQualityLevel(BaseAdaptationSet *adaptSet, Node *qualNode,
      const std::string &type,\n                              unsigned id, unsigned
      trackid, const Timescale &timescale)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BaseAdaptationSet::BaseAdaptationSet
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:224,1
    - Dst: BaseAdaptationSet*::setID
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:227,1
    - Dst: ID
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:227,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:228,1
    - Dst: BaseAdaptationSet*::setLang
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:229,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:229,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:231,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:232,1
    - Dst: Node*::hasAttribute
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:235,1
    - Dst: Timescale
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:237,1
    - Dst: Integer<uint64_t>
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:237,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:237,1
    - Dst: BaseAdaptationSet*::addAttribute
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:238,1
    - Dst: TimescaleAttr::TimescaleAttr
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:238,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:241,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:242,1
    - Dst: SmoothSegmentTemplateSegment::SmoothSegmentTemplateSegment
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:245,1
    - Dst: SegmentTemplate::SegmentTemplate
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:245,1
    - Dst: SegmentTemplate*::setSourceUrl
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:248,1
    - Dst: createTimeline
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:249,1
    - Dst: SegmentTemplate*::addAttribute
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:250,1
    - Dst: BaseAdaptationSet*::setSegmentTemplate
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:251,1
    - Dst: Node*::getAttributeValue
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:255,1
    - Dst: DOMHelper::getElementByTagName
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:256,1
    - Dst: std::vector::begin
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:258,1
    - Dst: std::vector::end
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:258,1
    - Dst: ParseQualityLevel
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:259,1
    - Dst: BaseAdaptationSet*::getRepresentations
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:261,1
    - Dst: BasePeriod*::addAdaptationSet
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:262,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - period
    - streamIndexNode
    - id
    argTypes:
    - BasePeriod*
    - Node*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 222
    functionDepth: 4
    functionLinenumber: 222
    functionLinenumberEnd: 266
    functionName: ParseStreamIndex
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp
    functionUses: 0
    functionsReached:
    - Node*::getAttributeValue
    - std::string::empty
    - BaseAdaptationSet::BaseAdaptationSet
    - BaseAdaptationSet*::setSegmentTemplate
    - BasePeriod*::addAdaptationSet
    - DOMHelper::getElementByTagName
    - SegmentTemplate*::addAttribute
    - BaseAdaptationSet*::addAttribute
    - BaseAdaptationSet*::getRepresentations
    - Integer<uint64_t>
    - createTimeline
    - TimescaleAttr::TimescaleAttr
    - Timescale
    - ParseQualityLevel
    - ID
    - Node*::hasAttribute
    - SegmentTemplate*::setSourceUrl
    - BaseAdaptationSet*::setLang
    - SegmentTemplate::SegmentTemplate
    - std::vector::end
    - SmoothSegmentTemplateSegment::SmoothSegmentTemplateSegment
    - BaseAdaptationSet*::setID
    - std::vector::begin
    linkageType: ''
    returnType: void
    signature: void ParseStreamIndex(BasePeriod *period, Node *streamIndexNode, unsigned
      id)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Manifest::Manifest
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:270,1
    - Dst: Manifest*::setPlaylistUrl
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:274,1
    - Dst: Helper::getDirectoryPath
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:274,1
    - Dst: hasAttribute
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:278,1
    - Dst: Timescale
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:280,1
    - Dst: Integer<uint64_t>
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:280,1
    - Dst: getAttributeValue
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:280,1
    - Dst: Manifest*::addAttribute
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:281,1
    - Dst: TimescaleAttr::TimescaleAttr
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:281,1
    - Dst: hasAttribute
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:284,1
    - Dst: Integer<stime_t>
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:286,1
    - Dst: getAttributeValue
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:286,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:287,1
    - Dst: hasAttribute
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:290,1
    - Dst: Integer<stime_t>
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:292,1
    - Dst: getAttributeValue
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:292,1
    - Dst: Timescale::ToTime
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:293,1
    - Dst: hasAttribute
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:296,1
    - Dst: getAttributeValue
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:296,1
    - Dst: BasePeriod::BasePeriod
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:300,1
    - Dst: DOMHelper::getElementByTagName
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:305,1
    - Dst: std::vector::begin
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:307,1
    - Dst: std::vector::end
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:307,1
    - Dst: ParseStreamIndex
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:308,1
    - Dst: Manifest*::addPeriod
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp:309,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 268
    functionDepth: 5
    functionLinenumber: 268
    functionLinenumberEnd: 313
    functionName: ManifestParser::parse
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/SmoothParser.cpp
    functionUses: 1
    functionsReached:
    - ParseStreamIndex
    - Helper::getDirectoryPath
    - Manifest*::addAttribute
    - std::vector::end
    - DOMHelper::getElementByTagName
    - Integer<stime_t>
    - Integer<uint64_t>
    - getAttributeValue
    - Timescale::ToTime
    - Manifest::Manifest
    - hasAttribute
    - TimescaleAttr::TimescaleAttr
    - Timescale
    - BasePeriod::BasePeriod
    - Manifest*::addPeriod
    - Manifest*::setPlaylistUrl
    - std::vector::begin
    linkageType: ''
    returnType: Manifest
    signature: Manifest * ManifestParser::parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - source
    - rep
    argTypes:
    - AbstractChunkSource*
    - BaseRepresentation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: SmoothSegmentChunk::SmoothSegmentChunk
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/SmoothSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SmoothSegmentChunk::SmoothSegmentChunk(AbstractChunkSource *source,
      BaseRepresentation *rep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: SmoothSegmentChunk::~SmoothSegmentChunk()
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/SmoothSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SmoothSegmentChunk::~SmoothSegmentChunk()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decrypt
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothSegment.cpp:46,1
    - Dst: getPlaylist
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothSegment.cpp:51,1
    - Dst: SmoothIndexReader::parseIndex
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothSegment.cpp:52,1
    - Dst: getPlaylist
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothSegment.cpp:56,1
    - Dst: getMediaPlaybackRange
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothSegment.cpp:59,1
    - Dst: std::max
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothSegment.cpp:61,1
    - Dst: getPlaylist
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothSegment.cpp:61,1
    - Dst: pruneByPlaybackTime
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothSegment.cpp:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pp_block
    argTypes:
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 65
    functionName: SmoothSegmentChunk::onDownload
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/SmoothSegment.cpp
    functionUses: 0
    functionsReached:
    - pruneByPlaybackTime
    - getPlaylist
    - decrypt
    - std::max
    - getMediaPlaybackRange
    - SmoothIndexReader::parseIndex
    linkageType: ''
    returnType: void
    signature: void SmoothSegmentChunk::onDownload(block_t **pp_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - ICanonicalUrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: SmoothSegmentTemplateSegment::SmoothSegmentTemplateSegment
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/SmoothSegment.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SmoothSegmentTemplateSegment::SmoothSegmentTemplateSegment(ICanonicalUrl
      *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: SmoothSegmentTemplateSegment::~SmoothSegmentTemplateSegment()
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/SmoothSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SmoothSegmentTemplateSegment::~SmoothSegmentTemplateSegment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SmoothSegmentChunk::SmoothSegmentChunk
      Src: /src/vlc/modules/demux/smooth/playlist/SmoothSegment.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source
    - rep
    argTypes:
    - AbstractChunkSource*
    - BaseRepresentation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: SmoothSegmentTemplateSegment::createChunk
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/SmoothSegment.cpp
    functionUses: 0
    functionsReached:
    - SmoothSegmentChunk::SmoothSegmentChunk
    linkageType: ''
    returnType: SegmentChunk
    signature: SegmentChunk * SmoothSegmentTemplateSegment::createChunk(AbstractChunkSource
      *source, BaseRepresentation *rep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - parent
    - type_
    - timescale_
    - duration_
    argTypes:
    - ICanonicalUrl*
    - std::string
    - uint64_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: ForgedInitSegment::ForgedInitSegment
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ForgedInitSegment::ForgedInitSegment(ICanonicalUrl *parent,\n
      \                                    const std::string &type_,\n                                     uint64_t
      timescale_,\n                                     vlc_tick_t duration_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: ForgedInitSegment::~ForgedInitSegment()
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ForgedInitSegment::~ForgedInitSegment()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - w
    - h
    argTypes:
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: ForgedInitSegment::setVideoSize
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ForgedInitSegment::setVideoSize(unsigned w, unsigned h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: ForgedInitSegment::setTrackID
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ForgedInitSegment::setTrackID(unsigned i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lang
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: ForgedInitSegment::setLanguage
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ForgedInitSegment::setLanguage(const std::string &lang)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CodecParameters::initAndFillEsFmt
      Src: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp:81,1
    - Dst: empty
      Src: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp:90,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp:91,1
    - Dst: c_str
      Src: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp:91,1
    - Dst: mp4mux_New
      Src: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp:94,1
    - Dst: mp4mux_CanMux
      Src: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp:97,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp:97,1
    - Dst: mp4mux_track_Add
      Src: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp:99,1
    - Dst: mp4mux_track_ForceDuration
      Src: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp:103,1
    - Dst: mp4mux_GetMoov
      Src: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp:106,1
    - Dst: ToTime
      Src: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp:106,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp:108,1
    - Dst: mp4mux_Delete
      Src: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp:112,1
    - Dst: free
      Src: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp:117,1
    - Dst: mp4mux_SetBrand
      Src: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp:119,1
    - Dst: mp4mux_AddExtraBrand
      Src: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp:120,1
    - Dst: mp4mux_AddExtraBrand
      Src: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp:121,1
    - Dst: mp4mux_AddExtraBrand
      Src: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp:122,1
    - Dst: mp4mux_AddExtraBrand
      Src: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp:123,1
    - Dst: mp4mux_GetFtyp
      Src: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp:125,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp:128,1
    - Dst: block_ChainGather
      Src: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp:129,1
    - Dst: free
      Src: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp:130,1
    - Dst: mp4mux_Delete
      Src: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp:133,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 1
    argNames:
    - codecparameters
    argTypes:
    - CodecParameters
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 78
    functionDepth: 9
    functionLinenumber: 78
    functionLinenumberEnd: 135
    functionName: ForgedInitSegment::buildMoovBox
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp
    functionUses: 0
    functionsReached:
    - mp4mux_track_Add
    - mp4mux_GetFtyp
    - mp4mux_CanMux
    - block_ChainGather
    - VLC_FOURCC
    - strdup
    - mp4mux_SetBrand
    - block_ChainAppend
    - ToTime
    - mp4mux_AddExtraBrand
    - mp4mux_New
    - es_format_Clean
    - free
    - empty
    - c_str
    - mp4mux_Delete
    - mp4mux_GetMoov
    - CodecParameters::initAndFillEsFmt
    - mp4mux_track_ForceDuration
    linkageType: ''
    returnType: block_t
    signature: block_t * ForgedInitSegment::buildMoovBox(const CodecParameters &codecparameters)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<QualityLevel *>
      Src: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp:139,1
    - Dst: ForgedInitSegment::buildMoovBox
      Src: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp:143,1
    - Dst: QualityLevel*::getCodecParameters
      Src: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp:143,1
    - Dst: MemoryChunkSource::MemoryChunkSource
      Src: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp:146,1
    - Dst: SegmentChunk::SegmentChunk
      Src: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - rep
    argTypes:
    - BaseRepresentation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 10
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: ForgedInitSegment::toChunk
    functionSourceFile: /src/vlc/modules/demux/smooth/playlist/ForgedInitSegment.cpp
    functionUses: 0
    functionsReached:
    - QualityLevel*::getCodecParameters
    - dynamic_cast<QualityLevel *>
    - ForgedInitSegment::buildMoovBox
    - MemoryChunkSource::MemoryChunkSource
    - SegmentChunk::SegmentChunk
    linkageType: ''
    returnType: SegmentChunk
    signature: SegmentChunk * ForgedInitSegment::toChunk(SharedResources *, size_t,
      BaseRepresentation *rep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: SmoothIndexReader::SmoothIndexReader
    functionSourceFile: /src/vlc/modules/demux/smooth/mp4/SmoothIndexReader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SmoothIndexReader::SmoothIndexReader(vlc_object_t *obj)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: parseBlock
      Src: /src/vlc/modules/demux/smooth/mp4/SmoothIndexReader.cpp:41,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/smooth/mp4/SmoothIndexReader.cpp:46,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/demux/smooth/mp4/SmoothIndexReader.cpp:48,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/smooth/mp4/SmoothIndexReader.cpp:51,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/demux/smooth/mp4/SmoothIndexReader.cpp:53,1
    - Dst: BaseRepresentation*::getPlaylist
      Src: /src/vlc/modules/demux/smooth/mp4/SmoothIndexReader.cpp:55,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/smooth/mp4/SmoothIndexReader.cpp:58,1
    - Dst: CmpUUID
      Src: /src/vlc/modules/demux/smooth/mp4/SmoothIndexReader.cpp:61,1
    - Dst: SegmentTimeline::SegmentTimeline
      Src: /src/vlc/modules/demux/smooth/mp4/SmoothIndexReader.cpp:69,1
    - Dst: SegmentTimeline*::addElement
      Src: /src/vlc/modules/demux/smooth/mp4/SmoothIndexReader.cpp:77,1
    - Dst: BaseRepresentation*::inheritSegmentTemplate
      Src: /src/vlc/modules/demux/smooth/mp4/SmoothIndexReader.cpp:80,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/smooth/mp4/SmoothIndexReader.cpp:86,1
    - Dst: BaseRepresentation*::getPlaylist
      Src: /src/vlc/modules/demux/smooth/mp4/SmoothIndexReader.cpp:86,1
    - Dst: BaseRepresentation*::debug
      Src: /src/vlc/modules/demux/smooth/mp4/SmoothIndexReader.cpp:87,1
    - Dst: BaseRepresentation*::getPlaylist
      Src: /src/vlc/modules/demux/smooth/mp4/SmoothIndexReader.cpp:87,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 3
    argNames:
    - p_block
    - rep
    - sequence
    argTypes:
    - block_t*
    - BaseRepresentation*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 92
    functionName: SmoothIndexReader::parseIndex
    functionSourceFile: /src/vlc/modules/demux/smooth/mp4/SmoothIndexReader.cpp
    functionUses: 1
    functionsReached:
    - CmpUUID
    - BaseRepresentation*::inheritSegmentTemplate
    - MP4_BoxGet
    - SegmentTimeline*::addElement
    - SetDWBE
    - BaseRepresentation*::getPlaylist
    - BaseRepresentation*::debug
    - msg_Dbg
    - SegmentTimeline::SegmentTimeline
    - parseBlock
    linkageType: ''
    returnType: bool
    signature: bool SmoothIndexReader::parseIndex(block_t *p_block, BaseRepresentation
      *rep, uint64_t sequence)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: AVCI_ENTRY
    functionSourceFile: /src/vlc/modules/demux/mp4/avci.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVCI_ENTRY(a,b, A, B)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 6
    argNames:
    - i_res
    - b_i
    - pp_sps
    - pi_sps
    - pp_pps
    - pi_pps
    argTypes:
    - uint16_t
    - bool
    - uint8_t**
    - uint8_t*
    - uint8_t**
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 146
    functionName: AVCi_lookup
    functionSourceFile: /src/vlc/modules/demux/mp4/avci.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool AVCi_lookup(uint16_t i_res, bool b_i,\n                               const
      uint8_t **pp_sps, uint8_t *pi_sps,\n                               const uint8_t
      **pp_pps, uint8_t *pi_pps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AVCi_lookup
      Src: /src/vlc/modules/demux/mp4/avci.h:157,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/avci.h:161,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/avci.h:166,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/avci.h:171,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/avci.h:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - i_res
    - b_interlaced
    - pi_avcC
    argTypes:
    - uint16_t
    - bool
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 179
    functionName: AVCi_create_avcC
    functionSourceFile: /src/vlc/modules/demux/mp4/avci.h
    functionUses: 0
    functionsReached:
    - AVCi_lookup
    - memcpy
    - malloc
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * AVCi_create_avcC( uint16_t i_res, bool b_interlaced, int
      *pi_avcC )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AVCi_lookup
      Src: /src/vlc/modules/demux/mp4/avci.h:190,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/avci.h:194,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/avci.h:197,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/avci.h:199,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/avci.h:200,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/avci.h:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - i_res
    - b_interlaced
    - pi_avcC
    argTypes:
    - uint16_t
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 206
    functionName: AVCi_create_AnnexB
    functionSourceFile: /src/vlc/modules/demux/mp4/avci.h
    functionUses: 0
    functionsReached:
    - AVCi_lookup
    - memcpy
    - malloc
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * AVCi_create_AnnexB(uint16_t i_res, bool b_interlaced, size_t
      *pi_avcC)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/coreaudio.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct CoreAudio_layout_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: CoreAudio_Layout_Clean
    functionSourceFile: /src/vlc/modules/demux/mp4/coreaudio.h
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void CoreAudio_Layout_Clean(struct CoreAudio_layout_s *c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mp4/coreaudio.h:291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - c
    - pi_mapping
    - pi_channels
    - pp_chans_order
    argTypes:
    - struct CoreAudio_layout_s*
    - uint16_t*
    - uint8_t*
    - uint32_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 307
    functionName: CoreAudio_Bitmap_to_vlc_bitmap
    functionSourceFile: /src/vlc/modules/demux/mp4/coreaudio.h
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: "int CoreAudio_Bitmap_to_vlc_bitmap( const struct CoreAudio_layout_s
      *c,\n                                                  uint16_t *pi_mapping,\n
      \                                                 uint8_t *pi_channels,\n                                                  const
      uint32_t **pp_chans_order )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CoreAudio_Bitmap_to_vlc_bitmap
      Src: /src/vlc/modules/demux/mp4/coreaudio.h:492,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mp4/coreaudio.h:494,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - c
    - pi_bitmap
    - pi_channels
    - pp_chans_order
    argTypes:
    - struct CoreAudio_layout_s*
    - uint16_t*
    - uint8_t*
    - uint32_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 505
    functionName: CoreAudio_Layout_to_vlc
    functionSourceFile: /src/vlc/modules/demux/mp4/coreaudio.h
    functionUses: 1
    functionsReached:
    - CoreAudio_Bitmap_to_vlc_bitmap
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: "int CoreAudio_Layout_to_vlc( const struct CoreAudio_layout_s *c,\n
      \                                          uint16_t *pi_bitmap,\n                                           uint8_t
      *pi_channels,\n                                           const uint32_t **pp_chans_order
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1857
      start: 1856
    functionDepth: 0
    functionLinenumber: 1856
    functionLinenumberEnd: 1857
    functionName: BOXDATA
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BOXDATA(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1890
    functionDepth: 0
    functionLinenumber: 1890
    functionLinenumberEnd: 1895
    functionName: mp4_box_headersize
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t mp4_box_headersize( MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mp4/libmp4.h:1899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - u1
    - u2
    argTypes:
    - UUID_t*
    - UUID_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1900
      start: 1897
    functionDepth: 0
    functionLinenumber: 1897
    functionLinenumberEnd: 1900
    functionName: CmpUUID
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.h
    functionUses: 1
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int CmpUUID( const UUID_t *u1, const UUID_t *u2 )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/essetup.c:46,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/essetup.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - p_extra
    - i_extra
    - fmt
    argTypes:
    - uint8_t*
    - size_t
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: CopyExtradata
    functionSourceFile: /src/vlc/modules/demux/mp4/essetup.c
    functionUses: 0
    functionsReached:
    - memcpy
    - malloc
    linkageType: ''
    returnType: void
    signature: "void CopyExtradata( const uint8_t *p_extra, size_t i_extra,\n                           es_format_t
      *fmt )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:58,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:58,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/essetup.c:60,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:60,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p_demux
    - p_sample
    argTypes:
    - demux_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: GetSampleType
    functionSourceFile: /src/vlc/modules/demux/mp4/essetup.c
    functionUses: 0
    functionsReached:
    - BOXDATA
    - msg_Warn
    - MP4_BoxGet
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t GetSampleType( demux_t *p_demux, const MP4_Box_t *p_sample
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:71,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:72,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:74,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:78,1
    - Dst: CopyExtradata
      Src: /src/vlc/modules/demux/mp4/essetup.c:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - p_sample
    - p_fmt
    argTypes:
    - MP4_Box_t*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 84
    functionName: SetupGlobalExtensions
    functionSourceFile: /src/vlc/modules/demux/mp4/essetup.c
    functionUses: 0
    functionsReached:
    - CopyExtradata
    - BOXDATA
    - MP4_BoxGet
    linkageType: ''
    returnType: void
    signature: "void SetupGlobalExtensions( const MP4_Box_t *p_sample,\n                                   es_format_t
      *p_fmt )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: MPEG4_get_codec_by_ObjectType
      Src: /src/vlc/modules/demux/mp4/essetup.c:113,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/essetup.c:120,1
    - Dst: CopyExtradata
      Src: /src/vlc/modules/demux/mp4/essetup.c:130,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mp4/essetup.c:137,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mp4/essetup.c:139,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 4
    argNames:
    - p_demux
    - p_track
    - p_decconfig
    - p_fmt
    argTypes:
    - demux_t*
    - mp4_track_t*
    - MP4_descriptor_decoder_config_t*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 143
    functionName: SetupESDS
    functionSourceFile: /src/vlc/modules/demux/mp4/essetup.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - CopyExtradata
    - GetDWBE
    - msg_Warn
    - MPEG4_get_codec_by_ObjectType
    linkageType: ''
    returnType: void
    signature: "void SetupESDS( demux_t *p_demux, const mp4_track_t *p_track,\n                       const
      MP4_descriptor_decoder_config_t *p_decconfig,\n                       es_format_t
      *p_fmt )"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: GetSampleType
      Src: /src/vlc/modules/demux/mp4/essetup.c:149,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:152,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:153,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mp4/essetup.c:155,1
    - Dst: strtok_r
      Src: /src/vlc/modules/demux/mp4/essetup.c:159,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:159,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mp4/essetup.c:162,1
    - Dst: strtok_r
      Src: /src/vlc/modules/demux/mp4/essetup.c:166,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/essetup.c:169,1
    - Dst: strtok_r
      Src: /src/vlc/modules/demux/mp4/essetup.c:170,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/essetup.c:172,1
    - Dst: strtok_r
      Src: /src/vlc/modules/demux/mp4/essetup.c:173,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/essetup.c:175,1
    - Dst: strtok_r
      Src: /src/vlc/modules/demux/mp4/essetup.c:177,1
    - Dst: atoi
      Src: /src/vlc/modules/demux/mp4/essetup.c:184,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/essetup.c:185,1
    - Dst: strtok_r
      Src: /src/vlc/modules/demux/mp4/essetup.c:200,1
    - Dst: strtok_r
      Src: /src/vlc/modules/demux/mp4/essetup.c:207,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/essetup.c:209,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/mp4/essetup.c:211,1
    - Dst: strtok_r
      Src: /src/vlc/modules/demux/mp4/essetup.c:213,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/essetup.c:215,1
    - Dst: strtok_r
      Src: /src/vlc/modules/demux/mp4/essetup.c:216,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/essetup.c:218,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/mp4/essetup.c:222,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/mp4/essetup.c:228,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/mp4/essetup.c:232,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mp4/essetup.c:238,1
    - Dst: strtok_r
      Src: /src/vlc/modules/demux/mp4/essetup.c:243,1
    - Dst: atoi
      Src: /src/vlc/modules/demux/mp4/essetup.c:245,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/essetup.c:246,1
    - Dst: strtok_r
      Src: /src/vlc/modules/demux/mp4/essetup.c:250,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:253,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:254,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:254,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:256,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/essetup.c:260,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:264,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:265,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:269,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:272,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:273,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:274,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/essetup.c:276,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/essetup.c:277,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 84
    argCount: 5
    argNames:
    - p_demux
    - p_track
    - p_sample
    - p_fmt
    - params
    argTypes:
    - demux_t*
    - mp4_track_t*
    - MP4_Box_t*
    - es_format_t*
    - track_config_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 280
    functionName: SetupRTPReceptionHintTrack
    functionSourceFile: /src/vlc/modules/demux/mp4/essetup.c
    functionUses: 0
    functionsReached:
    - strtok_r
    - atoi
    - BOXDATA
    - msg_Err
    - MP4_BoxGet
    - GetSampleType
    - strcmp
    - msg_Dbg
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: "int SetupRTPReceptionHintTrack( demux_t *p_demux, const mp4_track_t
      *p_track,\n                                       const MP4_Box_t *p_sample,
      es_format_t *p_fmt,\n                                       track_config_t *params
      )"
  - BBCount: 128
    BranchProfiles: []
    Callsites:
    - Dst: GetSampleType
      Src: /src/vlc/modules/demux/mp4/essetup.c:292,1
    - Dst: video_format_TransformBy
      Src: /src/vlc/modules/demux/mp4/essetup.c:338,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:343,1
    - Dst: CmpUUID
      Src: /src/vlc/modules/demux/mp4/essetup.c:347,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:366,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:367,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:369,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/essetup.c:381,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:381,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:387,1
    - Dst: CmpUUID
      Src: /src/vlc/modules/demux/mp4/essetup.c:391,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mp4/essetup.c:394,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:402,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:403,1
    - Dst: vlc_viewpoint_from_euler
      Src: /src/vlc/modules/demux/mp4/essetup.c:405,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:406,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:407,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:408,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:411,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:412,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:413,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:415,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:421,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:424,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:427,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:430,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:433,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:436,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/essetup.c:451,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:457,1
    - Dst: SetupRTPReceptionHintTrack
      Src: /src/vlc/modules/demux/mp4/essetup.c:459,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:471,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:472,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:473,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:473,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:474,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:474,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:476,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:477,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:478,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:479,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:483,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:484,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:484,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:485,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:487,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:488,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:491,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:492,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:494,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:497,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:500,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:500,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:501,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:501,1
    - Dst: iso_23001_8_cp_to_vlc_primaries
      Src: /src/vlc/modules/demux/mp4/essetup.c:504,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:504,1
    - Dst: iso_23001_8_tc_to_vlc_xfer
      Src: /src/vlc/modules/demux/mp4/essetup.c:506,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:506,1
    - Dst: iso_23001_8_mc_to_vlc_coeffs
      Src: /src/vlc/modules/demux/mp4/essetup.c:508,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:508,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:509,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:509,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:510,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:517,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:519,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:521,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:522,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:524,1
    - Dst: SetupGlobalExtensions
      Src: /src/vlc/modules/demux/mp4/essetup.c:534,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:538,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:539,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:539,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mp4/essetup.c:541,1
    - Dst: SetupESDS
      Src: /src/vlc/modules/demux/mp4/essetup.c:542,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:542,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:547,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:548,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:549,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:550,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:551,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:552,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:553,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:554,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:555,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:556,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:557,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:558,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:564,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:565,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:566,1
    - Dst: CopyExtradata
      Src: /src/vlc/modules/demux/mp4/essetup.c:568,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:574,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:580,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:586,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:587,1
    - Dst: CopyExtradata
      Src: /src/vlc/modules/demux/mp4/essetup.c:589,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:589,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:590,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:596,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:598,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:599,1
    - Dst: CopyExtradata
      Src: /src/vlc/modules/demux/mp4/essetup.c:601,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:601,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:602,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mp4/essetup.c:607,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:615,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:616,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:618,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:619,1
    - Dst: CopyExtradata
      Src: /src/vlc/modules/demux/mp4/essetup.c:620,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:620,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:621,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:629,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:631,1
    - Dst: CopyExtradata
      Src: /src/vlc/modules/demux/mp4/essetup.c:635,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:644,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mp4/essetup.c:646,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/essetup.c:649,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mp4/essetup.c:650,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/essetup.c:654,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:661,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:662,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:663,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:664,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:666,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:668,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:670,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:671,1
    - Dst: CopyExtradata
      Src: /src/vlc/modules/demux/mp4/essetup.c:672,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:672,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:673,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mp4/essetup.c:678,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:682,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:683,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:684,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:685,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:687,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:690,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:691,1
    - Dst: CopyExtradata
      Src: /src/vlc/modules/demux/mp4/essetup.c:695,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mp4/essetup.c:701,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:710,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:711,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:713,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mp4/essetup.c:736,1
    - Dst: iso_23001_8_cp_to_vlc_primaries
      Src: /src/vlc/modules/demux/mp4/essetup.c:747,1
    - Dst: iso_23001_8_tc_to_vlc_xfer
      Src: /src/vlc/modules/demux/mp4/essetup.c:749,1
    - Dst: iso_23001_8_mc_to_vlc_coeffs
      Src: /src/vlc/modules/demux/mp4/essetup.c:751,1
    - Dst: CopyExtradata
      Src: /src/vlc/modules/demux/mp4/essetup.c:759,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:763,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:765,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:766,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/essetup.c:768,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:769,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/essetup.c:770,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:771,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:772,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:773,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:776,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:778,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:779,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:781,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:782,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:789,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:792,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:794,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:795,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:797,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:799,1
    - Dst: CopyExtradata
      Src: /src/vlc/modules/demux/mp4/essetup.c:803,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:803,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:804,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:813,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:814,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:815,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:816,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:817,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:818,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:819,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:820,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:821,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:822,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:823,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:824,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:827,1
    - Dst: AVCi_create_AnnexB
      Src: /src/vlc/modules/demux/mp4/essetup.c:830,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:831,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:836,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:837,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/essetup.c:841,1
    - Dst: qt_palette_depth_has_default
      Src: /src/vlc/modules/demux/mp4/essetup.c:845,1
    - Dst: qt_make_palette
      Src: /src/vlc/modules/demux/mp4/essetup.c:847,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/essetup.c:853,1
    CyclomaticComplexity: 143
    EdgeCount: 143
    ICount: 358
    argCount: 5
    argNames:
    - p_demux
    - p_track
    - p_sample
    - p_fmt
    - p_cfg
    argTypes:
    - demux_t*
    - mp4_track_t*
    - MP4_Box_t*
    - es_format_t*
    - track_config_t*
    assertStmts:
    - condition: (i_sample_type == ATOM_mp4v)
      pos:
        line_end: 540
        line_start: 540
        source_file: /src/vlc/modules/demux/mp4/essetup.c
    constantsTouched: []
    func_position:
      end: 862
      start: 283
    functionDepth: 3
    functionLinenumber: 283
    functionLinenumberEnd: 862
    functionName: SetupVideoES
    functionSourceFile: /src/vlc/modules/demux/mp4/essetup.c
    functionUses: 0
    functionsReached:
    - assert
    - BOXDATA
    - qt_make_palette
    - CopyExtradata
    - iso_23001_8_tc_to_vlc_xfer
    - memcpy
    - memcmp
    - ARRAY_SIZE
    - iso_23001_8_cp_to_vlc_primaries
    - SetupESDS
    - video_format_TransformBy
    - msg_Err
    - msg_Dbg
    - msg_Warn
    - SetupRTPReceptionHintTrack
    - VLC_FOURCC
    - iso_23001_8_mc_to_vlc_coeffs
    - vlc_viewpoint_from_euler
    - MP4_BoxGet
    - GetDWBE
    - likely
    - qt_palette_depth_has_default
    - CmpUUID
    - AVCi_create_AnnexB
    - SetupGlobalExtensions
    - GetSampleType
    - malloc
    linkageType: ''
    returnType: int
    signature: "int SetupVideoES( demux_t *p_demux, const mp4_track_t *p_track, const
      MP4_Box_t *p_sample,\n                  es_format_t *p_fmt, track_config_t *p_cfg
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:866,1
    - Dst: wf_tag_to_fourcc
      Src: /src/vlc/modules/demux/mp4/essetup.c:868,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:868,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:869,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:870,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:871,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:872,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:873,1
    - Dst: CopyExtradata
      Src: /src/vlc/modules/demux/mp4/essetup.c:874,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:874,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:875,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - p_WMA2
    - p_fmt
    argTypes:
    - MP4_Box_t*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 880
    functionName: SetupAudioFromWaveFormatEx
    functionSourceFile: /src/vlc/modules/demux/mp4/essetup.c
    functionUses: 0
    functionsReached:
    - CopyExtradata
    - BOXDATA
    - wf_tag_to_fourcc
    linkageType: ''
    returnType: bool
    signature: bool SetupAudioFromWaveFormatEx( const MP4_Box_t *p_WMA2, es_format_t
      *p_fmt )
  - BBCount: 80
    BranchProfiles: []
    Callsites:
    - Dst: GetSampleType
      Src: /src/vlc/modules/demux/mp4/essetup.c:890,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:903,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:905,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:910,1
    - Dst: SetupRTPReceptionHintTrack
      Src: /src/vlc/modules/demux/mp4/essetup.c:912,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:919,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:920,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:928,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:929,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:930,1
    - Dst: xiph_PackHeaders
      Src: /src/vlc/modules/demux/mp4/essetup.c:947,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:958,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/essetup.c:962,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/essetup.c:967,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/demux/mp4/essetup.c:968,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/essetup.c:970,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:980,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mp4/essetup.c:982,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/essetup.c:985,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mp4/essetup.c:986,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/essetup.c:990,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/essetup.c:991,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:999,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/essetup.c:1007,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mp4/essetup.c:1008,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/essetup.c:1012,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/essetup.c:1013,1
    - Dst: SetWLE
      Src: /src/vlc/modules/demux/mp4/essetup.c:1015,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mp4/essetup.c:1015,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/demux/mp4/essetup.c:1016,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mp4/essetup.c:1016,1
    - Dst: SetWLE
      Src: /src/vlc/modules/demux/mp4/essetup.c:1017,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mp4/essetup.c:1017,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/essetup.c:1018,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:1034,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:1035,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:1037,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:1050,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:1051,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:1061,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:1063,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:1065,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:1066,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:1067,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:1082,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:1108,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:1114,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:1121,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:1122,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/essetup.c:1139,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:1154,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:1158,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:1159,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:1182,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:1187,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:1192,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:1197,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:1267,1
    - Dst: CoreAudio_Layout_to_vlc
      Src: /src/vlc/modules/demux/mp4/essetup.c:1274,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:1274,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/essetup.c:1278,1
    - Dst: aout_BitsPerSample
      Src: /src/vlc/modules/demux/mp4/essetup.c:1282,1
    - Dst: aout_CheckChannelReorder
      Src: /src/vlc/modules/demux/mp4/essetup.c:1286,1
    - Dst: stdc_count_ones
      Src: /src/vlc/modules/demux/mp4/essetup.c:1294,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:1300,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:1302,1
    - Dst: SetupGlobalExtensions
      Src: /src/vlc/modules/demux/mp4/essetup.c:1304,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:1308,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:1309,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:1310,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:1310,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/essetup.c:1314,1
    - Dst: SetupESDS
      Src: /src/vlc/modules/demux/mp4/essetup.c:1316,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:1316,1
    - Dst: CopyExtradata
      Src: /src/vlc/modules/demux/mp4/essetup.c:1330,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mp4/essetup.c:1336,1
    - Dst: SetupAudioFromWaveFormatEx
      Src: /src/vlc/modules/demux/mp4/essetup.c:1349,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:1349,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:1351,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mp4/essetup.c:1355,1
    - Dst: SetupAudioFromWaveFormatEx
      Src: /src/vlc/modules/demux/mp4/essetup.c:1361,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:1361,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mp4/essetup.c:1362,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/essetup.c:1368,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:1373,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:1374,1
    - Dst: aout_BitsPerSample
      Src: /src/vlc/modules/demux/mp4/essetup.c:1378,1
    CyclomaticComplexity: 100
    EdgeCount: 100
    ICount: 267
    argCount: 5
    argNames:
    - p_demux
    - p_track
    - p_sample
    - p_fmt
    - p_cfg
    argTypes:
    - demux_t*
    - mp4_track_t*
    - MP4_Box_t*
    - es_format_t*
    - track_config_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 882
    functionDepth: 3
    functionLinenumber: 882
    functionLinenumberEnd: 1382
    functionName: SetupAudioES
    functionSourceFile: /src/vlc/modules/demux/mp4/essetup.c
    functionUses: 0
    functionsReached:
    - BOXDATA
    - xiph_PackHeaders
    - CopyExtradata
    - memcpy
    - SetupESDS
    - aout_BitsPerSample
    - msg_Err
    - SetDWLE
    - msg_Dbg
    - msg_Warn
    - SetupRTPReceptionHintTrack
    - VLC_FOURCC
    - stdc_count_ones
    - SetWLE
    - MP4_BoxGet
    - GetDWBE
    - likely
    - SetupAudioFromWaveFormatEx
    - GetWBE
    - CoreAudio_Layout_to_vlc
    - aout_CheckChannelReorder
    - SetupGlobalExtensions
    - GetSampleType
    - SetDWBE
    - malloc
    linkageType: ''
    returnType: int
    signature: "int SetupAudioES( demux_t *p_demux, const mp4_track_t *p_track,\n
      \                 const MP4_Box_t *p_sample, es_format_t *p_fmt,\n                  track_config_t
      *p_cfg )"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GetSampleType
      Src: /src/vlc/modules/demux/mp4/essetup.c:1388,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:1393,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:1408,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:1409,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/essetup.c:1415,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mp4/essetup.c:1420,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mp4/essetup.c:1424,1
    - Dst: _
      Src: /src/vlc/modules/demux/mp4/essetup.c:1424,1
    - Dst: CopyExtradata
      Src: /src/vlc/modules/demux/mp4/essetup.c:1427,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mp4/essetup.c:1431,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mp4/essetup.c:1433,1
    - Dst: SetupGlobalExtensions
      Src: /src/vlc/modules/demux/mp4/essetup.c:1442,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/essetup.c:1446,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:1447,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:1447,1
    - Dst: SetupESDS
      Src: /src/vlc/modules/demux/mp4/essetup.c:1449,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/essetup.c:1449,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 5
    argNames:
    - p_demux
    - p_track
    - p_sample
    - p_fmt
    - p_cfg
    argTypes:
    - demux_t*
    - mp4_track_t*
    - MP4_Box_t*
    - es_format_t*
    - track_config_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1384
    functionDepth: 2
    functionLinenumber: 1384
    functionLinenumberEnd: 1453
    functionName: SetupSpuES
    functionSourceFile: /src/vlc/modules/demux/mp4/essetup.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - strdup
    - BOXDATA
    - SetupESDS
    - CopyExtradata
    - _
    - SetupGlobalExtensions
    - MP4_BoxGet
    - GetSampleType
    - GetDWBE
    linkageType: ''
    returnType: int
    signature: "int SetupSpuES( demux_t *p_demux, const mp4_track_t *p_track,\n                const
      MP4_Box_t *p_sample, es_format_t *p_fmt,\n                track_config_t *p_cfg
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/fragments.c:31,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/fragments.c:32,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/fragments.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_index
    argTypes:
    - mp4_fragments_index_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: MP4_Fragments_Index_Delete
    functionSourceFile: /src/vlc/modules/demux/mp4/fragments.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_Fragments_Index_Delete( mp4_fragments_index_t *p_index )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/fragments.c:41,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/mp4/fragments.c:44,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/mp4/fragments.c:45,1
    - Dst: MP4_Fragments_Index_Delete
      Src: /src/vlc/modules/demux/mp4/fragments.c:48,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - i_tracks
    - i_num
    argTypes:
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 56
    functionName: MP4_Fragments_Index_New
    functionSourceFile: /src/vlc/modules/demux/mp4/fragments.c
    functionUses: 0
    functionsReached:
    - calloc
    - malloc
    - MP4_Fragments_Index_Delete
    linkageType: ''
    returnType: mp4_fragments_index_t
    signature: mp4_fragments_index_t * MP4_Fragments_Index_New( unsigned i_tracks,
      unsigned i_num )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - p_index
    - i_track_index
    - i_moof_pos
    argTypes:
    - mp4_fragments_index_t*
    - unsigned
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: MP4_Fragment_Index_GetTrackStartTime
    functionSourceFile: /src/vlc/modules/demux/mp4/fragments.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: stime_t
    signature: "stime_t MP4_Fragment_Index_GetTrackStartTime( mp4_fragments_index_t
      *p_index,\n                                              unsigned i_track_index,
      uint64_t i_moof_pos )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_index
    argTypes:
    - mp4_fragments_index_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: MP4_Fragment_Index_GetTracksDuration
    functionSourceFile: /src/vlc/modules/demux/mp4/fragments.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: stime_t
    signature: stime_t MP4_Fragment_Index_GetTracksDuration( const mp4_fragments_index_t
      *p_index )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - p_index
    - pi_time
    - pi_pos
    - i_track_index
    argTypes:
    - mp4_fragments_index_t*
    - stime_t*
    - uint64_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 94
    functionName: MP4_Fragments_Index_Lookup
    functionSourceFile: /src/vlc/modules/demux/mp4/fragments.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool MP4_Fragments_Index_Lookup( mp4_fragments_index_t *p_index, stime_t
      *pi_time,\n                                 uint64_t *pi_pos, unsigned i_track_index
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: INT64_C
      Src: /src/vlc/modules/demux/mp4/fragments.c:99,1
    - Dst: INT64_C
      Src: /src/vlc/modules/demux/mp4/fragments.c:102,1
    - Dst: INT64_C
      Src: /src/vlc/modules/demux/mp4/fragments.c:103,1
    - Dst: INT64_C
      Src: /src/vlc/modules/demux/mp4/fragments.c:108,1
    - Dst: INT64_C
      Src: /src/vlc/modules/demux/mp4/fragments.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - time
    - i_movie_timescale
    argTypes:
    - stime_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 109
    functionName: movietime_to_ms
    functionSourceFile: /src/vlc/modules/demux/mp4/fragments.c
    functionUses: 0
    functionsReached:
    - INT64_C
    linkageType: ''
    returnType: int64_t
    signature: int64_t movietime_to_ms(stime_t time, uint32_t i_movie_timescale)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/vlc/modules/demux/mp4/fragments.c:127,1
    - Dst: movietime_to_ms
      Src: /src/vlc/modules/demux/mp4/fragments.c:129,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/fragments.c:131,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/fragments.c:136,1
    - Dst: movietime_to_ms
      Src: /src/vlc/modules/demux/mp4/fragments.c:138,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/fragments.c:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - p_obj
    - p_index
    - i_movie_timescale
    argTypes:
    - vlc_object_t*
    - mp4_fragments_index_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 142
    functionName: MP4_Fragments_Index_Dump
    functionSourceFile: /src/vlc/modules/demux/mp4/fragments.c
    functionUses: 0
    functionsReached:
    - movietime_to_ms
    - asprintf
    - free
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: "void MP4_Fragments_Index_Dump( vlc_object_t *p_obj, const mp4_fragments_index_t
      *p_index,\n                               uint32_t i_movie_timescale )"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - depth
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 338
    functionName: qt_get_default_palette
    functionSourceFile: /src/vlc/modules/demux/mp4/qt_palette.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * qt_get_default_palette(uint8_t depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - srcpal
    - colors
    - palette
    argTypes:
    - uint8_t*
    - unsigned
    - video_palette_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 350
    functionName: qt_upload_palette
    functionSourceFile: /src/vlc/modules/demux/mp4/qt_palette.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void qt_upload_palette(const uint8_t *srcpal, unsigned colors,\n                              video_palette_t
      *palette)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qt_get_default_palette
      Src: /src/vlc/modules/demux/mp4/qt_palette.h:354,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/qt_palette.h:357,1
    - Dst: qt_upload_palette
      Src: /src/vlc/modules/demux/mp4/qt_palette.h:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - depth
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 361
    functionName: qt_make_palette
    functionSourceFile: /src/vlc/modules/demux/mp4/qt_palette.h
    functionUses: 1
    functionsReached:
    - qt_get_default_palette
    - qt_upload_palette
    - malloc
    linkageType: ''
    returnType: video_palette_t
    signature: video_palette_t * qt_make_palette(uint8_t depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - depth
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 364
    functionName: qt_palette_depth_has_default
    functionSourceFile: /src/vlc/modules/demux/mp4/qt_palette.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: qt_palette_depth_has_default(depth)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FromCharset
      Src: /src/vlc/modules/demux/mp4/meta.c:154,1
    - Dst: FromCharset
      Src: /src/vlc/modules/demux/mp4/meta.c:157,1
    - Dst: FromCharset
      Src: /src/vlc/modules/demux/mp4/meta.c:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - p_data
    argTypes:
    - MP4_Box_data_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 163
    functionName: StringConvert
    functionSourceFile: /src/vlc/modules/demux/mp4/meta.c
    functionUses: 0
    functionsReached:
    - FromCharset
    linkageType: ''
    returnType: char
    signature: char * StringConvert( const MP4_Box_data_data_t *p_data )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: StringConvert
      Src: /src/vlc/modules/demux/mp4/meta.c:168,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/meta.c:170,1
    - Dst: StringConvert
      Src: /src/vlc/modules/demux/mp4/meta.c:172,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:172,1
    - Dst: strndup
      Src: /src/vlc/modules/demux/mp4/meta.c:175,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mp4/meta.c:177,1
    - Dst: EnsureUTF8
      Src: /src/vlc/modules/demux/mp4/meta.c:178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 183
    functionName: ExtractString
    functionSourceFile: /src/vlc/modules/demux/mp4/meta.c
    functionUses: 0
    functionsReached:
    - strndup
    - BOXDATA
    - MP4_BoxGet
    - EnsureUTF8
    - likely
    - StringConvert
    linkageType: ''
    returnType: char
    signature: char * ExtractString( const MP4_Box_t *p_box )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mp4/meta.c:192,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/mp4/meta.c:194,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mp4/meta.c:199,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/mp4/meta.c:201,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - name
    - meta_type
    - meta_key
    argTypes:
    - char*
    - vlc_meta_type_t**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 206
    functionName: AppleNameToMeta
    functionSourceFile: /src/vlc/modules/demux/mp4/meta.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ARRAY_SIZE
    linkageType: ''
    returnType: bool
    signature: "bool AppleNameToMeta( char const* name,\n    vlc_meta_type_t const**
      meta_type, char const** meta_key )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mp4/meta.c:214,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mp4/meta.c:218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - i_type
    - meta_type
    - meta_key
    argTypes:
    - uint32_t
    - vlc_meta_type_t**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 223
    functionName: AtomXA9ToMeta
    functionSourceFile: /src/vlc/modules/demux/mp4/meta.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: bool
    signature: "bool AtomXA9ToMeta( uint32_t i_type,\n    vlc_meta_type_t const**
      meta_type, char const** meta_key )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AppleNameToMeta
      Src: /src/vlc/modules/demux/mp4/meta.c:232,1
    - Dst: AtomXA9ToMeta
      Src: /src/vlc/modules/demux/mp4/meta.c:237,1
    - Dst: ExtractString
      Src: /src/vlc/modules/demux/mp4/meta.c:241,1
    - Dst: vlc_meta_Set
      Src: /src/vlc/modules/demux/mp4/meta.c:245,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/demux/mp4/meta.c:246,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/meta.c:248,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - p_meta
    - i_type
    - name
    - p_box
    argTypes:
    - vlc_meta_t*
    - int
    - char*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 252
    functionName: SetMeta
    functionSourceFile: /src/vlc/modules/demux/mp4/meta.c
    functionUses: 6
    functionsReached:
    - vlc_meta_Set
    - AtomXA9ToMeta
    - ExtractString
    - free
    - AppleNameToMeta
    - vlc_meta_SetExtra
    linkageType: ''
    returnType: bool
    signature: bool SetMeta( vlc_meta_t* p_meta, int i_type, char const* name, const
      MP4_Box_t* p_box )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/meta.c:256,1
    - Dst: AtomXA9ToMeta
      Src: /src/vlc/modules/demux/mp4/meta.c:262,1
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/demux/mp4/meta.c:273,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/meta.c:275,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mp4/meta.c:283,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mp4/meta.c:284,1
    - Dst: decodeQtLanguageCode
      Src: /src/vlc/modules/demux/mp4/meta.c:293,1
    - Dst: strcpy
      Src: /src/vlc/modules/demux/mp4/meta.c:297,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mp4/meta.c:297,1
    - Dst: FromCharset
      Src: /src/vlc/modules/demux/mp4/meta.c:301,1
    - Dst: vlc_meta_Set
      Src: /src/vlc/modules/demux/mp4/meta.c:306,1
    - Dst: vlc_meta_TypeToLocalizedString
      Src: /src/vlc/modules/demux/mp4/meta.c:308,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/mp4/meta.c:314,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/demux/mp4/meta.c:316,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/meta.c:317,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/meta.c:320,1
    - Dst: vlc_meta_Merge
      Src: /src/vlc/modules/demux/mp4/meta.c:328,1
    - Dst: vlc_meta_Delete
      Src: /src/vlc/modules/demux/mp4/meta.c:330,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 2
    argNames:
    - p_meta
    - p_box
    argTypes:
    - vlc_meta_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 332
    functionName: ExtractIntlStrings
    functionSourceFile: /src/vlc/modules/demux/mp4/meta.c
    functionUses: 0
    functionsReached:
    - GetWBE
    - vlc_meta_Set
    - asprintf
    - vlc_meta_TypeToLocalizedString
    - AtomXA9ToMeta
    - decodeQtLanguageCode
    - vlc_meta_Delete
    - vlc_meta_New
    - vlc_meta_Merge
    - MP4_BoxGet
    - free
    - strcpy
    - FromCharset
    - unlikely
    - memcmp
    - vlc_meta_SetExtra
    linkageType: ''
    returnType: int
    signature: int ExtractIntlStrings( vlc_meta_t *p_meta, const MP4_Box_t *p_box
      )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/demux/mp4/meta.c:341,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/mp4/meta.c:342,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/meta.c:343,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/meta.c:344,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/meta.c:345,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:348,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/mp4/meta.c:352,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/mp4/meta.c:357,1
    - Dst: strndup
      Src: /src/vlc/modules/demux/mp4/meta.c:360,1
    - Dst: pf_callback
      Src: /src/vlc/modules/demux/mp4/meta.c:363,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/meta.c:364,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 10
    argCount: 4
    argNames:
    - p_box
    - psz_ns
    - psz_key
    - p_priv
    argTypes:
    - MP4_Box_t*
    - char*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 365
    functionName: ParseTriplet
    functionSourceFile: /src/vlc/modules/demux/mp4/meta.c
    functionUses: 0
    functionsReached:
    - strndup
    - pf_callback
    - BOXDATA
    - strlen
    - MP4_BoxGet
    - strncmp
    - free
    linkageType: ''
    returnType: void
    signature: "void ParseTriplet( const MP4_Box_t *p_box,\n                          const
      char *psz_ns,\n                          const char *psz_key,\n                          void
      (*pf_callback)(const char *psz_key,\n                                              const
      MP4_Box_data_data_t *, void *),\n                          void *p_priv )"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/demux/mp4/meta.c:379,1
    - Dst: StringConvert
      Src: /src/vlc/modules/demux/mp4/meta.c:382,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/mp4/meta.c:383,1
    - Dst: struct itunprivcallbackctx*::ituncb
      Src: /src/vlc/modules/demux/mp4/meta.c:386,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/meta.c:387,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/mp4/meta.c:389,1
    - Dst: StringConvert
      Src: /src/vlc/modules/demux/mp4/meta.c:392,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/mp4/meta.c:394,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/mp4/meta.c:398,1
    - Dst: log10
      Src: /src/vlc/modules/demux/mp4/meta.c:400,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/mp4/meta.c:402,1
    - Dst: struct itunprivcallbackctx*::ituncb
      Src: /src/vlc/modules/demux/mp4/meta.c:406,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/meta.c:408,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/mp4/meta.c:410,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/mp4/meta.c:420,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mp4/meta.c:421,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/mp4/meta.c:422,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mp4/meta.c:423,1
    - Dst: struct itunprivcallbackctx*::ituncb
      Src: /src/vlc/modules/demux/mp4/meta.c:426,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/mp4/meta.c:428,1
    - Dst: StringConvert
      Src: /src/vlc/modules/demux/mp4/meta.c:430,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/demux/mp4/meta.c:432,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/meta.c:433,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 3
    argNames:
    - psz_key
    - p_data
    - priv
    argTypes:
    - char*
    - MP4_Box_data_data_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 374
    functionDepth: 2
    functionLinenumber: 374
    functionLinenumberEnd: 435
    functionName: iTUNTripletCallback
    functionSourceFile: /src/vlc/modules/demux/mp4/meta.c
    functionUses: 0
    functionsReached:
    - sscanf
    - strncasecmp
    - log10
    - struct itunprivcallbackctx*::ituncb
    - free
    - strcmp
    - __MAX
    - strncmp
    - GetDWBE
    - StringConvert
    - vlc_meta_SetExtra
    linkageType: ''
    returnType: void
    signature: "void iTUNTripletCallback( const char *psz_key,\n                                 const
      MP4_Box_data_data_t *p_data, void *priv )"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/meta.c:439,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:441,1
    - Dst: ExtractIntlStrings
      Src: /src/vlc/modules/demux/mp4/meta.c:443,1
    - Dst: SetMeta
      Src: /src/vlc/modules/demux/mp4/meta.c:446,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:455,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:456,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/mp4/meta.c:459,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mp4/meta.c:460,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:460,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/demux/mp4/meta.c:461,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:467,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:468,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/mp4/meta.c:471,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mp4/meta.c:472,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:472,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/demux/mp4/meta.c:473,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:479,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:480,1
    - Dst: vlc_meta_SetCompilation
      Src: /src/vlc/modules/demux/mp4/meta.c:482,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:483,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:489,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:490,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/mp4/meta.c:493,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mp4/meta.c:493,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:493,1
    - Dst: vlc_meta_Set
      Src: /src/vlc/modules/demux/mp4/meta.c:494,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/mp4/meta.c:495,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mp4/meta.c:495,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:495,1
    - Dst: vlc_meta_Set
      Src: /src/vlc/modules/demux/mp4/meta.c:496,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:502,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:503,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mp4/meta.c:505,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:505,1
    - Dst: vlc_meta_SetGenre
      Src: /src/vlc/modules/demux/mp4/meta.c:507,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:513,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:516,1
    - Dst: N_
      Src: /src/vlc/modules/demux/mp4/meta.c:519,1
    - Dst: N_
      Src: /src/vlc/modules/demux/mp4/meta.c:522,1
    - Dst: N_
      Src: /src/vlc/modules/demux/mp4/meta.c:526,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/demux/mp4/meta.c:529,1
    - Dst: N_
      Src: /src/vlc/modules/demux/mp4/meta.c:529,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:535,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:536,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/mp4/meta.c:539,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mp4/meta.c:539,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:539,1
    - Dst: vlc_meta_SetTrackNum
      Src: /src/vlc/modules/demux/mp4/meta.c:540,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:541,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mp4/meta.c:541,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:541,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/mp4/meta.c:543,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mp4/meta.c:543,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:543,1
    - Dst: vlc_meta_Set
      Src: /src/vlc/modules/demux/mp4/meta.c:544,1
    - Dst: ParseTriplet
      Src: /src/vlc/modules/demux/mp4/meta.c:550,1
    - Dst: SetMeta
      Src: /src/vlc/modules/demux/mp4/meta.c:553,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 80
    argCount: 3
    argNames:
    - p_meta
    - p_box
    - priv
    argTypes:
    - vlc_meta_t*
    - MP4_Box_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 437
    functionDepth: 4
    functionLinenumber: 437
    functionLinenumberEnd: 556
    functionName: SetupmdirMeta
    functionSourceFile: /src/vlc/modules/demux/mp4/meta.c
    functionUses: 0
    functionsReached:
    - SetMeta
    - GetWBE
    - vlc_meta_Set
    - BOXDATA
    - ParseTriplet
    - ExtractIntlStrings
    - vlc_meta_SetCompilation
    - N_
    - MP4_BoxGet
    - GetDWBE
    - vlc_meta_SetTrackNum
    - snprintf
    - vlc_meta_SetGenre
    - vlc_meta_SetExtra
    linkageType: ''
    returnType: void
    signature: void SetupmdirMeta( vlc_meta_t *p_meta, const MP4_Box_t *p_box, void
      *priv )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:560,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:560,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:562,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:565,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:566,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/mp4/meta.c:570,1
    - Dst: SetMeta
      Src: /src/vlc/modules/demux/mp4/meta.c:571,1
    - Dst: ExtractString
      Src: /src/vlc/modules/demux/mp4/meta.c:576,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/mp4/meta.c:579,1
    - Dst: SetMeta
      Src: /src/vlc/modules/demux/mp4/meta.c:581,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/meta.c:582,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/meta.c:585,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - p_meta
    - p_box
    - p_keys
    argTypes:
    - vlc_meta_t*
    - MP4_Box_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 558
    functionDepth: 4
    functionLinenumber: 558
    functionLinenumberEnd: 588
    functionName: SetupmdtaMeta
    functionSourceFile: /src/vlc/modules/demux/mp4/meta.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - SetMeta
    - BOXDATA
    - strlen
    - ExtractString
    - strncmp
    - free
    linkageType: ''
    returnType: void
    signature: void SetupmdtaMeta( vlc_meta_t *p_meta, const MP4_Box_t *p_box, const
      MP4_Box_t *p_keys )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ID3HandleTag
      Src: /src/vlc/modules/demux/mp4/meta.c:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - i_tag
    - p_payload
    - i_payload
    - p_priv
    argTypes:
    - uint32_t
    - uint8_t*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 590
    functionDepth: 5
    functionLinenumber: 590
    functionLinenumberEnd: 598
    functionName: ID3TAG_Parse_Handler
    functionSourceFile: /src/vlc/modules/demux/mp4/meta.c
    functionUses: 0
    functionsReached:
    - ID3HandleTag
    linkageType: ''
    returnType: int
    signature: "int ID3TAG_Parse_Handler( uint32_t i_tag, const uint8_t *p_payload,\n
      \                                size_t i_payload, void *p_priv )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/meta.c:602,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:603,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:603,1
    - Dst: ID3TAG_Parse
      Src: /src/vlc/modules/demux/mp4/meta.c:607,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:607,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/meta.c:607,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - p_meta
    - p_box
    argTypes:
    - vlc_meta_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 600
    functionDepth: 3
    functionLinenumber: 600
    functionLinenumberEnd: 609
    functionName: SetupID3v2Meta
    functionSourceFile: /src/vlc/modules/demux/mp4/meta.c
    functionUses: 0
    functionsReached:
    - ID3TAG_Parse
    - BOXDATA
    - MP4_BoxGet
    linkageType: ''
    returnType: void
    signature: void SetupID3v2Meta( vlc_meta_t *p_meta, const MP4_Box_t *p_box )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/meta.c:624,1
    - Dst: SetupmdtaMeta
      Src: /src/vlc/modules/demux/mp4/meta.c:625,1
    - Dst: SetupID3v2Meta
      Src: /src/vlc/modules/demux/mp4/meta.c:630,1
    - Dst: SetupmdirMeta
      Src: /src/vlc/modules/demux/mp4/meta.c:637,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - p_meta
    - p_udta
    - ituncb
    - priv
    argTypes:
    - vlc_meta_t*
    - MP4_Box_t*
    - qt_itunes_callback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 611
    functionDepth: 5
    functionLinenumber: 611
    functionLinenumberEnd: 642
    functionName: SetupMeta
    functionSourceFile: /src/vlc/modules/demux/mp4/meta.c
    functionUses: 0
    functionsReached:
    - SetupmdirMeta
    - SetupmdtaMeta
    - SetupID3v2Meta
    - MP4_BoxGet
    linkageType: ''
    returnType: void
    signature: "void SetupMeta( vlc_meta_t *p_meta, const MP4_Box_t *p_udta,\n                qt_itunes_callback
      ituncb, void *priv )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: DemuxRef
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DemuxRef( demux_t *p_demux )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - i_value
    - i_timescale
    - i_newscale
    argTypes:
    - int64_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: MP4_rescale
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t MP4_rescale( int64_t i_value, uint32_t i_timescale, uint32_t
      i_newscale )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_rescale
      Src: /src/vlc/modules/demux/mp4/mp4.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i_value
    - i_timescale
    argTypes:
    - int64_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: MP4_rescale_mtime
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - MP4_rescale
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t MP4_rescale_mtime( int64_t i_value, uint32_t i_timescale
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_rescale
      Src: /src/vlc/modules/demux/mp4/mp4.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i_value
    - i_timescale
    argTypes:
    - vlc_tick_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: MP4_rescale_qtime
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - MP4_rescale
    linkageType: ''
    returnType: int64_t
    signature: int64_t MP4_rescale_qtime( vlc_tick_t i_value, uint32_t i_timescale
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/mp4/mp4.c:262,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/mp4/mp4.c:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - s
    - p_read
    - i_toread
    argTypes:
    - stream_t*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 270
    functionName: stream_ReadU32
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Read
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t stream_ReadU32( stream_t *s, void *p_read, uint32_t i_toread
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/mp4.c:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - i_reftype
    argTypes:
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: MP4_reftypeToFlag
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    linkageType: ''
    returnType: int
    signature: int MP4_reftypeToFlag( vlc_fourcc_t i_reftype )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tk
    argTypes:
    - mp4_track_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 288
    functionName: MP4_isMetadata
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MP4_isMetadata( const mp4_track_t *tk )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:294,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:298,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:298,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - p_moov
    - i_id
    argTypes:
    - MP4_Box_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 304
    functionName: MP4_GetTrexByTrackID
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - BOXDATA
    - MP4_BoxGet
    linkageType: ''
    returnType: MP4_Box_t
    signature: MP4_Box_t * MP4_GetTrexByTrackID( MP4_Box_t *p_moov, const uint32_t
      i_id )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - p_demux
    - tid
    argTypes:
    - demux_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 321
    functionName: MP4_GetTrackByTrackID
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mp4_track_t
    signature: mp4_track_t *MP4_GetTrackByTrackID( demux_t *p_demux, const uint32_t
      tid )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:325,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:330,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:330,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:331,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - p_moov
    - i_id
    argTypes:
    - MP4_Box_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 337
    functionName: MP4_GetTrakByTrackID
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - BOXDATA
    - MP4_BoxGet
    linkageType: ''
    returnType: MP4_Box_t
    signature: MP4_Box_t * MP4_GetTrakByTrackID( MP4_Box_t *p_moov, const uint32_t
      i_id )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:341,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:346,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:346,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:347,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - p_moof
    - i_id
    argTypes:
    - MP4_Box_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 353
    functionName: MP4_GetTrafByTrackID
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - BOXDATA
    - MP4_BoxGet
    linkageType: ''
    returnType: MP4_Box_t
    signature: MP4_Box_t * MP4_GetTrafByTrackID( MP4_Box_t *p_moof, const uint32_t
      i_id )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:358,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:361,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - p_node
    - i_grouping_type
    argTypes:
    - MP4_Box_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 368
    functionName: MP4_GroupDescriptionByType
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - BOXDATA
    - MP4_BoxGet
    linkageType: ''
    returnType: MP4_Box_t
    signature: "MP4_Box_t * MP4_GroupDescriptionByType( const MP4_Box_t *p_node,\n
      \                                                    uint32_t i_grouping_type
      )"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:384,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:391,1
    - Dst: MP4_GroupDescriptionByType
      Src: /src/vlc/modules/demux/mp4/mp4.c:442,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:445,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 44
    argCount: 7
    argNames:
    - p_node
    - i_sample
    - i_grouping_type
    - i_grouping_type_parameter
    - pi_group_sample
    - match
    - pp_descentry
    argTypes:
    - MP4_Box_t*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t*
    - enum SampleGroupMatch
    - MP4_Box_data_sgpd_entry_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 467
    functionName: MP4_SampleToGroupInfo
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - MP4_GroupDescriptionByType
    - BOXDATA
    - MP4_BoxGet
    linkageType: ''
    returnType: MP4_Box_data_sbgp_entry_t
    signature: "MP4_Box_data_sbgp_entry_t *\n    MP4_SampleToGroupInfo( const MP4_Box_t
      *p_node, uint32_t i_sample,\n                           uint32_t i_grouping_type,\n
      \                          uint32_t i_grouping_type_parameter,\n                           uint32_t
      *pi_group_sample,\n                           enum SampleGroupMatch match,\n
      \                          const MP4_Box_data_sgpd_entry_t **pp_descentry )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/mp4/mp4.c:471,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mp4/mp4.c:474,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - out
    - p_fmt
    argTypes:
    - es_out_t*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 477
    functionName: MP4_CreateES
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - es_out_Control
    - es_out_Add
    linkageType: ''
    returnType: es_out_id_t
    signature: es_out_id_t * MP4_CreateES( es_out_t *out, const es_format_t *p_fmt
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/demux/mp4/mp4.c:486,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/mp4.c:487,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - entries
    - smallbuf
    - dst0
    - dst1
    argTypes:
    - size_t
    - uint32_t*
    - uint32_t**
    - uint32_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 496
    functionName: MP4_ChunkAllocEntries
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - calloc
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int MP4_ChunkAllocEntries( size_t entries, uint32_t *smallbuf,\n                                  uint32_t
      **dst0, uint32_t **dst1 )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/mp4.c:501,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/mp4.c:503,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ck
    argTypes:
    - mp4_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 504
    functionName: MP4_ChunkDestroy
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_ChunkDestroy( mp4_chunk_t *ck )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mp4_track_t*::BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:510,1
    - Dst: mp4_track_t*::BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:514,1
    - Dst: MP4_rescale
      Src: /src/vlc/modules/demux/mp4/mp4.c:521,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - p_track
    - i_movie_timescale
    - i_time
    argTypes:
    - mp4_track_t*
    - uint32_t
    - stime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 528
    functionName: MP4_MapTrackTimeIntoTimeline
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - MP4_rescale
    - mp4_track_t*::BOXDATA
    linkageType: ''
    returnType: stime_t
    signature: "stime_t MP4_MapTrackTimeIntoTimeline( const mp4_track_t *p_track,\n
      \                                            uint32_t i_movie_timescale,\n                                             stime_t
      i_time )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mp4_track_t*::BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:534,1
    - Dst: mp4_track_t*::BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:537,1
    - Dst: MP4_rescale
      Src: /src/vlc/modules/demux/mp4/mp4.c:539,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - p_track
    - i_movie_timescale
    - i_time
    argTypes:
    - mp4_track_t*
    - uint32_t
    - stime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 550
    functionName: MP4_MapMediaTimelineToTrackTime
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - MP4_rescale
    - mp4_track_t*::BOXDATA
    linkageType: ''
    returnType: stime_t
    signature: "stime_t MP4_MapMediaTimelineToTrackTime( const mp4_track_t *p_track,\n
      \                                               uint32_t i_movie_timescale,\n
      \                                               stime_t i_time )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - p_chunk
    - i_sample
    argTypes:
    - mp4_chunk_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 572
    functionName: MP4_ChunkGetSampleDTS
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: stime_t
    signature: "stime_t MP4_ChunkGetSampleDTS( const mp4_chunk_t *p_chunk,\n                                      uint32_t
      i_sample )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - p_chunk
    - i_sample
    - pi_delta
    argTypes:
    - mp4_chunk_t*
    - uint32_t
    - stime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 590
    functionName: MP4_ChunkGetSampleCTSDelta
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool MP4_ChunkGetSampleCTSDelta( const mp4_chunk_t *p_chunk,\n                                        uint32_t
      i_sample, stime_t *pi_delta )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MP4_MapTrackTimeIntoTimeline
      Src: /src/vlc/modules/demux/mp4/mp4.c:601,1
    - Dst: MP4_rescale_mtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:603,1
    - Dst: MP4_rescale_mtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:609,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - p_demux
    - p_track
    - pi_nzpts
    argTypes:
    - demux_t*
    - mp4_track_t*
    - vlc_tick_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 592
    functionDepth: 2
    functionLinenumber: 592
    functionLinenumberEnd: 626
    functionName: MP4_TrackGetDTSPTS
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - MP4_rescale_mtime
    - MP4_MapTrackTimeIntoTimeline
    linkageType: ''
    returnType: vlc_tick_t
    signature: "vlc_tick_t MP4_TrackGetDTSPTS( demux_t *p_demux, const mp4_track_t
      *p_track,\n                                      vlc_tick_t *pi_nzpts )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - p_chunk
    - i_start_sample
    - i_nb_samples
    argTypes:
    - mp4_chunk_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 671
    functionName: MP4_GetChunkSamplesDuration
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: stime_t
    signature: "stime_t MP4_GetChunkSamplesDuration( const mp4_chunk_t *p_chunk,\n
      \                                           uint32_t i_start_sample,\n                                            uint32_t
      i_nb_samples )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_GetChunkSamplesDuration
      Src: /src/vlc/modules/demux/mp4/mp4.c:676,1
    - Dst: MP4_rescale_mtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_track
    - i_nb_samples
    argTypes:
    - mp4_track_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 673
    functionDepth: 2
    functionLinenumber: 673
    functionLinenumberEnd: 680
    functionName: MP4_GetSamplesDuration
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - MP4_GetChunkSamplesDuration
    - MP4_rescale_mtime
    linkageType: ''
    returnType: vlc_tick_t
    signature: "vlc_tick_t MP4_GetSamplesDuration( const mp4_track_t *p_track,\n                                                 uint32_t
      i_nb_samples )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - demux_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 685
    functionName: MP4_GetMoviePTS
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t MP4_GetMoviePTS(demux_sys_t *p_sys )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxGetRoot
      Src: /src/vlc/modules/demux/mp4/mp4.c:694,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:695,1
    - Dst: MP4_BoxFree
      Src: /src/vlc/modules/demux/mp4/mp4.c:697,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:706,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 708
    functionName: LoadInitFrag
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - msg_Warn
    - MP4_BoxFree
    - MP4_BoxGet
    - MP4_BoxGetRoot
    linkageType: ''
    returnType: int
    signature: int LoadInitFrag( demux_t *p_demux )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mp4/mp4.c:717,1
    - Dst: MP4_TrackInit
      Src: /src/vlc/modules/demux/mp4/mp4.c:724,1
    - Dst: MP4_BoxGetVa
      Src: /src/vlc/modules/demux/mp4/mp4.c:725,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - p_demux
    - i_tracks
    argTypes:
    - demux_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 729
    functionName: CreateTracks
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - MP4_BoxGetVa
    - MP4_TrackInit
    - vlc_alloc
    linkageType: ''
    returnType: int
    signature: int CreateTracks( demux_t *p_demux, unsigned i_tracks )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mp4/mp4.c:737,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mp4/mp4.c:740,1
    - Dst: cc_Init
      Src: /src/vlc/modules/demux/mp4/mp4.c:748,1
    - Dst: cc_Extract
      Src: /src/vlc/modules/demux/mp4/mp4.c:749,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/mp4.c:750,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - p_block
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 755
    functionName: MP4_CDP_Convert
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - cc_Init
    - memcpy
    - GetDWBE
    - cc_Extract
    - memcmp
    linkageType: ''
    returnType: block_t
    signature: block_t * MP4_CDP_Convert( block_t *p_block )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/mp4/mp4.c:762,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mp4/mp4.c:767,1
    - Dst: MP4_CDP_Convert
      Src: /src/vlc/modules/demux/mp4/mp4.c:768,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mp4/mp4.c:770,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mp4/mp4.c:775,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mp4/mp4.c:787,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mp4/mp4.c:792,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/mp4/mp4.c:797,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/mp4.c:798,1
    - Dst: CC_PKT_BYTE0
      Src: /src/vlc/modules/demux/mp4/mp4.c:804,1
    - Dst: CC_PKT_BYTE0
      Src: /src/vlc/modules/demux/mp4/mp4.c:811,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mp4/mp4.c:820,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 1
    argNames:
    - p_block
    argTypes:
    - block_t*
    assertStmts:
    - condition: (p_block->i_buffer <= SSIZE_MAX)
      pos:
        line_end: 761
        line_start: 761
        source_file: /src/vlc/modules/demux/mp4/mp4.c
    constantsTouched: []
    func_position:
      end: 822
      start: 757
    functionDepth: 2
    functionLinenumber: 757
    functionLinenumberEnd: 822
    functionName: MP4_EIA608_Convert
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - block_Release
    - assert
    - MP4_CDP_Convert
    - CC_PKT_BYTE0
    - block_Alloc
    - GetDWBE
    - unlikely
    - memcmp
    linkageType: ''
    returnType: block_t
    signature: block_t * MP4_EIA608_Convert( block_t * p_block )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_track
    argTypes:
    - mp4_track_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 829
    functionName: MP4_TrackGetRunSeq
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MP4_TrackGetRunSeq( mp4_track_t *p_track )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: MP4_rescale_mtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:877,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 33
    argCount: 3
    argNames:
    - p_demux
    - pi_max_contiguous
    - pb_flat
    argTypes:
    - demux_t*
    - vlc_tick_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 833
    functionDepth: 2
    functionLinenumber: 833
    functionLinenumberEnd: 895
    functionName: MP4_GetInterleaving
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - MP4_rescale_mtime
    linkageType: ''
    returnType: void
    signature: void MP4_GetInterleaving( demux_t *p_demux, vlc_tick_t *pi_max_contiguous,
      bool *pb_flat )
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: MP4_EIA608_Convert
      Src: /src/vlc/modules/demux/mp4/mp4.c:914,1
    - Dst: AV1_Unpack_Sample
      Src: /src/vlc/modules/demux/mp4/mp4.c:923,1
    - Dst: MP4_RTPHint_Convert
      Src: /src/vlc/modules/demux/mp4/mp4.c:927,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mp4/mp4.c:935,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - p_demux
    - p_track
    - p_block
    argTypes:
    - demux_t*
    - mp4_track_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 897
    functionDepth: 5
    functionLinenumber: 897
    functionLinenumberEnd: 943
    functionName: MP4_Block_Convert
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - MP4_EIA608_Convert
    - block_Release
    - MP4_RTPHint_Convert
    - AV1_Unpack_Sample
    linkageType: ''
    returnType: block_t
    signature: block_t * MP4_Block_Convert( demux_t *p_demux, const mp4_track_t *p_track,
      block_t *p_block )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MP4_Block_Convert
      Src: /src/vlc/modules/demux/mp4/mp4.c:949,1
    - Dst: aout_ChannelReorder
      Src: /src/vlc/modules/demux/mp4/mp4.c:955,1
    - Dst: vlc_stream_MemoryNew
      Src: /src/vlc/modules/demux/mp4/mp4.c:971,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mp4/mp4.c:980,1
    - Dst: DemuxASFPacket
      Src: /src/vlc/modules/demux/mp4/mp4.c:981,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mp4/mp4.c:985,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mp4/mp4.c:986,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/mp4/mp4.c:987,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mp4/mp4.c:989,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/mp4/mp4.c:992,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - p_demux
    - p_track
    - p_block
    argTypes:
    - demux_t*
    - mp4_track_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 945
    functionDepth: 6
    functionLinenumber: 945
    functionLinenumberEnd: 993
    functionName: MP4_Block_Send
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - block_Release
    - MP4_Block_Convert
    - es_out_Send
    - DemuxASFPacket
    - aout_ChannelReorder
    - vlc_stream_Delete
    - vlc_stream_MemoryNew
    - vlc_stream_Tell
    linkageType: ''
    returnType: void
    signature: void MP4_Block_Send( demux_t *p_demux, mp4_track_t *p_track, block_t
      *p_block )
  - BBCount: 90
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mp4/mp4.c:1015,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/mp4.c:1017,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/mp4.c:1028,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/mp4.c:1033,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/mp4/mp4.c:1055,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/mp4/mp4.c:1060,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/mp4/mp4.c:1062,1
    - Dst: LoadInitFrag
      Src: /src/vlc/modules/demux/mp4/mp4.c:1075,1
    - Dst: MP4_BoxDumpStructure
      Src: /src/vlc/modules/demux/mp4/mp4.c:1078,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mp4/mp4.c:1078,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:1080,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:1082,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:1085,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:1087,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:1093,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:1094,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:1097,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:1101,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:1104,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:1107,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/mp4/mp4.c:1108,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:1112,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:1114,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:1118,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:1120,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:1122,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:1124,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:1126,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:1132,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:1136,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/mp4.c:1137,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:1139,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mp4/mp4.c:1142,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:1149,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:1150,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:1150,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:1151,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:1153,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:1156,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:1160,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:1164,1
    - Dst: MP4_BoxCount
      Src: /src/vlc/modules/demux/mp4/mp4.c:1167,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:1170,1
    - Dst: input_item_node_Create
      Src: /src/vlc/modules/demux/mp4/mp4.c:1174,1
    - Dst: MP4_BoxGetVa
      Src: /src/vlc/modules/demux/mp4/mp4.c:1178,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:1182,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mp4/mp4.c:1182,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:1182,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:1186,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:1188,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/mp4.c:1191,1
    - Dst: strstr
      Src: /src/vlc/modules/demux/mp4/mp4.c:1193,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:1195,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/mp4.c:1196,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/mp4/mp4.c:1199,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/mp4/mp4.c:1200,1
    - Dst: vlc_uri_resolve
      Src: /src/vlc/modules/demux/mp4/mp4.c:1206,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/mp4.c:1208,1
    - Dst: input_item_node_Delete
      Src: /src/vlc/modules/demux/mp4/mp4.c:1211,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:1216,1
    - Dst: input_item_New
      Src: /src/vlc/modules/demux/mp4/mp4.c:1217,1
    - Dst: input_item_node_AppendItem
      Src: /src/vlc/modules/demux/mp4/mp4.c:1218,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/demux/mp4/mp4.c:1219,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mp4/mp4.c:1223,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:1224,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/mp4.c:1226,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mp4/mp4.c:1230,1
    - Dst: input_item_node_Delete
      Src: /src/vlc/modules/demux/mp4/mp4.c:1231,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:1234,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mp4/mp4.c:1238,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:1243,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:1250,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mp4/mp4.c:1253,1
    - Dst: MP4_BoxCount
      Src: /src/vlc/modules/demux/mp4/mp4.c:1258,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mp4/mp4.c:1261,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:1264,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:1269,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:1270,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:1272,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:1277,1
    - Dst: CreateTracks
      Src: /src/vlc/modules/demux/mp4/mp4.c:1285,1
    - Dst: MP4_BoxGetVa
      Src: /src/vlc/modules/demux/mp4/mp4.c:1293,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:1296,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:1297,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:1297,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:1301,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/mp4.c:1308,1
    - Dst: MP4_GetTrackByTrackID
      Src: /src/vlc/modules/demux/mp4/mp4.c:1314,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:1317,1
    - Dst: MP4_reftypeToFlag
      Src: /src/vlc/modules/demux/mp4/mp4.c:1319,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:1323,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:1324,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:1325,1
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/demux/mp4/mp4.c:1337,1
    - Dst: MP4_LoadMeta
      Src: /src/vlc/modules/demux/mp4/mp4.c:1338,1
    - Dst: MP4_BoxGetVa
      Src: /src/vlc/modules/demux/mp4/mp4.c:1343,1
    - Dst: MP4_TrackSetup
      Src: /src/vlc/modules/demux/mp4/mp4.c:1344,1
    - Dst: MP4_isMetadata
      Src: /src/vlc/modules/demux/mp4/mp4.c:1347,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:1367,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:1375,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:1382,1
    - Dst: MP4_rescale_mtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:1388,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:1403,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:1406,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:1407,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:1409,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:1412,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:1416,1
    - Dst: ProbeFragments
      Src: /src/vlc/modules/demux/mp4/mp4.c:1426,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/mp4/mp4.c:1429,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:1443,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:1448,1
    - Dst: MP4_GetInterleaving
      Src: /src/vlc/modules/demux/mp4/mp4.c:1456,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:1458,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:1460,1
    - Dst: LoadChapter
      Src: /src/vlc/modules/demux/mp4/mp4.c:1464,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mp4/mp4.c:1484,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/mp4/mp4.c:1486,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:1487,1
    - Dst: Close
      Src: /src/vlc/modules/demux/mp4/mp4.c:1490,1
    CyclomaticComplexity: 112
    EdgeCount: 112
    ICount: 307
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1001
    functionDepth: 3
    functionLinenumber: 1001
    functionLinenumberEnd: 1493
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 37
    functionsReached:
    - vlc_uri_resolve
    - BOXDATA
    - input_item_node_Delete
    - ProbeFragments
    - vlc_stream_Control
    - MP4_TrackSetup
    - input_item_New
    - vlc_meta_New
    - msg_Err
    - calloc
    - MP4_BoxCount
    - msg_Dbg
    - strstr
    - MP4_rescale_mtime
    - msg_Warn
    - VLC_FOURCC
    - strdup
    - input_item_Release
    - MP4_isMetadata
    - LoadInitFrag
    - var_InheritBool
    - CreateTracks
    - MP4_BoxGet
    - strncmp
    - LoadChapter
    - MP4_GetTrackByTrackID
    - vlc_stream_Seek
    - MP4_BoxDumpStructure
    - input_item_node_AppendItem
    - vlc_stream_Tell
    - Close
    - input_item_node_Create
    - vlc_stream_Peek
    - es_out_Control
    - MP4_reftypeToFlag
    - MP4_BoxGetVa
    - free
    - MP4_LoadMeta
    - VLC_OBJECT
    - unlikely
    - MP4_GetInterleaving
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t * p_this )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mp4/mp4.c:1510,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mp4/mp4.c:1511,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mp4/mp4.c:1527,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mp4/mp4.c:1528,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mp4/mp4.c:1529,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mp4/mp4.c:1530,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mp4/mp4.c:1531,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mp4/mp4.c:1543,1
    - Dst: ckd_add
      Src: /src/vlc/modules/demux/mp4/mp4.c:1549,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mp4/mp4.c:1552,1
    - Dst: ckd_add
      Src: /src/vlc/modules/demux/mp4/mp4.c:1557,1
    - Dst: ckd_add
      Src: /src/vlc/modules/demux/mp4/mp4.c:1558,1
    - Dst: block_TryRealloc
      Src: /src/vlc/modules/demux/mp4/mp4.c:1564,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/mp4/mp4.c:1565,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mp4/mp4.c:1576,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/mp4.c:1587,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mp4/mp4.c:1593,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mp4/mp4.c:1599,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mp4/mp4.c:1601,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 3
    argNames:
    - p_demux
    - p_block
    - packetcount
    argTypes:
    - demux_t*
    - block_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1603
      start: 1502
    functionDepth: 1
    functionLinenumber: 1502
    functionLinenumberEnd: 1603
    functionName: MP4_RTPHintToFrame
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - ckd_add
    - GetWBE
    - block_Release
    - memcpy
    - msg_Err
    - block_Alloc
    - block_TryRealloc
    - GetDWBE
    - memcmp
    linkageType: ''
    returnType: block_t
    signature: block_t * MP4_RTPHintToFrame( demux_t *p_demux, block_t *p_block, uint32_t
      packetcount )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mp4/mp4.c:1611,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mp4/mp4.c:1616,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mp4/mp4.c:1628,1
    - Dst: MP4_RTPHintToFrame
      Src: /src/vlc/modules/demux/mp4/mp4.c:1633,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - p_demux
    - p_block
    - i_codec
    argTypes:
    - demux_t*
    - block_t*
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1637
      start: 1606
    functionDepth: 2
    functionLinenumber: 1606
    functionLinenumberEnd: 1637
    functionName: MP4_RTPHint_Convert
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 1
    functionsReached:
    - GetWBE
    - block_Release
    - MP4_RTPHintToFrame
    linkageType: ''
    returnType: block_t
    signature: block_t * MP4_RTPHint_Convert( demux_t *p_demux, block_t *p_block,
      vlc_fourcc_t i_codec )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mp4/mp4.c:1649,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - p_demux
    - tk
    - i_readpos
    - i_samplessize
    argTypes:
    - demux_t*
    - mp4_track_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1639
    functionDepth: 1
    functionLinenumber: 1639
    functionLinenumberEnd: 1658
    functionName: OverflowCheck
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - msg_Err
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t OverflowCheck( demux_t *p_demux, mp4_track_t *tk,\n                               uint64_t
      i_readpos, uint64_t i_samplessize )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: MP4_TrackGetRunSeq
      Src: /src/vlc/modules/demux/mp4/mp4.c:1678,1
    - Dst: MP4_TrackGetDTSPTS
      Src: /src/vlc/modules/demux/mp4/mp4.c:1680,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:1691,1
    - Dst: MP4_TrackGetDTSPTS
      Src: /src/vlc/modules/demux/mp4/mp4.c:1692,1
    - Dst: MP4_GetMoviePTS
      Src: /src/vlc/modules/demux/mp4/mp4.c:1693,1
    - Dst: MP4_TrackGetReadSize
      Src: /src/vlc/modules/demux/mp4/mp4.c:1696,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mp4/mp4.c:1701,1
    - Dst: MP4_Seek
      Src: /src/vlc/modules/demux/mp4/mp4.c:1703,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:1705,1
    - Dst: MP4_TrackSelect
      Src: /src/vlc/modules/demux/mp4/mp4.c:1708,1
    - Dst: OverflowCheck
      Src: /src/vlc/modules/demux/mp4/mp4.c:1713,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/mp4/mp4.c:1716,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:1718,1
    - Dst: MP4_TrackSelect
      Src: /src/vlc/modules/demux/mp4/mp4.c:1721,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/mp4/mp4.c:1728,1
    - Dst: MP4_GetSamplesDuration
      Src: /src/vlc/modules/demux/mp4/mp4.c:1739,1
    - Dst: MP4_Block_Send
      Src: /src/vlc/modules/demux/mp4/mp4.c:1741,1
    - Dst: MP4_TrackNextSample
      Src: /src/vlc/modules/demux/mp4/mp4.c:1746,1
    - Dst: MP4_TrackGetRunSeq
      Src: /src/vlc/modules/demux/mp4/mp4.c:1749,1
    - Dst: MP4_TrackGetDTSPTS
      Src: /src/vlc/modules/demux/mp4/mp4.c:1753,1
    - Dst: MP4_TrackGetPos
      Src: /src/vlc/modules/demux/mp4/mp4.c:1754,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 4
    argNames:
    - p_demux
    - tk
    - i_readpos
    - i_max_preload
    argTypes:
    - demux_t*
    - mp4_track_t*
    - uint64_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1761
      start: 1665
    functionDepth: 7
    functionLinenumber: 1665
    functionLinenumberEnd: 1761
    functionName: DemuxTrack
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - MP4_Block_Send
    - MP4_TrackGetDTSPTS
    - OverflowCheck
    - MP4_GetSamplesDuration
    - MP4_TrackGetReadSize
    - vlc_stream_Block
    - MP4_Seek
    - msg_Dbg
    - MP4_TrackGetRunSeq
    - msg_Warn
    - MP4_TrackGetPos
    - MP4_TrackNextSample
    - vlc_stream_Tell
    - MP4_TrackSelect
    - MP4_GetMoviePTS
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: "int DemuxTrack( demux_t *p_demux, mp4_track_t *tk, uint64_t i_readpos,\n
      \                      vlc_tick_t i_max_preload )"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: MP4_isMetadata
      Src: /src/vlc/modules/demux/mp4/mp4.c:1774,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mp4/mp4.c:1781,1
    - Dst: MP4_TrackSelect
      Src: /src/vlc/modules/demux/mp4/mp4.c:1785,1
    - Dst: MP4_TrackSeek
      Src: /src/vlc/modules/demux/mp4/mp4.c:1789,1
    - Dst: MP4_GetMoviePTS
      Src: /src/vlc/modules/demux/mp4/mp4.c:1789,1
    - Dst: MP4_GetMoviePTS
      Src: /src/vlc/modules/demux/mp4/mp4.c:1793,1
    - Dst: MP4_isMetadata
      Src: /src/vlc/modules/demux/mp4/mp4.c:1802,1
    - Dst: MP4_TrackGetDTSPTS
      Src: /src/vlc/modules/demux/mp4/mp4.c:1805,1
    - Dst: MP4_isMetadata
      Src: /src/vlc/modules/demux/mp4/mp4.c:1824,1
    - Dst: MP4_TrackGetDTSPTS
      Src: /src/vlc/modules/demux/mp4/mp4.c:1832,1
    - Dst: MP4_TrackGetPos
      Src: /src/vlc/modules/demux/mp4/mp4.c:1835,1
    - Dst: MP4_TrackGetPos
      Src: /src/vlc/modules/demux/mp4/mp4.c:1835,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/mp4/mp4.c:1838,1
    - Dst: MP4_isMetadata
      Src: /src/vlc/modules/demux/mp4/mp4.c:1850,1
    - Dst: MP4_TrackGetDTSPTS
      Src: /src/vlc/modules/demux/mp4/mp4.c:1855,1
    - Dst: MP4_TrackGetPos
      Src: /src/vlc/modules/demux/mp4/mp4.c:1859,1
    - Dst: MP4_TrackGetPos
      Src: /src/vlc/modules/demux/mp4/mp4.c:1859,1
    - Dst: MP4_TrackGetPos
      Src: /src/vlc/modules/demux/mp4/mp4.c:1865,1
    - Dst: DemuxTrack
      Src: /src/vlc/modules/demux/mp4/mp4.c:1866,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/mp4/mp4.c:1875,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/mp4/mp4.c:1886,1
    - Dst: MP4_UpdateSeekpoint
      Src: /src/vlc/modules/demux/mp4/mp4.c:1890,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 61
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1893
      start: 1763
    functionDepth: 8
    functionLinenumber: 1763
    functionLinenumberEnd: 1893
    functionName: DemuxMoov
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - MP4_TrackGetDTSPTS
    - es_out_Control
    - MP4_TrackSeek
    - DemuxTrack
    - MP4_isMetadata
    - __MIN
    - MP4_UpdateSeekpoint
    - MP4_TrackGetPos
    - MP4_TrackSelect
    - MP4_GetMoviePTS
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int DemuxMoov( demux_t *p_demux )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/mp4/mp4.c:1899,1
    - Dst: DemuxMoov
      Src: /src/vlc/modules/demux/mp4/mp4.c:1901,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts:
    - condition: ( ! p_sys->b_fragmented )
      pos:
        line_end: 1898
        line_start: 1898
        source_file: /src/vlc/modules/demux/mp4/mp4.c
    constantsTouched: []
    func_position:
      end: 1907
      start: 1895
    functionDepth: 9
    functionLinenumber: 1895
    functionLinenumberEnd: 1907
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 21
    functionsReached:
    - DemuxMoov
    - assert
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - p_demux
    - i_time
    argTypes:
    - demux_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1927
      start: 1909
    functionDepth: 0
    functionLinenumber: 1909
    functionLinenumberEnd: 1927
    functionName: MP4_UpdateSeekpoint
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MP4_UpdateSeekpoint( demux_t *p_demux, vlc_tick_t i_time )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MP4_isMetadata
      Src: /src/vlc/modules/demux/mp4/mp4.c:1943,1
    - Dst: MP4_TrackSeek
      Src: /src/vlc/modules/demux/mp4/mp4.c:1945,1
    - Dst: MP4_TrackGetDTSPTS
      Src: /src/vlc/modules/demux/mp4/mp4.c:1947,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:1953,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/demux/mp4/mp4.c:1954,1
    - Dst: MP4_TrackSeek
      Src: /src/vlc/modules/demux/mp4/mp4.c:1963,1
    - Dst: MP4_UpdateSeekpoint
      Src: /src/vlc/modules/demux/mp4/mp4.c:1966,1
    - Dst: MP4ASF_ResetFrames
      Src: /src/vlc/modules/demux/mp4/mp4.c:1967,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mp4/mp4.c:1973,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 3
    argNames:
    - p_demux
    - i_date
    - b_accurate
    argTypes:
    - demux_t*
    - vlc_tick_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1976
      start: 1931
    functionDepth: 3
    functionLinenumber: 1931
    functionLinenumberEnd: 1976
    functionName: Seek
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 124
    functionsReached:
    - MS_FROM_VLC_TICK
    - MP4_TrackGetDTSPTS
    - es_out_Control
    - MP4_TrackSeek
    - MP4ASF_ResetFrames
    - MP4_isMetadata
    - msg_Dbg
    - MP4_UpdateSeekpoint
    linkageType: ''
    returnType: int
    signature: int Seek( demux_t *p_demux, vlc_tick_t i_date, bool b_accurate )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FragCreateTrunIndex
      Src: /src/vlc/modules/demux/mp4/mp4.c:1989,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - p_demux
    - p_moof
    - p_sidx
    - i_moof_time
    - b_discontinuity
    argTypes:
    - demux_t*
    - MP4_Box_t*
    - MP4_Box_t*
    - stime_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2006
      start: 1978
    functionDepth: 1
    functionLinenumber: 1978
    functionLinenumberEnd: 2006
    functionName: FragPrepareChunk
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - FragCreateTrunIndex
    linkageType: ''
    returnType: int
    signature: "int FragPrepareChunk( demux_t *p_demux, MP4_Box_t *p_moof,\n                             MP4_Box_t
      *p_sidx, stime_t i_moof_time, bool b_discontinuity )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP4_rescale_mtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:2015,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/mp4/mp4.c:2017,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - demux_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2020
      start: 2008
    functionDepth: 2
    functionLinenumber: 2008
    functionLinenumberEnd: 2020
    functionName: FragGetDemuxTimeFromTracksTime
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - MP4_rescale_mtime
    - __MIN
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t FragGetDemuxTimeFromTracksTime( demux_sys_t *p_sys )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:2024,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:2025,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:2026,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - p_moof
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2028
      start: 2022
    functionDepth: 1
    functionLinenumber: 2022
    functionLinenumberEnd: 2028
    functionName: FragGetMoofSequenceNumber
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - BOXDATA
    - MP4_BoxGet
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t FragGetMoofSequenceNumber( MP4_Box_t *p_moof )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mp4/mp4.c:2042,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/mp4.c:2045,1
    - Dst: MP4_BoxGetNextChunk
      Src: /src/vlc/modules/demux/mp4/mp4.c:2048,1
    - Dst: MP4_BoxExtract
      Src: /src/vlc/modules/demux/mp4/mp4.c:2051,1
    - Dst: MP4_BoxFree
      Src: /src/vlc/modules/demux/mp4/mp4.c:2052,1
    - Dst: FragResetContext
      Src: /src/vlc/modules/demux/mp4/mp4.c:2058,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:2064,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - p_demux
    - i_moox
    argTypes:
    - demux_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2066
      start: 2030
    functionDepth: 1
    functionLinenumber: 2030
    functionLinenumberEnd: 2066
    functionName: FragSeekLoadFragment
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - vlc_stream_Peek
    - MP4_BoxGetNextChunk
    - MP4_BoxFree
    - FragResetContext
    - MP4_BoxExtract
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int FragSeekLoadFragment( demux_t *p_demux, uint32_t i_moox )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - demux_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2068
    functionDepth: 0
    functionLinenumber: 2068
    functionLinenumberEnd: 2081
    functionName: GetSeekTrackIndex
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned GetSeekTrackIndex( demux_sys_t *p_sys )
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - p_track
    - i_target_time
    argTypes:
    - mp4_track_t*
    - stime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2129
      start: 2083
    functionDepth: 0
    functionLinenumber: 2083
    functionLinenumberEnd: 2129
    functionName: FragTrunSeekToTime
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FragTrunSeekToTime( mp4_track_t *p_track, stime_t i_target_time
      )
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: __MAX
      Src: /src/vlc/modules/demux/mp4/mp4.c:2141,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mp4/mp4.c:2145,1
    - Dst: ProbeIndex
      Src: /src/vlc/modules/demux/mp4/mp4.c:2149,1
    - Dst: GetSeekTrackIndex
      Src: /src/vlc/modules/demux/mp4/mp4.c:2153,1
    - Dst: MP4_rescale_qtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:2156,1
    - Dst: GetMoovTrackDuration
      Src: /src/vlc/modules/demux/mp4/mp4.c:2157,1
    - Dst: FragGetMoofBySidxIndex
      Src: /src/vlc/modules/demux/mp4/mp4.c:2162,1
    - Dst: MP4_rescale_qtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:2165,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:2166,1
    - Dst: FragGetMoofByTfraIndex
      Src: /src/vlc/modules/demux/mp4/mp4.c:2170,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:2173,1
    - Dst: ProbeFragmentsChecked
      Src: /src/vlc/modules/demux/mp4/mp4.c:2177,1
    - Dst: MP4_rescale_qtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:2184,1
    - Dst: MP4_Fragments_Index_Lookup
      Src: /src/vlc/modules/demux/mp4/mp4.c:2185,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/mp4/mp4.c:2187,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:2190,1
    - Dst: MP4_rescale_mtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:2191,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:2197,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/mp4/mp4.c:2198,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:2202,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/mp4/mp4.c:2203,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mp4/mp4.c:2205,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/mp4/mp4.c:2206,1
    - Dst: FragSeekLoadFragment
      Src: /src/vlc/modules/demux/mp4/mp4.c:2211,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/mp4/mp4.c:2213,1
    - Dst: FragPrepareChunk
      Src: /src/vlc/modules/demux/mp4/mp4.c:2219,1
    - Dst: FragGetMoofSequenceNumber
      Src: /src/vlc/modules/demux/mp4/mp4.c:2220,1
    - Dst: FragGetDemuxTimeFromTracksTime
      Src: /src/vlc/modules/demux/mp4/mp4.c:2222,1
    - Dst: MP4_TrackSeek
      Src: /src/vlc/modules/demux/mp4/mp4.c:2235,1
    - Dst: MP4_rescale_qtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:2240,1
    - Dst: FragTrunSeekToTime
      Src: /src/vlc/modules/demux/mp4/mp4.c:2241,1
    - Dst: MP4ASF_ResetFrames
      Src: /src/vlc/modules/demux/mp4/mp4.c:2246,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mp4/mp4.c:2249,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 66
    argCount: 3
    argNames:
    - p_demux
    - i_nztime
    - b_accurate
    argTypes:
    - demux_t*
    - vlc_tick_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2251
      start: 2133
    functionDepth: 3
    functionLinenumber: 2133
    functionLinenumberEnd: 2251
    functionName: FragSeekToTime
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - FragGetMoofByTfraIndex
    - GetMoovTrackDuration
    - FragPrepareChunk
    - FragGetMoofBySidxIndex
    - MP4ASF_ResetFrames
    - msg_Err
    - __MAX
    - msg_Dbg
    - MP4_rescale_mtime
    - msg_Warn
    - FragGetDemuxTimeFromTracksTime
    - GetSeekTrackIndex
    - MP4_Fragments_Index_Lookup
    - FragGetMoofSequenceNumber
    - vlc_stream_Seek
    - vlc_stream_Tell
    - FragSeekLoadFragment
    - es_out_Control
    - MP4_TrackSeek
    - MP4_rescale_qtime
    - ProbeFragmentsChecked
    - FragTrunSeekToTime
    - ProbeIndex
    linkageType: ''
    returnType: int
    signature: int FragSeekToTime( demux_t *p_demux, vlc_tick_t i_nztime, bool b_accurate
      )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: __MAX
      Src: /src/vlc/modules/demux/mp4/mp4.c:2260,1
    - Dst: ProbeFragmentsChecked
      Src: /src/vlc/modules/demux/mp4/mp4.c:2263,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/mp4/mp4.c:2266,1
    - Dst: FragSeekToTime
      Src: /src/vlc/modules/demux/mp4/mp4.c:2272,1
    - Dst: MP4_rescale_mtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:2273,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - p_demux
    - f
    - b_accurate
    argTypes:
    - demux_t*
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2274
      start: 2253
    functionDepth: 4
    functionLinenumber: 2253
    functionLinenumberEnd: 2274
    functionName: FragSeekToPos
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - ProbeFragmentsChecked
    - __MAX
    - FragSeekToTime
    - MP4_rescale_mtime
    linkageType: ''
    returnType: int
    signature: int FragSeekToPos( demux_t *p_demux, double f, bool b_accurate )
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - data
    - priv
    argTypes:
    - struct qt_itunes_triplet_data*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2292
      start: 2276
    functionDepth: 0
    functionLinenumber: 2276
    functionLinenumberEnd: 2292
    functionName: ItunMetaCallback
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ItunMetaCallback( const struct qt_itunes_triplet_data *data, void
      *priv )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP4_GetMetaRoot
      Src: /src/vlc/modules/demux/mp4/mp4.c:2300,1
    - Dst: MP4_GetCoverMetaURI
      Src: /src/vlc/modules/demux/mp4/mp4.c:2302,1
    - Dst: SetupMeta
      Src: /src/vlc/modules/demux/mp4/mp4.c:2305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - p_sys
    - p_meta
    argTypes:
    - demux_sys_t*
    - vlc_meta_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2308
      start: 2294
    functionDepth: 6
    functionLinenumber: 2294
    functionLinenumberEnd: 2308
    functionName: MP4_LoadMeta
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 1
    functionsReached:
    - MP4_GetMetaRoot
    - MP4_GetCoverMetaURI
    - SetupMeta
    linkageType: ''
    returnType: int
    signature: int MP4_LoadMeta( demux_sys_t *p_sys, vlc_meta_t *p_meta )
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: __MAX
      Src: /src/vlc/modules/demux/mp4/mp4.c:2321,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mp4/mp4.c:2326,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mp4/mp4.c:2330,1
    - Dst: MP4_rescale_mtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:2334,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mp4/mp4.c:2343,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mp4/mp4.c:2347,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mp4/mp4.c:2348,1
    - Dst: FragSeekToPos
      Src: /src/vlc/modules/demux/mp4/mp4.c:2350,1
    - Dst: MP4_rescale_mtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:2353,1
    - Dst: Seek
      Src: /src/vlc/modules/demux/mp4/mp4.c:2355,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mp4/mp4.c:2360,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mp4/mp4.c:2365,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mp4/mp4.c:2366,1
    - Dst: FragSeekToTime
      Src: /src/vlc/modules/demux/mp4/mp4.c:2368,1
    - Dst: Seek
      Src: /src/vlc/modules/demux/mp4/mp4.c:2370,1
    - Dst: MP4_rescale_mtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:2375,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mp4/mp4.c:2378,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mp4/mp4.c:2382,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mp4/mp4.c:2388,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mp4/mp4.c:2389,1
    - Dst: MP4_GetAttachments
      Src: /src/vlc/modules/demux/mp4/mp4.c:2392,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/mp4/mp4.c:2395,1
    - Dst: vlc_input_attachment_Hold
      Src: /src/vlc/modules/demux/mp4/mp4.c:2400,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:2401,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mp4/mp4.c:2410,1
    - Dst: vlc_meta_Merge
      Src: /src/vlc/modules/demux/mp4/mp4.c:2415,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mp4/mp4.c:2422,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mp4/mp4.c:2423,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mp4/mp4.c:2424,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mp4/mp4.c:2425,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/mp4.c:2431,1
    - Dst: vlc_input_title_Duplicate
      Src: /src/vlc/modules/demux/mp4/mp4.c:2435,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/mp4.c:2438,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mp4/mp4.c:2448,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mp4/mp4.c:2455,1
    - Dst: Seek
      Src: /src/vlc/modules/demux/mp4/mp4.c:2458,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mp4/mp4.c:2462,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:2479,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:2480,1
    - Dst: MP4_rescale_mtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:2483,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:2483,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/mp4/mp4.c:2488,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/mp4/mp4.c:2501,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 123
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2506
      start: 2313
    functionDepth: 5
    functionLinenumber: 2313
    functionLinenumberEnd: 2506
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 155
    functionsReached:
    - demux_vaControlHelper
    - BOXDATA
    - FragSeekToPos
    - vlc_input_title_Duplicate
    - Seek
    - FragSeekToTime
    - vlc_meta_Merge
    - MP4_BoxGet
    - calloc
    - __MAX
    - va_arg
    - vlc_input_attachment_Hold
    - MP4_rescale_mtime
    - MP4_GetAttachments
    - msg_Dbg
    - free
    - malloc
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:2517,1
    - Dst: FragResetContext
      Src: /src/vlc/modules/demux/mp4/mp4.c:2519,1
    - Dst: MP4_BoxFree
      Src: /src/vlc/modules/demux/mp4/mp4.c:2521,1
    - Dst: vlc_input_title_Delete
      Src: /src/vlc/modules/demux/mp4/mp4.c:2524,1
    - Dst: vlc_meta_Delete
      Src: /src/vlc/modules/demux/mp4/mp4.c:2527,1
    - Dst: MP4_Fragments_Index_Delete
      Src: /src/vlc/modules/demux/mp4/mp4.c:2529,1
    - Dst: MP4_TrackClean
      Src: /src/vlc/modules/demux/mp4/mp4.c:2532,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/mp4.c:2533,1
    - Dst: vlc_input_attachment_Release
      Src: /src/vlc/modules/demux/mp4/mp4.c:2536,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/mp4.c:2537,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/mp4.c:2539,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2540
      start: 2511
    functionDepth: 1
    functionLinenumber: 2511
    functionLinenumberEnd: 2540
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 127
    functionsReached:
    - vlc_meta_Delete
    - vlc_input_title_Delete
    - MP4_TrackClean
    - vlc_input_attachment_Release
    - FragResetContext
    - MP4_BoxFree
    - free
    - msg_Dbg
    - MP4_Fragments_Index_Delete
    linkageType: ''
    returnType: void
    signature: void Close ( vlc_object_t * p_this )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:2552,1
    - Dst: vlc_input_title_New
      Src: /src/vlc/modules/demux/mp4/mp4.c:2555,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:2559,1
    - Dst: vlc_seekpoint_New
      Src: /src/vlc/modules/demux/mp4/mp4.c:2561,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mp4/mp4.c:2564,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:2564,1
    - Dst: vlc_seekpoint_Delete
      Src: /src/vlc/modules/demux/mp4/mp4.c:2567,1
    - Dst: EnsureUTF8
      Src: /src/vlc/modules/demux/mp4/mp4.c:2571,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:2572,1
    - Dst: VLC_TICK_FROM_MSFTIME
      Src: /src/vlc/modules/demux/mp4/mp4.c:2573,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/demux/mp4/mp4.c:2574,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - p_demux
    - p_chpl
    argTypes:
    - demux_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2576
      start: 2548
    functionDepth: 1
    functionLinenumber: 2548
    functionLinenumberEnd: 2576
    functionName: LoadChapterGpac
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - strdup
    - BOXDATA
    - vlc_seekpoint_Delete
    - TAB_APPEND
    - vlc_seekpoint_New
    - EnsureUTF8
    - vlc_input_title_New
    - VLC_TICK_FROM_MSFTIME
    linkageType: ''
    returnType: void
    signature: void LoadChapterGpac( demux_t  *p_demux, MP4_Box_t *p_chpl )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_input_title_New
      Src: /src/vlc/modules/demux/mp4/mp4.c:2581,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:2583,1
    - Dst: vlc_seekpoint_New
      Src: /src/vlc/modules/demux/mp4/mp4.c:2585,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/mp4/mp4.c:2589,1
    - Dst: vlc_seekpoint_Delete
      Src: /src/vlc/modules/demux/mp4/mp4.c:2592,1
    - Dst: EnsureUTF8
      Src: /src/vlc/modules/demux/mp4/mp4.c:2596,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/mp4/mp4.c:2598,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:2598,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/demux/mp4/mp4.c:2599,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - p_demux
    - p_hmmt
    argTypes:
    - demux_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2601
      start: 2577
    functionDepth: 2
    functionLinenumber: 2577
    functionLinenumberEnd: 2601
    functionName: LoadChapterGoPro
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - asprintf
    - BOXDATA
    - vlc_seekpoint_Delete
    - TAB_APPEND
    - vlc_seekpoint_New
    - VLC_TICK_FROM_MS
    - EnsureUTF8
    - vlc_input_title_New
    linkageType: ''
    returnType: void
    signature: void LoadChapterGoPro( demux_t *p_demux, MP4_Box_t *p_hmmt )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TrackUpdateSampleAndTimes
      Src: /src/vlc/modules/demux/mp4/mp4.c:2611,1
    - Dst: MP4_TrackGetDTSPTS
      Src: /src/vlc/modules/demux/mp4/mp4.c:2614,1
    - Dst: MP4_TrackGetReadSize
      Src: /src/vlc/modules/demux/mp4/mp4.c:2616,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/mp4/mp4.c:2621,1
    - Dst: MP4_TrackGetPos
      Src: /src/vlc/modules/demux/mp4/mp4.c:2621,1
    - Dst: stream_ReadU32
      Src: /src/vlc/modules/demux/mp4/mp4.c:2624,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/mp4/mp4.c:2625,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/mp4/mp4.c:2628,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mp4/mp4.c:2628,1
    - Dst: vlc_seekpoint_New
      Src: /src/vlc/modules/demux/mp4/mp4.c:2631,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mp4/mp4.c:2634,1
    - Dst: FromCharset
      Src: /src/vlc/modules/demux/mp4/mp4.c:2635,1
    - Dst: strndup
      Src: /src/vlc/modules/demux/mp4/mp4.c:2637,1
    - Dst: vlc_seekpoint_Delete
      Src: /src/vlc/modules/demux/mp4/mp4.c:2641,1
    - Dst: EnsureUTF8
      Src: /src/vlc/modules/demux/mp4/mp4.c:2645,1
    - Dst: vlc_input_title_New
      Src: /src/vlc/modules/demux/mp4/mp4.c:2649,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/demux/mp4/mp4.c:2650,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 2
    argNames:
    - p_demux
    - tk
    argTypes:
    - demux_t*
    - mp4_track_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2654
      start: 2602
    functionDepth: 3
    functionLinenumber: 2602
    functionLinenumberEnd: 2654
    functionName: LoadChapterApple
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - stream_ReadU32
    - GetWBE
    - strndup
    - MP4_TrackGetDTSPTS
    - vlc_seekpoint_Delete
    - TAB_APPEND
    - vlc_seekpoint_New
    - MP4_TrackGetReadSize
    - EnsureUTF8
    - vlc_stream_Seek
    - __MIN
    - vlc_input_title_New
    - MP4_TrackGetPos
    - TrackUpdateSampleAndTimes
    - FromCharset
    - memcmp
    linkageType: ''
    returnType: void
    signature: void LoadChapterApple( demux_t  *p_demux, mp4_track_t *tk )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LoadChapterApple
      Src: /src/vlc/modules/demux/mp4/mp4.c:2676,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:2678,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:2679,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:2679,1
    - Dst: LoadChapterGpac
      Src: /src/vlc/modules/demux/mp4/mp4.c:2681,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:2683,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:2684,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:2684,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:2684,1
    - Dst: LoadChapterGoPro
      Src: /src/vlc/modules/demux/mp4/mp4.c:2686,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/mp4/mp4.c:2692,1
    - Dst: MP4_rescale_mtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:2694,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2696
      start: 2655
    functionDepth: 4
    functionLinenumber: 2655
    functionLinenumberEnd: 2696
    functionName: LoadChapter
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 1
    functionsReached:
    - LoadChapterGpac
    - BOXDATA
    - LoadChapterApple
    - MP4_BoxGet
    - __MAX
    - LoadChapterGoPro
    - MP4_rescale_mtime
    linkageType: ''
    returnType: void
    signature: void LoadChapter( demux_t  *p_demux )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:2708,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:2709,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:2710,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:2715,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:2718,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/mp4/mp4.c:2720,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:2732,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:2747,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:2751,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:2756,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:2761,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:2763,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:2765,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/mp4.c:2779,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/mp4.c:2790,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mp4/mp4.c:2792,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:2796,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 2
    argNames:
    - p_demux
    - p_demux_track
    argTypes:
    - demux_t*
    - mp4_track_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2800
      start: 2699
    functionDepth: 1
    functionLinenumber: 2699
    functionLinenumberEnd: 2800
    functionName: TrackCreateChunksIndex
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - BOXDATA
    - MP4_BoxGet
    - calloc
    - msg_Err
    - msg_Dbg
    - msg_Warn
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int TrackCreateChunksIndex( demux_t *p_demux,\n                                   mp4_track_t
      *p_demux_track )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/vlc/modules/demux/mp4/mp4.c:2812,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mp4/mp4.c:2819,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/mp4/mp4.c:2842,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 7
    argNames:
    - p_demux
    - pi_entry
    - i_index
    - i_index_samples_left
    - i_sample_count
    - pi_index_sample_count
    - i_table_count
    argTypes:
    - demux_t*
    - uint32_t*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2848
      start: 2802
    functionDepth: 1
    functionLinenumber: 2802
    functionLinenumberEnd: 2848
    functionName: xTTS_CountEntries
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - __MIN
    - likely
    - msg_Err
    linkageType: ''
    returnType: int
    signature: "int xTTS_CountEntries( demux_t *p_demux, uint32_t *pi_entry /* out
      */,\n                              const uint32_t i_index,\n                              uint32_t
      i_index_samples_left,\n                              uint32_t i_sample_count,\n
      \                             const uint32_t *pi_index_sample_count,\n                              const
      uint32_t i_table_count )"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:2860,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:2862,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:2865,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:2873,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/mp4/mp4.c:2876,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/mp4/mp4.c:2890,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mp4/mp4.c:2906,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:2924,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:2927,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:2934,1
    - Dst: xTTS_CountEntries
      Src: /src/vlc/modules/demux/mp4/mp4.c:2952,1
    - Dst: MP4_ChunkAllocEntries
      Src: /src/vlc/modules/demux/mp4/mp4.c:2961,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mp4/mp4.c:2967,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mp4/mp4.c:2987,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mp4/mp4.c:3011,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:3033,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:3038,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:3041,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:3042,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:3044,1
    - Dst: xTTS_CountEntries
      Src: /src/vlc/modules/demux/mp4/mp4.c:3068,1
    - Dst: MP4_ChunkAllocEntries
      Src: /src/vlc/modules/demux/mp4/mp4.c:3077,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mp4/mp4.c:3083,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mp4/mp4.c:3104,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mp4/mp4.c:3122,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:3136,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 152
    argCount: 2
    argNames:
    - p_demux
    - p_demux_track
    argTypes:
    - demux_t*
    - mp4_track_t*
    assertStmts:
    - condition: ( i == ck->i_entries_pts - 1 )
      pos:
        line_end: 3103
        line_start: 3103
        source_file: /src/vlc/modules/demux/mp4/mp4.c
    - condition: ( i == ck->i_entries_dts - 1 )
      pos:
        line_end: 3010
        line_start: 3010
        source_file: /src/vlc/modules/demux/mp4/mp4.c
    - condition: ( i == ck->i_entries_pts - 1 )
      pos:
        line_end: 3121
        line_start: 3121
        source_file: /src/vlc/modules/demux/mp4/mp4.c
    - condition: ( i == ck->i_entries_dts - 1 )
      pos:
        line_end: 2986
        line_start: 2986
        source_file: /src/vlc/modules/demux/mp4/mp4.c
    constantsTouched: []
    func_position:
      end: 3141
      start: 2850
    functionDepth: 2
    functionLinenumber: 2850
    functionLinenumberEnd: 3141
    functionName: TrackCreateSamplesIndex
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - assert
    - BOXDATA
    - xTTS_CountEntries
    - msg_Err
    - calloc
    - MP4_BoxGet
    - __MIN
    - msg_Dbg
    - msg_Warn
    - MP4_ChunkAllocEntries
    linkageType: ''
    returnType: int
    signature: "int TrackCreateSamplesIndex( demux_t *p_demux,\n                                    mp4_track_t
      *p_demux_track )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MP4_GetTrakByTrackID
      Src: /src/vlc/modules/demux/mp4/mp4.c:3158,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:3158,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:3161,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:3162,1
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/demux/mp4/mp4.c:3164,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:3165,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:3166,1
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/demux/mp4/mp4.c:3194,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 6
    argNames:
    - p_demux
    - pi_num
    - pi_den
    - p_track
    - i_sd_index
    - i_chunk
    argTypes:
    - demux_t*
    - unsigned*
    - unsigned*
    - mp4_track_t*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3198
      start: 3148
    functionDepth: 2
    functionLinenumber: 3148
    functionLinenumberEnd: 3198
    functionName: TrackGetESSampleRate
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - BOXDATA
    - MP4_GetTrakByTrackID
    - vlc_ureduce
    - MP4_BoxGet
    linkageType: ''
    returnType: void
    signature: "void TrackGetESSampleRate( demux_t *p_demux,\n                                  unsigned
      *pi_num, unsigned *pi_den,\n                                  const mp4_track_t
      *p_track,\n                                  unsigned i_sd_index,\n                                  unsigned
      i_chunk )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/demux/mp4/mp4.c:3202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_cfg
    argTypes:
    - track_config_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3203
      start: 3200
    functionDepth: 0
    functionLinenumber: 3200
    functionLinenumberEnd: 3203
    functionName: TrackConfigInit
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void TrackConfigInit( track_config_t *p_cfg )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/mp4.c:3213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - p_cfg
    - p_track
    argTypes:
    - track_config_t*
    - mp4_track_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3218
      start: 3205
    functionDepth: 0
    functionLinenumber: 3205
    functionLinenumberEnd: 3218
    functionName: TrackConfigApply
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void TrackConfigApply( const track_config_t *p_cfg,\n                              mp4_track_t
      *p_track )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SetupVideoES
      Src: /src/vlc/modules/demux/mp4/mp4.c:3229,1
    - Dst: TrackGetESSampleRate
      Src: /src/vlc/modules/demux/mp4/mp4.c:3233,1
    - Dst: SetupAudioES
      Src: /src/vlc/modules/demux/mp4/mp4.c:3241,1
    - Dst: SetupSpuES
      Src: /src/vlc/modules/demux/mp4/mp4.c:3250,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 6
    argNames:
    - p_demux
    - p_track
    - p_sample
    - i_chunk
    - p_fmt
    - p_cfg
    argTypes:
    - demux_t*
    - mp4_track_t*
    - MP4_Box_t*
    - unsigned
    - es_format_t*
    - track_config_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3259
      start: 3220
    functionDepth: 4
    functionLinenumber: 3220
    functionLinenumberEnd: 3259
    functionName: TrackFillConfig
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - TrackGetESSampleRate
    - SetupVideoES
    - SetupAudioES
    - SetupSpuES
    linkageType: ''
    returnType: int
    signature: "int TrackFillConfig( demux_t *p_demux, const mp4_track_t *p_track,\n
      \                           const MP4_Box_t *p_sample,unsigned i_chunk,\n                            es_format_t
      *p_fmt, track_config_t *p_cfg )"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:3282,1
    - Dst: MP4_BoxGetVa
      Src: /src/vlc/modules/demux/mp4/mp4.c:3287,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:3292,1
    - Dst: TrackConfigInit
      Src: /src/vlc/modules/demux/mp4/mp4.c:3298,1
    - Dst: TrackFillConfig
      Src: /src/vlc/modules/demux/mp4/mp4.c:3303,1
    - Dst: TrackConfigApply
      Src: /src/vlc/modules/demux/mp4/mp4.c:3309,1
    - Dst: vlc_replay_gain_CopyFromMeta
      Src: /src/vlc/modules/demux/mp4/mp4.c:3322,1
    - Dst: replay_gain_Reset
      Src: /src/vlc/modules/demux/mp4/mp4.c:3329,1
    - Dst: isfinite
      Src: /src/vlc/modules/demux/mp4/mp4.c:3331,1
    - Dst: isfinite
      Src: /src/vlc/modules/demux/mp4/mp4.c:3337,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:3367,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:3368,1
    - Dst: MP4_rescale
      Src: /src/vlc/modules/demux/mp4/mp4.c:3370,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:3370,1
    - Dst: MP4_rescale
      Src: /src/vlc/modules/demux/mp4/mp4.c:3376,1
    - Dst: MP4_rescale
      Src: /src/vlc/modules/demux/mp4/mp4.c:3383,1
    - Dst: MP4_rescale
      Src: /src/vlc/modules/demux/mp4/mp4.c:3390,1
    - Dst: MP4_rescale
      Src: /src/vlc/modules/demux/mp4/mp4.c:3400,1
    - Dst: MP4_rescale
      Src: /src/vlc/modules/demux/mp4/mp4.c:3407,1
    - Dst: MP4_CreateES
      Src: /src/vlc/modules/demux/mp4/mp4.c:3425,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 84
    argCount: 4
    argNames:
    - p_demux
    - p_track
    - i_chunk
    - pp_es
    argTypes:
    - demux_t*
    - mp4_track_t*
    - unsigned int
    - es_out_id_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3428
      start: 3265
    functionDepth: 5
    functionLinenumber: 3265
    functionLinenumberEnd: 3428
    functionName: TrackCreateES
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - isfinite
    - TrackConfigInit
    - vlc_replay_gain_CopyFromMeta
    - BOXDATA
    - MP4_rescale
    - MP4_BoxGetVa
    - MP4_CreateES
    - TrackConfigApply
    - replay_gain_Reset
    - msg_Warn
    - TrackFillConfig
    linkageType: ''
    returnType: int
    signature: "int TrackCreateES( demux_t *p_demux, mp4_track_t *p_track,\n                          unsigned
      int i_chunk, es_out_id_t **pp_es )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:3439,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:3443,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:3444,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:3453,1
    - Dst: MP4_SampleToGroupInfo
      Src: /src/vlc/modules/demux/mp4/mp4.c:3465,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:3468,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 4
    argNames:
    - p_demux
    - p_track
    - i_sample
    - pi_sync_sample
    argTypes:
    - demux_t*
    - mp4_track_t*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3477
      start: 3431
    functionDepth: 3
    functionLinenumber: 3431
    functionLinenumberEnd: 3477
    functionName: TrackGetNearestSeekPoint
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - BOXDATA
    - MP4_SampleToGroupInfo
    - msg_Dbg
    - MP4_BoxGet
    linkageType: ''
    returnType: int
    signature: "int TrackGetNearestSeekPoint( demux_t *p_demux, mp4_track_t *p_track,\n
      \                                    uint32_t i_sample, uint32_t *pi_sync_sample
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - key
    - other
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3503
      start: 3485
    functionDepth: 0
    functionLinenumber: 3485
    functionLinenumberEnd: 3503
    functionName: cmplowestchunkdts
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmplowestchunkdts( const void *key, const void *other )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/vlc/modules/demux/mp4/mp4.c:3520,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/mp4.c:3524,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - p_track
    - i_dts
    - pi_chunk
    - pi_sample
    argTypes:
    - mp4_track_t*
    - uint64_t
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3559
      start: 3505
    functionDepth: 1
    functionLinenumber: 3505
    functionLinenumberEnd: 3559
    functionName: STTSToSampleChunk
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - bsearch
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int STTSToSampleChunk(const mp4_track_t *p_track, uint64_t i_dts,\n
      \                            uint32_t *pi_chunk, uint32_t *pi_sample)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: MP4_TrackSetELST
      Src: /src/vlc/modules/demux/mp4/mp4.c:3576,1
    - Dst: mp4_track_t*::BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:3577,1
    - Dst: MP4_rescale_mtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:3581,1
    - Dst: MP4_rescale_qtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:3589,1
    - Dst: MP4_MapMediaTimelineToTrackTime
      Src: /src/vlc/modules/demux/mp4/mp4.c:3591,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:3593,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/demux/mp4/mp4.c:3595,1
    - Dst: MP4_rescale
      Src: /src/vlc/modules/demux/mp4/mp4.c:3596,1
    - Dst: MP4_rescale_qtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:3601,1
    - Dst: STTSToSampleChunk
      Src: /src/vlc/modules/demux/mp4/mp4.c:3606,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:3608,1
    - Dst: TrackGetNearestSeekPoint
      Src: /src/vlc/modules/demux/mp4/mp4.c:3618,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:3620,1
    - Dst: MP4_SampleToGroupInfo
      Src: /src/vlc/modules/demux/mp4/mp4.c:3627,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:3631,1
    - Dst: STTSToSampleChunk
      Src: /src/vlc/modules/demux/mp4/mp4.c:3645,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:3649,1
    - Dst: MP4_rescale_mtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:3651,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 5
    argNames:
    - p_demux
    - p_track
    - start
    - pi_chunk
    - pi_sample
    argTypes:
    - demux_t*
    - mp4_track_t*
    - vlc_tick_t
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3679
      start: 3564
    functionDepth: 4
    functionLinenumber: 3564
    functionLinenumberEnd: 3679
    functionName: TrackTimeToSampleChunk
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - MS_FROM_VLC_TICK
    - STTSToSampleChunk
    - MP4_SampleToGroupInfo
    - MP4_rescale_qtime
    - MP4_rescale
    - MP4_MapMediaTimelineToTrackTime
    - TrackGetNearestSeekPoint
    - MP4_rescale_mtime
    - msg_Dbg
    - msg_Warn
    - MP4_TrackSetELST
    - mp4_track_t*::BOXDATA
    linkageType: ''
    returnType: int
    signature: "int TrackTimeToSampleChunk( demux_t *p_demux, mp4_track_t *p_track,\n
      \                                  vlc_tick_t start, uint32_t *pi_chunk,\n                                   uint32_t
      *pi_sample )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mp4/mp4.c:3692,1
    - Dst: es_format_IsSimilar
      Src: /src/vlc/modules/demux/mp4/mp4.c:3702,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - p_fmt1
    - p_fmt2
    argTypes:
    - es_format_t*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3703
      start: 3681
    functionDepth: 1
    functionLinenumber: 3681
    functionLinenumberEnd: 3703
    functionName: FormatIsCompatible
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - es_format_IsSimilar
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool FormatIsCompatible( const es_format_t *p_fmt1, const es_format_t
      *p_fmt2 )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:3714,1
    - Dst: MP4_BoxGetVa
      Src: /src/vlc/modules/demux/mp4/mp4.c:3717,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mp4/mp4.c:3721,1
    - Dst: TrackConfigInit
      Src: /src/vlc/modules/demux/mp4/mp4.c:3729,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/mp4/mp4.c:3731,1
    - Dst: TrackFillConfig
      Src: /src/vlc/modules/demux/mp4/mp4.c:3733,1
    - Dst: FormatIsCompatible
      Src: /src/vlc/modules/demux/mp4/mp4.c:3734,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mp4/mp4.c:3738,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/demux/mp4/mp4.c:3741,1
    - Dst: MP4_CreateES
      Src: /src/vlc/modules/demux/mp4/mp4.c:3743,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mp4/mp4.c:3746,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/mp4/mp4.c:3751,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mp4/mp4.c:3757,1
    - Dst: TrackConfigApply
      Src: /src/vlc/modules/demux/mp4/mp4.c:3759,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/mp4/mp4.c:3760,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/mp4/mp4.c:3761,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/demux/mp4/mp4.c:3762,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/mp4/mp4.c:3765,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - p_demux
    - p_track
    - i_previous_chunk
    argTypes:
    - demux_t*
    - mp4_track_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3769
      start: 3705
    functionDepth: 5
    functionLinenumber: 3705
    functionLinenumberEnd: 3769
    functionName: TrackUpdateFormat
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - TrackConfigInit
    - es_out_Control
    - es_format_Clean
    - MP4_BoxGetVa
    - MP4_CreateES
    - msg_Err
    - TrackConfigApply
    - es_out_Del
    - msg_Warn
    - es_format_Init
    - FormatIsCompatible
    - TrackFillConfig
    - es_format_Copy
    linkageType: ''
    returnType: int
    signature: "int TrackUpdateFormat( demux_t *p_demux, mp4_track_t *p_track,\n                              uint32_t
      i_previous_chunk )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TrackUpdateFormat
      Src: /src/vlc/modules/demux/mp4/mp4.c:3774,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - p_demux
    - p_track
    - i_chunk
    - i_sample
    argTypes:
    - demux_t*
    - mp4_track_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3781
      start: 3771
    functionDepth: 6
    functionLinenumber: 3771
    functionLinenumberEnd: 3781
    functionName: TrackGotoChunkSample
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - TrackUpdateFormat
    linkageType: ''
    returnType: int
    signature: "int TrackGotoChunkSample( demux_t *p_demux, mp4_track_t *p_track,\n
      \                                uint32_t i_chunk, uint32_t i_sample )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/mp4/mp4.c:3785,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mp4/mp4.c:3813,1
    - Dst: MP4_ChunkGetSampleDTS
      Src: /src/vlc/modules/demux/mp4/mp4.c:3815,1
    - Dst: MP4_ChunkGetSampleCTSDelta
      Src: /src/vlc/modules/demux/mp4/mp4.c:3817,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 1
    argNames:
    - p_track
    argTypes:
    - mp4_track_t*
    assertStmts:
    - condition: (p_track->i_chunk < p_track->i_chunk_count)
      pos:
        line_end: 3784
        line_start: 3784
        source_file: /src/vlc/modules/demux/mp4/mp4.c
    - condition: (i_nextsample >= ck->i_sample_first)
      pos:
        line_end: 3812
        line_start: 3812
        source_file: /src/vlc/modules/demux/mp4/mp4.c
    constantsTouched: []
    func_position:
      end: 3825
      start: 3783
    functionDepth: 1
    functionLinenumber: 3783
    functionLinenumberEnd: 3825
    functionName: TrackUpdateStarttimes
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - assert
    - MP4_ChunkGetSampleCTSDelta
    - MP4_ChunkGetSampleDTS
    linkageType: ''
    returnType: void
    signature: void TrackUpdateStarttimes( mp4_track_t *p_track )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP4_ChunkGetSampleDTS
      Src: /src/vlc/modules/demux/mp4/mp4.c:3833,1
    - Dst: MP4_ChunkGetSampleCTSDelta
      Src: /src/vlc/modules/demux/mp4/mp4.c:3835,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - p_track
    argTypes:
    - mp4_track_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3839
      start: 3827
    functionDepth: 1
    functionLinenumber: 3827
    functionLinenumberEnd: 3839
    functionName: TrackUpdateSampleAndTimes
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 1
    functionsReached:
    - MP4_ChunkGetSampleCTSDelta
    - MP4_ChunkGetSampleDTS
    linkageType: ''
    returnType: void
    signature: void TrackUpdateSampleAndTimes( mp4_track_t *p_track )
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:3858,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:3866,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:3868,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:3869,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:3870,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:3871,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:3875,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:3876,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:3883,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:3885,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:3888,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/mp4.c:3890,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:3890,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:3891,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:3896,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mp4/mp4.c:3900,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mp4/mp4.c:3904,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:3908,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mp4/mp4.c:3912,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:3917,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:3918,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:3925,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:3926,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:3928,1
    - Dst: strncpy
      Src: /src/vlc/modules/demux/mp4/mp4.c:3932,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:3932,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/mp4/mp4.c:3933,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:3935,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mp4/mp4.c:3936,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/mp4/mp4.c:3938,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:3940,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mp4/mp4.c:3941,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:3945,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mp4/mp4.c:3956,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:3969,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:3971,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:3974,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/mp4/mp4.c:3975,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:3983,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:3987,1
    - Dst: MP4_rescale
      Src: /src/vlc/modules/demux/mp4/mp4.c:3989,1
    - Dst: MP4_rescale
      Src: /src/vlc/modules/demux/mp4/mp4.c:3991,1
    - Dst: INT64_C
      Src: /src/vlc/modules/demux/mp4/mp4.c:3992,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:4000,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:4007,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:4008,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/mp4/mp4.c:4014,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/mp4/mp4.c:4014,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mp4/mp4.c:4016,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:4019,1
    - Dst: strndup
      Src: /src/vlc/modules/demux/mp4/mp4.c:4031,1
    - Dst: TrackCreateChunksIndex
      Src: /src/vlc/modules/demux/mp4/mp4.c:4040,1
    - Dst: TrackCreateSamplesIndex
      Src: /src/vlc/modules/demux/mp4/mp4.c:4041,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mp4/mp4.c:4043,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:4061,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:4066,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:4068,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:4068,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:4070,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/mp4/mp4.c:4078,1
    - Dst: mp4_track_t*::BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:4092,1
    - Dst: mp4_track_t*::BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:4094,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/mp4/mp4.c:4099,1
    - Dst: MP4_isMetadata
      Src: /src/vlc/modules/demux/mp4/mp4.c:4116,1
    - Dst: TrackCreateES
      Src: /src/vlc/modules/demux/mp4/mp4.c:4118,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mp4/mp4.c:4122,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 149
    argCount: 5
    argNames:
    - p_demux
    - p_track
    - p_box_trak
    - b_create_es
    - b_force_enable
    argTypes:
    - demux_t*
    - mp4_track_t*
    - MP4_Box_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4128
      start: 3847
    functionDepth: 6
    functionLinenumber: 3847
    functionLinenumberEnd: 4128
    functionName: MP4_TrackSetup
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 1
    functionsReached:
    - BOXDATA
    - memcpy
    - INT64_C
    - TrackCreateChunksIndex
    - TrackCreateSamplesIndex
    - msg_Err
    - __MAX
    - msg_Dbg
    - msg_Warn
    - es_format_Change
    - strndup
    - strdup
    - MP4_rescale
    - MP4_isMetadata
    - var_InheritBool
    - MP4_BoxGet
    - strcmp
    - __MIN
    - mp4_track_t*::BOXDATA
    - strncpy
    - TrackCreateES
    linkageType: ''
    returnType: void
    signature: "void MP4_TrackSetup( demux_t *p_demux, mp4_track_t *p_track,\n                             const
      MP4_Box_t *p_box_trak,\n                             bool b_create_es, bool
      b_force_enable )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/mp4/mp4.c:4137,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/demux/mp4/mp4.c:4140,1
    - Dst: MP4_ChunkDestroy
      Src: /src/vlc/modules/demux/mp4/mp4.c:4145,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/mp4.c:4147,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/mp4.c:4150,1
    - Dst: ASFPacketTrackReset
      Src: /src/vlc/modules/demux/mp4/mp4.c:4152,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/mp4.c:4154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - out
    - p_track
    argTypes:
    - es_out_t*
    - mp4_track_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4155
      start: 4135
    functionDepth: 1
    functionLinenumber: 4135
    functionLinenumberEnd: 4155
    functionName: MP4_TrackClean
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 1
    functionsReached:
    - ASFPacketTrackReset
    - es_format_Clean
    - free
    - MP4_ChunkDestroy
    - es_out_Del
    linkageType: ''
    returnType: void
    signature: void MP4_TrackClean( es_out_t *out, mp4_track_t *p_track )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/demux/mp4/mp4.c:4159,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/mp4/mp4.c:4160,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:4163,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mp4/mp4.c:4164,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:4164,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:4165,1
    - Dst: ASFPacketTrackInit
      Src: /src/vlc/modules/demux/mp4/mp4.c:4166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p_track
    - p_trackbox
    argTypes:
    - mp4_track_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4167
      start: 4157
    functionDepth: 1
    functionLinenumber: 4157
    functionLinenumberEnd: 4167
    functionName: MP4_TrackInit
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 1
    functionsReached:
    - ASFPacketTrackInit
    - BOXDATA
    - memset
    - MP4_BoxGet
    - likely
    - es_format_Init
    linkageType: ''
    returnType: void
    signature: void MP4_TrackInit( mp4_track_t *p_track, const MP4_Box_t *p_trackbox
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MP4_isMetadata
      Src: /src/vlc/modules/demux/mp4/mp4.c:4171,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mp4/mp4.c:4179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - p_demux
    - p_track
    - b_select
    argTypes:
    - demux_t*
    - mp4_track_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4184
      start: 4169
    functionDepth: 1
    functionLinenumber: 4169
    functionLinenumberEnd: 4184
    functionName: MP4_TrackSelect
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 2
    functionsReached:
    - MP4_isMetadata
    - es_out_Control
    linkageType: ''
    returnType: void
    signature: void MP4_TrackSelect( demux_t *p_demux, mp4_track_t *p_track, bool
      b_select )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MP4_isMetadata
      Src: /src/vlc/modules/demux/mp4/mp4.c:4192,1
    - Dst: TrackTimeToSampleChunk
      Src: /src/vlc/modules/demux/mp4/mp4.c:4197,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:4200,1
    - Dst: TrackGotoChunkSample
      Src: /src/vlc/modules/demux/mp4/mp4.c:4206,1
    - Dst: TrackUpdateSampleAndTimes
      Src: /src/vlc/modules/demux/mp4/mp4.c:4209,1
    - Dst: TrackUpdateStarttimes
      Src: /src/vlc/modules/demux/mp4/mp4.c:4210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - p_demux
    - p_track
    - i_start
    argTypes:
    - demux_t*
    - mp4_track_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4214
      start: 4186
    functionDepth: 7
    functionLinenumber: 4186
    functionLinenumberEnd: 4214
    functionName: MP4_TrackSeek
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 3
    functionsReached:
    - TrackGotoChunkSample
    - MP4_isMetadata
    - TrackTimeToSampleChunk
    - msg_Warn
    - TrackUpdateSampleAndTimes
    - TrackUpdateStarttimes
    linkageType: ''
    returnType: int
    signature: "int MP4_TrackSeek( demux_t *p_demux, mp4_track_t *p_track,\n                          vlc_tick_t
      i_start )"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/mp4.c:4248,1
    - Dst: aout_BitsPerSample
      Src: /src/vlc/modules/demux/mp4/mp4.c:4266,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mp4/mp4.c:4268,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/mp4.c:4270,1
    - Dst: printf
      Src: /src/vlc/modules/demux/mp4/mp4.c:4315,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 65
    argCount: 3
    argNames:
    - p_track
    - p_soun
    - pi_size
    argTypes:
    - mp4_track_t*
    - MP4_Box_data_sample_soun_t*
    - uint32_t*
    assertStmts:
    - condition: (i_bytes_per_frame)
      pos:
        line_end: 4267
        line_start: 4267
        source_file: /src/vlc/modules/demux/mp4/mp4.c
    constantsTouched: []
    func_position:
      end: 4325
      start: 4222
    functionDepth: 1
    functionLinenumber: 4222
    functionLinenumberEnd: 4325
    functionName: MP4_GetAudioFrameInfo
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - printf
    - assert
    - aout_BitsPerSample
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t MP4_GetAudioFrameInfo( const mp4_track_t *p_track,\n                                              const
      MP4_Box_data_sample_soun_t *p_soun,\n                                              uint32_t
      *pi_size )"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/mp4.c:4368,1
    - Dst: aout_BitsPerSample
      Src: /src/vlc/modules/demux/mp4/mp4.c:4401,1
    - Dst: MP4_GetAudioFrameInfo
      Src: /src/vlc/modules/demux/mp4/mp4.c:4423,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/mp4/mp4.c:4442,1
    - Dst: printf
      Src: /src/vlc/modules/demux/mp4/mp4.c:4453,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 69
    argCount: 2
    argNames:
    - p_track
    - pi_nb_samples
    argTypes:
    - mp4_track_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4483
      start: 4327
    functionDepth: 2
    functionLinenumber: 4327
    functionLinenumberEnd: 4483
    functionName: MP4_TrackGetReadSize
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 2
    functionsReached:
    - VLC_FOURCC
    - printf
    - aout_BitsPerSample
    - __MAX
    - MP4_GetAudioFrameInfo
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MP4_TrackGetReadSize( mp4_track_t *p_track, uint32_t *pi_nb_samples
      )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MP4_GetAudioFrameInfo
      Src: /src/vlc/modules/demux/mp4/mp4.c:4506,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - p_track
    argTypes:
    - mp4_track_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4528
      start: 4485
    functionDepth: 2
    functionLinenumber: 4485
    functionLinenumberEnd: 4528
    functionName: MP4_TrackGetPos
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 3
    functionsReached:
    - MP4_GetAudioFrameInfo
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t MP4_TrackGetPos( mp4_track_t *p_track )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mp4_track_t*::BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:4535,1
    - Dst: mp4_track_t*::BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:4538,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - tk
    argTypes:
    - mp4_track_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4541
      start: 4531
    functionDepth: 1
    functionLinenumber: 4531
    functionLinenumberEnd: 4541
    functionName: MP4_TrackSetNextELST
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - mp4_track_t*::BOXDATA
    linkageType: ''
    returnType: int
    signature: int MP4_TrackSetNextELST( mp4_track_t *tk )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mp4_track_t*::BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:4546,1
    - Dst: MP4_TrackSetNextELST
      Src: /src/vlc/modules/demux/mp4/mp4.c:4550,1
    - Dst: MP4_rescale_mtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:4552,1
    - Dst: mp4_track_t*::BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:4555,1
    - Dst: MP4_rescale_mtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:4556,1
    - Dst: MP4_rescale_mtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:4557,1
    - Dst: MP4_TrackSetNextELST
      Src: /src/vlc/modules/demux/mp4/mp4.c:4558,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - tk
    - i_movie_timescale
    - i_track_time
    - i_track_sample
    argTypes:
    - mp4_track_t*
    - uint32_t
    - stime_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4563
      start: 4543
    functionDepth: 2
    functionLinenumber: 4543
    functionLinenumberEnd: 4563
    functionName: MP4_TrackUpdateELST
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - MP4_TrackSetNextELST
    - mp4_track_t*::BOXDATA
    - MP4_rescale_mtime
    linkageType: ''
    returnType: int
    signature: "int MP4_TrackUpdateELST( mp4_track_t *tk, uint32_t i_movie_timescale,\n
      \                               stime_t i_track_time, uint32_t i_track_sample
      )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TrackUpdateSampleAndTimes
      Src: /src/vlc/modules/demux/mp4/mp4.c:4590,1
    - Dst: MP4_TrackUpdateELST
      Src: /src/vlc/modules/demux/mp4/mp4.c:4591,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:4594,1
    - Dst: mp4_track_t*::BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:4597,1
    - Dst: STTSToSampleChunk
      Src: /src/vlc/modules/demux/mp4/mp4.c:4598,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:4600,1
    - Dst: TrackUpdateSampleAndTimes
      Src: /src/vlc/modules/demux/mp4/mp4.c:4610,1
    - Dst: TrackUpdateFormat
      Src: /src/vlc/modules/demux/mp4/mp4.c:4612,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:4614,1
    - Dst: MP4_TrackSelect
      Src: /src/vlc/modules/demux/mp4/mp4.c:4616,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - p_demux
    - p_track
    - i_samples
    argTypes:
    - demux_t*
    - mp4_track_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4624
      start: 4565
    functionDepth: 6
    functionLinenumber: 4565
    functionLinenumberEnd: 4624
    functionName: MP4_TrackNextSample
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 1
    functionsReached:
    - STTSToSampleChunk
    - msg_Dbg
    - msg_Warn
    - TrackUpdateSampleAndTimes
    - MP4_TrackSelect
    - mp4_track_t*::BOXDATA
    - MP4_TrackUpdateELST
    - TrackUpdateFormat
    linkageType: ''
    returnType: int
    signature: int MP4_TrackNextSample( demux_t *p_demux, mp4_track_t *p_track, uint32_t
      i_samples )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mp4_track_t*::BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:4635,1
    - Dst: mp4_track_t*::BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:4637,1
    - Dst: MP4_rescale_qtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:4638,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:4662,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 3
    argNames:
    - p_demux
    - tk
    - i_time
    argTypes:
    - demux_t*
    - mp4_track_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4668
      start: 4626
    functionDepth: 2
    functionLinenumber: 4626
    functionLinenumberEnd: 4668
    functionName: MP4_TrackSetELST
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 1
    functionsReached:
    - mp4_track_t*::BOXDATA
    - msg_Warn
    - MP4_rescale_qtime
    linkageType: ''
    returnType: void
    signature: "void MP4_TrackSetELST( demux_t *p_demux, mp4_track_t *tk,\n                              vlc_tick_t
      i_time )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:4683,1
    - Dst: MP4_TrackRestart
      Src: /src/vlc/modules/demux/mp4/mp4.c:4687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - p_demux
    - p_root
    - p_track
    argTypes:
    - demux_t*
    - MP4_Box_t*
    - mp4_track_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4694
      start: 4680
    functionDepth: 1
    functionLinenumber: 4680
    functionLinenumberEnd: 4694
    functionName: ReInitDecoder
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - MP4_TrackRestart
    - MP4_BoxGet
    linkageType: ''
    returnType: int
    signature: "int ReInitDecoder( demux_t *p_demux, const MP4_Box_t *p_root,\n                          mp4_track_t
      *p_track )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP4_GetTrakByTrackID
      Src: /src/vlc/modules/demux/mp4/mp4.c:4704,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:4707,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:4708,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:4710,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/mp4/mp4.c:4712,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:4712,1
    - Dst: MP4_Fragment_Index_GetTracksDuration
      Src: /src/vlc/modules/demux/mp4/mp4.c:4717,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/mp4/mp4.c:4718,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4722
      start: 4697
    functionDepth: 2
    functionLinenumber: 4697
    functionLinenumberEnd: 4722
    functionName: GetCumulatedDuration
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - BOXDATA
    - MP4_BoxGet
    - __MAX
    - MP4_GetTrakByTrackID
    - MP4_Fragment_Index_GetTracksDuration
    linkageType: ''
    returnType: stime_t
    signature: stime_t GetCumulatedDuration( demux_t *p_demux )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/mp4/mp4.c:4729,1
    - Dst: MP4_BoxCount
      Src: /src/vlc/modules/demux/mp4/mp4.c:4731,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/demux/mp4/mp4.c:4734,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/mp4/mp4.c:4738,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:4740,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/mp4/mp4.c:4744,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/mp4.c:4745,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mp4/mp4.c:4746,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mp4/mp4.c:4748,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:4749,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/mp4/mp4.c:4751,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:4753,1
    - Dst: MP4_ReadBoxContainerChildren
      Src: /src/vlc/modules/demux/mp4/mp4.c:4755,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts:
    - condition: ( p_sys->b_seekable )
      pos:
        line_end: 4728
        line_start: 4728
        source_file: /src/vlc/modules/demux/mp4/mp4.c
    constantsTouched: []
    func_position:
      end: 4760
      start: 4724
    functionDepth: 1
    functionLinenumber: 4724
    functionLinenumberEnd: 4760
    functionName: ProbeIndex
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 1
    functionsReached:
    - VLC_FOURCC
    - assert
    - MP4_ReadBoxContainerChildren
    - MP4_BoxCount
    - vlc_stream_Read
    - msg_Dbg
    - GetDWBE
    - vlc_stream_Seek
    - vlc_stream_GetSize
    linkageType: ''
    returnType: int
    signature: int ProbeIndex( demux_t *p_demux )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP4_GetTrakByTrackID
      Src: /src/vlc/modules/demux/mp4/mp4.c:4764,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:4767,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:4768,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:4770,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:4772,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:4773,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - p_sys
    - i_track_ID
    argTypes:
    - demux_sys_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4778
      start: 4762
    functionDepth: 2
    functionLinenumber: 4762
    functionLinenumberEnd: 4778
    functionName: GetMoovTrackDuration
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 1
    functionsReached:
    - BOXDATA
    - MP4_GetTrakByTrackID
    - MP4_BoxGet
    linkageType: ''
    returnType: stime_t
    signature: stime_t GetMoovTrackDuration( demux_sys_t *p_sys, unsigned i_track_ID
      )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:4786,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:4795,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:4796,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:4797,1
    - Dst: MP4_GetTrexByTrackID
      Src: /src/vlc/modules/demux/mp4/mp4.c:4807,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:4807,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:4810,1
    - Dst: MP4_GetTrakByTrackID
      Src: /src/vlc/modules/demux/mp4/mp4.c:4813,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:4813,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:4816,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:4818,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:4843,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:4846,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 43
    argCount: 4
    argNames:
    - p_moov
    - p_moof
    - i_track_ID
    - p_duration
    argTypes:
    - MP4_Box_t*
    - MP4_Box_t*
    - unsigned
    - stime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4862
      start: 4780
    functionDepth: 2
    functionLinenumber: 4780
    functionLinenumberEnd: 4862
    functionName: GetMoofTrackDuration
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - MP4_GetTrakByTrackID
    - BOXDATA
    - MP4_GetTrexByTrackID
    - MP4_BoxGet
    linkageType: ''
    returnType: bool
    signature: "bool GetMoofTrackDuration( MP4_Box_t *p_moov, MP4_Box_t *p_moof,\n
      \                                 unsigned i_track_ID, stime_t *p_duration )"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:4868,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mp4/mp4.c:4868,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mp4/mp4.c:4870,1
    - Dst: MP4_BoxNew
      Src: /src/vlc/modules/demux/mp4/mp4.c:4872,1
    - Dst: MP4_ReadBoxContainerChildren
      Src: /src/vlc/modules/demux/mp4/mp4.c:4878,1
    - Dst: MP4_BoxCount
      Src: /src/vlc/modules/demux/mp4/mp4.c:4881,1
    - Dst: MP4_Fragments_Index_New
      Src: /src/vlc/modules/demux/mp4/mp4.c:4885,1
    - Dst: MP4_BoxFree
      Src: /src/vlc/modules/demux/mp4/mp4.c:4888,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/mp4/mp4.c:4892,1
    - Dst: MP4_Fragments_Index_Delete
      Src: /src/vlc/modules/demux/mp4/mp4.c:4895,1
    - Dst: MP4_BoxFree
      Src: /src/vlc/modules/demux/mp4/mp4.c:4897,1
    - Dst: MP4_GetTrafByTrackID
      Src: /src/vlc/modules/demux/mp4/mp4.c:4911,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:4913,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:4915,1
    - Dst: GetMoovTrackDuration
      Src: /src/vlc/modules/demux/mp4/mp4.c:4921,1
    - Dst: MP4_rescale
      Src: /src/vlc/modules/demux/mp4/mp4.c:4922,1
    - Dst: MP4_rescale
      Src: /src/vlc/modules/demux/mp4/mp4.c:4925,1
    - Dst: GetMoofTrackDuration
      Src: /src/vlc/modules/demux/mp4/mp4.c:4929,1
    - Dst: MP4_rescale
      Src: /src/vlc/modules/demux/mp4/mp4.c:4938,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/mp4.c:4943,1
    - Dst: MP4_Fragments_Index_Dump
      Src: /src/vlc/modules/demux/mp4/mp4.c:4945,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mp4/mp4.c:4945,1
    - Dst: MP4_ReadBoxContainerRestricted
      Src: /src/vlc/modules/demux/mp4/mp4.c:4954,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mp4/mp4.c:4957,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/mp4.c:4958,1
    - Dst: MP4_BoxFree
      Src: /src/vlc/modules/demux/mp4/mp4.c:4963,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:4965,1
    - Dst: GetCumulatedDuration
      Src: /src/vlc/modules/demux/mp4/mp4.c:4967,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 3
    argNames:
    - p_demux
    - b_force
    - pb_fragmented
    argTypes:
    - demux_t*
    - bool
    - bool*
    assertStmts:
    - condition: ( p_sys->p_root )
      pos:
        line_end: 4869
        line_start: 4869
        source_file: /src/vlc/modules/demux/mp4/mp4.c
    constantsTouched: []
    func_position:
      end: 4970
      start: 4864
    functionDepth: 3
    functionLinenumber: 4864
    functionLinenumberEnd: 4970
    functionName: ProbeFragments
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 1
    functionsReached:
    - assert
    - BOXDATA
    - GetMoovTrackDuration
    - MP4_Fragments_Index_Delete
    - MP4_BoxNew
    - MP4_ReadBoxContainerChildren
    - MP4_ReadBoxContainerRestricted
    - MP4_BoxCount
    - calloc
    - msg_Dbg
    - VLC_FOURCC
    - MP4_Fragments_Index_New
    - MP4_rescale
    - MP4_BoxFree
    - MP4_BoxGet
    - MP4_GetTrafByTrackID
    - vlc_stream_Tell
    - vlc_stream_Peek
    - MP4_Fragments_Index_Dump
    - free
    - GetCumulatedDuration
    - VLC_OBJECT
    - GetMoofTrackDuration
    linkageType: ''
    returnType: int
    signature: int ProbeFragments( demux_t *p_demux, bool b_force, bool *pb_fragmented
      )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/vlc/modules/demux/mp4/mp4.c:4981,1
    - Dst: vlc_dialog_wait_question
      Src: /src/vlc/modules/demux/mp4/mp4.c:4988,1
    - Dst: _
      Src: /src/vlc/modules/demux/mp4/mp4.c:4990,1
    - Dst: _
      Src: /src/vlc/modules/demux/mp4/mp4.c:4991,1
    - Dst: _
      Src: /src/vlc/modules/demux/mp4/mp4.c:4993,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mp4/mp4.c:4999,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/mp4/mp4.c:5000,1
    - Dst: ProbeFragments
      Src: /src/vlc/modules/demux/mp4/mp4.c:5004,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/mp4/mp4.c:5009,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5012
      start: 4972
    functionDepth: 4
    functionLinenumber: 4972
    functionLinenumberEnd: 5012
    functionName: ProbeFragmentsChecked
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 2
    functionsReached:
    - vlc_dialog_wait_question
    - _
    - vlc_stream_Seek
    - vlc_stream_Tell
    - ProbeFragments
    linkageType: ''
    returnType: int
    signature: int ProbeFragmentsChecked( demux_t *p_demux )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxFree
      Src: /src/vlc/modules/demux/mp4/mp4.c:5019,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - demux_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5030
      start: 5014
    functionDepth: 1
    functionLinenumber: 5014
    functionLinenumberEnd: 5030
    functionName: FragResetContext
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 2
    functionsReached:
    - MP4_BoxFree
    linkageType: ''
    returnType: void
    signature: void FragResetContext( demux_sys_t *p_sys )
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mp4/mp4.c:5045,1
    - Dst: MP4_Seek
      Src: /src/vlc/modules/demux/mp4/mp4.c:5046,1
    - Dst: MP4_rescale_qtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:5050,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:5081,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:5084,1
    - Dst: OverflowCheck
      Src: /src/vlc/modules/demux/mp4/mp4.c:5086,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mp4/mp4.c:5086,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/mp4/mp4.c:5088,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mp4/mp4.c:5094,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:5099,1
    - Dst: MP4_rescale_mtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:5100,1
    - Dst: MP4_rescale_mtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:5101,1
    - Dst: MP4_rescale_mtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:5106,1
    - Dst: MP4_rescale_mtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:5110,1
    - Dst: MP4_rescale_mtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:5111,1
    - Dst: MP4_Block_Send
      Src: /src/vlc/modules/demux/mp4/mp4.c:5112,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mp4/mp4.c:5114,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 51
    argCount: 3
    argNames:
    - p_demux
    - p_track
    - i_max_preload
    argTypes:
    - demux_t*
    - mp4_track_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5128
      start: 5032
    functionDepth: 7
    functionLinenumber: 5032
    functionLinenumberEnd: 5128
    functionName: FragDemuxTrack
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - block_Release
    - MP4_Block_Send
    - MP4_rescale_qtime
    - OverflowCheck
    - vlc_stream_Block
    - MP4_Seek
    - msg_Dbg
    - MP4_rescale_mtime
    - msg_Warn
    - vlc_stream_Tell
    linkageType: ''
    returnType: int
    signature: "int FragDemuxTrack( demux_t *p_demux, mp4_track_t *p_track,\n                           vlc_tick_t
      i_max_preload )"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: MP4_GetMoviePTS
      Src: /src/vlc/modules/demux/mp4/mp4.c:5137,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/mp4/mp4.c:5141,1
    - Dst: MP4_isMetadata
      Src: /src/vlc/modules/demux/mp4/mp4.c:5159,1
    - Dst: MP4_rescale_mtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:5168,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/mp4/mp4.c:5174,1
    - Dst: MP4_isMetadata
      Src: /src/vlc/modules/demux/mp4/mp4.c:5186,1
    - Dst: MP4_rescale_mtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:5192,1
    - Dst: FragDemuxTrack
      Src: /src/vlc/modules/demux/mp4/mp4.c:5202,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/mp4/mp4.c:5214,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/mp4/mp4.c:5226,1
    - Dst: MP4_isMetadata
      Src: /src/vlc/modules/demux/mp4/mp4.c:5234,1
    - Dst: MP4_rescale_mtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:5237,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/mp4/mp4.c:5245,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 58
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5250
      start: 5130
    functionDepth: 8
    functionLinenumber: 5130
    functionLinenumberEnd: 5250
    functionName: DemuxMoof
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - MP4_isMetadata
    - FragDemuxTrack
    - MP4_rescale_mtime
    - __MIN
    - MP4_GetMoviePTS
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int DemuxMoof( demux_t *p_demux )
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/mp4.c:5265,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:5271,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:5277,1
    - Dst: MP4_BoxCount
      Src: /src/vlc/modules/demux/mp4/mp4.c:5278,1
    - Dst: MP4_GetTrackByTrackID
      Src: /src/vlc/modules/demux/mp4/mp4.c:5282,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:5282,1
    - Dst: realloc_or_free
      Src: /src/vlc/modules/demux/mp4/mp4.c:5286,1
    - Dst: memset
      Src: /src/vlc/modules/demux/mp4/mp4.c:5290,1
    - Dst: MP4_GetDefaultSizeAndDuration
      Src: /src/vlc/modules/demux/mp4/mp4.c:5296,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:5296,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:5310,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:5313,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:5320,1
    - Dst: CmpUUID
      Src: /src/vlc/modules/demux/mp4/mp4.c:5324,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mp4/mp4.c:5337,1
    - Dst: MP4_Fragment_Index_GetTrackStartTime
      Src: /src/vlc/modules/demux/mp4/mp4.c:5338,1
    - Dst: MP4_rescale
      Src: /src/vlc/modules/demux/mp4/mp4.c:5340,1
    - Dst: MP4_rescale
      Src: /src/vlc/modules/demux/mp4/mp4.c:5352,1
    - Dst: FragGetMoofSequenceNumber
      Src: /src/vlc/modules/demux/mp4/mp4.c:5359,1
    - Dst: MP4_rescale
      Src: /src/vlc/modules/demux/mp4/mp4.c:5361,1
    - Dst: GetMoovTrackDuration
      Src: /src/vlc/modules/demux/mp4/mp4.c:5361,1
    - Dst: MP4_rescale
      Src: /src/vlc/modules/demux/mp4/mp4.c:5370,1
    - Dst: MP4_rescale_qtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:5372,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:5380,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:5382,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:5385,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:5401,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:5413,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:5419,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:5421,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:5424,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:5440,1
    - Dst: MP4_rescale_mtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:5446,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mp4/mp4.c:5449,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 113
    argCount: 4
    argNames:
    - p_demux
    - p_moof
    - p_chunksidx
    - i_moof_time
    argTypes:
    - demux_t*
    - MP4_Box_t*
    - MP4_Box_t*
    - stime_t
    assertStmts:
    - condition: (p_track->context.runs.i_count < i_trun_count)
      pos:
        line_end: 5448
        line_start: 5448
        source_file: /src/vlc/modules/demux/mp4/mp4.c
    - condition: (&p_sys->track[i_track_index] == p_track)
      pos:
        line_end: 5336
        line_start: 5336
        source_file: /src/vlc/modules/demux/mp4/mp4.c
    constantsTouched: []
    func_position:
      end: 5487
      start: 5252
    functionDepth: 3
    functionLinenumber: 5252
    functionLinenumberEnd: 5487
    functionName: FragCreateTrunIndex
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 1
    functionsReached:
    - CmpUUID
    - assert
    - BOXDATA
    - memset
    - MP4_rescale
    - MP4_rescale_qtime
    - GetMoovTrackDuration
    - MP4_BoxCount
    - free
    - MP4_BoxGet
    - MP4_GetDefaultSizeAndDuration
    - FragGetMoofSequenceNumber
    - msg_Dbg
    - MP4_GetTrackByTrackID
    - MP4_Fragment_Index_GetTrackStartTime
    - MP4_rescale_mtime
    - realloc_or_free
    linkageType: ''
    returnType: int
    signature: "int FragCreateTrunIndex( demux_t *p_demux, MP4_Box_t *p_moof,\n                                MP4_Box_t
      *p_chunksidx, stime_t i_moof_time )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:5493,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:5499,1
    - Dst: MP4_rescale_qtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:5503,1
    - Dst: MP4_rescale_mtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:5514,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - p_demux
    - target_time
    - pi_moof_pos
    - pi_sampletime
    argTypes:
    - demux_t*
    - vlc_tick_t
    - uint64_t*
    - vlc_tick_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5523
      start: 5489
    functionDepth: 2
    functionLinenumber: 5489
    functionLinenumberEnd: 5523
    functionName: FragGetMoofBySidxIndex
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 1
    functionsReached:
    - MP4_rescale_mtime
    - BOXDATA
    - MP4_rescale_qtime
    - MP4_BoxGet
    linkageType: ''
    returnType: int
    signature: "int FragGetMoofBySidxIndex( demux_t *p_demux, vlc_tick_t target_time,\n
      \                                  uint64_t *pi_moof_pos, vlc_tick_t *pi_sampletime
      )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:5529,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:5534,1
    - Dst: MP4_GetTrackByTrackID
      Src: /src/vlc/modules/demux/mp4/mp4.c:5539,1
    - Dst: MP4_rescale_qtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:5542,1
    - Dst: MP4_rescale_mtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:5554,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 5
    argNames:
    - p_demux
    - i_target_time
    - i_track_ID
    - pi_moof_pos
    - pi_sampletime
    argTypes:
    - demux_t*
    - vlc_tick_t
    - unsigned
    - uint64_t*
    - vlc_tick_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5564
      start: 5525
    functionDepth: 2
    functionLinenumber: 5525
    functionLinenumberEnd: 5564
    functionName: FragGetMoofByTfraIndex
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 1
    functionsReached:
    - BOXDATA
    - MP4_rescale_qtime
    - MP4_BoxGet
    - MP4_rescale_mtime
    - MP4_GetTrackByTrackID
    linkageType: ''
    returnType: int
    signature: "int FragGetMoofByTfraIndex( demux_t *p_demux, const vlc_tick_t i_target_time,
      unsigned i_track_ID,\n                                   uint64_t *pi_moof_pos,
      vlc_tick_t *pi_sampletime )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MP4_GetTrexByTrackID
      Src: /src/vlc/modules/demux/mp4/mp4.c:5579,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:5583,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:5585,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - p_moov
    - p_tfhd_data
    - pi_default_size
    - pi_default_duration
    argTypes:
    - MP4_Box_t*
    - MP4_Box_data_tfhd_t*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5588
      start: 5566
    functionDepth: 2
    functionLinenumber: 5566
    functionLinenumberEnd: 5588
    functionName: MP4_GetDefaultSizeAndDuration
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 1
    functionsReached:
    - BOXDATA
    - MP4_GetTrexByTrackID
    linkageType: ''
    returnType: void
    signature: "void MP4_GetDefaultSizeAndDuration( MP4_Box_t *p_moov,\n                                           const
      MP4_Box_data_tfhd_t *p_tfhd_data,\n                                           uint32_t
      *pi_default_size,\n                                           uint32_t *pi_default_duration
      )"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/mp4.c:5596,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:5598,1
    - Dst: MP4_isMetadata
      Src: /src/vlc/modules/demux/mp4/mp4.c:5609,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mp4/mp4.c:5613,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/mp4.c:5617,1
    - Dst: MP4_TrackSelect
      Src: /src/vlc/modules/demux/mp4/mp4.c:5618,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:5627,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mp4/mp4.c:5636,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/mp4.c:5642,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mp4/mp4.c:5646,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mp4/mp4.c:5647,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mp4/mp4.c:5650,1
    - Dst: GetQWBE
      Src: /src/vlc/modules/demux/mp4/mp4.c:5655,1
    - Dst: MP4_Seek
      Src: /src/vlc/modules/demux/mp4/mp4.c:5670,1
    - Dst: MP4_BoxGetNextChunk
      Src: /src/vlc/modules/demux/mp4/mp4.c:5678,1
    - Dst: FragResetContext
      Src: /src/vlc/modules/demux/mp4/mp4.c:5695,1
    - Dst: MP4_BoxExtract
      Src: /src/vlc/modules/demux/mp4/mp4.c:5703,1
    - Dst: FragGetMoofSequenceNumber
      Src: /src/vlc/modules/demux/mp4/mp4.c:5706,1
    - Dst: msg_Info
      Src: /src/vlc/modules/demux/mp4/mp4.c:5709,1
    - Dst: FragPrepareChunk
      Src: /src/vlc/modules/demux/mp4/mp4.c:5714,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/mp4.c:5715,1
    - Dst: MP4_BoxFree
      Src: /src/vlc/modules/demux/mp4/mp4.c:5718,1
    - Dst: FragGetDemuxTimeFromTracksTime
      Src: /src/vlc/modules/demux/mp4/mp4.c:5725,1
    - Dst: MP4_BoxFree
      Src: /src/vlc/modules/demux/mp4/mp4.c:5734,1
    - Dst: msg_Info
      Src: /src/vlc/modules/demux/mp4/mp4.c:5738,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mp4/mp4.c:5746,1
    - Dst: DemuxMoov
      Src: /src/vlc/modules/demux/mp4/mp4.c:5752,1
    - Dst: DemuxMoof
      Src: /src/vlc/modules/demux/mp4/mp4.c:5755,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mp4/mp4.c:5758,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mp4/mp4.c:5766,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mp4/mp4.c:5770,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/mp4.c:5772,1
    - Dst: MP4_Seek
      Src: /src/vlc/modules/demux/mp4/mp4.c:5774,1
    - Dst: MP4_rescale_mtime
      Src: /src/vlc/modules/demux/mp4/mp4.c:5789,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/mp4/mp4.c:5794,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 131
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts:
    - condition: (p_sys->context.p_fragment_atom)
      pos:
        line_end: 5745
        line_start: 5745
        source_file: /src/vlc/modules/demux/mp4/mp4.c
    constantsTouched: []
    func_position:
      end: 5798
      start: 5590
    functionDepth: 9
    functionLinenumber: 5590
    functionLinenumberEnd: 5798
    functionName: DemuxFrag
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - assert
    - FragPrepareChunk
    - MP4_BoxGetNextChunk
    - msg_Err
    - MP4_Seek
    - msg_Dbg
    - MP4_rescale_mtime
    - msg_Warn
    - FragGetDemuxTimeFromTracksTime
    - VLC_FOURCC
    - MP4_isMetadata
    - FragResetContext
    - MP4_BoxFree
    - MP4_BoxGet
    - MP4_BoxExtract
    - FragGetMoofSequenceNumber
    - GetDWBE
    - vlc_stream_Tell
    - MP4_TrackSelect
    - es_out_SetPCR
    - vlc_stream_Peek
    - es_out_Control
    - DemuxMoof
    - msg_Info
    - GetQWBE
    - DemuxMoov
    - unlikely
    linkageType: ''
    returnType: int
    signature: int DemuxFrag( demux_t *p_demux )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/mp4.c:5809,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - p_packetsys
    - i_stream_number
    argTypes:
    - asf_packet_sys_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5815
      start: 5801
    functionDepth: 1
    functionLinenumber: 5801
    functionLinenumberEnd: 5815
    functionName: MP4ASF_GetTrack
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - BOXDATA
    linkageType: ''
    returnType: mp4_track_t
    signature: "mp4_track_t *MP4ASF_GetTrack( asf_packet_sys_t *p_packetsys,\n                                            uint8_t
      i_stream_number )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP4ASF_GetTrack
      Src: /src/vlc/modules/demux/mp4/mp4.c:5820,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_packetsys
    - i_stream_number
    argTypes:
    - asf_packet_sys_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5825
      start: 5817
    functionDepth: 2
    functionLinenumber: 5817
    functionLinenumberEnd: 5825
    functionName: MP4ASF_GetTrackInfo
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - MP4ASF_GetTrack
    linkageType: ''
    returnType: asf_track_info_t
    signature: "asf_track_info_t * MP4ASF_GetTrackInfo( asf_packet_sys_t *p_packetsys,\n
      \                                              uint8_t i_stream_number )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP4ASF_GetTrack
      Src: /src/vlc/modules/demux/mp4/mp4.c:5831,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mp4/mp4.c:5834,1
    - Dst: block_ChainGather
      Src: /src/vlc/modules/demux/mp4/mp4.c:5838,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/mp4/mp4.c:5841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - p_packetsys
    - i_stream_number
    - pp_frame
    argTypes:
    - asf_packet_sys_t*
    - uint8_t
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5845
      start: 5827
    functionDepth: 2
    functionLinenumber: 5827
    functionLinenumberEnd: 5845
    functionName: MP4ASF_Send
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 0
    functionsReached:
    - block_Release
    - MP4ASF_GetTrack
    - es_out_Send
    - block_ChainGather
    linkageType: ''
    returnType: void
    signature: "void MP4ASF_Send( asf_packet_sys_t *p_packetsys, uint8_t i_stream_number,\n
      \                        block_t **pp_frame )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASFPacketTrackReset
      Src: /src/vlc/modules/demux/mp4/mp4.c:5852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - demux_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5854
      start: 5847
    functionDepth: 1
    functionLinenumber: 5847
    functionLinenumberEnd: 5854
    functionName: MP4ASF_ResetFrames
    functionSourceFile: /src/vlc/modules/demux/mp4/mp4.c
    functionUses: 2
    functionsReached:
    - ASFPacketTrackReset
    linkageType: ''
    returnType: void
    signature: void MP4ASF_ResetFrames( demux_sys_t *p_sys )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mp4/attachments.c:41,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/attachments.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p_root
    - ppsz_path
    argTypes:
    - MP4_Box_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 51
    functionName: MP4_GetMetaRoot
    functionSourceFile: /src/vlc/modules/demux/mp4/attachments.c
    functionUses: 1
    functionsReached:
    - ARRAY_SIZE
    - MP4_BoxGet
    linkageType: ''
    returnType: MP4_Box_t
    signature: MP4_Box_t *MP4_GetMetaRoot( const MP4_Box_t *p_root, const char **ppsz_path
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mp4/attachments.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum detectedImageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: getMimeType
    functionSourceFile: /src/vlc/modules/demux/mp4/attachments.c
    functionUses: 3
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char * getMimeType( enum detectedImageType type )
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - e_wellknowntype
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 92
    functionName: wellKnownToimageType
    functionSourceFile: /src/vlc/modules/demux/mp4/attachments.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum detectedImageType
    signature: enum detectedImageType wellKnownToimageType( int e_wellknowntype )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mp4/attachments.c:98,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mp4/attachments.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - p_data
    - i_data
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: probeImageType
    functionSourceFile: /src/vlc/modules/demux/mp4/attachments.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: enum detectedImageType
    signature: enum detectedImageType probeImageType( const uint8_t *p_data, size_t
      i_data )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/attachments.c:115,1
    - Dst: wellKnownToimageType
      Src: /src/vlc/modules/demux/mp4/attachments.c:116,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/attachments.c:117,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - p_data
    - pi_index
    - ctx
    argTypes:
    - MP4_Box_t*
    - unsigned*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 123
    functionName: GetValidCovrMeta
    functionSourceFile: /src/vlc/modules/demux/mp4/attachments.c
    functionUses: 0
    functionsReached:
    - wellKnownToimageType
    - BOXDATA
    linkageType: ''
    returnType: MP4_Box_t
    signature: "MP4_Box_t * GetValidCovrMeta( const MP4_Box_t *p_data,\n                                           unsigned
      *pi_index,\n                                           const void **ctx )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/attachments.c:134,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/attachments.c:135,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - p_pnot
    - pi_index
    - ctx
    argTypes:
    - MP4_Box_t*
    - unsigned*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 141
    functionName: GetValidPnotMeta
    functionSourceFile: /src/vlc/modules/demux/mp4/attachments.c
    functionUses: 0
    functionsReached:
    - BOXDATA
    linkageType: ''
    returnType: MP4_Box_t
    signature: "MP4_Box_t * GetValidPnotMeta( const MP4_Box_t *p_pnot,\n                                           unsigned
      *pi_index,\n                                           const void **ctx )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: probeImageType
      Src: /src/vlc/modules/demux/mp4/attachments.c:153,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - p_thum
    - pi_index
    - ctx
    argTypes:
    - MP4_Box_t*
    - unsigned*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 161
    functionName: GetValidThumMeta
    functionSourceFile: /src/vlc/modules/demux/mp4/attachments.c
    functionUses: 0
    functionsReached:
    - probeImageType
    linkageType: ''
    returnType: MP4_Box_t
    signature: "MP4_Box_t * GetValidThumMeta( const MP4_Box_t *p_thum,\n                                           unsigned
      *pi_index,\n                                           const void **ctx )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/attachments.c:175,1
    - Dst: GetValidCovrMeta
      Src: /src/vlc/modules/demux/mp4/attachments.c:178,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/mp4/attachments.c:181,1
    - Dst: vlc_meta_SetArtURL
      Src: /src/vlc/modules/demux/mp4/attachments.c:185,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/attachments.c:187,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/attachments.c:193,1
    - Dst: GetValidPnotMeta
      Src: /src/vlc/modules/demux/mp4/attachments.c:197,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/mp4/attachments.c:200,1
    - Dst: vlc_meta_SetArtURL
      Src: /src/vlc/modules/demux/mp4/attachments.c:203,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/attachments.c:205,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/attachments.c:212,1
    - Dst: GetValidThumMeta
      Src: /src/vlc/modules/demux/mp4/attachments.c:216,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/mp4/attachments.c:219,1
    - Dst: vlc_meta_SetArtURL
      Src: /src/vlc/modules/demux/mp4/attachments.c:223,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/attachments.c:225,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 4
    argNames:
    - p_root
    - p_metaroot
    - psz_metapath
    - p_meta
    argTypes:
    - MP4_Box_t*
    - MP4_Box_t*
    - char*
    - vlc_meta_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 234
    functionName: MP4_GetCoverMetaURI
    functionSourceFile: /src/vlc/modules/demux/mp4/attachments.c
    functionUses: 1
    functionsReached:
    - GetValidThumMeta
    - asprintf
    - GetValidCovrMeta
    - MP4_BoxGet
    - free
    - vlc_meta_SetArtURL
    - GetValidPnotMeta
    linkageType: ''
    returnType: int
    signature: "int MP4_GetCoverMetaURI( const MP4_Box_t *p_root,\n                         const
      MP4_Box_t *p_metaroot,\n                         const char *psz_metapath,\n
      \                        vlc_meta_t *p_meta )"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: MP4_GetMetaRoot
      Src: /src/vlc/modules/demux/mp4/attachments.c:245,1
    - Dst: MP4_BoxCount
      Src: /src/vlc/modules/demux/mp4/attachments.c:248,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/attachments.c:249,1
    - Dst: MP4_BoxCount
      Src: /src/vlc/modules/demux/mp4/attachments.c:254,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/attachments.c:255,1
    - Dst: MP4_BoxCount
      Src: /src/vlc/modules/demux/mp4/attachments.c:259,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/attachments.c:260,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mp4/attachments.c:267,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/attachments.c:277,1
    - Dst: GetValidCovrMeta
      Src: /src/vlc/modules/demux/mp4/attachments.c:280,1
    - Dst: wellKnownToimageType
      Src: /src/vlc/modules/demux/mp4/attachments.c:285,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/attachments.c:285,1
    - Dst: getMimeType
      Src: /src/vlc/modules/demux/mp4/attachments.c:286,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/mp4/attachments.c:288,1
    - Dst: vlc_input_attachment_New
      Src: /src/vlc/modules/demux/mp4/attachments.c:293,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/attachments.c:297,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/attachments.c:298,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/attachments.c:299,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/attachments.c:307,1
    - Dst: GetValidPnotMeta
      Src: /src/vlc/modules/demux/mp4/attachments.c:312,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/mp4/attachments.c:315,1
    - Dst: MP4_BoxGetVa
      Src: /src/vlc/modules/demux/mp4/attachments.c:317,1
    - Dst: vlc_input_attachment_New
      Src: /src/vlc/modules/demux/mp4/attachments.c:323,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/attachments.c:329,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/attachments.c:339,1
    - Dst: GetValidThumMeta
      Src: /src/vlc/modules/demux/mp4/attachments.c:344,1
    - Dst: probeImageType
      Src: /src/vlc/modules/demux/mp4/attachments.c:348,1
    - Dst: getMimeType
      Src: /src/vlc/modules/demux/mp4/attachments.c:350,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/mp4/attachments.c:351,1
    - Dst: vlc_input_attachment_New
      Src: /src/vlc/modules/demux/mp4/attachments.c:354,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/attachments.c:360,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/attachments.c:370,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 2
    argNames:
    - p_root
    - ppp_attach
    argTypes:
    - MP4_Box_t*
    - input_attachment_t***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 377
    functionName: MP4_GetAttachments
    functionSourceFile: /src/vlc/modules/demux/mp4/attachments.c
    functionUses: 1
    functionsReached:
    - wellKnownToimageType
    - GetValidThumMeta
    - asprintf
    - BOXDATA
    - GetValidCovrMeta
    - MP4_BoxGetVa
    - vlc_input_attachment_New
    - MP4_BoxGet
    - MP4_BoxCount
    - free
    - probeImageType
    - vlc_alloc
    - MP4_GetMetaRoot
    - unlikely
    - GetValidPnotMeta
    - getMimeType
    linkageType: ''
    returnType: size_t
    signature: size_t MP4_GetAttachments( const MP4_Box_t *p_root, input_attachment_t
      ***ppp_attach )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fx
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: conv_fx
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double conv_fx( int32_t fx )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ckd_mul
      Src: /src/vlc/modules/demux/mp4/libmp4.c:64,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/mp4/libmp4.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - i_duration
    - i_scale
    argTypes:
    - stime_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: MP4_Time2Str
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - ckd_mul
    - asprintf
    linkageType: ''
    returnType: char
    signature: char * MP4_Time2Str( stime_t i_duration, uint32_t i_scale )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dst
    - ','
    - code
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: MP4_GETX_PRIVATE
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MP4_GETX_PRIVATE(dst, code, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 106
    functionName: MP4_COPY_BYTES
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MP4_COPY_BYTES( dst, size )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 120
    functionName: MP4_SKIPBYTES
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MP4_SKIPBYTES(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: MP4_GET1BYTE
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MP4_GET1BYTE( dst )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: MP4_GET2BYTES
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MP4_GET2BYTES( dst )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: MP4_GET3BYTES
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MP4_GET3BYTES( dst )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: MP4_GET4BYTES
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MP4_GET4BYTES( dst )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: MP4_GET8BYTES
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MP4_GET8BYTES( dst )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: MP4_GET2BYTESLE
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MP4_GET2BYTESLE( dst )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: MP4_GET4BYTESLE
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MP4_GET4BYTESLE( dst )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: MP4_GET8BYTESLE
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MP4_GET8BYTESLE( dst )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: MP4_GETFOURCC
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MP4_GETFOURCC( dst )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p_void
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: MP4_GETVERSIONFLAGS
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MP4_GETVERSIONFLAGS( p_void )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/mp4/libmp4.c:149,1
    - Dst: strnlen
      Src: /src/vlc/modules/demux/mp4/libmp4.c:154,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:163,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mp4/libmp4.c:164,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/libmp4.c:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - in
    - size
    argTypes:
    - uint8_t**
    - uint64_t*
    assertStmts:
    - condition: ( *size <= SSIZE_MAX )
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/vlc/modules/demux/mp4/libmp4.c
    constantsTouched: []
    func_position:
      end: 174
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 174
    functionName: mp4_getstringz
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - assert
    - strnlen
    - memcpy
    - likely
    - malloc
    linkageType: ''
    returnType: char
    signature: char *mp4_getstringz( uint8_t **restrict in, uint64_t *restrict size
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p_str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: MP4_GETSTRINGZ
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MP4_GETSTRINGZ( p_str )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: MP4_BOX_TYPE_ASCII
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MP4_BOX_TYPE_ASCII()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: Get24bBE
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Get24bBE( const uint8_t *p )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/libmp4.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_uuid
    - p_buff
    argTypes:
    - UUID_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: GetUUID
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void GetUUID( UUID_t *p_uuid, const uint8_t *p_buff )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: GetDepth
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned GetDepth( const MP4_Box_t *box )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:211,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:214,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:216,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:221,1
    - Dst: MP4_SKIPBYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:226,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:227,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:228,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:229,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - pp_peek
    - pi_read
    argTypes:
    - uint8_t**
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 236
    functionName: ReadQuicktimePalette
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - malloc
    - MP4_SKIPBYTES
    - MP4_GET2BYTES
    linkageType: ''
    returnType: video_palette_t
    signature: video_palette_t * ReadQuicktimePalette( uint8_t **pp_peek, uint64_t
      *pi_read )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mp4_box_headersize
      Src: /src/vlc/modules/demux/mp4/libmp4.c:243,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/libmp4.c:245,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/libmp4.c:245,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:248,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/libmp4.c:249,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/mp4/libmp4.c:252,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/libmp4.c:255,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:259,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/libmp4.c:260,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:266,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - s
    - box
    - typesize
    - readsize
    argTypes:
    - stream_t*
    - MP4_Box_t*
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 268
    functionName: mp4_readbox_enter_common
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - calloc
    - free
    - vlc_stream_Read
    - msg_Warn
    - unlikely
    - malloc
    - mp4_box_headersize
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *mp4_readbox_enter_common( stream_t *s, MP4_Box_t *box,\n
      \                                         size_t typesize,\n                                          void
      (*release)( MP4_Box_t * ),\n                                          uint64_t
      readsize )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mp4_readbox_enter_common
      Src: /src/vlc/modules/demux/mp4/libmp4.c:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - s
    - box
    - typesize
    - readsize
    argTypes:
    - stream_t*
    - MP4_Box_t*
    - size_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 279
    functionName: mp4_readbox_enter_partial
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - mp4_readbox_enter_common
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *mp4_readbox_enter_partial( stream_t *s, MP4_Box_t *box,\n
      \                                          size_t typesize,\n                                           void
      (*release)( MP4_Box_t * ),\n                                           uint64_t
      *restrict readsize )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mp4_readbox_enter_common
      Src: /src/vlc/modules/demux/mp4/libmp4.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - box
    - typesize
    argTypes:
    - stream_t*
    - MP4_Box_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 287
    functionName: mp4_readbox_enter
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - mp4_readbox_enter_common
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *mp4_readbox_enter( stream_t *s, MP4_Box_t *box,\n                                   size_t
      typesize,\n                                   void (*release)( MP4_Box_t * )
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - MP4_Box_data_TYPE_t
    - ','
    - maxread
    - ','
    - release
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 299
    functionName: MP4_READBOX_ENTER_PARTIAL
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MP4_READBOX_ENTER_PARTIAL( MP4_Box_data_TYPE_t, maxread, release )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - MP4_Box_data_TYPE_t
    - ','
    - release
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 309
    functionName: MP4_READBOX_ENTER
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MP4_READBOX_ENTER( MP4_Box_data_TYPE_t, release )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i_code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 316
    functionName: MP4_READBOX_EXIT
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MP4_READBOX_EXIT( i_code )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/mp4/libmp4.c:329,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/mp4/libmp4.c:333,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mp4/libmp4.c:337,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/mp4/libmp4.c:347,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - p_stream
    - i_pos
    argTypes:
    - stream_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 350
    functionName: MP4_Seek
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 3
    functionsReached:
    - vlc_stream_Seek
    - vlc_stream_Tell
    - vlc_stream_Read
    - vlc_stream_Control
    linkageType: ''
    returnType: int
    signature: int MP4_Seek( stream_t *p_stream, uint64_t i_pos )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p_parent
    - p_childbox
    argTypes:
    - MP4_Box_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 360
    functionName: MP4_BoxAddChild
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MP4_BoxAddChild( MP4_Box_t *p_parent, MP4_Box_t *p_childbox )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pp_chain
    - i_type
    argTypes:
    - MP4_Box_t**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 378
    functionName: MP4_BoxExtract
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: MP4_Box_t
    signature: MP4_Box_t * MP4_BoxExtract( MP4_Box_t **pp_chain, uint32_t i_type )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 383
    functionName: vlc_stream_Seek
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 90
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vlc_stream_Seek(a,b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mp4/libmp4.c:397,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mp4/libmp4.c:401,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:409,1
    - Dst: MP4_GETFOURCC
      Src: /src/vlc/modules/demux/mp4/libmp4.c:410,1
    - Dst: MP4_GET8BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:419,1
    - Dst: GetUUID
      Src: /src/vlc/modules/demux/mp4/libmp4.c:435,1
    - Dst: MP4_BOX_TYPE_ASCII
      Src: /src/vlc/modules/demux/mp4/libmp4.c:441,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:442,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 451
    functionName: MP4_PeekBoxHeader
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - vlc_stream_Peek
    - MP4_GETFOURCC
    - MP4_GET8BYTES
    - msg_Dbg
    - vlc_stream_Tell
    - MP4_BOX_TYPE_ASCII
    - GetUUID
    linkageType: ''
    returnType: int
    signature: int MP4_PeekBoxHeader( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: MP4_PeekBoxHeader
      Src: /src/vlc/modules/demux/mp4/libmp4.c:463,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/libmp4.c:468,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mp4/libmp4.c:469,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/libmp4.c:491,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:497,1
    - Dst: MP4_Box_Read_Specific
      Src: /src/vlc/modules/demux/mp4/libmp4.c:504,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/libmp4.c:506,1
    - Dst: MP4_BoxFree
      Src: /src/vlc/modules/demux/mp4/libmp4.c:507,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mp4/libmp4.c:512,1
    - Dst: MP4_Seek
      Src: /src/vlc/modules/demux/mp4/libmp4.c:514,1
    - Dst: MP4_Seek
      Src: /src/vlc/modules/demux/mp4/libmp4.c:515,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mp4/libmp4.c:516,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/libmp4.c:518,1
    - Dst: MP4_BoxFree
      Src: /src/vlc/modules/demux/mp4/libmp4.c:519,1
    - Dst: MP4_BoxAddChild
      Src: /src/vlc/modules/demux/mp4/libmp4.c:525,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 4
    argNames:
    - p_stream
    - p_father
    - stopbefore
    - pb_restrictionhit
    argTypes:
    - stream_t*
    - MP4_Box_t*
    - uint32_t[]
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 528
    functionName: MP4_ReadBoxRestricted
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_PeekBoxHeader
    - MP4_BoxFree
    - MP4_Box_Read_Specific
    - MP4_Seek
    - msg_Warn
    - vlc_stream_Tell
    - malloc
    - MP4_BoxAddChild
    linkageType: ''
    returnType: MP4_Box_t
    signature: "MP4_Box_t *MP4_ReadBoxRestricted( stream_t *p_stream, MP4_Box_t *p_father,\n
      \                                        const uint32_t stopbefore[], bool *pb_restrictionhit
      )"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mp4/libmp4.c:542,1
    - Dst: GetDepth
      Src: /src/vlc/modules/demux/mp4/libmp4.c:550,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mp4/libmp4.c:563,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/mp4/libmp4.c:572,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:574,1
    - Dst: MP4_ReadBoxRestricted
      Src: /src/vlc/modules/demux/mp4/libmp4.c:577,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mp4/libmp4.c:588,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mp4/libmp4.c:591,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mp4/libmp4.c:609,1
    - Dst: MP4_Seek
      Src: /src/vlc/modules/demux/mp4/libmp4.c:611,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 42
    argCount: 5
    argNames:
    - p_stream
    - p_container
    - stoplist
    - excludelist
    - b_indexed
    argTypes:
    - stream_t*
    - MP4_Box_t*
    - uint32_t[]
    - uint32_t[]
    - bool
    assertStmts:
    - condition: ( i_tell == i_end )
      pos:
        line_end: 590
        line_start: 590
        source_file: /src/vlc/modules/demux/mp4/libmp4.c
    constantsTouched: []
    func_position:
      end: 615
      start: 535
    functionDepth: 3
    functionLinenumber: 535
    functionLinenumberEnd: 615
    functionName: MP4_ReadBoxContainerChildrenIndexed
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - GetDepth
    - assert
    - MP4_ReadBoxRestricted
    - vlc_stream_Read
    - MP4_Seek
    - GetDWBE
    - vlc_stream_Tell
    linkageType: ''
    returnType: int
    signature: "int MP4_ReadBoxContainerChildrenIndexed( stream_t *p_stream,\n               MP4_Box_t
      *p_container, const uint32_t stoplist[],\n               const uint32_t excludelist[],
      bool b_indexed )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_ReadBoxContainerChildrenIndexed
      Src: /src/vlc/modules/demux/mp4/libmp4.c:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p_stream
    - p_container
    - stoplist
    - excludelist
    argTypes:
    - stream_t*
    - MP4_Box_t*
    - uint32_t[]
    - uint32_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 617
    functionDepth: 4
    functionLinenumber: 617
    functionLinenumberEnd: 622
    functionName: MP4_ReadBoxContainerRestricted
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 1
    functionsReached:
    - MP4_ReadBoxContainerChildrenIndexed
    linkageType: ''
    returnType: int
    signature: "int MP4_ReadBoxContainerRestricted( stream_t *p_stream, MP4_Box_t
      *p_container,\n                                    const uint32_t stoplist[],
      const uint32_t excludelist[] )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_ReadBoxContainerChildrenIndexed
      Src: /src/vlc/modules/demux/mp4/libmp4.c:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_stream
    - p_container
    - stoplist
    argTypes:
    - stream_t*
    - MP4_Box_t*
    - uint32_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 624
    functionDepth: 4
    functionLinenumber: 624
    functionLinenumberEnd: 629
    functionName: MP4_ReadBoxContainerChildren
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 3
    functionsReached:
    - MP4_ReadBoxContainerChildrenIndexed
    linkageType: ''
    returnType: int
    signature: "int MP4_ReadBoxContainerChildren( stream_t *p_stream, MP4_Box_t *p_container,\n
      \                                 const uint32_t stoplist[] )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxOffsetUp
      Src: /src/vlc/modules/demux/mp4/libmp4.c:636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p_box
    - i_offset
    argTypes:
    - MP4_Box_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 639
    functionName: MP4_BoxOffsetUp
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 1
    functionsReached:
    - MP4_BoxOffsetUp
    linkageType: ''
    returnType: void
    signature: void MP4_BoxOffsetUp( MP4_Box_t *p_box, uint64_t i_offset )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_MemoryNew
      Src: /src/vlc/modules/demux/mp4/libmp4.c:647,1
    - Dst: MP4_ReadBoxContainerChildren
      Src: /src/vlc/modules/demux/mp4/libmp4.c:652,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/mp4/libmp4.c:653,1
    - Dst: MP4_BoxOffsetUp
      Src: /src/vlc/modules/demux/mp4/libmp4.c:658,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - p_stream
    - p_container
    - p_buffer
    - i_size
    - i_offset
    argTypes:
    - stream_t*
    - MP4_Box_t*
    - uint8_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 642
    functionDepth: 5
    functionLinenumber: 642
    functionLinenumberEnd: 662
    functionName: MP4_ReadBoxContainerRawInBox
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_BoxOffsetUp
    - MP4_ReadBoxContainerChildren
    - vlc_stream_MemoryNew
    - vlc_stream_Delete
    linkageType: ''
    returnType: int
    signature: "int MP4_ReadBoxContainerRawInBox( stream_t *p_stream, MP4_Box_t *p_container,\n
      \                                        uint8_t *p_buffer, uint64_t i_size,
      uint64_t i_offset )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mp4_box_headersize
      Src: /src/vlc/modules/demux/mp4/libmp4.c:667,1
    - Dst: MP4_Seek
      Src: /src/vlc/modules/demux/mp4/libmp4.c:674,1
    - Dst: mp4_box_headersize
      Src: /src/vlc/modules/demux/mp4/libmp4.c:675,1
    - Dst: MP4_ReadBoxContainerChildren
      Src: /src/vlc/modules/demux/mp4/libmp4.c:677,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - p_stream
    - p_container
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 664
    functionDepth: 5
    functionLinenumber: 664
    functionLinenumberEnd: 678
    functionName: MP4_ReadBoxContainer
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_Seek
    - MP4_ReadBoxContainerChildren
    - mp4_box_headersize
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBoxContainer( stream_t *p_stream, MP4_Box_t *p_container
      )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mp4_box_headersize
      Src: /src/vlc/modules/demux/mp4/libmp4.c:688,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mp4/libmp4.c:691,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/libmp4.c:692,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/libmp4.c:700,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/libmp4.c:704,1
    - Dst: MP4_ReadBoxContainer
      Src: /src/vlc/modules/demux/mp4/libmp4.c:707,1
    - Dst: MP4_BOX_TYPE_ASCII
      Src: /src/vlc/modules/demux/mp4/libmp4.c:714,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:715,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 680
    functionDepth: 6
    functionLinenumber: 680
    functionLinenumberEnd: 720
    functionName: MP4_ReadBoxSkip
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - MP4_BOX_TYPE_ASCII
    - vlc_stream_Peek
    - msg_Dbg
    - msg_Warn
    - unlikely
    - MP4_ReadBoxContainer
    - mp4_box_headersize
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBoxSkip( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mp4_box_headersize
      Src: /src/vlc/modules/demux/mp4/libmp4.c:725,1
    - Dst: MP4_Seek
      Src: /src/vlc/modules/demux/mp4/libmp4.c:732,1
    - Dst: mp4_box_headersize
      Src: /src/vlc/modules/demux/mp4/libmp4.c:733,1
    - Dst: MP4_ReadBoxContainerChildren
      Src: /src/vlc/modules/demux/mp4/libmp4.c:735,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/libmp4.c:736,1
    - Dst: MP4_Seek
      Src: /src/vlc/modules/demux/mp4/libmp4.c:740,1
    - Dst: MP4_Box_Read_Specific
      Src: /src/vlc/modules/demux/mp4/libmp4.c:741,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/libmp4.c:743,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - p_stream
    - p_container
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 722
    functionDepth: 5
    functionLinenumber: 722
    functionLinenumberEnd: 747
    functionName: MP4_ReadBox_mdia
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_ReadBoxContainerChildren
    - MP4_BoxGet
    - MP4_Box_Read_Specific
    - MP4_Seek
    - msg_Warn
    - mp4_box_headersize
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_mdia( stream_t *p_stream, MP4_Box_t *p_container )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/mp4/libmp4.c:751,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/libmp4.c:772,1
    - Dst: MP4_ReadBoxContainerChildrenIndexed
      Src: /src/vlc/modules/demux/mp4/libmp4.c:775,1
    - Dst: MP4_ReadBoxContainerChildren
      Src: /src/vlc/modules/demux/mp4/libmp4.c:777,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/libmp4.c:779,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 749
    functionDepth: 5
    functionLinenumber: 749
    functionLinenumberEnd: 782
    functionName: MP4_ReadBox_ilst
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Read
    - MP4_ReadBoxContainerChildren
    - MP4_ReadBoxContainerChildrenIndexed
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_ilst( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 787
    functionName: MP4_FreeBox_ftyp
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_ftyp( MP4_Box_t *p_box )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:791,1
    - Dst: MP4_GETFOURCC
      Src: /src/vlc/modules/demux/mp4/libmp4.c:793,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:794,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:800,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/libmp4.c:803,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:804,1
    - Dst: MP4_GETFOURCC
      Src: /src/vlc/modules/demux/mp4/libmp4.c:808,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:816,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 817
    functionName: MP4_ReadBox_ftyp
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_GETFOURCC
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - vlc_alloc
    - unlikely
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_ftyp( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:822,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:824,1
    - Dst: MP4_GET8BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:828,1
    - Dst: MP4_GET8BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:829,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:830,1
    - Dst: MP4_GET8BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:831,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:835,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:836,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:837,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:838,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:840,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:841,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:842,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:847,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:851,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:855,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:858,1
    - Dst: MP4_Time2Str
      Src: /src/vlc/modules/demux/mp4/libmp4.c:862,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:863,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:869,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:871,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 820
    functionDepth: 3
    functionLinenumber: 820
    functionLinenumberEnd: 872
    functionName: MP4_ReadBox_mvhd
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_GET2BYTES
    - MP4_READBOX_ENTER
    - MP4_GET8BYTES
    - free
    - MP4_READBOX_EXIT
    - msg_Dbg
    - MP4_GETVERSIONFLAGS
    - MP4_Time2Str
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_mvhd(  stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:876,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:878,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:880,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:883,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 887
    functionName: MP4_ReadBox_mfhd
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - msg_Dbg
    - MP4_GETVERSIONFLAGS
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_mfhd(  stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:891,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:894,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:898,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:899,1
    - Dst: MP4_GET8BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:903,1
    - Dst: MP4_GET8BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:904,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:908,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:917,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 918
    functionName: MP4_ReadBox_tfxd
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_READBOX_ENTER
    - MP4_GET8BYTES
    - MP4_READBOX_EXIT
    - msg_Dbg
    - MP4_GETVERSIONFLAGS
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_tfxd(  stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 923
    functionName: MP4_FreeBox_tfrf
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_tfrf( MP4_Box_t *p_box )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:927,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:930,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:932,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:934,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:937,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:944,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:945,1
    - Dst: MP4_GET8BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:949,1
    - Dst: MP4_GET8BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:950,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:955,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:962,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:970,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 925
    functionDepth: 1
    functionLinenumber: 925
    functionLinenumberEnd: 971
    functionName: MP4_ReadBox_tfrf
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_GET1BYTE
    - MP4_READBOX_ENTER
    - MP4_GET8BYTES
    - calloc
    - MP4_READBOX_EXIT
    - msg_Dbg
    - MP4_GETVERSIONFLAGS
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_tfrf(  stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:975,1
    - Dst: strndup
      Src: /src/vlc/modules/demux/mp4/libmp4.c:981,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/libmp4.c:983,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:984,1
    - Dst: strcasestr
      Src: /src/vlc/modules/demux/mp4/libmp4.c:989,1
    - Dst: strcasestr
      Src: /src/vlc/modules/demux/mp4/libmp4.c:993,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:995,1
    - Dst: strcasestr
      Src: /src/vlc/modules/demux/mp4/libmp4.c:999,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1001,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1005,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1007,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 973
    functionDepth: 2
    functionLinenumber: 973
    functionLinenumberEnd: 1008
    functionName: MP4_ReadBox_XML360
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - strndup
    - MP4_READBOX_ENTER
    - free
    - MP4_READBOX_EXIT
    - msg_Dbg
    - strcasestr
    - unlikely
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_XML360( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1012,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1015,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1017,1
    - Dst: MP4_SKIPBYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1019,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1022,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1024,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1010
    functionDepth: 1
    functionLinenumber: 1010
    functionLinenumberEnd: 1025
    functionName: MP4_ReadBox_st3d
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET1BYTE
    - MP4_READBOX_EXIT
    - MP4_READBOX_ENTER
    - MP4_SKIPBYTES
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_st3d( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1029,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1032,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1034,1
    - Dst: MP4_SKIPBYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1036,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1040,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1043,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1046,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1049,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1027
    functionDepth: 1
    functionLinenumber: 1027
    functionLinenumberEnd: 1050
    functionName: MP4_ReadBox_prhd
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_GET1BYTE
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - MP4_SKIPBYTES
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_prhd( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1054,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1057,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1059,1
    - Dst: MP4_SKIPBYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1061,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1064,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1065,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1066,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1067,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1069,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1052
    functionDepth: 1
    functionLinenumber: 1052
    functionLinenumberEnd: 1070
    functionName: MP4_ReadBox_equi
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_GET1BYTE
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - MP4_SKIPBYTES
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_equi( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1074,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1077,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1079,1
    - Dst: MP4_SKIPBYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1081,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1084,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1085,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1087,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1072
    functionDepth: 1
    functionLinenumber: 1072
    functionLinenumberEnd: 1088
    functionName: MP4_ReadBox_cbmp
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_GET1BYTE
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - MP4_SKIPBYTES
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_cbmp( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1093
    functionName: MP4_FreeBox_sidx
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_sidx( MP4_Box_t *p_box )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1097,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1100,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1102,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1103,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1107,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1108,1
    - Dst: MP4_GET8BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1112,1
    - Dst: MP4_GET8BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1113,1
    - Dst: MP4_SKIPBYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1118,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1119,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1121,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1124,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1125,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1126,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1133,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1136,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1138,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1145,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1095
    functionDepth: 1
    functionLinenumber: 1095
    functionLinenumberEnd: 1158
    functionName: MP4_ReadBox_sidx
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_GET2BYTES
    - MP4_READBOX_ENTER
    - MP4_GET8BYTES
    - MP4_READBOX_EXIT
    - msg_Dbg
    - vlc_alloc
    - MP4_GETVERSIONFLAGS
    - unlikely
    - MP4_SKIPBYTES
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_sidx(  stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1162,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1164,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1168,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1170,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1173,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1177,1
    - Dst: MP4_GET8BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1185,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1187,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1189,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1191,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1193,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1202,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1204,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1206,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1208,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1210,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1212,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1219,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1160
    functionDepth: 1
    functionLinenumber: 1160
    functionLinenumberEnd: 1220
    functionName: MP4_ReadBox_tfhd
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_READBOX_ENTER
    - MP4_GET8BYTES
    - MP4_READBOX_EXIT
    - msg_Dbg
    - MP4_GETVERSIONFLAGS
    - msg_Warn
    - snprintf
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_tfhd(  stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1225
    functionName: MP4_FreeBox_trun
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_trun( MP4_Box_t *p_box )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1231,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1233,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1234,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1237,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1239,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1248,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1250,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1252,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1259,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1261,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1263,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1265,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1269,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1277,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1284,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1227
    functionDepth: 1
    functionLinenumber: 1227
    functionLinenumberEnd: 1285
    functionName: MP4_ReadBox_trun
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - msg_Dbg
    - vlc_alloc
    - MP4_GETVERSIONFLAGS
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_trun(  stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1289,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1291,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1293,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1296,1
    - Dst: MP4_GET8BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1298,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1300,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1287
    functionDepth: 1
    functionLinenumber: 1287
    functionLinenumberEnd: 1303
    functionName: MP4_ReadBox_tfdt
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_READBOX_ENTER
    - MP4_GET8BYTES
    - MP4_READBOX_EXIT
    - MP4_GETVERSIONFLAGS
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_tfdt( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1307,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1309,1
    - Dst: MP4_GET8BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1313,1
    - Dst: MP4_GET8BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1314,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1315,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1316,1
    - Dst: MP4_GET8BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1317,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1321,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1322,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1323,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1324,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1325,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1330,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1332,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1333,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1334,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1335,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1339,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1341,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1342,1
    - Dst: sqrt
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1357,1
    - Dst: conv_fx
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1357,1
    - Dst: conv_fx
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1357,1
    - Dst: conv_fx
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1358,1
    - Dst: conv_fx
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1358,1
    - Dst: sqrt
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1359,1
    - Dst: conv_fx
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1359,1
    - Dst: conv_fx
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1359,1
    - Dst: conv_fx
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1360,1
    - Dst: conv_fx
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1360,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1362,1
    - Dst: atan2
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1364,1
    - Dst: conv_fx
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1364,1
    - Dst: conv_fx
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1365,1
    - Dst: conv_fx
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1375,1
    - Dst: conv_fx
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1376,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1378,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1402,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1305
    functionDepth: 1
    functionLinenumber: 1305
    functionLinenumberEnd: 1403
    functionName: MP4_ReadBox_tkhd
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - conv_fx
    - MP4_GET4BYTES
    - MP4_GET2BYTES
    - sqrt
    - atan2
    - MP4_READBOX_ENTER
    - MP4_GET8BYTES
    - MP4_READBOX_EXIT
    - msg_Dbg
    - likely
    - MP4_GETVERSIONFLAGS
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_tkhd(  stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1409,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1410,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1411,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1412,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1413,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1405
    functionDepth: 1
    functionLinenumber: 1405
    functionLinenumberEnd: 1415
    functionName: MP4_ReadBox_load
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_READBOX_EXIT
    - MP4_GET4BYTES
    - MP4_READBOX_ENTER
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_load( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1420,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1422,1
    - Dst: MP4_GET8BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1426,1
    - Dst: MP4_GET8BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1427,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1428,1
    - Dst: MP4_GET8BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1429,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1433,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1434,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1435,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1436,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1439,1
    - Dst: decodeQtLanguageCode
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1440,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1443,1
    - Dst: MP4_Time2Str
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1446,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1447,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1452,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1417
    functionDepth: 3
    functionLinenumber: 1417
    functionLinenumberEnd: 1455
    functionName: MP4_ReadBox_mdhd
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - decodeQtLanguageCode
    - MP4_GET2BYTES
    - MP4_READBOX_ENTER
    - MP4_GET8BYTES
    - free
    - MP4_READBOX_EXIT
    - msg_Dbg
    - MP4_GETVERSIONFLAGS
    - MP4_Time2Str
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_mdhd( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1457
    functionDepth: 0
    functionLinenumber: 1457
    functionLinenumberEnd: 1460
    functionName: MP4_FreeBox_hdlr
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_hdlr( MP4_Box_t *p_box )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1464,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1466,1
    - Dst: MP4_GETFOURCC
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1468,1
    - Dst: MP4_GETFOURCC
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1469,1
    - Dst: MP4_SKIPBYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1471,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1475,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1482,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1486,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1492,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1493,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1494,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1496,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1501,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1506,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1462
    functionDepth: 1
    functionLinenumber: 1462
    functionLinenumberEnd: 1507
    functionName: MP4_ReadBox_hdlr
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - MP4_GETFOURCC
    - MP4_GET1BYTE
    - MP4_READBOX_ENTER
    - memcpy
    - MP4_READBOX_EXIT
    - msg_Dbg
    - MP4_GETVERSIONFLAGS
    - unlikely
    - malloc
    - MP4_SKIPBYTES
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_hdlr( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1511,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1513,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1515,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1518,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1522,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1509
    functionDepth: 1
    functionLinenumber: 1509
    functionLinenumberEnd: 1529
    functionName: MP4_ReadBox_vmhd
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET2BYTES
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - msg_Dbg
    - MP4_GETVERSIONFLAGS
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_vmhd( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1533,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1535,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1539,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1541,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1544,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1548
      start: 1531
    functionDepth: 1
    functionLinenumber: 1531
    functionLinenumberEnd: 1548
    functionName: MP4_ReadBox_smhd
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET2BYTES
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - msg_Dbg
    - MP4_GETVERSIONFLAGS
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_smhd( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1553,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1555,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1557,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1558,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1560,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1561,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1563,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1566,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1551
    functionDepth: 1
    functionLinenumber: 1551
    functionLinenumberEnd: 1573
    functionName: MP4_ReadBox_hmhd
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_GET2BYTES
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - msg_Dbg
    - MP4_GETVERSIONFLAGS
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_hmhd( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1575
    functionDepth: 0
    functionLinenumber: 1575
    functionLinenumberEnd: 1578
    functionName: MP4_FreeBox_url
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_url( MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1582,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1584,1
    - Dst: MP4_GETSTRINGZ
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1585,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1588,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1580
    functionDepth: 1
    functionLinenumber: 1580
    functionLinenumberEnd: 1593
    functionName: MP4_ReadBox_url
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GETSTRINGZ
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - msg_Dbg
    - MP4_GETVERSIONFLAGS
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_url( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1597,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1595
    functionDepth: 0
    functionLinenumber: 1595
    functionLinenumberEnd: 1599
    functionName: MP4_FreeBox_urn
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_urn( MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1603,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1605,1
    - Dst: MP4_GETSTRINGZ
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1607,1
    - Dst: MP4_GETSTRINGZ
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1608,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1611,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1601
    functionDepth: 1
    functionLinenumber: 1601
    functionLinenumberEnd: 1616
    functionName: MP4_ReadBox_urn
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GETSTRINGZ
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - msg_Dbg
    - MP4_GETVERSIONFLAGS
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_urn( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER_PARTIAL
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1620,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1622,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1624,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1626,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1627,1
    - Dst: MP4_ReadBox
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1633,1
    - Dst: MP4_BoxAddChild
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1636,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1640,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1649,1
    - Dst: MP4_Seek
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1654,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1655,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1657,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1618
    functionDepth: 2
    functionLinenumber: 1618
    functionLinenumberEnd: 1658
    functionName: MP4_ReadBox_LtdContainer
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_READBOX_EXIT
    - MP4_ReadBox
    - msg_Dbg
    - MP4_Seek
    - MP4_GETVERSIONFLAGS
    - MP4_READBOX_ENTER_PARTIAL
    - MP4_BoxAddChild
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_LtdContainer( stream_t *p_stream, MP4_Box_t *p_box
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1662,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1660
    functionDepth: 0
    functionLinenumber: 1660
    functionLinenumberEnd: 1664
    functionName: MP4_FreeBox_stts
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_stts( MP4_Box_t *p_box )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1670,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1672,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1673,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1675,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1678,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1681,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1682,1
    - Dst: MP4_FreeBox_stts
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1688,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1689,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1694,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1695,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1703,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1707,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1666
    functionDepth: 1
    functionLinenumber: 1666
    functionLinenumberEnd: 1708
    functionName: MP4_ReadBox_stts
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_FreeBox_stts
    - MP4_READBOX_ENTER
    - UINT64_C
    - MP4_READBOX_EXIT
    - msg_Dbg
    - vlc_alloc
    - MP4_GETVERSIONFLAGS
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_stts( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1713,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1711
    functionDepth: 0
    functionLinenumber: 1711
    functionLinenumberEnd: 1715
    functionName: MP4_FreeBox_ctts
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_ctts( MP4_Box_t *p_box )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1721,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1723,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1724,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1726,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1727,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1729,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1730,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1731,1
    - Dst: MP4_FreeBox_ctts
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1734,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1735,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1741,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1742,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1746,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1749,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1717
    functionDepth: 1
    functionLinenumber: 1717
    functionLinenumberEnd: 1750
    functionName: MP4_ReadBox_ctts
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_READBOX_ENTER
    - UINT64_C
    - MP4_READBOX_EXIT
    - msg_Dbg
    - vlc_alloc
    - MP4_GETVERSIONFLAGS
    - MP4_FreeBox_ctts
    - unlikely
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_ctts( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1754,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1757,1
    - Dst: MP4_SKIPBYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1758,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1761,1
    - Dst: READ_CSLG
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1776,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1780,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1752
    functionDepth: 1
    functionLinenumber: 1752
    functionLinenumberEnd: 1781
    functionName: MP4_ReadBox_cslg
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - READ_CSLG
    - MP4_GET1BYTE
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - MP4_SKIPBYTES
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_cslg( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - readbytes
    - ','
    - temp
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1767
      start: 1765
    functionDepth: 0
    functionLinenumber: 1765
    functionLinenumberEnd: 1767
    functionName: DOREAD_CSLG
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DOREAD_CSLG( readbytes, temp, member )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - readbytes
    - ','
    - temp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1774
      start: 1768
    functionDepth: 0
    functionLinenumber: 1768
    functionLinenumberEnd: 1774
    functionName: READ_CSLG
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_CSLG( readbytes, temp )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1793,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1794,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1795,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - bufp
    - lenp
    argTypes:
    - uint8_t**
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1807
      start: 1783
    functionDepth: 1
    functionLinenumber: 1783
    functionLinenumberEnd: 1807
    functionName: MP4_ReadLengthDescriptor
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    - unlikely
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t MP4_ReadLengthDescriptor( uint8_t **restrict bufp,\n                                          uint64_t
      *restrict lenp )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1812,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1815,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1816,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1818
      start: 1810
    functionDepth: 0
    functionLinenumber: 1810
    functionLinenumberEnd: 1818
    functionName: MP4_FreeBox_esds
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_esds( MP4_Box_t *p_box )
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1827,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1829,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1832,1
    - Dst: MP4_ReadLengthDescriptor
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1835,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1836,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1836,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1837,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1840,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1844,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1845,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1853,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1859,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1861,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1862,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1865,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1877,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1879,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1885,1
    - Dst: MP4_ReadLengthDescriptor
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1888,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1889,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1889,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1890,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1892,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1897,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1898,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1899,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1901,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1902,1
    - Dst: MP4_GET3BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1905,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1906,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1907,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1908,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1913,1
    - Dst: MP4_ReadLengthDescriptor
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1916,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1917,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1917,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1918,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1920,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1924,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1927,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1928,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1929,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1931,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1934,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 73
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1936
      start: 1820
    functionDepth: 2
    functionLinenumber: 1820
    functionLinenumberEnd: 1936
    functionName: MP4_ReadBox_esds
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_ReadLengthDescriptor
    - MP4_GET2BYTES
    - MP4_GET1BYTE
    - MP4_READBOX_ENTER
    - memcpy
    - calloc
    - UINT64_C
    - MP4_READBOX_EXIT
    - MP4_GET3BYTES
    - msg_Dbg
    - MP4_GETVERSIONFLAGS
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_esds( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1942
      start: 1938
    functionDepth: 0
    functionLinenumber: 1938
    functionLinenumberEnd: 1942
    functionName: MP4_FreeBox_av1C
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_av1C( MP4_Box_t *p_box )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1948,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1953,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1955,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1958,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1963,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1965,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1969,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1970,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1977,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1978
      start: 1944
    functionDepth: 1
    functionLinenumber: 1944
    functionLinenumberEnd: 1978
    functionName: MP4_ReadBox_av1C
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET1BYTE
    - memcpy
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - malloc
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_av1C( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1984
      start: 1980
    functionDepth: 0
    functionLinenumber: 1980
    functionLinenumberEnd: 1984
    functionName: MP4_FreeBox_avcC
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_avcC( MP4_Box_t *p_box )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1990,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1995,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/libmp4.c:1998,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2003,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2004,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2005,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2006,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2008,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2012,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 1986
    functionDepth: 1
    functionLinenumber: 1986
    functionLinenumberEnd: 2013
    functionName: MP4_ReadBox_avcC
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET1BYTE
    - memcpy
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - msg_Dbg
    - malloc
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_avcC( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2018
      start: 2015
    functionDepth: 0
    functionLinenumber: 2015
    functionLinenumberEnd: 2018
    functionName: MP4_FreeBox_vpcC
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_vpcC( MP4_Box_t *p_box )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2022,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2026,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2028,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2030,1
    - Dst: MP4_SKIPBYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2033,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2035,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2036,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2037,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2045,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2055,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2056,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2057,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2060,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2066,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2068,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2069,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2072,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2073
      start: 2020
    functionDepth: 1
    functionLinenumber: 2020
    functionLinenumberEnd: 2073
    functionName: MP4_ReadBox_vpcC
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET2BYTES
    - MP4_GET1BYTE
    - MP4_READBOX_ENTER
    - memcpy
    - MP4_READBOX_EXIT
    - malloc
    - MP4_SKIPBYTES
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_vpcC( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2077,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2085,1
    - Dst: MP4_SKIPBYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2086,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2088,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2095,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2104,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2110,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2111,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2120,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2121
      start: 2075
    functionDepth: 1
    functionLinenumber: 2075
    functionLinenumberEnd: 2121
    functionName: MP4_ReadBox_SmDm
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_GET2BYTES
    - MP4_GET1BYTE
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - MP4_SKIPBYTES
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_SmDm( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2125,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2131,1
    - Dst: MP4_SKIPBYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2132,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2134,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2137,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2138,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 2123
    functionDepth: 1
    functionLinenumber: 2123
    functionLinenumberEnd: 2140
    functionName: MP4_ReadBox_CoLL
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET2BYTES
    - MP4_GET1BYTE
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - MP4_SKIPBYTES
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_CoLL( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2145
      start: 2142
    functionDepth: 0
    functionLinenumber: 2142
    functionLinenumberEnd: 2145
    functionName: MP4_FreeBox_WMA2
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_WMA2( MP4_Box_t *p_box )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2149,1
    - Dst: MP4_GET2BYTESLE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2153,1
    - Dst: MP4_GET2BYTESLE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2154,1
    - Dst: MP4_GET4BYTESLE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2155,1
    - Dst: MP4_GET4BYTESLE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2156,1
    - Dst: MP4_GET2BYTESLE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2157,1
    - Dst: MP4_GET2BYTESLE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2158,1
    - Dst: MP4_GET2BYTESLE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2161,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2169,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2172,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2175,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2179
      start: 2147
    functionDepth: 1
    functionLinenumber: 2147
    functionLinenumberEnd: 2179
    functionName: MP4_ReadBox_WMA2
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - memcpy
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - MP4_GET2BYTESLE
    - MP4_GET4BYTESLE
    - malloc
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_WMA2( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2184
      start: 2181
    functionDepth: 0
    functionLinenumber: 2181
    functionLinenumberEnd: 2184
    functionName: MP4_FreeBox_strf
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_strf( MP4_Box_t *p_box )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2188,1
    - Dst: MP4_GET4BYTESLE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2195,1
    - Dst: MP4_GET4BYTESLE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2196,1
    - Dst: MP4_GET4BYTESLE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2197,1
    - Dst: MP4_GET2BYTESLE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2198,1
    - Dst: MP4_GET2BYTESLE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2199,1
    - Dst: MP4_GETFOURCC
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2200,1
    - Dst: MP4_GET4BYTESLE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2201,1
    - Dst: MP4_GET4BYTESLE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2202,1
    - Dst: MP4_GET4BYTESLE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2203,1
    - Dst: MP4_GET4BYTESLE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2204,1
    - Dst: MP4_GET4BYTESLE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2205,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2210,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2213,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2216,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2220
      start: 2186
    functionDepth: 1
    functionLinenumber: 2186
    functionLinenumberEnd: 2220
    functionName: MP4_ReadBox_strf
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GETFOURCC
    - MP4_READBOX_ENTER
    - memcpy
    - MP4_READBOX_EXIT
    - MP4_GET2BYTESLE
    - MP4_GET4BYTESLE
    - malloc
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_strf( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2224,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2229,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2231,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2235
      start: 2222
    functionDepth: 1
    functionLinenumber: 2222
    functionLinenumberEnd: 2235
    functionName: MP4_ReadBox_ASF
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET1BYTE
    - MP4_READBOX_EXIT
    - MP4_READBOX_ENTER
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_ASF( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2241
      start: 2237
    functionDepth: 0
    functionLinenumber: 2237
    functionLinenumberEnd: 2241
    functionName: MP4_FreeBox_sbgp
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_sbgp( MP4_Box_t *p_box )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2245,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2250,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2252,1
    - Dst: MP4_GET3BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2253,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2255,1
    - Dst: MP4_GETFOURCC
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2257,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2262,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2263,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2266,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2270,1
    - Dst: MP4_FreeBox_sbgp
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2273,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2274,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2279,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2280,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2284,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2288,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2294,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2295
      start: 2243
    functionDepth: 1
    functionLinenumber: 2243
    functionLinenumberEnd: 2295
    functionName: MP4_ReadBox_sbgp
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_FreeBox_sbgp
    - MP4_GET1BYTE
    - MP4_GETFOURCC
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - MP4_GET3BYTES
    - msg_Dbg
    - vlc_alloc
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_sbgp( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2301
      start: 2297
    functionDepth: 0
    functionLinenumber: 2297
    functionLinenumberEnd: 2301
    functionName: MP4_FreeBox_sgpd
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_sgpd( MP4_Box_t *p_box )
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2305,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2311,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2313,1
    - Dst: MP4_GET3BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2314,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2316,1
    - Dst: MP4_GETFOURCC
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2318,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2328,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2331,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2337,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2338,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2343,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2344,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2347,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2349,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2351,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2361,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2373,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2376,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2379,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2389,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2392,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2399,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2405,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2406,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2409,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2417,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2421,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 75
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2422
      start: 2303
    functionDepth: 1
    functionLinenumber: 2303
    functionLinenumberEnd: 2422
    functionName: MP4_ReadBox_sgpd
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - vlc_assert_unreachable
    - MP4_GET2BYTES
    - MP4_GET1BYTE
    - MP4_GETFOURCC
    - MP4_READBOX_ENTER
    - free
    - MP4_READBOX_EXIT
    - MP4_GET3BYTES
    - msg_Dbg
    - vlc_alloc
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_sgpd( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoreAudio_Layout_Clean
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2428
      start: 2424
    functionDepth: 1
    functionLinenumber: 2424
    functionLinenumberEnd: 2428
    functionName: MP4_FreeBox_stsdext_chan
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - CoreAudio_Layout_Clean
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_stsdext_chan( MP4_Box_t *p_box )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2432,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2436,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2438,1
    - Dst: MP4_GET3BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2439,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2440,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2441,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2442,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2446,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2449,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2452,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2459,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2460,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2461,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2462,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2463,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2469,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2474,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2475
      start: 2430
    functionDepth: 1
    functionLinenumber: 2430
    functionLinenumberEnd: 2475
    functionName: MP4_ReadBox_stsdext_chan
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_GET1BYTE
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - MP4_GET3BYTES
    - msg_Dbg
    - vlc_alloc
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_stsdext_chan( stream_t *p_stream, MP4_Box_t *p_box
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2479,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2482,1
    - Dst: MP4_SKIPBYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2484,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2485,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2488
      start: 2477
    functionDepth: 1
    functionLinenumber: 2477
    functionLinenumberEnd: 2488
    functionName: MP4_ReadBox_stsdext_srat
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_READBOX_EXIT
    - MP4_GET4BYTES
    - MP4_READBOX_ENTER
    - MP4_SKIPBYTES
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_stsdext_srat( stream_t *p_stream, MP4_Box_t *p_box
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2492,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2497,1
    - Dst: MP4_GET3BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2502,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2510,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2517,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2522,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2529
      start: 2490
    functionDepth: 1
    functionLinenumber: 2490
    functionLinenumberEnd: 2529
    functionName: MP4_ReadBox_dec3
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET2BYTES
    - MP4_GET1BYTE
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - MP4_GET3BYTES
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_dec3( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2534,1
    - Dst: MP4_GET3BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2539,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2549,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2554
      start: 2531
    functionDepth: 1
    functionLinenumber: 2531
    functionLinenumberEnd: 2554
    functionName: MP4_ReadBox_dac3
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_READBOX_EXIT
    - MP4_GET3BYTES
    - MP4_READBOX_ENTER
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_dac3( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2559
      start: 2556
    functionDepth: 0
    functionLinenumber: 2556
    functionLinenumberEnd: 2559
    functionName: MP4_FreeBox_dvc1
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_dvc1( MP4_Box_t *p_box )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2563,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2565,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2568,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2570,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2571,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2575,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2578,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2579
      start: 2561
    functionDepth: 1
    functionLinenumber: 2561
    functionLinenumberEnd: 2579
    functionName: MP4_ReadBox_dvc1
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET1BYTE
    - MP4_READBOX_ENTER
    - memcpy
    - MP4_READBOX_EXIT
    - msg_Dbg
    - malloc
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_dvc1( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2584,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2587,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2604,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2605
      start: 2581
    functionDepth: 1
    functionLinenumber: 2581
    functionLinenumberEnd: 2605
    functionName: MP4_ReadBox_fiel
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_READBOX_EXIT
    - MP4_READBOX_ENTER
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_fiel( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2610,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2614,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2617,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2621
      start: 2607
    functionDepth: 1
    functionLinenumber: 2607
    functionLinenumberEnd: 2621
    functionName: MP4_ReadBox_enda
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_READBOX_EXIT
    - MP4_READBOX_ENTER
    - msg_Dbg
    - MP4_GET2BYTES
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_enda( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2625,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2627,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2629,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2631,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2632,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2633,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2635
      start: 2623
    functionDepth: 1
    functionLinenumber: 2623
    functionLinenumberEnd: 2635
    functionName: MP4_ReadBox_pcmC
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET1BYTE
    - MP4_READBOX_EXIT
    - MP4_GET4BYTES
    - MP4_READBOX_ENTER
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_pcmC( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2640
      start: 2637
    functionDepth: 0
    functionLinenumber: 2637
    functionLinenumberEnd: 2640
    functionName: MP4_FreeBox_sample_soun
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_sample_soun( MP4_Box_t *p_box )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2645,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2654,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2666,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2670,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2674,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2675,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2676,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2678,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2679,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2680,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2681,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2682,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2683,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2686,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2695,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2696,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2697,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2698,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2701,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2726,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2727,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2731,1
    - Dst: MP4_GET8BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2732,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2733,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2734,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2739,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2742,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2745,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2746,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2749,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2750,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2751,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2752,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2755,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2777,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2785,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2786,1
    - Dst: MP4_ReadBoxContainerRawInBox
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2796,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2800,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2808,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 78
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2809
      start: 2642
    functionDepth: 6
    functionLinenumber: 2642
    functionLinenumberEnd: 2809
    functionName: MP4_ReadBox_sample_soun
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_GET2BYTES
    - memcpy
    - MP4_READBOX_ENTER
    - MP4_GET8BYTES
    - msg_Err
    - MP4_ReadBoxContainerRawInBox
    - MP4_READBOX_EXIT
    - msg_Dbg
    - msg_Warn
    - malloc
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_sample_soun( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2813,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2815
      start: 2811
    functionDepth: 0
    functionLinenumber: 2811
    functionLinenumberEnd: 2815
    functionName: MP4_FreeBox_sample_vide
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_sample_vide( MP4_Box_t *p_box )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2820,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2831,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2832,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2833,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2835,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2844,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2845,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2846,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2848,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2849,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2851,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2852,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2854,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2855,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2857,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2858,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2861,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2864,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2869,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2870,1
    - Dst: ReadQuicktimePalette
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2875,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2877,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2882,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2883,1
    - Dst: MP4_ReadBoxContainerRawInBox
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2888,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2893,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2900,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2901
      start: 2817
    functionDepth: 6
    functionLinenumber: 2817
    functionLinenumberEnd: 2901
    functionName: MP4_ReadBox_sample_vide
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 4
    functionsReached:
    - ReadQuicktimePalette
    - MP4_GET4BYTES
    - MP4_GET2BYTES
    - memcpy
    - MP4_READBOX_ENTER
    - MP4_ReadBoxContainerRawInBox
    - MP4_READBOX_EXIT
    - msg_Dbg
    - msg_Warn
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_sample_vide( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2906
      start: 2903
    functionDepth: 0
    functionLinenumber: 2903
    functionLinenumberEnd: 2906
    functionName: MP4_FreeBox_sample_generic
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_sample_generic( MP4_Box_t *p_box )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER_PARTIAL
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2910,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2920,1
    - Dst: MP4_ReadBoxContainerChildren
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2925,1
    - Dst: MP4_Seek
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2927,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2928,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2930,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2931
      start: 2908
    functionDepth: 5
    functionLinenumber: 2908
    functionLinenumberEnd: 2931
    functionName: MP4_ReadBox_sample_generic
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_ReadBoxContainerChildren
    - MP4_READBOX_ENTER_PARTIAL
    - MP4_READBOX_EXIT
    - MP4_Seek
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_sample_generic( stream_t *p_stream, MP4_Box_t *p_box
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER_PARTIAL
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2935,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2939,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2940,1
    - Dst: MP4_GET8BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2942,1
    - Dst: MP4_ReadBoxContainerChildren
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2945,1
    - Dst: MP4_Seek
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2947,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2948,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2950,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2951
      start: 2933
    functionDepth: 5
    functionLinenumber: 2933
    functionLinenumberEnd: 2951
    functionName: MP4_ReadBox_sample_hint8
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_ReadBoxContainerChildren
    - MP4_GET8BYTES
    - MP4_READBOX_EXIT
    - MP4_Seek
    - MP4_READBOX_ENTER_PARTIAL
    - malloc
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_sample_hint8( stream_t *p_stream, MP4_Box_t *p_box
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2956,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2962,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2964,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2965,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2970,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2972,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2973
      start: 2953
    functionDepth: 1
    functionLinenumber: 2953
    functionLinenumberEnd: 2973
    functionName: MP4_ReadBox_sample_text
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - memcpy
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - msg_Dbg
    - malloc
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_sample_text( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER_PARTIAL
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2977,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2979,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2981,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2983,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2984,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2986,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2989,1
    - Dst: MP4_Seek
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2991,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2993,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2994,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:2996,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3000,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3007,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3031,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3032,1
    - Dst: MP4_ReadBoxUsing
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3039,1
    - Dst: MP4_BoxAddChild
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3046,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3050,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3059,1
    - Dst: MP4_Seek
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3064,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3065,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3067,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 61
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3068
      start: 2975
    functionDepth: 2
    functionLinenumber: 2975
    functionLinenumberEnd: 3068
    functionName: MP4_ReadBox_stsd
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - BOXDATA
    - MP4_BoxGet
    - MP4_READBOX_EXIT
    - MP4_Seek
    - MP4_ReadBoxUsing
    - msg_Warn
    - MP4_GETVERSIONFLAGS
    - MP4_READBOX_ENTER_PARTIAL
    - msg_Dbg
    - MP4_BoxAddChild
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_stsd( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3073
      start: 3070
    functionDepth: 0
    functionLinenumber: 3070
    functionLinenumberEnd: 3073
    functionName: MP4_FreeBox_stsz
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_stsz( MP4_Box_t *p_box )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3079,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3081,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3083,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3084,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3089,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3090,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3093,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3094,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3095,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3099,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3106,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3112
      start: 3075
    functionDepth: 1
    functionLinenumber: 3075
    functionLinenumberEnd: 3112
    functionName: MP4_ReadBox_stsz
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_READBOX_ENTER
    - UINT64_C
    - MP4_READBOX_EXIT
    - msg_Dbg
    - vlc_alloc
    - MP4_GETVERSIONFLAGS
    - unlikely
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_stsz( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3119,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3121,1
    - Dst: MP4_GET3BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3124,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3127,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3129,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3133,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3135,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3138,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3139,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3140,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3145,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3150,1
    - Dst: vlc_assert
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3154,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3159,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3169,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3175,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3180,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3181
      start: 3114
    functionDepth: 1
    functionLinenumber: 3114
    functionLinenumberEnd: 3181
    functionName: MP4_ReadBox_stz2
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_GET2BYTES
    - MP4_GET1BYTE
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - MP4_GET3BYTES
    - msg_Dbg
    - vlc_alloc
    - MP4_GETVERSIONFLAGS
    - unlikely
    - vlc_assert
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_stz2( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3185,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3186,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3188
      start: 3183
    functionDepth: 0
    functionLinenumber: 3183
    functionLinenumberEnd: 3188
    functionName: MP4_FreeBox_stsc
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_stsc( MP4_Box_t *p_box )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3194,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3196,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3197,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3199,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3200,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3202,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3203,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3205,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3207,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3211,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3217,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3218,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3219,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3223,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3228
      start: 3190
    functionDepth: 1
    functionLinenumber: 3190
    functionLinenumberEnd: 3228
    functionName: MP4_ReadBox_stsc
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_READBOX_ENTER
    - UINT64_C
    - MP4_READBOX_EXIT
    - msg_Dbg
    - vlc_alloc
    - MP4_GETVERSIONFLAGS
    - unlikely
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_stsc( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3233
      start: 3230
    functionDepth: 0
    functionLinenumber: 3230
    functionLinenumberEnd: 3233
    functionName: MP4_FreeBox_sdp
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_sdp( MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3237,1
    - Dst: MP4_GETSTRINGZ
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3239,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3242
      start: 3235
    functionDepth: 1
    functionLinenumber: 3235
    functionLinenumberEnd: 3242
    functionName: MP4_ReadBox_sdp
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_READBOX_EXIT
    - MP4_GETSTRINGZ
    - MP4_READBOX_ENTER
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_sdp( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3247
      start: 3244
    functionDepth: 0
    functionLinenumber: 3244
    functionLinenumberEnd: 3247
    functionName: MP4_FreeBox_rtp
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_rtp( MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3251,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3253,1
    - Dst: MP4_GETSTRINGZ
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3255,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3258
      start: 3249
    functionDepth: 1
    functionLinenumber: 3249
    functionLinenumberEnd: 3258
    functionName: MP4_ReadBox_rtp
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_READBOX_EXIT
    - MP4_GET4BYTES
    - MP4_READBOX_ENTER
    - MP4_GETSTRINGZ
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_rtp( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3262,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3264,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3267
      start: 3260
    functionDepth: 1
    functionLinenumber: 3260
    functionLinenumberEnd: 3267
    functionName: MP4_ReadBox_tims
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_READBOX_EXIT
    - MP4_GET4BYTES
    - MP4_READBOX_ENTER
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_tims( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3271,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3273,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3276
      start: 3269
    functionDepth: 1
    functionLinenumber: 3269
    functionLinenumberEnd: 3276
    functionName: MP4_ReadBox_tsro
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_READBOX_EXIT
    - MP4_GET4BYTES
    - MP4_READBOX_ENTER
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_tsro( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3280,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3282,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3285
      start: 3278
    functionDepth: 1
    functionLinenumber: 3278
    functionLinenumberEnd: 3285
    functionName: MP4_ReadBox_tssy
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET1BYTE
    - MP4_READBOX_EXIT
    - MP4_READBOX_ENTER
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_tssy( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3290
      start: 3287
    functionDepth: 0
    functionLinenumber: 3287
    functionLinenumberEnd: 3290
    functionName: MP4_FreeBox_stco_co64
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_stco_co64( MP4_Box_t *p_box )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3297,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3299,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3300,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3302,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3302,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3303,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3305,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3306,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3307,1
    - Dst: MP4_GET8BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3313,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3315,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3319,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3323,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3324
      start: 3292
    functionDepth: 1
    functionLinenumber: 3292
    functionLinenumberEnd: 3324
    functionName: MP4_ReadBox_stco_co64
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_READBOX_ENTER
    - MP4_GET8BYTES
    - UINT64_C
    - MP4_READBOX_EXIT
    - msg_Dbg
    - vlc_alloc
    - MP4_GETVERSIONFLAGS
    - unlikely
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_stco_co64( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3329
      start: 3326
    functionDepth: 0
    functionLinenumber: 3326
    functionLinenumberEnd: 3329
    functionName: MP4_FreeBox_stss
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_stss( MP4_Box_t *p_box )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3335,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3337,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3338,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3340,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3341,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3343,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3344,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3345,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3350,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3354,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3359
      start: 3331
    functionDepth: 1
    functionLinenumber: 3331
    functionLinenumberEnd: 3359
    functionName: MP4_ReadBox_stss
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_READBOX_ENTER
    - UINT64_C
    - MP4_READBOX_EXIT
    - msg_Dbg
    - vlc_alloc
    - MP4_GETVERSIONFLAGS
    - unlikely
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_stss( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3363,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3365
      start: 3361
    functionDepth: 0
    functionLinenumber: 3361
    functionLinenumberEnd: 3365
    functionName: MP4_FreeBox_stsh
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_stsh( MP4_Box_t *p_box )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3371,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3373,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3374,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3376,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3377,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3379,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3381,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3385,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3390,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3391,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3395,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3399
      start: 3367
    functionDepth: 1
    functionLinenumber: 3367
    functionLinenumberEnd: 3399
    functionName: MP4_ReadBox_stsh
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_READBOX_ENTER
    - UINT64_C
    - MP4_READBOX_EXIT
    - msg_Dbg
    - vlc_alloc
    - MP4_GETVERSIONFLAGS
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_stsh( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3404
      start: 3401
    functionDepth: 0
    functionLinenumber: 3401
    functionLinenumberEnd: 3404
    functionName: MP4_FreeBox_stdp
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_stdp( MP4_Box_t *p_box )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3408,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3410,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3413,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3415,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3416,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3420,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3424,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3429
      start: 3406
    functionDepth: 1
    functionLinenumber: 3406
    functionLinenumberEnd: 3429
    functionName: MP4_ReadBox_stdp
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET2BYTES
    - MP4_READBOX_ENTER
    - calloc
    - MP4_READBOX_EXIT
    - msg_Dbg
    - MP4_GETVERSIONFLAGS
    - unlikely
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_stdp( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3434
      start: 3431
    functionDepth: 0
    functionLinenumber: 3431
    functionLinenumberEnd: 3434
    functionName: MP4_FreeBox_elst
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_elst( MP4_Box_t *p_box )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3440,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3444,1
    - Dst: MP4_SKIPBYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3445,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3448,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3450,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3452,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3458,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3460,1
    - Dst: MP4_GET8BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3473,1
    - Dst: MP4_GET8BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3474,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3481,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3482,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3488,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3489,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3493,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3496,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3497
      start: 3436
    functionDepth: 1
    functionLinenumber: 3436
    functionLinenumberEnd: 3497
    functionName: MP4_ReadBox_elst
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_GET2BYTES
    - MP4_GET1BYTE
    - MP4_READBOX_ENTER
    - MP4_GET8BYTES
    - MP4_READBOX_EXIT
    - msg_Dbg
    - vlc_alloc
    - MP4_SKIPBYTES
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_elst( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3502
      start: 3499
    functionDepth: 0
    functionLinenumber: 3499
    functionLinenumberEnd: 3502
    functionName: MP4_FreeBox_cprt
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_cprt( MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3509,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3511,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3513,1
    - Dst: decodeQtLanguageCode
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3514,1
    - Dst: MP4_GETSTRINGZ
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3516,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3519,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3525
      start: 3504
    functionDepth: 1
    functionLinenumber: 3504
    functionLinenumberEnd: 3525
    functionName: MP4_ReadBox_cprt
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GETSTRINGZ
    - decodeQtLanguageCode
    - MP4_GET2BYTES
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - msg_Dbg
    - MP4_GETVERSIONFLAGS
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_cprt( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3529,1
    - Dst: MP4_GETFOURCC
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3531,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3533,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3538
      start: 3527
    functionDepth: 1
    functionLinenumber: 3527
    functionLinenumberEnd: 3538
    functionName: MP4_ReadBox_dcom
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GETFOURCC
    - MP4_READBOX_EXIT
    - MP4_READBOX_ENTER
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_dcom( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3543
      start: 3540
    functionDepth: 0
    functionLinenumber: 3540
    functionLinenumberEnd: 3543
    functionName: MP4_FreeBox_cmvd
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_cmvd( MP4_Box_t *p_box )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3547,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3549,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3553,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3554,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3557,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3560,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3565
      start: 3545
    functionDepth: 1
    functionLinenumber: 3545
    functionLinenumberEnd: 3565
    functionName: MP4_ReadBox_cmvd
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - memcpy
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - msg_Dbg
    - malloc
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_cmvd( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3571,1
    - Dst: MP4_ReadBoxContainer
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3582,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3587,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3588,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3591,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3597,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3604,1
    - Dst: inflateInit
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3616,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3618,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3619,1
    - Dst: inflate
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3624,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3626,1
    - Dst: inflateEnd
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3627,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3628,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3634,1
    - Dst: inflateEnd
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3639,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3641,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3645,1
    - Dst: vlc_stream_MemoryNew
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3648,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3648,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3652,1
    - Dst: MP4_ReadBox
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3657,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3659,1
    - Dst: MP4_BoxAddChild
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3662,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3665,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3670
      start: 3567
    functionDepth: 6
    functionLinenumber: 3567
    functionLinenumberEnd: 3670
    functionName: MP4_ReadBox_cmov
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - inflateEnd
    - inflateInit
    - MP4_ReadBoxContainer
    - inflate
    - vlc_stream_Delete
    - MP4_BoxGet
    - msg_Err
    - free
    - MP4_ReadBox
    - msg_Dbg
    - vlc_stream_MemoryNew
    - VLC_OBJECT
    - msg_Warn
    - malloc
    - MP4_BoxAddChild
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_cmov( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3675
      start: 3672
    functionDepth: 0
    functionLinenumber: 3672
    functionLinenumberEnd: 3675
    functionName: MP4_FreeBox_rdrf
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_rdrf( MP4_Box_t *p_box )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3680,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3682,1
    - Dst: MP4_GETFOURCC
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3683,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3684,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3688,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3690,1
    - Dst: MP4_COPY_BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3692,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3701,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3706,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3707
      start: 3677
    functionDepth: 1
    functionLinenumber: 3677
    functionLinenumberEnd: 3707
    functionName: MP4_ReadBox_rdrf
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_GETFOURCC
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - msg_Dbg
    - MP4_GETVERSIONFLAGS
    - malloc
    - MP4_COPY_BYTES
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_rdrf( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3713,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3715,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3717,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3720,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3725
      start: 3711
    functionDepth: 1
    functionLinenumber: 3711
    functionLinenumberEnd: 3725
    functionName: MP4_ReadBox_rmdr
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - msg_Dbg
    - MP4_GETVERSIONFLAGS
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_rmdr( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3729,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3731,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3734,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3739
      start: 3727
    functionDepth: 1
    functionLinenumber: 3727
    functionLinenumberEnd: 3739
    functionName: MP4_ReadBox_rmqu
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_READBOX_EXIT
    - MP4_GET4BYTES
    - MP4_READBOX_ENTER
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_rmqu( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3743,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3744,1
    - Dst: MP4_GETFOURCC
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3746,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3747,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3748,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3749,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3752,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3760
      start: 3741
    functionDepth: 1
    functionLinenumber: 3741
    functionLinenumberEnd: 3760
    functionName: MP4_ReadBox_rmvc
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_GET2BYTES
    - MP4_GETFOURCC
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - msg_Dbg
    - MP4_GETVERSIONFLAGS
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_rmvc( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3764,1
    - Dst: MP4_GETFOURCC
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3766,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3769,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3774
      start: 3762
    functionDepth: 1
    functionLinenumber: 3762
    functionLinenumberEnd: 3774
    functionName: MP4_ReadBox_frma
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GETFOURCC
    - MP4_READBOX_EXIT
    - MP4_READBOX_ENTER
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_frma( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3778,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3780,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3781,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3782,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3785,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3792
      start: 3776
    functionDepth: 1
    functionLinenumber: 3776
    functionLinenumberEnd: 3792
    functionName: MP4_ReadBox_skcr
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_READBOX_EXIT
    - MP4_GET4BYTES
    - MP4_READBOX_ENTER
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_skcr( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3796,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3802
      start: 3794
    functionDepth: 1
    functionLinenumber: 3794
    functionLinenumberEnd: 3802
    functionName: MP4_ReadBox_drms
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - msg_Warn
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_drms( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3807
      start: 3804
    functionDepth: 0
    functionLinenumber: 3804
    functionLinenumberEnd: 3807
    functionName: MP4_FreeBox_Binary
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_Binary( MP4_Box_t *p_box )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3811,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3812,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3815,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3818,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3822,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3823
      start: 3809
    functionDepth: 1
    functionLinenumber: 3809
    functionLinenumberEnd: 3823
    functionName: MP4_ReadBox_Binary
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - memcpy
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - __MIN
    - malloc
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_Binary( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3828
      start: 3825
    functionDepth: 0
    functionLinenumber: 3825
    functionLinenumberEnd: 3828
    functionName: MP4_FreeBox_data
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_data( MP4_Box_t *p_box )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3832,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3836,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3839,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3843,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3845,1
    - Dst: MP4_GET3BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3848,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3849,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3850,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3852,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3856,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3858,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3861,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3863,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3864
      start: 3830
    functionDepth: 1
    functionLinenumber: 3830
    functionLinenumberEnd: 3864
    functionName: MP4_ReadBox_data
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET2BYTES
    - MP4_GET1BYTE
    - MP4_READBOX_ENTER
    - memcpy
    - MP4_READBOX_EXIT
    - MP4_GET3BYTES
    - msg_Dbg
    - malloc
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_data( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3869,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3871,1
    - Dst: MP4_ReadBoxContainerChildren
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3874,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3875
      start: 3866
    functionDepth: 5
    functionLinenumber: 3866
    functionLinenumberEnd: 3875
    functionName: MP4_ReadBox_Metadata
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Read
    - vlc_stream_Peek
    - MP4_ReadBoxContainerChildren
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_Metadata( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3882,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3883
      start: 3878
    functionDepth: 0
    functionLinenumber: 3878
    functionLinenumberEnd: 3883
    functionName: MP4_FreeBox_chpl
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_chpl( MP4_Box_t *p_box )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3889,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3893,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3896,1
    - Dst: MP4_SKIPBYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3898,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3900,1
    - Dst: MP4_GET8BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3909,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3910,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3912,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3914,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3916,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3918,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3952,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3955,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3956
      start: 3885
    functionDepth: 1
    functionLinenumber: 3885
    functionLinenumberEnd: 3956
    functionName: MP4_ReadBox_chpl
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET1BYTE
    - MP4_READBOX_ENTER
    - MP4_GET8BYTES
    - memcpy
    - MP4_READBOX_EXIT
    - __MIN
    - msg_Dbg
    - MP4_GETVERSIONFLAGS
    - malloc
    - MP4_SKIPBYTES
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_chpl( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3962
      start: 3959
    functionDepth: 0
    functionLinenumber: 3959
    functionLinenumberEnd: 3962
    functionName: MP4_FreeBox_HMMT
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_HMMT( MP4_Box_t *p_box )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3969,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3972,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3976,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3981,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3985,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3991,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3993,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:3997,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4001,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4004,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4005
      start: 3964
    functionDepth: 1
    functionLinenumber: 3964
    functionLinenumberEnd: 4005
    functionName: MP4_ReadBox_HMMT
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - msg_Dbg
    - vlc_alloc
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_HMMT( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4010
      start: 4007
    functionDepth: 0
    functionLinenumber: 4007
    functionLinenumberEnd: 4010
    functionName: MP4_FreeBox_TrackReference
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_TrackReference( MP4_Box_t *p_box )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4016,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4021,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4024,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4028,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4031,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4035,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4036
      start: 4012
    functionDepth: 1
    functionLinenumber: 4012
    functionLinenumberEnd: 4036
    functionName: MP4_ReadBox_TrackReference
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - msg_Dbg
    - vlc_alloc
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_TrackReference( stream_t *p_stream, MP4_Box_t *p_box
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mp4_box_headersize
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4041,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4042,1
    - Dst: MP4_ReadBoxUsing
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4048,1
    - Dst: MP4_BoxFree
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4052,1
    - Dst: MP4_BoxAddChild
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4056,1
    - Dst: MP4_Seek
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4060,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4061
      start: 4038
    functionDepth: 2
    functionLinenumber: 4038
    functionLinenumberEnd: 4061
    functionName: MP4_ReadBox_tref
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_BoxFree
    - MP4_ReadBoxUsing
    - vlc_stream_Read
    - mp4_box_headersize
    - MP4_Seek
    - MP4_BoxAddChild
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_tref( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4066,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4067,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4068
      start: 4063
    functionDepth: 0
    functionLinenumber: 4063
    functionLinenumberEnd: 4068
    functionName: MP4_FreeBox_keys
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_keys( MP4_Box_t *p_box )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4072,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4075,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4078,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4080,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4082,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4083,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4085,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4094,1
    - Dst: MP4_GETFOURCC
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4097,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4099,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4102,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4107,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4114,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4115
      start: 4070
    functionDepth: 1
    functionLinenumber: 4070
    functionLinenumberEnd: 4115
    functionName: MP4_ReadBox_keys
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_GETFOURCC
    - MP4_READBOX_ENTER
    - memcpy
    - calloc
    - MP4_READBOX_EXIT
    - msg_Dbg
    - malloc
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_keys( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4119,1
    - Dst: MP4_GETFOURCC
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4120,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4121,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4122,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4124,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4125,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4126,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4127,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4128,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4133,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4137
      start: 4117
    functionDepth: 1
    functionLinenumber: 4117
    functionLinenumberEnd: 4137
    functionName: MP4_ReadBox_colr
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - MP4_GET2BYTES
    - MP4_GETFOURCC
    - MP4_GET1BYTE
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_colr( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4141,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4142,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4146
      start: 4139
    functionDepth: 1
    functionLinenumber: 4139
    functionLinenumberEnd: 4146
    functionName: MP4_ReadBox_irot
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET1BYTE
    - MP4_READBOX_EXIT
    - MP4_READBOX_ENTER
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_irot( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4152,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4154,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4155,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4156,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4164
      start: 4148
    functionDepth: 1
    functionLinenumber: 4148
    functionLinenumberEnd: 4164
    functionName: MP4_ReadBox_dvcC
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET1BYTE
    - MP4_READBOX_EXIT
    - MP4_READBOX_ENTER
    - MP4_GET2BYTES
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_dvcC( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mp4_box_headersize
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4169,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4175,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4179,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4182,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4184,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4187,1
    - Dst: MP4_ReadBoxContainerChildren
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4194,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4198,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4199,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4199,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4201,1
    - Dst: MP4_ReadBoxContainerChildren
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4208,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4216
      start: 4166
    functionDepth: 5
    functionLinenumber: 4166
    functionLinenumberEnd: 4216
    functionName: MP4_ReadBox_meta
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    - BOXDATA
    - MP4_ReadBoxContainerChildren
    - MP4_BoxGet
    - vlc_stream_Read
    - memcmp
    - mp4_box_headersize
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_meta( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4220,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4221,1
    - Dst: MP4_SKIPBYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4223,1
    - Dst: MP4_SKIPBYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4224,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4226,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4228,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4229,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4230,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4231,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4232,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4235,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4247
      start: 4218
    functionDepth: 1
    functionLinenumber: 4218
    functionLinenumberEnd: 4247
    functionName: MP4_ReadBox_iods
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET2BYTES
    - MP4_GET1BYTE
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - msg_Dbg
    - MP4_GETVERSIONFLAGS
    - MP4_SKIPBYTES
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_iods( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4251,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4254,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4256,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4257,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4258,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4261
      start: 4249
    functionDepth: 1
    functionLinenumber: 4249
    functionLinenumberEnd: 4261
    functionName: MP4_ReadBox_btrt
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_READBOX_EXIT
    - MP4_GET4BYTES
    - MP4_READBOX_ENTER
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_btrt( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4265,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4267,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4268,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4271,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4278
      start: 4263
    functionDepth: 1
    functionLinenumber: 4263
    functionLinenumberEnd: 4278
    functionName: MP4_ReadBox_pasp
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_READBOX_EXIT
    - MP4_GET4BYTES
    - MP4_READBOX_ENTER
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_pasp( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4282,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4285,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4290,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4290,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4292,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4292,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4294,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4294,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4296,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4296,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4301,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4304,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4311
      start: 4280
    functionDepth: 1
    functionLinenumber: 4280
    functionLinenumberEnd: 4311
    functionName: MP4_ReadBox_clap
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_READBOX_EXIT
    - MP4_GET4BYTES
    - MP4_READBOX_ENTER
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_clap( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4315,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4317,1
    - Dst: MP4_GET8BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4319,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4321,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4324,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4330
      start: 4313
    functionDepth: 1
    functionLinenumber: 4313
    functionLinenumberEnd: 4330
    functionName: MP4_ReadBox_mehd
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_READBOX_ENTER
    - MP4_GET8BYTES
    - MP4_READBOX_EXIT
    - msg_Dbg
    - MP4_GETVERSIONFLAGS
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_mehd( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4334,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4335,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4337,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4338,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4339,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4340,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4341,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4344,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4350
      start: 4332
    functionDepth: 1
    functionLinenumber: 4332
    functionLinenumberEnd: 4350
    functionName: MP4_ReadBox_trex
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - msg_Dbg
    - MP4_GETVERSIONFLAGS
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_trex( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4355
      start: 4352
    functionDepth: 0
    functionLinenumber: 4352
    functionLinenumberEnd: 4355
    functionName: MP4_FreeBox_sdtp
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_sdtp( MP4_Box_t *p_box )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4360,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4362,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4365,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4366,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4367,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4370,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4373,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4375,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4384
      start: 4357
    functionDepth: 1
    functionLinenumber: 4357
    functionLinenumberEnd: 4384
    functionName: MP4_ReadBox_sdtp
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET1BYTE
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - msg_Dbg
    - MP4_GETVERSIONFLAGS
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_sdtp( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4388,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4390,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4392,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4393,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4396
      start: 4386
    functionDepth: 1
    functionLinenumber: 4386
    functionLinenumberEnd: 4396
    functionName: MP4_ReadBox_tsel
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_READBOX_EXIT
    - MP4_GET4BYTES
    - MP4_READBOX_ENTER
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_tsel( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4400,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4402,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4403,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4406,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4412
      start: 4398
    functionDepth: 1
    functionLinenumber: 4398
    functionLinenumberEnd: 4412
    functionName: MP4_ReadBox_mfro
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - msg_Dbg
    - MP4_GETVERSIONFLAGS
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_mfro( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4416,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4417,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4418,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4419,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4421
      start: 4414
    functionDepth: 0
    functionLinenumber: 4414
    functionLinenumberEnd: 4421
    functionName: MP4_FreeBox_tfra
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_tfra( MP4_Box_t *p_box )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4445,1
    - Dst: MP4_GETVERSIONFLAGS
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4447,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4449,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4450,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4452,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4453,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4460,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4461,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4465,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4468,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4471,1
    - Dst: MP4_GET8BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4489,1
    - Dst: MP4_GET8BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4490,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4496,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4497,1
    - Dst: READ_VARIABLE_LENGTH
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4500,1
    - Dst: READ_VARIABLE_LENGTH
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4501,1
    - Dst: READ_VARIABLE_LENGTH
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4502,1
    - Dst: FIX_VARIABLE_LENGTH
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4507,1
    - Dst: FIX_VARIABLE_LENGTH
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4508,1
    - Dst: FIX_VARIABLE_LENGTH
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4509,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4514,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4522,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4526,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4528,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 58
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4532
      start: 4423
    functionDepth: 1
    functionLinenumber: 4423
    functionLinenumberEnd: 4532
    functionName: MP4_ReadBox_tfra
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - READ_VARIABLE_LENGTH
    - MP4_READBOX_ENTER
    - MP4_GET8BYTES
    - calloc
    - MP4_READBOX_EXIT
    - msg_Dbg
    - MP4_GETVERSIONFLAGS
    - FIX_VARIABLE_LENGTH
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_tfra( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lengthvar
    - ','
    - p_array
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4442
      start: 4425
    functionDepth: 0
    functionLinenumber: 4425
    functionLinenumberEnd: 4442
    functionName: READ_VARIABLE_LENGTH
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_VARIABLE_LENGTH(lengthvar, p_array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lengthvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4443
      start: 4442
    functionDepth: 0
    functionLinenumber: 4442
    functionLinenumberEnd: 4443
    functionName: FIX_VARIABLE_LENGTH
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIX_VARIABLE_LENGTH(lengthvar)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4538,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4539,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4541,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4543,1
    - Dst: MP4_GETFOURCC
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4544,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4545,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4546,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4547
      start: 4534
    functionDepth: 1
    functionLinenumber: 4534
    functionLinenumberEnd: 4547
    functionName: MP4_ReadBox_pnot
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_GET2BYTES
    - MP4_GETFOURCC
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_pnot( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4551,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4554,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4556,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4558,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4559,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4560,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4561,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4562,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4564
      start: 4549
    functionDepth: 1
    functionLinenumber: 4549
    functionLinenumberEnd: 4564
    functionName: MP4_ReadBox_SA3D
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET1BYTE
    - MP4_READBOX_EXIT
    - MP4_GET4BYTES
    - MP4_READBOX_ENTER
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_SA3D( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4570
      start: 4566
    functionDepth: 0
    functionLinenumber: 4566
    functionLinenumberEnd: 4570
    functionName: MP4_FreeBox_Reference
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_Reference( MP4_Box_t *p_box )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4574,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4578,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4580,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4581,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4584,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4586,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4588,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4592,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4594,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4597,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4598
      start: 4572
    functionDepth: 1
    functionLinenumber: 4572
    functionLinenumberEnd: 4598
    functionName: MP4_ReadBox_Reference
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_GET2BYTES
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - vlc_alloc
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_Reference( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER_PARTIAL
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4602,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4605,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4607,1
    - Dst: MP4_GET3BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4608,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4610,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4612,1
    - Dst: MP4_ReadBoxUsing
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4617,1
    - Dst: MP4_BoxFree
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4621,1
    - Dst: MP4_BoxAddChild
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4625,1
    - Dst: MP4_Seek
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4629,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4630,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4632,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts:
    - condition: ( i_read == 0 )
      pos:
        line_end: 4611
        line_start: 4611
        source_file: /src/vlc/modules/demux/mp4/libmp4.c
    constantsTouched: []
    func_position:
      end: 4633
      start: 4600
    functionDepth: 2
    functionLinenumber: 4600
    functionLinenumberEnd: 4633
    functionName: MP4_ReadBox_iref
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - assert
    - MP4_GET1BYTE
    - MP4_BoxFree
    - MP4_READBOX_EXIT
    - MP4_GET3BYTES
    - MP4_ReadBoxUsing
    - MP4_Seek
    - MP4_READBOX_ENTER_PARTIAL
    - MP4_BoxAddChild
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_iref( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4641,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4642,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4644
      start: 4635
    functionDepth: 0
    functionLinenumber: 4635
    functionLinenumberEnd: 4644
    functionName: MP4_FreeBox_iloc
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_iloc( MP4_Box_t *p_box )
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4648,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4654,1
    - Dst: MP4_SKIPBYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4655,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4657,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4660,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4672,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4675,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4677,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4679,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4682,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4684,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4686,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4691,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4693,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4697,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4702,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4706,1
    - Dst: MP4_GET8BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4707,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4711,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4715,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4724,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4727,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4732,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4740,1
    - Dst: MP4_GET8BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4741,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4747,1
    - Dst: MP4_GET8BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4748,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4753,1
    - Dst: MP4_GET8BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4754,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4760,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 98
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4761
      start: 4646
    functionDepth: 1
    functionLinenumber: 4646
    functionLinenumberEnd: 4761
    functionName: MP4_ReadBox_iloc
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_GET2BYTES
    - MP4_GET1BYTE
    - MP4_READBOX_ENTER
    - MP4_GET8BYTES
    - MP4_READBOX_EXIT
    - vlc_alloc
    - MP4_SKIPBYTES
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_iloc( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4766,1
    - Dst: MP4_READBOX_ENTER_PARTIAL
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4770,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4772,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4775,1
    - Dst: MP4_SKIPBYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4776,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4778,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4781,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4783,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4785,1
    - Dst: MP4_ReadBox
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4791,1
    - Dst: MP4_BoxFree
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4794,1
    - Dst: MP4_BoxAddChild
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4799,1
    - Dst: MP4_Seek
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4804,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4805,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4807,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts:
    - condition: ( i_read == 0 )
      pos:
        line_end: 4784
        line_start: 4784
        source_file: /src/vlc/modules/demux/mp4/libmp4.c
    constantsTouched: []
    func_position:
      end: 4808
      start: 4763
    functionDepth: 2
    functionLinenumber: 4763
    functionLinenumberEnd: 4808
    functionName: MP4_ReadBox_iinf
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - vlc_stream_Peek
    - assert
    - MP4_BoxAddChild
    - MP4_GET2BYTES
    - MP4_GET1BYTE
    - MP4_BoxFree
    - MP4_READBOX_EXIT
    - MP4_ReadBox
    - MP4_Seek
    - MP4_READBOX_ENTER_PARTIAL
    - MP4_SKIPBYTES
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_iinf( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4813,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4814,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4815,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4817
      start: 4810
    functionDepth: 0
    functionLinenumber: 4810
    functionLinenumberEnd: 4817
    functionName: MP4_FreeBox_infe
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_infe( MP4_Box_t *p_box )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4821,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4825,1
    - Dst: MP4_GET3BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4826,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4828,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4832,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4833,1
    - Dst: mp4_getstringz
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4834,1
    - Dst: mp4_getstringz
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4837,1
    - Dst: mp4_getstringz
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4839,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4850,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4852,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4853,1
    - Dst: MP4_GETFOURCC
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4854,1
    - Dst: mp4_getstringz
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4855,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4856,1
    - Dst: mp4_getstringz
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4858,1
    - Dst: mp4_getstringz
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4860,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4862,1
    - Dst: mp4_getstringz
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4864,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4868,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4869
      start: 4819
    functionDepth: 2
    functionLinenumber: 4819
    functionLinenumberEnd: 4869
    functionName: MP4_ReadBox_infe
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - MP4_GET4BYTES
    - MP4_GET2BYTES
    - MP4_GET1BYTE
    - MP4_GETFOURCC
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - MP4_GET3BYTES
    - mp4_getstringz
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_infe( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4873,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4877,1
    - Dst: MP4_SKIPBYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4878,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4881,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4883,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4885,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4886
      start: 4871
    functionDepth: 1
    functionLinenumber: 4871
    functionLinenumberEnd: 4886
    functionName: MP4_ReadBox_pitm
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_GET2BYTES
    - MP4_GET1BYTE
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - MP4_SKIPBYTES
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_pitm( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4890,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4894,1
    - Dst: MP4_SKIPBYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4895,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4897,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4899,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4900,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4902,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4903
      start: 4888
    functionDepth: 1
    functionLinenumber: 4888
    functionLinenumberEnd: 4903
    functionName: MP4_ReadBox_ispe
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_GET1BYTE
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - MP4_SKIPBYTES
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_ispe( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4909,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4910,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4911
      start: 4905
    functionDepth: 0
    functionLinenumber: 4905
    functionLinenumberEnd: 4911
    functionName: MP4_FreeBox_ipma
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MP4_FreeBox_ipma( MP4_Box_t *p_box )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MP4_READBOX_ENTER
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4915,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4920,1
    - Dst: MP4_GET3BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4921,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4923,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4927,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4930,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4934,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4942,1
    - Dst: MP4_GET2BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4945,1
    - Dst: MP4_GET4BYTES
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4947,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4948,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4954,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4958,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4964,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4969,1
    - Dst: MP4_GET1BYTE
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4977,1
    - Dst: MP4_READBOX_EXIT
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4983,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4984
      start: 4913
    functionDepth: 1
    functionLinenumber: 4913
    functionLinenumberEnd: 4984
    functionName: MP4_ReadBox_ipma
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_GET4BYTES
    - MP4_GET2BYTES
    - MP4_GET1BYTE
    - MP4_READBOX_ENTER
    - MP4_READBOX_EXIT
    - MP4_GET3BYTES
    - vlc_alloc
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_ipma( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BOX_TYPE_ASCII
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4995,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/libmp4.c:4996,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5006
      start: 4987
    functionDepth: 1
    functionLinenumber: 4987
    functionLinenumberEnd: 5006
    functionName: MP4_ReadBox_default
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_BOX_TYPE_ASCII
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_default( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CmpUUID
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5012,1
    - Dst: MP4_ReadBox_tfrf
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5013,1
    - Dst: CmpUUID
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5014,1
    - Dst: MP4_ReadBox_tfxd
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5015,1
    - Dst: CmpUUID
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5016,1
    - Dst: MP4_ReadBox_XML360
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5017,1
    - Dst: CmpUUID
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5018,1
    - Dst: MP4_ReadBox_Binary
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5019,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5022,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5030,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - p_stream
    - p_box
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5033
      start: 5010
    functionDepth: 3
    functionLinenumber: 5010
    functionLinenumberEnd: 5033
    functionName: MP4_ReadBox_uuid
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - CmpUUID
    - MP4_ReadBox_tfxd
    - MP4_ReadBox_XML360
    - MP4_ReadBox_Binary
    - msg_Warn
    - MP4_ReadBox_tfrf
    linkageType: ''
    returnType: int
    signature: int MP4_ReadBox_uuid( stream_t *p_stream, MP4_Box_t *p_box )
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - p_stream
    - p_box
    - p_father
    argTypes:
    - stream_t*
    - MP4_Box_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5403
      start: 5380
    functionDepth: 0
    functionLinenumber: 5380
    functionLinenumberEnd: 5403
    functionName: MP4_Box_Read_Specific
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MP4_Box_Read_Specific( stream_t *p_stream, MP4_Box_t *p_box, MP4_Box_t
      *p_father )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5407,1
    - Dst: MP4_PeekBoxHeader
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5411,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5413,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5414,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5421,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5422,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5428,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5429,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - p_stream
    - p_father
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5435
      start: 5405
    functionDepth: 2
    functionLinenumber: 5405
    functionLinenumberEnd: 5435
    functionName: MP4_ReadBoxAllocateCheck
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_PeekBoxHeader
    - calloc
    - free
    - msg_Dbg
    - msg_Warn
    linkageType: ''
    returnType: MP4_Box_t
    signature: MP4_Box_t *MP4_ReadBoxAllocateCheck( stream_t *p_stream, MP4_Box_t
      *p_father )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP4_ReadBoxAllocateCheck
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5443,1
    - Dst: MP4_ReadBox_function
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5447,1
    - Dst: MP4_BoxFree
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5450,1
    - Dst: MP4_Seek
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p_stream
    - p_father
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5455
      start: 5440
    functionDepth: 3
    functionLinenumber: 5440
    functionLinenumberEnd: 5455
    functionName: MP4_ReadBoxUsing
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 3
    functionsReached:
    - MP4_ReadBox_function
    - MP4_Seek
    - MP4_ReadBoxAllocateCheck
    - MP4_BoxFree
    linkageType: ''
    returnType: MP4_Box_t
    signature: "MP4_Box_t *MP4_ReadBoxUsing( stream_t *p_stream, MP4_Box_t *p_father,\n
      \                                   int(*MP4_ReadBox_function)(stream_t *, MP4_Box_t
      *) )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP4_ReadBoxAllocateCheck
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5463,1
    - Dst: MP4_Box_Read_Specific
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5467,1
    - Dst: MP4_BoxFree
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5470,1
    - Dst: MP4_Seek
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p_stream
    - p_father
    argTypes:
    - stream_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5475
      start: 5461
    functionDepth: 3
    functionLinenumber: 5461
    functionLinenumberEnd: 5475
    functionName: MP4_ReadBox
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 3
    functionsReached:
    - MP4_Seek
    - MP4_Box_Read_Specific
    - MP4_ReadBoxAllocateCheck
    - MP4_BoxFree
    linkageType: ''
    returnType: MP4_Box_t
    signature: MP4_Box_t *MP4_ReadBox( stream_t *p_stream, MP4_Box_t *p_father )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5482,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i_type
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5488
      start: 5480
    functionDepth: 1
    functionLinenumber: 5480
    functionLinenumberEnd: 5488
    functionName: MP4_BoxNew
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 7
    functionsReached:
    - calloc
    - likely
    linkageType: ''
    returnType: MP4_Box_t
    signature: MP4_Box_t * MP4_BoxNew( uint32_t i_type )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxFree
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5506,1
    - Dst: MP4_Box_t*::pf_free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5511,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5513,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5514,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5515
      start: 5494
    functionDepth: 1
    functionLinenumber: 5494
    functionLinenumberEnd: 5515
    functionName: MP4_BoxFree
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 22
    functionsReached:
    - free
    - MP4_Box_t*::pf_free
    - MP4_BoxFree
    linkageType: ''
    returnType: void
    signature: void MP4_BoxFree( MP4_Box_t *p_box )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxNew
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5523,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5524,1
    - Dst: MP4_ReadBoxContainerChildren
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5529,1
    - Dst: MP4_BoxFree
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5534,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5544
      start: 5517
    functionDepth: 5
    functionLinenumber: 5517
    functionLinenumberEnd: 5544
    functionName: MP4_BoxGetNextChunk
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 2
    functionsReached:
    - MP4_BoxFree
    - MP4_BoxNew
    - unlikely
    - MP4_ReadBoxContainerChildren
    linkageType: ''
    returnType: MP4_Box_t
    signature: MP4_Box_t *MP4_BoxGetNextChunk( stream_t *s )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxNew
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5556,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5562,1
    - Dst: MP4_ReadBoxContainerChildren
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5568,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5572,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5575,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5577,1
    - Dst: MP4_ReadBoxContainerChildren
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5583,1
    - Dst: MP4_BoxCount
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5590,1
    - Dst: MP4_ReadBoxContainerChildrenIndexed
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5595,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5599,1
    - Dst: MP4_ReadBoxContainerChildren
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5602,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5611,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5612,1
    - Dst: MP4_BoxExtract
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5614,1
    - Dst: MP4_BoxExtract
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5616,1
    - Dst: MP4_BoxAddChild
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5618,1
    - Dst: MP4_BoxFree
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5620,1
    - Dst: MP4_BoxFree
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5626,1
    - Dst: MP4_Seek
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5627,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5629
      start: 5552
    functionDepth: 5
    functionLinenumber: 5552
    functionLinenumberEnd: 5629
    functionName: MP4_BoxGetRoot
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 3
    functionsReached:
    - MP4_BoxAddChild
    - MP4_BoxNew
    - MP4_ReadBoxContainerChildren
    - MP4_BoxFree
    - MP4_BoxGet
    - msg_Err
    - MP4_BoxCount
    - MP4_BoxExtract
    - MP4_Seek
    - vlc_stream_Tell
    - MP4_ReadBoxContainerChildrenIndexed
    - vlc_stream_GetSize
    - vlc_stream_Control
    linkageType: ''
    returnType: MP4_Box_t
    signature: MP4_Box_t *MP4_BoxGetRoot( stream_t *p_stream )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BOX_TYPE_ASCII
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5637,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5641,1
    - Dst: memset
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5650,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5656,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5660,1
    - Dst: MP4_BoxDumpStructure_Internal
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5665,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - obj
    - p_box
    - i_level
    argTypes:
    - vlc_object_t*
    - MP4_Box_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5668
      start: 5632
    functionDepth: 1
    functionLinenumber: 5632
    functionLinenumberEnd: 5668
    functionName: MP4_BoxDumpStructure_Internal
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 1
    functionsReached:
    - memset
    - msg_Dbg
    - MP4_BoxDumpStructure_Internal
    - snprintf
    - MP4_BOX_TYPE_ASCII
    linkageType: ''
    returnType: void
    signature: "void MP4_BoxDumpStructure_Internal( vlc_object_t *obj, const MP4_Box_t
      *p_box,\n                                           unsigned int i_level )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxDumpStructure_Internal
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - obj
    - p_box
    argTypes:
    - vlc_object_t*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5673
      start: 5670
    functionDepth: 2
    functionLinenumber: 5670
    functionLinenumberEnd: 5673
    functionName: MP4_BoxDumpStructure
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 4
    functionsReached:
    - MP4_BoxDumpStructure_Internal
    linkageType: ''
    returnType: void
    signature: void MP4_BoxDumpStructure( vlc_object_t *obj, const MP4_Box_t *p_box
      )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcspn
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5692,1
    - Dst: strndup
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5697,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5698,1
    - Dst: strtoul
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5708,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5711,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - ppsz_path
    - ppsz_token
    - pi_number
    argTypes:
    - char**
    - char**
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5728
      start: 5683
    functionDepth: 2
    functionLinenumber: 5683
    functionLinenumberEnd: 5728
    functionName: get_token
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 6
    functionsReached:
    - strndup
    - strtoul
    - free
    - strcspn
    - unlikely
    linkageType: ''
    returnType: bool
    signature: bool get_token( const char **ppsz_path, char **ppsz_token, unsigned
      *pi_number )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5732,1
    - Dst: get_token
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5740,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5750,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5757,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5762,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5768,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5772,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5779,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5792,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 36
    argCount: 2
    argNames:
    - p_box
    - psz_path
    argTypes:
    - MP4_Box_t*
    - char*
    assertStmts:
    - condition: ( psz_path && psz_path[0] )
      pos:
        line_end: 5731
        line_start: 5731
        source_file: /src/vlc/modules/demux/mp4/libmp4.c
    constantsTouched: []
    func_position:
      end: 5796
      start: 5730
    functionDepth: 3
    functionLinenumber: 5730
    functionLinenumberEnd: 5796
    functionName: MP4_BoxGet_Path
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - assert
    - strlen
    - free
    - strcmp
    - get_token
    linkageType: ''
    returnType: MP4_Box_t
    signature: MP4_Box_t * MP4_BoxGet_Path( const MP4_Box_t *p_box, const char *psz_path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vasprintf
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5806,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5811,1
    - Dst: MP4_BoxGet_Path
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5815,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5816,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - p_box
    - psz_fmt
    - args
    argTypes:
    - MP4_Box_t*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5818
      start: 5798
    functionDepth: 4
    functionLinenumber: 5798
    functionLinenumberEnd: 5818
    functionName: MP4_BoxGet_Internal
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - free
    - vasprintf
    - MP4_BoxGet_Path
    linkageType: ''
    returnType: MP4_Box_t
    signature: "MP4_Box_t * MP4_BoxGet_Internal( const MP4_Box_t *p_box,\n                                 const
      char *psz_fmt, va_list args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5834,1
    - Dst: MP4_BoxGet_Internal
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5835,1
    - Dst: va_end
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p_box
    - psz_fmt
    argTypes:
    - MP4_Box_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5839
      start: 5829
    functionDepth: 5
    functionLinenumber: 5829
    functionLinenumberEnd: 5839
    functionName: MP4_BoxGetVa
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 5
    functionsReached:
    - MP4_BoxGet_Internal
    - va_end
    - va_start
    linkageType: ''
    returnType: MP4_Box_t
    signature: MP4_Box_t *MP4_BoxGetVa( const MP4_Box_t *p_box, const char *psz_fmt,
      ... )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxGet_Path
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_box
    - psz_fmt
    argTypes:
    - MP4_Box_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5844
      start: 5841
    functionDepth: 4
    functionLinenumber: 5841
    functionLinenumberEnd: 5844
    functionName: MP4_BoxGet
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 51
    functionsReached:
    - MP4_BoxGet_Path
    linkageType: ''
    returnType: MP4_Box_t
    signature: MP4_Box_t *MP4_BoxGet( const MP4_Box_t *p_box, const char *psz_fmt
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5861,1
    - Dst: MP4_BoxGet_Internal
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5862,1
    - Dst: va_end
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5863,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - p_box
    - psz_fmt
    argTypes:
    - MP4_Box_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5878
      start: 5855
    functionDepth: 5
    functionLinenumber: 5855
    functionLinenumberEnd: 5878
    functionName: MP4_BoxCountVa
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 0
    functionsReached:
    - MP4_BoxGet_Internal
    - va_end
    - va_start
    linkageType: ''
    returnType: unsigned
    signature: unsigned MP4_BoxCountVa( const MP4_Box_t *p_box, const char *psz_fmt,
      ... )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxGet_Path
      Src: /src/vlc/modules/demux/mp4/libmp4.c:5885,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - p_box
    - psz_fmt
    argTypes:
    - MP4_Box_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5900
      start: 5880
    functionDepth: 4
    functionLinenumber: 5880
    functionLinenumberEnd: 5900
    functionName: MP4_BoxCount
    functionSourceFile: /src/vlc/modules/demux/mp4/libmp4.c
    functionUses: 7
    functionsReached:
    - MP4_BoxGet_Path
    linkageType: ''
    returnType: unsigned
    signature: unsigned MP4_BoxCount( const MP4_Box_t *p_box, const char *psz_fmt
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/heif.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - p_root
    - i_type
    - psz_path
    - p_infe
    argTypes:
    - MP4_Box_t*
    - vlc_fourcc_t
    - char*
    - MP4_Box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 61
    functionDepth: 5
    functionLinenumber: 61
    functionLinenumberEnd: 75
    functionName: NextAtom
    functionSourceFile: /src/vlc/modules/demux/mp4/heif.c
    functionUses: 0
    functionsReached:
    - MP4_BoxGet
    linkageType: ''
    returnType: MP4_Box_t
    signature: "MP4_Box_t * NextAtom( MP4_Box_t *p_root,\n                             vlc_fourcc_t
      i_type, const char *psz_path,\n                             MP4_Box_t *p_infe
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NextAtom
      Src: /src/vlc/modules/demux/mp4/heif.c:82,1
    - Dst: pf_match
      Src: /src/vlc/modules/demux/mp4/heif.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - p_root
    - p_atom
    - i_type
    - psz_path
    - priv
    argTypes:
    - MP4_Box_t*
    - MP4_Box_t*
    - vlc_fourcc_t
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 6
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: GetAtom
    functionSourceFile: /src/vlc/modules/demux/mp4/heif.c
    functionUses: 0
    functionsReached:
    - pf_match
    - NextAtom
    linkageType: ''
    returnType: MP4_Box_t
    signature: "MP4_Box_t * GetAtom( MP4_Box_t *p_root, MP4_Box_t *p_atom,\n                            vlc_fourcc_t
      i_type, const char *psz_path,\n                            bool(*pf_match)(const
      MP4_Box_t *, void *),\n                            void *priv )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_infe
    - priv
    argTypes:
    - MP4_Box_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: MatchInfeID
    functionSourceFile: /src/vlc/modules/demux/mp4/heif.c
    functionUses: 0
    functionsReached:
    - BOXDATA
    linkageType: ''
    returnType: bool
    signature: bool MatchInfeID( const MP4_Box_t *p_infe, void *priv )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/heif.c:98,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:104,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - p_infe
    - priv
    argTypes:
    - MP4_Box_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 5
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: MatchPureImage
    functionSourceFile: /src/vlc/modules/demux/mp4/heif.c
    functionUses: 0
    functionsReached:
    - BOXDATA
    - MP4_BoxGet
    linkageType: ''
    returnType: bool
    signature: bool MatchPureImage( const MP4_Box_t *p_infe, void *priv )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NextAtom
      Src: /src/vlc/modules/demux/mp4/heif.c:115,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:117,1
    - Dst: MatchPureImage
      Src: /src/vlc/modules/demux/mp4/heif.c:118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - p_sys
    - i_picture
    argTypes:
    - struct heif_private_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 110
    functionDepth: 6
    functionLinenumber: 110
    functionLinenumberEnd: 125
    functionName: SeekToPrevImageEnd
    functionSourceFile: /src/vlc/modules/demux/mp4/heif.c
    functionUses: 0
    functionsReached:
    - NextAtom
    - BOXDATA
    - MatchPureImage
    linkageType: ''
    returnType: void
    signature: void SeekToPrevImageEnd( struct heif_private_t *p_sys, int i_picture
      )
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mp4/heif.c:134,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mp4/heif.c:138,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mp4/heif.c:139,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mp4/heif.c:140,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mp4/heif.c:141,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/heif.c:147,1
    - Dst: vlc_input_title_Duplicate
      Src: /src/vlc/modules/demux/mp4/heif.c:151,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/heif.c:154,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mp4/heif.c:165,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mp4/heif.c:171,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mp4/heif.c:175,1
    - Dst: SeekToPrevImageEnd
      Src: /src/vlc/modules/demux/mp4/heif.c:178,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mp4/heif.c:183,1
    - Dst: SeekToPrevImageEnd
      Src: /src/vlc/modules/demux/mp4/heif.c:203,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mp4/heif.c:203,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/mp4/heif.c:222,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 69
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 127
    functionDepth: 7
    functionLinenumber: 127
    functionLinenumberEnd: 228
    functionName: ControlHEIF
    functionSourceFile: /src/vlc/modules/demux/mp4/heif.c
    functionUses: 0
    functionsReached:
    - demux_vaControlHelper
    - SeekToPrevImageEnd
    - vlc_input_title_Duplicate
    - free
    - va_arg
    - malloc
    linkageType: ''
    returnType: int
    signature: int ControlHEIF( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/heif.c:241,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:245,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:247,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/mp4/heif.c:255,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/heif.c:258,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:265,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:267,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:268,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:269,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:271,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:274,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/heif.c:276,1
    - Dst: mp4_box_headersize
      Src: /src/vlc/modules/demux/mp4/heif.c:279,1
    - Dst: mp4_box_headersize
      Src: /src/vlc/modules/demux/mp4/heif.c:281,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/demux/mp4/heif.c:287,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/mp4/heif.c:294,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/mp4/heif.c:296,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:299,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:303,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/heif.c:306,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/heif.c:312,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:313,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:316,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:320,1
    - Dst: ReadItemExtents
      Src: /src/vlc/modules/demux/mp4/heif.c:322,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:323,1
    - Dst: block_ChainGather
      Src: /src/vlc/modules/demux/mp4/heif.c:339,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 58
    argCount: 4
    argNames:
    - p_demux
    - i_item_id
    - p_shared_header
    - depth
    argTypes:
    - demux_t*
    - uint32_t
    - MP4_Box_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 235
    functionDepth: 5
    functionLinenumber: 235
    functionLinenumberEnd: 342
    functionName: ReadItemExtents
    functionSourceFile: /src/vlc/modules/demux/mp4/heif.c
    functionUses: 1
    functionsReached:
    - VLC_FOURCC
    - BOXDATA
    - ReadItemExtents
    - memcpy
    - MP4_BoxGet
    - block_Alloc
    - vlc_stream_Seek
    - vlc_stream_Block
    - vlc_stream_GetSize
    - mp4_box_headersize
    - block_ChainGather
    linkageType: ''
    returnType: block_t
    signature: "block_t *ReadItemExtents( demux_t *p_demux, uint32_t i_item_id,\n
      \                                const MP4_Box_t *p_shared_header, int depth
      )"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/heif.c:349,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:354,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:356,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:359,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:361,1
    - Dst: MP4_BoxGetVa
      Src: /src/vlc/modules/demux/mp4/heif.c:364,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:365,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/heif.c:377,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/heif.c:381,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mp4/heif.c:389,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/heif.c:393,1
    - Dst: iso_23001_8_cp_to_vlc_primaries
      Src: /src/vlc/modules/demux/mp4/heif.c:438,1
    - Dst: iso_23001_8_tc_to_vlc_xfer
      Src: /src/vlc/modules/demux/mp4/heif.c:440,1
    - Dst: iso_23001_8_mc_to_vlc_coeffs
      Src: /src/vlc/modules/demux/mp4/heif.c:442,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/heif.c:452,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/heif.c:454,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 94
    argCount: 4
    argNames:
    - p_demux
    - i_item_id
    - fmt
    - p_header
    argTypes:
    - demux_t*
    - uint32_t
    - es_format_t*
    - MP4_Box_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 344
    functionDepth: 6
    functionLinenumber: 344
    functionLinenumberEnd: 467
    functionName: SetPictureProperties
    functionSourceFile: /src/vlc/modules/demux/mp4/heif.c
    functionUses: 0
    functionsReached:
    - BOXDATA
    - iso_23001_8_cp_to_vlc_primaries
    - iso_23001_8_mc_to_vlc_coeffs
    - iso_23001_8_tc_to_vlc_xfer
    - memcpy
    - MP4_BoxGetVa
    - MP4_BoxGet
    - malloc
    linkageType: ''
    returnType: int
    signature: "int SetPictureProperties( demux_t *p_demux, uint32_t i_item_id,\n
      \                                es_format_t *fmt, const MP4_Box_t **p_header
      )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:475,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:476,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:477,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/heif.c:479,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/mp4/heif.c:480,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/heif.c:482,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/mp4/heif.c:483,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/mp4/heif.c:486,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/heif.c:488,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/mp4/heif.c:489,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/mp4/heif.c:494,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/mp4/heif.c:495,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/demux/mp4/heif.c:496,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/mp4/heif.c:497,1
    - Dst: SetPictureProperties
      Src: /src/vlc/modules/demux/mp4/heif.c:505,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - p_demux
    - p_infe
    - fmt
    - p_header
    argTypes:
    - demux_t*
    - MP4_Box_t*
    - es_format_t*
    - MP4_Box_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 469
    functionDepth: 7
    functionLinenumber: 469
    functionLinenumberEnd: 506
    functionName: SetupPicture
    functionSourceFile: /src/vlc/modules/demux/mp4/heif.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - BOXDATA
    - SetPictureProperties
    - strcasecmp
    - es_format_Init
    linkageType: ''
    returnType: int
    signature: "int SetupPicture( demux_t *p_demux, const MP4_Box_t *p_infe,\n                         es_format_t
      *fmt, const MP4_Box_t **p_header )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mp4/heif.c:531,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mp4/heif.c:532,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mp4/heif.c:538,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mp4/heif.c:539,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - p_data
    - i_data
    - d
    argTypes:
    - uint8_t*
    - size_t
    - union heif_derivation_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 542
    functionName: ReadDerivationData_Grid
    functionSourceFile: /src/vlc/modules/demux/mp4/heif.c
    functionUses: 0
    functionsReached:
    - GetWBE
    - GetDWBE
    linkageType: ''
    returnType: int
    signature: "int ReadDerivationData_Grid( const uint8_t *p_data, size_t i_data,\n
      \                                   union heif_derivation_data *d )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ReadItemExtents
      Src: /src/vlc/modules/demux/mp4/heif.c:549,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/heif.c:554,1
    - Dst: ReadDerivationData_Grid
      Src: /src/vlc/modules/demux/mp4/heif.c:555,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mp4/heif.c:561,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - p_demux
    - type
    - i_item_id
    - d
    argTypes:
    - demux_t*
    - vlc_fourcc_t
    - uint32_t
    - union heif_derivation_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 544
    functionDepth: 6
    functionLinenumber: 544
    functionLinenumberEnd: 564
    functionName: ReadDerivationData
    functionSourceFile: /src/vlc/modules/demux/mp4/heif.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - ReadDerivationData_Grid
    - block_Release
    - ReadItemExtents
    linkageType: ''
    returnType: int
    signature: "int ReadDerivationData( demux_t *p_demux, vlc_fourcc_t type,\n                               uint32_t
      i_item_id,\n                               union heif_derivation_data *d )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GetAtom
      Src: /src/vlc/modules/demux/mp4/heif.c:575,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/mp4/heif.c:582,1
    - Dst: SetupPicture
      Src: /src/vlc/modules/demux/mp4/heif.c:585,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/mp4/heif.c:587,1
    - Dst: ReadItemExtents
      Src: /src/vlc/modules/demux/mp4/heif.c:591,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/mp4/heif.c:595,1
    - Dst: video_format_Init
      Src: /src/vlc/modules/demux/mp4/heif.c:600,1
    - Dst: image_Read
      Src: /src/vlc/modules/demux/mp4/heif.c:604,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/mp4/heif.c:606,1
    - Dst: picture_Release
      Src: /src/vlc/modules/demux/mp4/heif.c:617,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/heif.c:638,1
    - Dst: picture_Release
      Src: /src/vlc/modules/demux/mp4/heif.c:645,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 9
    argNames:
    - p_demux
    - handler
    - i_pic_item_id
    - p_buffer
    - i_buffer
    - tile
    - gridcols
    - imagewidth
    - imageheight
    argTypes:
    - demux_t*
    - image_handler_t*
    - uint32_t
    - uint8_t*
    - size_t
    - unsigned
    - unsigned
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 566
    functionDepth: 8
    functionLinenumber: 566
    functionLinenumberEnd: 648
    functionName: LoadGridImage
    functionSourceFile: /src/vlc/modules/demux/mp4/heif.c
    functionUses: 0
    functionsReached:
    - video_format_Init
    - es_format_Clean
    - ReadItemExtents
    - image_Read
    - memcpy
    - SetupPicture
    - picture_Release
    - GetAtom
    - es_format_Init
    linkageType: ''
    returnType: int
    signature: "int LoadGridImage( demux_t *p_demux,\n                          image_handler_t
      *handler,\n                          uint32_t i_pic_item_id,\n                               uint8_t
      *p_buffer, size_t i_buffer,\n                               unsigned tile, unsigned
      gridcols,\n                               unsigned imagewidth, unsigned imageheight
      )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/heif.c:655,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/heif.c:662,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:663,1
    - Dst: ReadDerivationData
      Src: /src/vlc/modules/demux/mp4/heif.c:671,1
    - Dst: struct heif_private_t*::current::BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:672,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/heif.c:676,1
    - Dst: image_HandlerCreate
      Src: /src/vlc/modules/demux/mp4/heif.c:682,1
    - Dst: ckd_mul
      Src: /src/vlc/modules/demux/mp4/heif.c:687,1
    - Dst: ckd_mul
      Src: /src/vlc/modules/demux/mp4/heif.c:689,1
    - Dst: image_HandlerDelete
      Src: /src/vlc/modules/demux/mp4/heif.c:691,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/mp4/heif.c:695,1
    - Dst: image_HandlerDelete
      Src: /src/vlc/modules/demux/mp4/heif.c:698,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/mp4/heif.c:703,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:712,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mp4/heif.c:714,1
    - Dst: LoadGridImage
      Src: /src/vlc/modules/demux/mp4/heif.c:715,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:716,1
    - Dst: SetPictureProperties
      Src: /src/vlc/modules/demux/mp4/heif.c:723,1
    - Dst: image_HandlerDelete
      Src: /src/vlc/modules/demux/mp4/heif.c:725,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 4
    argNames:
    - p_demux
    - i_grid_item_id
    - fmt
    - pp_block
    argTypes:
    - demux_t*
    - uint32_t
    - es_format_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 650
    functionDepth: 9
    functionLinenumber: 650
    functionLinenumberEnd: 728
    functionName: DerivedImageAssembleGrid
    functionSourceFile: /src/vlc/modules/demux/mp4/heif.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - BOXDATA
    - SetPictureProperties
    - image_HandlerDelete
    - ReadDerivationData
    - MP4_BoxGet
    - ckd_mul
    - struct heif_private_t*::current::BOXDATA
    - block_Alloc
    - msg_Dbg
    - LoadGridImage
    - es_format_Init
    - image_HandlerCreate
    linkageType: ''
    returnType: int
    signature: "int DerivedImageAssembleGrid( demux_t *p_demux, uint32_t i_grid_item_id,\n
      \                                    es_format_t *fmt, block_t **pp_block )"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mp4/heif.c:738,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mp4/heif.c:740,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/demux/mp4/heif.c:741,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/demux/mp4/heif.c:743,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/mp4/heif.c:743,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/heif.c:755,1
    - Dst: GetAtom
      Src: /src/vlc/modules/demux/mp4/heif.c:759,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:761,1
    - Dst: GetAtom
      Src: /src/vlc/modules/demux/mp4/heif.c:765,1
    - Dst: struct heif_private_t*::current::BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:773,1
    - Dst: MP4_BoxGet
      Src: /src/vlc/modules/demux/mp4/heif.c:774,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/mp4/heif.c:779,1
    - Dst: struct heif_private_t*::current::BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:782,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/heif.c:782,1
    - Dst: DerivedImageAssembleGrid
      Src: /src/vlc/modules/demux/mp4/heif.c:784,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/mp4/heif.c:787,1
    - Dst: SetupPicture
      Src: /src/vlc/modules/demux/mp4/heif.c:793,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/mp4/heif.c:796,1
    - Dst: ReadItemExtents
      Src: /src/vlc/modules/demux/mp4/heif.c:800,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/mp4/heif.c:804,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/mp4/heif.c:809,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/demux/mp4/heif.c:810,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/mp4/heif.c:811,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/demux/mp4/heif.c:813,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/mp4/heif.c:814,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mp4/heif.c:818,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/mp4/heif.c:826,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/demux/mp4/heif.c:834,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/mp4/heif.c:838,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/mp4/heif.c:839,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 63
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 730
    functionDepth: 10
    functionLinenumber: 730
    functionLinenumberEnd: 842
    functionName: DemuxHEIF
    functionSourceFile: /src/vlc/modules/demux/mp4/heif.c
    functionUses: 0
    functionsReached:
    - BOXDATA
    - ReadItemExtents
    - DerivedImageAssembleGrid
    - vlc_tick_sleep
    - es_format_Init
    - vlc_tick_now
    - es_out_Send
    - struct heif_private_t*::current::BOXDATA
    - GetAtom
    - VLC_FOURCC
    - MP4_BoxGet
    - SetupPicture
    - es_format_Copy
    - es_out_SetPCR
    - block_Release
    - es_out_Control
    - es_format_Clean
    - VLC_TICK_FROM_MS
    - es_out_Del
    - es_out_Add
    linkageType: ''
    returnType: int
    signature: int DemuxHEIF( demux_t *p_demux )
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mp4/heif.c:849,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/heif.c:852,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/heif.c:855,1
    - Dst: MP4_BoxGetRoot
      Src: /src/vlc/modules/demux/mp4/heif.c:873,1
    - Dst: MP4_BoxDumpStructure
      Src: /src/vlc/modules/demux/mp4/heif.c:877,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mp4/heif.c:877,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/mp4/heif.c:879,1
    - Dst: vlc_input_title_New
      Src: /src/vlc/modules/demux/mp4/heif.c:882,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/heif.c:885,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/mp4/heif.c:889,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/demux/mp4/heif.c:889,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/demux/mp4/heif.c:891,1
    - Dst: NextAtom
      Src: /src/vlc/modules/demux/mp4/heif.c:894,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:896,1
    - Dst: MatchPureImage
      Src: /src/vlc/modules/demux/mp4/heif.c:897,1
    - Dst: vlc_seekpoint_New
      Src: /src/vlc/modules/demux/mp4/heif.c:899,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:903,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mp4/heif.c:904,1
    - Dst: BOXDATA
      Src: /src/vlc/modules/demux/mp4/heif.c:904,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/demux/mp4/heif.c:905,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/mp4/heif.c:909,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 844
    functionDepth: 6
    functionLinenumber: 844
    functionLinenumberEnd: 915
    functionName: OpenHEIF
    functionSourceFile: /src/vlc/modules/demux/mp4/heif.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - vlc_stream_Peek
    - BOXDATA
    - MatchPureImage
    - strdup
    - VLC_TICK_FROM_SEC
    - vlc_tick_from_sec
    - NextAtom
    - vlc_seekpoint_New
    - TAB_APPEND
    - calloc
    - free
    - vlc_input_title_New
    - VLC_OBJECT
    - es_format_Init
    - MP4_BoxDumpStructure
    - var_InheritFloat
    - MP4_BoxGetRoot
    linkageType: ''
    returnType: int
    signature: int OpenHEIF( vlc_object_t * p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP4_BoxFree
      Src: /src/vlc/modules/demux/mp4/heif.c:921,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/demux/mp4/heif.c:923,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/mp4/heif.c:924,1
    - Dst: vlc_input_title_Delete
      Src: /src/vlc/modules/demux/mp4/heif.c:925,1
    - Dst: free
      Src: /src/vlc/modules/demux/mp4/heif.c:926,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 917
    functionDepth: 2
    functionLinenumber: 917
    functionLinenumberEnd: 927
    functionName: CloseHEIF
    functionSourceFile: /src/vlc/modules/demux/mp4/heif.c
    functionUses: 0
    functionsReached:
    - vlc_input_title_Delete
    - es_format_Clean
    - MP4_BoxFree
    - free
    - es_out_Del
    linkageType: ''
    returnType: void
    signature: void CloseHEIF ( vlc_object_t * p_this )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mp4/languages.h:71,1
    - Dst: memset
      Src: /src/vlc/modules/demux/mp4/languages.h:81,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - i_language_code
    - psz_iso
    - b_mactables
    argTypes:
    - uint16_t
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 89
    functionName: decodeQtLanguageCode
    functionSourceFile: /src/vlc/modules/demux/mp4/languages.h
    functionUses: 3
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: bool
    signature: "bool decodeQtLanguageCode( uint16_t i_language_code, char *psz_iso,\n
      \                                 bool *b_mactables )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p_it
    - p_data
    - i_data
    argTypes:
    - mp4_box_iterator_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: mp4_box_iterator_Init
    functionSourceFile: /src/vlc/modules/demux/mp4/minibox.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mp4_box_iterator_Init( mp4_box_iterator_t *p_it,\n                                   const
      uint8_t *p_data, size_t i_data )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mp4/minibox.h:42,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mp4/minibox.h:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - p_it
    argTypes:
    - mp4_box_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 55
    functionName: mp4_box_iterator_Next
    functionSourceFile: /src/vlc/modules/demux/mp4/minibox.h
    functionUses: 1
    functionsReached:
    - VLC_FOURCC
    - GetDWBE
    linkageType: ''
    returnType: bool
    signature: bool mp4_box_iterator_Next( mp4_box_iterator_t *p_it )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: demux_Demux
      Src: /src/vlc/modules/demux/filter/noseek.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/filter/noseek.c
    functionUses: 22
    functionsReached:
    - demux_Demux
    linkageType: ''
    returnType: int
    signature: int Demux(demux_t *demux)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/demux/filter/noseek.c:39,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/filter/noseek.c:49,1
    - Dst: demux_Control
      Src: /src/vlc/modules/demux/filter/noseek.c:51,1
    - Dst: demux_vaControl
      Src: /src/vlc/modules/demux/filter/noseek.c:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - demux
    - query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 63
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/filter/noseek.c
    functionUses: 162
    functionsReached:
    - va_arg
    - demux_vaControl
    - demux_Control
    linkageType: ''
    returnType: int
    signature: int Control(demux_t *demux, int query, va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/filter/noseek.c
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: demux_PacketizerDestroy
      Src: /src/vlc/modules/demux/mpeg/mpgv.c:75,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/mpgv.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/mpeg/mpgv.c
    functionUses: 127
    functionsReached:
    - demux_PacketizerDestroy
    - free
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t * p_this )
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - p_peek
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 97
    functionName: CheckMPEGStartCode
    functionSourceFile: /src/vlc/modules/demux/mpeg/mpgv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CheckMPEGStartCode( const uint8_t *p_peek )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mpeg/mpgv.c:112,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mpeg/mpgv.c:122,1
    - Dst: CheckMPEGStartCode
      Src: /src/vlc/modules/demux/mpeg/mpgv.c:125,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mpeg/mpgv.c:128,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mpeg/mpgv.c:132,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/mpeg/mpgv.c:137,1
    - Dst: demux_PacketizerNew
      Src: /src/vlc/modules/demux/mpeg/mpgv.c:138,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mpeg/mpgv.c:138,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/mpgv.c:141,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/mpeg/mpgv.c:146,1
    - Dst: Close
      Src: /src/vlc/modules/demux/mpeg/mpgv.c:149,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 154
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/mpeg/mpgv.c
    functionUses: 37
    functionsReached:
    - Close
    - vlc_stream_Peek
    - demux_PacketizerNew
    - msg_Err
    - free
    - CheckMPEGStartCode
    - es_format_Init
    - VLC_OBJECT
    - es_out_Add
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t * p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/mpeg/mpgv.c:167,1
    - Dst: demux_sys_t*::p_packetizer::pf_packetize
      Src: /src/vlc/modules/demux/mpeg/mpgv.c:178,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/mpeg/mpgv.c:187,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/mpeg/mpgv.c:190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 196
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/mpeg/mpgv.c
    functionUses: 22
    functionsReached:
    - demux_sys_t*::p_packetizer::pf_packetize
    - es_out_Send
    - es_out_SetPCR
    - vlc_stream_Block
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/mpeg/mpgv.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 211
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/mpeg/mpgv.c
    functionUses: 162
    functionsReached:
    - demux_vaControlHelper
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: SEEN
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_pid.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SEEN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: SCRAMBLED
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_pid.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCRAMBLED(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p_sys
    - ','
    - i_pid
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: GetPID
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_pid.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GetPID(p_sys, i_pid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mpeg/ts_arib.c:129,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mpeg/ts_arib.c:133,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mpeg/ts_arib.c:134,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mpeg/ts_arib.c:148,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/ts_arib.c:154,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/ts_arib.c:155,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/ts_arib.c:156,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - p_in
    - i_in
    - pp_out
    - pi_out
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 160
    functionName: ts_arib_inject_png_palette
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_arib.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - malloc
    - memcpy
    - GetDWBE
    linkageType: ''
    returnType: bool
    signature: bool ts_arib_inject_png_palette( const uint8_t *p_in, size_t i_in,
      uint8_t **pp_out, size_t *pi_out )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_arib.c:165,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_arib.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_dr
    argTypes:
    - ts_arib_logo_dr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: ts_arib_logo_dr_Delete
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_arib.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void ts_arib_logo_dr_Delete( ts_arib_logo_dr_t *p_dr )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/demux/mpeg/ts_arib.c:174,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mpeg/ts_arib.c:175,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mpeg/ts_arib.c:197,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mpeg/ts_arib.c:198,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/ts_arib.c:202,1
    - Dst: ts_arib_logo_dr_Delete
      Src: /src/vlc/modules/demux/mpeg/ts_arib.c:208,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - p_data
    - i_data
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 210
    functionName: ts_arib_logo_dr_Decode
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_arib.c
    functionUses: 0
    functionsReached:
    - ts_arib_logo_dr_Delete
    - memcpy
    - calloc
    - unlikely
    - malloc
    linkageType: ''
    returnType: ts_arib_logo_dr_t
    signature: ts_arib_logo_dr_t * ts_arib_logo_dr_Decode( const uint8_t *p_data,
      size_t i_data )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:42,1
    - Dst: msg_GenericVa
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:43,1
    - Dst: va_end
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:44,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:46,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p_object
    - format
    argTypes:
    - vlc_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 49
    functionName: od_debug
    functionSourceFile: /src/vlc/modules/demux/mpeg/mpeg4_iod.c
    functionUses: 0
    functionsReached:
    - msg_GenericVa
    - va_end
    - VLC_UNUSED
    - va_start
    linkageType: ''
    returnType: void
    signature: void od_debug( vlc_object_t *p_object, const char *format, ... )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __MIN
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:59,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pi_data
    - pp_data
    argTypes:
    - unsigned*
    - uint8_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 69
    functionName: ODDescriptorLength
    functionSourceFile: /src/vlc/modules/demux/mpeg/mpeg4_iod.c
    functionUses: 0
    functionsReached:
    - __MIN
    linkageType: ''
    returnType: unsigned
    signature: unsigned ODDescriptorLength( unsigned *pi_data, const uint8_t **pp_data
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pi_data
    - pp_data
    - bytes
    argTypes:
    - unsigned*
    - uint8_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 83
    functionName: ODGetBytes
    functionSourceFile: /src/vlc/modules/demux/mpeg/mpeg4_iod.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned ODGetBytes( unsigned *pi_data, const uint8_t **pp_data, size_t
      bytes )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ODGetBytes
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:87,1
    - Dst: strndup
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pi_data
    - pp_data
    argTypes:
    - unsigned*
    - uint8_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 94
    functionName: ODGetURL
    functionSourceFile: /src/vlc/modules/demux/mpeg/mpeg4_iod.c
    functionUses: 0
    functionsReached:
    - strndup
    - ODGetBytes
    linkageType: ''
    returnType: char
    signature: char * ODGetURL( unsigned *pi_data, const uint8_t **pp_data )
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ODGetBytes
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:123,1
    - Dst: ODGetBytes
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:129,1
    - Dst: ODGetBytes
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:130,1
    - Dst: ODGetBytes
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:131,1
    - Dst: ODGetBytes
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:132,1
    - Dst: ODGetBytes
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:135,1
    - Dst: ODGetBytes
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:138,1
    - Dst: ODGetBytes
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:141,1
    - Dst: ODGetBytes
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:144,1
    - Dst: memset
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:154,1
    - Dst: memset
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:159,1
    - Dst: ODGetBytes
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:171,1
    - Dst: ODGetBytes
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:172,1
    - Dst: ODGetBytes
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:173,1
    - Dst: bs_init
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:179,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:180,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:181,1
    - Dst: od_debug
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:184,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 4
    argNames:
    - p_object
    - i_data
    - p_data
    - params
    argTypes:
    - vlc_object_t*
    - unsigned
    - uint8_t*
    - od_read_params_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 186
    functionName: OD_SLDesc_Read
    functionSourceFile: /src/vlc/modules/demux/mpeg/mpeg4_iod.c
    functionUses: 0
    functionsReached:
    - od_debug
    - memset
    - ODGetBytes
    - bs_read
    - bs_init
    linkageType: ''
    returnType: bool
    signature: "bool OD_SLDesc_Read( vlc_object_t *p_object, unsigned i_data, const
      uint8_t *p_data,\n                             od_read_params_t params )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:191,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:194,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - p_object
    - i_data
    - p_data
    - params
    argTypes:
    - vlc_object_t*
    - unsigned
    - uint8_t*
    - od_read_params_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 203
    functionName: OD_DecSpecificDesc_Read
    functionSourceFile: /src/vlc/modules/demux/mpeg/mpeg4_iod.c
    functionUses: 0
    functionsReached:
    - memcpy
    - malloc
    - VLC_UNUSED
    linkageType: ''
    returnType: bool
    signature: "bool OD_DecSpecificDesc_Read( vlc_object_t *p_object, unsigned i_data,
      const uint8_t *p_data,\n                                      od_read_params_t
      params )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ODGetBytes
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:213,1
    - Dst: ODGetBytes
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:214,1
    - Dst: ODGetBytes
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:217,1
    - Dst: ODGetBytes
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:218,1
    - Dst: ODGetBytes
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:219,1
    - Dst: OD_Desc_Read
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:222,1
    - Dst: od_debug
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - p_object
    - i_data
    - p_data
    - params
    argTypes:
    - vlc_object_t*
    - unsigned
    - uint8_t*
    - od_read_params_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 229
    functionName: OD_DecConfigDesc_Read
    functionSourceFile: /src/vlc/modules/demux/mpeg/mpeg4_iod.c
    functionUses: 0
    functionsReached:
    - od_debug
    - OD_Desc_Read
    - ODGetBytes
    linkageType: ''
    returnType: bool
    signature: "bool OD_DecConfigDesc_Read( vlc_object_t *p_object, unsigned i_data,
      const uint8_t *p_data,\n                                    od_read_params_t
      params )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ODGetBytes
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:238,1
    - Dst: ODGetBytes
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:239,1
    - Dst: ODGetBytes
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:245,1
    - Dst: ODGetURL
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:249,1
    - Dst: ODGetBytes
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:255,1
    - Dst: od_debug
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:258,1
    - Dst: OD_Desc_Read
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:262,1
    - Dst: OD_Desc_Read
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:268,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - p_object
    - i_data
    - p_data
    - params
    argTypes:
    - vlc_object_t*
    - unsigned
    - uint8_t*
    - od_read_params_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 231
    functionDepth: 3
    functionLinenumber: 231
    functionLinenumberEnd: 275
    functionName: OD_ESDesc_Read
    functionSourceFile: /src/vlc/modules/demux/mpeg/mpeg4_iod.c
    functionUses: 0
    functionsReached:
    - od_debug
    - OD_Desc_Read
    - ODGetBytes
    - ODGetURL
    linkageType: ''
    returnType: bool
    signature: "bool OD_ESDesc_Read( vlc_object_t *p_object, unsigned i_data, const
      uint8_t *p_data,\n                             od_read_params_t params )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ODGetBytes
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:284,1
    - Dst: ODGetBytes
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:285,1
    - Dst: od_debug
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:288,1
    - Dst: od_debug
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:289,1
    - Dst: ODGetURL
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:292,1
    - Dst: od_debug
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:293,1
    - Dst: ODGetBytes
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:301,1
    - Dst: ODGetBytes
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:302,1
    - Dst: ODGetBytes
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:303,1
    - Dst: ODGetBytes
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:304,1
    - Dst: ODGetBytes
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:305,1
    - Dst: OD_Desc_Read
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:309,1
    - Dst: od_debug
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - p_object
    - i_data
    - p_data
    - params
    argTypes:
    - vlc_object_t*
    - unsigned
    - uint8_t*
    - od_read_params_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 277
    functionDepth: 3
    functionLinenumber: 277
    functionLinenumberEnd: 324
    functionName: OD_InitialObjectDesc_Read
    functionSourceFile: /src/vlc/modules/demux/mpeg/mpeg4_iod.c
    functionUses: 0
    functionsReached:
    - od_debug
    - OD_Desc_Read
    - ODGetBytes
    - ODGetURL
    linkageType: ''
    returnType: bool
    signature: "bool OD_InitialObjectDesc_Read( vlc_object_t *p_object, unsigned i_data,\n
      \                                       const uint8_t *p_data, od_read_params_t
      params )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ODGetBytes
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:333,1
    - Dst: ODGetBytes
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:334,1
    - Dst: od_debug
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:337,1
    - Dst: ODGetURL
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:340,1
    - Dst: od_debug
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:341,1
    - Dst: OD_Desc_Read
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:349,1
    - Dst: od_debug
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:353,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - p_object
    - i_data
    - p_data
    - params
    argTypes:
    - vlc_object_t*
    - unsigned
    - uint8_t*
    - od_read_params_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 326
    functionDepth: 3
    functionLinenumber: 326
    functionLinenumberEnd: 364
    functionName: ODObjectDescriptorRead
    functionSourceFile: /src/vlc/modules/demux/mpeg/mpeg4_iod.c
    functionUses: 0
    functionsReached:
    - od_debug
    - OD_Desc_Read
    - ODGetBytes
    - ODGetURL
    linkageType: ''
    returnType: bool
    signature: "bool ODObjectDescriptorRead( vlc_object_t *p_object, unsigned i_data,
      const uint8_t *p_data,\n                                  od_read_params_t params
      )"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ODGetBytes
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:373,1
    - Dst: ODDescriptorLength
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:374,1
    - Dst: od_debug
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:381,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:387,1
    - Dst: ODObjectDescriptorRead
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:393,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:396,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:404,1
    - Dst: OD_InitialObjectDesc_Read
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:410,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:413,1
    - Dst: OD_ESDesc_Read
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:424,1
    - Dst: OD_DecConfigDesc_Read
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:432,1
    - Dst: OD_DecSpecificDesc_Read
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:440,1
    - Dst: OD_SLDesc_Read
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:448,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:456,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 58
    argCount: 6
    argNames:
    - p_object
    - pi_data
    - pp_data
    - i_target_tag
    - i_max_desc
    - params
    argTypes:
    - vlc_object_t*
    - unsigned*
    - uint8_t**
    - uint8_t
    - uint8_t
    - od_read_params_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 366
    functionDepth: 4
    functionLinenumber: 366
    functionLinenumberEnd: 467
    functionName: OD_Desc_Read
    functionSourceFile: /src/vlc/modules/demux/mpeg/mpeg4_iod.c
    functionUses: 4
    functionsReached:
    - od_debug
    - ODObjectDescriptorRead
    - OD_DecSpecificDesc_Read
    - OD_SLDesc_Read
    - vlc_assert_unreachable
    - OD_InitialObjectDesc_Read
    - OD_DecConfigDesc_Read
    - ODGetBytes
    - calloc
    - free
    - OD_ESDesc_Read
    - ODDescriptorLength
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t OD_Desc_Read( vlc_object_t *p_object, unsigned *pi_data, const
      uint8_t **pp_data,\n                              uint8_t i_target_tag, uint8_t
      i_max_desc, od_read_params_t params )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OD_Desc_Read
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:474,1
    - Dst: od_debug
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 7
    argNames:
    - p_object
    - i_data
    - p_data
    - i_start_tag
    - i_min
    - i_max
    - pp_ods
    argTypes:
    - vlc_object_t*
    - unsigned
    - uint8_t*
    - uint8_t
    - uint8_t
    - uint8_t
    - od_descriptor_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 469
    functionDepth: 5
    functionLinenumber: 469
    functionLinenumberEnd: 482
    functionName: ODInit
    functionSourceFile: /src/vlc/modules/demux/mpeg/mpeg4_iod.c
    functionUses: 0
    functionsReached:
    - od_debug
    - OD_Desc_Read
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t ODInit( vlc_object_t *p_object, unsigned i_data, const uint8_t
      *p_data,\n                       uint8_t i_start_tag, uint8_t i_min, uint8_t
      i_max, od_descriptor_t **pp_ods )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ODGetBytes
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:489,1
    - Dst: ODGetBytes
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:490,1
    - Dst: od_debug
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:498,1
    - Dst: od_debug
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:503,1
    - Dst: ODInit
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:508,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - p_object
    - i_data
    - p_data
    argTypes:
    - vlc_object_t*
    - unsigned
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 484
    functionDepth: 6
    functionLinenumber: 484
    functionLinenumberEnd: 512
    functionName: IODNew
    functionSourceFile: /src/vlc/modules/demux/mpeg/mpeg4_iod.c
    functionUses: 0
    functionsReached:
    - ODInit
    - od_debug
    - ODGetBytes
    linkageType: ''
    returnType: od_descriptor_t
    signature: od_descriptor_t *IODNew( vlc_object_t *p_object, unsigned i_data, const
      uint8_t *p_data )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:518,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:519,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:529,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:531,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:535,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - p_iod
    argTypes:
    - od_descriptor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 536
    functionName: ODFree
    functionSourceFile: /src/vlc/modules/demux/mpeg/mpeg4_iod.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void ODFree( od_descriptor_t *p_iod )
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: bs_init
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:547,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:555,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:557,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:559,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:561,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:563,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:569,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:583,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:585,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:586,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:589,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:594,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:596,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:600,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:601,1
    - Dst: bs_read1
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:605,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:611,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:611,1
    - Dst: __MAX
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:614,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:616,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:620,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:623,1
    - Dst: bs_skip
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:626,1
    - Dst: bs_pos
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:635,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 51
    argCount: 3
    argNames:
    - i_data
    - p_data
    - sl
    argTypes:
    - unsigned
    - uint8_t*
    - sl_config_descriptor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 638
    functionName: DecodeSLHeader
    functionSourceFile: /src/vlc/modules/demux/mpeg/mpeg4_iod.c
    functionUses: 0
    functionsReached:
    - bs_read1
    - bs_skip
    - bs_read
    - __MAX
    - __MIN
    - vlc_tick_from_samples
    - bs_pos
    - bs_init
    linkageType: ''
    returnType: sl_header_data
    signature: "sl_header_data DecodeSLHeader( unsigned i_data, const uint8_t *p_data,\n
      \                              const sl_config_descriptor_t *sl )"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - key_
    - el_
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 663
    functionName: bsearch_cmp
    functionSourceFile: /src/vlc/modules/demux/mpeg/mpeg4_iod.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bsearch_cmp( const void *key_, const void *el_ )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ODInit
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:669,1
    - Dst: bsearch
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:675,1
    - Dst: ODFree
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:681,1
    - Dst: ARRAY_INSERT
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - p_object
    - p_ods
    - i_data
    - p_data
    argTypes:
    - vlc_object_t*
    - od_descriptors_t*
    - unsigned
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 665
    functionDepth: 6
    functionLinenumber: 665
    functionLinenumberEnd: 690
    functionName: ObjectDescrUpdateCommandRead
    functionSourceFile: /src/vlc/modules/demux/mpeg/mpeg4_iod.c
    functionUses: 0
    functionsReached:
    - ODInit
    - bsearch
    - ARRAY_INSERT
    - ODFree
    linkageType: ''
    returnType: void
    signature: "void ObjectDescrUpdateCommandRead( vlc_object_t *p_object, od_descriptors_t
      *p_ods,\n                                          unsigned i_data, const uint8_t
      *p_data )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:695,1
    - Dst: bs_init
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:697,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:701,1
    - Dst: bsearch
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:702,1
    - Dst: ARRAY_REMOVE
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:706,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - p_object
    - p_ods
    - i_data
    - p_data
    argTypes:
    - vlc_object_t*
    - od_descriptors_t*
    - unsigned
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 708
    functionName: ObjectDescrRemoveCommandRead
    functionSourceFile: /src/vlc/modules/demux/mpeg/mpeg4_iod.c
    functionUses: 0
    functionsReached:
    - bs_read
    - bsearch
    - ARRAY_REMOVE
    - bs_init
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void ObjectDescrRemoveCommandRead( vlc_object_t *p_object, od_descriptors_t
      *p_ods,\n                                          unsigned i_data, const uint8_t
      *p_data )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ODGetBytes
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:715,1
    - Dst: ODDescriptorLength
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:716,1
    - Dst: od_debug
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:719,1
    - Dst: ObjectDescrUpdateCommandRead
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:723,1
    - Dst: ObjectDescrRemoveCommandRead
      Src: /src/vlc/modules/demux/mpeg/mpeg4_iod.c:726,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - p_object
    - p_ods
    - i_data
    - p_data
    argTypes:
    - vlc_object_t*
    - od_descriptors_t*
    - unsigned
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 710
    functionDepth: 7
    functionLinenumber: 710
    functionLinenumberEnd: 734
    functionName: DecodeODCommand
    functionSourceFile: /src/vlc/modules/demux/mpeg/mpeg4_iod.c
    functionUses: 0
    functionsReached:
    - od_debug
    - ODGetBytes
    - ObjectDescrUpdateCommandRead
    - ObjectDescrRemoveCommandRead
    - ODDescriptorLength
    linkageType: ''
    returnType: void
    signature: "void DecodeODCommand( vlc_object_t *p_object, od_descriptors_t *p_ods,\n
      \                     unsigned i_data, const uint8_t *p_data )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:43,1
    - Dst: ts_psi_context_New
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:47,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:50,1
    - Dst: ARRAY_INIT
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: ts_pat_New
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_streams.c
    functionUses: 0
    functionsReached:
    - free
    - ts_psi_context_New
    - ARRAY_INIT
    - malloc
    linkageType: ''
    returnType: ts_pat_t
    signature: ts_pat_t *ts_pat_New( demux_t *p_demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts_psi_context_Delete
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:64,1
    - Dst: PIDRelease
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:66,1
    - Dst: ARRAY_RESET
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:67,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p_demux
    - pat
    argTypes:
    - demux_t*
    - ts_pat_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: ts_pat_Del
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_streams.c
    functionUses: 0
    functionsReached:
    - free
    - ARRAY_RESET
    - ts_psi_context_Delete
    - PIDRelease
    linkageType: ''
    returnType: void
    signature: void ts_pat_Del( demux_t *p_demux, ts_pat_t *pat )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pat
    - i_number
    argTypes:
    - ts_pat_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: ts_pat_Get_pmt
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_streams.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ts_pmt_t
    signature: ts_pmt_t *ts_pat_Get_pmt( ts_pat_t *pat, uint16_t i_number )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:85,1
    - Dst: ts_psi_context_New
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:89,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:92,1
    - Dst: ARRAY_INIT
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:96,1
    - Dst: ARRAY_INIT
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 129
    functionName: ts_pmt_New
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_streams.c
    functionUses: 0
    functionsReached:
    - free
    - ts_psi_context_New
    - ARRAY_INIT
    - malloc
    linkageType: ''
    returnType: ts_pmt_t
    signature: ts_pmt_t *ts_pmt_New( demux_t *p_demux )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ts_psi_context_Delete
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:133,1
    - Dst: PIDRelease
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:135,1
    - Dst: ARRAY_RESET
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:136,1
    - Dst: PIDRelease
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:138,1
    - Dst: PIDRelease
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:140,1
    - Dst: ODFree
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:142,1
    - Dst: ODFree
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:144,1
    - Dst: ARRAY_RESET
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:145,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:147,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - p_demux
    - pmt
    argTypes:
    - demux_t*
    - ts_pmt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 150
    functionName: ts_pmt_Del
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_streams.c
    functionUses: 0
    functionsReached:
    - ODFree
    - es_out_Control
    - ARRAY_RESET
    - PIDRelease
    - ts_psi_context_Delete
    - free
    linkageType: ''
    returnType: void
    signature: void ts_pmt_Del( demux_t *p_demux, ts_pmt_t *pmt )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:154,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - p_program
    argTypes:
    - ts_pmt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 171
    functionName: ts_es_New
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_streams.c
    functionUses: 0
    functionsReached:
    - malloc
    - es_format_Init
    linkageType: ''
    returnType: ts_es_t
    signature: ts_es_t * ts_es_New( ts_pmt_t *p_program )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:180,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:181,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_demux
    - p_es
    argTypes:
    - demux_t*
    - ts_es_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 185
    functionName: ts_pes_es_Clean
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_streams.c
    functionUses: 0
    functionsReached:
    - es_out_Del
    - es_out_Control
    - es_format_Clean
    linkageType: ''
    returnType: void
    signature: void ts_pes_es_Clean( demux_t *p_demux, ts_es_t *p_es )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - p_pes
    - p_es
    - b_extra
    argTypes:
    - ts_stream_t*
    - ts_es_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 202
    functionName: ts_stream_Add_es
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_streams.c
    functionUses: 0
    functionsReached:
    - likely
    linkageType: ''
    returnType: void
    signature: void ts_stream_Add_es( ts_stream_t *p_pes, ts_es_t *p_es, bool b_extra
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p_pes
    - p_pmt
    argTypes:
    - ts_stream_t*
    - ts_pmt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 212
    functionName: ts_stream_Find_es
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_streams.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ts_es_t
    signature: ts_es_t * ts_stream_Find_es( ts_stream_t *p_pes, const ts_pmt_t *p_pmt
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - p_pes
    - p_pmt
    argTypes:
    - ts_stream_t*
    - ts_pmt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 228
    functionName: ts_stream_Extract_es
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_streams.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ts_es_t
    signature: ts_es_t * ts_stream_Extract_es( ts_stream_t *p_pes, const ts_pmt_t
      *p_pmt )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts_Count_es
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - p_es
    - b_active
    - p_pmt
    argTypes:
    - ts_es_t*
    - bool
    - ts_pmt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 239
    functionName: ts_Count_es
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_streams.c
    functionUses: 1
    functionsReached:
    - ts_Count_es
    linkageType: ''
    returnType: size_t
    signature: size_t ts_Count_es( const ts_es_t *p_es, bool b_active, const ts_pmt_t
      *p_pmt )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts_pes_ChainDelete_es
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:246,1
    - Dst: ts_pes_es_Clean
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:247,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_demux
    - p_es
    argTypes:
    - demux_t*
    - ts_es_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 251
    functionName: ts_pes_ChainDelete_es
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_streams.c
    functionUses: 1
    functionsReached:
    - free
    - ts_pes_ChainDelete_es
    - ts_pes_es_Clean
    linkageType: ''
    returnType: void
    signature: void ts_pes_ChainDelete_es( demux_t *p_demux, ts_es_t *p_es )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:255,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:256,1
    - Dst: ts_es_New
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:260,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 2
    argNames:
    - p_demux
    - p_program
    argTypes:
    - demux_t*
    - ts_pmt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 284
    functionName: ts_stream_New
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_streams.c
    functionUses: 0
    functionsReached:
    - free
    - ts_es_New
    - malloc
    - VLC_UNUSED
    linkageType: ''
    returnType: ts_stream_t
    signature: ts_stream_t *ts_stream_New( demux_t *p_demux, ts_pmt_t *p_program )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ts_pes_ChainDelete_es
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:288,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:291,1
    - Dst: ts_sections_processor_ChainDelete
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:294,1
    - Dst: ts_stream_processor_Delete
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:297,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:300,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:302,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - p_demux
    - pes
    argTypes:
    - demux_t*
    - ts_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 303
    functionName: ts_stream_Del
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_streams.c
    functionUses: 0
    functionsReached:
    - ts_pes_ChainDelete_es
    - block_ChainRelease
    - free
    - ts_stream_processor_Delete
    - ts_sections_processor_ChainDelete
    linkageType: ''
    returnType: void
    signature: void ts_stream_Del( demux_t *p_demux, ts_stream_t *pes )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:307,1
    - Dst: ts_si_context_New
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:311,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 323
    functionName: ts_si_New
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_streams.c
    functionUses: 0
    functionsReached:
    - free
    - ts_si_context_New
    - malloc
    linkageType: ''
    returnType: ts_si_t
    signature: ts_si_t *ts_si_New( demux_t *p_demux )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ts_si_context_Delete
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:327,1
    - Dst: PIDRelease
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:329,1
    - Dst: PIDRelease
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:331,1
    - Dst: PIDRelease
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:333,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - p_demux
    - si
    argTypes:
    - demux_t*
    - ts_si_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 335
    functionName: ts_si_Del
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_streams.c
    functionUses: 0
    functionsReached:
    - free
    - ts_si_context_Delete
    - PIDRelease
    linkageType: ''
    returnType: void
    signature: void ts_si_Del( demux_t *p_demux, ts_si_t *si )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts_psip_context_Delete
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:339,1
    - Dst: ts_pes_ChainDelete_es
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:341,1
    - Dst: PIDRelease
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:344,1
    - Dst: ARRAY_RESET
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:345,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_demux
    - psip
    argTypes:
    - demux_t*
    - ts_psip_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 348
    functionName: ts_psip_Del
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_streams.c
    functionUses: 0
    functionsReached:
    - ts_pes_ChainDelete_es
    - ARRAY_RESET
    - PIDRelease
    - free
    - ts_psip_context_Delete
    linkageType: ''
    returnType: void
    signature: void ts_psip_Del( demux_t *p_demux, ts_psip_t *psip )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:352,1
    - Dst: ts_psip_context_New
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:356,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:359,1
    - Dst: ARRAY_INIT
      Src: /src/vlc/modules/demux/mpeg/ts_streams.c:363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 367
    functionName: ts_psip_New
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_streams.c
    functionUses: 0
    functionsReached:
    - free
    - ts_psip_context_New
    - ARRAY_INIT
    - malloc
    linkageType: ''
    returnType: ts_psip_t
    signature: ts_psip_t *ts_psip_New( demux_t *p_demux )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p_demux
    - p_pat
    argTypes:
    - demux_t*
    - dvbpsi_pat_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 93
    functionName: PATCheck
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int PATCheck( demux_t *p_demux, dvbpsi_pat_t *p_pat )
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:100,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:101,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:105,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:107,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:107,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:109,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:119,1
    - Dst: dvbpsi_pat_delete
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:126,1
    - Dst: PATCheck
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:132,1
    - Dst: dvbpsi_pat_delete
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:134,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:138,1
    - Dst: ARRAY_INIT
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:146,1
    - Dst: ARRAY_RESET
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:163,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:170,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:175,1
    - Dst: PIDSetup
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:179,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:181,1
    - Dst: dvbpsi_pmt_detach
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:189,1
    - Dst: dvbpsi_pmt_attach
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:191,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:192,1
    - Dst: ARRAY_APPEND
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:201,1
    - Dst: ProgramIsSelected
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:205,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:209,1
    - Dst: ARRAY_APPEND
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:211,1
    - Dst: SetPIDFilter
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:214,1
    - Dst: PIDRelease
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:226,1
    - Dst: ARRAY_RESET
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:228,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:232,1
    - Dst: dvbpsi_pat_delete
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:235,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 78
    argCount: 2
    argNames:
    - data
    - p_dvbpsipat
    argTypes:
    - void*
    - dvbpsi_pat_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 236
    functionName: PATCallBack
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - es_out_Control
    - ARRAY_RESET
    - GetPID
    - PIDRelease
    - dvbpsi_pmt_attach
    - ARRAY_APPEND
    - SetPIDFilter
    - msg_Err
    - ProgramIsSelected
    - dvbpsi_pat_delete
    - msg_Dbg
    - ARRAY_INIT
    - dvbpsi_pmt_detach
    - msg_Warn
    - PIDSetup
    - unlikely
    - PATCheck
    linkageType: ''
    returnType: void
    signature: void PATCallBack( void *data, dvbpsi_pat_t *p_dvbpsipat )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:252,1
    - Dst: ISO13818_1_Get_Descriptor_Description
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:253,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:262,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:276,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:278,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:281,1
    - Dst: dvbpsi_DecodeCADr
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:290,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:293,1
    - Dst: IODNew
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:300,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:300,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 4
    argNames:
    - p_demux
    - p_firstdr
    - p_pmt
    - p_registration_type
    argTypes:
    - demux_t*
    - dvbpsi_descriptor_t*
    - ts_pmt_t*
    - ts_pmt_registration_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 240
    functionDepth: 7
    functionLinenumber: 240
    functionLinenumberEnd: 324
    functionName: ParsePMTRegistrations
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - IODNew
    - ARRAY_SIZE
    - dvbpsi_DecodeCADr
    - msg_Dbg
    - VLC_OBJECT
    - msg_Warn
    - ISO13818_1_Get_Descriptor_Description
    - memcmp
    linkageType: ''
    returnType: void
    signature: "void ParsePMTRegistrations( demux_t *p_demux, const dvbpsi_descriptor_t
      \ *p_firstdr,\n                                   ts_pmt_t *p_pmt, ts_pmt_registration_type_t
      *p_registration_type )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:329,1
    - Dst: ARIB_B10_Get_PMT_Descriptor_Description
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:340,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:342,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:344,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:355,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:361,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - p_demux
    - p_firstdr
    - p_pmt
    - i_standard
    argTypes:
    - demux_t*
    - dvbpsi_descriptor_t*
    - ts_pmt_t*
    - ts_standards_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 365
    functionName: ParsePMTPrivateRegistrations
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - ARIB_B10_Get_PMT_Descriptor_Description
    - msg_Dbg
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void ParsePMTPrivateRegistrations( demux_t *p_demux, const dvbpsi_descriptor_t
      *p_firstdr,\n                                          ts_pmt_t *p_pmt, ts_standards_e
      i_standard )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - p_es
    - i_tag
    argTypes:
    - dvbpsi_pmt_es_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 377
    functionName: PMTEsFindDescriptor
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dvbpsi_descriptor_t
    signature: "dvbpsi_descriptor_t *PMTEsFindDescriptor( const dvbpsi_pmt_es_t *p_es,\n
      \                                                int i_tag )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PMTEsFindDescriptor
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:382,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:388,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:392,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:392,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - p_demux
    - p_es
    - psz_tag
    argTypes:
    - demux_t*
    - dvbpsi_pmt_es_t*
    - char*
    assertStmts:
    - condition: ( strlen(psz_tag) == 4 )
      pos:
        line_end: 391
        line_start: 391
        source_file: /src/vlc/modules/demux/mpeg/ts_psi.c
    constantsTouched: []
    func_position:
      end: 394
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 394
    functionName: PMTEsHasRegistration
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - assert
    - strlen
    - msg_Warn
    - PMTEsFindDescriptor
    - memcmp
    linkageType: ''
    returnType: bool
    signature: "bool PMTEsHasRegistration( demux_t *p_demux,\n                                  const
      dvbpsi_pmt_es_t *p_es,\n                                  const char *psz_tag
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PMTEsFindDescriptor
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:399,1
    - Dst: dvbpsi_DecodeStreamIdentifierDr
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - p_es
    - i_low
    - i_high
    argTypes:
    - dvbpsi_pmt_es_t*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 407
    functionName: PMTEsHasComponentTagBetween
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - dvbpsi_DecodeStreamIdentifierDr
    - PMTEsFindDescriptor
    linkageType: ''
    returnType: bool
    signature: "bool PMTEsHasComponentTagBetween( const dvbpsi_pmt_es_t *p_es,\n                                         uint8_t
      i_low, uint8_t i_high )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PMTEsFindDescriptor
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:417,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:420,1
    - Dst: PMTEsHasComponentTagBetween
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:422,1
    - Dst: PMTEsHasComponentTagBetween
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:424,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 1
    argNames:
    - p_dvbpsipmt
    argTypes:
    - dvbpsi_pmt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 430
    functionName: ProbePMTStandard
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - GetWBE
    - PMTEsFindDescriptor
    - PMTEsHasComponentTagBetween
    linkageType: ''
    returnType: ts_standards_e
    signature: ts_standards_e ProbePMTStandard( const dvbpsi_pmt_t *p_dvbpsipmt )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PMTEsFindDescriptor
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:440,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:452,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:454,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:455,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:466,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:467,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:470,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:472,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 3
    argNames:
    - p_demux
    - p_es
    - p_dvbpsies
    argTypes:
    - demux_t*
    - ts_es_t*
    - dvbpsi_pmt_es_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 477
    functionName: SetupAudioExtendedDescriptors
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - strdup
    - ARRAY_SIZE
    - memcpy
    - free
    - msg_Dbg
    - PMTEsFindDescriptor
    - malloc
    linkageType: ''
    returnType: void
    signature: "void SetupAudioExtendedDescriptors( demux_t *p_demux, ts_es_t *p_es,\n
      \                                          const dvbpsi_pmt_es_t *p_dvbpsies
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:488,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 492
    functionName: GetIso639AudioTypeDesc
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - strdup
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char *GetIso639AudioTypeDesc( uint8_t type )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dvbpsi_DecodeISO639Dr
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:497,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:500,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:506,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:509,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:511,1
    - Dst: GetIso639AudioTypeDesc
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:517,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:527,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:534,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:536,1
    - Dst: GetIso639AudioTypeDesc
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:539,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - p_demux
    - p_es
    - p_dr
    argTypes:
    - demux_t*
    - ts_es_t*
    - dvbpsi_descriptor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 542
    functionName: SetupISO639Descriptor
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - memcpy
    - GetIso639AudioTypeDesc
    - msg_Err
    - msg_Dbg
    - dvbpsi_DecodeISO639Dr
    - malloc
    linkageType: ''
    returnType: void
    signature: "void SetupISO639Descriptor( demux_t *p_demux, ts_es_t *p_es,\n                                   dvbpsi_descriptor_t
      *p_dr )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SetupISO639Descriptor
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:553,1
    - Dst: dvbpsi_DecodeMaxBitrateDr
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:558,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - p_demux
    - p_es
    - p_dvbpsies
    argTypes:
    - demux_t*
    - ts_es_t*
    - dvbpsi_pmt_es_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 544
    functionDepth: 2
    functionLinenumber: 544
    functionLinenumberEnd: 565
    functionName: SetupStandardESDescriptors
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - SetupISO639Descriptor
    - dvbpsi_DecodeMaxBitrateDr
    linkageType: ''
    returnType: void
    signature: "void SetupStandardESDescriptors( demux_t *p_demux, ts_es_t *p_es,\n
      \                                       const dvbpsi_pmt_es_t *p_dvbpsies )"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:589,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:596,1
    - Dst: SL_stream_processor_New
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:601,1
    - Dst: ts_sections_processor_Add
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:605,1
    - Dst: GetMPEG4DescByEsId
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:621,1
    - Dst: SetupISO14496LogicalStream
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:624,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:625,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:635,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:638,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 47
    argCount: 4
    argNames:
    - p_demux
    - p_pes
    - p_pmt
    - p_dvbpsies
    argTypes:
    - demux_t*
    - ts_stream_t*
    - ts_pmt_t*
    - dvbpsi_pmt_es_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 642
    functionName: SetupISO14496Descriptors
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - ts_sections_processor_Add
    - SetupISO14496LogicalStream
    - SL_stream_processor_New
    - msg_Err
    - msg_Dbg
    - GetMPEG4DescByEsId
    linkageType: ''
    returnType: void
    signature: "void SetupISO14496Descriptors( demux_t *p_demux, ts_stream_t *p_pes,\n
      \                                     const ts_pmt_t *p_pmt, const dvbpsi_pmt_es_t
      *p_dvbpsies )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PMTEsFindDescriptor
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:647,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:656,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:660,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:669,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:684,1
    - Dst: Metadata_stream_processor_New
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:687,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 3
    argNames:
    - p_demux
    - p_stream
    - p_dvbpsies
    argTypes:
    - demux_t*
    - ts_stream_t*
    - dvbpsi_pmt_es_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 691
    functionName: SetupMetadataDescriptors
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - GetWBE
    - Metadata_stream_processor_New
    - msg_Dbg
    - PMTEsFindDescriptor
    linkageType: ''
    returnType: void
    signature: void SetupMetadataDescriptors( demux_t *p_demux, ts_stream_t *p_stream,
      const dvbpsi_pmt_es_t *p_dvbpsies )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PMTEsFindDescriptor
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:695,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:700,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - p_demux
    - p_es
    - p_dvbpsies
    argTypes:
    - demux_t*
    - ts_es_t*
    - dvbpsi_pmt_es_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 703
    functionName: SetupAVCDescriptors
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - PMTEsFindDescriptor
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void SetupAVCDescriptors( demux_t *p_demux, ts_es_t *p_es, const dvbpsi_pmt_es_t
      *p_dvbpsies )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PMTEsFindDescriptor
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:707,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:710,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:713,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:714,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:715,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:716,1
    - Dst: j2k_fill_color_profile
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:717,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:724,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:728,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - p_demux
    - p_es
    - p_dvbpsies
    argTypes:
    - demux_t*
    - ts_es_t*
    - dvbpsi_pmt_es_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 731
    functionName: SetupJ2KDescriptors
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - GetWBE
    - j2k_fill_color_profile
    - msg_Dbg
    - GetDWBE
    - PMTEsFindDescriptor
    - malloc
    - es_format_Change
    linkageType: ''
    returnType: void
    signature: void SetupJ2KDescriptors( demux_t *p_demux, ts_es_t *p_es, const dvbpsi_pmt_es_t
      *p_dvbpsies )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:754,1
    - Dst: strndup
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:757,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:758,1
    - Dst: strndup
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:794,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:798,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:803,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 3
    argNames:
    - p_demux
    - p_dr
    - p_fmt
    argTypes:
    - demux_t*
    - dvbpsi_descriptor_t*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 733
    functionDepth: 2
    functionLinenumber: 733
    functionLinenumberEnd: 807
    functionName: SetupTTMLExtendedDescriptor
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - strndup
    - strdup
    - msg_Dbg
    - ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: "void SetupTTMLExtendedDescriptor( demux_t *p_demux,\n                                         const
      dvbpsi_descriptor_t *p_dr, es_format_t *p_fmt )"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: PMTEsFindDescriptor
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:839,1
    - Dst: dvbpsi_DecodeTeletextDr
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:843,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:854,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:862,1
    - Dst: PMTEsFindDescriptor
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:866,1
    - Dst: dvbpsi_DecodeSubtitlingDr
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:869,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:877,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:894,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:899,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:905,1
    - Dst: vlc_gettext
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:905,1
    - Dst: PMTEsFindDescriptor
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:907,1
    - Dst: PMTEsFindDescriptor
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:909,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:914,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:918,1
    - Dst: ts_es_New
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:956,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:960,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:961,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:962,1
    - Dst: ts_stream_Add_es
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:965,1
    - Dst: strndup
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:971,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:972,1
    - Dst: vlc_gettext
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:972,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:976,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 90
    argCount: 3
    argNames:
    - p_demux
    - p_pes
    - p_dvbpsies
    argTypes:
    - demux_t*
    - ts_stream_t*
    - dvbpsi_pmt_es_t*
    assertStmts:
    - condition: ( i_page < sizeof(p_page)/sizeof(*p_page) )
      pos:
        line_end: 876
        line_start: 876
        source_file: /src/vlc/modules/demux/mpeg/ts_psi.c
    - condition: ( i_page < sizeof(p_page)/sizeof(*p_page) )
      pos:
        line_end: 853
        line_start: 853
        source_file: /src/vlc/modules/demux/mpeg/ts_psi.c
    constantsTouched: []
    func_position:
      end: 986
      start: 826
    functionDepth: 2
    functionLinenumber: 826
    functionLinenumberEnd: 986
    functionName: PMTSetupEsTeletext
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - strndup
    - dvbpsi_DecodeTeletextDr
    - assert
    - strdup
    - ts_es_New
    - vlc_gettext
    - memcpy
    - ts_stream_Add_es
    - dvbpsi_DecodeSubtitlingDr
    - free
    - msg_Dbg
    - PMTEsFindDescriptor
    - es_format_Copy
    - malloc
    - es_format_Change
    linkageType: ''
    returnType: void
    signature: "void PMTSetupEsTeletext( demux_t *p_demux, ts_stream_t *p_pes,\n                                const
      dvbpsi_pmt_es_t *p_dvbpsies )"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:993,1
    - Dst: PMTEsFindDescriptor
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:995,1
    - Dst: dvbpsi_DecodeSubtitlingDr
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:997,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1009,1
    - Dst: _
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1009,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1014,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1018,1
    - Dst: ts_es_New
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1035,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1039,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1040,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1041,1
    - Dst: ts_stream_Add_es
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1045,1
    - Dst: strndup
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1050,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1058,1
    - Dst: _
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1058,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1065,1
    - Dst: _
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1065,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 53
    argCount: 3
    argNames:
    - p_demux
    - p_pes
    - p_dvbpsies
    argTypes:
    - demux_t*
    - ts_stream_t*
    - dvbpsi_pmt_es_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 987
    functionDepth: 2
    functionLinenumber: 987
    functionLinenumberEnd: 1076
    functionName: PMTSetupEsDvbSubtitle
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - strndup
    - strdup
    - ts_es_New
    - _
    - memcpy
    - ts_stream_Add_es
    - dvbpsi_DecodeSubtitlingDr
    - free
    - PMTEsFindDescriptor
    - es_format_Copy
    - malloc
    - es_format_Change
    linkageType: ''
    returnType: void
    signature: "void PMTSetupEsDvbSubtitle( demux_t *p_demux, ts_stream_t *p_pes,\n
      \                                  const dvbpsi_pmt_es_t *p_dvbpsies )"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: opus_header_init
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1081,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1085,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1113,1
    - Dst: bs_init
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1123,1
    - Dst: stdc_bit_width
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1126,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1129,1
    - Dst: stdc_bit_width
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1130,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1133,1
    - Dst: stdc_bit_width
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1135,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1141,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1158,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1162,1
    - Dst: opus_header_clean
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1163,1
    - Dst: opus_prepare_header
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1167,1
    - Dst: opus_write_header
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1177,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1179,1
    - Dst: opus_header_clean
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1186,1
    - Dst: opus_header_clean
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1191,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1192,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 85
    argCount: 4
    argNames:
    - demux
    - p
    - len
    - p_fmt
    argTypes:
    - demux_t*
    - uint8_t*
    - size_t
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1078
    functionDepth: 1
    functionLinenumber: 1078
    functionLinenumberEnd: 1193
    functionName: OpusSetup
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - opus_prepare_header
    - memcpy
    - opus_header_clean
    - opus_write_header
    - bs_read
    - msg_Err
    - opus_header_init
    - bs_init
    - stdc_bit_width
    - es_format_Change
    linkageType: ''
    returnType: void
    signature: void OpusSetup(demux_t *demux, uint8_t *p, size_t len, es_format_t
      *p_fmt)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PMTEsFindDescriptor
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1198,1
    - Dst: dvbpsi_DecodeVStreamDr
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1202,1
    - Dst: PMTEsFindDescriptor
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1222,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 2
    argNames:
    - p_es
    - p_dvbpsies
    argTypes:
    - ts_es_t*
    - dvbpsi_pmt_es_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1195
    functionDepth: 1
    functionLinenumber: 1195
    functionLinenumberEnd: 1238
    functionName: PMTSetupEs0x02
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - PMTEsFindDescriptor
    - dvbpsi_DecodeVStreamDr
    linkageType: ''
    returnType: void
    signature: "void PMTSetupEs0x02( ts_es_t *p_es,\n                            const
      dvbpsi_pmt_es_t *p_dvbpsies )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1245,1
    - Dst: PMTEsFindDescriptor
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1249,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - p_demux
    - p_es
    - p_dvbpsies
    argTypes:
    - demux_t*
    - ts_es_t*
    - dvbpsi_pmt_es_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1240
    functionDepth: 1
    functionLinenumber: 1240
    functionLinenumberEnd: 1262
    functionName: PMTSetupEs0x05PrivateData
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - PMTEsFindDescriptor
    - msg_Dbg
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void PMTSetupEs0x05PrivateData( demux_t *p_demux, ts_es_t *p_es,\n
      \                                      const dvbpsi_pmt_es_t *p_dvbpsies )"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: PMTEsFindDescriptor
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1269,1
    - Dst: PMTEsHasRegistration
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1271,1
    - Dst: PMTEsFindDescriptor
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1272,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1275,1
    - Dst: PMTEsHasRegistration
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1277,1
    - Dst: PMTEsFindDescriptor
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1278,1
    - Dst: PMTEsFindDescriptor
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1279,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1281,1
    - Dst: PMTEsHasRegistration
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1283,1
    - Dst: PMTEsHasRegistration
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1284,1
    - Dst: PMTEsHasRegistration
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1285,1
    - Dst: PMTEsFindDescriptor
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1286,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1289,1
    - Dst: PMTEsHasRegistration
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1291,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1295,1
    - Dst: PMTEsHasRegistration
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1298,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1300,1
    - Dst: PMTEsFindDescriptor
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1302,1
    - Dst: PMTEsHasRegistration
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1311,1
    - Dst: OpusSetup
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1312,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1315,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1319,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1322,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1325,1
    - Dst: SetupTTMLExtendedDescriptor
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1326,1
    - Dst: PMTEsFindDescriptor
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1333,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1338,1
    - Dst: PMTEsHasComponentTagBetween
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1340,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1342,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1343,1
    - Dst: _
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1343,1
    - Dst: PMTEsHasComponentTagBetween
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1346,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1348,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1349,1
    - Dst: _
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1349,1
    - Dst: dvbpsi_DecodeSubtitlingDr
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1357,1
    - Dst: PMTSetupEsTeletext
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1369,1
    - Dst: PMTSetupEsDvbSubtitle
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1381,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1384,1
    - Dst: PMTEsFindDescriptor
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1392,1
    - Dst: PMTEsFindDescriptor
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1393,1
    - Dst: PMTEsFindDescriptor
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1394,1
    - Dst: PMTSetupEsTeletext
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1397,1
    - Dst: PMTEsFindDescriptor
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1402,1
    - Dst: PMTEsFindDescriptor
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1404,1
    - Dst: dvbpsi_DecodeStreamIdentifierDr
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1405,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1407,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 87
    argCount: 3
    argNames:
    - p_demux
    - p_pes
    - p_dvbpsies
    argTypes:
    - demux_t*
    - ts_stream_t*
    - dvbpsi_pmt_es_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1264
    functionDepth: 3
    functionLinenumber: 1264
    functionLinenumberEnd: 1409
    functionName: PMTSetupEs0x06
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - GetWBE
    - PMTSetupEsTeletext
    - PMTEsHasRegistration
    - strdup
    - PMTSetupEsDvbSubtitle
    - _
    - msg_Err
    - SetupTTMLExtendedDescriptor
    - dvbpsi_DecodeSubtitlingDr
    - OpusSetup
    - PMTEsHasComponentTagBetween
    - msg_Dbg
    - dvbpsi_DecodeStreamIdentifierDr
    - PMTEsFindDescriptor
    - es_format_Change
    linkageType: ''
    returnType: void
    signature: "void PMTSetupEs0x06( demux_t *p_demux, ts_stream_t *p_pes,\n                            const
      dvbpsi_pmt_es_t *p_dvbpsies )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PMTEsHasRegistration
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1415,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1417,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p_demux
    - p_es
    - p_dvbpsies
    argTypes:
    - demux_t*
    - ts_es_t*
    - dvbpsi_pmt_es_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1411
    functionDepth: 2
    functionLinenumber: 1411
    functionLinenumberEnd: 1428
    functionName: PMTSetupEs0xEA
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - es_format_Change
    - PMTEsHasRegistration
    - msg_Err
    linkageType: ''
    returnType: void
    signature: "void PMTSetupEs0xEA( demux_t *p_demux, ts_es_t *p_es,\n                           const
      dvbpsi_pmt_es_t *p_dvbpsies )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PMTEsHasRegistration
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1434,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1436,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p_demux
    - p_es
    - p_dvbpsies
    argTypes:
    - demux_t*
    - ts_es_t*
    - dvbpsi_pmt_es_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1443
      start: 1430
    functionDepth: 2
    functionLinenumber: 1430
    functionLinenumberEnd: 1443
    functionName: PMTSetupEs0xD1
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - es_format_Change
    - PMTEsHasRegistration
    - msg_Err
    linkageType: ''
    returnType: void
    signature: "void PMTSetupEs0xD1( demux_t *p_demux, ts_es_t *p_es,\n                           const
      dvbpsi_pmt_es_t *p_dvbpsies )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PMTEsFindDescriptor
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1449,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1452,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1458,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1459,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1461,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1462,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1465,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1469,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1471,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1472,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - p_demux
    - p_es
    - p_dvbpsies
    argTypes:
    - demux_t*
    - ts_es_t*
    - dvbpsi_pmt_es_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1445
    functionDepth: 1
    functionLinenumber: 1445
    functionLinenumberEnd: 1480
    functionName: PMTSetupEs0xA0
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - GetWBE
    - memcpy
    - __MIN
    - msg_Warn
    - PMTEsFindDescriptor
    - malloc
    - es_format_Change
    linkageType: ''
    returnType: void
    signature: "void PMTSetupEs0xA0( demux_t *p_demux, ts_es_t *p_es,\n                           const
      dvbpsi_pmt_es_t *p_dvbpsies )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1491,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1494,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - p_pmt
    - p_es
    - i_pid
    argTypes:
    - dvbpsi_pmt_t*
    - ts_es_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1482
    functionDepth: 1
    functionLinenumber: 1482
    functionLinenumberEnd: 1495
    functionName: PMTSetupEs0x83
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - es_format_Change
    linkageType: ''
    returnType: void
    signature: void PMTSetupEs0x83( const dvbpsi_pmt_t *p_pmt, ts_es_t *p_es, int
      i_pid )
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1506,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1509,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1513,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1518,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1522,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1527,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1530,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1533,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1536,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1539,1
    - Dst: msg_Info
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1542,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 3
    argNames:
    - p_demux
    - p_es
    - p_dvbpsies
    argTypes:
    - demux_t*
    - ts_es_t*
    - dvbpsi_pmt_es_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1547
      start: 1497
    functionDepth: 1
    functionLinenumber: 1497
    functionLinenumberEnd: 1547
    functionName: PMTSetupEsHDMV
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - msg_Info
    - es_format_Change
    linkageType: ''
    returnType: bool
    signature: "bool PMTSetupEsHDMV( demux_t *p_demux, ts_es_t *p_es,\n                            const
      dvbpsi_pmt_es_t *p_dvbpsies )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PMTEsHasRegistration
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1572,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1574,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - p_demux
    - p_es
    - p_dvbpsies
    argTypes:
    - demux_t*
    - ts_es_t*
    - dvbpsi_pmt_es_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1549
    functionDepth: 2
    functionLinenumber: 1549
    functionLinenumberEnd: 1584
    functionName: PMTSetupEsRegistration
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - PMTEsHasRegistration
    - es_format_Change
    linkageType: ''
    returnType: bool
    signature: "bool PMTSetupEsRegistration( demux_t *p_demux, ts_es_t *p_es,\n                                    const
      dvbpsi_pmt_es_t *p_dvbpsies )"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1593,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1598,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1602,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1605,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1606,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1609,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1612,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1616,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1619,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1623,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1626,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1630,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1633,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1636,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1640,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1643,1
    - Dst: ts_sections_processor_Add
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1645,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1649,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1652,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1655,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1658,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1661,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1661,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1664,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1664,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1668,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1668,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1672,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1679,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 82
    argCount: 4
    argNames:
    - p_demux
    - p_pes
    - i_stream_type
    - p_datatype
    argTypes:
    - demux_t*
    - ts_stream_t*
    - int
    - ts_transport_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1586
    functionDepth: 1
    functionLinenumber: 1586
    functionLinenumberEnd: 1682
    functionName: PIDFillFormat
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - ts_sections_processor_Add
    - es_format_Change
    linkageType: ''
    returnType: void
    signature: "void PIDFillFormat( demux_t *p_demux, ts_stream_t *p_pes,\n                           int
      i_stream_type, ts_transport_type_t *p_datatype )"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: PIDFillFormat
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1693,1
    - Dst: PMTSetupEsHDMV
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1702,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1703,1
    - Dst: PMTSetupEsRegistration
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1708,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1709,1
    - Dst: PMTSetupEs0x02
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1721,1
    - Dst: PMTSetupEs0x05PrivateData
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1725,1
    - Dst: PMTSetupEs0x06
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1729,1
    - Dst: SetupISO14496Descriptors
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1745,1
    - Dst: SetupMetadataDescriptors
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1748,1
    - Dst: SetupAVCDescriptors
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1751,1
    - Dst: SetupJ2KDescriptors
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1754,1
    - Dst: PMTSetupEs0x83
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1758,1
    - Dst: PMTSetupEs0xA0
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1761,1
    - Dst: PMTSetupEs0xD1
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1764,1
    - Dst: PMTSetupEs0xEA
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1767,1
    - Dst: SetupAudioExtendedDescriptors
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1775,1
    - Dst: SetupStandardESDescriptors
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1778,1
    - Dst: PMTEsHasRegistration
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1790,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 81
    argCount: 6
    argNames:
    - p_demux
    - p_dvbpsipmt
    - p_dvbpsies
    - registration_type
    - p_pmt
    - p_pes
    argTypes:
    - demux_t*
    - dvbpsi_pmt_t*
    - dvbpsi_pmt_es_t*
    - ts_pmt_registration_type_t
    - ts_pmt_t*
    - ts_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1814
      start: 1684
    functionDepth: 4
    functionLinenumber: 1684
    functionLinenumberEnd: 1814
    functionName: FillPESFromDvbpsiES
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - PMTSetupEs0x83
    - PMTEsHasRegistration
    - SetupJ2KDescriptors
    - SetupStandardESDescriptors
    - SetupMetadataDescriptors
    - PMTSetupEs0xA0
    - PMTSetupEs0xD1
    - PIDFillFormat
    - SetupAudioExtendedDescriptors
    - PMTSetupEs0x02
    - PMTSetupEsRegistration
    - SetupISO14496Descriptors
    - SetupAVCDescriptors
    - msg_Dbg
    - PMTSetupEsHDMV
    - PMTSetupEs0x06
    - PMTSetupEs0xEA
    - PMTSetupEs0x05PrivateData
    linkageType: ''
    returnType: void
    signature: "void FillPESFromDvbpsiES( demux_t *p_demux,\n                                 const
      dvbpsi_pmt_t *p_dvbpsipmt,\n                                 const dvbpsi_pmt_es_t
      *p_dvbpsies,\n                                 ts_pmt_registration_type_t registration_type,\n
      \                                const ts_pmt_t *p_pmt,\n                                 ts_stream_t
      *p_pes )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: en50221_capmt_New
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1818,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1820,1
    - Dst: en50221_capmt_AddCADescriptor
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1827,1
    - Dst: en50221_capmt_EsAdd
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1833,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1836,1
    - Dst: en50221_capmt_AddESCADescriptor
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1842,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - p_pmt
    argTypes:
    - dvbpsi_pmt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1848
      start: 1816
    functionDepth: 3
    functionLinenumber: 1816
    functionLinenumberEnd: 1848
    functionName: CreateCAPMTInfo
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - en50221_capmt_New
    - en50221_capmt_AddESCADescriptor
    - en50221_capmt_EsAdd
    - en50221_capmt_AddCADescriptor
    - likely
    - unlikely
    linkageType: ''
    returnType: en50221_capmt_info_t
    signature: en50221_capmt_info_t * CreateCAPMTInfo( const dvbpsi_pmt_t *p_pmt )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1855,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_demux
    - p_pmt
    argTypes:
    - demux_t*
    - ts_pmt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1857
      start: 1850
    functionDepth: 1
    functionLinenumber: 1850
    functionLinenumberEnd: 1857
    functionName: SendCAPMTUpdate
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Control
    linkageType: ''
    returnType: void
    signature: void SendCAPMTUpdate( demux_t *p_demux, const ts_pmt_t *p_pmt )
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1868,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1870,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1870,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1872,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1872,1
    - Dst: dvbpsi_pmt_delete
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1873,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1876,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1886,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1893,1
    - Dst: dvbpsi_pmt_delete
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1894,1
    - Dst: dvbpsi_pmt_delete
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1903,1
    - Dst: ARRAY_APPEND
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1913,1
    - Dst: ARRAY_APPEND
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1915,1
    - Dst: ARRAY_INIT
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1916,1
    - Dst: ODFree
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1920,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1924,1
    - Dst: ProgramIsSelected
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1929,1
    - Dst: SetPIDFilter
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1930,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1930,1
    - Dst: ParsePMTRegistrations
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1934,1
    - Dst: TsChangeStandard
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1941,1
    - Dst: TsChangeStandard
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1944,1
    - Dst: TsChangeStandard
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1947,1
    - Dst: SEEN
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1950,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1950,1
    - Dst: TsChangeStandard
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1952,1
    - Dst: ProbePMTStandard
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1957,1
    - Dst: ParsePMTPrivateRegistrations
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1964,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1969,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1972,1
    - Dst: ISO13818_1_Get_StreamType_Description
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1976,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1978,1
    - Dst: ARIB_B10_Get_PMT_Descriptor_Description
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1987,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1990,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:1992,1
    - Dst: PIDSetup
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2000,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2002,1
    - Dst: ts_stream_New
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2010,1
    - Dst: PIDRelease
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2013,1
    - Dst: ARRAY_APPEND
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2024,1
    - Dst: SEEN
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2025,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2025,1
    - Dst: FillPESFromDvbpsiES
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2028,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2034,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2037,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2041,1
    - Dst: PMTEsFindDescriptor
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2045,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2048,1
    - Dst: ts_stream_Find_es
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2058,1
    - Dst: es_format_IsSimilar
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2065,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2072,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2080,1
    - Dst: ts_Count_es
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2085,1
    - Dst: ts_Count_es
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2086,1
    - Dst: ts_stream_Del
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2092,1
    - Dst: ts_stream_Extract_es
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2096,1
    - Dst: ts_stream_Extract_es
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2097,1
    - Dst: ts_stream_Add_es
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2098,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2099,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2100,1
    - Dst: ts_Count_es
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2100,1
    - Dst: ts_stream_Add_es
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2101,1
    - Dst: ts_stream_Del
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2102,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2107,1
    - Dst: ts_Count_es
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2107,1
    - Dst: ts_stream_Extract_es
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2108,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2109,1
    - Dst: ts_stream_Add_es
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2110,1
    - Dst: ts_stream_Del
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2111,1
    - Dst: AddAndCreateES
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2116,1
    - Dst: ts_stream_wrapper_New
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2124,1
    - Dst: vlc_stream_FilterNew
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2127,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2130,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2139,1
    - Dst: PIDSetup
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2140,1
    - Dst: ATSC_Attach_Dvbpsi_Base_Decoders
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2143,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2145,1
    - Dst: PIDRelease
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2147,1
    - Dst: SetPIDFilter
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2152,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2153,1
    - Dst: ts_es_New
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2158,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2159,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2161,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2164,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2175,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2182,1
    - Dst: ts_pid_Get
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2188,1
    - Dst: PIDSetup
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2189,1
    - Dst: ts_attach_SI_Tables_Decoders
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2191,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2193,1
    - Dst: PIDRelease
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2195,1
    - Dst: SetPIDFilter
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2200,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2201,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2206,1
    - Dst: PIDRelease
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2213,1
    - Dst: ARRAY_RESET
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2214,1
    - Dst: FindPCRCandidate
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2218,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2221,1
    - Dst: en50221_capmt_Delete
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2227,1
    - Dst: CreateCAPMTInfo
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2228,1
    - Dst: UpdatePESFilters
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2230,1
    - Dst: ProbeStart
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2235,1
    - Dst: ProbeEnd
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2236,1
    - Dst: TimeStampWrapAround
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2240,1
    - Dst: dvbpsi_pmt_delete
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2243,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 203
    argCount: 2
    argNames:
    - data
    - p_dvbpsipmt
    argTypes:
    - void*
    - dvbpsi_pmt_t*
    assertStmts:
    - condition: (pmtpid->type == TYPE_PMT)
      pos:
        line_end: 1885
        line_start: 1885
        source_file: /src/vlc/modules/demux/mpeg/ts_psi.c
    - condition: (p_old == p_existing_es)
      pos:
        line_end: 2098
        line_start: 2098
        source_file: /src/vlc/modules/demux/mpeg/ts_psi.c
    - condition: (ts_Count_es(pespid->u.p_stream->p_es, false, NULL))
      pos:
        line_end: 2106
        line_start: 2106
        source_file: /src/vlc/modules/demux/mpeg/ts_psi.c
    - condition: (GetPID(p_sys, 0)->type == TYPE_PAT)
      pos:
        line_end: 1871
        line_start: 1871
        source_file: /src/vlc/modules/demux/mpeg/ts_psi.c
    - condition: ( p_new )
      pos:
        line_end: 2108
        line_start: 2108
        source_file: /src/vlc/modules/demux/mpeg/ts_psi.c
    - condition: (ts_Count_es(p_pes->p_es, false, NULL) == 0)
      pos:
        line_end: 2099
        line_start: 2099
        source_file: /src/vlc/modules/demux/mpeg/ts_psi.c
    constantsTouched: []
    func_position:
      end: 2244
      start: 1859
    functionDepth: 8
    functionLinenumber: 1859
    functionLinenumberEnd: 2244
    functionName: PMTCallBack
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - SEEN
    - assert
    - ts_es_New
    - es_format_IsSimilar
    - ts_Count_es
    - FindPCRCandidate
    - ts_stream_Del
    - CreateCAPMTInfo
    - TimeStampWrapAround
    - memcmp
    - ts_pid_Get
    - ODFree
    - ISO13818_1_Get_StreamType_Description
    - PIDRelease
    - GetPID
    - ts_stream_Add_es
    - msg_Err
    - en50221_capmt_Delete
    - ts_attach_SI_Tables_Decoders
    - msg_Dbg
    - ProbeStart
    - ParsePMTRegistrations
    - msg_Warn
    - PMTEsFindDescriptor
    - ARRAY_APPEND
    - UpdatePESFilters
    - ProgramIsSelected
    - ATSC_Attach_Dvbpsi_Base_Decoders
    - es_format_Change
    - strdup
    - TsChangeStandard
    - ProbePMTStandard
    - ts_stream_New
    - ProbeEnd
    - strcmp
    - dvbpsi_pmt_delete
    - likely
    - PIDSetup
    - ts_stream_wrapper_New
    - ARRAY_RESET
    - vlc_stream_FilterNew
    - ARIB_B10_Get_PMT_Descriptor_Description
    - FillPESFromDvbpsiES
    - vlc_stream_Delete
    - ts_stream_Find_es
    - ARRAY_INIT
    - ParsePMTPrivateRegistrations
    - SetPIDFilter
    - unlikely
    - AddAndCreateES
    - ts_stream_Extract_es
    linkageType: ''
    returnType: void
    signature: void PMTCallBack( void *data, dvbpsi_pmt_t *p_dvbpsipmt )
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2249,1
    - Dst: strtoul
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2257,1
    - Dst: strtol
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2264,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2267,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2269,1
    - Dst: PIDSetup
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2270,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2270,1
    - Dst: dvbpsi_pmt_attach
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2276,1
    - Dst: PIDRelease
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2280,1
    - Dst: ARRAY_APPEND
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2284,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2284,1
    - Dst: ARRAY_APPEND
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2285,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2288,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2293,1
    - Dst: strtoul
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2298,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2303,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2307,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2309,1
    - Dst: strchr
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2311,1
    - Dst: PIDSetup
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2315,1
    - Dst: ARRAY_APPEND
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2318,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2325,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2327,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2331,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2333,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2335,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2338,1
    - Dst: strtol
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2343,1
    - Dst: PIDFillFormat
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2344,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2353,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2355,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2365,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2369,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 75
    argCount: 2
    argNames:
    - p_demux
    - psz_fmt
    argTypes:
    - demux_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2371
      start: 2246
    functionDepth: 2
    functionLinenumber: 2246
    functionLinenumberEnd: 2371
    functionName: UserPmt
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - strchr
    - strdup
    - PIDRelease
    - GetPID
    - strlen
    - strtoul
    - dvbpsi_pmt_attach
    - ARRAY_APPEND
    - PIDFillFormat
    - free
    - strcmp
    - strtol
    - msg_Dbg
    - es_out_Add
    - PIDSetup
    - es_format_Change
    linkageType: ''
    returnType: int
    signature: int UserPmt( demux_t *p_demux, const char *psz_fmt )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2375,1
    - Dst: dvbpsi_pat_attach
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - patpid
    - cbdata
    argTypes:
    - ts_pid_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2379
      start: 2373
    functionDepth: 1
    functionLinenumber: 2373
    functionLinenumberEnd: 2379
    functionName: ts_psi_PAT_Attach
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - dvbpsi_pat_attach
    - unlikely
    linkageType: ''
    returnType: bool
    signature: bool ts_psi_PAT_Attach( ts_pid_t *patpid, void *cbdata )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dvbpsi_packet_push
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2384,1
    - Dst: dvbpsi_packet_push
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - p_pid
    - p_pktbuffer
    argTypes:
    - ts_pid_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2387
      start: 2381
    functionDepth: 1
    functionLinenumber: 2381
    functionLinenumberEnd: 2387
    functionName: ts_psi_Packet_Push
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 0
    functionsReached:
    - dvbpsi_packet_push
    linkageType: ''
    returnType: void
    signature: void ts_psi_Packet_Push( ts_pid_t *p_pid, const uint8_t *p_pktbuffer
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dvbpsi_decoder_present
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2391,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2393,1
    - Dst: ts_psi_context_t*::pf_detach
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2394,1
    - Dst: en50221_capmt_Delete
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2397,1
    - Dst: dvbpsi_delete
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2398,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - p_ctx
    argTypes:
    - ts_psi_context_t*
    assertStmts:
    - condition: ( p_ctx->pf_detach )
      pos:
        line_end: 2392
        line_start: 2392
        source_file: /src/vlc/modules/demux/mpeg/ts_psi.c
    constantsTouched: []
    func_position:
      end: 2400
      start: 2389
    functionDepth: 1
    functionLinenumber: 2389
    functionLinenumberEnd: 2400
    functionName: ts_psi_context_Delete
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 2
    functionsReached:
    - assert
    - dvbpsi_delete
    - en50221_capmt_Delete
    - free
    - ts_psi_context_t*::pf_detach
    - dvbpsi_decoder_present
    linkageType: ''
    returnType: void
    signature: void ts_psi_context_Delete( ts_psi_context_t *p_ctx )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2404,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2405,1
    - Dst: dvbpsi_new
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2407,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_psi.c:2410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2418
      start: 2402
    functionDepth: 1
    functionLinenumber: 2402
    functionLinenumberEnd: 2418
    functionName: ts_psi_context_New
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psi.c
    functionUses: 2
    functionsReached:
    - free
    - dvbpsi_new
    - likely
    - malloc
    linkageType: ''
    returnType: ts_psi_context_t
    signature: ts_psi_context_t * ts_psi_context_New( demux_t *p_demux )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dvbpsi_DeletePSISections
      Src: /src/vlc/modules/demux/mpeg/ts_decoders.c:52,1
    - Dst: dvbpsi_decoder_reset
      Src: /src/vlc/modules/demux/mpeg/ts_decoders.c:58,1
    - Dst: DVBPSI_DECODER
      Src: /src/vlc/modules/demux/mpeg/ts_decoders.c:58,1
    - Dst: dvbpsi_decoder_reset
      Src: /src/vlc/modules/demux/mpeg/ts_decoders.c:64,1
    - Dst: DVBPSI_DECODER
      Src: /src/vlc/modules/demux/mpeg/ts_decoders.c:64,1
    - Dst: dvbpsi_decoder_psi_section_add
      Src: /src/vlc/modules/demux/mpeg/ts_decoders.c:68,1
    - Dst: DVBPSI_DECODER
      Src: /src/vlc/modules/demux/mpeg/ts_decoders.c:68,1
    - Dst: dvbpsi_decoder_psi_sections_completed
      Src: /src/vlc/modules/demux/mpeg/ts_decoders.c:72,1
    - Dst: DVBPSI_DECODER
      Src: /src/vlc/modules/demux/mpeg/ts_decoders.c:72,1
    - Dst: ts_dvbpsi_rawtable_decoder_t*::pf_callback
      Src: /src/vlc/modules/demux/mpeg/ts_decoders.c:76,1
    - Dst: dvbpsi_decoder_reset
      Src: /src/vlc/modules/demux/mpeg/ts_decoders.c:81,1
    - Dst: DVBPSI_DECODER
      Src: /src/vlc/modules/demux/mpeg/ts_decoders.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - p_dvbpsi
    - p_decoder
    - p_section
    argTypes:
    - dvbpsi_t*
    - dvbpsi_decoder_t*
    - dvbpsi_psi_section_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 83
    functionName: ts_dvbpsi_RawSubDecoderGatherSections
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_decoders.c
    functionUses: 0
    functionsReached:
    - dvbpsi_DeletePSISections
    - ts_dvbpsi_rawtable_decoder_t*::pf_callback
    - DVBPSI_DECODER
    - dvbpsi_decoder_psi_sections_completed
    - dvbpsi_decoder_psi_section_add
    - dvbpsi_decoder_reset
    linkageType: ''
    returnType: void
    signature: "void ts_dvbpsi_RawSubDecoderGatherSections( dvbpsi_t *p_dvbpsi,\n
      \                                                  dvbpsi_decoder_t *p_decoder,\n
      \                                                  dvbpsi_psi_section_t * p_section
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts_dvbpsi_RawSubDecoderGatherSections
      Src: /src/vlc/modules/demux/mpeg/ts_decoders.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_dvbpsi
    - p_section
    argTypes:
    - dvbpsi_t*
    - dvbpsi_psi_section_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: ts_dvbpsi_RawDecoderGatherSections
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_decoders.c
    functionUses: 0
    functionsReached:
    - ts_dvbpsi_RawSubDecoderGatherSections
    linkageType: ''
    returnType: void
    signature: "void ts_dvbpsi_RawDecoderGatherSections( dvbpsi_t *p_dvbpsi,\n                                                dvbpsi_psi_section_t
      * p_section )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dvbpsi_demuxGetSubDec
      Src: /src/vlc/modules/demux/mpeg/ts_decoders.c:96,1
    - Dst: dvbpsi_DetachDemuxSubDecoder
      Src: /src/vlc/modules/demux/mpeg/ts_decoders.c:100,1
    - Dst: dvbpsi_DeleteDemuxSubDecoder
      Src: /src/vlc/modules/demux/mpeg/ts_decoders.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - p_dvbpsi
    - i_table_id
    - i_extension
    argTypes:
    - dvbpsi_t*
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: ts_dvbpsi_DetachRawSubDecoder
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_decoders.c
    functionUses: 0
    functionsReached:
    - dvbpsi_DetachDemuxSubDecoder
    - dvbpsi_DeleteDemuxSubDecoder
    - dvbpsi_demuxGetSubDec
    linkageType: ''
    returnType: void
    signature: void ts_dvbpsi_DetachRawSubDecoder( dvbpsi_t *p_dvbpsi, uint8_t i_table_id,
      uint16_t i_extension )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dvbpsi_demuxGetSubDec
      Src: /src/vlc/modules/demux/mpeg/ts_decoders.c:110,1
    - Dst: dvbpsi_decoder_new
      Src: /src/vlc/modules/demux/mpeg/ts_decoders.c:114,1
    - Dst: dvbpsi_NewDemuxSubDecoder
      Src: /src/vlc/modules/demux/mpeg/ts_decoders.c:120,1
    - Dst: DVBPSI_DECODER
      Src: /src/vlc/modules/demux/mpeg/ts_decoders.c:123,1
    - Dst: dvbpsi_decoder_delete
      Src: /src/vlc/modules/demux/mpeg/ts_decoders.c:126,1
    - Dst: DVBPSI_DECODER
      Src: /src/vlc/modules/demux/mpeg/ts_decoders.c:126,1
    - Dst: dvbpsi_AttachDemuxSubDecoder
      Src: /src/vlc/modules/demux/mpeg/ts_decoders.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - p_dvbpsi
    - i_table_id
    - i_extension
    - pf_callback
    - p_cb_data
    argTypes:
    - dvbpsi_t*
    - uint8_t
    - uint16_t
    - ts_dvbpsi_rawsections_callback_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 137
    functionName: ts_dvbpsi_AttachRawSubDecoder
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_decoders.c
    functionUses: 0
    functionsReached:
    - dvbpsi_NewDemuxSubDecoder
    - dvbpsi_AttachDemuxSubDecoder
    - DVBPSI_DECODER
    - dvbpsi_decoder_delete
    - dvbpsi_decoder_new
    - dvbpsi_demuxGetSubDec
    linkageType: ''
    returnType: bool
    signature: "bool ts_dvbpsi_AttachRawSubDecoder( dvbpsi_t* p_dvbpsi,\n                                    uint8_t
      i_table_id, uint16_t i_extension,\n                                    ts_dvbpsi_rawsections_callback_t
      pf_callback,\n                                     void *p_cb_data )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dvbpsi_decoder_new
      Src: /src/vlc/modules/demux/mpeg/ts_decoders.c:146,1
    - Dst: DVBPSI_DECODER
      Src: /src/vlc/modules/demux/mpeg/ts_decoders.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - p_dvbpsi
    - pf_callback
    - p_cb_data
    argTypes:
    - dvbpsi_t*
    - ts_dvbpsi_rawsections_callback_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 156
    functionName: ts_dvbpsi_AttachRawDecoder
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_decoders.c
    functionUses: 0
    functionsReached:
    - DVBPSI_DECODER
    - dvbpsi_decoder_new
    linkageType: ''
    returnType: bool
    signature: "bool ts_dvbpsi_AttachRawDecoder( dvbpsi_t* p_dvbpsi,\n                                 ts_dvbpsi_rawsections_callback_t
      pf_callback,\n                                 void *p_cb_data )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dvbpsi_decoder_present
      Src: /src/vlc/modules/demux/mpeg/ts_decoders.c:160,1
    - Dst: dvbpsi_decoder_delete
      Src: /src/vlc/modules/demux/mpeg/ts_decoders.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_dvbpsi
    argTypes:
    - dvbpsi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: ts_dvbpsi_DetachRawDecoder
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_decoders.c
    functionUses: 0
    functionsReached:
    - dvbpsi_decoder_delete
    - dvbpsi_decoder_present
    linkageType: ''
    returnType: void
    signature: void ts_dvbpsi_DetachRawDecoder( dvbpsi_t *p_dvbpsi )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - p_list
    argTypes:
    - ts_pid_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: ts_pid_list_Init
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_pid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ts_pid_list_Init( ts_pid_list_t *p_list )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:56,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:58,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:60,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p_demux
    - p_list
    argTypes:
    - demux_t*
    - ts_pid_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 63
    functionName: ts_pid_list_Release
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_pid.c
    functionUses: 0
    functionsReached:
    - free
    - VLC_UNUSED
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void ts_pid_list_Release( demux_t *p_demux, ts_pid_list_t *p_list )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - other
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: ts_bsearch_searchkey_Compare
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_pid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ts_bsearch_searchkey_Compare( const void *key, const void *other
      )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:106,1
    - Dst: realloc
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:118,1
    - Dst: abort
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:122,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:129,1
    - Dst: abort
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:132,1
    - Dst: memmove
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:145,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 2
    argNames:
    - p_list
    - i_pid
    argTypes:
    - ts_pid_list_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 159
    functionName: ts_pid_Get
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_pid.c
    functionUses: 1
    functionsReached:
    - abort
    - realloc
    - calloc
    - bsearch
    - memmove
    linkageType: ''
    returnType: ts_pid_t
    signature: ts_pid_t * ts_pid_Get( ts_pid_list_t *p_list, uint16_t i_pid )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - p_list
    - p_ctx
    argTypes:
    - ts_pid_list_t*
    - ts_pid_next_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 169
    functionName: ts_pid_Next
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_pid.c
    functionUses: 0
    functionsReached:
    - likely
    linkageType: ''
    returnType: ts_pid_t
    signature: ts_pid_t * ts_pid_Next( ts_pid_list_t *p_list, ts_pid_next_context_t
      *p_ctx )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:173,1
    - Dst: memset
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pid
    argTypes:
    - ts_pid_t*
    assertStmts:
    - condition: (pid->i_refcount == 0)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/vlc/modules/demux/mpeg/ts_pid.c
    constantsTouched: []
    func_position:
      end: 180
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 180
    functionName: PIDReset
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_pid.c
    functionUses: 0
    functionsReached:
    - assert
    - memset
    linkageType: ''
    returnType: void
    signature: void PIDReset( ts_pid_t *pid )
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:189,1
    - Dst: PIDReset
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:193,1
    - Dst: PIDReset
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:200,1
    - Dst: ts_pat_New
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:201,1
    - Dst: PIDReset
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:207,1
    - Dst: ts_pmt_New
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:208,1
    - Dst: PIDReset
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:214,1
    - Dst: ts_stream_New
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:215,1
    - Dst: PIDReset
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:221,1
    - Dst: ts_si_New
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:222,1
    - Dst: PIDReset
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:228,1
    - Dst: ts_psip_New
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:229,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:235,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:249,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 4
    argNames:
    - p_demux
    - i_type
    - pid
    - p_parent
    argTypes:
    - demux_t*
    - ts_pid_type_t
    - ts_pid_t*
    - ts_pid_t*
    assertStmts:
    - condition: ( pid->type == TYPE_FREE )
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/vlc/modules/demux/mpeg/ts_pid.c
    - condition: (false)
      pos:
        line_end: 234
        line_start: 234
        source_file: /src/vlc/modules/demux/mpeg/ts_pid.c
    constantsTouched: []
    func_position:
      end: 254
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 254
    functionName: PIDSetup
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_pid.c
    functionUses: 3
    functionsReached:
    - ts_si_New
    - assert
    - ts_stream_New
    - PIDReset
    - ts_pat_New
    - msg_Warn
    - ts_pmt_New
    - ts_psip_New
    linkageType: ''
    returnType: bool
    signature: bool PIDSetup( demux_t *p_demux, ts_pid_type_t i_type, ts_pid_t *pid,
      ts_pid_t *p_parent )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:260,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:269,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:279,1
    - Dst: ts_pat_Del
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:286,1
    - Dst: ts_pmt_Del
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:291,1
    - Dst: ts_stream_Del
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:296,1
    - Dst: ts_si_Del
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:301,1
    - Dst: ts_psip_Del
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:306,1
    - Dst: SetPIDFilter
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:311,1
    - Dst: PIDReset
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:312,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 2
    argNames:
    - p_demux
    - pid
    argTypes:
    - demux_t*
    - ts_pid_t*
    assertStmts:
    - condition: ( pid->type == TYPE_FREE )
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/vlc/modules/demux/mpeg/ts_pid.c
    - condition: ( pid->type != TYPE_FREE && pid->type != TYPE_PAT )
      pos:
        line_end: 268
        line_start: 268
        source_file: /src/vlc/modules/demux/mpeg/ts_pid.c
    - condition: ( pid->type != TYPE_FREE )
      pos:
        line_end: 278
        line_start: 278
        source_file: /src/vlc/modules/demux/mpeg/ts_pid.c
    constantsTouched: []
    func_position:
      end: 314
      start: 256
    functionDepth: 4
    functionLinenumber: 256
    functionLinenumberEnd: 314
    functionName: PIDRelease
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_pid.c
    functionUses: 7
    functionsReached:
    - assert
    - ts_stream_Del
    - SetPIDFilter
    - ts_pmt_Del
    - PIDReset
    - ts_pat_Del
    - ts_si_Del
    - ts_psip_Del
    linkageType: ''
    returnType: void
    signature: void PIDRelease( demux_t *p_demux, ts_pid_t *pid )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_sys
    - p_pid
    argTypes:
    - demux_sys_t*
    - ts_pid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 323
    functionName: UpdateHWFilter
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_pid.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Control
    linkageType: ''
    returnType: int
    signature: int UpdateHWFilter( demux_sys_t *p_sys, ts_pid_t *p_pid )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UpdateHWFilter
      Src: /src/vlc/modules/demux/mpeg/ts_pid.c:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - p_sys
    - p_pid
    - b_selected
    argTypes:
    - demux_sys_t*
    - ts_pid_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 333
    functionName: SetPIDFilter
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_pid.c
    functionUses: 3
    functionsReached:
    - UpdateHWFilter
    linkageType: ''
    returnType: int
    signature: int SetPIDFilter( demux_sys_t *p_sys, ts_pid_t *p_pid, bool b_selected
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: es_out_Del
      Src: /src/vlc/modules/demux/mpeg/ps.c:129,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/mpeg/ps.c:132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 135
    functionName: CreateOrUpdateES
    functionSourceFile: /src/vlc/modules/demux/mpeg/ps.c
    functionUses: 0
    functionsReached:
    - es_out_Del
    - es_out_Add
    linkageType: ''
    returnType: void
    signature: void CreateOrUpdateES( demux_t*p_demux )
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mpeg/ps.c:154,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mpeg/ps.c:158,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mpeg/ps.c:159,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mpeg/ps.c:161,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mpeg/ps.c:164,1
    - Dst: msg_Info
      Src: /src/vlc/modules/demux/mpeg/ps.c:166,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mpeg/ps.c:167,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mpeg/ps.c:168,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/demux/mpeg/ps.c:169,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mpeg/ps.c:169,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mpeg/ps.c:169,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mpeg/ps.c:171,1
    - Dst: msg_Info
      Src: /src/vlc/modules/demux/mpeg/ps.c:173,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mpeg/ps.c:178,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mpeg/ps.c:178,1
    - Dst: msg_Info
      Src: /src/vlc/modules/demux/mpeg/ps.c:183,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mpeg/ps.c:191,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mpeg/ps.c:198,1
    - Dst: ps_pkt_size
      Src: /src/vlc/modules/demux/mpeg/ps.c:205,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/mpeg/ps.c:212,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mpeg/ps.c:216,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mpeg/ps.c:245,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/mpeg/ps.c:247,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/mpeg/ps.c:250,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/mpeg/ps.c:252,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/mpeg/ps.c:257,1
    - Dst: ps_psm_init
      Src: /src/vlc/modules/demux/mpeg/ps.c:259,1
    - Dst: ps_track_init
      Src: /src/vlc/modules/demux/mpeg/ps.c:260,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 78
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 265
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/mpeg/ps.c
    functionUses: 37
    functionsReached:
    - GetWBE
    - strncasecmp
    - vlc_stream_Peek
    - strlen
    - ps_psm_init
    - ps_track_init
    - msg_Info
    - malloc
    - vlc_stream_Read
    - vlc_tick_from_samples
    - GetDWBE
    - ps_pkt_size
    - likely
    - memcmp
    - vlc_stream_Control
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/mpeg/ps.c:279,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/demux/mpeg/ps.c:281,1
    - Dst: ps_psm_destroy
      Src: /src/vlc/modules/demux/mpeg/ps.c:284,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ps.c:286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 287
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/mpeg/ps.c
    functionUses: 128
    functionsReached:
    - free
    - es_out_Del
    - es_format_Clean
    - ps_psm_destroy
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ps_pkt_resynch
      Src: /src/vlc/modules/demux/mpeg/ps.c:295,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ps.c:303,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ps.c:309,1
    - Dst: ps_pkt_read
      Src: /src/vlc/modules/demux/mpeg/ps.c:312,1
    - Dst: ps_pkt_id
      Src: /src/vlc/modules/demux/mpeg/ps.c:317,1
    - Dst: ps_id_to_tk
      Src: /src/vlc/modules/demux/mpeg/ps.c:320,1
    - Dst: ps_pkt_parse_pes
      Src: /src/vlc/modules/demux/mpeg/ps.c:321,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mpeg/ps.c:321,1
    - Dst: ps_pkt_parse_pack
      Src: /src/vlc/modules/demux/mpeg/ps.c:337,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ps.c:346,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 2
    argNames:
    - p_demux
    - b_end
    argTypes:
    - demux_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 348
    functionName: Probe
    functionSourceFile: /src/vlc/modules/demux/mpeg/ps.c
    functionUses: 3
    functionsReached:
    - ps_pkt_resynch
    - block_Release
    - ps_pkt_parse_pes
    - ps_pkt_parse_pack
    - ps_id_to_tk
    - ps_pkt_read
    - msg_Warn
    - ps_pkt_id
    - VLC_OBJECT
    linkageType: ''
    returnType: int
    signature: int Probe( demux_t *p_demux, bool b_end )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: var_CreateGetBool
      Src: /src/vlc/modules/demux/mpeg/ps.c:354,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mpeg/ps.c:362,1
    - Dst: Probe
      Src: /src/vlc/modules/demux/mpeg/ps.c:363,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/demux/mpeg/ps.c:367,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/demux/mpeg/ps.c:369,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/mpeg/ps.c:370,1
    - Dst: Probe
      Src: /src/vlc/modules/demux/mpeg/ps.c:373,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/mpeg/ps.c:374,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ps.c:392,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/demux/mpeg/ps.c:392,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 397
    functionName: FindLength
    functionSourceFile: /src/vlc/modules/demux/mpeg/ps.c
    functionUses: 0
    functionsReached:
    - Probe
    - SEC_FROM_VLC_TICK
    - VLC_CLIP
    - var_CreateGetBool
    - msg_Dbg
    - vlc_stream_Seek
    - vlc_stream_Tell
    - vlc_stream_GetSize
    linkageType: ''
    returnType: bool
    signature: bool FindLength( demux_t *p_demux )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mpeg/ps.c:406,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - p_tk
    - out
    argTypes:
    - ps_track_t*
    - es_out_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 412
    functionName: NotifyDiscontinuity
    functionSourceFile: /src/vlc/modules/demux/mpeg/ps.c
    functionUses: 0
    functionsReached:
    - es_out_Control
    linkageType: ''
    returnType: void
    signature: void NotifyDiscontinuity( ps_track_t *p_tk, es_out_t *out )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: llabs
      Src: /src/vlc/modules/demux/mpeg/ps.c:417,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/demux/mpeg/ps.c:417,1
    - Dst: NotifyDiscontinuity
      Src: /src/vlc/modules/demux/mpeg/ps.c:418,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - p_sys
    - out
    - i_scr
    argTypes:
    - demux_sys_t*
    - es_out_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 419
    functionName: CheckPCR
    functionSourceFile: /src/vlc/modules/demux/mpeg/ps.c
    functionUses: 0
    functionsReached:
    - llabs
    - VLC_TICK_FROM_SEC
    - NotifyDiscontinuity
    linkageType: ''
    returnType: void
    signature: void CheckPCR( demux_sys_t *p_sys, es_out_t *out, vlc_tick_t i_scr
      )
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: ps_pkt_resynch
      Src: /src/vlc/modules/demux/mpeg/ps.c:430,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ps.c:439,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mpeg/ps.c:440,1
    - Dst: NotifyDiscontinuity
      Src: /src/vlc/modules/demux/mpeg/ps.c:441,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ps.c:448,1
    - Dst: FindLength
      Src: /src/vlc/modules/demux/mpeg/ps.c:453,1
    - Dst: ps_pkt_read
      Src: /src/vlc/modules/demux/mpeg/ps.c:457,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ps.c:464,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ps.c:473,1
    - Dst: ps_pkt_parse_pack
      Src: /src/vlc/modules/demux/mpeg/ps.c:477,1
    - Dst: CheckPCR
      Src: /src/vlc/modules/demux/mpeg/ps.c:482,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mpeg/ps.c:484,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ps.c:490,1
    - Dst: ps_pkt_parse_system
      Src: /src/vlc/modules/demux/mpeg/ps.c:494,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ps.c:496,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ps.c:501,1
    - Dst: ps_psm_fill
      Src: /src/vlc/modules/demux/mpeg/ps.c:503,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ps.c:506,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ps.c:513,1
    - Dst: ps_pkt_id
      Src: /src/vlc/modules/demux/mpeg/ps.c:520,1
    - Dst: ps_id_to_tk
      Src: /src/vlc/modules/demux/mpeg/ps.c:535,1
    - Dst: ps_track_fill
      Src: /src/vlc/modules/demux/mpeg/ps.c:539,1
    - Dst: ps_id_to_type
      Src: /src/vlc/modules/demux/mpeg/ps.c:544,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ps.c:560,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ps.c:574,1
    - Dst: CreateOrUpdateES
      Src: /src/vlc/modules/demux/mpeg/ps.c:580,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/demux/mpeg/ps.c:595,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ps.c:597,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/demux/mpeg/ps.c:598,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/mpeg/ps.c:603,1
    - Dst: ps_pkt_parse_pes
      Src: /src/vlc/modules/demux/mpeg/ps.c:607,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mpeg/ps.c:607,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/mpeg/ps.c:612,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ps.c:614,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/demux/mpeg/ps.c:615,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ps.c:631,1
    - Dst: CheckPCR
      Src: /src/vlc/modules/demux/mpeg/ps.c:632,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/mpeg/ps.c:636,1
    - Dst: llabs
      Src: /src/vlc/modules/demux/mpeg/ps.c:642,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/demux/mpeg/ps.c:642,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/mpeg/ps.c:655,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/mpeg/ps.c:675,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ps.c:679,1
    - Dst: demux_UpdateTitleFromStream
      Src: /src/vlc/modules/demux/mpeg/ps.c:687,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 160
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 424
    functionDepth: 3
    functionLinenumber: 424
    functionLinenumberEnd: 689
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/mpeg/ps.c
    functionUses: 22
    functionsReached:
    - llabs
    - NotifyDiscontinuity
    - ps_pkt_resynch
    - es_out_Send
    - CheckPCR
    - msg_Dbg
    - msg_Warn
    - CreateOrUpdateES
    - ps_pkt_parse_system
    - es_format_Change
    - MS_FROM_VLC_TICK
    - VLC_TICK_FROM_SEC
    - ps_track_fill
    - ps_id_to_type
    - ps_id_to_tk
    - ps_pkt_read
    - ps_pkt_id
    - vlc_stream_Tell
    - demux_UpdateTitleFromStream
    - es_out_SetPCR
    - block_Release
    - FindLength
    - ps_pkt_parse_pes
    - VLC_TICK_FROM_MS
    - ps_psm_fill
    - ps_pkt_parse_pack
    - VLC_OBJECT
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/ps.c:704,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/ps.c:708,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/ps.c:712,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/ps.c:716,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/demux/mpeg/ps.c:717,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mpeg/ps.c:719,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/ps.c:730,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/demux/mpeg/ps.c:732,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/mpeg/ps.c:749,1
    - Dst: NotifyDiscontinuity
      Src: /src/vlc/modules/demux/mpeg/ps.c:752,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mpeg/ps.c:769,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/demux/mpeg/ps.c:770,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/ps.c:775,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/demux/mpeg/ps.c:785,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/demux/mpeg/ps.c:788,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/ps.c:791,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/ps.c:799,1
    - Dst: demux_SetPosition
      Src: /src/vlc/modules/demux/mpeg/ps.c:801,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/ps.c:808,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/ps.c:809,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/mpeg/ps.c:813,1
    - Dst: vlc_stream_vaControl
      Src: /src/vlc/modules/demux/mpeg/ps.c:818,1
    - Dst: vlc_stream_vaControl
      Src: /src/vlc/modules/demux/mpeg/ps.c:821,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/ps.c:826,1
    - Dst: vlc_stream_vaControl
      Src: /src/vlc/modules/demux/mpeg/ps.c:833,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/mpeg/ps.c:842,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 98
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 694
    functionDepth: 2
    functionLinenumber: 694
    functionLinenumberEnd: 849
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/mpeg/ps.c
    functionUses: 170
    functionsReached:
    - demux_vaControlHelper
    - demux_SetPosition
    - NotifyDiscontinuity
    - va_arg
    - vlc_stream_vaControl
    - vlc_tick_from_samples
    - vlc_stream_Seek
    - vlc_stream_Tell
    - vlc_stream_GetSize
    - vlc_stream_Control
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mpeg/ps.c:865,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mpeg/ps.c:875,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mpeg/ps.c:893,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/mpeg/ps.c:906,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/mpeg/ps.c:913,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 31
    argCount: 3
    argNames:
    - s
    - format
    - b_pack
    argTypes:
    - stream_t*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 859
    functionDepth: 1
    functionLinenumber: 859
    functionLinenumberEnd: 914
    functionName: ps_pkt_resynch
    functionSourceFile: /src/vlc/modules/demux/mpeg/ps.c
    functionUses: 2
    functionsReached:
    - vlc_stream_Read
    - vlc_stream_Peek
    - memcmp
    linkageType: ''
    returnType: int
    signature: int ps_pkt_resynch( stream_t *s, int format, bool b_pack )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mpeg/ps.c:919,1
    - Dst: ps_pkt_size
      Src: /src/vlc/modules/demux/mpeg/ps.c:923,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mpeg/ps.c:930,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/mpeg/ps.c:940,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/mpeg/ps.c:949,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 916
    functionDepth: 1
    functionLinenumber: 916
    functionLinenumberEnd: 953
    functionName: ps_pkt_read
    functionSourceFile: /src/vlc/modules/demux/mpeg/ps.c
    functionUses: 2
    functionsReached:
    - vlc_stream_Peek
    - ps_pkt_size
    - vlc_stream_Block
    linkageType: ''
    returnType: block_t
    signature: block_t *ps_pkt_read( stream_t *s )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: SI_DEBUG_TIMESHIFT
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_si.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SI_DEBUG_TIMESHIFT(t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:83,1
    - Dst: dvbpsi_decoder_present
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:84,1
    - Dst: dvbpsi_packet_push
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - p_pid
    - p_pktbuffer
    argTypes:
    - ts_pid_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: ts_si_Packet_Push
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_si.c
    functionUses: 0
    functionsReached:
    - dvbpsi_packet_push
    - likely
    - dvbpsi_decoder_present
    linkageType: ''
    returnType: void
    signature: void ts_si_Packet_Push( ts_pid_t *p_pid, const uint8_t *p_pktbuffer
      )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: arib_instance_new
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:98,1
    - Dst: arib_get_decoder
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:101,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:109,1
    - Dst: arib_initialize_decoder
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:113,1
    - Dst: arib_decode_buffer
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:114,1
    - Dst: arib_finalize_decoder
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:116,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:121,1
    - Dst: FromCharset
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:131,1
    - Dst: vlc_from_EIT
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:132,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - p_demux
    - psz_instring
    - i_length
    - b_broken
    argTypes:
    - demux_t*
    - unsigned char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 133
    functionName: EITConvertToUTF8
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_si.c
    functionUses: 0
    functionsReached:
    - arib_instance_new
    - arib_initialize_decoder
    - arib_decode_buffer
    - vlc_from_EIT
    - calloc
    - arib_finalize_decoder
    - arib_get_decoder
    - FromCharset
    - VLC_UNUSED
    linkageType: ''
    returnType: char
    signature: "char *EITConvertToUTF8( demux_t *p_demux,\n                               const
      unsigned char *psz_instring,\n                               size_t i_length,\n
      \                              bool b_broken )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - i_pid
    - ','
    - name
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 153
    functionName: attach_SI_decoders
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_si.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: attach_SI_decoders(i_pid, name, member)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:157,1
    - Dst: ts_pid_Get
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:158,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:161,1
    - Dst: dvbpsi_sdt_delete
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:167,1
    - Dst: attach_SI_decoders
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:174,1
    - Dst: attach_SI_decoders
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:175,1
    - Dst: attach_SI_decoders
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:177,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:181,1
    - Dst: ts_pat_Get_pmt
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:191,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:198,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:206,1
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:211,1
    - Dst: dvbpsi_DecodeServiceDr
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:235,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:254,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:256,1
    - Dst: EITConvertToUTF8
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:262,1
    - Dst: EITConvertToUTF8
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:266,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:271,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:274,1
    - Dst: vlc_meta_SetTitle
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:276,1
    - Dst: vlc_meta_SetPublisher
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:277,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:281,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:282,1
    - Dst: ts_arib_logo_dr_Decode
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:287,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:307,1
    - Dst: vlc_meta_SetArtURL
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:311,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:312,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:313,1
    - Dst: ts_arib_logo_dr_Delete
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:317,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:335,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:337,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:339,1
    - Dst: vlc_meta_Delete
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:341,1
    - Dst: dvbpsi_sdt_delete
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:345,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 74
    argCount: 2
    argNames:
    - opaque
    - p_sdt
    argTypes:
    - void*
    - dvbpsi_sdt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 153
    functionDepth: 4
    functionLinenumber: 153
    functionLinenumberEnd: 346
    functionName: SDTCallBack
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_si.c
    functionUses: 0
    functionsReached:
    - dvbpsi_DecodeServiceDr
    - attach_SI_decoders
    - vlc_meta_SetPublisher
    - ts_pid_Get
    - vlc_meta_Delete
    - asprintf
    - GetPID
    - vlc_meta_New
    - dvbpsi_sdt_delete
    - msg_Dbg
    - ts_arib_logo_dr_Delete
    - strncmp
    - strcmp
    - vlc_meta_SetExtra
    - EITConvertToUTF8
    - vlc_meta_SetTitle
    - es_out_Control
    - strlen
    - free
    - ts_arib_logo_dr_Decode
    - vlc_meta_SetArtURL
    - ts_pat_Get_pmt
    linkageType: ''
    returnType: void
    signature: void SDTCallBack( void *opaque, dvbpsi_sdt_t *p_sdt )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - i_mjd
    - p_y
    - p_m
    - p_d
    argTypes:
    - int
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 357
    functionName: EITDecodeMjd
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_si.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EITDecodeMjd( int i_mjd, int *p_y, int *p_m, int *p_d )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 359
    functionName: CVT_FROM_BCD
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_si.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CVT_FROM_BCD(v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CVT_FROM_BCD
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:364,1
    - Dst: CVT_FROM_BCD
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:365,1
    - Dst: CVT_FROM_BCD
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:366,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:369,1
    - Dst: EITDecodeMjd
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:372,1
    - Dst: timegm
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - i_date
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 378
    functionName: EITConvertStartTime
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_si.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    - EITDecodeMjd
    - CVT_FROM_BCD
    - timegm
    linkageType: ''
    returnType: int64_t
    signature: int64_t EITConvertStartTime( uint64_t i_date )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CVT_FROM_BCD
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:381,1
    - Dst: CVT_FROM_BCD
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:382,1
    - Dst: CVT_FROM_BCD
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_duration
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 384
    functionName: EITConvertDuration
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_si.c
    functionUses: 0
    functionsReached:
    - CVT_FROM_BCD
    linkageType: ''
    returnType: int
    signature: int EITConvertDuration( uint32_t i_duration )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EITConvertStartTime
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:393,1
    - Dst: time
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:394,1
    - Dst: ts_pid_Get
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:407,1
    - Dst: dvbpsi_decoder_reset
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:408,1
    - Dst: dvbpsi_tot_delete
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:409,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - opaque
    - p_tdt
    argTypes:
    - void*
    - dvbpsi_tot_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 387
    functionDepth: 3
    functionLinenumber: 387
    functionLinenumberEnd: 412
    functionName: TDTCallBack
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_si.c
    functionUses: 0
    functionsReached:
    - dvbpsi_tot_delete
    - es_out_Control
    - time
    - EITConvertStartTime
    - ts_pid_Get
    - dvbpsi_decoder_reset
    linkageType: ''
    returnType: void
    signature: void TDTCallBack( void *opaque, dvbpsi_tot_t *p_tdt )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:436,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:442,1
    - Dst: EITConvertToUTF8
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:447,1
    - Dst: EITConvertToUTF8
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:460,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:465,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:470,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:475,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:475,1
    - Dst: realloc
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:476,1
    - Dst: strcat
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:480,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:482,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 3
    argNames:
    - p_demux
    - pE
    - p_evt
    argTypes:
    - demux_t*
    - dvbpsi_extended_event_dr_t*
    - vlc_epg_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 414
    functionDepth: 4
    functionLinenumber: 414
    functionLinenumberEnd: 493
    functionName: EITExtractDrDescItems
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_si.c
    functionUses: 0
    functionsReached:
    - EITConvertToUTF8
    - strlen
    - realloc
    - free
    - msg_Dbg
    - strcat
    linkageType: ''
    returnType: void
    signature: "void EITExtractDrDescItems( demux_t *p_demux, const dvbpsi_extended_event_dr_t
      *pE,\n                                   vlc_epg_event_t *p_evt )"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:504,1
    - Dst: dvbpsi_eit_delete
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:507,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:511,1
    - Dst: vlc_epg_New
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:523,1
    - Dst: dvbpsi_eit_delete
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:526,1
    - Dst: EITConvertStartTime
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:536,1
    - Dst: SI_DEBUG_TIMESHIFT
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:537,1
    - Dst: EITConvertDuration
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:538,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:547,1
    - Dst: vlc_epg_event_New
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:556,1
    - Dst: vlc_epg_AddEvent
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:561,1
    - Dst: vlc_epg_event_Delete
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:563,1
    - Dst: dvbpsi_DecodeShortEventDr
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:573,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:580,1
    - Dst: EITConvertToUTF8
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:581,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:585,1
    - Dst: EITConvertToUTF8
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:586,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:589,1
    - Dst: dvbpsi_DecodeExtendedEventDr
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:597,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:600,1
    - Dst: EITConvertToUTF8
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:606,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:611,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:615,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:615,1
    - Dst: realloc
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:616,1
    - Dst: strcat
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:620,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:622,1
    - Dst: EITExtractDrDescItems
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:631,1
    - Dst: dvbpsi_DecodeParentalRatingDr
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:638,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:649,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:659,1
    - Dst: vlc_epg_SetCurrent
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:685,1
    - Dst: ts_pid_Get
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:691,1
    - Dst: ts_pat_Get_pmt
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:692,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:700,1
    - Dst: vlc_epg_Delete
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:702,1
    - Dst: dvbpsi_eit_delete
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:704,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 108
    argCount: 2
    argNames:
    - opaque
    - p_eit
    argTypes:
    - void*
    - dvbpsi_eit_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 495
    functionDepth: 5
    functionLinenumber: 495
    functionLinenumberEnd: 705
    functionName: EITCallBack
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_si.c
    functionUses: 0
    functionsReached:
    - SI_DEBUG_TIMESHIFT
    - EITConvertDuration
    - dvbpsi_DecodeShortEventDr
    - vlc_epg_Delete
    - realloc
    - dvbpsi_eit_delete
    - EITConvertStartTime
    - ts_pid_Get
    - dvbpsi_DecodeExtendedEventDr
    - vlc_epg_SetCurrent
    - msg_Dbg
    - vlc_epg_event_Delete
    - strcat
    - dvbpsi_DecodeParentalRatingDr
    - vlc_epg_AddEvent
    - EITExtractDrDescItems
    - vlc_epg_New
    - EITConvertToUTF8
    - es_out_Control
    - strlen
    - free
    - ts_pat_Get_pmt
    - vlc_epg_event_New
    linkageType: ''
    returnType: void
    signature: void EITCallBack( void *opaque, dvbpsi_eit_t *p_eit )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:710,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:713,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:748,1
    - Dst: vlc_dictionary_has_key
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:752,1
    - Dst: ts_arib_inject_png_palette
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:753,1
    - Dst: vlc_input_attachment_New
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:755,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:759,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:762,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:764,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 3
    argNames:
    - p_handle
    - p_section
    - p_cdtpid
    argTypes:
    - dvbpsi_t*
    - dvbpsi_psi_section_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 707
    functionDepth: 2
    functionLinenumber: 707
    functionLinenumberEnd: 775
    functionName: ARIB_CDT_RawCallback
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_si.c
    functionUses: 0
    functionsReached:
    - asprintf
    - vlc_dictionary_has_key
    - GetPID
    - vlc_input_attachment_New
    - free
    - ts_arib_inject_png_palette
    - vlc_dictionary_insert
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void ARIB_CDT_RawCallback( dvbpsi_t *p_handle, const dvbpsi_psi_section_t*
      p_section,\n                                  void *p_cdtpid )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:780,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:784,1
    - Dst: dvbpsi_sdt_attach
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:789,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:790,1
    - Dst: dvbpsi_eit_attach
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:796,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:798,1
    - Dst: dvbpsi_tot_attach
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:803,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:804,1
    - Dst: dvbpsi_demuxGetSubDec
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:808,1
    - Dst: ts_dvbpsi_AttachRawSubDecoder
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:809,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:810,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 19
    argCount: 4
    argNames:
    - h
    - i_table_id
    - i_extension
    - p_pid_cbdata
    argTypes:
    - dvbpsi_t*
    - uint8_t
    - uint16_t
    - void*
    assertStmts:
    - condition: ( h )
      pos:
        line_end: 779
        line_start: 779
        source_file: /src/vlc/modules/demux/mpeg/ts_si.c
    constantsTouched: []
    func_position:
      end: 812
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 812
    functionName: SINewTableCallBack
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_si.c
    functionUses: 0
    functionsReached:
    - assert
    - dvbpsi_tot_attach
    - msg_Err
    - dvbpsi_eit_attach
    - msg_Dbg
    - dvbpsi_sdt_attach
    - ts_dvbpsi_AttachRawSubDecoder
    - dvbpsi_demuxGetSubDec
    linkageType: ''
    returnType: void
    signature: "void SINewTableCallBack( dvbpsi_t *h, uint8_t i_table_id,\n                                uint16_t
      i_extension, void *p_pid_cbdata )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dvbpsi_decoder_present
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:819,1
    - Dst: dvbpsi_AttachDemux
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:822,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p_pid
    argTypes:
    - ts_pid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 823
    functionName: ts_attach_SI_Tables_Decoders
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_si.c
    functionUses: 1
    functionsReached:
    - dvbpsi_AttachDemux
    - dvbpsi_decoder_present
    linkageType: ''
    returnType: bool
    signature: bool ts_attach_SI_Tables_Decoders( ts_pid_t *p_pid )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dvbpsi_decoder_present
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:827,1
    - Dst: dvbpsi_DetachDemux
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:828,1
    - Dst: dvbpsi_delete
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:829,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_ctx
    argTypes:
    - ts_si_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 831
    functionName: ts_si_context_Delete
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_si.c
    functionUses: 1
    functionsReached:
    - free
    - dvbpsi_DetachDemux
    - dvbpsi_delete
    - dvbpsi_decoder_present
    linkageType: ''
    returnType: void
    signature: void ts_si_context_Delete( ts_si_context_t *p_ctx )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:835,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:836,1
    - Dst: dvbpsi_new
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:838,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_si.c:841,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 848
    functionName: ts_si_context_New
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_si.c
    functionUses: 1
    functionsReached:
    - free
    - dvbpsi_new
    - likely
    - malloc
    linkageType: ''
    returnType: ts_si_context_t
    signature: ts_si_context_t * ts_si_context_New( demux_t *p_demux )
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - i_type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: ISO13818_1_Get_StreamType_Description
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_strings.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ISO13818_1_Get_StreamType_Description(uint8_t i_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - i_desc
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: ISO13818_1_Get_Descriptor_Description
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_strings.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ISO13818_1_Get_Descriptor_Description(uint8_t i_desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - i_desc
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: ARIB_B10_Get_PMT_Descriptor_Description
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_strings.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ARIB_B10_Get_PMT_Descriptor_Description(uint8_t i_desc)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:47,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:50,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:61,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - pp_block
    - pp_remain
    - i_offset
    argTypes:
    - block_t**
    - block_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 70
    functionName: block_Split
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_pes.c
    functionUses: 0
    functionsReached:
    - block_Alloc
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool block_Split( block_t **pp_block, block_t **pp_remain, size_t i_offset
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - p_buf
    - i_buf
    argTypes:
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (i_buf > 2)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/vlc/modules/demux/mpeg/ts_pes.c
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: MayHaveStartCodeOnEnd
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_pes.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool MayHaveStartCodeOnEnd( const uint8_t *p_buf, size_t i_buf )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - p_buf
    - i_buffer
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 97
    functionName: FindNextPESHeader
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_pes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *FindNextPESHeader( uint8_t *p_buf, size_t i_buffer )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ts_pes_parse_callback*::pf_parse
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:125,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:137,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:144,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:148,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:155,1
    - Dst: ts_pes_Push
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:156,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 5
    argNames:
    - cb
    - p_pes
    - p_pkt
    - b_unit_start
    - i_append_pcr
    argTypes:
    - ts_pes_parse_callback*
    - ts_stream_t*
    - block_t*
    - bool
    - ts_90khz_t
    assertStmts:
    - condition: (p_pes->gather.p_data)
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/vlc/modules/demux/mpeg/ts_pes.c
    constantsTouched: []
    func_position:
      end: 160
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 160
    functionName: ts_pes_Push
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_pes.c
    functionUses: 1
    functionsReached:
    - ts_pes_parse_callback*::pf_parse
    - assert
    - block_Release
    - ts_pes_Push
    - block_ChainLastAppend
    linkageType: ''
    returnType: bool
    signature: "bool ts_pes_Push( ts_pes_parse_callback *cb,\n                  ts_stream_t
      *p_pes, block_t *p_pkt,\n                  bool b_unit_start, ts_90khz_t i_append_pcr
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts_pes_Push
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cb
    - p_pes
    argTypes:
    - ts_pes_parse_callback*
    - ts_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: ts_pes_Drain
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_pes.c
    functionUses: 0
    functionsReached:
    - ts_pes_Push
    linkageType: ''
    returnType: bool
    signature: bool ts_pes_Drain( ts_pes_parse_callback *cb, ts_stream_t *p_pes )
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:176,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:197,1
    - Dst: ts_pes_Push
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:198,1
    - Dst: ts_pes_Push
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:207,1
    - Dst: ts_pes_Push
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:220,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:239,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:242,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:245,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:247,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:254,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:258,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:260,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:262,1
    - Dst: FindNextPESHeader
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:269,1
    - Dst: MayHaveStartCodeOnEnd
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:273,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:278,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:280,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:287,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:294,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:298,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:303,1
    - Dst: ts_pes_Push
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:305,1
    - Dst: block_Split
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:311,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:313,1
    - Dst: ts_pes_Push
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:317,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:324,1
    - Dst: ts_pes_Push
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:326,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:330,1
    - Dst: ts_pes_Push
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:336,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:341,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:344,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:345,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:347,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ts_pes.c:348,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 107
    argCount: 6
    argNames:
    - cb
    - p_pes
    - p_pkt
    - b_unit_start
    - b_valid_scrambling
    - i_append_pcr
    argTypes:
    - ts_pes_parse_callback*
    - ts_stream_t*
    - block_t*
    - bool
    - bool
    - ts_90khz_t
    assertStmts:
    - condition: (p_pes->gather.i_saved < TS_PES_HEADER_SIZE)
      pos:
        line_end: 241
        line_start: 241
        source_file: /src/vlc/modules/demux/mpeg/ts_pes.c
    - condition: (p_pes->gather.i_saved == 0)
      pos:
        line_end: 344
        line_start: 344
        source_file: /src/vlc/modules/demux/mpeg/ts_pes.c
    - condition: ( p_pes->gather.i_saved == 0 )
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/vlc/modules/demux/mpeg/ts_pes.c
    - condition: (!b_single_payload)
      pos:
        line_end: 343
        line_start: 343
        source_file: /src/vlc/modules/demux/mpeg/ts_pes.c
    - condition: "( p_pes->gather.i_data_size > p_pes->gather.i_gathered ||\n                    p_pes->gather.i_data_size
        == 0 )"
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/vlc/modules/demux/mpeg/ts_pes.c
    constantsTouched: []
    func_position:
      end: 354
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 354
    functionName: ts_pes_Gather
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_pes.c
    functionUses: 1
    functionsReached:
    - GetWBE
    - block_Release
    - block_Realloc
    - assert
    - block_Split
    - ts_pes_Push
    - memcpy
    - likely
    - MayHaveStartCodeOnEnd
    - unlikely
    - memcmp
    - FindNextPESHeader
    linkageType: ''
    returnType: bool
    signature: "bool ts_pes_Gather( ts_pes_parse_callback *cb,\n                    ts_stream_t
      *p_pes, block_t *p_pkt,\n                    bool b_unit_start, bool b_valid_scrambling,\n
      \                   ts_90khz_t i_append_pcr )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pkt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: AS_BUF
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_packet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AS_BUF(pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __MIN
      Src: /src/vlc/modules/demux/mpeg/ts_packet.h:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_pkt
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: PKTHeaderAndAFSize
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_packet.h
    functionUses: 0
    functionsReached:
    - __MIN
    linkageType: ''
    returnType: unsigned
    signature: unsigned PKTHeaderAndAFSize( const block_t *p_pkt )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: PIDGet
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_packet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int PIDGet( const block_t *p )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mpeg/ts_packet.h:52,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - p_pkt
    argTypes:
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: GetPCR
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_packet.h
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: ts_90khz_t
    signature: ts_90khz_t GetPCR( const block_t *p_pkt )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: GetPESTimestamp
    functionSourceFile: /src/vlc/modules/demux/mpeg/pes.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ts_90khz_t
    signature: ts_90khz_t GetPESTimestamp( const uint8_t *p_data )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetPESTimestamp
      Src: /src/vlc/modules/demux/mpeg/pes.h:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - p_data
    - i_flags
    - ret
    argTypes:
    - uint8_t*
    - uint8_t
    - ts_90khz_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: ExtractPESTimestamp
    functionSourceFile: /src/vlc/modules/demux/mpeg/pes.h
    functionUses: 0
    functionsReached:
    - GetPESTimestamp
    linkageType: ''
    returnType: bool
    signature: bool ExtractPESTimestamp( const uint8_t *p_data, uint8_t i_flags, ts_90khz_t
      *ret )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: ExtractPackHeaderTimestamp
    functionSourceFile: /src/vlc/modules/demux/mpeg/pes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ts_90khz_t
    signature: ts_90khz_t ExtractPackHeaderTimestamp( const uint8_t *p_data )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - h
    argTypes:
    - ts_pes_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: ts_pes_header_init
    functionSourceFile: /src/vlc/modules/demux/mpeg/pes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ts_pes_header_init(ts_pes_header_t *h)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ExtractPESTimestamp
      Src: /src/vlc/modules/demux/mpeg/pes.h:137,1
    - Dst: ExtractPESTimestamp
      Src: /src/vlc/modules/demux/mpeg/pes.h:141,1
    - Dst: vlc_error
      Src: /src/vlc/modules/demux/mpeg/pes.h:162,1
    - Dst: ExtractPESTimestamp
      Src: /src/vlc/modules/demux/mpeg/pes.h:177,1
    - Dst: ExtractPESTimestamp
      Src: /src/vlc/modules/demux/mpeg/pes.h:182,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 64
    argCount: 4
    argNames:
    - p_logger
    - p_header
    - i_header
    - h
    argTypes:
    - struct vlc_logger*
    - uint8_t*
    - size_t
    - ts_pes_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 202
    functionName: ParsePESHeader
    functionSourceFile: /src/vlc/modules/demux/mpeg/pes.h
    functionUses: 0
    functionsReached:
    - ExtractPESTimestamp
    - vlc_error
    linkageType: ''
    returnType: int
    signature: "int ParsePESHeader( struct vlc_logger *p_logger, const uint8_t *p_header,
      size_t i_header,\n                           ts_pes_header_t *h )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ppsz
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: grab_notempty
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *grab_notempty( char **ppsz )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:96,1
    - Dst: dvbpsi_packet_push
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - p_pid
    - p_pktbuffer
    argTypes:
    - ts_pid_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: ts_psip_Packet_Push
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psip.c
    functionUses: 0
    functionsReached:
    - dvbpsi_packet_push
    - likely
    linkageType: ''
    returnType: void
    signature: void ts_psip_Packet_Push( ts_pid_t *p_pid, const uint8_t *p_pktbuffer
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:102,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:103,1
    - Dst: dvbpsi_new
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:105,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:108,1
    - Dst: ARRAY_INIT
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:118,1
    - Dst: ARRAY_INIT
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 122
    functionName: ts_psip_context_New
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psip.c
    functionUses: 1
    functionsReached:
    - free
    - dvbpsi_new
    - ARRAY_INIT
    - likely
    - malloc
    linkageType: ''
    returnType: ts_psip_context_t
    signature: ts_psip_context_t * ts_psip_context_New( demux_t *p_demux )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:126,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:127,1
    - Dst: ATSC_Detach_Dvbpsi_Decoders
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:129,1
    - Dst: dvbpsi_delete
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:130,1
    - Dst: dvbpsi_atsc_DeleteMGT
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:133,1
    - Dst: dvbpsi_atsc_DeleteSTT
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:135,1
    - Dst: dvbpsi_atsc_DeleteVCT
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:137,1
    - Dst: atsc_a65_handle_Release
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:139,1
    - Dst: dvbpsi_atsc_DeleteETT
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:142,1
    - Dst: dvbpsi_atsc_DeleteEIT
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:144,1
    - Dst: ARRAY_RESET
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:145,1
    - Dst: ARRAY_RESET
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:146,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:147,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - p_ctx
    argTypes:
    - ts_psip_context_t*
    assertStmts:
    - condition: ( !p_ctx->p_mgt || !p_ctx->etts.i_size )
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/vlc/modules/demux/mpeg/ts_psip.c
    - condition: ( !p_ctx->p_vct || !p_ctx->eits.i_size )
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/vlc/modules/demux/mpeg/ts_psip.c
    constantsTouched: []
    func_position:
      end: 148
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 148
    functionName: ts_psip_context_Delete
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psip.c
    functionUses: 1
    functionsReached:
    - assert
    - dvbpsi_atsc_DeleteMGT
    - ARRAY_RESET
    - dvbpsi_atsc_DeleteVCT
    - dvbpsi_delete
    - dvbpsi_atsc_DeleteEIT
    - free
    - dvbpsi_atsc_DeleteSTT
    - ATSC_Detach_Dvbpsi_Decoders
    - atsc_a65_handle_Release
    - dvbpsi_atsc_DeleteETT
    linkageType: ''
    returnType: void
    signature: void ts_psip_context_Delete( ts_psip_context_t *p_ctx )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:153,1
    - Dst: ts_pid_Get
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - p_list
    - p_mgt
    - p_psip
    argTypes:
    - ts_pid_list_t*
    - dvbpsi_atsc_mgt_t*
    - ts_psip_t*
    assertStmts:
    - condition: ( p_psip->p_ctx->i_tabletype )
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/vlc/modules/demux/mpeg/ts_psip.c
    constantsTouched: []
    func_position:
      end: 166
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 166
    functionName: ATSC_GetSiblingxTTPID
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psip.c
    functionUses: 0
    functionsReached:
    - assert
    - ts_pid_Get
    linkageType: ''
    returnType: ts_pid_t
    signature: ts_pid_t *ATSC_GetSiblingxTTPID( ts_pid_list_t *p_list, const dvbpsi_atsc_mgt_t
      *p_mgt, ts_psip_t *p_psip )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i_vchannel
    - i_event_id
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: toETMId
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t toETMId( uint16_t i_vchannel, uint16_t i_event_id )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - i_etm_id
    - pi_vchannel
    - pi_event_id
    argTypes:
    - uint32_t
    - uint16_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: fromETMId
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fromETMId( uint32_t i_etm_id, uint16_t *pi_vchannel, uint16_t
      *pi_event_id )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_BSEARCH
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - p_ettctx
    - i_etm_id
    - i_version
    argTypes:
    - ts_psip_context_t*
    - uint32_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 186
    functionName: ATSC_ETTFindByETMId
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psip.c
    functionUses: 0
    functionsReached:
    - ARRAY_BSEARCH
    linkageType: ''
    returnType: dvbpsi_atsc_ett_t
    signature: dvbpsi_atsc_ett_t * ATSC_ETTFindByETMId( ts_psip_context_t *p_ettctx,
      uint32_t i_etm_id, uint8_t i_version )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fromETMId
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:192,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - p_eitctx
    - i_etm_id
    - i_version
    argTypes:
    - ts_psip_context_t*
    - uint32_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 208
    functionName: ATSC_EventFindByETMId
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psip.c
    functionUses: 0
    functionsReached:
    - fromETMId
    linkageType: ''
    returnType: dvbpsi_atsc_eit_event_t
    signature: "dvbpsi_atsc_eit_event_t * ATSC_EventFindByETMId( ts_psip_context_t
      *p_eitctx,\n                                                              uint32_t
      i_etm_id, uint8_t i_version )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dvbpsi_atsc_DeleteEIT
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:217,1
    - Dst: ARRAY_APPEND
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p_ctx
    - p_eit
    argTypes:
    - ts_psip_context_t*
    - dvbpsi_atsc_eit_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 223
    functionName: ATSC_EITInsert
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psip.c
    functionUses: 0
    functionsReached:
    - ARRAY_APPEND
    - dvbpsi_atsc_DeleteEIT
    linkageType: ''
    returnType: void
    signature: void ATSC_EITInsert( ts_psip_context_t *p_ctx, dvbpsi_atsc_eit_t *p_eit
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dvbpsi_atsc_DeleteETT
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:236,1
    - Dst: ARRAY_REMOVE
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:237,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - p_ctx
    - i_channel
    - i_version
    argTypes:
    - ts_psip_context_t*
    - uint16_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 241
    functionName: ATSC_CleanETTByChannelVersion
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psip.c
    functionUses: 0
    functionsReached:
    - ARRAY_REMOVE
    - dvbpsi_atsc_DeleteETT
    linkageType: ''
    returnType: void
    signature: void ATSC_CleanETTByChannelVersion( ts_psip_context_t *p_ctx, uint16_t
      i_channel, uint8_t i_version )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dvbpsi_atsc_DeleteETT
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:253,1
    - Dst: ARRAY_INSERT
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - p_ctx
    - p_ett
    argTypes:
    - ts_psip_context_t*
    - dvbpsi_atsc_ett_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 261
    functionName: ATSC_InsertETTOrdered
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psip.c
    functionUses: 0
    functionsReached:
    - ARRAY_INSERT
    - dvbpsi_atsc_DeleteETT
    linkageType: ''
    returnType: void
    signature: void ATSC_InsertETTOrdered( ts_psip_context_t *p_ctx, dvbpsi_atsc_ett_t
      *p_ett )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - p_vct
    - i_channel
    - pi_program
    argTypes:
    - dvbpsi_atsc_vct_t*
    - uint16_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 276
    functionName: ATSC_TranslateVChannelToProgram
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool ATSC_TranslateVChannelToProgram( const dvbpsi_atsc_vct_t *p_vct,\n
      \                                            uint16_t i_channel, uint16_t *pi_program
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dvbpsi_decoder_present
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:284,1
    - Dst: dvbpsi_AttachDemux
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_handle
    - p_cb_pid
    argTypes:
    - dvbpsi_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 287
    functionName: ATSC_Ready_SubDecoders
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psip.c
    functionUses: 0
    functionsReached:
    - dvbpsi_AttachDemux
    - dvbpsi_decoder_present
    linkageType: ''
    returnType: bool
    signature: bool ATSC_Ready_SubDecoders( dvbpsi_t *p_handle, void *p_cb_pid )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dvbpsi_decoder_present
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:291,1
    - Dst: dvbpsi_DetachDemux
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - p_handle
    argTypes:
    - dvbpsi_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: ATSC_Detach_Dvbpsi_Decoders
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psip.c
    functionUses: 1
    functionsReached:
    - dvbpsi_DetachDemux
    - dvbpsi_decoder_present
    linkageType: ''
    returnType: void
    signature: void ATSC_Detach_Dvbpsi_Decoders( dvbpsi_t *p_handle )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - handle
    - ','
    - type
    - ','
    - table
    - ','
    - extension
    - ','
    - pid
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 299
    functionName: ATSC_ATTACH
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATSC_ATTACH( handle, type, table, extension, pid )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - handle
    - ','
    - type
    - ','
    - table
    - ','
    - extension
    - ','
    - pid
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: ATSC_ATTACH_WITH_FIXED_DECODER
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATSC_ATTACH_WITH_FIXED_DECODER( handle, type, table, extension, pid
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - i_type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 319
    functionName: ATSC_A53_get_service_type
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ATSC_A53_get_service_type( uint8_t i_type )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 332
    functionName: EIT_DEBUG_TIMESHIFT
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EIT_DEBUG_TIMESHIFT(t)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:339,1
    - Dst: atsc_a65_Decode_multiple_string
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:341,1
    - Dst: atsc_a65_GPSTimeToEpoch
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:347,1
    - Dst: EIT_DEBUG_TIMESHIFT
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:348,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:373,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:374,1
    - Dst: atsc_a65_Decode_multiple_string
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:375,1
    - Dst: atsc_a65_Decode_multiple_string
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:390,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:397,1
    - Dst: vlc_epg_event_New
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:400,1
    - Dst: grab_notempty
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:403,1
    - Dst: grab_notempty
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:404,1
    - Dst: grab_notempty
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:405,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:409,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:410,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:411,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 4
    argNames:
    - p_demux
    - p_basectx
    - p_evt
    - p_ett
    argTypes:
    - demux_t*
    - ts_psip_context_t*
    - dvbpsi_atsc_eit_event_t*
    - dvbpsi_atsc_ett_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 413
    functionName: ATSC_CreateVLCEPGEvent
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psip.c
    functionUses: 0
    functionsReached:
    - atsc_a65_Decode_multiple_string
    - EIT_DEBUG_TIMESHIFT
    - vlc_epg_event_New
    - free
    - grab_notempty
    - msg_Dbg
    - atsc_a65_GPSTimeToEpoch
    - unlikely
    - VLC_UNUSED
    linkageType: ''
    returnType: vlc_epg_event_t
    signature: "vlc_epg_event_t * ATSC_CreateVLCEPGEvent( demux_t *p_demux, ts_psip_context_t
      *p_basectx,\n                                                 const dvbpsi_atsc_eit_event_t
      *p_evt,\n                                                 const dvbpsi_atsc_ett_t
      *p_ett )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ATSC_CreateVLCEPGEvent
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:420,1
    - Dst: vlc_epg_AddEvent
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:424,1
    - Dst: vlc_epg_event_Delete
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - p_demux
    - p_basectx
    - p_event
    - p_ett
    - p_epg
    argTypes:
    - demux_t*
    - ts_psip_context_t*
    - dvbpsi_atsc_eit_event_t*
    - dvbpsi_atsc_ett_t*
    - vlc_epg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 415
    functionDepth: 2
    functionLinenumber: 415
    functionLinenumberEnd: 429
    functionName: ATSC_AddVLCEPGEvent
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psip.c
    functionUses: 0
    functionsReached:
    - vlc_epg_AddEvent
    - ATSC_CreateVLCEPGEvent
    - vlc_epg_event_Delete
    linkageType: ''
    returnType: time_t
    signature: "time_t ATSC_AddVLCEPGEvent( demux_t *p_demux, ts_psip_context_t *p_basectx,\n
      \                                  const dvbpsi_atsc_eit_event_t *p_event,\n
      \                                  const dvbpsi_atsc_ett_t *p_ett,\n                                   vlc_epg_t
      *p_epg )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:435,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:437,1
    - Dst: dvbpsi_atsc_DeleteEIT
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:438,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:444,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:449,1
    - Dst: dvbpsi_atsc_DeleteEIT
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:451,1
    - Dst: ATSC_TranslateVChannelToProgram
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:456,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:458,1
    - Dst: dvbpsi_atsc_DeleteEIT
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:459,1
    - Dst: ATSC_GetSiblingxTTPID
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:463,1
    - Dst: atsc_a65_GPSTimeToEpoch
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:467,1
    - Dst: EIT_DEBUG_TIMESHIFT
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:469,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:472,1
    - Dst: vlc_epg_New
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:477,1
    - Dst: dvbpsi_atsc_DeleteEIT
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:481,1
    - Dst: atsc_a65_handle_New
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:488,1
    - Dst: ATSC_ETTFindByETMId
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:498,1
    - Dst: toETMId
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:499,1
    - Dst: ATSC_AddVLCEPGEvent
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:503,1
    - Dst: vlc_epg_SetCurrent
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:513,1
    - Dst: ts_pid_Get
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:514,1
    - Dst: ts_pat_Get_pmt
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:515,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:524,1
    - Dst: vlc_epg_Delete
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:527,1
    - Dst: ATSC_EITInsert
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:528,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 2
    argNames:
    - p_pid
    - p_eit
    argTypes:
    - void*
    - dvbpsi_atsc_eit_t*
    assertStmts:
    - condition: (i_table_type)
      pos:
        line_end: 471
        line_start: 471
        source_file: /src/vlc/modules/demux/mpeg/ts_psip.c
    - condition: ( p_eit_pid->type == TYPE_PSIP )
      pos:
        line_end: 436
        line_start: 436
        source_file: /src/vlc/modules/demux/mpeg/ts_psip.c
    constantsTouched: []
    func_position:
      end: 529
      start: 432
    functionDepth: 3
    functionLinenumber: 432
    functionLinenumberEnd: 529
    functionName: ATSC_EIT_Callback
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psip.c
    functionUses: 0
    functionsReached:
    - ATSC_TranslateVChannelToProgram
    - assert
    - vlc_epg_Delete
    - dvbpsi_atsc_DeleteEIT
    - atsc_a65_handle_New
    - atsc_a65_GPSTimeToEpoch
    - ts_pid_Get
    - ATSC_EITInsert
    - ATSC_GetSiblingxTTPID
    - ATSC_AddVLCEPGEvent
    - GetPID
    - vlc_epg_SetCurrent
    - msg_Warn
    - EIT_DEBUG_TIMESHIFT
    - ATSC_ETTFindByETMId
    - vlc_epg_New
    - es_out_Control
    - toETMId
    - ts_pat_Get_pmt
    - unlikely
    linkageType: ''
    returnType: void
    signature: void ATSC_EIT_Callback( void *p_pid, dvbpsi_atsc_eit_t* p_eit )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:534,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:536,1
    - Dst: dvbpsi_atsc_DeleteETT
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:537,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:543,1
    - Dst: fromETMId
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:551,1
    - Dst: ATSC_TranslateVChannelToProgram
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:554,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:556,1
    - Dst: dvbpsi_atsc_DeleteETT
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:557,1
    - Dst: ATSC_ETTFindByETMId
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:562,1
    - Dst: ts_pid_Get
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:564,1
    - Dst: ATSC_GetSiblingxTTPID
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:565,1
    - Dst: ATSC_EventFindByETMId
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:569,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:573,1
    - Dst: ATSC_CreateVLCEPGEvent
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:575,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:576,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:578,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:581,1
    - Dst: vlc_epg_event_Delete
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:583,1
    - Dst: ATSC_InsertETTOrdered
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:587,1
    - Dst: ATSC_CleanETTByChannelVersion
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:588,1
    - Dst: dvbpsi_atsc_DeleteETT
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:593,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - p_pid
    - p_ett
    argTypes:
    - void*
    - dvbpsi_atsc_ett_t*
    assertStmts:
    - condition: ( p_ett_pid->type == TYPE_PSIP )
      pos:
        line_end: 535
        line_start: 535
        source_file: /src/vlc/modules/demux/mpeg/ts_psip.c
    constantsTouched: []
    func_position:
      end: 594
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 594
    functionName: ATSC_ETT_Callback
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psip.c
    functionUses: 0
    functionsReached:
    - ATSC_CleanETTByChannelVersion
    - ATSC_GetSiblingxTTPID
    - assert
    - ATSC_TranslateVChannelToProgram
    - ATSC_CreateVLCEPGEvent
    - es_out_Control
    - GetPID
    - ATSC_EventFindByETMId
    - ATSC_InsertETTOrdered
    - fromETMId
    - ATSC_ETTFindByETMId
    - msg_Dbg
    - likely
    - vlc_epg_event_Delete
    - msg_Warn
    - unlikely
    - ts_pid_Get
    - dvbpsi_atsc_DeleteETT
    linkageType: ''
    returnType: void
    signature: void ATSC_ETT_Callback( void *p_pid, dvbpsi_atsc_ett_t *p_ett )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:599,1
    - Dst: DVBPlague_ETT_Decode
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:602,1
    - Dst: ATSC_ETT_Callback
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:604,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - p_handle
    - p_section
    - p_base_pid
    argTypes:
    - dvbpsi_t*
    - dvbpsi_psi_section_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 596
    functionDepth: 3
    functionLinenumber: 596
    functionLinenumberEnd: 606
    functionName: ATSC_ETT_RawCallback
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psip.c
    functionUses: 0
    functionsReached:
    - ATSC_ETT_Callback
    - DVBPlague_ETT_Decode
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void ATSC_ETT_RawCallback( dvbpsi_t *p_handle, const dvbpsi_psi_section_t*
      p_section,\n                                  void *p_base_pid )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:611,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:613,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:614,1
    - Dst: dvbpsi_atsc_DeleteVCT
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:615,1
    - Dst: atsc_a65_handle_New
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:621,1
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:627,1
    - Dst: dvbpsi_ExtendedChannelNameDr
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:640,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:643,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:644,1
    - Dst: atsc_a65_Decode_multiple_string
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:645,1
    - Dst: atsc_a65_Decode_simple_UTF16_string
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:658,1
    - Dst: vlc_meta_SetTitle
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:662,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:663,1
    - Dst: ATSC_A53_get_service_type
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:666,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:668,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:670,1
    - Dst: vlc_meta_Delete
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:673,1
    - Dst: dvbpsi_atsc_DeleteVCT
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:679,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 2
    argNames:
    - p_cb_basepid
    - p_vct
    argTypes:
    - void*
    - dvbpsi_atsc_vct_t*
    assertStmts:
    - condition: ( p_base_pid->i_pid == ATSC_BASE_PID )
      pos:
        line_end: 613
        line_start: 613
        source_file: /src/vlc/modules/demux/mpeg/ts_psip.c
    - condition: ( p_base_pid->type == TYPE_PSIP )
      pos:
        line_end: 612
        line_start: 612
        source_file: /src/vlc/modules/demux/mpeg/ts_psip.c
    constantsTouched: []
    func_position:
      end: 681
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 681
    functionName: ATSC_VCT_Callback
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psip.c
    functionUses: 0
    functionsReached:
    - atsc_a65_Decode_multiple_string
    - vlc_meta_Delete
    - assert
    - vlc_meta_SetTitle
    - es_out_Control
    - vlc_meta_New
    - ATSC_A53_get_service_type
    - dvbpsi_atsc_DeleteVCT
    - free
    - dvbpsi_ExtendedChannelNameDr
    - atsc_a65_handle_New
    - unlikely
    - atsc_a65_Decode_simple_UTF16_string
    - vlc_meta_SetExtra
    linkageType: ''
    returnType: void
    signature: void ATSC_VCT_Callback( void *p_cb_basepid, dvbpsi_atsc_vct_t* p_vct
      )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:686,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:688,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:689,1
    - Dst: dvbpsi_atsc_DeleteMGT
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:690,1
    - Dst: dvbpsi_atsc_DeleteMGT
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:700,1
    - Dst: dvbpsi_atsc_DeleteVCT
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:710,1
    - Dst: PIDRelease
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:717,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:718,1
    - Dst: ARRAY_RESET
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:720,1
    - Dst: dvbpsi_demuxGetSubDec
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:724,1
    - Dst: dvbpsi_DetachDemuxSubDecoder
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:727,1
    - Dst: dvbpsi_DeleteDemuxSubDecoder
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:728,1
    - Dst: dvbpsi_atsc_DeleteMGT
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:733,1
    - Dst: ATSC_ATTACH
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:746,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:747,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:748,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:755,1
    - Dst: PIDSetup
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:756,1
    - Dst: SetPIDFilter
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:758,1
    - Dst: ATSC_Ready_SubDecoders
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:760,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:761,1
    - Dst: ARRAY_APPEND
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:762,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:770,1
    - Dst: PIDSetup
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:771,1
    - Dst: SetPIDFilter
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:773,1
    - Dst: ATSC_Ready_SubDecoders
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:775,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:776,1
    - Dst: ARRAY_APPEND
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:777,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:780,1
    - Dst: ts_dvbpsi_AttachRawSubDecoder
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:785,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:788,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 58
    argCount: 2
    argNames:
    - p_cb_basepid
    - p_mgt
    argTypes:
    - void*
    - dvbpsi_atsc_mgt_t*
    assertStmts:
    - condition: ( p_base_pid->type == TYPE_PSIP )
      pos:
        line_end: 687
        line_start: 687
        source_file: /src/vlc/modules/demux/mpeg/ts_psip.c
    - condition: ( p_mgtpsip->eit.p_elems[i]->type == TYPE_FREE )
      pos:
        line_end: 717
        line_start: 717
        source_file: /src/vlc/modules/demux/mpeg/ts_psip.c
    - condition: ( p_base_pid->i_pid == ATSC_BASE_PID )
      pos:
        line_end: 688
        line_start: 688
        source_file: /src/vlc/modules/demux/mpeg/ts_psip.c
    constantsTouched: []
    func_position:
      end: 790
      start: 683
    functionDepth: 5
    functionLinenumber: 683
    functionLinenumberEnd: 790
    functionName: ATSC_MGT_Callback
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psip.c
    functionUses: 0
    functionsReached:
    - dvbpsi_DeleteDemuxSubDecoder
    - assert
    - dvbpsi_atsc_DeleteMGT
    - PIDRelease
    - ARRAY_RESET
    - dvbpsi_DetachDemuxSubDecoder
    - GetPID
    - ARRAY_APPEND
    - dvbpsi_atsc_DeleteVCT
    - SetPIDFilter
    - msg_Dbg
    - ATSC_ATTACH
    - ATSC_Ready_SubDecoders
    - PIDSetup
    - unlikely
    - ts_dvbpsi_AttachRawSubDecoder
    - dvbpsi_demuxGetSubDec
    linkageType: ''
    returnType: void
    signature: void ATSC_MGT_Callback( void *p_cb_basepid, dvbpsi_atsc_mgt_t* p_mgt
      )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:795,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:797,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:798,1
    - Dst: dvbpsi_atsc_DeleteSTT
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:799,1
    - Dst: ATSC_ATTACH
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:809,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:811,1
    - Dst: ATSC_Detach_Dvbpsi_Decoders
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:812,1
    - Dst: dvbpsi_atsc_DeleteSTT
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:813,1
    - Dst: dvbpsi_atsc_DeleteSTT
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:819,1
    - Dst: atsc_a65_GPSTimeToEpoch
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:824,1
    - Dst: EIT_DEBUG_TIMESHIFT
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:826,1
    - Dst: time
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:828,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:830,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - p_cb_basepid
    - p_stt
    argTypes:
    - void*
    - dvbpsi_atsc_stt_t*
    assertStmts:
    - condition: ( p_base_pid->type == TYPE_PSIP )
      pos:
        line_end: 796
        line_start: 796
        source_file: /src/vlc/modules/demux/mpeg/ts_psip.c
    - condition: ( p_base_pid->i_pid == ATSC_BASE_PID )
      pos:
        line_end: 797
        line_start: 797
        source_file: /src/vlc/modules/demux/mpeg/ts_psip.c
    constantsTouched: []
    func_position:
      end: 834
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 834
    functionName: ATSC_STT_Callback
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psip.c
    functionUses: 0
    functionsReached:
    - assert
    - es_out_Control
    - EIT_DEBUG_TIMESHIFT
    - msg_Err
    - time
    - ATSC_ATTACH
    - dvbpsi_atsc_DeleteSTT
    - ATSC_Detach_Dvbpsi_Decoders
    - atsc_a65_GPSTimeToEpoch
    - unlikely
    linkageType: ''
    returnType: void
    signature: void ATSC_STT_Callback( void *p_cb_basepid, dvbpsi_atsc_stt_t* p_stt
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:839,1
    - Dst: DVBPlague_STT_Decode
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:842,1
    - Dst: ATSC_STT_Callback
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:844,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - p_handle
    - p_section
    - p_base_pid
    argTypes:
    - dvbpsi_t*
    - dvbpsi_psi_section_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 846
    functionName: ATSC_STT_RawCallback
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psip.c
    functionUses: 0
    functionsReached:
    - DVBPlague_STT_Decode
    - ATSC_STT_Callback
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void ATSC_STT_RawCallback( dvbpsi_t *p_handle, const dvbpsi_psi_section_t*
      p_section,\n                                  void *p_base_pid )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ATSC_ATTACH_WITH_FIXED_DECODER
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:850,1
    - Dst: ATSC_Detach_Dvbpsi_Decoders
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p_ctx
    - p_base_pid
    argTypes:
    - ts_psip_context_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 856
    functionName: ATSC_Attach_Dvbpsi_Base_Decoders
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psip.c
    functionUses: 1
    functionsReached:
    - ATSC_Detach_Dvbpsi_Decoders
    - ATSC_ATTACH_WITH_FIXED_DECODER
    linkageType: ''
    returnType: bool
    signature: bool ATSC_Attach_Dvbpsi_Base_Decoders( ts_psip_context_t *p_ctx, void
      *p_base_pid )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:863,1
    - Dst: ts_pid_Get
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:864,1
    - Dst: ATSC_ATTACH_WITH_FIXED_DECODER
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:871,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:872,1
    - Dst: ATSC_ATTACH
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:876,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ts_psip.c:877,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - p_dvbpsi
    - i_table_id
    - i_extension
    - p_cb_pid
    argTypes:
    - dvbpsi_t*
    - uint8_t
    - uint16_t
    - void*
    assertStmts:
    - condition: ( ((ts_pid_t *) p_cb_pid)->type == TYPE_PSIP )
      pos:
        line_end: 862
        line_start: 862
        source_file: /src/vlc/modules/demux/mpeg/ts_psip.c
    constantsTouched: []
    func_position:
      end: 883
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 883
    functionName: ATSC_NewTable_Callback
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psip.c
    functionUses: 0
    functionsReached:
    - assert
    - ATSC_ATTACH_WITH_FIXED_DECODER
    - ATSC_ATTACH
    - msg_Warn
    - ts_pid_Get
    linkageType: ''
    returnType: void
    signature: "void ATSC_NewTable_Callback( dvbpsi_t *p_dvbpsi, uint8_t i_table_id,\n
      \                                   uint16_t i_extension, void *p_cb_pid )"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: PKTHeaderAndAFSize
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:55,1
    - Dst: GetPCR
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:58,1
    - Dst: ts_pes_header_init
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:67,1
    - Dst: ParsePESHeader
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:68,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:85,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:90,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:108,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:115,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:119,1
    - Dst: FROM_SCALE
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:129,1
    - Dst: FROM_SCALE
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:135,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 54
    argCount: 3
    argNames:
    - p_demux
    - pid
    - p_pkt
    argTypes:
    - demux_t*
    - ts_pid_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 139
    functionName: ProbePES
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_hotfixes.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - PKTHeaderAndAFSize
    - ts_pes_header_init
    - FROM_SCALE
    - GetPCR
    - memcmp
    - ParsePESHeader
    linkageType: ''
    returnType: void
    signature: void ProbePES( demux_t *p_demux, ts_pid_t *pid, const block_t *p_pkt
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts_psi_Packet_Push
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:144,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_opaque
    - p_block
    argTypes:
    - void*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: BuildPATCallback
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_hotfixes.c
    functionUses: 0
    functionsReached:
    - block_Release
    - ts_psi_Packet_Push
    linkageType: ''
    returnType: void
    signature: void BuildPATCallback( void *p_opaque, block_t *p_block )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:151,1
    - Dst: ts_psi_Packet_Push
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:154,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_opaque
    - p_block
    argTypes:
    - void*
    - block_t*
    assertStmts:
    - condition: (program_pid->type == TYPE_PMT)
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/vlc/modules/demux/mpeg/ts_hotfixes.c
    constantsTouched: []
    func_position:
      end: 159
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 159
    functionName: BuildPMTCallback
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_hotfixes.c
    functionUses: 0
    functionsReached:
    - ts_psi_Packet_Push
    - block_Release
    - assert
    linkageType: ''
    returnType: void
    signature: void BuildPMTCallback( void *p_opaque, block_t *p_block )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:169,1
    - Dst: SEEN
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:170,1
    - Dst: SEEN
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:174,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:177,1
    - Dst: ts_pid_Next
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:184,1
    - Dst: SEEN
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:186,1
    - Dst: dvbpsi_new
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:233,1
    - Dst: BuildPAT
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:237,1
    - Dst: dvbpsi_delete
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:246,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:247,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:260,1
    - Dst: calloc
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:261,1
    - Dst: SEEN
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:269,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:273,1
    - Dst: FillPMTESParams
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:277,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:279,1
    - Dst: BuildPMT
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:293,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:293,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:304,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:306,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:307,1
    - Dst: dvbpsi_delete
      Src: /src/vlc/modules/demux/mpeg/ts_hotfixes.c:309,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 61
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 161
    functionDepth: 6
    functionLinenumber: 161
    functionLinenumberEnd: 310
    functionName: MissingPATPMTFixup
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_hotfixes.c
    functionUses: 0
    functionsReached:
    - FillPMTESParams
    - es_format_Clean
    - ts_pid_Next
    - GetPID
    - BuildPAT
    - dvbpsi_delete
    - msg_Err
    - dvbpsi_new
    - calloc
    - free
    - VLC_OBJECT
    - es_format_Init
    - BuildPMT
    - SEEN
    linkageType: ''
    returnType: void
    signature: void MissingPATPMTFixup( demux_t *p_demux )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mpeg/es.c:196,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mpeg/es.c:199,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mpeg/es.c:201,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mpeg/es.c:203,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mpeg/es.c:204,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mpeg/es.c:209,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mpeg/es.c:210,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mpeg/es.c:217,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mpeg/es.c:230,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mpeg/es.c:232,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/es.c:234,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mpeg/es.c:236,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mpeg/es.c:243,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mpeg/es.c:245,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mpeg/es.c:246,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mpeg/es.c:247,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mpeg/es.c:251,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mpeg/es.c:253,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mpeg/es.c:256,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mpeg/es.c:264,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - p_buf
    - i_buf
    - xing
    argTypes:
    - uint8_t*
    - size_t
    - struct xing_info_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 267
    functionName: ParseXing
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - GetWBE
    - memcpy
    - GetDWBE
    linkageType: ''
    returnType: int
    signature: int ParseXing( const uint8_t *p_buf, size_t i_buf, struct xing_info_s
      *xing )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mpeg/es.c:275,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/demux/mpeg/es.c:289,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 6
    argNames:
    - mpgah
    - xing
    - i_seekablesize
    - f_pos
    - pi_time
    - pi_offset
    argTypes:
    - struct mpga_frameheader_s*
    - struct xing_info_s*
    - uint64_t
    - double
    - vlc_tick_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 293
    functionName: MpgaGetCBRSeekpoint
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - vlc_tick_from_samples
    linkageType: ''
    returnType: int
    signature: "int MpgaGetCBRSeekpoint( const struct mpga_frameheader_s *mpgah,\n
      \                               const struct xing_info_s *xing,\n                                uint64_t
      i_seekablesize,\n                                double f_pos, vlc_tick_t *pi_time,
      uint64_t *pi_offset )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/demux/mpeg/es.c:304,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/demux/mpeg/es.c:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - mpgah
    - xing
    - pos
    - pi_time
    - pi_offset
    argTypes:
    - struct mpga_frameheader_s*
    - struct xing_info_s*
    - double
    - vlc_tick_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 312
    functionName: SeekByPosUsingXingTOC
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached:
    - vlc_tick_from_samples
    - VLC_CLIP
    linkageType: ''
    returnType: int
    signature: "int SeekByPosUsingXingTOC( const struct mpga_frameheader_s *mpgah,\n
      \                                 const struct xing_info_s *xing,double pos,\n
      \                                 vlc_tick_t *pi_time, uint64_t *pi_offset )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: samples_from_vlc_tick
      Src: /src/vlc/modules/demux/mpeg/es.c:322,1
    - Dst: SeekByPosUsingXingTOC
      Src: /src/vlc/modules/demux/mpeg/es.c:325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - mpgah
    - xing
    - pi_time
    - pi_offset
    argTypes:
    - struct mpga_frameheader_s*
    - struct xing_info_s*
    - vlc_tick_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 327
    functionName: SeekByTimeUsingXingTOC
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached:
    - samples_from_vlc_tick
    - SeekByPosUsingXingTOC
    linkageType: ''
    returnType: int
    signature: "int SeekByTimeUsingXingTOC( const struct mpga_frameheader_s *mpgah,\n
      \                                  const struct xing_info_s *xing,\n                                   vlc_tick_t
      *pi_time, uint64_t *pi_offset )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MpgaGetCBRSeekpoint
      Src: /src/vlc/modules/demux/mpeg/es.c:336,1
    - Dst: SeekByTimeUsingXingTOC
      Src: /src/vlc/modules/demux/mpeg/es.c:344,1
    - Dst: SeekByPosUsingXingTOC
      Src: /src/vlc/modules/demux/mpeg/es.c:347,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 6
    argNames:
    - mpgah
    - xing
    - i_seekablesize
    - f_pos
    - pi_time
    - pi_offset
    argTypes:
    - struct mpga_frameheader_s*
    - struct xing_info_s*
    - uint64_t
    - double
    - vlc_tick_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 329
    functionDepth: 3
    functionLinenumber: 329
    functionLinenumberEnd: 348
    functionName: MpgaSeek
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached:
    - MpgaGetCBRSeekpoint
    - SeekByPosUsingXingTOC
    - SeekByTimeUsingXingTOC
    linkageType: ''
    returnType: int
    signature: "int MpgaSeek( const struct mpga_frameheader_s *mpgah,\n                     const
      struct xing_info_s *xing,\n                     uint64_t i_seekablesize, double
      f_pos,\n                     vlc_tick_t *pi_time, uint64_t *pi_offset )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEMUX_INIT_COMMON
      Src: /src/vlc/modules/demux/mpeg/es.c:452,1
    - Dst: memset
      Src: /src/vlc/modules/demux/mpeg/es.c:453,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/demux/mpeg/es.c:462,1
    - Dst: TAB_INIT
      Src: /src/vlc/modules/demux/mpeg/es.c:468,1
    - Dst: TAB_INIT
      Src: /src/vlc/modules/demux/mpeg/es.c:469,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/mpeg/es.c:471,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/es.c:473,1
    - Dst: demux_sys_t*::codec::pf_init
      Src: /src/vlc/modules/demux/mpeg/es.c:477,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/es.c:479,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/mpeg/es.c:483,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/es.c:485,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/es.c:489,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/mpeg/es.c:492,1
    - Dst: demux_PacketizerNew
      Src: /src/vlc/modules/demux/mpeg/es.c:494,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mpeg/es.c:494,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/es.c:497,1
    - Dst: replay_gain_Merge
      Src: /src/vlc/modules/demux/mpeg/es.c:502,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/mpeg/es.c:509,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mpeg/es.c:510,1
    - Dst: _
      Src: /src/vlc/modules/demux/mpeg/es.c:510,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mpeg/es.c:512,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/mpeg/es.c:513,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/mpeg/es.c:514,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/es.c:515,1
    - Dst: Parse
      Src: /src/vlc/modules/demux/mpeg/es.c:522,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 56
    argCount: 4
    argNames:
    - p_demux
    - i_cat
    - p_codec
    - i_bs_offset
    argTypes:
    - demux_t*
    - int
    - codec_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 529
    functionName: OpenCommon
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 6
    functionsReached:
    - strdup
    - demux_sys_t*::codec::pf_init
    - memset
    - TAB_INIT
    - demux_PacketizerNew
    - es_format_Clean
    - Parse
    - _
    - DEMUX_INIT_COMMON
    - free
    - msg_Dbg
    - replay_gain_Merge
    - VLC_OBJECT
    - es_format_Init
    - vlc_stream_Seek
    - es_out_Add
    - var_InheritFloat
    linkageType: ''
    returnType: int
    signature: "int OpenCommon( demux_t *p_demux,\n                       int i_cat,
      const codec_t *p_codec, uint64_t i_bs_offset )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pf_probe
      Src: /src/vlc/modules/demux/mpeg/es.c:536,1
    - Dst: OpenCommon
      Src: /src/vlc/modules/demux/mpeg/es.c:537,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 540
    functionName: OpenAudio
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 1
    functionsReached:
    - OpenCommon
    - pf_probe
    linkageType: ''
    returnType: int
    signature: int OpenAudio( vlc_object_t *p_this )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: demux_IsPathExtension
      Src: /src/vlc/modules/demux/mpeg/es.c:546,1
    - Dst: demux_IsPathExtension
      Src: /src/vlc/modules/demux/mpeg/es.c:547,1
    - Dst: demux_IsForced
      Src: /src/vlc/modules/demux/mpeg/es.c:548,1
    - Dst: demux_IsForced
      Src: /src/vlc/modules/demux/mpeg/es.c:549,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mpeg/es.c:556,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/es.c:562,1
    - Dst: OpenCommon
      Src: /src/vlc/modules/demux/mpeg/es.c:565,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 566
    functionName: OpenVideo
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    - demux_IsForced
    - demux_IsPathExtension
    - msg_Warn
    - OpenCommon
    linkageType: ''
    returnType: int
    signature: int OpenVideo( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mpeg/es.c:574,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - p_demux
    - i_time
    argTypes:
    - demux_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 580
    functionName: IncreaseChapter
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Tell
    linkageType: ''
    returnType: void
    signature: void IncreaseChapter( demux_t *p_demux, vlc_tick_t i_time )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/demux/mpeg/es.c:603,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mpeg/es.c:605,1
    - Dst: sprintf
      Src: /src/vlc/modules/demux/mpeg/es.c:612,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/demux/mpeg/es.c:613,1
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/demux/mpeg/es.c:616,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/mpeg/es.c:620,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/demux/mpeg/es.c:622,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/demux/mpeg/es.c:624,1
    - Dst: es_out_SetMeta
      Src: /src/vlc/modules/demux/mpeg/es.c:625,1
    - Dst: vlc_meta_Delete
      Src: /src/vlc/modules/demux/mpeg/es.c:626,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/es.c:628,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 631
    functionName: SyltEmitMeta
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached:
    - MS_FROM_VLC_TICK
    - vlc_meta_Delete
    - sprintf
    - strlen
    - vlc_meta_New
    - es_out_SetMeta
    - free
    - snprintf
    - malloc
    - vlc_meta_SetExtra
    linkageType: ''
    returnType: void
    signature: void SyltEmitMeta( demux_t *p_demux )
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mpeg/es.c:646,1
    - Dst: SyltEmitMeta
      Src: /src/vlc/modules/demux/mpeg/es.c:647,1
    - Dst: Parse
      Src: /src/vlc/modules/demux/mpeg/es.c:653,1
    - Dst: IncreaseChapter
      Src: /src/vlc/modules/demux/mpeg/es.c:656,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/demux/mpeg/es.c:669,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/mpeg/es.c:685,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/mpeg/es.c:703,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/mpeg/es.c:704,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/es.c:707,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/demux/mpeg/es.c:714,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/mpeg/es.c:715,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/mpeg/es.c:722,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mpeg/es.c:729,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/mpeg/es.c:730,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/es.c:732,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 52
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 638
    functionDepth: 2
    functionLinenumber: 638
    functionLinenumberEnd: 737
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 26
    functionsReached:
    - block_Release
    - Parse
    - IncreaseChapter
    - es_out_Send
    - VLC_TICK_FROM_SEC
    - strlen
    - VLC_TICK_FROM_MS
    - memcpy
    - SyltEmitMeta
    - block_Alloc
    - likely
    - unlikely
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/demux/mpeg/es.c:748,1
    - Dst: vlc_seekpoint_Delete
      Src: /src/vlc/modules/demux/mpeg/es.c:750,1
    - Dst: TAB_CLEAN
      Src: /src/vlc/modules/demux/mpeg/es.c:751,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/es.c:756,1
    - Dst: TAB_CLEAN
      Src: /src/vlc/modules/demux/mpeg/es.c:757,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/es.c:758,1
    - Dst: TAB_CLEAN
      Src: /src/vlc/modules/demux/mpeg/es.c:760,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/es.c:762,1
    - Dst: vlc_meta_Delete
      Src: /src/vlc/modules/demux/mpeg/es.c:764,1
    - Dst: demux_PacketizerDestroy
      Src: /src/vlc/modules/demux/mpeg/es.c:765,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/es.c:766,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 767
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 128
    functionsReached:
    - demux_PacketizerDestroy
    - vlc_meta_Delete
    - vlc_seekpoint_Delete
    - block_ChainRelease
    - TAB_CLEAN
    - free
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t * p_this )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/demux/mpeg/es.c:779,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - p_sys
    - i_time
    argTypes:
    - demux_sys_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 799
    functionName: PostSeekCleanup
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached:
    - block_ChainRelease
    linkageType: ''
    returnType: void
    signature: void PostSeekCleanup( demux_sys_t *p_sys, vlc_tick_t i_time )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/mpeg/es.c:804,1
    - Dst: PostSeekCleanup
      Src: /src/vlc/modules/demux/mpeg/es.c:807,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - p_demux
    - i_time
    - i_pos
    argTypes:
    - demux_t*
    - vlc_tick_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 801
    functionDepth: 1
    functionLinenumber: 801
    functionLinenumberEnd: 809
    functionName: MovetoTimePos
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Seek
    - PostSeekCleanup
    linkageType: ''
    returnType: int
    signature: int MovetoTimePos( demux_t *p_demux, vlc_tick_t i_time, uint64_t i_pos
      )
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/es.c:822,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/es.c:833,1
    - Dst: va_copy
      Src: /src/vlc/modules/demux/mpeg/es.c:847,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/mpeg/es.c:848,1
    - Dst: va_end
      Src: /src/vlc/modules/demux/mpeg/es.c:850,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/demux/mpeg/es.c:857,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mpeg/es.c:860,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/demux/mpeg/es.c:865,1
    - Dst: va_copy
      Src: /src/vlc/modules/demux/mpeg/es.c:885,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/es.c:888,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/es.c:895,1
    - Dst: va_end
      Src: /src/vlc/modules/demux/mpeg/es.c:898,1
    - Dst: SeekByMlltTable
      Src: /src/vlc/modules/demux/mpeg/es.c:901,1
    - Dst: MovetoTimePos
      Src: /src/vlc/modules/demux/mpeg/es.c:902,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/demux/mpeg/es.c:907,1
    - Dst: MpgaSeek
      Src: /src/vlc/modules/demux/mpeg/es.c:913,1
    - Dst: MovetoTimePos
      Src: /src/vlc/modules/demux/mpeg/es.c:916,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/mpeg/es.c:922,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mpeg/es.c:929,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mpeg/es.c:931,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/demux/mpeg/es.c:934,1
    - Dst: PostSeekCleanup
      Src: /src/vlc/modules/demux/mpeg/es.c:937,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mpeg/es.c:948,1
    - Dst: vlc_input_title_New
      Src: /src/vlc/modules/demux/mpeg/es.c:951,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/es.c:954,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mpeg/es.c:957,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/es.c:960,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/es.c:961,1
    - Dst: vlc_seekpoint_Duplicate
      Src: /src/vlc/modules/demux/mpeg/es.c:966,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/es.c:991,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/es.c:995,1
    - Dst: demux_Control
      Src: /src/vlc/modules/demux/mpeg/es.c:1000,1
    - Dst: MovetoTimePos
      Src: /src/vlc/modules/demux/mpeg/es.c:1001,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/es.c:1009,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/mpeg/es.c:1016,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 124
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 814
    functionDepth: 4
    functionLinenumber: 814
    functionLinenumberEnd: 1018
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 178
    functionsReached:
    - vlc_seekpoint_Duplicate
    - vlc_alloc
    - vlc_input_title_New
    - vlc_tick_from_samples
    - vlc_stream_GetSize
    - VLC_TICK_FROM_SEC
    - va_copy
    - likely
    - vlc_stream_Tell
    - va_end
    - MovetoTimePos
    - demux_vaControlHelper
    - demux_Control
    - PostSeekCleanup
    - free
    - va_arg
    - SeekByMlltTable
    - MpgaSeek
    - malloc
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mpeg/es.c:1034,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/mpeg/es.c:1035,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/mpeg/es.c:1039,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/mpeg/es.c:1048,1
    - Dst: block_CopyProperties
      Src: /src/vlc/modules/demux/mpeg/es.c:1051,1
    - Dst: swab
      Src: /src/vlc/modules/demux/mpeg/es.c:1052,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/es.c:1054,1
    - Dst: decoder_t*::pf_packetize
      Src: /src/vlc/modules/demux/mpeg/es.c:1067,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/mpeg/es.c:1075,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/demux/mpeg/es.c:1076,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/mpeg/es.c:1089,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/mpeg/es.c:1095,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/demux/mpeg/es.c:1101,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/es.c:1108,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 2
    argNames:
    - p_demux
    - pp_output
    argTypes:
    - demux_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1024
    functionDepth: 1
    functionLinenumber: 1024
    functionLinenumberEnd: 1112
    functionName: Parse
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 119
    functionsReached:
    - decoder_t*::pf_packetize
    - block_Release
    - es_format_Clean
    - block_CopyProperties
    - block_ChainLastAppend
    - block_Alloc
    - vlc_stream_Read
    - msg_Dbg
    - es_out_Add
    - vlc_stream_Block
    - swab
    - vlc_stream_Tell
    - es_format_Copy
    - es_format_Init
    linkageType: ''
    returnType: bool
    signature: bool Parse( demux_t *p_demux, block_t **pp_output )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/mpeg/es.c:1119,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mpeg/es.c:1121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - i_format
    - p_head
    argTypes:
    - int
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1125
    functionName: GenericFormatCheck
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached:
    - GetDWLE
    - GetWLE
    linkageType: ''
    returnType: int
    signature: int GenericFormatCheck( int i_format, const uint8_t *p_head )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mpeg/es.c:1142,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mpeg/es.c:1145,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mpeg/es.c:1145,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mpeg/es.c:1150,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mpeg/es.c:1152,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mpeg/es.c:1157,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mpeg/es.c:1162,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mpeg/es.c:1167,1
    - Dst: GetWLE
      Src: /src/vlc/modules/demux/mpeg/es.c:1169,1
    - Dst: pf_format_check
      Src: /src/vlc/modules/demux/mpeg/es.c:1180,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mpeg/es.c:1184,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/demux/mpeg/es.c:1186,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mpeg/es.c:1191,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 3
    argNames:
    - p_demux
    - pi_skip
    - rgi_twocc
    argTypes:
    - demux_t*
    - uint64_t*
    - uint16_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1130
    functionDepth: 1
    functionLinenumber: 1130
    functionLinenumberEnd: 1196
    functionName: WavSkipHeader
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    - GetWLE
    - pf_format_check
    - GetDWLE
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int WavSkipHeader( demux_t *p_demux, uint64_t *pi_skip,\n                          const
      uint16_t rgi_twocc[],\n                          int (*pf_format_check)( int,
      const uint8_t * ) )"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: demux_IsForced
      Src: /src/vlc/modules/demux/mpeg/es.c:1217,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mpeg/es.c:1220,1
    - Dst: WavSkipHeader
      Src: /src/vlc/modules/demux/mpeg/es.c:1222,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mpeg/es.c:1234,1
    - Dst: pf_check
      Src: /src/vlc/modules/demux/mpeg/es.c:1249,1
    - Dst: pf_check
      Src: /src/vlc/modules/demux/mpeg/es.c:1272,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 44
    argCount: 8
    argNames:
    - p_demux
    - pi_offset
    - ppsz_name
    - i_check_size
    - i_base_probing
    - i_wav_extra_probing
    - b_use_word
    - pi_twocc
    argTypes:
    - demux_t*
    - uint64_t*
    - char*[]
    - unsigned
    - unsigned
    - unsigned
    - bool
    - uint16_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1198
    functionDepth: 2
    functionLinenumber: 1198
    functionLinenumberEnd: 1290
    functionName: GenericProbe
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    - WavSkipHeader
    - demux_IsForced
    - pf_check
    - vlc_stream_Tell
    linkageType: ''
    returnType: int
    signature: "int GenericProbe( demux_t *p_demux, uint64_t *pi_offset,\n                         const
      char * ppsz_name[],\n                         int (*pf_check)( const uint8_t
      *, unsigned * ),\n                         unsigned i_check_size,\n                         unsigned
      i_base_probing,\n                         unsigned i_wav_extra_probing,\n                         bool
      b_use_word,\n                         const uint16_t pi_twocc[],\n                         int
      (*pf_format_check)( int, const uint8_t * ) )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mpeg/es.c:1297,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - p_peek
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1295
    functionDepth: 1
    functionLinenumber: 1295
    functionLinenumberEnd: 1309
    functionName: MpgaCheckSync
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached:
    - GetDWBE
    linkageType: ''
    returnType: int
    signature: int MpgaCheckSync( const uint8_t *p_peek )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1311
    functionDepth: 0
    functionLinenumber: 1311
    functionLinenumberEnd: 1312
    functionName: MPGA_VERSION
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MPGA_VERSION( h )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1312
    functionDepth: 0
    functionLinenumber: 1312
    functionLinenumberEnd: 1313
    functionName: MPGA_MODE
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MPGA_MODE(h)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: demux_IsPathExtension
      Src: /src/vlc/modules/demux/mpeg/es.c:1325,1
    - Dst: demux_IsForced
      Src: /src/vlc/modules/demux/mpeg/es.c:1326,1
    - Dst: demux_IsForced
      Src: /src/vlc/modules/demux/mpeg/es.c:1327,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mpeg/es.c:1329,1
    - Dst: WavSkipHeader
      Src: /src/vlc/modules/demux/mpeg/es.c:1331,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mpeg/es.c:1339,1
    - Dst: MpgaCheckSync
      Src: /src/vlc/modules/demux/mpeg/es.c:1343,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mpeg/es.c:1350,1
    - Dst: MpgaCheckSync
      Src: /src/vlc/modules/demux/mpeg/es.c:1353,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 2
    argNames:
    - p_demux
    - pi_offset
    argTypes:
    - demux_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1314
    functionDepth: 2
    functionLinenumber: 1314
    functionLinenumberEnd: 1365
    functionName: MpgaProbe
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    - WavSkipHeader
    - demux_IsForced
    - demux_IsPathExtension
    - vlc_stream_Tell
    - MpgaCheckSync
    linkageType: ''
    returnType: int
    signature: int MpgaProbe( demux_t *p_demux, uint64_t *pi_offset )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bs_init
      Src: /src/vlc/modules/demux/mpeg/es.c:1379,1
    - Dst: bs_eof
      Src: /src/vlc/modules/demux/mpeg/es.c:1382,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mpeg/es.c:1384,1
    - Dst: bs_read
      Src: /src/vlc/modules/demux/mpeg/es.c:1385,1
    - Dst: bs_error
      Src: /src/vlc/modules/demux/mpeg/es.c:1386,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/mpeg/es.c:1388,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - mllt
    - pi_time
    - pi_offset
    argTypes:
    - sync_table_t*
    - vlc_tick_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1367
    functionDepth: 1
    functionLinenumber: 1367
    functionLinenumberEnd: 1398
    functionName: SeekByMlltTable
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 1
    functionsReached:
    - bs_eof
    - VLC_TICK_FROM_MS
    - bs_read
    - bs_error
    - bs_init
    linkageType: ''
    returnType: int
    signature: int SeekByMlltTable( sync_table_t *mllt, vlc_tick_t *pi_time, uint64_t
      *pi_offset )
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/demux/mpeg/es.c:1406,1
    - Dst: ID3HandleTag
      Src: /src/vlc/modules/demux/mpeg/es.c:1409,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mpeg/es.c:1410,1
    - Dst: vlc_replay_gain_CopyFromMeta
      Src: /src/vlc/modules/demux/mpeg/es.c:1411,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mpeg/es.c:1414,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mpeg/es.c:1418,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mpeg/es.c:1419,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mpeg/es.c:1420,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mpeg/es.c:1428,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mpeg/es.c:1429,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/es.c:1432,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/es.c:1433,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mpeg/es.c:1439,1
    - Dst: strndup
      Src: /src/vlc/modules/demux/mpeg/es.c:1441,1
    - Dst: strlen
      Src: /src/vlc/modules/demux/mpeg/es.c:1442,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/es.c:1445,1
    - Dst: vlc_seekpoint_New
      Src: /src/vlc/modules/demux/mpeg/es.c:1449,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/mpeg/es.c:1453,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mpeg/es.c:1453,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mpeg/es.c:1454,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mpeg/es.c:1457,1
    - Dst: ID3TextConvert
      Src: /src/vlc/modules/demux/mpeg/es.c:1460,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/es.c:1463,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mpeg/es.c:1464,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/demux/mpeg/es.c:1467,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/es.c:1468,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mpeg/es.c:1470,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/es.c:1480,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/es.c:1487,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/mpeg/es.c:1494,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mpeg/es.c:1505,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/demux/mpeg/es.c:1510,1
    - Dst: ID3TextConv
      Src: /src/vlc/modules/demux/mpeg/es.c:1575,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mpeg/es.c:1581,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/mpeg/es.c:1588,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mpeg/es.c:1589,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/demux/mpeg/es.c:1591,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/es.c:1593,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/es.c:1597,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mpeg/es.c:1601,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/es.c:1609,1
    - Dst: ID3TextConv
      Src: /src/vlc/modules/demux/mpeg/es.c:1643,1
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/demux/mpeg/es.c:1647,1
    - Dst: snprintf
      Src: /src/vlc/modules/demux/mpeg/es.c:1651,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/demux/mpeg/es.c:1652,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/mpeg/es.c:1657,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/demux/mpeg/es.c:1659,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/es.c:1660,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/es.c:1664,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 160
    argCount: 4
    argNames:
    - i_tag
    - p_payload
    - i_payload
    - p_priv
    argTypes:
    - uint32_t
    - uint8_t*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1400
    functionDepth: 5
    functionLinenumber: 1400
    functionLinenumberEnd: 1668
    functionName: ID3TAG_Parse_Handler
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memcmp
    - asprintf
    - vlc_meta_New
    - msg_Dbg
    - msg_Warn
    - snprintf
    - VLC_FOURCC
    - strndup
    - vlc_replay_gain_CopyFromMeta
    - strdup
    - ID3TextConv
    - TAB_APPEND
    - vlc_seekpoint_New
    - ID3TextConvert
    - strcmp
    - GetDWBE
    - likely
    - ID3HandleTag
    - vlc_meta_SetExtra
    - GetWBE
    - strlen
    - VLC_TICK_FROM_MS
    - free
    - malloc
    linkageType: ''
    returnType: int
    signature: int ID3TAG_Parse_Handler( uint32_t i_tag, const uint8_t *p_payload,
      size_t i_payload, void *p_priv )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/mpeg/es.c:1675,1
    - Dst: ID3TAG_Parse
      Src: /src/vlc/modules/demux/mpeg/es.c:1679,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1670
    functionDepth: 3
    functionLinenumber: 1670
    functionLinenumberEnd: 1682
    functionName: ID3Parse
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached:
    - ID3TAG_Parse
    - vlc_stream_Control
    linkageType: ''
    returnType: int
    signature: "int ID3Parse( demux_t *p_demux,\n                     int (*pf_callback)(uint32_t,
      const uint8_t *, size_t, void *) )"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ID3Parse
      Src: /src/vlc/modules/demux/mpeg/es.c:1694,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mpeg/es.c:1697,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mpeg/es.c:1701,1
    - Dst: MpgaCheckSync
      Src: /src/vlc/modules/demux/mpeg/es.c:1702,1
    - Dst: mpga_decode_frameheader
      Src: /src/vlc/modules/demux/mpeg/es.c:1702,1
    - Dst: MPGA_VERSION
      Src: /src/vlc/modules/demux/mpeg/es.c:1711,1
    - Dst: MPGA_MODE
      Src: /src/vlc/modules/demux/mpeg/es.c:1712,1
    - Dst: MPGA_MODE
      Src: /src/vlc/modules/demux/mpeg/es.c:1714,1
    - Dst: ParseXing
      Src: /src/vlc/modules/demux/mpeg/es.c:1720,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/demux/mpeg/es.c:1731,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/demux/mpeg/es.c:1735,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/demux/mpeg/es.c:1747,1
    - Dst: isfinite
      Src: /src/vlc/modules/demux/mpeg/es.c:1758,1
    - Dst: isfinite
      Src: /src/vlc/modules/demux/mpeg/es.c:1764,1
    - Dst: isfinite
      Src: /src/vlc/modules/demux/mpeg/es.c:1770,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/es.c:1776,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 47
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1684
    functionDepth: 4
    functionLinenumber: 1684
    functionLinenumberEnd: 1788
    functionName: MpgaInit
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached:
    - isfinite
    - vlc_stream_Peek
    - MPGA_VERSION
    - MPGA_MODE
    - ID3Parse
    - vlc_tick_from_samples
    - GetDWBE
    - msg_Dbg
    - ParseXing
    - mpga_decode_frameheader
    - MpgaCheckSync
    - vlc_stream_GetSize
    linkageType: ''
    returnType: int
    signature: int MpgaInit( demux_t *p_demux )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: demux_IsPathExtension
      Src: /src/vlc/modules/demux/mpeg/es.c:1801,1
    - Dst: demux_IsPathExtension
      Src: /src/vlc/modules/demux/mpeg/es.c:1802,1
    - Dst: demux_IsForced
      Src: /src/vlc/modules/demux/mpeg/es.c:1803,1
    - Dst: demux_IsForced
      Src: /src/vlc/modules/demux/mpeg/es.c:1804,1
    - Dst: demux_IsForced
      Src: /src/vlc/modules/demux/mpeg/es.c:1805,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mpeg/es.c:1810,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mpeg/es.c:1813,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/mpeg/es.c:1816,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mpeg/es.c:1818,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - p_demux
    - pi_offset
    argTypes:
    - demux_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1824
      start: 1793
    functionDepth: 1
    functionLinenumber: 1793
    functionLinenumberEnd: 1824
    functionName: AacProbe
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    - msg_Err
    - strncmp
    - demux_IsForced
    - demux_IsPathExtension
    - vlc_stream_Tell
    linkageType: ''
    returnType: int
    signature: int AacProbe( demux_t *p_demux, uint64_t *pi_offset )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mpeg/es.c:1830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1833
      start: 1825
    functionDepth: 0
    functionLinenumber: 1825
    functionLinenumberEnd: 1833
    functionName: AacInit
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    linkageType: ''
    returnType: int
    signature: int AacInit( demux_t *p_demux )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: swab
      Src: /src/vlc/modules/demux/mpeg/es.c:1847,1
    - Dst: vlc_a52_header_Parse
      Src: /src/vlc/modules/demux/mpeg/es.c:1851,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - p_peek
    - p_big_endian
    - pi_samples
    - b_eac3
    argTypes:
    - uint8_t*
    - bool*
    - unsigned*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1859
      start: 1839
    functionDepth: 4
    functionLinenumber: 1839
    functionLinenumberEnd: 1859
    functionName: A52CheckSync
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached:
    - swab
    - vlc_a52_header_Parse
    linkageType: ''
    returnType: int
    signature: int A52CheckSync( const uint8_t *p_peek, bool *p_big_endian, unsigned
      *pi_samples, bool b_eac3 )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: A52CheckSync
      Src: /src/vlc/modules/demux/mpeg/es.c:1863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_peek
    - pi_samples
    argTypes:
    - uint8_t*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1864
      start: 1860
    functionDepth: 5
    functionLinenumber: 1860
    functionLinenumberEnd: 1864
    functionName: EA52CheckSyncProbe
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached:
    - A52CheckSync
    linkageType: ''
    returnType: int
    signature: int EA52CheckSyncProbe( const uint8_t *p_peek, unsigned *pi_samples
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericProbe
      Src: /src/vlc/modules/demux/mpeg/es.c:1871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_demux
    - pi_offset
    argTypes:
    - demux_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1876
      start: 1866
    functionDepth: 3
    functionLinenumber: 1866
    functionLinenumberEnd: 1876
    functionName: EA52Probe
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached:
    - GenericProbe
    linkageType: ''
    returnType: int
    signature: int EA52Probe( demux_t *p_demux, uint64_t *pi_offset )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: A52CheckSync
      Src: /src/vlc/modules/demux/mpeg/es.c:1881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_peek
    - pi_samples
    argTypes:
    - uint8_t*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1882
      start: 1878
    functionDepth: 5
    functionLinenumber: 1878
    functionLinenumberEnd: 1882
    functionName: A52CheckSyncProbe
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached:
    - A52CheckSync
    linkageType: ''
    returnType: int
    signature: int A52CheckSyncProbe( const uint8_t *p_peek, unsigned *pi_samples
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericProbe
      Src: /src/vlc/modules/demux/mpeg/es.c:1889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_demux
    - pi_offset
    argTypes:
    - demux_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1894
      start: 1884
    functionDepth: 3
    functionLinenumber: 1884
    functionLinenumberEnd: 1894
    functionName: A52Probe
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached:
    - GenericProbe
    linkageType: ''
    returnType: int
    signature: int A52Probe( demux_t *p_demux, uint64_t *pi_offset )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mpeg/es.c:1906,1
    - Dst: A52CheckSync
      Src: /src/vlc/modules/demux/mpeg/es.c:1908,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1911
      start: 1896
    functionDepth: 5
    functionLinenumber: 1896
    functionLinenumberEnd: 1911
    functionName: A52Init
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached:
    - A52CheckSync
    - vlc_stream_Peek
    linkageType: ''
    returnType: int
    signature: int A52Init( demux_t *p_demux )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mpeg/es.c:1918,1
    - Dst: vlc_dts_header_Parse
      Src: /src/vlc/modules/demux/mpeg/es.c:1921,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - p_peek
    - pi_samples
    argTypes:
    - uint8_t*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1930
      start: 1916
    functionDepth: 3
    functionLinenumber: 1916
    functionLinenumberEnd: 1930
    functionName: DtsCheckSync
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached:
    - vlc_dts_header_Parse
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int DtsCheckSync( const uint8_t *p_peek, unsigned *pi_samples )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericProbe
      Src: /src/vlc/modules/demux/mpeg/es.c:1937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_demux
    - pi_offset
    argTypes:
    - demux_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1942
      start: 1932
    functionDepth: 3
    functionLinenumber: 1932
    functionLinenumberEnd: 1942
    functionName: DtsProbe
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached:
    - GenericProbe
    linkageType: ''
    returnType: int
    signature: int DtsProbe( demux_t *p_demux, uint64_t *pi_offset )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1950
      start: 1943
    functionDepth: 0
    functionLinenumber: 1943
    functionLinenumberEnd: 1950
    functionName: DtsInit
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DtsInit( demux_t *p_demux )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mpeg/es.c:1964,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - p_peek
    - pi_samples
    argTypes:
    - uint8_t*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1966
      start: 1955
    functionDepth: 1
    functionLinenumber: 1955
    functionLinenumberEnd: 1966
    functionName: MlpCheckSync
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int MlpCheckSync( const uint8_t *p_peek, unsigned *pi_samples )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mpeg/es.c:1976,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - p_peek
    - pi_samples
    argTypes:
    - uint8_t*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1978
      start: 1967
    functionDepth: 1
    functionLinenumber: 1967
    functionLinenumberEnd: 1978
    functionName: ThdCheckSync
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int ThdCheckSync( const uint8_t *p_peek, unsigned *pi_samples )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericProbe
      Src: /src/vlc/modules/demux/mpeg/es.c:1984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_demux
    - pi_offset
    argTypes:
    - demux_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1987
      start: 1979
    functionDepth: 3
    functionLinenumber: 1979
    functionLinenumberEnd: 1987
    functionName: MlpProbe
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached:
    - GenericProbe
    linkageType: ''
    returnType: int
    signature: int MlpProbe( demux_t *p_demux, uint64_t *pi_offset )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericProbe
      Src: /src/vlc/modules/demux/mpeg/es.c:1993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_demux
    - pi_offset
    argTypes:
    - demux_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1988
    functionDepth: 3
    functionLinenumber: 1988
    functionLinenumberEnd: 1996
    functionName: ThdProbe
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached:
    - GenericProbe
    linkageType: ''
    returnType: int
    signature: int ThdProbe( demux_t *p_demux, uint64_t *pi_offset )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2005
      start: 1997
    functionDepth: 0
    functionLinenumber: 1997
    functionLinenumberEnd: 2005
    functionName: MlpInit
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MlpInit( demux_t *p_demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 2010
    functionDepth: 0
    functionLinenumber: 2010
    functionLinenumberEnd: 2017
    functionName: VideoInit
    functionSourceFile: /src/vlc/modules/demux/mpeg/es.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VideoInit( demux_t *p_demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ID3HandleTag
      Src: /src/vlc/modules/demux/mpeg/ts_metadata.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - i_tag
    - p_payload
    - i_payload
    - p_priv
    argTypes:
    - uint32_t
    - uint8_t*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 5
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: ID3TAG_Parse_Handler
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_metadata.c
    functionUses: 0
    functionsReached:
    - ID3HandleTag
    linkageType: ''
    returnType: int
    signature: "int ID3TAG_Parse_Handler( uint32_t i_tag, const uint8_t *p_payload,\n
      \                                size_t i_payload, void *p_priv )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/demux/mpeg/ts_metadata.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - h
    argTypes:
    - ts_stream_processor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: Metadata_stream_processor_Reset
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_metadata.c
    functionUses: 0
    functionsReached:
    - block_ChainRelease
    linkageType: ''
    returnType: void
    signature: void Metadata_stream_processor_Reset( ts_stream_processor_t *h )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/demux/mpeg/ts_metadata.c:68,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_metadata.c:69,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_metadata.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - h
    argTypes:
    - ts_stream_processor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: Metadata_stream_processor_Delete
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_metadata.c
    functionUses: 0
    functionsReached:
    - block_ChainRelease
    - free
    linkageType: ''
    returnType: void
    signature: void Metadata_stream_processor_Delete( ts_stream_processor_t *h )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mpeg/ts_metadata.c:81,1
    - Dst: block_Duplicate
      Src: /src/vlc/modules/demux/mpeg/ts_metadata.c:83,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/demux/mpeg/ts_metadata.c:87,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_metadata.c:94,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/demux/mpeg/ts_metadata.c:95,1
    - Dst: Metadata_stream_processor_Reset
      Src: /src/vlc/modules/demux/mpeg/ts_metadata.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - h
    - i_sequence
    - p_block
    - i_cellsize
    argTypes:
    - ts_stream_processor_t*
    - uint8_t
    - block_t*
    - size_t
    assertStmts:
    - condition: ( p_block->i_buffer == i_cellsize )
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/vlc/modules/demux/mpeg/ts_metadata.c
    constantsTouched: []
    func_position:
      end: 104
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 104
    functionName: Metadata_stream_processor_AggregateMAU
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_metadata.c
    functionUses: 0
    functionsReached:
    - assert
    - Metadata_stream_processor_Reset
    - block_Duplicate
    - block_ChainLastAppend
    - unlikely
    linkageType: ''
    returnType: block_t
    signature: "block_t * Metadata_stream_processor_AggregateMAU( ts_stream_processor_t
      *h,\n                                                         uint8_t i_sequence,
      block_t *p_block,\n                                                         size_t
      i_cellsize )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainGather
      Src: /src/vlc/modules/demux/mpeg/ts_metadata.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - h
    argTypes:
    - ts_stream_processor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: Metadata_stream_processor_OutputMAU
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_metadata.c
    functionUses: 0
    functionsReached:
    - block_ChainGather
    linkageType: ''
    returnType: block_t
    signature: block_t * Metadata_stream_processor_OutputMAU( ts_stream_processor_t
      *h )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mpeg/ts_metadata.c:129,1
    - Dst: Metadata_stream_processor_Reset
      Src: /src/vlc/modules/demux/mpeg/ts_metadata.c:141,1
    - Dst: Metadata_stream_processor_AggregateMAU
      Src: /src/vlc/modules/demux/mpeg/ts_metadata.c:142,1
    - Dst: Metadata_stream_processor_Reset
      Src: /src/vlc/modules/demux/mpeg/ts_metadata.c:147,1
    - Dst: Metadata_stream_processor_AggregateMAU
      Src: /src/vlc/modules/demux/mpeg/ts_metadata.c:148,1
    - Dst: Metadata_stream_processor_OutputMAU
      Src: /src/vlc/modules/demux/mpeg/ts_metadata.c:151,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/demux/mpeg/ts_metadata.c:153,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ts_metadata.c:166,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - h
    - p_es
    - p_block
    argTypes:
    - ts_stream_processor_t*
    - ts_es_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 169
    functionName: Metadata_stream_processor_PushMAU
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_metadata.c
    functionUses: 0
    functionsReached:
    - Metadata_stream_processor_AggregateMAU
    - GetWBE
    - block_Release
    - Metadata_stream_processor_OutputMAU
    - block_ChainLastAppend
    - Metadata_stream_processor_Reset
    linkageType: ''
    returnType: block_t
    signature: "block_t * Metadata_stream_processor_PushMAU( ts_stream_processor_t
      *h,\n                                                    const ts_es_t *p_es,
      block_t *p_block )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/demux/mpeg/ts_metadata.c:179,1
    - Dst: ID3TAG_Parse
      Src: /src/vlc/modules/demux/mpeg/ts_metadata.c:182,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mpeg/ts_metadata.c:183,1
    - Dst: vlc_meta_Delete
      Src: /src/vlc/modules/demux/mpeg/ts_metadata.c:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - h
    - i_stream_id
    - p_block
    argTypes:
    - ts_stream_processor_t*
    - uint8_t
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 189
    functionName: Metadata_stream_processor_Push
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_metadata.c
    functionUses: 0
    functionsReached:
    - vlc_meta_Delete
    - vlc_meta_New
    - ID3TAG_Parse
    - es_out_Control
    linkageType: ''
    returnType: block_t
    signature: block_t * Metadata_stream_processor_Push( ts_stream_processor_t *h,
      uint8_t i_stream_id, block_t *p_block )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/demux/mpeg/ts_metadata.c:193,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mpeg/ts_metadata.c:197,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_metadata.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - p_stream
    - out
    argTypes:
    - ts_stream_t*
    - es_out_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 215
    functionName: Metadata_stream_processor_New
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_metadata.c
    functionUses: 1
    functionsReached:
    - free
    - malloc
    linkageType: ''
    returnType: ts_stream_processor_t
    signature: ts_stream_processor_t *Metadata_stream_processor_New( ts_stream_t *p_stream,
      es_out_t *out )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ps.h:52,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mpeg/ps.h:53,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ps.h:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - i_id
    argTypes:
    - unsigned
    assertStmts:
    - condition: (i_id >= 0xc0)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/vlc/modules/demux/mpeg/ps.h
    - condition: ( (i_id & 0xff00) == PS_PACKET_ID_MASK_AOB )
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/vlc/modules/demux/mpeg/ps.h
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: ps_id_to_tk
    functionSourceFile: /src/vlc/modules/demux/mpeg/ps.h
    functionUses: 7
    functionsReached:
    - assert
    - unlikely
    linkageType: ''
    returnType: unsigned
    signature: unsigned ps_id_to_tk( unsigned i_id )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/mpeg/ps.h:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - tk
    argTypes:
    - ps_track_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 99
    functionName: ps_track_init
    functionSourceFile: /src/vlc/modules/demux/mpeg/ps.h
    functionUses: 3
    functionsReached:
    - es_format_Init
    linkageType: ''
    returnType: void
    signature: void ps_track_init( ps_track_t tk[PS_TK_COUNT] )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mpeg/ps.h:107,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mpeg/ps.h:108,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mpeg/ps.h:114,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - p_data
    - i_data
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 132
    functionName: ps_is_H264
    functionSourceFile: /src/vlc/modules/demux/mpeg/ps.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool ps_is_H264( const uint8_t *p_data, size_t i_data )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - p_data
    - i_data
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: ps_is_EAC3
    functionSourceFile: /src/vlc/modules/demux/mpeg/ps.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ps_is_EAC3( const uint8_t *p_data, size_t i_data )
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ps.h:157,1
    - Dst: ps_is_EAC3
      Src: /src/vlc/modules/demux/mpeg/ps.h:171,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ps.h:174,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ps.h:179,1
    - Dst: ps_is_EAC3
      Src: /src/vlc/modules/demux/mpeg/ps.h:183,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ps.h:184,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ps.h:188,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ps.h:192,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ps.h:197,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ps.h:201,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ps.h:206,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ps.h:211,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ps.h:221,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ps.h:225,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ps.h:234,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ps.h:239,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ps.h:244,1
    - Dst: ps_id_to_type
      Src: /src/vlc/modules/demux/mpeg/ps.h:250,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ps.h:252,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ps.h:258,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ps.h:263,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ps.h:267,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ps.h:271,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ps.h:275,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ps.h:280,1
    - Dst: ps_is_H264
      Src: /src/vlc/modules/demux/mpeg/ps.h:285,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ps.h:288,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ps.h:293,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ps.h:301,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ps.h:305,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mpeg/ps.h:306,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ps.h:310,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mpeg/ps.h:311,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ps.h:315,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ps.h:319,1
    - Dst: ps_id_to_lang
      Src: /src/vlc/modules/demux/mpeg/ps.h:329,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mpeg/ps.h:331,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/ps.h:334,1
    - Dst: ps_id_to_lang
      Src: /src/vlc/modules/demux/mpeg/ps.h:334,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 127
    argCount: 6
    argNames:
    - tk
    - p_psm
    - i_id
    - p_pkt
    - i_pkt
    - b_mpeg2only
    argTypes:
    - ps_track_t*
    - ps_psm_t*
    - int
    - uint8_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 340
    functionName: ps_track_fill
    functionSourceFile: /src/vlc/modules/demux/mpeg/ps.h
    functionUses: 3
    functionsReached:
    - VLC_FOURCC
    - ps_id_to_lang
    - ps_is_H264
    - memcpy
    - ps_is_EAC3
    - ps_id_to_type
    - malloc
    - es_format_Change
    linkageType: ''
    returnType: int
    signature: "int ps_track_fill( ps_track_t *tk, ps_psm_t *p_psm,\n                                 int
      i_id,\n                                 const uint8_t *p_pkt, size_t i_pkt,\n
      \                                bool b_mpeg2only )"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mpeg/ps.h:345,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 50
    argCount: 3
    argNames:
    - p_pkt
    - i_pkt
    - source
    argTypes:
    - uint8_t*
    - size_t
    - enum ps_source
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 430
    functionName: ps_pkt_id
    functionSourceFile: /src/vlc/modules/demux/mpeg/ps.h
    functionUses: 5
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: int
    signature: int ps_pkt_id( const uint8_t *p_pkt, size_t i_pkt, enum ps_source source
      )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mpeg/ps.h:435,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - p
    - i_peek
    argTypes:
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 461
    functionName: ps_pkt_size
    functionSourceFile: /src/vlc/modules/demux/mpeg/ps.h
    functionUses: 5
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: int
    signature: int ps_pkt_size( const uint8_t *p, int i_peek )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ExtractPackHeaderTimestamp
      Src: /src/vlc/modules/demux/mpeg/ps.h:471,1
    - Dst: ExtractPESTimestamp
      Src: /src/vlc/modules/demux/mpeg/ps.h:476,1
    - Dst: FROM_SCALE
      Src: /src/vlc/modules/demux/mpeg/ps.h:484,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - p_pkt
    - i_pkt
    - pi_scr
    - pi_mux_rate
    argTypes:
    - uint8_t*
    - size_t
    - vlc_tick_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 464
    functionDepth: 2
    functionLinenumber: 464
    functionLinenumberEnd: 486
    functionName: ps_pkt_parse_pack
    functionSourceFile: /src/vlc/modules/demux/mpeg/ps.h
    functionUses: 4
    functionsReached:
    - ExtractPESTimestamp
    - FROM_SCALE
    - ExtractPackHeaderTimestamp
    linkageType: ''
    returnType: int
    signature: "int ps_pkt_parse_pack( const uint8_t *p_pkt, size_t i_pkt,\n                                     vlc_tick_t
      *pi_scr, int *pi_mux_rate )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ps_id_to_tk
      Src: /src/vlc/modules/demux/mpeg/ps.h:519,1
    - Dst: ps_track_fill
      Src: /src/vlc/modules/demux/mpeg/ps.h:521,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 4
    argNames:
    - p_pkt
    - i_pkt
    - p_psm
    - tk
    argTypes:
    - uint8_t*
    - size_t
    - ps_psm_t*
    - ps_track_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 524
    functionName: ps_pkt_parse_system
    functionSourceFile: /src/vlc/modules/demux/mpeg/ps.h
    functionUses: 1
    functionsReached:
    - ps_track_fill
    - ps_id_to_tk
    linkageType: ''
    returnType: int
    signature: "int ps_pkt_parse_system( const uint8_t *p_pkt, size_t i_pkt,\n                                       ps_psm_t
      *p_psm,\n                                       ps_track_t tk[PS_TK_COUNT] )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ts_pes_header_init
      Src: /src/vlc/modules/demux/mpeg/ps.h:531,1
    - Dst: ParsePESHeader
      Src: /src/vlc/modules/demux/mpeg/ps.h:533,1
    - Dst: ps_pkt_id
      Src: /src/vlc/modules/demux/mpeg/ps.h:544,1
    - Dst: ps_pkt_id
      Src: /src/vlc/modules/demux/mpeg/ps.h:545,1
    - Dst: FROM_SCALE
      Src: /src/vlc/modules/demux/mpeg/ps.h:558,1
    - Dst: FROM_SCALE
      Src: /src/vlc/modules/demux/mpeg/ps.h:560,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - p_object
    - p_pes
    - i_skip_extra
    argTypes:
    - vlc_object_t*
    - block_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 527
    functionDepth: 3
    functionLinenumber: 527
    functionLinenumberEnd: 566
    functionName: ps_pkt_parse_pes
    functionSourceFile: /src/vlc/modules/demux/mpeg/ps.h
    functionUses: 5
    functionsReached:
    - ps_pkt_id
    - ts_pes_header_init
    - FROM_SCALE
    - ParsePESHeader
    linkageType: ''
    returnType: int
    signature: int ps_pkt_parse_pes( vlc_object_t *p_object, block_t *p_pes, int i_skip_extra
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - p_psm
    - i_id
    argTypes:
    - ps_psm_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 602
    functionName: ps_id_to_type
    functionSourceFile: /src/vlc/modules/demux/mpeg/ps.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ps_id_to_type( const ps_psm_t *p_psm, uint16_t i_id )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - p_psm
    - i_id
    argTypes:
    - ps_psm_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 613
    functionName: ps_id_to_lang
    functionSourceFile: /src/vlc/modules/demux/mpeg/ps.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *ps_id_to_lang( const ps_psm_t *p_psm, uint16_t i_id )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/demux/mpeg/ps.h:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_psm
    argTypes:
    - ps_psm_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 621
    functionName: ps_psm_init
    functionSourceFile: /src/vlc/modules/demux/mpeg/ps.h
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void ps_psm_init( ps_psm_t *p_psm )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ps.h:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_psm
    argTypes:
    - ps_psm_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 628
    functionName: ps_psm_destroy
    functionSourceFile: /src/vlc/modules/demux/mpeg/ps.h
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void ps_psm_destroy( ps_psm_t *p_psm )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/ps.h:639,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - p_data
    - i_data
    - p_desc
    argTypes:
    - uint8_t*
    - size_t
    - ps_descriptors_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 649
    functionName: ps_parse_descriptors
    functionSourceFile: /src/vlc/modules/demux/mpeg/ps.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ps_parse_descriptors( const uint8_t *p_data, size_t i_data,\n
      \                                       ps_descriptors_t *p_desc )"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ps.h:661,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mpeg/ps.h:665,1
    - Dst: ps_psm_destroy
      Src: /src/vlc/modules/demux/mpeg/ps.h:676,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mpeg/ps.h:678,1
    - Dst: realloc
      Src: /src/vlc/modules/demux/mpeg/ps.h:689,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mpeg/ps.h:698,1
    - Dst: ps_parse_descriptors
      Src: /src/vlc/modules/demux/mpeg/ps.h:713,1
    - Dst: ps_parse_descriptors
      Src: /src/vlc/modules/demux/mpeg/ps.h:719,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/mpeg/ps.h:737,1
    - Dst: ps_track_fill
      Src: /src/vlc/modules/demux/mpeg/ps.h:739,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/mpeg/ps.h:745,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/mpeg/ps.h:753,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 55
    argCount: 4
    argNames:
    - p_psm
    - p_buffer
    - i_pkt
    - tk
    argTypes:
    - ps_psm_t*
    - uint8_t*
    - size_t
    - ps_track_t[]
    assertStmts:
    - condition: (i_pkt >= 4)
      pos:
        line_end: 660
        line_start: 660
        source_file: /src/vlc/modules/demux/mpeg/ps.h
    constantsTouched: []
    func_position:
      end: 758
      start: 651
    functionDepth: 2
    functionLinenumber: 651
    functionLinenumberEnd: 758
    functionName: ps_psm_fill
    functionSourceFile: /src/vlc/modules/demux/mpeg/ps.h
    functionUses: 1
    functionsReached:
    - GetWBE
    - assert
    - es_format_Clean
    - ps_parse_descriptors
    - ps_track_fill
    - realloc
    - es_format_Init
    - ps_psm_destroy
    linkageType: ''
    returnType: int
    signature: "int ps_psm_fill( ps_psm_t *p_psm,\n                               const
      uint8_t *p_buffer, size_t i_pkt,\n                               ps_track_t
      tk[PS_TK_COUNT])"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - pmt
    - i_es_id
    argTypes:
    - ts_pmt_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 52
    functionName: GetMPEG4DescByEsId
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_sl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: es_mpeg4_descriptor_t
    signature: es_mpeg4_descriptor_t * GetMPEG4DescByEsId( const ts_pmt_t *pmt, uint16_t
      i_es_id )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pmt
    - i_sl_es_id
    argTypes:
    - ts_pmt_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: GetPMTESBySLEsId
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_sl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ts_es_t
    signature: ts_es_t * GetPMTESBySLEsId( ts_pmt_t *pmt, uint16_t i_sl_es_id )
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:68,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:76,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:80,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:83,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:92,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:95,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:109,1
    - Dst: es_format_Change
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:113,1
    - Dst: __MIN
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:122,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:125,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:127,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 3
    argNames:
    - p_demux
    - dcd
    - p_fmt
    argTypes:
    - demux_t*
    - decoder_config_descriptor_t*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 134
    functionName: SetupISO14496LogicalStream
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_sl.c
    functionUses: 1
    functionsReached:
    - memcpy
    - __MIN
    - msg_Dbg
    - malloc
    - es_format_Change
    linkageType: ''
    returnType: bool
    signature: "bool SetupISO14496LogicalStream( demux_t *p_demux, const decoder_config_descriptor_t
      *dcd,\n                                  es_format_t *p_fmt )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:142,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:142,1
    - Dst: GetMPEG4DescByEsId
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:147,1
    - Dst: DecodeSLHeader
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:155,1
    - Dst: DecodeODCommand
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:157,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:157,1
    - Dst: GetPMTESBySLEsId
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:166,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:168,1
    - Dst: SetupISO14496LogicalStream
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:171,1
    - Dst: es_format_IsSimilar
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:172,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:176,1
    - Dst: es_out_Del
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:181,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:185,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:191,1
    - Dst: UpdatePESFilters
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:196,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 6
    argNames:
    - p_demux
    - p_sectiondata
    - i_sectiondata
    - p_payloaddata
    - i_payloaddata
    - p_pes_cbdata
    argTypes:
    - demux_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 137
    functionDepth: 8
    functionLinenumber: 137
    functionLinenumberEnd: 198
    functionName: SLPackets_Section_Handler
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_sl.c
    functionUses: 0
    functionsReached:
    - GetPMTESBySLEsId
    - SetupISO14496LogicalStream
    - es_format_Clean
    - DecodeODCommand
    - es_format_IsSimilar
    - UpdatePESFilters
    - DecodeSLHeader
    - es_out_Del
    - VLC_OBJECT
    - es_format_Init
    - es_out_Add
    - GetMPEG4DescByEsId
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void SLPackets_Section_Handler( demux_t *p_demux,\n                                const
      uint8_t *p_sectiondata, size_t i_sectiondata,\n                                const
      uint8_t *p_payloaddata, size_t i_payloaddata,\n                                void
      *p_pes_cbdata )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:211,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:212,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - h
    argTypes:
    - ts_stream_processor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 214
    functionName: SL_stream_processor_Delete
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_sl.c
    functionUses: 0
    functionsReached:
    - block_ChainRelease
    - free
    linkageType: ''
    returnType: void
    signature: void SL_stream_processor_Delete( ts_stream_processor_t *h )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - h
    argTypes:
    - ts_stream_processor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: SL_stream_processor_Reset
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_sl.c
    functionUses: 0
    functionsReached:
    - block_ChainRelease
    linkageType: ''
    returnType: void
    signature: void SL_stream_processor_Reset( ts_stream_processor_t *h )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:232,1
    - Dst: GetMPEG4DescByEsId
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:236,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:239,1
    - Dst: DecodeSLHeader
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:244,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:254,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:258,1
    - Dst: block_ChainGather
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:262,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - h
    - i_stream_id
    - p_block
    argTypes:
    - ts_stream_processor_t*
    - uint8_t
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 269
    functionName: SL_stream_processor_Push
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_sl.c
    functionUses: 0
    functionsReached:
    - block_Release
    - block_ChainRelease
    - block_ChainLastAppend
    - DecodeSLHeader
    - GetMPEG4DescByEsId
    - block_ChainGather
    linkageType: ''
    returnType: block_t
    signature: block_t * SL_stream_processor_Push( ts_stream_processor_t *h, uint8_t
      i_stream_id, block_t *p_block )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:273,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:277,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts_sl.c:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - p_stream
    argTypes:
    - ts_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 293
    functionName: SL_stream_processor_New
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_sl.c
    functionUses: 1
    functionsReached:
    - free
    - malloc
    linkageType: ''
    returnType: ts_stream_processor_t
    signature: ts_stream_processor_t *SL_stream_processor_New( ts_stream_t *p_stream
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts_stream_processor_t*::pf_delete
      Src: /src/vlc/modules/demux/mpeg/ts_streams.h:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - sp
    argTypes:
    - ts_stream_processor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: ts_stream_processor_Delete
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_streams.h
    functionUses: 1
    functionsReached:
    - ts_stream_processor_t*::pf_delete
    linkageType: ''
    returnType: void
    signature: void ts_stream_processor_Delete( ts_stream_processor_t *sp )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ts_stream_processor_t*::pf_reset
      Src: /src/vlc/modules/demux/mpeg/ts_streams.h:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - sp
    argTypes:
    - ts_stream_processor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: ts_stream_processor_Reset
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_streams.h
    functionUses: 0
    functionsReached:
    - ts_stream_processor_t*::pf_reset
    linkageType: ''
    returnType: void
    signature: void ts_stream_processor_Reset( ts_stream_processor_t *sp )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts_stream_processor_t*::pf_push
      Src: /src/vlc/modules/demux/mpeg/ts_streams.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sp
    - i_stream_id
    - b
    argTypes:
    - ts_stream_processor_t*
    - uint8_t
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: ts_stream_processor_Push
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_streams.h
    functionUses: 0
    functionsReached:
    - ts_stream_processor_t*::pf_push
    linkageType: ''
    returnType: block_t
    signature: block_t * ts_stream_processor_Push( ts_stream_processor_t *sp, uint8_t
      i_stream_id, block_t *b )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mpeg/ts.c:206,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mpeg/ts.c:217,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ts.c:246,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts.c:249,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 3
    argNames:
    - p_demux
    - pi_header_size
    - i_offset
    argTypes:
    - demux_t*
    - unsigned*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 251
    functionName: DetectPacketSize
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    - msg_Dbg
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int DetectPacketSize( demux_t *p_demux, unsigned *pi_header_size, int
      i_offset )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mpeg/ts.c:262,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mpeg/ts.c:266,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mpeg/ts.c:267,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mpeg/ts.c:270,1
    - Dst: DetectPacketSize
      Src: /src/vlc/modules/demux/mpeg/ts.c:271,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts.c:274,1
    - Dst: xmalloc
      Src: /src/vlc/modules/demux/mpeg/ts.c:280,1
    - Dst: xmalloc
      Src: /src/vlc/modules/demux/mpeg/ts.c:282,1
    - Dst: xmalloc
      Src: /src/vlc/modules/demux/mpeg/ts.c:283,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts.c:289,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/ts.c:299,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts.c:301,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts.c:317,1
    - Dst: xmalloc
      Src: /src/vlc/modules/demux/mpeg/ts.c:318,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/ts.c:321,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/ts.c:323,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts.c:325,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts.c:326,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/ts.c:333,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts.c:335,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mpeg/ts.c:344,1
    - Dst: DetectPacketSize
      Src: /src/vlc/modules/demux/mpeg/ts.c:350,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - p_demux
    - pi_header_size
    - p_vdr
    argTypes:
    - demux_t*
    - unsigned*
    - vdr_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 351
    functionName: DetectPVRHeadersAndHeaderSize
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 0
    functionsReached:
    - GetWBE
    - vlc_stream_Peek
    - DetectPacketSize
    - memcpy
    - xmalloc
    - msg_Dbg
    - memcmp
    linkageType: ''
    returnType: int
    signature: int DetectPVRHeadersAndHeaderSize( demux_t *p_demux, unsigned *pi_header_size,
      vdr_info_t *p_vdr )
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: DetectPVRHeadersAndHeaderSize
      Src: /src/vlc/modules/demux/mpeg/ts.c:368,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mpeg/ts.c:372,1
    - Dst: memset
      Src: /src/vlc/modules/demux/mpeg/ts.c:375,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/demux/mpeg/ts.c:376,1
    - Dst: ARRAY_INIT
      Src: /src/vlc/modules/demux/mpeg/ts.c:383,1
    - Dst: ts_pid_list_Init
      Src: /src/vlc/modules/demux/mpeg/ts.c:394,1
    - Dst: vlc_dictionary_init
      Src: /src/vlc/modules/demux/mpeg/ts.c:403,1
    - Dst: var_CreateGetBool
      Src: /src/vlc/modules/demux/mpeg/ts.c:408,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts.c:411,1
    - Dst: PIDSetup
      Src: /src/vlc/modules/demux/mpeg/ts.c:412,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts.c:414,1
    - Dst: ts_psi_PAT_Attach
      Src: /src/vlc/modules/demux/mpeg/ts.c:417,1
    - Dst: PIDRelease
      Src: /src/vlc/modules/demux/mpeg/ts.c:419,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts.c:420,1
    - Dst: SetPIDFilter
      Src: /src/vlc/modules/demux/mpeg/ts.c:426,1
    - Dst: var_CreateGetBool
      Src: /src/vlc/modules/demux/mpeg/ts.c:432,1
    - Dst: var_CreateGetBool
      Src: /src/vlc/modules/demux/mpeg/ts.c:435,1
    - Dst: var_CreateGetBool
      Src: /src/vlc/modules/demux/mpeg/ts.c:436,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/mpeg/ts.c:437,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/demux/mpeg/ts.c:437,1
    - Dst: var_CreateGetString
      Src: /src/vlc/modules/demux/mpeg/ts.c:440,1
    - Dst: UserPmt
      Src: /src/vlc/modules/demux/mpeg/ts.c:443,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts.c:444,1
    - Dst: var_CreateGetStringCommand
      Src: /src/vlc/modules/demux/mpeg/ts.c:446,1
    - Dst: csa_New
      Src: /src/vlc/modules/demux/mpeg/ts.c:452,1
    - Dst: var_CreateGetStringCommand
      Src: /src/vlc/modules/demux/mpeg/ts.c:456,1
    - Dst: csa_SetCW
      Src: /src/vlc/modules/demux/mpeg/ts.c:457,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mpeg/ts.c:457,1
    - Dst: csa_SetCW
      Src: /src/vlc/modules/demux/mpeg/ts.c:464,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mpeg/ts.c:464,1
    - Dst: csa_SetCW
      Src: /src/vlc/modules/demux/mpeg/ts.c:466,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mpeg/ts.c:466,1
    - Dst: csa_SetCW
      Src: /src/vlc/modules/demux/mpeg/ts.c:471,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mpeg/ts.c:471,1
    - Dst: csa_Delete
      Src: /src/vlc/modules/demux/mpeg/ts.c:475,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/demux/mpeg/ts.c:481,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/demux/mpeg/ts.c:482,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/demux/mpeg/ts.c:484,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mpeg/ts.c:487,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ts.c:488,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts.c:493,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts.c:495,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts.c:497,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/mpeg/ts.c:499,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/mpeg/ts.c:503,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/mpeg/ts.c:504,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/demux/mpeg/ts.c:505,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/demux/mpeg/ts.c:508,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/demux/mpeg/ts.c:511,1
    - Dst: strcmp
      Src: /src/vlc/modules/demux/mpeg/ts.c:513,1
    - Dst: TsChangeStandard
      Src: /src/vlc/modules/demux/mpeg/ts.c:515,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts.c:516,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts.c:520,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/demux/mpeg/ts.c:524,1
    - Dst: TsChangeStandard
      Src: /src/vlc/modules/demux/mpeg/ts.c:526,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/mpeg/ts.c:529,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/mpeg/ts.c:530,1
    - Dst: var_CreateGetBool
      Src: /src/vlc/modules/demux/mpeg/ts.c:533,1
    - Dst: Demux
      Src: /src/vlc/modules/demux/mpeg/ts.c:542,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 118
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 356
    functionDepth: 5
    functionLinenumber: 356
    functionLinenumberEnd: 547
    functionName: Open
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 37
    functionsReached:
    - var_CreateGetString
    - vlc_dictionary_init
    - csa_New
    - csa_SetCW
    - vlc_stream_Control
    - ARRAY_SIZE
    - PIDRelease
    - GetPID
    - Demux
    - var_AddCallback
    - ts_pid_list_Init
    - var_CreateGetStringCommand
    - msg_Err
    - msg_Dbg
    - msg_Warn
    - UserPmt
    - csa_Delete
    - TsChangeStandard
    - var_InheritBool
    - strcmp
    - PIDSetup
    - DetectPVRHeadersAndHeaderSize
    - strncasecmp
    - var_InheritString
    - memset
    - var_CreateGetBool
    - vlc_mutex_init
    - VLC_TICK_FROM_MS
    - free
    - ARRAY_INIT
    - var_CreateGetInteger
    - VLC_OBJECT
    - ts_psi_PAT_Attach
    - SetPIDFilter
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mpeg/ts.c:554,1
    - Dst: vlc_input_attachment_Release
      Src: /src/vlc/modules/demux/mpeg/ts.c:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_value
    - p_obj
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 556
    functionName: FreeDictAttachment
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 0
    functionsReached:
    - vlc_input_attachment_Release
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void FreeDictAttachment( void *p_value, void *p_obj )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PIDRelease
      Src: /src/vlc/modules/demux/mpeg/ts.c:563,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts.c:563,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/demux/mpeg/ts.c:565,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/demux/mpeg/ts.c:568,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/demux/mpeg/ts.c:569,1
    - Dst: csa_Delete
      Src: /src/vlc/modules/demux/mpeg/ts.c:570,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/demux/mpeg/ts.c:572,1
    - Dst: ARRAY_RESET
      Src: /src/vlc/modules/demux/mpeg/ts.c:574,1
    - Dst: arib_instance_destroy
      Src: /src/vlc/modules/demux/mpeg/ts.c:578,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/demux/mpeg/ts.c:583,1
    - Dst: ts_pid_list_Release
      Src: /src/vlc/modules/demux/mpeg/ts.c:588,1
    - Dst: vlc_dictionary_clear
      Src: /src/vlc/modules/demux/mpeg/ts.c:591,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts.c:593,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts.c:594,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 558
    functionDepth: 5
    functionLinenumber: 558
    functionLinenumberEnd: 595
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 128
    functionsReached:
    - csa_Delete
    - vlc_dictionary_clear
    - PIDRelease
    - vlc_mutex_lock
    - GetPID
    - vlc_mutex_unlock
    - ARRAY_RESET
    - var_DelCallback
    - vlc_stream_Delete
    - free
    - arib_instance_destroy
    - ts_pid_list_Release
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mpeg/ts.c:604,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mpeg/ts.c:604,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/demux/mpeg/ts.c:609,1
    - Dst: csa_SetCW
      Src: /src/vlc/modules/demux/mpeg/ts.c:611,1
    - Dst: csa_SetCW
      Src: /src/vlc/modules/demux/mpeg/ts.c:613,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/demux/mpeg/ts.c:615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - p_this
    - psz_cmd
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 600
    functionDepth: 2
    functionLinenumber: 600
    functionLinenumberEnd: 617
    functionName: ChangeKeyCallback
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_lock
    - csa_SetCW
    - vlc_mutex_unlock
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int ChangeKeyCallback( vlc_object_t *p_this, char const *psz_cmd,\n
      \                          vlc_value_t oldval, vlc_value_t newval,\n                           void
      *p_data )"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: SEEN
      Src: /src/vlc/modules/demux/mpeg/ts.c:628,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts.c:628,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ts.c:630,1
    - Dst: MissingPATPMTFixup
      Src: /src/vlc/modules/demux/mpeg/ts.c:631,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts.c:632,1
    - Dst: ReadTSPacket
      Src: /src/vlc/modules/demux/mpeg/ts.c:642,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/mpeg/ts.c:650,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mpeg/ts.c:656,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ts.c:658,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts.c:665,1
    - Dst: PIDGet
      Src: /src/vlc/modules/demux/mpeg/ts.c:666,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ts.c:667,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts.c:672,1
    - Dst: PIDGet
      Src: /src/vlc/modules/demux/mpeg/ts.c:672,1
    - Dst: SEEN
      Src: /src/vlc/modules/demux/mpeg/ts.c:673,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts.c:676,1
    - Dst: ProcessTSPacket
      Src: /src/vlc/modules/demux/mpeg/ts.c:683,1
    - Dst: SCRAMBLED
      Src: /src/vlc/modules/demux/mpeg/ts.c:687,1
    - Dst: UpdatePIDScrambledState
      Src: /src/vlc/modules/demux/mpeg/ts.c:690,1
    - Dst: GetPCR
      Src: /src/vlc/modules/demux/mpeg/ts.c:694,1
    - Dst: PCRHandle
      Src: /src/vlc/modules/demux/mpeg/ts.c:696,1
    - Dst: SEEN
      Src: /src/vlc/modules/demux/mpeg/ts.c:699,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts.c:699,1
    - Dst: ProbePES
      Src: /src/vlc/modules/demux/mpeg/ts.c:703,1
    - Dst: ts_psi_Packet_Push
      Src: /src/vlc/modules/demux/mpeg/ts.c:711,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ts.c:712,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts.c:720,1
    - Dst: AddAndCreateES
      Src: /src/vlc/modules/demux/mpeg/ts.c:721,1
    - Dst: UpdatePESFilters
      Src: /src/vlc/modules/demux/mpeg/ts.c:722,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ts.c:729,1
    - Dst: GatherPESData
      Src: /src/vlc/modules/demux/mpeg/ts.c:735,1
    - Dst: GatherSectionsData
      Src: /src/vlc/modules/demux/mpeg/ts.c:739,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ts.c:743,1
    - Dst: ts_si_Packet_Push
      Src: /src/vlc/modules/demux/mpeg/ts.c:750,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ts.c:751,1
    - Dst: ts_psip_Packet_Push
      Src: /src/vlc/modules/demux/mpeg/ts.c:756,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ts.c:757,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ts.c:763,1
    - Dst: demux_UpdateTitleFromStream
      Src: /src/vlc/modules/demux/mpeg/ts.c:771,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 88
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 622
    functionDepth: 7
    functionLinenumber: 622
    functionLinenumberEnd: 773
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 27
    functionsReached:
    - SCRAMBLED
    - ts_psi_Packet_Push
    - vlc_stream_Control
    - UpdatePIDScrambledState
    - GetPID
    - ProbePES
    - msg_Dbg
    - msg_Warn
    - UpdatePESFilters
    - GatherPESData
    - ProcessTSPacket
    - ts_si_Packet_Push
    - MissingPATPMTFixup
    - demux_UpdateTitleFromStream
    - GetPCR
    - ReadTSPacket
    - block_Release
    - ts_psip_Packet_Push
    - PCRHandle
    - PIDGet
    - GatherSectionsData
    - SEEN
    - unlikely
    - AddAndCreateES
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/vlc/modules/demux/mpeg/ts.c:792,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - p_pmt
    - p_sys
    - pi_time
    - pi_length
    argTypes:
    - ts_pmt_t*
    - demux_sys_t*
    - time_t*
    - time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 798
    functionName: EITCurrentEventTime
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 0
    functionsReached:
    - time
    linkageType: ''
    returnType: int
    signature: "int EITCurrentEventTime( const ts_pmt_t *p_pmt, demux_sys_t *p_sys,\n
      \                               time_t *pi_time, time_t *pi_length )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mpeg/ts.c:806,1
    - Dst: HasSelectedES
      Src: /src/vlc/modules/demux/mpeg/ts.c:808,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - out
    - p_es
    - p_pmt
    - pb_stream_selected
    argTypes:
    - es_out_t*
    - ts_es_t*
    - ts_pmt_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 800
    functionDepth: 1
    functionLinenumber: 800
    functionLinenumberEnd: 810
    functionName: HasSelectedES
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 1
    functionsReached:
    - es_out_Control
    - HasSelectedES
    linkageType: ''
    returnType: void
    signature: "void HasSelectedES( es_out_t *out, const ts_es_t *p_es,\n                                  const
      ts_pmt_t *p_pmt, bool *pb_stream_selected )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts.c:815,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts.c:832,1
    - Dst: ProgramIsSelected
      Src: /src/vlc/modules/demux/mpeg/ts.c:845,1
    - Dst: SendCAPMTUpdate
      Src: /src/vlc/modules/demux/mpeg/ts.c:849,1
    - Dst: HasSelectedES
      Src: /src/vlc/modules/demux/mpeg/ts.c:862,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts.c:866,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts.c:874,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts.c:875,1
    - Dst: UpdateHWFilter
      Src: /src/vlc/modules/demux/mpeg/ts.c:886,1
    - Dst: UpdateHWFilter
      Src: /src/vlc/modules/demux/mpeg/ts.c:890,1
    - Dst: FlushESBuffer
      Src: /src/vlc/modules/demux/mpeg/ts.c:892,1
    - Dst: UpdateHWFilter
      Src: /src/vlc/modules/demux/mpeg/ts.c:894,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts.c:894,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 2
    argNames:
    - p_demux
    - b_all
    argTypes:
    - demux_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 812
    functionDepth: 2
    functionLinenumber: 812
    functionLinenumberEnd: 896
    functionName: UpdatePESFilters
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 3
    functionsReached:
    - FlushESBuffer
    - GetPID
    - UpdateHWFilter
    - HasSelectedES
    - msg_Dbg
    - SendCAPMTUpdate
    - ProgramIsSelected
    linkageType: ''
    returnType: void
    signature: void UpdatePESFilters( demux_t *p_demux, bool b_all )
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts.c:907,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/ts.c:918,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/ts.c:922,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/ts.c:926,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/ts.c:930,1
    - Dst: EITCurrentEventTime
      Src: /src/vlc/modules/demux/mpeg/ts.c:936,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/demux/mpeg/ts.c:959,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mpeg/ts.c:961,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/ts.c:968,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/ts.c:969,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/mpeg/ts.c:978,1
    - Dst: EITCurrentEventTime
      Src: /src/vlc/modules/demux/mpeg/ts.c:979,1
    - Dst: SeekToTime
      Src: /src/vlc/modules/demux/mpeg/ts.c:980,1
    - Dst: ReadyQueuesPostSeek
      Src: /src/vlc/modules/demux/mpeg/ts.c:982,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mpeg/ts.c:983,1
    - Dst: SeekToTime
      Src: /src/vlc/modules/demux/mpeg/ts.c:997,1
    - Dst: ReadyQueuesPostSeek
      Src: /src/vlc/modules/demux/mpeg/ts.c:999,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mpeg/ts.c:1000,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/demux/mpeg/ts.c:1006,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/mpeg/ts.c:1007,1
    - Dst: ReadyQueuesPostSeek
      Src: /src/vlc/modules/demux/mpeg/ts.c:1009,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/ts.c:1016,1
    - Dst: SeekToTime
      Src: /src/vlc/modules/demux/mpeg/ts.c:1019,1
    - Dst: ReadyQueuesPostSeek
      Src: /src/vlc/modules/demux/mpeg/ts.c:1021,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mpeg/ts.c:1022,1
    - Dst: EITCurrentEventTime
      Src: /src/vlc/modules/demux/mpeg/ts.c:1033,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/mpeg/ts.c:1035,1
    - Dst: EITCurrentEventTime
      Src: /src/vlc/modules/demux/mpeg/ts.c:1047,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/ts.c:1052,1
    - Dst: EITCurrentEventTime
      Src: /src/vlc/modules/demux/mpeg/ts.c:1059,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/demux/mpeg/ts.c:1061,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ts.c:1077,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts.c:1086,1
    - Dst: ARRAY_RESET
      Src: /src/vlc/modules/demux/mpeg/ts.c:1090,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts.c:1097,1
    - Dst: ARRAY_RESET
      Src: /src/vlc/modules/demux/mpeg/ts.c:1099,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts.c:1100,1
    - Dst: ARRAY_APPEND
      Src: /src/vlc/modules/demux/mpeg/ts.c:1102,1
    - Dst: UpdatePESFilters
      Src: /src/vlc/modules/demux/mpeg/ts.c:1104,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/ts.c:1112,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/ts.c:1113,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts.c:1115,1
    - Dst: ARRAY_RESET
      Src: /src/vlc/modules/demux/mpeg/ts.c:1118,1
    - Dst: ARRAY_APPEND
      Src: /src/vlc/modules/demux/mpeg/ts.c:1121,1
    - Dst: UpdatePESFilters
      Src: /src/vlc/modules/demux/mpeg/ts.c:1122,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/ts.c:1133,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts.c:1134,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts.c:1137,1
    - Dst: UpdatePESFilters
      Src: /src/vlc/modules/demux/mpeg/ts.c:1140,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/ts.c:1147,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/ts.c:1148,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/mpeg/ts.c:1152,1
    - Dst: vlc_stream_vaControl
      Src: /src/vlc/modules/demux/mpeg/ts.c:1157,1
    - Dst: vlc_stream_vaControl
      Src: /src/vlc/modules/demux/mpeg/ts.c:1160,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/ts.c:1165,1
    - Dst: vlc_stream_vaControl
      Src: /src/vlc/modules/demux/mpeg/ts.c:1172,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/ts.c:1175,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/ts.c:1180,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/ts.c:1181,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/ts.c:1183,1
    - Dst: vlc_stream_Control
      Src: /src/vlc/modules/demux/mpeg/ts.c:1187,1
    - Dst: strdup
      Src: /src/vlc/modules/demux/mpeg/ts.c:1191,1
    - Dst: vlc_stream_vaControl
      Src: /src/vlc/modules/demux/mpeg/ts.c:1199,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/ts.c:1203,1
    - Dst: va_arg
      Src: /src/vlc/modules/demux/mpeg/ts.c:1204,1
    - Dst: vlc_dictionary_keys_count
      Src: /src/vlc/modules/demux/mpeg/ts.c:1206,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/demux/mpeg/ts.c:1210,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts.c:1220,1
    - Dst: vlc_input_attachment_Hold
      Src: /src/vlc/modules/demux/mpeg/ts.c:1221,1
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/mpeg/ts.c:1235,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 205
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 898
    functionDepth: 3
    functionLinenumber: 898
    functionLinenumberEnd: 1242
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 184
    functionsReached:
    - vlc_input_attachment_Hold
    - vlc_alloc
    - SeekToTime
    - vlc_stream_Control
    - GetPID
    - msg_Dbg
    - msg_Warn
    - UpdatePESFilters
    - ARRAY_APPEND
    - vlc_stream_GetSize
    - strdup
    - vlc_stream_Seek
    - vlc_stream_Tell
    - vlc_dictionary_keys_count
    - demux_vaControlHelper
    - es_out_Control
    - ARRAY_RESET
    - EITCurrentEventTime
    - vlc_tick_from_sec
    - free
    - va_arg
    - ReadyQueuesPostSeek
    - vlc_stream_vaControl
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1261
    functionName: read_opus_flag
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int16_t
    signature: int16_t read_opus_flag(uint8_t **buf, size_t *len)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: read_opus_flag
      Src: /src/vlc/modules/demux/mpeg/ts.c:1294,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mpeg/ts.c:1296,1
    - Dst: read_opus_flag
      Src: /src/vlc/modules/demux/mpeg/ts.c:1300,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mpeg/ts.c:1302,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mpeg/ts.c:1308,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mpeg/ts.c:1316,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/mpeg/ts.c:1320,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/ts.c:1323,1
    - Dst: block_CopyProperties
      Src: /src/vlc/modules/demux/mpeg/ts.c:1324,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/demux/mpeg/ts.c:1325,1
    - Dst: opus_frame_duration
      Src: /src/vlc/modules/demux/mpeg/ts.c:1327,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ts.c:1343,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 57
    argCount: 2
    argNames:
    - demux
    - block
    argTypes:
    - demux_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1263
    functionDepth: 1
    functionLinenumber: 1263
    functionLinenumberEnd: 1345
    functionName: Opus_Parse
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 0
    functionsReached:
    - block_Release
    - read_opus_flag
    - memcpy
    - block_CopyProperties
    - msg_Err
    - block_ChainLastAppend
    - block_Alloc
    - opus_frame_duration
    linkageType: ''
    returnType: block_t
    signature: block_t *Opus_Parse(demux_t *demux, block_t *block)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mpeg/ts.c:1354,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mpeg/ts.c:1357,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mpeg/ts.c:1358,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/demux/mpeg/ts.c:1361,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ts.c:1369,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ts.c:1370,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - p_demux
    - p_block
    - b_interlaced
    argTypes:
    - demux_t*
    - block_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1347
    functionDepth: 1
    functionLinenumber: 1347
    functionLinenumberEnd: 1372
    functionName: J2K_Parse
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 0
    functionsReached:
    - GetWBE
    - block_Release
    - vlc_tick_from_samples
    - msg_Warn
    - memcmp
    linkageType: ''
    returnType: block_t
    signature: block_t *J2K_Parse( demux_t *p_demux, block_t *p_block, bool b_interlaced
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SEEN
      Src: /src/vlc/modules/demux/mpeg/ts.c:1381,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 1
    argNames:
    - p_pmt
    argTypes:
    - ts_pmt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1374
    functionDepth: 1
    functionLinenumber: 1374
    functionLinenumberEnd: 1399
    functionName: GetTimeForUntimed
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 0
    functionsReached:
    - SEEN
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t GetTimeForUntimed( const ts_pmt_t *p_pmt )
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: block_Realloc
      Src: /src/vlc/modules/demux/mpeg/ts.c:1415,1
    - Dst: GetTimeForUntimed
      Src: /src/vlc/modules/demux/mpeg/ts.c:1433,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/mpeg/ts.c:1435,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/demux/mpeg/ts.c:1448,1
    - Dst: Opus_Parse
      Src: /src/vlc/modules/demux/mpeg/ts.c:1455,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mpeg/ts.c:1459,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ts.c:1461,1
    - Dst: J2K_Parse
      Src: /src/vlc/modules/demux/mpeg/ts.c:1466,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 43
    argCount: 5
    argNames:
    - p_demux
    - p_es
    - i_pes_size
    - i_stream_id
    - p_block
    argTypes:
    - demux_t*
    - ts_es_t*
    - size_t
    - uint8_t
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1401
    functionDepth: 2
    functionLinenumber: 1401
    functionLinenumberEnd: 1471
    functionName: ConvertPESBlock
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 0
    functionsReached:
    - block_Release
    - block_Realloc
    - GetTimeForUntimed
    - VLC_TICK_FROM_MS
    - Opus_Parse
    - J2K_Parse
    - unlikely
    linkageType: ''
    returnType: block_t
    signature: "block_t * ConvertPESBlock( demux_t *p_demux, ts_es_t *p_es,\n                                  size_t
      i_pes_size, uint8_t i_stream_id,\n                                  block_t
      *p_block )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: block_Duplicate
      Src: /src/vlc/modules/demux/mpeg/ts.c:1509,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/mpeg/ts.c:1511,1
    - Dst: block_Duplicate
      Src: /src/vlc/modules/demux/mpeg/ts.c:1520,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/mpeg/ts.c:1522,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/mpeg/ts.c:1529,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ts.c:1538,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 3
    argNames:
    - p_demux
    - p_es
    - p_chain
    argTypes:
    - demux_t*
    - ts_es_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1476
    functionDepth: 1
    functionLinenumber: 1476
    functionLinenumberEnd: 1540
    functionName: SendDataChain
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 0
    functionsReached:
    - block_Duplicate
    - block_Release
    - es_out_Send
    linkageType: ''
    returnType: void
    signature: void SendDataChain( demux_t *p_demux, ts_es_t *p_es, block_t *p_chain
      )
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts.c:1557,1
    - Dst: block_ChainExtract
      Src: /src/vlc/modules/demux/mpeg/ts.c:1559,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/demux/mpeg/ts.c:1562,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ts.c:1569,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/demux/mpeg/ts.c:1571,1
    - Dst: ts_pes_header_init
      Src: /src/vlc/modules/demux/mpeg/ts.c:1583,1
    - Dst: ParsePESHeader
      Src: /src/vlc/modules/demux/mpeg/ts.c:1585,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/demux/mpeg/ts.c:1587,1
    - Dst: TimeStampWrapAround
      Src: /src/vlc/modules/demux/mpeg/ts.c:1593,1
    - Dst: FROM_SCALE
      Src: /src/vlc/modules/demux/mpeg/ts.c:1593,1
    - Dst: TimeStampWrapAround
      Src: /src/vlc/modules/demux/mpeg/ts.c:1595,1
    - Dst: FROM_SCALE
      Src: /src/vlc/modules/demux/mpeg/ts.c:1595,1
    - Dst: GetMPEG4DescByEsId
      Src: /src/vlc/modules/demux/mpeg/ts.c:1602,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mpeg/ts.c:1604,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mpeg/ts.c:1605,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mpeg/ts.c:1609,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mpeg/ts.c:1610,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/demux/mpeg/ts.c:1611,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mpeg/ts.c:1625,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mpeg/ts.c:1630,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ts.c:1643,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mpeg/ts.c:1664,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/demux/mpeg/ts.c:1666,1
    - Dst: FROM_SCALE_NZ
      Src: /src/vlc/modules/demux/mpeg/ts.c:1676,1
    - Dst: block_ChainGather
      Src: /src/vlc/modules/demux/mpeg/ts.c:1679,1
    - Dst: PCRFixHandle
      Src: /src/vlc/modules/demux/mpeg/ts.c:1692,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/demux/mpeg/ts.c:1699,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/demux/mpeg/ts.c:1701,1
    - Dst: ProgramSetPCR
      Src: /src/vlc/modules/demux/mpeg/ts.c:1715,1
    - Dst: FROM_SCALE
      Src: /src/vlc/modules/demux/mpeg/ts.c:1719,1
    - Dst: FROM_SCALE_NZ
      Src: /src/vlc/modules/demux/mpeg/ts.c:1724,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/mpeg/ts.c:1726,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ts.c:1727,1
    - Dst: ts_stream_processor_Reset
      Src: /src/vlc/modules/demux/mpeg/ts.c:1747,1
    - Dst: ts_stream_processor_Push
      Src: /src/vlc/modules/demux/mpeg/ts.c:1748,1
    - Dst: ConvertPESBlock
      Src: /src/vlc/modules/demux/mpeg/ts.c:1753,1
    - Dst: SendDataChain
      Src: /src/vlc/modules/demux/mpeg/ts.c:1756,1
    - Dst: PCRFixHandle
      Src: /src/vlc/modules/demux/mpeg/ts.c:1761,1
    - Dst: ts_stream_processor_Reset
      Src: /src/vlc/modules/demux/mpeg/ts.c:1766,1
    - Dst: ts_stream_processor_Push
      Src: /src/vlc/modules/demux/mpeg/ts.c:1767,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/demux/mpeg/ts.c:1771,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/demux/mpeg/ts.c:1776,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ts.c:1785,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 135
    argCount: 5
    argNames:
    - p_demux
    - pid
    - p_pes
    - i_flags
    - i_append_pcr
    argTypes:
    - demux_t*
    - ts_pid_t*
    - block_t*
    - uint32_t
    - ts_90khz_t
    assertStmts:
    - condition: (pid->type == TYPE_STREAM)
      pos:
        line_end: 1556
        line_start: 1556
        source_file: /src/vlc/modules/demux/mpeg/ts.c
    constantsTouched: []
    func_position:
      end: 1787
      start: 1545
    functionDepth: 3
    functionLinenumber: 1545
    functionLinenumberEnd: 1787
    functionName: ParsePESDataChain
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 0
    functionsReached:
    - assert
    - ProgramSetPCR
    - block_ChainRelease
    - PCRFixHandle
    - TimeStampWrapAround
    - ts_pes_header_init
    - FROM_SCALE
    - SendDataChain
    - ts_stream_processor_Push
    - FROM_SCALE_NZ
    - msg_Warn
    - ConvertPESBlock
    - block_ChainGather
    - VLC_FOURCC
    - block_ChainExtract
    - ParsePESHeader
    - ts_stream_processor_Reset
    - block_ChainLastAppend
    - GetMPEG4DescByEsId
    - GetWBE
    - block_Release
    - VLC_TICK_FROM_MS
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void ParsePESDataChain( demux_t *p_demux, ts_pid_t *pid, block_t *p_pes,\n
      \                              uint32_t i_flags, ts_90khz_t i_append_pcr )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParsePESDataChain
      Src: /src/vlc/modules/demux/mpeg/ts.c:1792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - p_obj
    - priv
    - p_data
    - i_flags
    - i_appendpcr
    argTypes:
    - vlc_object_t*
    - void*
    - block_t*
    - uint32_t
    - ts_90khz_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1789
    functionDepth: 4
    functionLinenumber: 1789
    functionLinenumberEnd: 1793
    functionName: PESDataChainHandle
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 0
    functionsReached:
    - ParsePESDataChain
    linkageType: ''
    returnType: void
    signature: "void PESDataChainHandle( vlc_object_t *p_obj, void *priv, block_t
      *p_data,\n                                uint32_t i_flags, ts_90khz_t i_appendpcr
      )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mpeg/ts.c:1800,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ts.c:1808,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mpeg/ts.c:1808,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mpeg/ts.c:1815,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts.c:1819,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts.c:1830,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mpeg/ts.c:1831,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/demux/mpeg/ts.c:1832,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts.c:1838,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mpeg/ts.c:1838,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1841
      start: 1795
    functionDepth: 1
    functionLinenumber: 1795
    functionLinenumberEnd: 1841
    functionName: CheckAndResync
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Peek
    - vlc_stream_Read
    - msg_Dbg
    - msg_Warn
    - vlc_stream_Tell
    linkageType: ''
    returnType: bool
    signature: bool CheckAndResync( demux_t *p_demux )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CheckAndResync
      Src: /src/vlc/modules/demux/mpeg/ts.c:1847,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/mpeg/ts.c:1853,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/demux/mpeg/ts.c:1856,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mpeg/ts.c:1857,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts.c:1858,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts.c:1860,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mpeg/ts.c:1860,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ts.c:1866,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1878
      start: 1843
    functionDepth: 2
    functionLinenumber: 1843
    functionLinenumberEnd: 1878
    functionName: ReadTSPacket
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 1
    functionsReached:
    - block_Release
    - msg_Dbg
    - vlc_stream_Block
    - vlc_stream_Tell
    - CheckAndResync
    - vlc_stream_GetSize
    linkageType: ''
    returnType: block_t
    signature: block_t * ReadTSPacket( demux_t *p_demux )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mpeg/ts.c:1885,1
    - Dst: UpdateESScrambledState
      Src: /src/vlc/modules/demux/mpeg/ts.c:1887,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - out
    - p_es
    - b_scrambled
    argTypes:
    - es_out_t*
    - ts_es_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1889
      start: 1880
    functionDepth: 1
    functionLinenumber: 1880
    functionLinenumberEnd: 1889
    functionName: UpdateESScrambledState
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 1
    functionsReached:
    - es_out_Control
    - UpdateESScrambledState
    linkageType: ''
    returnType: void
    signature: void UpdateESScrambledState( es_out_t *out, const ts_es_t *p_es, bool
      b_scrambled )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SCRAMBLED
      Src: /src/vlc/modules/demux/mpeg/ts.c:1893,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ts.c:1907,1
    - Dst: SCRAMBLED
      Src: /src/vlc/modules/demux/mpeg/ts.c:1908,1
    - Dst: UpdateESScrambledState
      Src: /src/vlc/modules/demux/mpeg/ts.c:1916,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - p_demux
    - p_pid
    - b_scrambled
    argTypes:
    - demux_t*
    - ts_pid_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1891
    functionDepth: 2
    functionLinenumber: 1891
    functionLinenumberEnd: 1917
    functionName: UpdatePIDScrambledState
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 1
    functionsReached:
    - SCRAMBLED
    - UpdateESScrambledState
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: void UpdatePIDScrambledState( demux_t *p_demux, ts_pid_t *p_pid, bool
      b_scrambled )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/demux/mpeg/ts.c:1924,1
    - Dst: ts_stream_processor_Reset
      Src: /src/vlc/modules/demux/mpeg/ts.c:1931,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - p_pes
    argTypes:
    - ts_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1932
      start: 1919
    functionDepth: 1
    functionLinenumber: 1919
    functionLinenumberEnd: 1932
    functionName: FlushESBuffer
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 1
    functionsReached:
    - block_ChainRelease
    - ts_stream_processor_Reset
    linkageType: ''
    returnType: void
    signature: void FlushESBuffer( ts_stream_t *p_pes )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts.c:1938,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/demux/mpeg/ts.c:1962,1
    - Dst: ts_sections_processor_Reset
      Src: /src/vlc/modules/demux/mpeg/ts.c:1967,1
    - Dst: ts_stream_processor_Reset
      Src: /src/vlc/modules/demux/mpeg/ts.c:1968,1
    - Dst: FlushESBuffer
      Src: /src/vlc/modules/demux/mpeg/ts.c:1970,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1974
      start: 1934
    functionDepth: 2
    functionLinenumber: 1934
    functionLinenumberEnd: 1974
    functionName: ReadyQueuesPostSeek
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 1
    functionsReached:
    - FlushESBuffer
    - ts_stream_processor_Reset
    - ts_sections_processor_Reset
    - block_ChainRelease
    - GetPID
    linkageType: ''
    returnType: void
    signature: void ReadyQueuesPostSeek( demux_t *p_demux )
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/mpeg/ts.c:1982,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/demux/mpeg/ts.c:1985,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mpeg/ts.c:1991,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/mpeg/ts.c:2007,1
    - Dst: ReadTSPacket
      Src: /src/vlc/modules/demux/mpeg/ts.c:2014,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mpeg/ts.c:2021,1
    - Dst: PIDGet
      Src: /src/vlc/modules/demux/mpeg/ts.c:2023,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts.c:2024,1
    - Dst: GetPCR
      Src: /src/vlc/modules/demux/mpeg/ts.c:2028,1
    - Dst: PKTHeaderAndAFSize
      Src: /src/vlc/modules/demux/mpeg/ts.c:2030,1
    - Dst: ts_stream_Find_es
      Src: /src/vlc/modules/demux/mpeg/ts.c:2032,1
    - Dst: ts_pes_header_init
      Src: /src/vlc/modules/demux/mpeg/ts.c:2038,1
    - Dst: ParsePESHeader
      Src: /src/vlc/modules/demux/mpeg/ts.c:2039,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ts.c:2047,1
    - Dst: TimeStampWrapAround
      Src: /src/vlc/modules/demux/mpeg/ts.c:2051,1
    - Dst: FROM_SCALE
      Src: /src/vlc/modules/demux/mpeg/ts.c:2051,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/mpeg/ts.c:2054,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts.c:2068,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/mpeg/ts.c:2069,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mpeg/ts.c:2070,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 50
    argCount: 3
    argNames:
    - p_demux
    - p_pmt
    - i_seektime
    argTypes:
    - demux_t*
    - ts_pmt_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2074
      start: 1976
    functionDepth: 3
    functionLinenumber: 1976
    functionLinenumberEnd: 2074
    functionName: SeekToTime
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 4
    functionsReached:
    - ReadTSPacket
    - FROM_SCALE
    - block_Release
    - GetPID
    - VLC_TICK_FROM_MS
    - msg_Err
    - PIDGet
    - ts_stream_Find_es
    - PKTHeaderAndAFSize
    - TimeStampWrapAround
    - msg_Dbg
    - vlc_stream_Seek
    - ts_pes_header_init
    - vlc_stream_Tell
    - GetPCR
    - vlc_stream_GetSize
    - ParsePESHeader
    linkageType: ''
    returnType: int
    signature: int SeekToTime( demux_t *p_demux, const ts_pmt_t *p_pmt, vlc_tick_t
      i_seektime )
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ReadTSPacket
      Src: /src/vlc/modules/demux/mpeg/ts.c:2086,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ts.c:2094,1
    - Dst: PIDGet
      Src: /src/vlc/modules/demux/mpeg/ts.c:2098,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts.c:2099,1
    - Dst: GetPCR
      Src: /src/vlc/modules/demux/mpeg/ts.c:2106,1
    - Dst: PKTHeaderAndAFSize
      Src: /src/vlc/modules/demux/mpeg/ts.c:2120,1
    - Dst: ts_pes_header_init
      Src: /src/vlc/modules/demux/mpeg/ts.c:2124,1
    - Dst: ParsePESHeader
      Src: /src/vlc/modules/demux/mpeg/ts.c:2125,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts.c:2138,1
    - Dst: PIDReferencedByProgram
      Src: /src/vlc/modules/demux/mpeg/ts.c:2144,1
    - Dst: FROM_SCALE
      Src: /src/vlc/modules/demux/mpeg/ts.c:2149,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mpeg/ts.c:2150,1
    - Dst: FROM_SCALE
      Src: /src/vlc/modules/demux/mpeg/ts.c:2155,1
    - Dst: FROM_SCALE
      Src: /src/vlc/modules/demux/mpeg/ts.c:2159,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ts.c:2169,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 48
    argCount: 4
    argNames:
    - p_demux
    - i_program
    - b_end
    - pb_found
    argTypes:
    - demux_t*
    - int
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2173
      start: 2076
    functionDepth: 3
    functionLinenumber: 2076
    functionLinenumberEnd: 2173
    functionName: ProbeChunk
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 0
    functionsReached:
    - ReadTSPacket
    - block_Release
    - GetPID
    - PIDReferencedByProgram
    - PIDGet
    - vlc_stream_Tell
    - PKTHeaderAndAFSize
    - ts_pes_header_init
    - FROM_SCALE
    - GetPCR
    - ParsePESHeader
    linkageType: ''
    returnType: int
    signature: int ProbeChunk( demux_t *p_demux, int i_program, bool b_end, bool *pb_found
      )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mpeg/ts.c:2178,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/demux/mpeg/ts.c:2180,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/mpeg/ts.c:2196,1
    - Dst: ProbeChunk
      Src: /src/vlc/modules/demux/mpeg/ts.c:2199,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/mpeg/ts.c:2208,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - p_demux
    - i_program
    argTypes:
    - demux_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2212
      start: 2175
    functionDepth: 4
    functionLinenumber: 2175
    functionLinenumberEnd: 2212
    functionName: ProbeStart
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 1
    functionsReached:
    - vlc_stream_Seek
    - vlc_stream_Tell
    - ProbeChunk
    - vlc_stream_GetSize
    linkageType: ''
    returnType: int
    signature: int ProbeStart( demux_t *p_demux, int i_program )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mpeg/ts.c:2217,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/demux/mpeg/ts.c:2219,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/mpeg/ts.c:2239,1
    - Dst: ProbeChunk
      Src: /src/vlc/modules/demux/mpeg/ts.c:2242,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/demux/mpeg/ts.c:2251,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - p_demux
    - i_program
    argTypes:
    - demux_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2255
      start: 2214
    functionDepth: 4
    functionLinenumber: 2214
    functionLinenumberEnd: 2255
    functionName: ProbeEnd
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 2
    functionsReached:
    - vlc_stream_Seek
    - vlc_stream_Tell
    - ProbeChunk
    - vlc_stream_GetSize
    linkageType: ''
    returnType: int
    signature: int ProbeEnd( demux_t *p_demux, int i_program )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts.c:2267,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts.c:2287,1
    - Dst: TO_SCALE
      Src: /src/vlc/modules/demux/mpeg/ts.c:2288,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mpeg/ts.c:2304,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mpeg/ts.c:2307,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/demux/mpeg/ts.c:2311,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts.c:2312,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/demux/mpeg/ts.c:2317,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 3
    argNames:
    - p_demux
    - p_pmt
    - i_pcr
    argTypes:
    - demux_t*
    - ts_pmt_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2321
      start: 2257
    functionDepth: 1
    functionLinenumber: 2257
    functionLinenumberEnd: 2321
    functionName: ProgramSetPCR
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 1
    functionsReached:
    - es_out_Control
    - GetPID
    - TO_SCALE
    - msg_Dbg
    - vlc_stream_Tell
    - vlc_stream_GetSize
    linkageType: ''
    returnType: void
    signature: void ProgramSetPCR( demux_t *p_demux, ts_pmt_t *p_pmt, vlc_tick_t i_pcr
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainExtract
      Src: /src/vlc/modules/demux/mpeg/ts.c:2336,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 1
    argNames:
    - p_pid
    argTypes:
    - ts_pid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2343
      start: 2323
    functionDepth: 0
    functionLinenumber: 2323
    functionLinenumberEnd: 2343
    functionName: IsVideoEnd
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 0
    functionsReached:
    - block_ChainExtract
    linkageType: ''
    returnType: int
    signature: int IsVideoEnd( ts_pid_t *p_pid )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: SCRAMBLED
      Src: /src/vlc/modules/demux/mpeg/ts.c:2351,1
    - Dst: block_ChainExtract
      Src: /src/vlc/modules/demux/mpeg/ts.c:2369,1
    - Dst: ts_pes_header_init
      Src: /src/vlc/modules/demux/mpeg/ts.c:2372,1
    - Dst: ParsePESHeader
      Src: /src/vlc/modules/demux/mpeg/ts.c:2374,1
    - Dst: TimeStampWrapAround
      Src: /src/vlc/modules/demux/mpeg/ts.c:2381,1
    - Dst: FROM_SCALE
      Src: /src/vlc/modules/demux/mpeg/ts.c:2381,1
    - Dst: TimeStampWrapAround
      Src: /src/vlc/modules/demux/mpeg/ts.c:2383,1
    - Dst: FROM_SCALE
      Src: /src/vlc/modules/demux/mpeg/ts.c:2383,1
    - Dst: IsVideoEnd
      Src: /src/vlc/modules/demux/mpeg/ts.c:2395,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ts.c:2397,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mpeg/ts.c:2399,1
    - Dst: ts_pes_Drain
      Src: /src/vlc/modules/demux/mpeg/ts.c:2402,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 30
    argCount: 3
    argNames:
    - p_demux
    - p_pmt
    - i_pcr
    argTypes:
    - demux_t*
    - ts_pmt_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2406
      start: 2345
    functionDepth: 3
    functionLinenumber: 2345
    functionLinenumberEnd: 2406
    functionName: PCRCheckDTS
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 0
    functionsReached:
    - block_ChainExtract
    - IsVideoEnd
    - ts_pes_Drain
    - SCRAMBLED
    - TimeStampWrapAround
    - VLC_OBJECT
    - msg_Warn
    - ts_pes_header_init
    - FROM_SCALE
    - ParsePESHeader
    linkageType: ''
    returnType: void
    signature: void PCRCheckDTS( demux_t *p_demux, ts_pmt_t *p_pmt, vlc_tick_t i_pcr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mpeg/ts.c:2417,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts.c:2417,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts.c:2421,1
    - Dst: TimeStampWrapAround
      Src: /src/vlc/modules/demux/mpeg/ts.c:2432,1
    - Dst: FROM_SCALE
      Src: /src/vlc/modules/demux/mpeg/ts.c:2432,1
    - Dst: PIDReferencedByProgram
      Src: /src/vlc/modules/demux/mpeg/ts.c:2436,1
    - Dst: ProgramSetPCR
      Src: /src/vlc/modules/demux/mpeg/ts.c:2439,1
    - Dst: PCRCheckDTS
      Src: /src/vlc/modules/demux/mpeg/ts.c:2448,1
    - Dst: FROM_SCALE
      Src: /src/vlc/modules/demux/mpeg/ts.c:2448,1
    - Dst: ProgramSetPCR
      Src: /src/vlc/modules/demux/mpeg/ts.c:2449,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - p_demux
    - pid
    - i_pcr
    argTypes:
    - demux_t*
    - ts_pid_t*
    - ts_90khz_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2454
      start: 2408
    functionDepth: 4
    functionLinenumber: 2408
    functionLinenumberEnd: 2454
    functionName: PCRHandle
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 1
    functionsReached:
    - ProgramSetPCR
    - GetPID
    - unlikely
    - PCRCheckDTS
    - TimeStampWrapAround
    - FROM_SCALE
    - PIDReferencedByProgram
    linkageType: ''
    returnType: void
    signature: void PCRHandle( demux_t *p_demux, ts_pid_t *pid, ts_90khz_t i_pcr )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SEEN
      Src: /src/vlc/modules/demux/mpeg/ts.c:2464,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 1
    argNames:
    - p_pmt
    argTypes:
    - ts_pmt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2492
      start: 2456
    functionDepth: 1
    functionLinenumber: 2456
    functionLinenumberEnd: 2492
    functionName: FindPCRCandidate
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 1
    functionsReached:
    - SEEN
    linkageType: ''
    returnType: int
    signature: int FindPCRCandidate( ts_pmt_t *p_pmt )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/demux/mpeg/ts.c:2512,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts.c:2515,1
    - Dst: FindPCRCandidate
      Src: /src/vlc/modules/demux/mpeg/ts.c:2517,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts.c:2519,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ts.c:2521,1
    - Dst: UpdatePESFilters
      Src: /src/vlc/modules/demux/mpeg/ts.c:2523,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - p_demux
    - p_pmt
    - p_block
    argTypes:
    - demux_t*
    - ts_pmt_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2527
      start: 2495
    functionDepth: 3
    functionLinenumber: 2495
    functionLinenumberEnd: 2527
    functionName: PCRFixHandle
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 1
    functionsReached:
    - GetPID
    - VLC_TICK_FROM_MS
    - FindPCRCandidate
    - msg_Warn
    - UpdatePESFilters
    linkageType: ''
    returnType: void
    signature: void PCRFixHandle( demux_t *p_demux, ts_pmt_t *p_pmt, block_t *p_block
      )
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts.c:2543,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mpeg/ts.c:2549,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ts.c:2551,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/demux/mpeg/ts.c:2563,1
    - Dst: csa_Decrypt
      Src: /src/vlc/modules/demux/mpeg/ts.c:2564,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/demux/mpeg/ts.c:2565,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ts.c:2580,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ts.c:2589,1
    - Dst: strncmp
      Src: /src/vlc/modules/demux/mpeg/ts.c:2595,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts.c:2600,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts.c:2624,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mpeg/ts.c:2629,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ts.c:2639,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/ts.c:2644,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/ts.c:2653,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mpeg/ts.c:2664,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ts.c:2666,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 65
    argCount: 4
    argNames:
    - p_demux
    - pid
    - p_pkt
    - pi_skip
    argTypes:
    - demux_t*
    - ts_pid_t*
    - block_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2671
      start: 2529
    functionDepth: 1
    functionLinenumber: 2529
    functionLinenumberEnd: 2671
    functionName: ProcessTSPacket
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 1
    functionsReached:
    - block_Release
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - csa_Decrypt
    - memcpy
    - strncmp
    - msg_Dbg
    - msg_Warn
    - unlikely
    - memcmp
    linkageType: ''
    returnType: block_t
    signature: block_t * ProcessTSPacket( demux_t *p_demux, ts_pid_t *pid, block_t
      *p_pkt, int *pi_skip )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mpeg/ts.c:2676,1
    - Dst: TO_SCALE
      Src: /src/vlc/modules/demux/mpeg/ts.c:2686,1
    - Dst: ts_pes_Gather
      Src: /src/vlc/modules/demux/mpeg/ts.c:2689,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - p_demux
    - p_pid
    - p_pkt
    - i_skip
    argTypes:
    - demux_t*
    - ts_pid_t*
    - block_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2693
      start: 2673
    functionDepth: 3
    functionLinenumber: 2673
    functionLinenumberEnd: 2693
    functionName: GatherPESData
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 1
    functionsReached:
    - TO_SCALE
    - VLC_OBJECT
    - ts_pes_Gather
    linkageType: ''
    returnType: bool
    signature: bool GatherPESData( demux_t *p_demux, ts_pid_t *p_pid, block_t *p_pkt,
      size_t i_skip )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mpeg/ts.c:2697,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mpeg/ts.c:2697,1
    - Dst: ts_sections_processor_Reset
      Src: /src/vlc/modules/demux/mpeg/ts.c:2702,1
    - Dst: ts_sections_processor_Push
      Src: /src/vlc/modules/demux/mpeg/ts.c:2707,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ts.c:2711,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - p_demux
    - p_pid
    - p_pkt
    - i_skip
    argTypes:
    - demux_t*
    - ts_pid_t*
    - block_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2714
      start: 2695
    functionDepth: 1
    functionLinenumber: 2695
    functionLinenumberEnd: 2714
    functionName: GatherSectionsData
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 1
    functionsReached:
    - ts_sections_processor_Push
    - block_Release
    - ts_sections_processor_Reset
    - VLC_UNUSED
    linkageType: ''
    returnType: bool
    signature: bool GatherSectionsData( demux_t *p_demux, ts_pid_t *p_pid, block_t
      *p_pkt, size_t i_skip )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - p_sys
    - v
    argTypes:
    - demux_sys_t*
    - ts_standards_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2722
      start: 2716
    functionDepth: 0
    functionLinenumber: 2716
    functionLinenumberEnd: 2722
    functionName: TsChangeStandard
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TsChangeStandard( demux_sys_t *p_sys, ts_standards_e v )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - p_sys
    - i_pgrm
    argTypes:
    - demux_sys_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2734
      start: 2724
    functionDepth: 0
    functionLinenumber: 2724
    functionLinenumberEnd: 2734
    functionName: ProgramIsSelected
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ProgramIsSelected( demux_sys_t *p_sys, uint16_t i_pgrm )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - p_pmt
    - i_pid
    argTypes:
    - ts_pmt_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2743
      start: 2736
    functionDepth: 0
    functionLinenumber: 2736
    functionLinenumberEnd: 2743
    functionName: PIDReferencedByProgram
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PIDReferencedByProgram( const ts_pmt_t *p_pmt, uint16_t i_pid
      )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/mpeg/ts.c:2755,1
    - Dst: DoCreateES
      Src: /src/vlc/modules/demux/mpeg/ts.c:2764,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - p_demux
    - p_es
    - p_parent_es
    argTypes:
    - demux_t*
    - ts_es_t*
    - ts_es_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2766
      start: 2745
    functionDepth: 1
    functionLinenumber: 2745
    functionLinenumberEnd: 2766
    functionName: DoCreateES
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 1
    functionsReached:
    - DoCreateES
    - es_out_Add
    linkageType: ''
    returnType: void
    signature: void DoCreateES( demux_t *p_demux, ts_es_t *p_es, const ts_es_t *p_parent_es
      )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DoCreateES
      Src: /src/vlc/modules/demux/mpeg/ts.c:2777,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts.c:2786,1
    - Dst: GetPID
      Src: /src/vlc/modules/demux/mpeg/ts.c:2792,1
    - Dst: DoCreateES
      Src: /src/vlc/modules/demux/mpeg/ts.c:2797,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - p_demux
    - pid
    - b_create_delayed
    argTypes:
    - demux_t*
    - ts_pid_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2800
      start: 2768
    functionDepth: 2
    functionLinenumber: 2768
    functionLinenumberEnd: 2800
    functionName: AddAndCreateES
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts.c
    functionUses: 2
    functionsReached:
    - DoCreateES
    - msg_Dbg
    - GetPID
    linkageType: ''
    returnType: void
    signature: void AddAndCreateES( demux_t *p_demux, ts_pid_t *pid, bool b_create_delayed
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: scte18_get_EAS_priority
      Src: /src/vlc/modules/demux/mpeg/ts_scte.c:52,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/ts_scte.c:53,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/mpeg/ts_scte.c:60,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/mpeg/ts_scte.c:64,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/ts_scte.c:65,1
    - Dst: es_out_Control
      Src: /src/vlc/modules/demux/mpeg/ts_scte.c:68,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/mpeg/ts_scte.c:69,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - p_handle
    - p_section
    - p_base_pid
    argTypes:
    - dvbpsi_t*
    - dvbpsi_psi_section_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 72
    functionName: SCTE18_Section_Callback
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_scte.c
    functionUses: 0
    functionsReached:
    - es_out_Control
    - es_out_Send
    - memcpy
    - block_Alloc
    - msg_Dbg
    - es_out_Add
    - scte18_get_EAS_priority
    linkageType: ''
    returnType: void
    signature: "void SCTE18_Section_Callback( dvbpsi_t *p_handle, const dvbpsi_psi_section_t*
      p_section,\n                              void *p_base_pid )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mpeg/ts_scte.c:79,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mpeg/ts_scte.c:79,1
    - Dst: assert
      Src: /src/vlc/modules/demux/mpeg/ts_scte.c:81,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/demux/mpeg/ts_scte.c:85,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mpeg/ts_scte.c:86,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mpeg/ts_scte.c:86,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/ts_scte.c:88,1
    - Dst: FROM_SCALE
      Src: /src/vlc/modules/demux/mpeg/ts_scte.c:104,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mpeg/ts_scte.c:104,1
    - Dst: FROM_SCALE_NZ
      Src: /src/vlc/modules/demux/mpeg/ts_scte.c:106,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/mpeg/ts_scte.c:117,1
    - Dst: block_Release
      Src: /src/vlc/modules/demux/mpeg/ts_scte.c:119,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 6
    argNames:
    - p_demux
    - p_sectiondata
    - i_sectiondata
    - p_payloaddata
    - i_payloaddata
    - p_pes_cb_data
    argTypes:
    - demux_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - void*
    assertStmts:
    - condition: ( p_pes->p_es->fmt.i_codec == VLC_CODEC_SCTE_27 )
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/vlc/modules/demux/mpeg/ts_scte.c
    constantsTouched: []
    func_position:
      end: 120
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 120
    functionName: SCTE27_Section_Callback
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_scte.c
    functionUses: 0
    functionsReached:
    - block_Release
    - assert
    - es_out_Send
    - memcpy
    - block_Alloc
    - FROM_SCALE_NZ
    - GetDWBE
    - FROM_SCALE
    - unlikely
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void SCTE27_Section_Callback( demux_t *p_demux,\n                              const
      uint8_t *p_sectiondata, size_t i_sectiondata,\n                              const
      uint8_t *p_payloaddata, size_t i_payloaddata,\n                              void
      *p_pes_cb_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_t*::pf_control
      Src: /src/vlc/modules/demux/mpeg/ts_streamwrapper.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - i_query
    - va
    argTypes:
    - stream_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: ts_stream_wrapper_Control
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_streamwrapper.h
    functionUses: 0
    functionsReached:
    - stream_t*::pf_control
    linkageType: ''
    returnType: int
    signature: int ts_stream_wrapper_Control(stream_t *s, int i_query, va_list va)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_t*::pf_read
      Src: /src/vlc/modules/demux/mpeg/ts_streamwrapper.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - buf
    - len
    argTypes:
    - stream_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: ts_stream_wrapper_Read
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_streamwrapper.h
    functionUses: 0
    functionsReached:
    - stream_t*::pf_read
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t ts_stream_wrapper_Read(stream_t *s, void *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_t*::pf_block
      Src: /src/vlc/modules/demux/mpeg/ts_streamwrapper.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - eof
    argTypes:
    - stream_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: ts_stream_wrapper_ReadBlock
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_streamwrapper.h
    functionUses: 0
    functionsReached:
    - stream_t*::pf_block
    linkageType: ''
    returnType: block_t
    signature: block_t * ts_stream_wrapper_ReadBlock(stream_t *s, bool *restrict eof)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_t*::pf_seek
      Src: /src/vlc/modules/demux/mpeg/ts_streamwrapper.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - stream_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: ts_stream_wrapper_Seek
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_streamwrapper.h
    functionUses: 0
    functionsReached:
    - stream_t*::pf_seek
    linkageType: ''
    returnType: int
    signature: int ts_stream_wrapper_Seek(stream_t *s, uint64_t pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/demux/mpeg/ts_streamwrapper.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: ts_stream_wrapper_Destroy
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_streamwrapper.h
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void ts_stream_wrapper_Destroy(stream_t *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_CommonNew
      Src: /src/vlc/modules/demux/mpeg/ts_streamwrapper.h:53,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mpeg/ts_streamwrapper.h:53,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - demuxstream
    argTypes:
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 69
    functionName: ts_stream_wrapper_New
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_streamwrapper.h
    functionUses: 1
    functionsReached:
    - VLC_OBJECT
    - vlc_stream_CommonNew
    linkageType: ''
    returnType: stream_t
    signature: stream_t * ts_stream_wrapper_New(stream_t *demuxstream)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: hevc_getNALType
      Src: /src/vlc/modules/demux/mpeg/h26x.c:122,1
    - Dst: hevc_getNALLayer
      Src: /src/vlc/modules/demux/mpeg/h26x.c:123,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 38
    argCount: 3
    argNames:
    - p_peek
    - i_peek
    - p_priv
    argTypes:
    - uint8_t*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 169
    functionName: ProbeHEVC
    functionSourceFile: /src/vlc/modules/demux/mpeg/h26x.c
    functionUses: 0
    functionsReached:
    - hevc_getNALLayer
    - hevc_getNALType
    linkageType: ''
    returnType: int
    signature: int ProbeHEVC( const uint8_t *p_peek, size_t i_peek, void *p_priv )
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 38
    argCount: 3
    argNames:
    - p_peek
    - i_peek
    - p_priv
    argTypes:
    - uint8_t*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 231
    functionName: ProbeH264
    functionSourceFile: /src/vlc/modules/demux/mpeg/h26x.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ProbeH264( const uint8_t *p_peek, size_t i_peek, void *p_priv )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pf_check
      Src: /src/vlc/modules/demux/mpeg/h26x.c:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - p_demux
    - pp_psz
    argTypes:
    - demux_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 246
    functionName: check_Property
    functionSourceFile: /src/vlc/modules/demux/mpeg/h26x.c
    functionUses: 0
    functionsReached:
    - pf_check
    linkageType: ''
    returnType: bool
    signature: "bool check_Property( demux_t *p_demux, const char **pp_psz,\n                                   bool(*pf_check)(demux_t
      *, const char *) )"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: check_Property
      Src: /src/vlc/modules/demux/mpeg/h26x.c:263,1
    - Dst: check_Property
      Src: /src/vlc/modules/demux/mpeg/h26x.c:264,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mpeg/h26x.c:270,1
    - Dst: memcmp
      Src: /src/vlc/modules/demux/mpeg/h26x.c:271,1
    - Dst: vlc_stream_Peek
      Src: /src/vlc/modules/demux/mpeg/h26x.c:288,1
    - Dst: pf_probe
      Src: /src/vlc/modules/demux/mpeg/h26x.c:306,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/demux/mpeg/h26x.c:321,1
    - Dst: msg_Err
      Src: /src/vlc/modules/demux/mpeg/h26x.c:325,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mpeg/h26x.c:331,1
    - Dst: asprintf
      Src: /src/vlc/modules/demux/mpeg/h26x.c:338,1
    - Dst: var_CreateGetFloat
      Src: /src/vlc/modules/demux/mpeg/h26x.c:340,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/h26x.c:341,1
    - Dst: date_Init
      Src: /src/vlc/modules/demux/mpeg/h26x.c:349,1
    - Dst: date_Init
      Src: /src/vlc/modules/demux/mpeg/h26x.c:352,1
    - Dst: date_Set
      Src: /src/vlc/modules/demux/mpeg/h26x.c:353,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/demux/mpeg/h26x.c:357,1
    - Dst: demux_PacketizerNew
      Src: /src/vlc/modules/demux/mpeg/h26x.c:363,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/demux/mpeg/h26x.c:363,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/h26x.c:366,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 67
    argCount: 6
    argNames:
    - p_demux
    - psz_module
    - i_codec
    - p_ctx
    - pp_psz_exts
    - pp_psz_mimes
    argTypes:
    - demux_t*
    - char*
    - vlc_fourcc_t
    - void*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 371
    functionName: GenericOpen
    functionSourceFile: /src/vlc/modules/demux/mpeg/h26x.c
    functionUses: 0
    functionsReached:
    - asprintf
    - vlc_stream_Peek
    - demux_PacketizerNew
    - date_Init
    - date_Set
    - pf_probe
    - msg_Err
    - free
    - malloc
    - check_Property
    - VLC_OBJECT
    - msg_Warn
    - var_CreateGetFloat
    - es_format_Init
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int GenericOpen( demux_t *p_demux, const char *psz_module,\n                        vlc_fourcc_t
      i_codec,\n                        int(*pf_probe)(const uint8_t *, size_t, void
      *),\n                        void *p_ctx,\n                        const char
      **pp_psz_exts,\n                        const char **pp_psz_mimes )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericOpen
      Src: /src/vlc/modules/demux/mpeg/h26x.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 384
    functionName: OpenH264
    functionSourceFile: /src/vlc/modules/demux/mpeg/h26x.c
    functionUses: 0
    functionsReached:
    - GenericOpen
    linkageType: ''
    returnType: int
    signature: int OpenH264( vlc_object_t * p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericOpen
      Src: /src/vlc/modules/demux/mpeg/h26x.c:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 386
    functionDepth: 3
    functionLinenumber: 386
    functionLinenumberEnd: 394
    functionName: OpenHEVC
    functionSourceFile: /src/vlc/modules/demux/mpeg/h26x.c
    functionUses: 0
    functionsReached:
    - GenericOpen
    linkageType: ''
    returnType: int
    signature: int OpenHEVC( vlc_object_t * p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: demux_PacketizerDestroy
      Src: /src/vlc/modules/demux/mpeg/h26x.c:404,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/h26x.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 406
    functionName: Close
    functionSourceFile: /src/vlc/modules/demux/mpeg/h26x.c
    functionUses: 128
    functionsReached:
    - demux_PacketizerDestroy
    - free
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t * p_this )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/demux/mpeg/h26x.c:419,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/mpeg/h26x.c:426,1
    - Dst: demux_sys_t*::p_packetizer::pf_packetize
      Src: /src/vlc/modules/demux/mpeg/h26x.c:429,1
    - Dst: date_Change
      Src: /src/vlc/modules/demux/mpeg/h26x.c:444,1
    - Dst: date_Change
      Src: /src/vlc/modules/demux/mpeg/h26x.c:445,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/demux/mpeg/h26x.c:446,1
    - Dst: date_Increment
      Src: /src/vlc/modules/demux/mpeg/h26x.c:455,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/mpeg/h26x.c:463,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/demux/mpeg/h26x.c:471,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/demux/mpeg/h26x.c:474,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/mpeg/h26x.c:484,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/mpeg/h26x.c:485,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/mpeg/h26x.c:485,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/demux/mpeg/h26x.c:487,1
    - Dst: date_Get
      Src: /src/vlc/modules/demux/mpeg/h26x.c:489,1
    - Dst: round
      Src: /src/vlc/modules/demux/mpeg/h26x.c:496,1
    - Dst: date_Increment
      Src: /src/vlc/modules/demux/mpeg/h26x.c:502,1
    - Dst: es_out_SetPCR
      Src: /src/vlc/modules/demux/mpeg/h26x.c:506,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 512
    functionName: Demux
    functionSourceFile: /src/vlc/modules/demux/mpeg/h26x.c
    functionUses: 27
    functionsReached:
    - demux_sys_t*::p_packetizer::pf_packetize
    - es_out_Send
    - block_ChainRelease
    - round
    - msg_Dbg
    - date_Get
    - vlc_stream_Block
    - date_Increment
    - date_Change
    - es_out_Add
    - es_out_SetPCR
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/demux/mpeg/h26x.c:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 527
    functionName: Control
    functionSourceFile: /src/vlc/modules/demux/mpeg/h26x.c
    functionUses: 187
    functionsReached:
    - demux_vaControlHelper
    linkageType: ''
    returnType: int
    signature: int Control( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: FROM_SCALE_NZ
    functionSourceFile: /src/vlc/modules/demux/mpeg/timestamps.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FROM_SCALE_NZ(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: TO_SCALE_NZ
    functionSourceFile: /src/vlc/modules/demux/mpeg/timestamps.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TO_SCALE_NZ(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: FROM_SCALE
    functionSourceFile: /src/vlc/modules/demux/mpeg/timestamps.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FROM_SCALE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: TO_SCALE
    functionSourceFile: /src/vlc/modules/demux/mpeg/timestamps.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TO_SCALE(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - i_past_pcr
    - i_time
    argTypes:
    - vlc_tick_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 51
    functionName: TimeStampWrapAround
    functionSourceFile: /src/vlc/modules/demux/mpeg/timestamps.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t TimeStampWrapAround( vlc_tick_t i_past_pcr, vlc_tick_t i_time
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dvbpsi_atsc_NewSTT
      Src: /src/vlc/modules/demux/mpeg/ts_psip_dvbpsi_fixes.c:44,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mpeg/ts_psip_dvbpsi_fixes.c:45,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mpeg/ts_psip_dvbpsi_fixes.c:48,1
    - Dst: GetWBE
      Src: /src/vlc/modules/demux/mpeg/ts_psip_dvbpsi_fixes.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - p_section
    argTypes:
    - dvbpsi_psi_section_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 56
    functionName: DVBPlague_STT_Decode
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psip_dvbpsi_fixes.c
    functionUses: 1
    functionsReached:
    - GetWBE
    - dvbpsi_atsc_NewSTT
    - unlikely
    - GetDWBE
    linkageType: ''
    returnType: dvbpsi_atsc_stt_t
    signature: dvbpsi_atsc_stt_t * DVBPlague_STT_Decode( const dvbpsi_psi_section_t*
      p_section )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dvbpsi_atsc_NewETT
      Src: /src/vlc/modules/demux/mpeg/ts_psip_dvbpsi_fixes.c:64,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/demux/mpeg/ts_psip_dvbpsi_fixes.c:66,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/mpeg/ts_psip_dvbpsi_fixes.c:67,1
    - Dst: malloc
      Src: /src/vlc/modules/demux/mpeg/ts_psip_dvbpsi_fixes.c:71,1
    - Dst: likely
      Src: /src/vlc/modules/demux/mpeg/ts_psip_dvbpsi_fixes.c:72,1
    - Dst: memcpy
      Src: /src/vlc/modules/demux/mpeg/ts_psip_dvbpsi_fixes.c:74,1
    - Dst: dvbpsi_atsc_DeleteETT
      Src: /src/vlc/modules/demux/mpeg/ts_psip_dvbpsi_fixes.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - p_section
    argTypes:
    - dvbpsi_psi_section_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 87
    functionName: DVBPlague_ETT_Decode
    functionSourceFile: /src/vlc/modules/demux/mpeg/ts_psip_dvbpsi_fixes.c
    functionUses: 1
    functionsReached:
    - memcpy
    - likely
    - GetDWBE
    - dvbpsi_atsc_NewETT
    - unlikely
    - malloc
    - dvbpsi_atsc_DeleteETT
    linkageType: ''
    returnType: dvbpsi_atsc_ett_t
    signature: dvbpsi_atsc_ett_t * DVBPlague_ETT_Decode( const dvbpsi_psi_section_t*
      p_section )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/vlc/modules/demux/mpeg/sections.c:59,1
    - Dst: ts_sections_processor_t*::pf_callback
      Src: /src/vlc/modules/demux/mpeg/sections.c:73,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - p_dvbpsi
    - p_section
    - p_proc_cb_data
    argTypes:
    - dvbpsi_t*
    - dvbpsi_psi_section_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 80
    functionName: ts_subdecoder_rawsection_Callback
    functionSourceFile: /src/vlc/modules/demux/mpeg/sections.c
    functionUses: 0
    functionsReached:
    - ts_sections_processor_t*::pf_callback
    - likely
    linkageType: ''
    returnType: void
    signature: "void ts_subdecoder_rawsection_Callback( dvbpsi_t *p_dvbpsi,\n                                               const
      dvbpsi_psi_section_t* p_section,\n                                               void*
      p_proc_cb_data )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/demux/mpeg/sections.c:98,1
    - Dst: dvbpsi_new
      Src: /src/vlc/modules/demux/mpeg/sections.c:104,1
    - Dst: ts_dvbpsi_AttachRawDecoder
      Src: /src/vlc/modules/demux/mpeg/sections.c:108,1
    - Dst: ts_sections_processor_ChainDelete
      Src: /src/vlc/modules/demux/mpeg/sections.c:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 6
    argNames:
    - p_demux
    - pp_chain
    - i_table_id
    - i_extension_id
    - pf_callback
    - p_callback_data
    argTypes:
    - demux_t*
    - ts_sections_processor_t**
    - uint8_t
    - uint16_t
    - ts_section_processor_callback_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 118
    functionName: ts_sections_processor_Add
    functionSourceFile: /src/vlc/modules/demux/mpeg/sections.c
    functionUses: 2
    functionsReached:
    - dvbpsi_new
    - ts_sections_processor_ChainDelete
    - ts_dvbpsi_AttachRawDecoder
    - malloc
    linkageType: ''
    returnType: void
    signature: "void ts_sections_processor_Add( demux_t *p_demux,\n                                ts_sections_processor_t
      **pp_chain,\n                                uint8_t i_table_id, uint16_t i_extension_id,\n
      \                               ts_section_processor_callback_t pf_callback,\n
      \                               void *p_callback_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts_dvbpsi_DetachRawDecoder
      Src: /src/vlc/modules/demux/mpeg/sections.c:124,1
    - Dst: dvbpsi_delete
      Src: /src/vlc/modules/demux/mpeg/sections.c:125,1
    - Dst: free
      Src: /src/vlc/modules/demux/mpeg/sections.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_chain
    argTypes:
    - ts_sections_processor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: ts_sections_processor_ChainDelete
    functionSourceFile: /src/vlc/modules/demux/mpeg/sections.c
    functionUses: 2
    functionsReached:
    - free
    - ts_dvbpsi_DetachRawDecoder
    - dvbpsi_delete
    linkageType: ''
    returnType: void
    signature: void ts_sections_processor_ChainDelete( ts_sections_processor_t *p_chain
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dvbpsi_decoder_reset
      Src: /src/vlc/modules/demux/mpeg/sections.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_chain
    argTypes:
    - ts_sections_processor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 139
    functionName: ts_sections_processor_Reset
    functionSourceFile: /src/vlc/modules/demux/mpeg/sections.c
    functionUses: 2
    functionsReached:
    - dvbpsi_decoder_reset
    linkageType: ''
    returnType: void
    signature: void ts_sections_processor_Reset( ts_sections_processor_t *p_chain
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dvbpsi_packet_push
      Src: /src/vlc/modules/demux/mpeg/sections.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_chain
    - p_buf
    argTypes:
    - ts_sections_processor_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: ts_sections_processor_Push
    functionSourceFile: /src/vlc/modules/demux/mpeg/sections.c
    functionUses: 1
    functionsReached:
    - dvbpsi_packet_push
    linkageType: ''
    returnType: void
    signature: "void ts_sections_processor_Push( ts_sections_processor_t *p_chain,\n
      \                                const uint8_t *p_buf )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: ENDIAN
    functionSourceFile: /src/vlc/modules/demux/json/json.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENDIAN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: ENDIAN
    functionSourceFile: /src/vlc/modules/demux/json/json.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENDIAN(x)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/demux/json/json.c:46,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/json/json.c:48,1
    - Dst: vlc_iconv_open
      Src: /src/vlc/modules/demux/json/json.c:51,1
    - Dst: ENDIAN
      Src: /src/vlc/modules/demux/json/json.c:51,1
    - Dst: unlikely
      Src: /src/vlc/modules/demux/json/json.c:53,1
    - Dst: free
      Src: /src/vlc/modules/demux/json/json.c:54,1
    - Dst: vlc_iconv
      Src: /src/vlc/modules/demux/json/json.c:60,1
    - Dst: vlc_iconv_close
      Src: /src/vlc/modules/demux/json/json.c:62,1
    - Dst: free
      Src: /src/vlc/modules/demux/json/json.c:65,1
    - Dst: sscanf
      Src: /src/vlc/modules/demux/json/json.c:105,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/demux/json/json.c:106,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/demux/json/json.c:113,1
    - Dst: assert
      Src: /src/vlc/modules/demux/json/json.c:117,1
    - Dst: FromCharset
      Src: /src/vlc/modules/demux/json/json.c:124,1
    - Dst: ENDIAN
      Src: /src/vlc/modules/demux/json/json.c:124,1
    - Dst: free
      Src: /src/vlc/modules/demux/json/json.c:126,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 2
    argNames:
    - in
    - inlen
    argTypes:
    - char*
    - size_t
    assertStmts:
    - condition: (out2 < in2)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/vlc/modules/demux/json/json.c
    constantsTouched: []
    func_position:
      end: 128
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 128
    functionName: json_unescape
    functionSourceFile: /src/vlc/modules/demux/json/json.c
    functionUses: 0
    functionsReached:
    - sscanf
    - assert
    - vlc_assert_unreachable
    - vlc_iconv_open
    - vlc_iconv_close
    - free
    - malloc
    - vlc_iconv
    - FromCharset
    - unlikely
    - ENDIAN
    linkageType: ''
    returnType: char
    signature: char *json_unescape(const char *in, size_t inlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/demux/json/json.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - obj
    - name
    argTypes:
    - struct json_object*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: json_get
    functionSourceFile: /src/vlc/modules/demux/json/json.c
    functionUses: 6
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: struct json_value
    signature: "struct json_value *json_get(const struct json_object *obj,\n                                  const
      char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_get
      Src: /src/vlc/modules/demux/json/json.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - obj
    - name
    argTypes:
    - struct json_object*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: json_get_object
    functionSourceFile: /src/vlc/modules/demux/json/json.c
    functionUses: 0
    functionsReached:
    - json_get
    linkageType: ''
    returnType: struct json_object
    signature: "struct json_object *json_get_object(const struct json_object *obj,\n
      \                                         const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_get
      Src: /src/vlc/modules/demux/json/json.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - obj
    - name
    argTypes:
    - struct json_object*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: json_get_array
    functionSourceFile: /src/vlc/modules/demux/json/json.c
    functionUses: 0
    functionsReached:
    - json_get
    linkageType: ''
    returnType: struct json_array
    signature: "struct json_array *json_get_array(const struct json_object *obj,\n
      \                                const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_get
      Src: /src/vlc/modules/demux/json/json.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - obj
    - name
    argTypes:
    - struct json_object*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: json_get_str
    functionSourceFile: /src/vlc/modules/demux/json/json.c
    functionUses: 8
    functionsReached:
    - json_get
    linkageType: ''
    returnType: char
    signature: char *json_get_str(const struct json_object *obj, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_get
      Src: /src/vlc/modules/demux/json/json.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - obj
    - name
    argTypes:
    - struct json_object*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: json_get_num
    functionSourceFile: /src/vlc/modules/demux/json/json.c
    functionUses: 3
    functionsReached:
    - json_get
    linkageType: ''
    returnType: double
    signature: double json_get_num(const struct json_object *obj, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/vlc/modules/access_output/file.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - p_access
    - p_buffer
    argTypes:
    - sout_access_out_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: Read
    functionSourceFile: /src/vlc/modules/access_output/file.c
    functionUses: 177
    functionsReached:
    - read
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Read( sout_access_out_t *p_access, block_t *p_buffer )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/vlc/modules/access_output/file.c:85,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/access_output/file.c:90,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/file.c:91,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access_output/file.c:91,1
    - Dst: block_Release
      Src: /src/vlc/modules/access_output/file.c:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - p_access
    - p_buffer
    argTypes:
    - sout_access_out_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 109
    functionName: Write
    functionSourceFile: /src/vlc/modules/access_output/file.c
    functionUses: 49
    functionsReached:
    - block_Release
    - vlc_strerror_c
    - block_ChainRelease
    - write
    - msg_Err
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Write( sout_access_out_t *p_access, block_t *p_buffer )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/access_output/file.c:121,1
    - Dst: vlc_write
      Src: /src/vlc/modules/access_output/file.c:127,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/access_output/file.c:133,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/file.c:134,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access_output/file.c:134,1
    - Dst: assert
      Src: /src/vlc/modules/access_output/file.c:141,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - access
    - block
    argTypes:
    - sout_access_out_t*
    - block_t*
    assertStmts:
    - condition: ((size_t)val <= block->i_buffer)
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/vlc/modules/access_output/file.c
    constantsTouched: []
    func_position:
      end: 147
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 147
    functionName: WritePipe
    functionSourceFile: /src/vlc/modules/access_output/file.c
    functionUses: 0
    functionsReached:
    - block_Release
    - vlc_strerror_c
    - assert
    - block_ChainRelease
    - vlc_write
    - msg_Err
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t WritePipe(sout_access_out_t *access, block_t *block)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/access_output/file.c:160,1
    - Dst: vlc_send
      Src: /src/vlc/modules/access_output/file.c:166,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/access_output/file.c:171,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/file.c:172,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access_output/file.c:172,1
    - Dst: assert
      Src: /src/vlc/modules/access_output/file.c:178,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - access
    - block
    argTypes:
    - sout_access_out_t*
    - block_t*
    assertStmts:
    - condition: ((size_t)val <= block->i_buffer)
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/vlc/modules/access_output/file.c
    constantsTouched: []
    func_position:
      end: 183
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 183
    functionName: Send
    functionSourceFile: /src/vlc/modules/access_output/file.c
    functionUses: 164
    functionsReached:
    - vlc_send
    - block_Release
    - vlc_strerror_c
    - assert
    - block_ChainRelease
    - msg_Err
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Send(sout_access_out_t *access, block_t *block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lseek
      Src: /src/vlc/modules/access_output/file.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_access
    - i_pos
    argTypes:
    - sout_access_out_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: Seek
    functionSourceFile: /src/vlc/modules/access_output/file.c
    functionUses: 156
    functionsReached:
    - lseek
    linkageType: ''
    returnType: int
    signature: int Seek( sout_access_out_t *p_access, uint64_t i_pos )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access_output/file.c:202,1
    - Dst: strcmp
      Src: /src/vlc/modules/access_output/file.c:203,1
    - Dst: va_arg
      Src: /src/vlc/modules/access_output/file.c:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - p_access
    - i_query
    - args
    argTypes:
    - sout_access_out_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 218
    functionName: Control
    functionSourceFile: /src/vlc/modules/access_output/file.c
    functionUses: 187
    functionsReached:
    - strcmp
    - va_arg
    linkageType: ''
    returnType: int
    signature: int Control( sout_access_out_t *p_access, int i_query, va_list args
      )
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/access_output/file.c:237,1
    - Dst: unlikely
      Src: /src/vlc/modules/access_output/file.c:239,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/access_output/file.c:242,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/access_output/file.c:244,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/access_output/file.c:245,1
    - Dst: strcmp
      Src: /src/vlc/modules/access_output/file.c:247,1
    - Dst: strtol
      Src: /src/vlc/modules/access_output/file.c:251,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/file.c:254,1
    - Dst: vlc_dup
      Src: /src/vlc/modules/access_output/file.c:258,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/file.c:261,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access_output/file.c:262,1
    - Dst: strcmp
      Src: /src/vlc/modules/access_output/file.c:267,1
    - Dst: setmode
      Src: /src/vlc/modules/access_output/file.c:270,1
    - Dst: vlc_dup
      Src: /src/vlc/modules/access_output/file.c:272,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/file.c:275,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access_output/file.c:276,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access_output/file.c:279,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/access_output/file.c:286,1
    - Dst: vlc_strftime
      Src: /src/vlc/modules/access_output/file.c:288,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/access_output/file.c:298,1
    - Dst: vlc_open
      Src: /src/vlc/modules/access_output/file.c:303,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/file.c:307,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access_output/file.c:308,1
    - Dst: vlc_dialog_wait_question
      Src: /src/vlc/modules/access_output/file.c:313,1
    - Dst: _
      Src: /src/vlc/modules/access_output/file.c:314,1
    - Dst: _
      Src: /src/vlc/modules/access_output/file.c:315,1
    - Dst: _
      Src: /src/vlc/modules/access_output/file.c:316,1
    - Dst: free
      Src: /src/vlc/modules/access_output/file.c:319,1
    - Dst: fstat
      Src: /src/vlc/modules/access_output/file.c:329,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/file.c:331,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access_output/file.c:331,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access_output/file.c:332,1
    - Dst: S_ISREG
      Src: /src/vlc/modules/access_output/file.c:338,1
    - Dst: S_ISBLK
      Src: /src/vlc/modules/access_output/file.c:338,1
    - Dst: S_ISSOCK
      Src: /src/vlc/modules/access_output/file.c:344,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 66
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 354
    functionName: Open
    functionSourceFile: /src/vlc/modules/access_output/file.c
    functionUses: 39
    functionsReached:
    - vlc_strerror_c
    - vlc_obj_malloc
    - vlc_strftime
    - S_ISBLK
    - fstat
    - _
    - msg_Err
    - msg_Dbg
    - vlc_dialog_wait_question
    - vlc_open
    - vlc_dup
    - var_InheritBool
    - strcmp
    - S_ISREG
    - var_GetBool
    - vlc_close
    - setmode
    - S_ISSOCK
    - config_ChainParse
    - free
    - strtol
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_close
      Src: /src/vlc/modules/access_output/file.c:372,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access_output/file.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 374
    functionName: Close
    functionSourceFile: /src/vlc/modules/access_output/file.c
    functionUses: 128
    functionsReached:
    - vlc_close
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t * p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - struct metacube2_block_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 166
    functionName: metacube2_compute_crc
    functionSourceFile: /src/vlc/modules/access_output/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t metacube2_compute_crc(const struct metacube2_block_header
      *hdr)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/access_output/http.c:181,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/access_output/http.c:184,1
    - Dst: strcspn
      Src: /src/vlc/modules/access_output/http.c:187,1
    - Dst: strrchr
      Src: /src/vlc/modules/access_output/http.c:190,1
    - Dst: strchr
      Src: /src/vlc/modules/access_output/http.c:191,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access_output/http.c:196,1
    - Dst: msg_Info
      Src: /src/vlc/modules/access_output/http.c:199,1
    - Dst: strncpy
      Src: /src/vlc/modules/access_output/http.c:203,1
    - Dst: var_Create
      Src: /src/vlc/modules/access_output/http.c:206,1
    - Dst: var_SetString
      Src: /src/vlc/modules/access_output/http.c:207,1
    - Dst: atoi
      Src: /src/vlc/modules/access_output/http.c:218,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/access_output/http.c:221,1
    - Dst: var_Create
      Src: /src/vlc/modules/access_output/http.c:223,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/access_output/http.c:224,1
    - Dst: strcmp
      Src: /src/vlc/modules/access_output/http.c:232,1
    - Dst: vlc_https_HostNew
      Src: /src/vlc/modules/access_output/http.c:233,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access_output/http.c:233,1
    - Dst: vlc_http_HostNew
      Src: /src/vlc/modules/access_output/http.c:235,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access_output/http.c:235,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/http.c:239,1
    - Dst: free
      Src: /src/vlc/modules/access_output/http.c:240,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/access_output/http.c:244,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/access_output/http.c:245,1
    - Dst: strcmp
      Src: /src/vlc/modules/access_output/http.c:246,1
    - Dst: strdup
      Src: /src/vlc/modules/access_output/http.c:248,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/access_output/http.c:252,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/access_output/http.c:255,1
    - Dst: httpd_StreamNew
      Src: /src/vlc/modules/access_output/http.c:259,1
    - Dst: free
      Src: /src/vlc/modules/access_output/http.c:261,1
    - Dst: free
      Src: /src/vlc/modules/access_output/http.c:262,1
    - Dst: free
      Src: /src/vlc/modules/access_output/http.c:263,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/http.c:267,1
    - Dst: httpd_HostDelete
      Src: /src/vlc/modules/access_output/http.c:268,1
    - Dst: free
      Src: /src/vlc/modules/access_output/http.c:270,1
    - Dst: httpd_StreamSetHTTPHeaders
      Src: /src/vlc/modules/access_output/http.c:279,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/access_output/http.c:280,1
    - Dst: free
      Src: /src/vlc/modules/access_output/http.c:283,1
    - Dst: xmalloc
      Src: /src/vlc/modules/access_output/http.c:290,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 66
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 297
    functionName: Open
    functionSourceFile: /src/vlc/modules/access_output/http.c
    functionUses: 39
    functionsReached:
    - atoi
    - strchr
    - vlc_https_HostNew
    - ARRAY_SIZE
    - vlc_http_HostNew
    - var_Create
    - msg_Err
    - strcspn
    - strcasecmp
    - msg_Warn
    - strdup
    - httpd_HostDelete
    - strrchr
    - var_GetNonEmptyString
    - strcmp
    - strncpy
    - var_GetBool
    - httpd_StreamSetHTTPHeaders
    - config_ChainParse
    - var_SetInteger
    - msg_Info
    - free
    - xmalloc
    - VLC_OBJECT
    - httpd_StreamNew
    - var_SetString
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: httpd_StreamDelete
      Src: /src/vlc/modules/access_output/http.c:307,1
    - Dst: httpd_HostDelete
      Src: /src/vlc/modules/access_output/http.c:308,1
    - Dst: free
      Src: /src/vlc/modules/access_output/http.c:310,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access_output/http.c:312,1
    - Dst: free
      Src: /src/vlc/modules/access_output/http.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 315
    functionName: Close
    functionSourceFile: /src/vlc/modules/access_output/http.c
    functionUses: 128
    functionsReached:
    - free
    - httpd_HostDelete
    - msg_Dbg
    - httpd_StreamDelete
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t * p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access_output/http.c:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - p_access
    - i_query
    - args
    argTypes:
    - sout_access_out_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 331
    functionName: Control
    functionSourceFile: /src/vlc/modules/access_output/http.c
    functionUses: 187
    functionsReached:
    - va_arg
    linkageType: ''
    returnType: int
    signature: int Control( sout_access_out_t *p_access, int i_query, va_list args
      )
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: xrealloc
      Src: /src/vlc/modules/access_output/http.c:360,1
    - Dst: memcpy
      Src: /src/vlc/modules/access_output/http.c:363,1
    - Dst: memcpy
      Src: /src/vlc/modules/access_output/http.c:375,1
    - Dst: hton32
      Src: /src/vlc/modules/access_output/http.c:376,1
    - Dst: hton16
      Src: /src/vlc/modules/access_output/http.c:377,1
    - Dst: hton16
      Src: /src/vlc/modules/access_output/http.c:378,1
    - Dst: metacube2_compute_crc
      Src: /src/vlc/modules/access_output/http.c:378,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/access_output/http.c:381,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/access_output/http.c:383,1
    - Dst: memcpy
      Src: /src/vlc/modules/access_output/http.c:387,1
    - Dst: memcpy
      Src: /src/vlc/modules/access_output/http.c:388,1
    - Dst: httpd_StreamHeader
      Src: /src/vlc/modules/access_output/http.c:392,1
    - Dst: httpd_StreamSend
      Src: /src/vlc/modules/access_output/http.c:393,1
    - Dst: block_Release
      Src: /src/vlc/modules/access_output/http.c:395,1
    - Dst: httpd_StreamHeader
      Src: /src/vlc/modules/access_output/http.c:399,1
    - Dst: block_Release
      Src: /src/vlc/modules/access_output/http.c:417,1
    - Dst: memcpy
      Src: /src/vlc/modules/access_output/http.c:424,1
    - Dst: hton32
      Src: /src/vlc/modules/access_output/http.c:425,1
    - Dst: hton16
      Src: /src/vlc/modules/access_output/http.c:426,1
    - Dst: hton16
      Src: /src/vlc/modules/access_output/http.c:428,1
    - Dst: hton16
      Src: /src/vlc/modules/access_output/http.c:430,1
    - Dst: hton16
      Src: /src/vlc/modules/access_output/http.c:431,1
    - Dst: metacube2_compute_crc
      Src: /src/vlc/modules/access_output/http.c:431,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/access_output/http.c:433,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/access_output/http.c:435,1
    - Dst: memcpy
      Src: /src/vlc/modules/access_output/http.c:438,1
    - Dst: httpd_StreamSend
      Src: /src/vlc/modules/access_output/http.c:442,1
    - Dst: block_Release
      Src: /src/vlc/modules/access_output/http.c:444,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/access_output/http.c:455,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 72
    argCount: 2
    argNames:
    - p_access
    - p_buffer
    argTypes:
    - sout_access_out_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 459
    functionName: Write
    functionSourceFile: /src/vlc/modules/access_output/http.c
    functionUses: 49
    functionsReached:
    - metacube2_compute_crc
    - block_Release
    - block_Realloc
    - hton32
    - xrealloc
    - httpd_StreamSend
    - block_ChainRelease
    - memcpy
    - hton16
    - block_Alloc
    - httpd_StreamHeader
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Write( sout_access_out_t *p_access, block_t *p_buffer )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_outfile_write
      Src: /src/vlc/modules/access_output/http-put.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - access
    - block
    argTypes:
    - sout_access_out_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 4
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: Write
    functionSourceFile: /src/vlc/modules/access_output/http-put.c
    functionUses: 49
    functionsReached:
    - vlc_http_outfile_write
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Write(sout_access_out_t *access, block_t *block)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access_output/http-put.c:55,1
    - Dst: va_arg
      Src: /src/vlc/modules/access_output/http-put.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - access
    - query
    - args
    argTypes:
    - sout_access_out_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 67
    functionName: Control
    functionSourceFile: /src/vlc/modules/access_output/http-put.c
    functionUses: 187
    functionsReached:
    - va_arg
    linkageType: ''
    returnType: int
    signature: int Control(sout_access_out_t *access, int query, va_list args)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/access_output/http-put.c:77,1
    - Dst: unlikely
      Src: /src/vlc/modules/access_output/http-put.c:78,1
    - Dst: vlc_http_mgr_create
      Src: /src/vlc/modules/access_output/http-put.c:81,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/access_output/http-put.c:85,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access_output/http-put.c:87,1
    - Dst: var_GetString
      Src: /src/vlc/modules/access_output/http-put.c:88,1
    - Dst: var_GetString
      Src: /src/vlc/modules/access_output/http-put.c:89,1
    - Dst: vlc_http_outfile_create
      Src: /src/vlc/modules/access_output/http-put.c:95,1
    - Dst: free
      Src: /src/vlc/modules/access_output/http-put.c:97,1
    - Dst: free
      Src: /src/vlc/modules/access_output/http-put.c:98,1
    - Dst: free
      Src: /src/vlc/modules/access_output/http-put.c:99,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/http-put.c:102,1
    - Dst: vlc_http_mgr_destroy
      Src: /src/vlc/modules/access_output/http-put.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 73
    functionDepth: 7
    functionLinenumber: 73
    functionLinenumberEnd: 112
    functionName: Open
    functionSourceFile: /src/vlc/modules/access_output/http-put.c
    functionUses: 39
    functionsReached:
    - vlc_http_mgr_destroy
    - vlc_http_outfile_create
    - var_InheritString
    - vlc_obj_malloc
    - var_GetString
    - config_ChainParse
    - free
    - msg_Err
    - unlikely
    - vlc_http_mgr_create
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_http_outfile_close
      Src: /src/vlc/modules/access_output/http-put.c:119,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/http-put.c:120,1
    - Dst: vlc_http_mgr_destroy
      Src: /src/vlc/modules/access_output/http-put.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 5
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: Close
    functionSourceFile: /src/vlc/modules/access_output/http-put.c
    functionUses: 128
    functionsReached:
    - vlc_http_mgr_destroy
    - vlc_http_outfile_close
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *obj)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: config_ChainParse
      Src: /src/vlc/modules/access_output/livehttp.c:222,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/livehttp.c:226,1
    - Dst: unlikely
      Src: /src/vlc/modules/access_output/livehttp.c:230,1
    - Dst: calloc
      Src: /src/vlc/modules/access_output/livehttp.c:230,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access_output/livehttp.c:234,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/access_output/livehttp.c:236,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access_output/livehttp.c:243,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/access_output/livehttp.c:244,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/access_output/livehttp.c:245,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/access_output/livehttp.c:246,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/access_output/livehttp.c:247,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/access_output/livehttp.c:248,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/access_output/livehttp.c:249,1
    - Dst: vlc_array_init
      Src: /src/vlc/modules/access_output/livehttp.c:252,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/access_output/livehttp.c:257,1
    - Dst: vlc_strftime
      Src: /src/vlc/modules/access_output/livehttp.c:261,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:262,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:265,1
    - Dst: vlc_unlink
      Src: /src/vlc/modules/access_output/livehttp.c:270,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/access_output/livehttp.c:273,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/access_output/livehttp.c:274,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/access_output/livehttp.c:275,1
    - Dst: LoadCryptFile
      Src: /src/vlc/modules/access_output/livehttp.c:279,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:281,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:282,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:283,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:284,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:285,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/livehttp.c:286,1
    - Dst: CryptSetup
      Src: /src/vlc/modules/access_output/livehttp.c:289,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:291,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:292,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:293,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:294,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/livehttp.c:295,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 63
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 307
    functionName: Open
    functionSourceFile: /src/vlc/modules/access_output/livehttp.c
    functionUses: 39
    functionsReached:
    - vlc_tick_from_sec
    - vlc_strftime
    - vlc_array_init
    - msg_Err
    - calloc
    - config_ChainParse
    - var_GetNonEmptyString
    - free
    - vlc_unlink
    - LoadCryptFile
    - var_GetBool
    - var_GetInteger
    - unlikely
    - CryptSetup
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access_output/livehttp.c:320,1
    - Dst: strdup
      Src: /src/vlc/modules/access_output/livehttp.c:325,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access_output/livehttp.c:327,1
    - Dst: unlikely
      Src: /src/vlc/modules/access_output/livehttp.c:329,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/livehttp.c:331,1
    - Dst: vlc_gcrypt_init
      Src: /src/vlc/modules/access_output/livehttp.c:335,1
    - Dst: gcry_cipher_open
      Src: /src/vlc/modules/access_output/livehttp.c:338,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/livehttp.c:342,1
    - Dst: gpg_strerror
      Src: /src/vlc/modules/access_output/livehttp.c:342,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:343,1
    - Dst: vlc_open
      Src: /src/vlc/modules/access_output/livehttp.c:347,1
    - Dst: unlikely
      Src: /src/vlc/modules/access_output/livehttp.c:348,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/livehttp.c:350,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access_output/livehttp.c:351,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:352,1
    - Dst: gcry_cipher_close
      Src: /src/vlc/modules/access_output/livehttp.c:353,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:356,1
    - Dst: read
      Src: /src/vlc/modules/access_output/livehttp.c:358,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access_output/livehttp.c:360,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/livehttp.c:363,1
    - Dst: gcry_cipher_close
      Src: /src/vlc/modules/access_output/livehttp.c:364,1
    - Dst: gcry_cipher_setkey
      Src: /src/vlc/modules/access_output/livehttp.c:368,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/livehttp.c:371,1
    - Dst: gpg_strerror
      Src: /src/vlc/modules/access_output/livehttp.c:371,1
    - Dst: gcry_cipher_close
      Src: /src/vlc/modules/access_output/livehttp.c:372,1
    - Dst: vlc_rand_bytes
      Src: /src/vlc/modules/access_output/livehttp.c:377,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 2
    argNames:
    - p_access
    - key_file
    argTypes:
    - sout_access_out_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 380
    functionName: CryptSetup
    functionSourceFile: /src/vlc/modules/access_output/livehttp.c
    functionUses: 1
    functionsReached:
    - vlc_open
    - vlc_strerror_c
    - var_InheritString
    - strdup
    - gcry_cipher_close
    - vlc_close
    - gcry_cipher_setkey
    - read
    - gcry_cipher_open
    - msg_Err
    - free
    - vlc_gcrypt_init
    - msg_Dbg
    - vlc_rand_bytes
    - gpg_strerror
    - unlikely
    linkageType: ''
    returnType: int
    signature: int CryptSetup( sout_access_out_t *p_access, char *key_file )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fopen
      Src: /src/vlc/modules/access_output/livehttp.c:390,1
    - Dst: unlikely
      Src: /src/vlc/modules/access_output/livehttp.c:393,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/livehttp.c:395,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access_output/livehttp.c:396,1
    - Dst: getline
      Src: /src/vlc/modules/access_output/livehttp.c:402,1
    - Dst: unlikely
      Src: /src/vlc/modules/access_output/livehttp.c:403,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/livehttp.c:405,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access_output/livehttp.c:406,1
    - Dst: clearerr
      Src: /src/vlc/modules/access_output/livehttp.c:407,1
    - Dst: fclose
      Src: /src/vlc/modules/access_output/livehttp.c:408,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:409,1
    - Dst: getline
      Src: /src/vlc/modules/access_output/livehttp.c:415,1
    - Dst: unlikely
      Src: /src/vlc/modules/access_output/livehttp.c:416,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/livehttp.c:418,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access_output/livehttp.c:419,1
    - Dst: clearerr
      Src: /src/vlc/modules/access_output/livehttp.c:420,1
    - Dst: fclose
      Src: /src/vlc/modules/access_output/livehttp.c:421,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:423,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:424,1
    - Dst: fclose
      Src: /src/vlc/modules/access_output/livehttp.c:429,1
    - Dst: strcmp
      Src: /src/vlc/modules/access_output/livehttp.c:432,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:436,1
    - Dst: strdup
      Src: /src/vlc/modules/access_output/livehttp.c:439,1
    - Dst: CryptSetup
      Src: /src/vlc/modules/access_output/livehttp.c:440,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:442,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:443,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - sout_access_out_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 445
    functionName: LoadCryptFile
    functionSourceFile: /src/vlc/modules/access_output/livehttp.c
    functionUses: 1
    functionsReached:
    - vlc_strerror_c
    - strdup
    - msg_Err
    - free
    - vlc_fopen
    - strcmp
    - clearerr
    - getline
    - unlikely
    - CryptSetup
    - fclose
    linkageType: ''
    returnType: int
    signature: int LoadCryptFile( sout_access_out_t *p_access )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/access_output/livehttp.c:457,1
    - Dst: gcry_cipher_setiv
      Src: /src/vlc/modules/access_output/livehttp.c:464,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/livehttp.c:468,1
    - Dst: gpg_strerror
      Src: /src/vlc/modules/access_output/livehttp.c:468,1
    - Dst: gcry_cipher_close
      Src: /src/vlc/modules/access_output/livehttp.c:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - p_access
    - i_segment
    argTypes:
    - sout_access_out_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 473
    functionName: CryptKey
    functionSourceFile: /src/vlc/modules/access_output/livehttp.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_close
    - memset
    - msg_Err
    - gpg_strerror
    - gcry_cipher_setiv
    linkageType: ''
    returnType: int
    signature: int CryptKey( sout_access_out_t *p_access, uint32_t i_segment )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_strftime
      Src: /src/vlc/modules/access_output/livehttp.c:485,1
    - Dst: strcspn
      Src: /src/vlc/modules/access_output/livehttp.c:488,1
    - Dst: strspn
      Src: /src/vlc/modules/access_output/livehttp.c:492,1
    - Dst: asprintf
      Src: /src/vlc/modules/access_output/livehttp.c:496,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:497,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - psz_path
    - i_seg
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 480
    functionDepth: 2
    functionLinenumber: 480
    functionLinenumberEnd: 504
    functionName: formatSegmentPath
    functionSourceFile: /src/vlc/modules/access_output/livehttp.c
    functionUses: 0
    functionsReached:
    - asprintf
    - vlc_strftime
    - strspn
    - free
    - strcspn
    linkageType: ''
    returnType: char
    signature: char *formatSegmentPath( char *psz_path, uint32_t i_seg )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:508,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:509,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:510,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:511,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - segment
    argTypes:
    - output_segment_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 513
    functionName: destroySegment
    functionSourceFile: /src/vlc/modules/access_output/livehttp.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void destroySegment( output_segment_t *segment )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_array_count
      Src: /src/vlc/modules/access_output/livehttp.c:522,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/access_output/livehttp.c:524,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/access_output/livehttp.c:524,1
    - Dst: __MAX
      Src: /src/vlc/modules/access_output/livehttp.c:528,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/access_output/livehttp.c:530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - sout_access_out_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 532
    functionName: segmentAmountNeeded
    functionSourceFile: /src/vlc/modules/access_output/livehttp.c
    functionUses: 0
    functionsReached:
    - vlc_array_item_at_index
    - vlc_array_count
    - __MAX
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t segmentAmountNeeded( sout_access_out_sys_t *p_sys )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/access_output/livehttp.c:549,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/access_output/livehttp.c:552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - p_sys
    - i_firstseg
    - i_index_offset
    argTypes:
    - sout_access_out_sys_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 555
    functionName: isFirstItemRemovable
    functionSourceFile: /src/vlc/modules/access_output/livehttp.c
    functionUses: 0
    functionsReached:
    - vlc_array_item_at_index
    linkageType: ''
    returnType: bool
    signature: bool isFirstItemRemovable( sout_access_out_sys_t *p_sys, uint32_t i_firstseg,
      uint32_t i_index_offset )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: segmentAmountNeeded
      Src: /src/vlc/modules/access_output/livehttp.c:573,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/access_output/livehttp.c:575,1
    - Dst: asprintf
      Src: /src/vlc/modules/access_output/livehttp.c:584,1
    - Dst: vlc_fopen
      Src: /src/vlc/modules/access_output/livehttp.c:587,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/livehttp.c:590,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:591,1
    - Dst: fprintf
      Src: /src/vlc/modules/access_output/livehttp.c:595,1
    - Dst: ceil
      Src: /src/vlc/modules/access_output/livehttp.c:596,1
    - Dst: secf_from_vlc_tick
      Src: /src/vlc/modules/access_output/livehttp.c:596,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:602,1
    - Dst: fclose
      Src: /src/vlc/modules/access_output/livehttp.c:603,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/access_output/livehttp.c:614,1
    - Dst: strcmp
      Src: /src/vlc/modules/access_output/livehttp.c:616,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:620,1
    - Dst: strdup
      Src: /src/vlc/modules/access_output/livehttp.c:621,1
    - Dst: fprintf
      Src: /src/vlc/modules/access_output/livehttp.c:633,1
    - Dst: fprintf
      Src: /src/vlc/modules/access_output/livehttp.c:637,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:641,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:642,1
    - Dst: fclose
      Src: /src/vlc/modules/access_output/livehttp.c:643,1
    - Dst: fprintf
      Src: /src/vlc/modules/access_output/livehttp.c:648,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:651,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:652,1
    - Dst: fclose
      Src: /src/vlc/modules/access_output/livehttp.c:653,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:657,1
    - Dst: fputs
      Src: /src/vlc/modules/access_output/livehttp.c:661,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:663,1
    - Dst: fclose
      Src: /src/vlc/modules/access_output/livehttp.c:664,1
    - Dst: fclose
      Src: /src/vlc/modules/access_output/livehttp.c:669,1
    - Dst: vlc_rename
      Src: /src/vlc/modules/access_output/livehttp.c:671,1
    - Dst: vlc_unlink
      Src: /src/vlc/modules/access_output/livehttp.c:675,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/livehttp.c:676,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access_output/livehttp.c:679,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:681,1
    - Dst: isFirstItemRemovable
      Src: /src/vlc/modules/access_output/livehttp.c:687,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/access_output/livehttp.c:690,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access_output/livehttp.c:691,1
    - Dst: vlc_array_remove
      Src: /src/vlc/modules/access_output/livehttp.c:692,1
    - Dst: vlc_unlink
      Src: /src/vlc/modules/access_output/livehttp.c:696,1
    - Dst: destroySegment
      Src: /src/vlc/modules/access_output/livehttp.c:699,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 78
    argCount: 3
    argNames:
    - p_access
    - p_sys
    - b_isend
    argTypes:
    - sout_access_out_t*
    - sout_access_out_sys_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 560
    functionDepth: 2
    functionLinenumber: 560
    functionLinenumberEnd: 705
    functionName: updateIndexAndDel
    functionSourceFile: /src/vlc/modules/access_output/livehttp.c
    functionUses: 0
    functionsReached:
    - ceil
    - secf_from_vlc_tick
    - isFirstItemRemovable
    - fputs
    - vlc_array_count
    - segmentAmountNeeded
    - fclose
    - asprintf
    - msg_Err
    - vlc_rename
    - msg_Dbg
    - vlc_array_remove
    - strdup
    - vlc_array_item_at_index
    - fprintf
    - strcmp
    - free
    - vlc_fopen
    - destroySegment
    - vlc_unlink
    linkageType: ''
    returnType: int
    signature: int updateIndexAndDel( sout_access_out_t *p_access, sout_access_out_sys_t
      *p_sys, bool b_isend )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/access_output/livehttp.c:714,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/access_output/livehttp.c:714,1
    - Dst: memset
      Src: /src/vlc/modules/access_output/livehttp.c:719,1
    - Dst: gcry_cipher_encrypt
      Src: /src/vlc/modules/access_output/livehttp.c:720,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/livehttp.c:723,1
    - Dst: gpg_strerror
      Src: /src/vlc/modules/access_output/livehttp.c:723,1
    - Dst: vlc_write
      Src: /src/vlc/modules/access_output/livehttp.c:726,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/livehttp.c:728,1
    - Dst: vlc_close
      Src: /src/vlc/modules/access_output/livehttp.c:734,1
    - Dst: vlc_asprintf_c
      Src: /src/vlc/modules/access_output/livehttp.c:737,1
    - Dst: secf_from_vlc_tick
      Src: /src/vlc/modules/access_output/livehttp.c:737,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/livehttp.c:739,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access_output/livehttp.c:748,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:749,1
    - Dst: updateIndexAndDel
      Src: /src/vlc/modules/access_output/livehttp.c:751,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - p_access
    - p_sys
    - b_isend
    argTypes:
    - sout_access_out_t*
    - sout_access_out_sys_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 710
    functionDepth: 3
    functionLinenumber: 710
    functionLinenumberEnd: 754
    functionName: closeCurrentSegment
    functionSourceFile: /src/vlc/modules/access_output/livehttp.c
    functionUses: 0
    functionsReached:
    - gpg_strerror
    - updateIndexAndDel
    - memset
    - vlc_array_item_at_index
    - vlc_close
    - vlc_write
    - secf_from_vlc_tick
    - msg_Err
    - vlc_asprintf_c
    - vlc_array_count
    - free
    - msg_Dbg
    - gcry_cipher_encrypt
    linkageType: ''
    returnType: void
    signature: void closeCurrentSegment( sout_access_out_t *p_access, sout_access_out_sys_t
      *p_sys, bool b_isend )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/access_output/livehttp.c:765,1
    - Dst: Write
      Src: /src/vlc/modules/access_output/livehttp.c:778,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/access_output/livehttp.c:783,1
    - Dst: writeSegment
      Src: /src/vlc/modules/access_output/livehttp.c:788,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access_output/livehttp.c:789,1
    - Dst: unlikely
      Src: /src/vlc/modules/access_output/livehttp.c:790,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/access_output/livehttp.c:793,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/access_output/livehttp.c:795,1
    - Dst: closeCurrentSegment
      Src: /src/vlc/modules/access_output/livehttp.c:798,1
    - Dst: gcry_cipher_close
      Src: /src/vlc/modules/access_output/livehttp.c:802,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:803,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/access_output/livehttp.c:806,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/access_output/livehttp.c:808,1
    - Dst: vlc_array_remove
      Src: /src/vlc/modules/access_output/livehttp.c:809,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access_output/livehttp.c:812,1
    - Dst: vlc_unlink
      Src: /src/vlc/modules/access_output/livehttp.c:813,1
    - Dst: destroySegment
      Src: /src/vlc/modules/access_output/livehttp.c:816,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:819,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:820,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:821,1
    - Dst: free
      Src: /src/vlc/modules/access_output/livehttp.c:822,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access_output/livehttp.c:824,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 759
    functionDepth: 4
    functionLinenumber: 759
    functionLinenumberEnd: 825
    functionName: Close
    functionSourceFile: /src/vlc/modules/access_output/livehttp.c
    functionUses: 128
    functionsReached:
    - gcry_cipher_close
    - block_ChainRelease
    - vlc_array_item_at_index
    - writeSegment
    - closeCurrentSegment
    - block_ChainLastAppend
    - free
    - vlc_array_count
    - destroySegment
    - msg_Dbg
    - vlc_unlink
    - Write
    - vlc_array_remove
    - unlikely
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t * p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access_output/livehttp.c:835,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - p_access
    - i_query
    - args
    argTypes:
    - sout_access_out_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 845
    functionName: Control
    functionSourceFile: /src/vlc/modules/access_output/livehttp.c
    functionUses: 187
    functionsReached:
    - va_arg
    linkageType: ''
    returnType: int
    signature: int Control( sout_access_out_t *p_access, int i_query, va_list args
      )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/access_output/livehttp.c:857,1
    - Dst: unlikely
      Src: /src/vlc/modules/access_output/livehttp.c:858,1
    - Dst: formatSegmentPath
      Src: /src/vlc/modules/access_output/livehttp.c:862,1
    - Dst: formatSegmentPath
      Src: /src/vlc/modules/access_output/livehttp.c:864,1
    - Dst: unlikely
      Src: /src/vlc/modules/access_output/livehttp.c:866,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/livehttp.c:868,1
    - Dst: destroySegment
      Src: /src/vlc/modules/access_output/livehttp.c:869,1
    - Dst: vlc_open
      Src: /src/vlc/modules/access_output/livehttp.c:873,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/livehttp.c:877,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/access_output/livehttp.c:878,1
    - Dst: destroySegment
      Src: /src/vlc/modules/access_output/livehttp.c:879,1
    - Dst: vlc_array_append_or_abort
      Src: /src/vlc/modules/access_output/livehttp.c:883,1
    - Dst: LoadCryptFile
      Src: /src/vlc/modules/access_output/livehttp.c:887,1
    - Dst: strdup
      Src: /src/vlc/modules/access_output/livehttp.c:892,1
    - Dst: CryptKey
      Src: /src/vlc/modules/access_output/livehttp.c:893,1
    - Dst: memcpy
      Src: /src/vlc/modules/access_output/livehttp.c:895,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access_output/livehttp.c:897,1
    - Dst: strdup
      Src: /src/vlc/modules/access_output/livehttp.c:899,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 2
    argNames:
    - p_access
    - p_sys
    argTypes:
    - sout_access_out_t*
    - sout_access_out_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 850
    functionDepth: 3
    functionLinenumber: 850
    functionLinenumberEnd: 904
    functionName: openNextFile
    functionSourceFile: /src/vlc/modules/access_output/livehttp.c
    functionUses: 0
    functionsReached:
    - vlc_open
    - vlc_strerror_c
    - vlc_array_append_or_abort
    - strdup
    - formatSegmentPath
    - memcpy
    - msg_Err
    - calloc
    - destroySegment
    - msg_Dbg
    - LoadCryptFile
    - unlikely
    - CryptKey
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t openNextFile( sout_access_out_t *p_access, sout_access_out_sys_t
      *p_sys )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainProperties
      Src: /src/vlc/modules/access_output/livehttp.c:916,1
    - Dst: block_ChainProperties
      Src: /src/vlc/modules/access_output/livehttp.c:917,1
    - Dst: writeSegment
      Src: /src/vlc/modules/access_output/livehttp.c:922,1
    - Dst: unlikely
      Src: /src/vlc/modules/access_output/livehttp.c:923,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/access_output/livehttp.c:925,1
    - Dst: closeCurrentSegment
      Src: /src/vlc/modules/access_output/livehttp.c:928,1
    - Dst: unlikely
      Src: /src/vlc/modules/access_output/livehttp.c:932,1
    - Dst: openNextFile
      Src: /src/vlc/modules/access_output/livehttp.c:934,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - p_access
    - p_buffer
    argTypes:
    - sout_access_out_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 908
    functionDepth: 4
    functionLinenumber: 908
    functionLinenumberEnd: 938
    functionName: CheckSegmentChange
    functionSourceFile: /src/vlc/modules/access_output/livehttp.c
    functionUses: 0
    functionsReached:
    - block_ChainProperties
    - block_ChainRelease
    - writeSegment
    - closeCurrentSegment
    - openNextFile
    - unlikely
    linkageType: ''
    returnType: int
    signature: int CheckSegmentChange( sout_access_out_t *p_access, block_t *p_buffer
      )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access_output/livehttp.c:943,1
    - Dst: block_ChainProperties
      Src: /src/vlc/modules/access_output/livehttp.c:950,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/access_output/livehttp.c:961,1
    - Dst: unlikely
      Src: /src/vlc/modules/access_output/livehttp.c:962,1
    - Dst: memcpy
      Src: /src/vlc/modules/access_output/livehttp.c:964,1
    - Dst: memcpy
      Src: /src/vlc/modules/access_output/livehttp.c:974,1
    - Dst: gcry_cipher_encrypt
      Src: /src/vlc/modules/access_output/livehttp.c:977,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/livehttp.c:981,1
    - Dst: gpg_strerror
      Src: /src/vlc/modules/access_output/livehttp.c:981,1
    - Dst: vlc_write
      Src: /src/vlc/modules/access_output/livehttp.c:988,1
    - Dst: block_Release
      Src: /src/vlc/modules/access_output/livehttp.c:1000,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - sout_access_out_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 940
    functionDepth: 1
    functionLinenumber: 940
    functionLinenumberEnd: 1012
    functionName: writeSegment
    functionSourceFile: /src/vlc/modules/access_output/livehttp.c
    functionUses: 2
    functionsReached:
    - gpg_strerror
    - block_Release
    - block_Realloc
    - block_ChainProperties
    - vlc_write
    - memcpy
    - msg_Err
    - msg_Dbg
    - gcry_cipher_encrypt
    - unlikely
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t writeSegment( sout_access_out_t *p_access )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access_output/livehttp.c:1028,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/access_output/livehttp.c:1029,1
    - Dst: CheckSegmentChange
      Src: /src/vlc/modules/access_output/livehttp.c:1035,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/livehttp.c:1038,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/access_output/livehttp.c:1045,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - p_access
    - p_buffer
    argTypes:
    - sout_access_out_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1017
    functionDepth: 5
    functionLinenumber: 1017
    functionLinenumberEnd: 1050
    functionName: Write
    functionSourceFile: /src/vlc/modules/access_output/livehttp.c
    functionUses: 50
    functionsReached:
    - msg_Err
    - msg_Dbg
    - CheckSegmentChange
    - block_ChainLastAppend
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Write( sout_access_out_t *p_access, block_t *p_buffer )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access_output/rist.c:83,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access_output/rist.c:86,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/rist.c:99,1
    - Dst: rist_stats_free
      Src: /src/vlc/modules/access_output/rist.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - arg
    - stats_container
    argTypes:
    - void*
    - struct rist_stats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 105
    functionName: cb_stats
    functionSourceFile: /src/vlc/modules/access_output/rist.c
    functionUses: 0
    functionsReached:
    - rist_stats_free
    - msg_Dbg
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int cb_stats(void *arg, const struct rist_stats *stats_container)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __MIN
      Src: /src/vlc/modules/access_output/rist.c:122,1
    - Dst: rist_sender_data_write
      Src: /src/vlc/modules/access_output/rist.c:126,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access_output/rist.c:129,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/access_output/rist.c:130,1
    - Dst: block_Release
      Src: /src/vlc/modules/access_output/rist.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - p_access
    - p_buffer
    argTypes:
    - sout_access_out_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 146
    functionName: Write
    functionSourceFile: /src/vlc/modules/access_output/rist.c
    functionUses: 50
    functionsReached:
    - block_Release
    - block_ChainRelease
    - rist_sender_data_write
    - __MIN
    - msg_Warn
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Write( sout_access_out_t *p_access, block_t *p_buffer )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access_output/rist.c:150,1
    - Dst: va_arg
      Src: /src/vlc/modules/access_output/rist.c:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - p_access
    - i_query
    - args
    argTypes:
    - sout_access_out_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 166
    functionName: Control
    functionSourceFile: /src/vlc/modules/access_output/rist.c
    functionUses: 187
    functionsReached:
    - va_arg
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int Control( sout_access_out_t *p_access, int i_query, va_list args
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rist_destroy
      Src: /src/vlc/modules/access_output/rist.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 175
    functionName: Close
    functionSourceFile: /src/vlc/modules/access_output/rist.c
    functionUses: 128
    functionsReached:
    - rist_destroy
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t * p_this )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: var_Create
      Src: /src/vlc/modules/access_output/rist.c:182,1
    - Dst: var_Create
      Src: /src/vlc/modules/access_output/rist.c:183,1
    - Dst: var_Create
      Src: /src/vlc/modules/access_output/rist.c:184,1
    - Dst: var_Create
      Src: /src/vlc/modules/access_output/rist.c:185,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/rist.c:187,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/access_output/rist.c:191,1
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/access_output/rist.c:193,1
    - Dst: unlikely
      Src: /src/vlc/modules/access_output/rist.c:194,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access_output/rist.c:200,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access_output/rist.c:201,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/rist.c:203,1
    - Dst: rist_get_max_packet_size
      Src: /src/vlc/modules/access_output/rist.c:207,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access_output/rist.c:207,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access_output/rist.c:209,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access_output/rist.c:210,1
    - Dst: rist_logging_set_global
      Src: /src/vlc/modules/access_output/rist.c:215,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/rist.c:216,1
    - Dst: rist_sender_create
      Src: /src/vlc/modules/access_output/rist.c:227,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/rist.c:228,1
    - Dst: rist_stats_callback_set
      Src: /src/vlc/modules/access_output/rist.c:233,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/rist.c:234,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access_output/rist.c:238,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access_output/rist.c:239,1
    - Dst: rist_add_peers
      Src: /src/vlc/modules/access_output/rist.c:242,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access_output/rist.c:242,1
    - Dst: rist_start
      Src: /src/vlc/modules/access_output/rist.c:245,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/rist.c:246,1
    - Dst: rist_destroy
      Src: /src/vlc/modules/access_output/rist.c:256,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 259
    functionName: Open
    functionSourceFile: /src/vlc/modules/access_output/rist.c
    functionUses: 39
    functionsReached:
    - rist_logging_set_global
    - rist_sender_create
    - rist_start
    - var_InheritInteger
    - rist_get_max_packet_size
    - var_Create
    - config_ChainParse
    - msg_Err
    - rist_stats_callback_set
    - rist_add_peers
    - VLC_OBJECT
    - rist_destroy
    - unlikely
    - vlc_obj_calloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: Open
    functionSourceFile: /src/vlc/modules/access_output/dummy.c
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/access_output/dummy.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p_access
    - p_buffer
    argTypes:
    - sout_access_out_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 87
    functionName: Write
    functionSourceFile: /src/vlc/modules/access_output/dummy.c
    functionUses: 50
    functionsReached:
    - block_ChainRelease
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Write( sout_access_out_t *p_access, block_t *p_buffer )
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: config_ChainParse
      Src: /src/vlc/modules/access_output/shout.c:176,1
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/access_output/shout.c:178,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access_output/shout.c:184,1
    - Dst: unlikely
      Src: /src/vlc/modules/access_output/shout.c:185,1
    - Dst: asprintf
      Src: /src/vlc/modules/access_output/shout.c:185,1
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/access_output/shout.c:187,1
    - Dst: free
      Src: /src/vlc/modules/access_output/shout.c:188,1
    - Dst: malloc
      Src: /src/vlc/modules/access_output/shout.c:191,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access_output/shout.c:194,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/access_output/shout.c:198,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/access_output/shout.c:199,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/access_output/shout.c:200,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/access_output/shout.c:201,1
    - Dst: shout_new
      Src: /src/vlc/modules/access_output/shout.c:203,1
    - Dst: shout_set_host
      Src: /src/vlc/modules/access_output/shout.c:205,1
    - Dst: shout_set_protocol
      Src: /src/vlc/modules/access_output/shout.c:206,1
    - Dst: shout_set_port
      Src: /src/vlc/modules/access_output/shout.c:207,1
    - Dst: shout_set_password
      Src: /src/vlc/modules/access_output/shout.c:208,1
    - Dst: shout_set_mount
      Src: /src/vlc/modules/access_output/shout.c:209,1
    - Dst: shout_set_user
      Src: /src/vlc/modules/access_output/shout.c:210,1
    - Dst: shout_set_agent
      Src: /src/vlc/modules/access_output/shout.c:211,1
    - Dst: shout_set_meta
      Src: /src/vlc/modules/access_output/shout.c:212,1
    - Dst: shout_set_meta
      Src: /src/vlc/modules/access_output/shout.c:213,1
    - Dst: shout_set_meta
      Src: /src/vlc/modules/access_output/shout.c:214,1
    - Dst: shout_set_meta
      Src: /src/vlc/modules/access_output/shout.c:215,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/shout.c:219,1
    - Dst: free
      Src: /src/vlc/modules/access_output/shout.c:222,1
    - Dst: free
      Src: /src/vlc/modules/access_output/shout.c:223,1
    - Dst: free
      Src: /src/vlc/modules/access_output/shout.c:224,1
    - Dst: free
      Src: /src/vlc/modules/access_output/shout.c:225,1
    - Dst: free
      Src: /src/vlc/modules/access_output/shout.c:229,1
    - Dst: free
      Src: /src/vlc/modules/access_output/shout.c:230,1
    - Dst: free
      Src: /src/vlc/modules/access_output/shout.c:231,1
    - Dst: free
      Src: /src/vlc/modules/access_output/shout.c:232,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/access_output/shout.c:234,1
    - Dst: shout_set_content_format
      Src: /src/vlc/modules/access_output/shout.c:237,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/shout.c:241,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/access_output/shout.c:247,1
    - Dst: shout_set_audio_info
      Src: /src/vlc/modules/access_output/shout.c:250,1
    - Dst: free
      Src: /src/vlc/modules/access_output/shout.c:251,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/shout.c:254,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access_output/shout.c:262,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/access_output/shout.c:270,1
    - Dst: shout_set_audio_info
      Src: /src/vlc/modules/access_output/shout.c:273,1
    - Dst: free
      Src: /src/vlc/modules/access_output/shout.c:274,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/shout.c:277,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/access_output/shout.c:282,1
    - Dst: shout_set_audio_info
      Src: /src/vlc/modules/access_output/shout.c:285,1
    - Dst: free
      Src: /src/vlc/modules/access_output/shout.c:286,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/shout.c:289,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/access_output/shout.c:294,1
    - Dst: shout_set_audio_info
      Src: /src/vlc/modules/access_output/shout.c:297,1
    - Dst: free
      Src: /src/vlc/modules/access_output/shout.c:298,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/shout.c:301,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/access_output/shout.c:306,1
    - Dst: shout_set_public
      Src: /src/vlc/modules/access_output/shout.c:308,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/shout.c:311,1
    - Dst: shout_get_connected
      Src: /src/vlc/modules/access_output/shout.c:317,1
    - Dst: shout_close
      Src: /src/vlc/modules/access_output/shout.c:321,1
    - Dst: shout_set_protocol
      Src: /src/vlc/modules/access_output/shout.c:325,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/shout.c:328,1
    - Dst: shout_open
      Src: /src/vlc/modules/access_output/shout.c:331,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access_output/shout.c:335,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access_output/shout.c:339,1
    - Dst: shout_close
      Src: /src/vlc/modules/access_output/shout.c:342,1
    - Dst: shout_set_protocol
      Src: /src/vlc/modules/access_output/shout.c:345,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/shout.c:348,1
    - Dst: shout_open
      Src: /src/vlc/modules/access_output/shout.c:351,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access_output/shout.c:355,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access_output/shout.c:358,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access_output/shout.c:370,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/access_output/shout.c:371,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/access_output/shout.c:371,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/shout.c:377,1
    - Dst: shout_get_error
      Src: /src/vlc/modules/access_output/shout.c:378,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access_output/shout.c:385,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access_output/shout.c:388,1
    - Dst: shout_free
      Src: /src/vlc/modules/access_output/shout.c:393,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/access_output/shout.c:394,1
    - Dst: free
      Src: /src/vlc/modules/access_output/shout.c:395,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 142
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 397
    functionName: Open
    functionSourceFile: /src/vlc/modules/access_output/shout.c
    functionUses: 39
    functionsReached:
    - shout_set_host
    - shout_new
    - shout_get_error
    - vlc_tick_sleep
    - shout_set_port
    - shout_set_content_format
    - asprintf
    - msg_Err
    - shout_open
    - msg_Dbg
    - msg_Warn
    - shout_set_agent
    - shout_set_mount
    - vlc_UrlClean
    - vlc_UrlParse
    - shout_free
    - VLC_TICK_FROM_SEC
    - var_GetNonEmptyString
    - shout_set_protocol
    - var_GetBool
    - shout_set_public
    - shout_set_meta
    - shout_set_user
    - config_ChainParse
    - free
    - shout_set_audio_info
    - shout_get_connected
    - shout_set_password
    - unlikely
    - malloc
    - shout_close
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shout_close
      Src: /src/vlc/modules/access_output/shout.c:409,1
    - Dst: shout_free
      Src: /src/vlc/modules/access_output/shout.c:410,1
    - Dst: shout_shutdown
      Src: /src/vlc/modules/access_output/shout.c:411,1
    - Dst: free
      Src: /src/vlc/modules/access_output/shout.c:413,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access_output/shout.c:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 415
    functionName: Close
    functionSourceFile: /src/vlc/modules/access_output/shout.c
    functionUses: 128
    functionsReached:
    - shout_free
    - free
    - msg_Dbg
    - shout_shutdown
    - shout_close
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t * p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/access_output/shout.c:423,1
    - Dst: strcmp
      Src: /src/vlc/modules/access_output/shout.c:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - p_access
    - i_query
    - args
    argTypes:
    - sout_access_out_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 432
    functionName: Control
    functionSourceFile: /src/vlc/modules/access_output/shout.c
    functionUses: 187
    functionsReached:
    - strcmp
    - va_arg
    linkageType: ''
    returnType: int
    signature: int Control( sout_access_out_t *p_access, int i_query, va_list args
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shout_sync
      Src: /src/vlc/modules/access_output/shout.c:442,1
    - Dst: shout_send
      Src: /src/vlc/modules/access_output/shout.c:447,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/shout.c:454,1
    - Dst: shout_get_error
      Src: /src/vlc/modules/access_output/shout.c:455,1
    - Dst: shout_close
      Src: /src/vlc/modules/access_output/shout.c:461,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access_output/shout.c:462,1
    - Dst: shout_open
      Src: /src/vlc/modules/access_output/shout.c:464,1
    - Dst: shout_sync
      Src: /src/vlc/modules/access_output/shout.c:466,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access_output/shout.c:467,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/shout.c:471,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/access_output/shout.c:472,1
    - Dst: block_Release
      Src: /src/vlc/modules/access_output/shout.c:477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - p_access
    - p_buffer
    argTypes:
    - sout_access_out_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 485
    functionName: Write
    functionSourceFile: /src/vlc/modules/access_output/shout.c
    functionUses: 50
    functionsReached:
    - shout_send
    - block_Release
    - block_ChainRelease
    - msg_Err
    - shout_open
    - shout_get_error
    - msg_Warn
    - shout_sync
    - shout_close
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Write( sout_access_out_t *p_access, block_t *p_buffer )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access_output/srt.c:50,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access_output/srt.c:55,1
    - Dst: srt_epoll_remove_usock
      Src: /src/vlc/modules/access_output/srt.c:59,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access_output/srt.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - p_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 62
    functionName: srt_wait_interrupted
    functionSourceFile: /src/vlc/modules/access_output/srt.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - srt_epoll_remove_usock
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void srt_wait_interrupted(void *p_data)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/access_output/srt.c:66,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access_output/srt.c:70,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access_output/srt.c:72,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access_output/srt.c:76,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/access_output/srt.c:78,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access_output/srt.c:81,1
    - Dst: strdup
      Src: /src/vlc/modules/access_output/srt.c:92,1
    - Dst: strchr
      Src: /src/vlc/modules/access_output/srt.c:100,1
    - Dst: strchr
      Src: /src/vlc/modules/access_output/srt.c:102,1
    - Dst: atoi
      Src: /src/vlc/modules/access_output/srt.c:106,1
    - Dst: vlc_getaddrinfo
      Src: /src/vlc/modules/access_output/srt.c:109,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/srt.c:112,1
    - Dst: gai_strerror
      Src: /src/vlc/modules/access_output/srt.c:115,1
    - Dst: srt_epoll_remove_usock
      Src: /src/vlc/modules/access_output/srt.c:124,1
    - Dst: srt_close
      Src: /src/vlc/modules/access_output/srt.c:125,1
    - Dst: srt_create_socket
      Src: /src/vlc/modules/access_output/srt.c:128,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/srt.c:131,1
    - Dst: strdup
      Src: /src/vlc/modules/access_output/srt.c:137,1
    - Dst: srt_parse_url
      Src: /src/vlc/modules/access_output/srt.c:138,1
    - Dst: free
      Src: /src/vlc/modules/access_output/srt.c:144,1
    - Dst: free
      Src: /src/vlc/modules/access_output/srt.c:149,1
    - Dst: srt_setsockopt
      Src: /src/vlc/modules/access_output/srt.c:157,1
    - Dst: srt_setsockopt
      Src: /src/vlc/modules/access_output/srt.c:159,1
    - Dst: srt_setsockopt
      Src: /src/vlc/modules/access_output/srt.c:163,1
    - Dst: srt_setsockopt
      Src: /src/vlc/modules/access_output/srt.c:167,1
    - Dst: srt_set_socket_option
      Src: /src/vlc/modules/access_output/srt.c:171,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access_output/srt.c:176,1
    - Dst: srt_set_socket_option
      Src: /src/vlc/modules/access_output/srt.c:178,1
    - Dst: srt_set_socket_option
      Src: /src/vlc/modules/access_output/srt.c:181,1
    - Dst: strlen
      Src: /src/vlc/modules/access_output/srt.c:182,1
    - Dst: srt_set_socket_option
      Src: /src/vlc/modules/access_output/srt.c:187,1
    - Dst: strlen
      Src: /src/vlc/modules/access_output/srt.c:188,1
    - Dst: srt_set_socket_option
      Src: /src/vlc/modules/access_output/srt.c:192,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/srt.c:196,1
    - Dst: srt_getlasterror_str
      Src: /src/vlc/modules/access_output/srt.c:197,1
    - Dst: srt_set_socket_option
      Src: /src/vlc/modules/access_output/srt.c:204,1
    - Dst: srt_setsockopt
      Src: /src/vlc/modules/access_output/srt.c:208,1
    - Dst: srt_epoll_add_usock
      Src: /src/vlc/modules/access_output/srt.c:210,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access_output/srt.c:214,1
    - Dst: srt_connect
      Src: /src/vlc/modules/access_output/srt.c:217,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/srt.c:220,1
    - Dst: srt_getlasterror_str
      Src: /src/vlc/modules/access_output/srt.c:221,1
    - Dst: srt_epoll_remove_usock
      Src: /src/vlc/modules/access_output/srt.c:228,1
    - Dst: srt_close
      Src: /src/vlc/modules/access_output/srt.c:229,1
    - Dst: free
      Src: /src/vlc/modules/access_output/srt.c:234,1
    - Dst: free
      Src: /src/vlc/modules/access_output/srt.c:236,1
    - Dst: free
      Src: /src/vlc/modules/access_output/srt.c:237,1
    - Dst: free
      Src: /src/vlc/modules/access_output/srt.c:238,1
    - Dst: freeaddrinfo
      Src: /src/vlc/modules/access_output/srt.c:239,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 97
    argCount: 1
    argNames:
    - p_access
    argTypes:
    - sout_access_out_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 242
    functionName: srt_schedule_reconnect
    functionSourceFile: /src/vlc/modules/access_output/srt.c
    functionUses: 2
    functionsReached:
    - atoi
    - strchr
    - srt_set_socket_option
    - gai_strerror
    - srt_connect
    - srt_setsockopt
    - msg_Err
    - srt_close
    - msg_Dbg
    - srt_epoll_add_usock
    - freeaddrinfo
    - srt_create_socket
    - strdup
    - var_InheritInteger
    - srt_getlasterror_str
    - srt_parse_url
    - var_InheritString
    - strlen
    - vlc_getaddrinfo
    - free
    - srt_epoll_remove_usock
    - VLC_OBJECT
    linkageType: ''
    returnType: bool
    signature: bool srt_schedule_reconnect(sout_access_out_t *p_access)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/access_output/srt.c:247,1
    - Dst: block_BytestreamPush
      Src: /src/vlc/modules/access_output/srt.c:255,1
    - Dst: vlc_interrupt_register
      Src: /src/vlc/modules/access_output/srt.c:257,1
    - Dst: __MIN
      Src: /src/vlc/modules/access_output/srt.c:264,1
    - Dst: block_BytestreamRemaining
      Src: /src/vlc/modules/access_output/srt.c:264,1
    - Dst: vlc_killed
      Src: /src/vlc/modules/access_output/srt.c:269,1
    - Dst: srt_getsockstate
      Src: /src/vlc/modules/access_output/srt.c:276,1
    - Dst: srt_schedule_reconnect
      Src: /src/vlc/modules/access_output/srt.c:285,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/srt.c:286,1
    - Dst: srt_epoll_wait
      Src: /src/vlc/modules/access_output/srt.c:296,1
    - Dst: vlc_killed
      Src: /src/vlc/modules/access_output/srt.c:300,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access_output/srt.c:312,1
    - Dst: srt_epoll_add_usock
      Src: /src/vlc/modules/access_output/srt.c:315,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access_output/srt.c:320,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/access_output/srt.c:328,1
    - Dst: srt_getsockstate
      Src: /src/vlc/modules/access_output/srt.c:333,1
    - Dst: block_GetBytes
      Src: /src/vlc/modules/access_output/srt.c:335,1
    - Dst: srt_sendmsg2
      Src: /src/vlc/modules/access_output/srt.c:338,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/access_output/srt.c:341,1
    - Dst: srt_getlasterror_str
      Src: /src/vlc/modules/access_output/srt.c:341,1
    - Dst: block_BytestreamEmpty
      Src: /src/vlc/modules/access_output/srt.c:353,1
    - Dst: vlc_interrupt_unregister
      Src: /src/vlc/modules/access_output/srt.c:354,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/access_output/srt.c:357,1
    - Dst: srt_epoll_add_usock
      Src: /src/vlc/modules/access_output/srt.c:360,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/access_output/srt.c:364,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 70
    argCount: 2
    argNames:
    - p_access
    - p_buffer
    argTypes:
    - sout_access_out_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 367
    functionName: Write
    functionSourceFile: /src/vlc/modules/access_output/srt.c
    functionUses: 50
    functionsReached:
    - vlc_interrupt_unregister
    - vlc_killed
    - block_BytestreamEmpty
    - block_BytestreamRemaining
    - vlc_mutex_lock
    - block_GetBytes
    - msg_Err
    - srt_epoll_wait
    - msg_Dbg
    - srt_epoll_add_usock
    - msg_Warn
    - srt_sendmsg2
    - srt_schedule_reconnect
    - srt_getsockstate
    - var_InheritInteger
    - srt_getlasterror_str
    - __MIN
    - vlc_mutex_unlock
    - vlc_interrupt_register
    - block_BytestreamPush
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t Write( sout_access_out_t *p_access, block_t *p_buffer )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/access_output/srt.c:371,1
    - Dst: va_arg
      Src: /src/vlc/modules/access_output/srt.c:378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - p_access
    - i_query
    - args
    argTypes:
    - sout_access_out_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 387
    functionName: Control
    functionSourceFile: /src/vlc/modules/access_output/srt.c
    functionUses: 187
    functionsReached:
    - va_arg
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int Control( sout_access_out_t *p_access, int i_query, va_list args
      )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: var_Create
      Src: /src/vlc/modules/access_output/srt.c:394,1
    - Dst: var_Create
      Src: /src/vlc/modules/access_output/srt.c:395,1
    - Dst: var_Create
      Src: /src/vlc/modules/access_output/srt.c:396,1
    - Dst: var_Create
      Src: /src/vlc/modules/access_output/srt.c:397,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/srt.c:399,1
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/access_output/srt.c:403,1
    - Dst: unlikely
      Src: /src/vlc/modules/access_output/srt.c:404,1
    - Dst: srt_startup
      Src: /src/vlc/modules/access_output/srt.c:407,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/access_output/srt.c:409,1
    - Dst: block_BytestreamInit
      Src: /src/vlc/modules/access_output/srt.c:410,1
    - Dst: srt_epoll_create
      Src: /src/vlc/modules/access_output/srt.c:414,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/srt.c:417,1
    - Dst: srt_getlasterror_str
      Src: /src/vlc/modules/access_output/srt.c:418,1
    - Dst: srt_schedule_reconnect
      Src: /src/vlc/modules/access_output/srt.c:423,1
    - Dst: msg_Err
      Src: /src/vlc/modules/access_output/srt.c:425,1
    - Dst: srt_close
      Src: /src/vlc/modules/access_output/srt.c:436,1
    - Dst: srt_epoll_release
      Src: /src/vlc/modules/access_output/srt.c:437,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 440
    functionName: Open
    functionSourceFile: /src/vlc/modules/access_output/srt.c
    functionUses: 39
    functionsReached:
    - block_BytestreamInit
    - vlc_mutex_init
    - var_Create
    - msg_Err
    - srt_startup
    - srt_getlasterror_str
    - srt_close
    - srt_epoll_release
    - srt_epoll_create
    - unlikely
    - vlc_obj_calloc
    - srt_schedule_reconnect
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: srt_epoll_remove_usock
      Src: /src/vlc/modules/access_output/srt.c:447,1
    - Dst: srt_close
      Src: /src/vlc/modules/access_output/srt.c:448,1
    - Dst: srt_epoll_release
      Src: /src/vlc/modules/access_output/srt.c:449,1
    - Dst: block_BytestreamRelease
      Src: /src/vlc/modules/access_output/srt.c:450,1
    - Dst: srt_cleanup
      Src: /src/vlc/modules/access_output/srt.c:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 453
    functionName: Close
    functionSourceFile: /src/vlc/modules/access_output/srt.c
    functionUses: 128
    functionsReached:
    - block_BytestreamRelease
    - srt_close
    - srt_epoll_release
    - srt_epoll_remove_usock
    - srt_cleanup
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t * p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: UpnpInstanceWrapper::UpnpInstanceWrapper
    functionSourceFile: /src/vlc/modules/services_discovery/upnp-wrapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpnpInstanceWrapper::UpnpInstanceWrapper()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UpnpUnRegisterClient
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.cpp:45,1
    - Dst: UpnpFinish
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: UpnpInstanceWrapper::~UpnpInstanceWrapper()
    functionSourceFile: /src/vlc/modules/services_discovery/upnp-wrapper.cpp
    functionUses: 0
    functionsReached:
    - UpnpFinish
    - UpnpUnRegisterClient
    linkageType: ''
    returnType: void
    signature: void UpnpInstanceWrapper::~UpnpInstanceWrapper()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UpnpInstanceWrapper::UpnpInstanceWrapper
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.cpp:54,1
    - Dst: unlikely
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.cpp:55,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.cpp:60,1
    - Dst: getPreferedAdapter
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.cpp:64,1
    - Dst: msg_Info
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.cpp:66,1
    - Dst: UpnpInit2
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.cpp:68,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.cpp:69,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.cpp:73,1
    - Dst: UpnpGetErrorMessage
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.cpp:73,1
    - Dst: ixmlRelaxParser
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.cpp:78,1
    - Dst: UpnpRegisterClient
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.cpp:81,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.cpp:84,1
    - Dst: UpnpGetErrorMessage
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.cpp:84,1
    - Dst: UpnpSetMaxContentLength
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.cpp:92,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.cpp:94,1
    - Dst: UpnpGetErrorMessage
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.cpp:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 103
    functionName: UpnpInstanceWrapper::get
    functionSourceFile: /src/vlc/modules/services_discovery/upnp-wrapper.cpp
    functionUses: 4
    functionsReached:
    - var_InheritString
    - ixmlRelaxParser
    - UpnpInstanceWrapper::UpnpInstanceWrapper
    - UpnpRegisterClient
    - msg_Err
    - free
    - msg_Info
    - UpnpGetErrorMessage
    - getPreferedAdapter
    - UpnpInit2
    - unlikely
    - UpnpSetMaxContentLength
    linkageType: ''
    returnType: UpnpInstanceWrapper
    signature: UpnpInstanceWrapper *UpnpInstanceWrapper::get(vlc_object_t *p_obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: UpnpInstanceWrapper::release
    functionSourceFile: /src/vlc/modules/services_discovery/upnp-wrapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpnpInstanceWrapper::release()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: UpnpInstanceWrapper::handle
    functionSourceFile: /src/vlc/modules/services_discovery/upnp-wrapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpnpClient_Handle
    signature: UpnpClient_Handle UpnpInstanceWrapper::handle() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.cpp:125,1
    - Dst: end
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.cpp:125,1
    - Dst: onEvent
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.cpp:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - event_type
    - p_event
    - p_user_data
    argTypes:
    - Upnp_EventType
    - UpnpEventPtr
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: UpnpInstanceWrapper::Callback
    functionSourceFile: /src/vlc/modules/services_discovery/upnp-wrapper.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    - onEvent
    linkageType: ''
    returnType: int
    signature: int UpnpInstanceWrapper::Callback(Upnp_EventType event_type, UpnpEventPtr
      p_event, void *p_user_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.cpp:136,1
    - Dst: begin
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.cpp:136,1
    - Dst: end
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.cpp:136,1
    - Dst: end
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.cpp:136,1
    - Dst: push_back
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.cpp:137,1
    - Dst: std::move
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.cpp:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - listener
    argTypes:
    - ListenerPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: UpnpInstanceWrapper::addListener
    functionSourceFile: /src/vlc/modules/services_discovery/upnp-wrapper.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - begin
    - std::move
    - end
    - find
    linkageType: ''
    returnType: void
    signature: void UpnpInstanceWrapper::addListener(ListenerPtr listener)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.cpp:143,1
    - Dst: begin
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.cpp:143,1
    - Dst: end
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.cpp:143,1
    - Dst: end
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.cpp:144,1
    - Dst: erase
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - listener
    argTypes:
    - ListenerPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: UpnpInstanceWrapper::removeListener
    functionSourceFile: /src/vlc/modules/services_discovery/upnp-wrapper.cpp
    functionUses: 0
    functionsReached:
    - erase
    - end
    - begin
    - find
    linkageType: ''
    returnType: void
    signature: void UpnpInstanceWrapper::removeListener(ListenerPtr listener)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/vlc/modules/services_discovery/windrive.c:59,1
    - Dst: GetLogicalDrives
      Src: /src/vlc/modules/services_discovery/windrive.c:61,1
    - Dst: GetDriveTypeA
      Src: /src/vlc/modules/services_discovery/windrive.c:75,1
    - Dst: input_item_NewDisc
      Src: /src/vlc/modules/services_discovery/windrive.c:79,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/windrive.c:80,1
    - Dst: services_discovery_AddItem
      Src: /src/vlc/modules/services_discovery/windrive.c:84,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 87
    functionName: Open
    functionSourceFile: /src/vlc/modules/services_discovery/windrive.c
    functionUses: 39
    functionsReached:
    - GetDriveTypeA
    - services_discovery_AddItem
    - _
    - GetLogicalDrives
    - msg_Dbg
    - input_item_NewDisc
    linkageType: ''
    returnType: int
    signature: int Open (vlc_object_t *obj)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vlc/modules/services_discovery/radio.c:108,1
    - Dst: strchr
      Src: /src/vlc/modules/services_discovery/radio.c:126,1
    - Dst: memmove
      Src: /src/vlc/modules/services_discovery/radio.c:133,1
    - Dst: strlen
      Src: /src/vlc/modules/services_discovery/radio.c:133,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 3
    argNames:
    - line
    - fields
    - max_fields
    argTypes:
    - char*
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 161
    functionName: parse_csv_line
    functionSourceFile: /src/vlc/modules/services_discovery/radio.c
    functionUses: 0
    functionsReached:
    - memmove
    - strlen
    - strchr
    linkageType: ''
    returnType: int
    signature: int parse_csv_line(char *line, char **fields, size_t max_fields)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/services_discovery/radio.c:166,1
    - Dst: vlc_stream_ReadLine
      Src: /src/vlc/modules/services_discovery/radio.c:170,1
    - Dst: parse_csv_line
      Src: /src/vlc/modules/services_discovery/radio.c:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - parser
    argTypes:
    - csv_parser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 184
    functionName: csv_parser_read_line
    functionSourceFile: /src/vlc/modules/services_discovery/radio.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_stream_ReadLine
    - parse_csv_line
    linkageType: ''
    returnType: int
    signature: int csv_parser_read_line(csv_parser *parser)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/services_discovery/radio.c:190,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/radio.c:192,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/radio.c:193,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/radio.c:194,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/radio.c:195,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/radio.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - parser
    argTypes:
    - csv_parser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 197
    functionName: csv_parser_free
    functionSourceFile: /src/vlc/modules/services_discovery/radio.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_stream_Delete
    linkageType: ''
    returnType: void
    signature: void csv_parser_free(csv_parser *parser)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/services_discovery/radio.c:208,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - parser
    - field_name
    argTypes:
    - csv_parser*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 215
    functionName: csv_parser_get_field_index
    functionSourceFile: /src/vlc/modules/services_discovery/radio.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int csv_parser_get_field_index(csv_parser *parser, const char *field_name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/services_discovery/radio.c:222,1
    - Dst: vlc_stream_NewURL
      Src: /src/vlc/modules/services_discovery/radio.c:228,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/radio.c:231,1
    - Dst: malloc
      Src: /src/vlc/modules/services_discovery/radio.c:238,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/services_discovery/radio.c:241,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/radio.c:242,1
    - Dst: malloc
      Src: /src/vlc/modules/services_discovery/radio.c:245,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/radio.c:248,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/services_discovery/radio.c:249,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/radio.c:250,1
    - Dst: vlc_stream_ReadLine
      Src: /src/vlc/modules/services_discovery/radio.c:254,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/radio.c:257,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/radio.c:258,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/services_discovery/radio.c:259,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/radio.c:260,1
    - Dst: parse_csv_line
      Src: /src/vlc/modules/services_discovery/radio.c:264,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/radio.c:267,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/radio.c:268,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/radio.c:269,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/services_discovery/radio.c:270,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/radio.c:271,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 3
    argNames:
    - data
    - psz_url
    - max_fields
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 278
    functionName: csv_parser_init
    functionSourceFile: /src/vlc/modules/services_discovery/radio.c
    functionUses: 0
    functionsReached:
    - parse_csv_line
    - vlc_stream_Delete
    - free
    - vlc_stream_ReadLine
    - malloc
    - vlc_stream_NewURL
    linkageType: ''
    returnType: csv_parser
    signature: csv_parser *csv_parser_init(void *data, char *psz_url, int max_fields)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/services_discovery/radio.c:283,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/services_discovery/radio.c:288,1
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/radio.c:293,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/radio.c:295,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/radio.c:298,1
    - Dst: vlc_interrupt_set
      Src: /src/vlc/modules/services_discovery/radio.c:300,1
    - Dst: csv_parser_init
      Src: /src/vlc/modules/services_discovery/radio.c:302,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/radio.c:303,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/radio.c:306,1
    - Dst: csv_parser_get_field_index
      Src: /src/vlc/modules/services_discovery/radio.c:309,1
    - Dst: csv_parser_get_field_index
      Src: /src/vlc/modules/services_discovery/radio.c:310,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/radio.c:314,1
    - Dst: csv_parser_free
      Src: /src/vlc/modules/services_discovery/radio.c:315,1
    - Dst: csv_parser_read_line
      Src: /src/vlc/modules/services_discovery/radio.c:320,1
    - Dst: vlc_killed
      Src: /src/vlc/modules/services_discovery/radio.c:322,1
    - Dst: strlen
      Src: /src/vlc/modules/services_discovery/radio.c:329,1
    - Dst: strlen
      Src: /src/vlc/modules/services_discovery/radio.c:329,1
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/radio.c:335,1
    - Dst: input_item_NewDirectory
      Src: /src/vlc/modules/services_discovery/radio.c:340,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/radio.c:341,1
    - Dst: snprintf
      Src: /src/vlc/modules/services_discovery/radio.c:348,1
    - Dst: input_item_SetMeta
      Src: /src/vlc/modules/services_discovery/radio.c:349,1
    - Dst: services_discovery_AddItem
      Src: /src/vlc/modules/services_discovery/radio.c:351,1
    - Dst: csv_parser_free
      Src: /src/vlc/modules/services_discovery/radio.c:353,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 355
    functionName: Run
    functionSourceFile: /src/vlc/modules/services_discovery/radio.c
    functionUses: 8
    functionsReached:
    - asprintf
    - csv_parser_init
    - var_InheritString
    - vlc_thread_set_name
    - csv_parser_get_field_index
    - services_discovery_AddItem
    - strlen
    - input_item_SetMeta
    - csv_parser_read_line
    - msg_Err
    - free
    - csv_parser_free
    - input_item_NewDirectory
    - vlc_interrupt_set
    - vlc_killed
    - snprintf
    linkageType: ''
    returnType: void
    signature: void *Run(void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/services_discovery/radio.c:360,1
    - Dst: vlc_interrupt_create
      Src: /src/vlc/modules/services_discovery/radio.c:365,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/radio.c:368,1
    - Dst: _
      Src: /src/vlc/modules/services_discovery/radio.c:372,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/services_discovery/radio.c:374,1
    - Dst: vlc_interrupt_destroy
      Src: /src/vlc/modules/services_discovery/radio.c:376,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/radio.c:377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 381
    functionName: Open
    functionSourceFile: /src/vlc/modules/services_discovery/radio.c
    functionUses: 39
    functionsReached:
    - vlc_interrupt_destroy
    - vlc_clone
    - vlc_interrupt_create
    - _
    - free
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_interrupt_kill
      Src: /src/vlc/modules/services_discovery/radio.c:388,1
    - Dst: vlc_join
      Src: /src/vlc/modules/services_discovery/radio.c:389,1
    - Dst: vlc_interrupt_destroy
      Src: /src/vlc/modules/services_discovery/radio.c:390,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/radio.c:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 392
    functionName: Close
    functionSourceFile: /src/vlc/modules/services_discovery/radio.c
    functionUses: 128
    functionsReached:
    - free
    - vlc_interrupt_destroy
    - vlc_interrupt_kill
    - vlc_join
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *p_this)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/services_discovery/radio.c:396,1
    - Dst: input_item_SetMeta
      Src: /src/vlc/modules/services_discovery/radio.c:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - item
    - parser
    - index
    - type
    argTypes:
    - input_item_t*
    - csv_parser*
    - int
    - vlc_meta_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 400
    functionName: SetMetaFromField
    functionSourceFile: /src/vlc/modules/services_discovery/radio.c
    functionUses: 0
    functionsReached:
    - strlen
    - input_item_SetMeta
    linkageType: ''
    returnType: void
    signature: void SetMetaFromField(input_item_t *item, csv_parser *parser, int index,
      vlc_meta_type_t type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/services_discovery/radio.c:404,1
    - Dst: input_item_SetMetaExtra
      Src: /src/vlc/modules/services_discovery/radio.c:407,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - item
    - parser
    - index
    - name
    argTypes:
    - input_item_t*
    - csv_parser*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 408
    functionName: SetMetaExtraFromField
    functionSourceFile: /src/vlc/modules/services_discovery/radio.c
    functionUses: 0
    functionsReached:
    - strlen
    - input_item_SetMetaExtra
    linkageType: ''
    returnType: void
    signature: void SetMetaExtraFromField(input_item_t *item, csv_parser *parser,
      int index, const char *name)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/services_discovery/radio.c:420,1
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/radio.c:429,1
    - Dst: csv_parser_init
      Src: /src/vlc/modules/services_discovery/radio.c:437,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/radio.c:438,1
    - Dst: csv_parser_get_field_index
      Src: /src/vlc/modules/services_discovery/radio.c:445,1
    - Dst: csv_parser_get_field_index
      Src: /src/vlc/modules/services_discovery/radio.c:446,1
    - Dst: csv_parser_get_field_index
      Src: /src/vlc/modules/services_discovery/radio.c:447,1
    - Dst: csv_parser_get_field_index
      Src: /src/vlc/modules/services_discovery/radio.c:448,1
    - Dst: csv_parser_get_field_index
      Src: /src/vlc/modules/services_discovery/radio.c:449,1
    - Dst: csv_parser_get_field_index
      Src: /src/vlc/modules/services_discovery/radio.c:450,1
    - Dst: csv_parser_get_field_index
      Src: /src/vlc/modules/services_discovery/radio.c:451,1
    - Dst: csv_parser_get_field_index
      Src: /src/vlc/modules/services_discovery/radio.c:452,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/radio.c:455,1
    - Dst: csv_parser_free
      Src: /src/vlc/modules/services_discovery/radio.c:456,1
    - Dst: csv_parser_read_line
      Src: /src/vlc/modules/services_discovery/radio.c:463,1
    - Dst: vlc_killed
      Src: /src/vlc/modules/services_discovery/radio.c:465,1
    - Dst: strlen
      Src: /src/vlc/modules/services_discovery/radio.c:476,1
    - Dst: strlen
      Src: /src/vlc/modules/services_discovery/radio.c:476,1
    - Dst: input_item_NewStream
      Src: /src/vlc/modules/services_discovery/radio.c:481,1
    - Dst: SetMetaFromField
      Src: /src/vlc/modules/services_discovery/radio.c:489,1
    - Dst: SetMetaFromField
      Src: /src/vlc/modules/services_discovery/radio.c:490,1
    - Dst: SetMetaFromField
      Src: /src/vlc/modules/services_discovery/radio.c:491,1
    - Dst: SetMetaFromField
      Src: /src/vlc/modules/services_discovery/radio.c:492,1
    - Dst: SetMetaExtraFromField
      Src: /src/vlc/modules/services_discovery/radio.c:494,1
    - Dst: SetMetaExtraFromField
      Src: /src/vlc/modules/services_discovery/radio.c:495,1
    - Dst: input_item_node_AppendItem
      Src: /src/vlc/modules/services_discovery/radio.c:497,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/radio.c:498,1
    - Dst: csv_parser_free
      Src: /src/vlc/modules/services_discovery/radio.c:500,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 51
    argCount: 2
    argNames:
    - p_access
    - p_node
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 509
    functionName: ReadDirectory
    functionSourceFile: /src/vlc/modules/services_discovery/radio.c
    functionUses: 0
    functionsReached:
    - input_item_node_AppendItem
    - asprintf
    - csv_parser_init
    - SetMetaExtraFromField
    - SetMetaFromField
    - input_item_Release
    - strlen
    - csv_parser_read_line
    - input_item_NewStream
    - msg_Err
    - free
    - csv_parser_free
    - csv_parser_get_field_index
    - vlc_killed
    linkageType: ''
    returnType: int
    signature: int ReadDirectory(stream_t *p_access, input_item_node_t *p_node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/services_discovery/radio.c:514,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/services_discovery/radio.c:518,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/radio.c:521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 530
    functionName: OpenAccess
    functionSourceFile: /src/vlc/modules/services_discovery/radio.c
    functionUses: 0
    functionsReached:
    - free
    - var_InheritString
    - malloc
    linkageType: ''
    returnType: int
    signature: int OpenAccess(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/services_discovery/radio.c:537,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/radio.c:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 539
    functionName: CloseAccess
    functionSourceFile: /src/vlc/modules/services_discovery/radio.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void CloseAccess(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: ~Upnp_i11e_cb()
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Upnp_i11e_cb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: ~Upnp_i11e_cb()
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Upnp_i11e_cb()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/services_discovery/sap.c:111,1
    - Dst: inflateInit
      Src: /src/vlc/modules/services_discovery/sap.c:113,1
    - Dst: xrealloc
      Src: /src/vlc/modules/services_discovery/sap.c:123,1
    - Dst: inflate
      Src: /src/vlc/modules/services_discovery/sap.c:127,1
    - Dst: inflateEnd
      Src: /src/vlc/modules/services_discovery/sap.c:130,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/sap.c:131,1
    - Dst: inflateEnd
      Src: /src/vlc/modules/services_discovery/sap.c:139,1
    - Dst: xrealloc
      Src: /src/vlc/modules/services_discovery/sap.c:141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - psz_src
    - _dst
    - i_len
    argTypes:
    - unsigned char*
    - unsigned char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 150
    functionName: Decompress
    functionSourceFile: /src/vlc/modules/services_discovery/sap.c
    functionUses: 0
    functionsReached:
    - inflateEnd
    - xrealloc
    - inflateInit
    - memset
    - inflate
    - free
    linkageType: ''
    returnType: int
    signature: int Decompress( const unsigned char *psz_src, unsigned char **_dst,
      int i_len )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: services_discovery_RemoveItem
      Src: /src/vlc/modules/services_discovery/sap.c:163,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/sap.c:164,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/sap.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: DestroyCategory
    functionSourceFile: /src/vlc/modules/services_discovery/sap.c
    functionUses: 0
    functionsReached:
    - input_item_Release
    - services_discovery_RemoveItem
    - free
    linkageType: ''
    returnType: void
    signature: void DestroyCategory(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/services_discovery/sap.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: cmpcat
    functionSourceFile: /src/vlc/modules/services_discovery/sap.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int cmpcat (const void *a, const void *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/services_discovery/sap.c:178,1
    - Dst: strlen
      Src: /src/vlc/modules/services_discovery/sap.c:178,1
    - Dst: unlikely
      Src: /src/vlc/modules/services_discovery/sap.c:179,1
    - Dst: strcpy
      Src: /src/vlc/modules/services_discovery/sap.c:181,1
    - Dst: tsearch
      Src: /src/vlc/modules/services_discovery/sap.c:183,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/sap.c:186,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/sap.c:191,1
    - Dst: assert
      Src: /src/vlc/modules/services_discovery/sap.c:193,1
    - Dst: input_item_NewExt
      Src: /src/vlc/modules/services_discovery/sap.c:197,1
    - Dst: unlikely
      Src: /src/vlc/modules/services_discovery/sap.c:201,1
    - Dst: tdelete
      Src: /src/vlc/modules/services_discovery/sap.c:203,1
    - Dst: services_discovery_AddItem
      Src: /src/vlc/modules/services_discovery/sap.c:206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - sd
    - name
    argTypes:
    - services_discovery_t*
    - char*
    assertStmts:
    - condition: (c->item != NULL)
      pos:
        line_end: 192
        line_start: 192
        source_file: /src/vlc/modules/services_discovery/sap.c
    constantsTouched: []
    func_position:
      end: 210
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 210
    functionName: AddCategory
    functionSourceFile: /src/vlc/modules/services_discovery/sap.c
    functionUses: 0
    functionsReached:
    - assert
    - services_discovery_AddItem
    - strlen
    - free
    - tsearch
    - strcpy
    - tdelete
    - unlikely
    - malloc
    - input_item_NewExt
    linkageType: ''
    returnType: input_item_t
    signature: input_item_t *AddCategory (services_discovery_t *sd, const char *name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sdp_parse
      Src: /src/vlc/modules/services_discovery/sap.c:229,1
    - Dst: strlen
      Src: /src/vlc/modules/services_discovery/sap.c:229,1
    - Dst: malloc
      Src: /src/vlc/modules/services_discovery/sap.c:233,1
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/sap.c:239,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/services_discovery/sap.c:245,1
    - Dst: memcpy
      Src: /src/vlc/modules/services_discovery/sap.c:249,1
    - Dst: input_item_NewStream
      Src: /src/vlc/modules/services_discovery/sap.c:252,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/sap.c:254,1
    - Dst: unlikely
      Src: /src/vlc/modules/services_discovery/sap.c:255,1
    - Dst: input_item_SetMeta
      Src: /src/vlc/modules/services_discovery/sap.c:260,1
    - Dst: vlc_sdp_attr_value
      Src: /src/vlc/modules/services_discovery/sap.c:262,1
    - Dst: input_item_AddInfo
      Src: /src/vlc/modules/services_discovery/sap.c:265,1
    - Dst: _
      Src: /src/vlc/modules/services_discovery/sap.c:265,1
    - Dst: _
      Src: /src/vlc/modules/services_discovery/sap.c:265,1
    - Dst: vlc_sdp_attr_value
      Src: /src/vlc/modules/services_discovery/sap.c:269,1
    - Dst: strdup
      Src: /src/vlc/modules/services_discovery/sap.c:275,1
    - Dst: likely
      Src: /src/vlc/modules/services_discovery/sap.c:276,1
    - Dst: strchr
      Src: /src/vlc/modules/services_discovery/sap.c:278,1
    - Dst: strchr
      Src: /src/vlc/modules/services_discovery/sap.c:278,1
    - Dst: vlc_sdp_attr_value
      Src: /src/vlc/modules/services_discovery/sap.c:286,1
    - Dst: AddCategory
      Src: /src/vlc/modules/services_discovery/sap.c:288,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/sap.c:289,1
    - Dst: services_discovery_AddSubItem
      Src: /src/vlc/modules/services_discovery/sap.c:290,1
    - Dst: vlc_sdp_free
      Src: /src/vlc/modules/services_discovery/sap.c:292,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/sap.c:295,1
    - Dst: vlc_sdp_free
      Src: /src/vlc/modules/services_discovery/sap.c:296,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 4
    argNames:
    - p_sd
    - i_source
    - i_hash
    - psz_sdp
    argTypes:
    - services_discovery_t*
    - uint32_t*
    - uint16_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 224
    functionDepth: 5
    functionLinenumber: 224
    functionLinenumberEnd: 298
    functionName: CreateAnnounce
    functionSourceFile: /src/vlc/modules/services_discovery/sap.c
    functionUses: 0
    functionsReached:
    - input_item_AddInfo
    - strchr
    - AddCategory
    - memcpy
    - vlc_tick_now
    - asprintf
    - _
    - input_item_NewStream
    - vlc_sdp_free
    - strdup
    - likely
    - vlc_sdp_parse
    - strlen
    - input_item_SetMeta
    - vlc_sdp_attr_value
    - free
    - unlikely
    - malloc
    - services_discovery_AddSubItem
    linkageType: ''
    returnType: sap_announce_t
    signature: "sap_announce_t *CreateAnnounce(services_discovery_t *p_sd,\n                                      const
      uint32_t *i_source,\n                                      uint16_t i_hash,
      const char *psz_sdp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: services_discovery_RemoveItem
      Src: /src/vlc/modules/services_discovery/sap.c:305,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/sap.c:306,1
    - Dst: TAB_REMOVE
      Src: /src/vlc/modules/services_discovery/sap.c:311,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/sap.c:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - p_sd
    - p_announce
    argTypes:
    - services_discovery_t*
    - sap_announce_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 315
    functionName: RemoveAnnounce
    functionSourceFile: /src/vlc/modules/services_discovery/sap.c
    functionUses: 0
    functionsReached:
    - input_item_Release
    - services_discovery_RemoveItem
    - TAB_REMOVE
    - free
    linkageType: ''
    returnType: int
    signature: "int RemoveAnnounce( services_discovery_t *p_sd,\n                           sap_announce_t
      *p_announce )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: net_ListenUDP1
      Src: /src/vlc/modules/services_discovery/sap.c:320,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/services_discovery/sap.c:320,1
    - Dst: shutdown
      Src: /src/vlc/modules/services_discovery/sap.c:324,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/services_discovery/sap.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p_sd
    - psz_address
    - i_port
    argTypes:
    - services_discovery_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 328
    functionName: InitSocket
    functionSourceFile: /src/vlc/modules/services_discovery/sap.c
    functionUses: 0
    functionsReached:
    - shutdown
    - net_ListenUDP1
    - TAB_APPEND
    - VLC_OBJECT
    linkageType: ''
    returnType: int
    signature: "int InitSocket( services_discovery_t *p_sd, const char *psz_address,\n
      \                      int i_port )"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/services_discovery/sap.c:339,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/sap.c:356,1
    - Dst: U16_AT
      Src: /src/vlc/modules/services_discovery/sap.c:362,1
    - Dst: U32_AT
      Src: /src/vlc/modules/services_discovery/sap.c:371,1
    - Dst: memset
      Src: /src/vlc/modules/services_discovery/sap.c:375,1
    - Dst: U32_AT
      Src: /src/vlc/modules/services_discovery/sap.c:376,1
    - Dst: Decompress
      Src: /src/vlc/modules/services_discovery/sap.c:387,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/sap.c:390,1
    - Dst: xrealloc
      Src: /src/vlc/modules/services_discovery/sap.c:394,1
    - Dst: assert
      Src: /src/vlc/modules/services_discovery/sap.c:406,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/sap.c:410,1
    - Dst: strlen
      Src: /src/vlc/modules/services_discovery/sap.c:412,1
    - Dst: strcmp
      Src: /src/vlc/modules/services_discovery/sap.c:414,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/sap.c:416,1
    - Dst: memcmp
      Src: /src/vlc/modules/services_discovery/sap.c:433,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/services_discovery/sap.c:452,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/sap.c:456,1
    - Dst: CreateAnnounce
      Src: /src/vlc/modules/services_discovery/sap.c:461,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/services_discovery/sap.c:463,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/sap.c:465,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/sap.c:468,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 70
    argCount: 3
    argNames:
    - p_sd
    - buf
    - len
    argTypes:
    - services_discovery_t*
    - uint8_t*
    - size_t
    assertStmts:
    - condition: ( psz_sdp[len] == '\0')
      pos:
        line_end: 405
        line_start: 405
        source_file: /src/vlc/modules/services_discovery/sap.c
    - condition: (buf[len] == '\0')
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/vlc/modules/services_discovery/sap.c
    constantsTouched: []
    func_position:
      end: 470
      start: 331
    functionDepth: 6
    functionLinenumber: 331
    functionLinenumberEnd: 470
    functionName: ParseSAP
    functionSourceFile: /src/vlc/modules/services_discovery/sap.c
    functionUses: 0
    functionsReached:
    - U32_AT
    - vlc_tick_now
    - assert
    - xrealloc
    - memset
    - U16_AT
    - strlen
    - CreateAnnounce
    - Decompress
    - TAB_APPEND
    - strncmp
    - strcmp
    - free
    - msg_Dbg
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int ParseSAP( services_discovery_t *p_sd, const uint8_t *buf,\n                     size_t
      len )"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/services_discovery/sap.c:481,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/services_discovery/sap.c:487,1
    - Dst: InitSocket
      Src: /src/vlc/modules/services_discovery/sap.c:495,1
    - Dst: InitSocket
      Src: /src/vlc/modules/services_discovery/sap.c:496,1
    - Dst: InitSocket
      Src: /src/vlc/modules/services_discovery/sap.c:497,1
    - Dst: InitSocket
      Src: /src/vlc/modules/services_discovery/sap.c:498,1
    - Dst: if_nameindex
      Src: /src/vlc/modules/services_discovery/sap.c:502,1
    - Dst: strchr
      Src: /src/vlc/modules/services_discovery/sap.c:505,1
    - Dst: strcpy
      Src: /src/vlc/modules/services_discovery/sap.c:508,1
    - Dst: InitSocket
      Src: /src/vlc/modules/services_discovery/sap.c:509,1
    - Dst: if_freenameindex
      Src: /src/vlc/modules/services_discovery/sap.c:511,1
    - Dst: socket
      Src: /src/vlc/modules/services_discovery/sap.c:518,1
    - Dst: WSAIoctl
      Src: /src/vlc/modules/services_discovery/sap.c:524,1
    - Dst: strchr
      Src: /src/vlc/modules/services_discovery/sap.c:527,1
    - Dst: sprintf
      Src: /src/vlc/modules/services_discovery/sap.c:531,1
    - Dst: closesocket
      Src: /src/vlc/modules/services_discovery/sap.c:534,1
    - Dst: strchr
      Src: /src/vlc/modules/services_discovery/sap.c:537,1
    - Dst: InitSocket
      Src: /src/vlc/modules/services_discovery/sap.c:543,1
    - Dst: var_CreateGetString
      Src: /src/vlc/modules/services_discovery/sap.c:546,1
    - Dst: InitSocket
      Src: /src/vlc/modules/services_discovery/sap.c:548,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/sap.c:549,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/sap.c:553,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/services_discovery/sap.c:560,1
    - Dst: poll
      Src: /src/vlc/modules/services_discovery/sap.c:571,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/services_discovery/sap.c:572,1
    - Dst: recv
      Src: /src/vlc/modules/services_discovery/sap.c:582,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/services_discovery/sap.c:584,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/services_discovery/sap.c:585,1
    - Dst: ParseSAP
      Src: /src/vlc/modules/services_discovery/sap.c:590,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/services_discovery/sap.c:596,1
    - Dst: RemoveAnnounce
      Src: /src/vlc/modules/services_discovery/sap.c:614,1
    - Dst: __MIN
      Src: /src/vlc/modules/services_discovery/sap.c:620,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/services_discovery/sap.c:620,1
    - Dst: __MIN
      Src: /src/vlc/modules/services_discovery/sap.c:621,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/services_discovery/sap.c:621,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/services_discovery/sap.c:630,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 71
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 479
    functionDepth: 7
    functionLinenumber: 479
    functionLinenumberEnd: 631
    functionName: Run
    functionSourceFile: /src/vlc/modules/services_discovery/sap.c
    functionUses: 8
    functionsReached:
    - var_CreateGetString
    - strchr
    - vlc_strerror_c
    - RemoveAnnounce
    - strcpy
    - WSAIoctl
    - if_freenameindex
    - vlc_restorecancel
    - vlc_tick_now
    - vlc_assert_unreachable
    - msg_Err
    - msg_Warn
    - vlc_savecancel
    - InitSocket
    - MS_FROM_VLC_TICK
    - recv
    - vlc_thread_set_name
    - ParseSAP
    - sprintf
    - __MIN
    - socket
    - poll
    - if_nameindex
    - closesocket
    - free
    linkageType: ''
    returnType: void
    signature: void *Run( void *data )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/services_discovery/sap.c:640,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/services_discovery/sap.c:644,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/services_discovery/sap.c:644,1
    - Dst: _
      Src: /src/vlc/modules/services_discovery/sap.c:647,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/services_discovery/sap.c:656,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/sap.c:658,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 663
    functionName: Open
    functionSourceFile: /src/vlc/modules/services_discovery/sap.c
    functionUses: 39
    functionsReached:
    - vlc_clone
    - vlc_tick_from_sec
    - _
    - free
    - var_CreateGetInteger
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_cancel
      Src: /src/vlc/modules/services_discovery/sap.c:674,1
    - Dst: vlc_join
      Src: /src/vlc/modules/services_discovery/sap.c:675,1
    - Dst: net_Close
      Src: /src/vlc/modules/services_discovery/sap.c:679,1
    - Dst: FREENULL
      Src: /src/vlc/modules/services_discovery/sap.c:681,1
    - Dst: RemoveAnnounce
      Src: /src/vlc/modules/services_discovery/sap.c:685,1
    - Dst: FREENULL
      Src: /src/vlc/modules/services_discovery/sap.c:687,1
    - Dst: tdestroy
      Src: /src/vlc/modules/services_discovery/sap.c:688,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/sap.c:690,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 668
    functionDepth: 2
    functionLinenumber: 668
    functionLinenumberEnd: 691
    functionName: Close
    functionSourceFile: /src/vlc/modules/services_discovery/sap.c
    functionUses: 129
    functionsReached:
    - RemoveAnnounce
    - tdestroy
    - vlc_cancel
    - net_Close
    - free
    - vlc_join
    - FREENULL
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: ~Listener()
    functionSourceFile: /src/vlc/modules/services_discovery/upnp-wrapper.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Listener()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.hpp:103,1
    - Dst: assert
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.hpp:104,1
    - Dst: ixmlElement_getElementsByTagName
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.hpp:107,1
    - Dst: ixmlNodeList_item
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.hpp:110,1
    - Dst: ixmlNodeList_free
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.hpp:111,1
    - Dst: ixmlNode_getFirstChild
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.hpp:114,1
    - Dst: ixmlNode_getNodeValue
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.hpp:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - p_parent
    - psz_tag_name
    argTypes:
    - IXML_Element*
    - char*
    assertStmts:
    - condition: ( p_parent )
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/vlc/modules/services_discovery/upnp-wrapper.hpp
    - condition: ( psz_tag_name )
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/vlc/modules/services_discovery/upnp-wrapper.hpp
    constantsTouched: []
    func_position:
      end: 118
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 118
    functionName: xml_getChildElementValue
    functionSourceFile: /src/vlc/modules/services_discovery/upnp-wrapper.hpp
    functionUses: 3
    functionsReached:
    - assert
    - ixmlNodeList_item
    - ixmlNode_getNodeValue
    - ixmlNodeList_free
    - ixmlElement_getElementsByTagName
    - ixmlNode_getFirstChild
    linkageType: ''
    returnType: char
    signature: "char * xml_getChildElementValue( IXML_Element* p_parent,\n                                      const
      char*   psz_tag_name )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inet_addr
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.hpp:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - p_adapter
    argTypes:
    - IP_ADAPTER_ADDRESSES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 136
    functionName: getMulticastAddress
    functionSourceFile: /src/vlc/modules/services_discovery/upnp-wrapper.hpp
    functionUses: 0
    functionsReached:
    - inet_addr
    linkageType: ''
    returnType: IP_ADAPTER_MULTICAST_ADDRESS
    signature: IP_ADAPTER_MULTICAST_ADDRESS * getMulticastAddress(IP_ADAPTER_ADDRESSES*
      p_adapter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<IP_ADAPTER_ADDRESSES_XP*>
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.hpp:144,1
    - Dst: reinterpret_cast<IP_ADAPTER_ADDRESSES_LH*>
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.hpp:153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - p_adapter
    argTypes:
    - IP_ADAPTER_ADDRESSES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 161
    functionName: isAdapterSuitable
    functionSourceFile: /src/vlc/modules/services_discovery/upnp-wrapper.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<IP_ADAPTER_ADDRESSES_XP*>
    - reinterpret_cast<IP_ADAPTER_ADDRESSES_LH*>
    linkageType: ''
    returnType: bool
    signature: bool isAdapterSuitable(IP_ADAPTER_ADDRESSES* p_adapter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.hpp:182,1
    - Dst: malloc
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.hpp:183,1
    - Dst: GetAdaptersAddresses
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.hpp:186,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.hpp:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 193
    functionName: ListAdapters
    functionSourceFile: /src/vlc/modules/services_discovery/upnp-wrapper.hpp
    functionUses: 0
    functionsReached:
    - free
    - GetAdaptersAddresses
    - malloc
    linkageType: ''
    returnType: IP_ADAPTER_ADDRESSES
    signature: IP_ADAPTER_ADDRESSES * ListAdapters()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ListAdapters
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.hpp:199,1
    - Dst: isAdapterSuitable
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.hpp:207,1
    - Dst: getMulticastAddress
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.hpp:210,1
    - Dst: FromWide
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.hpp:213,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.hpp:214,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.hpp:220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 222
    functionName: getPreferedAdapter
    functionSourceFile: /src/vlc/modules/services_discovery/upnp-wrapper.hpp
    functionUses: 1
    functionsReached:
    - ListAdapters
    - free
    - FromWide
    - getMulticastAddress
    - isAdapterSuitable
    linkageType: ''
    returnType: char
    signature: char * getPreferedAdapter()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCDynamicStoreCreate
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.hpp:233,1
    - Dst: CFSTR
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.hpp:233,1
    - Dst: SCDynamicStoreCopyValue
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.hpp:237,1
    - Dst: CFSTR
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.hpp:237,1
    - Dst: CFDictionaryGetValueIfPresent
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.hpp:242,1
    - Dst: CFSTR
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.hpp:242,1
    - Dst: FromCFString
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.hpp:243,1
    - Dst: CFRelease
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.hpp:245,1
    - Dst: CFRelease
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.hpp:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 250
    functionName: getPreferedAdapter
    functionSourceFile: /src/vlc/modules/services_discovery/upnp-wrapper.hpp
    functionUses: 1
    functionsReached:
    - CFRelease
    - SCDynamicStoreCopyValue
    - CFSTR
    - FromCFString
    - CFDictionaryGetValueIfPresent
    - SCDynamicStoreCreate
    linkageType: ''
    returnType: char
    signature: char *getPreferedAdapter()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - anInterface
    argTypes:
    - struct ifaddrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 261
    functionName: necessaryFlagsSetOnInterface
    functionSourceFile: /src/vlc/modules/services_discovery/upnp-wrapper.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool necessaryFlagsSetOnInterface(struct ifaddrs *anInterface)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getifaddrs
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.hpp:267,1
    - Dst: necessaryFlagsSetOnInterface
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.hpp:276,1
    - Dst: strdup
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.hpp:278,1
    - Dst: freeifaddrs
      Src: /src/vlc/modules/services_discovery/upnp-wrapper.hpp:284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 287
    functionName: getPreferedAdapter
    functionSourceFile: /src/vlc/modules/services_discovery/upnp-wrapper.hpp
    functionUses: 1
    functionsReached:
    - freeifaddrs
    - necessaryFlagsSetOnInterface
    - strdup
    - getifaddrs
    linkageType: ''
    returnType: char
    signature: char *getPreferedAdapter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: getPreferedAdapter
    functionSourceFile: /src/vlc/modules/services_discovery/upnp-wrapper.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *getPreferedAdapter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritString
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:85,1
    - Dst: xcb_connect
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:86,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:87,1
    - Dst: xcb_connection_has_error
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:88,1
    - Dst: xcb_disconnect
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:90,1
    - Dst: vlc_sd_probe_Add
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:91,1
    - Dst: N_
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 93
    functionName: vlc_sd_probe_Open
    functionSourceFile: /src/vlc/modules/services_discovery/xcb_apps.c
    functionUses: 0
    functionsReached:
    - var_InheritString
    - vlc_sd_probe_Add
    - N_
    - free
    - xcb_connect
    - xcb_connection_has_error
    - xcb_disconnect
    linkageType: ''
    returnType: int
    signature: int vlc_sd_probe_Open (vlc_object_t *obj)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:101,1
    - Dst: _
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:106,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:109,1
    - Dst: xcb_connect
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:111,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:112,1
    - Dst: xcb_connection_has_error
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:113,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:115,1
    - Dst: xcb_get_setup
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:121,1
    - Dst: xcb_setup_roots_iterator
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:123,1
    - Dst: xcb_screen_next
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:124,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:135,1
    - Dst: AddDesktop
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:140,1
    - Dst: xcb_change_window_attributes
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:143,1
    - Dst: xcb_intern_atom
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:151,1
    - Dst: strlen
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:151,1
    - Dst: xcb_intern_atom
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:153,1
    - Dst: strlen
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:153,1
    - Dst: xcb_intern_atom_reply
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:155,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:158,1
    - Dst: _
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:158,1
    - Dst: _
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:159,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:160,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:163,1
    - Dst: xcb_intern_atom_reply
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:164,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:168,1
    - Dst: input_item_NewExt
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:172,1
    - Dst: _
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:172,1
    - Dst: likely
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:175,1
    - Dst: services_discovery_AddItem
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:176,1
    - Dst: UpdateApps
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:178,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:180,1
    - Dst: xcb_disconnect
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:185,1
    - Dst: tdestroy
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:186,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:188,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:189,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 57
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 191
    functionName: Open
    functionSourceFile: /src/vlc/modules/services_discovery/xcb_apps.c
    functionUses: 39
    functionsReached:
    - UpdateApps
    - xcb_setup_roots_iterator
    - xcb_connect
    - input_item_NewExt
    - xcb_get_setup
    - vlc_dialog_display_error
    - services_discovery_AddItem
    - xcb_screen_next
    - _
    - msg_Err
    - AddDesktop
    - input_item_Release
    - xcb_change_window_attributes
    - likely
    - xcb_intern_atom_reply
    - var_InheritString
    - tdestroy
    - vlc_clone
    - strlen
    - xcb_intern_atom
    - free
    - xcb_connection_has_error
    - xcb_disconnect
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open (vlc_object_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_cancel
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:202,1
    - Dst: vlc_join
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:203,1
    - Dst: xcb_disconnect
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:204,1
    - Dst: tdestroy
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:205,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:207,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 209
    functionName: Close
    functionSourceFile: /src/vlc/modules/services_discovery/xcb_apps.c
    functionUses: 129
    functionsReached:
    - tdestroy
    - vlc_cancel
    - input_item_Release
    - free
    - vlc_join
    - xcb_disconnect
    linkageType: ''
    returnType: void
    signature: void Close (vlc_object_t *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:213,1
    - Dst: xcb_get_file_descriptor
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:218,1
    - Dst: xcb_connection_has_error
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:222,1
    - Dst: poll
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:227,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:229,1
    - Dst: xcb_poll_for_event
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:230,1
    - Dst: UpdateApps
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:237,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:239,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 244
    functionName: Run
    functionSourceFile: /src/vlc/modules/services_discovery/xcb_apps.c
    functionUses: 8
    functionsReached:
    - vlc_restorecancel
    - UpdateApps
    - vlc_thread_set_name
    - poll
    - xcb_get_file_descriptor
    - free
    - xcb_poll_for_event
    - xcb_connection_has_error
    - vlc_savecancel
    linkageType: ''
    returnType: void
    signature: void *Run (void *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:259,1
    - Dst: xcb_get_property_reply
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:263,1
    - Dst: xcb_get_property
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:264,1
    - Dst: strndup
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:268,1
    - Dst: xcb_get_property_value
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:268,1
    - Dst: xcb_get_property_value_length
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:269,1
    - Dst: EnsureUTF8
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:271,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:272,1
    - Dst: input_item_NewCard
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:278,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:279,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:280,1
    - Dst: malloc
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:284,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:287,1
    - Dst: services_discovery_AddSubItem
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:293,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - sd
    - xid
    argTypes:
    - services_discovery_t*
    - xcb_window_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 295
    functionName: AddApp
    functionSourceFile: /src/vlc/modules/services_discovery/xcb_apps.c
    functionUses: 0
    functionsReached:
    - strndup
    - asprintf
    - input_item_Release
    - input_item_NewCard
    - xcb_get_property_value_length
    - xcb_get_property_value
    - EnsureUTF8
    - free
    - xcb_get_property
    - xcb_get_property_reply
    - malloc
    - services_discovery_AddSubItem
    linkageType: ''
    returnType: struct app
    signature: struct app *AddApp (services_discovery_t *sd, xcb_window_t xid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: services_discovery_RemoveItem
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:301,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:302,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 304
    functionName: DelApp
    functionSourceFile: /src/vlc/modules/services_discovery/xcb_apps.c
    functionUses: 0
    functionsReached:
    - input_item_Release
    - services_discovery_RemoveItem
    - free
    linkageType: ''
    returnType: void
    signature: void DelApp (void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 316
    functionName: cmpapp
    functionSourceFile: /src/vlc/modules/services_discovery/xcb_apps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmpapp (const void *a, const void *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xcb_get_property_reply
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:324,1
    - Dst: xcb_get_property
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:325,1
    - Dst: xcb_get_property_value
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:331,1
    - Dst: xcb_get_property_value_length
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:332,1
    - Dst: tfind
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:340,1
    - Dst: tdelete
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:344,1
    - Dst: AddApp
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:348,1
    - Dst: tsearch
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:353,1
    - Dst: DelApp
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:355,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:357,1
    - Dst: tdestroy
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:360,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - sd
    argTypes:
    - services_discovery_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 318
    functionDepth: 3
    functionLinenumber: 318
    functionLinenumberEnd: 362
    functionName: UpdateApps
    functionSourceFile: /src/vlc/modules/services_discovery/xcb_apps.c
    functionUses: 2
    functionsReached:
    - tfind
    - tdestroy
    - xcb_get_property_value_length
    - xcb_get_property_value
    - AddApp
    - free
    - tsearch
    - tdelete
    - xcb_get_property
    - DelApp
    - xcb_get_property_reply
    linkageType: ''
    returnType: void
    signature: void UpdateApps (services_discovery_t *sd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: input_item_NewCard
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:369,1
    - Dst: _
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:369,1
    - Dst: services_discovery_AddItem
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:373,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/xcb_apps.c:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sd
    argTypes:
    - services_discovery_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 375
    functionName: AddDesktop
    functionSourceFile: /src/vlc/modules/services_discovery/xcb_apps.c
    functionUses: 1
    functionsReached:
    - input_item_Release
    - input_item_NewCard
    - _
    - services_discovery_AddItem
    linkageType: ''
    returnType: void
    signature: void AddDesktop(services_discovery_t *sd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: udev_new
      Src: /src/vlc/modules/services_discovery/udev.c:88,1
    - Dst: udev_monitor_new_from_netlink
      Src: /src/vlc/modules/services_discovery/udev.c:92,1
    - Dst: vlc_sd_probe_Add
      Src: /src/vlc/modules/services_discovery/udev.c:95,1
    - Dst: N_
      Src: /src/vlc/modules/services_discovery/udev.c:95,1
    - Dst: module_exists
      Src: /src/vlc/modules/services_discovery/udev.c:97,1
    - Dst: vlc_sd_probe_Add
      Src: /src/vlc/modules/services_discovery/udev.c:98,1
    - Dst: N_
      Src: /src/vlc/modules/services_discovery/udev.c:98,1
    - Dst: vlc_sd_probe_Add
      Src: /src/vlc/modules/services_discovery/udev.c:101,1
    - Dst: N_
      Src: /src/vlc/modules/services_discovery/udev.c:101,1
    - Dst: udev_monitor_unref
      Src: /src/vlc/modules/services_discovery/udev.c:102,1
    - Dst: udev_unref
      Src: /src/vlc/modules/services_discovery/udev.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 106
    functionName: vlc_sd_probe_Open
    functionSourceFile: /src/vlc/modules/services_discovery/udev.c
    functionUses: 0
    functionsReached:
    - udev_monitor_unref
    - vlc_sd_probe_Add
    - N_
    - module_exists
    - udev_unref
    - udev_monitor_new_from_netlink
    - udev_new
    linkageType: ''
    returnType: int
    signature: int vlc_sd_probe_Open (vlc_object_t *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 144
    functionName: cmpdev
    functionSourceFile: /src/vlc/modules/services_discovery/udev.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmpdev (const void *a, const void *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: services_discovery_RemoveItem
      Src: /src/vlc/modules/services_discovery/udev.c:151,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/udev.c:152,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/udev.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 154
    functionName: DestroyDevice
    functionSourceFile: /src/vlc/modules/services_discovery/udev.c
    functionUses: 0
    functionsReached:
    - input_item_Release
    - services_discovery_RemoveItem
    - free
    linkageType: ''
    returnType: void
    signature: void DestroyDevice (void *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: services_discovery_sys_t*::subsys::get_mrl
      Src: /src/vlc/modules/services_discovery/udev.c:165,1
    - Dst: services_discovery_sys_t*::subsys::get_name
      Src: /src/vlc/modules/services_discovery/udev.c:168,1
    - Dst: input_item_NewExt
      Src: /src/vlc/modules/services_discovery/udev.c:169,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/udev.c:172,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/udev.c:173,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/udev.c:174,1
    - Dst: malloc
      Src: /src/vlc/modules/services_discovery/udev.c:178,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/udev.c:181,1
    - Dst: udev_device_get_devnum
      Src: /src/vlc/modules/services_discovery/udev.c:184,1
    - Dst: tsearch
      Src: /src/vlc/modules/services_discovery/udev.c:188,1
    - Dst: DestroyDevice
      Src: /src/vlc/modules/services_discovery/udev.c:191,1
    - Dst: DestroyDevice
      Src: /src/vlc/modules/services_discovery/udev.c:196,1
    - Dst: services_discovery_AddItem
      Src: /src/vlc/modules/services_discovery/udev.c:200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - sd
    - dev
    argTypes:
    - services_discovery_t*
    - struct udev_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 203
    functionName: AddDevice
    functionSourceFile: /src/vlc/modules/services_discovery/udev.c
    functionUses: 0
    functionsReached:
    - services_discovery_AddItem
    - input_item_Release
    - udev_device_get_devnum
    - services_discovery_sys_t*::subsys::get_mrl
    - free
    - tsearch
    - DestroyDevice
    - services_discovery_sys_t*::subsys::get_name
    - msg_Dbg
    - malloc
    - input_item_NewExt
    linkageType: ''
    returnType: int
    signature: int AddDevice (services_discovery_t *sd, struct udev_device *dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: udev_device_get_devnum
      Src: /src/vlc/modules/services_discovery/udev.c:212,1
    - Dst: tfind
      Src: /src/vlc/modules/services_discovery/udev.c:213,1
    - Dst: tdelete
      Src: /src/vlc/modules/services_discovery/udev.c:218,1
    - Dst: DestroyDevice
      Src: /src/vlc/modules/services_discovery/udev.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sd
    - dev
    argTypes:
    - services_discovery_t*
    - struct udev_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 220
    functionName: RemoveDevice
    functionSourceFile: /src/vlc/modules/services_discovery/udev.c
    functionUses: 0
    functionsReached:
    - tfind
    - DestroyDevice
    - tdelete
    - udev_device_get_devnum
    linkageType: ''
    returnType: void
    signature: void RemoveDevice (services_discovery_t *sd, struct udev_device *dev)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/services_discovery/udev.c:230,1
    - Dst: vlc_gettext
      Src: /src/vlc/modules/services_discovery/udev.c:235,1
    - Dst: udev_new
      Src: /src/vlc/modules/services_discovery/udev.c:241,1
    - Dst: udev_monitor_new_from_netlink
      Src: /src/vlc/modules/services_discovery/udev.c:245,1
    - Dst: udev_monitor_filter_add_match_subsystem_devtype
      Src: /src/vlc/modules/services_discovery/udev.c:247,1
    - Dst: udev_enumerate_new
      Src: /src/vlc/modules/services_discovery/udev.c:253,1
    - Dst: udev_enumerate_add_match_subsystem
      Src: /src/vlc/modules/services_discovery/udev.c:256,1
    - Dst: udev_enumerate_unref
      Src: /src/vlc/modules/services_discovery/udev.c:258,1
    - Dst: udev_monitor_enable_receiving
      Src: /src/vlc/modules/services_discovery/udev.c:262,1
    - Dst: udev_enumerate_scan_devices
      Src: /src/vlc/modules/services_discovery/udev.c:266,1
    - Dst: udev_enumerate_get_list_entry
      Src: /src/vlc/modules/services_discovery/udev.c:267,1
    - Dst: udev_list_entry_get_name
      Src: /src/vlc/modules/services_discovery/udev.c:271,1
    - Dst: udev_device_new_from_syspath
      Src: /src/vlc/modules/services_discovery/udev.c:272,1
    - Dst: AddDevice
      Src: /src/vlc/modules/services_discovery/udev.c:273,1
    - Dst: udev_device_unref
      Src: /src/vlc/modules/services_discovery/udev.c:274,1
    - Dst: udev_enumerate_unref
      Src: /src/vlc/modules/services_discovery/udev.c:276,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/services_discovery/udev.c:278,1
    - Dst: udev_monitor_unref
      Src: /src/vlc/modules/services_discovery/udev.c:280,1
    - Dst: udev_unref
      Src: /src/vlc/modules/services_discovery/udev.c:281,1
    - Dst: udev_monitor_unref
      Src: /src/vlc/modules/services_discovery/udev.c:288,1
    - Dst: udev_unref
      Src: /src/vlc/modules/services_discovery/udev.c:290,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/udev.c:291,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 2
    argNames:
    - obj
    - subsys
    argTypes:
    - vlc_object_t*
    - struct subsys*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 293
    functionName: Open
    functionSourceFile: /src/vlc/modules/services_discovery/udev.c
    functionUses: 39
    functionsReached:
    - AddDevice
    - udev_enumerate_get_list_entry
    - udev_device_unref
    - udev_enumerate_add_match_subsystem
    - udev_monitor_unref
    - udev_list_entry_get_name
    - udev_unref
    - udev_monitor_enable_receiving
    - udev_device_new_from_syspath
    - vlc_gettext
    - udev_enumerate_unref
    - udev_enumerate_scan_devices
    - udev_new
    - vlc_clone
    - udev_monitor_filter_add_match_subsystem_devtype
    - free
    - udev_enumerate_new
    - udev_monitor_new_from_netlink
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open (vlc_object_t *obj, const struct subsys *subsys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udev_list_entry_get_name
      Src: /src/vlc/modules/services_discovery/udev.c:271,1
    - Dst: udev_device_new_from_syspath
      Src: /src/vlc/modules/services_discovery/udev.c:272,1
    - Dst: AddDevice
      Src: /src/vlc/modules/services_discovery/udev.c:273,1
    - Dst: udev_device_unref
      Src: /src/vlc/modules/services_discovery/udev.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 275
    functionName: udev_list_entry_foreach
    functionSourceFile: /src/vlc/modules/services_discovery/udev.c
    functionUses: 0
    functionsReached:
    - udev_device_unref
    - udev_list_entry_get_name
    - udev_device_new_from_syspath
    - AddDevice
    linkageType: ''
    returnType: void
    signature: void udev_list_entry_foreach (deventry, devlist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: udev_monitor_get_udev
      Src: /src/vlc/modules/services_discovery/udev.c:305,1
    - Dst: vlc_cancel
      Src: /src/vlc/modules/services_discovery/udev.c:307,1
    - Dst: vlc_join
      Src: /src/vlc/modules/services_discovery/udev.c:308,1
    - Dst: udev_monitor_unref
      Src: /src/vlc/modules/services_discovery/udev.c:309,1
    - Dst: udev_unref
      Src: /src/vlc/modules/services_discovery/udev.c:310,1
    - Dst: tdestroy
      Src: /src/vlc/modules/services_discovery/udev.c:313,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/udev.c:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 315
    functionName: Close
    functionSourceFile: /src/vlc/modules/services_discovery/udev.c
    functionUses: 129
    functionsReached:
    - udev_monitor_unref
    - tdestroy
    - vlc_cancel
    - udev_monitor_get_udev
    - udev_unref
    - free
    - vlc_join
    linkageType: ''
    returnType: void
    signature: void Close (vlc_object_t *obj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/services_discovery/udev.c:319,1
    - Dst: udev_monitor_get_fd
      Src: /src/vlc/modules/services_discovery/udev.c:325,1
    - Dst: poll
      Src: /src/vlc/modules/services_discovery/udev.c:330,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/services_discovery/udev.c:334,1
    - Dst: udev_monitor_receive_device
      Src: /src/vlc/modules/services_discovery/udev.c:335,1
    - Dst: udev_device_get_action
      Src: /src/vlc/modules/services_discovery/udev.c:339,1
    - Dst: strcmp
      Src: /src/vlc/modules/services_discovery/udev.c:340,1
    - Dst: AddDevice
      Src: /src/vlc/modules/services_discovery/udev.c:341,1
    - Dst: strcmp
      Src: /src/vlc/modules/services_discovery/udev.c:342,1
    - Dst: RemoveDevice
      Src: /src/vlc/modules/services_discovery/udev.c:343,1
    - Dst: strcmp
      Src: /src/vlc/modules/services_discovery/udev.c:344,1
    - Dst: RemoveDevice
      Src: /src/vlc/modules/services_discovery/udev.c:346,1
    - Dst: AddDevice
      Src: /src/vlc/modules/services_discovery/udev.c:347,1
    - Dst: udev_device_unref
      Src: /src/vlc/modules/services_discovery/udev.c:349,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/services_discovery/udev.c:350,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 317
    functionDepth: 3
    functionLinenumber: 317
    functionLinenumberEnd: 353
    functionName: Run
    functionSourceFile: /src/vlc/modules/services_discovery/udev.c
    functionUses: 8
    functionsReached:
    - RemoveDevice
    - vlc_restorecancel
    - vlc_thread_set_name
    - AddDevice
    - poll
    - udev_monitor_get_fd
    - udev_device_unref
    - strcmp
    - udev_monitor_receive_device
    - udev_device_get_action
    - vlc_savecancel
    linkageType: ''
    returnType: void
    signature: void *Run (void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 367
    functionName: hex
    functionSourceFile: /src/vlc/modules/services_discovery/udev.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hex (char c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/services_discovery/udev.c:374,1
    - Dst: hex
      Src: /src/vlc/modules/services_discovery/udev.c:384,1
    - Dst: hex
      Src: /src/vlc/modules/services_discovery/udev.c:385,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - enc
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 398
    functionName: decode
    functionSourceFile: /src/vlc/modules/services_discovery/udev.c
    functionUses: 40
    functionsReached:
    - hex
    - strdup
    linkageType: ''
    returnType: char
    signature: char *decode (const char *enc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode
      Src: /src/vlc/modules/services_discovery/udev.c:402,1
    - Dst: udev_device_get_property_value
      Src: /src/vlc/modules/services_discovery/udev.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - name
    argTypes:
    - struct udev_device*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 403
    functionName: decode_property
    functionSourceFile: /src/vlc/modules/services_discovery/udev.c
    functionUses: 0
    functionsReached:
    - decode
    - udev_device_get_property_value
    linkageType: ''
    returnType: char
    signature: char *decode_property (struct udev_device *dev, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udev_device_get_property_value
      Src: /src/vlc/modules/services_discovery/udev.c:411,1
    - Dst: strcmp
      Src: /src/vlc/modules/services_discovery/udev.c:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - dev
    argTypes:
    - struct udev_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 413
    functionName: v4l_is_legacy
    functionSourceFile: /src/vlc/modules/services_discovery/udev.c
    functionUses: 0
    functionsReached:
    - strcmp
    - udev_device_get_property_value
    linkageType: ''
    returnType: bool
    signature: bool v4l_is_legacy (struct udev_device *dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udev_device_get_property_value
      Src: /src/vlc/modules/services_discovery/udev.c:419,1
    - Dst: strstr
      Src: /src/vlc/modules/services_discovery/udev.c:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - dev
    argTypes:
    - struct udev_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 421
    functionName: v4l_can_capture
    functionSourceFile: /src/vlc/modules/services_discovery/udev.c
    functionUses: 0
    functionsReached:
    - udev_device_get_property_value
    - strstr
    linkageType: ''
    returnType: bool
    signature: bool v4l_can_capture (struct udev_device *dev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: v4l_is_legacy
      Src: /src/vlc/modules/services_discovery/udev.c:426,1
    - Dst: v4l_can_capture
      Src: /src/vlc/modules/services_discovery/udev.c:426,1
    - Dst: udev_device_get_devnode
      Src: /src/vlc/modules/services_discovery/udev.c:429,1
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/udev.c:432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - dev
    argTypes:
    - struct udev_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 435
    functionName: v4l_get_mrl
    functionSourceFile: /src/vlc/modules/services_discovery/udev.c
    functionUses: 0
    functionsReached:
    - asprintf
    - v4l_can_capture
    - udev_device_get_devnode
    - v4l_is_legacy
    linkageType: ''
    returnType: char
    signature: char *v4l_get_mrl (struct udev_device *dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udev_device_get_property_value
      Src: /src/vlc/modules/services_discovery/udev.c:439,1
    - Dst: strdup
      Src: /src/vlc/modules/services_discovery/udev.c:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - struct udev_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 441
    functionName: v4l_get_name
    functionSourceFile: /src/vlc/modules/services_discovery/udev.c
    functionUses: 0
    functionsReached:
    - udev_device_get_property_value
    - strdup
    linkageType: ''
    returnType: char
    signature: char *v4l_get_name (struct udev_device *dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: N_
      Src: /src/vlc/modules/services_discovery/udev.c:446,1
    - Dst: Open
      Src: /src/vlc/modules/services_discovery/udev.c:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 451
    functionName: OpenV4L
    functionSourceFile: /src/vlc/modules/services_discovery/udev.c
    functionUses: 0
    functionsReached:
    - N_
    - Open
    linkageType: ''
    returnType: int
    signature: int OpenV4L (vlc_object_t *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: udev_device_get_devpath
      Src: /src/vlc/modules/services_discovery/udev.c:461,1
    - Dst: strrchr
      Src: /src/vlc/modules/services_discovery/udev.c:464,1
    - Dst: sscanf
      Src: /src/vlc/modules/services_discovery/udev.c:467,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - dev
    - pcard
    - pdevice
    argTypes:
    - struct udev_device*
    - unsigned*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 472
    functionName: alsa_get_device
    functionSourceFile: /src/vlc/modules/services_discovery/udev.c
    functionUses: 0
    functionsReached:
    - sscanf
    - strrchr
    - udev_device_get_devpath
    linkageType: ''
    returnType: int
    signature: "int alsa_get_device (struct udev_device *dev, unsigned *restrict pcard,\n
      \                           unsigned *restrict pdevice)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: alsa_get_device
      Src: /src/vlc/modules/services_discovery/udev.c:481,1
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/udev.c:484,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - dev
    argTypes:
    - struct udev_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 487
    functionName: alsa_get_mrl
    functionSourceFile: /src/vlc/modules/services_discovery/udev.c
    functionUses: 0
    functionsReached:
    - alsa_get_device
    - asprintf
    linkageType: ''
    returnType: char
    signature: char *alsa_get_mrl (struct udev_device *dev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: alsa_get_device
      Src: /src/vlc/modules/services_discovery/udev.c:494,1
    - Dst: snprintf
      Src: /src/vlc/modules/services_discovery/udev.c:498,1
    - Dst: snd_ctl_open
      Src: /src/vlc/modules/services_discovery/udev.c:501,1
    - Dst: snd_pcm_info_alloca
      Src: /src/vlc/modules/services_discovery/udev.c:505,1
    - Dst: snd_pcm_info_set_device
      Src: /src/vlc/modules/services_discovery/udev.c:506,1
    - Dst: snd_pcm_info_set_subdevice
      Src: /src/vlc/modules/services_discovery/udev.c:507,1
    - Dst: snd_pcm_info_set_stream
      Src: /src/vlc/modules/services_discovery/udev.c:508,1
    - Dst: snd_ctl_pcm_info
      Src: /src/vlc/modules/services_discovery/udev.c:509,1
    - Dst: strdup
      Src: /src/vlc/modules/services_discovery/udev.c:512,1
    - Dst: snd_pcm_info_get_name
      Src: /src/vlc/modules/services_discovery/udev.c:512,1
    - Dst: snd_ctl_close
      Src: /src/vlc/modules/services_discovery/udev.c:514,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - dev
    argTypes:
    - struct udev_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 516
    functionName: alsa_get_name
    functionSourceFile: /src/vlc/modules/services_discovery/udev.c
    functionUses: 0
    functionsReached:
    - alsa_get_device
    - snd_ctl_open
    - snd_pcm_info_alloca
    - strdup
    - snd_ctl_pcm_info
    - snd_pcm_info_get_name
    - snd_ctl_close
    - snd_pcm_info_set_device
    - snd_pcm_info_set_subdevice
    - snd_pcm_info_set_stream
    - snprintf
    linkageType: ''
    returnType: char
    signature: char *alsa_get_name (struct udev_device *dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: N_
      Src: /src/vlc/modules/services_discovery/udev.c:521,1
    - Dst: Open
      Src: /src/vlc/modules/services_discovery/udev.c:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 526
    functionName: OpenALSA
    functionSourceFile: /src/vlc/modules/services_discovery/udev.c
    functionUses: 0
    functionsReached:
    - N_
    - Open
    linkageType: ''
    returnType: int
    signature: int OpenALSA (vlc_object_t *obj)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: udev_device_get_devnode
      Src: /src/vlc/modules/services_discovery/udev.c:533,1
    - Dst: udev_device_get_property_value
      Src: /src/vlc/modules/services_discovery/udev.c:536,1
    - Dst: udev_device_get_property_value
      Src: /src/vlc/modules/services_discovery/udev.c:540,1
    - Dst: vlc_open
      Src: /src/vlc/modules/services_discovery/udev.c:543,1
    - Dst: vlc_close
      Src: /src/vlc/modules/services_discovery/udev.c:545,1
    - Dst: strcmp
      Src: /src/vlc/modules/services_discovery/udev.c:548,1
    - Dst: udev_device_get_property_value
      Src: /src/vlc/modules/services_discovery/udev.c:552,1
    - Dst: atoi
      Src: /src/vlc/modules/services_discovery/udev.c:554,1
    - Dst: udev_device_get_property_value
      Src: /src/vlc/modules/services_discovery/udev.c:556,1
    - Dst: atoi
      Src: /src/vlc/modules/services_discovery/udev.c:557,1
    - Dst: udev_device_get_property_value
      Src: /src/vlc/modules/services_discovery/udev.c:560,1
    - Dst: atoi
      Src: /src/vlc/modules/services_discovery/udev.c:561,1
    - Dst: udev_device_get_property_value
      Src: /src/vlc/modules/services_discovery/udev.c:564,1
    - Dst: atoi
      Src: /src/vlc/modules/services_discovery/udev.c:565,1
    - Dst: vlc_path2uri
      Src: /src/vlc/modules/services_discovery/udev.c:574,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 1
    argNames:
    - dev
    argTypes:
    - struct udev_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 575
    functionName: disc_get_mrl
    functionSourceFile: /src/vlc/modules/services_discovery/udev.c
    functionUses: 0
    functionsReached:
    - vlc_open
    - atoi
    - vlc_close
    - udev_device_get_property_value
    - strcmp
    - udev_device_get_devnode
    - vlc_path2uri
    linkageType: ''
    returnType: char
    signature: char *disc_get_mrl (struct udev_device *dev)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: udev_device_get_properties_list_entry
      Src: /src/vlc/modules/services_discovery/udev.c:582,1
    - Dst: unlikely
      Src: /src/vlc/modules/services_discovery/udev.c:583,1
    - Dst: udev_list_entry_get_name
      Src: /src/vlc/modules/services_discovery/udev.c:589,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/udev.c:591,1
    - Dst: atoi
      Src: /src/vlc/modules/services_discovery/udev.c:593,1
    - Dst: udev_list_entry_get_value
      Src: /src/vlc/modules/services_discovery/udev.c:593,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/udev.c:597,1
    - Dst: N_
      Src: /src/vlc/modules/services_discovery/udev.c:598,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/udev.c:599,1
    - Dst: N_
      Src: /src/vlc/modules/services_discovery/udev.c:600,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/udev.c:601,1
    - Dst: N_
      Src: /src/vlc/modules/services_discovery/udev.c:602,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/udev.c:603,1
    - Dst: N_
      Src: /src/vlc/modules/services_discovery/udev.c:604,1
    - Dst: N_
      Src: /src/vlc/modules/services_discovery/udev.c:611,1
    - Dst: decode_property
      Src: /src/vlc/modules/services_discovery/udev.c:613,1
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/udev.c:616,1
    - Dst: vlc_gettext
      Src: /src/vlc/modules/services_discovery/udev.c:616,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/udev.c:618,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 1
    argNames:
    - dev
    argTypes:
    - struct udev_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 577
    functionDepth: 2
    functionLinenumber: 577
    functionLinenumberEnd: 621
    functionName: disc_get_name
    functionSourceFile: /src/vlc/modules/services_discovery/udev.c
    functionUses: 0
    functionsReached:
    - atoi
    - udev_list_entry_get_value
    - asprintf
    - udev_list_entry_get_name
    - decode_property
    - vlc_gettext
    - N_
    - strncmp
    - free
    - udev_device_get_properties_list_entry
    - unlikely
    linkageType: ''
    returnType: char
    signature: char *disc_get_name (struct udev_device *dev)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: udev_list_entry_get_name
      Src: /src/vlc/modules/services_discovery/udev.c:589,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/udev.c:591,1
    - Dst: atoi
      Src: /src/vlc/modules/services_discovery/udev.c:593,1
    - Dst: udev_list_entry_get_value
      Src: /src/vlc/modules/services_discovery/udev.c:593,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/udev.c:597,1
    - Dst: N_
      Src: /src/vlc/modules/services_discovery/udev.c:598,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/udev.c:599,1
    - Dst: N_
      Src: /src/vlc/modules/services_discovery/udev.c:600,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/udev.c:601,1
    - Dst: N_
      Src: /src/vlc/modules/services_discovery/udev.c:602,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/udev.c:603,1
    - Dst: N_
      Src: /src/vlc/modules/services_discovery/udev.c:604,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 608
    functionName: udev_list_entry_foreach
    functionSourceFile: /src/vlc/modules/services_discovery/udev.c
    functionUses: 0
    functionsReached:
    - atoi
    - udev_list_entry_get_value
    - udev_list_entry_get_name
    - N_
    - strncmp
    linkageType: ''
    returnType: void
    signature: void udev_list_entry_foreach (entry, list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: N_
      Src: /src/vlc/modules/services_discovery/udev.c:626,1
    - Dst: Open
      Src: /src/vlc/modules/services_discovery/udev.c:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 630
    functionName: OpenDisc
    functionSourceFile: /src/vlc/modules/services_discovery/udev.c
    functionUses: 0
    functionsReached:
    - N_
    - Open
    linkageType: ''
    returnType: int
    signature: int OpenDisc (vlc_object_t *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/services_discovery/podcast.c:110,1
    - Dst: vlc_object_typename
      Src: /src/vlc/modules/services_discovery/podcast.c:110,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/services_discovery/podcast.c:110,1
    - Dst: malloc
      Src: /src/vlc/modules/services_discovery/podcast.c:114,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/services_discovery/podcast.c:122,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/services_discovery/podcast.c:123,1
    - Dst: _
      Src: /src/vlc/modules/services_discovery/podcast.c:128,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/services_discovery/podcast.c:131,1
    - Dst: var_Create
      Src: /src/vlc/modules/services_discovery/podcast.c:133,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/services_discovery/podcast.c:134,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/services_discovery/podcast.c:136,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/services_discovery/podcast.c:138,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/podcast.c:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 143
    functionName: Open
    functionSourceFile: /src/vlc/modules/services_discovery/podcast.c
    functionUses: 42
    functionsReached:
    - vlc_object_parent
    - vlc_clone
    - var_AddCallback
    - vlc_mutex_init
    - _
    - var_Create
    - var_DelCallback
    - free
    - strcmp
    - vlc_cond_init
    - vlc_object_typename
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/services_discovery/podcast.c:152,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/services_discovery/podcast.c:154,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/services_discovery/podcast.c:156,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/services_discovery/podcast.c:158,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/services_discovery/podcast.c:159,1
    - Dst: vlc_join
      Src: /src/vlc/modules/services_discovery/podcast.c:160,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/podcast.c:163,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/podcast.c:164,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/podcast.c:167,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/podcast.c:168,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/podcast.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 171
    functionName: Close
    functionSourceFile: /src/vlc/modules/services_discovery/podcast.c
    functionUses: 129
    functionsReached:
    - vlc_cond_signal
    - vlc_object_parent
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - input_item_Release
    - var_DelCallback
    - free
    - vlc_join
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/services_discovery/podcast.c:178,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/services_discovery/podcast.c:183,1
    - Dst: ParseUrls
      Src: /src/vlc/modules/services_discovery/podcast.c:184,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/podcast.c:185,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/services_discovery/podcast.c:191,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/services_discovery/podcast.c:194,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/services_discovery/podcast.c:197,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/podcast.c:202,1
    - Dst: ParseRequest
      Src: /src/vlc/modules/services_discovery/podcast.c:203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 207
    functionName: Run
    functionSourceFile: /src/vlc/modules/services_discovery/podcast.c
    functionUses: 8
    functionsReached:
    - ParseRequest
    - var_InheritString
    - vlc_thread_set_name
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - free
    - msg_Dbg
    - ParseUrls
    - vlc_cond_wait
    linkageType: ''
    returnType: void
    signature: void *Run( void *data )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/services_discovery/podcast.c:213,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/services_discovery/podcast.c:213,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/services_discovery/podcast.c:213,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/services_discovery/podcast.c:216,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/podcast.c:218,1
    - Dst: strdup
      Src: /src/vlc/modules/services_discovery/podcast.c:219,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/services_discovery/podcast.c:220,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/services_discovery/podcast.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - p_this
    - psz_var
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 224
    functionName: Request
    functionSourceFile: /src/vlc/modules/services_discovery/podcast.c
    functionUses: 13
    functionsReached:
    - vlc_cond_signal
    - strdup
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - free
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int Request( vlc_object_t *p_this, char const *psz_var,\n                       vlc_value_t
      oldval, vlc_value_t newval,\n                       void *p_data )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vlc/modules/services_discovery/podcast.c:242,1
    - Dst: strcmp
      Src: /src/vlc/modules/services_discovery/podcast.c:246,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/services_discovery/podcast.c:250,1
    - Dst: strdup
      Src: /src/vlc/modules/services_discovery/podcast.c:250,1
    - Dst: input_item_NewDirectory
      Src: /src/vlc/modules/services_discovery/podcast.c:253,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/services_discovery/podcast.c:255,1
    - Dst: services_discovery_AddItem
      Src: /src/vlc/modules/services_discovery/podcast.c:256,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/services_discovery/podcast.c:260,1
    - Dst: strdup
      Src: /src/vlc/modules/services_discovery/podcast.c:261,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/services_discovery/podcast.c:262,1
    - Dst: services_discovery_RemoveItem
      Src: /src/vlc/modules/services_discovery/podcast.c:279,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/podcast.c:280,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/podcast.c:283,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/podcast.c:285,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/podcast.c:286,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 2
    argNames:
    - p_sd
    - psz_urls
    argTypes:
    - services_discovery_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 292
    functionName: ParseUrls
    functionSourceFile: /src/vlc/modules/services_discovery/podcast.c
    functionUses: 1
    functionsReached:
    - services_discovery_RemoveItem
    - strchr
    - strdup
    - services_discovery_AddItem
    - input_item_Release
    - TAB_APPEND
    - free
    - strcmp
    - input_item_NewDirectory
    linkageType: ''
    returnType: void
    signature: void ParseUrls( services_discovery_t *p_sd, char *psz_urls )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vlc/modules/services_discovery/podcast.c:300,1
    - Dst: strcmp
      Src: /src/vlc/modules/services_discovery/podcast.c:304,1
    - Dst: strcmp
      Src: /src/vlc/modules/services_discovery/podcast.c:308,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/services_discovery/podcast.c:312,1
    - Dst: strdup
      Src: /src/vlc/modules/services_discovery/podcast.c:313,1
    - Dst: input_item_NewDirectory
      Src: /src/vlc/modules/services_discovery/podcast.c:316,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/services_discovery/podcast.c:319,1
    - Dst: services_discovery_AddItem
      Src: /src/vlc/modules/services_discovery/podcast.c:320,1
    - Dst: SaveUrls
      Src: /src/vlc/modules/services_discovery/podcast.c:322,1
    - Dst: strcmp
      Src: /src/vlc/modules/services_discovery/podcast.c:325,1
    - Dst: strcmp
      Src: /src/vlc/modules/services_discovery/podcast.c:329,1
    - Dst: services_discovery_RemoveItem
      Src: /src/vlc/modules/services_discovery/podcast.c:331,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/podcast.c:332,1
    - Dst: TAB_ERASE
      Src: /src/vlc/modules/services_discovery/podcast.c:333,1
    - Dst: TAB_ERASE
      Src: /src/vlc/modules/services_discovery/podcast.c:334,1
    - Dst: SaveUrls
      Src: /src/vlc/modules/services_discovery/podcast.c:337,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/podcast.c:340,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - p_sd
    - psz_request
    argTypes:
    - services_discovery_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 341
    functionName: ParseRequest
    functionSourceFile: /src/vlc/modules/services_discovery/podcast.c
    functionUses: 1
    functionsReached:
    - services_discovery_RemoveItem
    - strchr
    - strdup
    - services_discovery_AddItem
    - input_item_Release
    - TAB_ERASE
    - TAB_APPEND
    - free
    - strcmp
    - input_item_NewDirectory
    - SaveUrls
    linkageType: ''
    returnType: void
    signature: void ParseRequest( services_discovery_t *p_sd, char *psz_request )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/services_discovery/podcast.c:351,1
    - Dst: calloc
      Src: /src/vlc/modules/services_discovery/podcast.c:353,1
    - Dst: strcat
      Src: /src/vlc/modules/services_discovery/podcast.c:357,1
    - Dst: strcat
      Src: /src/vlc/modules/services_discovery/podcast.c:358,1
    - Dst: config_PutPsz
      Src: /src/vlc/modules/services_discovery/podcast.c:361,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/podcast.c:363,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - p_sd
    argTypes:
    - services_discovery_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 364
    functionName: SaveUrls
    functionSourceFile: /src/vlc/modules/services_discovery/podcast.c
    functionUses: 1
    functionsReached:
    - config_PutPsz
    - strlen
    - calloc
    - free
    - strcat
    linkageType: ''
    returnType: void
    signature: void SaveUrls( services_discovery_t *p_sd )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/services_discovery/pulse.c:70,1
    - Dst: unlikely
      Src: /src/vlc/modules/services_discovery/pulse.c:71,1
    - Dst: vlc_pa_connect
      Src: /src/vlc/modules/services_discovery/pulse.c:74,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/pulse.c:77,1
    - Dst: _
      Src: /src/vlc/modules/services_discovery/pulse.c:82,1
    - Dst: pa_threaded_mainloop_lock
      Src: /src/vlc/modules/services_discovery/pulse.c:89,1
    - Dst: pa_context_set_subscribe_callback
      Src: /src/vlc/modules/services_discovery/pulse.c:90,1
    - Dst: pa_context_subscribe
      Src: /src/vlc/modules/services_discovery/pulse.c:91,1
    - Dst: likely
      Src: /src/vlc/modules/services_discovery/pulse.c:92,1
    - Dst: pa_operation_unref
      Src: /src/vlc/modules/services_discovery/pulse.c:93,1
    - Dst: pa_context_get_source_info_list
      Src: /src/vlc/modules/services_discovery/pulse.c:96,1
    - Dst: likely
      Src: /src/vlc/modules/services_discovery/pulse.c:97,1
    - Dst: pa_operation_unref
      Src: /src/vlc/modules/services_discovery/pulse.c:101,1
    - Dst: pa_threaded_mainloop_unlock
      Src: /src/vlc/modules/services_discovery/pulse.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 111
    functionName: Open
    functionSourceFile: /src/vlc/modules/services_discovery/pulse.c
    functionUses: 42
    functionsReached:
    - pa_operation_unref
    - pa_context_subscribe
    - pa_context_set_subscribe_callback
    - _
    - unlikely
    - free
    - pa_context_get_source_info_list
    - likely
    - pa_threaded_mainloop_lock
    - vlc_pa_connect
    - malloc
    - pa_threaded_mainloop_unlock
    linkageType: ''
    returnType: int
    signature: int Open (vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: services_discovery_RemoveItem
      Src: /src/vlc/modules/services_discovery/pulse.c:131,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/pulse.c:132,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/pulse.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: DestroySource
    functionSourceFile: /src/vlc/modules/services_discovery/pulse.c
    functionUses: 0
    functionsReached:
    - input_item_Release
    - services_discovery_RemoveItem
    - free
    linkageType: ''
    returnType: void
    signature: void DestroySource (void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: services_discovery_RemoveItem
      Src: /src/vlc/modules/services_discovery/pulse.c:140,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/pulse.c:141,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/pulse.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: DestroyCard
    functionSourceFile: /src/vlc/modules/services_discovery/pulse.c
    functionUses: 0
    functionsReached:
    - input_item_Release
    - services_discovery_RemoveItem
    - free
    linkageType: ''
    returnType: void
    signature: void DestroyCard(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: cmpsrc
    functionSourceFile: /src/vlc/modules/services_discovery/pulse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmpsrc (const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/services_discovery/pulse.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: cmpcard
    functionSourceFile: /src/vlc/modules/services_discovery/pulse.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int cmpcard (const void *a, const void *b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pa_proplist_gets
      Src: /src/vlc/modules/services_discovery/pulse.c:166,1
    - Dst: N_
      Src: /src/vlc/modules/services_discovery/pulse.c:168,1
    - Dst: malloc
      Src: /src/vlc/modules/services_discovery/pulse.c:170,1
    - Dst: strlen
      Src: /src/vlc/modules/services_discovery/pulse.c:170,1
    - Dst: unlikely
      Src: /src/vlc/modules/services_discovery/pulse.c:171,1
    - Dst: strcpy
      Src: /src/vlc/modules/services_discovery/pulse.c:173,1
    - Dst: tsearch
      Src: /src/vlc/modules/services_discovery/pulse.c:175,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/pulse.c:178,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/pulse.c:183,1
    - Dst: assert
      Src: /src/vlc/modules/services_discovery/pulse.c:185,1
    - Dst: input_item_NewExt
      Src: /src/vlc/modules/services_discovery/pulse.c:189,1
    - Dst: unlikely
      Src: /src/vlc/modules/services_discovery/pulse.c:193,1
    - Dst: tdelete
      Src: /src/vlc/modules/services_discovery/pulse.c:195,1
    - Dst: services_discovery_AddItem
      Src: /src/vlc/modules/services_discovery/pulse.c:198,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - sd
    - info
    argTypes:
    - services_discovery_t*
    - pa_source_info*
    assertStmts:
    - condition: (c->item != NULL)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/vlc/modules/services_discovery/pulse.c
    constantsTouched: []
    func_position:
      end: 202
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 202
    functionName: AddCard
    functionSourceFile: /src/vlc/modules/services_discovery/pulse.c
    functionUses: 0
    functionsReached:
    - assert
    - services_discovery_AddItem
    - strlen
    - N_
    - free
    - strcpy
    - tsearch
    - tdelete
    - pa_proplist_gets
    - unlikely
    - malloc
    - input_item_NewExt
    linkageType: ''
    returnType: input_item_t
    signature: input_item_t *AddCard (services_discovery_t *sd, const pa_source_info
      *info)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/pulse.c:211,1
    - Dst: unlikely
      Src: /src/vlc/modules/services_discovery/pulse.c:214,1
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/pulse.c:214,1
    - Dst: input_item_NewCard
      Src: /src/vlc/modules/services_discovery/pulse.c:217,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/pulse.c:218,1
    - Dst: unlikely
      Src: /src/vlc/modules/services_discovery/pulse.c:219,1
    - Dst: malloc
      Src: /src/vlc/modules/services_discovery/pulse.c:222,1
    - Dst: unlikely
      Src: /src/vlc/modules/services_discovery/pulse.c:223,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/pulse.c:225,1
    - Dst: tsearch
      Src: /src/vlc/modules/services_discovery/pulse.c:231,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/pulse.c:234,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/pulse.c:235,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/pulse.c:240,1
    - Dst: input_item_SetURI
      Src: /src/vlc/modules/services_discovery/pulse.c:242,1
    - Dst: input_item_SetName
      Src: /src/vlc/modules/services_discovery/pulse.c:243,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/pulse.c:244,1
    - Dst: AddCard
      Src: /src/vlc/modules/services_discovery/pulse.c:248,1
    - Dst: services_discovery_AddSubItem
      Src: /src/vlc/modules/services_discovery/pulse.c:249,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - sd
    - info
    argTypes:
    - services_discovery_t*
    - pa_source_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 252
    functionName: AddSource
    functionSourceFile: /src/vlc/modules/services_discovery/pulse.c
    functionUses: 0
    functionsReached:
    - asprintf
    - input_item_SetURI
    - input_item_Release
    - input_item_NewCard
    - input_item_SetName
    - free
    - tsearch
    - msg_Dbg
    - unlikely
    - malloc
    - AddCard
    - services_discovery_AddSubItem
    linkageType: ''
    returnType: int
    signature: int AddSource (services_discovery_t *sd, const pa_source_info *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AddSource
      Src: /src/vlc/modules/services_discovery/pulse.c:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - i
    - eol
    - userdata
    argTypes:
    - pa_context*
    - pa_source_info*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 263
    functionName: SourceCallback
    functionSourceFile: /src/vlc/modules/services_discovery/pulse.c
    functionUses: 0
    functionsReached:
    - AddSource
    linkageType: ''
    returnType: void
    signature: "void SourceCallback(pa_context *ctx, const pa_source_info *i, int
      eol,\n                           void *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tfind
      Src: /src/vlc/modules/services_discovery/pulse.c:272,1
    - Dst: tdelete
      Src: /src/vlc/modules/services_discovery/pulse.c:277,1
    - Dst: DestroySource
      Src: /src/vlc/modules/services_discovery/pulse.c:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sd
    - idx
    argTypes:
    - services_discovery_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 279
    functionName: RemoveSource
    functionSourceFile: /src/vlc/modules/services_discovery/pulse.c
    functionUses: 0
    functionsReached:
    - tfind
    - tdelete
    - DestroySource
    linkageType: ''
    returnType: void
    signature: void RemoveSource (services_discovery_t *sd, uint32_t idx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/services_discovery/pulse.c:287,1
    - Dst: pa_context_get_source_info_by_index
      Src: /src/vlc/modules/services_discovery/pulse.c:293,1
    - Dst: likely
      Src: /src/vlc/modules/services_discovery/pulse.c:294,1
    - Dst: pa_operation_unref
      Src: /src/vlc/modules/services_discovery/pulse.c:295,1
    - Dst: RemoveSource
      Src: /src/vlc/modules/services_discovery/pulse.c:299,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - type
    - idx
    - userdata
    argTypes:
    - pa_context*
    - pa_subscription_event_type_t
    - uint32_t
    - void*
    assertStmts:
    - condition: "((type & PA_SUBSCRIPTION_EVENT_FACILITY_MASK)\n                                              ==
        PA_SUBSCRIPTION_EVENT_SOURCE)"
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/vlc/modules/services_discovery/pulse.c
    constantsTouched: []
    func_position:
      end: 302
      start: 281
    functionDepth: 3
    functionLinenumber: 281
    functionLinenumberEnd: 302
    functionName: ContextCallback
    functionSourceFile: /src/vlc/modules/services_discovery/pulse.c
    functionUses: 0
    functionsReached:
    - assert
    - pa_operation_unref
    - likely
    - RemoveSource
    - pa_context_get_source_info_by_index
    linkageType: ''
    returnType: void
    signature: "void ContextCallback(pa_context *ctx, pa_subscription_event_type_t
      type,\n                            uint32_t idx, void *userdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_pa_disconnect
      Src: /src/vlc/modules/services_discovery/pulse.c:309,1
    - Dst: tdestroy
      Src: /src/vlc/modules/services_discovery/pulse.c:310,1
    - Dst: tdestroy
      Src: /src/vlc/modules/services_discovery/pulse.c:311,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/pulse.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 313
    functionName: Close
    functionSourceFile: /src/vlc/modules/services_discovery/pulse.c
    functionUses: 129
    functionsReached:
    - free
    - vlc_pa_disconnect
    - tdestroy
    linkageType: ''
    returnType: void
    signature: void Close (vlc_object_t *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/vlc/modules/services_discovery/os2drive.c:67,1
    - Dst: DosOpen
      Src: /src/vlc/modules/services_discovery/os2drive.c:69,1
    - Dst: DosDevIOCtl
      Src: /src/vlc/modules/services_discovery/os2drive.c:74,1
    - Dst: LOUSHORT
      Src: /src/vlc/modules/services_discovery/os2drive.c:80,1
    - Dst: HIUSHORT
      Src: /src/vlc/modules/services_discovery/os2drive.c:81,1
    - Dst: input_item_NewDisc
      Src: /src/vlc/modules/services_discovery/os2drive.c:91,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/os2drive.c:92,1
    - Dst: services_discovery_AddItem
      Src: /src/vlc/modules/services_discovery/os2drive.c:96,1
    - Dst: DosClose
      Src: /src/vlc/modules/services_discovery/os2drive.c:100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 103
    functionName: Open
    functionSourceFile: /src/vlc/modules/services_discovery/os2drive.c
    functionUses: 43
    functionsReached:
    - HIUSHORT
    - services_discovery_AddItem
    - _
    - LOUSHORT
    - msg_Dbg
    - DosClose
    - DosDevIOCtl
    - DosOpen
    - input_item_NewDisc
    linkageType: ''
    returnType: int
    signature: int Open (vlc_object_t *obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/services_discovery/upnp.cpp:195,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:200,1
    - Dst: ixmlParseBuffer
      Src: /src/vlc/modules/services_discovery/upnp.cpp:206,1
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/upnp.cpp:222,1
    - Dst: ixmlParseBuffer
      Src: /src/vlc/modules/services_discovery/upnp.cpp:227,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:228,1
    - Dst: ixmlDocument_getElementsByTagName
      Src: /src/vlc/modules/services_discovery/upnp.cpp:234,1
    - Dst: ixmlNodeList_item
      Src: /src/vlc/modules/services_discovery/upnp.cpp:237,1
    - Dst: ixmlNodeList_free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:238,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - p_doc
    argTypes:
    - IXML_Document*
    assertStmts:
    - condition: ( p_doc )
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/vlc/modules/services_discovery/upnp.cpp
    constantsTouched: []
    func_position:
      end: 241
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 241
    functionName: parseBrowseResult
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - asprintf
    - assert
    - ixmlParseBuffer
    - ixmlNodeList_item
    - xml_getChildElementValue
    - ixmlNodeList_free
    - free
    - ixmlDocument_getElementsByTagName
    linkageType: ''
    returnType: IXML_Document
    signature: IXML_Document * parseBrowseResult( IXML_Document* p_doc )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ixmlDocument_getElementsByTagName
      Src: /src/vlc/modules/services_discovery/upnp.cpp:256,1
    - Dst: ixmlNodeList_item
      Src: /src/vlc/modules/services_discovery/upnp.cpp:258,1
    - Dst: ixmlNode_getFirstChild
      Src: /src/vlc/modules/services_discovery/upnp.cpp:260,1
    - Dst: ixmlNode_getNodeValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:262,1
    - Dst: ixmlNodeList_free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - p_desc
    argTypes:
    - IXML_Document*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 267
    functionName: parseBaseUrl
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - ixmlNodeList_item
    - ixmlNode_getNodeValue
    - ixmlNodeList_free
    - ixmlNode_getFirstChild
    - ixmlDocument_getElementsByTagName
    linkageType: ''
    returnType: char
    signature: char *parseBaseUrl( IXML_Document *p_desc )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/services_discovery/upnp.cpp:275,1
    - Dst: reinterpret_cast<services_discovery_sys_t *>
      Src: /src/vlc/modules/services_discovery/upnp.cpp:278,1
    - Dst: UpnpSearchAsync
      Src: /src/vlc/modules/services_discovery/upnp.cpp:281,1
    - Dst: services_discovery_sys_t*::p_upnp::handle
      Src: /src/vlc/modules/services_discovery/upnp.cpp:281,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/upnp.cpp:285,1
    - Dst: UpnpGetErrorMessage
      Src: /src/vlc/modules/services_discovery/upnp.cpp:285,1
    - Dst: UpnpSearchAsync
      Src: /src/vlc/modules/services_discovery/upnp.cpp:290,1
    - Dst: services_discovery_sys_t*::p_upnp::handle
      Src: /src/vlc/modules/services_discovery/upnp.cpp:290,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/upnp.cpp:293,1
    - Dst: UpnpGetErrorMessage
      Src: /src/vlc/modules/services_discovery/upnp.cpp:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - p_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 295
    functionName: SD::SearchThread
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - services_discovery_sys_t*::p_upnp::handle
    - vlc_thread_set_name
    - msg_Err
    - reinterpret_cast<services_discovery_sys_t *>
    - UpnpGetErrorMessage
    - UpnpSearchAsync
    linkageType: ''
    returnType: void
    signature: 'void *

      SearchThread( void *p_data )'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: services_discovery_sys_t::services_discovery_sys_t
      Src: /src/vlc/modules/services_discovery/upnp.cpp:303,1
    - Dst: _
      Src: /src/vlc/modules/services_discovery/upnp.cpp:308,1
    - Dst: UpnpInstanceWrapper::get
      Src: /src/vlc/modules/services_discovery/upnp.cpp:310,1
    - Dst: std::make_shared<SD::MediaServerList>
      Src: /src/vlc/modules/services_discovery/upnp.cpp:319,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/upnp.cpp:323,1
    - Dst: services_discovery_sys_t*::p_upnp::release
      Src: /src/vlc/modules/services_discovery/upnp.cpp:324,1
    - Dst: services_discovery_sys_t*::p_upnp::addListener
      Src: /src/vlc/modules/services_discovery/upnp.cpp:328,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/services_discovery/upnp.cpp:333,1
    - Dst: services_discovery_sys_t*::p_upnp::removeListener
      Src: /src/vlc/modules/services_discovery/upnp.cpp:335,1
    - Dst: services_discovery_sys_t*::p_upnp::release
      Src: /src/vlc/modules/services_discovery/upnp.cpp:336,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 342
    functionName: SD::OpenSD
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - services_discovery_sys_t*::p_upnp::addListener
    - vlc_clone
    - _
    - std::make_shared<SD::MediaServerList>
    - msg_Err
    - services_discovery_sys_t::services_discovery_sys_t
    - services_discovery_sys_t*::p_upnp::release
    - services_discovery_sys_t*::p_upnp::removeListener
    - UpnpInstanceWrapper::get
    linkageType: ''
    returnType: int
    signature: int OpenSD( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<services_discovery_sys_t *>
      Src: /src/vlc/modules/services_discovery/upnp.cpp:350,1
    - Dst: vlc_join
      Src: /src/vlc/modules/services_discovery/upnp.cpp:352,1
    - Dst: services_discovery_sys_t*::p_upnp::removeListener
      Src: /src/vlc/modules/services_discovery/upnp.cpp:353,1
    - Dst: services_discovery_sys_t*::p_upnp::release
      Src: /src/vlc/modules/services_discovery/upnp.cpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 356
    functionName: SD::CloseSD
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - services_discovery_sys_t*::p_upnp::release
    - vlc_join
    - reinterpret_cast<services_discovery_sys_t *>
    - services_discovery_sys_t*::p_upnp::removeListener
    linkageType: ''
    returnType: void
    signature: void CloseSD( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' udn'
    - ' fName'
    - ' loc'
    - ' iconUrl'
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 367
    functionName: SD::MediaServerDesc::MediaServerDesc
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MediaServerDesc::MediaServerDesc( const std::string& udn, const
      std::string& fName,\n                                  const std::string& loc,
      const std::string& iconUrl )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/upnp.cpp:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 373
    functionName: MediaServerDesc::~MediaServerDesc()
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - input_item_Release
    linkageType: ''
    returnType: void
    signature: void MediaServerDesc::~MediaServerDesc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_sd
    argTypes:
    - services_discovery_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: SD::MediaServerList::MediaServerList
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MediaServerList::MediaServerList( services_discovery_t* p_sd )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_delete_all
      Src: /src/vlc/modules/services_discovery/upnp.cpp:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 386
    functionName: MediaServerList::~MediaServerList()
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - vlc_delete_all
    linkageType: ''
    returnType: void
    signature: void MediaServerList::~MediaServerList()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SD::MediaServerList::getServer
      Src: /src/vlc/modules/services_discovery/upnp.cpp:391,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/upnp.cpp:394,1
    - Dst: MediaServerDesc*::friendlyName::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:394,1
    - Dst: MediaServerDesc*::UDN::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:394,1
    - Dst: input_item_NewDirectory
      Src: /src/vlc/modules/services_discovery/upnp.cpp:398,1
    - Dst: MediaServerDesc*::location::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:398,1
    - Dst: MediaServerDesc*::friendlyName::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:399,1
    - Dst: input_item_SetSetting
      Src: /src/vlc/modules/services_discovery/upnp.cpp:404,1
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/upnp.cpp:408,1
    - Dst: MediaServerDesc*::satIpHost::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:409,1
    - Dst: input_item_AddOption
      Src: /src/vlc/modules/services_discovery/upnp.cpp:410,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:411,1
    - Dst: MediaServerDesc*::location::compare
      Src: /src/vlc/modules/services_discovery/upnp.cpp:415,1
    - Dst: strlen
      Src: /src/vlc/modules/services_discovery/upnp.cpp:415,1
    - Dst: loc_starts_with
      Src: /src/vlc/modules/services_discovery/upnp.cpp:418,1
    - Dst: loc_starts_with
      Src: /src/vlc/modules/services_discovery/upnp.cpp:418,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/services_discovery/upnp.cpp:420,1
    - Dst: std::string::replace
      Src: /src/vlc/modules/services_discovery/upnp.cpp:428,1
    - Dst: MediaServerDesc*::location::find
      Src: /src/vlc/modules/services_discovery/upnp.cpp:431,1
    - Dst: input_item_NewDirectory
      Src: /src/vlc/modules/services_discovery/upnp.cpp:436,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:436,1
    - Dst: MediaServerDesc*::friendlyName::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:437,1
    - Dst: input_item_SetSetting
      Src: /src/vlc/modules/services_discovery/upnp.cpp:442,1
    - Dst: MediaServerDesc*::iconUrl::empty
      Src: /src/vlc/modules/services_discovery/upnp.cpp:445,1
    - Dst: input_item_SetArtworkURL
      Src: /src/vlc/modules/services_discovery/upnp.cpp:446,1
    - Dst: MediaServerDesc*::iconUrl::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:446,1
    - Dst: input_item_SetDescription
      Src: /src/vlc/modules/services_discovery/upnp.cpp:448,1
    - Dst: MediaServerDesc*::UDN::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:448,1
    - Dst: services_discovery_AddItem
      Src: /src/vlc/modules/services_discovery/upnp.cpp:449,1
    - Dst: push_back
      Src: /src/vlc/modules/services_discovery/upnp.cpp:450,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - desc
    argTypes:
    - MediaServerDesc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 453
    functionName: SD::MediaServerList::addServer
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - MediaServerDesc*::satIpHost::c_str
    - MediaServerDesc*::location::c_str
    - std::string::c_str
    - MediaServerDesc*::friendlyName::c_str
    - asprintf
    - push_back
    - MediaServerDesc*::iconUrl::c_str
    - services_discovery_AddItem
    - input_item_SetArtworkURL
    - msg_Dbg
    - msg_Warn
    - MediaServerDesc*::location::find
    - input_item_AddOption
    - input_item_SetDescription
    - MediaServerDesc*::iconUrl::empty
    - MediaServerDesc*::location::compare
    - strlen
    - MediaServerDesc*::UDN::c_str
    - input_item_SetSetting
    - SD::MediaServerList::getServer
    - input_item_NewDirectory
    - free
    - loc_starts_with
    - std::string::replace
    linkageType: ''
    returnType: bool
    signature: bool MediaServerList::addServer( MediaServerDesc* desc )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/services_discovery/upnp.cpp:457,1
    - Dst: end
      Src: /src/vlc/modules/services_discovery/upnp.cpp:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' udn'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 468
    functionName: SD::MediaServerList::getServer
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 1
    functionsReached:
    - end
    - begin
    linkageType: ''
    returnType: MediaServerDesc
    signature: MediaServerDesc * MediaServerList::getServer( const std::string& udn
      )
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/upnp.cpp:474,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/services_discovery/upnp.cpp:478,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/upnp.cpp:480,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:484,1
    - Dst: ixmlDocument_getElementsByTagName
      Src: /src/vlc/modules/services_discovery/upnp.cpp:487,1
    - Dst: ixmlNodeList_item
      Src: /src/vlc/modules/services_discovery/upnp.cpp:490,1
    - Dst: ixmlNode_getFirstChild
      Src: /src/vlc/modules/services_discovery/upnp.cpp:492,1
    - Dst: ixmlNode_getNodeValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:494,1
    - Dst: ixmlNodeList_free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:496,1
    - Dst: ixmlDocument_getElementsByTagName
      Src: /src/vlc/modules/services_discovery/upnp.cpp:500,1
    - Dst: ixmlNodeList_length
      Src: /src/vlc/modules/services_discovery/upnp.cpp:505,1
    - Dst: ixmlNodeList_item
      Src: /src/vlc/modules/services_discovery/upnp.cpp:507,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:512,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/services_discovery/upnp.cpp:516,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/upnp.cpp:520,1
    - Dst: strlen
      Src: /src/vlc/modules/services_discovery/upnp.cpp:521,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/upnp.cpp:522,1
    - Dst: strlen
      Src: /src/vlc/modules/services_discovery/upnp.cpp:523,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:526,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/services_discovery/upnp.cpp:530,1
    - Dst: SD::MediaServerList::getServer
      Src: /src/vlc/modules/services_discovery/upnp.cpp:535,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/services_discovery/upnp.cpp:537,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:542,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/upnp.cpp:547,1
    - Dst: SD::MediaServerList::getIconURL
      Src: /src/vlc/modules/services_discovery/upnp.cpp:551,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/upnp.cpp:555,1
    - Dst: strlen
      Src: /src/vlc/modules/services_discovery/upnp.cpp:556,1
    - Dst: SD::MediaServerList::parseSatipServer
      Src: /src/vlc/modules/services_discovery/upnp.cpp:557,1
    - Dst: ixmlElement_getElementsByTagName
      Src: /src/vlc/modules/services_discovery/upnp.cpp:561,1
    - Dst: ixmlNodeList_length
      Src: /src/vlc/modules/services_discovery/upnp.cpp:564,1
    - Dst: ixmlNodeList_item
      Src: /src/vlc/modules/services_discovery/upnp.cpp:566,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:568,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/services_discovery/upnp.cpp:571,1
    - Dst: strlen
      Src: /src/vlc/modules/services_discovery/upnp.cpp:575,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/upnp.cpp:576,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:580,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/services_discovery/upnp.cpp:584,1
    - Dst: UpnpResolveURL2
      Src: /src/vlc/modules/services_discovery/upnp.cpp:590,1
    - Dst: SD::MediaServerDesc::MediaServerDesc
      Src: /src/vlc/modules/services_discovery/upnp.cpp:592,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:594,1
    - Dst: unlikely
      Src: /src/vlc/modules/services_discovery/upnp.cpp:595,1
    - Dst: SD::MediaServerList::addServer
      Src: /src/vlc/modules/services_discovery/upnp.cpp:598,1
    - Dst: ixmlNodeList_free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:605,1
    - Dst: ixmlNodeList_free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:607,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 68
    argCount: 2
    argNames:
    - doc
    - location
    argTypes:
    - IXML_Document*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 470
    functionDepth: 3
    functionLinenumber: 470
    functionLinenumberEnd: 608
    functionName: SD::MediaServerList::parseNewServer
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - SD::MediaServerList::parseSatipServer
    - std::string::empty
    - xml_getChildElementValue
    - UpnpResolveURL2
    - std::string::c_str
    - ixmlDocument_getElementsByTagName
    - ixmlNodeList_length
    - msg_Err
    - msg_Dbg
    - ixmlNode_getFirstChild
    - msg_Warn
    - ixmlNode_getNodeValue
    - ixmlElement_getElementsByTagName
    - strncmp
    - SD::MediaServerDesc::MediaServerDesc
    - SD::MediaServerList::addServer
    - ixmlNodeList_item
    - strlen
    - ixmlNodeList_free
    - SD::MediaServerList::getIconURL
    - free
    - SD::MediaServerList::getServer
    - unlikely
    linkageType: ''
    returnType: void
    signature: void MediaServerList::parseNewServer( IXML_Document *doc, const std::string
      &location )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ixmlElement_getElementsByTagName
      Src: /src/vlc/modules/services_discovery/upnp.cpp:613,1
    - Dst: ixmlNodeList_item
      Src: /src/vlc/modules/services_discovery/upnp.cpp:616,1
    - Dst: ixmlElement_getElementsByTagName
      Src: /src/vlc/modules/services_discovery/upnp.cpp:619,1
    - Dst: ixmlNodeList_length
      Src: /src/vlc/modules/services_discovery/upnp.cpp:624,1
    - Dst: ixmlNodeList_item
      Src: /src/vlc/modules/services_discovery/upnp.cpp:626,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:627,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:628,1
    - Dst: atoi
      Src: /src/vlc/modules/services_discovery/upnp.cpp:631,1
    - Dst: atoi
      Src: /src/vlc/modules/services_discovery/upnp.cpp:632,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:635,1
    - Dst: ixmlNodeList_free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:642,1
    - Dst: ixmlNodeList_free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:645,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/services_discovery/upnp.cpp:647,1
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/services_discovery/upnp.cpp:650,1
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/upnp.cpp:652,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:652,1
    - Dst: std::string::clear
      Src: /src/vlc/modules/services_discovery/upnp.cpp:653,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:657,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/services_discovery/upnp.cpp:659,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 2
    argNames:
    - p_device_elem
    - psz_base_url
    argTypes:
    - IXML_Element*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 610
    functionDepth: 2
    functionLinenumber: 610
    functionLinenumberEnd: 662
    functionName: SD::MediaServerList::getIconURL
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 1
    functionsReached:
    - atoi
    - std::string::empty
    - ixmlNodeList_item
    - vlc_UrlParse
    - asprintf
    - xml_getChildElementValue
    - ixmlNodeList_free
    - ixmlElement_getElementsByTagName
    - vlc_UrlClean
    - free
    - std::string::c_str
    - std::string::clear
    - ixmlNodeList_length
    linkageType: ''
    returnType: std::string
    signature: std::string MediaServerList::getIconURL( IXML_Element* p_device_elem,
      const char* psz_base_url )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/services_discovery/upnp.cpp:670,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/services_discovery/upnp.cpp:673,1
    - Dst: SD::MediaServerDesc::MediaServerDesc
      Src: /src/vlc/modules/services_discovery/upnp.cpp:675,1
    - Dst: likely
      Src: /src/vlc/modules/services_discovery/upnp.cpp:677,1
    - Dst: SD::MediaServerList::addServer
      Src: /src/vlc/modules/services_discovery/upnp.cpp:680,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:686,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/services_discovery/upnp.cpp:687,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:693,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/upnp.cpp:695,1
    - Dst: UpnpResolveURL2
      Src: /src/vlc/modules/services_discovery/upnp.cpp:698,1
    - Dst: SD::MediaServerDesc::MediaServerDesc
      Src: /src/vlc/modules/services_discovery/upnp.cpp:700,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:701,1
    - Dst: SD::MediaServerDesc::MediaServerDesc
      Src: /src/vlc/modules/services_discovery/upnp.cpp:704,1
    - Dst: unlikely
      Src: /src/vlc/modules/services_discovery/upnp.cpp:707,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/services_discovery/upnp.cpp:708,1
    - Dst: SD::MediaServerList::addServer
      Src: /src/vlc/modules/services_discovery/upnp.cpp:714,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/upnp.cpp:717,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/services_discovery/upnp.cpp:721,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 5
    argNames:
    - p_device_element
    - psz_base_url
    - psz_udn
    - psz_friendly_name
    - iconUrl
    argTypes:
    - IXML_Element*
    - char*
    - char*
    - char*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 664
    functionDepth: 3
    functionLinenumber: 664
    functionLinenumberEnd: 723
    functionName: SD::MediaServerList::parseSatipServer
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 1
    functionsReached:
    - SD::MediaServerList::addServer
    - vlc_UrlParse
    - var_InheritString
    - xml_getChildElementValue
    - UpnpResolveURL2
    - unlikely
    - msg_Err
    - free
    - strncmp
    - likely
    - SD::MediaServerDesc::MediaServerDesc
    - vlc_UrlClean
    linkageType: ''
    returnType: void
    signature: void MediaServerList::parseSatipServer( IXML_Element* p_device_element,
      const char *psz_base_url, const char *psz_udn, const char *psz_friendly_name,
      std::string iconUrl )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SD::MediaServerList::getServer
      Src: /src/vlc/modules/services_discovery/upnp.cpp:727,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/upnp.cpp:731,1
    - Dst: MediaServerDesc*::friendlyName::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:731,1
    - Dst: assert
      Src: /src/vlc/modules/services_discovery/upnp.cpp:733,1
    - Dst: services_discovery_RemoveItem
      Src: /src/vlc/modules/services_discovery/upnp.cpp:734,1
    - Dst: find
      Src: /src/vlc/modules/services_discovery/upnp.cpp:736,1
    - Dst: begin
      Src: /src/vlc/modules/services_discovery/upnp.cpp:736,1
    - Dst: end
      Src: /src/vlc/modules/services_discovery/upnp.cpp:736,1
    - Dst: end
      Src: /src/vlc/modules/services_discovery/upnp.cpp:737,1
    - Dst: erase
      Src: /src/vlc/modules/services_discovery/upnp.cpp:739,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' udn'
    argTypes:
    - std::string
    assertStmts:
    - condition: (p_server->inputItem)
      pos:
        line_end: 732
        line_start: 732
        source_file: /src/vlc/modules/services_discovery/upnp.cpp
    constantsTouched: []
    func_position:
      end: 742
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 742
    functionName: SD::MediaServerList::removeServer
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - erase
    - services_discovery_RemoveItem
    - assert
    - begin
    - SD::MediaServerList::getServer
    - msg_Dbg
    - MediaServerDesc*::friendlyName::c_str
    - end
    - find
    linkageType: ''
    returnType: void
    signature: void MediaServerList::removeServer( const std::string& udn )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: UpnpDownloadXmlDoc
      Src: /src/vlc/modules/services_discovery/upnp.cpp:762,1
    - Dst: UpnpDiscovery_get_Location_cstr
      Src: /src/vlc/modules/services_discovery/upnp.cpp:762,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/services_discovery/upnp.cpp:766,1
    - Dst: UpnpDiscovery_get_Location_cstr
      Src: /src/vlc/modules/services_discovery/upnp.cpp:768,1
    - Dst: UpnpGetErrorMessage
      Src: /src/vlc/modules/services_discovery/upnp.cpp:768,1
    - Dst: SD::MediaServerList::parseNewServer
      Src: /src/vlc/modules/services_discovery/upnp.cpp:771,1
    - Dst: UpnpDiscovery_get_Location_cstr
      Src: /src/vlc/modules/services_discovery/upnp.cpp:771,1
    - Dst: ixmlDocument_free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:772,1
    - Dst: SD::MediaServerList::removeServer
      Src: /src/vlc/modules/services_discovery/upnp.cpp:779,1
    - Dst: UpnpDiscovery_get_DeviceID_cstr
      Src: /src/vlc/modules/services_discovery/upnp.cpp:779,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/services_discovery/upnp.cpp:785,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/services_discovery/upnp.cpp:791,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/upnp.cpp:803,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 3
    argNames:
    - event_type
    - p_event
    - p_user_data
    argTypes:
    - Upnp_EventType
    - UpnpEventPtr
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 747
    functionDepth: 4
    functionLinenumber: 747
    functionLinenumberEnd: 809
    functionName: SD::MediaServerList::onEvent
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - UpnpDownloadXmlDoc
    - ixmlDocument_free
    - UpnpDiscovery_get_Location_cstr
    - msg_Err
    - UpnpDiscovery_get_DeviceID_cstr
    - UpnpGetErrorMessage
    - msg_Warn
    - SD::MediaServerList::parseNewServer
    - SD::MediaServerList::removeServer
    linkageType: ''
    returnType: int
    signature: int MediaServerList::onEvent( Upnp_EventType event_type, UpnpEventPtr
      p_event, void* p_user_data )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/services_discovery/upnp.cpp:275,1
    - Dst: reinterpret_cast<services_discovery_sys_t *>
      Src: /src/vlc/modules/services_discovery/upnp.cpp:278,1
    - Dst: UpnpSearchAsync
      Src: /src/vlc/modules/services_discovery/upnp.cpp:281,1
    - Dst: services_discovery_sys_t*::p_upnp::handle
      Src: /src/vlc/modules/services_discovery/upnp.cpp:281,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/upnp.cpp:285,1
    - Dst: UpnpGetErrorMessage
      Src: /src/vlc/modules/services_discovery/upnp.cpp:285,1
    - Dst: UpnpSearchAsync
      Src: /src/vlc/modules/services_discovery/upnp.cpp:290,1
    - Dst: services_discovery_sys_t*::p_upnp::handle
      Src: /src/vlc/modules/services_discovery/upnp.cpp:290,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/upnp.cpp:293,1
    - Dst: UpnpGetErrorMessage
      Src: /src/vlc/modules/services_discovery/upnp.cpp:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - p_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 295
    functionName: SD::SearchThread
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - services_discovery_sys_t*::p_upnp::handle
    - vlc_thread_set_name
    - msg_Err
    - reinterpret_cast<services_discovery_sys_t *>
    - UpnpGetErrorMessage
    - UpnpSearchAsync
    linkageType: ''
    returnType: void
    signature: 'void *

      SearchThread( void *p_data )'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: services_discovery_sys_t::services_discovery_sys_t
      Src: /src/vlc/modules/services_discovery/upnp.cpp:303,1
    - Dst: _
      Src: /src/vlc/modules/services_discovery/upnp.cpp:308,1
    - Dst: UpnpInstanceWrapper::get
      Src: /src/vlc/modules/services_discovery/upnp.cpp:310,1
    - Dst: std::make_shared<SD::MediaServerList>
      Src: /src/vlc/modules/services_discovery/upnp.cpp:319,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/upnp.cpp:323,1
    - Dst: services_discovery_sys_t*::p_upnp::release
      Src: /src/vlc/modules/services_discovery/upnp.cpp:324,1
    - Dst: services_discovery_sys_t*::p_upnp::addListener
      Src: /src/vlc/modules/services_discovery/upnp.cpp:328,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/services_discovery/upnp.cpp:333,1
    - Dst: services_discovery_sys_t*::p_upnp::removeListener
      Src: /src/vlc/modules/services_discovery/upnp.cpp:335,1
    - Dst: services_discovery_sys_t*::p_upnp::release
      Src: /src/vlc/modules/services_discovery/upnp.cpp:336,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 342
    functionName: SD::OpenSD
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - services_discovery_sys_t*::p_upnp::addListener
    - vlc_clone
    - _
    - std::make_shared<SD::MediaServerList>
    - msg_Err
    - services_discovery_sys_t::services_discovery_sys_t
    - services_discovery_sys_t*::p_upnp::release
    - services_discovery_sys_t*::p_upnp::removeListener
    - UpnpInstanceWrapper::get
    linkageType: ''
    returnType: int
    signature: int OpenSD( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<services_discovery_sys_t *>
      Src: /src/vlc/modules/services_discovery/upnp.cpp:350,1
    - Dst: vlc_join
      Src: /src/vlc/modules/services_discovery/upnp.cpp:352,1
    - Dst: services_discovery_sys_t*::p_upnp::removeListener
      Src: /src/vlc/modules/services_discovery/upnp.cpp:353,1
    - Dst: services_discovery_sys_t*::p_upnp::release
      Src: /src/vlc/modules/services_discovery/upnp.cpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 356
    functionName: SD::CloseSD
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - services_discovery_sys_t*::p_upnp::release
    - vlc_join
    - reinterpret_cast<services_discovery_sys_t *>
    - services_discovery_sys_t*::p_upnp::removeListener
    linkageType: ''
    returnType: void
    signature: void CloseSD( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' udn'
    - ' fName'
    - ' loc'
    - ' iconUrl'
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 367
    functionName: SD::MediaServerDesc::MediaServerDesc
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MediaServerDesc::MediaServerDesc( const std::string& udn, const
      std::string& fName,\n                                  const std::string& loc,
      const std::string& iconUrl )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/upnp.cpp:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 373
    functionName: MediaServerDesc::~MediaServerDesc()
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - input_item_Release
    linkageType: ''
    returnType: void
    signature: void MediaServerDesc::~MediaServerDesc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_sd
    argTypes:
    - services_discovery_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: SD::MediaServerList::MediaServerList
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MediaServerList::MediaServerList( services_discovery_t* p_sd )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_delete_all
      Src: /src/vlc/modules/services_discovery/upnp.cpp:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 386
    functionName: MediaServerList::~MediaServerList()
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - vlc_delete_all
    linkageType: ''
    returnType: void
    signature: void MediaServerList::~MediaServerList()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SD::MediaServerList::getServer
      Src: /src/vlc/modules/services_discovery/upnp.cpp:391,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/upnp.cpp:394,1
    - Dst: MediaServerDesc*::friendlyName::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:394,1
    - Dst: MediaServerDesc*::UDN::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:394,1
    - Dst: input_item_NewDirectory
      Src: /src/vlc/modules/services_discovery/upnp.cpp:398,1
    - Dst: MediaServerDesc*::location::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:398,1
    - Dst: MediaServerDesc*::friendlyName::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:399,1
    - Dst: input_item_SetSetting
      Src: /src/vlc/modules/services_discovery/upnp.cpp:404,1
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/upnp.cpp:408,1
    - Dst: MediaServerDesc*::satIpHost::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:409,1
    - Dst: input_item_AddOption
      Src: /src/vlc/modules/services_discovery/upnp.cpp:410,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:411,1
    - Dst: MediaServerDesc*::location::compare
      Src: /src/vlc/modules/services_discovery/upnp.cpp:415,1
    - Dst: strlen
      Src: /src/vlc/modules/services_discovery/upnp.cpp:415,1
    - Dst: loc_starts_with
      Src: /src/vlc/modules/services_discovery/upnp.cpp:418,1
    - Dst: loc_starts_with
      Src: /src/vlc/modules/services_discovery/upnp.cpp:418,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/services_discovery/upnp.cpp:420,1
    - Dst: std::string::replace
      Src: /src/vlc/modules/services_discovery/upnp.cpp:428,1
    - Dst: MediaServerDesc*::location::find
      Src: /src/vlc/modules/services_discovery/upnp.cpp:431,1
    - Dst: input_item_NewDirectory
      Src: /src/vlc/modules/services_discovery/upnp.cpp:436,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:436,1
    - Dst: MediaServerDesc*::friendlyName::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:437,1
    - Dst: input_item_SetSetting
      Src: /src/vlc/modules/services_discovery/upnp.cpp:442,1
    - Dst: MediaServerDesc*::iconUrl::empty
      Src: /src/vlc/modules/services_discovery/upnp.cpp:445,1
    - Dst: input_item_SetArtworkURL
      Src: /src/vlc/modules/services_discovery/upnp.cpp:446,1
    - Dst: MediaServerDesc*::iconUrl::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:446,1
    - Dst: input_item_SetDescription
      Src: /src/vlc/modules/services_discovery/upnp.cpp:448,1
    - Dst: MediaServerDesc*::UDN::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:448,1
    - Dst: services_discovery_AddItem
      Src: /src/vlc/modules/services_discovery/upnp.cpp:449,1
    - Dst: push_back
      Src: /src/vlc/modules/services_discovery/upnp.cpp:450,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - desc
    argTypes:
    - MediaServerDesc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 453
    functionName: SD::MediaServerList::addServer
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 2
    functionsReached:
    - MediaServerDesc*::satIpHost::c_str
    - MediaServerDesc*::location::c_str
    - std::string::c_str
    - MediaServerDesc*::friendlyName::c_str
    - asprintf
    - push_back
    - MediaServerDesc*::iconUrl::c_str
    - services_discovery_AddItem
    - input_item_SetArtworkURL
    - msg_Dbg
    - msg_Warn
    - MediaServerDesc*::location::find
    - input_item_AddOption
    - input_item_SetDescription
    - MediaServerDesc*::iconUrl::empty
    - MediaServerDesc*::location::compare
    - strlen
    - MediaServerDesc*::UDN::c_str
    - input_item_SetSetting
    - SD::MediaServerList::getServer
    - input_item_NewDirectory
    - free
    - loc_starts_with
    - std::string::replace
    linkageType: ''
    returnType: bool
    signature: bool MediaServerList::addServer( MediaServerDesc* desc )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/services_discovery/upnp.cpp:457,1
    - Dst: end
      Src: /src/vlc/modules/services_discovery/upnp.cpp:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' udn'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 468
    functionName: SD::MediaServerList::getServer
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 4
    functionsReached:
    - end
    - begin
    linkageType: ''
    returnType: MediaServerDesc
    signature: MediaServerDesc * MediaServerList::getServer( const std::string& udn
      )
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/upnp.cpp:474,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/services_discovery/upnp.cpp:478,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/upnp.cpp:480,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:484,1
    - Dst: ixmlDocument_getElementsByTagName
      Src: /src/vlc/modules/services_discovery/upnp.cpp:487,1
    - Dst: ixmlNodeList_item
      Src: /src/vlc/modules/services_discovery/upnp.cpp:490,1
    - Dst: ixmlNode_getFirstChild
      Src: /src/vlc/modules/services_discovery/upnp.cpp:492,1
    - Dst: ixmlNode_getNodeValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:494,1
    - Dst: ixmlNodeList_free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:496,1
    - Dst: ixmlDocument_getElementsByTagName
      Src: /src/vlc/modules/services_discovery/upnp.cpp:500,1
    - Dst: ixmlNodeList_length
      Src: /src/vlc/modules/services_discovery/upnp.cpp:505,1
    - Dst: ixmlNodeList_item
      Src: /src/vlc/modules/services_discovery/upnp.cpp:507,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:512,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/services_discovery/upnp.cpp:516,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/upnp.cpp:520,1
    - Dst: strlen
      Src: /src/vlc/modules/services_discovery/upnp.cpp:521,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/upnp.cpp:522,1
    - Dst: strlen
      Src: /src/vlc/modules/services_discovery/upnp.cpp:523,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:526,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/services_discovery/upnp.cpp:530,1
    - Dst: SD::MediaServerList::getServer
      Src: /src/vlc/modules/services_discovery/upnp.cpp:535,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/services_discovery/upnp.cpp:537,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:542,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/upnp.cpp:547,1
    - Dst: SD::MediaServerList::getIconURL
      Src: /src/vlc/modules/services_discovery/upnp.cpp:551,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/upnp.cpp:555,1
    - Dst: strlen
      Src: /src/vlc/modules/services_discovery/upnp.cpp:556,1
    - Dst: SD::MediaServerList::parseSatipServer
      Src: /src/vlc/modules/services_discovery/upnp.cpp:557,1
    - Dst: ixmlElement_getElementsByTagName
      Src: /src/vlc/modules/services_discovery/upnp.cpp:561,1
    - Dst: ixmlNodeList_length
      Src: /src/vlc/modules/services_discovery/upnp.cpp:564,1
    - Dst: ixmlNodeList_item
      Src: /src/vlc/modules/services_discovery/upnp.cpp:566,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:568,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/services_discovery/upnp.cpp:571,1
    - Dst: strlen
      Src: /src/vlc/modules/services_discovery/upnp.cpp:575,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/upnp.cpp:576,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:580,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/services_discovery/upnp.cpp:584,1
    - Dst: UpnpResolveURL2
      Src: /src/vlc/modules/services_discovery/upnp.cpp:590,1
    - Dst: SD::MediaServerDesc::MediaServerDesc
      Src: /src/vlc/modules/services_discovery/upnp.cpp:592,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:594,1
    - Dst: unlikely
      Src: /src/vlc/modules/services_discovery/upnp.cpp:595,1
    - Dst: SD::MediaServerList::addServer
      Src: /src/vlc/modules/services_discovery/upnp.cpp:598,1
    - Dst: ixmlNodeList_free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:605,1
    - Dst: ixmlNodeList_free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:607,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 68
    argCount: 2
    argNames:
    - doc
    - location
    argTypes:
    - IXML_Document*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 470
    functionDepth: 4
    functionLinenumber: 470
    functionLinenumberEnd: 608
    functionName: SD::MediaServerList::parseNewServer
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 1
    functionsReached:
    - SD::MediaServerList::parseSatipServer
    - std::string::empty
    - xml_getChildElementValue
    - UpnpResolveURL2
    - std::string::c_str
    - ixmlDocument_getElementsByTagName
    - ixmlNodeList_length
    - msg_Err
    - msg_Dbg
    - ixmlNode_getFirstChild
    - msg_Warn
    - ixmlNode_getNodeValue
    - ixmlElement_getElementsByTagName
    - strncmp
    - SD::MediaServerDesc::MediaServerDesc
    - SD::MediaServerList::addServer
    - ixmlNodeList_item
    - strlen
    - ixmlNodeList_free
    - SD::MediaServerList::getIconURL
    - free
    - SD::MediaServerList::getServer
    - unlikely
    linkageType: ''
    returnType: void
    signature: void MediaServerList::parseNewServer( IXML_Document *doc, const std::string
      &location )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ixmlElement_getElementsByTagName
      Src: /src/vlc/modules/services_discovery/upnp.cpp:613,1
    - Dst: ixmlNodeList_item
      Src: /src/vlc/modules/services_discovery/upnp.cpp:616,1
    - Dst: ixmlElement_getElementsByTagName
      Src: /src/vlc/modules/services_discovery/upnp.cpp:619,1
    - Dst: ixmlNodeList_length
      Src: /src/vlc/modules/services_discovery/upnp.cpp:624,1
    - Dst: ixmlNodeList_item
      Src: /src/vlc/modules/services_discovery/upnp.cpp:626,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:627,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:628,1
    - Dst: atoi
      Src: /src/vlc/modules/services_discovery/upnp.cpp:631,1
    - Dst: atoi
      Src: /src/vlc/modules/services_discovery/upnp.cpp:632,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:635,1
    - Dst: ixmlNodeList_free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:642,1
    - Dst: ixmlNodeList_free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:645,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/services_discovery/upnp.cpp:647,1
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/services_discovery/upnp.cpp:650,1
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/upnp.cpp:652,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:652,1
    - Dst: std::string::clear
      Src: /src/vlc/modules/services_discovery/upnp.cpp:653,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:657,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/services_discovery/upnp.cpp:659,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 2
    argNames:
    - p_device_elem
    - psz_base_url
    argTypes:
    - IXML_Element*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 610
    functionDepth: 2
    functionLinenumber: 610
    functionLinenumberEnd: 662
    functionName: SD::MediaServerList::getIconURL
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 2
    functionsReached:
    - atoi
    - std::string::empty
    - ixmlNodeList_item
    - vlc_UrlParse
    - asprintf
    - xml_getChildElementValue
    - ixmlNodeList_free
    - ixmlElement_getElementsByTagName
    - vlc_UrlClean
    - free
    - std::string::c_str
    - std::string::clear
    - ixmlNodeList_length
    linkageType: ''
    returnType: std::string
    signature: std::string MediaServerList::getIconURL( IXML_Element* p_device_elem,
      const char* psz_base_url )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/services_discovery/upnp.cpp:670,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/services_discovery/upnp.cpp:673,1
    - Dst: SD::MediaServerDesc::MediaServerDesc
      Src: /src/vlc/modules/services_discovery/upnp.cpp:675,1
    - Dst: likely
      Src: /src/vlc/modules/services_discovery/upnp.cpp:677,1
    - Dst: SD::MediaServerList::addServer
      Src: /src/vlc/modules/services_discovery/upnp.cpp:680,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:686,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/services_discovery/upnp.cpp:687,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:693,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/upnp.cpp:695,1
    - Dst: UpnpResolveURL2
      Src: /src/vlc/modules/services_discovery/upnp.cpp:698,1
    - Dst: SD::MediaServerDesc::MediaServerDesc
      Src: /src/vlc/modules/services_discovery/upnp.cpp:700,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:701,1
    - Dst: SD::MediaServerDesc::MediaServerDesc
      Src: /src/vlc/modules/services_discovery/upnp.cpp:704,1
    - Dst: unlikely
      Src: /src/vlc/modules/services_discovery/upnp.cpp:707,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/services_discovery/upnp.cpp:708,1
    - Dst: SD::MediaServerList::addServer
      Src: /src/vlc/modules/services_discovery/upnp.cpp:714,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/upnp.cpp:717,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/services_discovery/upnp.cpp:721,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 5
    argNames:
    - p_device_element
    - psz_base_url
    - psz_udn
    - psz_friendly_name
    - iconUrl
    argTypes:
    - IXML_Element*
    - char*
    - char*
    - char*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 664
    functionDepth: 3
    functionLinenumber: 664
    functionLinenumberEnd: 723
    functionName: SD::MediaServerList::parseSatipServer
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 2
    functionsReached:
    - SD::MediaServerList::addServer
    - vlc_UrlParse
    - var_InheritString
    - xml_getChildElementValue
    - UpnpResolveURL2
    - unlikely
    - msg_Err
    - free
    - strncmp
    - likely
    - SD::MediaServerDesc::MediaServerDesc
    - vlc_UrlClean
    linkageType: ''
    returnType: void
    signature: void MediaServerList::parseSatipServer( IXML_Element* p_device_element,
      const char *psz_base_url, const char *psz_udn, const char *psz_friendly_name,
      std::string iconUrl )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SD::MediaServerList::getServer
      Src: /src/vlc/modules/services_discovery/upnp.cpp:727,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/upnp.cpp:731,1
    - Dst: MediaServerDesc*::friendlyName::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:731,1
    - Dst: assert
      Src: /src/vlc/modules/services_discovery/upnp.cpp:733,1
    - Dst: services_discovery_RemoveItem
      Src: /src/vlc/modules/services_discovery/upnp.cpp:734,1
    - Dst: find
      Src: /src/vlc/modules/services_discovery/upnp.cpp:736,1
    - Dst: begin
      Src: /src/vlc/modules/services_discovery/upnp.cpp:736,1
    - Dst: end
      Src: /src/vlc/modules/services_discovery/upnp.cpp:736,1
    - Dst: end
      Src: /src/vlc/modules/services_discovery/upnp.cpp:737,1
    - Dst: erase
      Src: /src/vlc/modules/services_discovery/upnp.cpp:739,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' udn'
    argTypes:
    - std::string
    assertStmts:
    - condition: (p_server->inputItem)
      pos:
        line_end: 732
        line_start: 732
        source_file: /src/vlc/modules/services_discovery/upnp.cpp
    constantsTouched: []
    func_position:
      end: 742
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 742
    functionName: SD::MediaServerList::removeServer
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 1
    functionsReached:
    - erase
    - services_discovery_RemoveItem
    - assert
    - begin
    - SD::MediaServerList::getServer
    - msg_Dbg
    - MediaServerDesc*::friendlyName::c_str
    - end
    - find
    linkageType: ''
    returnType: void
    signature: void MediaServerList::removeServer( const std::string& udn )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: UpnpDownloadXmlDoc
      Src: /src/vlc/modules/services_discovery/upnp.cpp:762,1
    - Dst: UpnpDiscovery_get_Location_cstr
      Src: /src/vlc/modules/services_discovery/upnp.cpp:762,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/services_discovery/upnp.cpp:766,1
    - Dst: UpnpDiscovery_get_Location_cstr
      Src: /src/vlc/modules/services_discovery/upnp.cpp:768,1
    - Dst: UpnpGetErrorMessage
      Src: /src/vlc/modules/services_discovery/upnp.cpp:768,1
    - Dst: SD::MediaServerList::parseNewServer
      Src: /src/vlc/modules/services_discovery/upnp.cpp:771,1
    - Dst: UpnpDiscovery_get_Location_cstr
      Src: /src/vlc/modules/services_discovery/upnp.cpp:771,1
    - Dst: ixmlDocument_free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:772,1
    - Dst: SD::MediaServerList::removeServer
      Src: /src/vlc/modules/services_discovery/upnp.cpp:779,1
    - Dst: UpnpDiscovery_get_DeviceID_cstr
      Src: /src/vlc/modules/services_discovery/upnp.cpp:779,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/services_discovery/upnp.cpp:785,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/services_discovery/upnp.cpp:791,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/upnp.cpp:803,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 3
    argNames:
    - event_type
    - p_event
    - p_user_data
    argTypes:
    - Upnp_EventType
    - UpnpEventPtr
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 747
    functionDepth: 4
    functionLinenumber: 747
    functionLinenumberEnd: 809
    functionName: SD::MediaServerList::onEvent
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - UpnpDownloadXmlDoc
    - ixmlDocument_free
    - UpnpDiscovery_get_Location_cstr
    - msg_Err
    - UpnpDiscovery_get_DeviceID_cstr
    - UpnpGetErrorMessage
    - msg_Warn
    - SD::MediaServerList::parseNewServer
    - SD::MediaServerList::removeServer
    linkageType: ''
    returnType: int
    signature: int MediaServerList::onEvent( Upnp_EventType event_type, UpnpEventPtr
      p_event, void* p_user_data )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - url
    - type
    argTypes:
    - std::string
    - slave_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 828
    functionName: Access::ItemDescriptionHolder::Slave
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Slave(std::string const &url, slave_type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 856
    functionName: Access::ItemDescriptionHolder::ItemDescriptionHolder
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ItemDescriptionHolder()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ixmlElement_getAttribute
      Src: /src/vlc/modules/services_discovery/upnp.cpp:860,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:863,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:866,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:868,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:869,1
    - Dst: Access::ItemDescriptionHolder::addSlave
      Src: /src/vlc/modules/services_discovery/upnp.cpp:870,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:871,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:872,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:873,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:874,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:875,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:876,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:877,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:878,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/upnp.cpp:879,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/upnp.cpp:881,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/upnp.cpp:883,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/upnp.cpp:885,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - itemElement
    argTypes:
    - IXML_Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 858
    functionDepth: 2
    functionLinenumber: 858
    functionLinenumberEnd: 890
    functionName: Access::ItemDescriptionHolder::init
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - ixmlElement_getAttribute
    - Access::ItemDescriptionHolder::addSlave
    - strncmp
    - xml_getChildElementValue
    linkageType: ''
    returnType: bool
    signature: bool init(IXML_Element *itemElement)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/vlc/modules/services_discovery/upnp.cpp:895,1
    - Dst: Access::ItemDescriptionHolder::Slave
      Src: /src/vlc/modules/services_discovery/upnp.cpp:895,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - psz_slave
    - type
    argTypes:
    - char*
    - slave_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 896
    functionName: Access::ItemDescriptionHolder::addSlave
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 1
    functionsReached:
    - Access::ItemDescriptionHolder::Slave
    - insert
    linkageType: ''
    returnType: void
    signature: void addSlave(const char *psz_slave, slave_type type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/services_discovery/upnp.cpp:900,1
    - Dst: Access::ItemDescriptionHolder::addSlave
      Src: /src/vlc/modules/services_discovery/upnp.cpp:901,1
    - Dst: ixmlElement_getAttribute
      Src: /src/vlc/modules/services_discovery/upnp.cpp:901,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - p_resource
    argTypes:
    - IXML_Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 898
    functionDepth: 2
    functionLinenumber: 898
    functionLinenumberEnd: 903
    functionName: Access::ItemDescriptionHolder::addSubtitleSlave
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - ixmlElement_getAttribute
    - Access::ItemDescriptionHolder::addSlave
    - empty
    linkageType: ''
    returnType: void
    signature: void addSubtitleSlave(IXML_Element* p_resource)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_resource
    argTypes:
    - IXML_Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 905
    functionDepth: 2
    functionLinenumber: 905
    functionLinenumberEnd: 908
    functionName: Access::ItemDescriptionHolder::setArtworkURL
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - xml_getChildElementValue
    linkageType: ''
    returnType: void
    signature: void setArtworkURL(IXML_Element* p_resource)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: input_item_SetArtist
      Src: /src/vlc/modules/services_discovery/upnp.cpp:913,1
    - Dst: input_item_SetGenre
      Src: /src/vlc/modules/services_discovery/upnp.cpp:915,1
    - Dst: input_item_SetAlbum
      Src: /src/vlc/modules/services_discovery/upnp.cpp:917,1
    - Dst: input_item_SetDate
      Src: /src/vlc/modules/services_discovery/upnp.cpp:919,1
    - Dst: input_item_SetTrackNumber
      Src: /src/vlc/modules/services_discovery/upnp.cpp:921,1
    - Dst: input_item_SetAlbumArtist
      Src: /src/vlc/modules/services_discovery/upnp.cpp:923,1
    - Dst: input_item_SetArtworkURL
      Src: /src/vlc/modules/services_discovery/upnp.cpp:925,1
    - Dst: begin
      Src: /src/vlc/modules/services_discovery/upnp.cpp:926,1
    - Dst: end
      Src: /src/vlc/modules/services_discovery/upnp.cpp:926,1
    - Dst: input_item_slave_New
      Src: /src/vlc/modules/services_discovery/upnp.cpp:928,1
    - Dst: std::set<Slave>::iterator::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:928,1
    - Dst: input_item_AddSlave
      Src: /src/vlc/modules/services_discovery/upnp.cpp:931,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - p_item
    argTypes:
    - input_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 910
    functionDepth: 1
    functionLinenumber: 910
    functionLinenumberEnd: 933
    functionName: Access::ItemDescriptionHolder::apply
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - input_item_SetGenre
    - input_item_SetAlbum
    - input_item_slave_New
    - input_item_SetDate
    - begin
    - input_item_SetAlbumArtist
    - std::set<Slave>::iterator::c_str
    - input_item_SetArtworkURL
    - input_item_SetArtist
    - end
    - input_item_SetTrackNumber
    - input_item_AddSlave
    linkageType: ''
    returnType: void
    signature: void apply(input_item_t *p_item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:938,1
    - Dst: ixmlElement_getAttribute
      Src: /src/vlc/modules/services_discovery/upnp.cpp:941,1
    - Dst: sscanf
      Src: /src/vlc/modules/services_discovery/upnp.cpp:945,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/services_discovery/upnp.cpp:946,1
    - Dst: input_item_NewExt
      Src: /src/vlc/modules/services_discovery/upnp.cpp:949,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - p_resource
    argTypes:
    - IXML_Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 935
    functionDepth: 2
    functionLinenumber: 935
    functionLinenumberEnd: 951
    functionName: Access::ItemDescriptionHolder::createNewItem
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - sscanf
    - xml_getChildElementValue
    - vlc_tick_from_sec
    - ixmlElement_getAttribute
    - input_item_NewExt
    linkageType: ''
    returnType: input_item_t
    signature: input_item_t *createNewItem(IXML_Element *p_resource)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_uri_encode
      Src: /src/vlc/modules/services_discovery/upnp.cpp:958,1
    - Dst: unlikely
      Src: /src/vlc/modules/services_discovery/upnp.cpp:959,1
    - Dst: strrchr
      Src: /src/vlc/modules/services_discovery/upnp.cpp:962,1
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/upnp.cpp:965,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:967,1
    - Dst: input_item_NewDirectory
      Src: /src/vlc/modules/services_discovery/upnp.cpp:971,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:972,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - psz_root
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 953
    functionDepth: 2
    functionLinenumber: 953
    functionLinenumberEnd: 974
    functionName: Access::ItemDescriptionHolder::createNewContainerItem
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - asprintf
    - free
    - input_item_NewDirectory
    - vlc_uri_encode
    - strrchr
    - unlikely
    linkageType: ''
    returnType: input_item_t
    signature: input_item_t *createNewContainerItem( const char* psz_root )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - url
    - type
    argTypes:
    - std::string
    - slave_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 828
    functionName: Access::ItemDescriptionHolder::Slave
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Slave(std::string const &url, slave_type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 856
    functionName: Access::ItemDescriptionHolder::ItemDescriptionHolder
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ItemDescriptionHolder()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ixmlElement_getAttribute
      Src: /src/vlc/modules/services_discovery/upnp.cpp:860,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:863,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:866,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:868,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:869,1
    - Dst: Access::ItemDescriptionHolder::addSlave
      Src: /src/vlc/modules/services_discovery/upnp.cpp:870,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:871,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:872,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:873,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:874,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:875,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:876,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:877,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:878,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/upnp.cpp:879,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/upnp.cpp:881,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/upnp.cpp:883,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/upnp.cpp:885,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - itemElement
    argTypes:
    - IXML_Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 858
    functionDepth: 2
    functionLinenumber: 858
    functionLinenumberEnd: 890
    functionName: Access::ItemDescriptionHolder::init
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - ixmlElement_getAttribute
    - Access::ItemDescriptionHolder::addSlave
    - strncmp
    - xml_getChildElementValue
    linkageType: ''
    returnType: bool
    signature: bool init(IXML_Element *itemElement)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/vlc/modules/services_discovery/upnp.cpp:895,1
    - Dst: Access::ItemDescriptionHolder::Slave
      Src: /src/vlc/modules/services_discovery/upnp.cpp:895,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - psz_slave
    - type
    argTypes:
    - char*
    - slave_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 896
    functionName: Access::ItemDescriptionHolder::addSlave
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 3
    functionsReached:
    - Access::ItemDescriptionHolder::Slave
    - insert
    linkageType: ''
    returnType: void
    signature: void addSlave(const char *psz_slave, slave_type type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/services_discovery/upnp.cpp:900,1
    - Dst: Access::ItemDescriptionHolder::addSlave
      Src: /src/vlc/modules/services_discovery/upnp.cpp:901,1
    - Dst: ixmlElement_getAttribute
      Src: /src/vlc/modules/services_discovery/upnp.cpp:901,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - p_resource
    argTypes:
    - IXML_Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 898
    functionDepth: 2
    functionLinenumber: 898
    functionLinenumberEnd: 903
    functionName: Access::ItemDescriptionHolder::addSubtitleSlave
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - ixmlElement_getAttribute
    - Access::ItemDescriptionHolder::addSlave
    - empty
    linkageType: ''
    returnType: void
    signature: void addSubtitleSlave(IXML_Element* p_resource)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_resource
    argTypes:
    - IXML_Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 905
    functionDepth: 2
    functionLinenumber: 905
    functionLinenumberEnd: 908
    functionName: Access::ItemDescriptionHolder::setArtworkURL
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - xml_getChildElementValue
    linkageType: ''
    returnType: void
    signature: void setArtworkURL(IXML_Element* p_resource)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: input_item_SetArtist
      Src: /src/vlc/modules/services_discovery/upnp.cpp:913,1
    - Dst: input_item_SetGenre
      Src: /src/vlc/modules/services_discovery/upnp.cpp:915,1
    - Dst: input_item_SetAlbum
      Src: /src/vlc/modules/services_discovery/upnp.cpp:917,1
    - Dst: input_item_SetDate
      Src: /src/vlc/modules/services_discovery/upnp.cpp:919,1
    - Dst: input_item_SetTrackNumber
      Src: /src/vlc/modules/services_discovery/upnp.cpp:921,1
    - Dst: input_item_SetAlbumArtist
      Src: /src/vlc/modules/services_discovery/upnp.cpp:923,1
    - Dst: input_item_SetArtworkURL
      Src: /src/vlc/modules/services_discovery/upnp.cpp:925,1
    - Dst: begin
      Src: /src/vlc/modules/services_discovery/upnp.cpp:926,1
    - Dst: end
      Src: /src/vlc/modules/services_discovery/upnp.cpp:926,1
    - Dst: input_item_slave_New
      Src: /src/vlc/modules/services_discovery/upnp.cpp:928,1
    - Dst: std::set<Slave>::iterator::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:928,1
    - Dst: input_item_AddSlave
      Src: /src/vlc/modules/services_discovery/upnp.cpp:931,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - p_item
    argTypes:
    - input_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 910
    functionDepth: 1
    functionLinenumber: 910
    functionLinenumberEnd: 933
    functionName: Access::ItemDescriptionHolder::apply
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - input_item_SetGenre
    - input_item_SetAlbum
    - input_item_slave_New
    - input_item_SetDate
    - begin
    - input_item_SetAlbumArtist
    - std::set<Slave>::iterator::c_str
    - input_item_SetArtworkURL
    - input_item_SetArtist
    - end
    - input_item_SetTrackNumber
    - input_item_AddSlave
    linkageType: ''
    returnType: void
    signature: void apply(input_item_t *p_item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:938,1
    - Dst: ixmlElement_getAttribute
      Src: /src/vlc/modules/services_discovery/upnp.cpp:941,1
    - Dst: sscanf
      Src: /src/vlc/modules/services_discovery/upnp.cpp:945,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/services_discovery/upnp.cpp:946,1
    - Dst: input_item_NewExt
      Src: /src/vlc/modules/services_discovery/upnp.cpp:949,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - p_resource
    argTypes:
    - IXML_Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 935
    functionDepth: 2
    functionLinenumber: 935
    functionLinenumberEnd: 951
    functionName: Access::ItemDescriptionHolder::createNewItem
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - sscanf
    - xml_getChildElementValue
    - vlc_tick_from_sec
    - ixmlElement_getAttribute
    - input_item_NewExt
    linkageType: ''
    returnType: input_item_t
    signature: input_item_t *createNewItem(IXML_Element *p_resource)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_uri_encode
      Src: /src/vlc/modules/services_discovery/upnp.cpp:958,1
    - Dst: unlikely
      Src: /src/vlc/modules/services_discovery/upnp.cpp:959,1
    - Dst: strrchr
      Src: /src/vlc/modules/services_discovery/upnp.cpp:962,1
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/upnp.cpp:965,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:967,1
    - Dst: input_item_NewDirectory
      Src: /src/vlc/modules/services_discovery/upnp.cpp:971,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:972,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - psz_root
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 953
    functionDepth: 2
    functionLinenumber: 953
    functionLinenumberEnd: 974
    functionName: Access::ItemDescriptionHolder::createNewContainerItem
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - asprintf
    - free
    - input_item_NewDirectory
    - vlc_uri_encode
    - strrchr
    - unlikely
    linkageType: ''
    returnType: input_item_t
    signature: input_item_t *createNewContainerItem( const char* psz_root )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - callback
    - cookie
    argTypes:
    - Upnp_FunPtr
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 984
    functionName: Access::Upnp_i11e_cb::Upnp_i11e_cb
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Upnp_i11e_cb::Upnp_i11e_cb( Upnp_FunPtr callback, void *cookie
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wait_i11e
      Src: /src/vlc/modules/services_discovery/upnp.cpp:988,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 1001
    functionName: Access::Upnp_i11e_cb::waitAndRelease
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - wait_i11e
    linkageType: ''
    returnType: void
    signature: void Upnp_i11e_cb::waitAndRelease( void )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Upnp_i11e_cb*>
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1005,1
    - Dst: Upnp_i11e_cb*::m_lock::lock
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1007,1
    - Dst: Upnp_i11e_cb*::m_lock::unlock
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1011,1
    - Dst: Upnp_i11e_cb*::m_callback
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1016,1
    - Dst: Upnp_i11e_cb*::m_lock::unlock
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1017,1
    - Dst: Upnp_i11e_cb*::m_sem::post
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1020,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - eventType
    - p_event
    - p_cookie
    argTypes:
    - Upnp_EventType
    - UpnpEventPtr
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1022
    functionName: Access::Upnp_i11e_cb::run
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - Upnp_i11e_cb*::m_lock::lock
    - Upnp_i11e_cb*::m_sem::post
    - static_cast<Upnp_i11e_cb*>
    - Upnp_i11e_cb*::m_callback
    - Upnp_i11e_cb*::m_lock::unlock
    linkageType: ''
    returnType: int
    signature: int Upnp_i11e_cb::run( Upnp_EventType eventType, UpnpEventPtr p_event,
      void *p_cookie )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1030,1
    - Dst: strstr
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1031,1
    - Dst: vlc_uri_decode
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1037,1
    - Dst: strlen
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1037,1
    - Dst: std::string
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1040,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_access
    - node
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1024
    functionDepth: 1
    functionLinenumber: 1024
    functionLinenumberEnd: 1041
    functionName: Access::MediaServer::MediaServer
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - strdup
    - strlen
    - vlc_uri_decode
    - strstr
    - std::string
    linkageType: ''
    returnType: void
    signature: void MediaServer::MediaServer( stream_t *p_access, input_item_node_t
      *node )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1046
    functionName: MediaServer::~MediaServer()
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MediaServer::~MediaServer()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ItemDescriptionHolder::init
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1052,1
    - Dst: ItemDescriptionHolder::createNewContainerItem
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1055,1
    - Dst: ItemDescriptionHolder::apply
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1058,1
    - Dst: input_item_CopyOptions
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1059,1
    - Dst: input_item_node_AppendItem
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1060,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1061,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - containerElement
    argTypes:
    - IXML_Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1063
    functionName: Access::MediaServer::addContainer
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - ItemDescriptionHolder::createNewContainerItem
    - input_item_Release
    - ItemDescriptionHolder::init
    - ItemDescriptionHolder::apply
    - input_item_CopyOptions
    - input_item_node_AppendItem
    linkageType: ''
    returnType: bool
    signature: bool MediaServer::addContainer( IXML_Element* containerElement )
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ItemDescriptionHolder::init
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1069,1
    - Dst: ixmlDocument_getElementsByTagName
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1072,1
    - Dst: ixmlNodeList_length
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1075,1
    - Dst: ixmlNodeList_free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1077,1
    - Dst: ixmlNodeList_item
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1084,1
    - Dst: ixmlElement_getAttribute
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1085,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1087,1
    - Dst: ItemDescriptionHolder::createNewItem
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1090,1
    - Dst: ItemDescriptionHolder::addSubtitleSlave
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1091,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1093,1
    - Dst: ItemDescriptionHolder::createNewItem
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1098,1
    - Dst: ItemDescriptionHolder::setArtworkURL
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1103,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1106,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1109,1
    - Dst: ItemDescriptionHolder::addSlave
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1110,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1110,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1111,1
    - Dst: ItemDescriptionHolder::createNewItem
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1116,1
    - Dst: ItemDescriptionHolder::addSlave
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1119,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1119,1
    - Dst: ixmlNodeList_free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1123,1
    - Dst: ItemDescriptionHolder::apply
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1126,1
    - Dst: input_item_CopyOptions
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1127,1
    - Dst: input_item_node_AppendItem
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1128,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1129,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 1
    argNames:
    - itemElement
    argTypes:
    - IXML_Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1065
    functionDepth: 2
    functionLinenumber: 1065
    functionLinenumberEnd: 1131
    functionName: Access::MediaServer::addItem
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - ItemDescriptionHolder::createNewItem
    - input_item_CopyOptions
    - ixmlNodeList_item
    - xml_getChildElementValue
    - ItemDescriptionHolder::setArtworkURL
    - input_item_Release
    - ItemDescriptionHolder::init
    - ixmlNodeList_free
    - strncmp
    - ItemDescriptionHolder::addSlave
    - msg_Warn
    - ItemDescriptionHolder::addSubtitleSlave
    - ixmlDocument_getElementsByTagName
    - ixmlElement_getAttribute
    - ItemDescriptionHolder::apply
    - input_item_node_AppendItem
    - ixmlNodeList_length
    linkageType: ''
    returnType: bool
    signature: bool MediaServer::addItem( IXML_Element* itemElement )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ixmlPrintNode
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1142,1
    - Dst: UpnpActionComplete_get_ActionResult
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1142,1
    - Dst: ixmlParseBuffer
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1146,1
    - Dst: ixmlFreeDOMString
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - eventType
    - p_event
    - p_cookie
    argTypes:
    - Upnp_EventType
    - UpnpEventPtr
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1149
    functionName: Access::MediaServer::sendActionCb
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - UpnpActionComplete_get_ActionResult
    - ixmlFreeDOMString
    - ixmlParseBuffer
    - ixmlPrintNode
    linkageType: ''
    returnType: int
    signature: "int MediaServer::sendActionCb( Upnp_EventType eventType,\n                               UpnpEventPtr
      p_event, void *p_cookie )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_killed
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1166,1
    - Dst: UpnpAddToAction
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1169,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1174,1
    - Dst: UpnpGetErrorMessage
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1175,1
    - Dst: UpnpAddToAction
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1179,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1184,1
    - Dst: UpnpGetErrorMessage
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1185,1
    - Dst: UpnpAddToAction
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1189,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1194,1
    - Dst: UpnpGetErrorMessage
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1195,1
    - Dst: UpnpAddToAction
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1199,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1203,1
    - Dst: UpnpGetErrorMessage
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1204,1
    - Dst: UpnpAddToAction
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1208,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1213,1
    - Dst: UpnpGetErrorMessage
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1214,1
    - Dst: UpnpAddToAction
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1218,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1223,1
    - Dst: UpnpGetErrorMessage
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1224,1
    - Dst: Upnp_i11e_cb::Upnp_i11e_cb
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1230,1
    - Dst: UpnpSendActionAsync
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1231,1
    - Dst: access_sys_t*::p_upnp::handle
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1231,1
    - Dst: c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1232,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1240,1
    - Dst: UpnpGetErrorMessage
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1241,1
    - Dst: Upnp_i11e_cb*::waitAndRelease
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1244,1
    - Dst: ixmlDocument_free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1247,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 6
    argNames:
    - psz_object_id_
    - psz_browser_flag_
    - psz_filter_
    - psz_starting_index
    - psz_requested_count_
    - psz_sort_criteria_
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1152
    functionDepth: 1
    functionLinenumber: 1152
    functionLinenumberEnd: 1249
    functionName: Access::MediaServer::_browseAction
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - ixmlDocument_free
    - Upnp_i11e_cb::Upnp_i11e_cb
    - Upnp_i11e_cb*::waitAndRelease
    - msg_Err
    - UpnpGetErrorMessage
    - msg_Dbg
    - UpnpSendActionAsync
    - access_sys_t*::p_upnp::handle
    - c_str
    - vlc_killed
    - UpnpAddToAction
    linkageType: ''
    returnType: IXML_Document
    signature: "IXML_Document * MediaServer::_browseAction( const char* psz_object_id_,\n
      \                                          const char* psz_browser_flag_,\n
      \                                          const char* psz_filter_,\n                                           const
      char* psz_starting_index,\n                                           const
      char* psz_requested_count_,\n                                           const
      char* psz_sort_criteria_ )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Access::MediaServer::_browseAction
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1264,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1267,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1269,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1274,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1278,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1279,1
    - Dst: std::to_string
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1281,1
    - Dst: std::stol
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1281,1
    - Dst: std::stol
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1281,1
    - Dst: std::stol
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1282,1
    - Dst: std::stol
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1282,1
    - Dst: std::to_string
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1283,1
    - Dst: parseBrowseResult
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1285,1
    - Dst: ixmlDocument_free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1287,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1291,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1296,1
    - Dst: ixmlPrintDocument
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1296,1
    - Dst: ixmlDocument_getElementsByTagName
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1300,1
    - Dst: ixmlNodeList_length
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1304,1
    - Dst: Access::MediaServer::addContainer
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1305,1
    - Dst: ixmlNodeList_item
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1305,1
    - Dst: ixmlNodeList_free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1306,1
    - Dst: ixmlDocument_getElementsByTagName
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1309,1
    - Dst: ixmlNodeList_length
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1313,1
    - Dst: Access::MediaServer::addItem
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1314,1
    - Dst: ixmlNodeList_item
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1314,1
    - Dst: ixmlNodeList_free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1315,1
    - Dst: ixmlDocument_free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1318,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1254
    functionDepth: 3
    functionLinenumber: 1254
    functionLinenumberEnd: 1322
    functionName: Access::MediaServer::fetchContents
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - Access::MediaServer::addItem
    - ixmlNodeList_item
    - xml_getChildElementValue
    - ixmlNodeList_free
    - Access::MediaServer::_browseAction
    - ixmlDocument_free
    - std::to_string
    - msg_Err
    - std::string::c_str
    - Access::MediaServer::addContainer
    - msg_Dbg
    - ixmlDocument_getElementsByTagName
    - std::stol
    - ixmlPrintDocument
    - parseBrowseResult
    - ixmlNodeList_length
    linkageType: ''
    returnType: bool
    signature: bool MediaServer::fetchContents()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MediaServer::fetchContents
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_access
    - p_node
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1331
    functionName: Access::ReadDirectory
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - MediaServer::fetchContents
    linkageType: ''
    returnType: int
    signature: int ReadDirectory( stream_t *p_access, input_item_node_t* p_node )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: access_sys_t::access_sys_t
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1336,1
    - Dst: unlikely
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1337,1
    - Dst: UpnpInstanceWrapper::get
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1333
    functionDepth: 1
    functionLinenumber: 1333
    functionLinenumberEnd: 1352
    functionName: Access::OpenAccess
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - access_sys_t::access_sys_t
    - unlikely
    - UpnpInstanceWrapper::get
    linkageType: ''
    returnType: int
    signature: int OpenAccess( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: access_sys_t*::p_upnp::release
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1354
    functionDepth: 0
    functionLinenumber: 1354
    functionLinenumberEnd: 1361
    functionName: Access::CloseAccess
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - access_sys_t*::p_upnp::release
    linkageType: ''
    returnType: void
    signature: void CloseAccess( vlc_object_t* p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - url
    - type
    argTypes:
    - std::string
    - slave_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 828
    functionName: Access::ItemDescriptionHolder::Slave
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Slave(std::string const &url, slave_type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 856
    functionName: Access::ItemDescriptionHolder::ItemDescriptionHolder
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ItemDescriptionHolder()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ixmlElement_getAttribute
      Src: /src/vlc/modules/services_discovery/upnp.cpp:860,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:863,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:866,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:868,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:869,1
    - Dst: Access::ItemDescriptionHolder::addSlave
      Src: /src/vlc/modules/services_discovery/upnp.cpp:870,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:871,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:872,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:873,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:874,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:875,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:876,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:877,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:878,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/upnp.cpp:879,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/upnp.cpp:881,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/upnp.cpp:883,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/upnp.cpp:885,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - itemElement
    argTypes:
    - IXML_Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 858
    functionDepth: 2
    functionLinenumber: 858
    functionLinenumberEnd: 890
    functionName: Access::ItemDescriptionHolder::init
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - ixmlElement_getAttribute
    - Access::ItemDescriptionHolder::addSlave
    - strncmp
    - xml_getChildElementValue
    linkageType: ''
    returnType: bool
    signature: bool init(IXML_Element *itemElement)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/vlc/modules/services_discovery/upnp.cpp:895,1
    - Dst: Access::ItemDescriptionHolder::Slave
      Src: /src/vlc/modules/services_discovery/upnp.cpp:895,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - psz_slave
    - type
    argTypes:
    - char*
    - slave_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 896
    functionName: Access::ItemDescriptionHolder::addSlave
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 5
    functionsReached:
    - Access::ItemDescriptionHolder::Slave
    - insert
    linkageType: ''
    returnType: void
    signature: void addSlave(const char *psz_slave, slave_type type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/services_discovery/upnp.cpp:900,1
    - Dst: Access::ItemDescriptionHolder::addSlave
      Src: /src/vlc/modules/services_discovery/upnp.cpp:901,1
    - Dst: ixmlElement_getAttribute
      Src: /src/vlc/modules/services_discovery/upnp.cpp:901,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - p_resource
    argTypes:
    - IXML_Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 898
    functionDepth: 2
    functionLinenumber: 898
    functionLinenumberEnd: 903
    functionName: Access::ItemDescriptionHolder::addSubtitleSlave
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - ixmlElement_getAttribute
    - Access::ItemDescriptionHolder::addSlave
    - empty
    linkageType: ''
    returnType: void
    signature: void addSubtitleSlave(IXML_Element* p_resource)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_resource
    argTypes:
    - IXML_Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 905
    functionDepth: 2
    functionLinenumber: 905
    functionLinenumberEnd: 908
    functionName: Access::ItemDescriptionHolder::setArtworkURL
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - xml_getChildElementValue
    linkageType: ''
    returnType: void
    signature: void setArtworkURL(IXML_Element* p_resource)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: input_item_SetArtist
      Src: /src/vlc/modules/services_discovery/upnp.cpp:913,1
    - Dst: input_item_SetGenre
      Src: /src/vlc/modules/services_discovery/upnp.cpp:915,1
    - Dst: input_item_SetAlbum
      Src: /src/vlc/modules/services_discovery/upnp.cpp:917,1
    - Dst: input_item_SetDate
      Src: /src/vlc/modules/services_discovery/upnp.cpp:919,1
    - Dst: input_item_SetTrackNumber
      Src: /src/vlc/modules/services_discovery/upnp.cpp:921,1
    - Dst: input_item_SetAlbumArtist
      Src: /src/vlc/modules/services_discovery/upnp.cpp:923,1
    - Dst: input_item_SetArtworkURL
      Src: /src/vlc/modules/services_discovery/upnp.cpp:925,1
    - Dst: begin
      Src: /src/vlc/modules/services_discovery/upnp.cpp:926,1
    - Dst: end
      Src: /src/vlc/modules/services_discovery/upnp.cpp:926,1
    - Dst: input_item_slave_New
      Src: /src/vlc/modules/services_discovery/upnp.cpp:928,1
    - Dst: std::set<Slave>::iterator::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:928,1
    - Dst: input_item_AddSlave
      Src: /src/vlc/modules/services_discovery/upnp.cpp:931,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - p_item
    argTypes:
    - input_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 910
    functionDepth: 1
    functionLinenumber: 910
    functionLinenumberEnd: 933
    functionName: Access::ItemDescriptionHolder::apply
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - input_item_SetGenre
    - input_item_SetAlbum
    - input_item_slave_New
    - input_item_SetDate
    - begin
    - input_item_SetAlbumArtist
    - std::set<Slave>::iterator::c_str
    - input_item_SetArtworkURL
    - input_item_SetArtist
    - end
    - input_item_SetTrackNumber
    - input_item_AddSlave
    linkageType: ''
    returnType: void
    signature: void apply(input_item_t *p_item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:938,1
    - Dst: ixmlElement_getAttribute
      Src: /src/vlc/modules/services_discovery/upnp.cpp:941,1
    - Dst: sscanf
      Src: /src/vlc/modules/services_discovery/upnp.cpp:945,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/services_discovery/upnp.cpp:946,1
    - Dst: input_item_NewExt
      Src: /src/vlc/modules/services_discovery/upnp.cpp:949,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - p_resource
    argTypes:
    - IXML_Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 935
    functionDepth: 2
    functionLinenumber: 935
    functionLinenumberEnd: 951
    functionName: Access::ItemDescriptionHolder::createNewItem
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - sscanf
    - xml_getChildElementValue
    - vlc_tick_from_sec
    - ixmlElement_getAttribute
    - input_item_NewExt
    linkageType: ''
    returnType: input_item_t
    signature: input_item_t *createNewItem(IXML_Element *p_resource)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_uri_encode
      Src: /src/vlc/modules/services_discovery/upnp.cpp:958,1
    - Dst: unlikely
      Src: /src/vlc/modules/services_discovery/upnp.cpp:959,1
    - Dst: strrchr
      Src: /src/vlc/modules/services_discovery/upnp.cpp:962,1
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/upnp.cpp:965,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:967,1
    - Dst: input_item_NewDirectory
      Src: /src/vlc/modules/services_discovery/upnp.cpp:971,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:972,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - psz_root
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 953
    functionDepth: 2
    functionLinenumber: 953
    functionLinenumberEnd: 974
    functionName: Access::ItemDescriptionHolder::createNewContainerItem
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - asprintf
    - free
    - input_item_NewDirectory
    - vlc_uri_encode
    - strrchr
    - unlikely
    linkageType: ''
    returnType: input_item_t
    signature: input_item_t *createNewContainerItem( const char* psz_root )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - url
    - type
    argTypes:
    - std::string
    - slave_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 828
    functionName: Access::ItemDescriptionHolder::Slave
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Slave(std::string const &url, slave_type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 856
    functionName: Access::ItemDescriptionHolder::ItemDescriptionHolder
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ItemDescriptionHolder()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ixmlElement_getAttribute
      Src: /src/vlc/modules/services_discovery/upnp.cpp:860,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:863,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:866,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:868,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:869,1
    - Dst: Access::ItemDescriptionHolder::addSlave
      Src: /src/vlc/modules/services_discovery/upnp.cpp:870,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:871,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:872,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:873,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:874,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:875,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:876,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:877,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:878,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/upnp.cpp:879,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/upnp.cpp:881,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/upnp.cpp:883,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/upnp.cpp:885,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - itemElement
    argTypes:
    - IXML_Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 858
    functionDepth: 2
    functionLinenumber: 858
    functionLinenumberEnd: 890
    functionName: Access::ItemDescriptionHolder::init
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - ixmlElement_getAttribute
    - Access::ItemDescriptionHolder::addSlave
    - strncmp
    - xml_getChildElementValue
    linkageType: ''
    returnType: bool
    signature: bool init(IXML_Element *itemElement)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/vlc/modules/services_discovery/upnp.cpp:895,1
    - Dst: Access::ItemDescriptionHolder::Slave
      Src: /src/vlc/modules/services_discovery/upnp.cpp:895,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - psz_slave
    - type
    argTypes:
    - char*
    - slave_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 896
    functionName: Access::ItemDescriptionHolder::addSlave
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 7
    functionsReached:
    - Access::ItemDescriptionHolder::Slave
    - insert
    linkageType: ''
    returnType: void
    signature: void addSlave(const char *psz_slave, slave_type type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/services_discovery/upnp.cpp:900,1
    - Dst: Access::ItemDescriptionHolder::addSlave
      Src: /src/vlc/modules/services_discovery/upnp.cpp:901,1
    - Dst: ixmlElement_getAttribute
      Src: /src/vlc/modules/services_discovery/upnp.cpp:901,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - p_resource
    argTypes:
    - IXML_Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 898
    functionDepth: 2
    functionLinenumber: 898
    functionLinenumberEnd: 903
    functionName: Access::ItemDescriptionHolder::addSubtitleSlave
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - ixmlElement_getAttribute
    - Access::ItemDescriptionHolder::addSlave
    - empty
    linkageType: ''
    returnType: void
    signature: void addSubtitleSlave(IXML_Element* p_resource)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_resource
    argTypes:
    - IXML_Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 905
    functionDepth: 2
    functionLinenumber: 905
    functionLinenumberEnd: 908
    functionName: Access::ItemDescriptionHolder::setArtworkURL
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - xml_getChildElementValue
    linkageType: ''
    returnType: void
    signature: void setArtworkURL(IXML_Element* p_resource)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: input_item_SetArtist
      Src: /src/vlc/modules/services_discovery/upnp.cpp:913,1
    - Dst: input_item_SetGenre
      Src: /src/vlc/modules/services_discovery/upnp.cpp:915,1
    - Dst: input_item_SetAlbum
      Src: /src/vlc/modules/services_discovery/upnp.cpp:917,1
    - Dst: input_item_SetDate
      Src: /src/vlc/modules/services_discovery/upnp.cpp:919,1
    - Dst: input_item_SetTrackNumber
      Src: /src/vlc/modules/services_discovery/upnp.cpp:921,1
    - Dst: input_item_SetAlbumArtist
      Src: /src/vlc/modules/services_discovery/upnp.cpp:923,1
    - Dst: input_item_SetArtworkURL
      Src: /src/vlc/modules/services_discovery/upnp.cpp:925,1
    - Dst: begin
      Src: /src/vlc/modules/services_discovery/upnp.cpp:926,1
    - Dst: end
      Src: /src/vlc/modules/services_discovery/upnp.cpp:926,1
    - Dst: input_item_slave_New
      Src: /src/vlc/modules/services_discovery/upnp.cpp:928,1
    - Dst: std::set<Slave>::iterator::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:928,1
    - Dst: input_item_AddSlave
      Src: /src/vlc/modules/services_discovery/upnp.cpp:931,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - p_item
    argTypes:
    - input_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 910
    functionDepth: 1
    functionLinenumber: 910
    functionLinenumberEnd: 933
    functionName: Access::ItemDescriptionHolder::apply
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - input_item_SetGenre
    - input_item_SetAlbum
    - input_item_slave_New
    - input_item_SetDate
    - begin
    - input_item_SetAlbumArtist
    - std::set<Slave>::iterator::c_str
    - input_item_SetArtworkURL
    - input_item_SetArtist
    - end
    - input_item_SetTrackNumber
    - input_item_AddSlave
    linkageType: ''
    returnType: void
    signature: void apply(input_item_t *p_item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:938,1
    - Dst: ixmlElement_getAttribute
      Src: /src/vlc/modules/services_discovery/upnp.cpp:941,1
    - Dst: sscanf
      Src: /src/vlc/modules/services_discovery/upnp.cpp:945,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/services_discovery/upnp.cpp:946,1
    - Dst: input_item_NewExt
      Src: /src/vlc/modules/services_discovery/upnp.cpp:949,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - p_resource
    argTypes:
    - IXML_Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 935
    functionDepth: 2
    functionLinenumber: 935
    functionLinenumberEnd: 951
    functionName: Access::ItemDescriptionHolder::createNewItem
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - sscanf
    - xml_getChildElementValue
    - vlc_tick_from_sec
    - ixmlElement_getAttribute
    - input_item_NewExt
    linkageType: ''
    returnType: input_item_t
    signature: input_item_t *createNewItem(IXML_Element *p_resource)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_uri_encode
      Src: /src/vlc/modules/services_discovery/upnp.cpp:958,1
    - Dst: unlikely
      Src: /src/vlc/modules/services_discovery/upnp.cpp:959,1
    - Dst: strrchr
      Src: /src/vlc/modules/services_discovery/upnp.cpp:962,1
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/upnp.cpp:965,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:967,1
    - Dst: input_item_NewDirectory
      Src: /src/vlc/modules/services_discovery/upnp.cpp:971,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:972,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - psz_root
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 953
    functionDepth: 2
    functionLinenumber: 953
    functionLinenumberEnd: 974
    functionName: Access::ItemDescriptionHolder::createNewContainerItem
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - asprintf
    - free
    - input_item_NewDirectory
    - vlc_uri_encode
    - strrchr
    - unlikely
    linkageType: ''
    returnType: input_item_t
    signature: input_item_t *createNewContainerItem( const char* psz_root )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - callback
    - cookie
    argTypes:
    - Upnp_FunPtr
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 984
    functionName: Access::Upnp_i11e_cb::Upnp_i11e_cb
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Upnp_i11e_cb::Upnp_i11e_cb( Upnp_FunPtr callback, void *cookie
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wait_i11e
      Src: /src/vlc/modules/services_discovery/upnp.cpp:988,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 1001
    functionName: Access::Upnp_i11e_cb::waitAndRelease
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - wait_i11e
    linkageType: ''
    returnType: void
    signature: void Upnp_i11e_cb::waitAndRelease( void )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Upnp_i11e_cb*>
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1005,1
    - Dst: Upnp_i11e_cb*::m_lock::lock
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1007,1
    - Dst: Upnp_i11e_cb*::m_lock::unlock
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1011,1
    - Dst: Upnp_i11e_cb*::m_callback
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1016,1
    - Dst: Upnp_i11e_cb*::m_lock::unlock
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1017,1
    - Dst: Upnp_i11e_cb*::m_sem::post
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1020,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - eventType
    - p_event
    - p_cookie
    argTypes:
    - Upnp_EventType
    - UpnpEventPtr
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1022
    functionName: Access::Upnp_i11e_cb::run
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - Upnp_i11e_cb*::m_lock::lock
    - Upnp_i11e_cb*::m_sem::post
    - static_cast<Upnp_i11e_cb*>
    - Upnp_i11e_cb*::m_callback
    - Upnp_i11e_cb*::m_lock::unlock
    linkageType: ''
    returnType: int
    signature: int Upnp_i11e_cb::run( Upnp_EventType eventType, UpnpEventPtr p_event,
      void *p_cookie )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1030,1
    - Dst: strstr
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1031,1
    - Dst: vlc_uri_decode
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1037,1
    - Dst: strlen
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1037,1
    - Dst: std::string
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1040,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_access
    - node
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1024
    functionDepth: 1
    functionLinenumber: 1024
    functionLinenumberEnd: 1041
    functionName: Access::MediaServer::MediaServer
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - strdup
    - strlen
    - vlc_uri_decode
    - strstr
    - std::string
    linkageType: ''
    returnType: void
    signature: void MediaServer::MediaServer( stream_t *p_access, input_item_node_t
      *node )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1046
    functionName: MediaServer::~MediaServer()
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void MediaServer::~MediaServer()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ItemDescriptionHolder::init
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1052,1
    - Dst: ItemDescriptionHolder::createNewContainerItem
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1055,1
    - Dst: ItemDescriptionHolder::apply
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1058,1
    - Dst: input_item_CopyOptions
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1059,1
    - Dst: input_item_node_AppendItem
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1060,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1061,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - containerElement
    argTypes:
    - IXML_Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1063
    functionName: Access::MediaServer::addContainer
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 1
    functionsReached:
    - ItemDescriptionHolder::createNewContainerItem
    - input_item_Release
    - ItemDescriptionHolder::init
    - ItemDescriptionHolder::apply
    - input_item_CopyOptions
    - input_item_node_AppendItem
    linkageType: ''
    returnType: bool
    signature: bool MediaServer::addContainer( IXML_Element* containerElement )
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ItemDescriptionHolder::init
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1069,1
    - Dst: ixmlDocument_getElementsByTagName
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1072,1
    - Dst: ixmlNodeList_length
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1075,1
    - Dst: ixmlNodeList_free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1077,1
    - Dst: ixmlNodeList_item
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1084,1
    - Dst: ixmlElement_getAttribute
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1085,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1087,1
    - Dst: ItemDescriptionHolder::createNewItem
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1090,1
    - Dst: ItemDescriptionHolder::addSubtitleSlave
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1091,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1093,1
    - Dst: ItemDescriptionHolder::createNewItem
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1098,1
    - Dst: ItemDescriptionHolder::setArtworkURL
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1103,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1106,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1109,1
    - Dst: ItemDescriptionHolder::addSlave
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1110,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1110,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1111,1
    - Dst: ItemDescriptionHolder::createNewItem
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1116,1
    - Dst: ItemDescriptionHolder::addSlave
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1119,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1119,1
    - Dst: ixmlNodeList_free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1123,1
    - Dst: ItemDescriptionHolder::apply
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1126,1
    - Dst: input_item_CopyOptions
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1127,1
    - Dst: input_item_node_AppendItem
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1128,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1129,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 1
    argNames:
    - itemElement
    argTypes:
    - IXML_Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1065
    functionDepth: 2
    functionLinenumber: 1065
    functionLinenumberEnd: 1131
    functionName: Access::MediaServer::addItem
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 1
    functionsReached:
    - ItemDescriptionHolder::createNewItem
    - input_item_CopyOptions
    - ixmlNodeList_item
    - xml_getChildElementValue
    - ItemDescriptionHolder::setArtworkURL
    - input_item_Release
    - ItemDescriptionHolder::init
    - ixmlNodeList_free
    - strncmp
    - ItemDescriptionHolder::addSlave
    - msg_Warn
    - ItemDescriptionHolder::addSubtitleSlave
    - ixmlDocument_getElementsByTagName
    - ixmlElement_getAttribute
    - ItemDescriptionHolder::apply
    - input_item_node_AppendItem
    - ixmlNodeList_length
    linkageType: ''
    returnType: bool
    signature: bool MediaServer::addItem( IXML_Element* itemElement )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ixmlPrintNode
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1142,1
    - Dst: UpnpActionComplete_get_ActionResult
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1142,1
    - Dst: ixmlParseBuffer
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1146,1
    - Dst: ixmlFreeDOMString
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - eventType
    - p_event
    - p_cookie
    argTypes:
    - Upnp_EventType
    - UpnpEventPtr
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1149
    functionName: Access::MediaServer::sendActionCb
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - UpnpActionComplete_get_ActionResult
    - ixmlFreeDOMString
    - ixmlParseBuffer
    - ixmlPrintNode
    linkageType: ''
    returnType: int
    signature: "int MediaServer::sendActionCb( Upnp_EventType eventType,\n                               UpnpEventPtr
      p_event, void *p_cookie )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_killed
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1166,1
    - Dst: UpnpAddToAction
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1169,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1174,1
    - Dst: UpnpGetErrorMessage
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1175,1
    - Dst: UpnpAddToAction
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1179,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1184,1
    - Dst: UpnpGetErrorMessage
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1185,1
    - Dst: UpnpAddToAction
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1189,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1194,1
    - Dst: UpnpGetErrorMessage
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1195,1
    - Dst: UpnpAddToAction
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1199,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1203,1
    - Dst: UpnpGetErrorMessage
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1204,1
    - Dst: UpnpAddToAction
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1208,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1213,1
    - Dst: UpnpGetErrorMessage
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1214,1
    - Dst: UpnpAddToAction
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1218,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1223,1
    - Dst: UpnpGetErrorMessage
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1224,1
    - Dst: Upnp_i11e_cb::Upnp_i11e_cb
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1230,1
    - Dst: UpnpSendActionAsync
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1231,1
    - Dst: access_sys_t*::p_upnp::handle
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1231,1
    - Dst: c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1232,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1240,1
    - Dst: UpnpGetErrorMessage
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1241,1
    - Dst: Upnp_i11e_cb*::waitAndRelease
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1244,1
    - Dst: ixmlDocument_free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1247,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 6
    argNames:
    - psz_object_id_
    - psz_browser_flag_
    - psz_filter_
    - psz_starting_index
    - psz_requested_count_
    - psz_sort_criteria_
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1152
    functionDepth: 1
    functionLinenumber: 1152
    functionLinenumberEnd: 1249
    functionName: Access::MediaServer::_browseAction
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 1
    functionsReached:
    - ixmlDocument_free
    - Upnp_i11e_cb::Upnp_i11e_cb
    - Upnp_i11e_cb*::waitAndRelease
    - msg_Err
    - UpnpGetErrorMessage
    - msg_Dbg
    - UpnpSendActionAsync
    - access_sys_t*::p_upnp::handle
    - c_str
    - vlc_killed
    - UpnpAddToAction
    linkageType: ''
    returnType: IXML_Document
    signature: "IXML_Document * MediaServer::_browseAction( const char* psz_object_id_,\n
      \                                          const char* psz_browser_flag_,\n
      \                                          const char* psz_filter_,\n                                           const
      char* psz_starting_index,\n                                           const
      char* psz_requested_count_,\n                                           const
      char* psz_sort_criteria_ )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Access::MediaServer::_browseAction
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1264,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1267,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1269,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1274,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1278,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1279,1
    - Dst: std::to_string
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1281,1
    - Dst: std::stol
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1281,1
    - Dst: std::stol
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1281,1
    - Dst: std::stol
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1282,1
    - Dst: std::stol
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1282,1
    - Dst: std::to_string
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1283,1
    - Dst: parseBrowseResult
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1285,1
    - Dst: ixmlDocument_free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1287,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1291,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1296,1
    - Dst: ixmlPrintDocument
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1296,1
    - Dst: ixmlDocument_getElementsByTagName
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1300,1
    - Dst: ixmlNodeList_length
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1304,1
    - Dst: Access::MediaServer::addContainer
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1305,1
    - Dst: ixmlNodeList_item
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1305,1
    - Dst: ixmlNodeList_free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1306,1
    - Dst: ixmlDocument_getElementsByTagName
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1309,1
    - Dst: ixmlNodeList_length
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1313,1
    - Dst: Access::MediaServer::addItem
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1314,1
    - Dst: ixmlNodeList_item
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1314,1
    - Dst: ixmlNodeList_free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1315,1
    - Dst: ixmlDocument_free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1318,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1254
    functionDepth: 3
    functionLinenumber: 1254
    functionLinenumberEnd: 1322
    functionName: Access::MediaServer::fetchContents
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - Access::MediaServer::addItem
    - ixmlNodeList_item
    - xml_getChildElementValue
    - ixmlNodeList_free
    - Access::MediaServer::_browseAction
    - ixmlDocument_free
    - std::to_string
    - msg_Err
    - std::string::c_str
    - Access::MediaServer::addContainer
    - msg_Dbg
    - ixmlDocument_getElementsByTagName
    - std::stol
    - ixmlPrintDocument
    - parseBrowseResult
    - ixmlNodeList_length
    linkageType: ''
    returnType: bool
    signature: bool MediaServer::fetchContents()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MediaServer::fetchContents
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_access
    - p_node
    argTypes:
    - stream_t*
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1331
    functionName: Access::ReadDirectory
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - MediaServer::fetchContents
    linkageType: ''
    returnType: int
    signature: int ReadDirectory( stream_t *p_access, input_item_node_t* p_node )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: access_sys_t::access_sys_t
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1336,1
    - Dst: unlikely
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1337,1
    - Dst: UpnpInstanceWrapper::get
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1333
    functionDepth: 1
    functionLinenumber: 1333
    functionLinenumberEnd: 1352
    functionName: Access::OpenAccess
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - access_sys_t::access_sys_t
    - unlikely
    - UpnpInstanceWrapper::get
    linkageType: ''
    returnType: int
    signature: int OpenAccess( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: access_sys_t*::p_upnp::release
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1354
    functionDepth: 0
    functionLinenumber: 1354
    functionLinenumberEnd: 1361
    functionName: Access::CloseAccess
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - access_sys_t*::p_upnp::release
    linkageType: ''
    returnType: void
    signature: void CloseAccess( vlc_object_t* p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1379,1
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1380,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1382,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - psz_location
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1374
    functionDepth: 2
    functionLinenumber: 1374
    functionLinenumberEnd: 1387
    functionName: RD::getUrl
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - asprintf
    - vlc_UrlParse
    - vlc_UrlClean
    linkageType: ''
    returnType: char
    signature: char *getUrl(const char *psz_location)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' udn'
    - ' fName'
    - ' base'
    - ' loc'
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1389
    functionDepth: 0
    functionLinenumber: 1389
    functionLinenumberEnd: 1399
    functionName: RD::MediaRendererDesc::MediaRendererDesc
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MediaRendererDesc::MediaRendererDesc( const std::string& udn,\n
      \                                     const std::string& fName,\n                                      const
      std::string& base,\n                                      const std::string&
      loc )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_renderer_item_release
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1401
    functionDepth: 1
    functionLinenumber: 1401
    functionLinenumberEnd: 1405
    functionName: MediaRendererDesc::~MediaRendererDesc()
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - vlc_renderer_item_release
    linkageType: ''
    returnType: void
    signature: void MediaRendererDesc::~MediaRendererDesc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_rd
    argTypes:
    - vlc_renderer_discovery_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1407
    functionDepth: 0
    functionLinenumber: 1407
    functionLinenumberEnd: 1410
    functionName: RD::MediaRendererList::MediaRendererList
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MediaRendererList::MediaRendererList(vlc_renderer_discovery_t
      *p_rd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_delete_all
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1412
    functionDepth: 1
    functionLinenumber: 1412
    functionLinenumberEnd: 1415
    functionName: MediaRendererList::~MediaRendererList()
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - vlc_delete_all
    linkageType: ''
    returnType: void
    signature: void MediaRendererList::~MediaRendererList()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getUrl
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1419,1
    - Dst: MediaRendererDesc*::location::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1419,1
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1423,1
    - Dst: MediaRendererDesc*::base_url::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1423,1
    - Dst: MediaRendererDesc*::location::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1424,1
    - Dst: vlc_renderer_item_new
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1426,1
    - Dst: MediaRendererDesc*::friendlyName::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1427,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1431,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1434,1
    - Dst: MediaRendererDesc*::friendlyName::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1435,1
    - Dst: MediaRendererDesc*::UDN::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1436,1
    - Dst: vlc_rd_add_item
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1437,1
    - Dst: push_back
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - desc
    argTypes:
    - MediaRendererDesc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1417
    functionDepth: 2
    functionLinenumber: 1417
    functionLinenumberEnd: 1440
    functionName: RD::MediaRendererList::addRenderer
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - MediaRendererDesc*::friendlyName::c_str
    - asprintf
    - MediaRendererDesc*::base_url::c_str
    - push_back
    - MediaRendererDesc*::UDN::c_str
    - vlc_renderer_item_new
    - free
    - MediaRendererDesc*::location::c_str
    - msg_Dbg
    - vlc_rd_add_item
    - getUrl
    linkageType: ''
    returnType: bool
    signature: bool MediaRendererList::addRenderer(MediaRendererDesc *desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1444,1
    - Dst: end
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' udn'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1453
    functionName: RD::MediaRendererList::getRenderer
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    linkageType: ''
    returnType: MediaRendererDesc
    signature: MediaRendererDesc * MediaRendererList::getRenderer( const std::string&
      udn )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RD::MediaRendererList::getRenderer
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1457,1
    - Dst: assert
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1461,1
    - Dst: find
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1464,1
    - Dst: begin
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1464,1
    - Dst: end
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1465,1
    - Dst: end
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1467,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1469,1
    - Dst: MediaRendererDesc*::friendlyName::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1470,1
    - Dst: MediaRendererDesc*::UDN::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1471,1
    - Dst: erase
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1472,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' udn'
    argTypes:
    - std::string
    assertStmts:
    - condition: ( p_renderer->inputItem )
      pos:
        line_end: 1460
        line_start: 1460
        source_file: /src/vlc/modules/services_discovery/upnp.cpp
    constantsTouched: []
    func_position:
      end: 1475
      start: 1455
    functionDepth: 1
    functionLinenumber: 1455
    functionLinenumberEnd: 1475
    functionName: RD::MediaRendererList::removeRenderer
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - erase
    - MediaRendererDesc*::friendlyName::c_str
    - assert
    - MediaRendererDesc*::UDN::c_str
    - begin
    - RD::MediaRendererList::getRenderer
    - msg_Dbg
    - end
    - find
    linkageType: ''
    returnType: void
    signature: void MediaRendererList::removeRenderer( const std::string& udn )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1480,1
    - Dst: empty
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1480,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1481,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1482,1
    - Dst: ixmlPrintDocument
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1482,1
    - Dst: parseBaseUrl
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1489,1
    - Dst: empty
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1490,1
    - Dst: c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1492,1
    - Dst: ixmlDocument_getElementsByTagName
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1495,1
    - Dst: ixmlNodeList_length
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1499,1
    - Dst: ixmlNodeList_item
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1501,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1508,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1510,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1512,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1515,1
    - Dst: RD::MediaRendererList::getRenderer
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1520,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1522,1
    - Dst: MediaRendererDesc::MediaRendererDesc
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1526,1
    - Dst: RD::MediaRendererList::addRenderer
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1530,1
    - Dst: ixmlNodeList_free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1533,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - doc
    - ' location'
    argTypes:
    - IXML_Document*
    - std::string
    assertStmts:
    - condition: (!location.empty())
      pos:
        line_end: 1479
        line_start: 1479
        source_file: /src/vlc/modules/services_discovery/upnp.cpp
    constantsTouched: []
    func_position:
      end: 1534
      start: 1477
    functionDepth: 3
    functionLinenumber: 1477
    functionLinenumberEnd: 1534
    functionName: RD::MediaRendererList::parseNewRenderer
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - assert
    - ixmlNodeList_item
    - xml_getChildElementValue
    - var_InheritInteger
    - ixmlNodeList_free
    - RD::MediaRendererList::getRenderer
    - msg_Err
    - MediaRendererDesc::MediaRendererDesc
    - RD::MediaRendererList::addRenderer
    - empty
    - msg_Dbg
    - msg_Warn
    - c_str
    - ixmlDocument_getElementsByTagName
    - ixmlPrintDocument
    - parseBaseUrl
    - ixmlNodeList_length
    linkageType: ''
    returnType: void
    signature: "void MediaRendererList::parseNewRenderer( IXML_Document* doc,\n                                          const
      std::string& location)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UpnpDownloadXmlDoc
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1551,1
    - Dst: UpnpDiscovery_get_Location_cstr
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1551,1
    - Dst: fprintf
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1554,1
    - Dst: UpnpDiscovery_get_Location_cstr
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1554,1
    - Dst: RD::MediaRendererList::parseNewRenderer
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1557,1
    - Dst: UpnpDiscovery_get_Location_cstr
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1557,1
    - Dst: ixmlDocument_free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1558,1
    - Dst: RD::MediaRendererList::removeRenderer
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1566,1
    - Dst: UpnpDiscovery_get_DeviceID_cstr
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1566,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1572,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - event_type
    - Event
    - p_user_data
    argTypes:
    - Upnp_EventType
    - UpnpEventPtr
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1536
    functionDepth: 4
    functionLinenumber: 1536
    functionLinenumberEnd: 1580
    functionName: RD::MediaRendererList::onEvent
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - UpnpDownloadXmlDoc
    - fprintf
    - ixmlDocument_free
    - RD::MediaRendererList::parseNewRenderer
    - UpnpDiscovery_get_Location_cstr
    - UpnpDiscovery_get_DeviceID_cstr
    - msg_Warn
    - RD::MediaRendererList::removeRenderer
    linkageType: ''
    returnType: int
    signature: "int MediaRendererList::onEvent( Upnp_EventType event_type,\n                                UpnpEventPtr
      Event,\n                                void *p_user_data )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1584,1
    - Dst: UpnpSearchAsync
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1590,1
    - Dst: renderer_discovery_sys_t*::p_upnp::handle
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1590,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1594,1
    - Dst: UpnpGetErrorMessage
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1598
      start: 1582
    functionDepth: 1
    functionLinenumber: 1582
    functionLinenumberEnd: 1598
    functionName: RD::SearchThread
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - vlc_thread_set_name
    - renderer_discovery_sys_t*::p_upnp::handle
    - msg_Err
    - UpnpGetErrorMessage
    - UpnpSearchAsync
    linkageType: ''
    returnType: void
    signature: void *SearchThread(void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<renderer_discovery_sys_t>
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1604,1
    - Dst: auto::get
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1606,1
    - Dst: UpnpInstanceWrapper::get
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1607,1
    - Dst: std::make_shared<RD::MediaRendererList>
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1612,1
    - Dst: auto::p_upnp::addListener
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1613,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1615,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1617,1
    - Dst: auto::p_upnp::removeListener
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1618,1
    - Dst: auto::p_upnp::release
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1619,1
    - Dst: auto::release
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1624,1
    - Dst: static_cast<renderer_discovery_sys_t *>
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1631,1
    - Dst: renderer_discovery_sys_t*::p_upnp::release
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1633,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1635
      start: 1600
    functionDepth: 1
    functionLinenumber: 1600
    functionLinenumberEnd: 1635
    functionName: RD::OpenRD
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - renderer_discovery_sys_t*::p_upnp::release
    - vlc_clone
    - auto::p_upnp::release
    - std::make_unique<renderer_discovery_sys_t>
    - msg_Err
    - auto::release
    - auto::get
    - static_cast<renderer_discovery_sys_t *>
    - auto::p_upnp::removeListener
    - auto::p_upnp::addListener
    - std::make_shared<RD::MediaRendererList>
    - UpnpInstanceWrapper::get
    linkageType: ''
    returnType: int
    signature: int OpenRD( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_join
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1642,1
    - Dst: renderer_discovery_sys_t*::p_upnp::removeListener
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1643,1
    - Dst: renderer_discovery_sys_t*::p_upnp::release
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1646
      start: 1637
    functionDepth: 0
    functionLinenumber: 1637
    functionLinenumberEnd: 1646
    functionName: RD::CloseRD
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - renderer_discovery_sys_t*::p_upnp::release
    - vlc_join
    - renderer_discovery_sys_t*::p_upnp::removeListener
    linkageType: ''
    returnType: void
    signature: void CloseRD( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1379,1
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1380,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1382,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - psz_location
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1374
    functionDepth: 2
    functionLinenumber: 1374
    functionLinenumberEnd: 1387
    functionName: RD::getUrl
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - asprintf
    - vlc_UrlParse
    - vlc_UrlClean
    linkageType: ''
    returnType: char
    signature: char *getUrl(const char *psz_location)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' udn'
    - ' fName'
    - ' base'
    - ' loc'
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1389
    functionDepth: 0
    functionLinenumber: 1389
    functionLinenumberEnd: 1399
    functionName: RD::MediaRendererDesc::MediaRendererDesc
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MediaRendererDesc::MediaRendererDesc( const std::string& udn,\n
      \                                     const std::string& fName,\n                                      const
      std::string& base,\n                                      const std::string&
      loc )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_renderer_item_release
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1401
    functionDepth: 1
    functionLinenumber: 1401
    functionLinenumberEnd: 1405
    functionName: MediaRendererDesc::~MediaRendererDesc()
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - vlc_renderer_item_release
    linkageType: ''
    returnType: void
    signature: void MediaRendererDesc::~MediaRendererDesc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_rd
    argTypes:
    - vlc_renderer_discovery_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1407
    functionDepth: 0
    functionLinenumber: 1407
    functionLinenumberEnd: 1410
    functionName: RD::MediaRendererList::MediaRendererList
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MediaRendererList::MediaRendererList(vlc_renderer_discovery_t
      *p_rd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_delete_all
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1412
    functionDepth: 1
    functionLinenumber: 1412
    functionLinenumberEnd: 1415
    functionName: MediaRendererList::~MediaRendererList()
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - vlc_delete_all
    linkageType: ''
    returnType: void
    signature: void MediaRendererList::~MediaRendererList()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getUrl
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1419,1
    - Dst: MediaRendererDesc*::location::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1419,1
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1423,1
    - Dst: MediaRendererDesc*::base_url::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1423,1
    - Dst: MediaRendererDesc*::location::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1424,1
    - Dst: vlc_renderer_item_new
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1426,1
    - Dst: MediaRendererDesc*::friendlyName::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1427,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1431,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1434,1
    - Dst: MediaRendererDesc*::friendlyName::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1435,1
    - Dst: MediaRendererDesc*::UDN::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1436,1
    - Dst: vlc_rd_add_item
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1437,1
    - Dst: push_back
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - desc
    argTypes:
    - MediaRendererDesc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1417
    functionDepth: 2
    functionLinenumber: 1417
    functionLinenumberEnd: 1440
    functionName: RD::MediaRendererList::addRenderer
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 1
    functionsReached:
    - MediaRendererDesc*::friendlyName::c_str
    - asprintf
    - MediaRendererDesc*::base_url::c_str
    - push_back
    - MediaRendererDesc*::UDN::c_str
    - vlc_renderer_item_new
    - free
    - MediaRendererDesc*::location::c_str
    - msg_Dbg
    - vlc_rd_add_item
    - getUrl
    linkageType: ''
    returnType: bool
    signature: bool MediaRendererList::addRenderer(MediaRendererDesc *desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1444,1
    - Dst: end
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' udn'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1453
    functionName: RD::MediaRendererList::getRenderer
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 2
    functionsReached:
    - end
    - begin
    linkageType: ''
    returnType: MediaRendererDesc
    signature: MediaRendererDesc * MediaRendererList::getRenderer( const std::string&
      udn )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RD::MediaRendererList::getRenderer
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1457,1
    - Dst: assert
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1461,1
    - Dst: find
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1464,1
    - Dst: begin
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1464,1
    - Dst: end
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1465,1
    - Dst: end
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1467,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1469,1
    - Dst: MediaRendererDesc*::friendlyName::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1470,1
    - Dst: MediaRendererDesc*::UDN::c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1471,1
    - Dst: erase
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1472,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' udn'
    argTypes:
    - std::string
    assertStmts:
    - condition: ( p_renderer->inputItem )
      pos:
        line_end: 1460
        line_start: 1460
        source_file: /src/vlc/modules/services_discovery/upnp.cpp
    constantsTouched: []
    func_position:
      end: 1475
      start: 1455
    functionDepth: 1
    functionLinenumber: 1455
    functionLinenumberEnd: 1475
    functionName: RD::MediaRendererList::removeRenderer
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 1
    functionsReached:
    - erase
    - MediaRendererDesc*::friendlyName::c_str
    - assert
    - MediaRendererDesc*::UDN::c_str
    - begin
    - RD::MediaRendererList::getRenderer
    - msg_Dbg
    - end
    - find
    linkageType: ''
    returnType: void
    signature: void MediaRendererList::removeRenderer( const std::string& udn )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1480,1
    - Dst: empty
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1480,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1481,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1482,1
    - Dst: ixmlPrintDocument
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1482,1
    - Dst: parseBaseUrl
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1489,1
    - Dst: empty
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1490,1
    - Dst: c_str
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1492,1
    - Dst: ixmlDocument_getElementsByTagName
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1495,1
    - Dst: ixmlNodeList_length
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1499,1
    - Dst: ixmlNodeList_item
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1501,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1508,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1510,1
    - Dst: xml_getChildElementValue
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1512,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1515,1
    - Dst: RD::MediaRendererList::getRenderer
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1520,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1522,1
    - Dst: MediaRendererDesc::MediaRendererDesc
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1526,1
    - Dst: RD::MediaRendererList::addRenderer
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1530,1
    - Dst: ixmlNodeList_free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1533,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - doc
    - ' location'
    argTypes:
    - IXML_Document*
    - std::string
    assertStmts:
    - condition: (!location.empty())
      pos:
        line_end: 1479
        line_start: 1479
        source_file: /src/vlc/modules/services_discovery/upnp.cpp
    constantsTouched: []
    func_position:
      end: 1534
      start: 1477
    functionDepth: 3
    functionLinenumber: 1477
    functionLinenumberEnd: 1534
    functionName: RD::MediaRendererList::parseNewRenderer
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 1
    functionsReached:
    - assert
    - ixmlNodeList_item
    - xml_getChildElementValue
    - var_InheritInteger
    - ixmlNodeList_free
    - RD::MediaRendererList::getRenderer
    - msg_Err
    - MediaRendererDesc::MediaRendererDesc
    - RD::MediaRendererList::addRenderer
    - empty
    - msg_Dbg
    - msg_Warn
    - c_str
    - ixmlDocument_getElementsByTagName
    - ixmlPrintDocument
    - parseBaseUrl
    - ixmlNodeList_length
    linkageType: ''
    returnType: void
    signature: "void MediaRendererList::parseNewRenderer( IXML_Document* doc,\n                                          const
      std::string& location)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UpnpDownloadXmlDoc
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1551,1
    - Dst: UpnpDiscovery_get_Location_cstr
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1551,1
    - Dst: fprintf
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1554,1
    - Dst: UpnpDiscovery_get_Location_cstr
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1554,1
    - Dst: RD::MediaRendererList::parseNewRenderer
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1557,1
    - Dst: UpnpDiscovery_get_Location_cstr
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1557,1
    - Dst: ixmlDocument_free
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1558,1
    - Dst: RD::MediaRendererList::removeRenderer
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1566,1
    - Dst: UpnpDiscovery_get_DeviceID_cstr
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1566,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1572,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - event_type
    - Event
    - p_user_data
    argTypes:
    - Upnp_EventType
    - UpnpEventPtr
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1536
    functionDepth: 4
    functionLinenumber: 1536
    functionLinenumberEnd: 1580
    functionName: RD::MediaRendererList::onEvent
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - UpnpDownloadXmlDoc
    - fprintf
    - ixmlDocument_free
    - RD::MediaRendererList::parseNewRenderer
    - UpnpDiscovery_get_Location_cstr
    - UpnpDiscovery_get_DeviceID_cstr
    - msg_Warn
    - RD::MediaRendererList::removeRenderer
    linkageType: ''
    returnType: int
    signature: "int MediaRendererList::onEvent( Upnp_EventType event_type,\n                                UpnpEventPtr
      Event,\n                                void *p_user_data )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1584,1
    - Dst: UpnpSearchAsync
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1590,1
    - Dst: renderer_discovery_sys_t*::p_upnp::handle
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1590,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1594,1
    - Dst: UpnpGetErrorMessage
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1598
      start: 1582
    functionDepth: 1
    functionLinenumber: 1582
    functionLinenumberEnd: 1598
    functionName: RD::SearchThread
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - vlc_thread_set_name
    - renderer_discovery_sys_t*::p_upnp::handle
    - msg_Err
    - UpnpGetErrorMessage
    - UpnpSearchAsync
    linkageType: ''
    returnType: void
    signature: void *SearchThread(void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<renderer_discovery_sys_t>
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1604,1
    - Dst: auto::get
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1606,1
    - Dst: UpnpInstanceWrapper::get
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1607,1
    - Dst: std::make_shared<RD::MediaRendererList>
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1612,1
    - Dst: auto::p_upnp::addListener
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1613,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1615,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1617,1
    - Dst: auto::p_upnp::removeListener
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1618,1
    - Dst: auto::p_upnp::release
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1619,1
    - Dst: auto::release
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1624,1
    - Dst: static_cast<renderer_discovery_sys_t *>
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1631,1
    - Dst: renderer_discovery_sys_t*::p_upnp::release
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1633,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1635
      start: 1600
    functionDepth: 1
    functionLinenumber: 1600
    functionLinenumberEnd: 1635
    functionName: RD::OpenRD
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - renderer_discovery_sys_t*::p_upnp::release
    - vlc_clone
    - auto::p_upnp::release
    - std::make_unique<renderer_discovery_sys_t>
    - msg_Err
    - auto::release
    - auto::get
    - static_cast<renderer_discovery_sys_t *>
    - auto::p_upnp::removeListener
    - auto::p_upnp::addListener
    - std::make_shared<RD::MediaRendererList>
    - UpnpInstanceWrapper::get
    linkageType: ''
    returnType: int
    signature: int OpenRD( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_join
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1642,1
    - Dst: renderer_discovery_sys_t*::p_upnp::removeListener
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1643,1
    - Dst: renderer_discovery_sys_t*::p_upnp::release
      Src: /src/vlc/modules/services_discovery/upnp.cpp:1644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1646
      start: 1637
    functionDepth: 0
    functionLinenumber: 1637
    functionLinenumberEnd: 1646
    functionName: RD::CloseRD
    functionSourceFile: /src/vlc/modules/services_discovery/upnp.cpp
    functionUses: 0
    functionsReached:
    - renderer_discovery_sys_t*::p_upnp::release
    - vlc_join
    - renderer_discovery_sys_t*::p_upnp::removeListener
    linkageType: ''
    returnType: void
    signature: void CloseRD( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mdns_strerror
      Src: /src/vlc/modules/services_discovery/microdns.c:136,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/microdns.c:137,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/microdns.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - p_obj
    - psz_what
    - i_status
    argTypes:
    - vlc_object_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: print_error
    functionSourceFile: /src/vlc/modules/services_discovery/microdns.c
    functionUses: 0
    functionsReached:
    - mdns_strerror
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void print_error( vlc_object_t *p_obj, const char *psz_what, int i_status
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/services_discovery/microdns.c:147,1
    - Dst: strlen
      Src: /src/vlc/modules/services_discovery/microdns.c:148,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/microdns.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: strrcmp
    functionSourceFile: /src/vlc/modules/services_discovery/microdns.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int strrcmp(const char *s1, const char *s2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/services_discovery/microdns.c:158,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/microdns.c:161,1
    - Dst: input_item_NewStream
      Src: /src/vlc/modules/services_discovery/microdns.c:167,1
    - Dst: input_item_NewDirectory
      Src: /src/vlc/modules/services_discovery/microdns.c:169,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/microdns.c:172,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/microdns.c:173,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/services_discovery/microdns.c:180,1
    - Dst: vlc_array_append_or_abort
      Src: /src/vlc/modules/services_discovery/microdns.c:181,1
    - Dst: services_discovery_AddItem
      Src: /src/vlc/modules/services_discovery/microdns.c:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 5
    argNames:
    - p_sys
    - p_sd
    - psz_uri
    - psz_name
    - item_type
    argTypes:
    - struct discovery_sys*
    - services_discovery_t*
    - char*
    - char*
    - enum input_item_type_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 185
    functionName: items_add_input
    functionSourceFile: /src/vlc/modules/services_discovery/microdns.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - vlc_array_append_or_abort
    - services_discovery_AddItem
    - input_item_NewStream
    - free
    - input_item_NewDirectory
    - malloc
    linkageType: ''
    returnType: int
    signature: "int items_add_input( struct discovery_sys *p_sys, services_discovery_t
      *p_sd,\n                 char *psz_uri, const char *psz_name, enum input_item_type_e
      item_type )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/services_discovery/microdns.c:193,1
    - Dst: vlc_renderer_item_new
      Src: /src/vlc/modules/services_discovery/microdns.c:200,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/microdns.c:204,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/microdns.c:205,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/services_discovery/microdns.c:212,1
    - Dst: vlc_array_append_or_abort
      Src: /src/vlc/modules/services_discovery/microdns.c:213,1
    - Dst: vlc_rd_add_item
      Src: /src/vlc/modules/services_discovery/microdns.c:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 7
    argNames:
    - p_sys
    - p_rd
    - psz_name
    - psz_uri
    - psz_demux_filter
    - psz_icon_uri
    - i_flags
    argTypes:
    - struct discovery_sys*
    - vlc_renderer_discovery_t*
    - char*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 217
    functionName: items_add_renderer
    functionSourceFile: /src/vlc/modules/services_discovery/microdns.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - vlc_array_append_or_abort
    - vlc_renderer_item_new
    - free
    - vlc_rd_add_item
    - malloc
    linkageType: ''
    returnType: int
    signature: "int items_add_renderer( struct discovery_sys *p_sys, vlc_renderer_discovery_t
      *p_rd,\n                    const char *psz_name, char *psz_uri,\n                    const
      char *psz_demux_filter, const char *psz_icon_uri,\n                    int i_flags
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/microdns.c:225,1
    - Dst: assert
      Src: /src/vlc/modules/services_discovery/microdns.c:229,1
    - Dst: vlc_renderer_item_release
      Src: /src/vlc/modules/services_discovery/microdns.c:230,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/microdns.c:233,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/microdns.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - p_sys
    - p_item
    argTypes:
    - struct discovery_sys*
    - struct item*
    assertStmts:
    - condition: ( p_item->p_renderer_item != NULL )
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/vlc/modules/services_discovery/microdns.c
    constantsTouched: []
    func_position:
      end: 235
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 235
    functionName: items_release
    functionSourceFile: /src/vlc/modules/services_discovery/microdns.c
    functionUses: 0
    functionsReached:
    - input_item_Release
    - vlc_renderer_item_release
    - assert
    - free
    linkageType: ''
    returnType: void
    signature: void items_release( struct discovery_sys *p_sys, struct item *p_item
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_array_count
      Src: /src/vlc/modules/services_discovery/microdns.c:240,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/services_discovery/microdns.c:242,1
    - Dst: strcmp
      Src: /src/vlc/modules/services_discovery/microdns.c:243,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/services_discovery/microdns.c:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p_sys
    - psz_uri
    argTypes:
    - struct discovery_sys*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 250
    functionName: items_exists
    functionSourceFile: /src/vlc/modules/services_discovery/microdns.c
    functionUses: 0
    functionsReached:
    - vlc_array_item_at_index
    - vlc_array_count
    - vlc_tick_now
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool items_exists( struct discovery_sys *p_sys, const char *psz_uri
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/services_discovery/microdns.c:256,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/services_discovery/microdns.c:257,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/services_discovery/microdns.c:260,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/services_discovery/microdns.c:262,1
    - Dst: services_discovery_RemoveItem
      Src: /src/vlc/modules/services_discovery/microdns.c:266,1
    - Dst: vlc_rd_remove_item
      Src: /src/vlc/modules/services_discovery/microdns.c:268,1
    - Dst: items_release
      Src: /src/vlc/modules/services_discovery/microdns.c:269,1
    - Dst: vlc_array_remove
      Src: /src/vlc/modules/services_discovery/microdns.c:270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - p_sys
    - p_sd
    - p_rd
    argTypes:
    - struct discovery_sys*
    - services_discovery_t*
    - vlc_renderer_discovery_t*
    assertStmts:
    - condition: ( p_rd != NULL || p_sd != NULL )
      pos:
        line_end: 255
        line_start: 255
        source_file: /src/vlc/modules/services_discovery/microdns.c
    constantsTouched: []
    func_position:
      end: 273
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 273
    functionName: items_timeout
    functionSourceFile: /src/vlc/modules/services_discovery/microdns.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - assert
    - services_discovery_RemoveItem
    - vlc_rd_remove_item
    - vlc_array_item_at_index
    - items_release
    - vlc_array_count
    - vlc_array_remove
    linkageType: ''
    returnType: void
    signature: "void items_timeout( struct discovery_sys *p_sys, services_discovery_t
      *p_sd,\n               vlc_renderer_discovery_t *p_rd )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_array_count
      Src: /src/vlc/modules/services_discovery/microdns.c:278,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/services_discovery/microdns.c:280,1
    - Dst: items_release
      Src: /src/vlc/modules/services_discovery/microdns.c:281,1
    - Dst: vlc_array_clear
      Src: /src/vlc/modules/services_discovery/microdns.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - struct discovery_sys*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 284
    functionName: items_clear
    functionSourceFile: /src/vlc/modules/services_discovery/microdns.c
    functionUses: 0
    functionsReached:
    - vlc_array_item_at_index
    - vlc_array_count
    - vlc_array_clear
    - items_release
    linkageType: ''
    returnType: void
    signature: void items_clear( struct discovery_sys *p_sys )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/services_discovery/microdns.c:290,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/microdns.c:291,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/microdns.c:292,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/microdns.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_srvs
    - i_nb_srv
    argTypes:
    - struct srv*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 295
    functionName: clear_srvs
    functionSourceFile: /src/vlc/modules/services_discovery/microdns.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void clear_srvs( struct srv *p_srvs, unsigned int i_nb_srv )
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/services_discovery/microdns.c:313,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/services_discovery/microdns.c:326,1
    - Dst: strrcmp
      Src: /src/vlc/modules/services_discovery/microdns.c:328,1
    - Dst: strndup
      Src: /src/vlc/modules/services_discovery/microdns.c:334,1
    - Dst: strlen
      Src: /src/vlc/modules/services_discovery/microdns.c:334,1
    - Dst: strlen
      Src: /src/vlc/modules/services_discovery/microdns.c:335,1
    - Dst: strcmp
      Src: /src/vlc/modules/services_discovery/microdns.c:360,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/microdns.c:362,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/microdns.c:364,1
    - Dst: strdup
      Src: /src/vlc/modules/services_discovery/microdns.c:365,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/microdns.c:367,1
    - Dst: atoi
      Src: /src/vlc/modules/services_discovery/microdns.c:369,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/microdns.c:380,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/microdns.c:382,1
    - Dst: strdup
      Src: /src/vlc/modules/services_discovery/microdns.c:383,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/microdns.c:385,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/microdns.c:387,1
    - Dst: strdup
      Src: /src/vlc/modules/services_discovery/microdns.c:388,1
    - Dst: clear_srvs
      Src: /src/vlc/modules/services_discovery/microdns.c:396,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 67
    argCount: 6
    argNames:
    - p_entries
    - b_renderer
    - pp_srvs
    - p_nb_srv
    - ppsz_ip
    - p_ipv6
    argTypes:
    - struct rr_entry*
    - bool
    - struct srv**
    - unsigned int*
    - char**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 404
    functionName: parse_entries
    functionSourceFile: /src/vlc/modules/services_discovery/microdns.c
    functionUses: 0
    functionsReached:
    - strndup
    - atoi
    - strdup
    - ARRAY_SIZE
    - strlen
    - clear_srvs
    - calloc
    - strcmp
    - strncmp
    - free
    - strrcmp
    linkageType: ''
    returnType: int
    signature: "int parse_entries( const struct rr_entry *p_entries, bool b_renderer,\n
      \              struct srv **pp_srvs, unsigned int *p_nb_srv,\n               const
      char **ppsz_ip, bool *p_ipv6 )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/microdns.c:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - psz_protocol
    - psz_ip
    - b_ipv6
    - i_port
    argTypes:
    - char*
    - char*
    - bool
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 415
    functionName: create_uri
    functionSourceFile: /src/vlc/modules/services_discovery/microdns.c
    functionUses: 0
    functionsReached:
    - asprintf
    linkageType: ''
    returnType: char
    signature: "char *\ncreate_uri( const char *psz_protocol, const char *psz_ip,
      bool b_ipv6,\n            uint16_t i_port )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: print_error
      Src: /src/vlc/modules/services_discovery/microdns.c:424,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/services_discovery/microdns.c:424,1
    - Dst: parse_entries
      Src: /src/vlc/modules/services_discovery/microdns.c:432,1
    - Dst: create_uri
      Src: /src/vlc/modules/services_discovery/microdns.c:440,1
    - Dst: items_exists
      Src: /src/vlc/modules/services_discovery/microdns.c:446,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/microdns.c:448,1
    - Dst: items_add_input
      Src: /src/vlc/modules/services_discovery/microdns.c:451,1
    - Dst: clear_srvs
      Src: /src/vlc/modules/services_discovery/microdns.c:454,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - p_this
    - i_status
    - p_entries
    argTypes:
    - void*
    - int
    - struct rr_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 417
    functionDepth: 3
    functionLinenumber: 417
    functionLinenumberEnd: 455
    functionName: new_entries_sd_cb
    functionSourceFile: /src/vlc/modules/services_discovery/microdns.c
    functionUses: 0
    functionsReached:
    - items_add_input
    - clear_srvs
    - free
    - print_error
    - parse_entries
    - VLC_OBJECT
    - items_exists
    - create_uri
    linkageType: ''
    returnType: void
    signature: void new_entries_sd_cb( void *p_this, int i_status, const struct rr_entry
      *p_entries )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/vlc/modules/services_discovery/microdns.c:464,1
    - Dst: items_timeout
      Src: /src/vlc/modules/services_discovery/microdns.c:468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 458
    functionDepth: 3
    functionLinenumber: 458
    functionLinenumberEnd: 471
    functionName: stop_sd_cb
    functionSourceFile: /src/vlc/modules/services_discovery/microdns.c
    functionUses: 0
    functionsReached:
    - items_timeout
    - atomic_load
    linkageType: ''
    returnType: bool
    signature: bool stop_sd_cb( void *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/services_discovery/microdns.c:476,1
    - Dst: mdns_listen
      Src: /src/vlc/modules/services_discovery/microdns.c:481,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/services_discovery/microdns.c:484,1
    - Dst: print_error
      Src: /src/vlc/modules/services_discovery/microdns.c:488,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/services_discovery/microdns.c:488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 491
    functionName: RunSD
    functionSourceFile: /src/vlc/modules/services_discovery/microdns.c
    functionUses: 0
    functionsReached:
    - vlc_thread_set_name
    - SEC_FROM_VLC_TICK
    - mdns_listen
    - print_error
    - VLC_OBJECT
    linkageType: ''
    returnType: void
    signature: 'void *

      RunSD( void *p_this )'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: print_error
      Src: /src/vlc/modules/services_discovery/microdns.c:500,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/services_discovery/microdns.c:500,1
    - Dst: parse_entries
      Src: /src/vlc/modules/services_discovery/microdns.c:508,1
    - Dst: create_uri
      Src: /src/vlc/modules/services_discovery/microdns.c:517,1
    - Dst: items_exists
      Src: /src/vlc/modules/services_discovery/microdns.c:524,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/microdns.c:526,1
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/microdns.c:531,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/microdns.c:534,1
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/microdns.c:540,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/microdns.c:543,1
    - Dst: strcmp
      Src: /src/vlc/modules/services_discovery/microdns.c:548,1
    - Dst: items_add_renderer
      Src: /src/vlc/modules/services_discovery/microdns.c:551,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/microdns.c:554,1
    - Dst: clear_srvs
      Src: /src/vlc/modules/services_discovery/microdns.c:557,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 3
    argNames:
    - p_this
    - i_status
    - p_entries
    argTypes:
    - void*
    - int
    - struct rr_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 493
    functionDepth: 3
    functionLinenumber: 493
    functionLinenumberEnd: 558
    functionName: new_entries_rd_cb
    functionSourceFile: /src/vlc/modules/services_discovery/microdns.c
    functionUses: 0
    functionsReached:
    - items_add_renderer
    - asprintf
    - clear_srvs
    - free
    - print_error
    - strcmp
    - parse_entries
    - VLC_OBJECT
    - items_exists
    - create_uri
    linkageType: ''
    returnType: void
    signature: void new_entries_rd_cb( void *p_this, int i_status, const struct rr_entry
      *p_entries )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/vlc/modules/services_discovery/microdns.c:566,1
    - Dst: items_timeout
      Src: /src/vlc/modules/services_discovery/microdns.c:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 560
    functionDepth: 3
    functionLinenumber: 560
    functionLinenumberEnd: 573
    functionName: stop_rd_cb
    functionSourceFile: /src/vlc/modules/services_discovery/microdns.c
    functionUses: 0
    functionsReached:
    - items_timeout
    - atomic_load
    linkageType: ''
    returnType: bool
    signature: bool stop_rd_cb( void *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/services_discovery/microdns.c:578,1
    - Dst: mdns_listen
      Src: /src/vlc/modules/services_discovery/microdns.c:583,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/services_discovery/microdns.c:586,1
    - Dst: print_error
      Src: /src/vlc/modules/services_discovery/microdns.c:590,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/services_discovery/microdns.c:590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 575
    functionDepth: 2
    functionLinenumber: 575
    functionLinenumberEnd: 593
    functionName: RunRD
    functionSourceFile: /src/vlc/modules/services_discovery/microdns.c
    functionUses: 0
    functionsReached:
    - vlc_thread_set_name
    - SEC_FROM_VLC_TICK
    - mdns_listen
    - print_error
    - VLC_OBJECT
    linkageType: ''
    returnType: void
    signature: 'void *

      RunRD( void *p_this )'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: atomic_init
      Src: /src/vlc/modules/services_discovery/microdns.c:599,1
    - Dst: vlc_array_init
      Src: /src/vlc/modules/services_discovery/microdns.c:600,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/services_discovery/microdns.c:603,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/microdns.c:612,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/microdns.c:616,1
    - Dst: mdns_init
      Src: /src/vlc/modules/services_discovery/microdns.c:620,1
    - Dst: print_error
      Src: /src/vlc/modules/services_discovery/microdns.c:623,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/services_discovery/microdns.c:627,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/microdns.c:629,1
    - Dst: mdns_destroy
      Src: /src/vlc/modules/services_discovery/microdns.c:636,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/microdns.c:637,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - p_obj
    - p_sys
    - b_renderer
    argTypes:
    - vlc_object_t*
    - struct discovery_sys*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 595
    functionDepth: 2
    functionLinenumber: 595
    functionLinenumberEnd: 639
    functionName: OpenCommon
    functionSourceFile: /src/vlc/modules/services_discovery/microdns.c
    functionUses: 8
    functionsReached:
    - atomic_init
    - ARRAY_SIZE
    - vlc_clone
    - vlc_array_init
    - msg_Err
    - mdns_destroy
    - print_error
    - mdns_init
    - free
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int OpenCommon( vlc_object_t *p_obj, struct discovery_sys *p_sys, bool
      b_renderer )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/vlc/modules/services_discovery/microdns.c:644,1
    - Dst: vlc_join
      Src: /src/vlc/modules/services_discovery/microdns.c:645,1
    - Dst: items_clear
      Src: /src/vlc/modules/services_discovery/microdns.c:647,1
    - Dst: mdns_destroy
      Src: /src/vlc/modules/services_discovery/microdns.c:648,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/microdns.c:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - struct discovery_sys*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 641
    functionDepth: 3
    functionLinenumber: 641
    functionLinenumberEnd: 650
    functionName: CleanCommon
    functionSourceFile: /src/vlc/modules/services_discovery/microdns.c
    functionUses: 0
    functionsReached:
    - items_clear
    - mdns_destroy
    - atomic_store
    - free
    - vlc_join
    linkageType: ''
    returnType: void
    signature: void CleanCommon( struct discovery_sys *p_sys )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/services_discovery/microdns.c:657,1
    - Dst: _
      Src: /src/vlc/modules/services_discovery/microdns.c:662,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/services_discovery/microdns.c:663,1
    - Dst: OpenCommon
      Src: /src/vlc/modules/services_discovery/microdns.c:665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 666
    functionName: OpenSD
    functionSourceFile: /src/vlc/modules/services_discovery/microdns.c
    functionUses: 0
    functionsReached:
    - calloc
    - OpenCommon
    - _
    - config_ChainParse
    linkageType: ''
    returnType: int
    signature: int OpenSD( vlc_object_t *p_obj )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CleanCommon
      Src: /src/vlc/modules/services_discovery/microdns.c:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 668
    functionDepth: 4
    functionLinenumber: 668
    functionLinenumberEnd: 675
    functionName: CloseSD
    functionSourceFile: /src/vlc/modules/services_discovery/microdns.c
    functionUses: 0
    functionsReached:
    - CleanCommon
    linkageType: ''
    returnType: void
    signature: void CloseSD( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/services_discovery/microdns.c:682,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/services_discovery/microdns.c:687,1
    - Dst: OpenCommon
      Src: /src/vlc/modules/services_discovery/microdns.c:689,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 690
    functionName: OpenRD
    functionSourceFile: /src/vlc/modules/services_discovery/microdns.c
    functionUses: 0
    functionsReached:
    - calloc
    - OpenCommon
    - config_ChainParse
    linkageType: ''
    returnType: int
    signature: int OpenRD( vlc_object_t *p_obj )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CleanCommon
      Src: /src/vlc/modules/services_discovery/microdns.c:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 692
    functionDepth: 4
    functionLinenumber: 692
    functionLinenumberEnd: 699
    functionName: CloseRD
    functionSourceFile: /src/vlc/modules/services_discovery/microdns.c
    functionUses: 0
    functionsReached:
    - CleanCommon
    linkageType: ''
    returnType: void
    signature: void CloseRD( vlc_object_t *p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/services_discovery/udisks.c:87,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/udisks.c:88,1
    - Dst: sd_bus_slot_unref
      Src: /src/vlc/modules/services_discovery/udisks.c:91,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/udisks.c:92,1
    - Dst: services_discovery_RemoveItem
      Src: /src/vlc/modules/services_discovery/udisks.c:95,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/udisks.c:96,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/udisks.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - sd
    - info
    argTypes:
    - services_discovery_t*
    - struct device_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 99
    functionName: release_device_info
    functionSourceFile: /src/vlc/modules/services_discovery/udisks.c
    functionUses: 0
    functionsReached:
    - free
    - services_discovery_RemoveItem
    - input_item_Release
    - sd_bus_slot_unref
    linkageType: ''
    returnType: void
    signature: void release_device_info(services_discovery_t *sd, struct device_info*
      info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stdc_bit_width
      Src: /src/vlc/modules/services_discovery/udisks.c:106,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/services_discovery/udisks.c:108,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/services_discovery/udisks.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - i
    argTypes:
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 113
    functionName: human
    functionSourceFile: /src/vlc/modules/services_discovery/udisks.c
    functionUses: 0
    functionsReached:
    - stdc_bit_width
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int human(uint64_t *i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/vlc/modules/services_discovery/udisks.c:120,1
    - Dst: _
      Src: /src/vlc/modules/services_discovery/udisks.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - drive_label
    - removable
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: print_label
    functionSourceFile: /src/vlc/modules/services_discovery/udisks.c
    functionUses: 0
    functionsReached:
    - _
    linkageType: ''
    returnType: char
    signature: char *print_label(const char *drive_label, bool removable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_path2uri
      Src: /src/vlc/modules/services_discovery/udisks.c:131,1
    - Dst: human
      Src: /src/vlc/modules/services_discovery/udisks.c:135,1
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/udisks.c:136,1
    - Dst: print_label
      Src: /src/vlc/modules/services_discovery/udisks.c:136,1
    - Dst: vlc_gettext
      Src: /src/vlc/modules/services_discovery/udisks.c:136,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/udisks.c:139,1
    - Dst: input_item_NewDirectory
      Src: /src/vlc/modules/services_discovery/udisks.c:142,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/udisks.c:143,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/udisks.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - drive_label
    - path
    - size
    - removable
    argTypes:
    - char*
    - char*
    - uint64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 146
    functionName: input_item_NewDrive
    functionSourceFile: /src/vlc/modules/services_discovery/udisks.c
    functionUses: 0
    functionsReached:
    - asprintf
    - vlc_path2uri
    - vlc_gettext
    - print_label
    - free
    - input_item_NewDirectory
    - human
    linkageType: ''
    returnType: input_item_t
    signature: input_item_t *input_item_NewDrive(const char *drive_label, const char
      *path, uint64_t size, bool removable)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/services_discovery/udisks.c:150,1
    - Dst: sd_bus_message_read
      Src: /src/vlc/modules/services_discovery/udisks.c:157,1
    - Dst: strcmp
      Src: /src/vlc/modules/services_discovery/udisks.c:160,1
    - Dst: sd_bus_message_enter_container
      Src: /src/vlc/modules/services_discovery/udisks.c:168,1
    - Dst: sd_bus_message_enter_container
      Src: /src/vlc/modules/services_discovery/udisks.c:173,1
    - Dst: sd_bus_message_read
      Src: /src/vlc/modules/services_discovery/udisks.c:176,1
    - Dst: strcmp
      Src: /src/vlc/modules/services_discovery/udisks.c:181,1
    - Dst: sd_bus_message_enter_container
      Src: /src/vlc/modules/services_discovery/udisks.c:184,1
    - Dst: sd_bus_message_enter_container
      Src: /src/vlc/modules/services_discovery/udisks.c:187,1
    - Dst: sd_bus_message_read_array
      Src: /src/vlc/modules/services_discovery/udisks.c:191,1
    - Dst: vlc_dictionary_value_for_key
      Src: /src/vlc/modules/services_discovery/udisks.c:195,1
    - Dst: input_item_NewDrive
      Src: /src/vlc/modules/services_discovery/udisks.c:200,1
    - Dst: services_discovery_AddItem
      Src: /src/vlc/modules/services_discovery/udisks.c:201,1
    - Dst: services_discovery_RemoveItem
      Src: /src/vlc/modules/services_discovery/udisks.c:204,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 3
    argNames:
    - m
    - userdata
    - err
    argTypes:
    - sd_bus_message*
    - void*
    - sd_bus_error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 206
    functionName: fs_properties_changed
    functionSourceFile: /src/vlc/modules/services_discovery/udisks.c
    functionUses: 0
    functionsReached:
    - vlc_dictionary_value_for_key
    - services_discovery_RemoveItem
    - services_discovery_AddItem
    - sd_bus_message_enter_container
    - strcmp
    - input_item_NewDrive
    - sd_bus_message_read
    - sd_bus_message_read_array
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int fs_properties_changed(sd_bus_message *m, void *userdata, sd_bus_error
      *err)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: sd_bus_get_property_trivial
      Src: /src/vlc/modules/services_discovery/udisks.c:224,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/udisks.c:229,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/udisks.c:234,1
    - Dst: sd_bus_error_free
      Src: /src/vlc/modules/services_discovery/udisks.c:237,1
    - Dst: sd_bus_get_property
      Src: /src/vlc/modules/services_discovery/udisks.c:240,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/udisks.c:246,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/udisks.c:251,1
    - Dst: sd_bus_message_enter_container
      Src: /src/vlc/modules/services_discovery/udisks.c:255,1
    - Dst: sd_bus_message_read_array
      Src: /src/vlc/modules/services_discovery/udisks.c:260,1
    - Dst: calloc
      Src: /src/vlc/modules/services_discovery/udisks.c:265,1
    - Dst: malloc
      Src: /src/vlc/modules/services_discovery/udisks.c:269,1
    - Dst: strdup
      Src: /src/vlc/modules/services_discovery/udisks.c:274,1
    - Dst: sd_bus_match_signal
      Src: /src/vlc/modules/services_discovery/udisks.c:279,1
    - Dst: sd_bus_get_property_trivial
      Src: /src/vlc/modules/services_discovery/udisks.c:286,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/udisks.c:292,1
    - Dst: sd_bus_get_property
      Src: /src/vlc/modules/services_discovery/udisks.c:296,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/udisks.c:301,1
    - Dst: sd_bus_message_read
      Src: /src/vlc/modules/services_discovery/udisks.c:305,1
    - Dst: strcmp
      Src: /src/vlc/modules/services_discovery/udisks.c:309,1
    - Dst: sd_bus_get_property_trivial
      Src: /src/vlc/modules/services_discovery/udisks.c:311,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/udisks.c:317,1
    - Dst: sd_bus_get_property_string
      Src: /src/vlc/modules/services_discovery/udisks.c:322,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/udisks.c:328,1
    - Dst: input_item_NewDrive
      Src: /src/vlc/modules/services_discovery/udisks.c:334,1
    - Dst: sd_bus_message_unref
      Src: /src/vlc/modules/services_discovery/udisks.c:338,1
    - Dst: sd_bus_error_free
      Src: /src/vlc/modules/services_discovery/udisks.c:339,1
    - Dst: sd_bus_error_free
      Src: /src/vlc/modules/services_discovery/udisks.c:345,1
    - Dst: sd_bus_message_unref
      Src: /src/vlc/modules/services_discovery/udisks.c:347,1
    - Dst: sd_bus_message_unref
      Src: /src/vlc/modules/services_discovery/udisks.c:349,1
    - Dst: release_device_info
      Src: /src/vlc/modules/services_discovery/udisks.c:351,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 105
    argCount: 3
    argNames:
    - sd
    - block_path
    - info_ret
    argTypes:
    - services_discovery_t*
    - char*
    - struct device_info**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 208
    functionDepth: 3
    functionLinenumber: 208
    functionLinenumberEnd: 353
    functionName: get_info_from_block_device
    functionSourceFile: /src/vlc/modules/services_discovery/udisks.c
    functionUses: 0
    functionsReached:
    - strdup
    - sd_bus_get_property_trivial
    - sd_bus_message_enter_container
    - sd_bus_get_property_string
    - msg_Err
    - calloc
    - malloc
    - strcmp
    - release_device_info
    - msg_Dbg
    - sd_bus_match_signal
    - sd_bus_error_free
    - sd_bus_get_property
    - input_item_NewDrive
    - sd_bus_message_unref
    - sd_bus_message_read_array
    - sd_bus_message_read
    linkageType: ''
    returnType: int
    signature: int get_info_from_block_device(services_discovery_t *sd, const char
      *block_path, struct device_info **info_ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: release_device_info
      Src: /src/vlc/modules/services_discovery/udisks.c:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - p_value
    - p_obj
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 361
    functionName: FreeEntries
    functionSourceFile: /src/vlc/modules/services_discovery/udisks.c
    functionUses: 0
    functionsReached:
    - release_device_info
    linkageType: ''
    returnType: void
    signature: void FreeEntries(void *p_value, void *p_obj)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/services_discovery/udisks.c:365,1
    - Dst: sd_bus_message_read
      Src: /src/vlc/modules/services_discovery/udisks.c:371,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/udisks.c:374,1
    - Dst: strlen
      Src: /src/vlc/modules/services_discovery/udisks.c:374,1
    - Dst: get_info_from_block_device
      Src: /src/vlc/modules/services_discovery/udisks.c:376,1
    - Dst: release_device_info
      Src: /src/vlc/modules/services_discovery/udisks.c:380,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/services_discovery/udisks.c:385,1
    - Dst: services_discovery_AddItem
      Src: /src/vlc/modules/services_discovery/udisks.c:387,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - m
    - userdata
    - ret_error
    argTypes:
    - sd_bus_message*
    - void*
    - sd_bus_error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 363
    functionDepth: 4
    functionLinenumber: 363
    functionLinenumberEnd: 389
    functionName: interfaces_added_cb
    functionSourceFile: /src/vlc/modules/services_discovery/udisks.c
    functionUses: 0
    functionsReached:
    - services_discovery_AddItem
    - strlen
    - strncmp
    - get_info_from_block_device
    - vlc_dictionary_insert
    - release_device_info
    - sd_bus_message_read
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int interfaces_added_cb(sd_bus_message *m, void *userdata, sd_bus_error
      *ret_error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/services_discovery/udisks.c:393,1
    - Dst: sd_bus_message_read
      Src: /src/vlc/modules/services_discovery/udisks.c:398,1
    - Dst: strncmp
      Src: /src/vlc/modules/services_discovery/udisks.c:401,1
    - Dst: strlen
      Src: /src/vlc/modules/services_discovery/udisks.c:401,1
    - Dst: vlc_dictionary_value_for_key
      Src: /src/vlc/modules/services_discovery/udisks.c:403,1
    - Dst: vlc_dictionary_remove_value_for_key
      Src: /src/vlc/modules/services_discovery/udisks.c:406,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - m
    - userdata
    - ret_error
    argTypes:
    - sd_bus_message*
    - void*
    - sd_bus_error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 408
    functionName: interfaces_removed_cb
    functionSourceFile: /src/vlc/modules/services_discovery/udisks.c
    functionUses: 0
    functionsReached:
    - vlc_dictionary_value_for_key
    - strlen
    - strncmp
    - vlc_dictionary_remove_value_for_key
    - sd_bus_message_read
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int interfaces_removed_cb(sd_bus_message *m, void *userdata, sd_bus_error
      *ret_error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/services_discovery/udisks.c:413,1
    - Dst: sd_bus_match_signal
      Src: /src/vlc/modules/services_discovery/udisks.c:418,1
    - Dst: sd_bus_match_signal
      Src: /src/vlc/modules/services_discovery/udisks.c:427,1
    - Dst: sd_bus_slot_unref
      Src: /src/vlc/modules/services_discovery/udisks.c:433,1
    - Dst: sd_bus_get_fd
      Src: /src/vlc/modules/services_discovery/udisks.c:439,1
    - Dst: sd_bus_get_events
      Src: /src/vlc/modules/services_discovery/udisks.c:440,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/services_discovery/udisks.c:444,1
    - Dst: poll
      Src: /src/vlc/modules/services_discovery/udisks.c:446,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/services_discovery/udisks.c:448,1
    - Dst: sd_bus_process
      Src: /src/vlc/modules/services_discovery/udisks.c:451,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/udisks.c:454,1
    - Dst: sd_bus_message_unref
      Src: /src/vlc/modules/services_discovery/udisks.c:457,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 461
    functionName: Run
    functionSourceFile: /src/vlc/modules/services_discovery/udisks.c
    functionUses: 8
    functionsReached:
    - sd_bus_get_events
    - vlc_restorecancel
    - poll
    - sd_bus_process
    - sd_bus_get_fd
    - msg_Err
    - sd_bus_match_signal
    - sd_bus_slot_unref
    - vlc_savecancel
    - sd_bus_message_unref
    linkageType: ''
    returnType: void
    signature: void *Run(void *p_obj)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/services_discovery/udisks.c:466,1
    - Dst: _
      Src: /src/vlc/modules/services_discovery/udisks.c:472,1
    - Dst: vlc_dictionary_init
      Src: /src/vlc/modules/services_discovery/udisks.c:473,1
    - Dst: sd_bus_open_system
      Src: /src/vlc/modules/services_discovery/udisks.c:479,1
    - Dst: sd_bus_call_method
      Src: /src/vlc/modules/services_discovery/udisks.c:484,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/udisks.c:489,1
    - Dst: sd_bus_message_enter_container
      Src: /src/vlc/modules/services_discovery/udisks.c:493,1
    - Dst: sd_bus_message_read
      Src: /src/vlc/modules/services_discovery/udisks.c:498,1
    - Dst: get_info_from_block_device
      Src: /src/vlc/modules/services_discovery/udisks.c:503,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/services_discovery/udisks.c:508,1
    - Dst: services_discovery_AddItem
      Src: /src/vlc/modules/services_discovery/udisks.c:510,1
    - Dst: sd_bus_message_unref
      Src: /src/vlc/modules/services_discovery/udisks.c:512,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/services_discovery/udisks.c:514,1
    - Dst: sd_bus_error_free
      Src: /src/vlc/modules/services_discovery/udisks.c:516,1
    - Dst: release_device_info
      Src: /src/vlc/modules/services_discovery/udisks.c:520,1
    - Dst: vlc_dictionary_clear
      Src: /src/vlc/modules/services_discovery/udisks.c:521,1
    - Dst: sd_bus_flush
      Src: /src/vlc/modules/services_discovery/udisks.c:524,1
    - Dst: sd_bus_close
      Src: /src/vlc/modules/services_discovery/udisks.c:525,1
    - Dst: sd_bus_unref
      Src: /src/vlc/modules/services_discovery/udisks.c:526,1
    - Dst: sd_bus_error_free
      Src: /src/vlc/modules/services_discovery/udisks.c:528,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 463
    functionDepth: 4
    functionLinenumber: 463
    functionLinenumberEnd: 530
    functionName: Open
    functionSourceFile: /src/vlc/modules/services_discovery/udisks.c
    functionUses: 43
    functionsReached:
    - sd_bus_unref
    - vlc_dictionary_init
    - get_info_from_block_device
    - release_device_info
    - sd_bus_message_unref
    - vlc_obj_calloc
    - sd_bus_message_read
    - sd_bus_flush
    - services_discovery_AddItem
    - sd_bus_close
    - _
    - msg_Err
    - sd_bus_error_free
    - sd_bus_open_system
    - vlc_dictionary_clear
    - sd_bus_message_enter_container
    - sd_bus_call_method
    - vlc_clone
    - vlc_dictionary_insert
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *p_obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sd_bus_flush
      Src: /src/vlc/modules/services_discovery/udisks.c:536,1
    - Dst: vlc_cancel
      Src: /src/vlc/modules/services_discovery/udisks.c:537,1
    - Dst: vlc_join
      Src: /src/vlc/modules/services_discovery/udisks.c:538,1
    - Dst: sd_bus_close
      Src: /src/vlc/modules/services_discovery/udisks.c:539,1
    - Dst: sd_bus_slot_unref
      Src: /src/vlc/modules/services_discovery/udisks.c:540,1
    - Dst: sd_bus_slot_unref
      Src: /src/vlc/modules/services_discovery/udisks.c:541,1
    - Dst: sd_bus_unref
      Src: /src/vlc/modules/services_discovery/udisks.c:542,1
    - Dst: vlc_dictionary_clear
      Src: /src/vlc/modules/services_discovery/udisks.c:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 544
    functionName: Close
    functionSourceFile: /src/vlc/modules/services_discovery/udisks.c
    functionUses: 130
    functionsReached:
    - sd_bus_unref
    - sd_bus_flush
    - vlc_dictionary_clear
    - sd_bus_close
    - vlc_cancel
    - vlc_join
    - sd_bus_slot_unref
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *p_obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: services_discovery_RemoveItem
      Src: /src/vlc/modules/services_discovery/pipewire.c:65,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/pipewire.c:66,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/pipewire.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: DestroySource
    functionSourceFile: /src/vlc/modules/services_discovery/pipewire.c
    functionUses: 1
    functionsReached:
    - input_item_Release
    - services_discovery_RemoveItem
    - free
    linkageType: ''
    returnType: void
    signature: void DestroySource (void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: services_discovery_RemoveItem
      Src: /src/vlc/modules/services_discovery/pipewire.c:74,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/pipewire.c:75,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/pipewire.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: DestroyCard
    functionSourceFile: /src/vlc/modules/services_discovery/pipewire.c
    functionUses: 0
    functionsReached:
    - input_item_Release
    - services_discovery_RemoveItem
    - free
    linkageType: ''
    returnType: void
    signature: void DestroyCard(void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: node_by_id
    functionSourceFile: /src/vlc/modules/services_discovery/pipewire.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int node_by_id(const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/services_discovery/pipewire.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: cmpcard
    functionSourceFile: /src/vlc/modules/services_discovery/pipewire.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int cmpcard (const void *a, const void *b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: spa_dict_lookup
      Src: /src/vlc/modules/services_discovery/pipewire.c:103,1
    - Dst: unlikely
      Src: /src/vlc/modules/services_discovery/pipewire.c:104,1
    - Dst: N_
      Src: /src/vlc/modules/services_discovery/pipewire.c:105,1
    - Dst: malloc
      Src: /src/vlc/modules/services_discovery/pipewire.c:107,1
    - Dst: strlen
      Src: /src/vlc/modules/services_discovery/pipewire.c:107,1
    - Dst: unlikely
      Src: /src/vlc/modules/services_discovery/pipewire.c:108,1
    - Dst: strcpy
      Src: /src/vlc/modules/services_discovery/pipewire.c:110,1
    - Dst: tsearch
      Src: /src/vlc/modules/services_discovery/pipewire.c:112,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/pipewire.c:115,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/pipewire.c:120,1
    - Dst: assert
      Src: /src/vlc/modules/services_discovery/pipewire.c:122,1
    - Dst: input_item_NewExt
      Src: /src/vlc/modules/services_discovery/pipewire.c:126,1
    - Dst: unlikely
      Src: /src/vlc/modules/services_discovery/pipewire.c:130,1
    - Dst: tdelete
      Src: /src/vlc/modules/services_discovery/pipewire.c:132,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/pipewire.c:133,1
    - Dst: services_discovery_AddItem
      Src: /src/vlc/modules/services_discovery/pipewire.c:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - sd
    - props
    argTypes:
    - services_discovery_t*
    - struct spa_dict*
    assertStmts:
    - condition: (c->item != NULL)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/vlc/modules/services_discovery/pipewire.c
    constantsTouched: []
    func_position:
      end: 140
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 140
    functionName: AddCard
    functionSourceFile: /src/vlc/modules/services_discovery/pipewire.c
    functionUses: 1
    functionsReached:
    - assert
    - services_discovery_AddItem
    - strlen
    - N_
    - free
    - strcpy
    - tsearch
    - tdelete
    - unlikely
    - malloc
    - spa_dict_lookup
    - input_item_NewExt
    linkageType: ''
    returnType: input_item_t
    signature: input_item_t *AddCard (services_discovery_t *sd, const struct spa_dict
      *props)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: spa_dict_lookup
      Src: /src/vlc/modules/services_discovery/pipewire.c:152,1
    - Dst: strstr
      Src: /src/vlc/modules/services_discovery/pipewire.c:156,1
    - Dst: spa_atou64
      Src: /src/vlc/modules/services_discovery/pipewire.c:159,1
    - Dst: spa_dict_lookup
      Src: /src/vlc/modules/services_discovery/pipewire.c:159,1
    - Dst: spa_dict_lookup
      Src: /src/vlc/modules/services_discovery/pipewire.c:162,1
    - Dst: unlikely
      Src: /src/vlc/modules/services_discovery/pipewire.c:163,1
    - Dst: unlikely
      Src: /src/vlc/modules/services_discovery/pipewire.c:166,1
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/pipewire.c:166,1
    - Dst: spa_dict_lookup
      Src: /src/vlc/modules/services_discovery/pipewire.c:169,1
    - Dst: unlikely
      Src: /src/vlc/modules/services_discovery/pipewire.c:170,1
    - Dst: vlc_pw_debug
      Src: /src/vlc/modules/services_discovery/pipewire.c:173,1
    - Dst: input_item_NewCard
      Src: /src/vlc/modules/services_discovery/pipewire.c:174,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/pipewire.c:175,1
    - Dst: unlikely
      Src: /src/vlc/modules/services_discovery/pipewire.c:176,1
    - Dst: malloc
      Src: /src/vlc/modules/services_discovery/pipewire.c:179,1
    - Dst: unlikely
      Src: /src/vlc/modules/services_discovery/pipewire.c:180,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/pipewire.c:182,1
    - Dst: tsearch
      Src: /src/vlc/modules/services_discovery/pipewire.c:190,1
    - Dst: unlikely
      Src: /src/vlc/modules/services_discovery/pipewire.c:191,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/pipewire.c:193,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/pipewire.c:194,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/pipewire.c:199,1
    - Dst: input_item_SetURI
      Src: /src/vlc/modules/services_discovery/pipewire.c:201,1
    - Dst: input_item_SetName
      Src: /src/vlc/modules/services_discovery/pipewire.c:202,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/pipewire.c:203,1
    - Dst: AddCard
      Src: /src/vlc/modules/services_discovery/pipewire.c:207,1
    - Dst: services_discovery_AddSubItem
      Src: /src/vlc/modules/services_discovery/pipewire.c:208,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 5
    argNames:
    - sd
    - id
    - perms
    - version
    - props
    argTypes:
    - services_discovery_t*
    - uint32_t
    - uint32_t
    - uint32_t
    - struct spa_dict*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 211
    functionName: registry_node
    functionSourceFile: /src/vlc/modules/services_discovery/pipewire.c
    functionUses: 0
    functionsReached:
    - asprintf
    - input_item_SetURI
    - input_item_Release
    - input_item_NewCard
    - input_item_SetName
    - vlc_pw_debug
    - free
    - tsearch
    - AddCard
    - strstr
    - spa_atou64
    - unlikely
    - malloc
    - spa_dict_lookup
    - services_discovery_AddSubItem
    linkageType: ''
    returnType: void
    signature: "void registry_node(services_discovery_t *sd, uint32_t id, uint32_t
      perms,\n                          uint32_t version, const struct spa_dict *props)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/services_discovery/pipewire.c:225,1
    - Dst: registry_node
      Src: /src/vlc/modules/services_discovery/pipewire.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 6
    argNames:
    - data
    - id
    - perms
    - name
    - version
    - props
    argTypes:
    - void*
    - uint32_t
    - uint32_t
    - char*
    - uint32_t
    - struct spa_dict*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 227
    functionName: registry_global
    functionSourceFile: /src/vlc/modules/services_discovery/pipewire.c
    functionUses: 0
    functionsReached:
    - strcmp
    - registry_node
    linkageType: ''
    returnType: void
    signature: "void registry_global(void *data, uint32_t id, uint32_t perms,\n                            const
      char *name, uint32_t version,\n                            const struct spa_dict
      *props)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tfind
      Src: /src/vlc/modules/services_discovery/pipewire.c:239,1
    - Dst: tdelete
      Src: /src/vlc/modules/services_discovery/pipewire.c:244,1
    - Dst: DestroySource
      Src: /src/vlc/modules/services_discovery/pipewire.c:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - id
    argTypes:
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 246
    functionName: registry_global_remove
    functionSourceFile: /src/vlc/modules/services_discovery/pipewire.c
    functionUses: 0
    functionsReached:
    - tfind
    - tdelete
    - DestroySource
    linkageType: ''
    returnType: void
    signature: void registry_global_remove(void *data, uint32_t id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/services_discovery/pipewire.c:258,1
    - Dst: unlikely
      Src: /src/vlc/modules/services_discovery/pipewire.c:259,1
    - Dst: vlc_pw_connect
      Src: /src/vlc/modules/services_discovery/pipewire.c:262,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/pipewire.c:265,1
    - Dst: _
      Src: /src/vlc/modules/services_discovery/pipewire.c:270,1
    - Dst: vlc_pw_lock
      Src: /src/vlc/modules/services_discovery/pipewire.c:275,1
    - Dst: vlc_pw_registry_listen
      Src: /src/vlc/modules/services_discovery/pipewire.c:277,1
    - Dst: vlc_pw_roundtrip_unlocked
      Src: /src/vlc/modules/services_discovery/pipewire.c:278,1
    - Dst: vlc_pw_unlock
      Src: /src/vlc/modules/services_discovery/pipewire.c:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 281
    functionName: Open
    functionSourceFile: /src/vlc/modules/services_discovery/pipewire.c
    functionUses: 43
    functionsReached:
    - vlc_pw_connect
    - vlc_pw_lock
    - _
    - vlc_pw_unlock
    - free
    - vlc_pw_roundtrip_unlocked
    - unlikely
    - malloc
    - vlc_pw_registry_listen
    linkageType: ''
    returnType: int
    signature: int Open (vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_pw_disconnect
      Src: /src/vlc/modules/services_discovery/pipewire.c:288,1
    - Dst: tdestroy
      Src: /src/vlc/modules/services_discovery/pipewire.c:289,1
    - Dst: tdestroy
      Src: /src/vlc/modules/services_discovery/pipewire.c:290,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/pipewire.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 292
    functionName: Close
    functionSourceFile: /src/vlc/modules/services_discovery/pipewire.c
    functionUses: 130
    functionsReached:
    - free
    - vlc_pw_disconnect
    - tdestroy
    linkageType: ''
    returnType: void
    signature: void Close (vlc_object_t *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetVolumeInformationA
      Src: /src/vlc/modules/services_discovery/winvolumes.c:65,1
    - Dst: GetDriveTypeA
      Src: /src/vlc/modules/services_discovery/winvolumes.c:69,1
    - Dst: input_item_NewDisc
      Src: /src/vlc/modules/services_discovery/winvolumes.c:70,1
    - Dst: input_item_NewDirectory
      Src: /src/vlc/modules/services_discovery/winvolumes.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - letter
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: CreateInput
    functionSourceFile: /src/vlc/modules/services_discovery/winvolumes.c
    functionUses: 0
    functionsReached:
    - GetDriveTypeA
    - input_item_NewDirectory
    - GetVolumeInformationA
    - input_item_NewDisc
    linkageType: ''
    returnType: input_item_t
    signature: input_item_t *CreateInput( const char letter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleHandle
      Src: /src/vlc/modules/services_discovery/winvolumes.c:88,1
    - Dst: RegisterClassExA
      Src: /src/vlc/modules/services_discovery/winvolumes.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - class_name
    - proc
    argTypes:
    - char*
    - WNDPROC
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 94
    functionName: RegisterWindowClass
    functionSourceFile: /src/vlc/modules/services_discovery/winvolumes.c
    functionUses: 0
    functionsReached:
    - RegisterClassExA
    - GetModuleHandle
    linkageType: ''
    returnType: ATOM
    signature: ATOM RegisterWindowClass( const char *class_name, WNDPROC proc )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateWindowA
      Src: /src/vlc/modules/services_discovery/winvolumes.c:105,1
    - Dst: GetModuleHandle
      Src: /src/vlc/modules/services_discovery/winvolumes.c:107,1
    - Dst: ShowWindow
      Src: /src/vlc/modules/services_discovery/winvolumes.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - class_name
    - ctx
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: StartWindow
    functionSourceFile: /src/vlc/modules/services_discovery/winvolumes.c
    functionUses: 0
    functionsReached:
    - GetModuleHandle
    - ShowWindow
    - CreateWindowA
    linkageType: ''
    returnType: HWND
    signature: HWND StartWindow(const char *class_name, void *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CreateInput
      Src: /src/vlc/modules/services_discovery/winvolumes.c:127,1
    - Dst: unlikely
      Src: /src/vlc/modules/services_discovery/winvolumes.c:128,1
    - Dst: services_discovery_RemoveItem
      Src: /src/vlc/modules/services_discovery/winvolumes.c:132,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/winvolumes.c:133,1
    - Dst: services_discovery_AddItem
      Src: /src/vlc/modules/services_discovery/winvolumes.c:139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - p_sd
    - disk_mask
    argTypes:
    - services_discovery_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 143
    functionName: Add
    functionSourceFile: /src/vlc/modules/services_discovery/winvolumes.c
    functionUses: 140
    functionsReached:
    - services_discovery_RemoveItem
    - services_discovery_AddItem
    - input_item_Release
    - CreateInput
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Add( services_discovery_t *p_sd, const uint32_t disk_mask )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: services_discovery_RemoveItem
      Src: /src/vlc/modules/services_discovery/winvolumes.c:158,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/winvolumes.c:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - p_sd
    - disk_mask
    argTypes:
    - services_discovery_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 163
    functionName: Remove
    functionSourceFile: /src/vlc/modules/services_discovery/winvolumes.c
    functionUses: 1
    functionsReached:
    - input_item_Release
    - services_discovery_RemoveItem
    linkageType: ''
    returnType: void
    signature: void Remove(services_discovery_t *p_sd, const uint32_t disk_mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetLogicalDrives
      Src: /src/vlc/modules/services_discovery/winvolumes.c:169,1
    - Dst: Add
      Src: /src/vlc/modules/services_discovery/winvolumes.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_sd
    argTypes:
    - services_discovery_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: AddExistingDrives
    functionSourceFile: /src/vlc/modules/services_discovery/winvolumes.c
    functionUses: 0
    functionsReached:
    - Add
    - GetLogicalDrives
    linkageType: ''
    returnType: int
    signature: int AddExistingDrives( services_discovery_t *p_sd )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SetWindowLongPtr
      Src: /src/vlc/modules/services_discovery/winvolumes.c:182,1
    - Dst: GetWindowLongPtr
      Src: /src/vlc/modules/services_discovery/winvolumes.c:196,1
    - Dst: Add
      Src: /src/vlc/modules/services_discovery/winvolumes.c:207,1
    - Dst: Remove
      Src: /src/vlc/modules/services_discovery/winvolumes.c:212,1
    - Dst: PostQuitMessage
      Src: /src/vlc/modules/services_discovery/winvolumes.c:224,1
    - Dst: DefWindowProc
      Src: /src/vlc/modules/services_discovery/winvolumes.c:232,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 4
    argNames:
    - hWnd
    - message
    - wParam
    - lParam
    argTypes:
    - HWND
    - UINT
    - WPARAM
    - LPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 233
    functionName: WndProc
    functionSourceFile: /src/vlc/modules/services_discovery/winvolumes.c
    functionUses: 0
    functionsReached:
    - PostQuitMessage
    - GetWindowLongPtr
    - Add
    - SetWindowLongPtr
    - Remove
    - DefWindowProc
    linkageType: ''
    returnType: LRESULT
    signature: LRESULT WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RegisterWindowClass
      Src: /src/vlc/modules/services_discovery/winvolumes.c:242,1
    - Dst: GetLastError
      Src: /src/vlc/modules/services_discovery/winvolumes.c:243,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/winvolumes.c:247,1
    - Dst: StartWindow
      Src: /src/vlc/modules/services_discovery/winvolumes.c:251,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/winvolumes.c:254,1
    - Dst: GetLastError
      Src: /src/vlc/modules/services_discovery/winvolumes.c:254,1
    - Dst: MsgWaitForMultipleObjects
      Src: /src/vlc/modules/services_discovery/winvolumes.c:262,1
    - Dst: PeekMessage
      Src: /src/vlc/modules/services_discovery/winvolumes.c:275,1
    - Dst: TranslateMessage
      Src: /src/vlc/modules/services_discovery/winvolumes.c:283,1
    - Dst: DispatchMessage
      Src: /src/vlc/modules/services_discovery/winvolumes.c:284,1
    - Dst: DestroyWindow
      Src: /src/vlc/modules/services_discovery/winvolumes.c:294,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 296
    functionName: Run
    functionSourceFile: /src/vlc/modules/services_discovery/winvolumes.c
    functionUses: 8
    functionsReached:
    - StartWindow
    - MsgWaitForMultipleObjects
    - RegisterWindowClass
    - DispatchMessage
    - DestroyWindow
    - PeekMessage
    - msg_Err
    - GetLastError
    - TranslateMessage
    linkageType: ''
    returnType: void
    signature: void *Run(void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/winvolumes.c:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - volumes_observer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 306
    functionName: ReleaseItems
    functionSourceFile: /src/vlc/modules/services_discovery/winvolumes.c
    functionUses: 0
    functionsReached:
    - input_item_Release
    linkageType: ''
    returnType: void
    signature: void ReleaseItems( volumes_observer_t *p_sys )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/services_discovery/winvolumes.c:314,1
    - Dst: _
      Src: /src/vlc/modules/services_discovery/winvolumes.c:319,1
    - Dst: AddExistingDrives
      Src: /src/vlc/modules/services_discovery/winvolumes.c:321,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/winvolumes.c:323,1
    - Dst: CreateEvent
      Src: /src/vlc/modules/services_discovery/winvolumes.c:327,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/winvolumes.c:330,1
    - Dst: GetLastError
      Src: /src/vlc/modules/services_discovery/winvolumes.c:330,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/services_discovery/winvolumes.c:335,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/winvolumes.c:337,1
    - Dst: CloseHandle
      Src: /src/vlc/modules/services_discovery/winvolumes.c:345,1
    - Dst: ReleaseItems
      Src: /src/vlc/modules/services_discovery/winvolumes.c:347,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/winvolumes.c:348,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 350
    functionName: Open
    functionSourceFile: /src/vlc/modules/services_discovery/winvolumes.c
    functionUses: 43
    functionsReached:
    - CloseHandle
    - vlc_clone
    - _
    - ReleaseItems
    - msg_Err
    - calloc
    - GetLastError
    - AddExistingDrives
    - free
    - CreateEvent
    linkageType: ''
    returnType: int
    signature: int Open (vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetEvent
      Src: /src/vlc/modules/services_discovery/winvolumes.c:359,1
    - Dst: vlc_join
      Src: /src/vlc/modules/services_discovery/winvolumes.c:361,1
    - Dst: CloseHandle
      Src: /src/vlc/modules/services_discovery/winvolumes.c:364,1
    - Dst: ReleaseItems
      Src: /src/vlc/modules/services_discovery/winvolumes.c:365,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/winvolumes.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 367
    functionName: Close
    functionSourceFile: /src/vlc/modules/services_discovery/winvolumes.c
    functionUses: 130
    functionsReached:
    - ReleaseItems
    - free
    - vlc_join
    - SetEvent
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t * obj )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBMTP_Init
      Src: /src/vlc/modules/services_discovery/mtp.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: vlc_libmtp_init
    functionSourceFile: /src/vlc/modules/services_discovery/mtp.c
    functionUses: 0
    functionsReached:
    - LIBMTP_Init
    linkageType: ''
    returnType: void
    signature: void vlc_libmtp_init(void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/services_discovery/mtp.c:66,1
    - Dst: input_item_NewExt
      Src: /src/vlc/modules/services_discovery/mtp.c:70,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/mtp.c:75,1
    - Dst: vlc_vector_init
      Src: /src/vlc/modules/services_discovery/mtp.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 84
    functionName: DeviceNew
    functionSourceFile: /src/vlc/modules/services_discovery/mtp.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_vector_init
    - malloc
    - input_item_NewExt
    linkageType: ''
    returnType: mtp_device_t
    signature: 'mtp_device_t *

      DeviceNew( char *name )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/mtp.c:90,1
    - Dst: vlc_vector_destroy
      Src: /src/vlc/modules/services_discovery/mtp.c:91,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/mtp.c:93,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/mtp.c:94,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/mtp.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - device
    argTypes:
    - mtp_device_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: DeviceDelete
    functionSourceFile: /src/vlc/modules/services_discovery/mtp.c
    functionUses: 0
    functionsReached:
    - input_item_Release
    - free
    - vlc_vector_destroy
    linkageType: ''
    returnType: void
    signature: void DeviceDelete( mtp_device_t *device )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LIBMTP_Get_Friendlyname
      Src: /src/vlc/modules/services_discovery/mtp.c:100,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/services_discovery/mtp.c:101,1
    - Dst: LIBMTP_Get_Modelname
      Src: /src/vlc/modules/services_discovery/mtp.c:104,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/services_discovery/mtp.c:105,1
    - Dst: strdup
      Src: /src/vlc/modules/services_discovery/mtp.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - p_device
    argTypes:
    - LIBMTP_mtpdevice_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 109
    functionName: GetDeviceName
    functionSourceFile: /src/vlc/modules/services_discovery/mtp.c
    functionUses: 0
    functionsReached:
    - LIBMTP_Get_Modelname
    - EMPTY_STR
    - strdup
    - LIBMTP_Get_Friendlyname
    linkageType: ''
    returnType: char
    signature: char *GetDeviceName( LIBMTP_mtpdevice_t *p_device )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rindex
      Src: /src/vlc/modules/services_discovery/mtp.c:118,1
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/mtp.c:119,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/mtp.c:124,1
    - Dst: input_item_New
      Src: /src/vlc/modules/services_discovery/mtp.c:127,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/mtp.c:129,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/mtp.c:130,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/mtp.c:133,1
    - Dst: input_item_SetArtist
      Src: /src/vlc/modules/services_discovery/mtp.c:135,1
    - Dst: input_item_SetGenre
      Src: /src/vlc/modules/services_discovery/mtp.c:136,1
    - Dst: input_item_SetAlbum
      Src: /src/vlc/modules/services_discovery/mtp.c:137,1
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/mtp.c:138,1
    - Dst: input_item_SetTrackNum
      Src: /src/vlc/modules/services_discovery/mtp.c:140,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/mtp.c:141,1
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/mtp.c:143,1
    - Dst: input_item_SetRating
      Src: /src/vlc/modules/services_discovery/mtp.c:145,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/mtp.c:146,1
    - Dst: input_item_SetDate
      Src: /src/vlc/modules/services_discovery/mtp.c:148,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/services_discovery/mtp.c:149,1
    - Dst: vlc_vector_push
      Src: /src/vlc/modules/services_discovery/mtp.c:151,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/mtp.c:153,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/mtp.c:154,1
    - Dst: services_discovery_AddSubItem
      Src: /src/vlc/modules/services_discovery/mtp.c:158,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - p_sd
    - device
    - p_track
    argTypes:
    - services_discovery_t*
    - mtp_device_t*
    - LIBMTP_track_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 159
    functionName: AddTrack
    functionSourceFile: /src/vlc/modules/services_discovery/mtp.c
    functionUses: 2
    functionsReached:
    - asprintf
    - input_item_SetGenre
    - input_item_SetAlbum
    - input_item_SetTrackNum
    - input_item_New
    - input_item_Release
    - input_item_SetDate
    - VLC_TICK_FROM_MS
    - input_item_SetRating
    - msg_Err
    - free
    - rindex
    - input_item_SetArtist
    - vlc_vector_push
    - services_discovery_AddSubItem
    linkageType: ''
    returnType: void
    signature: "void AddTrack( services_discovery_t *p_sd, mtp_device_t *device,\n
      \                     LIBMTP_track_t *p_track )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIBMTP_Open_Raw_Device
      Src: /src/vlc/modules/services_discovery/mtp.c:169,1
    - Dst: GetDeviceName
      Src: /src/vlc/modules/services_discovery/mtp.c:171,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/mtp.c:174,1
    - Dst: DeviceNew
      Src: /src/vlc/modules/services_discovery/mtp.c:177,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/mtp.c:180,1
    - Dst: vlc_list_append
      Src: /src/vlc/modules/services_discovery/mtp.c:188,1
    - Dst: services_discovery_AddItem
      Src: /src/vlc/modules/services_discovery/mtp.c:190,1
    - Dst: LIBMTP_Get_Tracklisting_With_Callback
      Src: /src/vlc/modules/services_discovery/mtp.c:192,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/services_discovery/mtp.c:195,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/mtp.c:201,1
    - Dst: AddTrack
      Src: /src/vlc/modules/services_discovery/mtp.c:203,1
    - Dst: LIBMTP_destroy_track_t
      Src: /src/vlc/modules/services_discovery/mtp.c:206,1
    - Dst: LIBMTP_Release_Device
      Src: /src/vlc/modules/services_discovery/mtp.c:209,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/mtp.c:215,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 2
    argNames:
    - p_sd
    - p_raw_device
    argTypes:
    - services_discovery_t*
    - LIBMTP_raw_device_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 218
    functionName: AddDevice
    functionSourceFile: /src/vlc/modules/services_discovery/mtp.c
    functionUses: 3
    functionsReached:
    - DeviceNew
    - LIBMTP_Release_Device
    - vlc_list_append
    - services_discovery_AddItem
    - AddTrack
    - LIBMTP_destroy_track_t
    - LIBMTP_Get_Tracklisting_With_Callback
    - GetDeviceName
    - free
    - msg_Dbg
    - msg_Warn
    - LIBMTP_Open_Raw_Device
    linkageType: ''
    returnType: int
    signature: "int AddDevice( services_discovery_t *p_sd,\n                      LIBMTP_raw_device_t
      *p_raw_device )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: services_discovery_RemoveItem
      Src: /src/vlc/modules/services_discovery/mtp.c:223,1
    - Dst: vlc_list_remove
      Src: /src/vlc/modules/services_discovery/mtp.c:225,1
    - Dst: DeviceDelete
      Src: /src/vlc/modules/services_discovery/mtp.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_sd
    - device
    argTypes:
    - services_discovery_t*
    - mtp_device_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: CloseDevice
    functionSourceFile: /src/vlc/modules/services_discovery/mtp.c
    functionUses: 0
    functionsReached:
    - vlc_list_remove
    - services_discovery_RemoveItem
    - DeviceDelete
    linkageType: ''
    returnType: void
    signature: void CloseDevice( services_discovery_t *p_sd, mtp_device_t *device
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - raw_devices
    - count
    - bus_location
    - devnum
    argTypes:
    - LIBMTP_raw_device_t*
    - int
    - uint32_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 238
    functionName: FindRawDevice
    functionSourceFile: /src/vlc/modules/services_discovery/mtp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int FindRawDevice( const LIBMTP_raw_device_t *raw_devices, int count,\n
      \              uint32_t bus_location, uint8_t devnum )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_list_foreach
      Src: /src/vlc/modules/services_discovery/mtp.c:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - devices
    - bus_location
    - devnum
    argTypes:
    - struct vlc_list*
    - uint32_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 249
    functionName: FindDevice
    functionSourceFile: /src/vlc/modules/services_discovery/mtp.c
    functionUses: 0
    functionsReached:
    - vlc_list_foreach
    linkageType: ''
    returnType: mtp_device_t
    signature: 'mtp_device_t *

      FindDevice( struct vlc_list *devices, uint32_t bus_location, uint8_t devnum
      )'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_list_foreach
      Src: /src/vlc/modules/services_discovery/mtp.c:260,1
    - Dst: FindRawDevice
      Src: /src/vlc/modules/services_discovery/mtp.c:262,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/mtp.c:267,1
    - Dst: CloseDevice
      Src: /src/vlc/modules/services_discovery/mtp.c:268,1
    - Dst: FindDevice
      Src: /src/vlc/modules/services_discovery/mtp.c:277,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/mtp.c:282,1
    - Dst: AddDevice
      Src: /src/vlc/modules/services_discovery/mtp.c:283,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/mtp.c:284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - p_sd
    - raw_devices
    - count
    argTypes:
    - services_discovery_t*
    - LIBMTP_raw_device_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 251
    functionDepth: 3
    functionLinenumber: 251
    functionLinenumberEnd: 287
    functionName: UpdateDevices
    functionSourceFile: /src/vlc/modules/services_discovery/mtp.c
    functionUses: 0
    functionsReached:
    - FindRawDevice
    - CloseDevice
    - AddDevice
    - FindDevice
    - msg_Err
    - msg_Dbg
    - vlc_list_foreach
    linkageType: ''
    returnType: void
    signature: "void UpdateDevices( services_discovery_t *p_sd,\n               LIBMTP_raw_device_t
      *raw_devices, int count )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/services_discovery/mtp.c:294,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/services_discovery/mtp.c:302,1
    - Dst: LIBMTP_Detect_Raw_Devices
      Src: /src/vlc/modules/services_discovery/mtp.c:303,1
    - Dst: UpdateDevices
      Src: /src/vlc/modules/services_discovery/mtp.c:307,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/mtp.c:309,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/services_discovery/mtp.c:311,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/services_discovery/mtp.c:313,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/services_discovery/mtp.c:313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 292
    functionDepth: 4
    functionLinenumber: 292
    functionLinenumberEnd: 316
    functionName: Run
    functionSourceFile: /src/vlc/modules/services_discovery/mtp.c
    functionUses: 8
    functionsReached:
    - vlc_restorecancel
    - vlc_thread_set_name
    - UpdateDevices
    - VLC_TICK_FROM_MS
    - LIBMTP_Detect_Raw_Devices
    - free
    - vlc_tick_sleep
    - vlc_savecancel
    linkageType: ''
    returnType: void
    signature: void *Run( void *data )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/services_discovery/mtp.c:323,1
    - Dst: _
      Src: /src/vlc/modules/services_discovery/mtp.c:326,1
    - Dst: vlc_list_init
      Src: /src/vlc/modules/services_discovery/mtp.c:328,1
    - Dst: vlc_once
      Src: /src/vlc/modules/services_discovery/mtp.c:332,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/services_discovery/mtp.c:334,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/mtp.c:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 340
    functionName: Open
    functionSourceFile: /src/vlc/modules/services_discovery/mtp.c
    functionUses: 43
    functionsReached:
    - vlc_clone
    - _
    - free
    - vlc_list_init
    - vlc_once
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_cancel
      Src: /src/vlc/modules/services_discovery/mtp.c:347,1
    - Dst: vlc_join
      Src: /src/vlc/modules/services_discovery/mtp.c:348,1
    - Dst: vlc_list_foreach
      Src: /src/vlc/modules/services_discovery/mtp.c:351,1
    - Dst: DeviceDelete
      Src: /src/vlc/modules/services_discovery/mtp.c:352,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/mtp.c:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 355
    functionName: Close
    functionSourceFile: /src/vlc/modules/services_discovery/mtp.c
    functionUses: 130
    functionsReached:
    - vlc_cancel
    - free
    - vlc_join
    - vlc_list_foreach
    - DeviceDelete
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avahi_string_list_find
      Src: /src/vlc/modules/services_discovery/avahi.c:108,1
    - Dst: avahi_string_list_get_pair
      Src: /src/vlc/modules/services_discovery/avahi.c:114,1
    - Dst: strdup
      Src: /src/vlc/modules/services_discovery/avahi.c:117,1
    - Dst: avahi_free
      Src: /src/vlc/modules/services_discovery/avahi.c:121,1
    - Dst: avahi_free
      Src: /src/vlc/modules/services_discovery/avahi.c:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - txt
    - key
    argTypes:
    - AvahiStringList*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 125
    functionName: get_string_list_value
    functionSourceFile: /src/vlc/modules/services_discovery/avahi.c
    functionUses: 0
    functionsReached:
    - avahi_free
    - strdup
    - avahi_string_list_find
    - avahi_string_list_get_pair
    linkageType: ''
    returnType: char
    signature: char * get_string_list_value( AvahiStringList* txt, const char* key
      )
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/services_discovery/avahi.c:144,1
    - Dst: avahi_string_list_find
      Src: /src/vlc/modules/services_discovery/avahi.c:146,1
    - Dst: avahi_string_list_get_pair
      Src: /src/vlc/modules/services_discovery/avahi.c:150,1
    - Dst: atoi
      Src: /src/vlc/modules/services_discovery/avahi.c:153,1
    - Dst: avahi_free
      Src: /src/vlc/modules/services_discovery/avahi.c:162,1
    - Dst: avahi_free
      Src: /src/vlc/modules/services_discovery/avahi.c:164,1
    - Dst: get_string_list_value
      Src: /src/vlc/modules/services_discovery/avahi.c:168,1
    - Dst: get_string_list_value
      Src: /src/vlc/modules/services_discovery/avahi.c:171,1
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/avahi.c:173,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/avahi.c:175,1
    - Dst: get_string_list_value
      Src: /src/vlc/modules/services_discovery/avahi.c:178,1
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/avahi.c:180,1
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/avahi.c:192,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/avahi.c:195,1
    - Dst: vlc_renderer_item_new
      Src: /src/vlc/modules/services_discovery/avahi.c:201,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/services_discovery/avahi.c:206,1
    - Dst: vlc_rd_add_item
      Src: /src/vlc/modules/services_discovery/avahi.c:208,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/avahi.c:211,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/avahi.c:212,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/avahi.c:213,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/avahi.c:214,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 6
    argNames:
    - psz_protocol
    - psz_name
    - psz_addr
    - i_port
    - txt
    - p_sys
    argTypes:
    - char*
    - char*
    - char*
    - uint16_t
    - AvahiStringList*
    - discovery_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 215
    functionName: add_renderer
    functionSourceFile: /src/vlc/modules/services_discovery/avahi.c
    functionUses: 1
    functionsReached:
    - avahi_free
    - atoi
    - asprintf
    - avahi_string_list_get_pair
    - get_string_list_value
    - vlc_renderer_item_new
    - free
    - strcmp
    - vlc_dictionary_insert
    - vlc_rd_add_item
    - avahi_string_list_find
    linkageType: ''
    returnType: void
    signature: "void add_renderer( const char *psz_protocol, const char *psz_name,\n
      \                         const char *psz_addr, uint16_t i_port,\n                          AvahiStringList
      *txt, discovery_sys_t *p_sys )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avahi_client_errno
      Src: /src/vlc/modules/services_discovery/avahi.c:226,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/avahi.c:228,1
    - Dst: avahi_threaded_poll_quit
      Src: /src/vlc/modules/services_discovery/avahi.c:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - c
    - state
    - userdata
    argTypes:
    - AvahiClient*
    - AvahiClientState
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 231
    functionName: client_callback
    functionSourceFile: /src/vlc/modules/services_discovery/avahi.c
    functionUses: 0
    functionsReached:
    - avahi_client_errno
    - avahi_threaded_poll_quit
    - msg_Err
    linkageType: ''
    returnType: void
    signature: "void client_callback( AvahiClient *c, AvahiClientState state,\n                             void
      * userdata )"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/services_discovery/avahi.c:253,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/services_discovery/avahi.c:253,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/services_discovery/avahi.c:254,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/services_discovery/avahi.c:258,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/services_discovery/avahi.c:270,1
    - Dst: avahi_address_snprint
      Src: /src/vlc/modules/services_discovery/avahi.c:273,1
    - Dst: avahi_service_resolver_free
      Src: /src/vlc/modules/services_discovery/avahi.c:275,1
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/avahi.c:280,1
    - Dst: avahi_service_resolver_free
      Src: /src/vlc/modules/services_discovery/avahi.c:282,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/services_discovery/avahi.c:288,1
    - Dst: strcmp
      Src: /src/vlc/modules/services_discovery/avahi.c:290,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/avahi.c:299,1
    - Dst: avahi_service_resolver_free
      Src: /src/vlc/modules/services_discovery/avahi.c:300,1
    - Dst: add_renderer
      Src: /src/vlc/modules/services_discovery/avahi.c:307,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/avahi.c:308,1
    - Dst: avahi_service_resolver_free
      Src: /src/vlc/modules/services_discovery/avahi.c:309,1
    - Dst: avahi_string_list_find
      Src: /src/vlc/modules/services_discovery/avahi.c:314,1
    - Dst: avahi_string_list_get_pair
      Src: /src/vlc/modules/services_discovery/avahi.c:320,1
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/avahi.c:323,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/avahi.c:328,1
    - Dst: avahi_service_resolver_free
      Src: /src/vlc/modules/services_discovery/avahi.c:329,1
    - Dst: avahi_free
      Src: /src/vlc/modules/services_discovery/avahi.c:334,1
    - Dst: avahi_free
      Src: /src/vlc/modules/services_discovery/avahi.c:336,1
    - Dst: asprintf
      Src: /src/vlc/modules/services_discovery/avahi.c:340,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/avahi.c:344,1
    - Dst: avahi_service_resolver_free
      Src: /src/vlc/modules/services_discovery/avahi.c:345,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/avahi.c:350,1
    - Dst: input_item_NewDirectory
      Src: /src/vlc/modules/services_discovery/avahi.c:354,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/avahi.c:355,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/services_discovery/avahi.c:360,1
    - Dst: services_discovery_AddItem
      Src: /src/vlc/modules/services_discovery/avahi.c:362,1
    - Dst: avahi_service_resolver_free
      Src: /src/vlc/modules/services_discovery/avahi.c:366,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 68
    argCount: 13
    argNames:
    - r
    - interface
    - protocol
    - event
    - name
    - type
    - domain
    - host_name
    - address
    - port
    - txt
    - flags
    - userdata
    argTypes:
    - AvahiServiceResolver*
    - AvahiIfIndex
    - AvahiProtocol
    - AvahiResolverEvent
    - char*
    - char*
    - char*
    - char*
    - AvahiAddress*
    - uint16_t
    - AvahiStringList*
    - AvahiLookupResultFlags
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 367
    functionName: resolve_callback
    functionSourceFile: /src/vlc/modules/services_discovery/avahi.c
    functionUses: 0
    functionsReached:
    - avahi_free
    - asprintf
    - ARRAY_SIZE
    - avahi_string_list_get_pair
    - services_discovery_AddItem
    - avahi_service_resolver_free
    - avahi_address_snprint
    - free
    - strcmp
    - input_item_NewDirectory
    - msg_Dbg
    - vlc_dictionary_insert
    - add_renderer
    - msg_Warn
    - avahi_string_list_find
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void resolve_callback(\n    AvahiServiceResolver *r,\n    AvahiIfIndex
      interface,\n    AvahiProtocol protocol,\n    AvahiResolverEvent event,\n    const
      char *name,\n    const char *type,\n    const char *domain,\n    const char
      *host_name,\n    const AvahiAddress *address,\n    uint16_t port,\n    AvahiStringList
      *txt,\n    AvahiLookupResultFlags flags,\n    void* userdata )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/services_discovery/avahi.c:383,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/services_discovery/avahi.c:384,1
    - Dst: avahi_service_resolver_new
      Src: /src/vlc/modules/services_discovery/avahi.c:388,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/avahi.c:393,1
    - Dst: avahi_strerror
      Src: /src/vlc/modules/services_discovery/avahi.c:394,1
    - Dst: avahi_client_errno
      Src: /src/vlc/modules/services_discovery/avahi.c:394,1
    - Dst: vlc_dictionary_value_for_key
      Src: /src/vlc/modules/services_discovery/avahi.c:401,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/avahi.c:405,1
    - Dst: vlc_rd_remove_item
      Src: /src/vlc/modules/services_discovery/avahi.c:411,1
    - Dst: vlc_renderer_item_release
      Src: /src/vlc/modules/services_discovery/avahi.c:412,1
    - Dst: services_discovery_RemoveItem
      Src: /src/vlc/modules/services_discovery/avahi.c:417,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/avahi.c:418,1
    - Dst: vlc_dictionary_remove_value_for_key
      Src: /src/vlc/modules/services_discovery/avahi.c:420,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 9
    argNames:
    - b
    - interface
    - protocol
    - event
    - name
    - type
    - domain
    - flags
    - userdata
    argTypes:
    - AvahiServiceBrowser*
    - AvahiIfIndex
    - AvahiProtocol
    - AvahiBrowserEvent
    - char*
    - char*
    - char*
    - AvahiLookupResultFlags
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 425
    functionName: browse_callback
    functionSourceFile: /src/vlc/modules/services_discovery/avahi.c
    functionUses: 0
    functionsReached:
    - avahi_client_errno
    - vlc_dictionary_value_for_key
    - services_discovery_RemoveItem
    - vlc_rd_remove_item
    - input_item_Release
    - avahi_service_resolver_new
    - msg_Err
    - vlc_renderer_item_release
    - vlc_dictionary_remove_value_for_key
    - avahi_strerror
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void browse_callback(\n    AvahiServiceBrowser *b,\n    AvahiIfIndex
      interface,\n    AvahiProtocol protocol,\n    AvahiBrowserEvent event,\n    const
      char *name,\n    const char *type,\n    const char *domain,\n    AvahiLookupResultFlags
      flags,\n    void* userdata )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/services_discovery/avahi.c:429,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/services_discovery/avahi.c:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_item
    - p_obj
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 431
    functionName: clear_input_item
    functionSourceFile: /src/vlc/modules/services_discovery/avahi.c
    functionUses: 0
    functionsReached:
    - input_item_Release
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void clear_input_item( void* p_item, void* p_obj )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/services_discovery/avahi.c:435,1
    - Dst: vlc_renderer_item_release
      Src: /src/vlc/modules/services_discovery/avahi.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_item
    - p_obj
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 437
    functionName: clear_renderer_item
    functionSourceFile: /src/vlc/modules/services_discovery/avahi.c
    functionUses: 0
    functionsReached:
    - vlc_renderer_item_release
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void clear_renderer_item( void* p_item, void* p_obj )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_dictionary_init
      Src: /src/vlc/modules/services_discovery/avahi.c:446,1
    - Dst: avahi_threaded_poll_new
      Src: /src/vlc/modules/services_discovery/avahi.c:448,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/avahi.c:451,1
    - Dst: avahi_client_new
      Src: /src/vlc/modules/services_discovery/avahi.c:455,1
    - Dst: avahi_threaded_poll_get
      Src: /src/vlc/modules/services_discovery/avahi.c:455,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/avahi.c:459,1
    - Dst: avahi_strerror
      Src: /src/vlc/modules/services_discovery/avahi.c:460,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/services_discovery/avahi.c:464,1
    - Dst: avahi_service_browser_new
      Src: /src/vlc/modules/services_discovery/avahi.c:470,1
    - Dst: msg_Err
      Src: /src/vlc/modules/services_discovery/avahi.c:476,1
    - Dst: avahi_strerror
      Src: /src/vlc/modules/services_discovery/avahi.c:476,1
    - Dst: avahi_client_errno
      Src: /src/vlc/modules/services_discovery/avahi.c:476,1
    - Dst: avahi_threaded_poll_start
      Src: /src/vlc/modules/services_discovery/avahi.c:481,1
    - Dst: avahi_client_free
      Src: /src/vlc/modules/services_discovery/avahi.c:487,1
    - Dst: avahi_threaded_poll_free
      Src: /src/vlc/modules/services_discovery/avahi.c:489,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - discovery_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 492
    functionName: OpenCommon
    functionSourceFile: /src/vlc/modules/services_discovery/avahi.c
    functionUses: 10
    functionsReached:
    - avahi_client_errno
    - ARRAY_SIZE
    - avahi_client_free
    - vlc_dictionary_init
    - msg_Err
    - avahi_service_browser_new
    - avahi_threaded_poll_get
    - avahi_threaded_poll_new
    - avahi_strerror
    - avahi_threaded_poll_start
    - avahi_client_new
    - avahi_threaded_poll_free
    linkageType: ''
    returnType: int
    signature: int OpenCommon( discovery_sys_t *p_sys )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/vlc/modules/services_discovery/avahi.c:497,1
    - Dst: calloc
      Src: /src/vlc/modules/services_discovery/avahi.c:499,1
    - Dst: OpenCommon
      Src: /src/vlc/modules/services_discovery/avahi.c:505,1
    - Dst: vlc_dictionary_clear
      Src: /src/vlc/modules/services_discovery/avahi.c:508,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/avahi.c:510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 513
    functionName: OpenSD
    functionSourceFile: /src/vlc/modules/services_discovery/avahi.c
    functionUses: 0
    functionsReached:
    - vlc_dictionary_clear
    - _
    - calloc
    - free
    - OpenCommon
    linkageType: ''
    returnType: int
    signature: int OpenSD( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/services_discovery/avahi.c:519,1
    - Dst: OpenCommon
      Src: /src/vlc/modules/services_discovery/avahi.c:525,1
    - Dst: vlc_dictionary_clear
      Src: /src/vlc/modules/services_discovery/avahi.c:528,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/avahi.c:530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 533
    functionName: OpenRD
    functionSourceFile: /src/vlc/modules/services_discovery/avahi.c
    functionUses: 0
    functionsReached:
    - calloc
    - OpenCommon
    - free
    - vlc_dictionary_clear
    linkageType: ''
    returnType: int
    signature: int OpenRD( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avahi_threaded_poll_stop
      Src: /src/vlc/modules/services_discovery/avahi.c:540,1
    - Dst: avahi_client_free
      Src: /src/vlc/modules/services_discovery/avahi.c:542,1
    - Dst: avahi_threaded_poll_free
      Src: /src/vlc/modules/services_discovery/avahi.c:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - discovery_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 545
    functionName: CloseCommon
    functionSourceFile: /src/vlc/modules/services_discovery/avahi.c
    functionUses: 4
    functionsReached:
    - avahi_client_free
    - avahi_threaded_poll_free
    - avahi_threaded_poll_stop
    linkageType: ''
    returnType: void
    signature: void CloseCommon( discovery_sys_t *p_sys )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CloseCommon
      Src: /src/vlc/modules/services_discovery/avahi.c:551,1
    - Dst: vlc_dictionary_clear
      Src: /src/vlc/modules/services_discovery/avahi.c:552,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/avahi.c:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 555
    functionName: CloseSD
    functionSourceFile: /src/vlc/modules/services_discovery/avahi.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_dictionary_clear
    - CloseCommon
    linkageType: ''
    returnType: void
    signature: void CloseSD( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CloseCommon
      Src: /src/vlc/modules/services_discovery/avahi.c:561,1
    - Dst: vlc_dictionary_clear
      Src: /src/vlc/modules/services_discovery/avahi.c:562,1
    - Dst: free
      Src: /src/vlc/modules/services_discovery/avahi.c:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 565
    functionName: CloseRD
    functionSourceFile: /src/vlc/modules/services_discovery/avahi.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_dictionary_clear
    - CloseCommon
    linkageType: ''
    returnType: void
    signature: void CloseRD( vlc_object_t *p_this )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: decoder_UpdateVideoFormat
      Src: /src/vlc/modules/misc/stats.c:50,1
    - Dst: decoder_NewPicture
      Src: /src/vlc/modules/misc/stats.c:51,1
    - Dst: memcpy
      Src: /src/vlc/modules/misc/stats.c:58,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/stats.c:59,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/misc/stats.c:60,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/stats.c:61,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/misc/stats.c:62,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/misc/stats.c:62,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/stats.c:66,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/misc/stats.c:67,1
    - Dst: memcpy
      Src: /src/vlc/modules/misc/stats.c:69,1
    - Dst: block_Release
      Src: /src/vlc/modules/misc/stats.c:75,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/modules/misc/stats.c:77,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 79
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/misc/stats.c
    functionUses: 1
    functionsReached:
    - MS_FROM_VLC_TICK
    - vlc_tick_now
    - block_Release
    - decoder_UpdateVideoFormat
    - memcpy
    - decoder_QueueVideo
    - msg_Dbg
    - decoder_NewPicture
    linkageType: ''
    returnType: int
    signature: int DecodeBlock( decoder_t *p_dec, block_t *p_block )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/stats.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 98
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/modules/misc/stats.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int OpenDecoder ( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/misc/stats.c:105,1
    - Dst: unlikely
      Src: /src/vlc/modules/misc/stats.c:106,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/misc/stats.c:108,1
    - Dst: memcpy
      Src: /src/vlc/modules/misc/stats.c:109,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/stats.c:114,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/misc/stats.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - p_enc
    - p_pict
    argTypes:
    - encoder_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 117
    functionName: EncodeVideo
    functionSourceFile: /src/vlc/modules/misc/stats.c
    functionUses: 2
    functionsReached:
    - MS_FROM_VLC_TICK
    - vlc_tick_now
    - memcpy
    - block_Alloc
    - msg_Dbg
    - unlikely
    linkageType: ''
    returnType: block_t
    signature: block_t *EncodeVideo( encoder_t *p_enc, picture_t *p_pict )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_enc
    - p_abuff
    argTypes:
    - encoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: EncodeAudio
    functionSourceFile: /src/vlc/modules/misc/stats.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: block_t
    signature: block_t *EncodeAudio( encoder_t *p_enc, block_t *p_abuff )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/stats.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 137
    functionName: OpenVideoEncoder
    functionSourceFile: /src/vlc/modules/misc/stats.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int OpenVideoEncoder ( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/stats.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 150
    functionName: OpenAudioEncoder
    functionSourceFile: /src/vlc/modules/misc/stats.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int OpenAudioEncoder ( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/misc/stats.c:166,1
    - Dst: date_Increment
      Src: /src/vlc/modules/misc/stats.c:170,1
    - Dst: memcpy
      Src: /src/vlc/modules/misc/stats.c:173,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/stats.c:174,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/misc/stats.c:175,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/misc/stats.c:175,1
    - Dst: es_out_Send
      Src: /src/vlc/modules/misc/stats.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p_demux
    argTypes:
    - demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 182
    functionName: Demux
    functionSourceFile: /src/vlc/modules/misc/stats.c
    functionUses: 27
    functionsReached:
    - MS_FROM_VLC_TICK
    - vlc_tick_now
    - es_out_Send
    - memcpy
    - msg_Dbg
    - vlc_stream_Block
    - date_Increment
    linkageType: ''
    returnType: int
    signature: int Demux( demux_t *p_demux )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: demux_vaControlHelper
      Src: /src/vlc/modules/misc/stats.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_demux
    - i_query
    - args
    argTypes:
    - demux_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: DemuxControl
    functionSourceFile: /src/vlc/modules/misc/stats.c
    functionUses: 1
    functionsReached:
    - demux_vaControlHelper
    linkageType: ''
    returnType: int
    signature: int DemuxControl( demux_t *p_demux, int i_query, va_list args )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/stats.c:202,1
    - Dst: malloc
      Src: /src/vlc/modules/misc/stats.c:207,1
    - Dst: date_Init
      Src: /src/vlc/modules/misc/stats.c:211,1
    - Dst: date_Set
      Src: /src/vlc/modules/misc/stats.c:212,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/misc/stats.c:214,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/misc/stats.c:214,1
    - Dst: es_out_Add
      Src: /src/vlc/modules/misc/stats.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 221
    functionName: OpenDemux
    functionSourceFile: /src/vlc/modules/misc/stats.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - date_Init
    - date_Set
    - msg_Dbg
    - es_out_Add
    - es_format_Init
    - malloc
    linkageType: ''
    returnType: int
    signature: int OpenDemux ( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/stats.c:227,1
    - Dst: free
      Src: /src/vlc/modules/misc/stats.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 230
    functionName: CloseDemux
    functionSourceFile: /src/vlc/modules/misc/stats.c
    functionUses: 4
    functionsReached:
    - free
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void CloseDemux ( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREENULL
      Src: /src/vlc/modules/misc/audioscrobbler.c:149,1
    - Dst: FREENULL
      Src: /src/vlc/modules/misc/audioscrobbler.c:150,1
    - Dst: FREENULL
      Src: /src/vlc/modules/misc/audioscrobbler.c:151,1
    - Dst: FREENULL
      Src: /src/vlc/modules/misc/audioscrobbler.c:152,1
    - Dst: FREENULL
      Src: /src/vlc/modules/misc/audioscrobbler.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p_song
    argTypes:
    - audioscrobbler_song_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 154
    functionName: DeleteSong
    functionSourceFile: /src/vlc/modules/misc/audioscrobbler.c
    functionUses: 0
    functionsReached:
    - FREENULL
    linkageType: ''
    returnType: void
    signature: void DeleteSong(audioscrobbler_song_t* p_song)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/misc/audioscrobbler.c:163,1
    - Dst: vlc_player_GetCurrentMedia
      Src: /src/vlc/modules/misc/audioscrobbler.c:164,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/misc/audioscrobbler.c:175,1
    - Dst: ALLOC_ITEM_META
      Src: /src/vlc/modules/misc/audioscrobbler.c:179,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/audioscrobbler.c:182,1
    - Dst: DeleteSong
      Src: /src/vlc/modules/misc/audioscrobbler.c:183,1
    - Dst: ALLOC_ITEM_META
      Src: /src/vlc/modules/misc/audioscrobbler.c:187,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/audioscrobbler.c:190,1
    - Dst: DeleteSong
      Src: /src/vlc/modules/misc/audioscrobbler.c:191,1
    - Dst: ALLOC_ITEM_META
      Src: /src/vlc/modules/misc/audioscrobbler.c:198,1
    - Dst: ALLOC_ITEM_META
      Src: /src/vlc/modules/misc/audioscrobbler.c:199,1
    - Dst: ALLOC_ITEM_META
      Src: /src/vlc/modules/misc/audioscrobbler.c:200,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/misc/audioscrobbler.c:202,1
    - Dst: input_item_GetDuration
      Src: /src/vlc/modules/misc/audioscrobbler.c:202,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/audioscrobbler.c:206,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/misc/audioscrobbler.c:208,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/misc/audioscrobbler.c:211,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 212
    functionName: ReadMetaData
    functionSourceFile: /src/vlc/modules/misc/audioscrobbler.c
    functionUses: 0
    functionsReached:
    - vlc_cond_signal
    - SEC_FROM_VLC_TICK
    - vlc_mutex_lock
    - vlc_mutex_unlock
    - ALLOC_ITEM_META
    - vlc_playlist_GetPlayer
    - msg_Dbg
    - DeleteSong
    - input_item_GetDuration
    - vlc_player_GetCurrentMedia
    linkageType: ''
    returnType: void
    signature: void ReadMetaData(intf_thread_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: ALLOC_ITEM_META
    functionSourceFile: /src/vlc/modules/misc/audioscrobbler.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC_ITEM_META(a, b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/misc/audioscrobbler.c:222,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/misc/audioscrobbler.c:229,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/misc/audioscrobbler.c:229,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/audioscrobbler.c:240,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/audioscrobbler.c:248,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/audioscrobbler.c:256,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/misc/audioscrobbler.c:262,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/audioscrobbler.c:266,1
    - Dst: QUEUE_COPY
      Src: /src/vlc/modules/misc/audioscrobbler.c:275,1
    - Dst: QUEUE_COPY_NULL
      Src: /src/vlc/modules/misc/audioscrobbler.c:276,1
    - Dst: QUEUE_COPY_NULL
      Src: /src/vlc/modules/misc/audioscrobbler.c:277,1
    - Dst: QUEUE_COPY_NULL
      Src: /src/vlc/modules/misc/audioscrobbler.c:278,1
    - Dst: QUEUE_COPY_NULL
      Src: /src/vlc/modules/misc/audioscrobbler.c:279,1
    - Dst: QUEUE_COPY_NULL
      Src: /src/vlc/modules/misc/audioscrobbler.c:280,1
    - Dst: QUEUE_COPY
      Src: /src/vlc/modules/misc/audioscrobbler.c:281,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/misc/audioscrobbler.c:288,1
    - Dst: DeleteSong
      Src: /src/vlc/modules/misc/audioscrobbler.c:291,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/misc/audioscrobbler.c:292,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 293
    functionName: AddToQueue
    functionSourceFile: /src/vlc/modules/misc/audioscrobbler.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - vlc_cond_signal
    - QUEUE_COPY_NULL
    - SEC_FROM_VLC_TICK
    - vlc_mutex_lock
    - vlc_mutex_unlock
    - msg_Dbg
    - msg_Warn
    - QUEUE_COPY
    - DeleteSong
    linkageType: ''
    returnType: void
    signature: void AddToQueue (intf_thread_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: QUEUE_COPY
    functionSourceFile: /src/vlc/modules/misc/audioscrobbler.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUE_COPY(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: QUEUE_COPY_NULL
    functionSourceFile: /src/vlc/modules/misc/audioscrobbler.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUE_COPY_NULL(a)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_GetVideoTrackCount
      Src: /src/vlc/modules/misc/audioscrobbler.c:301,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/audioscrobbler.c:303,1
    - Dst: ReadMetaData
      Src: /src/vlc/modules/misc/audioscrobbler.c:309,1
    - Dst: AddToQueue
      Src: /src/vlc/modules/misc/audioscrobbler.c:316,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/misc/audioscrobbler.c:319,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/misc/audioscrobbler.c:324,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - player
    - state
    - data
    argTypes:
    - vlc_player_t*
    - enum vlc_player_state
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 331
    functionName: player_on_state_changed
    functionSourceFile: /src/vlc/modules/misc/audioscrobbler.c
    functionUses: 1
    functionsReached:
    - vlc_tick_now
    - vlc_player_GetVideoTrackCount
    - AddToQueue
    - msg_Dbg
    - ReadMetaData
    linkageType: ''
    returnType: void
    signature: "void player_on_state_changed(vlc_player_t *player,\n                                    enum
      vlc_player_state state, void *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/misc/audioscrobbler.c:339,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/misc/audioscrobbler.c:346,1
    - Dst: vlc_player_GetCurrentMedia
      Src: /src/vlc/modules/misc/audioscrobbler.c:347,1
    - Dst: vlc_player_GetVideoTrackCount
      Src: /src/vlc/modules/misc/audioscrobbler.c:351,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/audioscrobbler.c:353,1
    - Dst: time
      Src: /src/vlc/modules/misc/audioscrobbler.c:358,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/misc/audioscrobbler.c:359,1
    - Dst: input_item_IsPreparsed
      Src: /src/vlc/modules/misc/audioscrobbler.c:361,1
    - Dst: ReadMetaData
      Src: /src/vlc/modules/misc/audioscrobbler.c:362,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - playlist
    - index
    - userdata
    argTypes:
    - vlc_playlist_t*
    - ssize_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 336
    functionDepth: 3
    functionLinenumber: 336
    functionLinenumberEnd: 365
    functionName: playlist_on_current_index_changed
    functionSourceFile: /src/vlc/modules/misc/audioscrobbler.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - vlc_player_GetVideoTrackCount
    - VLC_UNUSED
    - input_item_IsPreparsed
    - vlc_playlist_GetPlayer
    - msg_Dbg
    - time
    - ReadMetaData
    - vlc_player_GetCurrentMedia
    linkageType: ''
    returnType: void
    signature: "void playlist_on_current_index_changed(vlc_playlist_t *playlist,\n
      \                                             ssize_t index, void *userdata)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/misc/audioscrobbler.c:373,1
    - Dst: vlc_intf_GetMainPlaylist
      Src: /src/vlc/modules/misc/audioscrobbler.c:390,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/misc/audioscrobbler.c:391,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/misc/audioscrobbler.c:393,1
    - Dst: vlc_playlist_AddListener
      Src: /src/vlc/modules/misc/audioscrobbler.c:395,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/misc/audioscrobbler.c:398,1
    - Dst: vlc_player_AddListener
      Src: /src/vlc/modules/misc/audioscrobbler.c:403,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/misc/audioscrobbler.c:404,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/misc/audioscrobbler.c:408,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/misc/audioscrobbler.c:409,1
    - Dst: vlc_sem_init
      Src: /src/vlc/modules/misc/audioscrobbler.c:410,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/misc/audioscrobbler.c:412,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/misc/audioscrobbler.c:423,1
    - Dst: vlc_player_RemoveListener
      Src: /src/vlc/modules/misc/audioscrobbler.c:425,1
    - Dst: vlc_playlist_RemoveListener
      Src: /src/vlc/modules/misc/audioscrobbler.c:426,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/misc/audioscrobbler.c:427,1
    - Dst: free
      Src: /src/vlc/modules/misc/audioscrobbler.c:429,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 432
    functionName: Open
    functionSourceFile: /src/vlc/modules/misc/audioscrobbler.c
    functionUses: 43
    functionsReached:
    - vlc_sem_init
    - vlc_intf_GetMainPlaylist
    - vlc_playlist_RemoveListener
    - vlc_playlist_Lock
    - vlc_clone
    - vlc_playlist_AddListener
    - vlc_playlist_Unlock
    - vlc_mutex_init
    - calloc
    - free
    - vlc_cond_init
    - vlc_playlist_GetPlayer
    - vlc_player_AddListener
    - vlc_player_RemoveListener
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/misc/audioscrobbler.c:443,1
    - Dst: vlc_sem_post
      Src: /src/vlc/modules/misc/audioscrobbler.c:444,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/misc/audioscrobbler.c:445,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/misc/audioscrobbler.c:446,1
    - Dst: vlc_join
      Src: /src/vlc/modules/misc/audioscrobbler.c:447,1
    - Dst: DeleteSong
      Src: /src/vlc/modules/misc/audioscrobbler.c:451,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/misc/audioscrobbler.c:452,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/misc/audioscrobbler.c:453,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/misc/audioscrobbler.c:455,1
    - Dst: vlc_player_RemoveListener
      Src: /src/vlc/modules/misc/audioscrobbler.c:456,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/misc/audioscrobbler.c:457,1
    - Dst: vlc_playlist_RemoveListener
      Src: /src/vlc/modules/misc/audioscrobbler.c:458,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/misc/audioscrobbler.c:459,1
    - Dst: free
      Src: /src/vlc/modules/misc/audioscrobbler.c:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 437
    functionDepth: 2
    functionLinenumber: 437
    functionLinenumberEnd: 462
    functionName: Close
    functionSourceFile: /src/vlc/modules/misc/audioscrobbler.c
    functionUses: 130
    functionsReached:
    - vlc_cond_signal
    - vlc_playlist_RemoveListener
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_playlist_Lock
    - vlc_playlist_Unlock
    - vlc_sem_post
    - free
    - vlc_join
    - vlc_playlist_GetPlayer
    - DeleteSong
    - vlc_player_RemoveListener
    - vlc_UrlClean
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *p_this)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritString
      Src: /src/vlc/modules/misc/audioscrobbler.c:487,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/misc/audioscrobbler.c:488,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/misc/audioscrobbler.c:491,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/misc/audioscrobbler.c:491,1
    - Dst: free
      Src: /src/vlc/modules/misc/audioscrobbler.c:493,1
    - Dst: free
      Src: /src/vlc/modules/misc/audioscrobbler.c:494,1
    - Dst: time
      Src: /src/vlc/modules/misc/audioscrobbler.c:498,1
    - Dst: vlc_hash_md5_Init
      Src: /src/vlc/modules/misc/audioscrobbler.c:501,1
    - Dst: vlc_hash_md5_Update
      Src: /src/vlc/modules/misc/audioscrobbler.c:502,1
    - Dst: strlen
      Src: /src/vlc/modules/misc/audioscrobbler.c:502,1
    - Dst: free
      Src: /src/vlc/modules/misc/audioscrobbler.c:503,1
    - Dst: vlc_hash_FinishHex
      Src: /src/vlc/modules/misc/audioscrobbler.c:506,1
    - Dst: snprintf
      Src: /src/vlc/modules/misc/audioscrobbler.c:508,1
    - Dst: vlc_hash_md5_Init
      Src: /src/vlc/modules/misc/audioscrobbler.c:515,1
    - Dst: vlc_hash_md5_Update
      Src: /src/vlc/modules/misc/audioscrobbler.c:516,1
    - Dst: vlc_hash_md5_Update
      Src: /src/vlc/modules/misc/audioscrobbler.c:517,1
    - Dst: strlen
      Src: /src/vlc/modules/misc/audioscrobbler.c:517,1
    - Dst: vlc_hash_FinishHex
      Src: /src/vlc/modules/misc/audioscrobbler.c:519,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/misc/audioscrobbler.c:521,1
    - Dst: free
      Src: /src/vlc/modules/misc/audioscrobbler.c:524,1
    - Dst: asprintf
      Src: /src/vlc/modules/misc/audioscrobbler.c:528,1
    - Dst: free
      Src: /src/vlc/modules/misc/audioscrobbler.c:532,1
    - Dst: free
      Src: /src/vlc/modules/misc/audioscrobbler.c:533,1
    - Dst: vlc_stream_NewURL
      Src: /src/vlc/modules/misc/audioscrobbler.c:538,1
    - Dst: free
      Src: /src/vlc/modules/misc/audioscrobbler.c:539,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/misc/audioscrobbler.c:545,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/misc/audioscrobbler.c:548,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/misc/audioscrobbler.c:552,1
    - Dst: strstr
      Src: /src/vlc/modules/misc/audioscrobbler.c:554,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/audioscrobbler.c:558,1
    - Dst: strstr
      Src: /src/vlc/modules/misc/audioscrobbler.c:562,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/misc/audioscrobbler.c:565,1
    - Dst: _
      Src: /src/vlc/modules/misc/audioscrobbler.c:566,1
    - Dst: _
      Src: /src/vlc/modules/misc/audioscrobbler.c:567,1
    - Dst: strstr
      Src: /src/vlc/modules/misc/audioscrobbler.c:572,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/audioscrobbler.c:575,1
    - Dst: strstr
      Src: /src/vlc/modules/misc/audioscrobbler.c:580,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/audioscrobbler.c:583,1
    - Dst: strstr
      Src: /src/vlc/modules/misc/audioscrobbler.c:588,1
    - Dst: strstr
      Src: /src/vlc/modules/misc/audioscrobbler.c:592,1
    - Dst: strnlen
      Src: /src/vlc/modules/misc/audioscrobbler.c:593,1
    - Dst: memcpy
      Src: /src/vlc/modules/misc/audioscrobbler.c:598,1
    - Dst: strstr
      Src: /src/vlc/modules/misc/audioscrobbler.c:601,1
    - Dst: strlen
      Src: /src/vlc/modules/misc/audioscrobbler.c:602,1
    - Dst: strndup
      Src: /src/vlc/modules/misc/audioscrobbler.c:606,1
    - Dst: strcspn
      Src: /src/vlc/modules/misc/audioscrobbler.c:606,1
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/misc/audioscrobbler.c:610,1
    - Dst: free
      Src: /src/vlc/modules/misc/audioscrobbler.c:611,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/misc/audioscrobbler.c:615,1
    - Dst: strcspn
      Src: /src/vlc/modules/misc/audioscrobbler.c:618,1
    - Dst: strstr
      Src: /src/vlc/modules/misc/audioscrobbler.c:620,1
    - Dst: strlen
      Src: /src/vlc/modules/misc/audioscrobbler.c:621,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/misc/audioscrobbler.c:623,1
    - Dst: strndup
      Src: /src/vlc/modules/misc/audioscrobbler.c:628,1
    - Dst: strcspn
      Src: /src/vlc/modules/misc/audioscrobbler.c:628,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/misc/audioscrobbler.c:631,1
    - Dst: vlc_UrlParse
      Src: /src/vlc/modules/misc/audioscrobbler.c:636,1
    - Dst: free
      Src: /src/vlc/modules/misc/audioscrobbler.c:637,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/misc/audioscrobbler.c:641,1
    - Dst: vlc_UrlClean
      Src: /src/vlc/modules/misc/audioscrobbler.c:642,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/audioscrobbler.c:652,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 111
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 654
    functionName: Handshake
    functionSourceFile: /src/vlc/modules/misc/audioscrobbler.c
    functionUses: 1
    functionsReached:
    - memcpy
    - EMPTY_STR
    - asprintf
    - vlc_dialog_display_error
    - strnlen
    - _
    - msg_Err
    - strcspn
    - vlc_stream_Read
    - strstr
    - snprintf
    - vlc_stream_NewURL
    - vlc_hash_FinishHex
    - vlc_hash_md5_Update
    - strndup
    - vlc_UrlParse
    - vlc_UrlClean
    - time
    - var_InheritString
    - strlen
    - vlc_stream_Delete
    - free
    - vlc_hash_md5_Init
    linkageType: ''
    returnType: int
    signature: int Handshake(intf_thread_t *p_this)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/misc/audioscrobbler.c:670,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/misc/audioscrobbler.c:670,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - next
    - i_interval
    argTypes:
    - vlc_tick_t*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 671
    functionName: HandleInterval
    functionSourceFile: /src/vlc/modules/misc/audioscrobbler.c
    functionUses: 0
    functionsReached:
    - VLC_TICK_FROM_SEC
    - vlc_tick_now
    linkageType: ''
    returnType: void
    signature: void HandleInterval(vlc_tick_t *next, unsigned int *i_interval)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/misc/audioscrobbler.c:678,1
    - Dst: vlc_sem_timedwait
      Src: /src/vlc/modules/misc/audioscrobbler.c:695,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/misc/audioscrobbler.c:698,1
    - Dst: vlc_sem_trywait
      Src: /src/vlc/modules/misc/audioscrobbler.c:702,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/misc/audioscrobbler.c:704,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/misc/audioscrobbler.c:708,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/misc/audioscrobbler.c:711,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/audioscrobbler.c:716,1
    - Dst: Handshake
      Src: /src/vlc/modules/misc/audioscrobbler.c:718,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/misc/audioscrobbler.c:725,1
    - Dst: _
      Src: /src/vlc/modules/misc/audioscrobbler.c:726,1
    - Dst: _
      Src: /src/vlc/modules/misc/audioscrobbler.c:727,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/audioscrobbler.c:733,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/misc/audioscrobbler.c:740,1
    - Dst: HandleInterval
      Src: /src/vlc/modules/misc/audioscrobbler.c:746,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/audioscrobbler.c:754,1
    - Dst: vlc_memstream_open
      Src: /src/vlc/modules/misc/audioscrobbler.c:758,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/misc/audioscrobbler.c:759,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/misc/audioscrobbler.c:762,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/misc/audioscrobbler.c:771,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/misc/audioscrobbler.c:772,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/misc/audioscrobbler.c:773,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/misc/audioscrobbler.c:775,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/misc/audioscrobbler.c:776,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/misc/audioscrobbler.c:777,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/misc/audioscrobbler.c:779,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/misc/audioscrobbler.c:780,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/misc/audioscrobbler.c:782,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/misc/audioscrobbler.c:792,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/misc/audioscrobbler.c:794,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/misc/audioscrobbler.c:796,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/misc/audioscrobbler.c:798,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/misc/audioscrobbler.c:799,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/misc/audioscrobbler.c:800,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/misc/audioscrobbler.c:802,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/misc/audioscrobbler.c:804,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/misc/audioscrobbler.c:805,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/misc/audioscrobbler.c:807,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/misc/audioscrobbler.c:808,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/misc/audioscrobbler.c:810,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/misc/audioscrobbler.c:814,1
    - Dst: vlc_memstream_close
      Src: /src/vlc/modules/misc/audioscrobbler.c:816,1
    - Dst: vlc_memstream_open
      Src: /src/vlc/modules/misc/audioscrobbler.c:819,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/misc/audioscrobbler.c:820,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/misc/audioscrobbler.c:821,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/misc/audioscrobbler.c:822,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/misc/audioscrobbler.c:825,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/misc/audioscrobbler.c:826,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/misc/audioscrobbler.c:828,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/misc/audioscrobbler.c:829,1
    - Dst: vlc_memstream_write
      Src: /src/vlc/modules/misc/audioscrobbler.c:831,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/misc/audioscrobbler.c:832,1
    - Dst: free
      Src: /src/vlc/modules/misc/audioscrobbler.c:833,1
    - Dst: vlc_memstream_close
      Src: /src/vlc/modules/misc/audioscrobbler.c:835,1
    - Dst: vlc_tls_SocketOpenTCP
      Src: /src/vlc/modules/misc/audioscrobbler.c:838,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/misc/audioscrobbler.c:838,1
    - Dst: HandleInterval
      Src: /src/vlc/modules/misc/audioscrobbler.c:843,1
    - Dst: free
      Src: /src/vlc/modules/misc/audioscrobbler.c:845,1
    - Dst: vlc_tls_Write
      Src: /src/vlc/modules/misc/audioscrobbler.c:850,1
    - Dst: free
      Src: /src/vlc/modules/misc/audioscrobbler.c:851,1
    - Dst: HandleInterval
      Src: /src/vlc/modules/misc/audioscrobbler.c:855,1
    - Dst: vlc_tls_Close
      Src: /src/vlc/modules/misc/audioscrobbler.c:857,1
    - Dst: vlc_tls_Read
      Src: /src/vlc/modules/misc/audioscrobbler.c:864,1
    - Dst: vlc_tls_Close
      Src: /src/vlc/modules/misc/audioscrobbler.c:865,1
    - Dst: strstr
      Src: /src/vlc/modules/misc/audioscrobbler.c:873,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/misc/audioscrobbler.c:876,1
    - Dst: HandleInterval
      Src: /src/vlc/modules/misc/audioscrobbler.c:877,1
    - Dst: strstr
      Src: /src/vlc/modules/misc/audioscrobbler.c:881,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/audioscrobbler.c:883,1
    - Dst: HandleInterval
      Src: /src/vlc/modules/misc/audioscrobbler.c:885,1
    - Dst: strstr
      Src: /src/vlc/modules/misc/audioscrobbler.c:889,1
    - Dst: DeleteSong
      Src: /src/vlc/modules/misc/audioscrobbler.c:899,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/audioscrobbler.c:905,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/audioscrobbler.c:909,1
    - Dst: HandleInterval
      Src: /src/vlc/modules/misc/audioscrobbler.c:912,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 148
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 676
    functionDepth: 3
    functionLinenumber: 676
    functionLinenumberEnd: 917
    functionName: Run
    functionSourceFile: /src/vlc/modules/misc/audioscrobbler.c
    functionUses: 8
    functionsReached:
    - vlc_memstream_open
    - vlc_sem_trywait
    - DeleteSong
    - vlc_dialog_display_error
    - vlc_mutex_lock
    - vlc_tls_Write
    - _
    - msg_Err
    - Handshake
    - msg_Dbg
    - strstr
    - msg_Warn
    - vlc_sem_timedwait
    - vlc_tls_Close
    - vlc_memstream_write
    - vlc_thread_set_name
    - vlc_tls_Read
    - vlc_memstream_printf
    - HandleInterval
    - vlc_memstream_close
    - vlc_tls_SocketOpenTCP
    - vlc_memstream_puts
    - vlc_mutex_unlock
    - free
    - VLC_OBJECT
    - vlc_cond_wait
    linkageType: ''
    returnType: void
    signature: void *Run(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CFArrayCreateMutable
      Src: /src/vlc/modules/misc/securetransport.c:57,1
    - Dst: CFStringCreateWithCString
      Src: /src/vlc/modules/misc/securetransport.c:61,1
    - Dst: CFRelease
      Src: /src/vlc/modules/misc/securetransport.c:64,1
    - Dst: CFArrayAppendValue
      Src: /src/vlc/modules/misc/securetransport.c:67,1
    - Dst: CFRelease
      Src: /src/vlc/modules/misc/securetransport.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - alpn
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 71
    functionName: alpnToCFArray
    functionSourceFile: /src/vlc/modules/misc/securetransport.c
    functionUses: 0
    functionsReached:
    - CFStringCreateWithCString
    - CFArrayCreateMutable
    - CFRelease
    - CFArrayAppendValue
    linkageType: ''
    returnType: CFMutableArrayRef
    signature: CFMutableArrayRef alpnToCFArray(const char *const *alpn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CFArrayGetCount
      Src: /src/vlc/modules/misc/securetransport.c:78,1
    - Dst: CFArrayGetValueAtIndex
      Src: /src/vlc/modules/misc/securetransport.c:83,1
    - Dst: FromCFString
      Src: /src/vlc/modules/misc/securetransport.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - alpnArray
    argTypes:
    - CFArrayRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: CFArrayALPNCopyFirst
    functionSourceFile: /src/vlc/modules/misc/securetransport.c
    functionUses: 0
    functionsReached:
    - CFArrayGetValueAtIndex
    - FromCFString
    - CFArrayGetCount
    linkageType: ''
    returnType: char
    signature: char * CFArrayALPNCopyFirst(CFArrayRef alpnArray)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/securetransport.c:155,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/securetransport.c:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - obj
    - val
    argTypes:
    - vlc_tls_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 163
    functionName: st_Error
    functionSourceFile: /src/vlc/modules/misc/securetransport.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int st_Error (vlc_tls_t *obj, int val)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tls_st_t*::sock::ops::readv
      Src: /src/vlc/modules/misc/securetransport.c:183,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/securetransport.c:186,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/securetransport.c:202,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - connection
    - data
    - dataLength
    argTypes:
    - SSLConnectionRef
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 217
    functionName: st_SocketReadFunc
    functionSourceFile: /src/vlc/modules/misc/securetransport.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - vlc_tls_st_t*::sock::ops::readv
    - msg_Err
    linkageType: ''
    returnType: OSStatus
    signature: "OSStatus st_SocketReadFunc (SSLConnectionRef connection,\n                                   void
      *data,\n                                   size_t *dataLength)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tls_st_t*::sock::ops::writev
      Src: /src/vlc/modules/misc/securetransport.c:237,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/securetransport.c:251,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - connection
    - data
    - dataLength
    argTypes:
    - SSLConnectionRef
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 264
    functionName: st_SocketWriteFunc
    functionSourceFile: /src/vlc/modules/misc/securetransport.c
    functionUses: 0
    functionsReached:
    - vlc_tls_st_t*::sock::ops::writev
    - msg_Err
    linkageType: ''
    returnType: OSStatus
    signature: "OSStatus st_SocketWriteFunc (SSLConnectionRef connection,\n                                    const
      void *data,\n                                    size_t *dataLength)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: SSLCopyPeerTrust
      Src: /src/vlc/modules/misc/securetransport.c:273,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/securetransport.c:275,1
    - Dst: CFStringCreateWithCString
      Src: /src/vlc/modules/misc/securetransport.c:279,1
    - Dst: SecTrustSetAnchorCertificates
      Src: /src/vlc/modules/misc/securetransport.c:285,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/securetransport.c:287,1
    - Dst: SecTrustEvaluate
      Src: /src/vlc/modules/misc/securetransport.c:294,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/securetransport.c:296,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/securetransport.c:304,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/misc/securetransport.c:311,1
    - Dst: SecTrustGetCertificateCount
      Src: /src/vlc/modules/misc/securetransport.c:316,1
    - Dst: SecTrustGetCertificateAtIndex
      Src: /src/vlc/modules/misc/securetransport.c:321,1
    - Dst: CFRetain
      Src: /src/vlc/modules/misc/securetransport.c:322,1
    - Dst: CFArrayGetCount
      Src: /src/vlc/modules/misc/securetransport.c:325,1
    - Dst: CFArrayGetValueAtIndex
      Src: /src/vlc/modules/misc/securetransport.c:327,1
    - Dst: CFDictionaryGetValue
      Src: /src/vlc/modules/misc/securetransport.c:328,1
    - Dst: CFDictionaryGetValue
      Src: /src/vlc/modules/misc/securetransport.c:329,1
    - Dst: CFEqual
      Src: /src/vlc/modules/misc/securetransport.c:334,1
    - Dst: CFEqual
      Src: /src/vlc/modules/misc/securetransport.c:334,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/misc/securetransport.c:335,1
    - Dst: N_
      Src: /src/vlc/modules/misc/securetransport.c:351,1
    - Dst: vlc_dialog_wait_question
      Src: /src/vlc/modules/misc/securetransport.c:358,1
    - Dst: _
      Src: /src/vlc/modules/misc/securetransport.c:359,1
    - Dst: _
      Src: /src/vlc/modules/misc/securetransport.c:360,1
    - Dst: _
      Src: /src/vlc/modules/misc/securetransport.c:361,1
    - Dst: vlc_gettext
      Src: /src/vlc/modules/misc/securetransport.c:362,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/misc/securetransport.c:364,1
    - Dst: CFDictionaryCreate
      Src: /src/vlc/modules/misc/securetransport.c:369,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/securetransport.c:374,1
    - Dst: CFArrayAppendValue
      Src: /src/vlc/modules/misc/securetransport.c:379,1
    - Dst: CFRelease
      Src: /src/vlc/modules/misc/securetransport.c:380,1
    - Dst: CFRelease
      Src: /src/vlc/modules/misc/securetransport.c:391,1
    - Dst: CFRelease
      Src: /src/vlc/modules/misc/securetransport.c:394,1
    - Dst: CFRelease
      Src: /src/vlc/modules/misc/securetransport.c:396,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 74
    argCount: 2
    argNames:
    - session
    - hostname
    argTypes:
    - vlc_tls_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 399
    functionName: st_validateServerCertificate
    functionSourceFile: /src/vlc/modules/misc/securetransport.c
    functionUses: 0
    functionsReached:
    - CFDictionaryGetValue
    - N_
    - CFStringCreateWithCString
    - SecTrustGetCertificateCount
    - CFEqual
    - CFArrayGetCount
    - SSLCopyPeerTrust
    - CFRelease
    - _
    - msg_Err
    - msg_Dbg
    - CFRetain
    - msg_Warn
    - vlc_dialog_wait_question
    - CFArrayAppendValue
    - vlc_gettext
    - CFDictionaryCreate
    - SecTrustEvaluate
    - SecTrustSetAnchorCertificates
    - SecTrustGetCertificateAtIndex
    - CFArrayGetValueAtIndex
    linkageType: ''
    returnType: int
    signature: int st_validateServerCertificate (vlc_tls_t *session, const char *hostname)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/misc/securetransport.c:412,1
    - Dst: SSLHandshake
      Src: /src/vlc/modules/misc/securetransport.c:414,1
    - Dst: __builtin_available
      Src: /src/vlc/modules/misc/securetransport.c:425,1
    - Dst: SSLCopyALPNProtocols
      Src: /src/vlc/modules/misc/securetransport.c:428,1
    - Dst: CFArrayALPNCopyFirst
      Src: /src/vlc/modules/misc/securetransport.c:430,1
    - Dst: CFRelease
      Src: /src/vlc/modules/misc/securetransport.c:431,1
    - Dst: unlikely
      Src: /src/vlc/modules/misc/securetransport.c:432,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/securetransport.c:452,1
    - Dst: st_validateServerCertificate
      Src: /src/vlc/modules/misc/securetransport.c:458,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/securetransport.c:461,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/securetransport.c:466,1
    - Dst: st_Handshake
      Src: /src/vlc/modules/misc/securetransport.c:467,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/securetransport.c:470,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/securetransport.c:473,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/securetransport.c:476,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/securetransport.c:480,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 4
    argNames:
    - session
    - host
    - service
    - alp
    argTypes:
    - vlc_tls_t*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 483
    functionName: st_Handshake
    functionSourceFile: /src/vlc/modules/misc/securetransport.c
    functionUses: 1
    functionsReached:
    - st_Handshake
    - CFArrayALPNCopyFirst
    - CFRelease
    - st_validateServerCertificate
    - unlikely
    - VLC_UNUSED
    - msg_Err
    - msg_Dbg
    - __builtin_available
    - SSLCopyALPNProtocols
    - SSLHandshake
    linkageType: ''
    returnType: int
    signature: "int st_Handshake (vlc_tls_t *session,\n                         const
      char *host, const char *service,\n                         char **restrict alp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tls_GetPollFD
      Src: /src/vlc/modules/misc/securetransport.c:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - events
    argTypes:
    - vlc_tls_t*
    - short*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 491
    functionName: st_GetFD
    functionSourceFile: /src/vlc/modules/misc/securetransport.c
    functionUses: 0
    functionsReached:
    - vlc_tls_GetPollFD
    linkageType: ''
    returnType: int
    signature: int st_GetFD (vlc_tls_t *session, short *restrict events)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/misc/securetransport.c:502,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/misc/securetransport.c:505,1
    - Dst: SSLWrite
      Src: /src/vlc/modules/misc/securetransport.c:527,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/misc/securetransport.c:535,1
    - Dst: SSLWrite
      Src: /src/vlc/modules/misc/securetransport.c:541,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/misc/securetransport.c:547,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/misc/securetransport.c:552,1
    - Dst: st_Error
      Src: /src/vlc/modules/misc/securetransport.c:553,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - session
    - iov
    - count
    argTypes:
    - vlc_tls_t*
    - struct iovec*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 554
    functionName: st_Send
    functionSourceFile: /src/vlc/modules/misc/securetransport.c
    functionUses: 0
    functionsReached:
    - st_Error
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - SSLWrite
    - unlikely
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t st_Send (vlc_tls_t *session, const struct iovec *iov,\n                        unsigned
      count)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/misc/securetransport.c:563,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/misc/securetransport.c:566,1
    - Dst: SSLRead
      Src: /src/vlc/modules/misc/securetransport.c:569,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/misc/securetransport.c:573,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/securetransport.c:579,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/misc/securetransport.c:580,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/misc/securetransport.c:584,1
    - Dst: st_Error
      Src: /src/vlc/modules/misc/securetransport.c:585,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - session
    - iov
    - count
    argTypes:
    - vlc_tls_t*
    - struct iovec*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 559
    functionDepth: 2
    functionLinenumber: 559
    functionLinenumberEnd: 586
    functionName: st_Recv
    functionSourceFile: /src/vlc/modules/misc/securetransport.c
    functionUses: 0
    functionsReached:
    - st_Error
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - msg_Dbg
    - SSLRead
    - unlikely
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t st_Recv (vlc_tls_t *session, struct iovec *iov, unsigned count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/securetransport.c:596,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/misc/securetransport.c:599,1
    - Dst: SSLClose
      Src: /src/vlc/modules/misc/securetransport.c:602,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/misc/securetransport.c:606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - session
    - duplex
    argTypes:
    - vlc_tls_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 611
    functionName: st_SessionShutdown
    functionSourceFile: /src/vlc/modules/misc/securetransport.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - msg_Warn
    - SSLClose
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int st_SessionShutdown (vlc_tls_t *session, bool duplex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/securetransport.c:616,1
    - Dst: CFRelease
      Src: /src/vlc/modules/misc/securetransport.c:619,1
    - Dst: free
      Src: /src/vlc/modules/misc/securetransport.c:621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - session
    argTypes:
    - vlc_tls_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 622
    functionName: st_SessionClose
    functionSourceFile: /src/vlc/modules/misc/securetransport.c
    functionUses: 0
    functionsReached:
    - free
    - msg_Dbg
    - CFRelease
    linkageType: ''
    returnType: void
    signature: void st_SessionClose (vlc_tls_t *session)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/misc/securetransport.c:641,1
    - Dst: unlikely
      Src: /src/vlc/modules/misc/securetransport.c:642,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/misc/securetransport.c:652,1
    - Dst: SSLCreateContext
      Src: /src/vlc/modules/misc/securetransport.c:660,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/securetransport.c:662,1
    - Dst: SSLSetIOFuncs
      Src: /src/vlc/modules/misc/securetransport.c:668,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/securetransport.c:670,1
    - Dst: SSLSetConnection
      Src: /src/vlc/modules/misc/securetransport.c:674,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/securetransport.c:676,1
    - Dst: st_SessionClose
      Src: /src/vlc/modules/misc/securetransport.c:683,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 4
    argNames:
    - obj
    - crd
    - sock
    - b_server
    argTypes:
    - vlc_object_t*
    - vlc_tls_creds_sys_t*
    - vlc_tls_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 637
    functionDepth: 2
    functionLinenumber: 637
    functionLinenumberEnd: 685
    functionName: st_SessionOpenCommon
    functionSourceFile: /src/vlc/modules/misc/securetransport.c
    functionUses: 0
    functionsReached:
    - st_SessionClose
    - SSLCreateContext
    - SSLSetConnection
    - vlc_mutex_init
    - msg_Err
    - SSLSetIOFuncs
    - unlikely
    - malloc
    linkageType: ''
    returnType: vlc_tls_st_t
    signature: "vlc_tls_st_t *st_SessionOpenCommon(vlc_object_t *obj,\n                                          vlc_tls_creds_sys_t
      *crd,\n                                          vlc_tls_t *sock, bool b_server)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/securetransport.c:690,1
    - Dst: st_SessionOpenCommon
      Src: /src/vlc/modules/misc/securetransport.c:692,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/misc/securetransport.c:692,1
    - Dst: SSLSetPeerDomainName
      Src: /src/vlc/modules/misc/securetransport.c:697,1
    - Dst: strlen
      Src: /src/vlc/modules/misc/securetransport.c:697,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/securetransport.c:699,1
    - Dst: __builtin_available
      Src: /src/vlc/modules/misc/securetransport.c:712,1
    - Dst: alpnToCFArray
      Src: /src/vlc/modules/misc/securetransport.c:714,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/securetransport.c:717,1
    - Dst: SSLSetALPNProtocols
      Src: /src/vlc/modules/misc/securetransport.c:721,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/securetransport.c:723,1
    - Dst: CFRelease
      Src: /src/vlc/modules/misc/securetransport.c:725,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/misc/securetransport.c:727,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/misc/securetransport.c:736,1
    - Dst: SSLSetSessionOption
      Src: /src/vlc/modules/misc/securetransport.c:746,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/securetransport.c:748,1
    - Dst: SSLSetEnableCertVerify
      Src: /src/vlc/modules/misc/securetransport.c:753,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/securetransport.c:755,1
    - Dst: st_SessionShutdown
      Src: /src/vlc/modules/misc/securetransport.c:763,1
    - Dst: st_SessionClose
      Src: /src/vlc/modules/misc/securetransport.c:764,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 4
    argNames:
    - crd
    - sock
    - hostname
    - alpn
    argTypes:
    - vlc_tls_client_t*
    - vlc_tls_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 687
    functionDepth: 3
    functionLinenumber: 687
    functionLinenumberEnd: 766
    functionName: st_ClientSessionOpen
    functionSourceFile: /src/vlc/modules/misc/securetransport.c
    functionUses: 0
    functionsReached:
    - st_SessionClose
    - SSLSetALPNProtocols
    - CFRelease
    - SSLSetSessionOption
    - strlen
    - st_SessionOpenCommon
    - msg_Err
    - SSLSetEnableCertVerify
    - st_SessionShutdown
    - SSLSetPeerDomainName
    - msg_Dbg
    - VLC_OBJECT
    - msg_Warn
    - alpnToCFArray
    - __builtin_available
    linkageType: ''
    returnType: vlc_tls_t
    signature: "vlc_tls_t *st_ClientSessionOpen(vlc_tls_client_t *crd, vlc_tls_t *sock,\n
      \                                const char *hostname, const char *const *alpn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/securetransport.c:769,1
    - Dst: CFRelease
      Src: /src/vlc/modules/misc/securetransport.c:774,1
    - Dst: free
      Src: /src/vlc/modules/misc/securetransport.c:776,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - crd
    argTypes:
    - vlc_tls_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 777
    functionName: st_ClientDestroy
    functionSourceFile: /src/vlc/modules/misc/securetransport.c
    functionUses: 0
    functionsReached:
    - free
    - msg_Dbg
    - CFRelease
    linkageType: ''
    returnType: void
    signature: void st_ClientDestroy (vlc_tls_client_t *crd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/securetransport.c:791,1
    - Dst: malloc
      Src: /src/vlc/modules/misc/securetransport.c:793,1
    - Dst: unlikely
      Src: /src/vlc/modules/misc/securetransport.c:794,1
    - Dst: CFArrayCreateMutable
      Src: /src/vlc/modules/misc/securetransport.c:797,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - crd
    argTypes:
    - vlc_tls_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 803
    functionName: OpenClient
    functionSourceFile: /src/vlc/modules/misc/securetransport.c
    functionUses: 0
    functionsReached:
    - unlikely
    - CFArrayCreateMutable
    - msg_Dbg
    - malloc
    linkageType: ''
    returnType: int
    signature: int OpenClient (vlc_tls_client_t *crd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/misc/securetransport.c:814,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/securetransport.c:815,1
    - Dst: st_SessionOpenCommon
      Src: /src/vlc/modules/misc/securetransport.c:817,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/misc/securetransport.c:817,1
    - Dst: SSLSetCertificate
      Src: /src/vlc/modules/misc/securetransport.c:824,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/securetransport.c:826,1
    - Dst: st_SessionShutdown
      Src: /src/vlc/modules/misc/securetransport.c:833,1
    - Dst: st_SessionClose
      Src: /src/vlc/modules/misc/securetransport.c:834,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - crd
    - sock
    - alpn
    argTypes:
    - vlc_tls_server_t*
    - vlc_tls_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 811
    functionDepth: 3
    functionLinenumber: 811
    functionLinenumberEnd: 836
    functionName: st_ServerSessionOpen
    functionSourceFile: /src/vlc/modules/misc/securetransport.c
    functionUses: 0
    functionsReached:
    - st_SessionClose
    - st_SessionOpenCommon
    - msg_Err
    - st_SessionShutdown
    - msg_Dbg
    - VLC_OBJECT
    - SSLSetCertificate
    - VLC_UNUSED
    linkageType: ''
    returnType: vlc_tls_t
    signature: "vlc_tls_t *st_ServerSessionOpen (vlc_tls_server_t *crd, vlc_tls_t
      *sock,\n                                        const char *const *alpn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: st_Handshake
      Src: /src/vlc/modules/misc/securetransport.c:840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - session
    - alp
    argTypes:
    - vlc_tls_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 838
    functionDepth: 3
    functionLinenumber: 838
    functionLinenumberEnd: 841
    functionName: st_ServerHandshake
    functionSourceFile: /src/vlc/modules/misc/securetransport.c
    functionUses: 0
    functionsReached:
    - st_Handshake
    linkageType: ''
    returnType: int
    signature: int st_ServerHandshake (vlc_tls_t *session, char **restrict alp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/securetransport.c:844,1
    - Dst: CFRelease
      Src: /src/vlc/modules/misc/securetransport.c:849,1
    - Dst: free
      Src: /src/vlc/modules/misc/securetransport.c:851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - crd
    argTypes:
    - vlc_tls_server_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 843
    functionDepth: 1
    functionLinenumber: 843
    functionLinenumberEnd: 852
    functionName: st_ServerDestroy
    functionSourceFile: /src/vlc/modules/misc/securetransport.c
    functionUses: 0
    functionsReached:
    - free
    - msg_Dbg
    - CFRelease
    linkageType: ''
    returnType: void
    signature: void st_ServerDestroy (vlc_tls_server_t *crd)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/misc/securetransport.c:870,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/securetransport.c:873,1
    - Dst: strlen
      Src: /src/vlc/modules/misc/securetransport.c:881,1
    - Dst: SecKeychainSearchCreateFromAttributes
      Src: /src/vlc/modules/misc/securetransport.c:885,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/securetransport.c:888,1
    - Dst: SecKeychainSearchCopyNext
      Src: /src/vlc/modules/misc/securetransport.c:893,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/securetransport.c:895,1
    - Dst: CFRelease
      Src: /src/vlc/modules/misc/securetransport.c:898,1
    - Dst: SecIdentityCreateWithCertificate
      Src: /src/vlc/modules/misc/securetransport.c:904,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/securetransport.c:906,1
    - Dst: CFRelease
      Src: /src/vlc/modules/misc/securetransport.c:907,1
    - Dst: SecPolicyCreateSSL
      Src: /src/vlc/modules/misc/securetransport.c:915,1
    - Dst: SecTrustCreateWithCertificates
      Src: /src/vlc/modules/misc/securetransport.c:920,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/securetransport.c:922,1
    - Dst: SecTrustEvaluate
      Src: /src/vlc/modules/misc/securetransport.c:928,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/securetransport.c:930,1
    - Dst: SecTrustGetResult
      Src: /src/vlc/modules/misc/securetransport.c:937,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/securetransport.c:939,1
    - Dst: CFArrayGetCount
      Src: /src/vlc/modules/misc/securetransport.c:944,1
    - Dst: CFArrayCreateMutable
      Src: /src/vlc/modules/misc/securetransport.c:947,1
    - Dst: CFArrayAppendValue
      Src: /src/vlc/modules/misc/securetransport.c:948,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/securetransport.c:950,1
    - Dst: CFArrayAppendArray
      Src: /src/vlc/modules/misc/securetransport.c:952,1
    - Dst: CFRangeMake
      Src: /src/vlc/modules/misc/securetransport.c:952,1
    - Dst: CFRelease
      Src: /src/vlc/modules/misc/securetransport.c:953,1
    - Dst: malloc
      Src: /src/vlc/modules/misc/securetransport.c:955,1
    - Dst: unlikely
      Src: /src/vlc/modules/misc/securetransport.c:956,1
    - Dst: CFRelease
      Src: /src/vlc/modules/misc/securetransport.c:957,1
    - Dst: CFRelease
      Src: /src/vlc/modules/misc/securetransport.c:970,1
    - Dst: CFRelease
      Src: /src/vlc/modules/misc/securetransport.c:972,1
    - Dst: CFRelease
      Src: /src/vlc/modules/misc/securetransport.c:975,1
    - Dst: CFRelease
      Src: /src/vlc/modules/misc/securetransport.c:977,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 67
    argCount: 3
    argNames:
    - crd
    - cert
    - key
    argTypes:
    - vlc_tls_server_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 980
    functionName: OpenServer
    functionSourceFile: /src/vlc/modules/misc/securetransport.c
    functionUses: 0
    functionsReached:
    - SecKeychainSearchCopyNext
    - SecTrustCreateWithCertificates
    - SecTrustGetResult
    - CFArrayCreateMutable
    - CFArrayGetCount
    - CFRelease
    - msg_Err
    - msg_Dbg
    - CFRangeMake
    - CFArrayAppendValue
    - CFArrayAppendArray
    - SecKeychainSearchCreateFromAttributes
    - SecIdentityCreateWithCertificate
    - SecPolicyCreateSSL
    - VLC_UNUSED
    - SecTrustEvaluate
    - strlen
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int OpenServer (vlc_tls_server_t *crd, const char *cert, const char
      *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/gnutls.c:54,1
    - Dst: gnutls_check_version
      Src: /src/vlc/modules/misc/gnutls.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: gnutls_Banner
    functionSourceFile: /src/vlc/modules/misc/gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_check_version
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void gnutls_Banner(vlc_object_t *obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WSASetLastError
      Src: /src/vlc/modules/misc/gnutls.c:64,1
    - Dst: WSASetLastError
      Src: /src/vlc/modules/misc/gnutls.c:71,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/gnutls.c:77,1
    - Dst: gnutls_strerror
      Src: /src/vlc/modules/misc/gnutls.c:77,1
    - Dst: gnutls_error_is_fatal
      Src: /src/vlc/modules/misc/gnutls.c:79,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/gnutls.c:80,1
    - Dst: WSASetLastError
      Src: /src/vlc/modules/misc/gnutls.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - priv
    - val
    argTypes:
    - vlc_tls_gnutls_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 88
    functionName: gnutls_Error
    functionSourceFile: /src/vlc/modules/misc/gnutls.c
    functionUses: 0
    functionsReached:
    - WSASetLastError
    - gnutls_error_is_fatal
    - gnutls_strerror
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int gnutls_Error(vlc_tls_gnutls_t *priv, int val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tls_t*::ops::readv
      Src: /src/vlc/modules/misc/gnutls.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - buf
    - length
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: vlc_gnutls_read
    functionSourceFile: /src/vlc/modules/misc/gnutls.c
    functionUses: 0
    functionsReached:
    - vlc_tls_t*::ops::readv
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t vlc_gnutls_read(gnutls_transport_ptr_t ptr, void *buf,\n                               size_t
      length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/vlc/modules/misc/gnutls.c:108,1
    - Dst: unlikely
      Src: /src/vlc/modules/misc/gnutls.c:110,1
    - Dst: unlikely
      Src: /src/vlc/modules/misc/gnutls.c:115,1
    - Dst: vlc_tls_t*::ops::writev
      Src: /src/vlc/modules/misc/gnutls.c:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ptr
    - giov
    - iovcnt
    argTypes:
    - gnutls_transport_ptr_t
    - giovec_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 128
    functionName: vlc_gnutls_writev
    functionSourceFile: /src/vlc/modules/misc/gnutls.c
    functionUses: 0
    functionsReached:
    - vlc_tls_t*::ops::writev
    - unlikely
    - sysconf
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t vlc_gnutls_writev(gnutls_transport_ptr_t ptr,\n                                 const
      giovec_t *giov, int iovcnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_transport_get_ptr
      Src: /src/vlc/modules/misc/gnutls.c:133,1
    - Dst: vlc_tls_GetPollFD
      Src: /src/vlc/modules/misc/gnutls.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tls
    - events
    argTypes:
    - vlc_tls_t*
    - short*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: gnutls_GetFD
    functionSourceFile: /src/vlc/modules/misc/gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_transport_get_ptr
    - vlc_tls_GetPollFD
    linkageType: ''
    returnType: int
    signature: int gnutls_GetFD(vlc_tls_t *tls, short *restrict events)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_record_recv
      Src: /src/vlc/modules/misc/gnutls.c:146,1
    - Dst: gnutls_Error
      Src: /src/vlc/modules/misc/gnutls.c:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - tls
    - iov
    - count
    argTypes:
    - vlc_tls_t*
    - struct iovec*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 160
    functionName: gnutls_Recv
    functionSourceFile: /src/vlc/modules/misc/gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_Error
    - gnutls_record_recv
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t gnutls_Recv(vlc_tls_t *tls, struct iovec *iov, unsigned count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_record_check_corked
      Src: /src/vlc/modules/misc/gnutls.c:169,1
    - Dst: gnutls_record_cork
      Src: /src/vlc/modules/misc/gnutls.c:171,1
    - Dst: gnutls_record_send
      Src: /src/vlc/modules/misc/gnutls.c:175,1
    - Dst: gnutls_record_uncork
      Src: /src/vlc/modules/misc/gnutls.c:184,1
    - Dst: gnutls_Error
      Src: /src/vlc/modules/misc/gnutls.c:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - tls
    - iov
    - count
    argTypes:
    - vlc_tls_t*
    - struct iovec*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 186
    functionName: gnutls_Send
    functionSourceFile: /src/vlc/modules/misc/gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_record_cork
    - gnutls_record_check_corked
    - gnutls_record_send
    - gnutls_record_uncork
    - gnutls_Error
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t gnutls_Send (vlc_tls_t *tls, const struct iovec *iov,\n                            unsigned
      count)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_record_uncork
      Src: /src/vlc/modules/misc/gnutls.c:195,1
    - Dst: gnutls_Error
      Src: /src/vlc/modules/misc/gnutls.c:197,1
    - Dst: gnutls_bye
      Src: /src/vlc/modules/misc/gnutls.c:199,1
    - Dst: gnutls_Error
      Src: /src/vlc/modules/misc/gnutls.c:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - tls
    - duplex
    argTypes:
    - vlc_tls_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 204
    functionName: gnutls_Shutdown
    functionSourceFile: /src/vlc/modules/misc/gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_bye
    - gnutls_Error
    - gnutls_record_uncork
    linkageType: ''
    returnType: int
    signature: int gnutls_Shutdown(vlc_tls_t *tls, bool duplex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_deinit
      Src: /src/vlc/modules/misc/gnutls.c:210,1
    - Dst: free
      Src: /src/vlc/modules/misc/gnutls.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tls
    argTypes:
    - vlc_tls_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 212
    functionName: gnutls_Close
    functionSourceFile: /src/vlc/modules/misc/gnutls.c
    functionUses: 0
    functionsReached:
    - free
    - gnutls_deinit
    linkageType: ''
    returnType: void
    signature: void gnutls_Close (vlc_tls_t *tls)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/misc/gnutls.c:228,1
    - Dst: unlikely
      Src: /src/vlc/modules/misc/gnutls.c:229,1
    - Dst: gnutls_init
      Src: /src/vlc/modules/misc/gnutls.c:238,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/gnutls.c:241,1
    - Dst: gnutls_strerror
      Src: /src/vlc/modules/misc/gnutls.c:242,1
    - Dst: free
      Src: /src/vlc/modules/misc/gnutls.c:243,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/misc/gnutls.c:247,1
    - Dst: unlikely
      Src: /src/vlc/modules/misc/gnutls.c:248,1
    - Dst: gnutls_priority_set_direct
      Src: /src/vlc/modules/misc/gnutls.c:251,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/gnutls.c:253,1
    - Dst: gnutls_strerror
      Src: /src/vlc/modules/misc/gnutls.c:254,1
    - Dst: free
      Src: /src/vlc/modules/misc/gnutls.c:255,1
    - Dst: gnutls_credentials_set
      Src: /src/vlc/modules/misc/gnutls.c:259,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/gnutls.c:262,1
    - Dst: gnutls_strerror
      Src: /src/vlc/modules/misc/gnutls.c:263,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/misc/gnutls.c:279,1
    - Dst: unlikely
      Src: /src/vlc/modules/misc/gnutls.c:280,1
    - Dst: strlen
      Src: /src/vlc/modules/misc/gnutls.c:286,1
    - Dst: gnutls_alpn_set_protocols
      Src: /src/vlc/modules/misc/gnutls.c:290,1
    - Dst: free
      Src: /src/vlc/modules/misc/gnutls.c:291,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/vlc/modules/misc/gnutls.c:294,1
    - Dst: gnutls_transport_set_vec_push_function
      Src: /src/vlc/modules/misc/gnutls.c:295,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/vlc/modules/misc/gnutls.c:296,1
    - Dst: gnutls_deinit
      Src: /src/vlc/modules/misc/gnutls.c:307,1
    - Dst: free
      Src: /src/vlc/modules/misc/gnutls.c:308,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 5
    argNames:
    - obj
    - type
    - x509
    - sock
    - alpn
    argTypes:
    - vlc_object_t*
    - int
    - gnutls_certificate_credentials_t
    - vlc_tls_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 310
    functionName: gnutls_SessionOpen
    functionSourceFile: /src/vlc/modules/misc/gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_credentials_set
    - gnutls_transport_set_pull_function
    - gnutls_strerror
    - var_InheritString
    - gnutls_priority_set_direct
    - gnutls_alpn_set_protocols
    - strlen
    - gnutls_transport_set_vec_push_function
    - msg_Err
    - free
    - gnutls_transport_set_ptr
    - gnutls_deinit
    - vlc_alloc
    - gnutls_init
    - unlikely
    - malloc
    linkageType: ''
    returnType: vlc_tls_gnutls_t
    signature: "vlc_tls_gnutls_t *gnutls_SessionOpen(vlc_object_t *obj, int type,\n
      \                                        gnutls_certificate_credentials_t x509,\n
      \                                          vlc_tls_t *sock,\n                                           const
      char *const *alpn)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_handshake
      Src: /src/vlc/modules/misc/gnutls.c:324,1
    - Dst: gnutls_error_is_fatal
      Src: /src/vlc/modules/misc/gnutls.c:326,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/gnutls.c:328,1
    - Dst: gnutls_strerror
      Src: /src/vlc/modules/misc/gnutls.c:328,1
    - Dst: gnutls_record_get_direction
      Src: /src/vlc/modules/misc/gnutls.c:339,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/misc/gnutls.c:341,1
    - Dst: gnutls_strerror
      Src: /src/vlc/modules/misc/gnutls.c:341,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/gnutls.c:345,1
    - Dst: gnutls_session_get_flags
      Src: /src/vlc/modules/misc/gnutls.c:347,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/gnutls.c:350,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/gnutls.c:352,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/gnutls.c:354,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/gnutls.c:356,1
    - Dst: gnutls_alpn_get_selected_protocol
      Src: /src/vlc/modules/misc/gnutls.c:362,1
    - Dst: memchr
      Src: /src/vlc/modules/misc/gnutls.c:365,1
    - Dst: strndup
      Src: /src/vlc/modules/misc/gnutls.c:368,1
    - Dst: unlikely
      Src: /src/vlc/modules/misc/gnutls.c:369,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 2
    argNames:
    - tls
    - alp
    argTypes:
    - vlc_tls_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 376
    functionName: gnutls_Handshake
    functionSourceFile: /src/vlc/modules/misc/gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_error_is_fatal
    - strndup
    - gnutls_strerror
    - gnutls_alpn_get_selected_protocol
    - gnutls_session_get_flags
    - msg_Err
    - gnutls_handshake
    - msg_Dbg
    - msg_Warn
    - gnutls_record_get_direction
    - unlikely
    - memchr
    linkageType: ''
    returnType: int
    signature: int gnutls_Handshake(vlc_tls_t *tls, char **restrict alp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_SessionOpen
      Src: /src/vlc/modules/misc/gnutls.c:382,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/misc/gnutls.c:382,1
    - Dst: likely
      Src: /src/vlc/modules/misc/gnutls.c:389,1
    - Dst: gnutls_server_name_set
      Src: /src/vlc/modules/misc/gnutls.c:391,1
    - Dst: strlen
      Src: /src/vlc/modules/misc/gnutls.c:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - crd
    - sk
    - hostname
    - alpn
    argTypes:
    - vlc_tls_client_t*
    - vlc_tls_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 395
    functionName: gnutls_ClientSessionOpen
    functionSourceFile: /src/vlc/modules/misc/gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_server_name_set
    - strlen
    - gnutls_SessionOpen
    - likely
    - VLC_OBJECT
    linkageType: ''
    returnType: vlc_tls_t
    signature: "vlc_tls_t *gnutls_ClientSessionOpen(vlc_tls_client_t *crd,\n                                           vlc_tls_t
      *sk, const char *hostname,\n                                           const
      char *const *alpn)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_Handshake
      Src: /src/vlc/modules/misc/gnutls.c:404,1
    - Dst: gnutls_certificate_verify_peers3
      Src: /src/vlc/modules/misc/gnutls.c:412,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/gnutls.c:415,1
    - Dst: gnutls_strerror
      Src: /src/vlc/modules/misc/gnutls.c:416,1
    - Dst: gnutls_certificate_verification_status_print
      Src: /src/vlc/modules/misc/gnutls.c:426,1
    - Dst: gnutls_certificate_type_get
      Src: /src/vlc/modules/misc/gnutls.c:427,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/gnutls.c:429,1
    - Dst: gnutls_free
      Src: /src/vlc/modules/misc/gnutls.c:430,1
    - Dst: gnutls_certificate_get_peers
      Src: /src/vlc/modules/misc/gnutls.c:444,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/gnutls.c:447,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/gnutls.c:451,1
    - Dst: gnutls_verify_stored_pubkey
      Src: /src/vlc/modules/misc/gnutls.c:452,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/gnutls.c:458,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/gnutls.c:461,1
    - Dst: N_
      Src: /src/vlc/modules/misc/gnutls.c:462,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/gnutls.c:467,1
    - Dst: N_
      Src: /src/vlc/modules/misc/gnutls.c:468,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/gnutls.c:473,1
    - Dst: gnutls_strerror
      Src: /src/vlc/modules/misc/gnutls.c:474,1
    - Dst: vlc_dialog_wait_question
      Src: /src/vlc/modules/misc/gnutls.c:478,1
    - Dst: _
      Src: /src/vlc/modules/misc/gnutls.c:479,1
    - Dst: _
      Src: /src/vlc/modules/misc/gnutls.c:479,1
    - Dst: _
      Src: /src/vlc/modules/misc/gnutls.c:480,1
    - Dst: _
      Src: /src/vlc/modules/misc/gnutls.c:481,1
    - Dst: vlc_gettext
      Src: /src/vlc/modules/misc/gnutls.c:484,1
    - Dst: gnutls_x509_crt_init
      Src: /src/vlc/modules/misc/gnutls.c:489,1
    - Dst: gnutls_x509_crt_import
      Src: /src/vlc/modules/misc/gnutls.c:491,1
    - Dst: gnutls_x509_crt_print
      Src: /src/vlc/modules/misc/gnutls.c:492,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/vlc/modules/misc/gnutls.c:494,1
    - Dst: gnutls_x509_crt_deinit
      Src: /src/vlc/modules/misc/gnutls.c:497,1
    - Dst: vlc_dialog_wait_question
      Src: /src/vlc/modules/misc/gnutls.c:499,1
    - Dst: _
      Src: /src/vlc/modules/misc/gnutls.c:500,1
    - Dst: _
      Src: /src/vlc/modules/misc/gnutls.c:500,1
    - Dst: _
      Src: /src/vlc/modules/misc/gnutls.c:500,1
    - Dst: _
      Src: /src/vlc/modules/misc/gnutls.c:501,1
    - Dst: _
      Src: /src/vlc/modules/misc/gnutls.c:502,1
    - Dst: gnutls_free
      Src: /src/vlc/modules/misc/gnutls.c:504,1
    - Dst: time
      Src: /src/vlc/modules/misc/gnutls.c:510,1
    - Dst: gnutls_store_pubkey
      Src: /src/vlc/modules/misc/gnutls.c:514,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/gnutls.c:517,1
    - Dst: gnutls_strerror
      Src: /src/vlc/modules/misc/gnutls.c:518,1
    - Dst: free
      Src: /src/vlc/modules/misc/gnutls.c:527,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 79
    argCount: 4
    argNames:
    - tls
    - host
    - service
    - alp
    argTypes:
    - vlc_tls_t*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 397
    functionDepth: 3
    functionLinenumber: 397
    functionLinenumberEnd: 529
    functionName: gnutls_ClientHandshake
    functionSourceFile: /src/vlc/modules/misc/gnutls.c
    functionUses: 0
    functionsReached:
    - N_
    - gnutls_x509_crt_init
    - gnutls_certificate_verification_status_print
    - gnutls_certificate_verify_peers3
    - gnutls_strerror
    - _
    - msg_Err
    - msg_Dbg
    - vlc_dialog_wait_question
    - gnutls_store_pubkey
    - vlc_gettext
    - time
    - gnutls_x509_crt_import
    - gnutls_x509_crt_print
    - gnutls_verify_stored_pubkey
    - gnutls_Handshake
    - gnutls_certificate_type_get
    - free
    - gnutls_x509_crt_deinit
    - gnutls_certificate_get_peers
    - gnutls_free
    linkageType: ''
    returnType: int
    signature: "int gnutls_ClientHandshake(vlc_tls_t *tls,\n                                  const
      char *host, const char *service,\n                                  char **restrict
      alp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_free_credentials
      Src: /src/vlc/modules/misc/gnutls.c:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crd
    argTypes:
    - vlc_tls_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 536
    functionName: gnutls_ClientDestroy
    functionSourceFile: /src/vlc/modules/misc/gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_certificate_free_credentials
    linkageType: ''
    returnType: void
    signature: void gnutls_ClientDestroy(vlc_tls_client_t *crd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_Banner
      Src: /src/vlc/modules/misc/gnutls.c:552,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/misc/gnutls.c:552,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/vlc/modules/misc/gnutls.c:554,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/gnutls.c:557,1
    - Dst: gnutls_strerror
      Src: /src/vlc/modules/misc/gnutls.c:558,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/misc/gnutls.c:562,1
    - Dst: gnutls_certificate_set_x509_system_trust
      Src: /src/vlc/modules/misc/gnutls.c:564,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/gnutls.c:566,1
    - Dst: gnutls_strerror
      Src: /src/vlc/modules/misc/gnutls.c:567,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/gnutls.c:569,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/misc/gnutls.c:572,1
    - Dst: gnutls_certificate_set_x509_trust_dir
      Src: /src/vlc/modules/misc/gnutls.c:575,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/gnutls.c:578,1
    - Dst: gnutls_strerror
      Src: /src/vlc/modules/misc/gnutls.c:579,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/gnutls.c:581,1
    - Dst: free
      Src: /src/vlc/modules/misc/gnutls.c:582,1
    - Dst: gnutls_certificate_set_verify_flags
      Src: /src/vlc/modules/misc/gnutls.c:585,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - crd
    argTypes:
    - vlc_tls_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 548
    functionDepth: 2
    functionLinenumber: 548
    functionLinenumberEnd: 591
    functionName: OpenClient
    functionSourceFile: /src/vlc/modules/misc/gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_Banner
    - gnutls_strerror
    - var_InheritString
    - gnutls_certificate_set_x509_system_trust
    - gnutls_certificate_set_verify_flags
    - var_InheritBool
    - msg_Err
    - free
    - msg_Dbg
    - VLC_OBJECT
    - gnutls_certificate_set_x509_trust_dir
    - gnutls_certificate_allocate_credentials
    linkageType: ''
    returnType: int
    signature: int OpenClient(vlc_tls_client_t *crd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_SessionOpen
      Src: /src/vlc/modules/misc/gnutls.c:611,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/misc/gnutls.c:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - crd
    - sk
    - alpn
    argTypes:
    - vlc_tls_server_t*
    - vlc_tls_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 614
    functionName: gnutls_ServerSessionOpen
    functionSourceFile: /src/vlc/modules/misc/gnutls.c
    functionUses: 0
    functionsReached:
    - VLC_OBJECT
    - gnutls_SessionOpen
    linkageType: ''
    returnType: vlc_tls_t
    signature: "vlc_tls_t *gnutls_ServerSessionOpen(vlc_tls_server_t *crd,\n                                           vlc_tls_t
      *sk,\n                                           const char *const *alpn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_certificate_free_credentials
      Src: /src/vlc/modules/misc/gnutls.c:621,1
    - Dst: gnutls_dh_params_deinit
      Src: /src/vlc/modules/misc/gnutls.c:622,1
    - Dst: free
      Src: /src/vlc/modules/misc/gnutls.c:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - crd
    argTypes:
    - vlc_tls_server_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 624
    functionName: gnutls_ServerDestroy
    functionSourceFile: /src/vlc/modules/misc/gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_dh_params_deinit
    - free
    - gnutls_certificate_free_credentials
    linkageType: ''
    returnType: void
    signature: void gnutls_ServerDestroy(vlc_tls_server_t *crd)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gnutls_Banner
      Src: /src/vlc/modules/misc/gnutls.c:638,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/misc/gnutls.c:638,1
    - Dst: malloc
      Src: /src/vlc/modules/misc/gnutls.c:640,1
    - Dst: unlikely
      Src: /src/vlc/modules/misc/gnutls.c:641,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/vlc/modules/misc/gnutls.c:645,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/gnutls.c:648,1
    - Dst: gnutls_strerror
      Src: /src/vlc/modules/misc/gnutls.c:649,1
    - Dst: free
      Src: /src/vlc/modules/misc/gnutls.c:650,1
    - Dst: block_FilePath
      Src: /src/vlc/modules/misc/gnutls.c:654,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/gnutls.c:657,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/misc/gnutls.c:658,1
    - Dst: block_FilePath
      Src: /src/vlc/modules/misc/gnutls.c:662,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/gnutls.c:665,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/misc/gnutls.c:666,1
    - Dst: block_Release
      Src: /src/vlc/modules/misc/gnutls.c:667,1
    - Dst: gnutls_certificate_set_x509_key_mem
      Src: /src/vlc/modules/misc/gnutls.c:679,1
    - Dst: block_Release
      Src: /src/vlc/modules/misc/gnutls.c:681,1
    - Dst: block_Release
      Src: /src/vlc/modules/misc/gnutls.c:682,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/gnutls.c:685,1
    - Dst: gnutls_strerror
      Src: /src/vlc/modules/misc/gnutls.c:685,1
    - Dst: gnutls_dh_params_init
      Src: /src/vlc/modules/misc/gnutls.c:693,1
    - Dst: gnutls_sec_param_to_pk_bits
      Src: /src/vlc/modules/misc/gnutls.c:697,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/gnutls.c:699,1
    - Dst: gnutls_dh_params_generate2
      Src: /src/vlc/modules/misc/gnutls.c:700,1
    - Dst: gnutls_certificate_set_dh_params
      Src: /src/vlc/modules/misc/gnutls.c:702,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/gnutls.c:707,1
    - Dst: gnutls_strerror
      Src: /src/vlc/modules/misc/gnutls.c:708,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/gnutls.c:711,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/vlc/modules/misc/gnutls.c:718,1
    - Dst: free
      Src: /src/vlc/modules/misc/gnutls.c:719,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 3
    argNames:
    - crd
    - cert
    - key
    argTypes:
    - vlc_tls_server_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 636
    functionDepth: 2
    functionLinenumber: 636
    functionLinenumberEnd: 721
    functionName: OpenServer
    functionSourceFile: /src/vlc/modules/misc/gnutls.c
    functionUses: 0
    functionsReached:
    - gnutls_Banner
    - gnutls_strerror
    - vlc_strerror_c
    - block_Release
    - gnutls_sec_param_to_pk_bits
    - gnutls_certificate_free_credentials
    - gnutls_certificate_set_x509_key_mem
    - gnutls_dh_params_init
    - block_FilePath
    - msg_Err
    - free
    - msg_Dbg
    - gnutls_dh_params_generate2
    - VLC_OBJECT
    - gnutls_certificate_set_dh_params
    - gnutls_certificate_allocate_credentials
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int OpenServer(vlc_tls_server_t *crd, const char *cert, const char
      *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/misc/fingerprinter.c:97,1
    - Dst: vlc_array_append
      Src: /src/vlc/modules/misc/fingerprinter.c:98,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/misc/fingerprinter.c:99,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/misc/fingerprinter.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - f
    - r
    argTypes:
    - fingerprinter_thread_t*
    - fingerprint_request_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: EnqueueRequest
    functionSourceFile: /src/vlc/modules/misc/fingerprinter.c
    functionUses: 0
    functionsReached:
    - vlc_array_append
    - vlc_player_Unlock
    - vlc_cond_signal
    - vlc_player_Lock
    linkageType: ''
    returnType: int
    signature: int EnqueueRequest( fingerprinter_thread_t *f, fingerprint_request_t
      *r )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_array_count
      Src: /src/vlc/modules/misc/fingerprinter.c:106,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/misc/fingerprinter.c:108,1
    - Dst: vlc_array_append
      Src: /src/vlc/modules/misc/fingerprinter.c:109,1
    - Dst: fingerprint_request_Delete
      Src: /src/vlc/modules/misc/fingerprinter.c:110,1
    - Dst: vlc_array_clear
      Src: /src/vlc/modules/misc/fingerprinter.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - fingerprinter_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: QueueIncomingRequests
    functionSourceFile: /src/vlc/modules/misc/fingerprinter.c
    functionUses: 0
    functionsReached:
    - vlc_array_append
    - vlc_array_item_at_index
    - vlc_array_count
    - vlc_array_clear
    - fingerprint_request_Delete
    linkageType: ''
    returnType: void
    signature: void QueueIncomingRequests( fingerprinter_sys_t *p_sys )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/misc/fingerprinter.c:119,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/misc/fingerprinter.c:120,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/misc/fingerprinter.c:122,1
    - Dst: vlc_array_remove
      Src: /src/vlc/modules/misc/fingerprinter.c:123,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/misc/fingerprinter.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - f
    argTypes:
    - fingerprinter_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 127
    functionName: GetResult
    functionSourceFile: /src/vlc/modules/misc/fingerprinter.c
    functionUses: 1
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_array_item_at_index
    - vlc_array_count
    - vlc_array_remove
    linkageType: ''
    returnType: fingerprint_request_t
    signature: fingerprint_request_t * GetResult( fingerprinter_thread_t *f )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_array_count
      Src: /src/vlc/modules/misc/fingerprinter.c:131,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/misc/fingerprinter.c:134,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/misc/fingerprinter.c:136,1
    - Dst: vlc_meta_Merge
      Src: /src/vlc/modules/misc/fingerprinter.c:137,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/misc/fingerprinter.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p_r
    - i_resultid
    argTypes:
    - fingerprint_request_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 139
    functionName: ApplyResult
    functionSourceFile: /src/vlc/modules/misc/fingerprinter.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_array_item_at_index
    - vlc_meta_Merge
    - vlc_array_count
    linkageType: ''
    returnType: void
    signature: void ApplyResult( fingerprint_request_t *p_r, size_t i_resultid )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/misc/fingerprinter.c:145,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/misc/fingerprinter.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - player
    - new_state
    - p_user_data
    argTypes:
    - vlc_player_t*
    - enum vlc_player_state
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 152
    functionName: player_on_state_changed
    functionSourceFile: /src/vlc/modules/misc/fingerprinter.c
    functionUses: 1
    functionsReached:
    - vlc_cond_signal
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void player_on_state_changed(vlc_player_t *player,\n                                    enum
      vlc_player_state new_state,\n                                    void *p_user_data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: input_item_New
      Src: /src/vlc/modules/misc/fingerprinter.c:158,1
    - Dst: unlikely
      Src: /src/vlc/modules/misc/fingerprinter.c:159,1
    - Dst: asprintf
      Src: /src/vlc/modules/misc/fingerprinter.c:165,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/misc/fingerprinter.c:170,1
    - Dst: input_item_AddOption
      Src: /src/vlc/modules/misc/fingerprinter.c:174,1
    - Dst: free
      Src: /src/vlc/modules/misc/fingerprinter.c:175,1
    - Dst: asprintf
      Src: /src/vlc/modules/misc/fingerprinter.c:178,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/misc/fingerprinter.c:180,1
    - Dst: input_item_AddOption
      Src: /src/vlc/modules/misc/fingerprinter.c:183,1
    - Dst: free
      Src: /src/vlc/modules/misc/fingerprinter.c:184,1
    - Dst: input_item_SetURI
      Src: /src/vlc/modules/misc/fingerprinter.c:186,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/misc/fingerprinter.c:192,1
    - Dst: vlc_player_SetCurrentMedia
      Src: /src/vlc/modules/misc/fingerprinter.c:196,1
    - Dst: vlc_player_Start
      Src: /src/vlc/modules/misc/fingerprinter.c:198,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/misc/fingerprinter.c:199,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/modules/misc/fingerprinter.c:204,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/misc/fingerprinter.c:216,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 3
    argNames:
    - p_fingerprinter
    - fp
    - psz_uri
    argTypes:
    - fingerprinter_thread_t*
    - acoustid_fingerprint_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 217
    functionName: DoFingerprint
    functionSourceFile: /src/vlc/modules/misc/fingerprinter.c
    functionUses: 0
    functionsReached:
    - asprintf
    - input_item_SetURI
    - vlc_player_CondWait
    - input_item_New
    - input_item_Release
    - input_item_AddOption
    - vlc_player_Unlock
    - vlc_player_Lock
    - free
    - vlc_player_SetCurrentMedia
    - vlc_player_Start
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void DoFingerprint( fingerprinter_thread_t *p_fingerprinter,\n                           acoustid_fingerprint_t
      *fp,\n                           const char *psz_uri )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/misc/fingerprinter.c:225,1
    - Dst: var_Create
      Src: /src/vlc/modules/misc/fingerprinter.c:232,1
    - Dst: var_SetString
      Src: /src/vlc/modules/misc/fingerprinter.c:233,1
    - Dst: var_Create
      Src: /src/vlc/modules/misc/fingerprinter.c:234,1
    - Dst: var_SetString
      Src: /src/vlc/modules/misc/fingerprinter.c:235,1
    - Dst: vlc_player_New
      Src: /src/vlc/modules/misc/fingerprinter.c:236,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/misc/fingerprinter.c:236,1
    - Dst: free
      Src: /src/vlc/modules/misc/fingerprinter.c:240,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/misc/fingerprinter.c:248,1
    - Dst: vlc_player_AddListener
      Src: /src/vlc/modules/misc/fingerprinter.c:250,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/misc/fingerprinter.c:251,1
    - Dst: vlc_player_Delete
      Src: /src/vlc/modules/misc/fingerprinter.c:254,1
    - Dst: free
      Src: /src/vlc/modules/misc/fingerprinter.c:255,1
    - Dst: vlc_array_init
      Src: /src/vlc/modules/misc/fingerprinter.c:260,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/misc/fingerprinter.c:261,1
    - Dst: vlc_array_init
      Src: /src/vlc/modules/misc/fingerprinter.c:263,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/misc/fingerprinter.c:264,1
    - Dst: vlc_array_init
      Src: /src/vlc/modules/misc/fingerprinter.c:266,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/misc/fingerprinter.c:267,1
    - Dst: var_Create
      Src: /src/vlc/modules/misc/fingerprinter.c:273,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/misc/fingerprinter.c:274,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/fingerprinter.c:276,1
    - Dst: var_Create
      Src: /src/vlc/modules/misc/fingerprinter.c:280,1
    - Dst: var_SetAddress
      Src: /src/vlc/modules/misc/fingerprinter.c:281,1
    - Dst: CleanSys
      Src: /src/vlc/modules/misc/fingerprinter.c:286,1
    - Dst: free
      Src: /src/vlc/modules/misc/fingerprinter.c:287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 45
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 289
    functionName: Open
    functionSourceFile: /src/vlc/modules/misc/fingerprinter.c
    functionUses: 45
    functionsReached:
    - vlc_clone
    - vlc_player_Unlock
    - vlc_mutex_init
    - var_SetAddress
    - var_Create
    - vlc_player_Lock
    - vlc_player_Delete
    - calloc
    - vlc_player_New
    - free
    - vlc_array_init
    - vlc_cond_init
    - msg_Err
    - VLC_OBJECT
    - vlc_player_AddListener
    - var_SetString
    - CleanSys
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/misc/fingerprinter.c:299,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/misc/fingerprinter.c:301,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/misc/fingerprinter.c:302,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/misc/fingerprinter.c:303,1
    - Dst: vlc_join
      Src: /src/vlc/modules/misc/fingerprinter.c:304,1
    - Dst: CleanSys
      Src: /src/vlc/modules/misc/fingerprinter.c:306,1
    - Dst: free
      Src: /src/vlc/modules/misc/fingerprinter.c:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 308
    functionName: Close
    functionSourceFile: /src/vlc/modules/misc/fingerprinter.c
    functionUses: 135
    functionsReached:
    - vlc_cond_signal
    - vlc_player_Unlock
    - CleanSys
    - vlc_player_Lock
    - free
    - vlc_join
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_array_count
      Src: /src/vlc/modules/misc/fingerprinter.c:312,1
    - Dst: fingerprint_request_Delete
      Src: /src/vlc/modules/misc/fingerprinter.c:313,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/misc/fingerprinter.c:313,1
    - Dst: vlc_array_clear
      Src: /src/vlc/modules/misc/fingerprinter.c:314,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/misc/fingerprinter.c:316,1
    - Dst: fingerprint_request_Delete
      Src: /src/vlc/modules/misc/fingerprinter.c:317,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/misc/fingerprinter.c:317,1
    - Dst: vlc_array_clear
      Src: /src/vlc/modules/misc/fingerprinter.c:318,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/misc/fingerprinter.c:320,1
    - Dst: fingerprint_request_Delete
      Src: /src/vlc/modules/misc/fingerprinter.c:321,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/misc/fingerprinter.c:321,1
    - Dst: vlc_array_clear
      Src: /src/vlc/modules/misc/fingerprinter.c:322,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/misc/fingerprinter.c:324,1
    - Dst: vlc_player_RemoveListener
      Src: /src/vlc/modules/misc/fingerprinter.c:325,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/misc/fingerprinter.c:326,1
    - Dst: vlc_player_Delete
      Src: /src/vlc/modules/misc/fingerprinter.c:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - fingerprinter_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 328
    functionName: CleanSys
    functionSourceFile: /src/vlc/modules/misc/fingerprinter.c
    functionUses: 2
    functionsReached:
    - vlc_array_item_at_index
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlc_player_Delete
    - vlc_array_count
    - vlc_array_clear
    - fingerprint_request_Delete
    - vlc_player_RemoveListener
    linkageType: ''
    returnType: void
    signature: void CleanSys( fingerprinter_sys_t *p_sys )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/misc/fingerprinter.c:338,1
    - Dst: vlc_meta_Set
      Src: /src/vlc/modules/misc/fingerprinter.c:341,1
    - Dst: vlc_meta_Set
      Src: /src/vlc/modules/misc/fingerprinter.c:342,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/misc/fingerprinter.c:343,1
    - Dst: vlc_array_append
      Src: /src/vlc/modules/misc/fingerprinter.c:344,1
    - Dst: vlc_meta_Delete
      Src: /src/vlc/modules/misc/fingerprinter.c:345,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - p_r
    - p_f
    argTypes:
    - fingerprint_request_t*
    - acoustid_fingerprint_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 349
    functionName: fill_metas_with_results
    functionSourceFile: /src/vlc/modules/misc/fingerprinter.c
    functionUses: 0
    functionsReached:
    - vlc_array_append
    - vlc_meta_Delete
    - vlc_meta_Set
    - vlc_meta_New
    - vlc_meta_SetExtra
    linkageType: ''
    returnType: void
    signature: void fill_metas_with_results( fingerprint_request_t *p_r, acoustid_fingerprint_t
      *p_f )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/misc/fingerprinter.c:356,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/misc/fingerprinter.c:364,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/misc/fingerprinter.c:366,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/misc/fingerprinter.c:370,1
    - Dst: vlc_player_CondWait
      Src: /src/vlc/modules/misc/fingerprinter.c:373,1
    - Dst: QueueIncomingRequests
      Src: /src/vlc/modules/misc/fingerprinter.c:376,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/misc/fingerprinter.c:378,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/misc/fingerprinter.c:381,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/misc/fingerprinter.c:383,1
    - Dst: input_item_GetURI
      Src: /src/vlc/modules/misc/fingerprinter.c:385,1
    - Dst: DoFingerprint
      Src: /src/vlc/modules/misc/fingerprinter.c:394,1
    - Dst: free
      Src: /src/vlc/modules/misc/fingerprinter.c:395,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/misc/fingerprinter.c:397,1
    - Dst: acoustid_lookup_fingerprint
      Src: /src/vlc/modules/misc/fingerprinter.c:399,1
    - Dst: fill_metas_with_results
      Src: /src/vlc/modules/misc/fingerprinter.c:400,1
    - Dst: acoustid_result_release
      Src: /src/vlc/modules/misc/fingerprinter.c:403,1
    - Dst: free
      Src: /src/vlc/modules/misc/fingerprinter.c:405,1
    - Dst: free
      Src: /src/vlc/modules/misc/fingerprinter.c:406,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/misc/fingerprinter.c:410,1
    - Dst: vlc_array_append
      Src: /src/vlc/modules/misc/fingerprinter.c:411,1
    - Dst: fingerprint_request_Delete
      Src: /src/vlc/modules/misc/fingerprinter.c:412,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/misc/fingerprinter.c:415,1
    - Dst: vlc_array_remove
      Src: /src/vlc/modules/misc/fingerprinter.c:420,1
    - Dst: var_TriggerCallback
      Src: /src/vlc/modules/misc/fingerprinter.c:428,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/fingerprinter.c:432,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 354
    functionDepth: 3
    functionLinenumber: 354
    functionLinenumberEnd: 433
    functionName: Run
    functionSourceFile: /src/vlc/modules/misc/fingerprinter.c
    functionUses: 8
    functionsReached:
    - vlc_array_count
    - DoFingerprint
    - vlc_array_append
    - vlc_player_CondWait
    - vlc_assert_unreachable
    - vlc_mutex_lock
    - vlc_player_Unlock
    - fill_metas_with_results
    - fingerprint_request_Delete
    - vlc_array_remove
    - vlc_thread_set_name
    - vlc_array_item_at_index
    - var_TriggerCallback
    - QueueIncomingRequests
    - vlc_mutex_unlock
    - acoustid_result_release
    - vlc_player_Lock
    - acoustid_lookup_fingerprint
    - free
    - VLC_OBJECT
    - input_item_GetURI
    linkageType: ''
    returnType: void
    signature: void *Run( void *opaque )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/misc/webservices/acoustid.c:36,1
    - Dst: free
      Src: /src/vlc/modules/misc/webservices/acoustid.c:39,1
    - Dst: free
      Src: /src/vlc/modules/misc/webservices/acoustid.c:40,1
    - Dst: free
      Src: /src/vlc/modules/misc/webservices/acoustid.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - r
    argTypes:
    - acoustid_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: acoustid_result_release
    functionSourceFile: /src/vlc/modules/misc/webservices/acoustid.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void acoustid_result_release( acoustid_result_t * r )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/webservices/acoustid.c:47,1
    - Dst: json_dupstring
      Src: /src/vlc/modules/misc/webservices/acoustid.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - artists
    - record
    argTypes:
    - struct json_array*
    - acoustid_mb_result_t*
    assertStmts:
    - condition: ( artists != NULL )
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/vlc/modules/misc/webservices/acoustid.c
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: parse_artists
    functionSourceFile: /src/vlc/modules/misc/webservices/acoustid.c
    functionUses: 0
    functionsReached:
    - assert
    - json_dupstring
    linkageType: ''
    returnType: void
    signature: void parse_artists( const struct json_array *artists, acoustid_mb_result_t
      *record )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: json_get_array
      Src: /src/vlc/modules/misc/webservices/acoustid.c:59,1
    - Dst: calloc
      Src: /src/vlc/modules/misc/webservices/acoustid.c:62,1
    - Dst: json_dupstring
      Src: /src/vlc/modules/misc/webservices/acoustid.c:72,1
    - Dst: json_get_str
      Src: /src/vlc/modules/misc/webservices/acoustid.c:73,1
    - Dst: strlen
      Src: /src/vlc/modules/misc/webservices/acoustid.c:76,1
    - Dst: __MIN
      Src: /src/vlc/modules/misc/webservices/acoustid.c:77,1
    - Dst: memcpy
      Src: /src/vlc/modules/misc/webservices/acoustid.c:78,1
    - Dst: json_get_array
      Src: /src/vlc/modules/misc/webservices/acoustid.c:80,1
    - Dst: parse_artists
      Src: /src/vlc/modules/misc/webservices/acoustid.c:83,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/webservices/acoustid.c:84,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - p_obj
    - object
    - p_result
    argTypes:
    - vlc_object_t*
    - struct json_object*
    - acoustid_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 87
    functionName: parse_recordings
    functionSourceFile: /src/vlc/modules/misc/webservices/acoustid.c
    functionUses: 0
    functionsReached:
    - json_get_str
    - json_get_array
    - parse_artists
    - strlen
    - memcpy
    - calloc
    - __MIN
    - msg_Dbg
    - json_dupstring
    linkageType: ''
    returnType: void
    signature: "void parse_recordings( vlc_object_t *p_obj, const struct json_object
      *object,\n                              acoustid_result_t *p_result )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: json_parse
      Src: /src/vlc/modules/misc/webservices/acoustid.c:98,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/webservices/acoustid.c:100,1
    - Dst: json_get_str
      Src: /src/vlc/modules/misc/webservices/acoustid.c:104,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/misc/webservices/acoustid.c:107,1
    - Dst: json_free
      Src: /src/vlc/modules/misc/webservices/acoustid.c:108,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/webservices/acoustid.c:111,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/misc/webservices/acoustid.c:113,1
    - Dst: json_free
      Src: /src/vlc/modules/misc/webservices/acoustid.c:114,1
    - Dst: json_get_array
      Src: /src/vlc/modules/misc/webservices/acoustid.c:117,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/misc/webservices/acoustid.c:120,1
    - Dst: json_free
      Src: /src/vlc/modules/misc/webservices/acoustid.c:121,1
    - Dst: calloc
      Src: /src/vlc/modules/misc/webservices/acoustid.c:124,1
    - Dst: json_free
      Src: /src/vlc/modules/misc/webservices/acoustid.c:126,1
    - Dst: json_get_num
      Src: /src/vlc/modules/misc/webservices/acoustid.c:136,1
    - Dst: json_dupstring
      Src: /src/vlc/modules/misc/webservices/acoustid.c:139,1
    - Dst: parse_recordings
      Src: /src/vlc/modules/misc/webservices/acoustid.c:140,1
    - Dst: json_free
      Src: /src/vlc/modules/misc/webservices/acoustid.c:143,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 4
    argNames:
    - p_obj
    - p_buffer
    - i_buffer
    - p_results
    argTypes:
    - vlc_object_t*
    - void*
    - size_t
    - acoustid_results_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 145
    functionName: ParseJson
    functionSourceFile: /src/vlc/modules/misc/webservices/acoustid.c
    functionUses: 0
    functionsReached:
    - json_get_str
    - json_dupstring
    - json_get_array
    - json_parse
    - json_free
    - parse_recordings
    - calloc
    - strcmp
    - msg_Dbg
    - msg_Warn
    - json_get_num
    linkageType: ''
    returnType: bool
    signature: "bool ParseJson( vlc_object_t *p_obj, const void *p_buffer, size_t
      i_buffer,\n                       acoustid_results_t *p_results )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/misc/webservices/acoustid.c:155,1
    - Dst: asprintf
      Src: /src/vlc/modules/misc/webservices/acoustid.c:155,1
    - Dst: unlikely
      Src: /src/vlc/modules/misc/webservices/acoustid.c:168,1
    - Dst: asprintf
      Src: /src/vlc/modules/misc/webservices/acoustid.c:168,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/webservices/acoustid.c:178,1
    - Dst: json_retrieve_document
      Src: /src/vlc/modules/misc/webservices/acoustid.c:180,1
    - Dst: free
      Src: /src/vlc/modules/misc/webservices/acoustid.c:181,1
    - Dst: ParseJson
      Src: /src/vlc/modules/misc/webservices/acoustid.c:185,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/webservices/acoustid.c:186,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/webservices/acoustid.c:188,1
    - Dst: free
      Src: /src/vlc/modules/misc/webservices/acoustid.c:189,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - p_cfg
    - p_data
    argTypes:
    - acoustid_config_t*
    - acoustid_fingerprint_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 147
    functionDepth: 4
    functionLinenumber: 147
    functionLinenumberEnd: 192
    functionName: acoustid_lookup_fingerprint
    functionSourceFile: /src/vlc/modules/misc/webservices/acoustid.c
    functionUses: 1
    functionsReached:
    - asprintf
    - ParseJson
    - free
    - msg_Dbg
    - unlikely
    - json_retrieve_document
    linkageType: ''
    returnType: int
    signature: int acoustid_lookup_fingerprint( const acoustid_config_t *p_cfg, acoustid_fingerprint_t
      *p_data )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_free
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:40,1
    - Dst: free
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - musicbrainz_lookup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: musicbrainz_lookup_release
    functionSourceFile: /src/vlc/modules/misc/webservices/musicbrainz.c
    functionUses: 0
    functionsReached:
    - free
    - json_free
    linkageType: ''
    returnType: void
    signature: void musicbrainz_lookup_release(musicbrainz_lookup_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: musicbrainz_lookup_new
    functionSourceFile: /src/vlc/modules/misc/webservices/musicbrainz.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: musicbrainz_lookup_t
    signature: musicbrainz_lookup_t * musicbrainz_lookup_new(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:51,1
    - Dst: json_retrieve_document
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:53,1
    - Dst: musicbrainz_lookup_new
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:57,1
    - Dst: free
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:60,1
    - Dst: json_parse
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:69,1
    - Dst: free
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:70,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:73,1
    - Dst: musicbrainz_lookup_release
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - p_obj
    - psz_url
    argTypes:
    - vlc_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 79
    functionName: musicbrainz_lookup
    functionSourceFile: /src/vlc/modules/misc/webservices/musicbrainz.c
    functionUses: 0
    functionsReached:
    - musicbrainz_lookup_new
    - json_parse
    - musicbrainz_lookup_release
    - free
    - msg_Dbg
    - json_retrieve_document
    linkageType: ''
    returnType: musicbrainz_lookup_t
    signature: musicbrainz_lookup_t * musicbrainz_lookup(vlc_object_t *p_obj, const
      char *psz_url)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_dupstring
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:83,1
    - Dst: json_get_array
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:85,1
    - Dst: json_dupstring
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:89,1
    - Dst: json_get_num
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - trackobj
    - t
    argTypes:
    - struct json_object*
    - musicbrainz_track_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 98
    functionName: musicbrainz_fill_track
    functionSourceFile: /src/vlc/modules/misc/webservices/musicbrainz.c
    functionUses: 0
    functionsReached:
    - json_get_array
    - json_get_num
    - json_dupstring
    linkageType: ''
    returnType: bool
    signature: bool musicbrainz_fill_track(const struct json_object *trackobj, musicbrainz_track_t
      *t)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: json_get_object
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:111,1
    - Dst: json_get_str
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:114,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:115,1
    - Dst: json_get_object
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:118,1
    - Dst: json_get
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:121,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 17
    argCount: 3
    argNames:
    - p_nodes
    - i_nodes
    - psz_group_id
    argTypes:
    - struct json_value*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 131
    functionName: musicbrainz_has_cover_in_releasegroup
    functionSourceFile: /src/vlc/modules/misc/webservices/musicbrainz.c
    functionUses: 0
    functionsReached:
    - json_get_str
    - strcmp
    - json_get_object
    - json_get
    linkageType: ''
    returnType: bool
    signature: "bool musicbrainz_has_cover_in_releasegroup(const struct json_value
      *p_nodes,\n                                                  size_t i_nodes,\n
      \                                                 const char *psz_group_id)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: json_get_str
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:143,1
    - Dst: strdup
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:147,1
    - Dst: asprintf
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:151,1
    - Dst: free
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:152,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - array
    argTypes:
    - struct json_array*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 159
    functionName: musicbrainz_fill_artists
    functionSourceFile: /src/vlc/modules/misc/webservices/musicbrainz.c
    functionUses: 0
    functionsReached:
    - json_get_str
    - asprintf
    - strdup
    - free
    linkageType: ''
    returnType: char
    signature: char *musicbrainz_fill_artists(const struct json_array *array)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: json_get_array
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:164,1
    - Dst: json_get_array
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:172,1
    - Dst: calloc
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:176,1
    - Dst: musicbrainz_fill_track
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:185,1
    - Dst: json_dupstring
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:189,1
    - Dst: json_dupstring
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:190,1
    - Dst: json_get_object
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:192,1
    - Dst: json_dupstring
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:195,1
    - Dst: json_dupstring
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:196,1
    - Dst: json_get_array
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:198,1
    - Dst: musicbrainz_fill_artists
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:200,1
    - Dst: json_get_array
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:202,1
    - Dst: json_dupstring
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:206,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 2
    argNames:
    - release
    - r
    argTypes:
    - struct json_object*
    - musicbrainz_release_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 210
    functionName: musicbrainz_fill_release
    functionSourceFile: /src/vlc/modules/misc/webservices/musicbrainz.c
    functionUses: 0
    functionsReached:
    - json_get_array
    - json_get_object
    - musicbrainz_fill_artists
    - musicbrainz_fill_track
    - calloc
    - json_dupstring
    linkageType: ''
    returnType: bool
    signature: "bool musicbrainz_fill_release(const struct json_object *release,\n
      \                                    musicbrainz_release_t *r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:216,1
    - Dst: free
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:217,1
    - Dst: free
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:218,1
    - Dst: free
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:219,1
    - Dst: free
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:220,1
    - Dst: free
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:221,1
    - Dst: free
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:224,1
    - Dst: free
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:225,1
    - Dst: free
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:227,1
    - Dst: free
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:229,1
    - Dst: free
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - mbr
    argTypes:
    - musicbrainz_recording_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 231
    functionName: musicbrainz_recording_release
    functionSourceFile: /src/vlc/modules/misc/webservices/musicbrainz.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void musicbrainz_recording_release(musicbrainz_recording_t *mbr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:236,1
    - Dst: musicbrainz_lookup
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:240,1
    - Dst: free
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:243,1
    - Dst: json_get_array
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:247,1
    - Dst: calloc
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:250,1
    - Dst: musicbrainz_fill_release
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:258,1
    - Dst: musicbrainz_has_cover_in_releasegroup
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:263,1
    - Dst: coverartarchive_make_releasegroup_arturl
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:267,1
    - Dst: musicbrainz_lookup_release
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:279,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 2
    argNames:
    - obj
    - psz_url
    argTypes:
    - vlc_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 233
    functionDepth: 4
    functionLinenumber: 233
    functionLinenumberEnd: 282
    functionName: musicbrainz_lookup_recording_by_apiurl
    functionSourceFile: /src/vlc/modules/misc/webservices/musicbrainz.c
    functionUses: 0
    functionsReached:
    - musicbrainz_lookup
    - json_get_array
    - musicbrainz_has_cover_in_releasegroup
    - musicbrainz_fill_release
    - coverartarchive_make_releasegroup_arturl
    - musicbrainz_lookup_release
    - calloc
    - free
    linkageType: ''
    returnType: musicbrainz_recording_t
    signature: "musicbrainz_recording_t *musicbrainz_lookup_recording_by_apiurl(vlc_object_t
      *obj,\n                                                                       const
      char *psz_url)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - psz_server
    - psz_disc_id
    - psz_tail
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 303
    functionName: musicbrainz_build_discid_json_url
    functionSourceFile: /src/vlc/modules/misc/webservices/musicbrainz.c
    functionUses: 0
    functionsReached:
    - asprintf
    linkageType: ''
    returnType: char
    signature: "char *musicbrainz_build_discid_json_url(const char *psz_server,\n
      \                                              const char *psz_disc_id,\n                                               const
      char *psz_tail)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: musicbrainz_build_discid_json_url
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:308,1
    - Dst: musicbrainz_lookup_recording_by_apiurl
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:312,1
    - Dst: free
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cfg
    - psz_toc
    argTypes:
    - musicbrainz_config_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 305
    functionDepth: 5
    functionLinenumber: 305
    functionLinenumberEnd: 315
    functionName: musicbrainz_lookup_recording_by_toc
    functionSourceFile: /src/vlc/modules/misc/webservices/musicbrainz.c
    functionUses: 1
    functionsReached:
    - free
    - musicbrainz_build_discid_json_url
    - musicbrainz_lookup_recording_by_apiurl
    linkageType: ''
    returnType: musicbrainz_recording_t
    signature: "musicbrainz_recording_t *musicbrainz_lookup_recording_by_toc(musicbrainz_config_t
      *cfg,\n                                                             const char
      *psz_toc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: musicbrainz_build_discid_json_url
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:320,1
    - Dst: musicbrainz_lookup_recording_by_apiurl
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:324,1
    - Dst: free
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cfg
    - psz_disc_id
    argTypes:
    - musicbrainz_config_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 317
    functionDepth: 5
    functionLinenumber: 317
    functionLinenumberEnd: 327
    functionName: musicbrainz_lookup_recording_by_discid
    functionSourceFile: /src/vlc/modules/misc/webservices/musicbrainz.c
    functionUses: 1
    functionsReached:
    - free
    - musicbrainz_build_discid_json_url
    - musicbrainz_lookup_recording_by_apiurl
    linkageType: ''
    returnType: musicbrainz_recording_t
    signature: "musicbrainz_recording_t *musicbrainz_lookup_recording_by_discid(musicbrainz_config_t
      *cfg,\n                                                                const
      char *psz_disc_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - psz_server
    - psz_group_id
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 337
    functionName: coverartarchive_make_releasegroup_arturl
    functionSourceFile: /src/vlc/modules/misc/webservices/musicbrainz.c
    functionUses: 1
    functionsReached:
    - asprintf
    linkageType: ''
    returnType: char
    signature: char * coverartarchive_make_releasegroup_arturl(const char *psz_server,
      const char *psz_group_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - coverartarchive_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 342
    functionName: musicbrainz_release_covert_art
    functionSourceFile: /src/vlc/modules/misc/webservices/musicbrainz.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void musicbrainz_release_covert_art(coverartarchive_t *c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:346,1
    - Dst: asprintf
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:351,1
    - Dst: free
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:353,1
    - Dst: musicbrainz_lookup
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:357,1
    - Dst: free
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:358,1
    - Dst: free
      Src: /src/vlc/modules/misc/webservices/musicbrainz.c:362,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - cfg
    - psz_id
    argTypes:
    - musicbrainz_config_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 367
    functionName: coverartarchive_lookup_releasegroup
    functionSourceFile: /src/vlc/modules/misc/webservices/musicbrainz.c
    functionUses: 0
    functionsReached:
    - calloc
    - asprintf
    - free
    - musicbrainz_lookup
    linkageType: ''
    returnType: coverartarchive_t
    signature: coverartarchive_t * coverartarchive_lookup_releasegroup(musicbrainz_config_t
      *cfg, const char *psz_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_get_str
      Src: /src/vlc/modules/misc/webservices/json_helper.h:34,1
    - Dst: strdup
      Src: /src/vlc/modules/misc/webservices/json_helper.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - obj
    - key
    argTypes:
    - struct json_object*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: json_dupstring
    functionSourceFile: /src/vlc/modules/misc/webservices/json_helper.h
    functionUses: 5
    functionsReached:
    - json_get_str
    - strdup
    linkageType: ''
    returnType: char
    signature: char * json_dupstring(const struct json_object *obj, const char *key)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_NewURL
      Src: /src/vlc/modules/misc/webservices/json_helper.h:43,1
    - Dst: vlc_stream_FilterNew
      Src: /src/vlc/modules/misc/webservices/json_helper.h:49,1
    - Dst: realloc_or_free
      Src: /src/vlc/modules/misc/webservices/json_helper.h:63,1
    - Dst: unlikely
      Src: /src/vlc/modules/misc/webservices/json_helper.h:64,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/misc/webservices/json_helper.h:66,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/misc/webservices/json_helper.h:70,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/misc/webservices/json_helper.h:76,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - p_obj
    - psz_url
    - buf_size
    argTypes:
    - vlc_object_t*
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 80
    functionName: json_retrieve_document
    functionSourceFile: /src/vlc/modules/misc/webservices/json_helper.h
    functionUses: 2
    functionsReached:
    - vlc_stream_FilterNew
    - unlikely
    - vlc_stream_Delete
    - vlc_stream_Read
    - realloc_or_free
    - vlc_stream_NewURL
    linkageType: ''
    returnType: void
    signature: void * json_retrieve_document(vlc_object_t *p_obj, const char *psz_url,
      size_t *buf_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_error
      Src: /src/vlc/modules/misc/webservices/json_helper.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - msg
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: json_parse_error
    functionSourceFile: /src/vlc/modules/misc/webservices/json_helper.h
    functionUses: 0
    functionsReached:
    - vlc_error
    linkageType: ''
    returnType: void
    signature: void json_parse_error(void *data, const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/misc/webservices/json_helper.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - data
    - buf
    - size
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 106
    functionName: json_read
    functionSourceFile: /src/vlc/modules/misc/webservices/json_helper.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t json_read(void *data, void *buf, size_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:36,1
    - Dst: strlen
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:42,1
    - Dst: sscanf
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:46,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:57,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - fourcc
    argTypes:
    - char*
    assertStmts:
    - condition: (fourcc != NULL)
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    constantsTouched: []
    func_position:
      end: 58
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 58
    functionName: vlc_fourcc_from_char
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached:
    - sscanf
    - strlen
    - assert
    - VLC_FOURCC
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t vlc_fourcc_from_char(const char *fourcc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:66,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:67,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:68,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:69,1
    - Dst: json_get
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 6
    argNames:
    - obj
    - name
    - number
    - error
    - min
    - max
    argTypes:
    - struct json_object*
    - char*
    - double*
    - bool*
    - double
    - double
    assertStmts:
    - condition: (obj != NULL)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (number != NULL)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (name != NULL)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (error != NULL)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    constantsTouched: []
    func_position:
      end: 85
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 85
    functionName: json_object_to_number
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached:
    - json_get
    - assert
    linkageType: ''
    returnType: bool
    signature: "bool json_object_to_number(const struct json_object *obj,\n                                           const
      char *name, double *number,\n                                           bool
      *error, double min, double max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:93,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:94,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:95,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:96,1
    - Dst: json_object_to_number
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:99,1
    - Dst: isnan
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:100,1
    - Dst: isinf
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:100,1
    - Dst: floor
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:100,1
    - Dst: ceil
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 6
    argNames:
    - obj
    - name
    - number
    - error
    - MIN
    - MAX
    argTypes:
    - struct json_object*
    - char*
    - int*
    - bool*
    - int
    - int
    assertStmts:
    - condition: (obj != NULL)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (name != NULL)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (number != NULL)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (error != NULL)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    constantsTouched: []
    func_position:
      end: 106
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 106
    functionName: json_object_to_integer
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached:
    - assert
    - floor
    - ceil
    - isinf
    - json_object_to_number
    - isnan
    linkageType: ''
    returnType: bool
    signature: "bool json_object_to_integer(const struct json_object *obj,\n                                          const
      char *name, int *number,\n                                          bool *error,
      int MIN, int MAX)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - obj
    - ','
    - name
    - ','
    - integer
    - ','
    - error
    - ','
    - MIN
    - ','
    - MAX
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: json_object_to_enum
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_object_to_enum(obj, name, integer, error, MIN, MAX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - suffix
    - ','
    - integer
    - ','
    - MIN
    - ','
    - MAX
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 138
    functionName: json_object_to_int_def
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_object_to_int_def(suffix, integer, MIN, MAX)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:153,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:154,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:155,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:156,1
    - Dst: json_get
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:161,1
    - Dst: isnan
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:169,1
    - Dst: isinf
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:169,1
    - Dst: floor
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:170,1
    - Dst: ceil
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:170,1
    - Dst: strtoll
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:179,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 4
    argNames:
    - obj
    - name
    - number
    - error
    argTypes:
    - struct json_object*
    - char*
    - int64_t*
    - bool*
    assertStmts:
    - condition: (obj != NULL)
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (number != NULL)
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (name != NULL)
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (error != NULL)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    constantsTouched: []
    func_position:
      end: 192
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 192
    functionName: json_object_to_int64
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached:
    - assert
    - floor
    - ceil
    - isinf
    - isnan
    - strtoll
    - json_get
    linkageType: ''
    returnType: bool
    signature: "bool json_object_to_int64(const struct json_object *obj,\n                                        const
      char *name, int64_t *number,\n                                        bool *error)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:198,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:199,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:200,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:201,1
    - Dst: json_object_to_int64
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:205,1
    - Dst: json_object_to_int32
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:207,1
    - Dst: json_object_to_int16
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:209,1
    - Dst: json_object_to_int8
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:211,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:213,1
    - Dst: unreachable
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 5
    argNames:
    - obj
    - name
    - number
    - size
    - error
    argTypes:
    - struct json_object*
    - char*
    - void*
    - size_t
    - bool*
    assertStmts:
    - condition: (obj != NULL)
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (name != NULL)
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (number != NULL)
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (error != NULL)
      pos:
        line_end: 200
        line_start: 200
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (!"unreachable")
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    constantsTouched: []
    func_position:
      end: 215
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 215
    functionName: json_object_to_int_sized
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached:
    - assert
    - json_object_to_int8
    - json_object_to_int32
    - json_object_to_int64
    - json_object_to_int16
    - unreachable
    linkageType: ''
    returnType: bool
    signature: "bool json_object_to_int_sized(const struct json_object *obj,\n                                             const
      char *name, void *number,\n                                             size_t
      size, bool *error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - obj
    - ','
    - name
    - ','
    - number
    - ','
    - error
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 219
    functionName: json_object_to_int
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_object_to_int(obj, name, number, error)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:226,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:227,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:228,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:229,1
    - Dst: json_get
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:234,1
    - Dst: isnan
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:242,1
    - Dst: isinf
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:242,1
    - Dst: floor
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:243,1
    - Dst: ceil
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:243,1
    - Dst: strtoull
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:252,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 4
    argNames:
    - obj
    - name
    - number
    - error
    argTypes:
    - struct json_object*
    - char*
    - uint64_t*
    - bool*
    assertStmts:
    - condition: (obj != NULL)
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (name != NULL)
      pos:
        line_end: 226
        line_start: 226
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (number != NULL)
      pos:
        line_end: 227
        line_start: 227
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (error != NULL)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    constantsTouched: []
    func_position:
      end: 265
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 265
    functionName: json_object_to_uint64
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached:
    - strtoull
    - assert
    - floor
    - ceil
    - isinf
    - isnan
    - json_get
    linkageType: ''
    returnType: bool
    signature: "bool json_object_to_uint64(const struct json_object *obj,\n                                         const
      char *name, uint64_t *number,\n                                         bool
      *error)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:271,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:272,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:273,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:274,1
    - Dst: json_object_to_uint64
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:278,1
    - Dst: json_object_to_uint32
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:280,1
    - Dst: json_object_to_uint16
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:282,1
    - Dst: json_object_to_uint8
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:284,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:286,1
    - Dst: unreachable
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 5
    argNames:
    - obj
    - name
    - number
    - size
    - error
    argTypes:
    - struct json_object*
    - char*
    - void*
    - size_t
    - bool*
    assertStmts:
    - condition: (obj != NULL)
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (number != NULL)
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (name != NULL)
      pos:
        line_end: 271
        line_start: 271
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (error != NULL)
      pos:
        line_end: 273
        line_start: 273
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (!"unreachable")
      pos:
        line_end: 285
        line_start: 285
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    constantsTouched: []
    func_position:
      end: 288
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 288
    functionName: json_object_to_uint_sized
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached:
    - json_object_to_uint32
    - assert
    - json_object_to_uint64
    - json_object_to_uint8
    - json_object_to_uint16
    - unreachable
    linkageType: ''
    returnType: bool
    signature: "bool json_object_to_uint_sized(const struct json_object *obj,\n                                             const
      char *name, void *number,\n                                             size_t
      size, bool *error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - obj
    - ','
    - name
    - ','
    - number
    - ','
    - error
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: json_object_to_uint
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_object_to_uint(obj, name, number, error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - obj
    - ','
    - name
    - ','
    - number
    - ','
    - error
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 297
    functionName: json_object_to_double
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_object_to_double(obj, name, number, error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:304,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:305,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:306,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:307,1
    - Dst: json_object_to_number
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - obj
    - name
    - number
    - error
    argTypes:
    - struct json_object*
    - char*
    - float*
    - bool*
    assertStmts:
    - condition: (obj != NULL)
      pos:
        line_end: 303
        line_start: 303
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (number != NULL)
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (error != NULL)
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (name != NULL)
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    constantsTouched: []
    func_position:
      end: 315
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 315
    functionName: json_object_to_float
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached:
    - json_object_to_number
    - assert
    linkageType: ''
    returnType: bool
    signature: "bool json_object_to_float(const struct json_object *obj,\n                                        const
      char *name, float *number,\n                                        bool *error)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:323,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:324,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:325,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:326,1
    - Dst: json_get
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:332,1
    - Dst: strdup
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:338,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - obj
    - name
    - str
    - error
    argTypes:
    - struct json_object*
    - char*
    - char**
    - bool*
    assertStmts:
    - condition: (obj != NULL)
      pos:
        line_end: 322
        line_start: 322
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (str != NULL)
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (error != NULL)
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (name != NULL)
      pos:
        line_end: 323
        line_start: 323
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    constantsTouched: []
    func_position:
      end: 349
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 349
    functionName: json_object_to_string
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached:
    - json_get
    - assert
    - strdup
    linkageType: ''
    returnType: bool
    signature: "bool json_object_to_string(const struct json_object *obj,\n                                         const
      char *name, char **str,\n                                         bool *error)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:356,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:357,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:358,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:359,1
    - Dst: json_get
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - obj
    - name
    - boolean
    - error
    argTypes:
    - struct json_object*
    - char*
    - bool*
    - bool*
    assertStmts:
    - condition: (obj != NULL)
      pos:
        line_end: 355
        line_start: 355
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (boolean != NULL)
      pos:
        line_end: 357
        line_start: 357
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (error != NULL)
      pos:
        line_end: 358
        line_start: 358
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (name != NULL)
      pos:
        line_end: 356
        line_start: 356
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    constantsTouched: []
    func_position:
      end: 372
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 372
    functionName: json_object_to_boolean
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached:
    - json_get
    - assert
    linkageType: ''
    returnType: bool
    signature: "bool json_object_to_boolean(const struct json_object *obj,\n                                          const
      char *name, bool *boolean,\n                                          bool *error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - obj
    - ','
    - name
    - ','
    - item
    - ','
    - error
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 393
    functionName: json_array_foreach_ref
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_array_foreach_ref(obj, name, item, error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - obj
    - ','
    - name
    - ','
    - error
    - ','
    - var
    - ','
    - size
    - ','
    - min
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 414
    functionName: json_array_double_load
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_array_double_load(obj, name, error, var, size, min, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - obj
    - ','
    - name
    - ','
    - error
    - ','
    - var
    - ','
    - size
    - ','
    - min
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 439
    functionName: json_array_integer_load
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_array_integer_load(obj, name, error, var, size, min, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - obj
    - ','
    - name
    - ','
    - error
    - ','
    - var
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 457
    functionName: json_array_boolean_load
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_array_boolean_load(obj, name, error, var, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - sys
    - ','
    - parent
    - ','
    - name
    - ','
    - var
    - ','
    - error
    - ','
    - ornull
    - ','
    - func
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 474
    functionName: json_object_from_name
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_object_from_name(sys, parent, name, var, error, ornull, func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:483,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:484,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:485,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:487,1
    - Dst: json_object_to_uint
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:491,1
    - Dst: json_object_to_uint
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:492,1
    - Dst: json_object_to_uint
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:494,1
    - Dst: json_object_to_enum
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:495,1
    - Dst: json_object_to_uint
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:498,1
    - Dst: json_object_to_uint
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:500,1
    - Dst: json_object_to_uint
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:501,1
    - Dst: json_object_to_uint
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:502,1
    - Dst: json_object_to_uint
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 4
    argNames:
    - sys
    - obj
    - audio
    - error
    argTypes:
    - struct serdes_sys*
    - struct json_object*
    - audio_format_t*
    - bool*
    assertStmts:
    - condition: (obj != NULL)
      pos:
        line_end: 482
        line_start: 482
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (error != NULL)
      pos:
        line_end: 484
        line_start: 484
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (audio != NULL)
      pos:
        line_end: 483
        line_start: 483
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    constantsTouched: []
    func_position:
      end: 506
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 506
    functionName: fromJSON_audio_format
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached:
    - json_object_to_enum
    - assert
    - json_object_to_uint
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void fromJSON_audio_format(struct serdes_sys *sys,\n                                  const
      struct json_object *obj,\n                                  audio_format_t *audio,
      bool *error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:512,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:513,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:514,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:516,1
    - Dst: json_array_boolean_load
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:520,1
    - Dst: json_array_double_load
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:522,1
    - Dst: json_array_boolean_load
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:524,1
    - Dst: json_array_double_load
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - sys
    - obj
    - ar
    - error
    argTypes:
    - struct serdes_sys*
    - struct json_object*
    - audio_replay_gain_t*
    - bool*
    assertStmts:
    - condition: (obj != NULL)
      pos:
        line_end: 511
        line_start: 511
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (ar != NULL)
      pos:
        line_end: 512
        line_start: 512
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (error != NULL)
      pos:
        line_end: 513
        line_start: 513
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    constantsTouched: []
    func_position:
      end: 530
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 530
    functionName: fromJSON_audio_replay_gain
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached:
    - json_array_double_load
    - assert
    - json_array_boolean_load
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void fromJSON_audio_replay_gain(struct serdes_sys *sys,\n                                       const
      struct json_object *obj,\n                                       audio_replay_gain_t
      *ar, bool *error)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:536,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:537,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:538,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:540,1
    - Dst: malloc
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:544,1
    - Dst: json_object_to_int
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:550,1
    - Dst: json_array_foreach_ref
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:553,1
    - Dst: free
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:576,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 4
    argNames:
    - sys
    - obj
    - palette
    - error
    argTypes:
    - struct serdes_sys*
    - struct json_object*
    - video_palette_t**
    - bool*
    assertStmts:
    - condition: (obj != NULL)
      pos:
        line_end: 535
        line_start: 535
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (palette != NULL)
      pos:
        line_end: 536
        line_start: 536
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (error != NULL)
      pos:
        line_end: 537
        line_start: 537
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    constantsTouched: []
    func_position:
      end: 581
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 581
    functionName: fromJSON_video_palette
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached:
    - json_array_foreach_ref
    - assert
    - free
    - malloc
    - json_object_to_int
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void fromJSON_video_palette(struct serdes_sys *sys,\n                                   const
      struct json_object *obj,\n                                   video_palette_t
      **palette, bool *error)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:587,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:588,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:589,1
    - Dst: json_object_to_string
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:594,1
    - Dst: vlc_fourcc_from_char
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:595,1
    - Dst: free
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:596,1
    - Dst: json_object_to_uint
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:597,1
    - Dst: json_object_to_uint
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:598,1
    - Dst: json_object_to_uint
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:599,1
    - Dst: json_object_to_uint
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:600,1
    - Dst: json_object_to_uint
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:601,1
    - Dst: json_object_to_uint
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:602,1
    - Dst: json_object_to_uint
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:603,1
    - Dst: json_object_to_uint
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:604,1
    - Dst: json_object_to_uint
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:605,1
    - Dst: json_object_to_uint
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:606,1
    - Dst: json_object_from_name
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:608,1
    - Dst: json_object_to_enum
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:610,1
    - Dst: json_object_to_enum
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:612,1
    - Dst: json_object_to_enum
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:614,1
    - Dst: json_object_to_enum
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:616,1
    - Dst: json_object_to_enum
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:618,1
    - Dst: json_object_to_enum
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:620,1
    - Dst: json_object_to_enum
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:622,1
    - Dst: json_object_to_boolean
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:624,1
    - Dst: json_object_to_enum
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:626,1
    - Dst: json_get_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:630,1
    - Dst: json_object_to_float
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:633,1
    - Dst: json_object_to_float
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:634,1
    - Dst: json_object_to_float
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:635,1
    - Dst: json_object_to_float
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:636,1
    - Dst: json_get_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:639,1
    - Dst: json_array_integer_load
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:642,1
    - Dst: json_array_integer_load
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:645,1
    - Dst: json_object_to_uint
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:648,1
    - Dst: json_object_to_uint
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:650,1
    - Dst: json_get_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:654,1
    - Dst: json_object_to_uint
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:657,1
    - Dst: json_object_to_uint
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:658,1
    - Dst: json_get_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:662,1
    - Dst: json_object_to_uint
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:665,1
    - Dst: json_object_to_uint
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:667,1
    - Dst: json_object_to_integer
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:671,1
    - Dst: json_object_to_integer
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:675,1
    - Dst: json_object_to_integer
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:679,1
    - Dst: json_object_to_integer
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:682,1
    - Dst: json_object_to_integer
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:685,1
    - Dst: json_object_to_uint
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:690,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 72
    argCount: 4
    argNames:
    - sys
    - obj
    - video
    - error
    argTypes:
    - struct serdes_sys*
    - struct json_object*
    - video_format_t*
    - bool*
    assertStmts:
    - condition: (video != NULL)
      pos:
        line_end: 587
        line_start: 587
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (error != NULL)
      pos:
        line_end: 588
        line_start: 588
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (obj != NULL)
      pos:
        line_end: 586
        line_start: 586
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    constantsTouched: []
    func_position:
      end: 694
      start: 583
    functionDepth: 3
    functionLinenumber: 583
    functionLinenumberEnd: 694
    functionName: fromJSON_video_format
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached:
    - assert
    - json_object_to_float
    - json_array_integer_load
    - json_object_to_string
    - json_get_object
    - json_object_from_name
    - free
    - json_object_to_enum
    - json_object_to_uint
    - json_object_to_integer
    - vlc_fourcc_from_char
    - json_object_to_boolean
    linkageType: ''
    returnType: void
    signature: "void fromJSON_video_format(struct serdes_sys *sys,\n                                  const
      struct json_object *obj,\n                                  video_format_t *video,
      bool *error)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:700,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:701,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:702,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:704,1
    - Dst: json_object_to_string
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:708,1
    - Dst: json_object_to_int
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:709,1
    - Dst: json_object_to_int
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:710,1
    - Dst: json_get_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:712,1
    - Dst: json_object_to_uint
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:715,1
    - Dst: json_object_to_uint
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:717,1
    - Dst: json_array_integer_load
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:719,1
    - Dst: json_object_to_boolean
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:721,1
    - Dst: json_get_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:724,1
    - Dst: json_object_to_int
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:727,1
    - Dst: json_get_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:730,1
    - Dst: json_object_to_uint
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:733,1
    - Dst: json_object_to_uint
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:735,1
    - Dst: json_get_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:738,1
    - Dst: json_object_to_uint
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:741,1
    - Dst: json_object_to_int
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:742,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 4
    argNames:
    - sys
    - obj
    - sub
    - error
    argTypes:
    - struct serdes_sys*
    - struct json_object*
    - subs_format_t*
    - bool*
    assertStmts:
    - condition: (sub != NULL)
      pos:
        line_end: 700
        line_start: 700
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (error != NULL)
      pos:
        line_end: 701
        line_start: 701
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (obj != NULL)
      pos:
        line_end: 699
        line_start: 699
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    constantsTouched: []
    func_position:
      end: 747
      start: 696
    functionDepth: 2
    functionLinenumber: 696
    functionLinenumberEnd: 747
    functionName: fromJSON_subs_format
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached:
    - assert
    - json_array_integer_load
    - json_get_object
    - json_object_to_string
    - json_object_to_uint
    - json_object_to_boolean
    - json_object_to_int
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void fromJSON_subs_format(struct serdes_sys *sys,\n                                 const
      struct json_object *obj,\n                                 subs_format_t *sub,
      bool *error)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:753,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:754,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:755,1
    - Dst: json_object_to_enum
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:759,1
    - Dst: json_object_to_string
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:762,1
    - Dst: vlc_fourcc_from_char
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:763,1
    - Dst: free
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:764,1
    - Dst: json_object_to_string
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:766,1
    - Dst: vlc_fourcc_from_char
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:767,1
    - Dst: free
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:768,1
    - Dst: json_object_to_integer
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:770,1
    - Dst: json_object_to_integer
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:771,1
    - Dst: json_object_to_integer
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:772,1
    - Dst: json_object_to_string
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:774,1
    - Dst: json_object_to_string
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:775,1
    - Dst: json_object_to_uint
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:778,1
    - Dst: vlc_vector_init
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:780,1
    - Dst: json_array_foreach_ref
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:783,1
    - Dst: json_object_to_string
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:789,1
    - Dst: json_object_to_string
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:790,1
    - Dst: vlc_vector_push
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:794,1
    - Dst: free
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:797,1
    - Dst: free
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:798,1
    - Dst: vlc_vector_init
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:804,1
    - Dst: vlc_vector_foreach_ref
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:807,1
    - Dst: free
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:808,1
    - Dst: free
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:809,1
    - Dst: vlc_vector_clear
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:811,1
    - Dst: json_object_from_name
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:817,1
    - Dst: json_object_from_name
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:819,1
    - Dst: json_object_from_name
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:824,1
    - Dst: json_object_from_name
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:828,1
    - Dst: json_object_to_uint
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:835,1
    - Dst: json_object_to_int
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:836,1
    - Dst: json_object_to_int
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:837,1
    - Dst: json_object_to_boolean
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:838,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 64
    argCount: 4
    argNames:
    - sys
    - obj
    - es
    - error
    argTypes:
    - struct serdes_sys*
    - struct json_object*
    - es_format_t*
    - bool*
    assertStmts:
    - condition: (error != NULL)
      pos:
        line_end: 754
        line_start: 754
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (obj != NULL)
      pos:
        line_end: 752
        line_start: 752
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (es != NULL)
      pos:
        line_end: 753
        line_start: 753
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    constantsTouched: []
    func_position:
      end: 841
      start: 749
    functionDepth: 3
    functionLinenumber: 749
    functionLinenumberEnd: 841
    functionName: fromJSON_es_format
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached:
    - vlc_vector_foreach_ref
    - json_array_foreach_ref
    - assert
    - json_object_to_boolean
    - json_object_to_string
    - json_object_from_name
    - vlc_vector_init
    - free
    - vlc_vector_clear
    - json_object_to_enum
    - json_object_to_integer
    - json_object_to_uint
    - vlc_fourcc_from_char
    - vlc_vector_push
    - json_object_to_int
    linkageType: ''
    returnType: void
    signature: "void fromJSON_es_format(struct serdes_sys *sys,\n                               const
      struct json_object *obj, es_format_t *es,\n                               bool
      *error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:847,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:848,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:849,1
    - Dst: json_object_to_string
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:853,1
    - Dst: json_object_to_boolean
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:854,1
    - Dst: json_object_from_name
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - sys
    - obj
    - item_es
    - error
    argTypes:
    - struct serdes_sys*
    - struct json_object*
    - struct input_item_es*
    - bool*
    assertStmts:
    - condition: (obj != NULL)
      pos:
        line_end: 846
        line_start: 846
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (item_es != NULL)
      pos:
        line_end: 847
        line_start: 847
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (error != NULL)
      pos:
        line_end: 848
        line_start: 848
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    constantsTouched: []
    func_position:
      end: 859
      start: 843
    functionDepth: 2
    functionLinenumber: 843
    functionLinenumberEnd: 859
    functionName: fromJSON_input_item_es
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached:
    - json_object_from_name
    - assert
    - json_object_to_boolean
    - json_object_to_string
    linkageType: ''
    returnType: void
    signature: "void fromJSON_input_item_es(struct serdes_sys *sys,\n                                   const
      struct json_object *obj,\n                                   struct input_item_es
      *item_es, bool *error)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:865,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:866,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:867,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:869,1
    - Dst: meta_from_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:896,1
    - Dst: meta_from_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:897,1
    - Dst: meta_from_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:898,1
    - Dst: meta_from_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:899,1
    - Dst: meta_from_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:900,1
    - Dst: meta_from_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:901,1
    - Dst: meta_from_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:902,1
    - Dst: meta_from_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:903,1
    - Dst: meta_from_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:904,1
    - Dst: meta_from_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:905,1
    - Dst: meta_from_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:906,1
    - Dst: meta_from_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:907,1
    - Dst: meta_from_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:908,1
    - Dst: meta_from_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:909,1
    - Dst: meta_from_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:910,1
    - Dst: meta_from_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:911,1
    - Dst: meta_from_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:912,1
    - Dst: meta_from_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:913,1
    - Dst: meta_from_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:914,1
    - Dst: meta_from_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:915,1
    - Dst: meta_from_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:916,1
    - Dst: meta_from_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:917,1
    - Dst: meta_from_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:918,1
    - Dst: meta_from_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:919,1
    - Dst: meta_from_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:920,1
    - Dst: meta_from_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:921,1
    - Dst: meta_from_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:922,1
    - Dst: meta_from_object
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:923,1
    - Dst: json_array_foreach_ref
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:928,1
    - Dst: json_object_to_string
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:933,1
    - Dst: json_object_to_string
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:935,1
    - Dst: json_object_to_enum
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:937,1
    - Dst: vlc_meta_SetExtraWithPriority
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:940,1
    - Dst: free
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:942,1
    - Dst: free
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:943,1
    - Dst: json_object_to_int
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:946,1
    - Dst: vlc_meta_SetStatus
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:947,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 4
    argNames:
    - sys
    - obj
    - meta
    - error
    argTypes:
    - struct serdes_sys*
    - struct json_object*
    - vlc_meta_t*
    - bool*
    assertStmts:
    - condition: (obj != NULL)
      pos:
        line_end: 864
        line_start: 864
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (error != NULL)
      pos:
        line_end: 866
        line_start: 866
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (meta != NULL)
      pos:
        line_end: 865
        line_start: 865
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    constantsTouched: []
    func_position:
      end: 950
      start: 861
    functionDepth: 2
    functionLinenumber: 861
    functionLinenumberEnd: 950
    functionName: fromJSON_meta
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached:
    - json_array_foreach_ref
    - meta_from_object
    - assert
    - json_object_to_string
    - vlc_meta_SetExtraWithPriority
    - free
    - vlc_meta_SetStatus
    - json_object_to_enum
    - json_object_to_int
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void fromJSON_meta(struct serdes_sys *sys,\n                          const
      struct json_object *obj, vlc_meta_t *meta,\n                          bool *error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - obj
    - ','
    - meta
    - ','
    - type
    - ','
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 895
    functionName: meta_from_object
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: meta_from_object(obj, meta, type, err)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:957,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:958,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:959,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:961,1
    - Dst: json_object_to_string
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:966,1
    - Dst: json_object_to_enum
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:968,1
    - Dst: json_object_to_enum
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:971,1
    - Dst: json_object_to_boolean
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:974,1
    - Dst: input_item_slave_New
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:977,1
    - Dst: free
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:983,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - sys
    - obj
    - slave
    - error
    argTypes:
    - struct serdes_sys*
    - struct json_object*
    - struct input_item_slave**
    - bool*
    assertStmts:
    - condition: (obj != NULL)
      pos:
        line_end: 956
        line_start: 956
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (slave != NULL)
      pos:
        line_end: 957
        line_start: 957
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (error != NULL)
      pos:
        line_end: 958
        line_start: 958
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    constantsTouched: []
    func_position:
      end: 986
      start: 952
    functionDepth: 2
    functionLinenumber: 952
    functionLinenumberEnd: 986
    functionName: fromJSON_input_item_slave
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached:
    - assert
    - input_item_slave_New
    - json_object_to_string
    - free
    - json_object_to_enum
    - json_object_to_boolean
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void fromJSON_input_item_slave(struct serdes_sys *sys,\n                                      const
      struct json_object *obj,\n                                      struct input_item_slave
      **slave,\n                                      bool *error)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:992,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:993,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:994,1
    - Dst: input_item_New
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:998,1
    - Dst: json_object_to_string
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1004,1
    - Dst: json_object_to_string
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1005,1
    - Dst: json_object_to_int
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1006,1
    - Dst: vlc_vector_clear
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1010,1
    - Dst: json_array_foreach_ref
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1012,1
    - Dst: fromJSON_input_item_es
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1017,1
    - Dst: vlc_vector_push
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1019,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1023,1
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1029,1
    - Dst: json_object_from_name
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1033,1
    - Dst: json_array_foreach_ref
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1037,1
    - Dst: fromJSON_input_item_slave
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1042,1
    - Dst: input_item_AddSlave
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1044,1
    - Dst: json_object_to_int
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1048,1
    - Dst: json_object_to_enum
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1051,1
    - Dst: json_object_to_boolean
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1053,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1060,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 4
    argNames:
    - sys
    - obj
    - item
    - error
    argTypes:
    - struct serdes_sys*
    - struct json_object*
    - input_item_t**
    - bool*
    assertStmts:
    - condition: (obj != NULL)
      pos:
        line_end: 991
        line_start: 991
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (item != NULL)
      pos:
        line_end: 992
        line_start: 992
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (error != NULL)
      pos:
        line_end: 993
        line_start: 993
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    constantsTouched: []
    func_position:
      end: 1061
      start: 988
    functionDepth: 3
    functionLinenumber: 988
    functionLinenumberEnd: 1061
    functionName: fromJSON_input_item
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached:
    - json_array_foreach_ref
    - assert
    - json_object_to_boolean
    - json_object_to_string
    - input_item_New
    - es_format_Clean
    - json_object_from_name
    - vlc_meta_New
    - input_item_Release
    - fromJSON_input_item_es
    - vlc_vector_clear
    - fromJSON_input_item_slave
    - json_object_to_enum
    - vlc_vector_push
    - input_item_AddSlave
    - json_object_to_int
    linkageType: ''
    returnType: void
    signature: "void fromJSON_input_item(struct serdes_sys *sys,\n                                const
      struct json_object *obj,\n                                input_item_t **item,
      bool *error)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1068,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1069,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1070,1
    - Dst: json_object_to_string
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1075,1
    - Dst: json_object_to_string
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1077,1
    - Dst: json_object_to_string
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1079,1
    - Dst: json_object_to_uint
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1081,1
    - Dst: json_object_to_string
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1083,1
    - Dst: vlc_input_attachment_New
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1089,1
    - Dst: free
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1094,1
    - Dst: free
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1095,1
    - Dst: free
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1096,1
    - Dst: free
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1097,1
    - Dst: malloc
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1104,1
    - Dst: serdes_buf_read
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1110,1
    - Dst: free
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1113,1
    - Dst: free
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1121,1
    - Dst: vlc_input_attachment_Release
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1122,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 4
    argNames:
    - sys
    - obj
    - a
    - error
    argTypes:
    - struct serdes_sys*
    - struct json_object*
    - input_attachment_t**
    - bool*
    assertStmts:
    - condition: (obj != NULL)
      pos:
        line_end: 1067
        line_start: 1067
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (a != NULL)
      pos:
        line_end: 1068
        line_start: 1068
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (error != NULL)
      pos:
        line_end: 1069
        line_start: 1069
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    constantsTouched: []
    func_position:
      end: 1123
      start: 1063
    functionDepth: 2
    functionLinenumber: 1063
    functionLinenumberEnd: 1123
    functionName: fromJSON_input_attachment
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached:
    - assert
    - json_object_to_string
    - vlc_input_attachment_Release
    - vlc_input_attachment_New
    - free
    - serdes_buf_read
    - json_object_to_uint
    - malloc
    linkageType: ''
    returnType: void
    signature: "void fromJSON_input_attachment(struct serdes_sys *sys,\n                          const
      struct json_object *obj,\n                          input_attachment_t **a,
      bool *error)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1130,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1131,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1132,1
    - Dst: json_object_from_name
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1138,1
    - Dst: input_item_node_Create
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1145,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1146,1
    - Dst: json_object_to_int
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1152,1
    - Dst: json_array_foreach_ref
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1155,1
    - Dst: fromJSON_input_item_node
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1160,1
    - Dst: input_item_node_AppendNode
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1164,1
    - Dst: input_item_node_Delete
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1175,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 4
    argNames:
    - sys
    - obj
    - node
    - error
    argTypes:
    - struct serdes_sys*
    - struct json_object*
    - input_item_node_t**
    - bool*
    assertStmts:
    - condition: (obj != NULL)
      pos:
        line_end: 1129
        line_start: 1129
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (node != NULL)
      pos:
        line_end: 1130
        line_start: 1130
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (error != NULL)
      pos:
        line_end: 1131
        line_start: 1131
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    constantsTouched: []
    func_position:
      end: 1176
      start: 1125
    functionDepth: 1
    functionLinenumber: 1125
    functionLinenumberEnd: 1176
    functionName: fromJSON_input_item_node
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 1
    functionsReached:
    - json_array_foreach_ref
    - fromJSON_input_item_node
    - assert
    - input_item_node_Delete
    - input_item_node_Create
    - json_object_from_name
    - input_item_Release
    - input_item_node_AppendNode
    - json_object_to_int
    linkageType: ''
    returnType: void
    signature: "void fromJSON_input_item_node(struct serdes_sys *sys,\n                         const
      struct json_object *obj,\n                         input_item_node_t **node,
      bool *error)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1182,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1183,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1184,1
    - Dst: json_object_to_int
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1189,1
    - Dst: json_object_to_int
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1192,1
    - Dst: json_object_to_int
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1195,1
    - Dst: json_object_to_int
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1198,1
    - Dst: json_object_to_int
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1201,1
    - Dst: malloc
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1210,1
    - Dst: serdes_buf_read
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1216,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1231,1
    - Dst: free
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 4
    argNames:
    - sys
    - obj
    - p
    - error
    argTypes:
    - struct serdes_sys*
    - struct json_object*
    - plane_t*
    - bool*
    assertStmts:
    - condition: (obj != NULL)
      pos:
        line_end: 1181
        line_start: 1181
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (p != NULL)
      pos:
        line_end: 1182
        line_start: 1182
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (error != NULL)
      pos:
        line_end: 1183
        line_start: 1183
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    constantsTouched: []
    func_position:
      end: 1233
      start: 1178
    functionDepth: 1
    functionLinenumber: 1178
    functionLinenumberEnd: 1233
    functionName: fromJSON_plane
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached:
    - assert
    - plane_CopyPixels
    - free
    - malloc
    - serdes_buf_read
    - json_object_to_int
    linkageType: ''
    returnType: void
    signature: "void fromJSON_plane(struct serdes_sys *sys, const struct json_object
      *obj,\n               plane_t *p, bool *error)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1239,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1240,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1241,1
    - Dst: json_object_from_name
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1246,1
    - Dst: picture_NewFromFormat
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1253,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1255,1
    - Dst: json_array_foreach_ref
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1262,1
    - Dst: fromJSON_plane
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1271,1
    - Dst: json_object_to_int
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1277,1
    - Dst: json_object_to_boolean
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1278,1
    - Dst: json_object_to_boolean
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1279,1
    - Dst: json_object_to_boolean
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1280,1
    - Dst: json_object_to_boolean
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1281,1
    - Dst: json_object_to_boolean
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1283,1
    - Dst: json_object_to_uint
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1286,1
    - Dst: picture_Release
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1294,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 4
    argNames:
    - sys
    - obj
    - p
    - error
    argTypes:
    - struct serdes_sys*
    - struct json_object*
    - picture_t**
    - bool*
    assertStmts:
    - condition: (obj != NULL)
      pos:
        line_end: 1238
        line_start: 1238
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (p != NULL)
      pos:
        line_end: 1239
        line_start: 1239
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (error != NULL)
      pos:
        line_end: 1240
        line_start: 1240
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    constantsTouched: []
    func_position:
      end: 1295
      start: 1235
    functionDepth: 2
    functionLinenumber: 1235
    functionLinenumberEnd: 1295
    functionName: fromJSON_picture
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached:
    - json_array_foreach_ref
    - assert
    - json_object_from_name
    - fromJSON_plane
    - json_object_to_int
    - picture_Release
    - json_object_to_uint
    - video_format_Clean
    - json_object_to_boolean
    - picture_NewFromFormat
    linkageType: ''
    returnType: void
    signature: "void fromJSON_picture(struct serdes_sys *sys, const struct json_object
      *obj,\n                 picture_t **p, bool *error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1303,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1304,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1305,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1307,1
    - Dst: json_object_to_enum
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1312,1
    - Dst: json_object_to_int
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1315,1
    - Dst: json_object_to_int
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1316,1
    - Dst: json_object_to_boolean
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1317,1
    - Dst: json_object_to_uint
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - sys
    - obj
    - out
    - error
    argTypes:
    - struct serdes_sys*
    - struct json_object*
    - struct vlc_thumbnailer_output*
    - bool*
    assertStmts:
    - condition: (obj != NULL)
      pos:
        line_end: 1302
        line_start: 1302
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (out != NULL)
      pos:
        line_end: 1303
        line_start: 1303
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (error != NULL)
      pos:
        line_end: 1304
        line_start: 1304
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    constantsTouched: []
    func_position:
      end: 1321
      start: 1297
    functionDepth: 2
    functionLinenumber: 1297
    functionLinenumberEnd: 1321
    functionName: fromJSON_vlc_thumbnailer_output
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached:
    - assert
    - json_object_to_enum
    - json_object_to_uint
    - json_object_to_boolean
    - json_object_to_int
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void fromJSON_vlc_thumbnailer_output(struct serdes_sys *sys,\n                                const
      struct json_object *obj,\n                                struct vlc_thumbnailer_output
      *out,\n                                bool *error)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1328,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1329,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1330,1
    - Dst: json_object_to_enum
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1336,1
    - Dst: json_object_to_int
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1344,1
    - Dst: json_array_foreach_ref
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1347,1
    - Dst: json_object_to_string
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1353,1
    - Dst: vlc_vector_push
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1355,1
    - Dst: json_array_foreach_ref
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1358,1
    - Dst: fromJSON_vlc_thumbnailer_output
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1364,1
    - Dst: vlc_vector_push
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1369,1
    - Dst: json_object_to_enum
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1373,1
    - Dst: json_object_to_int
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1377,1
    - Dst: json_object_to_double
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1380,1
    - Dst: json_object_to_enum
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1383,1
    - Dst: json_object_to_boolean
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1386,1
    - Dst: json_object_to_string
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1388,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 4
    argNames:
    - sys
    - obj
    - req
    - error
    argTypes:
    - struct serdes_sys*
    - struct json_object*
    - struct vlc_preparser_msg_req*
    - bool*
    assertStmts:
    - condition: (obj != NULL)
      pos:
        line_end: 1327
        line_start: 1327
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (req != NULL)
      pos:
        line_end: 1328
        line_start: 1328
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (error != NULL)
      pos:
        line_end: 1329
        line_start: 1329
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    constantsTouched: []
    func_position:
      end: 1391
      start: 1323
    functionDepth: 3
    functionLinenumber: 1323
    functionLinenumberEnd: 1391
    functionName: fromJSON_vlc_preparser_msg_req
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached:
    - fromJSON_vlc_thumbnailer_output
    - json_array_foreach_ref
    - json_object_to_double
    - assert
    - json_object_to_boolean
    - json_object_to_string
    - json_object_to_enum
    - vlc_vector_push
    - json_object_to_int
    linkageType: ''
    returnType: void
    signature: "void fromJSON_vlc_preparser_msg_req(struct serdes_sys *sys,\n                               const
      struct json_object *obj,\n                               struct vlc_preparser_msg_req
      *req, bool *error)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1398,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1399,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1400,1
    - Dst: json_object_to_enum
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1406,1
    - Dst: json_array_foreach_ref
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1411,1
    - Dst: fromJSON_input_attachment
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1417,1
    - Dst: vlc_vector_push
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1419,1
    - Dst: json_object_from_name
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1422,1
    - Dst: json_object_from_name
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1426,1
    - Dst: json_array_foreach_ref
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1430,1
    - Dst: vlc_vector_push
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1435,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1439,1
    - Dst: json_object_to_int
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1441,1
    - Dst: json_object_from_name
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1443,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 4
    argNames:
    - sys
    - obj
    - res
    - error
    argTypes:
    - struct serdes_sys*
    - struct json_object*
    - struct vlc_preparser_msg_res*
    - bool*
    assertStmts:
    - condition: (obj != NULL)
      pos:
        line_end: 1397
        line_start: 1397
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (res != NULL)
      pos:
        line_end: 1398
        line_start: 1398
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (error != NULL)
      pos:
        line_end: 1399
        line_start: 1399
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    constantsTouched: []
    func_position:
      end: 1448
      start: 1393
    functionDepth: 3
    functionLinenumber: 1393
    functionLinenumberEnd: 1448
    functionName: fromJSON_vlc_preparser_msg_res
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached:
    - fromJSON_input_attachment
    - json_array_foreach_ref
    - assert
    - vlc_assert_unreachable
    - json_object_from_name
    - json_object_to_enum
    - vlc_vector_push
    - json_object_to_int
    linkageType: ''
    returnType: void
    signature: "void fromJSON_vlc_preparser_msg_res(struct serdes_sys *sys,\n                               const
      struct json_object *obj,\n                               struct vlc_preparser_msg_res
      *res, bool *error)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1455,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1456,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1457,1
    - Dst: json_object_to_enum
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1462,1
    - Dst: json_object_to_enum
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1467,1
    - Dst: vlc_preparser_msg_Init
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1471,1
    - Dst: json_object_from_name
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1474,1
    - Dst: json_object_from_name
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1477,1
    - Dst: vlc_preparser_msg_Clean
      Src: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c:1482,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - sys
    - msg
    - obj
    argTypes:
    - struct serdes_sys*
    - struct vlc_preparser_msg*
    - struct json_object*
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 1454
        line_start: 1454
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (msg != NULL)
      pos:
        line_end: 1455
        line_start: 1455
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    - condition: (obj != NULL)
      pos:
        line_end: 1456
        line_start: 1456
        source_file: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    constantsTouched: []
    func_position:
      end: 1485
      start: 1450
    functionDepth: 1
    functionLinenumber: 1450
    functionLinenumberEnd: 1485
    functionName: fromJSON_vlc_preparser_msg
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/fromjson.c
    functionUses: 0
    functionsReached:
    - vlc_preparser_msg_Init
    - assert
    - json_object_from_name
    - json_object_to_enum
    - vlc_preparser_msg_Clean
    linkageType: ''
    returnType: bool
    signature: "bool fromJSON_vlc_preparser_msg(struct serdes_sys *sys,\n                           struct
      vlc_preparser_msg *msg,\n                           const struct json_object
      *obj)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:35,1
    - Dst: serdes_buf_printf
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:42,1
    - Dst: serdes_buf_printf
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - sys
    - character
    argTypes:
    - struct serdes_sys*
    - uint32_t
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    constantsTouched: []
    func_position:
      end: 62
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 62
    functionName: json_stringify_utf8char
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    functionUses: 0
    functionsReached:
    - serdes_buf_printf
    - assert
    linkageType: ''
    returnType: void
    signature: "void json_stringify_utf8char(struct serdes_sys *sys,\n                                           uint32_t
      character)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:70,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:71,1
    - Dst: IsUTF8
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:73,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:74,1
    - Dst: serdes_buf_putc
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:80,1
    - Dst: serdes_buf_write
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:88,1
    - Dst: serdes_buf_write
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:93,1
    - Dst: serdes_buf_write
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:98,1
    - Dst: serdes_buf_write
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:103,1
    - Dst: serdes_buf_write
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:108,1
    - Dst: serdes_buf_write
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:113,1
    - Dst: serdes_buf_write
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:118,1
    - Dst: serdes_buf_printf
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:125,1
    - Dst: serdes_buf_putc
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:130,1
    - Dst: vlc_towc
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:136,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:137,1
    - Dst: json_stringify_utf8char
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:138,1
    - Dst: serdes_buf_putc
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:145,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 71
    argCount: 2
    argNames:
    - sys
    - str
    argTypes:
    - struct serdes_sys*
    - char*
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    - condition: (str != NULL)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    - condition: (len > 0)
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    constantsTouched: []
    func_position:
      end: 148
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 148
    functionName: json_stringify_utf8string
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    functionUses: 0
    functionsReached:
    - assert
    - IsUTF8
    - serdes_buf_putc
    - serdes_buf_write
    - serdes_buf_printf
    - json_stringify_utf8char
    - vlc_towc
    - serdes_buf_puts
    linkageType: ''
    returnType: void
    signature: "void json_stringify_utf8string(struct serdes_sys *sys,\n                                             const
      char *str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:153,1
    - Dst: serdes_buf_printf
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sys
    - number
    argTypes:
    - struct serdes_sys*
    - double
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    constantsTouched: []
    func_position:
      end: 158
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 158
    functionName: json_stringify_double
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    functionUses: 0
    functionsReached:
    - serdes_buf_printf
    - assert
    linkageType: ''
    returnType: void
    signature: "void json_stringify_double(struct serdes_sys *sys,\n                                         double
      number)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:163,1
    - Dst: serdes_buf_printf
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:166,1
    - Dst: serdes_buf_printf
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - sys
    - number
    argTypes:
    - struct serdes_sys*
    - int64_t
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    constantsTouched: []
    func_position:
      end: 174
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 174
    functionName: json_stringify_int64
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    functionUses: 0
    functionsReached:
    - serdes_buf_printf
    - assert
    linkageType: ''
    returnType: void
    signature: "void json_stringify_int64(struct serdes_sys *sys,\n                                        int64_t
      number)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:179,1
    - Dst: serdes_buf_printf
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:182,1
    - Dst: serdes_buf_printf
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - sys
    - number
    argTypes:
    - struct serdes_sys*
    - uint64_t
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    constantsTouched: []
    func_position:
      end: 190
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 190
    functionName: json_stringify_uint64
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    functionUses: 0
    functionsReached:
    - serdes_buf_printf
    - assert
    linkageType: ''
    returnType: void
    signature: "void json_stringify_uint64(struct serdes_sys *sys,\n                                        uint64_t
      number)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sys
    - ','
    - number
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: json_stringify_number
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_stringify_number(sys, number)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:201,1
    - Dst: json_stringify_utf8string
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:204,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - sys
    - str
    argTypes:
    - struct serdes_sys*
    - char*
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 200
        line_start: 200
        source_file: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    constantsTouched: []
    func_position:
      end: 210
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 210
    functionName: json_stringify_string
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    functionUses: 0
    functionsReached:
    - json_stringify_utf8string
    - assert
    - serdes_buf_puts
    linkageType: ''
    returnType: void
    signature: "void json_stringify_string(struct serdes_sys *sys,\n                                         const
      char *str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:215,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sys
    - boolean
    argTypes:
    - struct serdes_sys*
    - bool
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    constantsTouched: []
    func_position:
      end: 220
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 220
    functionName: json_stringify_boolean
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    functionUses: 0
    functionsReached:
    - assert
    - serdes_buf_puts
    linkageType: ''
    returnType: void
    signature: "void json_stringify_boolean(struct serdes_sys *sys,\n                                          bool
      boolean)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:225,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:227,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sys
    - unused
    argTypes:
    - struct serdes_sys*
    - void*
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    constantsTouched: []
    func_position:
      end: 231
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 231
    functionName: json_stringify_null
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    functionUses: 0
    functionsReached:
    - assert
    - serdes_buf_puts
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void json_stringify_null(struct serdes_sys *sys, void *unused)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fourcc_to_char
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:239,1
    - Dst: sprintf
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:242,1
    - Dst: serdes_buf_printf
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:249,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - sys
    - fourcc
    argTypes:
    - struct serdes_sys*
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 252
    functionName: json_stringify_fourcc
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    functionUses: 0
    functionsReached:
    - serdes_buf_printf
    - vlc_fourcc_to_char
    - sprintf
    linkageType: ''
    returnType: void
    signature: "void json_stringify_fourcc(struct serdes_sys *sys,\n                                         vlc_fourcc_t
      fourcc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type
    - ','
    - sys
    - ','
    - name
    - ','
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 272
    functionName: json_stringify_first
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_stringify_first(type, sys, name, var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type
    - ','
    - sys
    - ','
    - name
    - ','
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 284
    functionName: json_stringify
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_stringify(type, sys, name, var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type
    - ','
    - sys
    - ','
    - name
    - ','
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 296
    functionName: json_stringify_last
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_stringify_last(type, sys, name, var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - func
    - ','
    - size
    - ','
    - sys
    - ','
    - name
    - ','
    - array
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 321
    functionName: json_stringify_array
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_stringify_array(func, size, sys, name, array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - type
    - ','
    - size
    - ','
    - sys
    - ','
    - name
    - ','
    - array
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 346
    functionName: json_stringify_array_value
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_stringify_array_value(type, size, sys, name, array)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:355,1
    - Dst: json_stringify_utf8string
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:358,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:359,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:364,1
    - Dst: json_stringify_first
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:369,1
    - Dst: json_stringify_last
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - sys
    - el
    - name
    argTypes:
    - struct serdes_sys*
    - extra_languages_t*
    - char*
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 354
        line_start: 354
        source_file: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    constantsTouched: []
    func_position:
      end: 371
      start: 351
    functionDepth: 3
    functionLinenumber: 351
    functionLinenumberEnd: 371
    functionName: toJSON_extra_languages
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    functionUses: 0
    functionsReached:
    - assert
    - json_stringify_utf8string
    - json_stringify_last
    - json_stringify_first
    - serdes_buf_puts
    linkageType: ''
    returnType: void
    signature: "void toJSON_extra_languages(struct serdes_sys *sys,\n                                   const
      extra_languages_t *el,\n                                   const char *name)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:376,1
    - Dst: json_stringify_utf8string
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:379,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:380,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:385,1
    - Dst: json_stringify_first
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:390,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:391,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:392,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:393,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:394,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:395,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:396,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:397,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:398,1
    - Dst: json_stringify_last
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:399,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - sys
    - a
    - name
    argTypes:
    - struct serdes_sys*
    - audio_format_t*
    - char*
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 375
        line_start: 375
        source_file: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    constantsTouched: []
    func_position:
      end: 400
      start: 373
    functionDepth: 3
    functionLinenumber: 373
    functionLinenumberEnd: 400
    functionName: toJSON_audio_format
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    functionUses: 0
    functionsReached:
    - assert
    - json_stringify
    - json_stringify_utf8string
    - json_stringify_last
    - json_stringify_first
    - serdes_buf_puts
    linkageType: ''
    returnType: void
    signature: "void toJSON_audio_format(struct serdes_sys *sys,\n                                const
      audio_format_t *a, const char *name)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:406,1
    - Dst: json_stringify_utf8string
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:409,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:410,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:415,1
    - Dst: serdes_buf_putc
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:420,1
    - Dst: json_stringify_array_value
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:423,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:425,1
    - Dst: json_stringify_array_value
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:428,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:430,1
    - Dst: json_stringify_array_value
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:433,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:435,1
    - Dst: json_stringify_array_value
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:438,1
    - Dst: serdes_buf_putc
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:440,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - sys
    - ag
    - name
    argTypes:
    - struct serdes_sys*
    - audio_replay_gain_t*
    - char*
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 405
        line_start: 405
        source_file: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    constantsTouched: []
    func_position:
      end: 443
      start: 402
    functionDepth: 3
    functionLinenumber: 402
    functionLinenumberEnd: 443
    functionName: toJSON_audio_replay_gain
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    functionUses: 0
    functionsReached:
    - assert
    - serdes_buf_putc
    - json_stringify_array_value
    - json_stringify_utf8string
    - serdes_buf_puts
    linkageType: ''
    returnType: void
    signature: "void toJSON_audio_replay_gain(struct serdes_sys *sys,\n                                     const
      audio_replay_gain_t *ag,\n                                     const char *name)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:449,1
    - Dst: json_stringify_utf8string
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:452,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:453,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:458,1
    - Dst: json_stringify_first
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:464,1
    - Dst: json_stringify_utf8string
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:465,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:466,1
    - Dst: json_stringify_array_value
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:471,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:473,1
    - Dst: json_stringify_array_value
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:476,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:480,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - sys
    - palette
    - name
    argTypes:
    - struct serdes_sys*
    - video_palette_t*
    - char*
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 448
        line_start: 448
        source_file: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    constantsTouched: []
    func_position:
      end: 483
      start: 445
    functionDepth: 3
    functionLinenumber: 445
    functionLinenumberEnd: 483
    functionName: toJSON_video_palette
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    functionUses: 0
    functionsReached:
    - assert
    - json_stringify_array_value
    - json_stringify_utf8string
    - json_stringify_first
    - serdes_buf_puts
    linkageType: ''
    returnType: void
    signature: "void toJSON_video_palette(struct serdes_sys *sys,\n                                 const
      video_palette_t *palette,\n                                 const char *name)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:489,1
    - Dst: json_stringify_utf8string
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:492,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:493,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:498,1
    - Dst: json_stringify_first
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:503,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:504,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:505,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:506,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:507,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:508,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:509,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:510,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:511,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:512,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:513,1
    - Dst: toJSON_video_palette
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:514,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:515,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:518,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:519,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:520,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:521,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:522,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:523,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:524,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:525,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:527,1
    - Dst: json_stringify_utf8string
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:530,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:531,1
    - Dst: json_stringify_first
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:534,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:535,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:536,1
    - Dst: json_stringify_last
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:537,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:538,1
    - Dst: json_stringify_utf8string
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:543,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:544,1
    - Dst: json_stringify_array_value
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:548,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:550,1
    - Dst: json_stringify_array_value
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:554,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:556,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:559,1
    - Dst: json_stringify_last
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:561,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:563,1
    - Dst: json_stringify_utf8string
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:568,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:569,1
    - Dst: json_stringify_first
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:572,1
    - Dst: json_stringify_last
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:573,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:574,1
    - Dst: json_stringify_utf8string
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:579,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:580,1
    - Dst: json_stringify_first
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:583,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:585,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:586,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:587,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:588,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:589,1
    - Dst: json_stringify_last
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:590,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:591,1
    - Dst: json_stringify_last
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:595,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 90
    argCount: 3
    argNames:
    - sys
    - video
    - name
    argTypes:
    - struct serdes_sys*
    - video_format_t*
    - char*
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 488
        line_start: 488
        source_file: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    constantsTouched: []
    func_position:
      end: 597
      start: 485
    functionDepth: 4
    functionLinenumber: 485
    functionLinenumberEnd: 597
    functionName: toJSON_video_format
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    functionUses: 0
    functionsReached:
    - assert
    - json_stringify_array_value
    - json_stringify
    - json_stringify_utf8string
    - json_stringify_last
    - toJSON_video_palette
    - json_stringify_first
    - serdes_buf_puts
    linkageType: ''
    returnType: void
    signature: "void toJSON_video_format(struct serdes_sys *sys,\n                                const
      video_format_t *video,\n                                const char *name)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:602,1
    - Dst: json_stringify_utf8string
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:605,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:606,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:611,1
    - Dst: json_stringify_first
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:616,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:617,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:618,1
    - Dst: json_stringify_utf8string
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:621,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:622,1
    - Dst: json_stringify_first
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:625,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:627,1
    - Dst: json_stringify_array_value
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:629,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:631,1
    - Dst: json_stringify_last
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:634,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:635,1
    - Dst: json_stringify_utf8string
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:640,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:641,1
    - Dst: json_stringify_last
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:644,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:645,1
    - Dst: json_stringify_utf8string
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:650,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:651,1
    - Dst: json_stringify_first
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:654,1
    - Dst: json_stringify_last
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:655,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:656,1
    - Dst: json_stringify_utf8string
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:661,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:662,1
    - Dst: json_stringify_first
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:665,1
    - Dst: json_stringify_last
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:666,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:669,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 57
    argCount: 3
    argNames:
    - sys
    - subs
    - name
    argTypes:
    - struct serdes_sys*
    - subs_format_t*
    - char*
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 601
        line_start: 601
        source_file: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    constantsTouched: []
    func_position:
      end: 672
      start: 599
    functionDepth: 3
    functionLinenumber: 599
    functionLinenumberEnd: 672
    functionName: toJSON_subs_format
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    functionUses: 0
    functionsReached:
    - assert
    - json_stringify_array_value
    - json_stringify
    - json_stringify_utf8string
    - json_stringify_last
    - json_stringify_first
    - serdes_buf_puts
    linkageType: ''
    returnType: void
    signature: "void toJSON_subs_format(struct serdes_sys *sys,\n                               const
      subs_format_t *subs, const char *name)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:677,1
    - Dst: json_stringify_utf8string
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:680,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:681,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:686,1
    - Dst: json_stringify_first
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:691,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:692,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:693,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:694,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:695,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:696,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:697,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:698,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:699,1
    - Dst: json_stringify_array
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:700,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:702,1
    - Dst: toJSON_audio_format
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:708,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:709,1
    - Dst: toJSON_audio_replay_gain
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:712,1
    - Dst: toJSON_video_format
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:716,1
    - Dst: toJSON_subs_format
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:719,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:724,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:728,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:729,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:730,1
    - Dst: json_stringify_last
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:731,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 3
    argNames:
    - sys
    - es
    - name
    argTypes:
    - struct serdes_sys*
    - es_format_t*
    - char*
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 676
        line_start: 676
        source_file: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    constantsTouched: []
    func_position:
      end: 734
      start: 674
    functionDepth: 5
    functionLinenumber: 674
    functionLinenumberEnd: 734
    functionName: toJSON_es_format
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    functionUses: 0
    functionsReached:
    - assert
    - toJSON_audio_format
    - json_stringify_array
    - toJSON_audio_replay_gain
    - toJSON_video_format
    - json_stringify
    - json_stringify_utf8string
    - json_stringify_last
    - json_stringify_first
    - serdes_buf_puts
    - toJSON_subs_format
    linkageType: ''
    returnType: void
    signature: "void toJSON_es_format(struct serdes_sys *sys, const es_format_t *es,\n
      \                            const char *name)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:757,1
    - Dst: json_stringify_utf8string
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:760,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:761,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:766,1
    - Dst: serdes_buf_putc
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:771,1
    - Dst: stringify_meta
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:774,1
    - Dst: stringify_meta
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:775,1
    - Dst: stringify_meta
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:776,1
    - Dst: stringify_meta
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:777,1
    - Dst: stringify_meta
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:778,1
    - Dst: stringify_meta
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:779,1
    - Dst: stringify_meta
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:780,1
    - Dst: stringify_meta
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:781,1
    - Dst: stringify_meta
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:782,1
    - Dst: stringify_meta
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:783,1
    - Dst: stringify_meta
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:784,1
    - Dst: stringify_meta
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:785,1
    - Dst: stringify_meta
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:786,1
    - Dst: stringify_meta
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:787,1
    - Dst: stringify_meta
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:788,1
    - Dst: stringify_meta
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:789,1
    - Dst: stringify_meta
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:790,1
    - Dst: stringify_meta
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:791,1
    - Dst: stringify_meta
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:792,1
    - Dst: stringify_meta
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:793,1
    - Dst: stringify_meta
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:794,1
    - Dst: stringify_meta
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:795,1
    - Dst: stringify_meta
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:796,1
    - Dst: stringify_meta
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:797,1
    - Dst: stringify_meta
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:798,1
    - Dst: stringify_meta
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:799,1
    - Dst: stringify_meta
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:800,1
    - Dst: stringify_meta
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:801,1
    - Dst: json_stringify_utf8string
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:805,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:806,1
    - Dst: serdes_buf_putc
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:809,1
    - Dst: vlc_meta_CopyExtraNames
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:812,1
    - Dst: vlc_meta_GetExtraCount
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:814,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:816,1
    - Dst: vlc_meta_GetExtraWithPriority
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:821,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:823,1
    - Dst: json_stringify_first
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:825,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:826,1
    - Dst: json_stringify_last
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:827,1
    - Dst: free
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:828,1
    - Dst: free
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:830,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:832,1
    - Dst: json_stringify_last
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:835,1
    - Dst: vlc_meta_GetStatus
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:835,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 71
    argCount: 3
    argNames:
    - sys
    - meta
    - name
    argTypes:
    - struct serdes_sys*
    - vlc_meta_t*
    - char*
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 756
        line_start: 756
        source_file: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    - condition: "(priority >= VLC_META_PRIORITY_BASIC\n                    && priority
        <= VLC_META_PRIORITY_INBAND)"
      pos:
        line_end: 823
        line_start: 822
        source_file: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    constantsTouched: []
    func_position:
      end: 836
      start: 736
    functionDepth: 3
    functionLinenumber: 736
    functionLinenumberEnd: 836
    functionName: toJSON_meta
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_meta_CopyExtraNames
    - serdes_buf_putc
    - vlc_meta_GetExtraWithPriority
    - free
    - vlc_meta_GetStatus
    - json_stringify_last
    - json_stringify
    - json_stringify_utf8string
    - stringify_meta
    - json_stringify_first
    - serdes_buf_puts
    - vlc_meta_GetExtraCount
    linkageType: ''
    returnType: void
    signature: "void toJSON_meta(struct serdes_sys *sys, const vlc_meta_t *meta,\n
      \                       const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - sys
    - ','
    - meta
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 756
    functionName: stringify_meta
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stringify_meta(sys, meta, type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:842,1
    - Dst: json_stringify_utf8string
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:845,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:846,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:851,1
    - Dst: serdes_buf_putc
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:856,1
    - Dst: toJSON_es_format
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:859,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:860,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:863,1
    - Dst: json_stringify_last
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:864,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - sys
    - item_es
    - name
    argTypes:
    - struct serdes_sys*
    - struct input_item_es*
    - char*
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 841
        line_start: 841
        source_file: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    constantsTouched: []
    func_position:
      end: 865
      start: 838
    functionDepth: 6
    functionLinenumber: 838
    functionLinenumberEnd: 865
    functionName: toJSON_input_item_es
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    functionUses: 0
    functionsReached:
    - assert
    - toJSON_es_format
    - serdes_buf_putc
    - json_stringify
    - json_stringify_utf8string
    - json_stringify_last
    - serdes_buf_puts
    linkageType: ''
    returnType: void
    signature: "void toJSON_input_item_es(struct serdes_sys *sys,\n                                 const
      struct input_item_es *item_es,\n                                 const char
      *name)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:871,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:872,1
    - Dst: json_stringify_utf8string
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:875,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:876,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:881,1
    - Dst: json_stringify_first
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:886,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:887,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:888,1
    - Dst: json_stringify_last
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:889,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - sys
    - slave
    - name
    argTypes:
    - struct serdes_sys*
    - struct input_item_slave**
    - char*
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 870
        line_start: 870
        source_file: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    - condition: (slave != NULL)
      pos:
        line_end: 871
        line_start: 871
        source_file: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    constantsTouched: []
    func_position:
      end: 890
      start: 867
    functionDepth: 3
    functionLinenumber: 867
    functionLinenumberEnd: 890
    functionName: toJSON_input_item_slave
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    functionUses: 0
    functionsReached:
    - assert
    - json_stringify
    - json_stringify_utf8string
    - json_stringify_last
    - json_stringify_first
    - serdes_buf_puts
    linkageType: ''
    returnType: void
    signature: "void toJSON_input_item_slave(struct serdes_sys *sys,\n                                    struct
      input_item_slave * const * slave,\n                                    const
      char *name)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:896,1
    - Dst: json_stringify_utf8string
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:899,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:900,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:905,1
    - Dst: json_stringify_first
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:910,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:911,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:912,1
    - Dst: json_stringify_array
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:913,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:915,1
    - Dst: toJSON_meta
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:918,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:919,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:922,1
    - Dst: json_stringify_array
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:923,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:925,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:928,1
    - Dst: json_stringify_last
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:929,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - sys
    - item
    - name
    argTypes:
    - struct serdes_sys*
    - input_item_t*
    - char*
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 895
        line_start: 895
        source_file: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    constantsTouched: []
    func_position:
      end: 930
      start: 892
    functionDepth: 4
    functionLinenumber: 892
    functionLinenumberEnd: 930
    functionName: toJSON_input_item
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    functionUses: 0
    functionsReached:
    - assert
    - toJSON_meta
    - json_stringify_array
    - json_stringify
    - json_stringify_utf8string
    - json_stringify_last
    - json_stringify_first
    - serdes_buf_puts
    linkageType: ''
    returnType: void
    signature: "void toJSON_input_item(struct serdes_sys *sys,\n                                     const
      input_item_t *item,\n                                     const char *name)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:936,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:937,1
    - Dst: json_stringify_utf8string
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:941,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:942,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:947,1
    - Dst: serdes_buf_putc
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:952,1
    - Dst: toJSON_input_item
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:955,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:956,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:959,1
    - Dst: json_stringify_array
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:960,1
    - Dst: serdes_buf_putc
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:962,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - sys
    - n
    - name
    argTypes:
    - struct serdes_sys*
    - input_item_node_t**
    - char*
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 935
        line_start: 935
        source_file: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    - condition: (n != NULL)
      pos:
        line_end: 936
        line_start: 936
        source_file: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    constantsTouched: []
    func_position:
      end: 965
      start: 932
    functionDepth: 5
    functionLinenumber: 932
    functionLinenumberEnd: 965
    functionName: toJSON_input_item_node
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    functionUses: 0
    functionsReached:
    - assert
    - serdes_buf_putc
    - json_stringify_array
    - toJSON_input_item
    - json_stringify
    - json_stringify_utf8string
    - serdes_buf_puts
    linkageType: ''
    returnType: void
    signature: "void toJSON_input_item_node(struct serdes_sys *sys,\n                                          input_item_node_t
      * const *n,\n                                          const char *name)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:971,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:972,1
    - Dst: json_stringify_utf8string
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:975,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:976,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:981,1
    - Dst: json_stringify_first
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:986,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:987,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:988,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:989,1
    - Dst: json_stringify_last
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:991,1
    - Dst: vlc_vector_push_all
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:992,1
    - Dst: vlc_b64_encode_binary
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:994,1
    - Dst: json_stringify_last
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:995,1
    - Dst: free
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:996,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - sys
    - a
    - name
    argTypes:
    - struct serdes_sys*
    - input_attachment_t**
    - char*
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 970
        line_start: 970
        source_file: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    - condition: (a != NULL)
      pos:
        line_end: 971
        line_start: 971
        source_file: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    constantsTouched: []
    func_position:
      end: 998
      start: 967
    functionDepth: 3
    functionLinenumber: 967
    functionLinenumberEnd: 998
    functionName: toJSON_input_attachment
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_vector_push_all
    - vlc_b64_encode_binary
    - free
    - json_stringify
    - json_stringify_utf8string
    - json_stringify_last
    - json_stringify_first
    - serdes_buf_puts
    linkageType: ''
    returnType: void
    signature: "void toJSON_input_attachment(struct serdes_sys *sys,\n                                    input_attachment_t
      * const *a,\n                                    const char *name)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1003,1
    - Dst: json_stringify_utf8string
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1006,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1007,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1012,1
    - Dst: json_stringify_first
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1018,1
    - Dst: vlc_vector_push_all
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1019,1
    - Dst: vlc_b64_encode_binary
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1022,1
    - Dst: json_stringify_first
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1024,1
    - Dst: free
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1025,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1027,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1028,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1029,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1030,1
    - Dst: json_stringify_last
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1031,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - sys
    - plane
    - name
    argTypes:
    - struct serdes_sys*
    - plane_t*
    - char*
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 1002
        line_start: 1002
        source_file: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    constantsTouched: []
    func_position:
      end: 1032
      start: 1000
    functionDepth: 3
    functionLinenumber: 1000
    functionLinenumberEnd: 1032
    functionName: toJSON_plane
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_vector_push_all
    - vlc_b64_encode_binary
    - free
    - json_stringify
    - json_stringify_utf8string
    - json_stringify_last
    - json_stringify_first
    - serdes_buf_puts
    linkageType: ''
    returnType: void
    signature: "void toJSON_plane(struct serdes_sys *sys, const plane_t *plane,\n
      \                        const char *name)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1037,1
    - Dst: json_stringify_utf8string
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1040,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1041,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1046,1
    - Dst: serdes_buf_putc
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1051,1
    - Dst: toJSON_video_format
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1054,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1055,1
    - Dst: json_stringify_array
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1058,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1059,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1062,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1063,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1064,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1065,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1066,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1067,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1068,1
    - Dst: json_stringify_last
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1070,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - sys
    - pic
    - name
    argTypes:
    - struct serdes_sys*
    - picture_t*
    - char*
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 1036
        line_start: 1036
        source_file: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    constantsTouched: []
    func_position:
      end: 1071
      start: 1034
    functionDepth: 5
    functionLinenumber: 1034
    functionLinenumberEnd: 1071
    functionName: toJSON_picture
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    functionUses: 0
    functionsReached:
    - assert
    - serdes_buf_putc
    - json_stringify_array
    - toJSON_video_format
    - json_stringify
    - json_stringify_utf8string
    - json_stringify_last
    - serdes_buf_puts
    linkageType: ''
    returnType: void
    signature: "void toJSON_picture(struct serdes_sys *sys, const picture_t *pic,\n
      \                          const char *name)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1078,1
    - Dst: json_stringify_utf8string
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1081,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1082,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1087,1
    - Dst: json_stringify_first
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1092,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1093,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1094,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1095,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1096,1
    - Dst: json_stringify_last
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1097,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - sys
    - output
    - name
    argTypes:
    - struct serdes_sys*
    - struct vlc_thumbnailer_output*
    - char*
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 1077
        line_start: 1077
        source_file: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    constantsTouched: []
    func_position:
      end: 1098
      start: 1073
    functionDepth: 3
    functionLinenumber: 1073
    functionLinenumberEnd: 1098
    functionName: toJSON_vlc_thumbnailer_output
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    functionUses: 0
    functionsReached:
    - assert
    - json_stringify
    - json_stringify_utf8string
    - json_stringify_last
    - json_stringify_first
    - serdes_buf_puts
    linkageType: ''
    returnType: void
    signature: "void toJSON_vlc_thumbnailer_output(struct serdes_sys *sys,\n                              const
      struct vlc_thumbnailer_output *output,\n                              const
      char *name)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1105,1
    - Dst: json_stringify_utf8string
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1108,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1109,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1114,1
    - Dst: json_stringify_first
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1120,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1122,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1127,1
    - Dst: json_stringify_array
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1130,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1133,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1137,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1139,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1141,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1143,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1145,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1146,1
    - Dst: json_stringify_last
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1149,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 3
    argNames:
    - sys
    - req
    - name
    argTypes:
    - struct serdes_sys*
    - struct vlc_preparser_msg_req*
    - char*
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 1104
        line_start: 1104
        source_file: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    - condition: "(req->type == VLC_PREPARSER_MSG_REQ_TYPE_PARSE ||\n            req->type
        == VLC_PREPARSER_MSG_REQ_TYPE_THUMBNAIL ||\n            req->type == VLC_PREPARSER_MSG_REQ_TYPE_THUMBNAIL_TO_FILES)"
      pos:
        line_end: 1123
        line_start: 1121
        source_file: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    constantsTouched: []
    func_position:
      end: 1150
      start: 1100
    functionDepth: 3
    functionLinenumber: 1100
    functionLinenumberEnd: 1150
    functionName: toJSON_vlc_preparser_msg_req
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_assert_unreachable
    - json_stringify_array
    - json_stringify
    - json_stringify_utf8string
    - json_stringify_last
    - json_stringify_first
    - serdes_buf_puts
    linkageType: ''
    returnType: void
    signature: "void toJSON_vlc_preparser_msg_req(struct serdes_sys *sys,\n                             const
      struct vlc_preparser_msg_req *req,\n                             const char
      *name)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1161,1
    - Dst: json_stringify_utf8string
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1164,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1165,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1170,1
    - Dst: json_stringify_first
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1176,1
    - Dst: json_stringify_array
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1179,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1181,1
    - Dst: toJSON_input_item_node
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1184,1
    - Dst: toJSON_picture
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1187,1
    - Dst: json_stringify_array_value
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1190,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1194,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1196,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1199,1
    - Dst: toJSON_input_item
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1200,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1201,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - sys
    - res
    - name
    argTypes:
    - struct serdes_sys*
    - struct vlc_preparser_msg_res*
    - char*
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 1160
        line_start: 1160
        source_file: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    constantsTouched: []
    func_position:
      end: 1204
      start: 1156
    functionDepth: 6
    functionLinenumber: 1156
    functionLinenumberEnd: 1204
    functionName: toJSON_vlc_preparser_msg_res
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    functionUses: 0
    functionsReached:
    - json_stringify_utf8string
    - assert
    - vlc_assert_unreachable
    - toJSON_picture
    - json_stringify_array_value
    - toJSON_input_item
    - toJSON_input_item_node
    - json_stringify
    - json_stringify_array
    - json_stringify_first
    - serdes_buf_puts
    linkageType: ''
    returnType: void
    signature: "void toJSON_vlc_preparser_msg_res(struct serdes_sys *sys,\n                             const
      struct vlc_preparser_msg_res *res,\n                             const char
      *name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1210,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1211,1
    - Dst: json_stringify_first
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1213,1
    - Dst: json_stringify
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1214,1
    - Dst: toJSON_vlc_preparser_msg_req
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1217,1
    - Dst: toJSON_vlc_preparser_msg_res
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1219,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1221,1
    - Dst: serdes_buf_puts
      Src: /src/vlc/modules/misc/preparser_serializer/json/tojson.c:1223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - sys
    - msg
    argTypes:
    - struct serdes_sys*
    - struct vlc_preparser_msg*
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 1209
        line_start: 1209
        source_file: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    - condition: (msg != NULL)
      pos:
        line_end: 1210
        line_start: 1210
        source_file: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    constantsTouched: []
    func_position:
      end: 1226
      start: 1206
    functionDepth: 7
    functionLinenumber: 1206
    functionLinenumberEnd: 1226
    functionName: toJSON_vlc_preparser_msg
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/tojson.c
    functionUses: 0
    functionsReached:
    - assert
    - toJSON_vlc_preparser_msg_req
    - toJSON_vlc_preparser_msg_res
    - vlc_assert_unreachable
    - json_stringify
    - json_stringify_first
    - serdes_buf_puts
    linkageType: ''
    returnType: void
    signature: "void toJSON_vlc_preparser_msg(struct serdes_sys *sys,\n                         const
      struct vlc_preparser_msg *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: serdes_set_error
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/serializer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: serdes_set_error(err)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:35,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:36,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:37,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:38,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:43,1
    - Dst: memcpy
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:49,1
    - Dst: memcpy
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:53,1
    - Dst: struct serdes_sys*::parent::owner::cbs::write
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:57,1
    - Dst: serdes_set_error
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:63,1
    - Dst: memmove
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:69,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 3
    argNames:
    - sys
    - _data
    - size
    argTypes:
    - struct serdes_sys*
    - void*
    - size_t
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    - condition: (sys->parent != NULL)
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    - condition: (sys->parent->owner.cbs != NULL)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    - condition: (sys->parent->owner.cbs->write != NULL)
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    - condition: (_data != NULL)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    constantsTouched: []
    func_position:
      end: 76
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 76
    functionName: serdes_buf_write
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    functionUses: 1
    functionsReached:
    - assert
    - memcpy
    - memmove
    - struct serdes_sys*::parent::owner::cbs::write
    - serdes_set_error
    linkageType: ''
    returnType: int
    signature: int serdes_buf_write(struct serdes_sys *sys, const void *_data, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:81,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:82,1
    - Dst: serdes_buf_write
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:83,1
    - Dst: strlen
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sys
    - data
    argTypes:
    - struct serdes_sys*
    - char*
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    - condition: (data != NULL)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: serdes_buf_puts
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    functionUses: 23
    functionsReached:
    - serdes_buf_write
    - assert
    - strlen
    linkageType: ''
    returnType: int
    signature: int serdes_buf_puts(struct serdes_sys *sys, const char *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:89,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:90,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:91,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:92,1
    - Dst: struct serdes_sys*::parent::owner::cbs::write
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:95,1
    - Dst: serdes_set_error
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:101,1
    - Dst: memmove
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:107,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - sys
    - c
    argTypes:
    - struct serdes_sys*
    - char
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    - condition: (sys->parent->owner.cbs->write != NULL)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    - condition: (sys->parent->owner.cbs != NULL)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    - condition: (sys->parent != NULL)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    constantsTouched: []
    func_position:
      end: 114
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 114
    functionName: serdes_buf_putc
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    functionUses: 6
    functionsReached:
    - serdes_set_error
    - memmove
    - assert
    - struct serdes_sys*::parent::owner::cbs::write
    linkageType: ''
    returnType: int
    signature: int serdes_buf_putc(struct serdes_sys *sys, char c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:119,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:120,1
    - Dst: va_start
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:124,1
    - Dst: va_copy
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:125,1
    - Dst: vsnprintf
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:126,1
    - Dst: va_end
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:127,1
    - Dst: serdes_set_error
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:129,1
    - Dst: va_end
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:130,1
    - Dst: vsnprintf
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:135,1
    - Dst: serdes_set_error
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:138,1
    - Dst: va_end
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:139,1
    - Dst: vasprintf
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:146,1
    - Dst: serdes_set_error
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:148,1
    - Dst: va_end
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:149,1
    - Dst: serdes_buf_write
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:152,1
    - Dst: free
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:153,1
    - Dst: va_end
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 2
    argNames:
    - sys
    - fmt
    argTypes:
    - struct serdes_sys*
    - char*
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    - condition: (fmt != NULL)
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    constantsTouched: []
    func_position:
      end: 157
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 157
    functionName: serdes_buf_printf
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    functionUses: 6
    functionsReached:
    - assert
    - vasprintf
    - va_start
    - serdes_buf_write
    - free
    - va_copy
    - vsnprintf
    - va_end
    - serdes_set_error
    linkageType: ''
    returnType: int
    signature: int serdes_buf_printf(struct serdes_sys *sys, const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:162,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:163,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:164,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:165,1
    - Dst: struct serdes_sys*::parent::owner::cbs::write
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:171,1
    - Dst: serdes_set_error
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - sys
    argTypes:
    - struct serdes_sys*
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    - condition: (sys->parent != NULL)
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    - condition: (sys->parent->owner.cbs != NULL)
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    - condition: (sys->parent->owner.cbs->write != NULL)
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    constantsTouched: []
    func_position:
      end: 184
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 184
    functionName: serdes_buf_flush
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    functionUses: 0
    functionsReached:
    - serdes_set_error
    - assert
    - struct serdes_sys*::parent::owner::cbs::write
    linkageType: ''
    returnType: int
    signature: int serdes_buf_flush(struct serdes_sys *sys)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:189,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:190,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:191,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:192,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:193,1
    - Dst: memchr
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:200,1
    - Dst: memcpy
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:204,1
    - Dst: memmove
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:207,1
    - Dst: memcpy
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:212,1
    - Dst: memmove
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:213,1
    - Dst: memcpy
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:218,1
    - Dst: struct serdes_sys*::parent::owner::cbs::read
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:223,1
    - Dst: serdes_set_error
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:229,1
    - Dst: memcpy
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:239,1
    - Dst: memmove
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:244,1
    - Dst: struct serdes_sys*::parent::owner::cbs::read
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:249,1
    - Dst: serdes_set_error
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:254,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 70
    argCount: 4
    argNames:
    - sys
    - _data
    - size
    - eod
    argTypes:
    - struct serdes_sys*
    - void*
    - size_t
    - bool
    assertStmts:
    - condition: (sys != NULL)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    - condition: (sys->parent->owner.cbs->read != NULL)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    - condition: (size <= SSIZE_MAX)
      pos:
        line_end: 192
        line_start: 192
        source_file: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    - condition: (sys->parent != NULL)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    - condition: (sys->parent->owner.cbs != NULL)
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    constantsTouched: []
    func_position:
      end: 264
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 264
    functionName: serdes_buf_read
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    functionUses: 2
    functionsReached:
    - assert
    - struct serdes_sys*::parent::owner::cbs::read
    - memcpy
    - memmove
    - serdes_set_error
    - memchr
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t serdes_buf_read(struct serdes_sys *sys, void *_data, size_t
      size, bool eod)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:274,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:276,1
    - Dst: toJSON_vlc_preparser_msg
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:287,1
    - Dst: serdes_buf_putc
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:294,1
    - Dst: serdes_buf_putc
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:299,1
    - Dst: serdes_buf_write
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:303,1
    - Dst: vlc_vector_clear
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:306,1
    - Dst: vlc_vector_clear
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:310,1
    - Dst: serdes_buf_flush
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:311,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 3
    argNames:
    - serdes
    - msg
    - userdata
    argTypes:
    - struct vlc_preparser_msg_serdes*
    - struct vlc_preparser_msg*
    - void*
    assertStmts:
    - condition: (serdes != NULL)
      pos:
        line_end: 273
        line_start: 273
        source_file: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    - condition: (serdes == sys->parent)
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    constantsTouched: []
    func_position:
      end: 316
      start: 270
    functionDepth: 8
    functionLinenumber: 270
    functionLinenumberEnd: 316
    functionName: serdes_Serialize
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    functionUses: 4
    functionsReached:
    - serdes_buf_flush
    - toJSON_vlc_preparser_msg
    - assert
    - serdes_buf_putc
    - serdes_buf_write
    - vlc_vector_clear
    linkageType: ''
    returnType: int
    signature: "int serdes_Serialize(struct vlc_preparser_msg_serdes *serdes,\n                 const
      struct vlc_preparser_msg *msg, void *userdata)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:323,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:324,1
    - Dst: serdes_buf_read
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - opaque
    - buf
    - max
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts:
    - condition: (opaque != NULL)
      pos:
        line_end: 322
        line_start: 322
        source_file: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    - condition: (buf != NULL)
      pos:
        line_end: 323
        line_start: 323
        source_file: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    constantsTouched: []
    func_position:
      end: 337
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 337
    functionName: json_read
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    functionUses: 0
    functionsReached:
    - assert
    - serdes_buf_read
    linkageType: ''
    returnType: size_t
    signature: size_t json_read(void *opaque, void *buf, size_t max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:341,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:342,1
    - Dst: serdes_set_error
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - opaque
    - msg
    argTypes:
    - void*
    - char*
    assertStmts:
    - condition: (opaque != NULL)
      pos:
        line_end: 340
        line_start: 340
        source_file: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    - condition: (msg != NULL)
      pos:
        line_end: 341
        line_start: 341
        source_file: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    constantsTouched: []
    func_position:
      end: 345
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 345
    functionName: json_parse_error
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    functionUses: 0
    functionsReached:
    - serdes_set_error
    - assert
    linkageType: ''
    returnType: void
    signature: void json_parse_error(void *opaque, const char *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:351,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:352,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:354,1
    - Dst: json_parse
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:364,1
    - Dst: fromJSON_vlc_preparser_msg
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:368,1
    - Dst: json_free
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:369,1
    - Dst: serdes_set_error
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - serdes
    - msg
    - userdata
    argTypes:
    - struct vlc_preparser_msg_serdes*
    - struct vlc_preparser_msg*
    - void*
    assertStmts:
    - condition: (serdes != NULL)
      pos:
        line_end: 350
        line_start: 350
        source_file: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    - condition: (msg != NULL)
      pos:
        line_end: 351
        line_start: 351
        source_file: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    - condition: (serdes->owner.sys != NULL)
      pos:
        line_end: 353
        line_start: 353
        source_file: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    constantsTouched: []
    func_position:
      end: 378
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 378
    functionName: serdes_Deserialize
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    functionUses: 1
    functionsReached:
    - assert
    - json_parse
    - fromJSON_vlc_preparser_msg
    - json_free
    - serdes_set_error
    linkageType: ''
    returnType: int
    signature: "int serdes_Deserialize(struct vlc_preparser_msg_serdes *serdes,\n
      \                  struct vlc_preparser_msg *msg, void *userdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:383,1
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:384,1
    - Dst: vlc_vector_clear
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:389,1
    - Dst: free
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - serdes
    argTypes:
    - struct vlc_preparser_msg_serdes*
    assertStmts:
    - condition: (serdes != NULL)
      pos:
        line_end: 382
        line_start: 382
        source_file: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    - condition: (serdes->owner.sys != NULL)
      pos:
        line_end: 383
        line_start: 383
        source_file: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    constantsTouched: []
    func_position:
      end: 391
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 391
    functionName: serdes_Close
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_vector_clear
    - assert
    linkageType: ''
    returnType: void
    signature: void serdes_Close(struct vlc_preparser_msg_serdes *serdes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:401,1
    - Dst: malloc
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:403,1
    - Dst: memset
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:412,1
    - Dst: vlc_vector_init
      Src: /src/vlc/modules/misc/preparser_serializer/json/serializer.c:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - serdes
    - bin_data
    argTypes:
    - struct vlc_preparser_msg_serdes*
    - bool
    assertStmts:
    - condition: (serdes != NULL)
      pos:
        line_end: 400
        line_start: 400
        source_file: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    constantsTouched: []
    func_position:
      end: 425
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 425
    functionName: serdes_Open
    functionSourceFile: /src/vlc/modules/misc/preparser_serializer/json/serializer.c
    functionUses: 0
    functionsReached:
    - assert
    - malloc
    - vlc_vector_init
    - memset
    linkageType: ''
    returnType: int
    signature: int serdes_Open(struct vlc_preparser_msg_serdes *serdes, bool bin_data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_view_Count
      Src: /src/vlc/modules/misc/playlist/html.c:47,1
    - Dst: vlc_playlist_view_Get
      Src: /src/vlc/modules/misc/playlist/html.c:51,1
    - Dst: vlc_playlist_item_GetMedia
      Src: /src/vlc/modules/misc/playlist/html.c:53,1
    - Dst: input_item_GetName
      Src: /src/vlc/modules/misc/playlist/html.c:56,1
    - Dst: vlc_xml_encode
      Src: /src/vlc/modules/misc/playlist/html.c:58,1
    - Dst: free
      Src: /src/vlc/modules/misc/playlist/html.c:59,1
    - Dst: input_item_GetArtist
      Src: /src/vlc/modules/misc/playlist/html.c:64,1
    - Dst: vlc_xml_encode
      Src: /src/vlc/modules/misc/playlist/html.c:66,1
    - Dst: free
      Src: /src/vlc/modules/misc/playlist/html.c:67,1
    - Dst: input_item_GetDuration
      Src: /src/vlc/modules/misc/playlist/html.c:69,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/misc/playlist/html.c:70,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/misc/playlist/html.c:71,1
    - Dst: fprintf
      Src: /src/vlc/modules/misc/playlist/html.c:75,1
    - Dst: fprintf
      Src: /src/vlc/modules/misc/playlist/html.c:77,1
    - Dst: free
      Src: /src/vlc/modules/misc/playlist/html.c:79,1
    - Dst: free
      Src: /src/vlc/modules/misc/playlist/html.c:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - p_export
    argTypes:
    - struct vlc_playlist_export*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 83
    functionName: DoExport
    functionSourceFile: /src/vlc/modules/misc/playlist/html.c
    functionUses: 0
    functionsReached:
    - vlc_xml_encode
    - vlc_playlist_item_GetMedia
    - vlc_playlist_view_Count
    - SEC_FROM_VLC_TICK
    - vlc_playlist_view_Get
    - fprintf
    - free
    - input_item_GetName
    - input_item_GetArtist
    - input_item_GetDuration
    linkageType: ''
    returnType: void
    signature: void DoExport( struct vlc_playlist_export *p_export )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/playlist/html.c:95,1
    - Dst: fprintf
      Src: /src/vlc/modules/misc/playlist/html.c:98,1
    - Dst: DoExport
      Src: /src/vlc/modules/misc/playlist/html.c:127,1
    - Dst: fprintf
      Src: /src/vlc/modules/misc/playlist/html.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 135
    functionName: Export_HTML
    functionSourceFile: /src/vlc/modules/misc/playlist/html.c
    functionUses: 0
    functionsReached:
    - fprintf
    - msg_Dbg
    - DoExport
    linkageType: ''
    returnType: int
    signature: int Export_HTML( vlc_object_t *p_this )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/vlc/modules/misc/playlist/m3u.c:53,1
    - Dst: strrchr
      Src: /src/vlc/modules/misc/playlist/m3u.c:55,1
    - Dst: assert
      Src: /src/vlc/modules/misc/playlist/m3u.c:56,1
    - Dst: fputs
      Src: /src/vlc/modules/misc/playlist/m3u.c:61,1
    - Dst: vlc_playlist_view_Count
      Src: /src/vlc/modules/misc/playlist/m3u.c:64,1
    - Dst: vlc_playlist_view_Get
      Src: /src/vlc/modules/misc/playlist/m3u.c:68,1
    - Dst: vlc_playlist_item_GetMedia
      Src: /src/vlc/modules/misc/playlist/m3u.c:71,1
    - Dst: input_item_GetURI
      Src: /src/vlc/modules/misc/playlist/m3u.c:73,1
    - Dst: assert
      Src: /src/vlc/modules/misc/playlist/m3u.c:74,1
    - Dst: input_item_GetName
      Src: /src/vlc/modules/misc/playlist/m3u.c:76,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/playlist/m3u.c:77,1
    - Dst: input_item_GetArtist
      Src: /src/vlc/modules/misc/playlist/m3u.c:79,1
    - Dst: input_item_GetDuration
      Src: /src/vlc/modules/misc/playlist/m3u.c:80,1
    - Dst: pf_fprintf
      Src: /src/vlc/modules/misc/playlist/m3u.c:84,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/misc/playlist/m3u.c:85,1
    - Dst: pf_fprintf
      Src: /src/vlc/modules/misc/playlist/m3u.c:90,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/misc/playlist/m3u.c:91,1
    - Dst: free
      Src: /src/vlc/modules/misc/playlist/m3u.c:93,1
    - Dst: free
      Src: /src/vlc/modules/misc/playlist/m3u.c:95,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/misc/playlist/m3u.c:98,1
    - Dst: pf_fprintf
      Src: /src/vlc/modules/misc/playlist/m3u.c:101,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/misc/playlist/m3u.c:106,1
    - Dst: likely
      Src: /src/vlc/modules/misc/playlist/m3u.c:112,1
    - Dst: strncmp
      Src: /src/vlc/modules/misc/playlist/m3u.c:113,1
    - Dst: fprintf
      Src: /src/vlc/modules/misc/playlist/m3u.c:116,1
    - Dst: free
      Src: /src/vlc/modules/misc/playlist/m3u.c:117,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - p_export
    argTypes:
    - struct vlc_playlist_export*
    assertStmts:
    - condition: ( psz_uri )
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/vlc/modules/misc/playlist/m3u.c
    - condition: (p != NULL)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/vlc/modules/misc/playlist/m3u.c
    constantsTouched: []
    func_position:
      end: 119
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 119
    functionName: DoExport
    functionSourceFile: /src/vlc/modules/misc/playlist/m3u.c
    functionUses: 1
    functionsReached:
    - pf_fprintf
    - assert
    - vlc_playlist_item_GetMedia
    - SEC_FROM_VLC_TICK
    - vlc_playlist_view_Get
    - fputs
    - vlc_playlist_view_Count
    - vlc_mutex_lock
    - input_item_GetName
    - input_item_GetArtist
    - fprintf
    - strncmp
    - strcmp
    - input_item_GetURI
    - likely
    - vlc_mutex_unlock
    - free
    - strrchr
    - input_item_GetDuration
    linkageType: ''
    returnType: void
    signature: "void DoExport( struct vlc_playlist_export *p_export,\n                      int
      (*pf_fprintf) (FILE *, const char *, ...) )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/playlist/m3u.c:125,1
    - Dst: DoExport
      Src: /src/vlc/modules/misc/playlist/m3u.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 129
    functionName: Export_M3U
    functionSourceFile: /src/vlc/modules/misc/playlist/m3u.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - DoExport
    linkageType: ''
    returnType: int
    signature: int Export_M3U( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/playlist/m3u.c:135,1
    - Dst: DoExport
      Src: /src/vlc/modules/misc/playlist/m3u.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: Export_M3U8
    functionSourceFile: /src/vlc/modules/misc/playlist/m3u.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - DoExport
    linkageType: ''
    returnType: int
    signature: int Export_M3U8( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/vlc/modules/misc/playlist/xspf.c:44,1
    - Dst: vlc_xml_encode
      Src: /src/vlc/modules/misc/playlist/xspf.c:47,1
    - Dst: free
      Src: /src/vlc/modules/misc/playlist/xspf.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_item
    - (*func)(input_item_t *)
    argTypes:
    - input_item_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: input_xml
    functionSourceFile: /src/vlc/modules/misc/playlist/xspf.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_xml_encode
    - func
    linkageType: ''
    returnType: char
    signature: char *input_xml( input_item_t *p_item, char *(*func)(input_item_t *)
      )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/vlc/modules/misc/playlist/xspf.c:63,1
    - Dst: input_xml
      Src: /src/vlc/modules/misc/playlist/xspf.c:67,1
    - Dst: fprintf
      Src: /src/vlc/modules/misc/playlist/xspf.c:69,1
    - Dst: input_xml
      Src: /src/vlc/modules/misc/playlist/xspf.c:72,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/playlist/xspf.c:73,1
    - Dst: fprintf
      Src: /src/vlc/modules/misc/playlist/xspf.c:74,1
    - Dst: free
      Src: /src/vlc/modules/misc/playlist/xspf.c:75,1
    - Dst: free
      Src: /src/vlc/modules/misc/playlist/xspf.c:76,1
    - Dst: input_xml
      Src: /src/vlc/modules/misc/playlist/xspf.c:84,1
    - Dst: fprintf
      Src: /src/vlc/modules/misc/playlist/xspf.c:86,1
    - Dst: free
      Src: /src/vlc/modules/misc/playlist/xspf.c:87,1
    - Dst: input_xml
      Src: /src/vlc/modules/misc/playlist/xspf.c:90,1
    - Dst: fprintf
      Src: /src/vlc/modules/misc/playlist/xspf.c:92,1
    - Dst: free
      Src: /src/vlc/modules/misc/playlist/xspf.c:93,1
    - Dst: input_xml
      Src: /src/vlc/modules/misc/playlist/xspf.c:96,1
    - Dst: atoi
      Src: /src/vlc/modules/misc/playlist/xspf.c:99,1
    - Dst: free
      Src: /src/vlc/modules/misc/playlist/xspf.c:101,1
    - Dst: fprintf
      Src: /src/vlc/modules/misc/playlist/xspf.c:103,1
    - Dst: input_xml
      Src: /src/vlc/modules/misc/playlist/xspf.c:107,1
    - Dst: fprintf
      Src: /src/vlc/modules/misc/playlist/xspf.c:109,1
    - Dst: free
      Src: /src/vlc/modules/misc/playlist/xspf.c:110,1
    - Dst: input_xml
      Src: /src/vlc/modules/misc/playlist/xspf.c:112,1
    - Dst: fprintf
      Src: /src/vlc/modules/misc/playlist/xspf.c:114,1
    - Dst: free
      Src: /src/vlc/modules/misc/playlist/xspf.c:115,1
    - Dst: input_xml
      Src: /src/vlc/modules/misc/playlist/xspf.c:117,1
    - Dst: fprintf
      Src: /src/vlc/modules/misc/playlist/xspf.c:119,1
    - Dst: free
      Src: /src/vlc/modules/misc/playlist/xspf.c:120,1
    - Dst: input_item_GetDuration
      Src: /src/vlc/modules/misc/playlist/xspf.c:124,1
    - Dst: fprintf
      Src: /src/vlc/modules/misc/playlist/xspf.c:126,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/misc/playlist/xspf.c:127,1
    - Dst: fputs
      Src: /src/vlc/modules/misc/playlist/xspf.c:131,1
    - Dst: fprintf
      Src: /src/vlc/modules/misc/playlist/xspf.c:135,1
    - Dst: vlc_xml_encode
      Src: /src/vlc/modules/misc/playlist/xspf.c:145,1
    - Dst: fprintf
      Src: /src/vlc/modules/misc/playlist/xspf.c:149,1
    - Dst: free
      Src: /src/vlc/modules/misc/playlist/xspf.c:150,1
    - Dst: fputs
      Src: /src/vlc/modules/misc/playlist/xspf.c:152,1
    - Dst: fputs
      Src: /src/vlc/modules/misc/playlist/xspf.c:153,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 57
    argCount: 3
    argNames:
    - p_input
    - p_file
    - id
    argTypes:
    - input_item_t*
    - FILE*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 154
    functionName: xspf_export_item
    functionSourceFile: /src/vlc/modules/misc/playlist/xspf.c
    functionUses: 0
    functionsReached:
    - MS_FROM_VLC_TICK
    - atoi
    - vlc_xml_encode
    - input_xml
    - fprintf
    - fputs
    - free
    - strcmp
    - input_item_GetDuration
    linkageType: ''
    returnType: void
    signature: void xspf_export_item( input_item_t *p_input, FILE *p_file, uint64_t
      id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/modules/misc/playlist/xspf.c:167,1
    - Dst: fprintf
      Src: /src/vlc/modules/misc/playlist/xspf.c:168,1
    - Dst: fprintf
      Src: /src/vlc/modules/misc/playlist/xspf.c:173,1
    - Dst: vlc_playlist_view_Count
      Src: /src/vlc/modules/misc/playlist/xspf.c:174,1
    - Dst: vlc_playlist_view_Get
      Src: /src/vlc/modules/misc/playlist/xspf.c:178,1
    - Dst: vlc_playlist_item_GetMedia
      Src: /src/vlc/modules/misc/playlist/xspf.c:179,1
    - Dst: xspf_export_item
      Src: /src/vlc/modules/misc/playlist/xspf.c:181,1
    - Dst: fprintf
      Src: /src/vlc/modules/misc/playlist/xspf.c:184,1
    - Dst: fprintf
      Src: /src/vlc/modules/misc/playlist/xspf.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 190
    functionName: xspf_export_playlist
    functionSourceFile: /src/vlc/modules/misc/playlist/xspf.c
    functionUses: 0
    functionsReached:
    - vlc_playlist_item_GetMedia
    - vlc_playlist_view_Count
    - fprintf
    - xspf_export_item
    - vlc_playlist_view_Get
    linkageType: ''
    returnType: int
    signature: int xspf_export_playlist( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/misc/xml/libxml.c:42,1
    - Dst: xmlInitializeCatalog
      Src: /src/vlc/modules/misc/xml/libxml.c:43,1
    - Dst: xmlLoadCatalog
      Src: /src/vlc/modules/misc/xml/libxml.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_xml
    - psz_filename
    argTypes:
    - xml_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: CatalogLoad
    functionSourceFile: /src/vlc/modules/misc/xml/libxml.c
    functionUses: 0
    functionsReached:
    - xmlLoadCatalog
    - xmlInitializeCatalog
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void CatalogLoad( xml_t *p_xml, const char *psz_filename )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/misc/xml/libxml.c:50,1
    - Dst: xmlCatalogAdd
      Src: /src/vlc/modules/misc/xml/libxml.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - p_xml
    - psz_arg1
    - psz_arg2
    - psz_filename
    argTypes:
    - xml_t*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: CatalogAdd
    functionSourceFile: /src/vlc/modules/misc/xml/libxml.c
    functionUses: 1
    functionsReached:
    - xmlCatalogAdd
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void CatalogAdd( xml_t *p_xml, const char *psz_arg1,\n                          const
      char *psz_arg2, const char *psz_filename )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xmlHasFeature
      Src: /src/vlc/modules/misc/xml/libxml.c:64,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/misc/xml/libxml.c:67,1
    - Dst: xmlInitParser
      Src: /src/vlc/modules/misc/xml/libxml.c:68,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/misc/xml/libxml.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 75
    functionName: Open
    functionSourceFile: /src/vlc/modules/misc/xml/libxml.c
    functionUses: 45
    functionsReached:
    - vlc_mutex_lock
    - vlc_mutex_unlock
    - xmlInitParser
    - xmlHasFeature
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/misc/xml/libxml.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 101
    functionName: Close
    functionSourceFile: /src/vlc/modules/misc/xml/libxml.c
    functionUses: 135
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/misc/xml/libxml.c:110,1
    - Dst: xmlTextReaderLocatorLineNumber
      Src: /src/vlc/modules/misc/xml/libxml.c:112,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/xml/libxml.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - p_arg
    - p_msg
    - severity
    - locator
    argTypes:
    - void*
    - char*
    - xmlParserSeverities
    - xmlTextReaderLocatorPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: ReaderErrorHandler
    functionSourceFile: /src/vlc/modules/misc/xml/libxml.c
    functionUses: 0
    functionsReached:
    - msg_Err
    - xmlTextReaderLocatorLineNumber
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void ReaderErrorHandler( void *p_arg, const char *p_msg,\n                                xmlParserSeverities
      severity,\n                                xmlTextReaderLocatorPtr locator)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmlTextReaderSetParserProp
      Src: /src/vlc/modules/misc/xml/libxml.c:127,1
    - Dst: xmlTextReaderSetParserProp
      Src: /src/vlc/modules/misc/xml/libxml.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_reader
    argTypes:
    - xml_reader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: ReaderUseDTD
    functionSourceFile: /src/vlc/modules/misc/xml/libxml.c
    functionUses: 0
    functionsReached:
    - xmlTextReaderSetParserProp
    linkageType: ''
    returnType: int
    signature: int ReaderUseDTD ( xml_reader_t *p_reader )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/misc/xml/libxml.c:143,1
    - Dst: free
      Src: /src/vlc/modules/misc/xml/libxml.c:144,1
    - Dst: xmlTextReaderRead
      Src: /src/vlc/modules/misc/xml/libxml.c:148,1
    - Dst: xmlTextReaderNodeType
      Src: /src/vlc/modules/misc/xml/libxml.c:156,1
    - Dst: xmlTextReaderConstName
      Src: /src/vlc/modules/misc/xml/libxml.c:159,1
    - Dst: xmlTextReaderConstName
      Src: /src/vlc/modules/misc/xml/libxml.c:165,1
    - Dst: xmlTextReaderConstValue
      Src: /src/vlc/modules/misc/xml/libxml.c:172,1
    - Dst: unlikely
      Src: /src/vlc/modules/misc/xml/libxml.c:183,1
    - Dst: strdup
      Src: /src/vlc/modules/misc/xml/libxml.c:186,1
    - Dst: strdup
      Src: /src/vlc/modules/misc/xml/libxml.c:188,1
    - Dst: likely
      Src: /src/vlc/modules/misc/xml/libxml.c:193,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 3
    argNames:
    - p_reader
    - pval
    - pnamespace
    argTypes:
    - xml_reader_t*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 194
    functionName: ReaderNextNode
    functionSourceFile: /src/vlc/modules/misc/xml/libxml.c
    functionUses: 22
    functionsReached:
    - strdup
    - xmlTextReaderConstValue
    - xmlTextReaderRead
    - xmlTextReaderConstName
    - free
    - likely
    - xmlTextReaderNodeType
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int ReaderNextNode( xml_reader_t *p_reader, const char **pval,\n                             const
      char **pnamespace )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xmlTextReaderMoveToNextAttribute
      Src: /src/vlc/modules/misc/xml/libxml.c:203,1
    - Dst: xmlTextReaderConstName
      Src: /src/vlc/modules/misc/xml/libxml.c:204,1
    - Dst: xmlTextReaderConstValue
      Src: /src/vlc/modules/misc/xml/libxml.c:205,1
    - Dst: xmlTextReaderConstNamespaceUri
      Src: /src/vlc/modules/misc/xml/libxml.c:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - p_reader
    - pval
    - pnamespace
    argTypes:
    - xml_reader_t*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 213
    functionName: ReaderNextAttr
    functionSourceFile: /src/vlc/modules/misc/xml/libxml.c
    functionUses: 13
    functionsReached:
    - xmlTextReaderMoveToNextAttribute
    - xmlTextReaderConstNamespaceUri
    - xmlTextReaderConstName
    - xmlTextReaderConstValue
    linkageType: ''
    returnType: char
    signature: "char *ReaderNextAttr( xml_reader_t *p_reader, const char **pval,\n
      \                                    const char **pnamespace )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/misc/xml/libxml.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_context
    - p_buffer
    - i_buffer
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: StreamRead
    functionSourceFile: /src/vlc/modules/misc/xml/libxml.c
    functionUses: 0
    functionsReached:
    - vlc_stream_Read
    linkageType: ''
    returnType: int
    signature: int StreamRead( void *p_context, char *p_buffer, int i_buffer )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmlTextReaderIsEmptyElement
      Src: /src/vlc/modules/misc/xml/libxml.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_reader
    argTypes:
    - xml_reader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: ReaderIsEmptyElement
    functionSourceFile: /src/vlc/modules/misc/xml/libxml.c
    functionUses: 16
    functionsReached:
    - xmlTextReaderIsEmptyElement
    linkageType: ''
    returnType: int
    signature: int ReaderIsEmptyElement( xml_reader_t *p_reader )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xmlHasFeature
      Src: /src/vlc/modules/misc/xml/libxml.c:229,1
    - Dst: malloc
      Src: /src/vlc/modules/misc/xml/libxml.c:233,1
    - Dst: unlikely
      Src: /src/vlc/modules/misc/xml/libxml.c:236,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/misc/xml/libxml.c:239,1
    - Dst: xmlInitParser
      Src: /src/vlc/modules/misc/xml/libxml.c:240,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/misc/xml/libxml.c:241,1
    - Dst: xmlReaderForIO
      Src: /src/vlc/modules/misc/xml/libxml.c:243,1
    - Dst: free
      Src: /src/vlc/modules/misc/xml/libxml.c:247,1
    - Dst: xmlTextReaderSetErrorHandler
      Src: /src/vlc/modules/misc/xml/libxml.c:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 269
    functionName: ReaderOpen
    functionSourceFile: /src/vlc/modules/misc/xml/libxml.c
    functionUses: 0
    functionsReached:
    - xmlInitParser
    - vlc_mutex_lock
    - xmlHasFeature
    - vlc_mutex_unlock
    - xmlTextReaderSetErrorHandler
    - free
    - xmlReaderForIO
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int ReaderOpen( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmlFreeTextReader
      Src: /src/vlc/modules/misc/xml/libxml.c:276,1
    - Dst: free
      Src: /src/vlc/modules/misc/xml/libxml.c:277,1
    - Dst: free
      Src: /src/vlc/modules/misc/xml/libxml.c:278,1
    - Dst: free
      Src: /src/vlc/modules/misc/xml/libxml.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 285
    functionName: ReaderClose
    functionSourceFile: /src/vlc/modules/misc/xml/libxml.c
    functionUses: 0
    functionsReached:
    - free
    - xmlFreeTextReader
    linkageType: ''
    returnType: void
    signature: void ReaderClose( vlc_object_t *p_this )
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderCreate
      Src: /src/vlc/modules/misc/addons/vorepository.c:94,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/misc/addons/vorepository.c:97,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/addons/vorepository.c:99,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/vorepository.c:103,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/addons/vorepository.c:105,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/misc/addons/vorepository.c:109,1
    - Dst: BINDNODE
      Src: /src/vlc/modules/misc/addons/vorepository.c:115,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/vorepository.c:124,1
    - Dst: xml_ReaderNextAttr
      Src: /src/vlc/modules/misc/addons/vorepository.c:126,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/vorepository.c:128,1
    - Dst: ReadType
      Src: /src/vlc/modules/misc/addons/vorepository.c:130,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/vorepository.c:134,1
    - Dst: xml_ReaderNextAttr
      Src: /src/vlc/modules/misc/addons/vorepository.c:136,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/vorepository.c:138,1
    - Dst: ReadType
      Src: /src/vlc/modules/misc/addons/vorepository.c:140,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/vorepository.c:152,1
    - Dst: strdup
      Src: /src/vlc/modules/misc/addons/vorepository.c:153,1
    - Dst: atol
      Src: /src/vlc/modules/misc/addons/vorepository.c:157,1
    - Dst: atoi
      Src: /src/vlc/modules/misc/addons/vorepository.c:160,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/vorepository.c:165,1
    - Dst: malloc
      Src: /src/vlc/modules/misc/addons/vorepository.c:169,1
    - Dst: strdup
      Src: /src/vlc/modules/misc/addons/vorepository.c:171,1
    - Dst: asprintf
      Src: /src/vlc/modules/misc/addons/vorepository.c:172,1
    - Dst: ARRAY_APPEND
      Src: /src/vlc/modules/misc/addons/vorepository.c:175,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/addons/vorepository.c:176,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/vorepository.c:182,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/vorepository.c:183,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/vorepository.c:187,1
    - Dst: xml_ReaderDelete
      Src: /src/vlc/modules/misc/addons/vorepository.c:201,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 75
    argCount: 4
    argNames:
    - p_finder
    - p_entry
    - psz_tempfileuri
    - p_stream
    argTypes:
    - addons_finder_t*
    - addon_entry_t*
    - char*
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 203
    functionName: ParseManifest
    functionSourceFile: /src/vlc/modules/misc/addons/vorepository.c
    functionUses: 0
    functionsReached:
    - atoi
    - ReadType
    - strdup
    - asprintf
    - atol
    - xml_ReaderCreate
    - msg_Err
    - free
    - strcmp
    - malloc
    - xml_ReaderNextAttr
    - msg_Dbg
    - xml_ReaderDelete
    - BINDNODE
    - ARRAY_APPEND
    - xml_ReaderNextNode
    linkageType: ''
    returnType: int
    signature: "int ParseManifest( addons_finder_t *p_finder, addon_entry_t *p_entry,\n
      \                         const char *psz_tempfileuri, stream_t *p_stream )"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderCreate
      Src: /src/vlc/modules/misc/addons/vorepository.c:214,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/misc/addons/vorepository.c:217,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/addons/vorepository.c:219,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/vorepository.c:223,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/addons/vorepository.c:225,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/misc/addons/vorepository.c:229,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/vorepository.c:235,1
    - Dst: addon_entry_Release
      Src: /src/vlc/modules/misc/addons/vorepository.c:238,1
    - Dst: addon_entry_New
      Src: /src/vlc/modules/misc/addons/vorepository.c:239,1
    - Dst: strdup
      Src: /src/vlc/modules/misc/addons/vorepository.c:240,1
    - Dst: xml_ReaderNextAttr
      Src: /src/vlc/modules/misc/addons/vorepository.c:244,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/vorepository.c:246,1
    - Dst: ReadType
      Src: /src/vlc/modules/misc/addons/vorepository.c:248,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/vorepository.c:250,1
    - Dst: addons_uuid_read
      Src: /src/vlc/modules/misc/addons/vorepository.c:252,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/vorepository.c:254,1
    - Dst: atoi
      Src: /src/vlc/modules/misc/addons/vorepository.c:256,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/vorepository.c:260,1
    - Dst: atoi
      Src: /src/vlc/modules/misc/addons/vorepository.c:262,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/vorepository.c:268,1
    - Dst: strdup
      Src: /src/vlc/modules/misc/addons/vorepository.c:270,1
    - Dst: BINDNODE
      Src: /src/vlc/modules/misc/addons/vorepository.c:278,1
    - Dst: BINDNODE
      Src: /src/vlc/modules/misc/addons/vorepository.c:279,1
    - Dst: BINDNODE
      Src: /src/vlc/modules/misc/addons/vorepository.c:280,1
    - Dst: BINDNODE
      Src: /src/vlc/modules/misc/addons/vorepository.c:281,1
    - Dst: BINDNODE
      Src: /src/vlc/modules/misc/addons/vorepository.c:282,1
    - Dst: BINDNODE
      Src: /src/vlc/modules/misc/addons/vorepository.c:283,1
    - Dst: BINDNODE
      Src: /src/vlc/modules/misc/addons/vorepository.c:284,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/vorepository.c:294,1
    - Dst: strdup
      Src: /src/vlc/modules/misc/addons/vorepository.c:295,1
    - Dst: atol
      Src: /src/vlc/modules/misc/addons/vorepository.c:299,1
    - Dst: atoi
      Src: /src/vlc/modules/misc/addons/vorepository.c:302,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/vorepository.c:307,1
    - Dst: ARRAY_APPEND
      Src: /src/vlc/modules/misc/addons/vorepository.c:310,1
    - Dst: addon_entry_Release
      Src: /src/vlc/modules/misc/addons/vorepository.c:325,1
    - Dst: xml_ReaderDelete
      Src: /src/vlc/modules/misc/addons/vorepository.c:326,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 93
    argCount: 2
    argNames:
    - p_finder
    - p_stream
    argTypes:
    - addons_finder_t*
    - stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 328
    functionName: ParseCategoriesInfo
    functionSourceFile: /src/vlc/modules/misc/addons/vorepository.c
    functionUses: 0
    functionsReached:
    - addons_uuid_read
    - atoi
    - ReadType
    - addon_entry_Release
    - strdup
    - atol
    - xml_ReaderCreate
    - msg_Err
    - addon_entry_New
    - strcmp
    - free
    - xml_ReaderNextAttr
    - xml_ReaderDelete
    - BINDNODE
    - ARRAY_APPEND
    - xml_ReaderNextNode
    linkageType: ''
    returnType: int
    signature: int ParseCategoriesInfo( addons_finder_t *p_finder, stream_t *p_stream
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_NewURL
      Src: /src/vlc/modules/misc/addons/vorepository.c:332,1
    - Dst: vlc_stream_FilterNew
      Src: /src/vlc/modules/misc/addons/vorepository.c:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p_obj
    - psz_uri
    argTypes:
    - addons_finder_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 342
    functionName: vlc_stream_NewURL_ND
    functionSourceFile: /src/vlc/modules/misc/addons/vorepository.c
    functionUses: 0
    functionsReached:
    - vlc_stream_FilterNew
    - vlc_stream_NewURL
    linkageType: ''
    returnType: stream_t
    signature: stream_t * vlc_stream_NewURL_ND( addons_finder_t *p_obj, const char
      *psz_uri )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_NewURL_ND
      Src: /src/vlc/modules/misc/addons/vorepository.c:346,1
    - Dst: ParseCategoriesInfo
      Src: /src/vlc/modules/misc/addons/vorepository.c:351,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/misc/addons/vorepository.c:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_finder
    argTypes:
    - addons_finder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 355
    functionName: Find
    functionSourceFile: /src/vlc/modules/misc/addons/vorepository.c
    functionUses: 15
    functionsReached:
    - ParseCategoriesInfo
    - vlc_stream_Delete
    - vlc_stream_NewURL_ND
    linkageType: ''
    returnType: int
    signature: int Find( addons_finder_t *p_finder )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/misc/addons/vorepository.c:359,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/misc/addons/vorepository.c:362,1
    - Dst: strdup
      Src: /src/vlc/modules/misc/addons/vorepository.c:365,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/misc/addons/vorepository.c:366,1
    - Dst: asprintf
      Src: /src/vlc/modules/misc/addons/vorepository.c:377,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/vorepository.c:379,1
    - Dst: vlc_stream_NewURL_ND
      Src: /src/vlc/modules/misc/addons/vorepository.c:382,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/vorepository.c:383,1
    - Dst: vlc_stream_NewURL_ND
      Src: /src/vlc/modules/misc/addons/vorepository.c:387,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/addons/vorepository.c:390,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/vorepository.c:391,1
    - Dst: vlc_unlink
      Src: /src/vlc/modules/misc/addons/vorepository.c:397,1
    - Dst: FREENULL
      Src: /src/vlc/modules/misc/addons/vorepository.c:398,1
    - Dst: tempnam
      Src: /src/vlc/modules/misc/addons/vorepository.c:401,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/addons/vorepository.c:404,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/misc/addons/vorepository.c:405,1
    - Dst: vlc_open
      Src: /src/vlc/modules/misc/addons/vorepository.c:409,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/addons/vorepository.c:413,1
    - Dst: FREENULL
      Src: /src/vlc/modules/misc/addons/vorepository.c:414,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/misc/addons/vorepository.c:415,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/misc/addons/vorepository.c:423,1
    - Dst: write
      Src: /src/vlc/modules/misc/addons/vorepository.c:425,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/addons/vorepository.c:427,1
    - Dst: vlc_close
      Src: /src/vlc/modules/misc/addons/vorepository.c:433,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/misc/addons/vorepository.c:434,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/addons/vorepository.c:439,1
    - Dst: vlc_path2uri
      Src: /src/vlc/modules/misc/addons/vorepository.c:441,1
    - Dst: asprintf
      Src: /src/vlc/modules/misc/addons/vorepository.c:446,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/vorepository.c:448,1
    - Dst: vlc_stream_NewMRL
      Src: /src/vlc/modules/misc/addons/vorepository.c:452,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/vorepository.c:453,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/vorepository.c:456,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/misc/addons/vorepository.c:460,1
    - Dst: ParseManifest
      Src: /src/vlc/modules/misc/addons/vorepository.c:461,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/misc/addons/vorepository.c:463,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/vorepository.c:464,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/misc/addons/vorepository.c:465,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 69
    argCount: 2
    argNames:
    - p_finder
    - p_entry
    argTypes:
    - addons_finder_t*
    - addon_entry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 357
    functionDepth: 3
    functionLinenumber: 357
    functionLinenumberEnd: 468
    functionName: Retrieve
    functionSourceFile: /src/vlc/modules/misc/addons/vorepository.c
    functionUses: 0
    functionsReached:
    - vlc_stream_NewMRL
    - FREENULL
    - vlc_stream_NewURL_ND
    - asprintf
    - vlc_mutex_lock
    - write
    - msg_Err
    - vlc_stream_Read
    - msg_Dbg
    - tempnam
    - vlc_open
    - strdup
    - vlc_mutex_unlock
    - vlc_close
    - ParseManifest
    - vlc_stream_Delete
    - free
    - vlc_unlink
    - vlc_path2uri
    linkageType: ''
    returnType: int
    signature: int Retrieve( addons_finder_t *p_finder, addon_entry_t *p_entry )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/vlc/modules/misc/addons/vorepository.c:475,1
    - Dst: vlc_stream_NewMRL
      Src: /src/vlc/modules/misc/addons/vorepository.c:479,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/vorepository.c:480,1
    - Dst: ParseCategoriesInfo
      Src: /src/vlc/modules/misc/addons/vorepository.c:483,1
    - Dst: ARRAY_FOREACH
      Src: /src/vlc/modules/misc/addons/vorepository.c:487,1
    - Dst: likely
      Src: /src/vlc/modules/misc/addons/vorepository.c:488,1
    - Dst: strdup
      Src: /src/vlc/modules/misc/addons/vorepository.c:489,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/misc/addons/vorepository.c:493,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/misc/addons/vorepository.c:497,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - p_finder
    argTypes:
    - addons_finder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 500
    functionName: FindDesignated
    functionSourceFile: /src/vlc/modules/misc/addons/vorepository.c
    functionUses: 0
    functionsReached:
    - asprintf
    - strdup
    - ARRAY_FOREACH
    - ParseCategoriesInfo
    - vlc_stream_Delete
    - vlc_stream_NewMRL
    - free
    - likely
    linkageType: ''
    returnType: int
    signature: int FindDesignated( addons_finder_t *p_finder )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/misc/addons/vorepository.c:506,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/vorepository.c:512,1
    - Dst: memcmp
      Src: /src/vlc/modules/misc/addons/vorepository.c:513,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/vorepository.c:515,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 523
    functionName: Open
    functionSourceFile: /src/vlc/modules/misc/addons/vorepository.c
    functionUses: 45
    functionsReached:
    - free
    - strcmp
    - malloc
    - memcmp
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *p_this)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_unlink
      Src: /src/vlc/modules/misc/addons/vorepository.c:530,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/vorepository.c:531,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/vorepository.c:533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 534
    functionName: Close
    functionSourceFile: /src/vlc/modules/misc/addons/vorepository.c
    functionUses: 135
    functionsReached:
    - free
    - vlc_unlink
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *p_this)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/vlc/modules/misc/addons/vorepository.c:540,1
    - Dst: strncmp
      Src: /src/vlc/modules/misc/addons/vorepository.c:541,1
    - Dst: strlen
      Src: /src/vlc/modules/misc/addons/vorepository.c:541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 549
    functionName: OpenDesignated
    functionSourceFile: /src/vlc/modules/misc/addons/vorepository.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int OpenDesignated(vlc_object_t *p_this)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: config_GetUserDir
      Src: /src/vlc/modules/misc/addons/fsstorage.c:102,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/misc/addons/fsstorage.c:105,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:116,1
    - Dst: asprintf
      Src: /src/vlc/modules/misc/addons/fsstorage.c:120,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:122,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - t
    argTypes:
    - addon_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 128
    functionName: getAddonInstallDir
    functionSourceFile: /src/vlc/modules/misc/addons/fsstorage.c
    functionUses: 0
    functionsReached:
    - free
    - asprintf
    - config_GetUserDir
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char * getAddonInstallDir( addon_type_t t )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/misc/addons/fsstorage.c:132,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/fsstorage.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - psz_filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 137
    functionName: ListSkin_filter
    functionSourceFile: /src/vlc/modules/misc/addons/fsstorage.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcmp
    linkageType: ''
    returnType: int
    signature: int ListSkin_filter( const char * psz_filename )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/misc/addons/fsstorage.c:141,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/fsstorage.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - psz_filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: ListScript_filter
    functionSourceFile: /src/vlc/modules/misc/addons/fsstorage.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcmp
    linkageType: ''
    returnType: int
    signature: int ListScript_filter( const char * psz_filename )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderCreate
      Src: /src/vlc/modules/misc/addons/fsstorage.c:155,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/misc/addons/fsstorage.c:158,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/addons/fsstorage.c:160,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/fsstorage.c:164,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/addons/fsstorage.c:166,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/misc/addons/fsstorage.c:170,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/fsstorage.c:176,1
    - Dst: xml_ReaderNextAttr
      Src: /src/vlc/modules/misc/addons/fsstorage.c:179,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/fsstorage.c:181,1
    - Dst: strdup
      Src: /src/vlc/modules/misc/addons/fsstorage.c:182,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/fsstorage.c:183,1
    - Dst: strdup
      Src: /src/vlc/modules/misc/addons/fsstorage.c:184,1
    - Dst: xml_ReaderDelete
      Src: /src/vlc/modules/misc/addons/fsstorage.c:196,1
    - Dst: xml_ReaderDelete
      Src: /src/vlc/modules/misc/addons/fsstorage.c:200,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 4
    argNames:
    - p_finder
    - p_stream
    - ppsz_title
    - ppsz_source
    argTypes:
    - addons_finder_t*
    - stream_t*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 202
    functionName: ParseSkins2Info
    functionSourceFile: /src/vlc/modules/misc/addons/fsstorage.c
    functionUses: 0
    functionsReached:
    - strdup
    - xml_ReaderCreate
    - msg_Err
    - strcmp
    - xml_ReaderNextAttr
    - xml_ReaderDelete
    - xml_ReaderNextNode
    linkageType: ''
    returnType: int
    signature: "int ParseSkins2Info( addons_finder_t *p_finder, stream_t *p_stream,\n
      \                           char **ppsz_title, char **ppsz_source )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getAddonInstallDir
      Src: /src/vlc/modules/misc/addons/fsstorage.c:206,1
    - Dst: vlc_scandir
      Src: /src/vlc/modules/misc/addons/fsstorage.c:211,1
    - Dst: FileBelongsToManagedAddon
      Src: /src/vlc/modules/misc/addons/fsstorage.c:219,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:221,1
    - Dst: asprintf
      Src: /src/vlc/modules/misc/addons/fsstorage.c:226,1
    - Dst: vlc_stream_NewMRL
      Src: /src/vlc/modules/misc/addons/fsstorage.c:231,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:232,1
    - Dst: ParseSkins2Info
      Src: /src/vlc/modules/misc/addons/fsstorage.c:239,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:242,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:243,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/misc/addons/fsstorage.c:245,1
    - Dst: addon_entry_New
      Src: /src/vlc/modules/misc/addons/fsstorage.c:248,1
    - Dst: strdup
      Src: /src/vlc/modules/misc/addons/fsstorage.c:254,1
    - Dst: strdup
      Src: /src/vlc/modules/misc/addons/fsstorage.c:260,1
    - Dst: strdup
      Src: /src/vlc/modules/misc/addons/fsstorage.c:261,1
    - Dst: ARRAY_APPEND
      Src: /src/vlc/modules/misc/addons/fsstorage.c:264,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:266,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:269,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:270,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - p_finder
    argTypes:
    - addons_finder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 204
    functionDepth: 3
    functionLinenumber: 204
    functionLinenumberEnd: 272
    functionName: ListSkins
    functionSourceFile: /src/vlc/modules/misc/addons/fsstorage.c
    functionUses: 0
    functionsReached:
    - getAddonInstallDir
    - asprintf
    - strdup
    - vlc_stream_Delete
    - addon_entry_New
    - free
    - vlc_stream_NewMRL
    - FileBelongsToManagedAddon
    - vlc_scandir
    - ARRAY_APPEND
    - ParseSkins2Info
    linkageType: ''
    returnType: int
    signature: int ListSkins( addons_finder_t *p_finder )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_FOREACH
      Src: /src/vlc/modules/misc/addons/fsstorage.c:279,1
    - Dst: ARRAY_FOREACH
      Src: /src/vlc/modules/misc/addons/fsstorage.c:284,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/fsstorage.c:287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - p_finder
    - e_type
    - psz_file
    argTypes:
    - addons_finder_t*
    - addon_type_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 292
    functionName: FileBelongsToManagedAddon
    functionSourceFile: /src/vlc/modules/misc/addons/fsstorage.c
    functionUses: 1
    functionsReached:
    - ARRAY_FOREACH
    - strcmp
    linkageType: ''
    returnType: bool
    signature: "bool FileBelongsToManagedAddon( addons_finder_t *p_finder,\n                                       const
      addon_type_t e_type,\n                                       const char *psz_file
      )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getAddonInstallDir
      Src: /src/vlc/modules/misc/addons/fsstorage.c:296,1
    - Dst: vlc_scandir
      Src: /src/vlc/modules/misc/addons/fsstorage.c:300,1
    - Dst: FileBelongsToManagedAddon
      Src: /src/vlc/modules/misc/addons/fsstorage.c:307,1
    - Dst: addon_entry_New
      Src: /src/vlc/modules/misc/addons/fsstorage.c:309,1
    - Dst: strdup
      Src: /src/vlc/modules/misc/addons/fsstorage.c:313,1
    - Dst: strdup
      Src: /src/vlc/modules/misc/addons/fsstorage.c:314,1
    - Dst: ARRAY_APPEND
      Src: /src/vlc/modules/misc/addons/fsstorage.c:316,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:317,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:320,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:321,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - p_finder
    - type
    argTypes:
    - addons_finder_t*
    - addon_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 294
    functionDepth: 3
    functionLinenumber: 294
    functionLinenumberEnd: 324
    functionName: ListScripts
    functionSourceFile: /src/vlc/modules/misc/addons/fsstorage.c
    functionUses: 0
    functionsReached:
    - getAddonInstallDir
    - strdup
    - addon_entry_New
    - free
    - FileBelongsToManagedAddon
    - vlc_scandir
    - ARRAY_APPEND
    linkageType: ''
    returnType: int
    signature: int ListScripts( addons_finder_t *p_finder, addon_type_t type )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LoadCatalog
      Src: /src/vlc/modules/misc/addons/fsstorage.c:337,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/misc/addons/fsstorage.c:340,1
    - Dst: ListScripts
      Src: /src/vlc/modules/misc/addons/fsstorage.c:342,1
    - Dst: ListSkins
      Src: /src/vlc/modules/misc/addons/fsstorage.c:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_finder
    argTypes:
    - addons_finder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 326
    functionDepth: 4
    functionLinenumber: 326
    functionLinenumberEnd: 347
    functionName: List
    functionSourceFile: /src/vlc/modules/misc/addons/fsstorage.c
    functionUses: 40
    functionsReached:
    - LoadCatalog
    - ARRAY_SIZE
    - ListSkins
    - ListScripts
    linkageType: ''
    returnType: int
    signature: int List( addons_finder_t *p_finder )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mkdir_parent
      Src: /src/vlc/modules/misc/addons/fsstorage.c:351,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/misc/addons/fsstorage.c:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_this
    - psz_dirname
    argTypes:
    - vlc_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 355
    functionName: recursive_mkdir
    functionSourceFile: /src/vlc/modules/misc/addons/fsstorage.c
    functionUses: 0
    functionsReached:
    - vlc_mkdir_parent
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int recursive_mkdir( vlc_object_t *p_this, const char *psz_dirname
      )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_NewMRL
      Src: /src/vlc/modules/misc/addons/fsstorage.c:365,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/addons/fsstorage.c:368,1
    - Dst: strdup
      Src: /src/vlc/modules/misc/addons/fsstorage.c:372,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/misc/addons/fsstorage.c:375,1
    - Dst: strrchr
      Src: /src/vlc/modules/misc/addons/fsstorage.c:378,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/misc/addons/fsstorage.c:383,1
    - Dst: recursive_mkdir
      Src: /src/vlc/modules/misc/addons/fsstorage.c:383,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/misc/addons/fsstorage.c:383,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:385,1
    - Dst: vlc_fopen
      Src: /src/vlc/modules/misc/addons/fsstorage.c:387,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/addons/fsstorage.c:390,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/misc/addons/fsstorage.c:391,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/misc/addons/fsstorage.c:395,1
    - Dst: fwrite
      Src: /src/vlc/modules/misc/addons/fsstorage.c:397,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/addons/fsstorage.c:399,1
    - Dst: fclose
      Src: /src/vlc/modules/misc/addons/fsstorage.c:404,1
    - Dst: vlc_unlink
      Src: /src/vlc/modules/misc/addons/fsstorage.c:406,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/misc/addons/fsstorage.c:407,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - p_this
    - psz_downloadlink
    - psz_dest
    argTypes:
    - addons_storage_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 409
    functionName: InstallFile
    functionSourceFile: /src/vlc/modules/misc/addons/fsstorage.c
    functionUses: 0
    functionsReached:
    - strdup
    - vlc_stream_Delete
    - msg_Err
    - vlc_stream_NewMRL
    - recursive_mkdir
    - free
    - EMPTY_STR
    - vlc_fopen
    - vlc_stream_Read
    - VLC_OBJECT
    - fwrite
    - vlc_unlink
    - strrchr
    - fclose
    linkageType: ''
    returnType: int
    signature: "int InstallFile( addons_storage_t *p_this, const char *psz_downloadlink,\n
      \                       const char *psz_dest )"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_FOREACH
      Src: /src/vlc/modules/misc/addons/fsstorage.c:419,1
    - Dst: strstr
      Src: /src/vlc/modules/misc/addons/fsstorage.c:430,1
    - Dst: strdup
      Src: /src/vlc/modules/misc/addons/fsstorage.c:433,1
    - Dst: getAddonInstallDir
      Src: /src/vlc/modules/misc/addons/fsstorage.c:439,1
    - Dst: asprintf
      Src: /src/vlc/modules/misc/addons/fsstorage.c:440,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:443,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:444,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:447,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:448,1
    - Dst: InstallFile
      Src: /src/vlc/modules/misc/addons/fsstorage.c:450,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:452,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:456,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 2
    argNames:
    - p_this
    - p_entry
    argTypes:
    - addons_storage_t*
    - addon_entry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 411
    functionDepth: 3
    functionLinenumber: 411
    functionLinenumberEnd: 469
    functionName: InstallAllFiles
    functionSourceFile: /src/vlc/modules/misc/addons/fsstorage.c
    functionUses: 0
    functionsReached:
    - getAddonInstallDir
    - asprintf
    - strdup
    - ARRAY_FOREACH
    - free
    - strstr
    - InstallFile
    linkageType: ''
    returnType: int
    signature: int InstallAllFiles( addons_storage_t *p_this, const addon_entry_t
      *p_entry )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/misc/addons/fsstorage.c:473,1
    - Dst: vlc_object_create
      Src: /src/vlc/modules/misc/addons/fsstorage.c:480,1
    - Dst: module_need
      Src: /src/vlc/modules/misc/addons/fsstorage.c:484,1
    - Dst: addons_finder_t*::pf_retrieve
      Src: /src/vlc/modules/misc/addons/fsstorage.c:488,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/misc/addons/fsstorage.c:491,1
    - Dst: InstallAllFiles
      Src: /src/vlc/modules/misc/addons/fsstorage.c:492,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/misc/addons/fsstorage.c:493,1
    - Dst: module_unneed
      Src: /src/vlc/modules/misc/addons/fsstorage.c:497,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/misc/addons/fsstorage.c:500,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - p_storage
    - p_entry
    argTypes:
    - addons_storage_t*
    - addon_entry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 471
    functionDepth: 4
    functionLinenumber: 471
    functionLinenumberEnd: 503
    functionName: Install
    functionSourceFile: /src/vlc/modules/misc/addons/fsstorage.c
    functionUses: 1
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_object_create
    - InstallAllFiles
    - module_unneed
    - addons_finder_t*::pf_retrieve
    - VLC_OBJECT
    - vlc_object_delete
    - module_need
    linkageType: ''
    returnType: int
    signature: int Install( addons_storage_t *p_storage, addon_entry_t *p_entry )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - formatstring
    - ','
    - varname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 513
    functionName: WRITE_WITH_ENTITIES
    functionSourceFile: /src/vlc/modules/misc/addons/fsstorage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_WITH_ENTITIES( formatstring, varname )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: config_GetUserDir
      Src: /src/vlc/modules/misc/addons/fsstorage.c:520,1
    - Dst: asprintf
      Src: /src/vlc/modules/misc/addons/fsstorage.c:523,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:525,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:528,1
    - Dst: asprintf
      Src: /src/vlc/modules/misc/addons/fsstorage.c:530,1
    - Dst: getpid
      Src: /src/vlc/modules/misc/addons/fsstorage.c:530,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:532,1
    - Dst: strdup
      Src: /src/vlc/modules/misc/addons/fsstorage.c:536,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:539,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:540,1
    - Dst: strrchr
      Src: /src/vlc/modules/misc/addons/fsstorage.c:544,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/misc/addons/fsstorage.c:549,1
    - Dst: recursive_mkdir
      Src: /src/vlc/modules/misc/addons/fsstorage.c:549,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/misc/addons/fsstorage.c:549,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:551,1
    - Dst: vlc_fopen
      Src: /src/vlc/modules/misc/addons/fsstorage.c:553,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:556,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:557,1
    - Dst: fprintf
      Src: /src/vlc/modules/misc/addons/fsstorage.c:562,1
    - Dst: fprintf
      Src: /src/vlc/modules/misc/addons/fsstorage.c:563,1
    - Dst: fprintf
      Src: /src/vlc/modules/misc/addons/fsstorage.c:564,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/misc/addons/fsstorage.c:569,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/misc/addons/fsstorage.c:575,1
    - Dst: vlc_xml_encode
      Src: /src/vlc/modules/misc/addons/fsstorage.c:580,1
    - Dst: addons_uuid_to_psz
      Src: /src/vlc/modules/misc/addons/fsstorage.c:582,1
    - Dst: fprintf
      Src: /src/vlc/modules/misc/addons/fsstorage.c:583,1
    - Dst: getTypePsz
      Src: /src/vlc/modules/misc/addons/fsstorage.c:586,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:590,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:591,1
    - Dst: WRITE_WITH_ENTITIES
      Src: /src/vlc/modules/misc/addons/fsstorage.c:593,1
    - Dst: fprintf
      Src: /src/vlc/modules/misc/addons/fsstorage.c:594,1
    - Dst: WRITE_WITH_ENTITIES
      Src: /src/vlc/modules/misc/addons/fsstorage.c:596,1
    - Dst: WRITE_WITH_ENTITIES
      Src: /src/vlc/modules/misc/addons/fsstorage.c:597,1
    - Dst: strstr
      Src: /src/vlc/modules/misc/addons/fsstorage.c:603,1
    - Dst: fprintf
      Src: /src/vlc/modules/misc/addons/fsstorage.c:605,1
    - Dst: WRITE_WITH_ENTITIES
      Src: /src/vlc/modules/misc/addons/fsstorage.c:608,1
    - Dst: WRITE_WITH_ENTITIES
      Src: /src/vlc/modules/misc/addons/fsstorage.c:609,1
    - Dst: fprintf
      Src: /src/vlc/modules/misc/addons/fsstorage.c:611,1
    - Dst: WRITE_WITH_ENTITIES
      Src: /src/vlc/modules/misc/addons/fsstorage.c:612,1
    - Dst: WRITE_WITH_ENTITIES
      Src: /src/vlc/modules/misc/addons/fsstorage.c:613,1
    - Dst: fprintf
      Src: /src/vlc/modules/misc/addons/fsstorage.c:614,1
    - Dst: ARRAY_FOREACH
      Src: /src/vlc/modules/misc/addons/fsstorage.c:617,1
    - Dst: vlc_xml_encode
      Src: /src/vlc/modules/misc/addons/fsstorage.c:619,1
    - Dst: fprintf
      Src: /src/vlc/modules/misc/addons/fsstorage.c:620,1
    - Dst: getTypePsz
      Src: /src/vlc/modules/misc/addons/fsstorage.c:621,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:622,1
    - Dst: fprintf
      Src: /src/vlc/modules/misc/addons/fsstorage.c:625,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/misc/addons/fsstorage.c:627,1
    - Dst: fprintf
      Src: /src/vlc/modules/misc/addons/fsstorage.c:630,1
    - Dst: fprintf
      Src: /src/vlc/modules/misc/addons/fsstorage.c:631,1
    - Dst: fclose
      Src: /src/vlc/modules/misc/addons/fsstorage.c:632,1
    - Dst: vlc_rename
      Src: /src/vlc/modules/misc/addons/fsstorage.c:634,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:635,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:636,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/addons/fsstorage.c:640,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/misc/addons/fsstorage.c:641,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 78
    argCount: 3
    argNames:
    - p_storage
    - pp_entries
    - i_entries
    argTypes:
    - addons_storage_t*
    - addon_entry_t**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 513
    functionDepth: 2
    functionLinenumber: 513
    functionLinenumberEnd: 646
    functionName: WriteCatalog
    functionSourceFile: /src/vlc/modules/misc/addons/fsstorage.c
    functionUses: 0
    functionsReached:
    - vlc_strerror_c
    - EMPTY_STR
    - WRITE_WITH_ENTITIES
    - fclose
    - asprintf
    - vlc_mutex_lock
    - msg_Err
    - recursive_mkdir
    - vlc_rename
    - strstr
    - strdup
    - ARRAY_FOREACH
    - fprintf
    - addons_uuid_to_psz
    - getpid
    - vlc_xml_encode
    - getTypePsz
    - vlc_mutex_unlock
    - config_GetUserDir
    - free
    - vlc_fopen
    - VLC_OBJECT
    - strrchr
    linkageType: ''
    returnType: int
    signature: "int WriteCatalog( addons_storage_t *p_storage,\n                         addon_entry_t
      **pp_entries, int i_entries )"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: config_GetUserDir
      Src: /src/vlc/modules/misc/addons/fsstorage.c:651,1
    - Dst: asprintf
      Src: /src/vlc/modules/misc/addons/fsstorage.c:654,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:656,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:659,1
    - Dst: vlc_stat
      Src: /src/vlc/modules/misc/addons/fsstorage.c:674,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:676,1
    - Dst: vlc_path2uri
      Src: /src/vlc/modules/misc/addons/fsstorage.c:680,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:681,1
    - Dst: vlc_stream_NewURL
      Src: /src/vlc/modules/misc/addons/fsstorage.c:685,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:686,1
    - Dst: xml_ReaderCreate
      Src: /src/vlc/modules/misc/addons/fsstorage.c:689,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/misc/addons/fsstorage.c:692,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/misc/addons/fsstorage.c:696,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/addons/fsstorage.c:698,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/fsstorage.c:703,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/addons/fsstorage.c:705,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/misc/addons/fsstorage.c:710,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/fsstorage.c:716,1
    - Dst: addon_entry_Release
      Src: /src/vlc/modules/misc/addons/fsstorage.c:719,1
    - Dst: addon_entry_New
      Src: /src/vlc/modules/misc/addons/fsstorage.c:721,1
    - Dst: xml_ReaderNextAttr
      Src: /src/vlc/modules/misc/addons/fsstorage.c:726,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/fsstorage.c:728,1
    - Dst: ReadType
      Src: /src/vlc/modules/misc/addons/fsstorage.c:730,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/fsstorage.c:732,1
    - Dst: addons_uuid_read
      Src: /src/vlc/modules/misc/addons/fsstorage.c:734,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/fsstorage.c:736,1
    - Dst: atoi
      Src: /src/vlc/modules/misc/addons/fsstorage.c:738,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/fsstorage.c:742,1
    - Dst: atoi
      Src: /src/vlc/modules/misc/addons/fsstorage.c:744,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/fsstorage.c:750,1
    - Dst: strdup
      Src: /src/vlc/modules/misc/addons/fsstorage.c:752,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/fsstorage.c:754,1
    - Dst: strdup
      Src: /src/vlc/modules/misc/addons/fsstorage.c:756,1
    - Dst: BINDNODE
      Src: /src/vlc/modules/misc/addons/fsstorage.c:764,1
    - Dst: BINDNODE
      Src: /src/vlc/modules/misc/addons/fsstorage.c:765,1
    - Dst: BINDNODE
      Src: /src/vlc/modules/misc/addons/fsstorage.c:766,1
    - Dst: BINDNODE
      Src: /src/vlc/modules/misc/addons/fsstorage.c:767,1
    - Dst: BINDNODE
      Src: /src/vlc/modules/misc/addons/fsstorage.c:768,1
    - Dst: BINDNODE
      Src: /src/vlc/modules/misc/addons/fsstorage.c:769,1
    - Dst: BINDNODE
      Src: /src/vlc/modules/misc/addons/fsstorage.c:770,1
    - Dst: BINDNODE
      Src: /src/vlc/modules/misc/addons/fsstorage.c:771,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/fsstorage.c:774,1
    - Dst: xml_ReaderNextAttr
      Src: /src/vlc/modules/misc/addons/fsstorage.c:776,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/fsstorage.c:778,1
    - Dst: ReadType
      Src: /src/vlc/modules/misc/addons/fsstorage.c:780,1
    - Dst: strdup
      Src: /src/vlc/modules/misc/addons/fsstorage.c:790,1
    - Dst: atol
      Src: /src/vlc/modules/misc/addons/fsstorage.c:793,1
    - Dst: atoi
      Src: /src/vlc/modules/misc/addons/fsstorage.c:796,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/fsstorage.c:802,1
    - Dst: ARRAY_APPEND
      Src: /src/vlc/modules/misc/addons/fsstorage.c:805,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/fsstorage.c:809,1
    - Dst: malloc
      Src: /src/vlc/modules/misc/addons/fsstorage.c:813,1
    - Dst: ARRAY_APPEND
      Src: /src/vlc/modules/misc/addons/fsstorage.c:817,1
    - Dst: addon_entry_Release
      Src: /src/vlc/modules/misc/addons/fsstorage.c:834,1
    - Dst: xml_ReaderDelete
      Src: /src/vlc/modules/misc/addons/fsstorage.c:835,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/misc/addons/fsstorage.c:836,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 131
    argCount: 1
    argNames:
    - p_finder
    argTypes:
    - addons_finder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 648
    functionDepth: 2
    functionLinenumber: 648
    functionLinenumberEnd: 838
    functionName: LoadCatalog
    functionSourceFile: /src/vlc/modules/misc/addons/fsstorage.c
    functionUses: 2
    functionsReached:
    - addons_uuid_read
    - atoi
    - vlc_path2uri
    - atol
    - asprintf
    - msg_Err
    - xml_ReaderNextAttr
    - ARRAY_APPEND
    - vlc_stream_NewURL
    - ReadType
    - addon_entry_Release
    - strdup
    - addon_entry_New
    - strcmp
    - BINDNODE
    - vlc_stat
    - xml_ReaderCreate
    - vlc_stream_Delete
    - free
    - malloc
    - xml_ReaderDelete
    - config_GetUserDir
    - xml_ReaderNextNode
    linkageType: ''
    returnType: int
    signature: int LoadCatalog( addons_finder_t *p_finder )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/misc/addons/fsstorage.c:842,1
    - Dst: ARRAY_FOREACH
      Src: /src/vlc/modules/misc/addons/fsstorage.c:844,1
    - Dst: strdup
      Src: /src/vlc/modules/misc/addons/fsstorage.c:857,1
    - Dst: getAddonInstallDir
      Src: /src/vlc/modules/misc/addons/fsstorage.c:863,1
    - Dst: asprintf
      Src: /src/vlc/modules/misc/addons/fsstorage.c:864,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:867,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:868,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:871,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:872,1
    - Dst: vlc_unlink
      Src: /src/vlc/modules/misc/addons/fsstorage.c:874,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/addons/fsstorage.c:875,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:877,1
    - Dst: ARRAY_FOREACH
      Src: /src/vlc/modules/misc/addons/fsstorage.c:890,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:892,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:893,1
    - Dst: free
      Src: /src/vlc/modules/misc/addons/fsstorage.c:894,1
    - Dst: ARRAY_RESET
      Src: /src/vlc/modules/misc/addons/fsstorage.c:896,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/misc/addons/fsstorage.c:898,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 2
    argNames:
    - p_storage
    - p_entry
    argTypes:
    - addons_storage_t*
    - addon_entry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 840
    functionDepth: 3
    functionLinenumber: 840
    functionLinenumberEnd: 900
    functionName: Remove
    functionSourceFile: /src/vlc/modules/misc/addons/fsstorage.c
    functionUses: 2
    functionsReached:
    - getAddonInstallDir
    - asprintf
    - strdup
    - ARRAY_RESET
    - vlc_mutex_lock
    - ARRAY_FOREACH
    - vlc_mutex_unlock
    - free
    - msg_Dbg
    - vlc_unlink
    linkageType: ''
    returnType: int
    signature: int Remove( addons_storage_t *p_storage, addon_entry_t *p_entry )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 911
    functionName: OpenStorage
    functionSourceFile: /src/vlc/modules/misc/addons/fsstorage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OpenStorage(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/misc/addons/fsstorage.c:915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 916
    functionName: CloseStorage
    functionSourceFile: /src/vlc/modules/misc/addons/fsstorage.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void CloseStorage(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 925
    functionName: OpenLister
    functionSourceFile: /src/vlc/modules/misc/addons/fsstorage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OpenLister(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/misc/addons/fsstorage.c:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 927
    functionDepth: 1
    functionLinenumber: 927
    functionLinenumberEnd: 930
    functionName: CloseLister
    functionSourceFile: /src/vlc/modules/misc/addons/fsstorage.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void CloseLister(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - target
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: BINDNODE
    functionSourceFile: /src/vlc/modules/misc/addons/xmlreading.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BINDNODE(name,target,type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/xmlreading.h:50,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/xmlreading.h:52,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/xmlreading.h:54,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/xmlreading.h:56,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/xmlreading.h:58,1
    - Dst: strcmp
      Src: /src/vlc/modules/misc/addons/xmlreading.h:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 64
    functionName: ReadType
    functionSourceFile: /src/vlc/modules/misc/addons/xmlreading.h
    functionUses: 3
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int ReadType( const char *value )
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - i_type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 86
    functionName: getTypePsz
    functionSourceFile: /src/vlc/modules/misc/addons/xmlreading.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * getTypePsz( int i_type )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dbus_pending_call_block
      Src: /src/vlc/modules/misc/inhibit/dbus.c:102,1
    - Dst: dbus_pending_call_steal_reply
      Src: /src/vlc/modules/misc/inhibit/dbus.c:103,1
    - Dst: dbus_pending_call_unref
      Src: /src/vlc/modules/misc/inhibit/dbus.c:104,1
    - Dst: dbus_message_get_args
      Src: /src/vlc/modules/misc/inhibit/dbus.c:109,1
    - Dst: dbus_message_unref
      Src: /src/vlc/modules/misc/inhibit/dbus.c:113,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/inhibit/dbus.c:115,1
    - Dst: dbus_message_new_method_call
      Src: /src/vlc/modules/misc/inhibit/dbus.c:128,1
    - Dst: unlikely
      Src: /src/vlc/modules/misc/inhibit/dbus.c:130,1
    - Dst: N_
      Src: /src/vlc/modules/misc/inhibit/dbus.c:136,1
    - Dst: N_
      Src: /src/vlc/modules/misc/inhibit/dbus.c:137,1
    - Dst: vlc_gettext
      Src: /src/vlc/modules/misc/inhibit/dbus.c:138,1
    - Dst: assert
      Src: /src/vlc/modules/misc/inhibit/dbus.c:139,1
    - Dst: dbus_message_append_args
      Src: /src/vlc/modules/misc/inhibit/dbus.c:149,1
    - Dst: dbus_message_append_args
      Src: /src/vlc/modules/misc/inhibit/dbus.c:157,1
    - Dst: dbus_connection_send_with_reply
      Src: /src/vlc/modules/misc/inhibit/dbus.c:164,1
    - Dst: assert
      Src: /src/vlc/modules/misc/inhibit/dbus.c:169,1
    - Dst: dbus_message_append_args
      Src: /src/vlc/modules/misc/inhibit/dbus.c:170,1
    - Dst: dbus_connection_send
      Src: /src/vlc/modules/misc/inhibit/dbus.c:172,1
    - Dst: dbus_connection_flush
      Src: /src/vlc/modules/misc/inhibit/dbus.c:175,1
    - Dst: dbus_message_unref
      Src: /src/vlc/modules/misc/inhibit/dbus.c:176,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 2
    argNames:
    - ih
    - flags
    argTypes:
    - vlc_inhibit_t*
    - unsigned
    assertStmts:
    - condition: (sys->cookie == 0)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/vlc/modules/misc/inhibit/dbus.c
    - condition: (sys->cookie != 0)
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/vlc/modules/misc/inhibit/dbus.c
    constantsTouched: []
    func_position:
      end: 177
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 177
    functionName: Inhibit
    functionSourceFile: /src/vlc/modules/misc/inhibit/dbus.c
    functionUses: 0
    functionsReached:
    - dbus_connection_flush
    - dbus_message_new_method_call
    - assert
    - dbus_message_append_args
    - vlc_gettext
    - dbus_connection_send
    - N_
    - dbus_pending_call_unref
    - dbus_message_unref
    - msg_Dbg
    - dbus_pending_call_steal_reply
    - dbus_connection_send_with_reply
    - dbus_pending_call_block
    - unlikely
    - dbus_message_get_args
    linkageType: ''
    returnType: void
    signature: void Inhibit(vlc_inhibit_t *ih, unsigned flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/misc/inhibit/dbus.c:184,1
    - Dst: unlikely
      Src: /src/vlc/modules/misc/inhibit/dbus.c:185,1
    - Dst: dbus_error_init
      Src: /src/vlc/modules/misc/inhibit/dbus.c:189,1
    - Dst: dbus_bus_get_private
      Src: /src/vlc/modules/misc/inhibit/dbus.c:191,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/inhibit/dbus.c:194,1
    - Dst: dbus_error_free
      Src: /src/vlc/modules/misc/inhibit/dbus.c:195,1
    - Dst: free
      Src: /src/vlc/modules/misc/inhibit/dbus.c:196,1
    - Dst: dbus_bus_name_has_owner
      Src: /src/vlc/modules/misc/inhibit/dbus.c:206,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/inhibit/dbus.c:208,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/inhibit/dbus.c:214,1
    - Dst: Close
      Src: /src/vlc/modules/misc/inhibit/dbus.c:217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 219
    functionName: Open
    functionSourceFile: /src/vlc/modules/misc/inhibit/dbus.c
    functionUses: 45
    functionsReached:
    - dbus_bus_name_has_owner
    - dbus_error_free
    - msg_Err
    - free
    - dbus_bus_get_private
    - dbus_error_init
    - msg_Dbg
    - Close
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open (vlc_object_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbus_pending_call_cancel
      Src: /src/vlc/modules/misc/inhibit/dbus.c:228,1
    - Dst: dbus_pending_call_unref
      Src: /src/vlc/modules/misc/inhibit/dbus.c:229,1
    - Dst: dbus_connection_close
      Src: /src/vlc/modules/misc/inhibit/dbus.c:231,1
    - Dst: dbus_connection_unref
      Src: /src/vlc/modules/misc/inhibit/dbus.c:232,1
    - Dst: free
      Src: /src/vlc/modules/misc/inhibit/dbus.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 234
    functionName: Close
    functionSourceFile: /src/vlc/modules/misc/inhibit/dbus.c
    functionUses: 136
    functionsReached:
    - dbus_pending_call_cancel
    - dbus_pending_call_unref
    - dbus_connection_close
    - free
    - dbus_connection_unref
    linkageType: ''
    returnType: void
    signature: void Close (vlc_object_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_spawnp
      Src: /src/vlc/modules/misc/inhibit/xdg.c:49,1
    - Dst: vlc_waitpid
      Src: /src/vlc/modules/misc/inhibit/xdg.c:52,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/misc/inhibit/xdg.c:54,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/misc/inhibit/xdg.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 56
    functionName: Timer
    functionSourceFile: /src/vlc/modules/misc/inhibit/xdg.c
    functionUses: 8
    functionsReached:
    - vlc_strerror_c
    - vlc_spawnp
    - vlc_waitpid
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: void Timer (void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/misc/inhibit/xdg.c:62,1
    - Dst: vlc_timer_schedule
      Src: /src/vlc/modules/misc/inhibit/xdg.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ih
    - mask
    argTypes:
    - vlc_inhibit_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: Inhibit
    functionSourceFile: /src/vlc/modules/misc/inhibit/xdg.c
    functionUses: 0
    functionsReached:
    - VLC_TICK_FROM_SEC
    - vlc_timer_schedule
    linkageType: ''
    returnType: void
    signature: void Inhibit (vlc_inhibit_t *ih, unsigned mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_timer_create
      Src: /src/vlc/modules/misc/inhibit/xdg.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 78
    functionName: Open
    functionSourceFile: /src/vlc/modules/misc/inhibit/xdg.c
    functionUses: 45
    functionsReached:
    - vlc_timer_create
    linkageType: ''
    returnType: int
    signature: int Open (vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_timer_destroy
      Src: /src/vlc/modules/misc/inhibit/xdg.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: Close
    functionSourceFile: /src/vlc/modules/misc/inhibit/xdg.c
    functionUses: 136
    functionsReached:
    - vlc_timer_destroy
    linkageType: ''
    returnType: void
    signature: void Close (vlc_object_t *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_inhibit_GetWindow
      Src: /src/vlc/modules/misc/inhibit/wl-idle-inhibit.c:49,1
    - Dst: zwp_idle_inhibitor_v1_destroy
      Src: /src/vlc/modules/misc/inhibit/wl-idle-inhibit.c:54,1
    - Dst: zwp_idle_inhibit_manager_v1_create_inhibitor
      Src: /src/vlc/modules/misc/inhibit/wl-idle-inhibit.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ih
    - mask
    argTypes:
    - vlc_inhibit_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: Inhibit
    functionSourceFile: /src/vlc/modules/misc/inhibit/wl-idle-inhibit.c
    functionUses: 0
    functionsReached:
    - vlc_inhibit_GetWindow
    - zwp_idle_inhibit_manager_v1_create_inhibitor
    - zwp_idle_inhibitor_v1_destroy
    linkageType: ''
    returnType: void
    signature: void Inhibit (vlc_inhibit_t *ih, unsigned mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/misc/inhibit/wl-idle-inhibit.c:70,1
    - Dst: wl_registry_bind
      Src: /src/vlc/modules/misc/inhibit/wl-idle-inhibit.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - data
    - registry
    - name
    - iface
    - vers
    argTypes:
    - void*
    - struct wl_registry*
    - uint32_t
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: registry_global_cb
    functionSourceFile: /src/vlc/modules/misc/inhibit/wl-idle-inhibit.c
    functionUses: 0
    functionsReached:
    - wl_registry_bind
    - strcmp
    linkageType: ''
    returnType: void
    signature: "void registry_global_cb(void *data, struct wl_registry *registry,\n
      \                              uint32_t name, const char *iface, uint32_t vers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - registry
    - name
    argTypes:
    - void*
    - struct wl_registry*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: registry_global_remove_cb
    functionSourceFile: /src/vlc/modules/misc/inhibit/wl-idle-inhibit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void registry_global_remove_cb(void *data, struct wl_registry *registry,\n
      \                                     uint32_t name)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_inhibit_GetWindow
      Src: /src/vlc/modules/misc/inhibit/wl-idle-inhibit.c:91,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/misc/inhibit/wl-idle-inhibit.c:96,1
    - Dst: unlikely
      Src: /src/vlc/modules/misc/inhibit/wl-idle-inhibit.c:97,1
    - Dst: wl_display_create_queue
      Src: /src/vlc/modules/misc/inhibit/wl-idle-inhibit.c:106,1
    - Dst: wl_display_get_registry
      Src: /src/vlc/modules/misc/inhibit/wl-idle-inhibit.c:110,1
    - Dst: wl_registry_add_listener
      Src: /src/vlc/modules/misc/inhibit/wl-idle-inhibit.c:114,1
    - Dst: wl_proxy_set_queue
      Src: /src/vlc/modules/misc/inhibit/wl-idle-inhibit.c:115,1
    - Dst: wl_display_roundtrip_queue
      Src: /src/vlc/modules/misc/inhibit/wl-idle-inhibit.c:116,1
    - Dst: wl_registry_destroy
      Src: /src/vlc/modules/misc/inhibit/wl-idle-inhibit.c:117,1
    - Dst: wl_event_queue_destroy
      Src: /src/vlc/modules/misc/inhibit/wl-idle-inhibit.c:127,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 129
    functionName: Open
    functionSourceFile: /src/vlc/modules/misc/inhibit/wl-idle-inhibit.c
    functionUses: 45
    functionsReached:
    - vlc_inhibit_GetWindow
    - vlc_obj_malloc
    - wl_display_create_queue
    - wl_proxy_set_queue
    - wl_display_roundtrip_queue
    - wl_registry_destroy
    - wl_registry_add_listener
    - wl_display_get_registry
    - wl_event_queue_destroy
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_inhibit_GetWindow
      Src: /src/vlc/modules/misc/inhibit/wl-idle-inhibit.c:135,1
    - Dst: zwp_idle_inhibitor_v1_destroy
      Src: /src/vlc/modules/misc/inhibit/wl-idle-inhibit.c:138,1
    - Dst: zwp_idle_inhibit_manager_v1_destroy
      Src: /src/vlc/modules/misc/inhibit/wl-idle-inhibit.c:140,1
    - Dst: wl_display_flush
      Src: /src/vlc/modules/misc/inhibit/wl-idle-inhibit.c:141,1
    - Dst: wl_event_queue_destroy
      Src: /src/vlc/modules/misc/inhibit/wl-idle-inhibit.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 143
    functionName: Close
    functionSourceFile: /src/vlc/modules/misc/inhibit/wl-idle-inhibit.c
    functionUses: 136
    functionsReached:
    - vlc_inhibit_GetWindow
    - zwp_idle_inhibitor_v1_destroy
    - wl_event_queue_destroy
    - zwp_idle_inhibit_manager_v1_destroy
    - wl_display_flush
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *obj)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/inhibit/iokit-inhibit.c:51,1
    - Dst: IOPMAssertionRelease
      Src: /src/vlc/modules/misc/inhibit/iokit-inhibit.c:52,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/inhibit/iokit-inhibit.c:53,1
    - Dst: CFSTR
      Src: /src/vlc/modules/misc/inhibit/iokit-inhibit.c:66,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/inhibit/iokit-inhibit.c:68,1
    - Dst: IOPMAssertionDeclareUserActivity
      Src: /src/vlc/modules/misc/inhibit/iokit-inhibit.c:71,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/misc/inhibit/iokit-inhibit.c:75,1
    - Dst: IOPMAssertionCreateWithName
      Src: /src/vlc/modules/misc/inhibit/iokit-inhibit.c:79,1
    - Dst: CFSTR
      Src: /src/vlc/modules/misc/inhibit/iokit-inhibit.c:87,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/inhibit/iokit-inhibit.c:89,1
    - Dst: IOPMAssertionCreateWithName
      Src: /src/vlc/modules/misc/inhibit/iokit-inhibit.c:91,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/inhibit/iokit-inhibit.c:97,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/misc/inhibit/iokit-inhibit.c:100,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/inhibit/iokit-inhibit.c:105,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - ih
    - mask
    argTypes:
    - vlc_inhibit_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 108
    functionName: UpdateInhibit
    functionSourceFile: /src/vlc/modules/misc/inhibit/iokit-inhibit.c
    functionUses: 0
    functionsReached:
    - CFSTR
    - msg_Err
    - IOPMAssertionDeclareUserActivity
    - IOPMAssertionCreateWithName
    - msg_Dbg
    - msg_Warn
    - IOPMAssertionRelease
    linkageType: ''
    returnType: void
    signature: void UpdateInhibit(vlc_inhibit_t *ih, unsigned mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/misc/inhibit/iokit-inhibit.c:116,1
    - Dst: unlikely
      Src: /src/vlc/modules/misc/inhibit/iokit-inhibit.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 125
    functionName: OpenInhibit
    functionSourceFile: /src/vlc/modules/misc/inhibit/iokit-inhibit.c
    functionUses: 0
    functionsReached:
    - unlikely
    - vlc_obj_malloc
    linkageType: ''
    returnType: int
    signature: int OpenInhibit(vlc_object_t *obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/inhibit/iokit-inhibit.c:134,1
    - Dst: IOPMAssertionRelease
      Src: /src/vlc/modules/misc/inhibit/iokit-inhibit.c:136,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/misc/inhibit/iokit-inhibit.c:137,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/inhibit/iokit-inhibit.c:144,1
    - Dst: IOPMAssertionRelease
      Src: /src/vlc/modules/misc/inhibit/iokit-inhibit.c:146,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/misc/inhibit/iokit-inhibit.c:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 151
    functionName: CloseInhibit
    functionSourceFile: /src/vlc/modules/misc/inhibit/iokit-inhibit.c
    functionUses: 0
    functionsReached:
    - IOPMAssertionRelease
    - msg_Dbg
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: void CloseInhibit(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - mde
    - ' item'
    argTypes:
    - MetadataExtractor*
    - medialibrary::parser::IItem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: MetadataExtractor::ParseContext
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParseContext( MetadataExtractor* mde, medialibrary::parser::IItem&
      item )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: ~MetadataExtractor()
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MetadataExtractor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 234
    functionName: MediaLibrary::onSubscriptionsAdded
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void onSubscriptionsAdded( std::vector<medialibrary::SubscriptionPtr>
      ) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: MediaLibrary::onSubscriptionsModified
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void onSubscriptionsModified( std::set<int64_t> ) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: MediaLibrary::onSubscriptionsDeleted
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void onSubscriptionsDeleted( std::set<int64_t> ) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 237
    functionName: MediaLibrary::onSubscriptionNewMedia
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void onSubscriptionNewMedia( std::set<int64_t> ) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 238
    functionName: MediaLibrary::onSubscriptionCacheUpdated
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void onSubscriptionCacheUpdated( int64_t ) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: MediaLibrary::onCacheIdleChanged
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void onCacheIdleChanged( bool ) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.h:270,1
    - Dst: static_cast<To*>
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.h:271,1
    - Dst: calloc
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.h:271,1
    - Dst: size
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.h:271,1
    - Dst: static_cast<void(*)(To*)>
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.h:272,1
    - Dst: unlikely
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.h:273,1
    - Dst: size
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.h:278,1
    - Dst: Convert
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.h:280,1
    - Dst: get
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.h:280,1
    - Dst: auto::release
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.h:284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::vector<std::shared_ptr<From>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 285
    functionName: ml_convert_list
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.h
    functionUses: 0
    functionsReached:
    - static_cast<To*>
    - vlc::wrap_cptr
    - get
    - size
    - static_cast<void(*)(To*)>
    - calloc
    - auto::release
    - Convert
    - unlikely
    linkageType: ''
    returnType: To
    signature: To * ml_convert_list( const std::vector<std::shared_ptr<From>>& input
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.h:292,1
    - Dst: static_cast<T*>
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.h:293,1
    - Dst: calloc
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.h:293,1
    - Dst: static_cast<void(*)(T*)>
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.h:294,1
    - Dst: unlikely
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.h:295,1
    - Dst: Convert
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.h:297,1
    - Dst: auto::release
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.h:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - input
    argTypes:
    - Input*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 305
    functionName: CreateAndConvert
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.h
    functionUses: 0
    functionsReached:
    - vlc::wrap_cptr
    - calloc
    - auto::release
    - static_cast<T*>
    - Convert
    - static_cast<void(*)(T*)>
    - unlikely
    linkageType: ''
    returnType: T
    signature: T * CreateAndConvert( const Input* input )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<medialibrary::ThumbnailSizeType>
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:69,1
    - Dst: T::thumbnailStatus
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:70,1
    - Dst: T::thumbnailMrl
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:94,1
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:95,1
    - Dst: auto::empty
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:95,1
    - Dst: strdup_helper
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:97,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - input
    - output
    argTypes:
    - T
    - vlc_ml_thumbnail_t*
    assertStmts:
    - condition: ( !thumbnailMrl.empty() )
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/vlc/modules/misc/medialibrary/entities.cpp
    constantsTouched: []
    func_position:
      end: 101
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 101
    functionName: convertThumbnails
    functionSourceFile: /src/vlc/modules/misc/medialibrary/entities.cpp
    functionUses: 0
    functionsReached:
    - assert
    - T::thumbnailMrl
    - T::thumbnailStatus
    - static_cast<medialibrary::ThumbnailSizeType>
    - strdup_helper
    - auto::empty
    linkageType: ''
    returnType: bool
    signature: bool convertThumbnails( const T input, vlc_ml_thumbnail_t *output )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: medialibrary::IShowEpisode*::episodeId
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:105,1
    - Dst: medialibrary::IShowEpisode*::seasonId
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:106,1
    - Dst: strdup_helper
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:108,1
    - Dst: medialibrary::IShowEpisode*::shortSummary
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:108,1
    - Dst: strdup_helper
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:109,1
    - Dst: medialibrary::IShowEpisode*::tvdbId
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - input
    - ' output'
    argTypes:
    - medialibrary::IShowEpisode*
    - vlc_ml_show_episode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 112
    functionName: Convert
    functionSourceFile: /src/vlc/modules/misc/medialibrary/entities.cpp
    functionUses: 24
    functionsReached:
    - medialibrary::IShowEpisode*::shortSummary
    - medialibrary::IShowEpisode*::tvdbId
    - strdup_helper
    - medialibrary::IShowEpisode*::seasonId
    - medialibrary::IShowEpisode*::episodeId
    linkageType: ''
    returnType: bool
    signature: bool Convert( const medialibrary::IShowEpisode* input, vlc_ml_show_episode_t&
      output )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strdup_helper
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:116,1
    - Dst: medialibrary::IMovie*::imdbId
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:116,1
    - Dst: strdup_helper
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:117,1
    - Dst: medialibrary::IMovie*::shortSummary
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - input
    - ' output'
    argTypes:
    - medialibrary::IMovie*
    - vlc_ml_movie_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: Convert
    functionSourceFile: /src/vlc/modules/misc/medialibrary/entities.cpp
    functionUses: 24
    functionsReached:
    - medialibrary::IMovie*::imdbId
    - medialibrary::IMovie*::shortSummary
    - strdup_helper
    linkageType: ''
    returnType: bool
    signature: bool Convert( const medialibrary::IMovie* input, vlc_ml_movie_t& output
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strdup_helper
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:125,1
    - Dst: strdup_helper
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:126,1
    - Dst: strdup_helper
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - output
    - ' codec'
    - ' language'
    - ' desc'
    argTypes:
    - vlc_ml_media_track_t*
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 130
    functionName: convertTracksCommon
    functionSourceFile: /src/vlc/modules/misc/medialibrary/entities.cpp
    functionUses: 0
    functionsReached:
    - strdup_helper
    linkageType: ''
    returnType: bool
    signature: "bool convertTracksCommon( vlc_ml_media_track_t* output, const std::string&
      codec,\n                                 const std::string& language, const
      std::string& desc )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: medialibrary::IMedia*::videoTracks
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:134,1
    - Dst: medialibrary::IMedia*::audioTracks
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:135,1
    - Dst: medialibrary::IMedia*::subtitleTracks
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:136,1
    - Dst: auto::size
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:138,1
    - Dst: auto::size
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:138,1
    - Dst: auto::size
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:138,1
    - Dst: static_cast<vlc_ml_media_track_list_t*>
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:139,1
    - Dst: calloc
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:140,1
    - Dst: unlikely
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:142,1
    - Dst: convertTracksCommon
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:151,1
    - Dst: codec
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:151,1
    - Dst: language
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:151,1
    - Dst: description
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:151,1
    - Dst: bitrate
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:154,1
    - Dst: width
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:155,1
    - Dst: height
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:156,1
    - Dst: fpsNum
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:157,1
    - Dst: fpsDen
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:158,1
    - Dst: sarNum
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:159,1
    - Dst: sarDen
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:160,1
    - Dst: convertTracksCommon
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:166,1
    - Dst: codec
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:166,1
    - Dst: language
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:166,1
    - Dst: description
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:166,1
    - Dst: bitrate
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:169,1
    - Dst: nbChannels
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:170,1
    - Dst: sampleRate
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:171,1
    - Dst: convertTracksCommon
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:178,1
    - Dst: codec
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:178,1
    - Dst: language
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:178,1
    - Dst: description
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:178,1
    - Dst: strdup_helper
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:182,1
    - Dst: encoding
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:182,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - inputMedia
    - ' outputMedia'
    argTypes:
    - medialibrary::IMedia*
    - vlc_ml_media_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 187
    functionName: convertTracks
    functionSourceFile: /src/vlc/modules/misc/medialibrary/entities.cpp
    functionUses: 0
    functionsReached:
    - medialibrary::IMedia*::videoTracks
    - description
    - height
    - static_cast<vlc_ml_media_track_list_t*>
    - encoding
    - nbChannels
    - strdup_helper
    - calloc
    - medialibrary::IMedia*::audioTracks
    - sampleRate
    - auto::size
    - width
    - sarNum
    - language
    - bitrate
    - convertTracksCommon
    - medialibrary::IMedia*::subtitleTracks
    - fpsNum
    - codec
    - fpsDen
    - unlikely
    - sarDen
    linkageType: ''
    returnType: bool
    signature: bool convertTracks( const medialibrary::IMedia* inputMedia, vlc_ml_media_t&
      outputMedia )
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: medialibrary::IMedia*::id
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:191,1
    - Dst: medialibrary::IMedia*::type
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:193,1
    - Dst: medialibrary::IMedia*::subType
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:197,1
    - Dst: medialibrary::IMedia*::artistId
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:202,1
    - Dst: medialibrary::IMedia*::albumId
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:203,1
    - Dst: medialibrary::IMedia*::discNumber
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:204,1
    - Dst: medialibrary::IMedia*::genreId
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:205,1
    - Dst: medialibrary::IMedia*::trackNumber
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:206,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:213,1
    - Dst: medialibrary::IMedia*::subType
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:219,1
    - Dst: medialibrary::IMedia*::movie
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:224,1
    - Dst: Convert
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:227,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:227,1
    - Dst: medialibrary::IMedia*::showEpisode
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:234,1
    - Dst: Convert
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:237,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:237,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:245,1
    - Dst: medialibrary::IMedia*::releaseDate
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:253,1
    - Dst: medialibrary::IMedia*::duration
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:254,1
    - Dst: medialibrary::IMedia*::isFavorite
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:255,1
    - Dst: medialibrary::IMedia*::playCount
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:256,1
    - Dst: medialibrary::IMedia*::lastPosition
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:257,1
    - Dst: medialibrary::IMedia*::lastPlayedDate
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:258,1
    - Dst: medialibrary::IMedia*::isPublic
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:259,1
    - Dst: strdup
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:261,1
    - Dst: medialibrary::IMedia*::title
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:261,1
    - Dst: unlikely
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:262,1
    - Dst: medialibrary::IMedia*::files
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:265,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:266,1
    - Dst: strdup_helper
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:269,1
    - Dst: medialibrary::IMedia*::fileName
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:269,1
    - Dst: convertTracks
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:272,1
    - Dst: convertThumbnails
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:275,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 73
    argCount: 2
    argNames:
    - input
    - ' output'
    argTypes:
    - medialibrary::IMedia*
    - vlc_ml_media_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 279
    functionName: Convert
    functionSourceFile: /src/vlc/modules/misc/medialibrary/entities.cpp
    functionUses: 25
    functionsReached:
    - medialibrary::IMedia*::releaseDate
    - ml_convert_list
    - auto::get
    - medialibrary::IMedia*::albumId
    - medialibrary::IMedia*::movie
    - medialibrary::IMedia*::subType
    - medialibrary::IMedia*::id
    - vlc_assert_unreachable
    - medialibrary::IMedia*::duration
    - medialibrary::IMedia*::lastPosition
    - medialibrary::IMedia*::genreId
    - medialibrary::IMedia*::fileName
    - strdup_helper
    - medialibrary::IMedia*::title
    - strdup
    - medialibrary::IMedia*::trackNumber
    - medialibrary::IMedia*::isPublic
    - medialibrary::IMedia*::discNumber
    - medialibrary::IMedia*::showEpisode
    - medialibrary::IMedia*::artistId
    - medialibrary::IMedia*::playCount
    - medialibrary::IMedia*::type
    - medialibrary::IMedia*::isFavorite
    - convertTracks
    - Convert
    - convertThumbnails
    - medialibrary::IMedia*::files
    - unlikely
    - medialibrary::IMedia*::lastPlayedDate
    linkageType: ''
    returnType: bool
    signature: bool Convert( const medialibrary::IMedia* input, vlc_ml_media_t& output
      )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: medialibrary::IFile*::type
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:283,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:301,1
    - Dst: medialibrary::IFile*::size
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:304,1
    - Dst: medialibrary::IFile*::lastModificationDate
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:305,1
    - Dst: medialibrary::IFile*::isRemovable
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:306,1
    - Dst: strdup_helper
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:310,1
    - Dst: medialibrary::IFile*::mrl
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:310,1
    - Dst: medialibrary::IFile*::isExternal
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:319,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - input
    - ' output'
    argTypes:
    - medialibrary::IFile*
    - vlc_ml_file_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 321
    functionName: Convert
    functionSourceFile: /src/vlc/modules/misc/medialibrary/entities.cpp
    functionUses: 25
    functionsReached:
    - vlc_assert_unreachable
    - medialibrary::IFile*::isRemovable
    - medialibrary::IFile*::lastModificationDate
    - medialibrary::IFile*::size
    - strdup_helper
    - medialibrary::IFile*::type
    - medialibrary::IFile*::mrl
    - medialibrary::IFile*::isExternal
    linkageType: ''
    returnType: bool
    signature: bool Convert( const medialibrary::IFile* input, vlc_ml_file_t& output
      )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: medialibrary::IAlbum*::id
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:325,1
    - Dst: medialibrary::IAlbum*::nbTracks
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:326,1
    - Dst: medialibrary::IAlbum*::nbPresentTracks
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:327,1
    - Dst: medialibrary::IAlbum*::nbDiscs
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:328,1
    - Dst: medialibrary::IAlbum*::duration
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:329,1
    - Dst: medialibrary::IAlbum*::releaseYear
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:330,1
    - Dst: medialibrary::IAlbum*::isFavorite
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:331,1
    - Dst: strdup_helper
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:333,1
    - Dst: medialibrary::IAlbum*::title
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:333,1
    - Dst: strdup_helper
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:334,1
    - Dst: medialibrary::IAlbum*::shortSummary
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:334,1
    - Dst: convertThumbnails
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:337,1
    - Dst: medialibrary::IAlbum*::albumArtist
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:340,1
    - Dst: auto::id
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:343,1
    - Dst: auto::id
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:344,1
    - Dst: strdup
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:347,1
    - Dst: _
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:347,1
    - Dst: strdup
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:350,1
    - Dst: _
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:350,1
    - Dst: strdup
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:353,1
    - Dst: auto::name
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:353,1
    - Dst: unlikely
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:356,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - input
    - ' output'
    argTypes:
    - medialibrary::IAlbum*
    - vlc_ml_album_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 360
    functionName: Convert
    functionSourceFile: /src/vlc/modules/misc/medialibrary/entities.cpp
    functionUses: 25
    functionsReached:
    - medialibrary::IAlbum*::isFavorite
    - auto::name
    - strdup
    - medialibrary::IAlbum*::releaseYear
    - medialibrary::IAlbum*::shortSummary
    - medialibrary::IAlbum*::nbDiscs
    - medialibrary::IAlbum*::nbPresentTracks
    - strdup_helper
    - medialibrary::IAlbum*::albumArtist
    - _
    - convertThumbnails
    - medialibrary::IAlbum*::nbTracks
    - auto::id
    - medialibrary::IAlbum*::id
    - unlikely
    - medialibrary::IAlbum*::title
    - medialibrary::IAlbum*::duration
    linkageType: ''
    returnType: bool
    signature: bool Convert( const medialibrary::IAlbum* input, vlc_ml_album_t& output
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: medialibrary::IArtist*::id
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:364,1
    - Dst: _
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:367,1
    - Dst: _
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:369,1
    - Dst: medialibrary::IArtist*::name
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - artist
    argTypes:
    - medialibrary::IArtist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 373
    functionName: artistName
    functionSourceFile: /src/vlc/modules/misc/medialibrary/entities.cpp
    functionUses: 0
    functionsReached:
    - medialibrary::IArtist*::name
    - medialibrary::IArtist*::id
    - _
    linkageType: ''
    returnType: char
    signature: char * artistName( const medialibrary::IArtist* artist )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: medialibrary::IArtist*::id
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:377,1
    - Dst: medialibrary::IArtist*::nbAlbums
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:378,1
    - Dst: medialibrary::IArtist*::nbTracks
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:379,1
    - Dst: medialibrary::IArtist*::nbPresentTracks
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:380,1
    - Dst: strdup
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:381,1
    - Dst: artistName
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:381,1
    - Dst: medialibrary::IArtist*::isFavorite
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:382,1
    - Dst: unlikely
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:383,1
    - Dst: strdup_helper
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:386,1
    - Dst: medialibrary::IArtist*::shortBio
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:386,1
    - Dst: strdup_helper
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:387,1
    - Dst: medialibrary::IArtist*::musicBrainzId
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:387,1
    - Dst: convertThumbnails
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - input
    - ' output'
    argTypes:
    - medialibrary::IArtist*
    - vlc_ml_artist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 391
    functionName: Convert
    functionSourceFile: /src/vlc/modules/misc/medialibrary/entities.cpp
    functionUses: 25
    functionsReached:
    - medialibrary::IArtist*::id
    - medialibrary::IArtist*::nbPresentTracks
    - strdup
    - artistName
    - medialibrary::IArtist*::nbAlbums
    - medialibrary::IArtist*::nbTracks
    - medialibrary::IArtist*::musicBrainzId
    - medialibrary::IArtist*::shortBio
    - strdup_helper
    - medialibrary::IArtist*::isFavorite
    - convertThumbnails
    - unlikely
    linkageType: ''
    returnType: bool
    signature: bool Convert( const medialibrary::IArtist* input, vlc_ml_artist_t&
      output )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: medialibrary::IGenre*::id
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:395,1
    - Dst: medialibrary::IGenre*::nbTracks
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:396,1
    - Dst: medialibrary::IGenre*::isFavorite
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:397,1
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:398,1
    - Dst: medialibrary::IGenre*::name
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:398,1
    - Dst: strdup_helper
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:400,1
    - Dst: medialibrary::IGenre*::name
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:400,1
    - Dst: static_cast<medialibrary::ThumbnailSizeType>
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:405,1
    - Dst: medialibrary::IGenre*::hasThumbnail
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:406,1
    - Dst: medialibrary::IGenre*::thumbnailMrl
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:408,1
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:409,1
    - Dst: auto::empty
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:409,1
    - Dst: strdup_helper
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - input
    - ' output'
    argTypes:
    - medialibrary::IGenre*
    - vlc_ml_genre_t
    assertStmts:
    - condition: ( input->name().empty() == false )
      pos:
        line_end: 397
        line_start: 397
        source_file: /src/vlc/modules/misc/medialibrary/entities.cpp
    - condition: ( !thumbnailMrl.empty() )
      pos:
        line_end: 408
        line_start: 408
        source_file: /src/vlc/modules/misc/medialibrary/entities.cpp
    constantsTouched: []
    func_position:
      end: 417
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 417
    functionName: Convert
    functionSourceFile: /src/vlc/modules/misc/medialibrary/entities.cpp
    functionUses: 25
    functionsReached:
    - medialibrary::IGenre*::thumbnailMrl
    - assert
    - medialibrary::IGenre*::name
    - static_cast<medialibrary::ThumbnailSizeType>
    - strdup_helper
    - medialibrary::IGenre*::hasThumbnail
    - medialibrary::IGenre*::id
    - medialibrary::IGenre*::isFavorite
    - medialibrary::IGenre*::nbTracks
    - auto::empty
    linkageType: ''
    returnType: bool
    signature: bool Convert( const medialibrary::IGenre* input, vlc_ml_genre_t& output
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: medialibrary::IShow*::id
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:421,1
    - Dst: medialibrary::IShow*::releaseDate
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:422,1
    - Dst: medialibrary::IShow*::nbEpisodes
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:423,1
    - Dst: medialibrary::IShow*::nbSeasons
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:424,1
    - Dst: strdup_helper
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:426,1
    - Dst: medialibrary::IShow*::title
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:426,1
    - Dst: strdup_helper
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:427,1
    - Dst: medialibrary::IShow*::artworkMrl
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:427,1
    - Dst: strdup_helper
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:428,1
    - Dst: medialibrary::IShow*::tvdbId
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:428,1
    - Dst: strdup_helper
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:429,1
    - Dst: medialibrary::IShow*::shortSummary
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - input
    - ' output'
    argTypes:
    - medialibrary::IShow*
    - vlc_ml_show_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 432
    functionName: Convert
    functionSourceFile: /src/vlc/modules/misc/medialibrary/entities.cpp
    functionUses: 25
    functionsReached:
    - medialibrary::IShow*::artworkMrl
    - medialibrary::IShow*::releaseDate
    - medialibrary::IShow*::id
    - medialibrary::IShow*::title
    - medialibrary::IShow*::nbEpisodes
    - medialibrary::IShow*::shortSummary
    - strdup_helper
    - medialibrary::IShow*::nbSeasons
    - medialibrary::IShow*::tvdbId
    linkageType: ''
    returnType: bool
    signature: bool Convert( const medialibrary::IShow* input, vlc_ml_show_t& output
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:436,1
    - Dst: medialibrary::ILabel*::name
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:436,1
    - Dst: strdup_helper
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:437,1
    - Dst: medialibrary::ILabel*::name
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - input
    - ' output'
    argTypes:
    - medialibrary::ILabel*
    - vlc_ml_label_t
    assertStmts:
    - condition: ( input->name().empty() == false )
      pos:
        line_end: 435
        line_start: 435
        source_file: /src/vlc/modules/misc/medialibrary/entities.cpp
    constantsTouched: []
    func_position:
      end: 438
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 438
    functionName: Convert
    functionSourceFile: /src/vlc/modules/misc/medialibrary/entities.cpp
    functionUses: 25
    functionsReached:
    - medialibrary::ILabel*::name
    - assert
    - strdup_helper
    linkageType: ''
    returnType: bool
    signature: bool Convert( const medialibrary::ILabel* input, vlc_ml_label_t& output
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: medialibrary::IMediaGroup*::id
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:442,1
    - Dst: medialibrary::IMediaGroup*::nbTotalMedia
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:444,1
    - Dst: medialibrary::IMediaGroup*::nbVideo
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:445,1
    - Dst: medialibrary::IMediaGroup*::nbAudio
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:446,1
    - Dst: medialibrary::IMediaGroup*::nbUnknown
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:447,1
    - Dst: medialibrary::IMediaGroup*::nbPresentMedia
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:448,1
    - Dst: medialibrary::IMediaGroup*::nbPresentVideo
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:449,1
    - Dst: medialibrary::IMediaGroup*::nbPresentAudio
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:450,1
    - Dst: medialibrary::IMediaGroup*::nbPresentUnknown
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:451,1
    - Dst: medialibrary::IMediaGroup*::nbSeen
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:453,1
    - Dst: medialibrary::IMediaGroup*::nbPresentSeen
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:454,1
    - Dst: medialibrary::IMediaGroup*::duration
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:456,1
    - Dst: medialibrary::IMediaGroup*::creationDate
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:458,1
    - Dst: medialibrary::IMediaGroup*::lastModificationDate
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:459,1
    - Dst: strdup_helper
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:461,1
    - Dst: medialibrary::IMediaGroup*::name
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - input
    - ' output'
    argTypes:
    - medialibrary::IMediaGroup*
    - vlc_ml_group_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 465
    functionName: Convert
    functionSourceFile: /src/vlc/modules/misc/medialibrary/entities.cpp
    functionUses: 25
    functionsReached:
    - medialibrary::IMediaGroup*::nbPresentVideo
    - medialibrary::IMediaGroup*::duration
    - medialibrary::IMediaGroup*::nbPresentSeen
    - medialibrary::IMediaGroup*::nbPresentUnknown
    - medialibrary::IMediaGroup*::nbPresentAudio
    - medialibrary::IMediaGroup*::creationDate
    - strdup_helper
    - medialibrary::IMediaGroup*::nbSeen
    - medialibrary::IMediaGroup*::nbVideo
    - medialibrary::IMediaGroup*::nbTotalMedia
    - medialibrary::IMediaGroup*::name
    - medialibrary::IMediaGroup*::nbAudio
    - medialibrary::IMediaGroup*::lastModificationDate
    - medialibrary::IMediaGroup*::id
    - medialibrary::IMediaGroup*::nbPresentMedia
    - medialibrary::IMediaGroup*::nbUnknown
    linkageType: ''
    returnType: bool
    signature: bool Convert( const medialibrary::IMediaGroup* input, vlc_ml_group_t&
      output )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: medialibrary::IPlaylist*::id
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:469,1
    - Dst: medialibrary::IPlaylist*::nbMedia
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:471,1
    - Dst: medialibrary::IPlaylist*::nbVideo
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:472,1
    - Dst: medialibrary::IPlaylist*::nbAudio
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:473,1
    - Dst: medialibrary::IPlaylist*::nbUnknown
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:474,1
    - Dst: medialibrary::IPlaylist*::nbPresentMedia
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:475,1
    - Dst: medialibrary::IPlaylist*::nbPresentVideo
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:476,1
    - Dst: medialibrary::IPlaylist*::nbPresentAudio
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:477,1
    - Dst: medialibrary::IPlaylist*::nbPresentUnknown
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:478,1
    - Dst: medialibrary::IPlaylist*::creationDate
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:480,1
    - Dst: medialibrary::IPlaylist*::duration
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:482,1
    - Dst: medialibrary::IPlaylist*::nbDurationUnknown
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:483,1
    - Dst: medialibrary::IPlaylist*::isReadOnly
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:485,1
    - Dst: medialibrary::IPlaylist*::isFavorite
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:486,1
    - Dst: strdup_helper
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:488,1
    - Dst: medialibrary::IPlaylist*::name
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:488,1
    - Dst: strdup_helper
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:489,1
    - Dst: medialibrary::IPlaylist*::artworkMrl
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:489,1
    - Dst: strdup_helper
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:499,1
    - Dst: medialibrary::IPlaylist*::mrl
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:499,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - input
    - ' output'
    argTypes:
    - medialibrary::IPlaylist*
    - vlc_ml_playlist_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 500
    functionName: Convert
    functionSourceFile: /src/vlc/modules/misc/medialibrary/entities.cpp
    functionUses: 25
    functionsReached:
    - medialibrary::IPlaylist*::id
    - medialibrary::IPlaylist*::nbPresentVideo
    - medialibrary::IPlaylist*::nbMedia
    - medialibrary::IPlaylist*::nbDurationUnknown
    - medialibrary::IPlaylist*::nbPresentMedia
    - medialibrary::IPlaylist*::isFavorite
    - medialibrary::IPlaylist*::nbPresentAudio
    - strdup_helper
    - medialibrary::IPlaylist*::artworkMrl
    - medialibrary::IPlaylist*::nbVideo
    - medialibrary::IPlaylist*::nbUnknown
    - medialibrary::IPlaylist*::creationDate
    - medialibrary::IPlaylist*::nbPresentUnknown
    - medialibrary::IPlaylist*::mrl
    - medialibrary::IPlaylist*::duration
    - medialibrary::IPlaylist*::nbAudio
    - medialibrary::IPlaylist*::name
    - medialibrary::IPlaylist*::isReadOnly
    linkageType: ''
    returnType: bool
    signature: bool Convert( const medialibrary::IPlaylist* input, vlc_ml_playlist_t&
      output )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: medialibrary::IFolder*::id
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:504,1
    - Dst: medialibrary::IFolder*::nbMedia
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:506,1
    - Dst: medialibrary::IFolder*::nbAudio
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:507,1
    - Dst: medialibrary::IFolder*::nbVideo
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:508,1
    - Dst: medialibrary::IFolder*::duration
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:510,1
    - Dst: medialibrary::IFolder*::isBanned
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:512,1
    - Dst: medialibrary::IFolder*::isFavorite
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:513,1
    - Dst: strdup_helper
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:515,1
    - Dst: medialibrary::IFolder*::name
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:515,1
    - Dst: strdup_helper
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:520,1
    - Dst: medialibrary::IFolder*::mrl
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:520,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - input
    - ' output'
    argTypes:
    - medialibrary::IFolder*
    - vlc_ml_folder_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 533
    functionName: Convert
    functionSourceFile: /src/vlc/modules/misc/medialibrary/entities.cpp
    functionUses: 25
    functionsReached:
    - medialibrary::IFolder*::mrl
    - medialibrary::IFolder*::id
    - medialibrary::IFolder*::name
    - medialibrary::IFolder*::nbAudio
    - strdup_helper
    - medialibrary::IFolder*::nbMedia
    - medialibrary::IFolder*::isFavorite
    - medialibrary::IFolder*::isBanned
    - medialibrary::IFolder*::nbVideo
    - medialibrary::IFolder*::duration
    linkageType: ''
    returnType: bool
    signature: bool Convert( const medialibrary::IFolder* input, vlc_ml_folder_t&
      output )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strdup_helper
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:537,1
    - Dst: medialibrary::IBookmark*::name
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:537,1
    - Dst: strdup_helper
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:538,1
    - Dst: medialibrary::IBookmark*::description
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:538,1
    - Dst: medialibrary::IBookmark*::mediaId
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:540,1
    - Dst: medialibrary::IBookmark*::time
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:541,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - input
    - ' output'
    argTypes:
    - medialibrary::IBookmark*
    - vlc_ml_bookmark_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 543
    functionName: Convert
    functionSourceFile: /src/vlc/modules/misc/medialibrary/entities.cpp
    functionUses: 25
    functionsReached:
    - medialibrary::IBookmark*::time
    - strdup_helper
    - medialibrary::IBookmark*::name
    - medialibrary::IBookmark*::mediaId
    - medialibrary::IBookmark*::description
    linkageType: ''
    returnType: bool
    signature: bool Convert( const medialibrary::IBookmark* input, vlc_ml_bookmark_t&
      output )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: medialibrary::IMedia*::files
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:549,1
    - Dst: std::find_if
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:550,1
    - Dst: auto::cbegin
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:550,1
    - Dst: auto::cend
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:550,1
    - Dst: type
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:552,1
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:554,1
    - Dst: auto::cend
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:554,1
    - Dst: mrl
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:558,1
    - Dst: vlc::wrap_cptr<input_item_t>
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:564,1
    - Dst: input_item_NewExt
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:565,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:565,1
    - Dst: medialibrary::IMedia*::fileName
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:565,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:566,1
    - Dst: medialibrary::IMedia*::duration
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:566,1
    - Dst: medialibrary::IMedia*::thumbnailStatus
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:569,1
    - Dst: medialibrary::IMedia*::thumbnailMrl
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:572,1
    - Dst: auto::length
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:573,1
    - Dst: input_item_SetArtworkURL
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:574,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:574,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:574,1
    - Dst: medialibrary::IMedia*::type
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:576,1
    - Dst: medialibrary::IMedia*::subType
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:585,1
    - Dst: medialibrary::IMedia*::album
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:587,1
    - Dst: medialibrary::IMedia*::artist
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:590,1
    - Dst: input_item_SetTitle
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:594,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:594,1
    - Dst: medialibrary::IMedia*::title
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:594,1
    - Dst: input_item_SetDiscNumber
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:595,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:595,1
    - Dst: std::to_string
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:596,1
    - Dst: medialibrary::IMedia*::discNumber
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:596,1
    - Dst: input_item_SetTrackNumber
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:597,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:597,1
    - Dst: std::to_string
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:598,1
    - Dst: medialibrary::IMedia*::trackNumber
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:598,1
    - Dst: input_item_SetTrackTotal
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:601,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:601,1
    - Dst: std::to_string
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:602,1
    - Dst: auto::nbTracks
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:602,1
    - Dst: auto::title
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:603,1
    - Dst: auto::empty
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:604,1
    - Dst: input_item_SetAlbum
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:605,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:605,1
    - Dst: _
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:605,1
    - Dst: input_item_SetAlbum
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:607,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:607,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:607,1
    - Dst: input_item_SetArtist
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:610,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:610,1
    - Dst: artistName
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:610,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:610,1
    - Dst: auto::albumArtist
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:611,1
    - Dst: input_item_SetArtist
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:613,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:613,1
    - Dst: artistName
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:613,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:613,1
    - Dst: auto::release
      Src: /src/vlc/modules/misc/medialibrary/entities.cpp:617,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 1
    argNames:
    - media
    argTypes:
    - medialibrary::IMedia*
    assertStmts:
    - condition: ( it != files.cend() )
      pos:
        line_end: 553
        line_start: 553
        source_file: /src/vlc/modules/misc/medialibrary/entities.cpp
    constantsTouched: []
    func_position:
      end: 618
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 618
    functionName: MediaToInputItem
    functionSourceFile: /src/vlc/modules/misc/medialibrary/entities.cpp
    functionUses: 0
    functionsReached:
    - mrl
    - assert
    - type
    - input_item_SetAlbum
    - std::to_string
    - std::find_if
    - std::string::c_str
    - auto::get
    - vlc::wrap_cptr<input_item_t>
    - auto::release
    - input_item_NewExt
    - auto::cend
    - input_item_SetTitle
    - auto::empty
    - auto::length
    - medialibrary::IMedia*::subType
    - medialibrary::IMedia*::thumbnailStatus
    - medialibrary::IMedia*::duration
    - input_item_SetDiscNumber
    - medialibrary::IMedia*::fileName
    - _
    - input_item_SetArtworkURL
    - input_item_SetTrackNumber
    - medialibrary::IMedia*::title
    - medialibrary::IMedia*::album
    - medialibrary::IMedia*::trackNumber
    - auto::nbTracks
    - medialibrary::IMedia*::discNumber
    - input_item_SetArtist
    - auto::c_str
    - medialibrary::IMedia*::artist
    - artistName
    - auto::cbegin
    - medialibrary::IMedia*::type
    - auto::title
    - auto::albumArtist
    - VLC_TICK_FROM_MS
    - input_item_SetTrackTotal
    - medialibrary::IMedia*::thumbnailMrl
    - medialibrary::IMedia*::files
    linkageType: ''
    returnType: input_item_t
    signature: input_item_t * MediaToInputItem( const medialibrary::IMedia* media
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/LazyPreparser.h:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - obj
    - cfg
    argTypes:
    - vlc_object_t*
    - struct vlc_preparser_cfg
    assertStmts:
    - condition: (obj != NULL)
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/vlc/modules/misc/medialibrary/LazyPreparser.h
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: LazyPreparser::LazyPreparser
    functionSourceFile: /src/vlc/modules/misc/medialibrary/LazyPreparser.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void LazyPreparser(vlc_object_t *obj, const struct vlc_preparser_cfg
      cfg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LazyPreparser::get
      Src: /src/vlc/modules/misc/medialibrary/LazyPreparser.h:31,1
    - Dst: reset
      Src: /src/vlc/modules/misc/medialibrary/LazyPreparser.h:33,1
    - Dst: vlc_preparser_New
      Src: /src/vlc/modules/misc/medialibrary/LazyPreparser.h:33,1
    - Dst: LazyPreparser::get
      Src: /src/vlc/modules/misc/medialibrary/LazyPreparser.h:34,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/misc/medialibrary/LazyPreparser.h:36,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/medialibrary/LazyPreparser.h:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 42
    functionName: LazyPreparser::instance
    functionSourceFile: /src/vlc/modules/misc/medialibrary/LazyPreparser.h
    functionUses: 0
    functionsReached:
    - vlc_preparser_New
    - LazyPreparser::get
    - reset
    - msg_Dbg
    - msg_Warn
    linkageType: ''
    returnType: vlc_preparser_t
    signature: vlc_preparser_t *instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LazyPreparser::get
      Src: /src/vlc/modules/misc/medialibrary/LazyPreparser.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: LazyPreparser::get
    functionSourceFile: /src/vlc/modules/misc/medialibrary/LazyPreparser.h
    functionUses: 2
    functionsReached:
    - LazyPreparser::get
    linkageType: ''
    returnType: vlc_preparser_t
    signature: vlc_preparser_t *get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/misc/medialibrary/Thumbnailer.cpp:38,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/misc/medialibrary/Thumbnailer.cpp:42,1
    - Dst: defined
      Src: /src/vlc/modules/misc/medialibrary/Thumbnailer.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ml
    argTypes:
    - vlc_medialibrary_module_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: Thumbnailer::Thumbnailer
    functionSourceFile: /src/vlc/modules/misc/medialibrary/Thumbnailer.cpp
    functionUses: 0
    functionsReached:
    - defined
    - VLC_TICK_FROM_SEC
    - VLC_OBJECT
    linkageType: ''
    returnType: void
    signature: void Thumbnailer::Thumbnailer( vlc_medialibrary_module_t* ml )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ThumbnailerCtx*>
      Src: /src/vlc/modules/misc/medialibrary/Thumbnailer.cpp:56,1
    - Dst: ThumbnailerCtx*::thumbnailer::m_cond::broadcast
      Src: /src/vlc/modules/misc/medialibrary/Thumbnailer.cpp:66,1
    - Dst: vlc_preparser_req_Release
      Src: /src/vlc/modules/misc/medialibrary/Thumbnailer.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - req
    - result_array
    - result_count
    - data
    argTypes:
    - vlc_preparser_req*
    - bool*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 68
    functionName: Thumbnailer::onThumbnailToFilesComplete
    functionSourceFile: /src/vlc/modules/misc/medialibrary/Thumbnailer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<ThumbnailerCtx*>
    - vlc_preparser_req_Release
    - ThumbnailerCtx*::thumbnailer::m_cond::broadcast
    linkageType: ''
    returnType: void
    signature: "void Thumbnailer::onThumbnailToFilesComplete(vlc_preparser_req *req,
      int ,\n                                             const bool *result_array,\n
      \                                            size_t result_count, void *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/Thumbnailer.cpp:75,1
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/Thumbnailer.cpp:76,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/misc/medialibrary/Thumbnailer.cpp:81,1
    - Dst: input_item_New
      Src: /src/vlc/modules/misc/medialibrary/Thumbnailer.cpp:81,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/Thumbnailer.cpp:81,1
    - Dst: unlikely
      Src: /src/vlc/modules/misc/medialibrary/Thumbnailer.cpp:83,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/Thumbnailer.cpp:106,1
    - Dst: instance
      Src: /src/vlc/modules/misc/medialibrary/Thumbnailer.cpp:114,1
    - Dst: vlc_preparser_GenerateThumbnailToFiles
      Src: /src/vlc/modules/misc/medialibrary/Thumbnailer.cpp:120,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/Thumbnailer.cpp:121,1
    - Dst: wait
      Src: /src/vlc/modules/misc/medialibrary/Thumbnailer.cpp:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - ' mrl'
    - desiredWidth
    - desiredHeight
    - position
    - ' dest'
    argTypes:
    - std::string
    - uint32_t
    - uint32_t
    - float
    - std::string
    assertStmts:
    - condition: (desiredWidth < (uint32_t)INT_MAX)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/vlc/modules/misc/medialibrary/Thumbnailer.cpp
    - condition: (desiredHeight < (uint32_t)INT_MAX)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/vlc/modules/misc/medialibrary/Thumbnailer.cpp
    constantsTouched: []
    func_position:
      end: 137
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 137
    functionName: Thumbnailer::generate
    functionSourceFile: /src/vlc/modules/misc/medialibrary/Thumbnailer.cpp
    functionUses: 0
    functionsReached:
    - assert
    - vlc::wrap_cptr
    - input_item_New
    - vlc_preparser_GenerateThumbnailToFiles
    - instance
    - auto::get
    - c_str
    - wait
    - unlikely
    linkageType: ''
    returnType: bool
    signature: "bool Thumbnailer::generate( const medialibrary::IMedia&, const std::string&
      mrl,\n                            uint32_t desiredWidth, uint32_t desiredHeight,\n
      \                           float position, const std::string& dest )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/misc/medialibrary/Thumbnailer.cpp:141,1
    - Dst: vlc_preparser_Cancel
      Src: /src/vlc/modules/misc/medialibrary/Thumbnailer.cpp:148,1
    - Dst: wait
      Src: /src/vlc/modules/misc/medialibrary/Thumbnailer.cpp:154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 156
    functionName: Thumbnailer::stop
    functionSourceFile: /src/vlc/modules/misc/medialibrary/Thumbnailer.cpp
    functionUses: 0
    functionsReached:
    - vlc_preparser_Cancel
    - get
    - wait
    linkageType: ''
    returnType: void
    signature: void Thumbnailer::stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Logger::Logger
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Logger( vlc_object_t* obj )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:58,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: Logger::Error
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - c_str
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void Error( const std::string& msg ) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:62,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: Logger::Warning
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - c_str
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: void Warning( const std::string& msg ) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:66,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: Logger::Info
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - c_str
    linkageType: ''
    returnType: void
    signature: void Info( const std::string& msg ) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:70,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: Logger::Debug
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - c_str
    linkageType: ''
    returnType: void
    signature: void Debug( const std::string& msg ) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:74,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: Logger::Verbose
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - c_str
    linkageType: ''
    returnType: void
    signature: void Verbose( const std::string& msg ) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ev
    - m
    argTypes:
    - vlc_ml_event_t*
    - vlc_ml_media_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: assignToEvent
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void assignToEvent( vlc_ml_event_t* ev, vlc_ml_media_t* m )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ev
    - a
    argTypes:
    - vlc_ml_event_t*
    - vlc_ml_artist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: assignToEvent
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void assignToEvent( vlc_ml_event_t* ev, vlc_ml_artist_t* a )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ev
    - a
    argTypes:
    - vlc_ml_event_t*
    - vlc_ml_album_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: assignToEvent
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void assignToEvent( vlc_ml_event_t* ev, vlc_ml_album_t* a )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ev
    - g
    argTypes:
    - vlc_ml_event_t*
    - vlc_ml_genre_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: assignToEvent
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void assignToEvent( vlc_ml_event_t* ev, vlc_ml_genre_t* g )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ev
    - g
    argTypes:
    - vlc_ml_event_t*
    - vlc_ml_group_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: assignToEvent
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void assignToEvent( vlc_ml_event_t* ev, vlc_ml_group_t* g )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ev
    - p
    argTypes:
    - vlc_ml_event_t*
    - vlc_ml_playlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: assignToEvent
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void assignToEvent( vlc_ml_event_t* ev, vlc_ml_playlist_t* p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ev
    - b
    argTypes:
    - vlc_ml_event_t*
    - vlc_ml_bookmark_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: assignToEvent
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void assignToEvent( vlc_ml_event_t* ev, vlc_ml_bookmark_t* b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ev
    - f
    argTypes:
    - vlc_ml_event_t*
    - vlc_ml_folder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: assignToEvent
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void assignToEvent( vlc_ml_event_t* ev, vlc_ml_folder_t* f )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc::wrap_cptr<To>
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:102,1
    - Dst: static_cast<To*>
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:102,1
    - Dst: calloc
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:102,1
    - Dst: static_cast<void(*)(To*)>
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:103,1
    - Dst: unlikely
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:104,1
    - Dst: Convert
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:106,1
    - Dst: get
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:106,1
    - Dst: assignToEvent
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:108,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:108,1
    - Dst: vlc_medialibrary_module_t*::cbs::pf_send_event
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ml
    - ' entities'
    - evType
    argTypes:
    - vlc_medialibrary_module_t*
    - std::vector<From>
    - vlc_ml_event_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 111
    functionName: wrapEntityCreatedEventCallback
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - static_cast<To*>
    - assignToEvent
    - get
    - static_cast<void(*)(To*)>
    - calloc
    - auto::get
    - vlc::wrap_cptr<To>
    - Convert
    - vlc_medialibrary_module_t*::cbs::pf_send_event
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void wrapEntityCreatedEventCallback( vlc_medialibrary_module_t* ml,\n
      \                                    const std::vector<From>& entities,\n                                     vlc_ml_event_type
      evType )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_medialibrary_module_t*::cbs::pf_send_event
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ml
    - ' ids'
    - evType
    argTypes:
    - vlc_medialibrary_module_t*
    - std::set<int64_t>
    - vlc_ml_event_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 124
    functionName: wrapEntityModifiedEventCallback
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - vlc_medialibrary_module_t*::cbs::pf_send_event
    linkageType: ''
    returnType: void
    signature: "void wrapEntityModifiedEventCallback( vlc_medialibrary_module_t* ml,\n
      \                                     const std::set<int64_t>& ids,\n                                      vlc_ml_event_type
      evType )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_medialibrary_module_t*::cbs::pf_send_event
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ml
    - ' ids'
    - evType
    argTypes:
    - vlc_medialibrary_module_t*
    - std::set<int64_t>
    - vlc_ml_event_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: wrapEntityDeletedEventCallback
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - vlc_medialibrary_module_t*::cbs::pf_send_event
    linkageType: ''
    returnType: void
    signature: "void wrapEntityDeletedEventCallback( vlc_medialibrary_module_t* ml,\n
      \                                    const std::set<int64_t>& ids, vlc_ml_event_type
      evType )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ev
    - m
    argTypes:
    - vlc_ml_event_t*
    - vlc_ml_media_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: assignToEvent
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void assignToEvent( vlc_ml_event_t* ev, vlc_ml_media_t* m )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ev
    - a
    argTypes:
    - vlc_ml_event_t*
    - vlc_ml_artist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: assignToEvent
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void assignToEvent( vlc_ml_event_t* ev, vlc_ml_artist_t* a )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ev
    - a
    argTypes:
    - vlc_ml_event_t*
    - vlc_ml_album_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: assignToEvent
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void assignToEvent( vlc_ml_event_t* ev, vlc_ml_album_t* a )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ev
    - g
    argTypes:
    - vlc_ml_event_t*
    - vlc_ml_genre_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: assignToEvent
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void assignToEvent( vlc_ml_event_t* ev, vlc_ml_genre_t* g )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ev
    - g
    argTypes:
    - vlc_ml_event_t*
    - vlc_ml_group_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: assignToEvent
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void assignToEvent( vlc_ml_event_t* ev, vlc_ml_group_t* g )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ev
    - p
    argTypes:
    - vlc_ml_event_t*
    - vlc_ml_playlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: assignToEvent
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void assignToEvent( vlc_ml_event_t* ev, vlc_ml_playlist_t* p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ev
    - b
    argTypes:
    - vlc_ml_event_t*
    - vlc_ml_bookmark_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: assignToEvent
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void assignToEvent( vlc_ml_event_t* ev, vlc_ml_bookmark_t* b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ev
    - f
    argTypes:
    - vlc_ml_event_t*
    - vlc_ml_folder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: assignToEvent
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void assignToEvent( vlc_ml_event_t* ev, vlc_ml_folder_t* f )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc::wrap_cptr<To>
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:102,1
    - Dst: static_cast<To*>
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:102,1
    - Dst: calloc
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:102,1
    - Dst: static_cast<void(*)(To*)>
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:103,1
    - Dst: unlikely
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:104,1
    - Dst: Convert
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:106,1
    - Dst: get
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:106,1
    - Dst: assignToEvent
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:108,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:108,1
    - Dst: vlc_medialibrary_module_t*::cbs::pf_send_event
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ml
    - ' entities'
    - evType
    argTypes:
    - vlc_medialibrary_module_t*
    - std::vector<From>
    - vlc_ml_event_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 111
    functionName: wrapEntityCreatedEventCallback
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - static_cast<To*>
    - assignToEvent
    - get
    - static_cast<void(*)(To*)>
    - calloc
    - auto::get
    - vlc::wrap_cptr<To>
    - Convert
    - vlc_medialibrary_module_t*::cbs::pf_send_event
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void wrapEntityCreatedEventCallback( vlc_medialibrary_module_t* ml,\n
      \                                    const std::vector<From>& entities,\n                                     vlc_ml_event_type
      evType )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_medialibrary_module_t*::cbs::pf_send_event
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ml
    - ' ids'
    - evType
    argTypes:
    - vlc_medialibrary_module_t*
    - std::set<int64_t>
    - vlc_ml_event_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 124
    functionName: wrapEntityModifiedEventCallback
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - vlc_medialibrary_module_t*::cbs::pf_send_event
    linkageType: ''
    returnType: void
    signature: "void wrapEntityModifiedEventCallback( vlc_medialibrary_module_t* ml,\n
      \                                     const std::set<int64_t>& ids,\n                                      vlc_ml_event_type
      evType )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_medialibrary_module_t*::cbs::pf_send_event
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ml
    - ' ids'
    - evType
    argTypes:
    - vlc_medialibrary_module_t*
    - std::set<int64_t>
    - vlc_ml_event_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: wrapEntityDeletedEventCallback
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - vlc_medialibrary_module_t*::cbs::pf_send_event
    linkageType: ''
    returnType: void
    signature: "void wrapEntityDeletedEventCallback( vlc_medialibrary_module_t* ml,\n
      \                                    const std::set<int64_t>& ids, vlc_ml_event_type
      evType )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wrapEntityCreatedEventCallback
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - media
    argTypes:
    - std::vector<medialibrary::MediaPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: MediaLibrary::onMediaAdded
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - wrapEntityCreatedEventCallback
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onMediaAdded( std::vector<medialibrary::MediaPtr>
      media )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wrapEntityModifiedEventCallback
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mediaIds
    argTypes:
    - std::set<int64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: MediaLibrary::onMediaModified
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - wrapEntityModifiedEventCallback
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onMediaModified( std::set<int64_t> mediaIds )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wrapEntityDeletedEventCallback
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mediaIds
    argTypes:
    - std::set<int64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: MediaLibrary::onMediaDeleted
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - wrapEntityDeletedEventCallback
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onMediaDeleted( std::set<int64_t> mediaIds )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wrapEntityCreatedEventCallback
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - artists
    argTypes:
    - std::vector<medialibrary::ArtistPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: MediaLibrary::onArtistsAdded
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - wrapEntityCreatedEventCallback
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onArtistsAdded( std::vector<medialibrary::ArtistPtr>
      artists )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wrapEntityModifiedEventCallback
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - artistIds
    argTypes:
    - std::set<int64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: MediaLibrary::onArtistsModified
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - wrapEntityModifiedEventCallback
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onArtistsModified( std::set<int64_t> artistIds )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wrapEntityDeletedEventCallback
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - artistIds
    argTypes:
    - std::set<int64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: MediaLibrary::onArtistsDeleted
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - wrapEntityDeletedEventCallback
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onArtistsDeleted( std::set<int64_t> artistIds )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wrapEntityCreatedEventCallback
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - albums
    argTypes:
    - std::vector<medialibrary::AlbumPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: MediaLibrary::onAlbumsAdded
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - wrapEntityCreatedEventCallback
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onAlbumsAdded( std::vector<medialibrary::AlbumPtr>
      albums )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wrapEntityModifiedEventCallback
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - albumIds
    argTypes:
    - std::set<int64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: MediaLibrary::onAlbumsModified
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - wrapEntityModifiedEventCallback
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onAlbumsModified( std::set<int64_t> albumIds )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wrapEntityDeletedEventCallback
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - albumIds
    argTypes:
    - std::set<int64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: MediaLibrary::onAlbumsDeleted
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - wrapEntityDeletedEventCallback
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onAlbumsDeleted( std::set<int64_t> albumIds )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wrapEntityCreatedEventCallback
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - groups
    argTypes:
    - std::vector<medialibrary::MediaGroupPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: MediaLibrary::onMediaGroupsAdded
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - wrapEntityCreatedEventCallback
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onMediaGroupsAdded( std::vector<medialibrary::MediaGroupPtr>
      groups )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wrapEntityModifiedEventCallback
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - groupIds
    argTypes:
    - std::set<int64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: MediaLibrary::onMediaGroupsModified
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - wrapEntityModifiedEventCallback
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onMediaGroupsModified( std::set<int64_t> groupIds
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wrapEntityDeletedEventCallback
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - groupIds
    argTypes:
    - std::set<int64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: MediaLibrary::onMediaGroupsDeleted
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - wrapEntityDeletedEventCallback
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onMediaGroupsDeleted( std::set<int64_t> groupIds
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wrapEntityCreatedEventCallback
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - playlists
    argTypes:
    - std::vector<medialibrary::PlaylistPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: MediaLibrary::onPlaylistsAdded
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - wrapEntityCreatedEventCallback
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onPlaylistsAdded( std::vector<medialibrary::PlaylistPtr>
      playlists )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wrapEntityModifiedEventCallback
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - playlistIds
    argTypes:
    - std::set<int64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: MediaLibrary::onPlaylistsModified
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - wrapEntityModifiedEventCallback
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onPlaylistsModified( std::set<int64_t> playlistIds
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wrapEntityDeletedEventCallback
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - playlistIds
    argTypes:
    - std::set<int64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: MediaLibrary::onPlaylistsDeleted
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - wrapEntityDeletedEventCallback
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onPlaylistsDeleted( std::set<int64_t> playlistIds
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wrapEntityCreatedEventCallback
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - genres
    argTypes:
    - std::vector<medialibrary::GenrePtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: MediaLibrary::onGenresAdded
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - wrapEntityCreatedEventCallback
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onGenresAdded( std::vector<medialibrary::GenrePtr>
      genres )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wrapEntityModifiedEventCallback
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - genreIds
    argTypes:
    - std::set<int64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: MediaLibrary::onGenresModified
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - wrapEntityModifiedEventCallback
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onGenresModified( std::set<int64_t> genreIds )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wrapEntityDeletedEventCallback
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - genreIds
    argTypes:
    - std::set<int64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: MediaLibrary::onGenresDeleted
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - wrapEntityDeletedEventCallback
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onGenresDeleted( std::set<int64_t> genreIds )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wrapEntityCreatedEventCallback
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bookmarks
    argTypes:
    - std::vector<medialibrary::BookmarkPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: MediaLibrary::onBookmarksAdded
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - wrapEntityCreatedEventCallback
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onBookmarksAdded( std::vector<medialibrary::BookmarkPtr>
      bookmarks )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wrapEntityModifiedEventCallback
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bookmarkIds
    argTypes:
    - std::set<int64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: MediaLibrary::onBookmarksModified
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - wrapEntityModifiedEventCallback
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onBookmarksModified( std::set<int64_t> bookmarkIds
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wrapEntityDeletedEventCallback
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bookmarkIds
    argTypes:
    - std::set<int64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: MediaLibrary::onBookmarksDeleted
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - wrapEntityDeletedEventCallback
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onBookmarksDeleted( std::set<int64_t> bookmarkIds
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wrapEntityCreatedEventCallback
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - folders
    argTypes:
    - std::vector<medialibrary::FolderPtr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: MediaLibrary::onFoldersAdded
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - wrapEntityCreatedEventCallback
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onFoldersAdded( std::vector<medialibrary::FolderPtr>
      folders )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wrapEntityModifiedEventCallback
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - folderIds
    argTypes:
    - std::set<int64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: MediaLibrary::onFoldersModified
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - wrapEntityModifiedEventCallback
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onFoldersModified( std::set<int64_t> folderIds )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wrapEntityDeletedEventCallback
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - folderIds
    argTypes:
    - std::set<int64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: MediaLibrary::onFoldersDeleted
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - wrapEntityDeletedEventCallback
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onFoldersDeleted( std::set<int64_t> folderIds )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cbs::pf_send_event
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 276
    functionName: MediaLibrary::onDiscoveryStarted
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - cbs::pf_send_event
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onDiscoveryStarted()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:282,1
    - Dst: cbs::pf_send_event
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' entryPoint'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 284
    functionName: MediaLibrary::onDiscoveryProgress
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - cbs::pf_send_event
    - c_str
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onDiscoveryProgress( const std::string& entryPoint
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cbs::pf_send_event
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 291
    functionName: MediaLibrary::onDiscoveryCompleted
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - cbs::pf_send_event
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onDiscoveryCompleted()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:297,1
    - Dst: cbs::pf_send_event
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' entryPoint'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 299
    functionName: MediaLibrary::onDiscoveryFailed
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - cbs::pf_send_event
    - c_str
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onDiscoveryFailed( const std::string& entryPoint
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:306,1
    - Dst: cbs::pf_send_event
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' entryPoint'
    - success
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 309
    functionName: MediaLibrary::onRootAdded
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - cbs::pf_send_event
    - c_str
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onRootAdded( const std::string& entryPoint, bool
      success )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:315,1
    - Dst: cbs::pf_send_event
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' entryPoint'
    - success
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 318
    functionName: MediaLibrary::onRootRemoved
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - cbs::pf_send_event
    - c_str
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onRootRemoved( const std::string& entryPoint, bool
      success )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:324,1
    - Dst: cbs::pf_send_event
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' entryPoint'
    - success
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 327
    functionName: MediaLibrary::onRootBanned
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - cbs::pf_send_event
    - c_str
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onRootBanned( const std::string& entryPoint, bool
      success )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:333,1
    - Dst: cbs::pf_send_event
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' entryPoint'
    - success
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 336
    functionName: MediaLibrary::onRootUnbanned
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - cbs::pf_send_event
    - c_str
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onRootUnbanned( const std::string& entryPoint, bool
      success )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cbs::pf_send_event
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - done
    - scheduled
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 344
    functionName: MediaLibrary::onParsingStatsUpdated
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - cbs::pf_send_event
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onParsingStatsUpdated( uint32_t done, uint32_t scheduled
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cbs::pf_send_event
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - idle
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: MediaLibrary::onBackgroundTasksIdleChanged
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - cbs::pf_send_event
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onBackgroundTasksIdleChanged( bool idle )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vlc_ml_thumbnail_size_t>
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:361,1
    - Dst: vlc::wrap_cptr<vlc_ml_media_t>
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:362,1
    - Dst: static_cast<vlc_ml_media_t*>
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:363,1
    - Dst: calloc
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:363,1
    - Dst: unlikely
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:365,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:367,1
    - Dst: Convert
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:368,1
    - Dst: medialibrary::MediaPtr::get
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:368,1
    - Dst: cbs::pf_send_event
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - media
    - sizeType
    - success
    argTypes:
    - medialibrary::MediaPtr
    - medialibrary::ThumbnailSizeType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 371
    functionName: MediaLibrary::onMediaThumbnailReady
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - static_cast<vlc_ml_thumbnail_size_t>
    - cbs::pf_send_event
    - vlc::wrap_cptr<vlc_ml_media_t>
    - calloc
    - auto::get
    - Convert
    - medialibrary::MediaPtr::get
    - static_cast<vlc_ml_media_t*>
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void MediaLibrary::onMediaThumbnailReady( medialibrary::MediaPtr media,\n
      \                                         medialibrary::ThumbnailSizeType sizeType,\n
      \                                         bool success )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:389,1
    - Dst: cbs::pf_send_event
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:391,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - historyType
    argTypes:
    - medialibrary::HistoryType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 392
    functionName: MediaLibrary::onHistoryChanged
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    - cbs::pf_send_event
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onHistoryChanged( medialibrary::HistoryType historyType
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cbs::pf_send_event
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 399
    functionName: MediaLibrary::onRescanStarted
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - cbs::pf_send_event
    linkageType: ''
    returnType: void
    signature: void MediaLibrary::onRescanStarted()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: config_GetUserDir
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:403,1
    - Dst: unlikely
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:404,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:406,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:407,1
    - Dst: std::make_shared<vlc::medialibrary::DeviceLister>
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:411,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:412,1
    - Dst: std::make_shared<vlc::medialibrary::SDFileSystemFactory>
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:414,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:415,1
    - Dst: std::make_shared<vlc::medialibrary::SDFileSystemFactory>
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:416,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:417,1
    - Dst: std::make_shared<MetadataExtractor>
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:421,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:421,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:423,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:423,1
    - Dst: std::make_shared<Logger>
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:425,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:425,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:427,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:427,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:428,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:428,1
    - Dst: NewMediaLibrary
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:429,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:429,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:429,1
    - Dst: MediaLibrary::MediaLibrary
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - vlc_ml
    argTypes:
    - vlc_medialibrary_module_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 434
    functionName: MediaLibrary::create
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - auto::c_str
    - std::make_shared<Logger>
    - vlc::wrap_cptr
    - var_InheritBool
    - std::make_shared<vlc::medialibrary::SDFileSystemFactory>
    - auto::get
    - NewMediaLibrary
    - msg_Dbg
    - MediaLibrary::MediaLibrary
    - VLC_OBJECT
    - std::make_shared<MetadataExtractor>
    - std::make_shared<vlc::medialibrary::DeviceLister>
    - config_GetUserDir
    - unlikely
    linkageType: ''
    returnType: MediaLibrary
    signature: MediaLibrary * MediaLibrary::create( vlc_medialibrary_module_t* vlc_ml
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - vlc_ml
    - ml
    argTypes:
    - vlc_medialibrary_module_t*
    - medialibrary::IMediaLibrary*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 441
    functionName: MediaLibrary::MediaLibrary
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MediaLibrary::MediaLibrary( vlc_medialibrary_module_t* vlc_ml,\n
      \                           medialibrary::IMediaLibrary* ml )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: initialize
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:449,1
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:453,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:456,1
    - Dst: msg_Info
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:459,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:462,1
    - Dst: vlc_dialog_wait_question
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:466,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:466,1
    - Dst: _
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:467,1
    - Dst: _
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:467,1
    - Dst: _
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:468,1
    - Dst: _
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:468,1
    - Dst: clearDatabase
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:475,1
    - Dst: clearDatabase
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:478,1
    - Dst: addThumbnailer
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:489,1
    - Dst: std::make_shared<Thumbnailer>
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:489,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:493,1
    - Dst: what
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:494,1
    - Dst: setDiscoverNetworkEnabled
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:498,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!"initialize() should not have been called if already initialized")
      pos:
        line_end: 452
        line_start: 452
        source_file: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    constantsTouched: []
    func_position:
      end: 502
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 502
    functionName: MediaLibrary::Init
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - vlc_dialog_wait_question
    - initialize
    - assert
    - addThumbnailer
    - setDiscoverNetworkEnabled
    - clearDatabase
    - _
    - what
    - std::make_shared<Thumbnailer>
    - msg_Err
    - msg_Info
    - msg_Dbg
    - VLC_OBJECT
    linkageType: ''
    returnType: bool
    signature: bool MediaLibrary::Init()
  - BBCount: 96
    BranchProfiles: []
    Callsites:
    - Dst: MediaLibrary::Init
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:536,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:553,1
    - Dst: discover
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:557,1
    - Dst: removeRoot
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:560,1
    - Dst: banFolder
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:563,1
    - Dst: unbanFolder
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:566,1
    - Dst: folder
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:571,1
    - Dst: auto::setPublic
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:575,1
    - Dst: MediaLibrary::acquirePriorityAccess
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:584,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:586,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:587,1
    - Dst: isIndexed
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:588,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:593,1
    - Dst: reload
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:595,1
    - Dst: reload
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:597,1
    - Dst: pauseBackgroundOperations
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:601,1
    - Dst: resumeBackgroundOperations
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:604,1
    - Dst: clearHistory
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:609,1
    - Dst: MediaLibrary::acquirePriorityAccess
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:614,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:616,1
    - Dst: addExternalMedia
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:617,1
    - Dst: CreateAndConvert
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:620,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:620,1
    - Dst: MediaLibrary::acquirePriorityAccess
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:625,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:627,1
    - Dst: addStream
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:628,1
    - Dst: CreateAndConvert
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:631,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:631,1
    - Dst: MediaLibrary::acquirePriorityAccess
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:636,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:638,1
    - Dst: media
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:639,1
    - Dst: removeExternalMedia
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:642,1
    - Dst: MediaLibrary::acquirePriorityAccess
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:647,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:649,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:650,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:651,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:652,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:653,1
    - Dst: requestThumbnail
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:654,1
    - Dst: static_cast<medialibrary::ThumbnailSizeType>
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:655,1
    - Dst: MediaLibrary::acquirePriorityAccess
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:674,1
    - Dst: MediaLibrary::controlMedia
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:676,1
    - Dst: MediaLibrary::acquirePriorityAccess
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:680,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:682,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:683,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:684,1
    - Dst: genre
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:685,1
    - Dst: auto::setThumbnail
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:686,1
    - Dst: static_cast<medialibrary::ThumbnailSizeType>
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:686,1
    - Dst: MediaLibrary::acquirePriorityAccess
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:692,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:694,1
    - Dst: createPlaylist
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:695,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:698,1
    - Dst: CreateAndConvert
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:699,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:699,1
    - Dst: MediaLibrary::acquirePriorityAccess
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:704,1
    - Dst: deletePlaylist
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:706,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:706,1
    - Dst: MediaLibrary::acquirePriorityAccess
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:712,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:714,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:715,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:716,1
    - Dst: playlist
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:720,1
    - Dst: auto::append
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:723,1
    - Dst: auto::append
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:725,1
    - Dst: MediaLibrary::acquirePriorityAccess
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:731,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:733,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:734,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:735,1
    - Dst: playlist
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:739,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:742,1
    - Dst: auto::add
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:743,1
    - Dst: auto::add
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:745,1
    - Dst: MediaLibrary::acquirePriorityAccess
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:751,1
    - Dst: playlist
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:753,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:753,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:756,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:757,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:758,1
    - Dst: auto::move
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:759,1
    - Dst: MediaLibrary::acquirePriorityAccess
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:765,1
    - Dst: playlist
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:767,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:767,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:770,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:771,1
    - Dst: auto::remove
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:772,1
    - Dst: MediaLibrary::acquirePriorityAccess
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:778,1
    - Dst: playlist
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:780,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:780,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:783,1
    - Dst: auto::setName
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:784,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:790,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:791,1
    - Dst: folder
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:792,1
    - Dst: auto::setFavorite
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:795,1
    - Dst: auto::id
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:800,1
    - Dst: cbs::pf_send_event
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:803,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:809,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:810,1
    - Dst: artist
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:811,1
    - Dst: auto::setFavorite
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:814,1
    - Dst: cbs::pf_send_event
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:822,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:828,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:829,1
    - Dst: album
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:830,1
    - Dst: auto::setFavorite
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:833,1
    - Dst: cbs::pf_send_event
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:841,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:847,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:848,1
    - Dst: genre
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:849,1
    - Dst: auto::setFavorite
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:852,1
    - Dst: cbs::pf_send_event
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:860,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:866,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:867,1
    - Dst: playlist
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:868,1
    - Dst: auto::setFavorite
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:871,1
    - Dst: cbs::pf_send_event
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:879,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 229
    argCount: 2
    argNames:
    - query
    - args
    argTypes:
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 887
    functionName: MediaLibrary::Control
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - requestThumbnail
    - media
    - auto::move
    - auto::setPublic
    - removeRoot
    - artist
    - auto::get
    - removeExternalMedia
    - createPlaylist
    - MediaLibrary::Init
    - banFolder
    - deletePlaylist
    - CreateAndConvert
    - isIndexed
    - pauseBackgroundOperations
    - playlist
    - MediaLibrary::acquirePriorityAccess
    - auto::setThumbnail
    - auto::add
    - unbanFolder
    - auto::setName
    - folder
    - resumeBackgroundOperations
    - album
    - static_cast<medialibrary::ThumbnailSizeType>
    - reload
    - auto::setFavorite
    - auto::append
    - clearHistory
    - discover
    - MediaLibrary::controlMedia
    - cbs::pf_send_event
    - addStream
    - va_arg
    - genre
    - auto::remove
    - auto::id
    - addExternalMedia
    linkageType: ''
    returnType: int
    signature: int MediaLibrary::Control( int query, va_list args )
  - BBCount: 189
    BranchProfiles: []
    Callsites:
    - Dst: MediaLibrary::Init
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:891,1
    - Dst: MediaLibrary::acquirePriorityAccess
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:894,1
    - Dst: MediaLibrary::sortingCriteria
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:904,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:950,1
    - Dst: MediaLibrary::filterListChildrenQuery
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:951,1
    - Dst: MediaLibrary::listAlbums
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:963,1
    - Dst: MediaLibrary::listArtists
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:969,1
    - Dst: searchMedia
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:975,1
    - Dst: mediaFiles
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:977,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:980,1
    - Dst: medialibrary::Query::items
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:981,1
    - Dst: searchMedia
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:989,1
    - Dst: mediaFiles
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:991,1
    - Dst: medialibrary::Query::count
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:994,1
    - Dst: searchVideo
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1001,1
    - Dst: videoFiles
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1003,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1006,1
    - Dst: medialibrary::Query::items
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1007,1
    - Dst: searchVideo
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1015,1
    - Dst: videoFiles
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1017,1
    - Dst: medialibrary::Query::count
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1020,1
    - Dst: searchVideo
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1027,1
    - Dst: videoFiles
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1029,1
    - Dst: medialibrary::Query::items
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1033,1
    - Dst: auto::erase
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1034,1
    - Dst: std::remove_if
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1035,1
    - Dst: auto::begin
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1036,1
    - Dst: auto::end
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1037,1
    - Dst: subType
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1039,1
    - Dst: auto::end
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1041,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1042,1
    - Dst: searchVideo
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1050,1
    - Dst: videoFiles
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1052,1
    - Dst: medialibrary::Query::items
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1056,1
    - Dst: std::count_if
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1057,1
    - Dst: auto::cbegin
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1058,1
    - Dst: auto::cend
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1059,1
    - Dst: subType
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1061,1
    - Dst: searchAudio
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1070,1
    - Dst: audioFiles
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1072,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1075,1
    - Dst: medialibrary::Query::items
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1076,1
    - Dst: searchAudio
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1084,1
    - Dst: audioFiles
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1086,1
    - Dst: medialibrary::Query::count
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1089,1
    - Dst: searchAlbums
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1096,1
    - Dst: albums
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1098,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1101,1
    - Dst: medialibrary::Query::items
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1102,1
    - Dst: searchAlbums
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1110,1
    - Dst: albums
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1112,1
    - Dst: medialibrary::Query::count
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1115,1
    - Dst: searchGenre
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1122,1
    - Dst: genres
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1124,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1127,1
    - Dst: medialibrary::Query::items
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1128,1
    - Dst: searchGenre
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1136,1
    - Dst: genres
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1138,1
    - Dst: medialibrary::Query::count
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1141,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1147,1
    - Dst: searchArtists
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1151,1
    - Dst: artists
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1153,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1156,1
    - Dst: medialibrary::Query::items
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1157,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1164,1
    - Dst: searchArtists
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1168,1
    - Dst: artists
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1170,1
    - Dst: medialibrary::Query::count
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1173,1
    - Dst: MediaLibrary::listGenre
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1182,1
    - Dst: MediaLibrary::listMedia
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1187,1
    - Dst: searchShows
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1193,1
    - Dst: shows
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1195,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1199,1
    - Dst: medialibrary::Query::items
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1200,1
    - Dst: shows
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1205,1
    - Dst: auto::count
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1208,1
    - Dst: show
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1214,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1214,1
    - Dst: auto::searchEpisodes
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1219,1
    - Dst: auto::episodes
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1221,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1227,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1228,1
    - Dst: medialibrary::Query::items
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1229,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1232,1
    - Dst: medialibrary::Query::count
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1232,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1235,1
    - Dst: MediaLibrary::listGroup
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1242,1
    - Dst: MediaLibrary::listFolder
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1249,1
    - Dst: MediaLibrary::listPlaylist
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1254,1
    - Dst: searchInHistory
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1272,1
    - Dst: history
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1274,1
    - Dst: searchInVideoHistory
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1280,1
    - Dst: videoHistory
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1282,1
    - Dst: searchInAudioHistory
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1287,1
    - Dst: audioHistory
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1289,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1292,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1303,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1304,1
    - Dst: medialibrary::Query::items
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1305,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1310,1
    - Dst: medialibrary::Query::count
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1310,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1313,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1318,1
    - Dst: bannedRoots
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1319,1
    - Dst: roots
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1319,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1323,1
    - Dst: auto::all
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1323,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1329,1
    - Dst: bannedRoots
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1330,1
    - Dst: roots
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1330,1
    - Dst: auto::count
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1331,1
    - Dst: searchMedia
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1340,1
    - Dst: mediaFiles
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1342,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1345,1
    - Dst: medialibrary::Query::items
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1346,1
    - Dst: searchMedia
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1356,1
    - Dst: mediaFiles
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1358,1
    - Dst: medialibrary::Query::count
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1361,1
    - Dst: searchVideo
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1370,1
    - Dst: videoFiles
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1372,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1375,1
    - Dst: medialibrary::Query::items
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1376,1
    - Dst: searchVideo
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1386,1
    - Dst: videoFiles
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1388,1
    - Dst: medialibrary::Query::count
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1391,1
    - Dst: searchAudio
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1400,1
    - Dst: audioFiles
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1402,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1405,1
    - Dst: medialibrary::Query::items
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1406,1
    - Dst: searchAudio
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1416,1
    - Dst: audioFiles
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1418,1
    - Dst: medialibrary::Query::count
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1421,1
    - Dst: searchAlbums
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1430,1
    - Dst: albums
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1432,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1435,1
    - Dst: medialibrary::Query::items
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1436,1
    - Dst: searchAlbums
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1446,1
    - Dst: albums
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1448,1
    - Dst: medialibrary::Query::count
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1451,1
    - Dst: searchArtists
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1460,1
    - Dst: artists
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1462,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1465,1
    - Dst: medialibrary::Query::items
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1466,1
    - Dst: searchArtists
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1476,1
    - Dst: artists
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1478,1
    - Dst: medialibrary::Query::count
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1481,1
    - Dst: searchGenre
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1490,1
    - Dst: genres
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1492,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1495,1
    - Dst: medialibrary::Query::items
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1496,1
    - Dst: searchGenre
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1506,1
    - Dst: genres
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1508,1
    - Dst: medialibrary::Query::count
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1511,1
    - Dst: searchPlaylists
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1520,1
    - Dst: playlists
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1522,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1525,1
    - Dst: medialibrary::Query::items
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1526,1
    - Dst: searchPlaylists
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1536,1
    - Dst: playlists
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1538,1
    - Dst: medialibrary::Query::count
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1541,1
    - Dst: searchFolders
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1550,1
    - Dst: folders
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1552,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1555,1
    - Dst: medialibrary::Query::items
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1556,1
    - Dst: searchFolders
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1566,1
    - Dst: folders
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1568,1
    - Dst: medialibrary::Query::count
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1571,1
    - Dst: folder
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1576,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1576,1
    - Dst: auto::subfolders
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1579,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1582,1
    - Dst: auto::all
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1582,1
    - Dst: folder
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1588,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1588,1
    - Dst: auto::subfolders
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1591,1
    - Dst: auto::count
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1592,1
    CyclomaticComplexity: 125
    EdgeCount: 125
    ICount: 485
    argCount: 3
    argNames:
    - listQuery
    - params
    - args
    argTypes:
    - int
    - vlc_ml_query_params_t*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1597
      start: 889
    functionDepth: 2
    functionLinenumber: 889
    functionLinenumberEnd: 1597
    functionName: MediaLibrary::List
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - audioFiles
    - searchVideo
    - subType
    - MediaLibrary::filterListChildrenQuery
    - videoFiles
    - searchGenre
    - auto::episodes
    - ml_convert_list
    - searchInHistory
    - albums
    - auto::searchEpisodes
    - MediaLibrary::listFolder
    - MediaLibrary::Init
    - playlists
    - MediaLibrary::listGenre
    - auto::cend
    - searchPlaylists
    - shows
    - vlc_assert_unreachable
    - genres
    - searchMedia
    - MediaLibrary::listAlbums
    - MediaLibrary::listArtists
    - auto::begin
    - auto::erase
    - roots
    - MediaLibrary::listGroup
    - MediaLibrary::acquirePriorityAccess
    - history
    - std::count_if
    - auto::subfolders
    - auto::end
    - std::remove_if
    - MediaLibrary::listMedia
    - folders
    - audioHistory
    - folder
    - show
    - MediaLibrary::listPlaylist
    - medialibrary::Query::items
    - medialibrary::Query::count
    - bannedRoots
    - artists
    - searchArtists
    - searchAlbums
    - searchFolders
    - auto::cbegin
    - videoHistory
    - searchShows
    - auto::count
    - searchInAudioHistory
    - auto::all
    - va_arg
    - searchAudio
    - MediaLibrary::sortingCriteria
    - mediaFiles
    - searchInVideoHistory
    linkageType: ''
    returnType: int
    signature: int MediaLibrary::List( int listQuery, const vlc_ml_query_params_t*
      params, va_list args )
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: MediaLibrary::Init
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1601,1
    - Dst: MediaLibrary::acquirePriorityAccess
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1604,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1610,1
    - Dst: media
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1611,1
    - Dst: CreateAndConvert
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1612,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1612,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1616,1
    - Dst: media
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1617,1
    - Dst: MediaToInputItem
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1618,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1618,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1622,1
    - Dst: album
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1623,1
    - Dst: CreateAndConvert
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1624,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1624,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1628,1
    - Dst: artist
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1629,1
    - Dst: CreateAndConvert
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1630,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1630,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1634,1
    - Dst: genre
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1635,1
    - Dst: CreateAndConvert
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1636,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1636,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1640,1
    - Dst: show
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1641,1
    - Dst: CreateAndConvert
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1642,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1642,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1646,1
    - Dst: mediaGroup
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1647,1
    - Dst: CreateAndConvert
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1648,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1648,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1652,1
    - Dst: playlist
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1653,1
    - Dst: CreateAndConvert
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1654,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1654,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1658,1
    - Dst: folder
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1659,1
    - Dst: CreateAndConvert
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1660,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1660,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1664,1
    - Dst: media
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1665,1
    - Dst: CreateAndConvert
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1666,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1666,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1670,1
    - Dst: media
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1671,1
    - Dst: MediaToInputItem
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1674,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1674,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1677,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 43
    argCount: 2
    argNames:
    - query
    - args
    argTypes:
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1599
    functionDepth: 3
    functionLinenumber: 1599
    functionLinenumberEnd: 1681
    functionName: MediaLibrary::Get
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - CreateAndConvert
    - media
    - MediaToInputItem
    - folder
    - vlc_assert_unreachable
    - album
    - show
    - artist
    - auto::get
    - va_arg
    - MediaLibrary::acquirePriorityAccess
    - genre
    - playlist
    - MediaLibrary::Init
    - mediaGroup
    linkageType: ''
    returnType: void
    signature: void * MediaLibrary::Get( int query, va_list args )
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 1
    argNames:
    - meta
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1683
    functionDepth: 1
    functionLinenumber: 1683
    functionLinenumberEnd: 1724
    functionName: MediaLibrary::metadataType
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    linkageType: ''
    returnType: medialibrary::IMedia::MetadataType
    signature: medialibrary::IMedia::MetadataType MediaLibrary::metadataType( int
      meta )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1755,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - sort
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1757
      start: 1726
    functionDepth: 1
    functionLinenumber: 1726
    functionLinenumberEnd: 1757
    functionName: MediaLibrary::sortingCriteria
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 1
    functionsReached:
    - vlc_assert_unreachable
    linkageType: ''
    returnType: medialibrary::SortingCriteria
    signature: medialibrary::SortingCriteria MediaLibrary::sortingCriteria(int sort)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: metadata
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1761,1
    - Dst: MediaLibrary::metadataType
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1761,1
    - Dst: isSet
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1762,1
    - Dst: strdup
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1767,1
    - Dst: asStr
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1767,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' media'
    - meta
    - result
    argTypes:
    - medialibrary::IMedia
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1759
    functionDepth: 2
    functionLinenumber: 1759
    functionLinenumberEnd: 1771
    functionName: MediaLibrary::getMeta
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - asStr
    - strdup
    - isSet
    - MediaLibrary::metadataType
    - metadata
    linkageType: ''
    returnType: int
    signature: int MediaLibrary::getMeta( const medialibrary::IMedia& media, int meta,
      char** result )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: metadata
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1776,1
    - Dst: atof
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1793,1
    - Dst: second::c_str
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1793,1
    - Dst: atoi
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1796,1
    - Dst: second::c_str
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1796,1
    - Dst: COPY_META
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1799,1
    - Dst: COPY_META
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1802,1
    - Dst: atof
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1805,1
    - Dst: second::c_str
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1805,1
    - Dst: COPY_META
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1808,1
    - Dst: COPY_META
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1811,1
    - Dst: COPY_META
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1814,1
    - Dst: COPY_META
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1817,1
    - Dst: COPY_META
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1820,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 2
    argNames:
    - ' media'
    - res
    argTypes:
    - medialibrary::IMedia
    - vlc_ml_playback_states_all*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1773
    functionDepth: 1
    functionLinenumber: 1773
    functionLinenumberEnd: 1828
    functionName: MediaLibrary::getMeta
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - COPY_META
    - atoi
    - second::c_str
    - atof
    - metadata
    linkageType: ''
    returnType: int
    signature: "int MediaLibrary::getMeta( const medialibrary::IMedia& media,\n                           vlc_ml_playback_states_all*
      res )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1787
    functionDepth: 0
    functionLinenumber: 1787
    functionLinenumberEnd: 1789
    functionName: COPY_META
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY_META( field )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unsetMetadata
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1834,1
    - Dst: MediaLibrary::metadataType
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1834,1
    - Dst: setMetadata
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1836,1
    - Dst: MediaLibrary::metadataType
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1836,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' media'
    - meta
    - value
    argTypes:
    - medialibrary::IMedia
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1840
      start: 1830
    functionDepth: 2
    functionLinenumber: 1830
    functionLinenumberEnd: 1840
    functionName: MediaLibrary::setMeta
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - setMetadata
    - unsetMetadata
    - MediaLibrary::metadataType
    linkageType: ''
    returnType: int
    signature: int MediaLibrary::setMeta( medialibrary::IMedia& media, int meta, const
      char* value )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1848,1
    - Dst: std::to_string
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1850,1
    - Dst: std::to_string
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1852,1
    - Dst: setMetadata
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1868,1
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1868,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - ' media'
    - values
    argTypes:
    - medialibrary::IMedia
    - vlc_ml_playback_states_all*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1871
      start: 1842
    functionDepth: 0
    functionLinenumber: 1842
    functionLinenumberEnd: 1871
    functionName: MediaLibrary::setMeta
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - setMetadata
    - std::to_string
    linkageType: ''
    returnType: int
    signature: "int MediaLibrary::setMeta( medialibrary::IMedia& media,\n                           const
      vlc_ml_playback_states_all* values )"
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1875,1
    - Dst: media
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1876,1
    - Dst: auto::setLastPosition
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1882,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1882,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1888,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1889,1
    - Dst: MediaLibrary::getMeta
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1890,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1894,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1895,1
    - Dst: MediaLibrary::setMeta
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1896,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1900,1
    - Dst: MediaLibrary::getMeta
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1901,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1905,1
    - Dst: MediaLibrary::setMeta
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1906,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1910,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1911,1
    - Dst: auto::setThumbnail
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1912,1
    - Dst: static_cast<medialibrary::ThumbnailSizeType>
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1912,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1917,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1918,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1938,1
    - Dst: auto::addExternalMrl
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1940,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1946,1
    - Dst: auto::setType
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1947,1
    - Dst: static_cast<medialibrary::IMedia::Type>
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1947,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1953,1
    - Dst: auto::markAsPlayed
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1955,1
    - Dst: auto::removeFromHistory
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1958,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1964,1
    - Dst: auto::setFavorite
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1965,1
    - Dst: cbs::pf_send_event
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1973,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1979,1
    - Dst: auto::addBookmark
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1980,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1986,1
    - Dst: auto::removeBookmark
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1987,1
    - Dst: auto::removeAllBookmarks
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1993,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:1999,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2000,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2001,1
    - Dst: auto::bookmark
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2002,1
    - Dst: auto::setNameAndDescription
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2007,1
    - Dst: auto::setName
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2009,1
    - Dst: auto::setDescription
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2011,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2015,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 99
    argCount: 2
    argNames:
    - query
    - args
    argTypes:
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 1873
    functionDepth: 3
    functionLinenumber: 1873
    functionLinenumberEnd: 2017
    functionName: MediaLibrary::controlMedia
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 1
    functionsReached:
    - media
    - auto::addExternalMrl
    - auto::removeFromHistory
    - auto::bookmark
    - auto::removeAllBookmarks
    - vlc_assert_unreachable
    - MediaLibrary::getMeta
    - auto::setNameAndDescription
    - auto::setThumbnail
    - auto::removeBookmark
    - auto::setName
    - auto::markAsPlayed
    - static_cast<medialibrary::ThumbnailSizeType>
    - auto::setFavorite
    - auto::setLastPosition
    - MediaLibrary::setMeta
    - static_cast<medialibrary::IMedia::Type>
    - auto::setType
    - cbs::pf_send_event
    - va_arg
    - auto::addBookmark
    - auto::setDescription
    linkageType: ''
    returnType: int
    signature: int MediaLibrary::controlMedia( int query, va_list args )
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2043,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2065,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2075,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2085,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2095,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2105,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2108,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 83
    argCount: 2
    argNames:
    - query
    - parentType
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2019
    functionDepth: 1
    functionLinenumber: 2019
    functionLinenumberEnd: 2110
    functionName: MediaLibrary::filterListChildrenQuery
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 1
    functionsReached:
    - vlc_assert_unreachable
    linkageType: ''
    returnType: int
    signature: int MediaLibrary::filterListChildrenQuery( int query, int parentType
      )
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: album
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2115,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2115,1
    - Dst: auto::searchTracks
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2125,1
    - Dst: auto::tracks
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2127,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2133,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2134,1
    - Dst: medialibrary::Query::items
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2135,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2138,1
    - Dst: medialibrary::Query::count
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2138,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2141,1
    - Dst: auto::artists
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2147,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2153,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2154,1
    - Dst: auto::items
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2155,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2158,1
    - Dst: auto::count
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2158,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2161,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2165,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 6
    argNames:
    - listQuery
    - paramsPtr
    - pattern
    - nbItems
    - offset
    - args
    argTypes:
    - int
    - medialibrary::QueryParameters*
    - char*
    - uint32_t
    - uint32_t
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2167
      start: 2112
    functionDepth: 2
    functionLinenumber: 2112
    functionLinenumberEnd: 2167
    functionName: MediaLibrary::listAlbums
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 1
    functionsReached:
    - auto::tracks
    - vlc_assert_unreachable
    - album
    - ml_convert_list
    - auto::count
    - medialibrary::Query::items
    - medialibrary::Query::count
    - auto::searchTracks
    - va_arg
    - auto::artists
    - auto::items
    linkageType: ''
    returnType: int
    signature: "int MediaLibrary::listAlbums( int listQuery, const medialibrary::QueryParameters*
      paramsPtr,\n                              const char* pattern, uint32_t nbItems,
      uint32_t offset, va_list args )"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: artist
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2173,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2173,1
    - Dst: auto::searchAlbums
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2183,1
    - Dst: auto::albums
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2185,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2191,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2192,1
    - Dst: medialibrary::Query::items
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2193,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2196,1
    - Dst: medialibrary::Query::count
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2196,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2199,1
    - Dst: auto::searchTracks
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2207,1
    - Dst: auto::tracks
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2209,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2215,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2216,1
    - Dst: medialibrary::Query::items
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2217,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2220,1
    - Dst: medialibrary::Query::count
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2220,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2223,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2227,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 6
    argNames:
    - listQuery
    - paramsPtr
    - pattern
    - nbItems
    - offset
    - args
    argTypes:
    - int
    - medialibrary::QueryParameters*
    - char*
    - uint32_t
    - uint32_t
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2229
      start: 2169
    functionDepth: 2
    functionLinenumber: 2169
    functionLinenumberEnd: 2229
    functionName: MediaLibrary::listArtists
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 1
    functionsReached:
    - auto::tracks
    - vlc_assert_unreachable
    - ml_convert_list
    - artist
    - auto::searchAlbums
    - auto::albums
    - medialibrary::Query::items
    - medialibrary::Query::count
    - auto::searchTracks
    - va_arg
    linkageType: ''
    returnType: int
    signature: "int MediaLibrary::listArtists( int listQuery, const medialibrary::QueryParameters*
      paramsPtr,\n                               const char* pattern, uint32_t nbItems,
      uint32_t offset,\n                               va_list args )"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: genre
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2234,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2234,1
    - Dst: auto::searchArtists
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2244,1
    - Dst: auto::artists
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2246,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2252,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2253,1
    - Dst: medialibrary::Query::items
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2254,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2257,1
    - Dst: medialibrary::Query::count
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2257,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2260,1
    - Dst: auto::searchTracks
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2268,1
    - Dst: auto::tracks
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2270,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2277,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2278,1
    - Dst: medialibrary::Query::items
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2279,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2282,1
    - Dst: medialibrary::Query::count
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2282,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2285,1
    - Dst: auto::searchAlbums
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2293,1
    - Dst: auto::albums
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2295,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2301,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2302,1
    - Dst: medialibrary::Query::items
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2303,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2306,1
    - Dst: medialibrary::Query::count
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2306,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2309,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2313,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 61
    argCount: 6
    argNames:
    - listQuery
    - paramsPtr
    - pattern
    - nbItems
    - offset
    - args
    argTypes:
    - int
    - medialibrary::QueryParameters*
    - char*
    - uint32_t
    - uint32_t
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2315
      start: 2231
    functionDepth: 2
    functionLinenumber: 2231
    functionLinenumberEnd: 2315
    functionName: MediaLibrary::listGenre
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 1
    functionsReached:
    - auto::tracks
    - vlc_assert_unreachable
    - ml_convert_list
    - medialibrary::Query::items
    - medialibrary::Query::count
    - auto::searchAlbums
    - auto::albums
    - auto::searchTracks
    - va_arg
    - genre
    - auto::artists
    - auto::searchArtists
    linkageType: ''
    returnType: int
    signature: "int MediaLibrary::listGenre( int listQuery, const medialibrary::QueryParameters*
      paramsPtr,\n                             const char* pattern, uint32_t nbItems,
      uint32_t offset, va_list args )"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: searchMediaGroups
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2329,1
    - Dst: mediaGroups
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2331,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2339,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2340,1
    - Dst: medialibrary::Query::items
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2341,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2345,1
    - Dst: medialibrary::Query::count
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2345,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2349,1
    - Dst: mediaGroup
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2356,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2356,1
    - Dst: auto::searchMedia
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2364,1
    - Dst: auto::media
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2366,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2374,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2375,1
    - Dst: medialibrary::Query::items
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2376,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2380,1
    - Dst: medialibrary::Query::count
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2380,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2384,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2389,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 7
    argNames:
    - listQuery
    - paramsPtr
    - type
    - pattern
    - nbItems
    - offset
    - args
    argTypes:
    - int
    - medialibrary::QueryParameters*
    - medialibrary::IMedia::Type
    - char*
    - uint32_t
    - uint32_t
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2391
      start: 2317
    functionDepth: 2
    functionLinenumber: 2317
    functionLinenumberEnd: 2391
    functionName: MediaLibrary::listGroup
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 1
    functionsReached:
    - vlc_assert_unreachable
    - ml_convert_list
    - medialibrary::Query::items
    - medialibrary::Query::count
    - auto::searchMedia
    - auto::media
    - va_arg
    - searchMediaGroups
    - mediaGroup
    - mediaGroups
    linkageType: ''
    returnType: int
    signature: "int MediaLibrary::listGroup( int listQuery, const medialibrary::QueryParameters*
      paramsPtr,\n                             medialibrary::IMedia::Type type, const
      char* pattern,\n                             uint32_t nbItems, uint32_t offset,
      va_list args )"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: searchFolders
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2407,1
    - Dst: folders
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2409,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2418,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2419,1
    - Dst: medialibrary::Query::items
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2420,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2425,1
    - Dst: medialibrary::Query::count
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2425,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2429,1
    - Dst: folder
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2436,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2436,1
    - Dst: medialibrary::FolderPtr::searchMedia
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2444,1
    - Dst: medialibrary::FolderPtr::media
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2446,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2454,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2455,1
    - Dst: medialibrary::Query::items
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2456,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2460,1
    - Dst: medialibrary::Query::count
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2460,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2464,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2469,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 7
    argNames:
    - listQuery
    - paramsPtr
    - type
    - pattern
    - nbItems
    - offset
    - args
    argTypes:
    - int
    - medialibrary::QueryParameters*
    - medialibrary::IMedia::Type
    - char*
    - uint32_t
    - uint32_t
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2471
      start: 2393
    functionDepth: 2
    functionLinenumber: 2393
    functionLinenumberEnd: 2471
    functionName: MediaLibrary::listFolder
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 1
    functionsReached:
    - searchFolders
    - folders
    - medialibrary::FolderPtr::media
    - vlc_assert_unreachable
    - folder
    - ml_convert_list
    - medialibrary::Query::items
    - medialibrary::Query::count
    - medialibrary::FolderPtr::searchMedia
    - va_arg
    linkageType: ''
    returnType: int
    signature: "int MediaLibrary::listFolder(int listQuery, const medialibrary::QueryParameters
      * paramsPtr,\n                             medialibrary::IMedia::Type type,
      const char * pattern,\n                             uint32_t nbItems, uint32_t
      offset, va_list args)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2501,1
    - Dst: searchPlaylists
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2506,1
    - Dst: playlists
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2508,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2514,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2515,1
    - Dst: medialibrary::Query::items
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2516,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2519,1
    - Dst: medialibrary::Query::count
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2519,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2522,1
    - Dst: playlist
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2528,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2528,1
    - Dst: auto::searchMedia
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2533,1
    - Dst: auto::media
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2535,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2541,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2542,1
    - Dst: medialibrary::Query::items
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2543,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2546,1
    - Dst: medialibrary::Query::count
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2546,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2549,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2553,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 62
    argCount: 6
    argNames:
    - listQuery
    - paramsPtr
    - pattern
    - nbItems
    - offset
    - args
    argTypes:
    - int
    - medialibrary::QueryParameters*
    - char*
    - uint32_t
    - uint32_t
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2555
      start: 2473
    functionDepth: 2
    functionLinenumber: 2473
    functionLinenumberEnd: 2555
    functionName: MediaLibrary::listPlaylist
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 1
    functionsReached:
    - vlc_assert_unreachable
    - ml_convert_list
    - medialibrary::Query::items
    - medialibrary::Query::count
    - auto::searchMedia
    - auto::media
    - va_arg
    - playlist
    - playlists
    - searchPlaylists
    linkageType: ''
    returnType: int
    signature: "int MediaLibrary::listPlaylist( int listQuery, const medialibrary::QueryParameters*
      paramsPtr,\n                                const char* pattern, uint32_t nbItems,
      uint32_t offset, va_list args )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: media
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2561,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2561,1
    - Dst: auto::labels
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2569,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2575,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2576,1
    - Dst: auto::items
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2577,1
    - Dst: va_arg
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2580,1
    - Dst: auto::count
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2580,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2583,1
    - Dst: ml_convert_list
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2589,1
    - Dst: auto::bookmarks
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2590,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2594,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 5
    argNames:
    - listQuery
    - params
    - nbItems
    - offset
    - args
    argTypes:
    - int
    - medialibrary::QueryParameters*
    - uint32_t
    - uint32_t
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2596
      start: 2557
    functionDepth: 2
    functionLinenumber: 2557
    functionLinenumberEnd: 2596
    functionName: MediaLibrary::listMedia
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 1
    functionsReached:
    - media
    - auto::labels
    - vlc_assert_unreachable
    - ml_convert_list
    - auto::count
    - va_arg
    - auto::bookmarks
    - auto::items
    linkageType: ''
    returnType: int
    signature: "int MediaLibrary::listMedia( int listQuery, const medialibrary::QueryParameters
      *params,\n                             const char *, uint32_t nbItems, uint32_t
      offset,\n                             va_list args )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MediaLibrary::acquirePriorityAccess
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2601
      start: 2598
    functionDepth: 1
    functionLinenumber: 2598
    functionLinenumberEnd: 2601
    functionName: MediaLibrary::acquirePriorityAccess
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 4
    functionsReached:
    - MediaLibrary::acquirePriorityAccess
    linkageType: ''
    returnType: medialibrary::PriorityAccess
    signature: medialibrary::PriorityAccess MediaLibrary::acquirePriorityAccess()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MediaLibrary*>
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2605,1
    - Dst: auto::Get
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - module
    - query
    - args
    argTypes:
    - vlc_medialibrary_module_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2607
      start: 2603
    functionDepth: 0
    functionLinenumber: 2603
    functionLinenumberEnd: 2607
    functionName: Get
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 223
    functionsReached:
    - auto::Get
    - static_cast<MediaLibrary*>
    linkageType: ''
    returnType: void
    signature: void * Get( vlc_medialibrary_module_t* module, int query, va_list args
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MediaLibrary*>
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2612,1
    - Dst: auto::List
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - module
    - query
    - params
    - args
    argTypes:
    - vlc_medialibrary_module_t*
    - int
    - vlc_ml_query_params_t*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2614
      start: 2609
    functionDepth: 0
    functionLinenumber: 2609
    functionLinenumberEnd: 2614
    functionName: List
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 41
    functionsReached:
    - auto::List
    - static_cast<MediaLibrary*>
    linkageType: ''
    returnType: int
    signature: "int List( vlc_medialibrary_module_t* module, int query,\n                   const
      vlc_ml_query_params_t* params, va_list args )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MediaLibrary*>
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2618,1
    - Dst: auto::Control
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - module
    - query
    - args
    argTypes:
    - vlc_medialibrary_module_t*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2620
      start: 2616
    functionDepth: 0
    functionLinenumber: 2616
    functionLinenumberEnd: 2620
    functionName: Control
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 188
    functionsReached:
    - auto::Control
    - static_cast<MediaLibrary*>
    linkageType: ''
    returnType: int
    signature: int Control( vlc_medialibrary_module_t* module, int query, va_list
      args )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<vlc_medialibrary_module_t*>
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2624,1
    - Dst: MediaLibrary::create
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2628,1
    - Dst: msg_Err
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2634,1
    - Dst: what
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2641
      start: 2622
    functionDepth: 1
    functionLinenumber: 2622
    functionLinenumberEnd: 2641
    functionName: Open
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 45
    functionsReached:
    - reinterpret_cast<vlc_medialibrary_module_t*>
    - what
    - MediaLibrary::create
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t* obj )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<vlc_medialibrary_module_t*>
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2645,1
    - Dst: static_cast<MediaLibrary*>
      Src: /src/vlc/modules/misc/medialibrary/medialibrary.cpp:2646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2648
      start: 2643
    functionDepth: 0
    functionLinenumber: 2643
    functionLinenumberEnd: 2648
    functionName: Close
    functionSourceFile: /src/vlc/modules/misc/medialibrary/medialibrary.cpp
    functionUses: 136
    functionsReached:
    - reinterpret_cast<vlc_medialibrary_module_t*>
    - static_cast<MediaLibrary*>
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t* obj )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_input_attachment_Hold
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - a
    - fcc
    argTypes:
    - input_attachment_t*
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: EmbeddedThumbnail::EmbeddedThumbnail
    functionSourceFile: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp
    functionUses: 0
    functionsReached:
    - vlc_input_attachment_Hold
    linkageType: ''
    returnType: void
    signature: void EmbeddedThumbnail::EmbeddedThumbnail( input_attachment_t* a, vlc_fourcc_t
      fcc )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_input_attachment_Release
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: EmbeddedThumbnail::~EmbeddedThumbnail()
    functionSourceFile: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp
    functionUses: 0
    functionsReached:
    - vlc_input_attachment_Release
    linkageType: ''
    returnType: void
    signature: void EmbeddedThumbnail::~EmbeddedThumbnail()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fopen
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:45,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:45,1
    - Dst: fwrite
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:49,1
    - Dst: fclose
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionName: EmbeddedThumbnail::save
    functionSourceFile: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp
    functionUses: 0
    functionsReached:
    - vlc_fopen
    - fclose
    - c_str
    - fwrite
    linkageType: ''
    returnType: bool
    signature: bool EmbeddedThumbnail::save( const std::string& path )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: EmbeddedThumbnail::size
    functionSourceFile: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t EmbeddedThumbnail::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_hash_md5_Init
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:64,1
    - Dst: vlc_hash_md5_Update
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:65,1
    - Dst: vlc_hash_md5_Finish
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:67,1
    - Dst: std::string::reserve
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:69,1
    - Dst: std::string::append
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 74
    functionName: EmbeddedThumbnail::hash
    functionSourceFile: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp
    functionUses: 0
    functionsReached:
    - vlc_hash_md5_Finish
    - vlc_hash_md5_Update
    - std::string::append
    - std::string::reserve
    - vlc_hash_md5_Init
    linkageType: ''
    returnType: std::string
    signature: std::string EmbeddedThumbnail::hash() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: EmbeddedThumbnail::extension
    functionSourceFile: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    linkageType: ''
    returnType: std::string
    signature: std::string EmbeddedThumbnail::extension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:95,1
    - Dst: defined
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 103
    functionName: MetadataExtractor::MetadataExtractor
    functionSourceFile: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp
    functionUses: 0
    functionsReached:
    - defined
    - VLC_TICK_FROM_SEC
    linkageType: ''
    returnType: void
    signature: void MetadataExtractor::MetadataExtractor( vlc_object_t* parent )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: setMeta
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:134,1
    - Dst: emptyStringWrapper
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:135,1
    - Dst: vlc_meta_Get
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:135,1
    - Dst: setDuration
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:138,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:138,1
    - Dst: vlc_fourcc_to_char
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:169,1
    - Dst: emptyStringWrapper
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:173,1
    - Dst: emptyStringWrapper
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:174,1
    - Dst: addTrack
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:176,1
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:176,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 2
    argNames:
    - ' item'
    - inputItem
    argTypes:
    - medialibrary::parser::IItem
    - input_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 178
    functionName: MetadataExtractor::populateItem
    functionSourceFile: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp
    functionUses: 0
    functionsReached:
    - MS_FROM_VLC_TICK
    - addTrack
    - setMeta
    - std::move
    - setDuration
    - vlc_fourcc_to_char
    - emptyStringWrapper
    - vlc_meta_Get
    linkageType: ''
    returnType: void
    signature: void MetadataExtractor::populateItem( medialibrary::parser::IItem&
      item, input_item_t* inputItem )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ParseContext*>
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:182,1
    - Dst: auto*::item::fileType
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:186,1
    - Dst: auto*::item::nbLinkedItems
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:187,1
    - Dst: auto*::mde::populateItem
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:190,1
    - Dst: vlc_preparser_req_GetItem
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:190,1
    - Dst: auto*::mde::m_cond::broadcast
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:198,1
    - Dst: vlc_preparser_req_Release
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - req
    - status
    - data
    argTypes:
    - vlc_preparser_req*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 200
    functionName: MetadataExtractor::onParserEnded
    functionSourceFile: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp
    functionUses: 0
    functionsReached:
    - vlc_preparser_req_GetItem
    - vlc_preparser_req_Release
    - auto*::item::fileType
    - auto*::mde::m_cond::broadcast
    - static_cast<ParseContext*>
    - auto*::item::nbLinkedItems
    - auto*::mde::populateItem
    linkageType: ''
    returnType: void
    signature: void MetadataExtractor::onParserEnded(vlc_preparser_req *req, int status,
      void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ParseContext*>
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:206,1
    - Dst: auto*::item::createLinkedItem
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:211,1
    - Dst: auto*::mde::populateItem
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:213,1
    - Dst: input_item_node_Delete
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - subtree
    - data
    argTypes:
    - input_item_node_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 216
    functionName: MetadataExtractor::onParserSubtreeAdded
    functionSourceFile: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp
    functionUses: 0
    functionsReached:
    - static_cast<ParseContext*>
    - input_item_node_Delete
    - auto*::item::createLinkedItem
    - auto*::mde::populateItem
    linkageType: ''
    returnType: void
    signature: "void MetadataExtractor::onParserSubtreeAdded( vlc_preparser_req *,\n
      \                                             input_item_node_t *subtree,\n
      \                                             void *data )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ParseContext*>
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:222,1
    - Dst: image_Mime2Fourcc
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:226,1
    - Dst: auto::item::addEmbeddedThumbnail
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:229,1
    - Dst: std::make_shared<EmbeddedThumbnail>
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - array
    - count
    - data
    argTypes:
    - input_attachment_t**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 231
    functionName: MetadataExtractor::onAttachmentsAdded
    functionSourceFile: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp
    functionUses: 0
    functionsReached:
    - image_Mime2Fourcc
    - static_cast<ParseContext*>
    - std::make_shared<EmbeddedThumbnail>
    - auto::item::addEmbeddedThumbnail
    linkageType: ''
    returnType: void
    signature: "void MetadataExtractor::onAttachmentsAdded( vlc_preparser_req *,\n
      \                                           input_attachment_t *const *array,\n
      \                                           size_t count, void *data )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:237,1
    - Dst: input_item_New
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:237,1
    - Dst: mrl
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:237,1
    - Dst: instance
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:254,1
    - Dst: vlc_preparser_Push
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:259,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:260,1
    - Dst: wait
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' item'
    argTypes:
    - medialibrary::parser::IItem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 273
    functionName: MetadataExtractor::run
    functionSourceFile: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp
    functionUses: 0
    functionsReached:
    - mrl
    - vlc::wrap_cptr
    - input_item_New
    - instance
    - auto::get
    - wait
    - vlc_preparser_Push
    linkageType: ''
    returnType: medialibrary::parser::Status
    signature: medialibrary::parser::Status MetadataExtractor::run( medialibrary::parser::IItem&
      item )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: MetadataExtractor::name
    functionSourceFile: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * MetadataExtractor::name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: MetadataExtractor::targetedStep
    functionSourceFile: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: medialibrary::parser::Step
    signature: medialibrary::parser::Step MetadataExtractor::targetedStep() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 288
    functionName: MetadataExtractor::initialize
    functionSourceFile: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MetadataExtractor::initialize( medialibrary::IMediaLibrary* )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: MetadataExtractor::onFlushing
    functionSourceFile: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MetadataExtractor::onFlushing()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: MetadataExtractor::onRestarted
    functionSourceFile: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MetadataExtractor::onRestarted()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:300,1
    - Dst: vlc_preparser_Cancel
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:307,1
    - Dst: wait
      Src: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp:312,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 314
    functionName: MetadataExtractor::stop
    functionSourceFile: /src/vlc/modules/misc/medialibrary/MetadataExtractor.cpp
    functionUses: 0
    functionsReached:
    - vlc_preparser_Cancel
    - get
    - wait
    linkageType: ''
    returnType: void
    signature: void MetadataExtractor::stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~SDFile()
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SDFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~SDFile()
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SDFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~SDFile()
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SDFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~SDFile()
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SDFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' uuid'
    - scheme
    - removable
    - isNetwork
    argTypes:
    - std::string
    - std::string
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: vlc::medialibrary::SDDevice::SDDevice
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SDDevice::SDDevice(const std::string& uuid, std::string scheme,
      bool removable, bool isNetwork)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: '&

      SDDevice::uuid() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      SDDevice::uuid() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: vlc::medialibrary::SDDevice::isRemovable
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SDDevice::isRemovable() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: vlc::medialibrary::SDDevice::isPresent
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool SDDevice::isPresent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: vlc::medialibrary::SDDevice::isNetwork
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SDDevice::isNetwork() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:68,1
    - Dst: size
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:68,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: vlc::medialibrary::SDDevice::mountpoints
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - size
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> SDDevice::mountpoints() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::crbegin
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:78,1
    - Dst: std::find_if
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:80,1
    - Dst: cbegin
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:80,1
    - Dst: cend
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:80,1
    - Dst: cend
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:82,1
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:87,1
    - Dst: push_back
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:88,1
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - mrl
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 93
    functionName: vlc::medialibrary::SDDevice::addMountpoint
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - std::string::crbegin
    - std::find_if
    - std::move
    - cend
    - cbegin
    linkageType: ''
    returnType: void
    signature: void SDDevice::addMountpoint( std::string mrl )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crbegin
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:98,1
    - Dst: std::find_if
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:102,1
    - Dst: begin
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:102,1
    - Dst: end
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:102,1
    - Dst: end
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:104,1
    - Dst: erase
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' cmrl'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 106
    functionName: vlc::medialibrary::SDDevice::removeMountpoint
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached:
    - erase
    - crbegin
    - begin
    - std::find_if
    - end
    linkageType: ''
    returnType: void
    signature: void SDDevice::removeMountpoint( const std::string& cmrl )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc::url::url
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:111,1
    - Dst: make_tuple
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:118,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:123,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:125,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:130,1
    - Dst: strlen
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:131,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:138,1
    - Dst: vlc_uri_compose
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:149,1
    - Dst: free
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:153,1
    - Dst: make_tuple
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:154,1
    - Dst: make_tuple
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:158,1
    - Dst: make_tuple
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:160,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 31
    argCount: 1
    argNames:
    - ' mrl'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 161
    functionName: vlc::medialibrary::SDDevice::matchesMountpoint
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached:
    - make_tuple
    - strncasecmp
    - strlen
    - vlc_uri_compose
    - vlc::url::url
    - free
    - strcasecmp
    linkageType: ''
    returnType: std::tuple<bool, std::string>
    signature: std::tuple<bool, std::string> SDDevice::matchesMountpoint( const std::string&
      mrl ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc::medialibrary::SDDevice::matchesMountpoint
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:165,1
    - Dst: std::get<0>
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:166,1
    - Dst: std::get<1>
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:168,1
    - Dst: substr
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:169,1
    - Dst: length
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' absoluteMrl'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: vlc::medialibrary::SDDevice::relativeMrl
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached:
    - vlc::medialibrary::SDDevice::matchesMountpoint
    - length
    - std::get<0>
    - substr
    - std::get<1>
    linkageType: ''
    returnType: std::string
    signature: std::string SDDevice::relativeMrl( const std::string& absoluteMrl )
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:174,1
    - Dst: empty
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' relativeMrl'
    argTypes:
    - std::string
    assertStmts:
    - condition: ( m_mountpoints.empty() == false )
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: vlc::medialibrary::SDDevice::absoluteMrl
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached:
    - assert
    - empty
    linkageType: ''
    returnType: std::string
    signature: std::string SDDevice::absoluteMrl( const std::string& relativeMrl )
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: '& SDDevice::scheme() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & SDDevice::scheme() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' uuid'
    - scheme
    - removable
    - isNetwork
    argTypes:
    - std::string
    - std::string
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: vlc::medialibrary::SDDevice::SDDevice
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SDDevice::SDDevice(const std::string& uuid, std::string scheme,
      bool removable, bool isNetwork)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: '&

      SDDevice::uuid() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      SDDevice::uuid() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: vlc::medialibrary::SDDevice::isRemovable
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SDDevice::isRemovable() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: vlc::medialibrary::SDDevice::isPresent
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool SDDevice::isPresent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: vlc::medialibrary::SDDevice::isNetwork
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SDDevice::isNetwork() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:68,1
    - Dst: size
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:68,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: vlc::medialibrary::SDDevice::mountpoints
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - size
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> SDDevice::mountpoints() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::crbegin
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:78,1
    - Dst: std::find_if
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:80,1
    - Dst: cbegin
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:80,1
    - Dst: cend
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:80,1
    - Dst: cend
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:82,1
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:87,1
    - Dst: push_back
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:88,1
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - mrl
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 93
    functionName: vlc::medialibrary::SDDevice::addMountpoint
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - std::string::crbegin
    - std::find_if
    - std::move
    - cend
    - cbegin
    linkageType: ''
    returnType: void
    signature: void SDDevice::addMountpoint( std::string mrl )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crbegin
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:98,1
    - Dst: std::find_if
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:102,1
    - Dst: begin
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:102,1
    - Dst: end
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:102,1
    - Dst: end
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:104,1
    - Dst: erase
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' cmrl'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 106
    functionName: vlc::medialibrary::SDDevice::removeMountpoint
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached:
    - erase
    - crbegin
    - begin
    - std::find_if
    - end
    linkageType: ''
    returnType: void
    signature: void SDDevice::removeMountpoint( const std::string& cmrl )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc::url::url
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:111,1
    - Dst: make_tuple
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:118,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:123,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:125,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:130,1
    - Dst: strlen
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:131,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:138,1
    - Dst: vlc_uri_compose
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:149,1
    - Dst: free
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:153,1
    - Dst: make_tuple
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:154,1
    - Dst: make_tuple
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:158,1
    - Dst: make_tuple
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:160,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 31
    argCount: 1
    argNames:
    - ' mrl'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 161
    functionName: vlc::medialibrary::SDDevice::matchesMountpoint
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 1
    functionsReached:
    - make_tuple
    - strncasecmp
    - strlen
    - vlc_uri_compose
    - vlc::url::url
    - free
    - strcasecmp
    linkageType: ''
    returnType: std::tuple<bool, std::string>
    signature: std::tuple<bool, std::string> SDDevice::matchesMountpoint( const std::string&
      mrl ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc::medialibrary::SDDevice::matchesMountpoint
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:165,1
    - Dst: std::get<0>
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:166,1
    - Dst: std::get<1>
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:168,1
    - Dst: substr
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:169,1
    - Dst: length
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' absoluteMrl'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: vlc::medialibrary::SDDevice::relativeMrl
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached:
    - vlc::medialibrary::SDDevice::matchesMountpoint
    - length
    - std::get<0>
    - substr
    - std::get<1>
    linkageType: ''
    returnType: std::string
    signature: std::string SDDevice::relativeMrl( const std::string& absoluteMrl )
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:174,1
    - Dst: empty
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' relativeMrl'
    argTypes:
    - std::string
    assertStmts:
    - condition: ( m_mountpoints.empty() == false )
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: vlc::medialibrary::SDDevice::absoluteMrl
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached:
    - assert
    - empty
    linkageType: ''
    returnType: std::string
    signature: std::string SDDevice::absoluteMrl( const std::string& relativeMrl )
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: '& SDDevice::scheme() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & SDDevice::scheme() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' uuid'
    - scheme
    - removable
    - isNetwork
    argTypes:
    - std::string
    - std::string
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: vlc::medialibrary::SDDevice::SDDevice
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SDDevice::SDDevice(const std::string& uuid, std::string scheme,
      bool removable, bool isNetwork)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: '&

      SDDevice::uuid() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      SDDevice::uuid() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: vlc::medialibrary::SDDevice::isRemovable
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SDDevice::isRemovable() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: vlc::medialibrary::SDDevice::isPresent
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool SDDevice::isPresent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: vlc::medialibrary::SDDevice::isNetwork
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SDDevice::isNetwork() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:68,1
    - Dst: size
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:68,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: vlc::medialibrary::SDDevice::mountpoints
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - size
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> SDDevice::mountpoints() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::crbegin
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:78,1
    - Dst: std::find_if
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:80,1
    - Dst: cbegin
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:80,1
    - Dst: cend
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:80,1
    - Dst: cend
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:82,1
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:87,1
    - Dst: push_back
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:88,1
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - mrl
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 93
    functionName: vlc::medialibrary::SDDevice::addMountpoint
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - std::string::crbegin
    - std::find_if
    - std::move
    - cend
    - cbegin
    linkageType: ''
    returnType: void
    signature: void SDDevice::addMountpoint( std::string mrl )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crbegin
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:98,1
    - Dst: std::find_if
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:102,1
    - Dst: begin
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:102,1
    - Dst: end
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:102,1
    - Dst: end
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:104,1
    - Dst: erase
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' cmrl'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 106
    functionName: vlc::medialibrary::SDDevice::removeMountpoint
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached:
    - erase
    - crbegin
    - begin
    - std::find_if
    - end
    linkageType: ''
    returnType: void
    signature: void SDDevice::removeMountpoint( const std::string& cmrl )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc::url::url
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:111,1
    - Dst: make_tuple
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:118,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:123,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:125,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:130,1
    - Dst: strlen
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:131,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:138,1
    - Dst: vlc_uri_compose
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:149,1
    - Dst: free
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:153,1
    - Dst: make_tuple
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:154,1
    - Dst: make_tuple
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:158,1
    - Dst: make_tuple
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:160,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 31
    argCount: 1
    argNames:
    - ' mrl'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 161
    functionName: vlc::medialibrary::SDDevice::matchesMountpoint
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 2
    functionsReached:
    - make_tuple
    - strncasecmp
    - strlen
    - vlc_uri_compose
    - vlc::url::url
    - free
    - strcasecmp
    linkageType: ''
    returnType: std::tuple<bool, std::string>
    signature: std::tuple<bool, std::string> SDDevice::matchesMountpoint( const std::string&
      mrl ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc::medialibrary::SDDevice::matchesMountpoint
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:165,1
    - Dst: std::get<0>
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:166,1
    - Dst: std::get<1>
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:168,1
    - Dst: substr
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:169,1
    - Dst: length
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' absoluteMrl'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: vlc::medialibrary::SDDevice::relativeMrl
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached:
    - vlc::medialibrary::SDDevice::matchesMountpoint
    - length
    - std::get<0>
    - substr
    - std::get<1>
    linkageType: ''
    returnType: std::string
    signature: std::string SDDevice::relativeMrl( const std::string& absoluteMrl )
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:174,1
    - Dst: empty
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' relativeMrl'
    argTypes:
    - std::string
    assertStmts:
    - condition: ( m_mountpoints.empty() == false )
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: vlc::medialibrary::SDDevice::absoluteMrl
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached:
    - assert
    - empty
    linkageType: ''
    returnType: std::string
    signature: std::string SDDevice::absoluteMrl( const std::string& relativeMrl )
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: '& SDDevice::scheme() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & SDDevice::scheme() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' uuid'
    - scheme
    - removable
    - isNetwork
    argTypes:
    - std::string
    - std::string
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: vlc::medialibrary::SDDevice::SDDevice
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SDDevice::SDDevice(const std::string& uuid, std::string scheme,
      bool removable, bool isNetwork)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: '&

      SDDevice::uuid() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      SDDevice::uuid() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: vlc::medialibrary::SDDevice::isRemovable
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SDDevice::isRemovable() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: vlc::medialibrary::SDDevice::isPresent
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool SDDevice::isPresent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: vlc::medialibrary::SDDevice::isNetwork
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SDDevice::isNetwork() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:68,1
    - Dst: size
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:68,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: vlc::medialibrary::SDDevice::mountpoints
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - size
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> SDDevice::mountpoints() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::crbegin
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:78,1
    - Dst: std::find_if
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:80,1
    - Dst: cbegin
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:80,1
    - Dst: cend
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:80,1
    - Dst: cend
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:82,1
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:87,1
    - Dst: push_back
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:88,1
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - mrl
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 93
    functionName: vlc::medialibrary::SDDevice::addMountpoint
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - std::string::crbegin
    - std::find_if
    - std::move
    - cend
    - cbegin
    linkageType: ''
    returnType: void
    signature: void SDDevice::addMountpoint( std::string mrl )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crbegin
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:98,1
    - Dst: std::find_if
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:102,1
    - Dst: begin
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:102,1
    - Dst: end
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:102,1
    - Dst: end
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:104,1
    - Dst: erase
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' cmrl'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 106
    functionName: vlc::medialibrary::SDDevice::removeMountpoint
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached:
    - erase
    - crbegin
    - begin
    - std::find_if
    - end
    linkageType: ''
    returnType: void
    signature: void SDDevice::removeMountpoint( const std::string& cmrl )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc::url::url
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:111,1
    - Dst: make_tuple
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:118,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:123,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:125,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:130,1
    - Dst: strlen
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:131,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:138,1
    - Dst: vlc_uri_compose
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:149,1
    - Dst: free
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:153,1
    - Dst: make_tuple
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:154,1
    - Dst: make_tuple
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:158,1
    - Dst: make_tuple
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:160,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 31
    argCount: 1
    argNames:
    - ' mrl'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 161
    functionName: vlc::medialibrary::SDDevice::matchesMountpoint
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 3
    functionsReached:
    - make_tuple
    - strncasecmp
    - strlen
    - vlc_uri_compose
    - vlc::url::url
    - free
    - strcasecmp
    linkageType: ''
    returnType: std::tuple<bool, std::string>
    signature: std::tuple<bool, std::string> SDDevice::matchesMountpoint( const std::string&
      mrl ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc::medialibrary::SDDevice::matchesMountpoint
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:165,1
    - Dst: std::get<0>
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:166,1
    - Dst: std::get<1>
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:168,1
    - Dst: substr
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:169,1
    - Dst: length
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' absoluteMrl'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: vlc::medialibrary::SDDevice::relativeMrl
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached:
    - vlc::medialibrary::SDDevice::matchesMountpoint
    - length
    - std::get<0>
    - substr
    - std::get<1>
    linkageType: ''
    returnType: std::string
    signature: std::string SDDevice::relativeMrl( const std::string& absoluteMrl )
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:174,1
    - Dst: empty
      Src: /src/vlc/modules/misc/medialibrary/fs/device.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' relativeMrl'
    argTypes:
    - std::string
    assertStmts:
    - condition: ( m_mountpoints.empty() == false )
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: vlc::medialibrary::SDDevice::absoluteMrl
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached:
    - assert
    - empty
    linkageType: ''
    returnType: std::string
    signature: std::string SDDevice::absoluteMrl( const std::string& relativeMrl )
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: '& SDDevice::scheme() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & SDDevice::scheme() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:32,1
    - Dst: vlc::medialibrary::utils::fileName
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:33,1
    - Dst: vlc::medialibrary::utils::extension
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:34,1
    - Dst: find
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - mrl
    - size
    - lastModificationDate
    argTypes:
    - std::string
    - uint64_t
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: vlc::medialibrary::SDFile::SDFile
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - find
    - vlc::medialibrary::utils::fileName
    - vlc::medialibrary::utils::extension
    linkageType: ''
    returnType: void
    signature: void SDFile::SDFile( const std::string mrl, const uint64_t size, const
      time_t lastModificationDate )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:45,1
    - Dst: vlc::medialibrary::utils::fileName
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:46,1
    - Dst: vlc::medialibrary::utils::extension
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:47,1
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:48,1
    - Dst: find
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - mrl
    - fType
    - linkedFile
    - size
    - lastModificationDate
    argTypes:
    - std::string
    - LinkedFileType
    - std::string
    - uint64_t
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 54
    functionName: vlc::medialibrary::SDFile::SDFile
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - find
    - vlc::medialibrary::utils::fileName
    - vlc::medialibrary::utils::extension
    linkageType: ''
    returnType: void
    signature: "void SDFile::SDFile( const std::string mrl,\n                const
      LinkedFileType fType,\n                const std::string linkedFile,\n                const
      uint64_t size,\n                const time_t lastModificationDate )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: '&

      SDFile::mrl() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      SDFile::mrl() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: '&

      SDFile::name() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      SDFile::name() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: '&

      SDFile::extension() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      SDFile::extension() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: vlc::medialibrary::SDFile::lastModificationDate
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t SDFile::lastModificationDate() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: vlc::medialibrary::SDFile::isNetwork
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SDFile::isNetwork() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: vlc::medialibrary::SDFile::size
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SDFile::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: vlc::medialibrary::SDFile::linkedType
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IFile::LinkedFileType
    signature: IFile::LinkedFileType SDFile::linkedType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: '&SDFile::linkedWith() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &SDFile::linkedWith() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:32,1
    - Dst: vlc::medialibrary::utils::fileName
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:33,1
    - Dst: vlc::medialibrary::utils::extension
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:34,1
    - Dst: find
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - mrl
    - size
    - lastModificationDate
    argTypes:
    - std::string
    - uint64_t
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: vlc::medialibrary::SDFile::SDFile
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - find
    - vlc::medialibrary::utils::fileName
    - vlc::medialibrary::utils::extension
    linkageType: ''
    returnType: void
    signature: void SDFile::SDFile( const std::string mrl, const uint64_t size, const
      time_t lastModificationDate )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:45,1
    - Dst: vlc::medialibrary::utils::fileName
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:46,1
    - Dst: vlc::medialibrary::utils::extension
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:47,1
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:48,1
    - Dst: find
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - mrl
    - fType
    - linkedFile
    - size
    - lastModificationDate
    argTypes:
    - std::string
    - LinkedFileType
    - std::string
    - uint64_t
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 54
    functionName: vlc::medialibrary::SDFile::SDFile
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - find
    - vlc::medialibrary::utils::fileName
    - vlc::medialibrary::utils::extension
    linkageType: ''
    returnType: void
    signature: "void SDFile::SDFile( const std::string mrl,\n                const
      LinkedFileType fType,\n                const std::string linkedFile,\n                const
      uint64_t size,\n                const time_t lastModificationDate )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: '&

      SDFile::mrl() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      SDFile::mrl() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: '&

      SDFile::name() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      SDFile::name() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: '&

      SDFile::extension() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      SDFile::extension() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: vlc::medialibrary::SDFile::lastModificationDate
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t SDFile::lastModificationDate() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: vlc::medialibrary::SDFile::isNetwork
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SDFile::isNetwork() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: vlc::medialibrary::SDFile::size
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SDFile::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: vlc::medialibrary::SDFile::linkedType
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IFile::LinkedFileType
    signature: IFile::LinkedFileType SDFile::linkedType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: '&SDFile::linkedWith() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &SDFile::linkedWith() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:32,1
    - Dst: vlc::medialibrary::utils::fileName
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:33,1
    - Dst: vlc::medialibrary::utils::extension
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:34,1
    - Dst: find
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - mrl
    - size
    - lastModificationDate
    argTypes:
    - std::string
    - uint64_t
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: vlc::medialibrary::SDFile::SDFile
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - find
    - vlc::medialibrary::utils::fileName
    - vlc::medialibrary::utils::extension
    linkageType: ''
    returnType: void
    signature: void SDFile::SDFile( const std::string mrl, const uint64_t size, const
      time_t lastModificationDate )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:45,1
    - Dst: vlc::medialibrary::utils::fileName
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:46,1
    - Dst: vlc::medialibrary::utils::extension
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:47,1
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:48,1
    - Dst: find
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - mrl
    - fType
    - linkedFile
    - size
    - lastModificationDate
    argTypes:
    - std::string
    - LinkedFileType
    - std::string
    - uint64_t
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 54
    functionName: vlc::medialibrary::SDFile::SDFile
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - find
    - vlc::medialibrary::utils::fileName
    - vlc::medialibrary::utils::extension
    linkageType: ''
    returnType: void
    signature: "void SDFile::SDFile( const std::string mrl,\n                const
      LinkedFileType fType,\n                const std::string linkedFile,\n                const
      uint64_t size,\n                const time_t lastModificationDate )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: '&

      SDFile::mrl() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      SDFile::mrl() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: '&

      SDFile::name() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      SDFile::name() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: '&

      SDFile::extension() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      SDFile::extension() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: vlc::medialibrary::SDFile::lastModificationDate
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t SDFile::lastModificationDate() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: vlc::medialibrary::SDFile::isNetwork
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SDFile::isNetwork() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: vlc::medialibrary::SDFile::size
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SDFile::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: vlc::medialibrary::SDFile::linkedType
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IFile::LinkedFileType
    signature: IFile::LinkedFileType SDFile::linkedType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: '&SDFile::linkedWith() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &SDFile::linkedWith() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:32,1
    - Dst: vlc::medialibrary::utils::fileName
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:33,1
    - Dst: vlc::medialibrary::utils::extension
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:34,1
    - Dst: find
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - mrl
    - size
    - lastModificationDate
    argTypes:
    - std::string
    - uint64_t
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: vlc::medialibrary::SDFile::SDFile
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - find
    - vlc::medialibrary::utils::fileName
    - vlc::medialibrary::utils::extension
    linkageType: ''
    returnType: void
    signature: void SDFile::SDFile( const std::string mrl, const uint64_t size, const
      time_t lastModificationDate )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:45,1
    - Dst: vlc::medialibrary::utils::fileName
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:46,1
    - Dst: vlc::medialibrary::utils::extension
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:47,1
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:48,1
    - Dst: find
      Src: /src/vlc/modules/misc/medialibrary/fs/file.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - mrl
    - fType
    - linkedFile
    - size
    - lastModificationDate
    argTypes:
    - std::string
    - LinkedFileType
    - std::string
    - uint64_t
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 54
    functionName: vlc::medialibrary::SDFile::SDFile
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - find
    - vlc::medialibrary::utils::fileName
    - vlc::medialibrary::utils::extension
    linkageType: ''
    returnType: void
    signature: "void SDFile::SDFile( const std::string mrl,\n                const
      LinkedFileType fType,\n                const std::string linkedFile,\n                const
      uint64_t size,\n                const time_t lastModificationDate )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: '&

      SDFile::mrl() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      SDFile::mrl() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: '&

      SDFile::name() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      SDFile::name() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: '&

      SDFile::extension() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      SDFile::extension() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: vlc::medialibrary::SDFile::lastModificationDate
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t SDFile::lastModificationDate() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: vlc::medialibrary::SDFile::isNetwork
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SDFile::isNetwork() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: vlc::medialibrary::SDFile::size
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SDFile::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: vlc::medialibrary::SDFile::linkedType
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IFile::LinkedFileType
    signature: IFile::LinkedFileType SDFile::linkedType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: '&SDFile::linkedWith() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &SDFile::linkedWith() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:50,1
    - Dst: defined
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:51,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:58,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:58,1
    - Dst: length
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - parent
    - scheme
    argTypes:
    - vlc_object_t*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: vlc::medialibrary::SDFileSystemFactory::SDFileSystemFactory
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - strncasecmp
    - VLC_TICK_FROM_SEC
    - length
    - c_str
    - defined
    linkageType: ''
    returnType: void
    signature: "void SDFileSystemFactory::SDFileSystemFactory(vlc_object_t *parent,\n
      \                                        const std::string &scheme)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IMediaLibrary*::deviceLister
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ml
    argTypes:
    - IMediaLibrary*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: vlc::medialibrary::SDFileSystemFactory::initialize
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - IMediaLibrary*::deviceLister
    linkageType: ''
    returnType: bool
    signature: bool SDFileSystemFactory::initialize(const IMediaLibrary* ml)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SDDirectory>
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mrl
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: vlc::medialibrary::SDFileSystemFactory::createDirectory
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<SDDirectory>
    linkageType: ''
    returnType: std::shared_ptr<fs::IDirectory>
    signature: std::shared_ptr<fs::IDirectory> SDFileSystemFactory::createDirectory(const
      std::string &mrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::medialibrary::SDFileSystemFactory::createDirectory
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:77,1
    - Dst: vlc::medialibrary::utils::directory
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:77,1
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:78,1
    - Dst: auto::file
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' mrl'
    argTypes:
    - std::string
    assertStmts:
    - condition: (dir != nullptr)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: vlc::medialibrary::SDFileSystemFactory::createFile
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - vlc::medialibrary::SDFileSystemFactory::createDirectory
    - vlc::medialibrary::utils::directory
    - assert
    - auto::file
    linkageType: ''
    returnType: std::shared_ptr<fs::IFile>
    signature: std::shared_ptr<fs::IFile> SDFileSystemFactory::createFile(const std::string&
      mrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:87,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::isStarted
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:87,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::deviceByUuid
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - uuid
    argTypes:
    - std::string
    assertStmts:
    - condition: ( isStarted() == true )
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: vlc::medialibrary::SDFileSystemFactory::createDevice
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - vlc::medialibrary::SDFileSystemFactory::isStarted
    - vlc::medialibrary::SDFileSystemFactory::deviceByUuid
    - assert
    linkageType: ''
    returnType: std::shared_ptr<IDevice>
    signature: std::shared_ptr<IDevice> SDFileSystemFactory::createDevice(const std::string
      &uuid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:97,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::isStarted
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:97,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::deviceByMrl
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mrl
    argTypes:
    - std::string
    assertStmts:
    - condition: ( isStarted() == true )
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: vlc::medialibrary::SDFileSystemFactory::createDeviceFromMrl
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - vlc::medialibrary::SDFileSystemFactory::isStarted
    - assert
    - vlc::medialibrary::SDFileSystemFactory::deviceByMrl
    linkageType: ''
    returnType: std::shared_ptr<IDevice>
    signature: std::shared_ptr<IDevice> SDFileSystemFactory::createDeviceFromMrl(const
      std::string &mrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: refresh
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: vlc::medialibrary::SDFileSystemFactory::refreshDevices
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - refresh
    linkageType: ''
    returnType: void
    signature: void SDFileSystemFactory::refreshDevices()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::compare
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:110,1
    - Dst: length
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: vlc::medialibrary::SDFileSystemFactory::isMrlSupported
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - std::string::compare
    - length
    linkageType: ''
    returnType: bool
    signature: bool SDFileSystemFactory::isMrlSupported(const std::string &path) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: vlc::medialibrary::SDFileSystemFactory::isNetworkFileSystem
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SDFileSystemFactory::isNetworkFileSystem() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: '&

      SDFileSystemFactory::scheme() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      SDFileSystemFactory::scheme() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:128,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::isStarted
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:128,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::start
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - callbacks
    argTypes:
    - IFileSystemFactoryCb*
    assertStmts:
    - condition: ( isStarted() == false )
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: vlc::medialibrary::SDFileSystemFactory::start
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 1
    functionsReached:
    - vlc::medialibrary::SDFileSystemFactory::isStarted
    - assert
    - vlc::medialibrary::SDFileSystemFactory::start
    linkageType: ''
    returnType: bool
    signature: bool SDFileSystemFactory::start(IFileSystemFactoryCb *callbacks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:136,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::isStarted
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:136,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::stop
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( isStarted() == true )
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: vlc::medialibrary::SDFileSystemFactory::stop
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 1
    functionsReached:
    - vlc::medialibrary::SDFileSystemFactory::isStarted
    - vlc::medialibrary::SDFileSystemFactory::stop
    - assert
    linkageType: ''
    returnType: void
    signature: void SDFileSystemFactory::stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: vlc::medialibrary::SDFileSystemFactory::libvlc
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - vlc_object_instance
    linkageType: ''
    returnType: libvlc_int_t
    signature: 'libvlc_int_t *

      SDFileSystemFactory::libvlc() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: '&

      SDFileSystemFactory::getPreparser()'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LazyPreparser
    signature: 'LazyPreparser &

      SDFileSystemFactory::getPreparser()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:158,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:158,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:158,1
    - Dst: length
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:158,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::deviceByUuid
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:164,1
    - Dst: std::make_shared<SDDevice>
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:167,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::isNetworkFileSystem
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:168,1
    - Dst: push_back
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:169,1
    - Dst: std::shared_ptr::addMountpoint
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:171,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::onDeviceMounted
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ' uuid'
    - ' mountpoint'
    - removable
    argTypes:
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 174
    functionName: vlc::medialibrary::SDFileSystemFactory::onDeviceMounted
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 1
    functionsReached:
    - strncasecmp
    - push_back
    - length
    - vlc::medialibrary::SDFileSystemFactory::deviceByUuid
    - vlc::medialibrary::SDFileSystemFactory::onDeviceMounted
    - std::shared_ptr::addMountpoint
    - c_str
    - std::make_shared<SDDevice>
    - vlc::medialibrary::SDFileSystemFactory::isNetworkFileSystem
    linkageType: ''
    returnType: void
    signature: "void SDFileSystemFactory::onDeviceMounted(const std::string& uuid,\n
      \                                         const std::string& mountpoint,\n                                          bool
      removable)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:179,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:179,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:179,1
    - Dst: length
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:179,1
    - Dst: deviceByUuid
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:185,1
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:189,1
    - Dst: std::shared_ptr::removeMountpoint
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:192,1
    - Dst: onDeviceUnmounted
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' uuid'
    - ' mountpoint'
    argTypes:
    - std::string
    - std::string
    assertStmts:
    - condition: ( !"Unknown device was unmounted" )
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    constantsTouched: []
    func_position:
      end: 194
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 194
    functionName: "vlc::medialibrary::SDFileSystemFactory::onDeviceUnmounted(const
      std::string& uuid,\n                                                               const
      std::string& mountpoint)"
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - strncasecmp
    - assert
    - length
    - deviceByUuid
    - c_str
    - std::shared_ptr::removeMountpoint
    - onDeviceUnmounted
    linkageType: ''
    returnType: void
    signature: "void vlc::medialibrary::SDFileSystemFactory::onDeviceUnmounted(const
      std::string& uuid,\n                                                               const
      std::string& mountpoint)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:199,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:199,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::deviceByMrl
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:201,1
    - Dst: timedwait
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' mrl'
    - timeout
    argTypes:
    - std::string
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 207
    functionName: vlc::medialibrary::SDFileSystemFactory::waitForDevice
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - timedwait
    - vlc_tick_now
    - VLC_TICK_FROM_MS
    - vlc::medialibrary::SDFileSystemFactory::deviceByMrl
    linkageType: ''
    returnType: bool
    signature: "bool SDFileSystemFactory::waitForDevice(const std::string& mrl,\n
      \                                       uint32_t timeout) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:211,1
    - Dst: begin
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:211,1
    - Dst: end
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:211,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:213,1
    - Dst: uuid
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:213,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:213,1
    - Dst: end
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' uuid'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: vlc::medialibrary::SDFileSystemFactory::deviceByUuid
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 2
    functionsReached:
    - uuid
    - begin
    - std::find_if
    - strcasecmp
    - c_str
    - end
    linkageType: ''
    returnType: std::shared_ptr<IDevice>
    signature: std::shared_ptr<IDevice> SDFileSystemFactory::deviceByUuid(const std::string&
      uuid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: vlc::medialibrary::SDFileSystemFactory::isStarted
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SDFileSystemFactory::isStarted() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: matchesMountpoint
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:231,1
    - Dst: std::get<0>
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:232,1
    - Dst: std::get<1>
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:234,1
    - Dst: auto::length
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:235,1
    - Dst: std::string::length
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:235,1
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - ' mrl'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 242
    functionName: vlc::medialibrary::SDFileSystemFactory::deviceByMrl
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 2
    functionsReached:
    - auto::length
    - std::string::length
    - std::move
    - std::get<0>
    - std::get<1>
    - matchesMountpoint
    linkageType: ''
    returnType: std::shared_ptr<IDevice>
    signature: std::shared_ptr<IDevice> SDFileSystemFactory::deviceByMrl(const std::string&
      mrl) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:50,1
    - Dst: defined
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:51,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:58,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:58,1
    - Dst: length
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - parent
    - scheme
    argTypes:
    - vlc_object_t*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: vlc::medialibrary::SDFileSystemFactory::SDFileSystemFactory
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - strncasecmp
    - VLC_TICK_FROM_SEC
    - length
    - c_str
    - defined
    linkageType: ''
    returnType: void
    signature: "void SDFileSystemFactory::SDFileSystemFactory(vlc_object_t *parent,\n
      \                                        const std::string &scheme)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IMediaLibrary*::deviceLister
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ml
    argTypes:
    - IMediaLibrary*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: vlc::medialibrary::SDFileSystemFactory::initialize
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - IMediaLibrary*::deviceLister
    linkageType: ''
    returnType: bool
    signature: bool SDFileSystemFactory::initialize(const IMediaLibrary* ml)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SDDirectory>
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mrl
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: vlc::medialibrary::SDFileSystemFactory::createDirectory
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 1
    functionsReached:
    - std::make_shared<SDDirectory>
    linkageType: ''
    returnType: std::shared_ptr<fs::IDirectory>
    signature: std::shared_ptr<fs::IDirectory> SDFileSystemFactory::createDirectory(const
      std::string &mrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::medialibrary::SDFileSystemFactory::createDirectory
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:77,1
    - Dst: vlc::medialibrary::utils::directory
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:77,1
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:78,1
    - Dst: auto::file
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' mrl'
    argTypes:
    - std::string
    assertStmts:
    - condition: (dir != nullptr)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: vlc::medialibrary::SDFileSystemFactory::createFile
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - vlc::medialibrary::SDFileSystemFactory::createDirectory
    - vlc::medialibrary::utils::directory
    - assert
    - auto::file
    linkageType: ''
    returnType: std::shared_ptr<fs::IFile>
    signature: std::shared_ptr<fs::IFile> SDFileSystemFactory::createFile(const std::string&
      mrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:87,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::isStarted
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:87,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::deviceByUuid
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - uuid
    argTypes:
    - std::string
    assertStmts:
    - condition: ( isStarted() == true )
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: vlc::medialibrary::SDFileSystemFactory::createDevice
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - vlc::medialibrary::SDFileSystemFactory::isStarted
    - vlc::medialibrary::SDFileSystemFactory::deviceByUuid
    - assert
    linkageType: ''
    returnType: std::shared_ptr<IDevice>
    signature: std::shared_ptr<IDevice> SDFileSystemFactory::createDevice(const std::string
      &uuid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:97,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::isStarted
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:97,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::deviceByMrl
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mrl
    argTypes:
    - std::string
    assertStmts:
    - condition: ( isStarted() == true )
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: vlc::medialibrary::SDFileSystemFactory::createDeviceFromMrl
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - vlc::medialibrary::SDFileSystemFactory::isStarted
    - assert
    - vlc::medialibrary::SDFileSystemFactory::deviceByMrl
    linkageType: ''
    returnType: std::shared_ptr<IDevice>
    signature: std::shared_ptr<IDevice> SDFileSystemFactory::createDeviceFromMrl(const
      std::string &mrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: refresh
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: vlc::medialibrary::SDFileSystemFactory::refreshDevices
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - refresh
    linkageType: ''
    returnType: void
    signature: void SDFileSystemFactory::refreshDevices()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::compare
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:110,1
    - Dst: length
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: vlc::medialibrary::SDFileSystemFactory::isMrlSupported
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - std::string::compare
    - length
    linkageType: ''
    returnType: bool
    signature: bool SDFileSystemFactory::isMrlSupported(const std::string &path) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: vlc::medialibrary::SDFileSystemFactory::isNetworkFileSystem
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SDFileSystemFactory::isNetworkFileSystem() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: '&

      SDFileSystemFactory::scheme() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      SDFileSystemFactory::scheme() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:128,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::isStarted
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:128,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::start
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - callbacks
    argTypes:
    - IFileSystemFactoryCb*
    assertStmts:
    - condition: ( isStarted() == false )
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: vlc::medialibrary::SDFileSystemFactory::start
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 2
    functionsReached:
    - vlc::medialibrary::SDFileSystemFactory::isStarted
    - assert
    - vlc::medialibrary::SDFileSystemFactory::start
    linkageType: ''
    returnType: bool
    signature: bool SDFileSystemFactory::start(IFileSystemFactoryCb *callbacks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:136,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::isStarted
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:136,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::stop
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( isStarted() == true )
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: vlc::medialibrary::SDFileSystemFactory::stop
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 2
    functionsReached:
    - vlc::medialibrary::SDFileSystemFactory::isStarted
    - vlc::medialibrary::SDFileSystemFactory::stop
    - assert
    linkageType: ''
    returnType: void
    signature: void SDFileSystemFactory::stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: vlc::medialibrary::SDFileSystemFactory::libvlc
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - vlc_object_instance
    linkageType: ''
    returnType: libvlc_int_t
    signature: 'libvlc_int_t *

      SDFileSystemFactory::libvlc() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: '&

      SDFileSystemFactory::getPreparser()'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LazyPreparser
    signature: 'LazyPreparser &

      SDFileSystemFactory::getPreparser()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:158,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:158,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:158,1
    - Dst: length
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:158,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::deviceByUuid
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:164,1
    - Dst: std::make_shared<SDDevice>
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:167,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::isNetworkFileSystem
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:168,1
    - Dst: push_back
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:169,1
    - Dst: std::shared_ptr::addMountpoint
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:171,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::onDeviceMounted
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ' uuid'
    - ' mountpoint'
    - removable
    argTypes:
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 174
    functionName: vlc::medialibrary::SDFileSystemFactory::onDeviceMounted
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 2
    functionsReached:
    - strncasecmp
    - push_back
    - length
    - vlc::medialibrary::SDFileSystemFactory::deviceByUuid
    - vlc::medialibrary::SDFileSystemFactory::onDeviceMounted
    - std::shared_ptr::addMountpoint
    - c_str
    - std::make_shared<SDDevice>
    - vlc::medialibrary::SDFileSystemFactory::isNetworkFileSystem
    linkageType: ''
    returnType: void
    signature: "void SDFileSystemFactory::onDeviceMounted(const std::string& uuid,\n
      \                                         const std::string& mountpoint,\n                                          bool
      removable)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:179,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:179,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:179,1
    - Dst: length
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:179,1
    - Dst: deviceByUuid
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:185,1
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:189,1
    - Dst: std::shared_ptr::removeMountpoint
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:192,1
    - Dst: onDeviceUnmounted
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' uuid'
    - ' mountpoint'
    argTypes:
    - std::string
    - std::string
    assertStmts:
    - condition: ( !"Unknown device was unmounted" )
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    constantsTouched: []
    func_position:
      end: 194
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 194
    functionName: "vlc::medialibrary::SDFileSystemFactory::onDeviceUnmounted(const
      std::string& uuid,\n                                                               const
      std::string& mountpoint)"
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - strncasecmp
    - assert
    - length
    - deviceByUuid
    - c_str
    - std::shared_ptr::removeMountpoint
    - onDeviceUnmounted
    linkageType: ''
    returnType: void
    signature: "void vlc::medialibrary::SDFileSystemFactory::onDeviceUnmounted(const
      std::string& uuid,\n                                                               const
      std::string& mountpoint)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:199,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:199,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::deviceByMrl
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:201,1
    - Dst: timedwait
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' mrl'
    - timeout
    argTypes:
    - std::string
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 207
    functionName: vlc::medialibrary::SDFileSystemFactory::waitForDevice
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - timedwait
    - vlc_tick_now
    - VLC_TICK_FROM_MS
    - vlc::medialibrary::SDFileSystemFactory::deviceByMrl
    linkageType: ''
    returnType: bool
    signature: "bool SDFileSystemFactory::waitForDevice(const std::string& mrl,\n
      \                                       uint32_t timeout) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:211,1
    - Dst: begin
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:211,1
    - Dst: end
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:211,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:213,1
    - Dst: uuid
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:213,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:213,1
    - Dst: end
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' uuid'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: vlc::medialibrary::SDFileSystemFactory::deviceByUuid
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 4
    functionsReached:
    - uuid
    - begin
    - std::find_if
    - strcasecmp
    - c_str
    - end
    linkageType: ''
    returnType: std::shared_ptr<IDevice>
    signature: std::shared_ptr<IDevice> SDFileSystemFactory::deviceByUuid(const std::string&
      uuid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: vlc::medialibrary::SDFileSystemFactory::isStarted
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SDFileSystemFactory::isStarted() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: matchesMountpoint
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:231,1
    - Dst: std::get<0>
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:232,1
    - Dst: std::get<1>
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:234,1
    - Dst: auto::length
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:235,1
    - Dst: std::string::length
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:235,1
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - ' mrl'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 242
    functionName: vlc::medialibrary::SDFileSystemFactory::deviceByMrl
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 4
    functionsReached:
    - auto::length
    - std::string::length
    - std::move
    - std::get<0>
    - std::get<1>
    - matchesMountpoint
    linkageType: ''
    returnType: std::shared_ptr<IDevice>
    signature: std::shared_ptr<IDevice> SDFileSystemFactory::deviceByMrl(const std::string&
      mrl) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:50,1
    - Dst: defined
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:51,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:58,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:58,1
    - Dst: length
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - parent
    - scheme
    argTypes:
    - vlc_object_t*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: vlc::medialibrary::SDFileSystemFactory::SDFileSystemFactory
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - strncasecmp
    - VLC_TICK_FROM_SEC
    - length
    - c_str
    - defined
    linkageType: ''
    returnType: void
    signature: "void SDFileSystemFactory::SDFileSystemFactory(vlc_object_t *parent,\n
      \                                        const std::string &scheme)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IMediaLibrary*::deviceLister
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ml
    argTypes:
    - IMediaLibrary*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: vlc::medialibrary::SDFileSystemFactory::initialize
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - IMediaLibrary*::deviceLister
    linkageType: ''
    returnType: bool
    signature: bool SDFileSystemFactory::initialize(const IMediaLibrary* ml)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SDDirectory>
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mrl
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: vlc::medialibrary::SDFileSystemFactory::createDirectory
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 2
    functionsReached:
    - std::make_shared<SDDirectory>
    linkageType: ''
    returnType: std::shared_ptr<fs::IDirectory>
    signature: std::shared_ptr<fs::IDirectory> SDFileSystemFactory::createDirectory(const
      std::string &mrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::medialibrary::SDFileSystemFactory::createDirectory
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:77,1
    - Dst: vlc::medialibrary::utils::directory
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:77,1
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:78,1
    - Dst: auto::file
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' mrl'
    argTypes:
    - std::string
    assertStmts:
    - condition: (dir != nullptr)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: vlc::medialibrary::SDFileSystemFactory::createFile
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - vlc::medialibrary::SDFileSystemFactory::createDirectory
    - vlc::medialibrary::utils::directory
    - assert
    - auto::file
    linkageType: ''
    returnType: std::shared_ptr<fs::IFile>
    signature: std::shared_ptr<fs::IFile> SDFileSystemFactory::createFile(const std::string&
      mrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:87,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::isStarted
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:87,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::deviceByUuid
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - uuid
    argTypes:
    - std::string
    assertStmts:
    - condition: ( isStarted() == true )
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: vlc::medialibrary::SDFileSystemFactory::createDevice
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - vlc::medialibrary::SDFileSystemFactory::isStarted
    - vlc::medialibrary::SDFileSystemFactory::deviceByUuid
    - assert
    linkageType: ''
    returnType: std::shared_ptr<IDevice>
    signature: std::shared_ptr<IDevice> SDFileSystemFactory::createDevice(const std::string
      &uuid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:97,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::isStarted
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:97,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::deviceByMrl
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mrl
    argTypes:
    - std::string
    assertStmts:
    - condition: ( isStarted() == true )
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: vlc::medialibrary::SDFileSystemFactory::createDeviceFromMrl
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - vlc::medialibrary::SDFileSystemFactory::isStarted
    - assert
    - vlc::medialibrary::SDFileSystemFactory::deviceByMrl
    linkageType: ''
    returnType: std::shared_ptr<IDevice>
    signature: std::shared_ptr<IDevice> SDFileSystemFactory::createDeviceFromMrl(const
      std::string &mrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: refresh
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: vlc::medialibrary::SDFileSystemFactory::refreshDevices
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - refresh
    linkageType: ''
    returnType: void
    signature: void SDFileSystemFactory::refreshDevices()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::compare
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:110,1
    - Dst: length
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: vlc::medialibrary::SDFileSystemFactory::isMrlSupported
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - std::string::compare
    - length
    linkageType: ''
    returnType: bool
    signature: bool SDFileSystemFactory::isMrlSupported(const std::string &path) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: vlc::medialibrary::SDFileSystemFactory::isNetworkFileSystem
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SDFileSystemFactory::isNetworkFileSystem() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: '&

      SDFileSystemFactory::scheme() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      SDFileSystemFactory::scheme() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:128,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::isStarted
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:128,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::start
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - callbacks
    argTypes:
    - IFileSystemFactoryCb*
    assertStmts:
    - condition: ( isStarted() == false )
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: vlc::medialibrary::SDFileSystemFactory::start
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 3
    functionsReached:
    - vlc::medialibrary::SDFileSystemFactory::isStarted
    - assert
    - vlc::medialibrary::SDFileSystemFactory::start
    linkageType: ''
    returnType: bool
    signature: bool SDFileSystemFactory::start(IFileSystemFactoryCb *callbacks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:136,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::isStarted
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:136,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::stop
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( isStarted() == true )
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: vlc::medialibrary::SDFileSystemFactory::stop
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 3
    functionsReached:
    - vlc::medialibrary::SDFileSystemFactory::isStarted
    - vlc::medialibrary::SDFileSystemFactory::stop
    - assert
    linkageType: ''
    returnType: void
    signature: void SDFileSystemFactory::stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: vlc::medialibrary::SDFileSystemFactory::libvlc
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - vlc_object_instance
    linkageType: ''
    returnType: libvlc_int_t
    signature: 'libvlc_int_t *

      SDFileSystemFactory::libvlc() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: '&

      SDFileSystemFactory::getPreparser()'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LazyPreparser
    signature: 'LazyPreparser &

      SDFileSystemFactory::getPreparser()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:158,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:158,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:158,1
    - Dst: length
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:158,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::deviceByUuid
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:164,1
    - Dst: std::make_shared<SDDevice>
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:167,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::isNetworkFileSystem
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:168,1
    - Dst: push_back
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:169,1
    - Dst: std::shared_ptr::addMountpoint
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:171,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::onDeviceMounted
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ' uuid'
    - ' mountpoint'
    - removable
    argTypes:
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 174
    functionName: vlc::medialibrary::SDFileSystemFactory::onDeviceMounted
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 3
    functionsReached:
    - strncasecmp
    - push_back
    - length
    - vlc::medialibrary::SDFileSystemFactory::deviceByUuid
    - vlc::medialibrary::SDFileSystemFactory::onDeviceMounted
    - std::shared_ptr::addMountpoint
    - c_str
    - std::make_shared<SDDevice>
    - vlc::medialibrary::SDFileSystemFactory::isNetworkFileSystem
    linkageType: ''
    returnType: void
    signature: "void SDFileSystemFactory::onDeviceMounted(const std::string& uuid,\n
      \                                         const std::string& mountpoint,\n                                          bool
      removable)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:179,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:179,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:179,1
    - Dst: length
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:179,1
    - Dst: deviceByUuid
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:185,1
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:189,1
    - Dst: std::shared_ptr::removeMountpoint
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:192,1
    - Dst: onDeviceUnmounted
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' uuid'
    - ' mountpoint'
    argTypes:
    - std::string
    - std::string
    assertStmts:
    - condition: ( !"Unknown device was unmounted" )
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    constantsTouched: []
    func_position:
      end: 194
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 194
    functionName: "vlc::medialibrary::SDFileSystemFactory::onDeviceUnmounted(const
      std::string& uuid,\n                                                               const
      std::string& mountpoint)"
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - strncasecmp
    - assert
    - length
    - deviceByUuid
    - c_str
    - std::shared_ptr::removeMountpoint
    - onDeviceUnmounted
    linkageType: ''
    returnType: void
    signature: "void vlc::medialibrary::SDFileSystemFactory::onDeviceUnmounted(const
      std::string& uuid,\n                                                               const
      std::string& mountpoint)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:199,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:199,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::deviceByMrl
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:201,1
    - Dst: timedwait
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' mrl'
    - timeout
    argTypes:
    - std::string
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 207
    functionName: vlc::medialibrary::SDFileSystemFactory::waitForDevice
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - timedwait
    - vlc_tick_now
    - VLC_TICK_FROM_MS
    - vlc::medialibrary::SDFileSystemFactory::deviceByMrl
    linkageType: ''
    returnType: bool
    signature: "bool SDFileSystemFactory::waitForDevice(const std::string& mrl,\n
      \                                       uint32_t timeout) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:211,1
    - Dst: begin
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:211,1
    - Dst: end
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:211,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:213,1
    - Dst: uuid
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:213,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:213,1
    - Dst: end
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' uuid'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: vlc::medialibrary::SDFileSystemFactory::deviceByUuid
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 6
    functionsReached:
    - uuid
    - begin
    - std::find_if
    - strcasecmp
    - c_str
    - end
    linkageType: ''
    returnType: std::shared_ptr<IDevice>
    signature: std::shared_ptr<IDevice> SDFileSystemFactory::deviceByUuid(const std::string&
      uuid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: vlc::medialibrary::SDFileSystemFactory::isStarted
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SDFileSystemFactory::isStarted() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: matchesMountpoint
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:231,1
    - Dst: std::get<0>
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:232,1
    - Dst: std::get<1>
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:234,1
    - Dst: auto::length
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:235,1
    - Dst: std::string::length
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:235,1
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - ' mrl'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 242
    functionName: vlc::medialibrary::SDFileSystemFactory::deviceByMrl
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 6
    functionsReached:
    - auto::length
    - std::string::length
    - std::move
    - std::get<0>
    - std::get<1>
    - matchesMountpoint
    linkageType: ''
    returnType: std::shared_ptr<IDevice>
    signature: std::shared_ptr<IDevice> SDFileSystemFactory::deviceByMrl(const std::string&
      mrl) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:50,1
    - Dst: defined
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:51,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:58,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:58,1
    - Dst: length
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - parent
    - scheme
    argTypes:
    - vlc_object_t*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: vlc::medialibrary::SDFileSystemFactory::SDFileSystemFactory
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - strncasecmp
    - VLC_TICK_FROM_SEC
    - length
    - c_str
    - defined
    linkageType: ''
    returnType: void
    signature: "void SDFileSystemFactory::SDFileSystemFactory(vlc_object_t *parent,\n
      \                                        const std::string &scheme)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IMediaLibrary*::deviceLister
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ml
    argTypes:
    - IMediaLibrary*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: vlc::medialibrary::SDFileSystemFactory::initialize
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - IMediaLibrary*::deviceLister
    linkageType: ''
    returnType: bool
    signature: bool SDFileSystemFactory::initialize(const IMediaLibrary* ml)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SDDirectory>
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mrl
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: vlc::medialibrary::SDFileSystemFactory::createDirectory
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 3
    functionsReached:
    - std::make_shared<SDDirectory>
    linkageType: ''
    returnType: std::shared_ptr<fs::IDirectory>
    signature: std::shared_ptr<fs::IDirectory> SDFileSystemFactory::createDirectory(const
      std::string &mrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::medialibrary::SDFileSystemFactory::createDirectory
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:77,1
    - Dst: vlc::medialibrary::utils::directory
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:77,1
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:78,1
    - Dst: auto::file
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' mrl'
    argTypes:
    - std::string
    assertStmts:
    - condition: (dir != nullptr)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: vlc::medialibrary::SDFileSystemFactory::createFile
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - vlc::medialibrary::SDFileSystemFactory::createDirectory
    - vlc::medialibrary::utils::directory
    - assert
    - auto::file
    linkageType: ''
    returnType: std::shared_ptr<fs::IFile>
    signature: std::shared_ptr<fs::IFile> SDFileSystemFactory::createFile(const std::string&
      mrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:87,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::isStarted
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:87,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::deviceByUuid
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - uuid
    argTypes:
    - std::string
    assertStmts:
    - condition: ( isStarted() == true )
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: vlc::medialibrary::SDFileSystemFactory::createDevice
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - vlc::medialibrary::SDFileSystemFactory::isStarted
    - vlc::medialibrary::SDFileSystemFactory::deviceByUuid
    - assert
    linkageType: ''
    returnType: std::shared_ptr<IDevice>
    signature: std::shared_ptr<IDevice> SDFileSystemFactory::createDevice(const std::string
      &uuid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:97,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::isStarted
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:97,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::deviceByMrl
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mrl
    argTypes:
    - std::string
    assertStmts:
    - condition: ( isStarted() == true )
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: vlc::medialibrary::SDFileSystemFactory::createDeviceFromMrl
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - vlc::medialibrary::SDFileSystemFactory::isStarted
    - assert
    - vlc::medialibrary::SDFileSystemFactory::deviceByMrl
    linkageType: ''
    returnType: std::shared_ptr<IDevice>
    signature: std::shared_ptr<IDevice> SDFileSystemFactory::createDeviceFromMrl(const
      std::string &mrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: refresh
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: vlc::medialibrary::SDFileSystemFactory::refreshDevices
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - refresh
    linkageType: ''
    returnType: void
    signature: void SDFileSystemFactory::refreshDevices()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::compare
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:110,1
    - Dst: length
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: vlc::medialibrary::SDFileSystemFactory::isMrlSupported
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - std::string::compare
    - length
    linkageType: ''
    returnType: bool
    signature: bool SDFileSystemFactory::isMrlSupported(const std::string &path) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: vlc::medialibrary::SDFileSystemFactory::isNetworkFileSystem
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SDFileSystemFactory::isNetworkFileSystem() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: '&

      SDFileSystemFactory::scheme() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      SDFileSystemFactory::scheme() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:128,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::isStarted
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:128,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::start
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - callbacks
    argTypes:
    - IFileSystemFactoryCb*
    assertStmts:
    - condition: ( isStarted() == false )
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: vlc::medialibrary::SDFileSystemFactory::start
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 4
    functionsReached:
    - vlc::medialibrary::SDFileSystemFactory::isStarted
    - assert
    - vlc::medialibrary::SDFileSystemFactory::start
    linkageType: ''
    returnType: bool
    signature: bool SDFileSystemFactory::start(IFileSystemFactoryCb *callbacks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:136,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::isStarted
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:136,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::stop
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( isStarted() == true )
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: vlc::medialibrary::SDFileSystemFactory::stop
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 4
    functionsReached:
    - vlc::medialibrary::SDFileSystemFactory::isStarted
    - vlc::medialibrary::SDFileSystemFactory::stop
    - assert
    linkageType: ''
    returnType: void
    signature: void SDFileSystemFactory::stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: vlc::medialibrary::SDFileSystemFactory::libvlc
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - vlc_object_instance
    linkageType: ''
    returnType: libvlc_int_t
    signature: 'libvlc_int_t *

      SDFileSystemFactory::libvlc() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: '&

      SDFileSystemFactory::getPreparser()'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LazyPreparser
    signature: 'LazyPreparser &

      SDFileSystemFactory::getPreparser()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:158,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:158,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:158,1
    - Dst: length
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:158,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::deviceByUuid
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:164,1
    - Dst: std::make_shared<SDDevice>
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:167,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::isNetworkFileSystem
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:168,1
    - Dst: push_back
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:169,1
    - Dst: std::shared_ptr::addMountpoint
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:171,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::onDeviceMounted
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ' uuid'
    - ' mountpoint'
    - removable
    argTypes:
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 174
    functionName: vlc::medialibrary::SDFileSystemFactory::onDeviceMounted
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 4
    functionsReached:
    - strncasecmp
    - push_back
    - length
    - vlc::medialibrary::SDFileSystemFactory::deviceByUuid
    - vlc::medialibrary::SDFileSystemFactory::onDeviceMounted
    - std::shared_ptr::addMountpoint
    - c_str
    - std::make_shared<SDDevice>
    - vlc::medialibrary::SDFileSystemFactory::isNetworkFileSystem
    linkageType: ''
    returnType: void
    signature: "void SDFileSystemFactory::onDeviceMounted(const std::string& uuid,\n
      \                                         const std::string& mountpoint,\n                                          bool
      removable)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:179,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:179,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:179,1
    - Dst: length
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:179,1
    - Dst: deviceByUuid
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:185,1
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:189,1
    - Dst: std::shared_ptr::removeMountpoint
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:192,1
    - Dst: onDeviceUnmounted
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' uuid'
    - ' mountpoint'
    argTypes:
    - std::string
    - std::string
    assertStmts:
    - condition: ( !"Unknown device was unmounted" )
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    constantsTouched: []
    func_position:
      end: 194
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 194
    functionName: "vlc::medialibrary::SDFileSystemFactory::onDeviceUnmounted(const
      std::string& uuid,\n                                                               const
      std::string& mountpoint)"
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - strncasecmp
    - assert
    - length
    - deviceByUuid
    - c_str
    - std::shared_ptr::removeMountpoint
    - onDeviceUnmounted
    linkageType: ''
    returnType: void
    signature: "void vlc::medialibrary::SDFileSystemFactory::onDeviceUnmounted(const
      std::string& uuid,\n                                                               const
      std::string& mountpoint)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:199,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:199,1
    - Dst: vlc::medialibrary::SDFileSystemFactory::deviceByMrl
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:201,1
    - Dst: timedwait
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' mrl'
    - timeout
    argTypes:
    - std::string
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 207
    functionName: vlc::medialibrary::SDFileSystemFactory::waitForDevice
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 0
    functionsReached:
    - timedwait
    - vlc_tick_now
    - VLC_TICK_FROM_MS
    - vlc::medialibrary::SDFileSystemFactory::deviceByMrl
    linkageType: ''
    returnType: bool
    signature: "bool SDFileSystemFactory::waitForDevice(const std::string& mrl,\n
      \                                       uint32_t timeout) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:211,1
    - Dst: begin
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:211,1
    - Dst: end
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:211,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:213,1
    - Dst: uuid
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:213,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:213,1
    - Dst: end
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' uuid'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: vlc::medialibrary::SDFileSystemFactory::deviceByUuid
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 8
    functionsReached:
    - uuid
    - begin
    - std::find_if
    - strcasecmp
    - c_str
    - end
    linkageType: ''
    returnType: std::shared_ptr<IDevice>
    signature: std::shared_ptr<IDevice> SDFileSystemFactory::deviceByUuid(const std::string&
      uuid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: vlc::medialibrary::SDFileSystemFactory::isStarted
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SDFileSystemFactory::isStarted() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: matchesMountpoint
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:231,1
    - Dst: std::get<0>
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:232,1
    - Dst: std::get<1>
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:234,1
    - Dst: auto::length
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:235,1
    - Dst: std::string::length
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:235,1
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/fs.cpp:238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - ' mrl'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 242
    functionName: vlc::medialibrary::SDFileSystemFactory::deviceByMrl
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/fs.cpp
    functionUses: 8
    functionsReached:
    - auto::length
    - std::string::length
    - std::move
    - std::get<0>
    - std::get<1>
    - matchesMountpoint
    linkageType: ''
    returnType: std::shared_ptr<IDevice>
    signature: std::shared_ptr<IDevice> SDFileSystemFactory::deviceByMrl(const std::string&
      mrl) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: vlc::medialibrary::DeviceLister::DeviceLister
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceLister::DeviceLister( vlc_object_t* parent )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: vlc::medialibrary::DeviceLister::refresh
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceLister::refresh()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_media_source_provider_Get
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:53,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:53,1
    - Dst: vlc_media_source_provider_List
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:59,1
    - Dst: SourceMetaPtr::get
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:63,1
    - Dst: vlc_media_source_meta_list_Count
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:68,1
    - Dst: SourceMetaPtr::get
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:68,1
    - Dst: vlc_media_source_meta_list_Get
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:72,1
    - Dst: SourceMetaPtr::get
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:72,1
    - Dst: vlc_media_source_provider_GetMediaSource
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:73,1
    - Dst: vlc_media_tree_AddListener
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:84,1
    - Dst: push_back
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:85,1
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:85,1
    - Dst: empty
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - cb
    argTypes:
    - ml::IDeviceListerCb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 88
    functionName: vlc::medialibrary::DeviceLister::start
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - vlc_media_source_provider_Get
    - push_back
    - vlc_object_instance
    - SourceMetaPtr::get
    - std::move
    - vlc_media_tree_AddListener
    - vlc_media_source_provider_List
    - empty
    - vlc_media_source_meta_list_Get
    - vlc_media_source_provider_GetMediaSource
    - vlc_media_source_meta_list_Count
    linkageType: ''
    returnType: bool
    signature: bool DeviceLister::start( ml::IDeviceListerCb* cb )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: vlc::medialibrary::DeviceLister::stop
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void DeviceLister::stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<DeviceLister*>
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:101,1
    - Dst: auto::onChildrenReset
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tree
    - node
    - data
    argTypes:
    - vlc_media_tree_t*
    - input_item_node_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: vlc::medialibrary::DeviceLister::onChildrenReset
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - auto::onChildrenReset
    - static_cast<DeviceLister*>
    linkageType: ''
    returnType: void
    signature: "void DeviceLister::onChildrenReset( vlc_media_tree_t* tree, input_item_node_t*
      node,\n                                    void* data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<DeviceLister*>
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:109,1
    - Dst: auto::onChildrenAdded
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - tree
    - node
    - children
    - count
    - data
    argTypes:
    - vlc_media_tree_t*
    - input_item_node_t*
    - input_item_node_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: vlc::medialibrary::DeviceLister::onChildrenAdded
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - static_cast<DeviceLister*>
    - auto::onChildrenAdded
    linkageType: ''
    returnType: void
    signature: "void DeviceLister::onChildrenAdded( vlc_media_tree_t* tree, input_item_node_t*
      node,\n                                    input_item_node_t* const children[],
      size_t count,\n                                    void* data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<DeviceLister*>
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:117,1
    - Dst: auto::onChildrenRemoved
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - tree
    - node
    - children
    - count
    - data
    argTypes:
    - vlc_media_tree_t*
    - input_item_node_t*
    - input_item_node_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: vlc::medialibrary::DeviceLister::onChildrenRemoved
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - static_cast<DeviceLister*>
    - auto::onChildrenRemoved
    linkageType: ''
    returnType: void
    signature: "void DeviceLister::onChildrenRemoved( vlc_media_tree_t* tree, input_item_node_t*
      node,\n                                      input_item_node_t* const children[],
      size_t count,\n                                      void* data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: onDeviceMounted
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tree
    argTypes:
    - vlc_media_tree_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: vlc::medialibrary::DeviceLister::onChildrenReset
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - onDeviceMounted
    linkageType: ''
    returnType: void
    signature: void DeviceLister::onChildrenReset( vlc_media_tree_t* tree, input_item_node_t*
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: onDeviceMounted
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - children
    - count
    argTypes:
    - input_item_node_t*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: vlc::medialibrary::DeviceLister::onChildrenAdded
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - onDeviceMounted
    linkageType: ''
    returnType: void
    signature: "void DeviceLister::onChildrenAdded( vlc_media_tree_t*, input_item_node_t*,\n
      \                                   input_item_node_t* const children[], size_t
      count )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: onDeviceUnmounted
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - children
    - count
    argTypes:
    - input_item_node_t*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: vlc::medialibrary::DeviceLister::onChildrenRemoved
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - onDeviceUnmounted
    linkageType: ''
    returnType: void
    signature: "void DeviceLister::onChildrenRemoved(vlc_media_tree_t*, input_item_node_t*,\n
      \                                    input_item_node_t* const children[], size_t
      count )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ms
    argTypes:
    - vlc_media_source_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: DeviceLister::MediaSource::MediaSource( vlc_media_source_t *ms )
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceLister::MediaSource::MediaSource( vlc_media_source_t *ms
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_media_tree_RemoveListener
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:159,1
    - Dst: vlc_media_source_Release
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: DeviceLister::MediaSource::~MediaSource()
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - vlc_media_tree_RemoveListener
    - vlc_media_source_Release
    linkageType: ''
    returnType: void
    signature: void DeviceLister::MediaSource::~MediaSource()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - DeviceLister::MediaSource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: DeviceLister::MediaSource::MediaSource( DeviceLister::MediaSource&&
      rhs ) noexcept
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceLister::MediaSource::MediaSource( DeviceLister::MediaSource&&
      rhs ) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - DeviceLister::MediaSource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: '&

      DeviceLister::MediaSource::operator=( DeviceLister::MediaSource&& rhs ) noexcept'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DeviceLister::MediaSource
    signature: 'DeviceLister::MediaSource &

      DeviceLister::MediaSource::operator=( DeviceLister::MediaSource&& rhs ) noexcept'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: vlc::medialibrary::DeviceLister::DeviceLister
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceLister::DeviceLister( vlc_object_t* parent )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: vlc::medialibrary::DeviceLister::refresh
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceLister::refresh()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_media_source_provider_Get
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:53,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:53,1
    - Dst: vlc_media_source_provider_List
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:59,1
    - Dst: SourceMetaPtr::get
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:63,1
    - Dst: vlc_media_source_meta_list_Count
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:68,1
    - Dst: SourceMetaPtr::get
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:68,1
    - Dst: vlc_media_source_meta_list_Get
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:72,1
    - Dst: SourceMetaPtr::get
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:72,1
    - Dst: vlc_media_source_provider_GetMediaSource
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:73,1
    - Dst: vlc_media_tree_AddListener
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:84,1
    - Dst: push_back
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:85,1
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:85,1
    - Dst: empty
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - cb
    argTypes:
    - ml::IDeviceListerCb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 88
    functionName: vlc::medialibrary::DeviceLister::start
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - vlc_media_source_provider_Get
    - push_back
    - vlc_object_instance
    - SourceMetaPtr::get
    - std::move
    - vlc_media_tree_AddListener
    - vlc_media_source_provider_List
    - empty
    - vlc_media_source_meta_list_Get
    - vlc_media_source_provider_GetMediaSource
    - vlc_media_source_meta_list_Count
    linkageType: ''
    returnType: bool
    signature: bool DeviceLister::start( ml::IDeviceListerCb* cb )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: vlc::medialibrary::DeviceLister::stop
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void DeviceLister::stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<DeviceLister*>
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:101,1
    - Dst: auto::onChildrenReset
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tree
    - node
    - data
    argTypes:
    - vlc_media_tree_t*
    - input_item_node_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: vlc::medialibrary::DeviceLister::onChildrenReset
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - auto::onChildrenReset
    - static_cast<DeviceLister*>
    linkageType: ''
    returnType: void
    signature: "void DeviceLister::onChildrenReset( vlc_media_tree_t* tree, input_item_node_t*
      node,\n                                    void* data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<DeviceLister*>
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:109,1
    - Dst: auto::onChildrenAdded
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - tree
    - node
    - children
    - count
    - data
    argTypes:
    - vlc_media_tree_t*
    - input_item_node_t*
    - input_item_node_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: vlc::medialibrary::DeviceLister::onChildrenAdded
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - static_cast<DeviceLister*>
    - auto::onChildrenAdded
    linkageType: ''
    returnType: void
    signature: "void DeviceLister::onChildrenAdded( vlc_media_tree_t* tree, input_item_node_t*
      node,\n                                    input_item_node_t* const children[],
      size_t count,\n                                    void* data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<DeviceLister*>
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:117,1
    - Dst: auto::onChildrenRemoved
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - tree
    - node
    - children
    - count
    - data
    argTypes:
    - vlc_media_tree_t*
    - input_item_node_t*
    - input_item_node_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: vlc::medialibrary::DeviceLister::onChildrenRemoved
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - static_cast<DeviceLister*>
    - auto::onChildrenRemoved
    linkageType: ''
    returnType: void
    signature: "void DeviceLister::onChildrenRemoved( vlc_media_tree_t* tree, input_item_node_t*
      node,\n                                      input_item_node_t* const children[],
      size_t count,\n                                      void* data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: onDeviceMounted
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tree
    argTypes:
    - vlc_media_tree_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: vlc::medialibrary::DeviceLister::onChildrenReset
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - onDeviceMounted
    linkageType: ''
    returnType: void
    signature: void DeviceLister::onChildrenReset( vlc_media_tree_t* tree, input_item_node_t*
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: onDeviceMounted
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - children
    - count
    argTypes:
    - input_item_node_t*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: vlc::medialibrary::DeviceLister::onChildrenAdded
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - onDeviceMounted
    linkageType: ''
    returnType: void
    signature: "void DeviceLister::onChildrenAdded( vlc_media_tree_t*, input_item_node_t*,\n
      \                                   input_item_node_t* const children[], size_t
      count )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: onDeviceUnmounted
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - children
    - count
    argTypes:
    - input_item_node_t*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: vlc::medialibrary::DeviceLister::onChildrenRemoved
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - onDeviceUnmounted
    linkageType: ''
    returnType: void
    signature: "void DeviceLister::onChildrenRemoved(vlc_media_tree_t*, input_item_node_t*,\n
      \                                    input_item_node_t* const children[], size_t
      count )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ms
    argTypes:
    - vlc_media_source_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: DeviceLister::MediaSource::MediaSource( vlc_media_source_t *ms )
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceLister::MediaSource::MediaSource( vlc_media_source_t *ms
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_media_tree_RemoveListener
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:159,1
    - Dst: vlc_media_source_Release
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: DeviceLister::MediaSource::~MediaSource()
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - vlc_media_tree_RemoveListener
    - vlc_media_source_Release
    linkageType: ''
    returnType: void
    signature: void DeviceLister::MediaSource::~MediaSource()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - DeviceLister::MediaSource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: DeviceLister::MediaSource::MediaSource( DeviceLister::MediaSource&&
      rhs ) noexcept
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceLister::MediaSource::MediaSource( DeviceLister::MediaSource&&
      rhs ) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - DeviceLister::MediaSource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: '&

      DeviceLister::MediaSource::operator=( DeviceLister::MediaSource&& rhs ) noexcept'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DeviceLister::MediaSource
    signature: 'DeviceLister::MediaSource &

      DeviceLister::MediaSource::operator=( DeviceLister::MediaSource&& rhs ) noexcept'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: vlc::medialibrary::DeviceLister::DeviceLister
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceLister::DeviceLister( vlc_object_t* parent )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: vlc::medialibrary::DeviceLister::refresh
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceLister::refresh()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_media_source_provider_Get
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:53,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:53,1
    - Dst: vlc_media_source_provider_List
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:59,1
    - Dst: SourceMetaPtr::get
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:63,1
    - Dst: vlc_media_source_meta_list_Count
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:68,1
    - Dst: SourceMetaPtr::get
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:68,1
    - Dst: vlc_media_source_meta_list_Get
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:72,1
    - Dst: SourceMetaPtr::get
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:72,1
    - Dst: vlc_media_source_provider_GetMediaSource
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:73,1
    - Dst: vlc_media_tree_AddListener
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:84,1
    - Dst: push_back
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:85,1
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:85,1
    - Dst: empty
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - cb
    argTypes:
    - ml::IDeviceListerCb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 88
    functionName: vlc::medialibrary::DeviceLister::start
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - vlc_media_source_provider_Get
    - push_back
    - vlc_object_instance
    - SourceMetaPtr::get
    - std::move
    - vlc_media_tree_AddListener
    - vlc_media_source_provider_List
    - empty
    - vlc_media_source_meta_list_Get
    - vlc_media_source_provider_GetMediaSource
    - vlc_media_source_meta_list_Count
    linkageType: ''
    returnType: bool
    signature: bool DeviceLister::start( ml::IDeviceListerCb* cb )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: vlc::medialibrary::DeviceLister::stop
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void DeviceLister::stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<DeviceLister*>
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:101,1
    - Dst: auto::onChildrenReset
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tree
    - node
    - data
    argTypes:
    - vlc_media_tree_t*
    - input_item_node_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: vlc::medialibrary::DeviceLister::onChildrenReset
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - auto::onChildrenReset
    - static_cast<DeviceLister*>
    linkageType: ''
    returnType: void
    signature: "void DeviceLister::onChildrenReset( vlc_media_tree_t* tree, input_item_node_t*
      node,\n                                    void* data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<DeviceLister*>
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:109,1
    - Dst: auto::onChildrenAdded
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - tree
    - node
    - children
    - count
    - data
    argTypes:
    - vlc_media_tree_t*
    - input_item_node_t*
    - input_item_node_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: vlc::medialibrary::DeviceLister::onChildrenAdded
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - static_cast<DeviceLister*>
    - auto::onChildrenAdded
    linkageType: ''
    returnType: void
    signature: "void DeviceLister::onChildrenAdded( vlc_media_tree_t* tree, input_item_node_t*
      node,\n                                    input_item_node_t* const children[],
      size_t count,\n                                    void* data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<DeviceLister*>
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:117,1
    - Dst: auto::onChildrenRemoved
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - tree
    - node
    - children
    - count
    - data
    argTypes:
    - vlc_media_tree_t*
    - input_item_node_t*
    - input_item_node_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: vlc::medialibrary::DeviceLister::onChildrenRemoved
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - static_cast<DeviceLister*>
    - auto::onChildrenRemoved
    linkageType: ''
    returnType: void
    signature: "void DeviceLister::onChildrenRemoved( vlc_media_tree_t* tree, input_item_node_t*
      node,\n                                      input_item_node_t* const children[],
      size_t count,\n                                      void* data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: onDeviceMounted
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tree
    argTypes:
    - vlc_media_tree_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: vlc::medialibrary::DeviceLister::onChildrenReset
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - onDeviceMounted
    linkageType: ''
    returnType: void
    signature: void DeviceLister::onChildrenReset( vlc_media_tree_t* tree, input_item_node_t*
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: onDeviceMounted
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - children
    - count
    argTypes:
    - input_item_node_t*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: vlc::medialibrary::DeviceLister::onChildrenAdded
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - onDeviceMounted
    linkageType: ''
    returnType: void
    signature: "void DeviceLister::onChildrenAdded( vlc_media_tree_t*, input_item_node_t*,\n
      \                                   input_item_node_t* const children[], size_t
      count )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: onDeviceUnmounted
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - children
    - count
    argTypes:
    - input_item_node_t*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: vlc::medialibrary::DeviceLister::onChildrenRemoved
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - onDeviceUnmounted
    linkageType: ''
    returnType: void
    signature: "void DeviceLister::onChildrenRemoved(vlc_media_tree_t*, input_item_node_t*,\n
      \                                    input_item_node_t* const children[], size_t
      count )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ms
    argTypes:
    - vlc_media_source_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: DeviceLister::MediaSource::MediaSource( vlc_media_source_t *ms )
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceLister::MediaSource::MediaSource( vlc_media_source_t *ms
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_media_tree_RemoveListener
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:159,1
    - Dst: vlc_media_source_Release
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: DeviceLister::MediaSource::~MediaSource()
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - vlc_media_tree_RemoveListener
    - vlc_media_source_Release
    linkageType: ''
    returnType: void
    signature: void DeviceLister::MediaSource::~MediaSource()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - DeviceLister::MediaSource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: DeviceLister::MediaSource::MediaSource( DeviceLister::MediaSource&&
      rhs ) noexcept
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceLister::MediaSource::MediaSource( DeviceLister::MediaSource&&
      rhs ) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - DeviceLister::MediaSource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: '&

      DeviceLister::MediaSource::operator=( DeviceLister::MediaSource&& rhs ) noexcept'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DeviceLister::MediaSource
    signature: 'DeviceLister::MediaSource &

      DeviceLister::MediaSource::operator=( DeviceLister::MediaSource&& rhs ) noexcept'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: vlc::medialibrary::DeviceLister::DeviceLister
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceLister::DeviceLister( vlc_object_t* parent )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: vlc::medialibrary::DeviceLister::refresh
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceLister::refresh()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_media_source_provider_Get
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:53,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:53,1
    - Dst: vlc_media_source_provider_List
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:59,1
    - Dst: SourceMetaPtr::get
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:63,1
    - Dst: vlc_media_source_meta_list_Count
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:68,1
    - Dst: SourceMetaPtr::get
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:68,1
    - Dst: vlc_media_source_meta_list_Get
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:72,1
    - Dst: SourceMetaPtr::get
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:72,1
    - Dst: vlc_media_source_provider_GetMediaSource
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:73,1
    - Dst: vlc_media_tree_AddListener
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:84,1
    - Dst: push_back
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:85,1
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:85,1
    - Dst: empty
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - cb
    argTypes:
    - ml::IDeviceListerCb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 88
    functionName: vlc::medialibrary::DeviceLister::start
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - vlc_media_source_provider_Get
    - push_back
    - vlc_object_instance
    - SourceMetaPtr::get
    - std::move
    - vlc_media_tree_AddListener
    - vlc_media_source_provider_List
    - empty
    - vlc_media_source_meta_list_Get
    - vlc_media_source_provider_GetMediaSource
    - vlc_media_source_meta_list_Count
    linkageType: ''
    returnType: bool
    signature: bool DeviceLister::start( ml::IDeviceListerCb* cb )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: vlc::medialibrary::DeviceLister::stop
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void DeviceLister::stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<DeviceLister*>
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:101,1
    - Dst: auto::onChildrenReset
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tree
    - node
    - data
    argTypes:
    - vlc_media_tree_t*
    - input_item_node_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: vlc::medialibrary::DeviceLister::onChildrenReset
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - auto::onChildrenReset
    - static_cast<DeviceLister*>
    linkageType: ''
    returnType: void
    signature: "void DeviceLister::onChildrenReset( vlc_media_tree_t* tree, input_item_node_t*
      node,\n                                    void* data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<DeviceLister*>
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:109,1
    - Dst: auto::onChildrenAdded
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - tree
    - node
    - children
    - count
    - data
    argTypes:
    - vlc_media_tree_t*
    - input_item_node_t*
    - input_item_node_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: vlc::medialibrary::DeviceLister::onChildrenAdded
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - static_cast<DeviceLister*>
    - auto::onChildrenAdded
    linkageType: ''
    returnType: void
    signature: "void DeviceLister::onChildrenAdded( vlc_media_tree_t* tree, input_item_node_t*
      node,\n                                    input_item_node_t* const children[],
      size_t count,\n                                    void* data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<DeviceLister*>
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:117,1
    - Dst: auto::onChildrenRemoved
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - tree
    - node
    - children
    - count
    - data
    argTypes:
    - vlc_media_tree_t*
    - input_item_node_t*
    - input_item_node_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: vlc::medialibrary::DeviceLister::onChildrenRemoved
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - static_cast<DeviceLister*>
    - auto::onChildrenRemoved
    linkageType: ''
    returnType: void
    signature: "void DeviceLister::onChildrenRemoved( vlc_media_tree_t* tree, input_item_node_t*
      node,\n                                      input_item_node_t* const children[],
      size_t count,\n                                      void* data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: onDeviceMounted
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tree
    argTypes:
    - vlc_media_tree_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: vlc::medialibrary::DeviceLister::onChildrenReset
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - onDeviceMounted
    linkageType: ''
    returnType: void
    signature: void DeviceLister::onChildrenReset( vlc_media_tree_t* tree, input_item_node_t*
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: onDeviceMounted
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - children
    - count
    argTypes:
    - input_item_node_t*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: vlc::medialibrary::DeviceLister::onChildrenAdded
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - onDeviceMounted
    linkageType: ''
    returnType: void
    signature: "void DeviceLister::onChildrenAdded( vlc_media_tree_t*, input_item_node_t*,\n
      \                                   input_item_node_t* const children[], size_t
      count )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: onDeviceUnmounted
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - children
    - count
    argTypes:
    - input_item_node_t*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: vlc::medialibrary::DeviceLister::onChildrenRemoved
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - onDeviceUnmounted
    linkageType: ''
    returnType: void
    signature: "void DeviceLister::onChildrenRemoved(vlc_media_tree_t*, input_item_node_t*,\n
      \                                    input_item_node_t* const children[], size_t
      count )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ms
    argTypes:
    - vlc_media_source_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: DeviceLister::MediaSource::MediaSource( vlc_media_source_t *ms )
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceLister::MediaSource::MediaSource( vlc_media_source_t *ms
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_media_tree_RemoveListener
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:159,1
    - Dst: vlc_media_source_Release
      Src: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: DeviceLister::MediaSource::~MediaSource()
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached:
    - vlc_media_tree_RemoveListener
    - vlc_media_source_Release
    linkageType: ''
    returnType: void
    signature: void DeviceLister::MediaSource::~MediaSource()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - DeviceLister::MediaSource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: DeviceLister::MediaSource::MediaSource( DeviceLister::MediaSource&&
      rhs ) noexcept
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceLister::MediaSource::MediaSource( DeviceLister::MediaSource&&
      rhs ) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - DeviceLister::MediaSource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: '&

      DeviceLister::MediaSource::operator=( DeviceLister::MediaSource&& rhs ) noexcept'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DeviceLister::MediaSource
    signature: 'DeviceLister::MediaSource &

      DeviceLister::MediaSource::operator=( DeviceLister::MediaSource&& rhs ) noexcept'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crbegin
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - mrl
    - fs
    argTypes:
    - std::string
    - SDFileSystemFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: vlc::medialibrary::SDDirectory::SDDirectory
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 0
    functionsReached:
    - crbegin
    linkageType: ''
    returnType: void
    signature: void SDDirectory::SDDirectory(const std::string &mrl, SDFileSystemFactory
      &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: '&

      SDDirectory::mrl() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      SDDirectory::mrl() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: '&

      SDDirectory::files() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: std::vector<std::shared_ptr<IFile>>
    signature: 'std::vector<std::shared_ptr<IFile>> &

      SDDirectory::files() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: '&

      SDDirectory::dirs() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: std::vector<std::shared_ptr<IDirectory>>
    signature: 'std::vector<std::shared_ptr<IDirectory>> &

      SDDirectory::dirs() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createDeviceFromMrl
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:81,1
    - Dst: mrl
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: vlc::medialibrary::SDDirectory::device
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 0
    functionsReached:
    - mrl
    - createDeviceFromMrl
    linkageType: ''
    returnType: std::shared_ptr<IDevice>
    signature: std::shared_ptr<IDevice> SDDirectory::device() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: files
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:87,1
    - Dst: vlc::medialibrary::utils::fileName
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:90,1
    - Dst: std::find_if
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:91,1
    - Dst: cbegin
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:91,1
    - Dst: cend
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:91,1
    - Dst: name
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:93,1
    - Dst: cend
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:95,1
    - Dst: input_item_SetArtNotFound
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' mrl'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 98
    functionName: vlc::medialibrary::SDDirectory::file
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 0
    functionsReached:
    - input_item_SetArtNotFound
    - std::find_if
    - name
    - vlc::medialibrary::utils::fileName
    - cend
    - cbegin
    - files
    linkageType: ''
    returnType: std::shared_ptr<IFile>
    signature: std::shared_ptr<IFile> SDDirectory::file(const std::string& mrl) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: files
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:102,1
    - Dst: std::find_if
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:103,1
    - Dst: cbegin
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:103,1
    - Dst: cend
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:103,1
    - Dst: name
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:105,1
    - Dst: cend
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' fileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: vlc::medialibrary::SDDirectory::contains
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 0
    functionsReached:
    - std::find_if
    - name
    - cend
    - cbegin
    - files
    linkageType: ''
    returnType: bool
    signature: bool SDDirectory::contains(const std::string& fileName) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crbegin
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - mrl
    - fs
    argTypes:
    - std::string
    - SDFileSystemFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: vlc::medialibrary::SDDirectory::SDDirectory
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 0
    functionsReached:
    - crbegin
    linkageType: ''
    returnType: void
    signature: void SDDirectory::SDDirectory(const std::string &mrl, SDFileSystemFactory
      &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: '&

      SDDirectory::mrl() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      SDDirectory::mrl() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: '&

      SDDirectory::files() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: std::vector<std::shared_ptr<IFile>>
    signature: 'std::vector<std::shared_ptr<IFile>> &

      SDDirectory::files() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: '&

      SDDirectory::dirs() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: std::vector<std::shared_ptr<IDirectory>>
    signature: 'std::vector<std::shared_ptr<IDirectory>> &

      SDDirectory::dirs() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createDeviceFromMrl
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:81,1
    - Dst: mrl
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: vlc::medialibrary::SDDirectory::device
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 0
    functionsReached:
    - mrl
    - createDeviceFromMrl
    linkageType: ''
    returnType: std::shared_ptr<IDevice>
    signature: std::shared_ptr<IDevice> SDDirectory::device() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: files
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:87,1
    - Dst: vlc::medialibrary::utils::fileName
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:90,1
    - Dst: std::find_if
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:91,1
    - Dst: cbegin
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:91,1
    - Dst: cend
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:91,1
    - Dst: name
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:93,1
    - Dst: cend
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:95,1
    - Dst: input_item_SetArtNotFound
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' mrl'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 98
    functionName: vlc::medialibrary::SDDirectory::file
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 0
    functionsReached:
    - input_item_SetArtNotFound
    - std::find_if
    - name
    - vlc::medialibrary::utils::fileName
    - cend
    - cbegin
    - files
    linkageType: ''
    returnType: std::shared_ptr<IFile>
    signature: std::shared_ptr<IFile> SDDirectory::file(const std::string& mrl) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: files
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:102,1
    - Dst: std::find_if
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:103,1
    - Dst: cbegin
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:103,1
    - Dst: cend
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:103,1
    - Dst: name
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:105,1
    - Dst: cend
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' fileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: vlc::medialibrary::SDDirectory::contains
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 0
    functionsReached:
    - std::find_if
    - name
    - cend
    - cbegin
    - files
    linkageType: ''
    returnType: bool
    signature: bool SDDirectory::contains(const std::string& fileName) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crbegin
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - mrl
    - fs
    argTypes:
    - std::string
    - SDFileSystemFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: vlc::medialibrary::SDDirectory::SDDirectory
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 0
    functionsReached:
    - crbegin
    linkageType: ''
    returnType: void
    signature: void SDDirectory::SDDirectory(const std::string &mrl, SDFileSystemFactory
      &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: '&

      SDDirectory::mrl() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      SDDirectory::mrl() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: '&

      SDDirectory::files() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: std::vector<std::shared_ptr<IFile>>
    signature: 'std::vector<std::shared_ptr<IFile>> &

      SDDirectory::files() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: '&

      SDDirectory::dirs() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: std::vector<std::shared_ptr<IDirectory>>
    signature: 'std::vector<std::shared_ptr<IDirectory>> &

      SDDirectory::dirs() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createDeviceFromMrl
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:81,1
    - Dst: mrl
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: vlc::medialibrary::SDDirectory::device
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 0
    functionsReached:
    - mrl
    - createDeviceFromMrl
    linkageType: ''
    returnType: std::shared_ptr<IDevice>
    signature: std::shared_ptr<IDevice> SDDirectory::device() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: files
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:87,1
    - Dst: vlc::medialibrary::utils::fileName
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:90,1
    - Dst: std::find_if
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:91,1
    - Dst: cbegin
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:91,1
    - Dst: cend
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:91,1
    - Dst: name
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:93,1
    - Dst: cend
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:95,1
    - Dst: input_item_SetArtNotFound
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' mrl'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 98
    functionName: vlc::medialibrary::SDDirectory::file
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 0
    functionsReached:
    - input_item_SetArtNotFound
    - std::find_if
    - name
    - vlc::medialibrary::utils::fileName
    - cend
    - cbegin
    - files
    linkageType: ''
    returnType: std::shared_ptr<IFile>
    signature: std::shared_ptr<IFile> SDDirectory::file(const std::string& mrl) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: files
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:102,1
    - Dst: std::find_if
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:103,1
    - Dst: cbegin
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:103,1
    - Dst: cend
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:103,1
    - Dst: name
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:105,1
    - Dst: cend
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' fileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: vlc::medialibrary::SDDirectory::contains
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 0
    functionsReached:
    - std::find_if
    - name
    - cend
    - cbegin
    - files
    linkageType: ''
    returnType: bool
    signature: bool SDDirectory::contains(const std::string& fileName) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crbegin
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - mrl
    - fs
    argTypes:
    - std::string
    - SDFileSystemFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: vlc::medialibrary::SDDirectory::SDDirectory
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 0
    functionsReached:
    - crbegin
    linkageType: ''
    returnType: void
    signature: void SDDirectory::SDDirectory(const std::string &mrl, SDFileSystemFactory
      &fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: '&

      SDDirectory::mrl() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: 'std::string &

      SDDirectory::mrl() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: '&

      SDDirectory::files() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: std::vector<std::shared_ptr<IFile>>
    signature: 'std::vector<std::shared_ptr<IFile>> &

      SDDirectory::files() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: '&

      SDDirectory::dirs() const'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: std::vector<std::shared_ptr<IDirectory>>
    signature: 'std::vector<std::shared_ptr<IDirectory>> &

      SDDirectory::dirs() const'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createDeviceFromMrl
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:81,1
    - Dst: mrl
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: vlc::medialibrary::SDDirectory::device
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 0
    functionsReached:
    - mrl
    - createDeviceFromMrl
    linkageType: ''
    returnType: std::shared_ptr<IDevice>
    signature: std::shared_ptr<IDevice> SDDirectory::device() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: files
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:87,1
    - Dst: vlc::medialibrary::utils::fileName
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:90,1
    - Dst: std::find_if
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:91,1
    - Dst: cbegin
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:91,1
    - Dst: cend
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:91,1
    - Dst: name
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:93,1
    - Dst: cend
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:95,1
    - Dst: input_item_SetArtNotFound
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' mrl'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 98
    functionName: vlc::medialibrary::SDDirectory::file
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 0
    functionsReached:
    - input_item_SetArtNotFound
    - std::find_if
    - name
    - vlc::medialibrary::utils::fileName
    - cend
    - cbegin
    - files
    linkageType: ''
    returnType: std::shared_ptr<IFile>
    signature: std::shared_ptr<IFile> SDDirectory::file(const std::string& mrl) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: files
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:102,1
    - Dst: std::find_if
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:103,1
    - Dst: cbegin
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:103,1
    - Dst: cend
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:103,1
    - Dst: name
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:105,1
    - Dst: cend
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' fileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: vlc::medialibrary::SDDirectory::contains
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 0
    functionsReached:
    - std::find_if
    - name
    - cend
    - cbegin
    - files
    linkageType: ''
    returnType: bool
    signature: bool SDDirectory::contains(const std::string& fileName) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vlc::medialibrary::metadata_request*>
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:125,1
    - Dst: auto::cond::signal
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:130,1
    - Dst: vlc_preparser_req_Release
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - preparser_req
    - status
    - data
    argTypes:
    - vlc_preparser_req*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: onParserEnded
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 0
    functionsReached:
    - vlc_preparser_req_Release
    - auto::cond::signal
    - static_cast<vlc::medialibrary::metadata_request*>
    linkageType: ''
    returnType: void
    signature: void onParserEnded( vlc_preparser_req *preparser_req, int status, void
      *data )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vlc::medialibrary::metadata_request*>
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:137,1
    - Dst: assert
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:143,1
    - Dst: auto::children::emplace_back
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:145,1
    - Dst: input_item_node_Delete
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - subtree
    - data
    argTypes:
    - input_item_node_t*
    - void*
    assertStmts:
    - condition: ( child->i_children == 0 )
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    constantsTouched: []
    func_position:
      end: 148
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 148
    functionName: onParserSubtreeAdded
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 0
    functionsReached:
    - static_cast<vlc::medialibrary::metadata_request*>
    - assert
    - auto::children::emplace_back
    - input_item_node_Delete
    linkageType: ''
    returnType: void
    signature: "void onParserSubtreeAdded( vlc_preparser_req *, input_item_node_t
      *subtree,\n                                  void *data )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getPreparser
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:172,1
    - Dst: vlc_preparser_Push
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:176,1
    - Dst: metadata_request::cond::wait
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:183,1
    - Dst: FromSystem
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - media
    - out_children
    argTypes:
    - input_item_t*
    - std::vector<InputItemPtr>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 190
    functionName: vlc::medialibrary::SDDirectory::requestMetadataSync
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 0
    functionsReached:
    - FromSystem
    - metadata_request::cond::wait
    - getPreparser
    - vlc_preparser_Push
    linkageType: ''
    returnType: bool
    signature: "bool SDDirectory::requestMetadataSync(input_item_t *media,\n                                 std::vector<InputItemPtr>
      *out_children) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:196,1
    - Dst: input_item_New
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:196,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:196,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:196,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:198,1
    - Dst: input_item_AddOption
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:202,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:202,1
    - Dst: input_item_AddOption
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:203,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:203,1
    - Dst: input_item_AddOption
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:204,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:204,1
    - Dst: vlc::medialibrary::SDDirectory::requestMetadataSync
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:205,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:205,1
    - Dst: FromSystem
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:208,1
    - Dst: get
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:213,1
    - Dst: push_back
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:217,1
    - Dst: std::make_shared<SDDirectory>
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:217,1
    - Dst: vlc::medialibrary::SDDirectory::addFile
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:221,1
    - Dst: vlc::medialibrary::SDDirectory::addFile
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:229,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 235
    functionName: vlc::medialibrary::SDDirectory::read
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - vlc::wrap_cptr
    - input_item_New
    - input_item_AddOption
    - get
    - vlc::medialibrary::SDDirectory::requestMetadataSync
    - std::make_shared<SDDirectory>
    - FromSystem
    - std::bad_alloc
    - auto::get
    - vlc::medialibrary::SDDirectory::addFile
    - c_str
    linkageType: ''
    returnType: void
    signature: void SDDirectory::read() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isNetworkFileSystem
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:243,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:245,1
    - Dst: vlc_uri2path
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:245,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:245,1
    - Dst: vlc_stat
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:248,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:248,1
    - Dst: push_back
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:260,1
    - Dst: std::make_shared<SDFile>
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:261,1
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:261,1
    - Dst: push_back
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:265,1
    - Dst: std::make_shared<SDFile>
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:265,1
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:266,1
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:266,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - mrl
    - fType
    - linkedFile
    argTypes:
    - std::string
    - IFile::LinkedFileType
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 268
    functionName: vlc::medialibrary::SDDirectory::addFile
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 1
    functionsReached:
    - push_back
    - vlc::wrap_cptr
    - vlc_uri2path
    - isNetworkFileSystem
    - std::string::c_str
    - auto::get
    - std::move
    - vlc_stat
    - std::make_shared<SDFile>
    linkageType: ''
    returnType: void
    signature: void SDDirectory::addFile(std::string mrl, IFile::LinkedFileType fType,
      std::string linkedFile) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getPreparser
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:172,1
    - Dst: vlc_preparser_Push
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:176,1
    - Dst: metadata_request::cond::wait
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:183,1
    - Dst: FromSystem
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - media
    - out_children
    argTypes:
    - input_item_t*
    - std::vector<InputItemPtr>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 190
    functionName: vlc::medialibrary::SDDirectory::requestMetadataSync
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 1
    functionsReached:
    - FromSystem
    - metadata_request::cond::wait
    - getPreparser
    - vlc_preparser_Push
    linkageType: ''
    returnType: bool
    signature: "bool SDDirectory::requestMetadataSync(input_item_t *media,\n                                 std::vector<InputItemPtr>
      *out_children) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:196,1
    - Dst: input_item_New
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:196,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:196,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:196,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:198,1
    - Dst: input_item_AddOption
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:202,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:202,1
    - Dst: input_item_AddOption
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:203,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:203,1
    - Dst: input_item_AddOption
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:204,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:204,1
    - Dst: vlc::medialibrary::SDDirectory::requestMetadataSync
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:205,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:205,1
    - Dst: FromSystem
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:208,1
    - Dst: get
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:213,1
    - Dst: push_back
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:217,1
    - Dst: std::make_shared<SDDirectory>
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:217,1
    - Dst: vlc::medialibrary::SDDirectory::addFile
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:221,1
    - Dst: vlc::medialibrary::SDDirectory::addFile
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:229,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 235
    functionName: vlc::medialibrary::SDDirectory::read
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - vlc::wrap_cptr
    - input_item_New
    - input_item_AddOption
    - get
    - vlc::medialibrary::SDDirectory::requestMetadataSync
    - std::make_shared<SDDirectory>
    - FromSystem
    - std::bad_alloc
    - auto::get
    - vlc::medialibrary::SDDirectory::addFile
    - c_str
    linkageType: ''
    returnType: void
    signature: void SDDirectory::read() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isNetworkFileSystem
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:243,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:245,1
    - Dst: vlc_uri2path
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:245,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:245,1
    - Dst: vlc_stat
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:248,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:248,1
    - Dst: push_back
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:260,1
    - Dst: std::make_shared<SDFile>
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:261,1
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:261,1
    - Dst: push_back
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:265,1
    - Dst: std::make_shared<SDFile>
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:265,1
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:266,1
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:266,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - mrl
    - fType
    - linkedFile
    argTypes:
    - std::string
    - IFile::LinkedFileType
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 268
    functionName: vlc::medialibrary::SDDirectory::addFile
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 2
    functionsReached:
    - push_back
    - vlc::wrap_cptr
    - vlc_uri2path
    - isNetworkFileSystem
    - std::string::c_str
    - auto::get
    - std::move
    - vlc_stat
    - std::make_shared<SDFile>
    linkageType: ''
    returnType: void
    signature: void SDDirectory::addFile(std::string mrl, IFile::LinkedFileType fType,
      std::string linkedFile) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getPreparser
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:172,1
    - Dst: vlc_preparser_Push
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:176,1
    - Dst: metadata_request::cond::wait
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:183,1
    - Dst: FromSystem
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - media
    - out_children
    argTypes:
    - input_item_t*
    - std::vector<InputItemPtr>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 190
    functionName: vlc::medialibrary::SDDirectory::requestMetadataSync
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 2
    functionsReached:
    - FromSystem
    - metadata_request::cond::wait
    - getPreparser
    - vlc_preparser_Push
    linkageType: ''
    returnType: bool
    signature: "bool SDDirectory::requestMetadataSync(input_item_t *media,\n                                 std::vector<InputItemPtr>
      *out_children) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:196,1
    - Dst: input_item_New
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:196,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:196,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:196,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:198,1
    - Dst: input_item_AddOption
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:202,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:202,1
    - Dst: input_item_AddOption
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:203,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:203,1
    - Dst: input_item_AddOption
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:204,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:204,1
    - Dst: vlc::medialibrary::SDDirectory::requestMetadataSync
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:205,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:205,1
    - Dst: FromSystem
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:208,1
    - Dst: get
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:213,1
    - Dst: push_back
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:217,1
    - Dst: std::make_shared<SDDirectory>
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:217,1
    - Dst: vlc::medialibrary::SDDirectory::addFile
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:221,1
    - Dst: vlc::medialibrary::SDDirectory::addFile
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:229,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 235
    functionName: vlc::medialibrary::SDDirectory::read
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - vlc::wrap_cptr
    - input_item_New
    - input_item_AddOption
    - get
    - vlc::medialibrary::SDDirectory::requestMetadataSync
    - std::make_shared<SDDirectory>
    - FromSystem
    - std::bad_alloc
    - auto::get
    - vlc::medialibrary::SDDirectory::addFile
    - c_str
    linkageType: ''
    returnType: void
    signature: void SDDirectory::read() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isNetworkFileSystem
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:243,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:245,1
    - Dst: vlc_uri2path
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:245,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:245,1
    - Dst: vlc_stat
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:248,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:248,1
    - Dst: push_back
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:260,1
    - Dst: std::make_shared<SDFile>
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:261,1
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:261,1
    - Dst: push_back
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:265,1
    - Dst: std::make_shared<SDFile>
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:265,1
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:266,1
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:266,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - mrl
    - fType
    - linkedFile
    argTypes:
    - std::string
    - IFile::LinkedFileType
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 268
    functionName: vlc::medialibrary::SDDirectory::addFile
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 3
    functionsReached:
    - push_back
    - vlc::wrap_cptr
    - vlc_uri2path
    - isNetworkFileSystem
    - std::string::c_str
    - auto::get
    - std::move
    - vlc_stat
    - std::make_shared<SDFile>
    linkageType: ''
    returnType: void
    signature: void SDDirectory::addFile(std::string mrl, IFile::LinkedFileType fType,
      std::string linkedFile) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getPreparser
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:172,1
    - Dst: vlc_preparser_Push
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:176,1
    - Dst: metadata_request::cond::wait
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:183,1
    - Dst: FromSystem
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - media
    - out_children
    argTypes:
    - input_item_t*
    - std::vector<InputItemPtr>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 190
    functionName: vlc::medialibrary::SDDirectory::requestMetadataSync
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 3
    functionsReached:
    - FromSystem
    - metadata_request::cond::wait
    - getPreparser
    - vlc_preparser_Push
    linkageType: ''
    returnType: bool
    signature: "bool SDDirectory::requestMetadataSync(input_item_t *media,\n                                 std::vector<InputItemPtr>
      *out_children) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:196,1
    - Dst: input_item_New
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:196,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:196,1
    - Dst: c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:196,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:198,1
    - Dst: input_item_AddOption
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:202,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:202,1
    - Dst: input_item_AddOption
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:203,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:203,1
    - Dst: input_item_AddOption
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:204,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:204,1
    - Dst: vlc::medialibrary::SDDirectory::requestMetadataSync
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:205,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:205,1
    - Dst: FromSystem
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:208,1
    - Dst: get
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:213,1
    - Dst: push_back
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:217,1
    - Dst: std::make_shared<SDDirectory>
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:217,1
    - Dst: vlc::medialibrary::SDDirectory::addFile
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:221,1
    - Dst: vlc::medialibrary::SDDirectory::addFile
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:229,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 235
    functionName: vlc::medialibrary::SDDirectory::read
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - vlc::wrap_cptr
    - input_item_New
    - input_item_AddOption
    - get
    - vlc::medialibrary::SDDirectory::requestMetadataSync
    - std::make_shared<SDDirectory>
    - FromSystem
    - std::bad_alloc
    - auto::get
    - vlc::medialibrary::SDDirectory::addFile
    - c_str
    linkageType: ''
    returnType: void
    signature: void SDDirectory::read() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isNetworkFileSystem
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:243,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:245,1
    - Dst: vlc_uri2path
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:245,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:245,1
    - Dst: vlc_stat
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:248,1
    - Dst: auto::get
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:248,1
    - Dst: push_back
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:260,1
    - Dst: std::make_shared<SDFile>
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:261,1
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:261,1
    - Dst: push_back
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:265,1
    - Dst: std::make_shared<SDFile>
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:265,1
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:266,1
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/directory.cpp:266,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - mrl
    - fType
    - linkedFile
    argTypes:
    - std::string
    - IFile::LinkedFileType
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 268
    functionName: vlc::medialibrary::SDDirectory::addFile
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/directory.cpp
    functionUses: 4
    functionsReached:
    - push_back
    - vlc::wrap_cptr
    - vlc_uri2path
    - isNetworkFileSystem
    - std::string::c_str
    - auto::get
    - std::move
    - vlc_stat
    - std::make_shared<SDFile>
    linkageType: ''
    returnType: void
    signature: void SDDirectory::addFile(std::string mrl, IFile::LinkedFileType fType,
      std::string linkedFile) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_last_of
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:40,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: vlc::medialibrary::utils::extension
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/util.cpp
    functionUses: 8
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string extension(const std::string &fileName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_last_of
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:49,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filePath
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: vlc::medialibrary::utils::fileName
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/util.cpp
    functionUses: 12
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string fileName(const std::string &filePath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_last_of
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:58,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filePath
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: vlc::medialibrary::utils::directory
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/util.cpp
    functionUses: 4
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string directory(const std::string &filePath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_last_of
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:40,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: vlc::medialibrary::utils::extension
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/util.cpp
    functionUses: 8
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string extension(const std::string &fileName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_last_of
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:49,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filePath
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: vlc::medialibrary::utils::fileName
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/util.cpp
    functionUses: 12
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string fileName(const std::string &filePath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_last_of
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:58,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filePath
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: vlc::medialibrary::utils::directory
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/util.cpp
    functionUses: 4
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string directory(const std::string &filePath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_last_of
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:40,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: vlc::medialibrary::utils::extension
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/util.cpp
    functionUses: 8
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string extension(const std::string &fileName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_last_of
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:49,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filePath
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: vlc::medialibrary::utils::fileName
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/util.cpp
    functionUses: 12
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string fileName(const std::string &filePath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_last_of
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:58,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filePath
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: vlc::medialibrary::utils::directory
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/util.cpp
    functionUses: 4
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string directory(const std::string &filePath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_last_of
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:40,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: vlc::medialibrary::utils::extension
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/util.cpp
    functionUses: 8
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string extension(const std::string &fileName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_last_of
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:49,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filePath
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: vlc::medialibrary::utils::fileName
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/util.cpp
    functionUses: 12
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string fileName(const std::string &filePath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_last_of
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:58,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filePath
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: vlc::medialibrary::utils::directory
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/util.cpp
    functionUses: 4
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string directory(const std::string &filePath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_last_of
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:40,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: vlc::medialibrary::utils::extension
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/util.cpp
    functionUses: 8
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string extension(const std::string &fileName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_last_of
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:49,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filePath
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: vlc::medialibrary::utils::fileName
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/util.cpp
    functionUses: 12
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string fileName(const std::string &filePath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_last_of
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:58,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filePath
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: vlc::medialibrary::utils::directory
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/util.cpp
    functionUses: 4
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string directory(const std::string &filePath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_last_of
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:40,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: vlc::medialibrary::utils::extension
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/util.cpp
    functionUses: 8
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string extension(const std::string &fileName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_last_of
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:49,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filePath
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: vlc::medialibrary::utils::fileName
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/util.cpp
    functionUses: 12
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string fileName(const std::string &filePath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_last_of
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:58,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filePath
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: vlc::medialibrary::utils::directory
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/util.cpp
    functionUses: 4
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string directory(const std::string &filePath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_last_of
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:40,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: vlc::medialibrary::utils::extension
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/util.cpp
    functionUses: 8
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string extension(const std::string &fileName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_last_of
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:49,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filePath
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: vlc::medialibrary::utils::fileName
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/util.cpp
    functionUses: 12
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string fileName(const std::string &filePath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_last_of
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:58,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filePath
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: vlc::medialibrary::utils::directory
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/util.cpp
    functionUses: 4
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string directory(const std::string &filePath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_last_of
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:40,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: vlc::medialibrary::utils::extension
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/util.cpp
    functionUses: 8
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string extension(const std::string &fileName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_last_of
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:49,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filePath
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: vlc::medialibrary::utils::fileName
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/util.cpp
    functionUses: 12
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string fileName(const std::string &filePath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_last_of
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:58,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/misc/medialibrary/fs/util.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filePath
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: vlc::medialibrary::utils::directory
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/util.cpp
    functionUses: 4
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string directory(const std::string &filePath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/device.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - m
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: vlc::medialibrary::SDDevice::Mountpoint
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Mountpoint( std::string m )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/device.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - m
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: vlc::medialibrary::SDDevice::Mountpoint
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Mountpoint( std::string m )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/device.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - m
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: vlc::medialibrary::SDDevice::Mountpoint
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Mountpoint( std::string m )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/vlc/modules/misc/medialibrary/fs/device.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - m
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: vlc::medialibrary::SDDevice::Mountpoint
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/device.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Mountpoint( std::string m )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: vlc::medialibrary::DeviceLister::MediaSource
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MediaSource( const MediaSource& )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: '& operator=( const MediaSource& )'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MediaSource
    signature: MediaSource & operator=( const MediaSource& )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: vlc::medialibrary::DeviceLister::MediaSource
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MediaSource( const MediaSource& )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: '& operator=( const MediaSource& )'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MediaSource
    signature: MediaSource & operator=( const MediaSource& )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: vlc::medialibrary::DeviceLister::MediaSource
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MediaSource( const MediaSource& )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: '& operator=( const MediaSource& )'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MediaSource
    signature: MediaSource & operator=( const MediaSource& )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: vlc::medialibrary::DeviceLister::MediaSource
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MediaSource( const MediaSource& )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: '& operator=( const MediaSource& )'
    functionSourceFile: /src/vlc/modules/misc/medialibrary/fs/devicelister.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MediaSource
    signature: MediaSource & operator=( const MediaSource& )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: NOTIFY_CHECK_VERSION
    functionSourceFile: /src/vlc/modules/notify/notify.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NOTIFY_CHECK_VERSION(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_free
      Src: /src/vlc/modules/notify/notify.c:96,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/notify/notify.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - userdata
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: foreach_g_free
    functionSourceFile: /src/vlc/modules/notify/notify.c
    functionUses: 0
    functionsReached:
    - g_free
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void foreach_g_free(void *data, void *userdata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/notify/notify.c:106,1
    - Dst: vlc_intf_GetMainPlaylist
      Src: /src/vlc/modules/notify/notify.c:111,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/notify/notify.c:112,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/notify/notify.c:117,1
    - Dst: vlc_player_AddListener
      Src: /src/vlc/modules/notify/notify.c:118,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/notify/notify.c:119,1
    - Dst: free
      Src: /src/vlc/modules/notify/notify.c:122,1
    - Dst: notify_init
      Src: /src/vlc/modules/notify/notify.c:126,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/notify/notify.c:128,1
    - Dst: vlc_player_RemoveListener
      Src: /src/vlc/modules/notify/notify.c:129,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/notify/notify.c:130,1
    - Dst: free
      Src: /src/vlc/modules/notify/notify.c:131,1
    - Dst: msg_Err
      Src: /src/vlc/modules/notify/notify.c:132,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/notify/notify.c:137,1
    - Dst: notify_get_server_caps
      Src: /src/vlc/modules/notify/notify.c:141,1
    - Dst: strcmp
      Src: /src/vlc/modules/notify/notify.c:146,1
    - Dst: g_list_foreach
      Src: /src/vlc/modules/notify/notify.c:152,1
    - Dst: g_list_free
      Src: /src/vlc/modules/notify/notify.c:153,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 157
    functionName: Open
    functionSourceFile: /src/vlc/modules/notify/notify.c
    functionUses: 45
    functionsReached:
    - vlc_intf_GetMainPlaylist
    - g_list_foreach
    - vlc_player_Unlock
    - vlc_mutex_init
    - notify_get_server_caps
    - vlc_player_Lock
    - msg_Err
    - free
    - strcmp
    - vlc_playlist_GetPlayer
    - g_list_free
    - vlc_player_AddListener
    - notify_init
    - vlc_player_RemoveListener
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/notify/notify.c:167,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/notify/notify.c:168,1
    - Dst: vlc_player_RemoveListener
      Src: /src/vlc/modules/notify/notify.c:169,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/notify/notify.c:170,1
    - Dst: notify_notification_close
      Src: /src/vlc/modules/notify/notify.c:175,1
    - Dst: g_object_unref
      Src: /src/vlc/modules/notify/notify.c:176,1
    - Dst: free
      Src: /src/vlc/modules/notify/notify.c:179,1
    - Dst: notify_uninit
      Src: /src/vlc/modules/notify/notify.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 181
    functionName: Close
    functionSourceFile: /src/vlc/modules/notify/notify.c
    functionUses: 136
    functionsReached:
    - notify_notification_close
    - vlc_player_Unlock
    - vlc_player_Lock
    - g_object_unref
    - free
    - notify_uninit
    - vlc_playlist_GetPlayer
    - vlc_player_RemoveListener
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: input_item_GetTitleFbName
      Src: /src/vlc/modules/notify/notify.c:206,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/notify/notify.c:208,1
    - Dst: free
      Src: /src/vlc/modules/notify/notify.c:210,1
    - Dst: input_item_GetArtist
      Src: /src/vlc/modules/notify/notify.c:214,1
    - Dst: input_item_GetAlbum
      Src: /src/vlc/modules/notify/notify.c:215,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/notify/notify.c:217,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/notify/notify.c:219,1
    - Dst: snprintf
      Src: /src/vlc/modules/notify/notify.c:220,1
    - Dst: snprintf
      Src: /src/vlc/modules/notify/notify.c:223,1
    - Dst: snprintf
      Src: /src/vlc/modules/notify/notify.c:227,1
    - Dst: free
      Src: /src/vlc/modules/notify/notify.c:229,1
    - Dst: free
      Src: /src/vlc/modules/notify/notify.c:230,1
    - Dst: free
      Src: /src/vlc/modules/notify/notify.c:231,1
    - Dst: input_item_GetArtURL
      Src: /src/vlc/modules/notify/notify.c:234,1
    - Dst: vlc_uri2path
      Src: /src/vlc/modules/notify/notify.c:238,1
    - Dst: free
      Src: /src/vlc/modules/notify/notify.c:239,1
    - Dst: gdk_pixbuf_new_from_file_at_scale
      Src: /src/vlc/modules/notify/notify.c:246,1
    - Dst: free
      Src: /src/vlc/modules/notify/notify.c:248,1
    - Dst: gtk_icon_theme_get_default
      Src: /src/vlc/modules/notify/notify.c:256,1
    - Dst: gtk_icon_theme_load_icon
      Src: /src/vlc/modules/notify/notify.c:257,1
    - Dst: config_GetSysPath
      Src: /src/vlc/modules/notify/notify.c:262,1
    - Dst: gdk_pixbuf_new_from_file
      Src: /src/vlc/modules/notify/notify.c:266,1
    - Dst: free
      Src: /src/vlc/modules/notify/notify.c:267,1
    - Dst: strlen
      Src: /src/vlc/modules/notify/notify.c:273,1
    - Dst: strcpy
      Src: /src/vlc/modules/notify/notify.c:285,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/notify/notify.c:292,1
    - Dst: Notify
      Src: /src/vlc/modules/notify/notify.c:294,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/notify/notify.c:294,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/notify/notify.c:296,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 3
    argNames:
    - player
    - p_input_item
    - data
    argTypes:
    - vlc_player_t*
    - input_item_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 297
    functionName: on_current_media_changed
    functionSourceFile: /src/vlc/modules/notify/notify.c
    functionUses: 0
    functionsReached:
    - gtk_icon_theme_get_default
    - config_GetSysPath
    - strcpy
    - EMPTY_STR
    - vlc_mutex_lock
    - input_item_GetArtURL
    - input_item_GetArtist
    - Notify
    - snprintf
    - vlc_uri2path
    - input_item_GetAlbum
    - input_item_GetTitleFbName
    - vlc_mutex_unlock
    - strlen
    - free
    - gtk_icon_theme_load_icon
    - VLC_OBJECT
    - gdk_pixbuf_new_from_file
    - gdk_pixbuf_new_from_file_at_scale
    linkageType: ''
    returnType: void
    signature: "void on_current_media_changed(vlc_player_t *player,\n                                     input_item_t
      *p_input_item, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/notify/notify.c:305,1
    - Dst: notify_notification_close
      Src: /src/vlc/modules/notify/notify.c:306,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/notify/notify.c:307,1
    - Dst: vlc_playlist_Next
      Src: /src/vlc/modules/notify/notify.c:308,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/notify/notify.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - notification
    - psz
    - p
    argTypes:
    - NotifyNotification*
    - gchar*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 310
    functionName: Next
    functionSourceFile: /src/vlc/modules/notify/notify.c
    functionUses: 40
    functionsReached:
    - notify_notification_close
    - vlc_playlist_Lock
    - vlc_playlist_Unlock
    - vlc_playlist_Next
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void Next( NotifyNotification *notification, gchar *psz, gpointer p
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/notify/notify.c:318,1
    - Dst: notify_notification_close
      Src: /src/vlc/modules/notify/notify.c:319,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/notify/notify.c:320,1
    - Dst: vlc_playlist_Prev
      Src: /src/vlc/modules/notify/notify.c:321,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/notify/notify.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - notification
    - psz
    - p
    argTypes:
    - NotifyNotification*
    - gchar*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 323
    functionName: Prev
    functionSourceFile: /src/vlc/modules/notify/notify.c
    functionUses: 7
    functionsReached:
    - notify_notification_close
    - vlc_playlist_Lock
    - vlc_playlist_Unlock
    - vlc_playlist_Prev
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void Prev( NotifyNotification *notification, gchar *psz, gpointer p
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: notify_notification_close
      Src: /src/vlc/modules/notify/notify.c:336,1
    - Dst: g_object_unref
      Src: /src/vlc/modules/notify/notify.c:337,1
    - Dst: notify_notification_new
      Src: /src/vlc/modules/notify/notify.c:340,1
    - Dst: _
      Src: /src/vlc/modules/notify/notify.c:340,1
    - Dst: notify_notification_set_timeout
      Src: /src/vlc/modules/notify/notify.c:347,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/notify/notify.c:348,1
    - Dst: notify_notification_set_urgency
      Src: /src/vlc/modules/notify/notify.c:349,1
    - Dst: notify_notification_set_icon_from_pixbuf
      Src: /src/vlc/modules/notify/notify.c:352,1
    - Dst: g_object_unref
      Src: /src/vlc/modules/notify/notify.c:353,1
    - Dst: notify_notification_add_action
      Src: /src/vlc/modules/notify/notify.c:359,1
    - Dst: _
      Src: /src/vlc/modules/notify/notify.c:359,1
    - Dst: notify_notification_add_action
      Src: /src/vlc/modules/notify/notify.c:361,1
    - Dst: _
      Src: /src/vlc/modules/notify/notify.c:361,1
    - Dst: notify_notification_show
      Src: /src/vlc/modules/notify/notify.c:365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - p_this
    - psz_temp
    - pix
    - p_intf
    argTypes:
    - vlc_object_t*
    - char*
    - GdkPixbuf*
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 370
    functionName: Notify
    functionSourceFile: /src/vlc/modules/notify/notify.c
    functionUses: 1
    functionsReached:
    - notify_notification_close
    - var_InheritInteger
    - _
    - notify_notification_set_icon_from_pixbuf
    - notify_notification_add_action
    - g_object_unref
    - notify_notification_new
    - notify_notification_set_urgency
    - notify_notification_set_timeout
    - notify_notification_show
    linkageType: ''
    returnType: int
    signature: "int Notify( vlc_object_t *p_this, const char *psz_temp, GdkPixbuf
      *pix,\n                   intf_thread_t *p_intf )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/stereo_pan.c:46,1
    - Dst: atomic_load
      Src: /src/vlc/modules/audio_filter/stereo_pan.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p_filter
    - p_in_buf
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: Process
    functionSourceFile: /src/vlc/modules/audio_filter/stereo_pan.c
    functionUses: 9
    functionsReached:
    - atomic_load
    - aout_FormatNbChannels
    linkageType: ''
    returnType: block_t
    signature: block_t *Process ( filter_t *p_filter, block_t *p_in_buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/stereo_pan.c:65,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/stereo_pan.c:66,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/stereo_pan.c:67,1
    - Dst: atomic_store
      Src: /src/vlc/modules/audio_filter/stereo_pan.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - p_this
    - psz_var
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 72
    functionName: paramCallback
    functionSourceFile: /src/vlc/modules/audio_filter/stereo_pan.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int paramCallback( vlc_object_t *p_this, char const *psz_var,\n                          vlc_value_t
      oldval, vlc_value_t newval,\n                          void *p_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/audio_filter/stereo_pan.c:78,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/audio_filter/stereo_pan.c:79,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/audio_filter/stereo_pan.c:80,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/stereo_pan.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_in
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: Close
    functionSourceFile: /src/vlc/modules/audio_filter/stereo_pan.c
    functionUses: 136
    functionsReached:
    - free
    - var_Destroy
    - vlc_object_parent
    - var_DelCallback
    linkageType: ''
    returnType: void
    signature: void Close (vlc_object_t *p_in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_filter/stereo_pan.c:87,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/audio_filter/stereo_pan.c:90,1
    - Dst: malloc
      Src: /src/vlc/modules/audio_filter/stereo_pan.c:91,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/stereo_pan.c:92,1
    - Dst: atomic_init
      Src: /src/vlc/modules/audio_filter/stereo_pan.c:95,1
    - Dst: var_CreateGetFloat
      Src: /src/vlc/modules/audio_filter/stereo_pan.c:96,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/audio_filter/stereo_pan.c:97,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/audio_filter/stereo_pan.c:101,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/audio_filter/stereo_pan.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 110
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_filter/stereo_pan.c
    functionUses: 45
    functionsReached:
    - atomic_init
    - aout_FormatPrepare
    - vlc_object_parent
    - var_AddCallback
    - msg_Err
    - var_CreateGetFloat
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open (filter_t *p_filter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/normvol.c:97,1
    - Dst: malloc
      Src: /src/vlc/modules/audio_filter/normvol.c:99,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/audio_filter/normvol.c:102,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/audio_filter/normvol.c:102,1
    - Dst: var_CreateGetFloat
      Src: /src/vlc/modules/audio_filter/normvol.c:104,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/audio_filter/normvol.c:104,1
    - Dst: calloc
      Src: /src/vlc/modules/audio_filter/normvol.c:110,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/normvol.c:113,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/audio_filter/normvol.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 127
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_filter/normvol.c
    functionUses: 45
    functionsReached:
    - aout_FormatPrepare
    - vlc_object_parent
    - calloc
    - free
    - var_CreateGetInteger
    - var_CreateGetFloat
    - malloc
    - aout_FormatNbChannels
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/normvol.c:140,1
    - Dst: calloc
      Src: /src/vlc/modules/audio_filter/normvol.c:146,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/audio_filter/normvol.c:150,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/normvol.c:153,1
    - Dst: memmove
      Src: /src/vlc/modules/audio_filter/normvol.c:172,1
    - Dst: sqrt
      Src: /src/vlc/modules/audio_filter/normvol.c:178,1
    - Dst: var_GetFloat
      Src: /src/vlc/modules/audio_filter/normvol.c:191,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/audio_filter/normvol.c:191,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/normvol.c:215,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/normvol.c:216,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/normvol.c:220,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 2
    argNames:
    - p_filter
    - p_in_buf
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 222
    functionName: DoWork
    functionSourceFile: /src/vlc/modules/audio_filter/normvol.c
    functionUses: 0
    functionsReached:
    - var_GetFloat
    - block_Release
    - vlc_object_parent
    - sqrt
    - calloc
    - memmove
    - free
    - vlc_alloc
    - aout_FormatNbChannels
    linkageType: ''
    returnType: block_t
    signature: block_t *DoWork( filter_t *p_filter, block_t *p_in_buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/audio_filter/normvol.c:231,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/normvol.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 233
    functionName: Close
    functionSourceFile: /src/vlc/modules/audio_filter/normvol.c
    functionUses: 136
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void Close( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: powf
      Src: /src/vlc/modules/audio_filter/gate.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - db
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: db_to_linear
    functionSourceFile: /src/vlc/modules/audio_filter/gate.c
    functionUses: 0
    functionsReached:
    - powf
    linkageType: ''
    returnType: float
    signature: float db_to_linear(float db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expf
      Src: /src/vlc/modules/audio_filter/gate.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sample_rate
    - smoothing_time
    argTypes:
    - int
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: set_alpha
    functionSourceFile: /src/vlc/modules/audio_filter/gate.c
    functionUses: 0
    functionsReached:
    - expf
    linkageType: ''
    returnType: float
    signature: float set_alpha(int sample_rate, float smoothing_time)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_filter/gate.c:125,1
    - Dst: malloc
      Src: /src/vlc/modules/audio_filter/gate.c:129,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_filter/gate.c:138,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/gate.c:139,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/audio_filter/gate.c:142,1
    - Dst: db_to_linear
      Src: /src/vlc/modules/audio_filter/gate.c:143,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/audio_filter/gate.c:145,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/audio_filter/gate.c:146,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/audio_filter/gate.c:152,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_filter/gate.c:155,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/gate.c:156,1
    - Dst: set_alpha
      Src: /src/vlc/modules/audio_filter/gate.c:159,1
    - Dst: calloc
      Src: /src/vlc/modules/audio_filter/gate.c:160,1
    - Dst: calloc
      Src: /src/vlc/modules/audio_filter/gate.c:161,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/gate.c:165,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/gate.c:166,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/gate.c:167,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 185
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_filter/gate.c
    functionUses: 45
    functionsReached:
    - set_alpha
    - db_to_linear
    - msg_Err
    - free
    - calloc
    - msg_Warn
    - var_InheritFloat
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *p_this)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - p_filter
    - p_block
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 230
    functionName: Process
    functionSourceFile: /src/vlc/modules/audio_filter/gate.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: block_t
    signature: block_t *Process(filter_t *p_filter, block_t *p_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/audio_filter/gate.c:239,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/gate.c:240,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/gate.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: Close
    functionSourceFile: /src/vlc/modules/audio_filter/gate.c
    functionUses: 136
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void Close( filter_t *p_filter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/audio_filter/param_eq.c:110,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/audio_filter/param_eq.c:123,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/audio_filter/param_eq.c:124,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/audio_filter/param_eq.c:125,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/audio_filter/param_eq.c:126,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/audio_filter/param_eq.c:128,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/audio_filter/param_eq.c:129,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/audio_filter/param_eq.c:130,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/audio_filter/param_eq.c:132,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/audio_filter/param_eq.c:133,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/audio_filter/param_eq.c:134,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/audio_filter/param_eq.c:136,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/audio_filter/param_eq.c:137,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/audio_filter/param_eq.c:138,1
    - Dst: CalcPeakEQCoeffs
      Src: /src/vlc/modules/audio_filter/param_eq.c:142,1
    - Dst: CalcPeakEQCoeffs
      Src: /src/vlc/modules/audio_filter/param_eq.c:144,1
    - Dst: CalcPeakEQCoeffs
      Src: /src/vlc/modules/audio_filter/param_eq.c:146,1
    - Dst: CalcShelfEQCoeffs
      Src: /src/vlc/modules/audio_filter/param_eq.c:148,1
    - Dst: CalcShelfEQCoeffs
      Src: /src/vlc/modules/audio_filter/param_eq.c:150,1
    - Dst: calloc
      Src: /src/vlc/modules/audio_filter/param_eq.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 156
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_filter/param_eq.c
    functionUses: 45
    functionsReached:
    - CalcPeakEQCoeffs
    - calloc
    - CalcShelfEQCoeffs
    - var_InheritFloat
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/audio_filter/param_eq.c:161,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/param_eq.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: Close
    functionSourceFile: /src/vlc/modules/audio_filter/param_eq.c
    functionUses: 136
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void Close( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProcessEQ
      Src: /src/vlc/modules/audio_filter/param_eq.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_filter
    - p_in_buf
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: DoWork
    functionSourceFile: /src/vlc/modules/audio_filter/param_eq.c
    functionUses: 0
    functionsReached:
    - ProcessEQ
    linkageType: ''
    returnType: block_t
    signature: block_t *DoWork( filter_t * p_filter, block_t * p_in_buf )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: powf
      Src: /src/vlc/modules/audio_filter/param_eq.c:207,1
    - Dst: sinf
      Src: /src/vlc/modules/audio_filter/param_eq.c:209,1
    - Dst: cosf
      Src: /src/vlc/modules/audio_filter/param_eq.c:212,1
    - Dst: cosf
      Src: /src/vlc/modules/audio_filter/param_eq.c:215,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 5
    argNames:
    - f0
    - Q
    - gainDB
    - Fs
    - coeffs
    argTypes:
    - float
    - float
    - float
    - float
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 224
    functionName: CalcPeakEQCoeffs
    functionSourceFile: /src/vlc/modules/audio_filter/param_eq.c
    functionUses: 1
    functionsReached:
    - powf
    - cosf
    - sinf
    linkageType: ''
    returnType: void
    signature: "void CalcPeakEQCoeffs( float f0, float Q, float gainDB, float Fs,\n
      \                             float *coeffs )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: powf
      Src: /src/vlc/modules/audio_filter/param_eq.c:251,1
    - Dst: sinf
      Src: /src/vlc/modules/audio_filter/param_eq.c:253,1
    - Dst: sqrtf
      Src: /src/vlc/modules/audio_filter/param_eq.c:253,1
    - Dst: cosf
      Src: /src/vlc/modules/audio_filter/param_eq.c:257,1
    - Dst: sqrtf
      Src: /src/vlc/modules/audio_filter/param_eq.c:257,1
    - Dst: cosf
      Src: /src/vlc/modules/audio_filter/param_eq.c:258,1
    - Dst: cosf
      Src: /src/vlc/modules/audio_filter/param_eq.c:259,1
    - Dst: sqrtf
      Src: /src/vlc/modules/audio_filter/param_eq.c:259,1
    - Dst: cosf
      Src: /src/vlc/modules/audio_filter/param_eq.c:260,1
    - Dst: sqrtf
      Src: /src/vlc/modules/audio_filter/param_eq.c:260,1
    - Dst: cosf
      Src: /src/vlc/modules/audio_filter/param_eq.c:261,1
    - Dst: cosf
      Src: /src/vlc/modules/audio_filter/param_eq.c:262,1
    - Dst: sqrtf
      Src: /src/vlc/modules/audio_filter/param_eq.c:262,1
    - Dst: cosf
      Src: /src/vlc/modules/audio_filter/param_eq.c:266,1
    - Dst: sqrtf
      Src: /src/vlc/modules/audio_filter/param_eq.c:266,1
    - Dst: cosf
      Src: /src/vlc/modules/audio_filter/param_eq.c:267,1
    - Dst: cosf
      Src: /src/vlc/modules/audio_filter/param_eq.c:268,1
    - Dst: sqrtf
      Src: /src/vlc/modules/audio_filter/param_eq.c:268,1
    - Dst: cosf
      Src: /src/vlc/modules/audio_filter/param_eq.c:269,1
    - Dst: sqrtf
      Src: /src/vlc/modules/audio_filter/param_eq.c:269,1
    - Dst: cosf
      Src: /src/vlc/modules/audio_filter/param_eq.c:270,1
    - Dst: cosf
      Src: /src/vlc/modules/audio_filter/param_eq.c:271,1
    - Dst: sqrtf
      Src: /src/vlc/modules/audio_filter/param_eq.c:271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 6
    argNames:
    - f0
    - slope
    - gainDB
    - high
    - Fs
    - coeffs
    argTypes:
    - float
    - float
    - float
    - int
    - float
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 279
    functionName: CalcShelfEQCoeffs
    functionSourceFile: /src/vlc/modules/audio_filter/param_eq.c
    functionUses: 1
    functionsReached:
    - sqrtf
    - powf
    - cosf
    - sinf
    linkageType: ''
    returnType: void
    signature: "void CalcShelfEQCoeffs( float f0, float slope, float gainDB, int high,\n
      \                              float Fs, float *coeffs )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 7
    argNames:
    - src
    - dest
    - state
    - channels
    - samples
    - coeffs
    - eqCount
    argTypes:
    - float*
    - float*
    - float*
    - unsigned
    - unsigned
    - float*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 325
    functionName: ProcessEQ
    functionSourceFile: /src/vlc/modules/audio_filter/param_eq.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ProcessEQ( const float *src, float *dest, float *state,\n                unsigned
      channels, unsigned samples, const float *coeffs,\n                unsigned eqCount
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/audio_filter/center.c:38,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/center.c:41,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/center.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - filter
    - in_buf
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 61
    functionName: Process
    functionSourceFile: /src/vlc/modules/audio_filter/center.c
    functionUses: 9
    functionsReached:
    - block_Alloc
    - block_Release
    linkageType: ''
    returnType: block_t
    signature: block_t *Process ( filter_t *filter, block_t *in_buf )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/audio_filter/center.c:76,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/audio_filter/center.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - in
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 85
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_filter/center.c
    functionUses: 45
    functionsReached:
    - aout_FormatPrepare
    linkageType: ''
    returnType: int
    signature: int Open (vlc_object_t *in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_create
      Src: /src/vlc/modules/audio_filter/gain.c:81,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/gain.c:82,1
    - Dst: module_need
      Src: /src/vlc/modules/audio_filter/gain.c:87,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_filter/gain.c:90,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/audio_filter/gain.c:91,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/audio_filter/gain.c:95,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/audio_filter/gain.c:95,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_filter/gain.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 106
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_filter/gain.c
    functionUses: 45
    functionsReached:
    - var_InheritFloat
    - vlc_object_parent
    - vlc_object_create
    - msg_Dbg
    - vlc_object_delete
    - msg_Warn
    - module_need
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_sys_t*::volume::amplify
      Src: /src/vlc/modules/audio_filter/gain.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_filter
    - p_block
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: Process
    functionSourceFile: /src/vlc/modules/audio_filter/gain.c
    functionUses: 9
    functionsReached:
    - filter_sys_t*::volume::amplify
    linkageType: ''
    returnType: block_t
    signature: block_t *Process( filter_t *p_filter, block_t *p_block )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: module_unneed
      Src: /src/vlc/modules/audio_filter/gain.c:130,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/audio_filter/gain.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: Close
    functionSourceFile: /src/vlc/modules/audio_filter/gain.c
    functionUses: 136
    functionsReached:
    - module_unneed
    - vlc_object_delete
    linkageType: ''
    returnType: void
    signature: void Close( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: small_value
    functionSourceFile: /src/vlc/modules/audio_filter/chorus_flanger.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float small_value(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:115,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:119,1
    - Dst: var_CreateGetFloat
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:120,1
    - Dst: var_CreateGetFloat
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:121,1
    - Dst: var_CreateGetFloat
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:122,1
    - Dst: var_CreateGetFloat
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:123,1
    - Dst: var_CreateGetFloat
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:124,1
    - Dst: var_CreateGetFloat
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:125,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:126,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:127,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:128,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:129,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:130,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:131,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:135,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:136,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:142,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:143,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:149,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:150,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:158,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:165,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:166,1
    - Dst: calloc
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:170,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:173,1
    - Dst: small_value
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:185,1
    - Dst: small_value
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:186,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:196,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 60
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 206
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_filter/chorus_flanger.c
    functionUses: 45
    functionsReached:
    - aout_FormatPrepare
    - small_value
    - var_AddCallback
    - msg_Err
    - free
    - calloc
    - msg_Dbg
    - var_CreateGetFloat
    - malloc
    - aout_FormatNbChannels
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabsf
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:214,1
    - Dst: small_value
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - f_value
    argTypes:
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: sanitize
    functionSourceFile: /src/vlc/modules/audio_filter/chorus_flanger.c
    functionUses: 0
    functionsReached:
    - small_value
    - fabsf
    linkageType: ''
    returnType: void
    signature: void sanitize( float * f_value )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: floorf
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:231,1
    - Dst: sinf
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:242,1
    - Dst: floorf
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:243,1
    - Dst: abs
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:244,1
    - Dst: floorf
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:246,1
    - Dst: floorf
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:252,1
    - Dst: floorf
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:260,1
    - Dst: sanitize
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:283,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 2
    argNames:
    - p_filter
    - p_in_buf
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 304
    functionName: DoWork
    functionSourceFile: /src/vlc/modules/audio_filter/chorus_flanger.c
    functionUses: 0
    functionsReached:
    - floorf
    - sanitize
    - abs
    - sinf
    linkageType: ''
    returnType: block_t
    signature: block_t *DoWork( filter_t *p_filter, block_t *p_in_buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_DelCallback
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:314,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:315,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:316,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:317,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:318,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:319,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:320,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:321,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:322,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:323,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:324,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:325,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:327,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 329
    functionName: Close
    functionSourceFile: /src/vlc/modules/audio_filter/chorus_flanger.c
    functionUses: 136
    functionsReached:
    - free
    - var_Destroy
    - var_DelCallback
    linkageType: ''
    returnType: void
    signature: void Close( filter_t *p_filter )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:340,1
    - Dst: reallocate_buffer
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:346,1
    - Dst: strncmp
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:354,1
    - Dst: reallocate_buffer
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:359,1
    - Dst: strncmp
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:367,1
    - Dst: small_value
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:373,1
    - Dst: small_value
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:374,1
    - Dst: strncmp
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:382,1
    - Dst: strncmp
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:384,1
    - Dst: strncmp
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:386,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 5
    argNames:
    - p_this
    - psz_var
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 390
    functionName: paramCallback
    functionSourceFile: /src/vlc/modules/audio_filter/chorus_flanger.c
    functionUses: 0
    functionsReached:
    - strncmp
    - reallocate_buffer
    - small_value
    linkageType: ''
    returnType: int
    signature: "int paramCallback( vlc_object_t *p_this, char const *psz_var,\n                          vlc_value_t
      oldval, vlc_value_t newval, void *p_data )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_reallocarray
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:398,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:399,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:401,1
    - Dst: memset
      Src: /src/vlc/modules/audio_filter/chorus_flanger.c:407,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - p_filter
    - p_sys
    argTypes:
    - filter_t*
    - filter_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 410
    functionName: reallocate_buffer
    functionSourceFile: /src/vlc/modules/audio_filter/chorus_flanger.c
    functionUses: 1
    functionsReached:
    - vlc_reallocarray
    - memset
    - unlikely
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int reallocate_buffer( filter_t *p_filter,  filter_sys_t *p_sys )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_dynamics_Lin2Db
      Src: /src/vlc/modules/audio_filter/compressor.c:47,1
    - Dst: vlc_dynamics_Db2Lin
      Src: /src/vlc/modules/audio_filter/compressor.c:48,1
    - Dst: vlc_dynamics_Db2Lin
      Src: /src/vlc/modules/audio_filter/compressor.c:51,1
    - Dst: vlc_dynamics_Lin2Db
      Src: /src/vlc/modules/audio_filter/compressor.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 7
    argNames:
    - f_env
    - f_threshold
    - f_knee
    - f_rs
    - f_kn_lo
    - f_kn_hi
    - p_sys
    argTypes:
    - float
    - float
    - float
    - float
    - float
    - float
    - filter_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 52
    functionName: CompressorGain
    functionSourceFile: /src/vlc/modules/audio_filter/compressor.c
    functionUses: 0
    functionsReached:
    - vlc_dynamics_Db2Lin
    - vlc_dynamics_Lin2Db
    linkageType: ''
    returnType: float
    signature: "float CompressorGain( float f_env,\n                             float
      f_threshold, float f_knee, float f_rs,\n                             float f_kn_lo,
      float f_kn_hi,\n                             filter_sys_t *p_sys )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_dynamics_OpenCommon
      Src: /src/vlc/modules/audio_filter/compressor.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_filter/compressor.c
    functionUses: 45
    functionsReached:
    - vlc_dynamics_OpenCommon
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rnnoise_destroy
      Src: /src/vlc/modules/audio_filter/rnnoise.c:47,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/rnnoise.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 53
    functionName: Flush
    functionSourceFile: /src/vlc/modules/audio_filter/rnnoise.c
    functionUses: 59
    functionsReached:
    - free
    - rnnoise_destroy
    linkageType: ''
    returnType: void
    signature: void Flush(filter_t *p_filter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/audio_filter/rnnoise.c:57,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/rnnoise.c:58,1
    - Dst: rnnoise_create
      Src: /src/vlc/modules/audio_filter/rnnoise.c:63,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/rnnoise.c:64,1
    - Dst: rnnoise_destroy
      Src: /src/vlc/modules/audio_filter/rnnoise.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 74
    functionName: init_denoise_state
    functionSourceFile: /src/vlc/modules/audio_filter/rnnoise.c
    functionUses: 0
    functionsReached:
    - rnnoise_destroy
    - rnnoise_create
    - unlikely
    - malloc
    linkageType: ''
    returnType: DenoiseState
    signature: DenoiseState **init_denoise_state(unsigned i_channels)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/rnnoise.c:87,1
    - Dst: init_denoise_state
      Src: /src/vlc/modules/audio_filter/rnnoise.c:90,1
    - Dst: __MIN
      Src: /src/vlc/modules/audio_filter/rnnoise.c:98,1
    - Dst: rnnoise_process_frame
      Src: /src/vlc/modules/audio_filter/rnnoise.c:108,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - p_filter
    - p_block
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 128
    functionName: Process
    functionSourceFile: /src/vlc/modules/audio_filter/rnnoise.c
    functionUses: 9
    functionsReached:
    - init_denoise_state
    - unlikely
    - rnnoise_process_frame
    - __MIN
    linkageType: ''
    returnType: block_t
    signature: block_t *Process(filter_t *p_filter, block_t *p_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/vlc/modules/audio_filter/rnnoise.c:134,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/rnnoise.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: Close
    functionSourceFile: /src/vlc/modules/audio_filter/rnnoise.c
    functionUses: 136
    functionsReached:
    - free
    - Flush
    linkageType: ''
    returnType: void
    signature: void Close( filter_t *obj )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/audio_filter/rnnoise.c:142,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/audio_filter/rnnoise.c:142,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/rnnoise.c:143,1
    - Dst: init_denoise_state
      Src: /src/vlc/modules/audio_filter/rnnoise.c:149,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/rnnoise.c:150,1
    - Dst: vlc_obj_free
      Src: /src/vlc/modules/audio_filter/rnnoise.c:151,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/audio_filter/rnnoise.c:151,1
    - Dst: malloc
      Src: /src/vlc/modules/audio_filter/rnnoise.c:155,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/rnnoise.c:156,1
    - Dst: Flush
      Src: /src/vlc/modules/audio_filter/rnnoise.c:157,1
    - Dst: vlc_obj_free
      Src: /src/vlc/modules/audio_filter/rnnoise.c:158,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/audio_filter/rnnoise.c:158,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/audio_filter/rnnoise.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 173
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_filter/rnnoise.c
    functionUses: 45
    functionsReached:
    - aout_FormatPrepare
    - vlc_obj_malloc
    - init_denoise_state
    - vlc_obj_free
    - VLC_OBJECT
    - Flush
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open (vlc_object_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 173
    functionName: best_overlap_offset_float
    functionSourceFile: /src/vlc/modules/audio_filter/scaletempo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned best_overlap_offset_float( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - p_filter
    - buf_out
    - bytes_off
    argTypes:
    - filter_t*
    - void*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 191
    functionName: output_overlap_float
    functionSourceFile: /src/vlc/modules/audio_filter/scaletempo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void output_overlap_float( filter_t        *p_filter,\n                                  void
      \           *buf_out,\n                                  unsigned         bytes_off
      )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/vlc/modules/audio_filter/scaletempo.c:208,1
    - Dst: __MIN
      Src: /src/vlc/modules/audio_filter/scaletempo.c:216,1
    - Dst: __MIN
      Src: /src/vlc/modules/audio_filter/scaletempo.c:225,1
    - Dst: memcpy
      Src: /src/vlc/modules/audio_filter/scaletempo.c:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - p_filter
    - p_buffer
    - i_buffer
    - offset
    argTypes:
    - filter_t*
    - uint8_t*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 234
    functionName: fill_queue
    functionSourceFile: /src/vlc/modules/audio_filter/scaletempo.c
    functionUses: 0
    functionsReached:
    - memmove
    - memcpy
    - __MIN
    linkageType: ''
    returnType: size_t
    signature: "size_t fill_queue( filter_t      *p_filter,\n                          uint8_t
      \      *p_buffer,\n                          size_t         i_buffer,\n                          size_t
      \        offset )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/scaletempo.c:245,1
    - Dst: filter_sys_t*::best_overlap_offset
      Src: /src/vlc/modules/audio_filter/scaletempo.c:249,1
    - Dst: filter_sys_t*::output_overlap
      Src: /src/vlc/modules/audio_filter/scaletempo.c:251,1
    - Dst: memcpy
      Src: /src/vlc/modules/audio_filter/scaletempo.c:253,1
    - Dst: memcpy
      Src: /src/vlc/modules/audio_filter/scaletempo.c:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - p_filter
    - pout
    - i_max_bytes_out
    argTypes:
    - filter_t*
    - uint8_t*
    - size_t
    assertStmts:
    - condition: ( i_max_bytes_out >= p->bytes_stride )
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/vlc/modules/audio_filter/scaletempo.c
    constantsTouched: []
    func_position:
      end: 268
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 268
    functionName: transform_buffer
    functionSourceFile: /src/vlc/modules/audio_filter/scaletempo.c
    functionUses: 0
    functionsReached:
    - filter_sys_t*::output_overlap
    - assert
    - memcpy
    - filter_sys_t*::best_overlap_offset
    linkageType: ''
    returnType: size_t
    signature: "size_t transform_buffer( filter_t *p_filter,\n                                uint8_t
      *pout, size_t i_max_bytes_out )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_filter
    - bytes_in
    argTypes:
    - filter_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 286
    functionName: calculate_output_buffer_size
    functionSourceFile: /src/vlc/modules/audio_filter/scaletempo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t calculate_output_buffer_size( filter_t        *p_filter,\n
      \                                           size_t           bytes_in )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_alloc
      Src: /src/vlc/modules/audio_filter/scaletempo.c:315,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/audio_filter/scaletempo.c:316,1
    - Dst: memset
      Src: /src/vlc/modules/audio_filter/scaletempo.c:320,1
    - Dst: malloc
      Src: /src/vlc/modules/audio_filter/scaletempo.c:342,1
    - Dst: malloc
      Src: /src/vlc/modules/audio_filter/scaletempo.c:343,1
    - Dst: __MIN
      Src: /src/vlc/modules/audio_filter/scaletempo.c:366,1
    - Dst: memmove
      Src: /src/vlc/modules/audio_filter/scaletempo.c:367,1
    - Dst: malloc
      Src: /src/vlc/modules/audio_filter/scaletempo.c:375,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_filter/scaletempo.c:382,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/audio_filter/scaletempo.c:382,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 394
    functionName: reinit_buffers
    functionSourceFile: /src/vlc/modules/audio_filter/scaletempo.c
    functionUses: 0
    functionsReached:
    - memset
    - memmove
    - __MIN
    - vlc_alloc
    - msg_Dbg
    - VLC_OBJECT
    - malloc
    linkageType: ''
    returnType: int
    signature: int reinit_buffers( filter_t *p_filter )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/audio_filter/scaletempo.c:404,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/scaletempo.c:410,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_filter/scaletempo.c:414,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/audio_filter/scaletempo.c:420,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/audio_filter/scaletempo.c:421,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/audio_filter/scaletempo.c:422,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_filter/scaletempo.c:424,1
    - Dst: reinit_buffers
      Src: /src/vlc/modules/audio_filter/scaletempo.c:437,1
    - Dst: Close
      Src: /src/vlc/modules/audio_filter/scaletempo.c:439,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/audio_filter/scaletempo.c:444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 453
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_filter/scaletempo.c
    functionUses: 45
    functionsReached:
    - aout_FormatPrepare
    - var_InheritInteger
    - reinit_buffers
    - msg_Dbg
    - Close
    - var_InheritFloat
    - malloc
    - aout_FormatNbChannels
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/vlc/modules/audio_filter/scaletempo.c:458,1
    - Dst: powf
      Src: /src/vlc/modules/audio_filter/scaletempo.c:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_sys
    - pitch_shift
    argTypes:
    - filter_sys_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 460
    functionName: PitchSetRateShift
    functionSourceFile: /src/vlc/modules/audio_filter/scaletempo.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - powf
    linkageType: ''
    returnType: void
    signature: void PitchSetRateShift( filter_sys_t *p_sys, float pitch_shift )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/scaletempo.c:465,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/scaletempo.c:466,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/scaletempo.c:467,1
    - Dst: PitchSetRateShift
      Src: /src/vlc/modules/audio_filter/scaletempo.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - p_this
    - psz_var
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 472
    functionName: PitchCallback
    functionSourceFile: /src/vlc/modules/audio_filter/scaletempo.c
    functionUses: 0
    functionsReached:
    - PitchSetRateShift
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int PitchCallback( vlc_object_t *p_this, char const *psz_var,\n                          vlc_value_t
      oldval, vlc_value_t newval, void *p_data )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_create
      Src: /src/vlc/modules/audio_filter/scaletempo.c:476,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/scaletempo.c:477,1
    - Dst: atomic_load
      Src: /src/vlc/modules/audio_filter/scaletempo.c:484,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/audio_filter/scaletempo.c:485,1
    - Dst: module_need_var
      Src: /src/vlc/modules/audio_filter/scaletempo.c:486,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_filter/scaletempo.c:490,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/audio_filter/scaletempo.c:491,1
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/scaletempo.c:494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: ( p_resampler->ops != NULL )
      pos:
        line_end: 493
        line_start: 493
        source_file: /src/vlc/modules/audio_filter/scaletempo.c
    constantsTouched: []
    func_position:
      end: 496
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 496
    functionName: ResamplerCreate
    functionSourceFile: /src/vlc/modules/audio_filter/scaletempo.c
    functionUses: 0
    functionsReached:
    - aout_FormatPrepare
    - assert
    - atomic_load
    - vlc_object_create
    - msg_Err
    - module_need_var
    - vlc_object_delete
    - unlikely
    linkageType: ''
    returnType: filter_t
    signature: filter_t *ResamplerCreate(filter_t *p_filter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Open
      Src: /src/vlc/modules/audio_filter/scaletempo.c:500,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/audio_filter/scaletempo.c:505,1
    - Dst: var_CreateGetFloat
      Src: /src/vlc/modules/audio_filter/scaletempo.c:508,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/audio_filter/scaletempo.c:509,1
    - Dst: PitchSetRateShift
      Src: /src/vlc/modules/audio_filter/scaletempo.c:510,1
    - Dst: ResamplerCreate
      Src: /src/vlc/modules/audio_filter/scaletempo.c:512,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 523
    functionName: OpenPitch
    functionSourceFile: /src/vlc/modules/audio_filter/scaletempo.c
    functionUses: 0
    functionsReached:
    - vlc_object_parent
    - var_AddCallback
    - ResamplerCreate
    - Open
    - var_CreateGetFloat
    - PitchSetRateShift
    linkageType: ''
    returnType: int
    signature: int OpenPitch( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/audio_filter/scaletempo.c:529,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/scaletempo.c:530,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/scaletempo.c:531,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/scaletempo.c:532,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/scaletempo.c:533,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/scaletempo.c:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 535
    functionName: Close
    functionSourceFile: /src/vlc/modules/audio_filter/scaletempo.c
    functionUses: 137
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void Close( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/audio_filter/scaletempo.c:541,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/audio_filter/scaletempo.c:542,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/audio_filter/scaletempo.c:543,1
    - Dst: vlc_filter_Delete
      Src: /src/vlc/modules/audio_filter/scaletempo.c:544,1
    - Dst: Close
      Src: /src/vlc/modules/audio_filter/scaletempo.c:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 546
    functionName: ClosePitch
    functionSourceFile: /src/vlc/modules/audio_filter/scaletempo.c
    functionUses: 0
    functionsReached:
    - var_Destroy
    - vlc_object_parent
    - var_DelCallback
    - vlc_filter_Delete
    - Close
    linkageType: ''
    returnType: void
    signature: void ClosePitch( filter_t *p_filter )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_filter/scaletempo.c:565,1
    - Dst: calculate_output_buffer_size
      Src: /src/vlc/modules/audio_filter/scaletempo.c:571,1
    - Dst: fill_queue
      Src: /src/vlc/modules/audio_filter/scaletempo.c:573,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/audio_filter/scaletempo.c:577,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/scaletempo.c:580,1
    - Dst: transform_buffer
      Src: /src/vlc/modules/audio_filter/scaletempo.c:586,1
    - Dst: fill_queue
      Src: /src/vlc/modules/audio_filter/scaletempo.c:589,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/audio_filter/scaletempo.c:596,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/scaletempo.c:600,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - p_filter
    - p_in_buf
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 552
    functionDepth: 2
    functionLinenumber: 552
    functionLinenumberEnd: 602
    functionName: DoWork
    functionSourceFile: /src/vlc/modules/audio_filter/scaletempo.c
    functionUses: 0
    functionsReached:
    - transform_buffer
    - block_Release
    - block_Alloc
    - msg_Dbg
    - vlc_tick_from_samples
    - fill_queue
    - calculate_output_buffer_size
    linkageType: ''
    returnType: block_t
    signature: block_t *DoWork( filter_t * p_filter, block_t * p_in_buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/vlc/modules/audio_filter/scaletempo.c:609,1
    - Dst: filter_sys_t*::resampler::ops::filter_audio
      Src: /src/vlc/modules/audio_filter/scaletempo.c:616,1
    - Dst: DoWork
      Src: /src/vlc/modules/audio_filter/scaletempo.c:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p_filter
    - p_in_buf
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 620
    functionName: DoPitchWork
    functionSourceFile: /src/vlc/modules/audio_filter/scaletempo.c
    functionUses: 0
    functionsReached:
    - atomic_load
    - DoWork
    - filter_sys_t*::resampler::ops::filter_audio
    linkageType: ''
    returnType: block_t
    signature: block_t *DoPitchWork( filter_t * p_filter, block_t * p_in_buf )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/audio_filter/audiobargraph_a.c:112,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/audio_filter/audiobargraph_a.c:120,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/audio_filter/audiobargraph_a.c:122,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/audio_filter/audiobargraph_a.c:123,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/audio_filter/audiobargraph_a.c:124,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/audio_filter/audiobargraph_a.c:125,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/audio_filter/audiobargraph_a.c:125,1
    - Dst: var_CreateGetFloat
      Src: /src/vlc/modules/audio_filter/audiobargraph_a.c:126,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/audio_filter/audiobargraph_a.c:127,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/audio_filter/audiobargraph_a.c:127,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/audio_filter/audiobargraph_a.c:135,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/audio_filter/audiobargraph_a.c:144,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/audio_filter/audiobargraph_a.c:144,1
    - Dst: var_Create
      Src: /src/vlc/modules/audio_filter/audiobargraph_a.c:146,1
    - Dst: var_Create
      Src: /src/vlc/modules/audio_filter/audiobargraph_a.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 150
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_filter/audiobargraph_a.c
    functionUses: 46
    functionsReached:
    - aout_FormatPrepare
    - VLC_TICK_FROM_MS
    - vlc_object_instance
    - var_Create
    - config_ChainParse
    - var_CreateGetInteger
    - VLC_OBJECT
    - var_CreateGetFloat
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/vlc/modules/audio_filter/audiobargraph_a.c:160,1
    - Dst: var_SetString
      Src: /src/vlc/modules/audio_filter/audiobargraph_a.c:164,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/audio_filter/audiobargraph_a.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - p_filter
    - value
    - nbChannels
    argTypes:
    - filter_t*
    - float*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 166
    functionName: SendValues
    functionSourceFile: /src/vlc/modules/audio_filter/audiobargraph_a.c
    functionUses: 0
    functionsReached:
    - var_SetString
    - snprintf
    - vlc_object_instance
    linkageType: ''
    returnType: void
    signature: void SendValues(filter_t *p_filter, float *value, int nbChannels)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/audiobargraph_a.c:177,1
    - Dst: xmalloc
      Src: /src/vlc/modules/audio_filter/audiobargraph_a.c:192,1
    - Dst: value::value
      Src: /src/vlc/modules/audio_filter/audiobargraph_a.c:196,1
    - Dst: value::value
      Src: /src/vlc/modules/audio_filter/audiobargraph_a.c:199,1
    - Dst: p_sys::p_sys
      Src: /src/vlc/modules/audio_filter/audiobargraph_a.c:203,1
    - Dst: date::date
      Src: /src/vlc/modules/audio_filter/audiobargraph_a.c:209,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/audiobargraph_a.c:213,1
    - Dst: sqrtf
      Src: /src/vlc/modules/audio_filter/audiobargraph_a.c:229,1
    - Dst: var_SetBool
      Src: /src/vlc/modules/audio_filter/audiobargraph_a.c:232,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/audio_filter/audiobargraph_a.c:232,1
    - Dst: SendValues
      Src: /src/vlc/modules/audio_filter/audiobargraph_a.c:240,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 2
    argNames:
    - p_filter
    - p_in_buf
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 245
    functionName: DoWork
    functionSourceFile: /src/vlc/modules/audio_filter/audiobargraph_a.c
    functionUses: 1
    functionsReached:
    - SendValues
    - p_sys::p_sys
    - vlc_object_instance
    - value::value
    - xmalloc
    - date::date
    - free
    - sqrtf
    - var_SetBool
    - aout_FormatNbChannels
    linkageType: ''
    returnType: block_t
    signature: block_t *DoWork( filter_t *p_filter, block_t *p_in_buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/audio_filter/audiobargraph_a.c:253,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/audio_filter/audiobargraph_a.c:253,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/audio_filter/audiobargraph_a.c:255,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/audio_filter/audiobargraph_a.c:256,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/audiobargraph_a.c:261,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/audiobargraph_a.c:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 264
    functionName: Close
    functionSourceFile: /src/vlc/modules/audio_filter/audiobargraph_a.c
    functionUses: 138
    functionsReached:
    - free
    - var_Destroy
    - vlc_object_instance
    - VLC_OBJECT
    linkageType: ''
    returnType: void
    signature: void Close( filter_t * p_filter )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/limiter.c:37,1
    - Dst: vlc_dynamics_Lin2Db
      Src: /src/vlc/modules/audio_filter/limiter.c:42,1
    - Dst: vlc_dynamics_Db2Lin
      Src: /src/vlc/modules/audio_filter/limiter.c:46,1
    - Dst: vlc_dynamics_Db2Lin
      Src: /src/vlc/modules/audio_filter/limiter.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 7
    argNames:
    - f_env
    - f_threshold
    - f_knee
    - f_rs
    - f_kn_lo
    - f_kn_hi
    - p_sys
    argTypes:
    - float
    - float
    - float
    - float
    - float
    - float
    - filter_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 50
    functionName: LimiterGain
    functionSourceFile: /src/vlc/modules/audio_filter/limiter.c
    functionUses: 0
    functionsReached:
    - vlc_dynamics_Db2Lin
    - vlc_dynamics_Lin2Db
    - VLC_UNUSED
    linkageType: ''
    returnType: float
    signature: "float LimiterGain( float f_env,\n                          float f_threshold,
      float f_knee, float f_rs,\n                          float f_kn_lo, float f_kn_hi,\n
      \                         filter_sys_t *p_sys )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_dynamics_OpenCommon
      Src: /src/vlc/modules/audio_filter/limiter.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_filter/limiter.c
    functionUses: 46
    functionsReached:
    - vlc_dynamics_OpenCommon
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/audio_filter/equalizer.c:152,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/audio_filter/equalizer.c:156,1
    - Dst: EqzInit
      Src: /src/vlc/modules/audio_filter/equalizer.c:157,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/equalizer.c:159,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/audio_filter/equalizer.c:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 173
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_filter/equalizer.c
    functionUses: 46
    functionsReached:
    - aout_FormatPrepare
    - EqzInit
    - vlc_mutex_init
    - free
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EqzClean
      Src: /src/vlc/modules/audio_filter/equalizer.c:182,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/equalizer.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: Close
    functionSourceFile: /src/vlc/modules/audio_filter/equalizer.c
    functionUses: 138
    functionsReached:
    - free
    - EqzClean
    linkageType: ''
    returnType: void
    signature: void Close( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EqzFilter
      Src: /src/vlc/modules/audio_filter/equalizer.c:193,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/equalizer.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_filter
    - p_in_buf
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: DoWork
    functionSourceFile: /src/vlc/modules/audio_filter/equalizer.c
    functionUses: 1
    functionsReached:
    - EqzFilter
    - aout_FormatNbChannels
    linkageType: ''
    returnType: block_t
    signature: block_t * DoWork( filter_t * p_filter, block_t * p_in_buf )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: powf
      Src: /src/vlc/modules/audio_filter/equalizer.c:226,1
    - Dst: sinf
      Src: /src/vlc/modules/audio_filter/equalizer.c:242,1
    - Dst: sinf
      Src: /src/vlc/modules/audio_filter/equalizer.c:243,1
    - Dst: sinf
      Src: /src/vlc/modules/audio_filter/equalizer.c:244,1
    - Dst: cosf
      Src: /src/vlc/modules/audio_filter/equalizer.c:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - i_rate
    - f_octave_percent
    - b_use_vlc_freqs
    - p_eqz_config
    argTypes:
    - int
    - float
    - bool
    - eqz_config_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 260
    functionName: EqzCoeffs
    functionSourceFile: /src/vlc/modules/audio_filter/equalizer.c
    functionUses: 0
    functionsReached:
    - powf
    - cosf
    - sinf
    linkageType: ''
    returnType: void
    signature: "void EqzCoeffs( int i_rate, float f_octave_percent,\n                       bool
      b_use_vlc_freqs,\n                       eqz_config_t *p_eqz_config )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: powf
      Src: /src/vlc/modules/audio_filter/equalizer.c:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - db
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 277
    functionName: EqzConvertdB
    functionSourceFile: /src/vlc/modules/audio_filter/equalizer.c
    functionUses: 0
    functionsReached:
    - powf
    linkageType: ''
    returnType: float
    signature: float EqzConvertdB( float db )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/audio_filter/equalizer.c:285,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/audio_filter/equalizer.c:288,1
    - Dst: EqzCoeffs
      Src: /src/vlc/modules/audio_filter/equalizer.c:289,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/audio_filter/equalizer.c:293,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/audio_filter/equalizer.c:294,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/audio_filter/equalizer.c:295,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/audio_filter/equalizer.c:309,1
    - Dst: var_Create
      Src: /src/vlc/modules/audio_filter/equalizer.c:335,1
    - Dst: var_Create
      Src: /src/vlc/modules/audio_filter/equalizer.c:336,1
    - Dst: var_CreateGetBool
      Src: /src/vlc/modules/audio_filter/equalizer.c:338,1
    - Dst: var_Create
      Src: /src/vlc/modules/audio_filter/equalizer.c:340,1
    - Dst: var_Get
      Src: /src/vlc/modules/audio_filter/equalizer.c:343,1
    - Dst: var_Get
      Src: /src/vlc/modules/audio_filter/equalizer.c:344,1
    - Dst: var_Get
      Src: /src/vlc/modules/audio_filter/equalizer.c:345,1
    - Dst: PresetCallback
      Src: /src/vlc/modules/audio_filter/equalizer.c:349,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/audio_filter/equalizer.c:349,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/equalizer.c:350,1
    - Dst: BandsCallback
      Src: /src/vlc/modules/audio_filter/equalizer.c:351,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/audio_filter/equalizer.c:351,1
    - Dst: PreampCallback
      Src: /src/vlc/modules/audio_filter/equalizer.c:352,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/audio_filter/equalizer.c:352,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_filter/equalizer.c:357,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/equalizer.c:358,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/equalizer.c:359,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/equalizer.c:363,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/audio_filter/equalizer.c:366,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/audio_filter/equalizer.c:367,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/audio_filter/equalizer.c:368,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/audio_filter/equalizer.c:369,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_filter/equalizer.c:371,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_filter/equalizer.c:375,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/equalizer.c:382,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/equalizer.c:383,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/equalizer.c:384,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 65
    argCount: 2
    argNames:
    - p_filter
    - i_rate
    argTypes:
    - filter_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 386
    functionName: EqzInit
    functionSourceFile: /src/vlc/modules/audio_filter/equalizer.c
    functionUses: 1
    functionsReached:
    - vlc_object_parent
    - EqzCoeffs
    - PreampCallback
    - var_AddCallback
    - var_CreateGetBool
    - var_InheritBool
    - var_Create
    - BandsCallback
    - msg_Err
    - free
    - msg_Dbg
    - vlc_alloc
    - VLC_OBJECT
    - var_Get
    - PresetCallback
    linkageType: ''
    returnType: int
    signature: int EqzInit( filter_t *p_filter, int i_rate )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_filter/equalizer.c:394,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_filter/equalizer.c:448,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 5
    argNames:
    - p_filter
    - out
    - in
    - i_samples
    - i_channels
    argTypes:
    - filter_t*
    - float*
    - float*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 449
    functionName: EqzFilter
    functionSourceFile: /src/vlc/modules/audio_filter/equalizer.c
    functionUses: 1
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: "void EqzFilter( filter_t *p_filter, float *out, float *in,\n                       int
      i_samples, int i_channels )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/audio_filter/equalizer.c:454,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/audio_filter/equalizer.c:456,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/audio_filter/equalizer.c:457,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/audio_filter/equalizer.c:458,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/audio_filter/equalizer.c:459,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/equalizer.c:461,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/equalizer.c:462,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/equalizer.c:463,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/equalizer.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 466
    functionName: EqzClean
    functionSourceFile: /src/vlc/modules/audio_filter/equalizer.c
    functionUses: 1
    functionsReached:
    - free
    - vlc_object_parent
    - var_DelCallback
    linkageType: ''
    returnType: void
    signature: void EqzClean( filter_t *p_filter )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/vlc/modules/audio_filter/equalizer.c:476,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_filter/equalizer.c:484,1
    - Dst: msg_Info
      Src: /src/vlc/modules/audio_filter/equalizer.c:485,1
    - Dst: msg_Info
      Src: /src/vlc/modules/audio_filter/equalizer.c:487,1
    - Dst: lldiv
      Src: /src/vlc/modules/audio_filter/equalizer.c:497,1
    - Dst: lroundf
      Src: /src/vlc/modules/audio_filter/equalizer.c:497,1
    - Dst: asprintf
      Src: /src/vlc/modules/audio_filter/equalizer.c:499,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/equalizer.c:503,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/equalizer.c:504,1
    - Dst: var_SetFloat
      Src: /src/vlc/modules/audio_filter/equalizer.c:509,1
    - Dst: var_SetString
      Src: /src/vlc/modules/audio_filter/equalizer.c:510,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/equalizer.c:511,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - p_aout
    - psz_cmd
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 514
    functionName: PresetCallback
    functionSourceFile: /src/vlc/modules/audio_filter/equalizer.c
    functionUses: 1
    functionsReached:
    - asprintf
    - var_SetFloat
    - msg_Err
    - free
    - msg_Info
    - lldiv
    - strcasecmp
    - var_SetString
    - unlikely
    - lroundf
    linkageType: ''
    returnType: int
    signature: "int PresetCallback( vlc_object_t *p_aout, char const *psz_cmd,\n                         vlc_value_t
      oldval, vlc_value_t newval, void *p_data )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/equalizer.c:519,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/equalizer.c:519,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/equalizer.c:519,1
    - Dst: powf
      Src: /src/vlc/modules/audio_filter/equalizer.c:526,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_filter/equalizer.c:530,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_filter/equalizer.c:532,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - p_this
    - psz_cmd
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 534
    functionName: PreampCallback
    functionSourceFile: /src/vlc/modules/audio_filter/equalizer.c
    functionUses: 1
    functionsReached:
    - vlc_mutex_lock
    - powf
    - vlc_mutex_unlock
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int PreampCallback( vlc_object_t *p_this, char const *psz_cmd,\n                         vlc_value_t
      oldval, vlc_value_t newval, void *p_data )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/equalizer.c:539,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/equalizer.c:539,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/equalizer.c:539,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_filter/equalizer.c:545,1
    - Dst: vlc_strtof_c
      Src: /src/vlc/modules/audio_filter/equalizer.c:550,1
    - Dst: isnan
      Src: /src/vlc/modules/audio_filter/equalizer.c:551,1
    - Dst: EqzConvertdB
      Src: /src/vlc/modules/audio_filter/equalizer.c:554,1
    - Dst: EqzConvertdB
      Src: /src/vlc/modules/audio_filter/equalizer.c:561,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_filter/equalizer.c:562,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 5
    argNames:
    - p_this
    - psz_cmd
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 564
    functionName: BandsCallback
    functionSourceFile: /src/vlc/modules/audio_filter/equalizer.c
    functionUses: 1
    functionsReached:
    - vlc_strtof_c
    - vlc_mutex_lock
    - vlc_mutex_unlock
    - EqzConvertdB
    - isnan
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int BandsCallback( vlc_object_t *p_this, char const *psz_cmd,\n                         vlc_value_t
      oldval, vlc_value_t newval, void *p_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/equalizer.c:568,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/equalizer.c:568,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/equalizer.c:568,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_filter/equalizer.c:571,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_filter/equalizer.c:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - p_this
    - psz_cmd
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 575
    functionName: TwoPassCallback
    functionSourceFile: /src/vlc/modules/audio_filter/equalizer.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_lock
    - vlc_mutex_unlock
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int TwoPassCallback( vlc_object_t *p_this, char const *psz_cmd,\n
      \                           vlc_value_t oldval, vlc_value_t newval, void *p_data
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_dynamics_Lin2Db
      Src: /src/vlc/modules/audio_filter/expander.c:42,1
    - Dst: vlc_dynamics_Db2Lin
      Src: /src/vlc/modules/audio_filter/expander.c:43,1
    - Dst: vlc_dynamics_Db2Lin
      Src: /src/vlc/modules/audio_filter/expander.c:46,1
    - Dst: vlc_dynamics_Lin2Db
      Src: /src/vlc/modules/audio_filter/expander.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 7
    argNames:
    - f_env
    - f_threshold
    - f_knee
    - f_rs
    - f_kn_lo
    - f_kn_hi
    - p_sys
    argTypes:
    - float
    - float
    - float
    - float
    - float
    - float
    - filter_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 47
    functionName: ExpanderGain
    functionSourceFile: /src/vlc/modules/audio_filter/expander.c
    functionUses: 0
    functionsReached:
    - vlc_dynamics_Db2Lin
    - vlc_dynamics_Lin2Db
    linkageType: ''
    returnType: float
    signature: "float ExpanderGain( float f_env,\n                           float
      f_threshold, float f_knee, float f_rs,\n                           float f_kn_lo,
      float f_kn_hi,\n                           filter_sys_t *p_sys )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_dynamics_OpenCommon
      Src: /src/vlc/modules/audio_filter/expander.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_filter/expander.c
    functionUses: 46
    functionsReached:
    - vlc_dynamics_OpenCommon
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ebur128_init
      Src: /src/vlc/modules/audio_filter/libebur128.c:50,1
    - Dst: ebur128_set_channel
      Src: /src/vlc/modules/audio_filter/libebur128.c:60,1
    - Dst: ebur128_set_channel
      Src: /src/vlc/modules/audio_filter/libebur128.c:63,1
    - Dst: ebur128_set_channel
      Src: /src/vlc/modules/audio_filter/libebur128.c:66,1
    - Dst: ebur128_set_channel
      Src: /src/vlc/modules/audio_filter/libebur128.c:75,1
    - Dst: ebur128_destroy
      Src: /src/vlc/modules/audio_filter/libebur128.c:82,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 2
    argNames:
    - filter
    - mode
    argTypes:
    - filter_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 84
    functionName: CreateEbuR128State
    functionSourceFile: /src/vlc/modules/audio_filter/libebur128.c
    functionUses: 0
    functionsReached:
    - ebur128_destroy
    - ebur128_set_channel
    - ebur128_init
    linkageType: ''
    returnType: ebur128_state
    signature: 'ebur128_state *

      CreateEbuR128State(filter_t *filter, int mode)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ebur128_loudness_momentary
      Src: /src/vlc/modules/audio_filter/libebur128.c:94,1
    - Dst: ebur128_loudness_shortterm
      Src: /src/vlc/modules/audio_filter/libebur128.c:100,1
    - Dst: ebur128_loudness_global
      Src: /src/vlc/modules/audio_filter/libebur128.c:106,1
    - Dst: ebur128_loudness_range
      Src: /src/vlc/modules/audio_filter/libebur128.c:113,1
    - Dst: ebur128_true_peak
      Src: /src/vlc/modules/audio_filter/libebur128.c:122,1
    - Dst: filter_SendAudioLoudness
      Src: /src/vlc/modules/audio_filter/libebur128.c:130,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 133
    functionName: SendLoudnessMeter
    functionSourceFile: /src/vlc/modules/audio_filter/libebur128.c
    functionUses: 0
    functionsReached:
    - ebur128_loudness_range
    - filter_SendAudioLoudness
    - ebur128_loudness_global
    - ebur128_true_peak
    - ebur128_loudness_momentary
    - ebur128_loudness_shortterm
    linkageType: ''
    returnType: int
    signature: int SendLoudnessMeter(filter_t *filter)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/libebur128.c:142,1
    - Dst: CreateEbuR128State
      Src: /src/vlc/modules/audio_filter/libebur128.c:145,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/libebur128.c:154,1
    - Dst: malloc
      Src: /src/vlc/modules/audio_filter/libebur128.c:157,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/libebur128.c:158,1
    - Dst: ebur128_add_frames_short
      Src: /src/vlc/modules/audio_filter/libebur128.c:166,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/libebur128.c:168,1
    - Dst: ebur128_add_frames_short
      Src: /src/vlc/modules/audio_filter/libebur128.c:172,1
    - Dst: ebur128_add_frames_int
      Src: /src/vlc/modules/audio_filter/libebur128.c:177,1
    - Dst: ebur128_add_frames_float
      Src: /src/vlc/modules/audio_filter/libebur128.c:182,1
    - Dst: ebur128_add_frames_double
      Src: /src/vlc/modules/audio_filter/libebur128.c:187,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/audio_filter/libebur128.c:191,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_filter/libebur128.c:196,1
    - Dst: SendLoudnessMeter
      Src: /src/vlc/modules/audio_filter/libebur128.c:205,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 2
    argNames:
    - filter
    - block
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 216
    functionName: Process
    functionSourceFile: /src/vlc/modules/audio_filter/libebur128.c
    functionUses: 9
    functionsReached:
    - ebur128_add_frames_short
    - vlc_assert_unreachable
    - free
    - ebur128_add_frames_float
    - SendLoudnessMeter
    - msg_Warn
    - CreateEbuR128State
    - unlikely
    - malloc
    - ebur128_add_frames_int
    - ebur128_add_frames_double
    linkageType: ''
    returnType: block_t
    signature: 'block_t *

      Process(filter_t *filter, block_t *block)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SendLoudnessMeter
      Src: /src/vlc/modules/audio_filter/libebur128.c:227,1
    - Dst: ebur128_destroy
      Src: /src/vlc/modules/audio_filter/libebur128.c:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 234
    functionName: Flush
    functionSourceFile: /src/vlc/modules/audio_filter/libebur128.c
    functionUses: 61
    functionsReached:
    - ebur128_destroy
    - SendLoudnessMeter
    linkageType: ''
    returnType: void
    signature: void Flush(filter_t *filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ebur128_destroy
      Src: /src/vlc/modules/audio_filter/libebur128.c:242,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/libebur128.c:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 244
    functionName: Close
    functionSourceFile: /src/vlc/modules/audio_filter/libebur128.c
    functionUses: 138
    functionsReached:
    - ebur128_destroy
    - free
    linkageType: ''
    returnType: void
    signature: void Close(filter_t *filter)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: config_ChainParse
      Src: /src/vlc/modules/audio_filter/libebur128.c:269,1
    - Dst: malloc
      Src: /src/vlc/modules/audio_filter/libebur128.c:271,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/audio_filter/libebur128.c:275,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/audio_filter/libebur128.c:284,1
    - Dst: CreateEbuR128State
      Src: /src/vlc/modules/audio_filter/libebur128.c:290,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/libebur128.c:293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 1
    argNames:
    - this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 301
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_filter/libebur128.c
    functionUses: 46
    functionsReached:
    - vlc_assert_unreachable
    - var_InheritInteger
    - config_ChainParse
    - free
    - CreateEbuR128State
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *this)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_filter/karaoke.c:49,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/audio_filter/karaoke.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 63
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_filter/karaoke.c
    functionUses: 46
    functionsReached:
    - aout_FormatPrepare
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int Open (vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - filter
    - block
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 80
    functionName: Process
    functionSourceFile: /src/vlc/modules/audio_filter/karaoke.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: block_t
    signature: block_t *Process (filter_t *filter, block_t *block)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/stereo_widen.c:102,1
    - Dst: realloc
      Src: /src/vlc/modules/audio_filter/stereo_widen.c:105,1
    - Dst: memset
      Src: /src/vlc/modules/audio_filter/stereo_widen.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - pp_buffer
    - pi_buffer
    - pp_write
    - f_delay
    - i_rate
    argTypes:
    - float**
    - size_t*
    - float**
    - float
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 114
    functionName: MakeRingBuffer
    functionSourceFile: /src/vlc/modules/audio_filter/stereo_widen.c
    functionUses: 0
    functionsReached:
    - realloc
    - unlikely
    - memset
    linkageType: ''
    returnType: int
    signature: "int MakeRingBuffer( float **pp_buffer, size_t *pi_buffer,\n                           float
      **pp_write, float f_delay, unsigned i_rate )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/audio_filter/stereo_widen.c:119,1
    - Dst: AOUT_FMTS_IDENTICAL
      Src: /src/vlc/modules/audio_filter/stereo_widen.c:123,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_filter/stereo_widen.c:128,1
    - Dst: malloc
      Src: /src/vlc/modules/audio_filter/stereo_widen.c:132,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/stereo_widen.c:133,1
    - Dst: CREATE_VAR
      Src: /src/vlc/modules/audio_filter/stereo_widen.c:140,1
    - Dst: CREATE_VAR
      Src: /src/vlc/modules/audio_filter/stereo_widen.c:141,1
    - Dst: CREATE_VAR
      Src: /src/vlc/modules/audio_filter/stereo_widen.c:142,1
    - Dst: CREATE_VAR
      Src: /src/vlc/modules/audio_filter/stereo_widen.c:143,1
    - Dst: MakeRingBuffer
      Src: /src/vlc/modules/audio_filter/stereo_widen.c:148,1
    - Dst: Close
      Src: /src/vlc/modules/audio_filter/stereo_widen.c:151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 161
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_filter/stereo_widen.c
    functionUses: 46
    functionsReached:
    - vlc_object_parent
    - msg_Err
    - AOUT_FMTS_IDENTICAL
    - CREATE_VAR
    - MakeRingBuffer
    - Close
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *obj )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stor
    - ','
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: CREATE_VAR
    functionSourceFile: /src/vlc/modules/audio_filter/stereo_widen.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CREATE_VAR( stor, var )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - p_filter
    - p_block
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 195
    functionName: Filter
    functionSourceFile: /src/vlc/modules/audio_filter/stereo_widen.c
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: block_t
    signature: block_t *Filter( filter_t *p_filter, block_t *p_block )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/audio_filter/stereo_widen.c:202,1
    - Dst: DEL_VAR
      Src: /src/vlc/modules/audio_filter/stereo_widen.c:209,1
    - Dst: DEL_VAR
      Src: /src/vlc/modules/audio_filter/stereo_widen.c:210,1
    - Dst: DEL_VAR
      Src: /src/vlc/modules/audio_filter/stereo_widen.c:211,1
    - Dst: DEL_VAR
      Src: /src/vlc/modules/audio_filter/stereo_widen.c:212,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/stereo_widen.c:214,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/stereo_widen.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 216
    functionName: Close
    functionSourceFile: /src/vlc/modules/audio_filter/stereo_widen.c
    functionUses: 139
    functionsReached:
    - DEL_VAR
    - vlc_object_parent
    - free
    linkageType: ''
    returnType: void
    signature: void Close( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: DEL_VAR
    functionSourceFile: /src/vlc/modules/audio_filter/stereo_widen.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEL_VAR(var)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/stereo_widen.c:229,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/stereo_widen.c:230,1
    - Dst: strcmp
      Src: /src/vlc/modules/audio_filter/stereo_widen.c:232,1
    - Dst: MakeRingBuffer
      Src: /src/vlc/modules/audio_filter/stereo_widen.c:234,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_filter/stereo_widen.c:237,1
    - Dst: strcmp
      Src: /src/vlc/modules/audio_filter/stereo_widen.c:244,1
    - Dst: strcmp
      Src: /src/vlc/modules/audio_filter/stereo_widen.c:246,1
    - Dst: strcmp
      Src: /src/vlc/modules/audio_filter/stereo_widen.c:248,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - p_this
    - psz_var
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 252
    functionName: paramCallback
    functionSourceFile: /src/vlc/modules/audio_filter/stereo_widen.c
    functionUses: 0
    functionsReached:
    - strcmp
    - MakeRingBuffer
    - msg_Dbg
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int paramCallback( vlc_object_t *p_this, char const *psz_var,\n                            vlc_value_t
      oldval, vlc_value_t newval,\n                            void *p_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - f
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: LIN_INTERP
    functionSourceFile: /src/vlc/modules/audio_filter/dynamics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIN_INTERP(f,a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - v
    - ','
    - l
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: LIMIT
    functionSourceFile: /src/vlc/modules/audio_filter/dynamics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIMIT(v,l,u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabsf
      Src: /src/vlc/modules/audio_filter/dynamics.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - f_x
    - f_a
    argTypes:
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: Max
    functionSourceFile: /src/vlc/modules/audio_filter/dynamics.c
    functionUses: 0
    functionsReached:
    - fabsf
    linkageType: ''
    returnType: float
    signature: float Max( float f_x, float f_a )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabsf
      Src: /src/vlc/modules/audio_filter/dynamics.c:139,1
    - Dst: fabsf
      Src: /src/vlc/modules/audio_filter/dynamics.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - f_x
    - f_a
    - f_b
    argTypes:
    - float
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 147
    functionName: Clamp
    functionSourceFile: /src/vlc/modules/audio_filter/dynamics.c
    functionUses: 0
    functionsReached:
    - fabsf
    linkageType: ''
    returnType: float
    signature: float Clamp( float f_x, float f_a, float f_b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - f_x
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 158
    functionName: Round
    functionSourceFile: /src/vlc/modules/audio_filter/dynamics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Round( float f_x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pf_x
    argTypes:
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: RoundToZero
    functionSourceFile: /src/vlc/modules/audio_filter/dynamics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RoundToZero( float *pf_x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - f_fr
    - f_inm1
    - f_in
    - f_inp1
    - f_inp2
    argTypes:
    - float
    - float
    - float
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: CubeInterp
    functionSourceFile: /src/vlc/modules/audio_filter/dynamics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: "float CubeInterp( const float f_fr, const float f_inm1,\n                                           const
      float f_in,\n                                           const float f_inp1,\n
      \                                          const float f_inp2 )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: powf
      Src: /src/vlc/modules/audio_filter/dynamics.c:191,1
    - Dst: log10f
      Src: /src/vlc/modules/audio_filter/dynamics.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - filter_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 201
    functionName: DbInit
    functionSourceFile: /src/vlc/modules/audio_filter/dynamics.c
    functionUses: 0
    functionsReached:
    - powf
    - log10f
    linkageType: ''
    returnType: void
    signature: void DbInit( filter_sys_t * p_sys )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Round
      Src: /src/vlc/modules/audio_filter/dynamics.c:206,1
    - Dst: CubeInterp
      Src: /src/vlc/modules/audio_filter/dynamics.c:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - f_db
    - p_sys
    argTypes:
    - float
    - filter_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 228
    functionName: vlc_dynamics_Db2Lin
    functionSourceFile: /src/vlc/modules/audio_filter/dynamics.c
    functionUses: 3
    functionsReached:
    - Round
    - CubeInterp
    linkageType: ''
    returnType: float
    signature: float vlc_dynamics_Db2Lin( float f_db, filter_sys_t * p_sys )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Round
      Src: /src/vlc/modules/audio_filter/dynamics.c:233,1
    - Dst: CubeInterp
      Src: /src/vlc/modules/audio_filter/dynamics.c:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - f_lin
    - p_sys
    argTypes:
    - float
    - filter_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 255
    functionName: vlc_dynamics_Lin2Db
    functionSourceFile: /src/vlc/modules/audio_filter/dynamics.c
    functionUses: 3
    functionsReached:
    - Round
    - CubeInterp
    linkageType: ''
    returnType: float
    signature: float vlc_dynamics_Lin2Db( float f_lin, filter_sys_t * p_sys )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/vlc/modules/audio_filter/dynamics.c:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - p_r
    - f_x
    argTypes:
    - rms_env*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 280
    functionName: RmsEnvProcess
    functionSourceFile: /src/vlc/modules/audio_filter/dynamics.c
    functionUses: 0
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: float
    signature: float RmsEnvProcess( rms_env * p_r, const float f_x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - pf_buf
    - i_channels
    - f_gain
    - f_mug
    - p_la
    argTypes:
    - float*
    - int
    - float
    - float
    - lookahead*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 303
    functionName: BufferProcess
    functionSourceFile: /src/vlc/modules/audio_filter/dynamics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void BufferProcess( float * pf_buf, int i_channels, float f_gain,\n
      \                          float f_mug, lookahead * p_la )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/dynamics.c:312,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_filter/dynamics.c:319,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_filter/dynamics.c:329,1
    - Dst: Round
      Src: /src/vlc/modules/audio_filter/dynamics.c:345,1
    - Dst: Round
      Src: /src/vlc/modules/audio_filter/dynamics.c:346,1
    - Dst: vlc_dynamics_Db2Lin
      Src: /src/vlc/modules/audio_filter/dynamics.c:348,1
    - Dst: vlc_dynamics_Db2Lin
      Src: /src/vlc/modules/audio_filter/dynamics.c:349,1
    - Dst: vlc_dynamics_Db2Lin
      Src: /src/vlc/modules/audio_filter/dynamics.c:350,1
    - Dst: fabs
      Src: /src/vlc/modules/audio_filter/dynamics.c:367,1
    - Dst: Max
      Src: /src/vlc/modules/audio_filter/dynamics.c:370,1
    - Dst: fabs
      Src: /src/vlc/modules/audio_filter/dynamics.c:370,1
    - Dst: RoundToZero
      Src: /src/vlc/modules/audio_filter/dynamics.c:386,1
    - Dst: RoundToZero
      Src: /src/vlc/modules/audio_filter/dynamics.c:397,1
    - Dst: RmsEnvProcess
      Src: /src/vlc/modules/audio_filter/dynamics.c:404,1
    - Dst: isnan
      Src: /src/vlc/modules/audio_filter/dynamics.c:406,1
    - Dst: LIN_INTERP
      Src: /src/vlc/modules/audio_filter/dynamics.c:413,1
    - Dst: filter_sys_t*::pf_gain
      Src: /src/vlc/modules/audio_filter/dynamics.c:416,1
    - Dst: BufferProcess
      Src: /src/vlc/modules/audio_filter/dynamics.c:424,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 2
    argNames:
    - p_filter
    - p_in_buf
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 438
    functionName: DoWork
    functionSourceFile: /src/vlc/modules/audio_filter/dynamics.c
    functionUses: 1
    functionsReached:
    - Max
    - Round
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - isnan
    - LIN_INTERP
    - RoundToZero
    - filter_sys_t*::pf_gain
    - fabs
    - RmsEnvProcess
    - vlc_dynamics_Db2Lin
    - aout_FormatNbChannels
    - BufferProcess
    linkageType: ''
    returnType: block_t
    signature: block_t * DoWork( filter_t * p_filter, block_t * p_in_buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/dynamics.c:448,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/dynamics.c:448,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/dynamics.c:448,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_filter/dynamics.c:451,1
    - Dst: Clamp
      Src: /src/vlc/modules/audio_filter/dynamics.c:452,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_filter/dynamics.c:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - p_this
    - psz_cmd
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 456
    functionName: RMSPeakCallback
    functionSourceFile: /src/vlc/modules/audio_filter/dynamics.c
    functionUses: 0
    functionsReached:
    - Clamp
    - vlc_mutex_lock
    - vlc_mutex_unlock
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int RMSPeakCallback( vlc_object_t *p_this, char const *psz_cmd,\n
      \                           vlc_value_t oldval, vlc_value_t newval,\n                            void
      *p_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/dynamics.c:462,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/dynamics.c:462,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/dynamics.c:462,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_filter/dynamics.c:465,1
    - Dst: Clamp
      Src: /src/vlc/modules/audio_filter/dynamics.c:466,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_filter/dynamics.c:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - p_this
    - psz_cmd
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 470
    functionName: AttackCallback
    functionSourceFile: /src/vlc/modules/audio_filter/dynamics.c
    functionUses: 0
    functionsReached:
    - Clamp
    - vlc_mutex_lock
    - vlc_mutex_unlock
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int AttackCallback( vlc_object_t *p_this, char const *psz_cmd,\n                           vlc_value_t
      oldval, vlc_value_t newval,\n                           void *p_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/dynamics.c:476,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/dynamics.c:476,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/dynamics.c:476,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_filter/dynamics.c:479,1
    - Dst: Clamp
      Src: /src/vlc/modules/audio_filter/dynamics.c:480,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_filter/dynamics.c:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - p_this
    - psz_cmd
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 484
    functionName: ReleaseCallback
    functionSourceFile: /src/vlc/modules/audio_filter/dynamics.c
    functionUses: 0
    functionsReached:
    - Clamp
    - vlc_mutex_lock
    - vlc_mutex_unlock
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int ReleaseCallback( vlc_object_t *p_this, char const *psz_cmd,\n
      \                           vlc_value_t oldval, vlc_value_t newval,\n                            void
      *p_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/dynamics.c:490,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/dynamics.c:490,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/dynamics.c:490,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_filter/dynamics.c:493,1
    - Dst: Clamp
      Src: /src/vlc/modules/audio_filter/dynamics.c:494,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_filter/dynamics.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - p_this
    - psz_cmd
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 498
    functionName: ThresholdCallback
    functionSourceFile: /src/vlc/modules/audio_filter/dynamics.c
    functionUses: 0
    functionsReached:
    - Clamp
    - vlc_mutex_lock
    - vlc_mutex_unlock
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int ThresholdCallback( vlc_object_t *p_this, char const *psz_cmd,\n
      \                             vlc_value_t oldval, vlc_value_t newval,\n                              void
      *p_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/dynamics.c:504,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/dynamics.c:504,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/dynamics.c:504,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_filter/dynamics.c:507,1
    - Dst: Clamp
      Src: /src/vlc/modules/audio_filter/dynamics.c:508,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_filter/dynamics.c:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - p_this
    - psz_cmd
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 512
    functionName: RatioCallback
    functionSourceFile: /src/vlc/modules/audio_filter/dynamics.c
    functionUses: 0
    functionsReached:
    - Clamp
    - vlc_mutex_lock
    - vlc_mutex_unlock
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int RatioCallback( vlc_object_t *p_this, char const *psz_cmd,\n                          vlc_value_t
      oldval, vlc_value_t newval,\n                          void *p_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/dynamics.c:518,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/dynamics.c:518,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/dynamics.c:518,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_filter/dynamics.c:521,1
    - Dst: Clamp
      Src: /src/vlc/modules/audio_filter/dynamics.c:522,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_filter/dynamics.c:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - p_this
    - psz_cmd
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 526
    functionName: KneeCallback
    functionSourceFile: /src/vlc/modules/audio_filter/dynamics.c
    functionUses: 0
    functionsReached:
    - Clamp
    - vlc_mutex_lock
    - vlc_mutex_unlock
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int KneeCallback( vlc_object_t *p_this, char const *psz_cmd,\n                         vlc_value_t
      oldval, vlc_value_t newval,\n                         void *p_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/dynamics.c:532,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/dynamics.c:532,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/dynamics.c:532,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_filter/dynamics.c:535,1
    - Dst: Clamp
      Src: /src/vlc/modules/audio_filter/dynamics.c:536,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_filter/dynamics.c:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - p_this
    - psz_cmd
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 540
    functionName: MakeupGainCallback
    functionSourceFile: /src/vlc/modules/audio_filter/dynamics.c
    functionUses: 0
    functionsReached:
    - Clamp
    - vlc_mutex_lock
    - vlc_mutex_unlock
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int MakeupGainCallback( vlc_object_t *p_this, char const *psz_cmd,\n
      \                              vlc_value_t oldval, vlc_value_t newval,\n                               void
      *p_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/audio_filter/dynamics.c:548,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/audio_filter/dynamics.c:552,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/audio_filter/dynamics.c:553,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/audio_filter/dynamics.c:554,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/audio_filter/dynamics.c:555,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/audio_filter/dynamics.c:556,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/audio_filter/dynamics.c:557,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/audio_filter/dynamics.c:558,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/dynamics.c:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 561
    functionName: Close
    functionSourceFile: /src/vlc/modules/audio_filter/dynamics.c
    functionUses: 139
    functionsReached:
    - free
    - vlc_object_parent
    - var_DelCallback
    linkageType: ''
    returnType: void
    signature: void Close( filter_t *p_filter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/audio_filter/dynamics.c:571,1
    - Dst: calloc
      Src: /src/vlc/modules/audio_filter/dynamics.c:576,1
    - Dst: expf
      Src: /src/vlc/modules/audio_filter/dynamics.c:590,1
    - Dst: Round
      Src: /src/vlc/modules/audio_filter/dynamics.c:595,1
    - Dst: Clamp
      Src: /src/vlc/modules/audio_filter/dynamics.c:595,1
    - Dst: Round
      Src: /src/vlc/modules/audio_filter/dynamics.c:596,1
    - Dst: Clamp
      Src: /src/vlc/modules/audio_filter/dynamics.c:596,1
    - Dst: DbInit
      Src: /src/vlc/modules/audio_filter/dynamics.c:599,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/audio_filter/dynamics.c:602,1
    - Dst: BIND
      Src: /src/vlc/modules/audio_filter/dynamics.c:609,1
    - Dst: BIND
      Src: /src/vlc/modules/audio_filter/dynamics.c:610,1
    - Dst: BIND
      Src: /src/vlc/modules/audio_filter/dynamics.c:611,1
    - Dst: BIND
      Src: /src/vlc/modules/audio_filter/dynamics.c:612,1
    - Dst: BIND
      Src: /src/vlc/modules/audio_filter/dynamics.c:613,1
    - Dst: BIND
      Src: /src/vlc/modules/audio_filter/dynamics.c:614,1
    - Dst: BIND
      Src: /src/vlc/modules/audio_filter/dynamics.c:615,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/audio_filter/dynamics.c:620,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 4
    argNames:
    - p_filter
    - p_varnames
    - pf_gain
    - f_threshold_min
    argTypes:
    - filter_t*
    - vlc_dynamics_varnames_t*
    - gain_fn_t
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 630
    functionName: vlc_dynamics_OpenCommon
    functionSourceFile: /src/vlc/modules/audio_filter/dynamics.c
    functionUses: 3
    functionsReached:
    - aout_FormatPrepare
    - vlc_object_parent
    - Round
    - Clamp
    - vlc_mutex_init
    - DbInit
    - expf
    - calloc
    - BIND
    linkageType: ''
    returnType: int
    signature: "int vlc_dynamics_OpenCommon( filter_t *p_filter,\n                             const
      vlc_dynamics_varnames_t *p_varnames,\n                             gain_fn_t
      pf_gain, float f_threshold_min )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - field
    - ','
    - name
    - ','
    - cb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 608
    functionName: BIND
    functionSourceFile: /src/vlc/modules/audio_filter/dynamics.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIND( field, name, cb )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:150,1
    - Dst: sqrt
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 8
    argNames:
    - p_data
    - i_rate
    - i_next_atomic_operation
    - i_source_channel_offset
    - d_x
    - d_z
    - d_compensation_length
    - d_channel_amplitude_factor
    argTypes:
    - filter_sys_t*
    - unsigned int
    - unsigned int
    - int
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 191
    functionName: ComputeChannelOperations
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/mono.c
    functionUses: 0
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: void
    signature: "void ComputeChannelOperations( filter_sys_t * p_data,\n        unsigned
      int i_rate, unsigned int i_next_atomic_operation,\n        int i_source_channel_offset,
      double d_x, double d_z,\n        double d_compensation_length, double d_channel_amplitude_factor
      )"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:197,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:205,1
    - Dst: malloc
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:224,1
    - Dst: ComputeChannelOperations
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:235,1
    - Dst: ComputeChannelOperations
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:243,1
    - Dst: ComputeChannelOperations
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:251,1
    - Dst: ComputeChannelOperations
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:259,1
    - Dst: ComputeChannelOperations
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:267,1
    - Dst: ComputeChannelOperations
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:275,1
    - Dst: ComputeChannelOperations
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:283,1
    - Dst: ComputeChannelOperations
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:292,1
    - Dst: ComputeChannelOperations
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:296,1
    - Dst: ComputeChannelOperations
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:304,1
    - Dst: malloc
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:323,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:326,1
    - Dst: memset
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:329,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 77
    argCount: 5
    argNames:
    - p_this
    - p_data
    - i_nb_channels
    - i_physical_channels
    - i_rate
    argTypes:
    - vlc_object_t*
    - filter_sys_t*
    - unsigned int
    - uint32_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 333
    functionName: Init
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/mono.c
    functionUses: 317
    functionsReached:
    - memset
    - var_InheritInteger
    - var_InheritBool
    - free
    - malloc
    - ComputeChannelOperations
    linkageType: ''
    returnType: int
    signature: "int Init( vlc_object_t *p_this, filter_sys_t * p_data,\n                 unsigned
      int i_nb_channels, uint32_t i_physical_channels,\n                 unsigned
      int i_rate )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:343,1
    - Dst: malloc
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:350,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:354,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:355,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:357,1
    - Dst: Init
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:365,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:365,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:366,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:370,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:376,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:382,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:394,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:403,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:405,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 408
    functionName: OpenFilter
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/mono.c
    functionUses: 0
    functionsReached:
    - aout_FormatPrepare
    - var_InheritInteger
    - var_InheritBool
    - Init
    - free
    - msg_Dbg
    - VLC_OBJECT
    - malloc
    - aout_FormatNbChannels
    linkageType: ''
    returnType: int
    signature: int OpenFilter( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:417,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:418,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 420
    functionName: CloseFilter
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/mono.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void CloseFilter( filter_t *p_filter )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:433,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:439,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:441,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:444,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:445,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:450,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:454,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:457,1
    - Dst: memset
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:462,1
    - Dst: stereo2mono_downmix
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:465,1
    - Dst: mono
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:466,1
    - Dst: stereo_to_mono
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:470,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:473,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - p_filter
    - p_block
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 475
    functionName: Convert
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/mono.c
    functionUses: 30
    functionsReached:
    - block_Release
    - memset
    - mono
    - msg_Err
    - stereo_to_mono
    - block_Alloc
    - stereo2mono_downmix
    - msg_Warn
    - aout_FormatNbChannels
    linkageType: ''
    returnType: block_t
    signature: block_t *Convert( filter_t *p_filter, block_t *p_block )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:487,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:488,1
    - Dst: memcpy
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:516,1
    - Dst: memcpy
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:518,1
    - Dst: memset
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:525,1
    - Dst: memcpy
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:527,1
    - Dst: memcpy
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:529,1
    - Dst: memset
      Src: /src/vlc/modules/audio_filter/channel_mixer/mono.c:534,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 3
    argNames:
    - p_filter
    - p_in_buf
    - p_out_buf
    argTypes:
    - filter_t*
    - block_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 582
    functionName: stereo2mono_downmix
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/mono.c
    functionUses: 1
    functionsReached:
    - memcpy
    - aout_FormatNbChannels
    - memset
    linkageType: ''
    returnType: void
    signature: "void stereo2mono_downmix( filter_t * p_filter,\n                                 block_t
      * p_in_buf, block_t * p_out_buf )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - p_filter
    - p_output
    - p_input
    argTypes:
    - filter_t*
    - block_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 602
    functionName: mono
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/mono.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int mono( filter_t *p_filter,\n                          block_t
      *p_output, block_t *p_input )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - p_filter
    - p_output
    - p_input
    argTypes:
    - filter_t*
    - block_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 629
    functionName: stereo_to_mono
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/mono.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int stereo_to_mono( filter_t *p_filter,\n                                    block_t
      *p_output, block_t *p_input )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/audio_filter/channel_mixer/dolby.c:99,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/audio_filter/channel_mixer/dolby.c:99,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/channel_mixer/dolby.c:100,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 146
    functionName: Create
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/dolby.c
    functionUses: 171
    functionsReached:
    - unlikely
    - vlc_obj_malloc
    - VLC_OBJECT
    linkageType: ''
    returnType: int
    signature: int Create( vlc_object_t *p_this )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/dolby.c:156,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/audio_filter/channel_mixer/dolby.c:159,1
    - Dst: memset
      Src: /src/vlc/modules/audio_filter/channel_mixer/dolby.c:170,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/channel_mixer/dolby.c:222,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 2
    argNames:
    - p_filter
    - p_in_buf
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 224
    functionName: DoWork
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/dolby.c
    functionUses: 1
    functionsReached:
    - block_Alloc
    - block_Release
    - aout_FormatNbChannels
    - memset
    linkageType: ''
    returnType: block_t
    signature: block_t *DoWork( filter_t * p_filter, block_t * p_in_buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: filter_spatialaudio
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void filter_spatialaudio()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:109,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:110,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:114,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 116
    functionName: ~filter_spatialaudio()
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void ~filter_spatialaudio()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritString
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:155,1
    - Dst: std::string
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:159,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:160,1
    - Dst: config_GetSysPath
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:164,1
    - Dst: std::string
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:167,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 173
    functionName: getHRTFPath
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp
    functionUses: 0
    functionsReached:
    - free
    - std::string
    - var_InheritString
    - config_GetSysPath
    linkageType: ''
    returnType: std::string
    signature: std::string getHRTFPath(filter_t *p_filter)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<filter_spatialaudio *>
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:177,1
    - Dst: filter_spatialaudio*::inputSamples::size
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:179,1
    - Dst: filter_spatialaudio*::inputSamples::resize
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:180,1
    - Dst: memcpy
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:181,1
    - Dst: filter_spatialaudio*::inputSamples::data
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:181,1
    - Dst: filter_spatialaudio*::inputSamples::size
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:185,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:187,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:188,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:190,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:200,1
    - Dst: filter_spatialaudio*::inputSamples::data
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:203,1
    - Dst: filter_spatialaudio*::binauralizer::Process
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:220,1
    - Dst: CBFormat::Configure
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:226,1
    - Dst: CBFormat::InsertStream
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:229,1
    - Dst: filter_spatialaudio*::processor::SetOrientation
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:232,1
    - Dst: filter_spatialaudio*::processor::Refresh
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:233,1
    - Dst: filter_spatialaudio*::processor::Process
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:234,1
    - Dst: CBFormat::GetSampleCount
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:234,1
    - Dst: filter_spatialaudio*::zoomer::SetZoom
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:236,1
    - Dst: filter_spatialaudio*::zoomer::Refresh
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:237,1
    - Dst: filter_spatialaudio*::zoomer::Process
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:238,1
    - Dst: CBFormat::GetSampleCount
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:238,1
    - Dst: filter_spatialaudio*::speakerDecoder::Process
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:241,1
    - Dst: CBFormat::GetSampleCount
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:241,1
    - Dst: filter_spatialaudio*::binauralDecoder::Process
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:243,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:247,1
    - Dst: filter_spatialaudio*::inputSamples::erase
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:270,1
    - Dst: filter_spatialaudio*::inputSamples::begin
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:270,1
    - Dst: filter_spatialaudio*::inputSamples::begin
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:271,1
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:273,1
    - Dst: filter_spatialaudio*::inputSamples::size
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:273,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:277,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 2
    argNames:
    - p_filter
    - p_buf
    argTypes:
    - filter_t*
    - block_t*
    assertStmts:
    - condition: (p_sys->inputSamples.size() < i_inputBlockSize)
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp
    constantsTouched: []
    func_position:
      end: 279
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 279
    functionName: Mix
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp
    functionUses: 0
    functionsReached:
    - assert
    - filter_spatialaudio*::speakerDecoder::Process
    - filter_spatialaudio*::zoomer::Refresh
    - filter_spatialaudio*::inputSamples::erase
    - memcpy
    - block_Alloc
    - reinterpret_cast<filter_spatialaudio *>
    - filter_spatialaudio*::binauralizer::Process
    - filter_spatialaudio*::binauralDecoder::Process
    - vlc_assert_unreachable
    - filter_spatialaudio*::inputSamples::size
    - vlc_tick_from_samples
    - filter_spatialaudio*::inputSamples::resize
    - filter_spatialaudio*::processor::Refresh
    - filter_spatialaudio*::processor::SetOrientation
    - filter_spatialaudio*::zoomer::SetZoom
    - filter_spatialaudio*::inputSamples::begin
    - filter_spatialaudio*::zoomer::Process
    - filter_spatialaudio*::processor::Process
    - CBFormat::InsertStream
    - filter_spatialaudio*::inputSamples::data
    - block_Release
    - CBFormat::Configure
    - CBFormat::GetSampleCount
    - unlikely
    linkageType: ''
    returnType: block_t
    signature: block_t *Mix( filter_t *p_filter, block_t *p_buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<filter_spatialaudio *>
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:283,1
    - Dst: filter_spatialaudio*::inputSamples::clear
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 286
    functionName: Flush
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp
    functionUses: 61
    functionsReached:
    - filter_spatialaudio*::inputSamples::clear
    - reinterpret_cast<filter_spatialaudio *>
    linkageType: ''
    returnType: void
    signature: void Flush( filter_t *p_filter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<filter_spatialaudio *>
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:290,1
    - Dst: vlc_viewpoint_to_euler
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:293,1
    - Dst: RAD
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:296,1
    - Dst: RAD
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:297,1
    - Dst: RAD
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p_filter
    - p_vp
    argTypes:
    - filter_t*
    - vlc_viewpoint_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 305
    functionName: ChangeViewpoint
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp
    functionUses: 0
    functionsReached:
    - RAD
    - vlc_viewpoint_to_euler
    - reinterpret_cast<filter_spatialaudio *>
    linkageType: ''
    returnType: void
    signature: void ChangeViewpoint( filter_t *p_filter, const vlc_viewpoint_t *p_vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 296
    functionName: RAD
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RAD(d)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:309,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:315,1
    - Dst: calloc
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:320,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:326,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - filter_spatialaudio*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 332
    functionName: allocateBuffers
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp
    functionUses: 0
    functionsReached:
    - calloc
    - vlc_alloc
    linkageType: ''
    returnType: int
    signature: int allocateBuffers(filter_spatialaudio *p_sys)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 342
    functionName: FilterOperationInitializer
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterOperationInitializer()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: filter_spatialaudio::filter_spatialaudio
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:361,1
    - Dst: allocateBuffers
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:370,1
    - Dst: CAmbisonicSpeaker::CAmbisonicSpeaker
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:377,1
    - Dst: SetPosition
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:384,1
    - Dst: DegreesToRadians
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:384,1
    - Dst: SetPosition
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:385,1
    - Dst: DegreesToRadians
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:385,1
    - Dst: SetPosition
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:390,1
    - Dst: DegreesToRadians
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:390,1
    - Dst: SetPosition
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:391,1
    - Dst: DegreesToRadians
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:391,1
    - Dst: SetPosition
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:397,1
    - Dst: DegreesToRadians
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:397,1
    - Dst: SetPosition
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:398,1
    - Dst: DegreesToRadians
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:398,1
    - Dst: SetPosition
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:402,1
    - Dst: DegreesToRadians
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:402,1
    - Dst: SetPosition
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:405,1
    - Dst: DegreesToRadians
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:405,1
    - Dst: getHRTFPath
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:407,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:408,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:408,1
    - Dst: filter_spatialaudio*::binauralizer::Configure
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:411,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:415,1
    - Dst: filter_spatialaudio*::binauralizer::Reset
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:419,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 345
    functionDepth: 4
    functionLinenumber: 345
    functionLinenumberEnd: 425
    functionName: OpenBinauralizer
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp
    functionUses: 0
    functionsReached:
    - getHRTFPath
    - filter_spatialaudio::filter_spatialaudio
    - msg_Err
    - std::string::c_str
    - SetPosition
    - allocateBuffers
    - CAmbisonicSpeaker::CAmbisonicSpeaker
    - msg_Dbg
    - filter_spatialaudio*::binauralizer::Configure
    - filter_spatialaudio*::binauralizer::Reset
    - DegreesToRadians
    linkageType: ''
    returnType: int
    signature: int OpenBinauralizer(vlc_object_t *p_this)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:433,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:444,1
    - Dst: filter_spatialaudio::filter_spatialaudio
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:448,1
    - Dst: allocateBuffers
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:459,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:476,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:481,1
    - Dst: getHRTFPath
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:489,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:490,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:490,1
    - Dst: filter_spatialaudio*::binauralDecoder::Configure
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:492,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:496,1
    - Dst: filter_spatialaudio*::binauralDecoder::Reset
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:500,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:506,1
    - Dst: filter_spatialaudio*::speakerDecoder::Configure
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:510,1
    - Dst: filter_spatialaudio*::speakerDecoder::Configure
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:514,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:520,1
    - Dst: filter_spatialaudio*::speakerDecoder::SetPosition
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:530,1
    - Dst: DegreesToRadians
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:530,1
    - Dst: filter_spatialaudio*::speakerDecoder::SetPosition
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:531,1
    - Dst: DegreesToRadians
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:531,1
    - Dst: filter_spatialaudio*::speakerDecoder::SetPosition
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:536,1
    - Dst: DegreesToRadians
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:536,1
    - Dst: filter_spatialaudio*::speakerDecoder::SetPosition
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:537,1
    - Dst: DegreesToRadians
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:537,1
    - Dst: filter_spatialaudio*::speakerDecoder::SetPosition
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:543,1
    - Dst: DegreesToRadians
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:543,1
    - Dst: filter_spatialaudio*::speakerDecoder::SetPosition
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:544,1
    - Dst: DegreesToRadians
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:544,1
    - Dst: filter_spatialaudio*::speakerDecoder::SetPosition
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:549,1
    - Dst: DegreesToRadians
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:549,1
    - Dst: filter_spatialaudio*::speakerDecoder::SetPosition
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:552,1
    - Dst: DegreesToRadians
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:552,1
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:555,1
    - Dst: filter_spatialaudio*::speakerDecoder::Refresh
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:557,1
    - Dst: filter_spatialaudio*::processor::Configure
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:560,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:562,1
    - Dst: filter_spatialaudio*::zoomer::Configure
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:568,1
    - Dst: filter_spatialaudio*::zoomer::Configure
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:572,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:575,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 88
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: (infmt->channel_type != outfmt->channel_type)
      pos:
        line_end: 432
        line_start: 432
        source_file: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp
    - condition: (s == i_nbChannels)
      pos:
        line_end: 554
        line_start: 554
        source_file: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp
    constantsTouched: []
    func_position:
      end: 584
      start: 427
    functionDepth: 4
    functionLinenumber: 427
    functionLinenumberEnd: 584
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp
    functionUses: 46
    functionsReached:
    - filter_spatialaudio*::zoomer::Configure
    - assert
    - getHRTFPath
    - filter_spatialaudio*::speakerDecoder::Configure
    - filter_spatialaudio*::binauralDecoder::Configure
    - filter_spatialaudio*::processor::Configure
    - filter_spatialaudio*::speakerDecoder::SetPosition
    - filter_spatialaudio*::speakerDecoder::Refresh
    - filter_spatialaudio::filter_spatialaudio
    - msg_Err
    - std::string::c_str
    - filter_spatialaudio*::binauralDecoder::Reset
    - allocateBuffers
    - msg_Dbg
    - DegreesToRadians
    - aout_FormatNbChannels
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<filter_spatialaudio *>
      Src: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 590
    functionName: Close
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/spatialaudio.cpp
    functionUses: 139
    functionsReached:
    - reinterpret_cast<filter_spatialaudio *>
    linkageType: ''
    returnType: void
    signature: void Close(filter_t *p_filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - p_filter
    - p_in_buf
    - p_out_buf
    argTypes:
    - filter_t*
    - block_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: DoWork_7_x_to_2_0
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/simple.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoWork_7_x_to_2_0( filter_t * p_filter,  block_t * p_in_buf, block_t
      * p_out_buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/channel_mixer/simple.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - p_filter
    - p_in_buf
    - p_out_buf
    argTypes:
    - filter_t*
    - block_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 82
    functionName: DoWork_6_1_to_2_0
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/simple.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void DoWork_6_1_to_2_0( filter_t *p_filter, block_t *p_in_buf,\n                               block_t
      *p_out_buf )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - p_filter
    - p_in_buf
    - p_out_buf
    argTypes:
    - filter_t*
    - block_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 96
    functionName: DoWork_5_x_to_2_0
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/simple.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoWork_5_x_to_2_0( filter_t * p_filter,  block_t * p_in_buf, block_t
      * p_out_buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/channel_mixer/simple.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - p_filter
    - p_in_buf
    - p_out_buf
    argTypes:
    - filter_t*
    - block_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 108
    functionName: DoWork_4_0_to_2_0
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/simple.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void DoWork_4_0_to_2_0( filter_t * p_filter,  block_t * p_in_buf, block_t
      * p_out_buf )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - p_filter
    - p_in_buf
    - p_out_buf
    argTypes:
    - filter_t*
    - block_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 122
    functionName: DoWork_3_x_to_2_0
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/simple.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoWork_3_x_to_2_0( filter_t * p_filter,  block_t * p_in_buf, block_t
      * p_out_buf )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - p_filter
    - p_in_buf
    - p_out_buf
    argTypes:
    - filter_t*
    - block_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 135
    functionName: DoWork_7_x_to_1_0
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/simple.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoWork_7_x_to_1_0( filter_t * p_filter,  block_t * p_in_buf, block_t
      * p_out_buf )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - p_filter
    - p_in_buf
    - p_out_buf
    argTypes:
    - filter_t*
    - block_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 149
    functionName: DoWork_5_x_to_1_0
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/simple.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoWork_5_x_to_1_0( filter_t * p_filter,  block_t * p_in_buf, block_t
      * p_out_buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/channel_mixer/simple.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p_filter
    - p_in_buf
    - p_out_buf
    argTypes:
    - filter_t*
    - block_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 160
    functionName: DoWork_4_0_to_1_0
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/simple.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void DoWork_4_0_to_1_0( filter_t * p_filter,  block_t * p_in_buf, block_t
      * p_out_buf )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - p_filter
    - p_in_buf
    - p_out_buf
    argTypes:
    - filter_t*
    - block_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 173
    functionName: DoWork_3_x_to_1_0
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/simple.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoWork_3_x_to_1_0( filter_t * p_filter,  block_t * p_in_buf, block_t
      * p_out_buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/channel_mixer/simple.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p_filter
    - p_in_buf
    - p_out_buf
    argTypes:
    - filter_t*
    - block_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: DoWork_2_x_to_1_0
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/simple.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void DoWork_2_x_to_1_0( filter_t * p_filter,  block_t * p_in_buf, block_t
      * p_out_buf )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - p_filter
    - p_in_buf
    - p_out_buf
    argTypes:
    - filter_t*
    - block_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 201
    functionName: DoWork_7_x_to_4_0
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/simple.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoWork_7_x_to_4_0( filter_t * p_filter,  block_t * p_in_buf, block_t
      * p_out_buf )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - p_filter
    - p_in_buf
    - p_out_buf
    argTypes:
    - filter_t*
    - block_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 218
    functionName: DoWork_5_x_to_4_0
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/simple.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoWork_5_x_to_4_0( filter_t * p_filter,  block_t * p_in_buf, block_t
      * p_out_buf )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - p_filter
    - p_in_buf
    - p_out_buf
    argTypes:
    - filter_t*
    - block_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 238
    functionName: DoWork_7_x_to_5_x
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/simple.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoWork_7_x_to_5_x( filter_t * p_filter,  block_t * p_in_buf, block_t
      * p_out_buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/channel_mixer/simple.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - p_filter
    - p_in_buf
    - p_out_buf
    argTypes:
    - filter_t*
    - block_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 257
    functionName: DoWork_6_1_to_5_x
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/simple.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void DoWork_6_1_to_5_x( filter_t * p_filter,  block_t * p_in_buf, block_t
      * p_out_buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - in
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 262
    functionName: GET_WORK
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/simple.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_WORK(in, out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - in
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 264
    functionName: GET_WORK
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/simple.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_WORK(in, out)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/simple.c:277,1
    - Dst: GET_WORK
      Src: /src/vlc/modules/audio_filter/channel_mixer/simple.c:305,1
    - Dst: GET_WORK
      Src: /src/vlc/modules/audio_filter/channel_mixer/simple.c:307,1
    - Dst: GET_WORK
      Src: /src/vlc/modules/audio_filter/channel_mixer/simple.c:309,1
    - Dst: GET_WORK
      Src: /src/vlc/modules/audio_filter/channel_mixer/simple.c:311,1
    - Dst: GET_WORK
      Src: /src/vlc/modules/audio_filter/channel_mixer/simple.c:313,1
    - Dst: GET_WORK
      Src: /src/vlc/modules/audio_filter/channel_mixer/simple.c:318,1
    - Dst: GET_WORK
      Src: /src/vlc/modules/audio_filter/channel_mixer/simple.c:320,1
    - Dst: GET_WORK
      Src: /src/vlc/modules/audio_filter/channel_mixer/simple.c:322,1
    - Dst: GET_WORK
      Src: /src/vlc/modules/audio_filter/channel_mixer/simple.c:324,1
    - Dst: GET_WORK
      Src: /src/vlc/modules/audio_filter/channel_mixer/simple.c:326,1
    - Dst: GET_WORK
      Src: /src/vlc/modules/audio_filter/channel_mixer/simple.c:331,1
    - Dst: GET_WORK
      Src: /src/vlc/modules/audio_filter/channel_mixer/simple.c:333,1
    - Dst: GET_WORK
      Src: /src/vlc/modules/audio_filter/channel_mixer/simple.c:339,1
    - Dst: GET_WORK
      Src: /src/vlc/modules/audio_filter/channel_mixer/simple.c:341,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 46
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 353
    functionName: OpenFilter
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/simple.c
    functionUses: 0
    functionsReached:
    - aout_FormatNbChannels
    - GET_WORK
    linkageType: ''
    returnType: int
    signature: int OpenFilter( vlc_object_t *p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/channel_mixer/simple.c:365,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/audio_filter/channel_mixer/simple.c:373,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_filter/channel_mixer/simple.c:376,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/channel_mixer/simple.c:377,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/simple.c:386,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/simple.c:387,1
    - Dst: work
      Src: /src/vlc/modules/audio_filter/channel_mixer/simple.c:391,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/channel_mixer/simple.c:393,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - p_filter
    - p_block
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 396
    functionName: Filter
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/simple.c
    functionUses: 39
    functionsReached:
    - block_Release
    - block_Alloc
    - work
    - msg_Warn
    - aout_FormatNbChannels
    linkageType: ''
    returnType: block_t
    signature: block_t *Filter( filter_t *p_filter, block_t *p_block )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:143,1
    - Dst: sqrt
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 8
    argNames:
    - p_data
    - i_rate
    - i_next_atomic_operation
    - i_source_channel_offset
    - d_x
    - d_z
    - d_compensation_length
    - d_channel_amplitude_factor
    argTypes:
    - filter_sys_t*
    - unsigned int
    - unsigned int
    - int
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 184
    functionName: ComputeChannelOperations
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/headphone.c
    functionUses: 1
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: void
    signature: "void ComputeChannelOperations( filter_sys_t * p_data\n        , unsigned
      int i_rate, unsigned int i_next_atomic_operation\n        , int i_source_channel_offset,
      double d_x, double d_z\n        , double d_compensation_length, double d_channel_amplitude_factor
      )"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:190,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:198,1
    - Dst: malloc
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:217,1
    - Dst: ComputeChannelOperations
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:228,1
    - Dst: ComputeChannelOperations
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:236,1
    - Dst: ComputeChannelOperations
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:244,1
    - Dst: ComputeChannelOperations
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:252,1
    - Dst: ComputeChannelOperations
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:260,1
    - Dst: ComputeChannelOperations
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:268,1
    - Dst: ComputeChannelOperations
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:276,1
    - Dst: ComputeChannelOperations
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:285,1
    - Dst: ComputeChannelOperations
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:289,1
    - Dst: ComputeChannelOperations
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:297,1
    - Dst: malloc
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:316,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:319,1
    - Dst: memset
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:322,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 77
    argCount: 5
    argNames:
    - p_this
    - p_data
    - i_nb_channels
    - i_physical_channels
    - i_rate
    argTypes:
    - vlc_object_t*
    - filter_sys_t*
    - unsigned int
    - uint32_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 325
    functionName: Init
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/headphone.c
    functionUses: 318
    functionsReached:
    - memset
    - var_InheritInteger
    - var_InheritBool
    - free
    - malloc
    - ComputeChannelOperations
    linkageType: ''
    returnType: int
    signature: "int Init( vlc_object_t *p_this, filter_sys_t * p_data\n        , unsigned
      int i_nb_channels, uint32_t i_physical_channels\n        , unsigned int i_rate
      )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:334,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:335,1
    - Dst: memset
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:361,1
    - Dst: memcpy
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:362,1
    - Dst: __MIN
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:362,1
    - Dst: memset
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:371,1
    - Dst: memcpy
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:376,1
    - Dst: memset
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:381,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 3
    argNames:
    - p_filter
    - p_in_buf
    - p_out_buf
    argTypes:
    - filter_t*
    - block_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 429
    functionName: DoWork
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/headphone.c
    functionUses: 1
    functionsReached:
    - __MIN
    - memcpy
    - aout_FormatNbChannels
    - memset
    linkageType: ''
    returnType: void
    signature: "void DoWork( filter_t * p_filter,\n                    block_t * p_in_buf,
      block_t * p_out_buf )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:446,1
    - Dst: malloc
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:451,1
    - Dst: Init
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:459,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:459,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:460,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:464,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:476,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:487,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:488,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 491
    functionName: OpenFilter
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/headphone.c
    functionUses: 0
    functionsReached:
    - aout_FormatPrepare
    - var_InheritBool
    - Init
    - free
    - msg_Dbg
    - VLC_OBJECT
    - malloc
    - aout_FormatNbChannels
    linkageType: ''
    returnType: int
    signature: int OpenFilter( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:500,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:501,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 503
    functionName: CloseFilter
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/headphone.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void CloseFilter( filter_t *p_filter )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:510,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:515,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:516,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:518,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:521,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:522,1
    - Dst: DoWork
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:531,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/channel_mixer/headphone.c:533,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - p_filter
    - p_block
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 535
    functionName: Convert
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/headphone.c
    functionUses: 30
    functionsReached:
    - block_Release
    - block_Alloc
    - msg_Warn
    - DoWork
    - aout_FormatNbChannels
    linkageType: ''
    returnType: block_t
    signature: block_t *Convert( filter_t *p_filter, block_t *p_block )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - in
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: NEON_WRAPPER
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/simple_neon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEON_WRAPPER(in, out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - in
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: C_WRAPPER
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/simple_neon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C_WRAPPER(in, out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:57,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:58,1
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:60,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:62,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:64,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:66,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - p_filter
    - p_in_buf
    argTypes:
    - filter_t*
    - block_t*
    assertStmts:
    - condition: ( i_input_nb < i_output_nb )
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/vlc/modules/audio_filter/channel_mixer/trivial.c
    constantsTouched: []
    func_position:
      end: 92
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 92
    functionName: Upmix
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/trivial.c
    functionUses: 0
    functionsReached:
    - block_Release
    - assert
    - block_Alloc
    - unlikely
    - aout_FormatNbChannels
    linkageType: ''
    returnType: block_t
    signature: block_t *Upmix( filter_t *p_filter, block_t *p_in_buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:99,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:100,1
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:102,1
    - Dst: memcpy
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - p_filter
    - p_buf
    argTypes:
    - filter_t*
    - block_t*
    assertStmts:
    - condition: ( i_input_nb >= i_output_nb )
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/vlc/modules/audio_filter/channel_mixer/trivial.c
    constantsTouched: []
    func_position:
      end: 124
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 124
    functionName: Downmix
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/trivial.c
    functionUses: 0
    functionsReached:
    - assert
    - memcpy
    - aout_FormatNbChannels
    linkageType: ''
    returnType: block_t
    signature: block_t *Downmix( filter_t *p_filter, block_t *p_buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_filter
    - p_buf
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: Equals
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/trivial.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: block_t
    signature: block_t *Equals( filter_t *p_filter, block_t *p_buf )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:134,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:139,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:140,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:142,1
    - Dst: aout_ChannelExtract
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:157,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - p_filter
    - p_in_buf
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 164
    functionName: Extract
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/trivial.c
    functionUses: 17
    functionsReached:
    - block_Release
    - block_Alloc
    - aout_ChannelExtract
    - unlikely
    - aout_FormatNbChannels
    linkageType: ''
    returnType: block_t
    signature: block_t *Extract( filter_t *p_filter, block_t *p_in_buf )
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:189,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:192,1
    - Dst: msg_Info
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:200,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:221,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:222,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:247,1
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:258,1
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:267,1
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:268,1
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:275,1
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:276,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:285,1
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:287,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:288,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:292,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:292,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:298,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:311,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:311,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:312,1
    - Dst: memcpy
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:315,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:317,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/trivial.c:317,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 74
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: ( i_chan & i_in_physical_channels )
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/vlc/modules/audio_filter/channel_mixer/trivial.c
    - condition: ( i + 2 < AOUT_CHAN_MAX )
      pos:
        line_end: 266
        line_start: 266
        source_file: /src/vlc/modules/audio_filter/channel_mixer/trivial.c
    - condition: ( pi_vlc_chan_order_wg4[i + 2] & AOUT_CHANS_REAR )
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/vlc/modules/audio_filter/channel_mixer/trivial.c
    - condition: ( (int) i - 2 >= 0 )
      pos:
        line_end: 274
        line_start: 274
        source_file: /src/vlc/modules/audio_filter/channel_mixer/trivial.c
    - condition: ( pi_vlc_chan_order_wg4[i - 2] & AOUT_CHANS_MIDDLE )
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/vlc/modules/audio_filter/channel_mixer/trivial.c
    - condition: ( infmt->i_channels > 0 )
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/vlc/modules/audio_filter/channel_mixer/trivial.c
    - condition: "( channel_map[i] == -1\n             || (unsigned) channel_map[i]
        < aout_FormatNbChannels( infmt ) )"
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/vlc/modules/audio_filter/channel_mixer/trivial.c
    constantsTouched: []
    func_position:
      end: 323
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 323
    functionName: Create
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/trivial.c
    functionUses: 171
    functionsReached:
    - assert
    - vlc_obj_malloc
    - memcpy
    - msg_Info
    - VLC_OBJECT
    - unlikely
    - aout_FormatNbChannels
    linkageType: ''
    returnType: int
    signature: int Create( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: CHANNEL
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/remap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHANNEL( idx )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/audio_filter/channel_mixer/remap.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - i_physical_channels
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: CanonicaliseChannels
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/remap.c
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CanonicaliseChannels( uint32_t i_physical_channels )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 216
    functionName: DEFINE_REMAP
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/remap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_REMAP( name, type )
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - p_format
    - b_add
    argTypes:
    - audio_format_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 261
    functionName: GetRemapFun
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/remap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: remap_fun_t
    signature: remap_fun_t GetRemapFun( audio_format_t *p_format, bool b_add )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/audio_filter/channel_mixer/remap.c:276,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/channel_mixer/remap.c:277,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/audio_filter/channel_mixer/remap.c:285,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/audio_filter/channel_mixer/remap.c:290,1
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/channel_mixer/remap.c:298,1
    - Dst: memchr
      Src: /src/vlc/modules/audio_filter/channel_mixer/remap.c:301,1
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/channel_mixer/remap.c:302,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/audio_filter/channel_mixer/remap.c:304,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_filter/channel_mixer/remap.c:307,1
    - Dst: CanonicaliseChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/remap.c:320,1
    - Dst: stdc_count_ones
      Src: /src/vlc/modules/audio_filter/channel_mixer/remap.c:322,1
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/channel_mixer/remap.c:331,1
    - Dst: memset
      Src: /src/vlc/modules/audio_filter/channel_mixer/remap.c:336,1
    - Dst: memchr
      Src: /src/vlc/modules/audio_filter/channel_mixer/remap.c:345,1
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/channel_mixer/remap.c:346,1
    - Dst: GetRemapFun
      Src: /src/vlc/modules/audio_filter/channel_mixer/remap.c:352,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_filter/channel_mixer/remap.c:355,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/audio_filter/channel_mixer/remap.c:362,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_filter/channel_mixer/remap.c:364,1
    - Dst: aout_FormatPrintChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/remap.c:368,1
    - Dst: aout_FormatPrintChannels
      Src: /src/vlc/modules/audio_filter/channel_mixer/remap.c:369,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: ( wg4_i < sizeof( pi_vlc_chan_order_wg4 )/sizeof( pi_vlc_chan_order_wg4[0]
        ) )
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/vlc/modules/audio_filter/channel_mixer/remap.c
    - condition: ( pi_chnidx != NULL )
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/vlc/modules/audio_filter/channel_mixer/remap.c
    - condition: ( wg4_i < sizeof( pi_vlc_chan_order_wg4 )/sizeof( pi_vlc_chan_order_wg4[0]
        ) )
      pos:
        line_end: 330
        line_start: 330
        source_file: /src/vlc/modules/audio_filter/channel_mixer/remap.c
    - condition: ( pi_out_ch != NULL )
      pos:
        line_end: 345
        line_start: 345
        source_file: /src/vlc/modules/audio_filter/channel_mixer/remap.c
    constantsTouched: []
    func_position:
      end: 377
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 377
    functionName: OpenFilter
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/remap.c
    functionUses: 0
    functionsReached:
    - aout_FormatPrepare
    - aout_FormatPrintChannels
    - assert
    - vlc_obj_malloc
    - memset
    - var_InheritInteger
    - stdc_count_ones
    - var_InheritBool
    - config_ChainParse
    - msg_Err
    - msg_Dbg
    - GetRemapFun
    - CanonicaliseChannels
    - unlikely
    - memchr
    linkageType: ''
    returnType: int
    signature: int OpenFilter( vlc_object_t *p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/channel_mixer/remap.c:388,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/audio_filter/channel_mixer/remap.c:395,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_filter/channel_mixer/remap.c:398,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/channel_mixer/remap.c:399,1
    - Dst: memset
      Src: /src/vlc/modules/audio_filter/channel_mixer/remap.c:407,1
    - Dst: filter_sys_t*::pf_remap
      Src: /src/vlc/modules/audio_filter/channel_mixer/remap.c:409,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/channel_mixer/remap.c:415,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - p_filter
    - p_block
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 418
    functionName: Remap
    functionSourceFile: /src/vlc/modules/audio_filter/channel_mixer/remap.c
    functionUses: 0
    functionsReached:
    - filter_sys_t*::pf_remap
    - block_Release
    - memset
    - block_Alloc
    - msg_Warn
    linkageType: ''
    returnType: block_t
    signature: block_t *Remap( filter_t *p_filter, block_t *p_block )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - p_filter
    - p_in_buf
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 103
    functionName: is_big_endian
    functionSourceFile: /src/vlc/modules/audio_filter/converter/tospdif.c
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    linkageType: ''
    returnType: bool
    signature: bool is_big_endian( filter_t *p_filter, block_t *p_in_buf )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetWBE
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:108,1
    - Dst: SetWLE
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - p_filter
    - p_buf
    - i_val
    argTypes:
    - filter_t*
    - void*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: set_16
    functionSourceFile: /src/vlc/modules/audio_filter/converter/tospdif.c
    functionUses: 0
    functionsReached:
    - SetWBE
    - SetWLE
    linkageType: ''
    returnType: void
    signature: void set_16( filter_t *p_filter, void *p_buf, uint16_t i_val )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:116,1
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:118,1
    - Dst: set_16
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p_filter
    - i_val
    argTypes:
    - filter_t*
    - uint16_t
    assertStmts:
    - condition: ( p_sys->p_out_buf != NULL )
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/vlc/modules/audio_filter/converter/tospdif.c
    - condition: ( p_sys->p_out_buf->i_buffer - p_sys->i_out_offset >= 2U )
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/vlc/modules/audio_filter/converter/tospdif.c
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: write_16
    functionSourceFile: /src/vlc/modules/audio_filter/converter/tospdif.c
    functionUses: 0
    functionsReached:
    - set_16
    - assert
    linkageType: ''
    returnType: void
    signature: void write_16( filter_t *p_filter, uint16_t i_val )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:126,1
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:128,1
    - Dst: memset
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p_filter
    - i_size
    argTypes:
    - filter_t*
    - size_t
    assertStmts:
    - condition: ( p_sys->p_out_buf != NULL )
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/vlc/modules/audio_filter/converter/tospdif.c
    - condition: ( p_sys->p_out_buf->i_buffer - p_sys->i_out_offset >= i_size )
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/vlc/modules/audio_filter/converter/tospdif.c
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: write_padding
    functionSourceFile: /src/vlc/modules/audio_filter/converter/tospdif.c
    functionUses: 0
    functionsReached:
    - assert
    - memset
    linkageType: ''
    returnType: void
    signature: void write_padding( filter_t *p_filter, size_t i_size )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:139,1
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:146,1
    - Dst: swab
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:149,1
    - Dst: memcpy
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:151,1
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:156,1
    - Dst: set_16
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - p_filter
    - p_buf
    - i_size
    - b_input_big_endian
    argTypes:
    - filter_t*
    - void*
    - size_t
    - bool
    assertStmts:
    - condition: ( p_sys->p_out_buf != NULL )
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/vlc/modules/audio_filter/converter/tospdif.c
    - condition: ( p_sys->p_out_buf->i_buffer - p_sys->i_out_offset >= i_size )
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/vlc/modules/audio_filter/converter/tospdif.c
    - condition: ( p_sys->p_out_buf->i_buffer - p_sys->i_out_offset >= 2 )
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/vlc/modules/audio_filter/converter/tospdif.c
    constantsTouched: []
    func_position:
      end: 161
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 161
    functionName: write_data
    functionSourceFile: /src/vlc/modules/audio_filter/converter/tospdif.c
    functionUses: 0
    functionsReached:
    - set_16
    - swab
    - assert
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void write_data( filter_t *p_filter, const void *p_buf, size_t i_size,\n
      \                       bool b_input_big_endian )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_data
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:166,1
    - Dst: is_big_endian
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_filter
    - p_in_buf
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 169
    functionName: write_buffer
    functionSourceFile: /src/vlc/modules/audio_filter/converter/tospdif.c
    functionUses: 0
    functionsReached:
    - is_big_endian
    - write_data
    linkageType: ''
    returnType: void
    signature: void write_buffer( filter_t *p_filter, block_t *p_in_buf )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:176,1
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:177,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - p_filter
    - p_in_buf
    - i_out_size
    - i_nb_samples
    argTypes:
    - filter_t*
    - block_t*
    - size_t
    - unsigned
    assertStmts:
    - condition: ( p_sys->p_out_buf == NULL )
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/vlc/modules/audio_filter/converter/tospdif.c
    - condition: ( i_out_size > SPDIF_HEADER_SIZE && ( i_out_size & 3 ) == 0 )
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/vlc/modules/audio_filter/converter/tospdif.c
    constantsTouched: []
    func_position:
      end: 188
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 188
    functionName: write_init
    functionSourceFile: /src/vlc/modules/audio_filter/converter/tospdif.c
    functionUses: 5
    functionsReached:
    - block_Alloc
    - assert
    linkageType: ''
    returnType: int
    signature: "int write_init( filter_t *p_filter, block_t *p_in_buf,\n                       size_t
      i_out_size, unsigned i_nb_samples )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:194,1
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:195,1
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:199,1
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:200,1
    - Dst: set_16
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:202,1
    - Dst: set_16
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:203,1
    - Dst: set_16
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:204,1
    - Dst: set_16
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:206,1
    - Dst: write_padding
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - p_filter
    - i_data_type
    - i_length_mul
    argTypes:
    - filter_t*
    - uint16_t
    - uint8_t
    assertStmts:
    - condition: ( p_sys->p_out_buf != NULL )
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/vlc/modules/audio_filter/converter/tospdif.c
    - condition: ( p_sys->i_out_offset > SPDIF_HEADER_SIZE )
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/vlc/modules/audio_filter/converter/tospdif.c
    - condition: ( i_data_type != 0 )
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/vlc/modules/audio_filter/converter/tospdif.c
    - condition: ( i_length_mul == 1 || i_length_mul == 8 )
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/vlc/modules/audio_filter/converter/tospdif.c
    constantsTouched: []
    func_position:
      end: 213
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 213
    functionName: write_finalize
    functionSourceFile: /src/vlc/modules/audio_filter/converter/tospdif.c
    functionUses: 0
    functionsReached:
    - set_16
    - assert
    - write_padding
    linkageType: ''
    returnType: void
    signature: "void write_finalize( filter_t *p_filter, uint16_t i_data_type,\n                            uint8_t
      i_length_mul )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:219,1
    - Dst: vlc_a52_header_Parse
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:226,1
    - Dst: write_init
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:234,1
    - Dst: write_buffer
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:236,1
    - Dst: write_finalize
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:237,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - p_filter
    - p_in_buf
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 242
    functionName: write_buffer_ac3
    functionSourceFile: /src/vlc/modules/audio_filter/converter/tospdif.c
    functionUses: 0
    functionsReached:
    - vlc_a52_header_Parse
    - write_buffer
    - write_finalize
    - write_init
    - unlikely
    linkageType: ''
    returnType: int
    signature: int write_buffer_ac3( filter_t *p_filter, block_t *p_in_buf )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_a52_header_Parse
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:267,1
    - Dst: vlc_a52_header_Parse
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:278,1
    - Dst: write_init
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:286,1
    - Dst: write_buffer
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:291,1
    - Dst: write_finalize
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:301,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 2
    argNames:
    - p_filter
    - p_in_buf
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 245
    functionDepth: 4
    functionLinenumber: 245
    functionLinenumberEnd: 304
    functionName: write_buffer_eac3
    functionSourceFile: /src/vlc/modules/audio_filter/converter/tospdif.c
    functionUses: 0
    functionsReached:
    - write_finalize
    - vlc_a52_header_Parse
    - write_init
    - write_buffer
    linkageType: ''
    returnType: int
    signature: int write_buffer_eac3( filter_t *p_filter, block_t *p_in_buf )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: write_init
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:322,1
    - Dst: write_data
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:332,1
    - Dst: write_data
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:348,1
    - Dst: write_buffer
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:365,1
    - Dst: write_padding
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:366,1
    - Dst: write_data
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:367,1
    - Dst: write_finalize
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:368,1
    - Dst: write_buffer
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:379,1
    - Dst: write_padding
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:380,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - p_filter
    - p_in_buf
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 315
    functionDepth: 4
    functionLinenumber: 315
    functionLinenumberEnd: 383
    functionName: write_buffer_truehd
    functionSourceFile: /src/vlc/modules/audio_filter/converter/tospdif.c
    functionUses: 0
    functionsReached:
    - write_padding
    - write_buffer
    - write_data
    - write_finalize
    - write_init
    linkageType: ''
    returnType: int
    signature: int write_buffer_truehd( filter_t *p_filter, block_t *p_in_buf )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vlc_dts_header_Parse
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:392,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:410,1
    - Dst: write_init
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:420,1
    - Dst: vlc_dts_header_Convert14b16b
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:425,1
    - Dst: write_init
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:440,1
    - Dst: write_buffer
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:443,1
    - Dst: write_finalize
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:446,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - p_filter
    - p_in_buf
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 385
    functionDepth: 4
    functionLinenumber: 385
    functionLinenumberEnd: 448
    functionName: write_buffer_dts
    functionSourceFile: /src/vlc/modules/audio_filter/converter/tospdif.c
    functionUses: 0
    functionsReached:
    - vlc_dts_header_Convert14b16b
    - vlc_dts_header_Parse
    - write_buffer
    - msg_Err
    - write_finalize
    - write_init
    linkageType: ''
    returnType: int
    signature: int write_buffer_dts( filter_t *p_filter, block_t *p_in_buf )
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - i_frame_length
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 469
    functionName: dtshd_get_subtype
    functionSourceFile: /src/vlc/modules/audio_filter/converter/tospdif.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dtshd_get_subtype( unsigned i_frame_length )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_dts_header_Parse
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:481,1
    - Dst: dtshd_get_subtype
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:487,1
    - Dst: write_init
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:509,1
    - Dst: write_data
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:513,1
    - Dst: write_16
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:514,1
    - Dst: write_buffer
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:515,1
    - Dst: vlc_align
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:519,1
    - Dst: write_padding
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:523,1
    - Dst: write_finalize
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:525,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - p_filter
    - p_in_buf
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 472
    functionDepth: 4
    functionLinenumber: 472
    functionLinenumberEnd: 527
    functionName: write_buffer_dtshd
    functionSourceFile: /src/vlc/modules/audio_filter/converter/tospdif.c
    functionUses: 0
    functionsReached:
    - vlc_align
    - vlc_dts_header_Parse
    - write_16
    - write_buffer
    - write_data
    - write_padding
    - write_finalize
    - write_init
    - dtshd_get_subtype
    linkageType: ''
    returnType: int
    signature: int write_buffer_dtshd( filter_t *p_filter, block_t *p_in_buf )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:535,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 549
    functionName: Flush
    functionSourceFile: /src/vlc/modules/audio_filter/converter/tospdif.c
    functionUses: 61
    functionsReached:
    - block_Release
    linkageType: ''
    returnType: void
    signature: void Flush( filter_t *p_filter )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: write_buffer_ac3
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:560,1
    - Dst: write_buffer_eac3
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:563,1
    - Dst: write_buffer_truehd
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:567,1
    - Dst: write_buffer_dtshd
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:570,1
    - Dst: write_buffer_dts
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:573,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:576,1
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:582,1
    - Dst: filter_Flush
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:589,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:593,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 2
    argNames:
    - p_filter
    - p_in_buf
    argTypes:
    - filter_t*
    - block_t*
    assertStmts:
    - condition: ( p_sys->p_out_buf->i_buffer == p_sys->i_out_offset )
      pos:
        line_end: 581
        line_start: 581
        source_file: /src/vlc/modules/audio_filter/converter/tospdif.c
    constantsTouched: []
    func_position:
      end: 595
      start: 551
    functionDepth: 5
    functionLinenumber: 551
    functionLinenumberEnd: 595
    functionName: DoWork
    functionSourceFile: /src/vlc/modules/audio_filter/converter/tospdif.c
    functionUses: 2
    functionsReached:
    - block_Release
    - assert
    - write_buffer_dts
    - vlc_assert_unreachable
    - filter_Flush
    - write_buffer_ac3
    - write_buffer_dtshd
    - write_buffer_eac3
    - write_buffer_truehd
    linkageType: ''
    returnType: block_t
    signature: block_t *DoWork( filter_t *p_filter, block_t *p_in_buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:599,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 601
    functionName: Close
    functionSourceFile: /src/vlc/modules/audio_filter/converter/tospdif.c
    functionUses: 139
    functionsReached:
    - free
    - Flush
    linkageType: ''
    returnType: void
    signature: void Close( filter_t *p_filter )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:618,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/converter/tospdif.c:619,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 631
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_filter/converter/tospdif.c
    functionUses: 46
    functionsReached:
    - calloc
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AOUT_FMTS_SIMILAR
      Src: /src/vlc/modules/audio_filter/converter/format.c:68,1
    - Dst: FindConversion
      Src: /src/vlc/modules/audio_filter/converter/format.c:73,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_filter/converter/format.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 83
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_filter/converter/format.c
    functionUses: 46
    functionsReached:
    - AOUT_FMTS_SIMILAR
    - msg_Dbg
    - FindConversion
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *object)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/audio_filter/converter/format.c:89,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/converter/format.c:90,1
    - Dst: block_CopyProperties
      Src: /src/vlc/modules/audio_filter/converter/format.c:93,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/converter/format.c:99,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/converter/format.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - filter
    - bsrc
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 102
    functionName: U8toS16
    functionSourceFile: /src/vlc/modules/audio_filter/converter/format.c
    functionUses: 0
    functionsReached:
    - block_Release
    - block_CopyProperties
    - block_Alloc
    - unlikely
    - VLC_UNUSED
    linkageType: ''
    returnType: block_t
    signature: block_t *U8toS16(filter_t *filter, block_t *bsrc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/audio_filter/converter/format.c:106,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/converter/format.c:107,1
    - Dst: block_CopyProperties
      Src: /src/vlc/modules/audio_filter/converter/format.c:110,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/converter/format.c:116,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/converter/format.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - filter
    - bsrc
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 119
    functionName: U8toFl32
    functionSourceFile: /src/vlc/modules/audio_filter/converter/format.c
    functionUses: 0
    functionsReached:
    - block_Release
    - block_CopyProperties
    - block_Alloc
    - unlikely
    - VLC_UNUSED
    linkageType: ''
    returnType: block_t
    signature: block_t *U8toFl32(filter_t *filter, block_t *bsrc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/audio_filter/converter/format.c:123,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/converter/format.c:124,1
    - Dst: block_CopyProperties
      Src: /src/vlc/modules/audio_filter/converter/format.c:127,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/converter/format.c:133,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/converter/format.c:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - filter
    - bsrc
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 136
    functionName: U8toS32
    functionSourceFile: /src/vlc/modules/audio_filter/converter/format.c
    functionUses: 0
    functionsReached:
    - block_Release
    - block_CopyProperties
    - block_Alloc
    - unlikely
    - VLC_UNUSED
    linkageType: ''
    returnType: block_t
    signature: block_t *U8toS32(filter_t *filter, block_t *bsrc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/audio_filter/converter/format.c:140,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/converter/format.c:141,1
    - Dst: block_CopyProperties
      Src: /src/vlc/modules/audio_filter/converter/format.c:144,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/converter/format.c:150,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/converter/format.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - filter
    - bsrc
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 153
    functionName: U8toFl64
    functionSourceFile: /src/vlc/modules/audio_filter/converter/format.c
    functionUses: 0
    functionsReached:
    - block_Release
    - block_CopyProperties
    - block_Alloc
    - unlikely
    - VLC_UNUSED
    linkageType: ''
    returnType: block_t
    signature: block_t *U8toFl64(filter_t *filter, block_t *bsrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/converter/format.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - filter
    - b
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 167
    functionName: S16toU8
    functionSourceFile: /src/vlc/modules/audio_filter/converter/format.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: block_t
    signature: block_t *S16toU8(filter_t *filter, block_t *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/audio_filter/converter/format.c:171,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/converter/format.c:172,1
    - Dst: block_CopyProperties
      Src: /src/vlc/modules/audio_filter/converter/format.c:175,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/converter/format.c:192,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/converter/format.c:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - filter
    - bsrc
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 195
    functionName: S16toFl32
    functionSourceFile: /src/vlc/modules/audio_filter/converter/format.c
    functionUses: 0
    functionsReached:
    - block_Release
    - block_CopyProperties
    - block_Alloc
    - unlikely
    - VLC_UNUSED
    linkageType: ''
    returnType: block_t
    signature: block_t *S16toFl32(filter_t *filter, block_t *bsrc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/audio_filter/converter/format.c:199,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/converter/format.c:200,1
    - Dst: block_CopyProperties
      Src: /src/vlc/modules/audio_filter/converter/format.c:203,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/converter/format.c:209,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/converter/format.c:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - filter
    - bsrc
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 212
    functionName: S16toS32
    functionSourceFile: /src/vlc/modules/audio_filter/converter/format.c
    functionUses: 0
    functionsReached:
    - block_Release
    - block_CopyProperties
    - block_Alloc
    - unlikely
    - VLC_UNUSED
    linkageType: ''
    returnType: block_t
    signature: block_t *S16toS32(filter_t *filter, block_t *bsrc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/audio_filter/converter/format.c:216,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/converter/format.c:217,1
    - Dst: block_CopyProperties
      Src: /src/vlc/modules/audio_filter/converter/format.c:220,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/converter/format.c:226,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/converter/format.c:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - filter
    - bsrc
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 229
    functionName: S16toFl64
    functionSourceFile: /src/vlc/modules/audio_filter/converter/format.c
    functionUses: 0
    functionsReached:
    - block_Release
    - block_CopyProperties
    - block_Alloc
    - unlikely
    - VLC_UNUSED
    linkageType: ''
    returnType: block_t
    signature: block_t *S16toFl64(filter_t *filter, block_t *bsrc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lroundf
      Src: /src/vlc/modules/audio_filter/converter/format.c:246,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/converter/format.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - filter
    - b
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 251
    functionName: Fl32toU8
    functionSourceFile: /src/vlc/modules/audio_filter/converter/format.c
    functionUses: 0
    functionsReached:
    - lroundf
    - VLC_UNUSED
    linkageType: ''
    returnType: block_t
    signature: block_t *Fl32toU8(filter_t *filter, block_t *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/converter/format.c:255,1
    - Dst: lroundf
      Src: /src/vlc/modules/audio_filter/converter/format.c:263,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - filter
    - b
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 279
    functionName: Fl32toS16
    functionSourceFile: /src/vlc/modules/audio_filter/converter/format.c
    functionUses: 0
    functionsReached:
    - lroundf
    - VLC_UNUSED
    linkageType: ''
    returnType: block_t
    signature: block_t *Fl32toS16(filter_t *filter, block_t *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lroundf
      Src: /src/vlc/modules/audio_filter/converter/format.c:294,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/converter/format.c:296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - filter
    - b
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 298
    functionName: Fl32toS32
    functionSourceFile: /src/vlc/modules/audio_filter/converter/format.c
    functionUses: 0
    functionsReached:
    - lroundf
    - VLC_UNUSED
    linkageType: ''
    returnType: block_t
    signature: block_t *Fl32toS32(filter_t *filter, block_t *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/audio_filter/converter/format.c:302,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/converter/format.c:303,1
    - Dst: block_CopyProperties
      Src: /src/vlc/modules/audio_filter/converter/format.c:306,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/converter/format.c:312,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/converter/format.c:313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - filter
    - bsrc
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 315
    functionName: Fl32toFl64
    functionSourceFile: /src/vlc/modules/audio_filter/converter/format.c
    functionUses: 0
    functionsReached:
    - block_Release
    - block_CopyProperties
    - block_Alloc
    - unlikely
    - VLC_UNUSED
    linkageType: ''
    returnType: block_t
    signature: block_t *Fl32toFl64(filter_t *filter, block_t *bsrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/converter/format.c:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - filter
    - b
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 329
    functionName: S32toU8
    functionSourceFile: /src/vlc/modules/audio_filter/converter/format.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: block_t
    signature: block_t *S32toU8(filter_t *filter, block_t *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/converter/format.c:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - filter
    - b
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 341
    functionName: S32toS16
    functionSourceFile: /src/vlc/modules/audio_filter/converter/format.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: block_t
    signature: block_t *S32toS16(filter_t *filter, block_t *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/converter/format.c:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - filter
    - b
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 351
    functionName: S32toFl32
    functionSourceFile: /src/vlc/modules/audio_filter/converter/format.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: block_t
    signature: block_t *S32toFl32(filter_t *filter, block_t *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/audio_filter/converter/format.c:355,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/converter/format.c:356,1
    - Dst: block_CopyProperties
      Src: /src/vlc/modules/audio_filter/converter/format.c:359,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/converter/format.c:365,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/converter/format.c:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - filter
    - bsrc
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 368
    functionName: S32toFl64
    functionSourceFile: /src/vlc/modules/audio_filter/converter/format.c
    functionUses: 0
    functionsReached:
    - block_Release
    - block_CopyProperties
    - block_Alloc
    - unlikely
    - VLC_UNUSED
    linkageType: ''
    returnType: block_t
    signature: block_t *S32toFl64(filter_t *filter, block_t *bsrc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lround
      Src: /src/vlc/modules/audio_filter/converter/format.c:385,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/converter/format.c:388,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - filter
    - b
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 390
    functionName: Fl64toU8
    functionSourceFile: /src/vlc/modules/audio_filter/converter/format.c
    functionUses: 0
    functionsReached:
    - lround
    - VLC_UNUSED
    linkageType: ''
    returnType: block_t
    signature: block_t *Fl64toU8(filter_t *filter, block_t *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/converter/format.c:394,1
    - Dst: lround
      Src: /src/vlc/modules/audio_filter/converter/format.c:405,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - filter
    - b
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 409
    functionName: Fl64toS16
    functionSourceFile: /src/vlc/modules/audio_filter/converter/format.c
    functionUses: 0
    functionsReached:
    - lround
    - VLC_UNUSED
    linkageType: ''
    returnType: block_t
    signature: block_t *Fl64toS16(filter_t *filter, block_t *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/converter/format.c:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - filter
    - b
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 421
    functionName: Fl64toFl32
    functionSourceFile: /src/vlc/modules/audio_filter/converter/format.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: block_t
    signature: block_t *Fl64toFl32(filter_t *filter, block_t *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lround
      Src: /src/vlc/modules/audio_filter/converter/format.c:436,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_filter/converter/format.c:439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - filter
    - b
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 441
    functionName: Fl64toS32
    functionSourceFile: /src/vlc/modules/audio_filter/converter/format.c
    functionUses: 0
    functionsReached:
    - lround
    - VLC_UNUSED
    linkageType: ''
    returnType: block_t
    signature: block_t *Fl64toS32(filter_t *filter, block_t *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - vlc_fourcc_t
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 487
    functionName: FindConversion
    functionSourceFile: /src/vlc/modules/audio_filter/converter/format.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct vlc_filter_operations
    signature: struct vlc_filter_operations *FindConversion(vlc_fourcc_t src, vlc_fourcc_t
      dst)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - i_format
    - p_type
    argTypes:
    - vlc_fourcc_t
    - soxr_datatype_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 118
    functionName: SoXR_GetFormat
    functionSourceFile: /src/vlc/modules/audio_filter/resampler/soxr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SoXR_GetFormat( vlc_fourcc_t i_format, soxr_datatype_t *p_type
      )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SoXR_GetFormat
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:131,1
    - Dst: SoXR_GetFormat
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:132,1
    - Dst: calloc
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:135,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:136,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:142,1
    - Dst: soxr_io_spec
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:155,1
    - Dst: soxr_quality_spec
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:157,1
    - Dst: soxr_create
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:159,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:163,1
    - Dst: soxr_strerror
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:163,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:164,1
    - Dst: soxr_quality_spec
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:173,1
    - Dst: soxr_create
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:174,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:178,1
    - Dst: soxr_strerror
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:178,1
    - Dst: soxr_delete
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:179,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:180,1
    - Dst: soxr_set_io_ratio
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:183,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:186,1
    - Dst: soxr_engine
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:188,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - p_obj
    - b_change_ratio
    argTypes:
    - vlc_object_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 212
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_filter/resampler/soxr.c
    functionUses: 46
    functionsReached:
    - soxr_create
    - soxr_set_io_ratio
    - var_InheritInteger
    - soxr_engine
    - msg_Err
    - calloc
    - free
    - SoXR_GetFormat
    - soxr_io_spec
    - soxr_quality_spec
    - soxr_delete
    - msg_Dbg
    - unlikely
    - soxr_strerror
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_obj, bool b_change_ratio )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Open
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 223
    functionName: OpenResampler
    functionSourceFile: /src/vlc/modules/audio_filter/resampler/soxr.c
    functionUses: 0
    functionsReached:
    - Open
    linkageType: ''
    returnType: int
    signature: int OpenResampler( vlc_object_t *p_obj )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Open
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 235
    functionName: OpenConverter
    functionSourceFile: /src/vlc/modules/audio_filter/resampler/soxr.c
    functionUses: 0
    functionsReached:
    - Open
    linkageType: ''
    returnType: int
    signature: int OpenConverter( vlc_object_t *p_obj )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: soxr_delete
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:242,1
    - Dst: soxr_delete
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:244,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 247
    functionName: Close
    functionSourceFile: /src/vlc/modules/audio_filter/resampler/soxr.c
    functionUses: 139
    functionsReached:
    - free
    - soxr_delete
    linkageType: ''
    returnType: void
    signature: void Close( filter_t *p_filter )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:265,1
    - Dst: soxr_process
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:270,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:275,1
    - Dst: soxr_strerror
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:275,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:276,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:279,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:280,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:285,1
    - Dst: soxr_clear
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:295,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:302,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 4
    argNames:
    - p_filter
    - soxr
    - p_in
    - i_olen
    argTypes:
    - filter_t*
    - soxr_t
    - block_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 305
    functionName: SoXR_Resample
    functionSourceFile: /src/vlc/modules/audio_filter/resampler/soxr.c
    functionUses: 0
    functionsReached:
    - block_Release
    - msg_Err
    - block_Alloc
    - vlc_tick_from_samples
    - unlikely
    - soxr_strerror
    - soxr_process
    - soxr_clear
    linkageType: ''
    returnType: block_t
    signature: 'block_t *

      SoXR_Resample( filter_t *p_filter, soxr_t soxr, block_t *p_in, size_t i_olen
      )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lrint
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i_ilen
    - f_ratio
    argTypes:
    - size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 313
    functionName: SoXR_GetOutLen
    functionSourceFile: /src/vlc/modules/audio_filter/resampler/soxr.c
    functionUses: 0
    functionsReached:
    - lrint
    linkageType: ''
    returnType: size_t
    signature: size_t SoXR_GetOutLen( size_t i_ilen, double f_ratio )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:320,1
    - Dst: SoXR_GetOutLen
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:330,1
    - Dst: soxr_set_io_ratio
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:336,1
    - Dst: SoXR_Resample
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:354,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:357,1
    - Dst: soxr_engine
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:357,1
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:362,1
    - Dst: SoXR_Resample
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:363,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:374,1
    - Dst: block_ChainGather
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:375,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:383,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - p_filter
    - p_in
    argTypes:
    - filter_t*
    - block_t*
    assertStmts:
    - condition: ( p_sys->vr_soxr != NULL )
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/vlc/modules/audio_filter/resampler/soxr.c
    - condition: ( !p_out )
      pos:
        line_end: 361
        line_start: 361
        source_file: /src/vlc/modules/audio_filter/resampler/soxr.c
    constantsTouched: []
    func_position:
      end: 385
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 385
    functionName: Resample
    functionSourceFile: /src/vlc/modules/audio_filter/resampler/soxr.c
    functionUses: 1
    functionsReached:
    - block_Release
    - assert
    - soxr_set_io_ratio
    - block_ChainAppend
    - soxr_engine
    - SoXR_Resample
    - msg_Dbg
    - SoXR_GetOutLen
    - block_ChainGather
    linkageType: ''
    returnType: block_t
    signature: 'block_t *

      Resample( filter_t *p_filter, block_t *p_in )'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:393,1
    - Dst: SoXR_GetOutLen
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:395,1
    - Dst: SoXR_Resample
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_filter
    - p_in
    argTypes:
    - filter_t*
    - block_t*
    assertStmts:
    - condition: ( p_sys->vr_soxr == NULL )
      pos:
        line_end: 392
        line_start: 392
        source_file: /src/vlc/modules/audio_filter/resampler/soxr.c
    constantsTouched: []
    func_position:
      end: 401
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 401
    functionName: FixedResample
    functionSourceFile: /src/vlc/modules/audio_filter/resampler/soxr.c
    functionUses: 0
    functionsReached:
    - assert
    - SoXR_Resample
    - SoXR_GetOutLen
    linkageType: ''
    returnType: block_t
    signature: 'block_t *

      FixedResample( filter_t *p_filter, block_t *p_in )'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SoXR_Resample
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:410,1
    - Dst: assert
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: ( p_sys->i_next_pts != VLC_TICK_INVALID )
      pos:
        line_end: 413
        line_start: 413
        source_file: /src/vlc/modules/audio_filter/resampler/soxr.c
    constantsTouched: []
    func_position:
      end: 421
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 421
    functionName: Drain
    functionSourceFile: /src/vlc/modules/audio_filter/resampler/soxr.c
    functionUses: 4
    functionsReached:
    - assert
    - SoXR_Resample
    linkageType: ''
    returnType: block_t
    signature: 'block_t *

      Drain( filter_t *p_filter )'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: soxr_clear
      Src: /src/vlc/modules/audio_filter/resampler/soxr.c:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 435
    functionName: Flush
    functionSourceFile: /src/vlc/modules/audio_filter/resampler/soxr.c
    functionUses: 63
    functionsReached:
    - soxr_clear
    linkageType: ''
    returnType: void
    signature: void Flush( filter_t *p_filter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateResampler
      Src: /src/vlc/modules/audio_filter/resampler/ugly.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: Create
    functionSourceFile: /src/vlc/modules/audio_filter/resampler/ugly.c
    functionUses: 171
    functionsReached:
    - CreateResampler
    linkageType: ''
    returnType: int
    signature: int Create( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AOUT_FMT_LINEAR
      Src: /src/vlc/modules/audio_filter/resampler/ugly.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 85
    functionName: CreateResampler
    functionSourceFile: /src/vlc/modules/audio_filter/resampler/ugly.c
    functionUses: 1
    functionsReached:
    - AOUT_FMT_LINEAR
    linkageType: ''
    returnType: int
    signature: int CreateResampler( vlc_object_t *p_this )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/resampler/ugly.c:100,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/audio_filter/resampler/ugly.c:104,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/audio_filter/resampler/ugly.c:116,1
    - Dst: memcpy
      Src: /src/vlc/modules/audio_filter/resampler/ugly.c:121,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/resampler/ugly.c:135,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - p_filter
    - p_in_buf
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 137
    functionName: DoWork
    functionSourceFile: /src/vlc/modules/audio_filter/resampler/ugly.c
    functionUses: 2
    functionsReached:
    - block_Release
    - memcpy
    - block_Alloc
    - vlc_tick_from_samples
    - aout_FormatNbChannels
    linkageType: ''
    returnType: block_t
    signature: block_t *DoWork( filter_t * p_filter, block_t * p_in_buf )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OpenResampler
      Src: /src/vlc/modules/audio_filter/resampler/src.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_filter/resampler/src.c
    functionUses: 48
    functionsReached:
    - OpenResampler
    linkageType: ''
    returnType: int
    signature: int Open (vlc_object_t *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/audio_filter/resampler/src.c:95,1
    - Dst: src_new
      Src: /src/vlc/modules/audio_filter/resampler/src.c:98,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_filter/resampler/src.c:101,1
    - Dst: src_strerror
      Src: /src/vlc/modules/audio_filter/resampler/src.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 113
    functionName: OpenResampler
    functionSourceFile: /src/vlc/modules/audio_filter/resampler/src.c
    functionUses: 1
    functionsReached:
    - src_new
    - var_InheritInteger
    - src_strerror
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int OpenResampler (vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: src_delete
      Src: /src/vlc/modules/audio_filter/resampler/src.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: Close
    functionSourceFile: /src/vlc/modules/audio_filter/resampler/src.c
    functionUses: 139
    functionsReached:
    - src_delete
    linkageType: ''
    returnType: void
    signature: void Close (filter_t *filter)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: src_set_ratio
      Src: /src/vlc/modules/audio_filter/resampler/src.c:133,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_filter/resampler/src.c:136,1
    - Dst: src_strerror
      Src: /src/vlc/modules/audio_filter/resampler/src.c:137,1
    - Dst: ceil
      Src: /src/vlc/modules/audio_filter/resampler/src.c:142,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/audio_filter/resampler/src.c:145,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/resampler/src.c:146,1
    - Dst: src_process
      Src: /src/vlc/modules/audio_filter/resampler/src.c:152,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_filter/resampler/src.c:155,1
    - Dst: src_strerror
      Src: /src/vlc/modules/audio_filter/resampler/src.c:155,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/resampler/src.c:156,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_filter/resampler/src.c:162,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/audio_filter/resampler/src.c:168,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/resampler/src.c:170,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - filter
    - in
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 172
    functionName: Resample
    functionSourceFile: /src/vlc/modules/audio_filter/resampler/src.c
    functionUses: 3
    functionsReached:
    - block_Release
    - ceil
    - src_process
    - src_strerror
    - msg_Err
    - block_Alloc
    - vlc_tick_from_samples
    - unlikely
    - src_set_ratio
    linkageType: ''
    returnType: block_t
    signature: block_t *Resample (filter_t *filter, block_t *in)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/audio_filter/resampler/speex.c:79,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/resampler/speex.c:80,1
    - Dst: speex_resampler_init
      Src: /src/vlc/modules/audio_filter/resampler/speex.c:84,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/resampler/speex.c:87,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_filter/resampler/speex.c:89,1
    - Dst: speex_resampler_strerror
      Src: /src/vlc/modules/audio_filter/resampler/speex.c:90,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 101
    functionName: OpenResampler
    functionSourceFile: /src/vlc/modules/audio_filter/resampler/speex.c
    functionUses: 1
    functionsReached:
    - speex_resampler_init
    - speex_resampler_strerror
    - var_InheritInteger
    - msg_Err
    - unlikely
    linkageType: ''
    returnType: int
    signature: int OpenResampler (vlc_object_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OpenResampler
      Src: /src/vlc/modules/audio_filter/resampler/speex.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_filter/resampler/speex.c
    functionUses: 48
    functionsReached:
    - OpenResampler
    linkageType: ''
    returnType: int
    signature: int Open (vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: speex_resampler_destroy
      Src: /src/vlc/modules/audio_filter/resampler/speex.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: Close
    functionSourceFile: /src/vlc/modules/audio_filter/resampler/speex.c
    functionUses: 139
    functionsReached:
    - speex_resampler_destroy
    linkageType: ''
    returnType: void
    signature: void Close (filter_t *filter)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/vlc/modules/audio_filter/resampler/speex.c:129,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/audio_filter/resampler/speex.c:130,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/audio_filter/resampler/speex.c:132,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_filter/resampler/speex.c:133,1
    - Dst: speex_resampler_set_rate
      Src: /src/vlc/modules/audio_filter/resampler/speex.c:136,1
    - Dst: speex_resampler_process_interleaved_float
      Src: /src/vlc/modules/audio_filter/resampler/speex.c:140,1
    - Dst: speex_resampler_process_interleaved_int
      Src: /src/vlc/modules/audio_filter/resampler/speex.c:143,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_filter/resampler/speex.c:147,1
    - Dst: speex_resampler_strerror
      Src: /src/vlc/modules/audio_filter/resampler/speex.c:148,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/resampler/speex.c:149,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_filter/resampler/speex.c:155,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/audio_filter/resampler/speex.c:161,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_filter/resampler/speex.c:163,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - filter
    - in
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 165
    functionName: Resample
    functionSourceFile: /src/vlc/modules/audio_filter/resampler/speex.c
    functionUses: 3
    functionsReached:
    - block_Release
    - speex_resampler_strerror
    - speex_resampler_process_interleaved_float
    - msg_Err
    - UINT64_C
    - block_Alloc
    - speex_resampler_process_interleaved_int
    - speex_resampler_set_rate
    - vlc_tick_from_samples
    - unlikely
    linkageType: ''
    returnType: block_t
    signature: block_t *Resample (filter_t *filter, block_t *in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: undenormalise
      Src: /src/vlc/modules/audio_filter/spatializer/allpass.hpp:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 41
    functionName: allpass::process
    functionSourceFile: /src/vlc/modules/audio_filter/spatializer/allpass.hpp
    functionUses: 0
    functionsReached:
    - undenormalise
    linkageType: ''
    returnType: float
    signature: float allpass::process(float input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fpclassify
      Src: /src/vlc/modules/audio_filter/spatializer/denormals.c:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: undenormalise
    functionSourceFile: /src/vlc/modules/audio_filter/spatializer/denormals.c
    functionUses: 1
    functionsReached:
    - fpclassify
    linkageType: ''
    returnType: float
    signature: float undenormalise( float f )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - float*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 16
    functionName: allpass::allpass
    functionSourceFile: /src/vlc/modules/audio_filter/spatializer/allpass.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void allpass::allpass(float *buf, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: allpass::mute
    functionSourceFile: /src/vlc/modules/audio_filter/spatializer/allpass.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void allpass::mute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: allpass::setfeedback
    functionSourceFile: /src/vlc/modules/audio_filter/spatializer/allpass.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void allpass::setfeedback(float val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: revmodel::update
      Src: /src/vlc/modules/audio_filter/spatializer/revmodel.cpp:38,1
    - Dst: revmodel::mute
      Src: /src/vlc/modules/audio_filter/spatializer/revmodel.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 42
    functionName: revmodel::revmodel
    functionSourceFile: /src/vlc/modules/audio_filter/spatializer/revmodel.cpp
    functionUses: 0
    functionsReached:
    - revmodel::update
    - revmodel::mute
    linkageType: ''
    returnType: void
    signature: void revmodel::revmodel()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: revmodel::mute
      Src: /src/vlc/modules/audio_filter/spatializer/revmodel.cpp:52,1
    - Dst: revmodel::mute
      Src: /src/vlc/modules/audio_filter/spatializer/revmodel.cpp:53,1
    - Dst: revmodel::mute
      Src: /src/vlc/modules/audio_filter/spatializer/revmodel.cpp:57,1
    - Dst: revmodel::mute
      Src: /src/vlc/modules/audio_filter/spatializer/revmodel.cpp:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: revmodel::mute
    functionSourceFile: /src/vlc/modules/audio_filter/spatializer/revmodel.cpp
    functionUses: 2
    functionsReached:
    - revmodel::mute
    linkageType: ''
    returnType: void
    signature: void revmodel::mute()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: process
      Src: /src/vlc/modules/audio_filter/spatializer/revmodel.cpp:86,1
    - Dst: process
      Src: /src/vlc/modules/audio_filter/spatializer/revmodel.cpp:87,1
    - Dst: process
      Src: /src/vlc/modules/audio_filter/spatializer/revmodel.cpp:93,1
    - Dst: process
      Src: /src/vlc/modules/audio_filter/spatializer/revmodel.cpp:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - inputL
    - outputL
    - skip
    argTypes:
    - float*
    - float*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 101
    functionName: revmodel::processreplace
    functionSourceFile: /src/vlc/modules/audio_filter/spatializer/revmodel.cpp
    functionUses: 0
    functionsReached:
    - process
    linkageType: ''
    returnType: void
    signature: void revmodel::processreplace(float *inputL, float *outputL, long /*
      numsamples */, int skip)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: process
      Src: /src/vlc/modules/audio_filter/spatializer/revmodel.cpp:118,1
    - Dst: process
      Src: /src/vlc/modules/audio_filter/spatializer/revmodel.cpp:119,1
    - Dst: process
      Src: /src/vlc/modules/audio_filter/spatializer/revmodel.cpp:125,1
    - Dst: process
      Src: /src/vlc/modules/audio_filter/spatializer/revmodel.cpp:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - inputL
    - outputL
    - skip
    argTypes:
    - float*
    - float*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 133
    functionName: revmodel::processmix
    functionSourceFile: /src/vlc/modules/audio_filter/spatializer/revmodel.cpp
    functionUses: 0
    functionsReached:
    - process
    linkageType: ''
    returnType: void
    signature: void revmodel::processmix(float *inputL, float *outputL, long /* numsamples
      */, int skip)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setfeedback
      Src: /src/vlc/modules/audio_filter/spatializer/revmodel.cpp:157,1
    - Dst: setfeedback
      Src: /src/vlc/modules/audio_filter/spatializer/revmodel.cpp:158,1
    - Dst: revmodel::setdamp
      Src: /src/vlc/modules/audio_filter/spatializer/revmodel.cpp:163,1
    - Dst: revmodel::setdamp
      Src: /src/vlc/modules/audio_filter/spatializer/revmodel.cpp:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 166
    functionName: revmodel::update
    functionSourceFile: /src/vlc/modules/audio_filter/spatializer/revmodel.cpp
    functionUses: 1
    functionsReached:
    - setfeedback
    - revmodel::setdamp
    linkageType: ''
    returnType: void
    signature: void revmodel::update()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: revmodel::update
      Src: /src/vlc/modules/audio_filter/spatializer/revmodel.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: revmodel::setroomsize
    functionSourceFile: /src/vlc/modules/audio_filter/spatializer/revmodel.cpp
    functionUses: 0
    functionsReached:
    - revmodel::update
    linkageType: ''
    returnType: void
    signature: void revmodel::setroomsize(float value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: revmodel::update
      Src: /src/vlc/modules/audio_filter/spatializer/revmodel.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: revmodel::setdamp
    functionSourceFile: /src/vlc/modules/audio_filter/spatializer/revmodel.cpp
    functionUses: 1
    functionsReached:
    - revmodel::update
    linkageType: ''
    returnType: void
    signature: void revmodel::setdamp(float value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: revmodel::update
      Src: /src/vlc/modules/audio_filter/spatializer/revmodel.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: revmodel::setwet
    functionSourceFile: /src/vlc/modules/audio_filter/spatializer/revmodel.cpp
    functionUses: 0
    functionsReached:
    - revmodel::update
    linkageType: ''
    returnType: void
    signature: void revmodel::setwet(float value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: revmodel::setdry
    functionSourceFile: /src/vlc/modules/audio_filter/spatializer/revmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void revmodel::setdry(float value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: revmodel::update
      Src: /src/vlc/modules/audio_filter/spatializer/revmodel.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: revmodel::setwidth
    functionSourceFile: /src/vlc/modules/audio_filter/spatializer/revmodel.cpp
    functionUses: 0
    functionsReached:
    - revmodel::update
    linkageType: ''
    returnType: void
    signature: void revmodel::setwidth(float value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: revmodel::update
      Src: /src/vlc/modules/audio_filter/spatializer/revmodel.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: revmodel::setmode
    functionSourceFile: /src/vlc/modules/audio_filter/spatializer/revmodel.cpp
    functionUses: 0
    functionsReached:
    - revmodel::update
    linkageType: ''
    returnType: void
    signature: void revmodel::setmode(float value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: undenormalise
      Src: /src/vlc/modules/audio_filter/spatializer/comb.hpp:44,1
    - Dst: undenormalise
      Src: /src/vlc/modules/audio_filter/spatializer/comb.hpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 53
    functionName: comb::process
    functionSourceFile: /src/vlc/modules/audio_filter/spatializer/comb.hpp
    functionUses: 0
    functionsReached:
    - undenormalise
    linkageType: ''
    returnType: float
    signature: float comb::process(float input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: DECLARECB
    functionSourceFile: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARECB(fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<filter_sys_t *>
      Src: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp:141,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp:142,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp:147,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp:151,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 153
    functionName: Close
    functionSourceFile: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp
    functionUses: 139
    functionsReached:
    - reinterpret_cast<filter_sys_t *>
    - vlc_object_parent
    - var_DelCallback
    - free
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void Close( filter_t *p_filter )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp:162,1
    - Dst: malloc
      Src: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp:165,1
    - Dst: revmodel::revmodel
      Src: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp:171,1
    - Dst: free
      Src: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp:174,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp:178,1
    - Dst: var_CreateGetFloatCommand
      Src: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp:183,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp:185,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 201
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp
    functionUses: 48
    functionsReached:
    - aout_FormatPrepare
    - vlc_object_parent
    - var_CreateGetFloatCommand
    - var_AddCallback
    - vlc_mutex_init
    - revmodel::revmodel
    - free
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<filter_sys_t *>
      Src: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp:211,1
    - Dst: filter_sys_t*::p_reverbm::processreplace
      Src: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - p_filter
    - out
    - in
    - i_samples
    - i_channels
    argTypes:
    - filter_t*
    - float*
    - float*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 224
    functionName: SpatFilter
    functionSourceFile: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<filter_sys_t *>
    - filter_sys_t*::p_reverbm::processreplace
    linkageType: ''
    returnType: void
    signature: "void SpatFilter( filter_t *p_filter, float *out, float *in,\n                        unsigned
      i_samples, unsigned i_channels )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SpatFilter
      Src: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp:228,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_filter
    - p_in_buf
    argTypes:
    - filter_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: DoWork
    functionSourceFile: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp
    functionUses: 2
    functionsReached:
    - SpatFilter
    - aout_FormatNbChannels
    linkageType: ''
    returnType: block_t
    signature: block_t *DoWork( filter_t * p_filter, block_t * p_in_buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_sys_t*::p_reverbm::setroomsize
      Src: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp:245,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_this
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: RoomCallback
    functionSourceFile: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - filter_sys_t*::p_reverbm::setroomsize
    linkageType: ''
    returnType: int
    signature: "int RoomCallback( vlc_object_t *p_this, char const *,\n                         vlc_value_t,
      vlc_value_t newval, void *p_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_sys_t*::p_reverbm::setwidth
      Src: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp:256,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_this
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 259
    functionName: WidthCallback
    functionSourceFile: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - filter_sys_t*::p_reverbm::setwidth
    linkageType: ''
    returnType: int
    signature: "int WidthCallback( vlc_object_t *p_this, char const *,\n                          vlc_value_t,
      vlc_value_t newval, void *p_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_sys_t*::p_reverbm::setwet
      Src: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp:267,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_this
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 270
    functionName: WetCallback
    functionSourceFile: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp
    functionUses: 0
    functionsReached:
    - filter_sys_t*::p_reverbm::setwet
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: "int WetCallback( vlc_object_t *p_this, char const *,\n                        vlc_value_t,
      vlc_value_t newval, void *p_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_sys_t*::p_reverbm::setdry
      Src: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp:278,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_this
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 281
    functionName: DryCallback
    functionSourceFile: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - filter_sys_t*::p_reverbm::setdry
    linkageType: ''
    returnType: int
    signature: "int DryCallback( vlc_object_t *p_this, char const *,\n                        vlc_value_t,
      vlc_value_t newval, void *p_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_sys_t*::p_reverbm::setdamp
      Src: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp:289,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_this
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 292
    functionName: DampCallback
    functionSourceFile: /src/vlc/modules/audio_filter/spatializer/spatializer.cpp
    functionUses: 0
    functionsReached:
    - filter_sys_t*::p_reverbm::setdamp
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: "int DampCallback( vlc_object_t *p_this, char const *,\n                         vlc_value_t,
      vlc_value_t newval, void *p_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - float*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 19
    functionName: comb::comb
    functionSourceFile: /src/vlc/modules/audio_filter/spatializer/comb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void comb::comb(float *buf, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: comb::mute
    functionSourceFile: /src/vlc/modules/audio_filter/spatializer/comb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void comb::mute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: comb::setdamp
    functionSourceFile: /src/vlc/modules/audio_filter/spatializer/comb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void comb::setdamp(float val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: comb::setfeedback
    functionSourceFile: /src/vlc/modules/audio_filter/spatializer/comb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void comb::setfeedback(float val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoInitializeEx
      Src: /src/vlc/modules/audio_output/mmdevice.c:53,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/mmdevice.c:54,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/mmdevice.c:54,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/mmdevice.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: TryEnterMTA
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - FAILED
    - CoInitializeEx
    - unlikely
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int TryEnterMTA(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: TryEnterMTA
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TryEnterMTA(o)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoInitializeEx
      Src: /src/vlc/modules/audio_output/mmdevice.c:65,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/mmdevice.c:66,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/mmdevice.c:66,1
    - Dst: abort
      Src: /src/vlc/modules/audio_output/mmdevice.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: EnterMTA
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - FAILED
    - abort
    - CoInitializeEx
    - unlikely
    linkageType: ''
    returnType: void
    signature: void EnterMTA(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoUninitialize
      Src: /src/vlc/modules/audio_output/mmdevice.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: LeaveMTA
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - CoUninitialize
    linkageType: ''
    returnType: void
    signature: void LeaveMTA(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/mmdevice.c:127,1
    - Dst: DeviceSelect
      Src: /src/vlc/modules/audio_output/mmdevice.c:129,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/audio_output/mmdevice.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - aout
    - hr
    argTypes:
    - audio_output_t*
    - HRESULT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: vlc_FromHR
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - SUCCEEDED
    - unlikely
    - DeviceSelect
    linkageType: ''
    returnType: int
    signature: int vlc_FromHR(audio_output_t *aout, HRESULT hr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/mmdevice.c:138,1
    - Dst: aout_stream_owner_AppendBlock
      Src: /src/vlc/modules/audio_output/mmdevice.c:139,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/mmdevice.c:140,1
    - Dst: SetEvent
      Src: /src/vlc/modules/audio_output/mmdevice.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - aout
    - block
    - date
    argTypes:
    - audio_output_t*
    - block_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 142
    functionName: Play
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 20
    functionsReached:
    - SetEvent
    - aout_stream_owner_AppendBlock
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void Play(audio_output_t *aout, block_t *block, vlc_tick_t date)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnterMTA
      Src: /src/vlc/modules/audio_output/mmdevice.c:149,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/mmdevice.c:150,1
    - Dst: aout_stream_owner_Pause
      Src: /src/vlc/modules/audio_output/mmdevice.c:151,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/mmdevice.c:152,1
    - Dst: LeaveMTA
      Src: /src/vlc/modules/audio_output/mmdevice.c:153,1
    - Dst: vlc_FromHR
      Src: /src/vlc/modules/audio_output/mmdevice.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - aout
    - paused
    - date
    argTypes:
    - audio_output_t*
    - bool
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 157
    functionName: Pause
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 24
    functionsReached:
    - EnterMTA
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - aout_stream_owner_Pause
    - LeaveMTA
    - vlc_FromHR
    linkageType: ''
    returnType: void
    signature: void Pause(audio_output_t *aout, bool paused, vlc_tick_t date)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnterMTA
      Src: /src/vlc/modules/audio_output/mmdevice.c:164,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/mmdevice.c:165,1
    - Dst: aout_stream_owner_Flush
      Src: /src/vlc/modules/audio_output/mmdevice.c:166,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/mmdevice.c:167,1
    - Dst: LeaveMTA
      Src: /src/vlc/modules/audio_output/mmdevice.c:168,1
    - Dst: vlc_FromHR
      Src: /src/vlc/modules/audio_output/mmdevice.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 171
    functionName: Flush
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 64
    functionsReached:
    - EnterMTA
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - aout_stream_owner_Flush
    - LeaveMTA
    - vlc_FromHR
    linkageType: ''
    returnType: void
    signature: void Flush(audio_output_t *aout)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - aout
    - vol
    argTypes:
    - audio_output_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 189
    functionName: VolumeSetLocked
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VolumeSetLocked(audio_output_t *aout, float vol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/mmdevice.c:195,1
    - Dst: VolumeSetLocked
      Src: /src/vlc/modules/audio_output/mmdevice.c:196,1
    - Dst: aout_GainRequest
      Src: /src/vlc/modules/audio_output/mmdevice.c:197,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/mmdevice.c:198,1
    - Dst: SetEvent
      Src: /src/vlc/modules/audio_output/mmdevice.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - aout
    - vol
    argTypes:
    - audio_output_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 201
    functionName: VolumeSet
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - VolumeSetLocked
    - vlc_mutex_unlock
    - aout_GainRequest
    - vlc_mutex_lock
    - SetEvent
    linkageType: ''
    returnType: int
    signature: int VolumeSet(audio_output_t *aout, float vol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/mmdevice.c:207,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/mmdevice.c:209,1
    - Dst: SetEvent
      Src: /src/vlc/modules/audio_output/mmdevice.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - aout
    - mute
    argTypes:
    - audio_output_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 212
    functionName: MuteSet
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - SetEvent
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: int
    signature: int MuteSet(audio_output_t *aout, bool mute)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsEqualIID
      Src: /src/vlc/modules/audio_output/mmdevice.c:219,1
    - Dst: IsEqualIID
      Src: /src/vlc/modules/audio_output/mmdevice.c:220,1
    - Dst: IUnknown_AddRef
      Src: /src/vlc/modules/audio_output/mmdevice.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - this
    - riid
    - ppv
    argTypes:
    - IAudioSessionEvents*
    - REFIID
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 231
    functionName: vlc_AudioSessionEvents_QueryInterface
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - IsEqualIID
    - IUnknown_AddRef
    linkageType: ''
    returnType: STDMETHODIMP
    signature: "STDMETHODIMP vlc_AudioSessionEvents_QueryInterface(IAudioSessionEvents
      *this, REFIID riid,\n                                      void **ppv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/audio_output/mmdevice.c:236,1
    - Dst: InterlockedIncrement
      Src: /src/vlc/modules/audio_output/mmdevice.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - this
    argTypes:
    - IAudioSessionEvents*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 238
    functionName: vlc_AudioSessionEvents_AddRef
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - InterlockedIncrement
    - container_of
    linkageType: ''
    returnType: STDMETHODIMP_
    signature: STDMETHODIMP_ vlc_AudioSessionEvents_AddRef(IAudioSessionEvents *this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/audio_output/mmdevice.c:243,1
    - Dst: InterlockedDecrement
      Src: /src/vlc/modules/audio_output/mmdevice.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - this
    argTypes:
    - IAudioSessionEvents*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: vlc_AudioSessionEvents_Release
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - InterlockedDecrement
    - container_of
    linkageType: ''
    returnType: STDMETHODIMP_
    signature: STDMETHODIMP_ vlc_AudioSessionEvents_Release(IAudioSessionEvents *this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/audio_output/mmdevice.c:251,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/mmdevice.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - this
    - wname
    - ctx
    argTypes:
    - IAudioSessionEvents*
    - LPCWSTR
    - LPCGUID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 257
    functionName: vlc_AudioSessionEvents_OnDisplayNameChanged
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - container_of
    linkageType: ''
    returnType: STDMETHODIMP
    signature: "STDMETHODIMP vlc_AudioSessionEvents_OnDisplayNameChanged(IAudioSessionEvents
      *this,\n                                            LPCWSTR wname, LPCGUID ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/audio_output/mmdevice.c:263,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/mmdevice.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - this
    - wpath
    - ctx
    argTypes:
    - IAudioSessionEvents*
    - LPCWSTR
    - LPCGUID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 269
    functionName: vlc_AudioSessionEvents_OnIconPathChanged
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - container_of
    linkageType: ''
    returnType: STDMETHODIMP
    signature: "STDMETHODIMP vlc_AudioSessionEvents_OnIconPathChanged(IAudioSessionEvents
      *this,\n                                         LPCWSTR wpath, LPCGUID ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/audio_output/mmdevice.c:276,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/mmdevice.c:279,1
    - Dst: SetEvent
      Src: /src/vlc/modules/audio_output/mmdevice.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - this
    - vol
    - mute
    - ctx
    argTypes:
    - IAudioSessionEvents*
    - float
    - BOOL
    - LPCGUID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 284
    functionName: vlc_AudioSessionEvents_OnSimpleVolumeChanged
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - SetEvent
    - msg_Dbg
    - container_of
    linkageType: ''
    returnType: STDMETHODIMP
    signature: "STDMETHODIMP vlc_AudioSessionEvents_OnSimpleVolumeChanged(IAudioSessionEvents
      *this,\n                                             float vol, BOOL mute,\n
      \                                            LPCGUID ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/audio_output/mmdevice.c:291,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/mmdevice.c:295,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/mmdevice.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - this
    - count
    - vols
    - changed
    - ctx
    argTypes:
    - IAudioSessionEvents*
    - DWORD
    - float*
    - DWORD
    - LPCGUID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 302
    functionName: vlc_AudioSessionEvents_OnChannelVolumeChanged
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - container_of
    linkageType: ''
    returnType: STDMETHODIMP
    signature: "STDMETHODIMP vlc_AudioSessionEvents_OnChannelVolumeChanged(IAudioSessionEvents
      *this,\n                                              DWORD count, float *vols,\n
      \                                             DWORD changed, LPCGUID ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/audio_output/mmdevice.c:309,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/mmdevice.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - this
    - param
    - ctx
    argTypes:
    - IAudioSessionEvents*
    - LPCGUID
    - LPCGUID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 316
    functionName: vlc_AudioSessionEvents_OnGroupingParamChanged
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - container_of
    linkageType: ''
    returnType: STDMETHODIMP
    signature: "STDMETHODIMP vlc_AudioSessionEvents_OnGroupingParamChanged(IAudioSessionEvents
      *this,\n                                              LPCGUID param, LPCGUID
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/audio_output/mmdevice.c:322,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/mmdevice.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - this
    - state
    argTypes:
    - IAudioSessionEvents*
    - AudioSessionState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 327
    functionName: vlc_AudioSessionEvents_OnStateChanged
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - container_of
    linkageType: ''
    returnType: STDMETHODIMP
    signature: "STDMETHODIMP vlc_AudioSessionEvents_OnStateChanged(IAudioSessionEvents
      *this,\n                                      AudioSessionState state)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/audio_output/mmdevice.c:333,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/mmdevice.c:339,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/mmdevice.c:342,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/mmdevice.c:345,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/mmdevice.c:348,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/mmdevice.c:351,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/mmdevice.c:354,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/mmdevice.c:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - this
    - reason
    argTypes:
    - IAudioSessionEvents*
    - AudioSessionDisconnectReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 362
    functionName: vlc_AudioSessionEvents_OnSessionDisconnected
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - msg_Err
    - msg_Warn
    - container_of
    linkageType: ''
    returnType: STDMETHODIMP
    signature: "STDMETHODIMP vlc_AudioSessionEvents_OnSessionDisconnected(IAudioSessionEvents
      *this,\n                                           AudioSessionDisconnectReason
      reason)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsEqualIID
      Src: /src/vlc/modules/audio_output/mmdevice.c:383,1
    - Dst: IsEqualIID
      Src: /src/vlc/modules/audio_output/mmdevice.c:384,1
    - Dst: IUnknown_AddRef
      Src: /src/vlc/modules/audio_output/mmdevice.c:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - this
    - riid
    - ppv
    argTypes:
    - IAudioVolumeDuckNotification*
    - REFIID
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 395
    functionName: vlc_AudioVolumeDuckNotification_QueryInterface
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - IsEqualIID
    - IUnknown_AddRef
    linkageType: ''
    returnType: STDMETHODIMP
    signature: "STDMETHODIMP vlc_AudioVolumeDuckNotification_QueryInterface(\n    IAudioVolumeDuckNotification
      *this, REFIID riid, void **ppv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/audio_output/mmdevice.c:400,1
    - Dst: InterlockedIncrement
      Src: /src/vlc/modules/audio_output/mmdevice.c:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - this
    argTypes:
    - IAudioVolumeDuckNotification*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 402
    functionName: vlc_AudioVolumeDuckNotification_AddRef
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - InterlockedIncrement
    - container_of
    linkageType: ''
    returnType: STDMETHODIMP_
    signature: STDMETHODIMP_ vlc_AudioVolumeDuckNotification_AddRef(IAudioVolumeDuckNotification
      *this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/audio_output/mmdevice.c:407,1
    - Dst: InterlockedDecrement
      Src: /src/vlc/modules/audio_output/mmdevice.c:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - this
    argTypes:
    - IAudioVolumeDuckNotification*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 409
    functionName: vlc_AudioVolumeDuckNotification_Release
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - InterlockedDecrement
    - container_of
    linkageType: ''
    returnType: STDMETHODIMP_
    signature: STDMETHODIMP_ vlc_AudioVolumeDuckNotification_Release(IAudioVolumeDuckNotification
      *this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/audio_output/mmdevice.c:415,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/mmdevice.c:418,1
    - Dst: aout_PolicyReport
      Src: /src/vlc/modules/audio_output/mmdevice.c:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - this
    - sid
    - count
    argTypes:
    - IAudioVolumeDuckNotification*
    - LPCWSTR
    - UINT32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 422
    functionName: vlc_AudioVolumeDuckNotification_OnVolumeDuckNotification
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - aout_PolicyReport
    - msg_Dbg
    - container_of
    linkageType: ''
    returnType: STDMETHODIMP
    signature: "STDMETHODIMP vlc_AudioVolumeDuckNotification_OnVolumeDuckNotification(\n
      \   IAudioVolumeDuckNotification *this, LPCWSTR sid, UINT32 count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/audio_output/mmdevice.c:428,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/mmdevice.c:431,1
    - Dst: aout_PolicyReport
      Src: /src/vlc/modules/audio_output/mmdevice.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - this
    - sid
    argTypes:
    - IAudioVolumeDuckNotification*
    - LPCWSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 435
    functionName: vlc_AudioVolumeDuckNotification_OnVolumeUnduckNotification
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - aout_PolicyReport
    - msg_Dbg
    - container_of
    linkageType: ''
    returnType: STDMETHODIMP
    signature: "STDMETHODIMP vlc_AudioVolumeDuckNotification_OnVolumeUnduckNotification(\n
      \   IAudioVolumeDuckNotification *this, LPCWSTR sid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IMMDevice_OpenPropertyStore
      Src: /src/vlc/modules/audio_output/mmdevice.c:457,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/mmdevice.c:458,1
    - Dst: PropVariantInit
      Src: /src/vlc/modules/audio_output/mmdevice.c:462,1
    - Dst: IPropertyStore_GetValue
      Src: /src/vlc/modules/audio_output/mmdevice.c:463,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/audio_output/mmdevice.c:464,1
    - Dst: FromWide
      Src: /src/vlc/modules/audio_output/mmdevice.c:466,1
    - Dst: PropVariantClear
      Src: /src/vlc/modules/audio_output/mmdevice.c:467,1
    - Dst: IPropertyStore_Release
      Src: /src/vlc/modules/audio_output/mmdevice.c:470,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - dev
    argTypes:
    - IMMDevice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 473
    functionName: DeviceGetFriendlyName
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - IMMDevice_OpenPropertyStore
    - PropVariantInit
    - FAILED
    - PropVariantClear
    - IPropertyStore_Release
    - SUCCEEDED
    - FromWide
    - IPropertyStore_GetValue
    linkageType: ''
    returnType: char
    signature: char *DeviceGetFriendlyName(IMMDevice *dev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FromWide
      Src: /src/vlc/modules/audio_output/mmdevice.c:478,1
    - Dst: DeviceGetFriendlyName
      Src: /src/vlc/modules/audio_output/mmdevice.c:482,1
    - Dst: aout_HotplugReport
      Src: /src/vlc/modules/audio_output/mmdevice.c:486,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/mmdevice.c:488,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/mmdevice.c:490,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - aout
    - wid
    - dev
    argTypes:
    - audio_output_t*
    - LPCWSTR
    - IMMDevice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 492
    functionName: DeviceHotplugReport
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - free
    - aout_HotplugReport
    - DeviceGetFriendlyName
    - FromWide
    linkageType: ''
    returnType: int
    signature: "int DeviceHotplugReport(audio_output_t *aout, LPCWSTR wid,\n                               IMMDevice
      *dev)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/mmdevice.c:499,1
    - Dst: IMMDevice_QueryInterface
      Src: /src/vlc/modules/audio_output/mmdevice.c:499,1
    - Dst: IMMEndpoint_GetDataFlow
      Src: /src/vlc/modules/audio_output/mmdevice.c:504,1
    - Dst: IMMEndpoint_Release
      Src: /src/vlc/modules/audio_output/mmdevice.c:506,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/mmdevice.c:507,1
    - Dst: IMMDevice_GetState
      Src: /src/vlc/modules/audio_output/mmdevice.c:511,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/mmdevice.c:512,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - dev
    argTypes:
    - IMMDevice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 513
    functionName: DeviceIsRender
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - FAILED
    - IMMDevice_GetState
    - IMMDevice_QueryInterface
    - IMMEndpoint_GetDataFlow
    - IMMEndpoint_Release
    linkageType: ''
    returnType: bool
    signature: bool DeviceIsRender(IMMDevice *dev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IMMDeviceEnumerator_GetDevice
      Src: /src/vlc/modules/audio_output/mmdevice.c:521,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/mmdevice.c:522,1
    - Dst: DeviceIsRender
      Src: /src/vlc/modules/audio_output/mmdevice.c:525,1
    - Dst: IMMDevice_Release
      Src: /src/vlc/modules/audio_output/mmdevice.c:527,1
    - Dst: DeviceHotplugReport
      Src: /src/vlc/modules/audio_output/mmdevice.c:531,1
    - Dst: IMMDevice_Release
      Src: /src/vlc/modules/audio_output/mmdevice.c:532,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - aout
    - wid
    argTypes:
    - audio_output_t*
    - LPCWSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 534
    functionName: DeviceUpdated
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - IMMDevice_Release
    - FAILED
    - DeviceIsRender
    - IMMDeviceEnumerator_GetDevice
    - DeviceHotplugReport
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT DeviceUpdated(audio_output_t *aout, LPCWSTR wid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsEqualIID
      Src: /src/vlc/modules/audio_output/mmdevice.c:540,1
    - Dst: IsEqualIID
      Src: /src/vlc/modules/audio_output/mmdevice.c:541,1
    - Dst: IUnknown_AddRef
      Src: /src/vlc/modules/audio_output/mmdevice.c:544,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - this
    - riid
    - ppv
    argTypes:
    - IMMNotificationClient*
    - REFIID
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 552
    functionName: vlc_MMNotificationClient_QueryInterface
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - IsEqualIID
    - IUnknown_AddRef
    linkageType: ''
    returnType: STDMETHODIMP
    signature: "STDMETHODIMP vlc_MMNotificationClient_QueryInterface(IMMNotificationClient
      *this,\n                                        REFIID riid, void **ppv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/audio_output/mmdevice.c:557,1
    - Dst: InterlockedIncrement
      Src: /src/vlc/modules/audio_output/mmdevice.c:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - this
    argTypes:
    - IMMNotificationClient*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 559
    functionName: vlc_MMNotificationClient_AddRef
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - InterlockedIncrement
    - container_of
    linkageType: ''
    returnType: STDMETHODIMP_
    signature: STDMETHODIMP_ vlc_MMNotificationClient_AddRef(IMMNotificationClient
      *this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/audio_output/mmdevice.c:564,1
    - Dst: InterlockedDecrement
      Src: /src/vlc/modules/audio_output/mmdevice.c:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - this
    argTypes:
    - IMMNotificationClient*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 566
    functionName: vlc_MMNotificationClient_Release
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - InterlockedDecrement
    - container_of
    linkageType: ''
    returnType: STDMETHODIMP_
    signature: STDMETHODIMP_ vlc_MMNotificationClient_Release(IMMNotificationClient
      *this)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/audio_output/mmdevice.c:573,1
    - Dst: atomic_load
      Src: /src/vlc/modules/audio_output/mmdevice.c:581,1
    - Dst: atomic_store
      Src: /src/vlc/modules/audio_output/mmdevice.c:583,1
    - Dst: aout_RestartRequest
      Src: /src/vlc/modules/audio_output/mmdevice.c:584,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/mmdevice.c:586,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - this
    - flow
    - role
    - wid
    argTypes:
    - IMMNotificationClient*
    - EDataFlow
    - ERole
    - LPCWSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 589
    functionName: vlc_MMNotificationClient_OnDefaultDeviceChange
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - container_of
    - atomic_load
    - atomic_store
    - msg_Dbg
    - aout_RestartRequest
    linkageType: ''
    returnType: STDMETHODIMP
    signature: "STDMETHODIMP vlc_MMNotificationClient_OnDefaultDeviceChange(IMMNotificationClient
      *this,\n                                               EDataFlow flow, ERole
      role,\n                                               LPCWSTR wid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/audio_output/mmdevice.c:595,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/mmdevice.c:598,1
    - Dst: DeviceUpdated
      Src: /src/vlc/modules/audio_output/mmdevice.c:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - this
    - wid
    argTypes:
    - IMMNotificationClient*
    - LPCWSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 591
    functionDepth: 3
    functionLinenumber: 591
    functionLinenumberEnd: 600
    functionName: vlc_MMNotificationClient_OnDeviceAdded
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - DeviceUpdated
    - msg_Dbg
    - container_of
    linkageType: ''
    returnType: STDMETHODIMP
    signature: "STDMETHODIMP vlc_MMNotificationClient_OnDeviceAdded(IMMNotificationClient
      *this,\n                                       LPCWSTR wid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/audio_output/mmdevice.c:606,1
    - Dst: FromWide
      Src: /src/vlc/modules/audio_output/mmdevice.c:608,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/mmdevice.c:610,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/mmdevice.c:611,1
    - Dst: aout_HotplugReport
      Src: /src/vlc/modules/audio_output/mmdevice.c:614,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/mmdevice.c:615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - this
    - wid
    argTypes:
    - IMMNotificationClient*
    - LPCWSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 617
    functionName: vlc_MMNotificationClient_OnDeviceRemoved
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - container_of
    - aout_HotplugReport
    - free
    - msg_Dbg
    - FromWide
    - unlikely
    linkageType: ''
    returnType: STDMETHODIMP
    signature: "STDMETHODIMP vlc_MMNotificationClient_OnDeviceRemoved(IMMNotificationClient
      *this,\n                                         LPCWSTR wid)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/audio_output/mmdevice.c:623,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/mmdevice.c:628,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/mmdevice.c:631,1
    - Dst: DeviceUpdated
      Src: /src/vlc/modules/audio_output/mmdevice.c:632,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/mmdevice.c:634,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/mmdevice.c:637,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/mmdevice.c:640,1
    - Dst: FromWide
      Src: /src/vlc/modules/audio_output/mmdevice.c:645,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/mmdevice.c:646,1
    - Dst: aout_HotplugReport
      Src: /src/vlc/modules/audio_output/mmdevice.c:648,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/mmdevice.c:649,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - this
    - wid
    - state
    argTypes:
    - IMMNotificationClient*
    - LPCWSTR
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 619
    functionDepth: 3
    functionLinenumber: 619
    functionLinenumberEnd: 652
    functionName: vlc_MMNotificationClient_OnDeviceStateChanged
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - DeviceUpdated
    - container_of
    - aout_HotplugReport
    - free
    - msg_Dbg
    - FromWide
    - unlikely
    linkageType: ''
    returnType: STDMETHODIMP
    signature: "STDMETHODIMP vlc_MMNotificationClient_OnDeviceStateChanged(IMMNotificationClient
      *this,\n                                              LPCWSTR wid, DWORD state)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/audio_output/mmdevice.c:659,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/mmdevice.c:664,1
    - Dst: DeviceUpdated
      Src: /src/vlc/modules/audio_output/mmdevice.c:665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - this
    - wid
    - key
    argTypes:
    - IMMNotificationClient*
    - LPCWSTR
    - PROPERTYKEY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 654
    functionDepth: 3
    functionLinenumber: 654
    functionLinenumberEnd: 668
    functionName: vlc_MMNotificationClient_OnPropertyValueChanged
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - DeviceUpdated
    - msg_Dbg
    - container_of
    linkageType: ''
    returnType: STDMETHODIMP
    signature: "STDMETHODIMP vlc_MMNotificationClient_OnPropertyValueChanged(IMMNotificationClient
      *this,\n                                                LPCWSTR wid,\n                                                const
      PROPERTYKEY key)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_output/mmdevice.c:689,1
    - Dst: IMMDeviceEnumerator_EnumAudioEndpoints
      Src: /src/vlc/modules/audio_output/mmdevice.c:691,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/mmdevice.c:693,1
    - Dst: IMMDeviceCollection_GetCount
      Src: /src/vlc/modules/audio_output/mmdevice.c:697,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/mmdevice.c:698,1
    - Dst: IMMDeviceCollection_Item
      Src: /src/vlc/modules/audio_output/mmdevice.c:705,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/mmdevice.c:706,1
    - Dst: DeviceIsRender
      Src: /src/vlc/modules/audio_output/mmdevice.c:706,1
    - Dst: IMMDevice_GetId
      Src: /src/vlc/modules/audio_output/mmdevice.c:711,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/mmdevice.c:712,1
    - Dst: IMMDevice_Release
      Src: /src/vlc/modules/audio_output/mmdevice.c:714,1
    - Dst: added_cb
      Src: /src/vlc/modules/audio_output/mmdevice.c:718,1
    - Dst: IMMDevice_Release
      Src: /src/vlc/modules/audio_output/mmdevice.c:719,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/audio_output/mmdevice.c:720,1
    - Dst: IMMDeviceCollection_Release
      Src: /src/vlc/modules/audio_output/mmdevice.c:722,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - it
    - added_cb_data
    argTypes:
    - IMMDeviceEnumerator*
    - void*
    assertStmts:
    - condition: (added_cb != NULL)
      pos:
        line_end: 688
        line_start: 688
        source_file: /src/vlc/modules/audio_output/mmdevice.c
    constantsTouched: []
    func_position:
      end: 724
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 724
    functionName: DevicesEnum
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - IMMDeviceCollection_Item
    - assert
    - IMMDeviceCollection_GetCount
    - CoTaskMemFree
    - DeviceIsRender
    - FAILED
    - IMMDevice_GetId
    - IMMDevice_Release
    - added_cb
    - IMMDeviceCollection_Release
    - IMMDeviceEnumerator_EnumAudioEndpoints
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT DevicesEnum(IMMDeviceEnumerator *it,\n                           void
      (*added_cb)(void *data, LPCWSTR wid, IMMDevice *dev),\n                           void
      *added_cb_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_output/mmdevice.c:729,1
    - Dst: atomic_store
      Src: /src/vlc/modules/audio_output/mmdevice.c:731,1
    - Dst: SetEvent
      Src: /src/vlc/modules/audio_output/mmdevice.c:733,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/audio_output/mmdevice.c:735,1
    - Dst: aout_RestartRequest
      Src: /src/vlc/modules/audio_output/mmdevice.c:739,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts:
    - condition: (sys->device_status == DEVICE_PENDING)
      pos:
        line_end: 728
        line_start: 728
        source_file: /src/vlc/modules/audio_output/mmdevice.c
    constantsTouched: []
    func_position:
      end: 741
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 741
    functionName: DeviceRequestLocked
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - assert
    - atomic_store
    - SetEvent
    - aout_RestartRequest
    - vlc_cond_wait
    linkageType: ''
    returnType: int
    signature: int DeviceRequestLocked(audio_output_t *aout)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_output/mmdevice.c:746,1
    - Dst: strcmp
      Src: /src/vlc/modules/audio_output/mmdevice.c:751,1
    - Dst: ToWide
      Src: /src/vlc/modules/audio_output/mmdevice.c:754,1
    - Dst: atomic_exchange
      Src: /src/vlc/modules/audio_output/mmdevice.c:756,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/mmdevice.c:757,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/mmdevice.c:758,1
    - Dst: DeviceRequestLocked
      Src: /src/vlc/modules/audio_output/mmdevice.c:764,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - aout
    - id
    argTypes:
    - audio_output_t*
    - char*
    assertStmts:
    - condition: (sys->device_status != DEVICE_PENDING)
      pos:
        line_end: 745
        line_start: 745
        source_file: /src/vlc/modules/audio_output/mmdevice.c
    constantsTouched: []
    func_position:
      end: 765
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 765
    functionName: DeviceSelectLocked
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - assert
    - atomic_exchange
    - free
    - strcmp
    - ToWide
    - unlikely
    - DeviceRequestLocked
    linkageType: ''
    returnType: int
    signature: int DeviceSelectLocked(audio_output_t *aout, const char *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_output/mmdevice.c:770,1
    - Dst: DeviceRequestLocked
      Src: /src/vlc/modules/audio_output/mmdevice.c:772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts:
    - condition: (sys->device_status != DEVICE_PENDING)
      pos:
        line_end: 769
        line_start: 769
        source_file: /src/vlc/modules/audio_output/mmdevice.c
    constantsTouched: []
    func_position:
      end: 773
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 773
    functionName: DeviceRestartLocked
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - assert
    - DeviceRequestLocked
    linkageType: ''
    returnType: int
    signature: int DeviceRestartLocked(audio_output_t *aout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/mmdevice.c:778,1
    - Dst: DeviceSelectLocked
      Src: /src/vlc/modules/audio_output/mmdevice.c:779,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/mmdevice.c:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - aout
    - id
    argTypes:
    - audio_output_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 782
    functionName: DeviceSelect
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 1
    functionsReached:
    - DeviceSelectLocked
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: int
    signature: int DeviceSelect(audio_output_t *aout, const char *id)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ISimpleAudioVolume_SetMasterVolume
      Src: /src/vlc/modules/audio_output/mmdevice.c:803,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/mmdevice.c:804,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/mmdevice.c:805,1
    - Dst: ISimpleAudioVolume_GetMasterVolume
      Src: /src/vlc/modules/audio_output/mmdevice.c:814,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/audio_output/mmdevice.c:815,1
    - Dst: aout_VolumeReport
      Src: /src/vlc/modules/audio_output/mmdevice.c:816,1
    - Dst: cbrtf
      Src: /src/vlc/modules/audio_output/mmdevice.c:816,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/mmdevice.c:818,1
    - Dst: ISimpleAudioVolume_SetMute
      Src: /src/vlc/modules/audio_output/mmdevice.c:826,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/mmdevice.c:827,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/mmdevice.c:828,1
    - Dst: ISimpleAudioVolume_GetMute
      Src: /src/vlc/modules/audio_output/mmdevice.c:836,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/audio_output/mmdevice.c:837,1
    - Dst: aout_MuteReport
      Src: /src/vlc/modules/audio_output/mmdevice.c:838,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/mmdevice.c:840,1
    - Dst: aout_stream_owner_ProcessTimer
      Src: /src/vlc/modules/audio_output/mmdevice.c:854,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/mmdevice.c:861,1
    - Dst: WaitForMultipleObjects
      Src: /src/vlc/modules/audio_output/mmdevice.c:862,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/mmdevice.c:863,1
    - Dst: aout_stream_owner_PlayAll
      Src: /src/vlc/modules/audio_output/mmdevice.c:867,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/mmdevice.c:870,1
    - Dst: atomic_exchange
      Src: /src/vlc/modules/audio_output/mmdevice.c:873,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/mmdevice.c:874,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 2
    argNames:
    - aout
    - volume
    argTypes:
    - audio_output_t*
    - ISimpleAudioVolume*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 880
    functionName: MMSessionMainloop
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - aout_VolumeReport
    - atomic_exchange
    - aout_MuteReport
    - vlc_mutex_unlock
    - ISimpleAudioVolume_SetMasterVolume
    - vlc_mutex_lock
    - FAILED
    - ISimpleAudioVolume_GetMute
    - aout_stream_owner_ProcessTimer
    - WaitForMultipleObjects
    - msg_Err
    - free
    - cbrtf
    - ISimpleAudioVolume_SetMute
    - aout_stream_owner_PlayAll
    - SUCCEEDED
    - ISimpleAudioVolume_GetMasterVolume
    - unlikely
    linkageType: ''
    returnType: void
    signature: void MMSessionMainloop(audio_output_t *aout, ISimpleAudioVolume *volume)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_output/mmdevice.c:904,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/mmdevice.c:905,1
    - Dst: atomic_load
      Src: /src/vlc/modules/audio_output/mmdevice.c:909,1
    - Dst: IMMDeviceEnumerator_GetDevice
      Src: /src/vlc/modules/audio_output/mmdevice.c:912,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/mmdevice.c:913,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/mmdevice.c:915,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/mmdevice.c:921,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/mmdevice.c:931,1
    - Dst: atomic_store
      Src: /src/vlc/modules/audio_output/mmdevice.c:932,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/mmdevice.c:933,1
    - Dst: IMMDeviceEnumerator_GetDefaultAudioEndpoint
      Src: /src/vlc/modules/audio_output/mmdevice.c:935,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/mmdevice.c:937,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/mmdevice.c:939,1
    - Dst: vlc_cond_broadcast
      Src: /src/vlc/modules/audio_output/mmdevice.c:948,1
    - Dst: vlc_sem_post
      Src: /src/vlc/modules/audio_output/mmdevice.c:949,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/mmdevice.c:951,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/mmdevice.c:953,1
    - Dst: aout_DeviceReport
      Src: /src/vlc/modules/audio_output/mmdevice.c:959,1
    - Dst: IMMDevice_GetId
      Src: /src/vlc/modules/audio_output/mmdevice.c:963,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/audio_output/mmdevice.c:964,1
    - Dst: FromWide
      Src: /src/vlc/modules/audio_output/mmdevice.c:966,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/audio_output/mmdevice.c:967,1
    - Dst: likely
      Src: /src/vlc/modules/audio_output/mmdevice.c:968,1
    - Dst: aout_DeviceReport
      Src: /src/vlc/modules/audio_output/mmdevice.c:970,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/mmdevice.c:971,1
    - Dst: IMMDevice_Activate
      Src: /src/vlc/modules/audio_output/mmdevice.c:977,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/audio_output/mmdevice.c:980,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/audio_output/mmdevice.c:982,1
    - Dst: IAudioSessionManager_GetAudioSessionControl
      Src: /src/vlc/modules/audio_output/mmdevice.c:985,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/audio_output/mmdevice.c:987,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/audio_output/mmdevice.c:989,1
    - Dst: ToWide
      Src: /src/vlc/modules/audio_output/mmdevice.c:992,1
    - Dst: likely
      Src: /src/vlc/modules/audio_output/mmdevice.c:993,1
    - Dst: IAudioSessionControl_SetDisplayName
      Src: /src/vlc/modules/audio_output/mmdevice.c:995,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/mmdevice.c:996,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/mmdevice.c:998,1
    - Dst: IAudioSessionControl_RegisterAudioSessionNotification
      Src: /src/vlc/modules/audio_output/mmdevice.c:1001,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/mmdevice.c:1005,1
    - Dst: IAudioSessionManager_GetSimpleAudioVolume
      Src: /src/vlc/modules/audio_output/mmdevice.c:1007,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/mmdevice.c:1009,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/mmdevice.c:1010,1
    - Dst: IAudioSessionManager_QueryInterface
      Src: /src/vlc/modules/audio_output/mmdevice.c:1015,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/audio_output/mmdevice.c:1017,1
    - Dst: IAudioSessionControl2_SetDuckingPreference
      Src: /src/vlc/modules/audio_output/mmdevice.c:1021,1
    - Dst: IAudioSessionControl2_GetSessionInstanceIdentifier
      Src: /src/vlc/modules/audio_output/mmdevice.c:1022,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/mmdevice.c:1023,1
    - Dst: IAudioSessionControl2_Release
      Src: /src/vlc/modules/audio_output/mmdevice.c:1025,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/mmdevice.c:1028,1
    - Dst: IAudioSessionManager_QueryInterface
      Src: /src/vlc/modules/audio_output/mmdevice.c:1030,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/audio_output/mmdevice.c:1032,1
    - Dst: IAudioSessionManager2_RegisterDuckNotification
      Src: /src/vlc/modules/audio_output/mmdevice.c:1036,1
    - Dst: IAudioSessionManager2_Release
      Src: /src/vlc/modules/audio_output/mmdevice.c:1038,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/mmdevice.c:1041,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/audio_output/mmdevice.c:1043,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/mmdevice.c:1047,1
    - Dst: IMMDevice_Activate
      Src: /src/vlc/modules/audio_output/mmdevice.c:1052,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/audio_output/mmdevice.c:1055,1
    - Dst: IAudioEndpointVolume_GetVolumeRange
      Src: /src/vlc/modules/audio_output/mmdevice.c:1059,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/audio_output/mmdevice.c:1060,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/mmdevice.c:1061,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/mmdevice.c:1064,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/mmdevice.c:1067,1
    - Dst: MMSessionMainloop
      Src: /src/vlc/modules/audio_output/mmdevice.c:1069,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/mmdevice.c:1071,1
    - Dst: IAudioEndpointVolume_Release
      Src: /src/vlc/modules/audio_output/mmdevice.c:1074,1
    - Dst: IAudioSessionManager_QueryInterface
      Src: /src/vlc/modules/audio_output/mmdevice.c:1078,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/audio_output/mmdevice.c:1080,1
    - Dst: IAudioSessionManager2_UnregisterDuckNotification
      Src: /src/vlc/modules/audio_output/mmdevice.c:1084,1
    - Dst: IAudioSessionManager2_Release
      Src: /src/vlc/modules/audio_output/mmdevice.c:1085,1
    - Dst: ISimpleAudioVolume_Release
      Src: /src/vlc/modules/audio_output/mmdevice.c:1089,1
    - Dst: IAudioSessionControl_UnregisterAudioSessionNotification
      Src: /src/vlc/modules/audio_output/mmdevice.c:1093,1
    - Dst: IAudioSessionControl_Release
      Src: /src/vlc/modules/audio_output/mmdevice.c:1095,1
    - Dst: IAudioSessionManager_Release
      Src: /src/vlc/modules/audio_output/mmdevice.c:1098,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/mmdevice.c:1101,1
    - Dst: IMMDevice_Release
      Src: /src/vlc/modules/audio_output/mmdevice.c:1102,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 114
    argCount: 2
    argNames:
    - aout
    - it
    argTypes:
    - audio_output_t*
    - IMMDeviceEnumerator*
    assertStmts:
    - condition: (sys->device_status == DEVICE_PENDING)
      pos:
        line_end: 903
        line_start: 903
        source_file: /src/vlc/modules/audio_output/mmdevice.c
    - condition: (sys->dev == NULL)
      pos:
        line_end: 904
        line_start: 904
        source_file: /src/vlc/modules/audio_output/mmdevice.c
    constantsTouched: []
    func_position:
      end: 1105
      start: 894
    functionDepth: 2
    functionLinenumber: 894
    functionLinenumberEnd: 1105
    functionName: MMSession
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - assert
    - IAudioSessionControl2_Release
    - IAudioSessionControl_RegisterAudioSessionNotification
    - IMMDevice_Activate
    - IMMDeviceEnumerator_GetDevice
    - IAudioSessionControl2_GetSessionInstanceIdentifier
    - IAudioSessionManager2_Release
    - SUCCEEDED
    - aout_DeviceReport
    - ToWide
    - IAudioSessionManager_GetAudioSessionControl
    - IMMDeviceEnumerator_GetDefaultAudioEndpoint
    - IAudioSessionControl_Release
    - IAudioSessionManager_QueryInterface
    - ISimpleAudioVolume_Release
    - MMSessionMainloop
    - vlc_mutex_lock
    - IAudioEndpointVolume_GetVolumeRange
    - IMMDevice_Release
    - atomic_load
    - msg_Err
    - atomic_store
    - msg_Dbg
    - IAudioEndpointVolume_Release
    - likely
    - IAudioSessionControl2_SetDuckingPreference
    - var_GetBool
    - IAudioSessionManager_GetSimpleAudioVolume
    - IAudioSessionControl_SetDisplayName
    - IAudioSessionManager2_RegisterDuckNotification
    - var_InheritString
    - IAudioSessionManager2_UnregisterDuckNotification
    - vlc_mutex_unlock
    - CoTaskMemFree
    - IMMDevice_GetId
    - FAILED
    - IAudioSessionControl_UnregisterAudioSessionNotification
    - vlc_sem_post
    - free
    - IAudioSessionManager_Release
    - FromWide
    - vlc_cond_broadcast
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT MMSession(audio_output_t *aout, IMMDeviceEnumerator *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeviceHotplugReport
      Src: /src/vlc/modules/audio_output/mmdevice.c:1111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - wid
    - dev
    argTypes:
    - void*
    - LPCWSTR
    - IMMDevice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1107
    functionDepth: 2
    functionLinenumber: 1107
    functionLinenumberEnd: 1112
    functionName: MMThread_DevicesEnum_Added
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - DeviceHotplugReport
    linkageType: ''
    returnType: void
    signature: void MMThread_DevicesEnum_Added(void *data, LPCWSTR wid, IMMDevice
      *dev)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/audio_output/mmdevice.c:1119,1
    - Dst: TryEnterMTA
      Src: /src/vlc/modules/audio_output/mmdevice.c:1122,1
    - Dst: CoCreateInstance
      Src: /src/vlc/modules/audio_output/mmdevice.c:1126,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/mmdevice.c:1128,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/mmdevice.c:1130,1
    - Dst: LeaveMTA
      Src: /src/vlc/modules/audio_output/mmdevice.c:1131,1
    - Dst: IMMDeviceEnumerator_RegisterEndpointNotificationCallback
      Src: /src/vlc/modules/audio_output/mmdevice.c:1138,1
    - Dst: DevicesEnum
      Src: /src/vlc/modules/audio_output/mmdevice.c:1140,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/mmdevice.c:1141,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/mmdevice.c:1142,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/mmdevice.c:1144,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/mmdevice.c:1147,1
    - Dst: MMSession
      Src: /src/vlc/modules/audio_output/mmdevice.c:1147,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/mmdevice.c:1149,1
    - Dst: WaitForSingleObject
      Src: /src/vlc/modules/audio_output/mmdevice.c:1150,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/mmdevice.c:1151,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/mmdevice.c:1155,1
    - Dst: IMMDeviceEnumerator_UnregisterEndpointNotificationCallback
      Src: /src/vlc/modules/audio_output/mmdevice.c:1157,1
    - Dst: IMMDeviceEnumerator_Release
      Src: /src/vlc/modules/audio_output/mmdevice.c:1159,1
    - Dst: LeaveMTA
      Src: /src/vlc/modules/audio_output/mmdevice.c:1160,1
    - Dst: vlc_sem_post
      Src: /src/vlc/modules/audio_output/mmdevice.c:1165,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1114
    functionDepth: 3
    functionLinenumber: 1114
    functionLinenumberEnd: 1167
    functionName: MMThread
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - TryEnterMTA
    - IMMDeviceEnumerator_RegisterEndpointNotificationCallback
    - vlc_thread_set_name
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - WaitForSingleObject
    - FAILED
    - IMMDeviceEnumerator_Release
    - vlc_sem_post
    - msg_Dbg
    - msg_Warn
    - LeaveMTA
    - CoCreateInstance
    - IMMDeviceEnumerator_UnregisterEndpointNotificationCallback
    - MMSession
    - DevicesEnum
    linkageType: ''
    returnType: void
    signature: void *MMThread(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IMMDevice_Activate
      Src: /src/vlc/modules/audio_output/mmdevice.c:1177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - opaque
    - iid
    - actparms
    - pv
    argTypes:
    - void*
    - REFIID
    - PROPVARIANT*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1173
    functionDepth: 0
    functionLinenumber: 1173
    functionLinenumberEnd: 1178
    functionName: ActivateDevice
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - IMMDevice_Activate
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT ActivateDevice(void *opaque, REFIID iid, PROPVARIANT *actparms,\n
      \                             void **restrict pv)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/audio_output/mmdevice.c:1183,1
    - Dst: va_arg
      Src: /src/vlc/modules/audio_output/mmdevice.c:1184,1
    - Dst: va_arg
      Src: /src/vlc/modules/audio_output/mmdevice.c:1185,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/audio_output/mmdevice.c:1186,1
    - Dst: start
      Src: /src/vlc/modules/audio_output/mmdevice.c:1189,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/audio_output/mmdevice.c:1192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - func
    - forced
    - ap
    argTypes:
    - void*
    - bool
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1180
    functionDepth: 1
    functionLinenumber: 1180
    functionLinenumberEnd: 1193
    functionName: aout_stream_Start
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - va_arg
    - var_InheritBool
    - start
    - SUCCEEDED
    linkageType: ''
    returnType: int
    signature: int aout_stream_Start(void *func, bool forced, va_list ap)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: AOUT_FMT_SPDIF
      Src: /src/vlc/modules/audio_output/mmdevice.c:1199,1
    - Dst: AOUT_FMT_HDMI
      Src: /src/vlc/modules/audio_output/mmdevice.c:1200,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/audio_output/mmdevice.c:1203,1
    - Dst: aout_stream_owner_New
      Src: /src/vlc/modules/audio_output/mmdevice.c:1217,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/mmdevice.c:1218,1
    - Dst: EnterMTA
      Src: /src/vlc/modules/audio_output/mmdevice.c:1222,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/mmdevice.c:1223,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/audio_output/mmdevice.c:1226,1
    - Dst: atomic_exchange
      Src: /src/vlc/modules/audio_output/mmdevice.c:1228,1
    - Dst: DeviceRestartLocked
      Src: /src/vlc/modules/audio_output/mmdevice.c:1228,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/mmdevice.c:1233,1
    - Dst: LeaveMTA
      Src: /src/vlc/modules/audio_output/mmdevice.c:1234,1
    - Dst: aout_stream_owner_Delete
      Src: /src/vlc/modules/audio_output/mmdevice.c:1235,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/audio_output/mmdevice.c:1243,1
    - Dst: vlc_module_load
      Src: /src/vlc/modules/audio_output/mmdevice.c:1247,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/audio_output/mmdevice.c:1247,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/mmdevice.c:1249,1
    - Dst: DeviceRestartLocked
      Src: /src/vlc/modules/audio_output/mmdevice.c:1263,1
    - Dst: DeviceSelectLocked
      Src: /src/vlc/modules/audio_output/mmdevice.c:1270,1
    - Dst: IMMDevice_OpenPropertyStore
      Src: /src/vlc/modules/audio_output/mmdevice.c:1279,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/audio_output/mmdevice.c:1280,1
    - Dst: PropVariantInit
      Src: /src/vlc/modules/audio_output/mmdevice.c:1283,1
    - Dst: IPropertyStore_GetValue
      Src: /src/vlc/modules/audio_output/mmdevice.c:1284,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/audio_output/mmdevice.c:1285,1
    - Dst: PropVariantClear
      Src: /src/vlc/modules/audio_output/mmdevice.c:1294,1
    - Dst: IPropertyStore_Release
      Src: /src/vlc/modules/audio_output/mmdevice.c:1296,1
    - Dst: aout_stream_owner_Delete
      Src: /src/vlc/modules/audio_output/mmdevice.c:1302,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/mmdevice.c:1303,1
    - Dst: LeaveMTA
      Src: /src/vlc/modules/audio_output/mmdevice.c:1304,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/mmdevice.c:1308,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/mmdevice.c:1311,1
    - Dst: LeaveMTA
      Src: /src/vlc/modules/audio_output/mmdevice.c:1312,1
    - Dst: aout_GainRequest
      Src: /src/vlc/modules/audio_output/mmdevice.c:1314,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 65
    argCount: 2
    argNames:
    - aout
    - fmt
    argTypes:
    - audio_output_t*
    - audio_sample_format_t*
    assertStmts:
    - condition: (sys->stream == NULL)
      pos:
        line_end: 1307
        line_start: 1307
        source_file: /src/vlc/modules/audio_output/mmdevice.c
    constantsTouched: []
    func_position:
      end: 1316
      start: 1195
    functionDepth: 1
    functionLinenumber: 1195
    functionLinenumberEnd: 1316
    functionName: Start
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 55
    functionsReached:
    - assert
    - AOUT_FMT_SPDIF
    - SUCCEEDED
    - IMMDevice_OpenPropertyStore
    - vlc_mutex_lock
    - aout_GainRequest
    - DeviceSelectLocked
    - PropVariantClear
    - IPropertyStore_GetValue
    - AOUT_FMT_HDMI
    - atomic_exchange
    - vlc_module_load
    - PropVariantInit
    - var_InheritInteger
    - aout_stream_owner_Delete
    - aout_stream_owner_New
    - IPropertyStore_Release
    - EnterMTA
    - var_InheritString
    - vlc_mutex_unlock
    - vlc_object_logger
    - free
    - DeviceRestartLocked
    - LeaveMTA
    - unlikely
    - vlc_cond_wait
    linkageType: ''
    returnType: int
    signature: int Start(audio_output_t *aout, audio_sample_format_t *restrict fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_output/mmdevice.c:1322,1
    - Dst: EnterMTA
      Src: /src/vlc/modules/audio_output/mmdevice.c:1324,1
    - Dst: aout_stream_owner_Stop
      Src: /src/vlc/modules/audio_output/mmdevice.c:1325,1
    - Dst: LeaveMTA
      Src: /src/vlc/modules/audio_output/mmdevice.c:1326,1
    - Dst: aout_stream_owner_Delete
      Src: /src/vlc/modules/audio_output/mmdevice.c:1328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts:
    - condition: (sys->stream != NULL)
      pos:
        line_end: 1321
        line_start: 1321
        source_file: /src/vlc/modules/audio_output/mmdevice.c
    constantsTouched: []
    func_position:
      end: 1330
      start: 1318
    functionDepth: 1
    functionLinenumber: 1318
    functionLinenumberEnd: 1330
    functionName: Stop
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 37
    functionsReached:
    - EnterMTA
    - assert
    - aout_stream_owner_Delete
    - aout_stream_owner_Stop
    - LeaveMTA
    linkageType: ''
    returnType: void
    signature: void Stop(audio_output_t *aout)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/audio_output/mmdevice.c:1339,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/mmdevice.c:1340,1
    - Dst: atomic_init
      Src: /src/vlc/modules/audio_output/mmdevice.c:1357,1
    - Dst: var_CreateGetBool
      Src: /src/vlc/modules/audio_output/mmdevice.c:1359,1
    - Dst: VolumeSetLocked
      Src: /src/vlc/modules/audio_output/mmdevice.c:1360,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/audio_output/mmdevice.c:1360,1
    - Dst: vlc_sem_init
      Src: /src/vlc/modules/audio_output/mmdevice.c:1362,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/audio_output/mmdevice.c:1363,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/audio_output/mmdevice.c:1364,1
    - Dst: CreateEvent
      Src: /src/vlc/modules/audio_output/mmdevice.c:1366,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/mmdevice.c:1367,1
    - Dst: aout_HotplugReport
      Src: /src/vlc/modules/audio_output/mmdevice.c:1370,1
    - Dst: _
      Src: /src/vlc/modules/audio_output/mmdevice.c:1370,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/audio_output/mmdevice.c:1372,1
    - Dst: strcmp
      Src: /src/vlc/modules/audio_output/mmdevice.c:1373,1
    - Dst: ToWide
      Src: /src/vlc/modules/audio_output/mmdevice.c:1375,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/mmdevice.c:1376,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/mmdevice.c:1378,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/mmdevice.c:1383,1
    - Dst: atomic_init
      Src: /src/vlc/modules/audio_output/mmdevice.c:1385,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/audio_output/mmdevice.c:1388,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/modules/audio_output/mmdevice.c:1391,1
    - Dst: Close
      Src: /src/vlc/modules/audio_output/mmdevice.c:1395,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/mmdevice.c:1411,1
    - Dst: CloseHandle
      Src: /src/vlc/modules/audio_output/mmdevice.c:1413,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/mmdevice.c:1414,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 62
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1334
    functionDepth: 1
    functionLinenumber: 1334
    functionLinenumberEnd: 1416
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 48
    functionsReached:
    - atomic_init
    - VolumeSetLocked
    - vlc_sem_init
    - vlc_sem_wait
    - ToWide
    - CreateEvent
    - _
    - vlc_cond_init
    - CloseHandle
    - strcmp
    - Close
    - var_InheritFloat
    - var_InheritString
    - vlc_clone
    - aout_HotplugReport
    - var_CreateGetBool
    - vlc_mutex_init
    - free
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/mmdevice.c:1423,1
    - Dst: atomic_exchange
      Src: /src/vlc/modules/audio_output/mmdevice.c:1424,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/mmdevice.c:1427,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/mmdevice.c:1430,1
    - Dst: SetEvent
      Src: /src/vlc/modules/audio_output/mmdevice.c:1432,1
    - Dst: vlc_join
      Src: /src/vlc/modules/audio_output/mmdevice.c:1434,1
    - Dst: CloseHandle
      Src: /src/vlc/modules/audio_output/mmdevice.c:1435,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/mmdevice.c:1437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1418
    functionDepth: 1
    functionLinenumber: 1418
    functionLinenumberEnd: 1438
    functionName: Close
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 140
    functionsReached:
    - atomic_exchange
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - free
    - vlc_join
    - SetEvent
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: realloc_or_free
      Src: /src/vlc/modules/audio_output/mmdevice.c:1452,1
    - Dst: realloc_or_free
      Src: /src/vlc/modules/audio_output/mmdevice.c:1453,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/mmdevice.c:1456,1
    - Dst: FromWide
      Src: /src/vlc/modules/audio_output/mmdevice.c:1460,1
    - Dst: DeviceGetFriendlyName
      Src: /src/vlc/modules/audio_output/mmdevice.c:1464,1
    - Dst: strdup
      Src: /src/vlc/modules/audio_output/mmdevice.c:1465,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/mmdevice.c:1467,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - data
    - wid
    - dev
    argTypes:
    - void*
    - LPCWSTR
    - IMMDevice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1447
    functionDepth: 1
    functionLinenumber: 1447
    functionLinenumberEnd: 1474
    functionName: Reload_DevicesEnum_Added
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - DeviceGetFriendlyName
    - strdup
    - free
    - FromWide
    - realloc_or_free
    linkageType: ''
    returnType: void
    signature: void Reload_DevicesEnum_Added(void *data, LPCWSTR wid, IMMDevice *dev)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CoInitializeEx
      Src: /src/vlc/modules/audio_output/mmdevice.c:1483,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/mmdevice.c:1484,1
    - Dst: CoCreateInstance
      Src: /src/vlc/modules/audio_output/mmdevice.c:1493,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/mmdevice.c:1495,1
    - Dst: malloc
      Src: /src/vlc/modules/audio_output/mmdevice.c:1498,1
    - Dst: malloc
      Src: /src/vlc/modules/audio_output/mmdevice.c:1499,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/mmdevice.c:1502,1
    - Dst: strdup
      Src: /src/vlc/modules/audio_output/mmdevice.c:1506,1
    - Dst: strdup
      Src: /src/vlc/modules/audio_output/mmdevice.c:1507,1
    - Dst: _
      Src: /src/vlc/modules/audio_output/mmdevice.c:1507,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/mmdevice.c:1510,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/mmdevice.c:1511,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/mmdevice.c:1512,1
    - Dst: DevicesEnum
      Src: /src/vlc/modules/audio_output/mmdevice.c:1517,1
    - Dst: IMMDeviceEnumerator_Release
      Src: /src/vlc/modules/audio_output/mmdevice.c:1520,1
    - Dst: CoUninitialize
      Src: /src/vlc/modules/audio_output/mmdevice.c:1522,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 3
    argNames:
    - name
    - values
    - descs
    argTypes:
    - char*
    - char***
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1476
    functionDepth: 1
    functionLinenumber: 1476
    functionLinenumberEnd: 1531
    functionName: ReloadAudioDevices
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.c
    functionUses: 0
    functionsReached:
    - strdup
    - FAILED
    - DevicesEnum
    - CoInitializeEx
    - _
    - IMMDeviceEnumerator_Release
    - free
    - CoUninitialize
    - CoCreateInstance
    - malloc
    linkageType: ''
    returnType: int
    signature: int ReloadAudioDevices(char const *name, char ***values, char ***descs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/wasapi.c:76,1
    - Dst: QueryPerformanceCounter
      Src: /src/vlc/modules/audio_output/wasapi.c:76,1
    - Dst: abort
      Src: /src/vlc/modules/audio_output/wasapi.c:77,1
    - Dst: lldiv
      Src: /src/vlc/modules/audio_output/wasapi.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: GetQPC
    functionSourceFile: /src/vlc/modules/audio_output/wasapi.c
    functionUses: 0
    functionsReached:
    - lldiv
    - abort
    - unlikely
    - QueryPerformanceCounter
    linkageType: ''
    returnType: msftime_t
    signature: msftime_t GetQPC(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/wasapi.c:87,1
    - Dst: QueryPerformanceCounter
      Src: /src/vlc/modules/audio_output/wasapi.c:87,1
    - Dst: abort
      Src: /src/vlc/modules/audio_output/wasapi.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: GetQPC_100ns
    functionSourceFile: /src/vlc/modules/audio_output/wasapi.c
    functionUses: 0
    functionsReached:
    - abort
    - unlikely
    - QueryPerformanceCounter
    linkageType: ''
    returnType: msftime_t
    signature: msftime_t GetQPC_100ns(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QueryPerformanceFrequency
      Src: /src/vlc/modules/audio_output/wasapi.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - once
    - param
    - context
    argTypes:
    - INIT_ONCE*
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: InitFreq
    functionSourceFile: /src/vlc/modules/audio_output/wasapi.c
    functionUses: 0
    functionsReached:
    - QueryPerformanceFrequency
    linkageType: ''
    returnType: BOOL
    signature: BOOL InitFreq(INIT_ONCE *once, void *param, void **context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_output/wasapi.c:139,1
    - Dst: IAudioClient_GetService
      Src: /src/vlc/modules/audio_output/wasapi.c:141,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/wasapi.c:142,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/wasapi.c:144,1
    - Dst: IAudioClock_GetPosition
      Src: /src/vlc/modules/audio_output/wasapi.c:150,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/audio_output/wasapi.c:151,1
    - Dst: IAudioClock_GetFrequency
      Src: /src/vlc/modules/audio_output/wasapi.c:152,1
    - Dst: IAudioClock_Release
      Src: /src/vlc/modules/audio_output/wasapi.c:153,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/wasapi.c:154,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/wasapi.c:156,1
    - Dst: aout_stream_TimingReport
      Src: /src/vlc/modules/audio_output/wasapi.c:160,1
    - Dst: VLC_TICK_FROM_MSFTIME
      Src: /src/vlc/modules/audio_output/wasapi.c:160,1
    - Dst: vlc_tick_from_frac
      Src: /src/vlc/modules/audio_output/wasapi.c:161,1
    - Dst: aout_stream_TriggerTimer
      Src: /src/vlc/modules/audio_output/wasapi.c:164,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/audio_output/wasapi.c:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - s
    argTypes:
    - aout_stream_t*
    assertStmts:
    - condition: (sys->started_state == STARTED_STATE_OK)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/vlc/modules/audio_output/wasapi.c
    constantsTouched: []
    func_position:
      end: 168
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 168
    functionName: TimingReport
    functionSourceFile: /src/vlc/modules/audio_output/wasapi.c
    functionUses: 2
    functionsReached:
    - vlc_tick_now
    - assert
    - FAILED
    - IAudioClock_GetPosition
    - msg_Err
    - IAudioClient_GetService
    - IAudioClock_GetFrequency
    - SUCCEEDED
    - aout_stream_TriggerTimer
    - IAudioClock_Release
    - aout_stream_TimingReport
    - vlc_tick_from_frac
    - VLC_TICK_FROM_MSFTIME
    linkageType: ''
    returnType: void
    signature: void TimingReport(aout_stream_t *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IAudioClient_Start
      Src: /src/vlc/modules/audio_output/wasapi.c:174,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/audio_output/wasapi.c:176,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/audio_output/wasapi.c:178,1
    - Dst: TimingReport
      Src: /src/vlc/modules/audio_output/wasapi.c:179,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/wasapi.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - aout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 184
    functionName: StartNow
    functionSourceFile: /src/vlc/modules/audio_output/wasapi.c
    functionUses: 0
    functionsReached:
    - SUCCEEDED
    - TimingReport
    - IAudioClient_Start
    - msg_Err
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT StartNow(aout_stream_t *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartNow
      Src: /src/vlc/modules/audio_output/wasapi.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - aout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: StartDeferredCallback
    functionSourceFile: /src/vlc/modules/audio_output/wasapi.c
    functionUses: 0
    functionsReached:
    - StartNow
    linkageType: ''
    returnType: void
    signature: void StartDeferredCallback(aout_stream_t *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_from_frac
      Src: /src/vlc/modules/audio_output/wasapi.c:194,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/audio_output/wasapi.c:196,1
    - Dst: aout_stream_TriggerTimer
      Src: /src/vlc/modules/audio_output/wasapi.c:201,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/wasapi.c:202,1
    - Dst: aout_stream_DisarmTimer
      Src: /src/vlc/modules/audio_output/wasapi.c:206,1
    - Dst: StartNow
      Src: /src/vlc/modules/audio_output/wasapi.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - s
    - date
    argTypes:
    - aout_stream_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 191
    functionDepth: 3
    functionLinenumber: 191
    functionLinenumberEnd: 215
    functionName: StartDeferred
    functionSourceFile: /src/vlc/modules/audio_output/wasapi.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - aout_stream_DisarmTimer
    - StartNow
    - msg_Dbg
    - aout_stream_TriggerTimer
    - vlc_tick_from_frac
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT StartDeferred(aout_stream_t *s, vlc_tick_t date)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/wasapi.c:224,1
    - Dst: StartDeferred
      Src: /src/vlc/modules/audio_output/wasapi.c:231,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/wasapi.c:232,1
    - Dst: aout_ChannelReorder
      Src: /src/vlc/modules/audio_output/wasapi.c:240,1
    - Dst: IAudioClient_GetService
      Src: /src/vlc/modules/audio_output/wasapi.c:243,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/wasapi.c:244,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/wasapi.c:246,1
    - Dst: IAudioClient_GetCurrentPadding
      Src: /src/vlc/modules/audio_output/wasapi.c:254,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/wasapi.c:255,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/wasapi.c:257,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/wasapi.c:261,1
    - Dst: IAudioRenderClient_GetBuffer
      Src: /src/vlc/modules/audio_output/wasapi.c:267,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/wasapi.c:268,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/wasapi.c:270,1
    - Dst: memcpy
      Src: /src/vlc/modules/audio_output/wasapi.c:278,1
    - Dst: IAudioRenderClient_ReleaseBuffer
      Src: /src/vlc/modules/audio_output/wasapi.c:298,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/wasapi.c:299,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/wasapi.c:301,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/audio_output/wasapi.c:310,1
    - Dst: IAudioRenderClient_Release
      Src: /src/vlc/modules/audio_output/wasapi.c:312,1
    - Dst: IAudioRenderClient_Release
      Src: /src/vlc/modules/audio_output/wasapi.c:315,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_output/wasapi.c:317,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 70
    argCount: 3
    argNames:
    - s
    - block
    - date
    argTypes:
    - aout_stream_t*
    - block_t*
    - vlc_tick_t
    assertStmts:
    - condition: (frames <= sys->frames)
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/vlc/modules/audio_output/wasapi.c
    constantsTouched: []
    func_position:
      end: 320
      start: 217
    functionDepth: 4
    functionLinenumber: 217
    functionLinenumberEnd: 320
    functionName: Play
    functionSourceFile: /src/vlc/modules/audio_output/wasapi.c
    functionUses: 20
    functionsReached:
    - block_Release
    - assert
    - FAILED
    - IAudioRenderClient_ReleaseBuffer
    - aout_ChannelReorder
    - memcpy
    - IAudioClient_GetService
    - msg_Err
    - StartDeferred
    - vlc_tick_from_samples
    - IAudioRenderClient_GetBuffer
    - IAudioRenderClient_Release
    - IAudioClient_GetCurrentPadding
    - unlikely
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT Play(aout_stream_t *s, block_t *block, vlc_tick_t date)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: aout_stream_DisarmTimer
      Src: /src/vlc/modules/audio_output/wasapi.c:329,1
    - Dst: IAudioClient_Stop
      Src: /src/vlc/modules/audio_output/wasapi.c:333,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/wasapi.c:334,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/wasapi.c:335,1
    - Dst: StartNow
      Src: /src/vlc/modules/audio_output/wasapi.c:342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - s
    - paused
    argTypes:
    - aout_stream_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 322
    functionDepth: 3
    functionLinenumber: 322
    functionLinenumberEnd: 344
    functionName: Pause
    functionSourceFile: /src/vlc/modules/audio_output/wasapi.c
    functionUses: 24
    functionsReached:
    - aout_stream_DisarmTimer
    - FAILED
    - StartNow
    - IAudioClient_Stop
    - msg_Warn
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT Pause(aout_stream_t *s, bool paused)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: aout_stream_DisarmTimer
      Src: /src/vlc/modules/audio_output/wasapi.c:351,1
    - Dst: IAudioClient_Stop
      Src: /src/vlc/modules/audio_output/wasapi.c:356,1
    - Dst: IAudioClient_Reset
      Src: /src/vlc/modules/audio_output/wasapi.c:357,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/audio_output/wasapi.c:363,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/wasapi.c:365,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/wasapi.c:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - aout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 371
    functionName: Flush
    functionSourceFile: /src/vlc/modules/audio_output/wasapi.c
    functionUses: 64
    functionsReached:
    - aout_stream_DisarmTimer
    - IAudioClient_Reset
    - IAudioClient_Stop
    - msg_Dbg
    - SUCCEEDED
    - msg_Warn
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT Flush(aout_stream_t *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/audio_output/wasapi.c:414,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 2
    argNames:
    - wf_iec61937
    - audio
    argTypes:
    - WAVEFORMATEXTENSIBLE_IEC61937*
    - audio_sample_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 432
    functionName: vlc_HdmiToWave
    functionSourceFile: /src/vlc/modules/audio_output/wasapi.c
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    linkageType: ''
    returnType: void
    signature: "void vlc_HdmiToWave(WAVEFORMATEXTENSIBLE_IEC61937 *restrict wf_iec61937,\n
      \                          audio_sample_format_t *restrict audio)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/audio_output/wasapi.c:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - wf
    - audio
    argTypes:
    - WAVEFORMATEXTENSIBLE*
    - audio_sample_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 466
    functionName: vlc_SpdifToWave
    functionSourceFile: /src/vlc/modules/audio_output/wasapi.c
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    linkageType: ''
    returnType: void
    signature: "void vlc_SpdifToWave(WAVEFORMATEXTENSIBLE *restrict wf,\n                            audio_sample_format_t
      *restrict audio)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/audio_output/wasapi.c:492,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - wf
    - audio
    argTypes:
    - WAVEFORMATEXTENSIBLE*
    - audio_sample_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 508
    functionName: vlc_ToWave
    functionSourceFile: /src/vlc/modules/audio_output/wasapi.c
    functionUses: 0
    functionsReached:
    - aout_FormatPrepare
    linkageType: ''
    returnType: void
    signature: "void vlc_ToWave(WAVEFORMATEXTENSIBLE *restrict wf,\n                       audio_sample_format_t
      *restrict audio)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_debug
      Src: /src/vlc/modules/audio_output/wasapi.c:512,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/audio_output/wasapi.c:513,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/audio_output/wasapi.c:514,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/audio_output/wasapi.c:515,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/audio_output/wasapi.c:516,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/audio_output/wasapi.c:517,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/audio_output/wasapi.c:518,1
    - Dst: container_of
      Src: /src/vlc/modules/audio_output/wasapi.c:523,1
    - Dst: IsEqualIID
      Src: /src/vlc/modules/audio_output/wasapi.c:524,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/audio_output/wasapi.c:525,1
    - Dst: IsEqualIID
      Src: /src/vlc/modules/audio_output/wasapi.c:526,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/audio_output/wasapi.c:527,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/audio_output/wasapi.c:529,1
    - Dst: GUID_PRINT
      Src: /src/vlc/modules/audio_output/wasapi.c:529,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/audio_output/wasapi.c:530,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - l
    - wf
    argTypes:
    - struct vlc_logger*
    - WAVEFORMATEX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 532
    functionName: LogWaveFormat
    functionSourceFile: /src/vlc/modules/audio_output/wasapi.c
    functionUses: 0
    functionsReached:
    - GUID_PRINT
    - vlc_debug
    - IsEqualIID
    - container_of
    linkageType: ''
    returnType: void
    signature: void LogWaveFormat(struct vlc_logger *l, const WAVEFORMATEX *restrict
      wf)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/audio_output/wasapi.c:541,1
    - Dst: IsEqualIID
      Src: /src/vlc/modules/audio_output/wasapi.c:543,1
    - Dst: IsEqualIID
      Src: /src/vlc/modules/audio_output/wasapi.c:557,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/audio_output/wasapi.c:586,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 2
    argNames:
    - wf
    - audio
    argTypes:
    - WAVEFORMATEX*
    - audio_sample_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 591
    functionName: vlc_FromWave
    functionSourceFile: /src/vlc/modules/audio_output/wasapi.c
    functionUses: 1
    functionsReached:
    - aout_FormatPrepare
    - IsEqualIID
    - container_of
    linkageType: ''
    returnType: int
    signature: "int vlc_FromWave(const WAVEFORMATEX *restrict wf,\n                        audio_sample_format_t
      *restrict audio)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aout_CheckChannelReorder
      Src: /src/vlc/modules/audio_output/wasapi.c:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wf
    - table
    argTypes:
    - WAVEFORMATEX*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 605
    functionName: vlc_CheckWaveOrder
    functionSourceFile: /src/vlc/modules/audio_output/wasapi.c
    functionUses: 0
    functionsReached:
    - aout_CheckChannelReorder
    linkageType: ''
    returnType: unsigned
    signature: "unsigned vlc_CheckWaveOrder (const WAVEFORMATEX *restrict wf,\n                                    uint8_t
      *restrict table)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aout_stream_DisarmTimer
      Src: /src/vlc/modules/audio_output/wasapi.c:611,1
    - Dst: IAudioClient_Stop
      Src: /src/vlc/modules/audio_output/wasapi.c:614,1
    - Dst: IAudioClient_Release
      Src: /src/vlc/modules/audio_output/wasapi.c:616,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/wasapi.c:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - aout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 619
    functionName: Stop
    functionSourceFile: /src/vlc/modules/audio_output/wasapi.c
    functionUses: 40
    functionsReached:
    - free
    - IAudioClient_Stop
    - IAudioClient_Release
    - aout_stream_DisarmTimer
    linkageType: ''
    returnType: void
    signature: void Stop(aout_stream_t *s)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: IAudioClient_IsFormatSupported
      Src: /src/vlc/modules/audio_output/wasapi.c:636,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/wasapi.c:640,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/wasapi.c:645,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/wasapi.c:647,1
    - Dst: IsEqualIID
      Src: /src/vlc/modules/audio_output/wasapi.c:647,1
    - Dst: IsEqualIID
      Src: /src/vlc/modules/audio_output/wasapi.c:648,1
    - Dst: CoTaskMemAlloc
      Src: /src/vlc/modules/audio_output/wasapi.c:652,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/audio_output/wasapi.c:670,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/audio_output/wasapi.c:680,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/audio_output/wasapi.c:689,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/audio_output/wasapi.c:696,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/wasapi.c:737,1
    - Dst: IAudioClient_IsFormatSupported
      Src: /src/vlc/modules/audio_output/wasapi.c:743,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/wasapi.c:755,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/audio_output/wasapi.c:756,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/audio_output/wasapi.c:764,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 3
    argNames:
    - c
    - pwf
    - ppwf_closest
    argTypes:
    - IAudioClient*
    - WAVEFORMATEX*
    - WAVEFORMATEX**
    assertStmts:
    - condition: "(IsEqualIID(&pwfe->SubFormat, &KSDATAFORMAT_SUBTYPE_IEEE_FLOAT)\n
        \       || IsEqualIID(&pwfe->SubFormat, &KSDATAFORMAT_SUBTYPE_PCM))"
      pos:
        line_end: 647
        line_start: 646
        source_file: /src/vlc/modules/audio_output/wasapi.c
    - condition: (pwf->wFormatTag == WAVE_FORMAT_EXTENSIBLE)
      pos:
        line_end: 644
        line_start: 644
        source_file: /src/vlc/modules/audio_output/wasapi.c
    - condition: (hr != S_FALSE)
      pos:
        line_end: 639
        line_start: 639
        source_file: /src/vlc/modules/audio_output/wasapi.c
    - condition: (channels == 2)
      pos:
        line_end: 736
        line_start: 736
        source_file: /src/vlc/modules/audio_output/wasapi.c
    - condition: (hr != S_FALSE)
      pos:
        line_end: 754
        line_start: 754
        source_file: /src/vlc/modules/audio_output/wasapi.c
    constantsTouched: []
    func_position:
      end: 766
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 766
    functionName: GetExclusivePCMFormat
    functionSourceFile: /src/vlc/modules/audio_output/wasapi.c
    functionUses: 0
    functionsReached:
    - assert
    - ARRAY_SIZE
    - vlc_assert_unreachable
    - CoTaskMemFree
    - CoTaskMemAlloc
    - IAudioClient_IsFormatSupported
    - IsEqualIID
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT GetExclusivePCMFormat(IAudioClient *c, const WAVEFORMATEX
      *pwf,\n                                     WAVEFORMATEX **ppwf_closest)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: InitOnceExecuteOnce
      Src: /src/vlc/modules/audio_output/wasapi.c:773,1
    - Dst: malloc
      Src: /src/vlc/modules/audio_output/wasapi.c:776,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/wasapi.c:777,1
    - Dst: AOUT_FMT_SPDIF
      Src: /src/vlc/modules/audio_output/wasapi.c:789,1
    - Dst: AOUT_FMT_HDMI
      Src: /src/vlc/modules/audio_output/wasapi.c:790,1
    - Dst: aout_stream_Activate
      Src: /src/vlc/modules/audio_output/wasapi.c:793,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/wasapi.c:794,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/wasapi.c:796,1
    - Dst: vlc_SpdifToWave
      Src: /src/vlc/modules/audio_output/wasapi.c:805,1
    - Dst: vlc_HdmiToWave
      Src: /src/vlc/modules/audio_output/wasapi.c:807,1
    - Dst: MSFTIME_FROM_MS
      Src: /src/vlc/modules/audio_output/wasapi.c:811,1
    - Dst: IAudioClient_IsFormatSupported
      Src: /src/vlc/modules/audio_output/wasapi.c:813,1
    - Dst: AOUT_FMT_LINEAR
      Src: /src/vlc/modules/audio_output/wasapi.c:817,1
    - Dst: IAudioClient_GetMixFormat
      Src: /src/vlc/modules/audio_output/wasapi.c:824,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/wasapi.c:825,1
    - Dst: vlc_FromWave
      Src: /src/vlc/modules/audio_output/wasapi.c:825,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/wasapi.c:827,1
    - Dst: LogWaveFormat
      Src: /src/vlc/modules/audio_output/wasapi.c:828,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/audio_output/wasapi.c:828,1
    - Dst: vlc_ToWave
      Src: /src/vlc/modules/audio_output/wasapi.c:829,1
    - Dst: MSFTIME_FROM_MS
      Src: /src/vlc/modules/audio_output/wasapi.c:836,1
    - Dst: vlc_ToWave
      Src: /src/vlc/modules/audio_output/wasapi.c:840,1
    - Dst: MSFTIME_FROM_VLC_TICK
      Src: /src/vlc/modules/audio_output/wasapi.c:841,1
    - Dst: var_CreateGetBool
      Src: /src/vlc/modules/audio_output/wasapi.c:845,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/audio_output/wasapi.c:845,1
    - Dst: MSFTIME_FROM_MS
      Src: /src/vlc/modules/audio_output/wasapi.c:848,1
    - Dst: GetExclusivePCMFormat
      Src: /src/vlc/modules/audio_output/wasapi.c:849,1
    - Dst: IAudioClient_IsFormatSupported
      Src: /src/vlc/modules/audio_output/wasapi.c:854,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/wasapi.c:862,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/wasapi.c:864,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/wasapi.c:873,1
    - Dst: vlc_FromWave
      Src: /src/vlc/modules/audio_output/wasapi.c:874,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/wasapi.c:876,1
    - Dst: LogWaveFormat
      Src: /src/vlc/modules/audio_output/wasapi.c:877,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/audio_output/wasapi.c:877,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/audio_output/wasapi.c:878,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/wasapi.c:882,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/wasapi.c:886,1
    - Dst: vlc_CheckWaveOrder
      Src: /src/vlc/modules/audio_output/wasapi.c:889,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/wasapi.c:895,1
    - Dst: IAudioClient_Initialize
      Src: /src/vlc/modules/audio_output/wasapi.c:900,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/audio_output/wasapi.c:905,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/wasapi.c:906,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/wasapi.c:908,1
    - Dst: IAudioClient_SetEventHandle
      Src: /src/vlc/modules/audio_output/wasapi.c:912,1
    - Dst: aout_stream_GetBufferReadyEvent
      Src: /src/vlc/modules/audio_output/wasapi.c:913,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/wasapi.c:914,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/wasapi.c:916,1
    - Dst: IAudioClient_GetBufferSize
      Src: /src/vlc/modules/audio_output/wasapi.c:920,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/wasapi.c:921,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/wasapi.c:923,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/wasapi.c:926,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/audio_output/wasapi.c:929,1
    - Dst: IAudioClient_GetStreamLatency
      Src: /src/vlc/modules/audio_output/wasapi.c:929,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/audio_output/wasapi.c:930,1
    - Dst: IAudioClient_GetDevicePeriod
      Src: /src/vlc/modules/audio_output/wasapi.c:930,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/wasapi.c:932,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/wasapi.c:933,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/wasapi.c:934,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/audio_output/wasapi.c:937,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/audio_output/wasapi.c:948,1
    - Dst: IAudioClient_Release
      Src: /src/vlc/modules/audio_output/wasapi.c:950,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/wasapi.c:951,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 117
    argCount: 3
    argNames:
    - s
    - pfmt
    - sid
    argTypes:
    - aout_stream_t*
    - audio_sample_format_t*
    - GUID*
    assertStmts:
    - condition: (pwf_closest != NULL)
      pos:
        line_end: 872
        line_start: 872
        source_file: /src/vlc/modules/audio_output/wasapi.c
    - condition: (pwf_closest == NULL)
      pos:
        line_end: 885
        line_start: 885
        source_file: /src/vlc/modules/audio_output/wasapi.c
    constantsTouched: []
    func_position:
      end: 953
      start: 768
    functionDepth: 2
    functionLinenumber: 768
    functionLinenumberEnd: 953
    functionName: Start
    functionSourceFile: /src/vlc/modules/audio_output/wasapi.c
    functionUses: 56
    functionsReached:
    - vlc_ToWave
    - assert
    - IAudioClient_Initialize
    - AOUT_FMT_SPDIF
    - GetExclusivePCMFormat
    - vlc_CheckWaveOrder
    - IAudioClient_Release
    - SUCCEEDED
    - IAudioClient_IsFormatSupported
    - IAudioClient_GetBufferSize
    - IAudioClient_GetStreamLatency
    - vlc_HdmiToWave
    - msg_Err
    - LogWaveFormat
    - msg_Dbg
    - InitOnceExecuteOnce
    - IAudioClient_GetDevicePeriod
    - vlc_SpdifToWave
    - AOUT_FMT_HDMI
    - aout_stream_GetBufferReadyEvent
    - vlc_FromWave
    - IAudioClient_GetMixFormat
    - MSFTIME_FROM_MS
    - vlc_object_parent
    - AOUT_FMT_LINEAR
    - aout_stream_Activate
    - CoTaskMemFree
    - FAILED
    - vlc_object_logger
    - var_CreateGetBool
    - free
    - IAudioClient_SetEventHandle
    - MSFTIME_FROM_VLC_TICK
    - unlikely
    - malloc
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT Start(aout_stream_t *s, audio_sample_format_t *restrict pfmt,\n
      \                    const GUID *sid)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_output/file.c:135,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/audio_output/file.c:138,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/file.c:141,1
    - Dst: malloc
      Src: /src/vlc/modules/audio_output/file.c:146,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/file.c:149,1
    - Dst: strcmp
      Src: /src/vlc/modules/audio_output/file.c:154,1
    - Dst: vlc_fopen
      Src: /src/vlc/modules/audio_output/file.c:157,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/file.c:159,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/file.c:162,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/audio_output/file.c:171,1
    - Dst: fclose
      Src: /src/vlc/modules/audio_output/file.c:175,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/file.c:176,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/audio_output/file.c:182,1
    - Dst: strcmp
      Src: /src/vlc/modules/audio_output/file.c:184,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/file.c:193,1
    - Dst: fclose
      Src: /src/vlc/modules/audio_output/file.c:196,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/file.c:197,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/file.c:198,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/file.c:201,1
    - Dst: AOUT_FMT_SPDIF
      Src: /src/vlc/modules/audio_output/file.c:203,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/audio_output/file.c:210,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/audio_output/file.c:218,1
    - Dst: memset
      Src: /src/vlc/modules/audio_output/file.c:224,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/audio_output/file.c:244,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/audio_output/file.c:246,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/audio_output/file.c:247,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_output/file.c:250,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/audio_output/file.c:255,1
    - Dst: SetWLE
      Src: /src/vlc/modules/audio_output/file.c:259,1
    - Dst: SetWLE
      Src: /src/vlc/modules/audio_output/file.c:260,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/audio_output/file.c:261,1
    - Dst: SetWLE
      Src: /src/vlc/modules/audio_output/file.c:262,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/audio_output/file.c:263,1
    - Dst: SetWLE
      Src: /src/vlc/modules/audio_output/file.c:264,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/audio_output/file.c:265,1
    - Dst: fwrite
      Src: /src/vlc/modules/audio_output/file.c:267,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/file.c:270,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/audio_output/file.c:270,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 96
    argCount: 2
    argNames:
    - p_aout
    - fmt
    argTypes:
    - audio_output_t*
    - audio_sample_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 275
    functionName: Start
    functionSourceFile: /src/vlc/modules/audio_output/file.c
    functionUses: 56
    functionsReached:
    - VLC_FOURCC
    - vlc_strerror_c
    - var_InheritString
    - ARRAY_SIZE
    - AOUT_FMT_SPDIF
    - memset
    - var_InheritInteger
    - SetWLE
    - var_InheritBool
    - msg_Err
    - free
    - strcmp
    - vlc_fopen
    - SetDWLE
    - fwrite
    - malloc
    - aout_FormatNbChannels
    - fclose
    linkageType: ''
    returnType: int
    signature: int Start( audio_output_t *p_aout, audio_sample_format_t *restrict
      fmt )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/file.c:282,1
    - Dst: fseek
      Src: /src/vlc/modules/audio_output/file.c:292,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/file.c:294,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/audio_output/file.c:294,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/audio_output/file.c:298,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/audio_output/file.c:300,1
    - Dst: fwrite
      Src: /src/vlc/modules/audio_output/file.c:303,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/file.c:306,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/audio_output/file.c:306,1
    - Dst: fclose
      Src: /src/vlc/modules/audio_output/file.c:311,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/file.c:312,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - p_aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 313
    functionName: Stop
    functionSourceFile: /src/vlc/modules/audio_output/file.c
    functionUses: 40
    functionsReached:
    - vlc_strerror_c
    - fseek
    - msg_Err
    - fwrite
    - free
    - SetDWLE
    - msg_Dbg
    - fclose
    linkageType: ''
    returnType: void
    signature: void Stop( audio_output_t *p_aout )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/vlc/modules/audio_output/file.c:321,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/file.c:324,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/audio_output/file.c:324,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_output/file.c:333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - p_aout
    - p_buffer
    - date
    argTypes:
    - audio_output_t*
    - block_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 335
    functionName: Play
    functionSourceFile: /src/vlc/modules/audio_output/file.c
    functionUses: 20
    functionsReached:
    - block_Release
    - vlc_strerror_c
    - msg_Err
    - fwrite
    linkageType: ''
    returnType: void
    signature: void Play( audio_output_t * p_aout, block_t *p_buffer, vlc_tick_t date
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - aout
    - paused
    - date
    argTypes:
    - audio_output_t*
    - bool
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: Pause
    functionSourceFile: /src/vlc/modules/audio_output/file.c
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pause( audio_output_t *aout, bool paused, vlc_tick_t date )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/vlc/modules/audio_output/file.c:345,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/file.c:346,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/audio_output/file.c:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 347
    functionName: Flush
    functionSourceFile: /src/vlc/modules/audio_output/file.c
    functionUses: 64
    functionsReached:
    - fflush
    - vlc_strerror_c
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void Flush( audio_output_t *aout )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 358
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_output/file.c
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - o
    - ','
    - m
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: vlc_pa_error
    functionSourceFile: /src/vlc/modules/audio_output/vlcpulse.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vlc_pa_error(o, m, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - o
    - ','
    - c
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: vlc_pa_get_latency
    functionSourceFile: /src/vlc/modules/audio_output/vlcpulse.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vlc_pa_get_latency(o, c, s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/adummy.c:55,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/adummy.c:57,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_output/adummy.c:62,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/audio_output/adummy.c:64,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/audio_output/adummy.c:70,1
    - Dst: aout_TimingReport
      Src: /src/vlc/modules/audio_output/adummy.c:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - aout
    - block
    - date
    argTypes:
    - audio_output_t*
    - block_t*
    - vlc_tick_t
    assertStmts:
    - condition: (sys->first_pts == VLC_TICK_INVALID)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/vlc/modules/audio_output/adummy.c
    constantsTouched: []
    func_position:
      end: 76
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 76
    functionName: Play
    functionSourceFile: /src/vlc/modules/audio_output/adummy.c
    functionUses: 20
    functionsReached:
    - vlc_tick_now
    - block_Release
    - assert
    - VLC_TICK_FROM_SEC
    - unlikely
    - aout_TimingReport
    linkageType: ''
    returnType: void
    signature: void Play(audio_output_t *aout, block_t *block, vlc_tick_t date)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - aout
    - paused
    - date
    argTypes:
    - audio_output_t*
    - bool
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: Pause
    functionSourceFile: /src/vlc/modules/audio_output/adummy.c
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pause(audio_output_t *aout, bool paused, vlc_tick_t date)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: Flush
    functionSourceFile: /src/vlc/modules/audio_output/adummy.c
    functionUses: 64
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Flush(audio_output_t *aout)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_output/adummy.c:121,1
    - Dst: AOUT_FMT_LINEAR
      Src: /src/vlc/modules/audio_output/adummy.c:121,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/adummy.c:122,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_output/adummy.c:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - aout
    - fmt
    argTypes:
    - audio_output_t*
    - audio_sample_format_t*
    assertStmts:
    - condition: (AOUT_FMT_LINEAR(fmt))
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/vlc/modules/audio_output/adummy.c
    - condition: (aout_FormatNbChannels(fmt) > 0)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/vlc/modules/audio_output/adummy.c
    constantsTouched: []
    func_position:
      end: 129
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 129
    functionName: Start
    functionSourceFile: /src/vlc/modules/audio_output/adummy.c
    functionUses: 56
    functionsReached:
    - assert
    - AOUT_FMT_LINEAR
    - aout_FormatNbChannels
    linkageType: ''
    returnType: int
    signature: int Start(audio_output_t *aout, audio_sample_format_t *restrict fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/audio_output/adummy.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: Close
    functionSourceFile: /src/vlc/modules/audio_output/adummy.c
    functionUses: 140
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/audio_output/adummy.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 156
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_output/adummy.c
    functionUses: 48
    functionsReached:
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: add_sw_gain
    functionSourceFile: /src/vlc/modules/audio_output/volume.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: add_sw_gain()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: aout_GainRequest
      Src: /src/vlc/modules/audio_output/volume.h:47,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/audio_output/volume.h:50,1
    - Dst: config_PutFloat
      Src: /src/vlc/modules/audio_output/volume.h:51,1
    - Dst: aout_VolumeReport
      Src: /src/vlc/modules/audio_output/volume.h:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - aout
    - volume
    argTypes:
    - audio_output_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 55
    functionName: aout_SoftVolumeSet
    functionSourceFile: /src/vlc/modules/audio_output/volume.h
    functionUses: 0
    functionsReached:
    - config_PutFloat
    - aout_VolumeReport
    - var_InheritBool
    - aout_GainRequest
    linkageType: ''
    returnType: int
    signature: int aout_SoftVolumeSet(audio_output_t *aout, float volume)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aout_GainRequest
      Src: /src/vlc/modules/audio_output/volume.h:61,1
    - Dst: aout_MuteReport
      Src: /src/vlc/modules/audio_output/volume.h:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - aout
    - mute
    argTypes:
    - audio_output_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: aout_SoftMuteSet
    functionSourceFile: /src/vlc/modules/audio_output/volume.h
    functionUses: 0
    functionsReached:
    - aout_MuteReport
    - aout_GainRequest
    linkageType: ''
    returnType: int
    signature: int aout_SoftMuteSet (audio_output_t *aout, bool mute)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/audio_output/volume.h:72,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/audio_output/volume.h:73,1
    - Dst: aout_MuteReport
      Src: /src/vlc/modules/audio_output/volume.h:80,1
    - Dst: aout_VolumeReport
      Src: /src/vlc/modules/audio_output/volume.h:81,1
    - Dst: cbrtf
      Src: /src/vlc/modules/audio_output/volume.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: aout_SoftVolumeInit
    functionSourceFile: /src/vlc/modules/audio_output/volume.h
    functionUses: 0
    functionsReached:
    - aout_VolumeReport
    - aout_MuteReport
    - var_InheritBool
    - cbrtf
    - var_InheritFloat
    linkageType: ''
    returnType: void
    signature: void aout_SoftVolumeInit(audio_output_t *aout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aout_GainRequest
      Src: /src/vlc/modules/audio_output/volume.h:88,1
    - Dst: aout_MuteReport
      Src: /src/vlc/modules/audio_output/volume.h:90,1
    - Dst: aout_VolumeReport
      Src: /src/vlc/modules/audio_output/volume.h:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: aout_SoftVolumeStart
    functionSourceFile: /src/vlc/modules/audio_output/volume.h
    functionUses: 0
    functionsReached:
    - aout_VolumeReport
    - aout_MuteReport
    - aout_GainRequest
    linkageType: ''
    returnType: void
    signature: void aout_SoftVolumeStart (audio_output_t *aout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - prio
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: vlc_pw_log
    functionSourceFile: /src/vlc/modules/audio_output/vlc_pipewire.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vlc_pw_log(ctx, prio, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: vlc_pw_error
    functionSourceFile: /src/vlc/modules/audio_output/vlc_pipewire.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vlc_pw_error(ctx, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: vlc_pw_warn
    functionSourceFile: /src/vlc/modules/audio_output/vlc_pipewire.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vlc_pw_warn(ctx, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: vlc_pw_debug
    functionSourceFile: /src/vlc/modules/audio_output/vlc_pipewire.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vlc_pw_debug(ctx, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: vlc_pw_perror
    functionSourceFile: /src/vlc/modules/audio_output/vlc_pipewire.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vlc_pw_perror(ctx, desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/amem.c:105,1
    - Dst: aout_sys_t*::play
      Src: /src/vlc/modules/audio_output/amem.c:106,1
    - Dst: US_FROM_VLC_TICK
      Src: /src/vlc/modules/audio_output/amem.c:106,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/amem.c:107,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_output/amem.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - aout
    - block
    - date
    argTypes:
    - audio_output_t*
    - block_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: Play
    functionSourceFile: /src/vlc/modules/audio_output/amem.c
    functionUses: 20
    functionsReached:
    - block_Release
    - aout_sys_t*::play
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - US_FROM_VLC_TICK
    linkageType: ''
    returnType: void
    signature: void Play(audio_output_t *aout, block_t *block, vlc_tick_t date)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/amem.c:118,1
    - Dst: cb
      Src: /src/vlc/modules/audio_output/amem.c:119,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/amem.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - aout
    - paused
    - date
    argTypes:
    - audio_output_t*
    - bool
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 122
    functionName: Pause
    functionSourceFile: /src/vlc/modules/audio_output/amem.c
    functionUses: 24
    functionsReached:
    - cb
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void Pause (audio_output_t *aout, bool paused, vlc_tick_t date)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/amem.c:130,1
    - Dst: aout_sys_t*::flush
      Src: /src/vlc/modules/audio_output/amem.c:131,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/amem.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: Flush
    functionSourceFile: /src/vlc/modules/audio_output/amem.c
    functionUses: 64
    functionsReached:
    - aout_sys_t*::flush
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void Flush (audio_output_t *aout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/amem.c:140,1
    - Dst: aout_sys_t*::drain
      Src: /src/vlc/modules/audio_output/amem.c:141,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/amem.c:142,1
    - Dst: aout_DrainedReport
      Src: /src/vlc/modules/audio_output/amem.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: Drain
    functionSourceFile: /src/vlc/modules/audio_output/amem.c
    functionUses: 4
    functionsReached:
    - aout_DrainedReport
    - vlc_mutex_unlock
    - aout_sys_t*::drain
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void Drain (audio_output_t *aout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/amem.c:154,1
    - Dst: aout_sys_t*::set_volume
      Src: /src/vlc/modules/audio_output/amem.c:156,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/amem.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - aout
    - vol
    argTypes:
    - audio_output_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 162
    functionName: VolumeSet
    functionSourceFile: /src/vlc/modules/audio_output/amem.c
    functionUses: 0
    functionsReached:
    - aout_sys_t*::set_volume
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: int
    signature: int VolumeSet (audio_output_t *aout, float vol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/amem.c:171,1
    - Dst: aout_sys_t*::set_volume
      Src: /src/vlc/modules/audio_output/amem.c:173,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/amem.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - aout
    - mute
    argTypes:
    - audio_output_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 179
    functionName: MuteSet
    functionSourceFile: /src/vlc/modules/audio_output/amem.c
    functionUses: 0
    functionsReached:
    - aout_sys_t*::set_volume
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: int
    signature: int MuteSet (audio_output_t *aout, bool mute)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aout_GainRequest
      Src: /src/vlc/modules/audio_output/amem.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - aout
    - vol
    argTypes:
    - audio_output_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 190
    functionName: SoftVolumeSet
    functionSourceFile: /src/vlc/modules/audio_output/amem.c
    functionUses: 0
    functionsReached:
    - aout_GainRequest
    linkageType: ''
    returnType: int
    signature: int SoftVolumeSet (audio_output_t *aout, float vol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aout_GainRequest
      Src: /src/vlc/modules/audio_output/amem.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - aout
    - mute
    argTypes:
    - audio_output_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: SoftMuteSet
    functionSourceFile: /src/vlc/modules/audio_output/amem.c
    functionUses: 0
    functionsReached:
    - aout_GainRequest
    linkageType: ''
    returnType: int
    signature: int SoftMuteSet (audio_output_t *aout, bool mute)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/amem.c:206,1
    - Dst: aout_sys_t*::flush
      Src: /src/vlc/modules/audio_output/amem.c:208,1
    - Dst: aout_sys_t*::cleanup
      Src: /src/vlc/modules/audio_output/amem.c:210,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/amem.c:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 214
    functionName: Stop
    functionSourceFile: /src/vlc/modules/audio_output/amem.c
    functionUses: 40
    functionsReached:
    - aout_sys_t*::flush
    - aout_sys_t*::cleanup
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void Stop (audio_output_t *aout)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_output/amem.c:223,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/amem.c:226,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_output/amem.c:229,1
    - Dst: aout_sys_t*::setup
      Src: /src/vlc/modules/audio_output/amem.c:232,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/amem.c:234,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/audio_output/amem.c:242,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/amem.c:245,1
    - Dst: strlen
      Src: /src/vlc/modules/audio_output/amem.c:249,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/amem.c:251,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/amem.c:253,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/amem.c:254,1
    - Dst: strcpy
      Src: /src/vlc/modules/audio_output/amem.c:259,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/amem.c:260,1
    - Dst: aout_sys_t*::set_volume
      Src: /src/vlc/modules/audio_output/amem.c:268,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/amem.c:269,1
    - Dst: strncmp
      Src: /src/vlc/modules/audio_output/amem.c:274,1
    - Dst: strlen
      Src: /src/vlc/modules/audio_output/amem.c:276,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/amem.c:289,1
    - Dst: Stop
      Src: /src/vlc/modules/audio_output/amem.c:291,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/audio_output/amem.c:326,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 73
    argCount: 2
    argNames:
    - aout
    - fmt
    argTypes:
    - audio_output_t*
    - audio_sample_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 331
    functionName: Start
    functionSourceFile: /src/vlc/modules/audio_output/amem.c
    functionUses: 56
    functionsReached:
    - var_InheritString
    - vlc_assert_unreachable
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - strlen
    - aout_sys_t*::setup
    - msg_Err
    - free
    - strcpy
    - aout_sys_t*::set_volume
    - strncmp
    - Stop
    - aout_FormatNbChannels
    linkageType: ''
    returnType: int
    signature: int Start (audio_output_t *aout, audio_sample_format_t * restrict fmt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/audio_output/amem.c:336,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/amem.c:337,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/audio_output/amem.c:340,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/audio_output/amem.c:341,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/audio_output/amem.c:344,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/audio_output/amem.c:351,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/audio_output/amem.c:352,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/audio_output/amem.c:355,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/audio_output/amem.c:356,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/audio_output/amem.c:357,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/audio_output/amem.c:358,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/audio_output/amem.c:359,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/audio_output/amem.c:360,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/audio_output/amem.c:364,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/amem.c:368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 390
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_output/amem.c
    functionUses: 48
    functionsReached:
    - var_InheritAddress
    - var_InheritInteger
    - vlc_mutex_init
    - free
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open (vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/audio_output/amem.c:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 398
    functionName: Close
    functionSourceFile: /src/vlc/modules/audio_output/amem.c
    functionUses: 140
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void Close (vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/vlcpulse.c:44,1
    - Dst: pa_strerror
      Src: /src/vlc/modules/audio_output/vlcpulse.c:44,1
    - Dst: pa_context_errno
      Src: /src/vlc/modules/audio_output/vlcpulse.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - obj
    - msg
    - ctx
    argTypes:
    - vlc_object_t*
    - char*
    - pa_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: vlc_pa_error
    functionSourceFile: /src/vlc/modules/audio_output/vlcpulse.c
    functionUses: 2
    functionsReached:
    - pa_context_errno
    - pa_strerror
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void vlc_pa_error (vlc_object_t *obj, const char *msg, pa_context *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pa_context_get_state
      Src: /src/vlc/modules/audio_output/vlcpulse.c:51,1
    - Dst: pa_threaded_mainloop_signal
      Src: /src/vlc/modules/audio_output/vlcpulse.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - userdata
    argTypes:
    - pa_context*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 60
    functionName: context_state_cb
    functionSourceFile: /src/vlc/modules/audio_output/vlcpulse.c
    functionUses: 0
    functionsReached:
    - pa_context_get_state
    - pa_threaded_mainloop_signal
    linkageType: ''
    returnType: void
    signature: void context_state_cb (pa_context *ctx, void *userdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pa_context_get_state
      Src: /src/vlc/modules/audio_output/vlcpulse.c:66,1
    - Dst: pa_threaded_mainloop_wait
      Src: /src/vlc/modules/audio_output/vlcpulse.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - mainloop
    argTypes:
    - pa_context*
    - pa_threaded_mainloop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: context_wait
    functionSourceFile: /src/vlc/modules/audio_output/vlcpulse.c
    functionUses: 0
    functionsReached:
    - pa_context_get_state
    - pa_threaded_mainloop_wait
    linkageType: ''
    returnType: int
    signature: int context_wait(pa_context *ctx, pa_threaded_mainloop *mainloop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/vlcpulse.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - c
    - name
    - pl
    - userdata
    argTypes:
    - pa_context*
    - char*
    - pa_proplist*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: context_event_cb
    functionSourceFile: /src/vlc/modules/audio_output/vlcpulse.c
    functionUses: 0
    functionsReached:
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: "void context_event_cb(pa_context *c, const char *name, pa_proplist
      *pl,\n                             void *userdata)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/vlcpulse.c:91,1
    - Dst: pa_get_library_version
      Src: /src/vlc/modules/audio_output/vlcpulse.c:91,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/vlcpulse.c:92,1
    - Dst: pa_get_headers_version
      Src: /src/vlc/modules/audio_output/vlcpulse.c:93,1
    - Dst: pa_threaded_mainloop_new
      Src: /src/vlc/modules/audio_output/vlcpulse.c:96,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/vlcpulse.c:97,1
    - Dst: pa_threaded_mainloop_start
      Src: /src/vlc/modules/audio_output/vlcpulse.c:100,1
    - Dst: pa_threaded_mainloop_free
      Src: /src/vlc/modules/audio_output/vlcpulse.c:102,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/audio_output/vlcpulse.c:107,1
    - Dst: pa_proplist_new
      Src: /src/vlc/modules/audio_output/vlcpulse.c:108,1
    - Dst: likely
      Src: /src/vlc/modules/audio_output/vlcpulse.c:109,1
    - Dst: pa_proplist_sets
      Src: /src/vlc/modules/audio_output/vlcpulse.c:114,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/audio_output/vlcpulse.c:116,1
    - Dst: pa_proplist_sets
      Src: /src/vlc/modules/audio_output/vlcpulse.c:119,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/vlcpulse.c:120,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/audio_output/vlcpulse.c:122,1
    - Dst: pa_proplist_sets
      Src: /src/vlc/modules/audio_output/vlcpulse.c:125,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/vlcpulse.c:126,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/audio_output/vlcpulse.c:128,1
    - Dst: pa_proplist_sets
      Src: /src/vlc/modules/audio_output/vlcpulse.c:131,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/vlcpulse.c:132,1
    - Dst: pa_proplist_sets
      Src: /src/vlc/modules/audio_output/vlcpulse.c:135,1
    - Dst: setlocale
      Src: /src/vlc/modules/audio_output/vlcpulse.c:136,1
    - Dst: pa_proplist_setf
      Src: /src/vlc/modules/audio_output/vlcpulse.c:138,1
    - Dst: getpid
      Src: /src/vlc/modules/audio_output/vlcpulse.c:139,1
    - Dst: sysconf
      Src: /src/vlc/modules/audio_output/vlcpulse.c:143,1
    - Dst: getpwuid_r
      Src: /src/vlc/modules/audio_output/vlcpulse.c:149,1
    - Dst: getuid
      Src: /src/vlc/modules/audio_output/vlcpulse.c:149,1
    - Dst: pa_proplist_sets
      Src: /src/vlc/modules/audio_output/vlcpulse.c:152,1
    - Dst: sysconf
      Src: /src/vlc/modules/audio_output/vlcpulse.c:158,1
    - Dst: gethostname
      Src: /src/vlc/modules/audio_output/vlcpulse.c:163,1
    - Dst: pa_proplist_sets
      Src: /src/vlc/modules/audio_output/vlcpulse.c:165,1
    - Dst: getenv
      Src: /src/vlc/modules/audio_output/vlcpulse.c:171,1
    - Dst: pa_proplist_setf
      Src: /src/vlc/modules/audio_output/vlcpulse.c:174,1
    - Dst: pa_proplist_sets
      Src: /src/vlc/modules/audio_output/vlcpulse.c:176,1
    - Dst: pa_threaded_mainloop_lock
      Src: /src/vlc/modules/audio_output/vlcpulse.c:185,1
    - Dst: pa_threaded_mainloop_get_api
      Src: /src/vlc/modules/audio_output/vlcpulse.c:186,1
    - Dst: pa_context_new_with_proplist
      Src: /src/vlc/modules/audio_output/vlcpulse.c:187,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/vlcpulse.c:188,1
    - Dst: pa_proplist_free
      Src: /src/vlc/modules/audio_output/vlcpulse.c:190,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/vlcpulse.c:191,1
    - Dst: pa_context_set_state_callback
      Src: /src/vlc/modules/audio_output/vlcpulse.c:194,1
    - Dst: pa_context_set_event_callback
      Src: /src/vlc/modules/audio_output/vlcpulse.c:195,1
    - Dst: pa_context_connect
      Src: /src/vlc/modules/audio_output/vlcpulse.c:196,1
    - Dst: context_wait
      Src: /src/vlc/modules/audio_output/vlcpulse.c:197,1
    - Dst: vlc_pa_error
      Src: /src/vlc/modules/audio_output/vlcpulse.c:199,1
    - Dst: pa_context_unref
      Src: /src/vlc/modules/audio_output/vlcpulse.c:200,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/vlcpulse.c:203,1
    - Dst: pa_context_is_local
      Src: /src/vlc/modules/audio_output/vlcpulse.c:204,1
    - Dst: pa_context_get_server
      Src: /src/vlc/modules/audio_output/vlcpulse.c:205,1
    - Dst: pa_context_get_index
      Src: /src/vlc/modules/audio_output/vlcpulse.c:205,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/vlcpulse.c:206,1
    - Dst: pa_context_get_protocol_version
      Src: /src/vlc/modules/audio_output/vlcpulse.c:207,1
    - Dst: pa_context_get_server_protocol_version
      Src: /src/vlc/modules/audio_output/vlcpulse.c:208,1
    - Dst: pa_threaded_mainloop_unlock
      Src: /src/vlc/modules/audio_output/vlcpulse.c:210,1
    - Dst: pa_threaded_mainloop_unlock
      Src: /src/vlc/modules/audio_output/vlcpulse.c:215,1
    - Dst: pa_threaded_mainloop_stop
      Src: /src/vlc/modules/audio_output/vlcpulse.c:216,1
    - Dst: pa_threaded_mainloop_free
      Src: /src/vlc/modules/audio_output/vlcpulse.c:217,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 75
    argCount: 2
    argNames:
    - obj
    - mlp
    argTypes:
    - vlc_object_t*
    - pa_threaded_mainloop**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 219
    functionName: vlc_pa_connect
    functionSourceFile: /src/vlc/modules/audio_output/vlcpulse.c
    functionUses: 2
    functionsReached:
    - pa_context_connect
    - pa_threaded_mainloop_stop
    - pa_threaded_mainloop_get_api
    - pa_context_new_with_proplist
    - pa_threaded_mainloop_lock
    - pa_proplist_new
    - pa_context_get_protocol_version
    - getenv
    - pa_threaded_mainloop_unlock
    - context_wait
    - getpwuid_r
    - vlc_pa_error
    - sysconf
    - pa_context_unref
    - pa_context_is_local
    - msg_Dbg
    - pa_threaded_mainloop_free
    - pa_get_headers_version
    - pa_proplist_sets
    - getuid
    - pa_proplist_setf
    - setlocale
    - pa_context_get_index
    - likely
    - pa_proplist_free
    - getpid
    - pa_threaded_mainloop_start
    - var_InheritString
    - pa_context_get_server_protocol_version
    - pa_get_library_version
    - pa_context_set_event_callback
    - pa_threaded_mainloop_new
    - free
    - pa_context_set_state_callback
    - pa_context_get_server
    - unlikely
    - gethostname
    linkageType: ''
    returnType: pa_context
    signature: pa_context *vlc_pa_connect (vlc_object_t *obj, pa_threaded_mainloop
      **mlp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pa_threaded_mainloop_lock
      Src: /src/vlc/modules/audio_output/vlcpulse.c:227,1
    - Dst: pa_context_disconnect
      Src: /src/vlc/modules/audio_output/vlcpulse.c:228,1
    - Dst: pa_context_set_event_callback
      Src: /src/vlc/modules/audio_output/vlcpulse.c:229,1
    - Dst: pa_context_set_state_callback
      Src: /src/vlc/modules/audio_output/vlcpulse.c:230,1
    - Dst: pa_context_unref
      Src: /src/vlc/modules/audio_output/vlcpulse.c:231,1
    - Dst: pa_threaded_mainloop_unlock
      Src: /src/vlc/modules/audio_output/vlcpulse.c:232,1
    - Dst: pa_threaded_mainloop_stop
      Src: /src/vlc/modules/audio_output/vlcpulse.c:234,1
    - Dst: pa_threaded_mainloop_free
      Src: /src/vlc/modules/audio_output/vlcpulse.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - obj
    - ctx
    - mainloop
    argTypes:
    - vlc_object_t*
    - pa_context*
    - pa_threaded_mainloop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 237
    functionName: vlc_pa_disconnect
    functionSourceFile: /src/vlc/modules/audio_output/vlcpulse.c
    functionUses: 2
    functionsReached:
    - pa_context_unref
    - pa_context_set_state_callback
    - pa_threaded_mainloop_stop
    - pa_threaded_mainloop_lock
    - pa_context_disconnect
    - pa_threaded_mainloop_free
    - pa_context_set_event_callback
    - pa_threaded_mainloop_unlock
    linkageType: ''
    returnType: void
    signature: "void vlc_pa_disconnect (vlc_object_t *obj, pa_context *ctx,\n                        pa_threaded_mainloop
      *mainloop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pa_threaded_mainloop_get_api
      Src: /src/vlc/modules/audio_output/vlcpulse.c:247,1
    - Dst: pa_mainloop_api*::time_free
      Src: /src/vlc/modules/audio_output/vlcpulse.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mainloop
    - e
    argTypes:
    - pa_threaded_mainloop*
    - pa_time_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: vlc_pa_rttime_free
    functionSourceFile: /src/vlc/modules/audio_output/vlcpulse.c
    functionUses: 0
    functionsReached:
    - pa_threaded_mainloop_get_api
    - pa_mainloop_api*::time_free
    linkageType: ''
    returnType: void
    signature: void vlc_pa_rttime_free (pa_threaded_mainloop *mainloop, pa_time_event
      *e)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pa_stream_get_sample_spec
      Src: /src/vlc/modules/audio_output/vlcpulse.c:268,1
    - Dst: pa_stream_get_timing_info
      Src: /src/vlc/modules/audio_output/vlcpulse.c:269,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/vlcpulse.c:272,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/vlcpulse.c:277,1
    - Dst: pa_bytes_to_usec
      Src: /src/vlc/modules/audio_output/vlcpulse.c:281,1
    - Dst: pa_stream_get_time
      Src: /src/vlc/modules/audio_output/vlcpulse.c:284,1
    - Dst: pa_context_errno
      Src: /src/vlc/modules/audio_output/vlcpulse.c:285,1
    - Dst: vlc_pa_error
      Src: /src/vlc/modules/audio_output/vlcpulse.c:286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - obj
    - ctx
    - s
    argTypes:
    - vlc_object_t*
    - pa_context*
    - pa_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 293
    functionName: vlc_pa_get_latency
    functionSourceFile: /src/vlc/modules/audio_output/vlcpulse.c
    functionUses: 0
    functionsReached:
    - pa_bytes_to_usec
    - pa_stream_get_timing_info
    - pa_context_errno
    - vlc_pa_error
    - msg_Dbg
    - pa_stream_get_sample_spec
    - pa_stream_get_time
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t vlc_pa_get_latency(vlc_object_t *obj, pa_context *ctx, pa_stream
      *s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_output/kai.c:139,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/audio_output/kai.c:142,1
    - Dst: strcmp
      Src: /src/vlc/modules/audio_output/kai.c:147,1
    - Dst: strcmp
      Src: /src/vlc/modules/audio_output/kai.c:149,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/kai.c:151,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/kai.c:154,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_output/kai.c:156,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/audio_output/kai.c:169,1
    - Dst: kaiInit
      Src: /src/vlc/modules/audio_output/kai.c:174,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/kai.c:176,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/audio_output/kai.c:189,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/kai.c:193,1
    - Dst: kaiOpen
      Src: /src/vlc/modules/audio_output/kai.c:196,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/kai.c:198,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/kai.c:203,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/kai.c:205,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/kai.c:207,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/audio_output/kai.c:211,1
    - Dst: aout_SoftVolumeStart
      Src: /src/vlc/modules/audio_output/kai.c:224,1
    - Dst: CreateBuffer
      Src: /src/vlc/modules/audio_output/kai.c:226,1
    - Dst: atomic_init
      Src: /src/vlc/modules/audio_output/kai.c:231,1
    - Dst: _control87
      Src: /src/vlc/modules/audio_output/kai.c:234,1
    - Dst: kaiDone
      Src: /src/vlc/modules/audio_output/kai.c:239,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 65
    argCount: 2
    argNames:
    - p_aout
    - fmt
    argTypes:
    - audio_output_t*
    - audio_sample_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 242
    functionName: Start
    functionSourceFile: /src/vlc/modules/audio_output/kai.c
    functionUses: 57
    functionsReached:
    - aout_FormatPrepare
    - atomic_init
    - _control87
    - var_InheritString
    - CreateBuffer
    - var_InheritBool
    - msg_Err
    - free
    - strcmp
    - kaiDone
    - msg_Dbg
    - vlc_tick_from_samples
    - kaiOpen
    - kaiInit
    - aout_SoftVolumeStart
    - aout_FormatNbChannels
    linkageType: ''
    returnType: int
    signature: int Start ( audio_output_t *p_aout, audio_sample_format_t *fmt )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/kai.c:253,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/audio_output/kai.c:256,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/kai.c:260,1
    - Dst: WriteBuffer
      Src: /src/vlc/modules/audio_output/kai.c:262,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_output/kai.c:264,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/kai.c:266,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/audio_output/kai.c:269,1
    - Dst: kaiPlay
      Src: /src/vlc/modules/audio_output/kai.c:274,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/audio_output/kai.c:277,1
    - Dst: aout_TimingReport
      Src: /src/vlc/modules/audio_output/kai.c:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - p_aout
    - block
    - date
    argTypes:
    - audio_output_t*
    - block_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 283
    functionName: Play
    functionSourceFile: /src/vlc/modules/audio_output/kai.c
    functionUses: 21
    functionsReached:
    - block_Release
    - vlc_tick_now
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - VLC_TICK_FROM_SEC
    - WriteBuffer
    - vlc_tick_from_samples
    - kaiPlay
    - unlikely
    - aout_TimingReport
    linkageType: ''
    returnType: void
    signature: void Play(audio_output_t *p_aout, block_t *block, vlc_tick_t date)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_explicit
      Src: /src/vlc/modules/audio_output/kai.c:292,1
    - Dst: kaiClose
      Src: /src/vlc/modules/audio_output/kai.c:294,1
    - Dst: kaiDone
      Src: /src/vlc/modules/audio_output/kai.c:295,1
    - Dst: DestroyBuffer
      Src: /src/vlc/modules/audio_output/kai.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 298
    functionName: Stop
    functionSourceFile: /src/vlc/modules/audio_output/kai.c
    functionUses: 41
    functionsReached:
    - DestroyBuffer
    - atomic_store_explicit
    - kaiDone
    - kaiClose
    linkageType: ''
    returnType: void
    signature: void Stop ( audio_output_t *p_aout )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ReadBuffer
      Src: /src/vlc/modules/audio_output/kai.c:311,1
    - Dst: memset
      Src: /src/vlc/modules/audio_output/kai.c:313,1
    - Dst: atomic_load_explicit
      Src: /src/vlc/modules/audio_output/kai.c:315,1
    - Dst: atomic_store_explicit
      Src: /src/vlc/modules/audio_output/kai.c:318,1
    - Dst: aout_DrainedReport
      Src: /src/vlc/modules/audio_output/kai.c:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - p_cb_data
    - p_buffer
    - i_buf_size
    argTypes:
    - PVOID
    - PVOID
    - ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 323
    functionName: KaiCallback
    functionSourceFile: /src/vlc/modules/audio_output/kai.c
    functionUses: 0
    functionsReached:
    - atomic_store_explicit
    - atomic_load_explicit
    - memset
    - aout_DrainedReport
    - ReadBuffer
    linkageType: ''
    returnType: ULONG
    signature: "ULONG KaiCallback( PVOID p_cb_data,\n                                   PVOID
      p_buffer,\n                                   ULONG i_buf_size )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/audio_output/kai.c:328,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/kai.c:330,1
    - Dst: aout_SoftVolumeInit
      Src: /src/vlc/modules/audio_output/kai.c:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 338
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_output/kai.c
    functionUses: 49
    functionsReached:
    - calloc
    - aout_SoftVolumeInit
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Open (vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/audio_output/kai.c:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 346
    functionName: Close
    functionSourceFile: /src/vlc/modules/audio_output/kai.c
    functionUses: 141
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *obj )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_output/kai.c:350,1
    - Dst: kaiPause
      Src: /src/vlc/modules/audio_output/kai.c:356,1
    - Dst: kaiResume
      Src: /src/vlc/modules/audio_output/kai.c:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - aout
    - pause
    - date
    argTypes:
    - audio_output_t*
    - bool
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 367
    functionName: Pause
    functionSourceFile: /src/vlc/modules/audio_output/kai.c
    functionUses: 25
    functionsReached:
    - kaiResume
    - kaiPause
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void Pause( audio_output_t *aout, bool pause, vlc_tick_t date )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_explicit
      Src: /src/vlc/modules/audio_output/kai.c:374,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/kai.c:376,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/kai.c:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 385
    functionName: Flush
    functionSourceFile: /src/vlc/modules/audio_output/kai.c
    functionUses: 64
    functionsReached:
    - atomic_store_explicit
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void Flush( audio_output_t *aout )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_explicit
      Src: /src/vlc/modules/audio_output/kai.c:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 392
    functionName: Drain
    functionSourceFile: /src/vlc/modules/audio_output/kai.c
    functionUses: 4
    functionsReached:
    - atomic_store_explicit
    linkageType: ''
    returnType: void
    signature: void Drain( audio_output_t *aout )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/audio_output/kai.c:398,1
    - Dst: malloc
      Src: /src/vlc/modules/audio_output/kai.c:402,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/kai.c:405,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/audio_output/kai.c:412,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - aout
    - size
    argTypes:
    - audio_output_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 418
    functionName: CreateBuffer
    functionSourceFile: /src/vlc/modules/audio_output/kai.c
    functionUses: 2
    functionsReached:
    - calloc
    - vlc_mutex_init
    - free
    - malloc
    linkageType: ''
    returnType: int
    signature: int CreateBuffer( audio_output_t *aout, int size )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/audio_output/kai.c:425,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/kai.c:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 427
    functionName: DestroyBuffer
    functionSourceFile: /src/vlc/modules/audio_output/kai.c
    functionUses: 4
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void DestroyBuffer( audio_output_t *aout )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/kai.c:436,1
    - Dst: MIN
      Src: /src/vlc/modules/audio_output/kai.c:438,1
    - Dst: memcpy
      Src: /src/vlc/modules/audio_output/kai.c:446,1
    - Dst: memcpy
      Src: /src/vlc/modules/audio_output/kai.c:448,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/kai.c:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - aout
    - data
    - size
    argTypes:
    - audio_output_t*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 460
    functionName: ReadBuffer
    functionSourceFile: /src/vlc/modules/audio_output/kai.c
    functionUses: 1
    functionsReached:
    - memcpy
    - MIN
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: int
    signature: int ReadBuffer( audio_output_t *aout, uint8_t *data, int size )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/kai.c:469,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/kai.c:480,1
    - Dst: realloc
      Src: /src/vlc/modules/audio_output/kai.c:485,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/kai.c:486,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/kai.c:488,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/kai.c:490,1
    - Dst: memcpy
      Src: /src/vlc/modules/audio_output/kai.c:507,1
    - Dst: memcpy
      Src: /src/vlc/modules/audio_output/kai.c:509,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/kai.c:516,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - aout
    - data
    - size
    argTypes:
    - audio_output_t*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 519
    functionName: WriteBuffer
    functionSourceFile: /src/vlc/modules/audio_output/kai.c
    functionUses: 2
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - realloc
    - memcpy
    - msg_Err
    - msg_Dbg
    - unlikely
    linkageType: ''
    returnType: int
    signature: int WriteBuffer( audio_output_t *aout, uint8_t *data, int size )
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_output/sndio.c:67,1
    - Dst: sio_open
      Src: /src/vlc/modules/audio_output/sndio.c:70,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/sndio.c:73,1
    - Dst: sio_initpar
      Src: /src/vlc/modules/audio_output/sndio.c:78,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_output/sndio.c:102,1
    - Dst: sio_setpar
      Src: /src/vlc/modules/audio_output/sndio.c:107,1
    - Dst: sio_getpar
      Src: /src/vlc/modules/audio_output/sndio.c:107,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/sndio.c:109,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/sndio.c:115,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/sndio.c:121,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/sndio.c:127,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/sndio.c:143,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/sndio.c:171,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/audio_output/sndio.c:177,1
    - Dst: sio_onvol
      Src: /src/vlc/modules/audio_output/sndio.c:182,1
    - Dst: sio_onmove
      Src: /src/vlc/modules/audio_output/sndio.c:195,1
    - Dst: sio_start
      Src: /src/vlc/modules/audio_output/sndio.c:196,1
    - Dst: sio_close
      Src: /src/vlc/modules/audio_output/sndio.c:200,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 115
    argCount: 2
    argNames:
    - aout
    - fmt
    argTypes:
    - audio_output_t*
    - audio_sample_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 202
    functionName: Start
    functionSourceFile: /src/vlc/modules/audio_output/sndio.c
    functionUses: 57
    functionsReached:
    - sio_close
    - aout_FormatPrepare
    - sio_initpar
    - sio_onmove
    - sio_onvol
    - msg_Err
    - sio_open
    - sio_setpar
    - sio_getpar
    - sio_start
    - aout_FormatNbChannels
    linkageType: ''
    returnType: int
    signature: int Start (audio_output_t *aout, audio_sample_format_t *restrict fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sio_close
      Src: /src/vlc/modules/audio_output/sndio.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 211
    functionName: Stop
    functionSourceFile: /src/vlc/modules/audio_output/sndio.c
    functionUses: 41
    functionsReached:
    - sio_close
    linkageType: ''
    returnType: void
    signature: void Stop (audio_output_t *aout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - delta
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 220
    functionName: PositionChanged
    functionSourceFile: /src/vlc/modules/audio_output/sndio.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PositionChanged (void *arg, int delta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sio_write
      Src: /src/vlc/modules/audio_output/sndio.c:226,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_output/sndio.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - aout
    - block
    - date
    argTypes:
    - audio_output_t*
    - block_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 230
    functionName: Play
    functionSourceFile: /src/vlc/modules/audio_output/sndio.c
    functionUses: 21
    functionsReached:
    - sio_write
    - block_Release
    linkageType: ''
    returnType: void
    signature: void Play(audio_output_t *aout, block_t *block, vlc_tick_t date)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sio_stop
      Src: /src/vlc/modules/audio_output/sndio.c:236,1
    - Dst: sio_start
      Src: /src/vlc/modules/audio_output/sndio.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 240
    functionName: Flush
    functionSourceFile: /src/vlc/modules/audio_output/sndio.c
    functionUses: 64
    functionsReached:
    - sio_stop
    - sio_start
    linkageType: ''
    returnType: void
    signature: void Flush (audio_output_t *aout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aout_VolumeReport
      Src: /src/vlc/modules/audio_output/sndio.c:248,1
    - Dst: aout_MuteReport
      Src: /src/vlc/modules/audio_output/sndio.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - arg
    - volume
    argTypes:
    - void*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 252
    functionName: VolumeChanged
    functionSourceFile: /src/vlc/modules/audio_output/sndio.c
    functionUses: 0
    functionsReached:
    - aout_VolumeReport
    - aout_MuteReport
    linkageType: ''
    returnType: void
    signature: void VolumeChanged (void *arg, unsigned volume)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lroundf
      Src: /src/vlc/modules/audio_output/sndio.c:263,1
    - Dst: sio_setvol
      Src: /src/vlc/modules/audio_output/sndio.c:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - aout
    - fvol
    argTypes:
    - audio_output_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 268
    functionName: VolumeSet
    functionSourceFile: /src/vlc/modules/audio_output/sndio.c
    functionUses: 0
    functionsReached:
    - sio_setvol
    - lroundf
    linkageType: ''
    returnType: int
    signature: int VolumeSet (audio_output_t *aout, float fvol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sio_setvol
      Src: /src/vlc/modules/audio_output/sndio.c:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - aout
    - mute
    argTypes:
    - audio_output_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 279
    functionName: MuteSet
    functionSourceFile: /src/vlc/modules/audio_output/sndio.c
    functionUses: 0
    functionsReached:
    - sio_setvol
    linkageType: ''
    returnType: int
    signature: int MuteSet (audio_output_t *aout, bool mute)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/audio_output/sndio.c:284,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/sndio.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 293
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_output/sndio.c
    functionUses: 49
    functionsReached:
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open (vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/audio_output/sndio.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 301
    functionName: Close
    functionSourceFile: /src/vlc/modules/audio_output/sndio.c
    functionUses: 141
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void Close (vlc_object_t *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_warning
      Src: /src/vlc/modules/audio_output/alsa.c:56,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/audio_output/alsa.c:56,1
    - Dst: snd_output_buffer_string
      Src: /src/vlc/modules/audio_output/alsa.c:60,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/audio_output/alsa.c:63,1
    - Dst: snd_output_close
      Src: /src/vlc/modules/audio_output/alsa.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - log
    - output
    - msg
    - val
    argTypes:
    - struct vlc_logger*
    - snd_output_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 65
    functionName: DumpPost
    functionSourceFile: /src/vlc/modules/audio_output/alsa.c
    functionUses: 0
    functionsReached:
    - vlc_warning
    - snd_strerror
    - vlc_debug
    - snd_output_buffer_string
    - snd_output_close
    linkageType: ''
    returnType: void
    signature: "void DumpPost(struct vlc_logger *log, snd_output_t *output,\n                     const
      char *msg, int val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - o
    - ','
    - m
    - ','
    - cb
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: Dump
    functionSourceFile: /src/vlc/modules/audio_output/alsa.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Dump(o, m, cb, p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Dump
      Src: /src/vlc/modules/audio_output/alsa.c:79,1
    - Dst: snd_pcm_info_alloca
      Src: /src/vlc/modules/audio_output/alsa.c:80,1
    - Dst: snd_pcm_info
      Src: /src/vlc/modules/audio_output/alsa.c:81,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/audio_output/alsa.c:83,1
    - Dst: snd_pcm_info_get_name
      Src: /src/vlc/modules/audio_output/alsa.c:83,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/audio_output/alsa.c:84,1
    - Dst: snd_pcm_info_get_id
      Src: /src/vlc/modules/audio_output/alsa.c:84,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/audio_output/alsa.c:85,1
    - Dst: snd_pcm_info_get_subdevice_name
      Src: /src/vlc/modules/audio_output/alsa.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - log
    - pcm
    argTypes:
    - struct vlc_logger*
    - snd_pcm_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 88
    functionName: DumpDevice
    functionSourceFile: /src/vlc/modules/audio_output/alsa.c
    functionUses: 1
    functionsReached:
    - snd_pcm_info
    - snd_pcm_info_alloca
    - snd_pcm_info_get_name
    - Dump
    - vlc_debug
    - snd_pcm_info_get_id
    - snd_pcm_info_get_subdevice_name
    linkageType: ''
    returnType: void
    signature: void DumpDevice(struct vlc_logger *log, snd_pcm_t *pcm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snd_pcm_status_alloca
      Src: /src/vlc/modules/audio_output/alsa.c:94,1
    - Dst: snd_pcm_status
      Src: /src/vlc/modules/audio_output/alsa.c:95,1
    - Dst: Dump
      Src: /src/vlc/modules/audio_output/alsa.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - log
    - pcm
    argTypes:
    - struct vlc_logger*
    - snd_pcm_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: DumpDeviceStatus
    functionSourceFile: /src/vlc/modules/audio_output/alsa.c
    functionUses: 1
    functionsReached:
    - snd_pcm_status
    - Dump
    - snd_pcm_status_alloca
    linkageType: ''
    returnType: void
    signature: void DumpDeviceStatus(struct vlc_logger *log, snd_pcm_t *pcm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/vlc/modules/audio_output/alsa.c:145,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/alsa.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sys
    argTypes:
    - aout_sys_t*
    assertStmts:
    - condition: (rd == sizeof(val))
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/vlc/modules/audio_output/alsa.c
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: wake_poll
    functionSourceFile: /src/vlc/modules/audio_output/alsa.c
    functionUses: 0
    functionsReached:
    - assert
    - write
    linkageType: ''
    returnType: void
    signature: void wake_poll(aout_sys_t *sys)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: snd_pcm_state
      Src: /src/vlc/modules/audio_output/alsa.c:152,1
    - Dst: snd_pcm_recover
      Src: /src/vlc/modules/audio_output/alsa.c:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - pcm
    argTypes:
    - snd_pcm_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 173
    functionName: recover_from_pcm_state
    functionSourceFile: /src/vlc/modules/audio_output/alsa.c
    functionUses: 0
    functionsReached:
    - snd_pcm_recover
    - snd_pcm_state
    linkageType: ''
    returnType: int
    signature: int recover_from_pcm_state(snd_pcm_t *pcm)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: snd_pcm_poll_descriptors_count
      Src: /src/vlc/modules/audio_output/alsa.c:190,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/alsa.c:191,1
    - Dst: recover_from_pcm_state
      Src: /src/vlc/modules/audio_output/alsa.c:193,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/alsa.c:196,1
    - Dst: realloc
      Src: /src/vlc/modules/audio_output/alsa.c:201,1
    - Dst: snd_pcm_poll_descriptors
      Src: /src/vlc/modules/audio_output/alsa.c:211,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/alsa.c:212,1
    - Dst: recover_from_pcm_state
      Src: /src/vlc/modules/audio_output/alsa.c:214,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/alsa.c:217,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - aout
    - pfds
    - pfds_count
    argTypes:
    - audio_output_t*
    - struct pollfd**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 226
    functionName: fill_pfds_from_state_locked
    functionSourceFile: /src/vlc/modules/audio_output/alsa.c
    functionUses: 0
    functionsReached:
    - snd_pcm_poll_descriptors
    - recover_from_pcm_state
    - realloc
    - msg_Err
    - snd_pcm_poll_descriptors_count
    - unlikely
    linkageType: ''
    returnType: int
    signature: int fill_pfds_from_state_locked(audio_output_t *aout, struct pollfd
      **pfds, int *pfds_count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snd_pcm_writei
      Src: /src/vlc/modules/audio_output/alsa.c:231,1
    - Dst: snd_pcm_recover
      Src: /src/vlc/modules/audio_output/alsa.c:234,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/alsa.c:237,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/audio_output/alsa.c:238,1
    - Dst: DumpDeviceStatus
      Src: /src/vlc/modules/audio_output/alsa.c:239,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/alsa.c:242,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/audio_output/alsa.c:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - aout
    - pcm
    - buffer
    - samples
    argTypes:
    - audio_output_t*
    - snd_pcm_t*
    - void*
    - snd_pcm_sframes_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 244
    functionName: PcmWrite
    functionSourceFile: /src/vlc/modules/audio_output/alsa.c
    functionUses: 0
    functionsReached:
    - snd_pcm_recover
    - DumpDeviceStatus
    - snd_strerror
    - msg_Err
    - msg_Warn
    - snd_pcm_writei
    linkageType: ''
    returnType: snd_pcm_sframes_t
    signature: "snd_pcm_sframes_t PcmWrite(audio_output_t *aout, snd_pcm_t *pcm,\n
      \                                 const void *buffer, snd_pcm_sframes_t samples)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: samples_from_vlc_tick
      Src: /src/vlc/modules/audio_output/alsa.c:253,1
    - Dst: snd_pcm_frames_to_bytes
      Src: /src/vlc/modules/audio_output/alsa.c:254,1
    - Dst: malloc
      Src: /src/vlc/modules/audio_output/alsa.c:256,1
    - Dst: vlc_sem_post
      Src: /src/vlc/modules/audio_output/alsa.c:260,1
    - Dst: memset
      Src: /src/vlc/modules/audio_output/alsa.c:263,1
    - Dst: calloc
      Src: /src/vlc/modules/audio_output/alsa.c:269,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/alsa.c:272,1
    - Dst: vlc_sem_post
      Src: /src/vlc/modules/audio_output/alsa.c:274,1
    - Dst: vlc_sem_post
      Src: /src/vlc/modules/audio_output/alsa.c:282,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/alsa.c:284,1
    - Dst: fill_pfds_from_state_locked
      Src: /src/vlc/modules/audio_output/alsa.c:287,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/alsa.c:288,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/alsa.c:290,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/alsa.c:293,1
    - Dst: poll
      Src: /src/vlc/modules/audio_output/alsa.c:295,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/alsa.c:297,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/alsa.c:298,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/alsa.c:302,1
    - Dst: strerror
      Src: /src/vlc/modules/audio_output/alsa.c:302,1
    - Dst: read
      Src: /src/vlc/modules/audio_output/alsa.c:309,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/alsa.c:312,1
    - Dst: strerror
      Src: /src/vlc/modules/audio_output/alsa.c:312,1
    - Dst: snd_pcm_poll_descriptors_revents
      Src: /src/vlc/modules/audio_output/alsa.c:320,1
    - Dst: recover_from_pcm_state
      Src: /src/vlc/modules/audio_output/alsa.c:323,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/alsa.c:326,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/alsa.c:330,1
    - Dst: recover_from_pcm_state
      Src: /src/vlc/modules/audio_output/alsa.c:332,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/alsa.c:336,1
    - Dst: snd_pcm_prepare
      Src: /src/vlc/modules/audio_output/alsa.c:337,1
    - Dst: aout_DrainedReport
      Src: /src/vlc/modules/audio_output/alsa.c:340,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/alsa.c:343,1
    - Dst: snd_pcm_drain
      Src: /src/vlc/modules/audio_output/alsa.c:359,1
    - Dst: snd_pcm_prepare
      Src: /src/vlc/modules/audio_output/alsa.c:361,1
    - Dst: aout_DrainedReport
      Src: /src/vlc/modules/audio_output/alsa.c:364,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/audio_output/alsa.c:371,1
    - Dst: snd_pcm_delay
      Src: /src/vlc/modules/audio_output/alsa.c:373,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/audio_output/alsa.c:375,1
    - Dst: samples_from_vlc_tick
      Src: /src/vlc/modules/audio_output/alsa.c:382,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/alsa.c:385,1
    - Dst: PcmWrite
      Src: /src/vlc/modules/audio_output/alsa.c:386,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/alsa.c:393,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/alsa.c:401,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/alsa.c:406,1
    - Dst: PcmWrite
      Src: /src/vlc/modules/audio_output/alsa.c:409,1
    - Dst: snd_pcm_frames_to_bytes
      Src: /src/vlc/modules/audio_output/alsa.c:412,1
    - Dst: vlc_frame_Release
      Src: /src/vlc/modules/audio_output/alsa.c:424,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/audio_output/alsa.c:432,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/audio_output/alsa.c:435,1
    - Dst: snd_pcm_delay
      Src: /src/vlc/modules/audio_output/alsa.c:436,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/alsa.c:439,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/audio_output/alsa.c:439,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/audio_output/alsa.c:442,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/audio_output/alsa.c:444,1
    - Dst: aout_TimingReport
      Src: /src/vlc/modules/audio_output/alsa.c:445,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/alsa.c:449,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/alsa.c:450,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/alsa.c:453,1
    - Dst: aout_RestartRequest
      Src: /src/vlc/modules/audio_output/alsa.c:454,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/alsa.c:456,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 122
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts:
    - condition: (!sys->starting)
      pos:
        line_end: 405
        line_start: 405
        source_file: /src/vlc/modules/audio_output/alsa.c
    - condition: (silence_frames <= silence_buffer_frames)
      pos:
        line_end: 384
        line_start: 384
        source_file: /src/vlc/modules/audio_output/alsa.c
    constantsTouched: []
    func_position:
      end: 458
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 458
    functionName: InjectionThread
    functionSourceFile: /src/vlc/modules/audio_output/alsa.c
    functionUses: 0
    functionsReached:
    - assert
    - snd_pcm_frames_to_bytes
    - snd_pcm_poll_descriptors_revents
    - strerror
    - vlc_tick_now
    - vlc_mutex_lock
    - msg_Err
    - calloc
    - vlc_tick_from_samples
    - msg_Dbg
    - msg_Warn
    - samples_from_vlc_tick
    - snd_pcm_drain
    - aout_DrainedReport
    - VLC_TICK_FROM_SEC
    - read
    - fill_pfds_from_state_locked
    - aout_TimingReport
    - snd_pcm_delay
    - vlc_frame_Release
    - vlc_mutex_unlock
    - memset
    - poll
    - recover_from_pcm_state
    - vlc_sem_post
    - snd_strerror
    - free
    - PcmWrite
    - aout_RestartRequest
    - unlikely
    - malloc
    - snd_pcm_prepare
    linkageType: ''
    returnType: void
    signature: void * InjectionThread(void * data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: aout_ChannelReorder
      Src: /src/vlc/modules/audio_output/alsa.c:468,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/alsa.c:472,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/alsa.c:473,1
    - Dst: vlc_frame_Release
      Src: /src/vlc/modules/audio_output/alsa.c:475,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/alsa.c:476,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/audio_output/alsa.c:487,1
    - Dst: wake_poll
      Src: /src/vlc/modules/audio_output/alsa.c:489,1
    - Dst: vlc_frame_ChainLastAppend
      Src: /src/vlc/modules/audio_output/alsa.c:490,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/alsa.c:492,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - aout
    - block
    - date
    argTypes:
    - audio_output_t*
    - block_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 463
    functionDepth: 2
    functionLinenumber: 463
    functionLinenumberEnd: 495
    functionName: Play
    functionSourceFile: /src/vlc/modules/audio_output/alsa.c
    functionUses: 21
    functionsReached:
    - vlc_frame_Release
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - wake_poll
    - aout_ChannelReorder
    - vlc_frame_ChainLastAppend
    - vlc_tick_from_samples
    - unlikely
    linkageType: ''
    returnType: void
    signature: void Play(audio_output_t *aout, block_t *block, vlc_tick_t date)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/alsa.c:503,1
    - Dst: snd_pcm_drop
      Src: /src/vlc/modules/audio_output/alsa.c:512,1
    - Dst: snd_pcm_prepare
      Src: /src/vlc/modules/audio_output/alsa.c:517,1
    - Dst: wake_poll
      Src: /src/vlc/modules/audio_output/alsa.c:519,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/alsa.c:520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - aout
    - pause
    - date
    argTypes:
    - audio_output_t*
    - bool
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 523
    functionName: PauseDummy
    functionSourceFile: /src/vlc/modules/audio_output/alsa.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - wake_poll
    - snd_pcm_drop
    - snd_pcm_prepare
    linkageType: ''
    returnType: void
    signature: void PauseDummy(audio_output_t *aout, bool pause, vlc_tick_t date)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snd_pcm_pause
      Src: /src/vlc/modules/audio_output/alsa.c:533,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/alsa.c:534,1
    - Dst: PauseDummy
      Src: /src/vlc/modules/audio_output/alsa.c:536,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/alsa.c:539,1
    - Dst: wake_poll
      Src: /src/vlc/modules/audio_output/alsa.c:541,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/alsa.c:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - aout
    - pause
    - date
    argTypes:
    - audio_output_t*
    - bool
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 528
    functionDepth: 3
    functionLinenumber: 528
    functionLinenumberEnd: 543
    functionName: Pause
    functionSourceFile: /src/vlc/modules/audio_output/alsa.c
    functionUses: 25
    functionsReached:
    - snd_pcm_pause
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - wake_poll
    - PauseDummy
    - unlikely
    linkageType: ''
    returnType: void
    signature: void Pause(audio_output_t *aout, bool pause, vlc_tick_t date)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/alsa.c:553,1
    - Dst: vlc_frame_ChainRelease
      Src: /src/vlc/modules/audio_output/alsa.c:554,1
    - Dst: wake_poll
      Src: /src/vlc/modules/audio_output/alsa.c:567,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/alsa.c:568,1
    - Dst: snd_pcm_drop
      Src: /src/vlc/modules/audio_output/alsa.c:570,1
    - Dst: snd_pcm_prepare
      Src: /src/vlc/modules/audio_output/alsa.c:571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 548
    functionDepth: 2
    functionLinenumber: 548
    functionLinenumberEnd: 572
    functionName: Flush
    functionSourceFile: /src/vlc/modules/audio_output/alsa.c
    functionUses: 64
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - wake_poll
    - vlc_frame_ChainRelease
    - snd_pcm_drop
    - snd_pcm_prepare
    linkageType: ''
    returnType: void
    signature: void Flush (audio_output_t *aout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/alsa.c:581,1
    - Dst: wake_poll
      Src: /src/vlc/modules/audio_output/alsa.c:583,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/alsa.c:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 577
    functionDepth: 2
    functionLinenumber: 577
    functionLinenumberEnd: 585
    functionName: Drain
    functionSourceFile: /src/vlc/modules/audio_output/alsa.c
    functionUses: 4
    functionsReached:
    - wake_poll
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void Drain (audio_output_t *aout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/alsa.c:595,1
    - Dst: vlc_frame_ChainRelease
      Src: /src/vlc/modules/audio_output/alsa.c:599,1
    - Dst: wake_poll
      Src: /src/vlc/modules/audio_output/alsa.c:603,1
    - Dst: snd_pcm_drop
      Src: /src/vlc/modules/audio_output/alsa.c:604,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/alsa.c:605,1
    - Dst: vlc_join
      Src: /src/vlc/modules/audio_output/alsa.c:607,1
    - Dst: snd_pcm_close
      Src: /src/vlc/modules/audio_output/alsa.c:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 590
    functionDepth: 2
    functionLinenumber: 590
    functionLinenumberEnd: 610
    functionName: Stop
    functionSourceFile: /src/vlc/modules/audio_output/alsa.c
    functionUses: 41
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - wake_poll
    - vlc_frame_ChainRelease
    - vlc_join
    - snd_pcm_close
    - snd_pcm_drop
    linkageType: ''
    returnType: void
    signature: void Stop (audio_output_t *aout)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/audio_output/alsa.c:636,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/alsa.c:640,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/alsa.c:645,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - obj
    - map
    argTypes:
    - vlc_object_t*
    - snd_pcm_chmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 651
    functionName: Map2Mask
    functionSourceFile: /src/vlc/modules/audio_output/alsa.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int Map2Mask (vlc_object_t *obj, const snd_pcm_chmap_t *restrict map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aout_CheckChannelReorder
      Src: /src/vlc/modules/audio_output/alsa.c:671,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - map
    - maskp
    - tab
    argTypes:
    - snd_pcm_chmap_t*
    - uint16_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 672
    functionName: SetupChannelsFixed
    functionSourceFile: /src/vlc/modules/audio_output/alsa.c
    functionUses: 0
    functionsReached:
    - aout_CheckChannelReorder
    linkageType: ''
    returnType: unsigned
    signature: "unsigned SetupChannelsFixed(const snd_pcm_chmap_t *restrict map,\n
      \                              uint16_t *restrict maskp, uint8_t *restrict tab)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: snd_pcm_query_chmaps
      Src: /src/vlc/modules/audio_output/alsa.c:680,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/alsa.c:683,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/alsa.c:701,1
    - Dst: Map2Mask
      Src: /src/vlc/modules/audio_output/alsa.c:705,1
    - Dst: stdc_count_ones
      Src: /src/vlc/modules/audio_output/alsa.c:709,1
    - Dst: stdc_count_ones
      Src: /src/vlc/modules/audio_output/alsa.c:710,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/alsa.c:720,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/alsa.c:725,1
    - Dst: SetupChannelsFixed
      Src: /src/vlc/modules/audio_output/alsa.c:729,1
    - Dst: snd_pcm_free_chmaps
      Src: /src/vlc/modules/audio_output/alsa.c:734,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - obj
    - pcm
    - mask
    - tab
    argTypes:
    - vlc_object_t*
    - snd_pcm_t*
    - uint16_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 677
    functionDepth: 2
    functionLinenumber: 677
    functionLinenumberEnd: 736
    functionName: SetupChannels
    functionSourceFile: /src/vlc/modules/audio_output/alsa.c
    functionUses: 0
    functionsReached:
    - stdc_count_ones
    - snd_pcm_query_chmaps
    - Map2Mask
    - msg_Err
    - msg_Dbg
    - snd_pcm_free_chmaps
    - SetupChannelsFixed
    linkageType: ''
    returnType: unsigned
    signature: "unsigned SetupChannels (vlc_object_t *obj, snd_pcm_t *pcm,\n                               uint16_t
      *restrict mask, uint8_t *restrict tab)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - obj
    - ','
    - pcm
    - ','
    - mask
    - ','
    - tab
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 739
    functionName: SetupChannels
    functionSourceFile: /src/vlc/modules/audio_output/alsa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SetupChannels(obj, pcm, mask, tab)
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_output/alsa.c:758,1
    - Dst: AOUT_FMT_SPDIF
      Src: /src/vlc/modules/audio_output/alsa.c:779,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/audio_output/alsa.c:781,1
    - Dst: AOUT_FMT_HDMI
      Src: /src/vlc/modules/audio_output/alsa.c:784,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/audio_output/alsa.c:786,1
    - Dst: strcmp
      Src: /src/vlc/modules/audio_output/alsa.c:818,1
    - Dst: strncmp
      Src: /src/vlc/modules/audio_output/alsa.c:821,1
    - Dst: strncmp
      Src: /src/vlc/modules/audio_output/alsa.c:823,1
    - Dst: FS
      Src: /src/vlc/modules/audio_output/alsa.c:844,1
    - Dst: FS
      Src: /src/vlc/modules/audio_output/alsa.c:844,1
    - Dst: FS
      Src: /src/vlc/modules/audio_output/alsa.c:844,1
    - Dst: FS
      Src: /src/vlc/modules/audio_output/alsa.c:845,1
    - Dst: FS
      Src: /src/vlc/modules/audio_output/alsa.c:845,1
    - Dst: FS
      Src: /src/vlc/modules/audio_output/alsa.c:846,1
    - Dst: FS
      Src: /src/vlc/modules/audio_output/alsa.c:846,1
    - Dst: FS
      Src: /src/vlc/modules/audio_output/alsa.c:846,1
    - Dst: FS
      Src: /src/vlc/modules/audio_output/alsa.c:847,1
    - Dst: FS
      Src: /src/vlc/modules/audio_output/alsa.c:847,1
    - Dst: asprintf
      Src: /src/vlc/modules/audio_output/alsa.c:854,1
    - Dst: snd_pcm_open
      Src: /src/vlc/modules/audio_output/alsa.c:873,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/alsa.c:876,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/audio_output/alsa.c:877,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/audio_output/alsa.c:878,1
    - Dst: _
      Src: /src/vlc/modules/audio_output/alsa.c:878,1
    - Dst: _
      Src: /src/vlc/modules/audio_output/alsa.c:879,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/audio_output/alsa.c:880,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/alsa.c:881,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/alsa.c:887,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/alsa.c:888,1
    - Dst: DumpDevice
      Src: /src/vlc/modules/audio_output/alsa.c:889,1
    - Dst: snd_pcm_hw_params_alloca
      Src: /src/vlc/modules/audio_output/alsa.c:895,1
    - Dst: snd_pcm_hw_params_any
      Src: /src/vlc/modules/audio_output/alsa.c:896,1
    - Dst: Dump
      Src: /src/vlc/modules/audio_output/alsa.c:897,1
    - Dst: snd_pcm_hw_params_set_rate_resample
      Src: /src/vlc/modules/audio_output/alsa.c:899,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/alsa.c:902,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/audio_output/alsa.c:902,1
    - Dst: snd_pcm_hw_params_set_access
      Src: /src/vlc/modules/audio_output/alsa.c:906,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/alsa.c:910,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/audio_output/alsa.c:910,1
    - Dst: snd_pcm_hw_params_test_format
      Src: /src/vlc/modules/audio_output/alsa.c:915,1
    - Dst: snd_pcm_hw_params_test_format
      Src: /src/vlc/modules/audio_output/alsa.c:918,1
    - Dst: snd_pcm_hw_params_test_format
      Src: /src/vlc/modules/audio_output/alsa.c:924,1
    - Dst: snd_pcm_hw_params_test_format
      Src: /src/vlc/modules/audio_output/alsa.c:930,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/alsa.c:937,1
    - Dst: snd_pcm_hw_params_set_format
      Src: /src/vlc/modules/audio_output/alsa.c:941,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/alsa.c:944,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/audio_output/alsa.c:944,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/audio_output/alsa.c:951,1
    - Dst: SetupChannels
      Src: /src/vlc/modules/audio_output/alsa.c:953,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/audio_output/alsa.c:953,1
    - Dst: stdc_count_ones
      Src: /src/vlc/modules/audio_output/alsa.c:956,1
    - Dst: snd_pcm_hw_params_set_channels
      Src: /src/vlc/modules/audio_output/alsa.c:965,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/alsa.c:968,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/audio_output/alsa.c:969,1
    - Dst: snd_pcm_hw_params_set_rate_near
      Src: /src/vlc/modules/audio_output/alsa.c:974,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/alsa.c:977,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/audio_output/alsa.c:977,1
    - Dst: snd_pcm_hw_params_set_period_time_near
      Src: /src/vlc/modules/audio_output/alsa.c:984,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/alsa.c:987,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/audio_output/alsa.c:987,1
    - Dst: snd_pcm_hw_params_set_buffer_time_near
      Src: /src/vlc/modules/audio_output/alsa.c:993,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/alsa.c:996,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/audio_output/alsa.c:996,1
    - Dst: snd_pcm_hw_params_get_buffer_time
      Src: /src/vlc/modules/audio_output/alsa.c:1000,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/alsa.c:1003,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/audio_output/alsa.c:1003,1
    - Dst: snd_pcm_hw_params_set_period_time_near
      Src: /src/vlc/modules/audio_output/alsa.c:1008,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/alsa.c:1011,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/audio_output/alsa.c:1011,1
    - Dst: snd_pcm_hw_params
      Src: /src/vlc/modules/audio_output/alsa.c:1017,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/alsa.c:1020,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/audio_output/alsa.c:1021,1
    - Dst: Dump
      Src: /src/vlc/modules/audio_output/alsa.c:1024,1
    - Dst: snd_pcm_sw_params_alloca
      Src: /src/vlc/modules/audio_output/alsa.c:1029,1
    - Dst: snd_pcm_sw_params_current
      Src: /src/vlc/modules/audio_output/alsa.c:1030,1
    - Dst: Dump
      Src: /src/vlc/modules/audio_output/alsa.c:1031,1
    - Dst: snd_pcm_sw_params_set_start_threshold
      Src: /src/vlc/modules/audio_output/alsa.c:1036,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/alsa.c:1039,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/audio_output/alsa.c:1040,1
    - Dst: snd_pcm_sw_params
      Src: /src/vlc/modules/audio_output/alsa.c:1046,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/alsa.c:1049,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/audio_output/alsa.c:1050,1
    - Dst: Dump
      Src: /src/vlc/modules/audio_output/alsa.c:1053,1
    - Dst: snd_pcm_prepare
      Src: /src/vlc/modules/audio_output/alsa.c:1055,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/alsa.c:1058,1
    - Dst: snd_strerror
      Src: /src/vlc/modules/audio_output/alsa.c:1058,1
    - Dst: snd_pcm_hw_params_can_pause
      Src: /src/vlc/modules/audio_output/alsa.c:1071,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/alsa.c:1076,1
    - Dst: aout_SoftVolumeStart
      Src: /src/vlc/modules/audio_output/alsa.c:1079,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/audio_output/alsa.c:1091,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/modules/audio_output/alsa.c:1094,1
    - Dst: vlc_join
      Src: /src/vlc/modules/audio_output/alsa.c:1097,1
    - Dst: snd_pcm_close
      Src: /src/vlc/modules/audio_output/alsa.c:1103,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 239
    argCount: 2
    argNames:
    - aout
    - fmt
    argTypes:
    - audio_output_t*
    - audio_sample_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 750
    functionDepth: 3
    functionLinenumber: 750
    functionLinenumberEnd: 1105
    functionName: Start
    functionSourceFile: /src/vlc/modules/audio_output/alsa.c
    functionUses: 58
    functionsReached:
    - snd_pcm_hw_params_any
    - vlc_sem_wait
    - snd_pcm_hw_params_test_format
    - AOUT_FMT_SPDIF
    - snd_pcm_open
    - snd_pcm_hw_params_set_access
    - snd_pcm_hw_params_set_channels
    - snd_pcm_hw_params_set_buffer_time_near
    - snd_pcm_close
    - asprintf
    - snd_pcm_hw_params_alloca
    - vlc_dialog_display_error
    - FS
    - _
    - msg_Err
    - snd_pcm_hw_params_can_pause
    - msg_Dbg
    - msg_Warn
    - AOUT_FMT_HDMI
    - aout_FormatNbChannels
    - snd_pcm_sw_params
    - snd_pcm_sw_params_alloca
    - DumpDevice
    - snd_pcm_hw_params_set_format
    - var_InheritInteger
    - SetupChannels
    - Dump
    - stdc_count_ones
    - strncmp
    - strcmp
    - snd_pcm_sw_params_set_start_threshold
    - snd_pcm_sw_params_current
    - snd_pcm_hw_params_set_rate_resample
    - aout_SoftVolumeStart
    - snd_pcm_hw_params_set_period_time_near
    - snd_pcm_hw_params
    - vlc_clone
    - snd_pcm_hw_params_get_buffer_time
    - snd_strerror
    - free
    - vlc_join
    - VLC_OBJECT
    - snd_pcm_hw_params_set_rate_near
    - snd_pcm_prepare
    linkageType: ''
    returnType: int
    signature: int Start (audio_output_t *aout, audio_sample_format_t *restrict fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - freq
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 844
    functionName: FS
    functionSourceFile: /src/vlc/modules/audio_output/alsa.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FS(freq)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snd_device_name_hint
      Src: /src/vlc/modules/audio_output/alsa.c:1115,1
    - Dst: snd_device_name_get_hint
      Src: /src/vlc/modules/audio_output/alsa.c:1126,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/alsa.c:1127,1
    - Dst: snd_device_name_get_hint
      Src: /src/vlc/modules/audio_output/alsa.c:1130,1
    - Dst: xstrdup
      Src: /src/vlc/modules/audio_output/alsa.c:1132,1
    - Dst: strchr
      Src: /src/vlc/modules/audio_output/alsa.c:1133,1
    - Dst: strchr
      Src: /src/vlc/modules/audio_output/alsa.c:1133,1
    - Dst: xrealloc
      Src: /src/vlc/modules/audio_output/alsa.c:1136,1
    - Dst: xrealloc
      Src: /src/vlc/modules/audio_output/alsa.c:1137,1
    - Dst: strcmp
      Src: /src/vlc/modules/audio_output/alsa.c:1142,1
    - Dst: snd_device_name_free_hint
      Src: /src/vlc/modules/audio_output/alsa.c:1146,1
    - Dst: xrealloc
      Src: /src/vlc/modules/audio_output/alsa.c:1150,1
    - Dst: xrealloc
      Src: /src/vlc/modules/audio_output/alsa.c:1151,1
    - Dst: xstrdup
      Src: /src/vlc/modules/audio_output/alsa.c:1152,1
    - Dst: xstrdup
      Src: /src/vlc/modules/audio_output/alsa.c:1153,1
    - Dst: _
      Src: /src/vlc/modules/audio_output/alsa.c:1153,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - varname
    - idp
    - namep
    argTypes:
    - char*
    - char***
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1110
    functionDepth: 1
    functionLinenumber: 1110
    functionLinenumberEnd: 1161
    functionName: EnumDevices
    functionSourceFile: /src/vlc/modules/audio_output/alsa.c
    functionUses: 0
    functionsReached:
    - strchr
    - xrealloc
    - snd_device_name_hint
    - snd_device_name_free_hint
    - _
    - strcmp
    - xstrdup
    - unlikely
    - snd_device_name_get_hint
    linkageType: ''
    returnType: int
    signature: "int EnumDevices(char const *varname,\n                       char
      ***restrict idp, char ***restrict namep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/audio_output/alsa.c:1169,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/alsa.c:1170,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/alsa.c:1173,1
    - Dst: aout_DeviceReport
      Src: /src/vlc/modules/audio_output/alsa.c:1175,1
    - Dst: aout_RestartRequest
      Src: /src/vlc/modules/audio_output/alsa.c:1176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - aout
    - id
    argTypes:
    - audio_output_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1165
    functionDepth: 1
    functionLinenumber: 1165
    functionLinenumberEnd: 1178
    functionName: DeviceSelect
    functionSourceFile: /src/vlc/modules/audio_output/alsa.c
    functionUses: 1
    functionsReached:
    - strdup
    - free
    - aout_DeviceReport
    - aout_RestartRequest
    - unlikely
    linkageType: ''
    returnType: int
    signature: int DeviceSelect (audio_output_t *aout, const char *id)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/audio_output/alsa.c:1183,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/alsa.c:1185,1
    - Dst: eventfd
      Src: /src/vlc/modules/audio_output/alsa.c:1189,1
    - Dst: vlc_pipe
      Src: /src/vlc/modules/audio_output/alsa.c:1194,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/audio_output/alsa.c:1201,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/alsa.c:1202,1
    - Dst: aout_SoftVolumeInit
      Src: /src/vlc/modules/audio_output/alsa.c:1208,1
    - Dst: aout_DeviceReport
      Src: /src/vlc/modules/audio_output/alsa.c:1210,1
    - Dst: EnumDevices
      Src: /src/vlc/modules/audio_output/alsa.c:1214,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/alsa.c:1217,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/alsa.c:1221,1
    - Dst: aout_HotplugReport
      Src: /src/vlc/modules/audio_output/alsa.c:1222,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/alsa.c:1223,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/alsa.c:1224,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/alsa.c:1226,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/alsa.c:1227,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/audio_output/alsa.c:1231,1
    - Dst: vlc_sem_init
      Src: /src/vlc/modules/audio_output/alsa.c:1234,1
    - Dst: vlc_close
      Src: /src/vlc/modules/audio_output/alsa.c:1245,1
    - Dst: vlc_close
      Src: /src/vlc/modules/audio_output/alsa.c:1246,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/alsa.c:1248,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1180
    functionDepth: 2
    functionLinenumber: 1180
    functionLinenumberEnd: 1250
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_output/alsa.c
    functionUses: 49
    functionsReached:
    - eventfd
    - vlc_sem_init
    - var_InheritString
    - vlc_close
    - aout_HotplugReport
    - vlc_mutex_init
    - EnumDevices
    - aout_SoftVolumeInit
    - free
    - msg_Dbg
    - aout_DeviceReport
    - vlc_pipe
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/audio_output/alsa.c:1257,1
    - Dst: vlc_close
      Src: /src/vlc/modules/audio_output/alsa.c:1259,1
    - Dst: vlc_close
      Src: /src/vlc/modules/audio_output/alsa.c:1260,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/alsa.c:1261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1262
    functionName: Close
    functionSourceFile: /src/vlc/modules/audio_output/alsa.c
    functionUses: 141
    functionsReached:
    - free
    - vlc_close
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *obj)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_output/oss.c:95,1
    - Dst: getenv
      Src: /src/vlc/modules/audio_output/oss.c:101,1
    - Dst: vlc_open
      Src: /src/vlc/modules/audio_output/oss.c:105,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/oss.c:108,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/audio_output/oss.c:109,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/oss.c:112,1
    - Dst: AOUT_FMT_SPDIF
      Src: /src/vlc/modules/audio_output/oss.c:136,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/audio_output/oss.c:137,1
    - Dst: ioctl
      Src: /src/vlc/modules/audio_output/oss.c:148,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/oss.c:150,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/audio_output/oss.c:151,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/oss.c:170,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_output/oss.c:175,1
    - Dst: ioctl
      Src: /src/vlc/modules/audio_output/oss.c:176,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/oss.c:178,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/audio_output/oss.c:179,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/oss.c:191,1
    - Dst: ioctl
      Src: /src/vlc/modules/audio_output/oss.c:197,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/oss.c:199,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/audio_output/oss.c:200,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/audio_output/oss.c:220,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/oss.c:229,1
    - Dst: stdc_bit_width
      Src: /src/vlc/modules/audio_output/oss.c:233,1
    - Dst: ioctl
      Src: /src/vlc/modules/audio_output/oss.c:234,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/oss.c:235,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/audio_output/oss.c:236,1
    - Dst: aout_SoftVolumeStart
      Src: /src/vlc/modules/audio_output/oss.c:239,1
    - Dst: vlc_close
      Src: /src/vlc/modules/audio_output/oss.c:244,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 120
    argCount: 2
    argNames:
    - aout
    - fmt
    argTypes:
    - audio_output_t*
    - audio_sample_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 246
    functionName: Start
    functionSourceFile: /src/vlc/modules/audio_output/oss.c
    functionUses: 59
    functionsReached:
    - aout_FormatPrepare
    - vlc_open
    - vlc_strerror_c
    - AOUT_FMT_SPDIF
    - vlc_close
    - var_InheritBool
    - ioctl
    - msg_Err
    - msg_Dbg
    - getenv
    - stdc_bit_width
    - unlikely
    - aout_SoftVolumeStart
    - aout_FormatNbChannels
    linkageType: ''
    returnType: int
    signature: int Start (audio_output_t *aout, audio_sample_format_t *restrict fmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/vlc/modules/audio_output/oss.c:255,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/oss.c:257,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/audio_output/oss.c:257,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/audio_output/oss.c:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - aout
    - pts
    argTypes:
    - audio_output_t*
    - vlc_tick_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 264
    functionName: TimeGet
    functionSourceFile: /src/vlc/modules/audio_output/oss.c
    functionUses: 0
    functionsReached:
    - vlc_strerror_c
    - vlc_tick_from_samples
    - msg_Warn
    - ioctl
    linkageType: ''
    returnType: int
    signature: int TimeGet (audio_output_t *aout, vlc_tick_t *restrict pts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/vlc/modules/audio_output/oss.c:277,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/oss.c:284,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/audio_output/oss.c:284,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_output/oss.c:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - aout
    - block
    - date
    argTypes:
    - audio_output_t*
    - block_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 288
    functionName: Play
    functionSourceFile: /src/vlc/modules/audio_output/oss.c
    functionUses: 21
    functionsReached:
    - block_Release
    - vlc_strerror_c
    - write
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void Play(audio_output_t *aout, block_t *block, vlc_tick_t date)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/vlc/modules/audio_output/oss.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - aout
    - pause
    - date
    argTypes:
    - audio_output_t*
    - bool
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 300
    functionName: Pause
    functionSourceFile: /src/vlc/modules/audio_output/oss.c
    functionUses: 25
    functionsReached:
    - ioctl
    linkageType: ''
    returnType: void
    signature: void Pause (audio_output_t *aout, bool pause, vlc_tick_t date)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/vlc/modules/audio_output/oss.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 311
    functionName: Flush
    functionSourceFile: /src/vlc/modules/audio_output/oss.c
    functionUses: 64
    functionsReached:
    - ioctl
    linkageType: ''
    returnType: void
    signature: void Flush (audio_output_t *aout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/vlc/modules/audio_output/oss.c:321,1
    - Dst: vlc_close
      Src: /src/vlc/modules/audio_output/oss.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 324
    functionName: Stop
    functionSourceFile: /src/vlc/modules/audio_output/oss.c
    functionUses: 41
    functionsReached:
    - vlc_close
    - ioctl
    linkageType: ''
    returnType: void
    signature: void Stop (audio_output_t *aout)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_open
      Src: /src/vlc/modules/audio_output/oss.c:328,1
    - Dst: ioctl
      Src: /src/vlc/modules/audio_output/oss.c:335,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/oss.c:337,1
    - Dst: vlc_strerror
      Src: /src/vlc/modules/audio_output/oss.c:337,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/oss.c:341,1
    - Dst: ioctl
      Src: /src/vlc/modules/audio_output/oss.c:348,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/oss.c:350,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/audio_output/oss.c:351,1
    - Dst: aout_HotplugReport
      Src: /src/vlc/modules/audio_output/oss.c:361,1
    - Dst: vlc_close
      Src: /src/vlc/modules/audio_output/oss.c:365,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 367
    functionName: DevicesEnum
    functionSourceFile: /src/vlc/modules/audio_output/oss.c
    functionUses: 2
    functionsReached:
    - vlc_open
    - vlc_strerror_c
    - vlc_strerror
    - vlc_close
    - aout_HotplugReport
    - msg_Err
    - msg_Dbg
    - msg_Warn
    - ioctl
    linkageType: ''
    returnType: int
    signature: int DevicesEnum (audio_output_t *aout)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/audio_output/oss.c:376,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/oss.c:377,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/oss.c:381,1
    - Dst: aout_DeviceReport
      Src: /src/vlc/modules/audio_output/oss.c:383,1
    - Dst: aout_RestartRequest
      Src: /src/vlc/modules/audio_output/oss.c:384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - aout
    - id
    argTypes:
    - audio_output_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 386
    functionName: DeviceSelect
    functionSourceFile: /src/vlc/modules/audio_output/oss.c
    functionUses: 1
    functionsReached:
    - strdup
    - free
    - aout_DeviceReport
    - aout_RestartRequest
    - unlikely
    linkageType: ''
    returnType: int
    signature: int DeviceSelect (audio_output_t *aout, const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/audio_output/oss.c:392,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/oss.c:393,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/audio_output/oss.c:397,1
    - Dst: aout_DeviceReport
      Src: /src/vlc/modules/audio_output/oss.c:403,1
    - Dst: aout_SoftVolumeInit
      Src: /src/vlc/modules/audio_output/oss.c:404,1
    - Dst: DevicesEnum
      Src: /src/vlc/modules/audio_output/oss.c:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 408
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_output/oss.c
    functionUses: 49
    functionsReached:
    - var_InheritString
    - DevicesEnum
    - aout_SoftVolumeInit
    - aout_DeviceReport
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open (vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/audio_output/oss.c:415,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/oss.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 417
    functionName: Close
    functionSourceFile: /src/vlc/modules/audio_output/oss.c
    functionUses: 141
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void Close (vlc_object_t *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/pulse.c:106,1
    - Dst: vlc_pa_get_latency
      Src: /src/vlc/modules/audio_output/pulse.c:109,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/pulse.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - s
    - aout
    - system_date
    argTypes:
    - pa_stream*
    - audio_output_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: stream_get_interpolated_latency
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 0
    functionsReached:
    - vlc_pa_get_latency
    - unlikely
    linkageType: ''
    returnType: vlc_tick_t
    signature: "vlc_tick_t stream_get_interpolated_latency(pa_stream *s,\n                                                  audio_output_t
      *aout,\n                                                  vlc_tick_t system_date)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pa_cvolume_max
      Src: /src/vlc/modules/audio_output/pulse.c:119,1
    - Dst: aout_VolumeReport
      Src: /src/vlc/modules/audio_output/pulse.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: VolumeReport
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 6
    functionsReached:
    - aout_VolumeReport
    - pa_cvolume_max
    linkageType: ''
    returnType: void
    signature: void VolumeReport(audio_output_t *aout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_output/pulse.c:130,1
    - Dst: vlc_pa_rttime_free
      Src: /src/vlc/modules/audio_output/pulse.c:132,1
    - Dst: aout_DrainedReport
      Src: /src/vlc/modules/audio_output/pulse.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - api
    - e
    - tv
    - userdata
    argTypes:
    - pa_mainloop_api*
    - pa_time_event*
    - struct timeval*
    - void*
    assertStmts:
    - condition: (sys->drain_trigger == e)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/vlc/modules/audio_output/pulse.c
    constantsTouched: []
    func_position:
      end: 137
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 137
    functionName: drain_trigger_cb
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 0
    functionsReached:
    - vlc_pa_rttime_free
    - assert
    - aout_DrainedReport
    linkageType: ''
    returnType: void
    signature: "void drain_trigger_cb(pa_mainloop_api *api, pa_time_event *e,\n                              const
      struct timeval *tv, void *userdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pa_threaded_mainloop_signal
      Src: /src/vlc/modules/audio_output/pulse.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - s
    - success
    - userdata
    argTypes:
    - pa_stream*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: stream_wait_cb
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 0
    functionsReached:
    - pa_threaded_mainloop_signal
    linkageType: ''
    returnType: void
    signature: void stream_wait_cb(pa_stream *s, int success, void *userdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pa_threaded_mainloop_signal
      Src: /src/vlc/modules/audio_output/pulse.c:154,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/pulse.c:159,1
    - Dst: aout_HotplugReport
      Src: /src/vlc/modules/audio_output/pulse.c:161,1
    - Dst: strlen
      Src: /src/vlc/modules/audio_output/pulse.c:163,1
    - Dst: malloc
      Src: /src/vlc/modules/audio_output/pulse.c:164,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/pulse.c:165,1
    - Dst: memcpy
      Src: /src/vlc/modules/audio_output/pulse.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - i
    - eol
    - userdata
    argTypes:
    - pa_context*
    - pa_sink_info*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 172
    functionName: sink_add_cb
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 0
    functionsReached:
    - aout_HotplugReport
    - strlen
    - memcpy
    - msg_Dbg
    - pa_threaded_mainloop_signal
    - unlikely
    - malloc
    linkageType: ''
    returnType: void
    signature: "void sink_add_cb(pa_context *ctx, const pa_sink_info *i, int eol,\n
      \                       void *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/pulse.c:183,1
    - Dst: aout_HotplugReport
      Src: /src/vlc/modules/audio_output/pulse.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - i
    - eol
    - userdata
    argTypes:
    - pa_context*
    - pa_sink_info*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: sink_mod_cb
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 0
    functionsReached:
    - aout_HotplugReport
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: "void sink_mod_cb(pa_context *ctx, const pa_sink_info *i, int eol,\n
      \                       void *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/pulse.c:193,1
    - Dst: aout_HotplugReport
      Src: /src/vlc/modules/audio_output/pulse.c:199,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/pulse.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - index
    - aout
    argTypes:
    - uint32_t
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 204
    functionName: sink_del
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 0
    functionsReached:
    - free
    - aout_HotplugReport
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void sink_del(uint32_t index, audio_output_t *aout)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pa_context_get_sink_info_by_index
      Src: /src/vlc/modules/audio_output/pulse.c:214,1
    - Dst: pa_context_get_sink_info_by_index
      Src: /src/vlc/modules/audio_output/pulse.c:218,1
    - Dst: sink_del
      Src: /src/vlc/modules/audio_output/pulse.c:222,1
    - Dst: pa_operation_unref
      Src: /src/vlc/modules/audio_output/pulse.c:226,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - type
    - idx
    - aout
    argTypes:
    - pa_context*
    - unsigned
    - uint32_t
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 227
    functionName: sink_event
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 0
    functionsReached:
    - pa_context_get_sink_info_by_index
    - pa_operation_unref
    - sink_del
    linkageType: ''
    returnType: void
    signature: "void sink_event(pa_context *ctx, unsigned type, uint32_t idx,\n                       audio_output_t
      *aout)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pa_stream_cork
      Src: /src/vlc/modules/audio_output/pulse.c:235,1
    - Dst: pa_operation_unref
      Src: /src/vlc/modules/audio_output/pulse.c:237,1
    - Dst: pa_stream_trigger
      Src: /src/vlc/modules/audio_output/pulse.c:238,1
    - Dst: likely
      Src: /src/vlc/modules/audio_output/pulse.c:239,1
    - Dst: pa_operation_unref
      Src: /src/vlc/modules/audio_output/pulse.c:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - s
    - aout
    argTypes:
    - pa_stream*
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 243
    functionName: stream_start_now
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 0
    functionsReached:
    - pa_operation_unref
    - pa_stream_trigger
    - pa_stream_cork
    - likely
    linkageType: ''
    returnType: void
    signature: void stream_start_now(pa_stream *s, audio_output_t *aout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pa_stream_cork
      Src: /src/vlc/modules/audio_output/pulse.c:250,1
    - Dst: pa_operation_get_state
      Src: /src/vlc/modules/audio_output/pulse.c:253,1
    - Dst: pa_threaded_mainloop_wait
      Src: /src/vlc/modules/audio_output/pulse.c:254,1
    - Dst: pa_operation_unref
      Src: /src/vlc/modules/audio_output/pulse.c:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - s
    - aout
    argTypes:
    - pa_stream*
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 257
    functionName: stream_stop
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 0
    functionsReached:
    - pa_operation_unref
    - pa_threaded_mainloop_wait
    - pa_operation_get_state
    - pa_stream_cork
    linkageType: ''
    returnType: void
    signature: void stream_stop(pa_stream *s, audio_output_t *aout)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pa_stream_get_timing_info
      Src: /src/vlc/modules/audio_output/pulse.c:264,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/pulse.c:265,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/pulse.c:270,1
    - Dst: pa_stream_is_corked
      Src: /src/vlc/modules/audio_output/pulse.c:277,1
    - Dst: pa_stream_get_time
      Src: /src/vlc/modules/audio_output/pulse.c:281,1
    - Dst: pa_timeval_age
      Src: /src/vlc/modules/audio_output/pulse.c:285,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/audio_output/pulse.c:286,1
    - Dst: VLC_TICK_FROM_US
      Src: /src/vlc/modules/audio_output/pulse.c:287,1
    - Dst: pa_stream_get_sample_spec
      Src: /src/vlc/modules/audio_output/pulse.c:289,1
    - Dst: pa_bytes_to_usec
      Src: /src/vlc/modules/audio_output/pulse.c:291,1
    - Dst: likely
      Src: /src/vlc/modules/audio_output/pulse.c:294,1
    - Dst: VLC_TICK_FROM_US
      Src: /src/vlc/modules/audio_output/pulse.c:297,1
    - Dst: aout_TimingReport
      Src: /src/vlc/modules/audio_output/pulse.c:299,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/pulse.c:308,1
    - Dst: pa_bytes_to_usec
      Src: /src/vlc/modules/audio_output/pulse.c:308,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - s
    - userdata
    argTypes:
    - pa_stream*
    - void*
    assertStmts:
    - condition: (pa_bytes_to_usec(ti->read_index, ss) >= sys->flush_rt)
      pos:
        line_end: 307
        line_start: 307
        source_file: /src/vlc/modules/audio_output/pulse.c
    constantsTouched: []
    func_position:
      end: 311
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 311
    functionName: stream_latency_cb
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 0
    functionsReached:
    - pa_stream_is_corked
    - vlc_tick_now
    - pa_bytes_to_usec
    - assert
    - VLC_TICK_FROM_US
    - pa_stream_get_timing_info
    - unlikely
    - msg_Dbg
    - pa_timeval_age
    - likely
    - pa_stream_get_sample_spec
    - pa_stream_get_time
    - aout_TimingReport
    linkageType: ''
    returnType: void
    signature: void stream_latency_cb(pa_stream *s, void *userdata)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pa_stream_get_state
      Src: /src/vlc/modules/audio_output/pulse.c:319,1
    - Dst: pa_threaded_mainloop_signal
      Src: /src/vlc/modules/audio_output/pulse.c:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - s
    - userdata
    argTypes:
    - pa_stream*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 327
    functionName: stream_state_cb
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 0
    functionsReached:
    - pa_stream_get_state
    - pa_threaded_mainloop_signal
    linkageType: ''
    returnType: void
    signature: void stream_state_cb(pa_stream *s, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pa_stream_get_buffer_attr
      Src: /src/vlc/modules/audio_output/pulse.c:332,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/pulse.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - userdata
    argTypes:
    - pa_stream*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 337
    functionName: stream_buffer_attr_cb
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 2
    functionsReached:
    - msg_Dbg
    - pa_stream_get_buffer_attr
    linkageType: ''
    returnType: void
    signature: void stream_buffer_attr_cb(pa_stream *s, void *userdata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/audio_output/pulse.c:344,1
    - Dst: aout_PolicyReport
      Src: /src/vlc/modules/audio_output/pulse.c:345,1
    - Dst: strcmp
      Src: /src/vlc/modules/audio_output/pulse.c:347,1
    - Dst: aout_PolicyReport
      Src: /src/vlc/modules/audio_output/pulse.c:348,1
    - Dst: strcmp
      Src: /src/vlc/modules/audio_output/pulse.c:351,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/pulse.c:352,1
    - Dst: aout_RestartRequest
      Src: /src/vlc/modules/audio_output/pulse.c:353,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/pulse.c:355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - s
    - name
    - pl
    - userdata
    argTypes:
    - pa_stream*
    - char*
    - pa_proplist*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 358
    functionName: stream_event_cb
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 0
    functionsReached:
    - aout_PolicyReport
    - strcmp
    - msg_Dbg
    - msg_Warn
    - aout_RestartRequest
    linkageType: ''
    returnType: void
    signature: "void stream_event_cb(pa_stream *s, const char *name, pa_proplist *pl,\n
      \                           void *userdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pa_stream_get_device_name
      Src: /src/vlc/modules/audio_output/pulse.c:363,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/pulse.c:365,1
    - Dst: aout_DeviceReport
      Src: /src/vlc/modules/audio_output/pulse.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - userdata
    argTypes:
    - pa_stream*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 367
    functionName: stream_moved_cb
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 0
    functionsReached:
    - pa_stream_get_device_name
    - msg_Dbg
    - aout_DeviceReport
    linkageType: ''
    returnType: void
    signature: void stream_moved_cb(pa_stream *s, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/pulse.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - userdata
    argTypes:
    - pa_stream*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 375
    functionName: stream_overflow_cb
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 0
    functionsReached:
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void stream_overflow_cb(pa_stream *s, void *userdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_output/pulse.c:380,1
    - Dst: pa_stream_drain
      Src: /src/vlc/modules/audio_output/pulse.c:385,1
    - Dst: pa_operation_unref
      Src: /src/vlc/modules/audio_output/pulse.c:387,1
    - Dst: stream_get_interpolated_latency
      Src: /src/vlc/modules/audio_output/pulse.c:394,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/audio_output/pulse.c:394,1
    - Dst: pa_rtclock_now
      Src: /src/vlc/modules/audio_output/pulse.c:396,1
    - Dst: pa_context_rttime_new
      Src: /src/vlc/modules/audio_output/pulse.c:397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - s
    - aout
    argTypes:
    - pa_stream*
    - audio_output_t*
    assertStmts:
    - condition: (sys->draining)
      pos:
        line_end: 379
        line_start: 379
        source_file: /src/vlc/modules/audio_output/pulse.c
    constantsTouched: []
    func_position:
      end: 399
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 399
    functionName: stream_drain
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 1
    functionsReached:
    - vlc_tick_now
    - assert
    - pa_operation_unref
    - pa_rtclock_now
    - pa_context_rttime_new
    - stream_get_interpolated_latency
    - pa_stream_drain
    linkageType: ''
    returnType: void
    signature: void stream_drain(pa_stream *s, audio_output_t *aout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/audio_output/pulse.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 404
    functionName: data_free
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 0
    functionsReached:
    - block_Release
    linkageType: ''
    returnType: void
    signature: void data_free(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 409
    functionName: noop_free
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void noop_free(void *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/pulse.c:419,1
    - Dst: pa_stream_write_ext_free
      Src: /src/vlc/modules/audio_output/pulse.c:447,1
    - Dst: vlc_pa_error
      Src: /src/vlc/modules/audio_output/pulse.c:449,1
    - Dst: free_cb
      Src: /src/vlc/modules/audio_output/pulse.c:450,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - s
    - aout
    - nbytes
    argTypes:
    - pa_stream*
    - audio_output_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 459
    functionName: stream_write
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 4
    functionsReached:
    - pa_stream_write_ext_free
    - free_cb
    - unlikely
    - vlc_pa_error
    linkageType: ''
    returnType: size_t
    signature: size_t stream_write(pa_stream *s, audio_output_t *aout, size_t nbytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pa_stream_begin_write
      Src: /src/vlc/modules/audio_output/pulse.c:466,1
    - Dst: vlc_pa_error
      Src: /src/vlc/modules/audio_output/pulse.c:468,1
    - Dst: memset
      Src: /src/vlc/modules/audio_output/pulse.c:472,1
    - Dst: pa_stream_write
      Src: /src/vlc/modules/audio_output/pulse.c:474,1
    - Dst: vlc_pa_error
      Src: /src/vlc/modules/audio_output/pulse.c:476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - s
    - aout
    - len
    argTypes:
    - pa_stream*
    - audio_output_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 481
    functionName: stream_silence
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 0
    functionsReached:
    - pa_stream_write
    - memset
    - vlc_pa_error
    - pa_stream_begin_write
    linkageType: ''
    returnType: size_t
    signature: size_t stream_silence(pa_stream *s, audio_output_t *aout, size_t len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/pulse.c:490,1
    - Dst: pa_stream_is_corked
      Src: /src/vlc/modules/audio_output/pulse.c:490,1
    - Dst: likely
      Src: /src/vlc/modules/audio_output/pulse.c:498,1
    - Dst: pa_stream_get_sample_spec
      Src: /src/vlc/modules/audio_output/pulse.c:500,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/audio_output/pulse.c:502,1
    - Dst: stream_get_interpolated_latency
      Src: /src/vlc/modules/audio_output/pulse.c:503,1
    - Dst: pa_usec_to_bytes
      Src: /src/vlc/modules/audio_output/pulse.c:509,1
    - Dst: stream_silence
      Src: /src/vlc/modules/audio_output/pulse.c:519,1
    - Dst: stream_write
      Src: /src/vlc/modules/audio_output/pulse.c:530,1
    - Dst: stream_drain
      Src: /src/vlc/modules/audio_output/pulse.c:533,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - s
    - nbytes
    - userdata
    argTypes:
    - pa_stream*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 483
    functionDepth: 3
    functionLinenumber: 483
    functionLinenumberEnd: 534
    functionName: stream_write_cb
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 0
    functionsReached:
    - pa_stream_is_corked
    - vlc_tick_now
    - stream_silence
    - stream_get_interpolated_latency
    - stream_drain
    - likely
    - pa_usec_to_bytes
    - pa_stream_get_sample_spec
    - unlikely
    - stream_write
    linkageType: ''
    returnType: void
    signature: void stream_write_cb(pa_stream *s, size_t nbytes, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/pulse.c:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - userdata
    argTypes:
    - pa_stream*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 542
    functionName: stream_started_cb
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void stream_started_cb(pa_stream *s, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/pulse.c:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - userdata
    argTypes:
    - pa_stream*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 550
    functionName: stream_suspended_cb
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void stream_suspended_cb(pa_stream *s, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/pulse.c:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - userdata
    argTypes:
    - pa_stream*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 558
    functionName: stream_underflow_cb
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void stream_underflow_cb(pa_stream *s, void *userdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pa_stream_get_state
      Src: /src/vlc/modules/audio_output/pulse.c:564,1
    - Dst: pa_threaded_mainloop_wait
      Src: /src/vlc/modules/audio_output/pulse.c:567,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - stream
    - mainloop
    argTypes:
    - pa_stream*
    - pa_threaded_mainloop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 570
    functionName: stream_wait
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 1
    functionsReached:
    - pa_threaded_mainloop_wait
    - pa_stream_get_state
    linkageType: ''
    returnType: int
    signature: int stream_wait(pa_stream *stream, pa_threaded_mainloop *mainloop)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VolumeReport
      Src: /src/vlc/modules/audio_output/pulse.c:585,1
    - Dst: aout_MuteReport
      Src: /src/vlc/modules/audio_output/pulse.c:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - i
    - eol
    - userdata
    argTypes:
    - pa_context*
    - pa_sink_input_info*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 587
    functionName: sink_input_info_cb
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 0
    functionsReached:
    - VolumeReport
    - aout_MuteReport
    linkageType: ''
    returnType: void
    signature: "void sink_input_info_cb(pa_context *ctx, const pa_sink_input_info
      *i,\n                               int eol, void *userdata)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/pulse.c:599,1
    - Dst: pa_context_get_sink_input_info
      Src: /src/vlc/modules/audio_output/pulse.c:603,1
    - Dst: likely
      Src: /src/vlc/modules/audio_output/pulse.c:605,1
    - Dst: pa_operation_unref
      Src: /src/vlc/modules/audio_output/pulse.c:606,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - type
    - idx
    - aout
    argTypes:
    - pa_context*
    - pa_subscription_event_type_t
    - uint32_t
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 609
    functionName: sink_input_event
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 0
    functionsReached:
    - pa_context_get_sink_input_info
    - pa_operation_unref
    - likely
    - msg_Err
    linkageType: ''
    returnType: void
    signature: "void sink_input_event(pa_context *ctx,\n                             pa_subscription_event_type_t
      type,\n                             uint32_t idx, audio_output_t *aout)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sink_event
      Src: /src/vlc/modules/audio_output/pulse.c:624,1
    - Dst: pa_stream_get_index
      Src: /src/vlc/modules/audio_output/pulse.c:629,1
    - Dst: sink_input_event
      Src: /src/vlc/modules/audio_output/pulse.c:630,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/audio_output/pulse.c:634,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - type
    - idx
    - userdata
    argTypes:
    - pa_context*
    - pa_subscription_event_type_t
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 613
    functionDepth: 3
    functionLinenumber: 613
    functionLinenumberEnd: 636
    functionName: context_cb
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 0
    functionsReached:
    - pa_stream_get_index
    - sink_input_event
    - vlc_assert_unreachable
    - sink_event
    linkageType: ''
    returnType: void
    signature: "void context_cb(pa_context *ctx, pa_subscription_event_type_t type,\n
      \                      uint32_t idx, void *userdata)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pa_threaded_mainloop_lock
      Src: /src/vlc/modules/audio_output/pulse.c:654,1
    - Dst: pa_stream_get_sample_spec
      Src: /src/vlc/modules/audio_output/pulse.c:656,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/audio_output/pulse.c:663,1
    - Dst: pa_bytes_to_usec
      Src: /src/vlc/modules/audio_output/pulse.c:665,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/pulse.c:668,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/pulse.c:671,1
    - Dst: pa_stream_is_corked
      Src: /src/vlc/modules/audio_output/pulse.c:674,1
    - Dst: stream_start_now
      Src: /src/vlc/modules/audio_output/pulse.c:675,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/audio_output/pulse.c:678,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/pulse.c:684,1
    - Dst: pa_operation_unref
      Src: /src/vlc/modules/audio_output/pulse.c:685,1
    - Dst: pa_stream_flush
      Src: /src/vlc/modules/audio_output/pulse.c:685,1
    - Dst: pa_threaded_mainloop_unlock
      Src: /src/vlc/modules/audio_output/pulse.c:688,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - aout
    - block
    - date
    argTypes:
    - audio_output_t*
    - block_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 644
    functionDepth: 2
    functionLinenumber: 644
    functionLinenumberEnd: 689
    functionName: Play
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 21
    functionsReached:
    - pa_bytes_to_usec
    - vlc_tick_now
    - pa_stream_is_corked
    - pa_operation_unref
    - stream_start_now
    - block_ChainLastAppend
    - msg_Err
    - pa_stream_flush
    - msg_Dbg
    - pa_threaded_mainloop_lock
    - pa_stream_get_sample_spec
    - pa_threaded_mainloop_unlock
    linkageType: ''
    returnType: void
    signature: void Play(audio_output_t *aout, block_t *block, vlc_tick_t date)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pa_threaded_mainloop_lock
      Src: /src/vlc/modules/audio_output/pulse.c:699,1
    - Dst: pa_stream_set_latency_update_callback
      Src: /src/vlc/modules/audio_output/pulse.c:702,1
    - Dst: stream_stop
      Src: /src/vlc/modules/audio_output/pulse.c:703,1
    - Dst: pa_stream_set_latency_update_callback
      Src: /src/vlc/modules/audio_output/pulse.c:705,1
    - Dst: stream_start_now
      Src: /src/vlc/modules/audio_output/pulse.c:706,1
    - Dst: pa_threaded_mainloop_unlock
      Src: /src/vlc/modules/audio_output/pulse.c:709,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - aout
    - paused
    - date
    argTypes:
    - audio_output_t*
    - bool
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 694
    functionDepth: 2
    functionLinenumber: 694
    functionLinenumberEnd: 711
    functionName: Pause
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 25
    functionsReached:
    - stream_stop
    - stream_start_now
    - pa_stream_set_latency_update_callback
    - pa_threaded_mainloop_lock
    - pa_threaded_mainloop_unlock
    linkageType: ''
    returnType: void
    signature: void Pause(audio_output_t *aout, bool paused, vlc_tick_t date)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pa_threaded_mainloop_lock
      Src: /src/vlc/modules/audio_output/pulse.c:721,1
    - Dst: vlc_pa_rttime_free
      Src: /src/vlc/modules/audio_output/pulse.c:725,1
    - Dst: pa_stream_flush
      Src: /src/vlc/modules/audio_output/pulse.c:730,1
    - Dst: pa_operation_unref
      Src: /src/vlc/modules/audio_output/pulse.c:732,1
    - Dst: stream_stop
      Src: /src/vlc/modules/audio_output/pulse.c:734,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/audio_output/pulse.c:736,1
    - Dst: pa_stream_get_sample_spec
      Src: /src/vlc/modules/audio_output/pulse.c:746,1
    - Dst: pa_stream_get_timing_info
      Src: /src/vlc/modules/audio_output/pulse.c:747,1
    - Dst: pa_bytes_to_usec
      Src: /src/vlc/modules/audio_output/pulse.c:749,1
    - Dst: pa_threaded_mainloop_unlock
      Src: /src/vlc/modules/audio_output/pulse.c:752,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 753
    functionName: Flush
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 64
    functionsReached:
    - pa_bytes_to_usec
    - pa_operation_unref
    - block_ChainRelease
    - stream_stop
    - pa_stream_get_timing_info
    - vlc_pa_rttime_free
    - pa_stream_flush
    - pa_threaded_mainloop_lock
    - pa_stream_get_sample_spec
    - pa_threaded_mainloop_unlock
    linkageType: ''
    returnType: void
    signature: void Flush(audio_output_t *aout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pa_threaded_mainloop_lock
      Src: /src/vlc/modules/audio_output/pulse.c:760,1
    - Dst: stream_drain
      Src: /src/vlc/modules/audio_output/pulse.c:764,1
    - Dst: pa_threaded_mainloop_unlock
      Src: /src/vlc/modules/audio_output/pulse.c:766,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 755
    functionDepth: 3
    functionLinenumber: 755
    functionLinenumberEnd: 767
    functionName: Drain
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 4
    functionsReached:
    - stream_drain
    - pa_threaded_mainloop_lock
    - pa_threaded_mainloop_unlock
    linkageType: ''
    returnType: void
    signature: void Drain(audio_output_t *aout)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/pulse.c:780,1
    - Dst: lroundf
      Src: /src/vlc/modules/audio_output/pulse.c:783,1
    - Dst: aout_VolumeReport
      Src: /src/vlc/modules/audio_output/pulse.c:788,1
    - Dst: pa_threaded_mainloop_lock
      Src: /src/vlc/modules/audio_output/pulse.c:792,1
    - Dst: pa_cvolume_valid
      Src: /src/vlc/modules/audio_output/pulse.c:794,1
    - Dst: pa_stream_get_sample_spec
      Src: /src/vlc/modules/audio_output/pulse.c:796,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/pulse.c:798,1
    - Dst: pa_cvolume_set
      Src: /src/vlc/modules/audio_output/pulse.c:799,1
    - Dst: pa_cvolume_scale
      Src: /src/vlc/modules/audio_output/pulse.c:804,1
    - Dst: pa_sw_cvolume_multiply_scalar
      Src: /src/vlc/modules/audio_output/pulse.c:805,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/pulse.c:806,1
    - Dst: pa_cvolume_valid
      Src: /src/vlc/modules/audio_output/pulse.c:806,1
    - Dst: pa_context_set_sink_input_volume
      Src: /src/vlc/modules/audio_output/pulse.c:808,1
    - Dst: pa_stream_get_index
      Src: /src/vlc/modules/audio_output/pulse.c:808,1
    - Dst: likely
      Src: /src/vlc/modules/audio_output/pulse.c:810,1
    - Dst: pa_operation_unref
      Src: /src/vlc/modules/audio_output/pulse.c:811,1
    - Dst: pa_threaded_mainloop_unlock
      Src: /src/vlc/modules/audio_output/pulse.c:812,1
    - Dst: likely
      Src: /src/vlc/modules/audio_output/pulse.c:813,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - aout
    - vol
    argTypes:
    - audio_output_t*
    - float
    assertStmts:
    - condition: (pa_cvolume_valid(&cvolume))
      pos:
        line_end: 805
        line_start: 805
        source_file: /src/vlc/modules/audio_output/pulse.c
    constantsTouched: []
    func_position:
      end: 814
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 814
    functionName: VolumeSet
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 0
    functionsReached:
    - aout_VolumeReport
    - pa_cvolume_scale
    - pa_cvolume_set
    - assert
    - pa_cvolume_valid
    - pa_operation_unref
    - pa_stream_get_index
    - pa_sw_cvolume_multiply_scalar
    - likely
    - pa_threaded_mainloop_lock
    - msg_Warn
    - pa_context_set_sink_input_volume
    - pa_stream_get_sample_spec
    - unlikely
    - lroundf
    - pa_threaded_mainloop_unlock
    linkageType: ''
    returnType: int
    signature: int VolumeSet(audio_output_t *aout, float vol)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: aout_MuteReport
      Src: /src/vlc/modules/audio_output/pulse.c:825,1
    - Dst: pa_stream_get_index
      Src: /src/vlc/modules/audio_output/pulse.c:830,1
    - Dst: pa_threaded_mainloop_lock
      Src: /src/vlc/modules/audio_output/pulse.c:831,1
    - Dst: pa_context_set_sink_input_mute
      Src: /src/vlc/modules/audio_output/pulse.c:832,1
    - Dst: likely
      Src: /src/vlc/modules/audio_output/pulse.c:833,1
    - Dst: pa_operation_unref
      Src: /src/vlc/modules/audio_output/pulse.c:834,1
    - Dst: pa_threaded_mainloop_unlock
      Src: /src/vlc/modules/audio_output/pulse.c:835,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - aout
    - mute
    argTypes:
    - audio_output_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 838
    functionName: MuteSet
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 0
    functionsReached:
    - pa_operation_unref
    - aout_MuteReport
    - pa_stream_get_index
    - pa_context_set_sink_input_mute
    - likely
    - pa_threaded_mainloop_lock
    - pa_threaded_mainloop_unlock
    linkageType: ''
    returnType: int
    signature: int MuteSet(audio_output_t *aout, bool mute)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/pulse.c:846,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/pulse.c:847,1
    - Dst: strdup
      Src: /src/vlc/modules/audio_output/pulse.c:848,1
    - Dst: aout_DeviceReport
      Src: /src/vlc/modules/audio_output/pulse.c:849,1
    - Dst: pa_stream_get_index
      Src: /src/vlc/modules/audio_output/pulse.c:854,1
    - Dst: pa_threaded_mainloop_lock
      Src: /src/vlc/modules/audio_output/pulse.c:856,1
    - Dst: pa_context_move_sink_input_by_name
      Src: /src/vlc/modules/audio_output/pulse.c:857,1
    - Dst: likely
      Src: /src/vlc/modules/audio_output/pulse.c:859,1
    - Dst: pa_operation_unref
      Src: /src/vlc/modules/audio_output/pulse.c:860,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/pulse.c:861,1
    - Dst: vlc_pa_error
      Src: /src/vlc/modules/audio_output/pulse.c:863,1
    - Dst: pa_threaded_mainloop_unlock
      Src: /src/vlc/modules/audio_output/pulse.c:864,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - aout
    - name
    argTypes:
    - audio_output_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 840
    functionDepth: 1
    functionLinenumber: 840
    functionLinenumberEnd: 867
    functionName: StreamMove
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 0
    functionsReached:
    - strdup
    - pa_operation_unref
    - pa_context_move_sink_input_by_name
    - pa_stream_get_index
    - vlc_pa_error
    - free
    - msg_Dbg
    - likely
    - aout_DeviceReport
    - pa_threaded_mainloop_lock
    - pa_threaded_mainloop_unlock
    linkageType: ''
    returnType: int
    signature: int StreamMove(audio_output_t *aout, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/audio_output/pulse.c:874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 875
    functionName: strcmp_void
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int strcmp_void(const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/vlc/modules/audio_output/pulse.c:880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - table
    - n
    argTypes:
    - char*
    - char*[][]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 882
    functionName: str_map
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 0
    functionsReached:
    - bsearch
    linkageType: ''
    returnType: char
    signature: "char *str_map(const char *key, const char *const table[][2],\n                           size_t
      n)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: AOUT_FMT_LINEAR
      Src: /src/vlc/modules/audio_output/pulse.c:944,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_output/pulse.c:944,1
    - Dst: pa_sample_spec_valid
      Src: /src/vlc/modules/audio_output/pulse.c:962,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/pulse.c:963,1
    - Dst: pa_usec_to_bytes
      Src: /src/vlc/modules/audio_output/pulse.c:979,1
    - Dst: pa_usec_to_bytes
      Src: /src/vlc/modules/audio_output/pulse.c:981,1
    - Dst: PA_VOLUME_IS_VALID
      Src: /src/vlc/modules/audio_output/pulse.c:985,1
    - Dst: pa_cvolume_set
      Src: /src/vlc/modules/audio_output/pulse.c:988,1
    - Dst: pa_cvolume_init
      Src: /src/vlc/modules/audio_output/pulse.c:993,1
    - Dst: pa_format_info_new
      Src: /src/vlc/modules/audio_output/pulse.c:1006,1
    - Dst: pa_format_info_set_rate
      Src: /src/vlc/modules/audio_output/pulse.c:1008,1
    - Dst: pa_format_info_set_sample_format
      Src: /src/vlc/modules/audio_output/pulse.c:1010,1
    - Dst: pa_usec_to_bytes
      Src: /src/vlc/modules/audio_output/pulse.c:1019,1
    - Dst: pa_format_info_set_channels
      Src: /src/vlc/modules/audio_output/pulse.c:1024,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/pulse.c:1066,1
    - Dst: pa_channel_map_valid
      Src: /src/vlc/modules/audio_output/pulse.c:1069,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/pulse.c:1070,1
    - Dst: pa_channel_map_to_name
      Src: /src/vlc/modules/audio_output/pulse.c:1073,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/pulse.c:1074,1
    - Dst: pa_format_info_set_channels
      Src: /src/vlc/modules/audio_output/pulse.c:1077,1
    - Dst: pa_format_info_set_channel_map
      Src: /src/vlc/modules/audio_output/pulse.c:1078,1
    - Dst: pa_proplist_new
      Src: /src/vlc/modules/audio_output/pulse.c:1082,1
    - Dst: likely
      Src: /src/vlc/modules/audio_output/pulse.c:1083,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/audio_output/pulse.c:1086,1
    - Dst: str_map
      Src: /src/vlc/modules/audio_output/pulse.c:1100,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/audio_output/pulse.c:1100,1
    - Dst: pa_proplist_sets
      Src: /src/vlc/modules/audio_output/pulse.c:1102,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/pulse.c:1103,1
    - Dst: pa_threaded_mainloop_lock
      Src: /src/vlc/modules/audio_output/pulse.c:1107,1
    - Dst: pa_stream_new_extended
      Src: /src/vlc/modules/audio_output/pulse.c:1108,1
    - Dst: likely
      Src: /src/vlc/modules/audio_output/pulse.c:1111,1
    - Dst: pa_proplist_free
      Src: /src/vlc/modules/audio_output/pulse.c:1112,1
    - Dst: pa_format_info_free
      Src: /src/vlc/modules/audio_output/pulse.c:1113,1
    - Dst: pa_threaded_mainloop_unlock
      Src: /src/vlc/modules/audio_output/pulse.c:1116,1
    - Dst: vlc_pa_error
      Src: /src/vlc/modules/audio_output/pulse.c:1117,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/pulse.c:1120,1
    - Dst: pa_stream_set_state_callback
      Src: /src/vlc/modules/audio_output/pulse.c:1122,1
    - Dst: pa_stream_set_buffer_attr_callback
      Src: /src/vlc/modules/audio_output/pulse.c:1123,1
    - Dst: pa_stream_set_event_callback
      Src: /src/vlc/modules/audio_output/pulse.c:1124,1
    - Dst: pa_stream_set_latency_update_callback
      Src: /src/vlc/modules/audio_output/pulse.c:1125,1
    - Dst: pa_stream_set_moved_callback
      Src: /src/vlc/modules/audio_output/pulse.c:1126,1
    - Dst: pa_stream_set_overflow_callback
      Src: /src/vlc/modules/audio_output/pulse.c:1127,1
    - Dst: pa_stream_set_write_callback
      Src: /src/vlc/modules/audio_output/pulse.c:1128,1
    - Dst: pa_stream_set_started_callback
      Src: /src/vlc/modules/audio_output/pulse.c:1129,1
    - Dst: pa_stream_set_suspended_callback
      Src: /src/vlc/modules/audio_output/pulse.c:1130,1
    - Dst: pa_stream_set_underflow_callback
      Src: /src/vlc/modules/audio_output/pulse.c:1131,1
    - Dst: pa_stream_connect_playback
      Src: /src/vlc/modules/audio_output/pulse.c:1133,1
    - Dst: stream_wait
      Src: /src/vlc/modules/audio_output/pulse.c:1135,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/pulse.c:1137,1
    - Dst: vlc_pa_error
      Src: /src/vlc/modules/audio_output/pulse.c:1139,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/pulse.c:1144,1
    - Dst: pa_stream_get_sample_spec
      Src: /src/vlc/modules/audio_output/pulse.c:1149,1
    - Dst: stream_buffer_attr_cb
      Src: /src/vlc/modules/audio_output/pulse.c:1153,1
    - Dst: stream_moved_cb
      Src: /src/vlc/modules/audio_output/pulse.c:1154,1
    - Dst: pa_threaded_mainloop_unlock
      Src: /src/vlc/modules/audio_output/pulse.c:1155,1
    - Dst: pa_threaded_mainloop_unlock
      Src: /src/vlc/modules/audio_output/pulse.c:1160,1
    - Dst: Stop
      Src: /src/vlc/modules/audio_output/pulse.c:1161,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 181
    argCount: 2
    argNames:
    - aout
    - fmt
    argTypes:
    - audio_output_t*
    - audio_sample_format_t*
    assertStmts:
    - condition: (sys->stream == NULL)
      pos:
        line_end: 1119
        line_start: 1119
        source_file: /src/vlc/modules/audio_output/pulse.c
    constantsTouched: []
    func_position:
      end: 1163
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 1163
    functionName: Start
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 59
    functionsReached:
    - assert
    - pa_stream_set_write_callback
    - pa_stream_new_extended
    - pa_format_info_set_channel_map
    - PA_VOLUME_IS_VALID
    - pa_stream_set_started_callback
    - pa_stream_set_latency_update_callback
    - pa_format_info_set_rate
    - pa_format_info_set_sample_format
    - pa_sample_spec_valid
    - pa_proplist_new
    - pa_threaded_mainloop_lock
    - pa_stream_set_underflow_callback
    - pa_threaded_mainloop_unlock
    - ARRAY_SIZE
    - pa_stream_set_moved_callback
    - pa_stream_set_event_callback
    - vlc_pa_error
    - pa_stream_set_buffer_attr_callback
    - msg_Err
    - pa_format_info_new
    - msg_Dbg
    - msg_Warn
    - pa_cvolume_init
    - aout_FormatNbChannels
    - pa_stream_set_overflow_callback
    - pa_proplist_sets
    - pa_format_info_set_channels
    - pa_stream_set_suspended_callback
    - stream_buffer_attr_cb
    - pa_channel_map_to_name
    - likely
    - pa_proplist_free
    - pa_usec_to_bytes
    - pa_stream_get_sample_spec
    - str_map
    - pa_cvolume_set
    - var_InheritString
    - AOUT_FMT_LINEAR
    - pa_format_info_free
    - stream_moved_cb
    - free
    - pa_stream_set_state_callback
    - pa_channel_map_valid
    - stream_wait
    - pa_stream_connect_playback
    - Stop
    linkageType: ''
    returnType: int
    signature: int Start(audio_output_t *aout, audio_sample_format_t *restrict fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/pulse.c:1170,1
    - Dst: strcasestr
      Src: /src/vlc/modules/audio_output/pulse.c:1175,1
    - Dst: pa_threaded_mainloop_signal
      Src: /src/vlc/modules/audio_output/pulse.c:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - info
    - userdata
    argTypes:
    - pa_context*
    - pa_server_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1165
    functionDepth: 1
    functionLinenumber: 1165
    functionLinenumberEnd: 1180
    functionName: server_info_cb
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 0
    functionsReached:
    - strcasestr
    - msg_Dbg
    - pa_threaded_mainloop_signal
    linkageType: ''
    returnType: void
    signature: "void server_info_cb(pa_context *ctx, const pa_server_info *info,\n
      \                          void *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pa_threaded_mainloop_lock
      Src: /src/vlc/modules/audio_output/pulse.c:1190,1
    - Dst: vlc_pa_rttime_free
      Src: /src/vlc/modules/audio_output/pulse.c:1192,1
    - Dst: pa_stream_disconnect
      Src: /src/vlc/modules/audio_output/pulse.c:1193,1
    - Dst: pa_stream_set_state_callback
      Src: /src/vlc/modules/audio_output/pulse.c:1196,1
    - Dst: pa_stream_set_buffer_attr_callback
      Src: /src/vlc/modules/audio_output/pulse.c:1197,1
    - Dst: pa_stream_set_event_callback
      Src: /src/vlc/modules/audio_output/pulse.c:1198,1
    - Dst: pa_stream_set_latency_update_callback
      Src: /src/vlc/modules/audio_output/pulse.c:1199,1
    - Dst: pa_stream_set_moved_callback
      Src: /src/vlc/modules/audio_output/pulse.c:1200,1
    - Dst: pa_stream_set_overflow_callback
      Src: /src/vlc/modules/audio_output/pulse.c:1201,1
    - Dst: pa_stream_set_write_callback
      Src: /src/vlc/modules/audio_output/pulse.c:1202,1
    - Dst: pa_stream_set_started_callback
      Src: /src/vlc/modules/audio_output/pulse.c:1203,1
    - Dst: pa_stream_set_suspended_callback
      Src: /src/vlc/modules/audio_output/pulse.c:1204,1
    - Dst: pa_stream_set_underflow_callback
      Src: /src/vlc/modules/audio_output/pulse.c:1205,1
    - Dst: pa_stream_unref
      Src: /src/vlc/modules/audio_output/pulse.c:1207,1
    - Dst: pa_threaded_mainloop_unlock
      Src: /src/vlc/modules/audio_output/pulse.c:1209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1185
    functionDepth: 1
    functionLinenumber: 1185
    functionLinenumberEnd: 1210
    functionName: Stop
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 42
    functionsReached:
    - pa_stream_disconnect
    - pa_stream_set_write_callback
    - pa_stream_set_suspended_callback
    - pa_stream_set_moved_callback
    - pa_stream_set_event_callback
    - pa_stream_set_started_callback
    - pa_stream_set_buffer_attr_callback
    - pa_stream_set_latency_update_callback
    - pa_stream_unref
    - vlc_pa_rttime_free
    - pa_stream_set_state_callback
    - pa_threaded_mainloop_lock
    - pa_stream_set_underflow_callback
    - pa_stream_set_overflow_callback
    - pa_threaded_mainloop_unlock
    linkageType: ''
    returnType: void
    signature: void Stop(audio_output_t *aout)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/audio_output/pulse.c:1215,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/pulse.c:1218,1
    - Dst: vlc_pa_connect
      Src: /src/vlc/modules/audio_output/pulse.c:1222,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/pulse.c:1225,1
    - Dst: pa_threaded_mainloop_lock
      Src: /src/vlc/modules/audio_output/pulse.c:1249,1
    - Dst: pa_context_get_server_info
      Src: /src/vlc/modules/audio_output/pulse.c:1250,1
    - Dst: likely
      Src: /src/vlc/modules/audio_output/pulse.c:1251,1
    - Dst: pa_operation_get_state
      Src: /src/vlc/modules/audio_output/pulse.c:1256,1
    - Dst: pa_threaded_mainloop_wait
      Src: /src/vlc/modules/audio_output/pulse.c:1257,1
    - Dst: module_exists
      Src: /src/vlc/modules/audio_output/pulse.c:1258,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/pulse.c:1259,1
    - Dst: pa_threaded_mainloop_unlock
      Src: /src/vlc/modules/audio_output/pulse.c:1260,1
    - Dst: vlc_pa_disconnect
      Src: /src/vlc/modules/audio_output/pulse.c:1261,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/pulse.c:1262,1
    - Dst: pa_operation_unref
      Src: /src/vlc/modules/audio_output/pulse.c:1267,1
    - Dst: pa_context_get_sink_info_list
      Src: /src/vlc/modules/audio_output/pulse.c:1271,1
    - Dst: likely
      Src: /src/vlc/modules/audio_output/pulse.c:1272,1
    - Dst: pa_operation_get_state
      Src: /src/vlc/modules/audio_output/pulse.c:1274,1
    - Dst: pa_threaded_mainloop_wait
      Src: /src/vlc/modules/audio_output/pulse.c:1275,1
    - Dst: pa_operation_unref
      Src: /src/vlc/modules/audio_output/pulse.c:1276,1
    - Dst: pa_context_set_subscribe_callback
      Src: /src/vlc/modules/audio_output/pulse.c:1282,1
    - Dst: pa_context_subscribe
      Src: /src/vlc/modules/audio_output/pulse.c:1283,1
    - Dst: likely
      Src: /src/vlc/modules/audio_output/pulse.c:1284,1
    - Dst: pa_operation_unref
      Src: /src/vlc/modules/audio_output/pulse.c:1285,1
    - Dst: pa_threaded_mainloop_unlock
      Src: /src/vlc/modules/audio_output/pulse.c:1286,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 52
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1212
    functionDepth: 3
    functionLinenumber: 1212
    functionLinenumberEnd: 1289
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 49
    functionsReached:
    - vlc_pa_disconnect
    - pa_threaded_mainloop_unlock
    - pa_operation_unref
    - pa_context_subscribe
    - pa_context_set_subscribe_callback
    - unlikely
    - module_exists
    - pa_context_get_sink_info_list
    - free
    - pa_threaded_mainloop_wait
    - msg_Dbg
    - likely
    - pa_threaded_mainloop_lock
    - pa_operation_get_state
    - vlc_pa_connect
    - malloc
    - pa_context_get_server_info
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pa_threaded_mainloop_lock
      Src: /src/vlc/modules/audio_output/pulse.c:1297,1
    - Dst: pa_context_set_subscribe_callback
      Src: /src/vlc/modules/audio_output/pulse.c:1298,1
    - Dst: pa_threaded_mainloop_unlock
      Src: /src/vlc/modules/audio_output/pulse.c:1299,1
    - Dst: vlc_pa_disconnect
      Src: /src/vlc/modules/audio_output/pulse.c:1300,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/pulse.c:1305,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/pulse.c:1307,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/pulse.c:1308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1291
    functionDepth: 1
    functionLinenumber: 1291
    functionLinenumberEnd: 1309
    functionName: Close
    functionSourceFile: /src/vlc/modules/audio_output/pulse.c
    functionUses: 141
    functionsReached:
    - vlc_pa_disconnect
    - pa_context_set_subscribe_callback
    - free
    - pa_threaded_mainloop_lock
    - pa_threaded_mainloop_unlock
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/audio_output/mmdevice.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - aout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: aout_stream_owner
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.h
    functionUses: 0
    functionsReached:
    - container_of
    linkageType: ''
    returnType: struct aout_stream_owner
    signature: struct aout_stream_owner *aout_stream_owner(aout_stream_t *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct aout_stream_owner*::s::stop
      Src: /src/vlc/modules/audio_output/mmdevice.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - owner
    argTypes:
    - struct aout_stream_owner*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: aout_stream_owner_Stop
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.h
    functionUses: 1
    functionsReached:
    - struct aout_stream_owner*::s::stop
    linkageType: ''
    returnType: void
    signature: void aout_stream_owner_Stop(struct aout_stream_owner *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct aout_stream_owner*::s::play
      Src: /src/vlc/modules/audio_output/mmdevice.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - owner
    - block
    - date
    argTypes:
    - struct aout_stream_owner*
    - block_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: aout_stream_owner_Play
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.h
    functionUses: 0
    functionsReached:
    - struct aout_stream_owner*::s::play
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT aout_stream_owner_Play(struct aout_stream_owner *owner,\n
      \                              block_t *block, vlc_tick_t date)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct aout_stream_owner*::s::pause
      Src: /src/vlc/modules/audio_output/mmdevice.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - owner
    - paused
    argTypes:
    - struct aout_stream_owner*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: aout_stream_owner_Pause
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.h
    functionUses: 1
    functionsReached:
    - struct aout_stream_owner*::s::pause
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT aout_stream_owner_Pause(struct aout_stream_owner *owner, bool
      paused)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/audio_output/mmdevice.h:106,1
    - Dst: struct aout_stream_owner*::s::flush
      Src: /src/vlc/modules/audio_output/mmdevice.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - owner
    argTypes:
    - struct aout_stream_owner*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: aout_stream_owner_Flush
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.h
    functionUses: 1
    functionsReached:
    - block_ChainRelease
    - struct aout_stream_owner*::s::flush
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT aout_stream_owner_Flush(struct aout_stream_owner *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/audio_output/mmdevice.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - owner
    - block
    - date
    argTypes:
    - struct aout_stream_owner*
    - block_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: aout_stream_owner_AppendBlock
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.h
    functionUses: 1
    functionsReached:
    - block_ChainLastAppend
    linkageType: ''
    returnType: void
    signature: "void aout_stream_owner_AppendBlock(struct aout_stream_owner *owner,\n
      \                                  block_t *block, vlc_tick_t date)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: aout_stream_owner_Play
      Src: /src/vlc/modules/audio_output/mmdevice.h:134,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/mmdevice.h:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - owner
    argTypes:
    - struct aout_stream_owner*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 152
    functionName: aout_stream_owner_PlayAll
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.h
    functionUses: 1
    functionsReached:
    - aout_stream_owner_Play
    - FAILED
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT aout_stream_owner_PlayAll(struct aout_stream_owner *owner)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/audio_output/mmdevice.h:159,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/audio_output/mmdevice.h:162,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/mmdevice.h:164,1
    - Dst: struct aout_stream_owner*::timer::callback
      Src: /src/vlc/modules/audio_output/mmdevice.h:166,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/audio_output/mmdevice.h:171,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/audio_output/mmdevice.h:172,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/audio_output/mmdevice.h:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - owner
    argTypes:
    - struct aout_stream_owner*
    assertStmts:
    - condition: (owner->timer.callback != NULL)
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/vlc/modules/audio_output/mmdevice.h
    constantsTouched: []
    func_position:
      end: 180
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 180
    functionName: aout_stream_owner_ProcessTimer
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.h
    functionUses: 1
    functionsReached:
    - MS_FROM_VLC_TICK
    - vlc_tick_now
    - assert
    - VLC_TICK_FROM_MS
    - struct aout_stream_owner*::timer::callback
    linkageType: ''
    returnType: DWORD
    signature: DWORD aout_stream_owner_ProcessTimer(struct aout_stream_owner *owner)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_output/mmdevice.h:186,1
    - Dst: vlc_object_create
      Src: /src/vlc/modules/audio_output/mmdevice.h:188,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/mmdevice.h:189,1
    - Dst: CreateEvent
      Src: /src/vlc/modules/audio_output/mmdevice.h:200,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/mmdevice.h:201,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/audio_output/mmdevice.h:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - aout
    - size
    argTypes:
    - audio_output_t*
    - size_t
    assertStmts:
    - condition: (size >= sizeof(struct aout_stream_owner))
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/vlc/modules/audio_output/mmdevice.h
    constantsTouched: []
    func_position:
      end: 208
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 208
    functionName: aout_stream_owner_New
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.h
    functionUses: 1
    functionsReached:
    - assert
    - vlc_object_create
    - vlc_object_delete
    - unlikely
    - CreateEvent
    linkageType: ''
    returnType: void
    signature: "void *aout_stream_owner_New(audio_output_t *aout, size_t size,\n                            HRESULT
      (*activate)(void *device, REFIID, PROPVARIANT *, void **))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CloseHandle
      Src: /src/vlc/modules/audio_output/mmdevice.h:213,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/audio_output/mmdevice.h:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - owner
    argTypes:
    - struct aout_stream_owner*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: aout_stream_owner_Delete
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.h
    functionUses: 2
    functionsReached:
    - vlc_object_delete
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: void aout_stream_owner_Delete(struct aout_stream_owner *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aout_stream_owner
      Src: /src/vlc/modules/audio_output/mmdevice.h:225,1
    - Dst: aout_TimingReport
      Src: /src/vlc/modules/audio_output/mmdevice.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - system_ts
    - audio_ts
    argTypes:
    - aout_stream_t*
    - vlc_tick_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 227
    functionName: aout_stream_TimingReport
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.h
    functionUses: 1
    functionsReached:
    - aout_TimingReport
    - aout_stream_owner
    linkageType: ''
    returnType: void
    signature: "void aout_stream_TimingReport(aout_stream_t *s, vlc_tick_t system_ts,\n
      \                             vlc_tick_t audio_ts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aout_stream_owner
      Src: /src/vlc/modules/audio_output/mmdevice.h:233,1
    - Dst: struct aout_stream_owner*::activate
      Src: /src/vlc/modules/audio_output/mmdevice.h:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - s
    - iid
    - actparms
    - pv
    argTypes:
    - aout_stream_t*
    - REFIID
    - PROPVARIANT*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 235
    functionName: aout_stream_Activate
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.h
    functionUses: 1
    functionsReached:
    - struct aout_stream_owner*::activate
    - aout_stream_owner
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT aout_stream_Activate(aout_stream_t *s, REFIID iid,\n                             PROPVARIANT
      *actparms, void **pv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aout_stream_owner
      Src: /src/vlc/modules/audio_output/mmdevice.h:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - aout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: aout_stream_GetBufferReadyEvent
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.h
    functionUses: 1
    functionsReached:
    - aout_stream_owner
    linkageType: ''
    returnType: HANDLE
    signature: HANDLE aout_stream_GetBufferReadyEvent(aout_stream_t *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aout_stream_owner
      Src: /src/vlc/modules/audio_output/mmdevice.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - deadline
    argTypes:
    - aout_stream_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 252
    functionName: aout_stream_TriggerTimer
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.h
    functionUses: 2
    functionsReached:
    - aout_stream_owner
    linkageType: ''
    returnType: void
    signature: "void aout_stream_TriggerTimer(aout_stream_t *s,\n                              void
      (*callback)(aout_stream_t *),\n                              vlc_tick_t deadline)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aout_stream_owner
      Src: /src/vlc/modules/audio_output/mmdevice.h:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - aout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 260
    functionName: aout_stream_DisarmTimer
    functionSourceFile: /src/vlc/modules/audio_output/mmdevice.h
    functionUses: 4
    functionsReached:
    - aout_stream_owner
    linkageType: ''
    returnType: void
    signature: void aout_stream_DisarmTimer(aout_stream_t *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vaLog
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ctx
    - prio
    - file
    - line
    - func
    - fmt
    - ap
    argTypes:
    - struct vlc_pw_context*
    - int
    - char*
    - unsigned int
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: vlc_pw_vlog
    functionSourceFile: /src/vlc/modules/audio_output/vlc_pipewire.c
    functionUses: 0
    functionsReached:
    - vlc_vaLog
    linkageType: ''
    returnType: void
    signature: "void vlc_pw_vlog(struct vlc_pw_context *ctx, int prio,\n                 const
      char *file, unsigned int line, const char *func,\n                 const char
      *fmt, va_list ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:65,1
    - Dst: vlc_pw_vlog
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:66,1
    - Dst: va_end
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - ctx
    - prio
    - file
    - line
    - func
    - fmt
    argTypes:
    - struct vlc_pw_context*
    - int
    - char*
    - unsigned int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: "(vlc_pw_log)(struct vlc_pw_context *ctx, int prio,\n                  const
      char *file, unsigned int line, const char *func,\n                  const char
      *fmt, ...)"
    functionSourceFile: /src/vlc/modules/audio_output/vlc_pipewire.c
    functionUses: 0
    functionsReached:
    - va_end
    - vlc_pw_vlog
    - va_start
    linkageType: ''
    returnType: void
    signature: "void (vlc_pw_log)(struct vlc_pw_context *ctx, int prio,\n                  const
      char *file, unsigned int line, const char *func,\n                  const char
      *fmt, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - file
    - line
    - func
    - desc
    argTypes:
    - struct vlc_pw_context*
    - char*
    - unsigned int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: "(vlc_pw_perror)(struct vlc_pw_context *ctx, const char *file,\n
      \                   unsigned int line, const char *func, const char *desc)"
    functionSourceFile: /src/vlc/modules/audio_output/vlc_pipewire.c
    functionUses: 0
    functionsReached:
    - vlc_strerror_c
    linkageType: ''
    returnType: int
    signature: "int (vlc_pw_perror)(struct vlc_pw_context *ctx, const char *file,\n
      \                   unsigned int line, const char *func, const char *desc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pw_thread_loop_lock
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct vlc_pw_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: vlc_pw_lock
    functionSourceFile: /src/vlc/modules/audio_output/vlc_pipewire.c
    functionUses: 3
    functionsReached:
    - pw_thread_loop_lock
    linkageType: ''
    returnType: void
    signature: void vlc_pw_lock(struct vlc_pw_context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pw_thread_loop_unlock
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct vlc_pw_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: vlc_pw_unlock
    functionSourceFile: /src/vlc/modules/audio_output/vlc_pipewire.c
    functionUses: 3
    functionsReached:
    - pw_thread_loop_unlock
    linkageType: ''
    returnType: void
    signature: void vlc_pw_unlock(struct vlc_pw_context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pw_thread_loop_signal
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct vlc_pw_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: vlc_pw_signal
    functionSourceFile: /src/vlc/modules/audio_output/vlc_pipewire.c
    functionUses: 1
    functionsReached:
    - pw_thread_loop_signal
    linkageType: ''
    returnType: void
    signature: void vlc_pw_signal(struct vlc_pw_context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pw_thread_loop_wait
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct vlc_pw_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: vlc_pw_wait
    functionSourceFile: /src/vlc/modules/audio_output/vlc_pipewire.c
    functionUses: 1
    functionsReached:
    - pw_thread_loop_wait
    linkageType: ''
    returnType: void
    signature: void vlc_pw_wait(struct vlc_pw_context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pw_stream_new
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - name
    - props
    argTypes:
    - struct vlc_pw_context*
    - char*
    - struct pw_properties*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: vlc_pw_stream_new
    functionSourceFile: /src/vlc/modules/audio_output/vlc_pipewire.c
    functionUses: 1
    functionsReached:
    - pw_stream_new
    linkageType: ''
    returnType: struct pw_stream
    signature: "struct pw_stream *vlc_pw_stream_new(struct vlc_pw_context *ctx,\n
      \                                   const char *name,\n                                    struct
      pw_properties *props)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_pw_signal
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - data
    - id
    - seq
    argTypes:
    - void*
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: roundtrip_done
    functionSourceFile: /src/vlc/modules/audio_output/vlc_pipewire.c
    functionUses: 0
    functionsReached:
    - vlc_pw_signal
    linkageType: ''
    returnType: void
    signature: void roundtrip_done(void *data, uint32_t id, int seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pw_core_add_listener
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:135,1
    - Dst: pw_core_sync
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:136,1
    - Dst: vlc_pw_wait
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:138,1
    - Dst: spa_hook_remove
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct vlc_pw_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 140
    functionName: vlc_pw_roundtrip_unlocked
    functionSourceFile: /src/vlc/modules/audio_output/vlc_pipewire.c
    functionUses: 2
    functionsReached:
    - vlc_pw_wait
    - pw_core_sync
    - pw_core_add_listener
    - spa_hook_remove
    linkageType: ''
    returnType: void
    signature: void vlc_pw_roundtrip_unlocked(struct vlc_pw_context *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pw_core_get_registry
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:146,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:148,1
    - Dst: pw_registry_add_listener
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - hook
    - evts
    - data
    argTypes:
    - struct vlc_pw_context*
    - struct spa_hook*
    - struct pw_registry_events*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 155
    functionName: vlc_pw_registry_listen
    functionSourceFile: /src/vlc/modules/audio_output/vlc_pipewire.c
    functionUses: 2
    functionsReached:
    - unlikely
    - pw_core_get_registry
    - pw_registry_add_listener
    linkageType: ''
    returnType: int
    signature: "int vlc_pw_registry_listen(struct vlc_pw_context *ctx, struct spa_hook
      *hook,\n                           const struct pw_registry_events *evts, void
      *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pw_thread_loop_stop
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:159,1
    - Dst: pw_proxy_destroy
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:162,1
    - Dst: pw_core_disconnect
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:164,1
    - Dst: pw_context_destroy
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:165,1
    - Dst: pw_thread_loop_destroy
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:166,1
    - Dst: pw_deinit
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:167,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct vlc_pw_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: vlc_pw_disconnect
    functionSourceFile: /src/vlc/modules/audio_output/vlc_pipewire.c
    functionUses: 3
    functionsReached:
    - pw_proxy_destroy
    - free
    - pw_deinit
    - pw_thread_loop_stop
    - pw_core_disconnect
    - pw_context_destroy
    - pw_thread_loop_destroy
    linkageType: ''
    returnType: void
    signature: void vlc_pw_disconnect(struct vlc_pw_context *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritString
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:175,1
    - Dst: pw_properties_set
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:179,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - props
    - name
    - obj
    - varname
    argTypes:
    - struct pw_properties*
    - char*
    - vlc_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 183
    functionName: vlc_pw_properties_set_var
    functionSourceFile: /src/vlc/modules/audio_output/vlc_pipewire.c
    functionUses: 0
    functionsReached:
    - free
    - var_InheritString
    - pw_properties_set
    linkageType: ''
    returnType: int
    signature: "int vlc_pw_properties_set_var(struct pw_properties *props,\n                                     const
      char *name,\n                                     vlc_object_t *obj, const char
      *varname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:188,1
    - Dst: pw_properties_set
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - props
    - name
    - varname
    argTypes:
    - struct pw_properties*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 195
    functionName: vlc_pw_properties_set_env
    functionSourceFile: /src/vlc/modules/audio_output/vlc_pipewire.c
    functionUses: 0
    functionsReached:
    - pw_properties_set
    - getenv
    linkageType: ''
    returnType: int
    signature: "int vlc_pw_properties_set_env(struct pw_properties *props,\n                                     const
      char *name, const char *varname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getpwuid_r
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:201,1
    - Dst: memmove
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:204,1
    - Dst: strlen
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - uid
    - buf
    - buflen
    argTypes:
    - uid_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 206
    functionName: getusername
    functionSourceFile: /src/vlc/modules/audio_output/vlc_pipewire.c
    functionUses: 0
    functionsReached:
    - memmove
    - strlen
    - getpwuid_r
    linkageType: ''
    returnType: int
    signature: int getusername(uid_t uid, char *restrict buf, size_t buflen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fopen
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:215,1
    - Dst: fread
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:221,1
    - Dst: fclose
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - buf
    - buflen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 230
    functionName: getmachineid
    functionSourceFile: /src/vlc/modules/audio_output/vlc_pipewire.c
    functionUses: 0
    functionsReached:
    - fread
    - vlc_fopen
    - fclose
    linkageType: ''
    returnType: int
    signature: int getmachineid(char *restrict buf, size_t buflen)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: pw_get_library_version
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:235,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:238,1
    - Dst: pw_get_headers_version
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:239,1
    - Dst: strverscmp
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:242,1
    - Dst: vlc_error
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:243,1
    - Dst: malloc
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:249,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:250,1
    - Dst: pw_init
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:253,1
    - Dst: pw_thread_loop_new
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:257,1
    - Dst: likely
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:260,1
    - Dst: SPA_DICT_INIT
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:261,1
    - Dst: pw_properties_new_dict
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:262,1
    - Dst: likely
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:264,1
    - Dst: vlc_pw_properties_set_var
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:267,1
    - Dst: vlc_pw_properties_set_var
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:269,1
    - Dst: vlc_pw_properties_set_var
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:270,1
    - Dst: vlc_pw_properties_set_var
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:272,1
    - Dst: pw_properties_set
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:274,1
    - Dst: setlocale
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:275,1
    - Dst: pw_properties_setf
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:276,1
    - Dst: getpid
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:277,1
    - Dst: getusername
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:280,1
    - Dst: getuid
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:280,1
    - Dst: pw_properties_set
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:281,1
    - Dst: gethostname
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:282,1
    - Dst: pw_properties_set
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:283,1
    - Dst: getmachineid
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:284,1
    - Dst: pw_properties_set
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:285,1
    - Dst: vlc_pw_properties_set_env
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:287,1
    - Dst: vlc_pw_properties_set_env
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:289,1
    - Dst: pw_context_new
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:293,1
    - Dst: pw_thread_loop_get_loop
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:293,1
    - Dst: likely
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:296,1
    - Dst: pw_context_connect
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:297,1
    - Dst: likely
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:300,1
    - Dst: pw_thread_loop_start
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:300,1
    - Dst: pw_core_disconnect
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:304,1
    - Dst: vlc_pw_perror
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:307,1
    - Dst: pw_context_destroy
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:310,1
    - Dst: pw_thread_loop_destroy
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:314,1
    - Dst: pw_deinit
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:318,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/vlc_pipewire.c:320,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 2
    argNames:
    - obj
    - name
    argTypes:
    - vlc_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 322
    functionName: vlc_pw_connect
    functionSourceFile: /src/vlc/modules/audio_output/vlc_pipewire.c
    functionUses: 2
    functionsReached:
    - pw_properties_setf
    - pw_properties_new_dict
    - pw_get_library_version
    - pw_thread_loop_destroy
    - pw_context_new
    - strverscmp
    - vlc_pw_properties_set_env
    - getuid
    - SPA_DICT_INIT
    - pw_context_connect
    - setlocale
    - getmachineid
    - vlc_pw_perror
    - pw_deinit
    - likely
    - gethostname
    - getusername
    - getpid
    - pw_init
    - pw_thread_loop_get_loop
    - pw_get_headers_version
    - pw_thread_loop_new
    - vlc_pw_properties_set_var
    - pw_thread_loop_start
    - free
    - vlc_debug
    - pw_core_disconnect
    - pw_context_destroy
    - vlc_error
    - unlikely
    - malloc
    - pw_properties_set
    linkageType: ''
    returnType: struct vlc_pw_context
    signature: struct vlc_pw_context *vlc_pw_connect(vlc_object_t *obj, const char
      *name)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_output/waveout.c:174,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/audio_output/waveout.c:189,1
    - Dst: findDeviceID
      Src: /src/vlc/modules/audio_output/waveout.c:190,1
    - Dst: stricmp
      Src: /src/vlc/modules/audio_output/waveout.c:192,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/waveout.c:193,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/waveout.c:195,1
    - Dst: waveOutGetDevCaps
      Src: /src/vlc/modules/audio_output/waveout.c:198,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/waveout.c:203,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/waveout.c:204,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/waveout.c:207,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/waveout.c:208,1
    - Dst: AOUT_FMT_SPDIF
      Src: /src/vlc/modules/audio_output/waveout.c:214,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/audio_output/waveout.c:214,1
    - Dst: OpenWaveOut
      Src: /src/vlc/modules/audio_output/waveout.c:217,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_output/waveout.c:219,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/waveout.c:232,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/audio_output/waveout.c:241,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/audio_output/waveout.c:244,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_output/waveout.c:245,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/waveout.c:285,1
    - Dst: OpenWaveOutPCM
      Src: /src/vlc/modules/audio_output/waveout.c:287,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/waveout.c:294,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/audio_output/waveout.c:299,1
    - Dst: aout_GainRequest
      Src: /src/vlc/modules/audio_output/waveout.c:304,1
    - Dst: WaveoutMuteSet
      Src: /src/vlc/modules/audio_output/waveout.c:308,1
    - Dst: waveOutReset
      Src: /src/vlc/modules/audio_output/waveout.c:315,1
    - Dst: malloc
      Src: /src/vlc/modules/audio_output/waveout.c:319,1
    - Dst: memset
      Src: /src/vlc/modules/audio_output/waveout.c:328,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 89
    argCount: 2
    argNames:
    - p_aout
    - fmt
    argTypes:
    - audio_output_t*
    - audio_sample_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 339
    functionName: Start
    functionSourceFile: /src/vlc/modules/audio_output/waveout.c
    functionUses: 59
    functionsReached:
    - AOUT_FMT_SPDIF
    - findDeviceID
    - OpenWaveOutPCM
    - stricmp
    - aout_GainRequest
    - msg_Err
    - msg_Dbg
    - waveOutReset
    - msg_Warn
    - aout_FormatNbChannels
    - aout_FormatPrepare
    - var_InheritInteger
    - waveOutGetDevCaps
    - var_InheritBool
    - var_GetNonEmptyString
    - WaveoutMuteSet
    - memset
    - free
    - OpenWaveOut
    - malloc
    linkageType: ''
    returnType: int
    signature: int Start( audio_output_t *p_aout, audio_sample_format_t *restrict
      fmt )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/audio_output/waveout.c:352,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_output/waveout.c:356,1
    - Dst: aout_ChannelReorder
      Src: /src/vlc/modules/audio_output/waveout.c:364,1
    - Dst: PlayWaveOut
      Src: /src/vlc/modules/audio_output/waveout.c:368,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/waveout.c:372,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/audio_output/waveout.c:373,1
    - Dst: WaveOutClean
      Src: /src/vlc/modules/audio_output/waveout.c:376,1
    - Dst: WaveoutPollVolume
      Src: /src/vlc/modules/audio_output/waveout.c:377,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/waveout.c:379,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/waveout.c:382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - p_aout
    - block
    - date
    argTypes:
    - audio_output_t*
    - block_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 384
    functionName: Play
    functionSourceFile: /src/vlc/modules/audio_output/waveout.c
    functionUses: 22
    functionsReached:
    - WaveoutPollVolume
    - block_Release
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - WaveOutClean
    - aout_ChannelReorder
    - msg_Warn
    - vlc_tick_sleep
    - PlayWaveOut
    - malloc
    linkageType: ''
    returnType: void
    signature: void Play( audio_output_t *p_aout, block_t *block, vlc_tick_t date
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: waveOutReset
      Src: /src/vlc/modules/audio_output/waveout.c:394,1
    - Dst: WaveOutDrain
      Src: /src/vlc/modules/audio_output/waveout.c:397,1
    - Dst: WaveOutClean
      Src: /src/vlc/modules/audio_output/waveout.c:398,1
    - Dst: waveOutClose
      Src: /src/vlc/modules/audio_output/waveout.c:401,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/waveout.c:403,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/waveout.c:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - p_aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 409
    functionName: Stop
    functionSourceFile: /src/vlc/modules/audio_output/waveout.c
    functionUses: 42
    functionsReached:
    - WaveOutDrain
    - WaveOutClean
    - waveOutClose
    - msg_Err
    - free
    - waveOutReset
    linkageType: ''
    returnType: void
    signature: void Stop( audio_output_t *p_aout )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/waveout.c:480,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/waveout.c:481,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/waveout.c:483,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/waveout.c:485,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/waveout.c:487,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/waveout.c:489,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/waveout.c:491,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/waveout.c:493,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/waveout.c:495,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/waveout.c:497,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/waveout.c:499,1
    - Dst: waveOutOpen
      Src: /src/vlc/modules/audio_output/waveout.c:504,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/waveout.c:510,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/waveout.c:515,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/waveout.c:520,1
    - Dst: aout_CheckChannelReorder
      Src: /src/vlc/modules/audio_output/waveout.c:525,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/waveout.c:529,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 68
    argCount: 7
    argNames:
    - p_aout
    - i_device_id
    - i_format
    - i_channels
    - i_nb_channels
    - i_rate
    - b_probe
    argTypes:
    - audio_output_t*
    - uint32_t
    - int
    - int
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 536
    functionName: OpenWaveOut
    functionSourceFile: /src/vlc/modules/audio_output/waveout.c
    functionUses: 1
    functionsReached:
    - msg_Dbg
    - waveOutOpen
    - aout_CheckChannelReorder
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: "int OpenWaveOut( audio_output_t *p_aout, uint32_t i_device_id, int
      i_format,\n                        int i_channels, int i_nb_channels, int i_rate,\n
      \                       bool b_probe )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: var_CreateGetBool
      Src: /src/vlc/modules/audio_output/waveout.c:546,1
    - Dst: OpenWaveOut
      Src: /src/vlc/modules/audio_output/waveout.c:548,1
    - Dst: OpenWaveOut
      Src: /src/vlc/modules/audio_output/waveout.c:552,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 7
    argNames:
    - p_aout
    - i_device_id
    - i_format
    - i_channels
    - i_nb_channels
    - i_rate
    - b_probe
    argTypes:
    - audio_output_t*
    - uint32_t
    - vlc_fourcc_t*
    - int
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 541
    functionDepth: 2
    functionLinenumber: 541
    functionLinenumberEnd: 569
    functionName: OpenWaveOutPCM
    functionSourceFile: /src/vlc/modules/audio_output/waveout.c
    functionUses: 1
    functionsReached:
    - OpenWaveOut
    - var_CreateGetBool
    linkageType: ''
    returnType: int
    signature: "int OpenWaveOutPCM( audio_output_t *p_aout, uint32_t i_device_id,\n
      \                          vlc_fourcc_t *i_format,\n                           int
      i_channels, int i_nb_channels, int i_rate,\n                           bool
      b_probe )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/audio_output/waveout.c:593,1
    - Dst: memset
      Src: /src/vlc/modules/audio_output/waveout.c:605,1
    - Dst: waveOutPrepareHeader
      Src: /src/vlc/modules/audio_output/waveout.c:616,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/waveout.c:619,1
    - Dst: waveOutWrite
      Src: /src/vlc/modules/audio_output/waveout.c:624,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/waveout.c:627,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 5
    argNames:
    - p_aout
    - h_waveout
    - p_waveheader
    - p_buffer
    - b_spdif
    argTypes:
    - audio_output_t*
    - HWAVEOUT
    - struct lkwavehdr*
    - block_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 632
    functionName: PlayWaveOut
    functionSourceFile: /src/vlc/modules/audio_output/waveout.c
    functionUses: 1
    functionsReached:
    - waveOutPrepareHeader
    - memset
    - memcpy
    - msg_Err
    - waveOutWrite
    linkageType: ''
    returnType: int
    signature: "int PlayWaveOut( audio_output_t *p_aout, HWAVEOUT h_waveout,\n                        struct
      lkwavehdr *p_waveheader, block_t *p_buffer, bool b_spdif)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/waveout.c:649,1
    - Dst: aout_DrainedReport
      Src: /src/vlc/modules/audio_output/waveout.c:656,1
    - Dst: vlc_cond_broadcast
      Src: /src/vlc/modules/audio_output/waveout.c:660,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/waveout.c:661,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - h_waveout
    - uMsg
    - _p_aout
    - dwParam1
    - dwParam2
    argTypes:
    - HWAVEOUT
    - UINT
    - DWORD_PTR
    - DWORD_PTR
    - DWORD_PTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 662
    functionName: WaveOutCallback
    functionSourceFile: /src/vlc/modules/audio_output/waveout.c
    functionUses: 0
    functionsReached:
    - aout_DrainedReport
    - vlc_cond_broadcast
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: "void WaveOutCallback( HWAVEOUT h_waveout, UINT uMsg,\n                                      DWORD_PTR
      _p_aout,\n                                      DWORD_PTR dwParam1, DWORD_PTR
      dwParam2 )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/waveout.c:668,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/waveout.c:671,1
    - Dst: WaveOutClearBuffer
      Src: /src/vlc/modules/audio_output/waveout.c:677,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/waveout.c:678,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - aout_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 680
    functionName: WaveOutClean
    functionSourceFile: /src/vlc/modules/audio_output/waveout.c
    functionUses: 2
    functionsReached:
    - WaveOutClearBuffer
    - free
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void WaveOutClean( aout_sys_t * p_sys )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: waveOutUnprepareHeader
      Src: /src/vlc/modules/audio_output/waveout.c:686,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_output/waveout.c:689,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - h_waveout
    - p_waveheader
    argTypes:
    - HWAVEOUT
    - WAVEHDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 690
    functionName: WaveOutClearBuffer
    functionSourceFile: /src/vlc/modules/audio_output/waveout.c
    functionUses: 1
    functionsReached:
    - block_Release
    - waveOutUnprepareHeader
    linkageType: ''
    returnType: void
    signature: void WaveOutClearBuffer( HWAVEOUT h_waveout, WAVEHDR *p_waveheader
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: waveOutGetNumDevs
      Src: /src/vlc/modules/audio_output/waveout.c:698,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_output/waveout.c:700,1
    - Dst: xmalloc
      Src: /src/vlc/modules/audio_output/waveout.c:702,1
    - Dst: xmalloc
      Src: /src/vlc/modules/audio_output/waveout.c:703,1
    - Dst: strdup
      Src: /src/vlc/modules/audio_output/waveout.c:705,1
    - Dst: strdup
      Src: /src/vlc/modules/audio_output/waveout.c:706,1
    - Dst: _
      Src: /src/vlc/modules/audio_output/waveout.c:706,1
    - Dst: waveOutGetDevCaps
      Src: /src/vlc/modules/audio_output/waveout.c:714,1
    - Dst: _snwprintf
      Src: /src/vlc/modules/audio_output/waveout.c:718,1
    - Dst: FromWide
      Src: /src/vlc/modules/audio_output/waveout.c:720,1
    - Dst: strdup
      Src: /src/vlc/modules/audio_output/waveout.c:721,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - psz_name
    - values
    - descs
    argTypes:
    - char*
    - char***
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 726
    functionName: ReloadWaveoutDevices
    functionSourceFile: /src/vlc/modules/audio_output/waveout.c
    functionUses: 0
    functionsReached:
    - strdup
    - waveOutGetNumDevs
    - waveOutGetDevCaps
    - _
    - xmalloc
    - _snwprintf
    - FromWide
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int ReloadWaveoutDevices( char const *psz_name,\n                                 char
      ***values, char ***descs )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: waveOutGetNumDevs
      Src: /src/vlc/modules/audio_output/waveout.c:741,1
    - Dst: waveOutGetDevCaps
      Src: /src/vlc/modules/audio_output/waveout.c:748,1
    - Dst: _snwprintf
      Src: /src/vlc/modules/audio_output/waveout.c:752,1
    - Dst: FromWide
      Src: /src/vlc/modules/audio_output/waveout.c:754,1
    - Dst: _stricmp
      Src: /src/vlc/modules/audio_output/waveout.c:755,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/waveout.c:757,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/waveout.c:760,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - psz_device_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 764
    functionName: findDeviceID
    functionSourceFile: /src/vlc/modules/audio_output/waveout.c
    functionUses: 1
    functionsReached:
    - waveOutGetNumDevs
    - waveOutGetDevCaps
    - free
    - _stricmp
    - _snwprintf
    - FromWide
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t findDeviceID(char *psz_device_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_SetString
      Src: /src/vlc/modules/audio_output/waveout.c:768,1
    - Dst: aout_DeviceReport
      Src: /src/vlc/modules/audio_output/waveout.c:769,1
    - Dst: aout_RestartRequest
      Src: /src/vlc/modules/audio_output/waveout.c:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - aout
    - id
    argTypes:
    - audio_output_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 772
    functionName: DeviceSelect
    functionSourceFile: /src/vlc/modules/audio_output/waveout.c
    functionUses: 1
    functionsReached:
    - var_SetString
    - aout_RestartRequest
    - aout_DeviceReport
    linkageType: ''
    returnType: int
    signature: int DeviceSelect (audio_output_t *aout, const char *id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/audio_output/waveout.c:777,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/waveout.c:779,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/audio_output/waveout.c:788,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/audio_output/waveout.c:789,1
    - Dst: aout_MuteReport
      Src: /src/vlc/modules/audio_output/waveout.c:791,1
    - Dst: aout_VolumeReport
      Src: /src/vlc/modules/audio_output/waveout.c:792,1
    - Dst: vlc_timer_create
      Src: /src/vlc/modules/audio_output/waveout.c:794,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/waveout.c:797,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/waveout.c:798,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/audio_output/waveout.c:802,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/audio_output/waveout.c:803,1
    - Dst: ReloadWaveoutDevices
      Src: /src/vlc/modules/audio_output/waveout.c:807,1
    - Dst: aout_HotplugReport
      Src: /src/vlc/modules/audio_output/waveout.c:812,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/waveout.c:813,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/waveout.c:814,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/waveout.c:816,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/waveout.c:817,1
    - Dst: var_CreateGetNonEmptyString
      Src: /src/vlc/modules/audio_output/waveout.c:820,1
    - Dst: aout_DeviceReport
      Src: /src/vlc/modules/audio_output/waveout.c:821,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/waveout.c:822,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 774
    functionDepth: 2
    functionLinenumber: 774
    functionLinenumberEnd: 825
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_output/waveout.c
    functionUses: 50
    functionsReached:
    - aout_VolumeReport
    - ReloadWaveoutDevices
    - vlc_timer_create
    - aout_MuteReport
    - aout_HotplugReport
    - var_CreateGetNonEmptyString
    - var_InheritBool
    - unlikely
    - vlc_mutex_init
    - msg_Err
    - free
    - vlc_cond_init
    - aout_DeviceReport
    - var_InheritFloat
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_Destroy
      Src: /src/vlc/modules/audio_output/waveout.c:832,1
    - Dst: vlc_timer_destroy
      Src: /src/vlc/modules/audio_output/waveout.c:834,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/waveout.c:835,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 836
    functionName: Close
    functionSourceFile: /src/vlc/modules/audio_output/waveout.c
    functionUses: 142
    functionsReached:
    - free
    - var_Destroy
    - vlc_timer_destroy
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: waveOutGetPosition
      Src: /src/vlc/modules/audio_output/waveout.c:849,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/waveout.c:852,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/audio_output/waveout.c:856,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - p_aout
    - delay
    argTypes:
    - audio_output_t*
    - vlc_tick_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 840
    functionDepth: 1
    functionLinenumber: 840
    functionLinenumberEnd: 859
    functionName: WaveOutTimeGet
    functionSourceFile: /src/vlc/modules/audio_output/waveout.c
    functionUses: 0
    functionsReached:
    - vlc_tick_from_samples
    - waveOutGetPosition
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int WaveOutTimeGet(audio_output_t * p_aout, vlc_tick_t *delay)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/waveout.c:867,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/waveout.c:869,1
    - Dst: waveOutReset
      Src: /src/vlc/modules/audio_output/waveout.c:871,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/waveout.c:874,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p_aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 862
    functionDepth: 1
    functionLinenumber: 862
    functionLinenumberEnd: 875
    functionName: WaveOutFlush
    functionSourceFile: /src/vlc/modules/audio_output/waveout.c
    functionUses: 0
    functionsReached:
    - waveOutReset
    - msg_Err
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void WaveOutFlush( audio_output_t *p_aout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/waveout.c:881,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/audio_output/waveout.c:884,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/waveout.c:886,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 887
    functionName: WaveOutDrain
    functionSourceFile: /src/vlc/modules/audio_output/waveout.c
    functionUses: 1
    functionsReached:
    - vlc_mutex_unlock
    - vlc_cond_wait
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void WaveOutDrain( audio_output_t *p_aout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/waveout.c:893,1
    - Dst: aout_DrainedReport
      Src: /src/vlc/modules/audio_output/waveout.c:895,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/waveout.c:898,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 899
    functionName: WaveOutDrainAsync
    functionSourceFile: /src/vlc/modules/audio_output/waveout.c
    functionUses: 0
    functionsReached:
    - aout_DrainedReport
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void WaveOutDrainAsync( audio_output_t *p_aout)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_timer_schedule_asap
      Src: /src/vlc/modules/audio_output/waveout.c:909,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/audio_output/waveout.c:909,1
    - Dst: waveOutPause
      Src: /src/vlc/modules/audio_output/waveout.c:910,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/waveout.c:913,1
    - Dst: vlc_timer_disarm
      Src: /src/vlc/modules/audio_output/waveout.c:919,1
    - Dst: waveOutRestart
      Src: /src/vlc/modules/audio_output/waveout.c:920,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/waveout.c:923,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - p_aout
    - pause
    - date
    argTypes:
    - audio_output_t*
    - bool
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 927
    functionName: WaveOutPause
    functionSourceFile: /src/vlc/modules/audio_output/waveout.c
    functionUses: 0
    functionsReached:
    - waveOutRestart
    - vlc_timer_disarm
    - VLC_TICK_FROM_MS
    - msg_Err
    - vlc_timer_schedule_asap
    - waveOutPause
    linkageType: ''
    returnType: void
    signature: void WaveOutPause( audio_output_t * p_aout, bool pause, vlc_tick_t
      date)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: aout_GainRequest
      Src: /src/vlc/modules/audio_output/waveout.c:936,1
    - Dst: lroundf
      Src: /src/vlc/modules/audio_output/waveout.c:943,1
    - Dst: waveOutSetVolume
      Src: /src/vlc/modules/audio_output/waveout.c:953,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/waveout.c:956,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/waveout.c:962,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/audio_output/waveout.c:965,1
    - Dst: config_PutFloat
      Src: /src/vlc/modules/audio_output/waveout.c:966,1
    - Dst: aout_VolumeReport
      Src: /src/vlc/modules/audio_output/waveout.c:968,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/waveout.c:969,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - p_aout
    - volume
    argTypes:
    - audio_output_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 929
    functionDepth: 1
    functionLinenumber: 929
    functionLinenumberEnd: 972
    functionName: WaveoutVolumeSet
    functionSourceFile: /src/vlc/modules/audio_output/waveout.c
    functionUses: 0
    functionsReached:
    - aout_VolumeReport
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - aout_GainRequest
    - var_InheritBool
    - waveOutSetVolume
    - msg_Err
    - config_PutFloat
    - lroundf
    linkageType: ''
    returnType: int
    signature: int WaveoutVolumeSet( audio_output_t *p_aout, float volume )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: aout_GainRequest
      Src: /src/vlc/modules/audio_output/waveout.c:981,1
    - Dst: lroundf
      Src: /src/vlc/modules/audio_output/waveout.c:988,1
    - Dst: waveOutSetVolume
      Src: /src/vlc/modules/audio_output/waveout.c:993,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/waveout.c:996,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/waveout.c:1001,1
    - Dst: aout_MuteReport
      Src: /src/vlc/modules/audio_output/waveout.c:1003,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/waveout.c:1004,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - p_aout
    - mute
    argTypes:
    - audio_output_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 974
    functionDepth: 1
    functionLinenumber: 974
    functionLinenumberEnd: 1007
    functionName: WaveoutMuteSet
    functionSourceFile: /src/vlc/modules/audio_output/waveout.c
    functionUses: 1
    functionsReached:
    - aout_MuteReport
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - aout_GainRequest
    - waveOutSetVolume
    - msg_Err
    - lroundf
    linkageType: ''
    returnType: int
    signature: int WaveoutMuteSet( audio_output_t * p_aout, bool mute )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: waveOutGetVolume
      Src: /src/vlc/modules/audio_output/waveout.c:1015,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/waveout.c:1019,1
    - Dst: UINT32_C
      Src: /src/vlc/modules/audio_output/waveout.c:1023,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/waveout.c:1026,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/audio_output/waveout.c:1031,1
    - Dst: config_PutFloat
      Src: /src/vlc/modules/audio_output/waveout.c:1032,1
    - Dst: aout_VolumeReport
      Src: /src/vlc/modules/audio_output/waveout.c:1034,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/waveout.c:1036,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - _aout
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1009
    functionDepth: 1
    functionLinenumber: 1009
    functionLinenumberEnd: 1039
    functionName: WaveoutPollVolume
    functionSourceFile: /src/vlc/modules/audio_output/waveout.c
    functionUses: 1
    functionsReached:
    - aout_VolumeReport
    - waveOutGetVolume
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - var_InheritBool
    - msg_Err
    - config_PutFloat
    - UINT32_C
    linkageType: ''
    returnType: void
    signature: void WaveoutPollVolume( void * _aout )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CoInitializeEx
      Src: /src/vlc/modules/audio_output/winstore.c:46,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/winstore.c:47,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/winstore.c:47,1
    - Dst: abort
      Src: /src/vlc/modules/audio_output/winstore.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: EnterMTA
    functionSourceFile: /src/vlc/modules/audio_output/winstore.c
    functionUses: 5
    functionsReached:
    - FAILED
    - abort
    - CoInitializeEx
    - unlikely
    linkageType: ''
    returnType: void
    signature: void EnterMTA(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoUninitialize
      Src: /src/vlc/modules/audio_output/winstore.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: LeaveMTA
    functionSourceFile: /src/vlc/modules/audio_output/winstore.c
    functionUses: 5
    functionsReached:
    - CoUninitialize
    linkageType: ''
    returnType: void
    signature: void LeaveMTA(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/audio_output/winstore.c:81,1
    - Dst: InterlockedIncrement
      Src: /src/vlc/modules/audio_output/winstore.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - This
    argTypes:
    - IActivateAudioInterfaceCompletionHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: MMDeviceLocator_AddRef
    functionSourceFile: /src/vlc/modules/audio_output/winstore.c
    functionUses: 0
    functionsReached:
    - InterlockedIncrement
    - container_of
    linkageType: ''
    returnType: STDMETHODIMP_
    signature: STDMETHODIMP_ MMDeviceLocator_AddRef(IActivateAudioInterfaceCompletionHandler
      *This)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/audio_output/winstore.c:87,1
    - Dst: InterlockedDecrement
      Src: /src/vlc/modules/audio_output/winstore.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - This
    argTypes:
    - IActivateAudioInterfaceCompletionHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: MMDeviceLocator_Release
    functionSourceFile: /src/vlc/modules/audio_output/winstore.c
    functionUses: 0
    functionsReached:
    - InterlockedDecrement
    - container_of
    linkageType: ''
    returnType: STDMETHODIMP_
    signature: STDMETHODIMP_ MMDeviceLocator_Release(IActivateAudioInterfaceCompletionHandler
      *This)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsEqualIID
      Src: /src/vlc/modules/audio_output/winstore.c:94,1
    - Dst: IsEqualIID
      Src: /src/vlc/modules/audio_output/winstore.c:95,1
    - Dst: MMDeviceLocator_AddRef
      Src: /src/vlc/modules/audio_output/winstore.c:97,1
    - Dst: IsEqualIID
      Src: /src/vlc/modules/audio_output/winstore.c:102,1
    - Dst: ResultFromScode
      Src: /src/vlc/modules/audio_output/winstore.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - This
    - riid
    - ppv
    argTypes:
    - IActivateAudioInterfaceCompletionHandler*
    - REFIID
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 107
    functionName: MMDeviceLocator_QueryInterface
    functionSourceFile: /src/vlc/modules/audio_output/winstore.c
    functionUses: 0
    functionsReached:
    - MMDeviceLocator_AddRef
    - ResultFromScode
    - IsEqualIID
    linkageType: ''
    returnType: STDMETHODIMP
    signature: "STDMETHODIMP MMDeviceLocator_QueryInterface(IActivateAudioInterfaceCompletionHandler
      *This,\n                                                   REFIID riid, void
      **ppv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/audio_output/winstore.c:114,1
    - Dst: vlc_sem_post
      Src: /src/vlc/modules/audio_output/winstore.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - This
    - operation
    argTypes:
    - IActivateAudioInterfaceCompletionHandler*
    - IActivateAudioInterfaceAsyncOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: MMDeviceLocator_ActivateCompleted
    functionSourceFile: /src/vlc/modules/audio_output/winstore.c
    functionUses: 0
    functionsReached:
    - vlc_sem_post
    - container_of
    linkageType: ''
    returnType: STDMETHODIMP
    signature: "STDMETHODIMP MMDeviceLocator_ActivateCompleted(IActivateAudioInterfaceCompletionHandler
      *This,\n                                                 IActivateAudioInterfaceAsyncOperation
      *operation)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_output/winstore.c:136,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/winstore.c:138,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/winstore.c:139,1
    - Dst: ActivateAudioInterfaceAsync
      Src: /src/vlc/modules/audio_output/winstore.c:141,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/modules/audio_output/winstore.c:143,1
    - Dst: IActivateAudioInterfaceAsyncOperation_GetActivateResult
      Src: /src/vlc/modules/audio_output/winstore.c:151,1
    - Dst: IActivateAudioInterfaceAsyncOperation_Release
      Src: /src/vlc/modules/audio_output/winstore.c:152,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/winstore.c:153,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/winstore.c:153,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/winstore.c:154,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/winstore.c:155,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/winstore.c:156,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/winstore.c:157,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/winstore.c:158,1
    - Dst: IUnknown_QueryInterface
      Src: /src/vlc/modules/audio_output/winstore.c:162,1
    - Dst: IUnknown_Release
      Src: /src/vlc/modules/audio_output/winstore.c:163,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/winstore.c:164,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/winstore.c:164,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/winstore.c:165,1
    - Dst: wcsdup
      Src: /src/vlc/modules/audio_output/winstore.c:169,1
    - Dst: FromWide
      Src: /src/vlc/modules/audio_output/winstore.c:171,1
    - Dst: likely
      Src: /src/vlc/modules/audio_output/winstore.c:172,1
    - Dst: aout_DeviceReport
      Src: /src/vlc/modules/audio_output/winstore.c:174,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/winstore.c:175,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/audio_output/winstore.c:178,1
    - Dst: IAudioClient_QueryInterface
      Src: /src/vlc/modules/audio_output/winstore.c:178,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/winstore.c:188,1
    - Dst: IAudioClient2_SetClientProperties
      Src: /src/vlc/modules/audio_output/winstore.c:188,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/winstore.c:189,1
    - Dst: IAudioClient2_Release
      Src: /src/vlc/modules/audio_output/winstore.c:191,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts:
    - condition: (sys->client == NULL)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/vlc/modules/audio_output/winstore.c
    - condition: (sys->refs == 0)
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/vlc/modules/audio_output/winstore.c
    constantsTouched: []
    func_position:
      end: 196
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 196
    functionName: WaitForAudioClient
    functionSourceFile: /src/vlc/modules/audio_output/winstore.c
    functionUses: 0
    functionsReached:
    - IAudioClient_QueryInterface
    - vlc_sem_wait
    - assert
    - IUnknown_Release
    - wcsdup
    - SUCCEEDED
    - aout_DeviceReport
    - IAudioClient2_SetClientProperties
    - IAudioClient2_Release
    - msg_Dbg
    - msg_Warn
    - ActivateAudioInterfaceAsync
    - IActivateAudioInterfaceAsyncOperation_Release
    - IUnknown_QueryInterface
    - likely
    - FAILED
    - free
    - FromWide
    - unlikely
    - IActivateAudioInterfaceAsyncOperation_GetActivateResult
    linkageType: ''
    returnType: void
    signature: void WaitForAudioClient(audio_output_t *aout)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/audio_output/winstore.c:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - aout
    - id
    argTypes:
    - audio_output_t*
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 209
    functionName: SetRequestedDevice
    functionSourceFile: /src/vlc/modules/audio_output/winstore.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: bool
    signature: bool SetRequestedDevice(audio_output_t *aout, wchar_t *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_output/winstore.c:214,1
    - Dst: WaitForAudioClient
      Src: /src/vlc/modules/audio_output/winstore.c:216,1
    - Dst: aout_RestartRequest
      Src: /src/vlc/modules/audio_output/winstore.c:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts:
    - condition: (sys->requested_device)
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/vlc/modules/audio_output/winstore.c
    constantsTouched: []
    func_position:
      end: 222
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 222
    functionName: DeviceRequestLocked
    functionSourceFile: /src/vlc/modules/audio_output/winstore.c
    functionUses: 2
    functionsReached:
    - assert
    - aout_RestartRequest
    - WaitForAudioClient
    linkageType: ''
    returnType: int
    signature: int DeviceRequestLocked(audio_output_t *aout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_output/winstore.c:230,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/winstore.c:231,1
    - Dst: IAudioClient_Release
      Src: /src/vlc/modules/audio_output/winstore.c:233,1
    - Dst: DeviceRequestLocked
      Src: /src/vlc/modules/audio_output/winstore.c:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts:
    - condition: (sys->acquired_device)
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/vlc/modules/audio_output/winstore.c
    constantsTouched: []
    func_position:
      end: 238
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 238
    functionName: DeviceRestartLocked
    functionSourceFile: /src/vlc/modules/audio_output/winstore.c
    functionUses: 1
    functionsReached:
    - free
    - assert
    - IAudioClient_Release
    - DeviceRequestLocked
    linkageType: ''
    returnType: int
    signature: int DeviceRestartLocked(audio_output_t *aout)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SetRequestedDevice
      Src: /src/vlc/modules/audio_output/winstore.c:246,1
    - Dst: ToWide
      Src: /src/vlc/modules/audio_output/winstore.c:250,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/winstore.c:251,1
    - Dst: SetRequestedDevice
      Src: /src/vlc/modules/audio_output/winstore.c:253,1
    - Dst: DeviceRestartLocked
      Src: /src/vlc/modules/audio_output/winstore.c:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - aout
    - id
    argTypes:
    - audio_output_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 258
    functionName: DeviceSelectLocked
    functionSourceFile: /src/vlc/modules/audio_output/winstore.c
    functionUses: 2
    functionsReached:
    - DeviceRestartLocked
    - SetRequestedDevice
    - unlikely
    - ToWide
    linkageType: ''
    returnType: int
    signature: int DeviceSelectLocked(audio_output_t *aout, const char* id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/winstore.c:263,1
    - Dst: DeviceSelectLocked
      Src: /src/vlc/modules/audio_output/winstore.c:264,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/winstore.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - aout
    - id
    argTypes:
    - audio_output_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 267
    functionName: DeviceSelect
    functionSourceFile: /src/vlc/modules/audio_output/winstore.c
    functionUses: 1
    functionsReached:
    - DeviceSelectLocked
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: int
    signature: int DeviceSelect(audio_output_t *aout, const char* id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/winstore.c:272,1
    - Dst: DeviceSelect
      Src: /src/vlc/modules/audio_output/winstore.c:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - aout
    - hr
    argTypes:
    - audio_output_t*
    - HRESULT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 278
    functionName: ResetInvalidatedClient
    functionSourceFile: /src/vlc/modules/audio_output/winstore.c
    functionUses: 0
    functionsReached:
    - unlikely
    - DeviceSelect
    linkageType: ''
    returnType: void
    signature: void ResetInvalidatedClient(audio_output_t *aout, HRESULT hr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/winstore.c:283,1
    - Dst: aout_GainRequest
      Src: /src/vlc/modules/audio_output/winstore.c:299,1
    - Dst: IAudioClient_GetService
      Src: /src/vlc/modules/audio_output/winstore.c:301,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/winstore.c:302,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/winstore.c:304,1
    - Dst: ISimpleAudioVolume_SetMasterVolume
      Src: /src/vlc/modules/audio_output/winstore.c:309,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/winstore.c:310,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/winstore.c:312,1
    - Dst: aout_VolumeReport
      Src: /src/vlc/modules/audio_output/winstore.c:316,1
    - Dst: ISimpleAudioVolume_Release
      Src: /src/vlc/modules/audio_output/winstore.c:320,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/audio_output/winstore.c:322,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - aout
    - vol
    argTypes:
    - audio_output_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 323
    functionName: VolumeSet
    functionSourceFile: /src/vlc/modules/audio_output/winstore.c
    functionUses: 0
    functionsReached:
    - aout_VolumeReport
    - ISimpleAudioVolume_Release
    - aout_GainRequest
    - ISimpleAudioVolume_SetMasterVolume
    - FAILED
    - IAudioClient_GetService
    - msg_Err
    - SUCCEEDED
    - unlikely
    linkageType: ''
    returnType: int
    signature: int VolumeSet(audio_output_t *aout, float vol)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/winstore.c:328,1
    - Dst: IAudioClient_GetService
      Src: /src/vlc/modules/audio_output/winstore.c:334,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/winstore.c:335,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/winstore.c:337,1
    - Dst: ISimpleAudioVolume_SetMute
      Src: /src/vlc/modules/audio_output/winstore.c:342,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/winstore.c:343,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/winstore.c:345,1
    - Dst: aout_MuteReport
      Src: /src/vlc/modules/audio_output/winstore.c:349,1
    - Dst: ISimpleAudioVolume_Release
      Src: /src/vlc/modules/audio_output/winstore.c:353,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/audio_output/winstore.c:355,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - aout
    - mute
    argTypes:
    - audio_output_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 356
    functionName: MuteSet
    functionSourceFile: /src/vlc/modules/audio_output/winstore.c
    functionUses: 1
    functionsReached:
    - ISimpleAudioVolume_Release
    - aout_MuteReport
    - FAILED
    - msg_Err
    - IAudioClient_GetService
    - ISimpleAudioVolume_SetMute
    - SUCCEEDED
    - unlikely
    linkageType: ''
    returnType: int
    signature: int MuteSet(audio_output_t *aout, bool mute)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/winstore.c:362,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/winstore.c:363,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_output/winstore.c:365,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/winstore.c:366,1
    - Dst: aout_stream_owner_AppendBlock
      Src: /src/vlc/modules/audio_output/winstore.c:370,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/winstore.c:372,1
    - Dst: SetEvent
      Src: /src/vlc/modules/audio_output/winstore.c:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - aout
    - block
    - date
    argTypes:
    - audio_output_t*
    - block_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 374
    functionName: Play
    functionSourceFile: /src/vlc/modules/audio_output/winstore.c
    functionUses: 22
    functionsReached:
    - block_Release
    - vlc_mutex_unlock
    - aout_stream_owner_AppendBlock
    - vlc_mutex_lock
    - SetEvent
    - unlikely
    linkageType: ''
    returnType: void
    signature: void Play(audio_output_t *aout, block_t *block, vlc_tick_t date)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EnterMTA
      Src: /src/vlc/modules/audio_output/winstore.c:380,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/winstore.c:381,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/winstore.c:382,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/winstore.c:384,1
    - Dst: LeaveMTA
      Src: /src/vlc/modules/audio_output/winstore.c:385,1
    - Dst: aout_stream_owner_Pause
      Src: /src/vlc/modules/audio_output/winstore.c:389,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/winstore.c:391,1
    - Dst: LeaveMTA
      Src: /src/vlc/modules/audio_output/winstore.c:392,1
    - Dst: ResetInvalidatedClient
      Src: /src/vlc/modules/audio_output/winstore.c:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - aout
    - paused
    - date
    argTypes:
    - audio_output_t*
    - bool
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 396
    functionName: Pause
    functionSourceFile: /src/vlc/modules/audio_output/winstore.c
    functionUses: 27
    functionsReached:
    - EnterMTA
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - ResetInvalidatedClient
    - aout_stream_owner_Pause
    - LeaveMTA
    - unlikely
    linkageType: ''
    returnType: void
    signature: void Pause(audio_output_t *aout, bool paused, vlc_tick_t date)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EnterMTA
      Src: /src/vlc/modules/audio_output/winstore.c:402,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/winstore.c:403,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/winstore.c:404,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/winstore.c:406,1
    - Dst: LeaveMTA
      Src: /src/vlc/modules/audio_output/winstore.c:407,1
    - Dst: aout_stream_owner_Flush
      Src: /src/vlc/modules/audio_output/winstore.c:411,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/winstore.c:413,1
    - Dst: LeaveMTA
      Src: /src/vlc/modules/audio_output/winstore.c:414,1
    - Dst: ResetInvalidatedClient
      Src: /src/vlc/modules/audio_output/winstore.c:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 417
    functionName: Flush
    functionSourceFile: /src/vlc/modules/audio_output/winstore.c
    functionUses: 65
    functionsReached:
    - EnterMTA
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - ResetInvalidatedClient
    - aout_stream_owner_Flush
    - LeaveMTA
    - unlikely
    linkageType: ''
    returnType: void
    signature: void Flush(audio_output_t *aout)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/audio_output/winstore.c:425,1
    - Dst: EnterMTA
      Src: /src/vlc/modules/audio_output/winstore.c:427,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/winstore.c:428,1
    - Dst: aout_stream_owner_ProcessTimer
      Src: /src/vlc/modules/audio_output/winstore.c:441,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/winstore.c:448,1
    - Dst: WaitForMultipleObjects
      Src: /src/vlc/modules/audio_output/winstore.c:449,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/winstore.c:450,1
    - Dst: likely
      Src: /src/vlc/modules/audio_output/winstore.c:455,1
    - Dst: aout_stream_owner_PlayAll
      Src: /src/vlc/modules/audio_output/winstore.c:457,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/winstore.c:462,1
    - Dst: DeviceSelectLocked
      Src: /src/vlc/modules/audio_output/winstore.c:465,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/audio_output/winstore.c:469,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/winstore.c:477,1
    - Dst: LeaveMTA
      Src: /src/vlc/modules/audio_output/winstore.c:478,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 419
    functionDepth: 4
    functionLinenumber: 419
    functionLinenumberEnd: 481
    functionName: PlaybackThread
    functionSourceFile: /src/vlc/modules/audio_output/winstore.c
    functionUses: 0
    functionsReached:
    - EnterMTA
    - vlc_thread_set_name
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - block_ChainRelease
    - aout_stream_owner_ProcessTimer
    - DeviceSelectLocked
    - WaitForMultipleObjects
    - aout_stream_owner_PlayAll
    - likely
    - LeaveMTA
    - unlikely
    linkageType: ''
    returnType: void
    signature: void *PlaybackThread(void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsEqualIID
      Src: /src/vlc/modules/audio_output/winstore.c:488,1
    - Dst: IAudioClient_AddRef
      Src: /src/vlc/modules/audio_output/winstore.c:493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - opaque
    - iid
    - actparms
    - pv
    argTypes:
    - void*
    - REFIID
    - PROPVARIANT*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 497
    functionName: ActivateDevice
    functionSourceFile: /src/vlc/modules/audio_output/winstore.c
    functionUses: 0
    functionsReached:
    - IAudioClient_AddRef
    - IsEqualIID
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT ActivateDevice(void *opaque, REFIID iid, PROPVARIANT *actparms,\n
      \                             void **restrict pv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/audio_output/winstore.c:502,1
    - Dst: va_arg
      Src: /src/vlc/modules/audio_output/winstore.c:503,1
    - Dst: va_arg
      Src: /src/vlc/modules/audio_output/winstore.c:504,1
    - Dst: start
      Src: /src/vlc/modules/audio_output/winstore.c:507,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/audio_output/winstore.c:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - func
    - forced
    - ap
    argTypes:
    - void*
    - bool
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 509
    functionName: aout_stream_Start
    functionSourceFile: /src/vlc/modules/audio_output/winstore.c
    functionUses: 0
    functionsReached:
    - va_arg
    - start
    - SUCCEEDED
    linkageType: ''
    returnType: int
    signature: int aout_stream_Start(void *func, bool forced, va_list ap)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: aout_stream_owner_New
      Src: /src/vlc/modules/audio_output/winstore.c:517,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/winstore.c:518,1
    - Dst: EnterMTA
      Src: /src/vlc/modules/audio_output/winstore.c:523,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/winstore.c:524,1
    - Dst: wcscmp
      Src: /src/vlc/modules/audio_output/winstore.c:528,1
    - Dst: DeviceRestartLocked
      Src: /src/vlc/modules/audio_output/winstore.c:531,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/winstore.c:534,1
    - Dst: LeaveMTA
      Src: /src/vlc/modules/audio_output/winstore.c:535,1
    - Dst: aout_stream_owner_Delete
      Src: /src/vlc/modules/audio_output/winstore.c:536,1
    - Dst: CreateEvent
      Src: /src/vlc/modules/audio_output/winstore.c:542,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/winstore.c:543,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/winstore.c:545,1
    - Dst: LeaveMTA
      Src: /src/vlc/modules/audio_output/winstore.c:546,1
    - Dst: aout_stream_owner_Delete
      Src: /src/vlc/modules/audio_output/winstore.c:547,1
    - Dst: vlc_module_load
      Src: /src/vlc/modules/audio_output/winstore.c:554,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/audio_output/winstore.c:554,1
    - Dst: DeviceSelectLocked
      Src: /src/vlc/modules/audio_output/winstore.c:561,1
    - Dst: DeviceRestartLocked
      Src: /src/vlc/modules/audio_output/winstore.c:574,1
    - Dst: IAudioClient_GetService
      Src: /src/vlc/modules/audio_output/winstore.c:589,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/winstore.c:590,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/winstore.c:592,1
    - Dst: ISimpleAudioVolume_GetMasterVolume
      Src: /src/vlc/modules/audio_output/winstore.c:598,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/winstore.c:599,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/winstore.c:601,1
    - Dst: ISimpleAudioVolume_GetMute
      Src: /src/vlc/modules/audio_output/winstore.c:606,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/winstore.c:607,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/winstore.c:609,1
    - Dst: aout_VolumeReport
      Src: /src/vlc/modules/audio_output/winstore.c:613,1
    - Dst: cbrtf
      Src: /src/vlc/modules/audio_output/winstore.c:613,1
    - Dst: aout_MuteReport
      Src: /src/vlc/modules/audio_output/winstore.c:614,1
    - Dst: ISimpleAudioVolume_Release
      Src: /src/vlc/modules/audio_output/winstore.c:618,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/winstore.c:624,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/audio_output/winstore.c:628,1
    - Dst: aout_stream_owner_Stop
      Src: /src/vlc/modules/audio_output/winstore.c:630,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/winstore.c:635,1
    - Dst: LeaveMTA
      Src: /src/vlc/modules/audio_output/winstore.c:636,1
    - Dst: SetRequestedDevice
      Src: /src/vlc/modules/audio_output/winstore.c:642,1
    - Dst: CloseHandle
      Src: /src/vlc/modules/audio_output/winstore.c:648,1
    - Dst: aout_stream_owner_Delete
      Src: /src/vlc/modules/audio_output/winstore.c:649,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/winstore.c:650,1
    - Dst: LeaveMTA
      Src: /src/vlc/modules/audio_output/winstore.c:651,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 89
    argCount: 2
    argNames:
    - aout
    - fmt
    argTypes:
    - audio_output_t*
    - audio_sample_format_t*
    assertStmts:
    - condition: (sys->stream == NULL)
      pos:
        line_end: 623
        line_start: 623
        source_file: /src/vlc/modules/audio_output/winstore.c
    constantsTouched: []
    func_position:
      end: 653
      start: 511
    functionDepth: 2
    functionLinenumber: 511
    functionLinenumberEnd: 653
    functionName: Start
    functionSourceFile: /src/vlc/modules/audio_output/winstore.c
    functionUses: 59
    functionsReached:
    - aout_VolumeReport
    - assert
    - aout_MuteReport
    - ISimpleAudioVolume_GetMute
    - CreateEvent
    - ISimpleAudioVolume_Release
    - vlc_mutex_lock
    - DeviceSelectLocked
    - msg_Err
    - SetRequestedDevice
    - CloseHandle
    - vlc_module_load
    - aout_stream_owner_Delete
    - aout_stream_owner_Stop
    - aout_stream_owner_New
    - cbrtf
    - ISimpleAudioVolume_GetMasterVolume
    - EnterMTA
    - vlc_mutex_unlock
    - wcscmp
    - vlc_clone
    - vlc_object_logger
    - FAILED
    - IAudioClient_GetService
    - DeviceRestartLocked
    - LeaveMTA
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Start(audio_output_t *aout, audio_sample_format_t *restrict fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_output/winstore.c:659,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/winstore.c:661,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/winstore.c:663,1
    - Dst: SetEvent
      Src: /src/vlc/modules/audio_output/winstore.c:664,1
    - Dst: vlc_join
      Src: /src/vlc/modules/audio_output/winstore.c:665,1
    - Dst: EnterMTA
      Src: /src/vlc/modules/audio_output/winstore.c:667,1
    - Dst: aout_stream_owner_Stop
      Src: /src/vlc/modules/audio_output/winstore.c:668,1
    - Dst: LeaveMTA
      Src: /src/vlc/modules/audio_output/winstore.c:669,1
    - Dst: CloseHandle
      Src: /src/vlc/modules/audio_output/winstore.c:671,1
    - Dst: aout_stream_owner_Delete
      Src: /src/vlc/modules/audio_output/winstore.c:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts:
    - condition: (sys->stream != NULL)
      pos:
        line_end: 658
        line_start: 658
        source_file: /src/vlc/modules/audio_output/winstore.c
    constantsTouched: []
    func_position:
      end: 674
      start: 655
    functionDepth: 2
    functionLinenumber: 655
    functionLinenumberEnd: 674
    functionName: Stop
    functionSourceFile: /src/vlc/modules/audio_output/winstore.c
    functionUses: 44
    functionsReached:
    - assert
    - EnterMTA
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - aout_stream_owner_Delete
    - aout_stream_owner_Stop
    - vlc_join
    - LeaveMTA
    - SetEvent
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: void Stop(audio_output_t *aout)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/audio_output/winstore.c:680,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/winstore.c:681,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/winstore.c:684,1
    - Dst: FAILED
      Src: /src/vlc/modules/audio_output/winstore.c:684,1
    - Dst: StringFromIID
      Src: /src/vlc/modules/audio_output/winstore.c:684,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/winstore.c:686,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/winstore.c:687,1
    - Dst: FromWide
      Src: /src/vlc/modules/audio_output/winstore.c:691,1
    - Dst: likely
      Src: /src/vlc/modules/audio_output/winstore.c:692,1
    - Dst: aout_HotplugReport
      Src: /src/vlc/modules/audio_output/winstore.c:694,1
    - Dst: _
      Src: /src/vlc/modules/audio_output/winstore.c:694,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/winstore.c:695,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/audio_output/winstore.c:698,1
    - Dst: vlc_sem_init
      Src: /src/vlc/modules/audio_output/winstore.c:700,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 719
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_output/winstore.c
    functionUses: 50
    functionsReached:
    - vlc_sem_init
    - FAILED
    - StringFromIID
    - aout_HotplugReport
    - _
    - vlc_mutex_init
    - free
    - msg_Dbg
    - likely
    - FromWide
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IAudioClient_Release
      Src: /src/vlc/modules/audio_output/winstore.c:727,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/winstore.c:729,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/winstore.c:731,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/winstore.c:733,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/audio_output/winstore.c:734,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/winstore.c:736,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: (sys->refs == 0)
      pos:
        line_end: 728
        line_start: 728
        source_file: /src/vlc/modules/audio_output/winstore.c
    constantsTouched: []
    func_position:
      end: 737
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 737
    functionName: Close
    functionSourceFile: /src/vlc/modules/audio_output/winstore.c
    functionUses: 142
    functionsReached:
    - free
    - assert
    - IAudioClient_Release
    - CoTaskMemFree
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *obj)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_output/jack.c:126,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/audio_output/jack.c:133,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/jack.c:136,1
    - Dst: asprintf
      Src: /src/vlc/modules/audio_output/jack.c:137,1
    - Dst: getpid
      Src: /src/vlc/modules/audio_output/jack.c:137,1
    - Dst: jack_client_open
      Src: /src/vlc/modules/audio_output/jack.c:141,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/jack.c:146,1
    - Dst: jack_set_process_callback
      Src: /src/vlc/modules/audio_output/jack.c:152,1
    - Dst: jack_set_graph_order_callback
      Src: /src/vlc/modules/audio_output/jack.c:153,1
    - Dst: jack_get_sample_rate
      Src: /src/vlc/modules/audio_output/jack.c:158,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_output/jack.c:164,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/audio_output/jack.c:165,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/audio_output/jack.c:167,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/audio_output/jack.c:174,1
    - Dst: jack_get_buffer_size
      Src: /src/vlc/modules/audio_output/jack.c:181,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/audio_output/jack.c:182,1
    - Dst: jack_set_buffer_size_callback
      Src: /src/vlc/modules/audio_output/jack.c:189,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/jack.c:192,1
    - Dst: samples_from_vlc_tick
      Src: /src/vlc/modules/audio_output/jack.c:198,1
    - Dst: jack_ringbuffer_create
      Src: /src/vlc/modules/audio_output/jack.c:199,1
    - Dst: jack_ringbuffer_mlock
      Src: /src/vlc/modules/audio_output/jack.c:207,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/jack.c:209,1
    - Dst: asprintf
      Src: /src/vlc/modules/audio_output/jack.c:216,1
    - Dst: jack_port_register
      Src: /src/vlc/modules/audio_output/jack.c:218,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/jack.c:220,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/jack.c:225,1
    - Dst: jack_activate
      Src: /src/vlc/modules/audio_output/jack.c:232,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/jack.c:235,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/audio_output/jack.c:241,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/audio_output/jack.c:244,1
    - Dst: jack_get_ports
      Src: /src/vlc/modules/audio_output/jack.c:245,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/jack.c:248,1
    - Dst: jack_port_name
      Src: /src/vlc/modules/audio_output/jack.c:260,1
    - Dst: jack_connect
      Src: /src/vlc/modules/audio_output/jack.c:262,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/jack.c:265,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/jack.c:270,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/jack.c:274,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/jack.c:277,1
    - Dst: jack_deactivate
      Src: /src/vlc/modules/audio_output/jack.c:287,1
    - Dst: jack_client_close
      Src: /src/vlc/modules/audio_output/jack.c:288,1
    - Dst: jack_ringbuffer_free
      Src: /src/vlc/modules/audio_output/jack.c:291,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/jack.c:293,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/jack.c:294,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/jack.c:295,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/jack.c:297,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 112
    argCount: 2
    argNames:
    - p_aout
    - fmt
    argTypes:
    - audio_output_t*
    - audio_sample_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 299
    functionName: Start
    functionSourceFile: /src/vlc/modules/audio_output/jack.c
    functionUses: 59
    functionsReached:
    - jack_activate
    - jack_port_register
    - jack_port_name
    - vlc_alloc
    - jack_ringbuffer_free
    - jack_deactivate
    - asprintf
    - jack_get_buffer_size
    - jack_set_buffer_size_callback
    - msg_Err
    - jack_get_sample_rate
    - msg_Dbg
    - jack_set_process_callback
    - msg_Warn
    - aout_FormatNbChannels
    - samples_from_vlc_tick
    - aout_FormatPrepare
    - var_InheritBool
    - jack_client_close
    - jack_connect
    - getpid
    - jack_get_ports
    - var_InheritString
    - jack_set_graph_order_callback
    - jack_client_open
    - free
    - jack_ringbuffer_create
    - jack_ringbuffer_mlock
    linkageType: ''
    returnType: int
    signature: int Start( audio_output_t *p_aout, audio_sample_format_t *restrict
      fmt )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jack_ringbuffer_write_space
      Src: /src/vlc/modules/audio_output/jack.c:310,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/jack.c:315,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/jack.c:316,1
    - Dst: jack_ringbuffer_write
      Src: /src/vlc/modules/audio_output/jack.c:321,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_output/jack.c:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - p_aout
    - p_block
    - date
    argTypes:
    - audio_output_t*
    - block_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 329
    functionName: Play
    functionSourceFile: /src/vlc/modules/audio_output/jack.c
    functionUses: 22
    functionsReached:
    - block_Release
    - jack_ringbuffer_write_space
    - msg_Warn
    - unlikely
    - jack_ringbuffer_write
    linkageType: ''
    returnType: void
    signature: void Play(audio_output_t * p_aout, block_t * p_block, vlc_tick_t date)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/jack.c:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - aout
    - paused
    - date
    argTypes:
    - audio_output_t*
    - bool
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 345
    functionName: Pause
    functionSourceFile: /src/vlc/modules/audio_output/jack.c
    functionUses: 27
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void Pause(audio_output_t *aout, bool paused, vlc_tick_t date)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jack_ringbuffer_reset
      Src: /src/vlc/modules/audio_output/jack.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 354
    functionName: Flush
    functionSourceFile: /src/vlc/modules/audio_output/jack.c
    functionUses: 65
    functionsReached:
    - jack_ringbuffer_reset
    linkageType: ''
    returnType: void
    signature: void Flush(audio_output_t *p_aout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aout_VolumeReport
      Src: /src/vlc/modules/audio_output/jack.c:360,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/audio_output/jack.c:361,1
    - Dst: config_PutFloat
      Src: /src/vlc/modules/audio_output/jack.c:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p_aout
    - vol
    argTypes:
    - audio_output_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 364
    functionName: VolumeSet
    functionSourceFile: /src/vlc/modules/audio_output/jack.c
    functionUses: 0
    functionsReached:
    - aout_VolumeReport
    - var_InheritBool
    - config_PutFloat
    linkageType: ''
    returnType: int
    signature: int VolumeSet(audio_output_t *p_aout, float vol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aout_MuteReport
      Src: /src/vlc/modules/audio_output/jack.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_aout
    - mute
    argTypes:
    - audio_output_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 372
    functionName: MuteSet
    functionSourceFile: /src/vlc/modules/audio_output/jack.c
    functionUses: 1
    functionsReached:
    - aout_MuteReport
    linkageType: ''
    returnType: int
    signature: int MuteSet(audio_output_t *p_aout, bool mute)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/audio_output/jack.c:383,1
    - Dst: jack_ringbuffer_read_space
      Src: /src/vlc/modules/audio_output/jack.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_aout
    - delay
    argTypes:
    - audio_output_t*
    - vlc_tick_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 387
    functionName: TimeGet
    functionSourceFile: /src/vlc/modules/audio_output/jack.c
    functionUses: 0
    functionsReached:
    - vlc_tick_from_samples
    - jack_ringbuffer_read_space
    linkageType: ''
    returnType: int
    signature: int TimeGet(audio_output_t *p_aout, vlc_tick_t *delay)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jack_ringbuffer_read
      Src: /src/vlc/modules/audio_output/jack.c:409,1
    - Dst: jack_port_get_buffer
      Src: /src/vlc/modules/audio_output/jack.c:417,1
    - Dst: memset
      Src: /src/vlc/modules/audio_output/jack.c:428,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - i_frames
    - p_arg
    argTypes:
    - jack_nframes_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 434
    functionName: Process
    functionSourceFile: /src/vlc/modules/audio_output/jack.c
    functionUses: 11
    functionsReached:
    - jack_port_get_buffer
    - jack_ringbuffer_read
    - memset
    linkageType: ''
    returnType: int
    signature: int Process( jack_nframes_t i_frames, void *p_arg )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_reallocarray
      Src: /src/vlc/modules/audio_output/jack.c:445,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/jack.c:449,1
    - Dst: jack_deactivate
      Src: /src/vlc/modules/audio_output/jack.c:450,1
    - Dst: aout_RestartRequest
      Src: /src/vlc/modules/audio_output/jack.c:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - nframes
    - p_arg
    argTypes:
    - jack_nframes_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 456
    functionName: Buffer_ch
    functionSourceFile: /src/vlc/modules/audio_output/jack.c
    functionUses: 0
    functionsReached:
    - jack_deactivate
    - vlc_reallocarray
    - aout_RestartRequest
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int Buffer_ch( jack_nframes_t nframes, void *p_arg )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jack_port_get_latency_range
      Src: /src/vlc/modules/audio_output/jack.c:474,1
    - Dst: __MAX
      Src: /src/vlc/modules/audio_output/jack.c:476,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/jack.c:479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p_arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 483
    functionName: GraphChange
    functionSourceFile: /src/vlc/modules/audio_output/jack.c
    functionUses: 0
    functionsReached:
    - __MAX
    - jack_port_get_latency_range
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int GraphChange( void *p_arg )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jack_deactivate
      Src: /src/vlc/modules/audio_output/jack.c:493,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/jack.c:496,1
    - Dst: jack_client_close
      Src: /src/vlc/modules/audio_output/jack.c:499,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/jack.c:502,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/jack.c:504,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/jack.c:505,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/jack.c:506,1
    - Dst: jack_ringbuffer_free
      Src: /src/vlc/modules/audio_output/jack.c:507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - p_aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 508
    functionName: Stop
    functionSourceFile: /src/vlc/modules/audio_output/jack.c
    functionUses: 44
    functionsReached:
    - jack_client_close
    - msg_Err
    - free
    - jack_ringbuffer_free
    - jack_deactivate
    linkageType: ''
    returnType: void
    signature: void Stop( audio_output_t *p_aout )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/audio_output/jack.c:513,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/jack.c:515,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/audio_output/jack.c:518,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/audio_output/jack.c:519,1
    - Dst: aout_VolumeReport
      Src: /src/vlc/modules/audio_output/jack.c:520,1
    - Dst: cbrtf
      Src: /src/vlc/modules/audio_output/jack.c:520,1
    - Dst: aout_MuteReport
      Src: /src/vlc/modules/audio_output/jack.c:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 529
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_output/jack.c
    functionUses: 50
    functionsReached:
    - aout_VolumeReport
    - aout_MuteReport
    - var_InheritBool
    - unlikely
    - calloc
    - cbrtf
    - var_InheritFloat
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/audio_output/jack.c:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 537
    functionName: Close
    functionSourceFile: /src/vlc/modules/audio_output/jack.c
    functionUses: 142
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_pw_debug
      Src: /src/vlc/modules/audio_output/pipewire.c:79,1
    - Dst: aout_MuteReport
      Src: /src/vlc/modules/audio_output/pipewire.c:83,1
    - Dst: fmaxf
      Src: /src/vlc/modules/audio_output/pipewire.c:90,1
    - Dst: aout_VolumeReport
      Src: /src/vlc/modules/audio_output/pipewire.c:93,1
    - Dst: cbrtf
      Src: /src/vlc/modules/audio_output/pipewire.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - data
    - id
    - control
    argTypes:
    - void*
    - uint32_t
    - struct pw_stream_control*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 97
    functionName: stream_control_info
    functionSourceFile: /src/vlc/modules/audio_output/pipewire.c
    functionUses: 0
    functionsReached:
    - aout_VolumeReport
    - aout_MuteReport
    - cbrtf
    - fmaxf
    - vlc_pw_debug
    linkageType: ''
    returnType: void
    signature: "void stream_control_info(void *data, uint32_t id,\n                                const
      struct pw_stream_control *control)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_pw_error
      Src: /src/vlc/modules/audio_output/pipewire.c:111,1
    - Dst: vlc_pw_debug
      Src: /src/vlc/modules/audio_output/pipewire.c:115,1
    - Dst: pw_stream_state_as_string
      Src: /src/vlc/modules/audio_output/pipewire.c:116,1
    - Dst: vlc_pw_signal
      Src: /src/vlc/modules/audio_output/pipewire.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - data
    - old
    - state
    - err
    argTypes:
    - void*
    - enum pw_stream_state
    - enum pw_stream_state
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 119
    functionName: stream_state_changed
    functionSourceFile: /src/vlc/modules/audio_output/pipewire.c
    functionUses: 0
    functionsReached:
    - vlc_pw_signal
    - vlc_pw_error
    - pw_stream_state_as_string
    - vlc_pw_debug
    linkageType: ''
    returnType: void
    signature: "void stream_state_changed(void *data, enum pw_stream_state old,\n
      \                                enum pw_stream_state state, const char *err)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PW_CHECK_VERSION
      Src: /src/vlc/modules/audio_output/pipewire.c:128,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/audio_output/pipewire.c:130,1
    - Dst: pw_stream_get_nsec
      Src: /src/vlc/modules/audio_output/pipewire.c:130,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/audio_output/pipewire.c:132,1
    - Dst: pw_stream_get_time_n
      Src: /src/vlc/modules/audio_output/pipewire.c:135,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/audio_output/pipewire.c:139,1
    - Dst: vlc_tick_from_frac
      Src: /src/vlc/modules/audio_output/pipewire.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - s
    - now
    argTypes:
    - struct vlc_pw_stream*
    - vlc_tick_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 144
    functionName: stream_update_latency
    functionSourceFile: /src/vlc/modules/audio_output/pipewire.c
    functionUses: 1
    functionsReached:
    - vlc_tick_now
    - PW_CHECK_VERSION
    - pw_stream_get_time_n
    - pw_stream_get_nsec
    - VLC_TICK_FROM_NS
    - vlc_tick_from_frac
    linkageType: ''
    returnType: int
    signature: int stream_update_latency(struct vlc_pw_stream *s, vlc_tick_t *now)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: stream_update_latency
      Src: /src/vlc/modules/audio_output/pipewire.c:155,1
    - Dst: pw_stream_dequeue_buffer
      Src: /src/vlc/modules/audio_output/pipewire.c:156,1
    - Dst: likely
      Src: /src/vlc/modules/audio_output/pipewire.c:158,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/audio_output/pipewire.c:180,1
    - Dst: vlc_pw_debug
      Src: /src/vlc/modules/audio_output/pipewire.c:184,1
    - Dst: vlc_pw_debug
      Src: /src/vlc/modules/audio_output/pipewire.c:188,1
    - Dst: samples_from_vlc_tick
      Src: /src/vlc/modules/audio_output/pipewire.c:190,1
    - Dst: vlc_pw_warn
      Src: /src/vlc/modules/audio_output/pipewire.c:194,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/pipewire.c:200,1
    - Dst: memset
      Src: /src/vlc/modules/audio_output/pipewire.c:201,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/audio_output/pipewire.c:210,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/audio_output/pipewire.c:212,1
    - Dst: aout_TimingReport
      Src: /src/vlc/modules/audio_output/pipewire.c:214,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/audio_output/pipewire.c:216,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/audio_output/pipewire.c:217,1
    - Dst: memcpy
      Src: /src/vlc/modules/audio_output/pipewire.c:224,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/pipewire.c:230,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/pipewire.c:236,1
    - Dst: vlc_frame_Release
      Src: /src/vlc/modules/audio_output/pipewire.c:241,1
    - Dst: pw_stream_queue_buffer
      Src: /src/vlc/modules/audio_output/pipewire.c:248,1
    - Dst: pw_stream_flush
      Src: /src/vlc/modules/audio_output/pipewire.c:255,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts:
    - condition: (skip <= room)
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/vlc/modules/audio_output/pipewire.c
    - condition: ((length % s->stride) == 0)
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/vlc/modules/audio_output/pipewire.c
    - condition: (room == 0)
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/vlc/modules/audio_output/pipewire.c
    constantsTouched: []
    func_position:
      end: 257
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 257
    functionName: stream_process
    functionSourceFile: /src/vlc/modules/audio_output/pipewire.c
    functionUses: 0
    functionsReached:
    - samples_from_vlc_tick
    - pw_stream_dequeue_buffer
    - vlc_pw_warn
    - assert
    - vlc_frame_Release
    - pw_stream_queue_buffer
    - memset
    - stream_update_latency
    - VLC_TICK_FROM_SEC
    - memcpy
    - vlc_tick_from_samples
    - likely
    - pw_stream_flush
    - aout_TimingReport
    - vlc_pw_debug
    linkageType: ''
    returnType: void
    signature: void stream_process(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_pw_debug
      Src: /src/vlc/modules/audio_output/pipewire.c:268,1
    - Dst: aout_DrainedReport
      Src: /src/vlc/modules/audio_output/pipewire.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 270
    functionName: stream_drained
    functionSourceFile: /src/vlc/modules/audio_output/pipewire.c
    functionUses: 0
    functionsReached:
    - aout_DrainedReport
    - vlc_pw_debug
    linkageType: ''
    returnType: void
    signature: void stream_drained(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_pw_debug
      Src: /src/vlc/modules/audio_output/pipewire.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 277
    functionName: stream_trigger_done
    functionSourceFile: /src/vlc/modules/audio_output/pipewire.c
    functionUses: 0
    functionsReached:
    - vlc_pw_debug
    linkageType: ''
    returnType: void
    signature: void stream_trigger_done(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pw_stream_get_state
      Src: /src/vlc/modules/audio_output/pipewire.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct vlc_pw_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 294
    functionName: vlc_pw_stream_get_state
    functionSourceFile: /src/vlc/modules/audio_output/pipewire.c
    functionUses: 0
    functionsReached:
    - pw_stream_get_state
    linkageType: ''
    returnType: enum pw_stream_state
    signature: enum pw_stream_state vlc_pw_stream_get_state(struct vlc_pw_stream *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_output/pipewire.c:302,1
    - Dst: vlc_pw_lock
      Src: /src/vlc/modules/audio_output/pipewire.c:303,1
    - Dst: vlc_pw_stream_get_state
      Src: /src/vlc/modules/audio_output/pipewire.c:304,1
    - Dst: vlc_frame_Release
      Src: /src/vlc/modules/audio_output/pipewire.c:305,1
    - Dst: pw_stream_set_active
      Src: /src/vlc/modules/audio_output/pipewire.c:312,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/pipewire.c:313,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/audio_output/pipewire.c:320,1
    - Dst: vlc_pw_unlock
      Src: /src/vlc/modules/audio_output/pipewire.c:327,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - s
    - block
    - date
    argTypes:
    - struct vlc_pw_stream*
    - vlc_frame_t*
    - vlc_tick_t
    assertStmts:
    - condition: ((block->i_buffer % s->stride) == 0)
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/vlc/modules/audio_output/pipewire.c
    - condition: (!s->starting)
      pos:
        line_end: 312
        line_start: 312
        source_file: /src/vlc/modules/audio_output/pipewire.c
    constantsTouched: []
    func_position:
      end: 328
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 328
    functionName: vlc_pw_stream_play
    functionSourceFile: /src/vlc/modules/audio_output/pipewire.c
    functionUses: 0
    functionsReached:
    - vlc_frame_Release
    - pw_stream_set_active
    - assert
    - vlc_pw_stream_get_state
    - vlc_pw_lock
    - vlc_pw_unlock
    - vlc_tick_from_samples
    linkageType: ''
    returnType: void
    signature: "void vlc_pw_stream_play(struct vlc_pw_stream *s, vlc_frame_t *block,\n
      \                              vlc_tick_t date)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_pw_lock
      Src: /src/vlc/modules/audio_output/pipewire.c:336,1
    - Dst: pw_stream_set_active
      Src: /src/vlc/modules/audio_output/pipewire.c:337,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/pipewire.c:339,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/pipewire.c:340,1
    - Dst: vlc_pw_unlock
      Src: /src/vlc/modules/audio_output/pipewire.c:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - s
    - paused
    - date
    argTypes:
    - struct vlc_pw_stream*
    - bool
    - vlc_tick_t
    assertStmts:
    - condition: (s->start != VLC_TICK_INVALID)
      pos:
        line_end: 339
        line_start: 339
        source_file: /src/vlc/modules/audio_output/pipewire.c
    constantsTouched: []
    func_position:
      end: 347
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 347
    functionName: vlc_pw_stream_set_pause
    functionSourceFile: /src/vlc/modules/audio_output/pipewire.c
    functionUses: 0
    functionsReached:
    - pw_stream_set_active
    - assert
    - vlc_pw_lock
    - vlc_pw_unlock
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void vlc_pw_stream_set_pause(struct vlc_pw_stream *s, bool paused,\n
      \                                   vlc_tick_t date)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_pw_lock
      Src: /src/vlc/modules/audio_output/pipewire.c:354,1
    - Dst: vlc_frame_ChainRelease
      Src: /src/vlc/modules/audio_output/pipewire.c:355,1
    - Dst: pw_stream_flush
      Src: /src/vlc/modules/audio_output/pipewire.c:365,1
    - Dst: vlc_pw_unlock
      Src: /src/vlc/modules/audio_output/pipewire.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct vlc_pw_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 367
    functionName: vlc_pw_stream_flush
    functionSourceFile: /src/vlc/modules/audio_output/pipewire.c
    functionUses: 0
    functionsReached:
    - vlc_pw_unlock
    - vlc_pw_lock
    - pw_stream_flush
    - vlc_frame_ChainRelease
    linkageType: ''
    returnType: void
    signature: void vlc_pw_stream_flush(struct vlc_pw_stream *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_pw_lock
      Src: /src/vlc/modules/audio_output/pipewire.c:377,1
    - Dst: vlc_pw_stream_get_state
      Src: /src/vlc/modules/audio_output/pipewire.c:380,1
    - Dst: stream_drained
      Src: /src/vlc/modules/audio_output/pipewire.c:381,1
    - Dst: pw_stream_flush
      Src: /src/vlc/modules/audio_output/pipewire.c:383,1
    - Dst: vlc_pw_unlock
      Src: /src/vlc/modules/audio_output/pipewire.c:386,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct vlc_pw_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 387
    functionName: vlc_pw_stream_drain
    functionSourceFile: /src/vlc/modules/audio_output/pipewire.c
    functionUses: 0
    functionsReached:
    - stream_drained
    - vlc_pw_stream_get_state
    - vlc_pw_unlock
    - vlc_pw_lock
    - pw_stream_flush
    linkageType: ''
    returnType: void
    signature: void vlc_pw_stream_drain(struct vlc_pw_stream *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_pw_lock
      Src: /src/vlc/modules/audio_output/pipewire.c:394,1
    - Dst: pw_stream_get_control
      Src: /src/vlc/modules/audio_output/pipewire.c:395,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/pipewire.c:400,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/audio_output/pipewire.c:400,1
    - Dst: fmaxf
      Src: /src/vlc/modules/audio_output/pipewire.c:403,1
    - Dst: fmaxf
      Src: /src/vlc/modules/audio_output/pipewire.c:408,1
    - Dst: pw_stream_set_control
      Src: /src/vlc/modules/audio_output/pipewire.c:410,1
    - Dst: vlc_pw_unlock
      Src: /src/vlc/modules/audio_output/pipewire.c:413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - s
    - vol
    argTypes:
    - struct vlc_pw_stream*
    - float
    assertStmts:
    - condition: (old->n_values <= ARRAY_SIZE(values))
      pos:
        line_end: 399
        line_start: 399
        source_file: /src/vlc/modules/audio_output/pipewire.c
    constantsTouched: []
    func_position:
      end: 414
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 414
    functionName: vlc_pw_stream_set_volume
    functionSourceFile: /src/vlc/modules/audio_output/pipewire.c
    functionUses: 0
    functionsReached:
    - assert
    - ARRAY_SIZE
    - vlc_pw_lock
    - vlc_pw_unlock
    - pw_stream_get_control
    - pw_stream_set_control
    - fmaxf
    linkageType: ''
    returnType: void
    signature: void vlc_pw_stream_set_volume(struct vlc_pw_stream *s, float vol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_pw_lock
      Src: /src/vlc/modules/audio_output/pipewire.c:420,1
    - Dst: pw_stream_set_control
      Src: /src/vlc/modules/audio_output/pipewire.c:421,1
    - Dst: vlc_pw_unlock
      Src: /src/vlc/modules/audio_output/pipewire.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - mute
    argTypes:
    - struct vlc_pw_stream*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 423
    functionName: vlc_pw_stream_set_mute
    functionSourceFile: /src/vlc/modules/audio_output/pipewire.c
    functionUses: 0
    functionsReached:
    - vlc_pw_unlock
    - vlc_pw_lock
    - pw_stream_set_control
    linkageType: ''
    returnType: void
    signature: void vlc_pw_stream_set_mute(struct vlc_pw_stream *s, bool mute)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SPA_DICT_ITEM_INIT
      Src: /src/vlc/modules/audio_output/pipewire.c:429,1
    - Dst: SPA_DICT_INIT
      Src: /src/vlc/modules/audio_output/pipewire.c:431,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/audio_output/pipewire.c:431,1
    - Dst: vlc_pw_debug
      Src: /src/vlc/modules/audio_output/pipewire.c:433,1
    - Dst: vlc_pw_lock
      Src: /src/vlc/modules/audio_output/pipewire.c:434,1
    - Dst: pw_stream_update_properties
      Src: /src/vlc/modules/audio_output/pipewire.c:435,1
    - Dst: vlc_pw_unlock
      Src: /src/vlc/modules/audio_output/pipewire.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - name
    argTypes:
    - struct vlc_pw_stream*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 437
    functionName: vlc_pw_stream_select_device
    functionSourceFile: /src/vlc/modules/audio_output/pipewire.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - SPA_DICT_INIT
    - vlc_pw_lock
    - pw_stream_update_properties
    - vlc_pw_unlock
    - SPA_DICT_ITEM_INIT
    - vlc_pw_debug
    linkageType: ''
    returnType: void
    signature: "void vlc_pw_stream_select_device(struct vlc_pw_stream *s,\n                                        const
      char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_pw_stream_flush
      Src: /src/vlc/modules/audio_output/pipewire.c:441,1
    - Dst: vlc_pw_lock
      Src: /src/vlc/modules/audio_output/pipewire.c:442,1
    - Dst: pw_stream_disconnect
      Src: /src/vlc/modules/audio_output/pipewire.c:443,1
    - Dst: pw_stream_destroy
      Src: /src/vlc/modules/audio_output/pipewire.c:444,1
    - Dst: vlc_pw_unlock
      Src: /src/vlc/modules/audio_output/pipewire.c:445,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/pipewire.c:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct vlc_pw_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 447
    functionName: vlc_pw_stream_destroy
    functionSourceFile: /src/vlc/modules/audio_output/pipewire.c
    functionUses: 2
    functionsReached:
    - vlc_pw_stream_flush
    - vlc_pw_lock
    - pw_stream_disconnect
    - vlc_pw_unlock
    - free
    - pw_stream_destroy
    linkageType: ''
    returnType: void
    signature: void vlc_pw_stream_destroy(struct vlc_pw_stream *s)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: vlc_pw_error
      Src: /src/vlc/modules/audio_output/pipewire.c:515,1
    - Dst: vlc_pw_error
      Src: /src/vlc/modules/audio_output/pipewire.c:526,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/audio_output/pipewire.c:547,1
    - Dst: SPA_POD_BUILDER_INIT
      Src: /src/vlc/modules/audio_output/pipewire.c:560,1
    - Dst: spa_format_audio_raw_build
      Src: /src/vlc/modules/audio_output/pipewire.c:564,1
    - Dst: spa_format_audio_iec958_build
      Src: /src/vlc/modules/audio_output/pipewire.c:573,1
    - Dst: pw_properties_new
      Src: /src/vlc/modules/audio_output/pipewire.c:580,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/pipewire.c:583,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/audio_output/pipewire.c:586,1
    - Dst: pw_properties_setf
      Src: /src/vlc/modules/audio_output/pipewire.c:588,1
    - Dst: toupper
      Src: /src/vlc/modules/audio_output/pipewire.c:589,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/pipewire.c:590,1
    - Dst: pw_properties_setf
      Src: /src/vlc/modules/audio_output/pipewire.c:599,1
    - Dst: samples_from_vlc_tick
      Src: /src/vlc/modules/audio_output/pipewire.c:600,1
    - Dst: malloc
      Src: /src/vlc/modules/audio_output/pipewire.c:606,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/pipewire.c:607,1
    - Dst: pw_properties_free
      Src: /src/vlc/modules/audio_output/pipewire.c:608,1
    - Dst: vlc_pw_lock
      Src: /src/vlc/modules/audio_output/pipewire.c:633,1
    - Dst: vlc_pw_stream_new
      Src: /src/vlc/modules/audio_output/pipewire.c:634,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/pipewire.c:635,1
    - Dst: vlc_pw_unlock
      Src: /src/vlc/modules/audio_output/pipewire.c:636,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/pipewire.c:637,1
    - Dst: SPA_DICT_ITEM_INIT
      Src: /src/vlc/modules/audio_output/pipewire.c:644,1
    - Dst: SPA_DICT_INIT
      Src: /src/vlc/modules/audio_output/pipewire.c:646,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/audio_output/pipewire.c:646,1
    - Dst: snprintf
      Src: /src/vlc/modules/audio_output/pipewire.c:648,1
    - Dst: pw_stream_update_properties
      Src: /src/vlc/modules/audio_output/pipewire.c:649,1
    - Dst: pw_stream_add_listener
      Src: /src/vlc/modules/audio_output/pipewire.c:652,1
    - Dst: pw_stream_connect
      Src: /src/vlc/modules/audio_output/pipewire.c:653,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/audio_output/pipewire.c:654,1
    - Dst: vlc_pw_stream_get_state
      Src: /src/vlc/modules/audio_output/pipewire.c:659,1
    - Dst: vlc_pw_wait
      Src: /src/vlc/modules/audio_output/pipewire.c:660,1
    - Dst: vlc_pw_stream_get_state
      Src: /src/vlc/modules/audio_output/pipewire.c:667,1
    - Dst: vlc_pw_wait
      Src: /src/vlc/modules/audio_output/pipewire.c:669,1
    - Dst: vlc_pw_unlock
      Src: /src/vlc/modules/audio_output/pipewire.c:671,1
    - Dst: vlc_pw_stream_destroy
      Src: /src/vlc/modules/audio_output/pipewire.c:678,1
    - Dst: vlc_pw_stream_set_mute
      Src: /src/vlc/modules/audio_output/pipewire.c:687,1
    - Dst: isnan
      Src: /src/vlc/modules/audio_output/pipewire.c:690,1
    - Dst: vlc_pw_stream_set_volume
      Src: /src/vlc/modules/audio_output/pipewire.c:691,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 134
    argCount: 2
    argNames:
    - aout
    - fmt
    argTypes:
    - audio_output_t*
    - audio_sample_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 695
    functionName: vlc_pw_stream_create
    functionSourceFile: /src/vlc/modules/audio_output/pipewire.c
    functionUses: 0
    functionsReached:
    - isnan
    - vlc_pw_stream_set_volume
    - pw_properties_setf
    - SPA_DICT_ITEM_INIT
    - SPA_POD_BUILDER_INIT
    - vlc_pw_stream_set_mute
    - ARRAY_SIZE
    - spa_format_audio_raw_build
    - pw_stream_connect
    - pw_properties_new
    - snprintf
    - samples_from_vlc_tick
    - spa_format_audio_iec958_build
    - SPA_DICT_INIT
    - vlc_pw_lock
    - vlc_pw_unlock
    - vlc_pw_error
    - vlc_pw_stream_destroy
    - toupper
    - var_InheritString
    - pw_properties_free
    - vlc_pw_stream_get_state
    - vlc_pw_stream_new
    - pw_stream_update_properties
    - free
    - pw_stream_add_listener
    - vlc_pw_wait
    - unlikely
    - malloc
    linkageType: ''
    returnType: struct vlc_pw_stream
    signature: "struct vlc_pw_stream *vlc_pw_stream_create(audio_output_t *aout,\n
      \                                          audio_sample_format_t *restrict fmt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_pw_stream_play
      Src: /src/vlc/modules/audio_output/pipewire.c:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - aout
    - block
    - date
    argTypes:
    - audio_output_t*
    - vlc_frame_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 697
    functionDepth: 2
    functionLinenumber: 697
    functionLinenumberEnd: 701
    functionName: Play
    functionSourceFile: /src/vlc/modules/audio_output/pipewire.c
    functionUses: 22
    functionsReached:
    - vlc_pw_stream_play
    linkageType: ''
    returnType: void
    signature: void Play(audio_output_t *aout, vlc_frame_t *block, vlc_tick_t date)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_pw_stream_set_pause
      Src: /src/vlc/modules/audio_output/pipewire.c:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - aout
    - paused
    - date
    argTypes:
    - audio_output_t*
    - bool
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 703
    functionDepth: 2
    functionLinenumber: 703
    functionLinenumberEnd: 707
    functionName: Pause
    functionSourceFile: /src/vlc/modules/audio_output/pipewire.c
    functionUses: 27
    functionsReached:
    - vlc_pw_stream_set_pause
    linkageType: ''
    returnType: void
    signature: void Pause(audio_output_t *aout, bool paused, vlc_tick_t date)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_pw_stream_flush
      Src: /src/vlc/modules/audio_output/pipewire.c:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 709
    functionDepth: 2
    functionLinenumber: 709
    functionLinenumberEnd: 713
    functionName: Flush
    functionSourceFile: /src/vlc/modules/audio_output/pipewire.c
    functionUses: 65
    functionsReached:
    - vlc_pw_stream_flush
    linkageType: ''
    returnType: void
    signature: void Flush(audio_output_t *aout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_pw_stream_drain
      Src: /src/vlc/modules/audio_output/pipewire.c:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 715
    functionDepth: 3
    functionLinenumber: 715
    functionLinenumberEnd: 719
    functionName: Drain
    functionSourceFile: /src/vlc/modules/audio_output/pipewire.c
    functionUses: 5
    functionsReached:
    - vlc_pw_stream_drain
    linkageType: ''
    returnType: void
    signature: void Drain(audio_output_t *aout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_pw_stream_destroy
      Src: /src/vlc/modules/audio_output/pipewire.c:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 726
    functionName: Stop
    functionSourceFile: /src/vlc/modules/audio_output/pipewire.c
    functionUses: 44
    functionsReached:
    - vlc_pw_stream_destroy
    linkageType: ''
    returnType: void
    signature: void Stop(audio_output_t *aout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_pw_stream_create
      Src: /src/vlc/modules/audio_output/pipewire.c:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - aout
    - fmt
    argTypes:
    - audio_output_t*
    - audio_sample_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 728
    functionDepth: 3
    functionLinenumber: 728
    functionLinenumberEnd: 734
    functionName: Start
    functionSourceFile: /src/vlc/modules/audio_output/pipewire.c
    functionUses: 59
    functionsReached:
    - vlc_pw_stream_create
    linkageType: ''
    returnType: int
    signature: int Start(audio_output_t *aout, audio_sample_format_t *restrict fmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_pw_stream_set_volume
      Src: /src/vlc/modules/audio_output/pipewire.c:741,1
    - Dst: aout_VolumeReport
      Src: /src/vlc/modules/audio_output/pipewire.c:746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - aout
    - volume
    argTypes:
    - audio_output_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 736
    functionDepth: 2
    functionLinenumber: 736
    functionLinenumberEnd: 748
    functionName: VolumeSet
    functionSourceFile: /src/vlc/modules/audio_output/pipewire.c
    functionUses: 0
    functionsReached:
    - aout_VolumeReport
    - vlc_pw_stream_set_volume
    linkageType: ''
    returnType: int
    signature: int VolumeSet(audio_output_t *aout, float volume)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_pw_stream_set_mute
      Src: /src/vlc/modules/audio_output/pipewire.c:755,1
    - Dst: aout_MuteReport
      Src: /src/vlc/modules/audio_output/pipewire.c:760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - aout
    - mute
    argTypes:
    - audio_output_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 750
    functionDepth: 2
    functionLinenumber: 750
    functionLinenumberEnd: 762
    functionName: MuteSet
    functionSourceFile: /src/vlc/modules/audio_output/pipewire.c
    functionUses: 1
    functionsReached:
    - aout_MuteReport
    - vlc_pw_stream_set_mute
    linkageType: ''
    returnType: int
    signature: int MuteSet(audio_output_t *aout, bool mute)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 778
    functionName: node_by_id
    functionSourceFile: /src/vlc/modules/audio_output/pipewire.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int node_by_id(const void *a, const void *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_pw_stream_select_device
      Src: /src/vlc/modules/audio_output/pipewire.c:785,1
    - Dst: strtoul
      Src: /src/vlc/modules/audio_output/pipewire.c:789,1
    - Dst: aout_DeviceReport
      Src: /src/vlc/modules/audio_output/pipewire.c:790,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - aout
    - name
    argTypes:
    - audio_output_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 780
    functionDepth: 2
    functionLinenumber: 780
    functionLinenumberEnd: 792
    functionName: DeviceSelect
    functionSourceFile: /src/vlc/modules/audio_output/pipewire.c
    functionUses: 2
    functionsReached:
    - strtoul
    - vlc_pw_stream_select_device
    - aout_DeviceReport
    linkageType: ''
    returnType: int
    signature: int DeviceSelect(audio_output_t *aout, const char *name)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: spa_dict_lookup
      Src: /src/vlc/modules/audio_output/pipewire.c:804,1
    - Dst: strcmp
      Src: /src/vlc/modules/audio_output/pipewire.c:807,1
    - Dst: strcmp
      Src: /src/vlc/modules/audio_output/pipewire.c:807,1
    - Dst: spa_atou64
      Src: /src/vlc/modules/audio_output/pipewire.c:809,1
    - Dst: spa_dict_lookup
      Src: /src/vlc/modules/audio_output/pipewire.c:809,1
    - Dst: spa_dict_lookup
      Src: /src/vlc/modules/audio_output/pipewire.c:812,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/pipewire.c:813,1
    - Dst: malloc
      Src: /src/vlc/modules/audio_output/pipewire.c:816,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/pipewire.c:817,1
    - Dst: tsearch
      Src: /src/vlc/modules/audio_output/pipewire.c:823,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/pipewire.c:824,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/pipewire.c:825,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/pipewire.c:829,1
    - Dst: snprintf
      Src: /src/vlc/modules/audio_output/pipewire.c:833,1
    - Dst: aout_HotplugReport
      Src: /src/vlc/modules/audio_output/pipewire.c:834,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 5
    argNames:
    - aout
    - id
    - perms
    - version
    - props
    argTypes:
    - audio_output_t*
    - uint32_t
    - uint32_t
    - uint32_t
    - struct spa_dict*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 794
    functionDepth: 2
    functionLinenumber: 794
    functionLinenumberEnd: 836
    functionName: registry_node
    functionSourceFile: /src/vlc/modules/audio_output/pipewire.c
    functionUses: 1
    functionsReached:
    - snprintf
    - aout_HotplugReport
    - free
    - strcmp
    - tsearch
    - spa_atou64
    - unlikely
    - malloc
    - spa_dict_lookup
    linkageType: ''
    returnType: void
    signature: "void registry_node(audio_output_t *aout, uint32_t id, uint32_t perms,\n
      \                         uint32_t version, const struct spa_dict *props)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/audio_output/pipewire.c:850,1
    - Dst: registry_node
      Src: /src/vlc/modules/audio_output/pipewire.c:851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 6
    argNames:
    - data
    - id
    - perms
    - name
    - version
    - props
    argTypes:
    - void*
    - uint32_t
    - uint32_t
    - char*
    - uint32_t
    - struct spa_dict*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 852
    functionName: registry_global
    functionSourceFile: /src/vlc/modules/audio_output/pipewire.c
    functionUses: 0
    functionsReached:
    - strcmp
    - registry_node
    linkageType: ''
    returnType: void
    signature: "void registry_global(void *data, uint32_t id, uint32_t perms,\n                            const
      char *name, uint32_t version,\n                            const struct spa_dict
      *props)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tfind
      Src: /src/vlc/modules/audio_output/pipewire.c:865,1
    - Dst: snprintf
      Src: /src/vlc/modules/audio_output/pipewire.c:871,1
    - Dst: aout_HotplugReport
      Src: /src/vlc/modules/audio_output/pipewire.c:872,1
    - Dst: tdelete
      Src: /src/vlc/modules/audio_output/pipewire.c:873,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/pipewire.c:874,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - id
    argTypes:
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 860
    functionDepth: 2
    functionLinenumber: 860
    functionLinenumberEnd: 876
    functionName: registry_global_remove
    functionSourceFile: /src/vlc/modules/audio_output/pipewire.c
    functionUses: 0
    functionsReached:
    - tfind
    - aout_HotplugReport
    - free
    - tdelete
    - snprintf
    linkageType: ''
    returnType: void
    signature: void registry_global_remove(void *data, uint32_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_pw_disconnect
      Src: /src/vlc/modules/audio_output/pipewire.c:889,1
    - Dst: tdestroy
      Src: /src/vlc/modules/audio_output/pipewire.c:890,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/pipewire.c:891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 884
    functionDepth: 1
    functionLinenumber: 884
    functionLinenumberEnd: 892
    functionName: Close
    functionSourceFile: /src/vlc/modules/audio_output/pipewire.c
    functionUses: 142
    functionsReached:
    - free
    - vlc_pw_disconnect
    - tdestroy
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/audio_output/pipewire.c:898,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/pipewire.c:899,1
    - Dst: vlc_pw_connect
      Src: /src/vlc/modules/audio_output/pipewire.c:902,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/pipewire.c:904,1
    - Dst: vlc_pw_lock
      Src: /src/vlc/modules/audio_output/pipewire.c:925,1
    - Dst: vlc_pw_registry_listen
      Src: /src/vlc/modules/audio_output/pipewire.c:926,1
    - Dst: vlc_pw_roundtrip_unlocked
      Src: /src/vlc/modules/audio_output/pipewire.c:927,1
    - Dst: vlc_pw_unlock
      Src: /src/vlc/modules/audio_output/pipewire.c:928,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 894
    functionDepth: 3
    functionLinenumber: 894
    functionLinenumberEnd: 930
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_output/pipewire.c
    functionUses: 50
    functionsReached:
    - vlc_pw_lock
    - vlc_pw_connect
    - vlc_pw_unlock
    - free
    - vlc_pw_roundtrip_unlocked
    - unlikely
    - malloc
    - vlc_pw_registry_listen
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pre
    - ','
    - sfm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: STREAM_FORMAT_MSG
    functionSourceFile: /src/vlc/modules/audio_output/apple/coreaudio_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREAM_FORMAT_MSG(pre, sfm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: ca_LogErr
    functionSourceFile: /src/vlc/modules/audio_output/apple/coreaudio_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ca_LogErr(fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: ca_LogWarn
    functionSourceFile: /src/vlc/modules/audio_output/apple/coreaudio_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ca_LogWarn(fmt)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/audio_output/apple/channel_layout.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - chan
    - swap_rear_surround
    argTypes:
    - unsigned
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 62
    functionName: VlcChanToAudioChannelLabel
    functionSourceFile: /src/vlc/modules/audio_output/apple/channel_layout.c
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    linkageType: ''
    returnType: AudioChannelLabel
    signature: AudioChannelLabel VlcChanToAudioChannelLabel(unsigned chan, bool swap_rear_surround)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_output/apple/channel_layout.c:68,1
    - Dst: malloc
      Src: /src/vlc/modules/audio_output/apple/channel_layout.c:76,1
    - Dst: ckd_mul
      Src: /src/vlc/modules/audio_output/apple/channel_layout.c:93,1
    - Dst: ckd_add
      Src: /src/vlc/modules/audio_output/apple/channel_layout.c:94,1
    - Dst: malloc
      Src: /src/vlc/modules/audio_output/apple/channel_layout.c:96,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_output/apple/channel_layout.c:103,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/channel_layout.c:107,1
    - Dst: VlcChanToAudioChannelLabel
      Src: /src/vlc/modules/audio_output/apple/channel_layout.c:117,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/channel_layout.c:123,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - p_aout
    - fmt
    - inlayoutp
    - inlayout_size
    argTypes:
    - audio_output_t*
    - audio_sample_format_t*
    - AudioChannelLayout**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 126
    functionName: channel_layout_MapFromVLC
    functionSourceFile: /src/vlc/modules/audio_output/apple/channel_layout.c
    functionUses: 0
    functionsReached:
    - ckd_add
    - ckd_mul
    - msg_Dbg
    - VlcChanToAudioChannelLabel
    - malloc
    - aout_FormatNbChannels
    linkageType: ''
    returnType: int
    signature: "int channel_layout_MapFromVLC(audio_output_t *p_aout, const audio_sample_format_t
      *fmt,\n                          AudioChannelLayout **inlayoutp, size_t *inlayout_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_sys
    - i_bytes
    argTypes:
    - struct aout_sys_common*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: BytesToFrames
    functionSourceFile: /src/vlc/modules/audio_output/apple/coreaudio_common.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t BytesToFrames(struct aout_sys_common *p_sys, size_t i_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_sys
    - i_nb_frames
    argTypes:
    - struct aout_sys_common*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: FramesToTicks
    functionSourceFile: /src/vlc/modules/audio_output/apple/coreaudio_common.c
    functionUses: 0
    functionsReached:
    - vlc_tick_from_samples
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t FramesToTicks(struct aout_sys_common *p_sys, int64_t i_nb_frames)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FramesToTicks
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:46,1
    - Dst: BytesToFrames
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_sys
    - i_bytes
    argTypes:
    - struct aout_sys_common*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: BytesToTicks
    functionSourceFile: /src/vlc/modules/audio_output/apple/coreaudio_common.c
    functionUses: 0
    functionsReached:
    - FramesToTicks
    - BytesToFrames
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t BytesToTicks(struct aout_sys_common *p_sys, size_t i_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_sys
    - i_frames
    argTypes:
    - struct aout_sys_common*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: FramesToBytes
    functionSourceFile: /src/vlc/modules/audio_output/apple/coreaudio_common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t FramesToBytes(struct aout_sys_common *p_sys, uint64_t i_frames)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: samples_from_vlc_tick
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_sys
    - i_ticks
    argTypes:
    - struct aout_sys_common*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: TicksToFrames
    functionSourceFile: /src/vlc/modules/audio_output/apple/coreaudio_common.c
    functionUses: 0
    functionsReached:
    - samples_from_vlc_tick
    linkageType: ''
    returnType: int64_t
    signature: int64_t TicksToFrames(struct aout_sys_common *p_sys, vlc_tick_t i_ticks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FramesToBytes
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:64,1
    - Dst: TicksToFrames
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_sys
    - i_ticks
    argTypes:
    - struct aout_sys_common*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: TicksToBytes
    functionSourceFile: /src/vlc/modules/audio_output/apple/coreaudio_common.c
    functionUses: 0
    functionsReached:
    - TicksToFrames
    - FramesToBytes
    linkageType: ''
    returnType: size_t
    signature: size_t TicksToBytes(struct aout_sys_common *p_sys, vlc_tick_t i_ticks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_sys
    - i_host_time
    argTypes:
    - struct aout_sys_common*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: HostTimeToTick
    functionSourceFile: /src/vlc/modules/audio_output/apple/coreaudio_common.c
    functionUses: 0
    functionsReached:
    - VLC_TICK_FROM_NS
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t HostTimeToTick(struct aout_sys_common *p_sys, int64_t i_host_time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: ca_ClearOutBuffers
    functionSourceFile: /src/vlc/modules/audio_output/apple/coreaudio_common.c
    functionUses: 0
    functionsReached:
    - block_ChainRelease
    linkageType: ''
    returnType: void
    signature: void ca_ClearOutBuffers(audio_output_t *p_aout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:93,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - struct aout_sys_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: lock_init
    functionSourceFile: /src/vlc/modules/audio_output/apple/coreaudio_common.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_init
    - likely
    linkageType: ''
    returnType: void
    signature: void lock_init(struct aout_sys_common *p_sys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:102,1
    - Dst: os_unfair_lock_lock
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:103,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - struct aout_sys_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: lock_lock
    functionSourceFile: /src/vlc/modules/audio_output/apple/coreaudio_common.c
    functionUses: 1
    functionsReached:
    - likely
    - os_unfair_lock_lock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void lock_lock(struct aout_sys_common *p_sys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:111,1
    - Dst: os_unfair_lock_unlock
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:112,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - struct aout_sys_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: lock_unlock
    functionSourceFile: /src/vlc/modules/audio_output/apple/coreaudio_common.c
    functionUses: 1
    functionsReached:
    - os_unfair_lock_unlock
    - likely
    - vlc_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void lock_unlock(struct aout_sys_common *p_sys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mach_timebase_info
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:122,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:125,1
    - Dst: lock_init
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - p_aout
    argTypes:
    - audio_output_t*
    assertStmts:
    - condition: (p_sys->tinfo.denom != 0 && p_sys->tinfo.numer != 0)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/vlc/modules/audio_output/apple/coreaudio_common.c
    constantsTouched: []
    func_position:
      end: 137
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 137
    functionName: ca_Open
    functionSourceFile: /src/vlc/modules/audio_output/apple/coreaudio_common.c
    functionUses: 0
    functionsReached:
    - assert
    - mach_timebase_info
    - lock_init
    linkageType: ''
    returnType: int
    signature: int ca_Open(audio_output_t *p_aout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct aout_sys_common*::get_latency
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 150
    functionName: GetLatency
    functionSourceFile: /src/vlc/modules/audio_output/apple/coreaudio_common.c
    functionUses: 0
    functionsReached:
    - struct aout_sys_common*::get_latency
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t GetLatency(audio_output_t *p_aout)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime_nsec_np
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:162,1
    - Dst: HostTimeToTick
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:163,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:164,1
    - Dst: BytesToTicks
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:166,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:168,1
    - Dst: lock_lock
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:171,1
    - Dst: memset
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:177,1
    - Dst: lock_unlock
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:178,1
    - Dst: GetLatency
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:192,1
    - Dst: TicksToBytes
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:195,1
    - Dst: memset
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:205,1
    - Dst: memset
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:228,1
    - Dst: lock_unlock
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:229,1
    - Dst: memset
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:243,1
    - Dst: memcpy
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:245,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:260,1
    - Dst: TicksToBytes
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:274,1
    - Dst: BytesToTicks
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:276,1
    - Dst: aout_TimingReport
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:278,1
    - Dst: GetLatency
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:278,1
    - Dst: lock_unlock
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:281,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    argCount: 5
    argNames:
    - p_aout
    - host_time
    - data
    - bytes
    - is_silence
    argTypes:
    - audio_output_t*
    - uint64_t
    - uint8_t*
    - size_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 282
    functionName: ca_Render
    functionSourceFile: /src/vlc/modules/audio_output/apple/coreaudio_common.c
    functionUses: 0
    functionsReached:
    - TicksToBytes
    - vlc_tick_now
    - lock_lock
    - block_Release
    - memset
    - BytesToTicks
    - memcpy
    - HostTimeToTick
    - lock_unlock
    - clock_gettime_nsec_np
    - GetLatency
    - VLC_TICK_FROM_NS
    - aout_TimingReport
    linkageType: ''
    returnType: void
    signature: "void ca_Render(audio_output_t *p_aout, uint64_t host_time,\n          uint8_t
      *data, size_t bytes, bool *is_silence)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_lock
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:290,1
    - Dst: ca_ClearOutBuffers
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:300,1
    - Dst: lock_unlock
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - p_aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 304
    functionName: ca_Flush
    functionSourceFile: /src/vlc/modules/audio_output/apple/coreaudio_common.c
    functionUses: 0
    functionsReached:
    - lock_unlock
    - lock_lock
    - ca_ClearOutBuffers
    linkageType: ''
    returnType: void
    signature: void ca_Flush(audio_output_t *p_aout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:310,1
    - Dst: lock_lock
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:312,1
    - Dst: lock_unlock
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - p_aout
    - pause
    - date
    argTypes:
    - audio_output_t*
    - bool
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 316
    functionName: ca_Pause
    functionSourceFile: /src/vlc/modules/audio_output/apple/coreaudio_common.c
    functionUses: 0
    functionsReached:
    - lock_unlock
    - lock_lock
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void ca_Pause(audio_output_t * p_aout, bool pause, vlc_tick_t date)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_lock
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:323,1
    - Dst: lock_unlock
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_aout
    - muted
    argTypes:
    - audio_output_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 326
    functionName: ca_MuteSet
    functionSourceFile: /src/vlc/modules/audio_output/apple/coreaudio_common.c
    functionUses: 0
    functionsReached:
    - lock_unlock
    - lock_lock
    linkageType: ''
    returnType: void
    signature: void ca_MuteSet(audio_output_t * p_aout, bool muted)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: aout_ChannelReorder
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:335,1
    - Dst: lock_lock
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:339,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:343,1
    - Dst: BytesToTicks
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:346,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:349,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:352,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:357,1
    - Dst: lock_unlock
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:362,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:367,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - p_aout
    - p_block
    - date
    argTypes:
    - audio_output_t*
    - block_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 370
    functionName: ca_Play
    functionSourceFile: /src/vlc/modules/audio_output/apple/coreaudio_common.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - lock_lock
    - BytesToTicks
    - aout_ChannelReorder
    - block_ChainLastAppend
    - lock_unlock
    - msg_Dbg
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: void ca_Play(audio_output_t * p_aout, block_t * p_block, vlc_tick_t
      date)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ca_ClearOutBuffers
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 4
    argNames:
    - p_aout
    - fmt
    - i_dev_latency_ticks
    - get_latency
    argTypes:
    - audio_output_t*
    - audio_sample_format_t*
    - vlc_tick_t
    - get_latency_cb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 403
    functionName: ca_Initialize
    functionSourceFile: /src/vlc/modules/audio_output/apple/coreaudio_common.c
    functionUses: 0
    functionsReached:
    - ca_ClearOutBuffers
    linkageType: ''
    returnType: int
    signature: "int ca_Initialize(audio_output_t *p_aout, const audio_sample_format_t
      *fmt,\n              vlc_tick_t i_dev_latency_ticks, get_latency_cb get_latency)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ca_ClearOutBuffers
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 411
    functionName: ca_Uninitialize
    functionSourceFile: /src/vlc/modules/audio_output/apple/coreaudio_common.c
    functionUses: 0
    functionsReached:
    - ca_ClearOutBuffers
    linkageType: ''
    returnType: void
    signature: void ca_Uninitialize(audio_output_t *p_aout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_lock
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:418,1
    - Dst: lock_unlock
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_aout
    - alive
    argTypes:
    - audio_output_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 421
    functionName: ca_SetAliveState
    functionSourceFile: /src/vlc/modules/audio_output/apple/coreaudio_common.c
    functionUses: 0
    functionsReached:
    - lock_unlock
    - lock_lock
    linkageType: ''
    returnType: void
    signature: void ca_SetAliveState(audio_output_t *p_aout, bool alive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_lock
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:427,1
    - Dst: lock_unlock
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 431
    functionName: ca_ResetDeviceLatency
    functionSourceFile: /src/vlc/modules/audio_output/apple/coreaudio_common.c
    functionUses: 0
    functionsReached:
    - lock_unlock
    - lock_lock
    linkageType: ''
    returnType: void
    signature: void ca_ResetDeviceLatency(audio_output_t *p_aout)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AudioComponentFindNext
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:445,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:448,1
    - Dst: AudioComponentInstanceNew
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:453,1
    - Dst: ca_LogErr
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:456,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - p_aout
    - comp_sub_type
    argTypes:
    - audio_output_t*
    - OSType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 460
    functionName: au_NewOutputInstance
    functionSourceFile: /src/vlc/modules/audio_output/apple/coreaudio_common.c
    functionUses: 0
    functionsReached:
    - ca_LogErr
    - AudioComponentInstanceNew
    - AudioComponentFindNext
    - msg_Err
    linkageType: ''
    returnType: AudioUnit
    signature: AudioUnit au_NewOutputInstance(audio_output_t *p_aout, OSType comp_sub_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:473,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:474,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:475,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:480,1
    - Dst: BytesToFrames
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:480,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:481,1
    - Dst: ca_Render
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - p_data
    - ioActionFlags
    - inTimeStamp
    - inBusNumber
    - inNumberFrames
    - ioData
    argTypes:
    - void*
    - AudioUnitRenderActionFlags*
    - AudioTimeStamp*
    - UInt32
    - UInt32
    - AudioBufferList*
    assertStmts:
    - condition: (inNumberFrames == BytesToFrames(p_sys, ioData->mBuffers[0].mDataByteSize))
      pos:
        line_end: 479
        line_start: 479
        source_file: /src/vlc/modules/audio_output/apple/coreaudio_common.c
    constantsTouched: []
    func_position:
      end: 493
      start: 468
    functionDepth: 3
    functionLinenumber: 468
    functionLinenumberEnd: 493
    functionName: RenderCallback
    functionSourceFile: /src/vlc/modules/audio_output/apple/coreaudio_common.c
    functionUses: 0
    functionsReached:
    - ca_Render
    - assert
    - BytesToFrames
    - VLC_UNUSED
    linkageType: ''
    returnType: OSStatus
    signature: "OSStatus RenderCallback(void *p_data, AudioUnitRenderActionFlags *ioActionFlags,\n
      \              const AudioTimeStamp *inTimeStamp, UInt32 inBusNumber,\n               UInt32
      inNumberFrames, AudioBufferList *ioData)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AudioFormatGetPropertyInfo
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:518,1
    - Dst: malloc
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:522,1
    - Dst: AudioFormatGetProperty
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:526,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:529,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:530,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - p_aout
    - outlayout
    argTypes:
    - audio_output_t*
    - AudioChannelLayout*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 535
    functionName: GetLayoutDescription
    functionSourceFile: /src/vlc/modules/audio_output/apple/coreaudio_common.c
    functionUses: 0
    functionsReached:
    - AudioFormatGetPropertyInfo
    - msg_Err
    - free
    - AudioFormatGetProperty
    - malloc
    linkageType: ''
    returnType: AudioChannelLayout
    signature: "AudioChannelLayout *\nGetLayoutDescription(audio_output_t *p_aout,\n
      \                    const AudioChannelLayout *outlayout)"
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 2
    argNames:
    - chan
    - swap_rear_surround
    argTypes:
    - AudioChannelLabel
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 572
    functionName: AudioChannelLabelToVlcChan
    functionSourceFile: /src/vlc/modules/audio_output/apple/coreaudio_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned AudioChannelLabelToVlcChan(AudioChannelLabel chan, bool swap_rear_surround)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:583,1
    - Dst: GetLayoutDescription
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:588,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:599,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:606,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:610,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:612,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:632,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:642,1
    - Dst: AudioChannelLabelToVlcChan
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:645,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:652,1
    - Dst: aout_CheckChannelReorder
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:664,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:668,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:672,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:673,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:675,1
    - Dst: aout_FormatPrintChannels
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:675,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 4
    argNames:
    - p_aout
    - fmt
    - outlayout
    - warn_configuration
    argTypes:
    - audio_output_t*
    - audio_sample_format_t*
    - AudioChannelLayout*
    - bool*
    assertStmts:
    - condition: (outlayout != NULL)
      pos:
        line_end: 582
        line_start: 582
        source_file: /src/vlc/modules/audio_output/apple/coreaudio_common.c
    - condition: (outlayout->mNumberChannelDescriptions > 0)
      pos:
        line_end: 609
        line_start: 609
        source_file: /src/vlc/modules/audio_output/apple/coreaudio_common.c
    constantsTouched: []
    func_position:
      end: 678
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 678
    functionName: MapOutputLayout
    functionSourceFile: /src/vlc/modules/audio_output/apple/coreaudio_common.c
    functionUses: 0
    functionsReached:
    - aout_FormatPrepare
    - aout_FormatPrintChannels
    - assert
    - AudioChannelLabelToVlcChan
    - aout_CheckChannelReorder
    - free
    - msg_Dbg
    - GetLayoutDescription
    linkageType: ''
    returnType: int
    signature: "int MapOutputLayout(audio_output_t *p_aout, audio_sample_format_t
      *fmt,\n                const AudioChannelLayout *outlayout, bool *warn_configuration)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: aout_BitsPerSample
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:696,1
    - Dst: MapOutputLayout
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:702,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:708,1
    - Dst: channel_layout_MapFromVLC
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:709,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:717,1
    - Dst: AOUT_FMT_SPDIF
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:720,1
    - Dst: AudioUnitSetProperty
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:747,1
    - Dst: ca_LogErr
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:752,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:753,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:756,1
    - Dst: STREAM_FORMAT_MSG
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:756,1
    - Dst: AudioUnitGetProperty
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:759,1
    - Dst: ca_LogErr
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:764,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:765,1
    - Dst: AudioUnitSetProperty
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:775,1
    - Dst: ca_LogErr
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:780,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:781,1
    - Dst: AudioUnitSetProperty
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:789,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:792,1
    - Dst: ca_LogErr
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:795,1
    - Dst: AudioUnitInitialize
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:801,1
    - Dst: ca_LogErr
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:805,1
    - Dst: ca_Initialize
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:809,1
    - Dst: AudioUnitUninitialize
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:812,1
    - Dst: AudioUnitGetProperty
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:817,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:821,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:822,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 77
    argCount: 7
    argNames:
    - p_aout
    - au
    - fmt
    - outlayout
    - i_dev_latency_ticks
    - get_latency
    - warn_configuration
    argTypes:
    - audio_output_t*
    - AudioUnit
    - audio_sample_format_t*
    - AudioChannelLayout*
    - vlc_tick_t
    - get_latency_cb
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 680
    functionDepth: 3
    functionLinenumber: 680
    functionLinenumberEnd: 826
    functionName: au_Initialize
    functionSourceFile: /src/vlc/modules/audio_output/apple/coreaudio_common.c
    functionUses: 0
    functionsReached:
    - aout_FormatPrepare
    - MapOutputLayout
    - AOUT_FMT_SPDIF
    - AudioUnitSetProperty
    - AudioUnitUninitialize
    - channel_layout_MapFromVLC
    - vlc_tick_from_sec
    - AudioUnitGetProperty
    - aout_BitsPerSample
    - free
    - ca_LogErr
    - STREAM_FORMAT_MSG
    - AudioUnitInitialize
    - msg_Dbg
    - ca_Initialize
    - aout_FormatNbChannels
    linkageType: ''
    returnType: int
    signature: "int au_Initialize(audio_output_t *p_aout, AudioUnit au, audio_sample_format_t
      *fmt,\n              const AudioChannelLayout *outlayout, vlc_tick_t i_dev_latency_ticks,\n
      \             get_latency_cb get_latency, bool *warn_configuration)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AudioUnitUninitialize
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:831,1
    - Dst: ca_LogWarn
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:833,1
    - Dst: ca_Uninitialize
      Src: /src/vlc/modules/audio_output/apple/coreaudio_common.c:835,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_aout
    - au
    argTypes:
    - audio_output_t*
    - AudioUnit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 828
    functionDepth: 2
    functionLinenumber: 828
    functionLinenumberEnd: 836
    functionName: au_Uninitialize
    functionSourceFile: /src/vlc/modules/audio_output/apple/coreaudio_common.c
    functionUses: 0
    functionsReached:
    - AudioUnitUninitialize
    - ca_LogWarn
    - ca_Uninitialize
    linkageType: ''
    returnType: void
    signature: void au_Uninitialize(audio_output_t *p_aout, AudioUnit au)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_output/apple/auhal.c:132,1
    - Dst: AudioObjectGetPropertyDataSize
      Src: /src/vlc/modules/audio_output/apple/auhal.c:136,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/apple/auhal.c:140,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/apple/auhal.c:152,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/apple/auhal.c:170,1
    - Dst: malloc
      Src: /src/vlc/modules/audio_output/apple/auhal.c:172,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/apple/auhal.c:179,1
    - Dst: AudioObjectGetPropertyData
      Src: /src/vlc/modules/audio_output/apple/auhal.c:184,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/apple/auhal.c:188,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/apple/auhal.c:193,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/apple/auhal.c:196,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 8
    argNames:
    - p_aout
    - id
    - p_address
    - i_elm_size
    - i_nb_expected_elms
    - p_nb_elms
    - pp_out_data
    - p_allocated_out_data
    argTypes:
    - audio_output_t*
    - AudioObjectID
    - AudioObjectPropertyAddress*
    - size_t
    - ssize_t
    - size_t*
    - void**
    - void*
    assertStmts:
    - condition: (i_elm_size > 0)
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/vlc/modules/audio_output/apple/auhal.c
    - condition: (p_allocated_out_data == NULL)
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/vlc/modules/audio_output/apple/auhal.c
    - condition: (p_allocated_out_data != NULL)
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/vlc/modules/audio_output/apple/auhal.c
    - condition: (p_nb_elms == NULL || *p_nb_elms == (i_out_size / i_elm_size))
      pos:
        line_end: 195
        line_start: 195
        source_file: /src/vlc/modules/audio_output/apple/auhal.c
    constantsTouched: []
    func_position:
      end: 198
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 198
    functionName: AoGetProperty
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 0
    functionsReached:
    - assert
    - msg_Err
    - AudioObjectGetPropertyDataSize
    - free
    - AudioObjectGetPropertyData
    - malloc
    linkageType: ''
    returnType: int
    signature: "int AoGetProperty(audio_output_t *p_aout, AudioObjectID id,\n              const
      AudioObjectPropertyAddress *p_address, size_t i_elm_size,\n              ssize_t
      i_nb_expected_elms, size_t *p_nb_elms, void **pp_out_data,\n              void
      *p_allocated_out_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - id
    - ','
    - type
    - ','
    - p_out_nb_elms
    - ','
    - pp_out_data
    - ','
    - a1
    - ','
    - a2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: AO_GETPROP
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AO_GETPROP(id, type, p_out_nb_elms, pp_out_data, a1, a2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - id
    - ','
    - type
    - ','
    - p_out_data
    - ','
    - a1
    - ','
    - a2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: AO_GET1PROP
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AO_GET1PROP(id, type, p_out_data, a1, a2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AudioObjectIsPropertySettable
      Src: /src/vlc/modules/audio_output/apple/auhal.c:218,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/apple/auhal.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p_aout
    - id
    - p_address
    argTypes:
    - audio_output_t*
    - AudioObjectID
    - AudioObjectPropertyAddress*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 227
    functionName: AoIsPropertySettable
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 0
    functionsReached:
    - AudioObjectIsPropertySettable
    - msg_Warn
    linkageType: ''
    returnType: bool
    signature: "bool AoIsPropertySettable(audio_output_t *p_aout, AudioObjectID id,\n
      \                    const AudioObjectPropertyAddress *p_address)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - id
    - ','
    - a1
    - ','
    - a2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: AO_ISPROPSETTABLE
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AO_ISPROPSETTABLE(id, a1, a2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - id
    - ','
    - a1
    - ','
    - a2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 235
    functionName: AO_HASPROP
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AO_HASPROP(id, a1, a2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AudioObjectSetPropertyData
      Src: /src/vlc/modules/audio_output/apple/auhal.c:242,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/apple/auhal.c:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - p_aout
    - id
    - p_address
    - i_data
    - p_data
    argTypes:
    - audio_output_t*
    - AudioObjectID
    - AudioObjectPropertyAddress*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 252
    functionName: AoSetProperty
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 0
    functionsReached:
    - AudioObjectSetPropertyData
    - msg_Err
    linkageType: ''
    returnType: int
    signature: "int AoSetProperty(audio_output_t *p_aout, AudioObjectID id,\n              const
      AudioObjectPropertyAddress *p_address, size_t i_data,\n              const void
      *p_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - id
    - ','
    - i_data
    - ','
    - p_data
    - ','
    - a1
    - ','
    - a2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: AO_SETPROP
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AO_SETPROP(id, i_data, p_data, a1, a2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AudioObjectAddPropertyListener
      Src: /src/vlc/modules/audio_output/apple/auhal.c:265,1
    - Dst: AudioObjectRemovePropertyListener
      Src: /src/vlc/modules/audio_output/apple/auhal.c:266,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/apple/auhal.c:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - p_aout
    - add
    - id
    - p_address
    - listener
    - data
    argTypes:
    - audio_output_t*
    - bool
    - AudioObjectID
    - AudioObjectPropertyAddress*
    - AudioObjectPropertyListenerProc
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 276
    functionName: AoUpdateListener
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 0
    functionsReached:
    - AudioObjectRemovePropertyListener
    - AudioObjectAddPropertyListener
    - msg_Err
    linkageType: ''
    returnType: int
    signature: "int AoUpdateListener(audio_output_t *p_aout, bool add, AudioObjectID
      id,\n                 const AudioObjectPropertyAddress *p_address,\n                 AudioObjectPropertyListenerProc
      listener, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - id
    - ','
    - add
    - ','
    - listener
    - ','
    - data
    - ','
    - a1
    - ','
    - a2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 282
    functionName: AO_UPDATELISTENER
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AO_UPDATELISTENER(id, add, listener, data, a1, a2)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - id
    argTypes:
    - AudioFormatID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 300
    functionName: IsAudioFormatDigital
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsAudioFormatDigital(AudioFormatID id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AO_GETPROP
      Src: /src/vlc/modules/audio_output/apple/auhal.c:313,1
    - Dst: AO_UPDATELISTENER
      Src: /src/vlc/modules/audio_output/apple/auhal.c:322,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/apple/auhal.c:327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - p_aout
    - i_dev_id
    - b_register
    argTypes:
    - audio_output_t*
    - AudioDeviceID
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 329
    functionName: ManageAudioStreamsCallback
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 0
    functionsReached:
    - free
    - AO_GETPROP
    - AO_UPDATELISTENER
    linkageType: ''
    returnType: int
    signature: "int ManageAudioStreamsCallback(audio_output_t *p_aout, AudioDeviceID
      i_dev_id,\n                           bool b_register)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AO_GETPROP
      Src: /src/vlc/modules/audio_output/apple/auhal.c:343,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/auhal.c:353,1
    - Dst: STREAM_FORMAT_MSG
      Src: /src/vlc/modules/audio_output/apple/auhal.c:353,1
    - Dst: IsAudioFormatDigital
      Src: /src/vlc/modules/audio_output/apple/auhal.c:357,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/apple/auhal.c:361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - p_aout
    - i_stream_id
    argTypes:
    - audio_output_t*
    - AudioStreamID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 363
    functionName: AudioStreamSupportsDigital
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 0
    functionsReached:
    - AO_GETPROP
    - STREAM_FORMAT_MSG
    - free
    - msg_Dbg
    - IsAudioFormatDigital
    linkageType: ''
    returnType: bool
    signature: bool AudioStreamSupportsDigital(audio_output_t *p_aout, AudioStreamID
      i_stream_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AO_GETPROP
      Src: /src/vlc/modules/audio_output/apple/auhal.c:373,1
    - Dst: AudioStreamSupportsDigital
      Src: /src/vlc/modules/audio_output/apple/auhal.c:381,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/apple/auhal.c:383,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/apple/auhal.c:388,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - p_aout
    - i_dev_id
    argTypes:
    - audio_output_t*
    - AudioDeviceID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 390
    functionName: AudioDeviceSupportsDigital
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 0
    functionsReached:
    - free
    - AO_GETPROP
    - AudioStreamSupportsDigital
    linkageType: ''
    returnType: bool
    signature: bool AudioDeviceSupportsDigital(audio_output_t *p_aout, AudioDeviceID
      i_dev_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/vlc/modules/audio_output/apple/auhal.c:396,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/audio_output/apple/auhal.c:396,1
    - Dst: aout_HotplugReport
      Src: /src/vlc/modules/audio_output/apple/auhal.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p_aout
    - i_id
    - name
    argTypes:
    - audio_output_t*
    - UInt32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 399
    functionName: ReportDevice
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 0
    functionsReached:
    - aout_HotplugReport
    - snprintf
    - ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: void ReportDevice(audio_output_t *p_aout, UInt32 i_id, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_output/apple/auhal.c:408,1
    - Dst: AudioObjectGetPropertyData
      Src: /src/vlc/modules/audio_output/apple/auhal.c:417,1
    - Dst: AudioObjectGetPropertyData
      Src: /src/vlc/modules/audio_output/apple/auhal.c:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - p_aout
    - i_dev_id
    argTypes:
    - audio_output_t*
    - AudioDeviceID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 436
    functionName: AudioDeviceIsAHeadphone
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 0
    functionsReached:
    - AudioObjectGetPropertyData
    - VLC_UNUSED
    linkageType: ''
    returnType: bool
    signature: bool AudioDeviceIsAHeadphone(audio_output_t *p_aout, AudioDeviceID
      i_dev_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AO_GETPROP
      Src: /src/vlc/modules/audio_output/apple/auhal.c:445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - p_aout
    - i_dev_id
    argTypes:
    - audio_output_t*
    - AudioDeviceID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 452
    functionName: AudioDeviceHasOutput
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 0
    functionsReached:
    - AO_GETPROP
    linkageType: ''
    returnType: int
    signature: int AudioDeviceHasOutput(audio_output_t *p_aout, AudioDeviceID i_dev_id)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/auhal.c:459,1
    - Dst: ReportDevice
      Src: /src/vlc/modules/audio_output/apple/auhal.c:461,1
    - Dst: _
      Src: /src/vlc/modules/audio_output/apple/auhal.c:461,1
    - Dst: AO_GETPROP
      Src: /src/vlc/modules/audio_output/apple/auhal.c:466,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/apple/auhal.c:472,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/auhal.c:475,1
    - Dst: CFArrayCreateMutable
      Src: /src/vlc/modules/audio_output/apple/auhal.c:479,1
    - Dst: AO_GET1PROP
      Src: /src/vlc/modules/audio_output/apple/auhal.c:496,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/auhal.c:501,1
    - Dst: FromCFString
      Src: /src/vlc/modules/audio_output/apple/auhal.c:505,1
    - Dst: CFRelease
      Src: /src/vlc/modules/audio_output/apple/auhal.c:506,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/auhal.c:508,1
    - Dst: AudioDeviceHasOutput
      Src: /src/vlc/modules/audio_output/apple/auhal.c:510,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/auhal.c:512,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/apple/auhal.c:513,1
    - Dst: ReportDevice
      Src: /src/vlc/modules/audio_output/apple/auhal.c:521,1
    - Dst: CFNumberCreate
      Src: /src/vlc/modules/audio_output/apple/auhal.c:522,1
    - Dst: CFArrayAppendValue
      Src: /src/vlc/modules/audio_output/apple/auhal.c:524,1
    - Dst: CFRelease
      Src: /src/vlc/modules/audio_output/apple/auhal.c:525,1
    - Dst: ManageAudioStreamsCallback
      Src: /src/vlc/modules/audio_output/apple/auhal.c:528,1
    - Dst: AudioDeviceSupportsDigital
      Src: /src/vlc/modules/audio_output/apple/auhal.c:530,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/auhal.c:532,1
    - Dst: asprintf
      Src: /src/vlc/modules/audio_output/apple/auhal.c:534,1
    - Dst: _
      Src: /src/vlc/modules/audio_output/apple/auhal.c:534,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/apple/auhal.c:536,1
    - Dst: ReportDevice
      Src: /src/vlc/modules/audio_output/apple/auhal.c:541,1
    - Dst: CFNumberCreate
      Src: /src/vlc/modules/audio_output/apple/auhal.c:542,1
    - Dst: CFArrayAppendValue
      Src: /src/vlc/modules/audio_output/apple/auhal.c:544,1
    - Dst: CFRelease
      Src: /src/vlc/modules/audio_output/apple/auhal.c:545,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/apple/auhal.c:546,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/apple/auhal.c:552,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/apple/auhal.c:555,1
    - Dst: CFArrayGetCount
      Src: /src/vlc/modules/audio_output/apple/auhal.c:558,1
    - Dst: CFRangeMake
      Src: /src/vlc/modules/audio_output/apple/auhal.c:560,1
    - Dst: CFArrayGetCount
      Src: /src/vlc/modules/audio_output/apple/auhal.c:560,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/auhal.c:564,1
    - Dst: CFArrayContainsValue
      Src: /src/vlc/modules/audio_output/apple/auhal.c:569,1
    - Dst: CFArrayGetValueAtIndex
      Src: /src/vlc/modules/audio_output/apple/auhal.c:570,1
    - Dst: CFArrayGetValueAtIndex
      Src: /src/vlc/modules/audio_output/apple/auhal.c:573,1
    - Dst: CFNumberGetValue
      Src: /src/vlc/modules/audio_output/apple/auhal.c:576,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/auhal.c:578,1
    - Dst: ReportDevice
      Src: /src/vlc/modules/audio_output/apple/auhal.c:581,1
    - Dst: CFRelease
      Src: /src/vlc/modules/audio_output/apple/auhal.c:587,1
    - Dst: CFArrayCreateCopy
      Src: /src/vlc/modules/audio_output/apple/auhal.c:588,1
    - Dst: CFRelease
      Src: /src/vlc/modules/audio_output/apple/auhal.c:590,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/apple/auhal.c:591,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/apple/auhal.c:593,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 71
    argCount: 2
    argNames:
    - p_aout
    - p_id_exists
    argTypes:
    - audio_output_t*
    - UInt32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 454
    functionDepth: 3
    functionLinenumber: 454
    functionLinenumberEnd: 594
    functionName: RebuildDeviceList
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 0
    functionsReached:
    - AudioDeviceSupportsDigital
    - CFArrayCreateMutable
    - CFArrayGetCount
    - asprintf
    - CFRelease
    - vlc_mutex_lock
    - AO_GETPROP
    - _
    - msg_Err
    - CFArrayCreateCopy
    - msg_Dbg
    - CFRangeMake
    - CFNumberGetValue
    - CFArrayAppendValue
    - CFArrayContainsValue
    - ReportDevice
    - AO_GET1PROP
    - CFNumberCreate
    - vlc_mutex_unlock
    - AudioDeviceHasOutput
    - free
    - FromCFString
    - CFArrayGetValueAtIndex
    - ManageAudioStreamsCallback
    linkageType: ''
    returnType: void
    signature: void RebuildDeviceList(audio_output_t * p_aout, UInt32 *p_id_exists)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_output/apple/auhal.c:604,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_output/apple/auhal.c:605,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_output/apple/auhal.c:606,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/apple/auhal.c:612,1
    - Dst: aout_RestartRequest
      Src: /src/vlc/modules/audio_output/apple/auhal.c:613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - inObjectID
    - inNumberAddresses
    - inAddresses
    - inClientData
    argTypes:
    - AudioObjectID
    - UInt32
    - AudioObjectPropertyAddress[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 616
    functionName: DeviceAliveListener
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 0
    functionsReached:
    - aout_RestartRequest
    - msg_Warn
    - VLC_UNUSED
    linkageType: ''
    returnType: OSStatus
    signature: "OSStatus DeviceAliveListener(AudioObjectID inObjectID,  UInt32 inNumberAddresses,\n
      \                   const AudioObjectPropertyAddress inAddresses[],\n                    void
      *inClientData)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_output/apple/auhal.c:626,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_output/apple/auhal.c:627,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_output/apple/auhal.c:628,1
    - Dst: AO_GET1PROP
      Src: /src/vlc/modules/audio_output/apple/auhal.c:640,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/auhal.c:647,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/auhal.c:653,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/apple/auhal.c:657,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/auhal.c:661,1
    - Dst: aout_RestartRequest
      Src: /src/vlc/modules/audio_output/apple/auhal.c:662,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/apple/auhal.c:664,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - inObjectID
    - inNumberAddresses
    - inAddresses
    - inClientData
    argTypes:
    - AudioObjectID
    - UInt32
    - AudioObjectPropertyAddress[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 667
    functionName: DefaultDeviceChangedListener
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - VLC_UNUSED
    - msg_Dbg
    - aout_RestartRequest
    - AO_GET1PROP
    linkageType: ''
    returnType: OSStatus
    signature: "OSStatus DefaultDeviceChangedListener(AudioObjectID inObjectID, UInt32
      inNumberAddresses,\n                             const AudioObjectPropertyAddress
      inAddresses[],\n                             void *inClientData)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_output/apple/auhal.c:677,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_output/apple/auhal.c:678,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/apple/auhal.c:685,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/auhal.c:688,1
    - Dst: RebuildDeviceList
      Src: /src/vlc/modules/audio_output/apple/auhal.c:689,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/apple/auhal.c:691,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/apple/auhal.c:696,1
    - Dst: AO_GETPROP
      Src: /src/vlc/modules/audio_output/apple/auhal.c:705,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/apple/auhal.c:710,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/apple/auhal.c:713,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/auhal.c:719,1
    - Dst: aout_RestartRequest
      Src: /src/vlc/modules/audio_output/apple/auhal.c:720,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/apple/auhal.c:724,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - inObjectID
    - inNumberAddresses
    - inAddresses
    - inClientData
    argTypes:
    - AudioObjectID
    - UInt32
    - AudioObjectPropertyAddress[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 672
    functionDepth: 4
    functionLinenumber: 672
    functionLinenumberEnd: 727
    functionName: StreamsChangedListener
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - AO_GETPROP
    - RebuildDeviceList
    - free
    - msg_Dbg
    - aout_RestartRequest
    - unlikely
    - VLC_UNUSED
    linkageType: ''
    returnType: OSStatus
    signature: "OSStatus StreamsChangedListener(AudioObjectID inObjectID, UInt32 inNumberAddresses,\n
      \                      const AudioObjectPropertyAddress inAddresses[],\n                       void
      *inClientData)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_output/apple/auhal.c:737,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_output/apple/auhal.c:738,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_output/apple/auhal.c:739,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/auhal.c:746,1
    - Dst: RebuildDeviceList
      Src: /src/vlc/modules/audio_output/apple/auhal.c:747,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/apple/auhal.c:749,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/apple/auhal.c:750,1
    - Dst: CFNumberCreate
      Src: /src/vlc/modules/audio_output/apple/auhal.c:752,1
    - Dst: CFRangeMake
      Src: /src/vlc/modules/audio_output/apple/auhal.c:754,1
    - Dst: CFArrayGetCount
      Src: /src/vlc/modules/audio_output/apple/auhal.c:754,1
    - Dst: CFArrayContainsValue
      Src: /src/vlc/modules/audio_output/apple/auhal.c:755,1
    - Dst: aout_RestartRequest
      Src: /src/vlc/modules/audio_output/apple/auhal.c:756,1
    - Dst: CFRelease
      Src: /src/vlc/modules/audio_output/apple/auhal.c:757,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/apple/auhal.c:758,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/apple/auhal.c:759,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - inObjectID
    - inNumberAddresses
    - inAddresses
    - inClientData
    argTypes:
    - AudioObjectID
    - UInt32
    - AudioObjectPropertyAddress[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 732
    functionDepth: 4
    functionLinenumber: 732
    functionLinenumberEnd: 762
    functionName: DevicesListener
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 0
    functionsReached:
    - CFArrayContainsValue
    - CFRelease
    - CFNumberCreate
    - vlc_mutex_lock
    - vlc_mutex_unlock
    - RebuildDeviceList
    - msg_Dbg
    - CFRangeMake
    - aout_RestartRequest
    - CFArrayGetCount
    - VLC_UNUSED
    linkageType: ''
    returnType: OSStatus
    signature: "OSStatus DevicesListener(AudioObjectID inObjectID, UInt32 inNumberAddresses,\n
      \               const AudioObjectPropertyAddress inAddresses[],\n                void
      *inClientData)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_output/apple/auhal.c:775,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/audio_output/apple/auhal.c:781,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/apple/auhal.c:782,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/audio_output/apple/auhal.c:783,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/apple/auhal.c:784,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/audio_output/apple/auhal.c:785,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - inObjectID
    - inNumberAddresses
    - inAddresses
    - inClientData
    argTypes:
    - AudioObjectID
    - UInt32
    - AudioObjectPropertyAddress[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 790
    functionName: StreamListener
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 0
    functionsReached:
    - vlc_restorecancel
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_savecancel
    - VLC_UNUSED
    linkageType: ''
    returnType: OSStatus
    signature: "OSStatus StreamListener(AudioObjectID inObjectID, UInt32 inNumberAddresses,\n
      \              const AudioObjectPropertyAddress inAddresses[],\n               void
      *inClientData)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/auhal.c:804,1
    - Dst: STREAM_FORMAT_MSG
      Src: /src/vlc/modules/audio_output/apple/auhal.c:804,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/audio_output/apple/auhal.c:807,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/audio_output/apple/auhal.c:808,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/apple/auhal.c:809,1
    - Dst: AO_UPDATELISTENER
      Src: /src/vlc/modules/audio_output/apple/auhal.c:812,1
    - Dst: AO_SETPROP
      Src: /src/vlc/modules/audio_output/apple/auhal.c:823,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/audio_output/apple/auhal.c:842,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/audio_output/apple/auhal.c:842,1
    - Dst: vlc_cond_timedwait
      Src: /src/vlc/modules/audio_output/apple/auhal.c:843,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/auhal.c:844,1
    - Dst: AO_GET1PROP
      Src: /src/vlc/modules/audio_output/apple/auhal.c:848,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/auhal.c:856,1
    - Dst: STREAM_FORMAT_MSG
      Src: /src/vlc/modules/audio_output/apple/auhal.c:856,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/apple/auhal.c:871,1
    - Dst: AO_UPDATELISTENER
      Src: /src/vlc/modules/audio_output/apple/auhal.c:874,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 3
    argNames:
    - p_aout
    - i_stream_id
    - change_format
    argTypes:
    - audio_output_t*
    - AudioStreamID
    - AudioStreamBasicDescription
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 796
    functionDepth: 1
    functionLinenumber: 796
    functionLinenumberEnd: 881
    functionName: AudioStreamChangeFormat
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - AO_UPDATELISTENER
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_mutex_init
    - VLC_TICK_FROM_MS
    - vlc_cond_timedwait
    - STREAM_FORMAT_MSG
    - vlc_cond_init
    - msg_Dbg
    - AO_SETPROP
    - AO_GET1PROP
    linkageType: ''
    returnType: int
    signature: "int AudioStreamChangeFormat(audio_output_t *p_aout, AudioStreamID
      i_stream_id,\n                        AudioStreamBasicDescription change_format)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/vlc/modules/audio_output/apple/auhal.c:891,1
    - Dst: aout_DeviceReport
      Src: /src/vlc/modules/audio_output/apple/auhal.c:893,1
    - Dst: aout_RestartRequest
      Src: /src/vlc/modules/audio_output/apple/auhal.c:894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p_aout
    - name
    argTypes:
    - audio_output_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 897
    functionName: SwitchAudioDevice
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 0
    functionsReached:
    - atoi
    - aout_RestartRequest
    - aout_DeviceReport
    linkageType: ''
    returnType: int
    signature: int SwitchAudioDevice(audio_output_t *p_aout, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: aout_VolumeReport
      Src: /src/vlc/modules/audio_output/apple/auhal.c:909,1
    - Dst: AudioUnitSetParameter
      Src: /src/vlc/modules/audio_output/apple/auhal.c:912,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/audio_output/apple/auhal.c:919,1
    - Dst: config_PutInt
      Src: /src/vlc/modules/audio_output/apple/auhal.c:920,1
    - Dst: lroundf
      Src: /src/vlc/modules/audio_output/apple/auhal.c:920,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p_aout
    - volume
    argTypes:
    - audio_output_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 899
    functionDepth: 1
    functionLinenumber: 899
    functionLinenumberEnd: 923
    functionName: VolumeSet
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 0
    functionsReached:
    - aout_VolumeReport
    - AudioUnitSetParameter
    - var_InheritBool
    - config_PutInt
    - lroundf
    linkageType: ''
    returnType: int
    signature: int VolumeSet(audio_output_t * p_aout, float volume)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ca_MuteSet
      Src: /src/vlc/modules/audio_output/apple/auhal.c:928,1
    - Dst: aout_MuteReport
      Src: /src/vlc/modules/audio_output/apple/auhal.c:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_aout
    - mute
    argTypes:
    - audio_output_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 925
    functionDepth: 3
    functionLinenumber: 925
    functionLinenumberEnd: 932
    functionName: MuteSet
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 2
    functionsReached:
    - ca_MuteSet
    - aout_MuteReport
    linkageType: ''
    returnType: int
    signature: int MuteSet(audio_output_t * p_aout, bool mute)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_output/apple/auhal.c:947,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_output/apple/auhal.c:948,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_output/apple/auhal.c:949,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_output/apple/auhal.c:950,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_output/apple/auhal.c:951,1
    - Dst: ca_Render
      Src: /src/vlc/modules/audio_output/apple/auhal.c:961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 7
    argNames:
    - inDevice
    - inNow
    - inInputData
    - inInputTime
    - outOutputData
    - inOutputTime
    - p_data
    argTypes:
    - AudioDeviceID
    - AudioTimeStamp*
    - AudioBufferList*
    - AudioTimeStamp*
    - AudioBufferList*
    - AudioTimeStamp*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 940
    functionDepth: 3
    functionLinenumber: 940
    functionLinenumberEnd: 964
    functionName: RenderCallbackSPDIF
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 0
    functionsReached:
    - ca_Render
    - VLC_UNUSED
    linkageType: ''
    returnType: OSStatus
    signature: "OSStatus RenderCallbackSPDIF(AudioDeviceID inDevice, const AudioTimeStamp
      * inNow,\n                    const AudioBufferList * inInputData,\n                    const
      AudioTimeStamp * inInputTime,\n                    AudioBufferList * outOutputData,\n
      \                   const AudioTimeStamp * inOutputTime, void *p_data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: var_CreateGetNonEmptyString
      Src: /src/vlc/modules/audio_output/apple/auhal.c:973,1
    - Dst: strdup
      Src: /src/vlc/modules/audio_output/apple/auhal.c:980,1
    - Dst: strtok_r
      Src: /src/vlc/modules/audio_output/apple/auhal.c:984,1
    - Dst: strtok_r
      Src: /src/vlc/modules/audio_output/apple/auhal.c:986,1
    - Dst: atoi
      Src: /src/vlc/modules/audio_output/apple/auhal.c:989,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/apple/auhal.c:996,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1003,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1006,1
    - Dst: _
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1007,1
    - Dst: _
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1008,1
    - Dst: strrchr
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1015,1
    - Dst: asprintf
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1022,1
    - Dst: config_PutPsz
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1026,1
    - Dst: var_SetString
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1027,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1028,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1031,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - p_aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 969
    functionDepth: 2
    functionLinenumber: 969
    functionLinenumberEnd: 1032
    functionName: WarnConfiguration
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 0
    functionsReached:
    - strtok_r
    - atoi
    - strdup
    - vlc_dialog_display_error
    - asprintf
    - var_CreateGetNonEmptyString
    - _
    - var_SetString
    - free
    - msg_Warn
    - config_PutPsz
    - strrchr
    linkageType: ''
    returnType: void
    signature: void WarnConfiguration(audio_output_t *p_aout)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1046,1
    - Dst: au_NewOutputInstance
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1049,1
    - Dst: AudioDeviceIsAHeadphone
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1053,1
    - Dst: AudioUnitSetProperty
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1056,1
    - Dst: ca_LogErr
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1063,1
    - Dst: AudioUnitGetPropertyInfo
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1069,1
    - Dst: malloc
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1075,1
    - Dst: AudioUnitGetProperty
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1080,1
    - Dst: ca_LogWarn
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1088,1
    - Dst: au_Initialize
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1093,1
    - Dst: AudioOutputUnitStart
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1098,1
    - Dst: ca_LogErr
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1101,1
    - Dst: au_Uninitialize
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1102,1
    - Dst: VolumeSet
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1107,1
    - Dst: MuteSet
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1108,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1108,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1110,1
    - Dst: WarnConfiguration
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1113,1
    - Dst: AudioComponentInstanceDispose
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1117,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1119,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 3
    argNames:
    - p_aout
    - fmt
    - latency_us
    argTypes:
    - audio_output_t*
    - audio_sample_format_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1037
    functionDepth: 4
    functionLinenumber: 1037
    functionLinenumberEnd: 1121
    functionName: StartAnalog
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 0
    functionsReached:
    - AudioComponentInstanceDispose
    - AudioUnitSetProperty
    - AudioUnitGetPropertyInfo
    - AudioDeviceIsAHeadphone
    - AudioUnitGetProperty
    - var_InheritBool
    - ca_LogWarn
    - au_Uninitialize
    - ca_LogErr
    - AudioOutputUnitStart
    - VolumeSet
    - free
    - MuteSet
    - WarnConfiguration
    - aout_FormatNbChannels
    - malloc
    - au_NewOutputInstance
    - au_Initialize
    linkageType: ''
    returnType: int
    signature: "int StartAnalog(audio_output_t *p_aout, audio_sample_format_t *fmt,\n
      \           vlc_tick_t latency_us)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: AudioDeviceSupportsDigital
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1133,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1135,1
    - Dst: AO_GET1PROP
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1139,1
    - Dst: getpid
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1149,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1151,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1153,1
    - Dst: _
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1153,1
    - Dst: _
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1154,1
    - Dst: memset
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1160,1
    - Dst: getpid
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1166,1
    - Dst: AO_SETPROP
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1174,1
    - Dst: AO_HASPROP
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1182,1
    - Dst: AO_ISPROPSETTABLE
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1187,1
    - Dst: AO_GET1PROP
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1191,1
    - Dst: AO_SETPROP
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1197,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1205,1
    - Dst: AO_GETPROP
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1213,1
    - Dst: AO_GETPROP
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1227,1
    - Dst: IsAudioFormatDigital
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1237,1
    - Dst: AO_GET1PROP
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1257,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1276,1
    - Dst: STREAM_FORMAT_MSG
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1276,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1278,1
    - Dst: IsAudioFormatDigital
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1292,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1334,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1336,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1338,1
    - Dst: STREAM_FORMAT_MSG
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1338,1
    - Dst: AudioStreamChangeFormat
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1341,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1343,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1355,1
    - Dst: AudioDeviceCreateIOProcID
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1359,1
    - Dst: ca_LogErr
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1364,1
    - Dst: ca_Initialize
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1368,1
    - Dst: AudioDeviceDestroyIOProcID
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1371,1
    - Dst: AudioDeviceStart
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1376,1
    - Dst: ca_LogErr
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1379,1
    - Dst: AudioDeviceDestroyIOProcID
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1381,1
    - Dst: ca_LogErr
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1383,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1388,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 115
    argCount: 2
    argNames:
    - p_aout
    - fmt
    argTypes:
    - audio_output_t*
    - audio_sample_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1126
    functionDepth: 3
    functionLinenumber: 1126
    functionLinenumberEnd: 1390
    functionName: StartSPDIF
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 0
    functionsReached:
    - AudioDeviceSupportsDigital
    - IsAudioFormatDigital
    - AO_HASPROP
    - AO_ISPROPSETTABLE
    - vlc_dialog_display_error
    - AO_GETPROP
    - _
    - msg_Err
    - ca_LogErr
    - msg_Dbg
    - msg_Warn
    - ca_Initialize
    - aout_FormatPrepare
    - AudioDeviceCreateIOProcID
    - getpid
    - AO_GET1PROP
    - AudioDeviceDestroyIOProcID
    - memset
    - AudioStreamChangeFormat
    - STREAM_FORMAT_MSG
    - free
    - AudioDeviceStart
    - AO_SETPROP
    linkageType: ''
    returnType: int
    signature: int StartSPDIF(audio_output_t * p_aout, audio_sample_format_t *fmt)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1398,1
    - Dst: AudioOutputUnitStop
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1402,1
    - Dst: au_Uninitialize
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1403,1
    - Dst: AudioComponentInstanceDispose
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1404,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1409,1
    - Dst: AudioDeviceStop
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1412,1
    - Dst: ca_LogErr
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1415,1
    - Dst: AudioDeviceDestroyIOProcID
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1418,1
    - Dst: ca_LogErr
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1421,1
    - Dst: AudioStreamChangeFormat
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1424,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1425,1
    - Dst: AO_ISPROPSETTABLE
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1433,1
    - Dst: AO_GET1PROP
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1436,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1441,1
    - Dst: AO_SETPROP
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1443,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1450,1
    - Dst: ca_Uninitialize
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1452,1
    - Dst: getpid
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1454,1
    - Dst: AO_SETPROP
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1464,1
    - Dst: AO_UPDATELISTENER
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1474,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 1
    argNames:
    - p_aout
    argTypes:
    - audio_output_t*
    assertStmts:
    - condition: (p_sys->b_digital)
      pos:
        line_end: 1408
        line_start: 1408
        source_file: /src/vlc/modules/audio_output/apple/auhal.c
    constantsTouched: []
    func_position:
      end: 1477
      start: 1392
    functionDepth: 3
    functionLinenumber: 1392
    functionLinenumberEnd: 1477
    functionName: Stop
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 45
    functionsReached:
    - AudioDeviceDestroyIOProcID
    - ca_Uninitialize
    - assert
    - AO_UPDATELISTENER
    - AudioComponentInstanceDispose
    - AudioDeviceStop
    - AudioOutputUnitStop
    - AudioStreamChangeFormat
    - msg_Err
    - ca_LogErr
    - msg_Dbg
    - AO_SETPROP
    - getpid
    - AO_ISPROPSETTABLE
    - au_Uninitialize
    - AO_GET1PROP
    linkageType: ''
    returnType: void
    signature: void Stop(audio_output_t *p_aout)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AO_GET1PROP
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1488,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1492,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1494,1
    - Dst: AO_GET1PROP
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1497,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1501,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1503,1
    - Dst: AO_GET1PROP
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1507,1
    - Dst: AO_GET1PROP
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1511,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1515,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1517,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1520,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1524,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - p_aout
    - fmt
    argTypes:
    - audio_output_t*
    - audio_sample_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1479
    functionDepth: 1
    functionLinenumber: 1479
    functionLinenumberEnd: 1529
    functionName: GetLatency
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 1
    functionsReached:
    - vlc_tick_from_samples
    - msg_Warn
    - msg_Dbg
    - AO_GET1PROP
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t GetLatency(audio_output_t *p_aout, const audio_sample_format_t
      *fmt)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: AOUT_FMT_HDMI
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1540,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1548,1
    - Dst: AOUT_FMT_SPDIF
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1550,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1554,1
    - Dst: aout_FormatPrint
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1564,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1566,1
    - Dst: CFArrayGetCount
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1575,1
    - Dst: CFNumberCreate
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1577,1
    - Dst: CFArrayContainsValue
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1579,1
    - Dst: CFRangeMake
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1580,1
    - Dst: AO_GET1PROP
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1583,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1590,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1596,1
    - Dst: CFRelease
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1599,1
    - Dst: AO_GET1PROP
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1608,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1614,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1618,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1622,1
    - Dst: AO_UPDATELISTENER
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1625,1
    - Dst: GetLatency
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1629,1
    - Dst: StartSPDIF
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1634,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1636,1
    - Dst: StartAnalog
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1642,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1644,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1650,1
    - Dst: AO_UPDATELISTENER
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1651,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 57
    argCount: 2
    argNames:
    - p_aout
    - fmt
    argTypes:
    - audio_output_t*
    - audio_sample_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1655
      start: 1531
    functionDepth: 5
    functionLinenumber: 1531
    functionLinenumberEnd: 1655
    functionName: Start
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 61
    functionsReached:
    - CFArrayContainsValue
    - AOUT_FMT_SPDIF
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - CFNumberCreate
    - CFRelease
    - AO_UPDATELISTENER
    - GetLatency
    - StartAnalog
    - msg_Err
    - StartSPDIF
    - msg_Dbg
    - aout_FormatPrint
    - msg_Warn
    - CFRangeMake
    - AOUT_FMT_HDMI
    - CFArrayGetCount
    - AO_GET1PROP
    linkageType: ''
    returnType: int
    signature: int Start(audio_output_t *p_aout, audio_sample_format_t *restrict fmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AO_UPDATELISTENER
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1663,1
    - Dst: AO_UPDATELISTENER
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1668,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1679,1
    - Dst: CFArrayCreateCopy
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1680,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1681,1
    - Dst: CFArrayGetCount
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1684,1
    - Dst: CFArrayGetValueAtIndex
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1691,1
    - Dst: CFNumberGetValue
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1695,1
    - Dst: ManageAudioStreamsCallback
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1697,1
    - Dst: CFRelease
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1701,1
    - Dst: CFRelease
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1702,1
    - Dst: aout_DeviceGet
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1704,1
    - Dst: config_PutPsz
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1705,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1706,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1708,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1657
    functionDepth: 2
    functionLinenumber: 1657
    functionLinenumberEnd: 1709
    functionName: Close
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 142
    functionsReached:
    - config_PutPsz
    - AO_UPDATELISTENER
    - CFRelease
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - aout_DeviceGet
    - CFArrayCreateCopy
    - free
    - CFArrayGetValueAtIndex
    - CFNumberGetValue
    - CFArrayGetCount
    - ManageAudioStreamsCallback
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1715,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1716,1
    - Dst: ca_Open
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1719,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1721,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1725,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1726,1
    - Dst: memset
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1731,1
    - Dst: CFArrayCreate
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1739,1
    - Dst: AO_SETPROP
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1749,1
    - Dst: AO_UPDATELISTENER
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1755,1
    - Dst: AO_UPDATELISTENER
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1760,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1765,1
    - Dst: atoi
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1768,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1772,1
    - Dst: RebuildDeviceList
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1775,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1777,1
    - Dst: RebuildDeviceList
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1781,1
    - Dst: snprintf
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1786,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1786,1
    - Dst: aout_DeviceReport
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1787,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1790,1
    - Dst: aout_VolumeReport
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1792,1
    - Dst: MuteSet
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1793,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/audio_output/apple/auhal.c:1793,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1796
      start: 1711
    functionDepth: 4
    functionLinenumber: 1711
    functionLinenumberEnd: 1796
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_output/apple/auhal.c
    functionUses: 51
    functionsReached:
    - aout_VolumeReport
    - atoi
    - ca_Open
    - CFArrayCreate
    - aout_DeviceReport
    - AO_UPDATELISTENER
    - ARRAY_SIZE
    - calloc
    - msg_Dbg
    - snprintf
    - var_InheritInteger
    - var_InheritBool
    - RebuildDeviceList
    - var_InheritString
    - memset
    - vlc_mutex_init
    - free
    - AO_SETPROP
    - MuteSet
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - o
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: DynamicsProcessing_New
    functionSourceFile: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DynamicsProcessing_New(o, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - o
    - ','
    - dp
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: DynamicsProcessing_SetVolume
    functionSourceFile: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DynamicsProcessing_SetVolume(o, dp, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - o
    - ','
    - dp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: DynamicsProcessing_Disable
    functionSourceFile: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DynamicsProcessing_Disable(o, dp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - o
    - ','
    - dp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: DynamicsProcessing_Delete
    functionSourceFile: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DynamicsProcessing_Delete(o, dp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: CHECK_OPENSL_ERROR
    functionSourceFile: /src/vlc/modules/audio_output/android/opensles.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_OPENSL_ERROR(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: Destroy
    functionSourceFile: /src/vlc/modules/audio_output/android/opensles.c
    functionUses: 95
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Destroy(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: SetPlayState
    functionSourceFile: /src/vlc/modules/audio_output/android/opensles.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SetPlayState(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: RegisterCallback
    functionSourceFile: /src/vlc/modules/audio_output/android/opensles.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RegisterCallback(a, b, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: GetInterface
    functionSourceFile: /src/vlc/modules/audio_output/android/opensles.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GetInterface(a, b, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: Realize
    functionSourceFile: /src/vlc/modules/audio_output/android/opensles.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Realize(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: CreateOutputMix
    functionSourceFile: /src/vlc/modules/audio_output/android/opensles.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CreateOutputMix(a, b, c, d, e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: CreateAudioPlayer
    functionSourceFile: /src/vlc/modules/audio_output/android/opensles.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CreateAudioPlayer(a, b, c, d, e, f, g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: Enqueue
    functionSourceFile: /src/vlc/modules/audio_output/android/opensles.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Enqueue(a, b, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: Clear
    functionSourceFile: /src/vlc/modules/audio_output/android/opensles.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Clear(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: GetState
    functionSourceFile: /src/vlc/modules/audio_output/android/opensles.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GetState(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: SetPositionUpdatePeriod
    functionSourceFile: /src/vlc/modules/audio_output/android/opensles.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SetPositionUpdatePeriod(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: SetVolumeLevel
    functionSourceFile: /src/vlc/modules/audio_output/android/opensles.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SetVolumeLevel(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: SetMute
    functionSourceFile: /src/vlc/modules/audio_output/android/opensles.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SetMute(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: bytesPerSample
    functionSourceFile: /src/vlc/modules/audio_output/android/opensles.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bytesPerSample(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetState
      Src: /src/vlc/modules/audio_output/android/opensles.c:130,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/android/opensles.c:131,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/android/opensles.c:132,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/android/opensles.c:136,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/android/opensles.c:138,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/audio_output/android/opensles.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - aout
    - drift
    argTypes:
    - audio_output_t*
    - vlc_tick_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 150
    functionName: TimeGet
    functionSourceFile: /src/vlc/modules/audio_output/android/opensles.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - GetState
    - msg_Err
    - vlc_tick_from_samples
    - unlikely
    linkageType: ''
    returnType: int
    signature: int TimeGet(audio_output_t* aout, vlc_tick_t* restrict drift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/android/opensles.c:157,1
    - Dst: SetPlayState
      Src: /src/vlc/modules/audio_output/android/opensles.c:158,1
    - Dst: Clear
      Src: /src/vlc/modules/audio_output/android/opensles.c:159,1
    - Dst: SetPlayState
      Src: /src/vlc/modules/audio_output/android/opensles.c:160,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/audio_output/android/opensles.c:163,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/android/opensles.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 171
    functionName: Flush
    functionSourceFile: /src/vlc/modules/audio_output/android/opensles.c
    functionUses: 65
    functionsReached:
    - SetPlayState
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - block_ChainRelease
    - Clear
    linkageType: ''
    returnType: void
    signature: void Flush(audio_output_t *aout)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lroundf
      Src: /src/vlc/modules/audio_output/android/opensles.c:183,1
    - Dst: log10f
      Src: /src/vlc/modules/audio_output/android/opensles.c:183,1
    - Dst: SetVolumeLevel
      Src: /src/vlc/modules/audio_output/android/opensles.c:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - aout
    - vol
    argTypes:
    - audio_output_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 191
    functionName: VolumeSet
    functionSourceFile: /src/vlc/modules/audio_output/android/opensles.c
    functionUses: 1
    functionsReached:
    - SetVolumeLevel
    - lroundf
    - log10f
    linkageType: ''
    returnType: int
    signature: int VolumeSet(audio_output_t *aout, float vol)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SetMute
      Src: /src/vlc/modules/audio_output/android/opensles.c:199,1
    - Dst: aout_MuteReport
      Src: /src/vlc/modules/audio_output/android/opensles.c:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - aout
    - mute
    argTypes:
    - audio_output_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 206
    functionName: MuteSet
    functionSourceFile: /src/vlc/modules/audio_output/android/opensles.c
    functionUses: 4
    functionsReached:
    - aout_MuteReport
    - SetMute
    linkageType: ''
    returnType: int
    signature: int MuteSet(audio_output_t *aout, bool mute)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetPlayState
      Src: /src/vlc/modules/audio_output/android/opensles.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - aout
    - pause
    - date
    argTypes:
    - audio_output_t*
    - bool
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 214
    functionName: Pause
    functionSourceFile: /src/vlc/modules/audio_output/android/opensles.c
    functionUses: 27
    functionsReached:
    - SetPlayState
    linkageType: ''
    returnType: void
    signature: void Pause(audio_output_t *aout, bool pause, vlc_tick_t date)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: bytesPerSample
      Src: /src/vlc/modules/audio_output/android/opensles.c:219,1
    - Dst: GetState
      Src: /src/vlc/modules/audio_output/android/opensles.c:241,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/android/opensles.c:242,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/android/opensles.c:243,1
    - Dst: memcpy
      Src: /src/vlc/modules/audio_output/android/opensles.c:257,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_output/android/opensles.c:264,1
    - Dst: Enqueue
      Src: /src/vlc/modules/audio_output/android/opensles.c:278,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/android/opensles.c:289,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 294
    functionName: WriteBuffer
    functionSourceFile: /src/vlc/modules/audio_output/android/opensles.c
    functionUses: 2
    functionsReached:
    - block_Release
    - bytesPerSample
    - memcpy
    - GetState
    - msg_Err
    - unlikely
    - Enqueue
    linkageType: ''
    returnType: int
    signature: int WriteBuffer(audio_output_t *aout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/android/opensles.c:301,1
    - Dst: bytesPerSample
      Src: /src/vlc/modules/audio_output/android/opensles.c:303,1
    - Dst: block_ChainLastAppend
      Src: /src/vlc/modules/audio_output/android/opensles.c:306,1
    - Dst: WriteBuffer
      Src: /src/vlc/modules/audio_output/android/opensles.c:309,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/android/opensles.c:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - aout
    - p_buffer
    - date
    argTypes:
    - audio_output_t*
    - block_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 314
    functionName: Play
    functionSourceFile: /src/vlc/modules/audio_output/android/opensles.c
    functionUses: 22
    functionsReached:
    - bytesPerSample
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - block_ChainLastAppend
    - WriteBuffer
    linkageType: ''
    returnType: void
    signature: void Play(audio_output_t *aout, block_t *p_buffer, vlc_tick_t date)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_output/android/opensles.c:322,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/android/opensles.c:324,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/android/opensles.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - caller
    - pContext
    argTypes:
    - SLAndroidSimpleBufferQueueItf
    - void*
    assertStmts:
    - condition: (caller == sys->playerBufferQueue)
      pos:
        line_end: 321
        line_start: 321
        source_file: /src/vlc/modules/audio_output/android/opensles.c
    constantsTouched: []
    func_position:
      end: 327
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 327
    functionName: PlayedCallback
    functionSourceFile: /src/vlc/modules/audio_output/android/opensles.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void PlayedCallback (SLAndroidSimpleBufferQueueItf caller, void *pContext)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/audio_output/android/opensles.c:335,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/android/opensles.c:336,1
    - Dst: dlopen
      Src: /src/vlc/modules/audio_output/android/opensles.c:339,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/android/opensles.c:342,1
    - Dst: dlsym
      Src: /src/vlc/modules/audio_output/android/opensles.c:346,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/android/opensles.c:347,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/android/opensles.c:349,1
    - Dst: OPENSL_DLSYM
      Src: /src/vlc/modules/audio_output/android/opensles.c:364,1
    - Dst: OPENSL_DLSYM
      Src: /src/vlc/modules/audio_output/android/opensles.c:365,1
    - Dst: OPENSL_DLSYM
      Src: /src/vlc/modules/audio_output/android/opensles.c:366,1
    - Dst: OPENSL_DLSYM
      Src: /src/vlc/modules/audio_output/android/opensles.c:367,1
    - Dst: aout_sys_t*::slCreateEnginePtr
      Src: /src/vlc/modules/audio_output/android/opensles.c:371,1
    - Dst: CHECK_OPENSL_ERROR
      Src: /src/vlc/modules/audio_output/android/opensles.c:372,1
    - Dst: Realize
      Src: /src/vlc/modules/audio_output/android/opensles.c:375,1
    - Dst: CHECK_OPENSL_ERROR
      Src: /src/vlc/modules/audio_output/android/opensles.c:376,1
    - Dst: GetInterface
      Src: /src/vlc/modules/audio_output/android/opensles.c:379,1
    - Dst: CHECK_OPENSL_ERROR
      Src: /src/vlc/modules/audio_output/android/opensles.c:380,1
    - Dst: CreateOutputMix
      Src: /src/vlc/modules/audio_output/android/opensles.c:385,1
    - Dst: CHECK_OPENSL_ERROR
      Src: /src/vlc/modules/audio_output/android/opensles.c:386,1
    - Dst: Realize
      Src: /src/vlc/modules/audio_output/android/opensles.c:389,1
    - Dst: CHECK_OPENSL_ERROR
      Src: /src/vlc/modules/audio_output/android/opensles.c:390,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/audio_output/android/opensles.c:392,1
    - Dst: Destroy
      Src: /src/vlc/modules/audio_output/android/opensles.c:406,1
    - Dst: Destroy
      Src: /src/vlc/modules/audio_output/android/opensles.c:408,1
    - Dst: dlclose
      Src: /src/vlc/modules/audio_output/android/opensles.c:410,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/android/opensles.c:411,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 49
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 413
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_output/android/opensles.c
    functionUses: 51
    functionsReached:
    - Realize
    - aout_sys_t*::slCreateEnginePtr
    - dlclose
    - OPENSL_DLSYM
    - dlsym
    - CreateOutputMix
    - vlc_mutex_init
    - CHECK_OPENSL_ERROR
    - GetInterface
    - msg_Err
    - calloc
    - free
    - dlopen
    - Destroy
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Open (vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dest
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 363
    functionName: OPENSL_DLSYM
    functionSourceFile: /src/vlc/modules/audio_output/android/opensles.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPENSL_DLSYM(dest, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy
      Src: /src/vlc/modules/audio_output/android/opensles.c:420,1
    - Dst: Destroy
      Src: /src/vlc/modules/audio_output/android/opensles.c:421,1
    - Dst: dlclose
      Src: /src/vlc/modules/audio_output/android/opensles.c:422,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/android/opensles.c:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 424
    functionName: Close
    functionSourceFile: /src/vlc/modules/audio_output/android/opensles.c
    functionUses: 142
    functionsReached:
    - dlclose
    - Destroy
    - free
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetPlayState
      Src: /src/vlc/modules/audio_output/android/opensles.c:430,1
    - Dst: Clear
      Src: /src/vlc/modules/audio_output/android/opensles.c:432,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/android/opensles.c:434,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/audio_output/android/opensles.c:435,1
    - Dst: Destroy
      Src: /src/vlc/modules/audio_output/android/opensles.c:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 442
    functionName: Stop
    functionSourceFile: /src/vlc/modules/audio_output/android/opensles.c
    functionUses: 45
    functionsReached:
    - SetPlayState
    - block_ChainRelease
    - free
    - Clear
    - Destroy
    linkageType: ''
    returnType: void
    signature: void Stop(audio_output_t *aout)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_output/android/opensles.c:446,1
    - Dst: AOUT_FMT_LINEAR
      Src: /src/vlc/modules/audio_output/android/opensles.c:446,1
    - Dst: CreateAudioPlayer
      Src: /src/vlc/modules/audio_output/android/opensles.c:481,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/audio_output/android/opensles.c:482,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/android/opensles.c:484,1
    - Dst: CreateAudioPlayer
      Src: /src/vlc/modules/audio_output/android/opensles.c:488,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/audio_output/android/opensles.c:489,1
    - Dst: CHECK_OPENSL_ERROR
      Src: /src/vlc/modules/audio_output/android/opensles.c:492,1
    - Dst: Realize
      Src: /src/vlc/modules/audio_output/android/opensles.c:494,1
    - Dst: CHECK_OPENSL_ERROR
      Src: /src/vlc/modules/audio_output/android/opensles.c:495,1
    - Dst: GetInterface
      Src: /src/vlc/modules/audio_output/android/opensles.c:497,1
    - Dst: CHECK_OPENSL_ERROR
      Src: /src/vlc/modules/audio_output/android/opensles.c:498,1
    - Dst: GetInterface
      Src: /src/vlc/modules/audio_output/android/opensles.c:500,1
    - Dst: CHECK_OPENSL_ERROR
      Src: /src/vlc/modules/audio_output/android/opensles.c:501,1
    - Dst: GetInterface
      Src: /src/vlc/modules/audio_output/android/opensles.c:503,1
    - Dst: CHECK_OPENSL_ERROR
      Src: /src/vlc/modules/audio_output/android/opensles.c:505,1
    - Dst: RegisterCallback
      Src: /src/vlc/modules/audio_output/android/opensles.c:507,1
    - Dst: CHECK_OPENSL_ERROR
      Src: /src/vlc/modules/audio_output/android/opensles.c:509,1
    - Dst: SetPlayState
      Src: /src/vlc/modules/audio_output/android/opensles.c:512,1
    - Dst: CHECK_OPENSL_ERROR
      Src: /src/vlc/modules/audio_output/android/opensles.c:513,1
    - Dst: samples_from_vlc_tick
      Src: /src/vlc/modules/audio_output/android/opensles.c:517,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/audio_output/android/opensles.c:518,1
    - Dst: bytesPerSample
      Src: /src/vlc/modules/audio_output/android/opensles.c:518,1
    - Dst: SetPositionUpdatePeriod
      Src: /src/vlc/modules/audio_output/android/opensles.c:534,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/audio_output/android/opensles.c:534,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/audio_output/android/opensles.c:536,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/android/opensles.c:538,1
    - Dst: Destroy
      Src: /src/vlc/modules/audio_output/android/opensles.c:544,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 57
    argCount: 2
    argNames:
    - aout
    - fmt
    argTypes:
    - audio_output_t*
    - audio_sample_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 552
    functionName: Start
    functionSourceFile: /src/vlc/modules/audio_output/android/opensles.c
    functionUses: 61
    functionsReached:
    - samples_from_vlc_tick
    - MS_FROM_VLC_TICK
    - SetPlayState
    - SetPositionUpdatePeriod
    - Realize
    - AOUT_FMT_LINEAR
    - ARRAY_SIZE
    - bytesPerSample
    - aout_FormatPrepare
    - CHECK_OPENSL_ERROR
    - GetInterface
    - CreateAudioPlayer
    - vlc_alloc
    - msg_Dbg
    - RegisterCallback
    - Destroy
    - unlikely
    - aout_FormatNbChannels
    linkageType: ''
    returnType: int
    signature: int Start(audio_output_t *aout, audio_sample_format_t *restrict fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: GET_ENV
    functionSourceFile: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_ENV()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - what
    - ','
    - obj
    - ','
    - method
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: JNI_CALL
    functionSourceFile: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JNI_CALL( what, obj, method, ... )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - obj
    - ','
    - method
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: JNI_CALL_INT
    functionSourceFile: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JNI_CALL_INT( obj, method, ... )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - obj
    - ','
    - method
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: JNI_CALL_VOID
    functionSourceFile: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JNI_CALL_VOID( obj, method, ... )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: android_getEnv
      Src: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c:67,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c:72,1
    - Dst: GET_CLASS
      Src: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c:112,1
    - Dst: GET_CONST_INT
      Src: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c:113,1
    - Dst: GET_CLASS
      Src: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c:115,1
    - Dst: CHECK_EXCEPTION
      Src: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c:118,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c:119,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c:120,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c:122,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 131
    functionName: DynamicsProcessing_InitJNI
    functionSourceFile: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c
    functionUses: 0
    functionsReached:
    - GET_ID
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - GET_CONST_INT
    - android_getEnv
    - CHECK_EXCEPTION
    - GET_CLASS
    linkageType: ''
    returnType: int
    signature: int DynamicsProcessing_InitJNI( vlc_object_t *obj )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - what
    - ','
    - critical
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: CHECK_EXCEPTION
    functionSourceFile: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_EXCEPTION( what, critical )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - critical
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: GET_CLASS
    functionSourceFile: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_CLASS( str, critical )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - get
    - ','
    - id
    - ','
    - str
    - ','
    - args
    - ','
    - critical
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: GET_ID
    functionSourceFile: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_ID( get, id, str, args, critical )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - id
    - ','
    - str
    - ','
    - critical
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: GET_CONST_INT
    functionSourceFile: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_CONST_INT( id, str, critical )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ExceptionCheck
      Src: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c:137,1
    - Dst: ExceptionDescribe
      Src: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c:139,1
    - Dst: ExceptionClear
      Src: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c:140,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - env
    - obj
    - class
    - method
    argTypes:
    - JNIEnv*
    - vlc_object_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 145
    functionName: check_exception
    functionSourceFile: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c
    functionUses: 0
    functionsReached:
    - ExceptionClear
    - ExceptionDescribe
    - ExceptionCheck
    - msg_Err
    linkageType: ''
    returnType: bool
    signature: "bool check_exception( JNIEnv *env, vlc_object_t *obj,\n                 const
      char *class, const char *method )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - class
    - ','
    - method
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: CHECK_EXCEPTION
    functionSourceFile: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_EXCEPTION( class, method )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_ENV
      Src: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c:153,1
    - Dst: DynamicsProcessing_InitJNI
      Src: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c:156,1
    - Dst: JNI_CALL
      Src: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c:160,1
    - Dst: CHECK_EXCEPTION
      Src: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c:163,1
    - Dst: NewGlobalRef
      Src: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c:166,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - obj
    - session_id
    argTypes:
    - vlc_object_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 170
    functionName: jobject
    functionSourceFile: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c
    functionUses: 0
    functionsReached:
    - DynamicsProcessing_InitJNI
    - DeleteLocalRef
    - JNI_CALL
    - CHECK_EXCEPTION
    - GET_ENV
    - NewGlobalRef
    linkageType: ''
    returnType: void
    signature: 'void jobject

      (DynamicsProcessing_New)( vlc_object_t *obj, int session_id )'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_ENV
      Src: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c:176,1
    - Dst: JNI_CALL_INT
      Src: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c:179,1
    - Dst: CHECK_EXCEPTION
      Src: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - obj
    - dp
    argTypes:
    - vlc_object_t*
    - jobject
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: (DynamicsProcessing_Disable)( vlc_object_t *obj, jobject dp )
    functionSourceFile: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c
    functionUses: 0
    functionsReached:
    - CHECK_EXCEPTION
    - JNI_CALL_INT
    - GET_ENV
    linkageType: ''
    returnType: void
    signature: void (DynamicsProcessing_Disable)( vlc_object_t *obj, jobject dp )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_ENV
      Src: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c:187,1
    - Dst: log10f
      Src: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c:191,1
    - Dst: JNI_CALL_VOID
      Src: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c:193,1
    - Dst: CHECK_EXCEPTION
      Src: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c:194,1
    - Dst: JNI_CALL_INT
      Src: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c:197,1
    - Dst: CHECK_EXCEPTION
      Src: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c:198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - obj
    - dp
    - volume
    argTypes:
    - vlc_object_t*
    - jobject
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 202
    functionName: (DynamicsProcessing_SetVolume)( vlc_object_t *obj, jobject dp, float
      volume )
    functionSourceFile: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c
    functionUses: 0
    functionsReached:
    - CHECK_EXCEPTION
    - GET_ENV
    - log10f
    - JNI_CALL_INT
    - JNI_CALL_VOID
    linkageType: ''
    returnType: int
    signature: int (DynamicsProcessing_SetVolume)( vlc_object_t *obj, jobject dp,
      float volume )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_ENV
      Src: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c:208,1
    - Dst: JNI_CALL_INT
      Src: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c:211,1
    - Dst: CHECK_EXCEPTION
      Src: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c:212,1
    - Dst: DeleteGlobalRef
      Src: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - obj
    - dp
    argTypes:
    - vlc_object_t*
    - jobject
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 215
    functionName: (DynamicsProcessing_Delete)( vlc_object_t *obj, jobject dp )
    functionSourceFile: /src/vlc/modules/audio_output/android/dynamicsprocessing_jni.c
    functionUses: 0
    functionsReached:
    - DeleteGlobalRef
    - CHECK_EXCEPTION
    - JNI_CALL_INT
    - GET_ENV
    linkageType: ''
    returnType: void
    signature: void (DynamicsProcessing_Delete)( vlc_object_t *obj, jobject dp )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: GET_ENV
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_ENV()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: android_getEnv
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:233,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:238,1
    - Dst: GET_CLASS
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:275,1
    - Dst: CHECK_EXCEPTION
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:277,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:279,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:283,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:284,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:285,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:286,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:287,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:288,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:289,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:291,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:292,1
    - Dst: GET_CONST_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:296,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:298,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:301,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:303,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:306,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:309,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:311,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:313,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:316,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:319,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:322,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:325,1
    - Dst: GET_CONST_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:327,1
    - Dst: GET_CONST_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:328,1
    - Dst: GET_CONST_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:329,1
    - Dst: GET_CONST_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:330,1
    - Dst: GET_CONST_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:331,1
    - Dst: GET_CLASS
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:337,1
    - Dst: CHECK_EXCEPTION
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:339,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:340,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:342,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:344,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:346,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:348,1
    - Dst: GET_CLASS
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:352,1
    - Dst: GET_CONST_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:353,1
    - Dst: GET_CONST_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:354,1
    - Dst: GET_CONST_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:355,1
    - Dst: GET_CLASS
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:359,1
    - Dst: CHECK_EXCEPTION
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:361,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:362,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:364,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:366,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:368,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:370,1
    - Dst: GET_CLASS
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:377,1
    - Dst: CHECK_EXCEPTION
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:380,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:382,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:383,1
    - Dst: GET_ID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:385,1
    - Dst: GET_CLASS
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:390,1
    - Dst: GET_CONST_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:391,1
    - Dst: GET_CONST_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:392,1
    - Dst: GET_CONST_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:395,1
    - Dst: GET_CONST_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:405,1
    - Dst: GET_CONST_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:411,1
    - Dst: GET_CONST_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:412,1
    - Dst: GET_CONST_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:413,1
    - Dst: GET_CONST_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:414,1
    - Dst: GET_CONST_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:415,1
    - Dst: GET_CONST_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:416,1
    - Dst: GET_CONST_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:417,1
    - Dst: GET_CONST_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:418,1
    - Dst: GET_CONST_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:419,1
    - Dst: GET_CONST_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:420,1
    - Dst: GET_CONST_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:421,1
    - Dst: GET_CONST_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:424,1
    - Dst: GET_CLASS
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:430,1
    - Dst: GET_CONST_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:431,1
    - Dst: GET_CONST_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:433,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:442,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 108
    argCount: 1
    argNames:
    - p_aout
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 444
    functionName: AudioTrack_InitJNI
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached:
    - GET_ID
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - GET_CONST_INT
    - android_getEnv
    - CHECK_EXCEPTION
    - GET_CLASS
    linkageType: ''
    returnType: int
    signature: int AudioTrack_InitJNI( vlc_object_t *p_aout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - what
    - ','
    - critical
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 255
    functionName: CHECK_EXCEPTION
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_EXCEPTION( what, critical )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - critical
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: GET_CLASS
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_CLASS( str, critical )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - get
    - ','
    - id
    - ','
    - str
    - ','
    - args
    - ','
    - critical
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: GET_ID
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_ID( get, id, str, args, critical )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - id
    - ','
    - str
    - ','
    - critical
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 273
    functionName: GET_CONST_INT
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_CONST_INT( id, str, critical )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ExceptionCheck
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:450,1
    - Dst: ExceptionDescribe
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:456,1
    - Dst: ExceptionClear
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:457,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - env
    - stream
    - class
    - method
    argTypes:
    - JNIEnv*
    - aout_stream_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 462
    functionName: check_exception
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached:
    - ExceptionClear
    - ExceptionDescribe
    - ExceptionCheck
    - msg_Err
    linkageType: ''
    returnType: bool
    signature: "bool check_exception( JNIEnv *env, aout_stream_t *stream,\n                 const
      char *class, const char *method )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - class
    - ','
    - method
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 465
    functionName: CHECK_EXCEPTION
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_EXCEPTION( class, method )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - method
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 466
    functionName: CHECK_AT_EXCEPTION
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_AT_EXCEPTION( method )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - what
    - ','
    - obj
    - ','
    - method
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 468
    functionName: JNI_CALL
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JNI_CALL( what, obj, method, ... )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - obj
    - ','
    - method
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 470
    functionName: JNI_CALL_INT
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JNI_CALL_INT( obj, method, ... )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - obj
    - ','
    - method
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 471
    functionName: JNI_CALL_BOOL
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JNI_CALL_BOOL( obj, method, ... )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - obj
    - ','
    - method
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 472
    functionName: JNI_CALL_OBJECT
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JNI_CALL_OBJECT( obj, method, ... )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - obj
    - ','
    - method
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 473
    functionName: JNI_CALL_VOID
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JNI_CALL_VOID( obj, method, ... )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - clazz
    - ','
    - method
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 474
    functionName: JNI_CALL_STATIC_INT
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JNI_CALL_STATIC_INT( clazz, method, ... )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 476
    functionName: JNI_AT_NEW
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JNI_AT_NEW( ... )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - method
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 477
    functionName: JNI_AT_CALL_INT
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JNI_AT_CALL_INT( method, ... )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - method
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 478
    functionName: JNI_AT_CALL_BOOL
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JNI_AT_CALL_BOOL( method, ... )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - method
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 479
    functionName: JNI_AT_CALL_VOID
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JNI_AT_CALL_VOID( method, ... )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - method
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 480
    functionName: JNI_AT_CALL_STATIC_INT
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JNI_AT_CALL_STATIC_INT( method, ... )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 482
    functionName: JNI_AUDIOTIMESTAMP_GET_LONG
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JNI_AUDIOTIMESTAMP_GET_LONG( field )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_sys
    - i_nb_frames
    argTypes:
    - aout_sys_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 487
    functionName: frames_to_us
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached:
    - vlc_tick_from_samples
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t frames_to_us( aout_sys_t *p_sys, uint64_t i_nb_frames )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 489
    functionName: FRAMES_TO_US
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FRAMES_TO_US(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_sys
    - i_bytes
    argTypes:
    - aout_sys_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 494
    functionName: bytes_to_frames
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t bytes_to_frames( aout_sys_t *p_sys, size_t i_bytes )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 496
    functionName: BYTES_TO_FRAMES
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTES_TO_FRAMES(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 497
    functionName: BYTES_TO_US
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTES_TO_US(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_sys
    - i_frames
    argTypes:
    - aout_sys_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: frames_to_bytes
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t frames_to_bytes( aout_sys_t *p_sys, uint64_t i_frames )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 504
    functionName: FRAMES_TO_BYTES
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FRAMES_TO_BYTES(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: samples_from_vlc_tick
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_sys
    - i_us
    argTypes:
    - aout_sys_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 509
    functionName: us_to_frames
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached:
    - samples_from_vlc_tick
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t us_to_frames( aout_sys_t *p_sys, vlc_tick_t i_us )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 511
    functionName: US_TO_FRAMES
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: US_TO_FRAMES(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 512
    functionName: US_TO_BYTES
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: US_TO_BYTES(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JNI_AT_CALL_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - env
    - stream
    argTypes:
    - JNIEnv*
    - aout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 543
    functionName: AudioTrack_getPlaybackHeadPosition
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached:
    - JNI_AT_CALL_INT
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t AudioTrack_getPlaybackHeadPosition( JNIEnv *env, aout_stream_t
      *stream )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - env
    - stream
    argTypes:
    - JNIEnv*
    - aout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 561
    functionName: AudioTrack_ResetWrapCount
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AudioTrack_ResetWrapCount( JNIEnv *env, aout_stream_t *stream
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AudioTrack_ResetWrapCount
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - env
    - stream
    argTypes:
    - JNIEnv*
    - aout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 576
    functionName: AudioTrack_Reset
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached:
    - AudioTrack_ResetWrapCount
    linkageType: ''
    returnType: void
    signature: void AudioTrack_Reset( JNIEnv *env, aout_stream_t *stream )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JNI_AT_CALL_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:585,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:592,1
    - Dst: FRAMES_TO_US
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:593,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - env
    - stream
    argTypes:
    - JNIEnv*
    - aout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 599
    functionName: AudioTrack_GetLatencyUs
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached:
    - JNI_AT_CALL_INT
    - FRAMES_TO_US
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t AudioTrack_GetLatencyUs( JNIEnv *env, aout_stream_t *stream
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r1
    - entry
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 614
    functionName: role_cmp
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int role_cmp(const void *r1, const void *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:617,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - role
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 620
    functionName: RoleHasVideoContent
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached:
    - bsearch
    - ARRAY_SIZE
    linkageType: ''
    returnType: bool
    signature: bool RoleHasVideoContent( char *role )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JNI_CALL
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:635,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:643,1
    - Dst: RoleHasVideoContent
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:645,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:646,1
    - Dst: JNI_CALL_OBJECT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:649,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:652,1
    - Dst: JNI_CALL_OBJECT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:654,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:659,1
    - Dst: JNI_CALL_OBJECT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:662,1
    - Dst: JNI_CALL
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:667,1
    - Dst: JNI_CALL_OBJECT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:673,1
    - Dst: CHECK_EXCEPTION
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:676,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:678,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:681,1
    - Dst: JNI_CALL_OBJECT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:683,1
    - Dst: CHECK_EXCEPTION
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:686,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:688,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:691,1
    - Dst: JNI_CALL_OBJECT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:693,1
    - Dst: CHECK_EXCEPTION
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:696,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:698,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:701,1
    - Dst: JNI_CALL_OBJECT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:703,1
    - Dst: JNI_AT_NEW
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:708,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:712,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:713,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:714,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:715,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 7
    argNames:
    - env
    - stream
    - i_rate
    - i_channel_config
    - i_format
    - i_size
    - session_id
    argTypes:
    - JNIEnv*
    - aout_stream_t*
    - unsigned int
    - int
    - int
    - int
    - jint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 717
    functionName: AudioTrack_New21
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached:
    - DeleteLocalRef
    - JNI_CALL
    - var_InheritString
    - CHECK_EXCEPTION
    - free
    - JNI_AT_NEW
    - RoleHasVideoContent
    - JNI_CALL_OBJECT
    linkageType: ''
    returnType: jobject
    signature: "jobject AudioTrack_New21( JNIEnv *env, aout_stream_t *stream, unsigned
      int i_rate,\n                  int i_channel_config, int i_format, int i_size,\n
      \                 jint session_id )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:724,1
    - Dst: JNI_AT_NEW
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - env
    - stream
    - i_rate
    - i_channel_config
    - i_format
    - i_size
    - session_id
    argTypes:
    - JNIEnv*
    - aout_stream_t*
    - unsigned int
    - int
    - int
    - int
    - jint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 728
    functionName: AudioTrack_NewLegacy
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached:
    - JNI_AT_NEW
    - VLC_UNUSED
    linkageType: ''
    returnType: jobject
    signature: "jobject AudioTrack_NewLegacy( JNIEnv *env, aout_stream_t *stream,
      unsigned int i_rate,\n                      int i_channel_config, int i_format,
      int i_size,\n                      jint session_id )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:739,1
    - Dst: AudioTrack_New21
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:743,1
    - Dst: AudioTrack_NewLegacy
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:746,1
    - Dst: CHECK_AT_EXCEPTION
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:749,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:751,1
    - Dst: JNI_CALL_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:754,1
    - Dst: JNI_CALL_VOID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:757,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:758,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:759,1
    - Dst: NewGlobalRef
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:763,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:764,1
    - Dst: JNI_AT_CALL_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:771,1
    - Dst: DynamicsProcessing_New
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:774,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 6
    argNames:
    - env
    - stream
    - i_rate
    - i_channel_config
    - i_format
    - i_size
    argTypes:
    - JNIEnv*
    - aout_stream_t*
    - unsigned int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 734
    functionDepth: 2
    functionLinenumber: 734
    functionLinenumberEnd: 778
    functionName: AudioTrack_New
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached:
    - DeleteLocalRef
    - DynamicsProcessing_New
    - var_InheritInteger
    - NewGlobalRef
    - AudioTrack_New21
    - AudioTrack_NewLegacy
    - msg_Err
    - msg_Warn
    - CHECK_AT_EXCEPTION
    - JNI_AT_CALL_INT
    - JNI_CALL_INT
    - JNI_CALL_VOID
    linkageType: ''
    returnType: int
    signature: "int AudioTrack_New( JNIEnv *env, aout_stream_t *stream, unsigned int
      i_rate,\n                int i_channel_config, int i_format, int i_size )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JNI_AT_CALL_VOID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:789,1
    - Dst: DeleteGlobalRef
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:790,1
    - Dst: AudioTrack_New
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:793,1
    - Dst: aout_stream_t*::volume_set
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:800,1
    - Dst: aout_stream_t*::mute_set
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:802,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - env
    - stream
    argTypes:
    - JNIEnv*
    - aout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 784
    functionDepth: 3
    functionLinenumber: 784
    functionLinenumberEnd: 806
    functionName: AudioTrack_Recreate
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached:
    - aout_stream_t*::mute_set
    - aout_stream_t*::volume_set
    - AudioTrack_New
    - DeleteGlobalRef
    - JNI_AT_CALL_VOID
    linkageType: ''
    returnType: int
    signature: int AudioTrack_Recreate( JNIEnv *env, aout_stream_t *stream )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:840,1
    - Dst: JNI_AT_CALL_STATIC_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:843,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:847,1
    - Dst: US_TO_BYTES
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:854,1
    - Dst: AudioTrack_New
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:859,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 5
    argNames:
    - env
    - stream
    - i_rate
    - i_format
    - i_physical_channels
    argTypes:
    - JNIEnv*
    - aout_stream_t*
    - unsigned int
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 812
    functionDepth: 3
    functionLinenumber: 812
    functionLinenumberEnd: 869
    functionName: AudioTrack_Create
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    - AudioTrack_New
    - msg_Warn
    - US_TO_BYTES
    - JNI_AT_CALL_STATIC_INT
    linkageType: ''
    returnType: int
    signature: "int AudioTrack_Create( JNIEnv *env, aout_stream_t *stream,\n                   unsigned
      int i_rate,\n                   int i_format,\n                   uint16_t i_physical_channels
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:875,1
    - Dst: vlc_frame_Release
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:888,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - stream
    - f
    - size
    argTypes:
    - aout_stream_t*
    - vlc_frame_t*
    - size_t
    assertStmts:
    - condition: (f != NULL && f == p_sys->frame_chain)
      pos:
        line_end: 874
        line_start: 874
        source_file: /src/vlc/modules/audio_output/android/audiotrack.c
    constantsTouched: []
    func_position:
      end: 889
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 889
    functionName: AudioTrack_ConsumeFrame
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached:
    - vlc_frame_Release
    - assert
    linkageType: ''
    returnType: void
    signature: void AudioTrack_ConsumeFrame(aout_stream_t *stream, vlc_frame_t *f,
      size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: US_TO_BYTES
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:897,1
    - Dst: NewGlobalRef
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:903,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:904,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - env
    - stream
    - sample_size
    argTypes:
    - JNIEnv*
    - aout_stream_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 891
    functionDepth: 1
    functionLinenumber: 891
    functionLinenumberEnd: 913
    functionName: AudioTrack_AllocJArray
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached:
    - NewGlobalRef
    - DeleteLocalRef
    - US_TO_BYTES
    linkageType: ''
    returnType: int
    signature: "int AudioTrack_AllocJArray(JNIEnv *env, aout_stream_t *stream, unsigned
      sample_size,\n                       jarray (*new)(JNIEnv *env, jsize size))"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:932,1
    - Dst: SetByteArrayRegion
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:938,1
    - Dst: AudioTrack_ConsumeFrame
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:940,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:942,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:943,1
    - Dst: AudioTrack_getPlaybackHeadPosition
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:945,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:947,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:950,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:960,1
    - Dst: __MIN
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:965,1
    - Dst: BYTES_TO_FRAMES
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:966,1
    - Dst: JNI_AT_CALL_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:968,1
    - Dst: FRAMES_TO_BYTES
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:969,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - env
    - stream
    - b_force
    argTypes:
    - JNIEnv*
    - aout_stream_t*
    - bool
    assertStmts:
    - condition: (f != NULL)
      pos:
        line_end: 931
        line_start: 931
        source_file: /src/vlc/modules/audio_output/android/audiotrack.c
    - condition: (p_sys->jbuffer.size > 0)
      pos:
        line_end: 941
        line_start: 941
        source_file: /src/vlc/modules/audio_output/android/audiotrack.c
    - condition: (p_sys->jbuffer.size > p_sys->jbuffer.offset)
      pos:
        line_end: 942
        line_start: 942
        source_file: /src/vlc/modules/audio_output/android/audiotrack.c
    - condition: ( i_audiotrack_pos <= p_sys->i_samples_written )
      pos:
        line_end: 946
        line_start: 946
        source_file: /src/vlc/modules/audio_output/android/audiotrack.c
    constantsTouched: []
    func_position:
      end: 978
      start: 920
    functionDepth: 2
    functionLinenumber: 920
    functionLinenumberEnd: 978
    functionName: AudioTrack_WriteByteArray
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached:
    - assert
    - BYTES_TO_FRAMES
    - AudioTrack_ConsumeFrame
    - msg_Err
    - AudioTrack_getPlaybackHeadPosition
    - __MIN
    - FRAMES_TO_BYTES
    - msg_Warn
    - JNI_AT_CALL_INT
    - SetByteArrayRegion
    linkageType: ''
    returnType: int
    signature: int AudioTrack_WriteByteArray( JNIEnv *env, aout_stream_t *stream,
      bool b_force )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:994,1
    - Dst: SetByteArrayRegion
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1000,1
    - Dst: AudioTrack_ConsumeFrame
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1002,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1004,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1005,1
    - Dst: JNI_AT_CALL_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1007,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - env
    - stream
    argTypes:
    - JNIEnv*
    - aout_stream_t*
    assertStmts:
    - condition: (f != NULL)
      pos:
        line_end: 993
        line_start: 993
        source_file: /src/vlc/modules/audio_output/android/audiotrack.c
    - condition: (p_sys->jbuffer.size > 0)
      pos:
        line_end: 1003
        line_start: 1003
        source_file: /src/vlc/modules/audio_output/android/audiotrack.c
    - condition: (p_sys->jbuffer.size > p_sys->jbuffer.offset)
      pos:
        line_end: 1004
        line_start: 1004
        source_file: /src/vlc/modules/audio_output/android/audiotrack.c
    constantsTouched: []
    func_position:
      end: 1019
      start: 985
    functionDepth: 2
    functionLinenumber: 985
    functionLinenumberEnd: 1019
    functionName: AudioTrack_WriteByteArrayV23
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached:
    - JNI_AT_CALL_INT
    - assert
    - SetByteArrayRegion
    - AudioTrack_ConsumeFrame
    linkageType: ''
    returnType: int
    signature: int AudioTrack_WriteByteArrayV23(JNIEnv *env, aout_stream_t *stream)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1035,1
    - Dst: SetShortArrayRegion
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1042,1
    - Dst: AudioTrack_ConsumeFrame
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1044,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1046,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1047,1
    - Dst: JNI_AT_CALL_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1049,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - env
    - stream
    argTypes:
    - JNIEnv*
    - aout_stream_t*
    assertStmts:
    - condition: (f != NULL)
      pos:
        line_end: 1034
        line_start: 1034
        source_file: /src/vlc/modules/audio_output/android/audiotrack.c
    - condition: (p_sys->jbuffer.size > 0)
      pos:
        line_end: 1045
        line_start: 1045
        source_file: /src/vlc/modules/audio_output/android/audiotrack.c
    - condition: (p_sys->jbuffer.size > p_sys->jbuffer.offset)
      pos:
        line_end: 1046
        line_start: 1046
        source_file: /src/vlc/modules/audio_output/android/audiotrack.c
    constantsTouched: []
    func_position:
      end: 1062
      start: 1026
    functionDepth: 2
    functionLinenumber: 1026
    functionLinenumberEnd: 1062
    functionName: AudioTrack_WriteShortArrayV23
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached:
    - JNI_AT_CALL_INT
    - assert
    - SetShortArrayRegion
    - AudioTrack_ConsumeFrame
    linkageType: ''
    returnType: int
    signature: int AudioTrack_WriteShortArrayV23(JNIEnv *env, aout_stream_t *stream)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1078,1
    - Dst: SetFloatArrayRegion
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1085,1
    - Dst: AudioTrack_ConsumeFrame
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1087,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1089,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1090,1
    - Dst: JNI_AT_CALL_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1092,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - env
    - stream
    argTypes:
    - JNIEnv*
    - aout_stream_t*
    assertStmts:
    - condition: (f != NULL)
      pos:
        line_end: 1077
        line_start: 1077
        source_file: /src/vlc/modules/audio_output/android/audiotrack.c
    - condition: (p_sys->jbuffer.size > 0)
      pos:
        line_end: 1088
        line_start: 1088
        source_file: /src/vlc/modules/audio_output/android/audiotrack.c
    - condition: (p_sys->jbuffer.size > p_sys->jbuffer.offset)
      pos:
        line_end: 1089
        line_start: 1089
        source_file: /src/vlc/modules/audio_output/android/audiotrack.c
    constantsTouched: []
    func_position:
      end: 1105
      start: 1069
    functionDepth: 2
    functionLinenumber: 1069
    functionLinenumberEnd: 1105
    functionName: AudioTrack_WriteFloatArray
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached:
    - SetFloatArrayRegion
    - JNI_AT_CALL_INT
    - assert
    - AudioTrack_ConsumeFrame
    linkageType: ''
    returnType: int
    signature: int AudioTrack_WriteFloatArray(JNIEnv *env, aout_stream_t *stream)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: AudioTrack_WriteByteArrayV23
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1116,1
    - Dst: AudioTrack_WriteShortArrayV23
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1119,1
    - Dst: AudioTrack_WriteByteArray
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1122,1
    - Dst: AudioTrack_WriteFloatArray
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1125,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1128,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1135,1
    - Dst: AudioTrack_Recreate
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1137,1
    - Dst: AudioTrack_Reset
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1139,1
    - Dst: JNI_AT_CALL_VOID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1140,1
    - Dst: CHECK_AT_EXCEPTION
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1141,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1152,1
    - Dst: BYTES_TO_FRAMES
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1156,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - env
    - stream
    - b_force
    argTypes:
    - JNIEnv*
    - aout_stream_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1107
    functionDepth: 4
    functionLinenumber: 1107
    functionLinenumberEnd: 1158
    functionName: AudioTrack_Write
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached:
    - AudioTrack_WriteByteArrayV23
    - AudioTrack_Recreate
    - vlc_assert_unreachable
    - BYTES_TO_FRAMES
    - AudioTrack_WriteByteArray
    - msg_Err
    - AudioTrack_WriteShortArrayV23
    - AudioTrack_Reset
    - AudioTrack_WriteFloatArray
    - msg_Warn
    - CHECK_AT_EXCEPTION
    - JNI_AT_CALL_VOID
    linkageType: ''
    returnType: int
    signature: int AudioTrack_Write( JNIEnv *env, aout_stream_t *stream, bool b_force
      )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JNI_AT_CALL_BOOL
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1166,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1169,1
    - Dst: JNI_AUDIOTIMESTAMP_GET_LONG
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1169,1
    - Dst: JNI_AUDIOTIMESTAMP_GET_LONG
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1170,1
    - Dst: aout_stream_TimingReport
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1182,1
    - Dst: FRAMES_TO_US
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1183,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1188,1
    - Dst: FRAMES_TO_US
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1189,1
    - Dst: AudioTrack_getPlaybackHeadPosition
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1189,1
    - Dst: AudioTrack_GetLatencyUs
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1193,1
    - Dst: aout_stream_TimingReport
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1198,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - env
    - stream
    argTypes:
    - JNIEnv*
    - aout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1160
    functionDepth: 2
    functionLinenumber: 1160
    functionLinenumberEnd: 1201
    functionName: AudioTrack_ReportTiming
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - JNI_AUDIOTIMESTAMP_GET_LONG
    - AudioTrack_getPlaybackHeadPosition
    - FRAMES_TO_US
    - AudioTrack_GetLatencyUs
    - VLC_TICK_FROM_NS
    - aout_stream_TimingReport
    - JNI_AT_CALL_BOOL
    linkageType: ''
    returnType: int
    signature: int AudioTrack_ReportTiming( JNIEnv *env, aout_stream_t *stream )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GET_ENV
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1211,1
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1214,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1224,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1230,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1237,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1241,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1252,1
    - Dst: FRAMES_TO_US
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1253,1
    - Dst: AudioTrack_Write
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1257,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1262,1
    - Dst: __MAX
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1269,1
    - Dst: FRAMES_TO_US
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1270,1
    - Dst: vlc_cond_timedwait
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1273,1
    - Dst: AudioTrack_ReportTiming
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1287,1
    - Dst: US_TO_BYTES
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1292,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1298,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 1
    argNames:
    - p_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1206
    functionDepth: 5
    functionLinenumber: 1206
    functionLinenumberEnd: 1302
    functionName: AudioTrack_Thread
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - vlc_thread_set_name
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - US_TO_BYTES
    - vlc_cond_timedwait
    - AudioTrack_ReportTiming
    - __MAX
    - GET_ENV
    - FRAMES_TO_US
    - AudioTrack_Write
    - vlc_cond_wait
    linkageType: ''
    returnType: void
    signature: 'void *

      AudioTrack_Thread( void *p_data )'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1315,1
    - Dst: GetWBE
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1321,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1338,1
    - Dst: GetWBE
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1340,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - stream
    - p_buffer
    argTypes:
    - aout_stream_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1304
    functionDepth: 1
    functionLinenumber: 1304
    functionLinenumberEnd: 1352
    functionName: ConvertFromIEC61937
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached:
    - GetWBE
    - vlc_assert_unreachable
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int ConvertFromIEC61937( aout_stream_t *stream, block_t *p_buffer )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ConvertFromIEC61937
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1361,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1363,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1367,1
    - Dst: GET_ENV
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1369,1
    - Dst: block_Release
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1371,1
    - Dst: aout_ChannelReorder
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1376,1
    - Dst: vlc_frame_ChainLastAppend
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1383,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1384,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1387,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - stream
    - p_buffer
    - i_date
    argTypes:
    - aout_stream_t*
    - block_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1354
    functionDepth: 2
    functionLinenumber: 1354
    functionLinenumberEnd: 1389
    functionName: Play
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 22
    functionsReached:
    - block_Release
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - aout_ChannelReorder
    - vlc_frame_ChainLastAppend
    - GET_ENV
    - ConvertFromIEC61937
    linkageType: ''
    returnType: void
    signature: void Play( aout_stream_t *stream, block_t *p_buffer, vlc_tick_t i_date
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1396,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1398,1
    - Dst: GET_ENV
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1400,1
    - Dst: JNI_AT_CALL_VOID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1406,1
    - Dst: CHECK_AT_EXCEPTION
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1407,1
    - Dst: JNI_AT_CALL_VOID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1411,1
    - Dst: CHECK_AT_EXCEPTION
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1412,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1416,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - stream
    - b_pause
    - i_date
    argTypes:
    - aout_stream_t*
    - bool
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1391
    functionDepth: 1
    functionLinenumber: 1391
    functionLinenumberEnd: 1417
    functionName: Pause
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 27
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - GET_ENV
    - CHECK_AT_EXCEPTION
    - JNI_AT_CALL_VOID
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void Pause( aout_stream_t *stream, bool b_pause, vlc_tick_t i_date
      )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1425,1
    - Dst: vlc_frame_ChainRelease
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1428,1
    - Dst: GET_ENV
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1432,1
    - Dst: JNI_AT_CALL_VOID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1446,1
    - Dst: CHECK_AT_EXCEPTION
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1447,1
    - Dst: JNI_AT_CALL_VOID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1449,1
    - Dst: AudioTrack_Recreate
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1459,1
    - Dst: AudioTrack_Reset
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1465,1
    - Dst: JNI_AT_CALL_VOID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1466,1
    - Dst: CHECK_AT_EXCEPTION
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1467,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1470,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - stream
    argTypes:
    - aout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1419
    functionDepth: 4
    functionLinenumber: 1419
    functionLinenumberEnd: 1471
    functionName: Flush
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 65
    functionsReached:
    - AudioTrack_Recreate
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_frame_ChainRelease
    - AudioTrack_Reset
    - GET_ENV
    - CHECK_AT_EXCEPTION
    - JNI_AT_CALL_VOID
    linkageType: ''
    returnType: void
    signature: void Flush( aout_stream_t *stream )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JNI_AT_CALL_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1480,1
    - Dst: CHECK_AT_EXCEPTION
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1481,1
    - Dst: JNI_AT_CALL_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1484,1
    - Dst: CHECK_AT_EXCEPTION
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - env
    - stream
    - volume
    argTypes:
    - JNIEnv*
    - aout_stream_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1473
    functionDepth: 1
    functionLinenumber: 1473
    functionLinenumberEnd: 1487
    functionName: AudioTrack_SetVolume
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached:
    - CHECK_AT_EXCEPTION
    - JNI_AT_CALL_INT
    linkageType: ''
    returnType: void
    signature: void AudioTrack_SetVolume( JNIEnv *env, aout_stream_t *stream, float
      volume )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_ENV
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1503,1
    - Dst: AudioTrack_SetVolume
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1505,1
    - Dst: DynamicsProcessing_Disable
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1514,1
    - Dst: DynamicsProcessing_SetVolume
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1518,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1523,1
    - Dst: aout_stream_GainRequest
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1528,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - stream
    - volume
    argTypes:
    - aout_stream_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1489
    functionDepth: 2
    functionLinenumber: 1489
    functionLinenumberEnd: 1529
    functionName: VolumeSet
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 1
    functionsReached:
    - DynamicsProcessing_Disable
    - AudioTrack_SetVolume
    - aout_stream_GainRequest
    - GET_ENV
    - msg_Warn
    - DynamicsProcessing_SetVolume
    linkageType: ''
    returnType: void
    signature: void VolumeSet( aout_stream_t *stream, float volume )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_ENV
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1538,1
    - Dst: AudioTrack_SetVolume
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1539,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - mute
    argTypes:
    - aout_stream_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1531
    functionDepth: 2
    functionLinenumber: 1531
    functionLinenumberEnd: 1540
    functionName: MuteSet
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 4
    functionsReached:
    - AudioTrack_SetVolume
    - GET_ENV
    linkageType: ''
    returnType: void
    signature: void MuteSet( aout_stream_t *stream, bool mute )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1579,1
    - Dst: vlc_android_AudioFormat_FourCCToEncoding
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1584,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 3
    argNames:
    - compat
    - fmt
    - at_format
    argTypes:
    - bool
    - audio_sample_format_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1595
      start: 1542
    functionDepth: 1
    functionLinenumber: 1542
    functionLinenumberEnd: 1595
    functionName: GetPassthroughFmt
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached:
    - aout_FormatNbChannels
    - vlc_android_AudioFormat_FourCCToEncoding
    linkageType: ''
    returnType: int
    signature: int GetPassthroughFmt( bool compat, audio_sample_format_t *fmt, int
      *at_format )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetPassthroughFmt
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1611,1
    - Dst: AudioTrack_Create
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1616,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1621,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1629,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - env
    - stream
    argTypes:
    - JNIEnv*
    - aout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1631
      start: 1597
    functionDepth: 4
    functionLinenumber: 1597
    functionLinenumberEnd: 1631
    functionName: StartPassthrough
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached:
    - AudioTrack_Create
    - msg_Dbg
    - GetPassthroughFmt
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int StartPassthrough( JNIEnv *env, aout_stream_t *stream )
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: JNI_AT_CALL_STATIC_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1642,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1645,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1677,1
    - Dst: AOUT_FMT_LINEAR
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1680,1
    - Dst: __MIN
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1681,1
    - Dst: AudioTrack_Create
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1700,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1706,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1712,1
    - Dst: AndroidDevice_GetChanOrder
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1725,1
    - Dst: aout_CheckChannelReorder
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1728,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1731,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 3
    argNames:
    - env
    - stream
    - i_max_channels
    argTypes:
    - JNIEnv*
    - aout_stream_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 1633
    functionDepth: 4
    functionLinenumber: 1633
    functionLinenumberEnd: 1733
    functionName: StartPCM
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 0
    functionsReached:
    - aout_FormatPrepare
    - AOUT_FMT_LINEAR
    - VLC_CLIP
    - aout_CheckChannelReorder
    - __MIN
    - msg_Warn
    - JNI_AT_CALL_STATIC_INT
    - AudioTrack_Create
    - AndroidDevice_GetChanOrder
    - aout_FormatNbChannels
    linkageType: ''
    returnType: int
    signature: int StartPCM( JNIEnv *env, aout_stream_t *stream, unsigned i_max_channels
      )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GET_ENV
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1741,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1745,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1749,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1750,1
    - Dst: vlc_join
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1751,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1754,1
    - Dst: DeleteGlobalRef
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1757,1
    - Dst: JNI_AT_CALL_VOID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1764,1
    - Dst: CHECK_AT_EXCEPTION
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1765,1
    - Dst: JNI_AT_CALL_VOID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1766,1
    - Dst: DeleteGlobalRef
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1768,1
    - Dst: DynamicsProcessing_Delete
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1772,1
    - Dst: DeleteGlobalRef
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1776,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1778,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - stream
    argTypes:
    - aout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1779
      start: 1735
    functionDepth: 1
    functionLinenumber: 1735
    functionLinenumberEnd: 1779
    functionName: Stop
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 45
    functionsReached:
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - free
    - vlc_join
    - DeleteGlobalRef
    - GET_ENV
    - DynamicsProcessing_Delete
    - CHECK_AT_EXCEPTION
    - JNI_AT_CALL_VOID
    linkageType: ''
    returnType: void
    signature: void Stop( aout_stream_t *stream )
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: GET_ENV
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1801,1
    - Dst: AudioTrack_InitJNI
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1804,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1804,1
    - Dst: calloc
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1806,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1808,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1811,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1812,1
    - Dst: aout_FormatPrint
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1820,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1828,1
    - Dst: AOUT_FMT_LINEAR
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1831,1
    - Dst: StartPCM
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1832,1
    - Dst: StartPassthrough
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1834,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1840,1
    - Dst: JNI_AT_CALL_INT
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1845,1
    - Dst: BYTES_TO_FRAMES
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1847,1
    - Dst: JNI_CALL
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1852,1
    - Dst: NewGlobalRef
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1856,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1857,1
    - Dst: AudioTrack_Reset
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1865,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1869,1
    - Dst: AudioTrack_AllocJArray
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1871,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1875,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1876,1
    - Dst: AudioTrack_AllocJArray
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1878,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1882,1
    - Dst: AudioTrack_AllocJArray
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1884,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1888,1
    - Dst: AudioTrack_AllocJArray
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1890,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1895,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1902,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1905,1
    - Dst: JNI_AT_CALL_VOID
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1909,1
    - Dst: CHECK_AT_EXCEPTION
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1910,1
    - Dst: aout_FormatPrint
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1914,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1923,1
    - Dst: Stop
      Src: /src/vlc/modules/audio_output/android/audiotrack.c:1927,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 98
    argCount: 3
    argNames:
    - stream
    - p_fmt
    - adev
    argTypes:
    - aout_stream_t*
    - audio_sample_format_t*
    - enum android_audio_device_type
    assertStmts:
    - condition: ( jfields.AudioFormat.has_ENCODING_IEC61937 )
      pos:
        line_end: 1874
        line_start: 1874
        source_file: /src/vlc/modules/audio_output/android/audiotrack.c
    constantsTouched: []
    func_position:
      end: 1929
      start: 1781
    functionDepth: 5
    functionLinenumber: 1781
    functionLinenumberEnd: 1929
    functionName: Start
    functionSourceFile: /src/vlc/modules/audio_output/android/audiotrack.c
    functionUses: 61
    functionsReached:
    - assert
    - AudioTrack_Reset
    - StartPCM
    - aout_FormatPrint
    - NewGlobalRef
    - CHECK_AT_EXCEPTION
    - msg_Err
    - calloc
    - vlc_cond_init
    - StartPassthrough
    - msg_Dbg
    - JNI_AT_CALL_INT
    - aout_FormatPrepare
    - DeleteLocalRef
    - JNI_CALL
    - AudioTrack_InitJNI
    - GET_ENV
    - AOUT_FMT_LINEAR
    - vlc_clone
    - vlc_mutex_init
    - BYTES_TO_FRAMES
    - Stop
    - free
    - VLC_OBJECT
    - JNI_AT_CALL_VOID
    - unlikely
    - AudioTrack_AllocJArray
    linkageType: ''
    returnType: int
    signature: "int Start( aout_stream_t *stream, audio_sample_format_t *restrict
      p_fmt,\n       enum android_audio_device_type adev )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - what
    - ','
    - obj
    - ','
    - method
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: JNI_CALL
    functionSourceFile: /src/vlc/modules/audio_output/android/audioformat_jni.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JNI_CALL(what, obj, method, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - obj
    - ','
    - method
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: JNI_CALL_INT
    functionSourceFile: /src/vlc/modules/audio_output/android/audioformat_jni.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JNI_CALL_INT(obj, method, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - obj
    - ','
    - method
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: JNI_CALL_VOID
    functionSourceFile: /src/vlc/modules/audio_output/android/audioformat_jni.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JNI_CALL_VOID(obj, method, ...)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MATCH_ENCODING_FLAG
      Src: /src/vlc/modules/audio_output/android/audioformat_jni.c:64,1
    - Dst: MATCH_ENCODING_FLAG
      Src: /src/vlc/modules/audio_output/android/audioformat_jni.c:66,1
    - Dst: MATCH_ENCODING_FLAG
      Src: /src/vlc/modules/audio_output/android/audioformat_jni.c:68,1
    - Dst: MATCH_ENCODING_FLAG
      Src: /src/vlc/modules/audio_output/android/audioformat_jni.c:70,1
    - Dst: MATCH_ENCODING_FLAG
      Src: /src/vlc/modules/audio_output/android/audioformat_jni.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - encoding_flags
    - i_format
    argTypes:
    - long long
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 77
    functionName: vlc_android_AudioFormat_HasEncoding
    functionSourceFile: /src/vlc/modules/audio_output/android/audioformat_jni.c
    functionUses: 0
    functionsReached:
    - MATCH_ENCODING_FLAG
    linkageType: ''
    returnType: bool
    signature: "bool vlc_android_AudioFormat_HasEncoding(long long encoding_flags,\n
      \                                        vlc_fourcc_t i_format)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: MATCH_ENCODING_FLAG
    functionSourceFile: /src/vlc/modules/audio_output/android/audioformat_jni.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_ENCODING_FLAG(x)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/audio_output/android/audioformat_jni.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - format
    - encoding
    argTypes:
    - vlc_fourcc_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 103
    functionName: vlc_android_AudioFormat_FourCCToEncoding
    functionSourceFile: /src/vlc/modules/audio_output/android/audioformat_jni.c
    functionUses: 1
    functionsReached:
    - vlc_assert_unreachable
    linkageType: ''
    returnType: int
    signature: int vlc_android_AudioFormat_FourCCToEncoding(vlc_fourcc_t format, int
      *encoding)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: android_getEnv
      Src: /src/vlc/modules/audio_output/android/audioformat_jni.c:113,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/android/audioformat_jni.c:118,1
    - Dst: GET_CLASS
      Src: /src/vlc/modules/audio_output/android/audioformat_jni.c:156,1
    - Dst: GET_CONST_INT
      Src: /src/vlc/modules/audio_output/android/audioformat_jni.c:157,1
    - Dst: GET_CONST_INT
      Src: /src/vlc/modules/audio_output/android/audioformat_jni.c:159,1
    - Dst: GET_CONST_INT
      Src: /src/vlc/modules/audio_output/android/audioformat_jni.c:162,1
    - Dst: GET_CONST_INT
      Src: /src/vlc/modules/audio_output/android/audioformat_jni.c:164,1
    - Dst: GET_CONST_INT
      Src: /src/vlc/modules/audio_output/android/audioformat_jni.c:167,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/android/audioformat_jni.c:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - p_aout
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 175
    functionName: vlc_android_AudioFormat_InitJNI
    functionSourceFile: /src/vlc/modules/audio_output/android/audioformat_jni.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - GET_CONST_INT
    - android_getEnv
    - GET_CLASS
    linkageType: ''
    returnType: int
    signature: int vlc_android_AudioFormat_InitJNI(vlc_object_t *p_aout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - what
    - ','
    - critical
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: CHECK_EXCEPTION
    functionSourceFile: /src/vlc/modules/audio_output/android/audioformat_jni.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_EXCEPTION(what, critical)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - critical
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: GET_CLASS
    functionSourceFile: /src/vlc/modules/audio_output/android/audioformat_jni.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_CLASS(str, critical)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - get
    - ','
    - id
    - ','
    - str
    - ','
    - args
    - ','
    - critical
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: GET_ID
    functionSourceFile: /src/vlc/modules/audio_output/android/audioformat_jni.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_ID(get, id, str, args, critical)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - id
    - ','
    - str
    - ','
    - critical
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 153
    functionName: GET_CONST_INT
    functionSourceFile: /src/vlc/modules/audio_output/android/audioformat_jni.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_CONST_INT(id, str, critical)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: android_get_device_api_level
      Src: /src/vlc/modules/audio_output/android/device.c:88,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/audio_output/android/device.c:93,1
    - Dst: __system_property_get
      Src: /src/vlc/modules/audio_output/android/device.c:96,1
    - Dst: strstr
      Src: /src/vlc/modules/audio_output/android/device.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 104
    functionName: get_audio_output_from_device
    functionSourceFile: /src/vlc/modules/audio_output/android/device.c
    functionUses: 0
    functionsReached:
    - __system_property_get
    - strstr
    - ARRAY_SIZE
    - android_get_device_api_level
    linkageType: ''
    returnType: enum AudioOutput
    signature: enum AudioOutput get_audio_output_from_device(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_output/android/device.c:121,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/android/device.c:122,1
    - Dst: struct sys*::stream::drain
      Src: /src/vlc/modules/audio_output/android/device.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts:
    - condition: (sys->stream != NULL)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/vlc/modules/audio_output/android/device.c
    - condition: (sys->stream->drain != NULL)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/vlc/modules/audio_output/android/device.c
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: Drain
    functionSourceFile: /src/vlc/modules/audio_output/android/device.c
    functionUses: 5
    functionsReached:
    - struct sys*::stream::drain
    - assert
    linkageType: ''
    returnType: void
    signature: void Drain(audio_output_t *aout)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_android_AudioFormat_HasEncoding
      Src: /src/vlc/modules/audio_output/android/device.c:132,1
    - Dst: vlc_object_create
      Src: /src/vlc/modules/audio_output/android/device.c:135,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/android/device.c:136,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/audio_output/android/device.c:147,1
    - Dst: vlc_module_match
      Src: /src/vlc/modules/audio_output/android/device.c:149,1
    - Dst: vlc_module_map
      Src: /src/vlc/modules/audio_output/android/device.c:153,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/audio_output/android/device.c:153,1
    - Dst: start
      Src: /src/vlc/modules/audio_output/android/device.c:156,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/android/device.c:161,1
    - Dst: aout_stream_t*::volume_set
      Src: /src/vlc/modules/audio_output/android/device.c:167,1
    - Dst: aout_stream_t*::mute_set
      Src: /src/vlc/modules/audio_output/android/device.c:169,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/android/device.c:174,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/android/device.c:175,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 2
    argNames:
    - aout
    - fmt
    argTypes:
    - audio_output_t*
    - audio_sample_format_t*
    assertStmts:
    - condition: "(s->stop != NULL && s->play != NULL &&\n                   s->pause
        != NULL && s->flush != NULL)"
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/vlc/modules/audio_output/android/device.c
    constantsTouched: []
    func_position:
      end: 178
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 178
    functionName: Start
    functionSourceFile: /src/vlc/modules/audio_output/android/device.c
    functionUses: 61
    functionsReached:
    - assert
    - var_InheritString
    - aout_stream_t*::mute_set
    - vlc_object_logger
    - vlc_object_create
    - aout_stream_t*::volume_set
    - free
    - vlc_android_AudioFormat_HasEncoding
    - start
    - unlikely
    - vlc_module_match
    - vlc_module_map
    linkageType: ''
    returnType: int
    signature: int Start(audio_output_t *aout, audio_sample_format_t *restrict fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_output/android/device.c:184,1
    - Dst: struct sys*::stream::stop
      Src: /src/vlc/modules/audio_output/android/device.c:186,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/audio_output/android/device.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts:
    - condition: (sys->stream != NULL)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/vlc/modules/audio_output/android/device.c
    constantsTouched: []
    func_position:
      end: 190
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 190
    functionName: Stop
    functionSourceFile: /src/vlc/modules/audio_output/android/device.c
    functionUses: 46
    functionsReached:
    - struct sys*::stream::stop
    - assert
    - vlc_object_delete
    linkageType: ''
    returnType: void
    signature: void Stop(audio_output_t *aout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_output/android/device.c:196,1
    - Dst: struct sys*::stream::play
      Src: /src/vlc/modules/audio_output/android/device.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - aout
    - block
    - date
    argTypes:
    - audio_output_t*
    - block_t*
    - vlc_tick_t
    assertStmts:
    - condition: (sys->stream != NULL)
      pos:
        line_end: 195
        line_start: 195
        source_file: /src/vlc/modules/audio_output/android/device.c
    constantsTouched: []
    func_position:
      end: 199
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 199
    functionName: Play
    functionSourceFile: /src/vlc/modules/audio_output/android/device.c
    functionUses: 22
    functionsReached:
    - assert
    - struct sys*::stream::play
    linkageType: ''
    returnType: void
    signature: void Play(audio_output_t *aout, block_t *block, vlc_tick_t date)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_output/android/device.c:205,1
    - Dst: struct sys*::stream::pause
      Src: /src/vlc/modules/audio_output/android/device.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - aout
    - paused
    - date
    argTypes:
    - audio_output_t*
    - bool
    - vlc_tick_t
    assertStmts:
    - condition: (sys->stream != NULL)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/vlc/modules/audio_output/android/device.c
    constantsTouched: []
    func_position:
      end: 208
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 208
    functionName: Pause
    functionSourceFile: /src/vlc/modules/audio_output/android/device.c
    functionUses: 27
    functionsReached:
    - assert
    - struct sys*::stream::pause
    linkageType: ''
    returnType: void
    signature: void Pause(audio_output_t *aout, bool paused, vlc_tick_t date)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_output/android/device.c:214,1
    - Dst: struct sys*::stream::flush
      Src: /src/vlc/modules/audio_output/android/device.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts:
    - condition: (sys->stream != NULL)
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/vlc/modules/audio_output/android/device.c
    constantsTouched: []
    func_position:
      end: 217
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 217
    functionName: Flush
    functionSourceFile: /src/vlc/modules/audio_output/android/device.c
    functionUses: 65
    functionsReached:
    - struct sys*::stream::flush
    - assert
    linkageType: ''
    returnType: void
    signature: void Flush(audio_output_t *aout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct sys*::stream::volume_set
      Src: /src/vlc/modules/audio_output/android/device.c:226,1
    - Dst: aout_VolumeReport
      Src: /src/vlc/modules/audio_output/android/device.c:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - aout
    - vol
    argTypes:
    - audio_output_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 230
    functionName: VolumeSet
    functionSourceFile: /src/vlc/modules/audio_output/android/device.c
    functionUses: 1
    functionsReached:
    - aout_VolumeReport
    - struct sys*::stream::volume_set
    linkageType: ''
    returnType: int
    signature: int VolumeSet(audio_output_t *aout, float vol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct sys*::stream::mute_set
      Src: /src/vlc/modules/audio_output/android/device.c:239,1
    - Dst: aout_MuteReport
      Src: /src/vlc/modules/audio_output/android/device.c:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - aout
    - mute
    argTypes:
    - audio_output_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 243
    functionName: MuteSet
    functionSourceFile: /src/vlc/modules/audio_output/android/device.c
    functionUses: 4
    functionsReached:
    - struct sys*::stream::mute_set
    - aout_MuteReport
    linkageType: ''
    returnType: int
    signature: int MuteSet(audio_output_t *aout, bool mute)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/vlc/modules/audio_output/android/device.c:254,1
    - Dst: strlen
      Src: /src/vlc/modules/audio_output/android/device.c:254,1
    - Dst: strlen
      Src: /src/vlc/modules/audio_output/android/device.c:265,1
    - Dst: strncmp
      Src: /src/vlc/modules/audio_output/android/device.c:266,1
    - Dst: atoll
      Src: /src/vlc/modules/audio_output/android/device.c:267,1
    - Dst: aout_RestartRequest
      Src: /src/vlc/modules/audio_output/android/device.c:274,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/android/device.c:275,1
    - Dst: vlc_android_AudioFormat_HasEncoding
      Src: /src/vlc/modules/audio_output/android/device.c:286,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/android/device.c:287,1
    - Dst: aout_DeviceReport
      Src: /src/vlc/modules/audio_output/android/device.c:292,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - aout
    - id
    argTypes:
    - audio_output_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 294
    functionName: DeviceSelect
    functionSourceFile: /src/vlc/modules/audio_output/android/device.c
    functionUses: 2
    functionsReached:
    - strlen
    - strncmp
    - msg_Dbg
    - vlc_android_AudioFormat_HasEncoding
    - aout_DeviceReport
    - atoll
    - aout_RestartRequest
    linkageType: ''
    returnType: int
    signature: int DeviceSelect(audio_output_t *aout, const char *id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_android_AudioFormat_InitJNI
      Src: /src/vlc/modules/audio_output/android/device.c:301,1
    - Dst: get_audio_output_from_device
      Src: /src/vlc/modules/audio_output/android/device.c:305,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/audio_output/android/device.c:308,1
    - Dst: aout_HotplugReport
      Src: /src/vlc/modules/audio_output/android/device.c:329,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/audio_output/android/device.c:331,1
    - Dst: DeviceSelect
      Src: /src/vlc/modules/audio_output/android/device.c:332,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 335
    functionName: Open
    functionSourceFile: /src/vlc/modules/audio_output/android/device.c
    functionUses: 51
    functionsReached:
    - vlc_obj_malloc
    - aout_HotplugReport
    - get_audio_output_from_device
    - var_InheritBool
    - vlc_android_AudioFormat_InitJNI
    - DeviceSelect
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - shortcut
    - ','
    - name
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 345
    functionName: add_aout
    functionSourceFile: /src/vlc/modules/audio_output/android/device.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: add_aout(shortcut, name, desc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/android/aaudio.c:139,1
    - Dst: dlopen
      Src: /src/vlc/modules/audio_output/android/aaudio.c:144,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/android/aaudio.c:147,1
    - Dst: AAUDIO_DLSYM
      Src: /src/vlc/modules/audio_output/android/aaudio.c:163,1
    - Dst: AAUDIO_DLSYM
      Src: /src/vlc/modules/audio_output/android/aaudio.c:164,1
    - Dst: AAUDIO_DLSYM
      Src: /src/vlc/modules/audio_output/android/aaudio.c:165,1
    - Dst: AAUDIO_DLSYM
      Src: /src/vlc/modules/audio_output/android/aaudio.c:166,1
    - Dst: AAUDIO_DLSYM
      Src: /src/vlc/modules/audio_output/android/aaudio.c:167,1
    - Dst: AAUDIO_DLSYM
      Src: /src/vlc/modules/audio_output/android/aaudio.c:168,1
    - Dst: AAUDIO_DLSYM
      Src: /src/vlc/modules/audio_output/android/aaudio.c:169,1
    - Dst: AAUDIO_DLSYM
      Src: /src/vlc/modules/audio_output/android/aaudio.c:170,1
    - Dst: AAUDIO_DLSYM
      Src: /src/vlc/modules/audio_output/android/aaudio.c:171,1
    - Dst: AAUDIO_DLSYM
      Src: /src/vlc/modules/audio_output/android/aaudio.c:172,1
    - Dst: AAUDIO_DLSYM
      Src: /src/vlc/modules/audio_output/android/aaudio.c:173,1
    - Dst: AAUDIO_DLSYM
      Src: /src/vlc/modules/audio_output/android/aaudio.c:174,1
    - Dst: AAUDIO_DLSYM
      Src: /src/vlc/modules/audio_output/android/aaudio.c:175,1
    - Dst: AAUDIO_DLSYM
      Src: /src/vlc/modules/audio_output/android/aaudio.c:176,1
    - Dst: AAUDIO_DLSYM
      Src: /src/vlc/modules/audio_output/android/aaudio.c:177,1
    - Dst: AAUDIO_DLSYM
      Src: /src/vlc/modules/audio_output/android/aaudio.c:178,1
    - Dst: AAUDIO_DLSYM
      Src: /src/vlc/modules/audio_output/android/aaudio.c:179,1
    - Dst: AAUDIO_DLSYM
      Src: /src/vlc/modules/audio_output/android/aaudio.c:180,1
    - Dst: AAUDIO_DLSYM
      Src: /src/vlc/modules/audio_output/android/aaudio.c:181,1
    - Dst: AAUDIO_DLSYM
      Src: /src/vlc/modules/audio_output/android/aaudio.c:182,1
    - Dst: AAUDIO_DLSYM
      Src: /src/vlc/modules/audio_output/android/aaudio.c:183,1
    - Dst: AAUDIO_DLSYM
      Src: /src/vlc/modules/audio_output/android/aaudio.c:184,1
    - Dst: AAUDIO_DLSYM
      Src: /src/vlc/modules/audio_output/android/aaudio.c:185,1
    - Dst: AAUDIO_DLSYM
      Src: /src/vlc/modules/audio_output/android/aaudio.c:186,1
    - Dst: AAUDIO_DLSYM
      Src: /src/vlc/modules/audio_output/android/aaudio.c:187,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/android/aaudio.c:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 1
    argNames:
    - stream
    argTypes:
    - aout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 194
    functionName: LoadSymbols
    functionSourceFile: /src/vlc/modules/audio_output/android/aaudio.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - AAUDIO_DLSYM
    - msg_Err
    - dlopen
    linkageType: ''
    returnType: int
    signature: int LoadSymbols(aout_stream_t *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - critical
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: AAUDIO_DLSYM
    functionSourceFile: /src/vlc/modules/audio_output/android/aaudio.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AAUDIO_DLSYM(name, critical)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/audio_output/android/aaudio.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vlc_role
    - entry
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 220
    functionName: role_cmp
    functionSourceFile: /src/vlc/modules/audio_output/android/aaudio.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int role_cmp(const void *vlc_role, const void *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/vlc/modules/audio_output/android/aaudio.c:225,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/audio_output/android/aaudio.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vlc_role
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 229
    functionName: GetUsageFromVLCRole
    functionSourceFile: /src/vlc/modules/audio_output/android/aaudio.c
    functionUses: 0
    functionsReached:
    - bsearch
    - ARRAY_SIZE
    linkageType: ''
    returnType: aaudio_usage_t
    signature: aaudio_usage_t GetUsageFromVLCRole(const char *vlc_role)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/android/aaudio.c:234,1
    - Dst: AAudio_convertResultToText
      Src: /src/vlc/modules/audio_output/android/aaudio.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stream
    - msg
    - result
    argTypes:
    - aout_stream_t*
    - char*
    - aaudio_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: LogAAudioError
    functionSourceFile: /src/vlc/modules/audio_output/android/aaudio.c
    functionUses: 0
    functionsReached:
    - AAudio_convertResultToText
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void LogAAudioError(aout_stream_t *stream, const char *msg, aaudio_result_t
      result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_output/android/aaudio.c:246,1
    - Dst: AAudioStream_getState
      Src: /src/vlc/modules/audio_output/android/aaudio.c:248,1
    - Dst: AAudioStream_waitForStateChange
      Src: /src/vlc/modules/audio_output/android/aaudio.c:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - stream
    - wait_state
    argTypes:
    - aout_stream_t*
    - aaudio_result_t
    assertStmts:
    - condition: (sys->as)
      pos:
        line_end: 245
        line_start: 245
        source_file: /src/vlc/modules/audio_output/android/aaudio.c
    constantsTouched: []
    func_position:
      end: 264
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 264
    functionName: WaitState
    functionSourceFile: /src/vlc/modules/audio_output/android/aaudio.c
    functionUses: 0
    functionsReached:
    - AAudioStream_waitForStateChange
    - assert
    - AAudioStream_getState
    linkageType: ''
    returnType: int
    signature: int WaitState(aout_stream_t *stream, aaudio_result_t wait_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_output/android/aaudio.c:274,1
    - Dst: AAudioStream_getState
      Src: /src/vlc/modules/audio_output/android/aaudio.c:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - aout_stream_t*
    assertStmts:
    - condition: (sys->as)
      pos:
        line_end: 273
        line_start: 273
        source_file: /src/vlc/modules/audio_output/android/aaudio.c
    constantsTouched: []
    func_position:
      end: 277
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 277
    functionName: GetState
    functionSourceFile: /src/vlc/modules/audio_output/android/aaudio.c
    functionUses: 12
    functionsReached:
    - assert
    - AAudioStream_getState
    linkageType: ''
    returnType: aaudio_stream_state_t
    signature: aaudio_stream_state_t GetState(aout_stream_t *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 288
    functionName: Request
    functionSourceFile: /src/vlc/modules/audio_output/android/aaudio.c
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Request(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Request
      Src: /src/vlc/modules/audio_output/android/aaudio.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - aout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: RequestStart
    functionSourceFile: /src/vlc/modules/audio_output/android/aaudio.c
    functionUses: 0
    functionsReached:
    - Request
    linkageType: ''
    returnType: int
    signature: int RequestStart(aout_stream_t *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Request
      Src: /src/vlc/modules/audio_output/android/aaudio.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - aout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 299
    functionName: RequestStop
    functionSourceFile: /src/vlc/modules/audio_output/android/aaudio.c
    functionUses: 0
    functionsReached:
    - Request
    linkageType: ''
    returnType: int
    signature: int RequestStop(aout_stream_t *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Request
      Src: /src/vlc/modules/audio_output/android/aaudio.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - aout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: RequestPause
    functionSourceFile: /src/vlc/modules/audio_output/android/aaudio.c
    functionUses: 0
    functionsReached:
    - Request
    linkageType: ''
    returnType: int
    signature: int RequestPause(aout_stream_t *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Request
      Src: /src/vlc/modules/audio_output/android/aaudio.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - aout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 311
    functionName: RequestFlush
    functionSourceFile: /src/vlc/modules/audio_output/android/aaudio.c
    functionUses: 0
    functionsReached:
    - Request
    linkageType: ''
    returnType: int
    signature: int RequestFlush(aout_stream_t *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sys
    - bytes
    argTypes:
    - struct sys*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 317
    functionName: BytesToFrames
    functionSourceFile: /src/vlc/modules/audio_output/android/aaudio.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t BytesToFrames(struct sys *sys, size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/audio_output/android/aaudio.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sys
    - frames
    argTypes:
    - struct sys*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: FramesToTicks
    functionSourceFile: /src/vlc/modules/audio_output/android/aaudio.c
    functionUses: 1
    functionsReached:
    - vlc_tick_from_samples
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t FramesToTicks(struct sys *sys, int64_t frames)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FramesToTicks
      Src: /src/vlc/modules/audio_output/android/aaudio.c:329,1
    - Dst: BytesToFrames
      Src: /src/vlc/modules/audio_output/android/aaudio.c:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sys
    - bytes
    argTypes:
    - struct sys*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: BytesToTicks
    functionSourceFile: /src/vlc/modules/audio_output/android/aaudio.c
    functionUses: 2
    functionsReached:
    - FramesToTicks
    - BytesToFrames
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t BytesToTicks(struct sys *sys, size_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sys
    - frames
    argTypes:
    - struct sys*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: FramesToBytes
    functionSourceFile: /src/vlc/modules/audio_output/android/aaudio.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t FramesToBytes(struct sys *sys, uint64_t frames)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: samples_from_vlc_tick
      Src: /src/vlc/modules/audio_output/android/aaudio.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sys
    - ticks
    argTypes:
    - struct sys*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 342
    functionName: TicksToFrames
    functionSourceFile: /src/vlc/modules/audio_output/android/aaudio.c
    functionUses: 1
    functionsReached:
    - samples_from_vlc_tick
    linkageType: ''
    returnType: int64_t
    signature: int64_t TicksToFrames(struct sys *sys, vlc_tick_t ticks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FramesToBytes
      Src: /src/vlc/modules/audio_output/android/aaudio.c:347,1
    - Dst: TicksToFrames
      Src: /src/vlc/modules/audio_output/android/aaudio.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sys
    - ticks
    argTypes:
    - struct sys*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 348
    functionName: TicksToBytes
    functionSourceFile: /src/vlc/modules/audio_output/android/aaudio.c
    functionUses: 1
    functionsReached:
    - TicksToFrames
    - FramesToBytes
    linkageType: ''
    returnType: size_t
    signature: size_t TicksToBytes(struct sys *sys, vlc_tick_t ticks)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AAudioStream_getTimestamp
      Src: /src/vlc/modules/audio_output/android/aaudio.c:358,1
    - Dst: LogAAudioError
      Src: /src/vlc/modules/audio_output/android/aaudio.c:362,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/audio_output/android/aaudio.c:368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - stream
    - pos_frames
    - frame_time_us
    argTypes:
    - aout_stream_t*
    - int64_t*
    - vlc_tick_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 370
    functionName: GetFrameTimestampLocked
    functionSourceFile: /src/vlc/modules/audio_output/android/aaudio.c
    functionUses: 0
    functionsReached:
    - AAudioStream_getTimestamp
    - LogAAudioError
    - VLC_TICK_FROM_NS
    linkageType: ''
    returnType: int
    signature: "int GetFrameTimestampLocked(aout_stream_t *stream, int64_t *pos_frames,\n
      \                       vlc_tick_t *frame_time_us)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_output/android/aaudio.c:377,1
    - Dst: FramesToBytes
      Src: /src/vlc/modules/audio_output/android/aaudio.c:379,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/android/aaudio.c:382,1
    - Dst: GetState
      Src: /src/vlc/modules/audio_output/android/aaudio.c:383,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/audio_output/android/aaudio.c:393,1
    - Dst: TicksToBytes
      Src: /src/vlc/modules/audio_output/android/aaudio.c:399,1
    - Dst: memset
      Src: /src/vlc/modules/audio_output/android/aaudio.c:409,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/android/aaudio.c:434,1
    - Dst: memset
      Src: /src/vlc/modules/audio_output/android/aaudio.c:436,1
    - Dst: aout_stream_DrainedReport
      Src: /src/vlc/modules/audio_output/android/aaudio.c:439,1
    - Dst: GetFrameTimestampLocked
      Src: /src/vlc/modules/audio_output/android/aaudio.c:454,1
    - Dst: FramesToTicks
      Src: /src/vlc/modules/audio_output/android/aaudio.c:457,1
    - Dst: BytesToTicks
      Src: /src/vlc/modules/audio_output/android/aaudio.c:459,1
    - Dst: likely
      Src: /src/vlc/modules/audio_output/android/aaudio.c:462,1
    - Dst: TicksToBytes
      Src: /src/vlc/modules/audio_output/android/aaudio.c:469,1
    - Dst: BytesToTicks
      Src: /src/vlc/modules/audio_output/android/aaudio.c:473,1
    - Dst: aout_stream_TimingReport
      Src: /src/vlc/modules/audio_output/android/aaudio.c:474,1
    - Dst: memcpy
      Src: /src/vlc/modules/audio_output/android/aaudio.c:479,1
    - Dst: vlc_frame_Release
      Src: /src/vlc/modules/audio_output/android/aaudio.c:492,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/android/aaudio.c:496,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 61
    argCount: 4
    argNames:
    - as
    - user
    - data_
    - num_frames
    argTypes:
    - AAudioStream*
    - void*
    - void*
    - int32_t
    assertStmts:
    - condition: (as == sys->as)
      pos:
        line_end: 376
        line_start: 376
        source_file: /src/vlc/modules/audio_output/android/aaudio.c
    constantsTouched: []
    func_position:
      end: 499
      start: 372
    functionDepth: 3
    functionLinenumber: 372
    functionLinenumberEnd: 499
    functionName: DataCallback
    functionSourceFile: /src/vlc/modules/audio_output/android/aaudio.c
    functionUses: 0
    functionsReached:
    - GetFrameTimestampLocked
    - TicksToBytes
    - vlc_tick_now
    - assert
    - vlc_frame_Release
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - memset
    - BytesToTicks
    - GetState
    - memcpy
    - aout_stream_TimingReport
    - FramesToTicks
    - likely
    - aout_stream_DrainedReport
    - FramesToBytes
    linkageType: ''
    returnType: aaudio_data_callback_result_t
    signature: aaudio_data_callback_result_t DataCallback(AAudioStream *as, void *user,
      void *data_, int32_t num_frames)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogAAudioError
      Src: /src/vlc/modules/audio_output/android/aaudio.c:507,1
    - Dst: aout_stream_RestartRequest
      Src: /src/vlc/modules/audio_output/android/aaudio.c:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - as
    - user
    - error
    argTypes:
    - AAudioStream*
    - void*
    - aaudio_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 501
    functionDepth: 2
    functionLinenumber: 501
    functionLinenumberEnd: 509
    functionName: ErrorCallback
    functionSourceFile: /src/vlc/modules/audio_output/android/aaudio.c
    functionUses: 0
    functionsReached:
    - LogAAudioError
    - aout_stream_RestartRequest
    linkageType: ''
    returnType: void
    signature: void ErrorCallback(AAudioStream *as, void *user, aaudio_result_t error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RequestStop
      Src: /src/vlc/modules/audio_output/android/aaudio.c:518,1
    - Dst: WaitState
      Src: /src/vlc/modules/audio_output/android/aaudio.c:520,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/android/aaudio.c:521,1
    - Dst: AAudioStream_close
      Src: /src/vlc/modules/audio_output/android/aaudio.c:524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - stream
    argTypes:
    - aout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 511
    functionDepth: 2
    functionLinenumber: 511
    functionLinenumberEnd: 528
    functionName: CloseAAudioStream
    functionSourceFile: /src/vlc/modules/audio_output/android/aaudio.c
    functionUses: 0
    functionsReached:
    - WaitState
    - msg_Warn
    - AAudioStream_close
    - RequestStop
    linkageType: ''
    returnType: void
    signature: void CloseAAudioStream(aout_stream_t *stream)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - vlc_mask
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 553
    functionName: VLCMaskToAaudio
    functionSourceFile: /src/vlc/modules/audio_output/android/aaudio.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: aaudio_channel_mask_t
    signature: aaudio_channel_mask_t VLCMaskToAaudio(uint16_t vlc_mask)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AAudio_createStreamBuilder
      Src: /src/vlc/modules/audio_output/android/aaudio.c:562,1
    - Dst: LogAAudioError
      Src: /src/vlc/modules/audio_output/android/aaudio.c:565,1
    - Dst: AAudioStreamBuilder_setFormat
      Src: /src/vlc/modules/audio_output/android/aaudio.c:569,1
    - Dst: AndroidDevice_GetChanOrder
      Src: /src/vlc/modules/audio_output/android/aaudio.c:572,1
    - Dst: aout_CheckChannelReorder
      Src: /src/vlc/modules/audio_output/android/aaudio.c:575,1
    - Dst: VLCMaskToAaudio
      Src: /src/vlc/modules/audio_output/android/aaudio.c:582,1
    - Dst: AAudioStreamBuilder_setChannelMask
      Src: /src/vlc/modules/audio_output/android/aaudio.c:583,1
    - Dst: AAudioStreamBuilder_setChannelCount
      Src: /src/vlc/modules/audio_output/android/aaudio.c:586,1
    - Dst: AAudioStreamBuilder_setSessionId
      Src: /src/vlc/modules/audio_output/android/aaudio.c:589,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/audio_output/android/aaudio.c:592,1
    - Dst: GetUsageFromVLCRole
      Src: /src/vlc/modules/audio_output/android/aaudio.c:595,1
    - Dst: AAudioStreamBuilder_setUsage
      Src: /src/vlc/modules/audio_output/android/aaudio.c:596,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/android/aaudio.c:597,1
    - Dst: AAudioStreamBuilder_setDataCallback
      Src: /src/vlc/modules/audio_output/android/aaudio.c:600,1
    - Dst: AAudioStreamBuilder_setErrorCallback
      Src: /src/vlc/modules/audio_output/android/aaudio.c:601,1
    - Dst: AAudioStreamBuilder_setPerformanceMode
      Src: /src/vlc/modules/audio_output/android/aaudio.c:604,1
    - Dst: AAudioStreamBuilder_setDeviceId
      Src: /src/vlc/modules/audio_output/android/aaudio.c:608,1
    - Dst: AAudioStreamBuilder_openStream
      Src: /src/vlc/modules/audio_output/android/aaudio.c:611,1
    - Dst: LogAAudioError
      Src: /src/vlc/modules/audio_output/android/aaudio.c:614,1
    - Dst: AAudioStreamBuilder_delete
      Src: /src/vlc/modules/audio_output/android/aaudio.c:615,1
    - Dst: AAudioStreamBuilder_delete
      Src: /src/vlc/modules/audio_output/android/aaudio.c:618,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 1
    argNames:
    - stream
    argTypes:
    - aout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 555
    functionDepth: 2
    functionLinenumber: 555
    functionLinenumberEnd: 623
    functionName: OpenAAudioStream
    functionSourceFile: /src/vlc/modules/audio_output/android/aaudio.c
    functionUses: 0
    functionsReached:
    - GetUsageFromVLCRole
    - AAudioStreamBuilder_setPerformanceMode
    - LogAAudioError
    - AAudioStreamBuilder_delete
    - AAudioStreamBuilder_openStream
    - AAudio_createStreamBuilder
    - AndroidDevice_GetChanOrder
    - VLCMaskToAaudio
    - var_InheritString
    - aout_CheckChannelReorder
    - AAudioStreamBuilder_setFormat
    - AAudioStreamBuilder_setChannelCount
    - AAudioStreamBuilder_setDataCallback
    - AAudioStreamBuilder_setChannelMask
    - free
    - AAudioStreamBuilder_setUsage
    - AAudioStreamBuilder_setErrorCallback
    - AAudioStreamBuilder_setDeviceId
    - AAudioStreamBuilder_setSessionId
    linkageType: ''
    returnType: int
    signature: int OpenAAudioStream(aout_stream_t *stream)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/audio_output/android/aaudio.c:632,1
    - Dst: aout_FormatNbChannels
      Src: /src/vlc/modules/audio_output/android/aaudio.c:640,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/audio_output/android/aaudio.c:649,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/audio_output/android/aaudio.c:671,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - stream
    - fmt
    argTypes:
    - aout_stream_t*
    - audio_sample_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 674
    functionName: PrepareAudioFormat
    functionSourceFile: /src/vlc/modules/audio_output/android/aaudio.c
    functionUses: 0
    functionsReached:
    - aout_FormatPrepare
    - var_InheritInteger
    - var_InheritBool
    - aout_FormatNbChannels
    linkageType: ''
    returnType: void
    signature: void PrepareAudioFormat(aout_stream_t *stream, audio_sample_format_t
      *fmt)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GetState
      Src: /src/vlc/modules/audio_output/android/aaudio.c:681,1
    - Dst: RequestStart
      Src: /src/vlc/modules/audio_output/android/aaudio.c:684,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/android/aaudio.c:691,1
    - Dst: aout_ChannelReorder
      Src: /src/vlc/modules/audio_output/android/aaudio.c:694,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/android/aaudio.c:698,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/audio_output/android/aaudio.c:702,1
    - Dst: BytesToTicks
      Src: /src/vlc/modules/audio_output/android/aaudio.c:703,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/android/aaudio.c:708,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/android/aaudio.c:711,1
    - Dst: vlc_frame_ChainLastAppend
      Src: /src/vlc/modules/audio_output/android/aaudio.c:716,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/android/aaudio.c:721,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/android/aaudio.c:724,1
    - Dst: BytesToTicks
      Src: /src/vlc/modules/audio_output/android/aaudio.c:725,1
    - Dst: vlc_frame_Release
      Src: /src/vlc/modules/audio_output/android/aaudio.c:729,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - stream
    - frame
    - date
    argTypes:
    - aout_stream_t*
    - vlc_frame_t*
    - vlc_tick_t
    assertStmts:
    - condition: (sys->as)
      pos:
        line_end: 690
        line_start: 690
        source_file: /src/vlc/modules/audio_output/android/aaudio.c
    constantsTouched: []
    func_position:
      end: 730
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 730
    functionName: Play
    functionSourceFile: /src/vlc/modules/audio_output/android/aaudio.c
    functionUses: 22
    functionsReached:
    - vlc_frame_Release
    - vlc_tick_now
    - assert
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - BytesToTicks
    - aout_ChannelReorder
    - GetState
    - vlc_frame_ChainLastAppend
    - RequestStart
    - msg_Dbg
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: void Play(aout_stream_t *stream, vlc_frame_t *frame, vlc_tick_t date)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetState
      Src: /src/vlc/modules/audio_output/android/aaudio.c:738,1
    - Dst: RequestPause
      Src: /src/vlc/modules/audio_output/android/aaudio.c:746,1
    - Dst: GetState
      Src: /src/vlc/modules/audio_output/android/aaudio.c:748,1
    - Dst: WaitState
      Src: /src/vlc/modules/audio_output/android/aaudio.c:750,1
    - Dst: RequestStart
      Src: /src/vlc/modules/audio_output/android/aaudio.c:758,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - stream
    - pause
    - pause_date
    argTypes:
    - aout_stream_t*
    - bool
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 732
    functionDepth: 2
    functionLinenumber: 732
    functionLinenumberEnd: 760
    functionName: Pause
    functionSourceFile: /src/vlc/modules/audio_output/android/aaudio.c
    functionUses: 28
    functionsReached:
    - WaitState
    - RequestStart
    - GetState
    - RequestPause
    linkageType: ''
    returnType: void
    signature: void Pause(aout_stream_t *stream, bool pause, vlc_tick_t pause_date)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GetState
      Src: /src/vlc/modules/audio_output/android/aaudio.c:766,1
    - Dst: RequestPause
      Src: /src/vlc/modules/audio_output/android/aaudio.c:777,1
    - Dst: GetState
      Src: /src/vlc/modules/audio_output/android/aaudio.c:780,1
    - Dst: WaitState
      Src: /src/vlc/modules/audio_output/android/aaudio.c:782,1
    - Dst: RequestFlush
      Src: /src/vlc/modules/audio_output/android/aaudio.c:785,1
    - Dst: WaitState
      Src: /src/vlc/modules/audio_output/android/aaudio.c:788,1
    - Dst: CloseAAudioStream
      Src: /src/vlc/modules/audio_output/android/aaudio.c:792,1
    - Dst: vlc_frame_ChainRelease
      Src: /src/vlc/modules/audio_output/android/aaudio.c:794,1
    - Dst: OpenAAudioStream
      Src: /src/vlc/modules/audio_output/android/aaudio.c:808,1
    - Dst: AAudioStream_getSampleRate
      Src: /src/vlc/modules/audio_output/android/aaudio.c:815,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/android/aaudio.c:816,1
    - Dst: msg_Err
      Src: /src/vlc/modules/audio_output/android/aaudio.c:819,1
    - Dst: aout_stream_RestartRequest
      Src: /src/vlc/modules/audio_output/android/aaudio.c:821,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 1
    argNames:
    - stream
    argTypes:
    - aout_stream_t*
    assertStmts:
    - condition: (new_rate > 0)
      pos:
        line_end: 815
        line_start: 815
        source_file: /src/vlc/modules/audio_output/android/aaudio.c
    constantsTouched: []
    func_position:
      end: 823
      start: 762
    functionDepth: 3
    functionLinenumber: 762
    functionLinenumberEnd: 823
    functionName: Flush
    functionSourceFile: /src/vlc/modules/audio_output/android/aaudio.c
    functionUses: 66
    functionsReached:
    - assert
    - GetState
    - RequestPause
    - RequestFlush
    - vlc_frame_ChainRelease
    - WaitState
    - AAudioStream_getSampleRate
    - msg_Err
    - aout_stream_RestartRequest
    - CloseAAudioStream
    - OpenAAudioStream
    linkageType: ''
    returnType: void
    signature: void Flush(aout_stream_t *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/audio_output/android/aaudio.c:830,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/audio_output/android/aaudio.c:832,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/android/aaudio.c:834,1
    - Dst: aout_stream_DrainedReport
      Src: /src/vlc/modules/audio_output/android/aaudio.c:835,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - stream
    argTypes:
    - aout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 825
    functionDepth: 1
    functionLinenumber: 825
    functionLinenumberEnd: 836
    functionName: Drain
    functionSourceFile: /src/vlc/modules/audio_output/android/aaudio.c
    functionUses: 5
    functionsReached:
    - aout_stream_DrainedReport
    - unlikely
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void Drain(aout_stream_t *stream)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DynamicsProcessing_SetVolume
      Src: /src/vlc/modules/audio_output/android/aaudio.c:851,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/android/aaudio.c:853,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - stream
    - vol
    argTypes:
    - aout_stream_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 838
    functionDepth: 1
    functionLinenumber: 838
    functionLinenumberEnd: 854
    functionName: VolumeSet
    functionSourceFile: /src/vlc/modules/audio_output/android/aaudio.c
    functionUses: 1
    functionsReached:
    - DynamicsProcessing_SetVolume
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: void VolumeSet(aout_stream_t *stream, float vol)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DynamicsProcessing_SetVolume
      Src: /src/vlc/modules/audio_output/android/aaudio.c:866,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/android/aaudio.c:869,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - stream
    - mute
    argTypes:
    - aout_stream_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 870
    functionName: MuteSet
    functionSourceFile: /src/vlc/modules/audio_output/android/aaudio.c
    functionUses: 4
    functionsReached:
    - DynamicsProcessing_SetVolume
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: void MuteSet(aout_stream_t *stream, bool mute)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CloseAAudioStream
      Src: /src/vlc/modules/audio_output/android/aaudio.c:878,1
    - Dst: DynamicsProcessing_Delete
      Src: /src/vlc/modules/audio_output/android/aaudio.c:881,1
    - Dst: vlc_frame_ChainRelease
      Src: /src/vlc/modules/audio_output/android/aaudio.c:883,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/android/aaudio.c:885,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - stream
    argTypes:
    - aout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 872
    functionDepth: 3
    functionLinenumber: 872
    functionLinenumberEnd: 886
    functionName: Stop
    functionSourceFile: /src/vlc/modules/audio_output/android/aaudio.c
    functionUses: 47
    functionsReached:
    - free
    - DynamicsProcessing_Delete
    - CloseAAudioStream
    - vlc_frame_ChainRelease
    linkageType: ''
    returnType: void
    signature: void Stop(aout_stream_t *stream)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AOUT_FMT_LINEAR
      Src: /src/vlc/modules/audio_output/android/aaudio.c:892,1
    - Dst: LoadSymbols
      Src: /src/vlc/modules/audio_output/android/aaudio.c:895,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/audio_output/android/aaudio.c:901,1
    - Dst: malloc
      Src: /src/vlc/modules/audio_output/android/aaudio.c:904,1
    - Dst: unlikely
      Src: /src/vlc/modules/audio_output/android/aaudio.c:905,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/audio_output/android/aaudio.c:912,1
    - Dst: PrepareAudioFormat
      Src: /src/vlc/modules/audio_output/android/aaudio.c:926,1
    - Dst: OpenAAudioStream
      Src: /src/vlc/modules/audio_output/android/aaudio.c:928,1
    - Dst: free
      Src: /src/vlc/modules/audio_output/android/aaudio.c:931,1
    - Dst: AAudioStream_getSampleRate
      Src: /src/vlc/modules/audio_output/android/aaudio.c:936,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/android/aaudio.c:937,1
    - Dst: AAudioStream_getSessionId
      Src: /src/vlc/modules/audio_output/android/aaudio.c:939,1
    - Dst: DynamicsProcessing_New
      Src: /src/vlc/modules/audio_output/android/aaudio.c:942,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/audio_output/android/aaudio.c:947,1
    - Dst: AAudioStream_getDeviceId
      Src: /src/vlc/modules/audio_output/android/aaudio.c:949,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/audio_output/android/aaudio.c:959,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 49
    argCount: 3
    argNames:
    - stream
    - fmt
    - adev
    argTypes:
    - aout_stream_t*
    - audio_sample_format_t*
    - enum android_audio_device_type
    assertStmts:
    - condition: (fmt->i_rate > 0)
      pos:
        line_end: 936
        line_start: 936
        source_file: /src/vlc/modules/audio_output/android/aaudio.c
    constantsTouched: []
    func_position:
      end: 961
      start: 888
    functionDepth: 3
    functionLinenumber: 888
    functionLinenumberEnd: 961
    functionName: Start
    functionSourceFile: /src/vlc/modules/audio_output/android/aaudio.c
    functionUses: 63
    functionsReached:
    - aout_FormatPrepare
    - DynamicsProcessing_New
    - assert
    - AOUT_FMT_LINEAR
    - AAudioStream_getSessionId
    - vlc_mutex_init
    - PrepareAudioFormat
    - LoadSymbols
    - free
    - AAudioStream_getSampleRate
    - msg_Dbg
    - AAudioStream_getDeviceId
    - msg_Warn
    - unlikely
    - malloc
    - OpenAAudioStream
    linkageType: ''
    returnType: int
    signature: "int Start(aout_stream_t *stream, audio_sample_format_t *fmt,\n      enum
      android_audio_device_type adev)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/audio_output/android/device.h:39,1
    - Dst: memset
      Src: /src/vlc/modules/audio_output/android/device.h:40,1
    - Dst: HAS_CHAN
      Src: /src/vlc/modules/audio_output/android/device.h:46,1
    - Dst: HAS_CHAN
      Src: /src/vlc/modules/audio_output/android/device.h:48,1
    - Dst: HAS_CHAN
      Src: /src/vlc/modules/audio_output/android/device.h:51,1
    - Dst: HAS_CHAN
      Src: /src/vlc/modules/audio_output/android/device.h:54,1
    - Dst: HAS_CHAN
      Src: /src/vlc/modules/audio_output/android/device.h:57,1
    - Dst: HAS_CHAN
      Src: /src/vlc/modules/audio_output/android/device.h:59,1
    - Dst: HAS_CHAN
      Src: /src/vlc/modules/audio_output/android/device.h:62,1
    - Dst: HAS_CHAN
      Src: /src/vlc/modules/audio_output/android/device.h:65,1
    - Dst: HAS_CHAN
      Src: /src/vlc/modules/audio_output/android/device.h:67,1
    - Dst: assert
      Src: /src/vlc/modules/audio_output/android/device.h:70,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - i_physical_channels
    - p_chans_out
    - chan_out_max
    argTypes:
    - uint16_t
    - uint32_t[]
    - size_t
    assertStmts:
    - condition: ( chan_out_max >= AOUT_CHAN_MAX)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/vlc/modules/audio_output/android/device.h
    - condition: ( i <= AOUT_CHAN_MAX )
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/vlc/modules/audio_output/android/device.h
    constantsTouched: []
    func_position:
      end: 72
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 72
    functionName: AndroidDevice_GetChanOrder
    functionSourceFile: /src/vlc/modules/audio_output/android/device.h
    functionUses: 2
    functionsReached:
    - assert
    - HAS_CHAN
    - memset
    linkageType: ''
    returnType: void
    signature: "void AndroidDevice_GetChanOrder( uint16_t i_physical_channels, uint32_t
      p_chans_out[],\n                            size_t chan_out_max )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: HAS_CHAN
    functionSourceFile: /src/vlc/modules/audio_output/android/device.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAS_CHAN( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aout_GainRequest
      Src: /src/vlc/modules/audio_output/android/device.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - gain
    argTypes:
    - aout_stream_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: aout_stream_GainRequest
    functionSourceFile: /src/vlc/modules/audio_output/android/device.h
    functionUses: 1
    functionsReached:
    - aout_GainRequest
    linkageType: ''
    returnType: void
    signature: void aout_stream_GainRequest(aout_stream_t *s, float gain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aout_RestartRequest
      Src: /src/vlc/modules/audio_output/android/device.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - restart_dec
    argTypes:
    - aout_stream_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: aout_stream_RestartRequest
    functionSourceFile: /src/vlc/modules/audio_output/android/device.h
    functionUses: 2
    functionsReached:
    - aout_RestartRequest
    linkageType: ''
    returnType: void
    signature: void aout_stream_RestartRequest(aout_stream_t *s, bool restart_dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aout_TimingReport
      Src: /src/vlc/modules/audio_output/android/device.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - system_ts
    - audio_ts
    argTypes:
    - aout_stream_t*
    - vlc_tick_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: aout_stream_TimingReport
    functionSourceFile: /src/vlc/modules/audio_output/android/device.h
    functionUses: 3
    functionsReached:
    - aout_TimingReport
    linkageType: ''
    returnType: void
    signature: "void aout_stream_TimingReport(aout_stream_t *s, vlc_tick_t system_ts,\n
      \                             vlc_tick_t audio_ts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aout_DrainedReport
      Src: /src/vlc/modules/audio_output/android/device.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - aout_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: aout_stream_DrainedReport
    functionSourceFile: /src/vlc/modules/audio_output/android/device.h
    functionUses: 2
    functionsReached:
    - aout_DrainedReport
    linkageType: ''
    returnType: void
    signature: void aout_stream_DrainedReport(aout_stream_t *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/text_renderer/tdummy.c:44,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/text_renderer/tdummy.c:44,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/text_renderer/tdummy.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - p_filter
    - p_region_in
    - p_chroma_list
    argTypes:
    - filter_t*
    - subpicture_region_t*
    - vlc_fourcc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: RenderText
    functionSourceFile: /src/vlc/modules/text_renderer/tdummy.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: subpicture_region_t
    signature: "subpicture_region_t *RenderText( filter_t *p_filter,\n                       const
      subpicture_region_t *p_region_in,\n                       const vlc_fourcc_t
      *p_chroma_list )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: OpenRenderer
    functionSourceFile: /src/vlc/modules/text_renderer/tdummy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OpenRenderer( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoInitializeEx
      Src: /src/vlc/modules/text_renderer/sapi.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: MTAGuard
    functionSourceFile: /src/vlc/modules/text_renderer/sapi.cpp
    functionUses: 0
    functionsReached:
    - CoInitializeEx
    linkageType: ''
    returnType: void
    signature: void MTAGuard()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/text_renderer/sapi.cpp:117,1
    - Dst: CoUninitialize
      Src: /src/vlc/modules/text_renderer/sapi.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: ~MTAGuard()
    functionSourceFile: /src/vlc/modules/text_renderer/sapi.cpp
    functionUses: 0
    functionsReached:
    - CoUninitialize
    - SUCCEEDED
    linkageType: ''
    returnType: void
    signature: void ~MTAGuard()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoInitializeEx
      Src: /src/vlc/modules/text_renderer/sapi.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: MTAGuard
    functionSourceFile: /src/vlc/modules/text_renderer/sapi.cpp
    functionUses: 0
    functionsReached:
    - CoInitializeEx
    linkageType: ''
    returnType: void
    signature: void MTAGuard()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/text_renderer/sapi.cpp:117,1
    - Dst: CoUninitialize
      Src: /src/vlc/modules/text_renderer/sapi.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: ~MTAGuard()
    functionSourceFile: /src/vlc/modules/text_renderer/sapi.cpp
    functionUses: 0
    functionsReached:
    - CoUninitialize
    - SUCCEEDED
    linkageType: ''
    returnType: void
    signature: void ~MTAGuard()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct filter_sapi *>
      Src: /src/vlc/modules/text_renderer/sapi.cpp:127,1
    - Dst: strlen
      Src: /src/vlc/modules/text_renderer/sapi.cpp:134,1
    - Dst: strcmp
      Src: /src/vlc/modules/text_renderer/sapi.cpp:137,1
    - Dst: strcmp
      Src: /src/vlc/modules/text_renderer/sapi.cpp:140,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/sapi.cpp:144,1
    - Dst: strdup
      Src: /src/vlc/modules/text_renderer/sapi.cpp:145,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/text_renderer/sapi.cpp:151,1
    - Dst: ToWide
      Src: /src/vlc/modules/text_renderer/sapi.cpp:153,1
    - Dst: struct filter_sapi*::cpVoice::Speak
      Src: /src/vlc/modules/text_renderer/sapi.cpp:154,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/sapi.cpp:155,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/text_renderer/sapi.cpp:156,1
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/sapi.cpp:157,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 2
    argNames:
    - p_filter
    - p_region_in
    argTypes:
    - filter_t*
    - subpicture_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 161
    functionName: RenderTextMTA
    functionSourceFile: /src/vlc/modules/text_renderer/sapi.cpp
    functionUses: 0
    functionsReached:
    - strdup
    - struct filter_sapi*::cpVoice::Speak
    - strlen
    - static_cast<struct filter_sapi *>
    - msg_Err
    - free
    - strcmp
    - msg_Dbg
    - SUCCEEDED
    - ToWide
    linkageType: ''
    returnType: int
    signature: "int RenderTextMTA(filter_t *p_filter,\n        const subpicture_region_t
      * p_region_in)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/text_renderer/sapi.cpp:170,1
    - Dst: SpEnumTokens
      Src: /src/vlc/modules/text_renderer/sapi.cpp:174,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/text_renderer/sapi.cpp:175,1
    - Dst: IEnumSpObjectTokens*::GetCount
      Src: /src/vlc/modules/text_renderer/sapi.cpp:179,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/text_renderer/sapi.cpp:180,1
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/sapi.cpp:184,1
    - Dst: IEnumSpObjectTokens*::Release
      Src: /src/vlc/modules/text_renderer/sapi.cpp:185,1
    - Dst: IEnumSpObjectTokens*::Item
      Src: /src/vlc/modules/text_renderer/sapi.cpp:188,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/text_renderer/sapi.cpp:189,1
    - Dst: ISpVoice*::SetVoice
      Src: /src/vlc/modules/text_renderer/sapi.cpp:192,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/text_renderer/sapi.cpp:193,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/text_renderer/sapi.cpp:194,1
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/sapi.cpp:197,1
    - Dst: ISpObjectToken*::Release
      Src: /src/vlc/modules/text_renderer/sapi.cpp:199,1
    - Dst: IEnumSpObjectTokens*::Release
      Src: /src/vlc/modules/text_renderer/sapi.cpp:201,1
    - Dst: IEnumSpObjectTokens*::Release
      Src: /src/vlc/modules/text_renderer/sapi.cpp:206,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - filter
    - cpVoice
    argTypes:
    - filter_t*
    - ISpVoice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 208
    functionName: SelectVoice
    functionSourceFile: /src/vlc/modules/text_renderer/sapi.cpp
    functionUses: 0
    functionsReached:
    - SpEnumTokens
    - var_InheritInteger
    - ISpVoice*::SetVoice
    - IEnumSpObjectTokens*::Release
    - IEnumSpObjectTokens*::Item
    - msg_Err
    - msg_Dbg
    - SUCCEEDED
    - IEnumSpObjectTokens*::GetCount
    - ISpObjectToken*::Release
    linkageType: ''
    returnType: int
    signature: int SelectVoice(filter_t *filter, ISpVoice* cpVoice)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct filter_sapi *>
      Src: /src/vlc/modules/text_renderer/sapi.cpp:214,1
    - Dst: auto*::cmd_available::post
      Src: /src/vlc/modules/text_renderer/sapi.cpp:217,1
    - Dst: auto*::cmd_ready::wait
      Src: /src/vlc/modules/text_renderer/sapi.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p_filter
    - region_in
    argTypes:
    - filter_t*
    - subpicture_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 220
    functionName: RenderText
    functionSourceFile: /src/vlc/modules/text_renderer/sapi.cpp
    functionUses: 0
    functionsReached:
    - static_cast<struct filter_sapi *>
    - auto*::cmd_available::post
    - auto*::cmd_ready::wait
    linkageType: ''
    returnType: subpicture_region_t
    signature: "subpicture_region_t *RenderText(filter_t *p_filter,\n        const
      subpicture_region_t *region_in,\n        const vlc_fourcc_t *)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<filter_t *>
      Src: /src/vlc/modules/text_renderer/sapi.cpp:231,1
    - Dst: static_cast<filter_sapi *>
      Src: /src/vlc/modules/text_renderer/sapi.cpp:232,1
    - Dst: FAILED
      Src: /src/vlc/modules/text_renderer/sapi.cpp:235,1
    - Dst: filter_sapi*::sem_ready::post
      Src: /src/vlc/modules/text_renderer/sapi.cpp:237,1
    - Dst: CoCreateInstance
      Src: /src/vlc/modules/text_renderer/sapi.cpp:243,1
    - Dst: __uuidof
      Src: /src/vlc/modules/text_renderer/sapi.cpp:243,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/text_renderer/sapi.cpp:244,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/text_renderer/sapi.cpp:245,1
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/sapi.cpp:247,1
    - Dst: filter_sapi*::sem_ready::post
      Src: /src/vlc/modules/text_renderer/sapi.cpp:248,1
    - Dst: SelectVoice
      Src: /src/vlc/modules/text_renderer/sapi.cpp:252,1
    - Dst: filter_sapi*::sem_ready::post
      Src: /src/vlc/modules/text_renderer/sapi.cpp:256,1
    - Dst: filter_sapi*::cmd_available::wait
      Src: /src/vlc/modules/text_renderer/sapi.cpp:260,1
    - Dst: RenderTextMTA
      Src: /src/vlc/modules/text_renderer/sapi.cpp:267,1
    - Dst: filter_sapi*::cmd_ready::post
      Src: /src/vlc/modules/text_renderer/sapi.cpp:268,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/text_renderer/sapi.cpp:271,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 276
    functionName: Run
    functionSourceFile: /src/vlc/modules/text_renderer/sapi.cpp
    functionUses: 8
    functionsReached:
    - vlc_assert_unreachable
    - filter_sapi*::sem_ready::post
    - FAILED
    - IID_PPV_ARGS
    - filter_sapi*::cmd_ready::post
    - static_cast<filter_t *>
    - static_cast<filter_sapi *>
    - msg_Err
    - SelectVoice
    - __uuidof
    - SUCCEEDED
    - filter_sapi*::cmd_available::wait
    - CoCreateInstance
    - RenderTextMTA
    linkageType: ''
    returnType: void
    signature: void *Run(void *opaque)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: filter_sapi::filter_sapi
      Src: /src/vlc/modules/text_renderer/sapi.cpp:281,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/modules/text_renderer/sapi.cpp:288,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/text_renderer/sapi.cpp:297,1
    - Dst: std::unique_ptr::sem_ready::wait
      Src: /src/vlc/modules/text_renderer/sapi.cpp:302,1
    - Dst: vlc_join
      Src: /src/vlc/modules/text_renderer/sapi.cpp:305,1
    - Dst: std::unique_ptr::release
      Src: /src/vlc/modules/text_renderer/sapi.cpp:309,1
    - Dst: std::unique_ptr::release
      Src: /src/vlc/modules/text_renderer/sapi.cpp:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 312
    functionName: Create
    functionSourceFile: /src/vlc/modules/text_renderer/sapi.cpp
    functionUses: 177
    functionsReached:
    - vlc_clone
    - std::unique_ptr::release
    - vlc_join
    - filter_sapi::filter_sapi
    - std::unique_ptr::sem_ready::wait
    - std::unique_ptr::get
    linkageType: ''
    returnType: int
    signature: int Create (filter_t *p_filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<filter_sapi *>
      Src: /src/vlc/modules/text_renderer/sapi.cpp:317,1
    - Dst: std::unique_ptr::cpVoice::Release
      Src: /src/vlc/modules/text_renderer/sapi.cpp:321,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/sapi.cpp:322,1
    - Dst: std::unique_ptr::cmd_available::post
      Src: /src/vlc/modules/text_renderer/sapi.cpp:325,1
    - Dst: vlc_join
      Src: /src/vlc/modules/text_renderer/sapi.cpp:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 327
    functionName: Destroy
    functionSourceFile: /src/vlc/modules/text_renderer/sapi.cpp
    functionUses: 99
    functionsReached:
    - std::unique_ptr::cmd_available::post
    - static_cast<filter_sapi *>
    - free
    - vlc_join
    - std::unique_ptr::cpVoice::Release
    linkageType: ''
    returnType: void
    signature: void Destroy(filter_t *p_filter)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritString
      Src: /src/vlc/modules/text_renderer/svg.c:84,1
    - Dst: vlc_fopen
      Src: /src/vlc/modules/text_renderer/svg.c:88,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/text_renderer/svg.c:91,1
    - Dst: fstat
      Src: /src/vlc/modules/text_renderer/svg.c:97,1
    - Dst: fileno
      Src: /src/vlc/modules/text_renderer/svg.c:97,1
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/svg.c:99,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/text_renderer/svg.c:103,1
    - Dst: malloc
      Src: /src/vlc/modules/text_renderer/svg.c:106,1
    - Dst: fread
      Src: /src/vlc/modules/text_renderer/svg.c:110,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/svg.c:113,1
    - Dst: fclose
      Src: /src/vlc/modules/text_renderer/svg.c:118,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/svg.c:121,1
    - Dst: strstr
      Src: /src/vlc/modules/text_renderer/svg.c:125,1
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/svg.c:128,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/svg.c:129,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 136
    functionName: svg_LoadTemplate
    functionSourceFile: /src/vlc/modules/text_renderer/svg.c
    functionUses: 0
    functionsReached:
    - fileno
    - var_InheritString
    - fstat
    - fread
    - msg_Err
    - free
    - vlc_fopen
    - msg_Dbg
    - strstr
    - msg_Warn
    - malloc
    - fclose
    linkageType: ''
    returnType: void
    signature: void svg_LoadTemplate( filter_t *p_filter )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/text_renderer/svg.c:142,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/text_renderer/svg.c:142,1
    - Dst: asprintf
      Src: /src/vlc/modules/text_renderer/svg.c:146,1
    - Dst: asprintf
      Src: /src/vlc/modules/text_renderer/svg.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - p_filter
    - i_width
    - i_height
    - psz_body
    argTypes:
    - filter_t*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 166
    functionName: svg_GetDocument
    functionSourceFile: /src/vlc/modules/text_renderer/svg.c
    functionUses: 0
    functionsReached:
    - asprintf
    - VLC_UNUSED
    linkageType: ''
    returnType: char
    signature: char *svg_GetDocument( filter_t *p_filter, int i_width, int i_height,
      const char *psz_body )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/text_renderer/svg.c:180,1
    - Dst: svg_LoadTemplate
      Src: /src/vlc/modules/text_renderer/svg.c:186,1
    - Dst: g_type_init
      Src: /src/vlc/modules/text_renderer/svg.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 193
    functionName: Create
    functionSourceFile: /src/vlc/modules/text_renderer/svg.c
    functionUses: 177
    functionsReached:
    - calloc
    - g_type_init
    - svg_LoadTemplate
    linkageType: ''
    returnType: int
    signature: int Create( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsvg_term
      Src: /src/vlc/modules/text_renderer/svg.c:204,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/svg.c:206,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/svg.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 208
    functionName: Destroy
    functionSourceFile: /src/vlc/modules/text_renderer/svg.c
    functionUses: 99
    functionsReached:
    - free
    - rsvg_term
    linkageType: ''
    returnType: void
    signature: void Destroy( filter_t *p_filter )
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - p_filter
    - width
    - height
    - scale
    argTypes:
    - filter_t*
    - int*
    - int*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 229
    functionName: svg_RescaletoFit
    functionSourceFile: /src/vlc/modules/text_renderer/svg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void svg_RescaletoFit( filter_t *p_filter, int *width, int *height,
      float *scale )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rsvg_handle_new_from_data
      Src: /src/vlc/modules/text_renderer/svg.c:237,1
    - Dst: strlen
      Src: /src/vlc/modules/text_renderer/svg.c:238,1
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/svg.c:241,1
    - Dst: rsvg_handle_get_intrinsic_dimensions
      Src: /src/vlc/modules/text_renderer/svg.c:251,1
    - Dst: rsvg_handle_get_dimensions
      Src: /src/vlc/modules/text_renderer/svg.c:269,1
    - Dst: svg_RescaletoFit
      Src: /src/vlc/modules/text_renderer/svg.c:272,1
    - Dst: video_format_Init
      Src: /src/vlc/modules/text_renderer/svg.c:276,1
    - Dst: picture_NewFromFormat
      Src: /src/vlc/modules/text_renderer/svg.c:285,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/text_renderer/svg.c:288,1
    - Dst: g_object_unref
      Src: /src/vlc/modules/text_renderer/svg.c:289,1
    - Dst: G_OBJECT
      Src: /src/vlc/modules/text_renderer/svg.c:289,1
    - Dst: memset
      Src: /src/vlc/modules/text_renderer/svg.c:292,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/vlc/modules/text_renderer/svg.c:294,1
    - Dst: g_object_unref
      Src: /src/vlc/modules/text_renderer/svg.c:300,1
    - Dst: G_OBJECT
      Src: /src/vlc/modules/text_renderer/svg.c:300,1
    - Dst: picture_Release
      Src: /src/vlc/modules/text_renderer/svg.c:301,1
    - Dst: cairo_create
      Src: /src/vlc/modules/text_renderer/svg.c:305,1
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/svg.c:308,1
    - Dst: cairo_surface_destroy
      Src: /src/vlc/modules/text_renderer/svg.c:309,1
    - Dst: g_object_unref
      Src: /src/vlc/modules/text_renderer/svg.c:310,1
    - Dst: G_OBJECT
      Src: /src/vlc/modules/text_renderer/svg.c:310,1
    - Dst: picture_Release
      Src: /src/vlc/modules/text_renderer/svg.c:311,1
    - Dst: rsvg_handle_render_cairo
      Src: /src/vlc/modules/text_renderer/svg.c:315,1
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/svg.c:317,1
    - Dst: cairo_destroy
      Src: /src/vlc/modules/text_renderer/svg.c:318,1
    - Dst: cairo_surface_destroy
      Src: /src/vlc/modules/text_renderer/svg.c:319,1
    - Dst: g_object_unref
      Src: /src/vlc/modules/text_renderer/svg.c:320,1
    - Dst: G_OBJECT
      Src: /src/vlc/modules/text_renderer/svg.c:320,1
    - Dst: picture_Release
      Src: /src/vlc/modules/text_renderer/svg.c:321,1
    - Dst: cairo_destroy
      Src: /src/vlc/modules/text_renderer/svg.c:325,1
    - Dst: cairo_surface_destroy
      Src: /src/vlc/modules/text_renderer/svg.c:326,1
    - Dst: g_object_unref
      Src: /src/vlc/modules/text_renderer/svg.c:327,1
    - Dst: G_OBJECT
      Src: /src/vlc/modules/text_renderer/svg.c:327,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 58
    argCount: 2
    argNames:
    - p_filter
    - psz_svgdata
    argTypes:
    - filter_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 330
    functionName: svg_RenderPicture
    functionSourceFile: /src/vlc/modules/text_renderer/svg.c
    functionUses: 0
    functionsReached:
    - cairo_create
    - video_format_Init
    - cairo_destroy
    - memset
    - rsvg_handle_render_cairo
    - strlen
    - G_OBJECT
    - rsvg_handle_get_intrinsic_dimensions
    - msg_Err
    - g_object_unref
    - picture_Release
    - rsvg_handle_get_dimensions
    - cairo_image_surface_create_for_data
    - picture_NewFromFormat
    - video_format_Clean
    - cairo_surface_destroy
    - rsvg_handle_new_from_data
    - svg_RescaletoFit
    linkageType: ''
    returnType: picture_t
    signature: "picture_t * svg_RenderPicture( filter_t *p_filter,\n                                      const
      char *psz_svgdata )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_xml_encode
      Src: /src/vlc/modules/text_renderer/svg.c:342,1
    - Dst: asprintf
      Src: /src/vlc/modules/text_renderer/svg.c:344,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/svg.c:349,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/svg.c:350,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - p_segment
    - i_height
    - pi_total_size
    argTypes:
    - text_segment_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 356
    functionName: SegmentsToSVG
    functionSourceFile: /src/vlc/modules/text_renderer/svg.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_xml_encode
    - asprintf
    linkageType: ''
    returnType: char
    signature: char * SegmentsToSVG( text_segment_t *p_segment, int i_height, int
      *pi_total_size )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/text_renderer/svg.c:368,1
    - Dst: strstr
      Src: /src/vlc/modules/text_renderer/svg.c:387,1
    - Dst: strdup
      Src: /src/vlc/modules/text_renderer/svg.c:389,1
    - Dst: SegmentsToSVG
      Src: /src/vlc/modules/text_renderer/svg.c:395,1
    - Dst: svg_GetDocument
      Src: /src/vlc/modules/text_renderer/svg.c:398,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/svg.c:399,1
    - Dst: svg_RenderPicture
      Src: /src/vlc/modules/text_renderer/svg.c:407,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/svg.c:409,1
    - Dst: subpicture_region_ForPicture
      Src: /src/vlc/modules/text_renderer/svg.c:414,1
    - Dst: picture_Release
      Src: /src/vlc/modules/text_renderer/svg.c:415,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/svg.c:416,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - p_filter
    - p_region_in
    - p_chroma_list
    argTypes:
    - filter_t*
    - subpicture_region_t*
    - vlc_fourcc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 358
    functionDepth: 3
    functionLinenumber: 358
    functionLinenumberEnd: 426
    functionName: RenderText
    functionSourceFile: /src/vlc/modules/text_renderer/svg.c
    functionUses: 0
    functionsReached:
    - SegmentsToSVG
    - strdup
    - svg_GetDocument
    - subpicture_region_ForPicture
    - free
    - picture_Release
    - strstr
    - msg_Warn
    - svg_RenderPicture
    - unlikely
    linkageType: ''
    returnType: subpicture_region_t
    signature: "subpicture_region_t *RenderText( filter_t *p_filter,\n                       const
      subpicture_region_t *p_region_in,\n                       const vlc_fourcc_t
      *p_chroma_list )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - p_line
    - p_textbbox
    - i_align
    argTypes:
    - line_desc_t*
    - FT_BBox*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 243
    functionName: GetAlignedOffset
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/freetype.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Vector
    signature: "FT_Vector GetAlignedOffset( const line_desc_t *p_line,\n                                   const
      FT_BBox *p_textbbox,\n                                   int i_align )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:257,1
    - Dst: strcmp
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - psz_mime
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 264
    functionName: IsSupportedAttachment
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/freetype.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ARRAY_SIZE
    linkageType: ''
    returnType: bool
    signature: bool IsSupportedAttachment( const char *psz_mime )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: filter_GetInputAttachments
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:277,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:281,1
    - Dst: vlc_input_attachment_Release
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:285,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:286,1
    - Dst: IsSupportedAttachment
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:296,1
    - Dst: FT_New_Memory_Face
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:302,1
    - Dst: DeclareNewFamily
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:314,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:315,1
    - Dst: asprintf
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:319,1
    - Dst: NewFont
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:321,1
    - Dst: FT_Done_Face
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:324,1
    - Dst: DeclareFamilyAsAttachMenFallback
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:328,1
    - Dst: vlc_input_attachment_Release
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:335,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:339,1
    - Dst: FT_Done_Face
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:345,1
    - Dst: vlc_input_attachment_Release
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:348,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:350,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 352
    functionName: LoadFontsFromAttachments
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/freetype.c
    functionUses: 0
    functionsReached:
    - asprintf
    - FT_New_Memory_Face
    - vlc_input_attachment_Release
    - DeclareNewFamily
    - IsSupportedAttachment
    - free
    - FT_Done_Face
    - vlc_alloc
    - NewFont
    - DeclareFamilyAsAttachMenFallback
    - unlikely
    - filter_GetInputAttachments
    linkageType: ''
    returnType: int
    signature: int LoadFontsFromAttachments( filter_t *p_filter )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: YUVFromXRGB
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:377,1
    - Dst: memset
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:400,1
    - Dst: GetAlignedOffset
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:404,1
    - Dst: memcpy
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:435,1
    - Dst: memset
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:447,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 5
    argNames:
    - p_region_in
    - p_region
    - p_line
    - p_regionbbox
    - p_bbox
    argTypes:
    - subpicture_region_t*
    - subpicture_region_t*
    - line_desc_t*
    - FT_BBox*
    - FT_BBox*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 449
    functionName: RenderYUVP
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/freetype.c
    functionUses: 0
    functionsReached:
    - YUVFromXRGB
    - memcpy
    - GetAlignedOffset
    - memset
    linkageType: ''
    returnType: void
    signature: "void RenderYUVP( const subpicture_region_t *p_region_in,\n                       subpicture_region_t
      *p_region,\n                       const line_desc_t *p_line,\n                       const
      FT_BBox *p_regionbbox,\n                       const FT_BBox *p_bbox )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetAlignedOffset
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:467,1
    - Dst: __MIN
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:487,1
    - Dst: ft_drawing_functions*::extract
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:521,1
    - Dst: __MAX
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:531,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:532,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:534,1
    - Dst: __MAX
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:536,1
    - Dst: ft_drawing_functions*::fill
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:539,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 7
    argNames:
    - p_region_in
    - p_line_head
    - p_regionbbox
    - p_paddedbbox
    - p_textbbox
    - p_picture
    - draw
    argTypes:
    - subpicture_region_t*
    - line_desc_t*
    - FT_BBox*
    - FT_BBox*
    - FT_BBox*
    - picture_t*
    - ft_drawing_functions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 551
    functionName: RenderBackground
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/freetype.c
    functionUses: 0
    functionsReached:
    - VLC_CLIP
    - ft_drawing_functions*::fill
    - __MAX
    - ft_drawing_functions*::extract
    - __MIN
    - GetAlignedOffset
    linkageType: ''
    returnType: void
    signature: "void RenderBackground( const subpicture_region_t *p_region_in,\n                                     const
      line_desc_t *p_line_head,\n                                     const FT_BBox
      *p_regionbbox,\n                                     const FT_BBox *p_paddedbbox,\n
      \                                    const FT_BBox *p_textbbox,\n                                     picture_t
      *p_picture,\n                                     const ft_drawing_functions
      *draw )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:561,1
    - Dst: RenderCharAXYZ
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:598,1
    - Dst: ft_drawing_functions*::extract
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:615,1
    - Dst: lrintf
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:639,1
    - Dst: lrintf
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:640,1
    - Dst: ft_drawing_functions*::blend
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:645,1
    - Dst: BlendAXYZLine
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:650,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 7
    argNames:
    - p_filter
    - p_picture
    - p_line
    - i_offset_x
    - i_offset_y
    - g
    - draw
    argTypes:
    - filter_t*
    - picture_t*
    - line_desc_t*
    - int
    - int
    - int
    - ft_drawing_functions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 657
    functionName: RenderCharAXYZ
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/freetype.c
    functionUses: 1
    functionsReached:
    - RenderCharAXYZ
    - ft_drawing_functions*::extract
    - ft_drawing_functions*::blend
    - lrintf
    - BlendAXYZLine
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void RenderCharAXYZ( filter_t *p_filter,\n                           picture_t
      *p_picture,\n                           const line_desc_t *p_line,\n                           int
      i_offset_x,\n                           int i_offset_y,\n                           int
      g,\n                           const ft_drawing_functions *draw )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ft_drawing_functions*::fill
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:678,1
    - Dst: ft_drawing_functions*::extract
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:682,1
    - Dst: ft_drawing_functions*::fill
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:683,1
    - Dst: RenderBackground
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:688,1
    - Dst: GetAlignedOffset
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:698,1
    - Dst: RenderCharAXYZ
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:703,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 8
    argNames:
    - p_filter
    - p_region_in
    - p_region
    - p_line_head
    - p_regionbbox
    - p_paddedtextbbox
    - p_textbbox
    - draw
    argTypes:
    - filter_t*
    - subpicture_region_t*
    - subpicture_region_t*
    - line_desc_t*
    - FT_BBox*
    - FT_BBox*
    - FT_BBox*
    - ft_drawing_functions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 659
    functionDepth: 2
    functionLinenumber: 659
    functionLinenumberEnd: 708
    functionName: RenderAXYZ
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/freetype.c
    functionUses: 0
    functionsReached:
    - ft_drawing_functions*::fill
    - RenderCharAXYZ
    - ft_drawing_functions*::extract
    - RenderBackground
    - GetAlignedOffset
    linkageType: ''
    returnType: void
    signature: "void RenderAXYZ( filter_t *p_filter,\n                              const
      subpicture_region_t *p_region_in,\n                              subpicture_region_t
      *p_region,\n                              const line_desc_t *p_line_head,\n
      \                             const FT_BBox *p_regionbbox,\n                              const
      FT_BBox *p_paddedtextbbox,\n                              const FT_BBox *p_textbbox,\n
      \                             const ft_drawing_functions *draw )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:715,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:717,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:718,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 721
    functionName: UpdateDefaultLiveStyles
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/freetype.c
    functionUses: 0
    functionsReached:
    - var_InheritInteger
    linkageType: ''
    returnType: void
    signature: void UpdateDefaultLiveStyles( filter_t *p_filter )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritString
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:728,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:733,1
    - Dst: strdup
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:734,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:738,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:743,1
    - Dst: strdup
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:744,1
    - Dst: UpdateDefaultLiveStyles
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:747,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:749,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:751,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:752,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:754,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:755,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:756,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:763,1
    - Dst: text_style_Merge
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:770,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 723
    functionDepth: 2
    functionLinenumber: 723
    functionLinenumberEnd: 771
    functionName: FillDefaultStyles
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/freetype.c
    functionUses: 0
    functionsReached:
    - UpdateDefaultLiveStyles
    - strdup
    - var_InheritString
    - var_InheritInteger
    - var_InheritBool
    - text_style_Merge
    - free
    linkageType: ''
    returnType: void
    signature: void FillDefaultStyles( filter_t *p_filter )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:783,1
    - Dst: text_style_Delete
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:784,1
    - Dst: FreeLines
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:786,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:787,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:791,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pp_array
    - i_array
    argTypes:
    - ruby_block_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 792
    functionName: FreeRubyBlockArray
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/freetype.c
    functionUses: 0
    functionsReached:
    - free
    - FreeLines
    - text_style_Delete
    linkageType: ''
    returnType: void
    signature: void FreeRubyBlockArray( ruby_block_t **pp_array, size_t i_array )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: text_style_Delete
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:802,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:805,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pp_styles
    - i_styles
    argTypes:
    - text_style_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 806
    functionName: FreeStylesArray
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/freetype.c
    functionUses: 0
    functionsReached:
    - free
    - text_style_Delete
    linkageType: ''
    returnType: void
    signature: void FreeStylesArray( text_style_t **pp_styles, size_t i_styles )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ToCharset
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:815,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:816,1
    - Dst: realloc
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:821,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:822,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:824,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - in
    - outsize
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 809
    functionDepth: 1
    functionLinenumber: 809
    functionLinenumberEnd: 837
    functionName: ToUCS4
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/freetype.c
    functionUses: 0
    functionsReached:
    - free
    - ToCharset
    - realloc
    - unlikely
    linkageType: ''
    returnType: void
    signature: void *ToUCS4( const char *in, size_t *outsize )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - in
    - ','
    - outsize
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 840
    functionName: ToUCS4
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/freetype.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ToUCS4( in, outsize )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ToUCS4
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:851,1
    - Dst: realloc
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:861,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:862,1
    - Dst: realloc
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:870,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:871,1
    - Dst: realloc
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:879,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:880,1
    - Dst: memcpy
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:885,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:886,1
    - Dst: text_style_Duplicate
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:888,1
    - Dst: text_style_Merge
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:894,1
    - Dst: text_style_Merge
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:897,1
    - Dst: ToUCS4
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:906,1
    - Dst: malloc
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:909,1
    - Dst: text_style_Duplicate
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:912,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:915,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:924,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:934,1
    - Dst: text_style_Delete
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:935,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 68
    argCount: 5
    argNames:
    - p_sys
    - psz_text
    - psz_rt
    - p_style
    - p_text_block
    argTypes:
    - filter_sys_t*
    - char*
    - char*
    - text_style_t*
    - layout_text_block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 842
    functionDepth: 2
    functionLinenumber: 842
    functionLinenumberEnd: 937
    functionName: AddTextAndStyles
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/freetype.c
    functionUses: 0
    functionsReached:
    - realloc
    - memcpy
    - text_style_Merge
    - free
    - ToUCS4
    - text_style_Duplicate
    - unlikely
    - malloc
    - text_style_Delete
    linkageType: ''
    returnType: size_t
    signature: "size_t AddTextAndStyles( filter_sys_t *p_sys,\n                                const
      char *psz_text, const char *psz_rt,\n                                const text_style_t
      *p_style,\n                                layout_text_block_t *p_text_block
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AddTextAndStyles
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:954,1
    - Dst: AddTextAndStyles
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:961,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - p_filter
    - p_segment
    - p_text_block
    argTypes:
    - filter_t*
    - text_segment_t*
    - layout_text_block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 939
    functionDepth: 3
    functionLinenumber: 939
    functionLinenumberEnd: 968
    functionName: SegmentsToTextAndStyles
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/freetype.c
    functionUses: 0
    functionsReached:
    - AddTextAndStyles
    linkageType: ''
    returnType: size_t
    signature: "size_t SegmentsToTextAndStyles( filter_t *p_filter, const text_segment_t
      *p_segment,\n                                       layout_text_block_t *p_text_block
      )"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - chroma
    - i_blending_mode
    argTypes:
    - vlc_fourcc_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 1025
    functionName: GetDrawingFunctions
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/freetype.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ft_drawing_functions
    signature: "ft_drawing_functions *GetDrawingFunctions( vlc_fourcc_t chroma,\n
      \                                                       int i_blending_mode
      )"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1040,1
    - Dst: UpdateDefaultLiveStyles
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1042,1
    - Dst: ConvertToLiveSize
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1044,1
    - Dst: SelectAndLoadFace
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1048,1
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1051,1
    - Dst: SegmentsToTextAndStyles
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1060,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1064,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1065,1
    - Dst: LayoutTextBlock
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1088,1
    - Dst: video_format_Init
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1178,1
    - Dst: subpicture_region_New
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1190,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1191,1
    - Dst: RenderYUVP
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1203,1
    - Dst: GetDrawingFunctions
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1207,1
    - Dst: subpicture_region_Delete
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1210,1
    - Dst: RenderAXYZ
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1215,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1237,1
    - Dst: FreeLines
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1240,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1242,1
    - Dst: FreeStylesArray
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1243,1
    - Dst: FreeRubyBlockArray
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1245,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 107
    argCount: 3
    argNames:
    - p_filter
    - p_region_in
    - p_chroma_list
    argTypes:
    - filter_t*
    - subpicture_region_t*
    - vlc_fourcc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1033
    functionDepth: 4
    functionLinenumber: 1033
    functionLinenumberEnd: 1248
    functionName: Render
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/freetype.c
    functionUses: 13
    functionsReached:
    - UpdateDefaultLiveStyles
    - FreeLines
    - SelectAndLoadFace
    - ConvertToLiveSize
    - msg_Err
    - GetDrawingFunctions
    - msg_Warn
    - SegmentsToTextAndStyles
    - subpicture_region_Delete
    - subpicture_region_New
    - video_format_Init
    - var_InheritInteger
    - FreeStylesArray
    - RenderAXYZ
    - LayoutTextBlock
    - free
    - RenderYUVP
    - unlikely
    - FreeRubyBlockArray
    linkageType: ''
    returnType: subpicture_region_t
    signature: "subpicture_region_t *Render( filter_t *p_filter,\n                         const
      subpicture_region_t *p_region_in,\n                         const vlc_fourcc_t
      *p_chroma_list )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1265,1
    - Dst: FT_Init_FreeType
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1270,1
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1272,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1273,1
    - Dst: FT_Stroker_New
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1277,1
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1279,1
    - Dst: vlc_ftcache_New
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1283,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1283,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1284,1
    - Dst: text_style_Create
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1291,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1292,1
    - Dst: text_style_Create
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1296,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1297,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1301,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1302,1
    - Dst: FillDefaultStyles
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1306,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1308,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1318,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1319,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1320,1
    - Dst: cosf
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1321,1
    - Dst: sinf
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1322,1
    - Dst: FontSelectNew
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1324,1
    - Dst: LoadFontsFromAttachments
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1328,1
    - Dst: Destroy
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1336,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1260
    functionDepth: 3
    functionLinenumber: 1260
    functionLinenumberEnd: 1338
    functionName: Create
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/freetype.c
    functionUses: 178
    functionsReached:
    - FillDefaultStyles
    - FontSelectNew
    - VLC_CLIP
    - FT_Init_FreeType
    - msg_Err
    - calloc
    - sinf
    - var_InheritInteger
    - var_InheritBool
    - text_style_Create
    - FT_Stroker_New
    - Destroy
    - var_InheritFloat
    - var_InheritString
    - cosf
    - free
    - LoadFontsFromAttachments
    - VLC_OBJECT
    - vlc_ftcache_New
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Create( filter_t *p_filter )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DumpFamilies
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1351,1
    - Dst: vlc_ftcache_Delete
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1355,1
    - Dst: FontSelectDelete
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1358,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1360,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1361,1
    - Dst: text_style_Delete
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1364,1
    - Dst: text_style_Delete
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1365,1
    - Dst: vlc_input_attachment_Release
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1371,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1373,1
    - Dst: FT_Stroker_Done
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1378,1
    - Dst: FT_Done_FreeType
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1380,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/freetype.c:1382,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1345
    functionDepth: 1
    functionLinenumber: 1345
    functionLinenumberEnd: 1383
    functionName: Destroy
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/freetype.c
    functionUses: 100
    functionsReached:
    - FontSelectDelete
    - vlc_input_attachment_Release
    - vlc_ftcache_Delete
    - FT_Done_FreeType
    - free
    - DumpFamilies
    - FT_Stroker_Done
    - text_style_Delete
    linkageType: ''
    returnType: void
    signature: void Destroy( filter_t *p_filter )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:61,1
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:63,1
    - Dst: FT_New_Memory_Face
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:67,1
    - Dst: memcmp
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:73,1
    - Dst: atoi
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:75,1
    - Dst: DWrite_GetFontStream
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:78,1
    - Dst: FT_Open_Face
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:79,1
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:81,1
    - Dst: FT_New_Face
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:88,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - psz_fontfile
    - i_idx
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 92
    functionName: doLoadFace
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 0
    functionsReached:
    - atoi
    - FT_Open_Face
    - FT_New_Memory_Face
    - FT_New_Face
    - msg_Err
    - memcmp
    - DWrite_GetFontStream
    linkageType: ''
    returnType: FT_Face
    signature: FT_Face doLoadFace( void *ctx, const char *psz_fontfile, int i_idx
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ftcache_GetFaceID
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:101,1
    - Dst: vlc_ftcache_LoadFaceByIDNoSize
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:107,1
    - Dst: vlc_ftcache_LookupCMapIndex
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - fs
    - p_font
    - codepoint
    argTypes:
    - vlc_font_select_t*
    - vlc_font_t*
    - uni_char_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 111
    functionName: CheckFace
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 0
    functionsReached:
    - vlc_ftcache_GetFaceID
    - vlc_ftcache_LoadFaceByIDNoSize
    - vlc_ftcache_LookupCMapIndex
    linkageType: ''
    returnType: bool
    signature: bool CheckFace( vlc_font_select_t *fs, vlc_font_t *p_font, uni_char_t
      codepoint )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CheckFace
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - fs
    - p_family
    - i_flags
    - codepoint
    argTypes:
    - vlc_font_select_t*
    - vlc_family_t*
    - int
    - uni_char_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 147
    functionName: GetBestFont
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 0
    functionsReached:
    - CheckFace
    linkageType: ''
    returnType: vlc_font_t
    signature: "vlc_font_t *GetBestFont( vlc_font_select_t *fs, const vlc_family_t
      *p_family,\n                                int i_flags, uni_char_t codepoint
      )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FontSelectFamily
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:159,1
    - Dst: CheckFace
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:165,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - fs
    - p_fallbacks
    - codepoint
    argTypes:
    - vlc_font_select_t*
    - vlc_family_t*
    - uni_char_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 173
    functionName: SearchFallbacks
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 0
    functionsReached:
    - FontSelectFamily
    - CheckFace
    linkageType: ''
    returnType: vlc_family_t
    signature: "vlc_family_t *SearchFallbacks( vlc_font_select_t *fs, vlc_family_t
      *p_fallbacks,\n                                      uni_char_t codepoint )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:182,1
    - Dst: CheckFace
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - fs
    - p_list
    - psz_familyname
    - codepoint
    argTypes:
    - vlc_font_select_t*
    - vlc_family_t*
    - char*
    - uni_char_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 188
    functionName: SearchFontByFamilyName
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 0
    functionsReached:
    - CheckFace
    - strcasecmp
    linkageType: ''
    returnType: vlc_family_t
    signature: "vlc_family_t *SearchFontByFamilyName( vlc_font_select_t *fs,\n                                             vlc_family_t
      *p_list,\n                                             const char *psz_familyname,\n
      \                                            uni_char_t codepoint )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pp_list
    - p_font
    argTypes:
    - vlc_font_t**
    - vlc_font_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 196
    functionName: AppendFont
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AppendFont( vlc_font_t **pp_list, vlc_font_t *p_font )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pp_list
    - p_family
    argTypes:
    - vlc_family_t**
    - vlc_family_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: AppendFamily
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AppendFamily( vlc_family_t **pp_list, vlc_family_t *p_family )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LowercaseDup
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:213,1
    - Dst: LowercaseDup
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:216,1
    - Dst: NewFamily
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:218,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:220,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 5
    argNames:
    - fs
    - psz_family
    - pp_list
    - p_dict
    - psz_key
    argTypes:
    - vlc_font_select_t*
    - char*
    - vlc_family_t**
    - vlc_dictionary_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 224
    functionName: NewFamilyFromMixedCase
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 0
    functionsReached:
    - free
    - LowercaseDup
    - NewFamily
    linkageType: ''
    returnType: vlc_family_t
    signature: "vlc_family_t *NewFamilyFromMixedCase( vlc_font_select_t *fs, const
      char *psz_family,\n                                      vlc_family_t **pp_list,
      vlc_dictionary_t *p_dict,\n                                      const char
      *psz_key )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:230,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:231,1
    - Dst: assert
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:234,1
    - Dst: IsLowercase
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:234,1
    - Dst: CreateUniqueFamilyKey
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:238,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:239,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:241,1
    - Dst: strdup
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:245,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:246,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:248,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:249,1
    - Dst: AppendFamily
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:254,1
    - Dst: vlc_dictionary_value_for_key
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:260,1
    - Dst: AppendFamily
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:262,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:264,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:267,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 5
    argNames:
    - fs
    - psz_lcname
    - pp_list
    - p_dict
    - psz_key
    argTypes:
    - vlc_font_select_t*
    - char*
    - vlc_family_t**
    - vlc_dictionary_t*
    - char*
    assertStmts:
    - condition: (!psz_lcname || IsLowercase(psz_lcname))
      pos:
        line_end: 233
        line_start: 233
        source_file: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    constantsTouched: []
    func_position:
      end: 269
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 269
    functionName: NewFamily
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 2
    functionsReached:
    - vlc_dictionary_value_for_key
    - assert
    - strdup
    - calloc
    - free
    - CreateUniqueFamilyKey
    - vlc_dictionary_insert
    - IsLowercase
    - unlikely
    - AppendFamily
    linkageType: ''
    returnType: vlc_family_t
    signature: "vlc_family_t *NewFamily( vlc_font_select_t *fs, const char *psz_lcname,\n
      \                        vlc_family_t **pp_list, vlc_dictionary_t *p_dict,\n
      \                        const char *psz_key )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fs
    argTypes:
    - vlc_font_select_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 278
    functionName: CreateUniqueFamilyKey
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 1
    functionsReached:
    - asprintf
    linkageType: ''
    returnType: char
    signature: char *CreateUniqueFamilyKey( vlc_font_select_t *fs )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LowercaseDup
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:285,1
    - Dst: CreateUniqueFamilyKey
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:287,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:289,1
    - Dst: vlc_dictionary_value_for_key
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:292,1
    - Dst: NewFamily
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:295,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - fs
    - psz_family
    argTypes:
    - vlc_font_select_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 280
    functionDepth: 3
    functionLinenumber: 280
    functionLinenumberEnd: 302
    functionName: DeclareNewFamily
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 1
    functionsReached:
    - vlc_dictionary_value_for_key
    - NewFamily
    - free
    - LowercaseDup
    - CreateUniqueFamilyKey
    - unlikely
    linkageType: ''
    returnType: vlc_family_t
    signature: vlc_family_t * DeclareNewFamily( vlc_font_select_t *fs, const char
      *psz_family )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NewFamily
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:306,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:308,1
    - Dst: vlc_dictionary_value_for_key
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:314,1
    - Dst: AppendFamily
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:316,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - fs
    - p_family
    argTypes:
    - vlc_font_select_t*
    - vlc_family_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 304
    functionDepth: 2
    functionLinenumber: 304
    functionLinenumberEnd: 321
    functionName: DeclareFamilyAsAttachMenFallback
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 1
    functionsReached:
    - vlc_dictionary_value_for_key
    - NewFamily
    - vlc_dictionary_insert
    - unlikely
    - AppendFamily
    linkageType: ''
    returnType: int
    signature: int DeclareFamilyAsAttachMenFallback( vlc_font_select_t *fs, vlc_family_t
      *p_family )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:326,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:328,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:330,1
    - Dst: AppendFont
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:349,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - psz_fontfile
    - i_index
    - i_flags
    - p_parent
    argTypes:
    - char*
    - int
    - int
    - vlc_family_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 353
    functionName: NewFont
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 1
    functionsReached:
    - calloc
    - AppendFont
    - unlikely
    - free
    linkageType: ''
    returnType: vlc_font_t
    signature: "vlc_font_t *NewFont( char *psz_fontfile, int i_index,\n                     int
      i_flags, vlc_family_t *p_parent )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FreeFamiliesAndFonts
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:358,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:363,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:364,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:368,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - p_family
    argTypes:
    - vlc_family_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 370
    functionName: FreeFamiliesAndFonts
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 1
    functionsReached:
    - FreeFamiliesAndFonts
    - free
    linkageType: ''
    returnType: void
    signature: void FreeFamiliesAndFonts( vlc_family_t *p_family )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FreeFamilies
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:377,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:379,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_families
    - p_obj
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 381
    functionName: FreeFamilies
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 1
    functionsReached:
    - free
    - FreeFamilies
    linkageType: ''
    returnType: void
    signature: void FreeFamilies( void *p_families, void *p_obj )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LowercaseDup
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:391,1
    - Dst: FontSelectFamily
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:395,1
    - Dst: NewFamily
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:399,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:401,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:403,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:410,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:414,1
    - Dst: FreeFamilies
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:419,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - fs
    - ppsz_default
    - i_size
    argTypes:
    - vlc_font_select_t*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 421
    functionName: InitDefaultList
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 0
    functionsReached:
    - FontSelectFamily
    - FreeFamilies
    - NewFamily
    - free
    - LowercaseDup
    - vlc_dictionary_insert
    - unlikely
    linkageType: ''
    returnType: vlc_family_t
    signature: "vlc_family_t *InitDefaultList( vlc_font_select_t *fs, const char *const
      *ppsz_default,\n                               int i_size )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:433,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:449,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - p_obj
    - p_family
    - b_dump_fonts
    - i_max_families
    argTypes:
    - vlc_object_t*
    - vlc_family_t*
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 455
    functionName: DumpFamily
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: "void DumpFamily( vlc_object_t *p_obj, const vlc_family_t *p_family,\n
      \                       bool b_dump_fonts, int i_max_families )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:461,1
    - Dst: DumpFamily
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - priv
    - key
    - val
    argTypes:
    - void*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 463
    functionName: DumpLRUElement
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 0
    functionsReached:
    - DumpFamily
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void DumpLRUElement( void *priv, const char *key, void *val )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_dictionary_all_keys
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:468,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:470,1
    - Dst: vlc_dictionary_value_for_key
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:475,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:476,1
    - Dst: DumpFamily
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:478,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:479,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:481,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - p_obj
    - p_dict
    - b_dump_fonts
    - i_max_families
    argTypes:
    - vlc_object_t*
    - vlc_dictionary_t*
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 465
    functionDepth: 2
    functionLinenumber: 465
    functionLinenumberEnd: 482
    functionName: DumpDictionary
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 0
    functionsReached:
    - vlc_dictionary_value_for_key
    - DumpFamily
    - vlc_dictionary_all_keys
    - free
    - msg_Dbg
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void DumpDictionary( vlc_object_t *p_obj, const vlc_dictionary_t *p_dict,\n
      \                           bool b_dump_fonts, int i_max_families )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:487,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:488,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:489,1
    - Dst: DumpFamily
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:490,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:491,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:492,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:493,1
    - Dst: DumpDictionary
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:494,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:495,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:496,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:497,1
    - Dst: vlc_lru_Apply
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:498,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:499,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:500,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:501,1
    - Dst: DumpDictionary
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:502,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:504,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:505,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:506,1
    - Dst: DumpDictionary
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - fs
    argTypes:
    - vlc_font_select_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 484
    functionDepth: 3
    functionLinenumber: 484
    functionLinenumberEnd: 509
    functionName: DumpFamilies
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 1
    functionsReached:
    - DumpDictionary
    - DumpFamily
    - msg_Dbg
    - vlc_lru_Apply
    linkageType: ''
    returnType: void
    signature: void DumpFamilies( vlc_font_select_t *fs )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:514,1
    - Dst: tolower
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - psz_src
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 521
    functionName: IsLowercase
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 1
    functionsReached:
    - strlen
    - tolower
    linkageType: ''
    returnType: bool
    signature: bool IsLowercase( const char *psz_src )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:527,1
    - Dst: tolower
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - psz
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 530
    functionName: LowercaseTransform
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 0
    functionsReached:
    - strlen
    - tolower
    linkageType: ''
    returnType: void
    signature: void LowercaseTransform( char *psz )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:534,1
    - Dst: malloc
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:535,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:536,1
    - Dst: tolower
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:540,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - psz_src
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 543
    functionName: LowercaseDup
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 3
    functionsReached:
    - strlen
    - unlikely
    - malloc
    - tolower
    linkageType: ''
    returnType: char
    signature: char * LowercaseDup( const char *psz_src )
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - p_filter
    - p_style
    argTypes:
    - filter_t*
    - text_style_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 568
    functionName: ConvertToLiveSize
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ConvertToLiveSize( filter_t *p_filter, const text_style_t *p_style
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - pp
    - ppend
    argTypes:
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 578
    functionName: TrimWhiteSpace
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrimWhiteSpace( const char **pp, const char **ppend )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TrimWhiteSpace
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:584,1
    - Dst: strndup
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:594,1
    - Dst: vlc_vector_push
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:596,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - psz_start
    - psz_end
    - families
    argTypes:
    - char*
    - char*
    - fontfamilies_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 580
    functionDepth: 2
    functionLinenumber: 580
    functionLinenumberEnd: 598
    functionName: AddSingleFamily
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 0
    functionsReached:
    - strndup
    - vlc_vector_push
    - TrimWhiteSpace
    linkageType: ''
    returnType: void
    signature: "void AddSingleFamily( const char *psz_start,\n                             const
      char *psz_end,\n                             fontfamilies_t *families )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:605,1
    - Dst: strtok_r
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:607,1
    - Dst: strtok_r
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:609,1
    - Dst: AddSingleFamily
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:611,1
    - Dst: strlen
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:611,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:613,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - psz_spec
    - families
    argTypes:
    - char*
    - fontfamilies_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 600
    functionDepth: 3
    functionLinenumber: 600
    functionLinenumberEnd: 614
    functionName: SplitIntoSingleFamily
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 0
    functionsReached:
    - strtok_r
    - strdup
    - strlen
    - free
    - AddSingleFamily
    linkageType: ''
    returnType: void
    signature: void SplitIntoSingleFamily( const char *psz_spec, fontfamilies_t *families
      )
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vector_foreach
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:631,1
    - Dst: Debug
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:633,1
    - Dst: vlc_dictionary_value_for_key
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:635,1
    - Dst: SearchFontByFamilyName
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:639,1
    - Dst: FontSelectAmongFamilies
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:648,1
    - Dst: CheckFace
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:652,1
    - Dst: Debug
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:654,1
    - Dst: Debug
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:663,1
    - Dst: vlc_dictionary_value_for_key
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:664,1
    - Dst: SearchFallbacks
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:668,1
    - Dst: Debug
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:671,1
    - Dst: FontFallbacksAmongFamilies
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:680,1
    - Dst: Debug
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:683,1
    - Dst: SearchFallbacks
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:685,1
    - Dst: Debug
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:688,1
    - Dst: vlc_dictionary_value_for_key
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:698,1
    - Dst: SearchFallbacks
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:701,1
    - Dst: Debug
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:704,1
    - Dst: Debug
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:715,1
    - Dst: LowercaseDup
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:716,1
    - Dst: FontSelectFamily
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:717,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:718,1
    - Dst: GetBestFont
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:728,1
    - Dst: Debug
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:730,1
    - Dst: strdup
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:732,1
    - Dst: Debug
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:735,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 67
    argCount: 5
    argNames:
    - fs
    - families
    - p_style
    - pi_idx
    - codepoint
    argTypes:
    - vlc_font_select_t*
    - fontfamilies_t*
    - text_style_t*
    - int*
    - uni_char_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 616
    functionDepth: 3
    functionLinenumber: 616
    functionLinenumberEnd: 738
    functionName: SelectFontWithFamilyFallback
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 0
    functionsReached:
    - FontSelectFamily
    - FontSelectAmongFamilies
    - vlc_dictionary_value_for_key
    - SearchFallbacks
    - strdup
    - vlc_vector_foreach
    - free
    - LowercaseDup
    - CheckFace
    - Debug
    - FontFallbacksAmongFamilies
    - GetBestFont
    - SearchFontByFamilyName
    linkageType: ''
    returnType: char
    signature: "char * SelectFontWithFamilyFallback( vlc_font_select_t *fs,\n                                    const
      fontfamilies_t *families,\n                                    const text_style_t
      *p_style,\n                                    int *pi_idx, uni_char_t codepoint
      )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: IsLowercase
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:747,1
    - Dst: LowercaseDup
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:747,1
    - Dst: vlc_vector_init
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:753,1
    - Dst: SplitIntoSingleFamily
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:754,1
    - Dst: vlc_vector_clear
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:757,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:758,1
    - Dst: SelectFontWithFamilyFallback
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:766,1
    - Dst: vlc_ftcache_GetFaceID
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:771,1
    - Dst: ConvertToLiveSize
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:775,1
    - Dst: GetFontWidthForStyle
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:776,1
    - Dst: vlc_ftcache_LoadFaceByID
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:777,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:784,1
    - Dst: vlc_vector_foreach
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:790,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:791,1
    - Dst: vlc_vector_clear
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:792,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:793,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:794,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - p_filter
    - p_style
    - codepoint
    argTypes:
    - filter_t*
    - text_style_t*
    - uni_char_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 740
    functionDepth: 4
    functionLinenumber: 740
    functionLinenumberEnd: 797
    functionName: SelectAndLoadFace
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 1
    functionsReached:
    - vlc_ftcache_GetFaceID
    - vlc_ftcache_LoadFaceByID
    - vlc_vector_foreach
    - ConvertToLiveSize
    - vlc_vector_init
    - free
    - vlc_vector_clear
    - LowercaseDup
    - SelectFontWithFamilyFallback
    - GetFontWidthForStyle
    - msg_Warn
    - IsLowercase
    - SplitIntoSingleFamily
    linkageType: ''
    returnType: vlc_face_id_t
    signature: 'vlc_face_id_t *

      SelectAndLoadFace( filter_t *p_filter, const text_style_t *p_style, uni_char_t
      codepoint )'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_dictionary_value_for_key
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:807,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:815,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:820,1
    - Dst: NewFamily
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:833,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:836,1
    - Dst: MakeFilePath
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:839,1
    - Dst: NewFont
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:841,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - fs
    - psz_lcname
    - pp_result
    argTypes:
    - vlc_font_select_t*
    - char*
    - vlc_family_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 800
    functionDepth: 2
    functionLinenumber: 800
    functionLinenumberEnd: 845
    functionName: StaticMap_GetFamily
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 0
    functionsReached:
    - vlc_dictionary_value_for_key
    - NewFamily
    - strcasecmp
    - NewFont
    - unlikely
    - MakeFilePath
    linkageType: ''
    returnType: int
    signature: "int StaticMap_GetFamily( vlc_font_select_t *fs, const char *psz_lcname,\n
      \                               const vlc_family_t **pp_result )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:852,1
    - Dst: strdup
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:859,1
    - Dst: asprintf
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:862,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - fs
    - psz_filename
    argTypes:
    - vlc_font_select_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 850
    functionDepth: 2
    functionLinenumber: 850
    functionLinenumberEnd: 867
    functionName: MakeFilePath
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 1
    functionsReached:
    - asprintf
    - strdup
    - VLC_UNUSED
    linkageType: ''
    returnType: char
    signature: char * MakeFilePath( vlc_font_select_t *fs, const char *psz_filename
      )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:872,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:877,1
    - Dst: vlc_dictionary_init
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:880,1
    - Dst: vlc_dictionary_init
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:881,1
    - Dst: vlc_lru_New
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:883,1
    - Dst: FontConfig_Prepare
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:891,1
    - Dst: vlc_dictionary_init
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:901,1
    - Dst: InitDWrite
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:902,1
    - Dst: WINAPI_FAMILY_PARTITION
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:909,1
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:910,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:913,1
    - Dst: InitDefaultList
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:918,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:918,1
    - Dst: Android_Prepare
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:926,1
    - Dst: InitDefaultList
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:934,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:934,1
    - Dst: FontSelectDelete
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:941,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 870
    functionDepth: 3
    functionLinenumber: 870
    functionLinenumberEnd: 943
    functionName: FontSelectNew
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 1
    functionsReached:
    - ARRAY_SIZE
    - FontConfig_Prepare
    - FontSelectDelete
    - vlc_dictionary_init
    - InitDefaultList
    - msg_Err
    - calloc
    - InitDWrite
    - WINAPI_FAMILY_PARTITION
    - Android_Prepare
    - msg_Warn
    - VLC_OBJECT
    - vlc_lru_New
    linkageType: ''
    returnType: vlc_font_select_t
    signature: vlc_font_select_t * FontSelectNew( filter_t *p_filter )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FontConfig_Unprepare
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:949,1
    - Dst: ReleaseDWrite
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:953,1
    - Dst: vlc_dictionary_clear
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:954,1
    - Dst: vlc_lru_Release
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:958,1
    - Dst: vlc_dictionary_clear
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:961,1
    - Dst: vlc_dictionary_clear
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:962,1
    - Dst: FreeFamiliesAndFonts
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:964,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:966,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - fs
    argTypes:
    - vlc_font_select_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 945
    functionDepth: 2
    functionLinenumber: 945
    functionLinenumberEnd: 967
    functionName: FontSelectDelete
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 2
    functionsReached:
    - FontConfig_Unprepare
    - vlc_dictionary_clear
    - vlc_lru_Release
    - free
    - FreeFamiliesAndFonts
    - ReleaseDWrite
    linkageType: ''
    returnType: void
    signature: void FontSelectDelete( vlc_font_select_t *fs )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_font_select_t*::pf_select_family
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:973,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - fs
    - psz_lcname
    argTypes:
    - vlc_font_select_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 975
    functionName: FontSelectFamily
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 3
    functionsReached:
    - vlc_font_select_t*::pf_select_family
    linkageType: ''
    returnType: vlc_family_t
    signature: vlc_family_t * FontSelectFamily( vlc_font_select_t *fs, const char
      *psz_lcname )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_lru_HasKey
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:980,1
    - Dst: vlc_lru_Get
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:981,1
    - Dst: vlc_font_select_t*::pf_select_among_families
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:986,1
    - Dst: vlc_vector_foreach
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:992,1
    - Dst: vlc_font_select_t*::pf_select_family
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:994,1
    - Dst: vlc_lru_Insert
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:999,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - fs
    - families
    argTypes:
    - vlc_font_select_t*
    - fontfamilies_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 977
    functionDepth: 1
    functionLinenumber: 977
    functionLinenumberEnd: 1001
    functionName: FontSelectAmongFamilies
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 1
    functionsReached:
    - vlc_lru_HasKey
    - vlc_vector_foreach
    - vlc_lru_Get
    - vlc_lru_Insert
    - vlc_font_select_t*::pf_select_family
    - vlc_font_select_t*::pf_select_among_families
    linkageType: ''
    returnType: vlc_family_t
    signature: vlc_family_t * FontSelectAmongFamilies( vlc_font_select_t *fs, const
      fontfamilies_t *families )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_font_select_t*::pf_get_fallbacks_among_families
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:1009,1
    - Dst: vlc_vector_foreach
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:1014,1
    - Dst: vlc_font_select_t*::pf_get_fallbacks
      Src: /src/vlc/modules/text_renderer/freetype/platform_fonts.c:1016,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - fs
    - families
    - codepoint
    argTypes:
    - vlc_font_select_t*
    - fontfamilies_t*
    - uni_char_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1022
    functionName: FontFallbacksAmongFamilies
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.c
    functionUses: 1
    functionsReached:
    - vlc_font_select_t*::pf_get_fallbacks
    - vlc_vector_foreach
    - vlc_font_select_t*::pf_get_fallbacks_among_families
    linkageType: ''
    returnType: vlc_family_t
    signature: "vlc_family_t * FontFallbacksAmongFamilies( vlc_font_select_t *fs,
      const fontfamilies_t *families,\n                                           uni_char_t
      codepoint )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: MAKE_VERSION
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/freetype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_VERSION(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: FT_FLOOR
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/freetype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FLOOR(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: FT_CEIL
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/freetype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_CEIL(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: FT_MulFix
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/freetype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MulFix(v, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_box
    argTypes:
    - FT_BBox*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: BBoxInit
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/freetype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BBoxInit( FT_BBox *p_box )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __MIN
      Src: /src/vlc/modules/text_renderer/freetype/freetype.h:138,1
    - Dst: __MIN
      Src: /src/vlc/modules/text_renderer/freetype/freetype.h:139,1
    - Dst: __MAX
      Src: /src/vlc/modules/text_renderer/freetype/freetype.h:140,1
    - Dst: __MAX
      Src: /src/vlc/modules/text_renderer/freetype/freetype.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p_max
    - p
    argTypes:
    - FT_BBox*
    - FT_BBox*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: BBoxEnlarge
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/freetype.h
    functionUses: 0
    functionsReached:
    - __MAX
    - __MIN
    linkageType: ''
    returnType: void
    signature: void BBoxEnlarge( FT_BBox *p_max, const FT_BBox *p )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p_style
    - i_size
    argTypes:
    - text_style_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: GetFontWidthForStyle
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/freetype.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetFontWidthForStyle( const text_style_t *p_style, int i_size )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_Done_Glyph
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:167,1
    - Dst: FT_Done_Glyph
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:169,1
    - Dst: FT_Done_Glyph
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:171,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:177,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - p_line
    argTypes:
    - line_desc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 179
    functionName: FreeLine
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/text_layout.c
    functionUses: 0
    functionsReached:
    - FT_Done_Glyph
    - free
    linkageType: ''
    returnType: void
    signature: void FreeLine( line_desc_t *p_line )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FreeLine
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_lines
    argTypes:
    - line_desc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 189
    functionName: FreeLines
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/text_layout.c
    functionUses: 2
    functionsReached:
    - FreeLine
    linkageType: ''
    returnType: void
    signature: void FreeLines( line_desc_t *p_lines )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:193,1
    - Dst: BBoxInit
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:207,1
    - Dst: calloc
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:209,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - i_count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 216
    functionName: NewLine
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/text_layout.c
    functionUses: 0
    functionsReached:
    - calloc
    - BBoxInit
    - free
    - malloc
    linkageType: ''
    returnType: line_desc_t
    signature: line_desc_t *NewLine( int i_count )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - c
    - x
    - y
    argTypes:
    - line_character_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 224
    functionName: ShiftChar
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/text_layout.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ShiftChar( line_character_t *c, int x, int y )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShiftChar
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - p_line
    - x
    - y
    argTypes:
    - line_desc_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 236
    functionName: ShiftLine
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/text_layout.c
    functionUses: 0
    functionsReached:
    - ShiftChar
    linkageType: ''
    returnType: void
    signature: void ShiftLine( line_desc_t *p_line, int x, int y )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShiftLine
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_line
    - x
    - y
    argTypes:
    - line_desc_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: MoveLineTo
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/text_layout.c
    functionUses: 0
    functionsReached:
    - ShiftLine
    linkageType: ''
    returnType: void
    signature: void MoveLineTo( line_desc_t *p_line, int x, int y )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShiftChar
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:249,1
    - Dst: BBoxEnlarge
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - p_line
    - i_start
    - i_count
    - w
    - h
    argTypes:
    - line_desc_t*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 252
    functionName: IndentCharsFrom
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/text_layout.c
    functionUses: 0
    functionsReached:
    - ShiftChar
    - BBoxEnlarge
    linkageType: ''
    returnType: void
    signature: void IndentCharsFrom( line_desc_t *p_line, int i_start, int i_count,
      int w, int h )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - p_line
    - i_start
    - pi_count
    argTypes:
    - line_desc_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: RubyBaseAdvance
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/text_layout.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RubyBaseAdvance( const line_desc_t *p_line, int i_start, int *pi_count
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_CEIL
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:275,1
    - Dst: FT_CEIL
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:276,1
    - Dst: FT_CEIL
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:281,1
    - Dst: FT_CEIL
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - glyph
    - p_bbox
    - i_x_advance
    - i_y_advance
    - p_pen
    argTypes:
    - FT_Glyph
    - FT_BBox*
    - FT_Pos
    - FT_Pos
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 285
    functionName: FixGlyph
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/text_layout.c
    functionUses: 0
    functionsReached:
    - FT_CEIL
    linkageType: ''
    returnType: void
    signature: "void FixGlyph( FT_Glyph glyph, FT_BBox *p_bbox,\n                      FT_Pos
      i_x_advance, FT_Pos i_y_advance,\n                      const FT_Vector *p_pen
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:289,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:290,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:291,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:292,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:293,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:294,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:295,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:296,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:299,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:303,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:304,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:306,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:308,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - p_paragraph
    argTypes:
    - paragraph_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 312
    functionName: FreeParagraph
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/text_layout.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void FreeParagraph( paragraph_t *p_paragraph )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:321,1
    - Dst: calloc
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:322,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:328,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:330,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:332,1
    - Dst: calloc
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:334,1
    - Dst: calloc
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:336,1
    - Dst: calloc
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:338,1
    - Dst: calloc
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:340,1
    - Dst: calloc
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:342,1
    - Dst: memcpy
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:353,1
    - Dst: memcpy
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:356,1
    - Dst: memcpy
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:359,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:362,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:368,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:369,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:371,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:374,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:383,1
    - Dst: FreeParagraph
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:395,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 48
    argCount: 6
    argNames:
    - p_filter
    - i_size
    - p_code_points
    - pp_styles
    - pp_ruby
    - i_runs_size
    argTypes:
    - filter_t*
    - int
    - uni_char_t*
    - text_style_t**
    - ruby_block_t**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 397
    functionName: NewParagraph
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/text_layout.c
    functionUses: 0
    functionsReached:
    - var_InheritInteger
    - memcpy
    - FreeParagraph
    - calloc
    - vlc_alloc
    - VLC_UNUSED
    linkageType: ''
    returnType: paragraph_t
    signature: "paragraph_t *NewParagraph( filter_t *p_filter,\n                                  int
      i_size,\n                                  const uni_char_t *p_code_points,\n
      \                                 text_style_t **pp_styles,\n                                  ruby_block_t
      **pp_ruby,\n                                  int i_runs_size )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fribidi_get_bidi_types
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:403,1
    - Dst: fribidi_get_bracket_types
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:407,1
    - Dst: fribidi_get_par_embedding_levels_ex
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:411,1
    - Dst: fribidi_get_par_embedding_levels
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:418,1
    - Dst: hb_unicode_funcs_create
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:429,1
    - Dst: hb_unicode_funcs_get_default
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:429,1
    - Dst: hb_unicode_script
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:432,1
    - Dst: hb_unicode_funcs_destroy
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:433,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - p_paragraph
    argTypes:
    - paragraph_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 468
    functionName: AnalyzeParagraph
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/text_layout.c
    functionUses: 0
    functionsReached:
    - fribidi_get_par_embedding_levels
    - hb_unicode_script
    - fribidi_get_bracket_types
    - fribidi_get_par_embedding_levels_ex
    - hb_unicode_funcs_create
    - fribidi_get_bidi_types
    - hb_unicode_funcs_destroy
    - hb_unicode_funcs_get_default
    linkageType: ''
    returnType: int
    signature: int AnalyzeParagraph( paragraph_t *p_paragraph )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:482,1
    - Dst: realloc
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:492,1
    - Dst: memset
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:497,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 6
    argNames:
    - p_filter
    - p_paragraph
    - i_start_offset
    - i_end_offset
    - p_faceid
    - p_style
    argTypes:
    - filter_t*
    - paragraph_t*
    - int
    - int
    - vlc_face_id_t*
    - text_style_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 525
    functionName: AddRun
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/text_layout.c
    functionUses: 0
    functionsReached:
    - memset
    - realloc
    - msg_Err
    linkageType: ''
    returnType: int
    signature: "int AddRun( filter_t *p_filter,\n                   paragraph_t *p_paragraph,\n
      \                  int i_start_offset,\n                   int i_end_offset,\n
      \                  vlc_face_id_t *p_faceid,\n                   const text_style_t
      *p_style )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:540,1
    - Dst: vlc_ftcache_LookupCMapIndex
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:565,1
    - Dst: SelectAndLoadFace
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:579,1
    - Dst: vlc_ftcache_LookupCMapIndex
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:583,1
    - Dst: AddRun
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:599,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 29
    argCount: 4
    argNames:
    - p_filter
    - p_paragraph
    - i_start_offset
    - i_end_offset
    argTypes:
    - filter_t*
    - paragraph_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 531
    functionDepth: 5
    functionLinenumber: 531
    functionLinenumberEnd: 608
    functionName: AddRunWithFallback
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/text_layout.c
    functionUses: 0
    functionsReached:
    - AddRun
    - SelectAndLoadFace
    - vlc_ftcache_LookupCMapIndex
    - msg_Err
    linkageType: ''
    returnType: int
    signature: "int AddRunWithFallback( filter_t *p_filter, paragraph_t *p_paragraph,\n
      \                              int i_start_offset, int i_end_offset )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ConvertToLiveSize
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:626,1
    - Dst: ConvertToLiveSize
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:627,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:631,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - p_filter
    - p_style1
    - p_style2
    argTypes:
    - filter_t*
    - text_style_t*
    - text_style_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 610
    functionDepth: 2
    functionLinenumber: 610
    functionLinenumberEnd: 632
    functionName: FaceStyleEquals
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/text_layout.c
    functionUses: 0
    functionsReached:
    - ConvertToLiveSize
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: "bool FaceStyleEquals( filter_t *p_filter, const text_style_t *p_style1,\n
      \                            const text_style_t *p_style2 )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:641,1
    - Dst: FaceStyleEquals
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:662,1
    - Dst: AddRunWithFallback
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:664,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - p_filter
    - p_paragraph
    argTypes:
    - filter_t*
    - paragraph_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 637
    functionDepth: 6
    functionLinenumber: 637
    functionLinenumberEnd: 680
    functionName: ItemizeParagraph
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/text_layout.c
    functionUses: 0
    functionsReached:
    - AddRunWithFallback
    - FaceStyleEquals
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int ItemizeParagraph( filter_t *p_filter, paragraph_t *p_paragraph
      )
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:701,1
    - Dst: SelectAndLoadFace
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:722,1
    - Dst: ConvertToLiveSize
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:738,1
    - Dst: GetFontWidthForStyle
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:739,1
    - Dst: vlc_ftcache_LoadFaceByID
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:741,1
    - Dst: hb_ft_font_create
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:745,1
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:748,1
    - Dst: hb_buffer_create
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:753,1
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:756,1
    - Dst: hb_font_destroy
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:758,1
    - Dst: hb_buffer_set_direction
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:762,1
    - Dst: hb_buffer_set_script
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:763,1
    - Dst: hb_buffer_add_utf32
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:764,1
    - Dst: hb_shape
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:768,1
    - Dst: hb_font_destroy
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:770,1
    - Dst: hb_buffer_get_length
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:773,1
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:776,1
    - Dst: NewParagraph
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:784,1
    - Dst: calloc
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:794,1
    - Dst: hb_buffer_get_glyph_infos
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:806,1
    - Dst: hb_buffer_get_glyph_positions
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:808,1
    - Dst: AddRun
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:848,1
    - Dst: hb_buffer_destroy
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:855,1
    - Dst: FreeParagraph
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:857,1
    - Dst: hb_buffer_destroy
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:866,1
    - Dst: FreeParagraph
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:870,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 91
    argCount: 2
    argNames:
    - p_filter
    - p_old_paragraph
    argTypes:
    - filter_t*
    - paragraph_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 690
    functionDepth: 5
    functionLinenumber: 690
    functionLinenumberEnd: 873
    functionName: ShapeParagraphHarfBuzz
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/text_layout.c
    functionUses: 0
    functionsReached:
    - hb_ft_font_create
    - FreeParagraph
    - hb_buffer_get_length
    - NewParagraph
    - hb_buffer_destroy
    - hb_buffer_get_glyph_positions
    - hb_buffer_set_script
    - hb_buffer_create
    - SelectAndLoadFace
    - hb_buffer_get_glyph_infos
    - ConvertToLiveSize
    - msg_Err
    - calloc
    - hb_font_destroy
    - hb_buffer_add_utf32
    - hb_buffer_set_direction
    - vlc_ftcache_LoadFaceByID
    - hb_shape
    - AddRun
    - GetFontWidthForStyle
    linkageType: ''
    returnType: int
    signature: "int ShapeParagraphHarfBuzz( filter_t *p_filter,\n                                   paragraph_t
      **p_old_paragraph )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:888,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:895,1
    - Dst: fribidi_get_joining_types
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:899,1
    - Dst: fribidi_join_arabic
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:901,1
    - Dst: fribidi_shape
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:903,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:909,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - p_filter
    - p_paragraph
    argTypes:
    - filter_t*
    - paragraph_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 912
    functionName: ShapeParagraphFriBidi
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/text_layout.c
    functionUses: 0
    functionsReached:
    - fribidi_shape
    - fribidi_get_joining_types
    - msg_Err
    - free
    - vlc_alloc
    - fribidi_join_arabic
    linkageType: ''
    returnType: int
    signature: int ShapeParagraphFriBidi( filter_t *p_filter, paragraph_t *p_paragraph
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ftcache_Custom_Glyph_Release
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:934,1
    - Dst: vlc_ftcache_Glyph_Release
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:935,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - p_filter
    - p_paragraph
    argTypes:
    - filter_t*
    - paragraph_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 921
    functionDepth: 1
    functionLinenumber: 921
    functionLinenumberEnd: 943
    functionName: RemoveZeroWidthCharacters
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/text_layout.c
    functionUses: 0
    functionsReached:
    - vlc_ftcache_Custom_Glyph_Release
    - vlc_ftcache_Glyph_Release
    linkageType: ''
    returnType: int
    signature: int RemoveZeroWidthCharacters( filter_t *p_filter, paragraph_t *p_paragraph
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - p_paragraph
    argTypes:
    - paragraph_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 959
    functionName: ZeroNsmAdvance
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/text_layout.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ZeroNsmAdvance( paragraph_t *p_paragraph )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_Done_Glyph
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:969,1
    - Dst: vlc_ftcache_Custom_Glyph_Release
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:970,1
    - Dst: vlc_ftcache_Glyph_Release
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:971,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - p_filter
    - p_bitmaps
    argTypes:
    - filter_t*
    - glyph_bitmaps_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 972
    functionName: ReleaseGlyphBitMaps
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/text_layout.c
    functionUses: 0
    functionsReached:
    - FT_Done_Glyph
    - vlc_ftcache_Custom_Glyph_Release
    - vlc_ftcache_Glyph_Release
    linkageType: ''
    returnType: void
    signature: void ReleaseGlyphBitMaps(filter_t *p_filter, glyph_bitmaps_t *p_bitmaps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_Glyph_Stroke
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:978,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - src
    - dest
    - priv
    argTypes:
    - FT_Glyph
    - FT_Glyph*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 982
    functionName: CreateOutlinedGlyph
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/text_layout.c
    functionUses: 0
    functionsReached:
    - FT_Glyph_Stroke
    linkageType: ''
    returnType: int
    signature: int CreateOutlinedGlyph( FT_Glyph src, FT_Glyph *dest, void *priv )
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:994,1
    - Dst: ConvertToLiveSize
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1011,1
    - Dst: GetFontWidthForStyle
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1012,1
    - Dst: vlc_ftcache_LoadFaceByID
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1013,1
    - Dst: ConvertToLiveSize
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1019,1
    - Dst: GetFontWidthForStyle
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1020,1
    - Dst: vlc_ftcache_LoadFaceByID
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1021,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1033,1
    - Dst: FT_Stroker_Set
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1035,1
    - Dst: vlc_ftcache_LookupCMapIndex
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1048,1
    - Dst: SKIP_GLYPH
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1090,1
    - Dst: vlc_ftcache_GetGlyphForCurrentFace
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1095,1
    - Dst: SKIP_GLYPH
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1099,1
    - Dst: FT_Glyph_Copy
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1112,1
    - Dst: FT_Glyph_Transform
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1119,1
    - Dst: FT_Outline_Embolden
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1122,1
    - Dst: vlc_ftcache_Glyph_Release
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1123,1
    - Dst: vlc_ftcache_GetOutlinedGlyph
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1132,1
    - Dst: FT_FLOOR
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1149,1
    - Dst: abs
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1149,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 66
    argCount: 5
    argNames:
    - p_filter
    - p_paragraph
    - b_use_glyph_indices
    - b_overwrite_advance
    - pi_max_advance_x
    argTypes:
    - filter_t*
    - paragraph_t*
    - bool
    - bool
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 988
    functionDepth: 1
    functionLinenumber: 988
    functionLinenumberEnd: 1155
    functionName: LoadGlyphs
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/text_layout.c
    functionUses: 0
    functionsReached:
    - vlc_ftcache_LoadFaceByID
    - FT_FLOOR
    - VLC_CLIP
    - FT_Glyph_Transform
    - vlc_ftcache_GetOutlinedGlyph
    - ConvertToLiveSize
    - FT_Stroker_Set
    - vlc_ftcache_Glyph_Release
    - vlc_ftcache_LookupCMapIndex
    - msg_Err
    - GetFontWidthForStyle
    - FT_Glyph_Copy
    - abs
    - FT_Outline_Embolden
    - vlc_ftcache_GetGlyphForCurrentFace
    - SKIP_GLYPH
    linkageType: ''
    returnType: int
    signature: "int LoadGlyphs( filter_t *p_filter, paragraph_t *p_paragraph,\n                       bool
      b_use_glyph_indices, bool b_overwrite_advance,\n                       unsigned
      *pi_max_advance_x )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p_bitmaps
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1063
    functionName: SKIP_GLYPH
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/text_layout.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SKIP_GLYPH( p_bitmaps )
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1168,1
    - Dst: fribidi_reorder_line
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1191,1
    - Dst: NewLine
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1198,1
    - Dst: BBoxInit
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1223,1
    - Dst: ConvertToLiveSize
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1233,1
    - Dst: GetFontWidthForStyle
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1234,1
    - Dst: vlc_ftcache_LoadFaceByID
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1236,1
    - Dst: FT_Glyph_To_Bitmap
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1250,1
    - Dst: FT_Glyph_To_Bitmap
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1258,1
    - Dst: ReleaseGlyphBitMaps
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1262,1
    - Dst: vlc_ftcache_Glyph_Release
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1267,1
    - Dst: FT_Glyph_To_Bitmap
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1273,1
    - Dst: vlc_ftcache_Custom_Glyph_Release
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1277,1
    - Dst: FT_Glyph_Get_CBox
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1281,1
    - Dst: FixGlyph
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1283,1
    - Dst: FT_Glyph_Get_CBox
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1288,1
    - Dst: FixGlyph
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1290,1
    - Dst: FT_Glyph_Get_CBox
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1296,1
    - Dst: FixGlyph
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1298,1
    - Dst: labs
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1309,1
    - Dst: FT_FLOOR
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1309,1
    - Dst: FT_MulFix
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1309,1
    - Dst: labs
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1313,1
    - Dst: FT_CEIL
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1313,1
    - Dst: FT_MulFix
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1313,1
    - Dst: labs
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1322,1
    - Dst: FT_FLOOR
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1322,1
    - Dst: FT_MulFix
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1322,1
    - Dst: __MAX
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1325,1
    - Dst: __MIN
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1328,1
    - Dst: __MIN
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1334,1
    - Dst: __MAX
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1339,1
    - Dst: __MAX
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1340,1
    - Dst: BBoxEnlarge
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1355,1
    - Dst: BBoxEnlarge
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1357,1
    - Dst: BBoxEnlarge
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1359,1
    - Dst: labs
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1367,1
    - Dst: FT_FLOOR
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1367,1
    - Dst: FT_MulFix
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1367,1
    - Dst: MoveLineTo
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1401,1
    - Dst: BBoxEnlarge
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1402,1
    - Dst: RubyBaseAdvance
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1405,1
    - Dst: IndentCharsFrom
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1408,1
    - Dst: IndentCharsFrom
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1409,1
    - Dst: ShiftLine
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1414,1
    - Dst: BBoxEnlarge
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1415,1
    - Dst: __MAX
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1420,1
    - Dst: __MAX
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1425,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 125
    argCount: 6
    argNames:
    - p_filter
    - p_paragraph
    - i_first_char
    - i_last_char
    - b_grid
    - pp_line
    argTypes:
    - filter_t*
    - paragraph_t*
    - int
    - int
    - bool
    - line_desc_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1157
    functionDepth: 3
    functionLinenumber: 1157
    functionLinenumberEnd: 1442
    functionName: LayoutLine
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/text_layout.c
    functionUses: 0
    functionsReached:
    - RubyBaseAdvance
    - FT_Glyph_To_Bitmap
    - ReleaseGlyphBitMaps
    - FT_FLOOR
    - vlc_ftcache_Custom_Glyph_Release
    - ConvertToLiveSize
    - vlc_ftcache_Glyph_Release
    - labs
    - msg_Err
    - FT_CEIL
    - __MAX
    - fribidi_reorder_line
    - MoveLineTo
    - ShiftLine
    - FT_Glyph_Get_CBox
    - BBoxEnlarge
    - NewLine
    - __MIN
    - FT_MulFix
    - BBoxInit
    - vlc_ftcache_LoadFaceByID
    - IndentCharsFrom
    - GetFontWidthForStyle
    - FixGlyph
    linkageType: ''
    returnType: int
    signature: "int LayoutLine( filter_t *p_filter,\n                       paragraph_t
      *p_paragraph,\n                       int i_first_char, int i_last_char,\n                       bool
      b_grid,\n                       line_desc_t **pp_line )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - p_paragraph
    - i
    argTypes:
    - paragraph_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1444
    functionDepth: 0
    functionLinenumber: 1444
    functionLinenumberEnd: 1451
    functionName: IsWhitespaceAt
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/text_layout.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsWhitespaceAt( paragraph_t *p_paragraph, size_t i )
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1460,1
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1472,1
    - Dst: IsWhitespaceAt
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1490,1
    - Dst: ReleaseGlyphBitMaps
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1500,1
    - Dst: LayoutLine
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1515,1
    - Dst: IsWhitespaceAt
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1538,1
    - Dst: ReleaseGlyphBitMaps
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1547,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1573,1
    - Dst: ReleaseGlyphBitMaps
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1575,1
    - Dst: LayoutLine
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1585,1
    - Dst: ReleaseGlyphBitMaps
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1594,1
    - Dst: ReleaseGlyphBitMaps
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1608,1
    - Dst: ReleaseGlyphBitMaps
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1628,1
    - Dst: FreeLines
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1630,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 95
    argCount: 7
    argNames:
    - p_filter
    - p_paragraph
    - i_max_width
    - i_max_advance_x
    - b_grid
    - b_balance
    - pp_lines
    argTypes:
    - filter_t*
    - paragraph_t*
    - unsigned
    - unsigned
    - bool
    - bool
    - line_desc_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1632
      start: 1453
    functionDepth: 4
    functionLinenumber: 1453
    functionLinenumberEnd: 1632
    functionName: LayoutParagraph
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/text_layout.c
    functionUses: 0
    functionsReached:
    - LayoutLine
    - IsWhitespaceAt
    - msg_Err
    - msg_Dbg
    - FreeLines
    - ReleaseGlyphBitMaps
    linkageType: ''
    returnType: int
    signature: "int LayoutParagraph( filter_t *p_filter, paragraph_t *p_paragraph,\n
      \                           unsigned i_max_width, unsigned i_max_advance_x,\n
      \                           bool b_grid, bool b_balance,\n                            line_desc_t
      **pp_lines )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: NewParagraph
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1642,1
    - Dst: AnalyzeParagraph
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1651,1
    - Dst: ItemizeParagraph
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1655,1
    - Dst: ShapeParagraphHarfBuzz
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1659,1
    - Dst: LoadGlyphs
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1662,1
    - Dst: ShapeParagraphFriBidi
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1666,1
    - Dst: LoadGlyphs
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1668,1
    - Dst: RemoveZeroWidthCharacters
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1670,1
    - Dst: ZeroNsmAdvance
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1672,1
    - Dst: LoadGlyphs
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1675,1
    - Dst: FreeParagraph
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1683,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 36
    argCount: 7
    argNames:
    - p_filter
    - i_size
    - p_uchars
    - pp_styles
    - pp_ruby
    - i_runs_size
    - pi_max_advance_x
    argTypes:
    - filter_t*
    - int
    - uni_char_t*
    - text_style_t**
    - ruby_block_t**
    - int
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1634
    functionDepth: 7
    functionLinenumber: 1634
    functionLinenumberEnd: 1686
    functionName: BuildParagraph
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/text_layout.c
    functionUses: 0
    functionsReached:
    - ShapeParagraphHarfBuzz
    - ItemizeParagraph
    - ShapeParagraphFriBidi
    - FreeParagraph
    - AnalyzeParagraph
    - LoadGlyphs
    - RemoveZeroWidthCharacters
    - ZeroNsmAdvance
    - NewParagraph
    linkageType: ''
    returnType: paragraph_t
    signature: "paragraph_t * BuildParagraph( filter_t *p_filter,\n                                     int
      i_size,\n                                     const uni_char_t *p_uchars,\n
      \                                    text_style_t **pp_styles,\n                                     ruby_block_t
      **pp_ruby,\n                                     int i_runs_size,\n                                     unsigned
      *pi_max_advance_x )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1696,1
    - Dst: BuildParagraph
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1700,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1706,1
    - Dst: LayoutLine
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1710,1
    - Dst: ReleaseGlyphBitMaps
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1715,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1716,1
    - Dst: FreeParagraph
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1717,1
    - Dst: FreeParagraph
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1721,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1722,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - p_filter
    - p_uchars
    - i_uchars
    - p_style
    - pp_line
    argTypes:
    - filter_t*
    - uni_char_t*
    - int
    - text_style_t*
    - line_desc_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1725
      start: 1688
    functionDepth: 8
    functionLinenumber: 1688
    functionLinenumberEnd: 1725
    functionName: LayoutRubyText
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/text_layout.c
    functionUses: 0
    functionsReached:
    - BuildParagraph
    - LayoutLine
    - FreeParagraph
    - free
    - malloc
    - ReleaseGlyphBitMaps
    linkageType: ''
    returnType: int
    signature: "int LayoutRubyText( filter_t *p_filter,\n                           const
      uni_char_t *p_uchars,\n                           int i_uchars,\n                           text_style_t
      *p_style,\n                           line_desc_t **pp_line )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: LayoutRubyText
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1749,1
    - Dst: BuildParagraph
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1766,1
    - Dst: FreeLines
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1775,1
    - Dst: LayoutParagraph
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1779,1
    - Dst: FreeParagraph
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1785,1
    - Dst: FreeLines
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1786,1
    - Dst: FreeParagraph
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1790,1
    - Dst: FreeLine
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1803,1
    - Dst: BBoxInit
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1822,1
    - Dst: BBoxEnlarge
      Src: /src/vlc/modules/text_renderer/freetype/text_layout.c:1829,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 5
    argNames:
    - p_filter
    - p_textblock
    - pp_lines
    - p_bbox
    - pi_max_face_height
    argTypes:
    - filter_t*
    - layout_text_block_t*
    - line_desc_t**
    - FT_BBox*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1838
      start: 1727
    functionDepth: 9
    functionLinenumber: 1727
    functionLinenumberEnd: 1838
    functionName: LayoutTextBlock
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/text_layout.c
    functionUses: 1
    functionsReached:
    - BuildParagraph
    - FreeParagraph
    - BBoxEnlarge
    - FreeLine
    - FreeLines
    - LayoutParagraph
    - BBoxInit
    - LayoutRubyText
    linkageType: ''
    returnType: int
    signature: "int LayoutTextBlock( filter_t *p_filter,\n                     const
      layout_text_block_t *p_textblock,\n                     line_desc_t **pp_lines,
      FT_BBox *p_bbox,\n                     int *pi_max_face_height )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: Debug
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/platform_fonts.h
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Debug(...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:63,1
    - Dst: vlc_dictionary_value_for_key
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:67,1
    - Dst: malloc
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:70,1
    - Dst: strdup
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:74,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:78,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:82,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - ftcache
    - psz_fontfile
    - i_idx
    argTypes:
    - vlc_ftcache_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 89
    functionName: vlc_ftcache_GetFaceID
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/ftcache.c
    functionUses: 2
    functionsReached:
    - asprintf
    - vlc_dictionary_value_for_key
    - strdup
    - free
    - vlc_dictionary_insert
    - malloc
    linkageType: ''
    returnType: vlc_face_id_t
    signature: "vlc_face_id_t * vlc_ftcache_GetFaceID( vlc_ftcache_t *ftcache,\n                                       const
      char *psz_fontfile, int i_idx )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ftcache
    - metrics
    argTypes:
    - vlc_ftcache_t*
    - vlc_ftcache_metrics_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 100
    functionName: vlc_ftcache_GetActiveFaceInfo
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/ftcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_face_id_t
    signature: "vlc_face_id_t * vlc_ftcache_GetActiveFaceInfo( vlc_ftcache_t *ftcache,\n
      \                                              vlc_ftcache_metrics_t *metrics
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_Select_Charmap
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:104,1
    - Dst: FT_Get_Charmap_Index
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - faceid
    - p_face
    argTypes:
    - vlc_face_id_t*
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: vlc_ftcache_SetCharmap
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/ftcache.c
    functionUses: 0
    functionsReached:
    - FT_Select_Charmap
    - FT_Get_Charmap_Index
    linkageType: ''
    returnType: int
    signature: int vlc_ftcache_SetCharmap( vlc_face_id_t *faceid, FT_Face p_face )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FTC_Manager_LookupSize
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ftcache
    - faceid
    - metrics
    argTypes:
    - vlc_ftcache_t*
    - vlc_face_id_t*
    - vlc_ftcache_metrics_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 131
    functionName: vlc_ftcache_LoadFaceByID
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/ftcache.c
    functionUses: 4
    functionsReached:
    - FTC_Manager_LookupSize
    linkageType: ''
    returnType: FT_Face
    signature: "FT_Face vlc_ftcache_LoadFaceByID( vlc_ftcache_t *ftcache, vlc_face_id_t
      *faceid,\n                                  const vlc_ftcache_metrics_t *metrics
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FTC_Manager_LookupFace
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ftcache
    - faceid
    argTypes:
    - vlc_ftcache_t*
    - vlc_face_id_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 144
    functionName: vlc_ftcache_LoadFaceByIDNoSize
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/ftcache.c
    functionUses: 1
    functionsReached:
    - FTC_Manager_LookupFace
    linkageType: ''
    returnType: int
    signature: int vlc_ftcache_LoadFaceByIDNoSize( vlc_ftcache_t *ftcache, vlc_face_id_t
      *faceid )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FTC_CMapCache_Lookup
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ftcache
    - faceid
    - codepoint
    argTypes:
    - vlc_ftcache_t*
    - vlc_face_id_t*
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: vlc_ftcache_LookupCMapIndex
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/ftcache.c
    functionUses: 3
    functionsReached:
    - FTC_CMapCache_Lookup
    linkageType: ''
    returnType: FT_UInt
    signature: FT_UInt vlc_ftcache_LookupCMapIndex( vlc_ftcache_t *ftcache, vlc_face_id_t
      *faceid, FT_UInt codepoint )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FTC_ImageCache_LookupScaler
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - ftcache
    - index
    - glyph
    - styleflags
    argTypes:
    - vlc_ftcache_t*
    - FT_UInt
    - vlc_ftcache_glyph_t*
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: vlc_ftcache_GetGlyphForCurrentFace
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/ftcache.c
    functionUses: 1
    functionsReached:
    - FTC_ImageCache_LookupScaler
    linkageType: ''
    returnType: int
    signature: "int vlc_ftcache_GetGlyphForCurrentFace( vlc_ftcache_t *ftcache, FT_UInt
      index,\n                                        vlc_ftcache_glyph_t *glyph,
      FT_Long *styleflags )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:169,1
    - Dst: doLoadFace
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:171,1
    - Dst: vlc_ftcache_SetCharmap
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - face_id
    - library
    - req_data
    - aface
    argTypes:
    - FTC_FaceID
    - FT_Library
    - FT_Pointer
    - FT_Face*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 177
    functionName: RequestFace
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/ftcache.c
    functionUses: 0
    functionsReached:
    - vlc_ftcache_SetCharmap
    - doLoadFace
    - VLC_UNUSED
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error RequestFace( FTC_FaceID face_id, FT_Library library,\n                             FT_Pointer
      req_data, FT_Face* aface )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:182,1
    - Dst: assert
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:183,1
    - Dst: FT_Done_Glyph
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:186,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - priv
    - v
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (ref->refcount)
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/vlc/modules/text_renderer/freetype/ftcache.c
    constantsTouched: []
    func_position:
      end: 189
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 189
    functionName: LRUGlyphRefRelease
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/ftcache.c
    functionUses: 0
    functionsReached:
    - FT_Done_Glyph
    - assert
    - free
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void LRUGlyphRefRelease( void *priv, void *v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:193,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:195,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_faceid
    - p_obj
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: FreeFaceID
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/ftcache.c
    functionUses: 0
    functionsReached:
    - free
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void FreeFaceID( void *p_faceid, void *p_obj )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_lru_Release
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:202,1
    - Dst: FTC_Manager_Done
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:205,1
    - Dst: vlc_dictionary_clear
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:208,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ftcache
    argTypes:
    - vlc_ftcache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 211
    functionName: vlc_ftcache_Delete
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/ftcache.c
    functionUses: 1
    functionsReached:
    - free
    - FTC_Manager_Done
    - vlc_lru_Release
    - vlc_dictionary_clear
    linkageType: ''
    returnType: void
    signature: void vlc_ftcache_Delete( vlc_ftcache_t *ftcache )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:216,1
    - Dst: vlc_dictionary_init
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:222,1
    - Dst: vlc_lru_New
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:224,1
    - Dst: FTC_Manager_New
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:227,1
    - Dst: FTC_ImageCache_New
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:229,1
    - Dst: FTC_CMapCache_New
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:230,1
    - Dst: vlc_ftcache_Delete
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - obj
    - p_library
    - maxkb
    argTypes:
    - vlc_object_t*
    - FT_Library
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 241
    functionName: vlc_ftcache_New
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/ftcache.c
    functionUses: 1
    functionsReached:
    - vlc_dictionary_init
    - vlc_ftcache_Delete
    - calloc
    - FTC_Manager_New
    - vlc_lru_New
    - FTC_CMapCache_New
    - FTC_ImageCache_New
    linkageType: ''
    returnType: vlc_ftcache_t
    signature: "vlc_ftcache_t * vlc_ftcache_New( vlc_object_t *obj, FT_Library p_library,\n
      \                                unsigned maxkb )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FTC_Node_Unref
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:247,1
    - Dst: FT_Done_Glyph
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ftcache
    - g
    argTypes:
    - vlc_ftcache_t*
    - vlc_ftcache_glyph_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 256
    functionName: vlc_ftcache_Glyph_Release
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/ftcache.c
    functionUses: 4
    functionsReached:
    - FT_Done_Glyph
    - FTC_Node_Unref
    linkageType: ''
    returnType: void
    signature: void vlc_ftcache_Glyph_Release( vlc_ftcache_t *ftcache, vlc_ftcache_glyph_t
      *g )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - vlc_ftcache_glyph_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: vlc_ftcache_Glyph_Init
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/ftcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vlc_ftcache_Glyph_Init( vlc_ftcache_glyph_t *g )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_lru_Get
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ftcache
    - psz_key
    argTypes:
    - vlc_ftcache_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: vlc_ftcache_GetCustomGlyph
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/ftcache.c
    functionUses: 0
    functionsReached:
    - vlc_lru_Get
    linkageType: ''
    returnType: vlc_ftcache_custom_glyph_ref_t
    signature: vlc_ftcache_custom_glyph_ref_t vlc_ftcache_GetCustomGlyph( vlc_ftcache_t
      *ftcache, const char *psz_key )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:276,1
    - Dst: vlc_lru_Get
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:276,1
    - Dst: malloc
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:277,1
    - Dst: vlc_lru_Insert
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ftcache
    - psz_key
    - glyph
    argTypes:
    - vlc_ftcache_t*
    - char*
    - FT_Glyph
    assertStmts:
    - condition: (!vlc_lru_Get( ftcache->glyphs_lrucache, psz_key ))
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/vlc/modules/text_renderer/freetype/ftcache.c
    constantsTouched: []
    func_position:
      end: 285
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 285
    functionName: vlc_ftcache_AddCustomGlyph
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/ftcache.c
    functionUses: 0
    functionsReached:
    - assert
    - malloc
    - vlc_lru_Get
    - vlc_lru_Insert
    linkageType: ''
    returnType: vlc_ftcache_custom_glyph_ref_t
    signature: vlc_ftcache_custom_glyph_ref_t vlc_ftcache_AddCustomGlyph( vlc_ftcache_t
      *ftcache, const char *psz_key, FT_Glyph glyph )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:291,1
    - Dst: FT_Done_Glyph
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:294,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:295,1
    - Dst: vlc_ftcache_Custom_Glyph_Init
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - g
    argTypes:
    - vlc_ftcache_custom_glyph_t*
    assertStmts:
    - condition: (g->ref->refcount)
      pos:
        line_end: 290
        line_start: 290
        source_file: /src/vlc/modules/text_renderer/freetype/ftcache.c
    constantsTouched: []
    func_position:
      end: 299
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 299
    functionName: vlc_ftcache_Custom_Glyph_Release
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/ftcache.c
    functionUses: 3
    functionsReached:
    - FT_Done_Glyph
    - assert
    - free
    - vlc_ftcache_Custom_Glyph_Init
    linkageType: ''
    returnType: void
    signature: void vlc_ftcache_Custom_Glyph_Release( vlc_ftcache_custom_glyph_t *g
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - vlc_ftcache_custom_glyph_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: vlc_ftcache_Custom_Glyph_Init
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/ftcache.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vlc_ftcache_Custom_Glyph_Init( vlc_ftcache_custom_glyph_t *g )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:315,1
    - Dst: vlc_ftcache_GetCustomGlyph
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:325,1
    - Dst: createOutline
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:332,1
    - Dst: vlc_ftcache_AddCustomGlyph
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:333,1
    - Dst: FT_Done_Glyph
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:336,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/ftcache.c:340,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 9
    argNames:
    - ftcache
    - faceid
    - index
    - metrics
    - style
    - radius
    - sourceglyph
    - priv
    - p_ref
    argTypes:
    - vlc_ftcache_t*
    - vlc_face_id_t*
    - FT_UInt
    - vlc_ftcache_metrics_t*
    - FT_Long
    - int
    - FT_Glyph
    - void*
    - vlc_ftcache_custom_glyph_ref_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 342
    functionName: vlc_ftcache_GetOutlinedGlyph
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/ftcache.c
    functionUses: 1
    functionsReached:
    - asprintf
    - vlc_ftcache_AddCustomGlyph
    - free
    - createOutline
    - vlc_ftcache_GetCustomGlyph
    - FT_Done_Glyph
    linkageType: ''
    returnType: FT_Glyph
    signature: "FT_Glyph vlc_ftcache_GetOutlinedGlyph( vlc_ftcache_t *ftcache, const
      vlc_face_id_t *faceid,\n                                       FT_UInt index,
      const vlc_ftcache_metrics_t *metrics,\n                                       FT_Long
      style, int radius, const FT_Glyph sourceglyph,\n                                       int(*createOutline)(FT_Glyph,
      FT_Glyph *, void *),\n                                       void *priv,\n                                       vlc_ftcache_custom_glyph_ref_t
      *p_ref )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/lru.c:50,1
    - Dst: struct vlc_lru*::releaseValue
      Src: /src/vlc/modules/text_renderer/freetype/lru.c:52,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/lru.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - value
    - priv
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: vlc_lru_releaseentry
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/lru.c
    functionUses: 0
    functionsReached:
    - free
    - struct vlc_lru*::releaseValue
    linkageType: ''
    returnType: void
    signature: void vlc_lru_releaseentry( void *value, void *priv )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/text_renderer/freetype/lru.c:59,1
    - Dst: vlc_dictionary_init
      Src: /src/vlc/modules/text_renderer/freetype/lru.c:64,1
    - Dst: vlc_list_init
      Src: /src/vlc/modules/text_renderer/freetype/lru.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - max
    - priv
    argTypes:
    - unsigned
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: vlc_lru_New
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/lru.c
    functionUses: 2
    functionsReached:
    - vlc_dictionary_init
    - malloc
    - vlc_list_init
    linkageType: ''
    returnType: vlc_lru
    signature: "vlc_lru * vlc_lru_New( unsigned max,\n                       void(*releaseValue)(void
      *, void *), void *priv )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_dictionary_clear
      Src: /src/vlc/modules/text_renderer/freetype/lru.c:74,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/lru.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - lru
    argTypes:
    - vlc_lru*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: vlc_lru_Release
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/lru.c
    functionUses: 2
    functionsReached:
    - free
    - vlc_dictionary_clear
    linkageType: ''
    returnType: void
    signature: void vlc_lru_Release( vlc_lru *lru )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_dictionary_has_key
      Src: /src/vlc/modules/text_renderer/freetype/lru.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lru
    - psz_key
    argTypes:
    - vlc_lru*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: vlc_lru_HasKey
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/lru.c
    functionUses: 1
    functionsReached:
    - vlc_dictionary_has_key
    linkageType: ''
    returnType: bool
    signature: bool vlc_lru_HasKey( vlc_lru *lru, const char *psz_key )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_dictionary_value_for_key
      Src: /src/vlc/modules/text_renderer/freetype/lru.c:85,1
    - Dst: vlc_list_is_first
      Src: /src/vlc/modules/text_renderer/freetype/lru.c:88,1
    - Dst: vlc_list_is_last
      Src: /src/vlc/modules/text_renderer/freetype/lru.c:90,1
    - Dst: vlc_list_entry
      Src: /src/vlc/modules/text_renderer/freetype/lru.c:92,1
    - Dst: vlc_list_remove
      Src: /src/vlc/modules/text_renderer/freetype/lru.c:94,1
    - Dst: vlc_list_add_after
      Src: /src/vlc/modules/text_renderer/freetype/lru.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - lru
    - psz_key
    argTypes:
    - vlc_lru*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 100
    functionName: vlc_lru_Get
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/lru.c
    functionUses: 3
    functionsReached:
    - vlc_dictionary_value_for_key
    - vlc_list_is_first
    - vlc_list_remove
    - vlc_list_is_last
    - vlc_list_entry
    - vlc_list_add_after
    linkageType: ''
    returnType: void
    signature: void * vlc_lru_Get( vlc_lru *lru, const char *psz_key )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/text_renderer/freetype/lru.c:104,1
    - Dst: vlc_lru*::releaseValue
      Src: /src/vlc/modules/text_renderer/freetype/lru.c:107,1
    - Dst: strdup
      Src: /src/vlc/modules/text_renderer/freetype/lru.c:110,1
    - Dst: vlc_lru*::releaseValue
      Src: /src/vlc/modules/text_renderer/freetype/lru.c:113,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/lru.c:114,1
    - Dst: vlc_list_init
      Src: /src/vlc/modules/text_renderer/freetype/lru.c:118,1
    - Dst: vlc_list_is_empty
      Src: /src/vlc/modules/text_renderer/freetype/lru.c:120,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/text_renderer/freetype/lru.c:122,1
    - Dst: vlc_list_add_after
      Src: /src/vlc/modules/text_renderer/freetype/lru.c:123,1
    - Dst: vlc_dictionary_keys_count
      Src: /src/vlc/modules/text_renderer/freetype/lru.c:125,1
    - Dst: vlc_list_entry
      Src: /src/vlc/modules/text_renderer/freetype/lru.c:128,1
    - Dst: vlc_list_remove
      Src: /src/vlc/modules/text_renderer/freetype/lru.c:129,1
    - Dst: vlc_dictionary_remove_value_for_key
      Src: /src/vlc/modules/text_renderer/freetype/lru.c:130,1
    - Dst: vlc_lru_releaseentry
      Src: /src/vlc/modules/text_renderer/freetype/lru.c:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - lru
    - psz_key
    - value
    argTypes:
    - vlc_lru*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 133
    functionName: vlc_lru_Insert
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/lru.c
    functionUses: 2
    functionsReached:
    - strdup
    - vlc_lru_releaseentry
    - calloc
    - free
    - vlc_list_is_empty
    - vlc_list_remove
    - vlc_dictionary_remove_value_for_key
    - vlc_dictionary_insert
    - vlc_list_init
    - vlc_lru*::releaseValue
    - vlc_list_entry
    - vlc_list_add_after
    - vlc_dictionary_keys_count
    linkageType: ''
    returnType: void
    signature: void vlc_lru_Insert( vlc_lru *lru, const char *psz_key, void *value
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_list_foreach
      Src: /src/vlc/modules/text_renderer/freetype/lru.c:140,1
    - Dst: func
      Src: /src/vlc/modules/text_renderer/freetype/lru.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lru
    - priv
    argTypes:
    - vlc_lru*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: vlc_lru_Apply
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/lru.c
    functionUses: 1
    functionsReached:
    - func
    - vlc_list_foreach
    linkageType: ''
    returnType: void
    signature: "void vlc_lru_Apply( vlc_lru *lru,\n                    void(*func)(void
      *, const char *, void *),\n                    void *priv )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderNextAttr
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:60,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:64,1
    - Dst: atoi
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:65,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:66,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:67,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:74,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:78,1
    - Dst: strspn
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:90,1
    - Dst: strlen
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:92,1
    - Dst: malloc
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:102,1
    - Dst: memcpy
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:105,1
    - Dst: memcpy
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:107,1
    - Dst: NewFont
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:110,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 33
    argCount: 3
    argNames:
    - fs
    - p_xml
    - p_family
    argTypes:
    - vlc_font_select_t*
    - xml_reader_t*
    - vlc_family_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 115
    functionName: Android_ParseFont
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/android.c
    functionUses: 0
    functionsReached:
    - atoi
    - strlen
    - strspn
    - memcpy
    - malloc
    - xml_ReaderNextAttr
    - strcasecmp
    - msg_Warn
    - NewFont
    - xml_ReaderNextNode
    linkageType: ''
    returnType: int
    signature: "int Android_ParseFont( vlc_font_select_t *fs, xml_reader_t *p_xml,\n
      \                             vlc_family_t *p_family )"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderNextAttr
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:127,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:129,1
    - Dst: LowercaseDup
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:142,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:143,1
    - Dst: vlc_dictionary_value_for_key
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:146,1
    - Dst: NewFamilyFromMixedCase
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:158,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:162,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:164,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:167,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:172,1
    - Dst: Android_ParseFont
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:173,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:178,1
    - Dst: strcasestr
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:180,1
    - Dst: NewFamily
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:187,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:190,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:202,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 2
    argNames:
    - fs
    - p_xml
    argTypes:
    - vlc_font_select_t*
    - xml_reader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 204
    functionName: Android_Nougat_ParseFamily
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/android.c
    functionUses: 0
    functionsReached:
    - vlc_dictionary_value_for_key
    - NewFamilyFromMixedCase
    - NewFamily
    - free
    - Android_ParseFont
    - LowercaseDup
    - xml_ReaderNextAttr
    - strcasecmp
    - msg_Warn
    - strcasestr
    - unlikely
    - xml_ReaderNextNode
    linkageType: ''
    returnType: int
    signature: int Android_Nougat_ParseFamily( vlc_font_select_t *fs, xml_reader_t
      *p_xml )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderNextAttr
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:217,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:221,1
    - Dst: atoi
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:222,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:223,1
    - Dst: LowercaseDup
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:224,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:225,1
    - Dst: LowercaseDup
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:226,1
    - Dst: vlc_dictionary_value_for_key
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:235,1
    - Dst: vlc_dictionary_value_for_key
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:238,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:239,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:242,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:243,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 2
    argNames:
    - fs
    - p_xml
    argTypes:
    - vlc_font_select_t*
    - xml_reader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 245
    functionName: Android_ParseAlias
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/android.c
    functionUses: 0
    functionsReached:
    - atoi
    - vlc_dictionary_value_for_key
    - free
    - LowercaseDup
    - xml_ReaderNextAttr
    - vlc_dictionary_insert
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int Android_ParseAlias( vlc_font_select_t *fs, xml_reader_t *p_xml
      )
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:256,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:270,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:272,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:276,1
    - Dst: LowercaseDup
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:280,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:281,1
    - Dst: vlc_dictionary_value_for_key
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:286,1
    - Dst: NewFamily
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:290,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:292,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:294,1
    - Dst: vlc_dictionary_value_for_key
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:301,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:302,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:303,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:311,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:313,1
    - Dst: NewFamily
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:322,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:325,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:343,1
    - Dst: asprintf
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:348,1
    - Dst: NewFont
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:349,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:357,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:361,1
    - Dst: strcasestr
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:369,1
    - Dst: NewFamily
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:372,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:375,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:387,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 76
    argCount: 2
    argNames:
    - fs
    - p_xml
    argTypes:
    - vlc_font_select_t*
    - xml_reader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 389
    functionName: Android_Legacy_ParseFamily
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/android.c
    functionUses: 0
    functionsReached:
    - vlc_dictionary_value_for_key
    - asprintf
    - NewFamily
    - free
    - LowercaseDup
    - vlc_dictionary_insert
    - strcasecmp
    - msg_Warn
    - NewFont
    - strcasestr
    - unlikely
    - xml_ReaderNextNode
    linkageType: ''
    returnType: int
    signature: int Android_Legacy_ParseFamily( vlc_font_select_t *fs, xml_reader_t
      *p_xml )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_NewURL
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:395,1
    - Dst: xml_ReaderCreate
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:400,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:404,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:410,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:415,1
    - Dst: Android_Nougat_ParseFamily
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:418,1
    - Dst: Android_Legacy_ParseFamily
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:419,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:421,1
    - Dst: Android_ParseAlias
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:423,1
    - Dst: xml_ReaderDelete
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:429,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:430,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - fs
    - psz_path
    - b_new_format
    argTypes:
    - vlc_font_select_t*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 391
    functionDepth: 4
    functionLinenumber: 391
    functionLinenumberEnd: 432
    functionName: Android_ParseSystemFonts
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/android.c
    functionUses: 0
    functionsReached:
    - Android_Legacy_ParseFamily
    - Android_ParseAlias
    - vlc_stream_Delete
    - xml_ReaderCreate
    - xml_ReaderDelete
    - strcasecmp
    - Android_Nougat_ParseFamily
    - xml_ReaderNextNode
    - vlc_stream_NewURL
    linkageType: ''
    returnType: int
    signature: "int Android_ParseSystemFonts( vlc_font_select_t *fs, const char *psz_path,\n
      \                                    bool b_new_format )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Android_ParseSystemFonts
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:436,1
    - Dst: Android_ParseSystemFonts
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:438,1
    - Dst: Android_ParseSystemFonts
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:440,1
    - Dst: Android_ParseSystemFonts
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:442,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - fs
    argTypes:
    - vlc_font_select_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 434
    functionDepth: 5
    functionLinenumber: 434
    functionLinenumberEnd: 447
    functionName: Android_Prepare
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/android.c
    functionUses: 1
    functionsReached:
    - Android_ParseSystemFonts
    linkageType: ''
    returnType: int
    signature: int Android_Prepare( vlc_font_select_t *fs )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_dictionary_value_for_key
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - fs
    - psz_lcname
    - pp_result
    argTypes:
    - vlc_font_select_t*
    - char*
    - vlc_family_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 457
    functionName: Android_GetFamily
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/android.c
    functionUses: 0
    functionsReached:
    - vlc_dictionary_value_for_key
    linkageType: ''
    returnType: int
    signature: "int Android_GetFamily( vlc_font_select_t *fs, const char *psz_lcname,\n
      \                      const vlc_family_t **pp_result )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:462,1
    - Dst: vlc_dictionary_value_for_key
      Src: /src/vlc/modules/text_renderer/freetype/fonts/android.c:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - fs
    - psz_lcname
    - codepoint
    - pp_result
    argTypes:
    - vlc_font_select_t*
    - char*
    - uni_char_t
    - vlc_family_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 469
    functionName: Android_GetFallbacks
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/android.c
    functionUses: 0
    functionsReached:
    - vlc_dictionary_value_for_key
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int Android_GetFallbacks( vlc_font_select_t *fs, const char *psz_lcname,\n
      \                         uni_char_t codepoint, vlc_family_t **pp_result )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTFontDescriptorCopyAttribute
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:45,1
    - Dst: CFURLCopyFileSystemPath
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:48,1
    - Dst: CFRelease
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:50,1
    - Dst: FromCFString
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:53,1
    - Dst: CFRelease
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:54,1
    - Dst: CFRelease
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - fontDescriptor
    argTypes:
    - CTFontDescriptorRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 57
    functionName: getPathForFontDescription
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c
    functionUses: 0
    functionsReached:
    - CFURLCopyFileSystemPath
    - CTFontDescriptorCopyAttribute
    - FromCFString
    - CFRelease
    linkageType: ''
    returnType: char
    signature: char * getPathForFontDescription(CTFontDescriptorRef fontDescriptor)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CFURLCreateFromFileSystemRepresentation
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:61,1
    - Dst: strlen
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:61,1
    - Dst: CTFontManagerCreateFontDescriptorsFromURL
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:65,1
    - Dst: CFRelease
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:67,1
    - Dst: CFArrayGetCount
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:70,1
    - Dst: CFStringCreateWithCString
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:71,1
    - Dst: CFRelease
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:73,1
    - Dst: CFRelease
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:74,1
    - Dst: CFArrayGetValueAtIndex
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:79,1
    - Dst: CTFontDescriptorCopyAttribute
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:80,1
    - Dst: CTFontDescriptorCopyAttribute
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:81,1
    - Dst: CTFontDescriptorCopyAttribute
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:82,1
    - Dst: CFStringCompare
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:84,1
    - Dst: CFStringCompare
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:85,1
    - Dst: CFStringCompare
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:86,1
    - Dst: CFRelease
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:90,1
    - Dst: CFRelease
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:91,1
    - Dst: CFRelease
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:92,1
    - Dst: CFRelease
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:98,1
    - Dst: CFRelease
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:99,1
    - Dst: CFRelease
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:100,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - psz_filePath
    - psz_family
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 102
    functionName: getFontIndexInFontFile
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c
    functionUses: 0
    functionsReached:
    - CTFontManagerCreateFontDescriptorsFromURL
    - CFRelease
    - strlen
    - CFStringCreateWithCString
    - CFStringCompare
    - CTFontDescriptorCopyAttribute
    - CFURLCreateFromFileSystemRepresentation
    - CFArrayGetValueAtIndex
    - CFArrayGetCount
    linkageType: ''
    returnType: CFIndex
    signature: CFIndex getFontIndexInFontFile(const char* psz_filePath, const char*
      psz_family)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTFontDescriptorCopyAttribute
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:107,1
    - Dst: CFDictionaryGetValue
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:108,1
    - Dst: CFNumberGetValue
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:110,1
    - Dst: CFDictionaryGetValue
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:113,1
    - Dst: CFNumberGetValue
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:115,1
    - Dst: CTFontDescriptorCopyAttribute
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:120,1
    - Dst: FromCFString
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:121,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:122,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:123,1
    - Dst: CFRelease
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:125,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:127,1
    - Dst: NewFont
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:129,1
    - Dst: CFRelease
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - fs
    - iter
    - path
    - p_family
    - index
    argTypes:
    - vlc_font_select_t*
    - CTFontDescriptorRef
    - char*
    - vlc_family_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 132
    functionName: addNewFontToFamily
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c
    functionUses: 0
    functionsReached:
    - CFRelease
    - CFDictionaryGetValue
    - free
    - CTFontDescriptorCopyAttribute
    - FromCFString
    - msg_Dbg
    - NewFont
    - CFNumberGetValue
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void addNewFontToFamily(vlc_font_select_t *fs, CTFontDescriptorRef
      iter, char *path, vlc_family_t *p_family, int index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:159,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - psz_family
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 165
    functionName: CoreText_TranslateGenericFamily
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - strcasecmp
    linkageType: ''
    returnType: char
    signature: char *CoreText_TranslateGenericFamily(const char *psz_family)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CTFontDescriptorCopyAttribute
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:171,1
    - Dst: CFDictionaryGetValue
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:174,1
    - Dst: CFNumberGetValue
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:177,1
    - Dst: CFDictionaryGetValue
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:184,1
    - Dst: CFNumberGetValue
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:187,1
    - Dst: fabs
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:188,1
    - Dst: CFRelease
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:191,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - desc
    argTypes:
    - CTFontDescriptorRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 194
    functionName: ScoreCTFontMatchResults
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c
    functionUses: 0
    functionsReached:
    - CFRelease
    - CFDictionaryGetValue
    - CTFontDescriptorCopyAttribute
    - fabs
    - CFNumberGetValue
    linkageType: ''
    returnType: float
    signature: float ScoreCTFontMatchResults(CTFontDescriptorRef desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:199,1
    - Dst: ScoreCTFontMatchResults
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:200,1
    - Dst: ScoreCTFontMatchResults
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - desc1
    - desc2
    - ctx
    argTypes:
    - CTFontDescriptorRef
    - CTFontDescriptorRef
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 206
    functionName: SortCTFontMatchResults
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c
    functionUses: 0
    functionsReached:
    - ScoreCTFontMatchResults
    - VLC_UNUSED
    linkageType: ''
    returnType: CFComparisonResult
    signature: "CFComparisonResult SortCTFontMatchResults(CTFontDescriptorRef desc1,\n
      \                                                CTFontDescriptorRef desc2,
      void *ctx)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:213,1
    - Dst: CoreText_TranslateGenericFamily
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:217,1
    - Dst: vlc_dictionary_value_for_key
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:220,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:235,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:236,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:239,1
    - Dst: CFStringCreateWithCString
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:242,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:245,1
    - Dst: CFDictionaryCreateMutable
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:246,1
    - Dst: CFDictionaryAddValue
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:247,1
    - Dst: CTFontDescriptorCreateWithAttributes
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:248,1
    - Dst: CFArrayCreate
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:251,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:253,1
    - Dst: CTFontCollectionCreateWithFontDescriptors
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:255,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:257,1
    - Dst: CTFontCollectionCreateMatchingFontDescriptorsSortedWithCallback
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:261,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:264,1
    - Dst: CFArrayGetCount
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:268,1
    - Dst: NewFamily
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:273,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:274,1
    - Dst: CFArrayGetValueAtIndex
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:279,1
    - Dst: getPathForFontDescription
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:280,1
    - Dst: FREENULL
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:284,1
    - Dst: getFontIndexInFontFile
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:289,1
    - Dst: FREENULL
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:291,1
    - Dst: addNewFontToFamily
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:295,1
    - Dst: CFRelease
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:302,1
    - Dst: CFRelease
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:305,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:308,1
    - Dst: CFRelease
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:309,1
    - Dst: CFRelease
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:310,1
    - Dst: CFRelease
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:313,1
    - Dst: CFRelease
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:314,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 3
    argNames:
    - fs
    - psz_lcname
    - pp_result
    argTypes:
    - vlc_font_select_t*
    - char*
    - vlc_family_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 208
    functionDepth: 3
    functionLinenumber: 208
    functionLinenumberEnd: 318
    functionName: CoreText_GetFamily
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c
    functionUses: 0
    functionsReached:
    - vlc_dictionary_value_for_key
    - CFArrayCreate
    - CTFontDescriptorCreateWithAttributes
    - CFStringCreateWithCString
    - CTFontCollectionCreateWithFontDescriptors
    - FREENULL
    - CFArrayGetCount
    - addNewFontToFamily
    - CFRelease
    - ARRAY_SIZE
    - getFontIndexInFontFile
    - msg_Dbg
    - msg_Warn
    - CTFontCollectionCreateMatchingFontDescriptorsSortedWithCallback
    - CoreText_TranslateGenericFamily
    - NewFamily
    - CFDictionaryAddValue
    - getPathForFontDescription
    - CFArrayGetValueAtIndex
    - CFDictionaryCreateMutable
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int CoreText_GetFamily(vlc_font_select_t *fs, const char *psz_lcname,\n
      \                      const vlc_family_t **pp_result)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:324,1
    - Dst: CoreText_TranslateGenericFamily
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:328,1
    - Dst: CFStringCreateWithCString
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:336,1
    - Dst: CTFontCreateWithName
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:339,1
    - Dst: OSSwapHostToLittleInt32
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:340,1
    - Dst: CFStringCreateWithBytes
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:341,1
    - Dst: CTFontCreateForString
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:346,1
    - Dst: CFRangeMake
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:346,1
    - Dst: CTFontCopyFamilyName
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:347,1
    - Dst: FromCFString
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:350,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:352,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:356,1
    - Dst: LowercaseDup
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:359,1
    - Dst: vlc_dictionary_value_for_key
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:361,1
    - Dst: NewFamily
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:367,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:368,1
    - Dst: CTFontCopyPostScriptName
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:372,1
    - Dst: CTFontDescriptorCreateWithNameAndSize
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:373,1
    - Dst: getPathForFontDescription
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:374,1
    - Dst: getFontIndexInFontFile
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:383,1
    - Dst: addNewFontToFamily
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:388,1
    - Dst: strdup
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:388,1
    - Dst: CFRelease
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:393,1
    - Dst: CFRelease
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:394,1
    - Dst: CFRelease
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:395,1
    - Dst: CFRelease
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:396,1
    - Dst: CFRelease
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:397,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:398,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:399,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:400,1
    - Dst: CFRelease
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:402,1
    - Dst: CFRelease
      Src: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c:404,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 4
    argNames:
    - fs
    - psz_lcname
    - codepoint
    - pp_result
    argTypes:
    - vlc_font_select_t*
    - char*
    - uni_char_t
    - vlc_family_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 320
    functionDepth: 3
    functionLinenumber: 320
    functionLinenumberEnd: 408
    functionName: CoreText_GetFallbacks
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/darwin.c
    functionUses: 0
    functionsReached:
    - vlc_dictionary_value_for_key
    - CTFontCopyFamilyName
    - CFStringCreateWithCString
    - CTFontDescriptorCreateWithNameAndSize
    - addNewFontToFamily
    - CFRelease
    - getFontIndexInFontFile
    - CFStringCreateWithBytes
    - msg_Dbg
    - OSSwapHostToLittleInt32
    - msg_Warn
    - CTFontCopyPostScriptName
    - CFRangeMake
    - CoreText_TranslateGenericFamily
    - strdup
    - LowercaseDup
    - NewFamily
    - free
    - getPathForFontDescription
    - CTFontCreateWithName
    - FromCFString
    - CTFontCreateForString
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int CoreText_GetFallbacks(vlc_font_select_t *fs, const char *psz_lcname,\n
      \                         uni_char_t codepoint, vlc_family_t **pp_result)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DWriteCreateFactory
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:54,1
    - Dst: __uuidof
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:54,1
    - Dst: runtime_error
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:56,1
    - Dst: GetSystemFontCollection
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:58,1
    - Dst: runtime_error
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:59,1
    - Dst: GetSystemFontFallback
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:61,1
    - Dst: runtime_error
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:62,1
    - Dst: CreateNumberSubstitution
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:64,1
    - Dst: runtime_error
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:66,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 67
    functionName: dw_sys_t
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp
    functionUses: 0
    functionsReached:
    - GetSystemFontCollection
    - GetSystemFontFallback
    - DWriteCreateFactory
    - runtime_error
    - __uuidof
    - CreateNumberSubstitution
    linkageType: ''
    returnType: void
    signature: void dw_sys_t( )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:71,1
    - Dst: at
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:73,1
    - Dst: IDWriteFontFileStream*::Release
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:75,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: ~dw_sys_t()
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp
    functionUses: 0
    functionsReached:
    - free
    - size
    - at
    - IDWriteFontFileStream*::Release
    linkageType: ''
    returnType: void
    signature: void ~dw_sys_t()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:99,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - psz_family
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: DWrite_TranslateGenericFamily
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - strcasecmp
    linkageType: ''
    returnType: char
    signature: char *DWrite_TranslateGenericFamily( const char *psz_family )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pp_list
    - p_family
    argTypes:
    - vlc_family_t**
    - vlc_family_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: AppendFamily
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AppendFamily( vlc_family_t **pp_list, vlc_family_t *p_family )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dw_sys_t::dw_sys_t
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:121,1
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:125,1
    - Dst: what
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:125,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - fs
    argTypes:
    - vlc_font_select_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 133
    functionName: InitDWrite
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp
    functionUses: 1
    functionsReached:
    - dw_sys_t::dw_sys_t
    - msg_Dbg
    - what
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int InitDWrite( vlc_font_select_t *fs )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fs
    argTypes:
    - vlc_font_select_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: ReleaseDWrite
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ReleaseDWrite( vlc_font_select_t *fs )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dw_sys_t*::streams::size
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:148,1
    - Dst: dw_sys_t*::streams::at
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - fs
    - i_index
    - pp_stream
    argTypes:
    - vlc_font_select_t*
    - int
    - FT_Stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: DWrite_GetFontStream
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp
    functionUses: 1
    functionsReached:
    - dw_sys_t*::streams::size
    - dw_sys_t*::streams::at
    linkageType: ''
    returnType: int
    signature: int DWrite_GetFontStream( vlc_font_select_t *fs, int i_index, FT_Stream
      *pp_stream )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - i_codepoint
    - p_out
    - i_length
    argTypes:
    - uint32_t
    - wchar_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 170
    functionName: ToUTF16
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ToUTF16( uint32_t i_codepoint, wchar_t *p_out, uint32_t *i_length
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IDWriteFontFileStream*::ReadFileFragment
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:182,1
    - Dst: memcpy
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:185,1
    - Dst: IDWriteFontFileStream*::ReleaseFileFragment
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - p_stream
    - l_offset
    - p_buffer
    - l_count
    argTypes:
    - FT_Stream
    - unsigned long
    - unsigned char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 190
    functionName: DWrite_Read
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp
    functionUses: 0
    functionsReached:
    - IDWriteFontFileStream*::ReleaseFileFragment
    - IDWriteFontFileStream*::ReadFileFragment
    - memcpy
    linkageType: ''
    returnType: unsigned long
    signature: "unsigned long DWrite_Read( FT_Stream p_stream, unsigned long l_offset,\n
      \                                     unsigned char *p_buffer, unsigned long
      l_count )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: DWrite_Close
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DWrite_Close( FT_Stream )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:208,1
    - Dst: memcpy
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_substitution
    - pwsz_text
    - i_text_length
    argTypes:
    - IDWriteNumberSubstitution*
    - wchar_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 211
    functionName: TextSource::TextSource
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: "void TextSource( IDWriteNumberSubstitution *p_substitution,\n                const
      wchar_t *pwsz_text, uint32_t i_text_length )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 212
    functionName: ~TextSource()
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TextSource()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ppwsz_locale_name
    argTypes:
    - WCHAR**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: TextSource::GetLocaleName
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GetLocaleName( UINT32, UINT32 *,\n                                        const
      WCHAR **ppwsz_locale_name ) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TextSource::AddRef
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pp_substitution
    argTypes:
    - IDWriteNumberSubstitution**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 227
    functionName: TextSource::GetNumberSubstitution
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp
    functionUses: 0
    functionsReached:
    - TextSource::AddRef
    linkageType: ''
    returnType: void
    signature: "void GetNumberSubstitution( UINT32, UINT32 *,\n                                        IDWriteNumberSubstitution
      **pp_substitution ) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: TextSource::GetParagraphReadingDirection
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetParagraphReadingDirection() noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - i_text_position
    - ppwsz_text
    - pi_text_length
    argTypes:
    - UINT32
    - WCHAR**
    - UINT32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 245
    functionName: TextSource::GetTextAtPosition
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GetTextAtPosition( UINT32 i_text_position,\n                                                         const
      WCHAR **ppwsz_text,\n                                                         UINT32
      *pi_text_length ) noexcept"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - i_text_position
    - ppwsz_text
    - pi_text_length
    argTypes:
    - UINT32
    - WCHAR**
    - UINT32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: TextSource::GetTextBeforePosition
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GetTextBeforePosition( UINT32 i_text_position,\n                                                             const
      WCHAR **ppwsz_text,\n                                                             UINT32
      *pi_text_length ) noexcept"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: __uuidof
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:273,1
    - Dst: TextSource::AddRef
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - riid
    - pp_obj
    argTypes:
    - REFIID
    - LPVOID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 280
    functionName: TextSource::QueryInterface
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp
    functionUses: 0
    functionsReached:
    - TextSource::AddRef
    - __uuidof
    linkageType: ''
    returnType: void
    signature: void QueryInterface( REFIID riid, LPVOID *pp_obj )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedIncrement
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: TextSource::AddRef
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp
    functionUses: 2
    functionsReached:
    - InterlockedIncrement
    linkageType: ''
    returnType: void
    signature: void AddRef()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedDecrement
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 296
    functionName: TextSource::Release
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp
    functionUses: 0
    functionsReached:
    - InterlockedDecrement
    linkageType: ''
    returnType: void
    signature: void Release()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: regex_replace
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:306,1
    - Dst: wstring::c_str
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 309
    functionName: SanitizeName
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp
    functionUses: 0
    functionsReached:
    - regex_replace
    - wstring::c_str
    linkageType: ''
    returnType: wstring
    signature: wstring SanitizeName( const wstring &name )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SanitizeName
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:320,1
    - Dst: regex_match
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:325,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:328,1
    - Dst: wstring::c_str
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:328,1
    - Dst: wstring::c_str
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:328,1
    - Dst: str
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - fs
    - full_name
    - partial_name
    argTypes:
    - vlc_font_select_t*
    - wstring
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 334
    functionName: DWrite_PartialMatch
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - regex_match
    - SanitizeName
    - msg_Dbg
    - str
    linkageType: ''
    returnType: bool
    signature: "bool DWrite_PartialMatch( vlc_font_select_t *fs, const wstring &full_name,\n
      \                                const wstring &partial_name, wstring *p_unmatched
      = nullptr )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemDefaultLocaleName
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:347,1
    - Dst: GetUserDefaultLocaleName
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:348,1
    - Dst: ComPtr< IDWriteLocalizedStrings >::FindLocaleName
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:362,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:364,1
    - Dst: ComPtr< IDWriteLocalizedStrings >::GetStringLength
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:366,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:368,1
    - Dst: wstring::resize
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:370,1
    - Dst: ComPtr< IDWriteLocalizedStrings >::GetString
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:371,1
    - Dst: wstring::size
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:371,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:373,1
    - Dst: DWrite_PartialMatch
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:377,1
    - Dst: DWrite_PartialMatch
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:379,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - fs
    - p_names
    - name
    - b_partial
    argTypes:
    - vlc_font_select_t*
    - ComPtr< IDWriteLocalizedStrings >
    - wstring
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 393
    functionName: DWrite_PartialMatch
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp
    functionUses: 1
    functionsReached:
    - wstring::resize
    - ComPtr< IDWriteLocalizedStrings >::FindLocaleName
    - GetUserDefaultLocaleName
    - DWrite_PartialMatch
    - GetSystemDefaultLocaleName
    - wstring::size
    - SUCCEEDED
    - ComPtr< IDWriteLocalizedStrings >::GetString
    - ComPtr< IDWriteLocalizedStrings >::GetStringLength
    linkageType: ''
    returnType: bool
    signature: "bool DWrite_PartialMatch( vlc_font_select_t *fs, ComPtr< IDWriteLocalizedStrings
      > &p_names,\n                                 const wstring &name, bool b_partial,
      wstring *p_unmatched = nullptr )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wstring::empty
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:400,1
    - Dst: IDWriteFontFamily*::GetFontCount
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:402,1
    - Dst: FAILED
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:408,1
    - Dst: IDWriteFontFamily*::GetFont
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:408,1
    - Dst: runtime_error
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:409,1
    - Dst: FAILED
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:411,1
    - Dst: ComPtr::GetFaceNames
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:411,1
    - Dst: runtime_error
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:412,1
    - Dst: DWrite_PartialMatch
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:414,1
    - Dst: vector::push_back
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:415,1
    - Dst: FAILED
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:442,1
    - Dst: IDWriteFontFamily*::GetFirstMatchingFont
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:442,1
    - Dst: runtime_error
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:443,1
    - Dst: vector::push_back
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:445,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 3
    argNames:
    - fs
    - p_dw_family
    - face_name
    argTypes:
    - vlc_font_select_t*
    - IDWriteFontFamily*
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 450
    functionName: DWrite_GetFonts
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp
    functionUses: 0
    functionsReached:
    - IDWriteFontFamily*::GetFirstMatchingFont
    - FAILED
    - DWrite_PartialMatch
    - runtime_error
    - IDWriteFontFamily*::GetFontCount
    - wstring::empty
    - ComPtr::GetFaceNames
    - IDWriteFontFamily*::GetFont
    - vector::push_back
    linkageType: ''
    returnType: vector< ComPtr< IDWriteFont > >
    signature: "vector< ComPtr< IDWriteFont > > DWrite_GetFonts( vlc_font_select_t
      *fs, IDWriteFontFamily *p_dw_family,\n                                                        const
      wstring &face_name )"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: DWrite_GetFonts
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:455,1
    - Dst: vector::size
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:464,1
    - Dst: ComPtr::GetStyle
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:469,1
    - Dst: ComPtr::GetWeight
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:472,1
    - Dst: ComPtr::GetStyle
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:473,1
    - Dst: abs
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:481,1
    - Dst: GetWeight
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:481,1
    - Dst: abs
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:481,1
    - Dst: ComPtr::GetWeight
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:481,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:483,1
    - Dst: ComPtr::GetWeight
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:484,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:485,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:490,1
    - Dst: ComPtr::GetWeight
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:491,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:492,1
    - Dst: IDWriteFont*::CreateFontFace
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:513,1
    - Dst: runtime_error
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:514,1
    - Dst: ComPtr::GetFiles
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:517,1
    - Dst: runtime_error
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:518,1
    - Dst: ComPtr::GetFiles
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:521,1
    - Dst: runtime_error
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:522,1
    - Dst: ComPtr::GetIndex
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:524,1
    - Dst: ComPtr::GetLoader
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:526,1
    - Dst: runtime_error
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:527,1
    - Dst: ComPtr::GetReferenceKey
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:531,1
    - Dst: runtime_error
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:532,1
    - Dst: ComPtr::CreateStreamFromKey
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:535,1
    - Dst: runtime_error
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:536,1
    - Dst: ComPtr::GetFileSize
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:539,1
    - Dst: runtime_error
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:540,1
    - Dst: calloc
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:542,1
    - Dst: bad_alloc
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:543,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:545,1
    - Dst: vector< FT_Stream >::push_back
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:550,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:551,1
    - Dst: ComPtr::Detach
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:552,1
    - Dst: asprintf
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:555,1
    - Dst: vector< FT_Stream >::size
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:555,1
    - Dst: bad_alloc
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:556,1
    - Dst: NewFont
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:558,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 54
    argCount: 5
    argNames:
    - fs
    - p_dw_family
    - face_name
    - p_family
    - streams
    argTypes:
    - vlc_font_select_t*
    - IDWriteFontFamily*
    - wstring
    - vlc_family_t*
    - vector< FT_Stream >
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 452
    functionDepth: 3
    functionLinenumber: 452
    functionLinenumberEnd: 560
    functionName: DWrite_ParseFamily
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp
    functionUses: 0
    functionsReached:
    - ComPtr::CreateStreamFromKey
    - ComPtr::GetFileSize
    - ComPtr::Get
    - runtime_error
    - asprintf
    - ComPtr::GetStyle
    - vector::size
    - calloc
    - ComPtr::GetIndex
    - msg_Dbg
    - bad_alloc
    - vector< FT_Stream >::size
    - DWrite_GetFonts
    - ComPtr::GetWeight
    - ComPtr::GetLoader
    - ComPtr::Detach
    - IDWriteFont*::CreateFontFace
    - NewFont
    - ComPtr::GetFiles
    - GetWeight
    - vector< FT_Stream >::push_back
    - ComPtr::GetReferenceKey
    - free
    - abs
    linkageType: ''
    returnType: void
    signature: "void DWrite_ParseFamily( vlc_font_select_t *fs, IDWriteFontFamily
      *p_dw_family, const wstring &face_name,\n                                vlc_family_t
      *p_family, vector< FT_Stream > &streams )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DWrite_TranslateGenericFamily
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:571,1
    - Dst: vlc_dictionary_value_for_key
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:574,1
    - Dst: NewFamily
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:582,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:585,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:588,1
    - Dst: ToWide
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:590,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:591,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:595,1
    - Dst: dw_sys_t*::p_dw_system_fonts::FindFamilyName
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:595,1
    - Dst: FAILED
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:597,1
    - Dst: dw_sys_t*::p_dw_system_fonts::GetFontFamily
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:597,1
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:599,1
    - Dst: DWrite_ParseFamily
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:605,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:605,1
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:609,1
    - Dst: what
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:609,1
    - Dst: dw_sys_t*::p_dw_system_fonts::GetFontFamilyCount
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:628,1
    - Dst: FAILED
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:633,1
    - Dst: dw_sys_t*::p_dw_system_fonts::GetFontFamily
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:633,1
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:635,1
    - Dst: FAILED
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:639,1
    - Dst: ComPtr::GetFamilyNames
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:639,1
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:641,1
    - Dst: DWrite_PartialMatch
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:645,1
    - Dst: DWrite_ParseFamily
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:650,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:650,1
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:654,1
    - Dst: what
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:654,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:670,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 53
    argCount: 3
    argNames:
    - fs
    - psz_lcname
    - pp_result
    argTypes:
    - vlc_font_select_t*
    - char*
    - vlc_family_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 562
    functionDepth: 4
    functionLinenumber: 562
    functionLinenumberEnd: 673
    functionName: DWrite_GetFamily
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp
    functionUses: 0
    functionsReached:
    - vlc_dictionary_value_for_key
    - FAILED
    - NewFamily
    - DWrite_ParseFamily
    - dw_sys_t*::p_dw_system_fonts::FindFamilyName
    - what
    - DWrite_PartialMatch
    - msg_Err
    - dw_sys_t*::p_dw_system_fonts::GetFontFamily
    - dw_sys_t*::p_dw_system_fonts::GetFontFamilyCount
    - ComPtr::Get
    - ComPtr::GetFamilyNames
    - msg_Dbg
    - SUCCEEDED
    - DWrite_TranslateGenericFamily
    - ToWide
    - free
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int DWrite_GetFamily( vlc_font_select_t *fs, const char *psz_lcname,\n
      \                                const vlc_family_t **pp_result )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:688,1
    - Dst: ToUTF16
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:692,1
    - Dst: ToWide
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:694,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:695,1
    - Dst: dw_sys_t*::p_dw_substitution::Get
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:698,1
    - Dst: TextSource::TextSource
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:698,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:699,1
    - Dst: dw_sys_t*::p_dw_fallbacks::MapCharacters
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:701,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:701,1
    - Dst: dw_sys_t*::p_dw_system_fonts::Get
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:701,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:706,1
    - Dst: ComPtr::GetFontFamily
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:710,1
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:712,1
    - Dst: ComPtr::GetFamilyNames
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:716,1
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:718,1
    - Dst: ComPtr::GetStringLength
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:722,1
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:724,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:728,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:729,1
    - Dst: ComPtr::GetString
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:732,1
    - Dst: msg_Err
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:734,1
    - Dst: FromWide
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:738,1
    - Dst: LowercaseTransform
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:739,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:740,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:743,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:744,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 3
    argNames:
    - fs
    - psz_lcname
    - codepoint
    argTypes:
    - vlc_font_select_t*
    - char*
    - uni_char_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 746
    functionName: DWrite_Fallback
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp
    functionUses: 0
    functionsReached:
    - ComPtr::Get
    - vlc_alloc
    - ToWide
    - ComPtr::GetFontFamily
    - msg_Err
    - ComPtr::GetStringLength
    - dw_sys_t*::p_dw_fallbacks::MapCharacters
    - msg_Dbg
    - dw_sys_t*::p_dw_substitution::Get
    - msg_Warn
    - LowercaseTransform
    - TextSource::TextSource
    - dw_sys_t*::p_dw_system_fonts::Get
    - ToUTF16
    - ComPtr::GetString
    - free
    - ComPtr::GetFamilyNames
    - FromWide
    - unlikely
    linkageType: ''
    returnType: char
    signature: "char *DWrite_Fallback( vlc_font_select_t *fs, const char *psz_lcname,\n
      \                             uni_char_t codepoint )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_dictionary_value_for_key
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:756,1
    - Dst: SearchFallbacks
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:759,1
    - Dst: DWrite_Fallback
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:769,1
    - Dst: DWrite_GetFamily
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:775,1
    - Dst: CheckFace
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:779,1
    - Dst: NewFamily
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:785,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:787,1
    - Dst: AppendFamily
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:793,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:795,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp:802,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 4
    argNames:
    - fs
    - psz_lcname
    - codepoint
    - pp_result
    argTypes:
    - vlc_font_select_t*
    - char*
    - uni_char_t
    - vlc_family_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 748
    functionDepth: 5
    functionLinenumber: 748
    functionLinenumberEnd: 806
    functionName: DWrite_GetFallbacks
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/dwrite.cpp
    functionUses: 0
    functionsReached:
    - vlc_dictionary_value_for_key
    - SearchFallbacks
    - NewFamily
    - DWrite_GetFamily
    - DWrite_Fallback
    - free
    - CheckFace
    - vlc_dictionary_insert
    - unlikely
    - AppendFamily
    linkageType: ''
    returnType: int
    signature: "int DWrite_GetFallbacks( vlc_font_select_t *fs, const char *psz_lcname,\n
      \                                   uni_char_t codepoint, vlc_family_t **pp_result
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pp_list
    - p_family
    argTypes:
    - vlc_family_t**
    - vlc_family_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: AppendFamily
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/win32.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AppendFamily( vlc_family_t **pp_list, vlc_family_t *p_family )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - psz_text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 93
    functionName: Trim
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/win32.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: char
    signature: char *Trim( char *psz_text )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:98,1
    - Dst: strchr
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:103,1
    - Dst: Trim
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:109,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - psz_haystack
    - psz_needle
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 118
    functionName: ConcatenatedIndex
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/win32.c
    functionUses: 0
    functionsReached:
    - Trim
    - strlen
    - strchr
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int ConcatenatedIndex( char *psz_haystack, const char *psz_needle )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RegOpenKeyEx
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:126,1
    - Dst: FromWide
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:130,1
    - Dst: RegEnumValueW
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:137,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:141,1
    - Dst: RegCloseKey
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:142,1
    - Dst: FromWide
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:146,1
    - Dst: strchr
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:148,1
    - Dst: ConcatenatedIndex
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:152,1
    - Dst: FromWide
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:155,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:156,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:160,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:163,1
    - Dst: RegCloseKey
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:164,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - font_name
    - psz_filename
    - i_index
    argTypes:
    - WCHAR*
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 166
    functionName: GetFileFontByName
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/win32.c
    functionUses: 0
    functionsReached:
    - RegOpenKeyEx
    - strchr
    - ConcatenatedIndex
    - RegEnumValueW
    - free
    - FromWide
    - RegCloseKey
    linkageType: ''
    returnType: int
    signature: int GetFileFontByName( const WCHAR * font_name, char **psz_filename,
      int *i_index )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SHGetKnownFolderPath
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:172,1
    - Dst: FromWide
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:174,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:175,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:177,1
    - Dst: GetWindowsDirectoryW
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:180,1
    - Dst: malloc
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:182,1
    - Dst: GetWindowsDirectoryW
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:184,1
    - Dst: memcpy
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:185,1
    - Dst: FromWide
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:186,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 191
    functionName: GetWindowsFontPath
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/win32.c
    functionUses: 0
    functionsReached:
    - SHGetKnownFolderPath
    - CoTaskMemFree
    - unlikely
    - memcpy
    - free
    - FromWide
    - GetWindowsDirectoryW
    - malloc
    linkageType: ''
    returnType: char
    signature: char * GetWindowsFontPath(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: U16_AT
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:206,1
    - Dst: U16_AT
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:207,1
    - Dst: U16_AT
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:212,1
    - Dst: U16_AT
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:213,1
    - Dst: U16_AT
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:214,1
    - Dst: U16_AT
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - p_name_data
    - p_storage_start
    - p_table_end
    - p_sfnt_name
    argTypes:
    - FT_Byte*
    - FT_Byte*
    - FT_Byte*
    - FT_SfntName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 220
    functionName: GetSfntNameEntry
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/win32.c
    functionUses: 0
    functionsReached:
    - U16_AT
    linkageType: ''
    returnType: int
    signature: "int GetSfntNameEntry( FT_Byte *p_name_data, FT_Byte *p_storage_start,\n
      \                            FT_Byte *p_table_end, FT_SfntName *p_sfnt_name
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: U16_AT
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:242,1
    - Dst: U16_AT
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:243,1
    - Dst: GetSfntNameEntry
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:253,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 8
    argNames:
    - p_table
    - i_size
    - i_platform_id
    - i_encoding_id
    - i_name_id
    - i_language_id
    - pp_name
    - i_name_length
    argTypes:
    - FT_Byte*
    - FT_UInt
    - FT_UShort
    - FT_UShort
    - FT_UShort
    - FT_UShort
    - FT_Byte**
    - FT_UInt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 267
    functionName: GetSfntNameString
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/win32.c
    functionUses: 0
    functionsReached:
    - U16_AT
    - GetSfntNameEntry
    linkageType: ''
    returnType: int
    signature: "int GetSfntNameString( FT_Byte *p_table, FT_UInt i_size, FT_UShort
      i_platform_id,\n                              FT_UShort i_encoding_id, FT_UShort
      i_name_id, FT_UShort i_language_id,\n                              FT_Byte **pp_name,
      FT_UInt *i_name_length )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CreateFontIndirectW
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:287,1
    - Dst: CreateCompatibleDC
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:292,1
    - Dst: DeleteObject
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:296,1
    - Dst: SelectObject
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:300,1
    - Dst: ntoh32
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:302,1
    - Dst: GetFontData
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:307,1
    - Dst: malloc
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:312,1
    - Dst: GetFontData
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:317,1
    - Dst: GetSfntNameString
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:324,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:328,1
    - Dst: U16_AT
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:334,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:340,1
    - Dst: SelectObject
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:341,1
    - Dst: DeleteObject
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:342,1
    - Dst: DeleteDC
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:343,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 1
    argNames:
    - lpelfe
    argTypes:
    - ENUMLOGFONTEXW*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 346
    functionName: GetFullEnglishName
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/win32.c
    functionUses: 0
    functionsReached:
    - CreateFontIndirectW
    - U16_AT
    - DeleteObject
    - GetFontData
    - DeleteDC
    - free
    - SelectObject
    - vlc_alloc
    - CreateCompatibleDC
    - ntoh32
    - GetSfntNameString
    - malloc
    linkageType: ''
    returnType: WCHAR
    signature: WCHAR *GetFullEnglishName( const ENUMLOGFONTEXW *lpelfe )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:358,1
    - Dst: container_of
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:361,1
    - Dst: wcscmp
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:370,1
    - Dst: wcscpy
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:372,1
    - Dst: GetFileFontByName
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:384,1
    - Dst: GetFullEnglishName
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:386,1
    - Dst: GetFileFontByName
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:391,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:393,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:397,1
    - Dst: strchr
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:400,1
    - Dst: MakeFilePath
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:404,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:405,1
    - Dst: NewFont
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:410,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 4
    argNames:
    - lp
    - metric
    - type
    - lParam
    argTypes:
    - LOGFONTW*
    - TEXTMETRICW*
    - DWORD
    - LPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 355
    functionDepth: 4
    functionLinenumber: 355
    functionLinenumberEnd: 413
    functionName: EnumFontCallback
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/win32.c
    functionUses: 0
    functionsReached:
    - GetFileFontByName
    - strchr
    - wcscpy
    - container_of
    - wcscmp
    - GetFullEnglishName
    - free
    - NewFont
    - MakeFilePath
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int EnumFontCallback(const LOGFONTW *lp, const TEXTMETRICW *metric,\n
      \                                    DWORD type, LPARAM lParam)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDC
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:418,1
    - Dst: wcsncpy
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:429,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:429,1
    - Dst: EnumFontFamiliesEx
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:431,1
    - Dst: ReleaseDC
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - fs
    - name
    - p_family
    argTypes:
    - vlc_font_select_t*
    - WCHAR*
    - vlc_family_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 433
    functionName: FillLinkedFontsForFamily
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/win32.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - ReleaseDC
    - wcsncpy
    - EnumFontFamiliesEx
    - GetDC
    linkageType: ''
    returnType: void
    signature: "void FillLinkedFontsForFamily( vlc_font_select_t *fs,\n                                      const
      WCHAR *name, vlc_family_t *p_family )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FAILED
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:439,1
    - Dst: RegOpenKeyEx
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:439,1
    - Dst: ToWide
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:443,1
    - Dst: RegCloseKey
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:446,1
    - Dst: FAILED
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:452,1
    - Dst: RegQueryValueExW
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:452,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:455,1
    - Dst: RegCloseKey
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:456,1
    - Dst: malloc
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:460,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:463,1
    - Dst: RegQueryValueExW
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:463,1
    - Dst: FillLinkedFontsForFamily
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:476,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:484,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:485,1
    - Dst: RegCloseKey
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:486,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 3
    argNames:
    - fs
    - psz_family
    - p_family
    argTypes:
    - vlc_font_select_t*
    - char*
    - vlc_family_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 489
    functionName: AddLinkedFonts
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/win32.c
    functionUses: 0
    functionsReached:
    - RegOpenKeyEx
    - RegQueryValueExW
    - FAILED
    - free
    - FillLinkedFontsForFamily
    - SUCCEEDED
    - ToWide
    - RegCloseKey
    - malloc
    linkageType: ''
    returnType: int
    signature: "int AddLinkedFonts( vlc_font_select_t *fs, const char *psz_family,\n
      \                          vlc_family_t *p_family )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_dictionary_value_for_key
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:494,1
    - Dst: NewFamily
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:502,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:505,1
    - Dst: ToWide
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:511,1
    - Dst: wcsncpy
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:512,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:512,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:513,1
    - Dst: GetDC
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:516,1
    - Dst: EnumFontFamiliesExW
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:521,1
    - Dst: ReleaseDC
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:522,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - fs
    - psz_lcname
    - pp_result
    argTypes:
    - vlc_font_select_t*
    - char*
    - vlc_family_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 526
    functionName: Win32_GetFamily
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/win32.c
    functionUses: 0
    functionsReached:
    - vlc_dictionary_value_for_key
    - ARRAY_SIZE
    - NewFamily
    - ReleaseDC
    - wcsncpy
    - free
    - EnumFontFamiliesExW
    - ToWide
    - GetDC
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Win32_GetFamily( vlc_font_select_t *fs, const char *psz_lcname,
      const vlc_family_t **pp_result )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:532,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:533,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - hdc
    - table
    - ENHMETARECORD* record
    - table_entries
    - log_font
    argTypes:
    - HDC
    - HANDLETABLE*
    - CONST
    - int
    - LPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 545
    functionName: MetaFileEnumProc
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/win32.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int MetaFileEnumProc( HDC hdc, HANDLETABLE* table,\n                                      CONST
      ENHMETARECORD* record,\n                                      int table_entries,
      LPARAM log_font )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CreateCompatibleDC
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:558,1
    - Dst: CreateEnhMetaFile
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:562,1
    - Dst: memset
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:567,1
    - Dst: ToWide
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:569,1
    - Dst: wcsncpy
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:572,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:572,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:573,1
    - Dst: CreateFontIndirectW
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:576,1
    - Dst: SelectObject
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:580,1
    - Dst: ScriptStringAnalyse
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:585,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:589,1
    - Dst: ScriptStringOut
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:591,1
    - Dst: ScriptStringFree
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:592,1
    - Dst: SelectObject
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:595,1
    - Dst: DeleteObject
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:596,1
    - Dst: CloseEnhMetaFile
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:597,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:599,1
    - Dst: EnumEnhMetaFile
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:603,1
    - Dst: FromWide
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:606,1
    - Dst: LowercaseTransform
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:607,1
    - Dst: DeleteEnhMetaFile
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:611,1
    - Dst: DeleteDC
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:612,1
    - Dst: DeleteEnhMetaFile
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:616,1
    - Dst: CloseEnhMetaFile
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:616,1
    - Dst: DeleteDC
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:617,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 2
    argNames:
    - psz_lcname
    - codepoint
    argTypes:
    - char*
    - uni_char_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 619
    functionName: UniscribeFallback
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/win32.c
    functionUses: 0
    functionsReached:
    - CloseEnhMetaFile
    - DeleteObject
    - ScriptStringOut
    - SelectObject
    - SUCCEEDED
    - ToWide
    - DeleteEnhMetaFile
    - ARRAY_SIZE
    - CreateFontIndirectW
    - ScriptStringFree
    - CreateCompatibleDC
    - LowercaseTransform
    - EnumEnhMetaFile
    - wcsncpy
    - memset
    - DeleteDC
    - free
    - ScriptStringAnalyse
    - CreateEnhMetaFile
    - FromWide
    linkageType: ''
    returnType: char
    signature: char *UniscribeFallback( const char *psz_lcname, uni_char_t codepoint
      )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vlc_dictionary_value_for_key
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:630,1
    - Dst: SearchFallbacks
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:633,1
    - Dst: UniscribeFallback
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:643,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:654,1
    - Dst: Win32_GetFamily
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:664,1
    - Dst: NewFamily
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:669,1
    - Dst: asprintf
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:673,1
    - Dst: NewFamily
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:679,1
    - Dst: AddLinkedFonts
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:683,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:684,1
    - Dst: AppendFamily
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:688,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:690,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:697,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:698,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 4
    argNames:
    - fs
    - psz_lcname
    - codepoint
    - pp_result
    argTypes:
    - vlc_font_select_t*
    - char*
    - uni_char_t
    - vlc_family_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 621
    functionDepth: 3
    functionLinenumber: 621
    functionLinenumberEnd: 701
    functionName: Win32_GetFallbacks
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/win32.c
    functionUses: 0
    functionsReached:
    - vlc_dictionary_value_for_key
    - asprintf
    - SearchFallbacks
    - NewFamily
    - UniscribeFallback
    - free
    - AddLinkedFonts
    - Win32_GetFamily
    - vlc_dictionary_insert
    - strcasecmp
    - AppendFamily
    linkageType: ''
    returnType: int
    signature: "int Win32_GetFallbacks( vlc_font_select_t *fs, const char *psz_lcname,\n
      \                       uni_char_t codepoint, vlc_family_t **pp_result )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 704
    functionName: GetWindowsFontPath
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/win32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GetWindowsFontPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:708,1
    - Dst: GetWindowsFontPath
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:716,1
    - Dst: asprintf
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:719,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/fonts/win32.c:723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - fs
    - psz_filename
    argTypes:
    - vlc_font_select_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 706
    functionDepth: 2
    functionLinenumber: 706
    functionLinenumberEnd: 726
    functionName: MakeFilePath
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/win32.c
    functionUses: 2
    functionsReached:
    - free
    - GetWindowsFontPath
    - asprintf
    - VLC_UNUSED
    linkageType: ''
    returnType: char
    signature: char * MakeFilePath( vlc_font_select_t *fs, const char *psz_filename
      )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:56,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:59,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:63,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:64,1
    - Dst: FcInitLoadConfigAndFonts
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:67,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:68,1
    - Dst: FcInitLoadConfig
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:74,1
    - Dst: vlc_dialog_display_progress
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:77,1
    - Dst: _
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:78,1
    - Dst: _
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:79,1
    - Dst: FcConfigBuildFonts
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:84,1
    - Dst: vlc_dialog_cancel
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:88,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:92,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:93,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - fs
    argTypes:
    - vlc_font_select_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 96
    functionName: FontConfig_Prepare
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c
    functionUses: 1
    functionsReached:
    - vlc_tick_now
    - FcInitLoadConfigAndFonts
    - FcConfigBuildFonts
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - _
    - FcInitLoadConfig
    - msg_Dbg
    - vlc_dialog_display_progress
    - vlc_dialog_cancel
    - unlikely
    linkageType: ''
    returnType: int
    signature: int FontConfig_Prepare( vlc_font_select_t *fs )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:100,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:101,1
    - Dst: assert
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:102,1
    - Dst: FcConfigDestroy
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:104,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - fs
    argTypes:
    - vlc_font_select_t*
    assertStmts:
    - condition: ( refs > 0 )
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c
    constantsTouched: []
    func_position:
      end: 107
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 107
    functionName: FontConfig_Unprepare
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c
    functionUses: 1
    functionsReached:
    - assert
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - FcConfigDestroy
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void FontConfig_Unprepare( vlc_font_select_t *fs )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FcPatternGetInteger
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:117,1
    - Dst: FcPatternGetInteger
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:120,1
    - Dst: FcPatternGetInteger
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:125,1
    - Dst: FcPatternGetString
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:128,1
    - Dst: strdup
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:131,1
    - Dst: NewFont
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - p_pat
    - p_family
    argTypes:
    - FcPattern*
    - vlc_family_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 137
    functionName: FontConfig_AddFromFcPattern
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c
    functionUses: 0
    functionsReached:
    - FcPatternGetString
    - FcPatternGetInteger
    - strdup
    - NewFont
    linkageType: ''
    returnType: void
    signature: void FontConfig_AddFromFcPattern( FcPattern *p_pat,  vlc_family_t *p_family
      )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FcPatternCreate
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:141,1
    - Dst: FcObjectSetBuild
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:145,1
    - Dst: FcPatternAddString
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:149,1
    - Dst: FcPatternAddBool
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:150,1
    - Dst: FcFontList
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:152,1
    - Dst: FcObjectSetDestroy
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:153,1
    - Dst: FcPatternGetInteger
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:165,1
    - Dst: FontConfig_AddFromFcPattern
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:169,1
    - Dst: FcFontSetDestroy
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:172,1
    - Dst: FcPatternDestroy
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:175,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - p_family
    argTypes:
    - vlc_family_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 176
    functionName: FontConfig_FillFaces
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c
    functionUses: 0
    functionsReached:
    - FcPatternCreate
    - FcObjectSetDestroy
    - FcObjectSetBuild
    - FcPatternGetInteger
    - FcFontSetDestroy
    - FcPatternDestroy
    - FcPatternAddBool
    - FcPatternAddString
    - FcFontList
    - FontConfig_AddFromFcPattern
    linkageType: ''
    returnType: void
    signature: void FontConfig_FillFaces( vlc_family_t *p_family )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FcPatternCreate
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:186,1
    - Dst: vlc_vector_foreach
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:192,1
    - Dst: FcPatternAddString
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:193,1
    - Dst: FcPatternAddBool
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:194,1
    - Dst: FcDefaultSubstitute
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:197,1
    - Dst: FcConfigSubstitute
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:198,1
    - Dst: FcPatternDestroy
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:200,1
    - Dst: FcFontMatch
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:205,1
    - Dst: FcPatternDestroy
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:208,1
    - Dst: FcPatternGetString
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:215,1
    - Dst: FcPatternDestroy
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:217,1
    - Dst: LowercaseDup
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:221,1
    - Dst: vlc_dictionary_value_for_key
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:222,1
    - Dst: NewFamily
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:225,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:229,1
    - Dst: FcPatternDestroy
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:230,1
    - Dst: free
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:235,1
    - Dst: FcPatternDestroy
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:236,1
    - Dst: FontConfig_FillFaces
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:239,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 3
    argNames:
    - fs
    - families
    - pp_result
    argTypes:
    - vlc_font_select_t*
    - fontfamilies_t*
    - vlc_family_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 178
    functionDepth: 4
    functionLinenumber: 178
    functionLinenumberEnd: 244
    functionName: FontConfig_SelectAmongFamilies
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c
    functionUses: 0
    functionsReached:
    - vlc_dictionary_value_for_key
    - FcPatternCreate
    - vlc_vector_foreach
    - NewFamily
    - FcConfigSubstitute
    - FcPatternDestroy
    - free
    - FcPatternAddBool
    - FcPatternAddString
    - FcPatternGetString
    - FcFontMatch
    - FcDefaultSubstitute
    - LowercaseDup
    - FontConfig_FillFaces
    linkageType: ''
    returnType: int
    signature: "int FontConfig_SelectAmongFamilies( vlc_font_select_t *fs, const fontfamilies_t
      *families,\n                                    const vlc_family_t **pp_result
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vector_init
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:251,1
    - Dst: vlc_vector_push
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:252,1
    - Dst: FontConfig_SelectAmongFamilies
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:253,1
    - Dst: vlc_vector_clear
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - fs
    - psz_lcname
    - pp_result
    argTypes:
    - vlc_font_select_t*
    - char*
    - vlc_family_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 246
    functionDepth: 5
    functionLinenumber: 246
    functionLinenumberEnd: 256
    functionName: FontConfig_GetFamily
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c
    functionUses: 0
    functionsReached:
    - vlc_vector_clear
    - vlc_vector_init
    - vlc_vector_push
    - FontConfig_SelectAmongFamilies
    linkageType: ''
    returnType: int
    signature: "int FontConfig_GetFamily( vlc_font_select_t *fs, const char *psz_lcname,\n
      \                         const vlc_family_t **pp_result )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:262,1
    - Dst: vlc_dictionary_value_for_key
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:264,1
    - Dst: FcPatternCreate
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:272,1
    - Dst: vlc_vector_foreach
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:277,1
    - Dst: FcPatternAddString
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:278,1
    - Dst: FcPatternAddBool
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:279,1
    - Dst: FcConfigSubstitute
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:282,1
    - Dst: FcDefaultSubstitute
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:284,1
    - Dst: FcFontSort
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:286,1
    - Dst: FcPatternGetString
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:292,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:296,1
    - Dst: NewFamilyFromMixedCase
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:298,1
    - Dst: unlikely
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:300,1
    - Dst: FcFontSetDestroy
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:304,1
    - Dst: FcPatternDestroy
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:307,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c:310,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 4
    argNames:
    - fs
    - families
    - codepoint
    - pp_result
    argTypes:
    - vlc_font_select_t*
    - fontfamilies_t*
    - uni_char_t
    - vlc_family_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 314
    functionName: FontConfig_GetFallbacksAmongFamilies
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/fonts/fontconfig.c
    functionUses: 0
    functionsReached:
    - vlc_dictionary_value_for_key
    - NewFamilyFromMixedCase
    - FcPatternCreate
    - vlc_vector_foreach
    - FcFontSetDestroy
    - FcConfigSubstitute
    - FcPatternDestroy
    - FcPatternAddBool
    - FcPatternAddString
    - FcPatternGetString
    - FcDefaultSubstitute
    - strcasecmp
    - vlc_dictionary_insert
    - unlikely
    - FcFontSort
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int FontConfig_GetFallbacksAmongFamilies( vlc_font_select_t *fs, const
      fontfamilies_t *families,\n                                          uni_char_t
      codepoint, vlc_family_t **pp_result )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/vlc/modules/text_renderer/freetype/blend/yuv.h:33,1
    - Dst: abs
      Src: /src/vlc/modules/text_renderer/freetype/blend/yuv.h:35,1
    - Dst: abs
      Src: /src/vlc/modules/text_renderer/freetype/blend/yuv.h:37,1
    - Dst: __MIN
      Src: /src/vlc/modules/text_renderer/freetype/blend/yuv.h:39,1
    - Dst: __MIN
      Src: /src/vlc/modules/text_renderer/freetype/blend/yuv.h:40,1
    - Dst: __MIN
      Src: /src/vlc/modules/text_renderer/freetype/blend/yuv.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - i_argb
    - pi_y
    - pi_u
    - pi_v
    argTypes:
    - uint32_t
    - uint8_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 42
    functionName: YUVFromXRGB
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/blend/yuv.h
    functionUses: 1
    functionsReached:
    - abs
    - __MIN
    linkageType: ''
    returnType: void
    signature: "void YUVFromXRGB( uint32_t i_argb,\n                         uint8_t
      *pi_y, uint8_t *pi_u, uint8_t *pi_v )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/text_renderer/freetype/blend/yuv.h:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 9
    argNames:
    - p_picture
    - i_a
    - i_y
    - i_u
    - i_v
    - x
    - y
    - w
    - h
    argTypes:
    - picture_t*
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: FillYUVAPicture
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/blend/yuv.h
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void FillYUVAPicture( picture_t *p_picture,\n                             int
      i_a, int i_y, int i_u, int i_v,\n                             int x, int y,
      int w, int h )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - BlendFunc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 106
    functionName: DECL_BLEND_GLYPH_TO_YUVA
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/blend/yuv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECL_BLEND_GLYPH_TO_YUVA(name, BlendFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - name
    - ','
    - APOS
    - ','
    - XPOS
    - ','
    - YPOS
    - ','
    - ZPOS
    - ','
    - APLANE
    - ','
    - XPLANE
    - ','
    - YPLANE
    - ','
    - ZPLANE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 65
    functionName: DECL_PIXEL_BLENDER
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/blend/blend.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECL_PIXEL_BLENDER( name, APOS, XPOS, YPOS, ZPOS, APLANE, XPLANE, YPLANE,
      ZPLANE )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - name
    - ','
    - APOS
    - ','
    - XPOS
    - ','
    - YPOS
    - ','
    - ZPOS
    - ','
    - APLANE
    - ','
    - XPLANE
    - ','
    - YPLANE
    - ','
    - ZPLANE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: DECL_PIXEL_BLENDER_KNOCKOUT
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/blend/blend.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECL_PIXEL_BLENDER_KNOCKOUT( name, APOS, XPOS, YPOS, ZPOS, APLANE,
      XPLANE, YPLANE, ZPLANE )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ft_drawing_functions*::fill
      Src: /src/vlc/modules/text_renderer/freetype/blend/blend.h:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 10
    argNames:
    - p_picture
    - i_picture_x
    - i_picture_y
    - i_a
    - i_x
    - i_y
    - i_z
    - p_current
    - p_next
    - draw
    argTypes:
    - picture_t*
    - int
    - int
    - int
    - int
    - int
    - int
    - line_character_t*
    - line_character_t*
    - ft_drawing_functions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 101
    functionName: BlendAXYZLine
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/blend/blend.h
    functionUses: 1
    functionsReached:
    - ft_drawing_functions*::fill
    linkageType: ''
    returnType: void
    signature: "void BlendAXYZLine( picture_t *p_picture,\n                           int
      i_picture_x, int i_picture_y,\n                           int i_a, int i_x,
      int i_y, int i_z,\n                           const line_character_t *p_current,\n
      \                          const line_character_t *p_next,\n                           const
      ft_drawing_functions *draw )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - i_argb
    - pi_r
    - pi_g
    - pi_b
    argTypes:
    - uint32_t
    - uint8_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: RGBFromXRGB
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/blend/rgb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void RGBFromXRGB( uint32_t i_argb,\n                         uint8_t
      *pi_r, uint8_t *pi_g, uint8_t *pi_b )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - name
    - ','
    - APOS
    - ','
    - XPOS
    - ','
    - YPOS
    - ','
    - ZPOS
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: DECL_RGB_FILLER
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/blend/rgb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECL_RGB_FILLER( name, APOS, XPOS, YPOS, ZPOS )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - BlendFunc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 91
    functionName: DECL_BLEND_GLYPH_TO_RGB
    functionSourceFile: /src/vlc/modules/text_renderer/freetype/blend/rgb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECL_BLEND_GLYPH_TO_RGB(name, BlendFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chroma
    argTypes:
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: hw_mmal_chroma_is_mmal
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hw_mmal_chroma_is_mmal(const vlc_fourcc_t chroma)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mmal_port_parameter_set
      Src: /src/vlc/modules/hw/mmal/mmal_picture.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - port
    - id
    - val
    argTypes:
    - MMAL_PORT_T*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionName: port_parameter_set_uint32
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.h
    functionUses: 0
    functionsReached:
    - mmal_port_parameter_set
    linkageType: ''
    returnType: MMAL_STATUS_T
    signature: MMAL_STATUS_T port_parameter_set_uint32(MMAL_PORT_T * port, uint32_t
      id, uint32_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mmal_port_parameter_set
      Src: /src/vlc/modules/hw/mmal/mmal_picture.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - port
    - id
    - val
    argTypes:
    - MMAL_PORT_T*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: port_parameter_set_bool
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.h
    functionUses: 0
    functionsReached:
    - mmal_port_parameter_set
    linkageType: ''
    returnType: MMAL_STATUS_T
    signature: MMAL_STATUS_T port_parameter_set_bool(MMAL_PORT_T * const port, const
      uint32_t id, const bool val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pic
    - buf
    argTypes:
    - picture_t*
    - MMAL_BUFFER_HEADER_T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: buf_to_pic_copy_props
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void buf_to_pic_copy_props(picture_t * const pic, const MMAL_BUFFER_HEADER_T
      * const buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - dec_dev
    argTypes:
    - vlc_decoder_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: GetMMALDeviceOpaque
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mmal_decoder_device_t
    signature: mmal_decoder_device_t *GetMMALDeviceOpaque(vlc_decoder_device *dec_dev)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - support
    - fcc
    argTypes:
    - supported_mmal_enc_t*
    - MMAL_FOURCC_T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 113
    functionName: is_enc_supported
    functionSourceFile: /src/vlc/modules/hw/mmal/codec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_enc_supported(const supported_mmal_enc_t * const support, const
      MMAL_FOURCC_T fcc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mmal_port_parameter_get
      Src: /src/vlc/modules/hw/mmal/codec.c:120,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/codec.c:122,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/mmal/codec.c:129,1
    - Dst: is_enc_supported
      Src: /src/vlc/modules/hw/mmal/codec.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - obj
    - support
    - port
    - fcc
    argTypes:
    - vlc_object_t*
    - supported_mmal_enc_t*
    - MMAL_PORT_T*
    - MMAL_FOURCC_T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 133
    functionName: set_and_test_enc_supported
    functionSourceFile: /src/vlc/modules/hw/mmal/codec.c
    functionUses: 0
    functionsReached:
    - is_enc_supported
    - msg_Dbg
    - mmal_port_parameter_get
    - msg_Err
    linkageType: ''
    returnType: bool
    signature: "bool set_and_test_enc_supported(vlc_object_t *obj, supported_mmal_enc_t
      * const support,\n                                       MMAL_PORT_T * port,
      const MMAL_FOURCC_T fcc)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: es_format_HasVpxAlpha
      Src: /src/vlc/modules/hw/mmal/codec.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 1
    argNames:
    - es
    argTypes:
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 171
    functionName: vlc_to_mmal_es_fourcc
    functionSourceFile: /src/vlc/modules/hw/mmal/codec.c
    functionUses: 0
    functionsReached:
    - es_format_HasVpxAlpha
    linkageType: ''
    returnType: MMAL_FOURCC_T
    signature: MMAL_FOURCC_T vlc_to_mmal_es_fourcc(const es_format_t *es)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/hw/mmal/codec.c:178,1
    - Dst: decoder_NewPicture
      Src: /src/vlc/modules/hw/mmal/codec.c:179,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/hw/mmal/codec.c:180,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/codec.c:186,1
    - Dst: hw_mmal_gen_context
      Src: /src/vlc/modules/hw/mmal/codec.c:190,1
    - Dst: buf_to_pic_copy_props
      Src: /src/vlc/modules/hw/mmal/codec.c:193,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/mmal/codec.c:198,1
    - Dst: hw_mmal_port_pool_ref_recycle
      Src: /src/vlc/modules/hw/mmal/codec.c:201,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - dec
    - buf
    argTypes:
    - decoder_t*
    - MMAL_BUFFER_HEADER_T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 203
    functionName: alloc_opaque_pic
    functionSourceFile: /src/vlc/modules/hw/mmal/codec.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - hw_mmal_gen_context
    - vlc_mutex_lock
    - hw_mmal_port_pool_ref_recycle
    - msg_Err
    - picture_Release
    - buf_to_pic_copy_props
    - decoder_NewPicture
    linkageType: ''
    returnType: picture_t
    signature: picture_t * alloc_opaque_pic(decoder_t * const dec, MMAL_BUFFER_HEADER_T
      * const buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/hw/mmal/codec.c:211,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/codec.c:214,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/codec.c:215,1
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/codec.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - port
    - buffer
    argTypes:
    - MMAL_PORT_T*
    - MMAL_BUFFER_HEADER_T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 219
    functionName: control_port_cb
    functionSourceFile: /src/vlc/modules/hw/mmal/codec.c
    functionUses: 0
    functionsReached:
    - mmal_buffer_header_release
    - mmal_status_to_string
    - memcpy
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void control_port_cb(MMAL_PORT_T *port, MMAL_BUFFER_HEADER_T *buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmal_buffer_header_reset
      Src: /src/vlc/modules/hw/mmal/codec.c:227,1
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/codec.c:228,1
    - Dst: block_Release
      Src: /src/vlc/modules/hw/mmal/codec.c:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - port
    - buffer
    argTypes:
    - MMAL_PORT_T*
    - MMAL_BUFFER_HEADER_T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 232
    functionName: input_port_cb
    functionSourceFile: /src/vlc/modules/hw/mmal/codec.c
    functionUses: 0
    functionsReached:
    - mmal_buffer_header_release
    - block_Release
    - mmal_buffer_header_reset
    linkageType: ''
    returnType: void
    signature: void input_port_cb(MMAL_PORT_T *port, MMAL_BUFFER_HEADER_T *buffer)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: alloc_opaque_pic
      Src: /src/vlc/modules/hw/mmal/codec.c:240,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/codec.c:242,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/modules/hw/mmal/codec.c:244,1
    - Dst: mmal_event_format_changed_get
      Src: /src/vlc/modules/hw/mmal/codec.c:252,1
    - Dst: mmal_format_alloc
      Src: /src/vlc/modules/hw/mmal/codec.c:253,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/codec.c:256,1
    - Dst: mmal_format_full_copy
      Src: /src/vlc/modules/hw/mmal/codec.c:259,1
    - Dst: mmal_format_free
      Src: /src/vlc/modules/hw/mmal/codec.c:263,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/hw/mmal/codec.c:269,1
    - Dst: mmal_buffer_header_reset
      Src: /src/vlc/modules/hw/mmal/codec.c:275,1
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/codec.c:277,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - port
    - buffer
    argTypes:
    - MMAL_PORT_T*
    - MMAL_BUFFER_HEADER_T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 278
    functionName: decoder_output_cb
    functionSourceFile: /src/vlc/modules/hw/mmal/codec.c
    functionUses: 0
    functionsReached:
    - mmal_event_format_changed_get
    - mmal_buffer_header_reset
    - mmal_buffer_header_release
    - msg_Err
    - decoder_QueueVideo
    - mmal_format_alloc
    - mmal_format_full_copy
    - alloc_opaque_pic
    - mmal_format_free
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: void decoder_output_cb(MMAL_PORT_T *port, MMAL_BUFFER_HEADER_T *buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decoder_UpdateVideoOutput
      Src: /src/vlc/modules/hw/mmal/codec.c:286,1
    - Dst: hw_mmal_port_pool_ref_fill
      Src: /src/vlc/modules/hw/mmal/codec.c:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 294
    functionName: fill_output_port
    functionSourceFile: /src/vlc/modules/hw/mmal/codec.c
    functionUses: 0
    functionsReached:
    - hw_mmal_port_pool_ref_fill
    - decoder_UpdateVideoOutput
    linkageType: ''
    returnType: void
    signature: void fill_output_port(decoder_t *dec)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mmal_format_full_copy
      Src: /src/vlc/modules/hw/mmal/codec.c:304,1
    - Dst: mmal_port_format_commit
      Src: /src/vlc/modules/hw/mmal/codec.c:305,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/codec.c:309,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/codec.c:310,1
    - Dst: mmal_port_disable
      Src: /src/vlc/modules/hw/mmal/codec.c:314,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/codec.c:316,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/codec.c:317,1
    - Dst: mmal_format_full_copy
      Src: /src/vlc/modules/hw/mmal/codec.c:321,1
    - Dst: mmal_port_format_commit
      Src: /src/vlc/modules/hw/mmal/codec.c:322,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/codec.c:324,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/codec.c:325,1
    - Dst: mmal_port_enable
      Src: /src/vlc/modules/hw/mmal/codec.c:332,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/codec.c:334,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/codec.c:335,1
    - Dst: mmal_port_parameter_get
      Src: /src/vlc/modules/hw/mmal/codec.c:362,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/hw/mmal/codec.c:364,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/codec.c:365,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/hw/mmal/codec.c:371,1
    - Dst: decoder_UpdateVideoOutput
      Src: /src/vlc/modules/hw/mmal/codec.c:372,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/hw/mmal/codec.c:373,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 56
    argCount: 1
    argNames:
    - dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 376
    functionName: change_output_format
    functionSourceFile: /src/vlc/modules/hw/mmal/codec.c
    functionUses: 0
    functionsReached:
    - mmal_port_enable
    - mmal_status_to_string
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - mmal_port_disable
    - mmal_port_format_commit
    - decoder_UpdateVideoOutput
    - msg_Err
    - mmal_format_full_copy
    - mmal_port_parameter_get
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int change_output_format(decoder_t *dec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmal_port_format_commit
      Src: /src/vlc/modules/hw/mmal/codec.c:383,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/codec.c:385,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/codec.c:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dec
    - sys
    argTypes:
    - decoder_t*
    - decoder_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 389
    functionName: set_extradata_and_commit
    functionSourceFile: /src/vlc/modules/hw/mmal/codec.c
    functionUses: 0
    functionsReached:
    - mmal_status_to_string
    - mmal_port_format_commit
    - msg_Err
    linkageType: ''
    returnType: MMAL_STATUS_T
    signature: MMAL_STATUS_T set_extradata_and_commit(decoder_t * const dec, decoder_sys_t
      * const sys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mmal_queue_wait
      Src: /src/vlc/modules/hw/mmal/codec.c:396,1
    - Dst: mmal_buffer_header_reset
      Src: /src/vlc/modules/hw/mmal/codec.c:399,1
    - Dst: mmal_port_send_buffer
      Src: /src/vlc/modules/hw/mmal/codec.c:407,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/codec.c:409,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/codec.c:410,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - dec
    - sys
    argTypes:
    - decoder_t*
    - decoder_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 416
    functionName: decoder_send_extradata
    functionSourceFile: /src/vlc/modules/hw/mmal/codec.c
    functionUses: 0
    functionsReached:
    - mmal_status_to_string
    - mmal_buffer_header_reset
    - msg_Err
    - mmal_queue_wait
    - mmal_port_send_buffer
    linkageType: ''
    returnType: MMAL_STATUS_T
    signature: MMAL_STATUS_T decoder_send_extradata(decoder_t * const dec, decoder_sys_t
      *const sys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmal_port_disable
      Src: /src/vlc/modules/hw/mmal/codec.c:423,1
    - Dst: mmal_port_disable
      Src: /src/vlc/modules/hw/mmal/codec.c:424,1
    - Dst: mmal_port_enable
      Src: /src/vlc/modules/hw/mmal/codec.c:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 430
    functionName: flush_decoder
    functionSourceFile: /src/vlc/modules/hw/mmal/codec.c
    functionUses: 0
    functionsReached:
    - mmal_port_enable
    - mmal_port_disable
    linkageType: ''
    returnType: void
    signature: void flush_decoder(decoder_t *dec)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/codec.c:441,1
    - Dst: flush_decoder
      Src: /src/vlc/modules/hw/mmal/codec.c:442,1
    - Dst: change_output_format
      Src: /src/vlc/modules/hw/mmal/codec.c:450,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/codec.c:451,1
    - Dst: mmal_format_free
      Src: /src/vlc/modules/hw/mmal/codec.c:452,1
    - Dst: flush_decoder
      Src: /src/vlc/modules/hw/mmal/codec.c:463,1
    - Dst: block_Release
      Src: /src/vlc/modules/hw/mmal/codec.c:468,1
    - Dst: mmal_port_enable
      Src: /src/vlc/modules/hw/mmal/codec.c:474,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/codec.c:476,1
    - Dst: set_extradata_and_commit
      Src: /src/vlc/modules/hw/mmal/codec.c:482,1
    - Dst: mmal_port_enable
      Src: /src/vlc/modules/hw/mmal/codec.c:485,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/codec.c:487,1
    - Dst: decoder_send_extradata
      Src: /src/vlc/modules/hw/mmal/codec.c:491,1
    - Dst: fill_output_port
      Src: /src/vlc/modules/hw/mmal/codec.c:498,1
    - Dst: mmal_queue_wait
      Src: /src/vlc/modules/hw/mmal/codec.c:509,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/codec.c:511,1
    - Dst: mmal_buffer_header_reset
      Src: /src/vlc/modules/hw/mmal/codec.c:515,1
    - Dst: mmal_port_send_buffer
      Src: /src/vlc/modules/hw/mmal/codec.c:537,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/codec.c:539,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/codec.c:540,1
    - Dst: flush_decoder
      Src: /src/vlc/modules/hw/mmal/codec.c:550,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 81
    argCount: 2
    argNames:
    - dec
    - block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 432
    functionDepth: 2
    functionLinenumber: 432
    functionLinenumberEnd: 553
    functionName: decode
    functionSourceFile: /src/vlc/modules/hw/mmal/codec.c
    functionUses: 43
    functionsReached:
    - mmal_port_enable
    - block_Release
    - mmal_status_to_string
    - decoder_send_extradata
    - mmal_buffer_header_reset
    - set_extradata_and_commit
    - msg_Err
    - change_output_format
    - mmal_format_free
    - flush_decoder
    - mmal_queue_wait
    - fill_output_port
    - mmal_port_send_buffer
    linkageType: ''
    returnType: int
    signature: int decode(decoder_t *dec, block_t *block)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mmal_port_disable
      Src: /src/vlc/modules/hw/mmal/codec.c:565,1
    - Dst: mmal_port_disable
      Src: /src/vlc/modules/hw/mmal/codec.c:568,1
    - Dst: mmal_port_disable
      Src: /src/vlc/modules/hw/mmal/codec.c:571,1
    - Dst: mmal_component_disable
      Src: /src/vlc/modules/hw/mmal/codec.c:574,1
    - Dst: mmal_component_release
      Src: /src/vlc/modules/hw/mmal/codec.c:576,1
    - Dst: mmal_pool_destroy
      Src: /src/vlc/modules/hw/mmal/codec.c:580,1
    - Dst: mmal_format_free
      Src: /src/vlc/modules/hw/mmal/codec.c:583,1
    - Dst: hw_mmal_port_pool_ref_release
      Src: /src/vlc/modules/hw/mmal/codec.c:585,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/hw/mmal/codec.c:588,1
    - Dst: free
      Src: /src/vlc/modules/hw/mmal/codec.c:590,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 591
    functionName: CloseDecoder
    functionSourceFile: /src/vlc/modules/hw/mmal/codec.c
    functionUses: 0
    functionsReached:
    - vlc_video_context_Release
    - mmal_port_disable
    - free
    - mmal_component_disable
    - mmal_format_free
    - mmal_component_release
    - hw_mmal_port_pool_ref_release
    - mmal_pool_destroy
    linkageType: ''
    returnType: void
    signature: void CloseDecoder(vlc_object_t *p_this)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: vlc_to_mmal_es_fourcc
      Src: /src/vlc/modules/hw/mmal/codec.c:599,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/mmal/codec.c:601,1
    - Dst: is_enc_supported
      Src: /src/vlc/modules/hw/mmal/codec.c:605,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/mmal/codec.c:606,1
    - Dst: calloc
      Src: /src/vlc/modules/hw/mmal/codec.c:611,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/mmal/codec.c:612,1
    - Dst: decoder_GetDecoderDevice
      Src: /src/vlc/modules/hw/mmal/codec.c:615,1
    - Dst: GetMMALDeviceOpaque
      Src: /src/vlc/modules/hw/mmal/codec.c:616,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/codec.c:619,1
    - Dst: vlc_video_context_Create
      Src: /src/vlc/modules/hw/mmal/codec.c:622,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/hw/mmal/codec.c:623,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/hw/mmal/codec.c:626,1
    - Dst: mmal_component_create
      Src: /src/vlc/modules/hw/mmal/codec.c:630,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/codec.c:632,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/codec.c:633,1
    - Dst: set_and_test_enc_supported
      Src: /src/vlc/modules/hw/mmal/codec.c:643,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/hw/mmal/codec.c:644,1
    - Dst: mmal_port_enable
      Src: /src/vlc/modules/hw/mmal/codec.c:649,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/codec.c:651,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/codec.c:652,1
    - Dst: set_extradata_and_commit
      Src: /src/vlc/modules/hw/mmal/codec.c:656,1
    - Dst: mmal_port_enable
      Src: /src/vlc/modules/hw/mmal/codec.c:662,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/codec.c:664,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/codec.c:665,1
    - Dst: hw_mmal_opaque_output
      Src: /src/vlc/modules/hw/mmal/codec.c:669,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/mmal/codec.c:669,1
    - Dst: mmal_component_enable
      Src: /src/vlc/modules/hw/mmal/codec.c:673,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/codec.c:675,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/codec.c:676,1
    - Dst: mmal_pool_create
      Src: /src/vlc/modules/hw/mmal/codec.c:680,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/codec.c:682,1
    - Dst: decoder_send_extradata
      Src: /src/vlc/modules/hw/mmal/codec.c:690,1
    - Dst: CloseDecoder
      Src: /src/vlc/modules/hw/mmal/codec.c:699,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 81
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 593
    functionDepth: 2
    functionLinenumber: 593
    functionLinenumberEnd: 701
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/modules/hw/mmal/codec.c
    functionUses: 0
    functionsReached:
    - hw_mmal_opaque_output
    - is_enc_supported
    - vlc_decoder_device_Release
    - mmal_port_enable
    - decoder_send_extradata
    - msg_Err
    - calloc
    - msg_Dbg
    - msg_Warn
    - mmal_component_enable
    - CloseDecoder
    - decoder_GetDecoderDevice
    - mmal_pool_create
    - mmal_component_create
    - GetMMALDeviceOpaque
    - set_and_test_enc_supported
    - vlc_to_mmal_es_fourcc
    - mmal_status_to_string
    - set_extradata_and_commit
    - vlc_mutex_init
    - vlc_video_context_Create
    - VLC_OBJECT
    - unlikely
    linkageType: ''
    returnType: int
    signature: int OpenDecoder(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_chroma_conv_add_in_outlist
      Src: /src/vlc/modules/hw/mmal/converter.c:76,1
    - Dst: vlc_chroma_conv_add_in_outlist
      Src: /src/vlc/modules/hw/mmal/converter.c:77,1
    - Dst: vlc_chroma_conv_add_in_outlist
      Src: /src/vlc/modules/hw/mmal/converter.c:78,1
    - Dst: vlc_chroma_conv_add_in_outlist
      Src: /src/vlc/modules/hw/mmal/converter.c:79,1
    - Dst: vlc_chroma_conv_add_in_outlist
      Src: /src/vlc/modules/hw/mmal/converter.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - vec
    argTypes:
    - vlc_chroma_conv_vec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: ProbeChroma
    functionSourceFile: /src/vlc/modules/hw/mmal/converter.c
    functionUses: 0
    functionsReached:
    - vlc_chroma_conv_add_in_outlist
    linkageType: ''
    returnType: void
    signature: void ProbeChroma(vlc_chroma_conv_vec *vec)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 1
    argNames:
    - fcc
    argTypes:
    - MMAL_FOURCC_T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 132
    functionName: pic_to_slice_mmal_fourcc
    functionSourceFile: /src/vlc/modules/hw/mmal/converter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MMAL_FOURCC_T
    signature: MMAL_FOURCC_T pic_to_slice_mmal_fourcc(MMAL_FOURCC_T fcc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_picture_chain_PopFront
      Src: /src/vlc/modules/hw/mmal/converter.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pf
    argTypes:
    - vlc_picture_chain_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: pic_fifo_get
    functionSourceFile: /src/vlc/modules/hw/mmal/converter.c
    functionUses: 0
    functionsReached:
    - vlc_picture_chain_PopFront
    linkageType: ''
    returnType: picture_t
    signature: picture_t * pic_fifo_get(vlc_picture_chain_t * const pf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pic_fifo_get
      Src: /src/vlc/modules/hw/mmal/converter.c:142,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/mmal/converter.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pf
    argTypes:
    - vlc_picture_chain_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: pic_fifo_release_all
    functionSourceFile: /src/vlc/modules/hw/mmal/converter.c
    functionUses: 0
    functionsReached:
    - picture_Release
    - pic_fifo_get
    linkageType: ''
    returnType: void
    signature: void pic_fifo_release_all(vlc_picture_chain_t * const pf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_picture_chain_Init
      Src: /src/vlc/modules/hw/mmal/converter.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pf
    argTypes:
    - vlc_picture_chain_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: pic_fifo_init
    functionSourceFile: /src/vlc/modules/hw/mmal/converter.c
    functionUses: 0
    functionsReached:
    - vlc_picture_chain_Init
    linkageType: ''
    returnType: void
    signature: void pic_fifo_init(vlc_picture_chain_t * const pf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_picture_chain_Append
      Src: /src/vlc/modules/hw/mmal/converter.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pf
    - pic
    argTypes:
    - vlc_picture_chain_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: pic_fifo_put
    functionSourceFile: /src/vlc/modules/hw/mmal/converter.c
    functionUses: 0
    functionsReached:
    - vlc_picture_chain_Append
    linkageType: ''
    returnType: void
    signature: void pic_fifo_put(vlc_picture_chain_t * const pf, picture_t * pic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cma_buf_pool_delete
      Src: /src/vlc/modules/hw/mmal/converter.c:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pp
    argTypes:
    - cma_buf_pool_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: cma_buf_pool_deletez
    functionSourceFile: /src/vlc/modules/hw/mmal/converter.c
    functionUses: 0
    functionsReached:
    - cma_buf_pool_delete
    linkageType: ''
    returnType: void
    signature: void cma_buf_pool_deletez(cma_buf_pool_t ** const pp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fourcc_GetChromaBPP
      Src: /src/vlc/modules/hw/mmal/converter.c:217,1
    - Dst: vlc_to_mmal_video_fourcc
      Src: /src/vlc/modules/hw/mmal/converter.c:221,1
    - Dst: hw_mmal_vlc_fmt_to_mmal_fmt
      Src: /src/vlc/modules/hw/mmal/converter.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - es_fmt
    - pic
    argTypes:
    - MMAL_ES_FORMAT_T*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 232
    functionName: pic_to_format
    functionSourceFile: /src/vlc/modules/hw/mmal/converter.c
    functionUses: 0
    functionsReached:
    - vlc_fourcc_GetChromaBPP
    - hw_mmal_vlc_fmt_to_mmal_fmt
    - vlc_to_mmal_video_fourcc
    linkageType: ''
    returnType: MMAL_STATUS_T
    signature: MMAL_STATUS_T pic_to_format(MMAL_ES_FORMAT_T * const es_fmt, const
      picture_t * const pic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmal_port_enable
      Src: /src/vlc/modules/hw/mmal/converter.c:240,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/converter.c:242,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/converter.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - p_filter
    - sys
    argTypes:
    - filter_t*
    - converter_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 246
    functionName: conv_enable_in
    functionSourceFile: /src/vlc/modules/hw/mmal/converter.c
    functionUses: 0
    functionsReached:
    - mmal_port_enable
    - mmal_status_to_string
    - msg_Err
    linkageType: ''
    returnType: MMAL_STATUS_T
    signature: MMAL_STATUS_T conv_enable_in(filter_t * const p_filter, converter_sys_t
      * const sys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cma_buf_pool_deletez
      Src: /src/vlc/modules/hw/mmal/converter.c:253,1
    - Dst: mmal_port_enable
      Src: /src/vlc/modules/hw/mmal/converter.c:257,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/converter.c:259,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/converter.c:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - p_filter
    - sys
    argTypes:
    - filter_t*
    - converter_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 263
    functionName: conv_enable_out
    functionSourceFile: /src/vlc/modules/hw/mmal/converter.c
    functionUses: 0
    functionsReached:
    - mmal_port_enable
    - cma_buf_pool_deletez
    - mmal_status_to_string
    - msg_Err
    linkageType: ''
    returnType: MMAL_STATUS_T
    signature: MMAL_STATUS_T conv_enable_out(filter_t * const p_filter, converter_sys_t
      * const sys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/hw/mmal/converter.c:271,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/converter.c:276,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/converter.c:277,1
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/converter.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - port
    - buffer
    argTypes:
    - MMAL_PORT_T*
    - MMAL_BUFFER_HEADER_T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 281
    functionName: conv_control_port_cb
    functionSourceFile: /src/vlc/modules/hw/mmal/converter.c
    functionUses: 0
    functionsReached:
    - mmal_buffer_header_release
    - mmal_status_to_string
    - memcpy
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void conv_control_port_cb(MMAL_PORT_T *port, MMAL_BUFFER_HEADER_T *buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/mmal/converter.c:285,1
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/converter.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - port
    - buf
    argTypes:
    - MMAL_PORT_T*
    - MMAL_BUFFER_HEADER_T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 288
    functionName: conv_input_port_cb
    functionSourceFile: /src/vlc/modules/hw/mmal/converter.c
    functionUses: 0
    functionsReached:
    - mmal_buffer_header_release
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void conv_input_port_cb(MMAL_PORT_T *port, MMAL_BUFFER_HEADER_T *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/hw/mmal/converter.c:292,1
    - Dst: pic_fifo_put
      Src: /src/vlc/modules/hw/mmal/converter.c:293,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/hw/mmal/converter.c:294,1
    - Dst: vlc_sem_post
      Src: /src/vlc/modules/hw/mmal/converter.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sys
    - pic
    argTypes:
    - converter_sys_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 297
    functionName: conv_out_q_pic
    functionSourceFile: /src/vlc/modules/hw/mmal/converter.c
    functionUses: 0
    functionsReached:
    - pic_fifo_put
    - vlc_sem_post
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void conv_out_q_pic(converter_sys_t * const sys, picture_t * const
      pic)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/converter.c:308,1
    - Dst: buf_to_pic_copy_props
      Src: /src/vlc/modules/hw/mmal/converter.c:312,1
    - Dst: conv_out_q_pic
      Src: /src/vlc/modules/hw/mmal/converter.c:315,1
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/converter.c:319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - port
    - buf
    argTypes:
    - MMAL_PORT_T*
    - MMAL_BUFFER_HEADER_T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 299
    functionDepth: 3
    functionLinenumber: 299
    functionLinenumberEnd: 320
    functionName: conv_output_port_cb
    functionSourceFile: /src/vlc/modules/hw/mmal/converter.c
    functionUses: 0
    functionsReached:
    - mmal_buffer_header_release
    - conv_out_q_pic
    - buf_to_pic_copy_props
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void conv_output_port_cb(MMAL_PORT_T *port, MMAL_BUFFER_HEADER_T *buf)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/converter.c:330,1
    - Dst: vlc_picture_chain_PeekFront
      Src: /src/vlc/modules/hw/mmal/converter.c:337,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/converter.c:341,1
    - Dst: __MIN
      Src: /src/vlc/modules/hw/mmal/converter.c:348,1
    - Dst: memcpy
      Src: /src/vlc/modules/hw/mmal/converter.c:361,1
    - Dst: memcpy
      Src: /src/vlc/modules/hw/mmal/converter.c:366,1
    - Dst: __MIN
      Src: /src/vlc/modules/hw/mmal/converter.c:366,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/converter.c:378,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/hw/mmal/converter.c:384,1
    - Dst: pic_fifo_get
      Src: /src/vlc/modules/hw/mmal/converter.c:385,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/hw/mmal/converter.c:386,1
    - Dst: buf_to_pic_copy_props
      Src: /src/vlc/modules/hw/mmal/converter.c:388,1
    - Dst: conv_out_q_pic
      Src: /src/vlc/modules/hw/mmal/converter.c:389,1
    - Dst: mmal_buffer_header_reset
      Src: /src/vlc/modules/hw/mmal/converter.c:396,1
    - Dst: mmal_port_send_buffer
      Src: /src/vlc/modules/hw/mmal/converter.c:398,1
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/converter.c:399,1
    - Dst: vlc_sem_post
      Src: /src/vlc/modules/hw/mmal/converter.c:405,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 2
    argNames:
    - port
    - buf
    argTypes:
    - MMAL_PORT_T*
    - MMAL_BUFFER_HEADER_T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 406
    functionName: slice_output_port_cb
    functionSourceFile: /src/vlc/modules/hw/mmal/converter.c
    functionUses: 0
    functionsReached:
    - mmal_buffer_header_reset
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - mmal_buffer_header_release
    - memcpy
    - vlc_sem_post
    - msg_Err
    - __MIN
    - mmal_port_send_buffer
    - vlc_picture_chain_PeekFront
    - conv_out_q_pic
    - buf_to_pic_copy_props
    - pic_fifo_get
    linkageType: ''
    returnType: void
    signature: void slice_output_port_cb(MMAL_PORT_T *port, MMAL_BUFFER_HEADER_T *buf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hw_mmal_subpic_flush
      Src: /src/vlc/modules/hw/mmal/converter.c:417,1
    - Dst: mmal_port_disable
      Src: /src/vlc/modules/hw/mmal/converter.c:422,1
    - Dst: mmal_port_disable
      Src: /src/vlc/modules/hw/mmal/converter.c:425,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/hw/mmal/converter.c:433,1
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/converter.c:440,1
    - Dst: pic_fifo_release_all
      Src: /src/vlc/modules/hw/mmal/converter.c:446,1
    - Dst: pic_fifo_release_all
      Src: /src/vlc/modules/hw/mmal/converter.c:447,1
    - Dst: vlc_sem_init
      Src: /src/vlc/modules/hw/mmal/converter.c:450,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 409
    functionDepth: 3
    functionLinenumber: 409
    functionLinenumberEnd: 455
    functionName: conv_flush
    functionSourceFile: /src/vlc/modules/hw/mmal/converter.c
    functionUses: 0
    functionsReached:
    - vlc_sem_init
    - ARRAY_SIZE
    - pic_fifo_release_all
    - mmal_buffer_header_release
    - mmal_port_disable
    - hw_mmal_subpic_flush
    linkageType: ''
    returnType: void
    signature: void conv_flush(filter_t * p_filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/mmal/converter.c:461,1
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/converter.c:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - p_filter
    - sys
    - p_pic
    argTypes:
    - filter_t*
    - converter_sys_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 473
    functionName: conv_stash_fixup
    functionSourceFile: /src/vlc/modules/hw/mmal/converter.c
    functionUses: 0
    functionsReached:
    - mmal_buffer_header_release
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void conv_stash_fixup(filter_t * const p_filter, converter_sys_t *
      const sys, picture_t * const p_pic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/mmal/converter.c:479,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/mmal/converter.c:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - header
    - userdata
    argTypes:
    - MMAL_BUFFER_HEADER_T*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 488
    functionName: out_buffer_pre_release_cb
    functionSourceFile: /src/vlc/modules/hw/mmal/converter.c
    functionUses: 0
    functionsReached:
    - picture_Release
    - VLC_UNUSED
    linkageType: ''
    returnType: MMAL_BOOL_T
    signature: MMAL_BOOL_T out_buffer_pre_release_cb(MMAL_BUFFER_HEADER_T *header,
      void *userdata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_to_mmal_video_fourcc
      Src: /src/vlc/modules/hw/mmal/converter.c:496,1
    - Dst: hw_mmal_vlc_fmt_to_mmal_fmt
      Src: /src/vlc/modules/hw/mmal/converter.c:498,1
    - Dst: pic_to_format
      Src: /src/vlc/modules/hw/mmal/converter.c:503,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/converter.c:505,1
    - Dst: vlc_fourcc_GetChromaBPP
      Src: /src/vlc/modules/hw/mmal/converter.c:505,1
    - Dst: mmal_log_dump_format
      Src: /src/vlc/modules/hw/mmal/converter.c:515,1
    - Dst: mmal_port_format_commit
      Src: /src/vlc/modules/hw/mmal/converter.c:517,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/converter.c:519,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/converter.c:520,1
    - Dst: __MAX
      Src: /src/vlc/modules/hw/mmal/converter.c:524,1
    - Dst: conv_enable_out
      Src: /src/vlc/modules/hw/mmal/converter.c:527,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - p_filter
    - sys
    - pic
    argTypes:
    - filter_t*
    - converter_sys_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 490
    functionDepth: 3
    functionLinenumber: 490
    functionLinenumberEnd: 531
    functionName: conv_set_output
    functionSourceFile: /src/vlc/modules/hw/mmal/converter.c
    functionUses: 0
    functionsReached:
    - vlc_fourcc_GetChromaBPP
    - mmal_status_to_string
    - mmal_port_format_commit
    - msg_Err
    - __MAX
    - conv_enable_out
    - vlc_to_mmal_video_fourcc
    - pic_to_format
    - mmal_log_dump_format
    - hw_mmal_vlc_fmt_to_mmal_fmt
    linkageType: ''
    returnType: MMAL_STATUS_T
    signature: MMAL_STATUS_T conv_set_output(filter_t * const p_filter, converter_sys_t
      * const sys, picture_t * const pic)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: hw_mmal_vlc_pic_to_mmal_fmt_update
      Src: /src/vlc/modules/hw/mmal/converter.c:549,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/mmal/converter.c:551,1
    - Dst: mmal_port_format_commit
      Src: /src/vlc/modules/hw/mmal/converter.c:552,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/mmal/converter.c:558,1
    - Dst: hw_mmal_subpic_update
      Src: /src/vlc/modules/hw/mmal/converter.c:566,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/mmal/converter.c:566,1
    - Dst: hw_mmal_pic_sub_buf_get
      Src: /src/vlc/modules/hw/mmal/converter.c:567,1
    - Dst: hw_mmal_pic_sub_buf_get
      Src: /src/vlc/modules/hw/mmal/converter.c:581,1
    - Dst: mmal_buffer_header_acquire
      Src: /src/vlc/modules/hw/mmal/converter.c:582,1
    - Dst: conv_set_output
      Src: /src/vlc/modules/hw/mmal/converter.c:593,1
    - Dst: mmal_port_pool_create
      Src: /src/vlc/modules/hw/mmal/converter.c:596,1
    - Dst: filter_NewPicture
      Src: /src/vlc/modules/hw/mmal/converter.c:599,1
    - Dst: conv_set_output
      Src: /src/vlc/modules/hw/mmal/converter.c:600,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/mmal/converter.c:601,1
    - Dst: mmal_pool_create
      Src: /src/vlc/modules/hw/mmal/converter.c:605,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/converter.c:609,1
    - Dst: conv_enable_out
      Src: /src/vlc/modules/hw/mmal/converter.c:615,1
    - Dst: conv_enable_in
      Src: /src/vlc/modules/hw/mmal/converter.c:616,1
    - Dst: filter_NewPicture
      Src: /src/vlc/modules/hw/mmal/converter.c:623,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/converter.c:627,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/hw/mmal/converter.c:635,1
    - Dst: pic_fifo_put
      Src: /src/vlc/modules/hw/mmal/converter.c:636,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/hw/mmal/converter.c:637,1
    - Dst: mmal_queue_get
      Src: /src/vlc/modules/hw/mmal/converter.c:641,1
    - Dst: mmal_port_send_buffer
      Src: /src/vlc/modules/hw/mmal/converter.c:642,1
    - Dst: mmal_queue_wait
      Src: /src/vlc/modules/hw/mmal/converter.c:647,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/converter.c:649,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/mmal/converter.c:650,1
    - Dst: mmal_buffer_header_reset
      Src: /src/vlc/modules/hw/mmal/converter.c:653,1
    - Dst: mmal_buffer_header_pre_release_cb_set
      Src: /src/vlc/modules/hw/mmal/converter.c:658,1
    - Dst: mmal_port_send_buffer
      Src: /src/vlc/modules/hw/mmal/converter.c:666,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/converter.c:668,1
    - Dst: GetMMALDeviceOpaque
      Src: /src/vlc/modules/hw/mmal/converter.c:680,1
    - Dst: hw_mmal_pic_buf_copied
      Src: /src/vlc/modules/hw/mmal/converter.c:682,1
    - Dst: hw_mmal_pic_buf_replicated
      Src: /src/vlc/modules/hw/mmal/converter.c:684,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/mmal/converter.c:687,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/converter.c:691,1
    - Dst: mmal_port_send_buffer
      Src: /src/vlc/modules/hw/mmal/converter.c:697,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/converter.c:699,1
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/converter.c:700,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/modules/hw/mmal/converter.c:711,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/hw/mmal/converter.c:714,1
    - Dst: pic_fifo_get
      Src: /src/vlc/modules/hw/mmal/converter.c:715,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/hw/mmal/converter.c:716,1
    - Dst: conv_stash_fixup
      Src: /src/vlc/modules/hw/mmal/converter.c:721,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/converter.c:726,1
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/converter.c:729,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/mmal/converter.c:731,1
    - Dst: filter_Flush
      Src: /src/vlc/modules/hw/mmal/converter.c:732,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 125
    argCount: 2
    argNames:
    - p_filter
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 533
    functionDepth: 4
    functionLinenumber: 533
    functionLinenumberEnd: 734
    functionName: conv_filter
    functionSourceFile: /src/vlc/modules/hw/mmal/converter.c
    functionUses: 0
    functionsReached:
    - vlc_sem_wait
    - mmal_buffer_header_reset
    - mmal_buffer_header_release
    - mmal_buffer_header_acquire
    - mmal_port_format_commit
    - picture_Release
    - mmal_queue_wait
    - conv_set_output
    - conv_stash_fixup
    - vlc_mutex_lock
    - filter_Flush
    - mmal_buffer_header_pre_release_cb_set
    - msg_Err
    - msg_Dbg
    - hw_mmal_pic_buf_replicated
    - mmal_pool_create
    - hw_mmal_pic_buf_copied
    - pic_fifo_put
    - GetMMALDeviceOpaque
    - hw_mmal_pic_sub_buf_get
    - hw_mmal_subpic_update
    - filter_NewPicture
    - conv_enable_out
    - conv_enable_in
    - hw_mmal_vlc_pic_to_mmal_fmt_update
    - vlc_mutex_unlock
    - mmal_queue_get
    - mmal_port_pool_create
    - VLC_OBJECT
    - pic_fifo_get
    - mmal_port_send_buffer
    linkageType: ''
    returnType: picture_t
    signature: picture_t *conv_filter(filter_t *p_filter, picture_t *p_pic)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: conv_flush
      Src: /src/vlc/modules/hw/mmal/converter.c:744,1
    - Dst: cma_buf_pool_deletez
      Src: /src/vlc/modules/hw/mmal/converter.c:746,1
    - Dst: cma_buf_pool_deletez
      Src: /src/vlc/modules/hw/mmal/converter.c:747,1
    - Dst: mmal_port_disable
      Src: /src/vlc/modules/hw/mmal/converter.c:750,1
    - Dst: mmal_component_disable
      Src: /src/vlc/modules/hw/mmal/converter.c:753,1
    - Dst: hw_mmal_subpic_close
      Src: /src/vlc/modules/hw/mmal/converter.c:758,1
    - Dst: mmal_port_pool_destroy
      Src: /src/vlc/modules/hw/mmal/converter.c:765,1
    - Dst: mmal_pool_destroy
      Src: /src/vlc/modules/hw/mmal/converter.c:767,1
    - Dst: mmal_pool_destroy
      Src: /src/vlc/modules/hw/mmal/converter.c:771,1
    - Dst: mmal_component_release
      Src: /src/vlc/modules/hw/mmal/converter.c:774,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/hw/mmal/converter.c:777,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/hw/mmal/converter.c:780,1
    - Dst: free
      Src: /src/vlc/modules/hw/mmal/converter.c:783,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 736
    functionDepth: 4
    functionLinenumber: 736
    functionLinenumberEnd: 784
    functionName: CloseConverter
    functionSourceFile: /src/vlc/modules/hw/mmal/converter.c
    functionUses: 0
    functionsReached:
    - vlc_video_context_Release
    - mmal_port_pool_destroy
    - vlc_decoder_device_Release
    - mmal_port_disable
    - hw_mmal_subpic_close
    - free
    - cma_buf_pool_deletez
    - conv_flush
    - mmal_component_disable
    - mmal_component_release
    - mmal_pool_destroy
    linkageType: ''
    returnType: void
    signature: void CloseConverter(filter_t *p_filter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hw_mmal_chroma_is_mmal
      Src: /src/vlc/modules/hw/mmal/converter.c:789,1
    - Dst: vlc_to_mmal_video_fourcc
      Src: /src/vlc/modules/hw/mmal/converter.c:790,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 796
    functionName: filter_enc_in
    functionSourceFile: /src/vlc/modules/hw/mmal/converter.c
    functionUses: 0
    functionsReached:
    - vlc_to_mmal_video_fourcc
    - hw_mmal_chroma_is_mmal
    linkageType: ''
    returnType: MMAL_FOURCC_T
    signature: MMAL_FOURCC_T filter_enc_in(const video_format_t * const fmt)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: vlc_to_mmal_video_fourcc
      Src: /src/vlc/modules/hw/mmal/converter.c:810,1
    - Dst: filter_enc_in
      Src: /src/vlc/modules/hw/mmal/converter.c:811,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/hw/mmal/converter.c:821,1
    - Dst: pic_to_slice_mmal_fourcc
      Src: /src/vlc/modules/hw/mmal/converter.c:846,1
    - Dst: calloc
      Src: /src/vlc/modules/hw/mmal/converter.c:850,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/hw/mmal/converter.c:858,1
    - Dst: vlc_sem_init
      Src: /src/vlc/modules/hw/mmal/converter.c:859,1
    - Dst: pic_fifo_init
      Src: /src/vlc/modules/hw/mmal/converter.c:861,1
    - Dst: pic_fifo_init
      Src: /src/vlc/modules/hw/mmal/converter.c:862,1
    - Dst: hw_mmal_chroma_is_mmal
      Src: /src/vlc/modules/hw/mmal/converter.c:864,1
    - Dst: hw_mmal_chroma_is_mmal
      Src: /src/vlc/modules/hw/mmal/converter.c:867,1
    - Dst: assert
      Src: /src/vlc/modules/hw/mmal/converter.c:869,1
    - Dst: vlc_video_context_HoldDevice
      Src: /src/vlc/modules/hw/mmal/converter.c:870,1
    - Dst: assert
      Src: /src/vlc/modules/hw/mmal/converter.c:871,1
    - Dst: filter_HoldDecoderDeviceType
      Src: /src/vlc/modules/hw/mmal/converter.c:874,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/converter.c:876,1
    - Dst: hw_mmal_chroma_is_mmal
      Src: /src/vlc/modules/hw/mmal/converter.c:880,1
    - Dst: hw_mmal_chroma_is_mmal
      Src: /src/vlc/modules/hw/mmal/converter.c:882,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/hw/mmal/converter.c:883,1
    - Dst: vlc_video_context_Create
      Src: /src/vlc/modules/hw/mmal/converter.c:885,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/mmal/converter.c:886,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/converter.c:887,1
    - Dst: mmal_component_create
      Src: /src/vlc/modules/hw/mmal/converter.c:909,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/hw/mmal/converter.c:912,1
    - Dst: CloseConverter
      Src: /src/vlc/modules/hw/mmal/converter.c:913,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/converter.c:917,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/converter.c:918,1
    - Dst: mmal_port_enable
      Src: /src/vlc/modules/hw/mmal/converter.c:925,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/converter.c:927,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/converter.c:928,1
    - Dst: GetMMALDeviceOpaque
      Src: /src/vlc/modules/hw/mmal/converter.c:932,1
    - Dst: assert
      Src: /src/vlc/modules/hw/mmal/converter.c:933,1
    - Dst: cma_buf_pool_new
      Src: /src/vlc/modules/hw/mmal/converter.c:936,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/converter.c:938,1
    - Dst: hw_mmal_vlc_fmt_to_mmal_fmt
      Src: /src/vlc/modules/hw/mmal/converter.c:946,1
    - Dst: port_parameter_set_bool
      Src: /src/vlc/modules/hw/mmal/converter.c:947,1
    - Dst: mmal_log_dump_format
      Src: /src/vlc/modules/hw/mmal/converter.c:949,1
    - Dst: mmal_port_format_commit
      Src: /src/vlc/modules/hw/mmal/converter.c:951,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/converter.c:953,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/converter.c:954,1
    - Dst: conv_enable_in
      Src: /src/vlc/modules/hw/mmal/converter.c:960,1
    - Dst: port_parameter_set_bool
      Src: /src/vlc/modules/hw/mmal/converter.c:963,1
    - Dst: mmal_component_enable
      Src: /src/vlc/modules/hw/mmal/converter.c:965,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/converter.c:967,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/converter.c:968,1
    - Dst: mmal_pool_create
      Src: /src/vlc/modules/hw/mmal/converter.c:972,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/converter.c:974,1
    - Dst: hw_mmal_subpic_open
      Src: /src/vlc/modules/hw/mmal/converter.c:982,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/mmal/converter.c:982,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/converter.c:984,1
    - Dst: CloseConverter
      Src: /src/vlc/modules/hw/mmal/converter.c:996,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/hw/mmal/converter.c:1000,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 151
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: (devsys != NULL)
      pos:
        line_end: 932
        line_start: 932
        source_file: /src/vlc/modules/hw/mmal/converter.c
    - condition: (sys->dec_dev->type == VLC_DECODER_DEVICE_MMAL)
      pos:
        line_end: 870
        line_start: 870
        source_file: /src/vlc/modules/hw/mmal/converter.c
    - condition: (p_filter->vctx_in)
      pos:
        line_end: 868
        line_start: 868
        source_file: /src/vlc/modules/hw/mmal/converter.c
    constantsTouched: []
    func_position:
      end: 1005
      start: 803
    functionDepth: 5
    functionLinenumber: 803
    functionLinenumberEnd: 1005
    functionName: OpenConverter
    functionSourceFile: /src/vlc/modules/hw/mmal/converter.c
    functionUses: 0
    functionsReached:
    - vlc_sem_init
    - assert
    - pic_fifo_init
    - mmal_port_format_commit
    - cma_buf_pool_new
    - var_GetInteger
    - filter_enc_in
    - mmal_port_enable
    - vlc_video_context_Hold
    - msg_Err
    - calloc
    - filter_HoldDecoderDeviceType
    - msg_Warn
    - mmal_component_enable
    - hw_mmal_vlc_fmt_to_mmal_fmt
    - pic_to_slice_mmal_fourcc
    - vlc_video_context_HoldDevice
    - mmal_pool_create
    - mmal_component_create
    - GetMMALDeviceOpaque
    - conv_enable_in
    - hw_mmal_subpic_open
    - port_parameter_set_bool
    - mmal_status_to_string
    - vlc_mutex_init
    - vlc_video_context_Create
    - vlc_to_mmal_video_fourcc
    - hw_mmal_chroma_is_mmal
    - CloseConverter
    - mmal_log_dump_format
    - VLC_OBJECT
    - unlikely
    linkageType: ''
    returnType: int
    signature: int OpenConverter(filter_t *p_filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - MMAL_RECT_T*
    - MMAL_RECT_T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: cmp_rect
    functionSourceFile: /src/vlc/modules/hw/mmal/subpic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cmp_rect(const MMAL_RECT_T * const a, const MMAL_RECT_T * const
      b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmal_port_disable
      Src: /src/vlc/modules/hw/mmal/subpic.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - sub
    argTypes:
    - subpic_reg_stash_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: hw_mmal_subpic_flush
    functionSourceFile: /src/vlc/modules/hw/mmal/subpic.c
    functionUses: 1
    functionsReached:
    - mmal_port_disable
    linkageType: ''
    returnType: void
    signature: void hw_mmal_subpic_flush(subpic_reg_stash_t * const sub)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hw_mmal_subpic_flush
      Src: /src/vlc/modules/hw/mmal/subpic.c:50,1
    - Dst: mmal_pool_destroy
      Src: /src/vlc/modules/hw/mmal/subpic.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - spe
    argTypes:
    - subpic_reg_stash_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: hw_mmal_subpic_close
    functionSourceFile: /src/vlc/modules/hw/mmal/subpic.c
    functionUses: 1
    functionsReached:
    - mmal_pool_destroy
    - hw_mmal_subpic_flush
    linkageType: ''
    returnType: void
    signature: void hw_mmal_subpic_close(subpic_reg_stash_t * const spe)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: port_parameter_set_bool
      Src: /src/vlc/modules/hw/mmal/subpic.c:67,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/subpic.c:69,1
    - Dst: mmal_pool_create
      Src: /src/vlc/modules/hw/mmal/subpic.c:73,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/subpic.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - obj
    - spe
    - port
    - display_id
    - layer
    argTypes:
    - vlc_object_t*
    - subpic_reg_stash_t*
    - MMAL_PORT_T*
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 85
    functionName: hw_mmal_subpic_open
    functionSourceFile: /src/vlc/modules/hw/mmal/subpic.c
    functionUses: 1
    functionsReached:
    - port_parameter_set_bool
    - mmal_pool_create
    - msg_Err
    linkageType: ''
    returnType: MMAL_STATUS_T
    signature: "MMAL_STATUS_T hw_mmal_subpic_open(vlc_object_t * const obj, subpic_reg_stash_t
      * const spe, MMAL_PORT_T * const port,\n                                  const
      int display_id, const unsigned int layer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/mmal/subpic.c:89,1
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/subpic.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - port
    - buf
    argTypes:
    - MMAL_PORT_T*
    - MMAL_BUFFER_HEADER_T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: conv_subpic_cb
    functionSourceFile: /src/vlc/modules/hw/mmal/subpic.c
    functionUses: 0
    functionsReached:
    - mmal_buffer_header_release
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void conv_subpic_cb(MMAL_PORT_T *port, MMAL_BUFFER_HEADER_T *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mmal_queue_wait
      Src: /src/vlc/modules/hw/mmal/subpic.c:99,1
    - Dst: mmal_buffer_header_replicate
      Src: /src/vlc/modules/hw/mmal/subpic.c:104,1
    - Dst: mmal_port_send_buffer
      Src: /src/vlc/modules/hw/mmal/subpic.c:109,1
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/subpic.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - port
    - rep_pool
    - src_buf
    - seq
    argTypes:
    - MMAL_PORT_T*
    - MMAL_POOL_T*
    - MMAL_BUFFER_HEADER_T*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 116
    functionName: port_send_replicated
    functionSourceFile: /src/vlc/modules/hw/mmal/subpic.c
    functionUses: 0
    functionsReached:
    - mmal_buffer_header_release
    - mmal_queue_wait
    - mmal_buffer_header_replicate
    - mmal_port_send_buffer
    linkageType: ''
    returnType: MMAL_STATUS_T
    signature: "MMAL_STATUS_T port_send_replicated(MMAL_PORT_T * const port, MMAL_POOL_T
      * const rep_pool,\n                                          MMAL_BUFFER_HEADER_T
      * const src_buf,\n                                          const uint64_t seq)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mmal_queue_wait
      Src: /src/vlc/modules/hw/mmal/subpic.c:131,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/subpic.c:134,1
    - Dst: mmal_port_send_buffer
      Src: /src/vlc/modules/hw/mmal/subpic.c:146,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/subpic.c:148,1
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/subpic.c:149,1
    - Dst: hw_mmal_vzc_buf_seq
      Src: /src/vlc/modules/hw/mmal/subpic.c:158,1
    - Dst: hw_mmal_vzc_buf_scale_dest_rect
      Src: /src/vlc/modules/hw/mmal/subpic.c:161,1
    - Dst: hw_mmal_vzc_buf_set_format
      Src: /src/vlc/modules/hw/mmal/subpic.c:163,1
    - Dst: hw_mmal_vzc_buf_region
      Src: /src/vlc/modules/hw/mmal/subpic.c:165,1
    - Dst: cmp_rect
      Src: /src/vlc/modules/hw/mmal/subpic.c:174,1
    - Dst: mmal_port_parameter_set
      Src: /src/vlc/modules/hw/mmal/subpic.c:188,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/subpic.c:190,1
    - Dst: mmal_port_format_commit
      Src: /src/vlc/modules/hw/mmal/subpic.c:194,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/mmal/subpic.c:196,1
    - Dst: mmal_port_enable
      Src: /src/vlc/modules/hw/mmal/subpic.c:207,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/mmal/subpic.c:209,1
    - Dst: port_send_replicated
      Src: /src/vlc/modules/hw/mmal/subpic.c:216,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/subpic.c:218,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 67
    argCount: 6
    argNames:
    - obj
    - sub_buf
    - spe
    - fmt
    - scale_out
    - pts
    argTypes:
    - vlc_object_t*
    - MMAL_BUFFER_HEADER_T*
    - subpic_reg_stash_t*
    - video_format_t*
    - MMAL_RECT_T*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 226
    functionName: hw_mmal_subpic_update
    functionSourceFile: /src/vlc/modules/hw/mmal/subpic.c
    functionUses: 1
    functionsReached:
    - mmal_port_enable
    - mmal_buffer_header_release
    - hw_mmal_vzc_buf_seq
    - cmp_rect
    - mmal_port_format_commit
    - msg_Err
    - hw_mmal_vzc_buf_region
    - hw_mmal_vzc_buf_scale_dest_rect
    - msg_Dbg
    - port_send_replicated
    - mmal_port_parameter_set
    - mmal_queue_wait
    - hw_mmal_vzc_buf_set_format
    - mmal_port_send_buffer
    linkageType: ''
    returnType: int
    signature: "int hw_mmal_subpic_update(vlc_object_t * const obj,\n    MMAL_BUFFER_HEADER_T
      * const sub_buf,\n    subpic_reg_stash_t * const spe,\n    const video_format_t
      * const fmt,\n    const MMAL_RECT_T * const scale_out,\n    const uint64_t pts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: want_copy
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool want_copy(const video_format_t * const fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hw_mmal_chroma_is_mmal
      Src: /src/vlc/modules/hw/mmal/vout.c:161,1
    - Dst: want_copy
      Src: /src/vlc/modules/hw/mmal/vout.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: req_chroma
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 0
    functionsReached:
    - want_copy
    - hw_mmal_chroma_is_mmal
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t req_chroma(const video_format_t * const fmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - fcc
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: vout_vlc_to_mmal_pic_fourcc
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MMAL_FOURCC_T
    signature: MMAL_FOURCC_T vout_vlc_to_mmal_pic_fourcc(const unsigned int fcc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vout_vlc_to_mmal_pic_fourcc
      Src: /src/vlc/modules/hw/mmal/vout.c:185,1
    - Dst: vlc_to_mmal_color_space
      Src: /src/vlc/modules/hw/mmal/vout.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - vd
    - es_fmt
    - is_intermediate
    argTypes:
    - vout_display_t*
    - MMAL_ES_FORMAT_T*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 204
    functionName: display_set_format
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 0
    functionsReached:
    - vout_vlc_to_mmal_pic_fourcc
    - vlc_to_mmal_color_space
    linkageType: ''
    returnType: void
    signature: void display_set_format(const vout_display_t * const vd, MMAL_ES_FORMAT_T
      *const es_fmt, const bool is_intermediate)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - vd
    - rect
    argTypes:
    - vout_display_t*
    - MMAL_RECT_T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: display_src_rect
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void display_src_rect(const vout_display_t * const vd, MMAL_RECT_T
      *const rect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/mmal/vout.c:217,1
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/vout.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - port
    - buf
    argTypes:
    - MMAL_PORT_T*
    - MMAL_BUFFER_HEADER_T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 220
    functionName: isp_input_cb
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 0
    functionsReached:
    - mmal_buffer_header_release
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void isp_input_cb(MMAL_PORT_T *port, MMAL_BUFFER_HEADER_T *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/hw/mmal/vout.c:228,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/vout.c:229,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/vout.c:229,1
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/vout.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - port
    - buffer
    argTypes:
    - MMAL_PORT_T*
    - MMAL_BUFFER_HEADER_T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 233
    functionName: isp_control_port_cb
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 0
    functionsReached:
    - mmal_buffer_header_release
    - mmal_status_to_string
    - memcpy
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void isp_control_port_cb(MMAL_PORT_T *port, MMAL_BUFFER_HEADER_T *buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmal_queue_put
      Src: /src/vlc/modules/hw/mmal/vout.c:245,1
    - Dst: mmal_buffer_header_reset
      Src: /src/vlc/modules/hw/mmal/vout.c:249,1
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/vout.c:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - port
    - buf
    argTypes:
    - MMAL_PORT_T*
    - MMAL_BUFFER_HEADER_T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 252
    functionName: isp_output_cb
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 0
    functionsReached:
    - mmal_buffer_header_release
    - mmal_queue_put
    - mmal_buffer_header_reset
    linkageType: ''
    returnType: void
    signature: void isp_output_cb(MMAL_PORT_T *port, MMAL_BUFFER_HEADER_T *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmal_queue_get
      Src: /src/vlc/modules/hw/mmal/vout.c:261,1
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/vout.c:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - isp
    argTypes:
    - struct vout_isp_conf_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 263
    functionName: isp_empty_out_q
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 0
    functionsReached:
    - mmal_buffer_header_release
    - mmal_queue_get
    linkageType: ''
    returnType: void
    signature: void isp_empty_out_q(struct vout_isp_conf_s * const isp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mmal_port_disable
      Src: /src/vlc/modules/hw/mmal/vout.c:268,1
    - Dst: mmal_port_disable
      Src: /src/vlc/modules/hw/mmal/vout.c:271,1
    - Dst: isp_empty_out_q
      Src: /src/vlc/modules/hw/mmal/vout.c:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - isp
    argTypes:
    - struct vout_isp_conf_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 275
    functionName: isp_flush
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 0
    functionsReached:
    - mmal_port_disable
    - isp_empty_out_q
    linkageType: ''
    returnType: void
    signature: void isp_flush(struct vout_isp_conf_s * const isp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mmal_port_enable
      Src: /src/vlc/modules/hw/mmal/vout.c:283,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/vout.c:285,1
    - Dst: mmal_queue_get
      Src: /src/vlc/modules/hw/mmal/vout.c:290,1
    - Dst: mmal_port_send_buffer
      Src: /src/vlc/modules/hw/mmal/vout.c:291,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/vout.c:293,1
    - Dst: mmal_port_enable
      Src: /src/vlc/modules/hw/mmal/vout.c:299,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/vout.c:301,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - vd
    - isp
    argTypes:
    - vout_display_t*
    - struct vout_isp_conf_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 306
    functionName: isp_prepare
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 0
    functionsReached:
    - mmal_port_enable
    - mmal_port_send_buffer
    - mmal_queue_get
    - msg_Err
    linkageType: ''
    returnType: MMAL_STATUS_T
    signature: MMAL_STATUS_T isp_prepare(vout_display_t * const vd, struct vout_isp_conf_s
      * const isp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/mmal/vout.c:311,1
    - Dst: isp_flush
      Src: /src/vlc/modules/hw/mmal/vout.c:316,1
    - Dst: mmal_port_disable
      Src: /src/vlc/modules/hw/mmal/vout.c:319,1
    - Dst: isp_empty_out_q
      Src: /src/vlc/modules/hw/mmal/vout.c:323,1
    - Dst: mmal_queue_destroy
      Src: /src/vlc/modules/hw/mmal/vout.c:325,1
    - Dst: mmal_port_pool_destroy
      Src: /src/vlc/modules/hw/mmal/vout.c:330,1
    - Dst: mmal_component_release
      Src: /src/vlc/modules/hw/mmal/vout.c:337,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - vd
    - vd_sys
    argTypes:
    - vout_display_t*
    - vout_display_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 341
    functionName: isp_close
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 0
    functionsReached:
    - mmal_port_pool_destroy
    - mmal_port_disable
    - VLC_UNUSED
    - mmal_component_release
    - isp_flush
    - mmal_queue_destroy
    - isp_empty_out_q
    linkageType: ''
    returnType: void
    signature: void isp_close(vout_display_t * const vd, vout_display_sys_t * const
      vd_sys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/mmal/vout.c:347,1
    - Dst: mmal_buffer_header_reset
      Src: /src/vlc/modules/hw/mmal/vout.c:349,1
    - Dst: mmal_port_send_buffer
      Src: /src/vlc/modules/hw/mmal/vout.c:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pool
    - buffer
    - userdata
    argTypes:
    - MMAL_POOL_T*
    - MMAL_BUFFER_HEADER_T*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 354
    functionName: isp_out_pool_cb
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 0
    functionsReached:
    - mmal_port_send_buffer
    - mmal_buffer_header_reset
    - VLC_UNUSED
    linkageType: ''
    returnType: MMAL_BOOL_T
    signature: MMAL_BOOL_T isp_out_pool_cb(MMAL_POOL_T *pool, MMAL_BUFFER_HEADER_T
      *buffer, void *userdata)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mmal_component_create
      Src: /src/vlc/modules/hw/mmal/vout.c:361,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/vout.c:362,1
    - Dst: mmal_port_enable
      Src: /src/vlc/modules/hw/mmal/vout.c:369,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/vout.c:370,1
    - Dst: display_set_format
      Src: /src/vlc/modules/hw/mmal/vout.c:375,1
    - Dst: port_parameter_set_bool
      Src: /src/vlc/modules/hw/mmal/vout.c:377,1
    - Dst: mmal_port_format_commit
      Src: /src/vlc/modules/hw/mmal/vout.c:380,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/vout.c:381,1
    - Dst: mmal_pool_create
      Src: /src/vlc/modules/hw/mmal/vout.c:388,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/vout.c:390,1
    - Dst: mmal_queue_create
      Src: /src/vlc/modules/hw/mmal/vout.c:394,1
    - Dst: display_set_format
      Src: /src/vlc/modules/hw/mmal/vout.c:400,1
    - Dst: port_parameter_set_bool
      Src: /src/vlc/modules/hw/mmal/vout.c:402,1
    - Dst: mmal_port_format_commit
      Src: /src/vlc/modules/hw/mmal/vout.c:405,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/vout.c:406,1
    - Dst: mmal_port_pool_create
      Src: /src/vlc/modules/hw/mmal/vout.c:414,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/vout.c:416,1
    - Dst: mmal_pool_callback_set
      Src: /src/vlc/modules/hw/mmal/vout.c:420,1
    - Dst: isp_prepare
      Src: /src/vlc/modules/hw/mmal/vout.c:422,1
    - Dst: isp_close
      Src: /src/vlc/modules/hw/mmal/vout.c:428,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 61
    argCount: 2
    argNames:
    - vd
    - vd_sys
    argTypes:
    - vout_display_t*
    - vout_display_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 356
    functionDepth: 3
    functionLinenumber: 356
    functionLinenumberEnd: 430
    functionName: isp_setup
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 0
    functionsReached:
    - mmal_port_enable
    - port_parameter_set_bool
    - display_set_format
    - mmal_pool_create
    - isp_prepare
    - mmal_queue_create
    - mmal_component_create
    - mmal_port_format_commit
    - msg_Err
    - mmal_port_pool_create
    - isp_close
    - mmal_pool_callback_set
    linkageType: ''
    returnType: MMAL_STATUS_T
    signature: MMAL_STATUS_T isp_setup(vout_display_t * const vd, vout_display_sys_t
      * const vd_sys)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isp_flush
      Src: /src/vlc/modules/hw/mmal/vout.c:445,1
    - Dst: mmal_queue_length
      Src: /src/vlc/modules/hw/mmal/vout.c:448,1
    - Dst: isp_close
      Src: /src/vlc/modules/hw/mmal/vout.c:449,1
    - Dst: isp_setup
      Src: /src/vlc/modules/hw/mmal/vout.c:454,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - vd
    - vd_sys
    argTypes:
    - vout_display_t*
    - vout_display_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 432
    functionDepth: 4
    functionLinenumber: 432
    functionLinenumberEnd: 458
    functionName: isp_check
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 0
    functionsReached:
    - isp_flush
    - isp_setup
    - isp_close
    - mmal_queue_length
    linkageType: ''
    returnType: MMAL_STATUS_T
    signature: MMAL_STATUS_T isp_check(vout_display_t * const vd, vout_display_sys_t
      * const vd_sys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/mmal/vout.c:471,1
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/vout.c:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - port
    - buf
    argTypes:
    - MMAL_PORT_T*
    - MMAL_BUFFER_HEADER_T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 474
    functionName: vd_input_port_cb
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 0
    functionsReached:
    - mmal_buffer_header_release
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void vd_input_port_cb(MMAL_PORT_T *port, MMAL_BUFFER_HEADER_T *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - place
    argTypes:
    - vout_display_place_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 485
    functionName: place_to_mmal_rect
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MMAL_RECT_T
    signature: MMAL_RECT_T place_to_mmal_rect(const vout_display_place_t place)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: place_to_mmal_rect
      Src: /src/vlc/modules/hw/mmal/vout.c:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 492
    functionName: place_dest
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 0
    functionsReached:
    - place_to_mmal_rect
    linkageType: ''
    returnType: void
    signature: void place_dest(vout_display_t *vd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isp_check
      Src: /src/vlc/modules/hw/mmal/vout.c:500,1
    - Dst: mmal_port_format_commit
      Src: /src/vlc/modules/hw/mmal/vout.c:505,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/vout.c:507,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/vout.c:508,1
    - Dst: place_dest
      Src: /src/vlc/modules/hw/mmal/vout.c:511,1
    - Dst: display_src_rect
      Src: /src/vlc/modules/hw/mmal/vout.c:516,1
    - Dst: mmal_port_parameter_set
      Src: /src/vlc/modules/hw/mmal/vout.c:522,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/vout.c:524,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/vout.c:525,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/hw/mmal/vout.c:529,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/hw/mmal/vout.c:530,1
    - Dst: adjust_refresh_rate
      Src: /src/vlc/modules/hw/mmal/vout.c:532,1
    - Dst: set_latency_target
      Src: /src/vlc/modules/hw/mmal/vout.c:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 494
    functionDepth: 5
    functionLinenumber: 494
    functionLinenumberEnd: 537
    functionName: configure_display
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 0
    functionsReached:
    - mmal_status_to_string
    - adjust_refresh_rate
    - isp_check
    - var_InheritBool
    - mmal_port_format_commit
    - msg_Err
    - place_dest
    - display_src_rect
    - set_latency_target
    - mmal_port_parameter_set
    linkageType: ''
    returnType: int
    signature: int configure_display(vout_display_t *vd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/mmal/vout.c:541,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/mmal/vout.c:541,1
    - Dst: configure_display
      Src: /src/vlc/modules/hw/mmal/vout.c:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - vd
    - width
    - height
    argTypes:
    - vout_display_t*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 539
    functionDepth: 6
    functionLinenumber: 539
    functionLinenumberEnd: 543
    functionName: SetDisplaySize
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 0
    functionsReached:
    - configure_display
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int SetDisplaySize(vout_display_t *vd, unsigned width, unsigned height)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mmal_port_enable
      Src: /src/vlc/modules/hw/mmal/vout.c:551,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/vout.c:553,1
    - Dst: mmal_port_send_buffer
      Src: /src/vlc/modules/hw/mmal/vout.c:561,1
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/vout.c:563,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/vout.c:564,1
    - Dst: mmal_queue_wait
      Src: /src/vlc/modules/hw/mmal/vout.c:569,1
    - Dst: mmal_port_send_buffer
      Src: /src/vlc/modules/hw/mmal/vout.c:571,1
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/vout.c:573,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/vout.c:574,1
    - Dst: hw_mmal_pic_buf_replicated
      Src: /src/vlc/modules/hw/mmal/vout.c:580,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/vout.c:583,1
    - Dst: hw_mmal_vlc_pic_to_mmal_fmt_update
      Src: /src/vlc/modules/hw/mmal/vout.c:589,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/mmal/vout.c:591,1
    - Dst: mmal_port_format_commit
      Src: /src/vlc/modules/hw/mmal/vout.c:594,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/hw/mmal/vout.c:595,1
    - Dst: mmal_port_send_buffer
      Src: /src/vlc/modules/hw/mmal/vout.c:598,1
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/vout.c:600,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/vout.c:601,1
    - Dst: hw_mmal_chroma_is_mmal
      Src: /src/vlc/modules/hw/mmal/vout.c:609,1
    - Dst: hw_mmal_pic_sub_buf_get
      Src: /src/vlc/modules/hw/mmal/vout.c:614,1
    - Dst: hw_mmal_subpic_update
      Src: /src/vlc/modules/hw/mmal/vout.c:616,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/mmal/vout.c:616,1
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/vout.c:630,1
    - Dst: maintain_phase_sync
      Src: /src/vlc/modules/hw/mmal/vout.c:635,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 58
    argCount: 2
    argNames:
    - vd
    - p_pic
    argTypes:
    - vout_display_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 637
    functionName: vd_display
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 0
    functionsReached:
    - mmal_port_enable
    - hw_mmal_pic_buf_replicated
    - mmal_buffer_header_release
    - mmal_port_format_commit
    - hw_mmal_pic_sub_buf_get
    - msg_Err
    - hw_mmal_subpic_update
    - maintain_phase_sync
    - hw_mmal_vlc_pic_to_mmal_fmt_update
    - msg_Dbg
    - hw_mmal_chroma_is_mmal
    - msg_Warn
    - VLC_OBJECT
    - mmal_queue_wait
    - mmal_port_send_buffer
    linkageType: ''
    returnType: void
    signature: void vd_display(vout_display_t *vd, picture_t *p_pic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/hw/mmal/vout.c:642,1
    - Dst: req_chroma
      Src: /src/vlc/modules/hw/mmal/vout.c:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - vd
    - fmt
    argTypes:
    - vout_display_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 639
    functionDepth: 2
    functionLinenumber: 639
    functionLinenumberEnd: 646
    functionName: vd_reset_pictures
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 0
    functionsReached:
    - req_chroma
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int vd_reset_pictures(vout_display_t *vd, video_format_t *fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/mmal/vout.c:650,1
    - Dst: configure_display
      Src: /src/vlc/modules/hw/mmal/vout.c:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vd
    - place
    argTypes:
    - vout_display_t*
    - vout_display_place_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 648
    functionDepth: 6
    functionLinenumber: 648
    functionLinenumberEnd: 652
    functionName: vd_video_place_changed
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 0
    functionsReached:
    - configure_display
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int vd_video_place_changed(vout_display_t *vd, const vout_display_place_t
      *place)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/mmal/vout.c:656,1
    - Dst: vd_video_place_changed
      Src: /src/vlc/modules/hw/mmal/vout.c:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vd
    - source
    argTypes:
    - vout_display_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 654
    functionDepth: 7
    functionLinenumber: 654
    functionLinenumberEnd: 658
    functionName: vd_aspect_changed
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 0
    functionsReached:
    - vd_video_place_changed
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int vd_aspect_changed(vout_display_t *vd, const video_format_t *source)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetMMALDeviceOpaque
      Src: /src/vlc/modules/hw/mmal/vout.c:666,1
    - Dst: hw_mmal_vzc_pool_new
      Src: /src/vlc/modules/hw/mmal/vout.c:667,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/vout.c:669,1
    - Dst: vlc_vector_foreach
      Src: /src/vlc/modules/hw/mmal/vout.c:676,1
    - Dst: hw_mmal_vzc_buf_from_pic
      Src: /src/vlc/modules/hw/mmal/vout.c:681,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/vout.c:691,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - vd
    - sys
    - spic
    argTypes:
    - vout_display_t*
    - vout_display_sys_t*
    - vlc_render_subpicture*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 699
    functionName: attach_subpics
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 0
    functionsReached:
    - vlc_vector_foreach
    - GetMMALDeviceOpaque
    - msg_Err
    - hw_mmal_vzc_buf_from_pic
    - hw_mmal_vzc_pool_new
    linkageType: ''
    returnType: int
    signature: "int attach_subpics(vout_display_t * const vd, vout_display_sys_t *
      const sys,\n                          const vlc_render_subpicture * const spic)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/mmal/vout.c:705,1
    - Dst: configure_display
      Src: /src/vlc/modules/hw/mmal/vout.c:719,1
    - Dst: attach_subpics
      Src: /src/vlc/modules/hw/mmal/vout.c:726,1
    - Dst: want_copy
      Src: /src/vlc/modules/hw/mmal/vout.c:730,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/vout.c:732,1
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/vout.c:733,1
    - Dst: mmal_queue_wait
      Src: /src/vlc/modules/hw/mmal/vout.c:737,1
    - Dst: GetMMALDeviceOpaque
      Src: /src/vlc/modules/hw/mmal/vout.c:739,1
    - Dst: hw_mmal_copy_pic_to_buf
      Src: /src/vlc/modules/hw/mmal/vout.c:740,1
    - Dst: isp_check
      Src: /src/vlc/modules/hw/mmal/vout.c:747,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 4
    argNames:
    - vd
    - p_pic
    - subpicture
    - date
    argTypes:
    - vout_display_t*
    - picture_t*
    - vlc_render_subpicture*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 702
    functionDepth: 6
    functionLinenumber: 702
    functionLinenumberEnd: 750
    functionName: vd_prepare
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 0
    functionsReached:
    - configure_display
    - want_copy
    - mmal_buffer_header_release
    - attach_subpics
    - isp_check
    - GetMMALDeviceOpaque
    - msg_Err
    - hw_mmal_copy_pic_to_buf
    - mmal_queue_wait
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void vd_prepare(vout_display_t *vd, picture_t *p_pic,\n                       const
      vlc_render_subpicture *subpicture, vlc_tick_t date)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/hw/mmal/vout.c:759,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/vout.c:760,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/vout.c:760,1
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/vout.c:763,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - port
    - buffer
    argTypes:
    - MMAL_PORT_T*
    - MMAL_BUFFER_HEADER_T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 764
    functionName: vd_control_port_cb
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 0
    functionsReached:
    - mmal_buffer_header_release
    - mmal_status_to_string
    - memcpy
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void vd_control_port_cb(MMAL_PORT_T *port, MMAL_BUFFER_HEADER_T *buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmal_port_parameter_set
      Src: /src/vlc/modules/hw/mmal/vout.c:782,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/vout.c:784,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/vout.c:785,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - vd
    - enable
    argTypes:
    - vout_display_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 790
    functionName: set_latency_target
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 1
    functionsReached:
    - mmal_status_to_string
    - mmal_port_parameter_set
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int set_latency_target(vout_display_t *vd, bool enable)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vc_tv_get_display_state_id
      Src: /src/vlc/modules/hw/mmal/vout.c:804,1
    - Dst: vc_tv_hdmi_get_supported_modes_new_id
      Src: /src/vlc/modules/hw/mmal/vout.c:806,1
    - Dst: fmod
      Src: /src/vlc/modules/hw/mmal/vout.c:824,1
    - Dst: msg_Info
      Src: /src/vlc/modules/hw/mmal/vout.c:832,1
    - Dst: vc_tv_hdmi_power_on_explicit_new_id
      Src: /src/vlc/modules/hw/mmal/vout.c:834,1
    - Dst: vc_gencmd
      Src: /src/vlc/modules/hw/mmal/vout.c:842,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/hw/mmal/vout.c:844,1
    - Dst: msg_Info
      Src: /src/vlc/modules/hw/mmal/vout.c:846,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 30
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 850
    functionName: adjust_refresh_rate
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 1
    functionsReached:
    - vc_tv_get_display_state_id
    - vc_tv_hdmi_power_on_explicit_new_id
    - fmod
    - msg_Info
    - msg_Warn
    - vc_gencmd
    - vc_tv_hdmi_get_supported_modes_new_id
    linkageType: ''
    returnType: void
    signature: void adjust_refresh_rate(vout_display_t *vd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mmal_port_parameter_get
      Src: /src/vlc/modules/hw/mmal/vout.c:865,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/vout.c:867,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/vout.c:868,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/mmal/vout.c:874,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/mmal/vout.c:891,1
    - Dst: set_latency_target
      Src: /src/vlc/modules/hw/mmal/vout.c:896,1
    - Dst: set_latency_target
      Src: /src/vlc/modules/hw/mmal/vout.c:897,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 852
    functionDepth: 2
    functionLinenumber: 852
    functionLinenumberEnd: 899
    functionName: maintain_phase_sync
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 1
    functionsReached:
    - mmal_status_to_string
    - msg_Err
    - msg_Dbg
    - mmal_port_parameter_get
    - set_latency_target
    linkageType: ''
    returnType: void
    signature: void maintain_phase_sync(vout_display_t *vd)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/vout.c:909,1
    - Dst: hw_mmal_subpic_close
      Src: /src/vlc/modules/hw/mmal/vout.c:914,1
    - Dst: mmal_port_disable
      Src: /src/vlc/modules/hw/mmal/vout.c:916,1
    - Dst: mmal_component_disable
      Src: /src/vlc/modules/hw/mmal/vout.c:918,1
    - Dst: mmal_component_release
      Src: /src/vlc/modules/hw/mmal/vout.c:919,1
    - Dst: mmal_port_disable
      Src: /src/vlc/modules/hw/mmal/vout.c:925,1
    - Dst: mmal_port_disable
      Src: /src/vlc/modules/hw/mmal/vout.c:928,1
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/vout.c:931,1
    - Dst: mmal_port_pool_destroy
      Src: /src/vlc/modules/hw/mmal/vout.c:934,1
    - Dst: mmal_component_disable
      Src: /src/vlc/modules/hw/mmal/vout.c:937,1
    - Dst: mmal_pool_destroy
      Src: /src/vlc/modules/hw/mmal/vout.c:940,1
    - Dst: mmal_component_release
      Src: /src/vlc/modules/hw/mmal/vout.c:943,1
    - Dst: isp_close
      Src: /src/vlc/modules/hw/mmal/vout.c:945,1
    - Dst: hw_mmal_vzc_pool_release
      Src: /src/vlc/modules/hw/mmal/vout.c:947,1
    - Dst: vc_gencmd
      Src: /src/vlc/modules/hw/mmal/vout.c:950,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/hw/mmal/vout.c:952,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/hw/mmal/vout.c:956,1
    - Dst: free
      Src: /src/vlc/modules/hw/mmal/vout.c:958,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 38
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 901
    functionDepth: 3
    functionLinenumber: 901
    functionLinenumberEnd: 959
    functionName: CloseMmalVout
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 0
    functionsReached:
    - mmal_port_pool_destroy
    - vlc_decoder_device_Release
    - mmal_buffer_header_release
    - mmal_port_disable
    - hw_mmal_subpic_close
    - free
    - mmal_component_disable
    - isp_close
    - msg_Warn
    - hw_mmal_vzc_pool_release
    - mmal_component_release
    - vc_gencmd
    - mmal_pool_destroy
    linkageType: ''
    returnType: void
    signature: void CloseMmalVout(vout_display_t * vd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/vlc/modules/hw/mmal/vout.c:975,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 972
    functionDepth: 2
    functionLinenumber: 972
    functionLinenumberEnd: 978
    functionName: find_display_num
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int find_display_num(const char * name)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: hw_mmal_chroma_is_mmal
      Src: /src/vlc/modules/hw/mmal/vout.c:1002,1
    - Dst: vout_vlc_to_mmal_pic_fourcc
      Src: /src/vlc/modules/hw/mmal/vout.c:1004,1
    - Dst: calloc
      Src: /src/vlc/modules/hw/mmal/vout.c:1006,1
    - Dst: vlc_video_context_HoldDevice
      Src: /src/vlc/modules/hw/mmal/vout.c:1013,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/hw/mmal/vout.c:1016,1
    - Dst: vlc_decoder_device_Create
      Src: /src/vlc/modules/hw/mmal/vout.c:1022,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/mmal/vout.c:1022,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/vout.c:1025,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/hw/mmal/vout.c:1029,1
    - Dst: mmal_component_create
      Src: /src/vlc/modules/hw/mmal/vout.c:1031,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/vout.c:1033,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/vout.c:1034,1
    - Dst: mmal_port_enable
      Src: /src/vlc/modules/hw/mmal/vout.c:1039,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/vout.c:1041,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/vout.c:1042,1
    - Dst: display_set_format
      Src: /src/vlc/modules/hw/mmal/vout.c:1053,1
    - Dst: port_parameter_set_bool
      Src: /src/vlc/modules/hw/mmal/vout.c:1055,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/vout.c:1057,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/vout.c:1058,1
    - Dst: mmal_port_format_commit
      Src: /src/vlc/modules/hw/mmal/vout.c:1062,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/vout.c:1064,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/vout.c:1065,1
    - Dst: mmal_port_pool_create
      Src: /src/vlc/modules/hw/mmal/vout.c:1076,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/vout.c:1078,1
    - Dst: place_dest
      Src: /src/vlc/modules/hw/mmal/vout.c:1083,1
    - Dst: display_src_rect
      Src: /src/vlc/modules/hw/mmal/vout.c:1089,1
    - Dst: mmal_port_parameter_set
      Src: /src/vlc/modules/hw/mmal/vout.c:1096,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/vout.c:1098,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/vout.c:1099,1
    - Dst: mmal_port_enable
      Src: /src/vlc/modules/hw/mmal/vout.c:1103,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/vout.c:1105,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/vout.c:1106,1
    - Dst: mmal_component_enable
      Src: /src/vlc/modules/hw/mmal/vout.c:1110,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/vout.c:1112,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/vout.c:1113,1
    - Dst: mmal_pool_create
      Src: /src/vlc/modules/hw/mmal/vout.c:1117,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/vout.c:1119,1
    - Dst: mmal_component_create
      Src: /src/vlc/modules/hw/mmal/vout.c:1125,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/mmal/vout.c:1127,1
    - Dst: mmal_port_enable
      Src: /src/vlc/modules/hw/mmal/vout.c:1131,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/vout.c:1132,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/vout.c:1133,1
    - Dst: hw_mmal_subpic_open
      Src: /src/vlc/modules/hw/mmal/vout.c:1136,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/mmal/vout.c:1136,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/mmal/vout.c:1138,1
    - Dst: mmal_component_enable
      Src: /src/vlc/modules/hw/mmal/vout.c:1141,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/mmal/vout.c:1143,1
    - Dst: req_chroma
      Src: /src/vlc/modules/hw/mmal/vout.c:1149,1
    - Dst: CloseMmalVout
      Src: /src/vlc/modules/hw/mmal/vout.c:1160,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 127
    argCount: 3
    argNames:
    - vd
    - fmtp
    - vctx
    argTypes:
    - vout_display_t*
    - video_format_t*
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 991
    functionDepth: 4
    functionLinenumber: 991
    functionLinenumberEnd: 1163
    functionName: OpenMmalVout
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 0
    functionsReached:
    - vlc_decoder_device_Release
    - CloseMmalVout
    - mmal_port_format_commit
    - mmal_port_parameter_set
    - mmal_port_enable
    - display_set_format
    - msg_Err
    - calloc
    - msg_Dbg
    - mmal_component_enable
    - vlc_video_context_HoldDevice
    - vlc_decoder_device_Create
    - mmal_pool_create
    - var_InheritInteger
    - mmal_component_create
    - display_src_rect
    - vout_vlc_to_mmal_pic_fourcc
    - hw_mmal_subpic_open
    - port_parameter_set_bool
    - mmal_status_to_string
    - place_dest
    - mmal_port_pool_create
    - hw_mmal_chroma_is_mmal
    - VLC_OBJECT
    - req_chroma
    linkageType: ''
    returnType: int
    signature: "int OpenMmalVout(vout_display_t *vd,\n                        video_format_t
      *fmtp, vlc_video_context *vctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vc_tv_get_display_state_id
      Src: /src/vlc/modules/hw/mmal/vout.c:1172,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/mmal/vout.c:1173,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/mmal/vout.c:1175,1
    - Dst: vlc_window_ReportSize
      Src: /src/vlc/modules/hw/mmal/vout.c:1176,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/mmal/vout.c:1178,1
    - Dst: vlc_window_ReportSize
      Src: /src/vlc/modules/hw/mmal/vout.c:1179,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/hw/mmal/vout.c:1181,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/hw/mmal/vout.c:1185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1167
    functionDepth: 1
    functionLinenumber: 1167
    functionLinenumberEnd: 1190
    functionName: send_resolution
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 0
    functionsReached:
    - vlc_window_ReportSize
    - vc_tv_get_display_state_id
    - msg_Dbg
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int send_resolution(vlc_window_t *wnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/mmal/vout.c:1194,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/mmal/vout.c:1195,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/mmal/vout.c:1196,1
    - Dst: send_resolution
      Src: /src/vlc/modules/hw/mmal/vout.c:1199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - callback_data
    - reason
    - param1
    - param2
    argTypes:
    - void*
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1192
    functionDepth: 2
    functionLinenumber: 1192
    functionLinenumberEnd: 1200
    functionName: tvservice_cb
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 0
    functionsReached:
    - send_resolution
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void tvservice_cb(void *callback_data, uint32_t reason, uint32_t param1,
      uint32_t param2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: send_resolution
      Src: /src/vlc/modules/hw/mmal/vout.c:1204,1
    - Dst: vc_tv_register_callback
      Src: /src/vlc/modules/hw/mmal/vout.c:1208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wnd
    - cfg
    argTypes:
    - vlc_window_t*
    - vlc_window_cfg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1202
    functionDepth: 2
    functionLinenumber: 1202
    functionLinenumberEnd: 1210
    functionName: EnableWindow
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 0
    functionsReached:
    - send_resolution
    - vc_tv_register_callback
    linkageType: ''
    returnType: int
    signature: int EnableWindow(vlc_window_t *wnd, const vlc_window_cfg_t *cfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vc_tv_unregister_callback_full
      Src: /src/vlc/modules/hw/mmal/vout.c:1214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1215
    functionName: DisableWindow
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 0
    functionsReached:
    - vc_tv_unregister_callback_full
    linkageType: ''
    returnType: void
    signature: void DisableWindow(vlc_window_t *wnd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritString
      Src: /src/vlc/modules/hw/mmal/vout.c:1220,1
    - Dst: find_display_num
      Src: /src/vlc/modules/hw/mmal/vout.c:1222,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/hw/mmal/vout.c:1226,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/mmal/vout.c:1228,1
    - Dst: free
      Src: /src/vlc/modules/hw/mmal/vout.c:1230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1217
    functionDepth: 3
    functionLinenumber: 1217
    functionLinenumberEnd: 1241
    functionName: OpenMmalWindow
    functionSourceFile: /src/vlc/modules/hw/mmal/vout.c
    functionUses: 0
    functionsReached:
    - var_InheritString
    - free
    - find_display_num
    - msg_Dbg
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int OpenMmalWindow(vlc_window_t *wnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: UINT64_SIZE
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UINT64_SIZE(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_SIZE
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:42,1
    - Dst: vcsm_clean_invalid2
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - start
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 58
    functionName: flush_range
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 0
    functionsReached:
    - vcsm_clean_invalid2
    - UINT64_SIZE
    linkageType: ''
    returnType: void
    signature: void flush_range(void * const start, const size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - vlc_cs
    argTypes:
    - video_color_space_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: vlc_to_mmal_color_space
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: MMAL_FOURCC_T
    signature: MMAL_FOURCC_T vlc_to_mmal_color_space(const video_color_space_t vlc_cs)
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 1
    argNames:
    - vf_vlc
    argTypes:
    - video_frame_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 103
    functionName: vlc_to_mmal_video_fourcc
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: MMAL_FOURCC_T
    signature: MMAL_FOURCC_T vlc_to_mmal_video_fourcc(const video_frame_format_t *
      const vf_vlc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_to_mmal_color_space
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - vf_mmal
    - vf_vlc
    argTypes:
    - MMAL_VIDEO_FORMAT_T*
    - video_frame_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 125
    functionName: vlc_fmt_to_video_format
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 0
    functionsReached:
    - vlc_to_mmal_color_space
    linkageType: ''
    returnType: void
    signature: void vlc_fmt_to_video_format(MMAL_VIDEO_FORMAT_T *const vf_mmal, const
      video_frame_format_t * const vf_vlc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fmt_to_video_format
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - es_fmt
    - vf_vlc
    argTypes:
    - MMAL_ES_FORMAT_T*
    - video_frame_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: hw_mmal_vlc_fmt_to_mmal_fmt
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 3
    functionsReached:
    - vlc_fmt_to_video_format
    linkageType: ''
    returnType: void
    signature: void hw_mmal_vlc_fmt_to_mmal_fmt(MMAL_ES_FORMAT_T *const es_fmt, const
      video_frame_format_t * const vf_vlc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fmt_to_video_format
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:139,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 2
    argNames:
    - es_fmt
    - pic
    argTypes:
    - MMAL_ES_FORMAT_T*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 157
    functionName: hw_mmal_vlc_pic_to_mmal_fmt_update
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 2
    functionsReached:
    - vlc_fmt_to_video_format
    linkageType: ''
    returnType: bool
    signature: bool hw_mmal_vlc_pic_to_mmal_fmt_update(MMAL_ES_FORMAT_T *const es_fmt,
      const picture_t * const pic)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:172,1
    - Dst: mmal_port_pool_create
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:176,1
    - Dst: atomic_store
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:180,1
    - Dst: free
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - port
    - headers
    - payload_size
    argTypes:
    - MMAL_PORT_T*
    - unsigned int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 186
    functionName: hw_mmal_port_pool_ref_create
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 0
    functionsReached:
    - calloc
    - atomic_store
    - mmal_port_pool_create
    - free
    linkageType: ''
    returnType: hw_mmal_port_pool_ref_t
    signature: "hw_mmal_port_pool_ref_t * hw_mmal_port_pool_ref_create(MMAL_PORT_T
      * const port,\n   const unsigned int headers, const uint32_t payload_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_create
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:191,1
    - Dst: pthread_detach
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - (*fn)(void *)
    - v
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: do_detached
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 0
    functionsReached:
    - pthread_detach
    - pthread_create
    linkageType: ''
    returnType: void
    signature: void do_detached(void *(*fn)(void *), void * v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmal_port_disable
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:200,1
    - Dst: mmal_port_pool_destroy
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:201,1
    - Dst: free
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - v
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: kill_ppr
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 0
    functionsReached:
    - free
    - mmal_port_pool_destroy
    - mmal_port_disable
    linkageType: ''
    returnType: void
    signature: void * kill_ppr(void * v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_sub
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:210,1
    - Dst: do_detached
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:213,1
    - Dst: kill_ppr
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ppr
    - in_cb
    argTypes:
    - hw_mmal_port_pool_ref_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: hw_mmal_port_pool_ref_release
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 1
    functionsReached:
    - kill_ppr
    - do_detached
    - atomic_fetch_sub
    linkageType: ''
    returnType: void
    signature: void hw_mmal_port_pool_ref_release(hw_mmal_port_pool_ref_t * const
      ppr, const bool in_cb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmal_buffer_header_reset
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:222,1
    - Dst: mmal_port_send_buffer
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:225,1
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ppr
    - buf
    argTypes:
    - hw_mmal_port_pool_ref_t*
    - MMAL_BUFFER_HEADER_T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 229
    functionName: hw_mmal_port_pool_ref_recycle
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 1
    functionsReached:
    - mmal_buffer_header_release
    - mmal_buffer_header_reset
    - mmal_port_send_buffer
    linkageType: ''
    returnType: bool
    signature: bool hw_mmal_port_pool_ref_recycle(hw_mmal_port_pool_ref_t * const
      ppr, MMAL_BUFFER_HEADER_T * const buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmal_queue_get
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:236,1
    - Dst: mmal_port_send_buffer
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:237,1
    - Dst: mmal_queue_put_back
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ppr
    argTypes:
    - hw_mmal_port_pool_ref_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 244
    functionName: hw_mmal_port_pool_ref_fill
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 1
    functionsReached:
    - mmal_queue_get
    - mmal_queue_put_back
    - mmal_port_send_buffer
    linkageType: ''
    returnType: MMAL_STATUS_T
    signature: MMAL_STATUS_T hw_mmal_port_pool_ref_fill(hw_mmal_port_pool_ref_t *
      const ppr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: port_parameter_set_uint32
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:256,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:258,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:259,1
    - Dst: port_parameter_set_bool
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:263,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:265,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:266,1
    - Dst: mmal_port_format_commit
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:272,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:274,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:275,1
    - Dst: hw_mmal_port_pool_ref_create
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:282,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:283,1
    - Dst: mmal_port_enable
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:287,1
    - Dst: hw_mmal_port_pool_ref_release
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:289,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:291,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:292,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 5
    argNames:
    - obj
    - pppr
    - port
    - extra_buffers
    - callback
    argTypes:
    - vlc_object_t*
    - hw_mmal_port_pool_ref_t**
    - MMAL_PORT_T*
    - unsigned int
    - MMAL_PORT_BH_CB_T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 297
    functionName: hw_mmal_opaque_output
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 1
    functionsReached:
    - mmal_port_enable
    - port_parameter_set_bool
    - mmal_status_to_string
    - mmal_port_format_commit
    - msg_Err
    - port_parameter_set_uint32
    - hw_mmal_port_pool_ref_release
    - hw_mmal_port_pool_ref_create
    linkageType: ''
    returnType: MMAL_STATUS_T
    signature: "MMAL_STATUS_T hw_mmal_opaque_output(vlc_object_t * const obj,\n                                    hw_mmal_port_pool_ref_t
      ** pppr,\n                                    MMAL_PORT_T * const port,\n                                    const
      unsigned int extra_buffers, MMAL_PORT_BH_CB_T callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pic
    - sub_no
    argTypes:
    - picture_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 317
    functionName: hw_mmal_pic_sub_buf_get
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: MMAL_BUFFER_HEADER_T
    signature: MMAL_BUFFER_HEADER_T * hw_mmal_pic_sub_buf_get(picture_t * const pic,
      const unsigned int sub_no)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:326,1
    - Dst: cma_buf_unref
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:329,1
    - Dst: free
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pic_ctx_cmn
    argTypes:
    - picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 332
    functionName: hw_mmal_pic_ctx_destroy
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 0
    functionsReached:
    - mmal_buffer_header_release
    - cma_buf_unref
    - free
    linkageType: ''
    returnType: void
    signature: void hw_mmal_pic_ctx_destroy(picture_context_t * pic_ctx_cmn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:337,1
    - Dst: cma_buf_ref
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:346,1
    - Dst: mmal_buffer_header_acquire
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pic_ctx_cmn
    argTypes:
    - picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 356
    functionName: hw_mmal_pic_ctx_copy
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 0
    functionsReached:
    - calloc
    - mmal_buffer_header_acquire
    - cma_buf_ref
    linkageType: ''
    returnType: picture_context_t
    signature: picture_context_t * hw_mmal_pic_ctx_copy(picture_context_t * pic_ctx_cmn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mmal_buffer_header_pre_release_cb_set
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:364,1
    - Dst: mmal_buffer_header_acquire
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:365,1
    - Dst: hw_mmal_port_pool_ref_recycle
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:370,1
    - Dst: hw_mmal_port_pool_ref_release
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - userdata
    argTypes:
    - MMAL_BUFFER_HEADER_T*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 374
    functionName: buf_pre_release_cb
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 0
    functionsReached:
    - mmal_buffer_header_acquire
    - hw_mmal_port_pool_ref_release
    - mmal_buffer_header_pre_release_cb_set
    - hw_mmal_port_pool_ref_recycle
    linkageType: ''
    returnType: MMAL_BOOL_T
    signature: MMAL_BOOL_T buf_pre_release_cb(MMAL_BUFFER_HEADER_T * buf, void *userdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:381,1
    - Dst: atomic_fetch_add
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:388,1
    - Dst: mmal_buffer_header_pre_release_cb_set
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - buf
    - ppr
    argTypes:
    - MMAL_BUFFER_HEADER_T*
    - hw_mmal_port_pool_ref_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 400
    functionName: hw_mmal_gen_context
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 1
    functionsReached:
    - calloc
    - atomic_fetch_add
    - mmal_buffer_header_pre_release_cb_set
    linkageType: ''
    returnType: picture_context_t
    signature: 'picture_context_t *

      hw_mmal_gen_context(MMAL_BUFFER_HEADER_T * buf, hw_mmal_port_pool_ref_t * const
      ppr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - dest
    - src
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 411
    functionName: piccpy_10_to_8_c
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void piccpy_10_to_8_c(void * dest, const void * src, size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:422,1
    - Dst: memcpy
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:427,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 6
    argNames:
    - d_ptr
    - d_stride
    - s_ptr
    - s_stride
    - lines
    - line_len
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 432
    functionName: mem_copy_2d
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void mem_copy_2d(uint8_t * d_ptr, const size_t d_stride,\n                        const
      uint8_t * s_ptr, const size_t s_stride,\n                        size_t lines,
      const size_t line_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: docpy
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:442,1
    - Dst: docpy
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:447,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 6
    argNames:
    - d_ptr
    - d_stride
    - s_ptr
    - s_stride
    - lines
    - line_len
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 452
    functionName: mem_copy_2d_10_to_8
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 0
    functionsReached:
    - docpy
    linkageType: ''
    returnType: void
    signature: "void mem_copy_2d_10_to_8(uint8_t * d_ptr, const size_t d_stride,\n
      \                       const uint8_t * s_ptr, const size_t s_stride,\n                        size_t
      lines, const size_t line_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:467,1
    - Dst: mem_copy_2d
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:475,1
    - Dst: mem_copy_2d
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:480,1
    - Dst: mem_copy_2d
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:485,1
    - Dst: mem_copy_2d_10_to_8
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:498,1
    - Dst: mem_copy_2d_10_to_8
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:503,1
    - Dst: mem_copy_2d_10_to_8
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:508,1
    - Dst: flush_range
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:525,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 5
    argNames:
    - buf_data
    - pLength
    - fmt
    - pic
    - is_cma
    argTypes:
    - void*
    - uint32_t*
    - MMAL_ES_FORMAT_T*
    - picture_t*
    - bool
    assertStmts:
    - condition: (fmt->encoding == MMAL_ENCODING_I420)
      pos:
        line_end: 466
        line_start: 466
        source_file: /src/vlc/modules/hw/mmal/mmal_picture.c
    constantsTouched: []
    func_position:
      end: 532
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 532
    functionName: hw_mmal_copy_pic_to_buf
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 1
    functionsReached:
    - mem_copy_2d_10_to_8
    - assert
    - mem_copy_2d
    - flush_range
    linkageType: ''
    returnType: int
    signature: "int hw_mmal_copy_pic_to_buf(void * const buf_data,\n                            uint32_t
      * const pLength,\n                            const MMAL_ES_FORMAT_T * const
      fmt,\n                            const picture_t * const pic,\n                            bool
      is_cma)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:538,1
    - Dst: cma_buf_unref
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - header
    - userdata
    argTypes:
    - MMAL_BUFFER_HEADER_T*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 542
    functionName: rep_buf_free_cb
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 0
    functionsReached:
    - cma_buf_unref
    - VLC_UNUSED
    linkageType: ''
    returnType: MMAL_BOOL_T
    signature: MMAL_BOOL_T rep_buf_free_cb(MMAL_BUFFER_HEADER_T *header, void *userdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - buf
    - pic
    argTypes:
    - MMAL_BUFFER_HEADER_T*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 568
    functionName: pic_to_buf_copy_props
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pic_to_buf_copy_props(MMAL_BUFFER_HEADER_T * const buf, const
      picture_t * const pic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cma_buf_vc_handle
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:573,1
    - Dst: mmal_buffer_header_reset
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:577,1
    - Dst: cma_buf_size
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:579,1
    - Dst: mmal_buffer_header_pre_release_cb_set
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:582,1
    - Dst: cma_buf_ref
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - cb
    argTypes:
    - MMAL_BUFFER_HEADER_T*
    - cma_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 584
    functionName: cma_buf_buf_attach
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 0
    functionsReached:
    - mmal_buffer_header_reset
    - cma_buf_ref
    - mmal_buffer_header_pre_release_cb_set
    - cma_buf_vc_handle
    - cma_buf_size
    linkageType: ''
    returnType: int
    signature: int cma_buf_buf_attach(MMAL_BUFFER_HEADER_T * const buf, cma_buf_t
      * const cb)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mmal_queue_wait
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:592,1
    - Dst: cma_buf_pool_alloc_buf
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:596,1
    - Dst: cma_buf_buf_attach
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:600,1
    - Dst: pic_to_buf_copy_props
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:603,1
    - Dst: hw_mmal_copy_pic_to_buf
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:605,1
    - Dst: cma_buf_addr
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:605,1
    - Dst: cma_buf_unref
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:609,1
    - Dst: cma_buf_unref
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:613,1
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:615,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 5
    argNames:
    - pic
    - rep_pool
    - port
    - cbp
    - is_cma
    argTypes:
    - picture_t*
    - MMAL_POOL_T*
    - MMAL_PORT_T*
    - cma_buf_pool_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 586
    functionDepth: 3
    functionLinenumber: 586
    functionLinenumberEnd: 618
    functionName: hw_mmal_pic_buf_copied
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 1
    functionsReached:
    - cma_buf_pool_alloc_buf
    - mmal_buffer_header_release
    - pic_to_buf_copy_props
    - hw_mmal_copy_pic_to_buf
    - cma_buf_unref
    - cma_buf_addr
    - mmal_queue_wait
    - cma_buf_buf_attach
    linkageType: ''
    returnType: MMAL_BUFFER_HEADER_T
    signature: "MMAL_BUFFER_HEADER_T * hw_mmal_pic_buf_copied(const picture_t *const
      pic,\n                                              MMAL_POOL_T * const rep_pool,\n
      \                                             MMAL_PORT_T * const port,\n                                              cma_buf_pool_t
      * const cbp,\n                                              bool is_cma)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mmal_queue_wait
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:623,1
    - Dst: mmal_buffer_header_replicate
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:631,1
    - Dst: cma_buf_buf_attach
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:637,1
    - Dst: pic_to_buf_copy_props
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:643,1
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:647,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - pic
    - rep_pool
    argTypes:
    - picture_t*
    - MMAL_POOL_T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 620
    functionDepth: 2
    functionLinenumber: 620
    functionLinenumberEnd: 649
    functionName: hw_mmal_pic_buf_replicated
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 2
    functionsReached:
    - mmal_buffer_header_replicate
    - mmal_buffer_header_release
    - pic_to_buf_copy_props
    - mmal_queue_wait
    - cma_buf_buf_attach
    linkageType: ''
    returnType: MMAL_BUFFER_HEADER_T
    signature: MMAL_BUFFER_HEADER_T * hw_mmal_pic_buf_replicated(const picture_t *const
      pic, MMAL_POOL_T * const rep_pool)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vchi_initialise
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:663,1
    - Dst: vchi_connect
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:667,1
    - Dst: vc_vchi_gencmd_init
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:670,1
    - Dst: vc_gencmd_send
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:673,1
    - Dst: vc_gencmd_read_response
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:676,1
    - Dst: strncmp
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:679,1
    - Dst: strtoul
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:683,1
    - Dst: vc_gencmd_stop
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:690,1
    - Dst: vchi_disconnect
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:693,1
    - Dst: vc_gencmd_stop
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:698,1
    - Dst: vchi_disconnect
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:699,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 703
    functionName: hw_mmal_get_gpu_mem
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 0
    functionsReached:
    - vchi_disconnect
    - strtoul
    - vchi_connect
    - vc_gencmd_send
    - strncmp
    - vc_gencmd_read_response
    - vc_vchi_gencmd_init
    - vchi_initialise
    - vc_gencmd_stop
    linkageType: ''
    returnType: int
    signature: int hw_mmal_get_gpu_mem(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - elh
    - ent
    argTypes:
    - ent_list_hdr_t*
    - pool_ent_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 789
    functionName: ent_extract
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pool_ent_t
    signature: pool_ent_t * ent_extract(ent_list_hdr_t * const elh, pool_ent_t * const
      ent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ent_extract
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elh
    argTypes:
    - ent_list_hdr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 794
    functionName: ent_extract_tail
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 0
    functionsReached:
    - ent_extract
    linkageType: ''
    returnType: pool_ent_t
    signature: pool_ent_t * ent_extract_tail(ent_list_hdr_t * const elh)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - elh
    - ent
    argTypes:
    - ent_list_hdr_t*
    - pool_ent_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 806
    functionName: ent_add_head
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ent_add_head(ent_list_hdr_t * const elh, pool_ent_t * const ent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:813,1
    - Dst: vcsm_unlock_hdl
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:816,1
    - Dst: vcsm_free
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:818,1
    - Dst: free
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:820,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ent
    argTypes:
    - pool_ent_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 822
    functionName: ent_free
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 25
    functionsReached:
    - free
    - picture_Release
    - vcsm_free
    - vcsm_unlock_hdl
    linkageType: ''
    returnType: void
    signature: void ent_free(pool_ent_t * const ent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ent_free
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - elh
    argTypes:
    - ent_list_hdr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 824
    functionDepth: 2
    functionLinenumber: 824
    functionLinenumberEnd: 835
    functionName: ent_free_list
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 0
    functionsReached:
    - ent_free
    linkageType: ''
    returnType: void
    signature: void ent_free_list(ent_list_hdr_t * const elh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - ent_list_hdr_t*
    - ent_list_hdr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 841
    functionName: ent_list_move
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ent_list_move(ent_list_hdr_t * const dst, ent_list_hdr_t * const
      src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ent_extract
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:851,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - elh
    - pic
    argTypes:
    - ent_list_hdr_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 855
    functionName: ent_list_extract_pic_ent
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 0
    functionsReached:
    - ent_extract
    linkageType: ''
    returnType: pool_ent_t
    signature: pool_ent_t * ent_list_extract_pic_ent(ent_list_hdr_t * const elh, picture_t
      * const pic)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:861,1
    - Dst: vcsm_malloc_cache
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:870,1
    - Dst: vcsm_vc_hdl_from_hdl
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:872,1
    - Dst: vcsm_lock
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:874,1
    - Dst: vcsm_free
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:881,1
    - Dst: free
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:883,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - req_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 885
    functionName: pool_ent_alloc_new
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 0
    functionsReached:
    - vcsm_lock
    - calloc
    - free
    - vcsm_free
    - vcsm_vc_hdl_from_hdl
    - vcsm_malloc_cache
    linkageType: ''
    returnType: pool_ent_t
    signature: pool_ent_t * pool_ent_alloc_new(size_t req_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ent
    argTypes:
    - pool_ent_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 892
    functionName: pool_ent_ref
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 0
    functionsReached:
    - atomic_fetch_add
    linkageType: ''
    returnType: pool_ent_t
    signature: pool_ent_t * pool_ent_ref(pool_ent_t * const ent)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_sub
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:902,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:908,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:912,1
    - Dst: ent_extract_tail
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:917,1
    - Dst: ent_add_head
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:919,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:921,1
    - Dst: ent_free
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:923,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - pc
    - ent
    argTypes:
    - vzc_pool_ctl_t*
    - pool_ent_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 894
    functionDepth: 2
    functionLinenumber: 894
    functionLinenumberEnd: 924
    functionName: pool_recycle
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - atomic_fetch_sub
    - picture_Release
    - ent_free
    - ent_add_head
    - ent_extract_tail
    linkageType: ''
    returnType: void
    signature: void pool_recycle(vzc_pool_ctl_t * const pc, pool_ent_t * const ent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ent_extract_tail
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:930,1
    - Dst: pool_recycle
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:931,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pc
    - elh
    argTypes:
    - vzc_pool_ctl_t*
    - ent_list_hdr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 927
    functionDepth: 3
    functionLinenumber: 927
    functionLinenumberEnd: 933
    functionName: pool_recycle_list
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 0
    functionsReached:
    - pool_recycle
    - ent_extract_tail
    linkageType: ''
    returnType: void
    signature: void pool_recycle_list(vzc_pool_ctl_t * const pc, ent_list_hdr_t *
      const elh)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:939,1
    - Dst: ent_extract
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:953,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:956,1
    - Dst: pool_ent_alloc_new
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:959,1
    - Dst: atomic_store
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:964,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - pc
    - req_size
    argTypes:
    - vzc_pool_ctl_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 966
    functionName: pool_best_fit
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - atomic_store
    - pool_ent_alloc_new
    - ent_extract
    linkageType: ''
    returnType: pool_ent_t
    signature: pool_ent_t * pool_best_fit(vzc_pool_ctl_t * const pc, size_t req_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - buf
    - es_fmt
    argTypes:
    - MMAL_BUFFER_HEADER_T*
    - MMAL_ES_FORMAT_T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 986
    functionName: hw_mmal_vzc_buf_set_format
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hw_mmal_vzc_buf_set_format(MMAL_BUFFER_HEADER_T * const buf, MMAL_ES_FORMAT_T
      * const es_fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - MMAL_BUFFER_HEADER_T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 992
    functionName: hw_mmal_vzc_buf_region
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: MMAL_DISPLAYREGION_T
    signature: MMAL_DISPLAYREGION_T * hw_mmal_vzc_buf_region(MMAL_BUFFER_HEADER_T
      * const buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - mul
    - div
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 997
    functionName: rescale_x
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rescale_x(int x, int mul, int div)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rescale_x
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1001,1
    - Dst: rescale_x
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1002,1
    - Dst: rescale_x
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1003,1
    - Dst: rescale_x
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - d
    - s
    - mul_rect
    - div_rect
    argTypes:
    - MMAL_RECT_T*
    - MMAL_RECT_T*
    - MMAL_RECT_T*
    - MMAL_RECT_T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 999
    functionDepth: 1
    functionLinenumber: 999
    functionLinenumberEnd: 1005
    functionName: rescale_rect
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 0
    functionsReached:
    - rescale_x
    linkageType: ''
    returnType: void
    signature: void rescale_rect(MMAL_RECT_T * const d, const MMAL_RECT_T * const
      s, const MMAL_RECT_T * mul_rect, const MMAL_RECT_T * div_rect)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rescale_rect
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - scale_rect
    argTypes:
    - MMAL_BUFFER_HEADER_T*
    - MMAL_RECT_T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1007
    functionDepth: 2
    functionLinenumber: 1007
    functionLinenumberEnd: 1018
    functionName: hw_mmal_vzc_buf_scale_dest_rect
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 1
    functionsReached:
    - rescale_rect
    linkageType: ''
    returnType: void
    signature: void hw_mmal_vzc_buf_scale_dest_rect(MMAL_BUFFER_HEADER_T * const buf,
      const MMAL_RECT_T * const scale_rect)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - MMAL_BUFFER_HEADER_T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1024
    functionName: hw_mmal_vzc_buf_seq
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int hw_mmal_vzc_buf_seq(MMAL_BUFFER_HEADER_T * const buf)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mmal_queue_get
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1043,1
    - Dst: calloc
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1049,1
    - Dst: pool_recycle_list
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1056,1
    - Dst: ent_list_move
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1057,1
    - Dst: vlc_fourcc_GetChromaBPP
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1067,1
    - Dst: ent_list_extract_pic_ent
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1074,1
    - Dst: ent_list_extract_pic_ent
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1080,1
    - Dst: pool_best_fit
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1087,1
    - Dst: vlc_to_mmal_video_fourcc
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1089,1
    - Dst: picture_Hold
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1092,1
    - Dst: ent_add_head
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1096,1
    - Dst: pool_ent_ref
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1098,1
    - Dst: hw_mmal_vzc_pool_ref
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1099,1
    - Dst: mem_copy_2d
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1153,1
    - Dst: flush_range
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1157,1
    - Dst: free
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1166,1
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1168,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 61
    argCount: 9
    argNames:
    - pc
    - pic
    - dst_pic_rect
    - x_offset
    - y_offset
    - width
    - height
    - alpha
    - is_first
    argTypes:
    - vzc_pool_ctl_t*
    - picture_t*
    - MMAL_RECT_T
    - int
    - int
    - unsigned
    - unsigned
    - unsigned int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1035
    functionDepth: 4
    functionLinenumber: 1035
    functionLinenumberEnd: 1170
    functionName: hw_mmal_vzc_buf_from_pic
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 1
    functionsReached:
    - vlc_fourcc_GetChromaBPP
    - pool_ent_ref
    - flush_range
    - pool_recycle_list
    - picture_Hold
    - mem_copy_2d
    - mmal_buffer_header_release
    - ent_list_move
    - hw_mmal_vzc_pool_ref
    - mmal_queue_get
    - ent_list_extract_pic_ent
    - calloc
    - free
    - vlc_to_mmal_video_fourcc
    - ent_add_head
    - pool_best_fit
    linkageType: ''
    returnType: MMAL_BUFFER_HEADER_T
    signature: "MMAL_BUFFER_HEADER_T * hw_mmal_vzc_buf_from_pic(vzc_pool_ctl_t * const
      pc,\n                                                picture_t * const pic,\n
      \                                               const MMAL_RECT_T dst_pic_rect,\n
      \                                               const int x_offset, const int
      y_offset,\n                                                const unsigned width,
      const unsigned height,\n                                                const
      unsigned int alpha,\n                                                const bool
      is_first)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pool_recycle_list
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1174,1
    - Dst: pool_recycle_list
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pc
    argTypes:
    - vzc_pool_ctl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1172
    functionDepth: 4
    functionLinenumber: 1172
    functionLinenumberEnd: 1176
    functionName: hw_mmal_vzc_pool_flush
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 0
    functionsReached:
    - pool_recycle_list
    linkageType: ''
    returnType: void
    signature: void hw_mmal_vzc_pool_flush(vzc_pool_ctl_t * const pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hw_mmal_vzc_pool_flush
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1181,1
    - Dst: ent_free_list
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1183,1
    - Dst: mmal_pool_destroy
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1186,1
    - Dst: free
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pc
    argTypes:
    - vzc_pool_ctl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1178
    functionDepth: 5
    functionLinenumber: 1178
    functionLinenumberEnd: 1190
    functionName: hw_mmal_vzc_pool_delete
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 0
    functionsReached:
    - free
    - ent_free_list
    - mmal_pool_destroy
    - hw_mmal_vzc_pool_flush
    linkageType: ''
    returnType: void
    signature: void hw_mmal_vzc_pool_delete(vzc_pool_ctl_t * const pc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_sub
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1199,1
    - Dst: hw_mmal_vzc_pool_delete
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pc
    argTypes:
    - vzc_pool_ctl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1192
    functionDepth: 6
    functionLinenumber: 1192
    functionLinenumberEnd: 1205
    functionName: hw_mmal_vzc_pool_release
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 1
    functionsReached:
    - hw_mmal_vzc_pool_delete
    - atomic_fetch_sub
    linkageType: ''
    returnType: void
    signature: void hw_mmal_vzc_pool_release(vzc_pool_ctl_t * const pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pc
    argTypes:
    - vzc_pool_ctl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1210
    functionName: hw_mmal_vzc_pool_ref
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 1
    functionsReached:
    - atomic_fetch_add
    linkageType: ''
    returnType: void
    signature: void hw_mmal_vzc_pool_ref(vzc_pool_ctl_t * const pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1217,1
    - Dst: pool_recycle
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1221,1
    - Dst: hw_mmal_vzc_pool_release
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1222,1
    - Dst: free
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - buf_pool
    - buf
    - userdata
    argTypes:
    - MMAL_POOL_T*
    - MMAL_BUFFER_HEADER_T*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1212
    functionDepth: 7
    functionLinenumber: 1212
    functionLinenumberEnd: 1227
    functionName: vcz_pool_release_cb
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 0
    functionsReached:
    - free
    - pool_recycle
    - hw_mmal_vzc_pool_release
    - VLC_UNUSED
    linkageType: ''
    returnType: MMAL_BOOL_T
    signature: MMAL_BOOL_T vcz_pool_release_cb(MMAL_POOL_T * buf_pool, MMAL_BUFFER_HEADER_T
      *buf, void *userdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1231,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1239,1
    - Dst: mmal_pool_create
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1241,1
    - Dst: hw_mmal_vzc_pool_delete
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1243,1
    - Dst: atomic_store
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1247,1
    - Dst: mmal_pool_callback_set
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - is_cma
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1229
    functionDepth: 6
    functionLinenumber: 1229
    functionLinenumberEnd: 1252
    functionName: hw_mmal_vzc_pool_new
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 1
    functionsReached:
    - mmal_pool_create
    - hw_mmal_vzc_pool_delete
    - vlc_mutex_init
    - calloc
    - atomic_store
    - mmal_pool_callback_set
    linkageType: ''
    returnType: vzc_pool_ctl_t
    signature: vzc_pool_ctl_t * hw_mmal_vzc_pool_new(bool is_cma)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bcm_host_is_model_pi4
      Src: /src/vlc/modules/hw/mmal/mmal_picture.c:1260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1261
    functionName: rpi_is_model_pi4
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_picture.c
    functionUses: 0
    functionsReached:
    - bcm_host_is_model_pi4
    linkageType: ''
    returnType: bool
    signature: bool rpi_is_model_pi4(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: filter_NewPicture
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:116,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:122,1
    - Dst: hw_mmal_gen_context
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:126,1
    - Dst: buf_to_pic_copy_props
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:129,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:134,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - p_filter
    - buf
    argTypes:
    - filter_t*
    - MMAL_BUFFER_HEADER_T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 138
    functionName: di_alloc_opaque
    functionSourceFile: /src/vlc/modules/hw/mmal/deinterlace.c
    functionUses: 0
    functionsReached:
    - hw_mmal_gen_context
    - filter_NewPicture
    - msg_Err
    - picture_Release
    - buf_to_pic_copy_props
    linkageType: ''
    returnType: picture_t
    signature: picture_t * di_alloc_opaque(filter_t * const p_filter, MMAL_BUFFER_HEADER_T
      * const buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:142,1
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - port
    - buffer
    argTypes:
    - MMAL_PORT_T*
    - MMAL_BUFFER_HEADER_T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: di_input_port_cb
    functionSourceFile: /src/vlc/modules/hw/mmal/deinterlace.c
    functionUses: 0
    functionsReached:
    - mmal_buffer_header_release
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void di_input_port_cb(MMAL_PORT_T *port, MMAL_BUFFER_HEADER_T *buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmal_queue_put
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:156,1
    - Dst: mmal_buffer_header_reset
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:160,1
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - port
    - buf
    argTypes:
    - MMAL_PORT_T*
    - MMAL_BUFFER_HEADER_T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 162
    functionName: di_output_port_cb
    functionSourceFile: /src/vlc/modules/hw/mmal/deinterlace.c
    functionUses: 0
    functionsReached:
    - mmal_buffer_header_release
    - mmal_queue_put
    - mmal_buffer_header_reset
    linkageType: ''
    returnType: void
    signature: void di_output_port_cb(MMAL_PORT_T *port, MMAL_BUFFER_HEADER_T *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmal_queue_get
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:170,1
    - Dst: mmal_port_send_buffer
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:173,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:175,1
    - Dst: mmal_queue_put_back
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - p_filter
    - sys
    - q
    argTypes:
    - filter_t*
    - filter_sys_t*
    - MMAL_QUEUE_T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 181
    functionName: fill_output_from_q
    functionSourceFile: /src/vlc/modules/hw/mmal/deinterlace.c
    functionUses: 0
    functionsReached:
    - msg_Err
    - mmal_queue_get
    - mmal_queue_put_back
    - mmal_port_send_buffer
    linkageType: ''
    returnType: MMAL_STATUS_T
    signature: MMAL_STATUS_T fill_output_from_q(filter_t * const p_filter, filter_sys_t
      * const sys, MMAL_QUEUE_T * const q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: seq_inc
    functionSourceFile: /src/vlc/modules/hw/mmal/deinterlace.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int seq_inc(unsigned int x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sseq
    - fseq
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: seq_delta
    functionSourceFile: /src/vlc/modules/hw/mmal/deinterlace.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int seq_delta(unsigned int sseq, unsigned int fseq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: di_alloc_opaque
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:199,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:202,1
    - Dst: mmal_queue_put_back
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p_filter
    - out_buf
    argTypes:
    - filter_t*
    - MMAL_BUFFER_HEADER_T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 212
    functionName: but_to_pic
    functionSourceFile: /src/vlc/modules/hw/mmal/deinterlace.c
    functionUses: 0
    functionsReached:
    - di_alloc_opaque
    - mmal_queue_put_back
    - msg_Warn
    linkageType: ''
    returnType: picture_t
    signature: picture_t *but_to_pic(filter_t * p_filter, MMAL_BUFFER_HEADER_T *out_buf)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: hw_mmal_vlc_pic_to_mmal_fmt_update
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:221,1
    - Dst: mmal_port_disable
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:226,1
    - Dst: mmal_port_format_commit
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:228,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:229,1
    - Dst: mmal_log_dump_format
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:232,1
    - Dst: mmal_port_enable
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:238,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:240,1
    - Dst: hw_mmal_port_pool_ref_fill
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:246,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:248,1
    - Dst: hw_mmal_pic_buf_replicated
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:256,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:260,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:264,1
    - Dst: seq_inc
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:269,1
    - Dst: mmal_port_send_buffer
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:271,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:273,1
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:274,1
    - Dst: seq_delta
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:289,1
    - Dst: mmal_queue_timedwait
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:289,1
    - Dst: mmal_queue_get
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:289,1
    - Dst: but_to_pic
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:291,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:292,1
    - Dst: vlc_picture_chain_AppendChain
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:295,1
    - Dst: assert
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:300,1
    - Dst: seq_delta
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:300,1
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:306,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:307,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 2
    argNames:
    - p_filter
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts:
    - condition: (ret_pics != NULL || seq_delta(sys->seq_in, sys->seq_out) < 5)
      pos:
        line_end: 299
        line_start: 299
        source_file: /src/vlc/modules/hw/mmal/deinterlace.c
    constantsTouched: []
    func_position:
      end: 309
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 309
    functionName: deinterlace
    functionSourceFile: /src/vlc/modules/hw/mmal/deinterlace.c
    functionUses: 0
    functionsReached:
    - assert
    - but_to_pic
    - mmal_buffer_header_release
    - mmal_port_format_commit
    - picture_Release
    - mmal_queue_timedwait
    - mmal_port_enable
    - msg_Err
    - seq_inc
    - hw_mmal_port_pool_ref_fill
    - hw_mmal_pic_buf_replicated
    - seq_delta
    - mmal_port_disable
    - vlc_picture_chain_AppendChain
    - hw_mmal_vlc_pic_to_mmal_fmt_update
    - mmal_queue_get
    - mmal_log_dump_format
    - unlikely
    - mmal_port_send_buffer
    linkageType: ''
    returnType: picture_t
    signature: picture_t *deinterlace(filter_t * p_filter, picture_t * p_pic)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mmal_port_disable
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:316,1
    - Dst: fill_output_from_q
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:322,1
    - Dst: mmal_port_disable
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:324,1
    - Dst: mmal_queue_length
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:327,1
    - Dst: mmal_port_enable
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:329,1
    - Dst: fill_output_from_q
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:330,1
    - Dst: mmal_port_disable
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:331,1
    - Dst: mmal_port_enable
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:335,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 343
    functionName: di_flush
    functionSourceFile: /src/vlc/modules/hw/mmal/deinterlace.c
    functionUses: 0
    functionsReached:
    - mmal_port_enable
    - fill_output_from_q
    - mmal_port_disable
    - mmal_queue_length
    linkageType: ''
    returnType: void
    signature: void di_flush(filter_t *p_filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_filter
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: pass_deinterlace
    functionSourceFile: /src/vlc/modules/hw/mmal/deinterlace.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: picture_t
    signature: picture_t * pass_deinterlace(filter_t * p_filter, picture_t * p_pic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:361,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:362,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:363,1
    - Dst: mmal_buffer_header_reset
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:366,1
    - Dst: mmal_buffer_header_release
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - port
    - buffer
    argTypes:
    - MMAL_PORT_T*
    - MMAL_BUFFER_HEADER_T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 368
    functionName: control_port_cb
    functionSourceFile: /src/vlc/modules/hw/mmal/deinterlace.c
    functionUses: 0
    functionsReached:
    - mmal_status_to_string
    - mmal_buffer_header_reset
    - mmal_buffer_header_release
    - memcpy
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void control_port_cb(MMAL_PORT_T *port, MMAL_BUFFER_HEADER_T *buffer)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:379,1
    - Dst: di_flush
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:383,1
    - Dst: mmal_port_disable
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:386,1
    - Dst: mmal_component_disable
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:389,1
    - Dst: mmal_pool_destroy
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:392,1
    - Dst: hw_mmal_port_pool_ref_release
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:394,1
    - Dst: mmal_queue_destroy
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:400,1
    - Dst: mmal_component_release
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:403,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:406,1
    - Dst: free
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:408,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 370
    functionDepth: 3
    functionLinenumber: 370
    functionLinenumberEnd: 409
    functionName: CloseMmalDeinterlace
    functionSourceFile: /src/vlc/modules/hw/mmal/deinterlace.c
    functionUses: 0
    functionsReached:
    - vlc_video_context_Release
    - di_flush
    - mmal_port_disable
    - free
    - mmal_component_disable
    - hw_mmal_port_pool_ref_release
    - mmal_component_release
    - mmal_queue_destroy
    - mmal_pool_destroy
    linkageType: ''
    returnType: void
    signature: void CloseMmalDeinterlace(filter_t *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 415
    functionName: is_fmt_valid_in
    functionSourceFile: /src/vlc/modules/hw/mmal/deinterlace.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_fmt_valid_in(const vlc_fourcc_t fmt)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: is_fmt_valid_in
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:435,1
    - Dst: vlc_video_context_GetType
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:440,1
    - Dst: calloc
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:443,1
    - Dst: rpi_is_model_pi4
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:451,1
    - Dst: vlc_video_context_HoldDevice
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:467,1
    - Dst: assert
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:468,1
    - Dst: GetMMALDeviceOpaque
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:469,1
    - Dst: assert
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:470,1
    - Dst: hw_mmal_get_gpu_mem
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:477,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:480,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:482,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:485,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:487,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:492,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:497,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:499,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:501,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:511,1
    - Dst: mmal_component_create
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:513,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:515,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:516,1
    - Dst: mmal_port_parameter_set
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:530,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:532,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:533,1
    - Dst: mmal_port_enable
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:539,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:541,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:542,1
    - Dst: vlc_to_mmal_video_fourcc
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:548,1
    - Dst: hw_mmal_vlc_fmt_to_mmal_fmt
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:549,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:551,1
    - Dst: mmal_port_format_commit
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:555,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:557,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:558,1
    - Dst: mmal_pool_create
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:565,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:567,1
    - Dst: port_parameter_set_bool
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:571,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:573,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:574,1
    - Dst: mmal_port_enable
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:578,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:580,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:581,1
    - Dst: mmal_queue_create
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:586,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:588,1
    - Dst: mmal_format_full_copy
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:593,1
    - Dst: hw_mmal_opaque_output
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:596,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:596,1
    - Dst: mmal_component_enable
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:600,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:602,1
    - Dst: mmal_status_to_string
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:603,1
    - Dst: CloseMmalDeinterlace
      Src: /src/vlc/modules/hw/mmal/deinterlace.c:610,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 127
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: (dec_dev != NULL)
      pos:
        line_end: 467
        line_start: 467
        source_file: /src/vlc/modules/hw/mmal/deinterlace.c
    - condition: (devsys != NULL)
      pos:
        line_end: 469
        line_start: 469
        source_file: /src/vlc/modules/hw/mmal/deinterlace.c
    constantsTouched: []
    func_position:
      end: 612
      start: 425
    functionDepth: 4
    functionLinenumber: 425
    functionLinenumberEnd: 612
    functionName: OpenMmalDeinterlace
    functionSourceFile: /src/vlc/modules/hw/mmal/deinterlace.c
    functionUses: 0
    functionsReached:
    - hw_mmal_opaque_output
    - assert
    - vlc_decoder_device_Release
    - mmal_port_format_commit
    - vlc_video_context_GetType
    - mmal_format_full_copy
    - mmal_port_parameter_set
    - hw_mmal_get_gpu_mem
    - mmal_port_enable
    - vlc_video_context_Hold
    - msg_Err
    - calloc
    - msg_Warn
    - mmal_component_enable
    - hw_mmal_vlc_fmt_to_mmal_fmt
    - vlc_video_context_HoldDevice
    - is_fmt_valid_in
    - mmal_pool_create
    - rpi_is_model_pi4
    - mmal_queue_create
    - var_InheritBool
    - GetMMALDeviceOpaque
    - mmal_component_create
    - es_format_Copy
    - CloseMmalDeinterlace
    - port_parameter_set_bool
    - mmal_status_to_string
    - vlc_to_mmal_video_fourcc
    - VLC_OBJECT
    linkageType: ''
    returnType: int
    signature: int OpenMmalDeinterlace(filter_t *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - m
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: inc_mod
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_cma.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int inc_mod(const unsigned int n, const unsigned int m)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cma_pool_delete
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:87,1
    - Dst: free
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pool
    - pool_size
    argTypes:
    - cma_buf_t**
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: free_pool
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_cma.c
    functionUses: 0
    functionsReached:
    - cma_pool_delete
    - free
    linkageType: ''
    returnType: void
    signature: void free_pool(cma_buf_t ** const pool, const unsigned int pool_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_pool
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:96,1
    - Dst: free
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:98,1
    - Dst: free
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:100,1
    - Dst: cma_buf_pool_on_delete_cb
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - cma_pool_fixed_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 104
    functionName: cma_pool_fixed_delete
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_cma.c
    functionUses: 0
    functionsReached:
    - free
    - free_pool
    - cma_buf_pool_on_delete_cb
    linkageType: ''
    returnType: void
    signature: void cma_pool_fixed_delete(cma_pool_fixed_t * const p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_sub
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:108,1
    - Dst: cma_pool_fixed_delete
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - cma_pool_fixed_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: cma_pool_fixed_unref
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_cma.c
    functionUses: 0
    functionsReached:
    - cma_pool_fixed_delete
    - atomic_fetch_sub
    linkageType: ''
    returnType: void
    signature: void cma_pool_fixed_unref(cma_pool_fixed_t * const p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - cma_pool_fixed_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: cma_pool_fixed_ref
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_cma.c
    functionUses: 0
    functionsReached:
    - atomic_fetch_add
    linkageType: ''
    returnType: void
    signature: void cma_pool_fixed_ref(cma_pool_fixed_t * const p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:119,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:121,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - cma_pool_fixed_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: cma_pool_fixed_dec_in_flight
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_cma.c
    functionUses: 0
    functionsReached:
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void cma_pool_fixed_dec_in_flight(cma_pool_fixed_t * const p)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:129,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:145,1
    - Dst: free_pool
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:147,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:148,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:156,1
    - Dst: inc_mod
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:166,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:174,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:180,1
    - Dst: cma_pool_alloc_cb
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:183,1
    - Dst: cma_pool_fixed_ref
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:187,1
    - Dst: cma_pool_fixed_dec_in_flight
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:190,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 4
    argNames:
    - p
    - req_el_size
    - inc_flight
    - no_pool
    argTypes:
    - cma_pool_fixed_t*
    - size_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 193
    functionName: cma_pool_fixed_get
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_cma.c
    functionUses: 0
    functionsReached:
    - cma_pool_fixed_ref
    - cma_pool_fixed_dec_in_flight
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - cma_pool_alloc_cb
    - inc_mod
    - free_pool
    - vlc_cond_wait
    linkageType: ''
    returnType: cma_buf_t
    signature: cma_buf_t * cma_pool_fixed_get(cma_pool_fixed_t * const p, const size_t
      req_el_size, const bool inc_flight, const bool no_pool)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:197,1
    - Dst: calloc
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:202,1
    - Dst: inc_mod
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:205,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:212,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:213,1
    - Dst: cma_pool_delete
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:216,1
    - Dst: cma_pool_fixed_unref
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:218,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - p
    - v
    - el_size
    - was_in_flight
    argTypes:
    - cma_pool_fixed_t*
    - cma_buf_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 195
    functionDepth: 4
    functionLinenumber: 195
    functionLinenumberEnd: 219
    functionName: cma_pool_fixed_put
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_cma.c
    functionUses: 0
    functionsReached:
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - cma_pool_delete
    - cma_pool_fixed_unref
    - calloc
    - inc_mod
    linkageType: ''
    returnType: void
    signature: void cma_pool_fixed_put(cma_pool_fixed_t * const p, cma_buf_t * v,
      const size_t el_size, const bool was_in_flight)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cma_pool_fixed_get
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:229,1
    - Dst: cma_pool_fixed_unref
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - cma_pool_fixed_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 223
    functionDepth: 4
    functionLinenumber: 223
    functionLinenumberEnd: 231
    functionName: cma_pool_fixed_kill
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_cma.c
    functionUses: 0
    functionsReached:
    - cma_pool_fixed_unref
    - cma_pool_fixed_get
    linkageType: ''
    returnType: void
    signature: void cma_pool_fixed_kill(cma_pool_fixed_t * const p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:240,1
    - Dst: atomic_store
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:244,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:245,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:246,1
    - Dst: strdup
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - pool_size
    - flight_size
    - alloc_v
    - name
    argTypes:
    - unsigned int
    - int
    - cma_buf_pool_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 256
    functionName: cma_pool_fixed_new
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_cma.c
    functionUses: 0
    functionsReached:
    - strdup
    - vlc_mutex_init
    - calloc
    - atomic_store
    - vlc_cond_init
    linkageType: ''
    returnType: cma_pool_fixed_t
    signature: "cma_pool_fixed_t *\ncma_pool_fixed_new(const unsigned int pool_size,\n
      \                  const int flight_size,\n                   cma_buf_pool_t
      * const alloc_v,\n                   const char * const name)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:280,1
    - Dst: atomic_load
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:280,1
    - Dst: munmap
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:285,1
    - Dst: vcsm_unlock_hdl
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:287,1
    - Dst: close
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:290,1
    - Dst: vcsm_free
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:292,1
    - Dst: free
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:293,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - cb
    argTypes:
    - cma_buf_t*
    assertStmts:
    - condition: (atomic_load(&cb->ref_count) == 0)
      pos:
        line_end: 279
        line_start: 279
        source_file: /src/vlc/modules/hw/mmal/mmal_cma.c
    constantsTouched: []
    func_position:
      end: 294
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 294
    functionName: cma_pool_delete
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_cma.c
    functionUses: 2
    functionsReached:
    - assert
    - atomic_load
    - vcsm_unlock_hdl
    - close
    - free
    - vcsm_free
    - munmap
    linkageType: ''
    returnType: void
    signature: void cma_pool_delete(cma_buf_t * const cb)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:300,1
    - Dst: atomic_init
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:304,1
    - Dst: vcsm_malloc_cache
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:312,1
    - Dst: vcsm_vc_hdl_from_hdl
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:317,1
    - Dst: vcsm_export_dmabuf
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:324,1
    - Dst: mmap
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:329,1
    - Dst: vcsm_lock
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:335,1
    - Dst: cma_pool_delete
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:345,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - v
    - size
    argTypes:
    - cma_buf_pool_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 347
    functionName: cma_pool_alloc_cb
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_cma.c
    functionUses: 1
    functionsReached:
    - atomic_init
    - vcsm_lock
    - mmap
    - cma_pool_delete
    - calloc
    - vcsm_export_dmabuf
    - vcsm_vc_hdl_from_hdl
    - vcsm_malloc_cache
    linkageType: ''
    returnType: cma_buf_t
    signature: cma_buf_t * cma_pool_alloc_cb(cma_buf_pool_t * const v, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cbp
    argTypes:
    - cma_buf_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 353
    functionName: cma_buf_pool_on_delete_cb
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_cma.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void cma_buf_pool_on_delete_cb(cma_buf_pool_t * const cbp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cma_pool_fixed_kill
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:365,1
    - Dst: cma_buf_pool_on_delete_cb
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - cbp
    argTypes:
    - cma_buf_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 356
    functionDepth: 5
    functionLinenumber: 356
    functionLinenumberEnd: 372
    functionName: cma_buf_pool_delete
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_cma.c
    functionUses: 1
    functionsReached:
    - cma_buf_pool_on_delete_cb
    - cma_pool_fixed_kill
    linkageType: ''
    returnType: void
    signature: void cma_buf_pool_delete(cma_buf_pool_t * const cbp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:377,1
    - Dst: cma_pool_fixed_new
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:383,1
    - Dst: cma_buf_pool_delete
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:388,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - pool_size
    - flight_size
    - is_cma
    - name
    argTypes:
    - unsigned int
    - unsigned int
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 374
    functionDepth: 6
    functionLinenumber: 374
    functionLinenumberEnd: 390
    functionName: cma_buf_pool_new
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_cma.c
    functionUses: 1
    functionsReached:
    - calloc
    - cma_pool_fixed_new
    - cma_buf_pool_delete
    linkageType: ''
    returnType: cma_buf_pool_t
    signature: "cma_buf_pool_t * cma_buf_pool_new(const unsigned int pool_size, const
      unsigned int flight_size,\n                                  bool is_cma, const
      char * const name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cb
    argTypes:
    - cma_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 398
    functionName: cma_buf_size
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_cma.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t cma_buf_size(const cma_buf_t * const cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cb
    argTypes:
    - cma_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 403
    functionName: cma_buf_vc_handle
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_cma.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int cma_buf_vc_handle(const cma_buf_t *const cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cb
    argTypes:
    - cma_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 408
    functionName: cma_buf_addr
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_cma.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * cma_buf_addr(const cma_buf_t *const cb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_sub
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:416,1
    - Dst: cma_pool_fixed_put
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:420,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cb
    argTypes:
    - cma_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 412
    functionDepth: 5
    functionLinenumber: 412
    functionLinenumberEnd: 422
    functionName: cma_buf_unref
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_cma.c
    functionUses: 3
    functionsReached:
    - cma_pool_fixed_put
    - atomic_fetch_sub
    linkageType: ''
    returnType: void
    signature: void cma_buf_unref(cma_buf_t * const cb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cb
    argTypes:
    - cma_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 430
    functionName: cma_buf_ref
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_cma.c
    functionUses: 2
    functionsReached:
    - atomic_fetch_add
    linkageType: ''
    returnType: cma_buf_t
    signature: cma_buf_t * cma_buf_ref(cma_buf_t * const cb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cma_pool_fixed_get
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:434,1
    - Dst: cma_buf_ref
      Src: /src/vlc/modules/hw/mmal/mmal_cma.c:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cbp
    - size
    argTypes:
    - cma_buf_pool_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 432
    functionDepth: 3
    functionLinenumber: 432
    functionLinenumberEnd: 443
    functionName: cma_buf_pool_alloc_buf
    functionSourceFile: /src/vlc/modules/hw/mmal/mmal_cma.c
    functionUses: 1
    functionsReached:
    - cma_buf_ref
    - cma_pool_fixed_get
    linkageType: ''
    returnType: cma_buf_t
    signature: cma_buf_t * cma_buf_pool_alloc_buf(cma_buf_pool_t * const cbp, const
      size_t size)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: bcm_host_is_fkms_active
      Src: /src/vlc/modules/hw/mmal/decoder_device.c:62,1
    - Dst: vcsm_init_ex
      Src: /src/vlc/modules/hw/mmal/decoder_device.c:69,1
    - Dst: vcsm_init_ex
      Src: /src/vlc/modules/hw/mmal/decoder_device.c:71,1
    - Dst: vcsm_init_ex
      Src: /src/vlc/modules/hw/mmal/decoder_device.c:76,1
    - Dst: vcsm_init_ex
      Src: /src/vlc/modules/hw/mmal/decoder_device.c:78,1
    - Dst: bcm_host_init
      Src: /src/vlc/modules/hw/mmal/decoder_device.c:84,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 88
    functionName: cma_vcsm_init
    functionSourceFile: /src/vlc/modules/hw/mmal/decoder_device.c
    functionUses: 0
    functionsReached:
    - bcm_host_is_fkms_active
    - vcsm_init_ex
    - bcm_host_init
    linkageType: ''
    returnType: vcsm_init_type_t
    signature: vcsm_init_type_t cma_vcsm_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vcsm_exit
      Src: /src/vlc/modules/hw/mmal/decoder_device.c:92,1
    - Dst: bcm_host_deinit
      Src: /src/vlc/modules/hw/mmal/decoder_device.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: cma_vcsm_exit
    functionSourceFile: /src/vlc/modules/hw/mmal/decoder_device.c
    functionUses: 0
    functionsReached:
    - vcsm_exit
    - bcm_host_deinit
    linkageType: ''
    returnType: void
    signature: void cma_vcsm_exit()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/hw/mmal/decoder_device.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - init_mode
    argTypes:
    - vcsm_init_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 108
    functionName: cma_vcsm_init_str
    functionSourceFile: /src/vlc/modules/hw/mmal/decoder_device.c
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    linkageType: ''
    returnType: char
    signature: char * cma_vcsm_init_str(const vcsm_init_type_t init_mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/mmal/decoder_device.c:112,1
    - Dst: cma_vcsm_exit
      Src: /src/vlc/modules/hw/mmal/decoder_device.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - device
    argTypes:
    - vlc_decoder_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: CloseDecoderDevice
    functionSourceFile: /src/vlc/modules/hw/mmal/decoder_device.c
    functionUses: 0
    functionsReached:
    - cma_vcsm_exit
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void CloseDecoderDevice(vlc_decoder_device *device)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/mmal/decoder_device.c:122,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/hw/mmal/decoder_device.c:124,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/mmal/decoder_device.c:124,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/mmal/decoder_device.c:125,1
    - Dst: cma_vcsm_init
      Src: /src/vlc/modules/hw/mmal/decoder_device.c:128,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/mmal/decoder_device.c:130,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/hw/mmal/decoder_device.c:141,1
    - Dst: cma_vcsm_init_str
      Src: /src/vlc/modules/hw/mmal/decoder_device.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - device
    - window
    argTypes:
    - vlc_decoder_device*
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 144
    functionName: OpenDecoderDevice
    functionSourceFile: /src/vlc/modules/hw/mmal/decoder_device.c
    functionUses: 0
    functionsReached:
    - vlc_obj_malloc
    - cma_vcsm_init
    - msg_Err
    - VLC_OBJECT
    - msg_Warn
    - cma_vcsm_init_str
    - unlikely
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int OpenDecoderDevice(vlc_decoder_device *device, vlc_window_t *window)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - chroma
    argTypes:
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 49
    functionName: NVDECToVlcChroma
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec_fmt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t NVDECToVlcChroma(vlc_fourcc_t chroma)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NVDECToVlcChroma
      Src: /src/vlc/modules/hw/nvdec/nvdec_fmt.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fourcc
    argTypes:
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: is_nvdec_opaque
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec_fmt.h
    functionUses: 0
    functionsReached:
    - NVDECToVlcChroma
    linkageType: ''
    returnType: bool
    signature: bool is_nvdec_opaque(vlc_fourcc_t fourcc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: CALL_CUDA_DEC
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_CUDA_DEC(func, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: CALL_CUDA_DEV
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_CUDA_DEV(func, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: CALL_CUVID
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_CUVID(func, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pic_ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: NVDEC_PICPOOLCTX_FROM_PICCTX
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NVDEC_PICPOOLCTX_FROM_PICCTX(pic_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:131,1
    - Dst: nvdec_ctx_t*::devsys::cudaFunctions::cuMemFree
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:133,1
    - Dst: cuvid_free_functions
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:134,1
    - Dst: free
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - owner
    - buffers
    - pics_count
    argTypes:
    - hw_pool_owner_t*
    - void*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 136
    functionName: PoolRelease
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec.c
    functionUses: 2
    functionsReached:
    - free
    - nvdec_ctx_t*::devsys::cudaFunctions::cuMemFree
    - cuvid_free_functions
    - container_of
    linkageType: ''
    returnType: void
    signature: void PoolRelease(hw_pool_owner_t *owner, void *buffers[], size_t pics_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NVDEC_PICPOOLCTX_FROM_PICCTX
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:140,1
    - Dst: hw_pool_Release
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:141,1
    - Dst: free
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - picctx
    argTypes:
    - struct picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: nvdec_picture_CtxDestroy
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec.c
    functionUses: 0
    functionsReached:
    - free
    - NVDEC_PICPOOLCTX_FROM_PICCTX
    - hw_pool_Release
    linkageType: ''
    returnType: void
    signature: void nvdec_picture_CtxDestroy(struct picture_context_t *picctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:147,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:148,1
    - Dst: NVDEC_PICPOOLCTX_FROM_PICCTX
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:150,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:153,1
    - Dst: hw_pool_AddRef
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - srcctx
    argTypes:
    - struct picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 156
    functionName: nvdec_picture_CtxClone
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec.c
    functionUses: 0
    functionsReached:
    - NVDEC_PICPOOLCTX_FROM_PICCTX
    - hw_pool_AddRef
    - vlc_video_context_Hold
    - unlikely
    - malloc
    linkageType: ''
    returnType: struct picture_context_t
    signature: struct picture_context_t *nvdec_picture_CtxClone(struct picture_context_t
      *srcctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:160,1
    - Dst: malloc
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:161,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:162,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:170,1
    - Dst: hw_pool_AddRef
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - owner
    - pool
    - surface
    argTypes:
    - hw_pool_owner_t*
    - hw_pool_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 177
    functionName: PoolAttachPicture
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec.c
    functionUses: 0
    functionsReached:
    - container_of
    - hw_pool_AddRef
    - vlc_video_context_Hold
    - unlikely
    - malloc
    linkageType: ''
    returnType: picture_context_t
    signature: picture_context_t * PoolAttachPicture(hw_pool_owner_t *owner, hw_pool_t
      *pool, void *surface)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - chroma
    - bitDepth
    argTypes:
    - cudaVideoChromaFormat
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 195
    functionName: MapSurfaceChroma
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t MapSurfaceChroma(cudaVideoChromaFormat chroma, unsigned
      bitDepth)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - chroma
    - bitDepth
    argTypes:
    - cudaVideoChromaFormat
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 213
    functionName: MapSurfaceOpaqueChroma
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t MapSurfaceOpaqueChroma(cudaVideoChromaFormat chroma, unsigned
      bitDepth)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - i_vlc_fourcc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 234
    functionName: MapSurfaceFmt
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec.c
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    linkageType: ''
    returnType: cudaVideoSurfaceFormat
    signature: cudaVideoSurfaceFormat MapSurfaceFmt(int i_vlc_fourcc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_nvdec_opaque
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:241,1
    - Dst: MapSurfaceOpaqueChroma
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:242,1
    - Dst: MapSurfaceChroma
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - fmt
    - p_format
    - i_bpp
    argTypes:
    - video_format_t*
    - CUVIDEOFORMAT*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 259
    functionName: CUtoFMT
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec.c
    functionUses: 0
    functionsReached:
    - MapSurfaceOpaqueChroma
    - MapSurfaceChroma
    - is_nvdec_opaque
    linkageType: ''
    returnType: int
    signature: "int CUtoFMT(video_format_t *fmt, const CUVIDEOFORMAT *p_format,\n
      \                  unsigned int i_bpp)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: is_nvdec_opaque
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:268,1
    - Dst: hw_pool_Release
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:272,1
    - Dst: CUtoFMT
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:279,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:282,1
    - Dst: CALL_CUDA_DEC
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:287,1
    - Dst: CALL_CUVID
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:293,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:316,1
    - Dst: MapSurfaceFmt
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:325,1
    - Dst: __MAX
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:328,1
    - Dst: CALL_CUVID
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:332,1
    - Dst: is_nvdec_opaque
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:337,1
    - Dst: CALL_CUDA_DEC
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:341,1
    - Dst: CALL_CUDA_DEC
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:345,1
    - Dst: NVDECToVlcChroma
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:354,1
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:355,1
    - Dst: CALL_CUDA_DEC
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:364,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:369,1
    - Dst: CALL_CUDA_DEC
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:371,1
    - Dst: CALL_CUDA_DEC
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:377,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:390,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:391,1
    - Dst: hw_pool_Create
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:393,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:395,1
    - Dst: PoolRelease
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:397,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:397,1
    - Dst: CALL_CUDA_DEC
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:399,1
    - Dst: CALL_CUDA_DEC
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:408,1
    - Dst: decoder_UpdateVideoOutput
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:410,1
    - Dst: CALL_CUDA_DEC
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:414,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 101
    argCount: 2
    argNames:
    - p_opaque
    - p_format
    argTypes:
    - void*
    - CUVIDEOFORMAT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 261
    functionDepth: 3
    functionLinenumber: 261
    functionLinenumberEnd: 418
    functionName: HandleVideoSequence
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec.c
    functionUses: 0
    functionsReached:
    - CUtoFMT
    - CALL_CUVID
    - hw_pool_Create
    - vlc_assert_unreachable
    - ARRAY_SIZE
    - decoder_UpdateVideoOutput
    - CALL_CUDA_DEC
    - hw_pool_Release
    - MapSurfaceFmt
    - msg_Dbg
    - __MAX
    - vlc_fourcc_GetChromaDescription
    - NVDECToVlcChroma
    - PoolRelease
    - is_nvdec_opaque
    linkageType: ''
    returnType: int
    signature: int HandleVideoSequence(void *p_opaque, CUVIDEOFORMAT *p_format)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CALL_CUDA_DEC
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:427,1
    - Dst: CALL_CUVID
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:431,1
    - Dst: CALL_CUDA_DEC
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_opaque
    - p_picparams
    argTypes:
    - void*
    - CUVIDPICPARAMS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 435
    functionName: HandlePictureDecode
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec.c
    functionUses: 0
    functionsReached:
    - CALL_CUVID
    - CALL_CUDA_DEC
    linkageType: ''
    returnType: int
    signature: int HandlePictureDecode(void *p_opaque, CUVIDPICPARAMS *p_picparams)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: is_nvdec_opaque
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:452,1
    - Dst: hw_pool_Wait
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:454,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:455,1
    - Dst: NVDEC_PICCONTEXT_FROM_PICCTX
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:457,1
    - Dst: CALL_CUDA_DEC
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:459,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:460,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:462,1
    - Dst: CALL_CUVID
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:469,1
    - Dst: assert
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:480,1
    - Dst: __MIN
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:493,1
    - Dst: CALL_CUDA_DEC
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:496,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:497,1
    - Dst: decoder_NewPicture
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:506,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:507,1
    - Dst: CALL_CUDA_DEC
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:510,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:511,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:513,1
    - Dst: CALL_CUVID
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:520,1
    - Dst: __MIN
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:537,1
    - Dst: CALL_CUDA_DEC
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:540,1
    - Dst: CALL_CUDA_DEC
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:548,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:549,1
    - Dst: CALL_CUVID
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:553,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:554,1
    - Dst: CALL_CUDA_DEC
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:557,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:573,1
    - Dst: CALL_CUDA_DEC
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:582,1
    - Dst: CALL_CUVID
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:583,1
    - Dst: CALL_CUDA_DEC
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:585,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:587,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 76
    argCount: 2
    argNames:
    - p_opaque
    - p_dispinfo
    argTypes:
    - void*
    - CUVIDPARSERDISPINFO*
    assertStmts:
    - condition: (desc != NULL)
      pos:
        line_end: 479
        line_start: 479
        source_file: /src/vlc/modules/hw/nvdec/nvdec.c
    constantsTouched: []
    func_position:
      end: 589
      start: 437
    functionDepth: 2
    functionLinenumber: 437
    functionLinenumberEnd: 589
    functionName: HandlePictureDisplay
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec.c
    functionUses: 0
    functionsReached:
    - CALL_CUVID
    - assert
    - hw_pool_Wait
    - decoder_NewPicture
    - CALL_CUDA_DEC
    - picture_Release
    - decoder_QueueVideo
    - __MIN
    - NVDEC_PICCONTEXT_FROM_PICCTX
    - unlikely
    - is_nvdec_opaque
    linkageType: ''
    returnType: int
    signature: int HandlePictureDisplay(void *p_opaque, CUVIDPARSERDISPINFO *p_dispinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALL_CUVID
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_dec
    - buf
    - bufsize
    argTypes:
    - decoder_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 601
    functionName: CuvidPushRawBlock
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec.c
    functionUses: 0
    functionsReached:
    - CALL_CUVID
    linkageType: ''
    returnType: int
    signature: int CuvidPushRawBlock(decoder_t *p_dec, uint8_t *buf, size_t bufsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALL_CUVID
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:613,1
    - Dst: block_Release
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 616
    functionName: CuvidPushBlock
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec.c
    functionUses: 0
    functionsReached:
    - CALL_CUVID
    - block_Release
    linkageType: ''
    returnType: int
    signature: int CuvidPushBlock(decoder_t *p_dec, block_t *p_block)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_helper_get_extradata_block
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:623,1
    - Dst: CuvidPushRawBlock
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:626,1
    - Dst: block_Release
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:627,1
    - Dst: hxxx_helper_process_block
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:632,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 618
    functionDepth: 2
    functionLinenumber: 618
    functionLinenumberEnd: 633
    functionName: HXXXProcessBlock
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec.c
    functionUses: 0
    functionsReached:
    - hxxx_helper_process_block
    - block_Release
    - hxxx_helper_get_extradata_block
    - CuvidPushRawBlock
    linkageType: ''
    returnType: block_t
    signature: block_t * HXXXProcessBlock(decoder_t *p_dec, block_t *p_block)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CuvidPushRawBlock
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:641,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:646,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 655
    functionName: ProcessVC1Block
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec.c
    functionUses: 0
    functionsReached:
    - block_Realloc
    - CuvidPushRawBlock
    linkageType: ''
    returnType: block_t
    signature: block_t * ProcessVC1Block(decoder_t *p_dec, block_t *p_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALL_CUVID
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 668
    functionName: CuvidPushEOS
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec.c
    functionUses: 0
    functionsReached:
    - CALL_CUVID
    linkageType: ''
    returnType: int
    signature: int CuvidPushEOS(decoder_t *p_dec)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:676,1
    - Dst: CuvidPushEOS
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:682,1
    - Dst: nvdec_ctx_t*::process_block
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:685,1
    - Dst: CuvidPushBlock
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:691,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 670
    functionDepth: 2
    functionLinenumber: 670
    functionLinenumberEnd: 692
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec.c
    functionUses: 1
    functionsReached:
    - CuvidPushBlock
    - block_Release
    - CuvidPushEOS
    - nvdec_ctx_t*::process_block
    linkageType: ''
    returnType: int
    signature: int DecodeBlock(decoder_t *p_dec, block_t *p_block)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:707,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - i_vlc_fourcc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 709
    functionName: MapCodecID
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec.c
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    linkageType: ''
    returnType: int
    signature: int MapCodecID(int i_vlc_fourcc)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - chroma_idc
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 721
    functionName: MapChomaIDC
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec.c
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    linkageType: ''
    returnType: cudaVideoChromaFormat
    signature: cudaVideoChromaFormat MapChomaIDC(uint8_t chroma_idc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CALL_CUDA_DEC
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:727,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:728,1
    - Dst: MapCodecID
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:731,1
    - Dst: CALL_CUVID
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:735,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:737,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:743,1
    - Dst: CALL_CUDA_DEC
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:750,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - p_dec
    - bitDepth
    - chroma
    argTypes:
    - decoder_t*
    - uint8_t
    - cudaVideoChromaFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 723
    functionDepth: 2
    functionLinenumber: 723
    functionLinenumberEnd: 752
    functionName: ProbeDecoder
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec.c
    functionUses: 0
    functionsReached:
    - CALL_CUVID
    - msg_Err
    - CALL_CUDA_DEC
    - MapCodecID
    - unlikely
    linkageType: ''
    returnType: int
    signature: int ProbeDecoder(decoder_t *p_dec, uint8_t bitDepth, cudaVideoChromaFormat
      chroma)
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: decoder_GetDecoderDevice
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:773,1
    - Dst: GetNVDECOpaqueDevice
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:775,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:780,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:782,1
    - Dst: calloc
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:786,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:787,1
    - Dst: hxxx_helper_init
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:796,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:796,1
    - Dst: hxxx_helper_set_extra
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:798,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:801,1
    - Dst: hxxx_helper_clean
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:802,1
    - Dst: memcmp
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:817,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:826,1
    - Dst: es_format_HasVpxAlpha
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:834,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:840,1
    - Dst: es_format_HasVpxAlpha
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:843,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:847,1
    - Dst: vlc_video_context_Create
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:852,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:853,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:855,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:857,1
    - Dst: hxxx_helper_clean
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:859,1
    - Dst: cuvid_load_functions
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:863,1
    - Dst: MapCodecID
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:868,1
    - Dst: CALL_CUVID
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:877,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:879,1
    - Dst: hxxx_helper_get_chroma_chroma
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:892,1
    - Dst: MapChomaIDC
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:896,1
    - Dst: hxxx_helper_get_current_picture_size
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:899,1
    - Dst: hxxx_helper_get_colorimetry
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:909,1
    - Dst: vlc_align
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:922,1
    - Dst: hxxx_helper_get_current_sar
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:935,1
    - Dst: vlc_align
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:942,1
    - Dst: assert
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:959,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:961,1
    - Dst: ProbeDecoder
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:983,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:990,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:999,1
    - Dst: MapSurfaceOpaqueChroma
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:1007,1
    - Dst: MapSurfaceChroma
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:1008,1
    - Dst: decoder_UpdateVideoOutput
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:1015,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:1018,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:1021,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:1026,1
    - Dst: CloseDecoder
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:1041,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:1045,1
    - Dst: free
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:1046,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 214
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 958
        line_start: 958
        source_file: /src/vlc/modules/hw/nvdec/nvdec.c
    constantsTouched: []
    func_position:
      end: 1048
      start: 754
    functionDepth: 3
    functionLinenumber: 754
    functionLinenumberEnd: 1048
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec.c
    functionUses: 0
    functionsReached:
    - CALL_CUVID
    - vlc_align
    - assert
    - vlc_decoder_device_Release
    - GetNVDECOpaqueDevice
    - memcmp
    - hxxx_helper_set_extra
    - MapChomaIDC
    - hxxx_helper_get_current_picture_size
    - msg_Err
    - calloc
    - msg_Dbg
    - hxxx_helper_get_current_sar
    - msg_Warn
    - CloseDecoder
    - hxxx_helper_get_colorimetry
    - es_format_HasVpxAlpha
    - decoder_GetDecoderDevice
    - ProbeDecoder
    - var_InheritInteger
    - hxxx_helper_clean
    - cuvid_load_functions
    - hxxx_helper_get_chroma_chroma
    - MapSurfaceOpaqueChroma
    - hxxx_helper_init
    - decoder_UpdateVideoOutput
    - free
    - vlc_video_context_Create
    - VLC_OBJECT
    - MapCodecID
    - unlikely
    - MapSurfaceChroma
    linkageType: ''
    returnType: int
    signature: int OpenDecoder(vlc_object_t *p_this)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CALL_CUDA_DEC
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:1055,1
    - Dst: CALL_CUDA_DEC
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:1056,1
    - Dst: CALL_CUVID
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:1059,1
    - Dst: CALL_CUVID
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:1061,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:1063,1
    - Dst: hxxx_helper_clean
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:1065,1
    - Dst: hw_pool_Release
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:1067,1
    - Dst: cuvid_free_functions
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:1070,1
    - Dst: free
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:1071,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1050
    functionDepth: 1
    functionLinenumber: 1050
    functionLinenumberEnd: 1073
    functionName: CloseDecoder
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec.c
    functionUses: 2
    functionsReached:
    - CALL_CUVID
    - vlc_video_context_Release
    - hxxx_helper_clean
    - free
    - CALL_CUDA_DEC
    - hw_pool_Release
    - cuvid_free_functions
    linkageType: ''
    returnType: void
    signature: void CloseDecoder(vlc_object_t *p_this)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetNVDECOpaqueDevice
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:1078,1
    - Dst: CALL_CUDA_DEV
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:1080,1
    - Dst: cuda_free_functions
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:1081,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - device
    argTypes:
    - vlc_decoder_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1076
    functionDepth: 1
    functionLinenumber: 1076
    functionLinenumberEnd: 1082
    functionName: DecoderContextClose
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec.c
    functionUses: 0
    functionsReached:
    - cuda_free_functions
    - CALL_CUDA_DEV
    - GetNVDECOpaqueDevice
    linkageType: ''
    returnType: void
    signature: void DecoderContextClose(vlc_decoder_device *device)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALL_CUDA_DEV
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:1093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1089
    functionDepth: 1
    functionLinenumber: 1089
    functionLinenumberEnd: 1094
    functionName: initCuda
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec.c
    functionUses: 0
    functionsReached:
    - CALL_CUDA_DEV
    linkageType: ''
    returnType: void
    signature: void initCuda(void *opaque)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:1099,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:1101,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:1101,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:1102,1
    - Dst: cuda_load_functions
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:1110,1
    - Dst: vlc_once
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:1117,1
    - Dst: DecoderContextClose
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:1121,1
    - Dst: CALL_CUDA_DEV
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:1125,1
    - Dst: DecoderContextClose
      Src: /src/vlc/modules/hw/nvdec/nvdec.c:1128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - device
    - window
    argTypes:
    - vlc_decoder_device*
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1096
    functionDepth: 2
    functionLinenumber: 1096
    functionLinenumberEnd: 1133
    functionName: DecoderContextOpen
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec.c
    functionUses: 0
    functionsReached:
    - cuda_load_functions
    - vlc_obj_malloc
    - DecoderContextClose
    - VLC_OBJECT
    - vlc_once
    - unlikely
    - CALL_CUDA_DEV
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int DecoderContextOpen(vlc_decoder_device *device, vlc_window_t *window)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/hw/nvdec/chroma.c:40,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/hw/nvdec/chroma.c:42,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/hw/nvdec/chroma.c:44,1
    - Dst: vlc_chroma_conv_add_in_outlist
      Src: /src/vlc/modules/hw/nvdec/chroma.c:46,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/hw/nvdec/chroma.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - vec
    argTypes:
    - vlc_chroma_conv_vec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: ProbeChroma
    functionSourceFile: /src/vlc/modules/hw/nvdec/chroma.c
    functionUses: 0
    functionsReached:
    - vlc_chroma_conv_add
    - vlc_chroma_conv_add_in_outlist
    linkageType: ''
    returnType: void
    signature: void ProbeChroma(vlc_chroma_conv_vec *vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: CALL_CUDA
    functionSourceFile: /src/vlc/modules/hw/nvdec/chroma.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_CUDA(func, ...)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: filter_NewPicture
      Src: /src/vlc/modules/hw/nvdec/chroma.c:66,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/nvdec/chroma.c:67,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/nvdec/chroma.c:69,1
    - Dst: container_of
      Src: /src/vlc/modules/hw/nvdec/chroma.c:73,1
    - Dst: vlc_video_context_HoldDevice
      Src: /src/vlc/modules/hw/nvdec/chroma.c:74,1
    - Dst: GetNVDECOpaqueDevice
      Src: /src/vlc/modules/hw/nvdec/chroma.c:75,1
    - Dst: CALL_CUDA
      Src: /src/vlc/modules/hw/nvdec/chroma.c:78,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/nvdec/chroma.c:81,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/nvdec/chroma.c:82,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/hw/nvdec/chroma.c:83,1
    - Dst: memset
      Src: /src/vlc/modules/hw/nvdec/chroma.c:93,1
    - Dst: __MIN
      Src: /src/vlc/modules/hw/nvdec/chroma.c:104,1
    - Dst: __MIN
      Src: /src/vlc/modules/hw/nvdec/chroma.c:105,1
    - Dst: CALL_CUDA
      Src: /src/vlc/modules/hw/nvdec/chroma.c:107,1
    - Dst: picture_CopyProperties
      Src: /src/vlc/modules/hw/nvdec/chroma.c:112,1
    - Dst: CALL_CUDA
      Src: /src/vlc/modules/hw/nvdec/chroma.c:118,1
    - Dst: CALL_CUDA
      Src: /src/vlc/modules/hw/nvdec/chroma.c:124,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/nvdec/chroma.c:128,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/nvdec/chroma.c:131,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/hw/nvdec/chroma.c:132,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - p_filter
    - src
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 134
    functionName: FilterCUDAToCPU
    functionSourceFile: /src/vlc/modules/hw/nvdec/chroma.c
    functionUses: 0
    functionsReached:
    - vlc_video_context_HoldDevice
    - container_of
    - vlc_decoder_device_Release
    - memset
    - picture_CopyProperties
    - filter_NewPicture
    - picture_Release
    - CALL_CUDA
    - __MIN
    - GetNVDECOpaqueDevice
    - unlikely
    linkageType: ''
    returnType: picture_t
    signature: picture_t * FilterCUDAToCPU( filter_t *p_filter, picture_t *src )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_video_context_GetType
      Src: /src/vlc/modules/hw/nvdec/chroma.c:143,1
    - Dst: assert
      Src: /src/vlc/modules/hw/nvdec/chroma.c:145,1
    - Dst: is_nvdec_opaque
      Src: /src/vlc/modules/hw/nvdec/chroma.c:145,1
    - Dst: NVDECToVlcChroma
      Src: /src/vlc/modules/hw/nvdec/chroma.c:146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: (is_nvdec_opaque(p_filter->fmt_in.video.i_chroma))
      pos:
        line_end: 144
        line_start: 144
        source_file: /src/vlc/modules/hw/nvdec/chroma.c
    constantsTouched: []
    func_position:
      end: 155
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 155
    functionName: OpenCUDAToCPU
    functionSourceFile: /src/vlc/modules/hw/nvdec/chroma.c
    functionUses: 0
    functionsReached:
    - NVDECToVlcChroma
    - assert
    - vlc_video_context_GetType
    - is_nvdec_opaque
    linkageType: ''
    returnType: int
    signature: int OpenCUDAToCPU( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_atomic_rc_inc
      Src: /src/vlc/modules/hw/nvdec/hw_pool.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pool
    argTypes:
    - hw_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: hw_pool_AddRef
    functionSourceFile: /src/vlc/modules/hw/nvdec/hw_pool.c
    functionUses: 2
    functionsReached:
    - vlc_atomic_rc_inc
    linkageType: ''
    returnType: void
    signature: void hw_pool_AddRef(hw_pool_t *pool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_atomic_rc_dec
      Src: /src/vlc/modules/hw/nvdec/hw_pool.c:52,1
    - Dst: hw_pool_t*::owner::release_resources
      Src: /src/vlc/modules/hw/nvdec/hw_pool.c:55,1
    - Dst: picture_pool_Release
      Src: /src/vlc/modules/hw/nvdec/hw_pool.c:57,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/hw/nvdec/hw_pool.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pool
    argTypes:
    - hw_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: hw_pool_Release
    functionSourceFile: /src/vlc/modules/hw/nvdec/hw_pool.c
    functionUses: 3
    functionsReached:
    - hw_pool_t*::owner::release_resources
    - vlc_video_context_Release
    - vlc_atomic_rc_dec
    - picture_pool_Release
    linkageType: ''
    returnType: void
    signature: void hw_pool_Release(hw_pool_t *pool)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/hw/nvdec/hw_pool.c:65,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/nvdec/hw_pool.c:66,1
    - Dst: picture_NewFromResource
      Src: /src/vlc/modules/hw/nvdec/hw_pool.c:72,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/nvdec/hw_pool.c:76,1
    - Dst: picture_pool_New
      Src: /src/vlc/modules/hw/nvdec/hw_pool.c:83,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/hw/nvdec/hw_pool.c:90,1
    - Dst: vlc_atomic_rc_init
      Src: /src/vlc/modules/hw/nvdec/hw_pool.c:92,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/nvdec/hw_pool.c:99,1
    - Dst: free
      Src: /src/vlc/modules/hw/nvdec/hw_pool.c:102,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 5
    argNames:
    - owner
    - fmt
    - vctx
    - buffers
    - pics_count
    argTypes:
    - hw_pool_owner_t*
    - video_format_t*
    - vlc_video_context*
    - void*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 104
    functionName: hw_pool_Create
    functionSourceFile: /src/vlc/modules/hw/nvdec/hw_pool.c
    functionUses: 1
    functionsReached:
    - picture_NewFromResource
    - picture_pool_New
    - vlc_video_context_Hold
    - calloc
    - picture_Release
    - free
    - vlc_atomic_rc_init
    - unlikely
    linkageType: ''
    returnType: hw_pool_t
    signature: "hw_pool_t * hw_pool_Create(hw_pool_owner_t *owner,\r\n                          const
      video_format_t *fmt, vlc_video_context *vctx,\r\n                          void
      *buffers[], size_t pics_count)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: picture_pool_Wait
      Src: /src/vlc/modules/hw/nvdec/hw_pool.c:108,1
    - Dst: hw_pool_t*::owner::attach_picture
      Src: /src/vlc/modules/hw/nvdec/hw_pool.c:114,1
    - Dst: likely
      Src: /src/vlc/modules/hw/nvdec/hw_pool.c:115,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/nvdec/hw_pool.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pool
    argTypes:
    - hw_pool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 120
    functionName: hw_pool_Wait
    functionSourceFile: /src/vlc/modules/hw/nvdec/hw_pool.c
    functionUses: 1
    functionsReached:
    - picture_Release
    - hw_pool_t*::owner::attach_picture
    - likely
    - picture_pool_Wait
    linkageType: ''
    returnType: picture_t
    signature: picture_t * hw_pool_Wait(hw_pool_t *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: CALL_CUDA
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec_gl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_CUDA(func, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetNVDECOpaqueDevice
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:66,1
    - Dst: CALL_CUDA
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:69,1
    - Dst: converter_sys_t*::gl::BindTexture
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:75,1
    - Dst: converter_sys_t*::gl::TexImage2D
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:76,1
    - Dst: converter_sys_t*::gl::GetError
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:79,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:81,1
    - Dst: CALL_CUDA
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:85,1
    - Dst: CALL_CUDA
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:87,1
    - Dst: CALL_CUDA
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:88,1
    - Dst: CALL_CUDA
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:89,1
    - Dst: converter_sys_t*::gl::BindTexture
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:91,1
    - Dst: CALL_CUDA
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - interop
    - textures
    - tex_width
    - tex_height
    argTypes:
    - struct vlc_gl_interop*
    - uint32_t[]
    - int32_t[]
    - int32_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 96
    functionName: tc_nvdec_gl_allocate_texture
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec_gl.c
    functionUses: 0
    functionsReached:
    - converter_sys_t*::gl::BindTexture
    - converter_sys_t*::gl::GetError
    - msg_Err
    - CALL_CUDA
    - converter_sys_t*::gl::TexImage2D
    - GetNVDECOpaqueDevice
    linkageType: ''
    returnType: int
    signature: "int tc_nvdec_gl_allocate_texture(const struct vlc_gl_interop *interop,
      uint32_t textures[],\n                                const int32_t tex_width[],
      const int32_t tex_height[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:103,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:104,1
    - Dst: GetNVDECOpaqueDevice
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:108,1
    - Dst: container_of
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:109,1
    - Dst: CALL_CUDA
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:112,1
    - Dst: CALL_CUDA
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:130,1
    - Dst: CALL_CUDA
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 6
    argNames:
    - interop
    - textures
    - tex_widths
    - tex_heights
    - pic
    - plane_offsets
    argTypes:
    - struct vlc_gl_interop*
    - uint32_t[]
    - int32_t[]
    - int32_t[]
    - picture_t*
    - size_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 139
    functionName: tc_nvdec_gl_update
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec_gl.c
    functionUses: 0
    functionsReached:
    - container_of
    - CALL_CUDA
    - GetNVDECOpaqueDevice
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int tc_nvdec_gl_update(const struct vlc_gl_interop *interop, uint32_t
      textures[],\n                   int32_t const tex_widths[], int32_t const tex_heights[],\n
      \                  picture_t *pic, size_t const plane_offsets[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interop
    argTypes:
    - struct vlc_gl_interop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: tc_nvdec_gl_close
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec_gl.c
    functionUses: 0
    functionsReached:
    - vlc_decoder_device_Release
    linkageType: ''
    returnType: void
    signature: void tc_nvdec_gl_close(struct vlc_gl_interop *interop)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: is_nvdec_opaque
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:149,1
    - Dst: vlc_video_context_HoldDevice
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:152,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:156,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:156,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:157,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:159,1
    - Dst: vlc_gl_GetProcAddress
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:164,1
    - Dst: assert
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:165,1
    - Dst: vlc_gl_GetProcAddress
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:168,1
    - Dst: assert
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:169,1
    - Dst: vlc_gl_GetProcAddress
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:172,1
    - Dst: assert
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:173,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:175,1
    - Dst: GetNVDECOpaqueDevice
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:180,1
    - Dst: CALL_CUDA
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:184,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:187,1
    - Dst: CALL_CUDA
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:192,1
    - Dst: CALL_CUDA
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:193,1
    - Dst: CALL_CUDA
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:194,1
    - Dst: CALL_CUDA
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:198,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:201,1
    - Dst: video_format_TransformBy
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:207,1
    - Dst: NVDECToVlcChroma
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:209,1
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:210,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/hw/nvdec/nvdec_gl.c:213,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 67
    argCount: 1
    argNames:
    - interop
    argTypes:
    - struct vlc_gl_interop*
    assertStmts:
    - condition: (p_sys->gl.BindTexture)
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/vlc/modules/hw/nvdec/nvdec_gl.c
    - condition: (p_sys->gl.TexImage2D)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/vlc/modules/hw/nvdec/nvdec_gl.c
    - condition: (p_sys->gl.GetError)
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/vlc/modules/hw/nvdec/nvdec_gl.c
    constantsTouched: []
    func_position:
      end: 295
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 295
    functionName: Open
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec_gl.c
    functionUses: 51
    functionsReached:
    - vlc_video_context_HoldDevice
    - assert
    - vlc_gl_GetProcAddress
    - vlc_obj_malloc
    - ARRAY_SIZE
    - vlc_decoder_device_Release
    - video_format_TransformBy
    - CALL_CUDA
    - vlc_fourcc_GetChromaDescription
    - VLC_OBJECT
    - GetNVDECOpaqueDevice
    - NVDECToVlcChroma
    - unlikely
    - is_nvdec_opaque
    linkageType: ''
    returnType: int
    signature: int Open(struct vlc_gl_interop *interop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - logctx
    - ','
    - msg
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: FFNV_LOG_FUNC
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec_priv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FFNV_LOG_FUNC(logctx, msg, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - logctx
    - ','
    - msg
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: FFNV_DEBUG_LOG_FUNC
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec_priv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FFNV_DEBUG_LOG_FUNC(logctx, msg, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - device
    argTypes:
    - vlc_decoder_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: GetNVDECOpaqueDevice
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec_priv.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: decoder_device_nvdec_t
    signature: decoder_device_nvdec_t *GetNVDECOpaqueDevice(vlc_decoder_device *device)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/hw/nvdec/nvdec_priv.h:47,1
    - Dst: CudaFunctions*::cuGetErrorName
      Src: /src/vlc/modules/hw/nvdec/nvdec_priv.h:49,1
    - Dst: CudaFunctions*::cuGetErrorString
      Src: /src/vlc/modules/hw/nvdec/nvdec_priv.h:50,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/nvdec/nvdec_priv.h:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - obj
    - cudaFunctions
    - result
    - psz_func
    argTypes:
    - vlc_object_t*
    - CudaFunctions*
    - CUresult
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: CudaCheckErr
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec_priv.h
    functionUses: 0
    functionsReached:
    - CudaFunctions*::cuGetErrorName
    - unlikely
    - CudaFunctions*::cuGetErrorString
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int CudaCheckErr(vlc_object_t *obj, CudaFunctions *cudaFunctions, CUresult
      result, const char *psz_func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pic_ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: NVDEC_PICCONTEXT_FROM_PICCTX
    functionSourceFile: /src/vlc/modules/hw/nvdec/nvdec_priv.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NVDEC_PICCONTEXT_FROM_PICCTX(pic_ctx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:83,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 3
    argNames:
    - i_vlc_chroma
    - va_rt_format
    - va_fourcc
    argTypes:
    - int
    - unsigned*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 85
    functionName: vlc_chroma_to_vaapi
    functionSourceFile: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    linkageType: ''
    returnType: void
    signature: void vlc_chroma_to_vaapi(int i_vlc_chroma, unsigned *va_rt_format,
      int *va_fourcc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VA_CALL
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 8
    argNames:
    - o
    - dpy
    - conf
    - pic_w
    - pic_h
    - flag
    - render_targets
    - num_render_targets
    argTypes:
    - vlc_object_t*
    - VADisplay
    - VAConfigID
    - int
    - int
    - int
    - VASurfaceID*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: vlc_vaapi_CreateContext
    functionSourceFile: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    functionUses: 0
    functionsReached:
    - VA_CALL
    linkageType: ''
    returnType: VAContextID
    signature: "VAContextID vlc_vaapi_CreateContext(vlc_object_t *o, VADisplay dpy,
      VAConfigID conf,\n                        int pic_w, int pic_h, int flag,\n
      \                       VASurfaceID *render_targets, int num_render_targets)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VA_CALL
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 7
    argNames:
    - o
    - dpy
    - ctx
    - type
    - size
    - num_elements
    - data
    argTypes:
    - vlc_object_t*
    - VADisplay
    - VAContextID
    - VABufferType
    - unsigned int
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: vlc_vaapi_CreateBuffer
    functionSourceFile: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    functionUses: 0
    functionsReached:
    - VA_CALL
    linkageType: ''
    returnType: VABufferID
    signature: "VABufferID vlc_vaapi_CreateBuffer(vlc_object_t *o, VADisplay dpy,
      VAContextID ctx,\n                       VABufferType type, unsigned int size,\n
      \                      unsigned int num_elements, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VA_CALL
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - o
    - dpy
    - surface
    - image
    argTypes:
    - vlc_object_t*
    - VADisplay
    - VASurfaceID
    - VAImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: vlc_vaapi_DeriveImage
    functionSourceFile: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    functionUses: 0
    functionsReached:
    - VA_CALL
    linkageType: ''
    returnType: int
    signature: "int vlc_vaapi_DeriveImage(vlc_object_t *o,\n                      VADisplay
      dpy, VASurfaceID surface, VAImage *image)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VA_CALL
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - o
    - dpy
    - format
    - width
    - height
    - image
    argTypes:
    - vlc_object_t*
    - VADisplay
    - VAImageFormat*
    - int
    - int
    - VAImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: vlc_vaapi_CreateImage
    functionSourceFile: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    functionUses: 0
    functionsReached:
    - VA_CALL
    linkageType: ''
    returnType: int
    signature: "int vlc_vaapi_CreateImage(vlc_object_t *o, VADisplay dpy, VAImageFormat
      *format,\n                      int width, int height, VAImage *image)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VA_CALL
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - o
    - dpy
    - conf
    argTypes:
    - vlc_object_t*
    - VADisplay
    - VAConfigID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: vlc_vaapi_DestroyConfig
    functionSourceFile: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    functionUses: 0
    functionsReached:
    - VA_CALL
    linkageType: ''
    returnType: int
    signature: int vlc_vaapi_DestroyConfig(vlc_object_t *o, VADisplay dpy, VAConfigID
      conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VA_CALL
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - o
    - dpy
    - ctx
    argTypes:
    - vlc_object_t*
    - VADisplay
    - VAContextID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: vlc_vaapi_DestroyContext
    functionSourceFile: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    functionUses: 0
    functionsReached:
    - VA_CALL
    linkageType: ''
    returnType: int
    signature: int vlc_vaapi_DestroyContext(vlc_object_t *o, VADisplay dpy, VAContextID
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VA_CALL
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - o
    - dpy
    - buf
    argTypes:
    - vlc_object_t*
    - VADisplay
    - VABufferID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: vlc_vaapi_DestroyBuffer
    functionSourceFile: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    functionUses: 0
    functionsReached:
    - VA_CALL
    linkageType: ''
    returnType: int
    signature: int vlc_vaapi_DestroyBuffer(vlc_object_t *o, VADisplay dpy, VABufferID
      buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VA_CALL
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - o
    - dpy
    - image
    argTypes:
    - vlc_object_t*
    - VADisplay
    - VAImageID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: vlc_vaapi_DestroyImage
    functionSourceFile: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    functionUses: 0
    functionsReached:
    - VA_CALL
    linkageType: ''
    returnType: int
    signature: int vlc_vaapi_DestroyImage(vlc_object_t *o, VADisplay dpy, VAImageID
      image)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VA_CALL
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - o
    - dpy
    - buf_id
    - p_buf
    argTypes:
    - vlc_object_t*
    - VADisplay
    - VABufferID
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 176
    functionName: vlc_vaapi_MapBuffer
    functionSourceFile: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    functionUses: 0
    functionsReached:
    - VA_CALL
    linkageType: ''
    returnType: int
    signature: "int vlc_vaapi_MapBuffer(vlc_object_t *o, VADisplay dpy,\n                    VABufferID
      buf_id, void **p_buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VA_CALL
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - o
    - dpy
    - buf_id
    argTypes:
    - vlc_object_t*
    - VADisplay
    - VABufferID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: vlc_vaapi_UnmapBuffer
    functionSourceFile: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    functionUses: 0
    functionsReached:
    - VA_CALL
    linkageType: ''
    returnType: int
    signature: int vlc_vaapi_UnmapBuffer(vlc_object_t *o, VADisplay dpy, VABufferID
      buf_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VA_CALL
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - o
    - dpy
    - buf_id
    - buf_info
    argTypes:
    - vlc_object_t*
    - VADisplay
    - VABufferID
    - VABufferInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 193
    functionName: vlc_vaapi_AcquireBufferHandle
    functionSourceFile: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    functionUses: 0
    functionsReached:
    - VA_CALL
    linkageType: ''
    returnType: int
    signature: "int vlc_vaapi_AcquireBufferHandle(vlc_object_t *o, VADisplay dpy,
      VABufferID buf_id,\n                              VABufferInfo *buf_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VA_CALL
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - o
    - dpy
    - buf_id
    argTypes:
    - vlc_object_t*
    - VADisplay
    - VABufferID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 201
    functionName: vlc_vaapi_ReleaseBufferHandle
    functionSourceFile: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    functionUses: 0
    functionsReached:
    - VA_CALL
    linkageType: ''
    returnType: int
    signature: int vlc_vaapi_ReleaseBufferHandle(vlc_object_t *o, VADisplay dpy, VABufferID
      buf_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VA_CALL
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - o
    - dpy
    - ctx
    - filter
    argTypes:
    - vlc_object_t*
    - VADisplay
    - VAContextID
    - VAProcFilterType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 220
    functionName: vlc_vaapi_IsVideoProcFilterAvailable
    functionSourceFile: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    functionUses: 0
    functionsReached:
    - VA_CALL
    linkageType: ''
    returnType: int
    signature: "int vlc_vaapi_IsVideoProcFilterAvailable(vlc_object_t *o, VADisplay
      dpy,\n                                     VAContextID ctx, VAProcFilterType
      filter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VA_CALL
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - o
    - dpy
    - ctx
    - filter
    - caps
    - p_num_caps
    argTypes:
    - vlc_object_t*
    - VADisplay
    - VAContextID
    - VAProcFilterType
    - void*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 231
    functionName: vlc_vaapi_QueryVideoProcFilterCaps
    functionSourceFile: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    functionUses: 0
    functionsReached:
    - VA_CALL
    linkageType: ''
    returnType: int
    signature: "int vlc_vaapi_QueryVideoProcFilterCaps(vlc_object_t *o, VADisplay
      dpy,\n                                   VAContextID ctx, VAProcFilterType filter,\n
      \                                  void *caps, unsigned int *p_num_caps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VA_CALL
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - o
    - dpy
    - ctx
    - filters
    - num_filters
    - pipeline_caps
    argTypes:
    - vlc_object_t*
    - VADisplay
    - VAContextID
    - VABufferID*
    - unsigned int
    - VAProcPipelineCaps*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 243
    functionName: vlc_vaapi_QueryVideoProcPipelineCaps
    functionSourceFile: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    functionUses: 0
    functionsReached:
    - VA_CALL
    linkageType: ''
    returnType: int
    signature: "int vlc_vaapi_QueryVideoProcPipelineCaps(vlc_object_t *o, VADisplay
      dpy,\n                                     VAContextID ctx, VABufferID *filters,\n
      \                                    unsigned int num_filters,\n                                     VAProcPipelineCaps
      *pipeline_caps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VA_CALL
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - o
    - dpy
    - ctx
    - surface
    argTypes:
    - vlc_object_t*
    - VADisplay
    - VAContextID
    - VASurfaceID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 256
    functionName: vlc_vaapi_BeginPicture
    functionSourceFile: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    functionUses: 0
    functionsReached:
    - VA_CALL
    linkageType: ''
    returnType: int
    signature: "int vlc_vaapi_BeginPicture(vlc_object_t *o, VADisplay dpy,\n                       VAContextID
      ctx, VASurfaceID surface)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VA_CALL
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - o
    - dpy
    - ctx
    - buffers
    - num_buffers
    argTypes:
    - vlc_object_t*
    - VADisplay
    - VAContextID
    - VABufferID*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 265
    functionName: vlc_vaapi_RenderPicture
    functionSourceFile: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    functionUses: 0
    functionsReached:
    - VA_CALL
    linkageType: ''
    returnType: int
    signature: "int vlc_vaapi_RenderPicture(vlc_object_t *o, VADisplay dpy, VAContextID
      ctx,\n                        VABufferID *buffers, int num_buffers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VA_CALL
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - o
    - dpy
    - ctx
    argTypes:
    - vlc_object_t*
    - VADisplay
    - VAContextID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 273
    functionName: vlc_vaapi_EndPicture
    functionSourceFile: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    functionUses: 0
    functionsReached:
    - VA_CALL
    linkageType: ''
    returnType: int
    signature: int vlc_vaapi_EndPicture(vlc_object_t *o, VADisplay dpy, VAContextID
      ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vaMaxNumProfiles
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:285,1
    - Dst: calloc
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:288,1
    - Dst: vaQueryConfigProfiles
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:294,1
    - Dst: free
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:308,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - dpy
    - i_profile
    argTypes:
    - VADisplay
    - VAProfile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 310
    functionName: IsVaProfileSupported
    functionSourceFile: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    functionUses: 0
    functionsReached:
    - calloc
    - vaMaxNumProfiles
    - free
    - vaQueryConfigProfiles
    linkageType: ''
    returnType: bool
    signature: bool IsVaProfileSupported(VADisplay dpy, VAProfile i_profile)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vaMaxNumEntrypoints
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:317,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:322,1
    - Dst: vaQueryConfigEntrypoints
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:328,1
    - Dst: free
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:340,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - dpy
    - i_profile
    - entrypoint
    argTypes:
    - VADisplay
    - VAProfile
    - VAEntrypoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 342
    functionName: IsEntrypointAvailable
    functionSourceFile: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    functionUses: 0
    functionsReached:
    - vaQueryConfigEntrypoints
    - vaMaxNumEntrypoints
    - vlc_alloc
    - free
    linkageType: ''
    returnType: bool
    signature: "bool IsEntrypointAvailable(VADisplay dpy, VAProfile i_profile,\n                      VAEntrypoint
      entrypoint)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vlc_chroma_to_vaapi
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:353,1
    - Dst: IsVaProfileSupported
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:356,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:358,1
    - Dst: IsEntrypointAvailable
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:361,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:363,1
    - Dst: vaGetConfigAttributes
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:371,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:373,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:380,1
    - Dst: VA_CALL
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:387,1
    - Dst: vaQuerySurfaceAttributes
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:394,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:398,1
    - Dst: vaQuerySurfaceAttributes
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:401,1
    - Dst: free
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:412,1
    - Dst: free
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:419,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:422,1
    - Dst: vlc_vaapi_DestroyConfig
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:423,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 5
    argNames:
    - o
    - dpy
    - i_profile
    - entrypoint
    - i_force_vlc_chroma
    argTypes:
    - vlc_object_t*
    - VADisplay
    - VAProfile
    - VAEntrypoint
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 426
    functionName: vlc_vaapi_CreateConfigChecked
    functionSourceFile: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    functionUses: 0
    functionsReached:
    - vlc_chroma_to_vaapi
    - vaGetConfigAttributes
    - vlc_vaapi_DestroyConfig
    - IsVaProfileSupported
    - msg_Err
    - free
    - vlc_alloc
    - vaQuerySurfaceAttributes
    - VA_CALL
    - IsEntrypointAvailable
    linkageType: ''
    returnType: VAConfigID
    signature: "VAConfigID vlc_vaapi_CreateConfigChecked(vlc_object_t *o, VADisplay
      dpy,\n                              VAProfile i_profile, VAEntrypoint entrypoint,\n
      \                             int i_force_vlc_chroma)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_sub
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:453,1
    - Dst: vaDestroySurfaces
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:455,1
    - Dst: free
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:457,1
    - Dst: free
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pic
    argTypes:
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 460
    functionName: pool_pic_destroy_cb
    functionSourceFile: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    functionUses: 0
    functionsReached:
    - free
    - vaDestroySurfaces
    - atomic_fetch_sub
    linkageType: ''
    returnType: void
    signature: void pool_pic_destroy_cb(picture_t *pic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:466,1
    - Dst: free
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - struct picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 468
    functionName: pic_ctx_destroy_cb
    functionSourceFile: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    functionUses: 0
    functionsReached:
    - free
    - picture_Release
    linkageType: ''
    returnType: void
    signature: void pic_ctx_destroy_cb(struct picture_context_t *opaque)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:473,1
    - Dst: malloc
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:474,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:479,1
    - Dst: picture_Hold
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - struct picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 483
    functionName: pic_ctx_copy_cb
    functionSourceFile: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    functionUses: 0
    functionsReached:
    - picture_Hold
    - malloc
    - vlc_video_context_Hold
    - container_of
    linkageType: ''
    returnType: struct picture_context_t
    signature: 'struct picture_context_t *

      pic_ctx_copy_cb(struct picture_context_t *opaque)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - struct picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: pic_sys_ctx_destroy_cb
    functionSourceFile: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pic_sys_ctx_destroy_cb(struct picture_context_t *opaque)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_chroma_to_vaapi
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:498,1
    - Dst: malloc
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:501,1
    - Dst: atomic_init
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:505,1
    - Dst: VA_CALL
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:518,1
    - Dst: malloc
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:525,1
    - Dst: picture_NewFromResource
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:543,1
    - Dst: free
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:546,1
    - Dst: picture_pool_New
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:552,1
    - Dst: atomic_store
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:556,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:563,1
    - Dst: VA_CALL
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:565,1
    - Dst: free
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:569,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 6
    argNames:
    - o
    - vctx
    - dpy
    - count
    - render_targets
    - fmt
    argTypes:
    - vlc_object_t*
    - vlc_video_context*
    - VADisplay
    - unsigned
    - VASurfaceID**
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 571
    functionName: vlc_vaapi_PoolNew
    functionSourceFile: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    functionUses: 0
    functionsReached:
    - atomic_init
    - vlc_chroma_to_vaapi
    - picture_NewFromResource
    - picture_pool_New
    - free
    - atomic_store
    - picture_Release
    - VA_CALL
    - malloc
    linkageType: ''
    returnType: picture_pool_t
    signature: "picture_pool_t *\nvlc_vaapi_PoolNew(vlc_object_t *o, vlc_video_context
      *vctx,\n                  VADisplay dpy, unsigned count, VASurfaceID **render_targets,\n
      \                 const video_format_t *restrict fmt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pic
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 576
    functionName: ASSERT_VAAPI_CHROMA
    functionSourceFile: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_VAAPI_CHROMA(pic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_VAAPI_CHROMA
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:580,1
    - Dst: assert
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:581,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pic
    - vaapi_ctx
    argTypes:
    - picture_t*
    - struct vaapi_pic_context*
    assertStmts:
    - condition: (pic->context == NULL)
      pos:
        line_end: 580
        line_start: 580
        source_file: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    constantsTouched: []
    func_position:
      end: 585
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 585
    functionName: vlc_vaapi_PicSetContext
    functionSourceFile: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    functionUses: 0
    functionsReached:
    - ASSERT_VAAPI_CHROMA
    - assert
    - vlc_video_context_Hold
    linkageType: ''
    returnType: void
    signature: void vlc_vaapi_PicSetContext(picture_t *pic, struct vaapi_pic_context
      *vaapi_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_VAAPI_CHROMA
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:590,1
    - Dst: assert
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:591,1
    - Dst: vlc_vaapi_PicSetContext
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pic
    argTypes:
    - picture_t*
    assertStmts:
    - condition: (pic->p_sys != NULL)
      pos:
        line_end: 590
        line_start: 590
        source_file: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    constantsTouched: []
    func_position:
      end: 596
      start: 587
    functionDepth: 2
    functionLinenumber: 587
    functionLinenumberEnd: 596
    functionName: vlc_vaapi_PicAttachContext
    functionSourceFile: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    functionUses: 0
    functionsReached:
    - vlc_vaapi_PicSetContext
    - ASSERT_VAAPI_CHROMA
    - assert
    linkageType: ''
    returnType: void
    signature: void vlc_vaapi_PicAttachContext(picture_t *pic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_VAAPI_CHROMA
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:601,1
    - Dst: assert
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pic
    argTypes:
    - picture_t*
    assertStmts:
    - condition: (pic->context)
      pos:
        line_end: 601
        line_start: 601
        source_file: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    constantsTouched: []
    func_position:
      end: 605
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 605
    functionName: vlc_vaapi_PicGetSurface
    functionSourceFile: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    functionUses: 0
    functionsReached:
    - ASSERT_VAAPI_CHROMA
    - assert
    linkageType: ''
    returnType: VASurfaceID
    signature: VASurfaceID vlc_vaapi_PicGetSurface(picture_t *pic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_VAAPI_CHROMA
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:610,1
    - Dst: assert
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pic
    argTypes:
    - picture_t*
    assertStmts:
    - condition: (pic->context)
      pos:
        line_end: 610
        line_start: 610
        source_file: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    constantsTouched: []
    func_position:
      end: 615
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 615
    functionName: vlc_vaapi_PicGetDisplay
    functionSourceFile: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    functionUses: 0
    functionsReached:
    - ASSERT_VAAPI_CHROMA
    - assert
    linkageType: ''
    returnType: VADisplay
    signature: VADisplay vlc_vaapi_PicGetDisplay(picture_t *pic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VA_CALL
      Src: /src/vlc/modules/hw/vaapi/vlc_vaapi.c:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - o
    - dpy
    - surface
    - mem_type
    - flags
    - descriptor
    argTypes:
    - vlc_object_t*
    - VADisplay
    - VASurfaceID
    - uint32_t
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 629
    functionName: vlc_vaapi_ExportSurfaceHandle
    functionSourceFile: /src/vlc/modules/hw/vaapi/vlc_vaapi.c
    functionUses: 0
    functionsReached:
    - VA_CALL
    linkageType: ''
    returnType: int
    signature: "int vlc_vaapi_ExportSurfaceHandle(vlc_object_t *o,\n                              VADisplay
      dpy,\n                              VASurfaceID surface,\n                              uint32_t
      mem_type,\n                              uint32_t flags,\n                              void
      *descriptor)"
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - i_vlc_chroma
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 210
    functionName: vlc_vaapi_IsChromaOpaque
    functionSourceFile: /src/vlc/modules/hw/vaapi/vlc_vaapi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool vlc_vaapi_IsChromaOpaque(int i_vlc_chroma)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - o
    - ','
    - f
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 237
    functionName: VA_CALL
    functionSourceFile: /src/vlc/modules/hw/vaapi/vlc_vaapi.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VA_CALL(o, f, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - vlc_sigma
    - ','
    - vlc_range
    - ','
    - drv_range
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: GET_DRV_SIGMA
    functionSourceFile: /src/vlc/modules/hw/vaapi/filters.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_DRV_SIGMA(vlc_sigma, vlc_range, drv_range)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/hw/vaapi/filters.c:122,1
    - Dst: GET_DRV_SIGMA
      Src: /src/vlc/modules/hw/vaapi/filters.c:125,1
    - Dst: strcmp
      Src: /src/vlc/modules/hw/vaapi/filters.c:127,1
    - Dst: GET_DRV_SIGMA
      Src: /src/vlc/modules/hw/vaapi/filters.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - psz_var
    - sigma
    - p_range
    argTypes:
    - char*
    - float
    - struct range*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 133
    functionName: adapt_adjust_sigma
    functionSourceFile: /src/vlc/modules/hw/vaapi/filters.c
    functionUses: 0
    functionsReached:
    - strcmp
    - GET_DRV_SIGMA
    linkageType: ''
    returnType: float
    signature: "float adapt_adjust_sigma(char const * psz_var, float const sigma,\n
      \                  struct range const * p_range)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: picture_pool_Wait
      Src: /src/vlc/modules/hw/vaapi/filters.c:215,1
    - Dst: vlc_vaapi_PicAttachContext
      Src: /src/vlc/modules/hw/vaapi/filters.c:219,1
    - Dst: picture_CopyProperties
      Src: /src/vlc/modules/hw/vaapi/filters.c:220,1
    - Dst: vlc_vaapi_MapBuffer
      Src: /src/vlc/modules/hw/vaapi/filters.c:224,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vaapi/filters.c:224,1
    - Dst: pf_update_va_filter_params
      Src: /src/vlc/modules/hw/vaapi/filters.c:229,1
    - Dst: vlc_vaapi_UnmapBuffer
      Src: /src/vlc/modules/hw/vaapi/filters.c:231,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vaapi/filters.c:231,1
    - Dst: pf_prepare_render_surface
      Src: /src/vlc/modules/hw/vaapi/filters.c:236,1
    - Dst: vlc_vaapi_PicGetSurface
      Src: /src/vlc/modules/hw/vaapi/filters.c:239,1
    - Dst: pf_update_pipeline_params
      Src: /src/vlc/modules/hw/vaapi/filters.c:247,1
    - Dst: vlc_vaapi_CreateBuffer
      Src: /src/vlc/modules/hw/vaapi/filters.c:250,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vaapi/filters.c:250,1
    - Dst: vlc_vaapi_BeginPicture
      Src: /src/vlc/modules/hw/vaapi/filters.c:257,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vaapi/filters.c:257,1
    - Dst: vlc_vaapi_PicGetSurface
      Src: /src/vlc/modules/hw/vaapi/filters.c:259,1
    - Dst: vlc_vaapi_RenderPicture
      Src: /src/vlc/modules/hw/vaapi/filters.c:262,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vaapi/filters.c:262,1
    - Dst: vlc_vaapi_EndPicture
      Src: /src/vlc/modules/hw/vaapi/filters.c:267,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vaapi/filters.c:267,1
    - Dst: vlc_vaapi_DestroyBuffer
      Src: /src/vlc/modules/hw/vaapi/filters.c:275,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vaapi/filters.c:275,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/vaapi/filters.c:278,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 2
    argNames:
    - filter
    - src
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 280
    functionName: Filter
    functionSourceFile: /src/vlc/modules/hw/vaapi/filters.c
    functionUses: 40
    functionsReached:
    - vlc_vaapi_PicGetSurface
    - pf_update_pipeline_params
    - vlc_vaapi_RenderPicture
    - vlc_vaapi_EndPicture
    - vlc_vaapi_BeginPicture
    - picture_CopyProperties
    - pf_prepare_render_surface
    - pf_update_va_filter_params
    - vlc_vaapi_DestroyBuffer
    - picture_Release
    - vlc_vaapi_CreateBuffer
    - VLC_OBJECT
    - picture_pool_Wait
    - vlc_vaapi_PicAttachContext
    - vlc_vaapi_MapBuffer
    - vlc_vaapi_UnmapBuffer
    linkageType: ''
    returnType: picture_t
    signature: "picture_t *\nFilter(filter_t * filter, picture_t * src,\n       void
      (*pf_update_va_filter_params)(void *, void *),\n       void (*pf_prepare_render_surface)(void
      *),\n       void (*pf_update_pipeline_params)(void *,\n                                         VAProcPipelineParameterBuffer
      *))"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: vlc_video_context_GetType
      Src: /src/vlc/modules/hw/vaapi/filters.c:294,1
    - Dst: vlc_vaapi_IsChromaOpaque
      Src: /src/vlc/modules/hw/vaapi/filters.c:296,1
    - Dst: video_format_IsSimilar
      Src: /src/vlc/modules/hw/vaapi/filters.c:297,1
    - Dst: calloc
      Src: /src/vlc/modules/hw/vaapi/filters.c:300,1
    - Dst: vlc_video_context_HoldDevice
      Src: /src/vlc/modules/hw/vaapi/filters.c:310,1
    - Dst: assert
      Src: /src/vlc/modules/hw/vaapi/filters.c:312,1
    - Dst: vlc_vaapi_PoolNew
      Src: /src/vlc/modules/hw/vaapi/filters.c:315,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vaapi/filters.c:315,1
    - Dst: vlc_vaapi_CreateConfigChecked
      Src: /src/vlc/modules/hw/vaapi/filters.c:322,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vaapi/filters.c:322,1
    - Dst: vlc_vaapi_CreateContext
      Src: /src/vlc/modules/hw/vaapi/filters.c:329,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vaapi/filters.c:329,1
    - Dst: vlc_vaapi_IsVideoProcFilterAvailable
      Src: /src/vlc/modules/hw/vaapi/filters.c:338,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vaapi/filters.c:338,1
    - Dst: pf_init_filter_params
      Src: /src/vlc/modules/hw/vaapi/filters.c:348,1
    - Dst: vlc_vaapi_CreateBuffer
      Src: /src/vlc/modules/hw/vaapi/filters.c:353,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vaapi/filters.c:353,1
    - Dst: free
      Src: /src/vlc/modules/hw/vaapi/filters.c:357,1
    - Dst: vlc_vaapi_QueryVideoProcPipelineCaps
      Src: /src/vlc/modules/hw/vaapi/filters.c:361,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vaapi/filters.c:361,1
    - Dst: pf_use_pipeline_caps
      Src: /src/vlc/modules/hw/vaapi/filters.c:372,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/hw/vaapi/filters.c:375,1
    - Dst: vlc_vaapi_DestroyBuffer
      Src: /src/vlc/modules/hw/vaapi/filters.c:381,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vaapi/filters.c:381,1
    - Dst: vlc_vaapi_DestroyContext
      Src: /src/vlc/modules/hw/vaapi/filters.c:384,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vaapi/filters.c:384,1
    - Dst: vlc_vaapi_DestroyConfig
      Src: /src/vlc/modules/hw/vaapi/filters.c:387,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vaapi/filters.c:387,1
    - Dst: picture_pool_Release
      Src: /src/vlc/modules/hw/vaapi/filters.c:390,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/hw/vaapi/filters.c:392,1
    - Dst: free
      Src: /src/vlc/modules/hw/vaapi/filters.c:393,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 62
    argCount: 4
    argNames:
    - filter
    - filter_type
    - p_pipeline_caps
    - p_data
    argTypes:
    - filter_t*
    - VAProcFilterType
    - VAProcPipelineCaps*
    - void*
    assertStmts:
    - condition: (filter_sys->va.dec_device)
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/vlc/modules/hw/vaapi/filters.c
    constantsTouched: []
    func_position:
      end: 395
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 395
    functionName: Open
    functionSourceFile: /src/vlc/modules/hw/vaapi/filters.c
    functionUses: 51
    functionsReached:
    - assert
    - vlc_decoder_device_Release
    - vlc_video_context_GetType
    - vlc_vaapi_DestroyBuffer
    - vlc_vaapi_DestroyContext
    - vlc_vaapi_CreateConfigChecked
    - vlc_vaapi_CreateContext
    - vlc_vaapi_QueryVideoProcPipelineCaps
    - vlc_vaapi_DestroyConfig
    - vlc_video_context_Hold
    - calloc
    - vlc_vaapi_CreateBuffer
    - vlc_video_context_HoldDevice
    - pf_init_filter_params
    - vlc_vaapi_IsChromaOpaque
    - vlc_vaapi_IsVideoProcFilterAvailable
    - free
    - VLC_OBJECT
    - picture_pool_Release
    - vlc_vaapi_PoolNew
    - video_format_IsSimilar
    - pf_use_pipeline_caps
    linkageType: ''
    returnType: int
    signature: "int Open(filter_t * filter,\n     VAProcFilterType const filter_type,\n
      \    VAProcPipelineCaps * p_pipeline_caps,\n     void * p_data,\n     int (*pf_init_filter_params)(filter_t
      *, void *, void **,\n                                  unsigned int *, unsigned
      int *),\n     int (*pf_use_pipeline_caps)(void *, VAProcPipelineCaps const *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vaapi/filters.c:400,1
    - Dst: picture_pool_Release
      Src: /src/vlc/modules/hw/vaapi/filters.c:401,1
    - Dst: vlc_vaapi_DestroyBuffer
      Src: /src/vlc/modules/hw/vaapi/filters.c:402,1
    - Dst: vlc_vaapi_DestroyContext
      Src: /src/vlc/modules/hw/vaapi/filters.c:403,1
    - Dst: vlc_vaapi_DestroyConfig
      Src: /src/vlc/modules/hw/vaapi/filters.c:404,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/hw/vaapi/filters.c:405,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/hw/vaapi/filters.c:406,1
    - Dst: free
      Src: /src/vlc/modules/hw/vaapi/filters.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - filter
    - filter_sys
    argTypes:
    - filter_t*
    - filter_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 408
    functionName: Close
    functionSourceFile: /src/vlc/modules/hw/vaapi/filters.c
    functionUses: 143
    functionsReached:
    - vlc_video_context_Release
    - vlc_decoder_device_Release
    - vlc_vaapi_DestroyConfig
    - free
    - vlc_vaapi_DestroyBuffer
    - VLC_OBJECT
    - picture_pool_Release
    - vlc_vaapi_DestroyContext
    linkageType: ''
    returnType: void
    signature: void Close(filter_t *filter, filter_sys_t * filter_sys)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/vaapi/filters.c:414,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/vaapi/filters.c:414,1
    - Dst: strcmp
      Src: /src/vlc/modules/hw/vaapi/filters.c:422,1
    - Dst: strcmp
      Src: /src/vlc/modules/hw/vaapi/filters.c:437,1
    - Dst: strcmp
      Src: /src/vlc/modules/hw/vaapi/filters.c:438,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/hw/vaapi/filters.c:452,1
    - Dst: adapt_adjust_sigma
      Src: /src/vlc/modules/hw/vaapi/filters.c:457,1
    - Dst: GET_DRV_SIGMA
      Src: /src/vlc/modules/hw/vaapi/filters.c:459,1
    - Dst: atomic_store_explicit
      Src: /src/vlc/modules/hw/vaapi/filters.c:462,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 5
    argNames:
    - obj
    - psz_var
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 465
    functionName: FilterCallback
    functionSourceFile: /src/vlc/modules/hw/vaapi/filters.c
    functionUses: 0
    functionsReached:
    - atomic_store_explicit
    - VLC_CLIP
    - VLC_UNUSED
    - strcmp
    - adapt_adjust_sigma
    - GET_DRV_SIGMA
    linkageType: ''
    returnType: int
    signature: "int FilterCallback(vlc_object_t * obj, char const * psz_var,\n               vlc_value_t
      oldval, vlc_value_t newval,\n               void * p_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_explicit
      Src: /src/vlc/modules/hw/vaapi/filters.c:482,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - p_data
    - va_params
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 484
    functionName: Adjust_UpdateVAFilterParams
    functionSourceFile: /src/vlc/modules/hw/vaapi/filters.c
    functionUses: 0
    functionsReached:
    - atomic_load_explicit
    linkageType: ''
    returnType: void
    signature: void Adjust_UpdateVAFilterParams(void * p_data, void * va_params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Filter
      Src: /src/vlc/modules/hw/vaapi/filters.c:490,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/vaapi/filters.c:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - filter
    - src
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 493
    functionName: Adjust
    functionSourceFile: /src/vlc/modules/hw/vaapi/filters.c
    functionUses: 0
    functionsReached:
    - picture_Release
    - Filter
    linkageType: ''
    returnType: picture_t
    signature: 'picture_t *

      Adjust(filter_t * filter, picture_t * src)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vaapi_QueryVideoProcFilterCaps
      Src: /src/vlc/modules/hw/vaapi/filters.c:507,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vaapi/filters.c:507,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/hw/vaapi/filters.c:522,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/hw/vaapi/filters.c:522,1
    - Dst: adapt_adjust_sigma
      Src: /src/vlc/modules/hw/vaapi/filters.c:526,1
    - Dst: GET_DRV_SIGMA
      Src: /src/vlc/modules/hw/vaapi/filters.c:534,1
    - Dst: atomic_init
      Src: /src/vlc/modules/hw/vaapi/filters.c:537,1
    - Dst: typeof
      Src: /src/vlc/modules/hw/vaapi/filters.c:544,1
    - Dst: calloc
      Src: /src/vlc/modules/hw/vaapi/filters.c:547,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 5
    argNames:
    - filter
    - p_data
    - pp_va_params
    - p_va_param_sz
    - p_num_va_params
    argTypes:
    - filter_t*
    - void*
    - void**
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 562
    functionName: OpenAdjust_InitFilterParams
    functionSourceFile: /src/vlc/modules/hw/vaapi/filters.c
    functionUses: 0
    functionsReached:
    - atomic_init
    - var_InheritFloat
    - VLC_CLIP
    - calloc
    - typeof
    - VLC_OBJECT
    - vlc_vaapi_QueryVideoProcFilterCaps
    - adapt_adjust_sigma
    - GET_DRV_SIGMA
    linkageType: ''
    returnType: int
    signature: "int OpenAdjust_InitFilterParams(filter_t * filter, void * p_data,\n
      \                           void ** pp_va_params,\n                            uint32_t
      * p_va_param_sz,\n                            uint32_t * p_num_va_params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_DelCallback
      Src: /src/vlc/modules/hw/vaapi/filters.c:571,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/hw/vaapi/filters.c:573,1
    - Dst: free
      Src: /src/vlc/modules/hw/vaapi/filters.c:575,1
    - Dst: Close
      Src: /src/vlc/modules/hw/vaapi/filters.c:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 577
    functionName: CloseAdjust
    functionSourceFile: /src/vlc/modules/hw/vaapi/filters.c
    functionUses: 0
    functionsReached:
    - free
    - var_Destroy
    - Close
    - var_DelCallback
    linkageType: ''
    returnType: void
    signature: void CloseAdjust(filter_t *filter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/hw/vaapi/filters.c:587,1
    - Dst: var_Create
      Src: /src/vlc/modules/hw/vaapi/filters.c:592,1
    - Dst: Open
      Src: /src/vlc/modules/hw/vaapi/filters.c:595,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/hw/vaapi/filters.c:600,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/hw/vaapi/filters.c:608,1
    - Dst: free
      Src: /src/vlc/modules/hw/vaapi/filters.c:609,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 611
    functionName: OpenAdjust
    functionSourceFile: /src/vlc/modules/hw/vaapi/filters.c
    functionUses: 0
    functionsReached:
    - var_Destroy
    - var_AddCallback
    - var_Create
    - calloc
    - free
    - Open
    linkageType: ''
    returnType: int
    signature: int OpenAdjust(filter_t *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_explicit
      Src: /src/vlc/modules/hw/vaapi/filters.c:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_data
    - va_params
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 625
    functionName: BasicFilter_UpdateVAFilterParams
    functionSourceFile: /src/vlc/modules/hw/vaapi/filters.c
    functionUses: 0
    functionsReached:
    - atomic_load_explicit
    linkageType: ''
    returnType: void
    signature: void BasicFilter_UpdateVAFilterParams(void * p_data, void * va_params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Filter
      Src: /src/vlc/modules/hw/vaapi/filters.c:631,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/vaapi/filters.c:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - filter
    - src
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 634
    functionName: BasicFilter
    functionSourceFile: /src/vlc/modules/hw/vaapi/filters.c
    functionUses: 0
    functionsReached:
    - picture_Release
    - Filter
    linkageType: ''
    returnType: picture_t
    signature: 'picture_t *

      BasicFilter(filter_t * filter, picture_t * src)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vaapi_QueryVideoProcFilterCaps
      Src: /src/vlc/modules/hw/vaapi/filters.c:647,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vaapi/filters.c:647,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/hw/vaapi/filters.c:656,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/hw/vaapi/filters.c:656,1
    - Dst: GET_DRV_SIGMA
      Src: /src/vlc/modules/hw/vaapi/filters.c:663,1
    - Dst: atomic_init
      Src: /src/vlc/modules/hw/vaapi/filters.c:666,1
    - Dst: calloc
      Src: /src/vlc/modules/hw/vaapi/filters.c:673,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - filter
    - p_data
    - pp_va_params
    - p_va_param_sz
    - p_num_va_params
    argTypes:
    - filter_t*
    - void*
    - void**
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 636
    functionDepth: 2
    functionLinenumber: 636
    functionLinenumberEnd: 681
    functionName: OpenBasicFilter_InitFilterParams
    functionSourceFile: /src/vlc/modules/hw/vaapi/filters.c
    functionUses: 0
    functionsReached:
    - atomic_init
    - VLC_CLIP
    - calloc
    - VLC_OBJECT
    - vlc_vaapi_QueryVideoProcFilterCaps
    - var_InheritFloat
    - GET_DRV_SIGMA
    linkageType: ''
    returnType: int
    signature: "int OpenBasicFilter_InitFilterParams(filter_t * filter, void * p_data,\n
      \                                void ** pp_va_params,\n                                 uint32_t
      * p_va_param_sz,\n                                 uint32_t * p_num_va_params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_DelCallback
      Src: /src/vlc/modules/hw/vaapi/filters.c:689,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/hw/vaapi/filters.c:690,1
    - Dst: free
      Src: /src/vlc/modules/hw/vaapi/filters.c:691,1
    - Dst: Close
      Src: /src/vlc/modules/hw/vaapi/filters.c:692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 693
    functionName: CloseBasicFilter
    functionSourceFile: /src/vlc/modules/hw/vaapi/filters.c
    functionUses: 0
    functionsReached:
    - free
    - var_Destroy
    - Close
    - var_DelCallback
    linkageType: ''
    returnType: void
    signature: void CloseBasicFilter(filter_t *filter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/hw/vaapi/filters.c:704,1
    - Dst: calloc
      Src: /src/vlc/modules/hw/vaapi/filters.c:705,1
    - Dst: var_Create
      Src: /src/vlc/modules/hw/vaapi/filters.c:713,1
    - Dst: Open
      Src: /src/vlc/modules/hw/vaapi/filters.c:716,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/hw/vaapi/filters.c:720,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/hw/vaapi/filters.c:727,1
    - Dst: free
      Src: /src/vlc/modules/hw/vaapi/filters.c:728,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - filter
    - filter_type
    - psz_sigma_name
    - p_vlc_range
    argTypes:
    - filter_t*
    - VAProcFilterType
    - char*
    - struct range*
    assertStmts:
    - condition: (filter->psz_name)
      pos:
        line_end: 703
        line_start: 703
        source_file: /src/vlc/modules/hw/vaapi/filters.c
    constantsTouched: []
    func_position:
      end: 730
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 730
    functionName: OpenBasicFilter
    functionSourceFile: /src/vlc/modules/hw/vaapi/filters.c
    functionUses: 0
    functionsReached:
    - var_Destroy
    - assert
    - var_AddCallback
    - var_Create
    - calloc
    - free
    - Open
    linkageType: ''
    returnType: int
    signature: "int OpenBasicFilter(filter_t *filter, VAProcFilterType filter_type,\n
      \               const char *psz_sigma_name, struct range const *p_vlc_range)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenBasicFilter
      Src: /src/vlc/modules/hw/vaapi/filters.c:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 732
    functionDepth: 2
    functionLinenumber: 732
    functionLinenumberEnd: 737
    functionName: OpenDenoiseFilter
    functionSourceFile: /src/vlc/modules/hw/vaapi/filters.c
    functionUses: 0
    functionsReached:
    - OpenBasicFilter
    linkageType: ''
    returnType: int
    signature: int OpenDenoiseFilter(filter_t *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenBasicFilter
      Src: /src/vlc/modules/hw/vaapi/filters.c:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 739
    functionDepth: 2
    functionLinenumber: 739
    functionLinenumberEnd: 744
    functionName: OpenSharpenFilter
    functionSourceFile: /src/vlc/modules/hw/vaapi/filters.c
    functionUses: 0
    functionsReached:
    - OpenBasicFilter
    linkageType: ''
    returnType: int
    signature: int OpenSharpenFilter(filter_t *filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/vaapi/filters.c:755,1
    - Dst: memmove
      Src: /src/vlc/modules/hw/vaapi/filters.c:756,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_deint_data
    - src
    argTypes:
    - struct deint_data*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 762
    functionName: Deinterlace_UpdateHistory
    functionSourceFile: /src/vlc/modules/hw/vaapi/filters.c
    functionUses: 0
    functionsReached:
    - memmove
    - picture_Release
    linkageType: ''
    returnType: picture_t
    signature: 'picture_t *

      Deinterlace_UpdateHistory(struct deint_data * p_deint_data, picture_t * src)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_data
    - va_params
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 776
    functionName: Deinterlace_UpdateFilterParams
    functionSourceFile: /src/vlc/modules/hw/vaapi/filters.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Deinterlace_UpdateFilterParams(void * p_data, void * va_params)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vaapi_PicGetSurface
      Src: /src/vlc/modules/hw/vaapi/filters.c:789,1
    - Dst: vlc_vaapi_PicGetSurface
      Src: /src/vlc/modules/hw/vaapi/filters.c:798,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - p_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 778
    functionDepth: 2
    functionLinenumber: 778
    functionLinenumberEnd: 800
    functionName: Deinterlace_UpdateReferenceFrames
    functionSourceFile: /src/vlc/modules/hw/vaapi/filters.c
    functionUses: 0
    functionsReached:
    - vlc_vaapi_PicGetSurface
    linkageType: ''
    returnType: void
    signature: void Deinterlace_UpdateReferenceFrames(void * p_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p_data
    - pipeline_param
    argTypes:
    - void*
    - VAProcPipelineParameterBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 812
    functionName: Deinterlace_UpdatePipelineParams
    functionSourceFile: /src/vlc/modules/hw/vaapi/filters.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void Deinterlace_UpdatePipelineParams

      (void * p_data, VAProcPipelineParameterBuffer * pipeline_param)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Deinterlace_UpdateHistory
      Src: /src/vlc/modules/hw/vaapi/filters.c:820,1
    - Dst: Filter
      Src: /src/vlc/modules/hw/vaapi/filters.c:825,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - filter
    - src
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 814
    functionDepth: 2
    functionLinenumber: 814
    functionLinenumberEnd: 834
    functionName: Deinterlace
    functionSourceFile: /src/vlc/modules/hw/vaapi/filters.c
    functionUses: 1
    functionsReached:
    - Filter
    - Deinterlace_UpdateHistory
    linkageType: ''
    returnType: picture_t
    signature: 'picture_t *

      Deinterlace(filter_t * filter, picture_t * src)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Deinterlace_UpdateHistory
      Src: /src/vlc/modules/hw/vaapi/filters.c:851,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/hw/vaapi/filters.c:867,1
    - Dst: Filter
      Src: /src/vlc/modules/hw/vaapi/filters.c:873,1
    - Dst: vlc_picture_chain_AppendChain
      Src: /src/vlc/modules/hw/vaapi/filters.c:884,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/vaapi/filters.c:896,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 2
    argNames:
    - filter
    - src
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 899
    functionName: DeinterlaceX2
    functionSourceFile: /src/vlc/modules/hw/vaapi/filters.c
    functionUses: 0
    functionsReached:
    - Deinterlace_UpdateHistory
    - picture_Release
    - vlc_tick_from_samples
    - vlc_picture_chain_AppendChain
    - Filter
    linkageType: ''
    returnType: picture_t
    signature: 'picture_t *

      DeinterlaceX2(filter_t * filter, picture_t * src)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/vaapi/filters.c:911,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 919
    functionName: Deinterlace_Flush
    functionSourceFile: /src/vlc/modules/hw/vaapi/filters.c
    functionUses: 0
    functionsReached:
    - picture_Release
    linkageType: ''
    returnType: void
    signature: void Deinterlace_Flush(filter_t *filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - filter
    - caps
    - num_caps
    - deint_mode
    argTypes:
    - filter_t*
    - VAProcFilterCapDeinterlacing[]
    - unsigned int
    - struct deint_mode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 932
    functionName: OpenDeinterlace_IsValidType
    functionSourceFile: /src/vlc/modules/hw/vaapi/filters.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool OpenDeinterlace_IsValidType(filter_t * filter,\n                            VAProcFilterCapDeinterlacing
      const caps[],\n                            unsigned int num_caps,\n                            struct
      deint_mode const * deint_mode)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/hw/vaapi/filters.c:941,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/hw/vaapi/filters.c:943,1
    - Dst: strcmp
      Src: /src/vlc/modules/hw/vaapi/filters.c:945,1
    - Dst: OpenDeinterlace_IsValidType
      Src: /src/vlc/modules/hw/vaapi/filters.c:947,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/vaapi/filters.c:951,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/hw/vaapi/filters.c:960,1
    - Dst: OpenDeinterlace_IsValidType
      Src: /src/vlc/modules/hw/vaapi/filters.c:961,1
    - Dst: msg_Info
      Src: /src/vlc/modules/hw/vaapi/filters.c:966,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/vaapi/filters.c:969,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/vaapi/filters.c:978,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 5
    argNames:
    - filter
    - deint_mode
    - p_deint_mode
    - caps
    - num_caps
    argTypes:
    - filter_t*
    - char*
    - struct deint_mode*
    - VAProcFilterCapDeinterlacing[]
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 980
    functionName: OpenDeinterlace_GetMode
    functionSourceFile: /src/vlc/modules/hw/vaapi/filters.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - msg_Err
    - strcmp
    - msg_Info
    - msg_Dbg
    - OpenDeinterlace_IsValidType
    linkageType: ''
    returnType: int
    signature: "int OpenDeinterlace_GetMode(filter_t * filter, char const * deint_mode,\n
      \                       struct deint_mode * p_deint_mode,\n                        VAProcFilterCapDeinterlacing
      const caps[],\n                        unsigned int num_caps)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vaapi_QueryVideoProcFilterCaps
      Src: /src/vlc/modules/hw/vaapi/filters.c:994,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vaapi/filters.c:994,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/hw/vaapi/filters.c:1003,1
    - Dst: OpenDeinterlace_GetMode
      Src: /src/vlc/modules/hw/vaapi/filters.c:1005,1
    - Dst: free
      Src: /src/vlc/modules/hw/vaapi/filters.c:1007,1
    - Dst: calloc
      Src: /src/vlc/modules/hw/vaapi/filters.c:1016,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - filter
    - p_data
    - pp_va_params
    - p_va_param_sz
    - p_num_va_params
    argTypes:
    - filter_t*
    - void*
    - void**
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 982
    functionDepth: 2
    functionLinenumber: 982
    functionLinenumberEnd: 1027
    functionName: OpenDeinterlace_InitFilterParams
    functionSourceFile: /src/vlc/modules/hw/vaapi/filters.c
    functionUses: 0
    functionsReached:
    - OpenDeinterlace_GetMode
    - var_InheritString
    - free
    - calloc
    - VLC_OBJECT
    - vlc_vaapi_QueryVideoProcFilterCaps
    linkageType: ''
    returnType: int
    signature: "int OpenDeinterlace_InitFilterParams(filter_t * filter, void * p_data,\n
      \                                void ** pp_va_params,\n                                 uint32_t
      * p_va_param_sz,\n                                 uint32_t * p_num_va_params)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/hw/vaapi/filters.c:1040,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/hw/vaapi/filters.c:1052,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - p_data
    - pipeline_caps
    argTypes:
    - void*
    - VAProcPipelineCaps*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1064
    functionName: OpenDeinterlace_InitHistory
    functionSourceFile: /src/vlc/modules/hw/vaapi/filters.c
    functionUses: 0
    functionsReached:
    - calloc
    - vlc_alloc
    linkageType: ''
    returnType: int
    signature: int OpenDeinterlace_InitHistory(void * p_data, VAProcPipelineCaps const
      * pipeline_caps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Deinterlace_Flush
      Src: /src/vlc/modules/hw/vaapi/filters.c:1071,1
    - Dst: free
      Src: /src/vlc/modules/hw/vaapi/filters.c:1072,1
    - Dst: free
      Src: /src/vlc/modules/hw/vaapi/filters.c:1073,1
    - Dst: free
      Src: /src/vlc/modules/hw/vaapi/filters.c:1074,1
    - Dst: Close
      Src: /src/vlc/modules/hw/vaapi/filters.c:1075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1066
    functionDepth: 2
    functionLinenumber: 1066
    functionLinenumberEnd: 1076
    functionName: CloseDeinterlace
    functionSourceFile: /src/vlc/modules/hw/vaapi/filters.c
    functionUses: 0
    functionsReached:
    - free
    - Close
    - Deinterlace_Flush
    linkageType: ''
    returnType: void
    signature: void CloseDeinterlace(filter_t *filter)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/hw/vaapi/filters.c:1089,1
    - Dst: Open
      Src: /src/vlc/modules/hw/vaapi/filters.c:1093,1
    - Dst: free
      Src: /src/vlc/modules/hw/vaapi/filters.c:1112,1
    - Dst: free
      Src: /src/vlc/modules/hw/vaapi/filters.c:1114,1
    - Dst: free
      Src: /src/vlc/modules/hw/vaapi/filters.c:1115,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1117
    functionName: OpenDeinterlace
    functionSourceFile: /src/vlc/modules/hw/vaapi/filters.c
    functionUses: 0
    functionsReached:
    - calloc
    - free
    - Open
    linkageType: ''
    returnType: int
    signature: int OpenDeinterlace(filter_t *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/hw/vaapi/filters.c:1125,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/hw/vaapi/filters.c:1126,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/hw/vaapi/filters.c:1127,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/hw/vaapi/filters.c:1128,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/hw/vaapi/filters.c:1129,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/hw/vaapi/filters.c:1130,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/hw/vaapi/filters.c:1131,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/hw/vaapi/filters.c:1132,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/hw/vaapi/filters.c:1133,1
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/hw/vaapi/filters.c:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - vec
    argTypes:
    - vlc_chroma_conv_vec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1123
    functionDepth: 1
    functionLinenumber: 1123
    functionLinenumberEnd: 1135
    functionName: ProbeChroma
    functionSourceFile: /src/vlc/modules/hw/vaapi/filters.c
    functionUses: 0
    functionsReached:
    - vlc_chroma_conv_add
    linkageType: ''
    returnType: void
    signature: void ProbeChroma(vlc_chroma_conv_vec *vec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vaMaxNumImageFormats
      Src: /src/vlc/modules/hw/vaapi/chroma.c:54,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/hw/vaapi/chroma.c:56,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/vaapi/chroma.c:57,1
    - Dst: vaQueryImageFormats
      Src: /src/vlc/modules/hw/vaapi/chroma.c:60,1
    - Dst: free
      Src: /src/vlc/modules/hw/vaapi/chroma.c:62,1
    - Dst: vlc_vaapi_CreateImage
      Src: /src/vlc/modules/hw/vaapi/chroma.c:76,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vaapi/chroma.c:76,1
    - Dst: free
      Src: /src/vlc/modules/hw/vaapi/chroma.c:83,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 4
    argNames:
    - filter
    - src_pic
    - va_dpy
    - image_fallback
    argTypes:
    - filter_t*
    - picture_t*
    - VADisplay
    - VAImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 86
    functionName: CreateFallbackImage
    functionSourceFile: /src/vlc/modules/hw/vaapi/chroma.c
    functionUses: 0
    functionsReached:
    - vlc_vaapi_CreateImage
    - free
    - vlc_alloc
    - VLC_OBJECT
    - vaQueryImageFormats
    - unlikely
    - vaMaxNumImageFormats
    linkageType: ''
    returnType: int
    signature: "int CreateFallbackImage(filter_t *filter, picture_t *src_pic,\n                               VADisplay
      va_dpy, VAImage *image_fallback)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/hw/vaapi/chroma.c:103,1
    - Dst: Copy420_SP_to_P
      Src: /src/vlc/modules/hw/vaapi/chroma.c:104,1
    - Dst: assert
      Src: /src/vlc/modules/hw/vaapi/chroma.c:109,1
    - Dst: Copy420_P_to_P
      Src: /src/vlc/modules/hw/vaapi/chroma.c:110,1
    - Dst: Copy420_SP_to_SP
      Src: /src/vlc/modules/hw/vaapi/chroma.c:119,1
    - Dst: Copy420_16_SP_to_P
      Src: /src/vlc/modules/hw/vaapi/chroma.c:123,1
    - Dst: Copy420_16_SP_to_P
      Src: /src/vlc/modules/hw/vaapi/chroma.c:127,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/hw/vaapi/chroma.c:131,1
    - Dst: CopyPacked
      Src: /src/vlc/modules/hw/vaapi/chroma.c:139,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/hw/vaapi/chroma.c:143,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 4
    argNames:
    - dest
    - src_img
    - src_buf
    - cache
    argTypes:
    - picture_t*
    - VAImage*
    - uint8_t*
    - copy_cache_t*
    assertStmts:
    - condition: (dest->format.i_chroma == VLC_CODEC_I420)
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/vlc/modules/hw/vaapi/chroma.c
    - condition: (dest->format.i_chroma == VLC_CODEC_I420)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/vlc/modules/hw/vaapi/chroma.c
    constantsTouched: []
    func_position:
      end: 146
      start: 88
    functionDepth: 5
    functionLinenumber: 88
    functionLinenumberEnd: 146
    functionName: FillPictureFromVAImage
    functionSourceFile: /src/vlc/modules/hw/vaapi/chroma.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_assert_unreachable
    - Copy420_16_SP_to_P
    - CopyPacked
    - Copy420_SP_to_P
    - Copy420_SP_to_SP
    - Copy420_P_to_P
    linkageType: ''
    returnType: void
    signature: "void FillPictureFromVAImage(picture_t *dest,\n                       VAImage
      *src_img, uint8_t *src_buf, copy_cache_t *cache)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vaapi_PicGetDisplay
      Src: /src/vlc/modules/hw/vaapi/chroma.c:152,1
    - Dst: filter_NewPicture
      Src: /src/vlc/modules/hw/vaapi/chroma.c:156,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/vaapi/chroma.c:159,1
    - Dst: vlc_vaapi_PicGetSurface
      Src: /src/vlc/modules/hw/vaapi/chroma.c:164,1
    - Dst: vaSyncSurface
      Src: /src/vlc/modules/hw/vaapi/chroma.c:165,1
    - Dst: vlc_vaapi_DeriveImage
      Src: /src/vlc/modules/hw/vaapi/chroma.c:169,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vaapi/chroma.c:169,1
    - Dst: CreateFallbackImage
      Src: /src/vlc/modules/hw/vaapi/chroma.c:177,1
    - Dst: vaGetImage
      Src: /src/vlc/modules/hw/vaapi/chroma.c:184,1
    - Dst: vlc_vaapi_MapBuffer
      Src: /src/vlc/modules/hw/vaapi/chroma.c:193,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vaapi/chroma.c:193,1
    - Dst: FillPictureFromVAImage
      Src: /src/vlc/modules/hw/vaapi/chroma.c:196,1
    - Dst: vlc_vaapi_UnmapBuffer
      Src: /src/vlc/modules/hw/vaapi/chroma.c:198,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vaapi/chroma.c:198,1
    - Dst: vlc_vaapi_DestroyImage
      Src: /src/vlc/modules/hw/vaapi/chroma.c:199,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vaapi/chroma.c:199,1
    - Dst: picture_CopyProperties
      Src: /src/vlc/modules/hw/vaapi/chroma.c:201,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/vaapi/chroma.c:203,1
    - Dst: vlc_vaapi_DestroyImage
      Src: /src/vlc/modules/hw/vaapi/chroma.c:208,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vaapi/chroma.c:208,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/vaapi/chroma.c:210,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 2
    argNames:
    - filter
    - src_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 148
    functionDepth: 6
    functionLinenumber: 148
    functionLinenumberEnd: 213
    functionName: DownloadSurface
    functionSourceFile: /src/vlc/modules/hw/vaapi/chroma.c
    functionUses: 0
    functionsReached:
    - vlc_vaapi_PicGetSurface
    - CreateFallbackImage
    - vlc_vaapi_DeriveImage
    - vlc_vaapi_DestroyImage
    - vaSyncSurface
    - vaGetImage
    - picture_CopyProperties
    - filter_NewPicture
    - msg_Err
    - picture_Release
    - FillPictureFromVAImage
    - VLC_OBJECT
    - vlc_vaapi_PicGetDisplay
    - vlc_vaapi_MapBuffer
    - vlc_vaapi_UnmapBuffer
    linkageType: ''
    returnType: picture_t
    signature: 'picture_t *

      DownloadSurface(filter_t *filter, picture_t *src_pic)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/hw/vaapi/chroma.c:237,1
    - Dst: Copy420_P_to_SP
      Src: /src/vlc/modules/hw/vaapi/chroma.c:238,1
    - Dst: assert
      Src: /src/vlc/modules/hw/vaapi/chroma.c:243,1
    - Dst: Copy420_16_P_to_SP
      Src: /src/vlc/modules/hw/vaapi/chroma.c:244,1
    - Dst: assert
      Src: /src/vlc/modules/hw/vaapi/chroma.c:248,1
    - Dst: Copy420_16_P_to_SP
      Src: /src/vlc/modules/hw/vaapi/chroma.c:249,1
    - Dst: assert
      Src: /src/vlc/modules/hw/vaapi/chroma.c:255,1
    - Dst: Copy420_SP_to_SP
      Src: /src/vlc/modules/hw/vaapi/chroma.c:257,1
    - Dst: CopyPacked
      Src: /src/vlc/modules/hw/vaapi/chroma.c:264,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/hw/vaapi/chroma.c:268,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 5
    argNames:
    - dest_img
    - dest_buf
    - dest_pic
    - src
    - cache
    argTypes:
    - VAImage*
    - uint8_t*
    - picture_t*
    - picture_t*
    - copy_cache_t*
    assertStmts:
    - condition: (dest_pic->format.i_chroma == VLC_CODEC_VAAPI_420)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/vlc/modules/hw/vaapi/chroma.c
    - condition: (dest_pic->format.i_chroma == VLC_CODEC_VAAPI_420_12BPP)
      pos:
        line_end: 247
        line_start: 247
        source_file: /src/vlc/modules/hw/vaapi/chroma.c
    - condition: (dest_pic->format.i_chroma == VLC_CODEC_VAAPI_420_10BPP)
      pos:
        line_end: 242
        line_start: 242
        source_file: /src/vlc/modules/hw/vaapi/chroma.c
    - condition: "(dest_pic->format.i_chroma == VLC_CODEC_VAAPI_420_10BPP\n            ||
        dest_pic->format.i_chroma == VLC_CODEC_VAAPI_420_12BPP)"
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/vlc/modules/hw/vaapi/chroma.c
    constantsTouched: []
    func_position:
      end: 273
      start: 215
    functionDepth: 5
    functionLinenumber: 215
    functionLinenumberEnd: 273
    functionName: FillVAImageFromPicture
    functionSourceFile: /src/vlc/modules/hw/vaapi/chroma.c
    functionUses: 0
    functionsReached:
    - Copy420_P_to_SP
    - assert
    - vlc_assert_unreachable
    - CopyPacked
    - Copy420_16_P_to_SP
    - Copy420_SP_to_SP
    linkageType: ''
    returnType: void
    signature: "void FillVAImageFromPicture(VAImage *dest_img, uint8_t *dest_buf,\n
      \                      picture_t *dest_pic, picture_t *src,\n                       copy_cache_t
      *cache)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: picture_pool_Wait
      Src: /src/vlc/modules/hw/vaapi/chroma.c:282,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/vaapi/chroma.c:286,1
    - Dst: vlc_vaapi_PicAttachContext
      Src: /src/vlc/modules/hw/vaapi/chroma.c:289,1
    - Dst: picture_CopyProperties
      Src: /src/vlc/modules/hw/vaapi/chroma.c:290,1
    - Dst: vlc_vaapi_DeriveImage
      Src: /src/vlc/modules/hw/vaapi/chroma.c:293,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vaapi/chroma.c:293,1
    - Dst: vlc_vaapi_PicGetSurface
      Src: /src/vlc/modules/hw/vaapi/chroma.c:294,1
    - Dst: CreateFallbackImage
      Src: /src/vlc/modules/hw/vaapi/chroma.c:301,1
    - Dst: vlc_vaapi_MapBuffer
      Src: /src/vlc/modules/hw/vaapi/chroma.c:308,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vaapi/chroma.c:308,1
    - Dst: FillVAImageFromPicture
      Src: /src/vlc/modules/hw/vaapi/chroma.c:312,1
    - Dst: vlc_vaapi_UnmapBuffer
      Src: /src/vlc/modules/hw/vaapi/chroma.c:315,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vaapi/chroma.c:315,1
    - Dst: vaPutImage
      Src: /src/vlc/modules/hw/vaapi/chroma.c:319,1
    - Dst: vlc_vaapi_PicGetSurface
      Src: /src/vlc/modules/hw/vaapi/chroma.c:319,1
    - Dst: vlc_vaapi_DestroyImage
      Src: /src/vlc/modules/hw/vaapi/chroma.c:324,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vaapi/chroma.c:324,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/vaapi/chroma.c:329,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/vaapi/chroma.c:333,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 2
    argNames:
    - filter
    - src
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 275
    functionDepth: 6
    functionLinenumber: 275
    functionLinenumberEnd: 336
    functionName: UploadSurface
    functionSourceFile: /src/vlc/modules/hw/vaapi/chroma.c
    functionUses: 0
    functionsReached:
    - vlc_vaapi_PicGetSurface
    - CreateFallbackImage
    - vlc_vaapi_DeriveImage
    - vlc_vaapi_DestroyImage
    - picture_CopyProperties
    - FillVAImageFromPicture
    - msg_Err
    - picture_Release
    - picture_pool_Wait
    - VLC_OBJECT
    - vlc_vaapi_PicAttachContext
    - vlc_vaapi_MapBuffer
    - vlc_vaapi_UnmapBuffer
    - vaPutImage
    linkageType: ''
    returnType: picture_t
    signature: 'picture_t *

      UploadSurface(filter_t *filter, picture_t *src)'
  - BBCount: 33
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 101
    argCount: 4
    argNames:
    - in
    - out
    - upload
    - pixel_bytes
    argTypes:
    - video_format_t*
    - video_format_t*
    - bool*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 462
    functionName: CheckFmt
    functionSourceFile: /src/vlc/modules/hw/vaapi/chroma.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int CheckFmt(const video_format_t *in, const video_format_t *out,\n
      \                   bool *upload, uint8_t *pixel_bytes)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CheckFmt
      Src: /src/vlc/modules/hw/vaapi/chroma.c:484,1
    - Dst: calloc
      Src: /src/vlc/modules/hw/vaapi/chroma.c:490,1
    - Dst: filter_HoldDecoderDeviceType
      Src: /src/vlc/modules/hw/vaapi/chroma.c:498,1
    - Dst: free
      Src: /src/vlc/modules/hw/vaapi/chroma.c:501,1
    - Dst: vlc_video_context_Create
      Src: /src/vlc/modules/hw/vaapi/chroma.c:505,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/hw/vaapi/chroma.c:506,1
    - Dst: free
      Src: /src/vlc/modules/hw/vaapi/chroma.c:509,1
    - Dst: vlc_vaapi_PoolNew
      Src: /src/vlc/modules/hw/vaapi/chroma.c:516,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vaapi/chroma.c:516,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/hw/vaapi/chroma.c:521,1
    - Dst: free
      Src: /src/vlc/modules/hw/vaapi/chroma.c:523,1
    - Dst: CopyInitCache
      Src: /src/vlc/modules/hw/vaapi/chroma.c:535,1
    - Dst: picture_pool_Release
      Src: /src/vlc/modules/hw/vaapi/chroma.c:540,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/hw/vaapi/chroma.c:541,1
    - Dst: free
      Src: /src/vlc/modules/hw/vaapi/chroma.c:544,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/hw/vaapi/chroma.c:549,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 472
    functionDepth: 3
    functionLinenumber: 472
    functionLinenumberEnd: 556
    functionName: vlc_vaapi_OpenChroma
    functionSourceFile: /src/vlc/modules/hw/vaapi/chroma.c
    functionUses: 0
    functionsReached:
    - CopyInitCache
    - vlc_video_context_Release
    - vlc_decoder_device_Release
    - CheckFmt
    - calloc
    - free
    - filter_HoldDecoderDeviceType
    - vlc_video_context_Create
    - VLC_OBJECT
    - picture_pool_Release
    - msg_Warn
    - vlc_vaapi_PoolNew
    linkageType: ''
    returnType: int
    signature: int vlc_vaapi_OpenChroma(filter_t *filter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: picture_pool_Release
      Src: /src/vlc/modules/hw/vaapi/chroma.c:564,1
    - Dst: CopyCleanCache
      Src: /src/vlc/modules/hw/vaapi/chroma.c:565,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/hw/vaapi/chroma.c:567,1
    - Dst: free
      Src: /src/vlc/modules/hw/vaapi/chroma.c:569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 558
    functionDepth: 2
    functionLinenumber: 558
    functionLinenumberEnd: 570
    functionName: vlc_vaapi_CloseChroma
    functionSourceFile: /src/vlc/modules/hw/vaapi/chroma.c
    functionUses: 0
    functionsReached:
    - free
    - CopyCleanCache
    - vlc_video_context_Release
    - picture_pool_Release
    linkageType: ''
    returnType: void
    signature: void vlc_vaapi_CloseChroma(filter_t *filter)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vaInitialize
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:69,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:72,1
    - Dst: vaErrorStr
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:72,1
    - Dst: vaQueryVendorString
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:76,1
    - Dst: strstr
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:77,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:79,1
    - Dst: malloc
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:83,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:85,1
    - Dst: vaTerminate
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:93,1
    - Dst: native_destroy_cb
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:95,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - o
    - dpy
    - native
    - native_destroy_cb
    argTypes:
    - vlc_object_t*
    - VADisplay
    - VANativeDisplay
    - vaapi_native_destroy_cb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 97
    functionName: vaapi_InitializeInstance
    functionSourceFile: /src/vlc/modules/hw/vaapi/decoder_device.c
    functionUses: 0
    functionsReached:
    - vaQueryVendorString
    - msg_Err
    - vaTerminate
    - vaErrorStr
    - native_destroy_cb
    - strstr
    - unlikely
    - malloc
    - vaInitialize
    linkageType: ''
    returnType: struct vaapi_instance
    signature: "struct vaapi_instance *\nvaapi_InitializeInstance(vlc_object_t *o,
      VADisplay dpy,\n                             VANativeDisplay native,\n                             vaapi_native_destroy_cb
      native_destroy_cb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vaTerminate
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:102,1
    - Dst: struct vaapi_instance*::native_destroy_cb
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:104,1
    - Dst: free
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - inst
    argTypes:
    - struct vaapi_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: vaapi_DestroyInstance
    functionSourceFile: /src/vlc/modules/hw/vaapi/decoder_device.c
    functionUses: 0
    functionsReached:
    - free
    - vaTerminate
    - struct vaapi_instance*::native_destroy_cb
    linkageType: ''
    returnType: void
    signature: void vaapi_DestroyInstance(struct vaapi_instance *inst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XCloseDisplay
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - native
    argTypes:
    - VANativeDisplay
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: x11_native_destroy_cb
    functionSourceFile: /src/vlc/modules/hw/vaapi/decoder_device.c
    functionUses: 0
    functionsReached:
    - XCloseDisplay
    linkageType: ''
    returnType: void
    signature: void x11_native_destroy_cb(VANativeDisplay native)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_xlib_init
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:119,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:119,1
    - Dst: XOpenDisplay
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:122,1
    - Dst: vaGetDisplay
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:126,1
    - Dst: x11_native_destroy_cb
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:129,1
    - Dst: vaapi_InitializeInstance
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:133,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - device
    - window
    - vadpyp
    argTypes:
    - vlc_decoder_device*
    - vlc_window_t*
    - VADisplay*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 135
    functionName: x11_init_vaapi_instance
    functionSourceFile: /src/vlc/modules/hw/vaapi/decoder_device.c
    functionUses: 0
    functionsReached:
    - x11_native_destroy_cb
    - vaGetDisplay
    - vlc_xlib_init
    - vaapi_InitializeInstance
    - VLC_OBJECT
    - XOpenDisplay
    linkageType: ''
    returnType: struct vaapi_instance
    signature: "struct vaapi_instance *\nx11_init_vaapi_instance(vlc_decoder_device
      *device, vlc_window_t *window,\n                        VADisplay *vadpyp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_close
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - native
    argTypes:
    - VANativeDisplay
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: native_drm_destroy_cb
    functionSourceFile: /src/vlc/modules/hw/vaapi/decoder_device.c
    functionUses: 0
    functionsReached:
    - vlc_close
    linkageType: ''
    returnType: void
    signature: void native_drm_destroy_cb(VANativeDisplay native)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:172,1
    - Dst: vlc_open
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:177,1
    - Dst: pf_getDisplayDRM
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:181,1
    - Dst: vaapi_InitializeInstance
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:185,1
    - Dst: vlc_close
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:195,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - o
    - pdpy
    - device
    argTypes:
    - vlc_object_t*
    - VADisplay*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 198
    functionName: vaapi_InitializeInstanceDRM
    functionSourceFile: /src/vlc/modules/hw/vaapi/decoder_device.c
    functionUses: 0
    functionsReached:
    - vlc_open
    - ARRAY_SIZE
    - vlc_close
    - pf_getDisplayDRM
    - vaapi_InitializeInstance
    linkageType: ''
    returnType: struct vaapi_instance
    signature: "struct vaapi_instance *\nvaapi_InitializeInstanceDRM(vlc_object_t
      *o,\n                            VADisplay (*pf_getDisplayDRM)(int),\n                            VADisplay
      *pdpy, const char *device)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vaapi_InitializeInstanceDRM
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:203,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - device
    - vadpyp
    argTypes:
    - vlc_decoder_device*
    - VADisplay*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 205
    functionName: drm_init_vaapi_instance
    functionSourceFile: /src/vlc/modules/hw/vaapi/decoder_device.c
    functionUses: 0
    functionsReached:
    - vaapi_InitializeInstanceDRM
    - VLC_OBJECT
    linkageType: ''
    returnType: struct vaapi_instance
    signature: 'struct vaapi_instance *

      drm_init_vaapi_instance(vlc_decoder_device *device, VADisplay *vadpyp)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vaGetDisplayWl
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:213,1
    - Dst: vaapi_InitializeInstance
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:217,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - device
    - window
    - vadpyp
    argTypes:
    - vlc_decoder_device*
    - vlc_window_t*
    - VADisplay*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: wl_init_vaapi_instance
    functionSourceFile: /src/vlc/modules/hw/vaapi/decoder_device.c
    functionUses: 0
    functionsReached:
    - vaapi_InitializeInstance
    - VLC_OBJECT
    - vaGetDisplayWl
    linkageType: ''
    returnType: struct vaapi_instance
    signature: "struct vaapi_instance *\nwl_init_vaapi_instance(vlc_decoder_device
      *device, vlc_window_t *window,\n                       VADisplay *vadpyp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vaapi_DestroyInstance
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - device
    argTypes:
    - vlc_decoder_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: Close
    functionSourceFile: /src/vlc/modules/hw/vaapi/decoder_device.c
    functionUses: 146
    functionsReached:
    - vaapi_DestroyInstance
    linkageType: ''
    returnType: void
    signature: void Close(vlc_decoder_device *device)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: x11_init_vaapi_instance
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:238,1
    - Dst: wl_init_vaapi_instance
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:241,1
    - Dst: drm_init_vaapi_instance
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:244,1
    - Dst: assert
      Src: /src/vlc/modules/hw/vaapi/decoder_device.c:250,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - device
    - window
    argTypes:
    - vlc_decoder_device*
    - vlc_window_t*
    assertStmts:
    - condition: (vadpy != NULL)
      pos:
        line_end: 249
        line_start: 249
        source_file: /src/vlc/modules/hw/vaapi/decoder_device.c
    constantsTouched: []
    func_position:
      end: 257
      start: 231
    functionDepth: 4
    functionLinenumber: 231
    functionLinenumberEnd: 257
    functionName: Open
    functionSourceFile: /src/vlc/modules/hw/vaapi/decoder_device.c
    functionUses: 54
    functionsReached:
    - x11_init_vaapi_instance
    - drm_init_vaapi_instance
    - assert
    - wl_init_vaapi_instance
    linkageType: ''
    returnType: int
    signature: int Open(vlc_decoder_device *device, vlc_window_t *window)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:56,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:56,1
    - Dst: IDirect3DSurface9_GetDesc
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:56,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:60,1
    - Dst: IDirect3DSurface9_LockRect
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:60,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - p_filter
    - d3d
    - p_lock
    - p_desc
    argTypes:
    - filter_t*
    - IDirect3DSurface9*
    - D3DLOCKED_RECT*
    - D3DSURFACE_DESC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 66
    functionName: GetLock
    functionSourceFile: /src/vlc/modules/hw/d3d9/dxa9.c
    functionUses: 0
    functionsReached:
    - FAILED
    - IDirect3DSurface9_LockRect
    - msg_Err
    - IDirect3DSurface9_GetDesc
    - unlikely
    linkageType: ''
    returnType: bool
    signature: "bool GetLock(filter_t *p_filter, IDirect3DSurface9 *d3d,\n                    D3DLOCKED_RECT
      *p_lock, D3DSURFACE_DESC *p_desc)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ActiveD3D9PictureSys
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:71,1
    - Dst: GetLock
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:75,1
    - Dst: MAKEFOURCC
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:78,1
    - Dst: MAKEFOURCC
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:79,1
    - Dst: picture_SwapUV
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:82,1
    - Dst: MAKEFOURCC
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:84,1
    - Dst: Copy420_P_to_P
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:105,1
    - Dst: picture_SwapUV
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:108,1
    - Dst: MAKEFOURCC
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:109,1
    - Dst: MAKEFOURCC
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:110,1
    - Dst: MAKEFOURCC
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:119,1
    - Dst: Copy420_SP_to_P
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:120,1
    - Dst: __MIN
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:121,1
    - Dst: Copy420_16_SP_to_P
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:124,1
    - Dst: __MIN
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:125,1
    - Dst: picture_SwapUV
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:129,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:131,1
    - Dst: IDirect3DSurface9_UnlockRect
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:135,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - p_filter
    - src
    - dst
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 68
    functionDepth: 5
    functionLinenumber: 68
    functionLinenumberEnd: 136
    functionName: DXA9_YV12
    functionSourceFile: /src/vlc/modules/hw/d3d9/dxa9.c
    functionUses: 0
    functionsReached:
    - IDirect3DSurface9_UnlockRect
    - GetLock
    - picture_SwapUV
    - Copy420_16_SP_to_P
    - msg_Err
    - Copy420_SP_to_P
    - MAKEFOURCC
    - __MIN
    - ActiveD3D9PictureSys
    - Copy420_P_to_P
    linkageType: ''
    returnType: void
    signature: void DXA9_YV12(filter_t *p_filter, picture_t *src, picture_t *dst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ActiveD3D9PictureSys
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:141,1
    - Dst: GetLock
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:145,1
    - Dst: MAKEFOURCC
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:148,1
    - Dst: MAKEFOURCC
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:149,1
    - Dst: Copy420_SP_to_SP
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:158,1
    - Dst: __MIN
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:159,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:162,1
    - Dst: IDirect3DSurface9_UnlockRect
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - p_filter
    - src
    - dst
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 138
    functionDepth: 5
    functionLinenumber: 138
    functionLinenumberEnd: 167
    functionName: DXA9_NV12
    functionSourceFile: /src/vlc/modules/hw/d3d9/dxa9.c
    functionUses: 0
    functionsReached:
    - IDirect3DSurface9_UnlockRect
    - GetLock
    - Copy420_SP_to_SP
    - msg_Err
    - MAKEFOURCC
    - __MIN
    - ActiveD3D9PictureSys
    linkageType: ''
    returnType: void
    signature: void DXA9_NV12(filter_t *p_filter, picture_t *src, picture_t *dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_filter_UnloadModule
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:171,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:173,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:174,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: DeleteFilter
    functionSourceFile: /src/vlc/modules/hw/d3d9/dxa9.c
    functionUses: 0
    functionsReached:
    - es_format_Clean
    - vlc_object_delete
    - vlc_filter_UnloadModule
    linkageType: ''
    returnType: void
    signature: void DeleteFilter( filter_t * p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: NewBuffer
    functionSourceFile: /src/vlc/modules/hw/d3d9/dxa9.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: picture_t
    signature: picture_t *NewBuffer(filter_t *p_filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:188,1
    - Dst: filter_HoldDecoderDevice
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - o
    - sys
    argTypes:
    - vlc_object_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: HoldD3D9DecoderDevice
    functionSourceFile: /src/vlc/modules/hw/d3d9/dxa9.c
    functionUses: 0
    functionsReached:
    - filter_HoldDecoderDevice
    - VLC_UNUSED
    linkageType: ''
    returnType: vlc_decoder_device
    signature: vlc_decoder_device * HoldD3D9DecoderDevice(vlc_object_t *o, void *sys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_create
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:198,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:199,1
    - Dst: es_format_InitFromVideo
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:207,1
    - Dst: es_format_InitFromVideo
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:208,1
    - Dst: vlc_filter_LoadModule
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:210,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:214,1
    - Dst: DeleteFilter
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:215,1
    - Dst: assert
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - p_this
    - p_fmt_in
    - dst_chroma
    argTypes:
    - filter_t*
    - es_format_t*
    - vlc_fourcc_t
    assertStmts:
    - condition: ( p_filter->ops != NULL )
      pos:
        line_end: 217
        line_start: 217
        source_file: /src/vlc/modules/hw/d3d9/dxa9.c
    constantsTouched: []
    func_position:
      end: 221
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 221
    functionName: CreateFilter
    functionSourceFile: /src/vlc/modules/hw/d3d9/dxa9.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_object_create
    - es_format_InitFromVideo
    - msg_Dbg
    - DeleteFilter
    - vlc_filter_LoadModule
    - unlikely
    linkageType: ''
    returnType: filter_t
    signature: "filter_t *CreateFilter( filter_t *p_this, const es_format_t *p_fmt_in,\n
      \                              vlc_fourcc_t dst_chroma )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ActiveD3D9PictureSys
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:226,1
    - Dst: IDirect3DSurface9_LockRect
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:230,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:231,1
    - Dst: picture_UpdatePlanes
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:237,1
    - Dst: picture_SwapUV
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:241,1
    - Dst: picture_CopyPixels
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:243,1
    - Dst: IDirect3DSurface9_UnlockRect
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:247,1
    - Dst: ActiveD3D9PictureSys
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:251,1
    - Dst: IDirect3DSurface9_LockRect
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:254,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:255,1
    - Dst: picture_UpdatePlanes
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:258,1
    - Dst: picture_SwapUV
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:262,1
    - Dst: picture_Hold
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:267,1
    - Dst: filter_sys_t*::filter::ops::filter_video
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:269,1
    - Dst: IDirect3DSurface9_UnlockRect
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:273,1
    - Dst: GetD3D9OpaqueContext
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:275,1
    - Dst: IDirect3DDevice9_StretchRect
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - p_filter
    - src
    - dst
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 288
    functionName: YV12_D3D9
    functionSourceFile: /src/vlc/modules/hw/d3d9/dxa9.c
    functionUses: 0
    functionsReached:
    - IDirect3DSurface9_UnlockRect
    - filter_sys_t*::filter::ops::filter_video
    - picture_UpdatePlanes
    - GetD3D9OpaqueContext
    - picture_Hold
    - FAILED
    - IDirect3DSurface9_LockRect
    - picture_SwapUV
    - ActiveD3D9PictureSys
    - picture_CopyPixels
    - IDirect3DDevice9_StretchRect
    linkageType: ''
    returnType: void
    signature: void YV12_D3D9(filter_t *p_filter, picture_t *src, picture_t *dst)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GetD3D9OpaqueContext
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:294,1
    - Dst: MAKEFOURCC
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:297,1
    - Dst: MAKEFOURCC
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:298,1
    - Dst: MAKEFOURCC
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:299,1
    - Dst: MAKEFOURCC
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:303,1
    - Dst: MAKEFOURCC
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:304,1
    - Dst: MAKEFOURCC
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:305,1
    - Dst: MAKEFOURCC
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:306,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:322,1
    - Dst: IDirect3DDevice9_CreateOffscreenPlainSurface
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:326,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:333,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:335,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:342,1
    - Dst: calloc
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:346,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:347,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:352,1
    - Dst: video_format_Copy
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:355,1
    - Dst: picture_NewFromResource
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:359,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:361,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 370
    functionName: AllocateCPUtoGPUTexture
    functionSourceFile: /src/vlc/modules/hw/d3d9/dxa9.c
    functionUses: 0
    functionsReached:
    - IDirect3DDevice9_CreateOffscreenPlainSurface
    - GetD3D9OpaqueContext
    - video_format_Copy
    - vlc_assert_unreachable
    - picture_NewFromResource
    - vlc_video_context_Hold
    - msg_Err
    - calloc
    - MAKEFOURCC
    - msg_Dbg
    - SUCCEEDED
    - unlikely
    linkageType: ''
    returnType: picture_t
    signature: picture_t *AllocateCPUtoGPUTexture(filter_t *p_filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CopyCleanCache
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:375,1
    - Dst: free
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 378
    functionName: D3D9CloseConverter
    functionSourceFile: /src/vlc/modules/hw/d3d9/dxa9.c
    functionUses: 0
    functionsReached:
    - free
    - CopyCleanCache
    linkageType: ''
    returnType: void
    signature: void D3D9CloseConverter( filter_t *p_filter )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AllocateCPUtoGPUTexture
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:385,1
    - Dst: YV12_D3D9
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:388,1
    - Dst: picture_CopyProperties
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:389,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_filter
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 383
    functionDepth: 3
    functionLinenumber: 383
    functionLinenumberEnd: 393
    functionName: YV12_D3D9_Filter
    functionSourceFile: /src/vlc/modules/hw/d3d9/dxa9.c
    functionUses: 0
    functionsReached:
    - picture_Release
    - AllocateCPUtoGPUTexture
    - picture_CopyProperties
    - YV12_D3D9
    linkageType: ''
    returnType: picture_t
    signature: picture_t *YV12_D3D9_Filter( filter_t *p_filter, picture_t *p_pic )
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: GetD3D9ContextPrivate
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:400,1
    - Dst: calloc
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:436,1
    - Dst: CopyInitCache
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:440,1
    - Dst: free
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:442,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 395
    functionDepth: 3
    functionLinenumber: 395
    functionLinenumberEnd: 448
    functionName: D3D9OpenConverter
    functionSourceFile: /src/vlc/modules/hw/d3d9/dxa9.c
    functionUses: 0
    functionsReached:
    - calloc
    - CopyInitCache
    - free
    - GetD3D9ContextPrivate
    linkageType: ''
    returnType: int
    signature: int D3D9OpenConverter( filter_t *p_filter )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DeleteFilter
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:454,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:456,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:457,1
    - Dst: free
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 460
    functionName: D3D9CloseCPUConverter
    functionSourceFile: /src/vlc/modules/hw/d3d9/dxa9.c
    functionUses: 0
    functionsReached:
    - DeleteFilter
    - picture_Release
    - vlc_video_context_Release
    - free
    linkageType: ''
    returnType: void
    signature: void D3D9CloseCPUConverter( filter_t *p_filter )
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: filter_HoldDecoderDeviceType
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:490,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:493,1
    - Dst: GetD3D9OpaqueDevice
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:496,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:499,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:500,1
    - Dst: calloc
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:504,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:507,1
    - Dst: vlc_video_context_Create
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:511,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:513,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:517,1
    - Dst: AllocateCPUtoGPUTexture
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:521,1
    - Dst: GetD3D9ContextPrivate
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:524,1
    - Dst: video_format_IsSameChroma
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:527,1
    - Dst: CreateFilter
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:529,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:536,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:545,1
    - Dst: free
      Src: /src/vlc/modules/hw/d3d9/dxa9.c:546,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 549
    functionName: D3D9OpenCPUConverter
    functionSourceFile: /src/vlc/modules/hw/d3d9/dxa9.c
    functionUses: 0
    functionsReached:
    - video_format_IsSameChroma
    - vlc_video_context_Release
    - AllocateCPUtoGPUTexture
    - vlc_decoder_device_Release
    - GetD3D9ContextPrivate
    - msg_Err
    - calloc
    - picture_Release
    - free
    - filter_HoldDecoderDeviceType
    - vlc_video_context_Create
    - GetD3D9OpaqueDevice
    - CreateFilter
    linkageType: ''
    returnType: int
    signature: int D3D9OpenCPUConverter( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: D3D9_ReleaseDevice
      Src: /src/vlc/modules/hw/d3d9/d3d9_device.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - device
    argTypes:
    - vlc_decoder_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: D3D9CloseDecoderDevice
    functionSourceFile: /src/vlc/modules/hw/d3d9/d3d9_device.c
    functionUses: 0
    functionsReached:
    - D3D9_ReleaseDevice
    linkageType: ''
    returnType: void
    signature: void D3D9CloseDecoderDevice(vlc_decoder_device *device)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/d3d9/d3d9_device.c:47,1
    - Dst: D3D9_CreateDevice
      Src: /src/vlc/modules/hw/d3d9/d3d9_device.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - device
    - wnd
    argTypes:
    - vlc_decoder_device*
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: D3D9OpenDecoderDevice
    functionSourceFile: /src/vlc/modules/hw/d3d9/d3d9_device.c
    functionUses: 0
    functionsReached:
    - D3D9_CreateDevice
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int D3D9OpenDecoderDevice(vlc_decoder_device *device, vlc_window_t
      *wnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FlushDeinterlacing
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: Flush
    functionSourceFile: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c
    functionUses: 68
    functionsReached:
    - FlushDeinterlacing
    linkageType: ''
    returnType: void
    signature: void Flush(filter_t *filter)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 2
    argNames:
    - p_fmt
    - out
    argTypes:
    - video_format_t*
    - DXVA2_ExtendedFormat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 132
    functionName: FillExtendedFormat
    functionSourceFile: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FillExtendedFormat( const video_format_t *p_fmt,\n                                DXVA2_ExtendedFormat
      *out )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ActiveD3D9PictureSys
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:141,1
    - Dst: FillExtendedFormat
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:147,1
    - Dst: MSFTIME_FROM_VLC_TICK
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:149,1
    - Dst: GetFieldDuration
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:149,1
    - Dst: DXVA2_Fixed32OpaqueAlpha
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 6
    argNames:
    - p_sample
    - p_context
    - p_pic
    - p_fmt
    - p_area
    - i_field
    argTypes:
    - DXVA2_VideoSample*
    - struct deinterlace_ctx*
    - picture_t*
    - video_format_t*
    - RECT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 157
    functionName: FillSample
    functionSourceFile: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c
    functionUses: 0
    functionsReached:
    - DXVA2_Fixed32OpaqueAlpha
    - FillExtendedFormat
    - ActiveD3D9PictureSys
    - MSFTIME_FROM_VLC_TICK
    - GetFieldDuration
    linkageType: ''
    returnType: void
    signature: "void FillSample( DXVA2_VideoSample *p_sample,\n                        const
      struct deinterlace_ctx *p_context,\n                        picture_t *p_pic,\n
      \                       const video_format_t *p_fmt,\n                        const
      RECT *p_area,\n                        int i_field )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:164,1
    - Dst: DXVA2_Fixed32OpaqueAlpha
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:168,1
    - Dst: FillExtendedFormat
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 6
    argNames:
    - sys
    - params
    - area
    - samples
    - order
    - fmt
    argTypes:
    - filter_sys_t*
    - DXVA2_VideoProcessBltParams*
    - RECT*
    - DXVA2_VideoSample*
    - int
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: FillBlitParams
    functionSourceFile: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c
    functionUses: 0
    functionsReached:
    - DXVA2_Fixed32OpaqueAlpha
    - FillExtendedFormat
    - memset
    linkageType: ''
    returnType: void
    signature: "void FillBlitParams( filter_sys_t *sys,\n                            DXVA2_VideoProcessBltParams
      *params, const RECT *area,\n                            const DXVA2_VideoSample
      *samples, int order,\n                            const video_format_t *fmt)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ActiveD3D9PictureSys
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:185,1
    - Dst: ActiveD3D9PictureSys
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:199,1
    - Dst: IDirect3DSurface9_GetDesc
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:201,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:202,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:202,1
    - Dst: IDirect3DSurface9_GetDesc
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:204,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:205,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:205,1
    - Dst: __MIN
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:209,1
    - Dst: __MIN
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:210,1
    - Dst: FillSample
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:229,1
    - Dst: FillSample
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:232,1
    - Dst: FillBlitParams
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:237,1
    - Dst: IDirectXVideoProcessor_VideoProcessBlt
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:239,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:244,1
    - Dst: GetD3D9OpaqueContext
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:247,1
    - Dst: IDirect3DDevice9_StretchRect
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:249,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:253,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 5
    argNames:
    - filter
    - p_outpic
    - src
    - order
    - i_field
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 257
    functionName: RenderPic
    functionSourceFile: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c
    functionUses: 0
    functionsReached:
    - GetD3D9OpaqueContext
    - IDirectXVideoProcessor_VideoProcessBlt
    - FAILED
    - IDirect3DSurface9_GetDesc
    - __MIN
    - FillSample
    - FillBlitParams
    - ActiveD3D9PictureSys
    - unlikely
    - IDirect3DDevice9_StretchRect
    linkageType: ''
    returnType: int
    signature: "int RenderPic( filter_t *filter, picture_t *p_outpic, picture_t *src,\n
      \                     int order, int i_field )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RenderPic
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_filter
    - p_outpic
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: RenderSinglePic
    functionSourceFile: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c
    functionUses: 0
    functionsReached:
    - RenderPic
    linkageType: ''
    returnType: int
    signature: int RenderSinglePic( filter_t *p_filter, picture_t *p_outpic, picture_t
      *p_pic )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DoDeinterlacing
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_filter
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 3
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: Deinterlace
    functionSourceFile: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c
    functionUses: 1
    functionsReached:
    - DoDeinterlacing
    linkageType: ''
    returnType: picture_t
    signature: picture_t *Deinterlace(filter_t *p_filter, picture_t *p_pic)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:272,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:275,1
    - Dst: strcmp
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - mode
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 282
    functionName: GetFilterMode
    functionSourceFile: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ARRAY_SIZE
    linkageType: ''
    returnType: struct filter_mode_t
    signature: struct filter_mode_t *GetFilterMode(const char *mode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:286,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:287,1
    - Dst: picture_NewFromFormat
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:290,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:291,1
    - Dst: free
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:293,1
    - Dst: GetD3D9OpaqueContext
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:297,1
    - Dst: GetD3D9ContextPrivate
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:298,1
    - Dst: IDirect3DDevice9_CreateOffscreenPlainSurface
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:300,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:307,1
    - Dst: free
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:309,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:310,1
    - Dst: AcquireD3D9PictureSys
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:313,1
    - Dst: IDirect3DSurface9_Release
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:314,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 321
    functionName: AllocPicture
    functionSourceFile: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c
    functionUses: 2
    functionsReached:
    - IDirect3DDevice9_CreateOffscreenPlainSurface
    - AcquireD3D9PictureSys
    - GetD3D9OpaqueContext
    - GetD3D9ContextPrivate
    - FAILED
    - vlc_video_context_Hold
    - calloc
    - free
    - picture_Release
    - IDirect3DSurface9_Release
    - unlikely
    - picture_NewFromFormat
    linkageType: ''
    returnType: picture_t
    signature: picture_t *AllocPicture( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:328,1
    - Dst: IDirect3DSurface9_Release
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:329,1
    - Dst: IDirectXVideoProcessor_Release
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:330,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:331,1
    - Dst: free
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 334
    functionName: D3D9CloseDeinterlace
    functionSourceFile: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c
    functionUses: 0
    functionsReached:
    - vlc_video_context_Release
    - free
    - IDirect3DSurface9_Release
    - Flush
    - IDirectXVideoProcessor_Release
    linkageType: ''
    returnType: void
    signature: void D3D9CloseDeinterlace(filter_t *filter)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: GetD3D9ContextPrivate
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:352,1
    - Dst: video_format_IsSimilar
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:354,1
    - Dst: calloc
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:357,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:358,1
    - Dst: GetD3D9ContextPrivate
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:361,1
    - Dst: GetD3D9OpaqueContext
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:363,1
    - Dst: DXVA2CreateVideoService
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:365,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:367,1
    - Dst: ZeroMemory
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:372,1
    - Dst: FillExtendedFormat
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:385,1
    - Dst: IDirectXVideoProcessorService_GetVideoProcessorDeviceGuids
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:388,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:392,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:395,1
    - Dst: GetFilterMode
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:396,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:399,1
    - Dst: GetFilterMode
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:400,1
    - Dst: strcmp
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:402,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:403,1
    - Dst: free
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:404,1
    - Dst: IDirectXVideoProcessorService_GetVideoProcessorCaps
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:409,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:414,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:427,1
    - Dst: IDirectXVideoProcessorService_CreateVideoProcessor
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:431,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:437,1
    - Dst: IDirectXVideoProcessorService_CreateSurface
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:440,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:450,1
    - Dst: IDirectXVideoProcessorService_GetProcAmpRange
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:454,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:457,1
    - Dst: IDirectXVideoProcessorService_GetProcAmpRange
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:461,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:464,1
    - Dst: IDirectXVideoProcessorService_GetProcAmpRange
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:468,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:471,1
    - Dst: IDirectXVideoProcessorService_GetProcAmpRange
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:475,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:478,1
    - Dst: InitDeinterlacingContext
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:484,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:490,1
    - Dst: GetDeinterlacingOutput
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:497,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:504,1
    - Dst: IDirectXVideoProcessorService_Release
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:505,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:508,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:515,1
    - Dst: IDirectXVideoProcessor_Release
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:517,1
    - Dst: IDirectXVideoProcessorService_Release
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:519,1
    - Dst: free
      Src: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c:520,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 114
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 523
    functionName: D3D9OpenDeinterlace
    functionSourceFile: /src/vlc/modules/hw/d3d9/dxva2_deinterlace.c
    functionUses: 0
    functionsReached:
    - GetFilterMode
    - GetD3D9ContextPrivate
    - IDirectXVideoProcessorService_GetVideoProcessorCaps
    - FillExtendedFormat
    - ZeroMemory
    - IDirectXVideoProcessorService_Release
    - IDirectXVideoProcessorService_GetVideoProcessorDeviceGuids
    - IDirectXVideoProcessorService_GetProcAmpRange
    - vlc_video_context_Hold
    - calloc
    - msg_Dbg
    - IDirectXVideoProcessorService_CreateVideoProcessor
    - InitDeinterlacingContext
    - GetD3D9OpaqueContext
    - strcmp
    - GetDeinterlacingOutput
    - IDirectXVideoProcessor_Release
    - IDirectXVideoProcessorService_CreateSurface
    - var_InheritString
    - CoTaskMemFree
    - FAILED
    - free
    - DXVA2CreateVideoService
    - video_format_IsSimilar
    - unlikely
    linkageType: ''
    returnType: int
    signature: int D3D9OpenDeinterlace(filter_t *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ActiveD3D9PictureSys
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:86,1
    - Dst: DXVA2_Fixed32OpaqueAlpha
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - p_sample
    - p_pic
    - p_area
    argTypes:
    - DXVA2_VideoSample*
    - picture_t*
    - RECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: FillSample
    functionSourceFile: /src/vlc/modules/hw/d3d9/d3d9_filters.c
    functionUses: 1
    functionsReached:
    - ActiveD3D9PictureSys
    - DXVA2_Fixed32OpaqueAlpha
    linkageType: ''
    returnType: void
    signature: "void FillSample( DXVA2_VideoSample *p_sample,\n                        picture_t
      *p_pic,\n                        const RECT *p_area )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:99,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:100,1
    - Dst: picture_NewFromFormat
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:103,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:104,1
    - Dst: free
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:106,1
    - Dst: GetD3D9OpaqueContext
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:110,1
    - Dst: GetD3D9ContextPrivate
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:111,1
    - Dst: IDirect3DDevice9_CreateOffscreenPlainSurface
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:113,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:120,1
    - Dst: free
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:122,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:123,1
    - Dst: AcquireD3D9PictureSys
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:126,1
    - Dst: IDirect3DSurface9_Release
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:127,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 134
    functionName: AllocPicture
    functionSourceFile: /src/vlc/modules/hw/d3d9/d3d9_filters.c
    functionUses: 2
    functionsReached:
    - IDirect3DDevice9_CreateOffscreenPlainSurface
    - AcquireD3D9PictureSys
    - GetD3D9OpaqueContext
    - GetD3D9ContextPrivate
    - FAILED
    - vlc_video_context_Hold
    - calloc
    - free
    - picture_Release
    - IDirect3DSurface9_Release
    - unlikely
    - picture_NewFromFormat
    linkageType: ''
    returnType: picture_t
    signature: picture_t *AllocPicture( filter_t *p_filter )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ActiveD3D9PictureSys
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:140,1
    - Dst: AllocPicture
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:142,1
    - Dst: ActiveD3D9PictureSys
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:146,1
    - Dst: picture_CopyProperties
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:150,1
    - Dst: IDirect3DSurface9_GetDesc
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:156,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:157,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:157,1
    - Dst: IDirect3DSurface9_GetDesc
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:159,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:160,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:160,1
    - Dst: __MIN
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:164,1
    - Dst: __MIN
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:165,1
    - Dst: FillSample
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:169,1
    - Dst: atomic_load
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:171,1
    - Dst: atomic_load
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:172,1
    - Dst: atomic_load
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:173,1
    - Dst: atomic_load
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:174,1
    - Dst: DXVA2_Fixed32OpaqueAlpha
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:178,1
    - Dst: GetD3D9OpaqueContext
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:182,1
    - Dst: IDirectXVideoProcessor_VideoProcessBlt
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:184,1
    - Dst: IDirect3DDevice9_StretchRect
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:189,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:193,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:196,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:199,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 2
    argNames:
    - p_filter
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 201
    functionName: Filter
    functionSourceFile: /src/vlc/modules/hw/d3d9/d3d9_filters.c
    functionUses: 49
    functionsReached:
    - GetD3D9OpaqueContext
    - IDirectXVideoProcessor_VideoProcessBlt
    - AllocPicture
    - FAILED
    - atomic_load
    - picture_CopyProperties
    - DXVA2_Fixed32OpaqueAlpha
    - IDirect3DSurface9_GetDesc
    - picture_Release
    - __MIN
    - FillSample
    - ActiveD3D9PictureSys
    - unlikely
    - IDirect3DDevice9_StretchRect
    linkageType: ''
    returnType: picture_t
    signature: picture_t *Filter(filter_t *p_filter, picture_t *p_pic)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - range
    - Range
    - val
    argTypes:
    - struct filter_level*
    - DXVA2_ValueRange*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 220
    functionName: StoreLevel
    functionSourceFile: /src/vlc/modules/hw/d3d9/d3d9_filters.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LONG
    signature: LONG StoreLevel(const struct filter_level *range, const DXVA2_ValueRange
      *Range, float val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:224,1
    - Dst: StoreLevel
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - range
    - val
    argTypes:
    - struct filter_level*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: SetLevel
    functionSourceFile: /src/vlc/modules/hw/d3d9/d3d9_filters.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - StoreLevel
    linkageType: ''
    returnType: void
    signature: void SetLevel(struct filter_level *range, float val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config_FindConfig
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:229,1
    - Dst: var_CreateGetFloatCommand
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:234,1
    - Dst: atomic_init
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:236,1
    - Dst: StoreLevel
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - filter
    - range
    - p_name
    - def
    argTypes:
    - filter_t*
    - struct filter_level*
    - char*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 237
    functionName: InitLevel
    functionSourceFile: /src/vlc/modules/hw/d3d9/d3d9_filters.c
    functionUses: 0
    functionsReached:
    - atomic_init
    - var_CreateGetFloatCommand
    - StoreLevel
    - config_FindConfig
    linkageType: ''
    returnType: void
    signature: void InitLevel(filter_t *filter, struct filter_level *range, const
      char *p_name, float def)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:243,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:243,1
    - Dst: strcmp
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:246,1
    - Dst: SetLevel
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:247,1
    - Dst: strcmp
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:248,1
    - Dst: SetLevel
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:249,1
    - Dst: strcmp
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:250,1
    - Dst: SetLevel
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:251,1
    - Dst: strcmp
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:252,1
    - Dst: SetLevel
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - p_this
    - psz_var
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 256
    functionName: AdjustCallback
    functionSourceFile: /src/vlc/modules/hw/d3d9/d3d9_filters.c
    functionUses: 0
    functionsReached:
    - SetLevel
    - strcmp
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int AdjustCallback( vlc_object_t *p_this, char const *psz_var,\n                           vlc_value_t
      oldval, vlc_value_t newval,\n                           void *p_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IDirect3DSurface9_Release
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:262,1
    - Dst: IDirectXVideoProcessor_Release
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:263,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:264,1
    - Dst: free
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 267
    functionName: D3D9CloseAdjust
    functionSourceFile: /src/vlc/modules/hw/d3d9/d3d9_filters.c
    functionUses: 0
    functionsReached:
    - free
    - IDirect3DSurface9_Release
    - vlc_video_context_Release
    - IDirectXVideoProcessor_Release
    linkageType: ''
    returnType: void
    signature: void D3D9CloseAdjust(filter_t *filter)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: GetD3D9ContextPrivate
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:285,1
    - Dst: video_format_IsSimilar
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:287,1
    - Dst: calloc
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:290,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:291,1
    - Dst: GetD3D9ContextPrivate
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:294,1
    - Dst: GetD3D9OpaqueContext
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:297,1
    - Dst: DXVA2CreateVideoService
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:298,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:300,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:302,1
    - Dst: ZeroMemory
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:308,1
    - Dst: IDirectXVideoProcessorService_GetVideoProcessorDeviceGuids
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:325,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:329,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:331,1
    - Dst: IDirectXVideoProcessorService_GetVideoProcessorCaps
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:342,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:347,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:359,1
    - Dst: IDirectXVideoProcessorService_GetProcAmpRange
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:363,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:366,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:368,1
    - Dst: IDirectXVideoProcessorService_GetProcAmpRange
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:372,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:375,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:377,1
    - Dst: IDirectXVideoProcessorService_GetProcAmpRange
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:381,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:384,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:386,1
    - Dst: IDirectXVideoProcessorService_GetProcAmpRange
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:390,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:393,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:395,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:401,1
    - Dst: InitLevel
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:403,1
    - Dst: InitLevel
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:404,1
    - Dst: InitLevel
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:405,1
    - Dst: InitLevel
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:406,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:408,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:409,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:410,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:411,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:412,1
    - Dst: IDirectXVideoProcessorService_CreateVideoProcessor
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:414,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:420,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:422,1
    - Dst: IDirectXVideoProcessorService_CreateSurface
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:426,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:436,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:438,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:442,1
    - Dst: IDirectXVideoProcessorService_Release
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:443,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:447,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:451,1
    - Dst: IDirectXVideoProcessor_Release
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:453,1
    - Dst: IDirectXVideoProcessorService_Release
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:455,1
    - Dst: free
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:456,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 111
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 459
    functionName: D3D9OpenAdjust
    functionSourceFile: /src/vlc/modules/hw/d3d9/d3d9_filters.c
    functionUses: 0
    functionsReached:
    - GetD3D9ContextPrivate
    - IDirectXVideoProcessorService_GetVideoProcessorCaps
    - ZeroMemory
    - IDirectXVideoProcessorService_Release
    - var_AddCallback
    - IDirectXVideoProcessorService_GetVideoProcessorDeviceGuids
    - IDirectXVideoProcessorService_GetProcAmpRange
    - vlc_video_context_Hold
    - msg_Err
    - calloc
    - InitLevel
    - msg_Dbg
    - IDirectXVideoProcessorService_CreateVideoProcessor
    - GetD3D9OpaqueContext
    - IDirectXVideoProcessor_Release
    - IDirectXVideoProcessorService_CreateSurface
    - CoTaskMemFree
    - FAILED
    - config_ChainParse
    - free
    - DXVA2CreateVideoService
    - video_format_IsSimilar
    - unlikely
    linkageType: ''
    returnType: int
    signature: int D3D9OpenAdjust(filter_t *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_chroma_conv_add_in_outlist
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:464,1
    - Dst: vlc_chroma_conv_add_in_outlist
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:466,1
    - Dst: vlc_chroma_conv_add_in_outlist
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:469,1
    - Dst: vlc_chroma_conv_add_in_outlist
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:470,1
    - Dst: vlc_chroma_conv_add_in_outlist
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:471,1
    - Dst: vlc_chroma_conv_add_in_outlist
      Src: /src/vlc/modules/hw/d3d9/d3d9_filters.c:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - vec
    argTypes:
    - vlc_chroma_conv_vec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 473
    functionName: ProbeChroma
    functionSourceFile: /src/vlc/modules/hw/d3d9/d3d9_filters.c
    functionUses: 0
    functionsReached:
    - vlc_chroma_conv_add_in_outlist
    linkageType: ''
    returnType: void
    signature: void ProbeChroma(vlc_chroma_conv_vec *vec)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - sigma
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: vlc_to_vdp_sigma
    functionSourceFile: /src/vlc/modules/hw/vdpau/sharpen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float vlc_to_vdp_sigma(float sigma)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_to_vdp_sigma
      Src: /src/vlc/modules/hw/vdpau/sharpen.c:56,1
    - Dst: atomic_store
      Src: /src/vlc/modules/hw/vdpau/sharpen.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - obj
    - varname
    - prev
    - cur
    - data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: SharpenCallback
    functionSourceFile: /src/vlc/modules/hw/vdpau/sharpen.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - vlc_to_vdp_sigma
    linkageType: ''
    returnType: int
    signature: "int SharpenCallback(vlc_object_t *obj, const char *varname,\n                           vlc_value_t
      prev, vlc_value_t cur, void *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VDPAU_FIELD_FROM_PICCTX
      Src: /src/vlc/modules/hw/vdpau/sharpen.c:65,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/vdpau/sharpen.c:68,1
    - Dst: atomic_load
      Src: /src/vlc/modules/hw/vdpau/sharpen.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - filter
    - pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 79
    functionName: Sharpen
    functionSourceFile: /src/vlc/modules/hw/vdpau/sharpen.c
    functionUses: 0
    functionsReached:
    - VDPAU_FIELD_FROM_PICCTX
    - atomic_load
    - unlikely
    linkageType: ''
    returnType: picture_t
    signature: picture_t *Sharpen(filter_t *filter, picture_t *pic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_DelCallback
      Src: /src/vlc/modules/hw/vdpau/sharpen.c:85,1
    - Dst: free
      Src: /src/vlc/modules/hw/vdpau/sharpen.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: Close
    functionSourceFile: /src/vlc/modules/hw/vdpau/sharpen.c
    functionUses: 146
    functionsReached:
    - free
    - var_DelCallback
    linkageType: ''
    returnType: void
    signature: void Close(filter_t *filter)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_video_context_GetType
      Src: /src/vlc/modules/hw/vdpau/sharpen.c:98,1
    - Dst: video_format_IsSimilar
      Src: /src/vlc/modules/hw/vdpau/sharpen.c:102,1
    - Dst: vlc_video_context_HoldDevice
      Src: /src/vlc/modules/hw/vdpau/sharpen.c:105,1
    - Dst: assert
      Src: /src/vlc/modules/hw/vdpau/sharpen.c:106,1
    - Dst: GetVDPAUOpaqueDevice
      Src: /src/vlc/modules/hw/vdpau/sharpen.c:108,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/hw/vdpau/sharpen.c:111,1
    - Dst: vdp_video_mixer_query_feature_support
      Src: /src/vlc/modules/hw/vdpau/sharpen.c:119,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/hw/vdpau/sharpen.c:122,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/vdpau/sharpen.c:128,1
    - Dst: malloc
      Src: /src/vlc/modules/hw/vdpau/sharpen.c:133,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/vdpau/sharpen.c:134,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/hw/vdpau/sharpen.c:140,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/hw/vdpau/sharpen.c:141,1
    - Dst: vlc_to_vdp_sigma
      Src: /src/vlc/modules/hw/vdpau/sharpen.c:144,1
    - Dst: var_CreateGetFloatCommand
      Src: /src/vlc/modules/hw/vdpau/sharpen.c:144,1
    - Dst: atomic_init
      Src: /src/vlc/modules/hw/vdpau/sharpen.c:145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: (dec_dev != NULL)
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/vlc/modules/hw/vdpau/sharpen.c
    constantsTouched: []
    func_position:
      end: 148
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 148
    functionName: Open
    functionSourceFile: /src/vlc/modules/hw/vdpau/sharpen.c
    functionUses: 54
    functionsReached:
    - vlc_video_context_HoldDevice
    - GetVDPAUOpaqueDevice
    - atomic_init
    - assert
    - vlc_decoder_device_Release
    - vlc_to_vdp_sigma
    - var_AddCallback
    - var_CreateGetFloatCommand
    - vlc_video_context_GetType
    - msg_Err
    - config_ChainParse
    - vdp_video_mixer_query_feature_support
    - video_format_IsSimilar
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open(filter_t *filter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetVDPAUOpaqueContext
      Src: /src/vlc/modules/hw/vdpau/picture.c:41,1
    - Dst: container_of
      Src: /src/vlc/modules/hw/vdpau/picture.c:42,1
    - Dst: free
      Src: /src/vlc/modules/hw/vdpau/picture.c:48,1
    - Dst: atomic_fetch_sub
      Src: /src/vlc/modules/hw/vdpau/picture.c:50,1
    - Dst: vdp_video_surface_destroy
      Src: /src/vlc/modules/hw/vdpau/picture.c:54,1
    - Dst: fprintf
      Src: /src/vlc/modules/hw/vdpau/picture.c:56,1
    - Dst: vdp_get_error_string
      Src: /src/vlc/modules/hw/vdpau/picture.c:57,1
    - Dst: free
      Src: /src/vlc/modules/hw/vdpau/picture.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 59
    functionName: VideoSurfaceDestroy
    functionSourceFile: /src/vlc/modules/hw/vdpau/picture.c
    functionUses: 0
    functionsReached:
    - container_of
    - fprintf
    - atomic_fetch_sub
    - free
    - GetVDPAUOpaqueContext
    - vdp_get_error_string
    - vdp_video_surface_destroy
    linkageType: ''
    returnType: void
    signature: void VideoSurfaceDestroy(struct picture_context_t *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/hw/vdpau/picture.c:63,1
    - Dst: malloc
      Src: /src/vlc/modules/hw/vdpau/picture.c:65,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/vdpau/picture.c:66,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/hw/vdpau/picture.c:70,1
    - Dst: atomic_fetch_add
      Src: /src/vlc/modules/hw/vdpau/picture.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 73
    functionName: VideoSurfaceCopy
    functionSourceFile: /src/vlc/modules/hw/vdpau/picture.c
    functionUses: 0
    functionsReached:
    - container_of
    - vlc_video_context_Hold
    - atomic_fetch_add
    - unlikely
    - malloc
    linkageType: ''
    returnType: picture_context_t
    signature: picture_context_t *VideoSurfaceCopy(picture_context_t *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetVDPAUOpaqueContext
      Src: /src/vlc/modules/hw/vdpau/picture.c:87,1
    - Dst: malloc
      Src: /src/vlc/modules/hw/vdpau/picture.c:88,1
    - Dst: malloc
      Src: /src/vlc/modules/hw/vdpau/picture.c:89,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/hw/vdpau/picture.c:92,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/vdpau/picture.c:93,1
    - Dst: free
      Src: /src/vlc/modules/hw/vdpau/picture.c:95,1
    - Dst: free
      Src: /src/vlc/modules/hw/vdpau/picture.c:96,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/hw/vdpau/picture.c:101,1
    - Dst: atomic_init
      Src: /src/vlc/modules/hw/vdpau/picture.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - vctx
    - surface
    argTypes:
    - struct vlc_video_context*
    - VdpVideoSurface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 111
    functionName: vlc_vdp_video_create
    functionSourceFile: /src/vlc/modules/hw/vdpau/picture.c
    functionUses: 0
    functionsReached:
    - atomic_init
    - vlc_assert_unreachable
    - vlc_video_context_Hold
    - free
    - GetVDPAUOpaqueContext
    - unlikely
    - malloc
    linkageType: ''
    returnType: vlc_vdp_video_field_t
    signature: "vlc_vdp_video_field_t *vlc_vdp_video_create(struct vlc_video_context
      *vctx,\n                                            VdpVideoSurface surface)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vdp_video_create
      Src: /src/vlc/modules/hw/vdpau/picture.c:116,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/vdpau/picture.c:117,1
    - Dst: assert
      Src: /src/vlc/modules/hw/vdpau/picture.c:120,1
    - Dst: assert
      Src: /src/vlc/modules/hw/vdpau/picture.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - vctx
    - surface
    - pic
    argTypes:
    - struct vlc_video_context*
    - VdpVideoSurface
    - picture_t*
    assertStmts:
    - condition: (pic->format.i_chroma == VLC_CODEC_VDPAU_VIDEO)
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/vlc/modules/hw/vdpau/picture.c
    - condition: (pic->context == NULL)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/vlc/modules/hw/vdpau/picture.c
    constantsTouched: []
    func_position:
      end: 124
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 124
    functionName: vlc_vdp_video_attach
    functionSourceFile: /src/vlc/modules/hw/vdpau/picture.c
    functionUses: 0
    functionsReached:
    - assert
    - unlikely
    - vlc_vdp_video_create
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vlc_vdp_video_attach(struct vlc_video_context *vctx,\n                               VdpVideoSurface
      surface, picture_t *pic)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetVDPAUOpaqueContext
      Src: /src/vlc/modules/hw/vdpau/picture.c:129,1
    - Dst: vdp_output_surface_destroy
      Src: /src/vlc/modules/hw/vdpau/picture.c:131,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/hw/vdpau/picture.c:132,1
    - Dst: free
      Src: /src/vlc/modules/hw/vdpau/picture.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pic
    argTypes:
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: vlc_vdp_output_surface_destroy
    functionSourceFile: /src/vlc/modules/hw/vdpau/picture.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_video_context_Release
    - GetVDPAUOpaqueContext
    - vdp_output_surface_destroy
    linkageType: ''
    returnType: void
    signature: void vlc_vdp_output_surface_destroy(picture_t *pic)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetVDPAUOpaqueContext
      Src: /src/vlc/modules/hw/vdpau/picture.c:141,1
    - Dst: malloc
      Src: /src/vlc/modules/hw/vdpau/picture.c:142,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/vdpau/picture.c:143,1
    - Dst: vdp_output_surface_create
      Src: /src/vlc/modules/hw/vdpau/picture.c:148,1
    - Dst: free
      Src: /src/vlc/modules/hw/vdpau/picture.c:154,1
    - Dst: picture_NewFromResource
      Src: /src/vlc/modules/hw/vdpau/picture.c:163,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/vdpau/picture.c:164,1
    - Dst: vdp_output_surface_destroy
      Src: /src/vlc/modules/hw/vdpau/picture.c:166,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/hw/vdpau/picture.c:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - vctx
    - rgb_fmt
    - fmt
    argTypes:
    - struct vlc_video_context*
    - VdpRGBAFormat
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 172
    functionName: vlc_vdp_output_surface_create
    functionSourceFile: /src/vlc/modules/hw/vdpau/picture.c
    functionUses: 0
    functionsReached:
    - picture_NewFromResource
    - vlc_video_context_Hold
    - free
    - vdp_output_surface_create
    - GetVDPAUOpaqueContext
    - unlikely
    - malloc
    - vdp_output_surface_destroy
    linkageType: ''
    returnType: picture_t
    signature: "picture_t *vlc_vdp_output_surface_create(struct vlc_video_context
      *vctx,\n                                         VdpRGBAFormat rgb_fmt,\n                                         const
      video_format_t *restrict fmt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vdp_output_surface_create
      Src: /src/vlc/modules/hw/vdpau/picture.c:184,1
    - Dst: picture_pool_New
      Src: /src/vlc/modules/hw/vdpau/picture.c:193,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/vdpau/picture.c:194,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/vdpau/picture.c:196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - vctx
    - rgb_fmt
    - fmt
    - requested_count
    argTypes:
    - struct vlc_video_context*
    - VdpRGBAFormat
    - video_format_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 198
    functionName: vlc_vdp_output_pool_create
    functionSourceFile: /src/vlc/modules/hw/vdpau/picture.c
    functionUses: 0
    functionsReached:
    - picture_Release
    - vlc_vdp_output_surface_create
    - unlikely
    - picture_pool_New
    linkageType: ''
    returnType: picture_pool_t
    signature: "picture_pool_t *vlc_vdp_output_pool_create(struct vlc_video_context
      *vctx,\n                                           VdpRGBAFormat rgb_fmt,\n
      \                                          const video_format_t *restrict fmt,\n
      \                                          unsigned requested_count)"
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 3
    argNames:
    - fourcc
    - type
    - format
    argTypes:
    - vlc_fourcc_t
    - VdpChromaType*
    - VdpYCbCrFormat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 232
    functionName: vlc_fourcc_to_vdp_ycc
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool vlc_fourcc_to_vdp_ycc(vlc_fourcc_t fourcc,\n                 VdpChromaType
      *restrict type, VdpYCbCrFormat *restrict format)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pic_ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: VDPAU_FIELD_FROM_PICCTX
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VDPAU_FIELD_FROM_PICCTX(pic_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - device
    argTypes:
    - vlc_decoder_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 259
    functionName: GetVDPAUOpaqueDevice
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: vdpau_decoder_device_t
    signature: vdpau_decoder_device_t *GetVDPAUOpaqueDevice(vlc_decoder_device *device)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_video_context_HoldDevice
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.h:263,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.h:264,1
    - Dst: assert
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.h:269,1
    - Dst: GetVDPAUOpaqueDevice
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.h:270,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.h:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - vlc_video_context*
    assertStmts:
    - condition: (device->opaque != NULL)
      pos:
        line_end: 268
        line_start: 268
        source_file: /src/vlc/modules/hw/vdpau/vlc_vdpau.h
    constantsTouched: []
    func_position:
      end: 274
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 274
    functionName: GetVDPAUOpaqueContext
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.h
    functionUses: 4
    functionsReached:
    - vlc_video_context_HoldDevice
    - GetVDPAUOpaqueDevice
    - assert
    - vlc_decoder_device_Release
    - unlikely
    linkageType: ''
    returnType: vdpau_decoder_device_t
    signature: vdpau_decoder_device_t *GetVDPAUOpaqueContext(vlc_video_context *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vdp_video_field_t*::context::destroy
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.h:292,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.h:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - vlc_vdp_video_field_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 294
    functionName: vlc_vdp_video_destroy
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.h
    functionUses: 0
    functionsReached:
    - vlc_vdp_video_field_t*::context::destroy
    - vlc_video_context_Release
    linkageType: ''
    returnType: void
    signature: void vlc_vdp_video_destroy(vlc_vdp_video_field_t *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VDPAU_FIELD_FROM_PICCTX
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.h:303,1
    - Dst: vlc_vdp_video_field_t*::context::copy
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.h:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fold
    argTypes:
    - vlc_vdp_video_field_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: vlc_vdp_video_copy
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.h
    functionUses: 0
    functionsReached:
    - VDPAU_FIELD_FROM_PICCTX
    - vlc_vdp_video_field_t*::context::copy
    linkageType: ''
    returnType: vlc_vdp_video_field_t
    signature: "vlc_vdp_video_field_t *vlc_vdp_video_copy(\n    vlc_vdp_video_field_t
      *fold)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vdp_video_surface_create
      Src: /src/vlc/modules/hw/vdpau/avcodec.c:58,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/vdpau/avcodec.c:62,1
    - Dst: vdp_get_error_string
      Src: /src/vlc/modules/hw/vdpau/avcodec.c:63,1
    - Dst: vlc_vdp_video_create
      Src: /src/vlc/modules/hw/vdpau/avcodec.c:67,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/vdpau/avcodec.c:68,1
    - Dst: vdp_video_surface_destroy
      Src: /src/vlc/modules/hw/vdpau/avcodec.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - va
    - vdpau_decoder
    argTypes:
    - vlc_va_t*
    - vdpau_decoder_device_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 71
    functionName: CreateSurface
    functionSourceFile: /src/vlc/modules/hw/vdpau/avcodec.c
    functionUses: 2
    functionsReached:
    - vlc_vdp_video_create
    - msg_Err
    - vdp_get_error_string
    - vdp_video_surface_destroy
    - unlikely
    - vdp_video_surface_create
    linkageType: ''
    returnType: vlc_vdp_video_field_t
    signature: vlc_vdp_video_field_t *CreateSurface(vlc_va_t *va, vdpau_decoder_device_t
      *vdpau_decoder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_compare_exchange_strong
      Src: /src/vlc/modules/hw/vdpau/avcodec.c:81,1
    - Dst: vlc_vdp_video_copy
      Src: /src/vlc/modules/hw/vdpau/avcodec.c:83,1
    - Dst: atomic_fetch_sub
      Src: /src/vlc/modules/hw/vdpau/avcodec.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - sys
    argTypes:
    - vlc_va_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 89
    functionName: GetSurface
    functionSourceFile: /src/vlc/modules/hw/vdpau/avcodec.c
    functionUses: 4
    functionsReached:
    - vlc_vdp_video_copy
    - atomic_fetch_sub
    - atomic_compare_exchange_strong
    linkageType: ''
    returnType: vlc_vdp_video_field_t
    signature: vlc_vdp_video_field_t *GetSurface(vlc_va_sys_t *sys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSurface
      Src: /src/vlc/modules/hw/vdpau/avcodec.c:95,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/hw/vdpau/avcodec.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sys
    argTypes:
    - vlc_va_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: Get
    functionSourceFile: /src/vlc/modules/hw/vdpau/avcodec.c
    functionUses: 236
    functionsReached:
    - GetSurface
    - vlc_tick_sleep
    linkageType: ''
    returnType: vlc_vdp_video_field_t
    signature: vlc_vdp_video_field_t *Get(vlc_va_sys_t *sys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/vlc/modules/hw/vdpau/avcodec.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - va
    - pic
    - ctx
    - frame
    argTypes:
    - vlc_va_t*
    - picture_t*
    - AVCodecContext*
    - AVFrame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 117
    functionName: Lock
    functionSourceFile: /src/vlc/modules/hw/vdpau/avcodec.c
    functionUses: 194
    functionsReached:
    - Get
    linkageType: ''
    returnType: int
    signature: int Lock(vlc_va_t *va, picture_t *pic, AVCodecContext *ctx, AVFrame
      *frame)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vdp_video_destroy
      Src: /src/vlc/modules/hw/vdpau/avcodec.c:124,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/hw/vdpau/avcodec.c:126,1
    - Dst: av_free
      Src: /src/vlc/modules/hw/vdpau/avcodec.c:128,1
    - Dst: free
      Src: /src/vlc/modules/hw/vdpau/avcodec.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - va
    - ctx
    argTypes:
    - vlc_va_t*
    - AVCodecContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: Close
    functionSourceFile: /src/vlc/modules/hw/vdpau/avcodec.c
    functionUses: 146
    functionsReached:
    - free
    - vlc_video_context_Release
    - vlc_vdp_video_destroy
    - av_free
    linkageType: ''
    returnType: void
    signature: void Close(vlc_va_t *va, AVCodecContext* ctx)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: GetVDPAUOpaqueDevice
      Src: /src/vlc/modules/hw/vdpau/avcodec.c:151,1
    - Dst: av_vdpau_get_surface_parameters
      Src: /src/vlc/modules/hw/vdpau/avcodec.c:159,1
    - Dst: malloc
      Src: /src/vlc/modules/hw/vdpau/avcodec.c:184,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/vdpau/avcodec.c:185,1
    - Dst: vlc_video_context_Create
      Src: /src/vlc/modules/hw/vdpau/avcodec.c:188,1
    - Dst: free
      Src: /src/vlc/modules/hw/vdpau/avcodec.c:193,1
    - Dst: vlc_video_context_GetPrivate
      Src: /src/vlc/modules/hw/vdpau/avcodec.c:197,1
    - Dst: GetVDPAUOpaqueDevice
      Src: /src/vlc/modules/hw/vdpau/avcodec.c:203,1
    - Dst: vdp_get_proc_address
      Src: /src/vlc/modules/hw/vdpau/avcodec.c:207,1
    - Dst: av_vdpau_bind_context
      Src: /src/vlc/modules/hw/vdpau/avcodec.c:212,1
    - Dst: CreateSurface
      Src: /src/vlc/modules/hw/vdpau/avcodec.c:220,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/vdpau/avcodec.c:229,1
    - Dst: Close
      Src: /src/vlc/modules/hw/vdpau/avcodec.c:230,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/hw/vdpau/avcodec.c:240,1
    - Dst: av_free
      Src: /src/vlc/modules/hw/vdpau/avcodec.c:242,1
    - Dst: free
      Src: /src/vlc/modules/hw/vdpau/avcodec.c:243,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 65
    argCount: 2
    argNames:
    - va
    - cfg
    argTypes:
    - vlc_va_t*
    - struct vlc_va_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 245
    functionName: Open
    functionSourceFile: /src/vlc/modules/hw/vdpau/avcodec.c
    functionUses: 54
    functionsReached:
    - GetVDPAUOpaqueDevice
    - vdp_get_proc_address
    - vlc_video_context_Release
    - av_free
    - CreateSurface
    - vlc_video_context_GetPrivate
    - msg_Err
    - free
    - vlc_video_context_Create
    - av_vdpau_bind_context
    - Close
    - av_vdpau_get_surface_parameters
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open(vlc_va_t *va, struct vlc_va_cfg *cfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vdp_device_destroy
      Src: /src/vlc/modules/hw/vdpau/device.c:45,1
    - Dst: vdp_destroy_x11
      Src: /src/vlc/modules/hw/vdpau/device.c:46,1
    - Dst: XCloseDisplay
      Src: /src/vlc/modules/hw/vdpau/device.c:47,1
    - Dst: free
      Src: /src/vlc/modules/hw/vdpau/device.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - device
    argTypes:
    - vlc_decoder_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: Close
    functionSourceFile: /src/vlc/modules/hw/vdpau/device.c
    functionUses: 147
    functionsReached:
    - free
    - XCloseDisplay
    - vdp_destroy_x11
    - vdp_device_destroy
    linkageType: ''
    returnType: void
    signature: void Close(vlc_decoder_device *device)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XGetWindowAttributes
      Src: /src/vlc/modules/hw/vdpau/device.c:59,1
    - Dst: ScreenCount
      Src: /src/vlc/modules/hw/vdpau/device.c:61,1
    - Dst: RootWindow
      Src: /src/vlc/modules/hw/vdpau/device.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - dpy
    - w
    argTypes:
    - Display*
    - Window
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 66
    functionName: ScreenNumberOfWindow
    functionSourceFile: /src/vlc/modules/hw/vdpau/device.c
    functionUses: 0
    functionsReached:
    - XGetWindowAttributes
    - RootWindow
    - ScreenCount
    linkageType: ''
    returnType: int
    signature: int ScreenNumberOfWindow(Display *dpy, Window w)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_xlib_init
      Src: /src/vlc/modules/hw/vdpau/device.c:74,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vdpau/device.c:74,1
    - Dst: malloc
      Src: /src/vlc/modules/hw/vdpau/device.c:77,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/vdpau/device.c:78,1
    - Dst: XOpenDisplay
      Src: /src/vlc/modules/hw/vdpau/device.c:81,1
    - Dst: free
      Src: /src/vlc/modules/hw/vdpau/device.c:84,1
    - Dst: ScreenNumberOfWindow
      Src: /src/vlc/modules/hw/vdpau/device.c:88,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/vdpau/device.c:89,1
    - Dst: vdp_create_x11
      Src: /src/vlc/modules/hw/vdpau/device.c:92,1
    - Dst: vdp_get_information_string
      Src: /src/vlc/modules/hw/vdpau/device.c:98,1
    - Dst: strstr
      Src: /src/vlc/modules/hw/vdpau/device.c:101,1
    - Dst: vdp_device_destroy
      Src: /src/vlc/modules/hw/vdpau/device.c:103,1
    - Dst: vdp_destroy_x11
      Src: /src/vlc/modules/hw/vdpau/device.c:104,1
    - Dst: msg_Info
      Src: /src/vlc/modules/hw/vdpau/device.c:109,1
    - Dst: XCloseDisplay
      Src: /src/vlc/modules/hw/vdpau/device.c:119,1
    - Dst: free
      Src: /src/vlc/modules/hw/vdpau/device.c:120,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 2
    argNames:
    - device
    - window
    argTypes:
    - vlc_decoder_device*
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 122
    functionName: Open
    functionSourceFile: /src/vlc/modules/hw/vdpau/device.c
    functionUses: 54
    functionsReached:
    - vdp_destroy_x11
    - XCloseDisplay
    - vdp_create_x11
    - vlc_xlib_init
    - free
    - msg_Info
    - ScreenNumberOfWindow
    - strstr
    - VLC_OBJECT
    - vdp_get_information_string
    - XOpenDisplay
    - unlikely
    - malloc
    - vdp_device_destroy
    linkageType: ''
    returnType: int
    signature: int Open(vlc_decoder_device *device, vlc_window_t *window)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vdp_generate_csc_matrix
      Src: /src/vlc/modules/hw/vdpau/chroma.c:83,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/vdpau/chroma.c:86,1
    - Dst: vdp_get_error_string
      Src: /src/vlc/modules/hw/vdpau/chroma.c:87,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 3
    argNames:
    - filter
    - procamp
    - csc
    argTypes:
    - filter_t*
    - VdpProcamp*
    - VdpCSCMatrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 106
    functionName: MixerSetupColors
    functionSourceFile: /src/vlc/modules/hw/vdpau/chroma.c
    functionUses: 0
    functionsReached:
    - vdp_generate_csc_matrix
    - vdp_get_error_string
    - msg_Err
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus MixerSetupColors(filter_t *filter, const VdpProcamp *procamp,\n
      \                                 VdpCSCMatrix *restrict csc)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/hw/vdpau/chroma.c:122,1
    - Dst: vdp_video_mixer_query_feature_support
      Src: /src/vlc/modules/hw/vdpau/chroma.c:126,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/vdpau/chroma.c:128,1
    - Dst: vdp_video_mixer_query_feature_support
      Src: /src/vlc/modules/hw/vdpau/chroma.c:135,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/vdpau/chroma.c:137,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/hw/vdpau/chroma.c:145,1
    - Dst: vdp_video_mixer_query_feature_support
      Src: /src/vlc/modules/hw/vdpau/chroma.c:148,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/vdpau/chroma.c:151,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/hw/vdpau/chroma.c:157,1
    - Dst: vdp_video_mixer_query_feature_support
      Src: /src/vlc/modules/hw/vdpau/chroma.c:160,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/vdpau/chroma.c:164,1
    - Dst: vdp_video_mixer_query_feature_support
      Src: /src/vlc/modules/hw/vdpau/chroma.c:169,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/vdpau/chroma.c:173,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/hw/vdpau/chroma.c:178,1
    - Dst: vdp_video_mixer_query_feature_support
      Src: /src/vlc/modules/hw/vdpau/chroma.c:182,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/vdpau/chroma.c:186,1
    - Dst: vdp_video_mixer_create
      Src: /src/vlc/modules/hw/vdpau/chroma.c:204,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/vdpau/chroma.c:208,1
    - Dst: vdp_get_error_string
      Src: /src/vlc/modules/hw/vdpau/chroma.c:209,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/vdpau/chroma.c:213,1
    - Dst: MixerSetupColors
      Src: /src/vlc/modules/hw/vdpau/chroma.c:224,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/hw/vdpau/chroma.c:237,1
    - Dst: vdp_video_mixer_set_feature_enables
      Src: /src/vlc/modules/hw/vdpau/chroma.c:262,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/vdpau/chroma.c:265,1
    - Dst: vdp_get_error_string
      Src: /src/vlc/modules/hw/vdpau/chroma.c:266,1
    - Dst: vdp_video_mixer_set_attribute_values
      Src: /src/vlc/modules/hw/vdpau/chroma.c:271,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/vdpau/chroma.c:274,1
    - Dst: vdp_get_error_string
      Src: /src/vlc/modules/hw/vdpau/chroma.c:275,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 86
    argCount: 2
    argNames:
    - filter
    - chroma
    argTypes:
    - filter_t*
    - VdpChromaType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 279
    functionName: MixerCreate
    functionSourceFile: /src/vlc/modules/hw/vdpau/chroma.c
    functionUses: 0
    functionsReached:
    - MixerSetupColors
    - var_InheritInteger
    - var_InheritBool
    - vdp_video_mixer_create
    - msg_Err
    - vdp_video_mixer_query_feature_support
    - msg_Dbg
    - vdp_get_error_string
    - vdp_video_mixer_set_attribute_values
    - vdp_video_mixer_set_feature_enables
    - var_InheritFloat
    linkageType: ''
    returnType: VdpVideoMixer
    signature: VdpVideoMixer MixerCreate(filter_t *filter, VdpChromaType chroma)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/vdpau/chroma.c:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 291
    functionName: Flush
    functionSourceFile: /src/vlc/modules/hw/vdpau/chroma.c
    functionUses: 69
    functionsReached:
    - picture_Release
    linkageType: ''
    returnType: void
    signature: void Flush(filter_t *filter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VDPAU_FIELD_FROM_PICCTX
      Src: /src/vlc/modules/hw/vdpau/chroma.c:297,1
    - Dst: GetVDPAUOpaqueContext
      Src: /src/vlc/modules/hw/vdpau/chroma.c:304,1
    - Dst: picture_GetVideoContext
      Src: /src/vlc/modules/hw/vdpau/chroma.c:304,1
    - Dst: picture_CopyProperties
      Src: /src/vlc/modules/hw/vdpau/chroma.c:305,1
    - Dst: vdp_video_surface_get_bits_y_cb_cr
      Src: /src/vlc/modules/hw/vdpau/chroma.c:321,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/vdpau/chroma.c:325,1
    - Dst: vdp_get_error_string
      Src: /src/vlc/modules/hw/vdpau/chroma.c:326,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/vdpau/chroma.c:327,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/vdpau/chroma.c:330,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - filter
    - src
    - dst
    - format
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    - VdpYCbCrFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 332
    functionName: VideoExport
    functionSourceFile: /src/vlc/modules/hw/vdpau/chroma.c
    functionUses: 0
    functionsReached:
    - vdp_video_surface_get_bits_y_cb_cr
    - VDPAU_FIELD_FROM_PICCTX
    - picture_GetVideoContext
    - picture_CopyProperties
    - msg_Err
    - picture_Release
    - GetVDPAUOpaqueContext
    - vdp_get_error_string
    linkageType: ''
    returnType: picture_t
    signature: "picture_t *VideoExport(filter_t *filter, picture_t *src, picture_t
      *dst,\n                              VdpYCbCrFormat format)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/hw/vdpau/chroma.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: OutputSurfaceDestroy
    functionSourceFile: /src/vlc/modules/hw/vdpau/chroma.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void OutputSurfaceDestroy(struct picture_context_t *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/hw/vdpau/chroma.c:341,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/vdpau/chroma.c:342,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/hw/vdpau/chroma.c:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 347
    functionName: OutputSurfaceClone
    functionSourceFile: /src/vlc/modules/hw/vdpau/chroma.c
    functionUses: 0
    functionsReached:
    - unlikely
    - malloc
    - vlc_video_context_Hold
    linkageType: ''
    returnType: picture_context_t
    signature: picture_context_t *OutputSurfaceClone(picture_context_t *ctx)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/hw/vdpau/chroma.c:356,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/vdpau/chroma.c:358,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/vdpau/chroma.c:359,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/vdpau/chroma.c:382,1
    - Dst: memmove
      Src: /src/vlc/modules/hw/vdpau/chroma.c:384,1
    - Dst: picture_pool_Get
      Src: /src/vlc/modules/hw/vdpau/chroma.c:392,1
    - Dst: malloc
      Src: /src/vlc/modules/hw/vdpau/chroma.c:395,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/vdpau/chroma.c:396,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/hw/vdpau/chroma.c:401,1
    - Dst: assert
      Src: /src/vlc/modules/hw/vdpau/chroma.c:405,1
    - Dst: VDPAU_FIELD_FROM_PICCTX
      Src: /src/vlc/modules/hw/vdpau/chroma.c:411,1
    - Dst: vdp_video_mixer_set_feature_enables
      Src: /src/vlc/modules/hw/vdpau/chroma.c:419,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/vdpau/chroma.c:422,1
    - Dst: vdp_get_error_string
      Src: /src/vlc/modules/hw/vdpau/chroma.c:423,1
    - Dst: MixerSetupColors
      Src: /src/vlc/modules/hw/vdpau/chroma.c:439,1
    - Dst: vdp_video_mixer_set_attribute_values
      Src: /src/vlc/modules/hw/vdpau/chroma.c:446,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/vdpau/chroma.c:449,1
    - Dst: vdp_get_error_string
      Src: /src/vlc/modules/hw/vdpau/chroma.c:450,1
    - Dst: assert
      Src: /src/vlc/modules/hw/vdpau/chroma.c:458,1
    - Dst: ORIENT_IS_SWAP
      Src: /src/vlc/modules/hw/vdpau/chroma.c:459,1
    - Dst: vdp_output_surface_get_parameters
      Src: /src/vlc/modules/hw/vdpau/chroma.c:487,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/vdpau/chroma.c:491,1
    - Dst: vdp_get_error_string
      Src: /src/vlc/modules/hw/vdpau/chroma.c:492,1
    - Dst: vdp_output_surface_create
      Src: /src/vlc/modules/hw/vdpau/chroma.c:496,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/vdpau/chroma.c:500,1
    - Dst: vdp_get_error_string
      Src: /src/vlc/modules/hw/vdpau/chroma.c:501,1
    - Dst: VDPAU_FIELD_FROM_PICCTX
      Src: /src/vlc/modules/hw/vdpau/chroma.c:536,1
    - Dst: VDPAU_FIELD_FROM_PICCTX
      Src: /src/vlc/modules/hw/vdpau/chroma.c:541,1
    - Dst: vdp_video_mixer_render
      Src: /src/vlc/modules/hw/vdpau/chroma.c:544,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/vdpau/chroma.c:551,1
    - Dst: vdp_get_error_string
      Src: /src/vlc/modules/hw/vdpau/chroma.c:552,1
    - Dst: vdp_output_surface_render_output_surface
      Src: /src/vlc/modules/hw/vdpau/chroma.c:558,1
    - Dst: vdp_output_surface_destroy
      Src: /src/vlc/modules/hw/vdpau/chroma.c:561,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/vdpau/chroma.c:564,1
    - Dst: vdp_get_error_string
      Src: /src/vlc/modules/hw/vdpau/chroma.c:565,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/vdpau/chroma.c:573,1
    - Dst: memmove
      Src: /src/vlc/modules/hw/vdpau/chroma.c:574,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/vdpau/chroma.c:579,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 121
    argCount: 2
    argNames:
    - filter
    - src
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts:
    - condition: (p_sys != NULL && p_sys->vctx == filter->vctx_out)
      pos:
        line_end: 404
        line_start: 404
        source_file: /src/vlc/modules/hw/vdpau/chroma.c
    - condition: (filter->fmt_out.video.orientation == ORIENT_TOP_LEFT)
      pos:
        line_end: 457
        line_start: 457
        source_file: /src/vlc/modules/hw/vdpau/chroma.c
    constantsTouched: []
    func_position:
      end: 582
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 582
    functionName: Render
    functionSourceFile: /src/vlc/modules/hw/vdpau/chroma.c
    functionUses: 13
    functionsReached:
    - assert
    - vdp_output_surface_render_output_surface
    - VDPAU_FIELD_FROM_PICCTX
    - picture_Release
    - vdp_output_surface_create
    - vdp_get_error_string
    - vdp_video_mixer_render
    - vlc_video_context_Hold
    - msg_Err
    - vdp_output_surface_get_parameters
    - picture_pool_Get
    - MixerSetupColors
    - vdp_video_mixer_set_attribute_values
    - ORIENT_IS_SWAP
    - vdp_video_mixer_set_feature_enables
    - vdp_output_surface_destroy
    - memmove
    - unlikely
    - malloc
    linkageType: ''
    returnType: picture_t
    signature: picture_t *Render(filter_t *filter, picture_t *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetVDPAUOpaqueContext
      Src: /src/vlc/modules/hw/vdpau/chroma.c:592,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/hw/vdpau/chroma.c:594,1
    - Dst: vdp_output_surface_query_capabilities
      Src: /src/vlc/modules/hw/vdpau/chroma.c:599,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/vdpau/chroma.c:604,1
    - Dst: vdp_get_error_string
      Src: /src/vlc/modules/hw/vdpau/chroma.c:605,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/vdpau/chroma.c:613,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/vdpau/chroma.c:617,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - obj
    - vctx
    - fmt
    - rgb_fmt
    argTypes:
    - vlc_object_t*
    - struct vlc_video_context*
    - video_format_t*
    - VdpRGBAFormat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 584
    functionDepth: 2
    functionLinenumber: 584
    functionLinenumberEnd: 619
    functionName: OutputCheckFormat
    functionSourceFile: /src/vlc/modules/hw/vdpau/chroma.c
    functionUses: 0
    functionsReached:
    - vdp_output_surface_query_capabilities
    - ARRAY_SIZE
    - msg_Err
    - GetVDPAUOpaqueContext
    - vdp_get_error_string
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: "int OutputCheckFormat(vlc_object_t *obj, struct vlc_video_context
      *vctx,\n                             const video_format_t *fmt,\n                             VdpRGBAFormat
      *restrict rgb_fmt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OutputCheckFormat
      Src: /src/vlc/modules/hw/vdpau/chroma.c:627,1
    - Dst: vlc_vdp_output_pool_create
      Src: /src/vlc/modules/hw/vdpau/chroma.c:631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - obj
    - vctx
    - fmt
    argTypes:
    - vlc_object_t*
    - struct vlc_video_context*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 621
    functionDepth: 3
    functionLinenumber: 621
    functionLinenumberEnd: 632
    functionName: OutputPoolAlloc
    functionSourceFile: /src/vlc/modules/hw/vdpau/chroma.c
    functionUses: 0
    functionsReached:
    - vlc_vdp_output_pool_create
    - OutputCheckFormat
    linkageType: ''
    returnType: picture_pool_t
    signature: "picture_pool_t *OutputPoolAlloc(vlc_object_t *obj,\n    struct vlc_video_context
      *vctx, const video_format_t *restrict fmt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/vlc/modules/hw/vdpau/chroma.c:642,1
    - Dst: vdp_video_mixer_destroy
      Src: /src/vlc/modules/hw/vdpau/chroma.c:643,1
    - Dst: picture_pool_Release
      Src: /src/vlc/modules/hw/vdpau/chroma.c:644,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/hw/vdpau/chroma.c:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 646
    functionName: OutputClose
    functionSourceFile: /src/vlc/modules/hw/vdpau/chroma.c
    functionUses: 0
    functionsReached:
    - Flush
    - vdp_video_mixer_destroy
    - vlc_video_context_Release
    - picture_pool_Release
    linkageType: ''
    returnType: void
    signature: void OutputClose(filter_t *filter)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/hw/vdpau/chroma.c:658,1
    - Dst: filter_HoldDecoderDeviceType
      Src: /src/vlc/modules/hw/vdpau/chroma.c:661,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/hw/vdpau/chroma.c:665,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vdpau/chroma.c:665,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/vdpau/chroma.c:666,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/hw/vdpau/chroma.c:668,1
    - Dst: GetVDPAUOpaqueDevice
      Src: /src/vlc/modules/hw/vdpau/chroma.c:677,1
    - Dst: vlc_video_context_Create
      Src: /src/vlc/modules/hw/vdpau/chroma.c:678,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/hw/vdpau/chroma.c:680,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/vdpau/chroma.c:681,1
    - Dst: OutputPoolAlloc
      Src: /src/vlc/modules/hw/vdpau/chroma.c:685,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vdpau/chroma.c:685,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/hw/vdpau/chroma.c:689,1
    - Dst: vlc_video_context_GetPrivate
      Src: /src/vlc/modules/hw/vdpau/chroma.c:694,1
    - Dst: MixerCreate
      Src: /src/vlc/modules/hw/vdpau/chroma.c:696,1
    - Dst: picture_pool_Release
      Src: /src/vlc/modules/hw/vdpau/chroma.c:699,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/hw/vdpau/chroma.c:700,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts:
    - condition: "(filter->fmt_out.video.orientation == ORIENT_TOP_LEFT\n        ||
        filter->fmt_in.video.orientation == filter->fmt_out.video.orientation)"
      pos:
        line_end: 658
        line_start: 657
        source_file: /src/vlc/modules/hw/vdpau/chroma.c
    constantsTouched: []
    func_position:
      end: 715
      start: 652
    functionDepth: 4
    functionLinenumber: 652
    functionLinenumberEnd: 715
    functionName: OutputOpen
    functionSourceFile: /src/vlc/modules/hw/vdpau/chroma.c
    functionUses: 0
    functionsReached:
    - GetVDPAUOpaqueDevice
    - vlc_video_context_Release
    - assert
    - MixerCreate
    - vlc_obj_malloc
    - vlc_decoder_device_Release
    - vlc_video_context_GetPrivate
    - filter_HoldDecoderDeviceType
    - vlc_video_context_Create
    - VLC_OBJECT
    - picture_pool_Release
    - unlikely
    - OutputPoolAlloc
    linkageType: ''
    returnType: int
    signature: int OutputOpen(filter_t *filter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/hw/vdpau/chroma.c:726,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/vdpau/chroma.c:728,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/vdpau/chroma.c:729,1
    - Dst: filter_NewPicture
      Src: /src/vlc/modules/hw/vdpau/chroma.c:733,1
    - Dst: VideoExport
      Src: /src/vlc/modules/hw/vdpau/chroma.c:737,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - filter
    - src
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 722
    functionDepth: 3
    functionLinenumber: 722
    functionLinenumberEnd: 738
    functionName: VideoExport_Filter
    functionSourceFile: /src/vlc/modules/hw/vdpau/chroma.c
    functionUses: 0
    functionsReached:
    - VideoExport
    - filter_NewPicture
    - msg_Err
    - picture_Release
    - unlikely
    linkageType: ''
    returnType: picture_t
    signature: picture_t *VideoExport_Filter(filter_t *filter, picture_t *src)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_video_context_GetPrivate
      Src: /src/vlc/modules/hw/vdpau/chroma.c:754,1
    - Dst: vlc_fourcc_to_vdp_ycc
      Src: /src/vlc/modules/hw/vdpau/chroma.c:757,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/hw/vdpau/chroma.c:771,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vdpau/chroma.c:771,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/vdpau/chroma.c:772,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 779
    functionName: YCbCrOpen
    functionSourceFile: /src/vlc/modules/hw/vdpau/chroma.c
    functionUses: 0
    functionsReached:
    - vlc_obj_malloc
    - vlc_video_context_GetPrivate
    - VLC_OBJECT
    - vlc_fourcc_to_vdp_ycc
    - unlikely
    linkageType: ''
    returnType: int
    signature: int YCbCrOpen(filter_t *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_chroma_conv_add
      Src: /src/vlc/modules/hw/vdpau/chroma.c:793,1
    - Dst: vlc_chroma_conv_add_in_outlist
      Src: /src/vlc/modules/hw/vdpau/chroma.c:796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vec
    argTypes:
    - vlc_chroma_conv_vec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 799
    functionName: ProbeChroma
    functionSourceFile: /src/vlc/modules/hw/vdpau/chroma.c
    functionUses: 0
    functionsReached:
    - vlc_chroma_conv_add
    - vlc_chroma_conv_add_in_outlist
    linkageType: ''
    returnType: void
    signature: void ProbeChroma(vlc_chroma_conv_vec *vec)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - brightness
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: vlc_to_vdp_brightness
    functionSourceFile: /src/vlc/modules/hw/vdpau/adjust.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float vlc_to_vdp_brightness(float brightness)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_explicit
      Src: /src/vlc/modules/hw/vdpau/adjust.c:59,1
    - Dst: vlc_to_vdp_brightness
      Src: /src/vlc/modules/hw/vdpau/adjust.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - obj
    - varname
    - prev
    - cur
    - data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: BrightnessCallback
    functionSourceFile: /src/vlc/modules/hw/vdpau/adjust.c
    functionUses: 0
    functionsReached:
    - vlc_to_vdp_brightness
    - atomic_store_explicit
    linkageType: ''
    returnType: int
    signature: "int BrightnessCallback(vlc_object_t *obj, const char *varname,\n                              vlc_value_t
      prev, vlc_value_t cur, void *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - contrast
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: vlc_to_vdp_contrast
    functionSourceFile: /src/vlc/modules/hw/vdpau/adjust.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float vlc_to_vdp_contrast(float contrast)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_explicit
      Src: /src/vlc/modules/hw/vdpau/adjust.c:79,1
    - Dst: vlc_to_vdp_contrast
      Src: /src/vlc/modules/hw/vdpau/adjust.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - obj
    - varname
    - prev
    - cur
    - data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: ContrastCallback
    functionSourceFile: /src/vlc/modules/hw/vdpau/adjust.c
    functionUses: 0
    functionsReached:
    - vlc_to_vdp_contrast
    - atomic_store_explicit
    linkageType: ''
    returnType: int
    signature: "int ContrastCallback(vlc_object_t *obj, const char *varname,\n                            vlc_value_t
      prev, vlc_value_t cur, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_explicit
      Src: /src/vlc/modules/hw/vdpau/adjust.c:92,1
    - Dst: vlc_to_vdp_saturation
      Src: /src/vlc/modules/hw/vdpau/adjust.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - obj
    - varname
    - prev
    - cur
    - data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: SaturationCallback
    functionSourceFile: /src/vlc/modules/hw/vdpau/adjust.c
    functionUses: 0
    functionsReached:
    - atomic_store_explicit
    - vlc_to_vdp_saturation
    linkageType: ''
    returnType: int
    signature: "int SaturationCallback(vlc_object_t *obj, const char *varname,\n                              vlc_value_t
      prev, vlc_value_t cur, void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: modff
      Src: /src/vlc/modules/hw/vdpau/adjust.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hue
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 107
    functionName: vlc_to_vdp_hue
    functionSourceFile: /src/vlc/modules/hw/vdpau/adjust.c
    functionUses: 0
    functionsReached:
    - modff
    linkageType: ''
    returnType: float
    signature: float vlc_to_vdp_hue(float hue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_explicit
      Src: /src/vlc/modules/hw/vdpau/adjust.c:114,1
    - Dst: vlc_to_vdp_hue
      Src: /src/vlc/modules/hw/vdpau/adjust.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - obj
    - varname
    - prev
    - cur
    - data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: HueCallback
    functionSourceFile: /src/vlc/modules/hw/vdpau/adjust.c
    functionUses: 0
    functionsReached:
    - atomic_store_explicit
    - vlc_to_vdp_hue
    linkageType: ''
    returnType: int
    signature: "int HueCallback(vlc_object_t *obj, const char *varname,\n                              vlc_value_t
      prev, vlc_value_t cur, void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VDPAU_FIELD_FROM_PICCTX
      Src: /src/vlc/modules/hw/vdpau/adjust.c:123,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/vdpau/adjust.c:125,1
    - Dst: atomic_load_explicit
      Src: /src/vlc/modules/hw/vdpau/adjust.c:128,1
    - Dst: atomic_load_explicit
      Src: /src/vlc/modules/hw/vdpau/adjust.c:130,1
    - Dst: atomic_load_explicit
      Src: /src/vlc/modules/hw/vdpau/adjust.c:132,1
    - Dst: atomic_load_explicit
      Src: /src/vlc/modules/hw/vdpau/adjust.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - filter
    - pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 137
    functionName: Adjust
    functionSourceFile: /src/vlc/modules/hw/vdpau/adjust.c
    functionUses: 0
    functionsReached:
    - VDPAU_FIELD_FROM_PICCTX
    - unlikely
    - atomic_load_explicit
    linkageType: ''
    returnType: picture_t
    signature: picture_t *Adjust(filter_t *filter, picture_t *pic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_DelCallback
      Src: /src/vlc/modules/hw/vdpau/adjust.c:143,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/hw/vdpau/adjust.c:144,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/hw/vdpau/adjust.c:146,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/hw/vdpau/adjust.c:147,1
    - Dst: free
      Src: /src/vlc/modules/hw/vdpau/adjust.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 150
    functionName: Close
    functionSourceFile: /src/vlc/modules/hw/vdpau/adjust.c
    functionUses: 147
    functionsReached:
    - free
    - var_DelCallback
    linkageType: ''
    returnType: void
    signature: void Close(filter_t *filter)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_video_context_GetType
      Src: /src/vlc/modules/hw/vdpau/adjust.c:163,1
    - Dst: video_format_IsSimilar
      Src: /src/vlc/modules/hw/vdpau/adjust.c:167,1
    - Dst: malloc
      Src: /src/vlc/modules/hw/vdpau/adjust.c:170,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/vdpau/adjust.c:171,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/hw/vdpau/adjust.c:177,1
    - Dst: var_CreateGetFloatCommand
      Src: /src/vlc/modules/hw/vdpau/adjust.c:182,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/hw/vdpau/adjust.c:183,1
    - Dst: atomic_init
      Src: /src/vlc/modules/hw/vdpau/adjust.c:185,1
    - Dst: vlc_to_vdp_brightness
      Src: /src/vlc/modules/hw/vdpau/adjust.c:185,1
    - Dst: var_CreateGetFloatCommand
      Src: /src/vlc/modules/hw/vdpau/adjust.c:187,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/hw/vdpau/adjust.c:188,1
    - Dst: atomic_init
      Src: /src/vlc/modules/hw/vdpau/adjust.c:189,1
    - Dst: vlc_to_vdp_contrast
      Src: /src/vlc/modules/hw/vdpau/adjust.c:189,1
    - Dst: var_CreateGetFloatCommand
      Src: /src/vlc/modules/hw/vdpau/adjust.c:191,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/hw/vdpau/adjust.c:192,1
    - Dst: atomic_init
      Src: /src/vlc/modules/hw/vdpau/adjust.c:194,1
    - Dst: vlc_to_vdp_saturation
      Src: /src/vlc/modules/hw/vdpau/adjust.c:194,1
    - Dst: var_CreateGetFloatCommand
      Src: /src/vlc/modules/hw/vdpau/adjust.c:196,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/hw/vdpau/adjust.c:197,1
    - Dst: atomic_init
      Src: /src/vlc/modules/hw/vdpau/adjust.c:198,1
    - Dst: vlc_to_vdp_hue
      Src: /src/vlc/modules/hw/vdpau/adjust.c:198,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 201
    functionName: Open
    functionSourceFile: /src/vlc/modules/hw/vdpau/adjust.c
    functionUses: 54
    functionsReached:
    - atomic_init
    - var_CreateGetFloatCommand
    - var_AddCallback
    - vlc_video_context_GetType
    - config_ChainParse
    - vlc_to_vdp_saturation
    - vlc_to_vdp_hue
    - vlc_to_vdp_brightness
    - video_format_IsSimilar
    - unlikely
    - malloc
    - vlc_to_vdp_contrast
    linkageType: ''
    returnType: int
    signature: int Open(filter_t *filter)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VDPAU_FIELD_FROM_PICCTX
      Src: /src/vlc/modules/hw/vdpau/deinterlace.c:46,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/vdpau/deinterlace.c:47,1
    - Dst: filter_NewPicture
      Src: /src/vlc/modules/hw/vdpau/deinterlace.c:53,1
    - Dst: picture_NewFromFormat
      Src: /src/vlc/modules/hw/vdpau/deinterlace.c:55,1
    - Dst: vlc_vdp_video_copy
      Src: /src/vlc/modules/hw/vdpau/deinterlace.c:60,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/vdpau/deinterlace.c:61,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/vdpau/deinterlace.c:63,1
    - Dst: picture_CopyProperties
      Src: /src/vlc/modules/hw/vdpau/deinterlace.c:67,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/hw/vdpau/deinterlace.c:74,1
    - Dst: assert
      Src: /src/vlc/modules/hw/vdpau/deinterlace.c:80,1
    - Dst: picture_HasChainedPics
      Src: /src/vlc/modules/hw/vdpau/deinterlace.c:80,1
    - Dst: vlc_picture_chain_AppendChain
      Src: /src/vlc/modules/hw/vdpau/deinterlace.c:81,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - filter
    - src
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts:
    - condition: (!picture_HasChainedPics(src))
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/vlc/modules/hw/vdpau/deinterlace.c
    constantsTouched: []
    func_position:
      end: 97
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 97
    functionName: Deinterlace
    functionSourceFile: /src/vlc/modules/hw/vdpau/deinterlace.c
    functionUses: 1
    functionsReached:
    - assert
    - VDPAU_FIELD_FROM_PICCTX
    - picture_HasChainedPics
    - picture_CopyProperties
    - filter_NewPicture
    - picture_Release
    - vlc_tick_from_samples
    - vlc_vdp_video_copy
    - vlc_picture_chain_AppendChain
    - unlikely
    - picture_NewFromFormat
    linkageType: ''
    returnType: picture_t
    signature: picture_t *Deinterlace(filter_t *filter, picture_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: Flush
    functionSourceFile: /src/vlc/modules/hw/vdpau/deinterlace.c
    functionUses: 70
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Flush(filter_t *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/hw/vdpau/deinterlace.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: Close
    functionSourceFile: /src/vlc/modules/hw/vdpau/deinterlace.c
    functionUses: 147
    functionsReached:
    - vlc_video_context_Release
    linkageType: ''
    returnType: void
    signature: void Close(filter_t *filter)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_video_context_GetType
      Src: /src/vlc/modules/hw/vdpau/deinterlace.c:118,1
    - Dst: video_format_IsSimilar
      Src: /src/vlc/modules/hw/vdpau/deinterlace.c:122,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/hw/vdpau/deinterlace.c:125,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/vdpau/deinterlace.c:125,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/vdpau/deinterlace.c:126,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/hw/vdpau/deinterlace.c:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 139
    functionName: Open
    functionSourceFile: /src/vlc/modules/hw/vdpau/deinterlace.c
    functionUses: 54
    functionsReached:
    - vlc_obj_malloc
    - vlc_video_context_GetType
    - vlc_video_context_Hold
    - VLC_OBJECT
    - video_format_IsSimilar
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Open(filter_t *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: CHECK_FUNC
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_FUNC(id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:118,1
    - Dst: vdp_t*::vt::get_error_string
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - vdp
    - status
    argTypes:
    - vdp_t*
    - VdpStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: vdp_get_error_string
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 7
    functionsReached:
    - unlikely
    - vdp_t*::vt::get_error_string
    linkageType: ''
    returnType: char
    signature: char *vdp_get_error_string(const vdp_t *vdp, VdpStatus status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:126,1
    - Dst: vdp_t*::vt::get_proc_address
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - vdp
    - device
    - func_id
    - func_ptr
    argTypes:
    - vdp_t*
    - VdpDevice
    - VdpFuncId
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: vdp_get_proc_address
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 1
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::get_proc_address
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_get_proc_address(const vdp_t *vdp, VdpDevice device,\n
      \   VdpFuncId func_id, void **func_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:132,1
    - Dst: vdp_t*::vt::get_api_version
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vdp
    - ver
    argTypes:
    - vdp_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: vdp_get_api_version
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::get_api_version
    linkageType: ''
    returnType: VdpStatus
    signature: VdpStatus vdp_get_api_version(const vdp_t *vdp, uint32_t *ver)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:138,1
    - Dst: vdp_t*::vt::get_information_string
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vdp
    - str
    argTypes:
    - vdp_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: vdp_get_information_string
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 1
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::get_information_string
    linkageType: ''
    returnType: VdpStatus
    signature: VdpStatus vdp_get_information_string(const vdp_t *vdp, const char **str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:145,1
    - Dst: vdp_t*::vt::device_destroy
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vdp
    - device
    argTypes:
    - vdp_t*
    - VdpDevice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: vdp_device_destroy
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 2
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::device_destroy
    linkageType: ''
    returnType: VdpStatus
    signature: VdpStatus vdp_device_destroy(const vdp_t *vdp, VdpDevice device)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:159,1
    - Dst: vdp_t*::vt::generate_csc_matrix
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - vdp
    - procamp
    - standard
    - csc_matrix
    argTypes:
    - vdp_t*
    - VdpProcamp*
    - VdpColorStandard
    - VdpCSCMatrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 161
    functionName: vdp_generate_csc_matrix
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 1
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::generate_csc_matrix
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_generate_csc_matrix(const vdp_t *vdp, const VdpProcamp
      *procamp,\n    VdpColorStandard standard, VdpCSCMatrix *csc_matrix)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:167,1
    - Dst: vdp_t*::vt::video_surface_query_capabilities
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - vdp
    - dev
    - type
    - ok
    - mw
    - mh
    argTypes:
    - vdp_t*
    - VdpDevice
    - VdpChromaType
    - VdpBool*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: vdp_video_surface_query_capabilities
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::video_surface_query_capabilities
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_video_surface_query_capabilities(const vdp_t *vdp, VdpDevice
      dev,\n    VdpChromaType type, VdpBool *ok, uint32_t *mw, uint32_t *mh)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:175,1
    - Dst: vdp_t*::vt::video_surface_query_get_put_bits_y_cb_cr_capabilities
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - vdp
    - device
    - type
    - fmt
    - ok
    argTypes:
    - vdp_t*
    - VdpDevice
    - VdpChromaType
    - VdpYCbCrFormat
    - VdpBool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: vdp_video_surface_query_get_put_bits_y_cb_cr_capabilities
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - vdp_t*::vt::video_surface_query_get_put_bits_y_cb_cr_capabilities
    - CHECK_FUNC
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_video_surface_query_get_put_bits_y_cb_cr_capabilities(\n
      \   const vdp_t *vdp, VdpDevice device, VdpChromaType type, VdpYCbCrFormat fmt,\n
      \   VdpBool *ok)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:183,1
    - Dst: vdp_t*::vt::video_surface_create
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - vdp
    - device
    - chroma
    - w
    - h
    - surface
    argTypes:
    - vdp_t*
    - VdpDevice
    - VdpChromaType
    - uint32_t
    - uint32_t
    - VdpVideoSurface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: vdp_video_surface_create
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 1
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::video_surface_create
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_video_surface_create(const vdp_t *vdp, VdpDevice device,\n
      \   VdpChromaType chroma, uint32_t w, uint32_t h, VdpVideoSurface *surface)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:189,1
    - Dst: vdp_t*::vt::video_surface_destroy
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vdp
    - surface
    argTypes:
    - vdp_t*
    - VdpVideoSurface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: vdp_video_surface_destroy
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 2
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::video_surface_destroy
    linkageType: ''
    returnType: VdpStatus
    signature: VdpStatus vdp_video_surface_destroy(const vdp_t *vdp, VdpVideoSurface
      surface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:196,1
    - Dst: vdp_t*::vt::video_surface_get_parameters
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - vdp
    - surface
    - type
    - w
    - h
    argTypes:
    - vdp_t*
    - VdpVideoSurface
    - VdpChromaType*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: vdp_video_surface_get_parameters
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - vdp_t*::vt::video_surface_get_parameters
    - CHECK_FUNC
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_video_surface_get_parameters(const vdp_t *vdp,\n    VdpVideoSurface
      surface, VdpChromaType *type, uint32_t *w, uint32_t *h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:204,1
    - Dst: vdp_t*::vt::video_surface_get_bits_y_cb_cr
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - vdp
    - surface
    - fmt
    - data
    - pitches
    argTypes:
    - vdp_t*
    - VdpVideoSurface
    - VdpYCbCrFormat
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: vdp_video_surface_get_bits_y_cb_cr
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 1
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::video_surface_get_bits_y_cb_cr
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_video_surface_get_bits_y_cb_cr(const vdp_t *vdp,\n    VdpVideoSurface
      surface, VdpYCbCrFormat fmt,\n    void *const *data, uint32_t const *pitches)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:212,1
    - Dst: vdp_t*::vt::video_surface_put_bits_y_cb_cr
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - vdp
    - surface
    - fmt
    - data
    - pitches
    argTypes:
    - vdp_t*
    - VdpVideoSurface
    - VdpYCbCrFormat
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 214
    functionName: vdp_video_surface_put_bits_y_cb_cr
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - vdp_t*::vt::video_surface_put_bits_y_cb_cr
    - CHECK_FUNC
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_video_surface_put_bits_y_cb_cr(const vdp_t *vdp,\n    VdpVideoSurface
      surface, VdpYCbCrFormat fmt,\n    const void *const *data, uint32_t const *pitches)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:221,1
    - Dst: vdp_t*::vt::output_surface_query_capabilities
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - vdp
    - device
    - fmt
    - ok
    - max_width
    - max_height
    argTypes:
    - vdp_t*
    - VdpDevice
    - VdpRGBAFormat
    - VdpBool*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 224
    functionName: vdp_output_surface_query_capabilities
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 1
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::output_surface_query_capabilities
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_output_surface_query_capabilities(const vdp_t *vdp,\n
      \   VdpDevice device, VdpRGBAFormat fmt, VdpBool *ok,\n    uint32_t *max_width,
      uint32_t *max_height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:229,1
    - Dst: vdp_t*::vt::output_surface_query_get_put_bits_native_capabilities
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - vdp
    - device
    - fmt
    - ok
    argTypes:
    - vdp_t*
    - VdpDevice
    - VdpRGBAFormat
    - VdpBool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: vdp_output_surface_query_get_put_bits_native_capabilities
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - vdp_t*::vt::output_surface_query_get_put_bits_native_capabilities
    - CHECK_FUNC
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_output_surface_query_get_put_bits_native_capabilities(\n
      \   const vdp_t *vdp, VdpDevice device, VdpRGBAFormat fmt, VdpBool *ok)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:238,1
    - Dst: vdp_t*::vt::output_surface_query_put_bits_indexed_capabilities
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - vdp
    - device
    - fmt
    - idxfmt
    - colfmt
    - ok
    argTypes:
    - vdp_t*
    - VdpDevice
    - VdpRGBAFormat
    - VdpIndexedFormat
    - VdpColorTableFormat
    - VdpBool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: vdp_output_surface_query_put_bits_indexed_capabilities
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::output_surface_query_put_bits_indexed_capabilities
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_output_surface_query_put_bits_indexed_capabilities(\n
      \   const vdp_t *vdp, VdpDevice device, VdpRGBAFormat fmt,\n    VdpIndexedFormat
      idxfmt, VdpColorTableFormat colfmt, VdpBool *ok)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:247,1
    - Dst: vdp_t*::vt::output_surface_query_put_bits_y_cb_cr_capabilities
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - vdp
    - device
    - fmt
    - yccfmt
    - ok
    argTypes:
    - vdp_t*
    - VdpDevice
    - VdpRGBAFormat
    - VdpYCbCrFormat
    - VdpBool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 250
    functionName: vdp_output_surface_query_put_bits_y_cb_cr_capabilities
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::output_surface_query_put_bits_y_cb_cr_capabilities
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_output_surface_query_put_bits_y_cb_cr_capabilities(\n
      \   const vdp_t *vdp, VdpDevice device,\n    VdpRGBAFormat fmt, VdpYCbCrFormat
      yccfmt, VdpBool *ok)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:255,1
    - Dst: vdp_t*::vt::output_surface_create
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - vdp
    - device
    - fmt
    - w
    - h
    - surface
    argTypes:
    - vdp_t*
    - VdpDevice
    - VdpRGBAFormat
    - uint32_t
    - uint32_t
    - VdpOutputSurface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: vdp_output_surface_create
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 3
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::output_surface_create
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_output_surface_create(const vdp_t *vdp, VdpDevice device,\n
      \   VdpRGBAFormat fmt, uint32_t w, uint32_t h, VdpOutputSurface *surface)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:262,1
    - Dst: vdp_t*::vt::output_surface_destroy
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vdp
    - surface
    argTypes:
    - vdp_t*
    - VdpOutputSurface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 264
    functionName: vdp_output_surface_destroy
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 3
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::output_surface_destroy
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_output_surface_destroy(const vdp_t *vdp,\n                                     VdpOutputSurface
      surface)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:269,1
    - Dst: vdp_t*::vt::output_surface_get_parameters
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - vdp
    - surface
    - fmt
    - w
    - h
    argTypes:
    - vdp_t*
    - VdpOutputSurface
    - VdpRGBAFormat*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: vdp_output_surface_get_parameters
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 1
    functionsReached:
    - vdp_t*::vt::output_surface_get_parameters
    - CHECK_FUNC
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_output_surface_get_parameters(const vdp_t *vdp,\n    VdpOutputSurface
      surface, VdpRGBAFormat *fmt, uint32_t *w, uint32_t *h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:277,1
    - Dst: vdp_t*::vt::output_surface_get_bits_native
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - vdp
    - surface
    - src
    - data
    - pitches
    argTypes:
    - vdp_t*
    - VdpOutputSurface
    - VdpRect*
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 279
    functionName: vdp_output_surface_get_bits_native
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - vdp_t*::vt::output_surface_get_bits_native
    - CHECK_FUNC
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_output_surface_get_bits_native(const vdp_t *vdp,\n    VdpOutputSurface
      surface, const VdpRect *src,\n    void *const *data, uint32_t const *pitches)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:285,1
    - Dst: vdp_t*::vt::output_surface_put_bits_native
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - vdp
    - surface
    - data
    - pitches
    - dst
    argTypes:
    - vdp_t*
    - VdpOutputSurface
    - void**
    - uint32_t*
    - VdpRect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 287
    functionName: vdp_output_surface_put_bits_native
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::output_surface_put_bits_native
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_output_surface_put_bits_native(const vdp_t *vdp,\n    VdpOutputSurface
      surface, const void *const *data, uint32_t const *pitches,\n    const VdpRect
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:294,1
    - Dst: vdp_t*::vt::output_surface_put_bits_indexed
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - vdp
    - surface
    - fmt
    - data
    - pitch
    - dst
    - tabfmt
    - tab
    argTypes:
    - vdp_t*
    - VdpOutputSurface
    - VdpIndexedFormat
    - void**
    - uint32_t*
    - VdpRect*
    - VdpColorTableFormat
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 297
    functionName: vdp_output_surface_put_bits_indexed
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::output_surface_put_bits_indexed
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_output_surface_put_bits_indexed(const vdp_t *vdp,\n
      \   VdpOutputSurface surface, VdpIndexedFormat fmt, const void *const *data,\n
      \   const uint32_t *pitch, const VdpRect *dst,\n    VdpColorTableFormat tabfmt,
      const void *tab)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:303,1
    - Dst: vdp_t*::vt::output_surface_put_bits_y_cb_cr
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - vdp
    - surface
    - fmt
    - data
    - pitches
    - dst
    - mtx
    argTypes:
    - vdp_t*
    - VdpOutputSurface
    - VdpYCbCrFormat
    - void**
    - uint32_t*
    - VdpRect*
    - VdpCSCMatrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 306
    functionName: vdp_output_surface_put_bits_y_cb_cr
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::output_surface_put_bits_y_cb_cr
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_output_surface_put_bits_y_cb_cr(const vdp_t *vdp,\n
      \   VdpOutputSurface surface, VdpYCbCrFormat fmt, const void *const *data,\n
      \   const uint32_t *pitches, const VdpRect *dst, const VdpCSCMatrix *mtx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:312,1
    - Dst: vdp_t*::vt::bitmap_surface_query_capabilities
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - vdp
    - device
    - fmt
    - ok
    - w
    - h
    argTypes:
    - vdp_t*
    - VdpDevice
    - VdpRGBAFormat
    - VdpBool*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 314
    functionName: vdp_bitmap_surface_query_capabilities
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::bitmap_surface_query_capabilities
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_bitmap_surface_query_capabilities(const vdp_t *vdp,\n
      \   VdpDevice device, VdpRGBAFormat fmt, VdpBool *ok, uint32_t *w, uint32_t
      *h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:320,1
    - Dst: vdp_t*::vt::bitmap_surface_create
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - vdp
    - device
    - fmt
    - w
    - h
    - fq
    - surface
    argTypes:
    - vdp_t*
    - VdpDevice
    - VdpRGBAFormat
    - uint32_t
    - uint32_t
    - VdpBool
    - VdpBitmapSurface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 322
    functionName: vdp_bitmap_surface_create
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - vdp_t*::vt::bitmap_surface_create
    - CHECK_FUNC
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_bitmap_surface_create(const vdp_t *vdp, VdpDevice device,\n
      \   VdpRGBAFormat fmt, uint32_t w, uint32_t h, VdpBool fq,\n    VdpBitmapSurface
      *surface)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:327,1
    - Dst: vdp_t*::vt::bitmap_surface_destroy
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vdp
    - surface
    argTypes:
    - vdp_t*
    - VdpBitmapSurface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 329
    functionName: vdp_bitmap_surface_destroy
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::bitmap_surface_destroy
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_bitmap_surface_destroy(const vdp_t *vdp,\n                                     VdpBitmapSurface
      surface)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:335,1
    - Dst: vdp_t*::vt::bitmap_surface_get_parameters
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - vdp
    - surface
    - fmt
    - w
    - h
    - fq
    argTypes:
    - vdp_t*
    - VdpBitmapSurface
    - VdpRGBAFormat*
    - uint32_t*
    - uint32_t*
    - VdpBool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 337
    functionName: vdp_bitmap_surface_get_parameters
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::bitmap_surface_get_parameters
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_bitmap_surface_get_parameters(const vdp_t *vdp,\n    VdpBitmapSurface
      surface, VdpRGBAFormat *fmt, uint32_t *w, uint32_t *h,\n    VdpBool *fq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:343,1
    - Dst: vdp_t*::vt::bitmap_surface_put_bits_native
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - vdp
    - surface
    - data
    - pitch
    - rect
    argTypes:
    - vdp_t*
    - VdpBitmapSurface
    - void**
    - uint32_t*
    - VdpRect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 345
    functionName: vdp_bitmap_surface_put_bits_native
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - vdp_t*::vt::bitmap_surface_put_bits_native
    - CHECK_FUNC
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_bitmap_surface_put_bits_native(const vdp_t *vdp,\n    VdpBitmapSurface
      surface, const void *const *data, const uint32_t *pitch,\n    const VdpRect
      *rect)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:353,1
    - Dst: vdp_t*::vt::output_surface_render_output_surface
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - vdp
    - dst_surface
    - dst_rect
    - src_surface
    - src_rect
    - colors
    - state
    - flags
    argTypes:
    - vdp_t*
    - VdpOutputSurface
    - VdpRect*
    - VdpOutputSurface
    - VdpRect*
    - VdpColor*
    - VdpOutputSurfaceRenderBlendState*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 356
    functionName: vdp_output_surface_render_output_surface
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 1
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::output_surface_render_output_surface
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_output_surface_render_output_surface(const vdp_t *vdp,\n
      \   VdpOutputSurface dst_surface, const VdpRect *dst_rect,\n    VdpOutputSurface
      src_surface, const VdpRect *src_rect,\n    const VdpColor *colors,\n    const
      VdpOutputSurfaceRenderBlendState *const state, uint32_t flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:364,1
    - Dst: vdp_t*::vt::output_surface_render_bitmap_surface
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - vdp
    - dst_surface
    - dst_rect
    - src_surface
    - src_rect
    - colors
    - state
    - flags
    argTypes:
    - vdp_t*
    - VdpOutputSurface
    - VdpRect*
    - VdpBitmapSurface
    - VdpRect*
    - VdpColor*
    - VdpOutputSurfaceRenderBlendState*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 367
    functionName: vdp_output_surface_render_bitmap_surface
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::output_surface_render_bitmap_surface
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_output_surface_render_bitmap_surface(const vdp_t *vdp,\n
      \   VdpOutputSurface dst_surface, const VdpRect *dst_rect,\n    VdpBitmapSurface
      src_surface, const VdpRect *src_rect,\n    const VdpColor *colors,\n    const
      VdpOutputSurfaceRenderBlendState *state, uint32_t flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:374,1
    - Dst: vdp_t*::vt::decoder_query_capabilities
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - vdp
    - device
    - profile
    - ok
    - l
    - m
    - w
    - h
    argTypes:
    - vdp_t*
    - VdpDevice
    - VdpDecoderProfile
    - VdpBool*
    - uint32_t*
    - uint32_t*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 376
    functionName: vdp_decoder_query_capabilities
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::decoder_query_capabilities
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_decoder_query_capabilities(const vdp_t *vdp, VdpDevice
      device,\n    VdpDecoderProfile profile, VdpBool *ok, uint32_t *l, uint32_t *m,\n
      \   uint32_t *w, uint32_t *h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:382,1
    - Dst: vdp_t*::vt::decoder_create
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - vdp
    - device
    - profile
    - w
    - h
    - refs
    - decoder
    argTypes:
    - vdp_t*
    - VdpDevice
    - VdpDecoderProfile
    - uint32_t
    - uint32_t
    - uint32_t
    - VdpDecoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 384
    functionName: vdp_decoder_create
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::decoder_create
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_decoder_create(const vdp_t *vdp, VdpDevice device,\n
      \   VdpDecoderProfile profile, uint32_t w, uint32_t h, uint32_t refs,\n    VdpDecoder
      *decoder)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:388,1
    - Dst: vdp_t*::vt::decoder_destroy
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vdp
    - decoder
    argTypes:
    - vdp_t*
    - VdpDecoder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 390
    functionName: vdp_decoder_destroy
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - vdp_t*::vt::decoder_destroy
    - CHECK_FUNC
    linkageType: ''
    returnType: VdpStatus
    signature: VdpStatus vdp_decoder_destroy(const vdp_t *vdp, VdpDecoder decoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:395,1
    - Dst: vdp_t*::vt::decoder_get_parameters
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - vdp
    - decoder
    - profile
    - w
    - h
    argTypes:
    - vdp_t*
    - VdpDecoder
    - VdpDecoderProfile*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 397
    functionName: vdp_decoder_get_parameters
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - vdp_t*::vt::decoder_get_parameters
    - CHECK_FUNC
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_decoder_get_parameters(const vdp_t *vdp, VdpDecoder
      decoder,\n    VdpDecoderProfile *profile, uint32_t *w, uint32_t *h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:403,1
    - Dst: vdp_t*::vt::decoder_render
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - vdp
    - decoder
    - target
    - info
    - bufv
    - bufc
    argTypes:
    - vdp_t*
    - VdpDecoder
    - VdpVideoSurface
    - VdpPictureInfo*
    - uint32_t
    - VdpBitstreamBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 405
    functionName: vdp_decoder_render
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::decoder_render
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_decoder_render(const vdp_t *vdp, VdpDecoder decoder,\n
      \   VdpVideoSurface target, const VdpPictureInfo *info,\n    uint32_t bufv,
      const VdpBitstreamBuffer *bufc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:411,1
    - Dst: vdp_t*::vt::video_mixer_query_feature_support
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - vdp
    - device
    - feature
    - ok
    argTypes:
    - vdp_t*
    - VdpDevice
    - VdpVideoMixerFeature
    - VdpBool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 413
    functionName: vdp_video_mixer_query_feature_support
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 2
    functionsReached:
    - vdp_t*::vt::video_mixer_query_feature_support
    - CHECK_FUNC
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_video_mixer_query_feature_support(const vdp_t *vdp,\n
      \   VdpDevice device, VdpVideoMixerFeature feature, VdpBool *ok)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:418,1
    - Dst: vdp_t*::vt::video_mixer_query_parameter_support
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - vdp
    - device
    - parameter
    - ok
    argTypes:
    - vdp_t*
    - VdpDevice
    - VdpVideoMixerParameter
    - VdpBool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 420
    functionName: vdp_video_mixer_query_parameter_support
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::video_mixer_query_parameter_support
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_video_mixer_query_parameter_support(const vdp_t *vdp,\n
      \   VdpDevice device, VdpVideoMixerParameter parameter, VdpBool *ok)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:425,1
    - Dst: vdp_t*::vt::video_mixer_query_attribute_support
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - vdp
    - device
    - attribute
    - ok
    argTypes:
    - vdp_t*
    - VdpDevice
    - VdpVideoMixerAttribute
    - VdpBool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 427
    functionName: vdp_video_mixer_query_attribute_support
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::video_mixer_query_attribute_support
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_video_mixer_query_attribute_support(const vdp_t *vdp,\n
      \   VdpDevice device, VdpVideoMixerAttribute attribute, VdpBool *ok)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:432,1
    - Dst: vdp_t*::vt::video_mixer_query_parameter_value_range
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - vdp
    - device
    - parameter
    - min
    - max
    argTypes:
    - vdp_t*
    - VdpDevice
    - VdpVideoMixerParameter
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 435
    functionName: vdp_video_mixer_query_parameter_value_range
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::video_mixer_query_parameter_value_range
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_video_mixer_query_parameter_value_range(const vdp_t
      *vdp,\n    VdpDevice device, VdpVideoMixerParameter parameter, void *min, void
      *max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:440,1
    - Dst: vdp_t*::vt::video_mixer_query_attribute_value_range
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - vdp
    - device
    - attribute
    - min
    - max
    argTypes:
    - vdp_t*
    - VdpDevice
    - VdpVideoMixerAttribute
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 443
    functionName: vdp_video_mixer_query_attribute_value_range
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - vdp_t*::vt::video_mixer_query_attribute_value_range
    - CHECK_FUNC
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_video_mixer_query_attribute_value_range(const vdp_t
      *vdp,\n    VdpDevice device, VdpVideoMixerAttribute attribute, void *min, void
      *max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:450,1
    - Dst: vdp_t*::vt::video_mixer_create
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - vdp
    - device
    - featc
    - featv
    - parmc
    - parmv
    - parmvalv
    - mixer
    argTypes:
    - vdp_t*
    - VdpDevice
    - uint32_t
    - VdpVideoMixerFeature*
    - uint32_t
    - VdpVideoMixerParameter*
    - void**
    - VdpVideoMixer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 453
    functionName: vdp_video_mixer_create
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 1
    functionsReached:
    - vdp_t*::vt::video_mixer_create
    - CHECK_FUNC
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_video_mixer_create(const vdp_t *vdp, VdpDevice device,\n
      \   uint32_t featc, const VdpVideoMixerFeature *featv,\n    uint32_t parmc,
      const VdpVideoMixerParameter *parmv,\n    const void *const *parmvalv, VdpVideoMixer
      *mixer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:459,1
    - Dst: vdp_t*::vt::video_mixer_set_feature_enables
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - vdp
    - mixer
    - count
    - ids
    - values
    argTypes:
    - vdp_t*
    - VdpVideoMixer
    - uint32_t
    - VdpVideoMixerFeature*
    - VdpBool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 461
    functionName: vdp_video_mixer_set_feature_enables
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 2
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::video_mixer_set_feature_enables
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_video_mixer_set_feature_enables(const vdp_t *vdp,\n
      \   VdpVideoMixer mixer, uint32_t count, const VdpVideoMixerFeature *ids,\n
      \   const VdpBool *values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:467,1
    - Dst: vdp_t*::vt::video_mixer_set_attribute_values
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - vdp
    - mixer
    - count
    - ids
    - values
    argTypes:
    - vdp_t*
    - VdpVideoMixer
    - uint32_t
    - VdpVideoMixerAttribute*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 469
    functionName: vdp_video_mixer_set_attribute_values
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 2
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::video_mixer_set_attribute_values
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_video_mixer_set_attribute_values(const vdp_t *vdp,\n
      \   VdpVideoMixer mixer, uint32_t count,\n    const VdpVideoMixerAttribute *const
      ids, const void *const *values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:475,1
    - Dst: vdp_t*::vt::video_mixer_get_feature_support
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - vdp
    - mixer
    - count
    - ids
    - values
    argTypes:
    - vdp_t*
    - VdpVideoMixer
    - uint32_t
    - VdpVideoMixerFeature*
    - VdpBool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 477
    functionName: vdp_video_mixer_get_feature_support
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::video_mixer_get_feature_support
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_video_mixer_get_feature_support(const vdp_t *vdp,\n
      \   VdpVideoMixer mixer, uint32_t count, const VdpVideoMixerFeature *ids,\n
      \   VdpBool *values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:483,1
    - Dst: vdp_t*::vt::video_mixer_get_feature_enables
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - vdp
    - mixer
    - count
    - ids
    - values
    argTypes:
    - vdp_t*
    - VdpVideoMixer
    - uint32_t
    - VdpVideoMixerFeature*
    - VdpBool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 485
    functionName: vdp_video_mixer_get_feature_enables
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::video_mixer_get_feature_enables
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_video_mixer_get_feature_enables(const vdp_t *vdp,\n
      \   VdpVideoMixer mixer, uint32_t count, const VdpVideoMixerFeature *ids,\n
      \   VdpBool *values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:491,1
    - Dst: vdp_t*::vt::video_mixer_get_parameter_values
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - vdp
    - mixer
    - count
    - ids
    - values
    argTypes:
    - vdp_t*
    - VdpVideoMixer
    - uint32_t
    - VdpVideoMixerParameter*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 493
    functionName: vdp_video_mixer_get_parameter_values
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::video_mixer_get_parameter_values
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_video_mixer_get_parameter_values(const vdp_t *vdp,\n
      \   VdpVideoMixer mixer, uint32_t count, const VdpVideoMixerParameter *ids,\n
      \   void *const *values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:499,1
    - Dst: vdp_t*::vt::video_mixer_get_attribute_values
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - vdp
    - mixer
    - count
    - ids
    - values
    argTypes:
    - vdp_t*
    - VdpVideoMixer
    - uint32_t
    - VdpVideoMixerAttribute*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 501
    functionName: vdp_video_mixer_get_attribute_values
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::video_mixer_get_attribute_values
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_video_mixer_get_attribute_values(const vdp_t *vdp,\n
      \   VdpVideoMixer mixer, uint32_t count, const VdpVideoMixerAttribute *ids,\n
      \   void *const *values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:505,1
    - Dst: vdp_t*::vt::video_mixer_destroy
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vdp
    - mixer
    argTypes:
    - vdp_t*
    - VdpVideoMixer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 507
    functionName: vdp_video_mixer_destroy
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 1
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::video_mixer_destroy
    linkageType: ''
    returnType: VdpStatus
    signature: VdpStatus vdp_video_mixer_destroy(const vdp_t *vdp, VdpVideoMixer mixer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:517,1
    - Dst: vdp_t*::vt::video_mixer_render
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 16
    argNames:
    - vdp
    - mixer
    - bgsurface
    - bgrect
    - pic_struct
    - prev_count
    - prev
    - cur
    - next_count
    - next
    - src_rect
    - dst
    - dst_rect
    - dst_v_rect
    - layerc
    - layerv
    argTypes:
    - vdp_t*
    - VdpVideoMixer
    - VdpOutputSurface
    - VdpRect*
    - VdpVideoMixerPictureStructure
    - uint32_t
    - VdpVideoSurface*
    - VdpVideoSurface
    - uint32_t
    - VdpVideoSurface*
    - VdpRect*
    - VdpOutputSurface
    - VdpRect*
    - VdpRect*
    - uint32_t
    - VdpLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 521
    functionName: vdp_video_mixer_render
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 1
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::video_mixer_render
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_video_mixer_render(const vdp_t *vdp, VdpVideoMixer mixer,\n
      \   VdpOutputSurface bgsurface, const VdpRect *bgrect,\n    VdpVideoMixerPictureStructure
      pic_struct, uint32_t prev_count,\n    const VdpVideoSurface *prev, VdpVideoSurface
      cur, uint32_t next_count,\n    const VdpVideoSurface *next, const VdpRect *src_rect,\n
      \   VdpOutputSurface dst, const VdpRect *dst_rect, const VdpRect *dst_v_rect,\n
      \   uint32_t layerc, const VdpLayer *layerv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:527,1
    - Dst: vdp_t*::vt::presentation_queue_target_destroy
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vdp
    - target
    argTypes:
    - vdp_t*
    - VdpPresentationQueueTarget
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 529
    functionName: vdp_presentation_queue_target_destroy
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::presentation_queue_target_destroy
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_presentation_queue_target_destroy(const vdp_t *vdp,\n
      \   VdpPresentationQueueTarget target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:534,1
    - Dst: vdp_t*::vt::presentation_queue_create
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - vdp
    - device
    - target
    - queue
    argTypes:
    - vdp_t*
    - VdpDevice
    - VdpPresentationQueueTarget
    - VdpPresentationQueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 536
    functionName: vdp_presentation_queue_create
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::presentation_queue_create
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_presentation_queue_create(const vdp_t *vdp, VdpDevice
      device,\n    VdpPresentationQueueTarget target, VdpPresentationQueue *queue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:541,1
    - Dst: vdp_t*::vt::presentation_queue_destroy
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vdp
    - queue
    argTypes:
    - vdp_t*
    - VdpPresentationQueue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 543
    functionName: vdp_presentation_queue_destroy
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::presentation_queue_destroy
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_presentation_queue_destroy(const vdp_t *vdp,\n    VdpPresentationQueue
      queue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:549,1
    - Dst: vdp_t*::vt::presentation_queue_set_background_color
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - vdp
    - queue
    - color
    argTypes:
    - vdp_t*
    - VdpPresentationQueue
    - VdpColor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 551
    functionName: vdp_presentation_queue_set_background_color
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - vdp_t*::vt::presentation_queue_set_background_color
    - CHECK_FUNC
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_presentation_queue_set_background_color(const vdp_t
      *vdp,\n    VdpPresentationQueue queue, const VdpColor *color)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:556,1
    - Dst: vdp_t*::vt::presentation_queue_get_background_color
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - vdp
    - queue
    - color
    argTypes:
    - vdp_t*
    - VdpPresentationQueue
    - VdpColor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 558
    functionName: vdp_presentation_queue_get_background_color
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::presentation_queue_get_background_color
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_presentation_queue_get_background_color(const vdp_t
      *vdp,\n    VdpPresentationQueue queue, VdpColor *color)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:563,1
    - Dst: vdp_t*::vt::presentation_queue_get_time
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - vdp
    - queue
    - current_time
    argTypes:
    - vdp_t*
    - VdpPresentationQueue
    - VdpTime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 565
    functionName: vdp_presentation_queue_get_time
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - vdp_t*::vt::presentation_queue_get_time
    - CHECK_FUNC
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_presentation_queue_get_time(const vdp_t *vdp,\n    VdpPresentationQueue
      queue, VdpTime *current_time)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:571,1
    - Dst: vdp_t*::vt::presentation_queue_display
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - vdp
    - queue
    - surface
    - clip_width
    - clip_height
    - pts
    argTypes:
    - vdp_t*
    - VdpPresentationQueue
    - VdpOutputSurface
    - uint32_t
    - uint32_t
    - VdpTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 574
    functionName: vdp_presentation_queue_display
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::presentation_queue_display
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_presentation_queue_display(const vdp_t *vdp,\n    VdpPresentationQueue
      queue, VdpOutputSurface surface, uint32_t clip_width,\n    uint32_t clip_height,
      VdpTime pts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:579,1
    - Dst: vdp_t*::vt::presentation_queue_block_until_surface_idle
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - vdp
    - queue
    - surface
    - pts
    argTypes:
    - vdp_t*
    - VdpPresentationQueue
    - VdpOutputSurface
    - VdpTime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 582
    functionName: vdp_presentation_queue_block_until_surface_idle
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::presentation_queue_block_until_surface_idle
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_presentation_queue_block_until_surface_idle(const vdp_t
      *vdp,\n    VdpPresentationQueue queue, VdpOutputSurface surface, VdpTime *pts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:588,1
    - Dst: vdp_t*::vt::presentation_queue_query_surface_status
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - vdp
    - queue
    - surface
    - status
    - pts
    argTypes:
    - vdp_t*
    - VdpPresentationQueue
    - VdpOutputSurface
    - VdpPresentationQueueStatus*
    - VdpTime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 591
    functionName: vdp_presentation_queue_query_surface_status
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::presentation_queue_query_surface_status
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_presentation_queue_query_surface_status(const vdp_t
      *vdp,\n    VdpPresentationQueue queue, VdpOutputSurface surface,\n    VdpPresentationQueueStatus
      *status, VdpTime *pts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FUNC
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:597,1
    - Dst: vdp_t*::vt::preemption_callback_register
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - vdp
    - device
    - cb
    - ctx
    argTypes:
    - vdp_t*
    - VdpDevice
    - VdpPreemptionCallback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 599
    functionName: vdp_preemption_callback_register
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - CHECK_FUNC
    - vdp_t*::vt::preemption_callback_register
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_preemption_callback_register(const vdp_t *vdp, VdpDevice
      device,\n    VdpPreemptionCallback cb, void *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vdp_get_proc_address
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:609,1
    - Dst: f
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - vdp
    - device
    - drawable
    - target
    argTypes:
    - vdp_t*
    - VdpDevice
    - uint32_t
    - VdpPresentationQueueTarget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 605
    functionDepth: 2
    functionLinenumber: 605
    functionLinenumberEnd: 616
    functionName: vdp_presentation_queue_target_create_x11
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 0
    functionsReached:
    - f
    - vdp_get_proc_address
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_presentation_queue_target_create_x11(const vdp_t *vdp,\n
      \   VdpDevice device, uint32_t drawable, VdpPresentationQueueTarget *target)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:621,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:622,1
    - Dst: dlopen
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:628,1
    - Dst: free
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:631,1
    - Dst: dlsym
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:635,1
    - Dst: create
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:640,1
    - Dst: gpa
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:645,1
    - Dst: vdp_destroy_x11
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:650,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - dpy
    - snum
    - vdpp
    - devp
    argTypes:
    - void*
    - int
    - vdp_t**
    - VdpDevice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 652
    functionName: vdp_create_x11
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 1
    functionsReached:
    - create
    - gpa
    - dlsym
    - free
    - dlopen
    - unlikely
    - malloc
    - vdp_destroy_x11
    linkageType: ''
    returnType: VdpStatus
    signature: "VdpStatus vdp_create_x11(void *dpy, int snum,\n                         vdp_t
      **restrict vdpp, VdpDevice *restrict devp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dlclose
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:656,1
    - Dst: free
      Src: /src/vlc/modules/hw/vdpau/vlc_vdpau.c:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vdp
    argTypes:
    - vdp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 658
    functionName: vdp_destroy_x11
    functionSourceFile: /src/vlc/modules/hw/vdpau/vlc_vdpau.c
    functionUses: 3
    functionsReached:
    - dlclose
    - free
    linkageType: ''
    returnType: void
    signature: void vdp_destroy_x11(vdp_t *vdp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: D3D11_CreateProcessor
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_processor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D3D11_CreateProcessor(a,b,c,d,e,f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: D3D11_Assert_ProcessorInput
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_processor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D3D11_Assert_ProcessorInput(a,b,c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:101,1
    - Dst: ID3D11VideoContext_VideoProcessorSetStreamFilter
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:105,1
    - Dst: ID3D11VideoContext_VideoProcessorSetStreamAutoProcessingMode
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:111,1
    - Dst: ID3D11VideoContext_VideoProcessorSetStreamSourceRect
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:120,1
    - Dst: ID3D11VideoContext_VideoProcessorSetStreamDestRect
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:122,1
    - Dst: ID3D11VideoContext_VideoProcessorBlt
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:129,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 6
    argNames:
    - p_sys
    - filter
    - p_level
    - input
    - output
    - fmt
    argTypes:
    - filter_sys_t*
    - D3D11_VIDEO_PROCESSOR_FILTER
    - struct filter_level*
    - ID3D11VideoProcessorInputView*
    - ID3D11VideoProcessorOutputView*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 134
    functionName: ApplyFilter
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_filters.c
    functionUses: 0
    functionsReached:
    - ID3D11VideoContext_VideoProcessorBlt
    - atomic_load
    - ID3D11VideoContext_VideoProcessorSetStreamSourceRect
    - ID3D11VideoContext_VideoProcessorSetStreamDestRect
    - SUCCEEDED
    - ID3D11VideoContext_VideoProcessorSetStreamAutoProcessingMode
    - ID3D11VideoContext_VideoProcessorSetStreamFilter
    linkageType: ''
    returnType: bool
    signature: "bool ApplyFilter( filter_sys_t *p_sys,\n                         D3D11_VIDEO_PROCESSOR_FILTER
      filter,\n                         struct filter_level *p_level,\n                         ID3D11VideoProcessorInputView
      *input,\n                         ID3D11VideoProcessorOutputView *output,\n
      \                        const video_format_t *fmt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - range
    - val
    argTypes:
    - struct filter_level*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 149
    functionName: SetLevel
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_filters.c
    functionUses: 1
    functionsReached:
    - atomic_store
    linkageType: ''
    returnType: void
    signature: void SetLevel(struct filter_level *range, float val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: config_FindConfig
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:155,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:156,1
    - Dst: var_CreateGetFloatCommand
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:168,1
    - Dst: atomic_init
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - filter
    - range
    - p_name
    - def
    argTypes:
    - filter_t*
    - struct filter_level*
    - char*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 179
    functionName: InitLevel
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_filters.c
    functionUses: 1
    functionsReached:
    - atomic_init
    - var_CreateGetFloatCommand
    - unlikely
    - config_FindConfig
    linkageType: ''
    returnType: void
    signature: void InitLevel(filter_t *filter, struct filter_level *range, const
      char *p_name, float def)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetD3D11ContextPrivate
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:183,1
    - Dst: D3D11_RenderFormat
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:185,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:186,1
    - Dst: D3D11_AllocPicture
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:189,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 181
    functionDepth: 4
    functionLinenumber: 181
    functionLinenumberEnd: 192
    functionName: AllocPicture
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_filters.c
    functionUses: 4
    functionsReached:
    - D3D11_RenderFormat
    - GetD3D11ContextPrivate
    - VLC_OBJECT
    - D3D11_AllocPicture
    - unlikely
    linkageType: ''
    returnType: picture_t
    signature: picture_t *AllocPicture( filter_t *p_filter )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ActiveD3D11PictureSys
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:198,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:199,1
    - Dst: D3D11_Assert_ProcessorInput
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:199,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:201,1
    - Dst: AllocPicture
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:205,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:208,1
    - Dst: ActiveD3D11PictureSys
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:211,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:212,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:216,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:217,1
    - Dst: picture_CopyProperties
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:221,1
    - Dst: d3d11_device_lock
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:237,1
    - Dst: ApplyFilter
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:241,1
    - Dst: ApplyFilter
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:249,1
    - Dst: ApplyFilter
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:257,1
    - Dst: ApplyFilter
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:265,1
    - Dst: ID3D11DeviceContext_CopySubresourceRegion
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:275,1
    - Dst: ID3D11DeviceContext_CopySubresourceRegion
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:285,1
    - Dst: d3d11_device_unlock
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:294,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:296,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 2
    argNames:
    - p_filter
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 298
    functionName: Filter
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_filters.c
    functionUses: 51
    functionsReached:
    - d3d11_device_lock
    - ActiveD3D11PictureSys
    - FAILED
    - unlikely
    - picture_CopyProperties
    - d3d11_device_unlock
    - picture_Release
    - D3D11_Assert_ProcessorInput
    - AllocPicture
    - ID3D11DeviceContext_CopySubresourceRegion
    - ApplyFilter
    linkageType: ''
    returnType: picture_t
    signature: picture_t *Filter(filter_t *p_filter, picture_t *p_pic)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:304,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:304,1
    - Dst: strcmp
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:307,1
    - Dst: SetLevel
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:308,1
    - Dst: strcmp
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:309,1
    - Dst: SetLevel
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:310,1
    - Dst: strcmp
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:311,1
    - Dst: SetLevel
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:312,1
    - Dst: strcmp
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:313,1
    - Dst: SetLevel
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - p_this
    - psz_var
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 317
    functionName: AdjustCallback
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_filters.c
    functionUses: 0
    functionsReached:
    - SetLevel
    - strcmp
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int AdjustCallback( vlc_object_t *p_this, char const *psz_var,\n                           vlc_value_t
      oldval, vlc_value_t newval,\n                           void *p_data )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: var_DelCallback
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:323,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:324,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:325,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:326,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:327,1
    - Dst: ID3D11VideoProcessorInputView_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:332,1
    - Dst: ID3D11VideoProcessorOutputView_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:334,1
    - Dst: ID3D11Texture2D_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:336,1
    - Dst: ID3D11Texture2D_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:337,1
    - Dst: D3D11_ReleaseProcessor
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:338,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:339,1
    - Dst: free
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 342
    functionName: D3D11CloseAdjust
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_filters.c
    functionUses: 0
    functionsReached:
    - vlc_video_context_Release
    - ID3D11VideoProcessorInputView_Release
    - var_DelCallback
    - free
    - ID3D11VideoProcessorOutputView_Release
    - D3D11_ReleaseProcessor
    - ID3D11Texture2D_Release
    linkageType: ''
    returnType: void
    signature: void D3D11CloseAdjust(filter_t *filter)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: is_d3d11_opaque
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:352,1
    - Dst: GetD3D11ContextPrivate
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:354,1
    - Dst: video_format_IsSimilar
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:356,1
    - Dst: malloc
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:359,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:360,1
    - Dst: memset
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:362,1
    - Dst: GetD3D11ContextPrivate
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:364,1
    - Dst: GetD3D11OpaqueContext
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:365,1
    - Dst: d3d11_device_lock
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:369,1
    - Dst: D3D11_CreateProcessor
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:371,1
    - Dst: ID3D11VideoProcessorEnumerator_CheckVideoProcessorFormat
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:376,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:377,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:379,1
    - Dst: DxgiFormatToStr
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:379,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:385,1
    - Dst: DxgiFormatToStr
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:385,1
    - Dst: ID3D11VideoProcessorEnumerator_GetVideoProcessorCaps
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:390,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:391,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:400,1
    - Dst: ID3D11VideoProcessorEnumerator_GetVideoProcessorFilterRange
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:404,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:407,1
    - Dst: ID3D11VideoProcessorEnumerator_GetVideoProcessorFilterRange
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:410,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:413,1
    - Dst: ID3D11VideoProcessorEnumerator_GetVideoProcessorFilterRange
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:416,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:419,1
    - Dst: ID3D11VideoProcessorEnumerator_GetVideoProcessorFilterRange
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:422,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:425,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:430,1
    - Dst: InitLevel
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:432,1
    - Dst: InitLevel
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:433,1
    - Dst: InitLevel
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:434,1
    - Dst: InitLevel
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:435,1
    - Dst: var_CreateGetFloatCommand
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:436,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:438,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:439,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:440,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:441,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:442,1
    - Dst: ID3D11VideoDevice_CreateVideoProcessor
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:444,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:447,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:449,1
    - Dst: ZeroMemory
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:454,1
    - Dst: ID3D11Device_CreateTexture2D
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:467,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:468,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:469,1
    - Dst: ID3D11Device_CreateTexture2D
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:472,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:473,1
    - Dst: ID3D11Texture2D_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:474,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:476,1
    - Dst: ID3D11VideoDevice_CreateVideoProcessorOutputView
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:492,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:497,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:499,1
    - Dst: ID3D11VideoDevice_CreateVideoProcessorInputView
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:503,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:509,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:511,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:518,1
    - Dst: d3d11_device_unlock
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:519,1
    - Dst: ID3D11VideoProcessorInputView_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:526,1
    - Dst: ID3D11VideoProcessorOutputView_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:528,1
    - Dst: ID3D11Texture2D_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:532,1
    - Dst: ID3D11Texture2D_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:534,1
    - Dst: D3D11_ReleaseProcessor
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:535,1
    - Dst: d3d11_device_unlock
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:536,1
    - Dst: free
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:537,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 129
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 540
    functionName: D3D11OpenAdjust
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_filters.c
    functionUses: 0
    functionsReached:
    - ID3D11VideoProcessorInputView_Release
    - is_d3d11_opaque
    - SUCCEEDED
    - ID3D11VideoProcessorOutputView_Release
    - ID3D11VideoDevice_CreateVideoProcessorOutputView
    - ZeroMemory
    - ID3D11Texture2D_Release
    - ID3D11VideoDevice_CreateVideoProcessor
    - D3D11_CreateProcessor
    - var_AddCallback
    - ID3D11Device_CreateTexture2D
    - vlc_video_context_Hold
    - msg_Err
    - InitLevel
    - msg_Dbg
    - ID3D11VideoProcessorEnumerator_GetVideoProcessorFilterRange
    - d3d11_device_unlock
    - D3D11_ReleaseProcessor
    - GetD3D11OpaqueContext
    - ID3D11VideoProcessorEnumerator_CheckVideoProcessorFormat
    - DxgiFormatToStr
    - memset
    - var_CreateGetFloatCommand
    - FAILED
    - ID3D11VideoProcessorEnumerator_GetVideoProcessorCaps
    - config_ChainParse
    - ID3D11VideoDevice_CreateVideoProcessorInputView
    - free
    - GetD3D11ContextPrivate
    - video_format_IsSimilar
    - d3d11_device_lock
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int D3D11OpenAdjust(filter_t *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_chroma_conv_add_in_outlist
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:546,1
    - Dst: vlc_chroma_conv_add_in_outlist
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:548,1
    - Dst: vlc_chroma_conv_add_in_outlist
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:550,1
    - Dst: vlc_chroma_conv_add_in_outlist
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:552,1
    - Dst: vlc_chroma_conv_add_in_outlist
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:555,1
    - Dst: vlc_chroma_conv_add_in_outlist
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:556,1
    - Dst: vlc_chroma_conv_add_in_outlist
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:557,1
    - Dst: vlc_chroma_conv_add_in_outlist
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:558,1
    - Dst: vlc_chroma_conv_add_in_outlist
      Src: /src/vlc/modules/hw/d3d11/d3d11_filters.c:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - vec
    argTypes:
    - vlc_chroma_conv_vec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 560
    functionName: ProbeChroma
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_filters.c
    functionUses: 0
    functionsReached:
    - vlc_chroma_conv_add_in_outlist
    linkageType: ''
    returnType: void
    signature: void ProbeChroma(vlc_chroma_conv_vec *vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FlushDeinterlacing
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: Flush
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c
    functionUses: 70
    functionsReached:
    - FlushDeinterlacing
    linkageType: ''
    returnType: void
    signature: void Flush(filter_t *filter)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:79,1
    - Dst: ActiveD3D11PictureSys
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:82,1
    - Dst: ID3D11VideoContext_VideoProcessorSetStreamFrameFormat
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:93,1
    - Dst: ID3D11VideoContext_VideoProcessorSetStreamAutoProcessingMode
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:94,1
    - Dst: ActiveD3D11PictureSys
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:102,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:103,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:103,1
    - Dst: D3D11_Assert_ProcessorInput
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:103,1
    - Dst: ActiveD3D11PictureSys
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:106,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:107,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:107,1
    - Dst: D3D11_Assert_ProcessorInput
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:107,1
    - Dst: ActiveD3D11PictureSys
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:112,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:113,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:113,1
    - Dst: D3D11_Assert_ProcessorInput
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:113,1
    - Dst: ActiveD3D11PictureSys
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:133,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:134,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:134,1
    - Dst: D3D11_Assert_ProcessorInput
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:134,1
    - Dst: ID3D11VideoContext_VideoProcessorSetStreamSourceRect
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:146,1
    - Dst: ID3D11VideoContext_VideoProcessorSetStreamDestRect
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:148,1
    - Dst: ID3D11VideoContext_VideoProcessorBlt
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:151,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:154,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 5
    argNames:
    - p_filter
    - p_outpic
    - p_pic
    - order
    - i_field
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 158
    functionName: RenderPic
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c
    functionUses: 1
    functionsReached:
    - ID3D11VideoContext_VideoProcessorSetStreamFrameFormat
    - ID3D11VideoContext_VideoProcessorBlt
    - ActiveD3D11PictureSys
    - FAILED
    - ID3D11VideoContext_VideoProcessorSetStreamSourceRect
    - D3D11_Assert_ProcessorInput
    - ID3D11VideoContext_VideoProcessorSetStreamDestRect
    - ID3D11VideoContext_VideoProcessorSetStreamAutoProcessingMode
    - unlikely
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int RenderPic( filter_t *p_filter, picture_t *p_outpic, picture_t
      *p_pic,\n                      int order, int i_field )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RenderPic
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_filter
    - p_outpic
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: RenderSinglePic
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c
    functionUses: 0
    functionsReached:
    - RenderPic
    linkageType: ''
    returnType: int
    signature: int RenderSinglePic( filter_t *p_filter, picture_t *p_outpic, picture_t
      *p_pic )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d3d11_device_lock
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:169,1
    - Dst: DoDeinterlacing
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:171,1
    - Dst: d3d11_device_unlock
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_filter
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: Deinterlace
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c
    functionUses: 1
    functionsReached:
    - d3d11_device_lock
    - DoDeinterlacing
    - d3d11_device_unlock
    linkageType: ''
    returnType: picture_t
    signature: picture_t *Deinterlace(filter_t *p_filter, picture_t *p_pic)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:180,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:183,1
    - Dst: strcmp
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - mode
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 189
    functionName: GetFilterMode
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c
    functionUses: 1
    functionsReached:
    - strcmp
    - ARRAY_SIZE
    linkageType: ''
    returnType: struct filter_mode_t
    signature: struct filter_mode_t *GetFilterMode(const char *mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: D3D11_AllocPicture
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:195,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:195,1
    - Dst: ActiveD3D11PictureSys
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:200,1
    - Dst: ID3D11VideoDevice_CreateVideoProcessorOutputView
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:207,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:212,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:214,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 191
    functionDepth: 4
    functionLinenumber: 191
    functionLinenumberEnd: 220
    functionName: AllocPicture
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c
    functionUses: 6
    functionsReached:
    - ActiveD3D11PictureSys
    - FAILED
    - picture_Release
    - msg_Dbg
    - VLC_OBJECT
    - D3D11_AllocPicture
    - ID3D11VideoDevice_CreateVideoProcessorOutputView
    linkageType: ''
    returnType: picture_t
    signature: picture_t *AllocPicture( filter_t *p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:225,1
    - Dst: D3D11_ReleaseProcessor
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:226,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:227,1
    - Dst: free
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 230
    functionName: D3D11CloseDeinterlace
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c
    functionUses: 0
    functionsReached:
    - free
    - Flush
    - D3D11_ReleaseProcessor
    - vlc_video_context_Release
    linkageType: ''
    returnType: void
    signature: void D3D11CloseDeinterlace(filter_t *filter)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: is_d3d11_opaque
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:240,1
    - Dst: GetD3D11ContextPrivate
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:242,1
    - Dst: video_format_IsSimilar
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:244,1
    - Dst: GetD3D11ContextPrivate
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:247,1
    - Dst: malloc
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:249,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:250,1
    - Dst: memset
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:252,1
    - Dst: GetD3D11OpaqueContext
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:254,1
    - Dst: D3D11_RenderFormat
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:257,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:258,1
    - Dst: d3d11_device_lock
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:261,1
    - Dst: D3D11_CreateProcessor
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:263,1
    - Dst: ID3D11VideoProcessorEnumerator_CheckVideoProcessorFormat
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:268,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:269,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:271,1
    - Dst: DxgiFormatToStr
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:271,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:277,1
    - Dst: DxgiFormatToStr
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:277,1
    - Dst: ID3D11VideoProcessorEnumerator_GetVideoProcessorCaps
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:282,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:283,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:286,1
    - Dst: GetFilterMode
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:287,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:290,1
    - Dst: GetFilterMode
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:291,1
    - Dst: strcmp
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:293,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:294,1
    - Dst: free
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:295,1
    - Dst: ID3D11VideoProcessorEnumerator_GetVideoProcessorRateConversionCaps
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:300,1
    - Dst: ID3D11VideoDevice_CreateVideoProcessor
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:304,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:306,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:313,1
    - Dst: GetFilterMode
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:314,1
    - Dst: ID3D11VideoProcessorEnumerator_GetVideoProcessorRateConversionCaps
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:317,1
    - Dst: ID3D11VideoDevice_CreateVideoProcessor
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:321,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:323,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:331,1
    - Dst: InitDeinterlacingContext
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:335,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:341,1
    - Dst: GetDeinterlacingOutput
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:348,1
    - Dst: d3d11_device_unlock
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:354,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:357,1
    - Dst: D3D11_ReleaseProcessor
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:363,1
    - Dst: d3d11_device_unlock
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:364,1
    - Dst: free
      Src: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c:365,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 93
    argCount: 1
    argNames:
    - filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 368
    functionName: D3D11OpenDeinterlace
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_deinterlace.c
    functionUses: 0
    functionsReached:
    - GetFilterMode
    - is_d3d11_opaque
    - SUCCEEDED
    - ID3D11VideoProcessorEnumerator_GetVideoProcessorRateConversionCaps
    - ID3D11VideoDevice_CreateVideoProcessor
    - D3D11_RenderFormat
    - D3D11_CreateProcessor
    - vlc_video_context_Hold
    - msg_Dbg
    - InitDeinterlacingContext
    - d3d11_device_unlock
    - strcmp
    - D3D11_ReleaseProcessor
    - GetD3D11OpaqueContext
    - ID3D11VideoProcessorEnumerator_CheckVideoProcessorFormat
    - DxgiFormatToStr
    - GetDeinterlacingOutput
    - var_InheritString
    - memset
    - FAILED
    - ID3D11VideoProcessorEnumerator_GetVideoProcessorCaps
    - free
    - GetD3D11ContextPrivate
    - video_format_IsSimilar
    - d3d11_device_lock
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int D3D11OpenDeinterlace(filter_t *filter)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ID3D11VideoProcessorEnumerator_CheckVideoProcessorFormat
      Src: /src/vlc/modules/hw/d3d11/d3d11_processor.c:46,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_processor.c:47,1
    - Dst: DxgiFormatToStr
      Src: /src/vlc/modules/hw/d3d11/d3d11_processor.c:49,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/d3d11/d3d11_processor.c:61,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/d3d11/d3d11_processor.c:63,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - o
    - processorEnumerator
    argTypes:
    - vlc_object_t*
    - ID3D11VideoProcessorEnumerator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 66
    functionName: LogProcessorSupport
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_processor.c
    functionUses: 0
    functionsReached:
    - FAILED
    - msg_Dbg
    - DxgiFormatToStr
    - ID3D11VideoProcessorEnumerator_CheckVideoProcessorFormat
    linkageType: ''
    returnType: void
    signature: "void LogProcessorSupport(vlc_object_t *o,\n                                ID3D11VideoProcessorEnumerator
      *processorEnumerator)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ID3D11Device_QueryInterface
      Src: /src/vlc/modules/hw/d3d11/d3d11_processor.c:79,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_processor.c:80,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d11/d3d11_processor.c:81,1
    - Dst: ID3D11DeviceContext_QueryInterface
      Src: /src/vlc/modules/hw/d3d11/d3d11_processor.c:86,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_processor.c:87,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d11/d3d11_processor.c:88,1
    - Dst: ID3D11VideoDevice_CreateVideoProcessorEnumerator
      Src: /src/vlc/modules/hw/d3d11/d3d11_processor.c:109,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_processor.c:110,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/d3d11/d3d11_processor.c:112,1
    - Dst: LogProcessorSupport
      Src: /src/vlc/modules/hw/d3d11/d3d11_processor.c:117,1
    - Dst: D3D11_ReleaseProcessor
      Src: /src/vlc/modules/hw/d3d11/d3d11_processor.c:122,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 6
    argNames:
    - o
    - d3d_dev
    - srcFields
    - fmt_in
    - fmt_out
    - out
    argTypes:
    - vlc_object_t*
    - d3d11_device_t*
    - D3D11_VIDEO_FRAME_FORMAT
    - video_format_t*
    - video_format_t*
    - d3d11_processor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 124
    functionName: D3D11_CreateProcessor
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_processor.c
    functionUses: 2
    functionsReached:
    - LogProcessorSupport
    - FAILED
    - ID3D11DeviceContext_QueryInterface
    - msg_Err
    - ID3D11Device_QueryInterface
    - msg_Dbg
    - ID3D11VideoDevice_CreateVideoProcessorEnumerator
    - D3D11_ReleaseProcessor
    linkageType: ''
    returnType: int
    signature: "int D3D11_CreateProcessor(vlc_object_t *o, d3d11_device_t *d3d_dev,\n
      \                         D3D11_VIDEO_FRAME_FORMAT srcFields,\n                          const
      video_format_t *fmt_in, const video_format_t *fmt_out,\n                          d3d11_processor_t
      *out)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ID3D11VideoProcessor_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_processor.c:130,1
    - Dst: ID3D11VideoProcessorEnumerator_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_processor.c:135,1
    - Dst: ID3D11VideoDevice_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_processor.c:140,1
    - Dst: ID3D11VideoContext_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_processor.c:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - out
    argTypes:
    - d3d11_processor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 148
    functionName: D3D11_ReleaseProcessor
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_processor.c
    functionUses: 5
    functionsReached:
    - ID3D11VideoContext_Release
    - ID3D11VideoProcessor_Release
    - ID3D11VideoDevice_Release
    - ID3D11VideoProcessorEnumerator_Release
    linkageType: ''
    returnType: void
    signature: void D3D11_ReleaseProcessor(d3d11_processor_t *out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ID3D11VideoDevice_CreateVideoProcessorInputView
      Src: /src/vlc/modules/hw/d3d11/d3d11_processor.c:164,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_processor.c:170,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/d3d11/d3d11_processor.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - o
    - d3d_proc
    - p_sys
    argTypes:
    - vlc_object_t*
    - d3d11_processor_t*
    - picture_sys_d3d11_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 174
    functionName: D3D11_Assert_ProcessorInput
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_processor.c
    functionUses: 2
    functionsReached:
    - ID3D11VideoDevice_CreateVideoProcessorInputView
    - FAILED
    - msg_Dbg
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT D3D11_Assert_ProcessorInput(vlc_object_t *o, d3d11_processor_t
      *d3d_proc, picture_sys_d3d11_t *p_sys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: D3D11_ReleaseDevice
      Src: /src/vlc/modules/hw/d3d11/d3d11_device.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - device
    argTypes:
    - vlc_decoder_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: D3D11CloseDecoderDevice
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_device.c
    functionUses: 0
    functionsReached:
    - D3D11_ReleaseDevice
    linkageType: ''
    returnType: void
    signature: void D3D11CloseDecoderDevice(vlc_decoder_device *device)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/d3d11/d3d11_device.c:48,1
    - Dst: D3D11_CreateDevice
      Src: /src/vlc/modules/hw/d3d11/d3d11_device.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - device
    - forced
    - wnd
    argTypes:
    - vlc_decoder_device*
    - bool
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 62
    functionName: D3D11OpenDecoderDevice
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_device.c
    functionUses: 0
    functionsReached:
    - D3D11_CreateDevice
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int D3D11OpenDecoderDevice(vlc_decoder_device *device, bool forced,
      vlc_window_t *wnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: D3D11OpenDecoderDevice
      Src: /src/vlc/modules/hw/d3d11/d3d11_device.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - device
    - wnd
    argTypes:
    - vlc_decoder_device*
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: D3D11OpenDecoderDeviceW8
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_device.c
    functionUses: 0
    functionsReached:
    - D3D11OpenDecoderDevice
    linkageType: ''
    returnType: int
    signature: int D3D11OpenDecoderDeviceW8(vlc_decoder_device *device, vlc_window_t
      *wnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: D3D11OpenDecoderDevice
      Src: /src/vlc/modules/hw/d3d11/d3d11_device.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - device
    - wnd
    argTypes:
    - vlc_decoder_device*
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: D3D11OpenDecoderDeviceAny
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_device.c
    functionUses: 0
    functionsReached:
    - D3D11OpenDecoderDevice
    linkageType: ''
    returnType: int
    signature: int D3D11OpenDecoderDeviceAny(vlc_decoder_device *device, vlc_window_t
      *wnd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: d3d11_device_lock
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:85,1
    - Dst: D3D11_CreateProcessor
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:87,1
    - Dst: ID3D11VideoProcessorEnumerator_CheckVideoProcessorFormat
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:93,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:94,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:96,1
    - Dst: DxgiFormatToStr
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:96,1
    - Dst: ID3D11VideoProcessorEnumerator_CheckVideoProcessorFormat
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:99,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:100,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:102,1
    - Dst: DxgiFormatToStr
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:102,1
    - Dst: ID3D11VideoProcessorEnumerator_GetVideoProcessorCaps
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:107,1
    - Dst: ID3D11VideoDevice_CreateVideoProcessor
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:110,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:112,1
    - Dst: ID3D11VideoDevice_CreateVideoProcessorOutputView
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:118,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:123,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:124,1
    - Dst: d3d11_device_unlock
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:127,1
    - Dst: ID3D11VideoProcessor_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:133,1
    - Dst: D3D11_ReleaseProcessor
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:139,1
    - Dst: d3d11_device_unlock
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:140,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 4
    argNames:
    - p_filter
    - d3d_dev
    - srcFormat
    - dstFormat
    argTypes:
    - filter_t*
    - d3d11_device_t*
    - DXGI_FORMAT
    - DXGI_FORMAT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 142
    functionName: SetupProcessor
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_surface.c
    functionUses: 0
    functionsReached:
    - ID3D11VideoDevice_CreateVideoProcessor
    - D3D11_CreateProcessor
    - FAILED
    - ID3D11VideoProcessorEnumerator_GetVideoProcessorCaps
    - msg_Err
    - d3d11_device_unlock
    - msg_Dbg
    - SUCCEEDED
    - DxgiFormatToStr
    - ID3D11VideoProcessorEnumerator_CheckVideoProcessorFormat
    - ID3D11VideoProcessor_Release
    - d3d11_device_lock
    - ID3D11VideoDevice_CreateVideoProcessorOutputView
    - D3D11_ReleaseProcessor
    linkageType: ''
    returnType: int
    signature: "int SetupProcessor(filter_t *p_filter, d3d11_device_t *d3d_dev,\n
      \                         DXGI_FORMAT srcFormat, DXGI_FORMAT dstFormat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ID3D11DeviceContext_Map
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:148,1
    - Dst: ID3D11DeviceContext_Unmap
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sys
    - context
    argTypes:
    - filter_sys_t*
    - ID3D11DeviceContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: can_map
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_surface.c
    functionUses: 0
    functionsReached:
    - ID3D11DeviceContext_Unmap
    - ID3D11DeviceContext_Map
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT can_map(filter_sys_t *sys, ID3D11DeviceContext *context)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ZeroMemory
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:162,1
    - Dst: ID3D11Device_CreateTexture2D
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:176,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:178,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:178,1
    - Dst: can_map
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:178,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:179,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:181,1
    - Dst: FindD3D11Format
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:185,1
    - Dst: ID3D11Device_CreateTexture2D
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:190,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:191,1
    - Dst: ID3D11Device_CreateTexture2D
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:196,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:197,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:197,1
    - Dst: can_map
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:197,1
    - Dst: SetupProcessor
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:199,1
    - Dst: ID3D11Texture2D_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:201,1
    - Dst: ID3D11Texture2D_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:202,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:207,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:211,1
    - Dst: ID3D11Texture2D_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:214,1
    - Dst: ID3D11Texture2D_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:217,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:224,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:225,1
    - Dst: DxgiFormatToStr
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:225,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 3
    argNames:
    - p_filter
    - sys
    - format
    argTypes:
    - filter_t*
    - filter_sys_t*
    - DXGI_FORMAT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 230
    functionName: assert_staging
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_surface.c
    functionUses: 0
    functionsReached:
    - SetupProcessor
    - FindD3D11Format
    - FAILED
    - ID3D11Device_CreateTexture2D
    - can_map
    - msg_Err
    - msg_Dbg
    - SUCCEEDED
    - DxgiFormatToStr
    - ID3D11Texture2D_Release
    - ZeroMemory
    linkageType: ''
    returnType: int
    signature: int assert_staging(filter_t *p_filter, filter_sys_t *sys, DXGI_FORMAT
      format)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:237,1
    - Dst: ActiveD3D11PictureSys
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:242,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:247,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:255,1
    - Dst: D3D11_Assert_ProcessorInput
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:255,1
    - Dst: ID3D11VideoContext_VideoProcessorBlt
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:263,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:266,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:268,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:269,1
    - Dst: ID3D11DeviceContext_CopySubresourceRegion
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:277,1
    - Dst: ID3D11DeviceContext_Map
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:283,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:285,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:286,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:287,1
    - Dst: picture_SwapUV
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:292,1
    - Dst: ID3D11Texture2D_GetDesc
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:294,1
    - Dst: Copy420_P_to_P
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:312,1
    - Dst: Copy420_SP_to_P
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:326,1
    - Dst: __MIN
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:327,1
    - Dst: Copy420_16_SP_to_P
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:330,1
    - Dst: __MIN
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:331,1
    - Dst: picture_SwapUV
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:333,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:335,1
    - Dst: picture_SwapUV
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:339,1
    - Dst: ID3D11DeviceContext_Unmap
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:342,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:343,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - p_filter
    - src
    - dst
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 232
    functionDepth: 5
    functionLinenumber: 232
    functionLinenumberEnd: 344
    functionName: D3D11_YUY2
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_surface.c
    functionUses: 0
    functionsReached:
    - ID3D11DeviceContext_Unmap
    - ID3D11VideoContext_VideoProcessorBlt
    - ID3D11DeviceContext_Map
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - ActiveD3D11PictureSys
    - FAILED
    - picture_SwapUV
    - ID3D11Texture2D_GetDesc
    - Copy420_16_SP_to_P
    - msg_Err
    - Copy420_SP_to_P
    - __MIN
    - D3D11_Assert_ProcessorInput
    - Copy420_P_to_P
    - ID3D11DeviceContext_CopySubresourceRegion
    linkageType: ''
    returnType: void
    signature: void D3D11_YUY2(filter_t *p_filter, picture_t *src, picture_t *dst)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:351,1
    - Dst: ActiveD3D11PictureSys
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:356,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:361,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:369,1
    - Dst: D3D11_Assert_ProcessorInput
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:369,1
    - Dst: ID3D11VideoContext_VideoProcessorBlt
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:377,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:380,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:382,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:383,1
    - Dst: ID3D11DeviceContext_CopySubresourceRegion
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:391,1
    - Dst: ID3D11DeviceContext_Map
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:397,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:399,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:400,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:401,1
    - Dst: ID3D11Texture2D_GetDesc
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:405,1
    - Dst: Copy420_SP_to_SP
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:416,1
    - Dst: __MIN
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:417,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:420,1
    - Dst: ID3D11DeviceContext_Unmap
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:424,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:425,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - p_filter
    - src
    - dst
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 346
    functionDepth: 5
    functionLinenumber: 346
    functionLinenumberEnd: 426
    functionName: D3D11_NV12
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_surface.c
    functionUses: 0
    functionsReached:
    - ID3D11DeviceContext_Unmap
    - ID3D11VideoContext_VideoProcessorBlt
    - ID3D11DeviceContext_Map
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - ActiveD3D11PictureSys
    - FAILED
    - ID3D11Texture2D_GetDesc
    - msg_Err
    - __MIN
    - Copy420_SP_to_SP
    - D3D11_Assert_ProcessorInput
    - ID3D11DeviceContext_CopySubresourceRegion
    linkageType: ''
    returnType: void
    signature: void D3D11_NV12(filter_t *p_filter, picture_t *src, picture_t *dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:431,1
    - Dst: ActiveD3D11PictureSys
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:432,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:437,1
    - Dst: ID3D11DeviceContext_CopySubresourceRegion
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:438,1
    - Dst: ID3D11DeviceContext_Map
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:444,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:446,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:447,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:448,1
    - Dst: ID3D11Texture2D_GetDesc
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:452,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:458,1
    - Dst: ID3D11DeviceContext_Unmap
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:461,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - p_filter
    - src
    - dst
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts:
    - condition: (src->context != NULL)
      pos:
        line_end: 430
        line_start: 430
        source_file: /src/vlc/modules/hw/d3d11/d3d11_surface.c
    constantsTouched: []
    func_position:
      end: 463
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 463
    functionName: D3D11_RGBA
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_surface.c
    functionUses: 0
    functionsReached:
    - ID3D11DeviceContext_Unmap
    - ID3D11DeviceContext_Map
    - assert
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - ActiveD3D11PictureSys
    - FAILED
    - ID3D11Texture2D_GetDesc
    - plane_CopyPixels
    - msg_Err
    - ID3D11DeviceContext_CopySubresourceRegion
    linkageType: ''
    returnType: void
    signature: void D3D11_RGBA(filter_t *p_filter, picture_t *src, picture_t *dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_filter_UnloadModule
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:467,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:469,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:470,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 473
    functionName: DeleteFilter
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_surface.c
    functionUses: 2
    functionsReached:
    - es_format_Clean
    - vlc_object_delete
    - vlc_filter_UnloadModule
    linkageType: ''
    returnType: void
    signature: void DeleteFilter( filter_t * p_filter )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 480
    functionName: NewBuffer
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_surface.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: picture_t
    signature: picture_t *NewBuffer(filter_t *p_filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:484,1
    - Dst: filter_HoldDecoderDevice
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - o
    - sys
    argTypes:
    - vlc_object_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 487
    functionName: HoldD3D11DecoderDevice
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_surface.c
    functionUses: 0
    functionsReached:
    - filter_HoldDecoderDevice
    - VLC_UNUSED
    linkageType: ''
    returnType: vlc_decoder_device
    signature: vlc_decoder_device * HoldD3D11DecoderDevice(vlc_object_t *o, void *sys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_create
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:494,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:495,1
    - Dst: es_format_InitFromVideo
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:503,1
    - Dst: es_format_InitFromVideo
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:504,1
    - Dst: vlc_filter_LoadModule
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:506,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:510,1
    - Dst: DeleteFilter
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:511,1
    - Dst: assert
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - p_this
    - p_fmt_in
    - dst_chroma
    argTypes:
    - filter_t*
    - es_format_t*
    - vlc_fourcc_t
    assertStmts:
    - condition: ( p_filter->ops != NULL )
      pos:
        line_end: 513
        line_start: 513
        source_file: /src/vlc/modules/hw/d3d11/d3d11_surface.c
    constantsTouched: []
    func_position:
      end: 517
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 517
    functionName: CreateCPUtoGPUFilter
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_surface.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_object_create
    - es_format_InitFromVideo
    - msg_Dbg
    - DeleteFilter
    - vlc_filter_LoadModule
    - unlikely
    linkageType: ''
    returnType: filter_t
    signature: "filter_t *CreateCPUtoGPUFilter( filter_t *p_this, const es_format_t
      *p_fmt_in,\n                               vlc_fourcc_t dst_chroma )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ActiveD3D11PictureSys
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:522,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:523,1
    - Dst: d3d11_device_lock
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:530,1
    - Dst: ID3D11DeviceContext_Map
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:534,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:536,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:537,1
    - Dst: d3d11_device_unlock
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:538,1
    - Dst: picture_UpdatePlanes
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:542,1
    - Dst: picture_SwapUV
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:546,1
    - Dst: picture_CopyPixels
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:551,1
    - Dst: ID3D11DeviceContext_Unmap
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:554,1
    - Dst: ID3D11Texture2D_GetDesc
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:561,1
    - Dst: ID3D11DeviceContext_Map
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:564,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:566,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:567,1
    - Dst: d3d11_device_unlock
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:568,1
    - Dst: picture_UpdatePlanes
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:572,1
    - Dst: picture_SwapUV
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:576,1
    - Dst: picture_Hold
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:581,1
    - Dst: filter_sys_t*::filter::ops::filter_video
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:582,1
    - Dst: ID3D11DeviceContext_Unmap
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:585,1
    - Dst: ID3D11DeviceContext_CopySubresourceRegion
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:590,1
    - Dst: d3d11_device_unlock
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:597,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 3
    argNames:
    - p_filter
    - src
    - dst
    argTypes:
    - filter_t*
    - picture_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 519
    functionDepth: 2
    functionLinenumber: 519
    functionLinenumberEnd: 601
    functionName: NV12_D3D11
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_surface.c
    functionUses: 0
    functionsReached:
    - ID3D11DeviceContext_Unmap
    - ID3D11DeviceContext_Map
    - picture_UpdatePlanes
    - picture_CopyPixels
    - filter_sys_t*::filter::ops::filter_video
    - picture_Hold
    - ActiveD3D11PictureSys
    - FAILED
    - picture_SwapUV
    - ID3D11Texture2D_GetDesc
    - msg_Err
    - d3d11_device_unlock
    - d3d11_device_lock
    - unlikely
    - ID3D11DeviceContext_CopySubresourceRegion
    linkageType: ''
    returnType: void
    signature: void NV12_D3D11(filter_t *p_filter, picture_t *src, picture_t *dst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ID3D11Texture2D_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:608,1
    - Dst: D3D11_ReleaseProcessor
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:609,1
    - Dst: CopyCleanCache
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:611,1
    - Dst: ID3D11Texture2D_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:613,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 603
    functionDepth: 2
    functionLinenumber: 603
    functionLinenumberEnd: 614
    functionName: D3D11CloseConverter
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_surface.c
    functionUses: 0
    functionsReached:
    - CopyCleanCache
    - D3D11_ReleaseProcessor
    - ID3D11Texture2D_Release
    linkageType: ''
    returnType: void
    signature: void D3D11CloseConverter( filter_t *p_filter )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetD3D11ContextPrivate
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:624,1
    - Dst: D3D11_RenderFormat
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:626,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:627,1
    - Dst: calloc
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:630,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:631,1
    - Dst: video_format_Copy
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:634,1
    - Dst: picture_NewFromResource
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:638,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:640,1
    - Dst: AllocateTextures
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:644,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:648,1
    - Dst: D3D11_AllocateResourceView
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:648,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:648,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:654,1
    - Dst: AcquireD3D11PictureSys
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:657,1
    - Dst: ID3D11Texture2D_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:658,1
    - Dst: free
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:664,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - p_filter
    - p_sys
    argTypes:
    - filter_t*
    - filter_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 620
    functionDepth: 2
    functionLinenumber: 620
    functionLinenumberEnd: 666
    functionName: AllocateCPUtoGPUTexture
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_surface.c
    functionUses: 2
    functionsReached:
    - picture_NewFromResource
    - video_format_Copy
    - D3D11_RenderFormat
    - vlc_object_logger
    - AllocateTextures
    - vlc_video_context_Hold
    - msg_Err
    - calloc
    - free
    - GetD3D11ContextPrivate
    - AcquireD3D11PictureSys
    - D3D11_AllocateResourceView
    - unlikely
    - ID3D11Texture2D_Release
    linkageType: ''
    returnType: picture_t
    signature: picture_t *AllocateCPUtoGPUTexture(filter_t *p_filter, filter_sys_t
      *p_sys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AllocateCPUtoGPUTexture
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:670,1
    - Dst: NV12_D3D11
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:673,1
    - Dst: picture_CopyProperties
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:674,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_filter
    - p_pic
    argTypes:
    - filter_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 668
    functionDepth: 3
    functionLinenumber: 668
    functionLinenumberEnd: 678
    functionName: NV12_D3D11_Filter
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_surface.c
    functionUses: 0
    functionsReached:
    - picture_Release
    - NV12_D3D11
    - AllocateCPUtoGPUTexture
    - picture_CopyProperties
    linkageType: ''
    returnType: picture_t
    signature: picture_t *NV12_D3D11_Filter( filter_t *p_filter, picture_t *p_pic
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DeleteFilter
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:684,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:686,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 688
    functionName: D3D11CloseCPUConverter
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_surface.c
    functionUses: 0
    functionsReached:
    - DeleteFilter
    - picture_Release
    - vlc_video_context_Release
    linkageType: ''
    returnType: void
    signature: void D3D11CloseCPUConverter( filter_t *p_filter )
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: is_d3d11_opaque
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:696,1
    - Dst: GetD3D11ContextPrivate
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:698,1
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:744,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:744,1
    - Dst: GetD3D11ContextPrivate
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:748,1
    - Dst: GetD3D11OpaqueContext
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:749,1
    - Dst: assert_staging
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:752,1
    - Dst: CopyInitCache
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:757,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:760,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 694
    functionDepth: 3
    functionLinenumber: 694
    functionLinenumberEnd: 763
    functionName: D3D11OpenConverter
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_surface.c
    functionUses: 0
    functionsReached:
    - CopyInitCache
    - is_d3d11_opaque
    - vlc_mutex_init
    - GetD3D11ContextPrivate
    - GetD3D11OpaqueContext
    - VLC_OBJECT
    - assert_staging
    - vlc_obj_calloc
    linkageType: ''
    returnType: int
    signature: int D3D11OpenConverter( filter_t *p_filter )
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: filter_HoldDecoderDeviceType
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:790,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:793,1
    - Dst: GetD3D11OpaqueDevice
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:796,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:797,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:799,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:800,1
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:804,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:804,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:806,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:823,1
    - Dst: D3D11CreateVideoContext
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:825,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:826,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:829,1
    - Dst: DxgiFormatFourcc
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:833,1
    - Dst: AllocateCPUtoGPUTexture
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:837,1
    - Dst: CreateCPUtoGPUFilter
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:841,1
    - Dst: picture_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:844,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_surface.c:855,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 71
    argCount: 1
    argNames:
    - p_filter
    argTypes:
    - filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 765
    functionDepth: 2
    functionLinenumber: 765
    functionLinenumberEnd: 858
    functionName: D3D11OpenCPUConverter
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_surface.c
    functionUses: 0
    functionsReached:
    - D3D11CreateVideoContext
    - GetD3D11OpaqueDevice
    - vlc_video_context_Release
    - AllocateCPUtoGPUTexture
    - vlc_assert_unreachable
    - CreateCPUtoGPUFilter
    - vlc_decoder_device_Release
    - msg_Err
    - picture_Release
    - filter_HoldDecoderDeviceType
    - msg_Dbg
    - VLC_OBJECT
    - DxgiFormatFourcc
    - unlikely
    - vlc_obj_calloc
    linkageType: ''
    returnType: int
    signature: int D3D11OpenCPUConverter( filter_t *p_filter )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:49,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: ~d3d11_dec_sys()
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp
    functionUses: 0
    functionsReached:
    - vlc_video_context_Release
    - vlc_decoder_device_Release
    linkageType: ''
    returnType: void
    signature: void ~d3d11_dec_sys()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<d3d11_dec_sys*>
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:57,1
    - Dst: date_Set
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:61,1
    - Dst: block_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:64,1
    - Dst: date_Get
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:70,1
    - Dst: block_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:73,1
    - Dst: date_Set
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:80,1
    - Dst: date_Set
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:88,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 92
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp
    functionUses: 1
    functionsReached:
    - block_Release
    - date_Set
    - date_Get
    - static_cast<d3d11_dec_sys*>
    linkageType: ''
    returnType: block_t
    signature: block_t *DecodeBlock( decoder_t *p_dec, block_t *p_block )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: DecodeBlock
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:99,1
    - Dst: static_cast<d3d11_dec_sys*>
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:105,1
    - Dst: D3D11BLOCK_FROM_BLOCK
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:106,1
    - Dst: assert
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:107,1
    - Dst: ActiveD3D11PictureSys
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:108,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:110,1
    - Dst: GetDesc
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:113,1
    - Dst: D3D11_RenderFormat
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:115,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:116,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:118,1
    - Dst: block_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:119,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:124,1
    - Dst: D3D11CreateVideoContext
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:127,1
    - Dst: block_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:130,1
    - Dst: decoder_UpdateVideoOutput
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:134,1
    - Dst: block_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:136,1
    - Dst: date_Get
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:141,1
    - Dst: date_Increment
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:142,1
    - Dst: assert
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:157,1
    - Dst: assert
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:158,1
    - Dst: assert
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:159,1
    - Dst: assert
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:160,1
    - Dst: GetD3D11OpaqueDevice
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:162,1
    - Dst: ActiveD3D11PictureSys
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:164,1
    - Dst: d3d11_decoder_device_t*::d3d_dev::d3ddevice::QueryInterface
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:168,1
    - Dst: IID_GRAPHICS_PPV_ARGS
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:168,1
    - Dst: ComPtr::OpenSharedResource1
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:170,1
    - Dst: IID_GRAPHICS_PPV_ARGS
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:170,1
    - Dst: d3d11_decoder_device_t*::d3d_dev::d3ddevice::OpenSharedResource
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:174,1
    - Dst: IID_GRAPHICS_PPV_ARGS
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:174,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:176,1
    - Dst: FAILED
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:176,1
    - Dst: block_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:178,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:185,1
    - Dst: ID3D11Texture2D*::Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:186,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:187,1
    - Dst: Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:192,1
    - Dst: D3D11_AllocateResourceView
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:194,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:194,1
    - Dst: picture_Hold
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:197,1
    - Dst: block_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:198,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:199,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 64
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts:
    - condition: ( p_pic != nullptr )
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp
    - condition: (src_sys->processorInput == nullptr)
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp
    - condition: (src_sys->texture[1] == nullptr)
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp
    - condition: (src_sys->sharedHandle != INVALID_HANDLE_VALUE)
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp
    - condition: (src_sys->processorOutput == nullptr)
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp
    constantsTouched: []
    func_position:
      end: 201
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 201
    functionName: DecodeFrame
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp
    functionUses: 1
    functionsReached:
    - D3D11CreateVideoContext
    - assert
    - D3D11BLOCK_FROM_BLOCK
    - ComPtr::OpenSharedResource1
    - Release
    - d3d11_decoder_device_t*::d3d_dev::d3ddevice::OpenSharedResource
    - DecodeBlock
    - date_Increment
    - d3d11_decoder_device_t*::d3d_dev::d3ddevice::QueryInterface
    - GetD3D11OpaqueDevice
    - D3D11_RenderFormat
    - vlc_video_context_Hold
    - msg_Err
    - date_Get
    - D3D11_AllocateResourceView
    - GetDesc
    - picture_Hold
    - ID3D11Texture2D*::Release
    - static_cast<d3d11_dec_sys*>
    - IID_GRAPHICS_PPV_ARGS
    - block_Release
    - vlc_video_context_Release
    - ActiveD3D11PictureSys
    - FAILED
    - vlc_object_logger
    - decoder_UpdateVideoOutput
    - decoder_QueueVideo
    - unlikely
    linkageType: ''
    returnType: int
    signature: int DecodeFrame( decoder_t *p_dec, block_t *p_block )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<d3d11_dec_sys*>
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:205,1
    - Dst: date_Set
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: Flush
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp
    functionUses: 71
    functionsReached:
    - date_Set
    - static_cast<d3d11_dec_sys*>
    linkageType: ''
    returnType: void
    signature: void Flush( decoder_t *p_dec )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<d3d11_dec_sys*>
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: D3D11CloseBlockDecoder
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp
    functionUses: 0
    functionsReached:
    - static_cast<d3d11_dec_sys*>
    linkageType: ''
    returnType: void
    signature: void D3D11CloseBlockDecoder( vlc_object_t *obj )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: is_d3d11_opaque
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:221,1
    - Dst: msg_Err
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:225,1
    - Dst: decoder_GetDecoderDevice
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:230,1
    - Dst: GetD3D11OpaqueDevice
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:233,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:236,1
    - Dst: d3d11_dec_sys::d3d11_dec_sys
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:240,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:241,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:243,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:248,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:258,1
    - Dst: date_Init
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:261,1
    - Dst: date_Init
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:264,1
    - Dst: DxgiGetRenderFormatList
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:271,1
    - Dst: is_d3d11_opaque
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:275,1
    - Dst: D3D11CreateVideoContext
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:280,1
    - Dst: decoder_UpdateVideoOutput
      Src: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp:287,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 304
    functionName: D3D11OpenBlockDecoder
    functionSourceFile: /src/vlc/modules/hw/d3d11/d3d11_decoder.cpp
    functionUses: 0
    functionsReached:
    - D3D11CreateVideoContext
    - GetD3D11OpaqueDevice
    - decoder_GetDecoderDevice
    - vlc_decoder_device_Release
    - is_d3d11_opaque
    - d3d11_dec_sys::d3d11_dec_sys
    - DxgiGetRenderFormatList
    - date_Init
    - decoder_UpdateVideoOutput
    - msg_Err
    - msg_Warn
    - es_format_Copy
    - unlikely
    linkageType: ''
    returnType: int
    signature: int D3D11OpenBlockDecoder( vlc_object_t *obj )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WINAPI_FAMILY_PARTITION
      Src: /src/vlc/modules/hw/amf/amf_helper.c:19,1
    - Dst: LoadLibraryExA
      Src: /src/vlc/modules/hw/amf/amf_helper.c:20,1
    - Dst: GetProcAddress
      Src: /src/vlc/modules/hw/amf/amf_helper.c:26,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/amf/amf_helper.c:27,1
    - Dst: queryVersion
      Src: /src/vlc/modules/hw/amf/amf_helper.c:29,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/amf/amf_helper.c:30,1
    - Dst: GetProcAddress
      Src: /src/vlc/modules/hw/amf/amf_helper.c:36,1
    - Dst: init
      Src: /src/vlc/modules/hw/amf/amf_helper.c:37,1
    - Dst: unlikely
      Src: /src/vlc/modules/hw/amf/amf_helper.c:38,1
    - Dst: struct vlc_amf_context*::pFactory::pVtbl::CreateContext
      Src: /src/vlc/modules/hw/amf/amf_helper.c:41,1
    - Dst: FreeLibrary
      Src: /src/vlc/modules/hw/amf/amf_helper.c:49,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct vlc_amf_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 60
    functionName: vlc_AMFCreateContext
    functionSourceFile: /src/vlc/modules/hw/amf/amf_helper.c
    functionUses: 2
    functionsReached:
    - init
    - queryVersion
    - WINAPI_FAMILY_PARTITION
    - GetProcAddress
    - LoadLibraryExA
    - struct vlc_amf_context*::pFactory::pVtbl::CreateContext
    - unlikely
    - FreeLibrary
    linkageType: ''
    returnType: int
    signature: int vlc_AMFCreateContext(struct vlc_amf_context *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct vlc_amf_context*::Context::pVtbl::Terminate
      Src: /src/vlc/modules/hw/amf/amf_helper.c:64,1
    - Dst: struct vlc_amf_context*::Context::pVtbl::Release
      Src: /src/vlc/modules/hw/amf/amf_helper.c:65,1
    - Dst: FreeLibrary
      Src: /src/vlc/modules/hw/amf/amf_helper.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct vlc_amf_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: vlc_AMFReleaseContext
    functionSourceFile: /src/vlc/modules/hw/amf/amf_helper.c
    functionUses: 2
    functionsReached:
    - struct vlc_amf_context*::Context::pVtbl::Release
    - FreeLibrary
    - struct vlc_amf_context*::Context::pVtbl::Terminate
    linkageType: ''
    returnType: void
    signature: void vlc_AMFReleaseContext(struct vlc_amf_context *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: AMT_TYPE
    functionSourceFile: /src/vlc/modules/hw/amf/amf_helper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AMT_TYPE(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: AMT_TYPE
    functionSourceFile: /src/vlc/modules/hw/amf/amf_helper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AMT_TYPE(t)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AMT_TYPE
      Src: /src/vlc/modules/hw/amf/amf_helper.h:44,1
    - Dst: AMT_TYPE
      Src: /src/vlc/modules/hw/amf/amf_helper.h:45,1
    - Dst: AMT_TYPE
      Src: /src/vlc/modules/hw/amf/amf_helper.h:46,1
    - Dst: AMT_TYPE
      Src: /src/vlc/modules/hw/amf/amf_helper.h:47,1
    - Dst: AMT_TYPE
      Src: /src/vlc/modules/hw/amf/amf_helper.h:48,1
    - Dst: AMT_TYPE
      Src: /src/vlc/modules/hw/amf/amf_helper.h:49,1
    - Dst: AMT_TYPE
      Src: /src/vlc/modules/hw/amf/amf_helper.h:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - DXGI_FORMAT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: DXGIToAMF
    functionSourceFile: /src/vlc/modules/hw/amf/amf_helper.h
    functionUses: 2
    functionsReached:
    - AMT_TYPE
    linkageType: ''
    returnType: void
    signature: void DXGIToAMF(DXGI_FORMAT fmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/vlc/modules/gui/eject.c:84,1
    - Dst: ioctl
      Src: /src/vlc/modules/gui/eject.c:95,1
    - Dst: ioctl
      Src: /src/vlc/modules/gui/eject.c:106,1
    - Dst: ioctl
      Src: /src/vlc/modules/gui/eject.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 1
    argNames:
    - i_fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 112
    functionName: EjectSCSI
    functionSourceFile: /src/vlc/modules/gui/eject.c
    functionUses: 0
    functionsReached:
    - ioctl
    linkageType: ''
    returnType: int
    signature: int EjectSCSI( int i_fd )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/gui/eject.c:124,1
    - Dst: mciSendCommandA
      Src: /src/vlc/modules/gui/eject.c:140,1
    - Dst: mciSendCommand
      Src: /src/vlc/modules/gui/eject.c:144,1
    - Dst: mciSendCommand
      Src: /src/vlc/modules/gui/eject.c:146,1
    - Dst: vlc_open
      Src: /src/vlc/modules/gui/eject.c:152,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/eject.c:155,1
    - Dst: ioctl
      Src: /src/vlc/modules/gui/eject.c:161,1
    - Dst: EjectSCSI
      Src: /src/vlc/modules/gui/eject.c:162,1
    - Dst: ioctl
      Src: /src/vlc/modules/gui/eject.c:164,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/eject.c:167,1
    - Dst: vlc_close
      Src: /src/vlc/modules/gui/eject.c:168,1
    - Dst: vlc_close
      Src: /src/vlc/modules/gui/eject.c:171,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/gui/eject.c:175,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/eject.c:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - p_this
    - psz_device
    argTypes:
    - vlc_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 179
    functionName: intf_Eject
    functionSourceFile: /src/vlc/modules/gui/eject.c
    functionUses: 0
    functionsReached:
    - EjectSCSI
    - vlc_open
    - vlc_close
    - mciSendCommandA
    - msg_Err
    - msg_Warn
    - ioctl
    - mciSendCommand
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int intf_Eject( vlc_object_t *p_this, const char *psz_device )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - o
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: intf_Eject
    functionSourceFile: /src/vlc/modules/gui/eject.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: intf_Eject(o, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/gui/ncurses.c:230,1
    - Dst: free
      Src: /src/vlc/modules/gui/ncurses.c:231,1
    - Dst: free
      Src: /src/vlc/modules/gui/ncurses.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sys
    argTypes:
    - intf_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 235
    functionName: DirsDestroy
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void DirsDestroy(intf_sys_t *sys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/vlc/modules/gui/ncurses.c:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 246
    functionName: comdir_entries
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int comdir_entries(const void *a, const void *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/vlc/modules/gui/ncurses.c:253,1
    - Dst: vlc_stat
      Src: /src/vlc/modules/gui/ncurses.c:255,1
    - Dst: S_ISDIR
      Src: /src/vlc/modules/gui/ncurses.c:255,1
    - Dst: free
      Src: /src/vlc/modules/gui/ncurses.c:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - current_dir
    - entry
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 260
    functionName: IsFile
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - vlc_stat
    - asprintf
    - free
    - S_ISDIR
    linkageType: ''
    returnType: bool
    signature: bool IsFile(const char *current_dir, const char *entry)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/ncurses.c:267,1
    - Dst: vlc_opendir
      Src: /src/vlc/modules/gui/ncurses.c:271,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/ncurses.c:273,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/gui/ncurses.c:274,1
    - Dst: DirsDestroy
      Src: /src/vlc/modules/gui/ncurses.c:278,1
    - Dst: vlc_readdir
      Src: /src/vlc/modules/gui/ncurses.c:281,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/ncurses.c:282,1
    - Dst: malloc
      Src: /src/vlc/modules/gui/ncurses.c:285,1
    - Dst: unlikely
      Src: /src/vlc/modules/gui/ncurses.c:286,1
    - Dst: IsFile
      Src: /src/vlc/modules/gui/ncurses.c:289,1
    - Dst: strdup
      Src: /src/vlc/modules/gui/ncurses.c:290,1
    - Dst: unlikely
      Src: /src/vlc/modules/gui/ncurses.c:291,1
    - Dst: free
      Src: /src/vlc/modules/gui/ncurses.c:293,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/gui/ncurses.c:296,1
    - Dst: vlc_closedir
      Src: /src/vlc/modules/gui/ncurses.c:300,1
    - Dst: qsort
      Src: /src/vlc/modules/gui/ncurses.c:303,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 1
    argNames:
    - intf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 262
    functionDepth: 3
    functionLinenumber: 262
    functionLinenumberEnd: 305
    functionName: ReadDir
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 3
    functionsReached:
    - vlc_strerror_c
    - strdup
    - IsFile
    - TAB_APPEND
    - qsort
    - unlikely
    - vlc_closedir
    - free
    - strcmp
    - msg_Dbg
    - msg_Warn
    - vlc_readdir
    - DirsDestroy
    - malloc
    - vlc_opendir
    linkageType: ''
    returnType: void
    signature: void ReadDir(intf_thread_t *intf)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - sys
    argTypes:
    - intf_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 337
    functionName: CheckIdx
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CheckIdx(intf_sys_t *sys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/gui/ncurses.c:348,1
    - Dst: vlc_vector_clear
      Src: /src/vlc/modules/gui/ncurses.c:349,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/gui/ncurses.c:351,1
    - Dst: vlc_vector_reserve
      Src: /src/vlc/modules/gui/ncurses.c:352,1
    - Dst: vlc_playlist_Get
      Src: /src/vlc/modules/gui/ncurses.c:356,1
    - Dst: vlc_playlist_item_GetMedia
      Src: /src/vlc/modules/gui/ncurses.c:357,1
    - Dst: input_item_GetTitleFbName
      Src: /src/vlc/modules/gui/ncurses.c:358,1
    - Dst: vlc_vector_push
      Src: /src/vlc/modules/gui/ncurses.c:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - intf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 363
    functionName: PlaylistRebuild
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - vlc_playlist_item_GetMedia
    - vlc_playlist_Count
    - free
    - vlc_vector_clear
    - vlc_playlist_Get
    - input_item_GetTitleFbName
    - vlc_vector_reserve
    - vlc_vector_push
    linkageType: ''
    returnType: void
    signature: void PlaylistRebuild(intf_thread_t *intf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/gui/ncurses.c:371,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/gui/ncurses.c:372,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/gui/ncurses.c:372,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/gui/ncurses.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - playlist
    - index
    - items
    - count
    - userdata
    argTypes:
    - vlc_playlist_t*
    - size_t
    - vlc_playlist_item_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 376
    functionName: playlist_on_items_added
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void playlist_on_items_added(vlc_playlist_t *playlist,\n                        size_t
      index,\n                        vlc_playlist_item_t *const items[], size_t count,\n
      \                       void *userdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/gui/ncurses.c:384,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/gui/ncurses.c:385,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/gui/ncurses.c:385,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/gui/ncurses.c:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - playlist
    - index
    - items
    - count
    - userdata
    argTypes:
    - vlc_playlist_t*
    - size_t
    - vlc_playlist_item_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 388
    functionName: playlist_on_items_updated
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void playlist_on_items_updated(vlc_playlist_t *playlist,\n                          size_t
      index,\n                          vlc_playlist_item_t *const items[], size_t
      count,\n                          void *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasestr
      Src: /src/vlc/modules/gui/ncurses.c:399,1
    - Dst: getter
      Src: /src/vlc/modules/gui/ncurses.c:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - sys
    - searchstring
    - i_start
    - i_stop
    - (*getter)(intf_sys_t *, int)
    argTypes:
    - intf_sys_t*
    - char*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 402
    functionName: SubSearchIn
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - strcasestr
    - getter
    linkageType: ''
    returnType: int
    signature: "int SubSearchIn(intf_sys_t *sys, char *searchstring,\n                             int
      i_start, int i_stop, const char * (*getter)(intf_sys_t *, int))"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SubSearchIn
      Src: /src/vlc/modules/gui/ncurses.c:414,1
    - Dst: SubSearchIn
      Src: /src/vlc/modules/gui/ncurses.c:416,1
    - Dst: CheckIdx
      Src: /src/vlc/modules/gui/ncurses.c:420,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - sys
    - (*getter)(intf_sys_t *, int)
    - size
    - search_chain
    argTypes:
    - intf_sys_t*
    - char*
    - size_t
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 422
    functionName: SearchIn
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 1
    functionsReached:
    - CheckIdx
    - SubSearchIn
    linkageType: ''
    returnType: void
    signature: void SearchIn(intf_sys_t *sys, const char * (*getter)(intf_sys_t *,
      int), size_t size, char search_chain[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sys
    - index
    argTypes:
    - intf_sys_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 427
    functionName: FileSearchGetter
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * FileSearchGetter(intf_sys_t * sys, int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sys
    - index
    argTypes:
    - intf_sys_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 432
    functionName: PlaylistSearchGetter
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * PlaylistSearchGetter(intf_sys_t * sys, int index)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SearchIn
      Src: /src/vlc/modules/gui/ncurses.c:440,1
    - Dst: SearchIn
      Src: /src/vlc/modules/gui/ncurses.c:444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - sys
    argTypes:
    - intf_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 434
    functionDepth: 3
    functionLinenumber: 434
    functionLinenumberEnd: 447
    functionName: Search
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 4
    functionsReached:
    - SearchIn
    linkageType: ''
    returnType: void
    signature: void Search(intf_sys_t *sys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/gui/ncurses.c:502,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 505
    functionName: get_color_id_from_string
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int get_color_id_from_string(const char * string)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/gui/ncurses.c:531,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 534
    functionName: get_element_id_from_string
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int get_element_id_from_string(const char * string)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: init_color
      Src: /src/vlc/modules/gui/ncurses.c:537,1
    - Dst: config_GetPsz
      Src: /src/vlc/modules/gui/ncurses.c:540,1
    - Dst: config_ChainParseOptions
      Src: /src/vlc/modules/gui/ncurses.c:545,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/ncurses.c:549,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/ncurses.c:553,1
    - Dst: sscanf
      Src: /src/vlc/modules/gui/ncurses.c:557,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/ncurses.c:558,1
    - Dst: get_color_id_from_string
      Src: /src/vlc/modules/gui/ncurses.c:564,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/ncurses.c:566,1
    - Dst: init_color
      Src: /src/vlc/modules/gui/ncurses.c:569,1
    - Dst: config_ChainDestroy
      Src: /src/vlc/modules/gui/ncurses.c:573,1
    - Dst: free
      Src: /src/vlc/modules/gui/ncurses.c:574,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 1
    argNames:
    - intf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 575
    functionName: load_colors_config
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - sscanf
    - config_ChainParseOptions
    - get_color_id_from_string
    - msg_Err
    - config_ChainDestroy
    - free
    - init_color
    - config_GetPsz
    linkageType: ''
    returnType: void
    signature: void load_colors_config(intf_thread_t *intf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/vlc/modules/gui/ncurses.c:582,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/ncurses.c:583,1
    - Dst: get_color_id_from_string
      Src: /src/vlc/modules/gui/ncurses.c:587,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/ncurses.c:589,1
    - Dst: get_color_id_from_string
      Src: /src/vlc/modules/gui/ncurses.c:593,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/ncurses.c:595,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - intf
    - token
    - fg
    - bg
    argTypes:
    - intf_thread_t*
    - char*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 600
    functionName: parse_color_pair
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - sscanf
    - get_color_id_from_string
    - msg_Err
    linkageType: ''
    returnType: int
    signature: "int parse_color_pair(intf_thread_t *intf, const char *token,\n                             int
      *fg, int *bg)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/gui/ncurses.c:603,1
    - Dst: init_pair
      Src: /src/vlc/modules/gui/ncurses.c:604,1
    - Dst: config_GetPsz
      Src: /src/vlc/modules/gui/ncurses.c:609,1
    - Dst: config_ChainParseOptions
      Src: /src/vlc/modules/gui/ncurses.c:613,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/ncurses.c:617,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/ncurses.c:621,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/ncurses.c:625,1
    - Dst: strtok_r
      Src: /src/vlc/modules/gui/ncurses.c:627,1
    - Dst: parse_color_pair
      Src: /src/vlc/modules/gui/ncurses.c:633,1
    - Dst: init_pair
      Src: /src/vlc/modules/gui/ncurses.c:635,1
    - Dst: strtok_r
      Src: /src/vlc/modules/gui/ncurses.c:638,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/ncurses.c:641,1
    - Dst: parse_color_pair
      Src: /src/vlc/modules/gui/ncurses.c:652,1
    - Dst: get_element_id_from_string
      Src: /src/vlc/modules/gui/ncurses.c:655,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/ncurses.c:657,1
    - Dst: init_pair
      Src: /src/vlc/modules/gui/ncurses.c:661,1
    - Dst: config_ChainDestroy
      Src: /src/vlc/modules/gui/ncurses.c:666,1
    - Dst: free
      Src: /src/vlc/modules/gui/ncurses.c:667,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 1
    argNames:
    - intf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 602
    functionDepth: 2
    functionLinenumber: 602
    functionLinenumberEnd: 668
    functionName: load_pairs_config
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - init_pair
    - config_ChainParseOptions
    - strtok_r
    - ARRAY_SIZE
    - get_element_id_from_string
    - msg_Err
    - config_ChainDestroy
    - strcmp
    - parse_color_pair
    - free
    - config_GetPsz
    linkageType: ''
    returnType: void
    signature: void load_pairs_config(intf_thread_t *intf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: has_colors
      Src: /src/vlc/modules/gui/ncurses.c:678,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/ncurses.c:680,1
    - Dst: start_color
      Src: /src/vlc/modules/gui/ncurses.c:684,1
    - Dst: load_pairs_config
      Src: /src/vlc/modules/gui/ncurses.c:686,1
    - Dst: can_change_color
      Src: /src/vlc/modules/gui/ncurses.c:689,1
    - Dst: color_content
      Src: /src/vlc/modules/gui/ncurses.c:691,1
    - Dst: load_colors_config
      Src: /src/vlc/modules/gui/ncurses.c:693,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - intf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 674
    functionDepth: 3
    functionLinenumber: 674
    functionLinenumberEnd: 695
    functionName: start_color_and_pairs
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - load_colors_config
    - load_pairs_config
    - color_content
    - can_change_color
    - start_color
    - has_colors
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: void start_color_and_pairs(intf_thread_t *intf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:703,1
    - Dst: strlen
      Src: /src/vlc/modules/gui/ncurses.c:706,1
    - Dst: mvaddch
      Src: /src/vlc/modules/gui/ncurses.c:711,1
    - Dst: mvhline
      Src: /src/vlc/modules/gui/ncurses.c:712,1
    - Dst: mvprintw
      Src: /src/vlc/modules/gui/ncurses.c:713,1
    - Dst: mvhline
      Src: /src/vlc/modules/gui/ncurses.c:714,1
    - Dst: mvaddch
      Src: /src/vlc/modules/gui/ncurses.c:715,1
    - Dst: mvaddch
      Src: /src/vlc/modules/gui/ncurses.c:718,1
    - Dst: mvaddch
      Src: /src/vlc/modules/gui/ncurses.c:719,1
    - Dst: mvaddch
      Src: /src/vlc/modules/gui/ncurses.c:722,1
    - Dst: mvhline
      Src: /src/vlc/modules/gui/ncurses.c:723,1
    - Dst: mvaddch
      Src: /src/vlc/modules/gui/ncurses.c:724,1
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:725,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - y
    - h
    - color
    - title
    argTypes:
    - int
    - int
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 726
    functionName: DrawBox
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - strlen
    - color_set
    - mvaddch
    - mvhline
    - mvprintw
    linkageType: ''
    returnType: void
    signature: void DrawBox(int y, int h, bool color, const char *title)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mvhline
      Src: /src/vlc/modules/gui/ncurses.c:732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - y
    - x
    - w
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 733
    functionName: DrawEmptyLine
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - mvhline
    linkageType: ''
    returnType: void
    signature: void DrawEmptyLine(int y, int x, int w)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vlc/modules/gui/ncurses.c:744,1
    - Dst: vasprintf
      Src: /src/vlc/modules/gui/ncurses.c:745,1
    - Dst: va_end
      Src: /src/vlc/modules/gui/ncurses.c:746,1
    - Dst: strlen
      Src: /src/vlc/modules/gui/ncurses.c:751,1
    - Dst: EnsureUTF8
      Src: /src/vlc/modules/gui/ncurses.c:755,1
    - Dst: mbstowcs
      Src: /src/vlc/modules/gui/ncurses.c:756,1
    - Dst: free
      Src: /src/vlc/modules/gui/ncurses.c:761,1
    - Dst: wcswidth
      Src: /src/vlc/modules/gui/ncurses.c:765,1
    - Dst: wcwidth
      Src: /src/vlc/modules/gui/ncurses.c:770,1
    - Dst: mvprintw
      Src: /src/vlc/modules/gui/ncurses.c:777,1
    - Dst: mvhline
      Src: /src/vlc/modules/gui/ncurses.c:778,1
    - Dst: free
      Src: /src/vlc/modules/gui/ncurses.c:779,1
    - Dst: wcwidth
      Src: /src/vlc/modules/gui/ncurses.c:786,1
    - Dst: wcwidth
      Src: /src/vlc/modules/gui/ncurses.c:790,1
    - Dst: wcwidth
      Src: /src/vlc/modules/gui/ncurses.c:795,1
    - Dst: wcwidth
      Src: /src/vlc/modules/gui/ncurses.c:801,1
    - Dst: wmemmove
      Src: /src/vlc/modules/gui/ncurses.c:808,1
    - Dst: wcslen
      Src: /src/vlc/modules/gui/ncurses.c:817,1
    - Dst: wcstombs
      Src: /src/vlc/modules/gui/ncurses.c:819,1
    - Dst: mvprintw
      Src: /src/vlc/modules/gui/ncurses.c:820,1
    - Dst: free
      Src: /src/vlc/modules/gui/ncurses.c:822,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 4
    argNames:
    - y
    - x
    - w
    - p_fmt
    argTypes:
    - int
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 735
    functionDepth: 2
    functionLinenumber: 735
    functionLinenumberEnd: 823
    functionName: mvnprintw
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - wcstombs
    - vasprintf
    - va_start
    - strlen
    - wcswidth
    - EnsureUTF8
    - free
    - wmemmove
    - wcslen
    - mbstowcs
    - mvprintw
    - mvhline
    - wcwidth
    - va_end
    linkageType: ''
    returnType: void
    signature: void mvnprintw(int y, int x, int w, const char *p_fmt, ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vlc/modules/gui/ncurses.c:834,1
    - Dst: vasprintf
      Src: /src/vlc/modules/gui/ncurses.c:835,1
    - Dst: va_end
      Src: /src/vlc/modules/gui/ncurses.c:836,1
    - Dst: attron
      Src: /src/vlc/modules/gui/ncurses.c:840,1
    - Dst: mvnprintw
      Src: /src/vlc/modules/gui/ncurses.c:841,1
    - Dst: attroff
      Src: /src/vlc/modules/gui/ncurses.c:842,1
    - Dst: free
      Src: /src/vlc/modules/gui/ncurses.c:844,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - sys
    - l
    - p_fmt
    argTypes:
    - intf_sys_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 825
    functionDepth: 3
    functionLinenumber: 825
    functionLinenumberEnd: 845
    functionName: MainBoxWrite
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - attron
    - mvnprintw
    - vasprintf
    - va_start
    - attroff
    - free
    - va_end
    linkageType: ''
    returnType: void
    signature: void MainBoxWrite(intf_sys_t *sys, int l, const char *p_fmt, ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/ncurses.c:852,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/gui/ncurses.c:853,1
    - Dst: vlc_player_HoldCurrentMedia
      Src: /src/vlc/modules/gui/ncurses.c:854,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/gui/ncurses.c:855,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/gui/ncurses.c:859,1
    - Dst: vlc_meta_Get
      Src: /src/vlc/modules/gui/ncurses.c:861,1
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:865,1
    - Dst: MainBoxWrite
      Src: /src/vlc/modules/gui/ncurses.c:866,1
    - Dst: vlc_meta_TypeToLocalizedString
      Src: /src/vlc/modules/gui/ncurses.c:866,1
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:867,1
    - Dst: MainBoxWrite
      Src: /src/vlc/modules/gui/ncurses.c:868,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/gui/ncurses.c:870,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/gui/ncurses.c:872,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - intf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 847
    functionDepth: 4
    functionLinenumber: 847
    functionLinenumberEnd: 875
    functionName: DrawMeta
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - MainBoxWrite
    - vlc_meta_TypeToLocalizedString
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - input_item_Release
    - vlc_player_Unlock
    - vlc_player_HoldCurrentMedia
    - vlc_player_Lock
    - color_set
    - vlc_playlist_GetPlayer
    - vlc_meta_Get
    linkageType: ''
    returnType: int
    signature: int DrawMeta(intf_thread_t *intf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/ncurses.c:882,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/gui/ncurses.c:883,1
    - Dst: vlc_player_HoldCurrentMedia
      Src: /src/vlc/modules/gui/ncurses.c:884,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/gui/ncurses.c:885,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/gui/ncurses.c:889,1
    - Dst: vlc_list_foreach
      Src: /src/vlc/modules/gui/ncurses.c:891,1
    - Dst: info_category_IsHidden
      Src: /src/vlc/modules/gui/ncurses.c:894,1
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:897,1
    - Dst: MainBoxWrite
      Src: /src/vlc/modules/gui/ncurses.c:898,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:898,1
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:899,1
    - Dst: info_foreach
      Src: /src/vlc/modules/gui/ncurses.c:900,1
    - Dst: MainBoxWrite
      Src: /src/vlc/modules/gui/ncurses.c:901,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:901,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/gui/ncurses.c:904,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/gui/ncurses.c:906,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - intf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 877
    functionDepth: 4
    functionLinenumber: 877
    functionLinenumberEnd: 909
    functionName: DrawInfo
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - info_foreach
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - info_category_IsHidden
    - input_item_Release
    - vlc_player_Unlock
    - vlc_player_HoldCurrentMedia
    - _
    - vlc_player_Lock
    - color_set
    - vlc_playlist_GetPlayer
    - vlc_list_foreach
    - MainBoxWrite
    linkageType: ''
    returnType: int
    signature: int DrawInfo(intf_thread_t *intf)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/ncurses.c:917,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/gui/ncurses.c:918,1
    - Dst: vlc_player_HoldCurrentMedia
      Src: /src/vlc/modules/gui/ncurses.c:919,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/gui/ncurses.c:920,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/gui/ncurses.c:924,1
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:933,1
    - Dst: MainBoxWrite
      Src: /src/vlc/modules/gui/ncurses.c:934,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:934,1
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:935,1
    - Dst: MainBoxWrite
      Src: /src/vlc/modules/gui/ncurses.c:936,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:936,1
    - Dst: MainBoxWrite
      Src: /src/vlc/modules/gui/ncurses.c:938,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:938,1
    - Dst: MainBoxWrite
      Src: /src/vlc/modules/gui/ncurses.c:940,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:940,1
    - Dst: MainBoxWrite
      Src: /src/vlc/modules/gui/ncurses.c:942,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:942,1
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:947,1
    - Dst: MainBoxWrite
      Src: /src/vlc/modules/gui/ncurses.c:948,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:948,1
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:949,1
    - Dst: MainBoxWrite
      Src: /src/vlc/modules/gui/ncurses.c:950,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:950,1
    - Dst: MainBoxWrite
      Src: /src/vlc/modules/gui/ncurses.c:952,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:952,1
    - Dst: MainBoxWrite
      Src: /src/vlc/modules/gui/ncurses.c:954,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:954,1
    - Dst: MainBoxWrite
      Src: /src/vlc/modules/gui/ncurses.c:956,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:956,1
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:961,1
    - Dst: MainBoxWrite
      Src: /src/vlc/modules/gui/ncurses.c:962,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:962,1
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:963,1
    - Dst: MainBoxWrite
      Src: /src/vlc/modules/gui/ncurses.c:964,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:964,1
    - Dst: MainBoxWrite
      Src: /src/vlc/modules/gui/ncurses.c:966,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:966,1
    - Dst: MainBoxWrite
      Src: /src/vlc/modules/gui/ncurses.c:968,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:968,1
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:971,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/gui/ncurses.c:973,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/gui/ncurses.c:975,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 1
    argNames:
    - intf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 911
    functionDepth: 4
    functionLinenumber: 911
    functionLinenumberEnd: 978
    functionName: DrawStats
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - input_item_Release
    - vlc_player_Unlock
    - vlc_player_HoldCurrentMedia
    - _
    - vlc_player_Lock
    - color_set
    - vlc_playlist_GetPlayer
    - MainBoxWrite
    linkageType: ''
    returnType: int
    signature: int DrawStats(intf_thread_t *intf)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:987,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:988,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:988,1
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:989,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:990,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:990,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:991,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:991,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:992,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:992,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:993,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:993,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:994,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:994,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:995,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:995,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:996,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:996,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:997,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:997,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:998,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:998,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:999,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:999,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1000,1
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:1002,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1003,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1003,1
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:1004,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1005,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1005,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1006,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1006,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1007,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1007,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1008,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1008,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1009,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1009,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1010,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1010,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1011,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1011,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1012,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1012,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1013,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1013,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1014,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1014,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1016,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1016,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1017,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1017,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1018,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1018,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1020,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1020,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1022,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1022,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1024,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1024,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1025,1
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:1027,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1028,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1028,1
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:1029,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1030,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1030,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1031,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1031,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1032,1
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:1034,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1035,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1035,1
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:1036,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1037,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1037,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1038,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1038,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1039,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1039,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1040,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1040,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1041,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1041,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1042,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1042,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1043,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1043,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1044,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1044,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1045,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1045,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1047,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1047,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1048,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1048,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1049,1
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:1051,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1052,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1052,1
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:1053,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1054,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1054,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1055,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1055,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1056,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1056,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1057,1
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:1059,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1060,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1060,1
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:1061,1
    - Dst: H
      Src: /src/vlc/modules/gui/ncurses.c:1063,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1063,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 80
    argCount: 1
    argNames:
    - intf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 980
    functionDepth: 1
    functionLinenumber: 980
    functionLinenumberEnd: 1067
    functionName: DrawHelp
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - color_set
    - H
    - _
    linkageType: ''
    returnType: int
    signature: int DrawHelp(intf_thread_t *intf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 986
    functionName: H
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 53
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H(a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:1078,1
    - Dst: MainBoxWrite
      Src: /src/vlc/modules/gui/ncurses.c:1079,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - intf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1069
    functionDepth: 4
    functionLinenumber: 1069
    functionLinenumberEnd: 1083
    functionName: DrawBrowse
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - color_set
    - MainBoxWrite
    linkageType: ''
    returnType: int
    signature: int DrawBrowse(intf_thread_t *intf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:1088,1
    - Dst: DrawEmptyLine
      Src: /src/vlc/modules/gui/ncurses.c:1089,1
    - Dst: attron
      Src: /src/vlc/modules/gui/ncurses.c:1090,1
    - Dst: DrawEmptyLine
      Src: /src/vlc/modules/gui/ncurses.c:1091,1
    - Dst: attroff
      Src: /src/vlc/modules/gui/ncurses.c:1092,1
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:1094,1
    - Dst: attron
      Src: /src/vlc/modules/gui/ncurses.c:1096,1
    - Dst: mvnprintw
      Src: /src/vlc/modules/gui/ncurses.c:1097,1
    - Dst: fabs
      Src: /src/vlc/modules/gui/ncurses.c:1097,1
    - Dst: attroff
      Src: /src/vlc/modules/gui/ncurses.c:1098,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - sys
    - y
    - v
    - dB
    argTypes:
    - intf_sys_t*
    - int
    - int
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1085
    functionDepth: 3
    functionLinenumber: 1085
    functionLinenumberEnd: 1099
    functionName: DrawBandsBar
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - attron
    - mvnprintw
    - attroff
    - color_set
    - DrawEmptyLine
    - fabs
    linkageType: ''
    returnType: void
    signature: void DrawBandsBar(intf_sys_t * sys, int y, int v, float dB)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MainBoxWrite
      Src: /src/vlc/modules/gui/ncurses.c:1106,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1106,1
    - Dst: MainBoxWrite
      Src: /src/vlc/modules/gui/ncurses.c:1107,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1107,1
    - Dst: DrawBandsBar
      Src: /src/vlc/modules/gui/ncurses.c:1108,1
    - Dst: MainBoxWrite
      Src: /src/vlc/modules/gui/ncurses.c:1110,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1110,1
    - Dst: MainBoxWrite
      Src: /src/vlc/modules/gui/ncurses.c:1111,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1111,1
    - Dst: MainBoxWrite
      Src: /src/vlc/modules/gui/ncurses.c:1114,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1114,1
    - Dst: DrawBandsBar
      Src: /src/vlc/modules/gui/ncurses.c:1115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - intf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1101
    functionDepth: 4
    functionLinenumber: 1101
    functionLinenumberEnd: 1120
    functionName: DrawEqualizer
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - DrawBandsBar
    - _
    - MainBoxWrite
    linkageType: ''
    returnType: int
    signature: int DrawEqualizer(intf_thread_t *intf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MainBoxWrite
      Src: /src/vlc/modules/gui/ncurses.c:1128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - intf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1122
    functionDepth: 4
    functionLinenumber: 1122
    functionLinenumberEnd: 1131
    functionName: DrawPresets
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - MainBoxWrite
    linkageType: ''
    returnType: int
    signature: int DrawPresets(intf_thread_t *intf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/ncurses.c:1138,1
    - Dst: vlc_playlist_GetCurrentIndex
      Src: /src/vlc/modules/gui/ncurses.c:1139,1
    - Dst: PlaylistRebuild
      Src: /src/vlc/modules/gui/ncurses.c:1141,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/ncurses.c:1142,1
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:1150,1
    - Dst: MainBoxWrite
      Src: /src/vlc/modules/gui/ncurses.c:1153,1
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:1158,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - intf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1133
    functionDepth: 4
    functionLinenumber: 1133
    functionLinenumberEnd: 1162
    functionName: DrawPlaylist
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - vlc_playlist_Lock
    - vlc_playlist_Unlock
    - vlc_playlist_GetCurrentIndex
    - color_set
    - PlaylistRebuild
    - MainBoxWrite
    linkageType: ''
    returnType: int
    signature: int DrawPlaylist(intf_thread_t *intf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/gui/ncurses.c:1169,1
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:1175,1
    - Dst: MainBoxWrite
      Src: /src/vlc/modules/gui/ncurses.c:1176,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/gui/ncurses.c:1179,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/gui/ncurses.c:1186,1
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:1188,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - intf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1164
    functionDepth: 4
    functionLinenumber: 1164
    functionLinenumberEnd: 1191
    functionName: DrawMessages
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - color_set
    - MainBoxWrite
    linkageType: ''
    returnType: int
    signature: int DrawMessages(intf_thread_t *intf)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1197,1
    - Dst: strlen
      Src: /src/vlc/modules/gui/ncurses.c:1198,1
    - Dst: attrset
      Src: /src/vlc/modules/gui/ncurses.c:1208,1
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:1209,1
    - Dst: DrawEmptyLine
      Src: /src/vlc/modules/gui/ncurses.c:1210,1
    - Dst: mvnprintw
      Src: /src/vlc/modules/gui/ncurses.c:1211,1
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:1212,1
    - Dst: attroff
      Src: /src/vlc/modules/gui/ncurses.c:1213,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/ncurses.c:1220,1
    - Dst: vlc_playlist_GetPlaybackRepeat
      Src: /src/vlc/modules/gui/ncurses.c:1222,1
    - Dst: vlc_playlist_GetPlaybackOrder
      Src: /src/vlc/modules/gui/ncurses.c:1224,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/ncurses.c:1232,1
    - Dst: vlc_player_IsStarted
      Src: /src/vlc/modules/gui/ncurses.c:1233,1
    - Dst: vlc_player_GetCurrentMedia
      Src: /src/vlc/modules/gui/ncurses.c:1236,1
    - Dst: assert
      Src: /src/vlc/modules/gui/ncurses.c:1237,1
    - Dst: input_item_GetURI
      Src: /src/vlc/modules/gui/ncurses.c:1238,1
    - Dst: vlc_uri2path
      Src: /src/vlc/modules/gui/ncurses.c:1239,1
    - Dst: mvnprintw
      Src: /src/vlc/modules/gui/ncurses.c:1241,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1241,1
    - Dst: free
      Src: /src/vlc/modules/gui/ncurses.c:1242,1
    - Dst: free
      Src: /src/vlc/modules/gui/ncurses.c:1243,1
    - Dst: vlc_player_GetState
      Src: /src/vlc/modules/gui/ncurses.c:1245,1
    - Dst: mvnprintw
      Src: /src/vlc/modules/gui/ncurses.c:1264,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1264,1
    - Dst: vlc_tick_to_str
      Src: /src/vlc/modules/gui/ncurses.c:1268,1
    - Dst: vlc_player_GetTime
      Src: /src/vlc/modules/gui/ncurses.c:1268,1
    - Dst: vlc_tick_to_str
      Src: /src/vlc/modules/gui/ncurses.c:1269,1
    - Dst: vlc_player_GetLength
      Src: /src/vlc/modules/gui/ncurses.c:1269,1
    - Dst: mvnprintw
      Src: /src/vlc/modules/gui/ncurses.c:1271,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1271,1
    - Dst: vlc_player_aout_GetVolume
      Src: /src/vlc/modules/gui/ncurses.c:1273,1
    - Dst: vlc_player_aout_IsMuted
      Src: /src/vlc/modules/gui/ncurses.c:1274,1
    - Dst: mvnprintw
      Src: /src/vlc/modules/gui/ncurses.c:1275,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1276,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1277,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1277,1
    - Dst: lroundf
      Src: /src/vlc/modules/gui/ncurses.c:1278,1
    - Dst: vlc_player_GetTitleList
      Src: /src/vlc/modules/gui/ncurses.c:1282,1
    - Dst: vlc_player_title_list_GetCount
      Src: /src/vlc/modules/gui/ncurses.c:1284,1
    - Dst: mvnprintw
      Src: /src/vlc/modules/gui/ncurses.c:1286,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1286,1
    - Dst: vlc_player_GetSelectedTitleIdx
      Src: /src/vlc/modules/gui/ncurses.c:1287,1
    - Dst: vlc_player_GetSelectedTitle
      Src: /src/vlc/modules/gui/ncurses.c:1289,1
    - Dst: mvnprintw
      Src: /src/vlc/modules/gui/ncurses.c:1292,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1292,1
    - Dst: vlc_player_GetSelectedChapterIdx
      Src: /src/vlc/modules/gui/ncurses.c:1293,1
    - Dst: vlc_player_GetError
      Src: /src/vlc/modules/gui/ncurses.c:1296,1
    - Dst: mvnprintw
      Src: /src/vlc/modules/gui/ncurses.c:1299,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1299,1
    - Dst: mvnprintw
      Src: /src/vlc/modules/gui/ncurses.c:1300,1
    - Dst: mvnprintw
      Src: /src/vlc/modules/gui/ncurses.c:1301,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1301,1
    - Dst: DrawEmptyLine
      Src: /src/vlc/modules/gui/ncurses.c:1302,1
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:1305,1
    - Dst: DrawBox
      Src: /src/vlc/modules/gui/ncurses.c:1306,1
    - Dst: DrawEmptyLine
      Src: /src/vlc/modules/gui/ncurses.c:1307,1
    - Dst: vlc_player_IsStarted
      Src: /src/vlc/modules/gui/ncurses.c:1308,1
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:1311,1
    - Dst: DrawEmptyLine
      Src: /src/vlc/modules/gui/ncurses.c:1312,1
    - Dst: vlc_player_GetPosition
      Src: /src/vlc/modules/gui/ncurses.c:1312,1
    - Dst: color_set
      Src: /src/vlc/modules/gui/ncurses.c:1314,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/ncurses.c:1318,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 72
    argCount: 1
    argNames:
    - intf
    argTypes:
    - intf_thread_t*
    assertStmts:
    - condition: (item)
      pos:
        line_end: 1236
        line_start: 1236
        source_file: /src/vlc/modules/gui/ncurses.c
    constantsTouched: []
    func_position:
      end: 1321
      start: 1193
    functionDepth: 3
    functionLinenumber: 1193
    functionLinenumberEnd: 1321
    functionName: DrawStatus
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - vlc_playlist_GetPlaybackOrder
    - assert
    - vlc_playlist_GetPlaybackRepeat
    - attroff
    - vlc_playlist_Unlock
    - vlc_player_GetTime
    - attrset
    - vlc_player_GetPosition
    - DrawEmptyLine
    - vlc_player_IsStarted
    - vlc_player_GetError
    - lroundf
    - DrawBox
    - vlc_tick_to_str
    - mvnprintw
    - _
    - color_set
    - vlc_playlist_GetPlayer
    - vlc_player_title_list_GetCount
    - vlc_player_GetSelectedChapterIdx
    - vlc_player_GetSelectedTitle
    - vlc_playlist_Lock
    - vlc_uri2path
    - vlc_player_GetLength
    - vlc_player_aout_IsMuted
    - vlc_player_GetSelectedTitleIdx
    - vlc_player_GetState
    - vlc_player_GetTitleList
    - strlen
    - free
    - vlc_player_aout_GetVolume
    - input_item_GetURI
    - vlc_player_GetCurrentMedia
    linkageType: ''
    returnType: int
    signature: int DrawStatus(intf_thread_t *intf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DrawEmptyLine
      Src: /src/vlc/modules/gui/ncurses.c:1327,1
    - Dst: mvnprintw
      Src: /src/vlc/modules/gui/ncurses.c:1329,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1329,1
    - Dst: mvnprintw
      Src: /src/vlc/modules/gui/ncurses.c:1331,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1331,1
    - Dst: mvnprintw
      Src: /src/vlc/modules/gui/ncurses.c:1333,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - sys
    argTypes:
    - intf_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1323
    functionDepth: 3
    functionLinenumber: 1323
    functionLinenumberEnd: 1334
    functionName: FillTextBox
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - DrawEmptyLine
    - _
    - mvnprintw
    linkageType: ''
    returnType: void
    signature: void FillTextBox(intf_sys_t *sys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FillTextBox
      Src: /src/vlc/modules/gui/ncurses.c:1357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - intf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1336
    functionDepth: 4
    functionLinenumber: 1336
    functionLinenumberEnd: 1358
    functionName: FillBox
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - FillTextBox
    linkageType: ''
    returnType: void
    signature: void FillBox(intf_thread_t *intf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DrawStatus
      Src: /src/vlc/modules/gui/ncurses.c:1364,1
    - Dst: DrawBox
      Src: /src/vlc/modules/gui/ncurses.c:1367,1
    - Dst: _
      Src: /src/vlc/modules/gui/ncurses.c:1367,1
    - Dst: FillBox
      Src: /src/vlc/modules/gui/ncurses.c:1372,1
    - Dst: __MIN
      Src: /src/vlc/modules/gui/ncurses.c:1378,1
    - Dst: DrawEmptyLine
      Src: /src/vlc/modules/gui/ncurses.c:1383,1
    - Dst: refresh
      Src: /src/vlc/modules/gui/ncurses.c:1385,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - intf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1360
    functionDepth: 5
    functionLinenumber: 1360
    functionLinenumberEnd: 1386
    functionName: Redraw
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - DrawBox
    - _
    - FillBox
    - __MIN
    - DrawEmptyLine
    - DrawStatus
    - refresh
    linkageType: ''
    returnType: void
    signature: void Redraw(intf_thread_t *intf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/gui/ncurses.c:1390,1
    - Dst: vlc_player_GetState
      Src: /src/vlc/modules/gui/ncurses.c:1391,1
    - Dst: vlc_player_JumpPos
      Src: /src/vlc/modules/gui/ncurses.c:1392,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/gui/ncurses.c:1393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - player
    - increment
    argTypes:
    - vlc_player_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1388
    functionDepth: 1
    functionLinenumber: 1388
    functionLinenumberEnd: 1394
    functionName: ChangePosition
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - vlc_player_JumpPos
    - vlc_player_Unlock
    - vlc_player_Lock
    - vlc_player_GetState
    linkageType: ''
    returnType: void
    signature: void ChangePosition(vlc_player_t *player, float increment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - psz
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1396
    functionDepth: 0
    functionLinenumber: 1396
    functionLinenumberEnd: 1401
    functionName: RemoveLastUTF8Entity
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RemoveLastUTF8Entity(char *psz, int len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/gui/ncurses.c:1413,1
    - Dst: strncmp
      Src: /src/vlc/modules/gui/ncurses.c:1415,1
    - Dst: config_GetPsz
      Src: /src/vlc/modules/gui/ncurses.c:1417,1
    - Dst: strdup
      Src: /src/vlc/modules/gui/ncurses.c:1419,1
    - Dst: strdup
      Src: /src/vlc/modules/gui/ncurses.c:1423,1
    - Dst: strcspn
      Src: /src/vlc/modules/gui/ncurses.c:1426,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1403
    functionDepth: 1
    functionLinenumber: 1403
    functionLinenumberEnd: 1429
    functionName: GetDiscDevice
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - strdup
    - ARRAY_SIZE
    - strncmp
    - strcspn
    - config_GetPsz
    linkageType: ''
    returnType: char
    signature: char *GetDiscDevice(const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/gui/ncurses.c:1436,1
    - Dst: vlc_player_IsStarted
      Src: /src/vlc/modules/gui/ncurses.c:1437,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/gui/ncurses.c:1438,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/gui/ncurses.c:1442,1
    - Dst: vlc_player_GetCurrentMedia
      Src: /src/vlc/modules/gui/ncurses.c:1443,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/gui/ncurses.c:1444,1
    - Dst: GetDiscDevice
      Src: /src/vlc/modules/gui/ncurses.c:1448,1
    - Dst: intf_Eject
      Src: /src/vlc/modules/gui/ncurses.c:1451,1
    - Dst: free
      Src: /src/vlc/modules/gui/ncurses.c:1452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - intf
    - player
    argTypes:
    - intf_thread_t*
    - vlc_player_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1454
      start: 1431
    functionDepth: 2
    functionLinenumber: 1431
    functionLinenumberEnd: 1454
    functionName: Eject
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 1
    functionsReached:
    - intf_Eject
    - vlc_player_Unlock
    - vlc_player_Lock
    - free
    - GetDiscDevice
    - vlc_player_IsStarted
    - vlc_player_GetCurrentMedia
    linkageType: ''
    returnType: void
    signature: void Eject(intf_thread_t *intf, vlc_player_t *player)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_path2uri
      Src: /src/vlc/modules/gui/ncurses.c:1458,1
    - Dst: input_item_New
      Src: /src/vlc/modules/gui/ncurses.c:1462,1
    - Dst: free
      Src: /src/vlc/modules/gui/ncurses.c:1463,1
    - Dst: unlikely
      Src: /src/vlc/modules/gui/ncurses.c:1464,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/ncurses.c:1469,1
    - Dst: vlc_playlist_AppendOne
      Src: /src/vlc/modules/gui/ncurses.c:1470,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/ncurses.c:1471,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/gui/ncurses.c:1473,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - intf
    - path
    argTypes:
    - intf_thread_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1456
    functionDepth: 1
    functionLinenumber: 1456
    functionLinenumberEnd: 1474
    functionName: AddItem
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 24
    functionsReached:
    - vlc_playlist_Lock
    - input_item_New
    - input_item_Release
    - vlc_playlist_Unlock
    - free
    - unlikely
    - vlc_path2uri
    - vlc_playlist_AppendOne
    linkageType: ''
    returnType: void
    signature: void AddItem(intf_thread_t *intf, const char *path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EqualizerDeinit
      Src: /src/vlc/modules/gui/ncurses.c:1484,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - sys
    - box
    argTypes:
    - intf_sys_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1477
    functionDepth: 1
    functionLinenumber: 1477
    functionLinenumberEnd: 1487
    functionName: BoxSwitch
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - EqualizerDeinit
    linkageType: ''
    returnType: void
    signature: void BoxSwitch(intf_sys_t *sys, int box)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/vlc/modules/gui/ncurses.c:1496,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - sys
    - bands_str
    argTypes:
    - intf_sys_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1489
    functionDepth: 0
    functionLinenumber: 1489
    functionLinenumberEnd: 1501
    functionName: EqualizerUpdateBands
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - sscanf
    linkageType: ''
    returnType: void
    signature: void EqualizerUpdateBands(intf_sys_t * sys, char * bands_str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/gui/ncurses.c:1507,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - sys
    - newname
    argTypes:
    - intf_sys_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1513
    functionName: EqualizerUpdatePreset
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: void EqualizerUpdatePreset(intf_sys_t * sys, const char * newname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EnsureBegin
      Src: /src/vlc/modules/gui/ncurses.c:1533,1
    - Dst: EqualizerUpdateBands
      Src: /src/vlc/modules/gui/ncurses.c:1534,1
    - Dst: EnsureEnd
      Src: /src/vlc/modules/gui/ncurses.c:1535,1
    - Dst: var_GetFloat
      Src: /src/vlc/modules/gui/ncurses.c:1538,1
    - Dst: EnsureBegin
      Src: /src/vlc/modules/gui/ncurses.c:1540,1
    - Dst: strstr
      Src: /src/vlc/modules/gui/ncurses.c:1541,1
    - Dst: EnsureEnd
      Src: /src/vlc/modules/gui/ncurses.c:1542,1
    - Dst: EnsureBegin
      Src: /src/vlc/modules/gui/ncurses.c:1544,1
    - Dst: EqualizerUpdatePreset
      Src: /src/vlc/modules/gui/ncurses.c:1545,1
    - Dst: EnsureEnd
      Src: /src/vlc/modules/gui/ncurses.c:1546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - sys
    argTypes:
    - intf_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1547
      start: 1516
    functionDepth: 1
    functionLinenumber: 1516
    functionLinenumberEnd: 1547
    functionName: EqualizerLoad
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - var_GetFloat
    - EnsureEnd
    - EqualizerUpdateBands
    - EqualizerUpdatePreset
    - strstr
    - EnsureBegin
    linkageType: ''
    returnType: void
    signature: void EqualizerLoad(intf_sys_t * sys)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1518
    functionDepth: 0
    functionLinenumber: 1518
    functionLinenumberEnd: 1527
    functionName: EnsureBegin
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EnsureBegin(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1527
    functionDepth: 0
    functionLinenumber: 1527
    functionLinenumberEnd: 1531
    functionName: EnsureEnd
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EnsureEnd()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psz_string::psz_string
      Src: /src/vlc/modules/gui/ncurses.c:1553,1
    - Dst: strstr
      Src: /src/vlc/modules/gui/ncurses.c:1553,1
    - Dst: psz_string::psz_string
      Src: /src/vlc/modules/gui/ncurses.c:1553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - pobj
    - pvar
    - old
    - new
    - vsys
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1549
    functionDepth: 0
    functionLinenumber: 1549
    functionLinenumberEnd: 1555
    functionName: AudioFilterCallback
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - psz_string::psz_string
    - strstr
    linkageType: ''
    returnType: int
    signature: int AudioFilterCallback(vlc_object_t * pobj, const char * pvar, vlc_value_t
      old, vlc_value_t new, void *vsys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psz_string::psz_string
      Src: /src/vlc/modules/gui/ncurses.c:1562,1
    - Dst: EqualizerUpdateBands
      Src: /src/vlc/modules/gui/ncurses.c:1563,1
    - Dst: psz_string::psz_string
      Src: /src/vlc/modules/gui/ncurses.c:1563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - pobj
    - pvar
    - old
    - new
    - vsys
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1565
      start: 1557
    functionDepth: 1
    functionLinenumber: 1557
    functionLinenumberEnd: 1565
    functionName: EqualizerBandsCallback
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - psz_string::psz_string
    - EqualizerUpdateBands
    linkageType: ''
    returnType: int
    signature: int EqualizerBandsCallback(vlc_object_t * pobj, const char * pvar,
      vlc_value_t old, vlc_value_t new, void *vsys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: f_float::f_float
      Src: /src/vlc/modules/gui/ncurses.c:1572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - pobj
    - pvar
    - old
    - new
    - vsys
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1574
      start: 1567
    functionDepth: 0
    functionLinenumber: 1567
    functionLinenumberEnd: 1574
    functionName: EqualizerPreampCallback
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - f_float::f_float
    linkageType: ''
    returnType: int
    signature: int EqualizerPreampCallback(vlc_object_t * pobj, const char * pvar,
      vlc_value_t old, vlc_value_t new, void *vsys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psz_string::psz_string
      Src: /src/vlc/modules/gui/ncurses.c:1580,1
    - Dst: EqualizerUpdatePreset
      Src: /src/vlc/modules/gui/ncurses.c:1581,1
    - Dst: psz_string::psz_string
      Src: /src/vlc/modules/gui/ncurses.c:1581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - pobj
    - pvar
    - old
    - new
    - vsys
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1583
      start: 1576
    functionDepth: 1
    functionLinenumber: 1576
    functionLinenumberEnd: 1583
    functionName: EqualizerPresetCallback
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - psz_string::psz_string
    - EqualizerUpdatePreset
    linkageType: ''
    returnType: int
    signature: int EqualizerPresetCallback(vlc_object_t * pobj, const char * pvar,
      vlc_value_t old, vlc_value_t new, void *vsys)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: var_Type
      Src: /src/vlc/modules/gui/ncurses.c:1591,1
    - Dst: var_Create
      Src: /src/vlc/modules/gui/ncurses.c:1592,1
    - Dst: var_Type
      Src: /src/vlc/modules/gui/ncurses.c:1593,1
    - Dst: var_Create
      Src: /src/vlc/modules/gui/ncurses.c:1594,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/gui/ncurses.c:1595,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/gui/ncurses.c:1596,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/gui/ncurses.c:1597,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/gui/ncurses.c:1598,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - sys
    argTypes:
    - intf_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1586
    functionDepth: 1
    functionLinenumber: 1586
    functionLinenumberEnd: 1599
    functionName: EqualizerSysPaoutInit
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - var_AddCallback
    - var_Create
    - var_Type
    linkageType: ''
    returnType: void
    signature: void EqualizerSysPaoutInit(intf_sys_t * sys)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/ncurses.c:1604,1
    - Dst: vlc_player_aout_Hold
      Src: /src/vlc/modules/gui/ncurses.c:1605,1
    - Dst: EqualizerSysPaoutInit
      Src: /src/vlc/modules/gui/ncurses.c:1609,1
    - Dst: EqualizerLoad
      Src: /src/vlc/modules/gui/ncurses.c:1610,1
    - Dst: aout_Release
      Src: /src/vlc/modules/gui/ncurses.c:1615,1
    - Dst: EqualizerDeinit
      Src: /src/vlc/modules/gui/ncurses.c:1620,1
    - Dst: EqualizerSysPaoutInit
      Src: /src/vlc/modules/gui/ncurses.c:1623,1
    - Dst: EqualizerLoad
      Src: /src/vlc/modules/gui/ncurses.c:1624,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - sys
    argTypes:
    - intf_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1626
      start: 1602
    functionDepth: 2
    functionLinenumber: 1602
    functionLinenumberEnd: 1626
    functionName: EqualizerEnter
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - EqualizerDeinit
    - vlc_playlist_GetPlayer
    - EqualizerLoad
    - EqualizerSysPaoutInit
    - vlc_player_aout_Hold
    - aout_Release
    linkageType: ''
    returnType: void
    signature: void EqualizerEnter(intf_sys_t * sys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: var_DelCallback
      Src: /src/vlc/modules/gui/ncurses.c:1633,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/gui/ncurses.c:1634,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/gui/ncurses.c:1635,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/gui/ncurses.c:1636,1
    - Dst: aout_Release
      Src: /src/vlc/modules/gui/ncurses.c:1637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - sys
    argTypes:
    - intf_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1629
    functionDepth: 1
    functionLinenumber: 1629
    functionLinenumberEnd: 1639
    functionName: EqualizerDeinit
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 2
    functionsReached:
    - var_DelCallback
    - aout_Release
    linkageType: ''
    returnType: void
    signature: void EqualizerDeinit(intf_sys_t * sys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/ncurses.c:1644,1
    - Dst: vlc_player_aout_EnableFilter
      Src: /src/vlc/modules/gui/ncurses.c:1646,1
    - Dst: vlc_player_aout_EnableFilter
      Src: /src/vlc/modules/gui/ncurses.c:1649,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sys
    - diff
    - paout
    argTypes:
    - intf_sys_t*
    - int
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1651
      start: 1641
    functionDepth: 1
    functionLinenumber: 1641
    functionLinenumberEnd: 1651
    functionName: EqualizerEnable
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - vlc_player_aout_EnableFilter
    - vlc_playlist_GetPlayer
    linkageType: ''
    returnType: void
    signature: void EqualizerEnable(intf_sys_t * sys, int diff, audio_output_t * paout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_SetFloat
      Src: /src/vlc/modules/gui/ncurses.c:1658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - sys
    - diff
    - paout
    argTypes:
    - intf_sys_t*
    - int
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1659
      start: 1653
    functionDepth: 1
    functionLinenumber: 1653
    functionLinenumberEnd: 1659
    functionName: EqualizerPreamp
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - var_SetFloat
    linkageType: ''
    returnType: void
    signature: void EqualizerPreamp(intf_sys_t * sys, int diff, audio_output_t * paout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BoxSwitch
      Src: /src/vlc/modules/gui/ncurses.c:1664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - sys
    - diff
    - paout
    argTypes:
    - intf_sys_t*
    - int
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1661
    functionDepth: 2
    functionLinenumber: 1661
    functionLinenumberEnd: 1665
    functionName: EqualizerPreset
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - BoxSwitch
    linkageType: ''
    returnType: void
    signature: void EqualizerPreset(intf_sys_t * sys, int diff, audio_output_t * paout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: save_var
      Src: /src/vlc/modules/gui/ncurses.c:1677,1
    - Dst: save_var
      Src: /src/vlc/modules/gui/ncurses.c:1678,1
    - Dst: save_var
      Src: /src/vlc/modules/gui/ncurses.c:1679,1
    - Dst: config_PutFloat
      Src: /src/vlc/modules/gui/ncurses.c:1680,1
    - Dst: var_GetFloat
      Src: /src/vlc/modules/gui/ncurses.c:1680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - sys
    - diff
    - paout
    argTypes:
    - intf_sys_t*
    - int
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1667
    functionDepth: 1
    functionLinenumber: 1667
    functionLinenumberEnd: 1682
    functionName: EqualizerSaveConfig
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - config_PutFloat
    - var_GetFloat
    - save_var
    linkageType: ''
    returnType: void
    signature: void EqualizerSaveConfig(intf_sys_t * sys, int diff, audio_output_t
      * paout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1676
      start: 1671
    functionDepth: 0
    functionLinenumber: 1671
    functionLinenumberEnd: 1676
    functionName: save_var
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: save_var(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lldiv
      Src: /src/vlc/modules/gui/ncurses.c:1692,1
    - Dst: lroundf
      Src: /src/vlc/modules/gui/ncurses.c:1692,1
    - Dst: asprintf
      Src: /src/vlc/modules/gui/ncurses.c:1694,1
    - Dst: free
      Src: /src/vlc/modules/gui/ncurses.c:1697,1
    - Dst: var_SetString
      Src: /src/vlc/modules/gui/ncurses.c:1703,1
    - Dst: free
      Src: /src/vlc/modules/gui/ncurses.c:1704,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - sys
    - paout
    argTypes:
    - intf_sys_t*
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1684
    functionDepth: 2
    functionLinenumber: 1684
    functionLinenumberEnd: 1705
    functionName: EqualizerSetBands
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - asprintf
    - free
    - lldiv
    - var_SetString
    - lroundf
    linkageType: ''
    returnType: void
    signature: void EqualizerSetBands(intf_sys_t * sys, audio_output_t * paout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EqualizerSetBands
      Src: /src/vlc/modules/gui/ncurses.c:1713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - sys
    - diff
    - paout
    argTypes:
    - intf_sys_t*
    - int
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1714
      start: 1707
    functionDepth: 3
    functionLinenumber: 1707
    functionLinenumberEnd: 1714
    functionName: EqualizerBand
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - EqualizerSetBands
    linkageType: ''
    returnType: void
    signature: void EqualizerBand(intf_sys_t * sys, int diff, audio_output_t * paout)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EqualizerBand
      Src: /src/vlc/modules/gui/ncurses.c:1735,1
    - Dst: EqualizerBand
      Src: /src/vlc/modules/gui/ncurses.c:1742,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - intf
    - key
    argTypes:
    - intf_thread_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1746
      start: 1716
    functionDepth: 4
    functionLinenumber: 1716
    functionLinenumberEnd: 1746
    functionName: HandleEqualizerKey
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - EqualizerBand
    linkageType: ''
    returnType: bool
    signature: bool HandleEqualizerKey(intf_thread_t *intf, int key)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: var_SetString
      Src: /src/vlc/modules/gui/ncurses.c:1760,1
    - Dst: BoxSwitch
      Src: /src/vlc/modules/gui/ncurses.c:1761,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - intf
    - key
    argTypes:
    - intf_thread_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1748
    functionDepth: 2
    functionLinenumber: 1748
    functionLinenumberEnd: 1765
    functionName: HandlePresetsKey
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - var_SetString
    - BoxSwitch
    linkageType: ''
    returnType: bool
    signature: bool HandlePresetsKey(intf_thread_t *intf, int key)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/ncurses.c:1776,1
    - Dst: vlc_playlist_GetPlaybackOrder
      Src: /src/vlc/modules/gui/ncurses.c:1778,1
    - Dst: vlc_playlist_SetPlaybackOrder
      Src: /src/vlc/modules/gui/ncurses.c:1783,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/ncurses.c:1784,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/ncurses.c:1788,1
    - Dst: vlc_playlist_GetPlaybackRepeat
      Src: /src/vlc/modules/gui/ncurses.c:1790,1
    - Dst: vlc_playlist_SetPlaybackRepeat
      Src: /src/vlc/modules/gui/ncurses.c:1809,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/ncurses.c:1810,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/ncurses.c:1816,1
    - Dst: vlc_playlist_Sort
      Src: /src/vlc/modules/gui/ncurses.c:1824,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/ncurses.c:1826,1
    - Dst: Search
      Src: /src/vlc/modules/gui/ncurses.c:1830,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/ncurses.c:1834,1
    - Dst: vlc_playlist_GetCurrentIndex
      Src: /src/vlc/modules/gui/ncurses.c:1835,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/ncurses.c:1836,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/ncurses.c:1847,1
    - Dst: vlc_playlist_RemoveOne
      Src: /src/vlc/modules/gui/ncurses.c:1848,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/ncurses.c:1852,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/ncurses.c:1861,1
    - Dst: vlc_playlist_PlayAt
      Src: /src/vlc/modules/gui/ncurses.c:1862,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/ncurses.c:1863,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 66
    argCount: 2
    argNames:
    - intf
    - key
    argTypes:
    - intf_thread_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1870
      start: 1767
    functionDepth: 4
    functionLinenumber: 1767
    functionLinenumberEnd: 1870
    functionName: HandlePlaylistKey
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - vlc_playlist_GetPlaybackOrder
    - vlc_playlist_Lock
    - vlc_playlist_GetPlaybackRepeat
    - vlc_playlist_RemoveOne
    - vlc_playlist_Unlock
    - vlc_playlist_Sort
    - vlc_playlist_PlayAt
    - vlc_playlist_SetPlaybackRepeat
    - vlc_playlist_GetCurrentIndex
    - vlc_playlist_SetPlaybackOrder
    - Search
    linkageType: ''
    returnType: bool
    signature: bool HandlePlaylistKey(intf_thread_t *intf, int key)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ReadDir
      Src: /src/vlc/modules/gui/ncurses.c:1881,1
    - Dst: Search
      Src: /src/vlc/modules/gui/ncurses.c:1885,1
    - Dst: asprintf
      Src: /src/vlc/modules/gui/ncurses.c:1894,1
    - Dst: free
      Src: /src/vlc/modules/gui/ncurses.c:1899,1
    - Dst: ReadDir
      Src: /src/vlc/modules/gui/ncurses.c:1901,1
    - Dst: AddItem
      Src: /src/vlc/modules/gui/ncurses.c:1908,1
    - Dst: free
      Src: /src/vlc/modules/gui/ncurses.c:1909,1
    - Dst: BoxSwitch
      Src: /src/vlc/modules/gui/ncurses.c:1910,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 2
    argNames:
    - intf
    - key
    argTypes:
    - intf_thread_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1915
      start: 1872
    functionDepth: 4
    functionLinenumber: 1872
    functionLinenumberEnd: 1915
    functionName: HandleBrowseKey
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - asprintf
    - ReadDir
    - AddItem
    - free
    - Search
    - BoxSwitch
    linkageType: ''
    returnType: bool
    signature: bool HandleBrowseKey(intf_thread_t *intf, int key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddItem
      Src: /src/vlc/modules/gui/ncurses.c:1921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - intf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1923
      start: 1917
    functionDepth: 0
    functionLinenumber: 1917
    functionLinenumberEnd: 1923
    functionName: OpenSelection
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - AddItem
    linkageType: ''
    returnType: void
    signature: void OpenSelection(intf_thread_t *intf)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/gui/ncurses.c:1934,1
    - Dst: assert
      Src: /src/vlc/modules/gui/ncurses.c:1936,1
    - Dst: clear
      Src: /src/vlc/modules/gui/ncurses.c:1941,1
    - Dst: Search
      Src: /src/vlc/modules/gui/ncurses.c:1947,1
    - Dst: OpenSelection
      Src: /src/vlc/modules/gui/ncurses.c:1949,1
    - Dst: getch
      Src: /src/vlc/modules/gui/ncurses.c:1969,1
    - Dst: RemoveLastUTF8Entity
      Src: /src/vlc/modules/gui/ncurses.c:1982,1
    - Dst: Search
      Src: /src/vlc/modules/gui/ncurses.c:1993,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - intf
    - key
    - box
    argTypes:
    - intf_thread_t*
    - int
    - int
    assertStmts:
    - condition: (box == BOX_SEARCH || box == BOX_OPEN || box == BOX_FSEARCH)
      pos:
        line_end: 1935
        line_start: 1935
        source_file: /src/vlc/modules/gui/ncurses.c
    constantsTouched: []
    func_position:
      end: 1994
      start: 1925
    functionDepth: 4
    functionLinenumber: 1925
    functionLinenumberEnd: 1994
    functionName: HandleEditBoxKey
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - assert
    - OpenSelection
    - getch
    - strlen
    - clear
    - RemoveLastUTF8Entity
    - Search
    linkageType: ''
    returnType: void
    signature: void HandleEditBoxKey(intf_thread_t *intf, int key, int box)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: getch
      Src: /src/vlc/modules/gui/ncurses.c:2005,1
    - Dst: libvlc_Quit
      Src: /src/vlc/modules/gui/ncurses.c:2012,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/gui/ncurses.c:2012,1
    - Dst: BoxSwitch
      Src: /src/vlc/modules/gui/ncurses.c:2016,1
    - Dst: BoxSwitch
      Src: /src/vlc/modules/gui/ncurses.c:2017,1
    - Dst: BoxSwitch
      Src: /src/vlc/modules/gui/ncurses.c:2018,1
    - Dst: BoxSwitch
      Src: /src/vlc/modules/gui/ncurses.c:2019,1
    - Dst: BoxSwitch
      Src: /src/vlc/modules/gui/ncurses.c:2020,1
    - Dst: BoxSwitch
      Src: /src/vlc/modules/gui/ncurses.c:2021,1
    - Dst: BoxSwitch
      Src: /src/vlc/modules/gui/ncurses.c:2022,1
    - Dst: EqualizerEnter
      Src: /src/vlc/modules/gui/ncurses.c:2023,1
    - Dst: BoxSwitch
      Src: /src/vlc/modules/gui/ncurses.c:2023,1
    - Dst: BoxSwitch
      Src: /src/vlc/modules/gui/ncurses.c:2028,1
    - Dst: BoxSwitch
      Src: /src/vlc/modules/gui/ncurses.c:2030,1
    - Dst: BoxSwitch
      Src: /src/vlc/modules/gui/ncurses.c:2035,1
    - Dst: ChangePosition
      Src: /src/vlc/modules/gui/ncurses.c:2039,1
    - Dst: ChangePosition
      Src: /src/vlc/modules/gui/ncurses.c:2040,1
    - Dst: vlc_player_vout_ToggleFullscreen
      Src: /src/vlc/modules/gui/ncurses.c:2044,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/gui/ncurses.c:2048,1
    - Dst: vlc_player_TogglePause
      Src: /src/vlc/modules/gui/ncurses.c:2049,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/gui/ncurses.c:2050,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/gui/ncurses.c:2053,1
    - Dst: vlc_player_Stop
      Src: /src/vlc/modules/gui/ncurses.c:2054,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/gui/ncurses.c:2055,1
    - Dst: Eject
      Src: /src/vlc/modules/gui/ncurses.c:2058,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/gui/ncurses.c:2061,1
    - Dst: vlc_player_SelectPrevTitle
      Src: /src/vlc/modules/gui/ncurses.c:2062,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/gui/ncurses.c:2063,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/gui/ncurses.c:2066,1
    - Dst: vlc_player_SelectNextTitle
      Src: /src/vlc/modules/gui/ncurses.c:2067,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/gui/ncurses.c:2068,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/gui/ncurses.c:2071,1
    - Dst: vlc_player_SelectPrevChapter
      Src: /src/vlc/modules/gui/ncurses.c:2072,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/gui/ncurses.c:2073,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/gui/ncurses.c:2076,1
    - Dst: vlc_player_SelectNextChapter
      Src: /src/vlc/modules/gui/ncurses.c:2077,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/gui/ncurses.c:2078,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/ncurses.c:2082,1
    - Dst: vlc_playlist_Prev
      Src: /src/vlc/modules/gui/ncurses.c:2083,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/ncurses.c:2084,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/ncurses.c:2087,1
    - Dst: vlc_playlist_Next
      Src: /src/vlc/modules/gui/ncurses.c:2088,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/ncurses.c:2089,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/gui/ncurses.c:2093,1
    - Dst: vlc_player_aout_IncrementVolume
      Src: /src/vlc/modules/gui/ncurses.c:2094,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/gui/ncurses.c:2095,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/gui/ncurses.c:2098,1
    - Dst: vlc_player_aout_DecrementVolume
      Src: /src/vlc/modules/gui/ncurses.c:2099,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/gui/ncurses.c:2100,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/gui/ncurses.c:2103,1
    - Dst: vlc_player_aout_ToggleMute
      Src: /src/vlc/modules/gui/ncurses.c:2104,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/gui/ncurses.c:2105,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/gui/ncurses.c:2109,1
    - Dst: vlc_player_SelectNextTrack
      Src: /src/vlc/modules/gui/ncurses.c:2110,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/gui/ncurses.c:2111,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/gui/ncurses.c:2114,1
    - Dst: vlc_player_SelectNextTrack
      Src: /src/vlc/modules/gui/ncurses.c:2115,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/gui/ncurses.c:2116,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/gui/ncurses.c:2119,1
    - Dst: vlc_player_SelectNextTrack
      Src: /src/vlc/modules/gui/ncurses.c:2120,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/gui/ncurses.c:2121,1
    - Dst: clear
      Src: /src/vlc/modules/gui/ncurses.c:2132,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 136
    argCount: 3
    argNames:
    - intf
    - player
    - key
    argTypes:
    - intf_thread_t*
    - vlc_player_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2134
      start: 1996
    functionDepth: 3
    functionLinenumber: 1996
    functionLinenumberEnd: 2134
    functionName: HandleCommonKey
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - vlc_player_SelectNextTitle
    - vlc_playlist_Unlock
    - vlc_player_SelectNextTrack
    - vlc_playlist_Prev
    - vlc_player_aout_ToggleMute
    - libvlc_Quit
    - vlc_player_aout_DecrementVolume
    - getch
    - vlc_player_SelectPrevChapter
    - vlc_player_aout_IncrementVolume
    - vlc_player_Unlock
    - Eject
    - vlc_player_SelectNextChapter
    - vlc_player_TogglePause
    - vlc_playlist_Lock
    - vlc_playlist_Next
    - clear
    - vlc_object_instance
    - ChangePosition
    - vlc_player_vout_ToggleFullscreen
    - vlc_player_Stop
    - EqualizerEnter
    - vlc_player_Lock
    - BoxSwitch
    - vlc_player_SelectPrevTitle
    linkageType: ''
    returnType: void
    signature: void HandleCommonKey(intf_thread_t *intf, vlc_player_t *player, int
      key)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CheckIdx
      Src: /src/vlc/modules/gui/ncurses.c:2158,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/ncurses.c:2161,1
    - Dst: vlc_playlist_GetCurrentIndex
      Src: /src/vlc/modules/gui/ncurses.c:2163,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/ncurses.c:2164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - intf
    - key
    argTypes:
    - intf_thread_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2168
      start: 2136
    functionDepth: 1
    functionLinenumber: 2136
    functionLinenumberEnd: 2168
    functionName: HandleListKey
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - CheckIdx
    - vlc_playlist_Unlock
    - vlc_playlist_Lock
    - vlc_playlist_GetCurrentIndex
    linkageType: ''
    returnType: bool
    signature: bool HandleListKey(intf_thread_t *intf, int key)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: getch
      Src: /src/vlc/modules/gui/ncurses.c:2173,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/ncurses.c:2176,1
    - Dst: HandleEditBoxKey
      Src: /src/vlc/modules/gui/ncurses.c:2182,1
    - Dst: ChangePosition
      Src: /src/vlc/modules/gui/ncurses.c:2192,1
    - Dst: ChangePosition
      Src: /src/vlc/modules/gui/ncurses.c:2193,1
    - Dst: ChangePosition
      Src: /src/vlc/modules/gui/ncurses.c:2194,1
    - Dst: ChangePosition
      Src: /src/vlc/modules/gui/ncurses.c:2195,1
    - Dst: HandleCommonKey
      Src: /src/vlc/modules/gui/ncurses.c:2196,1
    - Dst: HandleBrowseKey
      Src: /src/vlc/modules/gui/ncurses.c:2199,1
    - Dst: HandlePlaylistKey
      Src: /src/vlc/modules/gui/ncurses.c:2202,1
    - Dst: HandleEqualizerKey
      Src: /src/vlc/modules/gui/ncurses.c:2205,1
    - Dst: HandlePresetsKey
      Src: /src/vlc/modules/gui/ncurses.c:2208,1
    - Dst: HandleListKey
      Src: /src/vlc/modules/gui/ncurses.c:2211,1
    - Dst: HandleCommonKey
      Src: /src/vlc/modules/gui/ncurses.c:2214,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 1
    argNames:
    - intf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2215
      start: 2170
    functionDepth: 5
    functionLinenumber: 2170
    functionLinenumberEnd: 2215
    functionName: HandleKey
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - HandlePresetsKey
    - getch
    - HandleListKey
    - HandlePlaylistKey
    - HandleCommonKey
    - HandleEditBoxKey
    - vlc_playlist_GetPlayer
    - HandleEqualizerKey
    - ChangePosition
    - HandleBrowseKey
    linkageType: ''
    returnType: void
    signature: void HandleKey(intf_thread_t *intf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmalloc
      Src: /src/vlc/modules/gui/ncurses.c:2222,1
    - Dst: strdup
      Src: /src/vlc/modules/gui/ncurses.c:2225,1
    - Dst: strdup
      Src: /src/vlc/modules/gui/ncurses.c:2226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - msg
    argTypes:
    - vlc_log_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2228
      start: 2220
    functionDepth: 1
    functionLinenumber: 2220
    functionLinenumberEnd: 2228
    functionName: msg_Copy
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - xmalloc
    - strdup
    linkageType: ''
    returnType: vlc_log_t
    signature: vlc_log_t *msg_Copy (const vlc_log_t *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/gui/ncurses.c:2232,1
    - Dst: free
      Src: /src/vlc/modules/gui/ncurses.c:2233,1
    - Dst: free
      Src: /src/vlc/modules/gui/ncurses.c:2234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - vlc_log_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2235
      start: 2230
    functionDepth: 0
    functionLinenumber: 2230
    functionLinenumberEnd: 2235
    functionName: msg_Free
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void msg_Free (vlc_log_t *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vasprintf
      Src: /src/vlc/modules/gui/ncurses.c:2245,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/gui/ncurses.c:2248,1
    - Dst: msg_Free
      Src: /src/vlc/modules/gui/ncurses.c:2252,1
    - Dst: msg_Copy
      Src: /src/vlc/modules/gui/ncurses.c:2253,1
    - Dst: free
      Src: /src/vlc/modules/gui/ncurses.c:2254,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/gui/ncurses.c:2257,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/gui/ncurses.c:2260,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - data
    - type
    - msg
    - format
    - ap
    argTypes:
    - void*
    - int
    - vlc_log_t*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2261
      start: 2237
    functionDepth: 2
    functionLinenumber: 2237
    functionLinenumberEnd: 2261
    functionName: MsgCallback
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - vasprintf
    - vlc_mutex_lock
    - vlc_mutex_unlock
    - msg_Free
    - free
    - msg_Copy
    linkageType: ''
    returnType: void
    signature: "void MsgCallback(void *data, int type, const vlc_log_t *msg,\n                        const
      char *format, va_list ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/gui/ncurses.c:2270,1
    - Dst: atomic_load_explicit
      Src: /src/vlc/modules/gui/ncurses.c:2275,1
    - Dst: Redraw
      Src: /src/vlc/modules/gui/ncurses.c:2276,1
    - Dst: HandleKey
      Src: /src/vlc/modules/gui/ncurses.c:2277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2280
      start: 2268
    functionDepth: 6
    functionLinenumber: 2268
    functionLinenumberEnd: 2280
    functionName: Run
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 10
    functionsReached:
    - HandleKey
    - atomic_load_explicit
    - vlc_thread_set_name
    - Redraw
    linkageType: ''
    returnType: void
    signature: void *Run(void *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/gui/ncurses.c:2288,1
    - Dst: atomic_init
      Src: /src/vlc/modules/gui/ncurses.c:2293,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/gui/ncurses.c:2294,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/gui/ncurses.c:2296,1
    - Dst: vlc_LogSet
      Src: /src/vlc/modules/gui/ncurses.c:2297,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/gui/ncurses.c:2297,1
    - Dst: var_CreateGetBool
      Src: /src/vlc/modules/gui/ncurses.c:2302,1
    - Dst: var_CreateGetNonEmptyString
      Src: /src/vlc/modules/gui/ncurses.c:2304,1
    - Dst: config_GetUserDir
      Src: /src/vlc/modules/gui/ncurses.c:2306,1
    - Dst: initscr
      Src: /src/vlc/modules/gui/ncurses.c:2308,1
    - Dst: start_color_and_pairs
      Src: /src/vlc/modules/gui/ncurses.c:2311,1
    - Dst: keypad
      Src: /src/vlc/modules/gui/ncurses.c:2313,1
    - Dst: nonl
      Src: /src/vlc/modules/gui/ncurses.c:2314,1
    - Dst: cbreak
      Src: /src/vlc/modules/gui/ncurses.c:2315,1
    - Dst: noecho
      Src: /src/vlc/modules/gui/ncurses.c:2316,1
    - Dst: curs_set
      Src: /src/vlc/modules/gui/ncurses.c:2317,1
    - Dst: timeout
      Src: /src/vlc/modules/gui/ncurses.c:2318,1
    - Dst: clear
      Src: /src/vlc/modules/gui/ncurses.c:2319,1
    - Dst: freopen
      Src: /src/vlc/modules/gui/ncurses.c:2322,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/ncurses.c:2323,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/gui/ncurses.c:2323,1
    - Dst: ReadDir
      Src: /src/vlc/modules/gui/ncurses.c:2325,1
    - Dst: vlc_intf_GetMainPlaylist
      Src: /src/vlc/modules/gui/ncurses.c:2328,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/ncurses.c:2335,1
    - Dst: PlaylistRebuild
      Src: /src/vlc/modules/gui/ncurses.c:2336,1
    - Dst: vlc_playlist_AddListener
      Src: /src/vlc/modules/gui/ncurses.c:2338,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/ncurses.c:2339,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/gui/ncurses.c:2343,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/ncurses.c:2345,1
    - Dst: vlc_playlist_RemoveListener
      Src: /src/vlc/modules/gui/ncurses.c:2346,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/ncurses.c:2347,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2352
      start: 2285
    functionDepth: 4
    functionLinenumber: 2285
    functionLinenumberEnd: 2352
    functionName: Open
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 54
    functionsReached:
    - atomic_init
    - vlc_strerror_c
    - ReadDir
    - vlc_playlist_RemoveListener
    - noecho
    - var_CreateGetNonEmptyString
    - curs_set
    - vlc_playlist_Unlock
    - start_color_and_pairs
    - PlaylistRebuild
    - msg_Err
    - calloc
    - vlc_LogSet
    - freopen
    - cbreak
    - vlc_intf_GetMainPlaylist
    - vlc_playlist_Lock
    - vlc_playlist_AddListener
    - var_InheritInteger
    - clear
    - vlc_object_instance
    - timeout
    - keypad
    - vlc_clone
    - var_CreateGetBool
    - vlc_mutex_init
    - initscr
    - config_GetUserDir
    - nonl
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *p_this)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_explicit
      Src: /src/vlc/modules/gui/ncurses.c:2362,1
    - Dst: vlc_join
      Src: /src/vlc/modules/gui/ncurses.c:2363,1
    - Dst: EqualizerDeinit
      Src: /src/vlc/modules/gui/ncurses.c:2365,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/ncurses.c:2368,1
    - Dst: vlc_playlist_RemoveListener
      Src: /src/vlc/modules/gui/ncurses.c:2369,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/ncurses.c:2370,1
    - Dst: free
      Src: /src/vlc/modules/gui/ncurses.c:2373,1
    - Dst: vlc_vector_clear
      Src: /src/vlc/modules/gui/ncurses.c:2374,1
    - Dst: DirsDestroy
      Src: /src/vlc/modules/gui/ncurses.c:2376,1
    - Dst: free
      Src: /src/vlc/modules/gui/ncurses.c:2378,1
    - Dst: can_change_color
      Src: /src/vlc/modules/gui/ncurses.c:2380,1
    - Dst: init_color
      Src: /src/vlc/modules/gui/ncurses.c:2384,1
    - Dst: endwin
      Src: /src/vlc/modules/gui/ncurses.c:2388,1
    - Dst: vlc_LogSet
      Src: /src/vlc/modules/gui/ncurses.c:2390,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/gui/ncurses.c:2390,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/gui/ncurses.c:2391,1
    - Dst: msg_Free
      Src: /src/vlc/modules/gui/ncurses.c:2393,1
    - Dst: free
      Src: /src/vlc/modules/gui/ncurses.c:2394,1
    - Dst: free
      Src: /src/vlc/modules/gui/ncurses.c:2396,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2397
      start: 2357
    functionDepth: 2
    functionLinenumber: 2357
    functionLinenumberEnd: 2397
    functionName: Close
    functionSourceFile: /src/vlc/modules/gui/ncurses.c
    functionUses: 147
    functionsReached:
    - atomic_store_explicit
    - vlc_playlist_RemoveListener
    - EqualizerDeinit
    - endwin
    - vlc_playlist_Lock
    - ARRAY_SIZE
    - msg_Free
    - vlc_playlist_Unlock
    - vlc_object_instance
    - can_change_color
    - free
    - vlc_vector_clear
    - vlc_join
    - vlc_LogSet
    - init_color
    - DirsDestroy
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: VLCMinimalVoutWindow
    functionSourceFile: /src/vlc/modules/gui/minimal_macosx/VLCMinimalVoutWindow.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: interface
    signature: interface VLCMinimalVoutWindow
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/qt.cpp:529,1
    - Dst: closeAllWindows
      Src: /src/vlc/modules/gui/qt/qt.cpp:530,1
    - Dst: exit
      Src: /src/vlc/modules/gui/qt/qt.cpp:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 534
    functionName: triggerQuit
    functionSourceFile: /src/vlc/modules/gui/qt/qt.cpp
    functionUses: 0
    functionsReached:
    - exit
    - QMetaObject::invokeMethod
    - closeAllWindows
    linkageType: ''
    returnType: void
    signature: void triggerQuit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 539
    functionName: Translator::Translator
    functionSourceFile: /src/vlc/modules/gui/qt/qt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Translator(QObject* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 541
    functionName: Translator::isEmpty
    functionSourceFile: /src/vlc/modules/gui/qt/qt.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isEmpty() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNUSED
      Src: /src/vlc/modules/gui/qt/qt.cpp:548,1
    - Dst: vlc_ngettext
      Src: /src/vlc/modules/gui/qt/qt.cpp:550,1
    - Dst: vlc_gettext
      Src: /src/vlc/modules/gui/qt/qt.cpp:551,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/qt.cpp:553,1
    - Dst: QString::fromUtf8
      Src: /src/vlc/modules/gui/qt/qt.cpp:554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - context
    - sourceText
    argTypes:
    - char*
    - char*
    assertStmts:
    - condition: (text)
      pos:
        line_end: 552
        line_start: 552
        source_file: /src/vlc/modules/gui/qt/qt.cpp
    constantsTouched: []
    func_position:
      end: 555
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 555
    functionName: Translator::translate
    functionSourceFile: /src/vlc/modules/gui/qt/qt.cpp
    functionUses: 0
    functionsReached:
    - QString::fromUtf8
    - assert
    - Q_UNUSED
    - vlc_gettext
    - vlc_ngettext
    linkageType: ''
    returnType: QString
    signature: "QString translate(const char *context,\n                      const
      char *sourceText,\n                      const char *disambiguation = nullptr,\n
      \                     int n = -1) const override"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_xlib_init
      Src: /src/vlc/modules/gui/qt/qt.cpp:574,1
    - Dst: config_GetSysPath
      Src: /src/vlc/modules/gui/qt/qt.cpp:581,1
    - Dst: unlikely
      Src: /src/vlc/modules/gui/qt/qt.cpp:582,1
    - Dst: posix_spawn
      Src: /src/vlc/modules/gui/qt/qt.cpp:588,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/qt.cpp:589,1
    - Dst: waitpid
      Src: /src/vlc/modules/gui/qt/qt.cpp:594,1
    - Dst: WIFEXITED
      Src: /src/vlc/modules/gui/qt/qt.cpp:596,1
    - Dst: WEXITSTATUS
      Src: /src/vlc/modules/gui/qt/qt.cpp:596,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/qt.cpp:598,1
    - Dst: vlc_intf_GetMainPlaylist
      Src: /src/vlc/modules/gui/qt/qt.cpp:604,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/qt.cpp:610,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/qt/qt.cpp:618,1
    - Dst: CFRunLoopPerformBlock
      Src: /src/vlc/modules/gui/qt/qt.cpp:623,1
    - Dst: CFRunLoopGetMain
      Src: /src/vlc/modules/gui/qt/qt.cpp:623,1
    - Dst: Thread
      Src: /src/vlc/modules/gui/qt/qt.cpp:624,1
    - Dst: static_cast<void*>
      Src: /src/vlc/modules/gui/qt/qt.cpp:624,1
    - Dst: vlc_sem_post
      Src: /src/vlc/modules/gui/qt/qt.cpp:625,1
    - Dst: CFRunLoopWakeUp
      Src: /src/vlc/modules/gui/qt/qt.cpp:627,1
    - Dst: CFRunLoopGetMain
      Src: /src/vlc/modules/gui/qt/qt.cpp:627,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/gui/qt/qt.cpp:629,1
    - Dst: wait
      Src: /src/vlc/modules/gui/qt/qt.cpp:639,1
    - Dst: vlc_join
      Src: /src/vlc/modules/gui/qt/qt.cpp:644,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 1
    argNames:
    - p_intf
    argTypes:
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 651
    functionName: OpenInternal
    functionSourceFile: /src/vlc/modules/gui/qt/qt.cpp
    functionUses: 4
    functionsReached:
    - CFRunLoopGetMain
    - vlc_xlib_init
    - config_GetSysPath
    - CFRunLoopPerformBlock
    - Thread
    - msg_Err
    - WIFEXITED
    - vlc_playlist_GetPlayer
    - msg_Dbg
    - CFRunLoopWakeUp
    - waitpid
    - vlc_intf_GetMainPlaylist
    - posix_spawn
    - WEXITSTATUS
    - static_cast<void*>
    - vlc_clone
    - vlc_sem_post
    - free
    - vlc_join
    - wait
    - unlikely
    linkageType: ''
    returnType: int
    signature: int OpenInternal( qt_intf_t *p_intf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/qt.cpp:657,1
    - Dst: triggerQuit
      Src: /src/vlc/modules/gui/qt/qt.cpp:659,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/qt.cpp:661,1
    - Dst: vlc_join
      Src: /src/vlc/modules/gui/qt/qt.cpp:663,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/modules/gui/qt/qt.cpp:665,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/qt.cpp:672,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/qt.cpp:673,1
    - Dst: vlc_LogDestroy
      Src: /src/vlc/modules/gui/qt/qt.cpp:676,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/gui/qt/qt.cpp:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - p_intf
    argTypes:
    - qt_intf_t*
    assertStmts:
    - condition: (busy)
      pos:
        line_end: 671
        line_start: 671
        source_file: /src/vlc/modules/gui/qt/qt.cpp
    - condition: (open_state == OPEN_STATE_INIT)
      pos:
        line_end: 672
        line_start: 672
        source_file: /src/vlc/modules/gui/qt/qt.cpp
    constantsTouched: []
    func_position:
      end: 678
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 678
    functionName: CloseInternal
    functionSourceFile: /src/vlc/modules/gui/qt/qt.cpp
    functionUses: 0
    functionsReached:
    - vlc_sem_wait
    - assert
    - vlc_join
    - msg_Dbg
    - vlc_object_delete
    - triggerQuit
    - vlc_LogDestroy
    linkageType: ''
    returnType: void
    signature: void CloseInternal( qt_intf_t *p_intf )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<intf_thread_t*>
      Src: /src/vlc/modules/gui/qt/qt.cpp:684,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/gui/qt/qt.cpp:685,1
    - Dst: vlc_object_create
      Src: /src/vlc/modules/gui/qt/qt.cpp:688,1
    - Dst: vlc_LogHeaderCreate
      Src: /src/vlc/modules/gui/qt/qt.cpp:691,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/gui/qt/qt.cpp:694,1
    - Dst: vlc_sem_init
      Src: /src/vlc/modules/gui/qt/qt.cpp:697,1
    - Dst: OpenInternal
      Src: /src/vlc/modules/gui/qt/qt.cpp:703,1
    - Dst: vlc_LogDestroy
      Src: /src/vlc/modules/gui/qt/qt.cpp:706,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/gui/qt/qt.cpp:707,1
    - Dst: reinterpret_cast<intf_sys_t*>
      Src: /src/vlc/modules/gui/qt/qt.cpp:711,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - p_this
    - dialogProvider
    argTypes:
    - vlc_object_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 682
    functionDepth: 2
    functionLinenumber: 682
    functionLinenumberEnd: 719
    functionName: OpenIntfCommon
    functionSourceFile: /src/vlc/modules/gui/qt/qt.cpp
    functionUses: 0
    functionsReached:
    - vlc_sem_init
    - reinterpret_cast<intf_sys_t*>
    - reinterpret_cast<intf_thread_t*>
    - vlc_object_instance
    - vlc_object_create
    - vlc_object_delete
    - OpenInternal
    - vlc_LogHeaderCreate
    - vlc_LogDestroy
    linkageType: ''
    returnType: int
    signature: int OpenIntfCommon( vlc_object_t *p_this, bool dialogProvider )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenIntfCommon
      Src: /src/vlc/modules/gui/qt/qt.cpp:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 721
    functionDepth: 3
    functionLinenumber: 721
    functionLinenumberEnd: 724
    functionName: OpenIntf
    functionSourceFile: /src/vlc/modules/gui/qt/qt.cpp
    functionUses: 0
    functionsReached:
    - OpenIntfCommon
    linkageType: ''
    returnType: int
    signature: int OpenIntf( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenIntfCommon
      Src: /src/vlc/modules/gui/qt/qt.cpp:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 727
    functionDepth: 3
    functionLinenumber: 727
    functionLinenumberEnd: 730
    functionName: OpenDialogs
    functionSourceFile: /src/vlc/modules/gui/qt/qt.cpp
    functionUses: 0
    functionsReached:
    - OpenIntfCommon
    linkageType: ''
    returnType: int
    signature: int OpenDialogs( vlc_object_t *p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<qt_intf_t*>
      Src: /src/vlc/modules/gui/qt/qt.cpp:736,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/qt.cpp:740,1
    - Dst: ThreadCleanup
      Src: /src/vlc/modules/gui/qt/qt.cpp:741,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/qt.cpp:748,1
    - Dst: CloseInternal
      Src: /src/vlc/modules/gui/qt/qt.cpp:760,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: (g_qtIntf == p_intf)
      pos:
        line_end: 747
        line_start: 747
        source_file: /src/vlc/modules/gui/qt/qt.cpp
    constantsTouched: []
    func_position:
      end: 762
      start: 733
    functionDepth: 2
    functionLinenumber: 733
    functionLinenumberEnd: 762
    functionName: Close
    functionSourceFile: /src/vlc/modules/gui/qt/qt.cpp
    functionUses: 147
    functionsReached:
    - assert
    - reinterpret_cast<qt_intf_t*>
    - ThreadCleanup
    - QMetaObject::invokeMethod
    - CloseInternal
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qRegisterMetaType<size_t>
      Src: /src/vlc/modules/gui/qt/qt.cpp:766,1
    - Dst: qRegisterMetaType<ssize_t>
      Src: /src/vlc/modules/gui/qt/qt.cpp:767,1
    - Dst: qRegisterMetaType<vlc_tick_t>
      Src: /src/vlc/modules/gui/qt/qt.cpp:768,1
    - Dst: qRegisterMetaType<VLCTime>
      Src: /src/vlc/modules/gui/qt/qt.cpp:770,1
    - Dst: qRegisterMetaType<VLCDuration>
      Src: /src/vlc/modules/gui/qt/qt.cpp:771,1
    - Dst: qRegisterMetaType<QList<TimedText>>
      Src: /src/vlc/modules/gui/qt/qt.cpp:772,1
    - Dst: qRegisterMetaType<SharedInputItem>
      Src: /src/vlc/modules/gui/qt/qt.cpp:773,1
    - Dst: qRegisterMetaType<NetworkTreeItem>
      Src: /src/vlc/modules/gui/qt/qt.cpp:774,1
    - Dst: qRegisterMetaType<Playlist>
      Src: /src/vlc/modules/gui/qt/qt.cpp:775,1
    - Dst: qRegisterMetaType<PlaylistItem>
      Src: /src/vlc/modules/gui/qt/qt.cpp:776,1
    - Dst: qRegisterMetaType<DialogId>
      Src: /src/vlc/modules/gui/qt/qt.cpp:777,1
    - Dst: qRegisterMetaType<MLItemId>
      Src: /src/vlc/modules/gui/qt/qt.cpp:778,1
    - Dst: qRegisterMetaType<QVector<MLItemId>>
      Src: /src/vlc/modules/gui/qt/qt.cpp:779,1
    - Dst: qRegisterMetaType<QList<QQmlError>>
      Src: /src/vlc/modules/gui/qt/qt.cpp:780,1
    - Dst: qRegisterMetaType<VLCDialog::QuestionType>
      Src: /src/vlc/modules/gui/qt/qt.cpp:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 782
    functionName: registerMetaTypes
    functionSourceFile: /src/vlc/modules/gui/qt/qt.cpp
    functionUses: 0
    functionsReached:
    - qRegisterMetaType<VLCDuration>
    - qRegisterMetaType<ssize_t>
    - qRegisterMetaType<Playlist>
    - qRegisterMetaType<DialogId>
    - qRegisterMetaType<SharedInputItem>
    - qRegisterMetaType<VLCTime>
    - qRegisterMetaType<vlc_tick_t>
    - qRegisterMetaType<QList<TimedText>>
    - qRegisterMetaType<NetworkTreeItem>
    - qRegisterMetaType<QVector<MLItemId>>
    - qRegisterMetaType<QList<QQmlError>>
    - qRegisterMetaType<VLCDialog::QuestionType>
    - qRegisterMetaType<size_t>
    - qRegisterMetaType<PlaylistItem>
    - qRegisterMetaType<MLItemId>
    linkageType: ''
    returnType: void
    signature: void registerMetaTypes()
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/gui/qt/qt.cpp:788,1
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/gui/qt/qt.cpp:795,1
    - Dst: vlc::wrap_carray<char*>
      Src: /src/vlc/modules/gui/qt/qt.cpp:798,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/qt.cpp:800,1
    - Dst: strdup
      Src: /src/vlc/modules/gui/qt/qt.cpp:802,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/gui/qt/qt.cpp:805,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/qt.cpp:808,1
    - Dst: asprintf
      Src: /src/vlc/modules/gui/qt/qt.cpp:810,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/qt.cpp:812,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/qt.cpp:816,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:822,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:823,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:824,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:825,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:826,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:827,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:828,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:829,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:830,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:831,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:832,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:833,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:836,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:837,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:838,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:839,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:840,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:841,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:842,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:843,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:844,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:845,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:846,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:847,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:851,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:853,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:855,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:863,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:865,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:866,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:867,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:868,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:869,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:870,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:871,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:872,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:873,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:874,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:875,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:877,1
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/qt.cpp:878,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/gui/qt/qt.cpp:883,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/qt.cpp:885,1
    - Dst: QApplication::setAttribute
      Src: /src/vlc/modules/gui/qt/qt.cpp:888,1
    - Dst: QQuickWindow::setDefaultAlphaBuffer
      Src: /src/vlc/modules/gui/qt/qt.cpp:889,1
    - Dst: QQuickStyle::setStyle
      Src: /src/vlc/modules/gui/qt/qt.cpp:892,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/qt.cpp:892,1
    - Dst: QApplication::setProperty
      Src: /src/vlc/modules/gui/qt/qt.cpp:897,1
    - Dst: QApplication::style
      Src: /src/vlc/modules/gui/qt/qt.cpp:897,1
    - Dst: Translator::Translator
      Src: /src/vlc/modules/gui/qt/qt.cpp:901,1
    - Dst: QCoreApplication::installTranslator
      Src: /src/vlc/modules/gui/qt/qt.cpp:902,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/qt.cpp:903,1
    - Dst: installEventFilter
      Src: /src/vlc/modules/gui/qt/qt.cpp:921,1
    - Dst: type
      Src: /src/vlc/modules/gui/qt/qt.cpp:926,1
    - Dst: DialogsProvider::getInstance
      Src: /src/vlc/modules/gui/qt/qt.cpp:928,1
    - Dst: registerMetaTypes
      Src: /src/vlc/modules/gui/qt/qt.cpp:936,1
    - Dst: QApplication::setLayoutDirection
      Src: /src/vlc/modules/gui/qt/qt.cpp:942,1
    - Dst: QLocale
      Src: /src/vlc/modules/gui/qt/qt.cpp:942,1
    - Dst: config_GetUserDir
      Src: /src/vlc/modules/gui/qt/qt.cpp:946,1
    - Dst: likely
      Src: /src/vlc/modules/gui/qt/qt.cpp:947,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/qt.cpp:950,1
    - Dst: QString::endsWith
      Src: /src/vlc/modules/gui/qt/qt.cpp:951,1
    - Dst: QString::chop
      Src: /src/vlc/modules/gui/qt/qt.cpp:952,1
    - Dst: RSAKey::setPath
      Src: /src/vlc/modules/gui/qt/qt.cpp:953,1
    - Dst: QSettings::QSettings
      Src: /src/vlc/modules/gui/qt/qt.cpp:957,1
    - Dst: ::LoadLibraryEx
      Src: /src/vlc/modules/gui/qt/qt.cpp:977,1
    - Dst: TEXT
      Src: /src/vlc/modules/gui/qt/qt.cpp:977,1
    - Dst: __riscv_hwprobe
      Src: /src/vlc/modules/gui/qt/qt.cpp:992,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/qt.cpp:999,1
    - Dst: QRhiGles2InitParams::newFallbackSurface
      Src: /src/vlc/modules/gui/qt/qt.cpp:1003,1
    - Dst: __riscv_hwprobe
      Src: /src/vlc/modules/gui/qt/qt.cpp:1004,1
    - Dst: test_es_out_create
      Src: /src/vlc/modules/gui/qt/qt.cpp:1027,1
    - Dst: qEnvironmentVariableIsEmpty
      Src: /src/vlc/modules/gui/qt/qt.cpp:1044,1
    - Dst: qEnvironmentVariableIsEmpty
      Src: /src/vlc/modules/gui/qt/qt.cpp:1045,1
    - Dst: uint
      Src: /src/vlc/modules/gui/qt/qt.cpp:1046,1
    - Dst: qEnvironmentVariableIntValue
      Src: /src/vlc/modules/gui/qt/qt.cpp:1046,1
    - Dst: qWarning
      Src: /src/vlc/modules/gui/qt/qt.cpp:1052,1
    - Dst: qputenv
      Src: /src/vlc/modules/gui/qt/qt.cpp:1054,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/qt.cpp:1054,1
    - Dst: qt_intf_t*::mainSettings::value
      Src: /src/vlc/modules/gui/qt/qt.cpp:1057,1
    - Dst: QVariant::isValid
      Src: /src/vlc/modules/gui/qt/qt.cpp:1059,1
    - Dst: Q_LIKELY
      Src: /src/vlc/modules/gui/qt/qt.cpp:1059,1
    - Dst: QVariant::canConvert
      Src: /src/vlc/modules/gui/qt/qt.cpp:1059,1
    - Dst: QQuickWindow::setGraphicsApi
      Src: /src/vlc/modules/gui/qt/qt.cpp:1062,1
    - Dst: static_cast<QSGRendererInterface::GraphicsApi>
      Src: /src/vlc/modules/gui/qt/qt.cpp:1062,1
    - Dst: QVariant::value
      Src: /src/vlc/modules/gui/qt/qt.cpp:1062,1
    - Dst: qt_intf_t*::mainSettings::value
      Src: /src/vlc/modules/gui/qt/qt.cpp:1063,1
    - Dst: enableRhiSoftwareRenderer
      Src: /src/vlc/modules/gui/qt/qt.cpp:1064,1
    - Dst: probeRhi
      Src: /src/vlc/modules/gui/qt/qt.cpp:1083,1
    - Dst: QPointer
      Src: /src/vlc/modules/gui/qt/qt.cpp:1087,1
    - Dst: RhiProbeTask::RhiProbeTask
      Src: /src/vlc/modules/gui/qt/qt.cpp:1087,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/qt.cpp:1088,1
    - Dst: QPointer
      Src: /src/vlc/modules/gui/qt/qt.cpp:1088,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/qt.cpp:1094,1
    - Dst: auto::takeResult
      Src: /src/vlc/modules/gui/qt/qt.cpp:1095,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/qt.cpp:1096,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/gui/qt/qt.cpp:1096,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/qt.cpp:1097,1
    - Dst: sync
      Src: /src/vlc/modules/gui/qt/qt.cpp:1098,1
    - Dst: setProperty
      Src: /src/vlc/modules/gui/qt/qt.cpp:1099,1
    - Dst: qDebug
      Src: /src/vlc/modules/gui/qt/qt.cpp:1100,1
    - Dst: auto::abandon
      Src: /src/vlc/modules/gui/qt/qt.cpp:1104,1
    - Dst: QThreadPool::globalInstance
      Src: /src/vlc/modules/gui/qt/qt.cpp:1107,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/qt.cpp:1108,1
    - Dst: auto::start
      Src: /src/vlc/modules/gui/qt/qt.cpp:1110,1
    - Dst: probeRhi
      Src: /src/vlc/modules/gui/qt/qt.cpp:1114,1
    - Dst: enableRhiSoftwareRenderer
      Src: /src/vlc/modules/gui/qt/qt.cpp:1116,1
    - Dst: QQuickWindow::setGraphicsApi
      Src: /src/vlc/modules/gui/qt/qt.cpp:1119,1
    - Dst: qt_intf_t*::mainSettings::setValue
      Src: /src/vlc/modules/gui/qt/qt.cpp:1120,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/gui/qt/qt.cpp:1120,1
    - Dst: qt_intf_t*::mainSettings::sync
      Src: /src/vlc/modules/gui/qt/qt.cpp:1121,1
    - Dst: QApplication::setApplicationDisplayName
      Src: /src/vlc/modules/gui/qt/qt.cpp:1126,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/qt.cpp:1126,1
    - Dst: QApplication::setApplicationVersion
      Src: /src/vlc/modules/gui/qt/qt.cpp:1127,1
    - Dst: QString::fromUtf8
      Src: /src/vlc/modules/gui/qt/qt.cpp:1127,1
    - Dst: QDate::currentDate
      Src: /src/vlc/modules/gui/qt/qt.cpp:1129,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/qt.cpp:1129,1
    - Dst: QApplication::setWindowIcon
      Src: /src/vlc/modules/gui/qt/qt.cpp:1130,1
    - Dst: QIcon::fromTheme
      Src: /src/vlc/modules/gui/qt/qt.cpp:1130,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/qt.cpp:1130,1
    - Dst: QApplication::setWindowIcon
      Src: /src/vlc/modules/gui/qt/qt.cpp:1132,1
    - Dst: QIcon::fromTheme
      Src: /src/vlc/modules/gui/qt/qt.cpp:1132,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/qt.cpp:1132,1
    - Dst: QApplication::setDesktopFileName
      Src: /src/vlc/modules/gui/qt/qt.cpp:1134,1
    - Dst: DialogsProvider::getInstance
      Src: /src/vlc/modules/gui/qt/qt.cpp:1136,1
    - Dst: DialogsProvider::getInstance
      Src: /src/vlc/modules/gui/qt/qt.cpp:1137,1
    - Dst: DialogsProvider::getInstance
      Src: /src/vlc/modules/gui/qt/qt.cpp:1140,1
    - Dst: PlayerController::PlayerController
      Src: /src/vlc/modules/gui/qt/qt.cpp:1141,1
    - Dst: vlc::playlist::PlaylistController::PlaylistController
      Src: /src/vlc/modules/gui/qt/qt.cpp:1142,1
    - Dst: std::unique_ptr<ModelRecoveryAgent>
      Src: /src/vlc/modules/gui/qt/qt.cpp:1144,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/qt.cpp:1145,1
    - Dst: QPointer
      Src: /src/vlc/modules/gui/qt/qt.cpp:1145,1
    - Dst: QPointer
      Src: /src/vlc/modules/gui/qt/qt.cpp:1145,1
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/qt.cpp:1146,1
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/qt.cpp:1148,1
    - Dst: std::make_unique<ModelRecoveryAgent>
      Src: /src/vlc/modules/gui/qt/qt.cpp:1151,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/qt.cpp:1151,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/qt.cpp:1152,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/qt.cpp:1153,1
    - Dst: MainCtxWin32::MainCtxWin32
      Src: /src/vlc/modules/gui/qt/qt.cpp:1159,1
    - Dst: MainCtx::MainCtx
      Src: /src/vlc/modules/gui/qt/qt.cpp:1161,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/qt.cpp:1180,1
    - Dst: installEventFilter
      Src: /src/vlc/modules/gui/qt/qt.cpp:1181,1
    - Dst: type
      Src: /src/vlc/modules/gui/qt/qt.cpp:1187,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/qt.cpp:1189,1
    - Dst: setUsingTouch
      Src: /src/vlc/modules/gui/qt/qt.cpp:1191,1
    - Dst: deleteLater
      Src: /src/vlc/modules/gui/qt/qt.cpp:1194,1
    - Dst: type
      Src: /src/vlc/modules/gui/qt/qt.cpp:1198,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/qt.cpp:1200,1
    - Dst: setUsingTouch
      Src: /src/vlc/modules/gui/qt/qt.cpp:1202,1
    - Dst: TouchObserver::TouchObserver
      Src: /src/vlc/modules/gui/qt/qt.cpp:1210,1
    - Dst: QPointer
      Src: /src/vlc/modules/gui/qt/qt.cpp:1212,1
    - Dst: QPointer
      Src: /src/vlc/modules/gui/qt/qt.cpp:1212,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/qt.cpp:1216,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/qt.cpp:1217,1
    - Dst: qCritical
      Src: /src/vlc/modules/gui/qt/qt.cpp:1221,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/qt.cpp:1222,1
    - Dst: QApplication::property
      Src: /src/vlc/modules/gui/qt/qt.cpp:1227,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/qt.cpp:1229,1
    - Dst: remove
      Src: /src/vlc/modules/gui/qt/qt.cpp:1230,1
    - Dst: sync
      Src: /src/vlc/modules/gui/qt/qt.cpp:1231,1
    - Dst: askToQuit
      Src: /src/vlc/modules/gui/qt/qt.cpp:1234,1
    - Dst: qt_intf_t*::p_compositor::reset
      Src: /src/vlc/modules/gui/qt/qt.cpp:1240,1
    - Dst: vlc::CompositorFactory::createCompositor
      Src: /src/vlc/modules/gui/qt/qt.cpp:1240,1
    - Dst: qt_intf_t*::p_compositor::makeMainInterface
      Src: /src/vlc/modules/gui/qt/qt.cpp:1243,1
    - Dst: qt_intf_t*::p_compositor::destroyMainInterface
      Src: /src/vlc/modules/gui/qt/qt.cpp:1246,1
    - Dst: qt_intf_t*::p_compositor::reset
      Src: /src/vlc/modules/gui/qt/qt.cpp:1247,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/qt.cpp:1253,1
    - Dst: QCoreApplication::sendPostedEvents
      Src: /src/vlc/modules/gui/qt/qt.cpp:1257,1
    - Dst: ThreadCleanup
      Src: /src/vlc/modules/gui/qt/qt.cpp:1258,1
    - Dst: QApplication::platformName
      Src: /src/vlc/modules/gui/qt/qt.cpp:1264,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/qt.cpp:1265,1
    - Dst: startsWith
      Src: /src/vlc/modules/gui/qt/qt.cpp:1266,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/qt.cpp:1266,1
    - Dst: QApplication::installEventFilter
      Src: /src/vlc/modules/gui/qt/qt.cpp:1268,1
    - Dst: DismissPopupEventFilter::DismissPopupEventFilter
      Src: /src/vlc/modules/gui/qt/qt.cpp:1268,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/qt.cpp:1270,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/qt.cpp:1270,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/qt.cpp:1271,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/qt.cpp:1271,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/qt.cpp:1274,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/qt.cpp:1274,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/gui/qt/qt.cpp:1279,1
    - Dst: var_SetString
      Src: /src/vlc/modules/gui/qt/qt.cpp:1281,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/qt.cpp:1290,1
    - Dst: signal
      Src: /src/vlc/modules/gui/qt/qt.cpp:1293,1
    - Dst: QApplication::setQuitOnLastWindowClosed
      Src: /src/vlc/modules/gui/qt/qt.cpp:1297,1
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/qt.cpp:1301,1
    - Dst: QString::compare
      Src: /src/vlc/modules/gui/qt/qt.cpp:1302,1
    - Dst: QApplication::setStyle
      Src: /src/vlc/modules/gui/qt/qt.cpp:1304,1
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/qt.cpp:1310,1
    - Dst: QApplication::exec
      Src: /src/vlc/modules/gui/qt/qt.cpp:1316,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/qt.cpp:1318,1
    - Dst: std::optional::reset
      Src: /src/vlc/modules/gui/qt/qt.cpp:1320,1
    - Dst: ThreadCleanup
      Src: /src/vlc/modules/gui/qt/qt.cpp:1321,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 241
    argCount: 1
    argNames:
    - obj
    argTypes:
    - void*
    assertStmts:
    - condition: (globalThreadPool)
      pos:
        line_end: 1107
        line_start: 1107
        source_file: /src/vlc/modules/gui/qt/qt.cpp
    - condition: (m_mainCtx)
      pos:
        line_end: 1188
        line_start: 1188
        source_file: /src/vlc/modules/gui/qt/qt.cpp
    - condition: (ret)
      pos:
        line_end: 902
        line_start: 902
        source_file: /src/vlc/modules/gui/qt/qt.cpp
    - condition: (mainCtx)
      pos:
        line_end: 1221
        line_start: 1221
        source_file: /src/vlc/modules/gui/qt/qt.cpp
    - condition: (settings)
      pos:
        line_end: 1228
        line_start: 1228
        source_file: /src/vlc/modules/gui/qt/qt.cpp
    - condition: (window)
      pos:
        line_end: 1215
        line_start: 1215
        source_file: /src/vlc/modules/gui/qt/qt.cpp
    - condition: (qApp)
      pos:
        line_end: 1179
        line_start: 1179
        source_file: /src/vlc/modules/gui/qt/qt.cpp
    - condition: (g_qtIntf == nullptr)
      pos:
        line_end: 1289
        line_start: 1289
        source_file: /src/vlc/modules/gui/qt/qt.cpp
    - condition: (m_mainCtx)
      pos:
        line_end: 1199
        line_start: 1199
        source_file: /src/vlc/modules/gui/qt/qt.cpp
    - condition: (settings)
      pos:
        line_end: 1093
        line_start: 1093
        source_file: /src/vlc/modules/gui/qt/qt.cpp
    constantsTouched: []
    func_position:
      end: 1322
      start: 784
    functionDepth: 2
    functionLinenumber: 784
    functionLinenumberEnd: 1322
    functionName: Thread
    functionSourceFile: /src/vlc/modules/gui/qt/qt.cpp
    functionUses: 5
    functionsReached:
    - test_es_out_create
    - __riscv_hwprobe
    - QApplication::property
    - QIcon::fromTheme
    - QSettings::QSettings
    - Disconnect
    - QApplication::setApplicationDisplayName
    - ::LoadLibraryEx
    - get
    - QApplication::installEventFilter
    - askToQuit
    - msg_Dbg
    - QApplication::setDesktopFileName
    - QVariant::isValid
    - std::optional::reset
    - QLocale
    - QRhiGles2InitParams::newFallbackSurface
    - QCoreApplication::installTranslator
    - Q_LIKELY
    - qt_intf_t*::mainSettings::setValue
    - qt_intf_t*::p_compositor::reset
    - free
    - QApplication::style
    - PlayerController::PlayerController
    - auto::takeResult
    - assert
    - QVariant::canConvert
    - QPointer
    - qputenv
    - deleteLater
    - Translator::Translator
    - QQuickWindow::setDefaultAlphaBuffer
    - asprintf
    - vlc::playlist::PlaylistController::PlaylistController
    - DismissPopupEventFilter::DismissPopupEventFilter
    - QDate::currentDate
    - std::unique_ptr<ModelRecoveryAgent>
    - QThreadPool::globalInstance
    - QApplication::setApplicationVersion
    - vlc_thread_set_name
    - qt_intf_t*::p_compositor::makeMainInterface
    - DialogsProvider::getInstance
    - static_cast<QSGRendererInterface::GraphicsApi>
    - QString::chop
    - MainCtxWin32::MainCtxWin32
    - QStringLiteral
    - var_InheritString
    - static_cast<int>
    - qEnvironmentVariableIntValue
    - QApplication::setAttribute
    - QVariant::value
    - QApplication::setQuitOnLastWindowClosed
    - var_SetString
    - getSettings
    - Q_UNLIKELY
    - type
    - std::make_unique<ModelRecoveryAgent>
    - QApplication::setLayoutDirection
    - TEXT
    - auto::start
    - qt_intf_t*::p_compositor::destroyMainInterface
    - QApplication::platformName
    - msg_Err
    - QString::fromUtf8
    - startsWith
    - likely
    - QCoreApplication::sendPostedEvents
    - Q_INIT_RESOURCE
    - registerMetaTypes
    - signal
    - QLatin1String
    - uint
    - QMetaObject::invokeMethod
    - RhiProbeTask::RhiProbeTask
    - QApplication::setWindowIcon
    - qWarning
    - QIcon
    - vlc::CompositorFactory::createCompositor
    - setProperty
    - qt_intf_t*::mainSettings::value
    - ThreadCleanup
    - QByteArrayLiteral
    - MainCtx::MainCtx
    - QQuickWindow::setGraphicsApi
    - vlc::wrap_carray<char*>
    - setValue
    - qtu
    - RSAKey::setPath
    - auto::abandon
    - strdup
    - QString::endsWith
    - qtr
    - var_InheritBool
    - vlc_object_instance
    - QApplication::exec
    - setUsingTouch
    - probeRhi
    - enableRhiSoftwareRenderer
    - TouchObserver::TouchObserver
    - qCritical
    - QApplication::setStyle
    - QQuickStyle::setStyle
    - qt_intf_t*::mainSettings::sync
    - remove
    - QString::compare
    - sync
    - VLC_OBJECT
    - QApplication::setProperty
    - config_GetUserDir
    - qDebug
    - qEnvironmentVariableIsEmpty
    - installEventFilter
    linkageType: ''
    returnType: void
    signature: void *Thread( void *obj )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: installEventFilter
      Src: /src/vlc/modules/gui/qt/qt.cpp:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - parent
    - intf
    argTypes:
    - QObject*
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 922
    functionName: QuitSpy::QuitSpy
    functionSourceFile: /src/vlc/modules/gui/qt/qt.cpp
    functionUses: 0
    functionsReached:
    - installEventFilter
    linkageType: ''
    returnType: void
    signature: void QuitSpy(QObject *parent, qt_intf_t *intf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/vlc/modules/gui/qt/qt.cpp:926,1
    - Dst: DialogsProvider::getInstance
      Src: /src/vlc/modules/gui/qt/qt.cpp:928,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - o
    - e
    argTypes:
    - QObject*
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 923
    functionDepth: 1
    functionLinenumber: 923
    functionLinenumberEnd: 932
    functionName: QuitSpy::eventFilter
    functionSourceFile: /src/vlc/modules/gui/qt/qt.cpp
    functionUses: 0
    functionsReached:
    - QEvent*::type
    - DialogsProvider::getInstance
    linkageType: ''
    returnType: bool
    signature: bool eventFilter(QObject *o, QEvent *e) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1079
    functionName: RhiProbeTask::RhiProbeTask
    functionSourceFile: /src/vlc/modules/gui/qt/qt.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RhiProbeTask()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: probeRhi
      Src: /src/vlc/modules/gui/qt/qt.cpp:1083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1084
    functionName: RhiProbeTask::execute
    functionSourceFile: /src/vlc/modules/gui/qt/qt.cpp
    functionUses: 0
    functionsReached:
    - probeRhi
    linkageType: ''
    returnType: QPair<QSGRendererInterface::GraphicsApi, bool>
    signature: QPair<QSGRendererInterface::GraphicsApi, bool> execute() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/qt.cpp:1180,1
    - Dst: installEventFilter
      Src: /src/vlc/modules/gui/qt/qt.cpp:1181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mainCtx
    argTypes:
    - MainCtx*
    assertStmts:
    - condition: (qApp)
      pos:
        line_end: 1179
        line_start: 1179
        source_file: /src/vlc/modules/gui/qt/qt.cpp
    constantsTouched: []
    func_position:
      end: 1182
      start: 1172
    functionDepth: 1
    functionLinenumber: 1172
    functionLinenumberEnd: 1182
    functionName: TouchObserver::TouchObserver
    functionSourceFile: /src/vlc/modules/gui/qt/qt.cpp
    functionUses: 1
    functionsReached:
    - assert
    - installEventFilter
    linkageType: ''
    returnType: void
    signature: void TouchObserver(MainCtx *mainCtx, bool persistent = true)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/vlc/modules/gui/qt/qt.cpp:1187,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/qt.cpp:1189,1
    - Dst: setUsingTouch
      Src: /src/vlc/modules/gui/qt/qt.cpp:1191,1
    - Dst: deleteLater
      Src: /src/vlc/modules/gui/qt/qt.cpp:1194,1
    - Dst: QEvent*::type
      Src: /src/vlc/modules/gui/qt/qt.cpp:1198,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/qt.cpp:1200,1
    - Dst: setUsingTouch
      Src: /src/vlc/modules/gui/qt/qt.cpp:1202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - event
    argTypes:
    - QEvent*
    assertStmts:
    - condition: (m_mainCtx)
      pos:
        line_end: 1188
        line_start: 1188
        source_file: /src/vlc/modules/gui/qt/qt.cpp
    - condition: (m_mainCtx)
      pos:
        line_end: 1199
        line_start: 1199
        source_file: /src/vlc/modules/gui/qt/qt.cpp
    constantsTouched: []
    func_position:
      end: 1207
      start: 1185
    functionDepth: 1
    functionLinenumber: 1185
    functionLinenumberEnd: 1207
    functionName: TouchObserver::eventFilter
    functionSourceFile: /src/vlc/modules/gui/qt/qt.cpp
    functionUses: 0
    functionsReached:
    - QEvent*::type
    - deleteLater
    - assert
    - setUsingTouch
    linkageType: ''
    returnType: bool
    signature: bool eventFilter(QObject*, QEvent* event) override
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/vlc/modules/gui/qt/qt.cpp:1331,1
    - Dst: qt_intf_t*::p_compositor::unloadGUI
      Src: /src/vlc/modules/gui/qt/qt.cpp:1340,1
    - Dst: qt_intf_t*::p_compositor::destroyMainInterface
      Src: /src/vlc/modules/gui/qt/qt.cpp:1342,1
    - Dst: Singleton::killInstance
      Src: /src/vlc/modules/gui/qt/qt.cpp:1346,1
    - Dst: Singleton::killInstance
      Src: /src/vlc/modules/gui/qt/qt.cpp:1353,1
    - Dst: Singleton::killInstance
      Src: /src/vlc/modules/gui/qt/qt.cpp:1354,1
    - Dst: Singleton::killInstance
      Src: /src/vlc/modules/gui/qt/qt.cpp:1355,1
    - Dst: Singleton::killInstance
      Src: /src/vlc/modules/gui/qt/qt.cpp:1356,1
    - Dst: qt_intf_t*::p_compositor::reset
      Src: /src/vlc/modules/gui/qt/qt.cpp:1366,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - p_intf
    - cleanupReason
    argTypes:
    - qt_intf_t*
    - CleanupReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1324
    functionDepth: 1
    functionLinenumber: 1324
    functionLinenumberEnd: 1388
    functionName: ThreadCleanup
    functionSourceFile: /src/vlc/modules/gui/qt/qt.cpp
    functionUses: 2
    functionsReached:
    - qt_intf_t*::p_compositor::unloadGUI
    - Singleton::killInstance
    - qt_intf_t*::p_compositor::destroyMainInterface
    - qt_intf_t*::p_compositor::reset
    - signal
    linkageType: ''
    returnType: void
    signature: void *ThreadCleanup( qt_intf_t *p_intf, CleanupReason cleanupReason
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/gui/qt/qt.cpp:1396,1
    - Dst: DialogEvent::DialogEvent
      Src: /src/vlc/modules/gui/qt/qt.cpp:1397,1
    - Dst: QApplication::postEvent
      Src: /src/vlc/modules/gui/qt/qt.cpp:1398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - p_intf
    - i_dialog_event
    - i_arg
    - p_arg
    argTypes:
    - intf_thread_t*
    - int
    - int
    - intf_dialog_args_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1393
    functionDepth: 1
    functionLinenumber: 1393
    functionLinenumberEnd: 1399
    functionName: ShowDialog
    functionSourceFile: /src/vlc/modules/gui/qt/qt.cpp
    functionUses: 0
    functionsReached:
    - DialogEvent::DialogEvent
    - QApplication::postEvent
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void ShowDialog( intf_thread_t *p_intf, int i_dialog_event, int i_arg,\n
      \                       intf_dialog_args_t *p_arg )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/qt.cpp:1408,1
    - Dst: CloseInternal
      Src: /src/vlc/modules/gui/qt/qt.cpp:1416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (g_qtIntf != nullptr)
      pos:
        line_end: 1407
        line_start: 1407
        source_file: /src/vlc/modules/gui/qt/qt.cpp
    constantsTouched: []
    func_position:
      end: 1417
      start: 1401
    functionDepth: 2
    functionLinenumber: 1401
    functionLinenumberEnd: 1417
    functionName: WindowCloseCb
    functionSourceFile: /src/vlc/modules/gui/qt/qt.cpp
    functionUses: 0
    functionsReached:
    - assert
    - CloseInternal
    linkageType: ''
    returnType: void
    signature: void WindowCloseCb( vlc_window_t * )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/qt.cpp:1424,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/qt.cpp:1435,1
    - Dst: unlikely
      Src: /src/vlc/modules/gui/qt/qt.cpp:1439,1
    - Dst: platformName
      Src: /src/vlc/modules/gui/qt/qt.cpp:1446,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/qt.cpp:1447,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/qt.cpp:1447,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/qt.cpp:1449,1
    - Dst: qt_intf_t*::p_compositor::setupVoutWindow
      Src: /src/vlc/modules/gui/qt/qt.cpp:1454,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - p_wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1422
    functionDepth: 1
    functionLinenumber: 1422
    functionLinenumberEnd: 1463
    functionName: WindowOpen
    functionSourceFile: /src/vlc/modules/gui/qt/qt.cpp
    functionUses: 0
    functionsReached:
    - QLatin1String
    - var_InheritBool
    - platformName
    - qt_intf_t*::p_compositor::setupVoutWindow
    - msg_Dbg
    - unlikely
    linkageType: ''
    returnType: int
    signature: int WindowOpen( vlc_window_t *p_wnd )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/vlc/modules/gui/qt/qt.hpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: vlc_locker::vlc_locker
    functionSourceFile: /src/vlc/modules/gui/qt/qt.hpp
    functionUses: 0
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: void
    signature: void vlc_locker(T * const ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNLOCK
      Src: /src/vlc/modules/gui/qt/qt.hpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: ~vlc_locker()
    functionSourceFile: /src/vlc/modules/gui/qt/qt.hpp
    functionUses: 0
    functionsReached:
    - UNLOCK
    linkageType: ''
    returnType: void
    signature: void ~vlc_locker()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: qfu
    functionSourceFile: /src/vlc/modules/gui/qt/qt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: qfu( i )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: qfue
    functionSourceFile: /src/vlc/modules/gui/qt/qt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: qfue( i )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: qfut
    functionSourceFile: /src/vlc/modules/gui/qt/qt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: qfut( ... )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: qtu
    functionSourceFile: /src/vlc/modules/gui/qt/qt.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: qtu( i )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: qtr
    functionSourceFile: /src/vlc/modules/gui/qt/qt.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: qtr( ... )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: BUTTONACT
    functionSourceFile: /src/vlc/modules/gui/qt/qt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUTTONACT( b, a )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: getSettings
    functionSourceFile: /src/vlc/modules/gui/qt/qt.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: getSettings()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: config_GetUserDir
      Src: /src/vlc/modules/gui/qt/qt.hpp:153,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/qt.hpp:156,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/qt.hpp:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - vlc_userdir_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: QVLCUserDir
    functionSourceFile: /src/vlc/modules/gui/qt/qt.hpp
    functionUses: 0
    functionsReached:
    - free
    - config_GetUserDir
    - qfu
    linkageType: ''
    returnType: QString
    signature: QString QVLCUserDir( vlc_userdir_t type )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QString::toUtf8
      Src: /src/vlc/modules/gui/qt/vlc-qt-check.cpp:36,1
    - Dst: exit
      Src: /src/vlc/modules/gui/qt/vlc-qt-check.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - type
    - msg
    argTypes:
    - QtMsgType
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: messageOutput
    functionSourceFile: /src/vlc/modules/gui/qt/vlc-qt-check.cpp
    functionUses: 0
    functionsReached:
    - exit
    - QString::toUtf8
    linkageType: ''
    returnType: void
    signature: "void messageOutput(QtMsgType type, const QMessageLogContext &,\n                          const
      QString &msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<VLCTestingEnv>
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:41,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:42,1
    - Dst: TestVLCDialogModel::init
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: TestVLCDialogModel::initTestCase
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<VLCTestingEnv>
    - QVERIFY
    - TestVLCDialogModel::init
    linkageType: ''
    returnType: void
    signature: void initTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: TestVLCDialogModel::cleanupTestCase
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void cleanupTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::getInstance
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:52,1
    - Dst: VLCDialog::VLCDialog
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:53,1
    - Dst: std::make_unique<QSignalSpy>
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:54,1
    - Dst: std::make_unique<QSignalSpy>
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:55,1
    - Dst: std::make_unique<QSignalSpy>
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:56,1
    - Dst: std::make_unique<QSignalSpy>
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:57,1
    - Dst: std::make_unique<QSignalSpy>
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: TestVLCDialogModel::init
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp
    functionUses: 1
    functionsReached:
    - VLCDialog::VLCDialog
    - DialogsProvider::getInstance
    - std::make_unique<QSignalSpy>
    linkageType: ''
    returnType: void
    signature: void init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:62,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:63,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:64,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:65,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:66,1
    - Dst: VLCDialogModel::getInstance<false>
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:67,1
    - Dst: VLCDialogModel*::setProvider
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:69,1
    - Dst: Singleton::killInstance
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 73
    functionName: TestVLCDialogModel::cleanup
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp
    functionUses: 0
    functionsReached:
    - Singleton::killInstance
    - VLCDialogModel::getInstance<false>
    - reset
    - VLCDialogModel*::setProvider
    linkageType: ''
    returnType: void
    signature: void cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QTest::addColumn<UserAnswer>
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:76,1
    - Dst: QTest::addColumn<int>
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:77,1
    - Dst: MLFoldersEditor::newRow
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:79,1
    - Dst: MLFoldersEditor::newRow
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:80,1
    - Dst: MLFoldersEditor::newRow
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: TestVLCDialogModel::testLogin_data
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp
    functionUses: 0
    functionsReached:
    - MLFoldersEditor::newRow
    - QTest::addColumn<int>
    - QTest::addColumn<UserAnswer>
    linkageType: ''
    returnType: void
    signature: void testLogin_data()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QFETCH
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:86,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:89,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:94,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:95,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:96,1
    - Dst: dismiss
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:101,1
    - Dst: post_login
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:104,1
    - Dst: post_action1
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:109,1
    - Dst: VLCDialogModel::getInstance<false>
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:115,1
    - Dst: QThreadPool::globalInstance
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:122,1
    - Dst: vlc_dialog_wait_login
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:125,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:131,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:132,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:138,1
    - Dst: QTest::qWaitFor
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:138,1
    - Dst: QCOMPARE_LT
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:140,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:142,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:145,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:146,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:147,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:150,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:150,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:151,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:151,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:152,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:152,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:153,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:153,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 154
    functionName: TestVLCDialogModel::testLogin
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp
    functionUses: 0
    functionsReached:
    - QThreadPool::globalInstance
    - QVERIFY
    - vlc_dialog_wait_login
    - dismiss
    - QCOMPARE
    - VLCDialogModel::getInstance<false>
    - QCOMPARE_LT
    - count
    - post_login
    - free
    - QTest::qWaitFor
    - Disconnect
    - post_action1
    - QFETCH
    linkageType: ''
    returnType: void
    signature: void testLogin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QTest::addColumn<UserAnswer>
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:157,1
    - Dst: QTest::addColumn<int>
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:158,1
    - Dst: MLFoldersEditor::newRow
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:160,1
    - Dst: MLFoldersEditor::newRow
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:161,1
    - Dst: MLFoldersEditor::newRow
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:162,1
    - Dst: MLFoldersEditor::newRow
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 164
    functionName: TestVLCDialogModel::testQuestion_data
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp
    functionUses: 0
    functionsReached:
    - MLFoldersEditor::newRow
    - QTest::addColumn<int>
    - QTest::addColumn<UserAnswer>
    linkageType: ''
    returnType: void
    signature: void testQuestion_data()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QFETCH
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:168,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:171,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:176,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:177,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:178,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:179,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:180,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:181,1
    - Dst: post_action1
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:186,1
    - Dst: post_action2
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:189,1
    - Dst: dismiss
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:192,1
    - Dst: post_login
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:195,1
    - Dst: VLCDialogModel::getInstance<false>
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:200,1
    - Dst: QThreadPool::globalInstance
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:204,1
    - Dst: vlc_dialog_wait_question
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:205,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:210,1
    - Dst: QTest::qWaitFor
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:210,1
    - Dst: QCOMPARE_LT
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:212,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:214,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:216,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:216,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:217,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:217,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:218,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:218,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:219,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 220
    functionName: TestVLCDialogModel::testQuestion
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp
    functionUses: 0
    functionsReached:
    - vlc_dialog_wait_question
    - QThreadPool::globalInstance
    - QVERIFY
    - dismiss
    - QCOMPARE
    - VLCDialogModel::getInstance<false>
    - QCOMPARE_LT
    - count
    - post_login
    - QTest::qWaitFor
    - post_action2
    - Disconnect
    - post_action1
    - QFETCH
    linkageType: ''
    returnType: void
    signature: void testQuestion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:224,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:229,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:230,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:231,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:232,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:233,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:236,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:240,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:241,1
    - Dst: VLCDialogModel::getInstance<false>
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:244,1
    - Dst: QThreadPool::globalInstance
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:248,1
    - Dst: vlc_dialog_display_progress
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:249,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:254,1
    - Dst: QTest::qWaitFor
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:254,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:255,1
    - Dst: QThreadPool::globalInstance
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:259,1
    - Dst: vlc_dialog_update_progress_text
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:260,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:263,1
    - Dst: QTest::qWaitFor
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:263,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:264,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:265,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:265,1
    - Dst: QThreadPool::globalInstance
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:268,1
    - Dst: vlc_dialog_release
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:269,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:272,1
    - Dst: QTest::qWaitFor
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:272,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:273,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:273,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:275,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:275,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:276,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 277
    functionName: TestVLCDialogModel::testProgress
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp
    functionUses: 0
    functionsReached:
    - QThreadPool::globalInstance
    - QVERIFY
    - vlc_dialog_update_progress_text
    - QCOMPARE
    - VLCDialogModel::getInstance<false>
    - count
    - vlc_dialog_release
    - QTest::qWaitFor
    - vlc_dialog_display_progress
    - Disconnect
    linkageType: ''
    returnType: void
    signature: void testProgress()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:280,1
    - Dst: post_action1
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:284,1
    - Dst: QThreadPool::globalInstance
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:289,1
    - Dst: vlc_dialog_wait_question
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:290,1
    - Dst: QTest::qWait
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:297,1
    - Dst: VLCDialogModel::getInstance<false>
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:300,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:302,1
    - Dst: QTest::qWaitFor
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:302,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:304,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:306,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:306,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:307,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:307,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:308,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:308,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:309,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 310
    functionName: TestVLCDialogModel::testLateBinding
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp
    functionUses: 0
    functionsReached:
    - vlc_dialog_wait_question
    - QThreadPool::globalInstance
    - QVERIFY
    - QCOMPARE
    - VLCDialogModel::getInstance<false>
    - count
    - QTest::qWaitFor
    - Disconnect
    - post_action1
    - QTest::qWait
    linkageType: ''
    returnType: void
    signature: void testLateBinding()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QThreadPool::globalInstance
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:315,1
    - Dst: vlc_dialog_wait_question
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:316,1
    - Dst: QTest::qWait
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:323,1
    - Dst: Singleton::killInstance
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:325,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:327,1
    - Dst: QTest::qWaitFor
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:327,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 330
    functionName: TestVLCDialogModel::testModelDestruction
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp
    functionUses: 0
    functionsReached:
    - vlc_dialog_wait_question
    - QThreadPool::globalInstance
    - QVERIFY
    - Singleton::killInstance
    - QCOMPARE
    - QTest::qWaitFor
    - QTest::qWait
    linkageType: ''
    returnType: void
    signature: void testModelDestruction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_dialog_wait_question
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:334,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: TestVLCDialogModel::testSameThreadWithoutDialog
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp
    functionUses: 0
    functionsReached:
    - vlc_dialog_wait_question
    - QCOMPARE
    linkageType: ''
    returnType: void
    signature: void testSameThreadWithoutDialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:342,1
    - Dst: post_action1
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:346,1
    - Dst: VLCDialogModel::getInstance<false>
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:348,1
    - Dst: vlc_dialog_wait_question
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:350,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 354
    functionName: TestVLCDialogModel::testSameThreadWithDialog
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_vlc_dialog_model.cpp
    functionUses: 0
    functionsReached:
    - vlc_dialog_wait_question
    - QCOMPARE
    - VLCDialogModel::getInstance<false>
    - Disconnect
    - post_action1
    linkageType: ''
    returnType: void
    signature: void testSameThreadWithDialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: OpenRD
    functionSourceFile: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OpenRD( vlc_object_t* p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: CloseRD
    functionSourceFile: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CloseRD( vlc_object_t* )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_rd_probe_add
      Src: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: vlc_rd_probe_open
    functionSourceFile: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp
    functionUses: 0
    functionsReached:
    - vlc_rd_probe_add
    linkageType: ''
    returnType: int
    signature: int vlc_rd_probe_open(vlc_object_t *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<intf_thread_t*>
      Src: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp:77,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp:78,1
    - Dst: vlc_object_create
      Src: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp:81,1
    - Dst: vlc_LogHeaderCreate
      Src: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp:85,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp:88,1
    - Dst: vlc_intf_GetMainPlaylist
      Src: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp:92,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp:93,1
    - Dst: reinterpret_cast<intf_sys_t*>
      Src: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 101
    functionName: OpenIntf
    functionSourceFile: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp
    functionUses: 0
    functionsReached:
    - vlc_intf_GetMainPlaylist
    - reinterpret_cast<intf_sys_t*>
    - reinterpret_cast<intf_thread_t*>
    - vlc_object_instance
    - vlc_object_create
    - vlc_playlist_GetPlayer
    - vlc_object_delete
    - vlc_LogHeaderCreate
    linkageType: ''
    returnType: int
    signature: int OpenIntf(vlc_object_t* p_this)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<qt_intf_t*>
      Src: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp:106,1
    - Dst: vlc_LogDestroy
      Src: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp:109,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: CloseIntf
    functionSourceFile: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp
    functionUses: 0
    functionsReached:
    - vlc_object_delete
    - reinterpret_cast<qt_intf_t*>
    - vlc_LogDestroy
    linkageType: ''
    returnType: void
    signature: void CloseIntf( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: MLGet
    functionSourceFile: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * MLGet( vlc_medialibrary_module_t*, int, va_list )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: MLList
    functionSourceFile: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int MLList( vlc_medialibrary_module_t*, int,\n                const
      vlc_ml_query_params_t*, va_list )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: MLControl
    functionSourceFile: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MLControl( vlc_medialibrary_module_t*, int, va_list )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<vlc_medialibrary_module_t*>
      Src: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: MLOpen
    functionSourceFile: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<vlc_medialibrary_module_t*>
    linkageType: ''
    returnType: int
    signature: int MLOpen( vlc_object_t* obj )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: MLClose
    functionSourceFile: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void MLClose( vlc_object_t* obj )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (testenv == nullptr)
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: VLCTestingEnv::VLCTestingEnv
    functionSourceFile: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void VLCTestingEnv::VLCTestingEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libvlc_release
      Src: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: VLCTestingEnv::~VLCTestingEnv()
    functionSourceFile: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp
    functionUses: 0
    functionsReached:
    - libvlc_release
    linkageType: ''
    returnType: void
    signature: void VLCTestingEnv::~VLCTestingEnv()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qgetenv
      Src: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp:195,1
    - Dst: QByteArray::toLongLong
      Src: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp:197,1
    - Dst: qputenv
      Src: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp:199,1
    - Dst: QByteArray::setNum
      Src: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp:202,1
    - Dst: qputenv
      Src: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp:203,1
    - Dst: setenv
      Src: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp:206,1
    - Dst: setenv
      Src: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp:207,1
    - Dst: libvlc_new
      Src: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp:209,1
    - Dst: libvlc_InternalAddIntf
      Src: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp:212,1
    - Dst: libvlc_InternalPlay
      Src: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 219
    functionName: VLCTestingEnv::init
    functionSourceFile: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.cpp
    functionUses: 0
    functionsReached:
    - setenv
    - qgetenv
    - QByteArray::setNum
    - libvlc_InternalAddIntf
    - QByteArray::toLongLong
    - libvlc_new
    - libvlc_InternalPlay
    - qputenv
    linkageType: ''
    returnType: bool
    signature: bool VLCTestingEnv::init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RendererItemPtr pushDummyRDItem
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:34,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:35,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:36,1
    - Dst: vlc_renderer_item_new
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:37,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:38,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:38,1
    - Dst: vlc_rd_add_item
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:40,1
    - Dst: TestClass::rd
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:40,1
    - Dst: RendererItemPtr::get
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: TestClass::private
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp
    functionUses: 0
    functionsReached:
    - TestClass::rd
    - RendererItemPtr::get
    - QString
    - vlc_renderer_item_new
    - qtu
    - vlc_rd_add_item
    - RendererItemPtr pushDummyRDItem
    linkageType: ''
    returnType: Q_OBJECT
    signature: Q_OBJECT private
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:47,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:48,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:48,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:49,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:49,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:49,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:50,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:50,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:50,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:51,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:51,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:51,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:52,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - row
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: TestClass::checkDummyRDItem
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp
    functionUses: 0
    functionsReached:
    - QCOMPARE
    - data
    - QString
    - index
    linkageType: ''
    returnType: void
    signature: void checkDummyRDItem(int row, int id = -1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: TestClass::rd
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: vlc_renderer_discovery_t
    signature: vlc_renderer_discovery_t * rd() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<VLCTestingEnv>
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:62,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:63,1
    - Dst: TestClass::init
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: TestClass::initTestCase
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<VLCTestingEnv>
    - QVERIFY
    - TestClass::init
    linkageType: ''
    returnType: void
    signature: void initTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: TestClass::cleanupTestCase
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void cleanupTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RendererManager::RendererManager
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:75,1
    - Dst: std::make_unique<QAbstractItemModelTester>
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:77,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:78,1
    - Dst: TestClass::rd
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: TestClass::init
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<QAbstractItemModelTester>
    - QVERIFY
    - RendererManager::RendererManager
    - TestClass::rd
    linkageType: ''
    returnType: void
    signature: void init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:82,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:84,1
    - Dst: TestClass::rd
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: TestClass::cleanup
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp
    functionUses: 0
    functionsReached:
    - QVERIFY
    - TestClass::rd
    - reset
    linkageType: ''
    returnType: void
    signature: void cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:88,1
    - Dst: TestClass::rd
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:88,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:90,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:90,1
    - Dst: StartScan
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:91,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:92,1
    - Dst: TestClass::rd
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:92,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:93,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:93,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:94,1
    - Dst: getStatus
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:94,1
    - Dst: StopScan
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:96,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:97,1
    - Dst: TestClass::rd
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:97,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:98,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:98,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:99,1
    - Dst: getStatus
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: TestClass::testEmpty
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp
    functionUses: 0
    functionsReached:
    - QVERIFY
    - TestClass::rd
    - QCOMPARE
    - StartScan
    - StopScan
    - getStatus
    - rowCount
    linkageType: ''
    returnType: void
    signature: void testEmpty()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:103,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:103,1
    - Dst: StartScan
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:104,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:105,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:105,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:106,1
    - Dst: getStatus
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:106,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:108,1
    - Dst: TestClass::rd
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:108,1
    - Dst: pushDummyRDItem
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:111,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:112,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:112,1
    - Dst: TestClass::checkDummyRDItem
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:113,1
    - Dst: StopScan
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:115,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:118,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:118,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:119,1
    - Dst: getStatus
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:119,1
    - Dst: TestClass::checkDummyRDItem
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:122,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:126,1
    - Dst: TestClass::rd
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 127
    functionName: TestClass::testStatic
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp
    functionUses: 0
    functionsReached:
    - QVERIFY
    - TestClass::rd
    - QCOMPARE
    - StartScan
    - TestClass::checkDummyRDItem
    - StopScan
    - pushDummyRDItem
    - getStatus
    - rowCount
    linkageType: ''
    returnType: void
    signature: void testStatic()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartScan
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:130,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:131,1
    - Dst: TestClass::rd
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:131,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:132,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:132,1
    - Dst: pushDummyRDItem
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:134,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:136,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:136,1
    - Dst: StopScan
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:137,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:138,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:138,1
    - Dst: StartScan
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:141,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:142,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:142,1
    - Dst: pushDummyRDItem
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:144,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:146,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:146,1
    - Dst: StopScan
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:147,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:148,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:148,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:149,1
    - Dst: getStatus
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:149,1
    - Dst: TestClass::checkDummyRDItem
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 154
    functionName: TestClass::testTwoPassesIdentical
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp
    functionUses: 0
    functionsReached:
    - QVERIFY
    - TestClass::rd
    - QCOMPARE
    - StartScan
    - TestClass::checkDummyRDItem
    - StopScan
    - pushDummyRDItem
    - getStatus
    - rowCount
    linkageType: ''
    returnType: void
    signature: void testTwoPassesIdentical()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartScan
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:157,1
    - Dst: pushDummyRDItem
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:159,1
    - Dst: StopScan
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:161,1
    - Dst: StartScan
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:164,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:165,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:165,1
    - Dst: pushDummyRDItem
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:167,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:169,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:169,1
    - Dst: StopScan
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:170,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:172,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:172,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:173,1
    - Dst: getStatus
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:173,1
    - Dst: TestClass::checkDummyRDItem
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 177
    functionName: TestClass::testTwoPassesDifferent
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp
    functionUses: 0
    functionsReached:
    - QCOMPARE
    - StartScan
    - TestClass::checkDummyRDItem
    - StopScan
    - pushDummyRDItem
    - getStatus
    - rowCount
    linkageType: ''
    returnType: void
    signature: void testTwoPassesDifferent()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartScan
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:180,1
    - Dst: pushDummyRDItem
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:182,1
    - Dst: pushDummyRDItem
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:184,1
    - Dst: pushDummyRDItem
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:186,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:188,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:188,1
    - Dst: vlc_rd_remove_item
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:189,1
    - Dst: TestClass::rd
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:189,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:189,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:190,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:190,1
    - Dst: StopScan
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:191,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:192,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:192,1
    - Dst: TestClass::checkDummyRDItem
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:195,1
    - Dst: TestClass::checkDummyRDItem
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 200
    functionName: TestClass::testRemovedItem
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp
    functionUses: 0
    functionsReached:
    - TestClass::rd
    - vlc_rd_remove_item
    - QCOMPARE
    - StartScan
    - TestClass::checkDummyRDItem
    - auto::get
    - StopScan
    - pushDummyRDItem
    - rowCount
    linkageType: ''
    returnType: void
    signature: void testRemovedItem()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: StartScan
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:203,1
    - Dst: pushDummyRDItem
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:205,1
    - Dst: pushDummyRDItem
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:206,1
    - Dst: pushDummyRDItem
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:207,1
    - Dst: pushDummyRDItem
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:208,1
    - Dst: pushDummyRDItem
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:209,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:212,1
    - Dst: useRenderer
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:212,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:214,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:215,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:215,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:219,1
    - Dst: setData
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:220,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:221,1
    - Dst: useRenderer
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:221,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:223,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:225,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:225,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:227,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:227,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:232,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:233,1
    - Dst: vlc_player_GetRenderer
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:233,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:233,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:234,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:238,1
    - Dst: setData
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:239,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:240,1
    - Dst: useRenderer
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:240,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:242,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:244,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:244,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:246,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:246,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:251,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:252,1
    - Dst: vlc_player_GetRenderer
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:252,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:252,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:253,1
    - Dst: setData
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:257,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:258,1
    - Dst: useRenderer
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:258,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:260,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:261,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:261,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:266,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:267,1
    - Dst: vlc_player_GetRenderer
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:267,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:268,1
    - Dst: setData
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:272,1
    - Dst: disableRenderer
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:273,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:274,1
    - Dst: useRenderer
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:274,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:276,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:277,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:277,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:283,1
    - Dst: vlc_player_SetRenderer
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:284,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:284,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:285,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:287,1
    - Dst: useRenderer
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:287,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:289,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:291,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:291,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:293,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:293,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:297,1
    - Dst: vlc_player_SetRenderer
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:298,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:299,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:301,1
    - Dst: useRenderer
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:301,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:303,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:304,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:304,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 306
    functionName: TestClass::testRendererSelection
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp
    functionUses: 0
    functionsReached:
    - vlc_player_GetRenderer
    - QCOMPARE
    - vlc_player_Unlock
    - data
    - StartScan
    - setData
    - index
    - vlc_player_Lock
    - auto::get
    - disableRenderer
    - pushDummyRDItem
    - vlc_player_SetRenderer
    - useRenderer
    linkageType: ''
    returnType: void
    signature: void testRendererSelection()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartScan
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:309,1
    - Dst: pushDummyRDItem
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:311,1
    - Dst: pushDummyRDItem
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:312,1
    - Dst: pushDummyRDItem
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:313,1
    - Dst: pushDummyRDItem
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:314,1
    - Dst: pushDummyRDItem
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:315,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:317,1
    - Dst: setData
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:318,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:321,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:321,1
    - Dst: vlc_rd_remove_item
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:322,1
    - Dst: TestClass::rd
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:322,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:322,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:325,1
    - Dst: useRenderer
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:325,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:326,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:326,1
    - Dst: setData
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:329,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:330,1
    - Dst: useRenderer
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:330,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:332,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:332,1
    - Dst: StopScan
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:333,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:334,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:334,1
    - Dst: StartScan
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:337,1
    - Dst: vlc_rd_add_item
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:338,1
    - Dst: TestClass::rd
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:338,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:338,1
    - Dst: vlc_rd_add_item
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:339,1
    - Dst: TestClass::rd
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:339,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:339,1
    - Dst: vlc_rd_add_item
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:340,1
    - Dst: TestClass::rd
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:340,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:340,1
    - Dst: vlc_rd_add_item
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:342,1
    - Dst: TestClass::rd
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:342,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:342,1
    - Dst: StopScan
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:343,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:344,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:344,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:347,1
    - Dst: setData
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:348,1
    - Dst: StartScan
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:349,1
    - Dst: vlc_rd_add_item
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:350,1
    - Dst: TestClass::rd
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:350,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:350,1
    - Dst: vlc_rd_add_item
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:351,1
    - Dst: TestClass::rd
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:351,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:351,1
    - Dst: StopScan
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:352,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:353,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:353,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:354,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:354,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:355,1
    - Dst: useRenderer
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:355,1
    - Dst: StartScan
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:356,1
    - Dst: StopScan
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:357,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:358,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:359,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:359,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:360,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:360,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:361,1
    - Dst: useRenderer
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 362
    functionName: TestClass::testSelectionLost
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp
    functionUses: 0
    functionsReached:
    - TestClass::rd
    - vlc_rd_remove_item
    - QCOMPARE
    - setData
    - StartScan
    - data
    - index
    - auto::get
    - StopScan
    - pushDummyRDItem
    - vlc_rd_add_item
    - useRenderer
    - rowCount
    linkageType: ''
    returnType: void
    signature: void testSelectionLost()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartScan
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: TestClass::testNoStopScanDeletion
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp
    functionUses: 0
    functionsReached:
    - StartScan
    linkageType: ''
    returnType: void
    signature: void testNoStopScanDeletion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:372,1
    - Dst: getStatus
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:372,1
    - Dst: StartScan
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:373,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:374,1
    - Dst: getStatus
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:374,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:375,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:375,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:376,1
    - Dst: TestClass::rd
      Src: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 378
    functionName: TestClass::testNoProbes
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_renderer_manager_model.cpp
    functionUses: 0
    functionsReached:
    - QVERIFY
    - TestClass::rd
    - QCOMPARE
    - StartScan
    - getStatus
    - rowCount
    linkageType: ''
    returnType: void
    signature: void testNoProbes()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: QCOMPARE_LT
    functionSourceFile: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QCOMPARE_LT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: QCOMPARE_GT
    functionSourceFile: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QCOMPARE_GT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: QCOMPARE_LE
    functionSourceFile: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QCOMPARE_LE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: QCOMPARE_GE
    functionSourceFile: /src/vlc/modules/gui/qt/tests/vlc_stub_modules.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QCOMPARE_GE(a, b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:41,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:45,1
    - Dst: getId
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: ''
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp
    functionUses: 11688
    functionsReached:
    - fromValue
    - getId
    - VLC_UNUSED
    linkageType: ''
    returnType: override
    signature: 'override '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - min
    - max
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: MLTestModel::appendRange
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void appendRange(int64_t min, int64_t max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: updateItemInCache
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - position
    - id
    argTypes:
    - size_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: MLTestModel::updateItem
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp
    functionUses: 0
    functionsReached:
    - updateItemInCache
    linkageType: ''
    returnType: void
    signature: void updateItem(size_t position, int64_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MLListCacheLoader>
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:66,1
    - Dst: std::make_shared<MLTestModel::Loader>
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: MLTestModel::createMLLoader
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<MLListCacheLoader>
    - std::make_shared<MLTestModel::Loader>
    linkageType: ''
    returnType: std::unique_ptr<MLListCacheLoader>
    signature: std::unique_ptr<MLListCacheLoader> createMLLoader() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' model'
    - ' parent'
    argTypes:
    - MLBaseModel
    - MLTestModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: MLTestModel::Loader
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Loader(const MLBaseModel& model, const MLTestModel& parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:78,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:79,1
    - Dst: m_items::size
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ml
    - queryParams
    argTypes:
    - vlc_medialibrary_t*
    - vlc_ml_query_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: MLTestModel::count
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp
    functionUses: 0
    functionsReached:
    - m_items::size
    - VLC_UNUSED
    linkageType: ''
    returnType: size_t
    signature: size_t count(vlc_medialibrary_t* ml, const vlc_ml_query_params_t* queryParams)
      const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:85,1
    - Dst: m_items::empty
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:87,1
    - Dst: std::min
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:92,1
    - Dst: static_cast<size_t>
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:93,1
    - Dst: m_items::size
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:94,1
    - Dst: std::vector::emplace_back
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:97,1
    - Dst: std::make_unique<MLItem>
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ml
    - queryParams
    argTypes:
    - vlc_medialibrary_t*
    - vlc_ml_query_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 100
    functionName: MLTestModel::load
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp
    functionUses: 0
    functionsReached:
    - m_items::size
    - static_cast<size_t>
    - m_items::empty
    - std::vector::emplace_back
    - std::min
    - std::make_unique<MLItem>
    - VLC_UNUSED
    linkageType: ''
    returnType: std::vector<std::unique_ptr<MLItem>>
    signature: std::vector<std::unique_ptr<MLItem>> load(vlc_medialibrary_t* ml, const
      vlc_ml_query_params_t* queryParams) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:104,1
    - Dst: std::make_unique<MLItem>
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ml
    - itemId
    argTypes:
    - vlc_medialibrary_t*
    - MLItemId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: MLTestModel::loadItemById
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<MLItem>
    - VLC_UNUSED
    linkageType: ''
    returnType: std::unique_ptr<MLItem>
    signature: std::unique_ptr<MLItem> loadItemById(vlc_medialibrary_t* ml, MLItemId
      itemId) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initTestCase
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:120,1
    - Dst: std::make_unique<VLCTestingEnv>
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:121,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:122,1
    - Dst: TestVLCMLModel::init
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: TestVLCMLModel::private
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<VLCTestingEnv>
    - QVERIFY
    - initTestCase
    - TestVLCMLModel::init
    linkageType: ''
    returnType: Q_OBJECT
    signature: Q_OBJECT private
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: TestVLCMLModel::cleanupTestCase
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void cleanupTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MediaLib>
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:131,1
    - Dst: std::make_unique<MLTestModel>
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:132,1
    - Dst: classBegin
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:133,1
    - Dst: setMl
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:134,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:134,1
    - Dst: componentComplete
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: TestVLCMLModel::init
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<MediaLib>
    - setMl
    - std::make_unique<MLTestModel>
    - get
    - componentComplete
    - classBegin
    linkageType: ''
    returnType: void
    signature: void init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:139,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: TestVLCMLModel::cleanup
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:160,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:160,1
    - Dst: updateItem
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:161,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:164,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:164,1
    - Dst: appendRange
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:167,1
    - Dst: QTRY_COMPARE_WITH_TIMEOUT
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:168,1
    - Dst: getCount
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 169
    functionName: TestVLCMLModel::testModelRecuseUpdateFromSlot
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp
    functionUses: 0
    functionsReached:
    - get
    - data
    - QTRY_COMPARE_WITH_TIMEOUT
    - index
    - connect
    - appendRange
    - getCount
    - updateItem
    linkageType: ''
    returnType: void
    signature: void testModelRecuseUpdateFromSlot()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: appendRange
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:176,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:179,1
    - Dst: QTest::qWaitFor
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:179,1
    - Dst: loading
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:179,1
    - Dst: getIndexFromId2
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:188,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:191,1
    - Dst: QTest::qWaitFor
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:191,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:192,1
    - Dst: getIndexFromId2
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:195,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:196,1
    - Dst: getIndexFromId2
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:198,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:199,1
    - Dst: getIndexFromId2
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:201,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:202,1
    - Dst: getIndexFromId2
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:205,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 207
    functionName: TestVLCMLModel::testGetIndexFromID
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_ml_model.cpp
    functionUses: 0
    functionsReached:
    - QVERIFY
    - QCOMPARE
    - getIndexFromId2
    - QTest::qWaitFor
    - appendRange
    - loading
    linkageType: ''
    returnType: void
    signature: void testGetIndexFromID()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - count
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: Dummy::Barrier
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Barrier(size_t count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dummy::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:47,1
    - Dst: wakeAll
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: Dummy::wait
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp
    functionUses: 1
    functionsReached:
    - wakeAll
    - Dummy::wait
    linkageType: ''
    returnType: bool
    signature: bool wait(unsigned long timeout = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:72,1
    - Dst: destroy
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:73,1
    - Dst: QSignalSpy::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: Dummy::RunnerInThread::if
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp
    functionUses: 0
    functionsReached:
    - get
    - QSignalSpy::wait
    - destroy
    linkageType: ''
    returnType: void
    signature: void if (m_runner)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getRunner
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:91,1
    - Dst: m_runner::get
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:95,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 98
    functionName: TestThreadRunner::private
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp
    functionUses: 0
    functionsReached:
    - get
    - m_runner::get
    - getRunner
    linkageType: ''
    returnType: Q_OBJECT
    signature: Q_OBJECT private
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - task
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: CHECK_TASK_TIMEOUT
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_TASK_TIMEOUT(task)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - task
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: CHECK_TASK_COMPLETE
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_TASK_COMPLETE(task)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadRunner::ThreadRunner
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:111,1
    - Dst: std::make_unique<RunnerInThread>
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:112,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:113,1
    - Dst: start
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:114,1
    - Dst: QSignalSpy::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: TestThreadRunner::init
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<RunnerInThread>
    - get
    - QSignalSpy::wait
    - ThreadRunner::ThreadRunner
    - start
    linkageType: ''
    returnType: void
    signature: void init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:120,1
    - Dst: destroy
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:121,1
    - Dst: QSignalSpy::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:122,1
    - Dst: quit
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:124,1
    - Dst: wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: TestThreadRunner::cleanup
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp
    functionUses: 0
    functionsReached:
    - get
    - QSignalSpy::wait
    - destroy
    - quit
    - wait
    linkageType: ''
    returnType: void
    signature: void cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QTest::addColumn<bool>
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:130,1
    - Dst: MLFoldersEditor::newRow
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:131,1
    - Dst: MLFoldersEditor::newRow
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: TestThreadRunner::initTestCase_data
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp
    functionUses: 0
    functionsReached:
    - MLFoldersEditor::newRow
    - QTest::addColumn<bool>
    linkageType: ''
    returnType: void
    signature: void initTestCase_data()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getRunner
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:137,1
    - Dst: std::make_unique<Dummy>
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:138,1
    - Dst: ThreadRunner*::runOnThread
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:140,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:140,1
    - Dst: CHECK_TASK_COMPLETE
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 149
    functionName: TestThreadRunner::testSimpleTask
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp
    functionUses: 0
    functionsReached:
    - ThreadRunner*::runOnThread
    - CHECK_TASK_COMPLETE
    - getRunner
    - std::unique_ptr::get
    - std::make_unique<Dummy>
    linkageType: ''
    returnType: void
    signature: void testSimpleTask()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getRunner
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:153,1
    - Dst: std::make_unique<Dummy>
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:155,1
    - Dst: ThreadRunner*::runOnThread
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:162,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:163,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:166,1
    - Dst: ThreadRunner*::runOnThread
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:178,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:179,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:182,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:194,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:194,1
    - Dst: CHECK_TASK_COMPLETE
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:196,1
    - Dst: CHECK_TASK_COMPLETE
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 198
    functionName: TestThreadRunner::testParallelTask
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp
    functionUses: 0
    functionsReached:
    - ThreadRunner*::runOnThread
    - QVERIFY
    - Barrier::wait
    - CHECK_TASK_COMPLETE
    - getRunner
    - std::unique_ptr::get
    - std::make_unique<Dummy>
    linkageType: ''
    returnType: void
    signature: void testParallelTask()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getRunner
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:203,1
    - Dst: std::make_unique<Dummy>
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:205,1
    - Dst: ThreadRunner*::runOnThread
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:213,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:214,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:217,1
    - Dst: ThreadRunner*::runOnThread
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:230,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:231,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:234,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:248,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:248,1
    - Dst: CHECK_TASK_COMPLETE
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:250,1
    - Dst: CHECK_TASK_COMPLETE
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 252
    functionName: TestThreadRunner::testParallelTaskQueued
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp
    functionUses: 0
    functionsReached:
    - ThreadRunner*::runOnThread
    - QVERIFY
    - Barrier::wait
    - CHECK_TASK_COMPLETE
    - getRunner
    - std::unique_ptr::get
    - std::make_unique<Dummy>
    linkageType: ''
    returnType: void
    signature: void testParallelTaskQueued()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getRunner
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:256,1
    - Dst: std::make_unique<Dummy>
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:257,1
    - Dst: ThreadRunner*::runOnThread
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:261,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:261,1
    - Dst: ThreadRunner*::runOnThread
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:271,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:271,1
    - Dst: ThreadRunner*::runOnThread
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:282,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:282,1
    - Dst: QTRY_COMPARE_WITH_TIMEOUT
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 294
    functionName: TestThreadRunner::testQueuedTask
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp
    functionUses: 0
    functionsReached:
    - ThreadRunner*::runOnThread
    - QTRY_COMPARE_WITH_TIMEOUT
    - getRunner
    - std::unique_ptr::get
    - std::make_unique<Dummy>
    linkageType: ''
    returnType: void
    signature: void testQueuedTask()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getRunner
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:299,1
    - Dst: std::make_unique<Dummy>
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:301,1
    - Dst: ThreadRunner*::runOnThread
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:308,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:309,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:311,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:319,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:332,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:332,1
    - Dst: std::unique_ptr::reset
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:333,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:334,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:334,1
    - Dst: CHECK_TASK_TIMEOUT
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 337
    functionName: TestThreadRunner::testTargetDeletedDuringTask
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::reset
    - ThreadRunner*::runOnThread
    - QVERIFY
    - Barrier::wait
    - CHECK_TASK_TIMEOUT
    - getRunner
    - std::unique_ptr::get
    - std::make_unique<Dummy>
    linkageType: ''
    returnType: void
    signature: void testTargetDeletedDuringTask()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getRunner
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:341,1
    - Dst: std::make_unique<Dummy>
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:343,1
    - Dst: ThreadRunner*::runOnThread
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:350,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:351,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:353,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:361,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:373,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:373,1
    - Dst: std::unique_ptr::reset
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:374,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:375,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:375,1
    - Dst: CHECK_TASK_TIMEOUT
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 378
    functionName: TestThreadRunner::testTargetDeletedDuringTaskQueued
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::reset
    - ThreadRunner*::runOnThread
    - QVERIFY
    - Barrier::wait
    - CHECK_TASK_TIMEOUT
    - getRunner
    - std::unique_ptr::get
    - std::make_unique<Dummy>
    linkageType: ''
    returnType: void
    signature: void testTargetDeletedDuringTaskQueued()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getRunner
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:382,1
    - Dst: std::make_unique<Dummy>
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:385,1
    - Dst: ThreadRunner*::setMaxThreadCount
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:395,1
    - Dst: ThreadRunner*::runOnThread
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:397,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:398,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:400,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:408,1
    - Dst: ThreadRunner*::runOnThread
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:420,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:421,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:432,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:432,1
    - Dst: std::unique_ptr::reset
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:433,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:434,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:434,1
    - Dst: CHECK_TASK_COMPLETE
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:437,1
    - Dst: CHECK_TASK_TIMEOUT
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:439,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 441
    functionName: TestThreadRunner::testTargetDeletedBeforeStart
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::reset
    - ThreadRunner*::runOnThread
    - QVERIFY
    - QCOMPARE
    - ThreadRunner*::setMaxThreadCount
    - Barrier::wait
    - CHECK_TASK_COMPLETE
    - CHECK_TASK_TIMEOUT
    - getRunner
    - std::unique_ptr::get
    - std::make_unique<Dummy>
    linkageType: ''
    returnType: void
    signature: void testTargetDeletedBeforeStart()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getRunner
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:445,1
    - Dst: std::make_unique<Dummy>
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:447,1
    - Dst: ThreadRunner*::runOnThread
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:457,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:458,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:460,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:468,1
    - Dst: ThreadRunner*::runOnThread
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:481,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:482,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:494,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:494,1
    - Dst: std::unique_ptr::reset
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:495,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:496,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:496,1
    - Dst: CHECK_TASK_COMPLETE
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:499,1
    - Dst: CHECK_TASK_TIMEOUT
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:501,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 503
    functionName: TestThreadRunner::testTargetDeletedBeforeStartQueued
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::reset
    - ThreadRunner*::runOnThread
    - QVERIFY
    - QCOMPARE
    - Barrier::wait
    - CHECK_TASK_COMPLETE
    - CHECK_TASK_TIMEOUT
    - getRunner
    - std::unique_ptr::get
    - std::make_unique<Dummy>
    linkageType: ''
    returnType: void
    signature: void testTargetDeletedBeforeStartQueued()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getRunner
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:508,1
    - Dst: std::make_unique<Dummy>
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:510,1
    - Dst: ThreadRunner*::runOnThread
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:519,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:520,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:522,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:530,1
    - Dst: ThreadRunner*::runOnThread
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:542,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:543,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:555,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:555,1
    - Dst: ThreadRunner*::cancelTask
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:556,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:556,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:557,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:557,1
    - Dst: CHECK_TASK_COMPLETE
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:559,1
    - Dst: CHECK_TASK_TIMEOUT
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:560,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 561
    functionName: TestThreadRunner::testTaskCanceledBeforeStart
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp
    functionUses: 0
    functionsReached:
    - ThreadRunner*::runOnThread
    - QVERIFY
    - ThreadRunner*::cancelTask
    - Barrier::wait
    - CHECK_TASK_COMPLETE
    - CHECK_TASK_TIMEOUT
    - getRunner
    - std::unique_ptr::get
    - std::make_unique<Dummy>
    linkageType: ''
    returnType: void
    signature: void testTaskCanceledBeforeStart()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getRunner
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:565,1
    - Dst: std::make_unique<Dummy>
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:567,1
    - Dst: ThreadRunner*::runOnThread
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:574,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:575,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:577,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:585,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:596,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:596,1
    - Dst: ThreadRunner*::cancelTask
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:597,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:597,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:598,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:598,1
    - Dst: CHECK_TASK_TIMEOUT
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:600,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 601
    functionName: TestThreadRunner::testTaskCanceledDuringExecution
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp
    functionUses: 0
    functionsReached:
    - ThreadRunner*::runOnThread
    - QVERIFY
    - ThreadRunner*::cancelTask
    - Barrier::wait
    - CHECK_TASK_TIMEOUT
    - getRunner
    - std::unique_ptr::get
    - std::make_unique<Dummy>
    linkageType: ''
    returnType: void
    signature: void testTaskCanceledDuringExecution()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getRunner
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:605,1
    - Dst: std::make_unique<Dummy>
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:607,1
    - Dst: ThreadRunner*::runOnThread
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:614,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:615,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:617,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:625,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:636,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:636,1
    - Dst: ThreadRunner*::cancelTask
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:637,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:637,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:638,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:638,1
    - Dst: CHECK_TASK_TIMEOUT
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:640,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 641
    functionName: TestThreadRunner::testTaskCanceledDuringExecutionQueued
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp
    functionUses: 0
    functionsReached:
    - ThreadRunner*::runOnThread
    - QVERIFY
    - ThreadRunner*::cancelTask
    - Barrier::wait
    - CHECK_TASK_TIMEOUT
    - getRunner
    - std::unique_ptr::get
    - std::make_unique<Dummy>
    linkageType: ''
    returnType: void
    signature: void testTaskCanceledDuringExecutionQueued()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getRunner
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:645,1
    - Dst: std::make_unique<Dummy>
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:647,1
    - Dst: ThreadRunner*::runOnThread
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:654,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:655,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:657,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:665,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:676,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:676,1
    - Dst: ThreadRunner*::thread
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:678,1
    - Dst: TestThreadRunner::thread
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:678,1
    - Dst: ThreadRunner*::destroy
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:679,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:681,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:682,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:682,1
    - Dst: CHECK_TASK_TIMEOUT
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:684,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 685
    functionName: TestThreadRunner::testRunnerDestroyedDuringExecution
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp
    functionUses: 0
    functionsReached:
    - ThreadRunner*::runOnThread
    - QVERIFY
    - TestThreadRunner::thread
    - QMetaObject::invokeMethod
    - Barrier::wait
    - ThreadRunner*::destroy
    - CHECK_TASK_TIMEOUT
    - ThreadRunner*::thread
    - getRunner
    - std::unique_ptr::get
    - std::make_unique<Dummy>
    linkageType: ''
    returnType: void
    signature: void testRunnerDestroyedDuringExecution()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getRunner
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:689,1
    - Dst: std::make_unique<Dummy>
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:691,1
    - Dst: ThreadRunner*::runOnThread
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:698,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:699,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:701,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:709,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:720,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:720,1
    - Dst: ThreadRunner*::thread
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:722,1
    - Dst: TestThreadRunner::thread
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:722,1
    - Dst: ThreadRunner*::destroy
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:723,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:725,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:726,1
    - Dst: Barrier::wait
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:726,1
    - Dst: CHECK_TASK_TIMEOUT
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:728,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 729
    functionName: TestThreadRunner::testRunnerDestroyedDuringExecutionQueued
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp
    functionUses: 0
    functionsReached:
    - ThreadRunner*::runOnThread
    - QVERIFY
    - TestThreadRunner::thread
    - QMetaObject::invokeMethod
    - Barrier::wait
    - ThreadRunner*::destroy
    - CHECK_TASK_TIMEOUT
    - ThreadRunner*::thread
    - getRunner
    - std::unique_ptr::get
    - std::make_unique<Dummy>
    linkageType: ''
    returnType: void
    signature: void testRunnerDestroyedDuringExecutionQueued()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getRunner
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:734,1
    - Dst: std::make_unique<Dummy>
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:736,1
    - Dst: ThreadRunner*::runOnThread
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:740,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:741,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:746,1
    - Dst: ThreadRunner*::runOnThread
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:752,1
    - Dst: CHECK_TASK_COMPLETE
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:762,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 763
    functionName: TestThreadRunner::testNestedTask
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp
    functionUses: 0
    functionsReached:
    - ThreadRunner*::runOnThread
    - CHECK_TASK_COMPLETE
    - getRunner
    - std::unique_ptr::get
    - std::make_unique<Dummy>
    linkageType: ''
    returnType: void
    signature: void testNestedTask()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getRunner
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:767,1
    - Dst: std::make_unique<Dummy>
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:769,1
    - Dst: ThreadRunner*::runOnThread
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:773,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:774,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:779,1
    - Dst: ThreadRunner*::runOnThread
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:785,1
    - Dst: CHECK_TASK_COMPLETE
      Src: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp:798,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 799
    functionName: TestThreadRunner::testNestedTaskQueued
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_thread_runner.cpp
    functionUses: 0
    functionsReached:
    - ThreadRunner*::runOnThread
    - CHECK_TASK_COMPLETE
    - getRunner
    - std::unique_ptr::get
    - std::make_unique<Dummy>
    linkageType: ''
    returnType: void
    signature: void testNestedTaskQueued()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Item
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_base_model.cpp
    functionUses: 104
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Item(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - ItemPtr
    - ItemPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: ListCache<ItemPtr>::compareItems
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_base_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ListCache<ItemPtr>::compareItems(const ItemPtr& a, const ItemPtr&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pub
    argTypes:
    - Model*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: ModelPrivate::ModelPrivate
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_base_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ModelPrivate(Model* pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: ModelPrivate::getSortFunction
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_base_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ItemLoader::ItemCompare
    signature: ItemLoader::ItemCompare getSortFunction() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ItemLoader>
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:88,1
    - Dst: ModelPrivate::getSortFunction
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: ModelPrivate::createLoader
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_base_model.cpp
    functionUses: 0
    functionsReached:
    - ModelPrivate::getSortFunction
    - std::make_unique<ItemLoader>
    linkageType: ''
    returnType: std::unique_ptr<ListCacheLoader<ItemPtr>>
    signature: std::unique_ptr<ListCacheLoader<ItemPtr>> createLoader() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: ModelPrivate::initializeModel
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_base_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool initializeModel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: ModelPrivate::getModelRevision
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_base_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getModelRevision() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNUSED
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' pattern'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: ModelPrivate::getModelData
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_base_model.cpp
    functionUses: 0
    functionsReached:
    - Q_UNUSED
    linkageType: ''
    returnType: std::vector<ItemPtr>
    signature: std::vector<ItemPtr> getModelData(const QString& pattern) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelPrivate::ModelPrivate
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: Model::Model
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_base_model.cpp
    functionUses: 0
    functionsReached:
    - ModelPrivate::ModelPrivate
    linkageType: ''
    returnType: void
    signature: void Model::Model(QObject *parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNUSED
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:121,1
    - Dst: item
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:123,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - index
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 128
    functionName: Model::data
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_base_model.cpp
    functionUses: 0
    functionsReached:
    - item
    - QModelIndex::row
    - Q_UNUSED
    linkageType: ''
    returnType: QVariant
    signature: QVariant Model::data(const QModelIndex &index, int role) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:132,1
    - Dst: m_items::push_back
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:134,1
    - Dst: std::make_shared<Item>
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:134,1
    - Dst: invalidateCache
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 137
    functionName: Model::append
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_base_model.cpp
    functionUses: 0
    functionsReached:
    - m_items::push_back
    - invalidateCache
    - Q_D
    - std::make_shared<Item>
    linkageType: ''
    returnType: void
    signature: void Model::append(int id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QElapsedTimer::start
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:142,1
    - Dst: QElapsedTimer::hasExpired
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:143,1
    - Dst: QCoreApplication::processEvents
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - msec
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: await
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_base_model.cpp
    functionUses: 0
    functionsReached:
    - QElapsedTimer::start
    - QElapsedTimer::hasExpired
    - QCoreApplication::processEvents
    linkageType: ''
    returnType: void
    signature: void await(int msec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Model::Model
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:151,1
    - Dst: Model::invalidateCache
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:152,1
    - Dst: Model::connect
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:155,1
    - Dst: Model::setLimit
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:155,1
    - Dst: await
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:156,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:157,1
    - Dst: Model::loading
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!m.loading())
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/vlc/modules/gui/qt/tests/test_base_model.cpp
    constantsTouched: []
    func_position:
      end: 158
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 158
    functionName: test_invalidate_on_invalidate
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_base_model.cpp
    functionUses: 0
    functionsReached:
    - assert
    - Model::setLimit
    - Model::loading
    - Model::invalidateCache
    - Model::Model
    - await
    - Model::connect
    linkageType: ''
    returnType: void
    signature: void test_invalidate_on_invalidate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Model::Model
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:163,1
    - Dst: Model::resetCache
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: test_null_reset
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_base_model.cpp
    functionUses: 0
    functionsReached:
    - Model::resetCache
    - Model::Model
    linkageType: ''
    returnType: void
    signature: void test_null_reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Model::Model
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:171,1
    - Dst: Model::invalidateCache
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:172,1
    - Dst: Model::setLimit
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:174,1
    - Dst: Model::append
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:175,1
    - Dst: Model::append
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:176,1
    - Dst: await
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:177,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:178,1
    - Dst: Model::getCount
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:178,1
    - Dst: Model::setLimit
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:180,1
    - Dst: await
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:181,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:182,1
    - Dst: Model::getCount
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:182,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:183,1
    - Dst: Model::getMaximumCount
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:183,1
    - Dst: Model::setLimit
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:185,1
    - Dst: await
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:186,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:187,1
    - Dst: Model::getCount
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:187,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:190,1
    - Dst: Model::data
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:190,1
    - Dst: Model::index
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m.getCount() == 2)
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/vlc/modules/gui/qt/tests/test_base_model.cpp
    - condition: (m.getCount() == 1)
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/vlc/modules/gui/qt/tests/test_base_model.cpp
    - condition: (m.data(m.index(i), 0) == i + 1)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/vlc/modules/gui/qt/tests/test_base_model.cpp
    - condition: (m.getCount() == 2)
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/vlc/modules/gui/qt/tests/test_base_model.cpp
    - condition: (m.getMaximumCount() == 2)
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/vlc/modules/gui/qt/tests/test_base_model.cpp
    constantsTouched: []
    func_position:
      end: 192
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 192
    functionName: test_sanity
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_base_model.cpp
    functionUses: 0
    functionsReached:
    - assert
    - Model::setLimit
    - Model::getCount
    - Model::data
    - Model::invalidateCache
    - Model::index
    - Model::Model
    - await
    - Model::append
    - Model::getMaximumCount
    linkageType: ''
    returnType: void
    signature: void test_sanity()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:197,1
    - Dst: test_null_reset
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:199,1
    - Dst: test_invalidate_on_invalidate
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:200,1
    - Dst: test_sanity
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:201,1
    - Dst: QCoreApplication::quit
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:203,1
    - Dst: QCoreApplication::exec
      Src: /src/vlc/modules/gui/qt/tests/test_base_model.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 194
    functionDepth: 3
    functionLinenumber: 194
    functionLinenumberEnd: 206
    functionName: main
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_base_model.cpp
    functionUses: 6
    functionsReached:
    - QMetaObject::invokeMethod
    - QCoreApplication::exec
    - test_invalidate_on_invalidate
    - test_sanity
    - QCoreApplication::quit
    - test_null_reset
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QTest::qCompare
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:52,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:52,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:52,1
    - Dst: QTest::qCompare
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:55,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:56,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:56,1
    - Dst: QTest::qCompare
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:61,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:62,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:62,1
    - Dst: QTest::qCompare
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:67,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:68,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 6
    argNames:
    - row
    - title
    - title_str
    - state
    - state_str
    - line
    argTypes:
    - int
    - char*
    - char*
    - NodeState
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 74
    functionName: TestVLCNavigationModel::compareRow
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp
    functionUses: 0
    functionsReached:
    - data
    - QTest::qCompare
    - index
    linkageType: ''
    returnType: bool
    signature: "bool compareRow(int row,\n                    const char* title, const
      char* title_str,\n                    NodeState state, const char*  state_str,\n
      \                   //bool expandable, const char*  expandable_str,\n                    //bool
      expanded, const char*  expanded_str,\n                    int line )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - row
    - ','
    - title
    - ','
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: COMPARE_ROW
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPARE_ROW(row, title, state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QTest::qCompare
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:86,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:87,1
    - Dst: takeFirst
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:91,1
    - Dst: QTest::qCompare
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:92,1
    - Dst: toInt
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:93,1
    - Dst: QTest::qCompare
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:97,1
    - Dst: toInt
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - first
    - first_str
    - last
    - last_str
    - line
    argTypes:
    - int
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 103
    functionName: TestVLCNavigationModel::verif_inserted
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp
    functionUses: 0
    functionsReached:
    - takeFirst
    - size
    - QTest::qCompare
    - toInt
    linkageType: ''
    returnType: bool
    signature: "bool verif_inserted(\n        int first, const char* first_str,\n
      \       int last, const char* last_str,\n        int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - first
    - ','
    - last
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: VERIFY_INSERTED
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VERIFY_INSERTED(first, last)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QTest::qCompare
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:116,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:117,1
    - Dst: takeFirst
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:122,1
    - Dst: QTest::qCompare
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:123,1
    - Dst: toInt
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:124,1
    - Dst: QTest::qCompare
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:128,1
    - Dst: toInt
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - first
    - first_str
    - last
    - last_str
    - line
    argTypes:
    - int
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 134
    functionName: TestVLCNavigationModel::verif_removed
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp
    functionUses: 0
    functionsReached:
    - takeFirst
    - size
    - QTest::qCompare
    - toInt
    linkageType: ''
    returnType: bool
    signature: "bool verif_removed(\n        int first, const char* first_str,\n        int
      last, const char* last_str,\n        int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - first
    - ','
    - last
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: VERIFY_REMOVED
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VERIFY_REMOVED(first, last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: classBegin
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:143,1
    - Dst: setHasMedialib
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:144,1
    - Dst: componentComplete
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - hasMedialib
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: TestVLCNavigationModel::initWithMedialib
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp
    functionUses: 0
    functionsReached:
    - setHasMedialib
    - classBegin
    - componentComplete
    linkageType: ''
    returnType: void
    signature: void initWithMedialib(bool hasMedialib)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<VLCTestingEnv>
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:150,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:151,1
    - Dst: TestVLCNavigationModel::init
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: TestVLCNavigationModel::initTestCase
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<VLCTestingEnv>
    - QVERIFY
    - TestVLCNavigationModel::init
    linkageType: ''
    returnType: void
    signature: void initTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: TestVLCNavigationModel::cleanupTestCase
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void cleanupTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NavigationModel>
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:160,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:161,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:161,1
    - Dst: QAbstractItemModelTester::QAbstractItemModelTester
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:161,1
    - Dst: std::make_unique<QSignalSpy>
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:163,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:163,1
    - Dst: std::make_unique<QSignalSpy>
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:164,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: TestVLCNavigationModel::init
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<NavigationModel>
    - get
    - QAbstractItemModelTester::QAbstractItemModelTester
    - std::make_unique<QSignalSpy>
    linkageType: ''
    returnType: void
    signature: void init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: TestVLCNavigationModel::cleanup
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestVLCNavigationModel::initWithMedialib
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:173,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:175,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:175,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:177,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:178,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:179,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:180,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 182
    functionName: TestVLCNavigationModel::testInitialValues
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp
    functionUses: 0
    functionsReached:
    - COMPARE_ROW
    - QCOMPARE
    - TestVLCNavigationModel::initWithMedialib
    - rowCount
    linkageType: ''
    returnType: void
    signature: void testInitialValues()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestVLCNavigationModel::initWithMedialib
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:185,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:187,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:187,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:189,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:190,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 192
    functionName: TestVLCNavigationModel::testInitialValuesNoML
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp
    functionUses: 0
    functionsReached:
    - COMPARE_ROW
    - QCOMPARE
    - TestVLCNavigationModel::initWithMedialib
    - rowCount
    linkageType: ''
    returnType: void
    signature: void testInitialValuesNoML()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestVLCNavigationModel::initWithMedialib
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:195,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:196,1
    - Dst: setData
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:196,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:196,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:197,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:197,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:198,1
    - Dst: setData
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:198,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:198,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:199,1
    - Dst: setData
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:199,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 200
    functionName: TestVLCNavigationModel::testExpandOOB
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp
    functionUses: 0
    functionsReached:
    - QVERIFY
    - QCOMPARE
    - setData
    - index
    - TestVLCNavigationModel::initWithMedialib
    - rowCount
    linkageType: ''
    returnType: void
    signature: void testExpandOOB()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestVLCNavigationModel::initWithMedialib
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:203,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:204,1
    - Dst: setData
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:204,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:204,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:205,1
    - Dst: setData
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:205,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: TestVLCNavigationModel::testExpandExpandedOOB
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp
    functionUses: 0
    functionsReached:
    - QVERIFY
    - TestVLCNavigationModel::initWithMedialib
    - setData
    - index
    linkageType: ''
    returnType: void
    signature: void testExpandExpandedOOB()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestVLCNavigationModel::initWithMedialib
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:209,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:210,1
    - Dst: setData
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:210,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:210,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:212,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:212,1
    - Dst: VERIFY_INSERTED
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:213,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:217,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:218,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:220,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:221,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:223,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:224,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 226
    functionName: TestVLCNavigationModel::testExpandVideo
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp
    functionUses: 0
    functionsReached:
    - QVERIFY
    - QCOMPARE
    - setData
    - index
    - COMPARE_ROW
    - VERIFY_INSERTED
    - TestVLCNavigationModel::initWithMedialib
    - rowCount
    linkageType: ''
    returnType: void
    signature: void testExpandVideo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestVLCNavigationModel::initWithMedialib
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:230,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:232,1
    - Dst: setData
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:232,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:232,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:233,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:233,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:236,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:237,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:237,1
    - Dst: qWarning
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:240,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:240,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:240,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:243,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:244,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:244,1
    - Dst: qWarning
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:247,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:247,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:247,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:250,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:251,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 254
    functionName: TestVLCNavigationModel::testURI
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp
    functionUses: 0
    functionsReached:
    - QVERIFY
    - QCOMPARE
    - setData
    - data
    - index
    - TestVLCNavigationModel::initWithMedialib
    - rowCount
    - qWarning
    linkageType: ''
    returnType: void
    signature: void testURI()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestVLCNavigationModel::initWithMedialib
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:257,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:258,1
    - Dst: setData
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:258,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:258,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:260,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:260,1
    - Dst: VERIFY_INSERTED
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:261,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:265,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:266,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:267,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:269,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:270,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:271,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:272,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:273,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:275,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 277
    functionName: TestVLCNavigationModel::testExpandMusic
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp
    functionUses: 0
    functionsReached:
    - QVERIFY
    - QCOMPARE
    - setData
    - index
    - COMPARE_ROW
    - VERIFY_INSERTED
    - TestVLCNavigationModel::initWithMedialib
    - rowCount
    linkageType: ''
    returnType: void
    signature: void testExpandMusic()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestVLCNavigationModel::initWithMedialib
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:280,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:281,1
    - Dst: setData
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:281,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:281,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:283,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:283,1
    - Dst: VERIFY_INSERTED
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:284,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:288,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:289,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:290,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:292,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:293,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:294,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:295,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:296,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:298,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:299,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:301,1
    - Dst: setData
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:301,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:301,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:303,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:303,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:308,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:309,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:310,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:312,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:313,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:314,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:315,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:316,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:318,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 320
    functionName: TestVLCNavigationModel::testExpandMusicTwice
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp
    functionUses: 0
    functionsReached:
    - QVERIFY
    - QCOMPARE
    - setData
    - index
    - COMPARE_ROW
    - VERIFY_INSERTED
    - TestVLCNavigationModel::initWithMedialib
    - rowCount
    linkageType: ''
    returnType: void
    signature: void testExpandMusicTwice()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestVLCNavigationModel::initWithMedialib
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:323,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:324,1
    - Dst: setData
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:324,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:324,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:326,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:326,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:331,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:332,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:333,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:334,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 336
    functionName: TestVLCNavigationModel::testExpandBrowse
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp
    functionUses: 0
    functionsReached:
    - QVERIFY
    - QCOMPARE
    - setData
    - index
    - COMPARE_ROW
    - TestVLCNavigationModel::initWithMedialib
    - rowCount
    linkageType: ''
    returnType: void
    signature: void testExpandBrowse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestVLCNavigationModel::initWithMedialib
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:339,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:340,1
    - Dst: setData
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:340,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:340,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:342,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:342,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:347,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:348,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:349,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:350,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 352
    functionName: TestVLCNavigationModel::testRetractBrowse
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp
    functionUses: 0
    functionsReached:
    - QVERIFY
    - QCOMPARE
    - setData
    - index
    - COMPARE_ROW
    - TestVLCNavigationModel::initWithMedialib
    - rowCount
    linkageType: ''
    returnType: void
    signature: void testRetractBrowse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestVLCNavigationModel::initWithMedialib
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:355,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:356,1
    - Dst: setData
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:356,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:356,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:358,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:358,1
    - Dst: VERIFY_INSERTED
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:359,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:363,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:364,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:366,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:367,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:369,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:370,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:371,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:373,1
    - Dst: setData
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:373,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:373,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:375,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:375,1
    - Dst: VERIFY_REMOVED
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:376,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:380,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:381,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:382,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:383,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 385
    functionName: TestVLCNavigationModel::testExpandVideoRetractVideo
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp
    functionUses: 0
    functionsReached:
    - QVERIFY
    - QCOMPARE
    - VERIFY_REMOVED
    - setData
    - index
    - COMPARE_ROW
    - VERIFY_INSERTED
    - TestVLCNavigationModel::initWithMedialib
    - rowCount
    linkageType: ''
    returnType: void
    signature: void testExpandVideoRetractVideo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestVLCNavigationModel::initWithMedialib
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:388,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:389,1
    - Dst: setData
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:389,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:389,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:391,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:391,1
    - Dst: VERIFY_INSERTED
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:392,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:396,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:397,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:399,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:400,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:402,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:403,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:404,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:406,1
    - Dst: setData
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:406,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:406,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:408,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:408,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:413,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:414,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:416,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:417,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:419,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:420,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 422
    functionName: TestVLCNavigationModel::testExpandVideoRetractAll
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp
    functionUses: 0
    functionsReached:
    - QVERIFY
    - QCOMPARE
    - setData
    - index
    - COMPARE_ROW
    - VERIFY_INSERTED
    - TestVLCNavigationModel::initWithMedialib
    - rowCount
    linkageType: ''
    returnType: void
    signature: void testExpandVideoRetractAll()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestVLCNavigationModel::initWithMedialib
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:426,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:427,1
    - Dst: setData
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:427,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:427,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:429,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:429,1
    - Dst: VERIFY_INSERTED
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:430,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:434,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:435,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:437,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:438,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:440,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:441,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:442,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:444,1
    - Dst: setData
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:444,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:444,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:446,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:446,1
    - Dst: VERIFY_REMOVED
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:447,1
    - Dst: VERIFY_INSERTED
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:448,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:451,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:452,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:453,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:455,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:456,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:457,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:458,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:459,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:461,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 463
    functionName: TestVLCNavigationModel::testExpandVideoExpandAudio
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp
    functionUses: 0
    functionsReached:
    - QVERIFY
    - QCOMPARE
    - VERIFY_REMOVED
    - setData
    - index
    - COMPARE_ROW
    - VERIFY_INSERTED
    - TestVLCNavigationModel::initWithMedialib
    - rowCount
    linkageType: ''
    returnType: void
    signature: void testExpandVideoExpandAudio()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestVLCNavigationModel::initWithMedialib
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:466,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:467,1
    - Dst: setData
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:467,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:467,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:469,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:469,1
    - Dst: VERIFY_INSERTED
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:470,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:474,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:475,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:477,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:478,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:480,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:481,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:482,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:484,1
    - Dst: setData
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:484,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:484,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:486,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:486,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:491,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:492,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:494,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:495,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:497,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:498,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 500
    functionName: TestVLCNavigationModel::testExpandVideoRetractAudio
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp
    functionUses: 0
    functionsReached:
    - QVERIFY
    - QCOMPARE
    - setData
    - index
    - COMPARE_ROW
    - VERIFY_INSERTED
    - TestVLCNavigationModel::initWithMedialib
    - rowCount
    linkageType: ''
    returnType: void
    signature: void testExpandVideoRetractAudio()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestVLCNavigationModel::initWithMedialib
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:503,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:504,1
    - Dst: setData
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:504,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:504,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:506,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:506,1
    - Dst: VERIFY_INSERTED
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:507,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:511,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:512,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:514,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:515,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:517,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:518,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:519,1
    - Dst: QVERIFY
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:521,1
    - Dst: setData
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:521,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:521,1
    - Dst: QCOMPARE
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:523,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:523,1
    - Dst: VERIFY_REMOVED
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:525,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:528,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:529,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:530,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:531,1
    - Dst: COMPARE_ROW
      Src: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 533
    functionName: TestVLCNavigationModel::testExpandVideoExpandHome
    functionSourceFile: /src/vlc/modules/gui/qt/tests/test_navigation_model.cpp
    functionUses: 0
    functionsReached:
    - QVERIFY
    - QCOMPARE
    - VERIFY_REMOVED
    - setData
    - index
    - COMPARE_ROW
    - VERIFY_INSERTED
    - TestVLCNavigationModel::initWithMedialib
    - rowCount
    linkageType: ''
    returnType: void
    signature: void testExpandVideoExpandHome()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/tests/qml_test.cpp:27,1
    - Dst: QQmlEngine*::addImportPath
      Src: /src/vlc/modules/gui/qt/tests/qml_test.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - engine
    argTypes:
    - QQmlEngine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: Setup::qmlEngineAvailable
    functionSourceFile: /src/vlc/modules/gui/qt/tests/qml_test.cpp
    functionUses: 0
    functionsReached:
    - QT_VERSION_CHECK
    - QQmlEngine*::addImportPath
    linkageType: ''
    returnType: void
    signature: void Setup::qmlEngineAvailable(QQmlEngine *engine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_INIT_RESOURCE
      Src: /src/vlc/modules/gui/qt/tests/qml_test.cpp:40,1
    - Dst: qputenv
      Src: /src/vlc/modules/gui/qt/tests/qml_test.cpp:44,1
    - Dst: quick_test_main_with_setup
      Src: /src/vlc/modules/gui/qt/tests/qml_test.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: main
    functionSourceFile: /src/vlc/modules/gui/qt/tests/qml_test.cpp
    functionUses: 6
    functionsReached:
    - qputenv
    - quick_test_main_with_setup
    - Q_INIT_RESOURCE
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' model'
    argTypes:
    - PlayerControlbarModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: operator!=(const PlayerControlbarModel& model) const
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controlbar_model.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const PlayerControlbarModel& model) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: PlayerControllerPrivate::PlayerControllerPrivate
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller_p.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlayerControllerPrivate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/player/player_controller_p.hpp:80,1
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/player/player_controller_p.hpp:81,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/player/player_controller_p.hpp:85,1
    - Dst: std::forward<Fun>
      Src: /src/vlc/modules/gui/qt/player/player_controller_p.hpp:85,1
    - Dst: fun
      Src: /src/vlc/modules/gui/qt/player/player_controller_p.hpp:85,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/player/player_controller_p.hpp:87,1
    - Dst: std::forward<Fun>
      Src: /src/vlc/modules/gui/qt/player/player_controller_p.hpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' fun'
    argTypes:
    - Fun
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: PlayerControllerPrivate::callAsync
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller_p.hpp
    functionUses: 0
    functionsReached:
    - Q_Q
    - QT_VERSION_CHECK
    - fun
    - QMetaObject::invokeMethod
    - std::forward<Fun>
    linkageType: ''
    returnType: void
    signature: void callAsync(Fun&& fun)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: input_item_Hold
      Src: /src/vlc/modules/gui/qt/player/player_controller.hpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - event_types
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: IMEvent::IMEvent
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.hpp
    functionUses: 0
    functionsReached:
    - input_item_Hold
    linkageType: ''
    returnType: void
    signature: void IMEvent( event_types type, input_item_t *p_input = NULL )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: input_item_Release
      Src: /src/vlc/modules/gui/qt/player/player_controller.hpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: ~IMEvent()
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.hpp
    functionUses: 0
    functionsReached:
    - input_item_Release
    linkageType: ''
    returnType: void
    signature: void ~IMEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: IMEvent::item
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: input_item_t
    signature: input_item_t *item() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: TimedText::TimedText
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TimedText()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/player/player_controller.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - text
    - time
    argTypes:
    - QString
    - VLCTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: TimedText::TimedText
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void TimedText(QString text, VLCTime time)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: TimedText::text
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString text() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: TimedText::time
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: VLCTime
    signature: VLCTime time() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlayerHighResolutionTimeUpdater
      Src: /src/vlc/modules/gui/qt/player/player_controller.hpp:549,1
    - Dst: QObject
      Src: /src/vlc/modules/gui/qt/player/player_controller.hpp:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 553
    functionName: PlayerHighResolutionTimeUpdater::public
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.hpp
    functionUses: 0
    functionsReached:
    - PlayerHighResolutionTimeUpdater
    - QObject
    linkageType: ''
    returnType: QML_ELEMENT
    signature: QML_ELEMENT public
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/player/player_controller.hpp:561,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/player/player_controller.hpp:566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - window
    argTypes:
    - QQuickWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 569
    functionName: PlayerHighResolutionTimeUpdater::setWindow
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.hpp
    functionUses: 0
    functionsReached:
    - connect
    - disconnect
    linkageType: ''
    returnType: void
    signature: void setWindow(QQuickWindow* window)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qobject_cast<QQuickItem*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.hpp:573,1
    - Dst: QQmlProperty::object
      Src: /src/vlc/modules/gui/qt/player/player_controller.hpp:573,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/player/player_controller.hpp:574,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/player/player_controller.hpp:576,1
    - Dst: QQmlProperty::isValid
      Src: /src/vlc/modules/gui/qt/player/player_controller.hpp:576,1
    - Dst: QQmlProperty::propertyType
      Src: /src/vlc/modules/gui/qt/player/player_controller.hpp:576,1
    - Dst: QQmlProperty::isWritable
      Src: /src/vlc/modules/gui/qt/player/player_controller.hpp:576,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - prop
    argTypes:
    - QQmlProperty
    assertStmts:
    - condition: (m_item)
      pos:
        line_end: 573
        line_start: 573
        source_file: /src/vlc/modules/gui/qt/player/player_controller.hpp
    - condition: (prop.isValid() && (prop.propertyType() == QMetaType::QString) &&
        prop.isWritable())
      pos:
        line_end: 575
        line_start: 575
        source_file: /src/vlc/modules/gui/qt/player/player_controller.hpp
    constantsTouched: []
    func_position:
      end: 577
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 577
    functionName: PlayerHighResolutionTimeUpdater::setTarget
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.hpp
    functionUses: 0
    functionsReached:
    - assert
    - QQmlProperty::object
    - QQmlProperty::isWritable
    - QQmlProperty::isValid
    - QQmlProperty::propertyType
    - qobject_cast<QQuickItem*>
    linkageType: ''
    returnType: void
    signature: void setTarget(const QQmlProperty &prop) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PlayerHighResolutionTimeUpdater::update
      Src: /src/vlc/modules/gui/qt/player/player_controller.hpp:590,1
    - Dst: highResolutionTime
      Src: /src/vlc/modules/gui/qt/player/player_controller.hpp:593,1
    - Dst: write
      Src: /src/vlc/modules/gui/qt/player/player_controller.hpp:595,1
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/player/player_controller.hpp:598,1
    - Dst: ensurePolished
      Src: /src/vlc/modules/gui/qt/player/player_controller.hpp:603,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 607
    functionName: PlayerHighResolutionTimeUpdater::update
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.hpp
    functionUses: 1
    functionsReached:
    - ensurePolished
    - write
    - PlayerHighResolutionTimeUpdater::update
    - QT_VERSION_CHECK
    - highResolutionTime
    linkageType: ''
    returnType: bool
    signature: bool update()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:23,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:24,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: ControlListModel::ControlListModel
    functionSourceFile: /src/vlc/modules/gui/qt/player/control_list_model.cpp
    functionUses: 0
    functionsReached:
    - connect
    linkageType: ''
    returnType: void
    signature: void ControlListModel::ControlListModel(QObject *parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::isValid
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:30,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: ControlListModel::rowCount
    functionSourceFile: /src/vlc/modules/gui/qt/player/control_list_model.cpp
    functionUses: 0
    functionsReached:
    - size
    - QModelIndex::isValid
    linkageType: ''
    returnType: int
    signature: int ControlListModel::rowCount(const QModelIndex &parent) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::isValid
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:38,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:39,1
    - Dst: at
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:41,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:41,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:45,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - index
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: ControlListModel::data
    functionSourceFile: /src/vlc/modules/gui/qt/player/control_list_model.cpp
    functionUses: 0
    functionsReached:
    - QVariant
    - QModelIndex::row
    - QModelIndex::isValid
    - at
    linkageType: ''
    returnType: QVariant
    signature: QVariant ControlListModel::data(const QModelIndex &index, int role)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:52,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:52,1
    - Dst: QVariant::canConvert
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:56,1
    - Dst: static_cast<ControlType>
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:57,1
    - Dst: QVariant::toInt
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:57,1
    - Dst: ControlListModel::setButtonAt
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:63,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - index
    - value
    - role
    argTypes:
    - QModelIndex
    - QVariant
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 68
    functionName: ControlListModel::setData
    functionSourceFile: /src/vlc/modules/gui/qt/player/control_list_model.cpp
    functionUses: 0
    functionsReached:
    - ControlListModel::setButtonAt
    - QVariant::toInt
    - QModelIndex::row
    - static_cast<ControlType>
    - QVariant::canConvert
    - at
    linkageType: ''
    returnType: bool
    signature: bool ControlListModel::setData(const QModelIndex &index, const QVariant
      &value, int role)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::isValid
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: ControlListModel::flags
    functionSourceFile: /src/vlc/modules/gui/qt/player/control_list_model.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::isValid
    linkageType: ''
    returnType: Qt::ItemFlags
    signature: Qt::ItemFlags ControlListModel::flags(const QModelIndex &index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: ControlListModel::roleNames
    functionSourceFile: /src/vlc/modules/gui/qt/player/control_list_model.cpp
    functionUses: 0
    functionsReached:
    - QByteArrayLiteral
    linkageType: ''
    returnType: QHash<int, QByteArray>
    signature: QHash<int, QByteArray> ControlListModel::roleNames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVector::append
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:93,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionName: ControlListModel::getControls
    functionSourceFile: /src/vlc/modules/gui/qt/player/control_list_model.cpp
    functionUses: 0
    functionsReached:
    - QVector::append
    - static_cast<int>
    linkageType: ''
    returnType: QVector<int>
    signature: QVector<int> ControlListModel::getControls() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: beginResetModel
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:101,1
    - Dst: resize
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:103,1
    - Dst: QVector<int>::size
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:103,1
    - Dst: QVector<int>::size
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:105,1
    - Dst: static_cast<ControlType>
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:107,1
    - Dst: QVector<int>::at
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:107,1
    - Dst: endResetModel
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - list
    argTypes:
    - QVector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: ControlListModel::setControls
    functionSourceFile: /src/vlc/modules/gui/qt/player/control_list_model.cpp
    functionUses: 0
    functionsReached:
    - QVector<int>::size
    - resize
    - static_cast<ControlType>
    - beginResetModel
    - QVector<int>::at
    - endResetModel
    linkageType: ''
    returnType: void
    signature: void ControlListModel::setControls(const QVector<int> &list)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:115,1
    - Dst: at
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - index
    - button
    argTypes:
    - int
    - ControlType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 125
    functionName: ControlListModel::setButtonAt
    functionSourceFile: /src/vlc/modules/gui/qt/player/control_list_model.cpp
    functionUses: 1
    functionsReached:
    - size
    - at
    linkageType: ''
    returnType: bool
    signature: bool ControlListModel::setButtonAt(int index, const ControlType &button)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: beginInsertRows
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:129,1
    - Dst: QModelIndex
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:129,1
    - Dst: ControlListModel::insert
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:130,1
    - Dst: static_cast<ControlType>
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:130,1
    - Dst: QVariantMap::value
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:130,1
    - Dst: endInsertRows
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - index
    - bdata
    argTypes:
    - int
    - QVariantMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: ControlListModel::insert
    functionSourceFile: /src/vlc/modules/gui/qt/player/control_list_model.cpp
    functionUses: 1
    functionsReached:
    - endInsertRows
    - QModelIndex
    - static_cast<ControlType>
    - beginInsertRows
    - QVariantMap::value
    - ControlListModel::insert
    linkageType: ''
    returnType: void
    signature: void ControlListModel::insert(int index, QVariantMap bdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: beginMoveRows
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:138,1
    - Dst: QModelIndex
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:138,1
    - Dst: QModelIndex
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:138,1
    - Dst: ControlListModel::move
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:139,1
    - Dst: endMoveRows
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: ControlListModel::move
    functionSourceFile: /src/vlc/modules/gui/qt/player/control_list_model.cpp
    functionUses: 1
    functionsReached:
    - ControlListModel::move
    - QModelIndex
    - beginMoveRows
    - endMoveRows
    linkageType: ''
    returnType: void
    signature: void ControlListModel::move(int src, int dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: beginRemoveRows
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:145,1
    - Dst: QModelIndex
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:145,1
    - Dst: ControlListModel::remove
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:146,1
    - Dst: endRemoveRows
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: ControlListModel::remove
    functionSourceFile: /src/vlc/modules/gui/qt/player/control_list_model.cpp
    functionUses: 1
    functionsReached:
    - beginRemoveRows
    - QModelIndex
    - endRemoveRows
    - ControlListModel::remove
    linkageType: ''
    returnType: void
    signature: void ControlListModel::remove(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: beginResetModel
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:152,1
    - Dst: ControlListModel::clear
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:153,1
    - Dst: endResetModel
      Src: /src/vlc/modules/gui/qt/player/control_list_model.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: ControlListModel::clear
    functionSourceFile: /src/vlc/modules/gui/qt/player/control_list_model.cpp
    functionUses: 1
    functionsReached:
    - endResetModel
    - beginResetModel
    - ControlListModel::clear
    linkageType: ''
    returnType: void
    signature: void ControlListModel::clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:62,1
    - Dst: vlc_player_vout_RemoveListener
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:65,1
    - Dst: vlc_player_aout_RemoveListener
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:66,1
    - Dst: vlc_player_RemoveListener
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:67,1
    - Dst: vlc_player_RemoveTimer
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:68,1
    - Dst: vlc_preparser_Delete
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_smpteTimerRequestCount == 0)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/vlc/modules/gui/qt/player/player_controller.cpp
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: PlayerControllerPrivate::~PlayerControllerPrivate()
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_player_vout_RemoveListener
    - assert
    - vlc_player_RemoveTimer
    - vlc_preparser_Delete
    - vlc_player_RemoveListener
    - vlc_player_aout_RemoveListener
    linkageType: ''
    returnType: void
    signature: void PlayerControllerPrivate::~PlayerControllerPrivate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:79,1
    - Dst: vlc_player_GetCurrentMedia
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: PlayerControllerPrivate::isCurrentItemSynced
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - get
    - vlc_player_GetCurrentMedia
    linkageType: ''
    returnType: bool
    signature: bool PlayerControllerPrivate::isCurrentItemSynced()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:85,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:92,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:96,1
    - Dst: vlc_strfplayer
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:97,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:98,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:99,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:102,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:103,1
    - Dst: QString::simplified
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:108,1
    - Dst: input_item_GetURI
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:110,1
    - Dst: strrchr
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:111,1
    - Dst: vlc_uri_decode
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:114,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:115,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:118,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:119,1
    - Dst: QString::trimmed
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:122,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - media
    argTypes:
    - input_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 129
    functionName: PlayerControllerPrivate::UpdateName
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - var_InheritString
    - vlc_player_Unlock
    - Q_Q
    - vlc_player_Lock
    - strrchr
    - free
    - input_item_GetURI
    - QString::trimmed
    - vlc_uri_decode
    - std::move
    - vlc_strfplayer
    - QString::simplified
    - qfu
    linkageType: ''
    returnType: void
    signature: void PlayerControllerPrivate::UpdateName(input_item_t* media)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:134,1
    - Dst: PlayerController::decodeArtURL
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:138,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - p_item
    argTypes:
    - input_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 147
    functionName: PlayerControllerPrivate::UpdateArt
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - PlayerController::decodeArtURL
    - std::move
    - Q_Q
    linkageType: ''
    returnType: void
    signature: void PlayerControllerPrivate::UpdateArt(input_item_t *p_item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - input_stats_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: PlayerControllerPrivate::UpdateStats
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_Q
    linkageType: ''
    returnType: void
    signature: void PlayerControllerPrivate::UpdateStats( const input_stats_t& stats
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:157,1
    - Dst: updatePrograms
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:158,1
    - Dst: getCount
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - action
    - prgm
    argTypes:
    - enum vlc_player_list_action
    - struct vlc_player_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 170
    functionName: PlayerControllerPrivate::UpdateProgram
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - getCount
    - Q_Q
    - updatePrograms
    linkageType: ''
    returnType: void
    signature: void PlayerControllerPrivate::UpdateProgram(enum vlc_player_list_action
      action, const struct vlc_player_program* prgm)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_es_id_GetCat
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:176,1
    - Dst: TrackListModel*::updateTrackSelection
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - trackid
    - selected
    argTypes:
    - vlc_es_id_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 185
    functionName: PlayerControllerPrivate::UpdateTrackSelection
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - TrackListModel*::updateTrackSelection
    - vlc_es_id_GetCat
    linkageType: ''
    returnType: void
    signature: void PlayerControllerPrivate::UpdateTrackSelection(vlc_es_id_t *trackid,
      bool selected)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:189,1
    - Dst: vlc_meta_Get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:196,1
    - Dst: vlc_meta_Get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:197,1
    - Dst: vlc_meta_Get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:198,1
    - Dst: vlc_meta_Get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:199,1
    - Dst: vlc_meta_GetExtra
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:205,1
    - Dst: vlc_meta_GetExtra
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:207,1
    - Dst: qHash
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:212,1
    - Dst: qMakePair
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:215,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:215,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:216,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - p_item
    argTypes:
    - input_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 228
    functionName: PlayerControllerPrivate::UpdateMeta
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - qMakePair
    - vlc_meta_GetExtra
    - qHash
    - Q_Q
    - reset
    - std::move
    - vlc_meta_Get
    linkageType: ''
    returnType: void
    signature: void PlayerControllerPrivate::UpdateMeta( input_item_t *p_item )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:233,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:239,1
    - Dst: first::isEmpty
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:239,1
    - Dst: QString::fromUtf8
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:240,1
    - Dst: first::clear
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:241,1
    - Dst: QStringView
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:243,1
    - Dst: QChar
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:243,1
    - Dst: indexOf
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:247,1
    - Dst: QChar
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:247,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:252,1
    - Dst: first
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:252,1
    - Dst: QList::push_back
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:253,1
    - Dst: TimedText
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:253,1
    - Dst: sliced
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:253,1
    - Dst: VLCTime
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:253,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:255,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!m_syltRaw->first.isEmpty())
      pos:
        line_end: 238
        line_start: 238
        source_file: /src/vlc/modules/gui/qt/player/player_controller.cpp
    constantsTouched: []
    func_position:
      end: 259
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 259
    functionName: PlayerControllerPrivate::syltLyrics
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - VLCTime
    - TimedText
    - QString::fromUtf8
    - assert
    - first::clear
    - QList::push_back
    - sliced
    - QStringView
    - VLC_TICK_FROM_MS
    - std::move
    - first
    - first::isEmpty
    - indexOf
    - has_value
    - QChar
    linkageType: ''
    returnType: QList<TimedText>
    signature: QList<TimedText> PlayerControllerPrivate::syltLyrics() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_item
    argTypes:
    - input_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 265
    functionName: PlayerControllerPrivate::UpdateInfo
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_Q
    linkageType: ''
    returnType: void
    signature: void PlayerControllerPrivate::UpdateInfo( input_item_t *p_item )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:269,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:276,1
    - Dst: resetObject
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:283,1
    - Dst: resetObject
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:284,1
    - Dst: resetObject
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:285,1
    - Dst: resetObject
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:286,1
    - Dst: resetObject
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:287,1
    - Dst: resetObject
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:288,1
    - Dst: resetObject
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:289,1
    - Dst: resetObject
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:290,1
    - Dst: hasVideoOutputChanged
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - vouts
    - i_vouts
    - action
    argTypes:
    - vout_thread_t**
    - size_t
    - enum vlc_player_vout_action
    assertStmts:
    - condition: (m_vout_ref >= 0)
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/vlc/modules/gui/qt/player/player_controller.cpp
    constantsTouched: []
    func_position:
      end: 295
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 295
    functionName: PlayerControllerPrivate::UpdateVouts
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - resetObject
    - Q_Q
    - assert
    - hasVideoOutputChanged
    linkageType: ''
    returnType: void
    signature: void PlayerControllerPrivate::UpdateVouts(vout_thread_t **vouts, size_t
      i_vouts, enum vlc_player_vout_action action)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:302,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:303,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:306,1
    - Dst: valid
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:307,1
    - Dst: vlc_player_SetEsIdDelay
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:310,1
    - Dst: toVLCTick
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - es_id
    - order
    argTypes:
    - vlc_es_id_t*
    - enum vlc_vout_order
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: PlayerControllerPrivate::UpdateSpuOrder
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - toVLCTick
    - get
    - vlc_player_SetEsIdDelay
    - reset
    - valid
    linkageType: ''
    returnType: void
    signature: void PlayerControllerPrivate::UpdateSpuOrder(vlc_es_id_t *es_id, enum
      vlc_vout_order order)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_timer_point_Interpolate
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - system_now
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 330
    functionName: PlayerControllerPrivate::interpolateTime
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_player_timer_point_Interpolate
    linkageType: ''
    returnType: int
    signature: int PlayerControllerPrivate::interpolateTime(vlc_tick_t system_now)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:338,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:339,1
    - Dst: PlayerControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:343,1
    - Dst: PlayerControllerPrivate*::m_currentItem::reset
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:346,1
    - Dst: PlayerControllerPrivate*::m_syltRaw::reset
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:349,1
    - Dst: PlayerControllerPrivate*::m_syltLyrics::reset
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:350,1
    - Dst: SharedInputItem
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:361,1
    - Dst: PlayerControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:362,1
    - Dst: PlayerControllerPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:363,1
    - Dst: PlayerControllerPrivate*::m_syltRaw::reset
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:365,1
    - Dst: PlayerControllerPrivate*::m_syltLyrics::reset
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:366,1
    - Dst: PlayerControllerPrivate*::UpdateArt
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:373,1
    - Dst: SharedInputItem::get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:373,1
    - Dst: PlayerControllerPrivate*::UpdateMeta
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:374,1
    - Dst: SharedInputItem::get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:374,1
    - Dst: PlayerControllerPrivate*::UpdateInfo
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:375,1
    - Dst: SharedInputItem::get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:375,1
    - Dst: PlayerControllerPrivate*::UpdateName
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:376,1
    - Dst: SharedInputItem::get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:376,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:377,1
    - Dst: input_item_GetURI
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:377,1
    - Dst: SharedInputItem::get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:377,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 2
    argNames:
    - new_media
    - data
    argTypes:
    - input_item_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 389
    functionName: on_player_current_media_changed
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - PlayerControllerPrivate*::m_syltLyrics::reset
    - PlayerControllerPrivate*::UpdateArt
    - SharedInputItem::get
    - PlayerControllerPrivate*::UpdateInfo
    - PlayerControllerPrivate*::m_currentItem::reset
    - vlc::wrap_cptr
    - PlayerControllerPrivate*::callAsync
    - static_cast<PlayerControllerPrivate*>
    - PlayerControllerPrivate*::q_func
    - PlayerControllerPrivate*::m_syltRaw::reset
    - std::move
    - msg_Dbg
    - SharedInputItem
    - input_item_GetURI
    - PlayerControllerPrivate*::UpdateMeta
    - PlayerControllerPrivate*::UpdateName
    linkageType: ''
    returnType: void
    signature: void on_player_current_media_changed(vlc_player_t *, input_item_t *new_media,
      void *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:393,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:394,1
    - Dst: PlayerControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:396,1
    - Dst: PlayerControllerPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:397,1
    - Dst: static_cast<PlayerController::PlayingState>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:398,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:401,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:405,1
    - Dst: PlayerController*::getAout
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:406,1
    - Dst: PlayerControllerPrivate*::m_audioStereoMode::resetObject
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:407,1
    - Dst: SharedAOut::get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:407,1
    - Dst: PlayerControllerPrivate*::m_audioMixMode::resetObject
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:408,1
    - Dst: SharedAOut::get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:408,1
    - Dst: PlayerControllerPrivate*::m_audioVisualization::resetObject
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:409,1
    - Dst: SharedAOut::get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:409,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:413,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:416,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:420,1
    - Dst: PlayerControllerPrivate*::m_audioStereoMode::resetObject
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:422,1
    - Dst: PlayerControllerPrivate*::m_audioMixMode::resetObject
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:423,1
    - Dst: PlayerControllerPrivate*::m_audioVisualization::resetObject
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:424,1
    - Dst: VLCTime
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:430,1
    - Dst: VLCDuration
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:430,1
    - Dst: VLCTime
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:451,1
    - Dst: VLCTime
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:452,1
    - Dst: PlayerControllerPrivate*::m_syltRaw::reset
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:470,1
    - Dst: PlayerControllerPrivate*::m_syltLyrics::reset
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:471,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 56
    argCount: 2
    argNames:
    - state
    - data
    argTypes:
    - enum vlc_player_state
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 495
    functionName: on_player_state_changed
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - VLCTime
    - PlayerControllerPrivate*::m_syltLyrics::reset
    - PlayerControllerPrivate*::m_audioMixMode::resetObject
    - PlayerControllerPrivate*::m_audioVisualization::resetObject
    - PlayerControllerPrivate*::callAsync
    - SharedAOut::get
    - static_cast<PlayerControllerPrivate*>
    - PlayerController*::getAout
    - PlayerControllerPrivate*::q_func
    - PlayerControllerPrivate*::m_syltRaw::reset
    - msg_Dbg
    - static_cast<PlayerController::PlayingState>
    - PlayerControllerPrivate*::m_audioStereoMode::resetObject
    - VLCDuration
    linkageType: ''
    returnType: void
    signature: void on_player_state_changed(vlc_player_t *, enum vlc_player_state
      state, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:499,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 501
    functionName: on_player_error_changed
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - static_cast<PlayerControllerPrivate*>
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void on_player_error_changed(vlc_player_t *, enum vlc_player_error
      , void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:505,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:506,1
    - Dst: PlayerControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - new_buffering
    - data
    argTypes:
    - float
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 511
    functionName: on_player_buffering
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - PlayerControllerPrivate*::callAsync
    - static_cast<PlayerControllerPrivate*>
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void on_player_buffering(vlc_player_t *, float new_buffering, void
      *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:515,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:516,1
    - Dst: PlayerControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:517,1
    - Dst: PlayerControllerPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:518,1
    - Dst: seekableChanged
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:524,1
    - Dst: rewindableChanged
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:529,1
    - Dst: pausableChanged
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:534,1
    - Dst: rateChangableChanged
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:539,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - old_caps
    - new_caps
    - data
    argTypes:
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 543
    functionName: on_player_capabilities_changed
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - seekableChanged
    - pausableChanged
    - PlayerControllerPrivate*::callAsync
    - static_cast<PlayerControllerPrivate*>
    - PlayerControllerPrivate*::q_func
    - msg_Dbg
    - rateChangableChanged
    - rewindableChanged
    linkageType: ''
    returnType: void
    signature: void on_player_capabilities_changed(vlc_player_t *, int old_caps, int
      new_caps, void *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:547,1
    - Dst: vlc_player_track_Dup
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:548,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:553,1
    - Dst: PlayerControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:554,1
    - Dst: std::shared_ptr::get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:555,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:557,1
    - Dst: PlayerControllerPrivate*::m_videoTracks::updateTracks
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:558,1
    - Dst: std::shared_ptr::get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:558,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:561,1
    - Dst: PlayerControllerPrivate*::m_audioTracks::updateTracks
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:562,1
    - Dst: std::shared_ptr::get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:562,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:565,1
    - Dst: PlayerControllerPrivate*::m_subtitleTracks::updateTracks
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:566,1
    - Dst: std::shared_ptr::get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:566,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:570,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - action
    - track
    - data
    argTypes:
    - enum vlc_player_list_action
    - struct vlc_player_track*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 574
    functionName: on_player_track_list_changed
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - PlayerControllerPrivate*::m_videoTracks::updateTracks
    - PlayerControllerPrivate*::callAsync
    - std::shared_ptr::get
    - PlayerControllerPrivate*::m_audioTracks::updateTracks
    - static_cast<PlayerControllerPrivate*>
    - msg_Dbg
    - vlc_player_track_Dup
    - PlayerControllerPrivate*::m_subtitleTracks::updateTracks
    linkageType: ''
    returnType: void
    signature: void on_player_track_list_changed(vlc_player_t *, enum vlc_player_list_action
      action, const struct vlc_player_track *track, void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:578,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:579,1
    - Dst: SharedEsId
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:581,1
    - Dst: SharedEsId
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:582,1
    - Dst: PlayerControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:584,1
    - Dst: PlayerControllerPrivate*::UpdateTrackSelection
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:586,1
    - Dst: SharedEsId::get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:586,1
    - Dst: PlayerControllerPrivate*::UpdateTrackSelection
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:588,1
    - Dst: SharedEsId::get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:588,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - unselected
    - selected
    - data
    argTypes:
    - vlc_es_id_t*
    - vlc_es_id_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 590
    functionName: on_player_track_selection_changed
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - SharedEsId
    - PlayerControllerPrivate*::callAsync
    - static_cast<PlayerControllerPrivate*>
    - msg_Dbg
    - PlayerControllerPrivate*::UpdateTrackSelection
    - SharedEsId::get
    linkageType: ''
    returnType: void
    signature: void on_player_track_selection_changed(vlc_player_t *, vlc_es_id_t
      * unselected, vlc_es_id_t *selected, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:595,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:596,1
    - Dst: vlc_player_program_Dup
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:597,1
    - Dst: PlayerControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:602,1
    - Dst: PlayerControllerPrivate*::UpdateProgram
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:603,1
    - Dst: std::shared_ptr::get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - action
    - prgm
    - data
    argTypes:
    - enum vlc_player_list_action
    - struct vlc_player_program*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 605
    functionName: on_player_program_list_changed
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - PlayerControllerPrivate*::UpdateProgram
    - vlc_player_program_Dup
    - PlayerControllerPrivate*::callAsync
    - std::shared_ptr::get
    - static_cast<PlayerControllerPrivate*>
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void on_player_program_list_changed(vlc_player_t *, enum vlc_player_list_action
      action, const struct vlc_player_program *prgm, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:609,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:610,1
    - Dst: PlayerControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:612,1
    - Dst: PlayerControllerPrivate*::m_programList::updateProgramSelection
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:613,1
    - Dst: PlayerControllerPrivate*::m_programList::updateProgramSelection
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - unselected
    - selected
    - data
    argTypes:
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 616
    functionName: on_player_program_selection_changed
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - PlayerControllerPrivate*::callAsync
    - PlayerControllerPrivate*::m_programList::updateProgramSelection
    - static_cast<PlayerControllerPrivate*>
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void on_player_program_selection_changed(vlc_player_t *, int unselected,
      int selected, void *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:620,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:621,1
    - Dst: SharedTitleList
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:623,1
    - Dst: PlayerControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:625,1
    - Dst: SharedTitleList::get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:626,1
    - Dst: PlayerControllerPrivate*::m_chapterList::resetTitle
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:627,1
    - Dst: PlayerControllerPrivate*::m_titleList::resetTitles
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:628,1
    - Dst: vlc_player_title_list_GetCount
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:634,1
    - Dst: vlc_player_title_list_GetAt
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:637,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - titles
    - data
    argTypes:
    - struct vlc_player_title_list*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 662
    functionName: on_player_titles_changed
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - PlayerControllerPrivate*::m_titleList::resetTitles
    - PlayerControllerPrivate*::m_chapterList::resetTitle
    - PlayerControllerPrivate*::callAsync
    - static_cast<PlayerControllerPrivate*>
    - SharedTitleList::get
    - SharedTitleList
    - msg_Dbg
    - vlc_player_title_list_GetCount
    - vlc_player_title_list_GetAt
    linkageType: ''
    returnType: void
    signature: void on_player_titles_changed(vlc_player_t *, struct vlc_player_title_list
      *titles, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:667,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:668,1
    - Dst: PlayerControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:671,1
    - Dst: PlayerControllerPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:672,1
    - Dst: PlayerControllerPrivate*::m_chapterList::resetTitle
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:673,1
    - Dst: PlayerControllerPrivate*::m_titleList::setCurrent
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:674,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - new_title
    - new_idx
    - data
    argTypes:
    - struct vlc_player_title*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 682
    functionName: on_player_title_selection_changed
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - PlayerControllerPrivate*::m_chapterList::resetTitle
    - PlayerControllerPrivate*::callAsync
    - static_cast<PlayerControllerPrivate*>
    - PlayerControllerPrivate*::q_func
    - PlayerControllerPrivate*::m_titleList::setCurrent
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: "void on_player_title_selection_changed(vlc_player_t *,\n                                              const
      struct vlc_player_title *new_title, size_t new_idx, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:689,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:690,1
    - Dst: PlayerControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:691,1
    - Dst: PlayerControllerPrivate*::m_chapterList::setCurrent
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - chapter_idx
    - data
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 694
    functionName: on_player_chapter_selection_changed
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - PlayerControllerPrivate*::callAsync
    - static_cast<PlayerControllerPrivate*>
    - msg_Dbg
    - PlayerControllerPrivate*::m_chapterList::setCurrent
    linkageType: ''
    returnType: void
    signature: "void on_player_chapter_selection_changed(vlc_player_t *,\n                                                const
      struct vlc_player_title *, size_t,\n                                                const
      struct vlc_player_chapter *, size_t chapter_idx,\n                                                void
      *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:699,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:700,1
    - Dst: PlayerControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - has_teletext_menu
    - data
    argTypes:
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 705
    functionName: on_player_teletext_menu_changed
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - PlayerControllerPrivate*::callAsync
    - static_cast<PlayerControllerPrivate*>
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void on_player_teletext_menu_changed(vlc_player_t *, bool has_teletext_menu,
      void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:709,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:710,1
    - Dst: PlayerControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - enabled
    - data
    argTypes:
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 715
    functionName: on_player_teletext_enabled_changed
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - PlayerControllerPrivate*::callAsync
    - static_cast<PlayerControllerPrivate*>
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void on_player_teletext_enabled_changed(vlc_player_t *, bool enabled,
      void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:719,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:720,1
    - Dst: PlayerControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - new_page
    - data
    argTypes:
    - unsigned
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 725
    functionName: on_player_teletext_page_changed
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - PlayerControllerPrivate*::callAsync
    - static_cast<PlayerControllerPrivate*>
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void on_player_teletext_page_changed(vlc_player_t *, unsigned new_page,
      void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:729,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:730,1
    - Dst: PlayerControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - enabled
    - data
    argTypes:
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 735
    functionName: on_player_teletext_transparency_changed
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - PlayerControllerPrivate*::callAsync
    - static_cast<PlayerControllerPrivate*>
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void on_player_teletext_transparency_changed(vlc_player_t *, bool enabled,
      void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:741,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:742,1
    - Dst: PlayerControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:743,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - cat
    - new_delay
    - data
    argTypes:
    - enum es_format_category_e
    - vlc_tick_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 758
    functionName: on_player_category_delay_changed
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - PlayerControllerPrivate*::callAsync
    - static_cast<PlayerControllerPrivate*>
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: "void on_player_category_delay_changed(vlc_player_t *,\n                               enum
      es_format_category_e cat, vlc_tick_t new_delay,\n                               void
      *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:764,1
    - Dst: SharedEsId
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:765,1
    - Dst: PlayerControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:767,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - es_id
    - new_delay
    - data
    argTypes:
    - vlc_es_id_t*
    - vlc_tick_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 774
    functionName: on_player_track_delay_changed
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - PlayerControllerPrivate*::callAsync
    - static_cast<PlayerControllerPrivate*>
    - SharedEsId
    linkageType: ''
    returnType: void
    signature: "void on_player_track_delay_changed(vlc_player_t *,\n                                vlc_es_id_t
      *es_id, vlc_tick_t new_delay,\n                                void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:778,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:779,1
    - Dst: PlayerControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - subs_fps
    - data
    argTypes:
    - float
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 784
    functionName: on_player_associated_subs_fps_changed
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - PlayerControllerPrivate*::callAsync
    - static_cast<PlayerControllerPrivate*>
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void on_player_associated_subs_fps_changed(vlc_player_t *, float subs_fps,
      void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:788,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - new_item
    - data
    argTypes:
    - vlc_renderer_item_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 790
    functionName: on_player_renderer_changed
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void on_player_renderer_changed(vlc_player_t *, vlc_renderer_item_t
      *new_item, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:795,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:796,1
    - Dst: PlayerControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - recording
    - data
    argTypes:
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 793
    functionDepth: 1
    functionLinenumber: 793
    functionLinenumberEnd: 801
    functionName: on_player_record_changed
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - PlayerControllerPrivate*::callAsync
    - static_cast<PlayerControllerPrivate*>
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void on_player_record_changed(vlc_player_t *, bool recording, void
      *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:805,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:806,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:807,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - quality
    - strength
    - data
    argTypes:
    - float
    - float
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 803
    functionDepth: 1
    functionLinenumber: 803
    functionLinenumberEnd: 809
    functionName: on_player_signal_changed
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - static_cast<PlayerControllerPrivate*>
    - msg_Dbg
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void on_player_signal_changed(vlc_player_t *, float quality, float
      strength, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:813,1
    - Dst: PlayerControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - stats
    - data
    argTypes:
    - struct input_stats_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 819
    functionName: on_player_stats_changed
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - PlayerControllerPrivate*::callAsync
    - static_cast<PlayerControllerPrivate*>
    linkageType: ''
    returnType: void
    signature: void on_player_stats_changed(vlc_player_t *, const struct input_stats_t
      *stats, void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:823,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:824,1
    - Dst: PlayerControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:825,1
    - Dst: PlayerControllerPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:826,1
    - Dst: VLCTime
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:829,1
    - Dst: VLCTime
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:830,1
    - Dst: static_cast<PlayerController::ABLoopState>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:843,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - state
    - time
    - data
    argTypes:
    - enum vlc_player_abloop
    - vlc_tick_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 846
    functionName: on_player_atobloop_changed
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - VLCTime
    - static_cast<PlayerController::ABLoopState>
    - PlayerControllerPrivate*::callAsync
    - static_cast<PlayerControllerPrivate*>
    - PlayerControllerPrivate*::q_func
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void on_player_atobloop_changed(vlc_player_t *, enum vlc_player_abloop
      state, vlc_tick_t time, double, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:850,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:851,1
    - Dst: PlayerControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:855,1
    - Dst: PlayerControllerPrivate*::UpdateName
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:856,1
    - Dst: SharedInputItem::get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:856,1
    - Dst: PlayerControllerPrivate*::UpdateArt
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:857,1
    - Dst: SharedInputItem::get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:857,1
    - Dst: PlayerControllerPrivate*::UpdateMeta
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:858,1
    - Dst: SharedInputItem::get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:858,1
    - Dst: PlayerControllerPrivate*::UpdateInfo
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:859,1
    - Dst: SharedInputItem::get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - media
    - data
    argTypes:
    - input_item_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 861
    functionName: on_player_media_meta_changed
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - SharedInputItem::get
    - PlayerControllerPrivate*::UpdateArt
    - PlayerControllerPrivate*::UpdateInfo
    - PlayerControllerPrivate*::callAsync
    - static_cast<PlayerControllerPrivate*>
    - msg_Dbg
    - PlayerControllerPrivate*::UpdateMeta
    - PlayerControllerPrivate*::UpdateName
    linkageType: ''
    returnType: void
    signature: void on_player_media_meta_changed(vlc_player_t *, input_item_t *media,
      void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:865,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:866,1
    - Dst: PlayerControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 863
    functionDepth: 1
    functionLinenumber: 863
    functionLinenumberEnd: 870
    functionName: on_player_media_epg_changed
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - PlayerControllerPrivate*::callAsync
    - static_cast<PlayerControllerPrivate*>
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void on_player_media_epg_changed(vlc_player_t *, input_item_t *, void
      *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:874,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 872
    functionDepth: 1
    functionLinenumber: 872
    functionLinenumberEnd: 876
    functionName: on_player_subitems_changed
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - static_cast<PlayerControllerPrivate*>
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void on_player_subitems_changed(vlc_player_t *, input_item_t *, const
      input_item_node_t *, void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:882,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:883,1
    - Dst: vlc_es_id_GetCat
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:885,1
    - Dst: vlc_player_vout_HoldAll
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:891,1
    - Dst: vout_Release
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:895,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:896,1
    - Dst: PlayerControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:900,1
    - Dst: PlayerControllerPrivate*::UpdateVouts
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:901,1
    - Dst: std::shared_ptr::get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:901,1
    - Dst: SharedEsId
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:907,1
    - Dst: PlayerControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:908,1
    - Dst: PlayerControllerPrivate*::UpdateSpuOrder
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:909,1
    - Dst: SharedEsId::get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:909,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - player
    - action
    - order
    - es_id
    - data
    argTypes:
    - vlc_player_t*
    - enum vlc_player_vout_action
    - enum vlc_vout_order
    - vlc_es_id_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 916
    functionName: on_player_vout_changed
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - PlayerControllerPrivate*::UpdateSpuOrder
    - SharedEsId
    - PlayerControllerPrivate*::callAsync
    - std::shared_ptr::get
    - static_cast<PlayerControllerPrivate*>
    - PlayerControllerPrivate*::UpdateVouts
    - vlc_player_vout_HoldAll
    - free
    - SharedEsId::get
    - msg_Dbg
    - vout_Release
    - vlc_es_id_GetCat
    linkageType: ''
    returnType: void
    signature: "void on_player_vout_changed(vlc_player_t *player, enum vlc_player_vout_action
      action,\n    vout_thread_t *, enum vlc_vout_order order, vlc_es_id_t *es_id,
      void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:922,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:923,1
    - Dst: PlayerControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:926,1
    - Dst: PlayerControllerPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:927,1
    - Dst: PlayerController*::getVouts
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:928,1
    - Dst: PlayerController::VOutThreadList::size
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:930,1
    - Dst: SharedVOutThread::get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:930,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:930,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - vout
    - is_fullscreen
    - data
    argTypes:
    - vout_thread_t*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 936
    functionName: on_player_vout_fullscreen_changed
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - PlayerControllerPrivate*::callAsync
    - SharedVOutThread::get
    - PlayerController*::getVouts
    - static_cast<PlayerControllerPrivate*>
    - get
    - PlayerController::VOutThreadList::size
    - PlayerControllerPrivate*::q_func
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void on_player_vout_fullscreen_changed(vout_thread_t* vout, bool is_fullscreen,
      void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:940,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:941,1
    - Dst: PlayerControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:944,1
    - Dst: PlayerControllerPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:945,1
    - Dst: PlayerController*::getVouts
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:946,1
    - Dst: PlayerController::VOutThreadList::size
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:948,1
    - Dst: SharedVOutThread::get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:948,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:948,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - vout
    - enabled
    - data
    argTypes:
    - vout_thread_t*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 938
    functionDepth: 1
    functionLinenumber: 938
    functionLinenumberEnd: 954
    functionName: on_player_vout_wallpaper_mode_changed
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - PlayerControllerPrivate*::callAsync
    - SharedVOutThread::get
    - PlayerController*::getVouts
    - static_cast<PlayerControllerPrivate*>
    - get
    - PlayerController::VOutThreadList::size
    - PlayerControllerPrivate*::q_func
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void on_player_vout_wallpaper_mode_changed(vout_thread_t* vout, bool
      enabled, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:960,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:961,1
    - Dst: PlayerControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - volume
    - data
    argTypes:
    - float
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 958
    functionDepth: 1
    functionLinenumber: 958
    functionLinenumberEnd: 966
    functionName: on_player_aout_volume_changed
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - PlayerControllerPrivate*::callAsync
    - static_cast<PlayerControllerPrivate*>
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void on_player_aout_volume_changed(audio_output_t *, float volume,
      void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:970,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:971,1
    - Dst: PlayerControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - muted
    - data
    argTypes:
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 968
    functionDepth: 1
    functionLinenumber: 968
    functionLinenumberEnd: 976
    functionName: on_player_aout_mute_changed
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - PlayerControllerPrivate*::callAsync
    - static_cast<PlayerControllerPrivate*>
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void on_player_aout_mute_changed(audio_output_t *, bool muted, void
      *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:980,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 978
    functionDepth: 1
    functionLinenumber: 978
    functionLinenumberEnd: 982
    functionName: on_player_corks_changed
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - static_cast<PlayerControllerPrivate*>
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void on_player_corks_changed(vlc_player_t *, unsigned, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:986,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:987,1
    - Dst: PlayerControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 984
    functionDepth: 1
    functionLinenumber: 984
    functionLinenumberEnd: 992
    functionName: on_player_playback_restore_queried
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - PlayerControllerPrivate*::callAsync
    - static_cast<PlayerControllerPrivate*>
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void on_player_playback_restore_queried(vlc_player_t *, void *data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:997,1
    - Dst: PlayerControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1001,1
    - Dst: PlayerControllerPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1002,1
    - Dst: PlayerControllerPrivate*::m_length::toVLCTick
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1007,1
    - Dst: VLCDuration
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1009,1
    - Dst: VLCDuration
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1009,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1022,1
    - Dst: PlayerControllerPrivate*::interpolateTime
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1023,1
    - Dst: PlayerControllerPrivate*::m_position_timer::isActive
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1025,1
    - Dst: PlayerController*::updatePosition
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1027,1
    - Dst: PlayerControllerPrivate*::m_length::toVLCTick
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1037,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1037,1
    - Dst: PlayerControllerPrivate*::m_position_timer::start
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1041,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1041,1
    - Dst: PlayerController*::updateTime
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1044,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - point
    - data
    argTypes:
    - struct vlc_player_timer_point*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 994
    functionDepth: 1
    functionLinenumber: 994
    functionLinenumberEnd: 1048
    functionName: on_player_timer_update
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - PlayerControllerPrivate*::m_length::toVLCTick
    - vlc_tick_now
    - MS_FROM_VLC_TICK
    - PlayerControllerPrivate*::interpolateTime
    - PlayerControllerPrivate*::callAsync
    - PlayerController*::updateTime
    - static_cast<PlayerControllerPrivate*>
    - VLC_TICK_FROM_MS
    - PlayerControllerPrivate*::q_func
    - PlayerControllerPrivate*::m_position_timer::isActive
    - PlayerController*::updatePosition
    - VLCDuration
    - PlayerControllerPrivate*::m_position_timer::start
    linkageType: ''
    returnType: void
    signature: "void on_player_timer_update(const struct vlc_player_timer_point *point,\n
      \                                  void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1052,1
    - Dst: PlayerControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1053,1
    - Dst: PlayerControllerPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1054,1
    - Dst: PlayerControllerPrivate*::interpolateTime
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1057,1
    - Dst: PlayerController*::updatePosition
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1061,1
    - Dst: PlayerController*::updateTime
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1062,1
    - Dst: PlayerControllerPrivate*::m_position_timer::stop
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1066,1
    - Dst: PlayerControllerPrivate*::m_time_timer::stop
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1067,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - system_date
    - data
    argTypes:
    - vlc_tick_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1050
    functionDepth: 1
    functionLinenumber: 1050
    functionLinenumberEnd: 1069
    functionName: on_player_timer_paused
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - PlayerControllerPrivate*::interpolateTime
    - PlayerControllerPrivate*::m_position_timer::stop
    - PlayerControllerPrivate*::callAsync
    - PlayerController*::updateTime
    - static_cast<PlayerControllerPrivate*>
    - PlayerControllerPrivate*::q_func
    - PlayerController*::updatePosition
    - PlayerControllerPrivate*::m_time_timer::stop
    linkageType: ''
    returnType: void
    signature: void on_player_timer_paused(vlc_tick_t system_date, void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate*>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1074,1
    - Dst: PlayerControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1078,1
    - Dst: PlayerControllerPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1079,1
    - Dst: PlayerController*::updatePosition
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1087,1
    - Dst: PlayerController*::updateTime
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1088,1
    - Dst: PlayerControllerPrivate*::m_position_timer::stop
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1090,1
    - Dst: PlayerControllerPrivate*::m_time_timer::stop
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1091,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - point
    - data
    argTypes:
    - struct vlc_player_timer_point*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1071
    functionDepth: 1
    functionLinenumber: 1071
    functionLinenumberEnd: 1096
    functionName: on_player_timer_seek
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - PlayerControllerPrivate*::m_position_timer::stop
    - PlayerControllerPrivate*::callAsync
    - PlayerController*::updateTime
    - static_cast<PlayerControllerPrivate*>
    - PlayerControllerPrivate*::q_func
    - PlayerController*::updatePosition
    - PlayerControllerPrivate*::m_time_timer::stop
    linkageType: ''
    returnType: void
    signature: "void on_player_timer_seek(const struct vlc_player_timer_point *point,\n
      \                                void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlayerControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tc
    - data
    argTypes:
    - struct vlc_player_timer_smpte_timecode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1105
    functionName: on_player_timer_smpte_update
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - static_cast<PlayerControllerPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_player_timer_smpte_update(const struct vlc_player_timer_smpte_timecode
      *tc,\n                                         void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_preparser_req_GetItem
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1111,1
    - Dst: reinterpret_cast<PlayerControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1112,1
    - Dst: PlayerControllerPrivate*::onArtFetchEnded
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1113,1
    - Dst: input_item_IsArtFetched
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1113,1
    - Dst: vlc_preparser_req_Release
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - req
    - userdata
    argTypes:
    - vlc_preparser_req*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1108
    functionDepth: 1
    functionLinenumber: 1108
    functionLinenumberEnd: 1115
    functionName: on_preparse_ended_callback
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_preparser_req_GetItem
    - reinterpret_cast<PlayerControllerPrivate *>
    - input_item_IsArtFetched
    - PlayerControllerPrivate*::onArtFetchEnded
    - vlc_preparser_req_Release
    linkageType: ''
    returnType: void
    signature: "void on_preparse_ended_callback(vlc_preparser_req *req,\n                                       int,
      void *userdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_AddListener
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1218,1
    - Dst: vlc_player_aout_AddListener
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1219,1
    - Dst: vlc_player_vout_AddListener
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1220,1
    - Dst: vlc_player_AddTimer
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1221,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1221,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1224,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1225,1
    - Dst: setSingleShot
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1227,1
    - Dst: setTimerType
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1228,1
    - Dst: vlc_player_vout_IsFullscreen
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1231,1
    - Dst: vlc_player_aout_GetVolume
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - playercontroller
    - p_intf
    argTypes:
    - PlayerController*
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1192
    functionDepth: 2
    functionLinenumber: 1192
    functionLinenumberEnd: 1234
    functionName: PlayerControllerPrivate::PlayerControllerPrivate
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - setSingleShot
    - VLC_TICK_FROM_MS
    - vlc_player_AddTimer
    - vlc_player_aout_GetVolume
    - vlc_player_AddListener
    - setTimerType
    - vlc_player_vout_IsFullscreen
    - vlc_player_aout_AddListener
    - vlc_player_vout_AddListener
    - Disconnect
    linkageType: ''
    returnType: void
    signature: void PlayerControllerPrivate::PlayerControllerPrivate(PlayerController
      *playercontroller, qt_intf_t *p_intf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1238,1
    - Dst: vlc_player_AddSmpteTimer
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1241,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( !m_player_timer_smpte )
      pos:
        line_end: 1237
        line_start: 1237
        source_file: /src/vlc/modules/gui/qt/player/player_controller.cpp
    - condition: ( m_player_timer_smpte )
      pos:
        line_end: 1241
        line_start: 1241
        source_file: /src/vlc/modules/gui/qt/player/player_controller.cpp
    constantsTouched: []
    func_position:
      end: 1243
      start: 1236
    functionDepth: 1
    functionLinenumber: 1236
    functionLinenumberEnd: 1243
    functionName: PlayerControllerPrivate::addSMPTETimer
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - assert
    - vlc_player_AddSmpteTimer
    linkageType: ''
    returnType: void
    signature: void PlayerControllerPrivate::addSMPTETimer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1247,1
    - Dst: vlc_player_RemoveTimer
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( m_player_timer_smpte )
      pos:
        line_end: 1246
        line_start: 1246
        source_file: /src/vlc/modules/gui/qt/player/player_controller.cpp
    constantsTouched: []
    func_position:
      end: 1252
      start: 1245
    functionDepth: 1
    functionLinenumber: 1245
    functionLinenumberEnd: 1252
    functionName: PlayerControllerPrivate::removeSMPTETimer
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - assert
    - vlc_player_RemoveTimer
    linkageType: ''
    returnType: void
    signature: void PlayerControllerPrivate::removeSMPTETimer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlayerControllerPrivate::PlayerControllerPrivate
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1256,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1258,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _p_intf
    argTypes:
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1260
    functionName: PlayerController::PlayerController
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 1
    functionsReached:
    - connect
    - PlayerControllerPrivate::PlayerControllerPrivate
    linkageType: ''
    returnType: void
    signature: void PlayerController::PlayerController( qt_intf_t *_p_intf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1264
    functionName: PlayerController::~PlayerController()
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlayerController::~PlayerController()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1268
    functionDepth: 0
    functionLinenumber: 1268
    functionLinenumberEnd: 1273
    functionName: PlayerController::getPlayer
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_player_t
    signature: vlc_player_t * PlayerController::getPlayer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_GetCurrentMedia
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1275
    functionDepth: 1
    functionLinenumber: 1275
    functionLinenumberEnd: 1280
    functionName: PlayerController::getInput
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_player_GetCurrentMedia
    linkageType: ''
    returnType: input_item_t
    signature: input_item_t *PlayerController::getInput() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_IsStarted
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1282
    functionDepth: 1
    functionLinenumber: 1282
    functionLinenumberEnd: 1287
    functionName: PlayerController::isStarted
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_player_IsStarted
    linkageType: ''
    returnType: bool
    signature: bool PlayerController::isStarted() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlayerController::getInput
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1289
    functionDepth: 2
    functionLinenumber: 1289
    functionLinenumberEnd: 1292
    functionName: PlayerController::hasInput
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - PlayerController::getInput
    linkageType: ''
    returnType: bool
    signature: bool PlayerController::hasInput() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1296,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1297,1
    - Dst: vlc_player_CanChangeRate
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1299,1
    - Dst: vlc_player_GetRate
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1301,1
    - Dst: vlc_player_ChangeRate
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1294
    functionDepth: 1
    functionLinenumber: 1294
    functionLinenumberEnd: 1304
    functionName: PlayerController::reverse
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_player_GetRate
    - vlc_player_ChangeRate
    - msg_Dbg
    - vlc_player_CanChangeRate
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlayerController::reverse()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1308,1
    - Dst: qFuzzyCompare
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1310,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1313,1
    - Dst: vlc_player_CanChangeRate
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1315,1
    - Dst: vlc_player_ChangeRate
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - new_rate
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1306
    functionDepth: 1
    functionLinenumber: 1306
    functionLinenumberEnd: 1326
    functionName: PlayerController::setRate
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - qFuzzyCompare
    - vlc_player_ChangeRate
    - msg_Dbg
    - vlc_player_CanChangeRate
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlayerController::setRate( float new_rate )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1330,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1331,1
    - Dst: vlc_player_CanChangeRate
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1333,1
    - Dst: vlc_player_DecrementRate
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1328
    functionDepth: 1
    functionLinenumber: 1328
    functionLinenumberEnd: 1335
    functionName: PlayerController::slower
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_player_CanChangeRate
    - vlc_player_DecrementRate
    - msg_Dbg
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlayerController::slower()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1339,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1340,1
    - Dst: vlc_player_CanChangeRate
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1342,1
    - Dst: vlc_player_IncrementRate
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1337
    functionDepth: 1
    functionLinenumber: 1337
    functionLinenumberEnd: 1344
    functionName: PlayerController::faster
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_player_CanChangeRate
    - vlc_player_IncrementRate
    - msg_Dbg
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlayerController::faster()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1348,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1349,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1350,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1346
    functionDepth: 1
    functionLinenumber: 1346
    functionLinenumberEnd: 1351
    functionName: PlayerController::littlefaster
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - var_SetInteger
    - vlc_object_instance
    - msg_Dbg
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlayerController::littlefaster()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1355,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1356,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1357,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1353
    functionDepth: 1
    functionLinenumber: 1353
    functionLinenumberEnd: 1358
    functionName: PlayerController::littleslower
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - var_SetInteger
    - vlc_object_instance
    - msg_Dbg
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlayerController::littleslower()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1362,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1363,1
    - Dst: vlc_player_CanChangeRate
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1365,1
    - Dst: vlc_player_ChangeRate
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1360
    functionDepth: 1
    functionLinenumber: 1360
    functionLinenumberEnd: 1367
    functionName: PlayerController::normalRate
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_player_CanChangeRate
    - vlc_player_ChangeRate
    - msg_Dbg
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlayerController::normalRate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1372,1
    - Dst: isCurrentItemSynced
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1374,1
    - Dst: vlc_player_SetTime
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1376,1
    - Dst: VLCTime::toVLCTick
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - new_time
    argTypes:
    - VLCTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1370
    functionDepth: 1
    functionLinenumber: 1370
    functionLinenumberEnd: 1377
    functionName: PlayerController::setTime
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_player_SetTime
    - isCurrentItemSynced
    - Q_D
    - VLCTime::toVLCTick
    linkageType: ''
    returnType: void
    signature: void PlayerController::setTime(VLCTime new_time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1381,1
    - Dst: qFuzzyCompare
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1382,1
    - Dst: isCurrentItemSynced
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1386,1
    - Dst: vlc_player_SetPosition
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - position
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1379
    functionDepth: 1
    functionLinenumber: 1379
    functionLinenumberEnd: 1389
    functionName: PlayerController::setPosition
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - qFuzzyCompare
    - isCurrentItemSynced
    - vlc_player_SetPosition
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlayerController::setPosition(double position)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1393,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1394,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1395,1
    - Dst: isCurrentItemSynced
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1397,1
    - Dst: vlc_player_JumpTime
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1399,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1391
    functionDepth: 1
    functionLinenumber: 1391
    functionLinenumberEnd: 1400
    functionName: PlayerController::jumpFwd
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - var_InheritInteger
    - Q_D
    - isCurrentItemSynced
    - vlc_tick_from_sec
    - msg_Dbg
    - vlc_player_JumpTime
    linkageType: ''
    returnType: void
    signature: void PlayerController::jumpFwd()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1404,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1405,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1406,1
    - Dst: isCurrentItemSynced
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1408,1
    - Dst: vlc_player_JumpTime
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1410,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1402
    functionDepth: 1
    functionLinenumber: 1402
    functionLinenumberEnd: 1411
    functionName: PlayerController::jumpBwd
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - var_InheritInteger
    - Q_D
    - isCurrentItemSynced
    - vlc_tick_from_sec
    - msg_Dbg
    - vlc_player_JumpTime
    linkageType: ''
    returnType: void
    signature: void PlayerController::jumpBwd()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1415,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1416,1
    - Dst: isCurrentItemSynced
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1418,1
    - Dst: vlc_player_JumpTime
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1420,1
    - Dst: VLCTime::toVLCTick
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - i_time
    argTypes:
    - VLCTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1413
    functionDepth: 1
    functionLinenumber: 1413
    functionLinenumberEnd: 1421
    functionName: PlayerController::jumpTime
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - VLCTime::toVLCTick
    - isCurrentItemSynced
    - Q_D
    - msg_Dbg
    - vlc_player_JumpTime
    linkageType: ''
    returnType: void
    signature: void PlayerController::jumpTime(VLCTime i_time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1425,1
    - Dst: isCurrentItemSynced
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1428,1
    - Dst: vlc_player_IsStarted
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1430,1
    - Dst: vlc_player_SetPosition
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - new_pos
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1434
      start: 1423
    functionDepth: 1
    functionLinenumber: 1423
    functionLinenumberEnd: 1434
    functionName: PlayerController::jumpToPos
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - isCurrentItemSynced
    - vlc_player_IsStarted
    - Q_D
    - vlc_player_SetPosition
    linkageType: ''
    returnType: void
    signature: void PlayerController::jumpToPos( double new_pos )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1438,1
    - Dst: isCurrentItemSynced
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1440,1
    - Dst: vlc_player_NextVideoFrame
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1443
      start: 1436
    functionDepth: 1
    functionLinenumber: 1436
    functionLinenumberEnd: 1443
    functionName: PlayerController::frameNext
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - isCurrentItemSynced
    - vlc_player_NextVideoFrame
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlayerController::frameNext()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1447,1
    - Dst: isCurrentItemSynced
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1449,1
    - Dst: vlc_player_PreviousVideoFrame
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1445
    functionDepth: 1
    functionLinenumber: 1445
    functionLinenumberEnd: 1452
    functionName: PlayerController::framePrev
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - isCurrentItemSynced
    - vlc_player_PreviousVideoFrame
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlayerController::framePrev()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1458,1
    - Dst: isCurrentItemSynced
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1460,1
    - Dst: vlc_player_SetAudioDelay
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1462,1
    - Dst: VLCDuration::toVLCTick
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - delay
    argTypes:
    - VLCDuration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1456
    functionDepth: 1
    functionLinenumber: 1456
    functionLinenumberEnd: 1463
    functionName: PlayerController::setAudioDelay
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - isCurrentItemSynced
    - vlc_player_SetAudioDelay
    - Q_D
    - VLCDuration::toVLCTick
    linkageType: ''
    returnType: void
    signature: void PlayerController::setAudioDelay(VLCDuration delay)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1467,1
    - Dst: vlc_player_SetAudioDelay
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1469,1
    - Dst: VLCDuration::toVLCTick
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - delay
    argTypes:
    - VLCDuration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1465
    functionDepth: 1
    functionLinenumber: 1465
    functionLinenumberEnd: 1471
    functionName: PlayerController::addAudioDelay
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_player_SetAudioDelay
    - Q_D
    - VLCDuration::toVLCTick
    linkageType: ''
    returnType: void
    signature: void PlayerController::addAudioDelay(VLCDuration delay)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1475,1
    - Dst: isCurrentItemSynced
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1477,1
    - Dst: vlc_player_SetSubtitleDelay
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1479,1
    - Dst: VLCDuration::toVLCTick
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - delay
    argTypes:
    - VLCDuration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1473
    functionDepth: 1
    functionLinenumber: 1473
    functionLinenumberEnd: 1480
    functionName: PlayerController::setSubtitleDelay
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - isCurrentItemSynced
    - vlc_player_SetSubtitleDelay
    - Q_D
    - VLCDuration::toVLCTick
    linkageType: ''
    returnType: void
    signature: void PlayerController::setSubtitleDelay(VLCDuration delay)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1484,1
    - Dst: vlc_player_SetSubtitleDelay
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1486,1
    - Dst: VLCDuration::toVLCTick
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - delay
    argTypes:
    - VLCDuration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1488
      start: 1482
    functionDepth: 1
    functionLinenumber: 1482
    functionLinenumberEnd: 1488
    functionName: PlayerController::addSubtitleDelay
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_player_SetSubtitleDelay
    - Q_D
    - VLCDuration::toVLCTick
    linkageType: ''
    returnType: void
    signature: void PlayerController::addSubtitleDelay(VLCDuration delay)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1492,1
    - Dst: isCurrentItemSynced
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1494,1
    - Dst: m_secondarySpuEsId::get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1496,1
    - Dst: vlc_player_SetEsIdDelay
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1497,1
    - Dst: m_secondarySpuEsId::get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1497,1
    - Dst: VLCDuration::toVLCTick
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - delay
    argTypes:
    - VLCDuration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1490
    functionDepth: 1
    functionLinenumber: 1490
    functionLinenumberEnd: 1499
    functionName: PlayerController::setSecondarySubtitleDelay
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - m_secondarySpuEsId::get
    - isCurrentItemSynced
    - vlc_player_SetEsIdDelay
    - VLCDuration::toVLCTick
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlayerController::setSecondarySubtitleDelay(VLCDuration delay)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1503,1
    - Dst: m_secondarySpuEsId::get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1505,1
    - Dst: vlc_player_SetEsIdDelay
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1506,1
    - Dst: m_secondarySpuEsId::get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1506,1
    - Dst: VLCDuration::toVLCTick
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - delay
    argTypes:
    - VLCDuration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1501
    functionDepth: 1
    functionLinenumber: 1501
    functionLinenumberEnd: 1510
    functionName: PlayerController::addSecondarySubtitleDelay
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_player_SetEsIdDelay
    - m_secondarySpuEsId::get
    - Q_D
    - VLCDuration::toVLCTick
    linkageType: ''
    returnType: void
    signature: void PlayerController::addSecondarySubtitleDelay(VLCDuration delay)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAudioDelay
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1515
    functionName: PlayerController::getAudioDelayMS
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - getAudioDelay
    linkageType: ''
    returnType: int
    signature: int PlayerController::getAudioDelayMS() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlayerController::setAudioDelay
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1519,1
    - Dst: VLCDuration::fromMS
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1517
    functionDepth: 2
    functionLinenumber: 1517
    functionLinenumberEnd: 1520
    functionName: PlayerController::setAudioDelayMS
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - VLCDuration::fromMS
    - PlayerController::setAudioDelay
    linkageType: ''
    returnType: void
    signature: void PlayerController::setAudioDelayMS(int ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubtitleDelay
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1525
      start: 1522
    functionDepth: 0
    functionLinenumber: 1522
    functionLinenumberEnd: 1525
    functionName: PlayerController::getSubtitleDelayMS
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - getSubtitleDelay
    linkageType: ''
    returnType: int
    signature: int PlayerController::getSubtitleDelayMS() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlayerController::setSubtitleDelay
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1529,1
    - Dst: VLCDuration::fromMS
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1527
    functionDepth: 2
    functionLinenumber: 1527
    functionLinenumberEnd: 1530
    functionName: PlayerController::setSubtitleDelayMS
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - VLCDuration::fromMS
    - PlayerController::setSubtitleDelay
    linkageType: ''
    returnType: void
    signature: void PlayerController::setSubtitleDelayMS(int ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSecondarySubtitleDelay
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1535
    functionName: PlayerController::getSecondarySubtitleDelayMS
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - getSecondarySubtitleDelay
    linkageType: ''
    returnType: int
    signature: int PlayerController::getSecondarySubtitleDelayMS() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlayerController::setSecondarySubtitleDelay
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1539,1
    - Dst: VLCDuration::fromMS
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1537
    functionDepth: 2
    functionLinenumber: 1537
    functionLinenumberEnd: 1540
    functionName: PlayerController::setSecondarySubtitleDelayMS
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - PlayerController::setSecondarySubtitleDelay
    - VLCDuration::fromMS
    linkageType: ''
    returnType: void
    signature: void PlayerController::setSecondarySubtitleDelayMS(int ms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1544,1
    - Dst: isCurrentItemSynced
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1546,1
    - Dst: vlc_player_SetAssociatedSubsFPS
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fps
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1542
    functionDepth: 1
    functionLinenumber: 1542
    functionLinenumberEnd: 1549
    functionName: PlayerController::setSubtitleFPS
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - isCurrentItemSynced
    - Q_D
    - vlc_player_SetAssociatedSubsFPS
    linkageType: ''
    returnType: void
    signature: void PlayerController::setSubtitleFPS(float fps)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1555,1
    - Dst: isCurrentItemSynced
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1557,1
    - Dst: vlc_player_IsStarted
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1559,1
    - Dst: vlc_player_GetSelectedChapter
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1561,1
    - Dst: vlc_player_SelectPrevChapter
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1562,1
    - Dst: vlc_player_SelectPrevTitle
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1564,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1553
    functionDepth: 1
    functionLinenumber: 1553
    functionLinenumberEnd: 1566
    functionName: PlayerController::sectionPrev
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_player_SelectPrevChapter
    - isCurrentItemSynced
    - vlc_player_GetSelectedChapter
    - vlc_player_IsStarted
    - Q_D
    - vlc_player_SelectPrevTitle
    linkageType: ''
    returnType: void
    signature: void PlayerController::sectionPrev()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1570,1
    - Dst: isCurrentItemSynced
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1572,1
    - Dst: vlc_player_IsStarted
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1574,1
    - Dst: vlc_player_GetSelectedChapter
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1576,1
    - Dst: vlc_player_SelectNextChapter
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1577,1
    - Dst: vlc_player_SelectNextTitle
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1579,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1568
    functionDepth: 1
    functionLinenumber: 1568
    functionLinenumberEnd: 1581
    functionName: PlayerController::sectionNext
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_player_SelectNextTitle
    - isCurrentItemSynced
    - vlc_player_GetSelectedChapter
    - vlc_player_SelectNextChapter
    - vlc_player_IsStarted
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlayerController::sectionNext()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1585,1
    - Dst: isCurrentItemSynced
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1587,1
    - Dst: vlc_player_IsStarted
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1589,1
    - Dst: vlc_player_Navigate
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1591
      start: 1583
    functionDepth: 1
    functionLinenumber: 1583
    functionLinenumberEnd: 1591
    functionName: PlayerController::sectionMenu
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - isCurrentItemSynced
    - vlc_player_IsStarted
    - Q_D
    - vlc_player_Navigate
    linkageType: ''
    returnType: void
    signature: void PlayerController::sectionMenu()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1595,1
    - Dst: isCurrentItemSynced
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1597,1
    - Dst: vlc_player_IsStarted
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1599,1
    - Dst: vlc_player_Navigate
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1600,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1601
      start: 1593
    functionDepth: 1
    functionLinenumber: 1593
    functionLinenumberEnd: 1601
    functionName: PlayerController::navigateUp
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - isCurrentItemSynced
    - vlc_player_IsStarted
    - Q_D
    - vlc_player_Navigate
    linkageType: ''
    returnType: void
    signature: void PlayerController::navigateUp()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1605,1
    - Dst: isCurrentItemSynced
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1607,1
    - Dst: vlc_player_IsStarted
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1609,1
    - Dst: vlc_player_Navigate
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1611
      start: 1603
    functionDepth: 1
    functionLinenumber: 1603
    functionLinenumberEnd: 1611
    functionName: PlayerController::navigateDown
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - isCurrentItemSynced
    - vlc_player_IsStarted
    - Q_D
    - vlc_player_Navigate
    linkageType: ''
    returnType: void
    signature: void PlayerController::navigateDown()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1615,1
    - Dst: isCurrentItemSynced
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1617,1
    - Dst: vlc_player_IsStarted
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1619,1
    - Dst: vlc_player_Navigate
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1620,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1613
    functionDepth: 1
    functionLinenumber: 1613
    functionLinenumberEnd: 1621
    functionName: PlayerController::navigateLeft
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - isCurrentItemSynced
    - vlc_player_IsStarted
    - Q_D
    - vlc_player_Navigate
    linkageType: ''
    returnType: void
    signature: void PlayerController::navigateLeft()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1625,1
    - Dst: isCurrentItemSynced
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1627,1
    - Dst: vlc_player_IsStarted
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1629,1
    - Dst: vlc_player_Navigate
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1630,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1631
      start: 1623
    functionDepth: 1
    functionLinenumber: 1623
    functionLinenumberEnd: 1631
    functionName: PlayerController::navigateRight
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - isCurrentItemSynced
    - vlc_player_IsStarted
    - Q_D
    - vlc_player_Navigate
    linkageType: ''
    returnType: void
    signature: void PlayerController::navigateRight()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1635,1
    - Dst: isCurrentItemSynced
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1637,1
    - Dst: vlc_player_IsStarted
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1639,1
    - Dst: vlc_player_Navigate
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1640,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1633
    functionDepth: 1
    functionLinenumber: 1633
    functionLinenumberEnd: 1641
    functionName: PlayerController::navigateActivate
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - isCurrentItemSynced
    - vlc_player_IsStarted
    - Q_D
    - vlc_player_Navigate
    linkageType: ''
    returnType: void
    signature: void PlayerController::navigateActivate()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1645,1
    - Dst: isCurrentItemSynced
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1647,1
    - Dst: vlc_player_IsStarted
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1649,1
    - Dst: vlc_player_SelectNextChapter
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1650,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1651
      start: 1643
    functionDepth: 1
    functionLinenumber: 1643
    functionLinenumberEnd: 1651
    functionName: PlayerController::chapterNext
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - isCurrentItemSynced
    - vlc_player_IsStarted
    - vlc_player_SelectNextChapter
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlayerController::chapterNext()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1655,1
    - Dst: isCurrentItemSynced
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1657,1
    - Dst: vlc_player_IsStarted
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1659,1
    - Dst: vlc_player_SelectPrevChapter
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1660,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1653
    functionDepth: 1
    functionLinenumber: 1653
    functionLinenumberEnd: 1661
    functionName: PlayerController::chapterPrev
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - isCurrentItemSynced
    - vlc_player_IsStarted
    - vlc_player_SelectPrevChapter
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlayerController::chapterPrev()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1665,1
    - Dst: isCurrentItemSynced
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1667,1
    - Dst: vlc_player_IsStarted
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1669,1
    - Dst: vlc_player_SelectNextTitle
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1670,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1663
    functionDepth: 1
    functionLinenumber: 1663
    functionLinenumberEnd: 1671
    functionName: PlayerController::titleNext
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - isCurrentItemSynced
    - vlc_player_IsStarted
    - Q_D
    - vlc_player_SelectNextTitle
    linkageType: ''
    returnType: void
    signature: void PlayerController::titleNext()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1675,1
    - Dst: isCurrentItemSynced
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1677,1
    - Dst: vlc_player_IsStarted
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1679,1
    - Dst: vlc_player_SelectPrevTitle
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1680,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1673
    functionDepth: 1
    functionLinenumber: 1673
    functionLinenumberEnd: 1681
    functionName: PlayerController::titlePrev
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - isCurrentItemSynced
    - vlc_player_IsStarted
    - Q_D
    - vlc_player_SelectPrevTitle
    linkageType: ''
    returnType: void
    signature: void PlayerController::titlePrev()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1687,1
    - Dst: isCurrentItemSynced
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1689,1
    - Dst: vlc_player_IsStarted
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1691,1
    - Dst: vlc_player_SelectProgram
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1692,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - program
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1685
    functionDepth: 1
    functionLinenumber: 1685
    functionLinenumberEnd: 1693
    functionName: PlayerController::changeProgram
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_player_SelectProgram
    - isCurrentItemSynced
    - vlc_player_IsStarted
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlayerController::changeProgram( int program )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1700,1
    - Dst: isCurrentItemSynced
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1702,1
    - Dst: vlc_player_IsStarted
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1704,1
    - Dst: vlc_player_SetTeletextEnabled
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1705,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - enable
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1706
      start: 1698
    functionDepth: 1
    functionLinenumber: 1698
    functionLinenumberEnd: 1706
    functionName: PlayerController::enableTeletext
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - isCurrentItemSynced
    - vlc_player_IsStarted
    - Q_D
    - vlc_player_SetTeletextEnabled
    linkageType: ''
    returnType: void
    signature: void PlayerController::enableTeletext( bool enable )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1710,1
    - Dst: isCurrentItemSynced
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1712,1
    - Dst: vlc_player_IsTeletextEnabled
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1714,1
    - Dst: vlc_player_SelectTeletextPage
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1715,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - page
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1708
    functionDepth: 1
    functionLinenumber: 1708
    functionLinenumberEnd: 1716
    functionName: PlayerController::setTeletextPage
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - isCurrentItemSynced
    - vlc_player_SelectTeletextPage
    - Q_D
    - vlc_player_IsTeletextEnabled
    linkageType: ''
    returnType: void
    signature: void PlayerController::setTeletextPage(int page)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1720,1
    - Dst: isCurrentItemSynced
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1722,1
    - Dst: vlc_player_IsTeletextEnabled
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1724,1
    - Dst: vlc_player_SetTeletextTransparency
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1725,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - transparent
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1726
      start: 1718
    functionDepth: 1
    functionLinenumber: 1718
    functionLinenumberEnd: 1726
    functionName: PlayerController::setTeletextTransparency
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - isCurrentItemSynced
    - Q_D
    - vlc_player_SetTeletextTransparency
    - vlc_player_IsTeletextEnabled
    linkageType: ''
    returnType: void
    signature: void PlayerController::setTeletextTransparency( bool transparent )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_IsStarted
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1738,1
    - Dst: vlc_player_vout_HoldAll
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1741,1
    - Dst: VOutThreadList::reserve
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1745,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1748,1
    - Dst: VOutThreadList::append
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1750,1
    - Dst: SharedVOutThread
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1750,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1752,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( pp_vout[i] )
      pos:
        line_end: 1747
        line_start: 1747
        source_file: /src/vlc/modules/gui/qt/player/player_controller.cpp
    constantsTouched: []
    func_position:
      end: 1755
      start: 1730
    functionDepth: 1
    functionLinenumber: 1730
    functionLinenumberEnd: 1755
    functionName: PlayerController::getVouts
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - assert
    - vlc_player_vout_HoldAll
    - SharedVOutThread
    - free
    - VOutThreadList::reserve
    - VOutThreadList::append
    - vlc_player_IsStarted
    linkageType: ''
    returnType: PlayerController::VOutThreadList
    signature: PlayerController::VOutThreadList PlayerController::getVouts() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1759,1
    - Dst: vlc_player_vout_Hold
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1761,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1757
    functionDepth: 1
    functionLinenumber: 1757
    functionLinenumberEnd: 1765
    functionName: PlayerController::getVout
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_player_vout_Hold
    - Q_D
    linkageType: ''
    returnType: SharedVOutThread
    signature: SharedVOutThread PlayerController::getVout()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1769,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1770,1
    - Dst: vlc_player_vout_SetFullscreen
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - new_val
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1773
      start: 1767
    functionDepth: 1
    functionLinenumber: 1767
    functionLinenumberEnd: 1773
    functionName: PlayerController::setFullscreen
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_player_vout_SetFullscreen
    - msg_Dbg
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlayerController::setFullscreen( bool new_val )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1777,1
    - Dst: PlayerController::setFullscreen
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1779
      start: 1775
    functionDepth: 2
    functionLinenumber: 1775
    functionLinenumberEnd: 1779
    functionName: PlayerController::toggleFullscreen
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    - PlayerController::setFullscreen
    linkageType: ''
    returnType: void
    signature: void PlayerController::toggleFullscreen()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1783,1
    - Dst: vlc_player_vout_SetWallpaperModeEnabled
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - new_val
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1781
    functionDepth: 1
    functionLinenumber: 1781
    functionLinenumberEnd: 1786
    functionName: PlayerController::setWallpaperMode
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_player_vout_SetWallpaperModeEnabled
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlayerController::setWallpaperMode( bool new_val )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_autoscale::getValue
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1792
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1792
    functionName: PlayerController::getAutoscale
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - m_autoscale::getValue
    linkageType: ''
    returnType: bool
    signature: bool PlayerController::getAutoscale( ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1796,1
    - Dst: m_autoscale::setValue
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - new_val
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1794
    functionDepth: 0
    functionLinenumber: 1794
    functionLinenumberEnd: 1798
    functionName: PlayerController::setAutoscale
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - m_autoscale::setValue
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlayerController::setAutoscale( bool new_val )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1804,1
    - Dst: SharedAOut
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1806,1
    - Dst: vlc_player_aout_Hold
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1807
      start: 1802
    functionDepth: 1
    functionLinenumber: 1802
    functionLinenumberEnd: 1807
    functionName: PlayerController::getAout
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_player_aout_Hold
    - Q_D
    - SharedAOut
    linkageType: ''
    returnType: SharedAOut
    signature: SharedAOut PlayerController::getAout()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1811,1
    - Dst: vlc_player_aout_SetVolume
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - volume
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1814
      start: 1809
    functionDepth: 1
    functionLinenumber: 1809
    functionLinenumberEnd: 1814
    functionName: PlayerController::setVolume
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_player_aout_SetVolume
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlayerController::setVolume(float volume)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1818,1
    - Dst: vlc_player_aout_IncrementVolume
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - steps
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1821
      start: 1816
    functionDepth: 1
    functionLinenumber: 1816
    functionLinenumberEnd: 1821
    functionName: PlayerController::setVolumeUp
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    - vlc_player_aout_IncrementVolume
    linkageType: ''
    returnType: void
    signature: void PlayerController::setVolumeUp(int steps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1825,1
    - Dst: vlc_player_aout_DecrementVolume
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - steps
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1823
    functionDepth: 1
    functionLinenumber: 1823
    functionLinenumberEnd: 1828
    functionName: PlayerController::setVolumeDown
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_player_aout_DecrementVolume
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlayerController::setVolumeDown(int steps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1832,1
    - Dst: vlc_player_aout_Mute
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1836,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - muted
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1837
      start: 1830
    functionDepth: 1
    functionLinenumber: 1830
    functionLinenumberEnd: 1837
    functionName: PlayerController::setMuted
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_player_aout_Mute
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlayerController::setMuted(bool muted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1841,1
    - Dst: PlayerController::setMuted
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1839
    functionDepth: 2
    functionLinenumber: 1839
    functionLinenumberEnd: 1843
    functionName: PlayerController::toggleMuted
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - PlayerController::setMuted
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlayerController::toggleMuted()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_audioVisualization::hasCurrent
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1849
      start: 1845
    functionDepth: 0
    functionLinenumber: 1845
    functionLinenumberEnd: 1849
    functionName: PlayerController::hasAudioVisualization
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - m_audioVisualization::hasCurrent
    linkageType: ''
    returnType: bool
    signature: bool PlayerController::hasAudioVisualization() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1858
      start: 1851
    functionDepth: 0
    functionLinenumber: 1851
    functionLinenumberEnd: 1858
    functionName: PlayerController::updatePosition
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlayerController::updatePosition()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1862,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1864,1
    - Dst: interpolateTime
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1865,1
    - Dst: PlayerController::updatePosition
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1860
    functionDepth: 1
    functionLinenumber: 1860
    functionLinenumberEnd: 1867
    functionName: PlayerController::updatePositionFromTimer
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - PlayerController::updatePosition
    - vlc_tick_now
    - interpolateTime
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlayerController::updatePositionFromTimer()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1871,1
    - Dst: m_time::valid
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1875,1
    - Dst: m_length::valid
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1875,1
    - Dst: VLCTime
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1875,1
    - Dst: VLCTime
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1876,1
    - Dst: VLCDuration
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1878,1
    - Dst: m_syltRaw::has_value
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1881,1
    - Dst: m_time::valid
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1881,1
    - Dst: syltLyrics
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1883,1
    - Dst: m_time::toVLCTick
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1885,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1887,1
    - Dst: time
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1889,1
    - Dst: m_time_timer::isActive
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1904,1
    - Dst: vlc_player_timer_point_GetNextIntervalDate
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1908,1
    - Dst: m_time::toVLCTick
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1909,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1909,1
    - Dst: m_time_timer::start
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1921,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1921,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 2
    argNames:
    - system_now
    - forceUpdate
    argTypes:
    - vlc_tick_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1869
    functionDepth: 1
    functionLinenumber: 1869
    functionLinenumberEnd: 1925
    functionName: PlayerController::updateTime
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - VLCTime
    - m_time::valid
    - m_time_timer::start
    - MS_FROM_VLC_TICK
    - m_time_timer::isActive
    - VLC_TICK_FROM_SEC
    - size
    - syltLyrics
    - m_length::valid
    - time
    - m_syltRaw::has_value
    - VLCDuration
    - vlc_player_timer_point_GetNextIntervalDate
    - m_time::toVLCTick
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlayerController::updateTime(vlc_tick_t system_now, bool forceUpdate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1929,1
    - Dst: DialogsProvider::getInstance
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1931,1
    - Dst: auto::isLoaded
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1932,1
    - Dst: auto::loadExtensions
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1933,1
    - Dst: auto::openVLsub
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1935,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1936
      start: 1927
    functionDepth: 1
    functionLinenumber: 1927
    functionLinenumberEnd: 1936
    functionName: PlayerController::openVLsub
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - auto::loadExtensions
    - Q_D
    - DialogsProvider::getInstance
    - auto::openVLsub
    - auto::isLoaded
    linkageType: ''
    returnType: void
    signature: void PlayerController::openVLsub()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1940,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1942,1
    - Dst: interpolateTime
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1943,1
    - Dst: PlayerController::updateTime
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1944,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1945
      start: 1938
    functionDepth: 2
    functionLinenumber: 1938
    functionLinenumberEnd: 1945
    functionName: PlayerController::updateTimeFromTimer
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - interpolateTime
    - Q_D
    - PlayerController::updateTime
    linkageType: ''
    returnType: void
    signature: void PlayerController::updateTimeFromTimer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1949,1
    - Dst: isCurrentItemSynced
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1951,1
    - Dst: vlc_player_RestorePlaybackPos
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1953,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1954
      start: 1947
    functionDepth: 1
    functionLinenumber: 1947
    functionLinenumberEnd: 1954
    functionName: PlayerController::restorePlaybackPos
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - isCurrentItemSynced
    - vlc_player_RestorePlaybackPos
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlayerController::restorePlaybackPos()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1958,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1956
    functionDepth: 0
    functionLinenumber: 1956
    functionLinenumberEnd: 1963
    functionName: PlayerController::acknowledgeRestoreCallback
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlayerController::acknowledgeRestoreCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1969,1
    - Dst: vlc_player_SetAtoBLoop
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1971,1
    - Dst: static_cast<vlc_player_abloop>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - ABLoopState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1972
      start: 1967
    functionDepth: 1
    functionLinenumber: 1967
    functionLinenumberEnd: 1972
    functionName: PlayerController::setABloopState
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - static_cast<vlc_player_abloop>
    - vlc_player_SetAtoBLoop
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlayerController::setABloopState(ABLoopState state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1976,1
    - Dst: PlayerController::setABloopState
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1979,1
    - Dst: PlayerController::setABloopState
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1982,1
    - Dst: PlayerController::setABloopState
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1985,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1988
      start: 1974
    functionDepth: 2
    functionLinenumber: 1974
    functionLinenumberEnd: 1988
    functionName: PlayerController::toggleABloopState
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - PlayerController::setABloopState
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlayerController::toggleABloopState()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1992,1
    - Dst: PlayerController::setRecording
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1994
      start: 1990
    functionDepth: 1
    functionLinenumber: 1990
    functionLinenumberEnd: 1994
    functionName: PlayerController::toggleRecord
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - PlayerController::setRecording
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlayerController::toggleRecord()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:1998,1
    - Dst: m_audioVisualization::rowCount
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2000,1
    - Dst: m_audioVisualization::hasCurrent
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2003,1
    - Dst: m_audioVisualization::currentRow
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2004,1
    - Dst: rand
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2006,1
    - Dst: m_audioVisualization::rowCount
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2006,1
    - Dst: m_audioVisualization::setData
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2007,1
    - Dst: m_audioVisualization::index
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2007,1
    - Dst: QVariant::fromValue<bool>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2008,1
    - Dst: m_audioVisualization::setData
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2013,1
    - Dst: m_audioVisualization::index
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2013,1
    - Dst: QVariant::fromValue<bool>
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2014,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 1996
    functionDepth: 2
    functionLinenumber: 1996
    functionLinenumberEnd: 2017
    functionName: PlayerController::toggleVisualization
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - m_audioVisualization::setData
    - rand
    - QVariant::fromValue<bool>
    - m_audioVisualization::index
    - m_audioVisualization::currentRow
    - m_audioVisualization::rowCount
    - m_audioVisualization::hasCurrent
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlayerController::toggleVisualization()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2021,1
    - Dst: addSMPTETimer
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2025,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2027
      start: 2019
    functionDepth: 0
    functionLinenumber: 2019
    functionLinenumberEnd: 2027
    functionName: PlayerController::requestAddSMPTETimer
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - addSMPTETimer
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlayerController::requestAddSMPTETimer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2031,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2033,1
    - Dst: removeSMPTETimer
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2036,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( d->m_smpteTimerRequestCount > 0 )
      pos:
        line_end: 2032
        line_start: 2032
        source_file: /src/vlc/modules/gui/qt/player/player_controller.cpp
    constantsTouched: []
    func_position:
      end: 2038
      start: 2029
    functionDepth: 1
    functionLinenumber: 2029
    functionLinenumberEnd: 2038
    functionName: PlayerController::requestRemoveSMPTETimer
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - assert
    - removeSMPTETimer
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlayerController::requestRemoveSMPTETimer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2042,1
    - Dst: vlc_player_SetRecordingEnabled
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - recording
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2045
      start: 2040
    functionDepth: 1
    functionLinenumber: 2040
    functionLinenumberEnd: 2045
    functionName: PlayerController::setRecording
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 1
    functionsReached:
    - Q_D
    - vlc_player_SetRecordingEnabled
    linkageType: ''
    returnType: void
    signature: void PlayerController::setRecording( bool recording )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PlayerController::getVout
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2049,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2058,1
    - Dst: var_TriggerCallback
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2061,1
    - Dst: SharedVOutThread::get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2061,1
    - Dst: QThreadPool::globalInstance
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2065,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2065,1
    - Dst: SnapshotTask::SnapshotTask
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2065,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2067
      start: 2047
    functionDepth: 2
    functionLinenumber: 2047
    functionLinenumberEnd: 2067
    functionName: PlayerController::snapshot
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - QThreadPool::globalInstance
    - SharedVOutThread::get
    - SnapshotTask::SnapshotTask
    - std::move
    - var_TriggerCallback
    - PlayerController::getVout
    linkageType: ''
    returnType: void
    signature: void PlayerController::snapshot()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - vout
    argTypes:
    - SharedVOutThread
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2058
      start: 2058
    functionDepth: 0
    functionLinenumber: 2058
    functionLinenumberEnd: 2058
    functionName: SnapshotTask
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 1
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SnapshotTask(SharedVOutThread vout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_TriggerCallback
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2061,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2062
      start: 2059
    functionDepth: 1
    functionLinenumber: 2059
    functionLinenumberEnd: 2062
    functionName: run
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 7
    functionsReached:
    - get
    - var_TriggerCallback
    linkageType: ''
    returnType: void
    signature: void run() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2092,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2098,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2101
      start: 2069
    functionDepth: 2
    functionLinenumber: 2069
    functionLinenumberEnd: 2101
    functionName: PlayerController::highResolutionTime
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - asprintf
    linkageType: ''
    returnType: QString
    signature: QString PlayerController::highResolutionTime() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2110,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2115,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2115,1
    - Dst: vlc_preparser_New
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2127,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2127,1
    - Dst: unlikely
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2128,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2132,1
    - Dst: vlc_preparser_Push
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - p_item
    argTypes:
    - input_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2138
      start: 2108
    functionDepth: 1
    functionLinenumber: 2108
    functionLinenumberEnd: 2138
    functionName: PlayerController::requestArtUpdate
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_preparser_New
    - var_InheritInteger
    - VLC_TICK_FROM_MS
    - var_InheritBool
    - vlc_preparser_Push
    - VLC_OBJECT
    - unlikely
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlayerController::requestArtUpdate( input_item_t *p_item )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2142,1
    - Dst: vlc_player_GetCurrentMedia
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2145,1
    - Dst: PlayerControllerPrivate::UpdateArt
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2149,1
    - Dst: artChanged
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_item
    argTypes:
    - input_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2152
      start: 2140
    functionDepth: 2
    functionLinenumber: 2140
    functionLinenumberEnd: 2152
    functionName: PlayerControllerPrivate::onArtFetchEnded
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - artChanged
    - Q_Q
    - PlayerControllerPrivate::UpdateArt
    - vlc_player_GetCurrentMedia
    linkageType: ''
    returnType: void
    signature: void PlayerControllerPrivate::onArtFetchEnded(input_item_t *p_item,
      bool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2156,1
    - Dst: input_item_GetArtURL
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2158,1
    - Dst: vlc_uri2path
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2161,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2162,1
    - Dst: replace
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2168,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2171,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - p_item
    argTypes:
    - input_item_t*
    assertStmts:
    - condition: ( p_item )
      pos:
        line_end: 2155
        line_start: 2155
        source_file: /src/vlc/modules/gui/qt/player/player_controller.cpp
    constantsTouched: []
    func_position:
      end: 2174
      start: 2154
    functionDepth: 1
    functionLinenumber: 2154
    functionLinenumberEnd: 2174
    functionName: PlayerController::decodeArtURL
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 1
    functionsReached:
    - replace
    - assert
    - vlc_uri2path
    - input_item_GetArtURL
    - free
    - qfu
    linkageType: ''
    returnType: QString
    signature: QString PlayerController::decodeArtURL( input_item_t *p_item )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2178,1
    - Dst: PlayerController::hasInput
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2179,1
    - Dst: config_GetUserDir
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2181,1
    - Dst: PlayerController::decodeArtURL
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2182,1
    - Dst: QDir
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2183,1
    - Dst: QString::startsWith
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2185,1
    - Dst: QString::fromUtf8
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2185,1
    - Dst: QFile
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2186,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2188,1
    - Dst: input_item_SetArtURL
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2190,1
    - Dst: QString::toUtf8
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2190,1
    - Dst: UpdateArt
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - p_item
    - fileUrl
    argTypes:
    - input_item_t*
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2193
      start: 2176
    functionDepth: 3
    functionLinenumber: 2176
    functionLinenumberEnd: 2193
    functionName: PlayerController::setArt
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - QString::fromUtf8
    - PlayerController::hasInput
    - input_item_SetArtURL
    - QString::toUtf8
    - UpdateArt
    - PlayerController::decodeArtURL
    - free
    - QString::startsWith
    - QDir
    - QFile
    - config_GetUserDir
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlayerController::setArt( input_item_t *p_item, QString fileUrl
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2200,1
    - Dst: vlc_player_GetCurrentMedia
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2204,1
    - Dst: UpdateName
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2210,1
    - Dst: UpdateArt
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2211,1
    - Dst: UpdateMeta
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2212,1
    - Dst: UpdateInfo
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - p_item
    argTypes:
    - input_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2214
      start: 2195
    functionDepth: 1
    functionLinenumber: 2195
    functionLinenumberEnd: 2214
    functionName: PlayerController::refreshMediaMeta
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - UpdateMeta
    - UpdateArt
    - UpdateName
    - UpdateInfo
    - Q_D
    - vlc_player_GetCurrentMedia
    linkageType: ''
    returnType: void
    signature: void PlayerController::refreshMediaMeta( input_item_t *p_item )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlayerController::AddAssociatedMedia
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - uri
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2216
    functionDepth: 1
    functionLinenumber: 2216
    functionLinenumberEnd: 2219
    functionName: PlayerController::associateSubtitleFile
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - PlayerController::AddAssociatedMedia
    linkageType: ''
    returnType: bool
    signature: bool PlayerController::associateSubtitleFile(const QString &uri)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2223,1
    - Dst: vlc_player_AddAssociatedMedia
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2225,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - cat
    - uri
    - select
    - notify
    - check_ext
    argTypes:
    - es_format_category_e
    - QString
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2226
      start: 2221
    functionDepth: 1
    functionLinenumber: 2221
    functionLinenumberEnd: 2226
    functionName: PlayerController::AddAssociatedMedia
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 1
    functionsReached:
    - qtu
    - vlc_player_AddAssociatedMedia
    - Q_D
    linkageType: ''
    returnType: int
    signature: int PlayerController::AddAssociatedMedia(es_format_category_e cat,
      const QString &uri, bool select, bool notify, bool check_ext)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - fun
    - ','
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2234
      start: 2228
    functionDepth: 0
    functionLinenumber: 2228
    functionLinenumberEnd: 2234
    functionName: QABSTRACTLIST_GETTER
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QABSTRACTLIST_GETTER( type, fun, var )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - fun
    - ','
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2263
      start: 2257
    functionDepth: 0
    functionLinenumber: 2257
    functionLinenumberEnd: 2263
    functionName: PRIMITIVETYPE_GETTER
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRIMITIVETYPE_GETTER( type, fun, var )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syltLyrics
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2313,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2317
      start: 2308
    functionDepth: 0
    functionLinenumber: 2308
    functionLinenumberEnd: 2317
    functionName: PlayerController::getCurrentLyric
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - size
    - syltLyrics
    linkageType: ''
    returnType: TimedText
    signature: TimedText PlayerController::getCurrentLyric() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_syltRaw::has_value
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2323
      start: 2319
    functionDepth: 0
    functionLinenumber: 2319
    functionLinenumberEnd: 2323
    functionName: PlayerController::hasLyrics
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - m_syltRaw::has_value
    linkageType: ''
    returnType: bool
    signature: bool PlayerController::hasLyrics() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syltLyrics
      Src: /src/vlc/modules/gui/qt/player/player_controller.cpp:2328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2329
      start: 2325
    functionDepth: 0
    functionLinenumber: 2325
    functionLinenumberEnd: 2329
    functionName: PlayerController::getSyltLyrics
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached:
    - syltLyrics
    linkageType: ''
    returnType: QList<TimedText>
    signature: QList<TimedText> PlayerController::getSyltLyrics() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2335
      start: 2331
    functionDepth: 0
    functionLinenumber: 2331
    functionLinenumberEnd: 2335
    functionName: PlayerController::getCurrentLyricIndex
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int PlayerController::getCurrentLyricIndex() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNUSED
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:36,1
    - Dst: QMetaEnum::fromType<PlayerIdentifier>
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:38,1
    - Dst: QJSEngine*::newArray
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:40,1
    - Dst: QMetaEnum::keyCount
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:42,1
    - Dst: QJSEngine*::newObject
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:44,1
    - Dst: QMetaEnum::value
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:46,1
    - Dst: QJSValue::setProperty
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:47,1
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:50,1
    - Dst: static_cast<PlayerControlbarModel::PlayerIdentifier>
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:50,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:52,1
    - Dst: static_cast<PlayerControlbarModel::PlayerIdentifier>
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:52,1
    - Dst: QMetaEnum::key
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:56,1
    - Dst: QJSValue::setProperty
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:59,1
    - Dst: QJSValue::setProperty
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:61,1
    - Dst: QJSEngine*::newObject
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:64,1
    - Dst: QJSValue::setProperty
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - engine
    - scriptEngine
    argTypes:
    - QQmlEngine*
    - QJSEngine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 68
    functionName: PlayerControlbarModel::getPlaylistIdentifierListModel
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp
    functionUses: 0
    functionsReached:
    - qfut
    - QMetaEnum::key
    - QJSEngine*::newObject
    - Q_UNUSED
    - static_cast<PlayerControlbarModel::PlayerIdentifier>
    - QMetaEnum::fromType<PlayerIdentifier>
    - QMetaEnum::keyCount
    - QJSValue::setProperty
    - QJSEngine*::newArray
    - QMetaEnum::value
    - contains
    linkageType: ''
    returnType: QJSValue
    signature: QJSValue PlayerControlbarModel::getPlaylistIdentifierListModel(QQmlEngine
      *engine, QJSEngine *scriptEngine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ControlListModel::ControlListModel
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:72,1
    - Dst: ControlListModel::ControlListModel
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:73,1
    - Dst: ControlListModel::ControlListModel
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:74,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:76,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:77,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:78,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:80,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:81,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:82,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:84,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:85,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 87
    functionName: PlayerControlbarModel::PlayerControlbarModel
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp
    functionUses: 0
    functionsReached:
    - connect
    - ControlListModel::ControlListModel
    linkageType: ''
    returnType: void
    signature: void PlayerControlbarModel::PlayerControlbarModel(QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlayerControlbarModel::setDirty
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: PlayerControlbarModel::~PlayerControlbarModel()
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp
    functionUses: 0
    functionsReached:
    - PlayerControlbarModel::setDirty
    linkageType: ''
    returnType: void
    signature: void PlayerControlbarModel::~PlayerControlbarModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: PlayerControlbarModel::dirty
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PlayerControlbarModel::dirty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: PlayerControlbarModel::empty
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PlayerControlbarModel::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlayerControlbarModel::left
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:106,1
    - Dst: PlayerControlbarModel::center
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:107,1
    - Dst: PlayerControlbarModel::right
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: PlayerControlbarModel::serializeModels
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp
    functionUses: 0
    functionsReached:
    - PlayerControlbarModel::right
    - PlayerControlbarModel::left
    - PlayerControlbarModel::center
    linkageType: ''
    returnType: std::array<QVector<int>, 3>
    signature: std::array<QVector<int>, 3> PlayerControlbarModel::serializeModels()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlayerControlbarModel::left
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:113,1
    - Dst: std::array<QVector<int>, 3>::at
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:113,1
    - Dst: PlayerControlbarModel::center
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:114,1
    - Dst: std::array<QVector<int>, 3>::at
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:114,1
    - Dst: PlayerControlbarModel::right
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:115,1
    - Dst: std::array<QVector<int>, 3>::at
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - array
    argTypes:
    - std::array<QVector<int>, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: PlayerControlbarModel::loadModels
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp
    functionUses: 0
    functionsReached:
    - PlayerControlbarModel::right
    - std::array<QVector<int>, 3>::at
    - PlayerControlbarModel::left
    - PlayerControlbarModel::center
    linkageType: ''
    returnType: void
    signature: void PlayerControlbarModel::loadModels(const std::array<QVector<int>,
      3> &array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: PlayerControlbarModel::left
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ControlListModel
    signature: ControlListModel *PlayerControlbarModel::left() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: PlayerControlbarModel::center
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ControlListModel
    signature: ControlListModel *PlayerControlbarModel::center() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: PlayerControlbarModel::right
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ControlListModel
    signature: ControlListModel *PlayerControlbarModel::right() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:135,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:136,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - model
    argTypes:
    - PlayerControlbarModel
    assertStmts:
    - condition: (m_left && model.m_left)
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp
    - condition: (m_center && model.m_center)
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp
    - condition: (m_right && model.m_right)
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp
    constantsTouched: []
    func_position:
      end: 151
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 151
    functionName: PlayerControlbarModel::operator==(const PlayerControlbarModel &model)
      const
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool PlayerControlbarModel::operator==(const PlayerControlbarModel
      &model) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dirty
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: PlayerControlbarModel::setDirty
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlayerControlbarModel::setDirty(bool dirty)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PlayerControlbarModel::setDirty
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:164,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:168,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:169,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp:170,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 181
    functionName: PlayerControlbarModel::contentChanged
    functionSourceFile: /src/vlc/modules/gui/qt/player/player_controlbar_model.cpp
    functionUses: 0
    functionsReached:
    - PlayerControlbarModel::setDirty
    - rowCount
    linkageType: ''
    returnType: void
    signature: void PlayerControlbarModel::contentChanged()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: DelayEstimator::DelayEstimator
    functionSourceFile: /src/vlc/modules/gui/qt/player/delay_estimator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DelayEstimator::DelayEstimator(QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: DelayEstimator::~DelayEstimator()
    functionSourceFile: /src/vlc/modules/gui/qt/player/delay_estimator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DelayEstimator::~DelayEstimator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: valid
      Src: /src/vlc/modules/gui/qt/player/delay_estimator.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: DelayEstimator::isHeardTimeMarked
    functionSourceFile: /src/vlc/modules/gui/qt/player/delay_estimator.cpp
    functionUses: 0
    functionsReached:
    - valid
    linkageType: ''
    returnType: bool
    signature: bool DelayEstimator::isHeardTimeMarked()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: valid
      Src: /src/vlc/modules/gui/qt/player/delay_estimator.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: DelayEstimator::isSpottedTimeMarked
    functionSourceFile: /src/vlc/modules/gui/qt/player/delay_estimator.cpp
    functionUses: 0
    functionsReached:
    - valid
    linkageType: ''
    returnType: bool
    signature: bool DelayEstimator::isSpottedTimeMarked()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: DelayEstimator::getDelay
    functionSourceFile: /src/vlc/modules/gui/qt/player/delay_estimator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VLCDuration
    signature: VLCDuration DelayEstimator::getDelay()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DelayEstimator::isHeardTimeMarked
      Src: /src/vlc/modules/gui/qt/player/delay_estimator.cpp:46,1
    - Dst: VLCTime
      Src: /src/vlc/modules/gui/qt/player/delay_estimator.cpp:47,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/gui/qt/player/delay_estimator.cpp:49,1
    - Dst: DelayEstimator::isSpottedTimeMarked
      Src: /src/vlc/modules/gui/qt/player/delay_estimator.cpp:53,1
    - Dst: DelayEstimator::calculateDelay
      Src: /src/vlc/modules/gui/qt/player/delay_estimator.cpp:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: DelayEstimator::markHeardTime
    functionSourceFile: /src/vlc/modules/gui/qt/player/delay_estimator.cpp
    functionUses: 0
    functionsReached:
    - VLCTime
    - vlc_tick_now
    - DelayEstimator::isSpottedTimeMarked
    - DelayEstimator::calculateDelay
    - DelayEstimator::isHeardTimeMarked
    linkageType: ''
    returnType: void
    signature: void DelayEstimator::markHeardTime()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DelayEstimator::isSpottedTimeMarked
      Src: /src/vlc/modules/gui/qt/player/delay_estimator.cpp:59,1
    - Dst: VLCTime
      Src: /src/vlc/modules/gui/qt/player/delay_estimator.cpp:60,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/gui/qt/player/delay_estimator.cpp:62,1
    - Dst: DelayEstimator::isHeardTimeMarked
      Src: /src/vlc/modules/gui/qt/player/delay_estimator.cpp:66,1
    - Dst: DelayEstimator::calculateDelay
      Src: /src/vlc/modules/gui/qt/player/delay_estimator.cpp:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 68
    functionName: DelayEstimator::markSpottedTime
    functionSourceFile: /src/vlc/modules/gui/qt/player/delay_estimator.cpp
    functionUses: 0
    functionsReached:
    - VLCTime
    - DelayEstimator::isSpottedTimeMarked
    - vlc_tick_now
    - DelayEstimator::calculateDelay
    - DelayEstimator::isHeardTimeMarked
    linkageType: ''
    returnType: void
    signature: void DelayEstimator::markSpottedTime()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: valid
      Src: /src/vlc/modules/gui/qt/player/delay_estimator.cpp:72,1
    - Dst: valid
      Src: /src/vlc/modules/gui/qt/player/delay_estimator.cpp:73,1
    - Dst: VLCTime
      Src: /src/vlc/modules/gui/qt/player/delay_estimator.cpp:77,1
    - Dst: VLCTime
      Src: /src/vlc/modules/gui/qt/player/delay_estimator.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 82
    functionName: DelayEstimator::calculateDelay
    functionSourceFile: /src/vlc/modules/gui/qt/player/delay_estimator.cpp
    functionUses: 2
    functionsReached:
    - VLCTime
    - valid
    linkageType: ''
    returnType: void
    signature: void DelayEstimator::calculateDelay()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLCTime
      Src: /src/vlc/modules/gui/qt/player/delay_estimator.cpp:86,1
    - Dst: VLCTime
      Src: /src/vlc/modules/gui/qt/player/delay_estimator.cpp:87,1
    - Dst: VLCDuration
      Src: /src/vlc/modules/gui/qt/player/delay_estimator.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: DelayEstimator::reset
    functionSourceFile: /src/vlc/modules/gui/qt/player/delay_estimator.cpp
    functionUses: 0
    functionsReached:
    - VLCTime
    - VLCDuration
    linkageType: ''
    returnType: void
    signature: void DelayEstimator::reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' model'
    argTypes:
    - ControlListModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: operator==(const ControlListModel& model) const
    functionSourceFile: /src/vlc/modules/gui/qt/player/control_list_model.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const ControlListModel& model) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' model'
    argTypes:
    - ControlListModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: operator!=(const ControlListModel& model) const
    functionSourceFile: /src/vlc/modules/gui/qt/player/control_list_model.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const ControlListModel& model) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/gui/qt/player/input_models.hpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: TrackListModel::getCount
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.hpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int getCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: TrackListModel::getMultiSelect
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getMultiSelect() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - Data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: TrackListModel::Data::Data
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Data(const Data& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - Data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: '& operator =(const Data& data)'
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Data
    signature: Data & operator =(const Data& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: TitleListModel::getCount
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: ChapterListModel::getCount
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/gui/qt/player/input_models.hpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 240
    functionName: ProgramListModel::getCount
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.hpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int getCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - Data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 251
    functionName: ProgramListModel::Data::Data
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Data(const Data& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - Data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: '& operator =(const Data& data)'
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Data
    signature: Data & operator =(const Data& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/player/control_list_filter.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: ControlListFilter::ControlListFilter
    functionSourceFile: /src/vlc/modules/gui/qt/player/control_list_filter.cpp
    functionUses: 0
    functionsReached:
    - connect
    linkageType: ''
    returnType: void
    signature: void ControlListFilter::ControlListFilter(QObject * parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ControlListFilter::setSourceModel
      Src: /src/vlc/modules/gui/qt/player/control_list_filter.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sourceModel
    argTypes:
    - ControlListModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: ControlListFilter::setSourceModel
    functionSourceFile: /src/vlc/modules/gui/qt/player/control_list_filter.cpp
    functionUses: 1
    functionsReached:
    - ControlListFilter::setSourceModel
    linkageType: ''
    returnType: void
    signature: void ControlListFilter::setSourceModel(ControlListModel* sourceModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qobject_cast<ControlListModel*>
      Src: /src/vlc/modules/gui/qt/player/control_list_filter.cpp:45,1
    - Dst: ControlListFilter::sourceModel
      Src: /src/vlc/modules/gui/qt/player/control_list_filter.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: ControlListFilter::sourceModel
    functionSourceFile: /src/vlc/modules/gui/qt/player/control_list_filter.cpp
    functionUses: 1
    functionsReached:
    - qobject_cast<ControlListModel*>
    - ControlListFilter::sourceModel
    linkageType: ''
    returnType: ControlListModel
    signature: ControlListModel *ControlListFilter::sourceModel() const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ControlListFilter::sourceModel
      Src: /src/vlc/modules/gui/qt/player/control_list_filter.cpp:52,1
    - Dst: QAbstractItemModel*::data
      Src: /src/vlc/modules/gui/qt/player/control_list_filter.cpp:57,1
    - Dst: QAbstractItemModel*::index
      Src: /src/vlc/modules/gui/qt/player/control_list_filter.cpp:57,1
    - Dst: QVariant::isValid
      Src: /src/vlc/modules/gui/qt/player/control_list_filter.cpp:59,1
    - Dst: static_cast<ControlListModel::ControlType>
      Src: /src/vlc/modules/gui/qt/player/control_list_filter.cpp:63,1
    - Dst: QVariant::toInt
      Src: /src/vlc/modules/gui/qt/player/control_list_filter.cpp:63,1
    - Dst: hasMenu
      Src: /src/vlc/modules/gui/qt/player/control_list_filter.cpp:68,1
    - Dst: hasPrograms
      Src: /src/vlc/modules/gui/qt/player/control_list_filter.cpp:68,1
    - Dst: isTeletextAvailable
      Src: /src/vlc/modules/gui/qt/player/control_list_filter.cpp:68,1
    - Dst: isInteractive
      Src: /src/vlc/modules/gui/qt/player/control_list_filter.cpp:72,1
    - Dst: hasMediaLibrary
      Src: /src/vlc/modules/gui/qt/player/control_list_filter.cpp:76,1
    - Dst: hasChapters
      Src: /src/vlc/modules/gui/qt/player/control_list_filter.cpp:76,1
    - Dst: hasTitles
      Src: /src/vlc/modules/gui/qt/player/control_list_filter.cpp:76,1
    - Dst: hasPrograms
      Src: /src/vlc/modules/gui/qt/player/control_list_filter.cpp:80,1
    - Dst: isTeletextAvailable
      Src: /src/vlc/modules/gui/qt/player/control_list_filter.cpp:84,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 1
    argNames:
    - source_row
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 88
    functionName: ControlListFilter::filterAcceptsRow
    functionSourceFile: /src/vlc/modules/gui/qt/player/control_list_filter.cpp
    functionUses: 0
    functionsReached:
    - static_cast<ControlListModel::ControlType>
    - hasPrograms
    - ControlListFilter::sourceModel
    - QVariant::toInt
    - QVariant::isValid
    - hasTitles
    - hasMenu
    - isTeletextAvailable
    - hasMediaLibrary
    - hasChapters
    - QAbstractItemModel*::data
    - QAbstractItemModel*::index
    - isInteractive
    linkageType: ''
    returnType: bool
    signature: bool ControlListFilter::filterAcceptsRow(int source_row, const QModelIndex
      &) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: ControlListFilter::player
    functionSourceFile: /src/vlc/modules/gui/qt/player/control_list_filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PlayerController
    signature: PlayerController * ControlListFilter::player()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/player/control_list_filter.cpp:102,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/player/control_list_filter.cpp:108,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/player/control_list_filter.cpp:109,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/player/control_list_filter.cpp:110,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/player/control_list_filter.cpp:111,1
    - Dst: invalidate
      Src: /src/vlc/modules/gui/qt/player/control_list_filter.cpp:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - player
    argTypes:
    - PlayerController*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 117
    functionName: ControlListFilter::setPlayer
    functionSourceFile: /src/vlc/modules/gui/qt/player/control_list_filter.cpp
    functionUses: 0
    functionsReached:
    - connect
    - invalidate
    - disconnect
    linkageType: ''
    returnType: void
    signature: void ControlListFilter::setPlayer(PlayerController * player)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: ControlListFilter::ctx
    functionSourceFile: /src/vlc/modules/gui/qt/player/control_list_filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MainCtx
    signature: MainCtx * ControlListFilter::ctx() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - MainCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: ControlListFilter::setCtx
    functionSourceFile: /src/vlc/modules/gui/qt/player/control_list_filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ControlListFilter::setCtx(MainCtx* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - player
    - parent
    argTypes:
    - vlc_player_t*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: TrackListModel::TrackListModel
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrackListModel::TrackListModel(vlc_player_t *player, QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: TrackListModel::flags
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Qt::ItemFlags
    signature: Qt::ItemFlags TrackListModel::flags(const QModelIndex &) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: TrackListModel::rowCount
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int TrackListModel::rowCount(const QModelIndex &) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:44,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:45,1
    - Dst: QVariant::fromValue<bool>
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - index
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: TrackListModel::data
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::row
    - QVariant::fromValue<bool>
    - size
    linkageType: ''
    returnType: QVariant
    signature: QVariant TrackListModel::data(const QModelIndex &index, int role) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:56,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:57,1
    - Dst: QVariant::canConvert
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:61,1
    - Dst: QVariant::toBool
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:63,1
    - Dst: m_id::get
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:68,1
    - Dst: vlc_es_id_GetCat
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:69,1
    - Dst: vlc_player_SelectEsId
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:73,1
    - Dst: vlc_player_UnselectEsId
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:76,1
    - Dst: m_id::get
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - index
    - value
    - role
    argTypes:
    - QModelIndex
    - QVariant
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 78
    functionName: TrackListModel::setData
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached:
    - m_id::get
    - vlc_player_SelectEsId
    - QModelIndex::row
    - size
    - QVariant::canConvert
    - vlc_player_UnselectEsId
    - QVariant::toBool
    - vlc_es_id_GetCat
    linkageType: ''
    returnType: bool
    signature: bool TrackListModel::setData(const QModelIndex &index, const QVariant
      &value, int role)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: beginInsertRows
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:85,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:85,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:85,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:86,1
    - Dst: endInsertRows
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:87,1
    - Dst: std::find_if
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:93,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:93,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:93,1
    - Dst: m_id::get
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:94,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:96,1
    - Dst: std::distance
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:99,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:99,1
    - Dst: beginRemoveRows
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:100,1
    - Dst: erase
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:101,1
    - Dst: endRemoveRows
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:102,1
    - Dst: m_id::get
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:112,1
    - Dst: update
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:114,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:122,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - action
    - track_info
    argTypes:
    - vlc_player_list_action
    - vlc_player_track*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 127
    functionName: TrackListModel::updateTracks
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached:
    - m_id::get
    - append
    - endInsertRows
    - erase
    - update
    - endRemoveRows
    - std::distance
    - size
    - begin
    - beginInsertRows
    - index
    - std::find_if
    - beginRemoveRows
    - end
    linkageType: ''
    returnType: void
    signature: void TrackListModel::updateTracks(vlc_player_list_action action, const
      vlc_player_track *track_info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:133,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:133,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:133,1
    - Dst: m_id::get
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:134,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:136,1
    - Dst: std::distance
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:138,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:138,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - trackid
    - selected
    argTypes:
    - vlc_es_id_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 142
    functionName: TrackListModel::updateTrackSelection
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached:
    - m_id::get
    - std::distance
    - begin
    - index
    - std::find_if
    - end
    linkageType: ''
    returnType: void
    signature: void TrackListModel::updateTrackSelection(vlc_es_id_t *trackid, bool
      selected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: beginRemoveRows
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:146,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:146,1
    - Dst: TrackListModel::clear
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:147,1
    - Dst: endRemoveRows
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: TrackListModel::clear
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 1
    functionsReached:
    - beginRemoveRows
    - size
    - endRemoveRows
    - TrackListModel::clear
    linkageType: ''
    returnType: void
    signature: void TrackListModel::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrackListModel::QAbstractListModel::roleNames
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:154,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionName: TrackListModel::roleNames
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached:
    - TrackListModel::QAbstractListModel::roleNames
    - QByteArrayLiteral
    linkageType: ''
    returnType: QHash<int, QByteArray>
    signature: QHash<int, QByteArray> TrackListModel::roleNames() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TrackListModel::getCount
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:165,1
    - Dst: TrackListModel::getCount
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:168,1
    - Dst: TrackListModel::data
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:170,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:170,1
    - Dst: TrackListModel::setData
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:173,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:173,1
    - Dst: TrackListModel::setData
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:180,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:180,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - multiSelect
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 183
    functionName: TrackListModel::setMultiSelect
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached:
    - TrackListModel::getCount
    - TrackListModel::data
    - TrackListModel::setData
    - index
    linkageType: ''
    returnType: void
    signature: void TrackListModel::setMultiSelect(bool multiSelect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - track_info
    argTypes:
    - vlc_player_track*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: TrackListModel::Data::Data(const vlc_player_track *track_info)
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached:
    - qfu
    linkageType: ''
    returnType: void
    signature: void TrackListModel::Data::Data(const vlc_player_track *track_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:194,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - track_info
    argTypes:
    - vlc_player_track*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: TrackListModel::Data::update(const vlc_player_track *track_info)
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached:
    - qfu
    - reset
    linkageType: ''
    returnType: void
    signature: void TrackListModel::Data::update(const vlc_player_track *track_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - player
    - parent
    argTypes:
    - vlc_player_t*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: TitleListModel::TitleListModel
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TitleListModel::TitleListModel(vlc_player_t *player, QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: TitleListModel::flags
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Qt::ItemFlags
    signature: Qt::ItemFlags TitleListModel::flags(const QModelIndex &) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: TitleListModel::rowCount
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TitleListModel::rowCount(const QModelIndex &) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:223,1
    - Dst: TitleListModel::getTitleAt
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:226,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:229,1
    - Dst: QVariant::fromValue<bool>
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - index
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 233
    functionName: TitleListModel::data
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached:
    - TitleListModel::getTitleAt
    - QModelIndex::row
    - QVariant::fromValue<bool>
    - qfu
    linkageType: ''
    returnType: QVariant
    signature: QVariant TitleListModel::data(const QModelIndex &index, int role) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:237,1
    - Dst: QVariant::canConvert
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:242,1
    - Dst: QVariant::toBool
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:244,1
    - Dst: TitleListModel::getTitleAt
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:248,1
    - Dst: vlc_player_SelectTitle
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:251,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - index
    - value
    - role
    argTypes:
    - QModelIndex
    - QVariant
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 254
    functionName: TitleListModel::setData
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::row
    - QVariant::canConvert
    - QVariant::toBool
    - TitleListModel::getTitleAt
    - vlc_player_SelectTitle
    linkageType: ''
    returnType: bool
    signature: bool TitleListModel::setData(const QModelIndex &index, const QVariant
      &value, int role)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: index
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:263,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:264,1
    - Dst: dataChanged
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:267,1
    - Dst: dataChanged
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - current
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 270
    functionName: TitleListModel::setCurrent
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached:
    - dataChanged
    - index
    linkageType: ''
    returnType: void
    signature: void TitleListModel::setCurrent(int current)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_title_list_GetAt
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:274,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: TitleListModel::getTitleAt
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 2
    functionsReached:
    - get
    - vlc_player_title_list_GetAt
    linkageType: ''
    returnType: vlc_player_title
    signature: vlc_player_title *TitleListModel::getTitleAt(size_t index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: beginResetModel
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:279,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:280,1
    - Dst: vlc_player_title_list_GetCount
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:283,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:283,1
    - Dst: endResetModel
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - newTitleList
    argTypes:
    - vlc_player_title_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 288
    functionName: TitleListModel::resetTitles
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached:
    - get
    - reset
    - beginResetModel
    - vlc_player_title_list_GetCount
    - endResetModel
    linkageType: ''
    returnType: void
    signature: void TitleListModel::resetTitles(vlc_player_title_list *newTitleList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TitleListModel::QAbstractListModel::roleNames
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:292,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: TitleListModel::roleNames
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached:
    - TitleListModel::QAbstractListModel::roleNames
    - QByteArrayLiteral
    linkageType: ''
    returnType: QHash<int, QByteArray>
    signature: QHash<int, QByteArray> TitleListModel::roleNames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - player
    - parent
    argTypes:
    - vlc_player_t*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: ChapterListModel::ChapterListModel
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChapterListModel::ChapterListModel(vlc_player_t *player, QObject
      *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: ChapterListModel::flags
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Qt::ItemFlags
    signature: Qt::ItemFlags ChapterListModel::flags(const QModelIndex &) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: ChapterListModel::rowCount
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ChapterListModel::rowCount(const QModelIndex &) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:319,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:325,1
    - Dst: QVariant::fromValue<bool>
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:327,1
    - Dst: QVariant::fromValue<VLCTime>
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:329,1
    - Dst: QVariant::fromValue<float>
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:331,1
    - Dst: QVariant::fromValue<float>
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:334,1
    - Dst: QVariant::fromValue<float>
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:335,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - index
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 338
    functionName: ChapterListModel::data
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached:
    - QVariant::fromValue<bool>
    - QVariant::fromValue<float>
    - QModelIndex::row
    - qfu
    - QVariant::fromValue<VLCTime>
    linkageType: ''
    returnType: QVariant
    signature: QVariant ChapterListModel::data(const QModelIndex &index, int role)
      const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:342,1
    - Dst: QVariant::canConvert
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:347,1
    - Dst: QVariant::toBool
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:349,1
    - Dst: vlc_player_SelectChapter
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:353,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - index
    - value
    - role
    argTypes:
    - QModelIndex
    - QVariant
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 356
    functionName: ChapterListModel::setData
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached:
    - vlc_player_SelectChapter
    - QModelIndex::row
    - QVariant::toBool
    - QVariant::canConvert
    linkageType: ''
    returnType: bool
    signature: bool ChapterListModel::setData(const QModelIndex &index, const QVariant
      &value, int role)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:361,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:362,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:363,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:364,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 367
    functionName: ChapterListModel::roleNames
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached:
    - QByteArrayLiteral
    linkageType: ''
    returnType: QHash<int, QByteArray>
    signature: QHash<int, QByteArray> ChapterListModel::roleNames() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: index
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:376,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:377,1
    - Dst: dataChanged
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:380,1
    - Dst: dataChanged
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - current
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 383
    functionName: ChapterListModel::setCurrent
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached:
    - dataChanged
    - index
    linkageType: ''
    returnType: void
    signature: void ChapterListModel::setCurrent(int current)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: beginResetModel
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:387,1
    - Dst: endResetModel
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - newTitle
    argTypes:
    - vlc_player_title*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 392
    functionName: ChapterListModel::resetTitle
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached:
    - endResetModel
    - beginResetModel
    linkageType: ''
    returnType: void
    signature: void ChapterListModel::resetTitle(const vlc_player_title *newTitle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:396,1
    - Dst: vlc_player_SelectChapter
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 402
    functionName: ChapterListModel::selectChapter
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached:
    - vlc_player_SelectChapter
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void ChapterListModel::selectChapter(int index)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:416,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:419,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:424,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pos
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 425
    functionName: ChapterListModel::getNameAtPosition
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached:
    - qfu
    - QString
    linkageType: ''
    returnType: QString
    signature: QString ChapterListModel::getNameAtPosition(float pos) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: qAbs
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:442,1
    - Dst: qAbs
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:442,1
    - Dst: qAbs
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:457,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - pos
    - threshold
    argTypes:
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 462
    functionName: ChapterListModel::getClosestChapterFromPos
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached:
    - qAbs
    linkageType: ''
    returnType: int
    signature: int ChapterListModel::getClosestChapterFromPos(float pos, float threshold)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - player
    - parent
    argTypes:
    - vlc_player_t*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 474
    functionName: ProgramListModel::ProgramListModel
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProgramListModel::ProgramListModel(vlc_player_t *player, QObject
      *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 479
    functionName: ProgramListModel::flags
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Qt::ItemFlags
    signature: Qt::ItemFlags ProgramListModel::flags(const QModelIndex &) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 484
    functionName: ProgramListModel::rowCount
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int ProgramListModel::rowCount(const QModelIndex &) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:488,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:489,1
    - Dst: QVariant::fromValue<bool>
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:494,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - index
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 496
    functionName: ProgramListModel::data
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::row
    - QVariant::fromValue<bool>
    - size
    linkageType: ''
    returnType: QVariant
    signature: QVariant ProgramListModel::data(const QModelIndex &index, int role)
      const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:500,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:501,1
    - Dst: QVariant::canConvert
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:505,1
    - Dst: QVariant::toBool
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:507,1
    - Dst: vlc_player_SelectProgram
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:511,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - index
    - value
    - role
    argTypes:
    - QModelIndex
    - QVariant
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 513
    functionName: ProgramListModel::setData
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached:
    - vlc_player_SelectProgram
    - QModelIndex::row
    - size
    - QVariant::canConvert
    - QVariant::toBool
    linkageType: ''
    returnType: bool
    signature: bool ProgramListModel::setData(const QModelIndex &index, const QVariant
      &value, int role)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:517,1
    - Dst: beginInsertRows
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:520,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:520,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:520,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:521,1
    - Dst: endInsertRows
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:522,1
    - Dst: std::find_if
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:528,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:528,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:528,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:531,1
    - Dst: std::distance
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:533,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:533,1
    - Dst: beginRemoveRows
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:534,1
    - Dst: erase
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:535,1
    - Dst: endRemoveRows
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:536,1
    - Dst: update
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:548,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:556,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - action
    - program
    argTypes:
    - vlc_player_list_action
    - vlc_player_program*
    assertStmts:
    - condition: (program)
      pos:
        line_end: 516
        line_start: 516
        source_file: /src/vlc/modules/gui/qt/player/input_models.cpp
    constantsTouched: []
    func_position:
      end: 561
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 561
    functionName: ProgramListModel::updatePrograms
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached:
    - erase
    - append
    - endInsertRows
    - assert
    - update
    - endRemoveRows
    - std::distance
    - size
    - begin
    - beginInsertRows
    - index
    - std::find_if
    - beginRemoveRows
    - end
    linkageType: ''
    returnType: void
    signature: void ProgramListModel::updatePrograms(vlc_player_list_action action,
      const vlc_player_program *program)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:565,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:565,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:565,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:568,1
    - Dst: std::distance
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:570,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:570,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:572,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - programid
    - selected
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 574
    functionName: ProgramListModel::updateProgramSelection
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached:
    - std::distance
    - begin
    - index
    - std::find_if
    - end
    linkageType: ''
    returnType: void
    signature: void ProgramListModel::updateProgramSelection(int programid, bool selected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: beginRemoveRows
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:578,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:578,1
    - Dst: ProgramListModel::clear
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:579,1
    - Dst: endRemoveRows
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 581
    functionName: ProgramListModel::clear
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 1
    functionsReached:
    - beginRemoveRows
    - size
    - ProgramListModel::clear
    - endRemoveRows
    linkageType: ''
    returnType: void
    signature: void ProgramListModel::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ProgramListModel::QAbstractListModel::roleNames
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:585,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 588
    functionName: ProgramListModel::roleNames
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached:
    - QByteArrayLiteral
    - ProgramListModel::QAbstractListModel::roleNames
    linkageType: ''
    returnType: QHash<int, QByteArray>
    signature: QHash<int, QByteArray> ProgramListModel::roleNames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:591,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - program
    argTypes:
    - vlc_player_program*
    assertStmts:
    - condition: (program)
      pos:
        line_end: 595
        line_start: 595
        source_file: /src/vlc/modules/gui/qt/player/input_models.cpp
    constantsTouched: []
    func_position:
      end: 597
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 597
    functionName: ProgramListModel::Data::Data(const vlc_player_program *program)
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached:
    - assert
    - qfu
    linkageType: ''
    returnType: void
    signature: void ProgramListModel::Data::Data(const vlc_player_program *program)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:601,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/player/input_models.cpp:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - program
    argTypes:
    - vlc_player_program*
    assertStmts:
    - condition: (program)
      pos:
        line_end: 600
        line_start: 600
        source_file: /src/vlc/modules/gui/qt/player/input_models.cpp
    constantsTouched: []
    func_position:
      end: 606
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 606
    functionName: ProgramListModel::Data::update(const vlc_player_program *program)
    functionSourceFile: /src/vlc/modules/gui/qt/player/input_models.cpp
    functionUses: 0
    functionsReached:
    - assert
    - qfu
    linkageType: ''
    returnType: void
    signature: void ProgramListModel::Data::update(const vlc_player_program *program)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 90
    functionName: BASE_DIALOG
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BASE_DIALOG(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: ALL_DIALOG
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_DIALOG(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: ALL_DIALOG
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_DIALOG(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _p_intf
    argTypes:
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: DialogsProvider::DialogsProvider
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::DialogsProvider( qt_intf_t *_p_intf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLCMenuBar::freeRendererMenu
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: DialogsProvider::~DialogsProvider()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached:
    - VLCMenuBar::freeRendererMenu
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::~DialogsProvider()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QStringList
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:119,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:119,1
    - Dst: QFileDialog::getSaveFileUrl
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:120,1
    - Dst: OverrideTrackOptions
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - parent
    - caption
    - dir
    - filter
    - selectedFilter
    argTypes:
    - QWidget*
    - QString
    - QUrl
    - QString
    - QString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: DialogsProvider::getSaveFileName
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 1
    functionsReached:
    - QStringLiteral
    - QStringList
    - OverrideTrackOptions
    - QFileDialog::getSaveFileUrl
    linkageType: ''
    returnType: QString
    signature: "QString DialogsProvider::getSaveFileName( QWidget *parent,\n                                          const
      QString &caption,\n                                          const QUrl &dir,\n
      \                                         const QString &filter,\n                                          QString
      *selectedFilter )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QInputDialog::getText
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - parent
    - title
    - label
    - placeholder
    - ok
    argTypes:
    - QWidget*
    - QString
    - QString
    - QString
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 151
    functionName: DialogsProvider::getTextDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached:
    - QInputDialog::getText
    linkageType: ''
    returnType: QVariant
    signature: "QVariant DialogsProvider::getTextDialog(QWidget *parent,\n                                        const
      QString &title,\n                                        const QString &label,\n
      \                                       const QString &placeholder,\n                                        bool
      *ok)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:158,1
    - Dst: setProperty
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:159,1
    - Dst: libvlc_Quit
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:160,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (qApp)
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    constantsTouched: []
    func_position:
      end: 161
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 161
    functionName: DialogsProvider::quit
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached:
    - assert
    - setProperty
    - libvlc_Quit
    - vlc_object_instance
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::quit()
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:165,1
    - Dst: static_cast<DialogEvent*>
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:167,1
    - Dst: DialogsProvider::openDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:172,1
    - Dst: DialogsProvider::openFileGenericDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:174,1
    - Dst: DialogsProvider::openDiscDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:176,1
    - Dst: DialogsProvider::openNetDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:178,1
    - Dst: DialogsProvider::openCaptureDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:181,1
    - Dst: DialogsProvider::PLAppendDir
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:183,1
    - Dst: DialogsProvider::messagesDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:191,1
    - Dst: DialogsProvider::mediaInfoDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:193,1
    - Dst: DialogsProvider::prefsDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:195,1
    - Dst: DialogsProvider::bookmarksDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:197,1
    - Dst: DialogsProvider::extendedDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:199,1
    - Dst: DialogsProvider::sendKey
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:201,1
    - Dst: DialogsProvider::vlmDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:204,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:208,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:215,1
    - Dst: VLCMenuBar::PopupMenu
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:215,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:221,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:224,1
    - Dst: VLCMenuBar::AudioPopupMenu
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:224,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:229,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:232,1
    - Dst: VLCMenuBar::VideoPopupMenu
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:232,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:237,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:240,1
    - Dst: VLCMenuBar::MiscPopupMenu
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:240,1
    - Dst: DialogsProvider::openAndStreamingDialogs
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:245,1
    - Dst: DialogsProvider::updateDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:248,1
    - Dst: DialogsProvider::quit
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:251,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:253,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 85
    argCount: 1
    argNames:
    - event
    argTypes:
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 256
    functionName: DialogsProvider::customEvent
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached:
    - VLCMenuBar::VideoPopupMenu
    - DialogsProvider::openDialog
    - DialogsProvider::updateDialog
    - DialogsProvider::openNetDialog
    - DialogsProvider::vlmDialog
    - DialogsProvider::openAndStreamingDialogs
    - QEvent*::type
    - VLCMenuBar::PopupMenu
    - DialogsProvider::openFileGenericDialog
    - DialogsProvider::bookmarksDialog
    - msg_Warn
    - DialogsProvider::prefsDialog
    - DialogsProvider::openCaptureDialog
    - VLCMenuBar::MiscPopupMenu
    - DialogsProvider::openDiscDialog
    - reset
    - DialogsProvider::mediaInfoDialog
    - DialogsProvider::quit
    - DialogsProvider::extendedDialog
    - DialogsProvider::PLAppendDir
    - VLCMenuBar::AudioPopupMenu
    - DialogsProvider::messagesDialog
    - static_cast<DialogEvent*>
    - DialogsProvider::sendKey
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::customEvent( QEvent *event )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:259,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:260,1
    - Dst: QEvent*::type
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:268,1
    - Dst: ALL_DIALOG
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - watched
    - event
    argTypes:
    - QObject*
    - QEvent*
    assertStmts:
    - condition: (event)
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    - condition: (watched)
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    constantsTouched: []
    func_position:
      end: 281
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 281
    functionName: DialogsProvider::eventFilter
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached:
    - QEvent*::type
    - ALL_DIALOG
    - assert
    linkageType: ''
    returnType: bool
    signature: bool DialogsProvider::eventFilter(QObject *watched, QEvent *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dialog
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 267
    functionName: CASE_DIALOG
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CASE_DIALOG(dialog)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_LIKELY
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:292,1
    - Dst: PrefsDialog::PrefsDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:294,1
    - Dst: setAttribute
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:295,1
    - Dst: installEventFilter
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:296,1
    - Dst: open
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:297,1
    - Dst: reject
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 303
    functionName: DialogsProvider::prefsDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 1
    functionsReached:
    - Q_LIKELY
    - setAttribute
    - reject
    - PrefsDialog::PrefsDialog
    - open
    - installEventFilter
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::prefsDialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::ensureDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:307,1
    - Dst: QVLCDialog::setWindowTransientParent
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:308,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:308,1
    - Dst: show
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 310
    functionName: DialogsProvider::firstRunDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached:
    - show
    - get
    - QVLCDialog::setWindowTransientParent
    - DialogsProvider::ensureDialog
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::firstRunDialog()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::ensureDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:314,1
    - Dst: isVisible
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:315,1
    - Dst: currentTab
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:316,1
    - Dst: showTab
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:317,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: DialogsProvider::extendedDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 1
    functionsReached:
    - hide
    - isVisible
    - currentTab
    - showTab
    - DialogsProvider::ensureDialog
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::extendedDialog()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::ensureDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:324,1
    - Dst: isVisible
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:325,1
    - Dst: currentTab
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:326,1
    - Dst: showTab
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:327,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 330
    functionName: DialogsProvider::synchroDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached:
    - hide
    - isVisible
    - currentTab
    - showTab
    - DialogsProvider::ensureDialog
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::synchroDialog()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::ensureDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:334,1
    - Dst: isVisible
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:335,1
    - Dst: showTab
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:336,1
    - Dst: toggleVisible
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - page
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 339
    functionName: DialogsProvider::messagesDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 1
    functionsReached:
    - isVisible
    - DialogsProvider::ensureDialog
    - showTab
    - toggleVisible
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::messagesDialog(int page)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::toggleDialogVisible
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: DialogsProvider::gotoTimeDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached:
    - DialogsProvider::toggleDialogVisible
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::gotoTimeDialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::toggleDialogVisible
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: DialogsProvider::vlmDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 1
    functionsReached:
    - DialogsProvider::toggleDialogVisible
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::vlmDialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::toggleDialogVisible
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: DialogsProvider::helpDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached:
    - DialogsProvider::toggleDialogVisible
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::helpDialog()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::ensureDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:361,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:362,1
    - Dst: show
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:367,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:370,1
    - Dst: DialogsProvider::toggleDialogVisible
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - mode
    argTypes:
    - Mode
    assertStmts:
    - condition: (m_updateDialog)
      pos:
        line_end: 361
        line_start: 361
        source_file: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    constantsTouched: []
    func_position:
      end: 376
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 376
    functionName: DialogsProvider::updateDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 1
    functionsReached:
    - assert
    - hide
    - show
    - DialogsProvider::toggleDialogVisible
    - DialogsProvider::ensureDialog
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::updateDialog(Mode mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::toggleDialogVisible
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: DialogsProvider::aboutDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached:
    - DialogsProvider::toggleDialogVisible
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::aboutDialog()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::ensureDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:386,1
    - Dst: isVisible
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:387,1
    - Dst: currentTab
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:387,1
    - Dst: showTab
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:388,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 391
    functionName: DialogsProvider::mediaInfoDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 1
    functionsReached:
    - hide
    - isVisible
    - currentTab
    - showTab
    - DialogsProvider::ensureDialog
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::mediaInfoDialog( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:395,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:395,1
    - Dst: MediaInfoDialog::MediaInfoDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:397,1
    - Dst: MediaInfoDialog*::setWindowFlag
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:398,1
    - Dst: MediaInfoDialog*::setAttribute
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:399,1
    - Dst: MediaInfoDialog*::showTab
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' inputItem'
    argTypes:
    - SharedInputItem
    assertStmts:
    - condition: (inputItem.get())
      pos:
        line_end: 394
        line_start: 394
        source_file: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    constantsTouched: []
    func_position:
      end: 401
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 401
    functionName: DialogsProvider::mediaInfoDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 1
    functionsReached:
    - assert
    - MediaInfoDialog::MediaInfoDialog
    - get
    - MediaInfoDialog*::setWindowFlag
    - MediaInfoDialog*::showTab
    - MediaInfoDialog*::setAttribute
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::mediaInfoDialog( const SharedInputItem& inputItem
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: raw
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:407,1
    - Dst: vlc_playlist_item_GetMedia
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:411,1
    - Dst: DialogsProvider::mediaInfoDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' pItem'
    argTypes:
    - PlaylistItem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 418
    functionName: DialogsProvider::mediaInfoDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 2
    functionsReached:
    - vlc_playlist_item_GetMedia
    - raw
    - DialogsProvider::mediaInfoDialog
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::mediaInfoDialog( const PlaylistItem& pItem )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:422,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:424,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:425,1
    - Dst: vlc_ml_get_input_item
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:427,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:428,1
    - Dst: input_item_IsPreparsed
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:431,1
    - Dst: DialogsProvider::mediaInfoDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:433,1
    - Dst: static_cast<DialogsProvider *>
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:440,1
    - Dst: qWarning
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:443,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:447,1
    - Dst: auto::m_parser::reset
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:448,1
    - Dst: auto::mediaInfoDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:449,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:465,1
    - Dst: input_item_Parse
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:465,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ' itemId'
    argTypes:
    - MLItemId
    assertStmts:
    - condition: ( p_intf )
      pos:
        line_end: 421
        line_start: 421
        source_file: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    - condition: ( inputItem )
      pos:
        line_end: 427
        line_start: 427
        source_file: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    - condition: ( ml )
      pos:
        line_end: 424
        line_start: 424
        source_file: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    constantsTouched: []
    func_position:
      end: 469
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 469
    functionName: DialogsProvider::mediaInfoDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 3
    functionsReached:
    - auto::m_parser::reset
    - input_item_Parse
    - assert
    - vlc::wrap_cptr
    - auto::mediaInfoDialog
    - static_cast<DialogsProvider *>
    - DialogsProvider::mediaInfoDialog
    - vlc_ml_get_input_item
    - input_item_IsPreparsed
    - VLC_OBJECT
    - QMetaObject::invokeMethod
    - vlc_ml_instance_get
    - qWarning
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::mediaInfoDialog( const MLItemId& itemId )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QMessageBox::setText
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:474,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:475,1
    - Dst: QMessageBox::setWindowTitle
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:476,1
    - Dst: QMessageBox::setIcon
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:477,1
    - Dst: QMessageBox::setStandardButtons
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:478,1
    - Dst: QMessageBox::StandardButtons
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:478,1
    - Dst: QMessageBox::setDefaultButton
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:479,1
    - Dst: QVLCDialog::setWindowTransientParent
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:481,1
    - Dst: QMessageBox::exec
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' text'
    - title
    argTypes:
    - QString
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 485
    functionName: DialogsProvider::questionDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached:
    - QMessageBox::setIcon
    - QString::isEmpty
    - QMessageBox::setStandardButtons
    - QMessageBox::setText
    - QVLCDialog::setWindowTransientParent
    - QMessageBox::exec
    - QMessageBox::setWindowTitle
    - QMessageBox::StandardButtons
    - QMessageBox::setDefaultButton
    linkageType: ''
    returnType: bool
    signature: bool DialogsProvider::questionDialog(const QString& text, const QString
      &title) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::ensureDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:489,1
    - Dst: isVisible
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:491,1
    - Dst: currentTab
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:491,1
    - Dst: showTab
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:492,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 495
    functionName: DialogsProvider::mediaCodecDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached:
    - hide
    - isVisible
    - currentTab
    - showTab
    - DialogsProvider::ensureDialog
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::mediaCodecDialog()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QMessageBox::setText
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:505,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:507,1
    - Dst: QMessageBox::setWindowTitle
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:508,1
    - Dst: QMessageBox::setIcon
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:511,1
    - Dst: QMessageBox::setStandardButtons
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:514,1
    - Dst: QMessageBox::setDefaultButton
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:517,1
    - Dst: QVLCDialog::setWindowTransientParent
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:519,1
    - Dst: static_cast<QMessageBox::StandardButton>
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:521,1
    - Dst: QMessageBox::exec
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:521,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - text
    - title
    - buttons
    - defaultButton
    - icon
    argTypes:
    - QString
    - QString
    - QMessageBox::StandardButtons
    - QMessageBox::StandardButton
    - QMessageBox::Icon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 522
    functionName: DialogsProvider::messageDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached:
    - QMessageBox::setIcon
    - QString::isEmpty
    - QMessageBox::setStandardButtons
    - QMessageBox::setText
    - QVLCDialog::setWindowTransientParent
    - QMessageBox::exec
    - QMessageBox::setWindowTitle
    - QMessageBox::setDefaultButton
    - static_cast<QMessageBox::StandardButton>
    linkageType: ''
    returnType: QMessageBox::StandardButton
    signature: "QMessageBox::StandardButton DialogsProvider::messageDialog(const QString
      &text,\n                                                           const QString
      &title,\n                                                           const QMessageBox::StandardButtons
      buttons,\n                                                           const QMessageBox::StandardButton
      defaultButton,\n                                                           const
      QMessageBox::Icon icon)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistsDialog::PlaylistsDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:526,1
    - Dst: auto::setAttribute
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:527,1
    - Dst: auto::show
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' medias'
    - type
    argTypes:
    - QVariantList
    - MLPlaylistListModel::PlaylistType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 529
    functionName: DialogsProvider::playlistsDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached:
    - auto::setAttribute
    - PlaylistsDialog::PlaylistsDialog
    - auto::show
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::playlistsDialog( const QVariantList & medias,
      MLPlaylistListModel::PlaylistType type )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::toggleDialogVisible
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 534
    functionName: DialogsProvider::bookmarksDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 1
    functionsReached:
    - DialogsProvider::toggleDialogVisible
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::bookmarksDialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::toggleDialogVisible
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 539
    functionName: DialogsProvider::podcastConfigureDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached:
    - DialogsProvider::toggleDialogVisible
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::podcastConfigureDialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::toggleDialogVisible
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: DialogsProvider::pluginDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached:
    - DialogsProvider::toggleDialogVisible
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::pluginDialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::toggleDialogVisible
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 549
    functionName: DialogsProvider::epgDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached:
    - DialogsProvider::toggleDialogVisible
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::epgDialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:553,1
    - Dst: VLCMenuBar::PopupMenu
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 554
    functionName: DialogsProvider::setPopupMenu
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached:
    - VLCMenuBar::PopupMenu
    - reset
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::setPopupMenu()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 559
    functionName: DialogsProvider::destroyPopupMenu
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::destroyPopupMenu()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:566,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:572,1
    - Dst: QString::indexOf
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:573,1
    - Dst: QString::count
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:575,1
    - Dst: QString::replace
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:576,1
    - Dst: QString::replace
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:578,1
    - Dst: QString::replace
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:580,1
    - Dst: QString::append
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:581,1
    - Dst: DialogsProvider::getSaveFileName
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:586,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:587,1
    - Dst: p_mi::getDialogFilePath
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:588,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:589,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:592,1
    - Dst: strdup
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:593,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:593,1
    - Dst: toNativeSepNoSlash
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:593,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:593,1
    - Dst: QFileDialog::getOpenFileUrls
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:600,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:600,1
    - Dst: p_mi::getDialogFilePath
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:601,1
    - Dst: QList::count
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:602,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:603,1
    - Dst: strdup
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:606,1
    - Dst: toEncoded
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:606,1
    - Dst: QList::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:607,1
    - Dst: p_mi::setDialogFilePath
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:608,1
    - Dst: QList::last
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:608,1
    - Dst: intf_dialog_args_t*::pf_callback
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:613,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:619,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:620,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:622,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:623,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:624,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 1
    argNames:
    - p_arg
    argTypes:
    - intf_dialog_args_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 562
    functionDepth: 3
    functionLinenumber: 562
    functionLinenumberEnd: 625
    functionName: DialogsProvider::openFileGenericDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 1
    functionsReached:
    - QString::replace
    - QList::last
    - DialogsProvider::getSaveFileName
    - toNativeSepNoSlash
    - std::move
    - intf_dialog_args_t*::pf_callback
    - vlc_alloc
    - qfu
    - QList::isEmpty
    - QFileDialog::getOpenFileUrls
    - QString::append
    - QString::isEmpty
    - qtu
    - msg_Warn
    - toEncoded
    - strdup
    - QString::indexOf
    - p_mi::getDialogFilePath
    - p_mi::setDialogFilePath
    - free
    - QString::count
    - QList::count
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::openFileGenericDialog( intf_dialog_args_t *p_arg
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::ensureDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:633,1
    - Dst: showTab
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i_tab
    argTypes:
    - OpenDialog::OpenTab
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 635
    functionName: DialogsProvider::openDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 1
    functionsReached:
    - DialogsProvider::ensureDialog
    - showTab
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::openDialog( OpenDialog::OpenTab i_tab )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::openDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 639
    functionName: DialogsProvider::openDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 2
    functionsReached:
    - DialogsProvider::openDialog
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::openDialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::openDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 640
    functionDepth: 2
    functionLinenumber: 640
    functionLinenumberEnd: 643
    functionName: DialogsProvider::openFileDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached:
    - DialogsProvider::openDialog
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::openFileDialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::openDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 644
    functionDepth: 2
    functionLinenumber: 644
    functionLinenumberEnd: 647
    functionName: DialogsProvider::openDiscDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 1
    functionsReached:
    - DialogsProvider::openDialog
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::openDiscDialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::openDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 648
    functionDepth: 2
    functionLinenumber: 648
    functionLinenumberEnd: 651
    functionName: DialogsProvider::openNetDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 1
    functionsReached:
    - DialogsProvider::openDialog
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::openNetDialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::openDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 652
    functionDepth: 2
    functionLinenumber: 652
    functionLinenumberEnd: 655
    functionName: DialogsProvider::openCaptureDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 1
    functionsReached:
    - DialogsProvider::openDialog
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::openCaptureDialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::ensureDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:660,1
    - Dst: showTab
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tab
    argTypes:
    - OpenDialog::OpenTab
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 658
    functionDepth: 1
    functionLinenumber: 658
    functionLinenumberEnd: 662
    functionName: DialogsProvider::PLAppendDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached:
    - DialogsProvider::ensureDialog
    - showTab
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::PLAppendDialog( OpenDialog::OpenTab tab )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ADD_EXT_FILTER
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:673,1
    - Dst: ADD_EXT_FILTER
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:676,1
    - Dst: ADD_EXT_FILTER
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:679,1
    - Dst: ADD_EXT_FILTER
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:682,1
    - Dst: ADD_EXT_FILTER
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:685,1
    - Dst: ADD_EXT_FILTER
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:687,1
    - Dst: QString::replace
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:688,1
    - Dst: QString::chop
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:689,1
    - Dst: QFileDialog::getOpenFileUrls
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:691,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:692,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:692,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:693,1
    - Dst: p_mi::getDialogFilePath
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:693,1
    - Dst: QList::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:696,1
    - Dst: p_mi::setDialogFilePath
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:697,1
    - Dst: QList::last
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:697,1
    - Dst: toEncoded
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:701,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - ' help'
    - filters
    - ' path'
    argTypes:
    - QString
    - int
    - QUrl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 704
    functionName: DialogsProvider::showSimpleOpen
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached:
    - qfut
    - QString::replace
    - toEncoded
    - QList::last
    - p_mi::getDialogFilePath
    - p_mi::setDialogFilePath
    - ADD_EXT_FILTER
    - isEmpty
    - QString::chop
    - QList::isEmpty
    - QFileDialog::getOpenFileUrls
    linkageType: ''
    returnType: QStringList
    signature: "QStringList DialogsProvider::showSimpleOpen( const QString& help,\n
      \                                            int filters,\n                                             const
      QUrl& path )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::showSimpleOpen
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:708,1
    - Dst: QStringList::sort
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:710,1
    - Dst: QVector::push_back
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:713,1
    - Dst: QVector::empty
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:714,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:715,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - start
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 706
    functionDepth: 2
    functionLinenumber: 706
    functionLinenumberEnd: 716
    functionName: DialogsProvider::simpleOpenDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached:
    - append
    - QVector::push_back
    - QVector::empty
    - QStringList::sort
    - DialogsProvider::showSimpleOpen
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::simpleOpenDialog(bool start)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OpenUrlDialog::exec
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:726,1
    - Dst: OpenUrlDialog::url
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:729,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:730,1
    - Dst: QString::contains
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:734,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:734,1
    - Dst: vlc_path2uri
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:736,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:736,1
    - Dst: vlc_uri_fixup
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:738,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:738,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:743,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:744,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:747,1
    - Dst: OpenUrlDialog::shouldEnqueue
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:747,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 748
    functionName: DialogsProvider::openUrlDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached:
    - append
    - QString::isEmpty
    - OpenUrlDialog::shouldEnqueue
    - OpenUrlDialog::exec
    - QString::contains
    - vlc_uri_fixup
    - free
    - qtu
    - OpenUrlDialog::url
    - qfu
    - vlc_path2uri
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::openUrlDialog()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::getDirectoryDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:758,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:759,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:762,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_intf
    - go
    argTypes:
    - qt_intf_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 764
    functionName: openDirectory
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached:
    - append
    - DialogsProvider::getDirectoryDialog
    - QString::isEmpty
    linkageType: ''
    returnType: void
    signature: void openDirectory( qt_intf_t *p_intf, bool go )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QStringList
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:768,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:768,1
    - Dst: QFileDialog::getExistingDirectoryUrl
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:769,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:770,1
    - Dst: qt_intf_t*::p_mi::getDialogFilePath
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:770,1
    - Dst: QUrl::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:773,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:773,1
    - Dst: qt_intf_t*::p_mi::setDialogFilePath
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:775,1
    - Dst: QUrl::toLocalFile
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:777,1
    - Dst: QString::endsWith
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:779,1
    - Dst: QString::endsWith
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:781,1
    - Dst: QString::remove
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:784,1
    - Dst: vlc_path2uri
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:787,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:787,1
    - Dst: toNativeSeparators
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:787,1
    - Dst: unlikely
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:788,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:789,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:791,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:792,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - p_intf
    argTypes:
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 795
    functionName: DialogsProvider::getDirectoryDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 1
    functionsReached:
    - qfut
    - QStringLiteral
    - QUrl::isEmpty
    - QStringList
    - qt_intf_t*::p_mi::getDialogFilePath
    - QString
    - QUrl::toLocalFile
    - QString::endsWith
    - qfu
    - free
    - qt_intf_t*::p_mi::setDialogFilePath
    - QString::remove
    - qtu
    - toNativeSeparators
    - QFileDialog::getExistingDirectoryUrl
    - unlikely
    - vlc_path2uri
    linkageType: ''
    returnType: QString
    signature: QString DialogsProvider::getDirectoryDialog( qt_intf_t *p_intf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openDirectory
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 797
    functionDepth: 2
    functionLinenumber: 797
    functionLinenumberEnd: 800
    functionName: DialogsProvider::PLOpenDir
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached:
    - openDirectory
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::PLOpenDir()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openDirectory
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 802
    functionDepth: 2
    functionLinenumber: 802
    functionLinenumberEnd: 805
    functionName: DialogsProvider::PLAppendDir
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 1
    functionsReached:
    - openDirectory
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::PLAppendDir()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: N_
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:818,1
    - Dst: N_
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:819,1
    - Dst: N_
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:820,1
    - Dst: N_
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:821,1
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:825,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:827,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:829,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:830,1
    - Dst: QStringList::insert
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:831,1
    - Dst: QStringList::append
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:833,1
    - Dst: DialogsProvider::getSaveFileName
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:837,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:838,1
    - Dst: p_mi::getDialogFilePath
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:839,1
    - Dst: QStringList::join
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:839,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:844,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:848,1
    - Dst: QString::endsWith
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:850,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:850,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:850,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:861,1
    - Dst: QString::startsWith
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:863,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:863,1
    - Dst: QString::append
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:868,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:868,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:868,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:876,1
    - Dst: vlc_playlist_Export
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:877,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:878,1
    - Dst: toNativeSeparators
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:878,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:880,1
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:881,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 810
    functionDepth: 3
    functionLinenumber: 810
    functionLinenumberEnd: 883
    functionName: DialogsProvider::savePlayingToPlaylist
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached:
    - QString
    - N_
    - vlc_playlist_Unlock
    - DialogsProvider::getSaveFileName
    - qfu
    - QString::append
    - ARRAY_SIZE
    - QString::isEmpty
    - qtu
    - vlc_playlist_Export
    - QString::startsWith
    - QStringList::insert
    - QStringList::join
    - QString::endsWith
    - vlc_playlist_Lock
    - qtr
    - qfut
    - QStringList::append
    - p_mi::getDialogFilePath
    - toNativeSeparators
    - getSettings
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::savePlayingToPlaylist()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SoutDialog::SoutDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:901,1
    - Dst: SoutDialog*::setAttribute
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:902,1
    - Dst: SoutDialog*::exec
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:903,1
    - Dst: QStringList::append
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:905,1
    - Dst: SoutDialog*::getChain
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:905,1
    - Dst: ConvertDialog::ConvertDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:914,1
    - Dst: ConvertDialog*::setAttribute
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:915,1
    - Dst: ConvertDialog*::exec
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:916,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:920,1
    - Dst: ConvertDialog*::getMrls
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:921,1
    - Dst: QStringList::cbegin
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:933,1
    - Dst: QStringList::cend
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:933,1
    - Dst: std::distance
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:935,1
    - Dst: QStringList::cbegin
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:935,1
    - Dst: QVector::append
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:937,1
    - Dst: VLCVideo::playMedia
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:937,1
    - Dst: split
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:937,1
    - Dst: QVector::empty
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:940,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:941,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - parent
    - ' mrls'
    - b_transcode_only
    - options
    argTypes:
    - QWindow*
    - QStringList
    - bool
    - QStringList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 889
    functionDepth: 2
    functionLinenumber: 889
    functionLinenumberEnd: 942
    functionName: DialogsProvider::streamingDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached:
    - SoutDialog*::getChain
    - append
    - QVector::append
    - QStringList::append
    - QStringList::cbegin
    - ConvertDialog*::setAttribute
    - std::distance
    - QVector::empty
    - ConvertDialog*::exec
    - clear
    - split
    - SoutDialog*::setAttribute
    - ConvertDialog::ConvertDialog
    - ConvertDialog*::getMrls
    - QStringList::cend
    - SoutDialog::SoutDialog
    - SoutDialog*::exec
    - VLCVideo::playMedia
    linkageType: ''
    returnType: void
    signature: "void DialogsProvider::streamingDialog( QWindow *parent,\n                                       const
      QStringList& mrls,\n                                       bool b_transcode_only,\n
      \                                      QStringList options )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QList<QUrl>::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:946,1
    - Dst: transform
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:950,1
    - Dst: QList<QUrl>::begin
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:950,1
    - Dst: QList<QUrl>::end
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:951,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:952,1
    - Dst: toString
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:953,1
    - Dst: DialogsProvider::streamingDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - urls
    - b_stream
    argTypes:
    - QList<QUrl>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 944
    functionDepth: 1
    functionLinenumber: 944
    functionLinenumberEnd: 956
    functionName: DialogsProvider::streamingDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 1
    functionsReached:
    - transform
    - QList<QUrl>::end
    - std::back_inserter
    - DialogsProvider::streamingDialog
    - QList<QUrl>::begin
    - toString
    - QList<QUrl>::isEmpty
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::streamingDialog(const QList<QUrl> &urls, bool
      b_stream )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::ensureDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:960,1
    - Dst: showTab
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 958
    functionDepth: 1
    functionLinenumber: 958
    functionLinenumberEnd: 962
    functionName: DialogsProvider::openAndStreamingDialogs
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 1
    functionsReached:
    - DialogsProvider::ensureDialog
    - showTab
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::openAndStreamingDialogs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::ensureDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:966,1
    - Dst: showTab
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 964
    functionDepth: 1
    functionLinenumber: 964
    functionLinenumberEnd: 968
    functionName: DialogsProvider::openAndTranscodingDialogs
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached:
    - DialogsProvider::ensureDialog
    - showTab
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::openAndTranscodingDialogs()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getInput
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:972,1
    - Dst: input_item_GetURI
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:975,1
    - Dst: QUrl::setUrl
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:979,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:979,1
    - Dst: QUrl::adjusted
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:980,1
    - Dst: QUrl::scheme
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:981,1
    - Dst: QUrl::clear
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:982,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:983,1
    - Dst: DialogsProvider::showSimpleOpen
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:986,1
    - Dst: AddAssociatedMedia
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:993,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:994,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:994,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - category
    - filter
    - dialogTitle
    argTypes:
    - es_format_category_e
    - int
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 970
    functionDepth: 2
    functionLinenumber: 970
    functionLinenumberEnd: 996
    functionName: DialogsProvider::loadMediaFile
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached:
    - QUrl::setUrl
    - getInput
    - QUrl::scheme
    - DialogsProvider::showSimpleOpen
    - qfu
    - QUrl::adjusted
    - QUrl::clear
    - free
    - qtu
    - AddAssociatedMedia
    - msg_Warn
    - input_item_GetURI
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::loadMediaFile( const es_format_category_e category,
      const int filter , const QString &dialogTitle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AddAssociatedMedia
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:993,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:994,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:994,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - qsUrl
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 990
    functionDepth: 1
    functionLinenumber: 990
    functionLinenumberEnd: 995
    functionName: foreach
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 49
    functionsReached:
    - qtu
    - AddAssociatedMedia
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: void foreach( const QString &qsUrl, qsl )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::loadMediaFile
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:1000,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:1000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 998
    functionDepth: 3
    functionLinenumber: 998
    functionLinenumberEnd: 1001
    functionName: DialogsProvider::loadSubtitlesFile
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached:
    - DialogsProvider::loadMediaFile
    - qtr
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::loadSubtitlesFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::loadMediaFile
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:1005,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:1005,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 1003
    functionDepth: 3
    functionLinenumber: 1003
    functionLinenumberEnd: 1006
    functionName: DialogsProvider::loadAudioFile
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached:
    - DialogsProvider::loadMediaFile
    - qtr
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::loadAudioFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::loadMediaFile
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:1010,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:1010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 1008
    functionDepth: 3
    functionLinenumber: 1008
    functionLinenumberEnd: 1011
    functionName: DialogsProvider::loadVideoFile
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached:
    - DialogsProvider::loadMediaFile
    - qtr
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::loadVideoFile()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:1026,1
    - Dst: VLCMenuBar::PopupMenu
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:1026,1
    - Dst: unlikely
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:1027,1
    - Dst: findChildren
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:1032,1
    - Dst: QList::size
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:1033,1
    - Dst: QList::at
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:1035,1
    - Dst: QAction*::shortcut
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:1036,1
    - Dst: QAction*::trigger
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:1039,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:1045,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:1045,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1018
    functionDepth: 1
    functionLinenumber: 1018
    functionLinenumberEnd: 1046
    functionName: DialogsProvider::sendKey
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 1
    functionsReached:
    - QList::at
    - VLCMenuBar::PopupMenu
    - vlc_object_instance
    - QAction*::shortcut
    - reset
    - var_SetInteger
    - findChildren
    - QAction*::trigger
    - QList::size
    - unlikely
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::sendKey( int key )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<T>
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:1053,1
    - Dst: installEventFilter
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:1055,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' dialog'
    argTypes:
    - std::unique_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1057
    functionName: DialogsProvider::ensureDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 11
    functionsReached:
    - installEventFilter
    - std::make_unique<T>
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::ensureDialog(std::unique_ptr<T>& dialog)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::ensureDialog
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:1061,1
    - Dst: toggleVisible
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp:1062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' dialog'
    argTypes:
    - std::unique_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1060
    functionDepth: 1
    functionLinenumber: 1060
    functionLinenumberEnd: 1063
    functionName: DialogsProvider::toggleDialogVisible
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 9
    functionsReached:
    - DialogsProvider::ensureDialog
    - toggleVisible
    linkageType: ''
    returnType: void
    signature: void DialogsProvider::toggleDialogVisible(std::unique_ptr<T>& dialog)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dialog
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1071
    functionName: DIALOG_VISIBLE_GETTER
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIALOG_VISIBLE_GETTER(dialog)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - string
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: ADD_EXT_FILTER
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_EXT_FILTER( string, type )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Singleton<DialogsProvider>::getInstance<false>
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.hpp:128,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.hpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( instance )
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.hpp
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: DialogsProvider::getInstance
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.hpp
    functionUses: 4
    functionsReached:
    - Singleton<DialogsProvider>::getInstance<false>
    - assert
    linkageType: ''
    returnType: DialogsProvider
    signature: DialogsProvider *getInstance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::getInstance
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.hpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_intf
    argTypes:
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: DialogsProvider::getInstance
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.hpp
    functionUses: 5
    functionsReached:
    - DialogsProvider::getInstance
    linkageType: ''
    returnType: DialogsProvider
    signature: DialogsProvider *getInstance( qt_intf_t *p_intf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: DialogsProvider::isDying
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDying()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - _i_dialog
    - _i_arg
    - _p_arg
    argTypes:
    - int
    - int
    - intf_dialog_args_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 322
    functionName: DialogEvent::DialogEvent
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs_provider.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DialogEvent( int _i_dialog, int _i_arg, intf_dialog_args_t *_p_arg
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:70,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:71,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:72,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - type
    - msg
    - text
    argTypes:
    - int
    - vlc_log_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: MsgEvent::MsgEvent
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp
    functionUses: 0
    functionsReached:
    - qfu
    linkageType: ''
    returnType: void
    signature: void MsgEvent::MsgEvent( int type, const vlc_log_t *msg, const char
      *text )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setWindowTitle
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:80,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:80,1
    - Dst: setWindowRole
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:81,1
    - Dst: setupUi
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:83,1
    - Dst: bottomButtonsBox::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:84,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:84,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:84,1
    - Dst: DialogErrorModel::getInstance<false>
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:88,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:89,1
    - Dst: DialogErrorModel*::count
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:90,1
    - Dst: MessagesDialog::addError
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:91,1
    - Dst: modulesTree::setHeaderHidden
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:94,1
    - Dst: saveLogButton::setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:97,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:97,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:99,1
    - Dst: MessagesDialog::changeVerbosity
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:100,1
    - Dst: verbosityBox::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:101,1
    - Dst: qMin
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:101,1
    - Dst: filterEdit::setText
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:103,1
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:103,1
    - Dst: QToolButton::QToolButton
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:105,1
    - Dst: setIcon
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:106,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:106,1
    - Dst: setAutoRaise
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:107,1
    - Dst: mainTab::setCornerWidget
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:108,1
    - Dst: QWidget::QWidget
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:111,1
    - Dst: QVBoxLayout::QVBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:112,1
    - Dst: QWidget*::setLayout
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:113,1
    - Dst: mainTab::addTab
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:114,1
    - Dst: QTreeWidget::QTreeWidget
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:115,1
    - Dst: headerItem
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:116,1
    - Dst: headerItem
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:117,1
    - Dst: headerItem
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:118,1
    - Dst: headerItem
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:119,1
    - Dst: headerItem
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:120,1
    - Dst: setColumnCount
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:121,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:122,1
    - Dst: MessagesDialog::tabChanged
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:125,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:127,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:128,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:129,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:130,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:131,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:132,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:132,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:135,1
    - Dst: restoreWidgetPosition
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:138,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:138,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:146,1
    - Dst: vlc_LogSet
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:148,1
    - Dst: MessagesDialog::buildTree
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:150,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 1
    argNames:
    - _p_intf
    argTypes:
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 151
    functionName: MessagesDialog::MessagesDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp
    functionUses: 0
    functionsReached:
    - QIcon
    - setWindowRole
    - qMin
    - modulesTree::setHeaderHidden
    - connect
    - BUTTONACT
    - QVBoxLayout*::addWidget
    - setAutoRaise
    - QToolButton::QToolButton
    - DialogErrorModel::getInstance<false>
    - QWidget*::setLayout
    - mainTab::addTab
    - vlc_LogSet
    - headerItem
    - QTreeWidget::QTreeWidget
    - restoreWidgetPosition
    - MessagesDialog::addError
    - QVBoxLayout::QVBoxLayout
    - MessagesDialog::changeVerbosity
    - go_eof
    - setWindowTitle
    - saveLogButton::setToolTip
    - qtr
    - var_InheritInteger
    - setIcon
    - mainTab::setCornerWidget
    - QWidget::QWidget
    - vlc_object_instance
    - QPushButton::QPushButton
    - verbosityBox::setValue
    - MessagesDialog::buildTree
    - setupUi
    - MessagesDialog::tabChanged
    - bottomButtonsBox::addButton
    - DialogErrorModel*::count
    - VLC_OBJECT
    - setColumnCount
    - QSize
    - filterEdit::setText
    - getSettings
    linkageType: ''
    returnType: void
    signature: void MessagesDialog::MessagesDialog( qt_intf_t *_p_intf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: saveWidgetPosition
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:155,1
    - Dst: vlc_LogSet
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:156,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: MessagesDialog::~MessagesDialog()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp
    functionUses: 0
    functionsReached:
    - saveWidgetPosition
    - vlc_object_instance
    - vlc_LogSet
    linkageType: ''
    returnType: void
    signature: void MessagesDialog::~MessagesDialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_verbosity
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: MessagesDialog::changeVerbosity
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MessagesDialog::changeVerbosity( int i_verbosity )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:166,1
    - Dst: filterEdit::text
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: MessagesDialog::updateConfig
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp
    functionUses: 0
    functionsReached:
    - getSettings
    - filterEdit::text
    linkageType: ''
    returnType: void
    signature: void MessagesDialog::updateConfig()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DialogErrorModel::getInstance<false>
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:170,1
    - Dst: QPlainTextEdit*::verticalScrollBar
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:174,1
    - Dst: QPlainTextEdit*::verticalScrollBar
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:175,1
    - Dst: QPlainTextEdit*::verticalScrollBar
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:176,1
    - Dst: QPlainTextEdit*::textCursor
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:179,1
    - Dst: QPlainTextEdit*::copy
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:180,1
    - Dst: QPlainTextEdit*::textCursor
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:183,1
    - Dst: QPlainTextEdit*::textCursor
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:184,1
    - Dst: QPlainTextEdit*::textCursor
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:184,1
    - Dst: QPlainTextEdit*::moveCursor
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:185,1
    - Dst: QPlainTextEdit*::document
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:188,1
    - Dst: QPlainTextEdit*::textCursor
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:189,1
    - Dst: QTextCharFormat::setProperty
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:193,1
    - Dst: QTextCharFormat::setForeground
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:194,1
    - Dst: QPlainTextEdit*::textCursor
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:195,1
    - Dst: DialogErrorModel*::data
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:195,1
    - Dst: DialogErrorModel*::index
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:195,1
    - Dst: QTextCharFormat::setProperty
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:197,1
    - Dst: QTextCharFormat::setForeground
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:198,1
    - Dst: QPlainTextEdit*::palette
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:198,1
    - Dst: QPlainTextEdit*::textCursor
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:199,1
    - Dst: DialogErrorModel*::data
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:199,1
    - Dst: DialogErrorModel*::index
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:199,1
    - Dst: QPlainTextEdit*::ensureCursorVisible
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - row
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 202
    functionName: MessagesDialog::addError
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp
    functionUses: 1
    functionsReached:
    - QPlainTextEdit*::textCursor
    - QPlainTextEdit*::copy
    - QPlainTextEdit*::ensureCursorVisible
    - QTextCharFormat::setProperty
    - QTextCharFormat::setForeground
    - DialogErrorModel::getInstance<false>
    - QPlainTextEdit*::palette
    - QPlainTextEdit*::document
    - DialogErrorModel*::data
    - QPlainTextEdit*::moveCursor
    - QPlainTextEdit*::verticalScrollBar
    - DialogErrorModel*::index
    linkageType: ''
    returnType: void
    signature: void MessagesDialog::addError(int row)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::getInstance
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:205,1
    - Dst: MessagesDialog::addError
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:206,1
    - Dst: DialogErrorModel*::count
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 3
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: MessagesDialog::errorsCountChanged
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp
    functionUses: 0
    functionsReached:
    - DialogsProvider::getInstance
    - DialogErrorModel*::count
    - MessagesDialog::addError
    linkageType: ''
    returnType: void
    signature: void MessagesDialog::errorsCountChanged()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QPlainTextEdit*::document
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:213,1
    - Dst: QTextBlock::isValid
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:215,1
    - Dst: QTextBlock::setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:217,1
    - Dst: MessagesDialog::matchFilter
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:217,1
    - Dst: QTextBlock::text
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:217,1
    - Dst: QTextBlock::next
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:218,1
    - Dst: QPlainTextEdit*::document
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:222,1
    - Dst: QPlainTextEdit*::document
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:222,1
    - Dst: QPlainTextEdit*::viewport
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:226,1
    - Dst: QPlainTextEdit*::viewport
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:227,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:227,1
    - Dst: QPlainTextEdit*::viewport
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 229
    functionName: MessagesDialog::filterMessages
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp
    functionUses: 0
    functionsReached:
    - QPlainTextEdit*::viewport
    - QTextBlock::next
    - QTextBlock::isValid
    - QTextBlock::text
    - MessagesDialog::matchFilter
    - QPlainTextEdit*::document
    - QSize
    - QTextBlock::setVisible
    linkageType: ''
    returnType: void
    signature: void MessagesDialog::filterMessages()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: filterEdit::text
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:233,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:235,1
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:235,1
    - Dst: toLower
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' text'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 238
    functionName: MessagesDialog::matchFilter
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp
    functionUses: 1
    functionsReached:
    - isEmpty
    - toLower
    - filterEdit::text
    - contains
    linkageType: ''
    returnType: bool
    signature: bool MessagesDialog::matchFilter( const QString& text )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: QPlainTextEdit*::verticalScrollBar
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:247,1
    - Dst: QPlainTextEdit*::verticalScrollBar
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:248,1
    - Dst: QPlainTextEdit*::verticalScrollBar
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:249,1
    - Dst: QPlainTextEdit*::textCursor
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:252,1
    - Dst: QPlainTextEdit*::copy
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:253,1
    - Dst: QPlainTextEdit*::textCursor
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:256,1
    - Dst: QPlainTextEdit*::textCursor
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:257,1
    - Dst: QPlainTextEdit*::textCursor
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:257,1
    - Dst: QPlainTextEdit*::moveCursor
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:258,1
    - Dst: QPlainTextEdit*::document
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:261,1
    - Dst: QPlainTextEdit*::textCursor
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:262,1
    - Dst: QTextCharFormat::setProperty
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:266,1
    - Dst: QTextCharFormat::setForeground
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:267,1
    - Dst: QPlainTextEdit*::textCursor
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:269,1
    - Dst: QTextCharFormat::setForeground
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:274,1
    - Dst: QPlainTextEdit*::textCursor
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:275,1
    - Dst: QTextCharFormat::setForeground
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:278,1
    - Dst: QPlainTextEdit*::textCursor
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:279,1
    - Dst: QTextCharFormat::setForeground
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:282,1
    - Dst: QPlainTextEdit*::textCursor
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:283,1
    - Dst: QTextCharFormat::setForeground
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:287,1
    - Dst: QPlainTextEdit*::textCursor
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:288,1
    - Dst: QTextCharFormat::setProperty
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:293,1
    - Dst: QTextCharFormat::setForeground
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:294,1
    - Dst: QPlainTextEdit*::palette
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:294,1
    - Dst: QPlainTextEdit*::textCursor
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:295,1
    - Dst: QPlainTextEdit*::document
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:298,1
    - Dst: QTextBlock::setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:299,1
    - Dst: MessagesDialog::matchFilter
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:299,1
    - Dst: QTextBlock::text
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:299,1
    - Dst: QPlainTextEdit*::ensureCursorVisible
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:301,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - msg
    argTypes:
    - MsgEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 302
    functionName: MessagesDialog::sinkMessage
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp
    functionUses: 0
    functionsReached:
    - QPlainTextEdit*::textCursor
    - QPlainTextEdit*::copy
    - QTextCharFormat::setProperty
    - QTextCharFormat::setForeground
    - QPlainTextEdit*::palette
    - QTextBlock::text
    - MessagesDialog::matchFilter
    - QPlainTextEdit*::document
    - QPlainTextEdit*::moveCursor
    - QPlainTextEdit*::verticalScrollBar
    - QPlainTextEdit*::ensureCursorVisible
    - QTextBlock::setVisible
    linkageType: ''
    returnType: void
    signature: void MessagesDialog::sinkMessage( const MsgEvent *msg )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MsgEvent *>
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:306,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:308,1
    - Dst: MessagesDialog::sinkMessage
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - event
    argTypes:
    - QEvent*
    assertStmts:
    - condition: ( msge )
      pos:
        line_end: 307
        line_start: 307
        source_file: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp
    constantsTouched: []
    func_position:
      end: 310
      start: 304
    functionDepth: 3
    functionLinenumber: 304
    functionLinenumberEnd: 310
    functionName: MessagesDialog::customEvent
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp
    functionUses: 0
    functionsReached:
    - assert
    - MessagesDialog::sinkMessage
    - static_cast<MsgEvent *>
    linkageType: ''
    returnType: void
    signature: void MessagesDialog::customEvent( QEvent *event )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::getSaveFileName
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:314,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:315,1
    - Dst: QVLCUserDir
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:316,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:317,1
    - Dst: QString::isNull
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:319,1
    - Dst: QFile::open
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:322,1
    - Dst: user_warning
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:323,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:323,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:324,1
    - Dst: QFile::errorString
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:326,1
    - Dst: messages::document
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:332,1
    - Dst: QTextBlock::isValid
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:333,1
    - Dst: QTextBlock::isVisible
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:335,1
    - Dst: QTextBlock::text
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:336,1
    - Dst: QTextBlock::next
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 312
    functionDepth: 3
    functionLinenumber: 312
    functionLinenumberEnd: 343
    functionName: MessagesDialog::save
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp
    functionUses: 0
    functionsReached:
    - messages::document
    - QFile::open
    - QTextBlock::next
    - qtr
    - QString::isNull
    - QTextBlock::isValid
    - QTextBlock::isVisible
    - QTextBlock::text
    - DialogsProvider::getSaveFileName
    - user_warning
    - QFile::errorString
    - QVLCUserDir
    linkageType: ''
    returnType: bool
    signature: bool MessagesDialog::save()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QTreeWidgetItem::QTreeWidgetItem
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:351,1
    - Dst: QTreeWidgetItem::QTreeWidgetItem
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:353,1
    - Dst: vlc_object_get_name
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:355,1
    - Dst: QTreeWidgetItem*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:356,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:356,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:357,1
    - Dst: vlc_object_typename
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:357,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:359,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:359,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:363,1
    - Dst: QTreeWidgetItem*::setExpanded
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:364,1
    - Dst: vlc_object_t::vlc_object_t
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:373,1
    - Dst: vlc_list_children
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:374,1
    - Dst: MessagesDialog::buildTree
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:380,1
    - Dst: vlc_object_release
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:381,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - parentItem
    - p_obj
    argTypes:
    - QTreeWidgetItem*
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 385
    functionName: MessagesDialog::buildTree
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp
    functionUses: 2
    functionsReached:
    - vlc_object_get_name
    - QString
    - QTreeWidgetItem*::setExpanded
    - vlc_object_release
    - QTreeWidgetItem*::setText
    - free
    - vlc_list_children
    - vlc_object_typename
    - MessagesDialog::buildTree
    - qfu
    - QTreeWidgetItem::QTreeWidgetItem
    - vlc_object_t::vlc_object_t
    linkageType: ''
    returnType: void
    signature: "void MessagesDialog::buildTree( QTreeWidgetItem *parentItem,\n                                vlc_object_t
      *p_obj )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mainTab::currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:389,1
    - Dst: modulesTree::clear
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:391,1
    - Dst: MessagesDialog::buildTree
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:392,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:392,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:392,1
    - Dst: mainTab::currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:394,1
    - Dst: messages::clear
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:395,1
    - Dst: mainTab::currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:396,1
    - Dst: errors::clear
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 402
    functionName: MessagesDialog::updateOrClear
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp
    functionUses: 0
    functionsReached:
    - errors::clear
    - mainTab::currentIndex
    - vlc_object_instance
    - messages::clear
    - VLC_OBJECT
    - modulesTree::clear
    - MessagesDialog::buildTree
    linkageType: ''
    returnType: void
    signature: void MessagesDialog::updateOrClear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setIcon
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:406,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:406,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:406,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:407,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:407,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:408,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 410
    functionName: MessagesDialog::tabChanged
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp
    functionUses: 1
    functionsReached:
    - setIcon
    - qtr
    - QIcon
    - setToolTip
    linkageType: ''
    returnType: void
    signature: void MessagesDialog::tabChanged( int i )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mainTab::setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:414,1
    - Dst: show
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:415,1
    - Dst: raise
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 417
    functionName: MessagesDialog::showTab
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp
    functionUses: 0
    functionsReached:
    - show
    - mainTab::setCurrentIndex
    - raise
    linkageType: ''
    returnType: void
    signature: void MessagesDialog::showTab( int i )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MessagesDialog*::verbosity::load
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:424,1
    - Dst: unlikely
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:427,1
    - Dst: vasprintf
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:427,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:430,1
    - Dst: QApplication::postEvent
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:431,1
    - Dst: MsgEvent::MsgEvent
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:431,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:432,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - self
    - type
    - item
    - format
    - ap
    argTypes:
    - void*
    - int
    - vlc_log_t*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 434
    functionName: MessagesDialog::MsgCallback
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp
    functionUses: 0
    functionsReached:
    - vlc_restorecancel
    - vasprintf
    - QApplication::postEvent
    - MessagesDialog*::verbosity::load
    - free
    - MsgEvent::MsgEvent
    - vlc_savecancel
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void MessagesDialog::MsgCallback( void *self, int type, const vlc_log_t
      *item,\n                                  const char *format, va_list ap )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:440,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:443,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:444,1
    - Dst: QTreeWidgetItem::QTreeWidgetItem
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:447,1
    - Dst: vlc_playlist_Get
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:448,1
    - Dst: vlc_playlist_item_GetMedia
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:449,1
    - Dst: QTreeWidgetItem*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:450,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:450,1
    - Dst: QTreeWidgetItem*::setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:451,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:451,1
    - Dst: QTreeWidgetItem*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:452,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:452,1
    - Dst: QTreeWidgetItem*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:453,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:453,1
    - Dst: QTreeWidgetItem*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:455,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:455,1
    - Dst: addTopLevelItem
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:456,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:458,1
    - Dst: expandAll
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:461,1
    - Dst: resizeColumnToContents
      Src: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp:463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 464
    functionName: MessagesDialog::updatePLTree
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/messages/messages.cpp
    functionUses: 0
    functionsReached:
    - QTreeWidgetItem*::setToolTip
    - vlc_playlist_item_GetMedia
    - QString
    - vlc_playlist_Count
    - vlc_playlist_Lock
    - addTopLevelItem
    - expandAll
    - clear
    - vlc_playlist_Unlock
    - QTreeWidgetItem*::setText
    - vlc_playlist_Get
    - qfu
    - QTreeWidgetItem::QTreeWidgetItem
    - resizeColumnToContents
    linkageType: ''
    returnType: void
    signature: void MessagesDialog::updatePLTree()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlm_New
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:52,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:52,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:56,1
    - Dst: VLMWrapper::VLMWrapper
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:60,1
    - Dst: setupUi
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:63,1
    - Dst: saveButton::hide
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:64,1
    - Dst: ADDMEDIATYPES
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:67,1
    - Dst: N_
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:67,1
    - Dst: ADDMEDIATYPES
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:68,1
    - Dst: N_
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:68,1
    - Dst: QGridLayout::QGridLayout
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:72,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:73,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:73,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:74,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:75,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:75,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:76,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:77,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:77,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:78,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:79,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:79,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:80,1
    - Dst: QTime::currentTime
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:82,1
    - Dst: QDateTimeEdit::QDateTimeEdit
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:82,1
    - Dst: setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:83,1
    - Dst: setDisplayFormat
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:84,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:85,1
    - Dst: QDate::currentDate
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:87,1
    - Dst: QDateTimeEdit::QDateTimeEdit
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:87,1
    - Dst: setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:88,1
    - Dst: setCalendarPopup
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:89,1
    - Dst: setDisplayFormat
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:91,1
    - Dst: setDisplayFormat
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:93,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:95,1
    - Dst: QSpinBox::QSpinBox
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:97,1
    - Dst: setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:98,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:99,1
    - Dst: QSpinBox::QSpinBox
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:101,1
    - Dst: setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:102,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:103,1
    - Dst: setSuffix
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:104,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:104,1
    - Dst: QDateTimeEdit::QDateTimeEdit
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:106,1
    - Dst: setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:107,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:108,1
    - Dst: setDisplayFormat
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:109,1
    - Dst: vlmItemScroll::setFrameStyle
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:112,1
    - Dst: vlmItemScroll::setWidgetResizable
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:113,1
    - Dst: QWidget::QWidget
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:114,1
    - Dst: QVBoxLayout::QVBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:115,1
    - Dst: setLayout
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:116,1
    - Dst: vlmItemScroll::setWidget
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:117,1
    - Dst: QSpacerItem::QSpacerItem
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:120,1
    - Dst: addItem
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:121,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:123,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:123,1
    - Dst: buttonBox::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:124,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:126,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:126,1
    - Dst: buttonBox::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:127,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:129,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:129,1
    - Dst: buttonBox::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:130,1
    - Dst: VLMDialog::showScheduleWidget
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:133,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:136,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:136,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:140,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:143,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:144,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:145,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:146,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:147,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:148,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:149,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:150,1
    - Dst: restoreGeometry
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:152,1
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:152,1
    - Dst: resize
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:154,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 60
    argCount: 1
    argNames:
    - _p_intf
    argTypes:
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 156
    functionName: VLMDialog::VLMDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 0
    functionsReached:
    - setCalendarPopup
    - VLMWrapper::VLMWrapper
    - N_
    - QGridLayout*::addWidget
    - connect
    - BUTTONACT
    - setAlignment
    - QLabel::QLabel
    - vlm_New
    - saveButton::hide
    - QDateTimeEdit::QDateTimeEdit
    - QGridLayout::QGridLayout
    - ADDMEDIATYPES
    - resize
    - setDisplayFormat
    - QSpacerItem::QSpacerItem
    - msg_Warn
    - vlmItemScroll::setWidget
    - QVBoxLayout::QVBoxLayout
    - go_eof
    - addItem
    - qtr
    - vlc_object_instance
    - QWidget::QWidget
    - setSuffix
    - QPushButton::QPushButton
    - setLayout
    - QTime::currentTime
    - setupUi
    - QSpinBox::QSpinBox
    - VLMDialog::showScheduleWidget
    - buttonBox::addButton
    - vlmItemScroll::setWidgetResizable
    - restoreGeometry
    - QSize
    - QDate::currentDate
    - getSettings
    - vlmItemScroll::setFrameStyle
    linkageType: ''
    returnType: void
    signature: void VLMDialog::VLMDialog( qt_intf_t *_p_intf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: ADDMEDIATYPES
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADDMEDIATYPES( str, type )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:162,1
    - Dst: saveGeometry
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: VLMDialog::~VLMDialog()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 0
    functionsReached:
    - saveGeometry
    - getSettings
    linkageType: ''
    returnType: void
    signature: void VLMDialog::~VLMDialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: schedBox::setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:167,1
    - Dst: loopBCast::setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: VLMDialog::showScheduleWidget
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 1
    functionsReached:
    - schedBox::setVisible
    - loopBCast::setVisible
    linkageType: ''
    returnType: void
    signature: void VLMDialog::showScheduleWidget( int i )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlmItemScroll::ensureWidgetVisible
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:174,1
    - Dst: at
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: VLMDialog::selectVLMItem
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 0
    functionsReached:
    - vlmItemScroll::ensureWidgetVisible
    - at
    linkageType: ''
    returnType: void
    signature: void VLMDialog::selectVLMItem( int i )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:179,1
    - Dst: at
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 185
    functionName: VLMDialog::isNameGenuine
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 0
    functionsReached:
    - count
    - at
    linkageType: ''
    returnType: bool
    signature: bool VLMDialog::isNameGenuine( const QString& name )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:189,1
    - Dst: nameLedit::text
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:192,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:193,1
    - Dst: VLMDialog::isNameGenuine
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:193,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:195,1
    - Dst: mediaType::itemData
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:199,1
    - Dst: mediaType::currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:199,1
    - Dst: inputLedit::text
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:202,1
    - Dst: outputLedit::text
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:203,1
    - Dst: enableCheck::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:204,1
    - Dst: loopBCast::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:205,1
    - Dst: dateTime
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:206,1
    - Dst: dateTime
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:207,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:208,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:209,1
    - Dst: QString::remove
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:211,1
    - Dst: VLMBroadcast::VLMBroadcast
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:217,1
    - Dst: AddBroadcast
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:219,1
    - Dst: VLMSchedule::VLMSchedule
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:224,1
    - Dst: AddSchedule
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:227,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:231,1
    - Dst: vlmListItem::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:236,1
    - Dst: vlmListItem::setCurrentRow
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:237,1
    - Dst: insertWidget
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:241,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:242,1
    - Dst: VLMDialog::clearWidgets
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 244
    functionName: VLMDialog::addVLMItem
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 0
    functionsReached:
    - insertWidget
    - nameLedit::text
    - QString::remove
    - VLMBroadcast::VLMBroadcast
    - AddSchedule
    - dateTime
    - VLMSchedule::VLMSchedule
    - QString::isEmpty
    - count
    - mediaType::itemData
    - vlmListItem::setCurrentRow
    - msg_Err
    - inputLedit::text
    - enableCheck::isChecked
    - msg_Warn
    - outputLedit::text
    - vlmListItem::addItem
    - VLMDialog::clearWidgets
    - append
    - mediaType::currentIndex
    - value
    - VLMDialog::isNameGenuine
    - AddBroadcast
    - loopBCast::isChecked
    linkageType: ''
    returnType: void
    signature: void VLMDialog::addVLMItem()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::getSaveFileName
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:248,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:249,1
    - Dst: QVLCUserDir
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:250,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:251,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:253,1
    - Dst: SaveConfig
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 246
    functionDepth: 3
    functionLinenumber: 246
    functionLinenumberEnd: 260
    functionName: VLMDialog::exportVLMConf
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 0
    functionsReached:
    - QString::isEmpty
    - SaveConfig
    - qtr
    - DialogsProvider::getSaveFileName
    - QVLCUserDir
    linkageType: ''
    returnType: bool
    signature: bool VLMDialog::exportVLMConf()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetMedias
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:271,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:277,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:279,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:282,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:284,1
    - Dst: VLMBroadcast::VLMBroadcast
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:289,1
    - Dst: vlmListItem::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:294,1
    - Dst: vlmListItem::setCurrentRow
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:295,1
    - Dst: insertWidget
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:298,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:299,1
    - Dst: VLMDialog::clearWidgets
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 303
    functionName: VLMDialog::mediasPopulator
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 0
    functionsReached:
    - insertWidget
    - append
    - VLMDialog::clearWidgets
    - GetMedias
    - count
    - vlmListItem::setCurrentRow
    - VLMBroadcast::VLMBroadcast
    - qfu
    - vlmListItem::addItem
    linkageType: ''
    returnType: void
    signature: void VLMDialog::mediasPopulator()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: toNativeSeparators
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:307,1
    - Dst: QFileDialog::getOpenFileName
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:308,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:309,1
    - Dst: QVLCUserDir
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:310,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:311,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:313,1
    - Dst: LoadConfig
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:315,1
    - Dst: VLMDialog::mediasPopulator
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:317,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:321,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 327
    functionName: VLMDialog::importVLMConf
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 0
    functionsReached:
    - QString::isEmpty
    - QFileDialog::getOpenFileName
    - qtr
    - LoadConfig
    - qtu
    - toNativeSeparators
    - VLMDialog::mediasPopulator
    - msg_Warn
    - QVLCUserDir
    linkageType: ''
    returnType: bool
    signature: bool VLMDialog::importVLMConf()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nameLedit::clear
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:331,1
    - Dst: inputLedit::clear
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:332,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:333,1
    - Dst: outputLedit::clear
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:334,1
    - Dst: setTime
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:335,1
    - Dst: QTime::currentTime
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:335,1
    - Dst: setDate
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:336,1
    - Dst: QDate::currentDate
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:336,1
    - Dst: enableCheck::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:337,1
    - Dst: nameLedit::setReadOnly
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:338,1
    - Dst: loopBCast::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:339,1
    - Dst: saveButton::hide
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:340,1
    - Dst: addButton::show
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 342
    functionName: VLMDialog::clearWidgets
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 2
    functionsReached:
    - nameLedit::setReadOnly
    - nameLedit::clear
    - addButton::show
    - clear
    - setDate
    - enableCheck::setChecked
    - inputLedit::clear
    - outputLedit::clear
    - setTime
    - saveButton::hide
    - QTime::currentTime
    - QDate::currentDate
    - loopBCast::setChecked
    linkageType: ''
    returnType: void
    signature: void VLMDialog::clearWidgets()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: window
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:346,1
    - Dst: QWidget*::windowHandle
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:347,1
    - Dst: OpenDialog::setActionFlag
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:349,1
    - Dst: OpenDialog::exec
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:350,1
    - Dst: inputLedit::setText
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:351,1
    - Dst: OpenDialog::getMRL
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:351,1
    - Dst: OpenDialog::getOptions
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 353
    functionName: VLMDialog::selectInput
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 0
    functionsReached:
    - inputLedit::setText
    - OpenDialog::getMRL
    - window
    - OpenDialog::exec
    - OpenDialog::getOptions
    - QWidget*::windowHandle
    - OpenDialog::setActionFlag
    linkageType: ''
    returnType: void
    signature: void VLMDialog::selectInput()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: window
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:357,1
    - Dst: QWidget*::windowHandle
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:358,1
    - Dst: SoutDialog::exec
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:360,1
    - Dst: SoutDialog::getChain
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:362,1
    - Dst: outputLedit::setText
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:363,1
    - Dst: SoutDialog::getChain
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 365
    functionName: VLMDialog::selectOutput
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 0
    functionsReached:
    - SoutDialog::getChain
    - window
    - outputLedit::setText
    - SoutDialog::exec
    - QWidget*::windowHandle
    linkageType: ''
    returnType: void
    signature: void VLMDialog::selectOutput()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: indexOf
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:370,1
    - Dst: vlmListItem::takeItem
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:372,1
    - Dst: removeAt
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - vlmObj
    argTypes:
    - VLMAWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 377
    functionName: VLMDialog::removeVLMItem
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 0
    functionsReached:
    - vlmListItem::takeItem
    - indexOf
    - removeAt
    linkageType: ''
    returnType: void
    signature: void VLMDialog::removeVLMItem( VLMAWidget *vlmObj )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: indexOf
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:381,1
    - Dst: vlmListItem::setCurrentRow
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:384,1
    - Dst: nameLedit::setText
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:385,1
    - Dst: inputLedit::setText
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:386,1
    - Dst: outputLedit::setText
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:387,1
    - Dst: enableCheck::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:388,1
    - Dst: loopBCast::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:393,1
    - Dst: qobject_cast<VLMBroadcast *>
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:393,1
    - Dst: setDateTime
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:396,1
    - Dst: qobject_cast<VLMSchedule *>
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:396,1
    - Dst: setDateTime
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:397,1
    - Dst: qobject_cast<VLMSchedule *>
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:397,1
    - Dst: nameLedit::setReadOnly
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:401,1
    - Dst: addButton::hide
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:402,1
    - Dst: saveButton::show
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:403,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - vlmObj
    argTypes:
    - VLMAWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 404
    functionName: VLMDialog::startModifyVLMItem
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 0
    functionsReached:
    - inputLedit::setText
    - nameLedit::setReadOnly
    - setDateTime
    - qobject_cast<VLMBroadcast *>
    - qobject_cast<VLMSchedule *>
    - nameLedit::setText
    - vlmListItem::setCurrentRow
    - saveButton::show
    - enableCheck::setChecked
    - addButton::hide
    - indexOf
    - outputLedit::setText
    - loopBCast::setChecked
    linkageType: ''
    returnType: void
    signature: void VLMDialog::startModifyVLMItem( VLMAWidget *vlmObj )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:408,1
    - Dst: inputLedit::text
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:411,1
    - Dst: outputLedit::text
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:412,1
    - Dst: VLMAWidget*::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:413,1
    - Dst: enableCheck::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:413,1
    - Dst: enableCheck::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:414,1
    - Dst: qobject_cast<VLMBroadcast *>
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:418,1
    - Dst: loopBCast::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:418,1
    - Dst: qobject_cast<VLMSchedule *>
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:421,1
    - Dst: dateTime
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:421,1
    - Dst: qobject_cast<VLMSchedule *>
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:422,1
    - Dst: dateTime
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:422,1
    - Dst: qobject_cast<VLMSchedule *>
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:423,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:423,1
    - Dst: qobject_cast<VLMSchedule *>
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:424,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:424,1
    - Dst: VLMAWidget*::update
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:428,1
    - Dst: VLMDialog::clearWidgets
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:430,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 431
    functionName: VLMDialog::saveModifications
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 0
    functionsReached:
    - dateTime
    - VLMDialog::clearWidgets
    - VLMAWidget*::setChecked
    - VLMAWidget*::update
    - qobject_cast<VLMBroadcast *>
    - qobject_cast<VLMSchedule *>
    - at
    - inputLedit::text
    - enableCheck::isChecked
    - loopBCast::isChecked
    - outputLedit::text
    - value
    linkageType: ''
    returnType: void
    signature: void VLMDialog::saveModifications()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setCheckable
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:452,1
    - Dst: setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:453,1
    - Dst: QGridLayout::QGridLayout
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:455,1
    - Dst: setSizePolicy
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:456,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:458,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:459,1
    - Dst: QToolButton::QToolButton
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:464,1
    - Dst: QToolButton*::setIcon
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:465,1
    - Dst: ColorizedSvgIcon::colorizedIconForWidget
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:465,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:465,1
    - Dst: QToolButton*::setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:466,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:466,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:467,1
    - Dst: QToolButton::QToolButton
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:469,1
    - Dst: QToolButton*::setIcon
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:470,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:470,1
    - Dst: QToolButton*::setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:471,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:471,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:472,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:474,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:475,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 8
    argNames:
    - _vlm
    - ' _name'
    - ' _input'
    - ' _inputOptions'
    - ' _output'
    - _enabled
    - _parent
    - _type
    argTypes:
    - VLMWrapper*
    - QString
    - QString
    - QString
    - QString
    - bool
    - VLMDialog*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 477
    functionName: VLMAWidget::VLMAWidget
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 0
    functionsReached:
    - QGridLayout::QGridLayout
    - addWidget
    - setSizePolicy
    - QStringLiteral
    - QIcon
    - qtr
    - ColorizedSvgIcon::colorizedIconForWidget
    - QToolButton::QToolButton
    - QToolButton*::setIcon
    - setCheckable
    - BUTTONACT
    - connect
    - QLabel::QLabel
    - QToolButton*::setToolTip
    - setChecked
    linkageType: ''
    returnType: void
    signature: "void VLMAWidget::VLMAWidget( VLMWrapper *_vlm, const QString& _name,\n
      \                       const QString& _input, const QString& _inputOptions,\n
      \                       const QString& _output, bool _enabled,\n                        VLMDialog
      *_parent, int _type )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: startModifyVLMItem
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 482
    functionName: VLMAWidget::modify
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 0
    functionsReached:
    - startModifyVLMItem
    linkageType: ''
    returnType: void
    signature: void VLMAWidget::modify()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: removeVLMItem
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 487
    functionName: VLMAWidget::del
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 0
    functionsReached:
    - removeVLMItem
    linkageType: ''
    returnType: void
    signature: void VLMAWidget::del()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnableItem
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b_enable
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 492
    functionName: VLMAWidget::toggleEnabled
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 0
    functionsReached:
    - EnableItem
    linkageType: ''
    returnType: void
    signature: void VLMAWidget::toggleEnabled( bool b_enable )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:506,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:506,1
    - Dst: QToolButton::QToolButton
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:510,1
    - Dst: setIcon
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:511,1
    - Dst: ColorizedSvgIcon::colorizedIconForWidget
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:511,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:511,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:512,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:512,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:513,1
    - Dst: QToolButton::QToolButton
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:516,1
    - Dst: QToolButton*::setIcon
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:517,1
    - Dst: ColorizedSvgIcon::colorizedIconForWidget
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:517,1
    - Dst: QToolButton*::setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:518,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:518,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:519,1
    - Dst: QToolButton::QToolButton
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:521,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:522,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:522,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:523,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:525,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:526,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:527,1
    - Dst: VLMBroadcast::update
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 8
    argNames:
    - vlm
    - ' _name'
    - ' _input'
    - ' _inputOptions'
    - ' _output'
    - _enabled
    - _looped
    - _parent
    argTypes:
    - VLMWrapper*
    - QString
    - QString
    - QString
    - QString
    - bool
    - bool
    - VLMDialog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 530
    functionName: VLMBroadcast::VLMBroadcast
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 2
    functionsReached:
    - QStringLiteral
    - addWidget
    - setToolTip
    - VLMBroadcast::update
    - setIcon
    - qtr
    - ColorizedSvgIcon::colorizedIconForWidget
    - QToolButton::QToolButton
    - QToolButton*::setIcon
    - BUTTONACT
    - QToolButton*::setToolTip
    - setText
    linkageType: ''
    returnType: void
    signature: "void VLMBroadcast::VLMBroadcast( VLMWrapper *vlm, const QString& _name,\n
      \                           const QString& _input,\n                            const
      QString& _inputOptions,\n                            const QString& _output,
      bool _enabled,\n                            bool _looped, VLMDialog *_parent
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EditBroadcast
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:534,1
    - Dst: setIcon
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:536,1
    - Dst: ColorizedSvgIcon::colorizedIconForWidget
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:536,1
    - Dst: setIcon
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:538,1
    - Dst: ColorizedSvgIcon::colorizedIconForWidget
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 539
    functionName: VLMBroadcast::update
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 1
    functionsReached:
    - setIcon
    - ColorizedSvgIcon::colorizedIconForWidget
    - EditBroadcast
    linkageType: ''
    returnType: void
    signature: void VLMBroadcast::update()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ControlBroadcast
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:545,1
    - Dst: setIcon
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:546,1
    - Dst: ColorizedSvgIcon::colorizedIconForWidget
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:546,1
    - Dst: ControlBroadcast
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:550,1
    - Dst: setIcon
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:551,1
    - Dst: ColorizedSvgIcon::colorizedIconForWidget
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:551,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 554
    functionName: VLMBroadcast::togglePlayPause
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 0
    functionsReached:
    - ControlBroadcast
    - setIcon
    - QStringLiteral
    - ColorizedSvgIcon::colorizedIconForWidget
    linkageType: ''
    returnType: void
    signature: void VLMBroadcast::togglePlayPause()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLMBroadcast::update
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 556
    functionDepth: 2
    functionLinenumber: 556
    functionLinenumberEnd: 560
    functionName: VLMBroadcast::toggleLoop
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 0
    functionsReached:
    - VLMBroadcast::update
    linkageType: ''
    returnType: void
    signature: void VLMBroadcast::toggleLoop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ControlBroadcast
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:564,1
    - Dst: setIcon
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:565,1
    - Dst: ColorizedSvgIcon::colorizedIconForWidget
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:565,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 566
    functionName: VLMBroadcast::stop
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 0
    functionsReached:
    - ControlBroadcast
    - setIcon
    - QStringLiteral
    - ColorizedSvgIcon::colorizedIconForWidget
    linkageType: ''
    returnType: void
    signature: void VLMBroadcast::stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:579,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:579,1
    - Dst: VLMSchedule::update
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 11
    argNames:
    - vlm
    - ' name_'
    - ' input'
    - ' inputOptions'
    - ' output'
    - _schetime
    - _schedate
    - _scherepeatnumber
    - _repeatDays
    - enabled
    - parent
    argTypes:
    - VLMWrapper*
    - QString
    - QString
    - QString
    - QString
    - QDateTime
    - QDateTime
    - int
    - int
    - bool
    - VLMDialog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 586
    functionName: VLMSchedule::VLMSchedule
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 1
    functionsReached:
    - setText
    - qtr
    - VLMSchedule::update
    linkageType: ''
    returnType: void
    signature: "void VLMSchedule::VLMSchedule( VLMWrapper *vlm, const QString& name_,\n
      \                         const QString& input, const QString& inputOptions,\n
      \                         const QString& output, QDateTime _schetime,\n                          QDateTime
      _schedate, int _scherepeatnumber,\n                          int _repeatDays,
      bool enabled, VLMDialog *parent )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EditSchedule
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 592
    functionName: VLMSchedule::update
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 1
    functionsReached:
    - EditSchedule
    linkageType: ''
    returnType: void
    signature: void VLMSchedule::update()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _p_vlm
    argTypes:
    - vlm_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 601
    functionName: VLMWrapper::VLMWrapper
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VLMWrapper::VLMWrapper( vlm_t *_p_vlm )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlm_Delete
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 606
    functionName: VLMWrapper::~VLMWrapper()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 0
    functionsReached:
    - vlm_Delete
    linkageType: ''
    returnType: void
    signature: void VLMWrapper::~VLMWrapper()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlm_Control
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' array'
    argTypes:
    - vlm_media_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 614
    functionName: VLMWrapper::GetMedias
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 0
    functionsReached:
    - vlm_Control
    linkageType: ''
    returnType: int
    signature: int VLMWrapper::GetMedias( vlm_media_t **& array )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlm_ExecuteCommand
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:622,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:622,1
    - Dst: vlm_MessageDelete
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:623,1
    - Dst: VLMWrapper::EditBroadcast
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - ' name'
    - ' input'
    - ' inputOptions'
    - ' output'
    - b_enabled
    - b_loop
    argTypes:
    - QString
    - QString
    - QString
    - QString
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 625
    functionName: VLMWrapper::AddBroadcast
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 0
    functionsReached:
    - qtu
    - VLMWrapper::EditBroadcast
    - vlm_MessageDelete
    - vlm_ExecuteCommand
    linkageType: ''
    returnType: void
    signature: "void VLMWrapper::AddBroadcast( const QString& name, const QString&
      input,\n                               const QString& inputOptions, const QString&
      output,\n                               bool b_enabled, bool b_loop  )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlm_ExecuteCommand
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:635,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:635,1
    - Dst: vlm_MessageDelete
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:636,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:638,1
    - Dst: vlm_ExecuteCommand
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:641,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:641,1
    - Dst: vlm_MessageDelete
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:642,1
    - Dst: split
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:644,1
    - Dst: QStringList::count
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:646,1
    - Dst: trimmed
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:648,1
    - Dst: vlm_ExecuteCommand
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:649,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:649,1
    - Dst: vlm_MessageDelete
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:650,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:654,1
    - Dst: vlm_ExecuteCommand
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:657,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:657,1
    - Dst: vlm_MessageDelete
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:658,1
    - Dst: vlm_ExecuteCommand
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:663,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:663,1
    - Dst: vlm_MessageDelete
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:664,1
    - Dst: vlm_ExecuteCommand
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:669,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:669,1
    - Dst: vlm_MessageDelete
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:670,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 6
    argNames:
    - ' name'
    - ' input'
    - ' inputOptions'
    - ' output'
    - b_enabled
    - b_loop
    argTypes:
    - QString
    - QString
    - QString
    - QString
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 672
    functionName: VLMWrapper::EditBroadcast
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 1
    functionsReached:
    - split
    - isEmpty
    - qtu
    - vlm_MessageDelete
    - vlm_ExecuteCommand
    - QStringList::count
    - trimmed
    linkageType: ''
    returnType: void
    signature: "void VLMWrapper::EditBroadcast( const QString& name, const QString&
      input,\n                                const QString& inputOptions, const QString&
      output,\n                                bool b_enabled, bool b_loop  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlm_ExecuteCommand
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:678,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:678,1
    - Dst: vlm_MessageDelete
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' name'
    - b_enable
    argTypes:
    - QString
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 680
    functionName: VLMWrapper::EnableItem
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 0
    functionsReached:
    - qtu
    - vlm_MessageDelete
    - vlm_ExecuteCommand
    linkageType: ''
    returnType: void
    signature: void VLMWrapper::EnableItem( const QString& name, bool b_enable )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:700,1
    - Dst: vlm_ExecuteCommand
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:703,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:703,1
    - Dst: vlm_MessageDelete
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:704,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - ' name'
    - BroadcastStatus
    - seek
    argTypes:
    - QString
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 705
    functionName: VLMWrapper::ControlBroadcast
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 0
    functionsReached:
    - qtu
    - vlm_MessageDelete
    - vlclua_io_file_read_number
    - vlm_ExecuteCommand
    linkageType: ''
    returnType: void
    signature: "void VLMWrapper::ControlBroadcast( const QString& name, int BroadcastStatus,\n
      \                                  unsigned int seek )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlm_ExecuteCommand
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:715,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:715,1
    - Dst: vlm_MessageDelete
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:716,1
    - Dst: VLMWrapper::EditSchedule
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 10
    argNames:
    - ' name'
    - ' input'
    - ' inputOptions'
    - ' output'
    - _schetime
    - _schedate
    - _scherepeatnumber
    - _repeatDays
    - b_enabled
    - ' mux'
    argTypes:
    - QString
    - QString
    - QString
    - QString
    - QDateTime
    - QDateTime
    - int
    - int
    - bool
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 719
    functionName: VLMWrapper::AddSchedule
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 0
    functionsReached:
    - VLMWrapper::EditSchedule
    - qtu
    - vlm_MessageDelete
    - vlm_ExecuteCommand
    linkageType: ''
    returnType: void
    signature: "void VLMWrapper::AddSchedule( const QString& name, const QString&
      input,\n                              const QString& inputOptions, const QString&
      output,\n                              QDateTime _schetime, QDateTime _schedate,\n
      \                             int _scherepeatnumber, int _repeatDays,\n                              bool
      b_enabled, const QString& mux )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:730,1
    - Dst: vlm_ExecuteCommand
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:733,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:733,1
    - Dst: vlm_MessageDelete
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:734,1
    - Dst: split
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:736,1
    - Dst: QStringList::count
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:737,1
    - Dst: trimmed
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:739,1
    - Dst: vlm_ExecuteCommand
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:740,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:740,1
    - Dst: vlm_MessageDelete
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:741,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:745,1
    - Dst: vlm_ExecuteCommand
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:748,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:748,1
    - Dst: vlm_MessageDelete
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:749,1
    - Dst: vlm_ExecuteCommand
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:755,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:755,1
    - Dst: vlm_MessageDelete
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:756,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:759,1
    - Dst: vlm_ExecuteCommand
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:762,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:762,1
    - Dst: vlm_MessageDelete
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:763,1
    - Dst: QDateTime::toString
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:767,1
    - Dst: QDateTime::toString
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:768,1
    - Dst: vlm_ExecuteCommand
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:769,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:769,1
    - Dst: vlm_MessageDelete
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:770,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:774,1
    - Dst: vlm_ExecuteCommand
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:775,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:775,1
    - Dst: vlm_MessageDelete
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:776,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:781,1
    - Dst: vlm_ExecuteCommand
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:782,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:782,1
    - Dst: vlm_MessageDelete
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:783,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 10
    argNames:
    - ' name'
    - ' input'
    - ' inputOptions'
    - ' output'
    - _schetime
    - _schedate
    - _scherepeatnumber
    - _repeatDays
    - b_enabled
    - ' mux'
    argTypes:
    - QString
    - QString
    - QString
    - QString
    - QDateTime
    - QDateTime
    - int
    - int
    - bool
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 785
    functionName: VLMWrapper::EditSchedule
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 1
    functionsReached:
    - QDateTime::toString
    - split
    - isEmpty
    - qtu
    - vlm_MessageDelete
    - vlclua_io_file_read_number
    - vlm_ExecuteCommand
    - QStringList::count
    - trimmed
    linkageType: ''
    returnType: void
    signature: "void VLMWrapper::EditSchedule( const QString& name, const QString&
      input,\n                               const QString& inputOptions, const QString&
      output,\n                               QDateTime _schetime, QDateTime _schedate,\n
      \                              int _scherepeatnumber, int _repeatDays,\n                               bool
      b_enabled, const QString& mux )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlm_ExecuteCommand
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:793,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:793,1
    - Dst: vlm_MessageDelete
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 795
    functionName: VLMWrapper::SaveConfig
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 0
    functionsReached:
    - qtu
    - vlm_MessageDelete
    - vlm_ExecuteCommand
    linkageType: ''
    returnType: void
    signature: void VLMWrapper::SaveConfig( const QString& filename )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlm_ExecuteCommand
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:802,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:802,1
    - Dst: vlm_MessageDelete
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 805
    functionName: VLMWrapper::LoadConfig
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 0
    functionsReached:
    - qtu
    - vlm_MessageDelete
    - vlm_ExecuteCommand
    linkageType: ''
    returnType: bool
    signature: bool VLMWrapper::LoadConfig( const QString& filename )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qDeleteAll
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:809,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:810,1
    - Dst: vlmListItem::clear
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:812,1
    - Dst: VLMDialog::mediasPopulator
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:813,1
    - Dst: QVLCFrame::toggleVisible
      Src: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp:814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 807
    functionDepth: 2
    functionLinenumber: 807
    functionLinenumberEnd: 815
    functionName: VLMDialog::toggleVisible
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.cpp
    functionUses: 0
    functionsReached:
    - QVLCFrame::toggleVisible
    - qDeleteAll
    - clear
    - VLMDialog::mediasPopulator
    - vlmListItem::clear
    linkageType: ''
    returnType: void
    signature: void VLMDialog::toggleVisible()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: ~VLMAWidget()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/vlm/vlm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VLMAWidget()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: ~ConvertDialog()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/convert.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ConvertDialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: ConvertDialog::getMrls
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/convert.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QStringList
    signature: QStringList getMrls()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: CATPROP2NAME
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CATPROP2NAME( val )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cat
    - ','
    - prop
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: CATANDPROP
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CATANDPROP( cat, prop )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QHBoxLayout::QHBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:50,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:52,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:52,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:53,1
    - Dst: QComboBox::QComboBox
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:55,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:56,1
    - Dst: QToolButton::QToolButton
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:58,1
    - Dst: QToolButton*::setIcon
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:59,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:59,1
    - Dst: QToolButton*::setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:60,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:60,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:61,1
    - Dst: QToolButton::QToolButton
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:63,1
    - Dst: QToolButton*::setIcon
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:64,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:64,1
    - Dst: QToolButton*::setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:65,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:65,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:66,1
    - Dst: QToolButton::QToolButton
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:68,1
    - Dst: QToolButton*::setIcon
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:69,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:69,1
    - Dst: QToolButton*::setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:70,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:70,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:71,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:73,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:74,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:75,1
    - Dst: VLCProfileSelector::fillProfilesCombo
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:76,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:78,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:78,1
    - Dst: VLCProfileSelector::updateOptions
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:80,1
    - Dst: qMax
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:80,1
    - Dst: currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - _parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 81
    functionName: VLCProfileSelector::VLCProfileSelector
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 0
    functionsReached:
    - QHBoxLayout::QHBoxLayout
    - go_eof
    - QComboBox::QComboBox
    - QHBoxLayout*::addWidget
    - QIcon
    - qMax
    - VLCProfileSelector::updateOptions
    - qtr
    - QToolButton::QToolButton
    - QToolButton*::setIcon
    - BUTTONACT
    - connect
    - QLabel::QLabel
    - VLCProfileSelector::fillProfilesCombo
    - QToolButton*::setToolTip
    - currentIndex
    linkageType: ''
    returnType: void
    signature: void VLCProfileSelector::VLCProfileSelector( QWidget *_parent )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QSettings::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:93,1
    - Dst: currentText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 94
    functionName: VLCProfileSelector::~VLCProfileSelector()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 0
    functionsReached:
    - currentText
    - QSettings::setValue
    linkageType: ''
    returnType: void
    signature: void VLCProfileSelector::~VLCProfileSelector()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QSettings::beginReadArray
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:106,1
    - Dst: QSettings::setArrayIndex
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:110,1
    - Dst: QSettings::value
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:111,1
    - Dst: addItem
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:112,1
    - Dst: QSettings::value
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:112,1
    - Dst: QSettings::value
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:113,1
    - Dst: addItem
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:119,1
    - Dst: QSettings::endArray
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:123,1
    - Dst: setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:125,1
    - Dst: findText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:126,1
    - Dst: QSettings::value
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 129
    functionName: VLCProfileSelector::fillProfilesCombo
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 1
    functionsReached:
    - QSettings::endArray
    - addItem
    - findText
    - QSettings::beginReadArray
    - QSettings::setArrayIndex
    - QSettings::value
    - setCurrentIndex
    linkageType: ''
    returnType: void
    signature: void VLCProfileSelector::fillProfilesCombo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLCProfileSelector::editProfilePrivate
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: VLCProfileSelector::newProfile
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 0
    functionsReached:
    - VLCProfileSelector::editProfilePrivate
    linkageType: ''
    returnType: void
    signature: void VLCProfileSelector::newProfile()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLCProfileSelector::editProfilePrivate
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:138,1
    - Dst: currentText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:138,1
    - Dst: itemData
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:139,1
    - Dst: currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: VLCProfileSelector::editProfile
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 0
    functionsReached:
    - currentIndex
    - itemData
    - VLCProfileSelector::editProfilePrivate
    - currentText
    linkageType: ''
    returnType: void
    signature: void VLCProfileSelector::editProfile()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: window
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:145,1
    - Dst: QWidget*::windowHandle
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:146,1
    - Dst: VLCProfileEditor::VLCProfileEditor
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:147,1
    - Dst: VLCProfileEditor*::exec
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:150,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:153,1
    - Dst: addItem
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:154,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:154,1
    - Dst: VLCProfileEditor*::transcodeValue
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:154,1
    - Dst: findText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:159,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:160,1
    - Dst: setItemText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:161,1
    - Dst: setItemData
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:162,1
    - Dst: VLCProfileEditor*::transcodeValue
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:162,1
    - Dst: VLCProfileSelector::updateOptions
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:164,1
    - Dst: VLCProfileSelector::saveProfiles
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ' qs'
    - ' value'
    argTypes:
    - QString
    - QString
    assertStmts:
    - condition: ( i_profile != -1 )
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    constantsTouched: []
    func_position:
      end: 171
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 171
    functionName: VLCProfileSelector::editProfilePrivate
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 2
    functionsReached:
    - VLCProfileEditor*::exec
    - QVariant
    - assert
    - addItem
    - window
    - VLCProfileSelector::updateOptions
    - findText
    - VLCProfileEditor*::transcodeValue
    - isEmpty
    - setItemData
    - setItemText
    - VLCProfileEditor::VLCProfileEditor
    - QWidget*::windowHandle
    - VLCProfileSelector::saveProfiles
    linkageType: ''
    returnType: void
    signature: void VLCProfileSelector::editProfilePrivate( const QString& qs, const
      QString& value )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: removeItem
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:175,1
    - Dst: currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:175,1
    - Dst: VLCProfileSelector::saveProfiles
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: VLCProfileSelector::deleteProfile
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 0
    functionsReached:
    - removeItem
    - currentIndex
    - VLCProfileSelector::saveProfiles
    linkageType: ''
    returnType: void
    signature: void VLCProfileSelector::deleteProfile()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:187,1
    - Dst: QSettings::beginWriteArray
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:190,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:191,1
    - Dst: QSettings::setArrayIndex
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:193,1
    - Dst: QSettings::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:194,1
    - Dst: itemText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:194,1
    - Dst: QSettings::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:195,1
    - Dst: itemData
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:195,1
    - Dst: QSettings::endArray
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 198
    functionName: VLCProfileSelector::saveProfiles
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 2
    functionsReached:
    - QSettings::beginWriteArray
    - itemData
    - QSettings::endArray
    - count
    - QSettings::setArrayIndex
    - remove
    - itemText
    - QSettings::setValue
    linkageType: ''
    returnType: void
    signature: void VLCProfileSelector::saveProfiles()
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: itemData
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:202,1
    - Dst: QString::contains
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:204,1
    - Dst: QRegularExpression::match
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:205,1
    - Dst: VLCProfileSelector::updateOptionsOldFormat
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:206,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:208,1
    - Dst: QString::split
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:210,1
    - Dst: split
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:219,1
    - Dst: QStringList::count
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:220,1
    - Dst: QString::split
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:223,1
    - Dst: QStringList::count
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:224,1
    - Dst: QHash::contains
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:228,1
    - Dst: proptovalueHashType::proptovalueHashType
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:230,1
    - Dst: QHash::insert
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:231,1
    - Dst: QHash::value
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:233,1
    - Dst: proptovalueHashType*::insert
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:235,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:247,1
    - Dst: HASHPICK
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:250,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:251,1
    - Dst: HASHPICK
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:254,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:255,1
    - Dst: HASHPICK
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:257,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:259,1
    - Dst: option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:261,1
    - Dst: HASHPICK
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:263,1
    - Dst: QString::toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:264,1
    - Dst: option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:266,1
    - Dst: QString::toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:266,1
    - Dst: HASHPICK
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:269,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:270,1
    - Dst: QUrl::fromPercentEncoding
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:272,1
    - Dst: QString::toLatin1
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:272,1
    - Dst: option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:273,1
    - Dst: QStringList::join
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:273,1
    - Dst: HASHPICK
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:281,1
    - Dst: QString::toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:282,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:283,1
    - Dst: HASHPICK
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:285,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:286,1
    - Dst: QUrl::fromPercentEncoding
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:287,1
    - Dst: QString::toLatin1
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:287,1
    - Dst: QStringList::count
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:289,1
    - Dst: option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:290,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:291,1
    - Dst: QStringList::join
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:291,1
    - Dst: HASHPICK
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:294,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:295,1
    - Dst: QString::toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:295,1
    - Dst: option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:296,1
    - Dst: HASHPICK
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:298,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:299,1
    - Dst: option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:300,1
    - Dst: HASHPICK
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:302,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:303,1
    - Dst: QString::toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:303,1
    - Dst: option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:304,1
    - Dst: HASHPICK
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:306,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:307,1
    - Dst: QString::toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:307,1
    - Dst: option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:308,1
    - Dst: option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:311,1
    - Dst: HASHPICK
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:314,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:315,1
    - Dst: HASHPICK
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:317,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:318,1
    - Dst: option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:320,1
    - Dst: HASHPICK
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:322,1
    - Dst: option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:323,1
    - Dst: QString::toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:323,1
    - Dst: HASHPICK
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:325,1
    - Dst: option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:326,1
    - Dst: QString::toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:326,1
    - Dst: HASHPICK
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:328,1
    - Dst: option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:329,1
    - Dst: QString::toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:329,1
    - Dst: HASHPICK
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:335,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:336,1
    - Dst: QUrl::fromPercentEncoding
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:337,1
    - Dst: QString::toLatin1
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:337,1
    - Dst: HASHPICK
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:339,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:340,1
    - Dst: QString::toDouble
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:342,1
    - Dst: QStringList::prepend
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:348,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:349,1
    - Dst: QStringList::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:353,1
    - Dst: option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:354,1
    - Dst: QStringList::join
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:354,1
    - Dst: option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:359,1
    - Dst: HASHPICK
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:362,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:363,1
    - Dst: HASHPICK
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:365,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:366,1
    - Dst: HASHPICK
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:368,1
    - Dst: option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:369,1
    - Dst: option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:373,1
    - Dst: option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:376,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:378,1
    - Dst: foreach
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:383,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 108
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 387
    functionName: VLCProfileSelector::updateOptions
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 2
    functionsReached:
    - QString
    - QStringList::isEmpty
    - split
    - proptovalueHashType*::insert
    - option
    - QString::toLatin1
    - foreach
    - QString::isEmpty
    - QString::split
    - begin
    - QString::contains
    - VLCProfileSelector::updateOptionsOldFormat
    - proptovalueHashType::proptovalueHashType
    - QStringList::prepend
    - QUrl::fromPercentEncoding
    - QHash::contains
    - QHash::insert
    - QHash::value
    - QStringList::join
    - clear
    - QRegularExpression::match
    - QStringList::count
    - end
    - QString::toInt
    - itemData
    - QString::toDouble
    - HASHPICK
    linkageType: ''
    returnType: void
    signature: void VLCProfileSelector::updateOptions( int i )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QString::split
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:219,1
    - Dst: QStringList::count
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:220,1
    - Dst: QString::split
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:223,1
    - Dst: QStringList::count
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:224,1
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:228,1
    - Dst: proptovalueHashType::proptovalueHashType
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:230,1
    - Dst: insert
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:231,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:233,1
    - Dst: insert
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - tuple
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 236
    functionName: foreach
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 50
    functionsReached:
    - QString::split
    - insert
    - proptovalueHashType::proptovalueHashType
    - QStringList::count
    - value
    - contains
    linkageType: ''
    returnType: void
    signature: void foreach ( const QString &tuple, tuples )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - categ
    - ','
    - prop
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 246
    functionName: HASHPICK
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASHPICK( categ, prop )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: itemData
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:391,1
    - Dst: QStringList::count
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:392,1
    - Dst: toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:397,1
    - Dst: toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:397,1
    - Dst: toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:397,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:399,1
    - Dst: toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:401,1
    - Dst: option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:403,1
    - Dst: option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:406,1
    - Dst: toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:406,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:407,1
    - Dst: toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:407,1
    - Dst: option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:408,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:409,1
    - Dst: option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:410,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:411,1
    - Dst: toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:411,1
    - Dst: option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:412,1
    - Dst: toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:412,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:413,1
    - Dst: toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:413,1
    - Dst: option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:414,1
    - Dst: toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:414,1
    - Dst: toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:418,1
    - Dst: option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:420,1
    - Dst: option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:423,1
    - Dst: toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:423,1
    - Dst: option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:424,1
    - Dst: toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:424,1
    - Dst: option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:425,1
    - Dst: toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:425,1
    - Dst: toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:429,1
    - Dst: option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:431,1
    - Dst: toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:432,1
    - Dst: option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:433,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:436,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:439,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 441
    functionName: VLCProfileSelector::updateOptionsOldFormat
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 1
    functionsReached:
    - itemData
    - begin
    - clear
    - isEmpty
    - option
    - toInt
    - QStringList::count
    - end
    linkageType: ''
    returnType: void
    signature: void VLCProfileSelector::updateOptionsOldFormat( int i )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setupUi
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:451,1
    - Dst: buttonGroup::setObjectName
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:452,1
    - Dst: CATPROP2NAME
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:452,1
    - Dst: CATANDPROP
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:452,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:453,1
    - Dst: profileLine::setText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:455,1
    - Dst: profileLine::setReadOnly
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:456,1
    - Dst: VLCProfileEditor::loadCapabilities
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:458,1
    - Dst: VLCProfileEditor::registerCodecs
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:459,1
    - Dst: VLCProfileEditor::registerFilters
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:460,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:463,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:463,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:463,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:462,1
    - Dst: buttonBox::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:464,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:465,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:466,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:466,1
    - Dst: buttonBox::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:467,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:468,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:470,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:472,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:474,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:476,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:478,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:480,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:480,1
    - Dst: VLCProfileEditor::reset
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:482,1
    - Dst: VLCProfileEditor::fillProfile
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:484,1
    - Dst: VLCProfileEditor::muxSelected
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:485,1
    - Dst: VLCProfileEditor::codecSelected
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 3
    argNames:
    - ' qs_name'
    - ' value'
    - _parent
    argTypes:
    - QString
    - QString
    - QWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 447
    functionDepth: 3
    functionLinenumber: 447
    functionLinenumberEnd: 487
    functionName: VLCProfileEditor::VLCProfileEditor
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 1
    functionsReached:
    - VLCProfileEditor::loadCapabilities
    - VLCProfileEditor::registerFilters
    - connect
    - VLCProfileEditor::fillProfile
    - VLCProfileEditor::muxSelected
    - CATANDPROP
    - isEmpty
    - VLCProfileEditor::registerCodecs
    - go_eof
    - VLCProfileEditor::reset
    - qtr
    - buttonGroup::setObjectName
    - QPushButton::QPushButton
    - profileLine::setText
    - setupUi
    - buttonBox::addButton
    - CATPROP2NAME
    - VLCProfileEditor::codecSelected
    - profileLine::setReadOnly
    linkageType: ''
    returnType: void
    signature: "void VLCProfileEditor::VLCProfileEditor( const QString& qs_name, const
      QString& value,\n        QWindow *_parent )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: module_list_get
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:492,1
    - Dst: module_provides
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:499,1
    - Dst: insert
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:500,1
    - Dst: module_get_object
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:500,1
    - Dst: module_list_free
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:504,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 505
    functionName: VLCProfileEditor::loadCapabilities
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 1
    functionsReached:
    - module_list_free
    - insert
    - module_list_get
    - module_provides
    - module_get_object
    linkageType: ''
    returnType: void
    signature: void VLCProfileEditor::loadCapabilities()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: module_list_get
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:510,1
    - Dst: module_get_score
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:515,1
    - Dst: module_get_capability
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:517,1
    - Dst: module_GetLongName
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:528,1
    - Dst: QListWidgetItem::QListWidgetItem
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:528,1
    - Dst: QListWidgetItem*::setCheckState
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:529,1
    - Dst: QListWidgetItem*::setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:530,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:530,1
    - Dst: module_get_help
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:530,1
    - Dst: QListWidgetItem*::setData
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:531,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:531,1
    - Dst: module_get_object
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:531,1
    - Dst: QListWidget*::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:532,1
    - Dst: module_list_free
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:534,1
    - Dst: valueholder_video_filters::sortItems
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:536,1
    - Dst: valueholder_audio_filters::sortItems
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:537,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 538
    functionName: VLCProfileEditor::registerFilters
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 1
    functionsReached:
    - module_GetLongName
    - QListWidgetItem*::setCheckState
    - QString
    - valueholder_audio_filters::sortItems
    - QListWidgetItem::QListWidgetItem
    - QListWidgetItem*::setToolTip
    - valueholder_video_filters::sortItems
    - module_get_score
    - module_list_free
    - module_list_get
    - module_get_help
    - module_get_object
    - module_get_capability
    - QListWidget*::addItem
    - QListWidgetItem*::setData
    linkageType: ''
    returnType: void
    signature: void VLCProfileEditor::registerFilters()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETMUX
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:552,1
    - Dst: SETMUX
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:553,1
    - Dst: SETMUX
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:554,1
    - Dst: SETMUX
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:555,1
    - Dst: SETMUX
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:556,1
    - Dst: SETMUX
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:557,1
    - Dst: SETMUX
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:558,1
    - Dst: SETMUX
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:559,1
    - Dst: SETMUX
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:560,1
    - Dst: SETMUX
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:561,1
    - Dst: SETMUX
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:562,1
    - Dst: SETMUX
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:563,1
    - Dst: SETMUX
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:564,1
    - Dst: SETMUX
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:565,1
    - Dst: SETMUX
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:566,1
    - Dst: ADD_VCODEC
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:571,1
    - Dst: ADD_VCODEC
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:572,1
    - Dst: ADD_VCODEC
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:573,1
    - Dst: ADD_VCODEC
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:574,1
    - Dst: ADD_VCODEC
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:575,1
    - Dst: ADD_VCODEC
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:576,1
    - Dst: ADD_VCODEC
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:577,1
    - Dst: ADD_VCODEC
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:578,1
    - Dst: ADD_VCODEC
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:579,1
    - Dst: ADD_VCODEC
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:580,1
    - Dst: ADD_VCODEC
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:581,1
    - Dst: ADD_VCODEC
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:582,1
    - Dst: ADD_VCODEC
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:583,1
    - Dst: ADD_VCODEC
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:584,1
    - Dst: ADD_VCODEC
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:585,1
    - Dst: ADD_ACODEC
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:591,1
    - Dst: ADD_ACODEC
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:592,1
    - Dst: ADD_ACODEC
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:593,1
    - Dst: ADD_ACODEC
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:594,1
    - Dst: ADD_ACODEC
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:595,1
    - Dst: ADD_ACODEC
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:596,1
    - Dst: ADD_ACODEC
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:597,1
    - Dst: ADD_ACODEC
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:598,1
    - Dst: ADD_ACODEC
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:599,1
    - Dst: ADD_ACODEC
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:600,1
    - Dst: ADD_SCALING
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:604,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:604,1
    - Dst: ADD_SCALING
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:605,1
    - Dst: ADD_SCALING
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:606,1
    - Dst: ADD_SCALING
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:607,1
    - Dst: ADD_SCALING
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:608,1
    - Dst: ADD_SCALING
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:609,1
    - Dst: ADD_SCALING
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:610,1
    - Dst: ADD_SCALING
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:611,1
    - Dst: ADD_SCALING
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:612,1
    - Dst: ADD_SAMPLERATE
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:616,1
    - Dst: ADD_SAMPLERATE
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:617,1
    - Dst: ADD_SAMPLERATE
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:618,1
    - Dst: ADD_SAMPLERATE
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:619,1
    - Dst: ADD_SAMPLERATE
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:620,1
    - Dst: ADD_SCODEC
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:624,1
    - Dst: ADD_SCODEC
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:625,1
    - Dst: ADD_SCODEC
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 628
    functionName: VLCProfileEditor::registerCodecs
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 1
    functionsReached:
    - SETMUX
    - qtr
    - ADD_SCALING
    - ADD_SAMPLERATE
    - ADD_VCODEC
    - ADD_SCODEC
    - ADD_ACODEC
    linkageType: ''
    returnType: void
    signature: void VLCProfileEditor::registerCodecs()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - button
    - ','
    - val
    - ','
    - mod
    - ','
    - vid
    - ','
    - aud
    - ','
    - men
    - ','
    - sub
    - ','
    - stream
    - ','
    - chaps
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 552
    functionName: SETMUX
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SETMUX( button, val, mod, vid, aud, men, sub, stream, chaps )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - fourcc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 571
    functionName: ADD_VCODEC
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_VCODEC( name, fourcc )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - fourcc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 591
    functionName: ADD_ACODEC
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_ACODEC( name, fourcc )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - factor
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 604
    functionName: ADD_SCALING
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_SCALING( factor )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sample
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 616
    functionName: ADD_SAMPLERATE
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_SAMPLERATE( sample, val )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - fourcc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 624
    functionName: ADD_SCODEC
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_SCODEC( name, fourcc )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qobject_cast<QRadioButton *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:633,1
    - Dst: buttonGroup::checkedButton
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:633,1
    - Dst: SETYESNOSTATE
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:639,1
    - Dst: SETYESNOSTATE
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:640,1
    - Dst: SETYESNOSTATE
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:641,1
    - Dst: SETYESNOSTATE
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:642,1
    - Dst: SETYESNOSTATE
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:643,1
    - Dst: SETYESNOSTATE
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:644,1
    - Dst: QFontMetrics
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:646,1
    - Dst: muxerwarning::font
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:646,1
    - Dst: QRadioButton*::property
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:647,1
    - Dst: muxerwarning::setText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:648,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:649,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:650,1
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:653,1
    - Dst: QRadioButton*::property
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:653,1
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:654,1
    - Dst: QRadioButton*::property
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:654,1
    - Dst: muxerwarning::setText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:655,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:656,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:657,1
    - Dst: muxerwarning::setText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:661,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 665
    functionName: VLCProfileEditor::muxSelected
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 1
    functionsReached:
    - QString
    - muxerwarning::font
    - buttonGroup::checkedButton
    - qobject_cast<QRadioButton *>
    - SETYESNOSTATE
    - qtr
    - QFontMetrics
    - QRadioButton*::property
    - muxerwarning::setText
    - contains
    linkageType: ''
    returnType: void
    signature: void VLCProfileEditor::muxSelected()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - prop
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 637
    functionName: SETYESNOSTATE
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SETYESNOSTATE( name, prop )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: valueholder_video_codec::itemData
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:670,1
    - Dst: valueholder_video_codec::currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:671,1
    - Dst: valueholder_vcodec_qp::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:672,1
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 673
    functionName: VLCProfileEditor::codecSelected
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 1
    functionsReached:
    - valueholder_video_codec::currentIndex
    - contains
    - valueholder_vcodec_qp::setEnabled
    - valueholder_video_codec::itemData
    linkageType: ''
    returnType: void
    signature: void VLCProfileEditor::codecSelected()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: QRegularExpression::match
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:678,1
    - Dst: VLCProfileEditor::fillProfileOldFormat
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:678,1
    - Dst: split
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:680,1
    - Dst: split
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:683,1
    - Dst: QStringList::count
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:684,1
    - Dst: findChild<QObject *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:687,1
    - Dst: CATPROP2NAME
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:687,1
    - Dst: QObject*::inherits
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:690,1
    - Dst: qobject_cast<const QButtonGroup *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:692,1
    - Dst: foreach
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:693,1
    - Dst: QButtonGroup*::buttons
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:693,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:695,1
    - Dst: setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:697,1
    - Dst: QObject*::inherits
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:702,1
    - Dst: qobject_cast<QCheckBox *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:704,1
    - Dst: QCheckBox*::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:705,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:705,1
    - Dst: QObject*::inherits
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:707,1
    - Dst: qobject_cast<QGroupBox *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:709,1
    - Dst: QGroupBox*::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:710,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:710,1
    - Dst: QObject*::inherits
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:712,1
    - Dst: qobject_cast<QSpinBox *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:714,1
    - Dst: QSpinBox*::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:715,1
    - Dst: QString::toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:715,1
    - Dst: QObject*::inherits
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:717,1
    - Dst: qobject_cast<QDoubleSpinBox *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:719,1
    - Dst: QDoubleSpinBox*::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:720,1
    - Dst: QString::toDouble
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:720,1
    - Dst: QObject*::inherits
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:722,1
    - Dst: qobject_cast<QComboBox *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:724,1
    - Dst: QComboBox*::setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:725,1
    - Dst: QComboBox*::findData
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:725,1
    - Dst: QComboBox*::lineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:726,1
    - Dst: QComboBox*::currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:726,1
    - Dst: QComboBox*::lineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:727,1
    - Dst: QObject*::inherits
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:729,1
    - Dst: qobject_cast<QLineEdit *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:731,1
    - Dst: QLineEdit*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:732,1
    - Dst: QUrl::fromPercentEncoding
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:732,1
    - Dst: QString::toLatin1
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:732,1
    - Dst: QObject*::inherits
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:734,1
    - Dst: QUrl::fromPercentEncoding
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:736,1
    - Dst: QString::toLatin1
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:736,1
    - Dst: qobject_cast<const QListWidget *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:737,1
    - Dst: QListWidget*::count
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:738,1
    - Dst: QListWidget*::item
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:740,1
    - Dst: QStringList::contains
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:741,1
    - Dst: QListWidgetItem*::data
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:741,1
    - Dst: QListWidgetItem*::setCheckState
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:742,1
    - Dst: QListWidgetItem*::setCheckState
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:744,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 1
    argNames:
    - ' qs'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 675
    functionDepth: 2
    functionLinenumber: 675
    functionLinenumberEnd: 749
    functionName: VLCProfileEditor::fillProfile
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 1
    functionsReached:
    - split
    - QButtonGroup*::buttons
    - QSpinBox*::setValue
    - QDoubleSpinBox*::setValue
    - qobject_cast<QCheckBox *>
    - setChecked
    - QString::toLatin1
    - foreach
    - QListWidgetItem*::setCheckState
    - findChild<QObject *>
    - QString::isEmpty
    - QComboBox*::currentIndex
    - qobject_cast<QDoubleSpinBox *>
    - QGroupBox*::setChecked
    - QListWidget*::count
    - qobject_cast<QGroupBox *>
    - qobject_cast<QSpinBox *>
    - VLCProfileEditor::fillProfileOldFormat
    - QUrl::fromPercentEncoding
    - QObject*::inherits
    - QListWidgetItem*::data
    - qobject_cast<QComboBox *>
    - qobject_cast<const QButtonGroup *>
    - QRegularExpression::match
    - QStringList::count
    - QString::toInt
    - property
    - QCheckBox*::setChecked
    - QComboBox*::setCurrentIndex
    - qobject_cast<const QListWidget *>
    - QComboBox*::findData
    - QListWidget*::item
    - QString::toDouble
    - CATPROP2NAME
    - QStringList::contains
    - qobject_cast<QLineEdit *>
    - QLineEdit*::setText
    - QComboBox*::lineEdit
    linkageType: ''
    returnType: void
    signature: void VLCProfileEditor::fillProfile( const QString& qs )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: QString::split
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:683,1
    - Dst: QStringList::count
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:684,1
    - Dst: findChild<QObject *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:687,1
    - Dst: CATPROP2NAME
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:687,1
    - Dst: QObject*::inherits
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:690,1
    - Dst: qobject_cast<const QButtonGroup *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:692,1
    - Dst: foreach
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:693,1
    - Dst: QButtonGroup*::buttons
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:693,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:695,1
    - Dst: setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:697,1
    - Dst: QObject*::inherits
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:702,1
    - Dst: qobject_cast<QCheckBox *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:704,1
    - Dst: QCheckBox*::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:705,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:705,1
    - Dst: QObject*::inherits
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:707,1
    - Dst: qobject_cast<QGroupBox *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:709,1
    - Dst: QGroupBox*::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:710,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:710,1
    - Dst: QObject*::inherits
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:712,1
    - Dst: qobject_cast<QSpinBox *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:714,1
    - Dst: QSpinBox*::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:715,1
    - Dst: QString::toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:715,1
    - Dst: QObject*::inherits
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:717,1
    - Dst: qobject_cast<QDoubleSpinBox *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:719,1
    - Dst: QDoubleSpinBox*::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:720,1
    - Dst: QString::toDouble
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:720,1
    - Dst: QObject*::inherits
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:722,1
    - Dst: qobject_cast<QComboBox *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:724,1
    - Dst: QComboBox*::setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:725,1
    - Dst: QComboBox*::findData
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:725,1
    - Dst: QComboBox*::lineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:726,1
    - Dst: QComboBox*::currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:726,1
    - Dst: QComboBox*::lineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:727,1
    - Dst: QObject*::inherits
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:729,1
    - Dst: qobject_cast<QLineEdit *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:731,1
    - Dst: QLineEdit*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:732,1
    - Dst: QUrl::fromPercentEncoding
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:732,1
    - Dst: QString::toLatin1
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:732,1
    - Dst: QObject*::inherits
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:734,1
    - Dst: QUrl::fromPercentEncoding
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:736,1
    - Dst: QString::toLatin1
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:736,1
    - Dst: qobject_cast<const QListWidget *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:737,1
    - Dst: QListWidget*::count
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:738,1
    - Dst: QListWidget*::item
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:740,1
    - Dst: QStringList::contains
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:741,1
    - Dst: QListWidgetItem*::data
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:741,1
    - Dst: QListWidgetItem*::setCheckState
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:742,1
    - Dst: QListWidgetItem*::setCheckState
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:744,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 1
    argNames:
    - tuple
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 681
    functionDepth: 2
    functionLinenumber: 681
    functionLinenumberEnd: 748
    functionName: foreach
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 52
    functionsReached:
    - QButtonGroup*::buttons
    - QSpinBox*::setValue
    - QDoubleSpinBox*::setValue
    - qobject_cast<QCheckBox *>
    - setChecked
    - QString::toLatin1
    - foreach
    - QListWidgetItem*::setCheckState
    - findChild<QObject *>
    - QString::isEmpty
    - QComboBox*::currentIndex
    - qobject_cast<QDoubleSpinBox *>
    - QString::split
    - QGroupBox*::setChecked
    - QListWidget*::count
    - qobject_cast<QGroupBox *>
    - qobject_cast<QSpinBox *>
    - QUrl::fromPercentEncoding
    - QObject*::inherits
    - QListWidgetItem*::data
    - qobject_cast<QComboBox *>
    - qobject_cast<const QButtonGroup *>
    - QStringList::count
    - QString::toInt
    - property
    - QCheckBox*::setChecked
    - QComboBox*::setCurrentIndex
    - qobject_cast<const QListWidget *>
    - QComboBox*::findData
    - QListWidget*::item
    - QString::toDouble
    - CATPROP2NAME
    - QStringList::contains
    - qobject_cast<QLineEdit *>
    - QLineEdit*::setText
    - QComboBox*::lineEdit
    linkageType: ''
    returnType: void
    signature: void foreach ( const QString &tuple, tuples )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: split
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:753,1
    - Dst: QStringList::count
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:754,1
    - Dst: muxer::layout
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:758,1
    - Dst: qobject_cast<QRadioButton *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:761,1
    - Dst: muxer::layout
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:761,1
    - Dst: unlikely
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:762,1
    - Dst: QRadioButton*::property
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:763,1
    - Dst: QRadioButton*::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:765,1
    - Dst: valueholder_video_copy::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:770,1
    - Dst: toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:770,1
    - Dst: valueholder_video_enable::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:771,1
    - Dst: valueholder_audio_copy::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:772,1
    - Dst: toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:772,1
    - Dst: valueholder_audio_enable::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:773,1
    - Dst: valueholder_subtitles_enable::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:774,1
    - Dst: toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:774,1
    - Dst: valueholder_video_codec::setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:776,1
    - Dst: valueholder_video_codec::findData
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:776,1
    - Dst: valueholder_vcodec_bitrate::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:777,1
    - Dst: toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:777,1
    - Dst: toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:778,1
    - Dst: valueholder_vcodec_scale::setEditText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:779,1
    - Dst: valueholder_vcodec_scale::setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:781,1
    - Dst: valueholder_vcodec_framerate::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:782,1
    - Dst: toDouble
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:782,1
    - Dst: valueholder_vcodec_width::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:783,1
    - Dst: toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:783,1
    - Dst: valueholder_vcodec_height::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:784,1
    - Dst: toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:784,1
    - Dst: valueholder_audio_codec::setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:786,1
    - Dst: valueholder_audio_codec::findData
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:786,1
    - Dst: valueholder_acodec_bitrate::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:787,1
    - Dst: toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:787,1
    - Dst: valueholder_acodec_channels::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:788,1
    - Dst: toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:788,1
    - Dst: valueholder_acodec_samplerate::findData
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:790,1
    - Dst: valueholder_acodec_samplerate::findData
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:791,1
    - Dst: valueholder_acodec_samplerate::setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:792,1
    - Dst: valueholder_subtitles_codec::setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:794,1
    - Dst: valueholder_subtitles_codec::findData
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:794,1
    - Dst: valueholder_subtitles_overlay::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:795,1
    - Dst: toInt
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:795,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - ' qs'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 796
    functionName: VLCProfileEditor::fillProfileOldFormat
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 1
    functionsReached:
    - valueholder_subtitles_codec::findData
    - valueholder_video_enable::setChecked
    - valueholder_audio_codec::setCurrentIndex
    - split
    - valueholder_video_codec::setCurrentIndex
    - valueholder_subtitles_enable::setChecked
    - muxer::layout
    - valueholder_vcodec_scale::setEditText
    - valueholder_vcodec_scale::setCurrentIndex
    - valueholder_vcodec_height::setValue
    - valueholder_vcodec_framerate::setValue
    - valueholder_acodec_channels::setValue
    - valueholder_video_copy::setChecked
    - valueholder_audio_copy::setChecked
    - valueholder_acodec_samplerate::setCurrentIndex
    - valueholder_vcodec_width::setValue
    - toInt
    - valueholder_acodec_samplerate::findData
    - valueholder_video_codec::findData
    - qobject_cast<QRadioButton *>
    - valueholder_audio_enable::setChecked
    - QStringList::count
    - valueholder_subtitles_codec::setCurrentIndex
    - valueholder_acodec_bitrate::setValue
    - QRadioButton*::setChecked
    - valueholder_vcodec_bitrate::setValue
    - valueholder_audio_codec::findData
    - valueholder_subtitles_overlay::setChecked
    - toDouble
    - QRadioButton*::property
    - unlikely
    linkageType: ''
    returnType: void
    signature: void VLCProfileEditor::fillProfileOldFormat( const QString& qs )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: profileLine::text
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:800,1
    - Dst: user_warning
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:802,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:802,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:803,1
    - Dst: profileLine::setFocus
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:804,1
    - Dst: profileLine::text
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:807,1
    - Dst: vlclua_net_accept
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:809,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 798
    functionDepth: 5
    functionLinenumber: 798
    functionLinenumberEnd: 810
    functionName: VLCProfileEditor::accept
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 0
    functionsReached:
    - profileLine::text
    - qtr
    - user_warning
    - vlclua_net_accept
    - profileLine::setFocus
    linkageType: ''
    returnType: void
    signature: void VLCProfileEditor::accept()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - box
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 813
    functionName: currentData
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: currentData( box )
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: findChildren<QObject *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:816,1
    - Dst: objectName
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:821,1
    - Dst: CATPROP2NAME
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:821,1
    - Dst: inherits
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:823,1
    - Dst: qobject_cast<const QWidget *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:824,1
    - Dst: objectName
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:826,1
    - Dst: objectName
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:827,1
    - Dst: QStringList::count
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:828,1
    - Dst: inherits
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:833,1
    - Dst: qobject_cast<const QButtonGroup *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:835,1
    - Dst: QButtonGroup*::checkedButton
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:836,1
    - Dst: inherits
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:838,1
    - Dst: qobject_cast<const QCheckBox *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:840,1
    - Dst: QCheckBox*::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:841,1
    - Dst: inherits
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:843,1
    - Dst: qobject_cast<const QGroupBox *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:845,1
    - Dst: QGroupBox*::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:846,1
    - Dst: inherits
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:848,1
    - Dst: qobject_cast<const QSpinBox *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:850,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:851,1
    - Dst: QSpinBox*::value
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:851,1
    - Dst: inherits
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:853,1
    - Dst: qobject_cast<const QDoubleSpinBox *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:855,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:856,1
    - Dst: QDoubleSpinBox*::value
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:856,1
    - Dst: inherits
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:858,1
    - Dst: qobject_cast<const QComboBox *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:860,1
    - Dst: currentData
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:861,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:862,1
    - Dst: QComboBox*::lineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:862,1
    - Dst: QComboBox*::lineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:862,1
    - Dst: inherits
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:864,1
    - Dst: qobject_cast<const QLineEdit *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:866,1
    - Dst: QUrl::toPercentEncoding
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:867,1
    - Dst: QLineEdit*::text
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:867,1
    - Dst: inherits
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:869,1
    - Dst: qobject_cast<const QListWidget *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:871,1
    - Dst: QListWidget*::count
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:873,1
    - Dst: QListWidget*::item
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:875,1
    - Dst: QListWidgetItem*::checkState
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:876,1
    - Dst: QStringList::append
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:877,1
    - Dst: QListWidgetItem*::data
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:877,1
    - Dst: QUrl::toPercentEncoding
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:879,1
    - Dst: QStringList::join
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:879,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:882,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:883,1
    - Dst: QStringList::join
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:887,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 814
    functionDepth: 2
    functionLinenumber: 814
    functionLinenumberEnd: 888
    functionName: VLCProfileEditor::transcodeValue
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 0
    functionsReached:
    - QString
    - qobject_cast<const QWidget *>
    - QSpinBox*::value
    - QCheckBox*::isChecked
    - objectName
    - qobject_cast<const QLineEdit *>
    - qobject_cast<const QCheckBox *>
    - inherits
    - QButtonGroup*::checkedButton
    - QListWidgetItem*::checkState
    - QString::isEmpty
    - QUrl::toPercentEncoding
    - QLineEdit*::text
    - QListWidget*::count
    - QGroupBox*::isChecked
    - QDoubleSpinBox*::value
    - currentData
    - QListWidgetItem*::data
    - QStringList::join
    - qobject_cast<const QComboBox *>
    - qobject_cast<const QButtonGroup *>
    - findChildren<QObject *>
    - vlclua_io_file_read_number
    - QStringList::count
    - qobject_cast<const QGroupBox *>
    - qobject_cast<const QSpinBox *>
    - qobject_cast<const QListWidget *>
    - QStringList::append
    - QListWidget*::item
    - CATPROP2NAME
    - qobject_cast<const QDoubleSpinBox *>
    - QComboBox*::lineEdit
    linkageType: ''
    returnType: QString
    signature: QString VLCProfileEditor::transcodeValue()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: QObject*::objectName
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:821,1
    - Dst: CATPROP2NAME
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:821,1
    - Dst: QObject*::inherits
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:823,1
    - Dst: qobject_cast<const QWidget *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:824,1
    - Dst: QObject*::objectName
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:826,1
    - Dst: QObject*::objectName
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:827,1
    - Dst: QStringList::count
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:828,1
    - Dst: QObject*::inherits
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:833,1
    - Dst: qobject_cast<const QButtonGroup *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:835,1
    - Dst: QButtonGroup*::checkedButton
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:836,1
    - Dst: QObject*::inherits
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:838,1
    - Dst: qobject_cast<const QCheckBox *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:840,1
    - Dst: QCheckBox*::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:841,1
    - Dst: QObject*::inherits
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:843,1
    - Dst: qobject_cast<const QGroupBox *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:845,1
    - Dst: QGroupBox*::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:846,1
    - Dst: QObject*::inherits
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:848,1
    - Dst: qobject_cast<const QSpinBox *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:850,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:851,1
    - Dst: QSpinBox*::value
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:851,1
    - Dst: QObject*::inherits
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:853,1
    - Dst: qobject_cast<const QDoubleSpinBox *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:855,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:856,1
    - Dst: QDoubleSpinBox*::value
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:856,1
    - Dst: QObject*::inherits
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:858,1
    - Dst: qobject_cast<const QComboBox *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:860,1
    - Dst: currentData
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:861,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:862,1
    - Dst: QComboBox*::lineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:862,1
    - Dst: QComboBox*::lineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:862,1
    - Dst: QObject*::inherits
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:864,1
    - Dst: qobject_cast<const QLineEdit *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:866,1
    - Dst: QUrl::toPercentEncoding
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:867,1
    - Dst: QLineEdit*::text
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:867,1
    - Dst: QObject*::inherits
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:869,1
    - Dst: qobject_cast<const QListWidget *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:871,1
    - Dst: QListWidget*::count
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:873,1
    - Dst: QListWidget*::item
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:875,1
    - Dst: QListWidgetItem*::checkState
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:876,1
    - Dst: QStringList::append
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:877,1
    - Dst: QListWidgetItem*::data
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:877,1
    - Dst: QUrl::toPercentEncoding
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:879,1
    - Dst: QStringList::join
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:879,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:882,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:883,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 1
    argNames:
    - object
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 819
    functionDepth: 2
    functionLinenumber: 819
    functionLinenumberEnd: 885
    functionName: foreach
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 52
    functionsReached:
    - QString
    - qobject_cast<const QWidget *>
    - QSpinBox*::value
    - QCheckBox*::isChecked
    - qobject_cast<const QLineEdit *>
    - qobject_cast<const QCheckBox *>
    - QButtonGroup*::checkedButton
    - QListWidgetItem*::checkState
    - QString::isEmpty
    - QUrl::toPercentEncoding
    - QLineEdit*::text
    - QListWidget*::count
    - QGroupBox*::isChecked
    - QObject*::inherits
    - QDoubleSpinBox*::value
    - currentData
    - QListWidgetItem*::data
    - QStringList::join
    - qobject_cast<const QComboBox *>
    - qobject_cast<const QButtonGroup *>
    - vlclua_io_file_read_number
    - QObject*::objectName
    - QStringList::count
    - qobject_cast<const QGroupBox *>
    - qobject_cast<const QSpinBox *>
    - qobject_cast<const QListWidget *>
    - QStringList::append
    - QListWidget*::item
    - CATPROP2NAME
    - qobject_cast<const QDoubleSpinBox *>
    - QComboBox*::lineEdit
    linkageType: ''
    returnType: void
    signature: void foreach( const QObject *object, allwidgets )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: valueholder_video_copy::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:893,1
    - Dst: valueholder_audio_copy::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:894,1
    - Dst: VLCProfileEditor::activatePanels
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:895,1
    - Dst: VLCProfileEditor::fixBirateState
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:896,1
    - Dst: valueholder_video_enable::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:898,1
    - Dst: valueholder_audio_enable::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:899,1
    - Dst: valueholder_subtitles_enable::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:900,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 890
    functionDepth: 1
    functionLinenumber: 890
    functionLinenumberEnd: 901
    functionName: VLCProfileEditor::reset
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 1
    functionsReached:
    - valueholder_video_enable::setChecked
    - valueholder_audio_enable::setChecked
    - valueholder_video_copy::setChecked
    - valueholder_audio_copy::setChecked
    - VLCProfileEditor::fixBirateState
    - valueholder_subtitles_enable::setChecked
    - VLCProfileEditor::activatePanels
    linkageType: ''
    returnType: void
    signature: void VLCProfileEditor::reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transcodevideo::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:905,1
    - Dst: valueholder_video_copy::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:905,1
    - Dst: transcodeaudio::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:906,1
    - Dst: valueholder_audio_copy::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:906,1
    - Dst: valueholder_subtitles_codec::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:907,1
    - Dst: valueholder_subtitles_overlay::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 908
    functionName: VLCProfileEditor::activatePanels
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 1
    functionsReached:
    - transcodeaudio::setEnabled
    - valueholder_video_copy::isChecked
    - valueholder_subtitles_overlay::isChecked
    - valueholder_subtitles_codec::setEnabled
    - transcodevideo::setEnabled
    - valueholder_audio_copy::isChecked
    linkageType: ''
    returnType: void
    signature: void VLCProfileEditor::activatePanels()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: valueholder_vcodec_qp::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 914
    functionName: VLCProfileEditor::fixBirateState
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 1
    functionsReached:
    - valueholder_vcodec_qp::setValue
    linkageType: ''
    returnType: void
    signature: void VLCProfileEditor::fixBirateState()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: valueholder_vcodec_bitrate::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp:919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 920
    functionName: VLCProfileEditor::fixQPState
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.cpp
    functionUses: 0
    functionsReached:
    - valueholder_vcodec_bitrate::setValue
    linkageType: ''
    returnType: void
    signature: void VLCProfileEditor::fixQPState()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~SoutDialog()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/sout.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SoutDialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: SoutDialog::getChain
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/sout.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString getChain()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setTitle
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:49,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:49,1
    - Dst: QGridLayout::QGridLayout
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:50,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:52,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:52,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:53,1
    - Dst: QLineEdit::QLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:55,1
    - Dst: setReadOnly
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:56,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:57,1
    - Dst: QLabel*::setBuddy
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:58,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:59,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:61,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:61,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:62,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:63,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:64,1
    - Dst: QFrame::QFrame
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:67,1
    - Dst: QFrame*::setFrameStyle
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:68,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - _parent
    - ' mrl'
    argTypes:
    - QWidget*
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 70
    functionName: SoutInputBox::SoutInputBox
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp
    functionUses: 0
    functionsReached:
    - QGridLayout::QGridLayout
    - QLineEdit::QLineEdit
    - QFrame*::setFrameStyle
    - setTitle
    - qtr
    - QFrame::QFrame
    - QGridLayout*::addWidget
    - setReadOnly
    - QLabel::QLabel
    - setText
    - QLabel*::setBuddy
    linkageType: ''
    returnType: void
    signature: void SoutInputBox::SoutInputBox( QWidget *_parent, const QString& mrl
      )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QUrl::scheme
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:75,1
    - Dst: QUrl::isValid
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:77,1
    - Dst: startsWith
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:78,1
    - Dst: startsWith
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:79,1
    - Dst: startsWith
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:80,1
    - Dst: indexOf
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:82,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:85,1
    - Dst: left
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:85,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:86,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:92,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:96,1
    - Dst: toNativeSeparators
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:97,1
    - Dst: QUrl::toDisplayString
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:97,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:100,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:100,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:101,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - ' mrl'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 103
    functionName: SoutInputBox::setMRL
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp
    functionUses: 0
    functionsReached:
    - qfut
    - QString::isEmpty
    - QUrl::scheme
    - startsWith
    - left
    - QUrl::toDisplayString
    - QUrl::isValid
    - toNativeSeparators
    - setText
    - indexOf
    linkageType: ''
    returnType: void
    signature: void SoutInputBox::setMRL( const QString& mrl )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:107,1
    - Dst: setWordWrap
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:108,1
    - Dst: QGridLayout::QGridLayout
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:109,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - _parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: VirtualDestBox::VirtualDestBox
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp
    functionUses: 0
    functionsReached:
    - setWordWrap
    - addWidget
    - QLabel::QLabel
    - QGridLayout::QGridLayout
    linkageType: ''
    returnType: void
    signature: void VirtualDestBox::VirtualDestBox( QWidget *_parent )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: VirtualDestBox::~VirtualDestBox()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VirtualDestBox::~VirtualDestBox()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:126,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:126,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:128,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:128,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:129,1
    - Dst: QLineEdit::QLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:131,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:132,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:134,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:134,1
    - Dst: QPushButton*::setSizePolicy
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:136,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:138,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:139,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - _parent
    - _p_intf
    argTypes:
    - QWidget*
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 141
    functionName: FileDestBox::FileDestBox
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp
    functionUses: 0
    functionsReached:
    - QLineEdit::QLineEdit
    - addWidget
    - qtr
    - connect
    - BUTTONACT
    - QPushButton::QPushButton
    - QLabel::QLabel
    - setText
    - QPushButton*::setSizePolicy
    linkageType: ''
    returnType: void
    signature: void FileDestBox::FileDestBox( QWidget *_parent, qt_intf_t * _p_intf
      )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:145,1
    - Dst: SoutChain::SoutChain
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:147,1
    - Dst: SoutChain::begin
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:148,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:149,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:150,1
    - Dst: QString::contains
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:152,1
    - Dst: QRegularExpression
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:152,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:152,1
    - Dst: QString::endsWith
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:153,1
    - Dst: QString::replace
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:156,1
    - Dst: QRegularExpression
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:156,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:156,1
    - Dst: QString::endsWith
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:157,1
    - Dst: SoutChain::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:159,1
    - Dst: SoutChain::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:162,1
    - Dst: SoutChain::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:163,1
    - Dst: SoutChain::end
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:164,1
    - Dst: SoutChain::to_string
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ' mux'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 167
    functionName: FileDestBox::getMRL
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp
    functionUses: 0
    functionsReached:
    - QStringLiteral
    - QRegularExpression
    - QString::replace
    - SoutChain::to_string
    - QString::endsWith
    - SoutChain::end
    - QString::contains
    - isEmpty
    - SoutChain::SoutChain
    - text
    - SoutChain::begin
    - SoutChain::option
    linkageType: ''
    returnType: QString
    signature: QString FileDestBox::getMRL( const QString& mux )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QStringList
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:171,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:171,1
    - Dst: QFileDialog::getSaveFileUrl
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:172,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:172,1
    - Dst: p_mi::getDialogFilePath
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:173,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:173,1
    - Dst: OverrideTrackOptions
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:174,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:175,1
    - Dst: toNativeSeparators
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: FileDestBox::fileBrowse
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp
    functionUses: 0
    functionsReached:
    - QStringLiteral
    - QStringList
    - p_mi::getDialogFilePath
    - qtr
    - toNativeSeparators
    - OverrideTrackOptions
    - QFileDialog::getSaveFileUrl
    - setText
    linkageType: ''
    returnType: void
    signature: void FileDestBox::fileBrowse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:183,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:183,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:185,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:185,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:186,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:186,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:187,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:188,1
    - Dst: QLineEdit::QLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:190,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:191,1
    - Dst: QSpinBox::QSpinBox
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:193,1
    - Dst: setMaximumSize
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:194,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:194,1
    - Dst: setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:195,1
    - Dst: setMinimum
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:196,1
    - Dst: setMaximum
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:197,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:198,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:200,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:201,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:202,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:202,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - _parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 181
    functionDepth: 3
    functionLinenumber: 181
    functionLinenumberEnd: 204
    functionName: HTTPDestBox::HTTPDestBox
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp
    functionUses: 0
    functionsReached:
    - QLineEdit::QLineEdit
    - addWidget
    - QSpinBox::QSpinBox
    - go_eof
    - qtr
    - connect
    - setAlignment
    - QLabel::QLabel
    - setMinimum
    - QSize
    - setText
    - setMaximumSize
    - setValue
    - setMaximum
    linkageType: ''
    returnType: void
    signature: void HTTPDestBox::HTTPDestBox( QWidget *_parent )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:208,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:210,1
    - Dst: QString::prepend
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:212,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:212,1
    - Dst: QString::setNum
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:214,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:214,1
    - Dst: SoutChain::SoutChain
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:217,1
    - Dst: SoutChain::begin
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:218,1
    - Dst: QString::contains
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:222,1
    - Dst: QRegularExpression
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:222,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:222,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:224,1
    - Dst: compare
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:224,1
    - Dst: SoutChain::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:225,1
    - Dst: SoutChain::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:227,1
    - Dst: SoutChain::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:229,1
    - Dst: SoutChain::end
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:230,1
    - Dst: SoutChain::to_string
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ' mux'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 233
    functionName: HTTPDestBox::getMRL
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp
    functionUses: 0
    functionsReached:
    - SoutChain::begin
    - QStringLiteral
    - QRegularExpression
    - SoutChain::to_string
    - compare
    - value
    - QString::prepend
    - SoutChain::end
    - QString::contains
    - isEmpty
    - SoutChain::SoutChain
    - text
    - QString::setNum
    - qfu
    - SoutChain::option
    linkageType: ''
    returnType: QString
    signature: QString HTTPDestBox::getMRL( const QString& mux )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:237,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:237,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:240,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:240,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:241,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:241,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:242,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:243,1
    - Dst: QLineEdit::QLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:245,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:246,1
    - Dst: QSpinBox::QSpinBox
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:248,1
    - Dst: setMaximumSize
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:249,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:249,1
    - Dst: setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:250,1
    - Dst: setMinimum
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:251,1
    - Dst: setMaximum
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:252,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:253,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:255,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:256,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:257,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:257,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - _parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 235
    functionDepth: 3
    functionLinenumber: 235
    functionLinenumberEnd: 259
    functionName: MMSHDestBox::MMSHDestBox
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp
    functionUses: 0
    functionsReached:
    - QLineEdit::QLineEdit
    - addWidget
    - QSpinBox::QSpinBox
    - go_eof
    - qtr
    - connect
    - setAlignment
    - QLabel::QLabel
    - setMinimum
    - QSize
    - setText
    - setMaximumSize
    - setValue
    - setMaximum
    linkageType: ''
    returnType: void
    signature: void MMSHDestBox::MMSHDestBox( QWidget *_parent )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:263,1
    - Dst: SoutChain::SoutChain
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:265,1
    - Dst: SoutChain::begin
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:266,1
    - Dst: SoutChain::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:267,1
    - Dst: SoutChain::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:268,1
    - Dst: SoutChain::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:269,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:269,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:269,1
    - Dst: SoutChain::end
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:270,1
    - Dst: SoutChain::to_string
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 273
    functionName: MMSHDestBox::getMRL
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp
    functionUses: 0
    functionsReached:
    - SoutChain::to_string
    - SoutChain::end
    - SoutChain::SoutChain
    - text
    - SoutChain::begin
    - value
    - SoutChain::option
    linkageType: ''
    returnType: QString
    signature: QString MMSHDestBox::getMRL( const QString& )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:278,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:279,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:281,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:281,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:282,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:282,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:283,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:284,1
    - Dst: QLineEdit::QLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:286,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:287,1
    - Dst: QSpinBox::QSpinBox
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:289,1
    - Dst: setMaximumSize
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:290,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:290,1
    - Dst: setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:291,1
    - Dst: setMinimum
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:292,1
    - Dst: setMaximum
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:293,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:294,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:296,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:297,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:298,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:298,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - _parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 276
    functionDepth: 3
    functionLinenumber: 276
    functionLinenumberEnd: 300
    functionName: RTSPDestBox::RTSPDestBox
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp
    functionUses: 0
    functionsReached:
    - QLineEdit::QLineEdit
    - addWidget
    - QSpinBox::QSpinBox
    - go_eof
    - qtr
    - connect
    - setAlignment
    - QLabel::QLabel
    - setMinimum
    - QSize
    - setText
    - setMaximumSize
    - setValue
    - setMaximum
    linkageType: ''
    returnType: void
    signature: void RTSPDestBox::RTSPDestBox( QWidget *_parent )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:304,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:306,1
    - Dst: QString::prepend
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:308,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:308,1
    - Dst: QString::setNum
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:310,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:310,1
    - Dst: SoutChain::SoutChain
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:313,1
    - Dst: SoutChain::begin
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:314,1
    - Dst: SoutChain::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:315,1
    - Dst: SoutChain::end
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:316,1
    - Dst: SoutChain::to_string
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 319
    functionName: RTSPDestBox::getMRL
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp
    functionUses: 0
    functionsReached:
    - SoutChain::begin
    - SoutChain::to_string
    - SoutChain::end
    - value
    - QString::prepend
    - SoutChain::SoutChain
    - text
    - QString::setNum
    - qfu
    - SoutChain::option
    linkageType: ''
    returnType: QString
    signature: QString RTSPDestBox::getMRL( const QString& )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:324,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:325,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:327,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:327,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:328,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:328,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:329,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:330,1
    - Dst: QLineEdit::QLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:332,1
    - Dst: QSpinBox::QSpinBox
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:334,1
    - Dst: setMaximumSize
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:335,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:335,1
    - Dst: setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:336,1
    - Dst: setMinimum
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:337,1
    - Dst: setMaximum
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:338,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:339,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:341,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:342,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:343,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:343,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - _parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 322
    functionDepth: 3
    functionLinenumber: 322
    functionLinenumberEnd: 345
    functionName: UDPDestBox::UDPDestBox
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp
    functionUses: 0
    functionsReached:
    - QLineEdit::QLineEdit
    - addWidget
    - QSpinBox::QSpinBox
    - go_eof
    - qtr
    - connect
    - setAlignment
    - QLabel::QLabel
    - setMinimum
    - QSize
    - setText
    - setMaximumSize
    - setValue
    - setMaximum
    linkageType: ''
    returnType: void
    signature: void UDPDestBox::UDPDestBox( QWidget *_parent )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:349,1
    - Dst: SoutChain::SoutChain
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:351,1
    - Dst: SoutChain::begin
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:352,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:354,1
    - Dst: compare
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:354,1
    - Dst: SoutChain::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:355,1
    - Dst: SoutChain::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:356,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:356,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:356,1
    - Dst: SoutChain::end
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:357,1
    - Dst: SoutChain::to_string
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' mux'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 360
    functionName: UDPDestBox::getMRL
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp
    functionUses: 0
    functionsReached:
    - SoutChain::to_string
    - SoutChain::end
    - value
    - isEmpty
    - SoutChain::SoutChain
    - text
    - SoutChain::begin
    - compare
    - SoutChain::option
    linkageType: ''
    returnType: QString
    signature: QString UDPDestBox::getMRL( const QString& mux )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:363,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:365,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:366,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:369,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:369,1
    - Dst: QLineEdit::QLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:370,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:371,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:372,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:374,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:374,1
    - Dst: QSpinBox::QSpinBox
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:375,1
    - Dst: setMaximumSize
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:376,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:376,1
    - Dst: setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:377,1
    - Dst: setMinimum
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:379,1
    - Dst: setMaximum
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:380,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:381,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:382,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:383,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:385,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:385,1
    - Dst: QLineEdit::QLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:386,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:387,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:388,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:390,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:391,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:391,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 2
    argNames:
    - _parent
    - _mux
    argTypes:
    - QWidget*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 362
    functionDepth: 3
    functionLinenumber: 362
    functionLinenumberEnd: 393
    functionName: SRTDestBox::SRTDestBox
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp
    functionUses: 0
    functionsReached:
    - QLineEdit::QLineEdit
    - addWidget
    - QSpinBox::QSpinBox
    - go_eof
    - qtr
    - connect
    - setAlignment
    - QLabel::QLabel
    - setMinimum
    - QSize
    - setText
    - setMaximumSize
    - qfu
    - setValue
    - setMaximum
    linkageType: ''
    returnType: void
    signature: void SRTDestBox::SRTDestBox(QWidget *_parent, const char *_mux)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:397,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:398,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:400,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:401,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:402,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:402,1
    - Dst: SoutChain::SoutChain
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:403,1
    - Dst: SoutChain::begin
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:404,1
    - Dst: SoutChain::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:405,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:407,1
    - Dst: SoutChain::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:408,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:409,1
    - Dst: SoutChain::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:410,1
    - Dst: SoutChain::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:411,1
    - Dst: SoutChain::end
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:413,1
    - Dst: SoutChain::to_string
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 416
    functionName: SRTDestBox::getMRL
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp
    functionUses: 0
    functionsReached:
    - QString::isEmpty
    - SoutChain::to_string
    - SoutChain::end
    - qfu
    - isEmpty
    - vlclua_io_file_read_number
    - SoutChain::SoutChain
    - text
    - SoutChain::begin
    - value
    - SoutChain::option
    linkageType: ''
    returnType: QString
    signature: QString SRTDestBox::getMRL(const QString&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:421,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:421,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:423,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:423,1
    - Dst: QLineEdit::QLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:424,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:425,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:426,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:428,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:428,1
    - Dst: QSpinBox::QSpinBox
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:429,1
    - Dst: setMaximumSize
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:430,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:430,1
    - Dst: setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:431,1
    - Dst: setMinimum
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:432,1
    - Dst: setMaximum
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:433,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:434,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:435,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:436,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:438,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:438,1
    - Dst: QLineEdit::QLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:439,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:440,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:441,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:443,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:444,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:444,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - _parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 418
    functionDepth: 3
    functionLinenumber: 418
    functionLinenumberEnd: 446
    functionName: RISTDestBox::RISTDestBox
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp
    functionUses: 0
    functionsReached:
    - QLineEdit::QLineEdit
    - addWidget
    - QSpinBox::QSpinBox
    - go_eof
    - qtr
    - connect
    - setAlignment
    - QLabel::QLabel
    - setMinimum
    - QSize
    - setText
    - setMaximumSize
    - setValue
    - setMaximum
    linkageType: ''
    returnType: void
    signature: void RISTDestBox::RISTDestBox( QWidget *_parent, const char * )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:450,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:451,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:453,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:453,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:454,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:454,1
    - Dst: SoutChain::SoutChain
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:455,1
    - Dst: SoutChain::begin
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:456,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:457,1
    - Dst: SoutChain::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:459,1
    - Dst: SoutChain::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:463,1
    - Dst: SoutChain::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:465,1
    - Dst: SoutChain::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:466,1
    - Dst: SoutChain::end
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:467,1
    - Dst: SoutChain::to_string
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 470
    functionName: RISTDestBox::getMRL
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp
    functionUses: 0
    functionsReached:
    - QString::isEmpty
    - SoutChain::to_string
    - SoutChain::end
    - qfu
    - vlclua_io_file_read_number
    - SoutChain::SoutChain
    - text
    - SoutChain::begin
    - value
    - SoutChain::option
    linkageType: ''
    returnType: QString
    signature: QString RISTDestBox::getMRL( const QString& )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:474,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:476,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:476,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:478,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:478,1
    - Dst: QLineEdit::QLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:479,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:480,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:481,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:483,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:483,1
    - Dst: QSpinBox::QSpinBox
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:484,1
    - Dst: setMaximumSize
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:485,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:485,1
    - Dst: setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:486,1
    - Dst: setMinimum
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:487,1
    - Dst: setMaximum
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:488,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:489,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:490,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:491,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:493,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:493,1
    - Dst: QLineEdit::QLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:494,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:495,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:496,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:498,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:499,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:499,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 2
    argNames:
    - _parent
    - _mux
    argTypes:
    - QWidget*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 473
    functionDepth: 3
    functionLinenumber: 473
    functionLinenumberEnd: 501
    functionName: RTPDestBox::RTPDestBox
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp
    functionUses: 0
    functionsReached:
    - QLineEdit::QLineEdit
    - addWidget
    - QSpinBox::QSpinBox
    - go_eof
    - qtr
    - connect
    - setAlignment
    - QLabel::QLabel
    - setMinimum
    - QSize
    - setText
    - setMaximumSize
    - qfu
    - setValue
    - setMaximum
    linkageType: ''
    returnType: void
    signature: void RTPDestBox::RTPDestBox( QWidget *_parent, const char *_mux )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:505,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:506,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:508,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:508,1
    - Dst: SoutChain::SoutChain
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:510,1
    - Dst: SoutChain::begin
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:511,1
    - Dst: SoutChain::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:512,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:512,1
    - Dst: SoutChain::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:513,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:513,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:515,1
    - Dst: SoutChain::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:516,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:517,1
    - Dst: SoutChain::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:519,1
    - Dst: SoutChain::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:520,1
    - Dst: SoutChain::end
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:522,1
    - Dst: SoutChain::to_string
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:524,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 525
    functionName: RTPDestBox::getMRL
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp
    functionUses: 0
    functionsReached:
    - QString::isEmpty
    - SoutChain::to_string
    - SoutChain::end
    - value
    - isEmpty
    - SoutChain::SoutChain
    - text
    - SoutChain::begin
    - qfu
    - SoutChain::option
    linkageType: ''
    returnType: QString
    signature: QString RTPDestBox::getMRL( const QString& )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:530,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:531,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:533,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:533,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:534,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:534,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:535,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:536,1
    - Dst: QLineEdit::QLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:538,1
    - Dst: QSpinBox::QSpinBox
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:540,1
    - Dst: setMaximumSize
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:541,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:541,1
    - Dst: setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:542,1
    - Dst: setMinimum
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:543,1
    - Dst: setMaximum
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:544,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:545,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:547,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:548,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:550,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:550,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:551,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:551,1
    - Dst: QLineEdit::QLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:552,1
    - Dst: QLineEdit::QLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:553,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:554,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:555,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:556,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:557,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:559,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:559,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:560,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:561,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 1
    argNames:
    - _parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 528
    functionDepth: 3
    functionLinenumber: 528
    functionLinenumberEnd: 563
    functionName: ICEDestBox::ICEDestBox
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp
    functionUses: 0
    functionsReached:
    - QLineEdit::QLineEdit
    - addWidget
    - QSpinBox::QSpinBox
    - go_eof
    - qtr
    - connect
    - setAlignment
    - QLabel::QLabel
    - setMinimum
    - QSize
    - setText
    - setMaximumSize
    - setValue
    - setMaximum
    linkageType: ''
    returnType: void
    signature: void ICEDestBox::ICEDestBox( QWidget *_parent )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:567,1
    - Dst: SoutChain::SoutChain
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:569,1
    - Dst: SoutChain::begin
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:570,1
    - Dst: SoutChain::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:571,1
    - Dst: SoutChain::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:572,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:574,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:575,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:576,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:576,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:577,1
    - Dst: SoutChain::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:579,1
    - Dst: SoutChain::end
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:580,1
    - Dst: SoutChain::to_string
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp:581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 582
    functionName: ICEDestBox::getMRL
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/sout_widgets.cpp
    functionUses: 0
    functionsReached:
    - SoutChain::to_string
    - SoutChain::end
    - vlclua_io_file_read_number
    - SoutChain::SoutChain
    - text
    - SoutChain::begin
    - value
    - SoutChain::option
    linkageType: ''
    returnType: QString
    signature: QString ICEDestBox::getMRL( const QString& )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - filestr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: urlToDisplayString
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: urlToDisplayString(filestr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:46,1
    - Dst: setWindowTitle
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:48,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:48,1
    - Dst: setWindowRole
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:49,1
    - Dst: QGridLayout::QGridLayout
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:51,1
    - Dst: SoutInputBox::SoutInputBox
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:52,1
    - Dst: SoutInputBox*::setMRL
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:57,1
    - Dst: SoutInputBox*::setMRL
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:61,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:61,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:63,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:68,1
    - Dst: QGroupBox::QGroupBox
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:68,1
    - Dst: QGridLayout::QGridLayout
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:69,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:71,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:71,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:72,1
    - Dst: QLineEdit::QLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:74,1
    - Dst: setMinimumWidth
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:75,1
    - Dst: setFocus
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:76,1
    - Dst: setReadOnly
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:77,1
    - Dst: QLabel*::setBuddy
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:78,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:82,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:82,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:83,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:84,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:90,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:90,1
    - Dst: setReadOnly
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:91,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:92,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:92,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:95,1
    - Dst: QCheckBox::QCheckBox
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:95,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:96,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:98,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:99,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:103,1
    - Dst: QGroupBox::QGroupBox
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:103,1
    - Dst: QGridLayout::QGridLayout
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:104,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:106,1
    - Dst: QRadioButton::QRadioButton
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:106,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:107,1
    - Dst: QRadioButton::QRadioButton
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:107,1
    - Dst: QButtonGroup::QButtonGroup
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:108,1
    - Dst: QButtonGroup*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:109,1
    - Dst: QButtonGroup*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:110,1
    - Dst: QRadioButton*::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:111,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:113,1
    - Dst: QWidget::QWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:115,1
    - Dst: QVBoxLayout::QVBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:116,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:118,1
    - Dst: QCheckBox::QCheckBox
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:118,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:119,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:119,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:121,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:123,1
    - Dst: QCheckBox::QCheckBox
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:123,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:124,1
    - Dst: VLCProfileSelector::VLCProfileSelector
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:126,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:127,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:129,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:131,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:133,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:136,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:136,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:137,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:137,1
    - Dst: QDialogButtonBox::QDialogButtonBox
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:138,1
    - Dst: setDefault
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:140,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:141,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:142,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:144,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:146,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:147,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:149,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:150,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:151,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:152,1
    - Dst: ConvertDialog::validate
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 55
    argCount: 3
    argNames:
    - parent
    - _p_intf
    - ' inputMRLs'
    argTypes:
    - QWindow*
    - qt_intf_t*
    - QStringList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 43
    functionDepth: 4
    functionLinenumber: 43
    functionLinenumberEnd: 155
    functionName: ConvertDialog::ConvertDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp
    functionUses: 1
    functionsReached:
    - setToolTip
    - setWindowRole
    - length
    - QGridLayout*::addWidget
    - BUTTONACT
    - connect
    - setReadOnly
    - QLabel::QLabel
    - setMinimumWidth
    - setDefault
    - QGridLayout::QGridLayout
    - setFocus
    - QVBoxLayout*::addWidget
    - SoutInputBox*::setMRL
    - ConvertDialog::validate
    - QButtonGroup::QButtonGroup
    - QCheckBox::QCheckBox
    - setText
    - VLCProfileSelector::VLCProfileSelector
    - QVBoxLayout::QVBoxLayout
    - QLineEdit::QLineEdit
    - setWindowTitle
    - qtr
    - QWidget::QWidget
    - QButtonGroup*::addButton
    - QPushButton::QPushButton
    - SoutInputBox::SoutInputBox
    - QRadioButton::QRadioButton
    - QDialogButtonBox::QDialogButtonBox
    - QGroupBox::QGroupBox
    - QDialogButtonBox*::addButton
    - QRadioButton*::setChecked
    - QLabel*::setBuddy
    linkageType: ''
    returnType: void
    signature: "void ConvertDialog::ConvertDialog( QWindow *parent, qt_intf_t *_p_intf,\n
      \                             const QStringList& inputMRLs )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:159,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:159,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:159,1
    - Dst: getMux
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:159,1
    - Dst: QFileDialog::getSaveFileUrl
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:161,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:161,1
    - Dst: p_mi::getDialogFilePath
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:162,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:163,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:163,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:164,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:165,1
    - Dst: urlToDisplayString
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:165,1
    - Dst: ConvertDialog::setDestinationFileExtension
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 167
    functionName: ConvertDialog::fileBrowse
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp
    functionUses: 0
    functionsReached:
    - QStringLiteral
    - isEnabled
    - QString
    - p_mi::getDialogFilePath
    - urlToDisplayString
    - getMux
    - qtr
    - QFileDialog::getSaveFileUrl
    - setText
    - ConvertDialog::setDestinationFileExtension
    linkageType: ''
    returnType: void
    signature: void ConvertDialog::fileBrowse()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:171,1
    - Dst: length
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:173,1
    - Dst: SoutChain::SoutChain
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:175,1
    - Dst: isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:177,1
    - Dst: SoutChain::header
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:179,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:179,1
    - Dst: getTranscode
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:183,1
    - Dst: SoutChain::header
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:184,1
    - Dst: SoutChain::getHeader
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:184,1
    - Dst: isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:185,1
    - Dst: SoutChain::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:187,1
    - Dst: toLocalFile
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:195,1
    - Dst: isEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:201,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:201,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:201,1
    - Dst: getMux
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:201,1
    - Dst: at
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:203,1
    - Dst: QUrl
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:206,1
    - Dst: QString::lastIndexOf
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:209,1
    - Dst: QString::remove
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:212,1
    - Dst: QString::length
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:212,1
    - Dst: isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:216,1
    - Dst: QString::append
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:218,1
    - Dst: QString::append
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:222,1
    - Dst: SoutChain::end
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:225,1
    - Dst: SoutModule::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:228,1
    - Dst: SoutModule::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:229,1
    - Dst: SoutModule::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:230,1
    - Dst: getMux
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:230,1
    - Dst: SoutModule::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:231,1
    - Dst: isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:233,1
    - Dst: SoutModule::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:236,1
    - Dst: SoutModule::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:237,1
    - Dst: SoutChain::module
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:238,1
    - Dst: SoutChain::module
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:242,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:245,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:245,1
    - Dst: SoutChain::to_string
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:245,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:246,1
    - Dst: SoutChain::to_string
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:246,1
    - Dst: vlclua_net_accept
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:249,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 169
    functionDepth: 5
    functionLinenumber: 169
    functionLinenumberEnd: 250
    functionName: ConvertDialog::accept
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp
    functionUses: 0
    functionsReached:
    - isEnabled
    - getMux
    - length
    - QUrl
    - SoutChain::getHeader
    - at
    - QString::remove
    - vlclua_net_accept
    - isChecked
    - QString::append
    - SoutChain::end
    - SoutChain::header
    - QString::lastIndexOf
    - qtu
    - msg_Dbg
    - SoutChain::SoutChain
    - SoutChain::option
    - SoutModule::option
    - append
    - SoutChain::to_string
    - getTranscode
    - SoutChain::module
    - QString::length
    - QStringLiteral
    - hide
    - text
    - toLocalFile
    linkageType: ''
    returnType: void
    signature: void ConvertDialog::accept()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:254,1
    - Dst: isEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:254,1
    - Dst: path
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:256,1
    - Dst: QString::lastIndexOf
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:257,1
    - Dst: getMux
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:259,1
    - Dst: setPath
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:260,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:261,1
    - Dst: urlToDisplayString
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 264
    functionName: ConvertDialog::setDestinationFileExtension
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp
    functionUses: 1
    functionsReached:
    - isEnabled
    - urlToDisplayString
    - getMux
    - path
    - QString::lastIndexOf
    - isEmpty
    - setText
    - setPath
    linkageType: ''
    returnType: void
    signature: void ConvertDialog::setDestinationFileExtension()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:268,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: ConvertDialog::validate
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/convert.cpp
    functionUses: 1
    functionsReached:
    - text
    - setEnabled
    linkageType: ''
    returnType: void
    signature: void ConvertDialog::validate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: VLCProfileSelector::getMux
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString getMux()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: VLCProfileSelector::getTranscode
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/profile_selector.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SoutChain
    signature: SoutChain getTranscode()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setWindowTitle
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:44,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:44,1
    - Dst: setWindowRole
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:45,1
    - Dst: setWizardStyle
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:49,1
    - Dst: QVLCDialog::setWindowTransientParent
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:51,1
    - Dst: setupUi
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:54,1
    - Dst: inputBox::setMRL
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:55,1
    - Dst: helpEdit::setPlainText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:56,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:56,1
    - Dst: mrlEdit::setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:63,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:63,1
    - Dst: destTab::setTabsClosable
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:68,1
    - Dst: destTab::findChild
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:69,1
    - Dst: QTabBar*::tabButton
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:70,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:71,1
    - Dst: destTab::setTabIcon
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:72,1
    - Dst: ColorizedSvgIcon::colorizedIconForWidget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:72,1
    - Dst: destBox::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:74,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:74,1
    - Dst: destBox::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:75,1
    - Dst: destBox::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:76,1
    - Dst: destBox::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:77,1
    - Dst: destBox::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:78,1
    - Dst: destBox::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:79,1
    - Dst: destBox::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:80,1
    - Dst: destBox::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:81,1
    - Dst: destBox::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:82,1
    - Dst: destBox::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:83,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:85,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:90,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:91,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:92,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:93,1
    - Dst: setButtonText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:95,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:95,1
    - Dst: setButtonText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:96,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:96,1
    - Dst: setButtonText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:97,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:97,1
    - Dst: setButtonText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:98,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 3
    argNames:
    - parent
    - _p_intf
    - ' inputChain'
    argTypes:
    - QWindow*
    - qt_intf_t*
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 99
    functionName: SoutDialog::SoutDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp
    functionUses: 1
    functionsReached:
    - helpEdit::setPlainText
    - destTab::setTabIcon
    - setButtonText
    - mrlEdit::setToolTip
    - setWindowRole
    - setWindowTitle
    - QVLCDialog::setWindowTransientParent
    - qtr
    - QTabBar*::tabButton
    - ColorizedSvgIcon::colorizedIconForWidget
    - connect
    - BUTTONACT
    - destTab::findChild
    - destBox::addItem
    - setWizardStyle
    - destTab::setTabsClosable
    - inputBox::setMRL
    - setupUi
    linkageType: ''
    returnType: void
    signature: void SoutDialog::SoutDialog( QWindow *parent, qt_intf_t *_p_intf, const
      QString& inputChain )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: destTab::widget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:105,1
    - Dst: destTab::removeTab
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:106,1
    - Dst: SoutDialog::updateChain
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: SoutDialog::closeTab
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp
    functionUses: 0
    functionsReached:
    - destTab::widget
    - destTab::removeTab
    - SoutDialog::updateChain
    linkageType: ''
    returnType: void
    signature: void SoutDialog::closeTab( int i )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: destBox::currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:116,1
    - Dst: FileDestBox::FileDestBox
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:119,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:120,1
    - Dst: HTTPDestBox::HTTPDestBox
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:123,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:124,1
    - Dst: MMSHDestBox::MMSHDestBox
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:127,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:128,1
    - Dst: RTSPDestBox::RTSPDestBox
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:131,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:132,1
    - Dst: SRTDestBox::SRTDestBox
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:135,1
    - Dst: RISTDestBox::RISTDestBox
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:139,1
    - Dst: RTPDestBox::RTPDestBox
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:143,1
    - Dst: RTPDestBox::RTPDestBox
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:147,1
    - Dst: UDPDestBox::UDPDestBox
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:151,1
    - Dst: ICEDestBox::ICEDestBox
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:155,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:159,1
    - Dst: destTab::addTab
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:163,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:164,1
    - Dst: destTab::setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:165,1
    - Dst: SoutDialog::updateChain
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:166,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 111
    functionDepth: 4
    functionLinenumber: 111
    functionLinenumberEnd: 167
    functionName: SoutDialog::addDest
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp
    functionUses: 0
    functionsReached:
    - FileDestBox::FileDestBox
    - destBox::currentIndex
    - vlc_assert_unreachable
    - UDPDestBox::UDPDestBox
    - destTab::setCurrentIndex
    - qtr
    - RTSPDestBox::RTSPDestBox
    - SRTDestBox::SRTDestBox
    - RTPDestBox::RTPDestBox
    - ICEDestBox::ICEDestBox
    - connect
    - SoutDialog::updateChain
    - HTTPDestBox::HTTPDestBox
    - RISTDestBox::RISTDestBox
    - MMSHDestBox::MMSHDestBox
    - qfu
    - destTab::addTab
    linkageType: ''
    returnType: void
    signature: void SoutDialog::addDest( )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mrlEdit::toPlainText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:171,1
    - Dst: vlc_h2_settings_done
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: SoutDialog::done
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp
    functionUses: 0
    functionsReached:
    - vlc_h2_settings_done
    - mrlEdit::toPlainText
    linkageType: ''
    returnType: void
    signature: void SoutDialog::done( int r )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: profileSelect::getMux
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:177,1
    - Dst: profileSelect::getTranscode
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:180,1
    - Dst: transcodeBox::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:180,1
    - Dst: SoutChain::begin
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:182,1
    - Dst: profileSelect::getTranscode
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:182,1
    - Dst: SoutChain::end
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:183,1
    - Dst: destTab::count
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:188,1
    - Dst: destTab::count
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:189,1
    - Dst: localOutput::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:189,1
    - Dst: SoutChain::begin
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:193,1
    - Dst: destTab::count
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:195,1
    - Dst: qobject_cast<VirtualDestBox *>
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:197,1
    - Dst: destTab::widget
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:197,1
    - Dst: VirtualDestBox*::getMRL
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:201,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:202,1
    - Dst: SoutChain::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:205,1
    - Dst: SoutChain::begin
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:208,1
    - Dst: SoutChain::end
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:209,1
    - Dst: localOutput::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:212,1
    - Dst: SoutChain::option
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:215,1
    - Dst: SoutChain::begin
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:218,1
    - Dst: SoutChain::end
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:219,1
    - Dst: SoutChain::end
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:223,1
    - Dst: SoutChain::to_string
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:225,1
    - Dst: soutAll::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:227,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:228,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:230,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:232,1
    - Dst: mrlEdit::setPlainText
      Src: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp:234,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 235
    functionName: SoutDialog::updateChain
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/sout/sout.cpp
    functionUses: 2
    functionsReached:
    - append
    - mrlEdit::setPlainText
    - QString::isEmpty
    - SoutChain::to_string
    - profileSelect::getTranscode
    - transcodeBox::isChecked
    - SoutChain::end
    - localOutput::isChecked
    - qobject_cast<VirtualDestBox *>
    - destTab::widget
    - VirtualDestBox*::getMRL
    - profileSelect::getMux
    - destTab::count
    - soutAll::isChecked
    - SoutChain::begin
    - SoutChain::option
    linkageType: ''
    returnType: void
    signature: void SoutDialog::updateChain()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setWindowTitle
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:40,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:40,1
    - Dst: setWindowModality
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:41,1
    - Dst: setWizardStyle
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:45,1
    - Dst: setupUi
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:48,1
    - Dst: policy::setHtml
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:51,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:51,1
    - Dst: policy::setReadOnly
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:64,1
    - Dst: QButtonGroup::QButtonGroup
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:68,1
    - Dst: addButton
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:69,1
    - Dst: addButton
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:70,1
    - Dst: addButton
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:71,1
    - Dst: setExclusive
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:72,1
    - Dst: QButtonGroup::QButtonGroup
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:74,1
    - Dst: addButton
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:75,1
    - Dst: addButton
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:76,1
    - Dst: addButton
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:77,1
    - Dst: layoutGroup::setId
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:80,1
    - Dst: layoutGroup::setId
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:81,1
    - Dst: QButtonGroup::QButtonGroup
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:83,1
    - Dst: addButton
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:84,1
    - Dst: addButton
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:85,1
    - Dst: setId
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:86,1
    - Dst: setId
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:87,1
    - Dst: classicButton::setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:90,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:90,1
    - Dst: modernButton::setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:96,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:96,1
    - Dst: setOption
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:103,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:106,1
    - Dst: MLFoldersModel::MLFoldersModel
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:108,1
    - Dst: auto::setCtx
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:109,1
    - Dst: entryPoints::setMLFoldersModel
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:110,1
    - Dst: enableMl::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:116,1
    - Dst: enableMl::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:120,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:123,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:124,1
    - Dst: qOverload<QAbstractButton*>
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:124,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:125,1
    - Dst: qOverload<QAbstractButton*>
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:125,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:126,1
    - Dst: qOverload<QAbstractButton*>
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:126,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:127,1
    - Dst: qOverload<QAbstractButton*>
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:127,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:128,1
    - Dst: FirstRunWizard::button
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 42
    argCount: 2
    argNames:
    - _p_intf
    - parent
    argTypes:
    - qt_intf_t*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 129
    functionName: FirstRunWizard::FirstRunWizard
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp
    functionUses: 0
    functionsReached:
    - auto::setCtx
    - setExclusive
    - connect
    - setOption
    - policy::setReadOnly
    - enableMl::setChecked
    - QButtonGroup::QButtonGroup
    - entryPoints::setMLFoldersModel
    - FirstRunWizard::button
    - modernButton::setToolTip
    - vlc_ml_instance_get
    - setWindowTitle
    - layoutGroup::setId
    - qtr
    - setId
    - classicButton::setToolTip
    - policy::setHtml
    - MLFoldersModel::MLFoldersModel
    - qOverload<QAbstractButton*>
    - addButton
    - setupUi
    - enableMl::setEnabled
    - setWindowModality
    - setWizardStyle
    linkageType: ''
    returnType: void
    signature: void FirstRunWizard::FirstRunWizard( qt_intf_t *_p_intf, QWidget *parent)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: config_PutInt
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:138,1
    - Dst: privacyCheckbox::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:138,1
    - Dst: config_PutInt
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:139,1
    - Dst: p_mi::getColorScheme
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:142,1
    - Dst: checkedId
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:142,1
    - Dst: config_PutInt
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:145,1
    - Dst: layoutGroup::checkedId
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:145,1
    - Dst: config_PutInt
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:146,1
    - Dst: layoutGroup::checkedId
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:146,1
    - Dst: config_PutInt
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:148,1
    - Dst: layoutGroup::checkedId
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:148,1
    - Dst: p_mi::controlbarProfileModel
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:151,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:152,1
    - Dst: layoutGroup::checkedId
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:155,1
    - Dst: ControlbarProfileModel*::generateProfileFromStyle
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:160,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:161,1
    - Dst: ControlbarProfileModel*::findModel
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:162,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:162,1
    - Dst: ControlbarProfileModel*::setSelectedProfile
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:164,1
    - Dst: ControlbarProfileModel*::insertProfile
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:166,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:166,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:170,1
    - Dst: commit
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:171,1
    - Dst: p_mi::getMediaLibrary
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:174,1
    - Dst: p_mi::getMediaLibrary
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:175,1
    - Dst: p_mi::reloadPrefs
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:177,1
    - Dst: p_mi::controlbarProfileModel
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:178,1
    - Dst: config_SaveConfigFile
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( profile )
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp
    - condition: (controlbarModel)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp
    constantsTouched: []
    func_position:
      end: 180
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 180
    functionName: FirstRunWizard::finish
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp
    functionUses: 0
    functionsReached:
    - p_mi::reloadPrefs
    - ControlbarProfileModel*::insertProfile
    - assert
    - checkedId
    - privacyCheckbox::isChecked
    - std::unique_ptr::get
    - p_mi::getColorScheme
    - std::move
    - ControlbarProfileModel*::generateProfileFromStyle
    - layoutGroup::checkedId
    - ControlbarProfileModel*::findModel
    - config_PutInt
    - p_mi::getMediaLibrary
    - ControlbarProfileModel*::setSelectedProfile
    - commit
    - p_mi::controlbarProfileModel
    - vlc_ml_instance_get
    - config_SaveConfigFile
    linkageType: ''
    returnType: void
    signature: void FirstRunWizard::finish()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QFileDialog::getExistingDirectoryUrl
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:188,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:188,1
    - Dst: QUrl
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:189,1
    - Dst: QDir::homePath
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:189,1
    - Dst: QUrl::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:191,1
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:191,1
    - Dst: add
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 193
    functionName: FirstRunWizard::MLaddNewFolder
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp
    functionUses: 0
    functionsReached:
    - QUrl::isEmpty
    - add
    - QUrl
    - qtr
    - QFileDialog::getExistingDirectoryUrl
    - QDir::homePath
    - contains
    linkageType: ''
    returnType: void
    signature: void FirstRunWizard::MLaddNewFolder()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: id
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:202,1
    - Dst: explainerLabel::setText
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:205,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:205,1
    - Dst: explainerLabel::setText
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:208,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:208,1
    - Dst: explainerLabel::setText
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:211,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - btn
    argTypes:
    - QAbstractButton*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 214
    functionName: FirstRunWizard::updateColorLabel
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp
    functionUses: 0
    functionsReached:
    - explainerLabel::setText
    - qtr
    - id
    linkageType: ''
    returnType: void
    signature: void FirstRunWizard::updateColorLabel( QAbstractButton* btn )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: layoutGroup::id
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:222,1
    - Dst: layoutExplainer::setText
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:225,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:225,1
    - Dst: layoutExplainer::setText
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:228,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - btn
    argTypes:
    - QAbstractButton*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 231
    functionName: FirstRunWizard::updateLayoutLabel
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp
    functionUses: 0
    functionsReached:
    - layoutExplainer::setText
    - layoutGroup::id
    - qtr
    linkageType: ''
    returnType: void
    signature: void FirstRunWizard::updateLayoutLabel( QAbstractButton* btn )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buttons
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:240,1
    - Dst: id
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:240,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:241,1
    - Dst: QAbstractButton*::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:242,1
    - Dst: FirstRunWizard::updateColorLabel
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - btn
    argTypes:
    - QAbstractButton*
    assertStmts:
    - condition: ( groupBtn )
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp
    constantsTouched: []
    func_position:
      end: 244
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 244
    functionName: FirstRunWizard::imageColorSchemeClick
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp
    functionUses: 0
    functionsReached:
    - assert
    - FirstRunWizard::updateColorLabel
    - buttons
    - id
    - QAbstractButton*::setChecked
    linkageType: ''
    returnType: void
    signature: void FirstRunWizard::imageColorSchemeClick( QAbstractButton* btn )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: layoutGroup::buttons
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:253,1
    - Dst: id
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:253,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:254,1
    - Dst: QAbstractButton*::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:255,1
    - Dst: FirstRunWizard::updateLayoutLabel
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - btn
    argTypes:
    - QAbstractButton*
    assertStmts:
    - condition: ( layoutBtn )
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp
    constantsTouched: []
    func_position:
      end: 257
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 257
    functionName: FirstRunWizard::imageLayoutClick
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp
    functionUses: 0
    functionsReached:
    - assert
    - layoutGroup::buttons
    - FirstRunWizard::updateLayoutLabel
    - id
    - QAbstractButton*::setChecked
    linkageType: ''
    returnType: void
    signature: void FirstRunWizard::imageLayoutClick( QAbstractButton* btn )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: currentId
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:265,1
    - Dst: enableMl::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 279
    functionName: FirstRunWizard::nextId
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp
    functionUses: 0
    functionsReached:
    - currentId
    - enableMl::isChecked
    linkageType: ''
    returnType: int
    signature: int FirstRunWizard::nextId() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: p_mi::getColorScheme
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:290,1
    - Dst: buttons
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:291,1
    - Dst: buttons
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:292,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:295,1
    - Dst: QVector::size
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:295,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:295,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:296,1
    - Dst: QVector::size
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:296,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:296,1
    - Dst: QVector::size
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:298,1
    - Dst: setId
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:300,1
    - Dst: auto::at
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:300,1
    - Dst: QVector::at
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:300,1
    - Dst: setId
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:301,1
    - Dst: auto::at
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:301,1
    - Dst: QVector::at
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:301,1
    - Dst: auto::at
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:302,1
    - Dst: QVector::at
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:302,1
    - Dst: FirstRunWizard::updateColorLabel
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:303,1
    - Dst: auto::at
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:303,1
    - Dst: FirstRunWizard::addDefaults
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts:
    - condition: ( schemes.size() == schemeButtons.size() )
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp
    - condition: ( schemes.size() == schemeImages.size() )
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp
    constantsTouched: []
    func_position:
      end: 308
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 308
    functionName: FirstRunWizard::initializePage
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - assert
    - FirstRunWizard::updateColorLabel
    - FirstRunWizard::addDefaults
    - buttons
    - setId
    - p_mi::getColorScheme
    - QVector::at
    - QVector::size
    - auto::at
    linkageType: ''
    returnType: void
    signature: void FirstRunWizard::initializePage( int id )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:319,1
    - Dst: config_PutInt
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:321,1
    - Dst: config_PutInt
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:322,1
    - Dst: p_mi::getColorScheme
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:325,1
    - Dst: config_PutInt
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:328,1
    - Dst: config_PutInt
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:329,1
    - Dst: p_mi::setPinVideoControls
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:330,1
    - Dst: p_mi::getMediaLibrary
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:332,1
    - Dst: p_mi::getMediaLibrary
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:333,1
    - Dst: config_SaveConfigFile
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:335,1
    - Dst: p_mi::reloadPrefs
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:336,1
    - Dst: p_mi::controlbarProfileModel
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:337,1
    - Dst: done
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (p_intf->p_mi)
      pos:
        line_end: 318
        line_start: 318
        source_file: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp
    constantsTouched: []
    func_position:
      end: 340
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 340
    functionName: FirstRunWizard::reject
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp
    functionUses: 0
    functionsReached:
    - p_mi::reloadPrefs
    - assert
    - p_mi::setPinVideoControls
    - done
    - p_mi::getColorScheme
    - config_PutInt
    - p_mi::getMediaLibrary
    - p_mi::controlbarProfileModel
    - config_SaveConfigFile
    linkageType: ''
    returnType: void
    signature: void FirstRunWizard::reject()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:348,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:353,1
    - Dst: config_GetUserDir
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:353,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:356,1
    - Dst: vlc_path2uri
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:356,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:356,1
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:357,1
    - Dst: QUrl
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:357,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:357,1
    - Dst: add
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:358,1
    - Dst: QUrl
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:358,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp:358,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 362
    functionName: FirstRunWizard::addDefaults
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/firstrun/firstrunwizard.cpp
    functionUses: 1
    functionsReached:
    - vlc::wrap_cptr
    - add
    - QUrl
    - auto::get
    - config_GetUserDir
    - vlc_path2uri
    - rowCount
    - contains
    linkageType: ''
    returnType: void
    signature: void FirstRunWizard::addDefaults()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setWindowTitle
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:51,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:51,1
    - Dst: setWindowTitle
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:53,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:53,1
    - Dst: setWindowRole
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:54,1
    - Dst: setWindowFlags
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:56,1
    - Dst: QTabWidget::QTabWidget
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:60,1
    - Dst: MetaPanel::MetaPanel
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:62,1
    - Dst: insertTab
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:63,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:63,1
    - Dst: ExtraMetaPanel::ExtraMetaPanel
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:64,1
    - Dst: insertTab
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:65,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:65,1
    - Dst: InfoPanel::InfoPanel
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:66,1
    - Dst: insertTab
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:67,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:67,1
    - Dst: InputStatsPanel::InputStatsPanel
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:70,1
    - Dst: insertTab
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:71,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:71,1
    - Dst: QGridLayout::QGridLayout
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:74,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:77,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:77,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:78,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:79,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:79,1
    - Dst: QPushButton*::setMaximumWidth
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:80,1
    - Dst: QPushButton*::minimumSizeHint
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:80,1
    - Dst: QPushButton*::setDefault
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:81,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:83,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:83,1
    - Dst: QLabel*::setMaximumWidth
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:84,1
    - Dst: QLabel*::minimumSizeHint
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:84,1
    - Dst: QLineEdit::QLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:85,1
    - Dst: setReadOnly
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:86,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:88,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:89,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:90,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:91,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:92,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:94,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:97,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:100,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:101,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:104,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:109,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:114,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:116,1
    - Dst: update
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:118,1
    - Dst: getInput
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:118,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:120,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:122,1
    - Dst: getInput
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:125,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:128,1
    - Dst: MediaInfoDialog::updateAllTabs
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:132,1
    - Dst: restoreWidgetPosition
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:134,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 49
    argCount: 2
    argNames:
    - _p_intf
    - p_item
    argTypes:
    - qt_intf_t*
    - SharedInputItem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 135
    functionName: MediaInfoDialog::MediaInfoDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp
    functionUses: 1
    functionsReached:
    - setWindowRole
    - QGridLayout*::addWidget
    - QPushButton*::setDefault
    - BUTTONACT
    - connect
    - setReadOnly
    - QLabel::QLabel
    - ExtraMetaPanel::ExtraMetaPanel
    - QGridLayout::QGridLayout
    - QLabel*::minimumSizeHint
    - MediaInfoDialog::updateAllTabs
    - QPushButton*::minimumSizeHint
    - setWindowFlags
    - msg_Dbg
    - QLabel*::setMaximumWidth
    - restoreWidgetPosition
    - QLineEdit::QLineEdit
    - update
    - insertTab
    - setWindowTitle
    - QTabWidget::QTabWidget
    - qtr
    - InputStatsPanel::InputStatsPanel
    - QPushButton::QPushButton
    - MetaPanel::MetaPanel
    - hide
    - getInput
    - QPushButton*::setMaximumWidth
    - QSize
    - InfoPanel::InfoPanel
    linkageType: ''
    returnType: void
    signature: "void MediaInfoDialog::MediaInfoDialog(qt_intf_t *_p_intf,\n                                 SharedInputItem
      p_item )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: saveWidgetPosition
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: MediaInfoDialog::~MediaInfoDialog()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp
    functionUses: 0
    functionsReached:
    - saveWidgetPosition
    linkageType: ''
    returnType: void
    signature: void MediaInfoDialog::~MediaInfoDialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:144,1
    - Dst: show
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: MediaInfoDialog::showTab
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp
    functionUses: 0
    functionsReached:
    - show
    - setCurrentIndex
    linkageType: ''
    returnType: void
    signature: void MediaInfoDialog::showTab( panel i_tab = META_PANEL )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: MediaInfoDialog::currentTab
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp
    functionUses: 0
    functionsReached:
    - currentIndex
    linkageType: ''
    returnType: int
    signature: int MediaInfoDialog::currentTab()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MediaInfoDialog::saveMeta
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:155,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: MediaInfoDialog::saveMeta
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp
    functionUses: 1
    functionsReached:
    - MediaInfoDialog::saveMeta
    - hide
    linkageType: ''
    returnType: void
    signature: void MediaInfoDialog::saveMeta()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:165,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:165,1
    - Dst: update
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:166,1
    - Dst: update
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:167,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:167,1
    - Dst: update
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' p_item'
    argTypes:
    - SharedInputItem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 170
    functionName: MediaInfoDialog::updateAllTabs
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp
    functionUses: 1
    functionsReached:
    - get
    - update
    linkageType: ''
    returnType: void
    signature: void MediaInfoDialog::updateAllTabs( const SharedInputItem& p_item
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:174,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:175,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:176,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 179
    functionName: MediaInfoDialog::clearAllTabs
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void MediaInfoDialog::clearAllTabs()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:183,1
    - Dst: isInEditMode
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:186,1
    - Dst: setEditMode
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:188,1
    - Dst: MediaInfoDialog::updateButtons
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:189,1
    - Dst: deleteLater
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 194
    functionName: MediaInfoDialog::close
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp
    functionUses: 0
    functionsReached:
    - MediaInfoDialog::updateButtons
    - setEditMode
    - hide
    - isInEditMode
    - deleteLater
    linkageType: ''
    returnType: void
    signature: void MediaInfoDialog::close()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isInEditMode
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:198,1
    - Dst: show
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:199,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - i_tab
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: MediaInfoDialog::updateButtons
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp
    functionUses: 1
    functionsReached:
    - show
    - hide
    - isInEditMode
    linkageType: ''
    returnType: void
    signature: void MediaInfoDialog::updateButtons( int i_tab )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_uri2path
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:209,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:209,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:212,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:213,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' uri'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 219
    functionName: MediaInfoDialog::updateURI
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/mediainfo.cpp
    functionUses: 0
    functionsReached:
    - vlc_uri2path
    - free
    - qtu
    - setText
    - qfu
    linkageType: ''
    returnType: void
    signature: void MediaInfoDialog::updateURI( const QString& uri )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - row
    - ','
    - color
    - ','
    - text
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: ADD_LABEL
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_LABEL(row, color, text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scale
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:44,1
    - Dst: setOptimizationFlags
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:45,1
    - Dst: setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:46,1
    - Dst: setVerticalScrollBarPolicy
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:47,1
    - Dst: setHorizontalScrollBarPolicy
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:48,1
    - Dst: QGraphicsScene::QGraphicsScene
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:49,1
    - Dst: addPolygon
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:50,1
    - Dst: QPolygonF
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:50,1
    - Dst: QPen
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:50,1
    - Dst: QBrush
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:51,1
    - Dst: addPolygon
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:52,1
    - Dst: QPolygonF
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:52,1
    - Dst: QPen
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:52,1
    - Dst: QBrush
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:53,1
    - Dst: setScene
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:54,1
    - Dst: VLCStatsView::reset
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:55,1
    - Dst: QPen::setCosmetic
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:58,1
    - Dst: QPen::setBrush
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:59,1
    - Dst: QBrush
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:59,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:59,1
    - Dst: addLine
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:61,1
    - Dst: QLineF
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 62
    functionName: VLCStatsView::VLCStatsView
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp
    functionUses: 0
    functionsReached:
    - scale
    - setOptimizationFlags
    - addPolygon
    - setScene
    - QPen::setCosmetic
    - QPen::setBrush
    - QColor
    - addLine
    - VLCStatsView::reset
    - QLineF
    - QPen
    - QGraphicsScene::QGraphicsScene
    - setHorizontalScrollBarPolicy
    - QBrush
    - setAlignment
    - setVerticalScrollBarPolicy
    - QPolygonF
    linkageType: ''
    returnType: void
    signature: void VLCStatsView::VLCStatsView( QWidget *parent )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPolygon
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:71,1
    - Dst: QPolygonF
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:71,1
    - Dst: setPolygon
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:72,1
    - Dst: QPolygonF
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: VLCStatsView::reset
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp
    functionUses: 1
    functionsReached:
    - QPolygonF
    - setPolygon
    linkageType: ''
    returnType: void
    signature: void VLCStatsView::reset()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: polygon
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:79,1
    - Dst: QPolygonF::count
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:80,1
    - Dst: QPolygonF::remove
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:82,1
    - Dst: QPolygonF::at
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:84,1
    - Dst: setX
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:84,1
    - Dst: QPolygonF::count
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:87,1
    - Dst: QPointF
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:90,1
    - Dst: QPointF
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:91,1
    - Dst: QPolygonF::insert
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:94,1
    - Dst: QPolygonF::end
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:94,1
    - Dst: QPointF
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:94,1
    - Dst: QPolygonF::last
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:95,1
    - Dst: setX
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:95,1
    - Dst: setPolygon
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:96,1
    - Dst: VLCStatsView::addHistoryValue
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:98,1
    - Dst: scene
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:100,1
    - Dst: QRectF::setRight
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:101,1
    - Dst: fitInView
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:102,1
    - Dst: VLCStatsView::drawRulers
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 104
    functionName: VLCStatsView::addValue
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp
    functionUses: 0
    functionsReached:
    - QPolygonF::last
    - VLCStatsView::drawRulers
    - setX
    - QPolygonF::count
    - QPointF
    - QPolygonF::insert
    - VLCStatsView::addHistoryValue
    - QPolygonF::end
    - polygon
    - scene
    - setPolygon
    - QRectF::setRight
    - fitInView
    - QPolygonF::at
    - QPolygonF::remove
    linkageType: ''
    returnType: void
    signature: void VLCStatsView::addValue( float value )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QRectF::height
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:108,1
    - Dst: setLine
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:116,1
    - Dst: QLineF
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - maxsizes
    argTypes:
    - QRectF
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 118
    functionName: VLCStatsView::drawRulers
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp
    functionUses: 1
    functionsReached:
    - setLine
    - QRectF::height
    - QLineF
    linkageType: ''
    returnType: void
    signature: void VLCStatsView::drawRulers( const QRectF &maxsizes )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: polygon
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:129,1
    - Dst: QPolygonF::count
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:130,1
    - Dst: QPointF
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:133,1
    - Dst: QPointF
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:134,1
    - Dst: QPolygonF::at
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:152,1
    - Dst: y
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:152,1
    - Dst: QPolygonF::at
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:153,1
    - Dst: y
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:153,1
    - Dst: QPolygonF::remove
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:157,1
    - Dst: QPolygonF::at
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:158,1
    - Dst: setY
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:158,1
    - Dst: QPolygonF::at
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:160,1
    - Dst: setX
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:160,1
    - Dst: QPolygonF::insert
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:169,1
    - Dst: QPolygonF::end
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:169,1
    - Dst: QPointF
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:169,1
    - Dst: QPolygonF::last
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:170,1
    - Dst: setX
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:170,1
    - Dst: QPolygonF::last
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:173,1
    - Dst: setX
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:173,1
    - Dst: setPolygon
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 178
    functionName: VLCStatsView::addHistoryValue
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_widgets.cpp
    functionUses: 1
    functionsReached:
    - QPolygonF::last
    - QPolygonF::count
    - setX
    - QPointF
    - setY
    - QPolygonF::insert
    - QPolygonF::end
    - polygon
    - setPolygon
    - QPolygonF::at
    - QPolygonF::remove
    - y
    linkageType: ''
    returnType: void
    signature: void VLCStatsView::addHistoryValue( float value )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QGridLayout::QGridLayout
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:68,1
    - Dst: QGridLayout*::setVerticalSpacing
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:69,1
    - Dst: SetSoundfont
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:71,1
    - Dst: QFont::setPointSize
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:72,1
    - Dst: QFont::pointSize
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:72,1
    - Dst: QFont::setBold
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:73,1
    - Dst: ADD_META
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:89,1
    - Dst: ADD_META
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:90,1
    - Dst: ADD_META
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:91,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:94,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:94,1
    - Dst: QLabel*::setFont
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:95,1
    - Dst: QLabel*::setContentsMargins
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:95,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:96,1
    - Dst: QLineEdit::QLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:99,1
    - Dst: setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:100,1
    - Dst: setInputMask
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:101,1
    - Dst: setMaximumWidth
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:102,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:103,1
    - Dst: ADD_META
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:108,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:111,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:111,1
    - Dst: QLabel*::setFont
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:112,1
    - Dst: QLabel*::setContentsMargins
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:112,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:113,1
    - Dst: QLineEdit::QLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:115,1
    - Dst: setMaximumWidth
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:116,1
    - Dst: setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:117,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:118,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:120,1
    - Dst: QLabel*::setFont
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:120,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:121,1
    - Dst: QLineEdit::QLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:123,1
    - Dst: setMaximumWidth
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:124,1
    - Dst: setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:125,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:126,1
    - Dst: ADD_META
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:130,1
    - Dst: setReadOnly
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:131,1
    - Dst: ADD_META
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:134,1
    - Dst: ADD_META
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:135,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:138,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:138,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:139,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:139,1
    - Dst: setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:140,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:141,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:142,1
    - Dst: CoverArtLabel::CoverArtLabel
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:145,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:146,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:147,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:148,1
    - Dst: ADD_META
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:152,1
    - Dst: setMinimumWidth
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:154,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:154,1
    - Dst: minimumSizeHint
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:154,1
    - Dst: minimumSizeHint
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:155,1
    - Dst: ADD_META
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:157,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:159,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:159,1
    - Dst: QLabel*::setFont
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:159,1
    - Dst: QLabel*::setContentsMargins
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:160,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:161,1
    - Dst: QTextEdit::QTextEdit
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:162,1
    - Dst: setAcceptRichText
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:163,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:164,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:165,1
    - Dst: QGridLayout*::setColumnStretch
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:171,1
    - Dst: QGridLayout*::setColumnMinimumWidth
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:172,1
    - Dst: QGridLayout*::setRowStretch
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:173,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:176,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:177,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 74
    argCount: 2
    argNames:
    - parent
    - _p_intf
    argTypes:
    - QWidget*
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 182
    functionName: MetaPanel::MetaPanel
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp
    functionUses: 1
    functionsReached:
    - setToolTip
    - minimumSizeHint
    - QGridLayout*::addWidget
    - QLabel*::setContentsMargins
    - connect
    - std::max
    - QGridLayout*::setRowStretch
    - setAlignment
    - QLabel::QLabel
    - setReadOnly
    - SetSoundfont
    - setMinimumWidth
    - QTextEdit::QTextEdit
    - qfu
    - CoverArtLabel::CoverArtLabel
    - QGridLayout::QGridLayout
    - setInputMask
    - QFont::pointSize
    - QGridLayout*::setColumnStretch
    - ADD_META
    - setMaximumWidth
    - setAcceptRichText
    - QLineEdit::QLineEdit
    - QLabel*::setFont
    - QGridLayout*::setVerticalSpacing
    - qtr
    - QPushButton::QPushButton
    - setEnabled
    - QFont::setPointSize
    - QGridLayout*::setColumnMinimumWidth
    - QFont::setBold
    linkageType: ''
    returnType: void
    signature: "void MetaPanel::MetaPanel( QWidget *parent,\n                      qt_intf_t
      *_p_intf )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - string
    - ','
    - widget
    - ','
    - col
    - ','
    - colspan
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: ADD_META
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_META( string, widget, col, colspan )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:189,1
    - Dst: MetaPanel::clear
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:193,1
    - Dst: input_item_GetTitleFbName
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:214,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:217,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:217,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:218,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:221,1
    - Dst: input_item_GetURI
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:224,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:225,1
    - Dst: uriSet
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:226,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:226,1
    - Dst: setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:227,1
    - Dst: Chromaprint::isSupported
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:227,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:227,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:228,1
    - Dst: UPDATE_META
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:231,1
    - Dst: UPDATE_META
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:232,1
    - Dst: UPDATE_META
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:233,1
    - Dst: UPDATE_META
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:234,1
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:235,1
    - Dst: UPDATE_META
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:236,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:237,1
    - Dst: UPDATE_META
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:238,1
    - Dst: UPDATE_META
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:239,1
    - Dst: UPDATE_META
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:240,1
    - Dst: UPDATE_META
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:242,1
    - Dst: UPDATE_META
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:243,1
    - Dst: UPDATE_META
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:244,1
    - Dst: input_item_GetNowPlayingFb
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:247,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:248,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:249,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:249,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:250,1
    - Dst: setItem
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:255,1
    - Dst: input_item_GetArtURL
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:256,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:257,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 1
    argNames:
    - ' p_item'
    argTypes:
    - SharedInputItem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 259
    functionName: MetaPanel::update
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp
    functionUses: 0
    functionsReached:
    - disconnect
    - QString
    - setItem
    - get
    - input_item_GetArtURL
    - uriSet
    - free
    - input_item_GetTitleFbName
    - input_item_GetURI
    - EMPTY_STR
    - MetaPanel::clear
    - setEnabled
    - Chromaprint::isSupported
    - connect
    - setText
    - UPDATE_META
    - qfu
    - input_item_GetNowPlayingFb
    linkageType: ''
    returnType: void
    signature: void MetaPanel::update( const SharedInputItem& p_item )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - meta
    - ','
    - widget
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: UPDATE_META
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE_META( meta, widget )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - meta
    - ','
    - widget
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: UPDATE_META_INT
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE_META_INT( meta, widget )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:266,1
    - Dst: user_warning
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:269,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:269,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:269,1
    - Dst: input_item_SetTitle
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:274,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:274,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:274,1
    - Dst: input_item_SetArtist
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:275,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:275,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:275,1
    - Dst: input_item_SetAlbum
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:276,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:276,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:276,1
    - Dst: input_item_SetGenre
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:277,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:277,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:277,1
    - Dst: input_item_SetTrackNum
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:278,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:278,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:278,1
    - Dst: input_item_SetTrackTotal
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:279,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:279,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:279,1
    - Dst: input_item_SetDate
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:280,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:280,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:280,1
    - Dst: input_item_SetLanguage
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:281,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:281,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:281,1
    - Dst: input_item_SetCopyright
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:283,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:283,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:283,1
    - Dst: input_item_SetPublisher
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:284,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:284,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:284,1
    - Dst: input_item_SetDescription
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:285,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:285,1
    - Dst: toPlainText
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:285,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:286,1
    - Dst: input_item_SetArtURL
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:287,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:287,1
    - Dst: input_item_WriteMeta
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:292,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:292,1
    - Dst: user_warning
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:294,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:294,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:294,1
    - Dst: setItem
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:297,1
    - Dst: refreshMediaMeta
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 302
    functionName: MetaPanel::saveMeta
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp
    functionUses: 0
    functionsReached:
    - input_item_SetGenre
    - input_item_SetAlbum
    - toPlainText
    - input_item_SetArtURL
    - input_item_SetLanguage
    - input_item_SetTitle
    - refreshMediaMeta
    - get
    - input_item_SetPublisher
    - isEmpty
    - qtu
    - setItem
    - qtr
    - input_item_SetDescription
    - user_warning
    - input_item_SetCopyright
    - input_item_SetTrackNum
    - input_item_SetDate
    - input_item_SetTrackTotal
    - VLC_OBJECT
    - input_item_SetArtist
    - text
    - input_item_WriteMeta
    linkageType: ''
    returnType: bool
    signature: bool MetaPanel::saveMeta()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 308
    functionName: MetaPanel::isInEditMode
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MetaPanel::isInEditMode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MetaPanel::setEditMode
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: MetaPanel::enterEditMode
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp
    functionUses: 0
    functionsReached:
    - MetaPanel::setEditMode
    linkageType: ''
    returnType: void
    signature: void MetaPanel::enterEditMode()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: editing
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - b_editing
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: MetaPanel::setEditMode
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp
    functionUses: 1
    functionsReached:
    - editing
    linkageType: ''
    returnType: void
    signature: void MetaPanel::setEditMode( bool b_editing )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MetaPanel::clear
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:326,1
    - Dst: MetaPanel::clear
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:327,1
    - Dst: MetaPanel::clear
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:328,1
    - Dst: MetaPanel::clear
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:329,1
    - Dst: MetaPanel::clear
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:330,1
    - Dst: MetaPanel::clear
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:331,1
    - Dst: MetaPanel::clear
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:332,1
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:333,1
    - Dst: MetaPanel::clear
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:334,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:335,1
    - Dst: MetaPanel::clear
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:336,1
    - Dst: MetaPanel::clear
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:337,1
    - Dst: MetaPanel::clear
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:338,1
    - Dst: MetaPanel::clear
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:339,1
    - Dst: MetaPanel::clear
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:340,1
    - Dst: MetaPanel::clear
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:341,1
    - Dst: MetaPanel::clear
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:342,1
    - Dst: setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:343,1
    - Dst: MetaPanel::setEditMode
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 347
    functionName: MetaPanel::clear
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp
    functionUses: 2
    functionsReached:
    - disconnect
    - connect
    - MetaPanel::clear
    - setEnabled
    - MetaPanel::setEditMode
    linkageType: ''
    returnType: void
    signature: void MetaPanel::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:351,1
    - Dst: FingerprintDialog::FingerprintDialog
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:351,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:352,1
    - Dst: FingerprintDialog*::setAttribute
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:353,1
    - Dst: FingerprintDialog*::show
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 355
    functionName: MetaPanel::fingerprint
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp
    functionUses: 0
    functionsReached:
    - get
    - FingerprintDialog*::show
    - connect
    - FingerprintDialog::FingerprintDialog
    - FingerprintDialog*::setAttribute
    linkageType: ''
    returnType: void
    signature: void MetaPanel::fingerprint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MetaPanel::update
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:359,1
    - Dst: MetaPanel::setEditMode
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' p_item'
    argTypes:
    - SharedInputItem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 361
    functionName: MetaPanel::fingerprintUpdate
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp
    functionUses: 0
    functionsReached:
    - MetaPanel::update
    - MetaPanel::setEditMode
    linkageType: ''
    returnType: void
    signature: void MetaPanel::fingerprintUpdate( const SharedInputItem& p_item )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QGridLayout::QGridLayout
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:368,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:370,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:370,1
    - Dst: QLabel*::setWordWrap
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:372,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:373,1
    - Dst: QTableWidget::QTableWidget
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:375,1
    - Dst: verticalHeader
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:376,1
    - Dst: setAlternatingRowColors
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:377,1
    - Dst: setColumnCount
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:379,1
    - Dst: setHorizontalHeaderLabels
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:380,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:380,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:381,1
    - Dst: horizontalHeader
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:382,1
    - Dst: resizeRowsToContents
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:383,1
    - Dst: setVerticalScrollMode
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:385,1
    - Dst: setHorizontalScrollMode
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:386,1
    - Dst: setSelectionBehavior
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:388,1
    - Dst: setEditTriggers
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:390,1
    - Dst: setSelectionMode
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:391,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 394
    functionName: ExtraMetaPanel::ExtraMetaPanel
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp
    functionUses: 1
    functionsReached:
    - QGridLayout::QGridLayout
    - setHorizontalHeaderLabels
    - setVerticalScrollMode
    - setSelectionBehavior
    - setEditTriggers
    - setSelectionMode
    - qtr
    - setHorizontalScrollMode
    - QGridLayout*::addWidget
    - verticalHeader
    - horizontalHeader
    - resizeRowsToContents
    - QLabel*::setWordWrap
    - QLabel::QLabel
    - setColumnCount
    - setAlternatingRowColors
    - QTableWidget::QTableWidget
    linkageType: ''
    returnType: void
    signature: void ExtraMetaPanel::ExtraMetaPanel( QWidget *parent )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resizeRowsToContents
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:398,1
    - Dst: ExtraMetaPanel::showEvent
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - event
    argTypes:
    - QShowEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 400
    functionName: ExtraMetaPanel::showEvent
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp
    functionUses: 1
    functionsReached:
    - resizeRowsToContents
    - ExtraMetaPanel::showEvent
    linkageType: ''
    returnType: void
    signature: void ExtraMetaPanel::showEvent( QShowEvent * event )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resizeRowsToContents
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:404,1
    - Dst: ExtraMetaPanel::resizeEvent
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - event
    argTypes:
    - QResizeEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 406
    functionName: ExtraMetaPanel::resizeEvent
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp
    functionUses: 1
    functionsReached:
    - resizeRowsToContents
    - ExtraMetaPanel::resizeEvent
    linkageType: ''
    returnType: void
    signature: void ExtraMetaPanel::resizeEvent( QResizeEvent * event )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: setRowCount
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:413,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:429,1
    - Dst: insertRow
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:431,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:433,1
    - Dst: QTableWidgetItem::QTableWidgetItem
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:433,1
    - Dst: QTableWidgetItem*::setTextAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:435,1
    - Dst: QTableWidgetItem*::setFlags
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:436,1
    - Dst: QTableWidgetItem*::flags
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:436,1
    - Dst: setItem
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:438,1
    - Dst: setItem
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:439,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:439,1
    - Dst: QTableWidgetItem::QTableWidgetItem
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:439,1
    - Dst: vlc_meta_Get
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:446,1
    - Dst: add_row
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:447,1
    - Dst: vlc_meta_Get
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:449,1
    - Dst: add_row
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:450,1
    - Dst: vlc_meta_CopyExtraNames
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:452,1
    - Dst: add_row
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:457,1
    - Dst: vlc_meta_GetExtra
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:457,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:458,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:461,1
    - Dst: verticalHeader
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:464,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - p_item
    argTypes:
    - input_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 465
    functionName: ExtraMetaPanel::update
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp
    functionUses: 0
    functionsReached:
    - QTableWidgetItem::QTableWidgetItem
    - vlc_meta_CopyExtraNames
    - setItem
    - vlc_meta_GetExtra
    - verticalHeader
    - QTableWidgetItem*::setTextAlignment
    - free
    - add_row
    - insertRow
    - setRowCount
    - QTableWidgetItem*::setFlags
    - qfu
    - QTableWidgetItem*::flags
    - rowCount
    - vlc_meta_Get
    linkageType: ''
    returnType: void
    signature: void ExtraMetaPanel::update( input_item_t *p_item )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - target
    argTypes:
    - QTableWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 425
    functionName: AddRowHelper
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddRowHelper( QTableWidget* target )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:429,1
    - Dst: insertRow
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:431,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:433,1
    - Dst: QTableWidgetItem::QTableWidgetItem
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:433,1
    - Dst: QTableWidgetItem*::setTextAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:435,1
    - Dst: QTableWidgetItem*::setFlags
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:436,1
    - Dst: QTableWidgetItem*::flags
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:436,1
    - Dst: setItem
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:438,1
    - Dst: setItem
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:439,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:439,1
    - Dst: QTableWidgetItem::QTableWidgetItem
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - psz_key
    - psz_value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 440
    functionName: operator()( char const* psz_key, char const* psz_value )
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp
    functionUses: 0
    functionsReached:
    - QTableWidgetItem::QTableWidgetItem
    - QTableWidgetItem*::setTextAlignment
    - insertRow
    - setItem
    - QTableWidgetItem*::setFlags
    - qfu
    - QTableWidgetItem*::flags
    - rowCount
    linkageType: ''
    returnType: void
    signature: void operator()( char const* psz_key, char const* psz_value )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtraMetaPanel::clear
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 473
    functionName: ExtraMetaPanel::clear
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp
    functionUses: 1
    functionsReached:
    - ExtraMetaPanel::clear
    linkageType: ''
    returnType: void
    signature: void ExtraMetaPanel::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QGridLayout::QGridLayout
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:481,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:483,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:483,1
    - Dst: QLabel*::setWordWrap
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:486,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:487,1
    - Dst: QTreeWidget::QTreeWidget
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:489,1
    - Dst: setColumnCount
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:490,1
    - Dst: header
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:491,1
    - Dst: header
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:492,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 494
    functionName: InfoPanel::InfoPanel
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp
    functionUses: 1
    functionsReached:
    - QGridLayout::QGridLayout
    - qtr
    - QGridLayout*::addWidget
    - header
    - QLabel*::setWordWrap
    - QLabel::QLabel
    - setColumnCount
    - QTreeWidget::QTreeWidget
    linkageType: ''
    returnType: void
    signature: void InfoPanel::InfoPanel( QWidget *parent )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: InfoPanel::clear
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:503,1
    - Dst: InfoPanel::clear
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:507,1
    - Dst: vlc::from
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:513,1
    - Dst: info_category_IsHidden
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:515,1
    - Dst: QTreeWidgetItem::QTreeWidgetItem
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:518,1
    - Dst: QTreeWidgetItem*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:519,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:519,1
    - Dst: addTopLevelItem
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:520,1
    - Dst: vlc::from
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:522,1
    - Dst: QTreeWidgetItem::QTreeWidgetItem
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:524,1
    - Dst: QTreeWidgetItem*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:525,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:525,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:525,1
    - Dst: QTreeWidgetItem*::addChild
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:526,1
    - Dst: QTreeWidgetItem*::setExpanded
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:528,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - p_item
    argTypes:
    - input_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 530
    functionName: InfoPanel::update
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp
    functionUses: 0
    functionsReached:
    - addTopLevelItem
    - QTreeWidgetItem*::setExpanded
    - info_category_IsHidden
    - qfu
    - QTreeWidgetItem*::setText
    - vlc::from
    - InfoPanel::clear
    - QTreeWidgetItem::QTreeWidgetItem
    - QTreeWidgetItem*::addChild
    linkageType: ''
    returnType: void
    signature: void InfoPanel::update( input_item_t *p_item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InfoPanel::clear
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 538
    functionName: InfoPanel::clear
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp
    functionUses: 2
    functionsReached:
    - InfoPanel::clear
    linkageType: ''
    returnType: void
    signature: void InfoPanel::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVBoxLayout::QVBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:555,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:557,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:557,1
    - Dst: QLabel*::setWordWrap
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:559,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:560,1
    - Dst: QTreeWidget::QTreeWidget
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:562,1
    - Dst: setColumnCount
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:563,1
    - Dst: setHeaderHidden
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:564,1
    - Dst: CREATE_CATEGORY
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:581,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:581,1
    - Dst: CREATE_CATEGORY
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:582,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:582,1
    - Dst: CREATE_CATEGORY
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:583,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:583,1
    - Dst: CREATE_AND_ADD_TO_CAT
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:585,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:585,1
    - Dst: CREATE_AND_ADD_TO_CAT
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:587,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:587,1
    - Dst: QTreeWidgetItem::QTreeWidgetItem
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:589,1
    - Dst: addChild
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:590,1
    - Dst: CREATE_AND_ADD_TO_CAT
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:591,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:591,1
    - Dst: CREATE_AND_ADD_TO_CAT
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:592,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:592,1
    - Dst: CREATE_AND_ADD_TO_CAT
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:594,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:594,1
    - Dst: CREATE_AND_ADD_TO_CAT
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:596,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:596,1
    - Dst: CREATE_AND_ADD_TO_CAT
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:599,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:599,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:600,1
    - Dst: CREATE_AND_ADD_TO_CAT
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:601,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:601,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:602,1
    - Dst: CREATE_AND_ADD_TO_CAT
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:603,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:603,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:604,1
    - Dst: CREATE_AND_ADD_TO_CAT
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:605,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:605,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:606,1
    - Dst: CREATE_AND_ADD_TO_CAT
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:608,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:608,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:609,1
    - Dst: CREATE_AND_ADD_TO_CAT
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:610,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:610,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:611,1
    - Dst: CREATE_AND_ADD_TO_CAT
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:612,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:612,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:612,1
    - Dst: setExpanded
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:618,1
    - Dst: setExpanded
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:619,1
    - Dst: setExpanded
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:620,1
    - Dst: resizeColumnToContents
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:622,1
    - Dst: setColumnWidth
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:623,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:625,1
    - Dst: VLCStatsView::VLCStatsView
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:627,1
    - Dst: setFrameStyle
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:628,1
    - Dst: setSizePolicy
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:629,1
    - Dst: setSizeHint
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:630,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:630,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:632,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:633,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:634,1
    - Dst: setItemWidget
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:635,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:635,1
    - Dst: setItemWidget
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 637
    functionName: InputStatsPanel::InputStatsPanel
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp
    functionUses: 1
    functionsReached:
    - QString
    - QLabel::QLabel
    - setSizePolicy
    - setExpanded
    - CREATE_AND_ADD_TO_CAT
    - QVBoxLayout*::addWidget
    - addChild
    - CREATE_CATEGORY
    - QTreeWidget::QTreeWidget
    - QVBoxLayout::QVBoxLayout
    - qtr
    - setFrameStyle
    - setItemWidget
    - resizeColumnToContents
    - setSizeHint
    - setHeaderHidden
    - QLabel*::setWordWrap
    - setColumnWidth
    - VLCStatsView::VLCStatsView
    - setColumnCount
    - QSize
    - QTreeWidgetItem::QTreeWidgetItem
    linkageType: ''
    returnType: void
    signature: void InputStatsPanel::InputStatsPanel( QWidget *parent )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - itemName
    - ','
    - itemText
    - ','
    - itemValue
    - ','
    - unit
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 570
    functionName: CREATE_TREE_ITEM
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CREATE_TREE_ITEM( itemName, itemText, itemValue, unit )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - catName
    - ','
    - itemText
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 575
    functionName: CREATE_CATEGORY
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CREATE_CATEGORY( catName, itemText )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - itemName
    - ','
    - itemText
    - ','
    - itemValue
    - ','
    - catName
    - ','
    - unit
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 579
    functionName: CREATE_AND_ADD_TO_CAT
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CREATE_AND_ADD_TO_CAT( itemName, itemText, itemValue, catName, unit
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:641,1
    - Dst: InputStatsPanel::hideEvent
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - event
    argTypes:
    - QHideEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 643
    functionName: InputStatsPanel::hideEvent
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp
    functionUses: 1
    functionsReached:
    - InputStatsPanel::hideEvent
    - reset
    linkageType: ''
    returnType: void
    signature: void InputStatsPanel::hideEvent( QHideEvent * event )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isVisible
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:650,1
    - Dst: UPDATE_INT
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:659,1
    - Dst: UPDATE_FLOAT
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:660,1
    - Dst: UPDATE_INT
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:661,1
    - Dst: UPDATE_FLOAT
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:662,1
    - Dst: UPDATE_INT
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:663,1
    - Dst: UPDATE_INT
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:664,1
    - Dst: addValue
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:666,1
    - Dst: UPDATE_INT
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:669,1
    - Dst: UPDATE_INT
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:670,1
    - Dst: UPDATE_INT
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:671,1
    - Dst: UPDATE_INT
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:672,1
    - Dst: UPDATE_INT
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:675,1
    - Dst: UPDATE_INT
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:676,1
    - Dst: UPDATE_INT
      Src: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp:677,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - input_stats_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 681
    functionName: InputStatsPanel::update
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp
    functionUses: 0
    functionsReached:
    - addValue
    - UPDATE_INT
    - isVisible
    - UPDATE_FLOAT
    linkageType: ''
    returnType: void
    signature: void InputStatsPanel::update( const input_stats_t& stats )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - widget
    - ','
    - calc
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 655
    functionName: UPDATE_INT
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE_INT( widget, calc... )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - widget
    - ','
    - calc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 658
    functionName: UPDATE_FLOAT
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE_FLOAT( widget, calc )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 685
    functionName: InputStatsPanel::clear
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/mediainfo/info_panels.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InputStatsPanel::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ppsz_devlist
    - ','
    - targetCombo
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: POPULATE_WITH_DEVS
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POPULATE_WITH_DEVS(ppsz_devlist, targetCombo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setupUi
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:86,1
    - Dst: setAcceptDrops
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:88,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:90,1
    - Dst: tempWidget::hide
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:92,1
    - Dst: FileOpenPanel::BuildOldPanel
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:93,1
    - Dst: subGroupBox::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:98,1
    - Dst: fileBrowseButton::setIcon
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:100,1
    - Dst: ColorizedSvgIcon::colorizedIconForWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:100,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:103,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:104,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:106,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:107,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:109,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:110,1
    - Dst: FileOpenPanel::updateButtons
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - _parent
    - _p_intf
    argTypes:
    - QWidget*
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 112
    functionName: FileOpenPanel::FileOpenPanel
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 0
    functionsReached:
    - fileBrowseButton::setIcon
    - setAcceptDrops
    - FileOpenPanel::updateButtons
    - FileOpenPanel::BuildOldPanel
    - var_InheritBool
    - subGroupBox::setEnabled
    - ColorizedSvgIcon::colorizedIconForWidget
    - BUTTONACT
    - connect
    - tempWidget::hide
    - setupUi
    linkageType: ''
    returnType: void
    signature: void FileOpenPanel::FileOpenPanel( QWidget *_parent, qt_intf_t *_p_intf
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: p_mi::getDialogFilePath
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:123,1
    - Dst: FileOpenBox::FileOpenBox
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:122,1
    - Dst: setFileMode
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:125,1
    - Dst: setAcceptMode
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:126,1
    - Dst: restoreState
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:127,1
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:128,1
    - Dst: setSizeGripEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:131,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:134,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:134,1
    - Dst: setMinimumHeight
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:135,1
    - Dst: findChildren
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:141,1
    - Dst: QList::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:142,1
    - Dst: QDialogButtonBox*::hide
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:145,1
    - Dst: findChildren
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:149,1
    - Dst: QList::size
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:151,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:154,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:154,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:156,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:156,1
    - Dst: findChildren
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:160,1
    - Dst: QList::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:161,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:164,1
    - Dst: layout
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:167,1
    - Dst: layout
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:168,1
    - Dst: gridLayout::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:173,1
    - Dst: installEventFilter
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 176
    functionName: FileOpenPanel::BuildOldPanel
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 1
    functionsReached:
    - setToolTip
    - connect
    - gridLayout::addWidget
    - restoreState
    - setMinimumHeight
    - QList::isEmpty
    - setSizeGripEnabled
    - QDialogButtonBox*::hide
    - setText
    - setAcceptMode
    - FileOpenBox::FileOpenBox
    - qtr
    - QList::size
    - p_mi::getDialogFilePath
    - setFileMode
    - layout
    - findChildren
    - getSettings
    - installEventFilter
    linkageType: ''
    returnType: void
    signature: void FileOpenPanel::BuildOldPanel()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:181,1
    - Dst: saveState
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: FileOpenPanel::~FileOpenPanel()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 0
    functionsReached:
    - saveState
    - getSettings
    linkageType: ''
    returnType: void
    signature: void FileOpenPanel::~FileOpenPanel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QDragEnterEvent*::acceptProposedAction
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - QDragEnterEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: FileOpenPanel::dragEnterEvent
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 0
    functionsReached:
    - QDragEnterEvent*::acceptProposedAction
    linkageType: ''
    returnType: void
    signature: void FileOpenPanel::dragEnterEvent( QDragEnterEvent *event )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QDragMoveEvent*::acceptProposedAction
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - QDragMoveEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: FileOpenPanel::dragMoveEvent
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 0
    functionsReached:
    - QDragMoveEvent*::acceptProposedAction
    linkageType: ''
    returnType: void
    signature: void FileOpenPanel::dragMoveEvent( QDragMoveEvent *event )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QDragLeaveEvent*::accept
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - QDragLeaveEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: FileOpenPanel::dragLeaveEvent
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 0
    functionsReached:
    - QDragLeaveEvent*::accept
    linkageType: ''
    returnType: void
    signature: void FileOpenPanel::dragLeaveEvent( QDragLeaveEvent *event )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QDropEvent*::possibleActions
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:201,1
    - Dst: QDropEvent*::setDropAction
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:202,1
    - Dst: QDropEvent*::mimeData
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:206,1
    - Dst: isValid
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:209,1
    - Dst: toNativeSeparators
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:212,1
    - Dst: toLocalFile
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:212,1
    - Dst: QListWidgetItem::QListWidgetItem
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:211,1
    - Dst: QListWidgetItem*::setFlags
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:214,1
    - Dst: fileListWidg::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:215,1
    - Dst: FileOpenPanel::updateMRL
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:219,1
    - Dst: FileOpenPanel::updateButtons
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:220,1
    - Dst: QDropEvent*::accept
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - event
    argTypes:
    - QDropEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 222
    functionName: FileOpenPanel::dropEvent
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 0
    functionsReached:
    - fileListWidg::addItem
    - FileOpenPanel::updateButtons
    - QListWidgetItem::QListWidgetItem
    - QDropEvent*::mimeData
    - QDropEvent*::possibleActions
    - QDropEvent*::setDropAction
    - toNativeSeparators
    - QDropEvent*::accept
    - isValid
    - QListWidgetItem*::setFlags
    - toLocalFile
    - FileOpenPanel::updateMRL
    linkageType: ''
    returnType: void
    signature: void FileOpenPanel::dropEvent( QDropEvent *event )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUrl::isValid
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:209,1
    - Dst: toNativeSeparators
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:212,1
    - Dst: QUrl::toLocalFile
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:212,1
    - Dst: QListWidgetItem::QListWidgetItem
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:211,1
    - Dst: QListWidgetItem*::setFlags
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:214,1
    - Dst: fileListWidg::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - url
    - urls
    argTypes:
    - QUrl
    - mimeData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 218
    functionName: foreach
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 52
    functionsReached:
    - fileListWidg::addItem
    - QUrl::toLocalFile
    - QListWidgetItem::QListWidgetItem
    - QUrl::isValid
    - toNativeSeparators
    - QListWidgetItem*::setFlags
    linkageType: ''
    returnType: void
    signature: void foreach( const QUrl &url, mimeData->urls() )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showSimpleOpen
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:226,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:226,1
    - Dst: toNativeSeparators
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:233,1
    - Dst: QUrl::toDisplayString
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:233,1
    - Dst: QListWidgetItem::QListWidgetItem
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:232,1
    - Dst: QListWidgetItem*::setFlags
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:236,1
    - Dst: fileListWidg::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:237,1
    - Dst: p_mi::setDialogFilePath
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:238,1
    - Dst: FileOpenPanel::updateButtons
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:240,1
    - Dst: FileOpenPanel::updateMRL
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 242
    functionName: FileOpenPanel::browseFile
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 0
    functionsReached:
    - fileListWidg::addItem
    - p_mi::setDialogFilePath
    - QListWidgetItem::QListWidgetItem
    - FileOpenPanel::updateButtons
    - qtr
    - QUrl::toDisplayString
    - toNativeSeparators
    - QListWidgetItem*::setFlags
    - showSimpleOpen
    - FileOpenPanel::updateMRL
    linkageType: ''
    returnType: void
    signature: void FileOpenPanel::browseFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toNativeSeparators
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:233,1
    - Dst: QUrl::toDisplayString
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:233,1
    - Dst: QListWidgetItem::QListWidgetItem
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:232,1
    - Dst: QListWidgetItem*::setFlags
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:236,1
    - Dst: fileListWidg::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:237,1
    - Dst: p_mi::setDialogFilePath
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: foreach
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 52
    functionsReached:
    - fileListWidg::addItem
    - p_mi::setDialogFilePath
    - QListWidgetItem::QListWidgetItem
    - QUrl::toDisplayString
    - toNativeSeparators
    - QListWidgetItem*::setFlags
    linkageType: ''
    returnType: void
    signature: void foreach( const QString &file, files )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fileListWidg::currentRow
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:246,1
    - Dst: fileListWidg::takeItem
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:249,1
    - Dst: removeAt
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:251,1
    - Dst: FileOpenPanel::updateMRL
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:254,1
    - Dst: FileOpenPanel::updateButtons
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 256
    functionName: FileOpenPanel::removeFile
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 0
    functionsReached:
    - FileOpenPanel::updateButtons
    - fileListWidg::takeItem
    - removeAt
    - fileListWidg::currentRow
    - FileOpenPanel::updateMRL
    linkageType: ''
    returnType: void
    signature: void FileOpenPanel::removeFile()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: showSimpleOpen
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:261,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:261,1
    - Dst: p_mi::getDialogFilePath
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:262,1
    - Dst: QStringList::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:264,1
    - Dst: QUrl
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:268,1
    - Dst: subInput::setText
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:269,1
    - Dst: toDisplayString
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:269,1
    - Dst: FileOpenPanel::updateMRL
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 271
    functionName: FileOpenPanel::browseFileSub
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 0
    functionsReached:
    - p_mi::getDialogFilePath
    - toDisplayString
    - QStringList::isEmpty
    - QUrl
    - qtr
    - showSimpleOpen
    - FileOpenPanel::updateMRL
    - subInput::setText
    linkageType: ''
    returnType: void
    signature: void FileOpenPanel::browseFileSub()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: foreach
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:281,1
    - Dst: toEncoded
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:282,1
    - Dst: selectedUrls
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:285,1
    - Dst: QStringList::append
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:287,1
    - Dst: toEncoded
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:287,1
    - Dst: subGroupBox::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:291,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:291,1
    - Dst: QString::append
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:292,1
    - Dst: colon_escape
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:292,1
    - Dst: toNativeSeparators
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:292,1
    - Dst: toLocalFile
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 297
    functionName: FileOpenPanel::updateMRL
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 4
    functionsReached:
    - foreach
    - toEncoded
    - QStringList::append
    - QString::append
    - isEmpty
    - toNativeSeparators
    - subGroupBox::isChecked
    - selectedUrls
    - colon_escape
    - toLocalFile
    linkageType: ''
    returnType: void
    signature: void FileOpenPanel::updateMRL()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p_mi::setDialogFilePath
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:303,1
    - Dst: directory
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:303,1
    - Dst: fileListWidg::clear
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:304,1
    - Dst: FileOpenPanel::clear
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 306
    functionName: FileOpenPanel::accept
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 0
    functionsReached:
    - directory
    - fileListWidg::clear
    - p_mi::setDialogFilePath
    - FileOpenPanel::clear
    linkageType: ''
    returnType: void
    signature: void FileOpenPanel::accept()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fileListWidg::clear
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:311,1
    - Dst: subInput::clear
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:312,1
    - Dst: FileOpenPanel::clear
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:313,1
    - Dst: QUrl
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 315
    functionName: FileOpenPanel::clear
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 2
    functionsReached:
    - FileOpenPanel::clear
    - subInput::clear
    - fileListWidg::clear
    - QUrl
    linkageType: ''
    returnType: void
    signature: void FileOpenPanel::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:320,1
    - Dst: removeFileButton::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:321,1
    - Dst: subGroupBox::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 323
    functionName: FileOpenPanel::updateButtons
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 4
    functionsReached:
    - subGroupBox::setEnabled
    - removeFileButton::setEnabled
    - empty
    linkageType: ''
    returnType: void
    signature: void FileOpenPanel::updateButtons()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setupUi
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:331,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:334,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:335,1
    - Dst: config_GetType
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:336,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:337,1
    - Dst: browseDiscButton::setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:342,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:342,1
    - Dst: deviceCombo::setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:343,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:343,1
    - Dst: deviceCombo::setInsertPolicy
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:344,1
    - Dst: POPULATE_WITH_DEVS
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:355,1
    - Dst: config_GetPsz
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:356,1
    - Dst: deviceCombo::findData
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:357,1
    - Dst: const_cast<const char *>
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:357,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:358,1
    - Dst: deviceCombo::setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:360,1
    - Dst: ejectButton::setIcon
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:363,1
    - Dst: ColorizedSvgIcon::colorizedIconForWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:363,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:366,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:367,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:368,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:369,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:370,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:371,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:372,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:373,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:375,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:376,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:376,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:378,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:378,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:380,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:380,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:382,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:382,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:384,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:384,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:386,1
    - Dst: DiscOpenPanel::updateButtons
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 2
    argNames:
    - _parent
    - _p_intf
    argTypes:
    - QWidget*
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 328
    functionDepth: 3
    functionLinenumber: 328
    functionLinenumberEnd: 390
    functionName: DiscOpenPanel::DiscOpenPanel
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 0
    functionsReached:
    - config_GetType
    - BUTTONACT
    - connect
    - ejectButton::setIcon
    - config_GetPsz
    - deviceCombo::setInsertPolicy
    - ColorizedSvgIcon::colorizedIconForWidget
    - browseDiscButton::setToolTip
    - go_eof
    - deviceCombo::setToolTip
    - setupUi
    - qfut
    - deviceCombo::setCurrentIndex
    - var_InheritString
    - DiscOpenPanel::updateButtons
    - const_cast<const char *>
    - free
    - deviceCombo::findData
    - POPULATE_WITH_DEVS
    linkageType: ''
    returnType: void
    signature: void DiscOpenPanel::DiscOpenPanel( QWidget *_parent, qt_intf_t *_p_intf
      )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: deviceCombo::clear
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:395,1
    - Dst: GetLogicalDriveStringsW
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:398,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:398,1
    - Dst: SetThreadErrorMode
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:402,1
    - Dst: GetDriveTypeW
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:405,1
    - Dst: GetVolumeInformationW
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:408,1
    - Dst: QString::fromWCharArray
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:410,1
    - Dst: QString::fromWCharArray
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:412,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:413,1
    - Dst: deviceCombo::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:417,1
    - Dst: SetThreadErrorMode
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:423,1
    - Dst: config_GetPsz
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:426,1
    - Dst: deviceCombo::findData
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:427,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:427,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:428,1
    - Dst: deviceCombo::setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:430,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 431
    functionName: DiscOpenPanel::onFocus
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 0
    functionsReached:
    - deviceCombo::setCurrentIndex
    - GetLogicalDriveStringsW
    - deviceCombo::clear
    - ARRAY_SIZE
    - QString::isEmpty
    - deviceCombo::addItem
    - GetVolumeInformationW
    - free
    - GetDriveTypeW
    - deviceCombo::findData
    - SetThreadErrorMode
    - QString::fromWCharArray
    - qfu
    - config_GetPsz
    linkageType: ''
    returnType: void
    signature: void DiscOpenPanel::onFocus()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: deviceCombo::clear
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:436,1
    - Dst: DosOpen
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:447,1
    - Dst: DosDevIOCtl
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:453,1
    - Dst: LOUSHORT
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:458,1
    - Dst: HIUSHORT
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:459,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:465,1
    - Dst: deviceCombo::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:467,1
    - Dst: DosClose
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:471,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 472
    functionName: DiscOpenPanel::onFocus
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 0
    functionsReached:
    - HIUSHORT
    - deviceCombo::clear
    - qfu
    - LOUSHORT
    - DosClose
    - deviceCombo::addItem
    - DosDevIOCtl
    - DosOpen
    linkageType: ''
    returnType: void
    signature: void DiscOpenPanel::onFocus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenPanel::updateContext
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:477,1
    - Dst: dvdsimple::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 479
    functionName: DiscOpenPanel::updateContext
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 0
    functionsReached:
    - OpenPanel::updateContext
    - dvdsimple::setChecked
    linkageType: ''
    returnType: void
    signature: void DiscOpenPanel::updateContext(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:483,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:484,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 486
    functionName: DiscOpenPanel::~DiscOpenPanel()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void DiscOpenPanel::~DiscOpenPanel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: titleSpin::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:490,1
    - Dst: chapterSpin::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:491,1
    - Dst: subtitlesSpin::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:492,1
    - Dst: audioSpin::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 495
    functionName: DiscOpenPanel::clear
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 0
    functionsReached:
    - chapterSpin::setValue
    - audioSpin::setValue
    - titleSpin::setValue
    - subtitlesSpin::setValue
    linkageType: ''
    returnType: void
    signature: void DiscOpenPanel::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - psz_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 501
    functionName: setDrive
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setDrive( psz_name )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - psz_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 504
    functionName: setDrive
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setDrive( psz_name )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dvdRadioButton::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:509,1
    - Dst: setDrive
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:513,1
    - Dst: titleLabel::setText
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:516,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:516,1
    - Dst: chapterLabel::show
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:517,1
    - Dst: chapterSpin::show
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:518,1
    - Dst: diskOptionBox_2::show
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:519,1
    - Dst: dvdsimple::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:520,1
    - Dst: dvdaRadioButton::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:522,1
    - Dst: setDrive
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:526,1
    - Dst: titleLabel::setText
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:529,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:529,1
    - Dst: chapterLabel::show
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:530,1
    - Dst: chapterSpin::show
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:531,1
    - Dst: diskOptionBox_2::hide
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:532,1
    - Dst: dvdsimple::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:533,1
    - Dst: bdRadioButton::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:535,1
    - Dst: setDrive
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:539,1
    - Dst: dvdsimple::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:541,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:541,1
    - Dst: titleLabel::setText
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:543,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:543,1
    - Dst: chapterLabel::hide
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:544,1
    - Dst: chapterSpin::hide
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:545,1
    - Dst: diskOptionBox_2::hide
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:546,1
    - Dst: dvdsimple::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:547,1
    - Dst: vcdRadioButton::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:549,1
    - Dst: setDrive
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:553,1
    - Dst: titleLabel::setText
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:556,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:556,1
    - Dst: chapterLabel::hide
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:557,1
    - Dst: chapterSpin::hide
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:558,1
    - Dst: diskOptionBox_2::show
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:559,1
    - Dst: dvdsimple::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:560,1
    - Dst: setDrive
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:566,1
    - Dst: titleLabel::setText
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:569,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:569,1
    - Dst: chapterLabel::hide
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:570,1
    - Dst: chapterSpin::hide
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:571,1
    - Dst: diskOptionBox_2::hide
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:572,1
    - Dst: dvdsimple::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:573,1
    - Dst: DiscOpenPanel::updateMRL
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:576,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 577
    functionName: DiscOpenPanel::updateButtons
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 1
    functionsReached:
    - chapterLabel::hide
    - chapterSpin::show
    - DiscOpenPanel::updateMRL
    - chapterLabel::show
    - qtr
    - dvdaRadioButton::isChecked
    - var_InheritBool
    - setDrive
    - bdRadioButton::isChecked
    - dvdsimple::setEnabled
    - diskOptionBox_2::show
    - chapterSpin::hide
    - vcdRadioButton::isChecked
    - titleLabel::setText
    - dvdRadioButton::isChecked
    - dvdsimple::setChecked
    - diskOptionBox_2::hide
    linkageType: ''
    returnType: void
    signature: void DiscOpenPanel::updateButtons()
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: deviceCombo::currentText
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:587,1
    - Dst: deviceCombo::findText
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:589,1
    - Dst: deviceCombo::itemData
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:590,1
    - Dst: deviceCombo::itemData
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:591,1
    - Dst: dvdRadioButton::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:596,1
    - Dst: dvdsimple::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:597,1
    - Dst: dvdaRadioButton::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:601,1
    - Dst: bdRadioButton::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:603,1
    - Dst: vcdRadioButton::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:606,1
    - Dst: vlc_path2uri
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:612,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:612,1
    - Dst: unlikely
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:613,1
    - Dst: titleSpin::value
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:618,1
    - Dst: dvdRadioButton::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:619,1
    - Dst: bdRadioButton::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:619,1
    - Dst: dvdaRadioButton::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:619,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:620,1
    - Dst: titleSpin::value
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:620,1
    - Dst: chapterSpin::value
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:621,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:622,1
    - Dst: chapterSpin::value
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:622,1
    - Dst: vcdRadioButton::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:624,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:625,1
    - Dst: titleSpin::value
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:625,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:630,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:631,1
    - Dst: dvdRadioButton::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:636,1
    - Dst: vcdRadioButton::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:636,1
    - Dst: audioSpin::value
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:638,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:640,1
    - Dst: audioSpin::value
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:640,1
    - Dst: subtitlesSpin::value
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:641,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:643,1
    - Dst: subtitlesSpin::value
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:643,1
    - Dst: audioCDRadioButton::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:645,1
    - Dst: titleSpin::value
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:647,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:648,1
    - Dst: titleSpin::value
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:648,1
    - Dst: bdRadioButton::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:650,1
    - Dst: dvdsimple::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:652,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 656
    functionName: DiscOpenPanel::updateMRL
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 1
    functionsReached:
    - deviceCombo::itemData
    - QString
    - titleSpin::value
    - qfu
    - chapterSpin::value
    - audioCDRadioButton::isChecked
    - subtitlesSpin::value
    - dvdaRadioButton::isChecked
    - deviceCombo::currentText
    - qtu
    - deviceCombo::findText
    - audioSpin::value
    - bdRadioButton::isChecked
    - dvdsimple::isChecked
    - dvdRadioButton::isChecked
    - free
    - vcdRadioButton::isChecked
    - unlikely
    - vlc_path2uri
    linkageType: ''
    returnType: void
    signature: void DiscOpenPanel::updateMRL()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QStringList
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:660,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:660,1
    - Dst: QFileDialog::getExistingDirectoryUrl
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:661,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:662,1
    - Dst: p_mi::getDialogFilePath
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:662,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:664,1
    - Dst: toNativeSepNoSlash
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:666,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:666,1
    - Dst: deviceCombo::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:667,1
    - Dst: deviceCombo::setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:668,1
    - Dst: deviceCombo::findText
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:668,1
    - Dst: DiscOpenPanel::updateMRL
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:671,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 658
    functionDepth: 2
    functionLinenumber: 658
    functionLinenumberEnd: 672
    functionName: DiscOpenPanel::browseDevice
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 0
    functionsReached:
    - qfut
    - QStringLiteral
    - deviceCombo::setCurrentIndex
    - QStringList
    - p_mi::getDialogFilePath
    - QString::isEmpty
    - toNativeSepNoSlash
    - std::move
    - deviceCombo::addItem
    - QFileDialog::getExistingDirectoryUrl
    - deviceCombo::findText
    - DiscOpenPanel::updateMRL
    linkageType: ''
    returnType: void
    signature: void DiscOpenPanel::browseDevice()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intf_Eject
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:676,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:676,1
    - Dst: deviceCombo::currentText
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 674
    functionDepth: 2
    functionLinenumber: 674
    functionLinenumberEnd: 677
    functionName: DiscOpenPanel::eject
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 0
    functionsReached:
    - qtu
    - intf_Eject
    - deviceCombo::currentText
    linkageType: ''
    returnType: void
    signature: void DiscOpenPanel::eject()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 680
    functionName: DiscOpenPanel::accept
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DiscOpenPanel::accept()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setupUi
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:688,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:689,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:690,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:693,1
    - Dst: urlComboBox::addItems
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:697,1
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:697,1
    - Dst: urlComboBox::setMaxCount
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:698,1
    - Dst: clearHistoryButton::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:703,1
    - Dst: SetSoundfont
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:706,1
    - Dst: QFont::setPointSize
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:707,1
    - Dst: QFont::pointSize
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:707,1
    - Dst: examples::setFont
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:708,1
    - Dst: urlComboBox::setValidator
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:711,1
    - Dst: UrlValidator::UrlValidator
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:711,1
    - Dst: urlComboBox::completer
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:714,1
    - Dst: urlComboBox::setFocus
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:715,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - _parent
    - _p_intf
    argTypes:
    - QWidget*
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 716
    functionName: NetOpenPanel::NetOpenPanel
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 0
    functionsReached:
    - urlComboBox::setFocus
    - urlComboBox::completer
    - clearHistoryButton::setEnabled
    - QFont::pointSize
    - var_InheritBool
    - urlComboBox::setMaxCount
    - urlComboBox::setValidator
    - connect
    - QFont::setPointSize
    - urlComboBox::addItems
    - SetSoundfont
    - examples::setFont
    - UrlValidator::UrlValidator
    - getSettings
    - setupUi
    linkageType: ''
    returnType: void
    signature: void NetOpenPanel::NetOpenPanel( QWidget *_parent, qt_intf_t *_p_intf
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: urlComboBox::count
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:724,1
    - Dst: urlComboBox::itemText
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:725,1
    - Dst: QStringList::count
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:727,1
    - Dst: QStringList::removeDuplicates
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:730,1
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:732,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 734
    functionName: NetOpenPanel::~NetOpenPanel()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 0
    functionsReached:
    - urlComboBox::count
    - urlComboBox::itemText
    - QStringList::removeDuplicates
    - QStringList::count
    - getSettings
    linkageType: ''
    returnType: void
    signature: void NetOpenPanel::~NetOpenPanel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: urlComboBox::lineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 739
    functionName: NetOpenPanel::clear
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 0
    functionsReached:
    - urlComboBox::lineEdit
    linkageType: ''
    returnType: void
    signature: void NetOpenPanel::clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: urlComboBox::findText
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:743,1
    - Dst: urlComboBox::currentText
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:743,1
    - Dst: urlComboBox::insertItem
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:744,1
    - Dst: urlComboBox::currentText
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:744,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 745
    functionName: NetOpenPanel::onAccept
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 0
    functionsReached:
    - urlComboBox::insertItem
    - urlComboBox::findText
    - urlComboBox::currentText
    linkageType: ''
    returnType: void
    signature: void NetOpenPanel::onAccept()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: urlComboBox::setFocus
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:749,1
    - Dst: urlComboBox::lineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 751
    functionName: NetOpenPanel::onFocus
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 0
    functionsReached:
    - urlComboBox::setFocus
    - urlComboBox::lineEdit
    linkageType: ''
    returnType: void
    signature: void NetOpenPanel::onFocus()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: urlComboBox::lineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:755,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:757,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:760,1
    - Dst: QString::contains
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:763,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:763,1
    - Dst: vlc_uri_fixup
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:765,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:765,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:768,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:769,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 774
    functionName: NetOpenPanel::updateMRL
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 0
    functionsReached:
    - QLatin1String
    - QString::isEmpty
    - QString::contains
    - vlc_uri_fixup
    - free
    - qtu
    - qfu
    - urlComboBox::lineEdit
    linkageType: ''
    returnType: void
    signature: void NetOpenPanel::updateMRL()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: urlComboBox::clear
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:781,1
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 785
    functionName: NetOpenPanel::clearHistory
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 0
    functionsReached:
    - urlComboBox::clear
    - getSettings
    linkageType: ''
    returnType: void
    signature: void NetOpenPanel::clearHistory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - _parent
    - _p_intf
    argTypes:
    - QWidget*
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 798
    functionName: CaptureOpenPanel::CaptureOpenPanel
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CaptureOpenPanel::CaptureOpenPanel( QWidget *_parent, qt_intf_t
      *_p_intf )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: setupUi
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:806,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:808,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:809,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:809,1
    - Dst: QStackedLayout::QStackedLayout
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:813,1
    - Dst: cardBox::setLayout
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:814,1
    - Dst: QStackedLayout::QStackedLayout
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:816,1
    - Dst: optionsBox::setLayout
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:817,1
    - Dst: module_exists
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:837,1
    - Dst: addModuleAndLayouts
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:838,1
    - Dst: config_FindConfig
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:842,1
    - Dst: StringListConfigControl::StringListConfigControl
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:843,1
    - Dst: insertInto
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:844,1
    - Dst: config_FindConfig
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:847,1
    - Dst: StringListConfigControl::StringListConfigControl
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:848,1
    - Dst: insertInto
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:849,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:853,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:853,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:854,1
    - Dst: QLineEdit::QLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:856,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:857,1
    - Dst: addItem
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:858,1
    - Dst: QSpacerItem::QSpacerItem
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:858,1
    - Dst: CuMRL
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:862,1
    - Dst: CuMRL
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:863,1
    - Dst: CuMRL
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:864,1
    - Dst: module_exists
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:874,1
    - Dst: addModuleAndLayouts
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:875,1
    - Dst: N_
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:875,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:878,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:878,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:879,1
    - Dst: QComboBox::QComboBox
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:881,1
    - Dst: setEditable
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:882,1
    - Dst: POPULATE_WITH_DEVS
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:883,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:884,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:886,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:886,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:887,1
    - Dst: QComboBox::QComboBox
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:889,1
    - Dst: setEditable
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:890,1
    - Dst: QStringList
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:892,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:893,1
    - Dst: QDir
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:895,1
    - Dst: QStringList::replaceInStrings
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:897,1
    - Dst: QRegularExpression
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:897,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:897,1
    - Dst: QRegularExpression
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:898,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:898,1
    - Dst: QRegularExpression
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:899,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:899,1
    - Dst: addItems
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:900,1
    - Dst: clearEditText
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:902,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:903,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:906,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:906,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:907,1
    - Dst: QComboBox::QComboBox
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:909,1
    - Dst: setfillVLCConfigCombo
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:910,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:911,1
    - Dst: addItem
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:912,1
    - Dst: QSpacerItem::QSpacerItem
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:912,1
    - Dst: CuMRL
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:916,1
    - Dst: lineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:916,1
    - Dst: CuMRL
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:917,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:917,1
    - Dst: CuMRL
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:918,1
    - Dst: lineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:918,1
    - Dst: CuMRL
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:919,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:919,1
    - Dst: CuMRL
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:920,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:920,1
    - Dst: module_exists
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:927,1
    - Dst: addModuleAndLayouts
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:928,1
    - Dst: N_
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:928,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:933,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:933,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:934,1
    - Dst: QSpinBox::QSpinBox
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:936,1
    - Dst: setSpinBoxFreq
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:937,1
    - Dst: setMaximum
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:938,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:939,1
    - Dst: setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:940,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:941,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:944,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:944,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:945,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:947,1
    - Dst: QLineEdit::QLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:947,1
    - Dst: setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:948,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:949,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:954,1
    - Dst: QCheckBox::QCheckBox
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:954,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:955,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:958,1
    - Dst: QCheckBox::QCheckBox
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:958,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:959,1
    - Dst: CuMRL
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:962,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:962,1
    - Dst: CuMRL
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:963,1
    - Dst: CuMRL
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:964,1
    - Dst: CuMRL
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:965,1
    - Dst: module_exists
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:973,1
    - Dst: addModuleAndLayouts
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:974,1
    - Dst: N_
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:974,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:977,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:977,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:978,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:978,1
    - Dst: QSpinBox::QSpinBox
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:980,1
    - Dst: setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:981,1
    - Dst: setPrefix
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:983,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:985,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:986,1
    - Dst: QRadioButton::QRadioButton
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:988,1
    - Dst: QRadioButton::QRadioButton
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:989,1
    - Dst: QRadioButton::QRadioButton
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:990,1
    - Dst: QRadioButton::QRadioButton
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:991,1
    - Dst: QRadioButton::QRadioButton
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:992,1
    - Dst: QRadioButton::QRadioButton
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:993,1
    - Dst: QRadioButton::QRadioButton
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:994,1
    - Dst: setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:995,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:997,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:998,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:999,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1000,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1001,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1002,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1003,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1004,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1008,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1008,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1009,1
    - Dst: QSpinBox::QSpinBox
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1011,1
    - Dst: setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1012,1
    - Dst: setSuffix
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1013,1
    - Dst: setSingleStep
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1014,1
    - Dst: setSpinBoxFreq
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1015,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1016,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1018,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1018,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1019,1
    - Dst: QSpinBox::QSpinBox
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1021,1
    - Dst: setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1022,1
    - Dst: setSuffix
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1023,1
    - Dst: setSpinBoxFreq
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1024,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1025,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1027,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1027,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1028,1
    - Dst: QComboBox::QComboBox
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1030,1
    - Dst: addItem
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1031,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1031,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1031,1
    - Dst: addItem
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1032,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1032,1
    - Dst: addItem
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1033,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1033,1
    - Dst: addItem
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1034,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1034,1
    - Dst: addItem
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1035,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1035,1
    - Dst: addItem
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1036,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1036,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1037,1
    - Dst: QComboBox::QComboBox
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1039,1
    - Dst: addItem
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1040,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1040,1
    - Dst: addItem
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1041,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1041,1
    - Dst: addItem
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1042,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1042,1
    - Dst: addItem
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1043,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1043,1
    - Dst: addItem
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1044,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1044,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1045,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1047,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1048,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1049,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1051,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1051,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1052,1
    - Dst: QComboBox::QComboBox
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1054,1
    - Dst: setfillVLCConfigCombo
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1055,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1056,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1058,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1059,1
    - Dst: addItem
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1061,1
    - Dst: QSpacerItem::QSpacerItem
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1061,1
    - Dst: CuMRL
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1065,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1065,1
    - Dst: CuMRL
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1066,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1066,1
    - Dst: CuMRL
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1067,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1067,1
    - Dst: CuMRL
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1068,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1068,1
    - Dst: CuMRL
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1069,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1069,1
    - Dst: CuMRL
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1070,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1070,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1072,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1073,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1074,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1075,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1076,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1077,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1078,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1079,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1080,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1081,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1082,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1083,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1084,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1085,1
    - Dst: module_exists
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1094,1
    - Dst: addModuleAndLayouts
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1095,1
    - Dst: N_
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1095,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1098,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1098,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1099,1
    - Dst: QComboBox::QComboBox
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1101,1
    - Dst: setEditable
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1102,1
    - Dst: POPULATE_WITH_DEVS
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1103,1
    - Dst: clearEditText
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1104,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1105,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1107,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1107,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1108,1
    - Dst: QComboBox::QComboBox
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1110,1
    - Dst: setEditable
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1111,1
    - Dst: QStringList
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1113,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1114,1
    - Dst: QDir
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1116,1
    - Dst: QStringList::replaceInStrings
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1118,1
    - Dst: QRegularExpression
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1118,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1118,1
    - Dst: QRegularExpression
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1119,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1119,1
    - Dst: QRegularExpression
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1120,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1120,1
    - Dst: addItems
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1121,1
    - Dst: clearEditText
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1123,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1124,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1127,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1127,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1128,1
    - Dst: QComboBox::QComboBox
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1130,1
    - Dst: setfillVLCConfigCombo
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1131,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1132,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1134,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1134,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1135,1
    - Dst: QSpinBox::QSpinBox
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1137,1
    - Dst: setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1138,1
    - Dst: setSuffix
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1139,1
    - Dst: setSpinBoxFreq
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1140,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1141,1
    - Dst: addItem
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1143,1
    - Dst: QSpacerItem::QSpacerItem
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1143,1
    - Dst: CuMRL
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1147,1
    - Dst: CuMRL
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1148,1
    - Dst: CuMRL
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1149,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1149,1
    - Dst: CuMRL
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1150,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1150,1
    - Dst: addModuleAndLayouts
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1157,1
    - Dst: N_
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1157,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1158,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1158,1
    - Dst: QLabel*::setWordWrap
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1160,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1161,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1164,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1163,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1165,1
    - Dst: QDoubleSpinBox::QDoubleSpinBox
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1167,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1168,1
    - Dst: setRange
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1169,1
    - Dst: setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1170,1
    - Dst: setSuffix
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1172,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1172,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1173,1
    - Dst: CuMRL
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1176,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1176,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1179,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1179,1
    - Dst: QStackedLayout*::setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1180,1
    - Dst: QStackedLayout*::setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1181,1
    - Dst: CaptureOpenPanel::updateMRL
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1182,1
    - Dst: CaptureOpenPanel::updateButtons
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1183,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 213
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 800
    functionDepth: 3
    functionLinenumber: 800
    functionLinenumberEnd: 1188
    functionName: CaptureOpenPanel::initialize
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 0
    functionsReached:
    - QString
    - addItems
    - QStringList::replaceInStrings
    - clearEditText
    - setRange
    - N_
    - setSingleStep
    - config_FindConfig
    - BUTTONACT
    - connect
    - setAlignment
    - QLabel::QLabel
    - setPrefix
    - qfu
    - setValue
    - optionsBox::setLayout
    - setChecked
    - setfillVLCConfigCombo
    - lineEdit
    - QSpacerItem::QSpacerItem
    - QCheckBox::QCheckBox
    - insertInto
    - setSpinBoxFreq
    - CuMRL
    - go_eof
    - addWidget
    - QLineEdit::QLineEdit
    - QComboBox::QComboBox
    - QRegularExpression
    - addItem
    - StringListConfigControl::StringListConfigControl
    - setEditable
    - qtr
    - cardBox::setLayout
    - setSuffix
    - QRadioButton::QRadioButton
    - CaptureOpenPanel::updateButtons
    - setupUi
    - QSpinBox::QSpinBox
    - QStringLiteral
    - QStringList
    - QDoubleSpinBox::QDoubleSpinBox
    - hide
    - QStackedLayout*::setCurrentIndex
    - module_exists
    - QLabel*::setWordWrap
    - CaptureOpenPanel::updateMRL
    - QDir
    - POPULATE_WITH_DEVS
    - QStackedLayout::QStackedLayout
    - setMaximum
    - addModuleAndLayouts
    linkageType: ''
    returnType: void
    signature: void CaptureOpenPanel::initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - number
    - ','
    - name
    - ','
    - label
    - ','
    - layout
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 830
    functionName: addModuleAndLayouts
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: addModuleAndLayouts( number, name, label, layout )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - widget
    - ','
    - slot
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 832
    functionName: CuMRL
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CuMRL( widget, slot )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1196
    functionName: CaptureOpenPanel::~CaptureOpenPanel()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CaptureOpenPanel::~CaptureOpenPanel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CaptureOpenPanel::clear
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1201
    functionName: CaptureOpenPanel::clear
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 1
    functionsReached:
    - CaptureOpenPanel::clear
    linkageType: ''
    returnType: void
    signature: void CaptureOpenPanel::clear()
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: deviceCombo::itemData
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1207,1
    - Dst: deviceCombo::currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1208,1
    - Dst: colon_escape
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1215,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1215,1
    - Dst: getValue
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1215,1
    - Dst: colon_escape
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1217,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1217,1
    - Dst: getValue
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1217,1
    - Dst: isModified
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1218,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1219,1
    - Dst: currentText
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1223,1
    - Dst: itemData
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1225,1
    - Dst: currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1225,1
    - Dst: currentText
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1226,1
    - Dst: currentText
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1227,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1231,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1231,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1232,1
    - Dst: isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1235,1
    - Dst: isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1239,1
    - Dst: currentText
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1245,1
    - Dst: itemData
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1247,1
    - Dst: currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1247,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1248,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1249,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1249,1
    - Dst: currentText
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1250,1
    - Dst: currentText
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1251,1
    - Dst: isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1255,1
    - Dst: isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1257,1
    - Dst: isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1259,1
    - Dst: isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1261,1
    - Dst: isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1263,1
    - Dst: isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1265,1
    - Dst: isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1267,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1269,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1269,1
    - Dst: isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1271,1
    - Dst: isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1271,1
    - Dst: itemData
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1273,1
    - Dst: currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1273,1
    - Dst: isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1274,1
    - Dst: itemData
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1276,1
    - Dst: currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1276,1
    - Dst: isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1277,1
    - Dst: isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1277,1
    - Dst: isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1277,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1278,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1278,1
    - Dst: isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1279,1
    - Dst: isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1279,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1281,1
    - Dst: itemData
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1281,1
    - Dst: currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1282,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1285,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1285,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1289,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1289,1
    - Dst: CaptureOpenPanel::updateButtons
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1290,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1295,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1203
    functionDepth: 1
    functionLinenumber: 1203
    functionLinenumberEnd: 1298
    functionName: CaptureOpenPanel::updateMRL
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 1
    functionsReached:
    - deviceCombo::itemData
    - itemData
    - QString
    - isChecked
    - getValue
    - deviceCombo::currentIndex
    - isModified
    - currentText
    - isEmpty
    - vlclua_io_file_read_number
    - colon_escape
    - text
    - value
    - CaptureOpenPanel::updateButtons
    - currentIndex
    linkageType: ''
    returnType: void
    signature: void CaptureOpenPanel::updateMRL()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: optionsBox::show
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1308,1
    - Dst: advancedButton::show
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1309,1
    - Dst: deviceCombo::itemData
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1311,1
    - Dst: deviceCombo::currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1312,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1316,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1317,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1318,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1319,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1320,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1321,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1322,1
    - Dst: isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1324,1
    - Dst: show
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1326,1
    - Dst: show
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1327,1
    - Dst: show
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1328,1
    - Dst: show
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1329,1
    - Dst: isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1331,1
    - Dst: show
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1333,1
    - Dst: show
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1334,1
    - Dst: isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1336,1
    - Dst: show
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1338,1
    - Dst: show
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1339,1
    - Dst: show
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1340,1
    - Dst: show
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1341,1
    - Dst: isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1343,1
    - Dst: isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1343,1
    - Dst: show
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1345,1
    - Dst: show
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1346,1
    - Dst: advancedButton::hide
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1351,1
    - Dst: CaptureOpenPanel::clear
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1355,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 1304
    functionDepth: 1
    functionLinenumber: 1304
    functionLinenumberEnd: 1356
    functionName: CaptureOpenPanel::updateButtons
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 2
    functionsReached:
    - deviceCombo::itemData
    - CaptureOpenPanel::clear
    - hide
    - show
    - advancedButton::hide
    - deviceCombo::currentIndex
    - optionsBox::show
    - isChecked
    - advancedButton::show
    linkageType: ''
    returnType: void
    signature: void CaptureOpenPanel::updateButtons()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deviceCombo::itemData
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1360,1
    - Dst: module_find
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1362,1
    - Dst: advancedButton::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1358
    functionDepth: 1
    functionLinenumber: 1358
    functionLinenumberEnd: 1364
    functionName: CaptureOpenPanel::enableAdvancedDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 0
    functionsReached:
    - deviceCombo::itemData
    - module_find
    - advancedButton::setEnabled
    linkageType: ''
    returnType: void
    signature: void CaptureOpenPanel::enableAdvancedDialog( int i_index )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: deviceCombo::itemData
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1369,1
    - Dst: deviceCombo::currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1370,1
    - Dst: module_find
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1374,1
    - Dst: module_config_get
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1383,1
    - Dst: QDialog::QDialog
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1386,1
    - Dst: setWindowTitle
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1387,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1387,1
    - Dst: setWindowRole
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1388,1
    - Dst: QVBoxLayout::QVBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1391,1
    - Dst: QScrollArea::QScrollArea
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1392,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1393,1
    - Dst: QFrame::QFrame
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1395,1
    - Dst: QGridLayout::QGridLayout
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1397,1
    - Dst: QScrollArea*::setWidgetResizable
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1399,1
    - Dst: QScrollArea*::setWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1400,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1408,1
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1408,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1411,1
    - Dst: ConfigControl::createControl
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1412,1
    - Dst: QList::append
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1415,1
    - Dst: QDialogButtonBox::QDialogButtonBox
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1419,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1420,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1420,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1421,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1421,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1423,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1424,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1426,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1427,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1429,1
    - Dst: exec
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1432,1
    - Dst: QList::count
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1435,1
    - Dst: ConfigControl*::getType
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1441,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1442,1
    - Dst: CONFIG_CLASS
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1444,1
    - Dst: qobject_cast<VIntConfigControl *>
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1447,1
    - Dst: ConfigControl*::getName
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1450,1
    - Dst: colon_escape
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1455,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1455,1
    - Dst: qobject_cast<VStringConfigControl *>
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1455,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1458,1
    - Dst: qobject_cast<VIntConfigControl *>
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1458,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1461,1
    - Dst: qobject_cast<VFloatConfigControl *>
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1461,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1465,1
    - Dst: CaptureOpenPanel::updateMRL
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1466,1
    - Dst: qDeleteAll
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1468,1
    - Dst: module_config_free
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp:1470,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ctrl_type != -1)
      pos:
        line_end: 1441
        line_start: 1441
        source_file: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    constantsTouched: []
    func_position:
      end: 1471
      start: 1366
    functionDepth: 2
    functionLinenumber: 1366
    functionLinenumberEnd: 1471
    functionName: CaptureOpenPanel::advancedDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.cpp
    functionUses: 0
    functionsReached:
    - deviceCombo::itemData
    - exec
    - assert
    - QString
    - setWindowRole
    - qDeleteAll
    - qobject_cast<VIntConfigControl *>
    - connect
    - std::move
    - QScrollArea::QScrollArea
    - colon_escape
    - module_config_get
    - QScrollArea*::setWidget
    - QGridLayout::QGridLayout
    - QDialog::QDialog
    - ConfigControl::createControl
    - CONFIG_CLASS
    - QString::isEmpty
    - QVBoxLayout*::addWidget
    - QFrame::QFrame
    - module_find
    - msg_Dbg
    - ConfigControl*::getName
    - contains
    - QVBoxLayout::QVBoxLayout
    - qobject_cast<VFloatConfigControl *>
    - setWindowTitle
    - qtr
    - module_config_free
    - QPushButton::QPushButton
    - QScrollArea*::setWidgetResizable
    - qobject_cast<VStringConfigControl *>
    - QDialogButtonBox::QDialogButtonBox
    - ConfigControl*::getType
    - QDialogButtonBox*::addButton
    - deviceCombo::currentIndex
    - CaptureOpenPanel::updateMRL
    - QList::append
    - QList::count
    linkageType: ''
    returnType: void
    signature: void CaptureOpenPanel::advancedDialog()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setupUi
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:47,1
    - Dst: setWindowTitle
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:48,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:48,1
    - Dst: setWindowRole
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:49,1
    - Dst: setWindowModality
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:50,1
    - Dst: FileOpenPanel::FileOpenPanel
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:53,1
    - Dst: DiscOpenPanel::DiscOpenPanel
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:54,1
    - Dst: NetOpenPanel::NetOpenPanel
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:55,1
    - Dst: CaptureOpenPanel::CaptureOpenPanel
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:56,1
    - Dst: Tab::insertTab
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:59,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:59,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:60,1
    - Dst: Tab::insertTab
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:61,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:61,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:62,1
    - Dst: Tab::insertTab
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:63,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:63,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:64,1
    - Dst: Tab::insertTab
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:65,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:66,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:66,1
    - Dst: slaveLabel::hide
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:69,1
    - Dst: slaveText::hide
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:70,1
    - Dst: slaveBrowseButton::hide
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:71,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:78,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:78,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:81,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:81,1
    - Dst: QMenu::QMenu
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:84,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:85,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:85,1
    - Dst: QKeySequence
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:86,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:87,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:87,1
    - Dst: QKeySequence
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:88,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:89,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:89,1
    - Dst: QKeySequence
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:90,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:91,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:91,1
    - Dst: QKeySequence
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:92,1
    - Dst: setMenu
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:94,1
    - Dst: buttonsBox::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:97,1
    - Dst: buttonsBox::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:98,1
    - Dst: OpenDialog::setMenuAction
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:101,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:104,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:106,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:107,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:108,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:109,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:110,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:111,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:112,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:113,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:115,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:116,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:117,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:118,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:121,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:122,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:123,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:124,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:125,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:125,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:126,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:127,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:128,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:129,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:130,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:131,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:132,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:135,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:136,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:137,1
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:140,1
    - Dst: advancedFrame::hide
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:142,1
    - Dst: advancedFrame::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:143,1
    - Dst: advancedCheckBox::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:146,1
    - Dst: OpenDialog::newCachingMethod
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:150,1
    - Dst: startTimeTimeEdit::setCurrentSection
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:153,1
    - Dst: stopTimeTimeEdit::setCurrentSection
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:154,1
    - Dst: setMinimumSize
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:156,1
    - Dst: sizeHint
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:156,1
    - Dst: setMaximumWidth
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:157,1
    - Dst: resize
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:158,1
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:158,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 58
    argCount: 2
    argNames:
    - _p_intf
    - parent
    argTypes:
    - qt_intf_t*
    - QWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 43
    functionDepth: 4
    functionLinenumber: 43
    functionLinenumberEnd: 159
    functionName: OpenDialog::OpenDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open.cpp
    functionUses: 0
    functionsReached:
    - setMenu
    - QIcon
    - stopTimeTimeEdit::setCurrentSection
    - setWindowRole
    - slaveText::hide
    - connect
    - BUTTONACT
    - advancedFrame::hide
    - DiscOpenPanel::DiscOpenPanel
    - setMinimumSize
    - Tab::insertTab
    - slaveBrowseButton::hide
    - OpenDialog::newCachingMethod
    - FileOpenPanel::FileOpenPanel
    - resize
    - advancedCheckBox::setChecked
    - slaveLabel::hide
    - NetOpenPanel::NetOpenPanel
    - buttonsBox::addButton
    - QMenu::QMenu
    - setMaximumWidth
    - go_eof
    - setWindowTitle
    - qtr
    - QPushButton::QPushButton
    - sizeHint
    - QMenu*::addAction
    - CaptureOpenPanel::CaptureOpenPanel
    - setupUi
    - advancedFrame::setEnabled
    - startTimeTimeEdit::setCurrentSection
    - OpenDialog::setMenuAction
    - setWindowModality
    - QSize
    - QKeySequence
    - getSettings
    linkageType: ''
    returnType: void
    signature: void OpenDialog::OpenDialog(qt_intf_t *_p_intf, QWindow* parent )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OpenDialog::setMenuAction
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - flag
    argTypes:
    - OpenDialog::ActionFlag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: OpenDialog::setActionFlag
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open.cpp
    functionUses: 1
    functionsReached:
    - OpenDialog::setMenuAction
    linkageType: ''
    returnType: void
    signature: void OpenDialog::setActionFlag(OpenDialog::ActionFlag flag)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:174,1
    - Dst: show
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:175,1
    - Dst: setDefault
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:176,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:183,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:183,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:186,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:186,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:189,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:189,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:193,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:193,1
    - Dst: show
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:195,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 198
    functionName: OpenDialog::setMenuAction
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open.cpp
    functionUses: 2
    functionsReached:
    - hide
    - show
    - qtr
    - setText
    - setDefault
    linkageType: ''
    returnType: void
    signature: void OpenDialog::setMenuAction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:202,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:202,1
    - Dst: advancedFrame::isEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:203,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:204,1
    - Dst: advancedFrame::height
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:204,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:204,1
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:205,1
    - Dst: advancedFrame::isVisible
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: OpenDialog::~OpenDialog()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open.cpp
    functionUses: 0
    functionsReached:
    - advancedFrame::isEnabled
    - size
    - QSize
    - advancedFrame::isVisible
    - getSettings
    - advancedFrame::height
    linkageType: ''
    returnType: void
    signature: void OpenDialog::~OpenDialog()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:211,1
    - Dst: OpenDialog::getOptions
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - b_all
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 214
    functionName: OpenDialog::getMRL
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open.cpp
    functionUses: 1
    functionsReached:
    - count
    - OpenDialog::getOptions
    linkageType: ''
    returnType: QString
    signature: QString OpenDialog::getMRL( bool b_all )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: OpenDialog::getMRLs
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QStringList
    signature: QStringList OpenDialog::getMRLs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: advancedLineInput::text
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: OpenDialog::getOptions
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open.cpp
    functionUses: 2
    functionsReached:
    - advancedLineInput::text
    linkageType: ''
    returnType: QString
    signature: QString OpenDialog::getOptions()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OpenDialog::setActionFlag
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:228,1
    - Dst: initialize
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:229,1
    - Dst: Tab::setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:230,1
    - Dst: show
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:231,1
    - Dst: Tab::currentWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:232,1
    - Dst: qobject_cast<OpenPanel *>
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:234,1
    - Dst: Tab::currentWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:234,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:235,1
    - Dst: OpenPanel*::onFocus
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - i_tab
    - i_action
    argTypes:
    - OpenDialog::OpenTab
    - OpenDialog::ActionFlag
    assertStmts:
    - condition: ( panel )
      pos:
        line_end: 234
        line_start: 234
        source_file: /src/vlc/modules/gui/qt/dialogs/open/open.cpp
    constantsTouched: []
    func_position:
      end: 238
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 238
    functionName: OpenDialog::showTab
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open.cpp
    functionUses: 0
    functionsReached:
    - Tab::currentWidget
    - initialize
    - assert
    - Tab::setCurrentIndex
    - show
    - OpenPanel*::onFocus
    - OpenDialog::setActionFlag
    - qobject_cast<OpenPanel *>
    linkageType: ''
    returnType: void
    signature: void OpenDialog::showTab( OpenDialog::OpenTab i_tab, OpenDialog::ActionFlag
      i_action )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: advancedFrame::isVisible
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:242,1
    - Dst: advancedFrame::hide
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:244,1
    - Dst: advancedFrame::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:245,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:246,1
    - Dst: resize
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:247,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:247,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:247,1
    - Dst: advancedFrame::height
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:248,1
    - Dst: advancedFrame::show
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:252,1
    - Dst: advancedFrame::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:253,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:254,1
    - Dst: resize
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:255,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:255,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:255,1
    - Dst: advancedFrame::height
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 258
    functionName: OpenDialog::toggleAdvancedPanel
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open.cpp
    functionUses: 0
    functionsReached:
    - advancedFrame::show
    - resize
    - size
    - advancedFrame::hide
    - advancedFrame::height
    - advancedFrame::isVisible
    - advancedFrame::setEnabled
    linkageType: ''
    returnType: void
    signature: void OpenDialog::toggleAdvancedPanel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: window
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:262,1
    - Dst: QWidget*::windowHandle
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:263,1
    - Dst: OpenDialog::setActionFlag
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:265,1
    - Dst: OpenDialog::exec
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:266,1
    - Dst: slaveText::setText
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:267,1
    - Dst: OpenDialog::getMRL
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: OpenDialog::browseInputSlave
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open.cpp
    functionUses: 0
    functionsReached:
    - OpenDialog::getMRL
    - window
    - OpenDialog::exec
    - slaveText::setText
    - QWidget*::windowHandle
    - OpenDialog::setActionFlag
    linkageType: ''
    returnType: void
    signature: void OpenDialog::browseInputSlave()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: initialize
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:273,1
    - Dst: Tab::currentWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:274,1
    - Dst: qobject_cast<OpenPanel *>
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:276,1
    - Dst: Tab::currentWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:276,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:277,1
    - Dst: OpenPanel*::onFocus
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:278,1
    - Dst: OpenPanel*::updateMRL
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:279,1
    - Dst: OpenPanel*::updateContext
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - i_tab
    argTypes:
    - int
    assertStmts:
    - condition: ( panel )
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/vlc/modules/gui/qt/dialogs/open/open.cpp
    constantsTouched: []
    func_position:
      end: 284
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 284
    functionName: OpenDialog::signalCurrent
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open.cpp
    functionUses: 0
    functionsReached:
    - Tab::currentWidget
    - initialize
    - assert
    - OpenPanel*::updateContext
    - OpenPanel*::onFocus
    - OpenPanel*::updateMRL
    - qobject_cast<OpenPanel *>
    linkageType: ''
    returnType: void
    signature: void OpenDialog::signalCurrent( int i_tab )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qobject_cast<OpenPanel*>
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:294,1
    - Dst: Tab::widget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:294,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:297,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:298,1
    - Dst: reject
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:301,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 303
    functionName: OpenDialog::cancel
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open.cpp
    functionUses: 0
    functionsReached:
    - hide
    - clear
    - reject
    - Tab::widget
    - qobject_cast<OpenPanel*>
    linkageType: ''
    returnType: void
    signature: void OpenDialog::cancel()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: accept
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:310,1
    - Dst: OpenDialog::selectSlots
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 313
    functionName: OpenDialog::close
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open.cpp
    functionUses: 0
    functionsReached:
    - OpenDialog::selectSlots
    - accept
    linkageType: ''
    returnType: void
    signature: void OpenDialog::close()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OpenDialog::stream
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:321,1
    - Dst: OpenDialog::transcode
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:324,1
    - Dst: OpenDialog::enqueue
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:327,1
    - Dst: OpenDialog::play
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 333
    functionName: OpenDialog::selectSlots
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open.cpp
    functionUses: 1
    functionsReached:
    - OpenDialog::play
    - OpenDialog::enqueue
    - OpenDialog::stream
    - OpenDialog::transcode
    linkageType: ''
    returnType: void
    signature: void OpenDialog::selectSlots()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenDialog::enqueue
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 339
    functionName: OpenDialog::play
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open.cpp
    functionUses: 1
    functionsReached:
    - OpenDialog::enqueue
    linkageType: ''
    returnType: void
    signature: void OpenDialog::play()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: toggleVisible
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:344,1
    - Dst: accept
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:348,1
    - Dst: qobject_cast<OpenPanel*>
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:353,1
    - Dst: Tab::widget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:353,1
    - Dst: sort
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:356,1
    - Dst: OpenDialog::getOptions
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:361,1
    - Dst: QVector::push_back
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:363,1
    - Dst: QVector::empty
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:364,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:365,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - b_enqueue
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 366
    functionName: OpenDialog::enqueue
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open.cpp
    functionUses: 2
    functionsReached:
    - append
    - QVector::push_back
    - toggleVisible
    - QVector::empty
    - OpenDialog::getOptions
    - accept
    - Tab::widget
    - sort
    - qobject_cast<OpenPanel*>
    linkageType: ''
    returnType: void
    signature: void OpenDialog::enqueue( bool b_enqueue )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenDialog::stream
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 371
    functionName: OpenDialog::transcode
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open.cpp
    functionUses: 1
    functionsReached:
    - OpenDialog::stream
    linkageType: ''
    returnType: void
    signature: void OpenDialog::transcode()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qobject_cast<OpenPanel*>
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:379,1
    - Dst: Tab::widget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:379,1
    - Dst: OpenDialog::getMRLs
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:381,1
    - Dst: QStringList::empty
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:382,1
    - Dst: toggleVisible
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:387,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:390,1
    - Dst: static_cast<size_t>
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:390,1
    - Dst: QStringList::length
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:390,1
    - Dst: QStringList::length
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:391,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:393,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:393,1
    - Dst: window
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:395,1
    - Dst: QWidget*::windowHandle
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:396,1
    - Dst: streamingDialog
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:397,1
    - Dst: OpenDialog::getOptions
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - b_transcode_only
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 399
    functionName: OpenDialog::stream
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open.cpp
    functionUses: 2
    functionsReached:
    - static_cast<size_t>
    - toggleVisible
    - QStringList::length
    - window
    - QStringList::empty
    - streamingDialog
    - qtu
    - OpenDialog::getOptions
    - msg_Dbg
    - Tab::widget
    - qobject_cast<OpenPanel*>
    - QWidget*::windowHandle
    - OpenDialog::getMRLs
    linkageType: ''
    returnType: void
    signature: void OpenDialog::stream( bool b_transcode_only )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenDialog::updateMRL
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' item'
    - ' tempMRL'
    argTypes:
    - QStringList
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 407
    functionName: OpenDialog::updateMRL
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open.cpp
    functionUses: 1
    functionsReached:
    - OpenDialog::updateMRL
    linkageType: ''
    returnType: void
    signature: void OpenDialog::updateMRL( const QStringList& item, const QString&
      tempMRL )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:411,1
    - Dst: QTimeEdit*::minimumTime
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:411,1
    - Dst: QTimeEdit*::time
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - QTimeEdit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 412
    functionName: TimeToMilliseconds
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open.cpp
    functionUses: 0
    functionsReached:
    - QTimeEdit*::minimumTime
    - QTimeEdit*::time
    - vlclua_io_file_read_number
    linkageType: ''
    returnType: QString
    signature: QString TimeToMilliseconds( const QTimeEdit *t )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: slaveCheckbox::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:417,1
    - Dst: slaveText::text
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:418,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:420,1
    - Dst: cacheSpinBox::value
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:421,1
    - Dst: startTimeTimeEdit::time
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:422,1
    - Dst: startTimeTimeEdit::minimumTime
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:422,1
    - Dst: TimeToMilliseconds
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:423,1
    - Dst: stopTimeTimeEdit::time
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:425,1
    - Dst: startTimeTimeEdit::time
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:425,1
    - Dst: TimeToMilliseconds
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:426,1
    - Dst: advancedLineInput::setText
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:428,1
    - Dst: mrlLine::setText
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:429,1
    - Dst: join
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:429,1
    - Dst: setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:431,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:431,1
    - Dst: setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:432,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 415
    functionDepth: 2
    functionLinenumber: 415
    functionLinenumberEnd: 433
    functionName: OpenDialog::updateMRL
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open.cpp
    functionUses: 1
    functionsReached:
    - QString
    - stopTimeTimeEdit::time
    - advancedLineInput::setText
    - TimeToMilliseconds
    - cacheSpinBox::value
    - startTimeTimeEdit::minimumTime
    - isEmpty
    - mrlLine::setText
    - setEnabled
    - slaveText::text
    - join
    - startTimeTimeEdit::time
    - slaveCheckbox::isChecked
    linkageType: ''
    returnType: void
    signature: void OpenDialog::updateMRL()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:440,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:440,1
    - Dst: cacheSpinBox::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' method'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 443
    functionName: OpenDialog::newCachingMethod
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open.cpp
    functionUses: 1
    functionsReached:
    - var_InheritInteger
    - cacheSpinBox::setValue
    - qtu
    linkageType: ''
    returnType: void
    signature: void OpenDialog::newCachingMethod( const QString& method )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:455,1
    - Dst: indexOf
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:457,1
    - Dst: QRegularExpression
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:457,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:457,1
    - Dst: length
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:458,1
    - Dst: mid
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:459,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:462,1
    - Dst: QString::endsWith
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:464,1
    - Dst: QString::truncate
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:467,1
    - Dst: QString::length
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:467,1
    - Dst: QString::endsWith
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:470,1
    - Dst: QString::truncate
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:473,1
    - Dst: QString::length
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:473,1
    - Dst: QString::endsWith
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:476,1
    - Dst: length
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:479,1
    - Dst: QString::endsWith
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:480,1
    - Dst: QString::endsWith
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:480,1
    - Dst: QString::endsWith
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:481,1
    - Dst: QString::endsWith
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:481,1
    - Dst: QString::truncate
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:482,1
    - Dst: QString::length
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:482,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:483,1
    - Dst: QStringList::append
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:483,1
    - Dst: QString::clear
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:484,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:490,1
    - Dst: QStringList::append
      Src: /src/vlc/modules/gui/qt/dialogs/open/open.cpp:490,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 1
    argNames:
    - ' entries'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 447
    functionDepth: 2
    functionLinenumber: 447
    functionLinenumberEnd: 493
    functionName: OpenDialog::SeparateEntries
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open.cpp
    functionUses: 0
    functionsReached:
    - mid
    - QStringLiteral
    - QRegularExpression
    - QStringList::append
    - QString::isEmpty
    - QString::endsWith
    - length
    - QString::length
    - QString::clear
    - indexOf
    - QString::truncate
    linkageType: ''
    returnType: QStringList
    signature: QStringList OpenDialog::SeparateEntries( const QString& entries )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: ~OpenUrlDialog()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/openurl.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~OpenUrlDialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setWindowTitle
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:45,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:45,1
    - Dst: setWindowRole
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:46,1
    - Dst: QDialogButtonBox::QDialogButtonBox
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:51,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:52,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:52,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:53,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:55,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:55,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:56,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:58,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:58,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:59,1
    - Dst: QLineEdit::QLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:62,1
    - Dst: setPlaceholderText
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:63,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:63,1
    - Dst: setValidator
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:64,1
    - Dst: UrlValidator::UrlValidator
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:64,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:66,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:66,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:70,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:70,1
    - Dst: QVBoxLayout::QVBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:75,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:77,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:78,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - _p_intf
    - _bClipboard
    argTypes:
    - qt_intf_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 80
    functionName: OpenUrlDialog::OpenUrlDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp
    functionUses: 0
    functionsReached:
    - QLineEdit::QLineEdit
    - QDialogButtonBox::QDialogButtonBox
    - setToolTip
    - setWindowRole
    - QVBoxLayout*::addWidget
    - setWindowTitle
    - QDialogButtonBox*::addButton
    - qtr
    - connect
    - QLabel::QLabel
    - setPlaceholderText
    - setValidator
    - UrlValidator::UrlValidator
    - QVBoxLayout::QVBoxLayout
    linkageType: ''
    returnType: void
    signature: "void OpenUrlDialog::OpenUrlDialog( qt_intf_t *_p_intf,\n                              bool
      _bClipboard )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenUrlDialog::accept
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: OpenUrlDialog::enqueue
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp
    functionUses: 0
    functionsReached:
    - OpenUrlDialog::accept
    linkageType: ''
    returnType: void
    signature: void OpenUrlDialog::enqueue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenUrlDialog::accept
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: OpenUrlDialog::play
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp
    functionUses: 0
    functionsReached:
    - OpenUrlDialog::accept
    linkageType: ''
    returnType: void
    signature: void OpenUrlDialog::play()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: OpenUrlDialog::url
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString OpenUrlDialog::url() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: OpenUrlDialog::shouldEnqueue
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool OpenUrlDialog::shouldEnqueue() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setFocus
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:112,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:113,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:113,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:117,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:120,1
    - Dst: QApplication::clipboard
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:124,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:125,1
    - Dst: QClipboard*::text
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:126,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:128,1
    - Dst: QString::contains
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:128,1
    - Dst: items_exists
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:128,1
    - Dst: QClipboard*::text
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:129,1
    - Dst: QString::contains
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:131,1
    - Dst: items_exists
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:131,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:132,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( clipboard != NULL )
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp
    constantsTouched: []
    func_position:
      end: 134
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 134
    functionName: OpenUrlDialog::showEvent
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp
    functionUses: 0
    functionsReached:
    - QApplication::clipboard
    - assert
    - setFocus
    - QString::isEmpty
    - clear
    - QString::contains
    - isEmpty
    - items_exists
    - setText
    - text
    - QClipboard*::text
    linkageType: ''
    returnType: void
    signature: void OpenUrlDialog::showEvent( QShowEvent* )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:138,1
    - Dst: vlclua_net_accept
      Src: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 5
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: OpenUrlDialog::accept
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/openurl.cpp
    functionUses: 2
    functionsReached:
    - text
    - vlclua_net_accept
    linkageType: ''
    returnType: void
    signature: void OpenUrlDialog::accept()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - spinbox
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: setSpinBoxFreq
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setSpinBoxFreq( spinbox )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenPanel
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.hpp:68,1
    - Dst: QWidget
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.hpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: OpenPanel::public
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.hpp
    functionUses: 0
    functionsReached:
    - QWidget
    - OpenPanel
    linkageType: ''
    returnType: Q_OBJECT
    signature: Q_OBJECT public
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: ~OpenPanel()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~OpenPanel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: OpenPanel::onFocus
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void onFocus()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: OpenPanel::onAccept
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void onAccept()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: OpenPanel::updateContext
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void updateContext(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FileOpenBox
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.hpp:98,1
    - Dst: QFileDialog
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.hpp:100,1
    - Dst: setDirectoryUrl
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.hpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: FileOpenBox::public
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.hpp
    functionUses: 0
    functionsReached:
    - setDirectoryUrl
    - FileOpenBox
    - QFileDialog
    linkageType: ''
    returnType: Q_OBJECT
    signature: Q_OBJECT public
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: FileOpenBox::accept
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void accept()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: FileOpenBox::reject
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reject()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.hpp:120,1
    - Dst: QEvent*::type
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.hpp:121,1
    - Dst: QEvent*::accept
      Src: /src/vlc/modules/gui/qt/dialogs/open/open_panels.hpp:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - event
    argTypes:
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: FileOpenPanel::eventFilter
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/open/open_panels.hpp
    functionUses: 0
    functionsReached:
    - QEvent*::type
    - QEvent*::accept
    linkageType: ''
    returnType: bool
    signature: bool eventFilter(QObject *, QEvent *event) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setWindowFlags
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:39,1
    - Dst: setWindowOpacity
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:40,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:40,1
    - Dst: setWindowTitle
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:41,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:41,1
    - Dst: setWindowRole
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:42,1
    - Dst: QHBoxLayout::QHBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:44,1
    - Dst: QDialogButtonBox::QDialogButtonBox
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:46,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:47,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:47,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:48,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:48,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:49,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:50,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:50,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:51,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:51,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:52,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:53,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:53,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:54,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:54,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:55,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:57,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:57,1
    - Dst: QPushButton*::setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:58,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:58,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:59,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:62,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:62,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:62,1
    - Dst: QTreeView::QTreeView
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:65,1
    - Dst: MLBookmarkModel::MLBookmarkModel
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:66,1
    - Dst: setPlayer
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:67,1
    - Dst: setMl
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:68,1
    - Dst: qt_intf_t*::p_mi::getMediaLibrary
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:68,1
    - Dst: setModel
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:69,1
    - Dst: setRootIsDecorated
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:70,1
    - Dst: setAlternatingRowColors
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:71,1
    - Dst: sortByColumn
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:73,1
    - Dst: setSortingEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:74,1
    - Dst: setSelectionMode
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:75,1
    - Dst: setSelectionBehavior
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:76,1
    - Dst: setEditTriggers
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:77,1
    - Dst: resize
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:80,1
    - Dst: sizeHint
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:80,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:82,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:83,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:85,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:86,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:87,1
    - Dst: selectionModel
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:87,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:88,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:89,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:90,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:93,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:95,1
    - Dst: BookmarksDialog::updateButtons
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:96,1
    - Dst: restoreWidgetPosition
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:98,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:98,1
    - Dst: updateGeometry
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 1
    argNames:
    - _p_intf
    argTypes:
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 100
    functionName: BookmarksDialog::BookmarksDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp
    functionUses: 0
    functionsReached:
    - setSortingEnabled
    - setToolTip
    - setWindowRole
    - sortByColumn
    - connect
    - BookmarksDialog::updateButtons
    - QPushButton*::setToolTip
    - selectionModel
    - QHBoxLayout::QHBoxLayout
    - qt_intf_t*::p_mi::getMediaLibrary
    - setRootIsDecorated
    - setWindowFlags
    - setEditTriggers
    - resize
    - MLBookmarkModel::MLBookmarkModel
    - restoreWidgetPosition
    - setSelectionBehavior
    - updateGeometry
    - setWindowTitle
    - setMl
    - qtr
    - setPlayer
    - setModel
    - QPushButton::QPushButton
    - sizeHint
    - var_InheritFloat
    - setAlternatingRowColors
    - QHBoxLayout*::addWidget
    - QDialogButtonBox::QDialogButtonBox
    - setSelectionMode
    - QDialogButtonBox*::addButton
    - QSize
    - setWindowOpacity
    - QTreeView::QTreeView
    linkageType: ''
    returnType: void
    signature: void BookmarksDialog::BookmarksDialog( qt_intf_t *_p_intf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: saveWidgetPosition
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: BookmarksDialog::~BookmarksDialog()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp
    functionUses: 0
    functionsReached:
    - saveWidgetPosition
    linkageType: ''
    returnType: void
    signature: void BookmarksDialog::~BookmarksDialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: player
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:109,1
    - Dst: vlc_player_GetState
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:110,1
    - Dst: player
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:110,1
    - Dst: setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:111,1
    - Dst: setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:114,1
    - Dst: model
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:114,1
    - Dst: setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:115,1
    - Dst: selectionModel
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: BookmarksDialog::updateButtons
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp
    functionUses: 1
    functionsReached:
    - model
    - selectionModel
    - setEnabled
    - player
    - vlc_player_GetState
    linkageType: ''
    returnType: void
    signature: void BookmarksDialog::updateButtons()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BookmarksDialog::add
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: BookmarksDialog::add
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp
    functionUses: 1
    functionsReached:
    - BookmarksDialog::add
    linkageType: ''
    returnType: void
    signature: void BookmarksDialog::add()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:125,1
    - Dst: selectionModel
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: BookmarksDialog::del
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp
    functionUses: 0
    functionsReached:
    - selectionModel
    - remove
    linkageType: ''
    returnType: void
    signature: void BookmarksDialog::del()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BookmarksDialog::clear
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: BookmarksDialog::clear
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp
    functionUses: 1
    functionsReached:
    - BookmarksDialog::clear
    linkageType: ''
    returnType: void
    signature: void BookmarksDialog::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: BookmarksDialog::extract
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BookmarksDialog::extract()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: select
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' index'
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: BookmarksDialog::activateItem
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp
    functionUses: 0
    functionsReached:
    - select
    linkageType: ''
    returnType: void
    signature: void BookmarksDialog::activateItem( const QModelIndex& index )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isVisible
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:147,1
    - Dst: update
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:149,1
    - Dst: QVLCFrame::toggleVisible
      Src: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: BookmarksDialog::toggleVisible
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/bookmarks/bookmarks.cpp
    functionUses: 0
    functionsReached:
    - QVLCFrame::toggleVisible
    - update
    - isVisible
    linkageType: ''
    returnType: void
    signature: void BookmarksDialog::toggleVisible()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:465,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:467,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:468,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:469,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:472,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:476,1
    - Dst: ControlbarProfileModel::rowCount
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:477,1
    - Dst: ControlbarProfileModel::insertDefaults
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:478,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:482,1
    - Dst: ControlbarProfileModel::reload
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:483,1
    - Dst: ControlbarProfileModel::insertDefaults
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:486,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - settings
    - parent
    argTypes:
    - QSettings*
    - QObject*
    assertStmts:
    - condition: (m_settings)
      pos:
        line_end: 464
        line_start: 464
        source_file: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
    constantsTouched: []
    func_position:
      end: 489
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 489
    functionName: ControlbarProfileModel::ControlbarProfileModel
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
    functionUses: 0
    functionsReached:
    - assert
    - ControlbarProfileModel::insertDefaults
    - connect
    - ControlbarProfileModel::reload
    - ControlbarProfileModel::rowCount
    - QMetaObject::invokeMethod
    linkageType: ''
    returnType: void
    signature: void ControlbarProfileModel::ControlbarProfileModel(QSettings* settings,
      QObject *parent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ControlbarProfileModel::newProfile
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:499,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:499,1
    - Dst: auto::injectModel
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:503,1
    - Dst: auto::resetDirty
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:504,1
    - Dst: ControlbarProfileModel::setSelectedProfile
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:507,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 508
    functionName: ControlbarProfileModel::insertDefaults
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
    functionUses: 1
    functionsReached:
    - qfut
    - auto::resetDirty
    - ControlbarProfileModel::setSelectedProfile
    - auto::injectModel
    - ControlbarProfileModel::newProfile
    linkageType: ''
    returnType: void
    signature: void ControlbarProfileModel::insertDefaults()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:513,1
    - Dst: std::count_if
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:522,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:522,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:523,1
    - Dst: name
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:525,1
    - Dst: sameNameCount
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:529,1
    - Dst: targetNameGenerator
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:544,1
    - Dst: sameNameCount
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:548,1
    - Dst: targetNameGenerator
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 558
    functionName: ControlbarProfileModel::generateUniqueName
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
    functionUses: 0
    functionsReached:
    - QString
    - targetNameGenerator
    - begin
    - name
    - end
    - std::count_if
    - sameNameCount
    linkageType: ''
    returnType: QString
    signature: QString ControlbarProfileModel::generateUniqueName(const QString &name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::isValid
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:562,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 566
    functionName: ControlbarProfileModel::rowCount
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
    functionUses: 1
    functionsReached:
    - size
    - QModelIndex::isValid
    linkageType: ''
    returnType: int
    signature: int ControlbarProfileModel::rowCount(const QModelIndex &parent) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::isValid
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:570,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:571,1
    - Dst: at
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:573,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:573,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:576,1
    - Dst: auto::name
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:581,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:583,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:586,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - index
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 587
    functionName: ControlbarProfileModel::data
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
    functionUses: 0
    functionsReached:
    - QVariant
    - auto::name
    - QModelIndex::row
    - at
    - fromValue
    - QModelIndex::isValid
    linkageType: ''
    returnType: QVariant
    signature: QVariant ControlbarProfileModel::data(const QModelIndex &index, int
      role) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:593,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 599
    functionName: ControlbarProfileModel::roleNames
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
    functionUses: 0
    functionsReached:
    - QByteArrayLiteral
    linkageType: ''
    returnType: QHash<int, QByteArray>
    signature: QHash<int, QByteArray> ControlbarProfileModel::roleNames() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:603,1
    - Dst: beginInsertRows
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:606,1
    - Dst: ControlbarProfileModel::generateProfileFromStyle
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:610,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:611,1
    - Dst: auto::setParent
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:612,1
    - Dst: auto::setName
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:613,1
    - Dst: tr
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:613,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:613,1
    - Dst: insert
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:615,1
    - Dst: endInsertRows
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:618,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - row
    - count
    - parent
    argTypes:
    - int
    - int
    - QModelIndex
    assertStmts:
    - condition: (profile)
      pos:
        line_end: 610
        line_start: 610
        source_file: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
    constantsTouched: []
    func_position:
      end: 621
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 621
    functionName: ControlbarProfileModel::insertRows
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
    functionUses: 0
    functionsReached:
    - endInsertRows
    - ControlbarProfileModel::generateProfileFromStyle
    - assert
    - auto::setName
    - size
    - insert
    - beginInsertRows
    - auto::setParent
    - tr
    linkageType: ''
    returnType: bool
    signature: bool ControlbarProfileModel::insertRows(int row, int count, const QModelIndex
      &parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:625,1
    - Dst: beginRemoveRows
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:628,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:630,1
    - Dst: std::for_each
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:632,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:633,1
    - Dst: deleteLater
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:634,1
    - Dst: erase
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:636,1
    - Dst: endRemoveRows
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:638,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - row
    - count
    - parent
    argTypes:
    - int
    - int
    - QModelIndex
    assertStmts:
    - condition: (item)
      pos:
        line_end: 632
        line_start: 632
        source_file: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
    constantsTouched: []
    func_position:
      end: 641
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 641
    functionName: ControlbarProfileModel::removeRows
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
    functionUses: 0
    functionsReached:
    - erase
    - assert
    - endRemoveRows
    - std::for_each
    - size
    - begin
    - deleteLater
    - beginRemoveRows
    linkageType: ''
    returnType: bool
    signature: bool ControlbarProfileModel::removeRows(int row, int count, const QModelIndex
      &parent)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ControlbarProfileModel::data
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:645,1
    - Dst: at
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:647,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:647,1
    - Dst: QVariant::canConvert
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:655,1
    - Dst: auto::setName
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:656,1
    - Dst: QVariant::toString
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:656,1
    - Dst: QVariant::canConvert
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:661,1
    - Dst: qvariant_cast<ControlbarProfile*>
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:662,1
    - Dst: replace
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:670,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:670,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - index
    - value
    - role
    argTypes:
    - QModelIndex
    - QVariant
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 676
    functionName: ControlbarProfileModel::setData
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
    functionUses: 0
    functionsReached:
    - replace
    - auto::setName
    - QModelIndex::row
    - QVariant::canConvert
    - QVariant::toString
    - at
    - ControlbarProfileModel::data
    - qvariant_cast<ControlbarProfile*>
    linkageType: ''
    returnType: bool
    signature: bool ControlbarProfileModel::setData(const QModelIndex &index, const
      QVariant &value, int role)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::isValid
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 684
    functionName: ControlbarProfileModel::flags
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::isValid
    linkageType: ''
    returnType: Qt::ItemFlags
    signature: Qt::ItemFlags ControlbarProfileModel::flags(const QModelIndex &index)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 689
    functionName: ControlbarProfileModel::selectedProfile
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ControlbarProfileModel::selectedProfile() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ControlbarProfileModel::getProfile
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:693,1
    - Dst: ControlbarProfileModel::selectedProfile
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 694
    functionName: ControlbarProfileModel::currentModel
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
    functionUses: 0
    functionsReached:
    - ControlbarProfileModel::getProfile
    - ControlbarProfileModel::selectedProfile
    linkageType: ''
    returnType: ControlbarProfile
    signature: ControlbarProfile * ControlbarProfileModel::currentModel() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: metaObject
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:698,1
    - Dst: beginGroup
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:700,1
    - Dst: remove
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:701,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:703,1
    - Dst: ControlbarProfileModel::selectedProfile
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:703,1
    - Dst: beginWriteArray
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:705,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:707,1
    - Dst: setArrayIndex
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:709,1
    - Dst: at
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:711,1
    - Dst: constBegin
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:714,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:714,1
    - Dst: auto::key
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:716,1
    - Dst: at
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:718,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:724,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:726,1
    - Dst: QString::chop
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:727,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:732,1
    - Dst: join
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:734,1
    - Dst: join
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:736,1
    - Dst: join
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:738,1
    - Dst: at
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:742,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:744,1
    - Dst: at
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:744,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:745,1
    - Dst: endArray
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:748,1
    - Dst: endGroup
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:749,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - clearDirty
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 750
    functionName: ControlbarProfileModel::save
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
    functionUses: 0
    functionsReached:
    - endArray
    - setArrayIndex
    - constBegin
    - QString::isEmpty
    - auto::key
    - beginGroup
    - size
    - remove
    - metaObject
    - beginWriteArray
    - at
    - ControlbarProfileModel::selectedProfile
    - vlclua_io_file_read_number
    - QString::chop
    - join
    - endGroup
    - end
    - setValue
    linkageType: ''
    returnType: void
    signature: void ControlbarProfileModel::save(bool clearDirty) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: metaObject
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:754,1
    - Dst: beginGroup
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:756,1
    - Dst: beginReadArray
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:758,1
    - Dst: endArray
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:762,1
    - Dst: endGroup
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:763,1
    - Dst: beginResetModel
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:768,1
    - Dst: setArrayIndex
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:773,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:775,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:776,1
    - Dst: QStringView::split
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:780,1
    - Dst: auto::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:781,1
    - Dst: ControlbarProfile::ControlbarProfile
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:784,1
    - Dst: auto::setName
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:785,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:785,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:789,1
    - Dst: split
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:792,1
    - Dst: auto::length
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:794,1
    - Dst: toInt
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:798,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:805,1
    - Dst: split
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:808,1
    - Dst: toInt
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:811,1
    - Dst: QVector::append
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:814,1
    - Dst: split
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:819,1
    - Dst: split
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:820,1
    - Dst: split
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:821,1
    - Dst: auto::setModelData
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:823,1
    - Dst: auto::resetDirty
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:824,1
    - Dst: decltype (m_profiles)::append
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:827,1
    - Dst: endArray
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:830,1
    - Dst: std::for_each
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:833,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:833,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:833,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:835,1
    - Dst: endResetModel
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:837,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:840,1
    - Dst: ControlbarProfileModel::setSelectedProfile
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:843,1
    - Dst: ControlbarProfileModel::setSelectedProfile
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:845,1
    - Dst: endGroup
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:847,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 752
    functionDepth: 2
    functionLinenumber: 752
    functionLinenumberEnd: 850
    functionName: ControlbarProfileModel::reload
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
    functionUses: 1
    functionsReached:
    - ControlbarProfile::ControlbarProfile
    - auto::setModelData
    - beginReadArray
    - split
    - std::move
    - QStringView::split
    - decltype (m_profiles)::append
    - auto::length
    - setArrayIndex
    - QString::isEmpty
    - auto::resetDirty
    - begin
    - metaObject
    - isEmpty
    - toInt
    - endResetModel
    - endArray
    - auto::isEmpty
    - auto::setName
    - ControlbarProfileModel::setSelectedProfile
    - end
    - value
    - QVector::append
    - std::for_each
    - beginGroup
    - beginResetModel
    - endGroup
    linkageType: ''
    returnType: bool
    signature: bool ControlbarProfileModel::reload()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ControlbarProfileModel::getProfile
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:857,1
    - Dst: ControlbarProfileModel::getProfile
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:858,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:860,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:865,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:866,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:867,1
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:871,1
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:872,1
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:873,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - selectedProfile
    argTypes:
    - int
    assertStmts:
    - condition: (ptrProfileNew)
      pos:
        line_end: 859
        line_start: 859
        source_file: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
    constantsTouched: []
    func_position:
      end: 881
      start: 852
    functionDepth: 1
    functionLinenumber: 852
    functionLinenumberEnd: 881
    functionName: ControlbarProfileModel::setSelectedProfile
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
    functionUses: 2
    functionsReached:
    - connect
    - ControlbarProfileModel::getProfile
    - assert
    - disconnect
    linkageType: ''
    returnType: bool
    signature: bool ControlbarProfileModel::setSelectedProfile(int selectedProfile)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:885,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:886,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:892,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - profile
    argTypes:
    - ControlbarProfile*
    assertStmts:
    - condition: (profile)
      pos:
        line_end: 884
        line_start: 884
        source_file: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
    - condition: (m_profiles[i])
      pos:
        line_end: 891
        line_start: 891
        source_file: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
    constantsTouched: []
    func_position:
      end: 898
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 898
    functionName: ControlbarProfileModel::findModel
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
    functionUses: 0
    functionsReached:
    - count
    - assert
    linkageType: ''
    returnType: std::optional<int>
    signature: std::optional<int> ControlbarProfileModel::findModel(const ControlbarProfile
      *profile) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:902,1
    - Dst: std::unique_ptr<ControlbarProfile>::release
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:903,1
    - Dst: auto::setParent
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:905,1
    - Dst: beginInsertRows
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:907,1
    - Dst: QModelIndex
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:907,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:907,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:907,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:908,1
    - Dst: endInsertRows
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:909,1
    - Dst: ControlbarProfileModel::setSelectedProfile
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:912,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:912,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - profile
    - select
    argTypes:
    - std::unique_ptr<ControlbarProfile>
    - bool
    assertStmts:
    - condition: (profile)
      pos:
        line_end: 901
        line_start: 901
        source_file: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
    constantsTouched: []
    func_position:
      end: 913
      start: 900
    functionDepth: 2
    functionLinenumber: 900
    functionLinenumberEnd: 913
    functionName: ControlbarProfileModel::insertProfile
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
    functionUses: 0
    functionsReached:
    - append
    - endInsertRows
    - assert
    - QModelIndex
    - std::unique_ptr<ControlbarProfile>::release
    - size
    - ControlbarProfileModel::setSelectedProfile
    - count
    - beginInsertRows
    - auto::setParent
    linkageType: ''
    returnType: void
    signature: void ControlbarProfileModel::insertProfile(std::unique_ptr<ControlbarProfile>
      profile, bool select)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:917,1
    - Dst: at
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:920,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 921
    functionName: ControlbarProfileModel::getProfile
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
    functionUses: 2
    functionsReached:
    - size
    - at
    linkageType: ''
    returnType: ControlbarProfile
    signature: ControlbarProfile *ControlbarProfileModel::getProfile(int index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:925,1
    - Dst: ControlbarProfileModel::newProfile
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:928,1
    - Dst: auto::setName
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:930,1
    - Dst: ControlbarProfileModel::generateUniqueName
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 923
    functionDepth: 2
    functionLinenumber: 923
    functionLinenumberEnd: 933
    functionName: ControlbarProfileModel::newProfile
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
    functionUses: 2
    functionsReached:
    - ControlbarProfileModel::generateUniqueName
    - auto::setName
    - ControlbarProfileModel::newProfile
    - QString::isEmpty
    linkageType: ''
    returnType: ControlbarProfile
    signature: ControlbarProfile *ControlbarProfileModel::newProfile(const QString
      &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ControlbarProfileModel::generateProfileFromStyle
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:937,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:938,1
    - Dst: auto::setParent
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:939,1
    - Dst: beginInsertRows
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:941,1
    - Dst: QModelIndex
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:941,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:941,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:941,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:943,1
    - Dst: endInsertRows
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ptrNewProfile)
      pos:
        line_end: 937
        line_start: 937
        source_file: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
    constantsTouched: []
    func_position:
      end: 948
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 948
    functionName: ControlbarProfileModel::newProfile
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
    functionUses: 2
    functionsReached:
    - append
    - endInsertRows
    - ControlbarProfileModel::generateProfileFromStyle
    - QModelIndex
    - assert
    - size
    - beginInsertRows
    - auto::setParent
    linkageType: ''
    returnType: ControlbarProfile
    signature: ControlbarProfile *ControlbarProfileModel::newProfile()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ControlbarProfileModel::newProfile
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:952,1
    - Dst: ControlbarProfile*::name
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:952,1
    - Dst: ControlbarProfile*::m_models::constBegin
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:957,1
    - Dst: ControlbarProfile*::m_models::constEnd
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:957,1
    - Dst: auto::setModelData
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:959,1
    - Dst: auto::key
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:959,1
    - Dst: ControlbarProfile*::getModelData
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:959,1
    - Dst: auto::key
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:959,1
    - Dst: auto::resetDirty
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:960,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - profile
    argTypes:
    - ControlbarProfile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 950
    functionDepth: 3
    functionLinenumber: 950
    functionLinenumberEnd: 964
    functionName: ControlbarProfileModel::cloneProfile
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
    functionUses: 0
    functionsReached:
    - auto::setModelData
    - auto::resetDirty
    - ControlbarProfile*::getModelData
    - ControlbarProfile*::name
    - auto::key
    - ControlbarProfile*::m_models::constEnd
    - ControlbarProfileModel::newProfile
    - ControlbarProfile*::m_models::constBegin
    linkageType: ''
    returnType: ControlbarProfile
    signature: ControlbarProfile *ControlbarProfileModel::cloneProfile(const ControlbarProfile
      *profile)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ControlbarProfileModel::currentModel
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:968,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:970,1
    - Dst: ControlbarProfileModel::cloneProfile
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:974,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:976,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:984,1
    - Dst: auto::name
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:984,1
    - Dst: auto::setName
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:985,1
    - Dst: ControlbarProfileModel::generateUniqueName
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:985,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - newProfileName
    argTypes:
    - QString
    assertStmts:
    - condition: (ptrModel)
      pos:
        line_end: 969
        line_start: 969
        source_file: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
    - condition: (ptrNewModel)
      pos:
        line_end: 975
        line_start: 975
        source_file: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
    constantsTouched: []
    func_position:
      end: 986
      start: 966
    functionDepth: 4
    functionLinenumber: 966
    functionLinenumberEnd: 986
    functionName: ControlbarProfileModel::cloneSelectedProfile
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
    functionUses: 0
    functionsReached:
    - auto::name
    - assert
    - ControlbarProfileModel::cloneProfile
    - auto::setName
    - QString::isEmpty
    - ControlbarProfileModel::currentModel
    - ControlbarProfileModel::generateUniqueName
    linkageType: ''
    returnType: void
    signature: void ControlbarProfileModel::cloneSelectedProfile(const QString &newProfileName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ControlbarProfileModel::getProfile
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:990,1
    - Dst: beginRemoveRows
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:996,1
    - Dst: QModelIndex
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:996,1
    - Dst: removeAt
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:1001,1
    - Dst: endRemoveRows
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:1003,1
    - Dst: ControlbarProfileModel::getProfile
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:1005,1
    - Dst: ControlbarProfileModel::setSelectedProfile
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:1006,1
    - Dst: ControlbarProfileModel::setSelectedProfile
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:1008,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 988
    functionDepth: 2
    functionLinenumber: 988
    functionLinenumberEnd: 1009
    functionName: ControlbarProfileModel::deleteSelectedProfile
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex
    - endRemoveRows
    - ControlbarProfileModel::setSelectedProfile
    - removeAt
    - beginRemoveRows
    - ControlbarProfileModel::getProfile
    linkageType: ''
    returnType: void
    signature: void ControlbarProfileModel::deleteSelectedProfile()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ControlbarProfile::ControlbarProfile
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:1017,1
    - Dst: auto::injectModel
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:1018,1
    - Dst: auto::setName
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:1019,1
    - Dst: auto::resetDirty
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp:1020,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - style
    argTypes:
    - Style
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1011
    functionDepth: 1
    functionLinenumber: 1011
    functionLinenumberEnd: 1027
    functionName: ControlbarProfileModel::generateProfileFromStyle
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
    functionUses: 2
    functionsReached:
    - ControlbarProfile::ControlbarProfile
    - auto::setName
    - auto::injectModel
    - auto::resetDirty
    linkageType: ''
    returnType: ControlbarProfile
    signature: ControlbarProfile *ControlbarProfileModel::generateProfileFromStyle(const
      Style style)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' model'
    argTypes:
    - ControlbarProfile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: operator!=(const ControlbarProfile& model) const
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const ControlbarProfile& model) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: ControlbarProfile::ControlbarProfile
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ControlbarProfile::ControlbarProfile(QObject *parent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:33,1
    - Dst: PlayerControlbarModel::PlayerControlbarModel
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:36,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:38,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:40,1
    - Dst: ControlbarProfile::dirty
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:46,1
    - Dst: insert
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - identifier
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 52
    functionName: ControlbarProfile::newModel
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp
    functionUses: 0
    functionsReached:
    - insert
    - connect
    - PlayerControlbarModel::PlayerControlbarModel
    - ControlbarProfile::dirty
    - contains
    linkageType: ''
    returnType: PlayerControlbarModel
    signature: PlayerControlbarModel *ControlbarProfile::newModel(int identifier)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - identifier
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 64
    functionName: ControlbarProfile::getModel
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp
    functionUses: 0
    functionsReached:
    - contains
    linkageType: ''
    returnType: PlayerControlbarModel
    signature: PlayerControlbarModel *ControlbarProfile::getModel(int identifier)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ControlbarProfile::getModel
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:68,1
    - Dst: auto::loadModels
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:72,1
    - Dst: ControlbarProfile::newModel
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:76,1
    - Dst: auto::loadModels
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:81,1
    - Dst: auto::setDirty
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - identifier
    - data
    argTypes:
    - int
    - std::array<QVector<int>, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 85
    functionName: ControlbarProfile::setModelData
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp
    functionUses: 0
    functionsReached:
    - auto::loadModels
    - ControlbarProfile::getModel
    - auto::setDirty
    - ControlbarProfile::newModel
    linkageType: ''
    returnType: void
    signature: void ControlbarProfile::setModelData(int identifier, const std::array<QVector<int>,
      3> &data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ControlbarProfile::getModel
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:89,1
    - Dst: auto::serializeModels
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - identifier
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: ControlbarProfile::getModelData
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp
    functionUses: 0
    functionsReached:
    - ControlbarProfile::getModel
    - auto::serializeModels
    linkageType: ''
    returnType: std::array<QVector<int>, 3>
    signature: std::array<QVector<int>, 3> ControlbarProfile::getModelData(int identifier)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:99,1
    - Dst: deleteLater
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:101,1
    - Dst: remove
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - identifier
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: ControlbarProfile::deleteModel
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp
    functionUses: 0
    functionsReached:
    - deleteLater
    - remove
    - contains
    linkageType: ''
    returnType: void
    signature: void ControlbarProfile::deleteModel(int identifier)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: ControlbarProfile::setName
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ControlbarProfile::setName(const QString &name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: ControlbarProfile::dirty
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ControlbarProfile::dirty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: ControlbarProfile::name
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString ControlbarProfile::name() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:128,1
    - Dst: ControlbarProfile::m_models::count
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:128,1
    - Dst: QMapIterator::hasNext
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:135,1
    - Dst: QMapIterator::next
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:137,1
    - Dst: ControlbarProfile::m_models::contains
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:139,1
    - Dst: QMapIterator::key
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:139,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:142,1
    - Dst: QMapIterator::key
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:142,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:143,1
    - Dst: QMapIterator::value
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:143,1
    - Dst: QMapIterator::key
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:145,1
    - Dst: QMapIterator::value
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - model
    argTypes:
    - ControlbarProfile
    assertStmts:
    - condition: (model.m_models[i.key()])
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp
    - condition: (i.value())
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp
    constantsTouched: []
    func_position:
      end: 151
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 151
    functionName: ControlbarProfile::operator==(const ControlbarProfile &model) const
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp
    functionUses: 0
    functionsReached:
    - assert
    - QMapIterator::key
    - QMapIterator::hasNext
    - count
    - QMapIterator::next
    - QMapIterator::value
    - ControlbarProfile::m_models::contains
    - ControlbarProfile::m_models::count
    linkageType: ''
    returnType: bool
    signature: bool ControlbarProfile::operator==(const ControlbarProfile &model)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ControlbarProfile::setModelData
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:159,1
    - Dst: ControlbarProfile::generateLinearControlList
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - modelData
    argTypes:
    - QVector<ControlbarProfile::Configuration>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 153
    functionDepth: 4
    functionLinenumber: 153
    functionLinenumberEnd: 165
    functionName: ControlbarProfile::injectModel
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp
    functionUses: 0
    functionsReached:
    - ControlbarProfile::generateLinearControlList
    - ControlbarProfile::setModelData
    linkageType: ''
    returnType: void
    signature: void ControlbarProfile::injectModel(const QVector<ControlbarProfile::Configuration>
      &modelData)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isSignalConnected
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:173,1
    - Dst: QMetaMethod::fromSignal
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:173,1
    - Dst: QVector::append
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:180,1
    - Dst: serializeModels
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:180,1
    - Dst: serializeModels
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:180,1
    - Dst: serializeModels
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 184
    functionName: ControlbarProfile::generateLinearControlList
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp
    functionUses: 1
    functionsReached:
    - QVector::append
    - isSignalConnected
    - QMetaMethod::fromSignal
    - serializeModels
    linkageType: ''
    returnType: void
    signature: void ControlbarProfile::generateLinearControlList()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ControlbarProfile::dirty
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:188,1
    - Dst: constBegin
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:191,1
    - Dst: constEnd
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:191,1
    - Dst: auto::value
      Src: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 197
    functionName: ControlbarProfile::resetDirty
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp
    functionUses: 0
    functionsReached:
    - ControlbarProfile::dirty
    - constEnd
    - constBegin
    - auto::value
    linkageType: ''
    returnType: void
    signature: void ControlbarProfile::resetDirty()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:53,1
    - Dst: MainCtx*::hasMediaLibrary
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:53,1
    - Dst: setWindowRole
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:55,1
    - Dst: setWindowTitle
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:57,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:57,1
    - Dst: setWindowOpacity
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:59,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:59,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:64,1
    - Dst: QGroupBox::QGroupBox
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:64,1
    - Dst: QTreeView::QTreeView
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:66,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:68,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:69,1
    - Dst: MLPlaylistListModel::MLPlaylistListModel
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:71,1
    - Dst: setPlaylistType
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:72,1
    - Dst: setMl
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:74,1
    - Dst: MainCtx*::getMediaLibrary
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:74,1
    - Dst: setModel
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:76,1
    - Dst: QVBoxLayout::QVBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:78,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:80,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:85,1
    - Dst: QLabel*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:87,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:87,1
    - Dst: QLineEdit::QLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:90,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:92,1
    - Dst: QHBoxLayout::QHBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:94,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:96,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:97,1
    - Dst: QDialogButtonBox::QDialogButtonBox
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:102,1
    - Dst: QDialogButtonBox*::button
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:106,1
    - Dst: setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:108,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:110,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:111,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:113,1
    - Dst: QHBoxLayout::QHBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:115,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:117,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:118,1
    - Dst: QVBoxLayout::QVBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:122,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:124,1
    - Dst: QVBoxLayout*::addLayout
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:125,1
    - Dst: QVBoxLayout*::addLayout
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:126,1
    - Dst: QVLCTools::restoreWidgetPosition
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:129,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:129,1
    - Dst: updateGeometry
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:131,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:134,1
    - Dst: QVariantList::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:134,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:136,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:136,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 4
    argNames:
    - _p_intf
    - media
    - type
    - parent
    argTypes:
    - qt_intf_t*
    - QVariantList
    - MLPlaylistListModel::PlaylistType
    - QWindow*
    assertStmts:
    - condition: (mainCtx->hasMediaLibrary())
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp
    - condition: (!media.isEmpty())
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp
    constantsTouched: []
    func_position:
      end: 138
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 138
    functionName: PlaylistsDialog::PlaylistsDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp
    functionUses: 1
    functionsReached:
    - assert
    - setPlaylistType
    - QLabel*::setText
    - setWindowRole
    - MainCtx*::hasMediaLibrary
    - connect
    - QLabel::QLabel
    - QVariantList::isEmpty
    - QHBoxLayout::QHBoxLayout
    - QVBoxLayout*::addWidget
    - count
    - setText
    - QVBoxLayout::QVBoxLayout
    - QLineEdit::QLineEdit
    - updateGeometry
    - setWindowTitle
    - setMl
    - qtr
    - setModel
    - setEnabled
    - MLPlaylistListModel::MLPlaylistListModel
    - var_InheritFloat
    - QHBoxLayout*::addWidget
    - QDialogButtonBox::QDialogButtonBox
    - QGroupBox::QGroupBox
    - QVLCTools::restoreWidgetPosition
    - QDialogButtonBox*::button
    - MainCtx*::getMediaLibrary
    - QVBoxLayout*::addLayout
    - QSize
    - setWindowOpacity
    - QTreeView::QTreeView
    linkageType: ''
    returnType: void
    signature: void PlaylistsDialog::PlaylistsDialog(qt_intf_t * _p_intf, const QVariantList
      &media, MLPlaylistListModel::PlaylistType type, QWindow *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVLCTools::saveWidgetPosition
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: PlaylistsDialog::~PlaylistsDialog()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp
    functionUses: 0
    functionsReached:
    - QVLCTools::saveWidgetPosition
    linkageType: ''
    returnType: void
    signature: void PlaylistsDialog::~PlaylistsDialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:152,1
    - Dst: setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: PlaylistsDialog::onClicked
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp
    functionUses: 0
    functionsReached:
    - clear
    - setEnabled
    linkageType: ''
    returnType: void
    signature: void PlaylistsDialog::onClicked()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:159,1
    - Dst: PlaylistsDialog::accept
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: PlaylistsDialog::onDoubleClicked
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp
    functionUses: 0
    functionsReached:
    - PlaylistsDialog::accept
    - isEnabled
    linkageType: ''
    returnType: void
    signature: void PlaylistsDialog::onDoubleClicked()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clearSelection
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:170,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:172,1
    - Dst: setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:173,1
    - Dst: setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 176
    functionName: PlaylistsDialog::onTextEdited
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp
    functionUses: 0
    functionsReached:
    - clearSelection
    - text
    - setEnabled
    linkageType: ''
    returnType: void
    signature: void PlaylistsDialog::onTextEdited()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:181,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:183,1
    - Dst: getItemId
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:185,1
    - Dst: currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:185,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:186,1
    - Dst: create
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:190,1
    - Dst: Q_LIKELY
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:194,1
    - Dst: transactionPending
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:194,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:196,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:198,1
    - Dst: vlclua_net_accept
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:200,1
    - Dst: vlclua_net_accept
      Src: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 178
    functionDepth: 5
    functionLinenumber: 178
    functionLinenumberEnd: 207
    functionName: PlaylistsDialog::accept
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/playlists/playlists.cpp
    functionUses: 1
    functionsReached:
    - create
    - append
    - Q_LIKELY
    - hide
    - text
    - QString::isEmpty
    - connect
    - transactionPending
    - vlclua_net_accept
    - getItemId
    - currentIndex
    linkageType: ''
    returnType: void
    signature: void PlaylistsDialog::accept()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setWindowFlags
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:40,1
    - Dst: setWindowTitle
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:41,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:41,1
    - Dst: setWindowRole
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:42,1
    - Dst: QGridLayout::QGridLayout
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:44,1
    - Dst: QGridLayout*::setSizeConstraint
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:45,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:47,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:47,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:48,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:48,1
    - Dst: QDialogButtonBox::QDialogButtonBox
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:49,1
    - Dst: QPushButton*::setDefault
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:51,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:52,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:53,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:55,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:55,1
    - Dst: QLabel*::setWordWrap
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:56,1
    - Dst: QLabel*::setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:57,1
    - Dst: QTimeEdit::QTimeEdit
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:59,1
    - Dst: setDisplayFormat
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:60,1
    - Dst: setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:61,1
    - Dst: setSizePolicy
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:62,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:64,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:64,1
    - Dst: QPushButton*::setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:65,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:65,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:67,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:68,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:69,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:71,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:73,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:74,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:76,1
    - Dst: QVLCTools::restoreWidgetPosition
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 1
    argNames:
    - _p_intf
    argTypes:
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 79
    functionName: GotoTimeDialog::GotoTimeDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp
    functionUses: 0
    functionsReached:
    - QIcon
    - setWindowRole
    - QGridLayout*::addWidget
    - QPushButton*::setDefault
    - connect
    - BUTTONACT
    - setAlignment
    - QLabel::QLabel
    - QPushButton*::setToolTip
    - QLabel*::setAlignment
    - QGridLayout::QGridLayout
    - setSizePolicy
    - setWindowFlags
    - QTimeEdit::QTimeEdit
    - setDisplayFormat
    - setWindowTitle
    - qtr
    - QPushButton::QPushButton
    - QGridLayout*::setSizeConstraint
    - QDialogButtonBox::QDialogButtonBox
    - QVLCTools::restoreWidgetPosition
    - QDialogButtonBox*::addButton
    - QLabel*::setWordWrap
    linkageType: ''
    returnType: void
    signature: void GotoTimeDialog::GotoTimeDialog( qt_intf_t *_p_intf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVLCTools::saveWidgetPosition
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: GotoTimeDialog::~GotoTimeDialog()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp
    functionUses: 0
    functionsReached:
    - QVLCTools::saveWidgetPosition
    linkageType: ''
    returnType: void
    signature: void GotoTimeDialog::~GotoTimeDialog()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GotoTimeDialog::reset
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:88,1
    - Dst: isVisible
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:89,1
    - Dst: hasInput
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:89,1
    - Dst: getTime
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:91,1
    - Dst: setTime
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:92,1
    - Dst: time
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:92,1
    - Dst: VLCTime::toSeconds
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:92,1
    - Dst: QVLCDialog::toggleVisible
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:94,1
    - Dst: isVisible
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:95,1
    - Dst: activateWindow
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: GotoTimeDialog::toggleVisible
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp
    functionUses: 0
    functionsReached:
    - hasInput
    - isVisible
    - VLCTime::toSeconds
    - getTime
    - QVLCDialog::toggleVisible
    - activateWindow
    - time
    - setTime
    - GotoTimeDialog::reset
    linkageType: ''
    returnType: void
    signature: void GotoTimeDialog::toggleVisible()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GotoTimeDialog::reset
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:101,1
    - Dst: FirstRunWizard::reject
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: GotoTimeDialog::reject
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp
    functionUses: 0
    functionsReached:
    - GotoTimeDialog::reset
    - FirstRunWizard::reject
    linkageType: ''
    returnType: void
    signature: void GotoTimeDialog::reject()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasInput
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:107,1
    - Dst: QTime
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:109,1
    - Dst: time
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:109,1
    - Dst: setTime
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:110,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:110,1
    - Dst: vlclua_net_accept
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 105
    functionDepth: 5
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: GotoTimeDialog::accept
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp
    functionUses: 0
    functionsReached:
    - hasInput
    - QTime
    - VLC_TICK_FROM_MS
    - time
    - setTime
    - vlclua_net_accept
    linkageType: ''
    returnType: void
    signature: void GotoTimeDialog::accept()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setTime
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:118,1
    - Dst: QTime
      Src: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: GotoTimeDialog::reset
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/gototime/gototime.cpp
    functionUses: 2
    functionsReached:
    - QTime
    - setTime
    linkageType: ''
    returnType: void
    signature: void GotoTimeDialog::reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: EPGGraphicsScene::EPGGraphicsScene
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EPGGraphicsScene::EPGGraphicsScene( QObject *parent )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qobject_cast<EPGView *>
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:38,1
    - Dst: parent
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:38,1
    - Dst: EPGView*::startTime
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:40,1
    - Dst: EPGGraphicsScene::drawBackground
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:42,1
    - Dst: EPGView*::startTime
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:47,1
    - Dst: QRectF::left
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:47,1
    - Dst: QDateTime::date
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:48,1
    - Dst: QRectF::left
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:51,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:51,1
    - Dst: QDateTime::addDays
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:53,1
    - Dst: QRectF::setRight
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:54,1
    - Dst: EPGView*::startTime
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:54,1
    - Dst: EPGView*::startTime
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:56,1
    - Dst: QDateTime::date
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:56,1
    - Dst: QPainter*::fillRect
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:57,1
    - Dst: palette
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:57,1
    - Dst: QPainter*::fillRect
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:59,1
    - Dst: palette
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:59,1
    - Dst: QRectF::setLeft
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:61,1
    - Dst: QRectF::right
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:61,1
    - Dst: QPainter*::setPen
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:65,1
    - Dst: QPen
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:65,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:65,1
    - Dst: QRectF::top
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:66,1
    - Dst: QRectF::bottom
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:66,1
    - Dst: QPainter*::drawLine
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:67,1
    - Dst: QLineF
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:67,1
    - Dst: QRectF::left
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:67,1
    - Dst: QRectF::right
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:67,1
    - Dst: EPGView*::epgTime
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:70,1
    - Dst: EPGView*::startTime
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:72,1
    - Dst: EPGView*::epgTime
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:72,1
    - Dst: QPainter*::setPen
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:73,1
    - Dst: QPen
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:73,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:73,1
    - Dst: QPainter*::drawLine
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:74,1
    - Dst: QLineF
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:74,1
    - Dst: QRectF::top
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:74,1
    - Dst: QRectF::bottom
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - painter
    - rect
    argTypes:
    - QPainter*
    - QRectF
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 76
    functionName: EPGGraphicsScene::drawBackground
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp
    functionUses: 1
    functionsReached:
    - qobject_cast<EPGView *>
    - QLineF
    - QPainter*::setPen
    - QRectF::setRight
    - parent
    - palette
    - QPen
    - EPGView*::epgTime
    - QRectF::left
    - QPainter*::fillRect
    - EPGView*::startTime
    - width
    - QDateTime::addDays
    - QPainter*::drawLine
    - QDateTime::date
    - QRectF::setLeft
    - QColor
    - QRectF::top
    - QRectF::bottom
    - QRectF::right
    - EPGGraphicsScene::drawBackground
    linkageType: ''
    returnType: void
    signature: void EPGGraphicsScene::drawBackground( QPainter *painter, const QRectF
      &rect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setContentsMargins
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:80,1
    - Dst: setFrameStyle
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:81,1
    - Dst: setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:82,1
    - Dst: QDateTime
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:84,1
    - Dst: EPGGraphicsScene::EPGGraphicsScene
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:88,1
    - Dst: setScene
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: EPGView::EPGView
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp
    functionUses: 0
    functionsReached:
    - setScene
    - setContentsMargins
    - setFrameStyle
    - setAlignment
    - EPGGraphicsScene::EPGGraphicsScene
    - QDateTime
    linkageType: ''
    returnType: void
    signature: void EPGView::EPGView( QWidget *parent )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QTransform::scale
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:97,1
    - Dst: setTransform
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - scaleFactor
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: EPGView::setScale
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp
    functionUses: 0
    functionsReached:
    - QTransform::scale
    - setTransform
    linkageType: ''
    returnType: void
    signature: void EPGView::setScale( double scaleFactor )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: '& EPGView::startTime() const'
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QDateTime
    signature: QDateTime & EPGView::startTime() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:108,1
    - Dst: isValid
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:108,1
    - Dst: QDateTime
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: EPGView::epgTime
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp
    functionUses: 0
    functionsReached:
    - QDateTime
    - isValid
    linkageType: ''
    returnType: QDateTime
    signature: QDateTime EPGView::epgTime() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - time
    argTypes:
    - QDateTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: EPGView::setEpgTime
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EPGView::setEpgTime(const QDateTime &time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: EPGView::hasValidData
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp
    functionUses: 0
    functionsReached:
    - isEmpty
    linkageType: ''
    returnType: bool
    signature: bool EPGView::hasValidData() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QDateTime
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:125,1
    - Dst: find
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:133,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:134,1
    - Dst: EPGProgram::EPGProgram
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:140,1
    - Dst: EPGProgram*::setPosition
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:141,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:141,1
    - Dst: insert
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:142,1
    - Dst: EPGProgram*::updateEvents
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:145,1
    - Dst: isValid
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pp_epg
    - i_epg
    argTypes:
    - vlc_epg_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 152
    functionName: EPGView::updateEPG
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp
    functionUses: 0
    functionsReached:
    - EPGProgram::EPGProgram
    - QDateTime
    - EPGProgram*::setPosition
    - count
    - insert
    - EPGProgram*::updateEvents
    - isValid
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: bool EPGView::updateEPG( const vlc_epg_t * const *pp_epg, size_t i_epg
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qDeleteAll
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:157,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:158,1
    - Dst: QDateTime
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: EPGView::reset
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp
    functionUses: 0
    functionsReached:
    - QDateTime
    - clear
    - qDeleteAll
    linkageType: ''
    returnType: void
    signature: void EPGView::reset()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:171,1
    - Dst: pruneEvents
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:172,1
    - Dst: eventsbytime::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:174,1
    - Dst: eventsbytime::last
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:176,1
    - Dst: QDateTime::isValid
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:177,1
    - Dst: EPGItem*::start
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:178,1
    - Dst: EPGItem*::duration
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:178,1
    - Dst: EPGItem*::start
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:180,1
    - Dst: EPGItem*::duration
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:180,1
    - Dst: isValid
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:185,1
    - Dst: isValid
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:186,1
    - Dst: QDateTime::isValid
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:188,1
    - Dst: isValid
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:189,1
    - Dst: updateEventPos
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:197,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - b_cleanup
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 200
    functionName: EPGView::walkItems
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp
    functionUses: 0
    functionsReached:
    - eventsbytime::isEmpty
    - pruneEvents
    - EPGItem*::duration
    - QDateTime::isValid
    - eventsbytime::last
    - updateEventPos
    - isValid
    - EPGItem*::start
    linkageType: ''
    returnType: void
    signature: void EPGView::walkItems( bool b_cleanup )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:171,1
    - Dst: EPGProgram*::pruneEvents
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:172,1
    - Dst: EPGProgram*::eventsbytime::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:174,1
    - Dst: EPGProgram*::eventsbytime::last
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:176,1
    - Dst: isValid
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:177,1
    - Dst: EPGItem*::start
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:178,1
    - Dst: EPGItem*::duration
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:178,1
    - Dst: EPGItem*::start
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:180,1
    - Dst: EPGItem*::duration
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:180,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - program
    argTypes:
    - EPGProgram*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 183
    functionName: foreach
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp
    functionUses: 53
    functionsReached:
    - EPGProgram*::eventsbytime::isEmpty
    - EPGProgram*::pruneEvents
    - EPGItem*::duration
    - isValid
    - EPGProgram*::eventsbytime::last
    - EPGItem*::start
    linkageType: ''
    returnType: void
    signature: void foreach( EPGProgram *program, programs )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EPGView::walkItems
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: EPGView::cleanup
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp
    functionUses: 0
    functionsReached:
    - EPGView::walkItems
    linkageType: ''
    returnType: void
    signature: void EPGView::cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EPGView::reset
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: EPGView::~EPGView()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp
    functionUses: 0
    functionsReached:
    - EPGView::reset
    linkageType: ''
    returnType: void
    signature: void EPGView::~EPGView()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - epgItem
    argTypes:
    - EPGItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: EPGView::focusItem
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EPGView::focusItem( EPGItem *epgItem )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 220
    functionName: EPGView::activateProgram
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGView.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EPGView::activateProgram( int id )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - view_
    - p_epg
    argTypes:
    - EPGView*
    - vlc_epg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: EPGProgram::EPGProgram
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp
    functionUses: 1
    functionsReached:
    - QString
    linkageType: ''
    returnType: void
    signature: void EPGProgram::EPGProgram( EPGView *view_, const vlc_epg_t *p_epg
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qDeleteAll
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp:38,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: EPGProgram::~EPGProgram()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp
    functionUses: 0
    functionsReached:
    - clear
    - qDeleteAll
    linkageType: ''
    returnType: void
    signature: void EPGProgram::~EPGProgram()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EPGProgram*
    - EPGProgram*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: EPGProgram::lessThan
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EPGProgram::lessThan( const EPGProgram *a, const EPGProgram *b
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: EPGProgram::getPosition
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t EPGProgram::getPosition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: EPGProgram::getCurrent
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EPGItem
    signature: EPGItem * EPGProgram::getCurrent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: '& EPGProgram::getName() const'
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString & EPGProgram::getName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: EPGProgram::setPosition
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EPGProgram::setPosition( size_t i )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: activateProgram
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: EPGProgram::activate
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp
    functionUses: 0
    functionsReached:
    - activateProgram
    linkageType: ''
    returnType: void
    signature: void EPGProgram::activate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp:74,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp:75,1
    - Dst: EPGItem*::endsBefore
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp:78,1
    - Dst: take
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp:80,1
    - Dst: EPGItem*::eventID
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp:80,1
    - Dst: scene
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp:81,1
    - Dst: erase
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - date
    argTypes:
    - QDateTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 87
    functionName: EPGProgram::pruneEvents
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp
    functionUses: 0
    functionsReached:
    - erase
    - take
    - EPGItem*::eventID
    - begin
    - EPGItem*::endsBefore
    - scene
    - end
    linkageType: ''
    returnType: void
    signature: void EPGProgram::pruneEvents( const QDateTime &date )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: updatePos
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: EPGProgram::updateEventPos
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp
    functionUses: 0
    functionsReached:
    - updatePos
    linkageType: ''
    returnType: void
    signature: void EPGProgram::updateEventPos()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QDateTime::fromSecsSinceEpoch
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp:101,1
    - Dst: QTimeZone::systemTimeZone
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp:101,1
    - Dst: QDateTime*::isValid
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp:102,1
    - Dst: find
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp:106,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp:107,1
    - Dst: EPGItem*::start
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp:112,1
    - Dst: remove
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp:114,1
    - Dst: EPGItem*::start
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp:114,1
    - Dst: insert
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp:115,1
    - Dst: EPGItem*::setData
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp:118,1
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp:120,1
    - Dst: EPGItem::EPGItem
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp:123,1
    - Dst: insert
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp:126,1
    - Dst: insert
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp:127,1
    - Dst: scene
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp:129,1
    - Dst: hasFocus
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp:132,1
    - Dst: focusItem
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp:133,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - pp_events
    - i_events
    - p_current
    - mindate
    argTypes:
    - vlc_epg_event_t**
    - size_t
    - vlc_epg_event_t*
    - QDateTime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 139
    functionName: EPGProgram::updateEvents
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGProgram.cpp
    functionUses: 0
    functionsReached:
    - QDateTime::fromSecsSinceEpoch
    - contains
    - hasFocus
    - remove
    - insert
    - focusItem
    - EPGItem::EPGItem
    - QTimeZone::systemTimeZone
    - scene
    - EPGItem*::setData
    - QDateTime*::isValid
    - end
    - EPGItem*::start
    - find
    linkageType: ''
    returnType: void
    signature: "void EPGProgram::updateEvents( const vlc_epg_event_t * const * pp_events,
      size_t i_events,\n                               const vlc_epg_event_t *p_current,
      QDateTime *mindate )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& name() const'
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString & name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: EPGItem::rating
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rating() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setContentsMargins
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:37,1
    - Dst: setMinimumHeight
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:38,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:38,1
    - Dst: setMaximumHeight
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:39,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: EPGRuler::EPGRuler
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp
    functionUses: 0
    functionsReached:
    - height
    - setContentsMargins
    - setMinimumHeight
    - setMaximumHeight
    linkageType: ''
    returnType: void
    signature: void EPGRuler::EPGRuler( QWidget* parent )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - scale
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: EPGRuler::setScale
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void EPGRuler::setScale( double scale )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:52,1
    - Dst: isValid
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:52,1
    - Dst: QDateTime
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:54,1
    - Dst: secsTo
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:59,1
    - Dst: update
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' startTime'
    - ' endTime'
    argTypes:
    - QDateTime
    - QDateTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: EPGRuler::setRange
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp
    functionUses: 0
    functionsReached:
    - update
    - QDateTime
    - secsTo
    - isValid
    linkageType: ''
    returnType: void
    signature: void EPGRuler::setRange( const QDateTime& startTime, const QDateTime&
      endTime )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - offset
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: EPGRuler::setOffset
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void EPGRuler::setOffset( int offset )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNUSED
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:72,1
    - Dst: contentsMargins
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:73,1
    - Dst: maximumHeight
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:74,1
    - Dst: contentsMargins
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:74,1
    - Dst: isValid
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:78,1
    - Dst: EPGRuler::paintEvent
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:80,1
    - Dst: addSecs
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:85,1
    - Dst: QDateTime::setTime
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:88,1
    - Dst: QTime
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:88,1
    - Dst: QDateTime::time
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:88,1
    - Dst: QDateTime::secsTo
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:90,1
    - Dst: QSize::height
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:93,1
    - Dst: QDateTime::addSecs
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:95,1
    - Dst: QDateTime::addSecs
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:96,1
    - Dst: QPoint::rx
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:99,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:99,1
    - Dst: QPoint
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:101,1
    - Dst: QPoint::x
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:101,1
    - Dst: QSize::height
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:101,1
    - Dst: QRect::adjust
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:102,1
    - Dst: QSize::height
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:102,1
    - Dst: QDateTime::toString
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:103,1
    - Dst: QDateTime::time
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:105,1
    - Dst: QDateTime::date
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:106,1
    - Dst: date
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:108,1
    - Dst: QDateTime::date
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:108,1
    - Dst: palette
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:109,1
    - Dst: palette
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:111,1
    - Dst: QPainter::fillRect
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:112,1
    - Dst: QPainter::drawLine
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:113,1
    - Dst: QRect::topRight
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:113,1
    - Dst: QRect::bottomRight
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:113,1
    - Dst: QPainter::drawText
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:114,1
    - Dst: QPoint::rx
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:116,1
    - Dst: QDateTime::addSecs
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:117,1
    - Dst: QPoint::rx
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:121,1
    - Dst: QDateTime::secsTo
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:121,1
    - Dst: QDateTime::currentDateTime
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:121,1
    - Dst: QPoint::x
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:122,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:122,1
    - Dst: QPoint::x
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:122,1
    - Dst: QPainter::setPen
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:124,1
    - Dst: QPen
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:124,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:124,1
    - Dst: QPainter::drawLine
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:125,1
    - Dst: QPoint
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:125,1
    - Dst: QPoint::x
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:125,1
    - Dst: QPoint::y
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:125,1
    - Dst: QSize::height
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp:125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - event
    argTypes:
    - QPaintEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 127
    functionName: EPGRuler::paintEvent
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.cpp
    functionUses: 1
    functionsReached:
    - QPoint::x
    - maximumHeight
    - QTime
    - addSecs
    - QDateTime::toString
    - QDateTime::secsTo
    - QDateTime::addSecs
    - QPainter::setPen
    - QPoint::y
    - QRect::adjust
    - palette
    - QRect::bottomRight
    - QPen
    - date
    - QDateTime::time
    - QSize::height
    - QPainter::drawLine
    - QPoint
    - QDateTime::setTime
    - width
    - contentsMargins
    - QDateTime::date
    - QDateTime::currentDateTime
    - isValid
    - QPainter::drawText
    - QColor
    - Q_UNUSED
    - QPoint::rx
    - QRect::topRight
    - EPGRuler::paintEvent
    - QPainter::fillRect
    linkageType: ''
    returnType: void
    signature: void EPGRuler::paintEvent( QPaintEvent *event )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setContentsMargins
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - parent
    - m_epgView
    argTypes:
    - QWidget*
    - EPGView*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: EPGChannels::EPGChannels
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp
    functionUses: 0
    functionsReached:
    - setContentsMargins
    linkageType: ''
    returnType: void
    signature: void EPGChannels::EPGChannels( QWidget *parent, EPGView *m_epgView
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - offset
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: EPGChannels::setOffset
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void EPGChannels::setOffset( int offset )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp:48,1
    - Dst: std::sort
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp:51,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp:51,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp:51,1
    - Dst: update
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - program
    argTypes:
    - EPGProgram*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: EPGChannels::addProgram
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp
    functionUses: 0
    functionsReached:
    - update
    - begin
    - std::sort
    - end
    - contains
    linkageType: ''
    returnType: void
    signature: void EPGChannels::addProgram( const EPGProgram *program )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp:58,1
    - Dst: update
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: EPGChannels::reset
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp
    functionUses: 0
    functionsReached:
    - update
    - clear
    linkageType: ''
    returnType: void
    signature: void EPGChannels::reset()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNUSED
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp:64,1
    - Dst: QPainter::drawLine
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp:69,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp:69,1
    - Dst: getName
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp:74,1
    - Dst: QString::lastIndexOf
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp:76,1
    - Dst: QString::left
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp:78,1
    - Dst: QPainter::drawText
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp:80,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp:81,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp:81,1
    - Dst: fontMetrics
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp:83,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp:84,1
    - Dst: setMinimumWidth
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - event
    argTypes:
    - QPaintEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 87
    functionName: EPGChannels::paintEvent
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp
    functionUses: 0
    functionsReached:
    - fontMetrics
    - QPainter::drawLine
    - Q_UNUSED
    - height
    - width
    - QString::lastIndexOf
    - setMinimumWidth
    - QString::left
    - getName
    - QPainter::drawText
    linkageType: ''
    returnType: void
    signature: void EPGChannels::paintEvent( QPaintEvent *event )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EPGProgram*::getName
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp:74,1
    - Dst: QString::lastIndexOf
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp:76,1
    - Dst: QString::left
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp:78,1
    - Dst: drawText
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp:80,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp:81,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp:81,1
    - Dst: fontMetrics
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp:83,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp:84,1
    - Dst: setMinimumWidth
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - program
    argTypes:
    - EPGProgram*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 86
    functionName: foreach
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGChannels.cpp
    functionUses: 53
    functionsReached:
    - fontMetrics
    - height
    - width
    - EPGProgram*::getName
    - QString::lastIndexOf
    - setMinimumWidth
    - drawText
    - QString::left
    linkageType: ''
    returnType: void
    signature: void foreach( const EPGProgram *program, programsList )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~EPGRuler()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGRuler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EPGRuler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EPGItem::setData
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:44,1
    - Dst: setHeight
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:45,1
    - Dst: setFlags
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:46,1
    - Dst: setAcceptHoverEvents
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - data
    - view
    - prog
    argTypes:
    - vlc_epg_event_t*
    - EPGView*
    - EPGProgram*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: EPGItem::EPGItem
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp
    functionUses: 1
    functionsReached:
    - setHeight
    - setAcceptHoverEvents
    - EPGItem::setData
    - setFlags
    linkageType: ''
    returnType: void
    signature: void EPGItem::EPGItem( const vlc_epg_event_t *data, EPGView *view,
      EPGProgram *prog )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: EPGItem::boundingRect
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: QRectF
    signature: QRectF EPGItem::boundingRect() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QPainter*::setWorldMatrixEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:61,1
    - Dst: viewportTransform
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:67,1
    - Dst: deviceTransform
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:68,1
    - Dst: EPGItem::boundingRect
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:68,1
    - Dst: QRectF::topLeft
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:70,1
    - Dst: QRectF::bottomLeft
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:70,1
    - Dst: getCurrent
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:72,1
    - Dst: QColor::setRgb
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:73,1
    - Dst: QColor::setRgb
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:75,1
    - Dst: QLinearGradient::setColorAt
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:77,1
    - Dst: QColor::lighter
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:77,1
    - Dst: QLinearGradient::setColorAt
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:78,1
    - Dst: QPen::setColor
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:80,1
    - Dst: hasFocus
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:80,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:81,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:81,1
    - Dst: QPen::setStyle
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:83,1
    - Dst: hasFocus
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:83,1
    - Dst: QPainter*::setBrush
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:86,1
    - Dst: QBrush
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:86,1
    - Dst: QPainter*::setPen
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:87,1
    - Dst: QRectF::adjust
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:88,1
    - Dst: QPainter*::drawRoundedRect
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:89,1
    - Dst: QPainter*::font
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:94,1
    - Dst: QPainter*::fontMetrics
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:97,1
    - Dst: QRectF::adjust
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:100,1
    - Dst: QPainter*::setPen
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:102,1
    - Dst: QPainter*::drawText
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:104,1
    - Dst: QFontMetrics::elidedText
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:104,1
    - Dst: QRectF::width
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:104,1
    - Dst: QRectF::width
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:106,1
    - Dst: QRectF
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:108,1
    - Dst: QRectF::bottomRight
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:108,1
    - Dst: QRectF::bottomRight
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:108,1
    - Dst: QRectF::adjust
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:109,1
    - Dst: QPainter*::save
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:110,1
    - Dst: QPainter*::setBrush
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:111,1
    - Dst: QFont::setPixelSize
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:112,1
    - Dst: QPainter*::setFont
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:113,1
    - Dst: QPainter*::drawRect
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:114,1
    - Dst: QPainter*::drawText
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:115,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:115,1
    - Dst: QPainter*::restore
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:116,1
    - Dst: QRectF::adjust
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:119,1
    - Dst: addSecs
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:121,1
    - Dst: QFont::setPixelSize
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:122,1
    - Dst: QFont::setItalic
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:123,1
    - Dst: QPainter*::setFont
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:124,1
    - Dst: QPainter*::drawText
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:127,1
    - Dst: QFontMetrics::elidedText
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:128,1
    - Dst: start
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:128,1
    - Dst: QDateTime::toString
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:129,1
    - Dst: QRectF::width
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - painter
    - option
    argTypes:
    - QPainter*
    - QStyleOptionGraphicsItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 131
    functionName: EPGItem::paint
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp
    functionUses: 0
    functionsReached:
    - QRectF::topLeft
    - QPainter*::setWorldMatrixEnabled
    - QString
    - QRectF::width
    - addSecs
    - QDateTime::toString
    - QPainter*::setPen
    - QPainter*::drawText
    - QRectF
    - QFont::setItalic
    - QRectF::adjust
    - QPainter*::save
    - deviceTransform
    - QPen::setColor
    - QPainter*::setBrush
    - QPainter*::setFont
    - viewportTransform
    - QColor::lighter
    - hasFocus
    - QFont::setPixelSize
    - QRectF::bottomRight
    - start
    - QPainter*::fontMetrics
    - QRectF::bottomLeft
    - QPainter*::drawRect
    - QColor::setRgb
    - QPainter*::restore
    - EPGItem::boundingRect
    - getCurrent
    - QPainter*::drawRoundedRect
    - QColor
    - QPen::setStyle
    - QBrush
    - QLinearGradient::setColorAt
    - QPainter*::font
    - QFontMetrics::elidedText
    linkageType: ''
    returnType: void
    signature: void EPGItem::paint( QPainter *painter, const QStyleOptionGraphicsItem
      *option, QWidget*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: '& EPGItem::start() const'
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QDateTime
    signature: QDateTime & EPGItem::start() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QDateTime
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: EPGItem::end
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp
    functionUses: 0
    functionsReached:
    - QDateTime
    linkageType: ''
    returnType: QDateTime
    signature: QDateTime EPGItem::end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: EPGItem::duration
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t EPGItem::duration() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: EPGItem::eventID
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t EPGItem::eventID() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QDateTime::fromSecsSinceEpoch
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:155,1
    - Dst: QTimeZone::systemTimeZone
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:155,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:156,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:157,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:158,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:168,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:169,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:170,1
    - Dst: EPGItem::setDuration
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:171,1
    - Dst: EPGItem::setRating
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:172,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:173,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:176,1
    - Dst: QPair<QString, QString>
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:176,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:177,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:178,1
    - Dst: EPGItem::updatePos
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:180,1
    - Dst: prepareGeometryChange
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:181,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - data
    argTypes:
    - vlc_epg_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 185
    functionName: EPGItem::setData
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp
    functionUses: 1
    functionsReached:
    - EPGItem::updatePos
    - append
    - setToolTip
    - QDateTime::fromSecsSinceEpoch
    - QString
    - QPair<QString, QString>
    - EPGItem::setDuration
    - clear
    - std::move
    - QTimeZone::systemTimeZone
    - EPGItem::setRating
    - prepareGeometryChange
    - qfu
    linkageType: ''
    returnType: bool
    signature: bool EPGItem::setData( const vlc_epg_event_t *data )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addSecs
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ref
    argTypes:
    - QDateTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: EPGItem::endsBefore
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp
    functionUses: 0
    functionsReached:
    - addSecs
    linkageType: ''
    returnType: bool
    signature: bool EPGItem::endsBefore( const QDateTime &ref ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EPGItem::endsBefore
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' ref'
    argTypes:
    - QDateTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: EPGItem::playsAt
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp
    functionUses: 0
    functionsReached:
    - EPGItem::endsBefore
    linkageType: ''
    returnType: bool
    signature: bool EPGItem::playsAt( const QDateTime & ref ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: '& EPGItem::descriptionItems() const'
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QList<QPair<QString, QString>>
    signature: QList<QPair<QString, QString>> & EPGItem::descriptionItems() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setWidth
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - duration
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: EPGItem::setDuration
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp
    functionUses: 1
    functionsReached:
    - setWidth
    linkageType: ''
    returnType: void
    signature: void EPGItem::setDuration( uint32_t duration )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_rating
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: EPGItem::setRating
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EPGItem::setRating( uint8_t i_rating )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:215,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:219,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 222
    functionName: EPGItem::description
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp
    functionUses: 0
    functionsReached:
    - isEmpty
    - QString
    linkageType: ''
    returnType: QString
    signature: QString EPGItem::description() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: startTime
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:226,1
    - Dst: QDateTime::isValid
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:227,1
    - Dst: startTime
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:229,1
    - Dst: setPos
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:230,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 232
    functionName: EPGItem::updatePos
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp
    functionUses: 1
    functionsReached:
    - setPos
    - QDateTime::isValid
    - startTime
    - getPosition
    linkageType: ''
    returnType: void
    signature: void EPGItem::updatePos()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QGraphicsSceneHoverEvent*::accept
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:236,1
    - Dst: scene
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - event
    argTypes:
    - QGraphicsSceneHoverEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: EPGItem::hoverEnterEvent
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp
    functionUses: 0
    functionsReached:
    - QGraphicsSceneHoverEvent*::accept
    - scene
    linkageType: ''
    returnType: void
    signature: void EPGItem::hoverEnterEvent ( QGraphicsSceneHoverEvent * event )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EPGItem::hoverEnterEvent
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - QGraphicsSceneHoverEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: EPGItem::hoverLeaveEvent
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp
    functionUses: 0
    functionsReached:
    - EPGItem::hoverEnterEvent
    linkageType: ''
    returnType: void
    signature: void EPGItem::hoverLeaveEvent ( QGraphicsSceneHoverEvent * event )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: activate
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: EPGItem::mouseDoubleClickEvent
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp
    functionUses: 0
    functionsReached:
    - activate
    linkageType: ''
    returnType: void
    signature: void EPGItem::mouseDoubleClickEvent( QGraphicsSceneMouseEvent * )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QFocusEvent*::accept
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:252,1
    - Dst: focusItem
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:253,1
    - Dst: update
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - QFocusEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 255
    functionName: EPGItem::focusInEvent
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGItem.cpp
    functionUses: 0
    functionsReached:
    - focusItem
    - update
    - QFocusEvent*::accept
    linkageType: ''
    returnType: void
    signature: void EPGItem::focusInEvent( QFocusEvent * event )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setWindowTitle
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:48,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:48,1
    - Dst: QVBoxLayout::QVBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:50,1
    - Dst: QVBoxLayout*::setContentsMargins
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:51,1
    - Dst: EPGWidget::EPGWidget
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:52,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:54,1
    - Dst: QGroupBox::QGroupBox
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:54,1
    - Dst: QVBoxLayout::QVBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:56,1
    - Dst: QTextEdit::QTextEdit
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:58,1
    - Dst: setReadOnly
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:59,1
    - Dst: setFrameStyle
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:60,1
    - Dst: setAutoFillBackground
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:61,1
    - Dst: setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:62,1
    - Dst: setFixedHeight
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:63,1
    - Dst: QPalette::setBrush
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:66,1
    - Dst: QPalette::brush
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:66,1
    - Dst: setPalette
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:67,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:69,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:69,1
    - Dst: setWordWrap
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:70,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:72,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:73,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:75,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:76,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:78,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:79,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:80,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:81,1
    - Dst: QDialogButtonBox::QDialogButtonBox
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:83,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:86,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:86,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:87,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:88,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:91,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:91,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:91,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:93,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:94,1
    - Dst: QTimer::QTimer
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:96,1
    - Dst: setSingleShot
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:97,1
    - Dst: setInterval
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:98,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:99,1
    - Dst: EpgDialog::updateInfos
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:101,1
    - Dst: restoreWidgetPosition
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:102,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 1
    argNames:
    - _p_intf
    argTypes:
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 103
    functionName: EpgDialog::EpgDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp
    functionUses: 0
    functionsReached:
    - setAutoFillBackground
    - setFixedHeight
    - QTimer::QTimer
    - QPalette::brush
    - connect
    - BUTTONACT
    - EPGWidget::EPGWidget
    - setReadOnly
    - setAlignment
    - QLabel::QLabel
    - QTextEdit::QTextEdit
    - EpgDialog::updateInfos
    - setPalette
    - QVBoxLayout*::addWidget
    - setWordWrap
    - setSingleShot
    - restoreWidgetPosition
    - QVBoxLayout::QVBoxLayout
    - setWindowTitle
    - qtr
    - QVBoxLayout*::setContentsMargins
    - setFrameStyle
    - QPushButton::QPushButton
    - QDialogButtonBox::QDialogButtonBox
    - QGroupBox::QGroupBox
    - QDialogButtonBox*::addButton
    - QPalette::setBrush
    - setInterval
    - QSize
    linkageType: ''
    returnType: void
    signature: void EpgDialog::EpgDialog( qt_intf_t *_p_intf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: saveWidgetPosition
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: EpgDialog::~EpgDialog()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp
    functionUses: 0
    functionsReached:
    - saveWidgetPosition
    linkageType: ''
    returnType: void
    signature: void EpgDialog::~EpgDialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EpgDialog::scheduleUpdate
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: EpgDialog::showEvent
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp
    functionUses: 0
    functionsReached:
    - EpgDialog::scheduleUpdate
    linkageType: ''
    returnType: void
    signature: void EpgDialog::showEvent(QShowEvent *)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isVisible
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:117,1
    - Dst: EpgDialog::scheduleUpdate
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:118,1
    - Dst: EpgDialog::updateInfos
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: EpgDialog::timeout
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp
    functionUses: 0
    functionsReached:
    - isVisible
    - EpgDialog::scheduleUpdate
    - EpgDialog::updateInfos
    linkageType: ''
    returnType: void
    signature: void EpgDialog::timeout()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:125,1
    - Dst: EpgDialog::timeout
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: EpgDialog::inputChanged
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp
    functionUses: 0
    functionsReached:
    - EpgDialog::timeout
    - reset
    linkageType: ''
    returnType: void
    signature: void EpgDialog::inputChanged()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isActive
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:131,1
    - Dst: start
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: EpgDialog::scheduleUpdate
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp
    functionUses: 2
    functionsReached:
    - start
    - isActive
    linkageType: ''
    returnType: void
    signature: void EpgDialog::scheduleUpdate()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:139,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:140,1
    - Dst: QDateTime::currentDateTime
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:144,1
    - Dst: EPGItem*::start
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:145,1
    - Dst: EPGItem*::duration
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:145,1
    - Dst: EPGItem*::start
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:149,1
    - Dst: QLocale::toString
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:150,1
    - Dst: EPGItem*::start
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:150,1
    - Dst: QLocale::toString
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:152,1
    - Dst: EPGItem*::start
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:152,1
    - Dst: QLocale::toString
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:154,1
    - Dst: QDateTime::time
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:154,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:156,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:156,1
    - Dst: EPGItem*::name
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:159,1
    - Dst: EPGItem*::rating
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:160,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:161,1
    - Dst: EPGItem*::rating
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:161,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:162,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:164,1
    - Dst: EPGItem*::description
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:164,1
    - Dst: EPGItem*::descriptionItems
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:165,1
    - Dst: QList::begin
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:167,1
    - Dst: QList::end
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:167,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:169,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:169,1
    - Dst: verticalScrollBar
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - epgItem
    argTypes:
    - EPGItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 174
    functionName: EpgDialog::displayEvent
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp
    functionUses: 0
    functionsReached:
    - append
    - QString
    - EPGItem*::descriptionItems
    - EPGItem*::duration
    - verticalScrollBar
    - QList::end
    - clear
    - qtr
    - EPGItem*::description
    - QList::begin
    - QDateTime::currentDateTime
    - QDateTime::time
    - EPGItem*::name
    - setText
    - QLocale::toString
    - EPGItem*::rating
    - EPGItem*::start
    linkageType: ''
    returnType: void
    signature: void EpgDialog::displayEvent( EPGItem *epgItem )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_HoldCurrentMedia
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:181,1
    - Dst: updateEPG
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:186,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:187,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 191
    functionName: EpgDialog::updateInfos
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/epg.cpp
    functionUses: 2
    functionsReached:
    - input_item_Release
    - vlc_player_HoldCurrentMedia
    - updateEPG
    - reset
    linkageType: ''
    returnType: void
    signature: void EpgDialog::updateInfos()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EPGRuler::EPGRuler
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:45,1
    - Dst: EPGView::EPGView
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:46,1
    - Dst: EPGChannels::EPGChannels
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:47,1
    - Dst: setMinimumWidth
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:49,1
    - Dst: setSizePolicy
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:51,1
    - Dst: EPGWidget::setZoom
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:52,1
    - Dst: QStackedWidget::QStackedWidget
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:54,1
    - Dst: QWidget::QWidget
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:56,1
    - Dst: QGridLayout::QGridLayout
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:57,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:58,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:59,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:60,1
    - Dst: QGridLayout*::setSpacing
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:61,1
    - Dst: QWidget*::setLayout
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:62,1
    - Dst: insertWidget
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:63,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:65,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:65,1
    - Dst: QLabel*::setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:66,1
    - Dst: insertWidget
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:67,1
    - Dst: setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:69,1
    - Dst: QGridLayout::QGridLayout
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:70,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:71,1
    - Dst: setLayout
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:72,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:74,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:76,1
    - Dst: horizontalScrollBar
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:76,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:78,1
    - Dst: verticalScrollBar
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:78,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:80,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:81,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 83
    functionName: EPGWidget::EPGWidget
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp
    functionUses: 1
    functionsReached:
    - insertWidget
    - EPGWidget::setZoom
    - QStackedWidget::QStackedWidget
    - QGridLayout*::addWidget
    - EPGChannels::EPGChannels
    - connect
    - QLabel::QLabel
    - setMinimumWidth
    - QLabel*::setAlignment
    - setCurrentIndex
    - QGridLayout::QGridLayout
    - setSizePolicy
    - QWidget*::setLayout
    - QWidget::QWidget
    - qtr
    - horizontalScrollBar
    - setLayout
    - verticalScrollBar
    - EPGRuler::EPGRuler
    - QGridLayout*::setSpacing
    - EPGView::EPGView
    linkageType: ''
    returnType: void
    signature: void EPGWidget::EPGWidget( QWidget *parent )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EPGWidget::reset
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:87,1
    - Dst: EPGWidget::reset
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: EPGWidget::reset
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp
    functionUses: 1
    functionsReached:
    - EPGWidget::reset
    linkageType: ''
    returnType: void
    signature: void EPGWidget::reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setScale
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:95,1
    - Dst: setScale
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: EPGWidget::setZoom
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp
    functionUses: 1
    functionsReached:
    - setScale
    linkageType: ''
    returnType: void
    signature: void EPGWidget::setZoom( int level )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EPGWidget::reset
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:104,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:109,1
    - Dst: EPGWidget::updateEPG
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:110,1
    - Dst: setEpgTime
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:111,1
    - Dst: QDateTime::fromSecsSinceEpoch
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:112,1
    - Dst: QTimeZone::systemTimeZone
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:112,1
    - Dst: QDateTime
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:113,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:114,1
    - Dst: setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:117,1
    - Dst: hasValidData
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:118,1
    - Dst: cleanup
      Src: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - p_input_item
    argTypes:
    - input_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 121
    functionName: EPGWidget::updateEPG
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp
    functionUses: 1
    functionsReached:
    - setEpgTime
    - cleanup
    - QDateTime::fromSecsSinceEpoch
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - EPGWidget::reset
    - QTimeZone::systemTimeZone
    - hasValidData
    - QDateTime
    - EPGWidget::updateEPG
    - setCurrentIndex
    linkageType: ''
    returnType: void
    signature: void EPGWidget::updateEPG( input_item_t *p_input_item )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: EPGWidget::activateProgram
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/epg/EPGWidget.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EPGWidget::activateProgram( int id )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Chromaprint::finish
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/fingerprint/chromaprint.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void finish()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Ui::FingerprintDialog::FingerprintDialog
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:36,1
    - Dst: setupUi
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:38,1
    - Dst: stackedWidget::setCurrentWidget
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:40,1
    - Dst: buttonBox::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:42,1
    - Dst: buttonsBox::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:45,1
    - Dst: buttonsBox::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:48,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:51,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:52,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:53,1
    - Dst: Chromaprint::Chromaprint
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:55,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:58,1
    - Dst: enqueue
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - parent
    - p_intf
    - p_item
    argTypes:
    - QWidget*
    - qt_intf_t*
    - input_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 61
    functionName: FingerprintDialog::FingerprintDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp
    functionUses: 2
    functionsReached:
    - Chromaprint::Chromaprint
    - buttonBox::addButton
    - stackedWidget::setCurrentWidget
    - buttonsBox::addButton
    - Ui::FingerprintDialog::FingerprintDialog
    - connect
    - enqueue
    - setupUi
    linkageType: ''
    returnType: void
    signature: "void FingerprintDialog::FingerprintDialog(QWidget *parent, qt_intf_t
      *p_intf,\n                                     input_item_t *p_item )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_ASSERT
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:65,1
    - Dst: recordsList::currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:66,1
    - Dst: apply
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:67,1
    - Dst: recordsList::currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:67,1
    - Dst: close
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: FingerprintDialog::applyIdentity
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp
    functionUses: 0
    functionsReached:
    - Q_ASSERT
    - recordsList::currentIndex
    - apply
    - close
    linkageType: ''
    returnType: void
    signature: void FingerprintDialog::applyIdentity()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fetchResults
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:74,1
    - Dst: stackedWidget::setCurrentWidget
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:78,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:82,1
    - Dst: fingerprint_request_Delete
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:84,1
    - Dst: stackedWidget::setCurrentWidget
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:86,1
    - Dst: stackedWidget::setCurrentWidget
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:90,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:92,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:95,1
    - Dst: QListWidgetItem::QListWidgetItem
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:96,1
    - Dst: recordsList::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:97,1
    - Dst: vlc_meta_GetExtra
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:98,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:100,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:102,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:103,1
    - Dst: vlc_meta_Get
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:103,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:104,1
    - Dst: vlc_meta_Get
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:104,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:99,1
    - Dst: QLabel*::setSizePolicy
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:106,1
    - Dst: QLabel*::setOpenExternalLinks
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:107,1
    - Dst: QListWidgetItem*::setSizeHint
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:108,1
    - Dst: QLabel*::sizeHint
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:108,1
    - Dst: recordsList::setItemWidget
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:109,1
    - Dst: recordsList::setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:111,1
    - Dst: recordsList::model
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 112
    functionName: FingerprintDialog::handleResults
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp
    functionUses: 0
    functionsReached:
    - QString
    - QLabel*::sizeHint
    - vlc_array_count
    - QLabel::QLabel
    - qfu
    - vlc_meta_Get
    - QListWidgetItem::QListWidgetItem
    - vlc_meta_GetExtra
    - recordsList::setItemWidget
    - fingerprint_request_Delete
    - recordsList::setCurrentIndex
    - QLabel*::setSizePolicy
    - vlc_array_item_at_index
    - QLabel*::setOpenExternalLinks
    - stackedWidget::setCurrentWidget
    - fetchResults
    - recordsList::addItem
    - QListWidgetItem*::setSizeHint
    - recordsList::model
    linkageType: ''
    returnType: void
    signature: void FingerprintDialog::handleResults()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fingerprint_request_Delete
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: FingerprintDialog::~FingerprintDialog()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp
    functionUses: 0
    functionsReached:
    - fingerprint_request_Delete
    linkageType: ''
    returnType: void
    signature: void FingerprintDialog::~FingerprintDialog()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_ASSERT
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/chromaprint.cpp:31,1
    - Dst: fingerprinter_Create
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/chromaprint.cpp:32,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/chromaprint.cpp:32,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/chromaprint.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - _p_intf
    argTypes:
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: Chromaprint::Chromaprint
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/fingerprint/chromaprint.cpp
    functionUses: 1
    functionsReached:
    - var_AddCallback
    - Q_ASSERT
    - VLC_OBJECT
    - fingerprinter_Create
    linkageType: ''
    returnType: void
    signature: void Chromaprint::Chromaprint( qt_intf_t *_p_intf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Chromaprint*::finish
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/chromaprint.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: Chromaprint::results_available
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/fingerprint/chromaprint.cpp
    functionUses: 0
    functionsReached:
    - Chromaprint*::finish
    linkageType: ''
    returnType: int
    signature: int Chromaprint::results_available( vlc_object_t *, const char *, vlc_value_t,
      vlc_value_t , void *param )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pf_getresults
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/chromaprint.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: Chromaprint::fetchResults
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/fingerprint/chromaprint.cpp
    functionUses: 0
    functionsReached:
    - pf_getresults
    linkageType: ''
    returnType: fingerprint_request_t
    signature: fingerprint_request_t * Chromaprint::fetchResults()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pf_apply
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/chromaprint.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_r
    - i_id
    argTypes:
    - fingerprint_request_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: Chromaprint::apply
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/fingerprint/chromaprint.cpp
    functionUses: 0
    functionsReached:
    - pf_apply
    linkageType: ''
    returnType: void
    signature: void Chromaprint::apply( fingerprint_request_t *p_r, size_t i_id )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fingerprint_request_New
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/chromaprint.cpp:57,1
    - Dst: input_item_GetDuration
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/chromaprint.cpp:59,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/chromaprint.cpp:60,1
    - Dst: pf_enqueue
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/chromaprint.cpp:61,1
    - Dst: fingerprint_request_Delete
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/chromaprint.cpp:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - p_item
    argTypes:
    - input_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 67
    functionName: Chromaprint::enqueue
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/fingerprint/chromaprint.cpp
    functionUses: 0
    functionsReached:
    - SEC_FROM_VLC_TICK
    - fingerprint_request_New
    - fingerprint_request_Delete
    - pf_enqueue
    - input_item_GetDuration
    linkageType: ''
    returnType: bool
    signature: bool Chromaprint::enqueue( input_item_t *p_item )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: module_exists
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/chromaprint.cpp:71,1
    - Dst: QString::startsWith
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/chromaprint.cpp:74,1
    - Dst: QString::startsWith
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/chromaprint.cpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - uri
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: Chromaprint::isSupported
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/fingerprint/chromaprint.cpp
    functionUses: 1
    functionsReached:
    - QString::startsWith
    - module_exists
    linkageType: ''
    returnType: bool
    signature: bool Chromaprint::isSupported( QString uri )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fingerprinter_Destroy
      Src: /src/vlc/modules/gui/qt/dialogs/fingerprint/chromaprint.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: Chromaprint::~Chromaprint()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/fingerprint/chromaprint.cpp
    functionUses: 0
    functionsReached:
    - fingerprinter_Destroy
    linkageType: ''
    returnType: void
    signature: void Chromaprint::~Chromaprint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_dialog_provider_set_error_callback
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - intf
    - parent
    argTypes:
    - qt_intf_t*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: DialogErrorModel::DialogErrorModel
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp
    functionUses: 0
    functionsReached:
    - vlc_dialog_provider_set_error_callback
    linkageType: ''
    returnType: void
    signature: void DialogErrorModel::DialogErrorModel(qt_intf_t * intf, QObject *
      parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_dialog_provider_set_error_callback
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:43,1
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:45,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:46,1
    - Dst: setBadgeNumber
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (qGuiApp)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: DialogErrorModel::~DialogErrorModel()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp
    functionUses: 0
    functionsReached:
    - QT_VERSION_CHECK
    - vlc_dialog_provider_set_error_callback
    - assert
    - setBadgeNumber
    linkageType: ''
    returnType: void
    signature: void DialogErrorModel::~DialogErrorModel()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: row
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:57,1
    - Dst: DialogErrorModel::count
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:59,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:60,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:65,1
    - Dst: at
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:65,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:67,1
    - Dst: at
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:67,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' index'
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 71
    functionName: DialogErrorModel::data
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp
    functionUses: 0
    functionsReached:
    - QVariant
    - at
    - row
    - DialogErrorModel::count
    - fromValue
    linkageType: ''
    returnType: QVariant
    signature: QVariant DialogErrorModel::data(const QModelIndex & index, int role)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DialogErrorModel::count
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: DialogErrorModel::rowCount
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp
    functionUses: 0
    functionsReached:
    - DialogErrorModel::count
    linkageType: ''
    returnType: int
    signature: int DialogErrorModel::rowCount(const QModelIndex &) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:86,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: DialogErrorModel::roleNames
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp
    functionUses: 0
    functionsReached:
    - QByteArrayLiteral
    linkageType: ''
    returnType: QHash<int, QByteArray>
    signature: QHash<int, QByteArray> DialogErrorModel::roleNames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<DialogErrorModel *>
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:98,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:102,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:102,1
    - Dst: auto::pushError
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_data
    - psz_title
    - psz_text
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 106
    functionName: DialogErrorModel::onError
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - QMetaObject::invokeMethod
    - static_cast<DialogErrorModel *>
    - auto::pushError
    linkageType: ''
    returnType: void
    signature: "void DialogErrorModel::onError(void * p_data,\n                               const
      char * psz_title, const char * psz_text)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DialogErrorModel::pushError
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' title'
    - ' message'
    argTypes:
    - QString
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: DialogErrorModel::pushError
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp
    functionUses: 1
    functionsReached:
    - DialogErrorModel::pushError
    linkageType: ''
    returnType: void
    signature: void DialogErrorModel::pushError(const QString & title, const QString&
      message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DialogErrorModel::count
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:118,1
    - Dst: beginInsertRows
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:120,1
    - Dst: QModelIndex
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:120,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:122,1
    - Dst: endInsertRows
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:124,1
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:133,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:134,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:135,1
    - Dst: setBadgeNumber
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:136,1
    - Dst: setProperty
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' error'
    argTypes:
    - DialogError
    assertStmts:
    - condition: (qGuiApp)
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp
    constantsTouched: []
    func_position:
      end: 141
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 141
    functionName: DialogErrorModel::pushError
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp
    functionUses: 1
    functionsReached:
    - property
    - append
    - endInsertRows
    - assert
    - QModelIndex
    - setProperty
    - beginInsertRows
    - QT_VERSION_CHECK
    - DialogErrorModel::count
    - setBadgeNumber
    linkageType: ''
    returnType: void
    signature: void DialogErrorModel::pushError(const DialogError & error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DialogErrorModel::count
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: DialogErrorModel::count
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp
    functionUses: 4
    functionsReached:
    - DialogErrorModel::count
    linkageType: ''
    returnType: int
    signature: int DialogErrorModel::count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: DialogErrorModel::notificationText
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString DialogErrorModel::notificationText() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: DialogErrorModel::repeatedMessageCount
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DialogErrorModel::repeatedMessageCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:165,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:167,1
    - Dst: setBadgeNumber
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:168,1
    - Dst: setProperty
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (qGuiApp)
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp
    constantsTouched: []
    func_position:
      end: 171
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 171
    functionName: DialogErrorModel::resetRepeatedMessageCount
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp
    functionUses: 0
    functionsReached:
    - QT_VERSION_CHECK
    - assert
    - setProperty
    - setBadgeNumber
    linkageType: ''
    returnType: void
    signature: void DialogErrorModel::resetRepeatedMessageCount()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<VLCDialogModel *>
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:184,1
    - Dst: VLCDialogModel*::dialogCallback
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - p_data
    - dialogId
    - psz_title
    - psz_text
    - psz_default_username
    - b_ask_store
    argTypes:
    - void*
    - vlc_dialog_id*
    - char*
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 189
    functionName: onDialogLogin
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp
    functionUses: 0
    functionsReached:
    - VLCDialogModel*::dialogCallback
    - static_cast<VLCDialogModel *>
    linkageType: ''
    returnType: void
    signature: "void onDialogLogin(void * p_data, vlc_dialog_id * dialogId,\n                                       const
      char * psz_title, const char * psz_text,\n                                       const
      char * psz_default_username, bool b_ask_store)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<VLCDialogModel *>
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:197,1
    - Dst: auto::dialogCallback
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - p_data
    - dialogId
    - psz_title
    - psz_text
    - i_type
    - psz_cancel
    - psz_action1
    - psz_action2
    argTypes:
    - void*
    - vlc_dialog_id*
    - char*
    - char*
    - vlc_dialog_question_type
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 204
    functionName: onDialogQuestion
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp
    functionUses: 0
    functionsReached:
    - static_cast<VLCDialogModel *>
    - auto::dialogCallback
    linkageType: ''
    returnType: void
    signature: "void onDialogQuestion(void * p_data, vlc_dialog_id * dialogId,\n                                          const
      char * psz_title, const char * psz_text,\n                                          vlc_dialog_question_type
      i_type,\n                                          const char * psz_cancel,
      const char * psz_action1,\n                                          const char
      * psz_action2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<VLCDialogModel*>
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:211,1
    - Dst: auto::dialogCallback
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - p_data
    - dialogId
    - psz_title
    - psz_text
    - b_indeterminate
    - f_position
    - psz_cancel
    argTypes:
    - void*
    - vlc_dialog_id*
    - char*
    - char*
    - bool
    - float
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 215
    functionName: onDialogProgress
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp
    functionUses: 0
    functionsReached:
    - static_cast<VLCDialogModel*>
    - auto::dialogCallback
    linkageType: ''
    returnType: void
    signature: "void onDialogProgress(void * p_data, vlc_dialog_id * dialogId,\n                                          const
      char * psz_title, const char * psz_text,\n                                          bool
      b_indeterminate, float f_position,\n                                          const
      char * psz_cancel)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<VLCDialogModel*>
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:220,1
    - Dst: auto::dialogCallback
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - p_data
    - dialogId
    - f_value
    - psz_text
    argTypes:
    - void*
    - vlc_dialog_id*
    - float
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 224
    functionName: onDialogProgressUpdated
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp
    functionUses: 0
    functionsReached:
    - static_cast<VLCDialogModel*>
    - auto::dialogCallback
    linkageType: ''
    returnType: void
    signature: "void onDialogProgressUpdated(void * p_data, vlc_dialog_id * dialogId,\n
      \                                                float f_value, const char *
      psz_text)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<VLCDialogModel*>
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:228,1
    - Dst: auto::dialogCallback
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_data
    - dialogId
    argTypes:
    - void*
    - vlc_dialog_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: onDialogCancelled
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp
    functionUses: 0
    functionsReached:
    - static_cast<VLCDialogModel*>
    - auto::dialogCallback
    linkageType: ''
    returnType: void
    signature: void onDialogCancelled(void * p_data, vlc_dialog_id * dialogId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<VLCDialogModel *>
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:184,1
    - Dst: VLCDialogModel*::dialogCallback
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - p_data
    - dialogId
    - psz_title
    - psz_text
    - psz_default_username
    - b_ask_store
    argTypes:
    - void*
    - vlc_dialog_id*
    - char*
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 189
    functionName: onDialogLogin
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp
    functionUses: 0
    functionsReached:
    - VLCDialogModel*::dialogCallback
    - static_cast<VLCDialogModel *>
    linkageType: ''
    returnType: void
    signature: "void onDialogLogin(void * p_data, vlc_dialog_id * dialogId,\n                                       const
      char * psz_title, const char * psz_text,\n                                       const
      char * psz_default_username, bool b_ask_store)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<VLCDialogModel *>
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:197,1
    - Dst: auto::dialogCallback
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - p_data
    - dialogId
    - psz_title
    - psz_text
    - i_type
    - psz_cancel
    - psz_action1
    - psz_action2
    argTypes:
    - void*
    - vlc_dialog_id*
    - char*
    - char*
    - vlc_dialog_question_type
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 204
    functionName: onDialogQuestion
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp
    functionUses: 0
    functionsReached:
    - static_cast<VLCDialogModel *>
    - auto::dialogCallback
    linkageType: ''
    returnType: void
    signature: "void onDialogQuestion(void * p_data, vlc_dialog_id * dialogId,\n                                          const
      char * psz_title, const char * psz_text,\n                                          vlc_dialog_question_type
      i_type,\n                                          const char * psz_cancel,
      const char * psz_action1,\n                                          const char
      * psz_action2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<VLCDialogModel*>
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:211,1
    - Dst: auto::dialogCallback
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - p_data
    - dialogId
    - psz_title
    - psz_text
    - b_indeterminate
    - f_position
    - psz_cancel
    argTypes:
    - void*
    - vlc_dialog_id*
    - char*
    - char*
    - bool
    - float
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 215
    functionName: onDialogProgress
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp
    functionUses: 0
    functionsReached:
    - static_cast<VLCDialogModel*>
    - auto::dialogCallback
    linkageType: ''
    returnType: void
    signature: "void onDialogProgress(void * p_data, vlc_dialog_id * dialogId,\n                                          const
      char * psz_title, const char * psz_text,\n                                          bool
      b_indeterminate, float f_position,\n                                          const
      char * psz_cancel)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<VLCDialogModel*>
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:220,1
    - Dst: auto::dialogCallback
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - p_data
    - dialogId
    - f_value
    - psz_text
    argTypes:
    - void*
    - vlc_dialog_id*
    - float
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 224
    functionName: onDialogProgressUpdated
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp
    functionUses: 0
    functionsReached:
    - static_cast<VLCDialogModel*>
    - auto::dialogCallback
    linkageType: ''
    returnType: void
    signature: "void onDialogProgressUpdated(void * p_data, vlc_dialog_id * dialogId,\n
      \                                                float f_value, const char *
      psz_text)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<VLCDialogModel*>
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:228,1
    - Dst: auto::dialogCallback
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_data
    - dialogId
    argTypes:
    - void*
    - vlc_dialog_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: onDialogCancelled
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp
    functionUses: 0
    functionsReached:
    - static_cast<VLCDialogModel*>
    - auto::dialogCallback
    linkageType: ''
    returnType: void
    signature: void onDialogCancelled(void * p_data, vlc_dialog_id * dialogId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_dialog_provider_set_callbacks
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - intf
    - parent
    argTypes:
    - qt_intf_t*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 246
    functionName: VLCDialogModel::VLCDialogModel
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp
    functionUses: 0
    functionsReached:
    - vlc_dialog_provider_set_callbacks
    linkageType: ''
    returnType: void
    signature: void VLCDialogModel::VLCDialogModel(qt_intf_t* intf, QObject* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wakeAll
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:251,1
    - Dst: vlc_dialog_provider_set_callbacks
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:252,1
    - Dst: wait
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 260
    functionName: VLCDialogModel::~VLCDialogModel()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp
    functionUses: 0
    functionsReached:
    - wakeAll
    - vlc_dialog_provider_set_callbacks
    - wait
    linkageType: ''
    returnType: void
    signature: void VLCDialogModel::~VLCDialogModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: VLCDialogModel::getProvider
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VLCDialog
    signature: VLCDialog * VLCDialogModel::getProvider() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:273,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:278,1
    - Dst: vlc_dialog_id_post_login
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:281,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:281,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:281,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:283,1
    - Dst: vlc_dialog_id_post_action
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:285,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:287,1
    - Dst: vlc_dialog_id_post_action
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:289,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:291,1
    - Dst: vlc_dialog_id_dismiss
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:293,1
    - Dst: wakeAll
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - provider
    argTypes:
    - VLCDialog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 299
    functionName: VLCDialogModel::setProvider
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp
    functionUses: 0
    functionsReached:
    - disconnect
    - vlc_dialog_id_post_action
    - wakeAll
    - connect
    - qtu
    - vlc_dialog_id_post_login
    - vlc_dialog_id_dismiss
    linkageType: ''
    returnType: void
    signature: void VLCDialogModel::setProvider(VLCDialog* provider)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QThread::currentThread
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:308,1
    - Dst: VLCDialogModel::thread
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:308,1
    - Dst: vlc_dialog_id_dismiss
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:310,1
    - Dst: wakeOne
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:312,1
    - Dst: wait
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:317,1
    - Dst: vlc_dialog_id_dismiss
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:321,1
    - Dst: wakeOne
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:323,1
    - Dst: callback
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:327,1
    - Dst: wakeOne
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp:330,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - dialogId
    - callback
    argTypes:
    - vlc_dialog_id*
    - std::function<void(VLCDialog* provider)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 331
    functionName: VLCDialogModel::dialogCallback
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.cpp
    functionUses: 0
    functionsReached:
    - QThread::currentThread
    - callback
    - wakeOne
    - VLCDialogModel::thread
    - wait
    - vlc_dialog_id_dismiss
    linkageType: ''
    returnType: void
    signature: void VLCDialogModel::dialogCallback(vlc_dialog_id * dialogId, std::function<void(VLCDialog*
      provider)> callback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DialogId
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.hpp:48,1
    - Dst: m_id
      Src: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.hpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: DialogId::public
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.hpp
    functionUses: 0
    functionsReached:
    - m_id
    - DialogId
    linkageType: ''
    returnType: Q_GADGET
    signature: Q_GADGET public
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DialogId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: operator ==(const DialogId & other) const
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/dialogs/dialogmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator ==(const DialogId & other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: AboutModel
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/aboutmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AboutModel(QObject *parent = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AboutModel::AboutModel
      Src: /src/vlc/modules/gui/qt/dialogs/help/aboutmodel.hpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: create
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/aboutmodel.hpp
    functionUses: 149
    functionsReached:
    - AboutModel::AboutModel
    linkageType: ''
    returnType: AboutModel
    signature: AboutModel *create(class QQmlEngine *, class QJSEngine *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QString::fromUtf8
      Src: /src/vlc/modules/gui/qt/dialogs/help/aboutmodel.hpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: getLicense
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/aboutmodel.hpp
    functionUses: 0
    functionsReached:
    - QString::fromUtf8
    linkageType: ''
    returnType: QString
    signature: QString getLicense()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QString::fromUtf8
      Src: /src/vlc/modules/gui/qt/dialogs/help/aboutmodel.hpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: getAuthors
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/aboutmodel.hpp
    functionUses: 0
    functionsReached:
    - QString::fromUtf8
    linkageType: ''
    returnType: QString
    signature: QString getAuthors()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QString::fromUtf8
      Src: /src/vlc/modules/gui/qt/dialogs/help/aboutmodel.hpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: getThanks
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/aboutmodel.hpp
    functionUses: 0
    functionsReached:
    - QString::fromUtf8
    linkageType: ''
    returnType: QString
    signature: QString getThanks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QString::fromUtf8
      Src: /src/vlc/modules/gui/qt/dialogs/help/aboutmodel.hpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: getVersion
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/aboutmodel.hpp
    functionUses: 0
    functionsReached:
    - QString::fromUtf8
    linkageType: ''
    returnType: QString
    signature: QString getVersion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setWindowTitle
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:58,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:58,1
    - Dst: setWindowRole
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:59,1
    - Dst: setMinimumSize
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:60,1
    - Dst: QVBoxLayout::QVBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:62,1
    - Dst: QTextBrowser::QTextBrowser
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:64,1
    - Dst: QTextBrowser*::setOpenExternalLinks
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:65,1
    - Dst: QTextBrowser*::setHtml
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:66,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:66,1
    - Dst: QDialogButtonBox::QDialogButtonBox
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:68,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:69,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:70,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:70,1
    - Dst: QDialogButtonBox*::setFocus
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:71,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:73,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:74,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:76,1
    - Dst: restoreWidgetPosition
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:77,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - _p_intf
    argTypes:
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 78
    functionName: HelpDialog::HelpDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/help.cpp
    functionUses: 0
    functionsReached:
    - qfut
    - QDialogButtonBox::QDialogButtonBox
    - setWindowRole
    - QVBoxLayout*::addWidget
    - setWindowTitle
    - qtr
    - QDialogButtonBox*::addButton
    - QTextBrowser::QTextBrowser
    - connect
    - QTextBrowser*::setHtml
    - setMinimumSize
    - QPushButton::QPushButton
    - QDialogButtonBox*::setFocus
    - QSize
    - restoreWidgetPosition
    - QTextBrowser*::setOpenExternalLinks
    - QVBoxLayout::QVBoxLayout
    linkageType: ''
    returnType: void
    signature: void HelpDialog::HelpDialog( qt_intf_t *_p_intf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: saveWidgetPosition
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: HelpDialog::~HelpDialog()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/help.cpp
    functionUses: 0
    functionsReached:
    - saveWidgetPosition
    linkageType: ''
    returnType: void
    signature: void HelpDialog::~HelpDialog()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setupUi
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:89,1
    - Dst: setWindowTitle
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:90,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:90,1
    - Dst: setWindowRole
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:91,1
    - Dst: setWindowModality
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:92,1
    - Dst: version::setText
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:94,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:94,1
    - Dst: title::setText
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:95,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:95,1
    - Dst: MainBlabla::setText
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:97,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:98,1
    - Dst: QDate::currentDate
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:101,1
    - Dst: QDate::month
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:102,1
    - Dst: QDate::day
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:102,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:103,1
    - Dst: VLCcone::setPixmap
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:104,1
    - Dst: QPixmap
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:104,1
    - Dst: update::hide
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:106,1
    - Dst: licensePage::setText
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:109,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:109,1
    - Dst: creditPage::setText
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:112,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:112,1
    - Dst: authorsPage::setText
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:115,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:115,1
    - Dst: licenseButton::setText
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:117,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:117,1
    - Dst: licenseButton::installEventFilter
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:118,1
    - Dst: authorsButton::setText
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:120,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:120,1
    - Dst: authorsButton::installEventFilter
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:121,1
    - Dst: creditsButton::setText
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:123,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:123,1
    - Dst: creditsButton::installEventFilter
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:124,1
    - Dst: version::installEventFilter
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - _p_intf
    argTypes:
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 127
    functionName: AboutDialog::AboutDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/help.cpp
    functionUses: 0
    functionsReached:
    - creditsButton::setText
    - update::hide
    - setWindowRole
    - VLCcone::setPixmap
    - creditsButton::installEventFilter
    - licenseButton::setText
    - authorsButton::setText
    - qfu
    - authorsButton::installEventFilter
    - authorsPage::setText
    - title::setText
    - QPixmap
    - setWindowTitle
    - qtr
    - var_InheritBool
    - licenseButton::installEventFilter
    - MainBlabla::setText
    - QDate::month
    - setupUi
    - creditPage::setText
    - QDate::day
    - version::installEventFilter
    - setWindowModality
    - licensePage::setText
    - QDate::currentDate
    - version::setText
    linkageType: ''
    returnType: void
    signature: void AboutDialog::AboutDialog( qt_intf_t *_p_intf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stackedWidget::setCurrentWidget
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: AboutDialog::showLicense
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/help.cpp
    functionUses: 0
    functionsReached:
    - stackedWidget::setCurrentWidget
    linkageType: ''
    returnType: void
    signature: void AboutDialog::showLicense()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stackedWidget::setCurrentWidget
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: AboutDialog::showAuthors
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/help.cpp
    functionUses: 0
    functionsReached:
    - stackedWidget::setCurrentWidget
    linkageType: ''
    returnType: void
    signature: void AboutDialog::showAuthors()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stackedWidget::setCurrentWidget
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: AboutDialog::showCredit
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/help.cpp
    functionUses: 0
    functionsReached:
    - stackedWidget::setCurrentWidget
    linkageType: ''
    returnType: void
    signature: void AboutDialog::showCredit()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:146,1
    - Dst: version::setText
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:152,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:152,1
    - Dst: VLC_CompileBy
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:152,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:152,1
    - Dst: VLC_CompileHost
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:152,1
    - Dst: version::setText
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:158,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:158,1
    - Dst: AboutDialog::showLicense
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:164,1
    - Dst: AboutDialog::showAuthors
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:166,1
    - Dst: AboutDialog::showCredit
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:168,1
    - Dst: QuitSpy::eventFilter
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:173,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - obj
    - event
    argTypes:
    - QObject*
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 174
    functionName: AboutDialog::eventFilter
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/help.cpp
    functionUses: 0
    functionsReached:
    - VLC_CompileHost
    - QuitSpy::eventFilter
    - AboutDialog::showAuthors
    - AboutDialog::showLicense
    - QEvent*::type
    - AboutDialog::showCredit
    - VLC_CompileBy
    - qfu
    - version::setText
    linkageType: ''
    returnType: bool
    signature: bool AboutDialog::eventFilter(QObject *obj, QEvent *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stackedWidget::setCurrentWidget
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:178,1
    - Dst: ExtraMetaPanel::showEvent
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - event
    argTypes:
    - QShowEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: AboutDialog::showEvent
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/help.cpp
    functionUses: 0
    functionsReached:
    - stackedWidget::setCurrentWidget
    - ExtraMetaPanel::showEvent
    linkageType: ''
    returnType: void
    signature: void AboutDialog::showEvent( QShowEvent *event )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pub
    argTypes:
    - UpdateModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: UpdateModelPrivate::UpdateModelPrivate
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/help.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateModelPrivate(UpdateModel * pub)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:205,1
    - Dst: auto::q_func
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:205,1
    - Dst: update_NeedUpgrade
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:213,1
    - Dst: update_GetRelease
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - data
    - b_ret
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 261
    functionName: UpdateCallback
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/help.cpp
    functionUses: 0
    functionsReached:
    - auto::q_func
    - QMetaObject::invokeMethod
    - update_NeedUpgrade
    - update_GetRelease
    linkageType: ''
    returnType: void
    signature: void UpdateCallback(void *data, bool b_ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UpdateModelPrivate::UpdateModelPrivate
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:264,1
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:266,1
    - Dst: update_New
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_intf
    argTypes:
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 268
    functionName: UpdateModel::UpdateModel
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/help.cpp
    functionUses: 0
    functionsReached:
    - UpdateModelPrivate::UpdateModelPrivate
    - update_New
    - Q_D
    linkageType: ''
    returnType: void
    signature: void UpdateModel::UpdateModel(qt_intf_t * p_intf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:272,1
    - Dst: update_Delete
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 274
    functionName: UpdateModel::~UpdateModel()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/help.cpp
    functionUses: 0
    functionsReached:
    - update_Delete
    - Q_D
    linkageType: ''
    returnType: void
    signature: void UpdateModel::~UpdateModel()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:278,1
    - Dst: update_Check
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - explicitCheck
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 292
    functionName: UpdateModel::checkUpdate
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/help.cpp
    functionUses: 0
    functionsReached:
    - update_Check
    - Q_D
    linkageType: ''
    returnType: void
    signature: void UpdateModel::checkUpdate(bool explicitCheck)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:296,1
    - Dst: update_Download
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:299,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - destDir
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 301
    functionName: UpdateModel::download
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/help.cpp
    functionUses: 0
    functionsReached:
    - qtu
    - Q_D
    - update_Download
    linkageType: ''
    returnType: bool
    signature: bool UpdateModel::download(QString destDir)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QDir::tempPath
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:305,1
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:306,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:306,1
    - Dst: toNativeSepNoSlash
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:309,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:309,1
    - Dst: qDebug
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:310,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:310,1
    - Dst: UpdateModel::download
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 313
    functionName: UpdateModel::download
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/help.cpp
    functionUses: 1
    functionsReached:
    - QDir::tempPath
    - Q_UNLIKELY
    - QString::isEmpty
    - toNativeSepNoSlash
    - std::move
    - qtu
    - UpdateModel::download
    - qDebug
    linkageType: ''
    returnType: bool
    signature: bool UpdateModel::download()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 322
    functionName: UpdateModel::resetStatus
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/help.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    linkageType: ''
    returnType: void
    signature: void UpdateModel::resetStatus()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: UpdateModel::updateStatus
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/help.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateModel::Status
    signature: UpdateModel::Status UpdateModel::updateStatus() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 335
    functionName: UpdateModel::getMajor
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/help.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int UpdateModel::getMajor() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 341
    functionName: UpdateModel::getMinor
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/help.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int UpdateModel::getMinor() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 347
    functionName: UpdateModel::getRevision
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/help.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int UpdateModel::getRevision() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 353
    functionName: UpdateModel::getExtra
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/help.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int UpdateModel::getExtra() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 359
    functionName: UpdateModel::getDescription
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/help.cpp
    functionUses: 0
    functionsReached:
    - qfu
    linkageType: ''
    returnType: QString
    signature: QString UpdateModel::getDescription() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 365
    functionName: UpdateModel::getUrl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/help.cpp
    functionUses: 0
    functionsReached:
    - qfu
    linkageType: ''
    returnType: QString
    signature: QString UpdateModel::getUrl() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: UpdateModel::getProgress
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/help.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double UpdateModel::getProgress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 377
    functionName: UpdateModel::explicitCheck
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/help.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UpdateModel::explicitCheck() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 386
    functionName: UpdateModel::resetExplicitCheck
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/help.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    linkageType: ''
    returnType: void
    signature: void UpdateModel::resetExplicitCheck()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupUi
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:395,1
    - Dst: updateDialogButtonBox::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:396,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:396,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:396,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:398,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:398,1
    - Dst: updateDialogButtonBox::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:399,1
    - Dst: updateNotifyButtonBox::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:401,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:401,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:401,1
    - Dst: updateNotifyButtonBox::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:403,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:403,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:403,1
    - Dst: setWindowTitle
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:406,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:406,1
    - Dst: setWindowRole
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:407,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:409,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:410,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:412,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:413,1
    - Dst: setMinimumSize
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:415,1
    - Dst: setMaximumSize
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:416,1
    - Dst: restoreWidgetPosition
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:418,1
    - Dst: maximumSize
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:418,1
    - Dst: p_mi::getUpdateModel
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:420,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:421,1
    - Dst: UpdateDialog::updateUI
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - _p_intf
    argTypes:
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 424
    functionName: UpdateDialog::UpdateDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/help.cpp
    functionUses: 0
    functionsReached:
    - p_mi::getUpdateModel
    - setWindowRole
    - setWindowTitle
    - qtr
    - updateDialogButtonBox::addButton
    - updateNotifyButtonBox::addButton
    - BUTTONACT
    - connect
    - QPushButton::QPushButton
    - setMinimumSize
    - maximumSize
    - setMaximumSize
    - restoreWidgetPosition
    - UpdateDialog::updateUI
    - setupUi
    linkageType: ''
    returnType: void
    signature: void UpdateDialog::UpdateDialog( qt_intf_t *_p_intf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: saveWidgetPosition
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 429
    functionName: UpdateDialog::~UpdateDialog()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/help.cpp
    functionUses: 0
    functionsReached:
    - saveWidgetPosition
    linkageType: ''
    returnType: void
    signature: void UpdateDialog::~UpdateDialog()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:433,1
    - Dst: Q_LIKELY
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:435,1
    - Dst: QEvent*::type
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:437,1
    - Dst: resetExplicitCheck
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:443,1
    - Dst: item_event
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:450,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - event
    argTypes:
    - QEvent*
    assertStmts:
    - condition: (event)
      pos:
        line_end: 432
        line_start: 432
        source_file: /src/vlc/modules/gui/qt/dialogs/help/help.cpp
    constantsTouched: []
    func_position:
      end: 451
      start: 431
    functionDepth: 2
    functionLinenumber: 431
    functionLinenumberEnd: 451
    functionName: UpdateDialog::event
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/help.cpp
    functionUses: 0
    functionsReached:
    - Q_LIKELY
    - assert
    - item_event
    - QEvent*::type
    - resetExplicitCheck
    linkageType: ''
    returnType: bool
    signature: bool UpdateDialog::event(QEvent* event)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: updateStatus
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:456,1
    - Dst: stackedWidget::setCurrentWidget
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:461,1
    - Dst: checkUpdate
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:462,1
    - Dst: download
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:467,1
    - Dst: toggleVisible
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:468,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 474
    functionName: UpdateDialog::checkOrDownload
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/help.cpp
    functionUses: 0
    functionsReached:
    - toggleVisible
    - checkUpdate
    - download
    - stackedWidget::setCurrentWidget
    - updateStatus
    linkageType: ''
    returnType: void
    signature: void UpdateDialog::checkOrDownload()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: updateStatus
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:479,1
    - Dst: stackedWidget::setCurrentWidget
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:482,1
    - Dst: getExtra
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:483,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:484,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:485,1
    - Dst: getMajor
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:486,1
    - Dst: getMinor
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:487,1
    - Dst: getRevision
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:488,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:489,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:489,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:489,1
    - Dst: updateNotifyLabel::setText
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:491,1
    - Dst: getDescription
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:492,1
    - Dst: QString::indexOf
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:495,1
    - Dst: QString::insert
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:498,1
    - Dst: QString::insert
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:499,1
    - Dst: updateNotifyTextEdit::setHtml
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:501,1
    - Dst: stackedWidget::setCurrentWidget
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:506,1
    - Dst: updateDialogLabel::setText
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:507,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:508,1
    - Dst: stackedWidget::setCurrentWidget
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:513,1
    - Dst: updateDialogLabel::setText
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:514,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:515,1
    - Dst: stackedWidget::setCurrentWidget
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:520,1
    - Dst: updateDialogLabel::setText
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:521,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.cpp:522,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 534
    functionName: UpdateDialog::updateUI
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/help.cpp
    functionUses: 1
    functionsReached:
    - QString::insert
    - QStringLiteral
    - QString
    - QString::indexOf
    - getMinor
    - getRevision
    - updateNotifyTextEdit::setHtml
    - qtr
    - stackedWidget::setCurrentWidget
    - updateNotifyLabel::setText
    - updateDialogLabel::setText
    - getDescription
    - getExtra
    - vlclua_io_file_read_number
    - updateStatus
    - getMajor
    linkageType: ''
    returnType: void
    signature: void UpdateDialog::updateUI( )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toggleVisible
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.hpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: HelpDialog::close
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/help.hpp
    functionUses: 0
    functionsReached:
    - toggleVisible
    linkageType: ''
    returnType: void
    signature: void close() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.hpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/vlc/modules/gui/qt/dialogs/help/help.hpp
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: UpdateModel::_setExplicitCheck
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/help.hpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void _setExplicitCheck(bool) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toggleVisible
      Src: /src/vlc/modules/gui/qt/dialogs/help/help.hpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: UpdateDialog::close
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/help/help.hpp
    functionUses: 0
    functionsReached:
    - toggleVisible
    linkageType: ''
    returnType: void
    signature: void close() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setupUi
      Src: /src/vlc/modules/gui/qt/dialogs/podcast/podcast_configuration.cpp:32,1
    - Dst: podcastDelete::setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/podcast/podcast_configuration.cpp:34,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/podcast/podcast_configuration.cpp:34,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/podcast/podcast_configuration.cpp:35,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/podcast/podcast_configuration.cpp:35,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/podcast/podcast_configuration.cpp:36,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/podcast/podcast_configuration.cpp:36,1
    - Dst: okCancel::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/podcast/podcast_configuration.cpp:37,1
    - Dst: okCancel::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/podcast/podcast_configuration.cpp:38,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/podcast/podcast_configuration.cpp:40,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/podcast/podcast_configuration.cpp:41,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/podcast/podcast_configuration.cpp:42,1
    - Dst: config_GetPsz
      Src: /src/vlc/modules/gui/qt/dialogs/podcast/podcast_configuration.cpp:44,1
    - Dst: strchr
      Src: /src/vlc/modules/gui/qt/dialogs/podcast/podcast_configuration.cpp:50,1
    - Dst: podcastList::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/podcast/podcast_configuration.cpp:52,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/podcast/podcast_configuration.cpp:56,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - _p_intf
    argTypes:
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 58
    functionName: PodcastConfigDialog::PodcastConfigDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/podcast/podcast_configuration.cpp
    functionUses: 0
    functionsReached:
    - podcastDelete::setToolTip
    - strchr
    - okCancel::addButton
    - podcastList::addItem
    - qtr
    - connect
    - free
    - QPushButton::QPushButton
    - config_GetPsz
    - setupUi
    linkageType: ''
    returnType: void
    signature: void PodcastConfigDialog::PodcastConfigDialog( qt_intf_t *_p_intf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: PodcastConfigDialog::~PodcastConfigDialog()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/podcast/podcast_configuration.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PodcastConfigDialog::~PodcastConfigDialog()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: podcastList::count
      Src: /src/vlc/modules/gui/qt/dialogs/podcast/podcast_configuration.cpp:67,1
    - Dst: podcastList::item
      Src: /src/vlc/modules/gui/qt/dialogs/podcast/podcast_configuration.cpp:69,1
    - Dst: podcastList::count
      Src: /src/vlc/modules/gui/qt/dialogs/podcast/podcast_configuration.cpp:70,1
    - Dst: config_PutPsz
      Src: /src/vlc/modules/gui/qt/dialogs/podcast/podcast_configuration.cpp:72,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/podcast/podcast_configuration.cpp:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionName: PodcastConfigDialog::accept
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/podcast/podcast_configuration.cpp
    functionUses: 0
    functionsReached:
    - podcastList::item
    - qtu
    - config_PutPsz
    - podcastList::count
    linkageType: ''
    returnType: void
    signature: void PodcastConfigDialog::accept()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: podcastURL::text
      Src: /src/vlc/modules/gui/qt/dialogs/podcast/podcast_configuration.cpp:84,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/podcast/podcast_configuration.cpp:84,1
    - Dst: podcastList::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/podcast/podcast_configuration.cpp:86,1
    - Dst: podcastURL::text
      Src: /src/vlc/modules/gui/qt/dialogs/podcast/podcast_configuration.cpp:86,1
    - Dst: podcastURL::clear
      Src: /src/vlc/modules/gui/qt/dialogs/podcast/podcast_configuration.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: PodcastConfigDialog::add
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/podcast/podcast_configuration.cpp
    functionUses: 0
    functionsReached:
    - podcastList::addItem
    - podcastURL::clear
    - podcastURL::text
    - QString
    linkageType: ''
    returnType: void
    signature: void PodcastConfigDialog::add()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: podcastList::currentItem
      Src: /src/vlc/modules/gui/qt/dialogs/podcast/podcast_configuration.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: PodcastConfigDialog::remove
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/podcast/podcast_configuration.cpp
    functionUses: 0
    functionsReached:
    - podcastList::currentItem
    linkageType: ''
    returnType: void
    signature: void PodcastConfigDialog::remove()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ExpertPrefsTableModel *>
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.hpp:52,1
    - Dst: model
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.hpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: ExpertPrefsTable::myModel
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.hpp
    functionUses: 0
    functionsReached:
    - model
    - static_cast<ExpertPrefsTableModel *>
    linkageType: ''
    returnType: ExpertPrefsTableModel
    signature: ExpertPrefsTableModel *myModel()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: setAlternatingRowColors
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:53,1
    - Dst: setHeaderHidden
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:54,1
    - Dst: setIconSize
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:56,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:56,1
    - Dst: setTextElideMode
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:57,1
    - Dst: setUniformRowHeights
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:59,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:60,1
    - Dst: module_get_main
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:62,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:63,1
    - Dst: module_config_get
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:72,1
    - Dst: vlc_config_cat_FromSubcat
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:81,1
    - Dst: PrefsTree::findCatItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:87,1
    - Dst: PrefsTree::createCatNode
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:88,1
    - Dst: PrefsTree::findSubcatItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:96,1
    - Dst: PrefsTree::createSubcatNode
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:97,1
    - Dst: module_config_free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:99,1
    - Dst: module_is_main
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:108,1
    - Dst: module_config_get
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:112,1
    - Dst: vlc_config_cat_FromSubcat
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:125,1
    - Dst: CONFIG_ITEM
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:129,1
    - Dst: module_config_free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:137,1
    - Dst: PrefsTree::findCatItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:145,1
    - Dst: PrefsTree::createCatNode
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:147,1
    - Dst: PrefsTree::findSubcatItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:151,1
    - Dst: PrefsTree::createSubcatNode
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:153,1
    - Dst: PrefsTree::createPluginNode
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:155,1
    - Dst: sortItems
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:161,1
    - Dst: vlc_config_cat_Count
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:163,1
    - Dst: vlc_config_cat_GetAt
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:165,1
    - Dst: PrefsTree::findCatItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:166,1
    - Dst: indexOfTopLevelItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:169,1
    - Dst: insertTopLevelItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:172,1
    - Dst: takeTopLevelItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:172,1
    - Dst: expandItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:173,1
    - Dst: resizeColumnToContents
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:178,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 63
    argCount: 4
    argNames:
    - _p_intf
    - _parent
    - p_list
    - count
    argTypes:
    - qt_intf_t*
    - QWidget*
    - module_t**
    - size_t
    assertStmts:
    - condition: ( main_module )
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp
    constantsTouched: []
    func_position:
      end: 179
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 179
    functionName: PrefsTree::PrefsTree
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp
    functionUses: 0
    functionsReached:
    - takeTopLevelItem
    - assert
    - vlc_config_cat_GetAt
    - module_get_main
    - connect
    - PrefsTree::findSubcatItem
    - CONFIG_ITEM
    - expandItem
    - QSize
    - module_config_get
    - setIconSize
    - PrefsTree::createPluginNode
    - setTextElideMode
    - PrefsTree::findCatItem
    - PrefsTree::createCatNode
    - vlc_config_cat_Count
    - module_config_free
    - sortItems
    - vlc_config_cat_FromSubcat
    - setAlternatingRowColors
    - resizeColumnToContents
    - PrefsTree::createSubcatNode
    - indexOfTopLevelItem
    - module_is_main
    - setHeaderHidden
    - setUniformRowHeights
    - insertTopLevelItem
    linkageType: ''
    returnType: void
    signature: "void PrefsTree::PrefsTree( qt_intf_t *_p_intf, QWidget *_parent,\n
      \                     module_t **p_list, size_t count )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_config_cat_GetGeneralSubcat
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:183,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:184,1
    - Dst: PrefsTreeItem::PrefsTreeItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:186,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:191,1
    - Dst: vlc_config_subcat_GetName
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:191,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:192,1
    - Dst: vlc_config_subcat_GetHelp
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:192,1
    - Dst: CI
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:198,1
    - Dst: CI
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:199,1
    - Dst: CI
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:200,1
    - Dst: CI
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:201,1
    - Dst: CI
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:202,1
    - Dst: CI
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:203,1
    - Dst: CI
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:204,1
    - Dst: PrefsTreeItem*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:209,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:209,1
    - Dst: vlc_config_cat_GetName
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:209,1
    - Dst: PrefsTreeItem*::setIcon
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:210,1
    - Dst: addTopLevelItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:216,1
    - Dst: expandItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - cat
    argTypes:
    - enum vlc_config_cat
    assertStmts:
    - condition: (general_subcat != SUBCAT_UNKNOWN && general_subcat != SUBCAT_HIDDEN)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp
    constantsTouched: []
    func_position:
      end: 220
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 220
    functionName: PrefsTree::createCatNode
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp
    functionUses: 1
    functionsReached:
    - assert
    - vlc_config_subcat_GetName
    - vlc_config_subcat_GetHelp
    - PrefsTreeItem*::setIcon
    - expandItem
    - PrefsTreeItem::PrefsTreeItem
    - PrefsTreeItem*::setText
    - vlc_config_cat_GetName
    - vlc_config_cat_GetGeneralSubcat
    - qfu
    - addTopLevelItem
    - CI
    linkageType: ''
    returnType: QTreeWidgetItem
    signature: QTreeWidgetItem *PrefsTree::createCatNode( enum vlc_config_cat cat
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    functionName: CI
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CI(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:224,1
    - Dst: PrefsTreeItem::PrefsTreeItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:226,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:231,1
    - Dst: vlc_config_subcat_GetName
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:231,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:232,1
    - Dst: vlc_config_subcat_GetHelp
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:232,1
    - Dst: PrefsTreeItem*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:234,1
    - Dst: QTreeWidgetItem*::addChild
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - cat
    - subcat
    argTypes:
    - QTreeWidgetItem*
    - enum vlc_config_subcat
    assertStmts:
    - condition: ( cat )
      pos:
        line_end: 223
        line_start: 223
        source_file: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp
    constantsTouched: []
    func_position:
      end: 242
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 242
    functionName: PrefsTree::createSubcatNode
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp
    functionUses: 1
    functionsReached:
    - assert
    - vlc_config_subcat_GetName
    - vlc_config_subcat_GetHelp
    - PrefsTreeItem::PrefsTreeItem
    - PrefsTreeItem*::setText
    - qfu
    - QTreeWidgetItem*::addChild
    linkageType: ''
    returnType: QTreeWidgetItem
    signature: QTreeWidgetItem *PrefsTree::createSubcatNode( QTreeWidgetItem * cat,
      enum vlc_config_subcat subcat )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:246,1
    - Dst: PrefsTreeItem::PrefsTreeItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:248,1
    - Dst: strdup
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:253,1
    - Dst: module_get_object
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:253,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:254,1
    - Dst: module_get_name
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:254,1
    - Dst: module_get_help
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:255,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:257,1
    - Dst: module_get_help_html
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:258,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:260,1
    - Dst: PrefsTreeItem*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:262,1
    - Dst: QTreeWidgetItem*::addChild
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - parent
    - mod
    argTypes:
    - QTreeWidgetItem*
    - module_t*
    assertStmts:
    - condition: ( parent )
      pos:
        line_end: 245
        line_start: 245
        source_file: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp
    constantsTouched: []
    func_position:
      end: 266
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 266
    functionName: PrefsTree::createPluginNode
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp
    functionUses: 1
    functionsReached:
    - qfut
    - assert
    - strdup
    - module_get_name
    - module_get_help
    - module_get_object
    - PrefsTreeItem::PrefsTreeItem
    - module_get_help_html
    - PrefsTreeItem*::setText
    - QTreeWidgetItem*::addChild
    linkageType: ''
    returnType: void
    signature: void PrefsTree::createPluginNode( QTreeWidgetItem * parent, module_t
      *mod )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PrefsTree::catMap::find
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:270,1
    - Dst: std::end
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cat
    argTypes:
    - enum vlc_config_cat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 274
    functionName: PrefsTree::findCatItem
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp
    functionUses: 1
    functionsReached:
    - std::end
    - PrefsTree::catMap::find
    linkageType: ''
    returnType: QTreeWidgetItem
    signature: QTreeWidgetItem *PrefsTree::findCatItem( enum vlc_config_cat cat )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PrefsTree::subcatMap::find
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:278,1
    - Dst: std::end
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - subcat
    argTypes:
    - enum vlc_config_subcat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 282
    functionName: PrefsTree::findSubcatItem
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp
    functionUses: 1
    functionsReached:
    - PrefsTree::subcatMap::find
    - std::end
    linkageType: ''
    returnType: QTreeWidgetItem
    signature: QTreeWidgetItem *PrefsTree::findSubcatItem( enum vlc_config_subcat
      subcat )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: topLevelItemCount
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:286,1
    - Dst: PrefsTree::topLevelItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:289,1
    - Dst: PrefsTreeItem*::childCount
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:290,1
    - Dst: PrefsTreeItem*::child
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:293,1
    - Dst: PrefsTreeItem*::childCount
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:294,1
    - Dst: PrefsTreeItem*::child
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:297,1
    - Dst: PrefsTreeItem*::panel::apply
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:299,1
    - Dst: PrefsTreeItem*::panel::apply
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:302,1
    - Dst: PrefsTreeItem*::panel::apply
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:305,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 307
    functionName: PrefsTree::applyAll
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp
    functionUses: 0
    functionsReached:
    - topLevelItemCount
    - PrefsTreeItem*::childCount
    - PrefsTreeItem*::child
    - PrefsTree::topLevelItem
    - PrefsTreeItem*::panel::apply
    linkageType: ''
    returnType: void
    signature: void PrefsTree::applyAll()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PrefsTreeItem*::childCount
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:316,1
    - Dst: PrefsTreeItem*::child
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:318,1
    - Dst: PrefsTree::filterItems
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:319,1
    - Dst: PrefsTreeItem*::contains
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:326,1
    - Dst: PrefsTreeItem*::setHidden
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:329,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - item
    - text
    - cs
    argTypes:
    - PrefsTreeItem*
    - QString
    - Qt::CaseSensitivity
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 332
    functionName: PrefsTree::filterItems
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp
    functionUses: 1
    functionsReached:
    - PrefsTreeItem*::contains
    - PrefsTreeItem*::childCount
    - PrefsTreeItem*::child
    - PrefsTreeItem*::setHidden
    - PrefsTree::filterItems
    linkageType: ''
    returnType: bool
    signature: "bool PrefsTree::filterItems( PrefsTreeItem *item, const QString &text,\n
      \                          Qt::CaseSensitivity cs )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefsTreeItem*::setHidden
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:336,1
    - Dst: PrefsTreeItem*::childCount
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:337,1
    - Dst: PrefsTree::unfilterItems
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:338,1
    - Dst: PrefsTreeItem*::child
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - item
    argTypes:
    - PrefsTreeItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 339
    functionName: PrefsTree::unfilterItems
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp
    functionUses: 1
    functionsReached:
    - PrefsTreeItem*::child
    - PrefsTreeItem*::childCount
    - PrefsTree::unfilterItems
    - PrefsTreeItem*::setHidden
    linkageType: ''
    returnType: void
    signature: void PrefsTree::unfilterItems( PrefsTreeItem *item )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_ASSERT
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:343,1
    - Dst: vlc_object_get_name
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:344,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:345,1
    - Dst: QSet<QString>*::insert
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:345,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:345,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:346,1
    - Dst: vlc_object_t::vlc_object_t
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:355,1
    - Dst: vlc_list_children
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:356,1
    - Dst: populateLoadedSet
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:362,1
    - Dst: vlc_object_release
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:363,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - loaded
    - p_node
    argTypes:
    - QSet<QString>*
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 367
    functionName: populateLoadedSet
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp
    functionUses: 1
    functionsReached:
    - vlc_object_get_name
    - QString
    - Q_ASSERT
    - vlc_object_release
    - vlc_list_children
    - free
    - populateLoadedSet
    - EMPTY_STR
    - QSet<QString>*::insert
    - vlc_object_t::vlc_object_t
    linkageType: ''
    returnType: void
    signature: void populateLoadedSet( QSet<QString> *loaded, vlc_object_t *p_node
      )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:378,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:378,1
    - Dst: QSet<QString>::QSet<QString>
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:379,1
    - Dst: populateLoadedSet
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:380,1
    - Dst: topLevelItemCount
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:386,1
    - Dst: PrefsTree::updateLoadedStatus
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:387,1
    - Dst: PrefsTree::topLevelItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:387,1
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:392,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:392,1
    - Dst: childCount
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:394,1
    - Dst: PrefsTree::updateLoadedStatus
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:395,1
    - Dst: child
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:395,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 400
    functionName: PrefsTree::updateLoadedStatus
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp
    functionUses: 1
    functionsReached:
    - QSet<QString>::QSet<QString>
    - topLevelItemCount
    - QString
    - childCount
    - vlc_object_instance
    - child
    - populateLoadedSet
    - PrefsTree::topLevelItem
    - VLC_OBJECT
    - PrefsTree::updateLoadedStatus
    - contains
    linkageType: ''
    returnType: void
    signature: "void PrefsTree::updateLoadedStatus( PrefsTreeItem *item = NULL,\n
      \                                   QSet<QString> *loaded = NULL )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:405,1
    - Dst: PrefsTree::updateLoadedStatus
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:407,1
    - Dst: topLevelItemCount
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:409,1
    - Dst: PrefsTree::topLevelItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:411,1
    - Dst: PrefsTree::unfilterItems
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:413,1
    - Dst: PrefsTree::filterItems
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - text
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 403
    functionDepth: 3
    functionLinenumber: 403
    functionLinenumberEnd: 417
    functionName: PrefsTree::filter
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp
    functionUses: 0
    functionsReached:
    - topLevelItemCount
    - QString::isEmpty
    - PrefsTree::unfilterItems
    - PrefsTree::topLevelItem
    - PrefsTree::updateLoadedStatus
    - PrefsTree::filterItems
    linkageType: ''
    returnType: void
    signature: void PrefsTree::filter( const QString &text )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefsTree::filter
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b_only
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 419
    functionDepth: 4
    functionLinenumber: 419
    functionLinenumberEnd: 423
    functionName: PrefsTree::setLoadedOnly
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp
    functionUses: 0
    functionsReached:
    - PrefsTree::filter
    linkageType: ''
    returnType: void
    signature: void PrefsTree::setLoadedOnly( bool b_only )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resizeColumnToContents
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: PrefsTree::resizeColumns
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp
    functionUses: 0
    functionsReached:
    - resizeColumnToContents
    linkageType: ''
    returnType: void
    signature: void PrefsTree::resizeColumns()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ty
    argTypes:
    - PrefsTreeItemType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 439
    functionName: PrefsTreeItem::PrefsTreeItem
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrefsTreeItem::PrefsTreeItem( PrefsTreeItemType ty )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:453,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:453,1
    - Dst: module_GetLongName
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:453,1
    - Dst: PrefsTreeItem::contains
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:455,1
    - Dst: QString::contains
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:456,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:457,1
    - Dst: PrefsTreeItem::contains
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:457,1
    - Dst: PrefsTreeItem::contains
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:457,1
    - Dst: module_config_get
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:466,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:508,1
    - Dst: module_config_free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:517,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 38
    argCount: 2
    argNames:
    - text
    - cs
    argTypes:
    - QString
    - Qt::CaseSensitivity
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 519
    functionName: PrefsTreeItem::contains
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp
    functionUses: 1
    functionsReached:
    - qfut
    - module_GetLongName
    - QString
    - QString::contains
    - isEmpty
    - module_config_free
    - PrefsTreeItem::contains
    - module_config_get
    linkageType: ''
    returnType: bool
    signature: bool PrefsTreeItem::contains( const QString &text, Qt::CaseSensitivity
      cs )
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: module_config_get
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:532,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:540,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:553,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:553,1
    - Dst: module_GetLongName
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:553,1
    - Dst: QVBoxLayout::QVBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:557,1
    - Dst: setContentsMargins
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:558,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:560,1
    - Dst: SetSoundfont
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:561,1
    - Dst: QFont::setPointSize
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:562,1
    - Dst: QFont::pointSize
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:562,1
    - Dst: QLabel*::setFont
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:563,1
    - Dst: QFrame::QFrame
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:566,1
    - Dst: QFrame*::setFrameShape
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:567,1
    - Dst: QFrame*::setFrameShadow
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:568,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:570,1
    - Dst: QLabel*::setWordWrap
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:571,1
    - Dst: PrefsTreeItem*::help_html::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:572,1
    - Dst: QLabel*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:574,1
    - Dst: QLabel*::setTextFormat
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:575,1
    - Dst: QLabel*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:579,1
    - Dst: QLabel*::setTextFormat
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:580,1
    - Dst: QLabel*::setOpenExternalLinks
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:581,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:584,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:585,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:586,1
    - Dst: QScrollArea::QScrollArea
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:591,1
    - Dst: QScrollArea*::setFrameStyle
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:592,1
    - Dst: QWidget::QWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:593,1
    - Dst: QGridLayout::QGridLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:595,1
    - Dst: QGroupBox*::setLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:613,1
    - Dst: QGroupBox*::show
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:614,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:615,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:619,1
    - Dst: QGroupBox::QGroupBox
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:619,1
    - Dst: QGroupBox*::hide
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:620,1
    - Dst: QGridLayout::QGridLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:621,1
    - Dst: ConfigControl::createControl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:634,1
    - Dst: ConfigControl::createControl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:637,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:644,1
    - Dst: QGroupBox*::setLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:649,1
    - Dst: QGroupBox*::show
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:650,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:651,1
    - Dst: QWidget*::setSizePolicy
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:654,1
    - Dst: QWidget*::setLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:655,1
    - Dst: QScrollArea*::setWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:656,1
    - Dst: QScrollArea*::setWidgetResizable
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:657,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:658,1
    - Dst: setLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:659,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 77
    argCount: 3
    argNames:
    - _p_intf
    - _parent
    - node
    argTypes:
    - qt_intf_t*
    - QWidget*
    - PrefsTreeItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 660
    functionName: AdvPrefsPanel::AdvPrefsPanel
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp
    functionUses: 0
    functionsReached:
    - QString
    - QLabel*::setText
    - QGroupBox*::show
    - QGridLayout*::addWidget
    - QScrollArea::QScrollArea
    - QLabel::QLabel
    - SetSoundfont
    - QLabel*::setTextFormat
    - module_config_get
    - QScrollArea*::setFrameStyle
    - QScrollArea*::setWidget
    - QGridLayout::QGridLayout
    - ConfigControl::createControl
    - QFont::pointSize
    - QGroupBox*::hide
    - QFrame::QFrame
    - QFrame*::setFrameShape
    - QFrame*::setFrameShadow
    - PrefsTreeItem*::help_html::isEmpty
    - QWidget*::setLayout
    - QVBoxLayout::QVBoxLayout
    - addWidget
    - QLabel*::setFont
    - append
    - QLabel*::setOpenExternalLinks
    - QWidget::QWidget
    - setLayout
    - QScrollArea*::setWidgetResizable
    - qfut
    - module_GetLongName
    - setContentsMargins
    - QGroupBox*::setLayout
    - QGroupBox::QGroupBox
    - QWidget*::setSizePolicy
    - QFont::setPointSize
    - QLabel*::setWordWrap
    linkageType: ''
    returnType: void
    signature: "void AdvPrefsPanel::AdvPrefsPanel( qt_intf_t *_p_intf, QWidget *_parent,\n
      \                       PrefsTreeItem * node )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doApply
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 666
    functionName: AdvPrefsPanel::apply
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp
    functionUses: 0
    functionsReached:
    - doApply
    linkageType: ''
    returnType: void
    signature: void AdvPrefsPanel::apply()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 669
    functionName: AdvPrefsPanel::clean
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AdvPrefsPanel::clean()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qDeleteAll
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:673,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:674,1
    - Dst: module_config_free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 676
    functionName: AdvPrefsPanel::~AdvPrefsPanel()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.cpp
    functionUses: 0
    functionsReached:
    - module_config_free
    - clear
    - qDeleteAll
    linkageType: ''
    returnType: void
    signature: void AdvPrefsPanel::~AdvPrefsPanel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setSelectionBehavior
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:52,1
    - Dst: setSelectionMode
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:53,1
    - Dst: setAlternatingRowColors
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:54,1
    - Dst: setStyleSheet
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:56,1
    - Dst: ExpertPrefsEditDialog::ExpertPrefsEditDialog
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:59,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:61,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:64,1
    - Dst: QAction::QAction
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:64,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:65,1
    - Dst: QAction::QAction
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:65,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:66,1
    - Dst: QAction::QAction
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:66,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:67,1
    - Dst: QAction::QAction
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:67,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:68,1
    - Dst: QAction::QAction
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:68,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:70,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:71,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:72,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:73,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 75
    functionName: ExpertPrefsTable::ExpertPrefsTable
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp
    functionUses: 0
    functionsReached:
    - setSelectionBehavior
    - setSelectionMode
    - qtr
    - ExpertPrefsEditDialog::ExpertPrefsEditDialog
    - connect
    - QAction::QAction
    - setAlternatingRowColors
    - setStyleSheet
    linkageType: ''
    returnType: void
    signature: void ExpertPrefsTable::ExpertPrefsTable( QWidget *parent )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: model
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: ExpertPrefsTable::applyAll
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp
    functionUses: 0
    functionsReached:
    - model
    linkageType: ''
    returnType: void
    signature: void ExpertPrefsTable::applyAll()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:85,1
    - Dst: ExpertPrefsTable::myModel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:87,1
    - Dst: ExpertPrefsTableModel*::rowCount
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:88,1
    - Dst: ExpertPrefsTableModel*::itemAt
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:90,1
    - Dst: ExpertPrefsTableItem*::matchesDefault
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:91,1
    - Dst: ExpertPrefsTableItem*::contains
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:92,1
    - Dst: setRowHidden
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:93,1
    - Dst: QModelIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - text
    - modified_only
    argTypes:
    - QString
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 95
    functionName: ExpertPrefsTable::filter
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp
    functionUses: 0
    functionsReached:
    - ExpertPrefsTableItem*::contains
    - ExpertPrefsTableModel*::rowCount
    - QModelIndex
    - ExpertPrefsTableModel*::itemAt
    - QString::isEmpty
    - ExpertPrefsTable::myModel
    - ExpertPrefsTableItem*::matchesDefault
    - setRowHidden
    linkageType: ''
    returnType: void
    signature: void ExpertPrefsTable::filter( const QString &text, bool modified_only
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:100,1
    - Dst: QModelIndex::isValid
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:101,1
    - Dst: isRowHidden
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:101,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:101,1
    - Dst: QModelIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:101,1
    - Dst: QContextMenuEvent*::reason
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:104,1
    - Dst: indexAt
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:105,1
    - Dst: viewport
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:105,1
    - Dst: QContextMenuEvent*::globalPos
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:105,1
    - Dst: ExpertPrefsTable::myModel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:108,1
    - Dst: QMenu::QMenu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:110,1
    - Dst: QMenu*::setAttribute
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:111,1
    - Dst: CONFIG_CLASS
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:113,1
    - Dst: ExpertPrefsTableItem*::getType
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:113,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:114,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:116,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:117,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:118,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:119,1
    - Dst: setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:120,1
    - Dst: ExpertPrefsTableItem*::getType
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:120,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:121,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:122,1
    - Dst: setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:123,1
    - Dst: ExpertPrefsTableItem*::matchesDefault
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:123,1
    - Dst: QMenu*::popup
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:125,1
    - Dst: QContextMenuEvent*::globalPos
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - event
    argTypes:
    - QContextMenuEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 126
    functionName: ExpertPrefsTable::contextMenuEvent
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp
    functionUses: 0
    functionsReached:
    - isRowHidden
    - QMenu*::popup
    - QMenu*::addSeparator
    - indexAt
    - CONFIG_CLASS
    - ExpertPrefsTable::myModel
    - viewport
    - QContextMenuEvent*::reason
    - QMenu::QMenu
    - QMenu*::setAttribute
    - QModelIndex::isValid
    - QContextMenuEvent*::globalPos
    - ExpertPrefsTableItem*::matchesDefault
    - setEnabled
    - QMenu*::addAction
    - QModelIndex
    - ExpertPrefsTableItem*::getType
    - QModelIndex::row
    - currentIndex
    linkageType: ''
    returnType: void
    signature: void ExpertPrefsTable::contextMenuEvent( QContextMenuEvent *event )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:131,1
    - Dst: QModelIndex::isValid
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:132,1
    - Dst: ExpertPrefsTable::myModel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: ExpertPrefsTable::resetItem
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::isValid
    - currentIndex
    - ExpertPrefsTable::myModel
    linkageType: ''
    returnType: void
    signature: void ExpertPrefsTable::resetItem()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExpertPrefsTable::toggleItemPrivate
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:139,1
    - Dst: currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: ExpertPrefsTable::toggleItem
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp
    functionUses: 0
    functionsReached:
    - currentIndex
    - ExpertPrefsTable::toggleItemPrivate
    linkageType: ''
    returnType: void
    signature: void ExpertPrefsTable::toggleItem()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::isValid
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:145,1
    - Dst: ExpertPrefsTable::myModel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: ExpertPrefsTable::toggleItemPrivate
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp
    functionUses: 1
    functionsReached:
    - QModelIndex::isValid
    - ExpertPrefsTable::myModel
    linkageType: ''
    returnType: void
    signature: void ExpertPrefsTable::toggleItemPrivate( const QModelIndex &index
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:152,1
    - Dst: QModelIndex::isValid
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:153,1
    - Dst: ExpertPrefsTable::modifyItemPrivate
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 156
    functionName: ExpertPrefsTable::modifyItem
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::isValid
    - currentIndex
    - ExpertPrefsTable::modifyItemPrivate
    linkageType: ''
    returnType: void
    signature: void ExpertPrefsTable::modifyItem()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ExpertPrefsTable::myModel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:160,1
    - Dst: ExpertPrefsTableItem*::getConfig
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:161,1
    - Dst: ExpertPrefsTableItem*::getType
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:165,1
    - Dst: SystemPalette::getColor
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:167,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:167,1
    - Dst: QColor::isValid
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:168,1
    - Dst: QColor::red
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:170,1
    - Dst: QColor::green
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:170,1
    - Dst: QColor::blue
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:170,1
    - Dst: ExpertPrefsTableItem*::updateMatchesDefault
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:171,1
    - Dst: ExpertPrefsTableItem*::updateValueDisplayString
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:172,1
    - Dst: ExpertPrefsTable::myModel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:173,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:173,1
    - Dst: ConfigControl::createControl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:178,1
    - Dst: setControl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:179,1
    - Dst: exec
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - index
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 182
    functionName: ExpertPrefsTable::modifyItemPrivate
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp
    functionUses: 1
    functionsReached:
    - ExpertPrefsTableItem*::getConfig
    - QColor
    - ExpertPrefsTableItem*::updateValueDisplayString
    - ConfigControl::createControl
    - SystemPalette::getColor
    - ExpertPrefsTableItem*::getType
    - ExpertPrefsTable::myModel
    - exec
    - QModelIndex::row
    - QColor::red
    - setControl
    - QColor::blue
    - QColor::isValid
    - QColor::green
    - ExpertPrefsTableItem*::updateMatchesDefault
    linkageType: ''
    returnType: void
    signature: void ExpertPrefsTable::modifyItemPrivate( const QModelIndex &index
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:186,1
    - Dst: QModelIndex::isValid
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:187,1
    - Dst: QGuiApplication::clipboard
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:190,1
    - Dst: ExpertPrefsTable::myModel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:192,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:192,1
    - Dst: QClipboard*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:193,1
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 194
    functionName: ExpertPrefsTable::copyItemName
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::data
    - QGuiApplication::clipboard
    - ExpertPrefsTable::myModel
    - QModelIndex::row
    - QClipboard*::setText
    - QModelIndex::isValid
    - currentIndex
    linkageType: ''
    returnType: void
    signature: void ExpertPrefsTable::copyItemName()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:198,1
    - Dst: QModelIndex::isValid
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:199,1
    - Dst: QGuiApplication::clipboard
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:202,1
    - Dst: QClipboard*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:203,1
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: ExpertPrefsTable::copyItemValue
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::data
    - QGuiApplication::clipboard
    - QClipboard*::setText
    - QModelIndex::isValid
    - currentIndex
    linkageType: ''
    returnType: void
    signature: void ExpertPrefsTable::copyItemValue()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:208,1
    - Dst: ExpertPrefsTable::toggleItemPrivate
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:210,1
    - Dst: ExpertPrefsTable::myModel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:211,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:211,1
    - Dst: ExpertPrefsTable::modifyItemPrivate
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 215
    functionName: ExpertPrefsTable::doubleClicked
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::data
    - ExpertPrefsTable::modifyItemPrivate
    - ExpertPrefsTable::myModel
    - QModelIndex::row
    - ExpertPrefsTable::toggleItemPrivate
    linkageType: ''
    returnType: void
    signature: void ExpertPrefsTable::doubleClicked( const QModelIndex &index )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setWindowTitle
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:227,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:227,1
    - Dst: setWindowRole
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:228,1
    - Dst: setWindowModality
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:229,1
    - Dst: setMinimumSize
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:231,1
    - Dst: QVBoxLayout::QVBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:233,1
    - Dst: QDialogButtonBox::QDialogButtonBox
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:235,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:236,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:236,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:237,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:237,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:238,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:239,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:240,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:242,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:243,1
    - Dst: setLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - _table
    argTypes:
    - ExpertPrefsTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 246
    functionName: ExpertPrefsEditDialog::ExpertPrefsEditDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp
    functionUses: 1
    functionsReached:
    - addWidget
    - QDialogButtonBox::QDialogButtonBox
    - setWindowRole
    - setWindowTitle
    - qtr
    - QDialogButtonBox*::addButton
    - connect
    - setMinimumSize
    - QPushButton::QPushButton
    - setLayout
    - setWindowModality
    - QVBoxLayout::QVBoxLayout
    linkageType: ''
    returnType: void
    signature: void ExpertPrefsEditDialog::ExpertPrefsEditDialog( ExpertPrefsTable
      *_table )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QWidget::QWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:252,1
    - Dst: setSizePolicy
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:253,1
    - Dst: QVBoxLayout::QVBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:254,1
    - Dst: insertInto
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:255,1
    - Dst: insertWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - control_
    - table_item_
    argTypes:
    - ConfigControl*
    - ExpertPrefsTableItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 257
    functionName: ExpertPrefsEditDialog::setControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp
    functionUses: 0
    functionsReached:
    - insertWidget
    - setSizePolicy
    - QWidget::QWidget
    - insertInto
    - QVBoxLayout::QVBoxLayout
    linkageType: ''
    returnType: void
    signature: void ExpertPrefsEditDialog::setControl( ConfigControl *control_, ExpertPrefsTableItem
      *table_item_ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 266
    functionName: ExpertPrefsEditDialog::clearControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExpertPrefsEditDialog::clearControl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: storeValue
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:270,1
    - Dst: updateMatchesDefault
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:271,1
    - Dst: updateValueDisplayString
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:272,1
    - Dst: ExpertPrefsEditDialog::clearControl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:273,1
    - Dst: vlclua_net_accept
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 268
    functionDepth: 5
    functionLinenumber: 268
    functionLinenumberEnd: 275
    functionName: ExpertPrefsEditDialog::accept
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp
    functionUses: 0
    functionsReached:
    - ExpertPrefsEditDialog::clearControl
    - updateValueDisplayString
    - vlclua_net_accept
    - updateMatchesDefault
    - storeValue
    linkageType: ''
    returnType: void
    signature: void ExpertPrefsEditDialog::accept()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExpertPrefsEditDialog::clearControl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:279,1
    - Dst: FirstRunWizard::reject
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: ExpertPrefsEditDialog::reject
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_view.cpp
    functionUses: 0
    functionsReached:
    - ExpertPrefsEditDialog::clearControl
    - FirstRunWizard::reject
    linkageType: ''
    returnType: void
    signature: void ExpertPrefsEditDialog::reject()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CONFIG_CLASS
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:58,1
    - Dst: ExpertPrefsTableItem::getType
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:58,1
    - Dst: strdup
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:61,1
    - Dst: QString::length
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:68,1
    - Dst: QString::length
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:69,1
    - Dst: QString::startsWith
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:70,1
    - Dst: QString::remove
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:71,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:72,1
    - Dst: replace
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:75,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:78,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:79,1
    - Dst: ExpertPrefsTableItem::updateMatchesDefault
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:81,1
    - Dst: ExpertPrefsTableItem::updateValueDisplayString
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - config
    - mod_name
    - mod_name_pretty
    - is_core
    argTypes:
    - module_config_t*
    - QString
    - QString
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 83
    functionName: ExpertPrefsTableItem::ExpertPrefsTableItem
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp
    functionUses: 0
    functionsReached:
    - CONFIG_CLASS
    - strdup
    - ExpertPrefsTableItem::getType
    - QString
    - replace
    - ExpertPrefsTableItem::updateMatchesDefault
    - QString::remove
    - QString::length
    - QString::startsWith
    - ExpertPrefsTableItem::updateValueDisplayString
    linkageType: ''
    returnType: void
    signature: "void ExpertPrefsTableItem::ExpertPrefsTableItem( module_config_t *config,\n
      \                                           const QString &mod_name,\n                                            const
      QString &mod_name_pretty,\n                                            bool
      is_core )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONFIG_CLASS
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:87,1
    - Dst: ExpertPrefsTableItem::getType
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:87,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: ExpertPrefsTableItem::~ExpertPrefsTableItem()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp
    functionUses: 0
    functionsReached:
    - free
    - CONFIG_CLASS
    - ExpertPrefsTableItem::getType
    linkageType: ''
    returnType: void
    signature: void ExpertPrefsTableItem::~ExpertPrefsTableItem()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:96,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:99,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:101,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 106
    functionName: '&ExpertPrefsTableItem::getDescription()'
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp
    functionUses: 0
    functionsReached:
    - qfut
    - QStringLiteral
    - isNull
    linkageType: ''
    returnType: QString
    signature: QString &ExpertPrefsTableItem::getDescription()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CONFIG_CLASS
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:110,1
    - Dst: ExpertPrefsTableItem::getType
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:110,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:128,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:132,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 135
    functionName: ExpertPrefsTableItem::updateMatchesDefault
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp
    functionUses: 1
    functionsReached:
    - strcmp
    - CONFIG_CLASS
    - ExpertPrefsTableItem::getType
    - vlc_assert_unreachable
    linkageType: ''
    returnType: void
    signature: void ExpertPrefsTableItem::updateMatchesDefault()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CONFIG_CLASS
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:139,1
    - Dst: ExpertPrefsTableItem::getType
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:139,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:145,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:150,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:151,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:154,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:160,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:162,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 167
    functionName: ExpertPrefsTableItem::updateValueDisplayString
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp
    functionUses: 1
    functionsReached:
    - QStringLiteral
    - CONFIG_CLASS
    - ExpertPrefsTableItem::getType
    - QString
    linkageType: ''
    returnType: void
    signature: void ExpertPrefsTableItem::updateValueDisplayString()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONFIG_CLASS
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:172,1
    - Dst: ExpertPrefsTableItem::getType
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:172,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:174,1
    - Dst: strdup
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:175,1
    - Dst: ExpertPrefsTableItem::updateValueDisplayString
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 182
    functionName: ExpertPrefsTableItem::setToDefault
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp
    functionUses: 0
    functionsReached:
    - CONFIG_CLASS
    - strdup
    - ExpertPrefsTableItem::getType
    - free
    - ExpertPrefsTableItem::updateValueDisplayString
    linkageType: ''
    returnType: void
    signature: void ExpertPrefsTableItem::setToDefault()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:186,1
    - Dst: CONFIG_CLASS
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:186,1
    - Dst: ExpertPrefsTableItem::getType
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:186,1
    - Dst: ExpertPrefsTableItem::updateMatchesDefault
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( CONFIG_CLASS( getType() ) == CONFIG_ITEM_BOOL )
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: ExpertPrefsTableItem::toggleBoolean
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp
    functionUses: 0
    functionsReached:
    - ExpertPrefsTableItem::updateMatchesDefault
    - CONFIG_CLASS
    - assert
    - ExpertPrefsTableItem::getType
    linkageType: ''
    returnType: void
    signature: void ExpertPrefsTableItem::toggleBoolean()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExpertPrefsTableItem::contains
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:196,1
    - Dst: ExpertPrefsTableItem::contains
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - text
    - cs
    argTypes:
    - QString
    - Qt::CaseSensitivity
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: ExpertPrefsTableItem::contains
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp
    functionUses: 1
    functionsReached:
    - ExpertPrefsTableItem::contains
    linkageType: ''
    returnType: bool
    signature: bool ExpertPrefsTableItem::contains( const QString &text, Qt::CaseSensitivity
      cs )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:207,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:208,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:209,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:210,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:211,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:212,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:213,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:214,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:215,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:216,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:217,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:218,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:219,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:220,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:221,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:222,1
    - Dst: reserve
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:224,1
    - Dst: module_config_get
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:230,1
    - Dst: module_config_free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:234,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:237,1
    - Dst: module_is_main
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:239,1
    - Dst: module_get_object
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:240,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:241,1
    - Dst: module_GetShortName
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:241,1
    - Dst: CONFIG_ITEM
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:261,1
    - Dst: ExpertPrefsTableItem::ExpertPrefsTableItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:264,1
    - Dst: CONFIG_CLASS
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:266,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:274,1
    - Dst: ExpertPrefsTableItem*::name::compare
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:276,1
    - Dst: insert
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:280,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 3
    argNames:
    - mod_list
    - mod_count
    - parent_
    argTypes:
    - module_t**
    - size_t
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 284
    functionName: ExpertPrefsTableModel::ExpertPrefsTableModel
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp
    functionUses: 0
    functionsReached:
    - append
    - module_is_main
    - CONFIG_CLASS
    - reserve
    - module_GetShortName
    - ExpertPrefsTableItem::ExpertPrefsTableItem
    - qtr
    - count
    - insert
    - module_get_object
    - module_config_free
    - CONFIG_ITEM
    - ExpertPrefsTableItem*::name::compare
    - module_config_get
    linkageType: ''
    returnType: void
    signature: "void ExpertPrefsTableModel::ExpertPrefsTableModel( module_t **mod_list,
      size_t mod_count,\n                                              QWidget *parent_
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:291,1
    - Dst: module_config_free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 294
    functionName: ExpertPrefsTableModel::~ExpertPrefsTableModel()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp
    functionUses: 0
    functionsReached:
    - module_config_free
    - clear
    linkageType: ''
    returnType: void
    signature: void ExpertPrefsTableModel::~ExpertPrefsTableModel()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:302,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:303,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:304,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:305,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - section
    - orientation
    - role
    argTypes:
    - int
    - Qt::Orientation
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 309
    functionName: ExpertPrefsTableModel::headerData
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp
    functionUses: 0
    functionsReached:
    - QVariant
    - qtr
    linkageType: ''
    returnType: QVariant
    signature: QVariant ExpertPrefsTableModel::headerData(int section, Qt::Orientation
      orientation, int role) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::isValid
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:313,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: ExpertPrefsTableModel::rowCount
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp
    functionUses: 0
    functionsReached:
    - count
    - QModelIndex::isValid
    linkageType: ''
    returnType: int
    signature: int ExpertPrefsTableModel::rowCount( const QModelIndex &parent ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::isValid
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: ExpertPrefsTableModel::columnCount
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::isValid
    linkageType: ''
    returnType: int
    signature: int ExpertPrefsTableModel::columnCount( const QModelIndex &parent )
      const
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: ExpertPrefsTableModel::itemAt
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:323,1
    - Dst: QModelIndex::column
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:328,1
    - Dst: QFont
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:360,1
    - Dst: QFont::setBold
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:361,1
    - Dst: CONFIG_CLASS
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:365,1
    - Dst: ExpertPrefsTableItem*::getType
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:365,1
    - Dst: CONFIG_CLASS
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:368,1
    - Dst: ExpertPrefsTableItem*::getType
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:368,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:372,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:373,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:375,1
    - Dst: ExpertPrefsTableItem*::getType
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:379,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:380,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:381,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:383,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:383,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:390,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 82
    argCount: 2
    argNames:
    - index
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 391
    functionName: ExpertPrefsTableModel::data
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp
    functionUses: 0
    functionsReached:
    - QStringLiteral
    - QVariant
    - CONFIG_CLASS
    - QString
    - QModelIndex::column
    - ExpertPrefsTableItem*::getType
    - QFont
    - QFont::setBold
    - qfu
    - ExpertPrefsTableModel::itemAt
    linkageType: ''
    returnType: QVariant
    signature: QVariant ExpertPrefsTableModel::data( const QModelIndex &index, int
      role ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExpertPrefsTableModel::itemAt
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:395,1
    - Dst: ExpertPrefsTableItem*::toggleBoolean
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:396,1
    - Dst: ExpertPrefsTableModel::notifyUpdatedRow
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:399,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 400
    functionName: ExpertPrefsTableModel::toggleBoolean
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::row
    - ExpertPrefsTableModel::notifyUpdatedRow
    - ExpertPrefsTableItem*::toggleBoolean
    - ExpertPrefsTableModel::itemAt
    linkageType: ''
    returnType: void
    signature: void ExpertPrefsTableModel::toggleBoolean( const QModelIndex &index
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ExpertPrefsTableModel::itemAt
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:404,1
    - Dst: ExpertPrefsTableItem*::setToDefault
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:405,1
    - Dst: CONFIG_CLASS
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:406,1
    - Dst: ExpertPrefsTableModel::notifyUpdatedRow
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:411,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 412
    functionName: ExpertPrefsTableModel::setItemToDefault
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp
    functionUses: 0
    functionsReached:
    - CONFIG_CLASS
    - QModelIndex::row
    - ExpertPrefsTableModel::notifyUpdatedRow
    - ExpertPrefsTableItem*::setToDefault
    - ExpertPrefsTableModel::itemAt
    linkageType: ''
    returnType: void
    signature: void ExpertPrefsTableModel::setItemToDefault( const QModelIndex &index
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: index
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:416,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - row
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 417
    functionName: ExpertPrefsTableModel::notifyUpdatedRow
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp
    functionUses: 2
    functionsReached:
    - index
    linkageType: ''
    returnType: void
    signature: void ExpertPrefsTableModel::notifyUpdatedRow( int row )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:421,1
    - Dst: CONFIG_CLASS
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:426,1
    - Dst: ExpertPrefsTableItem*::getType
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:426,1
    - Dst: config_PutInt
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:430,1
    - Dst: config_PutFloat
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:433,1
    - Dst: config_PutPsz
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp:436,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 441
    functionName: ExpertPrefsTableModel::submit
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.cpp
    functionUses: 0
    functionsReached:
    - config_PutPsz
    - CONFIG_CLASS
    - ExpertPrefsTableItem*::getType
    - count
    - config_PutInt
    - config_PutFloat
    linkageType: ''
    returnType: bool
    signature: bool ExpertPrefsTableModel::submit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QString::replace
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' tooltip'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 86
    functionName: formatTooltip
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - QString::replace
    linkageType: ''
    returnType: QString
    signature: QString formatTooltip(const QString & tooltip)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: StringListConfigControl::StringListConfigControl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:96,1
    - Dst: ModuleConfigControl::ModuleConfigControl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:99,1
    - Dst: ModuleListConfigControl::ModuleListConfigControl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:102,1
    - Dst: ModuleListConfigControl::ModuleListConfigControl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:105,1
    - Dst: StringListConfigControl::StringListConfigControl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:109,1
    - Dst: StringConfigControl::StringConfigControl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:111,1
    - Dst: PasswordConfigControl::PasswordConfigControl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:114,1
    - Dst: ColorConfigControl::ColorConfigControl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:117,1
    - Dst: IntegerListConfigControl::IntegerListConfigControl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:121,1
    - Dst: IntegerRangeConfigControl::IntegerRangeConfigControl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:123,1
    - Dst: FileConfigControl::FileConfigControl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:127,1
    - Dst: DirectoryConfigControl::DirectoryConfigControl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:130,1
    - Dst: FontConfigControl::FontConfigControl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:133,1
    - Dst: KeySelectorControl::KeySelectorControl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:136,1
    - Dst: BoolConfigControl::BoolConfigControl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:139,1
    - Dst: FloatRangeConfigControl::FloatRangeConfigControl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:142,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 2
    argNames:
    - p_item
    - parent
    argTypes:
    - module_config_t*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 148
    functionName: ConfigControl::createControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 3
    functionsReached:
    - IntegerRangeConfigControl::IntegerRangeConfigControl
    - DirectoryConfigControl::DirectoryConfigControl
    - FloatRangeConfigControl::FloatRangeConfigControl
    - PasswordConfigControl::PasswordConfigControl
    - StringListConfigControl::StringListConfigControl
    - FileConfigControl::FileConfigControl
    - FontConfigControl::FontConfigControl
    - KeySelectorControl::KeySelectorControl
    - BoolConfigControl::BoolConfigControl
    - IntegerListConfigControl::IntegerListConfigControl
    - StringConfigControl::StringConfigControl
    - ModuleListConfigControl::ModuleListConfigControl
    - ModuleConfigControl::ModuleConfigControl
    - ColorConfigControl::ColorConfigControl
    linkageType: ''
    returnType: ConfigControl
    signature: "ConfigControl *ConfigControl::createControl( module_config_t *p_item,\n
      \                                            QWidget *parent )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConfigControl::createControl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:154,1
    - Dst: ConfigControl*::insertInto
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - item
    - parent
    - l
    - line
    argTypes:
    - module_config_t*
    - QWidget*
    - QGridLayout*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 158
    functionName: ConfigControl::createControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 4
    functionsReached:
    - ConfigControl*::insertInto
    - ConfigControl::createControl
    linkageType: ''
    returnType: ConfigControl
    signature: "ConfigControl *ConfigControl::createControl( module_config_t *item,\n
      \                                            QWidget *parent,\n                                             QGridLayout
      *l, int line )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConfigControl::createControl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:164,1
    - Dst: ConfigControl*::insertInto
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - item
    - parent
    - l
    - index
    argTypes:
    - module_config_t*
    - QWidget*
    - QBoxLayout*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: ConfigControl::createControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 5
    functionsReached:
    - ConfigControl*::insertInto
    - ConfigControl::createControl
    linkageType: ''
    returnType: ConfigControl
    signature: "ConfigControl *ConfigControl::createControl( module_config_t *item,\n
      \                                            QWidget *parent,\n                                             QBoxLayout
      *l, int index )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setGeometry
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:175,1
    - Dst: setSizePolicy
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: InterfacePreviewWidget::InterfacePreviewWidget
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - setSizePolicy
    - setGeometry
    linkageType: ''
    returnType: void
    signature: void InterfacePreviewWidget::InterfacePreviewWidget ( QWidget *parent
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterfacePreviewWidget::setPreview
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b_minimal
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: InterfacePreviewWidget::setNormalPreview
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - InterfacePreviewWidget::setPreview
    linkageType: ''
    returnType: void
    signature: void InterfacePreviewWidget::setNormalPreview( bool b_minimal )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setPixmap
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:202,1
    - Dst: QPixmap
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:202,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:203,1
    - Dst: update
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - e_style
    argTypes:
    - enum_style
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 205
    functionName: InterfacePreviewWidget::setPreview
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - setPixmap
    - update
    - width
    - QPixmap
    linkageType: ''
    returnType: void
    signature: void InterfacePreviewWidget::setPreview( enum_style e_style )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config_PutPsz
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:215,1
    - Dst: getName
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:215,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:215,1
    - Dst: getValue
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: VStringConfigControl::doApply
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - config_PutPsz
    - qtu
    - getValue
    - getName
    linkageType: ''
    returnType: void
    signature: void VStringConfigControl::doApply()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:221,1
    - Dst: strdup
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:222,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:222,1
    - Dst: getValue
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: VStringConfigControl::storeValue
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - free
    - qtu
    - getValue
    - strdup
    linkageType: ''
    returnType: void
    signature: void VStringConfigControl::storeValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:230,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:230,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:231,1
    - Dst: QLineEdit::QLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:231,1
    - Dst: StringConfigControl::finish
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - _p_item
    - _parent
    argTypes:
    - module_config_t*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 233
    functionName: StringConfigControl::StringConfigControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - qfut
    - QLineEdit::QLineEdit
    - QLabel::QLabel
    - StringConfigControl::finish
    - qfu
    linkageType: ''
    returnType: void
    signature: "void StringConfigControl::StringConfigControl( module_config_t *_p_item,\n
      \                                         QWidget *_parent )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringConfigControl::finish
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - _p_item
    - _label
    - _text
    argTypes:
    - module_config_t*
    - QLabel*
    - QLineEdit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 242
    functionName: StringConfigControl::StringConfigControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - StringConfigControl::finish
    linkageType: ''
    returnType: void
    signature: "void StringConfigControl::StringConfigControl( module_config_t *_p_item,\n
      \                                         QLabel *_label, QLineEdit *_text )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:246,1
    - Dst: QGridLayout*::setColumnMinimumWidth
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:247,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - l
    - line
    argTypes:
    - QGridLayout*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 249
    functionName: StringConfigControl::insertInto
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - QGridLayout*::setColumnMinimumWidth
    - QGridLayout*::addWidget
    linkageType: ''
    returnType: void
    signature: void StringConfigControl::insertInto( QGridLayout *l, int line )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QBoxLayout*::insertWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:253,1
    - Dst: QBoxLayout*::insertWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - l
    - index
    argTypes:
    - QBoxLayout*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: StringConfigControl::insertInto
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - QBoxLayout*::insertWidget
    linkageType: ''
    returnType: void
    signature: void StringConfigControl::insertInto( QBoxLayout *l, int index )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:259,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:259,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:262,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:263,1
    - Dst: formatTooltip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:263,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:265,1
    - Dst: formatTooltip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:265,1
    - Dst: setBuddy
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 269
    functionName: StringConfigControl::finish
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 2
    functionsReached:
    - qfut
    - setToolTip
    - formatTooltip
    - setBuddy
    - setText
    - qfu
    linkageType: ''
    returnType: void
    signature: void StringConfigControl::finish()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:273,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - visible
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: StringConfigControl::changeVisibility
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - setVisible
    linkageType: ''
    returnType: void
    signature: void StringConfigControl::changeVisibility( bool visible )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: StringConfigControl::getValue
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - text
    linkageType: ''
    returnType: QString
    signature: QString StringConfigControl::getValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PasswordConfigControl::finish
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _p_item
    - _parent
    argTypes:
    - module_config_t*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 288
    functionName: PasswordConfigControl::PasswordConfigControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - PasswordConfigControl::finish
    linkageType: ''
    returnType: void
    signature: "void PasswordConfigControl::PasswordConfigControl( module_config_t
      *_p_item,\n                                              QWidget *_parent )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PasswordConfigControl::finish
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - _p_item
    - _label
    - _text
    argTypes:
    - module_config_t*
    - QLabel*
    - QLineEdit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: PasswordConfigControl::PasswordConfigControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - PasswordConfigControl::finish
    linkageType: ''
    returnType: void
    signature: "void PasswordConfigControl::PasswordConfigControl( module_config_t
      *_p_item,\n                                              QLabel *_label, QLineEdit
      *_text )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setEchoMode
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: PasswordConfigControl::finish
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 2
    functionsReached:
    - setEchoMode
    linkageType: ''
    returnType: void
    signature: void PasswordConfigControl::finish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:306,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:306,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:307,1
    - Dst: QLineEdit::QLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:307,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:308,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:308,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:310,1
    - Dst: FileConfigControl::finish
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - _p_item
    - p
    argTypes:
    - module_config_t*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 313
    functionName: FileConfigControl::FileConfigControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - qfut
    - QLineEdit::QLineEdit
    - FileConfigControl::finish
    - qtr
    - BUTTONACT
    - QPushButton::QPushButton
    - QLabel::QLabel
    - qfu
    linkageType: ''
    returnType: void
    signature: void FileConfigControl::FileConfigControl( module_config_t *_p_item,
      QWidget *p )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:324,1
    - Dst: FileConfigControl::finish
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - _p_item
    - _label
    - _text
    - _button
    argTypes:
    - module_config_t*
    - QLabel*
    - QLineEdit*
    - QPushButton*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 327
    functionName: FileConfigControl::FileConfigControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - BUTTONACT
    - FileConfigControl::finish
    linkageType: ''
    returnType: void
    signature: "void FileConfigControl::FileConfigControl( module_config_t *_p_item,\n
      \                                     QLabel *_label, QLineEdit *_text,\n                                      QPushButton
      *_button )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:331,1
    - Dst: QGridLayout*::setColumnMinimumWidth
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:332,1
    - Dst: QHBoxLayout::QHBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:333,1
    - Dst: QHBoxLayout*::setContentsMargins
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:334,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:335,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:336,1
    - Dst: QGridLayout*::addLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - l
    - line
    argTypes:
    - QGridLayout*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 338
    functionName: FileConfigControl::insertInto
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - QHBoxLayout::QHBoxLayout
    - QHBoxLayout*::addWidget
    - QGridLayout*::addLayout
    - QGridLayout*::addWidget
    - QGridLayout*::setColumnMinimumWidth
    - QHBoxLayout*::setContentsMargins
    linkageType: ''
    returnType: void
    signature: void FileConfigControl::insertInto( QGridLayout *l, int line )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QBoxLayout*::insertWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:342,1
    - Dst: QHBoxLayout::QHBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:343,1
    - Dst: QHBoxLayout*::setContentsMargins
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:344,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:345,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:346,1
    - Dst: QBoxLayout*::insertLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - l
    - index
    argTypes:
    - QBoxLayout*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 348
    functionName: FileConfigControl::insertInto
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - QHBoxLayout::QHBoxLayout
    - QHBoxLayout*::addWidget
    - QBoxLayout*::insertLayout
    - QBoxLayout*::insertWidget
    - QHBoxLayout*::setContentsMargins
    linkageType: ''
    returnType: void
    signature: void FileConfigControl::insertInto( QBoxLayout *l, int index )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::getSaveFileName
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:355,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:355,1
    - Dst: QVLCUserDir
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:356,1
    - Dst: QFileDialog::getOpenFileName
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:358,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:358,1
    - Dst: QVLCUserDir
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:359,1
    - Dst: QString::isNull
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:361,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:362,1
    - Dst: toNativeSeparators
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 363
    functionName: FileConfigControl::updateField
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - QFileDialog::getOpenFileName
    - qtr
    - QString::isNull
    - DialogsProvider::getSaveFileName
    - toNativeSeparators
    - setText
    - QVLCUserDir
    linkageType: ''
    returnType: void
    signature: void FileConfigControl::updateField()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:367,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:367,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:370,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:371,1
    - Dst: formatTooltip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:371,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:373,1
    - Dst: formatTooltip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:373,1
    - Dst: setBuddy
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 377
    functionName: FileConfigControl::finish
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 2
    functionsReached:
    - qfut
    - setToolTip
    - formatTooltip
    - setBuddy
    - setText
    - qfu
    linkageType: ''
    returnType: void
    signature: void FileConfigControl::finish()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:381,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:382,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - visible
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 384
    functionName: FileConfigControl::changeVisibility
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - setVisible
    linkageType: ''
    returnType: void
    signature: void FileConfigControl::changeVisibility( bool visible )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 389
    functionName: FileConfigControl::getValue
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - text
    linkageType: ''
    returnType: QString
    signature: QString FileConfigControl::getValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - _p_item
    - p
    argTypes:
    - module_config_t*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: DirectoryConfigControl::DirectoryConfigControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DirectoryConfigControl::DirectoryConfigControl( module_config_t
      *_p_item,\n                                                QWidget *p )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - _p_item
    - _p_label
    - _p_line
    - _p_button
    argTypes:
    - module_config_t*
    - QLabel*
    - QLineEdit*
    - QPushButton*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 402
    functionName: DirectoryConfigControl::DirectoryConfigControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DirectoryConfigControl::DirectoryConfigControl( module_config_t
      *_p_item,\n                                                QLabel *_p_label,\n
      \                                               QLineEdit *_p_line,\n                                                QPushButton
      *_p_button )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QFileDialog::getExistingDirectory
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:406,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:407,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:408,1
    - Dst: QVLCUserDir
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:409,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:409,1
    - Dst: QString::isNull
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:412,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:413,1
    - Dst: toNativeSepNoSlash
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:413,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 414
    functionName: DirectoryConfigControl::updateField
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - qfut
    - QFileDialog::getExistingDirectory
    - QString::isNull
    - toNativeSepNoSlash
    - std::move
    - setText
    - text
    - QVLCUserDir
    linkageType: ''
    returnType: void
    signature: void DirectoryConfigControl::updateField()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:420,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:420,1
    - Dst: QFontComboBox::QFontComboBox
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:421,1
    - Dst: setCurrentFont
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:422,1
    - Dst: QFont
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:422,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:422,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:426,1
    - Dst: formatTooltip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:426,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - _p_item
    - p
    argTypes:
    - module_config_t*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 428
    functionName: FontConfigControl::FontConfigControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - qfut
    - setToolTip
    - QFontComboBox::QFontComboBox
    - QFont
    - formatTooltip
    - QLabel::QLabel
    - setCurrentFont
    - qfu
    linkageType: ''
    returnType: void
    signature: void FontConfigControl::FontConfigControl( module_config_t *_p_item,
      QWidget *p )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setCurrentFont
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:437,1
    - Dst: QFont
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:437,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:437,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:441,1
    - Dst: formatTooltip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:441,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - _p_item
    - _p_label
    - _p_font
    argTypes:
    - module_config_t*
    - QLabel*
    - QFontComboBox*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 443
    functionName: FontConfigControl::FontConfigControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - qfut
    - setToolTip
    - QFont
    - formatTooltip
    - setCurrentFont
    - qfu
    linkageType: ''
    returnType: void
    signature: "void FontConfigControl::FontConfigControl( module_config_t *_p_item,\n
      \                                     QLabel *_p_label,\n                                      QFontComboBox
      *_p_font)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:447,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - l
    - line
    argTypes:
    - QGridLayout*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 449
    functionName: FontConfigControl::insertInto
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - QGridLayout*::addWidget
    linkageType: ''
    returnType: void
    signature: void FontConfigControl::insertInto( QGridLayout *l, int line )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QBoxLayout*::insertWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:453,1
    - Dst: QBoxLayout*::insertWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - l
    - index
    argTypes:
    - QBoxLayout*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 455
    functionName: FontConfigControl::insertInto
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - QBoxLayout*::insertWidget
    linkageType: ''
    returnType: void
    signature: void FontConfigControl::insertInto( QBoxLayout *l, int index )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:459,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - visible
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 461
    functionName: FontConfigControl::changeVisibility
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - setVisible
    linkageType: ''
    returnType: void
    signature: void FontConfigControl::changeVisibility( bool visible )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: currentFont
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 466
    functionName: FontConfigControl::getValue
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - currentFont
    linkageType: ''
    returnType: QString
    signature: QString FontConfigControl::getValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:473,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:473,1
    - Dst: QComboBox::QComboBox
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:474,1
    - Dst: setMinimumWidth
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:475,1
    - Dst: setSizePolicy
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:476,1
    - Dst: config_FindConfig
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:479,1
    - Dst: StringListConfigControl::finish
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - _p_item
    - p
    argTypes:
    - module_config_t*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 482
    functionName: StringListConfigControl::StringListConfigControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 2
    functionsReached:
    - qfut
    - QComboBox::QComboBox
    - setSizePolicy
    - StringListConfigControl::finish
    - config_FindConfig
    - QLabel::QLabel
    - setMinimumWidth
    linkageType: ''
    returnType: void
    signature: "void StringListConfigControl::StringListConfigControl( module_config_t
      *_p_item,\n                                                  QWidget *p )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config_FindConfig
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:493,1
    - Dst: getName
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:493,1
    - Dst: StringListConfigControl::finish
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - _p_item
    - _label
    - _combo
    argTypes:
    - module_config_t*
    - QLabel*
    - QComboBox*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 496
    functionName: StringListConfigControl::StringListConfigControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 2
    functionsReached:
    - StringListConfigControl::finish
    - getName
    - config_FindConfig
    linkageType: ''
    returnType: void
    signature: "void StringListConfigControl::StringListConfigControl( module_config_t
      *_p_item,\n                                                  QLabel *_label,\n
      \                                                 QComboBox *_combo )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:500,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - l
    - line
    argTypes:
    - QGridLayout*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: StringListConfigControl::insertInto
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - QGridLayout*::addWidget
    linkageType: ''
    returnType: void
    signature: void StringListConfigControl::insertInto( QGridLayout *l, int line
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QBoxLayout*::insertWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:506,1
    - Dst: QBoxLayout*::insertWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - l
    - index
    argTypes:
    - QBoxLayout*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: StringListConfigControl::insertInto
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - QBoxLayout*::insertWidget
    linkageType: ''
    returnType: void
    signature: void StringListConfigControl::insertInto( QBoxLayout *l, int index
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNUSED
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 514
    functionName: StringListConfigControl::comboIndexChanged
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - Q_UNUSED
    linkageType: ''
    returnType: void
    signature: void StringListConfigControl::comboIndexChanged( int i_index )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: setEditable
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:518,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:519,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:519,1
    - Dst: config_GetPszChoices
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:525,1
    - Dst: addItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:531,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:531,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:531,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:531,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:532,1
    - Dst: setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:533,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:533,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:534,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:535,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:537,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:538,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:542,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:543,1
    - Dst: formatTooltip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:543,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:545,1
    - Dst: formatTooltip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:545,1
    - Dst: setBuddy
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:548,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - p_module_config
    argTypes:
    - module_config_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 516
    functionDepth: 3
    functionLinenumber: 516
    functionLinenumberEnd: 549
    functionName: StringListConfigControl::finish
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 2
    functionsReached:
    - go_eof
    - QVariant
    - qfut
    - setToolTip
    - addItem
    - setEditable
    - config_GetPszChoices
    - count
    - formatTooltip
    - connect
    - strcmp
    - free
    - setCurrentIndex
    - setBuddy
    - qfu
    linkageType: ''
    returnType: void
    signature: void StringListConfigControl::finish(module_config_t *p_module_config
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:553,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - visible
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 555
    functionName: StringListConfigControl::changeVisibility
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - setVisible
    linkageType: ''
    returnType: void
    signature: void StringListConfigControl::changeVisibility( bool visible )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: itemData
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:559,1
    - Dst: currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 560
    functionName: StringListConfigControl::getValue
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - itemData
    - currentIndex
    linkageType: ''
    returnType: QString
    signature: QString StringListConfigControl::getValue() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: config_FindConfig
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:564,1
    - Dst: config_GetPszChoices
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:571,1
    - Dst: QComboBox*::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:574,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:574,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:574,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:574,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:575,1
    - Dst: QComboBox*::setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:576,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:577,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:578,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:580,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:581,1
    - Dst: config_GetIntChoices
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:587,1
    - Dst: QComboBox*::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:590,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:590,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:590,1
    - Dst: qlonglong
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:590,1
    - Dst: QComboBox*::setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:592,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:593,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:595,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:596,1
    - Dst: QComboBox*::setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:600,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:600,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - configname
    - combo
    argTypes:
    - char*
    - QComboBox*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 601
    functionName: setfillVLCConfigCombo
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - qfut
    - QVariant
    - QComboBox*::setCurrentIndex
    - QComboBox*::setToolTip
    - config_GetPszChoices
    - qlonglong
    - config_FindConfig
    - free
    - strcmp
    - QComboBox*::addItem
    - config_GetIntChoices
    - qfu
    linkageType: ''
    returnType: void
    signature: void setfillVLCConfigCombo( const char *configname, QComboBox *combo
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:608,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:608,1
    - Dst: QComboBox::QComboBox
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:609,1
    - Dst: setMinimumWidth
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:610,1
    - Dst: ModuleConfigControl::finish
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - _p_item
    - p
    argTypes:
    - module_config_t*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 612
    functionName: ModuleConfigControl::ModuleConfigControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - qfut
    - QComboBox::QComboBox
    - ModuleConfigControl::finish
    - QLabel::QLabel
    - setMinimumWidth
    linkageType: ''
    returnType: void
    signature: "void ModuleConfigControl::ModuleConfigControl( module_config_t *_p_item,\n
      \                                         QWidget *p )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModuleConfigControl::finish
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - _p_item
    - _label
    - _combo
    argTypes:
    - module_config_t*
    - QLabel*
    - QComboBox*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 621
    functionName: ModuleConfigControl::ModuleConfigControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - ModuleConfigControl::finish
    linkageType: ''
    returnType: void
    signature: "void ModuleConfigControl::ModuleConfigControl( module_config_t *_p_item,\n
      \                                         QLabel *_label, QComboBox *_combo
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:625,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - l
    - line
    argTypes:
    - QGridLayout*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 627
    functionName: ModuleConfigControl::insertInto
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - QGridLayout*::addWidget
    linkageType: ''
    returnType: void
    signature: void ModuleConfigControl::insertInto( QGridLayout *l, int line )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QBoxLayout*::insertWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:631,1
    - Dst: QBoxLayout*::insertWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - l
    - index
    argTypes:
    - QBoxLayout*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 633
    functionName: ModuleConfigControl::insertInto
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - QBoxLayout*::insertWidget
    linkageType: ''
    returnType: void
    signature: void ModuleConfigControl::insertInto( QBoxLayout *l, int index )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: setEditable
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:637,1
    - Dst: module_list_get
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:641,1
    - Dst: addItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:642,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:642,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:647,1
    - Dst: module_get_object
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:647,1
    - Dst: module_config_get
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:652,1
    - Dst: addItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:660,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:660,1
    - Dst: module_GetLongName
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:660,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:661,1
    - Dst: module_get_object
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:661,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:662,1
    - Dst: module_get_object
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:663,1
    - Dst: setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:664,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:664,1
    - Dst: module_config_free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:668,1
    - Dst: module_list_free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:670,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:674,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:675,1
    - Dst: formatTooltip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:675,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:677,1
    - Dst: formatTooltip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:677,1
    - Dst: setBuddy
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:680,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 681
    functionName: ModuleConfigControl::finish
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 2
    functionsReached:
    - qfut
    - QVariant
    - module_GetLongName
    - setToolTip
    - addItem
    - setEditable
    - qtr
    - count
    - module_list_get
    - module_list_free
    - formatTooltip
    - module_get_object
    - strcmp
    - module_config_free
    - setBuddy
    - module_config_get
    - setCurrentIndex
    linkageType: ''
    returnType: void
    signature: void ModuleConfigControl::finish( )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:685,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:686,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - visible
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 687
    functionName: ModuleConfigControl::changeVisibility
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - setVisible
    linkageType: ''
    returnType: void
    signature: void ModuleConfigControl::changeVisibility( bool visible )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: itemData
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:691,1
    - Dst: currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 692
    functionName: ModuleConfigControl::getValue
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - itemData
    - currentIndex
    linkageType: ''
    returnType: QString
    signature: QString ModuleConfigControl::getValue() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:704,1
    - Dst: QGroupBox::QGroupBox
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:704,1
    - Dst: QLineEdit::QLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:705,1
    - Dst: QGridLayout::QGridLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:706,1
    - Dst: ModuleListConfigControl::finish
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:708,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:713,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:717,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:720,1
    - Dst: formatTooltip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:720,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:720,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - _p_item
    - p
    - bycat
    argTypes:
    - module_config_t*
    - QWidget*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 721
    functionName: ModuleListConfigControl::ModuleListConfigControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - qfut
    - QLineEdit::QLineEdit
    - QGridLayout::QGridLayout
    - setToolTip
    - ModuleListConfigControl::finish
    - QGroupBox::QGroupBox
    - QGridLayout*::addWidget
    - formatTooltip
    linkageType: ''
    returnType: void
    signature: "void ModuleListConfigControl::ModuleListConfigControl( module_config_t
      *_p_item,\n                                                  QWidget *p, bool
      bycat )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - it
    argTypes:
    - checkBoxListItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 715
    functionName: foreach
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 53
    functionsReached:
    - addWidget
    linkageType: ''
    returnType: void
    signature: void foreach ( checkBoxListItem *it, modules )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l
    - line
    argTypes:
    - QGridLayout*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 726
    functionName: ModuleListConfigControl::insertInto
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - QGridLayout*::addWidget
    linkageType: ''
    returnType: void
    signature: void ModuleListConfigControl::insertInto( QGridLayout *l, int line
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QBoxLayout*::insertWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l
    - index
    argTypes:
    - QBoxLayout*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 731
    functionName: ModuleListConfigControl::insertInto
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - QBoxLayout*::insertWidget
    linkageType: ''
    returnType: void
    signature: void ModuleListConfigControl::insertInto( QBoxLayout *l, int index
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qDeleteAll
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:735,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 737
    functionName: ModuleListConfigControl::~ModuleListConfigControl()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - clear
    - qDeleteAll
    linkageType: ''
    returnType: void
    signature: void ModuleListConfigControl::~ModuleListConfigControl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: module_get_help
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:741,1
    - Dst: ModuleListConfigControl::checkbox_lists
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:742,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:742,1
    - Dst: module_GetLongName
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:742,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:743,1
    - Dst: module_get_object
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_parser
    argTypes:
    - module_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 745
    functionName: ModuleListConfigControl::checkbox_lists
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - qfut
    - module_GetLongName
    - module_get_help
    - module_get_object
    - ModuleListConfigControl::checkbox_lists
    linkageType: ''
    returnType: void
    signature: void ModuleListConfigControl::checkbox_lists( module_t *p_parser )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QCheckBox::QCheckBox
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:749,1
    - Dst: checkBoxListItem::checkBoxListItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:750,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:752,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:753,1
    - Dst: QCheckBox*::setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:754,1
    - Dst: formatTooltip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:754,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:757,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:758,1
    - Dst: strstr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:760,1
    - Dst: checkBoxListItem*::checkBox::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:761,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - label
    - help
    - psz_module
    argTypes:
    - QString
    - QString
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 762
    functionName: ModuleListConfigControl::checkbox_lists
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - append
    - QString::isEmpty
    - formatTooltip
    - connect
    - checkBoxListItem*::checkBox::setChecked
    - QCheckBox::QCheckBox
    - checkBoxListItem::checkBoxListItem
    - strstr
    - qfu
    - QCheckBox*::setToolTip
    linkageType: ''
    returnType: void
    signature: void ModuleListConfigControl::checkbox_lists( QString label, QString
      help, const char* psz_module )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: module_list_get
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:768,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:775,1
    - Dst: module_get_object
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:775,1
    - Dst: module_config_get
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:778,1
    - Dst: ModuleListConfigControl::checkbox_lists
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:787,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:794,1
    - Dst: module_get_object
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:794,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:795,1
    - Dst: ModuleListConfigControl::checkbox_lists
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:798,1
    - Dst: ModuleListConfigControl::checkbox_lists
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:799,1
    - Dst: ModuleListConfigControl::checkbox_lists
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:801,1
    - Dst: module_config_free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:805,1
    - Dst: module_provides
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:807,1
    - Dst: ModuleListConfigControl::checkbox_lists
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:809,1
    - Dst: module_list_free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:812,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 1
    argNames:
    - bycat
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 764
    functionDepth: 2
    functionLinenumber: 764
    functionLinenumberEnd: 813
    functionName: ModuleListConfigControl::finish
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - module_list_free
    - module_list_get
    - module_get_object
    - strcmp
    - ModuleListConfigControl::checkbox_lists
    - module_config_free
    - module_provides
    - module_config_get
    linkageType: ''
    returnType: void
    signature: void ModuleListConfigControl::finish( bool bycat )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:817,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( text )
      pos:
        line_end: 816
        line_start: 816
        source_file: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    constantsTouched: []
    func_position:
      end: 819
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 819
    functionName: ModuleListConfigControl::getValue
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - text
    - assert
    linkageType: ''
    returnType: QString
    signature: QString ModuleListConfigControl::getValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkBox::setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:824,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - visible
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 826
    functionName: ModuleListConfigControl::changeVisibility
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - checkBox::setVisible
    - setVisible
    linkageType: ''
    returnType: void
    signature: void ModuleListConfigControl::changeVisibility( bool visible )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:830,1
    - Dst: checkBox::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:835,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:839,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:839,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:844,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:844,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 828
    functionDepth: 1
    functionLinenumber: 828
    functionLinenumberEnd: 848
    functionName: ModuleListConfigControl::onUpdate
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - setText
    - text
    - clear
    - checkBox::isChecked
    linkageType: ''
    returnType: void
    signature: void ModuleListConfigControl::onUpdate()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checkBoxListItem*::checkBox::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:835,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:839,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:839,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:844,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:844,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - it
    argTypes:
    - checkBoxListItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 847
    functionName: foreach
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 53
    functionsReached:
    - setText
    - text
    - checkBoxListItem*::checkBox::isChecked
    linkageType: ''
    returnType: void
    signature: void foreach ( checkBoxListItem *it, modules )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config_PutInt
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:857,1
    - Dst: getName
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:857,1
    - Dst: getValue
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 858
    functionName: VIntConfigControl::doApply
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - getValue
    - getName
    - config_PutInt
    linkageType: ''
    returnType: void
    signature: void VIntConfigControl::doApply()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getValue
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 864
    functionName: VIntConfigControl::storeValue
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - getValue
    linkageType: ''
    returnType: void
    signature: void VIntConfigControl::storeValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:871,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:871,1
    - Dst: QSpinBox::QSpinBox
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:872,1
    - Dst: setMinimumWidth
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:873,1
    - Dst: setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:874,1
    - Dst: setMaximumWidth
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:875,1
    - Dst: IntegerConfigControl::finish
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - _p_item
    - p
    argTypes:
    - module_config_t*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 877
    functionName: IntegerConfigControl::IntegerConfigControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - qfut
    - QSpinBox::QSpinBox
    - IntegerConfigControl::finish
    - setAlignment
    - QLabel::QLabel
    - setMinimumWidth
    - setMaximumWidth
    linkageType: ''
    returnType: void
    signature: "void IntegerConfigControl::IntegerConfigControl( module_config_t *_p_item,\n
      \                                           QWidget *p )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IntegerConfigControl::finish
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - _p_item
    - _label
    - _spin
    argTypes:
    - module_config_t*
    - QLabel*
    - QSpinBox*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 886
    functionName: IntegerConfigControl::IntegerConfigControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - IntegerConfigControl::finish
    linkageType: ''
    returnType: void
    signature: "void IntegerConfigControl::IntegerConfigControl( module_config_t *_p_item,\n
      \                                           QLabel *_label, QSpinBox *_spin
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:890,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - l
    - line
    argTypes:
    - QGridLayout*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 892
    functionName: IntegerConfigControl::insertInto
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - QGridLayout*::addWidget
    linkageType: ''
    returnType: void
    signature: void IntegerConfigControl::insertInto( QGridLayout *l, int line )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QBoxLayout*::insertWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:896,1
    - Dst: QBoxLayout*::insertWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:897,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - l
    - index
    argTypes:
    - QBoxLayout*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 898
    functionName: IntegerConfigControl::insertInto
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - QBoxLayout*::insertWidget
    linkageType: ''
    returnType: void
    signature: void IntegerConfigControl::insertInto( QBoxLayout *l, int index )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setMaximum
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:902,1
    - Dst: setMinimum
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:903,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:904,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:908,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:909,1
    - Dst: formatTooltip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:909,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:911,1
    - Dst: formatTooltip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:911,1
    - Dst: setBuddy
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:914,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 900
    functionDepth: 1
    functionLinenumber: 900
    functionLinenumberEnd: 915
    functionName: IntegerConfigControl::finish
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 2
    functionsReached:
    - qfut
    - setToolTip
    - formatTooltip
    - setMinimum
    - setBuddy
    - setValue
    - setMaximum
    linkageType: ''
    returnType: void
    signature: void IntegerConfigControl::finish()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:919,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:920,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - visible
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 921
    functionName: IntegerConfigControl::changeVisibility
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - setVisible
    linkageType: ''
    returnType: void
    signature: void IntegerConfigControl::changeVisibility( bool visible )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 926
    functionName: IntegerConfigControl::getValue
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: int
    signature: int IntegerConfigControl::getValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IntegerRangeConfigControl::finish
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _p_item
    - p
    argTypes:
    - module_config_t*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 929
    functionDepth: 1
    functionLinenumber: 929
    functionLinenumberEnd: 934
    functionName: IntegerRangeConfigControl::IntegerRangeConfigControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - IntegerRangeConfigControl::finish
    linkageType: ''
    returnType: void
    signature: "void IntegerRangeConfigControl::IntegerRangeConfigControl( module_config_t
      *_p_item,\n                                                      QWidget *p
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IntegerRangeConfigControl::finish
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - _p_item
    - _label
    - _spin
    argTypes:
    - module_config_t*
    - QLabel*
    - QSpinBox*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 936
    functionDepth: 1
    functionLinenumber: 936
    functionLinenumberEnd: 942
    functionName: IntegerRangeConfigControl::IntegerRangeConfigControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - IntegerRangeConfigControl::finish
    linkageType: ''
    returnType: void
    signature: "void IntegerRangeConfigControl::IntegerRangeConfigControl( module_config_t
      *_p_item,\n                                                      QLabel *_label,\n
      \                                                     QSpinBox *_spin )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setMaximum
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:946,1
    - Dst: setMinimum
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 948
    functionName: IntegerRangeConfigControl::finish
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 2
    functionsReached:
    - setMinimum
    - setMaximum
    linkageType: ''
    returnType: void
    signature: void IntegerRangeConfigControl::finish()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setMaximum
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:957,1
    - Dst: setMinimum
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:958,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:959,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:962,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:963,1
    - Dst: formatTooltip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:963,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:965,1
    - Dst: formatTooltip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:965,1
    - Dst: setBuddy
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:968,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - _p_item
    - _label
    - _slider
    argTypes:
    - module_config_t*
    - QLabel*
    - QSlider*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 950
    functionDepth: 1
    functionLinenumber: 950
    functionLinenumberEnd: 969
    functionName: IntegerRangeSliderConfigControl::IntegerRangeSliderConfigControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - qfut
    - setToolTip
    - formatTooltip
    - setMinimum
    - setBuddy
    - setValue
    - setMaximum
    linkageType: ''
    returnType: void
    signature: "void IntegerRangeSliderConfigControl::IntegerRangeSliderConfigControl(\n
      \                                           module_config_t *_p_item,\n                                            QLabel
      *_label, QSlider *_slider )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:973,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:974,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - visible
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 975
    functionName: IntegerRangeSliderConfigControl::changeVisibility
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - setVisible
    linkageType: ''
    returnType: void
    signature: void IntegerRangeSliderConfigControl::changeVisibility( bool visible
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 980
    functionName: IntegerRangeSliderConfigControl::getValue
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: int
    signature: int IntegerRangeSliderConfigControl::getValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:987,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:987,1
    - Dst: QComboBox::QComboBox
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:988,1
    - Dst: setMinimumWidth
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:989,1
    - Dst: config_FindConfig
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:992,1
    - Dst: IntegerListConfigControl::finish
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - _p_item
    - p
    argTypes:
    - module_config_t*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 995
    functionName: IntegerListConfigControl::IntegerListConfigControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - qfut
    - QComboBox::QComboBox
    - config_FindConfig
    - QLabel::QLabel
    - setMinimumWidth
    - IntegerListConfigControl::finish
    linkageType: ''
    returnType: void
    signature: "void IntegerListConfigControl::IntegerListConfigControl( module_config_t
      *_p_item,\n                                                    QWidget *p )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config_FindConfig
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1006,1
    - Dst: getName
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1006,1
    - Dst: IntegerListConfigControl::finish
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - _p_item
    - _label
    - _combo
    argTypes:
    - module_config_t*
    - QLabel*
    - QComboBox*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 997
    functionDepth: 1
    functionLinenumber: 997
    functionLinenumberEnd: 1009
    functionName: IntegerListConfigControl::IntegerListConfigControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - IntegerListConfigControl::finish
    - getName
    - config_FindConfig
    linkageType: ''
    returnType: void
    signature: "void IntegerListConfigControl::IntegerListConfigControl( module_config_t
      *_p_item,\n                                                    QLabel *_label,\n
      \                                                   QComboBox *_combo )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1013,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - l
    - line
    argTypes:
    - QGridLayout*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1015
    functionName: IntegerListConfigControl::insertInto
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - QGridLayout*::addWidget
    linkageType: ''
    returnType: void
    signature: void IntegerListConfigControl::insertInto( QGridLayout *l, int line
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QBoxLayout*::insertWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1019,1
    - Dst: QBoxLayout*::insertWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1020,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - l
    - index
    argTypes:
    - QBoxLayout*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1021
    functionName: IntegerListConfigControl::insertInto
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - QBoxLayout*::insertWidget
    linkageType: ''
    returnType: void
    signature: void IntegerListConfigControl::insertInto( QBoxLayout *l, int index
      )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: setEditable
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1025,1
    - Dst: config_GetIntChoices
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1031,1
    - Dst: addItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1035,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1035,1
    - Dst: qlonglong
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1035,1
    - Dst: setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1037,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1037,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1038,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1040,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1041,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1044,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1045,1
    - Dst: formatTooltip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1045,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1047,1
    - Dst: formatTooltip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1047,1
    - Dst: setBuddy
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1050,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - p_module_config
    argTypes:
    - module_config_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1023
    functionDepth: 1
    functionLinenumber: 1023
    functionLinenumberEnd: 1051
    functionName: IntegerListConfigControl::finish
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 2
    functionsReached:
    - qfut
    - setToolTip
    - addItem
    - setEditable
    - count
    - qlonglong
    - formatTooltip
    - free
    - setBuddy
    - config_GetIntChoices
    - setCurrentIndex
    linkageType: ''
    returnType: void
    signature: void IntegerListConfigControl::finish( module_config_t *p_module_config
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1055,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1056,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - visible
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1053
    functionDepth: 1
    functionLinenumber: 1053
    functionLinenumberEnd: 1057
    functionName: IntegerListConfigControl::changeVisibility
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - setVisible
    linkageType: ''
    returnType: void
    signature: void IntegerListConfigControl::changeVisibility( bool visible )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: itemData
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1061,1
    - Dst: currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1062
    functionName: IntegerListConfigControl::getValue
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - itemData
    - currentIndex
    linkageType: ''
    returnType: int
    signature: int IntegerListConfigControl::getValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1068,1
    - Dst: QCheckBox::QCheckBox
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1068,1
    - Dst: BoolConfigControl::finish
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - _p_item
    - p
    argTypes:
    - module_config_t*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1065
    functionDepth: 1
    functionLinenumber: 1065
    functionLinenumberEnd: 1070
    functionName: BoolConfigControl::BoolConfigControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - qfut
    - BoolConfigControl::finish
    - QCheckBox::QCheckBox
    linkageType: ''
    returnType: void
    signature: void BoolConfigControl::BoolConfigControl( module_config_t *_p_item,
      QWidget *p )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1078,1
    - Dst: BoolConfigControl::finish
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1079,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - _p_item
    - _label
    - _checkbox
    argTypes:
    - module_config_t*
    - QLabel*
    - QAbstractButton*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1072
    functionDepth: 1
    functionLinenumber: 1072
    functionLinenumberEnd: 1080
    functionName: BoolConfigControl::BoolConfigControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - BoolConfigControl::finish
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void BoolConfigControl::BoolConfigControl( module_config_t *_p_item,\n
      \                                     QLabel *_label,\n                                      QAbstractButton
      *_checkbox )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l
    - line
    argTypes:
    - QGridLayout*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1085
    functionName: BoolConfigControl::insertInto
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - QGridLayout*::addWidget
    linkageType: ''
    returnType: void
    signature: void BoolConfigControl::insertInto( QGridLayout *l, int line )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QBoxLayout*::insertWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l
    - index
    argTypes:
    - QBoxLayout*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1090
    functionName: BoolConfigControl::insertInto
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - QBoxLayout*::insertWidget
    linkageType: ''
    returnType: void
    signature: void BoolConfigControl::insertInto( QBoxLayout *l, int index )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1094,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1096,1
    - Dst: formatTooltip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1096,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1096,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1092
    functionDepth: 1
    functionLinenumber: 1092
    functionLinenumberEnd: 1097
    functionName: BoolConfigControl::finish
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 2
    functionsReached:
    - qfut
    - formatTooltip
    - setToolTip
    - setChecked
    linkageType: ''
    returnType: void
    signature: void BoolConfigControl::finish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - visible
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1099
    functionDepth: 1
    functionLinenumber: 1099
    functionLinenumberEnd: 1102
    functionName: BoolConfigControl::changeVisibility
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - setVisible
    linkageType: ''
    returnType: void
    signature: void BoolConfigControl::changeVisibility( bool visible )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1107
    functionName: BoolConfigControl::getValue
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - isChecked
    linkageType: ''
    returnType: int
    signature: int BoolConfigControl::getValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1114,1
    - Dst: QToolButton::QToolButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1115,1
    - Dst: ColorConfigControl::finish
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - _p_item
    - p
    argTypes:
    - module_config_t*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1110
    functionDepth: 1
    functionLinenumber: 1110
    functionLinenumberEnd: 1117
    functionName: ColorConfigControl::ColorConfigControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - ColorConfigControl::finish
    - QLabel::QLabel
    - QToolButton::QToolButton
    linkageType: ''
    returnType: void
    signature: "void ColorConfigControl::ColorConfigControl( module_config_t *_p_item,\n
      \                                       QWidget *p )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ColorConfigControl::finish
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - _p_item
    - _label
    - _color
    argTypes:
    - module_config_t*
    - QLabel*
    - QAbstractButton*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1119
    functionDepth: 1
    functionLinenumber: 1119
    functionLinenumberEnd: 1127
    functionName: ColorConfigControl::ColorConfigControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - ColorConfigControl::finish
    linkageType: ''
    returnType: void
    signature: "void ColorConfigControl::ColorConfigControl( module_config_t *_p_item,\n
      \                                       QLabel *_label,\n                                        QAbstractButton
      *_color )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1131,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - l
    - line
    argTypes:
    - QGridLayout*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1129
    functionDepth: 0
    functionLinenumber: 1129
    functionLinenumberEnd: 1133
    functionName: ColorConfigControl::insertInto
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - QGridLayout*::addWidget
    linkageType: ''
    returnType: void
    signature: void ColorConfigControl::insertInto( QGridLayout *l, int line )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QBoxLayout*::insertWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1137,1
    - Dst: QBoxLayout*::insertWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - l
    - index
    argTypes:
    - QBoxLayout*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1139
    functionName: ColorConfigControl::insertInto
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - QBoxLayout*::insertWidget
    linkageType: ''
    returnType: void
    signature: void ColorConfigControl::insertInto( QBoxLayout *l, int index )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QPixmap::QPixmap
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1145,1
    - Dst: fill
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1146,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1146,1
    - Dst: setIcon
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1147,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1147,1
    - Dst: setMinimumWidth
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1148,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1150,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1150,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1153,1
    - Dst: formatTooltip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1153,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1153,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1154,1
    - Dst: formatTooltip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1154,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1154,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1141
    functionDepth: 1
    functionLinenumber: 1141
    functionLinenumberEnd: 1158
    functionName: ColorConfigControl::finish
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 2
    functionsReached:
    - qfut
    - QColor
    - QIcon
    - QPixmap::QPixmap
    - setToolTip
    - setIcon
    - formatTooltip
    - BUTTONACT
    - setMinimumWidth
    - setText
    - fill
    linkageType: ''
    returnType: void
    signature: void ColorConfigControl::finish()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1162,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - visible
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1160
    functionDepth: 1
    functionLinenumber: 1160
    functionLinenumberEnd: 1164
    functionName: ColorConfigControl::changeVisibility
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - setVisible
    linkageType: ''
    returnType: void
    signature: void ColorConfigControl::changeVisibility( bool visible )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1166
    functionDepth: 0
    functionLinenumber: 1166
    functionLinenumberEnd: 1169
    functionName: ColorConfigControl::getValue
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ColorConfigControl::getValue() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SystemPalette::getColor
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1173,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1173,1
    - Dst: QColor::isValid
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1174,1
    - Dst: QColor::red
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1176,1
    - Dst: QColor::green
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1176,1
    - Dst: QColor::blue
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1176,1
    - Dst: fill
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1178,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1178,1
    - Dst: setIcon
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1179,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1171
    functionDepth: 1
    functionLinenumber: 1171
    functionLinenumberEnd: 1181
    functionName: ColorConfigControl::selectColor
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - QColor
    - QIcon
    - SystemPalette::getColor
    - setIcon
    - QColor::red
    - QColor::blue
    - QColor::isValid
    - QColor::green
    - fill
    linkageType: ''
    returnType: void
    signature: void ColorConfigControl::selectColor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config_PutFloat
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1191,1
    - Dst: getName
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1191,1
    - Dst: getValue
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1188
    functionDepth: 1
    functionLinenumber: 1188
    functionLinenumberEnd: 1192
    functionName: VFloatConfigControl::doApply
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - config_PutFloat
    - getValue
    - getName
    linkageType: ''
    returnType: void
    signature: void VFloatConfigControl::doApply()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getValue
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1198
    functionName: VFloatConfigControl::storeValue
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - getValue
    linkageType: ''
    returnType: void
    signature: void VFloatConfigControl::storeValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1205,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1205,1
    - Dst: QDoubleSpinBox::QDoubleSpinBox
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1206,1
    - Dst: setMinimumWidth
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1207,1
    - Dst: setMaximumWidth
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1208,1
    - Dst: setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1209,1
    - Dst: FloatConfigControl::finish
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - _p_item
    - p
    argTypes:
    - module_config_t*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1201
    functionDepth: 1
    functionLinenumber: 1201
    functionLinenumberEnd: 1211
    functionName: FloatConfigControl::FloatConfigControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - qfut
    - FloatConfigControl::finish
    - QDoubleSpinBox::QDoubleSpinBox
    - setAlignment
    - QLabel::QLabel
    - setMinimumWidth
    - setMaximumWidth
    linkageType: ''
    returnType: void
    signature: "void FloatConfigControl::FloatConfigControl( module_config_t *_p_item,\n
      \                                       QWidget *p )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FloatConfigControl::finish
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - _p_item
    - _label
    - _spin
    argTypes:
    - module_config_t*
    - QLabel*
    - QDoubleSpinBox*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1213
    functionDepth: 1
    functionLinenumber: 1213
    functionLinenumberEnd: 1221
    functionName: FloatConfigControl::FloatConfigControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - FloatConfigControl::finish
    linkageType: ''
    returnType: void
    signature: "void FloatConfigControl::FloatConfigControl( module_config_t *_p_item,\n
      \                                       QLabel *_label,\n                                        QDoubleSpinBox
      *_spin )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1225,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - l
    - line
    argTypes:
    - QGridLayout*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1227
    functionName: FloatConfigControl::insertInto
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - QGridLayout*::addWidget
    linkageType: ''
    returnType: void
    signature: void FloatConfigControl::insertInto( QGridLayout *l, int line )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QBoxLayout*::insertWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1231,1
    - Dst: QBoxLayout*::insertWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - l
    - index
    argTypes:
    - QBoxLayout*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1233
    functionName: FloatConfigControl::insertInto
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - QBoxLayout*::insertWidget
    linkageType: ''
    returnType: void
    signature: void FloatConfigControl::insertInto( QBoxLayout *l, int index )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setMaximum
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1237,1
    - Dst: setMinimum
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1238,1
    - Dst: setSingleStep
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1239,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1240,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1243,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1244,1
    - Dst: formatTooltip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1244,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1246,1
    - Dst: formatTooltip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1246,1
    - Dst: setBuddy
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1235
    functionDepth: 1
    functionLinenumber: 1235
    functionLinenumberEnd: 1250
    functionName: FloatConfigControl::finish
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 2
    functionsReached:
    - qfut
    - setToolTip
    - setSingleStep
    - formatTooltip
    - setMinimum
    - setBuddy
    - setValue
    - setMaximum
    linkageType: ''
    returnType: void
    signature: void FloatConfigControl::finish()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1254,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - visible
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1252
    functionDepth: 1
    functionLinenumber: 1252
    functionLinenumberEnd: 1256
    functionName: FloatConfigControl::changeVisibility
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - setVisible
    linkageType: ''
    returnType: void
    signature: void FloatConfigControl::changeVisibility( bool visible )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1261
    functionName: FloatConfigControl::getValue
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: float
    signature: float FloatConfigControl::getValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FloatRangeConfigControl::finish
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _p_item
    - p
    argTypes:
    - module_config_t*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1264
    functionDepth: 1
    functionLinenumber: 1264
    functionLinenumberEnd: 1269
    functionName: FloatRangeConfigControl::FloatRangeConfigControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - FloatRangeConfigControl::finish
    linkageType: ''
    returnType: void
    signature: "void FloatRangeConfigControl::FloatRangeConfigControl( module_config_t
      *_p_item,\n                                                  QWidget *p )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FloatRangeConfigControl::finish
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - _p_item
    - _label
    - _spin
    argTypes:
    - module_config_t*
    - QLabel*
    - QDoubleSpinBox*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1271
    functionDepth: 1
    functionLinenumber: 1271
    functionLinenumberEnd: 1277
    functionName: FloatRangeConfigControl::FloatRangeConfigControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - FloatRangeConfigControl::finish
    linkageType: ''
    returnType: void
    signature: "void FloatRangeConfigControl::FloatRangeConfigControl( module_config_t
      *_p_item,\n                                                  QLabel *_label,\n
      \                                                 QDoubleSpinBox *_spin )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setMaximum
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1281,1
    - Dst: setMinimum
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1279
    functionDepth: 0
    functionLinenumber: 1279
    functionLinenumberEnd: 1283
    functionName: FloatRangeConfigControl::finish
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 2
    functionsReached:
    - setMinimum
    - setMaximum
    linkageType: ''
    returnType: void
    signature: void FloatRangeConfigControl::finish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1291,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1291,1
    - Dst: setWordWrap
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1293,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1294,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1294,1
    - Dst: SearchLineEdit::SearchLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1295,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1297,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1297,1
    - Dst: QComboBox::QComboBox
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1298,1
    - Dst: addItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1299,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1299,1
    - Dst: addItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1300,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1300,1
    - Dst: addItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1301,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1301,1
    - Dst: addItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1302,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1302,1
    - Dst: QTreeWidget::QTreeWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1304,1
    - Dst: setColumnCount
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1305,1
    - Dst: headerItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1306,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1306,1
    - Dst: headerItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1307,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1307,1
    - Dst: headerItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1308,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1308,1
    - Dst: headerItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1309,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1309,1
    - Dst: headerItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1310,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1310,1
    - Dst: setAlternatingRowColors
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1311,1
    - Dst: setSelectionBehavior
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1312,1
    - Dst: setStyleSheet
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1313,1
    - Dst: installEventFilter
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1315,1
    - Dst: parentWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1319,1
    - Dst: KeySelectorControl::buildAppHotkeysList
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1321,1
    - Dst: KeySelectorControl::finish
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1323,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1325,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1326,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 1
    argNames:
    - p
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1289
    functionDepth: 3
    functionLinenumber: 1289
    functionLinenumberEnd: 1328
    functionName: KeySelectorControl::KeySelectorControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - go_eof
    - QComboBox::QComboBox
    - addItem
    - setSelectionBehavior
    - setWordWrap
    - headerItem
    - setStyleSheet
    - qtr
    - KeySelectorControl::buildAppHotkeysList
    - KeySelectorControl::finish
    - connect
    - QLabel::QLabel
    - setColumnCount
    - parentWidget
    - QTreeWidget::QTreeWidget
    - setAlternatingRowColors
    - SearchLineEdit::SearchLineEdit
    - installEventFilter
    linkageType: ''
    returnType: void
    signature: void KeySelectorControl::KeySelectorControl( QWidget *p )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QGridLayout::QGridLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1332,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1333,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1334,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1335,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1336,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1337,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1338,1
    - Dst: QGridLayout*::addLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - l
    - line
    argTypes:
    - QGridLayout*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1340
    functionName: KeySelectorControl::insertInto
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - QGridLayout::QGridLayout
    - QGridLayout*::addLayout
    - QGridLayout*::addWidget
    linkageType: ''
    returnType: void
    signature: void KeySelectorControl::insertInto( QGridLayout *l, int line )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QWidget*::findChildren
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1344,1
    - Dst: shortcuts
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1347,1
    - Dst: toString
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rootWidget
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1342
    functionDepth: 0
    functionLinenumber: 1342
    functionLinenumberEnd: 1351
    functionName: KeySelectorControl::buildAppHotkeysList
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - shortcuts
    - QWidget*::findChildren
    - toString
    linkageType: ''
    returnType: void
    signature: void KeySelectorControl::buildAppHotkeysList( QWidget *rootWidget )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QAction*::shortcuts
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1347,1
    - Dst: toString
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - action
    argTypes:
    - QAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1350
    functionName: foreach
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 53
    functionsReached:
    - QAction*::shortcuts
    - toString
    linkageType: ''
    returnType: void
    signature: void foreach( const QAction *action, actionsList )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: module_get_main
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1356,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1357,1
    - Dst: module_config_get
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1363,1
    - Dst: QList::reserve
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1366,1
    - Dst: strncmp
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1375,1
    - Dst: QList::append
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1377,1
    - Dst: KeyTableItem::KeyTableItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1381,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1383,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1385,1
    - Dst: KeyTableItem*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1387,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1387,1
    - Dst: KeyTableItem*::setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1389,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1389,1
    - Dst: KeyTableItem*::set_keys
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1391,1
    - Dst: KeyTableItem*::setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1392,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1392,1
    - Dst: KeyTableItem*::setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1393,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1393,1
    - Dst: addTopLevelItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1395,1
    - Dst: QList::count
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1398,1
    - Dst: static_cast<KeyTableItem *>
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1402,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1404,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1407,1
    - Dst: KeyTableItem*::set_keys
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1408,1
    - Dst: module_config_free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1414,1
    - Dst: resizeColumnToContents
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1416,1
    - Dst: resizeColumnToContents
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1417,1
    - Dst: setUniformRowHeights
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1419,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1421,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1422,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( p_main )
      pos:
        line_end: 1356
        line_start: 1356
        source_file: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    constantsTouched: []
    func_position:
      end: 1423
      start: 1353
    functionDepth: 3
    functionLinenumber: 1353
    functionLinenumberEnd: 1423
    functionName: KeySelectorControl::finish
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - assert
    - module_get_main
    - connect
    - module_config_get
    - KeyTableItem::KeyTableItem
    - qfu
    - addTopLevelItem
    - KeyTableItem*::setText
    - KeyTableItem*::setToolTip
    - static_cast<KeyTableItem *>
    - KeyTableItem*::set_keys
    - go_eof
    - qtr
    - strncmp
    - strcmp
    - module_config_free
    - QList::reserve
    - resizeColumnToContents
    - qfut
    - setUniformRowHeights
    - QList::append
    - QList::count
    linkageType: ''
    returnType: void
    signature: void KeySelectorControl::finish()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1427,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - visible
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1425
    functionDepth: 1
    functionLinenumber: 1425
    functionLinenumberEnd: 1429
    functionName: KeySelectorControl::changeVisibility
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - setVisible
    linkageType: ''
    returnType: void
    signature: void KeySelectorControl::changeVisibility( bool visible )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1433,1
    - Dst: itemData
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1434,1
    - Dst: currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1434,1
    - Dst: QTreeWidgetItem*::text
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1447,1
    - Dst: QTreeWidgetItem*::setHidden
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1453,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1431
    functionDepth: 0
    functionLinenumber: 1431
    functionLinenumberEnd: 1455
    functionName: KeySelectorControl::filter
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - QTreeWidgetItem*::text
    - itemData
    - QTreeWidgetItem*::setHidden
    - text
    - currentIndex
    linkageType: ''
    returnType: void
    signature: void KeySelectorControl::filter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KeySelectorControl::selectKey
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1459,1
    - Dst: static_cast<KeyTableItem *>
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - item
    - column
    argTypes:
    - QTreeWidgetItem*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1457
    functionDepth: 1
    functionLinenumber: 1457
    functionLinenumberEnd: 1460
    functionName: KeySelectorControl::selectKey
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - KeySelectorControl::selectKey
    - static_cast<KeyTableItem *>
    linkageType: ''
    returnType: void
    signature: void KeySelectorControl::selectKey( QTreeWidgetItem *item, int column
      )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<KeyTableItem *>
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1466,1
    - Dst: currentItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1466,1
    - Dst: KeyInputDialog::KeyInputDialog
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1476,1
    - Dst: KeyInputDialog*::setExistingkeysSet
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1477,1
    - Dst: KeyInputDialog*::exec
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1478,1
    - Dst: KeyInputDialog*::result
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1480,1
    - Dst: KeySelectorControl::reassign_key
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1484,1
    - Dst: KeyTableItem*::set_keys
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1486,1
    - Dst: KeyInputDialog*::result
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1488,1
    - Dst: KeySelectorControl::unset
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1489,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - item
    - column
    argTypes:
    - KeyTableItem*
    - enum ColumnIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1462
    functionDepth: 1
    functionLinenumber: 1462
    functionLinenumberEnd: 1492
    functionName: KeySelectorControl::selectKey
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - KeyTableItem*::set_keys
    - KeySelectorControl::unset
    - KeySelectorControl::reassign_key
    - KeyInputDialog*::result
    - currentItem
    - static_cast<KeyTableItem *>
    - KeyInputDialog*::setExistingkeysSet
    - KeyInputDialog::KeyInputDialog
    - KeyInputDialog*::exec
    linkageType: ''
    returnType: void
    signature: void KeySelectorControl::selectKey( KeyTableItem *item, enum ColumnIndex
      column )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<KeyTableItem *>
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1498,1
    - Dst: config_PutPsz
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1500,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1500,1
    - Dst: config_PutPsz
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1501,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1494
    functionDepth: 1
    functionLinenumber: 1494
    functionLinenumberEnd: 1503
    functionName: KeySelectorControl::doApply
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - config_PutPsz
    - qtu
    - static_cast<KeyTableItem *>
    linkageType: ''
    returnType: void
    signature: void KeySelectorControl::doApply()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1508,1
    - Dst: KeySelectorControl::tableContextMenuEvent
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1510,1
    - Dst: static_cast<QContextMenuEvent*>
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1510,1
    - Dst: QEvent*::type
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1515,1
    - Dst: QuitSpy::eventFilter
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1516,1
    - Dst: static_cast<QKeyEvent*>
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1518,1
    - Dst: clearFocus
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1521,1
    - Dst: KeySelectorControl::selectKey
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1526,1
    - Dst: currentItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1526,1
    - Dst: currentColumn
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1526,1
    - Dst: currentColumn
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1530,1
    - Dst: KeySelectorControl::unset
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1531,1
    - Dst: currentItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1531,1
    - Dst: currentColumn
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1531,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - obj
    - e
    argTypes:
    - QObject*
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1505
    functionDepth: 2
    functionLinenumber: 1505
    functionLinenumberEnd: 1537
    functionName: KeySelectorControl::eventFilter
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - KeySelectorControl::selectKey
    - static_cast<QKeyEvent*>
    - QEvent*::type
    - clearFocus
    - currentItem
    - static_cast<QContextMenuEvent*>
    - KeySelectorControl::tableContextMenuEvent
    - QuitSpy::eventFilter
    - currentColumn
    - KeySelectorControl::unset
    linkageType: ''
    returnType: bool
    signature: bool KeySelectorControl::eventFilter( QObject *obj, QEvent *e )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<KeyTableItem *>
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1542,1
    - Dst: KeySelectorControl::table::currentItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1542,1
    - Dst: KeyTableItem*::isHidden
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1543,1
    - Dst: QContextMenuEvent*::reason
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1546,1
    - Dst: KeySelectorControl::table::itemAt
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1547,1
    - Dst: KeySelectorControl::table::viewport
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1547,1
    - Dst: QContextMenuEvent*::globalPos
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1547,1
    - Dst: KeySelectorControl::table::currentColumn
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1550,1
    - Dst: KeyTableItem*::normal::keys::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1557,1
    - Dst: KeyTableItem*::global::keys::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1557,1
    - Dst: KeyTableItem*::normal::keys::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1561,1
    - Dst: KeyTableItem*::global::keys::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1565,1
    - Dst: unreachable
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1569,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1572,1
    - Dst: QMenu::QMenu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1573,1
    - Dst: QMenu*::setAttribute
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1574,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1576,1
    - Dst: QAction::QAction
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1576,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1577,1
    - Dst: KeySelectorControl::selectKey
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1577,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1578,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1582,1
    - Dst: QAction::QAction
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1582,1
    - Dst: QAction*::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1584,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1586,1
    - Dst: KeySelectorControl::copy_value
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1587,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1589,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1592,1
    - Dst: QAction::QAction
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1592,1
    - Dst: QAction*::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1594,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1596,1
    - Dst: KeySelectorControl::unset
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1596,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1597,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1599,1
    - Dst: QAction::QAction
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1599,1
    - Dst: QAction*::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1601,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1603,1
    - Dst: KeySelectorControl::reset
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1605,1
    - Dst: KeySelectorControl::reset
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1608,1
    - Dst: KeySelectorControl::reset
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1609,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1612,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1614,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1615,1
    - Dst: QAction::QAction
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1616,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1617,1
    - Dst: KeySelectorControl::reset_all
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1617,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1618,1
    - Dst: QMenu*::popup
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1620,1
    - Dst: QContextMenuEvent*::globalPos
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1620,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 2
    argNames:
    - widget
    - event
    argTypes:
    - QWidget*
    - QContextMenuEvent*
    assertStmts:
    - condition: (widget)
      pos:
        line_end: 1571
        line_start: 1571
        source_file: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    constantsTouched: []
    func_position:
      end: 1621
      start: 1540
    functionDepth: 2
    functionLinenumber: 1540
    functionLinenumberEnd: 1621
    functionName: KeySelectorControl::tableContextMenuEvent
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - KeyTableItem*::isHidden
    - assert
    - KeySelectorControl::table::viewport
    - KeySelectorControl::table::currentItem
    - connect
    - QMenu*::popup
    - KeySelectorControl::selectKey
    - KeySelectorControl::table::itemAt
    - static_cast<KeyTableItem *>
    - QContextMenuEvent*::reason
    - QMenu::QMenu
    - QAction::QAction
    - QAction*::setEnabled
    - QMenu*::setAttribute
    - QContextMenuEvent*::globalPos
    - KeySelectorControl::reset_all
    - qtr
    - KeySelectorControl::table::currentColumn
    - QMenu*::addAction
    - KeySelectorControl::reset
    - KeyTableItem*::normal::keys::isEmpty
    - KeySelectorControl::copy_value
    - KeyTableItem*::global::keys::isEmpty
    - KeySelectorControl::unset
    - unreachable
    linkageType: ''
    returnType: void
    signature: void KeySelectorControl::tableContextMenuEvent( QWidget *widget, QContextMenuEvent
      *event )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KeySelectorControl::unset
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1626,1
    - Dst: static_cast<KeyTableItem*>
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - item
    - column
    argTypes:
    - QTreeWidgetItem*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1627
      start: 1624
    functionDepth: 1
    functionLinenumber: 1624
    functionLinenumberEnd: 1627
    functionName: KeySelectorControl::unset
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 4
    functionsReached:
    - KeySelectorControl::unset
    - static_cast<KeyTableItem*>
    linkageType: ''
    returnType: void
    signature: void KeySelectorControl::unset( QTreeWidgetItem *item, int column )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: KeyTableItem*::set_keys
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1636,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - item
    - column
    argTypes:
    - KeyTableItem*
    - enum KeySelectorControl::ColumnIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1637
      start: 1629
    functionDepth: 0
    functionLinenumber: 1629
    functionLinenumberEnd: 1637
    functionName: KeySelectorControl::unset
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 4
    functionsReached:
    - KeyTableItem*::set_keys
    linkageType: ''
    returnType: void
    signature: "void KeySelectorControl::unset( KeyTableItem *item,\n                                enum
      KeySelectorControl::ColumnIndex column )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: KeyTableItem*::get_default_keys
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1642,1
    - Dst: KeySelectorControl::find_conflict
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1643,1
    - Dst: KeyConflictDialog::KeyConflictDialog
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1646,1
    - Dst: KeyConflictDialog*::exec
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1647,1
    - Dst: KeyConflictDialog*::result
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1648,1
    - Dst: KeySelectorControl::reassign_key
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1649,1
    - Dst: KeyTableItem*::set_keys
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1653,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - item
    - column
    argTypes:
    - KeyTableItem*
    - enum KeySelectorControl::ColumnIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1639
    functionDepth: 1
    functionLinenumber: 1639
    functionLinenumberEnd: 1654
    functionName: KeySelectorControl::reset
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - KeyTableItem*::set_keys
    - KeySelectorControl::reassign_key
    - KeySelectorControl::find_conflict
    - KeyConflictDialog*::result
    - KeyConflictDialog*::exec
    - KeyConflictDialog::KeyConflictDialog
    - KeyTableItem*::get_default_keys
    linkageType: ''
    returnType: void
    signature: "void KeySelectorControl::reset( KeyTableItem *item,\n                                enum
      KeySelectorControl::ColumnIndex column )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<KeyTableItem *>
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1660,1
    - Dst: KeyTableItem*::set_keys
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1662,1
    - Dst: KeyTableItem*::get_default_keys
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1662,1
    - Dst: KeyTableItem*::set_keys
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1664,1
    - Dst: KeyTableItem*::get_default_keys
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1664,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - column
    argTypes:
    - enum KeySelectorControl::ColumnIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1656
    functionDepth: 0
    functionLinenumber: 1656
    functionLinenumberEnd: 1666
    functionName: KeySelectorControl::reset_all
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - KeyTableItem*::set_keys
    - static_cast<KeyTableItem *>
    - KeyTableItem*::get_default_keys
    linkageType: ''
    returnType: void
    signature: void KeySelectorControl::reset_all( enum KeySelectorControl::ColumnIndex
      column )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<KeyTableItem *>
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1673,1
    - Dst: KeyTableItem*::remove_key
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1675,1
    - Dst: KeyTableItem*::set_keys
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1677,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - item
    - key
    - column
    argTypes:
    - KeyTableItem*
    - QString
    - enum KeySelectorControl::ColumnIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1668
    functionDepth: 0
    functionLinenumber: 1668
    functionLinenumberEnd: 1678
    functionName: KeySelectorControl::reassign_key
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 2
    functionsReached:
    - KeyTableItem*::set_keys
    - static_cast<KeyTableItem *>
    - KeyTableItem*::remove_key
    linkageType: ''
    returnType: void
    signature: "void KeySelectorControl::reassign_key( KeyTableItem *item, const QString
      &key,\n                                       enum KeySelectorControl::ColumnIndex
      column )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QGuiApplication::clipboard
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1683,1
    - Dst: QClipboard*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1684,1
    - Dst: KeyTableItem*::get_keys
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - item
    - column
    argTypes:
    - KeyTableItem*
    - enum KeySelectorControl::ColumnIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1680
    functionDepth: 1
    functionLinenumber: 1680
    functionLinenumberEnd: 1685
    functionName: KeySelectorControl::copy_value
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - KeyTableItem*::get_keys
    - QClipboard*::setText
    - QGuiApplication::clipboard
    linkageType: ''
    returnType: void
    signature: "void KeySelectorControl::copy_value( KeyTableItem *item,\n                                     enum
      KeySelectorControl::ColumnIndex column )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1691,1
    - Dst: static_cast<KeyTableItem *>
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1695,1
    - Dst: KeyTableItem*::contains_key
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1700,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - table
    - key
    - ignore_item
    - column
    argTypes:
    - QTreeWidget*
    - QString
    - KeyTableItem*
    - enum KeySelectorControl::ColumnIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1704
      start: 1687
    functionDepth: 1
    functionLinenumber: 1687
    functionLinenumberEnd: 1704
    functionName: KeySelectorControl::find_conflict
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - KeyTableItem*::contains_key
    - static_cast<KeyTableItem *>
    - QString::isEmpty
    linkageType: ''
    returnType: KeyTableItem
    signature: "KeyTableItem * KeySelectorControl::find_conflict( QTreeWidget *table,
      QString key,\n                                                  KeyTableItem
      *ignore_item,\n                                                  enum KeySelectorControl::ColumnIndex
      column )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - column
    argTypes:
    - enum KeySelectorControl::ColumnIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1711
      start: 1706
    functionDepth: 0
    functionLinenumber: 1706
    functionLinenumberEnd: 1711
    functionName: '&KeyTableItem::get_keys( enum KeySelectorControl::ColumnIndex column
      )'
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString &KeyTableItem::get_keys( enum KeySelectorControl::ColumnIndex
      column )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - column
    argTypes:
    - enum KeySelectorControl::ColumnIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1713
    functionDepth: 0
    functionLinenumber: 1713
    functionLinenumberEnd: 1718
    functionName: KeyTableItem::get_default_keys
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString KeyTableItem::get_default_keys( enum KeySelectorControl::ColumnIndex
      column )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1733,1
    - Dst: QString::replace
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1733,1
    - Dst: KeyTableItem::font
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1734,1
    - Dst: QFont::setWeight
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1735,1
    - Dst: setFont
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1736,1
    - Dst: QFont::setWeight
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1738,1
    - Dst: setFont
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1739,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - keys
    - column
    argTypes:
    - QString
    - enum KeySelectorControl::ColumnIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1740
      start: 1720
    functionDepth: 1
    functionLinenumber: 1720
    functionLinenumberEnd: 1740
    functionName: KeyTableItem::set_keys
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - QString::replace
    - KeyTableItem::font
    - QFont::setWeight
    - setText
    - setFont
    linkageType: ''
    returnType: void
    signature: void KeyTableItem::set_keys( QString keys, enum KeySelectorControl::ColumnIndex
      column )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_keys
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - column
    argTypes:
    - QString
    - enum KeySelectorControl::ColumnIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1745
      start: 1742
    functionDepth: 0
    functionLinenumber: 1742
    functionLinenumberEnd: 1745
    functionName: KeyTableItem::contains_key
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - get_keys
    linkageType: ''
    returnType: bool
    signature: bool KeyTableItem::contains_key( const QString &key, enum KeySelectorControl::ColumnIndex
      column )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_keys
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1749,1
    - Dst: QStringList::removeAll
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1750,1
    - Dst: KeyTableItem::set_keys
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1751,1
    - Dst: QStringList::join
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - key
    - column
    argTypes:
    - QString
    - enum KeySelectorControl::ColumnIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1752
      start: 1747
    functionDepth: 0
    functionLinenumber: 1747
    functionLinenumberEnd: 1752
    functionName: KeyTableItem::remove_key
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - KeyTableItem::set_keys
    - get_keys
    - QStringList::removeAll
    - QStringList::join
    linkageType: ''
    returnType: void
    signature: void KeyTableItem::remove_key( const QString &key, enum KeySelectorControl::ColumnIndex
      column )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setModal
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1763,1
    - Dst: WheelToVLCConverter::WheelToVLCConverter
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1767,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1768,1
    - Dst: VLCKeyToString
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1769,1
    - Dst: VLCKeyToString
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1770,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1771,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1771,1
    - Dst: KeyInputDialog::checkForConflicts
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1772,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1772,1
    - Dst: setWindowTitle
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1777,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1777,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1778,1
    - Dst: setWindowRole
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1779,1
    - Dst: QVBoxLayout::QVBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1781,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1782,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1783,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1782,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1784,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1786,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1787,1
    - Dst: QVBoxLayout*::insertWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1788,1
    - Dst: QDialogButtonBox::QDialogButtonBox
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1790,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1791,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1791,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1792,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1792,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1793,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1793,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1794,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1795,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1796,1
    - Dst: setDefault
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1797,1
    - Dst: setFocusPolicy
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1799,1
    - Dst: setFocusPolicy
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1800,1
    - Dst: QPushButton*::setFocusPolicy
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1801,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1803,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1804,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1806,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1807,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 3
    argNames:
    - table_
    - keyItem_
    - column_
    argTypes:
    - QTreeWidget*
    - KeyTableItem*
    - enum KeySelectorControl::ColumnIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1757
    functionDepth: 1
    functionLinenumber: 1757
    functionLinenumberEnd: 1809
    functionName: KeyInputDialog::KeyInputDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - QString
    - QVBoxLayout*::insertWidget
    - setWindowRole
    - connect
    - BUTTONACT
    - QLabel::QLabel
    - QPushButton*::setFocusPolicy
    - setDefault
    - QVBoxLayout*::addWidget
    - setText
    - KeyInputDialog::checkForConflicts
    - WheelToVLCConverter::WheelToVLCConverter
    - QVBoxLayout::QVBoxLayout
    - setWindowTitle
    - qtr
    - QPushButton::QPushButton
    - setModal
    - VLCKeyToString
    - QDialogButtonBox::QDialogButtonBox
    - hide
    - setFocusPolicy
    - QDialogButtonBox*::addButton
    - text
    linkageType: ''
    returnType: void
    signature: "void KeyInputDialog::KeyInputDialog( QTreeWidget *table_,\n                                KeyTableItem
      * keyItem_,\n                                enum KeySelectorControl::ColumnIndex
      column_ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keyset
    argTypes:
    - QSet<QString>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1814
      start: 1811
    functionDepth: 0
    functionLinenumber: 1811
    functionLinenumberEnd: 1814
    functionName: KeyInputDialog::setExistingkeysSet
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeyInputDialog::setExistingkeysSet( const QSet<QString> *keyset
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: accept
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1821,1
    - Dst: KeySelectorControl::find_conflict
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1825,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1828,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1829,1
    - Dst: KeyTableItem*::text
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1830,1
    - Dst: show
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1831,1
    - Dst: show
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1832,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1833,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1839,1
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1840,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1842,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1843,1
    - Dst: show
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1846,1
    - Dst: show
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1847,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1848,1
    - Dst: accept
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1852,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - sequence
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1816
    functionDepth: 2
    functionLinenumber: 1816
    functionLinenumberEnd: 1853
    functionName: KeyInputDialog::checkForConflicts
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - KeySelectorControl::find_conflict
    - hide
    - QString::isEmpty
    - show
    - qtr
    - KeyTableItem*::text
    - accept
    - setText
    - contains
    linkageType: ''
    returnType: void
    signature: void KeyInputDialog::checkForConflicts( const QString &sequence )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1857,1
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1858,1
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1859,1
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1860,1
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1861,1
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1862,1
    - Dst: qtEventToVLCKey
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1864,1
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1865,1
    - Dst: QKeyEvent*::modifiers
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1865,1
    - Dst: VLCKeyToString
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1866,1
    - Dst: VLCKeyToString
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1867,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1868,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1868,1
    - Dst: KeyInputDialog::checkForConflicts
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1869,1
    - Dst: QKeySequence::toString
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1869,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - e
    argTypes:
    - QKeyEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1870
      start: 1855
    functionDepth: 3
    functionLinenumber: 1855
    functionLinenumberEnd: 1870
    functionName: KeyInputDialog::keyPressEvent
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - VLCKeyToString
    - QKeyEvent*::modifiers
    - qtr
    - qtEventToVLCKey
    - QKeySequence::toString
    - setText
    - KeyInputDialog::checkForConflicts
    - QKeyEvent*::key
    linkageType: ''
    returnType: void
    signature: void KeyInputDialog::keyPressEvent( QKeyEvent *e )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KeyInputDialog::wheelEvent
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - QWheelEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1875
      start: 1872
    functionDepth: 1
    functionLinenumber: 1872
    functionLinenumberEnd: 1875
    functionName: KeyInputDialog::wheelEvent
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - KeyInputDialog::wheelEvent
    linkageType: ''
    returnType: void
    signature: void KeyInputDialog::wheelEvent( QWheelEvent *e )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: done
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1877
      start: 1877
    functionDepth: 0
    functionLinenumber: 1877
    functionLinenumberEnd: 1877
    functionName: KeyInputDialog::unsetAction
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 0
    functionsReached:
    - done
    linkageType: ''
    returnType: void
    signature: void KeyInputDialog::unsetAction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setModal
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1883,1
    - Dst: setWindowTitle
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1887,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1887,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1888,1
    - Dst: setWindowRole
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1889,1
    - Dst: QVBoxLayout::QVBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1891,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1892,1
    - Dst: QLabel*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1893,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1894,1
    - Dst: KeyTableItem*::text
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1895,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1896,1
    - Dst: QDialogButtonBox::QDialogButtonBox
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1898,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1899,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1899,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1900,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1900,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1901,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1902,1
    - Dst: QPushButton*::setDefault
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1903,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1905,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1907,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp:1908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - table
    - item
    - column
    argTypes:
    - QTreeWidget*
    - KeyTableItem*
    - enum KeySelectorControl::ColumnIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1909
      start: 1879
    functionDepth: 1
    functionLinenumber: 1879
    functionLinenumberEnd: 1909
    functionName: KeyConflictDialog::KeyConflictDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
    functionUses: 1
    functionsReached:
    - QDialogButtonBox::QDialogButtonBox
    - QLabel*::setText
    - setWindowRole
    - QVBoxLayout*::addWidget
    - setWindowTitle
    - qtr
    - KeyTableItem*::text
    - QDialogButtonBox*::addButton
    - QPushButton*::setDefault
    - connect
    - QPushButton::QPushButton
    - setModal
    - QLabel::QLabel
    - QVBoxLayout::QVBoxLayout
    linkageType: ''
    returnType: void
    signature: "void KeyConflictDialog::KeyConflictDialog( QTreeWidget *table, KeyTableItem
      * item,\n                                      enum KeySelectorControl::ColumnIndex
      column )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.hpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: ~PrefsTreeItem()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.hpp
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void ~PrefsTreeItem()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PrefsTreeItem *>
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.hpp:74,1
    - Dst: xml::add_child
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.hpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: PrefsTreeItem::child
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.hpp
    functionUses: 0
    functionsReached:
    - static_cast<PrefsTreeItem *>
    - xml::add_child
    linkageType: ''
    returnType: PrefsTreeItem
    signature: PrefsTreeItem *child(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PrefsTreeItem *>
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.hpp:102,1
    - Dst: PrefsTree::topLevelItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.hpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: PrefsTree::topLevelItem
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/complete_preferences.hpp
    functionUses: 4
    functionsReached:
    - static_cast<PrefsTreeItem *>
    - PrefsTree::topLevelItem
    linkageType: ''
    returnType: PrefsTreeItem
    signature: PrefsTreeItem *topLevelItem(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: ~SPrefsCatList()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SPrefsCatList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - label
    - widget
    argTypes:
    - QLabel*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: SPrefsPanel::AudioControlGroup
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AudioControlGroup(QLabel* label, QWidget* widget, QPushButton*
      button = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: SPrefsPanel::AudioControlGroup
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AudioControlGroup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getType
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.hpp:84,1
    - Dst: return
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.hpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: getName
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.hpp
    functionUses: 10
    functionsReached:
    - return
    - getType
    linkageType: ''
    returnType: "class ConfigControl : public QObject\n{\n    Q_OBJECT\npublic:\n
      \   int getType() const { return (p_item) ? p_item->i_type : -1; }"
    signature: "class ConfigControl : public QObject\n{\n    Q_OBJECT\npublic:\n    int
      getType() const { return (p_item) ? p_item->i_type : -1; } * getName() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: changeVisibility
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.hpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: hide
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.hpp
    functionUses: 27
    functionsReached:
    - changeVisibility
    linkageType: ''
    returnType: void
    signature: void hide()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: changeVisibility
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.hpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: show
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.hpp
    functionUses: 23
    functionsReached:
    - changeVisibility
    linkageType: ''
    returnType: void
    signature: void show()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNUSED
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.hpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: insertInto
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.hpp
    functionUses: 4
    functionsReached:
    - Q_UNUSED
    linkageType: ''
    returnType: void
    signature: void insertInto( QGridLayout*, int row = 0 )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNUSED
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.hpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: insertInto
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.hpp
    functionUses: 4
    functionsReached:
    - Q_UNUSED
    linkageType: ''
    returnType: void
    signature: void insertInto( QBoxLayout*, int index = 0 )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i
    argTypes:
    - module_config_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: VIntConfigControl::VIntConfigControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VIntConfigControl( module_config_t *i )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: ~ColorConfigControl()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ColorConfigControl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i
    argTypes:
    - module_config_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 230
    functionName: VFloatConfigControl::VFloatConfigControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VFloatConfigControl( module_config_t *i )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i
    argTypes:
    - module_config_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 273
    functionName: VStringConfigControl::VStringConfigControl
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VStringConfigControl( module_config_t *i )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 426
    functionName: KeySelectorControl::storeValue
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void storeValue() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 479
    functionName: KeyTableItem::KeyTableItem
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeyTableItem()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KeyTableItem::set_keys
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.hpp:485,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.hpp:485,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.hpp:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keys
    - column
    argTypes:
    - char*
    - enum KeySelectorControl::ColumnIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 486
    functionName: KeyTableItem::set_keys
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences_widgets.hpp
    functionUses: 2
    functionsReached:
    - qfut
    - KeyTableItem::set_keys
    - qfu
    linkageType: ''
    returnType: void
    signature: void set_keys( const char *keys, enum KeySelectorControl::ColumnIndex
      column )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: ExpertPrefsTableItem::getType
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '&getTitle() const'
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString &getTitle() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: ExpertPrefsTableItem::getConfig
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: module_config_t
    signature: module_config_t *getConfig() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: ExpertPrefsTableItem::matchesDefault
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool matchesDefault() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.hpp:94,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.hpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - row
    argTypes:
    - int
    assertStmts:
    - condition: ( row < items.count() )
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.hpp
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: ExpertPrefsTableModel::itemAt
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.hpp
    functionUses: 3
    functionsReached:
    - count
    - assert
    linkageType: ''
    returnType: ExpertPrefsTableItem
    signature: ExpertPrefsTableItem *itemAt( int row ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExpertPrefsTableModel::itemAt
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.hpp:99,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.hpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: ExpertPrefsTableModel::itemAt
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/expert_model.hpp
    functionUses: 4
    functionsReached:
    - QModelIndex::row
    - ExpertPrefsTableModel::itemAt
    linkageType: ''
    returnType: ExpertPrefsTableItem
    signature: ExpertPrefsTableItem *itemAt( const QModelIndex &index ) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setWindowTitle
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:55,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:55,1
    - Dst: setWindowRole
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:56,1
    - Dst: setWindowModality
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:57,1
    - Dst: setAttribute
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:61,1
    - Dst: QGridLayout::QGridLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:65,1
    - Dst: setLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:66,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:69,1
    - Dst: QGroupBox::QGroupBox
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:69,1
    - Dst: setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:70,1
    - Dst: QHBoxLayout::QHBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:71,1
    - Dst: QHBoxLayout*::setSpacing
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:72,1
    - Dst: QHBoxLayout*::setContentsMargins
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:73,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:74,1
    - Dst: QRadioButton::QRadioButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:74,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:75,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:75,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:76,1
    - Dst: QRadioButton::QRadioButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:76,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:77,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:77,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:78,1
    - Dst: QRadioButton::QRadioButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:78,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:79,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:79,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:80,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:81,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:82,1
    - Dst: setLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:83,1
    - Dst: setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:84,1
    - Dst: QDialogButtonBox::QDialogButtonBox
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:87,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:88,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:88,1
    - Dst: QPushButton*::setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:89,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:89,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:90,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:90,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:91,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:91,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:93,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:94,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:95,1
    - Dst: QStackedWidget::QStackedWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:98,1
    - Dst: QWidget::QWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:101,1
    - Dst: setLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:102,1
    - Dst: QVBoxLayout::QVBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:102,1
    - Dst: QWidget::QWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:104,1
    - Dst: setLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:105,1
    - Dst: QVBoxLayout::QVBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:105,1
    - Dst: QStackedWidget::QStackedWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:107,1
    - Dst: layout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:111,1
    - Dst: layout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:112,1
    - Dst: layout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:114,1
    - Dst: setContentsMargins
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:115,1
    - Dst: layout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:116,1
    - Dst: insertWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:118,1
    - Dst: QSplitter::QSplitter
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:121,1
    - Dst: QWidget::QWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:123,1
    - Dst: setLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:124,1
    - Dst: QVBoxLayout::QVBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:124,1
    - Dst: QStackedWidget::QStackedWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:128,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:130,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:131,1
    - Dst: setSizes
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:133,1
    - Dst: QList<int>
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:133,1
    - Dst: sizePolicy
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:134,1
    - Dst: sizePolicy
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:135,1
    - Dst: insertWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:137,1
    - Dst: QWidget::QWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:140,1
    - Dst: QGridLayout::QGridLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:141,1
    - Dst: setLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:142,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:147,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:148,1
    - Dst: setWordWrap
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:150,1
    - Dst: setWordWrap
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:151,1
    - Dst: SetSoundfont
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:153,1
    - Dst: QFont::setPointSize
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:154,1
    - Dst: QFont::pointSize
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:154,1
    - Dst: QFont::setUnderline
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:155,1
    - Dst: setFont
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:156,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:158,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:159,1
    - Dst: insertWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:161,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:164,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:165,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:166,1
    - Dst: QGridLayout*::setRowStretch
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:167,1
    - Dst: QGridLayout*::setContentsMargins
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:168,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:170,1
    - Dst: PrefsDialog::setExpert
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:172,1
    - Dst: PrefsDialog::setAdvanced
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:173,1
    - Dst: PrefsDialog::setSimple
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:174,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:177,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:178,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:179,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:181,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:182,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:183,1
    - Dst: QVLCTools::restoreWidgetPosition
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:185,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:185,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 92
    argCount: 2
    argNames:
    - parent
    - _p_intf
    argTypes:
    - QWindow*
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 186
    functionName: PrefsDialog::PrefsDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp
    functionUses: 1
    functionsReached:
    - insertWidget
    - setToolTip
    - QStackedWidget::QStackedWidget
    - setWindowRole
    - QGridLayout*::addWidget
    - QGridLayout*::setRowStretch
    - QGridLayout*::setContentsMargins
    - QSplitter::QSplitter
    - BUTTONACT
    - setAlignment
    - QPushButton*::setToolTip
    - setSizes
    - QLabel::QLabel
    - SetSoundfont
    - PrefsDialog::setSimple
    - setChecked
    - QGridLayout::QGridLayout
    - QHBoxLayout::QHBoxLayout
    - setWordWrap
    - QFont::pointSize
    - sizePolicy
    - QHBoxLayout*::setContentsMargins
    - setFont
    - QVBoxLayout::QVBoxLayout
    - addWidget
    - setWindowTitle
    - var_InheritInteger
    - qtr
    - QWidget::QWidget
    - PrefsDialog::setExpert
    - PrefsDialog::setAdvanced
    - QPushButton::QPushButton
    - setLayout
    - QRadioButton::QRadioButton
    - QHBoxLayout*::addWidget
    - QDialogButtonBox::QDialogButtonBox
    - QFont::setUnderline
    - QGroupBox::QGroupBox
    - setAttribute
    - QDialogButtonBox*::addButton
    - QHBoxLayout*::setSpacing
    - setContentsMargins
    - QVLCTools::restoreWidgetPosition
    - QFont::setPointSize
    - layout
    - setWindowModality
    - QSize
    - QList<int>
    linkageType: ''
    returnType: void
    signature: void PrefsDialog::PrefsDialog( QWindow *parent, qt_intf_t *_p_intf
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: module_list_free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: PrefsDialog::~PrefsDialog()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp
    functionUses: 0
    functionsReached:
    - module_list_free
    linkageType: ''
    returnType: void
    signature: void PrefsDialog::~PrefsDialog()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: module_list_get
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:199,1
    - Dst: SearchLineEdit::SearchLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:201,1
    - Dst: setMinimumHeight
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:202,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:203,1
    - Dst: QCheckBox::QCheckBox
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:203,1
    - Dst: QKeySequence
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:205,1
    - Dst: QShortcut::QShortcut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:205,1
    - Dst: ExpertPrefsTableModel::ExpertPrefsTableModel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:207,1
    - Dst: ExpertPrefsTable::ExpertPrefsTable
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:208,1
    - Dst: setModel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:209,1
    - Dst: resizeColumnToContents
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:210,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:212,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:213,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:214,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:216,1
    - Dst: selectionModel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:216,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:218,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:220,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:222,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:223,1
    - Dst: setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:226,1
    - Dst: model
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:227,1
    - Dst: QModelIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:227,1
    - Dst: setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:230,1
    - Dst: setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:231,1
    - Dst: setWindowTitle
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:232,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 193
    functionDepth: 4
    functionLinenumber: 193
    functionLinenumberEnd: 233
    functionName: PrefsDialog::setExpert
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp
    functionUses: 1
    functionsReached:
    - QShortcut::QShortcut
    - model
    - connect
    - selectionModel
    - setMinimumHeight
    - setCurrentIndex
    - setChecked
    - ExpertPrefsTable::ExpertPrefsTable
    - QCheckBox::QCheckBox
    - SearchLineEdit::SearchLineEdit
    - go_eof
    - addWidget
    - setWindowTitle
    - qtr
    - module_list_get
    - setModel
    - resizeColumnToContents
    - QModelIndex
    - ExpertPrefsTableModel::ExpertPrefsTableModel
    - QKeySequence
    linkageType: ''
    returnType: void
    signature: void PrefsDialog::setExpert()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: module_list_get
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:241,1
    - Dst: PrefsTree::PrefsTree
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:243,1
    - Dst: SearchLineEdit::SearchLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:245,1
    - Dst: setMinimumHeight
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:246,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:248,1
    - Dst: QCheckBox::QCheckBox
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:248,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:249,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:250,1
    - Dst: QKeySequence
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:252,1
    - Dst: QShortcut::QShortcut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:252,1
    - Dst: layout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:254,1
    - Dst: layout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:255,1
    - Dst: layout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:256,1
    - Dst: setSizePolicy
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:257,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:259,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:260,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:261,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:262,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:262,1
    - Dst: setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:265,1
    - Dst: model
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:266,1
    - Dst: QModelIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:266,1
    - Dst: setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:269,1
    - Dst: setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:270,1
    - Dst: setWindowTitle
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:271,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 235
    functionDepth: 3
    functionLinenumber: 235
    functionLinenumberEnd: 272
    functionName: PrefsDialog::setAdvanced
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp
    functionUses: 1
    functionsReached:
    - go_eof
    - setSizePolicy
    - setToolTip
    - QModelIndex
    - QShortcut::QShortcut
    - model
    - setWindowTitle
    - qtr
    - module_list_get
    - connect
    - layout
    - PrefsTree::PrefsTree
    - QCheckBox::QCheckBox
    - QKeySequence
    - setMinimumHeight
    - setCurrentIndex
    - SearchLineEdit::SearchLineEdit
    - setChecked
    linkageType: ''
    returnType: void
    signature: void PrefsDialog::setAdvanced()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SPrefsCatList::SPrefsCatList
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:279,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:280,1
    - Dst: layout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:282,1
    - Dst: setSizePolicy
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:283,1
    - Dst: PrefsDialog::changeSimplePanel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:287,1
    - Dst: setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:289,1
    - Dst: setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:290,1
    - Dst: setWindowTitle
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:291,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 292
    functionName: PrefsDialog::setSimple
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp
    functionUses: 1
    functionsReached:
    - setSizePolicy
    - PrefsDialog::changeSimplePanel
    - SPrefsCatList::SPrefsCatList
    - setWindowTitle
    - qtr
    - connect
    - layout
    - setCurrentIndex
    - setChecked
    linkageType: ''
    returnType: void
    signature: void PrefsDialog::setSimple()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SPrefsPanel::SPrefsPanel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:299,1
    - Dst: insertWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:300,1
    - Dst: setCurrentWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 304
    functionName: PrefsDialog::changeSimplePanel
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp
    functionUses: 1
    functionsReached:
    - insertWidget
    - SPrefsPanel::SPrefsPanel
    - setCurrentWidget
    linkageType: ''
    returnType: void
    signature: void PrefsDialog::changeSimplePanel( int number )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PrefsTreeItem *>
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:310,1
    - Dst: AdvPrefsPanel::AdvPrefsPanel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:314,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:315,1
    - Dst: setCurrentWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - item
    argTypes:
    - QTreeWidgetItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 318
    functionName: PrefsDialog::changeAdvPanel
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp
    functionUses: 0
    functionsReached:
    - addWidget
    - static_cast<PrefsTreeItem *>
    - setCurrentWidget
    - AdvPrefsPanel::AdvPrefsPanel
    linkageType: ''
    returnType: void
    signature: void PrefsDialog::changeAdvPanel( QTreeWidgetItem *item )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNUSED
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:323,1
    - Dst: QModelIndex::isValid
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:324,1
    - Dst: myModel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:326,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:328,1
    - Dst: ExpertPrefsTableItem*::getTitle
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:328,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:329,1
    - Dst: ExpertPrefsTableItem*::getDescription
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - current
    - previous
    argTypes:
    - QModelIndex
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 330
    functionName: PrefsDialog::changeExpertDesc
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp
    functionUses: 0
    functionsReached:
    - Q_UNUSED
    - ExpertPrefsTableItem*::getDescription
    - myModel
    - ExpertPrefsTableItem*::getTitle
    - setText
    - QModelIndex::isValid
    linkageType: ''
    returnType: void
    signature: void PrefsDialog::changeExpertDesc( const QModelIndex &current, const
      QModelIndex &previous )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:335,1
    - Dst: isVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:335,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:337,1
    - Dst: widget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:339,1
    - Dst: qobject_cast<SPrefsPanel *>
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:340,1
    - Dst: widget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:340,1
    - Dst: isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:343,1
    - Dst: isVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:343,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:345,1
    - Dst: applyAll
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:346,1
    - Dst: isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:348,1
    - Dst: isVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:348,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:350,1
    - Dst: applyAll
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:351,1
    - Dst: config_SaveConfigFile
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:355,1
    - Dst: DialogsProvider::getInstance
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:357,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:358,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:359,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:365,1
    - Dst: DialogsProvider::getInstance
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:365,1
    - Dst: DialogsProvider::getInstance
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:366,1
    - Dst: p_mi::reloadPrefs
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:372,1
    - Dst: accept
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:373,1
    - Dst: QVLCTools::saveWidgetPosition
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:377,1
    - Dst: vlc_dialog_wait_question
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:381,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:383,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:384,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 400
    functionName: PrefsDialog::save
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp
    functionUses: 0
    functionsReached:
    - qobject_cast<SPrefsPanel *>
    - p_mi::reloadPrefs
    - vlc_dialog_wait_question
    - isVisible
    - config_SaveConfigFile
    - qtr
    - DialogsProvider::getInstance
    - applyAll
    - QVLCTools::saveWidgetPosition
    - widget
    - msg_Dbg
    - accept
    - QMetaObject::invokeMethod
    - isChecked
    linkageType: ''
    returnType: void
    signature: void PrefsDialog::save()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QVLCTools::saveWidgetPosition
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:411,1
    - Dst: reject
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 413
    functionName: PrefsDialog::cancel
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp
    functionUses: 0
    functionsReached:
    - QVLCTools::saveWidgetPosition
    - reject
    linkageType: ''
    returnType: void
    signature: void PrefsDialog::cancel()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_dialog_wait_question
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:418,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:420,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:421,1
    - Dst: config_ResetAll
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:427,1
    - Dst: config_SaveConfigFile
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:428,1
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:429,1
    - Dst: p_mi::reloadPrefs
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:431,1
    - Dst: p_mi::reloadFromSettings
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:432,1
    - Dst: cleanLang
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 439
    functionName: PrefsDialog::reset
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp
    functionUses: 0
    functionsReached:
    - vlc_dialog_wait_question
    - p_mi::reloadPrefs
    - p_mi::reloadFromSettings
    - qtr
    - config_ResetAll
    - cleanLang
    - getSettings
    - config_SaveConfigFile
    linkageType: ''
    returnType: void
    signature: void PrefsDialog::reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:443,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - checked
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 444
    functionName: PrefsDialog::expertTableFilterModifiedToggled
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp
    functionUses: 0
    functionsReached:
    - text
    - filter
    linkageType: ''
    returnType: void
    signature: void PrefsDialog::expertTableFilterModifiedToggled( bool checked )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:448,1
    - Dst: isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' text'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 449
    functionName: PrefsDialog::expertTableFilterChanged
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp
    functionUses: 0
    functionsReached:
    - isChecked
    - filter
    linkageType: ''
    returnType: void
    signature: void PrefsDialog::expertTableFilterChanged( const QString & text )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' text'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 454
    functionName: PrefsDialog::advancedTreeFilterChanged
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp
    functionUses: 0
    functionsReached:
    - filter
    linkageType: ''
    returnType: void
    signature: void PrefsDialog::advancedTreeFilterChanged( const QString & text )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setLoadedOnly
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:458,1
    - Dst: isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 459
    functionName: PrefsDialog::onlyLoadedToggled
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.cpp
    functionUses: 0
    functionsReached:
    - setLoadedOnly
    - isChecked
    linkageType: ''
    returnType: void
    signature: void PrefsDialog::onlyLoadedToggled()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:151,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:151,1
    - Dst: config_GetFloat
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:157,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:164,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:168,1
    - Dst: module_exists
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:168,1
    - Dst: cbrtf
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:169,1
    - Dst: config_GetFloat
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:169,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:172,1
    - Dst: config_GetFloat
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:173,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:176,1
    - Dst: module_exists
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:176,1
    - Dst: config_GetFloat
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:177,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:181,1
    - Dst: cbrtf
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:182,1
    - Dst: config_GetFloat
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:182,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:185,1
    - Dst: cbrtf
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:186,1
    - Dst: config_GetFloat
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:186,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:189,1
    - Dst: config_GetFloat
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:190,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - aout
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 194
    functionName: getDefaultAudioVolume
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 0
    functionsReached:
    - cbrtf
    - strcmp
    - module_exists
    - config_GetFloat
    linkageType: ''
    returnType: int
    signature: int getDefaultAudioVolume(const char *aout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: property
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - control
    - property
    argTypes:
    - QWidget*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: PropertyResetter::PropertyResetter
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 0
    functionsReached:
    - property
    linkageType: ''
    returnType: void
    signature: void PropertyResetter(QWidget *control, const char * property)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setProperty
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:210,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:210,1
    - Dst: vlc_assert
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: PropertyResetter::reset
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 0
    functionsReached:
    - setProperty
    - data
    - vlc_assert
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QHBoxLayout::QHBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:226,1
    - Dst: QSignalMapper::QSignalMapper
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:231,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:232,1
    - Dst: devicePixelRatioF
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:233,1
    - Dst: QToolButton::QToolButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:236,1
    - Dst: QPixmap
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:239,1
    - Dst: QPixmap::setDevicePixelRatio
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:241,1
    - Dst: QToolButton*::setIcon
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:242,1
    - Dst: QToolButton*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:243,1
    - Dst: QToolButton*::setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:244,1
    - Dst: QToolButton*::setToolButtonStyle
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:245,1
    - Dst: QToolButton*::setIconSize
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:246,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:246,1
    - Dst: QToolButton*::setMinimumWidth
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:247,1
    - Dst: QToolButton*::setSizePolicy
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:248,1
    - Dst: QToolButton*::setAutoRaise
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:249,1
    - Dst: QToolButton*::setCheckable
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:250,1
    - Dst: QToolButton*::setAutoExclusive
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:251,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:252,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:252,1
    - Dst: QSignalMapper*::setMapping
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:253,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:254,1
    - Dst: addCategory
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:257,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:257,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:257,1
    - Dst: addCategory
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:258,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:258,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:258,1
    - Dst: addCategory
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:259,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:259,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:259,1
    - Dst: addCategory
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:260,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:260,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:260,1
    - Dst: addCategory
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:261,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:261,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:261,1
    - Dst: addCategory
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:262,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:262,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:262,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:263,1
    - Dst: addCategory
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:264,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:264,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:264,1
    - Dst: qobject_cast<QToolButton*>
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:266,1
    - Dst: QSignalMapper*::mapping
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:266,1
    - Dst: QHBoxLayout*::setContentsMargins
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:267,1
    - Dst: QHBoxLayout*::setSpacing
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:268,1
    - Dst: setSizePolicy
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:270,1
    - Dst: setMinimumWidth
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:271,1
    - Dst: setLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 2
    argNames:
    - _p_intf
    - _parent
    argTypes:
    - qt_intf_t*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 223
    functionDepth: 3
    functionLinenumber: 223
    functionLinenumberEnd: 273
    functionName: SPrefsCatList::SPrefsCatList
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 1
    functionsReached:
    - QToolButton*::setText
    - QToolButton*::setIcon
    - connect
    - setMinimumWidth
    - QToolButton*::setToolButtonStyle
    - QToolButton*::setIconSize
    - QSignalMapper*::mapping
    - QToolButton*::setMinimumWidth
    - QHBoxLayout::QHBoxLayout
    - setSizePolicy
    - addCategory
    - qobject_cast<QToolButton*>
    - QToolButton::QToolButton
    - QToolButton*::setAutoExclusive
    - QHBoxLayout*::setContentsMargins
    - vlc_ml_instance_get
    - go_eof
    - QSignalMapper*::setMapping
    - QPixmap
    - setLayout
    - QToolButton*::setCheckable
    - devicePixelRatioF
    - qfut
    - QToolButton*::setAutoRaise
    - QHBoxLayout*::addWidget
    - QSignalMapper::QSignalMapper
    - QToolButton*::setSizePolicy
    - QPixmap::setDevicePixelRatio
    - QHBoxLayout*::setSpacing
    - QToolButton*::setToolTip
    - QSize
    linkageType: ''
    returnType: void
    signature: void SPrefsCatList::SPrefsCatList( qt_intf_t *_p_intf, QWidget *_parent
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: SPrefsCatList::switchPanel
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SPrefsCatList::switchPanel( int i )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: config_FindConfig
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:287,1
    - Dst: ControlType::ControlType
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:290,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:291,1
    - Dst: WidgetType*::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:295,1
    - Dst: QLabel*::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - option
    - label
    - control
    argTypes:
    - char*
    - QLabel*
    - WidgetType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 299
    functionName: SPrefsPanel::configGeneric
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 0
    functionsReached:
    - append
    - config_FindConfig
    - QLabel*::setEnabled
    - WidgetType*::setEnabled
    - ControlType::ControlType
    linkageType: ''
    returnType: void
    signature: void SPrefsPanel::configGeneric(const char* option, QLabel* label,
      WidgetType* control)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: config_FindConfig
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:304,1
    - Dst: ControlType::ControlType
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:307,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:308,1
    - Dst: WidgetType*::setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:312,1
    - Dst: QLabel*::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - option
    - label
    - control
    argTypes:
    - char*
    - QLabel*
    - WidgetType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 316
    functionName: SPrefsPanel::configGenericNoUi
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 0
    functionsReached:
    - append
    - WidgetType*::setVisible
    - config_FindConfig
    - QLabel*::setEnabled
    - ControlType::ControlType
    linkageType: ''
    returnType: void
    signature: void SPrefsPanel::configGenericNoUi(const char* option, QLabel* label,
      WidgetType* control)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: config_FindConfig
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:321,1
    - Dst: ControlType::ControlType
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:324,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:325,1
    - Dst: QLineEdit*::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:329,1
    - Dst: QLabel*::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:331,1
    - Dst: QPushButton*::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - option
    - label
    - control
    - button
    argTypes:
    - char*
    - QLabel*
    - QLineEdit*
    - QPushButton*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 335
    functionName: SPrefsPanel::configGenericFile
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 0
    functionsReached:
    - append
    - QPushButton*::setEnabled
    - config_FindConfig
    - QLabel*::setEnabled
    - ControlType::ControlType
    - QLineEdit*::setEnabled
    linkageType: ''
    returnType: void
    signature: void SPrefsPanel::configGenericFile(const char* option, QLabel* label,
      QLineEdit* control, QPushButton* button)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: config_FindConfig
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:339,1
    - Dst: BoolConfigControl::BoolConfigControl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:342,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:343,1
    - Dst: QAbstractButton*::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - option
    - control
    argTypes:
    - char*
    - QAbstractButton*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 349
    functionName: SPrefsPanel::configBool
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 0
    functionsReached:
    - append
    - BoolConfigControl::BoolConfigControl
    - QAbstractButton*::setEnabled
    - config_FindConfig
    linkageType: ''
    returnType: void
    signature: void SPrefsPanel::configBool(const char* option, QAbstractButton* control)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: QVBoxLayout::QVBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:360,1
    - Dst: QWidget::QWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:361,1
    - Dst: QVBoxLayout*::setContentsMargins
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:362,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:365,1
    - Dst: SetSoundfont
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:366,1
    - Dst: QFont::setPointSize
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:367,1
    - Dst: QFont::pointSize
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:367,1
    - Dst: QLabel*::setFont
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:368,1
    - Dst: QFrame::QFrame
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:371,1
    - Dst: QFrame*::setFrameShape
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:372,1
    - Dst: QFrame*::setFrameShadow
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:373,1
    - Dst: SetSoundfont
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:375,1
    - Dst: QFont::setItalic
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:376,1
    - Dst: setupUi
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:386,1
    - Dst: QLabel*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:387,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:387,1
    - Dst: SPrefsPanel::configBool
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:389,1
    - Dst: videoZone::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:390,1
    - Dst: enableVideo::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:390,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:391,1
    - Dst: SPrefsPanel::configBool
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:394,1
    - Dst: SPrefsPanel::configBool
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:395,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:396,1
    - Dst: fullscreenScreenBox::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:398,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:398,1
    - Dst: fullscreenScreenBox::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:402,1
    - Dst: name
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:402,1
    - Dst: config_FindConfig
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:405,1
    - Dst: i_defaultScreen < 0 || i_defaultScreen >
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:409,1
    - Dst: fullscreenScreenBox::count
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:409,1
    - Dst: fullscreenScreenBox::setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:410,1
    - Dst: fullscreenScreenBox::setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:412,1
    - Dst: SPrefsPanel::configBool
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:416,1
    - Dst: directXBox::setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:418,1
    - Dst: SPrefsPanel::configBool
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:422,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:423,1
    - Dst: kvaBox::setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:426,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:429,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:430,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:431,1
    - Dst: SPrefsPanel::configGenericFile
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:433,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:435,1
    - Dst: SPrefsPanel::configBool
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:436,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:437,1
    - Dst: setupUi
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:448,1
    - Dst: QLabel*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:449,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:449,1
    - Dst: SPrefsPanel::configBool
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:451,1
    - Dst: audioZone::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:452,1
    - Dst: enableAudio::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:452,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:453,1
    - Dst: qobject_cast<QGridLayout *>
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:457,1
    - Dst: outputAudioBox::layout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:457,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:460,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:460,1
    - Dst: QLabel*::setMinimumSize
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:461,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:461,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:462,1
    - Dst: QGridLayout*::rowCount
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:462,1
    - Dst: QComboBox::QComboBox
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:464,1
    - Dst: QLabel*::setBuddy
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:465,1
    - Dst: QComboBox*::setSizePolicy
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:466,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:467,1
    - Dst: QGridLayout*::rowCount
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:467,1
    - Dst: SPrefsPanel::AudioControlGroup
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:469,1
    - Dst: SPrefsPanel::configGenericNoUi
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:470,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:476,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:476,1
    - Dst: QLabel*::setMinimumSize
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:477,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:477,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:478,1
    - Dst: QGridLayout*::rowCount
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:478,1
    - Dst: QHBoxLayout::QHBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:480,1
    - Dst: QLineEdit::QLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:481,1
    - Dst: QLabel*::setBuddy
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:482,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:483,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:484,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:484,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:485,1
    - Dst: QGridLayout*::addLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:486,1
    - Dst: QGridLayout*::rowCount
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:486,1
    - Dst: SPrefsPanel::AudioControlGroup
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:488,1
    - Dst: SPrefsPanel::configGenericFile
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:489,1
    - Dst: audioControl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:494,1
    - Dst: audioControl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:495,1
    - Dst: audioControl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:498,1
    - Dst: module_exists
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:500,1
    - Dst: audioControl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:501,1
    - Dst: module_exists
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:503,1
    - Dst: audioControlFile
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:504,1
    - Dst: audioControl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:508,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:510,1
    - Dst: mmdevicePassthroughLabel::setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:513,1
    - Dst: mmdevicePassthroughBox::setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:514,1
    - Dst: config_GetInt
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:517,1
    - Dst: volumeValue::setMaximum
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:520,1
    - Dst: defaultVolume::setMaximum
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:521,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:523,1
    - Dst: defaultVolume_zone::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:526,1
    - Dst: resetVolumeCheckbox::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:526,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:527,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:530,1
    - Dst: SPrefsPanel::configBool
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:532,1
    - Dst: module_exists
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:534,1
    - Dst: volNormBox::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:535,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:538,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:540,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:542,1
    - Dst: SPrefsPanel::configBool
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:544,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:547,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:549,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:549,1
    - Dst: SPrefsPanel::configGenericFile
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:553,1
    - Dst: SPrefsPanel::updateAudioOptions
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:556,1
    - Dst: outputModule::currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:556,1
    - Dst: module_exists
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:559,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:561,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:563,1
    - Dst: config_ExistIntf
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:566,1
    - Dst: lastfm::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:567,1
    - Dst: lastfm::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:569,1
    - Dst: lastfm_zone::setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:571,1
    - Dst: lastfm::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:571,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:573,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:574,1
    - Dst: lastfm::hide
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:578,1
    - Dst: lastfm_zone::hide
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:579,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:583,1
    - Dst: config_GetPsz
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:585,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:586,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:588,1
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:590,1
    - Dst: volNormBox::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:591,1
    - Dst: volNormSpin::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:592,1
    - Dst: volNormBox::isEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:592,1
    - Dst: SPrefsPanel::updateAudioVolume
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:595,1
    - Dst: defaultVolume::value
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:595,1
    - Dst: setupUi
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:606,1
    - Dst: QLabel*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:607,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:607,1
    - Dst: DVDDeviceComboBox::setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:611,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:612,1
    - Dst: module_exists
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:616,1
    - Dst: config_GetPsz
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:617,1
    - Dst: config_GetPsz
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:618,1
    - Dst: config_GetPsz
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:619,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:622,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:623,1
    - Dst: DVDDeviceComboBox::setEditText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:625,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:625,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:628,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:629,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:630,1
    - Dst: QStringList
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:633,1
    - Dst: DVDDeviceComboBox::addItems
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:636,1
    - Dst: QDir
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:636,1
    - Dst: QRegularExpression
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:638,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:638,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:641,1
    - Dst: DVDDeviceComboBox::lineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:642,1
    - Dst: SPrefsPanel::configGenericFile
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:643,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:646,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:647,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:648,1
    - Dst: SPrefsPanel::configBool
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:651,1
    - Dst: module_exists
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:652,1
    - Dst: live555TransportRTSP_TCPRadio::hide
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:654,1
    - Dst: live555TransportHTTPRadio::hide
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:655,1
    - Dst: live555TransportLabel::hide
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:656,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:658,1
    - Dst: SPrefsPanel::configBool
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:659,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:660,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:661,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:662,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:663,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:664,1
    - Dst: SPrefsPanel::configBool
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:665,1
    - Dst: cachingCombo::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:669,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:669,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:669,1
    - Dst: cachingCombo::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:670,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:670,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:670,1
    - Dst: cachingCombo::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:671,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:671,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:671,1
    - Dst: cachingCombo::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:672,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:672,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:672,1
    - Dst: cachingCombo::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:673,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:673,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:673,1
    - Dst: cachingCombo::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:674,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:674,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:674,1
    - Dst: config_GetInt
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:681,1
    - Dst: TestCaC
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:683,1
    - Dst: TestCaC
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:684,1
    - Dst: TestCaC
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:685,1
    - Dst: cachingCombo::setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:687,1
    - Dst: cachingCombo::findData
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:688,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:688,1
    - Dst: setupUi
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:700,1
    - Dst: QLabel*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:701,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:701,1
    - Dst: langBox::hide
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:704,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:706,1
    - Dst: langCombo::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:707,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:707,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:708,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:708,1
    - Dst: RegOpenKeyEx
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:712,1
    - Dst: TEXT
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:712,1
    - Dst: RegQueryValueEx
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:717,1
    - Dst: TEXT
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:717,1
    - Dst: FromWide
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:718,1
    - Dst: langCombo::setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:719,1
    - Dst: langCombo::findData
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:719,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:719,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:722,1
    - Dst: skinsLabel::setText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:726,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:727,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:728,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:729,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:729,1
    - Dst: skinsLabel::setFont
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:730,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:733,1
    - Dst: osGroupBox::hide
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:735,1
    - Dst: module_exists
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:738,1
    - Dst: skins::hide
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:740,1
    - Dst: skinImage::hide
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:741,1
    - Dst: config_GetPsz
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:746,1
    - Dst: strstr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:749,1
    - Dst: skins::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:750,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:752,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:757,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:757,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:758,1
    - Dst: stylesCombo::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:759,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:759,1
    - Dst: MP4_FreeBox_keys
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:760,1
    - Dst: stylesCombo::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:763,1
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:765,1
    - Dst: auto::isValid
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:767,1
    - Dst: auto::canConvert
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:767,1
    - Dst: stylesCombo::setCurrentText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:768,1
    - Dst: auto::toString
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:768,1
    - Dst: stylesCombo::insertSeparator
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:769,1
    - Dst: stylesCombo::currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:770,1
    - Dst: stylesCombo::setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:771,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:774,1
    - Dst: std::make_unique<PropertyResetter>
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:774,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:776,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:776,1
    - Dst: QButtonGroup::QButtonGroup
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:779,1
    - Dst: addButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:780,1
    - Dst: addButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:781,1
    - Dst: addButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:782,1
    - Dst: SPrefsPanel::configBool
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:784,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:787,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:788,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:789,1
    - Dst: QButtonGroup::QButtonGroup
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:792,1
    - Dst: addButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:793,1
    - Dst: addButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:794,1
    - Dst: addButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:795,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:797,1
    - Dst: qOverload<QAbstractButton*>
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:797,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:800,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:801,1
    - Dst: SPrefsPanel::configBool
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:803,1
    - Dst: SPrefsPanel::configBool
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:804,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:805,1
    - Dst: resizingBox::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:806,1
    - Dst: embedVideo::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:806,1
    - Dst: SPrefsPanel::configBool
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:808,1
    - Dst: SPrefsPanel::configBool
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:809,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:810,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:812,1
    - Dst: notificationCombo::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:813,1
    - Dst: notificationComboLabel::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:814,1
    - Dst: notificationCombo::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:816,1
    - Dst: systrayBox::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:816,1
    - Dst: SPrefsPanel::configBool
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:818,1
    - Dst: SPrefsPanel::configBool
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:819,1
    - Dst: SPrefsPanel::configBool
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:820,1
    - Dst: SPrefsPanel::configGenericFile
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:821,1
    - Dst: SPrefsPanel::configBool
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:824,1
    - Dst: SPrefsPanel::configBool
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:825,1
    - Dst: SPrefsPanel::configBool
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:828,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:829,1
    - Dst: std::make_unique<PropertyResetter>
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:829,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:830,1
    - Dst: colorSchemeComboBox::setModel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:832,1
    - Dst: p_mi::getColorScheme
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:832,1
    - Dst: colorSchemeComboBox::setCurrentText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:833,1
    - Dst: p_mi::getColorScheme
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:833,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:834,1
    - Dst: std::make_unique<PropertyResetter>
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:834,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:835,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:835,1
    - Dst: p_mi::getColorScheme
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:836,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:842,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:845,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:847,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:850,1
    - Dst: p_mi::setIntfUserScaleFactor
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:852,1
    - Dst: intfScaleFactorSlider::setRange
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:855,1
    - Dst: p_mi::getMinIntfUserScaleFactor
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:855,1
    - Dst: p_mi::getMaxIntfUserScaleFactor
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:856,1
    - Dst: intfScaleFactorSpinBox::setRange
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:857,1
    - Dst: p_mi::getMinIntfUserScaleFactor
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:857,1
    - Dst: p_mi::getMaxIntfUserScaleFactor
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:858,1
    - Dst: updateIntfUserScaleFactorFromControls
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:860,1
    - Dst: p_mi::getIntfUserScaleFactor
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:860,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:861,1
    - Dst: std::make_unique<PropertyResetter>
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:861,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:863,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:863,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:865,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:865,1
    - Dst: DialogsProvider::getInstance
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:868,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:870,1
    - Dst: SPrefsPanel::configBool
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:872,1
    - Dst: SPrefsPanel::configBool
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:876,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:877,1
    - Dst: updatesDays::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:878,1
    - Dst: updatesBox::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:878,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:879,1
    - Dst: updatesBox::hide
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:882,1
    - Dst: updatesDays::hide
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:883,1
    - Dst: module_exists
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:887,1
    - Dst: OneInterfaceMode::hide
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:889,1
    - Dst: EnqueueOneInterfaceMode::hide
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:890,1
    - Dst: oneInstanceFromFile::hide
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:891,1
    - Dst: SPrefsPanel::configBool
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:896,1
    - Dst: SPrefsPanel::configBool
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:897,1
    - Dst: EnqueueOneInterfaceMode::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:898,1
    - Dst: OneInterfaceMode::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:898,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:899,1
    - Dst: SPrefsPanel::configBool
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:901,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:904,1
    - Dst: p_mi::hasMediaLibrary
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:908,1
    - Dst: continuePlaybackLabel::setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:910,1
    - Dst: continuePlaybackComboBox::setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:911,1
    - Dst: saveRecentlyPlayed::setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:912,1
    - Dst: clearRecent::setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:913,1
    - Dst: clearRecentSpacer::changeSize
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:914,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:918,1
    - Dst: SPrefsPanel::configBool
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:919,1
    - Dst: clearRecentSpacer::changeSize
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:921,1
    - Dst: MLRecentMediaModel::MLRecentMediaModel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:922,1
    - Dst: MLRecentMediaModel*::setMl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:923,1
    - Dst: p_mi::getMediaLibrary
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:923,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:924,1
    - Dst: setupUi
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:936,1
    - Dst: QLabel*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:937,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:937,1
    - Dst: SPrefsPanel::configBool
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:939,1
    - Dst: SPrefsPanel::configBool
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:940,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:941,1
    - Dst: SPrefsPanel::configBool
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:944,1
    - Dst: spuZone::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:945,1
    - Dst: spuActiveBox::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:945,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:946,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:948,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:950,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:953,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:956,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:957,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:958,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:960,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:963,1
    - Dst: module_exists
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:965,1
    - Dst: shadowCheck::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:967,1
    - Dst: config_GetInt
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:967,1
    - Dst: backgroundCheck::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:968,1
    - Dst: config_GetInt
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:968,1
    - Dst: shadowCheck::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:972,1
    - Dst: backgroundCheck::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:973,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:976,1
    - Dst: SPrefsPanel::configGeneric
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:978,1
    - Dst: QGridLayout::QGridLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:987,1
    - Dst: QWidget*::setLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:988,1
    - Dst: QLabel*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:991,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:991,1
    - Dst: KeySelectorControl::KeySelectorControl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:992,1
    - Dst: ConfigControl*::insertInto
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:993,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:994,1
    - Dst: config_FindConfig
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:998,1
    - Dst: IntegerListConfigControl::IntegerListConfigControl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:999,1
    - Dst: ConfigControl*::insertInto
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1000,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1001,1
    - Dst: config_FindConfig
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1005,1
    - Dst: IntegerListConfigControl::IntegerListConfigControl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1006,1
    - Dst: ConfigControl*::insertInto
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1007,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1008,1
    - Dst: config_FindConfig
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1013,1
    - Dst: BoolConfigControl::BoolConfigControl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1014,1
    - Dst: ConfigControl*::insertInto
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1015,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1016,1
    - Dst: setupUi
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1027,1
    - Dst: QLabel*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1028,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1028,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1030,1
    - Dst: AccessibleCompatAttached::setId
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1032,1
    - Dst: MLFoldersModel::MLFoldersModel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1033,1
    - Dst: auto::setCtx
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1034,1
    - Dst: entryPoints::setMLFoldersModel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1035,1
    - Dst: MLBannedFoldersModel::MLBannedFoldersModel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1038,1
    - Dst: auto::setCtx
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1039,1
    - Dst: bannedEntryPoints::setMLFoldersModel
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1040,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1043,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1044,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1046,1
    - Dst: p_mi::getMediaLibrary
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1047,1
    - Dst: mlGroupBox::hide
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1051,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1058,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1059,1
    - Dst: QScrollArea::QScrollArea
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1061,1
    - Dst: QScrollArea*::setWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1062,1
    - Dst: QScrollArea*::setWidgetResizable
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1063,1
    - Dst: QScrollArea*::setFrameStyle
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1064,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1065,1
    - Dst: setLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1067,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 370
    argCount: 3
    argNames:
    - _p_intf
    - _parent
    - _number
    argTypes:
    - qt_intf_t*
    - QWidget*
    - int
    assertStmts:
    - condition: (qApp->property("initialStyle").isValid())
      pos:
        line_end: 756
        line_start: 756
        source_file: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    constantsTouched: []
    func_position:
      end: 1068
      start: 351
    functionDepth: 4
    functionLinenumber: 351
    functionLinenumberEnd: 1068
    functionName: SPrefsPanel::SPrefsPanel
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 1
    functionsReached:
    - QLabel*::setText
    - langCombo::addItem
    - volumeValue::setMaximum
    - std::make_unique<PropertyResetter>
    - colorSchemeComboBox::setModel
    - audioControl
    - auto::canConvert
    - MLBannedFoldersModel::MLBannedFoldersModel
    - defaultVolume::value
    - lastfm_zone::setVisible
    - Disconnect
    - clearRecentSpacer::changeSize
    - qfu
    - fullscreenScreenBox::setCurrentIndex
    - QHBoxLayout::QHBoxLayout
    - intfScaleFactorSpinBox::setRange
    - RegOpenKeyEx
    - outputModule::currentIndex
    - updateIntfUserScaleFactorFromControls
    - QFrame*::setFrameShape
    - QFrame*::setFrameShadow
    - p_mi::getMaxIntfUserScaleFactor
    - EnqueueOneInterfaceMode::setEnabled
    - skins::setChecked
    - live555TransportRTSP_TCPRadio::hide
    - volNormBox::setChecked
    - DVDDeviceComboBox::lineEdit
    - OneInterfaceMode::hide
    - QVBoxLayout::QVBoxLayout
    - QLineEdit::QLineEdit
    - notificationCombo::setEnabled
    - defaultVolume::setMaximum
    - QRegularExpression
    - shadowCheck::setChecked
    - langBox::hide
    - SPrefsPanel::configBool
    - setLayout
    - lastfm::setChecked
    - DVDDeviceComboBox::setEditText
    - qOverload<QAbstractButton*>
    - enableAudio::isChecked
    - setupUi
    - skinsLabel::setFont
    - p_mi::getIntfUserScaleFactor
    - live555TransportLabel::hide
    - DVDDeviceComboBox::setToolTip
    - skinsLabel::setText
    - QGridLayout*::addLayout
    - fullscreenScreenBox::count
    - TestCaC
    - module_exists
    - free
    - FromWide
    - QVariant
    - assert
    - osGroupBox::hide
    - MLRecentMediaModel*::setMl
    - MLRecentMediaModel::MLRecentMediaModel
    - connect
    - p_mi::getMinIntfUserScaleFactor
    - QLabel::QLabel
    - QFont::setItalic
    - SetSoundfont
    - p_mi::getMediaLibrary
    - QScrollArea*::setFrameStyle
    - fullscreenScreenBox::addItem
    - saveRecentlyPlayed::setVisible
    - QGridLayout::QGridLayout
    - stylesCombo::addItem
    - ARRAY_SIZE
    - QLabel*::setMinimumSize
    - DVDDeviceComboBox::addItems
    - enableVideo::isChecked
    - lastfm::isChecked
    - cachingCombo::addItem
    - embedVideo::isChecked
    - auto::isValid
    - continuePlaybackLabel::setVisible
    - go_eof
    - QComboBox::QComboBox
    - intfScaleFactorSlider::setRange
    - cachingCombo::findData
    - outputAudioBox::layout
    - SPrefsPanel::updateAudioVolume
    - SPrefsPanel::configGenericFile
    - langCombo::findData
    - DialogsProvider::getInstance
    - IntegerListConfigControl::IntegerListConfigControl
    - videoZone::setEnabled
    - backgroundCheck::setEnabled
    - MLFoldersModel::MLFoldersModel
    - resizingBox::setEnabled
    - addButton
    - RegQueryValueEx
    - QStringLiteral
    - updatesBox::isChecked
    - defaultVolume_zone::setEnabled
    - volNormBox::isEnabled
    - langCombo::setCurrentIndex
    - oneInstanceFromFile::hide
    - continuePlaybackComboBox::setVisible
    - getSettings
    - updatesBox::hide
    - p_mi::setIntfUserScaleFactor
    - QString
    - mmdevicePassthroughBox::setVisible
    - config_FindConfig
    - BUTTONACT
    - MP4_FreeBox_keys
    - EnqueueOneInterfaceMode::hide
    - QGridLayout*::rowCount
    - TEXT
    - audioControlFile
    - QVBoxLayout*::addWidget
    - QFont::pointSize
    - QFrame::QFrame
    - QButtonGroup::QButtonGroup
    - colorSchemeComboBox::setCurrentText
    - entryPoints::setMLFoldersModel
    - strstr
    - SPrefsPanel::updateAudioOptions
    - notificationComboLabel::setEnabled
    - live555TransportHTTPRadio::hide
    - contains
    - stylesCombo::setCurrentText
    - append
    - AccessibleCompatAttached::setId
    - systrayBox::isChecked
    - KeySelectorControl::KeySelectorControl
    - shadowCheck::setEnabled
    - i_defaultScreen < 0 || i_defaultScreen >
    - QPushButton::QPushButton
    - p_mi::hasMediaLibrary
    - lastfm::hide
    - audioZone::setEnabled
    - config_GetInt
    - auto::toString
    - QHBoxLayout*::addWidget
    - skins::hide
    - QFont::setPointSize
    - spuActiveBox::isChecked
    - mlGroupBox::hide
    - QLabel*::setBuddy
    - SPrefsPanel::AudioControlGroup
    - SPrefsPanel::configGenericNoUi
    - auto::setCtx
    - QGridLayout*::addWidget
    - volNormSpin::setEnabled
    - stylesCombo::currentIndex
    - QScrollArea::QScrollArea
    - updatesDays::setEnabled
    - backgroundCheck::setChecked
    - config_GetPsz
    - setValue
    - QScrollArea*::setWidget
    - bannedEntryPoints::setMLFoldersModel
    - push_back
    - kvaBox::setVisible
    - resetVolumeCheckbox::isChecked
    - p_mi::getColorScheme
    - QWidget*::setLayout
    - lastfm_zone::hide
    - qobject_cast<QGridLayout *>
    - clearRecent::setVisible
    - stylesCombo::insertSeparator
    - vlc_ml_instance_get
    - OneInterfaceMode::isChecked
    - QLabel*::setFont
    - config_ExistIntf
    - volNormBox::setEnabled
    - QWidget::QWidget
    - qtr
    - skinImage::hide
    - stylesCombo::setCurrentIndex
    - QVBoxLayout*::setContentsMargins
    - strcmp
    - name
    - QComboBox*::setSizePolicy
    - cachingCombo::setCurrentIndex
    - ConfigControl*::insertInto
    - value
    - QScrollArea*::setWidgetResizable
    - property
    - QStringList
    - updatesDays::hide
    - directXBox::setVisible
    - BoolConfigControl::BoolConfigControl
    - mmdevicePassthroughLabel::setVisible
    - spuZone::setEnabled
    - QDir
    - QSize
    - SPrefsPanel::configGeneric
    linkageType: ''
    returnType: void
    signature: "void SPrefsPanel::SPrefsPanel( qt_intf_t *_p_intf, QWidget *_parent,\n
      \                         int _number )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fullscreenScreenBox::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:402,1
    - Dst: QScreen*::name
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - screen
    argTypes:
    - QScreen*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 404
    functionName: foreach
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 53
    functionsReached:
    - QScreen*::name
    - fullscreenScreenBox::addItem
    linkageType: ''
    returnType: void
    signature: void foreach( QScreen* screen, QGuiApplication::screens() )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - factor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 679
    functionName: TestCaC
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TestCaC( name, factor )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: widget::setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1077,1
    - Dst: label::setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1079,1
    - Dst: button::setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1081,1
    - Dst: outputModule::itemData
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1084,1
    - Dst: mmdevicePassthroughLabel::setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1089,1
    - Dst: mmdevicePassthroughBox::setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1090,1
    - Dst: setAudioDeviceVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1091,1
    - Dst: setAudioDeviceVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1093,1
    - Dst: setAudioDeviceVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1095,1
    - Dst: setAudioDeviceVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1097,1
    - Dst: setAudioDeviceVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1098,1
    - Dst: fileControl::setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1101,1
    - Dst: spdifBox::setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1102,1
    - Dst: getDefaultAudioVolume
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1105,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1105,1
    - Dst: config_GetInt
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1109,1
    - Dst: resetVolumeCheckbox::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1111,1
    - Dst: resetVolumeCheckbox::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1112,1
    - Dst: defaultVolume::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1114,1
    - Dst: defaultVolume::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1115,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1071
    functionDepth: 2
    functionLinenumber: 1071
    functionLinenumberEnd: 1116
    functionName: SPrefsPanel::updateAudioOptions
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 1
    functionsReached:
    - defaultVolume::setEnabled
    - setAudioDeviceVisible
    - fileControl::setVisible
    - label::setVisible
    - spdifBox::setVisible
    - button::setVisible
    - widget::setVisible
    - mmdevicePassthroughBox::setVisible
    - outputModule::itemData
    - mmdevicePassthroughLabel::setVisible
    - getDefaultAudioVolume
    - qtu
    - resetVolumeCheckbox::setEnabled
    - defaultVolume::setValue
    - config_GetInt
    - resetVolumeCheckbox::setChecked
    linkageType: ''
    returnType: void
    signature: void SPrefsPanel::updateAudioOptions( int number )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SPrefsPanel::clean
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1122,1
    - Dst: qDeleteAll
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1124,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1124,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1119
    functionDepth: 1
    functionLinenumber: 1119
    functionLinenumberEnd: 1126
    functionName: SPrefsPanel::~SPrefsPanel()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 0
    functionsReached:
    - free
    - clear
    - SPrefsPanel::clean
    - qDeleteAll
    linkageType: ''
    returnType: void
    signature: void SPrefsPanel::~SPrefsPanel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buttons
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1131,1
    - Dst: id
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1131,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1132,1
    - Dst: QAbstractButton*::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - btn
    argTypes:
    - QAbstractButton*
    assertStmts:
    - condition: ( layoutBtn )
      pos:
        line_end: 1131
        line_start: 1131
        source_file: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    constantsTouched: []
    func_position:
      end: 1134
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1134
    functionName: SPrefsPanel::imageLayoutClick
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 0
    functionsReached:
    - QAbstractButton*::setChecked
    - assert
    - buttons
    - id
    linkageType: ''
    returnType: void
    signature: void SPrefsPanel::imageLayoutClick( QAbstractButton* btn )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: auto::styleStackedWidget::setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1142,1
    - Dst: auto::menuBarCheck::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1143,1
    - Dst: auto::titleBarCheckBox::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1144,1
    - Dst: auto::pinVideoControlsCheckbox::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1145,1
    - Dst: auto::styleStackedWidget::setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1149,1
    - Dst: auto::menuBarCheck::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1150,1
    - Dst: auto::titleBarCheckBox::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1151,1
    - Dst: auto::pinVideoControlsCheckbox::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1152,1
    - Dst: auto::styleStackedWidget::setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1157
    functionName: SPrefsPanel::handleLayoutChange
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 0
    functionsReached:
    - auto::styleStackedWidget::setCurrentIndex
    - auto::menuBarCheck::setChecked
    - auto::titleBarCheckBox::setChecked
    - auto::pinVideoControlsCheckbox::setChecked
    linkageType: ''
    returnType: void
    signature: void SPrefsPanel::handleLayoutChange( int id )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: auto::menuBarCheck::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1162,1
    - Dst: auto::titleBarCheckBox::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1163,1
    - Dst: auto::pinVideoControlsCheckbox::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1164,1
    - Dst: auto::modernButton::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1166,1
    - Dst: auto::menuBarCheck::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1168,1
    - Dst: auto::titleBarCheckBox::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1169,1
    - Dst: auto::pinVideoControlsCheckbox::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1170,1
    - Dst: auto::classicButton::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1172,1
    - Dst: setExclusive
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1175,1
    - Dst: auto::modernButton::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1176,1
    - Dst: auto::classicButton::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1177,1
    - Dst: setExclusive
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1178,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1180
    functionName: SPrefsPanel::updateLayoutSelection
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 0
    functionsReached:
    - setExclusive
    - auto::titleBarCheckBox::isChecked
    - auto::menuBarCheck::isChecked
    - auto::modernButton::setChecked
    - auto::pinVideoControlsCheckbox::isChecked
    - auto::classicButton::setChecked
    linkageType: ''
    returnType: void
    signature: void SPrefsPanel::updateLayoutSelection()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: volumeValue::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - volume
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1182
    functionDepth: 0
    functionLinenumber: 1182
    functionLinenumberEnd: 1185
    functionName: SPrefsPanel::updateAudioVolume
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 1
    functionsReached:
    - volumeValue::setValue
    linkageType: ''
    returnType: void
    signature: void SPrefsPanel::updateAudioVolume( int volume )
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: cbegin
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1195,1
    - Dst: cend
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1195,1
    - Dst: qobject_cast<ConfigControl *>
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1197,1
    - Dst: ConfigControl*::doApply
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1198,1
    - Dst: DVDDeviceComboBox::currentText
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1206,1
    - Dst: QByteArray::size
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1207,1
    - Dst: config_PutPsz
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1209,1
    - Dst: QByteArray::constData
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1209,1
    - Dst: config_PutPsz
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1210,1
    - Dst: QByteArray::constData
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1210,1
    - Dst: module_exists
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1211,1
    - Dst: config_PutPsz
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1212,1
    - Dst: QByteArray::constData
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1212,1
    - Dst: QComboBox*::itemData
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1218,1
    - Dst: QComboBox*::currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1218,1
    - Dst: CaC
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1221,1
    - Dst: CaC
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1222,1
    - Dst: CaC
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1223,1
    - Dst: CaC
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1224,1
    - Dst: skins::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1233,1
    - Dst: config_PutPsz
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1234,1
    - Dst: config_PutPsz
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1237,1
    - Dst: stylesCombo::currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1239,1
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1240,1
    - Dst: stylesCombo::currentData
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1240,1
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1242,1
    - Dst: SPrefsPanel::saveLang
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1246,1
    - Dst: fullscreenScreenBox::currentData
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1253,1
    - Dst: config_PutInt
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1254,1
    - Dst: volNormBox::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1260,1
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1261,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1262,1
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1263,1
    - Dst: removeAll
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1264,1
    - Dst: config_PutPsz
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1266,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1266,1
    - Dst: join
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1266,1
    - Dst: defaultVolume::value
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1269,1
    - Dst: resetVolumeCheckbox::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1270,1
    - Dst: config_GetPsz
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1271,1
    - Dst: powf
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1273,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1280,1
    - Dst: save_vol_aout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1281,1
    - Dst: config_PutFloat
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1282,1
    - Dst: save_vol_aout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1283,1
    - Dst: config_PutFloat
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1284,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1286,1
    - Dst: save_vol_aout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1287,1
    - Dst: config_PutFloat
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1288,1
    - Dst: save_vol_aout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1291,1
    - Dst: config_PutFloat
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1292,1
    - Dst: save_vol_aout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1294,1
    - Dst: config_PutFloat
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1295,1
    - Dst: save_vol_aout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1296,1
    - Dst: config_PutFloat
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1297,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1300,1
    - Dst: config_PutInt
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1302,1
    - Dst: shadowCheck::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1308,1
    - Dst: config_GetInt
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1309,1
    - Dst: config_PutInt
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1310,1
    - Dst: config_PutInt
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1313,1
    - Dst: backgroundCheck::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1316,1
    - Dst: config_GetInt
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1317,1
    - Dst: config_PutInt
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1318,1
    - Dst: config_PutInt
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1321,1
    - Dst: commit
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1328,1
    - Dst: commit
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1329,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 80
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1189
    functionDepth: 1
    functionLinenumber: 1189
    functionLinenumberEnd: 1332
    functionName: SPrefsPanel::apply
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 0
    functionsReached:
    - powf
    - qobject_cast<ConfigControl *>
    - defaultVolume::value
    - config_GetPsz
    - commit
    - ConfigControl*::doApply
    - cbegin
    - shadowCheck::isChecked
    - QComboBox*::currentIndex
    - resetVolumeCheckbox::isChecked
    - QByteArray::constData
    - qtu
    - join
    - config_PutPsz
    - QByteArray::size
    - config_PutFloat
    - save_vol_aout
    - contains
    - append
    - volNormBox::isChecked
    - DVDDeviceComboBox::currentText
    - QComboBox*::itemData
    - config_GetInt
    - VLC_UNUSED
    - fullscreenScreenBox::currentData
    - removeAll
    - module_exists
    - CaC
    - skins::isChecked
    - free
    - SPrefsPanel::saveLang
    - config_PutInt
    - backgroundCheck::isChecked
    - stylesCombo::currentIndex
    - cend
    - getSettings
    - stylesCombo::currentData
    linkageType: ''
    returnType: void
    signature: void SPrefsPanel::apply()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - factor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1216
    functionName: CaC
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CaC( name, factor )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1277
    functionName: save_vol_aout
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: save_vol_aout( name )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1334
    functionDepth: 0
    functionLinenumber: 1334
    functionLinenumberEnd: 1338
    functionName: SPrefsPanel::clean
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 1
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void SPrefsPanel::clean()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: config_AddIntf
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1343,1
    - Dst: config_RemoveIntf
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - i_state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1340
    functionDepth: 1
    functionLinenumber: 1340
    functionLinenumberEnd: 1346
    functionName: SPrefsPanel::lastfm_Changed
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 0
    functionsReached:
    - config_AddIntf
    - config_RemoveIntf
    linkageType: ''
    returnType: void
    signature: void SPrefsPanel::lastfm_Changed( int i_state )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stylesCombo::currentData
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1350,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1352,1
    - Dst: QApplication::setStyle
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1348
    functionDepth: 1
    functionLinenumber: 1348
    functionLinenumberEnd: 1358
    functionName: SPrefsPanel::changeStyle
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 0
    functionsReached:
    - QApplication::setStyle
    - QMetaObject::invokeMethod
    - stylesCombo::currentData
    linkageType: ''
    returnType: void
    signature: void SPrefsPanel::changeStyle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1362,1
    - Dst: strdup
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1360
    functionDepth: 0
    functionLinenumber: 1360
    functionLinenumberEnd: 1364
    functionName: SPrefsPanel::langChanged
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 0
    functionsReached:
    - free
    - strdup
    linkageType: ''
    returnType: void
    signature: void SPrefsPanel::langChanged( int i )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MLConfDialog::MLConfDialog
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1369,1
    - Dst: MLConfDialog*::exec
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1373
    functionName: SPrefsPanel::configML
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 0
    functionsReached:
    - MLConfDialog::MLConfDialog
    - MLConfDialog*::exec
    linkageType: ''
    returnType: void
    signature: void SPrefsPanel::configML()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVLCRegistry::DeleteValue
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1381,1
    - Dst: QVLCRegistry::DeleteKey
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1382,1
    - Dst: QVLCRegistry::DeleteKey
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1379
    functionDepth: 1
    functionLinenumber: 1379
    functionLinenumberEnd: 1384
    functionName: SPrefsPanel::cleanLang
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 0
    functionsReached:
    - QVLCRegistry::DeleteValue
    - QVLCRegistry::DeleteKey
    linkageType: ''
    returnType: void
    signature: void SPrefsPanel::cleanLang()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1389,1
    - Dst: SPrefsPanel::cleanLang
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1390,1
    - Dst: QVLCRegistry::WriteRegistry
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1386
    functionDepth: 2
    functionLinenumber: 1386
    functionLinenumberEnd: 1397
    functionName: SPrefsPanel::saveLang
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 1
    functionsReached:
    - strncmp
    - SPrefsPanel::cleanLang
    - QVLCRegistry::WriteRegistry
    linkageType: ''
    returnType: void
    signature: void SPrefsPanel::saveLang()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QStringList
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1404,1
    - Dst: QTreeWidgetItem::QTreeWidgetItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1404,1
    - Dst: QVLCRegistry*::ReadRegistry
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1406,1
    - Dst: strstr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1409,1
    - Dst: QTreeWidgetItem*::setCheckState
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1411,1
    - Dst: QTreeWidgetItem*::setCheckState
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1416,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1419,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1420,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - psz_ext
    - current
    - parent
    - qvReg
    argTypes:
    - char*
    - QTreeWidgetItem*
    - QTreeWidgetItem*
    - QVLCRegistry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1422
    functionName: SPrefsPanel::addType
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 0
    functionsReached:
    - QTreeWidgetItem*::setCheckState
    - append
    - QStringList
    - free
    - strstr
    - QVLCRegistry*::ReadRegistry
    - QTreeWidgetItem::QTreeWidgetItem
    linkageType: ''
    returnType: bool
    signature: "bool SPrefsPanel::addType( const char * psz_ext, QTreeWidgetItem*
      current,\n                           QTreeWidgetItem* parent, QVLCRegistry *qvReg
      )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CoInitializeEx
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1428,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1429,1
    - Dst: CoCreateInstance
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1434,1
    - Dst: __uuidof
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1434,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1436,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1437,1
    - Dst: Microsoft::WRL::ComPtr<IApplicationAssociationRegistrationUI>::LaunchAdvancedAssociationUI
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1438,1
    - Dst: CoUninitialize
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1440,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1443,1
    - Dst: QDialog::QDialog
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1446,1
    - Dst: QDialog*::setWindowTitle
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1447,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1447,1
    - Dst: QGridLayout::QGridLayout
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1448,1
    - Dst: QTreeWidget::QTreeWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1450,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1451,1
    - Dst: QTreeWidget*::header
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1452,1
    - Dst: QStringList
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1456,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1456,1
    - Dst: QTreeWidgetItem::QTreeWidgetItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1456,1
    - Dst: QStringList
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1457,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1457,1
    - Dst: QTreeWidgetItem::QTreeWidgetItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1457,1
    - Dst: QStringList
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1458,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1458,1
    - Dst: QTreeWidgetItem::QTreeWidgetItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1458,1
    - Dst: QTreeWidget*::addTopLevelItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1460,1
    - Dst: QTreeWidget*::addTopLevelItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1461,1
    - Dst: QTreeWidget*::addTopLevelItem
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1462,1
    - Dst: QTreeWidgetItem*::setExpanded
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1464,1
    - Dst: QTreeWidgetItem*::setCheckState
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1464,1
    - Dst: QTreeWidgetItem*::setExpanded
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1465,1
    - Dst: QTreeWidgetItem*::setCheckState
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1465,1
    - Dst: QTreeWidgetItem*::setExpanded
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1466,1
    - Dst: QTreeWidgetItem*::setCheckState
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1466,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1475,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1475,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1475,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1475,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1475,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1476,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1476,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1476,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1476,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1476,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1477,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1477,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1477,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1477,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1477,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1478,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1478,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1478,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1478,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1478,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1479,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1479,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1479,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1479,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1479,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1480,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1480,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1480,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1480,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1480,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1481,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1481,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1481,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1481,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1481,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1482,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1482,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1482,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1482,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1482,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1483,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1483,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1483,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1483,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1483,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1484,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1484,1
    - Dst: aTa
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1484,1
    - Dst: QTreeWidgetItem*::setCheckState
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1485,1
    - Dst: QTreeWidgetItem*::childCount
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1486,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1491,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1491,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1491,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1491,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1491,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1492,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1492,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1492,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1492,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1492,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1493,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1493,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1493,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1493,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1493,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1494,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1494,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1494,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1494,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1494,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1495,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1495,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1495,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1495,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1495,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1496,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1496,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1496,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1496,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1496,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1497,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1497,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1497,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1497,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1497,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1498,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1498,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1498,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1498,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1498,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1499,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1499,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1499,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1499,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1499,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1500,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1500,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1500,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1500,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1500,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1501,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1501,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1501,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1501,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1501,1
    - Dst: aTv
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1502,1
    - Dst: QTreeWidgetItem*::setCheckState
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1503,1
    - Dst: QTreeWidgetItem*::childCount
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1504,1
    - Dst: aTo
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1509,1
    - Dst: aTo
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1509,1
    - Dst: aTo
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1509,1
    - Dst: aTo
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1509,1
    - Dst: aTo
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1509,1
    - Dst: aTo
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1510,1
    - Dst: aTo
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1510,1
    - Dst: aTo
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1510,1
    - Dst: aTo
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1510,1
    - Dst: aTo
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1510,1
    - Dst: aTo
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1511,1
    - Dst: aTo
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1511,1
    - Dst: QTreeWidgetItem*::setCheckState
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1512,1
    - Dst: QTreeWidgetItem*::childCount
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1513,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1521,1
    - Dst: QDialogButtonBox::QDialogButtonBox
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1523,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1524,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1524,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1525,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1525,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1526,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1527,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1529,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1531,1
    - Dst: SPrefsPanel::saveAsso
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1532,1
    - Dst: QDialog*::reject
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1533,1
    - Dst: QDialog*::resize
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1535,1
    - Dst: QDialog*::exec
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1536,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1537,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 155
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1538
      start: 1424
    functionDepth: 1
    functionLinenumber: 1424
    functionLinenumberEnd: 1538
    functionName: SPrefsPanel::assoDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 0
    functionsReached:
    - aTv
    - Microsoft::WRL::ComPtr<IApplicationAssociationRegistrationUI>::LaunchAdvancedAssociationUI
    - CoInitializeEx
    - IID_PPV_ARGS
    - QGridLayout*::addWidget
    - connect
    - CoUninitialize
    - __uuidof
    - SUCCEEDED
    - QTreeWidget*::addTopLevelItem
    - QTreeWidgetItem*::setExpanded
    - QGridLayout::QGridLayout
    - QTreeWidgetItem*::setCheckState
    - QDialog::QDialog
    - QDialog*::exec
    - CoCreateInstance
    - QTreeWidget::QTreeWidget
    - QDialog*::setWindowTitle
    - qtr
    - QDialog*::resize
    - aTa
    - QTreeWidget*::header
    - clear
    - QPushButton::QPushButton
    - SPrefsPanel::saveAsso
    - QStringList
    - QDialogButtonBox::QDialogButtonBox
    - aTo
    - QDialogButtonBox*::addButton
    - QTreeWidgetItem*::childCount
    - QTreeWidgetItem::QTreeWidgetItem
    - QDialog*::reject
    linkageType: ''
    returnType: void
    signature: void SPrefsPanel::assoDialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1472
      start: 1471
    functionDepth: 0
    functionLinenumber: 1471
    functionLinenumberEnd: 1472
    functionName: aTa
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aTa( name )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1472
    functionDepth: 0
    functionLinenumber: 1472
    functionLinenumberEnd: 1473
    functionName: aTv
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aTv( name )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1473
    functionDepth: 0
    functionLinenumber: 1473
    functionLinenumberEnd: 1474
    functionName: aTo
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aTo( name )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QTreeWidgetItem*::treeWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1546,1
    - Dst: QTreeWidgetItem*::parent
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1549,1
    - Dst: QTreeWidgetItem*::checkState
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1551,1
    - Dst: QTreeWidgetItem*::childCount
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1552,1
    - Dst: QTreeWidgetItem*::child
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1554,1
    - Dst: QTreeWidgetItem*::parent
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1562,1
    - Dst: QTreeWidgetItem*::parent
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1564,1
    - Dst: QTreeWidgetItem*::checkState
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1564,1
    - Dst: QTreeWidgetItem*::parent
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1564,1
    - Dst: QTreeWidgetItem*::parent
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1572,1
    - Dst: QTreeWidgetItem*::parent
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1574,1
    - Dst: QTreeWidgetItem*::checkState
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1574,1
    - Dst: QTreeWidgetItem*::treeWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1578,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - item
    - column
    argTypes:
    - QTreeWidgetItem*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1579
      start: 1540
    functionDepth: 0
    functionLinenumber: 1540
    functionLinenumberEnd: 1579
    functionName: SPrefsPanel::updateCheckBoxes
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 0
    functionsReached:
    - QTreeWidgetItem*::checkState
    - QTreeWidgetItem*::treeWidget
    - QTreeWidgetItem*::child
    - QTreeWidgetItem*::childCount
    - QTreeWidgetItem*::parent
    linkageType: ''
    returnType: void
    signature: void SPrefsPanel::updateCheckBoxes(QTreeWidgetItem* item, int column)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QVLCRegistry*::ReadRegistry
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1587,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1589,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1589,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1589,1
    - Dst: QVLCRegistry*::WriteRegistry
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1590,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1591,1
    - Dst: QVLCRegistry*::WriteRegistry
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1594,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1594,1
    - Dst: QVLCRegistry*::RegistryKeyExists
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1597,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1597,1
    - Dst: QVLCRegistry*::WriteRegistry
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1599,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1599,1
    - Dst: QVLCRegistry*::WriteRegistry
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1600,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1600,1
    - Dst: QVLCRegistry*::WriteRegistry
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1601,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1601,1
    - Dst: QString::append
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1601,1
    - Dst: QVLCRegistry::ReadRegistry
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1605,1
    - Dst: QString::size
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1607,1
    - Dst: QVLCRegistry*::WriteRegistry
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1609,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1609,1
    - Dst: QString::append
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1609,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1610,1
    - Dst: QString::append
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1610,1
    - Dst: QVLCRegistry*::WriteRegistry
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1612,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1612,1
    - Dst: QString::append
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1612,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1613,1
    - Dst: QString::append
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1613,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - qvReg
    - psz_ext
    argTypes:
    - QVLCRegistry*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1581
    functionDepth: 1
    functionLinenumber: 1581
    functionLinenumberEnd: 1616
    functionName: addAsso
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 0
    functionsReached:
    - QString::append
    - QString::size
    - QVLCRegistry*::RegistryKeyExists
    - free
    - strcmp
    - qtu
    - EMPTY_STR
    - QVLCRegistry::ReadRegistry
    - QVLCRegistry*::ReadRegistry
    - QVLCRegistry*::WriteRegistry
    linkageType: ''
    returnType: void
    signature: void addAsso( QVLCRegistry *qvReg, const char *psz_ext )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QVLCRegistry*::ReadRegistry
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1621,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1623,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1623,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1625,1
    - Dst: QVLCRegistry*::ReadRegistry
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1626,1
    - Dst: QVLCRegistry*::WriteRegistry
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1628,1
    - Dst: QVLCRegistry*::DeleteValue
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1630,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1632,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - qvReg
    - psz_ext
    argTypes:
    - QVLCRegistry*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1633
      start: 1618
    functionDepth: 0
    functionLinenumber: 1618
    functionLinenumberEnd: 1633
    functionName: delAsso
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 0
    functionsReached:
    - free
    - strcmp
    - qtu
    - QVLCRegistry*::ReadRegistry
    - QVLCRegistry*::DeleteValue
    - QVLCRegistry*::WriteRegistry
    linkageType: ''
    returnType: void
    signature: void delAsso( QVLCRegistry *qvReg, const char *psz_ext )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1638,1
    - Dst: checkState
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1640,1
    - Dst: addAsso
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1642,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1642,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1642,1
    - Dst: delAsso
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1646,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1646,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1646,1
    - Dst: qobject_cast<QDialog *>
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1650,1
    - Dst: treeWidget
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1650,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1651
      start: 1635
    functionDepth: 2
    functionLinenumber: 1635
    functionLinenumberEnd: 1651
    functionName: SPrefsPanel::saveAsso
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 1
    functionsReached:
    - treeWidget
    - checkState
    - qobject_cast<QDialog *>
    - size
    - qtu
    - addAsso
    - text
    - delAsso
    linkageType: ''
    returnType: void
    signature: void SPrefsPanel::saveAsso()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUrl::fromLocalFile
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1656,1
    - Dst: QDir::homePath
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1656,1
    - Dst: QFileDialog::getExistingDirectoryUrl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1657,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1658,1
    - Dst: QUrl::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1661,1
    - Dst: add
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1663
      start: 1655
    functionDepth: 1
    functionLinenumber: 1655
    functionLinenumberEnd: 1663
    functionName: SPrefsPanel::MLaddNewFolder
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 0
    functionsReached:
    - QUrl::isEmpty
    - add
    - qtr
    - QUrl::fromLocalFile
    - QDir::homePath
    - QFileDialog::getExistingDirectoryUrl
    linkageType: ''
    returnType: void
    signature: void SPrefsPanel::MLaddNewFolder()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUrl::fromLocalFile
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1666,1
    - Dst: QDir::homePath
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1666,1
    - Dst: QFileDialog::getExistingDirectoryUrl
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1667,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1668,1
    - Dst: QUrl::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1671,1
    - Dst: add
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp:1672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1673
      start: 1665
    functionDepth: 1
    functionLinenumber: 1665
    functionLinenumberEnd: 1673
    functionName: SPrefsPanel::MLBanFolder
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
    functionUses: 0
    functionsReached:
    - QUrl::isEmpty
    - add
    - qtr
    - QUrl::fromLocalFile
    - QDir::homePath
    - QFileDialog::getExistingDirectoryUrl
    linkageType: ''
    returnType: void
    signature: void SPrefsPanel::MLBanFolder( )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrefsDialog::save
      Src: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.hpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: PrefsDialog::close
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/preferences/preferences.hpp
    functionUses: 0
    functionsReached:
    - PrefsDialog::save
    linkageType: ''
    returnType: void
    signature: void close()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QString::split
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:66,1
    - Dst: compare
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - filters
    - filter
    argTypes:
    - QString
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: filterIsPresent
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - QString::split
    - compare
    linkageType: ''
    returnType: bool
    signature: bool filterIsPresent( const QString &filters, const QString &filter
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QString::compare
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - filterCmp
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: foreach
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 53
    functionsReached:
    - QString::compare
    linkageType: ''
    returnType: void
    signature: void foreach( const QString &filterCmp, list )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: module_find
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:78,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:81,1
    - Dst: module_provides
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:85,1
    - Dst: module_provides
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:87,1
    - Dst: module_provides
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:89,1
    - Dst: module_provides
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:91,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:95,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - p_intf
    - psz_name
    argTypes:
    - qt_intf_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 98
    functionName: GetVFilterType
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - module_provides
    - module_find
    - msg_Err
    linkageType: ''
    returnType: char
    signature: char * GetVFilterType( qt_intf_t *p_intf, const char *psz_name )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QObject*::objectName
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: ModuleFromWidgetName
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - QObject*::objectName
    linkageType: ''
    returnType: QString
    signature: QString ModuleFromWidgetName( QObject *obj )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QObject*::objectName
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:108,1
    - Dst: QRegularExpression
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:109,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:109,1
    - Dst: QRegularExpression
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:110,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:110,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 112
    functionName: OptionFromWidgetName
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - QStringLiteral
    - QRegularExpression
    - QObject*::objectName
    linkageType: ''
    returnType: QString
    signature: QString OptionFromWidgetName( QObject *obj )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GetVFilterType
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:116,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:120,1
    - Dst: qobject_cast<QCheckBox*>
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:124,1
    - Dst: qobject_cast<QGroupBox*>
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:125,1
    - Dst: filterIsPresent
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:126,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:126,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:126,1
    - Dst: QCheckBox*::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:128,1
    - Dst: QGroupBox*::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:129,1
    - Dst: QCheckBox*::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:133,1
    - Dst: QGroupBox*::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:134,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - p_intf
    - psz_name
    - widget
    argTypes:
    - qt_intf_t*
    - char*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 137
    functionName: setup_vfilter
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - QCheckBox*::setChecked
    - var_InheritString
    - qobject_cast<QGroupBox*>
    - QGroupBox*::setChecked
    - free
    - filterIsPresent
    - GetVFilterType
    - qobject_cast<QCheckBox*>
    - qfu
    linkageType: ''
    returnType: void
    signature: void setup_vfilter( qt_intf_t *p_intf, const char* psz_name, QWidget
      *widget )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - widget
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: SETUP_VFILTER
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SETUP_VFILTER( widget, type )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - widget
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: SETUP_VFILTER_cb
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SETUP_VFILTER_cb( widget )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - widget
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    functionName: SETUP_VFILTER_gb
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SETUP_VFILTER_gb( widget )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - widget
    - ','
    - signal
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: SETUP_VFILTER_OPTION
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SETUP_VFILTER_OPTION( widget, signal )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: SETUP_VFILTER_VALUE_LABEL
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SETUP_VFILTER_VALUE_LABEL( name )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupUi
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:157,1
    - Dst: SETUP_VFILTER_gb
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:159,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:160,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:161,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:162,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:163,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:164,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:165,1
    - Dst: SETUP_VFILTER_VALUE_LABEL
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:167,1
    - Dst: SETUP_VFILTER_VALUE_LABEL
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:168,1
    - Dst: SETUP_VFILTER_VALUE_LABEL
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:169,1
    - Dst: SETUP_VFILTER_VALUE_LABEL
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:170,1
    - Dst: SETUP_VFILTER_VALUE_LABEL
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:171,1
    - Dst: SETUP_VFILTER_gb
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:173,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:174,1
    - Dst: SETUP_VFILTER_cb
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:176,1
    - Dst: SETUP_VFILTER_gb
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:178,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:179,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:180,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:181,1
    - Dst: SETUP_VFILTER_gb
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:183,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:184,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:184,1
    - Dst: SETUP_VFILTER_cb
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:186,1
    - Dst: SETUP_VFILTER_gb
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:188,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:189,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:189,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:190,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:191,1
    - Dst: SETUP_VFILTER_gb
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:193,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:194,1
    - Dst: SETUP_VFILTER_cb
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:196,1
    - Dst: SETUP_VFILTER_cb
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:198,1
    - Dst: SETUP_VFILTER_gb
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:200,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:201,1
    - Dst: SETUP_VFILTER_cb
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:203,1
    - Dst: SETUP_VFILTER_cb
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:205,1
    - Dst: SETUP_VFILTER_gb
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:207,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:208,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:208,1
    - Dst: SETUP_VFILTER_gb
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:210,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:211,1
    - Dst: setWrapping
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:211,1
    - Dst: rotateAngleDial::setNotchesVisible
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:213,1
    - Dst: SETUP_VFILTER_gb
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:215,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:216,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:216,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:217,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:217,1
    - Dst: SETUP_VFILTER_cb
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:219,1
    - Dst: SETUP_VFILTER_gb
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:221,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:222,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:222,1
    - Dst: SETUP_VFILTER_gb
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:224,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:225,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:225,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:226,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:226,1
    - Dst: SETUP_VFILTER_gb
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:229,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:230,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:231,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:231,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:232,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:232,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:233,1
    - Dst: SETUP_VFILTER_gb
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:235,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:236,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:237,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:237,1
    - Dst: SETUP_VFILTER_gb
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:239,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:240,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:241,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:241,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:242,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:242,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:243,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:244,1
    - Dst: SETUP_VFILTER_gb
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:246,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:247,1
    - Dst: SETUP_VFILTER_gb
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:249,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:250,1
    - Dst: SETUP_VFILTER_cb
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:252,1
    - Dst: SETUP_VFILTER_gb
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:254,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:255,1
    - Dst: SETUP_VFILTER_gb
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:257,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:258,1
    - Dst: SETUP_VFILTER_gb
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:260,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:261,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:262,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:263,1
    - Dst: SETUP_VFILTER_OPTION
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:264,1
    - Dst: SETUP_VFILTER_cb
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:267,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:272,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:272,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:273,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:273,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:274,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:274,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:275,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:275,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:276,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:277,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:278,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 87
    argCount: 2
    argNames:
    - _p_intf
    - _parent
    argTypes:
    - qt_intf_t*
    - QTabWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 280
    functionName: ExtVideo::ExtVideo
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - go_eof
    - SETUP_VFILTER_cb
    - BUTTONACT
    - connect
    - SETUP_VFILTER_VALUE_LABEL
    - SETUP_VFILTER_gb
    - setupUi
    - rotateAngleDial::setNotchesVisible
    - setWrapping
    - SETUP_VFILTER_OPTION
    linkageType: ''
    returnType: void
    signature: void ExtVideo::ExtVideo( qt_intf_t *_p_intf, QTabWidget *_parent )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: topBotCropSync::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:284,1
    - Dst: cropBotPx::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:285,1
    - Dst: cropTopPx::value
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:285,1
    - Dst: leftRightCropSync::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:286,1
    - Dst: cropRightPx::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:287,1
    - Dst: cropLeftPx::value
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:287,1
    - Dst: getVouts
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:289,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:292,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:292,1
    - Dst: cropTopPx::value
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:292,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:293,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:293,1
    - Dst: cropBotPx::value
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:293,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:294,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:294,1
    - Dst: cropLeftPx::value
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:294,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:295,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:295,1
    - Dst: cropRightPx::value
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:295,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 297
    functionName: ExtVideo::cropChange
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - cropTopPx::value
    - cropRightPx::setValue
    - cropLeftPx::value
    - cropBotPx::value
    - getVouts
    - get
    - cropRightPx::value
    - var_SetInteger
    - cropBotPx::setValue
    - leftRightCropSync::isChecked
    - topBotCropSync::isChecked
    linkageType: ''
    returnType: void
    signature: void ExtVideo::cropChange()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cropTopPx::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:301,1
    - Dst: cropBotPx::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:302,1
    - Dst: cropLeftPx::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:303,1
    - Dst: cropRightPx::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 305
    functionName: ExtVideo::clean
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - cropBotPx::setValue
    - cropLeftPx::setValue
    - cropTopPx::setValue
    - cropRightPx::setValue
    linkageType: ''
    returnType: void
    signature: void ExtVideo::clean()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getVout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:310,1
    - Dst: var_GetString
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:311,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:311,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:313,1
    - Dst: QString::split
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:314,1
    - Dst: find
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:316,1
    - Dst: QStringList::begin
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:316,1
    - Dst: QStringList::end
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:316,1
    - Dst: QStringList::end
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:316,1
    - Dst: QStringList::removeAll
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:319,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:321,1
    - Dst: QStringList::join
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:323,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - p_intf
    - psz_filter_type
    - psz_name
    - b_add
    argTypes:
    - qt_intf_t*
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 324
    functionName: ChangeFiltersString
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - getVout
    - QString
    - var_GetString
    - QStringList::join
    - QString::split
    - QStringList::removeAll
    - QStringList::end
    - free
    - auto::get
    - QStringList::begin
    - find
    linkageType: ''
    returnType: QString
    signature: QString ChangeFiltersString( qt_intf_t *p_intf, const char *psz_filter_type,
      const char *psz_name, bool b_add )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:330,1
    - Dst: getVout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:332,1
    - Dst: var_SetString
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:334,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - p_intf
    - psz_filter_type
    - value
    argTypes:
    - qt_intf_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 336
    functionName: UpdateVFiltersString
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - strcmp
    - auto::get
    - var_SetString
    - getVout
    linkageType: ''
    returnType: void
    signature: "void UpdateVFiltersString( qt_intf_t *p_intf,\n                                  const
      char *psz_filter_type, const char *value )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetVFilterType
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:340,1
    - Dst: ChangeFiltersString
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:344,1
    - Dst: UpdateVFiltersString
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:348,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - psz_name
    - b_add
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 349
    functionName: ExtVideo::changeVFiltersString
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - qtu
    - ChangeFiltersString
    - GetVFilterType
    - UpdateVFiltersString
    linkageType: ''
    returnType: void
    signature: void ExtVideo::changeVFiltersString( const char *psz_name, bool b_add
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModuleFromWidgetName
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:353,1
    - Dst: sender
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:353,1
    - Dst: qobject_cast<QCheckBox*>
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:355,1
    - Dst: sender
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:355,1
    - Dst: qobject_cast<QGroupBox*>
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:356,1
    - Dst: sender
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:356,1
    - Dst: ExtVideo::changeVFiltersString
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:358,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:358,1
    - Dst: QCheckBox*::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:359,1
    - Dst: QGroupBox*::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 351
    functionDepth: 3
    functionLinenumber: 351
    functionLinenumberEnd: 361
    functionName: ExtVideo::updateFilters
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - ModuleFromWidgetName
    - qobject_cast<QGroupBox*>
    - ExtVideo::changeVFiltersString
    - sender
    - qtu
    - QGroupBox*::isChecked
    - QCheckBox*::isChecked
    - qobject_cast<QCheckBox*>
    linkageType: ''
    returnType: void
    signature: void ExtVideo::updateFilters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - widget
    - ','
    - file
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: UPDATE_AND_APPLY_TEXT
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE_AND_APPLY_TEXT( widget, file )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QStringList
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:370,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:370,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:371,1
    - Dst: QFileDialog::getOpenFileUrl
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:374,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:374,1
    - Dst: p_mi::getDialogFilePath
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:375,1
    - Dst: OverrideTrackOptions
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:376,1
    - Dst: UPDATE_AND_APPLY_TEXT
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 379
    functionName: ExtVideo::browseLogo
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - QStringLiteral
    - QStringList
    - QFileDialog::getOpenFileUrl
    - QString
    - p_mi::getDialogFilePath
    - UPDATE_AND_APPLY_TEXT
    - qtr
    - OverrideTrackOptions
    linkageType: ''
    returnType: void
    signature: void ExtVideo::browseLogo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QStringList
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:383,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:383,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:384,1
    - Dst: QFileDialog::getOpenFileUrl
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:387,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:387,1
    - Dst: p_mi::getDialogFilePath
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:388,1
    - Dst: OverrideTrackOptions
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:389,1
    - Dst: UPDATE_AND_APPLY_TEXT
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 392
    functionName: ExtVideo::browseEraseFile
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - QStringLiteral
    - QStringList
    - QFileDialog::getOpenFileUrl
    - QString
    - p_mi::getDialogFilePath
    - UPDATE_AND_APPLY_TEXT
    - qtr
    - OverrideTrackOptions
    linkageType: ''
    returnType: void
    signature: void ExtVideo::browseEraseFile()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qobject_cast<QComboBox*>
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:398,1
    - Dst: OptionFromWidgetName
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:401,1
    - Dst: config_FindConfig
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:402,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:402,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:405,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:405,1
    - Dst: config_GetIntChoices
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:414,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:414,1
    - Dst: QComboBox*::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:417,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:417,1
    - Dst: qlonglong
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:417,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:418,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:420,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:421,1
    - Dst: config_GetPszChoices
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:427,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:427,1
    - Dst: QComboBox*::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:430,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:430,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:430,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:431,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:432,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:434,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:435,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - widget
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 437
    functionName: ExtVideo::initComboBoxItems
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - qfut
    - qobject_cast<QComboBox*>
    - config_GetPszChoices
    - qlonglong
    - msg_Err
    - config_FindConfig
    - qtu
    - free
    - QComboBox*::addItem
    - config_GetIntChoices
    - qfu
    - OptionFromWidgetName
    linkageType: ''
    returnType: void
    signature: void ExtVideo::initComboBoxItems( QObject *widget )
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ModuleFromWidgetName
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:441,1
    - Dst: QObject*::parent
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:441,1
    - Dst: OptionFromWidgetName
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:443,1
    - Dst: config_GetType
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:447,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:447,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:456,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:458,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:458,1
    - Dst: var_Create
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:461,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:461,1
    - Dst: var_GetChecked
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:463,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:463,1
    - Dst: qobject_cast<QSlider*>
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:468,1
    - Dst: qobject_cast<QCheckBox*>
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:469,1
    - Dst: qobject_cast<QSpinBox*>
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:470,1
    - Dst: qobject_cast<QDoubleSpinBox*>
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:471,1
    - Dst: qobject_cast<VLCQDial*>
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:472,1
    - Dst: qobject_cast<QLineEdit*>
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:473,1
    - Dst: qobject_cast<QComboBox*>
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:474,1
    - Dst: QSlider*::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:478,1
    - Dst: QCheckBox*::setCheckState
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:479,1
    - Dst: QSpinBox*::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:481,1
    - Dst: VLCQDial*::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:482,1
    - Dst: snprintf
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:486,1
    - Dst: QLineEdit*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:487,1
    - Dst: QComboBox*::setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:489,1
    - Dst: QComboBox*::findData
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:490,1
    - Dst: qlonglong
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:490,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:491,1
    - Dst: QSlider*::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:495,1
    - Dst: QSlider*::tickInterval
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:495,1
    - Dst: QDoubleSpinBox*::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:496,1
    - Dst: VLCQDial*::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:497,1
    - Dst: lroundf
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:497,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:498,1
    - Dst: QLineEdit*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:502,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:502,1
    - Dst: QComboBox*::setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:503,1
    - Dst: QComboBox*::findData
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:504,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:504,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:505,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:506,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 1
    argNames:
    - widget
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 508
    functionName: ExtVideo::setWidgetValue
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - qobject_cast<QDoubleSpinBox*>
    - config_GetType
    - qlonglong
    - qobject_cast<QSpinBox*>
    - QSpinBox*::setValue
    - QDoubleSpinBox*::setValue
    - VLCQDial*::setValue
    - qfu
    - OptionFromWidgetName
    - lroundf
    - qobject_cast<QComboBox*>
    - var_Create
    - msg_Err
    - qtu
    - msg_Warn
    - snprintf
    - ModuleFromWidgetName
    - QSlider*::tickInterval
    - qobject_cast<VLCQDial*>
    - qobject_cast<QCheckBox*>
    - var_GetChecked
    - QSlider*::setValue
    - QComboBox*::setCurrentIndex
    - qobject_cast<QSlider*>
    - QComboBox*::findData
    - free
    - QCheckBox*::setCheckState
    - qobject_cast<QLineEdit*>
    - QObject*::parent
    - QLineEdit*::setText
    linkageType: ''
    returnType: void
    signature: void ExtVideo::setWidgetValue( QObject *widget )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QSlider*::tickInterval
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:513,1
    - Dst: QLabel*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:514,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:514,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:516,1
    - Dst: update
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:517,1
    - Dst: QSlider*::value
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - slider
    - label
    argTypes:
    - QSlider*
    - QLabel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 518
    functionName: ExtVideo::setupSliderValueLabel
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - QSlider*::tickInterval
    - update
    - QSlider*::value
    - QLabel*::setText
    - connect
    - vlclua_io_file_read_number
    linkageType: ''
    returnType: void
    signature: void ExtVideo::setupSliderValueLabel( QSlider *slider, QLabel *label
      )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getVout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:523,1
    - Dst: var_Type
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:529,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:529,1
    - Dst: config_GetType
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:531,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:557,1
    - Dst: var_SetChecked
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:565,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:565,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 5
    argNames:
    - psz_module
    - psz_option
    - i_int
    - f_float
    - psz_string
    argTypes:
    - char*
    - char*
    - int
    - double
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 566
    functionName: ExtVideo::setFilterOption
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - getVout
    - config_GetType
    - msg_Err
    - auto::get
    - var_SetChecked
    - var_Type
    linkageType: ''
    returnType: void
    signature: "void ExtVideo::setFilterOption( const char *psz_module, const char
      *psz_option,\n        int i_int, double f_float, const char *psz_string )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ModuleFromWidgetName
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:570,1
    - Dst: sender
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:570,1
    - Dst: OptionFromWidgetName
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:572,1
    - Dst: sender
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:572,1
    - Dst: qobject_cast<QSlider*>
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:577,1
    - Dst: sender
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:577,1
    - Dst: qobject_cast<QCheckBox*>
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:578,1
    - Dst: sender
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:578,1
    - Dst: qobject_cast<QSpinBox*>
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:579,1
    - Dst: sender
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:579,1
    - Dst: qobject_cast<QDoubleSpinBox*>
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:580,1
    - Dst: sender
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:580,1
    - Dst: qobject_cast<VLCQDial*>
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:581,1
    - Dst: sender
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:581,1
    - Dst: qobject_cast<QLineEdit*>
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:582,1
    - Dst: sender
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:582,1
    - Dst: qobject_cast<QComboBox*>
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:583,1
    - Dst: sender
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:583,1
    - Dst: QSlider*::value
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:590,1
    - Dst: QSlider*::value
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:591,1
    - Dst: QSlider*::tickInterval
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:591,1
    - Dst: QCheckBox*::checkState
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:593,1
    - Dst: QSpinBox*::value
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:594,1
    - Dst: QDoubleSpinBox*::value
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:595,1
    - Dst: VLCQDial*::value
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:597,1
    - Dst: QLineEdit*::text
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:601,1
    - Dst: QLineEdit*::text
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:602,1
    - Dst: QLineEdit*::text
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:603,1
    - Dst: QComboBox*::itemData
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:606,1
    - Dst: QComboBox*::currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:606,1
    - Dst: QComboBox*::itemData
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:607,1
    - Dst: QComboBox*::currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:607,1
    - Dst: ExtVideo::setFilterOption
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:610,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:610,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:610,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:610,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 568
    functionDepth: 2
    functionLinenumber: 568
    functionLinenumberEnd: 611
    functionName: ExtVideo::updateFilterOptions
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - qobject_cast<QDoubleSpinBox*>
    - QCheckBox*::checkState
    - QSpinBox*::value
    - qobject_cast<QSpinBox*>
    - OptionFromWidgetName
    - QSlider*::value
    - qobject_cast<QComboBox*>
    - QComboBox*::currentIndex
    - QLineEdit*::text
    - qtu
    - ExtVideo::setFilterOption
    - ModuleFromWidgetName
    - QSlider*::tickInterval
    - QDoubleSpinBox*::value
    - qobject_cast<VLCQDial*>
    - QComboBox*::itemData
    - VLCQDial*::value
    - qobject_cast<QCheckBox*>
    - qobject_cast<QSlider*>
    - sender
    - qobject_cast<QLineEdit*>
    linkageType: ''
    returnType: void
    signature: void ExtVideo::updateFilterOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVBoxLayout::QVBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:620,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:621,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:621,1
    - Dst: setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:625,1
    - Dst: setWordWrap
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:626,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:627,1
    - Dst: setLayout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - _p_intf
    - _parent
    argTypes:
    - qt_intf_t*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 629
    functionName: ExtV4l2::ExtV4l2
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - QVBoxLayout*::addWidget
    - setWordWrap
    - qtr
    - setAlignment
    - QLabel::QLabel
    - setLayout
    - QVBoxLayout::QVBoxLayout
    linkageType: ''
    returnType: void
    signature: void ExtV4l2::ExtV4l2( qt_intf_t *_p_intf, QWidget *_parent )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtraMetaPanel::showEvent
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:633,1
    - Dst: ExtV4l2::Refresh
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - event
    argTypes:
    - QShowEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 631
    functionDepth: 2
    functionLinenumber: 631
    functionLinenumberEnd: 635
    functionName: ExtV4l2::showEvent
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - ExtV4l2::Refresh
    - ExtraMetaPanel::showEvent
    linkageType: ''
    returnType: void
    signature: void ExtV4l2::showEvent( QShowEvent *event )
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:639,1
    - Dst: vlc_player_GetV4l2Object
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:640,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:641,1
    - Dst: layout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:644,1
    - Dst: var_Change
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:655,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:659,1
    - Dst: show
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:660,1
    - Dst: QGroupBox::QGroupBox
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:664,1
    - Dst: layout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:665,1
    - Dst: QVBoxLayout::QVBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:666,1
    - Dst: setLayout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:667,1
    - Dst: var_Change
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:674,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:676,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:677,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:680,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:682,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:683,1
    - Dst: var_Type
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:685,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:690,1
    - Dst: QHBoxLayout::QHBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:691,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:692,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:693,1
    - Dst: QComboBox::QComboBox
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:696,1
    - Dst: QComboBox*::setObjectName
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:697,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:697,1
    - Dst: var_Change
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:703,1
    - Dst: QComboBox*::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:707,1
    - Dst: qlonglong
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:708,1
    - Dst: QComboBox*::setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:710,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:711,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:713,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:714,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:716,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:716,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:717,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:718,1
    - Dst: QSlider::QSlider
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:722,1
    - Dst: QSlider*::setObjectName
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:723,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:723,1
    - Dst: QSlider*::setOrientation
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:724,1
    - Dst: var_Change
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:726,1
    - Dst: QSlider*::setMinimum
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:729,1
    - Dst: var_Change
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:730,1
    - Dst: QSlider*::setMaximum
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:733,1
    - Dst: var_Change
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:734,1
    - Dst: QSlider*::setSingleStep
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:736,1
    - Dst: QSlider*::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:737,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:738,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:739,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:740,1
    - Dst: QVBoxLayout*::addLayout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:742,1
    - Dst: QCheckBox::QCheckBox
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:747,1
    - Dst: QCheckBox*::setObjectName
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:748,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:748,1
    - Dst: QCheckBox*::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:749,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:749,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:751,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:752,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:753,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:760,1
    - Dst: QPushButton*::setObjectName
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:761,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:761,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:763,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:764,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:765,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:769,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:770,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:775,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:778,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:780,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:781,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:785,1
    - Dst: show
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:786,1
    - Dst: isVisible
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:787,1
    - Dst: QTimer::singleShot
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:788,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:790,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 92
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 637
    functionDepth: 3
    functionLinenumber: 637
    functionLinenumberEnd: 791
    functionName: ExtV4l2::Refresh
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 1
    functionsReached:
    - qlonglong
    - connect
    - QLabel::QLabel
    - var_GetInteger
    - qfu
    - QHBoxLayout::QHBoxLayout
    - QVBoxLayout*::addWidget
    - vlc_player_Unlock
    - QSlider*::setOrientation
    - msg_Err
    - qtu
    - msg_Dbg
    - QCheckBox::QCheckBox
    - msg_Warn
    - QVBoxLayout::QVBoxLayout
    - go_eof
    - QComboBox::QComboBox
    - QSlider*::setObjectName
    - QSlider*::setMinimum
    - show
    - isVisible
    - QCheckBox*::setObjectName
    - vlc_player_GetV4l2Object
    - QSlider::QSlider
    - QSlider*::setSingleStep
    - QPushButton::QPushButton
    - QPushButton*::setObjectName
    - setLayout
    - var_GetBool
    - var_Type
    - qfut
    - QSlider*::setValue
    - QComboBox*::setCurrentIndex
    - QHBoxLayout*::addWidget
    - QComboBox*::setObjectName
    - hide
    - QCheckBox*::setChecked
    - QGroupBox::QGroupBox
    - QTimer::singleShot
    - vlc_player_Lock
    - QSlider*::setMaximum
    - free
    - layout
    - QComboBox*::addItem
    - QVBoxLayout*::addLayout
    - var_Change
    linkageType: ''
    returnType: void
    signature: void ExtV4l2::Refresh( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtV4l2::ValueChange
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 793
    functionDepth: 1
    functionLinenumber: 793
    functionLinenumberEnd: 796
    functionName: ExtV4l2::ValueChange
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 1
    functionsReached:
    - ExtV4l2::ValueChange
    linkageType: ''
    returnType: void
    signature: void ExtV4l2::ValueChange( bool value )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sender
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:800,1
    - Dst: vlc_player_Lock
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:801,1
    - Dst: vlc_player_GetV4l2Object
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:802,1
    - Dst: QObject*::objectName
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:805,1
    - Dst: var_Type
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:806,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:806,1
    - Dst: qobject_cast<QComboBox*>
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:812,1
    - Dst: QComboBox*::itemData
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:813,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:815,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:815,1
    - Dst: var_SetBool
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:818,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:818,1
    - Dst: var_TriggerCallback
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:821,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:821,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:824,1
    - Dst: vlc_player_Unlock
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:828,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:829,1
    - Dst: ExtV4l2::Refresh
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:830,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 798
    functionDepth: 4
    functionLinenumber: 798
    functionLinenumberEnd: 832
    functionName: ExtV4l2::ValueChange
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 1
    functionsReached:
    - qobject_cast<QComboBox*>
    - vlc_player_Unlock
    - vlc_player_GetV4l2Object
    - sender
    - vlc_player_Lock
    - var_SetInteger
    - qtu
    - var_SetBool
    - var_TriggerCallback
    - QComboBox*::itemData
    - msg_Warn
    - QObject*::objectName
    - ExtV4l2::Refresh
    - var_Type
    linkageType: ''
    returnType: void
    signature: void ExtV4l2::ValueChange( int value )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: installEventFilter
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - parent
    - _slider
    argTypes:
    - QObject*
    - QSlider*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 842
    functionName: FilterSliderData::FilterSliderData
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - installEventFilter
    linkageType: ''
    returnType: void
    signature: void FilterSliderData::FilterSliderData( QObject *parent, QSlider *_slider
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setMinimum
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:852,1
    - Dst: setMaximum
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:853,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:854,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:855,1
    - Dst: FilterSliderData::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:856,1
    - Dst: FilterSliderData::initialValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:856,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:858,1
    - Dst: maximum
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:858,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:859,1
    - Dst: minimum
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:859,1
    - Dst: FilterSliderData::updateText
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:860,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:860,1
    - Dst: installEventFilter
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:862,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:863,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - parent
    - _p_intf
    - _slider
    - _label
    - _nameLabel
    - _p_data
    argTypes:
    - QObject*
    - qt_intf_t*
    - QSlider*
    - QLabel*
    - QLabel*
    - slider_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 844
    functionDepth: 1
    functionLinenumber: 844
    functionLinenumberEnd: 864
    functionName: FilterSliderData::FilterSliderData
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - FilterSliderData::updateText
    - installEventFilter
    - FilterSliderData::initialValue
    - connect
    - maximum
    - setMinimum
    - FilterSliderData::setValue
    - setText
    - minimum
    - value
    - setMaximum
    linkageType: ''
    returnType: void
    signature: "void FilterSliderData::FilterSliderData( QObject *parent,\n                                    qt_intf_t
      *_p_intf,\n                                    QSlider *_slider,\n                                    QLabel
      *_label, QLabel *_nameLabel,\n                                    const slider_data_t
      *_p_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FilterSliderData::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 869
    functionName: FilterSliderData::setValue
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 2
    functionsReached:
    - FilterSliderData::setValue
    linkageType: ''
    returnType: void
    signature: void FilterSliderData::setValue( float f )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:874,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:874,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 877
    functionName: FilterSliderData::updateText
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 1
    functionsReached:
    - setText
    - QString
    - vlclua_io_file_read_number
    linkageType: ''
    returnType: void
    signature: void FilterSliderData::updateText( int i )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getAout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:881,1
    - Dst: var_Type
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:885,1
    - Dst: SharedAOut::get
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:885,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:885,1
    - Dst: var_GetFloat
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:886,1
    - Dst: SharedAOut::get
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:886,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:886,1
    - Dst: config_FindConfig
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:890,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:890,1
    - Dst: config_GetFloat
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:893,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:893,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 895
    functionName: FilterSliderData::initialValue
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 1
    functionsReached:
    - var_GetFloat
    - getAout
    - SharedAOut::get
    - config_FindConfig
    - qtu
    - var_Type
    - config_GetFloat
    linkageType: ''
    returnType: float
    signature: float FilterSliderData::initialValue()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getAout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:900,1
    - Dst: var_SetFloat
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:903,1
    - Dst: SharedAOut::get
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:903,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:903,1
    - Dst: FilterSliderData::writeToConfig
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:905,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 897
    functionDepth: 1
    functionLinenumber: 897
    functionLinenumberEnd: 906
    functionName: FilterSliderData::onValueChanged
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - getAout
    - var_SetFloat
    - SharedAOut::get
    - qtu
    - FilterSliderData::writeToConfig
    linkageType: ''
    returnType: void
    signature: void FilterSliderData::onValueChanged( int i )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:910,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 912
    functionName: FilterSliderData::writeToConfig
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 1
    functionsReached:
    - QVariant
    - value
    linkageType: ''
    returnType: void
    signature: void FilterSliderData::writeToConfig()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:916,1
    - Dst: FilterSliderData::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:918,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - watched
    - event
    argTypes:
    - QObject*
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 914
    functionDepth: 2
    functionLinenumber: 914
    functionLinenumberEnd: 922
    functionName: FilterSliderData::eventFilter
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - QEvent*::type
    - FilterSliderData::setValue
    linkageType: ''
    returnType: bool
    signature: bool FilterSliderData::eventFilter(QObject *watched, QEvent *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - _p_intf
    - parent
    - _name
    argTypes:
    - qt_intf_t*
    - QWidget*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 928
    functionName: AudioFilterControlWidget::AudioFilterControlWidget
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void AudioFilterControlWidget::AudioFilterControlWidget

      ( qt_intf_t *_p_intf, QWidget *parent, const char *_name )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - slider
    argTypes:
    - FilterSliderData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 933
    functionName: AudioFilterControlWidget::connectConfigChanged
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - connect
    linkageType: ''
    returnType: void
    signature: void AudioFilterControlWidget::connectConfigChanged( FilterSliderData
      *slider )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetSoundfont
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:937,1
    - Dst: QFont::setPointSize
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:938,1
    - Dst: QFont::pointSize
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:938,1
    - Dst: QVBoxLayout::QVBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:940,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:941,1
    - Dst: QGroupBox::QGroupBox
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:941,1
    - Dst: setCheckable
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:942,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:943,1
    - Dst: QGridLayout::QGridLayout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:945,1
    - Dst: QSlider::QSlider
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:950,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:951,1
    - Dst: QLabel*::setFont
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:952,1
    - Dst: QLabel*::setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:953,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:954,1
    - Dst: QLabel*::setFont
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:955,1
    - Dst: QLabel*::setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:956,1
    - Dst: FilterSliderData::FilterSliderData
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:958,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:960,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:961,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:962,1
    - Dst: AudioFilterControlWidget::connectConfigChanged
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:965,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:968,1
    - Dst: filterIsPresent
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:970,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:970,1
    - Dst: setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:971,1
    - Dst: setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:973,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:974,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:976,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 977
    functionName: AudioFilterControlWidget::build
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - QGridLayout*::addWidget
    - setCheckable
    - connect
    - QLabel::QLabel
    - SetSoundfont
    - AudioFilterControlWidget::connectConfigChanged
    - QLabel*::setAlignment
    - qfu
    - FilterSliderData::FilterSliderData
    - setChecked
    - QGridLayout::QGridLayout
    - QVBoxLayout*::addWidget
    - QFont::pointSize
    - filterIsPresent
    - QVBoxLayout::QVBoxLayout
    - QLabel*::setFont
    - qtr
    - QSlider::QSlider
    - var_InheritString
    - QGroupBox::QGroupBox
    - QFont::setPointSize
    - free
    linkageType: ''
    returnType: void
    signature: void AudioFilterControlWidget::build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QSlider::QSlider
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:950,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:951,1
    - Dst: QLabel*::setFont
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:952,1
    - Dst: QLabel*::setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:953,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:954,1
    - Dst: QLabel*::setFont
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:955,1
    - Dst: QLabel*::setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:956,1
    - Dst: FilterSliderData::FilterSliderData
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:958,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:960,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:961,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:962,1
    - Dst: connectConfigChanged
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - FilterSliderData::slider_data_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 948
    functionDepth: 1
    functionLinenumber: 948
    functionLinenumberEnd: 966
    functionName: foreach
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 53
    functionsReached:
    - addWidget
    - QLabel*::setFont
    - connectConfigChanged
    - QSlider::QSlider
    - QLabel::QLabel
    - QLabel*::setAlignment
    - FilterSliderData::FilterSliderData
    linkageType: ''
    returnType: void
    signature: void foreach( const FilterSliderData::slider_data_t &data, controls
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: module_find
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:981,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:981,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:984,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:984,1
    - Dst: ChangeFiltersString
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:988,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:988,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:990,1
    - Dst: vlc_player_aout_EnableFilter
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:991,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:991,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - b_enable
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 979
    functionDepth: 2
    functionLinenumber: 979
    functionLinenumberEnd: 992
    functionName: AudioFilterControlWidget::enable
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - msg_Err
    - qtu
    - module_find
    - vlc_player_aout_EnableFilter
    - qfu
    - ChangeFiltersString
    linkageType: ''
    returnType: void
    signature: void AudioFilterControlWidget::enable( bool b_enable )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QSlider*::setMinimum
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1009,1
    - Dst: QSlider*::setMaximum
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1010,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1011,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1012,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1013,1
    - Dst: EqualizerSliderData::initialValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1013,1
    - Dst: updateText
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1014,1
    - Dst: QSlider*::value
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1014,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 7
    argNames:
    - parent
    - _p_intf
    - slider
    - _label
    - _nameLabel
    - _p_data
    - _index
    argTypes:
    - QObject*
    - qt_intf_t*
    - QSlider*
    - QLabel*
    - QLabel*
    - slider_data_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1016
    functionName: EqualizerSliderData::EqualizerSliderData
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - QSlider*::value
    - QSlider*::setMinimum
    - EqualizerSliderData::initialValue
    - QSlider*::setMaximum
    - connect
    - updateText
    - setText
    - setValue
    linkageType: ''
    returnType: void
    signature: "void EqualizerSliderData::EqualizerSliderData( QObject *parent, qt_intf_t
      *_p_intf,\n                                          QSlider *slider, QLabel
      *_label,\n                                          QLabel *_nameLabel, const
      slider_data_t *_p_data,\n                                          int _index
      )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getAout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1020,1
    - Dst: var_Type
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1024,1
    - Dst: SharedAOut::get
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1024,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1024,1
    - Dst: var_GetString
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1026,1
    - Dst: SharedAOut::get
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1026,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1026,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1029,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1030,1
    - Dst: QStringList::count
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1035,1
    - Dst: config_FindConfig
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1038,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1038,1
    - Dst: config_GetPsz
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1041,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1041,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1044,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1045,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1018
    functionDepth: 1
    functionLinenumber: 1018
    functionLinenumberEnd: 1049
    functionName: EqualizerSliderData::getBandsFromAout
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - getAout
    - QString
    - var_GetString
    - SharedAOut::get
    - config_FindConfig
    - free
    - qtu
    - QStringList::count
    - config_GetPsz
    - var_Type
    linkageType: ''
    returnType: QStringList
    signature: QStringList EqualizerSliderData::getBandsFromAout() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EqualizerSliderData::getBandsFromAout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1054,1
    - Dst: QStringList::count
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1056,1
    - Dst: QLocale
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1057,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1051
    functionDepth: 2
    functionLinenumber: 1051
    functionLinenumberEnd: 1060
    functionName: EqualizerSliderData::initialValue
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 1
    functionsReached:
    - QStringList::count
    - QLocale
    - EqualizerSliderData::getBandsFromAout
    linkageType: ''
    returnType: float
    signature: float EqualizerSliderData::initialValue()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EqualizerSliderData::getBandsFromAout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1064,1
    - Dst: QStringList::count
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1065,1
    - Dst: QLocale
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1068,1
    - Dst: getAout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1069,1
    - Dst: var_SetString
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1072,1
    - Dst: SharedAOut::get
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1072,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1072,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1072,1
    - Dst: QStringList::join
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1072,1
    - Dst: EqualizerSliderData::writeToConfig
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1074,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1062
    functionDepth: 2
    functionLinenumber: 1062
    functionLinenumberEnd: 1076
    functionName: EqualizerSliderData::onValueChanged
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - getAout
    - QStringList::join
    - SharedAOut::get
    - QLocale
    - EqualizerSliderData::writeToConfig
    - EqualizerSliderData::getBandsFromAout
    - qtu
    - QStringList::count
    - var_SetString
    linkageType: ''
    returnType: void
    signature: void EqualizerSliderData::onValueChanged( int i )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EqualizerSliderData::getBandsFromAout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1080,1
    - Dst: QStringList::count
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1081,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1083,1
    - Dst: QLocale
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1084,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1085,1
    - Dst: QStringList::join
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1085,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1078
    functionDepth: 2
    functionLinenumber: 1078
    functionLinenumberEnd: 1087
    functionName: EqualizerSliderData::writeToConfig
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 1
    functionsReached:
    - QVariant
    - QStringList::join
    - QLocale
    - EqualizerSliderData::getBandsFromAout
    - QStringList::count
    - value
    linkageType: ''
    returnType: void
    signature: void EqualizerSliderData::writeToConfig()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1091,1
    - Dst: getAout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1093,1
    - Dst: var_GetString
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1096,1
    - Dst: SharedAOut::get
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1096,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1102,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1108,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1112,1
    - Dst: FilterSliderData::eventFilter
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1118,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - watched
    - event
    argTypes:
    - QObject*
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1089
    functionDepth: 3
    functionLinenumber: 1089
    functionLinenumberEnd: 1119
    functionName: EqualizerSliderData::eventFilter
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - getAout
    - var_GetString
    - QEvent*::type
    - SharedAOut::get
    - FilterSliderData::eventFilter
    - free
    - strcmp
    - setValue
    linkageType: ''
    returnType: bool
    signature: bool EqualizerSliderData::eventFilter(QObject *watched, QEvent *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1125,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1129,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1129,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1130,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1130,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1131,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1131,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1132,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1132,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1133,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1133,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1134,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1134,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1135,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1135,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1136,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1136,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1137,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1137,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1138,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1138,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1142,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1142,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1143,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1143,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1144,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1144,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1145,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1145,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1146,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1146,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1147,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1147,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1148,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1148,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1149,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1149,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1150,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1150,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1151,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1151,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1154,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1154,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1156,1
    - Dst: Equalizer::build
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p_intf
    - parent
    argTypes:
    - qt_intf_t*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1121
    functionDepth: 1
    functionLinenumber: 1121
    functionLinenumberEnd: 1159
    functionName: Equalizer::Equalizer
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - append
    - var_InheritBool
    - Equalizer::build
    - qtr
    linkageType: ''
    returnType: void
    signature: void Equalizer::Equalizer( qt_intf_t *p_intf, QWidget *parent )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SetSoundfont
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1163,1
    - Dst: QFont::setPointSize
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1164,1
    - Dst: QFont::pointSize
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1164,1
    - Dst: Ui::EqualizerWidget::setupUi
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1167,1
    - Dst: QGridLayout::QGridLayout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1169,1
    - Dst: Ui::EqualizerWidget::preampLabel::setFont
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1172,1
    - Dst: Ui::EqualizerWidget::preampValue::setFont
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1173,1
    - Dst: FilterSliderData::FilterSliderData
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1174,1
    - Dst: connectConfigChanged
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1176,1
    - Dst: qMax
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1179,1
    - Dst: QFontMetrics
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1179,1
    - Dst: QFontMetrics
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1180,1
    - Dst: QSlider::QSlider
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1184,1
    - Dst: QSlider*::setMinimumWidth
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1185,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1186,1
    - Dst: QLabel*::setFont
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1187,1
    - Dst: QLabel*::setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1188,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1189,1
    - Dst: QLabel*::setFont
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1190,1
    - Dst: QLabel*::setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1191,1
    - Dst: EqualizerSliderData::EqualizerSliderData
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1193,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1195,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1196,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1197,1
    - Dst: connectConfigChanged
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1200,1
    - Dst: Ui::EqualizerWidget::presetsCombo::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1204,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1204,1
    - Dst: QApplication::primaryScreen
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1208,1
    - Dst: QPixmap::fill
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1210,1
    - Dst: QGraphicsScene::addRect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1218,1
    - Dst: QPen
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1218,1
    - Dst: palette
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1218,1
    - Dst: QGraphicsScene::addLine
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1220,1
    - Dst: palette
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1221,1
    - Dst: QGraphicsScene::setSceneRect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1222,1
    - Dst: QGraphicsScene::render
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1223,1
    - Dst: QPixmap::rect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1223,1
    - Dst: QGraphicsScene::sceneRect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1223,1
    - Dst: Ui::EqualizerWidget::presetsCombo::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1224,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1224,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1225,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1227,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1227,1
    - Dst: getAout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1230,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1233,1
    - Dst: SharedAOut::get
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1233,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1235,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1239,1
    - Dst: Ui::EqualizerWidget::presetsCombo::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1240,1
    - Dst: Ui::EqualizerWidget::presetLabel::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1241,1
    - Dst: Ui::EqualizerWidget::eq2PassCheck::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1242,1
    - Dst: Ui::EqualizerWidget::slidersPlaceholder::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1243,1
    - Dst: Ui::EqualizerWidget::preampSlider::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1244,1
    - Dst: Ui::EqualizerWidget::preampValue::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1245,1
    - Dst: Ui::EqualizerWidget::preampLabel::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1246,1
    - Dst: filterIsPresent
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1249,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1249,1
    - Dst: Ui::EqualizerWidget::enableCheck::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1250,1
    - Dst: Ui::EqualizerWidget::enableCheck::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1252,1
    - Dst: Ui::EqualizerWidget::enableCheck::toggle
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1255,1
    - Dst: Ui::EqualizerWidget::enableCheck::toggle
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1255,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1257,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1258,1
    - Dst: Ui::EqualizerWidget::eq2PassCheck::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1261,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1261,1
    - Dst: SharedAOut::get
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1261,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1262,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1161
    functionDepth: 3
    functionLinenumber: 1161
    functionLinenumberEnd: 1263
    functionName: Equalizer::build
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 1
    functionsReached:
    - QVariant
    - getAout
    - Ui::EqualizerWidget::preampSlider::setEnabled
    - connectConfigChanged
    - Ui::EqualizerWidget::setupUi
    - QGridLayout*::addWidget
    - connect
    - QFontMetrics
    - Ui::EqualizerWidget::enableCheck::toggle
    - QLabel::QLabel
    - Ui::EqualizerWidget::eq2PassCheck::setEnabled
    - SetSoundfont
    - QPixmap::rect
    - QLabel*::setAlignment
    - QGraphicsScene::addRect
    - qfu
    - FilterSliderData::FilterSliderData
    - QApplication::primaryScreen
    - QGridLayout::QGridLayout
    - Ui::EqualizerWidget::enableCheck::setChecked
    - Ui::EqualizerWidget::slidersPlaceholder::setEnabled
    - QPixmap::fill
    - Ui::EqualizerWidget::eq2PassCheck::setChecked
    - QFont::pointSize
    - QSlider*::setMinimumWidth
    - SharedAOut::get
    - palette
    - QPen
    - filterIsPresent
    - Ui::EqualizerWidget::presetsCombo::setEnabled
    - Ui::EqualizerWidget::preampValue::setEnabled
    - go_eof
    - QLabel*::setFont
    - Ui::EqualizerWidget::preampLabel::setFont
    - Ui::EqualizerWidget::presetsCombo::addItem
    - var_InheritBool
    - Ui::EqualizerWidget::presetLabel::setEnabled
    - QSlider::QSlider
    - var_GetNonEmptyString
    - qfut
    - Ui::EqualizerWidget::preampLabel::setEnabled
    - var_InheritString
    - qMax
    - QGraphicsScene::render
    - QGraphicsScene::sceneRect
    - QGraphicsScene::setSceneRect
    - QFont::setPointSize
    - free
    - Ui::EqualizerWidget::preampValue::setFont
    - EqualizerSliderData::EqualizerSliderData
    - QGraphicsScene::addLine
    linkageType: ''
    returnType: void
    signature: void Equalizer::build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QSlider::QSlider
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1184,1
    - Dst: QSlider*::setMinimumWidth
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1185,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1186,1
    - Dst: QLabel*::setFont
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1187,1
    - Dst: QLabel*::setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1188,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1189,1
    - Dst: QLabel*::setFont
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1190,1
    - Dst: QLabel*::setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1191,1
    - Dst: EqualizerSliderData::EqualizerSliderData
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1193,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1195,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1196,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1197,1
    - Dst: connectConfigChanged
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - FilterSliderData::slider_data_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1182
    functionDepth: 2
    functionLinenumber: 1182
    functionLinenumberEnd: 1201
    functionName: foreach
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 53
    functionsReached:
    - addWidget
    - QLabel*::setFont
    - connectConfigChanged
    - QSlider*::setMinimumWidth
    - QSlider::QSlider
    - QLabel::QLabel
    - EqualizerSliderData::EqualizerSliderData
    - QLabel*::setAlignment
    linkageType: ''
    returnType: void
    signature: void foreach( const FilterSliderData::slider_data_t &data, controls
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1272,1
    - Dst: qMin
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1273,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1274,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1275,1
    - Dst: getAout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1277,1
    - Dst: var_SetString
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1280,1
    - Dst: SharedAOut::get
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1280,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1282,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1282,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - i_preset
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1265
    functionDepth: 1
    functionLinenumber: 1265
    functionLinenumberEnd: 1283
    functionName: Equalizer::setCorePreset
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - QVariant
    - getAout
    - SharedAOut::get
    - qMin
    - count
    - var_SetString
    - qfu
    - setValue
    linkageType: ''
    returnType: void
    signature: void Equalizer::setCorePreset( int i_preset )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getAout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1288,1
    - Dst: var_SetBool
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1292,1
    - Dst: SharedAOut::get
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1292,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1294,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - b_enable
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1286
    functionDepth: 1
    functionLinenumber: 1286
    functionLinenumberEnd: 1295
    functionName: Equalizer::enable2Pass
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - QVariant
    - getAout
    - SharedAOut::get
    - var_SetBool
    - qfu
    linkageType: ''
    returnType: void
    signature: void Equalizer::enable2Pass( bool b_enable )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1311,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1312,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1312,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1313,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1313,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1314,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1314,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1315,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1316,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1316,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1317,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1317,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1319,1
    - Dst: build
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_intf
    - parent
    argTypes:
    - qt_intf_t*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1305
    functionDepth: 1
    functionLinenumber: 1305
    functionLinenumberEnd: 1321
    functionName: Compressor::Compressor
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - append
    - qtr
    - build
    linkageType: ''
    returnType: void
    signature: void Compressor::Compressor( qt_intf_t *p_intf, QWidget *parent )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1333,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1334,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1334,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1335,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1335,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1336,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1336,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1337,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1338,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1338,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1339,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1339,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1341,1
    - Dst: build
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_intf
    - parent
    argTypes:
    - qt_intf_t*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1327
    functionDepth: 1
    functionLinenumber: 1327
    functionLinenumberEnd: 1343
    functionName: Expander::Expander
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - append
    - qtr
    - build
    linkageType: ''
    returnType: void
    signature: void Expander::Expander( qt_intf_t *p_intf, QWidget *parent )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1355,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1356,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1356,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1357,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1357,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1358,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1358,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1359,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1360,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1360,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1361,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1361,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1363,1
    - Dst: build
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_intf
    - parent
    argTypes:
    - qt_intf_t*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1349
    functionDepth: 1
    functionLinenumber: 1349
    functionLinenumberEnd: 1365
    functionName: Limiter::Limiter
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - append
    - qtr
    - build
    linkageType: ''
    returnType: void
    signature: void Limiter::Limiter( qt_intf_t *p_intf, QWidget *parent )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1377,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1378,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1379,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1380,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1381,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1383,1
    - Dst: build
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_intf
    - parent
    argTypes:
    - qt_intf_t*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1371
    functionDepth: 1
    functionLinenumber: 1371
    functionLinenumberEnd: 1385
    functionName: Spatializer::Spatializer
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - append
    - qtr
    - build
    linkageType: ''
    returnType: void
    signature: void Spatializer::Spatializer( qt_intf_t *p_intf, QWidget *parent )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1397,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1398,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1399,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1400,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1402,1
    - Dst: build
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_intf
    - parent
    argTypes:
    - qt_intf_t*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1391
    functionDepth: 1
    functionLinenumber: 1391
    functionLinenumberEnd: 1404
    functionName: StereoWidener::StereoWidener
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - append
    - qtr
    - build
    linkageType: ''
    returnType: void
    signature: void StereoWidener::StereoWidener( qt_intf_t *p_intf, QWidget *parent
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1414,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1414,1
    - Dst: build
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_intf
    - parent
    argTypes:
    - qt_intf_t*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1410
    functionDepth: 1
    functionLinenumber: 1410
    functionLinenumberEnd: 1417
    functionName: PitchShifter::PitchShifter
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - append
    - qtr
    - build
    linkageType: ''
    returnType: void
    signature: void PitchShifter::PitchShifter( qt_intf_t *p_intf, QWidget *parent
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1423,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1423,1
    - Dst: build
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_intf
    - parent
    argTypes:
    - qt_intf_t*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1426
      start: 1419
    functionDepth: 1
    functionLinenumber: 1419
    functionLinenumberEnd: 1426
    functionName: StereoPanner::StereoPanner
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - append
    - qtr
    - build
    linkageType: ''
    returnType: void
    signature: void StereoPanner::StereoPanner( qt_intf_t *p_intf, QWidget *parent
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QHBoxLayout::QHBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1439,1
    - Dst: setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1440,1
    - Dst: setDecimals
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1441,1
    - Dst: setMinimum
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1442,1
    - Dst: setMaximum
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1443,1
    - Dst: setSingleStep
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1444,1
    - Dst: setSuffix
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1445,1
    - Dst: setButtonSymbols
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1446,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1447,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1447,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1449,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1450,1
    - Dst: QHBoxLayout*::setContentsMargins
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1451,1
    - Dst: setLayout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - _parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1437
    functionDepth: 3
    functionLinenumber: 1437
    functionLinenumberEnd: 1453
    functionName: SyncWidget::SyncWidget
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - QHBoxLayout::QHBoxLayout
    - go_eof
    - QHBoxLayout*::addWidget
    - setSingleStep
    - setSuffix
    - connect
    - setAlignment
    - setButtonSymbols
    - QHBoxLayout*::setContentsMargins
    - setMinimum
    - setLayout
    - setDecimals
    - setMaximum
    linkageType: ''
    returnType: void
    signature: void SyncWidget::SyncWidget( QWidget *_parent )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1458,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1458,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1460,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1460,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1455
    functionDepth: 1
    functionLinenumber: 1455
    functionLinenumberEnd: 1464
    functionName: SyncWidget::valueChangedHandler
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - setText
    - qtr
    linkageType: ''
    returnType: void
    signature: void SyncWidget::valueChangedHandler( double d )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SyncWidget::setValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1466
    functionDepth: 1
    functionLinenumber: 1466
    functionLinenumberEnd: 1469
    functionName: SyncWidget::setValue
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 1
    functionsReached:
    - SyncWidget::setValue
    linkageType: ''
    returnType: void
    signature: void SyncWidget::setValue( double d )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1474,1
    - Dst: QGridLayout::QGridLayout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1481,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1484,1
    - Dst: QGroupBox::QGroupBox
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1484,1
    - Dst: QGridLayout::QGridLayout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1485,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1487,1
    - Dst: QLabel*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1488,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1488,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1489,1
    - Dst: SyncWidget::SyncWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1491,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1492,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1493,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1496,1
    - Dst: QGroupBox::QGroupBox
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1496,1
    - Dst: QGridLayout::QGridLayout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1497,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1499,1
    - Dst: QGroupBox::QGroupBox
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1499,1
    - Dst: QGridLayout::QGridLayout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1500,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1504,1
    - Dst: QLabel*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1505,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1505,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1505,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1506,1
    - Dst: SyncWidget::SyncWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1509,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1510,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1513,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1515,1
    - Dst: QLabel*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1516,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1516,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1517,1
    - Dst: QDoubleSpinBox::QDoubleSpinBox
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1519,1
    - Dst: setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1520,1
    - Dst: setDecimals
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1521,1
    - Dst: setMinimum
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1522,1
    - Dst: setMaximum
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1523,1
    - Dst: setSingleStep
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1524,1
    - Dst: setSuffix
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1525,1
    - Dst: setButtonSymbols
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1526,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1527,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1529,1
    - Dst: QLabel*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1530,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1530,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1531,1
    - Dst: QDoubleSpinBox::QDoubleSpinBox
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1533,1
    - Dst: setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1534,1
    - Dst: setDecimals
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1535,1
    - Dst: setMinimum
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1536,1
    - Dst: setMaximum
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1537,1
    - Dst: setSingleStep
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1538,1
    - Dst: setButtonSymbols
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1539,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1540,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1542,1
    - Dst: QToolButton::QToolButton
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1544,1
    - Dst: QToolButton*::setAutoRaise
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1545,1
    - Dst: QToolButton*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1546,1
    - Dst: QToolButton*::setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1547,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1547,1
    - Dst: QToolButton*::setIcon
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1548,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1548,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1549,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1551,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1554,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1555,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1556,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1557,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1557,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1558,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1558,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1560,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1562,1
    - Dst: toSecf
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1562,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1565,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1567,1
    - Dst: toSecf
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1567,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1570,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1572,1
    - Dst: toSecf
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1572,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1575,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1576,1
    - Dst: SyncControls::initSubsDuration
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1578,1
    - Dst: SyncControls::update
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 69
    argCount: 2
    argNames:
    - _p_intf
    - _parent
    argTypes:
    - qt_intf_t*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1471
    functionDepth: 4
    functionLinenumber: 1471
    functionLinenumberEnd: 1582
    functionName: SyncControls::SyncControls
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - QIcon
    - QLabel*::setText
    - setSingleStep
    - QGridLayout*::addWidget
    - QToolButton*::setText
    - QToolButton*::setIcon
    - BUTTONACT
    - connect
    - setAlignment
    - QLabel::QLabel
    - setDecimals
    - setValue
    - QGridLayout::QGridLayout
    - toSecf
    - QToolButton::QToolButton
    - setMinimum
    - SyncControls::initSubsDuration
    - go_eof
    - qtr
    - SyncWidget::SyncWidget
    - setSuffix
    - setButtonSymbols
    - QToolButton*::setAutoRaise
    - SyncControls::update
    - QDoubleSpinBox::QDoubleSpinBox
    - QGroupBox::QGroupBox
    - VLC_OBJECT
    - QToolButton*::setToolTip
    - setMaximum
    linkageType: ''
    returnType: void
    signature: void SyncControls::SyncControls( qt_intf_t *_p_intf, QWidget *_parent
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SyncControls::subsdelayClean
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1587
      start: 1584
    functionDepth: 1
    functionLinenumber: 1584
    functionLinenumberEnd: 1587
    functionName: SyncControls::~SyncControls()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - SyncControls::subsdelayClean
    linkageType: ''
    returnType: void
    signature: void SyncControls::~SyncControls()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1592,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1593,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1594,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1595,1
    - Dst: SyncControls::subsdelayClean
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1598
      start: 1589
    functionDepth: 1
    functionLinenumber: 1589
    functionLinenumberEnd: 1598
    functionName: SyncControls::clean
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - setValue
    - SyncControls::subsdelayClean
    linkageType: ''
    returnType: void
    signature: void SyncControls::clean()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getInput
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1603,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1605,1
    - Dst: getSubtitleDelay
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1605,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1606,1
    - Dst: getSecondarySubtitleDelay
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1606,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1607,1
    - Dst: getAudioDelay
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1607,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1608,1
    - Dst: getSubtitleFPS
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1608,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1609,1
    - Dst: getValue
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1609,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1600
    functionDepth: 0
    functionLinenumber: 1600
    functionLinenumberEnd: 1612
    functionName: SyncControls::update
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 1
    functionsReached:
    - getSubtitleDelay
    - getSubtitleFPS
    - getInput
    - getSecondarySubtitleDelay
    - getValue
    - getAudioDelay
    - setValue
    linkageType: ''
    returnType: void
    signature: void SyncControls::update()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getInput
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1616,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1618,1
    - Dst: setAudioDelay
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1619,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - f_advance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1614
    functionDepth: 1
    functionLinenumber: 1614
    functionLinenumberEnd: 1621
    functionName: SyncControls::advanceAudio
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - vlc_tick_from_sec
    - setAudioDelay
    - getInput
    linkageType: ''
    returnType: void
    signature: void SyncControls::advanceAudio( double f_advance )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getInput
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1625,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1627,1
    - Dst: setSubtitleDelay
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1628,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - f_advance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1630
      start: 1623
    functionDepth: 1
    functionLinenumber: 1623
    functionLinenumberEnd: 1630
    functionName: SyncControls::advanceSubs
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - vlc_tick_from_sec
    - setSubtitleDelay
    - getInput
    linkageType: ''
    returnType: void
    signature: void SyncControls::advanceSubs( double f_advance )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getInput
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1634,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1636,1
    - Dst: setSecondarySubtitleDelay
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1637,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - f_advance
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1632
    functionDepth: 1
    functionLinenumber: 1632
    functionLinenumberEnd: 1639
    functionName: SyncControls::advanceSecondarySubs
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - vlc_tick_from_sec
    - setSecondarySubtitleDelay
    - getInput
    linkageType: ''
    returnType: void
    signature: void SyncControls::advanceSecondarySubs( double f_advance )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getInput
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1643,1
    - Dst: setSubtitleFPS
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1644,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - f_fps
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1641
    functionDepth: 0
    functionLinenumber: 1641
    functionLinenumberEnd: 1645
    functionName: SyncControls::adjustSubsSpeed
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - setSubtitleFPS
    - getInput
    linkageType: ''
    returnType: void
    signature: void SyncControls::adjustSubsSpeed( double f_fps )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getInput
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1649,1
    - Dst: SyncControls::subsdelaySetFactor
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1651,1
    - Dst: SyncControls::changeVFiltersString
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1652,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - f_factor
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1647
    functionDepth: 1
    functionLinenumber: 1647
    functionLinenumberEnd: 1654
    functionName: SyncControls::adjustSubsDuration
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 0
    functionsReached:
    - SyncControls::changeVFiltersString
    - SyncControls::subsdelaySetFactor
    - getInput
    linkageType: ''
    returnType: void
    signature: void SyncControls::adjustSubsDuration( double f_factor )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1658,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1664,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1664,1
    - Dst: setSuffix
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1666,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1669,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1669,1
    - Dst: setSuffix
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1671,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1674,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1674,1
    - Dst: setSuffix
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1677,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1656
    functionDepth: 1
    functionLinenumber: 1656
    functionLinenumberEnd: 1680
    functionName: SyncControls::initSubsDuration
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 1
    functionsReached:
    - var_InheritInteger
    - qtr
    - setToolTip
    - setSuffix
    linkageType: ''
    returnType: void
    signature: void SyncControls::initSubsDuration()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SyncControls::changeVFiltersString
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1682
    functionDepth: 1
    functionLinenumber: 1682
    functionLinenumberEnd: 1686
    functionName: SyncControls::subsdelayClean
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 2
    functionsReached:
    - SyncControls::changeVFiltersString
    linkageType: ''
    returnType: void
    signature: void SyncControls::subsdelayClean()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getVouts
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1690,1
    - Dst: var_SetFloat
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1693,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - f_factor
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1695
      start: 1688
    functionDepth: 1
    functionLinenumber: 1688
    functionLinenumberEnd: 1695
    functionName: SyncControls::subsdelaySetFactor
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 1
    functionsReached:
    - getVouts
    - var_SetFloat
    - get
    linkageType: ''
    returnType: void
    signature: void SyncControls::subsdelaySetFactor( double f_factor )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetVFilterType
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1699,1
    - Dst: ChangeFiltersString
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1703,1
    - Dst: UpdateVFiltersString
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1705,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp:1705,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - psz_name
    - b_add
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1706
      start: 1697
    functionDepth: 2
    functionLinenumber: 1697
    functionLinenumberEnd: 1706
    functionName: SyncControls::changeVFiltersString
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended_panels.cpp
    functionUses: 2
    functionsReached:
    - qtu
    - ChangeFiltersString
    - GetVFilterType
    - UpdateVFiltersString
    linkageType: ''
    returnType: void
    signature: void SyncControls::changeVFiltersString( const char *psz_name, bool
      b_add )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setWindowFlags
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:46,1
    - Dst: setWindowFlags
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:48,1
    - Dst: setWindowOpacity
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:51,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:51,1
    - Dst: setWindowTitle
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:52,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:52,1
    - Dst: setWindowRole
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:53,1
    - Dst: QVBoxLayout::QVBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:55,1
    - Dst: QVBoxLayout*::setContentsMargins
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:56,1
    - Dst: QVBoxLayout*::setSpacing
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:57,1
    - Dst: QTabWidget::QTabWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:59,1
    - Dst: QWidget::QWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:62,1
    - Dst: QHBoxLayout::QHBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:63,1
    - Dst: QTabWidget::QTabWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:64,1
    - Dst: Equalizer::Equalizer
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:66,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:67,1
    - Dst: QTabWidget*::addTab
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:68,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:68,1
    - Dst: Compressor::Compressor
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:70,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:71,1
    - Dst: QTabWidget*::addTab
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:72,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:72,1
    - Dst: Expander::Expander
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:74,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:75,1
    - Dst: QTabWidget*::addTab
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:76,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:76,1
    - Dst: Limiter::Limiter
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:78,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:79,1
    - Dst: QTabWidget*::addTab
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:80,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:80,1
    - Dst: Spatializer::Spatializer
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:82,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:83,1
    - Dst: QTabWidget*::addTab
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:84,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:84,1
    - Dst: StereoWidener::StereoWidener
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:86,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:87,1
    - Dst: QTabWidget*::addTab
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:88,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:88,1
    - Dst: QWidget::QWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:90,1
    - Dst: QGridLayout::QGridLayout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:91,1
    - Dst: PitchShifter::PitchShifter
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:93,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:94,1
    - Dst: StereoPanner::StereoPanner
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:96,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:97,1
    - Dst: QGridLayout*::setColumnStretch
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:99,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:100,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:101,1
    - Dst: QWidget*::setLayout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:103,1
    - Dst: QTabWidget*::addTab
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:104,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:104,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:106,1
    - Dst: insertTab
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:108,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:108,1
    - Dst: QWidget::QWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:111,1
    - Dst: QHBoxLayout::QHBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:112,1
    - Dst: QTabWidget::QTabWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:113,1
    - Dst: ExtVideo::ExtVideo
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:115,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:116,1
    - Dst: QHBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:117,1
    - Dst: QTabWidget*::setSizePolicy
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:118,1
    - Dst: insertTab
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:120,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:120,1
    - Dst: SyncControls::SyncControls
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:122,1
    - Dst: insertTab
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:123,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:123,1
    - Dst: module_exists
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:125,1
    - Dst: ExtV4l2::ExtV4l2
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:127,1
    - Dst: insertTab
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:128,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:128,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:131,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:132,1
    - Dst: QDialogButtonBox::QDialogButtonBox
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:135,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:137,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:137,1
    - Dst: setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:138,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:139,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:141,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:142,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:142,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:143,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:145,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:146,1
    - Dst: restoreGeometry
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:149,1
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:149,1
    - Dst: resize
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:151,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:151,1
    - Dst: p_compositor::interfaceMainWindow
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:153,1
    - Dst: QWindow*::x
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:154,1
    - Dst: move
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:155,1
    - Dst: QWindow*::x
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:155,1
    - Dst: frameGeometry
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:155,1
    - Dst: QWindow*::y
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:155,1
    - Dst: move
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:157,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 57
    argCount: 1
    argNames:
    - _p_intf
    argTypes:
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 42
    functionDepth: 5
    functionLinenumber: 42
    functionLinenumberEnd: 161
    functionName: ExtendedDialog::ExtendedDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp
    functionUses: 0
    functionsReached:
    - Spatializer::Spatializer
    - setWindowRole
    - QGridLayout*::addWidget
    - connect
    - QTabWidget*::addTab
    - QWindow*::y
    - Expander::Expander
    - QHBoxLayout::QHBoxLayout
    - QGridLayout::QGridLayout
    - setWindowFlags
    - QVBoxLayout*::addWidget
    - QGridLayout*::setColumnStretch
    - Equalizer::Equalizer
    - resize
    - QWindow*::x
    - p_compositor::interfaceMainWindow
    - move
    - QWidget*::setLayout
    - ExtVideo::ExtVideo
    - SyncControls::SyncControls
    - QVBoxLayout*::setSpacing
    - QVBoxLayout::QVBoxLayout
    - StereoWidener::StereoWidener
    - StereoPanner::StereoPanner
    - insertTab
    - setWindowTitle
    - QTabWidget::QTabWidget
    - qtr
    - QWidget::QWidget
    - QVBoxLayout*::setContentsMargins
    - QPushButton::QPushButton
    - setEnabled
    - QTabWidget*::setSizePolicy
    - Compressor::Compressor
    - var_InheritFloat
    - Limiter::Limiter
    - frameGeometry
    - PitchShifter::PitchShifter
    - QHBoxLayout*::addWidget
    - ExtV4l2::ExtV4l2
    - QDialogButtonBox::QDialogButtonBox
    - QDialogButtonBox*::addButton
    - module_exists
    - restoreGeometry
    - QSize
    - setWindowOpacity
    - getSettings
    linkageType: ''
    returnType: void
    signature: void ExtendedDialog::ExtendedDialog( qt_intf_t *_p_intf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:165,1
    - Dst: saveGeometry
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: ExtendedDialog::~ExtendedDialog()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp
    functionUses: 0
    functionsReached:
    - saveGeometry
    - getSettings
    linkageType: ''
    returnType: void
    signature: void ExtendedDialog::~ExtendedDialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:170,1
    - Dst: show
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: ExtendedDialog::showTab
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp
    functionUses: 0
    functionsReached:
    - show
    - setCurrentIndex
    linkageType: ''
    returnType: void
    signature: void ExtendedDialog::showTab( int i )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: ExtendedDialog::currentTab
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp
    functionUses: 0
    functionsReached:
    - currentIndex
    linkageType: ''
    returnType: int
    signature: int ExtendedDialog::currentTab()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clean
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:182,1
    - Dst: clean
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i_status
    argTypes:
    - PlayerController::PlayingState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: ExtendedDialog::changedItem
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp
    functionUses: 0
    functionsReached:
    - clean
    linkageType: ''
    returnType: void
    signature: void ExtendedDialog::changedItem( PlayerController::PlayingState i_status
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:190,1
    - Dst: setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:191,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:191,1
    - Dst: setFocusPolicy
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:192,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:196,1
    - Dst: setFocusPolicy
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 199
    functionName: ExtendedDialog::currentTabChanged
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp
    functionUses: 0
    functionsReached:
    - isEmpty
    - setEnabled
    - setVisible
    - setFocusPolicy
    linkageType: ''
    returnType: void
    signature: void ExtendedDialog::currentTabChanged( int i )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:203,1
    - Dst: setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' name'
    - value
    argTypes:
    - QString
    - QVariant
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: ExtendedDialog::putAudioConfig
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp
    functionUses: 0
    functionsReached:
    - setEnabled
    - insert
    linkageType: ''
    returnType: void
    signature: void ExtendedDialog::putAudioConfig( const QString& name, const QVariant
      value )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:209,1
    - Dst: setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' name'
    - value
    argTypes:
    - QString
    - QVariant
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: ExtendedDialog::putVideoConfig
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp
    functionUses: 0
    functionsReached:
    - setEnabled
    - insert
    linkageType: ''
    returnType: void
    signature: void ExtendedDialog::putVideoConfig( const QString& name, const QVariant
      value )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:215,1
    - Dst: ExtendedDialog::currentTab
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:215,1
    - Dst: ExtendedDialog::currentTab
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:215,1
    - Dst: ExtendedDialog::currentTab
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:216,1
    - Dst: QHash*::begin
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:218,1
    - Dst: QHash*::end
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:219,1
    - Dst: QHash<QString, QVariant>::iterator::value
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:221,1
    - Dst: static_cast<QMetaType::Type>
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:222,1
    - Dst: QVariant::typeId
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:222,1
    - Dst: config_PutPsz
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:225,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:225,1
    - Dst: QHash<QString, QVariant>::iterator::key
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:225,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:225,1
    - Dst: QVariant::toString
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:225,1
    - Dst: config_PutInt
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:229,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:229,1
    - Dst: QHash<QString, QVariant>::iterator::key
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:229,1
    - Dst: QVariant::toInt
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:229,1
    - Dst: config_PutFloat
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:233,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:233,1
    - Dst: QHash<QString, QVariant>::iterator::key
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:233,1
    - Dst: QVariant::toFloat
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:233,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:236,1
    - Dst: config_SaveConfigFile
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:239,1
    - Dst: QHash*::clear
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:240,1
    - Dst: setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp:241,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( currentTab() == AUDIO_TAB || currentTab() == VIDEO_TAB )
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp
    constantsTouched: []
    func_position:
      end: 242
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 242
    functionName: ExtendedDialog::saveConfig
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extended/extended.cpp
    functionUses: 0
    functionsReached:
    - assert
    - QVariant::toInt
    - QVariant::typeId
    - config_SaveConfigFile
    - vlc_assert_unreachable
    - QHash*::end
    - QHash*::clear
    - qtu
    - config_PutPsz
    - config_PutFloat
    - QHash*::begin
    - QVariant::toString
    - setEnabled
    - ExtendedDialog::currentTab
    - QHash<QString, QVariant>::iterator::key
    - QVariant::toFloat
    - static_cast<QMetaType::Type>
    - QHash<QString, QVariant>::iterator::value
    - config_PutInt
    linkageType: ''
    returnType: void
    signature: void ExtendedDialog::saveConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setWindowTitle
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:81,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:81,1
    - Dst: setWindowRole
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:82,1
    - Dst: QVBoxLayout::QVBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:84,1
    - Dst: QTabWidget::QTabWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:85,1
    - Dst: addTab
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:86,1
    - Dst: AddonsTab::AddonsTab
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:86,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:87,1
    - Dst: addTab
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:88,1
    - Dst: ExtensionTab::ExtensionTab
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:88,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:89,1
    - Dst: addTab
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:90,1
    - Dst: PluginTab::PluginTab
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:90,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:91,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:92,1
    - Dst: QDialogButtonBox::QDialogButtonBox
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:94,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:95,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:95,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:96,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:97,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:98,1
    - Dst: restoreWidgetPosition
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:99,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - _p_intf
    argTypes:
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 100
    functionName: PluginDialog::PluginDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached:
    - QDialogButtonBox::QDialogButtonBox
    - QSize
    - setWindowRole
    - PluginTab::PluginTab
    - setWindowTitle
    - QTabWidget::QTabWidget
    - qtr
    - addTab
    - QVBoxLayout*::addWidget
    - QDialogButtonBox*::addButton
    - AddonsTab::AddonsTab
    - BUTTONACT
    - QPushButton::QPushButton
    - ExtensionTab::ExtensionTab
    - restoreWidgetPosition
    - QVBoxLayout::QVBoxLayout
    linkageType: ''
    returnType: void
    signature: void PluginDialog::PluginDialog( qt_intf_t *_p_intf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: saveWidgetPosition
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: PluginDialog::~PluginDialog()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached:
    - saveWidgetPosition
    linkageType: ''
    returnType: void
    signature: void PluginDialog::~PluginDialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QGridLayout::QGridLayout
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:115,1
    - Dst: QTreeWidget::QTreeWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:118,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:119,1
    - Dst: header
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:122,1
    - Dst: header
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:123,1
    - Dst: setAlternatingRowColors
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:125,1
    - Dst: setColumnWidth
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:126,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:129,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:129,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:129,1
    - Dst: setHeaderLabels
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:130,1
    - Dst: PluginTab::FillTree
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:132,1
    - Dst: resizeColumnToContents
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:135,1
    - Dst: header
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:136,1
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:137,1
    - Dst: setSortingEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:139,1
    - Dst: sortByColumn
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:140,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:142,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:142,1
    - Dst: SearchLineEdit::SearchLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:143,1
    - Dst: QLabel*::setBuddy
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:144,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:146,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:147,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:148,1
    - Dst: setMinimumSize
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:150,1
    - Dst: restoreWidgetPosition
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:151,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - p_intf_
    argTypes:
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 152
    functionName: PluginTab::PluginTab
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 1
    functionsReached:
    - setSortingEnabled
    - sortByColumn
    - QGridLayout*::addWidget
    - connect
    - setMinimumSize
    - QLabel::QLabel
    - QGridLayout::QGridLayout
    - setHeaderLabels
    - QTreeWidget::QTreeWidget
    - restoreWidgetPosition
    - SearchLineEdit::SearchLineEdit
    - qtr
    - PluginTab::FillTree
    - setAlternatingRowColors
    - resizeColumnToContents
    - header
    - setColumnWidth
    - QSize
    - QLabel*::setBuddy
    - getSettings
    linkageType: ''
    returnType: void
    signature: void PluginTab::PluginTab( qt_intf_t *p_intf_ )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: module_list_get
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:157,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:164,1
    - Dst: module_GetLongName
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:164,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:165,1
    - Dst: module_get_capability
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:165,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:166,1
    - Dst: module_get_score
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:166,1
    - Dst: QStringList::at
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:168,1
    - Dst: PluginTreeItem::PluginTreeItem
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:171,1
    - Dst: addTopLevelItem
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:172,1
    - Dst: module_list_free
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 175
    functionName: PluginTab::FillTree
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 1
    functionsReached:
    - QStringList::at
    - module_GetLongName
    - module_get_score
    - module_list_free
    - module_list_get
    - module_get_capability
    - vlclua_io_file_read_number
    - qfu
    - addTopLevelItem
    - PluginTreeItem::PluginTreeItem
    linkageType: ''
    returnType: void
    signature: void PluginTab::FillTree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: findItems
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:179,1
    - Dst: findItems
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:180,1
    - Dst: topLevelItemCount
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:183,1
    - Dst: topLevelItem
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:185,1
    - Dst: QTreeWidgetItem*::setHidden
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:186,1
    - Dst: QList::contains
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' qs'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 188
    functionName: PluginTab::search
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached:
    - topLevelItemCount
    - QList::contains
    - QTreeWidgetItem*::setHidden
    - topLevelItem
    - findItems
    linkageType: ''
    returnType: void
    signature: void PluginTab::search( const QString& qs )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: saveWidgetPosition
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:192,1
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:193,1
    - Dst: header
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: PluginTab::~PluginTab()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached:
    - header
    - saveWidgetPosition
    - getSettings
    linkageType: ''
    returnType: void
    signature: void PluginTab::~PluginTab()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:199,1
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:200,1
    - Dst: QKeyEvent*::accept
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:201,1
    - Dst: QKeyEvent*::ignore
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - keyEvent
    argTypes:
    - QKeyEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 204
    functionName: PluginTab::keyPressEvent
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached:
    - QKeyEvent*::ignore
    - QKeyEvent*::accept
    - QKeyEvent*::key
    linkageType: ''
    returnType: void
    signature: void PluginTab::keyPressEvent( QKeyEvent *keyEvent )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: treeWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:208,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:210,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:210,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:213,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:213,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:214,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:214,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:216,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:216,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:218,1
    - Dst: text
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - QTreeWidgetItem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 219
    functionName: PluginTreeItem::operator< ( const QTreeWidgetItem & other ) const
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached:
    - text
    - treeWidget
    linkageType: ''
    returnType: bool
    signature: bool PluginTreeItem::operator< ( const QTreeWidgetItem & other ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVBoxLayout::QVBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:226,1
    - Dst: QListView::QListView
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:229,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:230,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:231,1
    - Dst: ExtensionItemDelegate::ExtensionItemDelegate
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:234,1
    - Dst: setItemDelegate
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:235,1
    - Dst: setAlternatingRowColors
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:238,1
    - Dst: setSelectionMode
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:239,1
    - Dst: DialogsProvider::getInstance
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:243,1
    - Dst: ExtensionListModel::ExtensionListModel
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:243,1
    - Dst: setModel
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:244,1
    - Dst: QDialogButtonBox::QDialogButtonBox
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:247,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:250,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:251,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:250,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:253,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:254,1
    - Dst: DialogsProvider::getInstance
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:257,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:258,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:259,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:258,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:261,1
    - Dst: clearSelection
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:262,1
    - Dst: ExtensionsManager*::reloadExtensions
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:263,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:265,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:266,1
    - Dst: selectionModel
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:266,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:268,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:270,1
    - Dst: ExtensionTab::updateButtons
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - p_intf_
    argTypes:
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 272
    functionName: ExtensionTab::ExtensionTab
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 1
    functionsReached:
    - QIcon
    - ExtensionItemDelegate::ExtensionItemDelegate
    - connect
    - selectionModel
    - QVBoxLayout*::addWidget
    - setItemDelegate
    - QListView::QListView
    - ExtensionsManager*::reloadExtensions
    - QVBoxLayout::QVBoxLayout
    - clearSelection
    - qtr
    - DialogsProvider::getInstance
    - ExtensionListModel::ExtensionListModel
    - setModel
    - QPushButton::QPushButton
    - setAlternatingRowColors
    - ExtensionTab::updateButtons
    - QDialogButtonBox::QDialogButtonBox
    - setSelectionMode
    - QDialogButtonBox*::addButton
    linkageType: ''
    returnType: void
    signature: void ExtensionTab::ExtensionTab( qt_intf_t *p_intf_ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: ExtensionTab::~ExtensionTab()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionTab::~ExtensionTab()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:280,1
    - Dst: selectionModel
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: ExtensionTab::updateButtons
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 1
    functionsReached:
    - selectionModel
    - setEnabled
    linkageType: ''
    returnType: void
    signature: void ExtensionTab::updateButtons()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:286,1
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:287,1
    - Dst: QKeyEvent*::accept
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:288,1
    - Dst: QKeyEvent*::ignore
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - keyEvent
    argTypes:
    - QKeyEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 291
    functionName: ExtensionTab::keyPressEvent
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached:
    - QKeyEvent*::ignore
    - QKeyEvent*::accept
    - QKeyEvent*::key
    linkageType: ''
    returnType: void
    signature: void ExtensionTab::keyPressEvent( QKeyEvent *keyEvent )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: selectionModel
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:296,1
    - Dst: QModelIndex::isValid
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:298,1
    - Dst: window
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:301,1
    - Dst: QWidget*::windowHandle
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:302,1
    - Dst: ExtensionInfoDialog::exec
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 305
    functionName: ExtensionTab::moreInformation
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached:
    - ExtensionInfoDialog::exec
    - window
    - selectionModel
    - QModelIndex::isValid
    - QWidget*::windowHandle
    linkageType: ''
    returnType: void
    signature: void ExtensionTab::moreInformation()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QSplitter::QSplitter
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:311,1
    - Dst: setLayout
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:312,1
    - Dst: QHBoxLayout::QHBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:312,1
    - Dst: layout
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:313,1
    - Dst: QWidget::QWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:315,1
    - Dst: QSplitter*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:316,1
    - Dst: QWidget*::setLayout
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:317,1
    - Dst: QVBoxLayout::QVBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:317,1
    - Dst: QWidget::QWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:319,1
    - Dst: QSplitter*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:320,1
    - Dst: QSplitter*::setCollapsible
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:322,1
    - Dst: QSplitter*::setCollapsible
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:323,1
    - Dst: QSplitter*::setSizeIncrement
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:324,1
    - Dst: QVBoxLayout::QVBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:327,1
    - Dst: QWidget*::layout
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:330,1
    - Dst: QWidget*::layout
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:331,1
    - Dst: SearchLineEdit::SearchLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:333,1
    - Dst: QWidget*::layout
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:334,1
    - Dst: QWidget*::layout
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:335,1
    - Dst: QSpacerItem::QSpacerItem
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:335,1
    - Dst: QSignalMapper::QSignalMapper
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:337,1
    - Dst: QToolButton::QToolButton
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:340,1
    - Dst: QQmlFile::urlToLocalFileOrQrc
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:342,1
    - Dst: AddonsModel::getIconForType
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:342,1
    - Dst: auto::setIcon
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:343,1
    - Dst: auto::setText
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:344,1
    - Dst: auto::setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:345,1
    - Dst: auto::setToolButtonStyle
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:346,1
    - Dst: auto::setIconSize
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:347,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:347,1
    - Dst: auto::setSizePolicy
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:348,1
    - Dst: auto::setMinimumSize
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:349,1
    - Dst: auto::setAutoRaise
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:350,1
    - Dst: auto::setCheckable
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:351,1
    - Dst: auto::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:353,1
    - Dst: auto::setAutoExclusive
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:354,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:355,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:355,1
    - Dst: setMapping
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:356,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:356,1
    - Dst: QWidget*::layout
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:357,1
    - Dst: addCategory
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:360,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:360,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:360,1
    - Dst: addCategory
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:362,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:362,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:363,1
    - Dst: addCategory
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:366,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:366,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:367,1
    - Dst: addCategory
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:370,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:370,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:371,1
    - Dst: addCategory
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:374,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:374,1
    - Dst: addCategory
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:377,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:377,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:378,1
    - Dst: addCategory
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:380,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:380,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:381,1
    - Dst: QWidget*::layout
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:386,1
    - Dst: QWidget*::layout
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:387,1
    - Dst: QWidget*::sizeHint
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:391,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:392,1
    - Dst: QSplitter*::setSizes
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:393,1
    - Dst: QWidget*::layout
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:396,1
    - Dst: QSpacerItem::QSpacerItem
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:396,1
    - Dst: QStackedWidget::QStackedWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:398,1
    - Dst: QStackedWidget*::setSizePolicy
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:399,1
    - Dst: QWidget*::layout
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:400,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:402,1
    - Dst: QCheckBox::QCheckBox
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:402,1
    - Dst: QCheckBox*::setSizePolicy
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:403,1
    - Dst: QStackedWidget*::insertWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:404,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:405,1
    - Dst: std::make_unique<AddonsModel>
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:408,1
    - Dst: classBegin
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:410,1
    - Dst: setCtx
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:411,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:412,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:413,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:413,1
    - Dst: setTypeFilter
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:414,1
    - Dst: static_cast<AddonsModel::Type>
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:414,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:417,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:418,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:422,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:423,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:422,1
    - Dst: QPushButton*::setSizePolicy
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:424,1
    - Dst: QStackedWidget*::insertWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:425,1
    - Dst: QStackedWidget*::setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:426,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:427,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:428,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:429,1
    - Dst: loading
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:431,1
    - Dst: stop
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:432,1
    - Dst: viewport
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:433,1
    - Dst: QWidget*::layout
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:437,1
    - Dst: QSpacerItem::QSpacerItem
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:437,1
    - Dst: QListView::QListView
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:442,1
    - Dst: setModel
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:443,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:443,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:445,1
    - Dst: QVBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:446,1
    - Dst: AddonItemDelegate::AddonItemDelegate
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:449,1
    - Dst: setItemDelegate
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:450,1
    - Dst: AddonItemDelegate*::setAnimator
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:451,1
    - Dst: DelegateAnimationHelper::DelegateAnimationHelper
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:451,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:452,1
    - Dst: setAlternatingRowColors
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:455,1
    - Dst: setSelectionMode
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:456,1
    - Dst: setAcceptDrops
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:459,1
    - Dst: setDefaultDropAction
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:460,1
    - Dst: setDropIndicatorShown
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:461,1
    - Dst: setDragDropMode
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:462,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:464,1
    - Dst: selectionModel
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:464,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:465,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:473,1
    - Dst: PixmapAnimator::PixmapAnimator
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:473,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:474,1
    - Dst: viewport
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:475,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:475,1
    - Dst: viewport
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:476,1
    - Dst: componentComplete
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 88
    argCount: 1
    argNames:
    - p_intf_
    argTypes:
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 308
    functionDepth: 3
    functionLinenumber: 308
    functionLinenumberEnd: 480
    functionName: AddonsTab::AddonsTab
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 1
    functionsReached:
    - QIcon
    - auto::setChecked
    - QStackedWidget::QStackedWidget
    - setTypeFilter
    - auto::setToolTip
    - QStackedWidget*::setCurrentIndex
    - QWidget*::layout
    - std::make_unique<AddonsModel>
    - connect
    - QSplitter::QSplitter
    - std::move
    - PixmapAnimator::PixmapAnimator
    - QSplitter*::setSizeIncrement
    - QStackedWidget*::setSizePolicy
    - auto::setIconSize
    - selectionModel
    - setCtx
    - QHBoxLayout::QHBoxLayout
    - QStackedWidget*::insertWidget
    - addCategory
    - QSplitter*::addWidget
    - QVBoxLayout*::addWidget
    - get
    - QQmlFile::urlToLocalFileOrQrc
    - size
    - setItemDelegate
    - QToolButton::QToolButton
    - AddonsModel::getIconForType
    - viewport
    - QWidget*::setLayout
    - static_cast<AddonsModel::Type>
    - QSpacerItem::QSpacerItem
    - QListView::QListView
    - AddonItemDelegate::AddonItemDelegate
    - QCheckBox::QCheckBox
    - AddonItemDelegate*::setAnimator
    - setDragDropMode
    - auto::setIcon
    - componentComplete
    - auto::setToolButtonStyle
    - SearchLineEdit::SearchLineEdit
    - QSplitter*::setSizes
    - QVBoxLayout::QVBoxLayout
    - go_eof
    - QPushButton*::setSizePolicy
    - QWidget*::sizeHint
    - loading
    - setDefaultDropAction
    - DelegateAnimationHelper::DelegateAnimationHelper
    - QWidget::QWidget
    - auto::setCheckable
    - qtr
    - setModel
    - QPushButton::QPushButton
    - setLayout
    - stop
    - classBegin
    - setAlternatingRowColors
    - setDropIndicatorShown
    - auto::setAutoRaise
    - auto::setText
    - auto::setAutoExclusive
    - QCheckBox*::setSizePolicy
    - setAcceptDrops
    - auto::setSizePolicy
    - QSignalMapper::QSignalMapper
    - setMapping
    - static_cast<int>
    - setSelectionMode
    - layout
    - QSplitter*::setCollapsible
    - auto::setMinimumSize
    - QSize
    linkageType: ''
    returnType: void
    signature: void AddonsTab::AddonsTab( qt_intf_t *p_intf_ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 486
    functionName: AddonsTab::~AddonsTab()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddonsTab::~AddonsTab()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:491,1
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:492,1
    - Dst: QKeyEvent*::accept
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:493,1
    - Dst: QKeyEvent*::ignore
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:495,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - keyEvent
    argTypes:
    - QKeyEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 496
    functionName: AddonsTab::keyPressEvent
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached:
    - QKeyEvent*::ignore
    - QKeyEvent*::accept
    - QKeyEvent*::key
    linkageType: ''
    returnType: void
    signature: void AddonsTab::keyPressEvent( QKeyEvent *keyEvent )
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: viewport
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:500,1
    - Dst: QEvent*::type
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:503,1
    - Dst: state
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:506,1
    - Dst: qobject_cast<QWidget *>
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:508,1
    - Dst: getPixmap
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:511,1
    - Dst: QWidget*::geometry
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:512,1
    - Dst: QPoint
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:513,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:513,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:513,1
    - Dst: QStylePainter::drawPixmap
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:514,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:515,1
    - Dst: fontMetrics
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:516,1
    - Dst: QWidget*::geometry
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:517,1
    - Dst: QPoint
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:518,1
    - Dst: QSize::width
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:518,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:518,1
    - Dst: QStylePainter::drawText
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:519,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:521,1
    - Dst: qobject_cast<QWidget *>
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:523,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:526,1
    - Dst: fontMetrics
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:527,1
    - Dst: QWidget*::geometry
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:528,1
    - Dst: QPoint
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:529,1
    - Dst: QSize::width
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:529,1
    - Dst: QSize::height
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:529,1
    - Dst: QStylePainter::drawText
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:530,1
    - Dst: static_cast<QDragEnterEvent *>
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:535,1
    - Dst: QDragEnterEvent*::mimeData
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:537,1
    - Dst: QDragEnterEvent*::proposedAction
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:538,1
    - Dst: QList::count
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:539,1
    - Dst: QList::first
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:540,1
    - Dst: QList::first
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:541,1
    - Dst: QDragEnterEvent*::acceptProposedAction
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:543,1
    - Dst: static_cast<QDragMoveEvent *>
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:548,1
    - Dst: QDragMoveEvent*::proposedAction
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:550,1
    - Dst: QDragMoveEvent*::acceptProposedAction
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:552,1
    - Dst: static_cast<QDropEvent *>
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:557,1
    - Dst: QDropEvent*::proposedAction
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:559,1
    - Dst: QDropEvent*::mimeData
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:561,1
    - Dst: loadFromExternalRepository
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:563,1
    - Dst: QDropEvent*::mimeData
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:563,1
    - Dst: QDropEvent*::acceptProposedAction
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:564,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 52
    argCount: 2
    argNames:
    - obj
    - event
    argTypes:
    - QObject*
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 572
    functionName: AddonsTab::eventFilter
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached:
    - QDragEnterEvent*::acceptProposedAction
    - QWidget*::geometry
    - qobject_cast<QWidget *>
    - state
    - height
    - QStylePainter::drawPixmap
    - QDragEnterEvent*::mimeData
    - QDragMoveEvent*::acceptProposedAction
    - QDragMoveEvent*::proposedAction
    - QSize::width
    - static_cast<QDropEvent *>
    - fontMetrics
    - QEvent*::type
    - QList::first
    - viewport
    - loadFromExternalRepository
    - QDragEnterEvent*::proposedAction
    - QSize::height
    - QDropEvent*::proposedAction
    - QPoint
    - width
    - qtr
    - QStylePainter::drawText
    - static_cast<QDragMoveEvent *>
    - rowCount
    - QDropEvent*::acceptProposedAction
    - getPixmap
    - QDropEvent*::mimeData
    - static_cast<QDragEnterEvent *>
    - QList::count
    linkageType: ''
    returnType: bool
    signature: bool AddonsTab::eventFilter( QObject *obj, QEvent *event )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: selectionModel
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:576,1
    - Dst: QModelIndex::isValid
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:577,1
    - Dst: window
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:578,1
    - Dst: QWidget*::windowHandle
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:579,1
    - Dst: AddonInfoDialog::exec
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 582
    functionName: AddonsTab::moreInformation
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached:
    - window
    - selectionModel
    - AddonInfoDialog::exec
    - QModelIndex::isValid
    - QWidget*::windowHandle
    linkageType: ''
    returnType: void
    signature: void AddonsTab::moreInformation()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setStateFilter
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:587,1
    - Dst: setStateFilter
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 590
    functionName: AddonsTab::installChecked
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached:
    - setStateFilter
    linkageType: ''
    returnType: void
    signature: void AddonsTab::installChecked( int i )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qobject_cast<QStackedWidget *>
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:594,1
    - Dst: sender
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:594,1
    - Dst: QStackedWidget*::setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:597,1
    - Dst: start
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:599,1
    - Dst: loadFromDefaultRepository
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:601,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 603
    functionName: AddonsTab::reposync
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached:
    - QStackedWidget*::setCurrentIndex
    - sender
    - loadFromDefaultRepository
    - start
    - qobject_cast<QStackedWidget *>
    linkageType: ''
    returnType: void
    signature: void AddonsTab::reposync()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:608,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:609,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:610,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:611,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:613,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:613,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:615,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:616,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:617,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:618,1
    - Dst: loadPixmapFromData
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:619,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - p_ext
    argTypes:
    - extension_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 620
    functionName: ExtensionListModel::ExtensionCopy::ExtensionCopy( extension_t *p_ext
      )
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached:
    - isEmpty
    - qfu
    - loadPixmapFromData
    linkageType: ''
    returnType: void
    signature: void ExtensionListModel::ExtensionCopy::ExtensionCopy( extension_t
      *p_ext )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 625
    functionName: ExtensionListModel::ExtensionCopy::~ExtensionCopy()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionListModel::ExtensionCopy::~ExtensionCopy()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: QPixmap
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:634,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:647,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - role
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 649
    functionName: ExtensionListModel::ExtensionCopy::data( int role ) const
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached:
    - QPixmap
    - QVariant
    linkageType: ''
    returnType: QVariant
    signature: QVariant ExtensionListModel::ExtensionCopy::data( int role ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 656
    functionName: ExtensionListModel::ExtensionListModel
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionListModel::ExtensionListModel( QObject *parent )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:662,1
    - Dst: loadExtensions
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - parent
    - EM_
    argTypes:
    - QObject*
    - ExtensionsManager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 666
    functionName: ExtensionListModel::ExtensionListModel
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 1
    functionsReached:
    - connect
    - loadExtensions
    linkageType: ''
    returnType: void
    signature: void ExtensionListModel::ExtensionListModel( QObject *parent, ExtensionsManager*
      EM_ )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:671,1
    - Dst: takeLast
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 673
    functionName: ExtensionListModel::~ExtensionListModel()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached:
    - isEmpty
    - takeLast
    linkageType: ''
    returnType: void
    signature: void ExtensionListModel::~ExtensionListModel()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:680,1
    - Dst: takeLast
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:682,1
    - Dst: getManager
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:687,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:691,1
    - Dst: ARRAY_FOREACH
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:693,1
    - Dst: ExtensionCopy::ExtensionCopy
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:695,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:696,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:698,1
    - Dst: ExtensionListModel::index
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:700,1
    - Dst: ExtensionListModel::index
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:700,1
    - Dst: ExtensionListModel::rowCount
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:700,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 701
    functionName: ExtensionListModel::updateList
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached:
    - append
    - ExtensionListModel::index
    - getManager
    - vlc_mutex_lock
    - ARRAY_FOREACH
    - vlc_mutex_unlock
    - isEmpty
    - ExtensionListModel::rowCount
    - ExtensionCopy::ExtensionCopy
    - takeLast
    linkageType: ''
    returnType: void
    signature: void ExtensionListModel::updateList()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getManager
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:706,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:710,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:712,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 715
    functionName: ExtensionListModel::rowCount
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 1
    functionsReached:
    - vlc_mutex_unlock
    - getManager
    - vlc_mutex_lock
    linkageType: ''
    returnType: int
    signature: int ExtensionListModel::rowCount( const QModelIndex& ) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:719,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:720,1
    - Dst: static_cast<ExtensionCopy *>
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:723,1
    - Dst: internalPointer
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:723,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:725,1
    - Dst: ExtensionCopy*::data
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' index'
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 717
    functionDepth: 2
    functionLinenumber: 717
    functionLinenumberEnd: 728
    functionName: ExtensionListModel::data
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached:
    - QVariant
    - ExtensionCopy*::data
    - isValid
    - static_cast<ExtensionCopy *>
    - internalPointer
    linkageType: ''
    returnType: QVariant
    signature: QVariant ExtensionListModel::data( const QModelIndex& index, int role
      ) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:734,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:735,1
    - Dst: QModelIndex
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:736,1
    - Dst: createIndex
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:738,1
    - Dst: at
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:738,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - row
    - column
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 739
    functionName: ExtensionListModel::index
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 1
    functionsReached:
    - count
    - QModelIndex
    - at
    - createIndex
    linkageType: ''
    returnType: QModelIndex
    signature: "QModelIndex ExtensionListModel::index( int row, int column,\n                                       const
      QModelIndex& ) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QPainter*::fillRect
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:754,1
    - Dst: QStyleOptionViewItem::palette::highlight
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:754,1
    - Dst: isNull
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:757,1
    - Dst: QPainter*::drawPixmap
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:759,1
    - Dst: QStyleOptionViewItem::rect::left
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:759,1
    - Dst: left
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:759,1
    - Dst: QStyleOptionViewItem::rect::top
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:760,1
    - Dst: top
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:760,1
    - Dst: scaled
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:761,1
    - Dst: QPainter*::save
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:767,1
    - Dst: QPainter*::setRenderHint
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:768,1
    - Dst: QPainter*::setPen
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:771,1
    - Dst: QStyleOptionViewItem::palette::highlightedText
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:771,1
    - Dst: QFont::setBold
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:774,1
    - Dst: QPainter*::setFont
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:775,1
    - Dst: QRect::adjust
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:777,1
    - Dst: left
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:777,1
    - Dst: right
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:777,1
    - Dst: QStyleOptionViewItem::decorationSize::width
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:777,1
    - Dst: top
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:778,1
    - Dst: right
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:779,1
    - Dst: bottom
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:780,1
    - Dst: QStyleOptionViewItem::fontMetrics::height
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:780,1
    - Dst: QPainter*::drawText
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:782,1
    - Dst: QFont::setBold
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:784,1
    - Dst: QPainter*::setFont
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:785,1
    - Dst: QPainter*::drawText
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:786,1
    - Dst: QRect::translated
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:786,1
    - Dst: QStyleOptionViewItem::fontMetrics::height
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:786,1
    - Dst: QPainter*::restore
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:790,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 6
    argNames:
    - painter
    - option
    - ' margins'
    - ' icon'
    - ' name'
    - ' description'
    argTypes:
    - QPainter*
    - QStyleOptionViewItem
    - QMargins
    - QPixmap
    - QString
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 791
    functionName: commonPaint
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached:
    - right
    - top
    - QPainter*::setPen
    - QStyleOptionViewItem::palette::highlightedText
    - QPainter*::drawText
    - isNull
    - QPainter*::save
    - QPainter*::setFont
    - QPainter*::drawPixmap
    - QStyleOptionViewItem::palette::highlight
    - scaled
    - QRect::adjust
    - QStyleOptionViewItem::decorationSize::width
    - QPainter*::fillRect
    - QStyleOptionViewItem::rect::top
    - left
    - QPainter*::restore
    - QStyleOptionViewItem::rect::left
    - bottom
    - QPainter*::setRenderHint
    - QStyleOptionViewItem::fontMetrics::height
    - QFont::setBold
    - QRect::translated
    linkageType: ''
    returnType: void
    signature: "void commonPaint(\n    QPainter *painter,\n    const QStyleOptionViewItem
      &option,\n    const QMargins& margins,\n    const QPixmap& icon,\n    const
      QString& name,\n    const QString& description\n    )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QMargins
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 798
    functionName: ExtensionItemDelegate::ExtensionItemDelegate
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 1
    functionsReached:
    - QMargins
    linkageType: ''
    returnType: void
    signature: void ExtensionItemDelegate::ExtensionItemDelegate( QObject *parent
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 802
    functionName: ExtensionItemDelegate::~ExtensionItemDelegate()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionItemDelegate::~ExtensionItemDelegate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionItemDelegate::initStyleOption
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:809,1
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:812,1
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:813,1
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:814,1
    - Dst: commonPaint
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - painter
    - option
    - index
    argTypes:
    - QPainter*
    - QStyleOptionViewItem
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 804
    functionDepth: 2
    functionLinenumber: 804
    functionLinenumberEnd: 824
    functionName: ExtensionItemDelegate::paint
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached:
    - commonPaint
    - QModelIndex::data
    - ExtensionItemDelegate::initStyleOption
    linkageType: ''
    returnType: void
    signature: "void ExtensionItemDelegate::paint( QPainter *painter,\n                                   const
      QStyleOptionViewItem &option,\n                                   const QModelIndex
      &index ) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::isValid
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:829,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:831,1
    - Dst: QStyleOptionViewItem::fontMetrics::height
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:831,1
    - Dst: top
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:832,1
    - Dst: bottom
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:832,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:835,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - option
    - index
    argTypes:
    - QStyleOptionViewItem
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 836
    functionName: ExtensionItemDelegate::sizeHint
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached:
    - top
    - QStyleOptionViewItem::fontMetrics::height
    - bottom
    - QSize
    - QModelIndex::isValid
    linkageType: ''
    returnType: QSize
    signature: "QSize ExtensionItemDelegate::sizeHint( const QStyleOptionViewItem
      &option,\n                                       const QModelIndex &index )
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionItemDelegate::initStyleOption
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:841,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:842,1
    - Dst: QStyleOptionViewItem*::rect::height
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:842,1
    - Dst: QStyleOptionViewItem*::rect::height
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:842,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:843,1
    - Dst: left
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:843,1
    - Dst: right
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:843,1
    - Dst: top
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:844,1
    - Dst: bottom
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - option
    - index
    argTypes:
    - QStyleOptionViewItem*
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 838
    functionDepth: 1
    functionLinenumber: 838
    functionLinenumberEnd: 845
    functionName: ExtensionItemDelegate::initStyleOption
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 2
    functionsReached:
    - right
    - ExtensionItemDelegate::initStyleOption
    - top
    - left
    - bottom
    - QStyleOptionViewItem*::rect::height
    - QSize
    linkageType: ''
    returnType: void
    signature: "void ExtensionItemDelegate::initStyleOption( QStyleOptionViewItem
      *option,\n                                             const QModelIndex &index
      ) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 850
    functionName: AddonItemDelegate::AddonItemDelegate
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddonItemDelegate::AddonItemDelegate( QObject *parent )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 855
    functionName: AddonItemDelegate::~AddonItemDelegate()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddonItemDelegate::~AddonItemDelegate()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:862,1
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:863,1
    - Dst: AddonsModel::getColorForType
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:866,1
    - Dst: QColor::isValid
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:868,1
    - Dst: QPainter*::save
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:870,1
    - Dst: qMin
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:871,1
    - Dst: QStyleOptionViewItem::rect::width
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:871,1
    - Dst: QPoint
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:873,1
    - Dst: QStyleOptionViewItem::rect::right
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:873,1
    - Dst: QStyleOptionViewItem::rect::bottom
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:873,1
    - Dst: QStyleOptionViewItem::rect::bottomRight
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:874,1
    - Dst: QLinearGradient::setColorAt
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:875,1
    - Dst: QLinearGradient::setColorAt
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:876,1
    - Dst: QPainter*::fillRect
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:877,1
    - Dst: QPainter*::restore
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:878,1
    - Dst: AddonItemDelegate::initStyleOption
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:882,1
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:885,1
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:886,1
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:887,1
    - Dst: commonPaint
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:889,1
    - Dst: QPainter*::save
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:898,1
    - Dst: QPainter*::setRenderHint
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:899,1
    - Dst: QPainter*::save
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:904,1
    - Dst: QPainter*::setRenderHint
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:905,1
    - Dst: QFont::setBold
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:908,1
    - Dst: QPainter*::setFont
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:910,1
    - Dst: QFontMetrics::boundingRect
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:911,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:911,1
    - Dst: QRect::translate
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:912,1
    - Dst: QStyleOptionViewItem::rect::width
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:912,1
    - Dst: QRect::width
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:912,1
    - Dst: QStyleOptionViewItem::rect::top
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:913,1
    - Dst: QRect::height
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:913,1
    - Dst: QRect::adjust
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:914,1
    - Dst: QMargins::left
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:914,1
    - Dst: QMargins::right
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:914,1
    - Dst: QMargins::top
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:916,1
    - Dst: QMargins::bottom
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:916,1
    - Dst: QPainterPath::addRoundedRect
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:918,1
    - Dst: QPainter*::fillPath
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:919,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:919,1
    - Dst: QPainter*::setPen
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:920,1
    - Dst: QPainter*::drawText
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:921,1
    - Dst: QRect::adjusted
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:922,1
    - Dst: QMargins::left
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:922,1
    - Dst: QMargins::top
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:922,1
    - Dst: QMargins::right
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:923,1
    - Dst: QMargins::bottom
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:923,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:924,1
    - Dst: QPainter*::restore
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:925,1
    - Dst: QPainter*::setPen
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:929,1
    - Dst: QStyleOptionViewItem::palette::highlightedText
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:929,1
    - Dst: QRect::adjust
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:933,1
    - Dst: left
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:933,1
    - Dst: right
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:933,1
    - Dst: QStyleOptionViewItem::decorationSize::width
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:933,1
    - Dst: top
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:934,1
    - Dst: right
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:935,1
    - Dst: bottom
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:936,1
    - Dst: QStyleOptionViewItem::fontMetrics::height
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:936,1
    - Dst: QRect::translate
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:937,1
    - Dst: QStyleOptionViewItem::fontMetrics::height
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:937,1
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:940,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:941,1
    - Dst: QPainter*::drawText
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:942,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:942,1
    - Dst: QRect::translate
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:944,1
    - Dst: QStyleOptionViewItem::fontMetrics::height
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:944,1
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:947,1
    - Dst: QStyleOptionViewItem::fontMetrics::height
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:951,1
    - Dst: ImageHelper::loadSvgToPixmap
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:953,1
    - Dst: AddonsModel::getMaxScore
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:955,1
    - Dst: QPainter::setCompositionMode
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:958,1
    - Dst: QPainter::fillRect
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:959,1
    - Dst: QRect
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:959,1
    - Dst: QPixmap::width
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:960,1
    - Dst: QPixmap::height
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:960,1
    - Dst: QStyleOptionViewItem::palette::color
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:961,1
    - Dst: QPainter::end
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:962,1
    - Dst: QPainter*::drawPixmap
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:963,1
    - Dst: QRect::topLeft
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:963,1
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:967,1
    - Dst: QPainter*::drawText
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:969,1
    - Dst: QRect::translated
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:969,1
    - Dst: QPixmap::width
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:969,1
    - Dst: left
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:969,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:970,1
    - Dst: QPainter*::restore
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:972,1
    - Dst: isRunning
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:976,1
    - Dst: getIndex
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:976,1
    - Dst: run
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:980,1
    - Dst: QPainter*::save
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:987,1
    - Dst: QPainter*::setCompositionMode
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:988,1
    - Dst: QPainter*::fillRect
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:989,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:989,1
    - Dst: QModelIndex::isValid
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:990,1
    - Dst: setIndex
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:992,1
    - Dst: run
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:993,1
    - Dst: QStyleOptionViewItem::rect::size
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:994,1
    - Dst: setGeometry
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:995,1
    - Dst: QStyleOptionViewItem::rect::adjusted
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:996,1
    - Dst: QSize::width
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:996,1
    - Dst: QSize::height
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:996,1
    - Dst: QSize::width
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:997,1
    - Dst: QSize::height
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:997,1
    - Dst: QPainter*::drawPixmap
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:998,1
    - Dst: QStyleOptionViewItem::rect::left
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:998,1
    - Dst: QSize::width
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:998,1
    - Dst: QStyleOptionViewItem::rect::top
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:999,1
    - Dst: QSize::height
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:999,1
    - Dst: grab
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1000,1
    - Dst: QPainter*::restore
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1002,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 60
    argCount: 3
    argNames:
    - painter
    - option
    - index
    argTypes:
    - QPainter*
    - QStyleOptionViewItem
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 857
    functionDepth: 2
    functionLinenumber: 857
    functionLinenumberEnd: 1005
    functionName: AddonItemDelegate::paint
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached:
    - right
    - QStyleOptionViewItem::rect::bottom
    - qMin
    - top
    - QStyleOptionViewItem::rect::width
    - QRect
    - run
    - QPainter*::setPen
    - QPainter*::drawText
    - QColor::isValid
    - QStyleOptionViewItem::palette::highlightedText
    - QPainter*::save
    - QSize::width
    - QRect::topLeft
    - QFontMetrics::boundingRect
    - QPainter*::setFont
    - QPainter*::drawPixmap
    - QRect::width
    - QMargins::right
    - QStyleOptionViewItem::rect::bottomRight
    - QRect::height
    - QPainterPath::addRoundedRect
    - setIndex
    - QString::isEmpty
    - QRect::adjust
    - QMargins::bottom
    - ImageHelper::loadSvgToPixmap
    - AddonsModel::getColorForType
    - QStyleOptionViewItem::rect::adjusted
    - QPainter::end
    - QStyleOptionViewItem::decorationSize::width
    - QModelIndex::isValid
    - QSize::height
    - grab
    - QStyleOptionViewItem::rect::size
    - QStyleOptionViewItem::palette::color
    - QPainter*::fillRect
    - setGeometry
    - AddonItemDelegate::initStyleOption
    - QStyleOptionViewItem::rect::top
    - QPoint
    - AddonsModel::getMaxScore
    - qtr
    - left
    - QPainter*::restore
    - QRect::translate
    - QPainter*::setCompositionMode
    - QStyleOptionViewItem::rect::left
    - commonPaint
    - QModelIndex::data
    - QColor
    - QPixmap::width
    - QPainter*::fillPath
    - QPainter::setCompositionMode
    - getIndex
    - bottom
    - QPainter*::setRenderHint
    - QRect::adjusted
    - QLinearGradient::setColorAt
    - QStyleOptionViewItem::fontMetrics::height
    - QMargins::left
    - QPixmap::height
    - QStyleOptionViewItem::rect::right
    - QMargins::top
    - isRunning
    - QFont::setBold
    - QRect::translated
    - QPainter::fillRect
    linkageType: ''
    returnType: void
    signature: "void AddonItemDelegate::paint( QPainter *painter,\n                               const
      QStyleOptionViewItem &option,\n                               const QModelIndex
      &index ) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::isValid
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1010,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1012,1
    - Dst: QStyleOptionViewItem::fontMetrics::height
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1012,1
    - Dst: top
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1013,1
    - Dst: bottom
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1013,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1016,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - option
    - index
    argTypes:
    - QStyleOptionViewItem
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1017
    functionName: AddonItemDelegate::sizeHint
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached:
    - top
    - QStyleOptionViewItem::fontMetrics::height
    - bottom
    - QSize
    - QModelIndex::isValid
    linkageType: ''
    returnType: QSize
    signature: "QSize AddonItemDelegate::sizeHint( const QStyleOptionViewItem &option,\n
      \                                  const QModelIndex &index ) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionItemDelegate::initStyleOption
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1022,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1023,1
    - Dst: QStyleOptionViewItem*::rect::height
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1023,1
    - Dst: QStyleOptionViewItem*::rect::height
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1023,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1024,1
    - Dst: left
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1024,1
    - Dst: right
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1024,1
    - Dst: top
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1025,1
    - Dst: bottom
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - option
    - index
    argTypes:
    - QStyleOptionViewItem*
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1019
    functionDepth: 2
    functionLinenumber: 1019
    functionLinenumberEnd: 1026
    functionName: AddonItemDelegate::initStyleOption
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 1
    functionsReached:
    - right
    - ExtensionItemDelegate::initStyleOption
    - top
    - left
    - bottom
    - QStyleOptionViewItem*::rect::height
    - QSize
    linkageType: ''
    returnType: void
    signature: "void AddonItemDelegate::initStyleOption( QStyleOptionViewItem *option,\n
      \                                           const QModelIndex &index ) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNUSED
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1032,1
    - Dst: QWidget::QWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1033,1
    - Dst: QWidget*::setLayout
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1037,1
    - Dst: QHBoxLayout::QHBoxLayout
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1037,1
    - Dst: QWidget*::layout
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1038,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1040,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1041,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1040,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1042,1
    - Dst: QWidget*::layout
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1043,1
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1045,1
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1047,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1049,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1050,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1049,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1053,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1053,1
    - Dst: QPushButton*::setIcon
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1054,1
    - Dst: ColorizedSvgIcon::colorizedIconForWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1054,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1056,1
    - Dst: QWidget*::layout
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1057,1
    - Dst: QWidget*::setSizePolicy
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1060,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - parent
    - option
    - index
    argTypes:
    - QWidget*
    - QStyleOptionViewItem
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1028
    functionDepth: 2
    functionLinenumber: 1028
    functionLinenumberEnd: 1063
    functionName: AddonItemDelegate::createEditor
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached:
    - QHBoxLayout::QHBoxLayout
    - QModelIndex::data
    - QIcon
    - Q_UNUSED
    - QWidget::QWidget
    - QWidget*::layout
    - qtr
    - QPushButton*::setIcon
    - ColorizedSvgIcon::colorizedIconForWidget
    - QWidget*::setLayout
    - connect
    - QPushButton::QPushButton
    - QWidget*::setSizePolicy
    linkageType: ''
    returnType: QWidget
    signature: "QWidget *AddonItemDelegate::createEditor( QWidget *parent,\n                                          const
      QStyleOptionViewItem &option,\n                                          const
      QModelIndex &index) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNUSED
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1069,1
    - Dst: QWidget*::sizeHint
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1070,1
    - Dst: QWidget*::setGeometry
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1071,1
    - Dst: QStyleOptionViewItem::rect::right
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1071,1
    - Dst: QSize::width
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1071,1
    - Dst: QStyleOptionViewItem::rect::top
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1072,1
    - Dst: QStyleOptionViewItem::rect::height
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1072,1
    - Dst: QSize::height
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1072,1
    - Dst: QSize::width
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1073,1
    - Dst: QSize::height
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - editor
    - option
    - index
    argTypes:
    - QWidget*
    - QStyleOptionViewItem
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1075
    functionName: AddonItemDelegate::updateEditorGeometry
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached:
    - QWidget*::sizeHint
    - Q_UNUSED
    - QStyleOptionViewItem::rect::top
    - QWidget*::setGeometry
    - QStyleOptionViewItem::rect::right
    - QStyleOptionViewItem::rect::height
    - QSize::width
    - QSize::height
    linkageType: ''
    returnType: void
    signature: "void AddonItemDelegate::updateEditorGeometry( QWidget *editor,\n                                              const
      QStyleOptionViewItem &option,\n                                              const
      QModelIndex &index) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QAbstractItemModel*::setData
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1080,1
    - Dst: QWidget*::property
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - editor
    - model
    - index
    argTypes:
    - QWidget*
    - QAbstractItemModel*
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1081
    functionName: AddonItemDelegate::setModelData
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached:
    - QWidget*::property
    - QAbstractItemModel*::setData
    linkageType: ''
    returnType: void
    signature: "void AddonItemDelegate::setModelData( QWidget *editor, QAbstractItemModel
      *model,\n                                      const QModelIndex &index ) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QWidget*::setProperty
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1085,1
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - editor
    - index
    argTypes:
    - QWidget*
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1083
    functionDepth: 2
    functionLinenumber: 1083
    functionLinenumberEnd: 1086
    functionName: AddonItemDelegate::setEditorData
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached:
    - QWidget*::setProperty
    - QModelIndex::data
    linkageType: ''
    returnType: void
    signature: void AddonItemDelegate::setEditorData( QWidget *editor, const QModelIndex
      &index ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QProgressBar::QProgressBar
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1092,1
    - Dst: QProgressBar*::setMinimum
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1093,1
    - Dst: QProgressBar*::setMaximum
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1094,1
    - Dst: QProgressBar*::setTextVisible
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1095,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - animator_
    argTypes:
    - DelegateAnimationHelper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1099
    functionName: AddonItemDelegate::setAnimator
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached:
    - QProgressBar*::setMinimum
    - QProgressBar*::setTextVisible
    - QProgressBar::QProgressBar
    - QProgressBar*::setMaximum
    linkageType: ''
    returnType: void
    signature: void AddonItemDelegate::setAnimator( DelegateAnimationHelper *animator_
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qobject_cast<QWidget *>
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1103,1
    - Dst: sender
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1103,1
    - Dst: QWidget*::property
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1105,1
    - Dst: QWidget*::setProperty
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1108,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1108,1
    - Dst: QWidget*::setProperty
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1111,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1101
    functionDepth: 1
    functionLinenumber: 1101
    functionLinenumberEnd: 1114
    functionName: AddonItemDelegate::editButtonClicked
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached:
    - QWidget*::property
    - qobject_cast<QWidget *>
    - sender
    - QWidget*::setProperty
    - fromValue
    linkageType: ''
    returnType: void
    signature: void AddonItemDelegate::editButtonClicked()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setWindowModality
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1124,1
    - Dst: setWindowTitle
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1127,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1127,1
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1127,1
    - Dst: QGridLayout::QGridLayout
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1130,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1133,1
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1134,1
    - Dst: Q_ASSERT
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1135,1
    - Dst: QPixmap::isNull
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1135,1
    - Dst: QLabel*::setPixmap
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1136,1
    - Dst: QLabel*::setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1137,1
    - Dst: QLabel*::setFixedSize
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1138,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1139,1
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1142,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1142,1
    - Dst: QLabel*::font
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1143,1
    - Dst: QFont::setBold
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1144,1
    - Dst: QFont::setPointSizeF
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1145,1
    - Dst: QFont::pointSizeF
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1145,1
    - Dst: QLabel*::setFont
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1146,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1147,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1150,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1150,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1151,1
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1152,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1152,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1153,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1156,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1156,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1157,1
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1158,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1158,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1159,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1163,1
    - Dst: QLabel*::setText
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1164,1
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1164,1
    - Dst: QLabel*::setWordWrap
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1165,1
    - Dst: QLabel*::setOpenExternalLinks
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1166,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1167,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1170,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1170,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1171,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1172,1
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1173,1
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1174,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1172,1
    - Dst: QLabel*::setOpenExternalLinks
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1176,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1177,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1180,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1180,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1181,1
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1183,1
    - Dst: QLineEdit::QLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1183,1
    - Dst: QLineEdit*::setReadOnly
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1184,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1185,1
    - Dst: QDialogButtonBox::QDialogButtonBox
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1188,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1189,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1189,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1190,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1191,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1193,1
    - Dst: QGridLayout*::setColumnStretch
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1196,1
    - Dst: QGridLayout*::setRowStretch
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1197,1
    - Dst: setMinimumSize
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 3
    argNames:
    - index
    - p_intf
    - parent
    argTypes:
    - QModelIndex
    - qt_intf_t*
    - QWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1118
    functionDepth: 2
    functionLinenumber: 1118
    functionLinenumberEnd: 1199
    functionName: ExtensionInfoDialog::ExtensionInfoDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached:
    - QPixmap::isNull
    - QString
    - QLabel*::setText
    - QLabel*::font
    - QGridLayout*::addWidget
    - QGridLayout*::setRowStretch
    - BUTTONACT
    - setMinimumSize
    - QLabel::QLabel
    - QLineEdit*::setReadOnly
    - QLabel*::setAlignment
    - QGridLayout::QGridLayout
    - QGridLayout*::setColumnStretch
    - Q_ASSERT
    - QFont::pointSizeF
    - QLineEdit::QLineEdit
    - QLabel*::setFont
    - setWindowTitle
    - qtr
    - QLabel*::setOpenExternalLinks
    - QPushButton::QPushButton
    - QFont::setPointSizeF
    - QModelIndex::data
    - QDialogButtonBox::QDialogButtonBox
    - QDialogButtonBox*::addButton
    - QLabel*::setPixmap
    - QLabel*::setWordWrap
    - setWindowModality
    - QFont::setBold
    - QLabel*::setFixedSize
    linkageType: ''
    returnType: void
    signature: "void ExtensionInfoDialog::ExtensionInfoDialog( const QModelIndex &index,\n
      \                                         qt_intf_t *p_intf,\n                                          QWindow
      *parent )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: setWindowModality
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1207,1
    - Dst: setWindowTitle
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1210,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1210,1
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1210,1
    - Dst: QGridLayout::QGridLayout
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1213,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1217,1
    - Dst: QLabel*::setFixedSize
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1218,1
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1219,1
    - Dst: QPixmap::scaled
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1220,1
    - Dst: QLabel*::size
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1220,1
    - Dst: QLabel*::setPixmap
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1221,1
    - Dst: QLabel*::setAlignment
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1222,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1223,1
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1226,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1226,1
    - Dst: QLabel*::font
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1227,1
    - Dst: QFont::setBold
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1228,1
    - Dst: QFont::setPointSizeF
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1229,1
    - Dst: QFont::pointSizeF
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1229,1
    - Dst: QLabel*::setFont
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1230,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1231,1
    - Dst: QTextEdit::QTextEdit
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1234,1
    - Dst: QTextEdit*::viewport
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1235,1
    - Dst: QTextEdit*::setAcceptRichText
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1236,1
    - Dst: QTextEdit*::setBackgroundRole
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1237,1
    - Dst: QTextEdit*::setFrameStyle
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1238,1
    - Dst: QTextEdit*::setAutoFillBackground
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1239,1
    - Dst: QTextEdit*::setReadOnly
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1240,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1241,1
    - Dst: AddonsModel::getLabelForType
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1244,1
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1244,1
    - Dst: QTextEdit*::append
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1245,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1245,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1246,1
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1249,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1250,1
    - Dst: QTextEdit*::append
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1252,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1252,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1253,1
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1257,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1258,1
    - Dst: QTextEdit*::append
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1260,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1260,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1261,1
    - Dst: QTextEdit*::append
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1265,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1265,1
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1266,1
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1269,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1270,1
    - Dst: QTextEdit*::append
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1272,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1272,1
    - Dst: QString::replace
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1273,1
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1277,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1278,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1280,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1280,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1281,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1282,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1282,1
    - Dst: QLabel*::setOpenExternalLinks
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1284,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1285,1
    - Dst: QModelIndex::data
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1289,1
    - Dst: QList::empty
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1290,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1292,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1292,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1293,1
    - Dst: QComboBox::QComboBox
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1294,1
    - Dst: QComboBox*::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1296,1
    - Dst: toString
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1296,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1297,1
    - Dst: QDialogButtonBox::QDialogButtonBox
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1301,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1302,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1302,1
    - Dst: QDialogButtonBox*::addButton
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1303,1
    - Dst: BUTTONACT
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1304,1
    - Dst: QGridLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1306,1
    - Dst: QGridLayout*::setColumnStretch
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1309,1
    - Dst: QGridLayout*::setRowStretch
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1310,1
    - Dst: setMinimumSize
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1311,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 50
    argCount: 3
    argNames:
    - index
    - p_intf
    - parent
    argTypes:
    - QModelIndex
    - qt_intf_t*
    - QWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1202
    functionDepth: 2
    functionLinenumber: 1202
    functionLinenumberEnd: 1312
    functionName: AddonInfoDialog::AddonInfoDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 0
    functionsReached:
    - QString::replace
    - QString
    - QLabel*::font
    - QGridLayout*::addWidget
    - QGridLayout*::setRowStretch
    - QTextEdit*::append
    - BUTTONACT
    - setMinimumSize
    - QLabel::QLabel
    - QTextEdit::QTextEdit
    - QLabel*::setAlignment
    - QPixmap::scaled
    - AddonsModel::getLabelForType
    - QGridLayout::QGridLayout
    - QString::isEmpty
    - QGridLayout*::setColumnStretch
    - QFont::pointSizeF
    - QTextEdit*::setAcceptRichText
    - QList::empty
    - QTextEdit*::setFrameStyle
    - QTextEdit*::setAutoFillBackground
    - QLabel*::setFont
    - QTextEdit*::setBackgroundRole
    - QTextEdit*::setReadOnly
    - QComboBox::QComboBox
    - setWindowTitle
    - qtr
    - QLabel*::setOpenExternalLinks
    - QLabel*::size
    - QPushButton::QPushButton
    - QFont::setPointSizeF
    - QModelIndex::data
    - QTextEdit*::viewport
    - QDialogButtonBox::QDialogButtonBox
    - QDialogButtonBox*::addButton
    - QLabel*::setPixmap
    - QComboBox*::addItem
    - toString
    - setWindowModality
    - QFont::setBold
    - QLabel*::setFixedSize
    linkageType: ''
    returnType: void
    signature: "void AddonInfoDialog::AddonInfoDialog( const QModelIndex &index,\n
      \                                 qt_intf_t *p_intf, QWindow *parent )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QPixmap::QPixmap
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1318,1
    - Dst: QPixmap*::loadFromData
      Src: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp:1319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1314
    functionDepth: 0
    functionLinenumber: 1314
    functionLinenumberEnd: 1325
    functionName: loadPixmapFromData
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.cpp
    functionUses: 1
    functionsReached:
    - QPixmap*::loadFromData
    - QPixmap::QPixmap
    linkageType: ''
    returnType: QPixmap
    signature: QPixmap *loadPixmapFromData( char *data, int size )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - qs_item
    argTypes:
    - QStringList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: PluginTreeItem::PluginTreeItem
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PluginTreeItem(QStringList &qs_item, int Type = QTreeWidgetItem::Type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: ~PluginTreeItem()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/plugins/plugins.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PluginTreeItem()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MainCtx*::getIntf
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:35,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:37,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:38,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:40,1
    - Dst: useXmasCone
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:43,1
    - Dst: QIcon::fromTheme
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:44,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:44,1
    - Dst: QIcon::fromTheme
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:46,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:46,1
    - Dst: setIcon
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:48,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:49,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:49,1
    - Dst: std::make_unique<VLCMenu>
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:51,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:51,1
    - Dst: setIcon
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:52,1
    - Dst: setContextMenu
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:53,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:53,1
    - Dst: VLCSystray::update
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:54,1
    - Dst: show
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:55,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:57,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:61,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - parent
    argTypes:
    - MainCtx*
    - QObject*
    assertStmts:
    - condition: (m_intf)
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp
    - condition: (ctx)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp
    constantsTouched: []
    func_position:
      end: 66
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 66
    functionName: VLCSystray::VLCSystray
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp
    functionUses: 0
    functionsReached:
    - assert
    - QIcon
    - setToolTip
    - show
    - var_InheritInteger
    - setIcon
    - qtr
    - setContextMenu
    - get
    - QIcon::fromTheme
    - connect
    - MainCtx*::getIntf
    - useXmasCone
    - VLCSystray::update
    - std::make_unique<VLCMenu>
    linkageType: ''
    returnType: void
    signature: void VLCSystray::VLCSystray(MainCtx* ctx, QObject* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: VLCSystray::~VLCSystray()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VLCSystray::~VLCSystray()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toggleWindowVisibility
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:76,1
    - Dst: VLCSystray::update
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: VLCSystray::toggleUpdateMenu
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp
    functionUses: 0
    functionsReached:
    - toggleWindowVisibility
    - VLCSystray::update
    linkageType: ''
    returnType: void
    signature: void VLCSystray::toggleUpdateMenu()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setInterfaceVisibible
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:83,1
    - Dst: VLCSystray::update
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: VLCSystray::showUpdateMenu
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp
    functionUses: 0
    functionsReached:
    - VLCSystray::update
    - setInterfaceVisibible
    linkageType: ''
    returnType: void
    signature: void VLCSystray::showUpdateMenu()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setInterfaceVisibible
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:90,1
    - Dst: VLCSystray::update
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: VLCSystray::hideUpdateMenu
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp
    functionUses: 0
    functionsReached:
    - VLCSystray::update
    - setInterfaceVisibible
    linkageType: ''
    returnType: void
    signature: void VLCSystray::hideUpdateMenu()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VLCSystray::toggleUpdateMenu
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:102,1
    - Dst: PlaylistController*::togglePlayPause
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - reason
    argTypes:
    - QSystemTrayIcon::ActivationReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 111
    functionName: VLCSystray::handleClick
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp
    functionUses: 0
    functionsReached:
    - VLCSystray::toggleUpdateMenu
    - PlaylistController*::togglePlayPause
    linkageType: ''
    returnType: void
    signature: "void VLCSystray::handleClick(\n    QSystemTrayIcon::ActivationReason
      reason )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:119,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:121,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:121,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:125,1
    - Dst: interfaceVisibility
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:126,1
    - Dst: showMessage
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:131,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:131,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:134,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:135,1
    - Dst: p_mainPlayerController::getArtwork
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:136,1
    - Dst: isValid
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:137,1
    - Dst: toLocalFile
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:140,1
    - Dst: Q_LIKELY
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:142,1
    - Dst: QImageReader::canRead
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:142,1
    - Dst: QImageReader::size
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:144,1
    - Dst: Q_LIKELY
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:145,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:145,1
    - Dst: static_cast<double>
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:147,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:147,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:147,1
    - Dst: Q_LIKELY
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:148,1
    - Dst: std::abs
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:148,1
    - Dst: showMessageTemplate
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:150,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:150,1
    - Dst: showMessageTemplate
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:157,1
    - Dst: VLCSystray::update
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:160,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - QString
    assertStmts:
    - condition: (m_intf->p_mainPlayerController)
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp
    - condition: (m_intf)
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp
    constantsTouched: []
    func_position:
      end: 161
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 161
    functionName: VLCSystray::updateTooltipName
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp
    functionUses: 0
    functionsReached:
    - assert
    - setToolTip
    - QIcon
    - height
    - p_mainPlayerController::getArtwork
    - showMessage
    - isEmpty
    - QImageReader::size
    - interfaceVisibility
    - VLCSystray::update
    - std::abs
    - width
    - qtr
    - isValid
    - showMessageTemplate
    - Q_LIKELY
    - QImageReader::canRead
    - toLocalFile
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void VLCSystray::updateTooltipName( const QString& name )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: actions
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:166,1
    - Dst: menu
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:167,1
    - Dst: menu
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:168,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:171,1
    - Dst: interfaceVisibility
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:175,1
    - Dst: addAction
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:177,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:178,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:178,1
    - Dst: addAction
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:183,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:184,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:184,1
    - Dst: addSeparator
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:187,1
    - Dst: VLCMenuBar::PopupMenuPlaylistEntries
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:190,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:190,1
    - Dst: VLCMenuBar::PopupMenuControlEntries
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:191,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:191,1
    - Dst: VLCMenuBar::VolumeEntries
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:193,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:193,1
    - Dst: addSeparator
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:194,1
    - Dst: addAction
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:195,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:196,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:196,1
    - Dst: addAction
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:199,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:200,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:200,1
    - Dst: setContextMenu
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:204,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 205
    functionName: VLCSystray::update
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/systray/systray.cpp
    functionUses: 5
    functionsReached:
    - VLCMenuBar::PopupMenuControlEntries
    - QIcon
    - addAction
    - get
    - clear
    - qtr
    - setContextMenu
    - VLCMenuBar::VolumeEntries
    - addSeparator
    - VLCMenuBar::PopupMenuPlaylistEntries
    - actions
    - interfaceVisibility
    - menu
    linkageType: ''
    returnType: void
    signature: void VLCSystray::update()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: MENU_MAP
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MENU_MAP(a,e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: MENU_GET_ACTION
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MENU_GET_ACTION(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: MENU_GET_EXTENSION
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MENU_GET_EXTENSION(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QSignalMapper::QSignalMapper
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:45,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:46,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:47,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:48,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - _p_intf
    - parent
    argTypes:
    - qt_intf_t*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: ExtensionsManager::ExtensionsManager
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp
    functionUses: 0
    functionsReached:
    - connect
    - QSignalMapper::QSignalMapper
    linkageType: ''
    returnType: void
    signature: void ExtensionsManager::ExtensionsManager( qt_intf_t *_p_intf, QObject
      *parent )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:56,1
    - Dst: ExtensionsManager::unloadExtensions
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: ExtensionsManager::~ExtensionsManager()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp
    functionUses: 0
    functionsReached:
    - ExtensionsManager::unloadExtensions
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void ExtensionsManager::~ExtensionsManager()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_create
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:64,1
    - Dst: vlc_intf_GetMainPlaylist
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:72,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:73,1
    - Dst: module_need
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:75,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:79,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:80,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:88,1
    - Dst: std::make_unique<ExtensionsDialogProvider>
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!p_edp)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp
    constantsTouched: []
    func_position:
      end: 95
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 95
    functionName: ExtensionsManager::loadExtensions
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp
    functionUses: 0
    functionsReached:
    - vlc_intf_GetMainPlaylist
    - assert
    - vlc_object_create
    - std::make_unique<ExtensionsDialogProvider>
    - msg_Err
    - vlc_playlist_GetPlayer
    - vlc_object_delete
    - module_need
    linkageType: ''
    returnType: bool
    signature: bool ExtensionsManager::loadExtensions()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_FOREACH
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:103,1
    - Dst: extension_Deactivate
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:105,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:107,1
    - Dst: module_unneed
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:108,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 111
    functionName: ExtensionsManager::unloadExtensions
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp
    functionUses: 1
    functionsReached:
    - ARRAY_FOREACH
    - reset
    - module_unneed
    - vlc_object_delete
    - extension_Deactivate
    linkageType: ''
    returnType: void
    signature: void ExtensionsManager::unloadExtensions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionsManager::unloadExtensions
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:115,1
    - Dst: ExtensionsManager::loadExtensions
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: ExtensionsManager::reloadExtensions
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp
    functionUses: 0
    functionsReached:
    - ExtensionsManager::unloadExtensions
    - ExtensionsManager::loadExtensions
    linkageType: ''
    returnType: void
    signature: void ExtensionsManager::reloadExtensions()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:122,1
    - Dst: isLoaded
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:123,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:129,1
    - Dst: ARRAY_FOREACH
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:134,1
    - Dst: extension_IsActivated
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:136,1
    - Dst: extension_HasMenu
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:138,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:141,1
    - Dst: QMenu::QMenu
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:140,1
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:146,1
    - Dst: QAction*::setCheckable
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:148,1
    - Dst: QAction*::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:149,1
    - Dst: extension_GetMenu
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:151,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:157,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:157,1
    - Dst: setMapping
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:158,1
    - Dst: MENU_MAP
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:159,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:160,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:160,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:161,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:165,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:165,1
    - Dst: QAction*::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:166,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:168,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:169,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:173,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:175,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:175,1
    - Dst: QAction*::setEnabled
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:176,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:179,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:180,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:180,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:181,1
    - Dst: setMapping
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:182,1
    - Dst: MENU_MAP
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:182,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:183,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:183,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:187,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:188,1
    - Dst: setMapping
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:189,1
    - Dst: MENU_MAP
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:189,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:190,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:190,1
    - Dst: extension_TriggerOnly
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:192,1
    - Dst: QAction*::setCheckable
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:194,1
    - Dst: QAction*::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:195,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:201,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 46
    argCount: 1
    argNames:
    - current
    argTypes:
    - QMenu*
    assertStmts:
    - condition: ( current != NULL )
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp
    constantsTouched: []
    func_position:
      end: 202
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 202
    functionName: ExtensionsManager::menu
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp
    functionUses: 0
    functionsReached:
    - assert
    - QIcon
    - connect
    - isLoaded
    - QMenu*::addSeparator
    - qfu
    - vlc_mutex_lock
    - extension_TriggerOnly
    - QMenu::QMenu
    - QAction*::setEnabled
    - msg_Warn
    - MENU_MAP
    - go_eof
    - ARRAY_FOREACH
    - qtr
    - QMenu*::addAction
    - QAction*::setChecked
    - setMapping
    - vlc_mutex_unlock
    - QAction*::setCheckable
    - extension_GetMenu
    - free
    - QMenu*::addMenu
    - extension_IsActivated
    - extension_HasMenu
    linkageType: ''
    returnType: void
    signature: void ExtensionsManager::menu( QMenu *current )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isLoaded
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:206,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:212,1
    - Dst: ARRAY_FOREACH
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:215,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:218,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:221,1
    - Dst: ExtensionsManager::triggerMenu
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:222,1
    - Dst: MENU_MAP
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:222,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 227
    functionName: ExtensionsManager::openVLsub
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp
    functionUses: 0
    functionsReached:
    - MENU_MAP
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - ARRAY_FOREACH
    - strcmp
    - isLoaded
    - ExtensionsManager::triggerMenu
    linkageType: ''
    returnType: void
    signature: void ExtensionsManager::openVLsub()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MENU_GET_EXTENSION
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:231,1
    - Dst: MENU_GET_ACTION
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:232,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:234,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:238,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:240,1
    - Dst: ARRAY_VAL
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:244,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:245,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:247,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:251,1
    - Dst: extension_TriggerOnly
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:254,1
    - Dst: extension_Trigger
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:256,1
    - Dst: extension_IsActivated
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:260,1
    - Dst: extension_Activate
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:261,1
    - Dst: extension_Deactivate
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:263,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:268,1
    - Dst: extension_TriggerMenu
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts:
    - condition: ( p_ext != NULL)
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp
    constantsTouched: []
    func_position:
      end: 273
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 273
    functionName: ExtensionsManager::triggerMenu
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp
    functionUses: 1
    functionsReached:
    - assert
    - MENU_GET_ACTION
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - extension_Trigger
    - ARRAY_VAL
    - extension_TriggerOnly
    - extension_Activate
    - msg_Dbg
    - MENU_GET_EXTENSION
    - extension_IsActivated
    - extension_Deactivate
    - extension_TriggerMenu
    linkageType: ''
    returnType: void
    signature: void ExtensionsManager::triggerMenu( int id )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 294
    functionName: ExtensionsManager::inputChanged
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionsManager::inputChanged( )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:301,1
    - Dst: ARRAY_FOREACH
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:304,1
    - Dst: extension_IsActivated
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:306,1
    - Dst: extension_PlayingChanged
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:308,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - PlayerController::PlayingState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 313
    functionName: ExtensionsManager::playingChanged
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - ARRAY_FOREACH
    - extension_PlayingChanged
    - extension_IsActivated
    linkageType: ''
    returnType: void
    signature: void ExtensionsManager::playingChanged( PlayerController::PlayingState
      state )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:320,1
    - Dst: ARRAY_FOREACH
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:322,1
    - Dst: extension_IsActivated
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:324,1
    - Dst: extension_MetaChanged
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:326,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 330
    functionName: ExtensionsManager::metaChanged
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.cpp
    functionUses: 0
    functionsReached:
    - extension_MetaChanged
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - ARRAY_FOREACH
    - extension_IsActivated
    linkageType: ''
    returnType: void
    signature: void ExtensionsManager::metaChanged( input_item_t* )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isLoaded
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.hpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: ExtensionsManager::public
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.hpp
    functionUses: 0
    functionsReached:
    - isLoaded
    linkageType: ''
    returnType: Q_OBJECT
    signature: Q_OBJECT public
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ExtensionsManager::cannotLoad
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cannotLoad()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: ExtensionsManager::isUnloading
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isUnloading()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: ExtensionsManager::getManager
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: extensions_manager_t
    signature: extensions_manager_t * getManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:52,1
    - Dst: vlc_dialog_provider_set_ext_callback
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _p_intf
    argTypes:
    - qt_intf_t*
    assertStmts:
    - condition: (p_intf)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: ExtensionsDialogProvider::ExtensionsDialogProvider
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp
    functionUses: 0
    functionsReached:
    - assert
    - vlc_dialog_provider_set_ext_callback
    linkageType: ''
    returnType: void
    signature: void ExtensionsDialogProvider::ExtensionsDialogProvider(qt_intf_t *_p_intf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:58,1
    - Dst: vlc_dialog_provider_set_ext_callback
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: ExtensionsDialogProvider::~ExtensionsDialogProvider()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - vlc_dialog_provider_set_ext_callback
    linkageType: ''
    returnType: void
    signature: void ExtensionsDialogProvider::~ExtensionsDialogProvider()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionDialog::ExtensionDialog
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:69,1
    - Dst: insert
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_dialog
    argTypes:
    - extension_dialog_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: ExtensionsDialogProvider::CreateExtDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp
    functionUses: 0
    functionsReached:
    - ExtensionDialog::ExtensionDialog
    - insert
    linkageType: ''
    returnType: ExtensionDialog
    signature: "ExtensionDialog * ExtensionsDialogProvider::CreateExtDialog(\n        extension_dialog_t
      *p_dialog )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:79,1
    - Dst: erase
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:83,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p_dialog
    argTypes:
    - extension_dialog_t*
    assertStmts:
    - condition: ( p_dialog )
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: ExtensionsDialogProvider::DestroyExtDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp
    functionUses: 0
    functionsReached:
    - erase
    - assert
    - vlc_cond_signal
    linkageType: ''
    returnType: int
    signature: int ExtensionsDialogProvider::DestroyExtDialog( extension_dialog_t
      *p_dialog )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:94,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:104,1
    - Dst: ExtensionsDialogProvider::CreateExtDialog
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:109,1
    - Dst: ExtensionDialog*::UpdateWidgets
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:112,1
    - Dst: ExtensionDialog*::setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:114,1
    - Dst: ExtensionsDialogProvider::DestroyExtDialog
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:118,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:120,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - p_dialog
    argTypes:
    - extension_dialog_t*
    assertStmts:
    - condition: ( p_dialog )
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp
    constantsTouched: []
    func_position:
      end: 122
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 122
    functionName: ExtensionsDialogProvider::UpdateExtDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp
    functionUses: 0
    functionsReached:
    - assert
    - vlc_cond_signal
    - ExtensionsDialogProvider::CreateExtDialog
    - ExtensionDialog*::setVisible
    - vlc_mutex_lock
    - vlc_mutex_unlock
    - ExtensionsDialogProvider::DestroyExtDialog
    - ExtensionDialog*::UpdateWidgets
    linkageType: ''
    returnType: void
    signature: void ExtensionsDialogProvider::UpdateExtDialog(extension_dialog_t *p_dialog
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ExtensionsDialogProvider*>
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:132,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:140,1
    - Dst: auto::UpdateExtDialog
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_ext_dialog
    - p_data
    argTypes:
    - extension_dialog_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 144
    functionName: DialogCallback
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp
    functionUses: 0
    functionsReached:
    - QMetaObject::invokeMethod
    - static_cast<ExtensionsDialogProvider*>
    - auto::UpdateExtDialog
    linkageType: ''
    returnType: void
    signature: "void DialogCallback( extension_dialog_t *p_ext_dialog,\n                            void
      *p_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:154,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:156,1
    - Dst: ExtensionDialog::setWindowFlags
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:157,1
    - Dst: ExtensionDialog::setWindowTitle
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:159,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:159,1
    - Dst: QGridLayout::QGridLayout
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - _p_intf
    - _p_dialog
    argTypes:
    - qt_intf_t*
    - extension_dialog_t*
    assertStmts:
    - condition: ( p_dialog )
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp
    constantsTouched: []
    func_position:
      end: 163
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 163
    functionName: ExtensionDialog::ExtensionDialog
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp
    functionUses: 1
    functionsReached:
    - QGridLayout::QGridLayout
    - ExtensionDialog::setWindowFlags
    - assert
    - ExtensionDialog::setWindowTitle
    - msg_Dbg
    - qfu
    linkageType: ''
    returnType: void
    signature: "void ExtensionDialog::ExtensionDialog( qt_intf_t *_p_intf,\n                                  extension_dialog_t
      *_p_dialog )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:167,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:167,1
    - Dst: windowTitle
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:167,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:169,1
    - Dst: keys
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:173,1
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 175
    functionName: ExtensionDialog::~ExtensionDialog()
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp
    functionUses: 0
    functionsReached:
    - vlc_cond_signal
    - disconnect
    - keys
    - qtu
    - msg_Dbg
    - windowTitle
    linkageType: ''
    returnType: void
    signature: void ExtensionDialog::~ExtensionDialog()
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:179,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:185,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:185,1
    - Dst: auto::setTextFormat
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:187,1
    - Dst: auto::setOpenExternalLinks
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:188,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:193,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:193,1
    - Dst: ExtensionDialog::setWidgetMapping
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:194,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:195,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:202,1
    - Dst: auto::setPixmap
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:203,1
    - Dst: QPixmap
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:203,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:203,1
    - Dst: auto::setMaximumWidth
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:205,1
    - Dst: auto::setMaximumHeight
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:207,1
    - Dst: auto::setScaledContents
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:208,1
    - Dst: QTextBrowser::QTextBrowser
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:214,1
    - Dst: auto::setOpenExternalLinks
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:215,1
    - Dst: auto::setHtml
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:216,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:216,1
    - Dst: QLineEdit::QLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:222,1
    - Dst: auto::setText
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:223,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:223,1
    - Dst: auto::setReadOnly
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:224,1
    - Dst: auto::setEchoMode
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:225,1
    - Dst: ExtensionDialog::setWidgetMapping
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:226,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:227,1
    - Dst: QLineEdit::QLineEdit
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:234,1
    - Dst: auto::setText
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:235,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:235,1
    - Dst: auto::setReadOnly
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:236,1
    - Dst: auto::setEchoMode
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:237,1
    - Dst: ExtensionDialog::setWidgetMapping
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:238,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:240,1
    - Dst: QCheckBox::QCheckBox
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:247,1
    - Dst: auto::setText
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:248,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:248,1
    - Dst: auto::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:249,1
    - Dst: ExtensionDialog::setWidgetMapping
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:250,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:251,1
    - Dst: QComboBox::QComboBox
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:258,1
    - Dst: auto::setEditable
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:259,1
    - Dst: auto::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:264,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:264,1
    - Dst: auto::findText
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:269,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:269,1
    - Dst: auto::setCurrentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:271,1
    - Dst: ExtensionDialog::setWidgetMapping
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:273,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:274,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:274,1
    - Dst: QListWidget::QListWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:280,1
    - Dst: auto::setSelectionMode
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:281,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:287,1
    - Dst: QListWidgetItem::QListWidgetItem
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:287,1
    - Dst: QListWidgetItem*::setData
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:288,1
    - Dst: auto::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:289,1
    - Dst: ExtensionDialog::setWidgetMapping
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:291,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:292,1
    - Dst: SpinningIcon::SpinningIcon
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:298,1
    - Dst: auto::play
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:299,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:304,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 89
    argCount: 1
    argNames:
    - p_widget
    argTypes:
    - extension_widget_t*
    assertStmts:
    - condition: ( p_widget->p_sys_intf == NULL )
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp
    constantsTouched: []
    func_position:
      end: 307
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 307
    functionName: ExtensionDialog::CreateWidget
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp
    functionUses: 0
    functionsReached:
    - assert
    - auto::setChecked
    - ExtensionDialog::setWidgetMapping
    - auto::setEditable
    - connect
    - QLabel::QLabel
    - auto::setEchoMode
    - qfu
    - QListWidgetItem::QListWidgetItem
    - auto::setSelectionMode
    - msg_Err
    - auto::setPixmap
    - QCheckBox::QCheckBox
    - auto::setMaximumWidth
    - QLineEdit::QLineEdit
    - QComboBox::QComboBox
    - go_eof
    - auto::setMaximumHeight
    - QPixmap
    - auto::setReadOnly
    - auto::setTextFormat
    - auto::setOpenExternalLinks
    - QTextBrowser::QTextBrowser
    - QPushButton::QPushButton
    - auto::addItem
    - auto::setCurrentIndex
    - auto::setHtml
    - auto::setScaledContents
    - auto::setText
    - SpinningIcon::SpinningIcon
    - auto::findText
    - QListWidget::QListWidget
    - auto::play
    - QListWidgetItem*::setData
    linkageType: ''
    returnType: QWidget
    signature: QWidget * ExtensionDialog::CreateWidget( extension_widget_t *p_widget
      )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionDialog::getWidgetMapping
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:315,1
    - Dst: sender
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:315,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:316,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:323,1
    - Dst: extension_WidgetClicked
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:331,1
    - Dst: static_cast< QCheckBox* >
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:336,1
    - Dst: auto::isChecked
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:337,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:342,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:348,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (p_widget)
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp
    constantsTouched: []
    func_position:
      end: 353
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 353
    functionName: ExtensionDialog::TriggerClick
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp
    functionUses: 0
    functionsReached:
    - extension_WidgetClicked
    - assert
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - ExtensionDialog::getWidgetMapping
    - static_cast< QCheckBox* >
    - sender
    - msg_Dbg
    - auto::isChecked
    linkageType: ''
    returnType: int
    signature: int ExtensionDialog::TriggerClick()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionDialog::getWidgetMapping
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:361,1
    - Dst: sender
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:361,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:362,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:367,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:372,1
    - Dst: static_cast< QLineEdit* >
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:375,1
    - Dst: QLineEdit*::text
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:376,1
    - Dst: strdup
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:376,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:376,1
    - Dst: QLineEdit*::text
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:376,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:377,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (p_widget)
      pos:
        line_end: 361
        line_start: 361
        source_file: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp
    - condition: "( p_widget->type == EXTENSION_WIDGET_TEXT_FIELD\n            ||
        p_widget->type == EXTENSION_WIDGET_PASSWORD )"
      pos:
        line_end: 372
        line_start: 371
        source_file: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp
    constantsTouched: []
    func_position:
      end: 385
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 385
    functionName: ExtensionDialog::SyncInput
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp
    functionUses: 0
    functionsReached:
    - assert
    - strdup
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - ExtensionDialog::getWidgetMapping
    - QLineEdit*::text
    - sender
    - free
    - qtu
    - static_cast< QLineEdit* >
    linkageType: ''
    returnType: void
    signature: void ExtensionDialog::SyncInput()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionDialog::getWidgetMapping
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:395,1
    - Dst: sender
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:395,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:396,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:401,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:406,1
    - Dst: static_cast< QComboBox* >
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:411,1
    - Dst: QComboBox*::itemData
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:417,1
    - Dst: QComboBox*::currentIndex
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:417,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:427,1
    - Dst: strdup
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:428,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:428,1
    - Dst: QComboBox*::currentText
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:428,1
    - Dst: static_cast<QListWidget*>
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:432,1
    - Dst: QListWidget*::selectedItems
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:433,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:442,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:454,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: "( p_widget->type == EXTENSION_WIDGET_DROPDOWN\n            || p_widget->type
        == EXTENSION_WIDGET_LIST )"
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp
    - condition: (p_widget)
      pos:
        line_end: 395
        line_start: 395
        source_file: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp
    constantsTouched: []
    func_position:
      end: 457
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 457
    functionName: ExtensionDialog::SyncSelection
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp
    functionUses: 0
    functionsReached:
    - QListWidget*::selectedItems
    - assert
    - strdup
    - QComboBox*::currentIndex
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - ExtensionDialog::getWidgetMapping
    - data
    - sender
    - static_cast<QListWidget*>
    - static_cast< QComboBox* >
    - free
    - qtu
    - QComboBox*::itemData
    - QComboBox*::currentText
    linkageType: ''
    returnType: void
    signature: void ExtensionDialog::SyncSelection()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QListWidgetItem*::data
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:442,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - QListWidgetItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 447
    functionName: foreach
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp
    functionUses: 53
    functionsReached:
    - QListWidgetItem*::data
    linkageType: ''
    returnType: void
    signature: void foreach( const QListWidgetItem *item, selection )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:461,1
    - Dst: vlc_mutex_assert
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:462,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:464,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:464,1
    - Dst: windowTitle
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:464,1
    - Dst: setWindowTitle
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:465,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:465,1
    - Dst: ARRAY_FOREACH
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:468,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:476,1
    - Dst: columnCount
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:480,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:481,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:482,1
    - Dst: ExtensionDialog::CreateWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:485,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:488,1
    - Dst: QWidget*::setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:492,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:493,1
    - Dst: QWidget*::resize
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:495,1
    - Dst: ExtensionDialog::resize
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:497,1
    - Dst: sizeHint
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:497,1
    - Dst: ExtensionDialog::UpdateWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:504,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:507,1
    - Dst: QWidget*::setVisible
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:511,1
    - Dst: addWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:512,1
    - Dst: QWidget*::resize
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:514,1
    - Dst: ExtensionDialog::resize
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:516,1
    - Dst: sizeHint
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:516,1
    - Dst: ExtensionDialog::DestroyWidget
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:523,1
    - Dst: ExtensionDialog::resize
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:525,1
    - Dst: sizeHint
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:525,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( p_dialog )
      pos:
        line_end: 460
        line_start: 460
        source_file: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp
    constantsTouched: []
    func_position:
      end: 528
      start: 459
    functionDepth: 4
    functionLinenumber: 459
    functionLinenumberEnd: 528
    functionName: ExtensionDialog::UpdateWidgets
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp
    functionUses: 0
    functionsReached:
    - assert
    - std::max
    - QWidget*::setVisible
    - qfu
    - ExtensionDialog::UpdateWidget
    - qtu
    - msg_Warn
    - windowTitle
    - addWidget
    - ExtensionDialog::CreateWidget
    - ARRAY_FOREACH
    - setWindowTitle
    - strcmp
    - sizeHint
    - vlc_mutex_assert
    - QWidget*::resize
    - rowCount
    - ExtensionDialog::DestroyWidget
    - columnCount
    - ExtensionDialog::resize
    linkageType: ''
    returnType: void
    signature: void ExtensionDialog::UpdateWidgets()
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:532,1
    - Dst: static_cast< QLabel* >
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:538,1
    - Dst: auto::setText
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:539,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:539,1
    - Dst: static_cast< QPushButton* >
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:545,1
    - Dst: auto::setText
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:546,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:546,1
    - Dst: ExtensionDialog::setWidgetMapping
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:547,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:548,1
    - Dst: static_cast< QLabel* >
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:554,1
    - Dst: auto::setPixmap
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:555,1
    - Dst: QPixmap
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:555,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:555,1
    - Dst: static_cast< QTextBrowser* >
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:560,1
    - Dst: auto::setHtml
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:561,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:561,1
    - Dst: static_cast< QLineEdit* >
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:566,1
    - Dst: auto::setText
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:567,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:567,1
    - Dst: static_cast< QLineEdit* >
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:572,1
    - Dst: auto::setText
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:573,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:573,1
    - Dst: static_cast< QCheckBox* >
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:578,1
    - Dst: auto::setText
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:579,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:579,1
    - Dst: auto::setChecked
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:580,1
    - Dst: static_cast< QComboBox* >
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:585,1
    - Dst: auto::clear
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:589,1
    - Dst: auto::findText
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:597,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:597,1
    - Dst: auto::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:598,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:598,1
    - Dst: static_cast< QListWidget* >
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:604,1
    - Dst: auto::clear
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:605,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:611,1
    - Dst: QListWidgetItem::QListWidgetItem
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:611,1
    - Dst: QListWidgetItem*::setData
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:612,1
    - Dst: auto::addItem
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:613,1
    - Dst: static_cast< SpinningIcon* >
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:619,1
    - Dst: auto::isPlaying
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:620,1
    - Dst: auto::play
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:621,1
    - Dst: auto::isPlaying
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:622,1
    - Dst: auto::stop
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:623,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:628,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 65
    argCount: 1
    argNames:
    - p_widget
    argTypes:
    - extension_widget_t*
    assertStmts:
    - condition: ( p_widget->p_sys_intf != NULL )
      pos:
        line_end: 531
        line_start: 531
        source_file: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp
    constantsTouched: []
    func_position:
      end: 631
      start: 530
    functionDepth: 2
    functionLinenumber: 530
    functionLinenumberEnd: 631
    functionName: ExtensionDialog::UpdateWidget
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp
    functionUses: 1
    functionsReached:
    - static_cast< SpinningIcon* >
    - assert
    - auto::setChecked
    - static_cast< QLabel* >
    - ExtensionDialog::setWidgetMapping
    - static_cast< QComboBox* >
    - connect
    - auto::clear
    - qfu
    - QListWidgetItem::QListWidgetItem
    - msg_Err
    - auto::setPixmap
    - auto::stop
    - static_cast< QListWidget* >
    - QPixmap
    - auto::addItem
    - auto::isPlaying
    - auto::setHtml
    - auto::setText
    - auto::findText
    - static_cast< QCheckBox* >
    - static_cast< QTextBrowser* >
    - auto::play
    - static_cast< QPushButton* >
    - static_cast< QLineEdit* >
    - QListWidgetItem*::setData
    linkageType: ''
    returnType: QWidget
    signature: QWidget * ExtensionDialog::UpdateWidget( extension_widget_t *p_widget
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:636,1
    - Dst: static_cast< QWidget* >
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:637,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:641,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p_widget
    - b_cond
    argTypes:
    - extension_widget_t*
    - bool
    assertStmts:
    - condition: ( p_widget && p_widget->b_kill )
      pos:
        line_end: 635
        line_start: 635
        source_file: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp
    constantsTouched: []
    func_position:
      end: 642
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 642
    functionName: ExtensionDialog::DestroyWidget
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp
    functionUses: 1
    functionsReached:
    - vlc_cond_signal
    - assert
    - static_cast< QWidget* >
    linkageType: ''
    returnType: void
    signature: "void ExtensionDialog::DestroyWidget( extension_widget_t *p_widget,\n
      \                                    bool b_cond )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:647,1
    - Dst: insert
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:651,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:652,1
    - Dst: remove
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:653,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - object
    - ext_widget
    argTypes:
    - QObject*
    - extension_widget_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 655
    functionName: ExtensionDialog::setWidgetMapping
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp
    functionUses: 2
    functionsReached:
    - connect
    - remove
    - insert
    linkageType: ''
    returnType: void
    signature: void ExtensionDialog::setWidgetMapping(QObject* object, extension_widget_t
      *ext_widget)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 660
    functionName: ExtensionDialog::getWidgetMapping
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp
    functionUses: 3
    functionsReached:
    - value
    linkageType: ''
    returnType: extension_widget_t
    signature: extension_widget_t * ExtensionDialog::getWidgetMapping(QObject* obj)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:665,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:666,1
    - Dst: extension_DialogClosed
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( p_dialog != NULL )
      pos:
        line_end: 664
        line_start: 664
        source_file: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp
    constantsTouched: []
    func_position:
      end: 669
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 669
    functionName: ExtensionDialog::closeEvent
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp
    functionUses: 0
    functionsReached:
    - assert
    - msg_Dbg
    - extension_DialogClosed
    linkageType: ''
    returnType: void
    signature: void ExtensionDialog::closeEvent( QCloseEvent * )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:674,1
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:675,1
    - Dst: close
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:678,1
    - Dst: KeyInputDialog::keyPressEvent
      Src: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - event
    argTypes:
    - QKeyEvent*
    assertStmts:
    - condition: ( p_dialog != NULL )
      pos:
        line_end: 673
        line_start: 673
        source_file: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp
    constantsTouched: []
    func_position:
      end: 684
      start: 672
    functionDepth: 4
    functionLinenumber: 672
    functionLinenumberEnd: 684
    functionName: ExtensionDialog::keyPressEvent
    functionSourceFile: /src/vlc/modules/gui/qt/dialogs/extensions/extensions.cpp
    functionUses: 0
    functionsReached:
    - KeyInputDialog::keyPressEvent
    - assert
    - QKeyEvent*::key
    - close
    linkageType: ''
    returnType: void
    signature: void ExtensionDialog::keyPressEvent( QKeyEvent *event )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: Playlist::Playlist
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_common.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Playlist()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - playlist
    argTypes:
    - vlc_playlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: Playlist::Playlist
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_common.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Playlist(vlc_playlist_t * const playlist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:39,1
    - Dst: input_item_Copy
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:39,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:41,1
    - Dst: vlc::playlist::Media::setMediaOptions
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: vlc::playlist::Media::Media
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/media.hpp
    functionUses: 0
    functionsReached:
    - input_item_Copy
    - vlc::playlist::Media::setMediaOptions
    - reset
    - std::bad_alloc
    linkageType: ''
    returnType: void
    signature: void Media(input_item_t *media = nullptr, const QStringList &options
      = {})
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QString::toUtf8
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:48,1
    - Dst: QString::toUtf8
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:49,1
    - Dst: auto::isNull
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:50,1
    - Dst: auto::constData
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:50,1
    - Dst: auto::isNull
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:51,1
    - Dst: auto::constData
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:51,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:52,1
    - Dst: input_item_New
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:52,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:54,1
    - Dst: vlc::playlist::Media::setMediaOptions
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - uri
    - name
    argTypes:
    - QString
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: vlc::playlist::Media::Media
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/media.hpp
    functionUses: 0
    functionsReached:
    - auto::constData
    - input_item_New
    - QString::toUtf8
    - vlc::playlist::Media::setMediaOptions
    - reset
    - std::bad_alloc
    - auto::isNull
    linkageType: ''
    returnType: void
    signature: void Media(const QString &uri, const QString &name, const QStringList
      &options = {})
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:60,1
    - Dst: char::char
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:65,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:65,1
    - Dst: vlc::wrap_carray<char*>
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:66,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:68,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:72,1
    - Dst: colon_unescape
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:74,1
    - Dst: strdup
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:75,1
    - Dst: QString::toUtf8
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:75,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:77,1
    - Dst: input_item_AddOptions
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:80,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 82
    functionName: vlc::playlist::Media::setMediaOptions
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/media.hpp
    functionUses: 2
    functionsReached:
    - strdup
    - colon_unescape
    - input_item_AddOptions
    - count
    - QString::toUtf8
    - get
    - std::bad_alloc
    - free
    - vlc::wrap_carray<char*>
    - char::char
    linkageType: ''
    returnType: void
    signature: void setMediaOptions(const QStringList &options = {})
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool>
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: operator bool() const
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/media.hpp
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    linkageType: ''
    returnType: void
    signature: void operator bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: vlc::playlist::Media::raw
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/media.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: input_item_t
    signature: input_item_t *raw() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:39,1
    - Dst: input_item_Copy
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:39,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:41,1
    - Dst: vlc::playlist::Media::setMediaOptions
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: vlc::playlist::Media::Media
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/media.hpp
    functionUses: 0
    functionsReached:
    - input_item_Copy
    - vlc::playlist::Media::setMediaOptions
    - reset
    - std::bad_alloc
    linkageType: ''
    returnType: void
    signature: void Media(input_item_t *media = nullptr, const QStringList &options
      = {})
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QString::toUtf8
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:48,1
    - Dst: QString::toUtf8
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:49,1
    - Dst: auto::isNull
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:50,1
    - Dst: auto::constData
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:50,1
    - Dst: auto::isNull
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:51,1
    - Dst: auto::constData
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:51,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:52,1
    - Dst: input_item_New
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:52,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:54,1
    - Dst: vlc::playlist::Media::setMediaOptions
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - uri
    - name
    argTypes:
    - QString
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: vlc::playlist::Media::Media
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/media.hpp
    functionUses: 0
    functionsReached:
    - auto::constData
    - input_item_New
    - QString::toUtf8
    - vlc::playlist::Media::setMediaOptions
    - reset
    - std::bad_alloc
    - auto::isNull
    linkageType: ''
    returnType: void
    signature: void Media(const QString &uri, const QString &name, const QStringList
      &options = {})
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:60,1
    - Dst: char::char
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:65,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:65,1
    - Dst: vlc::wrap_carray<char*>
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:66,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:68,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:72,1
    - Dst: colon_unescape
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:74,1
    - Dst: strdup
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:75,1
    - Dst: QString::toUtf8
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:75,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:77,1
    - Dst: input_item_AddOptions
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:80,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 82
    functionName: vlc::playlist::Media::setMediaOptions
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/media.hpp
    functionUses: 4
    functionsReached:
    - strdup
    - colon_unescape
    - input_item_AddOptions
    - count
    - QString::toUtf8
    - get
    - std::bad_alloc
    - free
    - vlc::wrap_carray<char*>
    - char::char
    linkageType: ''
    returnType: void
    signature: void setMediaOptions(const QStringList &options = {})
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool>
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: operator bool() const
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/media.hpp
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    linkageType: ''
    returnType: void
    signature: void operator bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: vlc::playlist::Media::raw
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/media.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: input_item_t
    signature: input_item_t *raw() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:39,1
    - Dst: input_item_Copy
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:39,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:41,1
    - Dst: vlc::playlist::Media::setMediaOptions
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: vlc::playlist::Media::Media
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/media.hpp
    functionUses: 0
    functionsReached:
    - input_item_Copy
    - vlc::playlist::Media::setMediaOptions
    - reset
    - std::bad_alloc
    linkageType: ''
    returnType: void
    signature: void Media(input_item_t *media = nullptr, const QStringList &options
      = {})
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QString::toUtf8
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:48,1
    - Dst: QString::toUtf8
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:49,1
    - Dst: auto::isNull
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:50,1
    - Dst: auto::constData
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:50,1
    - Dst: auto::isNull
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:51,1
    - Dst: auto::constData
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:51,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:52,1
    - Dst: input_item_New
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:52,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:54,1
    - Dst: vlc::playlist::Media::setMediaOptions
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - uri
    - name
    argTypes:
    - QString
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: vlc::playlist::Media::Media
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/media.hpp
    functionUses: 0
    functionsReached:
    - auto::constData
    - input_item_New
    - QString::toUtf8
    - vlc::playlist::Media::setMediaOptions
    - reset
    - std::bad_alloc
    - auto::isNull
    linkageType: ''
    returnType: void
    signature: void Media(const QString &uri, const QString &name, const QStringList
      &options = {})
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:60,1
    - Dst: char::char
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:65,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:65,1
    - Dst: vlc::wrap_carray<char*>
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:66,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:68,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:72,1
    - Dst: colon_unescape
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:74,1
    - Dst: strdup
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:75,1
    - Dst: QString::toUtf8
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:75,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:77,1
    - Dst: input_item_AddOptions
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:80,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 82
    functionName: vlc::playlist::Media::setMediaOptions
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/media.hpp
    functionUses: 6
    functionsReached:
    - strdup
    - colon_unescape
    - input_item_AddOptions
    - count
    - QString::toUtf8
    - get
    - std::bad_alloc
    - free
    - vlc::wrap_carray<char*>
    - char::char
    linkageType: ''
    returnType: void
    signature: void setMediaOptions(const QStringList &options = {})
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool>
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: operator bool() const
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/media.hpp
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    linkageType: ''
    returnType: void
    signature: void operator bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: vlc::playlist::Media::raw
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/media.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: input_item_t
    signature: input_item_t *raw() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:39,1
    - Dst: input_item_Copy
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:39,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:41,1
    - Dst: vlc::playlist::Media::setMediaOptions
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: vlc::playlist::Media::Media
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/media.hpp
    functionUses: 0
    functionsReached:
    - input_item_Copy
    - vlc::playlist::Media::setMediaOptions
    - reset
    - std::bad_alloc
    linkageType: ''
    returnType: void
    signature: void Media(input_item_t *media = nullptr, const QStringList &options
      = {})
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QString::toUtf8
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:48,1
    - Dst: QString::toUtf8
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:49,1
    - Dst: auto::isNull
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:50,1
    - Dst: auto::constData
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:50,1
    - Dst: auto::isNull
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:51,1
    - Dst: auto::constData
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:51,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:52,1
    - Dst: input_item_New
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:52,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:54,1
    - Dst: vlc::playlist::Media::setMediaOptions
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - uri
    - name
    argTypes:
    - QString
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: vlc::playlist::Media::Media
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/media.hpp
    functionUses: 0
    functionsReached:
    - auto::constData
    - input_item_New
    - QString::toUtf8
    - vlc::playlist::Media::setMediaOptions
    - reset
    - std::bad_alloc
    - auto::isNull
    linkageType: ''
    returnType: void
    signature: void Media(const QString &uri, const QString &name, const QStringList
      &options = {})
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:60,1
    - Dst: char::char
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:65,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:65,1
    - Dst: vlc::wrap_carray<char*>
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:66,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:68,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:72,1
    - Dst: colon_unescape
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:74,1
    - Dst: strdup
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:75,1
    - Dst: QString::toUtf8
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:75,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:77,1
    - Dst: input_item_AddOptions
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:80,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 82
    functionName: vlc::playlist::Media::setMediaOptions
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/media.hpp
    functionUses: 8
    functionsReached:
    - strdup
    - colon_unescape
    - input_item_AddOptions
    - count
    - QString::toUtf8
    - get
    - std::bad_alloc
    - free
    - vlc::wrap_carray<char*>
    - char::char
    linkageType: ''
    returnType: void
    signature: void setMediaOptions(const QStringList &options = {})
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool>
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: operator bool() const
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/media.hpp
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    linkageType: ''
    returnType: void
    signature: void operator bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/playlist/media.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: vlc::playlist::Media::raw
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/media.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: input_item_t
    signature: input_item_t *raw() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVector::push_back
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - items
    - len
    argTypes:
    - vlc_playlist_item_t*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: vlc::playlist::toVec
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - QVector::push_back
    linkageType: ''
    returnType: QVector<PlaylistItem>
    signature: "QVector<PlaylistItem> toVec(vlc_playlist_item_t *const items[],\n
      \                                  size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVector<WRAPPER>::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:48,1
    - Dst: QVector::reserve
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:49,1
    - Dst: QVector::push_back
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:51,1
    - Dst: raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - items
    argTypes:
    - QVector<WRAPPER>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: vlc::playlist::toRaw
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - QVector<WRAPPER>::size
    - QVector::push_back
    - raw
    - QVector::reserve
    linkageType: ''
    returnType: QVector<RAW>
    signature: QVector<RAW> toRaw(const QVector<WRAPPER> &items)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVector::push_back
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - items
    - len
    argTypes:
    - vlc_playlist_item_t*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: vlc::playlist::toVec
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - QVector::push_back
    linkageType: ''
    returnType: QVector<PlaylistItem>
    signature: "QVector<PlaylistItem> toVec(vlc_playlist_item_t *const items[],\n
      \                                  size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVector<WRAPPER>::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:48,1
    - Dst: QVector::reserve
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:49,1
    - Dst: QVector::push_back
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:51,1
    - Dst: raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - items
    argTypes:
    - QVector<WRAPPER>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: vlc::playlist::toRaw
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - QVector<WRAPPER>::size
    - QVector::push_back
    - raw
    - QVector::reserve
    linkageType: ''
    returnType: QVector<RAW>
    signature: QVector<RAW> toRaw(const QVector<WRAPPER> &items)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistListModelPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:63,1
    - Dst: vlc::playlist::toVec
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:64,1
    - Dst: PlaylistListModelPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:65,1
    - Dst: PlaylistListModelPrivate*::onItemsReset
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:68,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - playlist
    - items
    - len
    - userdata
    argTypes:
    - vlc_playlist_t*
    - vlc_playlist_item_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 70
    functionName: vlc::playlist::on_playlist_items_reset
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - PlaylistListModelPrivate*::callAsync
    - static_cast<PlaylistListModelPrivate *>
    - std::move
    - vlc::playlist::toVec
    - PlaylistListModelPrivate*::onItemsReset
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_reset(vlc_playlist_t *playlist,\n                        vlc_playlist_item_t
      *const items[],\n                        size_t len, void *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistListModelPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:77,1
    - Dst: vlc::playlist::toVec
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:78,1
    - Dst: PlaylistListModelPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:79,1
    - Dst: PlaylistListModelPrivate*::onItemsAdded
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:82,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - playlist
    - index
    - items
    - len
    - userdata
    argTypes:
    - vlc_playlist_t*
    - size_t
    - vlc_playlist_item_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: vlc::playlist::on_playlist_items_added
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - PlaylistListModelPrivate*::callAsync
    - static_cast<PlaylistListModelPrivate *>
    - std::move
    - vlc::playlist::toVec
    - PlaylistListModelPrivate*::onItemsAdded
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_added(vlc_playlist_t *playlist, size_t index,\n
      \                       vlc_playlist_item_t *const items[], size_t len,\n                        void
      *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistListModelPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:90,1
    - Dst: PlaylistListModelPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:91,1
    - Dst: PlaylistListModelPrivate*::onItemsMoved
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - playlist
    - index
    - count
    - target
    - userdata
    argTypes:
    - vlc_playlist_t*
    - size_t
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: vlc::playlist::on_playlist_items_moved
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - PlaylistListModelPrivate*::onItemsMoved
    - PlaylistListModelPrivate*::callAsync
    - static_cast<PlaylistListModelPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_moved(vlc_playlist_t *playlist, size_t index,
      size_t count,\n                        size_t target, void *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistListModelPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:102,1
    - Dst: PlaylistListModelPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:103,1
    - Dst: PlaylistListModelPrivate*::onItemsRemoved
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - playlist
    - index
    - count
    - userdata
    argTypes:
    - vlc_playlist_t*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 108
    functionName: vlc::playlist::on_playlist_items_removed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - PlaylistListModelPrivate*::onItemsRemoved
    - PlaylistListModelPrivate*::callAsync
    - static_cast<PlaylistListModelPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_removed(vlc_playlist_t *playlist, size_t index,
      size_t count,\n                          void *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistListModelPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:115,1
    - Dst: vlc::playlist::toVec
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:116,1
    - Dst: PlaylistListModelPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:117,1
    - Dst: QVector::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:120,1
    - Dst: PlaylistListModelPrivate*::notifyItemsChanged
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - playlist
    - index
    - items
    - len
    - userdata
    argTypes:
    - vlc_playlist_t*
    - size_t
    - vlc_playlist_item_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 125
    functionName: vlc::playlist::on_playlist_items_updated
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - PlaylistListModelPrivate*::callAsync
    - static_cast<PlaylistListModelPrivate *>
    - PlaylistListModelPrivate*::notifyItemsChanged
    - QVector::size
    - vlc::playlist::toVec
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_updated(vlc_playlist_t *playlist, size_t index,\n
      \                         vlc_playlist_item_t *const items[], size_t len,\n
      \                         void *userdata)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistListModelPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:131,1
    - Dst: PlaylistListModelPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:132,1
    - Dst: PlaylistListModelPrivate*::notifyItemsChanged
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:138,1
    - Dst: PlaylistListModelPrivate*::notifyItemsChanged
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - playlist
    - index
    - userdata
    argTypes:
    - vlc_playlist_t*
    - ssize_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 143
    functionName: vlc::playlist::on_playlist_current_item_changed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - PlaylistListModelPrivate*::notifyItemsChanged
    - PlaylistListModelPrivate*::callAsync
    - static_cast<PlaylistListModelPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_current_item_changed(vlc_playlist_t *playlist, ssize_t
      index,\n                                 void *userdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - playlistListModel
    argTypes:
    - PlaylistListModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: vlc::playlist::PlaylistListModelPrivate::PlaylistListModelPrivate
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlaylistListModelPrivate::PlaylistListModelPrivate(PlaylistListModel*
      playlistListModel)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_RemoveListener
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: PlaylistListModelPrivate::~PlaylistListModelPrivate()
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_RemoveListener
    linkageType: ''
    returnType: void
    signature: void PlaylistListModelPrivate::~PlaylistListModelPrivate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:176,1
    - Dst: beginResetModel
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:177,1
    - Dst: endResetModel
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:179,1
    - Dst: VLCDuration
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:181,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:182,1
    - Dst: getDuration
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:186,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' newContent'
    argTypes:
    - QVector<PlaylistItem>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 191
    functionName: vlc::playlist::PlaylistListModelPrivate::onItemsReset
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - getDuration
    - size
    - Q_Q
    - beginResetModel
    - VLCDuration
    - endResetModel
    linkageType: ''
    returnType: void
    signature: void PlaylistListModelPrivate::onItemsReset(const QVector<PlaylistItem>&&
      newContent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:195,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:196,1
    - Dst: beginInsertRows
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:197,1
    - Dst: insert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:198,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:199,1
    - Dst: cbegin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:199,1
    - Dst: cend
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:199,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:199,1
    - Dst: endInsertRows
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:200,1
    - Dst: getDuration
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:204,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' added'
    - index
    argTypes:
    - QVector<PlaylistItem>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: vlc::playlist::PlaylistListModelPrivate::onItemsAdded
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - endInsertRows
    - getDuration
    - size
    - Q_Q
    - begin
    - insert
    - beginInsertRows
    - std::move
    - cend
    - cbegin
    linkageType: ''
    returnType: void
    signature: void PlaylistListModelPrivate::onItemsAdded(const QVector<PlaylistItem>&&
      added, size_t index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:212,1
    - Dst: beginMoveRows
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:220,1
    - Dst: std::rotate
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:222,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:222,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:223,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:224,1
    - Dst: std::rotate
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:226,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:226,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:227,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:228,1
    - Dst: endMoveRows
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - index
    - count
    - target
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 230
    functionName: vlc::playlist::PlaylistListModelPrivate::onItemsMoved
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - beginMoveRows
    - begin
    - Q_Q
    - endMoveRows
    - std::rotate
    linkageType: ''
    returnType: void
    signature: void PlaylistListModelPrivate::onItemsMoved(size_t index, size_t count,
      size_t target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:234,1
    - Dst: at
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:238,1
    - Dst: beginRemoveRows
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:241,1
    - Dst: remove
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:242,1
    - Dst: endRemoveRows
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:243,1
    - Dst: toVLCTick
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:246,1
    - Dst: valid
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:246,1
    - Dst: VLCDuration
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:248,1
    - Dst: getDuration
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:250,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - index
    - count
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 254
    functionName: vlc::playlist::PlaylistListModelPrivate::onItemsRemoved
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - getDuration
    - endRemoveRows
    - toVLCTick
    - size
    - Q_Q
    - remove
    - at
    - VLCDuration
    - beginRemoveRows
    - valid
    linkageType: ''
    returnType: void
    signature: void PlaylistListModelPrivate::onItemsRemoved(size_t index, size_t
      count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:260,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:261,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - idx
    - count
    - roles
    argTypes:
    - int
    - int
    - QVector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 264
    functionName: vlc::playlist::PlaylistListModelPrivate::notifyItemsChanged
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - Q_Q
    - index
    linkageType: ''
    returnType: void
    signature: void PlaylistListModelPrivate::notifyItemsChanged(int idx, int count,
      const QVector<int> &roles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistListModelPrivate::PlaylistListModelPrivate
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: vlc::playlist::PlaylistListModel::PlaylistListModel
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - PlaylistListModelPrivate::PlaylistListModelPrivate
    linkageType: ''
    returnType: void
    signature: void PlaylistListModel::PlaylistListModel(QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistListModelPrivate::PlaylistListModelPrivate
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:276,1
    - Dst: vlc::playlist::PlaylistListModel::setPlaylist
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:278,1
    - Dst: Playlist
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - raw_playlist
    - parent
    argTypes:
    - vlc_playlist_t*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 279
    functionName: vlc::playlist::PlaylistListModel::PlaylistListModel
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - PlaylistListModelPrivate::PlaylistListModelPrivate
    - Playlist
    - vlc::playlist::PlaylistListModel::setPlaylist
    linkageType: ''
    returnType: void
    signature: void PlaylistListModel::PlaylistListModel(vlc_playlist_t *raw_playlist,
      QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: PlaylistListModel::~PlaylistListModel()
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlaylistListModel::~PlaylistListModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:289,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:290,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:291,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:292,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:293,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:294,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:295,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:296,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 299
    functionName: vlc::playlist::PlaylistListModel::roleNames
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - QByteArrayLiteral
    linkageType: ''
    returnType: QHash<int, QByteArray>
    signature: QHash<int, QByteArray> PlaylistListModel::roleNames() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNUSED
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:304,1
    - Dst: m_items::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 309
    functionName: vlc::playlist::PlaylistListModel::rowCount
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - m_items::size
    - Q_UNUSED
    linkageType: ''
    returnType: int
    signature: int PlaylistListModel::rowCount(const QModelIndex &parent) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 316
    functionName: vlc::playlist::PlaylistListModel::getDuration
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VLCDuration
    signature: VLCDuration PlaylistListModel::getDuration() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 323
    functionName: vlc::playlist::PlaylistListModel::itemAt
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PlaylistItem
    signature: PlaylistItem PlaylistListModel::itemAt(int index) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:327,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:330,1
    - Dst: transform
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:333,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:333,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:333,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:333,1
    - Dst: raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:334,1
    - Dst: vlc_playlist_RequestRemove
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:339,1
    - Dst: QVector::constData
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:339,1
    - Dst: QVector::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:340,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' indexes'
    argTypes:
    - QVector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 344
    functionName: vlc::playlist::PlaylistListModel::removeItems
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_RequestRemove
    - transform
    - size
    - begin
    - raw
    - std::bad_alloc
    - std::back_inserter
    - QVector::constData
    - QVector::size
    - end
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistListModel::removeItems(const QVector<int>& indexes)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - sortedIndexesToMove
    - preTarget
    argTypes:
    - QVector<int>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 365
    functionName: vlc::playlist::getMovePostTarget
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getMovePostTarget(const QVector<int> &sortedIndexesToMove, int
      preTarget)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:371,1
    - Dst: QVector<int>::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:374,1
    - Dst: transform
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:377,1
    - Dst: QVector<int>::begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:377,1
    - Dst: QVector<int>::end
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:377,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:378,1
    - Dst: raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:380,1
    - Dst: getMovePostTarget
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:385,1
    - Dst: vlc_playlist_RequestMove
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:389,1
    - Dst: QVector::constData
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:389,1
    - Dst: QVector::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:390,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:393,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - sortedIndexes
    - target
    - isPreTarget
    argTypes:
    - QVector<int>
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 394
    functionName: vlc::playlist::PlaylistListModel::moveItems
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - transform
    - QVector<int>::size
    - raw
    - getMovePostTarget
    - std::bad_alloc
    - std::back_inserter
    - QVector<int>::begin
    - vlc_playlist_RequestMove
    - QVector<int>::end
    - QVector::constData
    - QVector::size
    - Q_D
    linkageType: ''
    returnType: void
    signature: "void PlaylistListModel::moveItems(const QVector<int> &sortedIndexes,
      int target,\n                             bool isPreTarget)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistListModel::moveItems
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sortedIndexes
    - preTarget
    argTypes:
    - QVector<int>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 400
    functionName: vlc::playlist::PlaylistListModel::moveItemsPre
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - vlc::playlist::PlaylistListModel::moveItems
    linkageType: ''
    returnType: void
    signature: void PlaylistListModel::moveItemsPre(const QVector<int> &sortedIndexes,
      int preTarget)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistListModel::moveItems
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sortedIndexes
    - postTarget
    argTypes:
    - QVector<int>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 407
    functionName: vlc::playlist::PlaylistListModel::moveItemsPost
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - vlc::playlist::PlaylistListModel::moveItems
    linkageType: ''
    returnType: void
    signature: "void PlaylistListModel::moveItemsPost(const QVector<int> &sortedIndexes,\n
      \                                int postTarget)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 413
    functionName: vlc::playlist::PlaylistListModel::getCurrentIndex
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int PlaylistListModel::getCurrentIndex() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: m_items::count
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:424,1
    - Dst: raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:427,1
    - Dst: vlc_playlist_item_GetMedia
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:432,1
    - Dst: QVariantList::append
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:437,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:437,1
    - Dst: SharedInputItem
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:437,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - ' indexes'
    argTypes:
    - QVector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 441
    functionName: vlc::playlist::PlaylistListModel::getItemsForIndexes
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - m_items::count
    - vlc_playlist_item_GetMedia
    - QVariantList::append
    - raw
    - SharedInputItem
    - fromValue
    linkageType: ''
    returnType: QVariantList
    signature: QVariantList PlaylistListModel::getItemsForIndexes(const QVector<int>
      & indexes) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Playlist
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 449
    functionName: vlc::playlist::PlaylistListModel::getPlaylist
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - Playlist
    linkageType: ''
    returnType: Playlist
    signature: Playlist PlaylistListModel::getPlaylist() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:453,1
    - Dst: vlc_playlist_RemoveListener
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:457,1
    - Dst: vlc_playlist_AddListener
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:465,1
    - Dst: Playlist
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:467,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - playlist
    argTypes:
    - vlc_playlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 468
    functionName: vlc::playlist::PlaylistListModel::setPlaylist
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 1
    functionsReached:
    - vlc_playlist_AddListener
    - vlc_playlist_RemoveListener
    - Playlist
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistListModel::setPlaylist(vlc_playlist_t* playlist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistListModel::setPlaylist
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' playlist'
    argTypes:
    - Playlist
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 473
    functionName: vlc::playlist::PlaylistListModel::setPlaylist
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 2
    functionsReached:
    - vlc::playlist::PlaylistListModel::setPlaylist
    linkageType: ''
    returnType: void
    signature: void PlaylistListModel::setPlaylist(const Playlist& playlist)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:482,1
    - Dst: m_items::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:483,1
    - Dst: QVariant::fromValue<QString>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:489,1
    - Dst: vlc::playlist::PlaylistListModel::data
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:489,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:490,1
    - Dst: vlc::playlist::PlaylistListModel::data
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:491,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:492,1
    - Dst: vlc::playlist::PlaylistListModel::data
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:493,1
    - Dst: getTitle
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:495,1
    - Dst: QVariant::fromValue<VLCDuration>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:499,1
    - Dst: vlc::playlist::PlaylistListModel::getDuration
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:499,1
    - Dst: getArtist
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:501,1
    - Dst: getAlbum
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:503,1
    - Dst: getArtwork
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:505,1
    - Dst: getUrl
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:507,1
    - Dst: preparsed
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:509,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - index
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 513
    functionName: vlc::playlist::PlaylistListModel::data
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 1
    functionsReached:
    - preparsed
    - QStringLiteral
    - m_items::size
    - getArtwork
    - QModelIndex::row
    - getAlbum
    - getTitle
    - QVariant::fromValue<VLCDuration>
    - getArtist
    - vlc::playlist::PlaylistListModel::data
    - getUrl
    - vlc::playlist::PlaylistListModel::getDuration
    - QVariant::fromValue<QString>
    linkageType: ''
    returnType: QVariant
    signature: QVariant PlaylistListModel::data(const QModelIndex &index, int role)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVector::push_back
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - items
    - len
    argTypes:
    - vlc_playlist_item_t*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: vlc::playlist::toVec
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 3
    functionsReached:
    - QVector::push_back
    linkageType: ''
    returnType: QVector<PlaylistItem>
    signature: "QVector<PlaylistItem> toVec(vlc_playlist_item_t *const items[],\n
      \                                  size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVector<WRAPPER>::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:48,1
    - Dst: QVector::reserve
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:49,1
    - Dst: QVector::push_back
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:51,1
    - Dst: raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - items
    argTypes:
    - QVector<WRAPPER>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: vlc::playlist::toRaw
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - QVector<WRAPPER>::size
    - QVector::push_back
    - raw
    - QVector::reserve
    linkageType: ''
    returnType: QVector<RAW>
    signature: QVector<RAW> toRaw(const QVector<WRAPPER> &items)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVector::push_back
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - items
    - len
    argTypes:
    - vlc_playlist_item_t*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: vlc::playlist::toVec
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 3
    functionsReached:
    - QVector::push_back
    linkageType: ''
    returnType: QVector<PlaylistItem>
    signature: "QVector<PlaylistItem> toVec(vlc_playlist_item_t *const items[],\n
      \                                  size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVector<WRAPPER>::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:48,1
    - Dst: QVector::reserve
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:49,1
    - Dst: QVector::push_back
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:51,1
    - Dst: raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - items
    argTypes:
    - QVector<WRAPPER>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: vlc::playlist::toRaw
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - QVector<WRAPPER>::size
    - QVector::push_back
    - raw
    - QVector::reserve
    linkageType: ''
    returnType: QVector<RAW>
    signature: QVector<RAW> toRaw(const QVector<WRAPPER> &items)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistListModelPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:63,1
    - Dst: vlc::playlist::toVec
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:64,1
    - Dst: PlaylistListModelPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:65,1
    - Dst: PlaylistListModelPrivate*::onItemsReset
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:68,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - playlist
    - items
    - len
    - userdata
    argTypes:
    - vlc_playlist_t*
    - vlc_playlist_item_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 70
    functionName: vlc::playlist::on_playlist_items_reset
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - PlaylistListModelPrivate*::callAsync
    - static_cast<PlaylistListModelPrivate *>
    - std::move
    - vlc::playlist::toVec
    - PlaylistListModelPrivate*::onItemsReset
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_reset(vlc_playlist_t *playlist,\n                        vlc_playlist_item_t
      *const items[],\n                        size_t len, void *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistListModelPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:77,1
    - Dst: vlc::playlist::toVec
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:78,1
    - Dst: PlaylistListModelPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:79,1
    - Dst: PlaylistListModelPrivate*::onItemsAdded
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:82,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - playlist
    - index
    - items
    - len
    - userdata
    argTypes:
    - vlc_playlist_t*
    - size_t
    - vlc_playlist_item_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: vlc::playlist::on_playlist_items_added
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - PlaylistListModelPrivate*::callAsync
    - static_cast<PlaylistListModelPrivate *>
    - std::move
    - vlc::playlist::toVec
    - PlaylistListModelPrivate*::onItemsAdded
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_added(vlc_playlist_t *playlist, size_t index,\n
      \                       vlc_playlist_item_t *const items[], size_t len,\n                        void
      *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistListModelPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:90,1
    - Dst: PlaylistListModelPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:91,1
    - Dst: PlaylistListModelPrivate*::onItemsMoved
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - playlist
    - index
    - count
    - target
    - userdata
    argTypes:
    - vlc_playlist_t*
    - size_t
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: vlc::playlist::on_playlist_items_moved
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - PlaylistListModelPrivate*::onItemsMoved
    - PlaylistListModelPrivate*::callAsync
    - static_cast<PlaylistListModelPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_moved(vlc_playlist_t *playlist, size_t index,
      size_t count,\n                        size_t target, void *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistListModelPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:102,1
    - Dst: PlaylistListModelPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:103,1
    - Dst: PlaylistListModelPrivate*::onItemsRemoved
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - playlist
    - index
    - count
    - userdata
    argTypes:
    - vlc_playlist_t*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 108
    functionName: vlc::playlist::on_playlist_items_removed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - PlaylistListModelPrivate*::onItemsRemoved
    - PlaylistListModelPrivate*::callAsync
    - static_cast<PlaylistListModelPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_removed(vlc_playlist_t *playlist, size_t index,
      size_t count,\n                          void *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistListModelPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:115,1
    - Dst: vlc::playlist::toVec
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:116,1
    - Dst: PlaylistListModelPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:117,1
    - Dst: QVector::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:120,1
    - Dst: PlaylistListModelPrivate*::notifyItemsChanged
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - playlist
    - index
    - items
    - len
    - userdata
    argTypes:
    - vlc_playlist_t*
    - size_t
    - vlc_playlist_item_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 125
    functionName: vlc::playlist::on_playlist_items_updated
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - PlaylistListModelPrivate*::callAsync
    - static_cast<PlaylistListModelPrivate *>
    - PlaylistListModelPrivate*::notifyItemsChanged
    - QVector::size
    - vlc::playlist::toVec
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_updated(vlc_playlist_t *playlist, size_t index,\n
      \                         vlc_playlist_item_t *const items[], size_t len,\n
      \                         void *userdata)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistListModelPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:131,1
    - Dst: PlaylistListModelPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:132,1
    - Dst: PlaylistListModelPrivate*::notifyItemsChanged
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:138,1
    - Dst: PlaylistListModelPrivate*::notifyItemsChanged
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - playlist
    - index
    - userdata
    argTypes:
    - vlc_playlist_t*
    - ssize_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 143
    functionName: vlc::playlist::on_playlist_current_item_changed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - PlaylistListModelPrivate*::notifyItemsChanged
    - PlaylistListModelPrivate*::callAsync
    - static_cast<PlaylistListModelPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_current_item_changed(vlc_playlist_t *playlist, ssize_t
      index,\n                                 void *userdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - playlistListModel
    argTypes:
    - PlaylistListModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: vlc::playlist::PlaylistListModelPrivate::PlaylistListModelPrivate
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlaylistListModelPrivate::PlaylistListModelPrivate(PlaylistListModel*
      playlistListModel)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_RemoveListener
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: PlaylistListModelPrivate::~PlaylistListModelPrivate()
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_RemoveListener
    linkageType: ''
    returnType: void
    signature: void PlaylistListModelPrivate::~PlaylistListModelPrivate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:176,1
    - Dst: beginResetModel
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:177,1
    - Dst: endResetModel
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:179,1
    - Dst: VLCDuration
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:181,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:182,1
    - Dst: getDuration
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:186,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' newContent'
    argTypes:
    - QVector<PlaylistItem>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 191
    functionName: vlc::playlist::PlaylistListModelPrivate::onItemsReset
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - getDuration
    - size
    - Q_Q
    - beginResetModel
    - VLCDuration
    - endResetModel
    linkageType: ''
    returnType: void
    signature: void PlaylistListModelPrivate::onItemsReset(const QVector<PlaylistItem>&&
      newContent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:195,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:196,1
    - Dst: beginInsertRows
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:197,1
    - Dst: insert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:198,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:199,1
    - Dst: cbegin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:199,1
    - Dst: cend
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:199,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:199,1
    - Dst: endInsertRows
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:200,1
    - Dst: getDuration
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:204,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' added'
    - index
    argTypes:
    - QVector<PlaylistItem>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: vlc::playlist::PlaylistListModelPrivate::onItemsAdded
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - endInsertRows
    - getDuration
    - size
    - Q_Q
    - begin
    - insert
    - beginInsertRows
    - std::move
    - cend
    - cbegin
    linkageType: ''
    returnType: void
    signature: void PlaylistListModelPrivate::onItemsAdded(const QVector<PlaylistItem>&&
      added, size_t index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:212,1
    - Dst: beginMoveRows
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:220,1
    - Dst: std::rotate
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:222,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:222,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:223,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:224,1
    - Dst: std::rotate
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:226,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:226,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:227,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:228,1
    - Dst: endMoveRows
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - index
    - count
    - target
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 230
    functionName: vlc::playlist::PlaylistListModelPrivate::onItemsMoved
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - beginMoveRows
    - begin
    - Q_Q
    - endMoveRows
    - std::rotate
    linkageType: ''
    returnType: void
    signature: void PlaylistListModelPrivate::onItemsMoved(size_t index, size_t count,
      size_t target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:234,1
    - Dst: at
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:238,1
    - Dst: beginRemoveRows
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:241,1
    - Dst: remove
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:242,1
    - Dst: endRemoveRows
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:243,1
    - Dst: toVLCTick
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:246,1
    - Dst: valid
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:246,1
    - Dst: VLCDuration
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:248,1
    - Dst: getDuration
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:250,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - index
    - count
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 254
    functionName: vlc::playlist::PlaylistListModelPrivate::onItemsRemoved
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - getDuration
    - endRemoveRows
    - toVLCTick
    - size
    - Q_Q
    - remove
    - at
    - VLCDuration
    - beginRemoveRows
    - valid
    linkageType: ''
    returnType: void
    signature: void PlaylistListModelPrivate::onItemsRemoved(size_t index, size_t
      count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:260,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:261,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - idx
    - count
    - roles
    argTypes:
    - int
    - int
    - QVector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 264
    functionName: vlc::playlist::PlaylistListModelPrivate::notifyItemsChanged
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - Q_Q
    - index
    linkageType: ''
    returnType: void
    signature: void PlaylistListModelPrivate::notifyItemsChanged(int idx, int count,
      const QVector<int> &roles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistListModelPrivate::PlaylistListModelPrivate
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: vlc::playlist::PlaylistListModel::PlaylistListModel
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - PlaylistListModelPrivate::PlaylistListModelPrivate
    linkageType: ''
    returnType: void
    signature: void PlaylistListModel::PlaylistListModel(QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistListModelPrivate::PlaylistListModelPrivate
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:276,1
    - Dst: vlc::playlist::PlaylistListModel::setPlaylist
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:278,1
    - Dst: Playlist
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - raw_playlist
    - parent
    argTypes:
    - vlc_playlist_t*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 279
    functionName: vlc::playlist::PlaylistListModel::PlaylistListModel
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - PlaylistListModelPrivate::PlaylistListModelPrivate
    - Playlist
    - vlc::playlist::PlaylistListModel::setPlaylist
    linkageType: ''
    returnType: void
    signature: void PlaylistListModel::PlaylistListModel(vlc_playlist_t *raw_playlist,
      QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: PlaylistListModel::~PlaylistListModel()
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlaylistListModel::~PlaylistListModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:289,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:290,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:291,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:292,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:293,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:294,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:295,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:296,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 299
    functionName: vlc::playlist::PlaylistListModel::roleNames
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - QByteArrayLiteral
    linkageType: ''
    returnType: QHash<int, QByteArray>
    signature: QHash<int, QByteArray> PlaylistListModel::roleNames() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNUSED
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:304,1
    - Dst: m_items::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 309
    functionName: vlc::playlist::PlaylistListModel::rowCount
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - m_items::size
    - Q_UNUSED
    linkageType: ''
    returnType: int
    signature: int PlaylistListModel::rowCount(const QModelIndex &parent) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 316
    functionName: vlc::playlist::PlaylistListModel::getDuration
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: VLCDuration
    signature: VLCDuration PlaylistListModel::getDuration() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 323
    functionName: vlc::playlist::PlaylistListModel::itemAt
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PlaylistItem
    signature: PlaylistItem PlaylistListModel::itemAt(int index) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:327,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:330,1
    - Dst: transform
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:333,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:333,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:333,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:333,1
    - Dst: raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:334,1
    - Dst: vlc_playlist_RequestRemove
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:339,1
    - Dst: QVector::constData
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:339,1
    - Dst: QVector::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:340,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' indexes'
    argTypes:
    - QVector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 344
    functionName: vlc::playlist::PlaylistListModel::removeItems
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_RequestRemove
    - transform
    - size
    - begin
    - raw
    - std::bad_alloc
    - std::back_inserter
    - QVector::constData
    - QVector::size
    - end
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistListModel::removeItems(const QVector<int>& indexes)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - sortedIndexesToMove
    - preTarget
    argTypes:
    - QVector<int>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 365
    functionName: vlc::playlist::getMovePostTarget
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getMovePostTarget(const QVector<int> &sortedIndexesToMove, int
      preTarget)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:371,1
    - Dst: QVector<int>::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:374,1
    - Dst: transform
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:377,1
    - Dst: QVector<int>::begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:377,1
    - Dst: QVector<int>::end
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:377,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:378,1
    - Dst: raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:380,1
    - Dst: getMovePostTarget
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:385,1
    - Dst: vlc_playlist_RequestMove
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:389,1
    - Dst: QVector::constData
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:389,1
    - Dst: QVector::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:390,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:393,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - sortedIndexes
    - target
    - isPreTarget
    argTypes:
    - QVector<int>
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 394
    functionName: vlc::playlist::PlaylistListModel::moveItems
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 2
    functionsReached:
    - transform
    - QVector<int>::size
    - raw
    - getMovePostTarget
    - std::bad_alloc
    - std::back_inserter
    - QVector<int>::begin
    - vlc_playlist_RequestMove
    - QVector<int>::end
    - QVector::constData
    - QVector::size
    - Q_D
    linkageType: ''
    returnType: void
    signature: "void PlaylistListModel::moveItems(const QVector<int> &sortedIndexes,
      int target,\n                             bool isPreTarget)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistListModel::moveItems
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sortedIndexes
    - preTarget
    argTypes:
    - QVector<int>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 400
    functionName: vlc::playlist::PlaylistListModel::moveItemsPre
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - vlc::playlist::PlaylistListModel::moveItems
    linkageType: ''
    returnType: void
    signature: void PlaylistListModel::moveItemsPre(const QVector<int> &sortedIndexes,
      int preTarget)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistListModel::moveItems
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sortedIndexes
    - postTarget
    argTypes:
    - QVector<int>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 407
    functionName: vlc::playlist::PlaylistListModel::moveItemsPost
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - vlc::playlist::PlaylistListModel::moveItems
    linkageType: ''
    returnType: void
    signature: "void PlaylistListModel::moveItemsPost(const QVector<int> &sortedIndexes,\n
      \                                int postTarget)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 413
    functionName: vlc::playlist::PlaylistListModel::getCurrentIndex
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int PlaylistListModel::getCurrentIndex() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: m_items::count
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:424,1
    - Dst: raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:427,1
    - Dst: vlc_playlist_item_GetMedia
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:432,1
    - Dst: QVariantList::append
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:437,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:437,1
    - Dst: SharedInputItem
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:437,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - ' indexes'
    argTypes:
    - QVector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 441
    functionName: vlc::playlist::PlaylistListModel::getItemsForIndexes
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - m_items::count
    - vlc_playlist_item_GetMedia
    - QVariantList::append
    - raw
    - SharedInputItem
    - fromValue
    linkageType: ''
    returnType: QVariantList
    signature: QVariantList PlaylistListModel::getItemsForIndexes(const QVector<int>
      & indexes) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Playlist
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 449
    functionName: vlc::playlist::PlaylistListModel::getPlaylist
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - Playlist
    linkageType: ''
    returnType: Playlist
    signature: Playlist PlaylistListModel::getPlaylist() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:453,1
    - Dst: vlc_playlist_RemoveListener
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:457,1
    - Dst: vlc_playlist_AddListener
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:465,1
    - Dst: Playlist
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:467,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - playlist
    argTypes:
    - vlc_playlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 468
    functionName: vlc::playlist::PlaylistListModel::setPlaylist
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 3
    functionsReached:
    - vlc_playlist_AddListener
    - vlc_playlist_RemoveListener
    - Playlist
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistListModel::setPlaylist(vlc_playlist_t* playlist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistListModel::setPlaylist
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' playlist'
    argTypes:
    - Playlist
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 473
    functionName: vlc::playlist::PlaylistListModel::setPlaylist
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 4
    functionsReached:
    - vlc::playlist::PlaylistListModel::setPlaylist
    linkageType: ''
    returnType: void
    signature: void PlaylistListModel::setPlaylist(const Playlist& playlist)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:482,1
    - Dst: m_items::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:483,1
    - Dst: QVariant::fromValue<QString>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:489,1
    - Dst: vlc::playlist::PlaylistListModel::data
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:489,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:490,1
    - Dst: vlc::playlist::PlaylistListModel::data
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:491,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:492,1
    - Dst: vlc::playlist::PlaylistListModel::data
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:493,1
    - Dst: getTitle
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:495,1
    - Dst: QVariant::fromValue<VLCDuration>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:499,1
    - Dst: vlc::playlist::PlaylistListModel::getDuration
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:499,1
    - Dst: getArtist
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:501,1
    - Dst: getAlbum
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:503,1
    - Dst: getArtwork
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:505,1
    - Dst: getUrl
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:507,1
    - Dst: preparsed
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:509,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - index
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 513
    functionName: vlc::playlist::PlaylistListModel::data
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 2
    functionsReached:
    - preparsed
    - QStringLiteral
    - m_items::size
    - getArtwork
    - QModelIndex::row
    - getAlbum
    - getTitle
    - QVariant::fromValue<VLCDuration>
    - getArtist
    - vlc::playlist::PlaylistListModel::data
    - getUrl
    - vlc::playlist::PlaylistListModel::getDuration
    - QVariant::fromValue<QString>
    linkageType: ''
    returnType: QVariant
    signature: QVariant PlaylistListModel::data(const QModelIndex &index, int role)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVector::push_back
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - items
    - len
    argTypes:
    - vlc_playlist_item_t*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: vlc::playlist::toVec
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 6
    functionsReached:
    - QVector::push_back
    linkageType: ''
    returnType: QVector<PlaylistItem>
    signature: "QVector<PlaylistItem> toVec(vlc_playlist_item_t *const items[],\n
      \                                  size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVector<WRAPPER>::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:48,1
    - Dst: QVector::reserve
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:49,1
    - Dst: QVector::push_back
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:51,1
    - Dst: raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - items
    argTypes:
    - QVector<WRAPPER>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: vlc::playlist::toRaw
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - QVector<WRAPPER>::size
    - QVector::push_back
    - raw
    - QVector::reserve
    linkageType: ''
    returnType: QVector<RAW>
    signature: QVector<RAW> toRaw(const QVector<WRAPPER> &items)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVector::push_back
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - items
    - len
    argTypes:
    - vlc_playlist_item_t*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: vlc::playlist::toVec
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 6
    functionsReached:
    - QVector::push_back
    linkageType: ''
    returnType: QVector<PlaylistItem>
    signature: "QVector<PlaylistItem> toVec(vlc_playlist_item_t *const items[],\n
      \                                  size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVector<WRAPPER>::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:48,1
    - Dst: QVector::reserve
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:49,1
    - Dst: QVector::push_back
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:51,1
    - Dst: raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - items
    argTypes:
    - QVector<WRAPPER>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: vlc::playlist::toRaw
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - QVector<WRAPPER>::size
    - QVector::push_back
    - raw
    - QVector::reserve
    linkageType: ''
    returnType: QVector<RAW>
    signature: QVector<RAW> toRaw(const QVector<WRAPPER> &items)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistListModelPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:63,1
    - Dst: vlc::playlist::toVec
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:64,1
    - Dst: PlaylistListModelPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:65,1
    - Dst: PlaylistListModelPrivate*::onItemsReset
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:68,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - playlist
    - items
    - len
    - userdata
    argTypes:
    - vlc_playlist_t*
    - vlc_playlist_item_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 70
    functionName: vlc::playlist::on_playlist_items_reset
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - PlaylistListModelPrivate*::callAsync
    - static_cast<PlaylistListModelPrivate *>
    - std::move
    - vlc::playlist::toVec
    - PlaylistListModelPrivate*::onItemsReset
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_reset(vlc_playlist_t *playlist,\n                        vlc_playlist_item_t
      *const items[],\n                        size_t len, void *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistListModelPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:77,1
    - Dst: vlc::playlist::toVec
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:78,1
    - Dst: PlaylistListModelPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:79,1
    - Dst: PlaylistListModelPrivate*::onItemsAdded
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:82,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - playlist
    - index
    - items
    - len
    - userdata
    argTypes:
    - vlc_playlist_t*
    - size_t
    - vlc_playlist_item_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: vlc::playlist::on_playlist_items_added
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - PlaylistListModelPrivate*::callAsync
    - static_cast<PlaylistListModelPrivate *>
    - std::move
    - vlc::playlist::toVec
    - PlaylistListModelPrivate*::onItemsAdded
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_added(vlc_playlist_t *playlist, size_t index,\n
      \                       vlc_playlist_item_t *const items[], size_t len,\n                        void
      *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistListModelPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:90,1
    - Dst: PlaylistListModelPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:91,1
    - Dst: PlaylistListModelPrivate*::onItemsMoved
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - playlist
    - index
    - count
    - target
    - userdata
    argTypes:
    - vlc_playlist_t*
    - size_t
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: vlc::playlist::on_playlist_items_moved
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - PlaylistListModelPrivate*::onItemsMoved
    - PlaylistListModelPrivate*::callAsync
    - static_cast<PlaylistListModelPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_moved(vlc_playlist_t *playlist, size_t index,
      size_t count,\n                        size_t target, void *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistListModelPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:102,1
    - Dst: PlaylistListModelPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:103,1
    - Dst: PlaylistListModelPrivate*::onItemsRemoved
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - playlist
    - index
    - count
    - userdata
    argTypes:
    - vlc_playlist_t*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 108
    functionName: vlc::playlist::on_playlist_items_removed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - PlaylistListModelPrivate*::onItemsRemoved
    - PlaylistListModelPrivate*::callAsync
    - static_cast<PlaylistListModelPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_removed(vlc_playlist_t *playlist, size_t index,
      size_t count,\n                          void *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistListModelPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:115,1
    - Dst: vlc::playlist::toVec
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:116,1
    - Dst: PlaylistListModelPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:117,1
    - Dst: QVector::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:120,1
    - Dst: PlaylistListModelPrivate*::notifyItemsChanged
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - playlist
    - index
    - items
    - len
    - userdata
    argTypes:
    - vlc_playlist_t*
    - size_t
    - vlc_playlist_item_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 125
    functionName: vlc::playlist::on_playlist_items_updated
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - PlaylistListModelPrivate*::callAsync
    - static_cast<PlaylistListModelPrivate *>
    - PlaylistListModelPrivate*::notifyItemsChanged
    - QVector::size
    - vlc::playlist::toVec
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_updated(vlc_playlist_t *playlist, size_t index,\n
      \                         vlc_playlist_item_t *const items[], size_t len,\n
      \                         void *userdata)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistListModelPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:131,1
    - Dst: PlaylistListModelPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:132,1
    - Dst: PlaylistListModelPrivate*::notifyItemsChanged
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:138,1
    - Dst: PlaylistListModelPrivate*::notifyItemsChanged
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - playlist
    - index
    - userdata
    argTypes:
    - vlc_playlist_t*
    - ssize_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 143
    functionName: vlc::playlist::on_playlist_current_item_changed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - PlaylistListModelPrivate*::notifyItemsChanged
    - PlaylistListModelPrivate*::callAsync
    - static_cast<PlaylistListModelPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_current_item_changed(vlc_playlist_t *playlist, ssize_t
      index,\n                                 void *userdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - playlistListModel
    argTypes:
    - PlaylistListModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: vlc::playlist::PlaylistListModelPrivate::PlaylistListModelPrivate
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlaylistListModelPrivate::PlaylistListModelPrivate(PlaylistListModel*
      playlistListModel)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_RemoveListener
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: PlaylistListModelPrivate::~PlaylistListModelPrivate()
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_RemoveListener
    linkageType: ''
    returnType: void
    signature: void PlaylistListModelPrivate::~PlaylistListModelPrivate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:176,1
    - Dst: beginResetModel
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:177,1
    - Dst: endResetModel
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:179,1
    - Dst: VLCDuration
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:181,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:182,1
    - Dst: getDuration
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:186,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' newContent'
    argTypes:
    - QVector<PlaylistItem>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 191
    functionName: vlc::playlist::PlaylistListModelPrivate::onItemsReset
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - getDuration
    - size
    - Q_Q
    - beginResetModel
    - VLCDuration
    - endResetModel
    linkageType: ''
    returnType: void
    signature: void PlaylistListModelPrivate::onItemsReset(const QVector<PlaylistItem>&&
      newContent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:195,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:196,1
    - Dst: beginInsertRows
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:197,1
    - Dst: insert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:198,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:199,1
    - Dst: cbegin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:199,1
    - Dst: cend
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:199,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:199,1
    - Dst: endInsertRows
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:200,1
    - Dst: getDuration
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:204,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' added'
    - index
    argTypes:
    - QVector<PlaylistItem>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: vlc::playlist::PlaylistListModelPrivate::onItemsAdded
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - endInsertRows
    - getDuration
    - size
    - Q_Q
    - begin
    - insert
    - beginInsertRows
    - std::move
    - cend
    - cbegin
    linkageType: ''
    returnType: void
    signature: void PlaylistListModelPrivate::onItemsAdded(const QVector<PlaylistItem>&&
      added, size_t index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:212,1
    - Dst: beginMoveRows
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:220,1
    - Dst: std::rotate
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:222,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:222,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:223,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:224,1
    - Dst: std::rotate
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:226,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:226,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:227,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:228,1
    - Dst: endMoveRows
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - index
    - count
    - target
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 230
    functionName: vlc::playlist::PlaylistListModelPrivate::onItemsMoved
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - beginMoveRows
    - begin
    - Q_Q
    - endMoveRows
    - std::rotate
    linkageType: ''
    returnType: void
    signature: void PlaylistListModelPrivate::onItemsMoved(size_t index, size_t count,
      size_t target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:234,1
    - Dst: at
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:238,1
    - Dst: beginRemoveRows
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:241,1
    - Dst: remove
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:242,1
    - Dst: endRemoveRows
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:243,1
    - Dst: toVLCTick
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:246,1
    - Dst: valid
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:246,1
    - Dst: VLCDuration
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:248,1
    - Dst: getDuration
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:250,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - index
    - count
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 254
    functionName: vlc::playlist::PlaylistListModelPrivate::onItemsRemoved
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - getDuration
    - endRemoveRows
    - toVLCTick
    - size
    - Q_Q
    - remove
    - at
    - VLCDuration
    - beginRemoveRows
    - valid
    linkageType: ''
    returnType: void
    signature: void PlaylistListModelPrivate::onItemsRemoved(size_t index, size_t
      count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:260,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:261,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - idx
    - count
    - roles
    argTypes:
    - int
    - int
    - QVector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 264
    functionName: vlc::playlist::PlaylistListModelPrivate::notifyItemsChanged
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - Q_Q
    - index
    linkageType: ''
    returnType: void
    signature: void PlaylistListModelPrivate::notifyItemsChanged(int idx, int count,
      const QVector<int> &roles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistListModelPrivate::PlaylistListModelPrivate
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: vlc::playlist::PlaylistListModel::PlaylistListModel
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - PlaylistListModelPrivate::PlaylistListModelPrivate
    linkageType: ''
    returnType: void
    signature: void PlaylistListModel::PlaylistListModel(QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistListModelPrivate::PlaylistListModelPrivate
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:276,1
    - Dst: vlc::playlist::PlaylistListModel::setPlaylist
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:278,1
    - Dst: Playlist
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - raw_playlist
    - parent
    argTypes:
    - vlc_playlist_t*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 279
    functionName: vlc::playlist::PlaylistListModel::PlaylistListModel
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - PlaylistListModelPrivate::PlaylistListModelPrivate
    - Playlist
    - vlc::playlist::PlaylistListModel::setPlaylist
    linkageType: ''
    returnType: void
    signature: void PlaylistListModel::PlaylistListModel(vlc_playlist_t *raw_playlist,
      QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: PlaylistListModel::~PlaylistListModel()
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlaylistListModel::~PlaylistListModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:289,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:290,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:291,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:292,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:293,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:294,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:295,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:296,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 299
    functionName: vlc::playlist::PlaylistListModel::roleNames
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - QByteArrayLiteral
    linkageType: ''
    returnType: QHash<int, QByteArray>
    signature: QHash<int, QByteArray> PlaylistListModel::roleNames() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNUSED
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:304,1
    - Dst: m_items::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 309
    functionName: vlc::playlist::PlaylistListModel::rowCount
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - m_items::size
    - Q_UNUSED
    linkageType: ''
    returnType: int
    signature: int PlaylistListModel::rowCount(const QModelIndex &parent) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 316
    functionName: vlc::playlist::PlaylistListModel::getDuration
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: VLCDuration
    signature: VLCDuration PlaylistListModel::getDuration() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 323
    functionName: vlc::playlist::PlaylistListModel::itemAt
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PlaylistItem
    signature: PlaylistItem PlaylistListModel::itemAt(int index) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:327,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:330,1
    - Dst: transform
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:333,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:333,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:333,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:333,1
    - Dst: raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:334,1
    - Dst: vlc_playlist_RequestRemove
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:339,1
    - Dst: QVector::constData
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:339,1
    - Dst: QVector::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:340,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' indexes'
    argTypes:
    - QVector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 344
    functionName: vlc::playlist::PlaylistListModel::removeItems
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_RequestRemove
    - transform
    - size
    - begin
    - raw
    - std::bad_alloc
    - std::back_inserter
    - QVector::constData
    - QVector::size
    - end
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistListModel::removeItems(const QVector<int>& indexes)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - sortedIndexesToMove
    - preTarget
    argTypes:
    - QVector<int>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 365
    functionName: vlc::playlist::getMovePostTarget
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getMovePostTarget(const QVector<int> &sortedIndexesToMove, int
      preTarget)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:371,1
    - Dst: QVector<int>::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:374,1
    - Dst: transform
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:377,1
    - Dst: QVector<int>::begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:377,1
    - Dst: QVector<int>::end
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:377,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:378,1
    - Dst: raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:380,1
    - Dst: getMovePostTarget
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:385,1
    - Dst: vlc_playlist_RequestMove
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:389,1
    - Dst: QVector::constData
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:389,1
    - Dst: QVector::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:390,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:393,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - sortedIndexes
    - target
    - isPreTarget
    argTypes:
    - QVector<int>
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 394
    functionName: vlc::playlist::PlaylistListModel::moveItems
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 4
    functionsReached:
    - transform
    - QVector<int>::size
    - raw
    - getMovePostTarget
    - std::bad_alloc
    - std::back_inserter
    - QVector<int>::begin
    - vlc_playlist_RequestMove
    - QVector<int>::end
    - QVector::constData
    - QVector::size
    - Q_D
    linkageType: ''
    returnType: void
    signature: "void PlaylistListModel::moveItems(const QVector<int> &sortedIndexes,
      int target,\n                             bool isPreTarget)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistListModel::moveItems
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sortedIndexes
    - preTarget
    argTypes:
    - QVector<int>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 400
    functionName: vlc::playlist::PlaylistListModel::moveItemsPre
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - vlc::playlist::PlaylistListModel::moveItems
    linkageType: ''
    returnType: void
    signature: void PlaylistListModel::moveItemsPre(const QVector<int> &sortedIndexes,
      int preTarget)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistListModel::moveItems
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sortedIndexes
    - postTarget
    argTypes:
    - QVector<int>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 407
    functionName: vlc::playlist::PlaylistListModel::moveItemsPost
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - vlc::playlist::PlaylistListModel::moveItems
    linkageType: ''
    returnType: void
    signature: "void PlaylistListModel::moveItemsPost(const QVector<int> &sortedIndexes,\n
      \                                int postTarget)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 413
    functionName: vlc::playlist::PlaylistListModel::getCurrentIndex
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int PlaylistListModel::getCurrentIndex() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: m_items::count
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:424,1
    - Dst: raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:427,1
    - Dst: vlc_playlist_item_GetMedia
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:432,1
    - Dst: QVariantList::append
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:437,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:437,1
    - Dst: SharedInputItem
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:437,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - ' indexes'
    argTypes:
    - QVector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 441
    functionName: vlc::playlist::PlaylistListModel::getItemsForIndexes
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - m_items::count
    - vlc_playlist_item_GetMedia
    - QVariantList::append
    - raw
    - SharedInputItem
    - fromValue
    linkageType: ''
    returnType: QVariantList
    signature: QVariantList PlaylistListModel::getItemsForIndexes(const QVector<int>
      & indexes) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Playlist
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 449
    functionName: vlc::playlist::PlaylistListModel::getPlaylist
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - Playlist
    linkageType: ''
    returnType: Playlist
    signature: Playlist PlaylistListModel::getPlaylist() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:453,1
    - Dst: vlc_playlist_RemoveListener
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:457,1
    - Dst: vlc_playlist_AddListener
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:465,1
    - Dst: Playlist
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:467,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - playlist
    argTypes:
    - vlc_playlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 468
    functionName: vlc::playlist::PlaylistListModel::setPlaylist
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 5
    functionsReached:
    - vlc_playlist_AddListener
    - vlc_playlist_RemoveListener
    - Playlist
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistListModel::setPlaylist(vlc_playlist_t* playlist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistListModel::setPlaylist
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' playlist'
    argTypes:
    - Playlist
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 473
    functionName: vlc::playlist::PlaylistListModel::setPlaylist
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 6
    functionsReached:
    - vlc::playlist::PlaylistListModel::setPlaylist
    linkageType: ''
    returnType: void
    signature: void PlaylistListModel::setPlaylist(const Playlist& playlist)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:482,1
    - Dst: m_items::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:483,1
    - Dst: QVariant::fromValue<QString>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:489,1
    - Dst: vlc::playlist::PlaylistListModel::data
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:489,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:490,1
    - Dst: vlc::playlist::PlaylistListModel::data
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:491,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:492,1
    - Dst: vlc::playlist::PlaylistListModel::data
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:493,1
    - Dst: getTitle
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:495,1
    - Dst: QVariant::fromValue<VLCDuration>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:499,1
    - Dst: vlc::playlist::PlaylistListModel::getDuration
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:499,1
    - Dst: getArtist
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:501,1
    - Dst: getAlbum
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:503,1
    - Dst: getArtwork
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:505,1
    - Dst: getUrl
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:507,1
    - Dst: preparsed
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:509,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - index
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 513
    functionName: vlc::playlist::PlaylistListModel::data
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 3
    functionsReached:
    - preparsed
    - QStringLiteral
    - m_items::size
    - getArtwork
    - QModelIndex::row
    - getAlbum
    - getTitle
    - QVariant::fromValue<VLCDuration>
    - getArtist
    - vlc::playlist::PlaylistListModel::data
    - getUrl
    - vlc::playlist::PlaylistListModel::getDuration
    - QVariant::fromValue<QString>
    linkageType: ''
    returnType: QVariant
    signature: QVariant PlaylistListModel::data(const QModelIndex &index, int role)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVector::push_back
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - items
    - len
    argTypes:
    - vlc_playlist_item_t*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: vlc::playlist::toVec
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 9
    functionsReached:
    - QVector::push_back
    linkageType: ''
    returnType: QVector<PlaylistItem>
    signature: "QVector<PlaylistItem> toVec(vlc_playlist_item_t *const items[],\n
      \                                  size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVector<WRAPPER>::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:48,1
    - Dst: QVector::reserve
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:49,1
    - Dst: QVector::push_back
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:51,1
    - Dst: raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - items
    argTypes:
    - QVector<WRAPPER>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: vlc::playlist::toRaw
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - QVector<WRAPPER>::size
    - QVector::push_back
    - raw
    - QVector::reserve
    linkageType: ''
    returnType: QVector<RAW>
    signature: QVector<RAW> toRaw(const QVector<WRAPPER> &items)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVector::push_back
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - items
    - len
    argTypes:
    - vlc_playlist_item_t*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: vlc::playlist::toVec
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 9
    functionsReached:
    - QVector::push_back
    linkageType: ''
    returnType: QVector<PlaylistItem>
    signature: "QVector<PlaylistItem> toVec(vlc_playlist_item_t *const items[],\n
      \                                  size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVector<WRAPPER>::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:48,1
    - Dst: QVector::reserve
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:49,1
    - Dst: QVector::push_back
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:51,1
    - Dst: raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - items
    argTypes:
    - QVector<WRAPPER>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: vlc::playlist::toRaw
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - QVector<WRAPPER>::size
    - QVector::push_back
    - raw
    - QVector::reserve
    linkageType: ''
    returnType: QVector<RAW>
    signature: QVector<RAW> toRaw(const QVector<WRAPPER> &items)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistListModelPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:63,1
    - Dst: vlc::playlist::toVec
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:64,1
    - Dst: PlaylistListModelPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:65,1
    - Dst: PlaylistListModelPrivate*::onItemsReset
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:68,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - playlist
    - items
    - len
    - userdata
    argTypes:
    - vlc_playlist_t*
    - vlc_playlist_item_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 70
    functionName: vlc::playlist::on_playlist_items_reset
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - PlaylistListModelPrivate*::callAsync
    - static_cast<PlaylistListModelPrivate *>
    - std::move
    - vlc::playlist::toVec
    - PlaylistListModelPrivate*::onItemsReset
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_reset(vlc_playlist_t *playlist,\n                        vlc_playlist_item_t
      *const items[],\n                        size_t len, void *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistListModelPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:77,1
    - Dst: vlc::playlist::toVec
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:78,1
    - Dst: PlaylistListModelPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:79,1
    - Dst: PlaylistListModelPrivate*::onItemsAdded
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:82,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - playlist
    - index
    - items
    - len
    - userdata
    argTypes:
    - vlc_playlist_t*
    - size_t
    - vlc_playlist_item_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: vlc::playlist::on_playlist_items_added
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - PlaylistListModelPrivate*::callAsync
    - static_cast<PlaylistListModelPrivate *>
    - std::move
    - vlc::playlist::toVec
    - PlaylistListModelPrivate*::onItemsAdded
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_added(vlc_playlist_t *playlist, size_t index,\n
      \                       vlc_playlist_item_t *const items[], size_t len,\n                        void
      *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistListModelPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:90,1
    - Dst: PlaylistListModelPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:91,1
    - Dst: PlaylistListModelPrivate*::onItemsMoved
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - playlist
    - index
    - count
    - target
    - userdata
    argTypes:
    - vlc_playlist_t*
    - size_t
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: vlc::playlist::on_playlist_items_moved
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - PlaylistListModelPrivate*::onItemsMoved
    - PlaylistListModelPrivate*::callAsync
    - static_cast<PlaylistListModelPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_moved(vlc_playlist_t *playlist, size_t index,
      size_t count,\n                        size_t target, void *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistListModelPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:102,1
    - Dst: PlaylistListModelPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:103,1
    - Dst: PlaylistListModelPrivate*::onItemsRemoved
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - playlist
    - index
    - count
    - userdata
    argTypes:
    - vlc_playlist_t*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 108
    functionName: vlc::playlist::on_playlist_items_removed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - PlaylistListModelPrivate*::onItemsRemoved
    - PlaylistListModelPrivate*::callAsync
    - static_cast<PlaylistListModelPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_removed(vlc_playlist_t *playlist, size_t index,
      size_t count,\n                          void *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistListModelPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:115,1
    - Dst: vlc::playlist::toVec
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:116,1
    - Dst: PlaylistListModelPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:117,1
    - Dst: QVector::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:120,1
    - Dst: PlaylistListModelPrivate*::notifyItemsChanged
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - playlist
    - index
    - items
    - len
    - userdata
    argTypes:
    - vlc_playlist_t*
    - size_t
    - vlc_playlist_item_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 125
    functionName: vlc::playlist::on_playlist_items_updated
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - PlaylistListModelPrivate*::callAsync
    - static_cast<PlaylistListModelPrivate *>
    - PlaylistListModelPrivate*::notifyItemsChanged
    - QVector::size
    - vlc::playlist::toVec
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_updated(vlc_playlist_t *playlist, size_t index,\n
      \                         vlc_playlist_item_t *const items[], size_t len,\n
      \                         void *userdata)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistListModelPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:131,1
    - Dst: PlaylistListModelPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:132,1
    - Dst: PlaylistListModelPrivate*::notifyItemsChanged
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:138,1
    - Dst: PlaylistListModelPrivate*::notifyItemsChanged
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - playlist
    - index
    - userdata
    argTypes:
    - vlc_playlist_t*
    - ssize_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 143
    functionName: vlc::playlist::on_playlist_current_item_changed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - PlaylistListModelPrivate*::notifyItemsChanged
    - PlaylistListModelPrivate*::callAsync
    - static_cast<PlaylistListModelPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_current_item_changed(vlc_playlist_t *playlist, ssize_t
      index,\n                                 void *userdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - playlistListModel
    argTypes:
    - PlaylistListModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: vlc::playlist::PlaylistListModelPrivate::PlaylistListModelPrivate
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlaylistListModelPrivate::PlaylistListModelPrivate(PlaylistListModel*
      playlistListModel)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_RemoveListener
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: PlaylistListModelPrivate::~PlaylistListModelPrivate()
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_RemoveListener
    linkageType: ''
    returnType: void
    signature: void PlaylistListModelPrivate::~PlaylistListModelPrivate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:176,1
    - Dst: beginResetModel
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:177,1
    - Dst: endResetModel
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:179,1
    - Dst: VLCDuration
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:181,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:182,1
    - Dst: getDuration
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:186,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' newContent'
    argTypes:
    - QVector<PlaylistItem>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 191
    functionName: vlc::playlist::PlaylistListModelPrivate::onItemsReset
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - getDuration
    - size
    - Q_Q
    - beginResetModel
    - VLCDuration
    - endResetModel
    linkageType: ''
    returnType: void
    signature: void PlaylistListModelPrivate::onItemsReset(const QVector<PlaylistItem>&&
      newContent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:195,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:196,1
    - Dst: beginInsertRows
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:197,1
    - Dst: insert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:198,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:199,1
    - Dst: cbegin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:199,1
    - Dst: cend
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:199,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:199,1
    - Dst: endInsertRows
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:200,1
    - Dst: getDuration
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:204,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' added'
    - index
    argTypes:
    - QVector<PlaylistItem>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: vlc::playlist::PlaylistListModelPrivate::onItemsAdded
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - endInsertRows
    - getDuration
    - size
    - Q_Q
    - begin
    - insert
    - beginInsertRows
    - std::move
    - cend
    - cbegin
    linkageType: ''
    returnType: void
    signature: void PlaylistListModelPrivate::onItemsAdded(const QVector<PlaylistItem>&&
      added, size_t index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:212,1
    - Dst: beginMoveRows
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:220,1
    - Dst: std::rotate
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:222,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:222,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:223,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:224,1
    - Dst: std::rotate
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:226,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:226,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:227,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:228,1
    - Dst: endMoveRows
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - index
    - count
    - target
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 230
    functionName: vlc::playlist::PlaylistListModelPrivate::onItemsMoved
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - beginMoveRows
    - begin
    - Q_Q
    - endMoveRows
    - std::rotate
    linkageType: ''
    returnType: void
    signature: void PlaylistListModelPrivate::onItemsMoved(size_t index, size_t count,
      size_t target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:234,1
    - Dst: at
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:238,1
    - Dst: beginRemoveRows
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:241,1
    - Dst: remove
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:242,1
    - Dst: endRemoveRows
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:243,1
    - Dst: toVLCTick
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:246,1
    - Dst: valid
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:246,1
    - Dst: VLCDuration
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:248,1
    - Dst: getDuration
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:250,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - index
    - count
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 254
    functionName: vlc::playlist::PlaylistListModelPrivate::onItemsRemoved
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - getDuration
    - endRemoveRows
    - toVLCTick
    - size
    - Q_Q
    - remove
    - at
    - VLCDuration
    - beginRemoveRows
    - valid
    linkageType: ''
    returnType: void
    signature: void PlaylistListModelPrivate::onItemsRemoved(size_t index, size_t
      count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:260,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:261,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - idx
    - count
    - roles
    argTypes:
    - int
    - int
    - QVector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 264
    functionName: vlc::playlist::PlaylistListModelPrivate::notifyItemsChanged
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - Q_Q
    - index
    linkageType: ''
    returnType: void
    signature: void PlaylistListModelPrivate::notifyItemsChanged(int idx, int count,
      const QVector<int> &roles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistListModelPrivate::PlaylistListModelPrivate
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: vlc::playlist::PlaylistListModel::PlaylistListModel
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - PlaylistListModelPrivate::PlaylistListModelPrivate
    linkageType: ''
    returnType: void
    signature: void PlaylistListModel::PlaylistListModel(QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistListModelPrivate::PlaylistListModelPrivate
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:276,1
    - Dst: vlc::playlist::PlaylistListModel::setPlaylist
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:278,1
    - Dst: Playlist
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - raw_playlist
    - parent
    argTypes:
    - vlc_playlist_t*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 279
    functionName: vlc::playlist::PlaylistListModel::PlaylistListModel
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - PlaylistListModelPrivate::PlaylistListModelPrivate
    - Playlist
    - vlc::playlist::PlaylistListModel::setPlaylist
    linkageType: ''
    returnType: void
    signature: void PlaylistListModel::PlaylistListModel(vlc_playlist_t *raw_playlist,
      QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: PlaylistListModel::~PlaylistListModel()
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlaylistListModel::~PlaylistListModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:289,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:290,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:291,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:292,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:293,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:294,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:295,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:296,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 299
    functionName: vlc::playlist::PlaylistListModel::roleNames
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - QByteArrayLiteral
    linkageType: ''
    returnType: QHash<int, QByteArray>
    signature: QHash<int, QByteArray> PlaylistListModel::roleNames() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNUSED
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:304,1
    - Dst: m_items::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 309
    functionName: vlc::playlist::PlaylistListModel::rowCount
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - m_items::size
    - Q_UNUSED
    linkageType: ''
    returnType: int
    signature: int PlaylistListModel::rowCount(const QModelIndex &parent) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 316
    functionName: vlc::playlist::PlaylistListModel::getDuration
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: VLCDuration
    signature: VLCDuration PlaylistListModel::getDuration() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 323
    functionName: vlc::playlist::PlaylistListModel::itemAt
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PlaylistItem
    signature: PlaylistItem PlaylistListModel::itemAt(int index) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:327,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:330,1
    - Dst: transform
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:333,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:333,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:333,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:333,1
    - Dst: raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:334,1
    - Dst: vlc_playlist_RequestRemove
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:339,1
    - Dst: QVector::constData
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:339,1
    - Dst: QVector::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:340,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' indexes'
    argTypes:
    - QVector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 344
    functionName: vlc::playlist::PlaylistListModel::removeItems
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_RequestRemove
    - transform
    - size
    - begin
    - raw
    - std::bad_alloc
    - std::back_inserter
    - QVector::constData
    - QVector::size
    - end
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistListModel::removeItems(const QVector<int>& indexes)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - sortedIndexesToMove
    - preTarget
    argTypes:
    - QVector<int>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 365
    functionName: vlc::playlist::getMovePostTarget
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getMovePostTarget(const QVector<int> &sortedIndexesToMove, int
      preTarget)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:371,1
    - Dst: QVector<int>::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:374,1
    - Dst: transform
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:377,1
    - Dst: QVector<int>::begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:377,1
    - Dst: QVector<int>::end
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:377,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:378,1
    - Dst: raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:380,1
    - Dst: getMovePostTarget
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:385,1
    - Dst: vlc_playlist_RequestMove
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:389,1
    - Dst: QVector::constData
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:389,1
    - Dst: QVector::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:390,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:393,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - sortedIndexes
    - target
    - isPreTarget
    argTypes:
    - QVector<int>
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 394
    functionName: vlc::playlist::PlaylistListModel::moveItems
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 6
    functionsReached:
    - transform
    - QVector<int>::size
    - raw
    - getMovePostTarget
    - std::bad_alloc
    - std::back_inserter
    - QVector<int>::begin
    - vlc_playlist_RequestMove
    - QVector<int>::end
    - QVector::constData
    - QVector::size
    - Q_D
    linkageType: ''
    returnType: void
    signature: "void PlaylistListModel::moveItems(const QVector<int> &sortedIndexes,
      int target,\n                             bool isPreTarget)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistListModel::moveItems
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sortedIndexes
    - preTarget
    argTypes:
    - QVector<int>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 400
    functionName: vlc::playlist::PlaylistListModel::moveItemsPre
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - vlc::playlist::PlaylistListModel::moveItems
    linkageType: ''
    returnType: void
    signature: void PlaylistListModel::moveItemsPre(const QVector<int> &sortedIndexes,
      int preTarget)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistListModel::moveItems
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sortedIndexes
    - postTarget
    argTypes:
    - QVector<int>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 407
    functionName: vlc::playlist::PlaylistListModel::moveItemsPost
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - vlc::playlist::PlaylistListModel::moveItems
    linkageType: ''
    returnType: void
    signature: "void PlaylistListModel::moveItemsPost(const QVector<int> &sortedIndexes,\n
      \                                int postTarget)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 413
    functionName: vlc::playlist::PlaylistListModel::getCurrentIndex
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int PlaylistListModel::getCurrentIndex() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: m_items::count
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:424,1
    - Dst: raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:427,1
    - Dst: vlc_playlist_item_GetMedia
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:432,1
    - Dst: QVariantList::append
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:437,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:437,1
    - Dst: SharedInputItem
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:437,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - ' indexes'
    argTypes:
    - QVector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 441
    functionName: vlc::playlist::PlaylistListModel::getItemsForIndexes
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - m_items::count
    - vlc_playlist_item_GetMedia
    - QVariantList::append
    - raw
    - SharedInputItem
    - fromValue
    linkageType: ''
    returnType: QVariantList
    signature: QVariantList PlaylistListModel::getItemsForIndexes(const QVector<int>
      & indexes) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Playlist
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 449
    functionName: vlc::playlist::PlaylistListModel::getPlaylist
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 0
    functionsReached:
    - Playlist
    linkageType: ''
    returnType: Playlist
    signature: Playlist PlaylistListModel::getPlaylist() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:453,1
    - Dst: vlc_playlist_RemoveListener
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:457,1
    - Dst: vlc_playlist_AddListener
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:465,1
    - Dst: Playlist
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:467,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - playlist
    argTypes:
    - vlc_playlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 468
    functionName: vlc::playlist::PlaylistListModel::setPlaylist
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 7
    functionsReached:
    - vlc_playlist_AddListener
    - vlc_playlist_RemoveListener
    - Playlist
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistListModel::setPlaylist(vlc_playlist_t* playlist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistListModel::setPlaylist
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' playlist'
    argTypes:
    - Playlist
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 473
    functionName: vlc::playlist::PlaylistListModel::setPlaylist
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 8
    functionsReached:
    - vlc::playlist::PlaylistListModel::setPlaylist
    linkageType: ''
    returnType: void
    signature: void PlaylistListModel::setPlaylist(const Playlist& playlist)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:482,1
    - Dst: m_items::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:483,1
    - Dst: QVariant::fromValue<QString>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:489,1
    - Dst: vlc::playlist::PlaylistListModel::data
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:489,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:490,1
    - Dst: vlc::playlist::PlaylistListModel::data
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:491,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:492,1
    - Dst: vlc::playlist::PlaylistListModel::data
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:493,1
    - Dst: getTitle
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:495,1
    - Dst: QVariant::fromValue<VLCDuration>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:499,1
    - Dst: vlc::playlist::PlaylistListModel::getDuration
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:499,1
    - Dst: getArtist
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:501,1
    - Dst: getAlbum
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:503,1
    - Dst: getArtwork
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:505,1
    - Dst: getUrl
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:507,1
    - Dst: preparsed
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp:509,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - index
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 513
    functionName: vlc::playlist::PlaylistListModel::data
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model.cpp
    functionUses: 4
    functionsReached:
    - preparsed
    - QStringLiteral
    - m_items::size
    - getArtwork
    - QModelIndex::row
    - getAlbum
    - getTitle
    - QVariant::fromValue<VLCDuration>
    - getArtist
    - vlc::playlist::PlaylistListModel::data
    - getUrl
    - vlc::playlist::PlaylistListModel::getDuration
    - QVariant::fromValue<QString>
    linkageType: ''
    returnType: QVariant
    signature: QVariant PlaylistListModel::data(const QModelIndex &index, int role)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: vlc::playlist::PlaylistControllerPrivate::PlaylistControllerPrivate
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlaylistControllerPrivate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:44,1
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:45,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:49,1
    - Dst: std::forward<Fun>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:49,1
    - Dst: fun
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:49,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:51,1
    - Dst: std::forward<Fun>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' fun'
    argTypes:
    - Fun
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: vlc::playlist::PlaylistControllerPrivate::callAsync
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp
    functionUses: 0
    functionsReached:
    - Q_Q
    - QT_VERSION_CHECK
    - fun
    - QMetaObject::invokeMethod
    - std::forward<Fun>
    linkageType: ''
    returnType: void
    signature: void callAsync(Fun&& fun)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVariantMap::insert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:79,1
    - Dst: QVariantMap::insert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:80,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:81,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:84,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:84,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:85,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:85,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:86,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:86,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:87,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:87,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:88,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:88,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:89,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:89,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:90,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:90,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:91,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:91,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:92,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:92,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:93,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:93,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:94,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:94,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:95,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:95,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:96,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 97
    functionName: vlc::playlist::PlaylistControllerPrivate::fillSortKeyTitleList
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp
    functionUses: 0
    functionsReached:
    - QVariantMap::insert
    - filler
    - push_back
    - qtr
    linkageType: ''
    returnType: void
    signature: void fillSortKeyTitleList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: vlc::playlist::PlaylistControllerPrivate::PlaylistControllerPrivate
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlaylistControllerPrivate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:44,1
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:45,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:49,1
    - Dst: std::forward<Fun>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:49,1
    - Dst: fun
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:49,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:51,1
    - Dst: std::forward<Fun>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' fun'
    argTypes:
    - Fun
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: vlc::playlist::PlaylistControllerPrivate::callAsync
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp
    functionUses: 0
    functionsReached:
    - Q_Q
    - QT_VERSION_CHECK
    - fun
    - QMetaObject::invokeMethod
    - std::forward<Fun>
    linkageType: ''
    returnType: void
    signature: void callAsync(Fun&& fun)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVariantMap::insert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:79,1
    - Dst: QVariantMap::insert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:80,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:81,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:84,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:84,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:85,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:85,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:86,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:86,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:87,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:87,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:88,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:88,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:89,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:89,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:90,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:90,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:91,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:91,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:92,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:92,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:93,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:93,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:94,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:94,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:95,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:95,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:96,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 97
    functionName: vlc::playlist::PlaylistControllerPrivate::fillSortKeyTitleList
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp
    functionUses: 0
    functionsReached:
    - QVariantMap::insert
    - filler
    - push_back
    - qtr
    linkageType: ''
    returnType: void
    signature: void fillSortKeyTitleList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: vlc::playlist::PlaylistControllerPrivate::PlaylistControllerPrivate
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlaylistControllerPrivate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:44,1
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:45,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:49,1
    - Dst: std::forward<Fun>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:49,1
    - Dst: fun
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:49,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:51,1
    - Dst: std::forward<Fun>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' fun'
    argTypes:
    - Fun
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: vlc::playlist::PlaylistControllerPrivate::callAsync
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp
    functionUses: 0
    functionsReached:
    - Q_Q
    - QT_VERSION_CHECK
    - fun
    - QMetaObject::invokeMethod
    - std::forward<Fun>
    linkageType: ''
    returnType: void
    signature: void callAsync(Fun&& fun)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVariantMap::insert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:79,1
    - Dst: QVariantMap::insert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:80,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:81,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:84,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:84,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:85,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:85,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:86,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:86,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:87,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:87,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:88,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:88,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:89,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:89,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:90,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:90,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:91,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:91,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:92,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:92,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:93,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:93,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:94,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:94,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:95,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:95,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:96,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 97
    functionName: vlc::playlist::PlaylistControllerPrivate::fillSortKeyTitleList
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp
    functionUses: 0
    functionsReached:
    - QVariantMap::insert
    - filler
    - push_back
    - qtr
    linkageType: ''
    returnType: void
    signature: void fillSortKeyTitleList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: vlc::playlist::PlaylistControllerPrivate::PlaylistControllerPrivate
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlaylistControllerPrivate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:44,1
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:45,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:49,1
    - Dst: std::forward<Fun>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:49,1
    - Dst: fun
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:49,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:51,1
    - Dst: std::forward<Fun>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' fun'
    argTypes:
    - Fun
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: vlc::playlist::PlaylistControllerPrivate::callAsync
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp
    functionUses: 0
    functionsReached:
    - Q_Q
    - QT_VERSION_CHECK
    - fun
    - QMetaObject::invokeMethod
    - std::forward<Fun>
    linkageType: ''
    returnType: void
    signature: void callAsync(Fun&& fun)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVariantMap::insert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:79,1
    - Dst: QVariantMap::insert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:80,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:81,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:84,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:84,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:85,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:85,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:86,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:86,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:87,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:87,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:88,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:88,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:89,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:89,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:90,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:90,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:91,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:91,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:92,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:92,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:93,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:93,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:94,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:94,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:95,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:95,1
    - Dst: filler
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:96,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 97
    functionName: vlc::playlist::PlaylistControllerPrivate::fillSortKeyTitleList
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller_p.hpp
    functionUses: 0
    functionsReached:
    - QVariantMap::insert
    - filler
    - push_back
    - qtr
    linkageType: ''
    returnType: void
    signature: void fillSortKeyTitleList()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: item::get
      Src: /src/vlc/modules/gui/qt/playlist/playlist_item.hpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: PlaylistItem::raw
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_item.hpp
    functionUses: 0
    functionsReached:
    - item::get
    linkageType: ''
    returnType: vlc_playlist_item_t
    signature: vlc_playlist_item_t *raw() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistItem::raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_item.hpp:72,1
    - Dst: vlc_playlist_item_GetMedia
      Src: /src/vlc/modules/gui/qt/playlist/playlist_item.hpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: PlaylistItem::inputItem
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_item.hpp
    functionUses: 0
    functionsReached:
    - PlaylistItem::raw
    - vlc_playlist_item_GetMedia
    linkageType: ''
    returnType: input_item_t
    signature: input_item_t *inputItem() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVector::push_back
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - items
    - len
    argTypes:
    - vlc_playlist_item_t*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: vlc::playlist::toVec
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 12
    functionsReached:
    - QVector::push_back
    linkageType: ''
    returnType: QVector<PlaylistItem>
    signature: "QVector<PlaylistItem> toVec(vlc_playlist_item_t *const items[],\n
      \                                  size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVector<WRAPPER>::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:48,1
    - Dst: QVector::reserve
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:49,1
    - Dst: QVector::push_back
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:51,1
    - Dst: raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - items
    argTypes:
    - QVector<WRAPPER>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: vlc::playlist::toRaw
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - QVector<WRAPPER>::size
    - QVector::push_back
    - raw
    - QVector::reserve
    linkageType: ''
    returnType: QVector<RAW>
    signature: QVector<RAW> toRaw(const QVector<WRAPPER> &items)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: transform
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:58,1
    - Dst: QVariantList::begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:58,1
    - Dst: QVariantList::end
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:58,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:59,1
    - Dst: typeId
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:60,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:67,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:72,1
    - Dst: Q_UNREACHABLE
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:75,1
    - Dst: QUrl::isValid
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:77,1
    - Dst: Media
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:78,1
    - Dst: QUrl::scheme
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:80,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:83,1
    - Dst: QString::fromUtf8
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:84,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:84,1
    - Dst: vlc_path2uri
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:84,1
    - Dst: std::optional::toUtf8
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:84,1
    - Dst: QUrl::isValid
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:86,1
    - Dst: Media
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:87,1
    - Dst: QUrl::scheme
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:90,1
    - Dst: Media
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:91,1
    - Dst: Media
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:93,1
    - Dst: QUrl::toString
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:93,1
    - Dst: QUrl::fileName
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:93,1
    - Dst: canConvert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:95,1
    - Dst: Media
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:97,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:97,1
    - Dst: canConvert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:99,1
    - Dst: Media
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:101,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:101,1
    - Dst: QVector::removeAll
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:107,1
    - Dst: Media
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:107,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 1
    argNames:
    - sources
    argTypes:
    - QVariantList
    assertStmts:
    - condition: (input)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    constantsTouched: []
    func_position:
      end: 110
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 110
    functionName: vlc::playlist::toMediaList
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - transform
    - assert
    - canConvert
    - QUrl::fileName
    - QUrl::scheme
    - QVariantList::end
    - QString::fromUtf8
    - QUrl::toString
    - typeId
    - value
    - QVariantList::begin
    - vlc::wrap_cptr
    - Media
    - QUrl::isValid
    - std::back_inserter
    - QVector::removeAll
    - Q_UNREACHABLE
    - vlc_path2uri
    - std::optional::toUtf8
    linkageType: ''
    returnType: QVector<Media>
    signature: QVector<Media> toMediaList(const QVariantList &sources)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:120,1
    - Dst: vlc::playlist::toVec
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:121,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:122,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:124,1
    - Dst: PlaylistControllerPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:127,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - playlist
    - items
    - len
    - userdata
    argTypes:
    - vlc_playlist_t*
    - vlc_playlist_item_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 142
    functionName: vlc::playlist::on_playlist_items_reset
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - vlc_playlist_Count
    - static_cast<PlaylistControllerPrivate *>
    - PlaylistControllerPrivate*::q_func
    - PlaylistControllerPrivate*::callAsync
    - vlc::playlist::toVec
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_reset(vlc_playlist_t *playlist,\n                        vlc_playlist_item_t
      *const items[],\n                        size_t len, void *userdata)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:149,1
    - Dst: vlc::playlist::toVec
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:150,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:151,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:152,1
    - Dst: PlaylistControllerPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:155,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - playlist
    - index
    - items
    - len
    - userdata
    argTypes:
    - vlc_playlist_t*
    - size_t
    - vlc_playlist_item_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 169
    functionName: vlc::playlist::on_playlist_items_added
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - vlc_playlist_Count
    - static_cast<PlaylistControllerPrivate *>
    - PlaylistControllerPrivate*::q_func
    - PlaylistControllerPrivate*::callAsync
    - vlc::playlist::toVec
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_added(vlc_playlist_t *playlist, size_t index,\n
      \                       vlc_playlist_item_t *const items[], size_t len,\n                        void
      *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:175,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - playlist
    - index
    - count
    - target
    - userdata
    argTypes:
    - vlc_playlist_t*
    - size_t
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 181
    functionName: vlc::playlist::on_playlist_items_moved
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - PlaylistControllerPrivate*::callAsync
    - static_cast<PlaylistControllerPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_moved(vlc_playlist_t *playlist, size_t index,
      size_t count,\n                        size_t target, void *userdata)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:187,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:188,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:190,1
    - Dst: PlaylistControllerPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - playlist
    - index
    - count
    - userdata
    argTypes:
    - vlc_playlist_t*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 206
    functionName: vlc::playlist::on_playlist_items_removed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - PlaylistControllerPrivate*::callAsync
    - PlaylistControllerPrivate*::q_func
    - vlc_playlist_Count
    - static_cast<PlaylistControllerPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_removed(vlc_playlist_t *playlist, size_t index,
      size_t count,\n                          void *userdata)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:213,1
    - Dst: vlc::playlist::toVec
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:214,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:215,1
    - Dst: static_cast<size_t>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:220,1
    - Dst: PlaylistControllerPrivate*::m_currentItem::raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:224,1
    - Dst: auto::raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:228,1
    - Dst: PlaylistControllerPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - playlist
    - index
    - items
    - len
    - userdata
    argTypes:
    - vlc_playlist_t*
    - size_t
    - vlc_playlist_item_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 233
    functionName: vlc::playlist::on_playlist_items_updated
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - auto::raw
    - static_cast<size_t>
    - static_cast<PlaylistControllerPrivate *>
    - PlaylistControllerPrivate*::q_func
    - PlaylistControllerPrivate*::m_currentItem::raw
    - PlaylistControllerPrivate*::callAsync
    - vlc::playlist::toVec
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_updated(vlc_playlist_t *playlist, size_t index,\n
      \                         vlc_playlist_item_t *const items[], size_t len,\n
      \                         void *userdata)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:240,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:241,1
    - Dst: static_cast<PlaylistController::PlaybackRepeat>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - playlist
    - repeat
    - userdata
    argTypes:
    - vlc_playlist_t*
    - enum vlc_playlist_playback_repeat
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 251
    functionName: vlc::playlist::on_playlist_playback_repeat_changed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - PlaylistControllerPrivate*::callAsync
    - static_cast<PlaylistController::PlaybackRepeat>
    - static_cast<PlaylistControllerPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_playback_repeat_changed(vlc_playlist_t *playlist,\n
      \                                   enum vlc_playlist_playback_repeat repeat,\n
      \                                   void *userdata)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:258,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - playlist
    - order
    - userdata
    argTypes:
    - vlc_playlist_t*
    - enum vlc_playlist_playback_order
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 269
    functionName: vlc::playlist::on_playlist_playback_order_changed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - PlaylistControllerPrivate*::callAsync
    - static_cast<PlaylistControllerPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_playback_order_changed(vlc_playlist_t *playlist,\n
      \                                  enum vlc_playlist_playback_order order,\n
      \                                  void *userdata)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:275,1
    - Dst: vlc_playlist_Get
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:280,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:283,1
    - Dst: PlaylistControllerPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:284,1
    - Dst: PlaylistControllerPrivate*::m_currentItem::raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:297,1
    - Dst: PlaylistItem::raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - playlist
    - index
    - userdata
    argTypes:
    - vlc_playlist_t*
    - ssize_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 303
    functionName: vlc::playlist::on_playlist_current_index_changed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - PlaylistItem::raw
    - static_cast<PlaylistControllerPrivate *>
    - PlaylistControllerPrivate*::q_func
    - PlaylistControllerPrivate*::m_currentItem::raw
    - vlc_playlist_Get
    - PlaylistControllerPrivate*::callAsync
    linkageType: ''
    returnType: void
    signature: "void on_playlist_current_index_changed(vlc_playlist_t *playlist, ssize_t
      index,\n                                 void *userdata)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:309,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - playlist
    - has_prev
    - userdata
    argTypes:
    - vlc_playlist_t*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 319
    functionName: vlc::playlist::on_playlist_has_prev_changed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - PlaylistControllerPrivate*::callAsync
    - static_cast<PlaylistControllerPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_has_prev_changed(vlc_playlist_t *playlist, bool has_prev,\n
      \                            void *userdata)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:325,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - playlist
    - has_next
    - userdata
    argTypes:
    - vlc_playlist_t*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 335
    functionName: vlc::playlist::on_playlist_has_next_changed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - PlaylistControllerPrivate*::callAsync
    - static_cast<PlaylistControllerPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_has_next_changed(vlc_playlist_t *playlist, bool has_next,\n
      \                            void *userdata)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:342,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:343,1
    - Dst: static_cast<PlaylistController::MediaStopAction>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - playlist
    - new_action
    - userdata
    argTypes:
    - vlc_playlist_t*
    - enum vlc_playlist_media_stopped_action
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 352
    functionName: vlc::playlist::on_media_stopped_action_changed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - PlaylistControllerPrivate*::callAsync
    - static_cast<PlaylistController::MediaStopAction>
    - static_cast<PlaylistControllerPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_media_stopped_action_changed(vlc_playlist_t *playlist,\n                          enum
      vlc_playlist_media_stopped_action new_action,\n                          void
      *userdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistControllerPrivate::fillSortKeyTitleList
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - playlistController
    - playlist
    argTypes:
    - PlaylistController*
    - vlc_playlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 380
    functionName: vlc::playlist::PlaylistControllerPrivate::PlaylistControllerPrivate
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc::playlist::PlaylistControllerPrivate::fillSortKeyTitleList
    linkageType: ''
    returnType: void
    signature: void PlaylistControllerPrivate::PlaylistControllerPrivate(PlaylistController*
      playlistController, vlc_playlist_t *playlist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_RemoveListener
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 389
    functionName: PlaylistControllerPrivate::~PlaylistControllerPrivate()
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_RemoveListener
    linkageType: ''
    returnType: void
    signature: void PlaylistControllerPrivate::~PlaylistControllerPrivate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistControllerPrivate::PlaylistControllerPrivate
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:395,1
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:397,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:398,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:400,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:401,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:402,1
    - Dst: vlc::playlist::PlaylistController::resetSortKey
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:402,1
    - Dst: vlc_playlist_AddListener
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:406,1
    - Dst: callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - playlist
    - parent
    argTypes:
    - vlc_playlist_t*
    - QObject*
    assertStmts:
    - condition: (playlist)
      pos:
        line_end: 397
        line_start: 397
        source_file: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    constantsTouched: []
    func_position:
      end: 418
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 418
    functionName: vlc::playlist::PlaylistController::PlaylistController
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 1
    functionsReached:
    - assert
    - callAsync
    - vlc_playlist_AddListener
    - vlc::playlist::PlaylistController::resetSortKey
    - connect
    - Q_D
    - PlaylistControllerPrivate::PlaylistControllerPrivate
    linkageType: ''
    returnType: void
    signature: void PlaylistController::PlaylistController(vlc_playlist_t *playlist,
      QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 422
    functionName: PlaylistController::~PlaylistController()
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlaylistController::~PlaylistController()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 428
    functionName: vlc::playlist::PlaylistController::getCurrentItem
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PlaylistItem
    signature: PlaylistItem PlaylistController::getCurrentItem() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistController::append
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:432,1
    - Dst: toMediaList
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sourceList'
    - startPlaying
    argTypes:
    - QVariantList
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 433
    functionName: vlc::playlist::PlaylistController::append
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 1
    functionsReached:
    - vlc::playlist::PlaylistController::append
    - toMediaList
    linkageType: ''
    returnType: void
    signature: void PlaylistController::append(const QVariantList& sourceList, bool
      startPlaying)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistController::append
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source
    - startPlaying
    argTypes:
    - QVariant
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 438
    functionName: vlc::playlist::PlaylistController::append
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 2
    functionsReached:
    - vlc::playlist::PlaylistController::append
    linkageType: ''
    returnType: void
    signature: void PlaylistController::append(const QVariant &source, bool startPlaying)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistController::insert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:442,1
    - Dst: toMediaList
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - index
    - ' sourceList'
    - startPlaying
    argTypes:
    - unsigned
    - QVariantList
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 443
    functionName: vlc::playlist::PlaylistController::insert
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 1
    functionsReached:
    - toMediaList
    - vlc::playlist::PlaylistController::insert
    linkageType: ''
    returnType: void
    signature: void PlaylistController::insert(unsigned index, const QVariantList&
      sourceList, bool startPlaying)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:448,1
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:450,1
    - Dst: QVector<Media>::isEmpty
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:450,1
    - Dst: toRaw<input_item_t *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:455,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:457,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:457,1
    - Dst: vlc_playlist_Append
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:459,1
    - Dst: auto::constData
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:460,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:460,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:462,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:465,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:465,1
    - Dst: vlc_playlist_GoTo
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:466,1
    - Dst: vlc_playlist_Start
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:469,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - media
    - startPlaying
    argTypes:
    - QVector<Media>
    - bool
    assertStmts:
    - condition: (rawMedia.size() > 0)
      pos:
        line_end: 456
        line_start: 456
        source_file: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    constantsTouched: []
    func_position:
      end: 471
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 471
    functionName: vlc::playlist::PlaylistController::append
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 2
    functionsReached:
    - auto::size
    - QVector<Media>::isEmpty
    - Q_UNLIKELY
    - assert
    - auto::constData
    - vlc_playlist_Count
    - vlc_playlist_GoTo
    - vlc_playlist_Append
    - std::bad_alloc
    - toRaw<input_item_t *>
    - vlc_playlist_Start
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::append(const QVector<Media> &media, bool startPlaying)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:476,1
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:478,1
    - Dst: QVector<Media>::isEmpty
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:478,1
    - Dst: toRaw<input_item_t *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:483,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:485,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:485,1
    - Dst: vlc_playlist_RequestInsert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:487,1
    - Dst: auto::constData
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:488,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:488,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:490,1
    - Dst: vlc_playlist_GoTo
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:493,1
    - Dst: vlc_playlist_Start
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:496,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - index
    - media
    - startPlaying
    argTypes:
    - size_t
    - QVector<Media>
    - bool
    assertStmts:
    - condition: (rawMedia.size() > 0)
      pos:
        line_end: 484
        line_start: 484
        source_file: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    constantsTouched: []
    func_position:
      end: 498
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 498
    functionName: vlc::playlist::PlaylistController::insert
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 1
    functionsReached:
    - vlc_playlist_RequestInsert
    - auto::size
    - QVector<Media>::isEmpty
    - Q_UNLIKELY
    - assert
    - auto::constData
    - vlc_playlist_GoTo
    - std::bad_alloc
    - toRaw<input_item_t *>
    - vlc_playlist_Start
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::insert(size_t index, const QVector<Media>
      &media, bool startPlaying)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:504,1
    - Dst: toRaw<vlc_playlist_item_t *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:507,1
    - Dst: vlc_playlist_RequestMove
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:508,1
    - Dst: auto::constData
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:508,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:509,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:511,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - items
    - target
    - indexHint
    argTypes:
    - QVector<PlaylistItem>
    - size_t
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 512
    functionName: vlc::playlist::PlaylistController::move
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - auto::constData
    - Q_D
    - std::bad_alloc
    - toRaw<vlc_playlist_item_t *>
    - vlc_playlist_RequestMove
    linkageType: ''
    returnType: void
    signature: "void PlaylistController::move(const QVector<PlaylistItem> &items,
      size_t target,\n               ssize_t indexHint)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:517,1
    - Dst: toRaw<vlc_playlist_item_t *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:519,1
    - Dst: vlc_playlist_RequestRemove
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:520,1
    - Dst: auto::constData
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:520,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:521,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:523,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - items
    - indexHint
    argTypes:
    - QVector<PlaylistItem>
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 524
    functionName: vlc::playlist::PlaylistController::remove
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_RequestRemove
    - auto::size
    - auto::constData
    - std::bad_alloc
    - toRaw<vlc_playlist_item_t *>
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::remove(const QVector<PlaylistItem> &items,
      ssize_t indexHint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:529,1
    - Dst: vlc_playlist_Shuffle
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 532
    functionName: vlc::playlist::PlaylistController::shuffle
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    - vlc_playlist_Shuffle
    linkageType: ''
    returnType: void
    signature: void PlaylistController::shuffle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:537,1
    - Dst: vlc_playlist_Sort
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:539,1
    - Dst: QVector<vlc_playlist_sort_criterion>::constData
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:539,1
    - Dst: QVector<vlc_playlist_sort_criterion>::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - criteria
    argTypes:
    - QVector<vlc_playlist_sort_criterion>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 540
    functionName: vlc::playlist::PlaylistController::sort
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - QVector<vlc_playlist_sort_criterion>::size
    - vlc_playlist_Sort
    - Q_D
    - QVector<vlc_playlist_sort_criterion>::constData
    linkageType: ''
    returnType: void
    signature: void PlaylistController::sort(const QVector<vlc_playlist_sort_criterion>
      &criteria)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistController::setSortKey
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:545,1
    - Dst: vlc::playlist::PlaylistController::setSortOrder
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:546,1
    - Dst: vlc::playlist::PlaylistController::sort
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - key
    - order
    argTypes:
    - PlaylistController::SortKey
    - PlaylistController::SortOrder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 549
    functionName: vlc::playlist::PlaylistController::sort
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 1
    functionsReached:
    - vlc::playlist::PlaylistController::setSortKey
    - vlc::playlist::PlaylistController::sort
    - vlc::playlist::PlaylistController::setSortOrder
    linkageType: ''
    returnType: void
    signature: void PlaylistController::sort(PlaylistController::SortKey key, PlaylistController::SortOrder
      order)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistController::getSortKey
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:556,1
    - Dst: vlc::playlist::PlaylistController::setSortOrder
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:558,1
    - Dst: vlc::playlist::PlaylistController::setSortKey
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:559,1
    - Dst: vlc::playlist::PlaylistController::switchSortOrder
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:563,1
    - Dst: vlc::playlist::PlaylistController::sort
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - key
    argTypes:
    - PlaylistController::SortKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 567
    functionName: vlc::playlist::PlaylistController::sort
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 2
    functionsReached:
    - vlc::playlist::PlaylistController::getSortKey
    - vlc::playlist::PlaylistController::setSortOrder
    - vlc::playlist::PlaylistController::sort
    - vlc::playlist::PlaylistController::switchSortOrder
    - vlc::playlist::PlaylistController::setSortKey
    linkageType: ''
    returnType: void
    signature: void PlaylistController::sort(PlaylistController::SortKey key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:571,1
    - Dst: static_cast<vlc_playlist_sort_key>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:577,1
    - Dst: static_cast<vlc_playlist_sort_order>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:578,1
    - Dst: vlc::playlist::PlaylistController::sort
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 582
    functionName: vlc::playlist::PlaylistController::sort
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 3
    functionsReached:
    - static_cast<vlc_playlist_sort_order>
    - vlc::playlist::PlaylistController::sort
    - Q_D
    - static_cast<vlc_playlist_sort_key>
    linkageType: ''
    returnType: void
    signature: void PlaylistController::sort(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:586,1
    - Dst: vlc_playlist_item_GetMedia
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:589,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:590,1
    - Dst: input_item_GetURI
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:590,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:592,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:594,1
    - Dst: vlc_uri2path
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:594,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:594,1
    - Dst: QFileInfo
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:599,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:599,1
    - Dst: QFileInfo
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:600,1
    - Dst: QUrl::fromLocalFile
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:603,1
    - Dst: QUrl::isLocalFile
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:604,1
    - Dst: QDesktopServices::openUrl
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:607,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - ' pItem'
    argTypes:
    - PlaylistItem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 610
    functionName: vlc::playlist::PlaylistController::explore
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_item_GetMedia
    - vlc::wrap_cptr
    - QFileInfo
    - vlc_uri2path
    - raw
    - auto::get
    - QUrl::isLocalFile
    - QUrl::fromLocalFile
    - QDesktopServices::openUrl
    - input_item_GetURI
    linkageType: ''
    returnType: void
    signature: void PlaylistController::explore(const PlaylistItem& pItem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:614,1
    - Dst: vlc_playlist_Export
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:616,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 617
    functionName: vlc::playlist::PlaylistController::serialize
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - qtu
    - vlc_playlist_Export
    - Q_D
    linkageType: ''
    returnType: int
    signature: int PlaylistController::serialize(const QString &fileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 623
    functionName: vlc::playlist::PlaylistController::currentIndex
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int PlaylistController::currentIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:627,1
    - Dst: vlc_playlist_Start
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 630
    functionName: vlc::playlist::PlaylistController::play
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    - vlc_playlist_Start
    linkageType: ''
    returnType: void
    signature: void PlaylistController::play()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:634,1
    - Dst: vlc_playlist_Pause
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 637
    functionName: vlc::playlist::PlaylistController::pause
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    - vlc_playlist_Pause
    linkageType: ''
    returnType: void
    signature: void PlaylistController::pause()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:641,1
    - Dst: vlc_playlist_Stop
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 644
    functionName: vlc::playlist::PlaylistController::stop
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_Stop
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:648,1
    - Dst: vlc_playlist_Next
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 651
    functionName: vlc::playlist::PlaylistController::next
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    - vlc_playlist_Next
    linkageType: ''
    returnType: void
    signature: void PlaylistController::next()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:655,1
    - Dst: vlc_playlist_Prev
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 658
    functionName: vlc::playlist::PlaylistController::prev
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_Prev
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::prev()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:662,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:665,1
    - Dst: Q_ASSERT
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:666,1
    - Dst: vlc_player_IsStarted
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:667,1
    - Dst: vlc_player_GetTime
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:667,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:667,1
    - Dst: vlc_playlist_Prev
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:669,1
    - Dst: vlc_playlist_Start
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:671,1
    - Dst: vlc_player_JumpPos
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:676,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 677
    functionName: vlc::playlist::PlaylistController::prevOrReset
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_ASSERT
    - VLC_TICK_FROM_MS
    - vlc_player_GetTime
    - vlc_playlist_Prev
    - vlc_playlist_GetPlayer
    - vlc_player_JumpPos
    - vlc_playlist_Start
    - vlc_player_IsStarted
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::prevOrReset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:681,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:683,1
    - Dst: vlc_player_IsStarted
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:684,1
    - Dst: vlc_player_TogglePause
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:685,1
    - Dst: vlc_playlist_Start
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 688
    functionName: vlc::playlist::PlaylistController::togglePlayPause
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_GetPlayer
    - vlc_playlist_Start
    - vlc_player_IsStarted
    - Q_D
    - vlc_player_TogglePause
    linkageType: ''
    returnType: void
    signature: void PlaylistController::togglePlayPause()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:692,1
    - Dst: vlc_playlist_SetPlaybackOrder
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:699,1
    - Dst: config_PutInt
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 701
    functionName: vlc::playlist::PlaylistController::toggleRandom
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    - vlc_playlist_SetPlaybackOrder
    - config_PutInt
    linkageType: ''
    returnType: void
    signature: void PlaylistController::toggleRandom()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:705,1
    - Dst: vlc_playlist_SetPlaybackRepeat
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:722,1
    - Dst: config_PutInt
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:724,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 725
    functionName: vlc::playlist::PlaylistController::toggleRepeatMode
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    - vlc_playlist_SetPlaybackRepeat
    - config_PutInt
    linkageType: ''
    returnType: void
    signature: void PlaylistController::toggleRepeatMode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:729,1
    - Dst: vlc_playlist_Clear
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 732
    functionName: vlc::playlist::PlaylistController::clear
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    - vlc_playlist_Clear
    linkageType: ''
    returnType: void
    signature: void PlaylistController::clear()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:736,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:738,1
    - Dst: vlc_playlist_GoTo
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:741,1
    - Dst: vlc_playlist_Start
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:743,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - index
    - startPlaying
    argTypes:
    - uint
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 744
    functionName: vlc::playlist::PlaylistController::goTo
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_GoTo
    - vlc_playlist_Start
    - Q_D
    - vlc_playlist_Count
    linkageType: ''
    returnType: void
    signature: void PlaylistController::goTo(uint index, bool startPlaying)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 750
    functionName: vlc::playlist::PlaylistController::isRandom
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PlaylistController::isRandom() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_SetPlaybackOrder
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - random
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 757
    functionName: vlc::playlist::PlaylistController::setRandom
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_SetPlaybackOrder
    linkageType: ''
    returnType: void
    signature: void PlaylistController::setRandom(bool random)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Playlist
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 763
    functionName: vlc::playlist::PlaylistController::getPlaylist
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Playlist
    linkageType: ''
    returnType: Playlist
    signature: Playlist PlaylistController::getPlaylist() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 770
    functionName: vlc::playlist::PlaylistController::resetSortKey
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 1
    functionsReached:
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::resetSortKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 776
    functionName: vlc::playlist::PlaylistController::getRepeatMode
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PlaylistController::PlaybackRepeat
    signature: PlaylistController::PlaybackRepeat PlaylistController::getRepeatMode()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_SetPlaybackRepeat
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:782,1
    - Dst: static_cast<vlc_playlist_playback_repeat>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mode
    argTypes:
    - PlaylistController::PlaybackRepeat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 783
    functionName: vlc::playlist::PlaylistController::setRepeatMode
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - static_cast<vlc_playlist_playback_repeat>
    - vlc_playlist_SetPlaybackRepeat
    linkageType: ''
    returnType: void
    signature: void PlaylistController::setRepeatMode(PlaylistController::PlaybackRepeat
      mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 789
    functionName: vlc::playlist::PlaylistController::getMediaStopAction
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PlaylistController::MediaStopAction
    signature: PlaylistController::MediaStopAction PlaylistController::getMediaStopAction()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:793,1
    - Dst: vlc_playlist_SetMediaStoppedAction
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:795,1
    - Dst: static_cast<vlc_playlist_media_stopped_action>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - action
    argTypes:
    - PlaylistController::MediaStopAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 796
    functionName: vlc::playlist::PlaylistController::setMediaStopAction
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - static_cast<vlc_playlist_media_stopped_action>
    - vlc_playlist_SetMediaStoppedAction
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::setMediaStopAction(PlaylistController::MediaStopAction
      action)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 802
    functionName: vlc::playlist::PlaylistController::isEmpty
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PlaylistController::isEmpty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (d->m_count <= (size_t)INT_MAX)
      pos:
        line_end: 806
        line_start: 806
        source_file: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    constantsTouched: []
    func_position:
      end: 809
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 809
    functionName: vlc::playlist::PlaylistController::count
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int PlaylistController::count() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:813,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sortKey
    argTypes:
    - SortKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 820
    functionName: vlc::playlist::PlaylistController::setSortKey
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 2
    functionsReached:
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::setSortKey(SortKey sortKey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:824,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sortOrder
    argTypes:
    - SortOrder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 832
    functionName: vlc::playlist::PlaylistController::setSortOrder
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 2
    functionsReached:
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::setSortOrder(SortOrder sortOrder)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:836,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 848
    functionName: vlc::playlist::PlaylistController::switchSortOrder
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 1
    functionsReached:
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::switchSortOrder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 854
    functionName: vlc::playlist::PlaylistController::getSortKey
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: PlaylistController::SortKey
    signature: PlaylistController::SortKey PlaylistController::getSortKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 860
    functionName: vlc::playlist::PlaylistController::getSortOrder
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PlaylistController::SortOrder
    signature: PlaylistController::SortOrder PlaylistController::getSortOrder() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 866
    functionName: vlc::playlist::PlaylistController::hasNext
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PlaylistController::hasNext() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 872
    functionName: vlc::playlist::PlaylistController::hasPrev
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PlaylistController::hasPrev() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 879
    functionName: vlc::playlist::PlaylistController::getSortKeyTitleList
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QVariantList
    signature: QVariantList PlaylistController::getSortKeyTitleList() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 885
    functionName: vlc::playlist::PlaylistController::isInitialized
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PlaylistController::isInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVector::push_back
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - items
    - len
    argTypes:
    - vlc_playlist_item_t*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: vlc::playlist::toVec
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 15
    functionsReached:
    - QVector::push_back
    linkageType: ''
    returnType: QVector<PlaylistItem>
    signature: "QVector<PlaylistItem> toVec(vlc_playlist_item_t *const items[],\n
      \                                  size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVector<WRAPPER>::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:48,1
    - Dst: QVector::reserve
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:49,1
    - Dst: QVector::push_back
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:51,1
    - Dst: raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - items
    argTypes:
    - QVector<WRAPPER>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: vlc::playlist::toRaw
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - QVector<WRAPPER>::size
    - QVector::push_back
    - raw
    - QVector::reserve
    linkageType: ''
    returnType: QVector<RAW>
    signature: QVector<RAW> toRaw(const QVector<WRAPPER> &items)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: transform
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:58,1
    - Dst: QVariantList::begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:58,1
    - Dst: QVariantList::end
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:58,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:59,1
    - Dst: typeId
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:60,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:67,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:72,1
    - Dst: Q_UNREACHABLE
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:75,1
    - Dst: QUrl::isValid
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:77,1
    - Dst: Media
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:78,1
    - Dst: QUrl::scheme
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:80,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:83,1
    - Dst: QString::fromUtf8
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:84,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:84,1
    - Dst: vlc_path2uri
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:84,1
    - Dst: std::optional::toUtf8
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:84,1
    - Dst: QUrl::isValid
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:86,1
    - Dst: Media
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:87,1
    - Dst: QUrl::scheme
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:90,1
    - Dst: Media
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:91,1
    - Dst: Media
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:93,1
    - Dst: QUrl::toString
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:93,1
    - Dst: QUrl::fileName
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:93,1
    - Dst: canConvert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:95,1
    - Dst: Media
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:97,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:97,1
    - Dst: canConvert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:99,1
    - Dst: Media
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:101,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:101,1
    - Dst: QVector::removeAll
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:107,1
    - Dst: Media
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:107,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 1
    argNames:
    - sources
    argTypes:
    - QVariantList
    assertStmts:
    - condition: (input)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    constantsTouched: []
    func_position:
      end: 110
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 110
    functionName: vlc::playlist::toMediaList
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - transform
    - assert
    - canConvert
    - QUrl::fileName
    - QUrl::scheme
    - QVariantList::end
    - QString::fromUtf8
    - QUrl::toString
    - typeId
    - value
    - QVariantList::begin
    - vlc::wrap_cptr
    - Media
    - QUrl::isValid
    - std::back_inserter
    - QVector::removeAll
    - Q_UNREACHABLE
    - vlc_path2uri
    - std::optional::toUtf8
    linkageType: ''
    returnType: QVector<Media>
    signature: QVector<Media> toMediaList(const QVariantList &sources)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:120,1
    - Dst: vlc::playlist::toVec
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:121,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:122,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:124,1
    - Dst: PlaylistControllerPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:127,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - playlist
    - items
    - len
    - userdata
    argTypes:
    - vlc_playlist_t*
    - vlc_playlist_item_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 142
    functionName: vlc::playlist::on_playlist_items_reset
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - vlc_playlist_Count
    - static_cast<PlaylistControllerPrivate *>
    - PlaylistControllerPrivate*::q_func
    - PlaylistControllerPrivate*::callAsync
    - vlc::playlist::toVec
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_reset(vlc_playlist_t *playlist,\n                        vlc_playlist_item_t
      *const items[],\n                        size_t len, void *userdata)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:149,1
    - Dst: vlc::playlist::toVec
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:150,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:151,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:152,1
    - Dst: PlaylistControllerPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:155,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - playlist
    - index
    - items
    - len
    - userdata
    argTypes:
    - vlc_playlist_t*
    - size_t
    - vlc_playlist_item_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 169
    functionName: vlc::playlist::on_playlist_items_added
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - vlc_playlist_Count
    - static_cast<PlaylistControllerPrivate *>
    - PlaylistControllerPrivate*::q_func
    - PlaylistControllerPrivate*::callAsync
    - vlc::playlist::toVec
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_added(vlc_playlist_t *playlist, size_t index,\n
      \                       vlc_playlist_item_t *const items[], size_t len,\n                        void
      *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:175,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - playlist
    - index
    - count
    - target
    - userdata
    argTypes:
    - vlc_playlist_t*
    - size_t
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 181
    functionName: vlc::playlist::on_playlist_items_moved
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - PlaylistControllerPrivate*::callAsync
    - static_cast<PlaylistControllerPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_moved(vlc_playlist_t *playlist, size_t index,
      size_t count,\n                        size_t target, void *userdata)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:187,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:188,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:190,1
    - Dst: PlaylistControllerPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - playlist
    - index
    - count
    - userdata
    argTypes:
    - vlc_playlist_t*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 206
    functionName: vlc::playlist::on_playlist_items_removed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - PlaylistControllerPrivate*::callAsync
    - PlaylistControllerPrivate*::q_func
    - vlc_playlist_Count
    - static_cast<PlaylistControllerPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_removed(vlc_playlist_t *playlist, size_t index,
      size_t count,\n                          void *userdata)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:213,1
    - Dst: vlc::playlist::toVec
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:214,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:215,1
    - Dst: static_cast<size_t>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:220,1
    - Dst: PlaylistControllerPrivate*::m_currentItem::raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:224,1
    - Dst: auto::raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:228,1
    - Dst: PlaylistControllerPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - playlist
    - index
    - items
    - len
    - userdata
    argTypes:
    - vlc_playlist_t*
    - size_t
    - vlc_playlist_item_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 233
    functionName: vlc::playlist::on_playlist_items_updated
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - auto::raw
    - static_cast<size_t>
    - static_cast<PlaylistControllerPrivate *>
    - PlaylistControllerPrivate*::q_func
    - PlaylistControllerPrivate*::m_currentItem::raw
    - PlaylistControllerPrivate*::callAsync
    - vlc::playlist::toVec
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_updated(vlc_playlist_t *playlist, size_t index,\n
      \                         vlc_playlist_item_t *const items[], size_t len,\n
      \                         void *userdata)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:240,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:241,1
    - Dst: static_cast<PlaylistController::PlaybackRepeat>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - playlist
    - repeat
    - userdata
    argTypes:
    - vlc_playlist_t*
    - enum vlc_playlist_playback_repeat
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 251
    functionName: vlc::playlist::on_playlist_playback_repeat_changed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - PlaylistControllerPrivate*::callAsync
    - static_cast<PlaylistController::PlaybackRepeat>
    - static_cast<PlaylistControllerPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_playback_repeat_changed(vlc_playlist_t *playlist,\n
      \                                   enum vlc_playlist_playback_repeat repeat,\n
      \                                   void *userdata)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:258,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - playlist
    - order
    - userdata
    argTypes:
    - vlc_playlist_t*
    - enum vlc_playlist_playback_order
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 269
    functionName: vlc::playlist::on_playlist_playback_order_changed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - PlaylistControllerPrivate*::callAsync
    - static_cast<PlaylistControllerPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_playback_order_changed(vlc_playlist_t *playlist,\n
      \                                  enum vlc_playlist_playback_order order,\n
      \                                  void *userdata)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:275,1
    - Dst: vlc_playlist_Get
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:280,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:283,1
    - Dst: PlaylistControllerPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:284,1
    - Dst: PlaylistControllerPrivate*::m_currentItem::raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:297,1
    - Dst: PlaylistItem::raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - playlist
    - index
    - userdata
    argTypes:
    - vlc_playlist_t*
    - ssize_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 303
    functionName: vlc::playlist::on_playlist_current_index_changed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - PlaylistItem::raw
    - static_cast<PlaylistControllerPrivate *>
    - PlaylistControllerPrivate*::q_func
    - PlaylistControllerPrivate*::m_currentItem::raw
    - vlc_playlist_Get
    - PlaylistControllerPrivate*::callAsync
    linkageType: ''
    returnType: void
    signature: "void on_playlist_current_index_changed(vlc_playlist_t *playlist, ssize_t
      index,\n                                 void *userdata)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:309,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - playlist
    - has_prev
    - userdata
    argTypes:
    - vlc_playlist_t*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 319
    functionName: vlc::playlist::on_playlist_has_prev_changed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - PlaylistControllerPrivate*::callAsync
    - static_cast<PlaylistControllerPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_has_prev_changed(vlc_playlist_t *playlist, bool has_prev,\n
      \                            void *userdata)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:325,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - playlist
    - has_next
    - userdata
    argTypes:
    - vlc_playlist_t*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 335
    functionName: vlc::playlist::on_playlist_has_next_changed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - PlaylistControllerPrivate*::callAsync
    - static_cast<PlaylistControllerPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_has_next_changed(vlc_playlist_t *playlist, bool has_next,\n
      \                            void *userdata)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:342,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:343,1
    - Dst: static_cast<PlaylistController::MediaStopAction>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - playlist
    - new_action
    - userdata
    argTypes:
    - vlc_playlist_t*
    - enum vlc_playlist_media_stopped_action
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 352
    functionName: vlc::playlist::on_media_stopped_action_changed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - PlaylistControllerPrivate*::callAsync
    - static_cast<PlaylistController::MediaStopAction>
    - static_cast<PlaylistControllerPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_media_stopped_action_changed(vlc_playlist_t *playlist,\n                          enum
      vlc_playlist_media_stopped_action new_action,\n                          void
      *userdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistControllerPrivate::fillSortKeyTitleList
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - playlistController
    - playlist
    argTypes:
    - PlaylistController*
    - vlc_playlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 380
    functionName: vlc::playlist::PlaylistControllerPrivate::PlaylistControllerPrivate
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc::playlist::PlaylistControllerPrivate::fillSortKeyTitleList
    linkageType: ''
    returnType: void
    signature: void PlaylistControllerPrivate::PlaylistControllerPrivate(PlaylistController*
      playlistController, vlc_playlist_t *playlist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_RemoveListener
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 389
    functionName: PlaylistControllerPrivate::~PlaylistControllerPrivate()
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_RemoveListener
    linkageType: ''
    returnType: void
    signature: void PlaylistControllerPrivate::~PlaylistControllerPrivate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistControllerPrivate::PlaylistControllerPrivate
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:395,1
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:397,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:398,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:400,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:401,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:402,1
    - Dst: vlc::playlist::PlaylistController::resetSortKey
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:402,1
    - Dst: vlc_playlist_AddListener
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:406,1
    - Dst: callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - playlist
    - parent
    argTypes:
    - vlc_playlist_t*
    - QObject*
    assertStmts:
    - condition: (playlist)
      pos:
        line_end: 397
        line_start: 397
        source_file: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    constantsTouched: []
    func_position:
      end: 418
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 418
    functionName: vlc::playlist::PlaylistController::PlaylistController
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 1
    functionsReached:
    - assert
    - callAsync
    - vlc_playlist_AddListener
    - vlc::playlist::PlaylistController::resetSortKey
    - connect
    - Q_D
    - PlaylistControllerPrivate::PlaylistControllerPrivate
    linkageType: ''
    returnType: void
    signature: void PlaylistController::PlaylistController(vlc_playlist_t *playlist,
      QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 422
    functionName: PlaylistController::~PlaylistController()
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlaylistController::~PlaylistController()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 428
    functionName: vlc::playlist::PlaylistController::getCurrentItem
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PlaylistItem
    signature: PlaylistItem PlaylistController::getCurrentItem() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistController::append
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:432,1
    - Dst: toMediaList
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sourceList'
    - startPlaying
    argTypes:
    - QVariantList
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 433
    functionName: vlc::playlist::PlaylistController::append
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 3
    functionsReached:
    - vlc::playlist::PlaylistController::append
    - toMediaList
    linkageType: ''
    returnType: void
    signature: void PlaylistController::append(const QVariantList& sourceList, bool
      startPlaying)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistController::append
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source
    - startPlaying
    argTypes:
    - QVariant
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 438
    functionName: vlc::playlist::PlaylistController::append
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 4
    functionsReached:
    - vlc::playlist::PlaylistController::append
    linkageType: ''
    returnType: void
    signature: void PlaylistController::append(const QVariant &source, bool startPlaying)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistController::insert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:442,1
    - Dst: toMediaList
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - index
    - ' sourceList'
    - startPlaying
    argTypes:
    - unsigned
    - QVariantList
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 443
    functionName: vlc::playlist::PlaylistController::insert
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 2
    functionsReached:
    - toMediaList
    - vlc::playlist::PlaylistController::insert
    linkageType: ''
    returnType: void
    signature: void PlaylistController::insert(unsigned index, const QVariantList&
      sourceList, bool startPlaying)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:448,1
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:450,1
    - Dst: QVector<Media>::isEmpty
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:450,1
    - Dst: toRaw<input_item_t *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:455,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:457,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:457,1
    - Dst: vlc_playlist_Append
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:459,1
    - Dst: auto::constData
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:460,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:460,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:462,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:465,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:465,1
    - Dst: vlc_playlist_GoTo
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:466,1
    - Dst: vlc_playlist_Start
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:469,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - media
    - startPlaying
    argTypes:
    - QVector<Media>
    - bool
    assertStmts:
    - condition: (rawMedia.size() > 0)
      pos:
        line_end: 456
        line_start: 456
        source_file: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    constantsTouched: []
    func_position:
      end: 471
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 471
    functionName: vlc::playlist::PlaylistController::append
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 4
    functionsReached:
    - auto::size
    - QVector<Media>::isEmpty
    - Q_UNLIKELY
    - assert
    - auto::constData
    - vlc_playlist_Count
    - vlc_playlist_GoTo
    - vlc_playlist_Append
    - std::bad_alloc
    - toRaw<input_item_t *>
    - vlc_playlist_Start
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::append(const QVector<Media> &media, bool startPlaying)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:476,1
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:478,1
    - Dst: QVector<Media>::isEmpty
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:478,1
    - Dst: toRaw<input_item_t *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:483,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:485,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:485,1
    - Dst: vlc_playlist_RequestInsert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:487,1
    - Dst: auto::constData
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:488,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:488,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:490,1
    - Dst: vlc_playlist_GoTo
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:493,1
    - Dst: vlc_playlist_Start
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:496,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - index
    - media
    - startPlaying
    argTypes:
    - size_t
    - QVector<Media>
    - bool
    assertStmts:
    - condition: (rawMedia.size() > 0)
      pos:
        line_end: 484
        line_start: 484
        source_file: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    constantsTouched: []
    func_position:
      end: 498
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 498
    functionName: vlc::playlist::PlaylistController::insert
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 2
    functionsReached:
    - vlc_playlist_RequestInsert
    - auto::size
    - QVector<Media>::isEmpty
    - Q_UNLIKELY
    - assert
    - auto::constData
    - vlc_playlist_GoTo
    - std::bad_alloc
    - toRaw<input_item_t *>
    - vlc_playlist_Start
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::insert(size_t index, const QVector<Media>
      &media, bool startPlaying)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:504,1
    - Dst: toRaw<vlc_playlist_item_t *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:507,1
    - Dst: vlc_playlist_RequestMove
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:508,1
    - Dst: auto::constData
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:508,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:509,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:511,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - items
    - target
    - indexHint
    argTypes:
    - QVector<PlaylistItem>
    - size_t
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 512
    functionName: vlc::playlist::PlaylistController::move
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - auto::constData
    - Q_D
    - std::bad_alloc
    - toRaw<vlc_playlist_item_t *>
    - vlc_playlist_RequestMove
    linkageType: ''
    returnType: void
    signature: "void PlaylistController::move(const QVector<PlaylistItem> &items,
      size_t target,\n               ssize_t indexHint)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:517,1
    - Dst: toRaw<vlc_playlist_item_t *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:519,1
    - Dst: vlc_playlist_RequestRemove
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:520,1
    - Dst: auto::constData
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:520,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:521,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:523,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - items
    - indexHint
    argTypes:
    - QVector<PlaylistItem>
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 524
    functionName: vlc::playlist::PlaylistController::remove
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_RequestRemove
    - auto::size
    - auto::constData
    - std::bad_alloc
    - toRaw<vlc_playlist_item_t *>
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::remove(const QVector<PlaylistItem> &items,
      ssize_t indexHint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:529,1
    - Dst: vlc_playlist_Shuffle
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 532
    functionName: vlc::playlist::PlaylistController::shuffle
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    - vlc_playlist_Shuffle
    linkageType: ''
    returnType: void
    signature: void PlaylistController::shuffle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:537,1
    - Dst: vlc_playlist_Sort
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:539,1
    - Dst: QVector<vlc_playlist_sort_criterion>::constData
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:539,1
    - Dst: QVector<vlc_playlist_sort_criterion>::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - criteria
    argTypes:
    - QVector<vlc_playlist_sort_criterion>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 540
    functionName: vlc::playlist::PlaylistController::sort
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 3
    functionsReached:
    - QVector<vlc_playlist_sort_criterion>::size
    - vlc_playlist_Sort
    - Q_D
    - QVector<vlc_playlist_sort_criterion>::constData
    linkageType: ''
    returnType: void
    signature: void PlaylistController::sort(const QVector<vlc_playlist_sort_criterion>
      &criteria)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistController::setSortKey
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:545,1
    - Dst: vlc::playlist::PlaylistController::setSortOrder
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:546,1
    - Dst: vlc::playlist::PlaylistController::sort
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - key
    - order
    argTypes:
    - PlaylistController::SortKey
    - PlaylistController::SortOrder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 549
    functionName: vlc::playlist::PlaylistController::sort
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 4
    functionsReached:
    - vlc::playlist::PlaylistController::setSortKey
    - vlc::playlist::PlaylistController::sort
    - vlc::playlist::PlaylistController::setSortOrder
    linkageType: ''
    returnType: void
    signature: void PlaylistController::sort(PlaylistController::SortKey key, PlaylistController::SortOrder
      order)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistController::getSortKey
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:556,1
    - Dst: vlc::playlist::PlaylistController::setSortOrder
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:558,1
    - Dst: vlc::playlist::PlaylistController::setSortKey
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:559,1
    - Dst: vlc::playlist::PlaylistController::switchSortOrder
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:563,1
    - Dst: vlc::playlist::PlaylistController::sort
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - key
    argTypes:
    - PlaylistController::SortKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 567
    functionName: vlc::playlist::PlaylistController::sort
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 5
    functionsReached:
    - vlc::playlist::PlaylistController::getSortKey
    - vlc::playlist::PlaylistController::setSortOrder
    - vlc::playlist::PlaylistController::sort
    - vlc::playlist::PlaylistController::switchSortOrder
    - vlc::playlist::PlaylistController::setSortKey
    linkageType: ''
    returnType: void
    signature: void PlaylistController::sort(PlaylistController::SortKey key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:571,1
    - Dst: static_cast<vlc_playlist_sort_key>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:577,1
    - Dst: static_cast<vlc_playlist_sort_order>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:578,1
    - Dst: vlc::playlist::PlaylistController::sort
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 582
    functionName: vlc::playlist::PlaylistController::sort
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 6
    functionsReached:
    - static_cast<vlc_playlist_sort_order>
    - vlc::playlist::PlaylistController::sort
    - Q_D
    - static_cast<vlc_playlist_sort_key>
    linkageType: ''
    returnType: void
    signature: void PlaylistController::sort(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:586,1
    - Dst: vlc_playlist_item_GetMedia
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:589,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:590,1
    - Dst: input_item_GetURI
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:590,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:592,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:594,1
    - Dst: vlc_uri2path
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:594,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:594,1
    - Dst: QFileInfo
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:599,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:599,1
    - Dst: QFileInfo
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:600,1
    - Dst: QUrl::fromLocalFile
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:603,1
    - Dst: QUrl::isLocalFile
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:604,1
    - Dst: QDesktopServices::openUrl
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:607,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - ' pItem'
    argTypes:
    - PlaylistItem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 610
    functionName: vlc::playlist::PlaylistController::explore
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_item_GetMedia
    - vlc::wrap_cptr
    - QFileInfo
    - vlc_uri2path
    - raw
    - auto::get
    - QUrl::isLocalFile
    - QUrl::fromLocalFile
    - QDesktopServices::openUrl
    - input_item_GetURI
    linkageType: ''
    returnType: void
    signature: void PlaylistController::explore(const PlaylistItem& pItem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:614,1
    - Dst: vlc_playlist_Export
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:616,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 617
    functionName: vlc::playlist::PlaylistController::serialize
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - qtu
    - vlc_playlist_Export
    - Q_D
    linkageType: ''
    returnType: int
    signature: int PlaylistController::serialize(const QString &fileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 623
    functionName: vlc::playlist::PlaylistController::currentIndex
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int PlaylistController::currentIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:627,1
    - Dst: vlc_playlist_Start
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 630
    functionName: vlc::playlist::PlaylistController::play
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    - vlc_playlist_Start
    linkageType: ''
    returnType: void
    signature: void PlaylistController::play()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:634,1
    - Dst: vlc_playlist_Pause
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 637
    functionName: vlc::playlist::PlaylistController::pause
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    - vlc_playlist_Pause
    linkageType: ''
    returnType: void
    signature: void PlaylistController::pause()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:641,1
    - Dst: vlc_playlist_Stop
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 644
    functionName: vlc::playlist::PlaylistController::stop
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_Stop
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:648,1
    - Dst: vlc_playlist_Next
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 651
    functionName: vlc::playlist::PlaylistController::next
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    - vlc_playlist_Next
    linkageType: ''
    returnType: void
    signature: void PlaylistController::next()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:655,1
    - Dst: vlc_playlist_Prev
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 658
    functionName: vlc::playlist::PlaylistController::prev
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_Prev
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::prev()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:662,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:665,1
    - Dst: Q_ASSERT
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:666,1
    - Dst: vlc_player_IsStarted
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:667,1
    - Dst: vlc_player_GetTime
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:667,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:667,1
    - Dst: vlc_playlist_Prev
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:669,1
    - Dst: vlc_playlist_Start
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:671,1
    - Dst: vlc_player_JumpPos
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:676,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 677
    functionName: vlc::playlist::PlaylistController::prevOrReset
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_ASSERT
    - VLC_TICK_FROM_MS
    - vlc_player_GetTime
    - vlc_playlist_Prev
    - vlc_playlist_GetPlayer
    - vlc_player_JumpPos
    - vlc_playlist_Start
    - vlc_player_IsStarted
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::prevOrReset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:681,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:683,1
    - Dst: vlc_player_IsStarted
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:684,1
    - Dst: vlc_player_TogglePause
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:685,1
    - Dst: vlc_playlist_Start
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 688
    functionName: vlc::playlist::PlaylistController::togglePlayPause
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_GetPlayer
    - vlc_playlist_Start
    - vlc_player_IsStarted
    - Q_D
    - vlc_player_TogglePause
    linkageType: ''
    returnType: void
    signature: void PlaylistController::togglePlayPause()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:692,1
    - Dst: vlc_playlist_SetPlaybackOrder
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:699,1
    - Dst: config_PutInt
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 701
    functionName: vlc::playlist::PlaylistController::toggleRandom
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    - vlc_playlist_SetPlaybackOrder
    - config_PutInt
    linkageType: ''
    returnType: void
    signature: void PlaylistController::toggleRandom()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:705,1
    - Dst: vlc_playlist_SetPlaybackRepeat
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:722,1
    - Dst: config_PutInt
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:724,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 725
    functionName: vlc::playlist::PlaylistController::toggleRepeatMode
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    - vlc_playlist_SetPlaybackRepeat
    - config_PutInt
    linkageType: ''
    returnType: void
    signature: void PlaylistController::toggleRepeatMode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:729,1
    - Dst: vlc_playlist_Clear
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 732
    functionName: vlc::playlist::PlaylistController::clear
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    - vlc_playlist_Clear
    linkageType: ''
    returnType: void
    signature: void PlaylistController::clear()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:736,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:738,1
    - Dst: vlc_playlist_GoTo
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:741,1
    - Dst: vlc_playlist_Start
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:743,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - index
    - startPlaying
    argTypes:
    - uint
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 744
    functionName: vlc::playlist::PlaylistController::goTo
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_GoTo
    - vlc_playlist_Start
    - Q_D
    - vlc_playlist_Count
    linkageType: ''
    returnType: void
    signature: void PlaylistController::goTo(uint index, bool startPlaying)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 750
    functionName: vlc::playlist::PlaylistController::isRandom
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PlaylistController::isRandom() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_SetPlaybackOrder
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - random
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 757
    functionName: vlc::playlist::PlaylistController::setRandom
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_SetPlaybackOrder
    linkageType: ''
    returnType: void
    signature: void PlaylistController::setRandom(bool random)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Playlist
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 763
    functionName: vlc::playlist::PlaylistController::getPlaylist
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Playlist
    linkageType: ''
    returnType: Playlist
    signature: Playlist PlaylistController::getPlaylist() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 770
    functionName: vlc::playlist::PlaylistController::resetSortKey
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 2
    functionsReached:
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::resetSortKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 776
    functionName: vlc::playlist::PlaylistController::getRepeatMode
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PlaylistController::PlaybackRepeat
    signature: PlaylistController::PlaybackRepeat PlaylistController::getRepeatMode()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_SetPlaybackRepeat
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:782,1
    - Dst: static_cast<vlc_playlist_playback_repeat>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mode
    argTypes:
    - PlaylistController::PlaybackRepeat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 783
    functionName: vlc::playlist::PlaylistController::setRepeatMode
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - static_cast<vlc_playlist_playback_repeat>
    - vlc_playlist_SetPlaybackRepeat
    linkageType: ''
    returnType: void
    signature: void PlaylistController::setRepeatMode(PlaylistController::PlaybackRepeat
      mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 789
    functionName: vlc::playlist::PlaylistController::getMediaStopAction
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PlaylistController::MediaStopAction
    signature: PlaylistController::MediaStopAction PlaylistController::getMediaStopAction()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:793,1
    - Dst: vlc_playlist_SetMediaStoppedAction
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:795,1
    - Dst: static_cast<vlc_playlist_media_stopped_action>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - action
    argTypes:
    - PlaylistController::MediaStopAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 796
    functionName: vlc::playlist::PlaylistController::setMediaStopAction
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - static_cast<vlc_playlist_media_stopped_action>
    - vlc_playlist_SetMediaStoppedAction
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::setMediaStopAction(PlaylistController::MediaStopAction
      action)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 802
    functionName: vlc::playlist::PlaylistController::isEmpty
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PlaylistController::isEmpty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (d->m_count <= (size_t)INT_MAX)
      pos:
        line_end: 806
        line_start: 806
        source_file: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    constantsTouched: []
    func_position:
      end: 809
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 809
    functionName: vlc::playlist::PlaylistController::count
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int PlaylistController::count() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:813,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sortKey
    argTypes:
    - SortKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 820
    functionName: vlc::playlist::PlaylistController::setSortKey
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 4
    functionsReached:
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::setSortKey(SortKey sortKey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:824,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sortOrder
    argTypes:
    - SortOrder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 832
    functionName: vlc::playlist::PlaylistController::setSortOrder
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 4
    functionsReached:
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::setSortOrder(SortOrder sortOrder)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:836,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 848
    functionName: vlc::playlist::PlaylistController::switchSortOrder
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 2
    functionsReached:
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::switchSortOrder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 854
    functionName: vlc::playlist::PlaylistController::getSortKey
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: PlaylistController::SortKey
    signature: PlaylistController::SortKey PlaylistController::getSortKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 860
    functionName: vlc::playlist::PlaylistController::getSortOrder
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PlaylistController::SortOrder
    signature: PlaylistController::SortOrder PlaylistController::getSortOrder() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 866
    functionName: vlc::playlist::PlaylistController::hasNext
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PlaylistController::hasNext() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 872
    functionName: vlc::playlist::PlaylistController::hasPrev
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PlaylistController::hasPrev() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 879
    functionName: vlc::playlist::PlaylistController::getSortKeyTitleList
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QVariantList
    signature: QVariantList PlaylistController::getSortKeyTitleList() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 885
    functionName: vlc::playlist::PlaylistController::isInitialized
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PlaylistController::isInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVector::push_back
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - items
    - len
    argTypes:
    - vlc_playlist_item_t*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: vlc::playlist::toVec
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 18
    functionsReached:
    - QVector::push_back
    linkageType: ''
    returnType: QVector<PlaylistItem>
    signature: "QVector<PlaylistItem> toVec(vlc_playlist_item_t *const items[],\n
      \                                  size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVector<WRAPPER>::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:48,1
    - Dst: QVector::reserve
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:49,1
    - Dst: QVector::push_back
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:51,1
    - Dst: raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - items
    argTypes:
    - QVector<WRAPPER>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: vlc::playlist::toRaw
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - QVector<WRAPPER>::size
    - QVector::push_back
    - raw
    - QVector::reserve
    linkageType: ''
    returnType: QVector<RAW>
    signature: QVector<RAW> toRaw(const QVector<WRAPPER> &items)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: transform
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:58,1
    - Dst: QVariantList::begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:58,1
    - Dst: QVariantList::end
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:58,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:59,1
    - Dst: typeId
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:60,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:67,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:72,1
    - Dst: Q_UNREACHABLE
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:75,1
    - Dst: QUrl::isValid
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:77,1
    - Dst: Media
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:78,1
    - Dst: QUrl::scheme
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:80,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:83,1
    - Dst: QString::fromUtf8
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:84,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:84,1
    - Dst: vlc_path2uri
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:84,1
    - Dst: std::optional::toUtf8
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:84,1
    - Dst: QUrl::isValid
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:86,1
    - Dst: Media
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:87,1
    - Dst: QUrl::scheme
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:90,1
    - Dst: Media
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:91,1
    - Dst: Media
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:93,1
    - Dst: QUrl::toString
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:93,1
    - Dst: QUrl::fileName
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:93,1
    - Dst: canConvert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:95,1
    - Dst: Media
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:97,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:97,1
    - Dst: canConvert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:99,1
    - Dst: Media
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:101,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:101,1
    - Dst: QVector::removeAll
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:107,1
    - Dst: Media
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:107,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 1
    argNames:
    - sources
    argTypes:
    - QVariantList
    assertStmts:
    - condition: (input)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    constantsTouched: []
    func_position:
      end: 110
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 110
    functionName: vlc::playlist::toMediaList
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - transform
    - assert
    - canConvert
    - QUrl::fileName
    - QUrl::scheme
    - QVariantList::end
    - QString::fromUtf8
    - QUrl::toString
    - typeId
    - value
    - QVariantList::begin
    - vlc::wrap_cptr
    - Media
    - QUrl::isValid
    - std::back_inserter
    - QVector::removeAll
    - Q_UNREACHABLE
    - vlc_path2uri
    - std::optional::toUtf8
    linkageType: ''
    returnType: QVector<Media>
    signature: QVector<Media> toMediaList(const QVariantList &sources)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:120,1
    - Dst: vlc::playlist::toVec
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:121,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:122,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:124,1
    - Dst: PlaylistControllerPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:127,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - playlist
    - items
    - len
    - userdata
    argTypes:
    - vlc_playlist_t*
    - vlc_playlist_item_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 142
    functionName: vlc::playlist::on_playlist_items_reset
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - vlc_playlist_Count
    - static_cast<PlaylistControllerPrivate *>
    - PlaylistControllerPrivate*::q_func
    - PlaylistControllerPrivate*::callAsync
    - vlc::playlist::toVec
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_reset(vlc_playlist_t *playlist,\n                        vlc_playlist_item_t
      *const items[],\n                        size_t len, void *userdata)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:149,1
    - Dst: vlc::playlist::toVec
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:150,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:151,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:152,1
    - Dst: PlaylistControllerPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:155,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - playlist
    - index
    - items
    - len
    - userdata
    argTypes:
    - vlc_playlist_t*
    - size_t
    - vlc_playlist_item_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 169
    functionName: vlc::playlist::on_playlist_items_added
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - vlc_playlist_Count
    - static_cast<PlaylistControllerPrivate *>
    - PlaylistControllerPrivate*::q_func
    - PlaylistControllerPrivate*::callAsync
    - vlc::playlist::toVec
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_added(vlc_playlist_t *playlist, size_t index,\n
      \                       vlc_playlist_item_t *const items[], size_t len,\n                        void
      *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:175,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - playlist
    - index
    - count
    - target
    - userdata
    argTypes:
    - vlc_playlist_t*
    - size_t
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 181
    functionName: vlc::playlist::on_playlist_items_moved
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - PlaylistControllerPrivate*::callAsync
    - static_cast<PlaylistControllerPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_moved(vlc_playlist_t *playlist, size_t index,
      size_t count,\n                        size_t target, void *userdata)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:187,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:188,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:190,1
    - Dst: PlaylistControllerPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - playlist
    - index
    - count
    - userdata
    argTypes:
    - vlc_playlist_t*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 206
    functionName: vlc::playlist::on_playlist_items_removed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - PlaylistControllerPrivate*::callAsync
    - PlaylistControllerPrivate*::q_func
    - vlc_playlist_Count
    - static_cast<PlaylistControllerPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_removed(vlc_playlist_t *playlist, size_t index,
      size_t count,\n                          void *userdata)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:213,1
    - Dst: vlc::playlist::toVec
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:214,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:215,1
    - Dst: static_cast<size_t>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:220,1
    - Dst: PlaylistControllerPrivate*::m_currentItem::raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:224,1
    - Dst: auto::raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:228,1
    - Dst: PlaylistControllerPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - playlist
    - index
    - items
    - len
    - userdata
    argTypes:
    - vlc_playlist_t*
    - size_t
    - vlc_playlist_item_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 233
    functionName: vlc::playlist::on_playlist_items_updated
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - auto::raw
    - static_cast<size_t>
    - static_cast<PlaylistControllerPrivate *>
    - PlaylistControllerPrivate*::q_func
    - PlaylistControllerPrivate*::m_currentItem::raw
    - PlaylistControllerPrivate*::callAsync
    - vlc::playlist::toVec
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_updated(vlc_playlist_t *playlist, size_t index,\n
      \                         vlc_playlist_item_t *const items[], size_t len,\n
      \                         void *userdata)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:240,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:241,1
    - Dst: static_cast<PlaylistController::PlaybackRepeat>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - playlist
    - repeat
    - userdata
    argTypes:
    - vlc_playlist_t*
    - enum vlc_playlist_playback_repeat
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 251
    functionName: vlc::playlist::on_playlist_playback_repeat_changed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - PlaylistControllerPrivate*::callAsync
    - static_cast<PlaylistController::PlaybackRepeat>
    - static_cast<PlaylistControllerPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_playback_repeat_changed(vlc_playlist_t *playlist,\n
      \                                   enum vlc_playlist_playback_repeat repeat,\n
      \                                   void *userdata)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:258,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - playlist
    - order
    - userdata
    argTypes:
    - vlc_playlist_t*
    - enum vlc_playlist_playback_order
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 269
    functionName: vlc::playlist::on_playlist_playback_order_changed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - PlaylistControllerPrivate*::callAsync
    - static_cast<PlaylistControllerPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_playback_order_changed(vlc_playlist_t *playlist,\n
      \                                  enum vlc_playlist_playback_order order,\n
      \                                  void *userdata)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:275,1
    - Dst: vlc_playlist_Get
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:280,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:283,1
    - Dst: PlaylistControllerPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:284,1
    - Dst: PlaylistControllerPrivate*::m_currentItem::raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:297,1
    - Dst: PlaylistItem::raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - playlist
    - index
    - userdata
    argTypes:
    - vlc_playlist_t*
    - ssize_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 303
    functionName: vlc::playlist::on_playlist_current_index_changed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - PlaylistItem::raw
    - static_cast<PlaylistControllerPrivate *>
    - PlaylistControllerPrivate*::q_func
    - PlaylistControllerPrivate*::m_currentItem::raw
    - vlc_playlist_Get
    - PlaylistControllerPrivate*::callAsync
    linkageType: ''
    returnType: void
    signature: "void on_playlist_current_index_changed(vlc_playlist_t *playlist, ssize_t
      index,\n                                 void *userdata)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:309,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - playlist
    - has_prev
    - userdata
    argTypes:
    - vlc_playlist_t*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 319
    functionName: vlc::playlist::on_playlist_has_prev_changed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - PlaylistControllerPrivate*::callAsync
    - static_cast<PlaylistControllerPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_has_prev_changed(vlc_playlist_t *playlist, bool has_prev,\n
      \                            void *userdata)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:325,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - playlist
    - has_next
    - userdata
    argTypes:
    - vlc_playlist_t*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 335
    functionName: vlc::playlist::on_playlist_has_next_changed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - PlaylistControllerPrivate*::callAsync
    - static_cast<PlaylistControllerPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_has_next_changed(vlc_playlist_t *playlist, bool has_next,\n
      \                            void *userdata)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:342,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:343,1
    - Dst: static_cast<PlaylistController::MediaStopAction>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - playlist
    - new_action
    - userdata
    argTypes:
    - vlc_playlist_t*
    - enum vlc_playlist_media_stopped_action
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 352
    functionName: vlc::playlist::on_media_stopped_action_changed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - PlaylistControllerPrivate*::callAsync
    - static_cast<PlaylistController::MediaStopAction>
    - static_cast<PlaylistControllerPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_media_stopped_action_changed(vlc_playlist_t *playlist,\n                          enum
      vlc_playlist_media_stopped_action new_action,\n                          void
      *userdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistControllerPrivate::fillSortKeyTitleList
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - playlistController
    - playlist
    argTypes:
    - PlaylistController*
    - vlc_playlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 380
    functionName: vlc::playlist::PlaylistControllerPrivate::PlaylistControllerPrivate
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc::playlist::PlaylistControllerPrivate::fillSortKeyTitleList
    linkageType: ''
    returnType: void
    signature: void PlaylistControllerPrivate::PlaylistControllerPrivate(PlaylistController*
      playlistController, vlc_playlist_t *playlist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_RemoveListener
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 389
    functionName: PlaylistControllerPrivate::~PlaylistControllerPrivate()
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_RemoveListener
    linkageType: ''
    returnType: void
    signature: void PlaylistControllerPrivate::~PlaylistControllerPrivate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistControllerPrivate::PlaylistControllerPrivate
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:395,1
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:397,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:398,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:400,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:401,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:402,1
    - Dst: vlc::playlist::PlaylistController::resetSortKey
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:402,1
    - Dst: vlc_playlist_AddListener
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:406,1
    - Dst: callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - playlist
    - parent
    argTypes:
    - vlc_playlist_t*
    - QObject*
    assertStmts:
    - condition: (playlist)
      pos:
        line_end: 397
        line_start: 397
        source_file: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    constantsTouched: []
    func_position:
      end: 418
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 418
    functionName: vlc::playlist::PlaylistController::PlaylistController
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 1
    functionsReached:
    - assert
    - callAsync
    - vlc_playlist_AddListener
    - vlc::playlist::PlaylistController::resetSortKey
    - connect
    - Q_D
    - PlaylistControllerPrivate::PlaylistControllerPrivate
    linkageType: ''
    returnType: void
    signature: void PlaylistController::PlaylistController(vlc_playlist_t *playlist,
      QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 422
    functionName: PlaylistController::~PlaylistController()
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlaylistController::~PlaylistController()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 428
    functionName: vlc::playlist::PlaylistController::getCurrentItem
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PlaylistItem
    signature: PlaylistItem PlaylistController::getCurrentItem() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistController::append
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:432,1
    - Dst: toMediaList
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sourceList'
    - startPlaying
    argTypes:
    - QVariantList
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 433
    functionName: vlc::playlist::PlaylistController::append
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 5
    functionsReached:
    - vlc::playlist::PlaylistController::append
    - toMediaList
    linkageType: ''
    returnType: void
    signature: void PlaylistController::append(const QVariantList& sourceList, bool
      startPlaying)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistController::append
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source
    - startPlaying
    argTypes:
    - QVariant
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 438
    functionName: vlc::playlist::PlaylistController::append
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 6
    functionsReached:
    - vlc::playlist::PlaylistController::append
    linkageType: ''
    returnType: void
    signature: void PlaylistController::append(const QVariant &source, bool startPlaying)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistController::insert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:442,1
    - Dst: toMediaList
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - index
    - ' sourceList'
    - startPlaying
    argTypes:
    - unsigned
    - QVariantList
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 443
    functionName: vlc::playlist::PlaylistController::insert
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 3
    functionsReached:
    - toMediaList
    - vlc::playlist::PlaylistController::insert
    linkageType: ''
    returnType: void
    signature: void PlaylistController::insert(unsigned index, const QVariantList&
      sourceList, bool startPlaying)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:448,1
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:450,1
    - Dst: QVector<Media>::isEmpty
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:450,1
    - Dst: toRaw<input_item_t *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:455,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:457,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:457,1
    - Dst: vlc_playlist_Append
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:459,1
    - Dst: auto::constData
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:460,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:460,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:462,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:465,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:465,1
    - Dst: vlc_playlist_GoTo
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:466,1
    - Dst: vlc_playlist_Start
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:469,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - media
    - startPlaying
    argTypes:
    - QVector<Media>
    - bool
    assertStmts:
    - condition: (rawMedia.size() > 0)
      pos:
        line_end: 456
        line_start: 456
        source_file: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    constantsTouched: []
    func_position:
      end: 471
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 471
    functionName: vlc::playlist::PlaylistController::append
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 6
    functionsReached:
    - auto::size
    - QVector<Media>::isEmpty
    - Q_UNLIKELY
    - assert
    - auto::constData
    - vlc_playlist_Count
    - vlc_playlist_GoTo
    - vlc_playlist_Append
    - std::bad_alloc
    - toRaw<input_item_t *>
    - vlc_playlist_Start
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::append(const QVector<Media> &media, bool startPlaying)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:476,1
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:478,1
    - Dst: QVector<Media>::isEmpty
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:478,1
    - Dst: toRaw<input_item_t *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:483,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:485,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:485,1
    - Dst: vlc_playlist_RequestInsert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:487,1
    - Dst: auto::constData
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:488,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:488,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:490,1
    - Dst: vlc_playlist_GoTo
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:493,1
    - Dst: vlc_playlist_Start
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:496,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - index
    - media
    - startPlaying
    argTypes:
    - size_t
    - QVector<Media>
    - bool
    assertStmts:
    - condition: (rawMedia.size() > 0)
      pos:
        line_end: 484
        line_start: 484
        source_file: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    constantsTouched: []
    func_position:
      end: 498
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 498
    functionName: vlc::playlist::PlaylistController::insert
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 3
    functionsReached:
    - vlc_playlist_RequestInsert
    - auto::size
    - QVector<Media>::isEmpty
    - Q_UNLIKELY
    - assert
    - auto::constData
    - vlc_playlist_GoTo
    - std::bad_alloc
    - toRaw<input_item_t *>
    - vlc_playlist_Start
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::insert(size_t index, const QVector<Media>
      &media, bool startPlaying)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:504,1
    - Dst: toRaw<vlc_playlist_item_t *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:507,1
    - Dst: vlc_playlist_RequestMove
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:508,1
    - Dst: auto::constData
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:508,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:509,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:511,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - items
    - target
    - indexHint
    argTypes:
    - QVector<PlaylistItem>
    - size_t
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 512
    functionName: vlc::playlist::PlaylistController::move
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - auto::constData
    - Q_D
    - std::bad_alloc
    - toRaw<vlc_playlist_item_t *>
    - vlc_playlist_RequestMove
    linkageType: ''
    returnType: void
    signature: "void PlaylistController::move(const QVector<PlaylistItem> &items,
      size_t target,\n               ssize_t indexHint)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:517,1
    - Dst: toRaw<vlc_playlist_item_t *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:519,1
    - Dst: vlc_playlist_RequestRemove
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:520,1
    - Dst: auto::constData
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:520,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:521,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:523,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - items
    - indexHint
    argTypes:
    - QVector<PlaylistItem>
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 524
    functionName: vlc::playlist::PlaylistController::remove
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_RequestRemove
    - auto::size
    - auto::constData
    - std::bad_alloc
    - toRaw<vlc_playlist_item_t *>
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::remove(const QVector<PlaylistItem> &items,
      ssize_t indexHint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:529,1
    - Dst: vlc_playlist_Shuffle
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 532
    functionName: vlc::playlist::PlaylistController::shuffle
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    - vlc_playlist_Shuffle
    linkageType: ''
    returnType: void
    signature: void PlaylistController::shuffle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:537,1
    - Dst: vlc_playlist_Sort
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:539,1
    - Dst: QVector<vlc_playlist_sort_criterion>::constData
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:539,1
    - Dst: QVector<vlc_playlist_sort_criterion>::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - criteria
    argTypes:
    - QVector<vlc_playlist_sort_criterion>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 540
    functionName: vlc::playlist::PlaylistController::sort
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 6
    functionsReached:
    - QVector<vlc_playlist_sort_criterion>::size
    - vlc_playlist_Sort
    - Q_D
    - QVector<vlc_playlist_sort_criterion>::constData
    linkageType: ''
    returnType: void
    signature: void PlaylistController::sort(const QVector<vlc_playlist_sort_criterion>
      &criteria)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistController::setSortKey
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:545,1
    - Dst: vlc::playlist::PlaylistController::setSortOrder
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:546,1
    - Dst: vlc::playlist::PlaylistController::sort
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - key
    - order
    argTypes:
    - PlaylistController::SortKey
    - PlaylistController::SortOrder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 549
    functionName: vlc::playlist::PlaylistController::sort
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 7
    functionsReached:
    - vlc::playlist::PlaylistController::setSortKey
    - vlc::playlist::PlaylistController::sort
    - vlc::playlist::PlaylistController::setSortOrder
    linkageType: ''
    returnType: void
    signature: void PlaylistController::sort(PlaylistController::SortKey key, PlaylistController::SortOrder
      order)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistController::getSortKey
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:556,1
    - Dst: vlc::playlist::PlaylistController::setSortOrder
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:558,1
    - Dst: vlc::playlist::PlaylistController::setSortKey
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:559,1
    - Dst: vlc::playlist::PlaylistController::switchSortOrder
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:563,1
    - Dst: vlc::playlist::PlaylistController::sort
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - key
    argTypes:
    - PlaylistController::SortKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 567
    functionName: vlc::playlist::PlaylistController::sort
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 8
    functionsReached:
    - vlc::playlist::PlaylistController::getSortKey
    - vlc::playlist::PlaylistController::setSortOrder
    - vlc::playlist::PlaylistController::sort
    - vlc::playlist::PlaylistController::switchSortOrder
    - vlc::playlist::PlaylistController::setSortKey
    linkageType: ''
    returnType: void
    signature: void PlaylistController::sort(PlaylistController::SortKey key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:571,1
    - Dst: static_cast<vlc_playlist_sort_key>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:577,1
    - Dst: static_cast<vlc_playlist_sort_order>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:578,1
    - Dst: vlc::playlist::PlaylistController::sort
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 582
    functionName: vlc::playlist::PlaylistController::sort
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 9
    functionsReached:
    - static_cast<vlc_playlist_sort_order>
    - vlc::playlist::PlaylistController::sort
    - Q_D
    - static_cast<vlc_playlist_sort_key>
    linkageType: ''
    returnType: void
    signature: void PlaylistController::sort(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:586,1
    - Dst: vlc_playlist_item_GetMedia
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:589,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:590,1
    - Dst: input_item_GetURI
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:590,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:592,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:594,1
    - Dst: vlc_uri2path
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:594,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:594,1
    - Dst: QFileInfo
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:599,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:599,1
    - Dst: QFileInfo
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:600,1
    - Dst: QUrl::fromLocalFile
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:603,1
    - Dst: QUrl::isLocalFile
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:604,1
    - Dst: QDesktopServices::openUrl
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:607,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - ' pItem'
    argTypes:
    - PlaylistItem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 610
    functionName: vlc::playlist::PlaylistController::explore
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_item_GetMedia
    - vlc::wrap_cptr
    - QFileInfo
    - vlc_uri2path
    - raw
    - auto::get
    - QUrl::isLocalFile
    - QUrl::fromLocalFile
    - QDesktopServices::openUrl
    - input_item_GetURI
    linkageType: ''
    returnType: void
    signature: void PlaylistController::explore(const PlaylistItem& pItem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:614,1
    - Dst: vlc_playlist_Export
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:616,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 617
    functionName: vlc::playlist::PlaylistController::serialize
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - qtu
    - vlc_playlist_Export
    - Q_D
    linkageType: ''
    returnType: int
    signature: int PlaylistController::serialize(const QString &fileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 623
    functionName: vlc::playlist::PlaylistController::currentIndex
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int PlaylistController::currentIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:627,1
    - Dst: vlc_playlist_Start
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 630
    functionName: vlc::playlist::PlaylistController::play
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    - vlc_playlist_Start
    linkageType: ''
    returnType: void
    signature: void PlaylistController::play()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:634,1
    - Dst: vlc_playlist_Pause
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 637
    functionName: vlc::playlist::PlaylistController::pause
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    - vlc_playlist_Pause
    linkageType: ''
    returnType: void
    signature: void PlaylistController::pause()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:641,1
    - Dst: vlc_playlist_Stop
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 644
    functionName: vlc::playlist::PlaylistController::stop
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_Stop
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:648,1
    - Dst: vlc_playlist_Next
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 651
    functionName: vlc::playlist::PlaylistController::next
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    - vlc_playlist_Next
    linkageType: ''
    returnType: void
    signature: void PlaylistController::next()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:655,1
    - Dst: vlc_playlist_Prev
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 658
    functionName: vlc::playlist::PlaylistController::prev
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_Prev
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::prev()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:662,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:665,1
    - Dst: Q_ASSERT
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:666,1
    - Dst: vlc_player_IsStarted
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:667,1
    - Dst: vlc_player_GetTime
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:667,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:667,1
    - Dst: vlc_playlist_Prev
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:669,1
    - Dst: vlc_playlist_Start
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:671,1
    - Dst: vlc_player_JumpPos
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:676,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 677
    functionName: vlc::playlist::PlaylistController::prevOrReset
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_ASSERT
    - VLC_TICK_FROM_MS
    - vlc_player_GetTime
    - vlc_playlist_Prev
    - vlc_playlist_GetPlayer
    - vlc_player_JumpPos
    - vlc_playlist_Start
    - vlc_player_IsStarted
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::prevOrReset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:681,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:683,1
    - Dst: vlc_player_IsStarted
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:684,1
    - Dst: vlc_player_TogglePause
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:685,1
    - Dst: vlc_playlist_Start
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 688
    functionName: vlc::playlist::PlaylistController::togglePlayPause
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_GetPlayer
    - vlc_playlist_Start
    - vlc_player_IsStarted
    - Q_D
    - vlc_player_TogglePause
    linkageType: ''
    returnType: void
    signature: void PlaylistController::togglePlayPause()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:692,1
    - Dst: vlc_playlist_SetPlaybackOrder
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:699,1
    - Dst: config_PutInt
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 701
    functionName: vlc::playlist::PlaylistController::toggleRandom
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    - vlc_playlist_SetPlaybackOrder
    - config_PutInt
    linkageType: ''
    returnType: void
    signature: void PlaylistController::toggleRandom()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:705,1
    - Dst: vlc_playlist_SetPlaybackRepeat
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:722,1
    - Dst: config_PutInt
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:724,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 725
    functionName: vlc::playlist::PlaylistController::toggleRepeatMode
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    - vlc_playlist_SetPlaybackRepeat
    - config_PutInt
    linkageType: ''
    returnType: void
    signature: void PlaylistController::toggleRepeatMode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:729,1
    - Dst: vlc_playlist_Clear
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 732
    functionName: vlc::playlist::PlaylistController::clear
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    - vlc_playlist_Clear
    linkageType: ''
    returnType: void
    signature: void PlaylistController::clear()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:736,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:738,1
    - Dst: vlc_playlist_GoTo
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:741,1
    - Dst: vlc_playlist_Start
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:743,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - index
    - startPlaying
    argTypes:
    - uint
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 744
    functionName: vlc::playlist::PlaylistController::goTo
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_GoTo
    - vlc_playlist_Start
    - Q_D
    - vlc_playlist_Count
    linkageType: ''
    returnType: void
    signature: void PlaylistController::goTo(uint index, bool startPlaying)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 750
    functionName: vlc::playlist::PlaylistController::isRandom
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PlaylistController::isRandom() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_SetPlaybackOrder
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - random
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 757
    functionName: vlc::playlist::PlaylistController::setRandom
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_SetPlaybackOrder
    linkageType: ''
    returnType: void
    signature: void PlaylistController::setRandom(bool random)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Playlist
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 763
    functionName: vlc::playlist::PlaylistController::getPlaylist
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Playlist
    linkageType: ''
    returnType: Playlist
    signature: Playlist PlaylistController::getPlaylist() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 770
    functionName: vlc::playlist::PlaylistController::resetSortKey
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 3
    functionsReached:
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::resetSortKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 776
    functionName: vlc::playlist::PlaylistController::getRepeatMode
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PlaylistController::PlaybackRepeat
    signature: PlaylistController::PlaybackRepeat PlaylistController::getRepeatMode()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_SetPlaybackRepeat
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:782,1
    - Dst: static_cast<vlc_playlist_playback_repeat>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mode
    argTypes:
    - PlaylistController::PlaybackRepeat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 783
    functionName: vlc::playlist::PlaylistController::setRepeatMode
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - static_cast<vlc_playlist_playback_repeat>
    - vlc_playlist_SetPlaybackRepeat
    linkageType: ''
    returnType: void
    signature: void PlaylistController::setRepeatMode(PlaylistController::PlaybackRepeat
      mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 789
    functionName: vlc::playlist::PlaylistController::getMediaStopAction
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PlaylistController::MediaStopAction
    signature: PlaylistController::MediaStopAction PlaylistController::getMediaStopAction()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:793,1
    - Dst: vlc_playlist_SetMediaStoppedAction
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:795,1
    - Dst: static_cast<vlc_playlist_media_stopped_action>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - action
    argTypes:
    - PlaylistController::MediaStopAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 796
    functionName: vlc::playlist::PlaylistController::setMediaStopAction
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - static_cast<vlc_playlist_media_stopped_action>
    - vlc_playlist_SetMediaStoppedAction
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::setMediaStopAction(PlaylistController::MediaStopAction
      action)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 802
    functionName: vlc::playlist::PlaylistController::isEmpty
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PlaylistController::isEmpty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (d->m_count <= (size_t)INT_MAX)
      pos:
        line_end: 806
        line_start: 806
        source_file: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    constantsTouched: []
    func_position:
      end: 809
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 809
    functionName: vlc::playlist::PlaylistController::count
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int PlaylistController::count() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:813,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sortKey
    argTypes:
    - SortKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 820
    functionName: vlc::playlist::PlaylistController::setSortKey
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 6
    functionsReached:
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::setSortKey(SortKey sortKey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:824,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sortOrder
    argTypes:
    - SortOrder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 832
    functionName: vlc::playlist::PlaylistController::setSortOrder
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 6
    functionsReached:
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::setSortOrder(SortOrder sortOrder)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:836,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 848
    functionName: vlc::playlist::PlaylistController::switchSortOrder
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 3
    functionsReached:
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::switchSortOrder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 854
    functionName: vlc::playlist::PlaylistController::getSortKey
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: PlaylistController::SortKey
    signature: PlaylistController::SortKey PlaylistController::getSortKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 860
    functionName: vlc::playlist::PlaylistController::getSortOrder
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PlaylistController::SortOrder
    signature: PlaylistController::SortOrder PlaylistController::getSortOrder() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 866
    functionName: vlc::playlist::PlaylistController::hasNext
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PlaylistController::hasNext() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 872
    functionName: vlc::playlist::PlaylistController::hasPrev
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PlaylistController::hasPrev() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 879
    functionName: vlc::playlist::PlaylistController::getSortKeyTitleList
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QVariantList
    signature: QVariantList PlaylistController::getSortKeyTitleList() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 885
    functionName: vlc::playlist::PlaylistController::isInitialized
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PlaylistController::isInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVector::push_back
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - items
    - len
    argTypes:
    - vlc_playlist_item_t*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: vlc::playlist::toVec
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 21
    functionsReached:
    - QVector::push_back
    linkageType: ''
    returnType: QVector<PlaylistItem>
    signature: "QVector<PlaylistItem> toVec(vlc_playlist_item_t *const items[],\n
      \                                  size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVector<WRAPPER>::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:48,1
    - Dst: QVector::reserve
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:49,1
    - Dst: QVector::push_back
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:51,1
    - Dst: raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - items
    argTypes:
    - QVector<WRAPPER>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: vlc::playlist::toRaw
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - QVector<WRAPPER>::size
    - QVector::push_back
    - raw
    - QVector::reserve
    linkageType: ''
    returnType: QVector<RAW>
    signature: QVector<RAW> toRaw(const QVector<WRAPPER> &items)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: transform
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:58,1
    - Dst: QVariantList::begin
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:58,1
    - Dst: QVariantList::end
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:58,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:59,1
    - Dst: typeId
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:60,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:67,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:72,1
    - Dst: Q_UNREACHABLE
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:75,1
    - Dst: QUrl::isValid
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:77,1
    - Dst: Media
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:78,1
    - Dst: QUrl::scheme
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:80,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:83,1
    - Dst: QString::fromUtf8
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:84,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:84,1
    - Dst: vlc_path2uri
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:84,1
    - Dst: std::optional::toUtf8
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:84,1
    - Dst: QUrl::isValid
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:86,1
    - Dst: Media
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:87,1
    - Dst: QUrl::scheme
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:90,1
    - Dst: Media
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:91,1
    - Dst: Media
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:93,1
    - Dst: QUrl::toString
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:93,1
    - Dst: QUrl::fileName
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:93,1
    - Dst: canConvert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:95,1
    - Dst: Media
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:97,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:97,1
    - Dst: canConvert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:99,1
    - Dst: Media
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:101,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:101,1
    - Dst: QVector::removeAll
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:107,1
    - Dst: Media
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:107,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 1
    argNames:
    - sources
    argTypes:
    - QVariantList
    assertStmts:
    - condition: (input)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    constantsTouched: []
    func_position:
      end: 110
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 110
    functionName: vlc::playlist::toMediaList
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - transform
    - assert
    - canConvert
    - QUrl::fileName
    - QUrl::scheme
    - QVariantList::end
    - QString::fromUtf8
    - QUrl::toString
    - typeId
    - value
    - QVariantList::begin
    - vlc::wrap_cptr
    - Media
    - QUrl::isValid
    - std::back_inserter
    - QVector::removeAll
    - Q_UNREACHABLE
    - vlc_path2uri
    - std::optional::toUtf8
    linkageType: ''
    returnType: QVector<Media>
    signature: QVector<Media> toMediaList(const QVariantList &sources)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:120,1
    - Dst: vlc::playlist::toVec
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:121,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:122,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:124,1
    - Dst: PlaylistControllerPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:127,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - playlist
    - items
    - len
    - userdata
    argTypes:
    - vlc_playlist_t*
    - vlc_playlist_item_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 142
    functionName: vlc::playlist::on_playlist_items_reset
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - vlc_playlist_Count
    - static_cast<PlaylistControllerPrivate *>
    - PlaylistControllerPrivate*::q_func
    - PlaylistControllerPrivate*::callAsync
    - vlc::playlist::toVec
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_reset(vlc_playlist_t *playlist,\n                        vlc_playlist_item_t
      *const items[],\n                        size_t len, void *userdata)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:149,1
    - Dst: vlc::playlist::toVec
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:150,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:151,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:152,1
    - Dst: PlaylistControllerPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:155,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - playlist
    - index
    - items
    - len
    - userdata
    argTypes:
    - vlc_playlist_t*
    - size_t
    - vlc_playlist_item_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 169
    functionName: vlc::playlist::on_playlist_items_added
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - vlc_playlist_Count
    - static_cast<PlaylistControllerPrivate *>
    - PlaylistControllerPrivate*::q_func
    - PlaylistControllerPrivate*::callAsync
    - vlc::playlist::toVec
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_added(vlc_playlist_t *playlist, size_t index,\n
      \                       vlc_playlist_item_t *const items[], size_t len,\n                        void
      *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:175,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - playlist
    - index
    - count
    - target
    - userdata
    argTypes:
    - vlc_playlist_t*
    - size_t
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 181
    functionName: vlc::playlist::on_playlist_items_moved
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - PlaylistControllerPrivate*::callAsync
    - static_cast<PlaylistControllerPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_moved(vlc_playlist_t *playlist, size_t index,
      size_t count,\n                        size_t target, void *userdata)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:187,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:188,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:190,1
    - Dst: PlaylistControllerPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - playlist
    - index
    - count
    - userdata
    argTypes:
    - vlc_playlist_t*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 206
    functionName: vlc::playlist::on_playlist_items_removed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - PlaylistControllerPrivate*::callAsync
    - PlaylistControllerPrivate*::q_func
    - vlc_playlist_Count
    - static_cast<PlaylistControllerPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_removed(vlc_playlist_t *playlist, size_t index,
      size_t count,\n                          void *userdata)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:213,1
    - Dst: vlc::playlist::toVec
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:214,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:215,1
    - Dst: static_cast<size_t>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:220,1
    - Dst: PlaylistControllerPrivate*::m_currentItem::raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:224,1
    - Dst: auto::raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:228,1
    - Dst: PlaylistControllerPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - playlist
    - index
    - items
    - len
    - userdata
    argTypes:
    - vlc_playlist_t*
    - size_t
    - vlc_playlist_item_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 233
    functionName: vlc::playlist::on_playlist_items_updated
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - auto::raw
    - static_cast<size_t>
    - static_cast<PlaylistControllerPrivate *>
    - PlaylistControllerPrivate*::q_func
    - PlaylistControllerPrivate*::m_currentItem::raw
    - PlaylistControllerPrivate*::callAsync
    - vlc::playlist::toVec
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_updated(vlc_playlist_t *playlist, size_t index,\n
      \                         vlc_playlist_item_t *const items[], size_t len,\n
      \                         void *userdata)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:240,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:241,1
    - Dst: static_cast<PlaylistController::PlaybackRepeat>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - playlist
    - repeat
    - userdata
    argTypes:
    - vlc_playlist_t*
    - enum vlc_playlist_playback_repeat
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 251
    functionName: vlc::playlist::on_playlist_playback_repeat_changed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - PlaylistControllerPrivate*::callAsync
    - static_cast<PlaylistController::PlaybackRepeat>
    - static_cast<PlaylistControllerPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_playback_repeat_changed(vlc_playlist_t *playlist,\n
      \                                   enum vlc_playlist_playback_repeat repeat,\n
      \                                   void *userdata)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:258,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - playlist
    - order
    - userdata
    argTypes:
    - vlc_playlist_t*
    - enum vlc_playlist_playback_order
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 269
    functionName: vlc::playlist::on_playlist_playback_order_changed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - PlaylistControllerPrivate*::callAsync
    - static_cast<PlaylistControllerPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_playback_order_changed(vlc_playlist_t *playlist,\n
      \                                  enum vlc_playlist_playback_order order,\n
      \                                  void *userdata)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:275,1
    - Dst: vlc_playlist_Get
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:280,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:283,1
    - Dst: PlaylistControllerPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:284,1
    - Dst: PlaylistControllerPrivate*::m_currentItem::raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:297,1
    - Dst: PlaylistItem::raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - playlist
    - index
    - userdata
    argTypes:
    - vlc_playlist_t*
    - ssize_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 303
    functionName: vlc::playlist::on_playlist_current_index_changed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - PlaylistItem::raw
    - static_cast<PlaylistControllerPrivate *>
    - PlaylistControllerPrivate*::q_func
    - PlaylistControllerPrivate*::m_currentItem::raw
    - vlc_playlist_Get
    - PlaylistControllerPrivate*::callAsync
    linkageType: ''
    returnType: void
    signature: "void on_playlist_current_index_changed(vlc_playlist_t *playlist, ssize_t
      index,\n                                 void *userdata)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:309,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - playlist
    - has_prev
    - userdata
    argTypes:
    - vlc_playlist_t*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 319
    functionName: vlc::playlist::on_playlist_has_prev_changed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - PlaylistControllerPrivate*::callAsync
    - static_cast<PlaylistControllerPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_has_prev_changed(vlc_playlist_t *playlist, bool has_prev,\n
      \                            void *userdata)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:325,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - playlist
    - has_next
    - userdata
    argTypes:
    - vlc_playlist_t*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 335
    functionName: vlc::playlist::on_playlist_has_next_changed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - PlaylistControllerPrivate*::callAsync
    - static_cast<PlaylistControllerPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_playlist_has_next_changed(vlc_playlist_t *playlist, bool has_next,\n
      \                            void *userdata)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PlaylistControllerPrivate *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:342,1
    - Dst: PlaylistControllerPrivate*::callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:343,1
    - Dst: static_cast<PlaylistController::MediaStopAction>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - playlist
    - new_action
    - userdata
    argTypes:
    - vlc_playlist_t*
    - enum vlc_playlist_media_stopped_action
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 352
    functionName: vlc::playlist::on_media_stopped_action_changed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - PlaylistControllerPrivate*::callAsync
    - static_cast<PlaylistController::MediaStopAction>
    - static_cast<PlaylistControllerPrivate *>
    linkageType: ''
    returnType: void
    signature: "void on_media_stopped_action_changed(vlc_playlist_t *playlist,\n                          enum
      vlc_playlist_media_stopped_action new_action,\n                          void
      *userdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistControllerPrivate::fillSortKeyTitleList
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - playlistController
    - playlist
    argTypes:
    - PlaylistController*
    - vlc_playlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 380
    functionName: vlc::playlist::PlaylistControllerPrivate::PlaylistControllerPrivate
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc::playlist::PlaylistControllerPrivate::fillSortKeyTitleList
    linkageType: ''
    returnType: void
    signature: void PlaylistControllerPrivate::PlaylistControllerPrivate(PlaylistController*
      playlistController, vlc_playlist_t *playlist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_RemoveListener
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 389
    functionName: PlaylistControllerPrivate::~PlaylistControllerPrivate()
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_RemoveListener
    linkageType: ''
    returnType: void
    signature: void PlaylistControllerPrivate::~PlaylistControllerPrivate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistControllerPrivate::PlaylistControllerPrivate
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:395,1
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:397,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:398,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:400,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:401,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:402,1
    - Dst: vlc::playlist::PlaylistController::resetSortKey
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:402,1
    - Dst: vlc_playlist_AddListener
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:406,1
    - Dst: callAsync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - playlist
    - parent
    argTypes:
    - vlc_playlist_t*
    - QObject*
    assertStmts:
    - condition: (playlist)
      pos:
        line_end: 397
        line_start: 397
        source_file: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    constantsTouched: []
    func_position:
      end: 418
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 418
    functionName: vlc::playlist::PlaylistController::PlaylistController
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 1
    functionsReached:
    - assert
    - callAsync
    - vlc_playlist_AddListener
    - vlc::playlist::PlaylistController::resetSortKey
    - connect
    - Q_D
    - PlaylistControllerPrivate::PlaylistControllerPrivate
    linkageType: ''
    returnType: void
    signature: void PlaylistController::PlaylistController(vlc_playlist_t *playlist,
      QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 422
    functionName: PlaylistController::~PlaylistController()
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlaylistController::~PlaylistController()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 428
    functionName: vlc::playlist::PlaylistController::getCurrentItem
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PlaylistItem
    signature: PlaylistItem PlaylistController::getCurrentItem() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistController::append
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:432,1
    - Dst: toMediaList
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sourceList'
    - startPlaying
    argTypes:
    - QVariantList
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 433
    functionName: vlc::playlist::PlaylistController::append
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 7
    functionsReached:
    - vlc::playlist::PlaylistController::append
    - toMediaList
    linkageType: ''
    returnType: void
    signature: void PlaylistController::append(const QVariantList& sourceList, bool
      startPlaying)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistController::append
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source
    - startPlaying
    argTypes:
    - QVariant
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 438
    functionName: vlc::playlist::PlaylistController::append
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 8
    functionsReached:
    - vlc::playlist::PlaylistController::append
    linkageType: ''
    returnType: void
    signature: void PlaylistController::append(const QVariant &source, bool startPlaying)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistController::insert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:442,1
    - Dst: toMediaList
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - index
    - ' sourceList'
    - startPlaying
    argTypes:
    - unsigned
    - QVariantList
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 443
    functionName: vlc::playlist::PlaylistController::insert
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 4
    functionsReached:
    - toMediaList
    - vlc::playlist::PlaylistController::insert
    linkageType: ''
    returnType: void
    signature: void PlaylistController::insert(unsigned index, const QVariantList&
      sourceList, bool startPlaying)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:448,1
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:450,1
    - Dst: QVector<Media>::isEmpty
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:450,1
    - Dst: toRaw<input_item_t *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:455,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:457,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:457,1
    - Dst: vlc_playlist_Append
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:459,1
    - Dst: auto::constData
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:460,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:460,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:462,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:465,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:465,1
    - Dst: vlc_playlist_GoTo
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:466,1
    - Dst: vlc_playlist_Start
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:469,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - media
    - startPlaying
    argTypes:
    - QVector<Media>
    - bool
    assertStmts:
    - condition: (rawMedia.size() > 0)
      pos:
        line_end: 456
        line_start: 456
        source_file: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    constantsTouched: []
    func_position:
      end: 471
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 471
    functionName: vlc::playlist::PlaylistController::append
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 8
    functionsReached:
    - auto::size
    - QVector<Media>::isEmpty
    - Q_UNLIKELY
    - assert
    - auto::constData
    - vlc_playlist_Count
    - vlc_playlist_GoTo
    - vlc_playlist_Append
    - std::bad_alloc
    - toRaw<input_item_t *>
    - vlc_playlist_Start
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::append(const QVector<Media> &media, bool startPlaying)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:476,1
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:478,1
    - Dst: QVector<Media>::isEmpty
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:478,1
    - Dst: toRaw<input_item_t *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:483,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:485,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:485,1
    - Dst: vlc_playlist_RequestInsert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:487,1
    - Dst: auto::constData
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:488,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:488,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:490,1
    - Dst: vlc_playlist_GoTo
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:493,1
    - Dst: vlc_playlist_Start
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:496,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - index
    - media
    - startPlaying
    argTypes:
    - size_t
    - QVector<Media>
    - bool
    assertStmts:
    - condition: (rawMedia.size() > 0)
      pos:
        line_end: 484
        line_start: 484
        source_file: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    constantsTouched: []
    func_position:
      end: 498
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 498
    functionName: vlc::playlist::PlaylistController::insert
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 4
    functionsReached:
    - vlc_playlist_RequestInsert
    - auto::size
    - QVector<Media>::isEmpty
    - Q_UNLIKELY
    - assert
    - auto::constData
    - vlc_playlist_GoTo
    - std::bad_alloc
    - toRaw<input_item_t *>
    - vlc_playlist_Start
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::insert(size_t index, const QVector<Media>
      &media, bool startPlaying)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:504,1
    - Dst: toRaw<vlc_playlist_item_t *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:507,1
    - Dst: vlc_playlist_RequestMove
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:508,1
    - Dst: auto::constData
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:508,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:509,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:511,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - items
    - target
    - indexHint
    argTypes:
    - QVector<PlaylistItem>
    - size_t
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 512
    functionName: vlc::playlist::PlaylistController::move
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - auto::constData
    - Q_D
    - std::bad_alloc
    - toRaw<vlc_playlist_item_t *>
    - vlc_playlist_RequestMove
    linkageType: ''
    returnType: void
    signature: "void PlaylistController::move(const QVector<PlaylistItem> &items,
      size_t target,\n               ssize_t indexHint)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:517,1
    - Dst: toRaw<vlc_playlist_item_t *>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:519,1
    - Dst: vlc_playlist_RequestRemove
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:520,1
    - Dst: auto::constData
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:520,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:521,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:523,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - items
    - indexHint
    argTypes:
    - QVector<PlaylistItem>
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 524
    functionName: vlc::playlist::PlaylistController::remove
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_RequestRemove
    - auto::size
    - auto::constData
    - std::bad_alloc
    - toRaw<vlc_playlist_item_t *>
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::remove(const QVector<PlaylistItem> &items,
      ssize_t indexHint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:529,1
    - Dst: vlc_playlist_Shuffle
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 532
    functionName: vlc::playlist::PlaylistController::shuffle
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    - vlc_playlist_Shuffle
    linkageType: ''
    returnType: void
    signature: void PlaylistController::shuffle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:537,1
    - Dst: vlc_playlist_Sort
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:539,1
    - Dst: QVector<vlc_playlist_sort_criterion>::constData
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:539,1
    - Dst: QVector<vlc_playlist_sort_criterion>::size
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - criteria
    argTypes:
    - QVector<vlc_playlist_sort_criterion>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 540
    functionName: vlc::playlist::PlaylistController::sort
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 9
    functionsReached:
    - QVector<vlc_playlist_sort_criterion>::size
    - vlc_playlist_Sort
    - Q_D
    - QVector<vlc_playlist_sort_criterion>::constData
    linkageType: ''
    returnType: void
    signature: void PlaylistController::sort(const QVector<vlc_playlist_sort_criterion>
      &criteria)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistController::setSortKey
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:545,1
    - Dst: vlc::playlist::PlaylistController::setSortOrder
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:546,1
    - Dst: vlc::playlist::PlaylistController::sort
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - key
    - order
    argTypes:
    - PlaylistController::SortKey
    - PlaylistController::SortOrder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 549
    functionName: vlc::playlist::PlaylistController::sort
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 10
    functionsReached:
    - vlc::playlist::PlaylistController::setSortKey
    - vlc::playlist::PlaylistController::sort
    - vlc::playlist::PlaylistController::setSortOrder
    linkageType: ''
    returnType: void
    signature: void PlaylistController::sort(PlaylistController::SortKey key, PlaylistController::SortOrder
      order)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistController::getSortKey
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:556,1
    - Dst: vlc::playlist::PlaylistController::setSortOrder
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:558,1
    - Dst: vlc::playlist::PlaylistController::setSortKey
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:559,1
    - Dst: vlc::playlist::PlaylistController::switchSortOrder
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:563,1
    - Dst: vlc::playlist::PlaylistController::sort
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - key
    argTypes:
    - PlaylistController::SortKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 567
    functionName: vlc::playlist::PlaylistController::sort
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 11
    functionsReached:
    - vlc::playlist::PlaylistController::getSortKey
    - vlc::playlist::PlaylistController::setSortOrder
    - vlc::playlist::PlaylistController::sort
    - vlc::playlist::PlaylistController::switchSortOrder
    - vlc::playlist::PlaylistController::setSortKey
    linkageType: ''
    returnType: void
    signature: void PlaylistController::sort(PlaylistController::SortKey key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:571,1
    - Dst: static_cast<vlc_playlist_sort_key>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:577,1
    - Dst: static_cast<vlc_playlist_sort_order>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:578,1
    - Dst: vlc::playlist::PlaylistController::sort
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 582
    functionName: vlc::playlist::PlaylistController::sort
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 12
    functionsReached:
    - static_cast<vlc_playlist_sort_order>
    - vlc::playlist::PlaylistController::sort
    - Q_D
    - static_cast<vlc_playlist_sort_key>
    linkageType: ''
    returnType: void
    signature: void PlaylistController::sort(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: raw
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:586,1
    - Dst: vlc_playlist_item_GetMedia
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:589,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:590,1
    - Dst: input_item_GetURI
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:590,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:592,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:594,1
    - Dst: vlc_uri2path
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:594,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:594,1
    - Dst: QFileInfo
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:599,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:599,1
    - Dst: QFileInfo
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:600,1
    - Dst: QUrl::fromLocalFile
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:603,1
    - Dst: QUrl::isLocalFile
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:604,1
    - Dst: QDesktopServices::openUrl
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:607,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - ' pItem'
    argTypes:
    - PlaylistItem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 610
    functionName: vlc::playlist::PlaylistController::explore
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_item_GetMedia
    - vlc::wrap_cptr
    - QFileInfo
    - vlc_uri2path
    - raw
    - auto::get
    - QUrl::isLocalFile
    - QUrl::fromLocalFile
    - QDesktopServices::openUrl
    - input_item_GetURI
    linkageType: ''
    returnType: void
    signature: void PlaylistController::explore(const PlaylistItem& pItem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:614,1
    - Dst: vlc_playlist_Export
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:616,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 617
    functionName: vlc::playlist::PlaylistController::serialize
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - qtu
    - vlc_playlist_Export
    - Q_D
    linkageType: ''
    returnType: int
    signature: int PlaylistController::serialize(const QString &fileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 623
    functionName: vlc::playlist::PlaylistController::currentIndex
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int PlaylistController::currentIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:627,1
    - Dst: vlc_playlist_Start
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 630
    functionName: vlc::playlist::PlaylistController::play
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    - vlc_playlist_Start
    linkageType: ''
    returnType: void
    signature: void PlaylistController::play()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:634,1
    - Dst: vlc_playlist_Pause
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 637
    functionName: vlc::playlist::PlaylistController::pause
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    - vlc_playlist_Pause
    linkageType: ''
    returnType: void
    signature: void PlaylistController::pause()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:641,1
    - Dst: vlc_playlist_Stop
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 644
    functionName: vlc::playlist::PlaylistController::stop
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_Stop
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:648,1
    - Dst: vlc_playlist_Next
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 651
    functionName: vlc::playlist::PlaylistController::next
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    - vlc_playlist_Next
    linkageType: ''
    returnType: void
    signature: void PlaylistController::next()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:655,1
    - Dst: vlc_playlist_Prev
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 658
    functionName: vlc::playlist::PlaylistController::prev
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_Prev
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::prev()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:662,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:665,1
    - Dst: Q_ASSERT
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:666,1
    - Dst: vlc_player_IsStarted
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:667,1
    - Dst: vlc_player_GetTime
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:667,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:667,1
    - Dst: vlc_playlist_Prev
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:669,1
    - Dst: vlc_playlist_Start
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:671,1
    - Dst: vlc_player_JumpPos
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:676,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 677
    functionName: vlc::playlist::PlaylistController::prevOrReset
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_ASSERT
    - VLC_TICK_FROM_MS
    - vlc_player_GetTime
    - vlc_playlist_Prev
    - vlc_playlist_GetPlayer
    - vlc_player_JumpPos
    - vlc_playlist_Start
    - vlc_player_IsStarted
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::prevOrReset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:681,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:683,1
    - Dst: vlc_player_IsStarted
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:684,1
    - Dst: vlc_player_TogglePause
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:685,1
    - Dst: vlc_playlist_Start
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 688
    functionName: vlc::playlist::PlaylistController::togglePlayPause
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_GetPlayer
    - vlc_playlist_Start
    - vlc_player_IsStarted
    - Q_D
    - vlc_player_TogglePause
    linkageType: ''
    returnType: void
    signature: void PlaylistController::togglePlayPause()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:692,1
    - Dst: vlc_playlist_SetPlaybackOrder
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:699,1
    - Dst: config_PutInt
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 701
    functionName: vlc::playlist::PlaylistController::toggleRandom
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    - vlc_playlist_SetPlaybackOrder
    - config_PutInt
    linkageType: ''
    returnType: void
    signature: void PlaylistController::toggleRandom()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:705,1
    - Dst: vlc_playlist_SetPlaybackRepeat
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:722,1
    - Dst: config_PutInt
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:724,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 725
    functionName: vlc::playlist::PlaylistController::toggleRepeatMode
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    - vlc_playlist_SetPlaybackRepeat
    - config_PutInt
    linkageType: ''
    returnType: void
    signature: void PlaylistController::toggleRepeatMode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:729,1
    - Dst: vlc_playlist_Clear
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 732
    functionName: vlc::playlist::PlaylistController::clear
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    - vlc_playlist_Clear
    linkageType: ''
    returnType: void
    signature: void PlaylistController::clear()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:736,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:738,1
    - Dst: vlc_playlist_GoTo
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:741,1
    - Dst: vlc_playlist_Start
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:743,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - index
    - startPlaying
    argTypes:
    - uint
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 744
    functionName: vlc::playlist::PlaylistController::goTo
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_GoTo
    - vlc_playlist_Start
    - Q_D
    - vlc_playlist_Count
    linkageType: ''
    returnType: void
    signature: void PlaylistController::goTo(uint index, bool startPlaying)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 750
    functionName: vlc::playlist::PlaylistController::isRandom
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PlaylistController::isRandom() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_SetPlaybackOrder
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - random
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 757
    functionName: vlc::playlist::PlaylistController::setRandom
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_SetPlaybackOrder
    linkageType: ''
    returnType: void
    signature: void PlaylistController::setRandom(bool random)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Playlist
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 763
    functionName: vlc::playlist::PlaylistController::getPlaylist
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - Playlist
    linkageType: ''
    returnType: Playlist
    signature: Playlist PlaylistController::getPlaylist() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 770
    functionName: vlc::playlist::PlaylistController::resetSortKey
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 4
    functionsReached:
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::resetSortKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 776
    functionName: vlc::playlist::PlaylistController::getRepeatMode
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PlaylistController::PlaybackRepeat
    signature: PlaylistController::PlaybackRepeat PlaylistController::getRepeatMode()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_SetPlaybackRepeat
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:782,1
    - Dst: static_cast<vlc_playlist_playback_repeat>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mode
    argTypes:
    - PlaylistController::PlaybackRepeat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 783
    functionName: vlc::playlist::PlaylistController::setRepeatMode
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - static_cast<vlc_playlist_playback_repeat>
    - vlc_playlist_SetPlaybackRepeat
    linkageType: ''
    returnType: void
    signature: void PlaylistController::setRepeatMode(PlaylistController::PlaybackRepeat
      mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 789
    functionName: vlc::playlist::PlaylistController::getMediaStopAction
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PlaylistController::MediaStopAction
    signature: PlaylistController::MediaStopAction PlaylistController::getMediaStopAction()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:793,1
    - Dst: vlc_playlist_SetMediaStoppedAction
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:795,1
    - Dst: static_cast<vlc_playlist_media_stopped_action>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - action
    argTypes:
    - PlaylistController::MediaStopAction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 796
    functionName: vlc::playlist::PlaylistController::setMediaStopAction
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - static_cast<vlc_playlist_media_stopped_action>
    - vlc_playlist_SetMediaStoppedAction
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::setMediaStopAction(PlaylistController::MediaStopAction
      action)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 802
    functionName: vlc::playlist::PlaylistController::isEmpty
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PlaylistController::isEmpty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (d->m_count <= (size_t)INT_MAX)
      pos:
        line_end: 806
        line_start: 806
        source_file: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    constantsTouched: []
    func_position:
      end: 809
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 809
    functionName: vlc::playlist::PlaylistController::count
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int PlaylistController::count() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:813,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sortKey
    argTypes:
    - SortKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 820
    functionName: vlc::playlist::PlaylistController::setSortKey
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 8
    functionsReached:
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::setSortKey(SortKey sortKey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:824,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sortOrder
    argTypes:
    - SortOrder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 832
    functionName: vlc::playlist::PlaylistController::setSortOrder
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 8
    functionsReached:
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::setSortOrder(SortOrder sortOrder)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp:836,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 848
    functionName: vlc::playlist::PlaylistController::switchSortOrder
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 4
    functionsReached:
    - Q_D
    linkageType: ''
    returnType: void
    signature: void PlaylistController::switchSortOrder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 854
    functionName: vlc::playlist::PlaylistController::getSortKey
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: PlaylistController::SortKey
    signature: PlaylistController::SortKey PlaylistController::getSortKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 860
    functionName: vlc::playlist::PlaylistController::getSortOrder
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PlaylistController::SortOrder
    signature: PlaylistController::SortOrder PlaylistController::getSortOrder() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 866
    functionName: vlc::playlist::PlaylistController::hasNext
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PlaylistController::hasNext() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 872
    functionName: vlc::playlist::PlaylistController::hasPrev
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PlaylistController::hasPrev() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 879
    functionName: vlc::playlist::PlaylistController::getSortKeyTitleList
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QVariantList
    signature: QVariantList PlaylistController::getSortKeyTitleList() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 885
    functionName: vlc::playlist::PlaylistController::isInitialized
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_controller.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PlaylistController::isInitialized() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Data::Data
      Src: /src/vlc/modules/gui/qt/playlist/playlist_item.cpp:27,1
    - Dst: item::reset
      Src: /src/vlc/modules/gui/qt/playlist/playlist_item.cpp:30,1
    - Dst: PlaylistItem::sync
      Src: /src/vlc/modules/gui/qt/playlist/playlist_item.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - item
    argTypes:
    - vlc_playlist_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: PlaylistItem::PlaylistItem
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_item.cpp
    functionUses: 0
    functionsReached:
    - PlaylistItem::sync
    - item::reset
    - Data::Data
    linkageType: ''
    returnType: void
    signature: void PlaylistItem::PlaylistItem(vlc_playlist_item_t* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: PlaylistItem::isSelected
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_item.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PlaylistItem::isSelected() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - selected
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: PlaylistItem::setSelected
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_item.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlaylistItem::setSelected(bool selected)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: PlaylistItem::getTitle
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_item.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString PlaylistItem::getTitle() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: PlaylistItem::getArtist
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_item.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString PlaylistItem::getArtist() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: PlaylistItem::getAlbum
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_item.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString PlaylistItem::getAlbum() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: PlaylistItem::getArtwork
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_item.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUrl
    signature: QUrl PlaylistItem::getArtwork() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: PlaylistItem::getDuration
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_item.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VLCDuration
    signature: VLCDuration PlaylistItem::getDuration() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: PlaylistItem::getUrl
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_item.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUrl
    signature: QUrl PlaylistItem::getUrl() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistItem::inputItem
      Src: /src/vlc/modules/gui/qt/playlist/playlist_item.cpp:76,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/playlist/playlist_item.cpp:77,1
    - Dst: vlc_meta_Get
      Src: /src/vlc/modules/gui/qt/playlist/playlist_item.cpp:87,1
    - Dst: vlc_meta_Get
      Src: /src/vlc/modules/gui/qt/playlist/playlist_item.cpp:88,1
    - Dst: vlc_meta_Get
      Src: /src/vlc/modules/gui/qt/playlist/playlist_item.cpp:89,1
    - Dst: vlc_meta_Get
      Src: /src/vlc/modules/gui/qt/playlist/playlist_item.cpp:90,1
    - Dst: title::isNull
      Src: /src/vlc/modules/gui/qt/playlist/playlist_item.cpp:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (media)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/vlc/modules/gui/qt/playlist/playlist_item.cpp
    constantsTouched: []
    func_position:
      end: 96
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 96
    functionName: PlaylistItem::sync
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_item.cpp
    functionUses: 1
    functionsReached:
    - PlaylistItem::inputItem
    - title::isNull
    - assert
    - vlc_meta_Get
    linkageType: ''
    returnType: void
    signature: void PlaylistItem::sync()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: item::get
      Src: /src/vlc/modules/gui/qt/playlist/playlist_item.cpp:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: PlaylistItem::operator bool() const
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_item.cpp
    functionUses: 0
    functionsReached:
    - item::get
    linkageType: ''
    returnType: void
    signature: void PlaylistItem::operator bool() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PlaylistItem::inputItem
      Src: /src/vlc/modules/gui/qt/playlist/playlist_item.cpp:104,1
    - Dst: input_item_IsPreparsed
      Src: /src/vlc/modules/gui/qt/playlist/playlist_item.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: PlaylistItem::preparsed
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_item.cpp
    functionUses: 0
    functionsReached:
    - PlaylistItem::inputItem
    - input_item_IsPreparsed
    linkageType: ''
    returnType: bool
    signature: bool PlaylistItem::preparsed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model_p.hpp:43,1
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model_p.hpp:44,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model_p.hpp:48,1
    - Dst: std::forward<Fun>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model_p.hpp:48,1
    - Dst: fun
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model_p.hpp:48,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model_p.hpp:50,1
    - Dst: std::forward<Fun>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model_p.hpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' fun'
    argTypes:
    - Fun
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: vlc::playlist::PlaylistListModelPrivate::callAsync
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model_p.hpp
    functionUses: 0
    functionsReached:
    - Q_Q
    - QT_VERSION_CHECK
    - fun
    - QMetaObject::invokeMethod
    - std::forward<Fun>
    linkageType: ''
    returnType: void
    signature: void callAsync(Fun&& fun)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model_p.hpp:43,1
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model_p.hpp:44,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model_p.hpp:48,1
    - Dst: std::forward<Fun>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model_p.hpp:48,1
    - Dst: fun
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model_p.hpp:48,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model_p.hpp:50,1
    - Dst: std::forward<Fun>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model_p.hpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' fun'
    argTypes:
    - Fun
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: vlc::playlist::PlaylistListModelPrivate::callAsync
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model_p.hpp
    functionUses: 0
    functionsReached:
    - Q_Q
    - QT_VERSION_CHECK
    - fun
    - QMetaObject::invokeMethod
    - std::forward<Fun>
    linkageType: ''
    returnType: void
    signature: void callAsync(Fun&& fun)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model_p.hpp:43,1
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model_p.hpp:44,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model_p.hpp:48,1
    - Dst: std::forward<Fun>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model_p.hpp:48,1
    - Dst: fun
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model_p.hpp:48,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model_p.hpp:50,1
    - Dst: std::forward<Fun>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model_p.hpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' fun'
    argTypes:
    - Fun
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: vlc::playlist::PlaylistListModelPrivate::callAsync
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model_p.hpp
    functionUses: 0
    functionsReached:
    - Q_Q
    - QT_VERSION_CHECK
    - fun
    - QMetaObject::invokeMethod
    - std::forward<Fun>
    linkageType: ''
    returnType: void
    signature: void callAsync(Fun&& fun)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model_p.hpp:43,1
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model_p.hpp:44,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model_p.hpp:48,1
    - Dst: std::forward<Fun>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model_p.hpp:48,1
    - Dst: fun
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model_p.hpp:48,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model_p.hpp:50,1
    - Dst: std::forward<Fun>
      Src: /src/vlc/modules/gui/qt/playlist/playlist_model_p.hpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' fun'
    argTypes:
    - Fun
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: vlc::playlist::PlaylistListModelPrivate::callAsync
    functionSourceFile: /src/vlc/modules/gui/qt/playlist/playlist_model_p.hpp
    functionUses: 0
    functionsReached:
    - Q_Q
    - QT_VERSION_CHECK
    - fun
    - QMetaObject::invokeMethod
    - std::forward<Fun>
    linkageType: ''
    returnType: void
    signature: void callAsync(Fun&& fun)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - StandardPathItemPtr
    - StandardPathItemPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: ListCache<StandardPathItemPtr>::compareItems
    functionSourceFile: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ListCache<StandardPathItemPtr>::compareItems(const StandardPathItemPtr&
      a, const StandardPathItemPtr& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name::contains
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' pattern'
    argTypes:
    - StandardPathItemPtr
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: itemMatchPattern
    functionSourceFile: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp
    functionUses: 0
    functionsReached:
    - name::contains
    linkageType: ''
    returnType: bool
    signature: bool itemMatchPattern(const StandardPathItemPtr& a, const QString&
      pattern)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_compare
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - StandardPathItemPtr
    - StandardPathItemPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: ascendingName
    functionSourceFile: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp
    functionUses: 0
    functionsReached:
    - file_compare
    linkageType: ''
    returnType: bool
    signature: "bool ascendingName(const StandardPathItemPtr& a,\n                   const
      StandardPathItemPtr& b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_compare
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:70,1
    - Dst: mainMrl::toString
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:70,1
    - Dst: mainMrl::toString
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - StandardPathItemPtr
    - StandardPathItemPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: ascendingMrl
    functionSourceFile: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp
    functionUses: 0
    functionsReached:
    - mainMrl::toString
    - file_compare
    linkageType: ''
    returnType: bool
    signature: "bool ascendingMrl(const StandardPathItemPtr& a,\n                   const
      StandardPathItemPtr& b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_compare
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - StandardPathItemPtr
    - StandardPathItemPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: descendingName
    functionSourceFile: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp
    functionUses: 0
    functionsReached:
    - file_compare
    linkageType: ''
    returnType: bool
    signature: "bool descendingName(const StandardPathItemPtr& a,\n                   const
      StandardPathItemPtr& b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_compare
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:82,1
    - Dst: mainMrl::toString
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:82,1
    - Dst: mainMrl::toString
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - StandardPathItemPtr
    - StandardPathItemPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: descendingMrl
    functionSourceFile: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp
    functionUses: 0
    functionsReached:
    - mainMrl::toString
    - file_compare
    linkageType: ''
    returnType: bool
    signature: "bool descendingMrl(const StandardPathItemPtr& a,\n                   const
      StandardPathItemPtr& b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name::contains
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' pattern'
    argTypes:
    - StandardPathItemPtr
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: itemMatchPattern
    functionSourceFile: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp
    functionUses: 0
    functionsReached:
    - name::contains
    linkageType: ''
    returnType: bool
    signature: bool itemMatchPattern(const StandardPathItemPtr& a, const QString&
      pattern)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_compare
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - StandardPathItemPtr
    - StandardPathItemPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: ascendingName
    functionSourceFile: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp
    functionUses: 0
    functionsReached:
    - file_compare
    linkageType: ''
    returnType: bool
    signature: "bool ascendingName(const StandardPathItemPtr& a,\n                   const
      StandardPathItemPtr& b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_compare
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:70,1
    - Dst: mainMrl::toString
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:70,1
    - Dst: mainMrl::toString
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - StandardPathItemPtr
    - StandardPathItemPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: ascendingMrl
    functionSourceFile: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp
    functionUses: 0
    functionsReached:
    - mainMrl::toString
    - file_compare
    linkageType: ''
    returnType: bool
    signature: "bool ascendingMrl(const StandardPathItemPtr& a,\n                   const
      StandardPathItemPtr& b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_compare
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - StandardPathItemPtr
    - StandardPathItemPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: descendingName
    functionSourceFile: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp
    functionUses: 0
    functionsReached:
    - file_compare
    linkageType: ''
    returnType: bool
    signature: "bool descendingName(const StandardPathItemPtr& a,\n                   const
      StandardPathItemPtr& b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_compare
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:82,1
    - Dst: mainMrl::toString
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:82,1
    - Dst: mainMrl::toString
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - StandardPathItemPtr
    - StandardPathItemPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: descendingMrl
    functionSourceFile: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp
    functionUses: 0
    functionsReached:
    - mainMrl::toString
    - file_compare
    linkageType: ''
    returnType: bool
    signature: "bool descendingMrl(const StandardPathItemPtr& a,\n                   const
      StandardPathItemPtr& b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pub
    argTypes:
    - StandardPathModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: StandardPathModelPrivate::StandardPathModelPrivate
    functionSourceFile: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StandardPathModelPrivate(StandardPathModel* pub)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 114
    functionName: StandardPathModelPrivate::getSortFunction
    functionSourceFile: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StandardPathLoader::ItemCompare
    signature: StandardPathLoader::ItemCompare getSortFunction() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:118,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:123,1
    - Dst: QVLCUserDir
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:124,1
    - Dst: StandardPathModelPrivate::addItem
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:132,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:132,1
    - Dst: StandardPathModelPrivate::addItem
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:136,1
    - Dst: StandardPathModelPrivate::addItem
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:142,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:142,1
    - Dst: addFilterHome
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:145,1
    - Dst: QVLCUserDir
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:145,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:145,1
    - Dst: addFilterHome
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:146,1
    - Dst: QVLCUserDir
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:146,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:146,1
    - Dst: addFilterHome
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:147,1
    - Dst: QVLCUserDir
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:147,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:147,1
    - Dst: addFilterHome
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:148,1
    - Dst: QVLCUserDir
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:148,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:148,1
    - Dst: addFilterHome
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:149,1
    - Dst: QVLCUserDir
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:149,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_qmlInitializing == false)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp
    constantsTouched: []
    func_position:
      end: 156
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 156
    functionName: StandardPathModelPrivate::initializeModel
    functionSourceFile: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp
    functionUses: 0
    functionsReached:
    - assert
    - qtr
    - Q_Q
    - addFilterHome
    - StandardPathModelPrivate::addItem
    - QVLCUserDir
    linkageType: ''
    returnType: bool
    signature: bool initializeModel() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: item
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:160,1
    - Dst: StandardPathItemPtr*::get
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - row
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: StandardPathModelPrivate::getItemForRow
    functionSourceFile: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp
    functionUses: 0
    functionsReached:
    - item
    - StandardPathItemPtr*::get
    linkageType: ''
    returnType: StandardPathItem
    signature: StandardPathItem * getItemForRow(int row) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUrl::fromLocalFile
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:168,1
    - Dst: std::make_shared<StandardPathItem>
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:170,1
    - Dst: QUrl::scheme
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:174,1
    - Dst: input_item_NewDirectory
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:177,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:177,1
    - Dst: QUrl::toString
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:177,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:177,1
    - Dst: SharedInputItem
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:178,1
    - Dst: MediaTreePtr
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:180,1
    - Dst: vlc_media_tree_New
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:180,1
    - Dst: vlc_media_tree_Add
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:183,1
    - Dst: auto::tree::get
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:183,1
    - Dst: emplace_back
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:188,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - ' path'
    - ' name'
    - ' artwork'
    argTypes:
    - QString
    - QString
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 189
    functionName: StandardPathModelPrivate::addItem
    functionSourceFile: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp
    functionUses: 1
    functionsReached:
    - std::make_shared<StandardPathItem>
    - QUrl::scheme
    - QUrl::toString
    - MediaTreePtr
    - auto::tree::get
    - vlc_media_tree_New
    - qtu
    - input_item_NewDirectory
    - vlc_media_tree_Add
    - std::move
    - SharedInputItem
    - QUrl::fromLocalFile
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void addItem(const QString & path, const QString & name, const QString&
      artwork)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:194,1
    - Dst: std::copy_if
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:198,1
    - Dst: cbegin
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:199,1
    - Dst: cend
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:199,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:200,1
    - Dst: itemMatchPattern
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' pattern'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 205
    functionName: StandardPathModelPrivate::getModelData
    functionSourceFile: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp
    functionUses: 0
    functionsReached:
    - itemMatchPattern
    - std::copy_if
    - isEmpty
    - std::back_inserter
    - cend
    - cbegin
    linkageType: ''
    returnType: std::vector<StandardPathItemPtr>
    signature: std::vector<StandardPathItemPtr> getModelData(const QString& pattern)
      const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StandardPathModelPrivate::StandardPathModelPrivate
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: StandardPathModel::StandardPathModel
    functionSourceFile: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp
    functionUses: 0
    functionsReached:
    - StandardPathModelPrivate::StandardPathModelPrivate
    linkageType: ''
    returnType: void
    signature: void StandardPathModel::StandardPathModel(QObject * parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NetworkBaseModel::roleNames
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:222,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:223,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 226
    functionName: StandardPathModel::roleNames
    functionSourceFile: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp
    functionUses: 0
    functionsReached:
    - NetworkBaseModel::roleNames
    - QByteArrayLiteral
    linkageType: ''
    returnType: QHash<int, QByteArray>
    signature: QHash<int, QByteArray> StandardPathModel::roleNames() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getItemForRow
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:232,1
    - Dst: row
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:232,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:239,1
    - Dst: NetworkTreeItem
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:239,1
    - Dst: NetworkBaseModel::basedata
      Src: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' index'
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 243
    functionName: StandardPathModel::data
    functionSourceFile: /src/vlc/modules/gui/qt/network/standardpathmodel.cpp
    functionUses: 0
    functionsReached:
    - NetworkTreeItem
    - NetworkBaseModel::basedata
    - row
    - getItemForRow
    - fromValue
    linkageType: ''
    returnType: QVariant
    signature: QVariant StandardPathModel::data(const QModelIndex & index, int role)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.hpp:40,1
    - Dst: QUrl::fromEncoded
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.hpp:41,1
    - Dst: QUrl::scheme
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.hpp:42,1
    - Dst: qHash
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.hpp:43,1
    - Dst: qHash
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.hpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' item'
    argTypes:
    - SharedInputItem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: qHash
    functionSourceFile: /src/vlc/modules/gui/qt/network/devicesourceprovider.hpp
    functionUses: 2
    functionsReached:
    - QUrl::scheme
    - QUrl::fromEncoded
    - qfu
    - qHash
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t qHash(const SharedInputItem& item, size_t seed = 0) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: MediaSourceCache::MediaSourceCache
    functionSourceFile: /src/vlc/modules/gui/qt/network/devicesourceprovider.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MediaSourceCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~MediaSourceCache()
    functionSourceFile: /src/vlc/modules/gui/qt/network/devicesourceprovider.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MediaSourceCache()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:50,1
    - Dst: QUrl::fromEncoded
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:51,1
    - Dst: scheme
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:52,1
    - Dst: static_cast<NetworkDeviceModel::ItemType>
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:53,1
    - Dst: qHash
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:55,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:56,1
    - Dst: input_item_GetArtworkURL
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:58,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:58,1
    - Dst: QString::fromUtf8
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:61,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' item'
    - ' source'
    argTypes:
    - SharedInputItem
    - SharedMediaSourceModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 64
    functionName: NetworkDeviceItem
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached:
    - QString::fromUtf8
    - QUrl::fromEncoded
    - push_back
    - get
    - qHash
    - scheme
    - input_item_GetArtworkURL
    - free
    - static_cast<NetworkDeviceModel::ItemType>
    - qfu
    linkageType: ''
    returnType: void
    signature: "void NetworkDeviceItem(\n        const SharedInputItem& item,\n        const
      SharedMediaSourceModel& source\n        )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:67,1
    - Dst: front
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:69,1
    - Dst: getDescription
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: sourceDesciption
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached:
    - getDescription
    - empty
    - front
    linkageType: ''
    returnType: QString
    signature: QString sourceDesciption() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:74,1
    - Dst: empty
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:74,1
    - Dst: front
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:76,1
    - Dst: NetworkTreeItem
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: makeTreeItem
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached:
    - NetworkTreeItem
    - empty
    - unlikely
    - front
    linkageType: ''
    returnType: NetworkTreeItem
    signature: NetworkTreeItem makeTreeItem() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:82,1
    - Dst: empty
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:82,1
    - Dst: front
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: getInputItem
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached:
    - empty
    - unlikely
    - front
    linkageType: ''
    returnType: SharedInputItem
    signature: SharedInputItem getInputItem() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:91,1
    - Dst: QUrl::fromEncoded
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' item'
    - ' source'
    argTypes:
    - SharedInputItem
    - SharedMediaSourceModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: addSource
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached:
    - QUrl::fromEncoded
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void addSource(const SharedInputItem& item,\n                   const
      SharedMediaSourceModel& source)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:107,1
    - Dst: std::remove_if
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:107,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:108,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:108,1
    - Dst: empty
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:114,1
    - Dst: front
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' item'
    argTypes:
    - SharedInputItem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 124
    functionName: removeSource
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached:
    - erase
    - front
    - begin
    - empty
    - end
    - std::remove_if
    linkageType: ''
    returnType: bool
    signature: "bool removeSource(const SharedInputItem& item,\n                   const
      SharedMediaSourceModel&)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_compare
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:143,1
    - Dst: file_compare
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - NetworkDeviceItemPtr
    - NetworkDeviceItemPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: operator == (const NetworkDeviceItemPtr& a, const NetworkDeviceItemPtr&
      b) noexcept
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached:
    - file_compare
    linkageType: ''
    returnType: bool
    signature: bool operator == (const NetworkDeviceItemPtr& a, const NetworkDeviceItemPtr&
      b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name::contains
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' pattern'
    argTypes:
    - NetworkDeviceItemPtr
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: itemMatchPattern
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 1
    functionsReached:
    - name::contains
    linkageType: ''
    returnType: bool
    signature: bool itemMatchPattern(const NetworkDeviceItemPtr& a, const QString&
      pattern)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_compare
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:154,1
    - Dst: mainMrl::toString
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:154,1
    - Dst: mainMrl::toString
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - NetworkDeviceItemPtr
    - NetworkDeviceItemPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: ascendingMrl
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached:
    - mainMrl::toString
    - file_compare
    linkageType: ''
    returnType: bool
    signature: bool ascendingMrl(const NetworkDeviceItemPtr& a, const NetworkDeviceItemPtr&
      b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: file_compare
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:160,1
    - Dst: ascendingMrl
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - NetworkDeviceItemPtr
    - NetworkDeviceItemPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 166
    functionName: ascendingName
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached:
    - file_compare
    - ascendingMrl
    linkageType: ''
    returnType: bool
    signature: bool ascendingName(const NetworkDeviceItemPtr& a, const NetworkDeviceItemPtr&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_compare
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:170,1
    - Dst: mainMrl::toString
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:170,1
    - Dst: mainMrl::toString
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - NetworkDeviceItemPtr
    - NetworkDeviceItemPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: descendingMrl
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached:
    - mainMrl::toString
    - file_compare
    linkageType: ''
    returnType: bool
    signature: bool descendingMrl(const NetworkDeviceItemPtr& a, const NetworkDeviceItemPtr&
      b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: file_compare
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:176,1
    - Dst: descendingMrl
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - NetworkDeviceItemPtr
    - NetworkDeviceItemPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: descendingName
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached:
    - descendingMrl
    - file_compare
    linkageType: ''
    returnType: bool
    signature: bool descendingName(const NetworkDeviceItemPtr& a, const NetworkDeviceItemPtr&
      b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:50,1
    - Dst: QUrl::fromEncoded
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:51,1
    - Dst: scheme
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:52,1
    - Dst: static_cast<NetworkDeviceModel::ItemType>
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:53,1
    - Dst: qHash
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:55,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:56,1
    - Dst: input_item_GetArtworkURL
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:58,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:58,1
    - Dst: QString::fromUtf8
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:61,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' item'
    - ' source'
    argTypes:
    - SharedInputItem
    - SharedMediaSourceModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 64
    functionName: NetworkDeviceItem
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached:
    - QString::fromUtf8
    - QUrl::fromEncoded
    - push_back
    - get
    - qHash
    - scheme
    - input_item_GetArtworkURL
    - free
    - static_cast<NetworkDeviceModel::ItemType>
    - qfu
    linkageType: ''
    returnType: void
    signature: "void NetworkDeviceItem(\n        const SharedInputItem& item,\n        const
      SharedMediaSourceModel& source\n        )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:67,1
    - Dst: front
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:69,1
    - Dst: getDescription
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: sourceDesciption
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached:
    - getDescription
    - empty
    - front
    linkageType: ''
    returnType: QString
    signature: QString sourceDesciption() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:74,1
    - Dst: empty
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:74,1
    - Dst: front
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:76,1
    - Dst: NetworkTreeItem
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: makeTreeItem
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached:
    - NetworkTreeItem
    - empty
    - unlikely
    - front
    linkageType: ''
    returnType: NetworkTreeItem
    signature: NetworkTreeItem makeTreeItem() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:82,1
    - Dst: empty
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:82,1
    - Dst: front
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: getInputItem
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached:
    - empty
    - unlikely
    - front
    linkageType: ''
    returnType: SharedInputItem
    signature: SharedInputItem getInputItem() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:91,1
    - Dst: QUrl::fromEncoded
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' item'
    - ' source'
    argTypes:
    - SharedInputItem
    - SharedMediaSourceModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: addSource
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached:
    - QUrl::fromEncoded
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void addSource(const SharedInputItem& item,\n                   const
      SharedMediaSourceModel& source)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:107,1
    - Dst: std::remove_if
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:107,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:108,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:108,1
    - Dst: empty
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:114,1
    - Dst: front
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' item'
    argTypes:
    - SharedInputItem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 124
    functionName: removeSource
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached:
    - erase
    - front
    - begin
    - empty
    - end
    - std::remove_if
    linkageType: ''
    returnType: bool
    signature: "bool removeSource(const SharedInputItem& item,\n                   const
      SharedMediaSourceModel&)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_compare
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:143,1
    - Dst: file_compare
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - NetworkDeviceItemPtr
    - NetworkDeviceItemPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: operator == (const NetworkDeviceItemPtr& a, const NetworkDeviceItemPtr&
      b) noexcept
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached:
    - file_compare
    linkageType: ''
    returnType: bool
    signature: bool operator == (const NetworkDeviceItemPtr& a, const NetworkDeviceItemPtr&
      b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name::contains
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' pattern'
    argTypes:
    - NetworkDeviceItemPtr
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: itemMatchPattern
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 1
    functionsReached:
    - name::contains
    linkageType: ''
    returnType: bool
    signature: bool itemMatchPattern(const NetworkDeviceItemPtr& a, const QString&
      pattern)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_compare
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:154,1
    - Dst: mainMrl::toString
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:154,1
    - Dst: mainMrl::toString
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - NetworkDeviceItemPtr
    - NetworkDeviceItemPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: ascendingMrl
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 1
    functionsReached:
    - mainMrl::toString
    - file_compare
    linkageType: ''
    returnType: bool
    signature: bool ascendingMrl(const NetworkDeviceItemPtr& a, const NetworkDeviceItemPtr&
      b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: file_compare
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:160,1
    - Dst: ascendingMrl
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - NetworkDeviceItemPtr
    - NetworkDeviceItemPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 166
    functionName: ascendingName
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached:
    - file_compare
    - ascendingMrl
    linkageType: ''
    returnType: bool
    signature: bool ascendingName(const NetworkDeviceItemPtr& a, const NetworkDeviceItemPtr&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_compare
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:170,1
    - Dst: mainMrl::toString
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:170,1
    - Dst: mainMrl::toString
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - NetworkDeviceItemPtr
    - NetworkDeviceItemPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: descendingMrl
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 1
    functionsReached:
    - mainMrl::toString
    - file_compare
    linkageType: ''
    returnType: bool
    signature: bool descendingMrl(const NetworkDeviceItemPtr& a, const NetworkDeviceItemPtr&
      b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: file_compare
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:176,1
    - Dst: descendingMrl
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - NetworkDeviceItemPtr
    - NetworkDeviceItemPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: descendingName
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached:
    - descendingMrl
    - file_compare
    linkageType: ''
    returnType: bool
    signature: bool descendingName(const NetworkDeviceItemPtr& a, const NetworkDeviceItemPtr&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - NetworkDeviceItemPtr
    - NetworkDeviceItemPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: ListCache<NetworkDeviceItemPtr>::compareItems
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ListCache<NetworkDeviceItemPtr>::compareItems(const NetworkDeviceItemPtr&
      a, const NetworkDeviceItemPtr& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pub
    argTypes:
    - NetworkDeviceModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: NetworkDeviceModelPrivate::NetworkDeviceModelPrivate
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetworkDeviceModelPrivate(NetworkDeviceModel * pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChromecastCommunication::disconnect
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 217
    functionName: ~NetworkDeviceModelPrivate()
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached:
    - ChromecastCommunication::disconnect
    linkageType: ''
    returnType: void
    signature: void ~NetworkDeviceModelPrivate()
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 235
    functionName: NetworkDeviceModelPrivate::getSortFunction
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NetworkDeviceModelLoader::ItemCompare
    signature: NetworkDeviceModelLoader::ItemCompare getSortFunction() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:239,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:241,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:244,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:247,1
    - Dst: std::make_unique<DeviceSourceProvider>
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:252,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:254,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:254,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:257,1
    - Dst: invalidateCache
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:260,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:263,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:263,1
    - Dst: ChromecastCommunication::disconnect
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:271,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:272,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:275,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:275,1
    - Dst: getMediaSources
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:278,1
    - Dst: getMedias
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:281,1
    - Dst: NetworkDeviceModelPrivate::onMediaAdded
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:282,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:289,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:290,1
    - Dst: QWeakPointer::toStrongRef
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:293,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:294,1
    - Dst: NetworkDeviceModelPrivate::onMediaAdded
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:295,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:297,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:299,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:300,1
    - Dst: QWeakPointer::toStrongRef
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:302,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:303,1
    - Dst: NetworkDeviceModelPrivate::onMediaRemoved
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:304,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:307,1
    - Dst: invalidateCache
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:311,1
    - Dst: init
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:314,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (strongSource)
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    - condition: (strongSource)
      pos:
        line_end: 302
        line_start: 302
        source_file: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    constantsTouched: []
    func_position:
      end: 321
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 321
    functionName: NetworkDeviceModelPrivate::initializeModel
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached:
    - init
    - assert
    - push_back
    - QWeakPointer::toStrongRef
    - ChromecastCommunication::disconnect
    - std::make_unique<DeviceSourceProvider>
    - get
    - Q_Q
    - clear
    - invalidateCache
    - reset
    - getMediaSources
    - isEmpty
    - getMedias
    - NetworkDeviceModelPrivate::onMediaAdded
    - NetworkDeviceModelPrivate::onMediaRemoved
    - Disconnect
    linkageType: ''
    returnType: bool
    signature: bool initializeModel() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: item
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:325,1
    - Dst: NetworkDeviceItemPtr*::get
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - row
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: NetworkDeviceModelPrivate::getItemForRow
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached:
    - item
    - NetworkDeviceItemPtr*::get
    linkageType: ''
    returnType: NetworkDeviceItem
    signature: NetworkDeviceItem * getItemForRow(int row) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qHash
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:333,1
    - Dst: std::find_if
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:334,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:335,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:335,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:339,1
    - Dst: addSource
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:341,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:345,1
    - Dst: std::make_unique<NetworkDeviceItem>
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:345,1
    - Dst: invalidateCache
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' mediaSource'
    - media
    argTypes:
    - QSharedPointer<MediaSourceModel>
    - SharedInputItem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 349
    functionName: NetworkDeviceModelPrivate::onMediaAdded
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 1
    functionsReached:
    - push_back
    - begin
    - qHash
    - invalidateCache
    - std::make_unique<NetworkDeviceItem>
    - std::find_if
    - addSource
    - end
    linkageType: ''
    returnType: void
    signature: void onMediaAdded(const QSharedPointer<MediaSourceModel>& mediaSource,
      SharedInputItem media)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qHash
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:353,1
    - Dst: std::find_if
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:354,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:355,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:355,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:359,1
    - Dst: removeSource
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:362,1
    - Dst: erase
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:365,1
    - Dst: invalidateCache
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' mediaSource'
    - media
    argTypes:
    - QSharedPointer<MediaSourceModel>
    - SharedInputItem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 370
    functionName: NetworkDeviceModelPrivate::onMediaRemoved
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 1
    functionsReached:
    - erase
    - begin
    - qHash
    - invalidateCache
    - std::find_if
    - removeSource
    - end
    linkageType: ''
    returnType: void
    signature: void onMediaRemoved(const QSharedPointer<MediaSourceModel>& mediaSource,
      SharedInputItem media)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:376,1
    - Dst: std::copy
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:378,1
    - Dst: cbegin
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:379,1
    - Dst: cend
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:379,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:380,1
    - Dst: std::copy_if
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:384,1
    - Dst: cbegin
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:385,1
    - Dst: cend
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:385,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:386,1
    - Dst: itemMatchPattern
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' pattern'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 392
    functionName: NetworkDeviceModelPrivate::getModelData
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached:
    - itemMatchPattern
    - std::copy_if
    - isEmpty
    - std::back_inserter
    - std::copy
    - cend
    - cbegin
    linkageType: ''
    returnType: std::vector<NetworkDeviceItemPtr>
    signature: std::vector<NetworkDeviceItemPtr> getModelData(const QString& pattern)
      const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NetworkDeviceModelPrivate::NetworkDeviceModelPrivate
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 409
    functionName: NetworkDeviceModel::NetworkDeviceModel
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached:
    - NetworkDeviceModelPrivate::NetworkDeviceModelPrivate
    linkageType: ''
    returnType: void
    signature: void NetworkDeviceModel::NetworkDeviceModel( QObject* parent )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - priv
    - parent
    argTypes:
    - NetworkDeviceModelPrivate*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 414
    functionName: NetworkDeviceModel::NetworkDeviceModel
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetworkDeviceModel::NetworkDeviceModel( NetworkDeviceModelPrivate*
      priv, QObject* parent)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getItemForRow
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:422,1
    - Dst: row
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:422,1
    - Dst: NetworkDeviceItem*::sourceDesciption
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:429,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:431,1
    - Dst: NetworkDeviceItem*::makeTreeItem
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:431,1
    - Dst: NetworkBaseModel::basedata
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' index'
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: NetworkDeviceModel::data
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached:
    - NetworkDeviceItem*::sourceDesciption
    - NetworkDeviceItem*::makeTreeItem
    - NetworkBaseModel::basedata
    - row
    - getItemForRow
    - fromValue
    linkageType: ''
    returnType: QVariant
    signature: QVariant NetworkDeviceModel::data( const QModelIndex& index, int role
      ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NetworkBaseModel::roleNames
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:439,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:440,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 443
    functionName: NetworkDeviceModel::roleNames
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached:
    - NetworkBaseModel::roleNames
    - QByteArrayLiteral
    linkageType: ''
    returnType: QHash<int, QByteArray>
    signature: QHash<int, QByteArray> NetworkDeviceModel::roleNames() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:447,1
    - Dst: initializeModel
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - MainCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 453
    functionName: NetworkDeviceModel::setCtx
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached:
    - initializeModel
    - Q_D
    linkageType: ''
    returnType: void
    signature: void NetworkDeviceModel::setCtx(MainCtx* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 459
    functionName: NetworkDeviceModel::getCtx
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MainCtx
    signature: MainCtx * NetworkDeviceModel::getCtx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 464
    functionName: NetworkDeviceModel::getSdSource
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NetworkDeviceModel::SDCatType
    signature: NetworkDeviceModel::SDCatType NetworkDeviceModel::getSdSource() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 469
    functionName: NetworkDeviceModel::getName
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString NetworkDeviceModel::getName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 473
    functionName: NetworkDeviceModel::getSourceName
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString NetworkDeviceModel::getSourceName() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:477,1
    - Dst: initializeModel
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SDCatType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 483
    functionName: NetworkDeviceModel::setSdSource
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached:
    - initializeModel
    - Q_D
    linkageType: ''
    returnType: void
    signature: void NetworkDeviceModel::setSdSource(SDCatType s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:487,1
    - Dst: initializeModel
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' sourceName'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 493
    functionName: NetworkDeviceModel::setSourceName
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached:
    - initializeModel
    - Q_D
    linkageType: ''
    returnType: void
    signature: void NetworkDeviceModel::setSourceName(const QString& sourceName)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:497,1
    - Dst: QVector::reserve
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:501,1
    - Dst: QModelIndexList::size
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:501,1
    - Dst: getItemForRow
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:504,1
    - Dst: row
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:504,1
    - Dst: QVector::append
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:507,1
    - Dst: NetworkDeviceItem*::getInputItem
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:507,1
    - Dst: QVector::isEmpty
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:509,1
    - Dst: m_ctx::getIntf
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:511,1
    - Dst: insert
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:511,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - itemIdList
    - playlistIndex
    argTypes:
    - QModelIndexList
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 513
    functionName: NetworkDeviceModel::insertIntoPlaylist
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached:
    - QVector::append
    - insert
    - QModelIndexList::size
    - QVector::isEmpty
    - row
    - getItemForRow
    - QVector::reserve
    - NetworkDeviceItem*::getInputItem
    - m_ctx::getIntf
    - Q_D
    linkageType: ''
    returnType: bool
    signature: bool NetworkDeviceModel::insertIntoPlaylist(const QModelIndexList &itemIdList,
      ssize_t playlistIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:517,1
    - Dst: getItemForRow
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:521,1
    - Dst: NetworkDeviceItem*::getInputItem
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:525,1
    - Dst: m_ctx::getIntf
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:526,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:526,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - row
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 528
    functionName: NetworkDeviceModel::addToPlaylist
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached:
    - append
    - getItemForRow
    - NetworkDeviceItem*::getInputItem
    - m_ctx::getIntf
    - Q_D
    linkageType: ''
    returnType: bool
    signature: bool NetworkDeviceModel::addToPlaylist(int row)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: canConvert
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:535,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:537,1
    - Dst: NetworkDeviceModel::addToPlaylist
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - itemIdList
    argTypes:
    - QVariantList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 542
    functionName: NetworkDeviceModel::addToPlaylist
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 1
    functionsReached:
    - NetworkDeviceModel::addToPlaylist
    - value
    - canConvert
    linkageType: ''
    returnType: bool
    signature: bool NetworkDeviceModel::addToPlaylist(const QVariantList &itemIdList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:549,1
    - Dst: NetworkDeviceModel::addToPlaylist
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:551,1
    - Dst: row
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:551,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - itemIdList
    argTypes:
    - QModelIndexList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 554
    functionName: NetworkDeviceModel::addToPlaylist
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 2
    functionsReached:
    - row
    - NetworkDeviceModel::addToPlaylist
    - isValid
    linkageType: ''
    returnType: bool
    signature: bool NetworkDeviceModel::addToPlaylist(const QModelIndexList &itemIdList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:558,1
    - Dst: getItemForRow
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:562,1
    - Dst: NetworkDeviceItem*::getInputItem
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:566,1
    - Dst: m_ctx::getIntf
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:567,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:567,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - row
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 556
    functionDepth: 2
    functionLinenumber: 556
    functionLinenumberEnd: 569
    functionName: NetworkDeviceModel::addAndPlay
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 0
    functionsReached:
    - append
    - getItemForRow
    - NetworkDeviceItem*::getInputItem
    - m_ctx::getIntf
    - Q_D
    linkageType: ''
    returnType: bool
    signature: bool NetworkDeviceModel::addAndPlay(int row)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: canConvert
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:576,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:578,1
    - Dst: NetworkDeviceModel::addAndPlay
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:580,1
    - Dst: NetworkDeviceModel::addToPlaylist
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:582,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' itemIdList'
    argTypes:
    - QVariantList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 571
    functionDepth: 3
    functionLinenumber: 571
    functionLinenumberEnd: 586
    functionName: NetworkDeviceModel::addAndPlay
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 1
    functionsReached:
    - NetworkDeviceModel::addToPlaylist
    - value
    - canConvert
    - NetworkDeviceModel::addAndPlay
    linkageType: ''
    returnType: bool
    signature: bool NetworkDeviceModel::addAndPlay(const QVariantList& itemIdList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:593,1
    - Dst: NetworkDeviceModel::addAndPlay
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:596,1
    - Dst: row
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:596,1
    - Dst: NetworkDeviceModel::addToPlaylist
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:598,1
    - Dst: row
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:598,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' itemIdList'
    argTypes:
    - QModelIndexList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 588
    functionDepth: 3
    functionLinenumber: 588
    functionLinenumberEnd: 601
    functionName: NetworkDeviceModel::addAndPlay
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 2
    functionsReached:
    - row
    - NetworkDeviceModel::addToPlaylist
    - NetworkDeviceModel::addAndPlay
    - isValid
    linkageType: ''
    returnType: bool
    signature: bool NetworkDeviceModel::addAndPlay(const QModelIndexList& itemIdList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QJSValue::isCallable
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:606,1
    - Dst: NetworkDeviceModel::getItemsForIndexes
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:609,1
    - Dst: qjsEngine
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:610,1
    - Dst: QJSValue::call
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:612,1
    - Dst: auto::toScriptValue
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:612,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' indexes'
    - callback
    argTypes:
    - QModelIndexList
    - QJSValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 614
    functionName: NetworkDeviceModel::getItemsForIndexes
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 1
    functionsReached:
    - QJSValue::isCallable
    - NetworkDeviceModel::getItemsForIndexes
    - auto::toScriptValue
    - QJSValue::call
    - qjsEngine
    linkageType: ''
    returnType: void
    signature: void NetworkDeviceModel::getItemsForIndexes(const QModelIndexList &
      indexes, QJSValue callback)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:618,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:623,1
    - Dst: callback
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:625,1
    - Dst: QVariantList
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:625,1
    - Dst: row
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:632,1
    - Dst: row
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:633,1
    - Dst: getLoadedCount
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:637,1
    - Dst: getMaximumCount
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:638,1
    - Dst: static_cast<unsigned int>
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:639,1
    - Dst: getItemForRow
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:646,1
    - Dst: row
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:646,1
    - Dst: QVariantList::append
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:650,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:650,1
    - Dst: SharedInputItem
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:650,1
    - Dst: NetworkDeviceItem*::getInputItem
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:650,1
    - Dst: callback
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:653,1
    - Dst: item
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:658,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:660,1
    - Dst: NetworkDeviceModel::getItemsForIndexes
      Src: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp:661,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - ' indexes'
    - callback
    argTypes:
    - QModelIndexList
    - std::function<void(const QVariantList&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 663
    functionName: NetworkDeviceModel::getItemsForIndexes
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.cpp
    functionUses: 2
    functionsReached:
    - item
    - QVariantList::append
    - callback
    - NetworkDeviceModel::getItemsForIndexes
    - isEmpty
    - QVariantList
    - row
    - getItemForRow
    - connect
    - SharedInputItem
    - fromValue
    - NetworkDeviceItem*::getInputItem
    - static_cast<unsigned int>
    - getMaximumCount
    - getLoadedCount
    - Q_D
    linkageType: ''
    returnType: void
    signature: void NetworkDeviceModel::getItemsForIndexes(const QModelIndexList &
      indexes, std::function<void(const QVariantList&)> callback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~MediaTreeListenerCb()
    functionSourceFile: /src/vlc/modules/gui/qt/network/mediatreelistener.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MediaTreeListenerCb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: MediaTreeListener::MediaTreeListener
    functionSourceFile: /src/vlc/modules/gui/qt/network/mediatreelistener.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MediaTreeListener( MediaTreeListener&& )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '& operator=( MediaTreeListener&& )'
    functionSourceFile: /src/vlc/modules/gui/qt/network/mediatreelistener.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MediaTreeListener
    signature: MediaTreeListener & operator=( MediaTreeListener&& )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: MediaTreeListener::MediaTreeListener
    functionSourceFile: /src/vlc/modules/gui/qt/network/mediatreelistener.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MediaTreeListener( const MediaTreeListener& )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& operator=( const MediaTreeListener& )'
    functionSourceFile: /src/vlc/modules/gui/qt/network/mediatreelistener.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MediaTreeListener
    signature: MediaTreeListener & operator=( const MediaTreeListener& )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - NetworkMediaItemPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: isADir
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isADir(const NetworkMediaItemPtr& x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NetworkMediaItemPtr::media::valid
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:67,1
    - Dst: NetworkMediaItemPtr::media::valid
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:68,1
    - Dst: NetworkMediaItemPtr::media::duration
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:72,1
    - Dst: NetworkMediaItemPtr::media::duration
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - NetworkMediaItemPtr
    - NetworkMediaItemPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: compareMediaDuration
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached:
    - NetworkMediaItemPtr::media::duration
    - NetworkMediaItemPtr::media::valid
    linkageType: ''
    returnType: int
    signature: "int compareMediaDuration(const NetworkMediaItemPtr &l\n                         ,
      const NetworkMediaItemPtr &r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - NetworkMediaItemPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: isADir
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isADir(const NetworkMediaItemPtr& x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NetworkMediaItemPtr::media::valid
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:67,1
    - Dst: NetworkMediaItemPtr::media::valid
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:68,1
    - Dst: NetworkMediaItemPtr::media::duration
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:72,1
    - Dst: NetworkMediaItemPtr::media::duration
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - NetworkMediaItemPtr
    - NetworkMediaItemPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: compareMediaDuration
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached:
    - NetworkMediaItemPtr::media::duration
    - NetworkMediaItemPtr::media::valid
    linkageType: ''
    returnType: int
    signature: "int compareMediaDuration(const NetworkMediaItemPtr &l\n                         ,
      const NetworkMediaItemPtr &r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - NetworkMediaItemPtr
    - NetworkMediaItemPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: ListCache<NetworkMediaItemPtr>::compareItems
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ListCache<NetworkMediaItemPtr>::compareItems(const NetworkMediaItemPtr&
      a, const NetworkMediaItemPtr& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pub
    argTypes:
    - NetworkMediaModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: NetworkMediaModelPrivate::NetworkMediaModelPrivate
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetworkMediaModelPrivate(NetworkMediaModel* pub)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: item
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:105,1
    - Dst: NetworkMediaItemPtr*::get
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - row
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: NetworkMediaModelPrivate::getItemForRow
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached:
    - item
    - NetworkMediaItemPtr*::get
    linkageType: ''
    returnType: NetworkMediaItem
    signature: NetworkMediaItem * getItemForRow(int row) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:113,1
    - Dst: std::make_shared<NetworkMediaItem>
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:118,1
    - Dst: invalidateCache
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - mrl
    - media
    argTypes:
    - QString
    - MLMedia
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 124
    functionName: NetworkMediaModelPrivate::mediaUpdated
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached:
    - invalidateCache
    - std::make_shared<NetworkMediaItem>
    - contains
    linkageType: ''
    returnType: void
    signature: void mediaUpdated(const QString &mrl, const MLMedia &media)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:128,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:129,1
    - Dst: std::make_shared<NetworkMediaItem>
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:138,1
    - Dst: invalidateCache
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - uri
    - indexed
    argTypes:
    - QString
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 144
    functionName: NetworkMediaModelPrivate::setIntexedState
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached:
    - end
    - invalidateCache
    - std::make_shared<NetworkMediaItem>
    - find
    linkageType: ''
    returnType: void
    signature: void setIntexedState(const QString &uri, bool indexed)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUrl::fromEncoded
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:153,1
    - Dst: std::find_if
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:154,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:155,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:155,1
    - Dst: file_compare
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:157,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:157,1
    - Dst: QUrl::scheme
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:158,1
    - Dst: mainMrl::scheme
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:158,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:160,1
    - Dst: media::valid
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:163,1
    - Dst: remove
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:164,1
    - Dst: media::getId
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:164,1
    - Dst: erase
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:166,1
    - Dst: invalidateCache
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - ' node'
    - ' itemsList'
    argTypes:
    - SharedInputItem
    - std::vector<SharedInputItem>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 172
    functionName: NetworkMediaModelPrivate::removeItem
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached:
    - erase
    - QUrl::fromEncoded
    - media::valid
    - begin
    - QUrl::scheme
    - remove
    - file_compare
    - invalidateCache
    - std::find_if
    - mainMrl::scheme
    - media::getId
    - end
    - qfu
    linkageType: ''
    returnType: void
    signature: void removeItem(const SharedInputItem& node, const std::vector<SharedInputItem>&
      itemsList)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:179,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:183,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:185,1
    - Dst: std::make_shared<NetworkMediaItem>
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:191,1
    - Dst: static_cast<NetworkMediaModel::ItemType>
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:195,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:196,1
    - Dst: QUrl::fromEncoded
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:198,1
    - Dst: QByteArray
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:198,1
    - Dst: QUrl::fromEncoded
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:199,1
    - Dst: NetworkMediaModelPrivate::canBeIndexed
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:201,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:203,1
    - Dst: input_item_GetArtworkURL
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:204,1
    - Dst: QString::fromUtf8
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:207,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:208,1
    - Dst: input_item_GetInfo
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:211,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:214,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:215,1
    - Dst: input_item_GetInfo
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:220,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:225,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:226,1
    - Dst: QDateTime::fromSecsSinceEpoch
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:229,1
    - Dst: QTimeZone::systemTimeZone
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:229,1
    - Dst: NetworkTreeItem
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:232,1
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:242,1
    - Dst: vlc_ml_is_indexed
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:248,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:248,1
    - Dst: NetworkMediaModelPrivate::setIntexedState
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:256,1
    - Dst: insert
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:263,1
    - Dst: invalidateCache
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:268,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 3
    argNames:
    - ' treeItem'
    - children
    - clear
    argTypes:
    - NetworkTreeItem
    - std::vector<SharedInputItem>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 269
    functionName: NetworkMediaModelPrivate::refreshMediaList
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached:
    - QString
    - Q_Q
    - input_item_GetArtworkURL
    - vlc_ml_is_indexed
    - invalidateCache
    - NetworkMediaModelPrivate::setIntexedState
    - runOnMLThread
    - NetworkTreeItem
    - get
    - qtu
    - input_item_GetInfo
    - QString::fromUtf8
    - QUrl::fromEncoded
    - QDateTime::fromSecsSinceEpoch
    - clear
    - QTimeZone::systemTimeZone
    - insert
    - free
    - static_cast<NetworkMediaModel::ItemType>
    - NetworkMediaModelPrivate::canBeIndexed
    - std::make_shared<NetworkMediaItem>
    - QByteArray
    linkageType: ''
    returnType: void
    signature: "void refreshMediaList(\n        NetworkTreeItem& treeItem,\n        std::vector<SharedInputItem>
      children,\n        bool clear )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<input_item_type_e>
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:274,1
    - Dst: scheme
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:275,1
    - Dst: scheme
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:275,1
    - Dst: scheme
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ' url'
    - itemType
    argTypes:
    - QUrl
    - NetworkMediaModel::ItemType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 276
    functionName: NetworkMediaModelPrivate::canBeIndexed
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 1
    functionsReached:
    - scheme
    - static_cast<input_item_type_e>
    linkageType: ''
    returnType: bool
    signature: bool canBeIndexed(const QUrl& url , NetworkMediaModel::ItemType itemType
      )
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: isADir
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:286,1
    - Dst: isADir
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:286,1
    - Dst: isADir
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:286,1
    - Dst: file_compare
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:287,1
    - Dst: mainMrl::toString
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:287,1
    - Dst: mainMrl::toString
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:287,1
    - Dst: isADir
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:291,1
    - Dst: isADir
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:291,1
    - Dst: isADir
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:291,1
    - Dst: file_compare
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:292,1
    - Dst: mainMrl::toString
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:292,1
    - Dst: mainMrl::toString
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:292,1
    - Dst: isADir
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:299,1
    - Dst: isADir
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:299,1
    - Dst: isADir
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:299,1
    - Dst: isADir
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:304,1
    - Dst: isADir
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:304,1
    - Dst: isADir
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:304,1
    - Dst: isADir
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:312,1
    - Dst: isADir
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:312,1
    - Dst: isADir
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:312,1
    - Dst: isADir
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:317,1
    - Dst: isADir
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:317,1
    - Dst: isADir
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:317,1
    - Dst: isADir
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:326,1
    - Dst: isADir
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:326,1
    - Dst: isADir
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:326,1
    - Dst: compareMediaDuration
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:327,1
    - Dst: isADir
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:332,1
    - Dst: isADir
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:332,1
    - Dst: isADir
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:332,1
    - Dst: compareMediaDuration
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:333,1
    - Dst: isADir
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:340,1
    - Dst: isADir
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:340,1
    - Dst: isADir
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:340,1
    - Dst: file_compare
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:341,1
    - Dst: isADir
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:345,1
    - Dst: isADir
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:345,1
    - Dst: isADir
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:345,1
    - Dst: file_compare
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:346,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 349
    functionName: NetworkMediaModelPrivate::getSortFunction
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached:
    - compareMediaDuration
    - mainMrl::toString
    - isADir
    - file_compare
    linkageType: ''
    returnType: LocalListCacheLoader<NetworkMediaItemPtr>::ItemCompare
    signature: LocalListCacheLoader<NetworkMediaItemPtr>::ItemCompare getSortFunction()
      const override
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:353,1
    - Dst: getNetworkPreparser
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:358,1
    - Dst: unlikely
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:359,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:362,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:363,1
    - Dst: std::make_unique<MediaTreeListener>
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:369,1
    - Dst: std::make_unique<NetworkMediaModelPrivate::ListenerCb>
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:370,1
    - Dst: QUrl::fromEncoded
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:378,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:378,1
    - Dst: static_cast<NetworkMediaModel::ItemType>
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:380,1
    - Dst: NetworkMediaModelPrivate::canBeIndexed
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:382,1
    - Dst: QByteArray
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:386,1
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:391,1
    - Dst: vlc_ml_is_indexed
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:394,1
    - Dst: auto::constData
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:394,1
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:399,1
    - Dst: vlc_preparser_Cancel
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:415,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:416,1
    - Dst: PathNode
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:416,1
    - Dst: vlc_media_tree_Find
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:417,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:417,1
    - Dst: media::get
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:417,1
    - Dst: std::vector::reserve
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:419,1
    - Dst: std::vector::emplace_back
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:421,1
    - Dst: push_front
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:425,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:425,1
    - Dst: PathNode
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:425,1
    - Dst: NetworkTreeItem
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:426,1
    - Dst: vlc_media_tree_Find
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:430,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:430,1
    - Dst: std::vector::empty
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:437,1
    - Dst: NetworkMediaModelPrivate::refreshMediaList
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:438,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:438,1
    - Dst: acquire
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:442,1
    - Dst: vlc_media_tree_Preparse
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:443,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:443,1
    - Dst: media::get
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:443,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:445,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 351
    functionDepth: 3
    functionLinenumber: 351
    functionLinenumberEnd: 448
    functionName: NetworkMediaModelPrivate::initializeModel
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<NetworkMediaModelPrivate::ListenerCb>
    - PathNode
    - Q_Q
    - vlc_ml_is_indexed
    - std::move
    - runOnMLThread
    - std::vector::reserve
    - auto::constData
    - vlc_preparser_Cancel
    - get
    - NetworkTreeItem
    - push_front
    - getNetworkPreparser
    - media::get
    - append
    - QUrl::fromEncoded
    - std::vector::emplace_back
    - clear
    - reset
    - std::make_unique<MediaTreeListener>
    - std::vector::empty
    - vlc_media_tree_Find
    - acquire
    - vlc_media_tree_Preparse
    - static_cast<NetworkMediaModel::ItemType>
    - NetworkMediaModelPrivate::canBeIndexed
    - NetworkMediaModelPrivate::refreshMediaList
    - QByteArray
    - fromValue
    - unlikely
    linkageType: ''
    returnType: bool
    signature: bool initializeModel() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:455,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:455,1
    - Dst: name::contains
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:458,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' pattern'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 463
    functionName: NetworkMediaModelPrivate::getModelData
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - size
    - std::vector::push_back
    - name::contains
    linkageType: ''
    returnType: std::vector<NetworkMediaItemPtr>
    signature: std::vector<NetworkMediaItemPtr> getModelData(const QString& pattern)
      const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - model
    argTypes:
    - NetworkMediaModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 492
    functionName: ListenerCb
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ListenerCb(NetworkMediaModel *model)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NetworkMediaModelPrivate::NetworkMediaModelPrivate
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 507
    functionName: NetworkMediaModel::NetworkMediaModel
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached:
    - NetworkMediaModelPrivate::NetworkMediaModelPrivate
    linkageType: ''
    returnType: void
    signature: void NetworkMediaModel::NetworkMediaModel( QObject* parent )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:511,1
    - Dst: m_preparseSem::tryAcquire
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:513,1
    - Dst: m_ctx::getNetworkPreparser
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:515,1
    - Dst: likely
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:516,1
    - Dst: vlc_preparser_Cancel
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:520,1
    - Dst: m_preparseSem::acquire
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:524,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 527
    functionName: NetworkMediaModel::~NetworkMediaModel()
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached:
    - m_preparseSem::tryAcquire
    - vlc_preparser_Cancel
    - likely
    - m_ctx::getNetworkPreparser
    - Q_D
    - m_preparseSem::acquire
    linkageType: ''
    returnType: void
    signature: void NetworkMediaModel::~NetworkMediaModel()
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: getItemForRow
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:534,1
    - Dst: row
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:534,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:545,1
    - Dst: NetworkMediaItem*::artwork::isEmpty
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:548,1
    - Dst: MLMedia::valid
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:553,1
    - Dst: MLMedia::bannerCover
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:555,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:556,1
    - Dst: MLMedia::smallCover
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:556,1
    - Dst: NetworkMediaItem*::media::valid
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:566,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:567,1
    - Dst: NetworkMediaItem*::media::valid
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:571,1
    - Dst: NetworkMediaItem*::media::progress
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:572,1
    - Dst: NetworkMediaItem*::media::valid
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:578,1
    - Dst: NetworkMediaItem*::media::duration
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:580,1
    - Dst: VLCDuration::valid
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:581,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:581,1
    - Dst: basedata
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:589,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 2
    argNames:
    - ' index'
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 591
    functionName: NetworkMediaModel::data
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached:
    - MLMedia::bannerCover
    - basedata
    - QString::isEmpty
    - NetworkMediaItem*::media::valid
    - NetworkMediaItem*::media::progress
    - NetworkMediaItem*::artwork::isEmpty
    - NetworkMediaItem*::media::duration
    - MLMedia::valid
    - row
    - getItemForRow
    - MLMedia::smallCover
    - VLCDuration::valid
    - fromValue
    linkageType: ''
    returnType: QVariant
    signature: QVariant NetworkMediaModel::data( const QModelIndex& index, int role
      ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NetworkBaseModel::roleNames
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:595,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:597,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:598,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:599,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:600,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:601,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:602,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:603,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:604,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 608
    functionName: NetworkMediaModel::roleNames
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached:
    - NetworkBaseModel::roleNames
    - QByteArrayLiteral
    linkageType: ''
    returnType: QHash<int, QByteArray>
    signature: QHash<int, QByteArray> NetworkMediaModel::roleNames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: demux_test_and_clear_flags
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' idx'
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 610
    functionDepth: 2
    functionLinenumber: 610
    functionLinenumberEnd: 613
    functionName: NetworkMediaModel::flags
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached:
    - demux_test_and_clear_flags
    linkageType: ''
    returnType: Qt::ItemFlags
    signature: Qt::ItemFlags NetworkMediaModel::flags( const QModelIndex& idx ) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:617,1
    - Dst: toBool
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:625,1
    - Dst: item
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:627,1
    - Dst: row
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:627,1
    - Dst: m_mediaLib::runOnMLThread
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:643,1
    - Dst: vlc_ml_add_folder
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:653,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:653,1
    - Dst: vlc_ml_remove_folder
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:655,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:655,1
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:661,1
    - Dst: setIntexedState
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:665,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - ' idx'
    - ' value'
    - role
    argTypes:
    - QModelIndex
    - QVariant
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 670
    functionName: NetworkMediaModel::setData
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached:
    - item
    - vlc_ml_add_folder
    - vlc_ml_remove_folder
    - qtu
    - row
    - setIntexedState
    - m_mediaLib::runOnMLThread
    - Q_D
    - toBool
    linkageType: ''
    returnType: bool
    signature: bool NetworkMediaModel::setData( const QModelIndex& idx, const QVariant&
      value, int role )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:675,1
    - Dst: m_url::toString
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:679,1
    - Dst: m_mediaLib::runOnMLThread
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:683,1
    - Dst: vlc_ml_add_folder
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:689,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:689,1
    - Dst: vlc_ml_remove_folder
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:691,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:691,1
    - Dst: d_func
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:698,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - indexed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 703
    functionName: NetworkMediaModel::setIndexed
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached:
    - vlc_ml_add_folder
    - m_mediaLib::runOnMLThread
    - vlc_ml_remove_folder
    - qtu
    - m_url::toString
    - d_func
    - Q_D
    linkageType: ''
    returnType: void
    signature: void NetworkMediaModel::setIndexed(bool indexed)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:707,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:711,1
    - Dst: MainCtx*::getMediaLibrary
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:713,1
    - Dst: m_MLMedias::reset
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:715,1
    - Dst: m_MLMedias::reset
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:718,1
    - Dst: MLMediaStore::MLMediaStore
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:718,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:719,1
    - Dst: m_MLMedias::get
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:719,1
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:721,1
    - Dst: mediaUpdated
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:722,1
    - Dst: initializeModel
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:726,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - MainCtx*
    assertStmts:
    - condition: (ctx)
      pos:
        line_end: 710
        line_start: 710
        source_file: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    constantsTouched: []
    func_position:
      end: 728
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 728
    functionName: NetworkMediaModel::setCtx
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached:
    - assert
    - initializeModel
    - m_MLMedias::get
    - m_MLMedias::reset
    - connect
    - MLMediaStore::MLMediaStore
    - MainCtx*::getMediaLibrary
    - mediaUpdated
    - Q_D
    linkageType: ''
    returnType: void
    signature: void NetworkMediaModel::setCtx(MainCtx* ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:732,1
    - Dst: QVariant::canConvert
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:733,1
    - Dst: QVariant::value
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:734,1
    - Dst: NetworkTreeItem
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:736,1
    - Dst: initializeModel
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:739,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - parentTree
    argTypes:
    - QVariant
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 741
    functionName: NetworkMediaModel::setTree
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached:
    - NetworkTreeItem
    - QVariant::canConvert
    - initializeModel
    - QVariant::value
    - Q_D
    linkageType: ''
    returnType: void
    signature: void NetworkMediaModel::setTree(QVariant parentTree)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:745,1
    - Dst: QVector::reserve
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:749,1
    - Dst: QModelIndexList::size
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:749,1
    - Dst: isValid
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:752,1
    - Dst: getItemForRow
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:755,1
    - Dst: row
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:755,1
    - Dst: QVector::append
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:759,1
    - Dst: NetworkMediaItem*::tree::media::get
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:759,1
    - Dst: QVector::isEmpty
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:761,1
    - Dst: m_ctx::getIntf
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:763,1
    - Dst: insert
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:763,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - itemIdList
    - playlistIndex
    argTypes:
    - QModelIndexList
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 765
    functionName: NetworkMediaModel::insertIntoPlaylist
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached:
    - QVector::append
    - insert
    - QModelIndexList::size
    - QVector::isEmpty
    - row
    - getItemForRow
    - QVector::reserve
    - isValid
    - m_ctx::getIntf
    - Q_D
    - NetworkMediaItem*::tree::media::get
    linkageType: ''
    returnType: bool
    signature: bool NetworkMediaModel::insertIntoPlaylist(const QModelIndexList &itemIdList,
      const ssize_t playlistIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:769,1
    - Dst: getItemForRow
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:772,1
    - Dst: NetworkMediaItem*::tree::media::get
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:776,1
    - Dst: m_ctx::getIntf
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:777,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:777,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 779
    functionName: NetworkMediaModel::addToPlaylist
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached:
    - append
    - getItemForRow
    - m_ctx::getIntf
    - Q_D
    - NetworkMediaItem*::tree::media::get
    linkageType: ''
    returnType: bool
    signature: bool NetworkMediaModel::addToPlaylist(const int index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: canConvert
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:788,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:789,1
    - Dst: canConvert
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:790,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:791,1
    - Dst: NetworkMediaModel::addToPlaylist
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:795,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - itemIdList
    argTypes:
    - QVariantList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 781
    functionDepth: 1
    functionLinenumber: 781
    functionLinenumberEnd: 798
    functionName: NetworkMediaModel::addToPlaylist
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 1
    functionsReached:
    - value
    - canConvert
    - NetworkMediaModel::addToPlaylist
    linkageType: ''
    returnType: bool
    signature: bool NetworkMediaModel::addToPlaylist(const QVariantList &itemIdList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:805,1
    - Dst: NetworkMediaModel::addToPlaylist
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:807,1
    - Dst: row
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:807,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - itemIdList
    argTypes:
    - QModelIndexList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 800
    functionDepth: 1
    functionLinenumber: 800
    functionLinenumberEnd: 810
    functionName: NetworkMediaModel::addToPlaylist
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 2
    functionsReached:
    - row
    - NetworkMediaModel::addToPlaylist
    - isValid
    linkageType: ''
    returnType: bool
    signature: bool NetworkMediaModel::addToPlaylist(const QModelIndexList &itemIdList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:814,1
    - Dst: getItemForRow
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:818,1
    - Dst: NetworkMediaItem*::tree::media::get
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:822,1
    - Dst: m_ctx::getIntf
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:823,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:823,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 812
    functionDepth: 1
    functionLinenumber: 812
    functionLinenumberEnd: 825
    functionName: NetworkMediaModel::addAndPlay
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached:
    - append
    - getItemForRow
    - m_ctx::getIntf
    - Q_D
    - NetworkMediaItem*::tree::media::get
    linkageType: ''
    returnType: bool
    signature: bool NetworkMediaModel::addAndPlay(int index)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: canConvert
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:834,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:835,1
    - Dst: canConvert
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:836,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:837,1
    - Dst: NetworkMediaModel::addAndPlay
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:842,1
    - Dst: NetworkMediaModel::addToPlaylist
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:844,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - ' itemIdList'
    argTypes:
    - QVariantList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 827
    functionDepth: 2
    functionLinenumber: 827
    functionLinenumberEnd: 847
    functionName: NetworkMediaModel::addAndPlay
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 1
    functionsReached:
    - NetworkMediaModel::addAndPlay
    - value
    - canConvert
    - NetworkMediaModel::addToPlaylist
    linkageType: ''
    returnType: bool
    signature: bool NetworkMediaModel::addAndPlay(const QVariantList& itemIdList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:854,1
    - Dst: NetworkMediaModel::addAndPlay
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:858,1
    - Dst: row
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:858,1
    - Dst: NetworkMediaModel::addToPlaylist
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:860,1
    - Dst: row
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:860,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' itemIdList'
    argTypes:
    - QModelIndexList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 849
    functionDepth: 2
    functionLinenumber: 849
    functionLinenumberEnd: 863
    functionName: NetworkMediaModel::addAndPlay
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 2
    functionsReached:
    - NetworkMediaModel::addAndPlay
    - NetworkMediaModel::addToPlaylist
    - row
    - isValid
    linkageType: ''
    returnType: bool
    signature: bool NetworkMediaModel::addAndPlay(const QModelIndexList& itemIdList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QJSValue::isCallable
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:868,1
    - Dst: NetworkMediaModel::getItemsForIndexes
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:871,1
    - Dst: qjsEngine
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:872,1
    - Dst: QJSValue::call
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:874,1
    - Dst: auto::toScriptValue
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:874,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' indexes'
    - callback
    argTypes:
    - QModelIndexList
    - QJSValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 876
    functionName: NetworkMediaModel::getItemsForIndexes
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 1
    functionsReached:
    - QJSValue::isCallable
    - NetworkMediaModel::getItemsForIndexes
    - auto::toScriptValue
    - QJSValue::call
    - qjsEngine
    linkageType: ''
    returnType: void
    signature: void NetworkMediaModel::getItemsForIndexes(const QModelIndexList &
      indexes, QJSValue callback)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:880,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:885,1
    - Dst: callback
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:887,1
    - Dst: QVariantList
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:887,1
    - Dst: row
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:894,1
    - Dst: row
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:895,1
    - Dst: getLoadedCount
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:899,1
    - Dst: getMaximumCount
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:900,1
    - Dst: static_cast<unsigned int>
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:901,1
    - Dst: getItemForRow
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:908,1
    - Dst: row
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:908,1
    - Dst: QVariantList::append
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:913,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:913,1
    - Dst: SharedInputItem
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:913,1
    - Dst: media::get
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:913,1
    - Dst: callback
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:916,1
    - Dst: item
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:921,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:923,1
    - Dst: NetworkMediaModel::getItemsForIndexes
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:924,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - ' indexes'
    - callback
    argTypes:
    - QModelIndexList
    - std::function<void(const QVariantList&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 878
    functionDepth: 1
    functionLinenumber: 878
    functionLinenumberEnd: 926
    functionName: NetworkMediaModel::getItemsForIndexes
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 2
    functionsReached:
    - item
    - QVariantList::append
    - NetworkMediaModel::getItemsForIndexes
    - callback
    - isEmpty
    - QVariantList
    - row
    - getItemForRow
    - connect
    - SharedInputItem
    - fromValue
    - static_cast<unsigned int>
    - getMaximumCount
    - getLoadedCount
    - Q_D
    - media::get
    linkageType: ''
    returnType: void
    signature: void NetworkMediaModel::getItemsForIndexes(const QModelIndexList &
      indexes, std::function<void(const QVariantList&)> callback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 931
    functionName: NetworkMediaModel::getCtx
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MainCtx
    signature: MainCtx * NetworkMediaModel::getCtx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 932
    functionDepth: 1
    functionLinenumber: 932
    functionLinenumberEnd: 935
    functionName: NetworkMediaModel::getTree
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached:
    - fromValue
    linkageType: ''
    returnType: QVariant
    signature: QVariant NetworkMediaModel::getTree() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 939
    functionName: NetworkMediaModel::getPath
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QVariantList
    signature: QVariantList NetworkMediaModel::getPath() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 944
    functionName: NetworkMediaModel::getName
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString NetworkMediaModel::getName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 948
    functionName: NetworkMediaModel::getUrl
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUrl
    signature: QUrl NetworkMediaModel::getUrl() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 952
    functionName: NetworkMediaModel::getType
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NetworkMediaModel::ItemType
    signature: NetworkMediaModel::ItemType NetworkMediaModel::getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 956
    functionName: NetworkMediaModel::isIndexed
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NetworkMediaModel::isIndexed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 960
    functionName: NetworkMediaModel::canBeIndexed
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NetworkMediaModel::canBeIndexed() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:966,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:966,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:966,1
    - Dst: d_func
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:967,1
    - Dst: vlc_media_tree_Find
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:976,1
    - Dst: NetworkMediaModelPrivate*::m_treeItem::tree::get
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:976,1
    - Dst: NetworkMediaModelPrivate*::m_treeItem::media::get
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:976,1
    - Dst: std::vector::reserve
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:983,1
    - Dst: static_cast<size_t>
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:983,1
    - Dst: std::vector::emplace_back
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:985,1
    - Dst: d_func
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:987,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:987,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - tree
    - node
    argTypes:
    - MediaTreePtr
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 989
    functionName: NetworkMediaModelPrivate::ListenerCb::onItemCleared( MediaTreePtr
      tree, input_item_node_t* node)
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - static_cast<size_t>
    - vlc_media_tree_Find
    - std::vector::emplace_back
    - std::move
    - NetworkMediaModelPrivate*::m_treeItem::media::get
    - d_func
    - QMetaObject::invokeMethod
    - NetworkMediaModelPrivate*::m_treeItem::tree::get
    linkageType: ''
    returnType: void
    signature: void NetworkMediaModelPrivate::ListenerCb::onItemCleared( MediaTreePtr
      tree, input_item_node_t* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:997,1
    - Dst: std::vector::emplace_back
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:999,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:1001,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:1001,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:1001,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:1001,1
    - Dst: d_func
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:1002,1
    - Dst: NetworkMediaModelPrivate*::refreshMediaList
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:1004,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:1004,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - tree
    - parent
    - children
    - count
    argTypes:
    - MediaTreePtr
    - input_item_node_t*
    - input_item_node_t*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 1006
    functionName: "NetworkMediaModelPrivate::ListenerCb::onItemAdded( MediaTreePtr
      tree, input_item_node_t* parent,\n                                                 input_item_node_t
      *const children[],\n                                                 size_t
      count )"
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - std::vector::emplace_back
    - std::move
    - NetworkMediaModelPrivate*::refreshMediaList
    - d_func
    - QMetaObject::invokeMethod
    linkageType: ''
    returnType: void
    signature: "void NetworkMediaModelPrivate::ListenerCb::onItemAdded( MediaTreePtr
      tree, input_item_node_t* parent,\n                                                 input_item_node_t
      *const children[],\n                                                 size_t
      count )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:1013,1
    - Dst: std::vector::emplace_back
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:1015,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:1018,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:1020,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:1020,1
    - Dst: d_func
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:1021,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - node
    - children
    - count
    argTypes:
    - input_item_node_t*
    - input_item_node_t*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1023
    functionName: "NetworkMediaModelPrivate::ListenerCb::onItemRemoved( MediaTreePtr,
      input_item_node_t * node,\n                                                   input_item_node_t
      *const children[],\n                                                   size_t
      count )"
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - std::vector::emplace_back
    - std::move
    - d_func
    - QMetaObject::invokeMethod
    linkageType: ''
    returnType: void
    signature: "void NetworkMediaModelPrivate::ListenerCb::onItemRemoved( MediaTreePtr,
      input_item_node_t * node,\n                                                   input_item_node_t
      *const children[],\n                                                   size_t
      count )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d_func
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:1027,1
    - Dst: release
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:1027,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:1029,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:1029,1
    - Dst: d_func
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:1030,1
    - Dst: d_func
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp:1033,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1036
    functionName: NetworkMediaModelPrivate::ListenerCb::onItemPreparseEnded(MediaTreePtr,
      input_item_node_t* node, int )
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.cpp
    functionUses: 0
    functionsReached:
    - release
    - std::move
    - d_func
    - QMetaObject::invokeMethod
    linkageType: ''
    returnType: void
    signature: void NetworkMediaModelPrivate::ListenerCb::onItemPreparseEnded(MediaTreePtr,
      input_item_node_t* node, int )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: ~NetworkDeviceModel()
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkdevicemodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NetworkDeviceModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SharedMediaSourceModel::getTree
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.hpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - source
    - ' item'
    argTypes:
    - SharedMediaSourceModel
    - SharedInputItem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: NetworkTreeItem::NetworkTreeItem
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.hpp
    functionUses: 0
    functionsReached:
    - SharedMediaSourceModel::getTree
    linkageType: ''
    returnType: void
    signature: void NetworkTreeItem( SharedMediaSourceModel source, const SharedInputItem&
      item )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - tree
    - ' item'
    argTypes:
    - MediaTreePtr
    - SharedInputItem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: NetworkTreeItem::NetworkTreeItem
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetworkTreeItem( MediaTreePtr tree, const SharedInputItem& item
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' parent'
    - ' item'
    argTypes:
    - NetworkTreeItem
    - SharedInputItem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: NetworkTreeItem::NetworkTreeItem
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetworkTreeItem(NetworkTreeItem& parent, const SharedInputItem&
      item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: NetworkTreeItem::NetworkTreeItem
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetworkTreeItem( const NetworkTreeItem& )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: '& operator=( const NetworkTreeItem& )'
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NetworkTreeItem
    signature: NetworkTreeItem & operator=( const NetworkTreeItem& )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: NetworkTreeItem::NetworkTreeItem
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetworkTreeItem( NetworkTreeItem&& )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '& operator=( NetworkTreeItem&& )'
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NetworkTreeItem
    signature: NetworkTreeItem & operator=( NetworkTreeItem&& )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.hpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: operator bool() const
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void operator bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_media_tree_Find
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.hpp:80,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.hpp:80,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.hpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: NetworkTreeItem::isValid
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.hpp
    functionUses: 0
    functionsReached:
    - get
    - vlc_media_tree_Find
    linkageType: ''
    returnType: bool
    signature: bool isValid()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: PathNode::PathNode
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/network/networkmediamodel.hpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - tree
    - display
    argTypes:
    - NetworkTreeItem
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: PathNode::PathNode
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.hpp
    functionUses: 0
    functionsReached:
    - fromValue
    linkageType: ''
    returnType: void
    signature: void PathNode( const NetworkTreeItem &tree, const QString &display
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: PathNode::getTree
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QVariant
    signature: QVariant getTree() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: PathNode::getDisplay
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkmediamodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString getDisplay() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MediaTreeListener*>
      Src: /src/vlc/modules/gui/qt/network/mediatreelistener.cpp:6,1
    - Dst: auto*::cb::onItemCleared
      Src: /src/vlc/modules/gui/qt/network/mediatreelistener.cpp:7,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - userdata
    argTypes:
    - input_item_node_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 8
    functionName: onItemCleared
    functionSourceFile: /src/vlc/modules/gui/qt/network/mediatreelistener.cpp
    functionUses: 1
    functionsReached:
    - auto*::cb::onItemCleared
    - static_cast<MediaTreeListener*>
    linkageType: ''
    returnType: void
    signature: "void onItemCleared(vlc_media_tree_t*, input_item_node_t *node,\n                          void*
      userdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MediaTreeListener*>
      Src: /src/vlc/modules/gui/qt/network/mediatreelistener.cpp:14,1
    - Dst: auto*::cb::onItemAdded
      Src: /src/vlc/modules/gui/qt/network/mediatreelistener.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - parent
    - children
    - count
    - userdata
    argTypes:
    - input_item_node_t*
    - input_item_node_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 16
    functionName: onItemAdded
    functionSourceFile: /src/vlc/modules/gui/qt/network/mediatreelistener.cpp
    functionUses: 1
    functionsReached:
    - auto*::cb::onItemAdded
    - static_cast<MediaTreeListener*>
    linkageType: ''
    returnType: void
    signature: "void onItemAdded(vlc_media_tree_t *, input_item_node_t *parent,\n
      \                       input_item_node_t *const children[], size_t count,\n
      \                       void *userdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MediaTreeListener*>
      Src: /src/vlc/modules/gui/qt/network/mediatreelistener.cpp:22,1
    - Dst: auto*::cb::onItemRemoved
      Src: /src/vlc/modules/gui/qt/network/mediatreelistener.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - node
    - children
    - count
    - userdata
    argTypes:
    - input_item_node_t*
    - input_item_node_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 24
    functionName: onItemRemoved
    functionSourceFile: /src/vlc/modules/gui/qt/network/mediatreelistener.cpp
    functionUses: 1
    functionsReached:
    - auto*::cb::onItemRemoved
    - static_cast<MediaTreeListener*>
    linkageType: ''
    returnType: void
    signature: "void onItemRemoved(vlc_media_tree_t *, input_item_node_t *node,\n
      \                         input_item_node_t *const children[], size_t count,\n
      \                         void *userdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MediaTreeListener*>
      Src: /src/vlc/modules/gui/qt/network/mediatreelistener.cpp:29,1
    - Dst: auto*::cb::onItemPreparseEnded
      Src: /src/vlc/modules/gui/qt/network/mediatreelistener.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - node
    - status
    - userdata
    argTypes:
    - input_item_node_t*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: onItemPreparseEnded
    functionSourceFile: /src/vlc/modules/gui/qt/network/mediatreelistener.cpp
    functionUses: 1
    functionsReached:
    - auto*::cb::onItemPreparseEnded
    - static_cast<MediaTreeListener*>
    linkageType: ''
    returnType: void
    signature: "void onItemPreparseEnded(vlc_media_tree_t *, input_item_node_t * node,\n
      \                               int status, void *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_media_tree_RemoveListener
      Src: /src/vlc/modules/gui/qt/network/mediatreelistener.cpp:36,1
    - Dst: MediaTreePtr::get
      Src: /src/vlc/modules/gui/qt/network/mediatreelistener.cpp:36,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/network/mediatreelistener.cpp:38,1
    - Dst: vlc_media_tree_AddListener
      Src: /src/vlc/modules/gui/qt/network/mediatreelistener.cpp:46,1
    - Dst: MediaTreePtr::get
      Src: /src/vlc/modules/gui/qt/network/mediatreelistener.cpp:46,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/network/mediatreelistener.cpp:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - tree
    - cb
    argTypes:
    - MediaTreePtr
    - std::unique_ptr<MediaTreeListenerCb>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 50
    functionName: MediaTreeListener::MediaTreeListener
    functionSourceFile: /src/vlc/modules/gui/qt/network/mediatreelistener.cpp
    functionUses: 0
    functionsReached:
    - MediaTreePtr::get
    - reset
    - vlc_media_tree_RemoveListener
    - std::move
    - vlc_media_tree_AddListener
    linkageType: ''
    returnType: void
    signature: void MediaTreeListener::MediaTreeListener(MediaTreePtr tree, std::unique_ptr<MediaTreeListenerCb>
      &&cb )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: name::trimmed
      Src: /src/vlc/modules/gui/qt/network/networkbasemodel.cpp:25,1
    - Dst: NetworkBaseModel::artworkFallbackForType
      Src: /src/vlc/modules/gui/qt/network/networkbasemodel.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - ' item'
    - role
    argTypes:
    - NetworkBaseItem
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 39
    functionName: NetworkBaseModel::basedata
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkbasemodel.cpp
    functionUses: 2
    functionsReached:
    - name::trimmed
    - NetworkBaseModel::artworkFallbackForType
    linkageType: ''
    returnType: QVariant
    signature: QVariant NetworkBaseModel::basedata(const NetworkBaseItem& item, int
      role) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/network/networkbasemodel.cpp:45,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/network/networkbasemodel.cpp:47,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/network/networkbasemodel.cpp:49,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/network/networkbasemodel.cpp:51,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/network/networkbasemodel.cpp:53,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/network/networkbasemodel.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - type
    argTypes:
    - ItemType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: NetworkBaseModel::artworkFallbackForType
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkbasemodel.cpp
    functionUses: 1
    functionsReached:
    - QStringLiteral
    linkageType: ''
    returnType: QString
    signature: QString NetworkBaseModel::artworkFallbackForType(const ItemType type)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/networkbasemodel.cpp:62,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/networkbasemodel.cpp:63,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/networkbasemodel.cpp:64,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/networkbasemodel.cpp:65,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/networkbasemodel.cpp:66,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/networkbasemodel.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: NetworkBaseModel::roleNames
    functionSourceFile: /src/vlc/modules/gui/qt/network/networkbasemodel.cpp
    functionUses: 3
    functionsReached:
    - QByteArrayLiteral
    linkageType: ''
    returnType: QHash<int, QByteArray>
    signature: QHash<int, QByteArray> NetworkBaseModel::roleNames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_media_tree_Lock
      Src: /src/vlc/modules/gui/qt/network/vlcmediasourcewrapper.hpp:41,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/network/vlcmediasourcewrapper.hpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tree'
    argTypes:
    - MediaTreePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: MediaTreeLocker::MediaTreeLocker
    functionSourceFile: /src/vlc/modules/gui/qt/network/vlcmediasourcewrapper.hpp
    functionUses: 0
    functionsReached:
    - get
    - vlc_media_tree_Lock
    linkageType: ''
    returnType: void
    signature: void MediaTreeLocker(MediaTreePtr& tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_media_tree_Unlock
      Src: /src/vlc/modules/gui/qt/network/vlcmediasourcewrapper.hpp:45,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/network/vlcmediasourcewrapper.hpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: ~MediaTreeLocker()
    functionSourceFile: /src/vlc/modules/gui/qt/network/vlcmediasourcewrapper.hpp
    functionUses: 0
    functionsReached:
    - get
    - vlc_media_tree_Unlock
    linkageType: ''
    returnType: void
    signature: void ~MediaTreeLocker()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: MediaTreeLocker::MediaTreeLocker
    functionSourceFile: /src/vlc/modules/gui/qt/network/vlcmediasourcewrapper.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MediaTreeLocker( const MediaTreeLocker& )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: MediaTreeLocker::MediaTreeLocker
    functionSourceFile: /src/vlc/modules/gui/qt/network/vlcmediasourcewrapper.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MediaTreeLocker( MediaTreeLocker&& )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '& operator=( const MediaTreeLocker& )'
    functionSourceFile: /src/vlc/modules/gui/qt/network/vlcmediasourcewrapper.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MediaTreeLocker
    signature: MediaTreeLocker & operator=( const MediaTreeLocker& )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: '& operator=( MediaTreeLocker&& )'
    functionSourceFile: /src/vlc/modules/gui/qt/network/vlcmediasourcewrapper.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MediaTreeLocker
    signature: MediaTreeLocker & operator=( MediaTreeLocker&& )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - model
    - ' mediaSource'
    argTypes:
    - MediaSourceModel*
    - MediaSourcePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: ListenerCb
    functionSourceFile: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ListenerCb(MediaSourceModel* model, MediaSourcePtr& mediaSource)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: onItemPreparseEnded
    functionSourceFile: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void onItemPreparseEnded( MediaTreePtr, input_item_node_t *, int )
      override final
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: refresh
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - tree
    - node
    argTypes:
    - MediaTreePtr
    - input_item_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: onItemCleared
    functionSourceFile: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp
    functionUses: 1
    functionsReached:
    - refresh
    linkageType: ''
    returnType: void
    signature: void onItemCleared( MediaTreePtr tree, input_item_node_t* node ) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: refresh
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - tree
    - parent
    - children
    - count
    argTypes:
    - MediaTreePtr
    - input_item_node_t*
    - input_item_node_t*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: onItemAdded
    functionSourceFile: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp
    functionUses: 1
    functionsReached:
    - refresh
    linkageType: ''
    returnType: void
    signature: void onItemAdded( MediaTreePtr tree, input_item_node_t* parent, input_item_node_t
      *const children[], size_t count ) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:56,1
    - Dst: std::vector::emplace_back
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:58,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:60,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:61,1
    - Dst: removeItems
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - tree
    - node
    - children
    - count
    argTypes:
    - MediaTreePtr
    - input_item_node_t*
    - input_item_node_t*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 66
    functionName: onItemRemoved
    functionSourceFile: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp
    functionUses: 1
    functionsReached:
    - std::vector::reserve
    - std::vector::emplace_back
    - std::move
    - removeItems
    - QMetaObject::invokeMethod
    linkageType: ''
    returnType: void
    signature: void onItemRemoved( MediaTreePtr tree, input_item_node_t * node, input_item_node_t
      *const children[], size_t count ) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:73,1
    - Dst: std::vector::emplace_back
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:75,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:77,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:78,1
    - Dst: addItems
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - children
    - count
    - clear
    argTypes:
    - input_item_node_t*[]
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 83
    functionName: refresh
    functionSourceFile: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp
    functionUses: 7
    functionsReached:
    - std::vector::reserve
    - std::vector::emplace_back
    - std::move
    - addItems
    - QMetaObject::invokeMethod
    linkageType: ''
    returnType: void
    signature: "void refresh(input_item_node_t * const children[], size_t count,\n
      \                bool clear)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' mediaSource'
    argTypes:
    - MediaSourcePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: MediaSourceModel::MediaSourceModel
    functionSourceFile: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MediaSourceModel::MediaSourceModel(MediaSourcePtr& mediaSource)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:97,1
    - Dst: mediaRemoved
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:100,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:101,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: MediaSourceModel::~MediaSourceModel()
    functionSourceFile: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp
    functionUses: 0
    functionsReached:
    - mediaRemoved
    - clear
    - reset
    linkageType: ''
    returnType: void
    signature: void MediaSourceModel::~MediaSourceModel()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:108,1
    - Dst: std::make_unique<MediaTreeListener>
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:113,1
    - Dst: std::make_unique<MediaSourceModel::ListenerCb>
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_mediaSource)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: MediaSourceModel::init
    functionSourceFile: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<MediaSourceModel::ListenerCb>
    - assert
    - std::make_unique<MediaTreeListener>
    linkageType: ''
    returnType: void
    signature: void MediaSourceModel::init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: '& MediaSourceModel::getMedias() const'
    functionSourceFile: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<SharedInputItem>
    signature: std::vector<SharedInputItem> & MediaSourceModel::getMedias() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: MediaSourceModel::getDescription
    functionSourceFile: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp
    functionUses: 0
    functionsReached:
    - qfu
    linkageType: ''
    returnType: QString
    signature: QString MediaSourceModel::getDescription() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MediaTreePtr
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: MediaSourceModel::getTree
    functionSourceFile: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp
    functionUses: 1
    functionsReached:
    - MediaTreePtr
    linkageType: ''
    returnType: MediaTreePtr
    signature: MediaTreePtr MediaSourceModel::getTree() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qWarning
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:139,1
    - Dst: mediaRemoved
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:146,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:147,1
    - Dst: find
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:152,1
    - Dst: cbegin
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:153,1
    - Dst: cend
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:153,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:156,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:160,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:160,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - inputList
    - mediaSource
    - clear
    argTypes:
    - std::vector<SharedInputItem>
    - MediaSourcePtr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 162
    functionName: MediaSourceModel::addItems
    functionSourceFile: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - qWarning
    - clear
    - std::move
    - end
    - cend
    - cbegin
    - mediaRemoved
    - find
    linkageType: ''
    returnType: void
    signature: "void MediaSourceModel::addItems(const std::vector<SharedInputItem>
      &inputList,\n                                    const MediaSourcePtr &mediaSource,
      const bool clear)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qWarning
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:169,1
    - Dst: std::remove
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:175,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:175,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:175,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:176,1
    - Dst: erase
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:178,1
    - Dst: mediaRemoved
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - inputList
    - mediaSource
    argTypes:
    - std::vector<SharedInputItem>
    - MediaSourcePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 182
    functionName: MediaSourceModel::removeItems
    functionSourceFile: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp
    functionUses: 0
    functionsReached:
    - erase
    - begin
    - std::remove
    - end
    - mediaRemoved
    - qWarning
    linkageType: ''
    returnType: void
    signature: "void MediaSourceModel::removeItems(const std::vector<SharedInputItem>
      &inputList,\n                                       const MediaSourcePtr &mediaSource)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:189,1
    - Dst: find
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:190,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:191,1
    - Dst: auto::second::toStrongRef
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:193,1
    - Dst: test_es_out_create
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - provider
    - name
    argTypes:
    - vlc_media_source_provider_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 207
    functionName: MediaSourceCache::getMediaSourceModel
    functionSourceFile: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp
    functionUses: 0
    functionsReached:
    - test_es_out_create
    - auto::second::toStrongRef
    - end
    - qfu
    - find
    linkageType: ''
    returnType: SharedMediaSourceModel
    signature: SharedMediaSourceModel MediaSourceCache::getMediaSourceModel(vlc_media_source_provider_t*
      provider, const char* name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - sdSource
    - sourceName
    - ctx
    - parent
    argTypes:
    - NetworkDeviceModel::SDCatType
    - QString
    - MainCtx*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 219
    functionName: DeviceSourceProvider::DeviceSourceProvider
    functionSourceFile: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DeviceSourceProvider::DeviceSourceProvider(\n    NetworkDeviceModel::SDCatType
      sdSource,\n    const QString &sourceName,\n    MainCtx* ctx,\n    QObject* parent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: threadRunner
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: DeviceSourceProvider::~DeviceSourceProvider()
    functionSourceFile: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp
    functionUses: 0
    functionsReached:
    - threadRunner
    linkageType: ''
    returnType: void
    signature: void DeviceSourceProvider::~DeviceSourceProvider()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QThread::currentThread
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:237,1
    - Dst: threadRunner
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:238,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:241,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:242,1
    - Dst: vlc_media_source_provider_Get
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:244,1
    - Dst: vlc_media_source_provider_List
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:245,1
    - Dst: static_cast<services_discovery_category_e>
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:247,1
    - Dst: vlc_media_source_meta_list_Count
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:253,1
    - Dst: SourceMetaPtr::get
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:253,1
    - Dst: vlc_media_source_meta_list_Get
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:257,1
    - Dst: SourceMetaPtr::get
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:257,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:258,1
    - Dst: DialogsProvider::getInstance
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:262,1
    - Dst: SharedMediaSourceModel::moveToThread
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:268,1
    - Dst: name::isEmpty
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:270,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:270,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:270,1
    - Dst: sources::push_back
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:271,1
    - Dst: SharedMediaSourceModel::init
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:280,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:281,1
    - Dst: empty
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:284,1
    - Dst: itemsUpdated
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:285,1
    - Dst: failed
      Src: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp:287,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 289
    functionName: DeviceSourceProvider::init
    functionSourceFile: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp
    functionUses: 0
    functionsReached:
    - static_cast<services_discovery_category_e>
    - threadRunner
    - getIntf
    - vlc_media_source_provider_List
    - qfu
    - vlc_media_source_meta_list_Count
    - vlc_media_source_provider_Get
    - push_back
    - sources::push_back
    - SharedMediaSourceModel::moveToThread
    - vlc_object_instance
    - QThread::currentThread
    - DialogsProvider::getInstance
    - itemsUpdated
    - SharedMediaSourceModel::init
    - name::isEmpty
    - failed
    - SourceMetaPtr::get
    - empty
    - vlc_media_source_meta_list_Get
    linkageType: ''
    returnType: void
    signature: void DeviceSourceProvider::init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: '& DeviceSourceProvider::getMediaSources() const'
    functionSourceFile: /src/vlc/modules/gui/qt/network/devicesourceprovider.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<SharedMediaSourceModel>
    signature: std::vector<SharedMediaSourceModel> & DeviceSourceProvider::getMediaSources()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: SourceItem
    functionSourceFile: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SourceItem()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:46,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:47,1
    - Dst: startsWith
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:49,1
    - Dst: QUrl
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:51,1
    - Dst: startsWith
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:53,1
    - Dst: QUrl
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:55,1
    - Dst: startsWith
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:57,1
    - Dst: indexOf
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:59,1
    - Dst: indexOf
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:60,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:61,1
    - Dst: mid
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:61,1
    - Dst: items_exists
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:62,1
    - Dst: QQmlFile::urlToLocalFileOrQrc
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:62,1
    - Dst: QUrl
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:62,1
    - Dst: QUrl
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - meta
    argTypes:
    - vlc_media_source_meta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 65
    functionName: SourceItem
    functionSourceFile: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp
    functionUses: 0
    functionsReached:
    - mid
    - QString
    - startsWith
    - QUrl
    - QQmlFile::urlToLocalFileOrQrc
    - items_exists
    - indexOf
    - qfu
    linkageType: ''
    returnType: void
    signature: void SourceItem(const vlc_media_source_meta* meta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: SourceItem
    functionSourceFile: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SourceItem()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:46,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:47,1
    - Dst: startsWith
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:49,1
    - Dst: QUrl
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:51,1
    - Dst: startsWith
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:53,1
    - Dst: QUrl
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:55,1
    - Dst: startsWith
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:57,1
    - Dst: indexOf
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:59,1
    - Dst: indexOf
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:60,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:61,1
    - Dst: mid
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:61,1
    - Dst: items_exists
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:62,1
    - Dst: QQmlFile::urlToLocalFileOrQrc
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:62,1
    - Dst: QUrl
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:62,1
    - Dst: QUrl
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - meta
    argTypes:
    - vlc_media_source_meta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 65
    functionName: SourceItem
    functionSourceFile: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp
    functionUses: 0
    functionsReached:
    - mid
    - QString
    - startsWith
    - QUrl
    - QQmlFile::urlToLocalFileOrQrc
    - items_exists
    - indexOf
    - qfu
    linkageType: ''
    returnType: void
    signature: void SourceItem(const vlc_media_source_meta* meta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pub
    argTypes:
    - NetworkSourcesModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: NetworkSourcesModelPrivate::NetworkSourcesModelPrivate
    functionSourceFile: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetworkSourcesModelPrivate(NetworkSourcesModel* pub)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: item
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:91,1
    - Dst: SourceItemPtr*::get
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - row
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: NetworkSourcesModelPrivate::getItemForRow
    functionSourceFile: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp
    functionUses: 0
    functionsReached:
    - item
    - SourceItemPtr*::get
    linkageType: ''
    returnType: SourceItem
    signature: SourceItem * getItemForRow(int row) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: file_compare
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:108,1
    - Dst: file_compare
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 119
    functionName: NetworkSourcesModelPrivate::getSortFunction
    functionSourceFile: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp
    functionUses: 0
    functionsReached:
    - file_compare
    linkageType: ''
    returnType: LocalListCacheLoader<SourceItemPtr>::ItemCompare
    signature: LocalListCacheLoader<SourceItemPtr>::ItemCompare getSortFunction()
      const override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:123,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:127,1
    - Dst: m_ctx::getIntf
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:127,1
    - Dst: empty
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:129,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:130,1
    - Dst: vlc_media_source_provider_Get
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:132,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:134,1
    - Dst: std::make_shared<SourceItem>
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:134,1
    - Dst: vlc_media_source_provider_List
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:139,1
    - Dst: static_cast<services_discovery_category_e>
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:139,1
    - Dst: vlc_media_source_meta_list_Count
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:144,1
    - Dst: SourceMetaPtr::get
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:144,1
    - Dst: vlc_media_source_meta_list_Get
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:148,1
    - Dst: SourceMetaPtr::get
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:148,1
    - Dst: std::make_shared<SourceItem>
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:149,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 157
    functionName: NetworkSourcesModelPrivate::initializeModel
    functionSourceFile: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp
    functionUses: 0
    functionsReached:
    - vlc_media_source_provider_Get
    - push_back
    - static_cast<services_discovery_category_e>
    - std::make_shared<SourceItem>
    - Q_Q
    - vlc_object_instance
    - clear
    - SourceMetaPtr::get
    - empty
    - vlc_media_source_provider_List
    - vlc_media_source_meta_list_Get
    - m_ctx::getIntf
    - vlc_media_source_meta_list_Count
    linkageType: ''
    returnType: bool
    signature: bool initializeModel() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:163,1
    - Dst: std::copy_if
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:167,1
    - Dst: cbegin
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:168,1
    - Dst: cend
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:168,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:169,1
    - Dst: name::contains
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' pattern'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 174
    functionName: NetworkSourcesModelPrivate::getModelData
    functionSourceFile: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp
    functionUses: 0
    functionsReached:
    - std::copy_if
    - name::contains
    - isEmpty
    - std::back_inserter
    - cend
    - cbegin
    linkageType: ''
    returnType: std::vector<SourceItemPtr>
    signature: std::vector<SourceItemPtr> getModelData(const QString& pattern) const
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SourceItemPtr
    - SourceItemPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: ListCache<SourceItemPtr>::compareItems
    functionSourceFile: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ListCache<SourceItemPtr>::compareItems(const SourceItemPtr& a,
      const SourceItemPtr& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NetworkSourcesModelPrivate::NetworkSourcesModelPrivate
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: NetworkSourcesModel::NetworkSourcesModel
    functionSourceFile: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp
    functionUses: 0
    functionsReached:
    - NetworkSourcesModelPrivate::NetworkSourcesModelPrivate
    linkageType: ''
    returnType: void
    signature: void NetworkSourcesModel::NetworkSourcesModel( QObject* parent )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getItemForRow
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:201,1
    - Dst: row
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - ' index'
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 218
    functionName: NetworkSourcesModel::data
    functionSourceFile: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp
    functionUses: 0
    functionsReached:
    - row
    - getItemForRow
    linkageType: ''
    returnType: QVariant
    signature: QVariant NetworkSourcesModel::data( const QModelIndex& index, int role
      ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:223,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:224,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:225,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 228
    functionName: NetworkSourcesModel::roleNames
    functionSourceFile: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp
    functionUses: 0
    functionsReached:
    - QByteArrayLiteral
    linkageType: ''
    returnType: QHash<int, QByteArray>
    signature: QHash<int, QByteArray> NetworkSourcesModel::roleNames() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:232,1
    - Dst: initializeModel
      Src: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - MainCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 239
    functionName: NetworkSourcesModel::setCtx
    functionSourceFile: /src/vlc/modules/gui/qt/network/networksourcesmodel.cpp
    functionUses: 0
    functionsReached:
    - initializeModel
    - Q_D
    linkageType: ''
    returnType: void
    signature: void NetworkSourcesModel::setCtx(MainCtx* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: NetworkSourcesModel::getCtx
    functionSourceFile: /src/vlc/modules/gui/qt/network/networksourcesmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MainCtx
    signature: MainCtx * getCtx()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: CHECK_ADDON_TYPE_MATCH
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_ADDON_TYPE_MATCH(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: CHECK_ADDON_STATE_MATCH
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_ADDON_STATE_MATCH(type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:71,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:72,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:73,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:74,1
    - Dst: QUrl
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:75,1
    - Dst: QByteArray
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:77,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:77,1
    - Dst: config_GetUserDir
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:80,1
    - Dst: likely
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:81,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:84,1
    - Dst: QDir::mkdir
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:85,1
    - Dst: QDir::cd
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:86,1
    - Dst: QDir::mkdir
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:87,1
    - Dst: QDir::cd
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:88,1
    - Dst: addons_uuid_to_psz
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:89,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:90,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:91,1
    - Dst: QDir::absoluteFilePath
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:92,1
    - Dst: items_exists
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:94,1
    - Dst: QPixmap::loadFromData
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:96,1
    - Dst: QByteArray::fromBase64
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:96,1
    - Dst: QByteArray
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:96,1
    - Dst: QPixmap::save
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:100,1
    - Dst: QUrl::fromLocalFile
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:102,1
    - Dst: QUrl
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:106,1
    - Dst: QUrl
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - addon
    argTypes:
    - AddonPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 109
    functionName: AddonItem::AddonItem
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 0
    functionsReached:
    - QPixmap::loadFromData
    - QString
    - QPixmap::save
    - QUrl
    - QDir::mkdir
    - QDir::cd
    - free
    - reinterpret_cast<const char*>
    - QDir::absoluteFilePath
    - items_exists
    - likely
    - QByteArray::fromBase64
    - QByteArray
    - QUrl::fromLocalFile
    - addons_uuid_to_psz
    - config_GetUserDir
    - qfu
    linkageType: ''
    returnType: void
    signature: void AddonItem( AddonPtr addon )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:71,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:72,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:73,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:74,1
    - Dst: QUrl
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:75,1
    - Dst: QByteArray
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:77,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:77,1
    - Dst: config_GetUserDir
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:80,1
    - Dst: likely
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:81,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:84,1
    - Dst: QDir::mkdir
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:85,1
    - Dst: QDir::cd
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:86,1
    - Dst: QDir::mkdir
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:87,1
    - Dst: QDir::cd
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:88,1
    - Dst: addons_uuid_to_psz
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:89,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:90,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:91,1
    - Dst: QDir::absoluteFilePath
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:92,1
    - Dst: items_exists
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:94,1
    - Dst: QPixmap::loadFromData
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:96,1
    - Dst: QByteArray::fromBase64
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:96,1
    - Dst: QByteArray
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:96,1
    - Dst: QPixmap::save
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:100,1
    - Dst: QUrl::fromLocalFile
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:102,1
    - Dst: QUrl
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:106,1
    - Dst: QUrl
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - addon
    argTypes:
    - AddonPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 109
    functionName: AddonItem::AddonItem
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 0
    functionsReached:
    - QPixmap::loadFromData
    - QString
    - QPixmap::save
    - QUrl
    - QDir::mkdir
    - QDir::cd
    - free
    - reinterpret_cast<const char*>
    - QDir::absoluteFilePath
    - items_exists
    - likely
    - QByteArray::fromBase64
    - QByteArray
    - QUrl::fromLocalFile
    - addons_uuid_to_psz
    - config_GetUserDir
    - qfu
    linkageType: ''
    returnType: void
    signature: void AddonItem( AddonPtr addon )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - AddonItemPtr
    - AddonItemPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: ListCache<AddonItemPtr>::compareItems
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ListCache<AddonItemPtr>::compareItems(const AddonItemPtr& a, const
      AddonItemPtr& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pub
    argTypes:
    - AddonsModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: AddonsModelPrivate::AddonsModelPrivate
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddonsModelPrivate(AddonsModel* pub)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: addons_manager_Delete
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: ~AddonsModelPrivate()
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 0
    functionsReached:
    - addons_manager_Delete
    linkageType: ''
    returnType: void
    signature: void ~AddonsModelPrivate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: item
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:160,1
    - Dst: AddonItemPtr*::get
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - row
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: AddonsModelPrivate::getItemForRow
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 0
    functionsReached:
    - item
    - AddonItemPtr*::get
    linkageType: ''
    returnType: AddonItem
    signature: AddonItem * getItemForRow(int row) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:168,1
    - Dst: addons_manager_Gather
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - uri
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 175
    functionName: AddonsModelPrivate::gatherRepository
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 0
    functionsReached:
    - Q_Q
    - addons_manager_Gather
    linkageType: ''
    returnType: bool
    signature: bool gatherRepository(const char* uri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: file_compare
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:184,1
    - Dst: file_compare
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 190
    functionName: AddonsModelPrivate::getSortFunction
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 0
    functionsReached:
    - file_compare
    linkageType: ''
    returnType: LocalListCacheLoader<AddonItemPtr>::ItemCompare
    signature: LocalListCacheLoader<AddonItemPtr>::ItemCompare getSortFunction() const
      override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:203,1
    - Dst: std::copy_if
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:209,1
    - Dst: cbegin
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:210,1
    - Dst: cend
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:210,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:211,1
    - Dst: static_cast<AddonsModel::State>
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:214,1
    - Dst: static_cast<AddonsModel::Type>
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:217,1
    - Dst: name::contains
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:219,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - ' pattern'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 222
    functionName: AddonsModelPrivate::getModelData
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 0
    functionsReached:
    - std::copy_if
    - name::contains
    - isEmpty
    - std::back_inserter
    - static_cast<AddonsModel::Type>
    - static_cast<AddonsModel::State>
    - cend
    - cbegin
    linkageType: ''
    returnType: AddonItemList
    signature: AddonItemList getModelData(const QString& pattern) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddonsModelPrivate::AddonsModelPrivate
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: AddonsModel::AddonsModel
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 0
    functionsReached:
    - AddonsModelPrivate::AddonsModelPrivate
    linkageType: ''
    returnType: void
    signature: void AddonsModel::AddonsModel( QObject* parent )
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: getItemForRow
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:243,1
    - Dst: row
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:243,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:261,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:281,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:291,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:298,1
    - Dst: ARRAY_FOREACH
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:305,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:306,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:330,1
    - Dst: QQmlFile::urlToLocalFileOrQrc
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:335,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 66
    argCount: 2
    argNames:
    - ' index'
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 339
    functionName: AddonsModel::data
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 0
    functionsReached:
    - ARRAY_FOREACH
    - QQmlFile::urlToLocalFileOrQrc
    - qtr
    - row
    - getItemForRow
    - fromValue
    - qfu
    linkageType: ''
    returnType: QVariant
    signature: QVariant AddonsModel::data( const QModelIndex& index, int role ) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QVariant::value
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:345,1
    - Dst: AddonsModel::installService
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:348,1
    - Dst: row
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:348,1
    - Dst: AddonsModel::removeService
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:352,1
    - Dst: row
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' index'
    - value
    - role
    argTypes:
    - QModelIndex
    - QVariant
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 356
    functionName: AddonsModel::setData
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 0
    functionsReached:
    - row
    - AddonsModel::installService
    - AddonsModel::removeService
    - QVariant::value
    linkageType: ''
    returnType: bool
    signature: bool AddonsModel::setData(const QModelIndex& index, const QVariant
      &value, int role)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: demux_test_and_clear_flags
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:361,1
    - Dst: getItemForRow
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:363,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:363,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - index
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 377
    functionName: AddonsModel::flags
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::row
    - getItemForRow
    - demux_test_and_clear_flags
    linkageType: ''
    returnType: Qt::ItemFlags
    signature: Qt::ItemFlags AddonsModel::flags( const QModelIndex &index ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:382,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:383,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:384,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:385,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:386,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:387,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:388,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:389,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:390,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:391,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:392,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:393,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:394,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:395,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:396,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:397,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 400
    functionName: AddonsModel::roleNames
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 0
    functionsReached:
    - QByteArrayLiteral
    linkageType: ''
    returnType: QHash<int, QByteArray>
    signature: QHash<int, QByteArray> AddonsModel::roleNames() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:404,1
    - Dst: getItemForRow
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:406,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:411,1
    - Dst: AddonItem*::uuid::size
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:411,1
    - Dst: memcpy
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:412,1
    - Dst: AddonItem*::uuid::constData
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:412,1
    - Dst: addons_manager_Install
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts:
    - condition: (sizeof(uuid) == item->uuid.size())
      pos:
        line_end: 410
        line_start: 410
        source_file: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    constantsTouched: []
    func_position:
      end: 414
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 414
    functionName: AddonsModel::installService
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 1
    functionsReached:
    - AddonItem*::uuid::constData
    - assert
    - memcpy
    - addons_manager_Install
    - getItemForRow
    - AddonItem*::uuid::size
    - Q_D
    linkageType: ''
    returnType: void
    signature: void AddonsModel::installService(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:418,1
    - Dst: getItemForRow
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:420,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:425,1
    - Dst: AddonItem*::uuid::size
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:425,1
    - Dst: memcpy
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:426,1
    - Dst: AddonItem*::uuid::constData
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:426,1
    - Dst: addons_manager_Remove
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts:
    - condition: (sizeof(uuid) == item->uuid.size())
      pos:
        line_end: 424
        line_start: 424
        source_file: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    constantsTouched: []
    func_position:
      end: 428
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 428
    functionName: AddonsModel::removeService
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 1
    functionsReached:
    - AddonItem*::uuid::constData
    - assert
    - memcpy
    - addons_manager_Remove
    - getItemForRow
    - AddonItem*::uuid::size
    - Q_D
    linkageType: ''
    returnType: void
    signature: void AddonsModel::removeService(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:432,1
    - Dst: gatherRepository
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 434
    functionName: AddonsModel::loadFromDefaultRepository
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 0
    functionsReached:
    - gatherRepository
    - Q_D
    linkageType: ''
    returnType: void
    signature: void AddonsModel::loadFromDefaultRepository()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:438,1
    - Dst: gatherRepository
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:439,1
    - Dst: QUrl::toEncoded
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - uri
    argTypes:
    - QUrl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 440
    functionName: AddonsModel::loadFromExternalRepository
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 0
    functionsReached:
    - gatherRepository
    - Q_D
    - QUrl::toEncoded
    linkageType: ''
    returnType: void
    signature: void AddonsModel::loadFromExternalRepository(QUrl uri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:444,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:449,1
    - Dst: initializeModel
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - MainCtx*
    assertStmts:
    - condition: (ctx)
      pos:
        line_end: 448
        line_start: 448
        source_file: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    constantsTouched: []
    func_position:
      end: 453
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 453
    functionName: AddonsModel::setCtx
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 0
    functionsReached:
    - initializeModel
    - assert
    - Q_D
    linkageType: ''
    returnType: void
    signature: void AddonsModel::setCtx(MainCtx* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 459
    functionName: AddonsModel::getCtx
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MainCtx
    signature: MainCtx * AddonsModel::getCtx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 465
    functionName: AddonsModel::getTypeFilter
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AddonsModel::Type
    signature: AddonsModel::Type AddonsModel::getTypeFilter() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:469,1
    - Dst: invalidateCache
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - AddonsModel::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 478
    functionName: AddonsModel::setTypeFilter
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 0
    functionsReached:
    - invalidateCache
    - Q_D
    linkageType: ''
    returnType: void
    signature: void AddonsModel::setTypeFilter(AddonsModel::Type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 484
    functionName: AddonsModel::getStateFilter
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AddonsModel::State
    signature: AddonsModel::State AddonsModel::getStateFilter() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:488,1
    - Dst: invalidateCache
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - AddonsModel::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 497
    functionName: AddonsModel::setStateFilter
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 0
    functionsReached:
    - invalidateCache
    - Q_D
    linkageType: ''
    returnType: void
    signature: void AddonsModel::setStateFilter(AddonsModel::State state)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:504,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:506,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:508,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:510,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:512,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:514,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - type
    argTypes:
    - AddonsModel::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 518
    functionName: AddonsModel::getLabelForType
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 1
    functionsReached:
    - qtr
    linkageType: ''
    returnType: QString
    signature: QString AddonsModel::getLabelForType(AddonsModel::Type type)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:526,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:529,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:532,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:535,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:538,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:541,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - type
    argTypes:
    - AddonsModel::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 550
    functionName: AddonsModel::getColorForType
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 1
    functionsReached:
    - QColor
    linkageType: ''
    returnType: QColor
    signature: QColor AddonsModel::getColorForType(AddonsModel::Type type)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:557,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:559,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:561,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:563,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:565,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:567,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:569,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - type
    argTypes:
    - AddonsModel::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 572
    functionName: AddonsModel::getIconForType
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 1
    functionsReached:
    - QStringLiteral
    - vlc_assert_unreachable
    linkageType: ''
    returnType: QString
    signature: QString AddonsModel::getIconForType(AddonsModel::Type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 577
    functionName: AddonsModel::getMaxScore
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int AddonsModel::getMaxScore()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:582,1
    - Dst: AddonsModelPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:582,1
    - Dst: AddonPtr
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:582,1
    - Dst: AddonsModelPrivate*::addonFound
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:584,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - manager
    - entry
    argTypes:
    - addons_manager_t*
    - addon_entry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 586
    functionName: addonFoundCallback
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 0
    functionsReached:
    - AddonsModelPrivate*::q_func
    - AddonPtr
    - std::move
    - QMetaObject::invokeMethod
    - AddonsModelPrivate*::addonFound
    linkageType: ''
    returnType: void
    signature: void addonFoundCallback( addons_manager_t *manager, addon_entry_t *entry
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:591,1
    - Dst: AddonsModelPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:591,1
    - Dst: AddonsModelPrivate*::discoveryEnded
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - manager
    argTypes:
    - addons_manager_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 595
    functionName: addonsDiscoveryEndedCallback
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 0
    functionsReached:
    - AddonsModelPrivate*::q_func
    - QMetaObject::invokeMethod
    - AddonsModelPrivate*::discoveryEnded
    linkageType: ''
    returnType: void
    signature: void addonsDiscoveryEndedCallback( addons_manager_t *manager )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:600,1
    - Dst: AddonsModelPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:600,1
    - Dst: AddonPtr
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:600,1
    - Dst: AddonsModelPrivate*::addonChanged
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:602,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - manager
    - entry
    argTypes:
    - addons_manager_t*
    - addon_entry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 604
    functionName: addonChangedCallback
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 0
    functionsReached:
    - AddonsModelPrivate*::q_func
    - AddonPtr
    - std::move
    - AddonsModelPrivate*::addonChanged
    - QMetaObject::invokeMethod
    linkageType: ''
    returnType: void
    signature: void addonChangedCallback( addons_manager_t *manager, addon_entry_t
      *entry )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:608,1
    - Dst: addons_manager_Delete
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:613,1
    - Dst: addons_manager_New
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:623,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:623,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:623,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:624,1
    - Dst: addons_manager_LoadCatalog
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:627,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( m_manager )
      pos:
        line_end: 623
        line_start: 623
        source_file: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    constantsTouched: []
    func_position:
      end: 633
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 633
    functionName: AddonsModelPrivate::initializeModel
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 0
    functionsReached:
    - assert
    - addons_manager_LoadCatalog
    - addons_manager_New
    - Q_Q
    - addons_manager_Delete
    - getIntf
    - VLC_OBJECT
    linkageType: ''
    returnType: bool
    signature: bool AddonsModelPrivate::initializeModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:638,1
    - Dst: std::make_shared<AddonItem>
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addon
    argTypes:
    - AddonPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 639
    functionName: AddonsModelPrivate::addonFound
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<AddonItem>
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void AddonsModelPrivate::addonFound( AddonPtr addon )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<AddonItem>
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:643,1
    - Dst: updateItem
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:644,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:644,1
    - Dst: invalidateCache
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - addon
    argTypes:
    - AddonPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 648
    functionName: AddonsModelPrivate::addonChanged
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<AddonItem>
    - std::move
    - updateItem
    - invalidateCache
    linkageType: ''
    returnType: void
    signature: void AddonsModelPrivate::addonChanged( AddonPtr addon )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:652,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:653,1
    - Dst: invalidateCache
      Src: /src/vlc/modules/gui/qt/network/addonsmodel.cpp:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( m_loading )
      pos:
        line_end: 652
        line_start: 652
        source_file: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    constantsTouched: []
    func_position:
      end: 658
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 658
    functionName: AddonsModelPrivate::discoveryEnded
    functionSourceFile: /src/vlc/modules/gui/qt/network/addonsmodel.cpp
    functionUses: 0
    functionsReached:
    - invalidateCache
    - Q_Q
    - assert
    linkageType: ''
    returnType: void
    signature: void AddonsModelPrivate::discoveryEnded()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:44,1
    - Dst: QStyleOptionHeader::initFrom
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:47,1
    - Dst: style
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:52,1
    - Dst: QStyle*::pixelMetric
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:53,1
    - Dst: QWidget*::devicePixelRatioF
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:57,1
    - Dst: QRect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:58,1
    - Dst: QPixmap::setDevicePixelRatio
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:61,1
    - Dst: QPixmap::fill
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:62,1
    - Dst: QStyle*::drawPrimitive
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:66,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - widget
    - order
    argTypes:
    - QWidget*
    - int
    assertStmts:
    - condition: (order == Qt::AscendingOrder || order == Qt::DescendingOrder)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    constantsTouched: []
    func_position:
      end: 70
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 70
    functionName: sortIcon
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached:
    - assert
    - QPixmap::fill
    - QStyle*::pixelMetric
    - QIcon
    - style
    - QStyle*::drawPrimitive
    - QRect
    - QStyleOptionHeader::initFrom
    - QPixmap::setDevicePixelRatio
    - QWidget*::devicePixelRatioF
    linkageType: ''
    returnType: QIcon
    signature: QIcon sortIcon(QWidget *widget, int order)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:44,1
    - Dst: QStyleOptionHeader::initFrom
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:47,1
    - Dst: style
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:52,1
    - Dst: QStyle*::pixelMetric
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:53,1
    - Dst: QWidget*::devicePixelRatioF
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:57,1
    - Dst: QRect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:58,1
    - Dst: QPixmap::setDevicePixelRatio
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:61,1
    - Dst: QPixmap::fill
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:62,1
    - Dst: QStyle*::drawPrimitive
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:66,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - widget
    - order
    argTypes:
    - QWidget*
    - int
    assertStmts:
    - condition: (order == Qt::AscendingOrder || order == Qt::DescendingOrder)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    constantsTouched: []
    func_position:
      end: 70
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 70
    functionName: sortIcon
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached:
    - assert
    - QPixmap::fill
    - QStyle*::pixelMetric
    - QIcon
    - style
    - QStyle*::drawPrimitive
    - QRect
    - QStyleOptionHeader::initFrom
    - QPixmap::setDevicePixelRatio
    - QWidget*::devicePixelRatioF
    linkageType: ''
    returnType: QIcon
    signature: QIcon sortIcon(QWidget *widget, int order)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:75,1
    - Dst: newMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:76,1
    - Dst: QVariantList::size
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:78,1
    - Dst: toString
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:80,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:81,1
    - Dst: QMenu*::popup
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - point
    - stringList
    argTypes:
    - QPoint
    - QVariantList
    assertStmts:
    - condition: (m_ctx)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    constantsTouched: []
    func_position:
      end: 88
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 88
    functionName: StringListMenu::popup
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached:
    - assert
    - newMenu
    - QVariantList::size
    - QMenu*::addAction
    - toString
    - QMenu*::popup
    linkageType: ''
    returnType: void
    signature: void StringListMenu::popup(const QPoint &point, const QVariantList
      &stringList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:92,1
    - Dst: VLCMenu::VLCMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:92,1
    - Dst: QMenu*::setAttribute
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:93,1
    - Dst: BasicMenuContainer::setVisible
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:96,1
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:97,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:101,1
    - Dst: BasicMenuContainer::setVisible
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:101,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:102,1
    - Dst: BasicMenuContainer::setVisible
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 104
    functionName: BasicMenuContainer::newMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached:
    - disconnect
    - BasicMenuContainer::setVisible
    - connect
    - getIntf
    - QMenu*::setAttribute
    - VLCMenu::VLCMenu
    linkageType: ''
    returnType: QMenu
    signature: QMenu *BasicMenuContainer::newMenu()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - visible
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: BasicMenuContainer::setVisible
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BasicMenuContainer::setVisible(bool visible)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:118,1
    - Dst: std::make_unique<VLCMenu>
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:119,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:119,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:121,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:121,1
    - Dst: shownChanged
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:123,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:125,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:125,1
    - Dst: shownChanged
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:127,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:130,1
    - Dst: QActionGroup::QActionGroup
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:130,1
    - Dst: auto::setExclusive
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:131,1
    - Dst: QVariantList::size
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:134,1
    - Dst: toMap
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:136,1
    - Dst: addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:138,1
    - Dst: auto::value
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:138,1
    - Dst: auto::setActionGroup
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:139,1
    - Dst: auto::setCheckable
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:140,1
    - Dst: auto::value
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:142,1
    - Dst: auto::setChecked
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:143,1
    - Dst: auto::setIcon
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:146,1
    - Dst: sortIcon
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:146,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:146,1
    - Dst: auto::value
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:146,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:148,1
    - Dst: SortMenu::onPopup
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:154,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:154,1
    - Dst: SortMenu::popup
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:157,1
    - Dst: QPoint
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:157,1
    - Dst: QPoint::x
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:157,1
    - Dst: QPoint::y
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:157,1
    - Dst: sizeHint
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:157,1
    - Dst: SortMenu::popup
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - point
    - popupAbovePoint
    - model
    argTypes:
    - QPoint
    - bool
    - QVariantList
    assertStmts:
    - condition: (m_ctx)
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    constantsTouched: []
    func_position:
      end: 160
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 160
    functionName: SortMenu::popup
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 1
    functionsReached:
    - QPoint::x
    - assert
    - auto::setChecked
    - auto::value
    - SortMenu::onPopup
    - connect
    - toMap
    - getIntf
    - QPoint::y
    - addAction
    - auto::setActionGroup
    - get
    - QVariantList::size
    - auto::setExclusive
    - auto::setIcon
    - shownChanged
    - std::make_unique<VLCMenu>
    - SortMenu::popup
    - QActionGroup::QActionGroup
    - QPoint
    - auto::setCheckable
    - sizeHint
    - sortIcon
    linkageType: ''
    returnType: void
    signature: void SortMenu::popup(const QPoint &point, const bool popupAbovePoint,
      const QVariantList &model)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SortMenu::close
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: SortMenu::close
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 1
    functionsReached:
    - SortMenu::close
    linkageType: ''
    returnType: void
    signature: void SortMenu::close()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: SortMenu::onPopup
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SortMenu::onPopup(QMenu *)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:181,1
    - Dst: N_
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:191,1
    - Dst: N_
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:192,1
    - Dst: N_
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:193,1
    - Dst: QActionGroup::QActionGroup
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:196,1
    - Dst: grouping
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:198,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:200,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:202,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:202,1
    - Dst: QAction*::setCheckable
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:204,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:208,1
    - Dst: QActionGroup*::addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:213,1
    - Dst: QAction*::setChecked
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - menu
    argTypes:
    - QMenu*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 218
    functionName: SortMenuVideo::onPopup
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached:
    - QAction*::setChecked
    - ARRAY_SIZE
    - QActionGroup::QActionGroup
    - QAction*::setCheckable
    - QActionGroup*::addAction
    - N_
    - qtr
    - connect
    - QMenu*::addAction
    - QMenu*::addSeparator
    - grouping
    linkageType: ''
    returnType: void
    signature: void SortMenuVideo::onPopup(QMenu * menu)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:225,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:226,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:228,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:230,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:230,1
    - Dst: QAction*::setCheckable
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:231,1
    - Dst: QAction*::setChecked
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:232,1
    - Dst: albumSections
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:232,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:233,1
    - Dst: Q_LIKELY
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:234,1
    - Dst: setAlbumSections
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - menu
    argTypes:
    - QMenu*
    assertStmts:
    - condition: (m_ctx)
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    - condition: (menu)
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    constantsTouched: []
    func_position:
      end: 237
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 237
    functionName: SortMenuAlbums::onPopup
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached:
    - assert
    - QAction*::setChecked
    - Q_LIKELY
    - QAction*::setCheckable
    - albumSections
    - qtr
    - connect
    - QMenu*::addAction
    - QMenu*::addSeparator
    - setAlbumSections
    linkageType: ''
    returnType: void
    signature: void SortMenuAlbums::onPopup(QMenu *menu)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: QmlGlobalMenu::QmlGlobalMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QmlGlobalMenu::QmlGlobalMenu(QObject *parent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:249,1
    - Dst: std::make_unique<VLCMenu>
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:253,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:253,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:256,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:256,1
    - Dst: shownChanged
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:258,1
    - Dst: aboutToShow
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:259,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:261,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:261,1
    - Dst: shownChanged
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:263,1
    - Dst: aboutToHide
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:264,1
    - Dst: addMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:267,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:267,1
    - Dst: FileMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:268,1
    - Dst: addMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:271,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:271,1
    - Dst: NavigMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:272,1
    - Dst: addMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:274,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:274,1
    - Dst: AudioMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:275,1
    - Dst: addMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:277,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:277,1
    - Dst: VideoMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:278,1
    - Dst: addMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:280,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:280,1
    - Dst: SubtitleMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:281,1
    - Dst: addMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:283,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:283,1
    - Dst: ToolsMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:284,1
    - Dst: addMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:287,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:287,1
    - Dst: ViewMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:288,1
    - Dst: addMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:290,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:290,1
    - Dst: HelpMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:291,1
    - Dst: QmlGlobalMenu::popup
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 1
    argNames:
    - pos
    argTypes:
    - QPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 294
    functionName: QmlGlobalMenu::popup
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 1
    functionsReached:
    - aboutToHide
    - SubtitleMenu
    - ViewMenu
    - get
    - qtr
    - addMenu
    - connect
    - FileMenu
    - aboutToShow
    - getIntf
    - NavigMenu
    - HelpMenu
    - QmlGlobalMenu::popup
    - ToolsMenu
    - shownChanged
    - VideoMenu
    - AudioMenu
    - std::make_unique<VLCMenu>
    linkageType: ''
    returnType: void
    signature: void QmlGlobalMenu::popup(QPoint pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QmlGlobalMenu::close
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: QmlGlobalMenu::close
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 1
    functionsReached:
    - QmlGlobalMenu::close
    linkageType: ''
    returnType: void
    signature: void QmlGlobalMenu::close()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - menubar
    - parent
    argTypes:
    - QmlMenuBar*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: QmlMenuBarMenu::QmlMenuBarMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QmlMenuBarMenu::QmlMenuBarMenu(QmlMenuBar* menubar, QWidget* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: QmlMenuBarMenu::~QmlMenuBarMenu()
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QmlMenuBarMenu::~QmlMenuBarMenu()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: m_menu::mapToGlobal
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:313,1
    - Dst: QMouseEvent*::pos
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:313,1
    - Dst: getmenubar
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:314,1
    - Dst: getmenubar
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:314,1
    - Dst: m_button::contains
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:315,1
    - Dst: m_button::mapFromGlobal
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:315,1
    - Dst: setopenMenuOnHover
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:317,1
    - Dst: close
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:318,1
    - Dst: QtVLCWidget::mouseMoveEvent
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - mouseEvent
    argTypes:
    - QMouseEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 322
    functionName: QmlMenuBarMenu::mouseMoveEvent
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached:
    - m_button::contains
    - close
    - QMouseEvent*::pos
    - setopenMenuOnHover
    - getmenubar
    - QtVLCWidget::mouseMoveEvent
    - m_button::mapFromGlobal
    - m_menu::mapToGlobal
    linkageType: ''
    returnType: void
    signature: void QmlMenuBarMenu::mouseMoveEvent(QMouseEvent* mouseEvent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: KeyInputDialog::keyPressEvent
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:326,1
    - Dst: QKeyEvent*::isAccepted
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:327,1
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:328,1
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:328,1
    - Dst: QKeyEvent*::accept
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:330,1
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - event
    argTypes:
    - QKeyEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 324
    functionDepth: 4
    functionLinenumber: 324
    functionLinenumberEnd: 333
    functionName: QmlMenuBarMenu::keyPressEvent
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached:
    - QKeyEvent*::accept
    - KeyInputDialog::keyPressEvent
    - QKeyEvent*::key
    - QKeyEvent*::isAccepted
    linkageType: ''
    returnType: void
    signature: void QmlMenuBarMenu::keyPressEvent(QKeyEvent * event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QmlMenuBarMenu::keyReleaseEvent
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - QKeyEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 338
    functionName: QmlMenuBarMenu::keyReleaseEvent
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 1
    functionsReached:
    - QmlMenuBarMenu::keyReleaseEvent
    linkageType: ''
    returnType: void
    signature: void QmlMenuBarMenu::keyReleaseEvent(QKeyEvent * event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 343
    functionName: QmlMenuBar::QmlMenuBar
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QmlMenuBar::QmlMenuBar(QObject *parent)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:350,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:352,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:354,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:356,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:358,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:360,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:362,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:364,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - entry
    argTypes:
    - MenuEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 368
    functionName: QmlMenuBar::menuEntryTitle
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached:
    - qtr
    - vlc_assert_unreachable
    linkageType: ''
    returnType: QString
    signature: QString QmlMenuBar::menuEntryTitle(MenuEntry entry)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:375,1
    - Dst: std::make_unique<QmlMenuBarMenu>
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:379,1
    - Dst: createMenuFunc
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:380,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:380,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:383,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:383,1
    - Dst: QQuickItem*::mapToGlobal
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:384,1
    - Dst: QPoint
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:384,1
    - Dst: QQuickItem*::height
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:384,1
    - Dst: popup
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:385,1
    - Dst: QPointF::toPoint
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:385,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - button
    - createMenuFunc
    argTypes:
    - QQuickItem*
    - std::function<void(QMenu*)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 386
    functionName: QmlMenuBar::popupMenuCommon
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<QmlMenuBarMenu>
    - QPoint
    - QQuickItem*::mapToGlobal
    - get
    - QQuickItem*::height
    - createMenuFunc
    - connect
    - getIntf
    - QPointF::toPoint
    - popup
    linkageType: ''
    returnType: void
    signature: void QmlMenuBar::popupMenuCommon( QQuickItem* button, std::function<void(QMenu*)>
      createMenuFunc)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:391,1
    - Dst: FileMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:394,1
    - Dst: NavigMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:397,1
    - Dst: VideoMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:400,1
    - Dst: AudioMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:403,1
    - Dst: SubtitleMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:406,1
    - Dst: ToolsMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:409,1
    - Dst: ViewMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:412,1
    - Dst: HelpMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:415,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:418,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - menu
    - entry
    argTypes:
    - QMenu*
    - MenuEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 420
    functionName: QmlMenuBar::setupMenuEntry
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    - SubtitleMenu
    - ViewMenu
    - FileMenu
    - NavigMenu
    - getIntf
    - HelpMenu
    - ToolsMenu
    - VideoMenu
    - AudioMenu
    linkageType: ''
    returnType: void
    signature: void QmlMenuBar::setupMenuEntry(QMenu* menu, MenuEntry entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QmlMenuBar::popupMenuCommon
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:424,1
    - Dst: QmlMenuBar::setupMenuEntry
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - button
    - entry
    argTypes:
    - QQuickItem*
    - MenuEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 427
    functionName: QmlMenuBar::popupMenuEntry
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached:
    - QmlMenuBar::setupMenuEntry
    - QmlMenuBar::popupMenuCommon
    linkageType: ''
    returnType: void
    signature: void QmlMenuBar::popupMenuEntry(QQuickItem* button, MenuEntry entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QmlMenuBar::popupMenuCommon
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:431,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:432,1
    - Dst: FileMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - button
    argTypes:
    - QQuickItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 429
    functionDepth: 2
    functionLinenumber: 429
    functionLinenumberEnd: 435
    functionName: QmlMenuBar::popupMediaMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached:
    - FileMenu
    - getIntf
    - QmlMenuBar::popupMenuCommon
    linkageType: ''
    returnType: void
    signature: void QmlMenuBar::popupMediaMenu( QQuickItem* button )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QmlMenuBar::popupMenuCommon
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:439,1
    - Dst: NavigMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:440,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - button
    argTypes:
    - QQuickItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 437
    functionDepth: 2
    functionLinenumber: 437
    functionLinenumberEnd: 442
    functionName: QmlMenuBar::popupPlaybackMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached:
    - NavigMenu
    - getIntf
    - QmlMenuBar::popupMenuCommon
    linkageType: ''
    returnType: void
    signature: void QmlMenuBar::popupPlaybackMenu( QQuickItem* button )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QmlMenuBar::popupMenuCommon
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:446,1
    - Dst: AudioMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:447,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - button
    argTypes:
    - QQuickItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 449
    functionName: QmlMenuBar::popupAudioMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - AudioMenu
    - QmlMenuBar::popupMenuCommon
    linkageType: ''
    returnType: void
    signature: void QmlMenuBar::popupAudioMenu(QQuickItem* button )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QmlMenuBar::popupMenuCommon
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:453,1
    - Dst: VideoMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:454,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - button
    argTypes:
    - QQuickItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 456
    functionName: QmlMenuBar::popupVideoMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached:
    - VideoMenu
    - getIntf
    - QmlMenuBar::popupMenuCommon
    linkageType: ''
    returnType: void
    signature: void QmlMenuBar::popupVideoMenu( QQuickItem* button )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QmlMenuBar::popupMenuCommon
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:460,1
    - Dst: SubtitleMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:461,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - button
    argTypes:
    - QQuickItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 458
    functionDepth: 2
    functionLinenumber: 458
    functionLinenumberEnd: 463
    functionName: QmlMenuBar::popupSubtitleMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - SubtitleMenu
    - QmlMenuBar::popupMenuCommon
    linkageType: ''
    returnType: void
    signature: void QmlMenuBar::popupSubtitleMenu( QQuickItem* button )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QmlMenuBar::popupMenuCommon
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:468,1
    - Dst: ToolsMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:469,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - button
    argTypes:
    - QQuickItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 471
    functionName: QmlMenuBar::popupToolsMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached:
    - ToolsMenu
    - getIntf
    - QmlMenuBar::popupMenuCommon
    linkageType: ''
    returnType: void
    signature: void QmlMenuBar::popupToolsMenu( QQuickItem* button )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QmlMenuBar::popupMenuCommon
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:475,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:476,1
    - Dst: ViewMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - button
    argTypes:
    - QQuickItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 479
    functionName: QmlMenuBar::popupViewMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached:
    - ViewMenu
    - getIntf
    - QmlMenuBar::popupMenuCommon
    linkageType: ''
    returnType: void
    signature: void QmlMenuBar::popupViewMenu(QQuickItem* button )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QmlMenuBar::popupMenuCommon
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:483,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:484,1
    - Dst: HelpMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - button
    argTypes:
    - QQuickItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 487
    functionName: QmlMenuBar::popupHelpMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - HelpMenu
    - QmlMenuBar::popupMenuCommon
    linkageType: ''
    returnType: void
    signature: void QmlMenuBar::popupHelpMenu( QQuickItem* button )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QmlMenuBar::popupMenuCommon
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:491,1
    - Dst: addMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:493,1
    - Dst: QmlMenuBar::menuEntryTitle
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:493,1
    - Dst: QmlMenuBar::setupMenuEntry
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - button
    - ' extraActions'
    argTypes:
    - QQuickItem*
    - QList<MenuEntry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 497
    functionName: QmlMenuBar::popupExtraActionsMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached:
    - QmlMenuBar::menuEntryTitle
    - QmlMenuBar::setupMenuEntry
    - QmlMenuBar::popupMenuCommon
    - addMenu
    linkageType: ''
    returnType: void
    signature: void QmlMenuBar::popupExtraActionsMenu( QQuickItem* button, const QList<MenuEntry>&
      extraActions )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: menuClosed
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 503
    functionName: QmlMenuBar::onMenuClosed
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached:
    - menuClosed
    linkageType: ''
    returnType: void
    signature: void QmlMenuBar::onMenuClosed()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 507
    functionName: QmlMenuPositioner::QmlMenuPositioner
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QmlMenuPositioner::QmlMenuPositioner(QObject * parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QMenu*::removeEventFilter
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:513,1
    - Dst: QMenu*::popup
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:517,1
    - Dst: QMenu*::installEventFilter
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:524,1
    - Dst: QMenu*::popup
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - menu
    - ' position'
    - above
    argTypes:
    - QMenu*
    - QPoint
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 528
    functionName: QmlMenuPositioner::popup
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached:
    - QMenu*::installEventFilter
    - QMenu*::popup
    - QMenu*::removeEventFilter
    linkageType: ''
    returnType: void
    signature: void QmlMenuPositioner::popup(QMenu * menu, const QPoint & position,
      bool above)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:534,1
    - Dst: QGuiApplication::screenAt
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:536,1
    - Dst: QuitSpy::eventFilter
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:539,1
    - Dst: static_cast<QMenu *>
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:541,1
    - Dst: QMenu*::width
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:543,1
    - Dst: QMenu*::height
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:544,1
    - Dst: QScreen*::availableGeometry
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:546,1
    - Dst: QRect::x
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:548,1
    - Dst: QRect::y
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:549,1
    - Dst: qBound
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:553,1
    - Dst: x
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:553,1
    - Dst: QRect::width
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:553,1
    - Dst: qBound
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:555,1
    - Dst: y
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:555,1
    - Dst: QRect::height
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:555,1
    - Dst: QMenu*::move
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:557,1
    - Dst: QPoint
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:557,1
    - Dst: QuitSpy::eventFilter
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:560,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - object
    - event
    argTypes:
    - QObject*
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 532
    functionDepth: 2
    functionLinenumber: 532
    functionLinenumberEnd: 561
    functionName: QmlMenuPositioner::eventFilter
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached:
    - qBound
    - QRect::height
    - QRect::x
    - static_cast<QMenu *>
    - QMenu*::height
    - QRect::y
    - QEvent*::type
    - QMenu*::move
    - x
    - QPoint
    - QMenu*::width
    - QGuiApplication::screenAt
    - QuitSpy::eventFilter
    - QScreen*::availableGeometry
    - y
    - QRect::width
    linkageType: ''
    returnType: bool
    signature: bool QmlMenuPositioner::eventFilter(QObject * object, QEvent * event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 567
    functionName: QmlBookmarkMenu::QmlBookmarkMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QmlBookmarkMenu::QmlBookmarkMenu(QObject * parent)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<VLCMenu>
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:576,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:576,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:578,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:578,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:579,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:579,1
    - Dst: addSection
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:581,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:581,1
    - Dst: addSection
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:582,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:582,1
    - Dst: hasMediaLibrary
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:585,1
    - Dst: addSection
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:586,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:586,1
    - Dst: getTitles
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:590,1
    - Dst: QAction*::setVisible
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:592,1
    - Dst: TitleListModel*::rowCount
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:592,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:594,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:594,1
    - Dst: ListMenuHelper::ListMenuHelper
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:594,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:596,1
    - Dst: TitleListModel*::setData
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:598,1
    - Dst: TitleListModel*::index
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:598,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:601,1
    - Dst: QAction*::setVisible
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:604,1
    - Dst: getChapters
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:609,1
    - Dst: QAction*::setVisible
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:611,1
    - Dst: ChapterListModel*::rowCount
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:611,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:613,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:613,1
    - Dst: ListMenuHelper::ListMenuHelper
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:613,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:615,1
    - Dst: ChapterListModel*::setData
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:617,1
    - Dst: ChapterListModel*::index
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:617,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:620,1
    - Dst: QAction*::setVisible
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:623,1
    - Dst: hasMediaLibrary
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:627,1
    - Dst: addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:629,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:629,1
    - Dst: QKeySequence
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:629,1
    - Dst: addSeparator
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:630,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:632,1
    - Dst: MLBookmarkModel::MLBookmarkModel
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:632,1
    - Dst: MLBookmarkModel*::setPlayer
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:633,1
    - Dst: getPlayer
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:633,1
    - Dst: MLBookmarkModel*::setMl
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:634,1
    - Dst: getMediaLibrary
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:634,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:636,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:636,1
    - Dst: ListMenuHelper::ListMenuHelper
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:636,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:638,1
    - Dst: MLBookmarkModel*::select
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:640,1
    - Dst: MLBookmarkModel*::index
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:640,1
    - Dst: QmlBookmarkMenu::popup
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:644,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:644,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 2
    argNames:
    - ' position'
    - above
    argTypes:
    - QPoint
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 645
    functionName: QmlBookmarkMenu::popup
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 1
    functionsReached:
    - getPlayer
    - MLBookmarkModel*::index
    - connect
    - ChapterListModel*::rowCount
    - getIntf
    - QAction*::setVisible
    - MLBookmarkModel*::select
    - addAction
    - get
    - TitleListModel*::rowCount
    - QmlBookmarkMenu::popup
    - MLBookmarkModel::MLBookmarkModel
    - getMediaLibrary
    - std::make_unique<VLCMenu>
    - TitleListModel*::index
    - MLBookmarkModel*::setMl
    - MLBookmarkModel*::setPlayer
    - hasMediaLibrary
    - qtr
    - addSeparator
    - TitleListModel*::setData
    - ChapterListModel*::setData
    - ChapterListModel*::index
    - getTitles
    - ListMenuHelper::ListMenuHelper
    - addSection
    - QKeySequence
    - getChapters
    linkageType: ''
    returnType: void
    signature: void QmlBookmarkMenu::popup(const QPoint & position, bool above)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QmlBookmarkMenu::close
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 651
    functionName: QmlBookmarkMenu::close
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 1
    functionsReached:
    - QmlBookmarkMenu::close
    linkageType: ''
    returnType: void
    signature: void QmlBookmarkMenu::close()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 657
    functionName: QmlProgramMenu::QmlProgramMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QmlProgramMenu::QmlProgramMenu(QObject * parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:663,1
    - Dst: std::make_unique<VLCMenu>
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:667,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:667,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:669,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:669,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:670,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:670,1
    - Dst: addSection
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:672,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:672,1
    - Dst: getPrograms
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:674,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:676,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:676,1
    - Dst: ListMenuHelper::ListMenuHelper
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:676,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:678,1
    - Dst: ProgramListModel*::setData
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:680,1
    - Dst: ProgramListModel*::index
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:680,1
    - Dst: QmlProgramMenu::popup
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:683,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:683,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - ' position'
    - above
    argTypes:
    - QPoint
    - bool
    assertStmts:
    - condition: (m_ctx)
      pos:
        line_end: 662
        line_start: 662
        source_file: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    constantsTouched: []
    func_position:
      end: 684
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 684
    functionName: QmlProgramMenu::popup
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 1
    functionsReached:
    - assert
    - getPrograms
    - QmlProgramMenu::popup
    - get
    - ListMenuHelper::ListMenuHelper
    - qtr
    - ProgramListModel*::index
    - addSection
    - connect
    - ProgramListModel*::setData
    - getIntf
    - std::make_unique<VLCMenu>
    linkageType: ''
    returnType: void
    signature: void QmlProgramMenu::popup(const QPoint & position, bool above)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QmlProgramMenu::close
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:689,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 690
    functionName: QmlProgramMenu::close
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 1
    functionsReached:
    - QmlProgramMenu::close
    linkageType: ''
    returnType: void
    signature: void QmlProgramMenu::close()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 696
    functionName: QmlRendererMenu::QmlRendererMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QmlRendererMenu::QmlRendererMenu(QObject * parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<RendererMenu>
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:705,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:705,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:705,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:707,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:707,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:708,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:708,1
    - Dst: QmlRendererMenu::popup
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:710,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' position'
    - above
    argTypes:
    - QPoint
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 711
    functionName: QmlRendererMenu::popup
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 1
    functionsReached:
    - QmlRendererMenu::popup
    - get
    - connect
    - getIntf
    - std::make_unique<RendererMenu>
    linkageType: ''
    returnType: void
    signature: void QmlRendererMenu::popup(const QPoint & position, bool above)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QmlRendererMenu::close
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:716,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 717
    functionName: QmlRendererMenu::close
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 1
    functionsReached:
    - QmlRendererMenu::close
    linkageType: ''
    returnType: void
    signature: void QmlRendererMenu::close()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 723
    functionName: QmlTrackMenu::QmlTrackMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QmlTrackMenu::QmlTrackMenu(QObject * parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:729,1
    - Dst: std::make_unique<VLCMenu>
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:730,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:730,1
    - Dst: beforePopup
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:732,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:732,1
    - Dst: QmlTrackMenu::popup
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' position'
    argTypes:
    - QPoint
    assertStmts:
    - condition: (m_ctx)
      pos:
        line_end: 728
        line_start: 728
        source_file: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    constantsTouched: []
    func_position:
      end: 735
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 735
    functionName: QmlTrackMenu::popup
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 1
    functionsReached:
    - assert
    - get
    - beforePopup
    - QmlTrackMenu::popup
    - getIntf
    - std::make_unique<VLCMenu>
    linkageType: ''
    returnType: void
    signature: void QmlTrackMenu::popup(const QPoint & position)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 739
    functionName: QmlSubtitleMenu::QmlSubtitleMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QmlSubtitleMenu::QmlSubtitleMenu(QObject * parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:745,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:745,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:750,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:750,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:750,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:755,1
    - Dst: ColorizedSvgIcon::colorizedIconForWidget
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:755,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:755,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:760,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:762,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:762,1
    - Dst: QmlSubtitleMenu::m_player::getSubtitleTracks
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:764,1
    - Dst: TrackListModel*::setMultiSelect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:766,1
    - Dst: TrackListModel*::getMultiSelect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:766,1
    - Dst: QAction*::setCheckable
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:769,1
    - Dst: QAction*::setChecked
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:771,1
    - Dst: getSubtitleTracks
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - menu
    argTypes:
    - QMenu*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 772
    functionName: QmlSubtitleMenu::beforePopup
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached:
    - getSubtitleTracks
    - QIcon
    - QAction*::setChecked
    - QAction*::setCheckable
    - qtr
    - ColorizedSvgIcon::colorizedIconForWidget
    - TrackListModel*::getMultiSelect
    - QmlSubtitleMenu::m_player::getSubtitleTracks
    - QMenu*::addAction
    - QMenu*::addSeparator
    - TrackListModel*::setMultiSelect
    linkageType: ''
    returnType: void
    signature: void QmlSubtitleMenu::beforePopup(QMenu * menu)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 776
    functionName: QmlAudioMenu::QmlAudioMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QmlAudioMenu::QmlAudioMenu(QObject * parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:782,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:782,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:787,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:787,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - menu
    argTypes:
    - QMenu*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 791
    functionName: QmlAudioMenu::beforePopup
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached:
    - qtr
    - QIcon
    - QMenu*::addAction
    linkageType: ''
    returnType: void
    signature: void QmlAudioMenu::beforePopup(QMenu * menu)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 796
    functionName: QmlAudioContextMenu::QmlAudioContextMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QmlAudioContextMenu::QmlAudioContextMenu(QObject *parent)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:803,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:807,1
    - Dst: PopupMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:807,1
    - Dst: QmlAudioContextMenu::popup
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:809,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' position'
    argTypes:
    - QPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 810
    functionName: QmlAudioContextMenu::popup
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 1
    functionsReached:
    - QmlAudioContextMenu::popup
    - getIntf
    - PopupMenu
    - reset
    linkageType: ''
    returnType: void
    signature: void QmlAudioContextMenu::popup(const QPoint & position)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 818
    functionName: PlaylistListContextMenu::PlaylistListContextMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlaylistListContextMenu::PlaylistListContextMenu(QObject * parent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:823,1
    - Dst: QVariantList::push_back
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:831,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:831,1
    - Dst: newMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:833,1
    - Dst: ml
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:835,1
    - Dst: auto::addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:837,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:837,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:839,1
    - Dst: MediaLib*::addAndPlay
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:840,1
    - Dst: auto::addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:843,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:843,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:845,1
    - Dst: MediaLib*::addToPlaylist
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:846,1
    - Dst: QVariantList::count
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:849,1
    - Dst: auto::addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:851,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:851,1
    - Dst: first
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:853,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:855,1
    - Dst: showDialogRename
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:856,1
    - Dst: auto::addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:860,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:860,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:862,1
    - Dst: auto::popup
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:864,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - ' selected'
    - pos
    argTypes:
    - QModelIndexList
    - QPoint
    assertStmts:
    - condition: (m_ctx)
      pos:
        line_end: 822
        line_start: 822
        source_file: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    constantsTouched: []
    func_position:
      end: 865
      start: 821
    functionDepth: 2
    functionLinenumber: 821
    functionLinenumberEnd: 865
    functionName: PlaylistListContextMenu::popup
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached:
    - MediaLib*::addAndPlay
    - MediaLib*::addToPlaylist
    - assert
    - auto::popup
    - qtr
    - data
    - QVariantList::push_back
    - newMenu
    - ml
    - connect
    - showDialogRename
    - first
    - auto::addAction
    - QVariantList::count
    linkageType: ''
    returnType: void
    signature: void PlaylistListContextMenu::popup(const QModelIndexList & selected,
      QPoint pos, QVariantMap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:875,1
    - Dst: QVariantList::push_back
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:883,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:883,1
    - Dst: newMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:885,1
    - Dst: ml
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:887,1
    - Dst: auto::addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:889,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:889,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:891,1
    - Dst: MediaLib*::addAndPlay
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:892,1
    - Dst: auto::addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:895,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:895,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:897,1
    - Dst: MediaLib*::addToPlaylist
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:898,1
    - Dst: auto::addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:901,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:901,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:903,1
    - Dst: DialogsProvider::getInstance
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:904,1
    - Dst: auto::addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:907,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:907,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:909,1
    - Dst: MediaLib*::addAndPlay
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:910,1
    - Dst: QVariantMap::contains
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:913,1
    - Dst: typeId
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:913,1
    - Dst: auto::addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:914,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:914,1
    - Dst: QSignalMapper::QSignalMapper
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:916,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:918,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:918,1
    - Dst: QSignalMapper*::setMapping
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:920,1
    - Dst: toInt
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:920,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:921,1
    - Dst: auto::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:925,1
    - Dst: auto::addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:927,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:927,1
    - Dst: QAction*::setIcon
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:929,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:929,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:931,1
    - Dst: remove
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:932,1
    - Dst: auto::popup
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:935,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 3
    argNames:
    - ' selected'
    - pos
    - options
    argTypes:
    - QModelIndexList
    - QPoint
    - QVariantMap
    assertStmts:
    - condition: (m_ctx)
      pos:
        line_end: 874
        line_start: 874
        source_file: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    constantsTouched: []
    func_position:
      end: 936
      start: 872
    functionDepth: 3
    functionLinenumber: 872
    functionLinenumberEnd: 936
    functionName: PlaylistMediaContextMenu::popup
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached:
    - MediaLib*::addToPlaylist
    - assert
    - QIcon
    - ml
    - connect
    - MediaLib*::addAndPlay
    - auto::popup
    - QVariantMap::contains
    - auto::addSeparator
    - QVariantList::push_back
    - newMenu
    - QAction*::setIcon
    - toInt
    - go_eof
    - QSignalMapper*::setMapping
    - qtr
    - data
    - DialogsProvider::getInstance
    - typeId
    - QSignalMapper::QSignalMapper
    - remove
    - auto::addAction
    linkageType: ''
    returnType: void
    signature: "void PlaylistMediaContextMenu::popup(const QModelIndexList & selected,
      QPoint pos,\n                                     QVariantMap options)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:942,1
    - Dst: newMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:947,1
    - Dst: auto::addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:950,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:950,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:951,1
    - Dst: addAndPlay
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:952,1
    - Dst: auto::addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:955,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:955,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:956,1
    - Dst: addToPlaylist
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:957,1
    - Dst: auto::addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:960,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:960,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:961,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:962,1
    - Dst: getItemsForIndexes
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:964,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:965,1
    - Dst: first
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:967,1
    - Dst: QVariant::canConvert
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:969,1
    - Dst: QVariant::value
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:970,1
    - Dst: DialogsProvider::getInstance
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:971,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:980,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:980,1
    - Dst: row
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:980,1
    - Dst: QVariant::isValid
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:981,1
    - Dst: QVariant::toBool
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:981,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:985,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:985,1
    - Dst: row
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:985,1
    - Dst: QVariant::isValid
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:986,1
    - Dst: QVariant::toBool
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:988,1
    - Dst: auto::addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:995,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:996,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:997,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:999,1
    - Dst: setData
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1001,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1001,1
    - Dst: row
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1001,1
    - Dst: auto::popup
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1006,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 2
    argNames:
    - ' selected'
    - pos
    argTypes:
    - QModelIndexList
    - QPoint
    assertStmts:
    - condition: (m_ctx)
      pos:
        line_end: 941
        line_start: 941
        source_file: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    constantsTouched: []
    func_position:
      end: 1007
      start: 940
    functionDepth: 2
    functionLinenumber: 940
    functionLinenumberEnd: 1007
    functionName: NetworkMediaContextMenu::popup
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached:
    - assert
    - QVariant::canConvert
    - getItemsForIndexes
    - connect
    - first
    - auto::popup
    - setData
    - newMenu
    - isEmpty
    - addAndPlay
    - QVariant::isValid
    - qtr
    - data
    - DialogsProvider::getInstance
    - row
    - QVariant::value
    - index
    - QVariant::toBool
    - addToPlaylist
    - auto::addAction
    linkageType: ''
    returnType: void
    signature: void NetworkMediaContextMenu::popup(const QModelIndexList& selected,
      QPoint pos)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1011,1
    - Dst: newMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1016,1
    - Dst: auto::addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1019,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1019,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1020,1
    - Dst: addAndPlay
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1021,1
    - Dst: auto::addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1024,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1024,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1025,1
    - Dst: addToPlaylist
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1026,1
    - Dst: auto::addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1029,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1029,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1030,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1031,1
    - Dst: getItemsForIndexes
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1033,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1034,1
    - Dst: first
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1036,1
    - Dst: QVariant::canConvert
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1038,1
    - Dst: QVariant::value
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1039,1
    - Dst: DialogsProvider::getInstance
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1040,1
    - Dst: auto::popup
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1045,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - ' selected'
    - pos
    argTypes:
    - QModelIndexList
    - QPoint
    assertStmts:
    - condition: (m_ctx)
      pos:
        line_end: 1010
        line_start: 1010
        source_file: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    constantsTouched: []
    func_position:
      end: 1046
      start: 1009
    functionDepth: 2
    functionLinenumber: 1009
    functionLinenumberEnd: 1046
    functionName: NetworkDeviceContextMenu::popup
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached:
    - addAndPlay
    - assert
    - auto::popup
    - QVariant::canConvert
    - qtr
    - getItemsForIndexes
    - newMenu
    - QVariant::value
    - DialogsProvider::getInstance
    - connect
    - isEmpty
    - first
    - addToPlaylist
    - auto::addAction
    linkageType: ''
    returnType: void
    signature: void NetworkDeviceContextMenu::popup(const QModelIndexList& selected,
      QPoint pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1050
    functionName: PlaylistContextMenu::PlaylistContextMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlaylistContextMenu::PlaylistContextMenu(QObject* parent)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1054,1
    - Dst: std::make_unique<VLCMenu>
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1059,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1059,1
    - Dst: selectedIndexesFlat
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1063,1
    - Dst: QList::push_back
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1064,1
    - Dst: itemAt
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1064,1
    - Dst: PlaylistItem::PlaylistItem
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1066,1
    - Dst: itemAt
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1068,1
    - Dst: addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1072,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1072,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1073,1
    - Dst: goTo
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1074,1
    - Dst: addSeparator
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1077,1
    - Dst: currentIndex
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1080,1
    - Dst: addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1082,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1082,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1083,1
    - Dst: hasSelection
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1086,1
    - Dst: addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1087,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1087,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1088,1
    - Dst: DialogsProvider::getInstance
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1089,1
    - Dst: addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1092,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1092,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1093,1
    - Dst: DialogsProvider::getInstance
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1094,1
    - Dst: addSeparator
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1097,1
    - Dst: addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1101,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1101,1
    - Dst: QAction*::setIcon
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1102,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1102,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1103,1
    - Dst: DialogsProvider::getInstance
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1104,1
    - Dst: addSeparator
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1107,1
    - Dst: addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1109,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1109,1
    - Dst: QAction*::setIcon
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1110,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1110,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1111,1
    - Dst: explore
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1112,1
    - Dst: addSeparator
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1115,1
    - Dst: addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1118,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1118,1
    - Dst: QAction*::setIcon
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1120,1
    - Dst: ColorizedSvgIcon::colorizedIconForWidget
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1120,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1120,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1121,1
    - Dst: DialogsProvider::getInstance
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1122,1
    - Dst: addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1125,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1125,1
    - Dst: QAction*::setIcon
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1126,1
    - Dst: ColorizedSvgIcon::colorizedIconForWidget
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1126,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1126,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1127,1
    - Dst: DialogsProvider::getInstance
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1128,1
    - Dst: addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1131,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1131,1
    - Dst: QAction*::setIcon
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1132,1
    - Dst: ColorizedSvgIcon::colorizedIconForWidget
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1132,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1132,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1133,1
    - Dst: DialogsProvider::getInstance
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1134,1
    - Dst: addSeparator
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1137,1
    - Dst: hasSelection
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1139,1
    - Dst: addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1141,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1141,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1142,1
    - Dst: DialogsProvider::getInstance
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1143,1
    - Dst: addSeparator
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1146,1
    - Dst: addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1148,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1148,1
    - Dst: QAction*::setIcon
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1149,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1149,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1150,1
    - Dst: removeItems
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1151,1
    - Dst: selectedIndexesFlat
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1151,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1156,1
    - Dst: addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1158,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1158,1
    - Dst: QAction*::setIcon
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1159,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1159,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1160,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1161,1
    - Dst: addSeparator
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1164,1
    - Dst: getSortKey
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1167,1
    - Dst: getSortOrder
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1168,1
    - Dst: addMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1170,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1170,1
    - Dst: QActionGroup::QActionGroup
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1171,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1174,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1175,1
    - Dst: sort
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1176,1
    - Dst: QAction*::setCheckable
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1178,1
    - Dst: QAction*::setActionGroup
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1179,1
    - Dst: QAction*::setChecked
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1181,1
    - Dst: getSortKeyTitleList
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1184,1
    - Dst: toMap
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1186,1
    - Dst: static_cast<PlaylistController::SortKey>
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1188,1
    - Dst: QVariantMap::value
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1188,1
    - Dst: QVariantMap::value
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1189,1
    - Dst: addSortAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1191,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1191,1
    - Dst: addSortAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1192,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1192,1
    - Dst: addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1195,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1195,1
    - Dst: QAction*::setIcon
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1196,1
    - Dst: ColorizedSvgIcon::colorizedIconForWidget
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1196,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1196,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1197,1
    - Dst: shuffle
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1198,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1203,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1203,1
    - Dst: addSeparator
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1205,1
    - Dst: addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1209,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1209,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1210,1
    - Dst: DialogsProvider::getInstance
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1213,1
    - Dst: auto::questionDialog
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1215,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1215,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1216,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1219,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1219,1
    - Dst: QList::reserve
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1224,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1226,1
    - Dst: mapFromSource
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1228,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1228,1
    - Dst: auto::isValid
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1230,1
    - Dst: checkIndex
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1230,1
    - Dst: QList::push_back
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1232,1
    - Dst: QList::count
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1236,1
    - Dst: removeItems
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1238,1
    - Dst: PlaylistContextMenu::popup
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1247,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 119
    argCount: 2
    argNames:
    - selectedIndex
    - pos
    argTypes:
    - int
    - QPoint
    assertStmts:
    - condition: (m_ctx)
      pos:
        line_end: 1053
        line_start: 1053
        source_file: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    constantsTouched: []
    func_position:
      end: 1248
      start: 1052
    functionDepth: 2
    functionLinenumber: 1052
    functionLinenumberEnd: 1248
    functionName: PlaylistContextMenu::popup
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 1
    functionsReached:
    - assert
    - QIcon
    - QVariantMap::value
    - connect
    - toMap
    - getIntf
    - goTo
    - removeItems
    - getSortOrder
    - checkIndex
    - QList::push_back
    - addAction
    - get
    - mapFromSource
    - getSortKeyTitleList
    - ColorizedSvgIcon::colorizedIconForWidget
    - QAction*::setIcon
    - selectedIndexesFlat
    - PlaylistItem::PlaylistItem
    - explore
    - sort
    - auto::isValid
    - std::make_unique<VLCMenu>
    - hasSelection
    - QActionGroup::QActionGroup
    - qtr
    - clear
    - DialogsProvider::getInstance
    - auto::questionDialog
    - addSeparator
    - QMenu*::addAction
    - QList::reserve
    - PlaylistContextMenu::popup
    - rowCount
    - QStringLiteral
    - static_cast<PlaylistController::SortKey>
    - QAction*::setChecked
    - QAction*::setCheckable
    - QAction*::setActionGroup
    - addMenu
    - shuffle
    - index
    - addSortAction
    - getSortKey
    - itemAt
    - QList::count
    - currentIndex
    linkageType: ''
    returnType: void
    signature: void PlaylistContextMenu::popup(int selectedIndex, QPoint pos )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1254
    functionName: NavigationBarContextMenu::NavigationBarContextMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NavigationBarContextMenu::NavigationBarContextMenu(QObject *parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1258,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1259,1
    - Dst: newMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1261,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1262,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1264,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1265,1
    - Dst: auto::isValid
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1265,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1267,1
    - Dst: auto::count
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1269,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1271,1
    - Dst: NavigationBarContextMenu::populateMenuForChildren
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1275,1
    - Dst: QMenu*::popup
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - index
    - ' pos'
    - setFirstActionAsActive
    argTypes:
    - int
    - QPoint
    - bool
    assertStmts:
    - condition: (m_ctx)
      pos:
        line_end: 1257
        line_start: 1257
        source_file: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    - condition: (m_model)
      pos:
        line_end: 1258
        line_start: 1258
        source_file: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    - condition: (menu)
      pos:
        line_end: 1261
        line_start: 1261
        source_file: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    - condition: (modelIndex.isValid())
      pos:
        line_end: 1264
        line_start: 1264
        source_file: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    constantsTouched: []
    func_position:
      end: 1278
      start: 1256
    functionDepth: 2
    functionLinenumber: 1256
    functionLinenumberEnd: 1278
    functionName: NavigationBarContextMenu::popup
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached:
    - assert
    - auto::count
    - data
    - newMenu
    - index
    - QMenu*::popup
    - auto::isValid
    - NavigationBarContextMenu::populateMenuForChildren
    linkageType: ''
    returnType: void
    signature: void NavigationBarContextMenu::popup(int index, const QPoint& pos,
      bool setFirstActionAsActive)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1282,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1283,1
    - Dst: newMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1285,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1286,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1291,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1293,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1294,1
    - Dst: auto::isValid
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1294,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1296,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1297,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1298,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1299,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1300,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1301,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1307,1
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1309,1
    - Dst: auto::length
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1311,1
    - Dst: auto::setIcon
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1312,1
    - Dst: ColorizedSvgIcon::colorizedIconForWidget
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1312,1
    - Dst: NavigationBarContextMenu::populateMenuForChildren
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1314,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1320,1
    - Dst: auto::length
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1324,1
    - Dst: auto::setIcon
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1325,1
    - Dst: ColorizedSvgIcon::colorizedIconForWidget
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1325,1
    - Dst: qobject_cast<QWidget*>
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1325,1
    - Dst: QMenu*::setActiveAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1329,1
    - Dst: QMenu*::popup
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1335,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - pos
    - setFirstActionAsActive
    argTypes:
    - QPoint
    - bool
    assertStmts:
    - condition: (m_ctx)
      pos:
        line_end: 1281
        line_start: 1281
        source_file: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    - condition: (modelIndex.isValid())
      pos:
        line_end: 1293
        line_start: 1293
        source_file: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    - condition: (menu)
      pos:
        line_end: 1285
        line_start: 1285
        source_file: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    - condition: (m_model)
      pos:
        line_end: 1282
        line_start: 1282
        source_file: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    constantsTouched: []
    func_position:
      end: 1336
      start: 1280
    functionDepth: 2
    functionLinenumber: 1280
    functionLinenumberEnd: 1336
    functionName: NavigationBarContextMenu::popup
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - assert
    - auto::length
    - QMenu*::setActiveAction
    - NavigationBarContextMenu::populateMenuForChildren
    - data
    - newMenu
    - ColorizedSvgIcon::colorizedIconForWidget
    - index
    - QMenu*::addMenu
    - QMenu*::addAction
    - QMenu*::popup
    - auto::setIcon
    - auto::isValid
    - qobject_cast<QWidget*>
    - rowCount
    linkageType: ''
    returnType: void
    signature: void NavigationBarContextMenu::popup(const QPoint &pos, bool setFirstActionAsActive)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1340,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1341,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1342,1
    - Dst: name
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1348,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1349,1
    - Dst: auto::length
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1349,1
    - Dst: uri
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1350,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1351,1
    - Dst: auto::length
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1351,1
    - Dst: icon_svg
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1352,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1354,1
    - Dst: auto::length
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1358,1
    - Dst: auto::setIcon
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1359,1
    - Dst: ColorizedSvgIcon::colorizedIconForWidget
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1359,1
    - Dst: qobject_cast<QWidget*>
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1359,1
    - Dst: QMenu*::setActiveAction
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp:1363,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - menu
    - children
    - setFirstActionAsActive
    argTypes:
    - QMenu*
    - QList<NavigationModelItem>
    - bool
    assertStmts:
    - condition: (m_ctx)
      pos:
        line_end: 1339
        line_start: 1339
        source_file: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    - condition: (m_model)
      pos:
        line_end: 1340
        line_start: 1340
        source_file: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    - condition: (childTitle.length() > 0)
      pos:
        line_end: 1348
        line_start: 1348
        source_file: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    - condition: (menu)
      pos:
        line_end: 1341
        line_start: 1341
        source_file: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    - condition: (childUri.length() > 0)
      pos:
        line_end: 1350
        line_start: 1350
        source_file: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    constantsTouched: []
    func_position:
      end: 1367
      start: 1338
    functionDepth: 2
    functionLinenumber: 1338
    functionLinenumberEnd: 1367
    functionName: NavigationBarContextMenu::populateMenuForChildren
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.cpp
    functionUses: 2
    functionsReached:
    - auto::length
    - assert
    - QMenu*::setActiveAction
    - uri
    - ColorizedSvgIcon::colorizedIconForWidget
    - icon_svg
    - name
    - QMenu*::addAction
    - auto::setIcon
    - qobject_cast<QWidget*>
    linkageType: ''
    returnType: void
    signature: void NavigationBarContextMenu::populateMenuForChildren(QMenu *menu,
      const QList<NavigationModelItem> &children, bool setFirstActionAsActive)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PlayerController*::getRendererManager
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:58,1
    - Dst: setTitle
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:60,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:60,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:62,1
    - Dst: QAction::QAction
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:62,1
    - Dst: QAction*::setCheckable
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:63,1
    - Dst: QAction*::setChecked
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:64,1
    - Dst: useRenderer
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:64,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:65,1
    - Dst: disableRenderer
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:67,1
    - Dst: addAction
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:70,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:71,1
    - Dst: QAction*::setChecked
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:73,1
    - Dst: useRenderer
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:73,1
    - Dst: addSeparator
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:76,1
    - Dst: ListMenuHelper::ListMenuHelper
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:78,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:79,1
    - Dst: setData
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:80,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:80,1
    - Dst: ListMenuHelper*::getActionGroup
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:83,1
    - Dst: QActionGroup*::setExclusionPolicy
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:84,1
    - Dst: QActionGroup*::addAction
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:86,1
    - Dst: QWidget::QWidget
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:88,1
    - Dst: QWidget*::setLayout
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:89,1
    - Dst: QVBoxLayout::QVBoxLayout
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:89,1
    - Dst: QLabel::QLabel
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:90,1
    - Dst: QWidget*::layout
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:91,1
    - Dst: QProgressBar::QProgressBar
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:92,1
    - Dst: setMaximumHeight
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:93,1
    - Dst: setStyleSheet
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:94,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:94,1
    - Dst: setRange
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:104,1
    - Dst: setSizePolicy
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:105,1
    - Dst: QWidget*::layout
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:106,1
    - Dst: QWidgetAction::QWidgetAction
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:108,1
    - Dst: QWidgetAction*::setDefaultWidget
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:109,1
    - Dst: QWidgetAction*::setDisabled
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:110,1
    - Dst: addAction
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:111,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:114,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:115,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:116,1
    - Dst: RendererMenu::updateStatus
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 35
    argCount: 3
    argNames:
    - parent
    - intf
    - player
    argTypes:
    - QMenu*
    - qt_intf_t*
    - PlayerController*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 118
    functionName: RendererMenu::RendererMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/custom_menus.cpp
    functionUses: 0
    functionsReached:
    - QString
    - QWidgetAction*::setDisabled
    - setRange
    - RendererMenu::updateStatus
    - QWidget*::layout
    - connect
    - QWidgetAction::QWidgetAction
    - QWidgetAction*::setDefaultWidget
    - QLabel::QLabel
    - useRenderer
    - setStyleSheet
    - setSizePolicy
    - PlayerController*::getRendererManager
    - QActionGroup*::setExclusionPolicy
    - addAction
    - setTitle
    - QActionGroup*::addAction
    - setData
    - QWidget*::setLayout
    - QAction::QAction
    - QVBoxLayout::QVBoxLayout
    - qtr
    - QWidget::QWidget
    - addSeparator
    - ListMenuHelper*::getActionGroup
    - QAction*::setChecked
    - QAction*::setCheckable
    - ListMenuHelper::ListMenuHelper
    - disableRenderer
    - index
    - setMaximumHeight
    - QProgressBar::QProgressBar
    linkageType: ''
    returnType: void
    signature: void RendererMenu::RendererMenu( QMenu* parent, qt_intf_t* intf, PlayerController*
      player )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: RendererMenu::~RendererMenu()
    functionSourceFile: /src/vlc/modules/gui/qt/menus/custom_menus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RendererMenu::~RendererMenu()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getStatus
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:126,1
    - Dst: getScanRemain
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:130,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:131,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:131,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:132,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:133,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:134,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:139,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:140,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:141,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 148
    functionName: RendererMenu::updateStatus
    functionSourceFile: /src/vlc/modules/gui/qt/menus/custom_menus.cpp
    functionUses: 1
    functionsReached:
    - QString
    - qtr
    - getScanRemain
    - setText
    - getStatus
    - setVisible
    linkageType: ''
    returnType: void
    signature: void RendererMenu::updateStatus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckableListMenu::setTitle
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:157,1
    - Dst: ListMenuHelper::ListMenuHelper
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:159,1
    - Dst: ListMenuHelper*::getActionGroup
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:160,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:161,1
    - Dst: setData
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:162,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - title
    - model
    - grouping
    - parent
    argTypes:
    - QString
    - QAbstractListModel*
    - QActionGroup::ExclusionPolicy
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: CheckableListMenu::CheckableListMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/custom_menus.cpp
    functionUses: 0
    functionsReached:
    - ListMenuHelper::ListMenuHelper
    - setData
    - index
    - connect
    - CheckableListMenu::setTitle
    - ListMenuHelper*::getActionGroup
    linkageType: ''
    returnType: void
    signature: void CheckableListMenu::CheckableListMenu(QString title, QAbstractListModel*
      model , QActionGroup::ExclusionPolicy grouping,  QWidget *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QActionGroup::QActionGroup
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:172,1
    - Dst: ListMenuHelper::onModelReset
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:174,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:176,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:177,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:179,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - menu
    - model
    - before
    - parent
    argTypes:
    - QMenu*
    - QAbstractListModel*
    - QAction*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 182
    functionName: ListMenuHelper::ListMenuHelper
    functionSourceFile: /src/vlc/modules/gui/qt/menus/custom_menus.cpp
    functionUses: 4
    functionsReached:
    - connect
    - ListMenuHelper::onModelReset
    - QActionGroup::QActionGroup
    linkageType: ''
    returnType: void
    signature: "void ListMenuHelper::ListMenuHelper(QMenu * menu, QAbstractListModel
      * model, QAction * before,\n                               QObject * parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: ListMenuHelper::~ListMenuHelper()
    functionSourceFile: /src/vlc/modules/gui/qt/menus/custom_menus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ListMenuHelper::~ListMenuHelper()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ListMenuHelper::count
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: ListMenuHelper::count
    functionSourceFile: /src/vlc/modules/gui/qt/menus/custom_menus.cpp
    functionUses: 1
    functionsReached:
    - ListMenuHelper::count
    linkageType: ''
    returnType: int
    signature: int ListMenuHelper::count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: ListMenuHelper::getActionGroup
    functionSourceFile: /src/vlc/modules/gui/qt/menus/custom_menus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QActionGroup
    signature: QActionGroup * ListMenuHelper::getActionGroup() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:203,1
    - Dst: QAction*::setIcon
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:205,1
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:211,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:211,1
    - Dst: cancel
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:212,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:214,1
    - Dst: VLCAccessImageProvider::requestImageResponseUnWrapped
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:214,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:215,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:215,1
    - Dst: textureFactory
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:216,1
    - Dst: QAction*::setIcon
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:219,1
    - Dst: std::unique_ptr::image
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:222,1
    - Dst: QAction*::setIcon
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:223,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:223,1
    - Dst: QPixmap::fromImage
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - action
    - ' iconUrl'
    argTypes:
    - QAction*
    - QUrl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 225
    functionName: ListMenuHelper::setIcon
    functionSourceFile: /src/vlc/modules/gui/qt/menus/custom_menus.cpp
    functionUses: 0
    functionsReached:
    - disconnect
    - QIcon
    - get
    - std::unique_ptr::image
    - reset
    - QAction*::setIcon
    - connect
    - cancel
    - QPixmap::fromImage
    - isValid
    - VLCAccessImageProvider::requestImageResponseUnWrapped
    - textureFactory
    linkageType: ''
    returnType: void
    signature: void ListMenuHelper::setIcon(QAction* action,  const QUrl& iconUrl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ListMenuHelper::count
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:234,1
    - Dst: at
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:235,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:241,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:243,1
    - Dst: QAction::QAction
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:245,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:247,1
    - Dst: QVariant::isValid
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:248,1
    - Dst: QVariant::canConvert
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:248,1
    - Dst: QAction*::setCheckable
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:250,1
    - Dst: QAction*::setChecked
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:251,1
    - Dst: QVariant::toBool
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:251,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:254,1
    - Dst: QVariant::isValid
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:255,1
    - Dst: QVariant::canConvert
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:258,1
    - Dst: QVariant::toUrl
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:259,1
    - Dst: QVariant::canConvert
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:260,1
    - Dst: QUrl::fromEncoded
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:261,1
    - Dst: QVariant::toString
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:261,1
    - Dst: ListMenuHelper::setIcon
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:263,1
    - Dst: insertAction
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:267,1
    - Dst: addAction
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:269,1
    - Dst: insert
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:271,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:273,1
    - Dst: ListMenuHelper::count
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:276,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 277
    functionName: ListMenuHelper::onRowsInserted
    functionSourceFile: /src/vlc/modules/gui/qt/menus/custom_menus.cpp
    functionUses: 0
    functionsReached:
    - QAction*::setChecked
    - QUrl::fromEncoded
    - QVariant::isValid
    - addAction
    - ListMenuHelper::count
    - QAction*::setCheckable
    - QVariant::canConvert
    - QVariant::toString
    - data
    - at
    - insertAction
    - index
    - insert
    - connect
    - QVariant::toBool
    - QAction::QAction
    - QVariant::toUrl
    - ListMenuHelper::setIcon
    linkageType: ''
    returnType: void
    signature: void ListMenuHelper::onRowsInserted(const QModelIndex &, int first,
      int last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:283,1
    - Dst: removeAction
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:285,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:290,1
    - Dst: erase
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:292,1
    - Dst: ListMenuHelper::count
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 295
    functionName: ListMenuHelper::onRowsRemoved
    functionSourceFile: /src/vlc/modules/gui/qt/menus/custom_menus.cpp
    functionUses: 0
    functionsReached:
    - erase
    - ListMenuHelper::count
    - begin
    - at
    - removeAction
    linkageType: ''
    returnType: void
    signature: void ListMenuHelper::onRowsRemoved(const QModelIndex &, int first,
      int last)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:300,1
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:301,1
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:302,1
    - Dst: row
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:304,1
    - Dst: row
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:304,1
    - Dst: at
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:306,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:307,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:311,1
    - Dst: QAction*::setText
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:312,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:317,1
    - Dst: QVariant::isValid
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:318,1
    - Dst: QVariant::canConvert
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:318,1
    - Dst: QAction*::setChecked
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:319,1
    - Dst: QVariant::toBool
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:319,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:324,1
    - Dst: QVariant::isValid
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:325,1
    - Dst: QVariant::canConvert
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:328,1
    - Dst: QVariant::toUrl
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:329,1
    - Dst: QVariant::canConvert
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:330,1
    - Dst: QUrl::fromEncoded
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:331,1
    - Dst: QVariant::toString
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:331,1
    - Dst: ListMenuHelper::setIcon
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:333,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - ' topLeft'
    - ' bottomRight'
    - ' roles'
    argTypes:
    - QModelIndex
    - QModelIndex
    - QVector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 337
    functionName: ListMenuHelper::onDataChanged
    functionSourceFile: /src/vlc/modules/gui/qt/menus/custom_menus.cpp
    functionUses: 0
    functionsReached:
    - QAction*::setChecked
    - QUrl::fromEncoded
    - QVariant::isValid
    - QVariant::canConvert
    - QVariant::toString
    - data
    - at
    - index
    - row
    - ListMenuHelper::setIcon
    - QAction*::setText
    - QVariant::toBool
    - QVariant::toUrl
    - contains
    linkageType: ''
    returnType: void
    signature: "void ListMenuHelper::onDataChanged(const QModelIndex & topLeft,\n
      \                                  const QModelIndex & bottomRight, const QVector<int>
      & roles)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: removeAction
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:343,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:348,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:350,1
    - Dst: ListMenuHelper::onRowsInserted
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:353,1
    - Dst: QModelIndex
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 339
    functionDepth: 3
    functionLinenumber: 339
    functionLinenumberEnd: 354
    functionName: ListMenuHelper::onModelReset
    functionSourceFile: /src/vlc/modules/gui/qt/menus/custom_menus.cpp
    functionUses: 1
    functionsReached:
    - QModelIndex
    - ListMenuHelper::onRowsInserted
    - clear
    - removeAction
    - rowCount
    linkageType: ''
    returnType: void
    signature: void ListMenuHelper::onModelReset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<QAction *>
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:358,1
    - Dst: sender
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:358,1
    - Dst: indexOf
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - checked
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 361
    functionName: ListMenuHelper::onTriggered
    functionSourceFile: /src/vlc/modules/gui/qt/menus/custom_menus.cpp
    functionUses: 0
    functionsReached:
    - sender
    - indexOf
    - static_cast<QAction *>
    linkageType: ''
    returnType: void
    signature: void ListMenuHelper::onTriggered(bool checked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:370,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:371,1
    - Dst: QObject*::metaObject
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:372,1
    - Dst: QMetaObject*::indexOfProperty
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:373,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:373,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:374,1
    - Dst: QMetaObject*::property
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:375,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:376,1
    - Dst: QMetaProperty::typeId
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:376,1
    - Dst: BooleanPropertyAction::metaObject
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:377,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:379,1
    - Dst: QMetaProperty::hasNotifySignal
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:379,1
    - Dst: QMetaObject*::method
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:380,1
    - Dst: QMetaObject*::indexOfSlot
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:380,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:381,1
    - Dst: QMetaProperty::notifySignal
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:381,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:382,1
    - Dst: setCheckable
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:384,1
    - Dst: setChecked
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:385,1
    - Dst: QMetaProperty::read
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - title
    - model
    - propertyName
    - parent
    argTypes:
    - QString
    - QObject*
    - QString
    - QWidget*
    assertStmts:
    - condition: (property.typeId() ==  QMetaType::Bool)
      pos:
        line_end: 375
        line_start: 375
        source_file: /src/vlc/modules/gui/qt/menus/custom_menus.cpp
    - condition: (property.hasNotifySignal())
      pos:
        line_end: 378
        line_start: 378
        source_file: /src/vlc/modules/gui/qt/menus/custom_menus.cpp
    - condition: (model)
      pos:
        line_end: 370
        line_start: 370
        source_file: /src/vlc/modules/gui/qt/menus/custom_menus.cpp
    - condition: (propertyId != -1)
      pos:
        line_end: 373
        line_start: 373
        source_file: /src/vlc/modules/gui/qt/menus/custom_menus.cpp
    constantsTouched: []
    func_position:
      end: 386
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 386
    functionName: BooleanPropertyAction::BooleanPropertyAction
    functionSourceFile: /src/vlc/modules/gui/qt/menus/custom_menus.cpp
    functionUses: 0
    functionsReached:
    - QMetaObject*::property
    - assert
    - QMetaProperty::notifySignal
    - QMetaProperty::read
    - QMetaObject*::method
    - QMetaObject*::indexOfSlot
    - QMetaProperty::hasNotifySignal
    - QMetaObject*::indexOfProperty
    - BooleanPropertyAction::metaObject
    - connect
    - qtu
    - QObject*::metaObject
    - QMetaProperty::typeId
    - setCheckable
    - setText
    - setChecked
    linkageType: ''
    returnType: void
    signature: void BooleanPropertyAction::BooleanPropertyAction(QString title, QObject
      *model, QString propertyName, QWidget *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setProperty
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:390,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:390,1
    - Dst: QVariant::fromValue<bool>
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - checked
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 391
    functionName: BooleanPropertyAction::setModelChecked
    functionSourceFile: /src/vlc/modules/gui/qt/menus/custom_menus.cpp
    functionUses: 0
    functionsReached:
    - qtu
    - setProperty
    - QVariant::fromValue<bool>
    linkageType: ''
    returnType: void
    signature: void BooleanPropertyAction::setModelChecked(bool checked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addSeparator
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:399,1
    - Dst: ListMenuHelper::ListMenuHelper
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:401,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:402,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:403,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:405,1
    - Dst: addAndPlay
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:406,1
    - Dst: addAction
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:409,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - model
    - ml
    - parent
    argTypes:
    - MLRecentMediaModel*
    - MediaLib*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 410
    functionName: RecentMenu::RecentMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/custom_menus.cpp
    functionUses: 0
    functionsReached:
    - addAndPlay
    - addAction
    - ListMenuHelper::ListMenuHelper
    - qtr
    - data
    - index
    - connect
    - addSeparator
    linkageType: ''
    returnType: void
    signature: void RecentMenu::RecentMenu(MLRecentMediaModel* model, MediaLib* ml,  QWidget*
      parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addAction
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:417,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:417,1
    - Dst: QKeySequence
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:417,1
    - Dst: addSeparator
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:419,1
    - Dst: MLBookmarkModel::MLBookmarkModel
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:421,1
    - Dst: MLBookmarkModel*::setPlayer
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:422,1
    - Dst: MLBookmarkModel*::setMl
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:423,1
    - Dst: ListMenuHelper::ListMenuHelper
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:425,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:427,1
    - Dst: MLBookmarkModel*::select
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:429,1
    - Dst: MLBookmarkModel*::index
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:429,1
    - Dst: setTearOffEnabled
      Src: /src/vlc/modules/gui/qt/menus/custom_menus.cpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - mediaLib
    - player
    - parent
    argTypes:
    - MediaLib*
    - vlc_player_t*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 433
    functionName: BookmarkMenu::BookmarkMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/custom_menus.cpp
    functionUses: 0
    functionsReached:
    - MLBookmarkModel*::setMl
    - MLBookmarkModel*::setPlayer
    - addAction
    - ListMenuHelper::ListMenuHelper
    - qtr
    - MLBookmarkModel*::index
    - connect
    - addSeparator
    - setTearOffEnabled
    - MLBookmarkModel::MLBookmarkModel
    - QKeySequence
    - MLBookmarkModel*::select
    linkageType: ''
    returnType: void
    signature: void BookmarkMenu::BookmarkMenu(MediaLib * mediaLib, vlc_player_t *
      player, QWidget * parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLCMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.hpp:39,1
    - Dst: QMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.hpp:39,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/menus.hpp:41,1
    - Dst: QVLCDialog::setWindowTransientParent
      Src: /src/vlc/modules/gui/qt/menus/menus.hpp:44,1
    - Dst: setTitle
      Src: /src/vlc/modules/gui/qt/menus/menus.hpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (p_intf)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/vlc/modules/gui/qt/menus/menus.hpp
    constantsTouched: []
    func_position:
      end: 51
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 51
    functionName: VLCMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/menus.hpp
    functionUses: 2
    functionsReached:
    - assert
    - VLCMenu
    - setTitle
    - QVLCDialog::setWindowTransientParent
    - QMenu
    linkageType: ''
    returnType: "class VLCMenu : public QMenu\n{\n    Q_OBJECT\n\npublic:\n    explicit
      VLCMenu(qt_intf_t* p_intf) : QMenu()\n    {\n        assert(p_intf);\n        if
      (isWindow())\n        {\n            QVLCDialog::setWindowTransientParent(this,
      nullptr, p_intf);\n        }\n    }"
    signature: "class VLCMenu : public QMenu\n{\n    Q_OBJECT\n\npublic:\n    explicit
      VLCMenu(qt_intf_t* p_intf) : QMenu()\n    {\n        assert(p_intf);\n        if
      (isWindow())\n        {\n            QVLCDialog::setWindowTransientParent(this,
      nullptr, p_intf);\n        }\n    } VLCMenu(p_intf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVLCDialog::setWindowTransientParent
      Src: /src/vlc/modules/gui/qt/menus/menus.hpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: VLCMenu::if
    functionSourceFile: /src/vlc/modules/gui/qt/menus/menus.hpp
    functionUses: 0
    functionsReached:
    - QVLCDialog::setWindowTransientParent
    linkageType: ''
    returnType: void
    signature: void if (isWindow())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/menus.hpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - title
    - parent
    argTypes:
    - QString
    - QWidget*
    assertStmts:
    - condition: (parent)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/vlc/modules/gui/qt/menus/menus.hpp
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: VLCMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/menus.hpp
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void VLCMenu(const QString &title, QWidget *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: VLCMenuBar::freeRendererMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/menus.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void freeRendererMenu()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:91,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:93,1
    - Dst: ColorizedSvgIcon::colorizedIconForWidget
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:93,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:98,1
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:100,1
    - Dst: QAction*::setShortcut
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:101,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:101,1
    - Dst: QAction*::setMenuRole
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:103,1
    - Dst: Q_UNUSED
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - menu
    - ' text'
    - icon
    - member
    argTypes:
    - QMenu*
    - QString
    - char*
    - Functor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 108
    functionName: addDPStaticEntry
    functionSourceFile: /src/vlc/modules/gui/qt/menus/menus.cpp
    functionUses: 0
    functionsReached:
    - qfut
    - QAction*::setMenuRole
    - Q_UNUSED
    - ColorizedSvgIcon::colorizedIconForWidget
    - QAction*::setShortcut
    - EMPTY_STR
    - QMenu*::addAction
    linkageType: ''
    returnType: QAction
    signature: "QAction *addDPStaticEntry( QMenu *menu,\n                       const
      QString& text,\n                       const char *icon,\n                       const
      Functor member,\n                       const char *shortcut = NULL,\n                       QAction::MenuRole
      role = QAction::NoRole\n                       )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:122,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:124,1
    - Dst: QAction*::setIcon
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:125,1
    - Dst: ColorizedSvgIcon::colorizedIconForWidget
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:125,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - p_intf
    - menu
    - ' text'
    - icon
    - member
    argTypes:
    - qt_intf_t*
    - QMenu*
    - QString
    - char*
    - Fun
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 133
    functionName: addMIMStaticEntry
    functionSourceFile: /src/vlc/modules/gui/qt/menus/menus.cpp
    functionUses: 0
    functionsReached:
    - EMPTY_STR
    - ColorizedSvgIcon::colorizedIconForWidget
    - QMenu*::addAction
    - QAction*::setIcon
    linkageType: ''
    returnType: QAction
    signature: "QAction * addMIMStaticEntry( qt_intf_t *p_intf,\n                            QMenu
      *menu,\n                            const QString& text,\n                            const
      char *icon,\n                            Fun member )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EMPTY_STR
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:144,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:146,1
    - Dst: QAction*::setIcon
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:147,1
    - Dst: ColorizedSvgIcon::colorizedIconForWidget
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:147,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - p_intf
    - menu
    - ' text'
    - icon
    - member
    argTypes:
    - qt_intf_t*
    - QMenu*
    - QString
    - char*
    - Fun
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 155
    functionName: addMPLStaticEntry
    functionSourceFile: /src/vlc/modules/gui/qt/menus/menus.cpp
    functionUses: 0
    functionsReached:
    - EMPTY_STR
    - ColorizedSvgIcon::colorizedIconForWidget
    - QMenu*::addAction
    - QAction*::setIcon
    linkageType: ''
    returnType: QAction
    signature: "QAction * addMPLStaticEntry( qt_intf_t *p_intf,\n                            QMenu
      *menu,\n                            const QString& text,\n                            const
      char *icon,\n                            Fun member )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: VLCMenuBar::VLCMenuBar
    functionSourceFile: /src/vlc/modules/gui/qt/menus/menus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VLCMenuBar::VLCMenuBar(QObject* parent)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: addDPStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:180,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:180,1
    - Dst: simpleOpenDialog
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:181,1
    - Dst: addDPStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:182,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:182,1
    - Dst: addDPStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:184,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:184,1
    - Dst: addDPStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:186,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:186,1
    - Dst: addDPStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:188,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:188,1
    - Dst: addDPStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:190,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:190,1
    - Dst: addDPStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:193,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:193,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:196,1
    - Dst: auto::hasMediaLibrary
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:196,1
    - Dst: MLRecentMediaModel::MLRecentMediaModel
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:198,1
    - Dst: MLRecentMediaModel*::setMl
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:199,1
    - Dst: auto::getMediaLibrary
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:199,1
    - Dst: MLRecentMediaModel*::setLimit
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:200,1
    - Dst: auto::getMediaLibrary
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:201,1
    - Dst: RecentMenu::RecentMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:201,1
    - Dst: QMenu*::setTitle
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:202,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:202,1
    - Dst: MLRecentMediaModel*::setParent
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:203,1
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:204,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:207,1
    - Dst: addDPStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:209,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:209,1
    - Dst: addDPStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:212,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:212,1
    - Dst: addDPStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:214,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:214,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:216,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:218,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:218,1
    - Dst: setMediaStopAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:220,1
    - Dst: setMediaStopAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:222,1
    - Dst: QAction*::setCheckable
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:224,1
    - Dst: QAction*::setChecked
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:225,1
    - Dst: getMediaStopAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:225,1
    - Dst: auto::getSysTray
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:227,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:230,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:230,1
    - Dst: addDPStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:234,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 2
    argNames:
    - p_intf
    - menu
    argTypes:
    - qt_intf_t*
    - QMenu*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 236
    functionName: VLCMenuBar::FileMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/menus.cpp
    functionUses: 0
    functionsReached:
    - auto::getMediaLibrary
    - MLRecentMediaModel*::setMl
    - MLRecentMediaModel::MLRecentMediaModel
    - MLRecentMediaModel*::setLimit
    - RecentMenu::RecentMenu
    - QMenu*::addSeparator
    - QMenu*::setTitle
    - auto::hasMediaLibrary
    - MLRecentMediaModel*::setParent
    - simpleOpenDialog
    - qtr
    - var_InheritBool
    - QMenu*::addAction
    - setMediaStopAction
    - qfut
    - getMediaStopAction
    - QAction*::setChecked
    - QAction*::setCheckable
    - QMenu*::addMenu
    - auto::getSysTray
    - addDPStaticEntry
    linkageType: ''
    returnType: void
    signature: void VLCMenuBar::FileMenu(qt_intf_t *p_intf, QMenu *menu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: addDPStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:243,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:243,1
    - Dst: addDPStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:246,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:246,1
    - Dst: addDPStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:249,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:249,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:250,1
    - Dst: addDPStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:252,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:252,1
    - Dst: addDPStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:256,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:256,1
    - Dst: addDPStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:260,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:260,1
    - Dst: addDPStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:263,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:263,1
    - Dst: addDPStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:266,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:266,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:268,1
    - Dst: addDPStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:271,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:271,1
    - Dst: addDPStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:274,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - p_intf
    - menu
    argTypes:
    - qt_intf_t*
    - QMenu*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 276
    functionName: VLCMenuBar::ToolsMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/menus.cpp
    functionUses: 0
    functionsReached:
    - qfut
    - go_eof
    - qtr
    - QMenu*::addSeparator
    - addDPStaticEntry
    linkageType: ''
    returnType: void
    signature: void VLCMenuBar::ToolsMenu( qt_intf_t *p_intf, QMenu *menu )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:288,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:289,1
    - Dst: QMenu*::actions
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:293,1
    - Dst: menu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:296,1
    - Dst: parent
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:297,1
    - Dst: QMenu*::removeAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:298,1
    - Dst: QMenu*::parent
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:299,1
    - Dst: ColorizedSvgIcon::colorizedIconForWidget
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:304,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:306,1
    - Dst: QAction*::setShortcut
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:307,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:307,1
    - Dst: QAction*::setCheckable
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:308,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:309,1
    - Dst: MainCtx*::getPlayqueuePanel
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:309,1
    - Dst: QAction*::setChecked
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:310,1
    - Dst: MainCtx*::getPlayqueuePanel
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:310,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:313,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:313,1
    - Dst: QAction*::setCheckable
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:314,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:315,1
    - Dst: MainCtx*::getPlayqueuePanel
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:315,1
    - Dst: QAction*::setChecked
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:316,1
    - Dst: MainCtx*::getPlayqueuePanel
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:316,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:318,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:320,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:320,1
    - Dst: QAction*::setCheckable
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:321,1
    - Dst: QAction*::setChecked
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:322,1
    - Dst: MainCtx*::isInterfaceAlwaysOnTop
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:322,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:323,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:325,1
    - Dst: MainCtx*::getMainInterfaceModes
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:328,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:329,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:329,1
    - Dst: QAction*::setCheckable
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:330,1
    - Dst: QAction*::setChecked
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:331,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:332,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:336,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:336,1
    - Dst: QAction*::setShortcut
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:338,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:338,1
    - Dst: QAction*::setCheckable
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:339,1
    - Dst: QAction*::setChecked
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:340,1
    - Dst: MainCtx*::interfaceVisibility
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:340,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:343,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:343,1
    - Dst: QAction*::setShortcut
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:344,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:344,1
    - Dst: QAction*::setCheckable
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:345,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:346,1
    - Dst: QAction*::setChecked
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:347,1
    - Dst: MainCtx*::isMinimalView
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:347,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:349,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:349,1
    - Dst: QAction*::setCheckable
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:351,1
    - Dst: QAction*::setChecked
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:352,1
    - Dst: MainCtx*::hasGridView
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:352,1
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:354,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:354,1
    - Dst: MainCtx*::getColorScheme
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:354,1
    - Dst: CheckableListMenu::CheckableListMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:354,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:356,1
    - Dst: VLCMenuBar::InterfacesMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:358,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:359,1
    - Dst: VLCMenuBar::ExtensionsMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:362,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 46
    argCount: 2
    argNames:
    - p_intf
    - menu
    argTypes:
    - qt_intf_t*
    - QMenu*
    assertStmts:
    - condition: (menu)
      pos:
        line_end: 288
        line_start: 288
        source_file: /src/vlc/modules/gui/qt/menus/menus.cpp
    - condition: ( mi )
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/vlc/modules/gui/qt/menus/menus.cpp
    constantsTouched: []
    func_position:
      end: 363
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 363
    functionName: VLCMenuBar::ViewMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/menus.cpp
    functionUses: 0
    functionsReached:
    - QMenu*::removeAction
    - assert
    - QString
    - connect
    - QMenu*::addSeparator
    - CheckableListMenu::CheckableListMenu
    - MainCtx*::getColorScheme
    - QMenu*::actions
    - MainCtx*::interfaceVisibility
    - parent
    - ColorizedSvgIcon::colorizedIconForWidget
    - QAction*::setShortcut
    - MainCtx*::getMainInterfaceModes
    - MainCtx*::isMinimalView
    - VLCMenuBar::InterfacesMenu
    - MainCtx*::hasGridView
    - QMenu*::parent
    - qtr
    - VLCMenuBar::ExtensionsMenu
    - MainCtx*::isInterfaceAlwaysOnTop
    - QMenu*::addAction
    - menu
    - QAction*::setChecked
    - QAction*::setCheckable
    - MainCtx*::getPlayqueuePanel
    - QMenu*::addMenu
    linkageType: ''
    returnType: void
    signature: void VLCMenuBar::ViewMenu(qt_intf_t *p_intf, QMenu *menu)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QAction*::menu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:296,1
    - Dst: QAction*::parent
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:297,1
    - Dst: removeAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:298,1
    - Dst: QMenu*::parent
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - QAction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 300
    functionName: foreach
    functionSourceFile: /src/vlc/modules/gui/qt/menus/menus.cpp
    functionUses: 53
    functionsReached:
    - QAction*::menu
    - QAction*::parent
    - removeAction
    - QMenu*::parent
    linkageType: ''
    returnType: void
    signature: void foreach( QAction *a, actions )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:370,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:371,1
    - Dst: VLCVarChoiceModel::VLCVarChoiceModel
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:371,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:372,1
    - Dst: CheckableListMenu::CheckableListMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:372,1
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_intf
    - current
    argTypes:
    - qt_intf_t*
    - QMenu*
    assertStmts:
    - condition: (current)
      pos:
        line_end: 369
        line_start: 369
        source_file: /src/vlc/modules/gui/qt/menus/menus.cpp
    constantsTouched: []
    func_position:
      end: 374
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 374
    functionName: VLCMenuBar::InterfacesMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/menus.cpp
    functionUses: 1
    functionsReached:
    - VLCVarChoiceModel::VLCVarChoiceModel
    - assert
    - qtr
    - QMenu*::addMenu
    - VLC_OBJECT
    - CheckableListMenu::CheckableListMenu
    linkageType: ''
    returnType: void
    signature: void VLCMenuBar::InterfacesMenu( qt_intf_t *p_intf, QMenu *current
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DialogsProvider::getInstance
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:382,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:384,1
    - Dst: ExtensionsManager*::isLoaded
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:385,1
    - Dst: ExtensionsManager*::isLoaded
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:390,1
    - Dst: ExtensionsManager*::cannotLoad
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:390,1
    - Dst: ExtensionsManager*::loadExtensions
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:392,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:396,1
    - Dst: ExtensionsManager*::menu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - p_intf
    - extMenu
    argTypes:
    - qt_intf_t*
    - QMenu*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 398
    functionName: VLCMenuBar::ExtensionsMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/menus.cpp
    functionUses: 1
    functionsReached:
    - ExtensionsManager*::cannotLoad
    - var_InheritBool
    - DialogsProvider::getInstance
    - ExtensionsManager*::isLoaded
    - ExtensionsManager*::loadExtensions
    - ExtensionsManager*::menu
    - QMenu*::addSeparator
    linkageType: ''
    returnType: void
    signature: void VLCMenuBar::ExtensionsMenu( qt_intf_t *p_intf, QMenu *extMenu
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:402,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:404,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:404,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:404,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:405,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:405,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:405,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:406,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:406,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p_intf
    - current
    argTypes:
    - qt_intf_t*
    - QMenu*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 407
    functionName: VLCMenuBar::VolumeEntries
    functionSourceFile: /src/vlc/modules/gui/qt/menus/menus.cpp
    functionUses: 1
    functionsReached:
    - QMenu*::addSeparator
    - qtr
    - QIcon
    - QMenu*::addAction
    linkageType: ''
    returnType: void
    signature: void VLCMenuBar::VolumeEntries( qt_intf_t *p_intf, QMenu *current )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QMenu*::isEmpty
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:414,1
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:416,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:416,1
    - Dst: getAudioTracks
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:416,1
    - Dst: CheckableListMenu::CheckableListMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:416,1
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:418,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:418,1
    - Dst: getAudioDevices
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:418,1
    - Dst: CheckableListMenu::CheckableListMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:418,1
    - Dst: getAudioMixMode
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:420,1
    - Dst: VLCVarChoiceModel*::rowCount
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:421,1
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:422,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:422,1
    - Dst: getAudioStereoMode
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:422,1
    - Dst: CheckableListMenu::CheckableListMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:422,1
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:424,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:424,1
    - Dst: CheckableListMenu::CheckableListMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:424,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:425,1
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:427,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:427,1
    - Dst: getAudioVisualizations
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:427,1
    - Dst: CheckableListMenu::CheckableListMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:427,1
    - Dst: VLCMenuBar::VolumeEntries
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - p_intf
    - current
    argTypes:
    - qt_intf_t*
    - QMenu*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 430
    functionName: VLCMenuBar::AudioMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/menus.cpp
    functionUses: 0
    functionsReached:
    - VLCVarChoiceModel*::rowCount
    - qtr
    - QMenu*::isEmpty
    - VLCMenuBar::VolumeEntries
    - QMenu*::addMenu
    - getAudioTracks
    - getAudioVisualizations
    - getAudioMixMode
    - getAudioStereoMode
    - QMenu*::addSeparator
    - getAudioDevices
    - CheckableListMenu::CheckableListMenu
    linkageType: ''
    returnType: void
    signature: void VLCMenuBar::AudioMenu( qt_intf_t *p_intf, QMenu * current )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QMenu*::isEmpty
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:435,1
    - Dst: addDPStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:437,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:437,1
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:439,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:439,1
    - Dst: getSubtitleTracks
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:439,1
    - Dst: CheckableListMenu::CheckableListMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:439,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - p_intf
    - current
    - b_popup
    argTypes:
    - qt_intf_t*
    - QMenu*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 442
    functionName: VLCMenuBar::SubtitleMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/menus.cpp
    functionUses: 0
    functionsReached:
    - getSubtitleTracks
    - qtr
    - QMenu*::isEmpty
    - QMenu*::addMenu
    - QMenu*::addSeparator
    - CheckableListMenu::CheckableListMenu
    - addDPStaticEntry
    linkageType: ''
    returnType: void
    signature: void VLCMenuBar::SubtitleMenu( qt_intf_t *p_intf, QMenu *current, bool
      b_popup )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QMenu*::isEmpty
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:450,1
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:452,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:452,1
    - Dst: getVideoTracks
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:452,1
    - Dst: CheckableListMenu::CheckableListMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:452,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:454,1
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:455,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:455,1
    - Dst: getVideoStereoMode
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:455,1
    - Dst: CheckableListMenu::CheckableListMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:455,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:457,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:459,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:459,1
    - Dst: BooleanPropertyAction::BooleanPropertyAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:459,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:460,1
    - Dst: BooleanPropertyAction::BooleanPropertyAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:460,1
    - Dst: QAction*::setEnabled
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:461,1
    - Dst: hasVideoOutput
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:461,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:462,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:463,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:464,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:464,1
    - Dst: BooleanPropertyAction::BooleanPropertyAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:464,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:466,1
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:468,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:468,1
    - Dst: getZoom
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:468,1
    - Dst: CheckableListMenu::CheckableListMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:468,1
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:469,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:469,1
    - Dst: getAspectRatio
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:469,1
    - Dst: CheckableListMenu::CheckableListMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:469,1
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:470,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:470,1
    - Dst: getCrop
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:470,1
    - Dst: CheckableListMenu::CheckableListMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:470,1
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:471,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:471,1
    - Dst: getFit
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:471,1
    - Dst: CheckableListMenu::CheckableListMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:471,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:473,1
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:475,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:475,1
    - Dst: getDeinterlace
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:475,1
    - Dst: CheckableListMenu::CheckableListMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:475,1
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:476,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:476,1
    - Dst: getDeinterlaceMode
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:476,1
    - Dst: CheckableListMenu::CheckableListMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:476,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:478,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:480,1
    - Dst: QAction::QAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:480,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:481,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - p_intf
    - current
    argTypes:
    - qt_intf_t*
    - QMenu*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 484
    functionName: VLCMenuBar::VideoMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/menus.cpp
    functionUses: 0
    functionsReached:
    - BooleanPropertyAction::BooleanPropertyAction
    - QMenu*::isEmpty
    - getAspectRatio
    - connect
    - getFit
    - getZoom
    - QMenu*::addSeparator
    - CheckableListMenu::CheckableListMenu
    - getDeinterlace
    - hasVideoOutput
    - getDeinterlaceMode
    - QAction::QAction
    - QAction*::setEnabled
    - getVideoStereoMode
    - getVideoTracks
    - qtr
    - getCrop
    - QMenu*::addAction
    - QMenu*::addMenu
    linkageType: ''
    returnType: void
    signature: void VLCMenuBar::VideoMenu( qt_intf_t *p_intf, QMenu *current )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:495,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:495,1
    - Dst: getTitles
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:495,1
    - Dst: CheckableListMenu::CheckableListMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:495,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:496,1
    - Dst: getChapters
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:496,1
    - Dst: CheckableListMenu::CheckableListMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:496,1
    - Dst: QMenu*::setTearOffEnabled
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:497,1
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:498,1
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:499,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:499,1
    - Dst: getPrograms
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:499,1
    - Dst: CheckableListMenu::CheckableListMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:499,1
    - Dst: qt_intf_t*::p_mi::hasMediaLibrary
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:503,1
    - Dst: MainCtx*::getMediaLibrary
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:505,1
    - Dst: BookmarkMenu::BookmarkMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:507,1
    - Dst: BookmarkMenu*::setTitle
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:509,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:509,1
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:511,1
    - Dst: QAction*::setData
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:513,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:516,1
    - Dst: RendererMenu::RendererMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:519,1
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:521,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:522,1
    - Dst: VLCMenuBar::PopupMenuControlEntries
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:525,1
    - Dst: VLCMenuBar::RebuildNavigMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:527,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - p_intf
    - menu
    argTypes:
    - qt_intf_t*
    - QMenu*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 490
    functionDepth: 3
    functionLinenumber: 490
    functionLinenumberEnd: 528
    functionName: VLCMenuBar::NavigMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/menus.cpp
    functionUses: 0
    functionsReached:
    - qfut
    - VLCMenuBar::PopupMenuControlEntries
    - getPrograms
    - getTitles
    - qt_intf_t*::p_mi::hasMediaLibrary
    - VLCMenuBar::RebuildNavigMenu
    - CheckableListMenu::CheckableListMenu
    - qtr
    - BookmarkMenu*::setTitle
    - RendererMenu::RendererMenu
    - QAction*::setData
    - QMenu*::addMenu
    - MainCtx*::getMediaLibrary
    - QMenu*::addSeparator
    - BookmarkMenu::BookmarkMenu
    - getChapters
    - QMenu*::setTearOffEnabled
    linkageType: ''
    returnType: void
    signature: void VLCMenuBar::NavigMenu( qt_intf_t *p_intf, QMenu *menu )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ACTION
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:540,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:540,1
    - Dst: hasTitles
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:540,1
    - Dst: ADD_ACTION
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:541,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:541,1
    - Dst: hasTitles
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:541,1
    - Dst: ADD_ACTION
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:542,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:542,1
    - Dst: hasChapters
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:542,1
    - Dst: ADD_ACTION
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:543,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:543,1
    - Dst: hasChapters
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:543,1
    - Dst: VLCMenuBar::PopupMenuPlaylistEntries
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p_intf
    - menu
    argTypes:
    - qt_intf_t*
    - QMenu*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 548
    functionName: VLCMenuBar::RebuildNavigMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/menus.cpp
    functionUses: 1
    functionsReached:
    - hasTitles
    - qtr
    - hasChapters
    - ADD_ACTION
    - VLCMenuBar::PopupMenuPlaylistEntries
    linkageType: ''
    returnType: void
    signature: void VLCMenuBar::RebuildNavigMenu( qt_intf_t *p_intf, QMenu *menu )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - title
    - ','
    - slot
    - ','
    - visibleSignal
    - ','
    - visible
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 539
    functionName: ADD_ACTION
    functionSourceFile: /src/vlc/modules/gui/qt/menus/menus.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_ACTION( title, slot, visibleSignal, visible )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: addDPStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:555,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:555,1
    - Dst: addDPStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:558,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:558,1
    - Dst: QPointer
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:559,1
    - Dst: Q_LIKELY
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:560,1
    - Dst: getUpdateModel
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:562,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:563,1
    - Dst: auto::checkUpdate
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:564,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:568,1
    - Dst: addDPStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:569,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - p_intf
    - menu
    argTypes:
    - qt_intf_t*
    - QMenu*
    assertStmts:
    - condition: (updateModel)
      pos:
        line_end: 562
        line_start: 562
        source_file: /src/vlc/modules/gui/qt/menus/menus.cpp
    constantsTouched: []
    func_position:
      end: 571
      start: 553
    functionDepth: 2
    functionLinenumber: 553
    functionLinenumberEnd: 571
    functionName: VLCMenuBar::HelpMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/menus.cpp
    functionUses: 0
    functionsReached:
    - qfut
    - Q_LIKELY
    - assert
    - qtr
    - QPointer
    - getUpdateModel
    - auto::checkUpdate
    - QMenu*::addSeparator
    - addDPStaticEntry
    linkageType: ''
    returnType: void
    signature: void VLCMenuBar::HelpMenu(qt_intf_t *p_intf, QMenu *menu )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hasInput
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:580,1
    - Dst: getPlayingState
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:583,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:585,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:585,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:586,1
    - Dst: openFileDialog
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:587,1
    - Dst: togglePlayPause
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:589,1
    - Dst: QAction*::setIcon
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:592,1
    - Dst: ColorizedSvgIcon::colorizedIconForWidget
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:592,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:592,1
    - Dst: addMPLStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:597,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:597,1
    - Dst: addMPLStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:602,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:602,1
    - Dst: QAction*::setEnabled
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:605,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:608,1
    - Dst: addMPLStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:609,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:609,1
    - Dst: QAction*::setEnabled
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:611,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:612,1
    - Dst: addMPLStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:614,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:614,1
    - Dst: QAction*::setEnabled
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:616,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:617,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:619,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:619,1
    - Dst: QAction*::setIcon
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:620,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:620,1
    - Dst: QAction*::setEnabled
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:622,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:623,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - menu
    - p_intf
    argTypes:
    - QMenu*
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 577
    functionDepth: 2
    functionLinenumber: 577
    functionLinenumberEnd: 624
    functionName: VLCMenuBar::PopupMenuPlaylistEntries
    functionSourceFile: /src/vlc/modules/gui/qt/menus/menus.cpp
    functionUses: 2
    functionsReached:
    - getPlayingState
    - QStringLiteral
    - hasInput
    - QIcon
    - qtr
    - ColorizedSvgIcon::colorizedIconForWidget
    - addMPLStaticEntry
    - QAction*::setIcon
    - isEmpty
    - connect
    - openFileDialog
    - QMenu*::addAction
    - QAction*::setEnabled
    - togglePlayPause
    - QMenu*::addSeparator
    linkageType: ''
    returnType: void
    signature: void VLCMenuBar::PopupMenuPlaylistEntries( QMenu *menu, qt_intf_t *p_intf
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:630,1
    - Dst: QMenu::QMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:630,1
    - Dst: QMenu*::setTearOffEnabled
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:631,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:636,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:636,1
    - Dst: QAction*::setIcon
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:639,1
    - Dst: ColorizedSvgIcon::colorizedIconForWidget
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:639,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:643,1
    - Dst: ColorizedSvgIcon::colorizedIconForWidget
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:643,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:643,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:646,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:646,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:649,1
    - Dst: ColorizedSvgIcon::colorizedIconForWidget
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:649,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:649,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:654,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:654,1
    - Dst: QAction*::setIcon
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:657,1
    - Dst: ColorizedSvgIcon::colorizedIconForWidget
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:657,1
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:661,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:663,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:667,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:667,1
    - Dst: QAction*::setIcon
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:670,1
    - Dst: ColorizedSvgIcon::colorizedIconForWidget
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:670,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:673,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:673,1
    - Dst: QAction*::setIcon
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:676,1
    - Dst: ColorizedSvgIcon::colorizedIconForWidget
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:676,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:679,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:679,1
    - Dst: QAction*::setShortcut
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:680,1
    - Dst: QKeySequence
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:680,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:682,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 3
    argNames:
    - menu
    - p_intf
    - b_normal
    argTypes:
    - QMenu*
    - qt_intf_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 683
    functionName: VLCMenuBar::PopupMenuControlEntries
    functionSourceFile: /src/vlc/modules/gui/qt/menus/menus.cpp
    functionUses: 2
    functionsReached:
    - qfut
    - QKeySequence
    - qtr
    - ColorizedSvgIcon::colorizedIconForWidget
    - QAction*::setIcon
    - QAction*::setShortcut
    - QMenu*::addMenu
    - QMenu*::addAction
    - QMenu::QMenu
    - QMenu*::addSeparator
    - QMenu*::setTearOffEnabled
    linkageType: ''
    returnType: void
    signature: "void VLCMenuBar::PopupMenuControlEntries( QMenu *menu, qt_intf_t *p_intf,\n
      \                                       bool b_normal )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:687,1
    - Dst: QMenu::QMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:687,1
    - Dst: addDPStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:688,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:688,1
    - Dst: addDPStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:690,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:690,1
    - Dst: addDPStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:692,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:692,1
    - Dst: addDPStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:694,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:694,1
    - Dst: addDPStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:696,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:696,1
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:698,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:700,1
    - Dst: addDPStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:702,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - menu
    argTypes:
    - QMenu*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 685
    functionDepth: 2
    functionLinenumber: 685
    functionLinenumberEnd: 704
    functionName: VLCMenuBar::PopupMenuStaticEntries
    functionSourceFile: /src/vlc/modules/gui/qt/menus/menus.cpp
    functionUses: 0
    functionsReached:
    - qfut
    - qtr
    - QMenu*::addMenu
    - QMenu::QMenu
    - QMenu*::addSeparator
    - addDPStaticEntry
    linkageType: ''
    returnType: void
    signature: void VLCMenuBar::PopupMenuStaticEntries( QMenu *menu )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLCMenu::VLCMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:709,1
    - Dst: VLCMenuBar::VideoMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:710,1
    - Dst: QMenu*::popup
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:712,1
    - Dst: bs_skipeven_bytes_pos
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:712,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_intf
    - show
    argTypes:
    - qt_intf_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 707
    functionDepth: 3
    functionLinenumber: 707
    functionLinenumberEnd: 714
    functionName: VLCMenuBar::VideoPopupMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/menus.cpp
    functionUses: 1
    functionsReached:
    - bs_skipeven_bytes_pos
    - VLCMenu::VLCMenu
    - VLCMenuBar::VideoMenu
    - QMenu*::popup
    linkageType: ''
    returnType: QMenu
    signature: QMenu * VLCMenuBar::VideoPopupMenu( qt_intf_t *p_intf, bool show )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLCMenu::VLCMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:719,1
    - Dst: VLCMenuBar::AudioMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:720,1
    - Dst: QMenu*::popup
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:722,1
    - Dst: bs_skipeven_bytes_pos
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_intf
    - show
    argTypes:
    - qt_intf_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 717
    functionDepth: 3
    functionLinenumber: 717
    functionLinenumberEnd: 724
    functionName: VLCMenuBar::AudioPopupMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/menus.cpp
    functionUses: 1
    functionsReached:
    - bs_skipeven_bytes_pos
    - VLCMenuBar::AudioMenu
    - VLCMenu::VLCMenu
    - QMenu*::popup
    linkageType: ''
    returnType: QMenu
    signature: QMenu * VLCMenuBar::AudioPopupMenu( qt_intf_t *p_intf, bool show )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLCMenu::VLCMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:729,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:731,1
    - Dst: VLCMenuBar::PopupMenuPlaylistEntries
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:732,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:734,1
    - Dst: VLCMenuBar::PopupMenuControlEntries
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:735,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:737,1
    - Dst: VLCMenuBar::PopupMenuStaticEntries
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:738,1
    - Dst: QMenu*::popup
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:741,1
    - Dst: bs_skipeven_bytes_pos
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - p_intf
    - show
    argTypes:
    - qt_intf_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 727
    functionDepth: 3
    functionLinenumber: 727
    functionLinenumberEnd: 743
    functionName: VLCMenuBar::MiscPopupMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/menus.cpp
    functionUses: 1
    functionsReached:
    - VLCMenuBar::PopupMenuControlEntries
    - bs_skipeven_bytes_pos
    - VLCMenuBar::PopupMenuStaticEntries
    - QMenu*::popup
    - VLCMenuBar::PopupMenuPlaylistEntries
    - QMenu*::addSeparator
    - VLCMenu::VLCMenu
    linkageType: ''
    returnType: QMenu
    signature: QMenu * VLCMenuBar::MiscPopupMenu( qt_intf_t *p_intf, bool show )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: VLCMenu::VLCMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:749,1
    - Dst: getInput
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:750,1
    - Dst: VLCMenuBar::PopupMenuPlaylistEntries
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:754,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:755,1
    - Dst: getVout
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:760,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:765,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:765,1
    - Dst: BooleanPropertyAction::BooleanPropertyAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:765,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:766,1
    - Dst: QMenu::QMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:772,1
    - Dst: VLCMenuBar::AudioMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:773,1
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:774,1
    - Dst: QAction*::setText
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:775,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:775,1
    - Dst: QAction*::menu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:776,1
    - Dst: QAction*::setEnabled
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:777,1
    - Dst: QMenu::QMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:780,1
    - Dst: VLCMenuBar::VideoMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:781,1
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:782,1
    - Dst: QAction*::setText
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:783,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:783,1
    - Dst: QAction*::menu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:784,1
    - Dst: QAction*::setEnabled
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:785,1
    - Dst: QMenu::QMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:788,1
    - Dst: VLCMenuBar::SubtitleMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:789,1
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:790,1
    - Dst: QAction*::setText
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:791,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:791,1
    - Dst: QMenu::QMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:794,1
    - Dst: VLCMenuBar::NavigMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:795,1
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:796,1
    - Dst: QAction*::setText
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:797,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:797,1
    - Dst: QAction*::menu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:798,1
    - Dst: QAction*::setEnabled
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:799,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:802,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:810,1
    - Dst: QMenu::QMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:810,1
    - Dst: VLCMenuBar::ToolsMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:811,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:812,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:814,1
    - Dst: var_Type
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:817,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:819,1
    - Dst: QAction::QAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:819,1
    - Dst: QAction*::setShortcut
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:820,1
    - Dst: QKeySequence
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:820,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:821,1
    - Dst: var_TriggerCallback
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:822,1
    - Dst: QMenu*::addAction
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:824,1
    - Dst: VLCVarChoiceModel::VLCVarChoiceModel
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:827,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:828,1
    - Dst: CheckableListMenu::CheckableListMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:828,1
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:829,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:831,1
    - Dst: VLCMenuBar::ExtensionsMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:834,1
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:836,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:840,1
    - Dst: QMenu::QMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:840,1
    - Dst: VLCMenuBar::ToolsMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:841,1
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:842,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:844,1
    - Dst: QMenu::QMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:844,1
    - Dst: VLCMenuBar::ViewMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:845,1
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:846,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:854,1
    - Dst: QMenu::QMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:854,1
    - Dst: VLCMenuBar::FileMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:855,1
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:856,1
    - Dst: QMenu*::addSeparator
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:858,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:860,1
    - Dst: QMenu::QMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:860,1
    - Dst: VLCMenuBar::HelpMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:861,1
    - Dst: QMenu*::addMenu
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:862,1
    - Dst: addDPStaticEntry
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:864,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:864,1
    - Dst: VLCMenuBar::PopupMenuStaticEntries
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:868,1
    - Dst: QMenu*::popup
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:871,1
    - Dst: bs_skipeven_bytes_pos
      Src: /src/vlc/modules/gui/qt/menus/menus.cpp:871,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 66
    argCount: 2
    argNames:
    - p_intf
    - show
    argTypes:
    - qt_intf_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 746
    functionDepth: 4
    functionLinenumber: 746
    functionLinenumberEnd: 873
    functionName: VLCMenuBar::PopupMenu
    functionSourceFile: /src/vlc/modules/gui/qt/menus/menus.cpp
    functionUses: 3
    functionsReached:
    - getVout
    - BooleanPropertyAction::BooleanPropertyAction
    - connect
    - VLCMenuBar::PopupMenuStaticEntries
    - QMenu*::popup
    - VLCMenuBar::ViewMenu
    - QMenu*::addSeparator
    - VLCMenu::VLCMenu
    - CheckableListMenu::CheckableListMenu
    - VLCMenuBar::SubtitleMenu
    - VLCVarChoiceModel::VLCVarChoiceModel
    - bs_skipeven_bytes_pos
    - QAction*::setShortcut
    - QMenu::QMenu
    - QAction*::setEnabled
    - QAction::QAction
    - VLCMenuBar::AudioMenu
    - qtr
    - VLCMenuBar::ExtensionsMenu
    - VLCMenuBar::ToolsMenu
    - var_TriggerCallback
    - QMenu*::addAction
    - VLCMenuBar::FileMenu
    - var_Type
    - QAction*::menu
    - vlc_object_parent
    - getInput
    - VLCMenuBar::VideoMenu
    - VLCMenuBar::NavigMenu
    - QMenu*::addMenu
    - QAction*::setText
    - VLCMenuBar::PopupMenuPlaylistEntries
    - QKeySequence
    - addDPStaticEntry
    - VLCMenuBar::HelpMenu
    linkageType: ''
    returnType: QMenu
    signature: QMenu * VLCMenuBar::PopupMenu( qt_intf_t *p_intf, bool show )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - name
    - ','
    - defaultValue
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: SIMPLE_MENU_PROPERTY
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLE_MENU_PROPERTY(type, name, defaultValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: BasicMenuContainer::visible
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool visible() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: SortMenu::isShown
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isShown() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: QmlGlobalMenu::isShown
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isShown() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NetworkMediaContextMenu::popup
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.hpp:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - selected
    - pos
    argTypes:
    - QModelIndexList
    - QPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 445
    functionDepth: 3
    functionLinenumber: 445
    functionLinenumberEnd: 448
    functionName: NetworkMediaContextMenu::tableView_popup
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.hpp
    functionUses: 0
    functionsReached:
    - NetworkMediaContextMenu::popup
    linkageType: ''
    returnType: void
    signature: void tableView_popup(int /*current*/, const QModelIndexList &selected,
      QPoint pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NetworkDeviceContextMenu::popup
      Src: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.hpp:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - selected
    - pos
    argTypes:
    - QModelIndexList
    - QPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 459
    functionDepth: 3
    functionLinenumber: 459
    functionLinenumberEnd: 462
    functionName: NetworkDeviceContextMenu::tableView_popup
    functionSourceFile: /src/vlc/modules/gui/qt/menus/qml_menu_wrapper.hpp
    functionUses: 0
    functionsReached:
    - NetworkDeviceContextMenu::popup
    linkageType: ''
    returnType: void
    signature: void tableView_popup(int /*current*/, const QModelIndexList &selected,
      QPoint pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - number
    - multiple
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: roundNearestMultiple
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t roundNearestMultiple(int64_t number, int64_t multiple)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - number
    - multiple
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: roundNearestMultiple
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t roundNearestMultiple(int64_t number, int64_t multiple)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ticks
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: VLCTick::VLCTick
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VLCTick::VLCTick(vlc_tick_t ticks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: valid
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:39,1
    - Dst: asMilliseconds
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: VLCTick::isSubSecond
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 0
    functionsReached:
    - asMilliseconds
    - valid
    linkageType: ''
    returnType: bool
    signature: bool VLCTick::isSubSecond() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: valid
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:44,1
    - Dst: asSeconds
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: VLCTick::isSubHour
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 0
    functionsReached:
    - valid
    - asSeconds
    linkageType: ''
    returnType: bool
    signature: bool VLCTick::isSubHour() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: valid
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:49,1
    - Dst: VLCTick::isSubSecond
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:52,1
    - Dst: asSeconds
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:55,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:61,1
    - Dst: QChar
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:62,1
    - Dst: QChar
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:63,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:65,1
    - Dst: QChar
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:66,1
    - Dst: QChar
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:67,1
    - Dst: QChar
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:68,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:71,1
    - Dst: asMilliseconds
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - formatFlags
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 72
    functionName: VLCTick::formatHMS
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 0
    functionsReached:
    - VLCTick::isSubSecond
    - QString
    - asSeconds
    - asMilliseconds
    - qtr
    - valid
    - QChar
    linkageType: ''
    returnType: QString
    signature: QString VLCTick::formatHMS(int formatFlags) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: valid
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:76,1
    - Dst: asMilliseconds
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:79,1
    - Dst: roundNearestMultiple
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:83,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:88,1
    - Dst: VLCTick::isSubSecond
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:92,1
    - Dst: roundNearestMultiple
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:95,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:100,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:104,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - formatFlags
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 109
    functionName: VLCTick::formatLong
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 0
    functionsReached:
    - VLCTick::isSubSecond
    - asMilliseconds
    - qtr
    - roundNearestMultiple
    - valid
    linkageType: ''
    returnType: QString
    signature: QString VLCTick::formatLong(int formatFlags) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: valid
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:113,1
    - Dst: asMilliseconds
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:116,1
    - Dst: roundNearestMultiple
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:120,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:125,1
    - Dst: QChar
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:127,1
    - Dst: VLCTick::isSubSecond
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:129,1
    - Dst: roundNearestMultiple
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:132,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:137,1
    - Dst: QChar
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:138,1
    - Dst: QChar
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:139,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - formatFlags
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 144
    functionName: VLCTick::formatShort
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 0
    functionsReached:
    - VLCTick::isSubSecond
    - QString
    - asMilliseconds
    - qtr
    - roundNearestMultiple
    - valid
    - QChar
    linkageType: ''
    returnType: QString
    signature: QString VLCTick::formatShort(int formatFlags) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: valid
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:148,1
    - Dst: asSeconds
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: VLCTick::toSeconds
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 0
    functionsReached:
    - valid
    - asSeconds
    linkageType: ''
    returnType: int
    signature: int VLCTick::toSeconds() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asSeconds
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: VLCTick::toMinutes
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 0
    functionsReached:
    - asSeconds
    linkageType: ''
    returnType: int
    signature: int VLCTick::toMinutes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asSeconds
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: VLCTick::toHours
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 0
    functionsReached:
    - asSeconds
    linkageType: ''
    returnType: int
    signature: int VLCTick::toHours() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: valid
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:163,1
    - Dst: asMilliseconds
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: VLCTick::toMilliseconds
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 0
    functionsReached:
    - asMilliseconds
    - valid
    linkageType: ''
    returnType: int
    signature: int VLCTick::toMilliseconds() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: VLCDuration::VLCDuration
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VLCDuration::VLCDuration()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - t
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: VLCDuration::VLCDuration
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VLCDuration::VLCDuration(vlc_tick_t t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLCDuration::VLCDuration
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: VLCDuration::operator*(double f) const
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 0
    functionsReached:
    - VLCDuration::VLCDuration
    linkageType: ''
    returnType: VLCDuration
    signature: VLCDuration VLCDuration::operator*(double f) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - VLCDuration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: VLCDuration::operator==(const VLCDuration &rhs) const
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool VLCDuration::operator==(const VLCDuration &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - VLCDuration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: VLCDuration::operator>(const VLCDuration &rhs) const
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool VLCDuration::operator>(const VLCDuration &rhs) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - VLCDuration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 205
    functionName: VLCDuration::operator+(const VLCDuration &rhs) const
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VLCDuration
    signature: VLCDuration VLCDuration::operator+(const VLCDuration &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - VLCDuration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: '& VLCDuration::operator+=(const VLCDuration &rhs)'
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VLCDuration
    signature: VLCDuration & VLCDuration::operator+=(const VLCDuration &rhs)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - VLCDuration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: VLCDuration::operator-(const VLCDuration &rhs) const
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VLCDuration
    signature: VLCDuration VLCDuration::operator-(const VLCDuration &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - VLCDuration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: '& VLCDuration::operator-=(const VLCDuration &rhs)'
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VLCDuration
    signature: VLCDuration & VLCDuration::operator-=(const VLCDuration &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secf_from_vlc_tick
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: VLCDuration::toSecf
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 0
    functionsReached:
    - secf_from_vlc_tick
    linkageType: ''
    returnType: double
    signature: double VLCDuration::toSecf() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLCDuration::VLCDuration
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - scalar
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 239
    functionName: VLCDuration::scale
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 0
    functionsReached:
    - VLCDuration::VLCDuration
    linkageType: ''
    returnType: VLCDuration
    signature: VLCDuration VLCDuration::scale(float scalar) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLCDuration::VLCDuration
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:243,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ms
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: VLCDuration::fromMS
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 3
    functionsReached:
    - VLC_TICK_FROM_MS
    - VLCDuration::VLCDuration
    linkageType: ''
    returnType: VLCDuration
    signature: VLCDuration VLCDuration::fromMS(int64_t ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: VLCDuration::asMilliseconds
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 0
    functionsReached:
    - MS_FROM_VLC_TICK
    linkageType: ''
    returnType: int64_t
    signature: int64_t VLCDuration::asMilliseconds() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: VLCDuration::asSeconds
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 0
    functionsReached:
    - SEC_FROM_VLC_TICK
    linkageType: ''
    returnType: int64_t
    signature: int64_t VLCDuration::asSeconds() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: VLCDuration::valid
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool VLCDuration::valid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: VLCTime::VLCTime
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VLCTime::VLCTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - t
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: VLCTime::VLCTime
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VLCTime::VLCTime(vlc_tick_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLCDuration::toVLCTick
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - d
    argTypes:
    - VLCDuration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: VLCTime::VLCTime
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 0
    functionsReached:
    - VLCDuration::toVLCTick
    linkageType: ''
    returnType: void
    signature: void VLCTime::VLCTime(VLCDuration d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLCDuration
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:281,1
    - Dst: VLCDuration
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - VLCTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 283
    functionName: VLCTime::operator-(const VLCTime &rhs) const
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 0
    functionsReached:
    - VLCDuration
    linkageType: ''
    returnType: VLCDuration
    signature: VLCDuration VLCTime::operator-(const VLCTime &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - VLCTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 288
    functionName: VLCTime::operator<=(const VLCTime &rhs) const
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool VLCTime::operator<=(const VLCTime &rhs) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLCTime::valid
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:292,1
    - Dst: VLCTime::VLCTime
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:293,1
    - Dst: VLCTime::VLCTime
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - scalar
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: VLCTime::scale
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 0
    functionsReached:
    - VLCTime::valid
    - VLCTime::VLCTime
    linkageType: ''
    returnType: VLCTime
    signature: VLCTime VLCTime::scale(float scalar) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: VLCTime::asMilliseconds
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 0
    functionsReached:
    - MS_FROM_VLC_TICK
    linkageType: ''
    returnType: int64_t
    signature: int64_t VLCTime::asMilliseconds() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/gui/qt/util/vlctick.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: VLCTime::asSeconds
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 0
    functionsReached:
    - SEC_FROM_VLC_TICK
    linkageType: ''
    returnType: int64_t
    signature: int64_t VLCTime::asSeconds() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: VLCTime::valid
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool VLCTime::valid() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QFile::open
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:42,1
    - Dst: qWarning
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:44,1
    - Dst: QFile::readAll
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:48,1
    - Dst: QString::fromUtf8
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:50,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:60,1
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:62,1
    - Dst: QString::replace
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:64,1
    - Dst: QString::replace
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:69,1
    - Dst: QString::toUtf8
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:73,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - filename
    - replacements
    argTypes:
    - QString
    - QList<QPair<QString, QString> >
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 74
    functionName: colorizeSvg
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp
    functionUses: 0
    functionsReached:
    - QColor
    - QString::replace
    - QString::fromUtf8
    - contains
    - QFile::readAll
    - QFile::open
    - QString::toUtf8
    - qWarning
    linkageType: ''
    returnType: QPair<QByteArray, QColor>
    signature: QPair<QByteArray, QColor> colorizeSvg(const QString &filename, const
      QList<QPair<QString, QString> > &replacements)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - ' filename'
    - ' replacements'
    - requestedSize
    argTypes:
    - QString
    - QList<QPair<QString, QString>>
    - QSize
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: SVGColorImageReader::SVGColorImageReader
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp
    functionUses: 0
    functionsReached:
    - isValid
    linkageType: ''
    returnType: void
    signature: void SVGColorImageReader(const QString& filename, const QList<QPair<QString,
      QString>>& replacements, QSize requestedSize)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: width
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:93,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:93,1
    - Dst: colorizeSvg
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:99,1
    - Dst: auto::first::isEmpty
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:101,1
    - Dst: QScopedPointer<QImageIOHandler>
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:107,1
    - Dst: ImageHelper::createSvgImageIOHandler
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:107,1
    - Dst: QBuffer::setData
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:114,1
    - Dst: Q_LIKELY
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:116,1
    - Dst: QBuffer::open
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:116,1
    - Dst: auto::setDevice
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:118,1
    - Dst: Q_LIKELY
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:120,1
    - Dst: auto::canRead
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:120,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:124,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:124,1
    - Dst: auto::option
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:129,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:131,1
    - Dst: QSize::setWidth
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:133,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:133,1
    - Dst: QSize::width
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:133,1
    - Dst: QSize::height
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:133,1
    - Dst: QSize::setHeight
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:134,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:134,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:136,1
    - Dst: QSize::setHeight
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:138,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:138,1
    - Dst: QSize::height
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:138,1
    - Dst: QSize::width
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:138,1
    - Dst: QSize::setWidth
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:139,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:139,1
    - Dst: QSize::isEmpty
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:147,1
    - Dst: auto::setOption
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:148,1
    - Dst: auto::second::isValid
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:150,1
    - Dst: auto::setOption
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:151,1
    - Dst: auto::read
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:153,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:157,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:162,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:167,1
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:170,1
    - Dst: QImage::isNull
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:170,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:172,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:173,1
    - Dst: QImage
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:174,1
    - Dst: QImage::fill
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:175,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:175,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 179
    functionName: SVGColorImageReader::execute
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp
    functionUses: 0
    functionsReached:
    - Q_UNLIKELY
    - height
    - auto::read
    - auto::first::isEmpty
    - QImage
    - QScopedPointer<QImageIOHandler>
    - QSize::width
    - auto::option
    - QImage::fill
    - auto::second::isValid
    - ImageHelper::createSvgImageIOHandler
    - QSize::setWidth
    - isEmpty
    - QSize::height
    - colorizeSvg
    - QBuffer::setData
    - QImage::isNull
    - width
    - auto::setDevice
    - QBuffer::open
    - QStringLiteral
    - QColor
    - Q_LIKELY
    - QSize::setHeight
    - auto::canRead
    - auto::setOption
    - QSize::isEmpty
    linkageType: ''
    returnType: QImage
    signature: QImage execute() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: SVGColorImageReader::errorString
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString errorString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:198,1
    - Dst: SVGColorImageReader::SVGColorImageReader
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:198,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:200,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:200,1
    - Dst: start
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:202,1
    - Dst: QThreadPool::globalInstance
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' fileName'
    - ' arguments'
    - ' requestedSize'
    argTypes:
    - QString
    - QList<QPair<QString, QString>>
    - QSize
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 203
    functionName: SVGColorImageResponse::SVGColorImageResponse
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp
    functionUses: 0
    functionsReached:
    - QThreadPool::globalInstance
    - get
    - reset
    - connect
    - start
    - SVGColorImageReader::SVGColorImageReader
    linkageType: ''
    returnType: void
    signature: void SVGColorImageResponse(const QString& fileName, const QList<QPair<QString,
      QString>>& arguments, const QSize& requestedSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:207,1
    - Dst: QQuickTextureFactory::textureFactoryForImage
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: SVGColorImageResponse::textureFactory
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - QQuickTextureFactory::textureFactoryForImage
    linkageType: ''
    returnType: QQuickTextureFactory
    signature: QQuickTextureFactory * textureFactory() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:212,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:212,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: SVGColorImageResponse::errorString
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp
    functionUses: 0
    functionsReached:
    - isEmpty
    - QStringLiteral
    - isNull
    linkageType: ''
    returnType: QString
    signature: QString errorString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 220
    functionName: SVGColorImageResponse::cancel
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: takeResult
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:225,1
    - Dst: isNull
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:226,1
    - Dst: SVGColorImageResponse::errorString
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:227,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 231
    functionName: SVGColorImageResponse::handleImageRead
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp
    functionUses: 0
    functionsReached:
    - takeResult
    - SVGColorImageResponse::errorString
    - reset
    - isNull
    linkageType: ''
    returnType: void
    signature: void handleImageRead()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - ' filename'
    - ' replacements'
    - requestedSize
    argTypes:
    - QString
    - QList<QPair<QString, QString>>
    - QSize
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: SVGColorImageReader::SVGColorImageReader
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp
    functionUses: 1
    functionsReached:
    - isValid
    linkageType: ''
    returnType: void
    signature: void SVGColorImageReader(const QString& filename, const QList<QPair<QString,
      QString>>& replacements, QSize requestedSize)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: width
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:93,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:93,1
    - Dst: colorizeSvg
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:99,1
    - Dst: auto::first::isEmpty
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:101,1
    - Dst: QScopedPointer<QImageIOHandler>
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:107,1
    - Dst: ImageHelper::createSvgImageIOHandler
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:107,1
    - Dst: QBuffer::setData
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:114,1
    - Dst: Q_LIKELY
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:116,1
    - Dst: QBuffer::open
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:116,1
    - Dst: auto::setDevice
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:118,1
    - Dst: Q_LIKELY
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:120,1
    - Dst: auto::canRead
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:120,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:124,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:124,1
    - Dst: auto::option
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:129,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:131,1
    - Dst: QSize::setWidth
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:133,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:133,1
    - Dst: QSize::width
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:133,1
    - Dst: QSize::height
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:133,1
    - Dst: QSize::setHeight
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:134,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:134,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:136,1
    - Dst: QSize::setHeight
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:138,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:138,1
    - Dst: QSize::height
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:138,1
    - Dst: QSize::width
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:138,1
    - Dst: QSize::setWidth
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:139,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:139,1
    - Dst: QSize::isEmpty
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:147,1
    - Dst: auto::setOption
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:148,1
    - Dst: auto::second::isValid
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:150,1
    - Dst: auto::setOption
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:151,1
    - Dst: auto::read
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:153,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:157,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:162,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:167,1
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:170,1
    - Dst: QImage::isNull
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:170,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:172,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:173,1
    - Dst: QImage
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:174,1
    - Dst: QImage::fill
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:175,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:175,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 179
    functionName: SVGColorImageReader::execute
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp
    functionUses: 0
    functionsReached:
    - Q_UNLIKELY
    - height
    - auto::read
    - auto::first::isEmpty
    - QImage
    - QScopedPointer<QImageIOHandler>
    - QSize::width
    - auto::option
    - QImage::fill
    - auto::second::isValid
    - ImageHelper::createSvgImageIOHandler
    - QSize::setWidth
    - isEmpty
    - QSize::height
    - colorizeSvg
    - QBuffer::setData
    - QImage::isNull
    - width
    - auto::setDevice
    - QBuffer::open
    - QStringLiteral
    - QColor
    - Q_LIKELY
    - QSize::setHeight
    - auto::canRead
    - auto::setOption
    - QSize::isEmpty
    linkageType: ''
    returnType: QImage
    signature: QImage execute() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: SVGColorImageReader::errorString
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString errorString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:198,1
    - Dst: SVGColorImageReader::SVGColorImageReader
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:198,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:200,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:200,1
    - Dst: start
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:202,1
    - Dst: QThreadPool::globalInstance
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' fileName'
    - ' arguments'
    - ' requestedSize'
    argTypes:
    - QString
    - QList<QPair<QString, QString>>
    - QSize
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 203
    functionName: SVGColorImageResponse::SVGColorImageResponse
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp
    functionUses: 0
    functionsReached:
    - QThreadPool::globalInstance
    - get
    - reset
    - connect
    - start
    - SVGColorImageReader::SVGColorImageReader
    linkageType: ''
    returnType: void
    signature: void SVGColorImageResponse(const QString& fileName, const QList<QPair<QString,
      QString>>& arguments, const QSize& requestedSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:207,1
    - Dst: QQuickTextureFactory::textureFactoryForImage
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: SVGColorImageResponse::textureFactory
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - QQuickTextureFactory::textureFactoryForImage
    linkageType: ''
    returnType: QQuickTextureFactory
    signature: QQuickTextureFactory * textureFactory() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:212,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:212,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: SVGColorImageResponse::errorString
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp
    functionUses: 1
    functionsReached:
    - isEmpty
    - QStringLiteral
    - isNull
    linkageType: ''
    returnType: QString
    signature: QString errorString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 220
    functionName: SVGColorImageResponse::cancel
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: takeResult
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:225,1
    - Dst: isNull
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:226,1
    - Dst: SVGColorImageResponse::errorString
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:227,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 231
    functionName: SVGColorImageResponse::handleImageRead
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp
    functionUses: 0
    functionsReached:
    - takeResult
    - SVGColorImageResponse::errorString
    - reset
    - isNull
    linkageType: ''
    returnType: void
    signature: void handleImageRead()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUrlQuery::hasQueryItem
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:243,1
    - Dst: QQmlFile::urlToLocalFileOrQrc
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:246,1
    - Dst: QUrlQuery::queryItemValue
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:246,1
    - Dst: QUrlQuery::queryItems
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:248,1
    - Dst: SVGColorImageResponse::SVGColorImageResponse
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' id'
    - ' requestedSize'
    argTypes:
    - QString
    - QSize
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 251
    functionName: SVGColorImageImageProvider::requestImageResponse
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp
    functionUses: 0
    functionsReached:
    - QUrlQuery::queryItems
    - QUrlQuery::queryItemValue
    - QUrlQuery::hasQueryItem
    - SVGColorImageResponse::SVGColorImageResponse
    - QQmlFile::urlToLocalFileOrQrc
    linkageType: ''
    returnType: QQuickImageResponse
    signature: QQuickImageResponse * SVGColorImageImageProvider::requestImageResponse(const
      QString& id, const QSize& requestedSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addQueryItem
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - path
    - parent
    argTypes:
    - QString
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: SVGColorImageBuilder::SVGColorImageBuilder
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp
    functionUses: 0
    functionsReached:
    - addQueryItem
    linkageType: ''
    returnType: void
    signature: void SVGColorImageBuilder::SVGColorImageBuilder(const QString &path,
      QObject* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:263,1
    - Dst: toString
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 265
    functionName: SVGColorImageBuilder::uri
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp
    functionUses: 0
    functionsReached:
    - QStringLiteral
    - toString
    linkageType: ''
    returnType: QString
    signature: QString SVGColorImageBuilder::uri() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addQueryItem
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:269,1
    - Dst: QColor::name
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c1
    argTypes:
    - QColor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: SVGColorImageBuilder::color1
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp
    functionUses: 0
    functionsReached:
    - addQueryItem
    - QColor::name
    linkageType: ''
    returnType: SVGColorImageBuilder
    signature: SVGColorImageBuilder * SVGColorImageBuilder::color1(QColor c1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addQueryItem
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:275,1
    - Dst: QColor::name
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c2
    argTypes:
    - QColor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: SVGColorImageBuilder::color2
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp
    functionUses: 0
    functionsReached:
    - addQueryItem
    - QColor::name
    linkageType: ''
    returnType: SVGColorImageBuilder
    signature: SVGColorImageBuilder * SVGColorImageBuilder::color2(QColor c2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addQueryItem
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:281,1
    - Dst: QColor::name
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c2
    argTypes:
    - QColor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: SVGColorImageBuilder::accent
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp
    functionUses: 0
    functionsReached:
    - addQueryItem
    - QColor::name
    linkageType: ''
    returnType: SVGColorImageBuilder
    signature: SVGColorImageBuilder * SVGColorImageBuilder::accent(QColor c2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QVariantMap::constBegin
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:287,1
    - Dst: QVariantMap::constEnd
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:287,1
    - Dst: auto::value
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:289,1
    - Dst: canConvert
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:290,1
    - Dst: addQueryItem
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:291,1
    - Dst: auto::key
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:291,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:291,1
    - Dst: canConvert
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:292,1
    - Dst: addQueryItem
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:293,1
    - Dst: auto::key
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:293,1
    - Dst: toString
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:293,1
    - Dst: qWarning
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:295,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - map
    argTypes:
    - QVariantMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 298
    functionName: SVGColorImageBuilder::any
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - auto::key
    - addQueryItem
    - canConvert
    - toString
    - QVariantMap::constEnd
    - QVariantMap::constBegin
    - value
    - qWarning
    linkageType: ''
    returnType: SVGColorImageBuilder
    signature: SVGColorImageBuilder * SVGColorImageBuilder::any(QVariantMap map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addQueryItem
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:302,1
    - Dst: QColor::name
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bg
    argTypes:
    - QColor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: SVGColorImageBuilder::background
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp
    functionUses: 0
    functionsReached:
    - addQueryItem
    - QColor::name
    linkageType: ''
    returnType: SVGColorImageBuilder
    signature: SVGColorImageBuilder * SVGColorImageBuilder::background(QColor bg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: SVGColorImage::SVGColorImage
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SVGColorImage::SVGColorImage(QObject* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SVGColorImageBuilder::SVGColorImageBuilder
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:313,1
    - Dst: QQmlEngine::setObjectOwnership
      Src: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - path
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 316
    functionName: SVGColorImage::colorize
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_svg_image_provider.cpp
    functionUses: 0
    functionsReached:
    - QQmlEngine::setObjectOwnership
    - SVGColorImageBuilder::SVGColorImageBuilder
    linkageType: ''
    returnType: SVGColorImageBuilder
    signature: SVGColorImageBuilder * SVGColorImage::colorize(const QString &path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~LocalListBaseModelPrivate()
    functionSourceFile: /src/vlc/modules/gui/qt/util/locallistbasemodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LocalListBaseModelPrivate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BaseModelPrivateT<T>::loading
      Src: /src/vlc/modules/gui/qt/util/locallistbasemodel.hpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: LocalListBaseModelPrivate::loading
    functionSourceFile: /src/vlc/modules/gui/qt/util/locallistbasemodel.hpp
    functionUses: 0
    functionsReached:
    - BaseModelPrivateT<T>::loading
    linkageType: ''
    returnType: bool
    signature: bool loading() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LocalListBaseModelPrivate::cachable
      Src: /src/vlc/modules/gui/qt/util/locallistbasemodel.hpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: LocalListBaseModelPrivate::cachable
    functionSourceFile: /src/vlc/modules/gui/qt/util/locallistbasemodel.hpp
    functionUses: 1
    functionsReached:
    - LocalListBaseModelPrivate::cachable
    linkageType: ''
    returnType: bool
    signature: bool cachable() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<LocalListCacheLoader<T>>
      Src: /src/vlc/modules/gui/qt/util/locallistbasemodel.hpp:55,1
    - Dst: getSortFunction
      Src: /src/vlc/modules/gui/qt/util/locallistbasemodel.hpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: LocalListBaseModelPrivate::createLoader
    functionSourceFile: /src/vlc/modules/gui/qt/util/locallistbasemodel.hpp
    functionUses: 0
    functionsReached:
    - std::make_unique<LocalListCacheLoader<T>>
    - getSortFunction
    linkageType: ''
    returnType: std::unique_ptr<ListCacheLoader<T>>
    signature: std::unique_ptr<ListCacheLoader<T>> createLoader() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: LocalListBaseModelPrivate::getModelRevision
    functionSourceFile: /src/vlc/modules/gui/qt/util/locallistbasemodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getModelRevision() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: SoutModule::SoutModule
    functionSourceFile: /src/vlc/modules/gui/qt/util/soutchain.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SoutModule( const QString& name )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: SoutOption::SoutOption
    functionSourceFile: /src/vlc/modules/gui/qt/util/soutchain.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SoutOption( const QString& value, bool escaped = false )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/util/soutchain.hpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: SoutOption::SoutOption
    functionSourceFile: /src/vlc/modules/gui/qt/util/soutchain.hpp
    functionUses: 0
    functionsReached:
    - QString
    linkageType: ''
    returnType: void
    signature: void SoutOption( const char* s, bool escaped = false )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' module'
    argTypes:
    - SoutModule
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: SoutOption::SoutOption
    functionSourceFile: /src/vlc/modules/gui/qt/util/soutchain.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SoutOption( const SoutModule& module )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: SoutChain::SoutChain
    functionSourceFile: /src/vlc/modules/gui/qt/util/soutchain.hpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SoutChain( const QString& header="" )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SoutChain::clear
      Src: /src/vlc/modules/gui/qt/util/soutchain.hpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: SoutChain::clear
    functionSourceFile: /src/vlc/modules/gui/qt/util/soutchain.hpp
    functionUses: 1
    functionsReached:
    - SoutChain::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' newHeader'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: SoutChain::header
    functionSourceFile: /src/vlc/modules/gui/qt/util/soutchain.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void header( const QString& newHeader )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/vlc/modules/gui/qt/util/soutchain.hpp:113,1
    - Dst: SoutModule
      Src: /src/vlc/modules/gui/qt/util/soutchain.hpp:113,1
    - Dst: back
      Src: /src/vlc/modules/gui/qt/util/soutchain.hpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' module'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: '& begin( const QString& module )'
    functionSourceFile: /src/vlc/modules/gui/qt/util/soutchain.hpp
    functionUses: 0
    functionsReached:
    - append
    - back
    - SoutModule
    linkageType: ''
    returnType: SoutModule
    signature: SoutModule & begin( const QString& module )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: SoutChain::end
    functionSourceFile: /src/vlc/modules/gui/qt/util/soutchain.hpp
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/vlc/modules/gui/qt/util/soutchain.hpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' module'
    argTypes:
    - SoutModule
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: SoutChain::module
    functionSourceFile: /src/vlc/modules/gui/qt/util/soutchain.hpp
    functionUses: 1
    functionsReached:
    - append
    linkageType: ''
    returnType: void
    signature: void module( const SoutModule& module )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QQuickItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: ItemKeyEventFilter::ItemKeyEventFilter
    functionSourceFile: /src/vlc/modules/gui/qt/util/item_key_event_filter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ItemKeyEventFilter::ItemKeyEventFilter(QQuickItem *parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: removeEventFilter
      Src: /src/vlc/modules/gui/qt/util/item_key_event_filter.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: ItemKeyEventFilter::~ItemKeyEventFilter()
    functionSourceFile: /src/vlc/modules/gui/qt/util/item_key_event_filter.cpp
    functionUses: 0
    functionsReached:
    - removeEventFilter
    linkageType: ''
    returnType: void
    signature: void ItemKeyEventFilter::~ItemKeyEventFilter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/item_key_event_filter.cpp:34,1
    - Dst: QObject*::installEventFilter
      Src: /src/vlc/modules/gui/qt/util/item_key_event_filter.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - target
    argTypes:
    - QObject*
    assertStmts:
    - condition: (target)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/vlc/modules/gui/qt/util/item_key_event_filter.cpp
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: ItemKeyEventFilter::setTarget
    functionSourceFile: /src/vlc/modules/gui/qt/util/item_key_event_filter.cpp
    functionUses: 0
    functionsReached:
    - assert
    - QObject*::installEventFilter
    linkageType: ''
    returnType: void
    signature: void ItemKeyEventFilter::setTarget(QObject* target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QKeyEvent*::setAccepted
      Src: /src/vlc/modules/gui/qt/util/item_key_event_filter.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - event
    argTypes:
    - QKeyEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: ItemKeyEventFilter::keyPressEvent
    functionSourceFile: /src/vlc/modules/gui/qt/util/item_key_event_filter.cpp
    functionUses: 0
    functionsReached:
    - QKeyEvent*::setAccepted
    linkageType: ''
    returnType: void
    signature: void ItemKeyEventFilter::keyPressEvent(QKeyEvent* event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QKeyEvent*::setAccepted
      Src: /src/vlc/modules/gui/qt/util/item_key_event_filter.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - event
    argTypes:
    - QKeyEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: ItemKeyEventFilter::keyReleaseEvent
    functionSourceFile: /src/vlc/modules/gui/qt/util/item_key_event_filter.cpp
    functionUses: 0
    functionsReached:
    - QKeyEvent*::setAccepted
    linkageType: ''
    returnType: void
    signature: void ItemKeyEventFilter::keyReleaseEvent(QKeyEvent* event)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/vlc/modules/gui/qt/util/item_key_event_filter.cpp:60,1
    - Dst: QCoreApplication::sendEvent
      Src: /src/vlc/modules/gui/qt/util/item_key_event_filter.cpp:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - event
    argTypes:
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 72
    functionName: ItemKeyEventFilter::eventFilter
    functionSourceFile: /src/vlc/modules/gui/qt/util/item_key_event_filter.cpp
    functionUses: 0
    functionsReached:
    - QEvent*::type
    - QCoreApplication::sendEvent
    linkageType: ''
    returnType: bool
    signature: bool ItemKeyEventFilter::eventFilter(QObject*, QEvent* event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~ListCacheLoader()
    functionSourceFile: /src/vlc/modules/gui/qt/util/listcacheloader.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ListCacheLoader()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/util/qt_dirs.cpp:31,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/util/qt_dirs.cpp:31,1
    - Dst: vlc_path2uri
      Src: /src/vlc/modules/gui/qt/util/qt_dirs.cpp:34,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/util/qt_dirs.cpp:34,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/util/qt_dirs.cpp:36,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/util/qt_dirs.cpp:38,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/util/qt_dirs.cpp:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 41
    functionName: toURI
    functionSourceFile: /src/vlc/modules/gui/qt/util/qt_dirs.cpp
    functionUses: 0
    functionsReached:
    - free
    - qtu
    - qfu
    - vlc_path2uri
    - contains
    linkageType: ''
    returnType: QString
    signature: QString toURI( const QString& s )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: ~VLCObjectHolder()
    functionSourceFile: /src/vlc/modules/gui/qt/util/varcommon_p.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VLCObjectHolder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/varcommon_p.hpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/vlc/modules/gui/qt/util/varcommon_p.hpp
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: get
    functionSourceFile: /src/vlc/modules/gui/qt/util/varcommon_p.hpp
    functionUses: 499
    functionsReached:
    - assert
    linkageType: ''
    returnType: vlc_object_t
    signature: vlc_object_t * get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/varcommon_p.hpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/vlc/modules/gui/qt/util/varcommon_p.hpp
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: reset
    functionSourceFile: /src/vlc/modules/gui/qt/util/varcommon_p.hpp
    functionUses: 137
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void reset(vout_thread_t* , bool  = true )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/varcommon_p.hpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/vlc/modules/gui/qt/util/varcommon_p.hpp
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: reset
    functionSourceFile: /src/vlc/modules/gui/qt/util/varcommon_p.hpp
    functionUses: 137
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void reset(audio_output_t*, bool  = true )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/varcommon_p.hpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/vlc/modules/gui/qt/util/varcommon_p.hpp
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: reset
    functionSourceFile: /src/vlc/modules/gui/qt/util/varcommon_p.hpp
    functionUses: 137
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void reset(vlc_object_t*, bool  = true )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/varcommon_p.hpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (false)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/vlc/modules/gui/qt/util/varcommon_p.hpp
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: reset
    functionSourceFile: /src/vlc/modules/gui/qt/util/varcommon_p.hpp
    functionUses: 137
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void reset(qt_intf_t*, bool  = true )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: clear
    functionSourceFile: /src/vlc/modules/gui/qt/util/varcommon_p.hpp
    functionUses: 142
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/varcommon_p.hpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: operator bool() const
    functionSourceFile: /src/vlc/modules/gui/qt/util/varcommon_p.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void operator bool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - vout
    argTypes:
    - vout_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: VLCObjectHolderImpl
    functionSourceFile: /src/vlc/modules/gui/qt/util/varcommon_p.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VLCObjectHolderImpl(vout_thread_t* vout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/gui/qt/util/varcommon_p.hpp:77,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/varcommon_p.hpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: get
    functionSourceFile: /src/vlc/modules/gui/qt/util/varcommon_p.hpp
    functionUses: 501
    functionsReached:
    - get
    - VLC_OBJECT
    linkageType: ''
    returnType: vlc_object_t
    signature: vlc_object_t * get() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/util/varcommon_p.hpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vout
    - hold
    argTypes:
    - vout_thread_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: reset
    functionSourceFile: /src/vlc/modules/gui/qt/util/varcommon_p.hpp
    functionUses: 138
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void reset(vout_thread_t* vout, bool hold) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/util/varcommon_p.hpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: clear
    functionSourceFile: /src/vlc/modules/gui/qt/util/varcommon_p.hpp
    functionUses: 142
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vout_Hold
      Src: /src/vlc/modules/gui/qt/util/varcommon_p.hpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vout_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: obj_hold
    functionSourceFile: /src/vlc/modules/gui/qt/util/varcommon_p.hpp
    functionUses: 0
    functionsReached:
    - vout_Hold
    linkageType: ''
    returnType: void
    signature: void obj_hold( vout_thread_t* obj )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vout_Release
      Src: /src/vlc/modules/gui/qt/util/varcommon_p.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vout_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: obj_release
    functionSourceFile: /src/vlc/modules/gui/qt/util/varcommon_p.hpp
    functionUses: 0
    functionsReached:
    - vout_Release
    linkageType: ''
    returnType: void
    signature: void obj_release( vout_thread_t* obj )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p_intf
    argTypes:
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: VLCObjectHolderImpl
    functionSourceFile: /src/vlc/modules/gui/qt/util/varcommon_p.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VLCObjectHolderImpl(qt_intf_t* p_intf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/gui/qt/util/varcommon_p.hpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: get
    functionSourceFile: /src/vlc/modules/gui/qt/util/varcommon_p.hpp
    functionUses: 501
    functionsReached:
    - VLC_OBJECT
    linkageType: ''
    returnType: vlc_object_t
    signature: vlc_object_t * get() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_intf
    argTypes:
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: reset
    functionSourceFile: /src/vlc/modules/gui/qt/util/varcommon_p.hpp
    functionUses: 139
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset(qt_intf_t* p_intf, bool) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: clear
    functionSourceFile: /src/vlc/modules/gui/qt/util/varcommon_p.hpp
    functionUses: 142
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: VLCObjectHolderImpl
    functionSourceFile: /src/vlc/modules/gui/qt/util/varcommon_p.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VLCObjectHolderImpl(audio_output_t* aout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/gui/qt/util/varcommon_p.hpp:137,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/varcommon_p.hpp:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: get
    functionSourceFile: /src/vlc/modules/gui/qt/util/varcommon_p.hpp
    functionUses: 502
    functionsReached:
    - get
    - VLC_OBJECT
    linkageType: ''
    returnType: vlc_object_t
    signature: vlc_object_t * get() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/util/varcommon_p.hpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - aout
    - hold
    argTypes:
    - audio_output_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: reset
    functionSourceFile: /src/vlc/modules/gui/qt/util/varcommon_p.hpp
    functionUses: 140
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void reset(audio_output_t* aout, bool hold) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/util/varcommon_p.hpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: clear
    functionSourceFile: /src/vlc/modules/gui/qt/util/varcommon_p.hpp
    functionUses: 142
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aout_Hold
      Src: /src/vlc/modules/gui/qt/util/varcommon_p.hpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: obj_hold
    functionSourceFile: /src/vlc/modules/gui/qt/util/varcommon_p.hpp
    functionUses: 0
    functionsReached:
    - aout_Hold
    linkageType: ''
    returnType: void
    signature: void obj_hold( audio_output_t* obj )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aout_Release
      Src: /src/vlc/modules/gui/qt/util/varcommon_p.hpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: obj_release
    functionSourceFile: /src/vlc/modules/gui/qt/util/varcommon_p.hpp
    functionUses: 0
    functionsReached:
    - aout_Release
    linkageType: ''
    returnType: void
    signature: void obj_release( audio_output_t* obj )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: VLCObjectHolderImpl
    functionSourceFile: /src/vlc/modules/gui/qt/util/varcommon_p.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VLCObjectHolderImpl(vlc_object_t* obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: get
    functionSourceFile: /src/vlc/modules/gui/qt/util/varcommon_p.hpp
    functionUses: 502
    functionsReached: []
    linkageType: ''
    returnType: vlc_object_t
    signature: vlc_object_t * get() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: reset
    functionSourceFile: /src/vlc/modules/gui/qt/util/varcommon_p.hpp
    functionUses: 141
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset(vlc_object_t* obj, bool) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: clear
    functionSourceFile: /src/vlc/modules/gui/qt/util/varcommon_p.hpp
    functionUses: 142
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: ~SchemeList()
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_scheme_model.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SchemeList()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: modifiers
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:20,1
    - Dst: modifiers
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:21,1
    - Dst: modifiers
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:22,1
    - Dst: modifiers
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:23,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - QInputEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 25
    functionName: qtKeyModifiersToVLC
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp
    functionUses: 0
    functionsReached:
    - modifiers
    linkageType: ''
    returnType: int
    signature: int qtKeyModifiersToVLC( const QInputEvent& e )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 195
    functionName: keycmp
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int keycmp( const void *a, const void *b )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:199,1
    - Dst: bsearch
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:215,1
    - Dst: qtKeyModifiersToVLC
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:222,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - e
    argTypes:
    - QKeyEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 224
    functionName: qtEventToVLCKey
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp
    functionUses: 1
    functionsReached:
    - bsearch
    - qtKeyModifiersToVLC
    - QKeyEvent*::key
    linkageType: ''
    returnType: int
    signature: int qtEventToVLCKey( QKeyEvent *e )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qFabs
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:234,1
    - Dst: qSqrt
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 240
    functionName: WheelToVLCConverter::getWheelOrientation
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp
    functionUses: 0
    functionsReached:
    - qSqrt
    - qFabs
    linkageType: ''
    returnType: Qt::Orientations
    signature: Qt::Orientations WheelToVLCConverter::getWheelOrientation(int x, int
      y)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: QWheelEvent*::modifiers
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:249,1
    - Dst: QWheelEvent*::modifiers
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:252,1
    - Dst: QWheelEvent*::buttons
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:254,1
    - Dst: QWheelEvent*::buttons
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:257,1
    - Dst: QWheelEvent*::angleDelta
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:260,1
    - Dst: QWheelEvent*::inverted
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:261,1
    - Dst: WheelToVLCConverter::getWheelOrientation
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:263,1
    - Dst: QPoint::x
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:263,1
    - Dst: QPoint::y
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:263,1
    - Dst: QPoint::setY
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:265,1
    - Dst: QPoint::y
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:265,1
    - Dst: QPoint::setX
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:267,1
    - Dst: QPoint::x
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:267,1
    - Dst: QPoint::isNull
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:271,1
    - Dst: qtKeyModifiersToVLC
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:274,1
    - Dst: WheelToVLCConverter::getWheelOrientation
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:275,1
    - Dst: QPoint::x
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:275,1
    - Dst: QPoint::y
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:275,1
    - Dst: qAbs
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:276,1
    - Dst: QPoint::y
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:276,1
    - Dst: QPoint::y
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:278,1
    - Dst: QPoint::y
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:283,1
    - Dst: QWheelEvent*::modifiers
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:285,1
    - Dst: qAbs
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:287,1
    - Dst: vlcWheelKey
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:288,1
    - Dst: setX
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:290,1
    - Dst: setY
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:291,1
    - Dst: QPoint::y
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:291,1
    - Dst: qAbs
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:294,1
    - Dst: QPoint::x
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:294,1
    - Dst: QPoint::x
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:296,1
    - Dst: QPoint::x
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:301,1
    - Dst: QWheelEvent*::modifiers
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:303,1
    - Dst: qAbs
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:305,1
    - Dst: vlcWheelKey
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:306,1
    - Dst: setY
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:308,1
    - Dst: setX
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:309,1
    - Dst: QPoint::x
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:309,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 1
    argNames:
    - e
    argTypes:
    - QWheelEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 315
    functionName: WheelToVLCConverter::wheelEvent
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp
    functionUses: 0
    functionsReached:
    - QPoint::x
    - vlcWheelKey
    - QPoint::y
    - WheelToVLCConverter::getWheelOrientation
    - QWheelEvent*::inverted
    - setX
    - QWheelEvent*::angleDelta
    - setY
    - QWheelEvent*::buttons
    - QPoint::isNull
    - qtKeyModifiersToVLC
    - QPoint::setX
    - QPoint::setY
    - qAbs
    - QWheelEvent*::modifiers
    linkageType: ''
    returnType: void
    signature: void WheelToVLCConverter::wheelEvent( const QWheelEvent* e )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:319,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:320,1
    - Dst: QObject*::inherits
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:320,1
    - Dst: QObject*::property
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:322,1
    - Dst: QObject*::property
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:323,1
    - Dst: UString::fromInt
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:324,1
    - Dst: QObject*::property
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:324,1
    - Dst: UString::fromInt
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:325,1
    - Dst: QObject*::property
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:325,1
    - Dst: QObject*::property
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:326,1
    - Dst: WheelToVLCConverter::wheelEvent
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - QObject*
    assertStmts:
    - condition: (e)
      pos:
        line_end: 318
        line_start: 318
        source_file: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp
    - condition: (e->inherits("QQuickWheelEvent"))
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp
    constantsTouched: []
    func_position:
      end: 330
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 330
    functionName: WheelToVLCConverter::qmlWheelEvent
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp
    functionUses: 0
    functionsReached:
    - QObject*::inherits
    - WheelToVLCConverter::wheelEvent
    - assert
    - QObject*::property
    - UString::fromInt
    linkageType: ''
    returnType: void
    signature: void WheelToVLCConverter::qmlWheelEvent( const QObject* e )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WheelToVLCConverter::wheelEvent
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' pixelDelta'
    - ' angleDelta'
    - buttons
    - modifiers
    - inverted
    argTypes:
    - QPoint
    - QPoint
    - Qt::MouseButtons
    - Qt::KeyboardModifiers
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: WheelToVLCConverter::customWheelEvent
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp
    functionUses: 0
    functionsReached:
    - WheelToVLCConverter::wheelEvent
    linkageType: ''
    returnType: void
    signature: "void WheelToVLCConverter::customWheelEvent(const QPoint& pixelDelta,\n
      \                                          const QPoint& angleDelta,\n                                           const
      Qt::MouseButtons buttons,\n                                           const
      Qt::KeyboardModifiers modifiers,\n                                           const
      bool inverted)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_keycode2str
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:344,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:346,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:348,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - val
    - locale
    argTypes:
    - unsigned
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 352
    functionName: VLCKeyToString
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlchotkeyconverter.cpp
    functionUses: 2
    functionsReached:
    - free
    - vlc_keycode2str
    - qfu
    linkageType: ''
    returnType: QString
    signature: QString VLCKeyToString( unsigned val, bool locale )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WorkerThreadSet::finish
      Src: /src/vlc/modules/gui/qt/util/workerthreadset.cpp:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: WorkerThreadSet::~WorkerThreadSet()
    functionSourceFile: /src/vlc/modules/gui/qt/util/workerthreadset.cpp
    functionUses: 0
    functionsReached:
    - WorkerThreadSet::finish
    linkageType: ''
    returnType: void
    signature: void WorkerThreadSet::~WorkerThreadSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WorkerThreadSet::reserve
      Src: /src/vlc/modules/gui/qt/util/workerthreadset.cpp:36,1
    - Dst: QObject*::moveToThread
      Src: /src/vlc/modules/gui/qt/util/workerthreadset.cpp:37,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/util/workerthreadset.cpp:39,1
    - Dst: WorkerThreadSet::unreserve
      Src: /src/vlc/modules/gui/qt/util/workerthreadset.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: WorkerThreadSet::assignToWorkerThread
    functionSourceFile: /src/vlc/modules/gui/qt/util/workerthreadset.cpp
    functionUses: 0
    functionsReached:
    - QObject*::moveToThread
    - Disconnect
    - WorkerThreadSet::reserve
    - WorkerThreadSet::unreserve
    linkageType: ''
    returnType: void
    signature: void WorkerThreadSet::assignToWorkerThread(QObject *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Worker::thread::quit
      Src: /src/vlc/modules/gui/qt/util/workerthreadset.cpp:47,1
    - Dst: Worker::thread::wait
      Src: /src/vlc/modules/gui/qt/util/workerthreadset.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - worker
    argTypes:
    - Worker
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: WorkerThreadSet::finish
    functionSourceFile: /src/vlc/modules/gui/qt/util/workerthreadset.cpp
    functionUses: 1
    functionsReached:
    - Worker::thread::wait
    - Worker::thread::quit
    linkageType: ''
    returnType: void
    signature: void WorkerThreadSet::finish(Worker &worker)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min_element
      Src: /src/vlc/modules/gui/qt/util/workerthreadset.cpp:54,1
    - Dst: std::begin
      Src: /src/vlc/modules/gui/qt/util/workerthreadset.cpp:54,1
    - Dst: std::end
      Src: /src/vlc/modules/gui/qt/util/workerthreadset.cpp:55,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/workerthreadset.cpp:61,1
    - Dst: std::end
      Src: /src/vlc/modules/gui/qt/util/workerthreadset.cpp:61,1
    - Dst: QThread::QThread
      Src: /src/vlc/modules/gui/qt/util/workerthreadset.cpp:65,1
    - Dst: auto::thread::start
      Src: /src/vlc/modules/gui/qt/util/workerthreadset.cpp:66,1
    - Dst: auto::inactiveTime::invalidate
      Src: /src/vlc/modules/gui/qt/util/workerthreadset.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (itr != std::end(workers))
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/vlc/modules/gui/qt/util/workerthreadset.cpp
    constantsTouched: []
    func_position:
      end: 72
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 72
    functionName: WorkerThreadSet::reserve
    functionSourceFile: /src/vlc/modules/gui/qt/util/workerthreadset.cpp
    functionUses: 1
    functionsReached:
    - auto::inactiveTime::invalidate
    - assert
    - auto::thread::start
    - std::end
    - std::min_element
    - std::begin
    - QThread::QThread
    linkageType: ''
    returnType: QThread
    signature: QThread *WorkerThreadSet::reserve()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/vlc/modules/gui/qt/util/workerthreadset.cpp:76,1
    - Dst: std::begin
      Src: /src/vlc/modules/gui/qt/util/workerthreadset.cpp:76,1
    - Dst: std::end
      Src: /src/vlc/modules/gui/qt/util/workerthreadset.cpp:77,1
    - Dst: std::end
      Src: /src/vlc/modules/gui/qt/util/workerthreadset.cpp:80,1
    - Dst: auto::inactiveTime::start
      Src: /src/vlc/modules/gui/qt/util/workerthreadset.cpp:86,1
    - Dst: QTimer::singleShot
      Src: /src/vlc/modules/gui/qt/util/workerthreadset.cpp:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - thread
    argTypes:
    - QThread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 88
    functionName: WorkerThreadSet::unreserve
    functionSourceFile: /src/vlc/modules/gui/qt/util/workerthreadset.cpp
    functionUses: 1
    functionsReached:
    - auto::inactiveTime::start
    - QTimer::singleShot
    - std::find_if
    - std::end
    - std::begin
    linkageType: ''
    returnType: void
    signature: void WorkerThreadSet::unreserve(QThread *thread)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inactiveTime::hasExpired
      Src: /src/vlc/modules/gui/qt/util/workerthreadset.cpp:95,1
    - Dst: WorkerThreadSet::finish
      Src: /src/vlc/modules/gui/qt/util/workerthreadset.cpp:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 103
    functionName: WorkerThreadSet::cleanupInactiveWorker
    functionSourceFile: /src/vlc/modules/gui/qt/util/workerthreadset.cpp
    functionUses: 0
    functionsReached:
    - WorkerThreadSet::finish
    - inactiveTime::hasExpired
    linkageType: ''
    returnType: void
    signature: void WorkerThreadSet::cleanupInactiveWorker()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: Singleton::getInstance
    functionSourceFile: /src/vlc/modules/gui/qt/util/singleton.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T * getInstance( void )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/vlc/modules/gui/qt/util/singleton.hpp:49,1
    - Dst: T2::T2
      Src: /src/vlc/modules/gui/qt/util/singleton.hpp:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: Singleton::getInstance
    functionSourceFile: /src/vlc/modules/gui/qt/util/singleton.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - T2::T2
    linkageType: ''
    returnType: T
    signature: T * getInstance( Args&&... args )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: Singleton::killInstance
    functionSourceFile: /src/vlc/modules/gui/qt/util/singleton.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void killInstance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: Singleton::Singleton
    functionSourceFile: /src/vlc/modules/gui/qt/util/singleton.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Singleton()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: ~Singleton()
    functionSourceFile: /src/vlc/modules/gui/qt/util/singleton.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Singleton()
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 5
    argNames:
    - in
    - out
    - w
    - h
    - r
    argTypes:
    - T*
    - T*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 213
    functionName: horizontal_blur_extend
    functionSourceFile: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void horizontal_blur_extend(const T * in, T * out, const int w, const
      int h, const int r)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 54
    argCount: 5
    argNames:
    - in
    - out
    - w
    - h
    - r
    argTypes:
    - T*
    - T*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 338
    functionName: horizontal_blur_kernel_crop
    functionSourceFile: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void horizontal_blur_kernel_crop(const T * in, T * out, const int w,
      const int h, const int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - begin
    - end
    - index
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 350
    functionName: wrap
    functionSourceFile: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h
    functionUses: 0
    functionsReached:
    - std::abs
    linkageType: ''
    returnType: int
    signature: int wrap(const int begin, const int end, const int index)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - begin
    - end
    - index
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 363
    functionName: mirror
    functionSourceFile: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mirror(const int begin, const int end, const int index)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mirror
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:401,1
    - Dst: mirror
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:409,1
    - Dst: mirror
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:410,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 64
    argCount: 5
    argNames:
    - in
    - out
    - w
    - h
    - r
    argTypes:
    - T*
    - T*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 506
    functionName: horizontal_blur_mirror
    functionSourceFile: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h
    functionUses: 0
    functionsReached:
    - mirror
    linkageType: ''
    returnType: void
    signature: void horizontal_blur_mirror(const T* in, T* out, const int w, const
      int h, const int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtp_raw_unwrap
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:539,1
    - Dst: rtp_raw_unwrap
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:547,1
    - Dst: rtp_raw_unwrap
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:548,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - in
    - out
    - w
    - h
    - r
    argTypes:
    - T*
    - T*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 521
    functionDepth: 2
    functionLinenumber: 521
    functionLinenumberEnd: 553
    functionName: horizontal_blur_wrap
    functionSourceFile: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h
    functionUses: 0
    functionsReached:
    - rtp_raw_unwrap
    linkageType: ''
    returnType: void
    signature: void horizontal_blur_wrap(const T* in, T* out, const int w, const int
      h, const int r)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: horizontal_blur_extend
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:570,1
    - Dst: horizontal_blur_extend
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:571,1
    - Dst: horizontal_blur_extend
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:572,1
    - Dst: horizontal_blur_kernel_crop
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:576,1
    - Dst: horizontal_blur_kernel_crop
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:577,1
    - Dst: horizontal_blur_kernel_crop
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:578,1
    - Dst: horizontal_blur_mirror
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:582,1
    - Dst: horizontal_blur_mirror
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:583,1
    - Dst: horizontal_blur_mirror
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:584,1
    - Dst: horizontal_blur_wrap
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:588,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 5
    argNames:
    - in
    - out
    - w
    - h
    - r
    argTypes:
    - T*
    - T*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 566
    functionDepth: 3
    functionLinenumber: 566
    functionLinenumberEnd: 590
    functionName: horizontal_blur
    functionSourceFile: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h
    functionUses: 0
    functionsReached:
    - horizontal_blur_wrap
    - horizontal_blur_kernel_crop
    - horizontal_blur_mirror
    - horizontal_blur_extend
    linkageType: ''
    returnType: void
    signature: void horizontal_blur(const T * in, T * out, const int w, const int
      h, const int r)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: horizontal_blur
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:607,1
    - Dst: horizontal_blur
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:608,1
    - Dst: horizontal_blur
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:609,1
    - Dst: horizontal_blur
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:610,1
    - Dst: printf
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:611,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 6
    argNames:
    - in
    - out
    - w
    - h
    - c
    - r
    argTypes:
    - T*
    - T*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 614
    functionName: horizontal_blur
    functionSourceFile: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h
    functionUses: 1
    functionsReached:
    - horizontal_blur
    - printf
    linkageType: ''
    returnType: void
    signature: void horizontal_blur(const T * in, T * out, const int w, const int
      h, const int c, const int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:639,1
    - Dst: std::min
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:640,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - in
    - out
    - w
    - h
    argTypes:
    - T*
    - T*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 654
    functionName: flip_block
    functionSourceFile: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h
    functionUses: 0
    functionsReached:
    - std::min
    linkageType: ''
    returnType: void
    signature: void flip_block(const T * in, T * out, const int w, const int h)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: flip_block
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:669,1
    - Dst: flip_block
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:670,1
    - Dst: flip_block
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:671,1
    - Dst: flip_block
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:672,1
    - Dst: printf
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:673,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - in
    - out
    - w
    - h
    - c
    argTypes:
    - T*
    - T*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 676
    functionName: flip_block
    functionSourceFile: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h
    functionUses: 1
    functionsReached:
    - printf
    - flip_block
    linkageType: ''
    returnType: void
    signature: void flip_block(const T * in, T * out, const int w, const int h, const
      int c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::sqrt
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:693,1
    - Dst: std::sqrt
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:704,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - boxes
    - sigma
    - n
    argTypes:
    - int[]
    - float
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 705
    functionName: sigma_to_box_radius
    functionSourceFile: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h
    functionUses: 0
    functionsReached:
    - std::sqrt
    linkageType: ''
    returnType: float
    signature: float sigma_to_box_radius(int boxes[], const float sigma, const int
      n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sigma_to_box_radius
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:739,1
    - Dst: horizontal_blur
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:744,1
    - Dst: std::swap
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:745,1
    - Dst: flip_block
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:749,1
    - Dst: std::swap
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:750,1
    - Dst: horizontal_blur
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:755,1
    - Dst: std::swap
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:756,1
    - Dst: flip_block
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:760,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 6
    argNames:
    - ' in'
    - ' out'
    - w
    - h
    - c
    - sigma
    argTypes:
    - T*
    - T*
    - int
    - int
    - int
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 735
    functionDepth: 4
    functionLinenumber: 735
    functionLinenumberEnd: 761
    functionName: fast_gaussian_blur
    functionSourceFile: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h
    functionUses: 0
    functionsReached:
    - std::swap
    - horizontal_blur
    - flip_block
    - sigma_to_box_radius
    linkageType: ''
    returnType: void
    signature: void fast_gaussian_blur(T *& in, T *& out, const int w, const int h,
      const int c, const float sigma)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sigma_to_box_radius
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:769,1
    - Dst: horizontal_blur
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:772,1
    - Dst: horizontal_blur
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:773,1
    - Dst: horizontal_blur
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:774,1
    - Dst: flip_block
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:777,1
    - Dst: horizontal_blur
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:780,1
    - Dst: horizontal_blur
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:781,1
    - Dst: horizontal_blur
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:782,1
    - Dst: flip_block
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:785,1
    - Dst: std::swap
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 6
    argNames:
    - ' in'
    - ' out'
    - w
    - h
    - c
    - sigma
    argTypes:
    - T*
    - T*
    - int
    - int
    - int
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 765
    functionDepth: 4
    functionLinenumber: 765
    functionLinenumberEnd: 789
    functionName: fast_gaussian_blur
    functionSourceFile: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h
    functionUses: 0
    functionsReached:
    - std::swap
    - horizontal_blur
    - flip_block
    - sigma_to_box_radius
    linkageType: ''
    returnType: void
    signature: void fast_gaussian_blur(T *& in, T *& out, const int w, const int h,
      const int c, const float sigma)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fast_gaussian_blur
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:809,1
    - Dst: fast_gaussian_blur
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:810,1
    - Dst: fast_gaussian_blur
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:811,1
    - Dst: fast_gaussian_blur
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:812,1
    - Dst: fast_gaussian_blur
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:813,1
    - Dst: fast_gaussian_blur
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:814,1
    - Dst: fast_gaussian_blur
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:815,1
    - Dst: fast_gaussian_blur
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:816,1
    - Dst: fast_gaussian_blur
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:817,1
    - Dst: fast_gaussian_blur
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:818,1
    - Dst: printf
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:819,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 7
    argNames:
    - ' in'
    - ' out'
    - w
    - h
    - c
    - sigma
    - n
    argTypes:
    - T*
    - T*
    - int
    - int
    - int
    - float
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 822
    functionName: fast_gaussian_blur
    functionSourceFile: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h
    functionUses: 1
    functionsReached:
    - printf
    - fast_gaussian_blur
    linkageType: ''
    returnType: void
    signature: void fast_gaussian_blur(T *& in, T *& out, const int w, const int h,
      const int c, const float sigma, const unsigned int n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fast_gaussian_blur
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:843,1
    - Dst: fast_gaussian_blur
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:844,1
    - Dst: fast_gaussian_blur
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:845,1
    - Dst: fast_gaussian_blur
      Src: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h:846,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 8
    argNames:
    - ' in'
    - ' out'
    - w
    - h
    - c
    - sigma
    - n
    - p
    argTypes:
    - T*
    - T*
    - int
    - int
    - int
    - float
    - unsigned int
    - Border
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 839
    functionDepth: 1
    functionLinenumber: 839
    functionLinenumberEnd: 848
    functionName: fast_gaussian_blur
    functionSourceFile: /src/vlc/modules/gui/qt/util/fast_gaussian_blur_template.h
    functionUses: 2
    functionsReached:
    - fast_gaussian_blur
    linkageType: ''
    returnType: void
    signature: void fast_gaussian_blur(T *& in, T *& out, const int w, const int h,
      const int c, const float sigma, const unsigned int n, const Border p)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:51,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:53,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:54,1
    - Dst: class QSettings*::sync
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:55,1
    - Dst: class QSettings*::contains
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:56,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:58,1
    - Dst: class QSettings*::value
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:58,1
    - Dst: class QSettings*::value
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:59,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:60,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:62,1
    - Dst: std::make_unique<QLockFile>
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:64,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:64,1
    - Dst: setStaleLockTime
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:65,1
    - Dst: tryLock
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:66,1
    - Dst: std::exception
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:67,1
    - Dst: QFileInfo::size
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:70,1
    - Dst: DialogsProvider::getInstance
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:72,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:72,1
    - Dst: toLower
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:72,1
    - Dst: QFileInfo::lastModified
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:73,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:74,1
    - Dst: T*::append
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:79,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:86,1
    - Dst: QTemporaryFile::setAutoRemove
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:89,1
    - Dst: QTemporaryFile::open
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:90,1
    - Dst: std::exception
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:91,1
    - Dst: QTemporaryFile::fileName
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:92,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:94,1
    - Dst: std::make_unique<QLockFile>
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:95,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:95,1
    - Dst: setStaleLockTime
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:96,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:97,1
    - Dst: isLocked
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:97,1
    - Dst: tryLock
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:98,1
    - Dst: std::exception
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:99,1
    - Dst: class QSettings*::setValue
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:101,1
    - Dst: class QSettings*::sync
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:102,1
    - Dst: setInterval
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:105,1
    - Dst: setSingleShot
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:106,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:108,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:115,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:115,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:117,1
    - Dst: toLatin1
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:117,1
    - Dst: toLatin1
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:118,1
    - Dst: T*::isEmpty
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:120,1
    - Dst: remove
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:122,1
    - Dst: QByteArray::constData
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:122,1
    - Dst: T*::serialize
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:126,1
    - Dst: QByteArray::constData
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:126,1
    - Dst: remove
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:129,1
    - Dst: QByteArray::constData
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:129,1
    - Dst: rename
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:130,1
    - Dst: QByteArray::constData
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:130,1
    - Dst: QByteArray::constData
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:130,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:132,1
    - Dst: sync
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:133,1
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:134,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:136,1
    - Dst: sync
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:137,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:139,1
    - Dst: ChromecastCommunication::disconnect
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:141,1
    - Dst: stop
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:142,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:147,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:147,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:148,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:148,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:149,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:149,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:150,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:150,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:151,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:151,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 69
    argCount: 3
    argNames:
    - settings
    - ' modelIdentifier'
    - model
    argTypes:
    - class QSettings*
    - QString
    - T*
    assertStmts:
    - condition: (model)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp
    - condition: (!m_lockFile->isLocked())
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp
    - condition: (settings)
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp
    - condition: (settings->value(m_key).typeId() == QMetaType::QString)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp
    - condition: (!m_lockFile)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp
    - condition: (!m_recoveryFileName.isEmpty())
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp
    - condition: (m_settings)
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp
    constantsTouched: []
    func_position:
      end: 152
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 152
    functionName: ModelRecoveryAgent::ModelRecoveryAgent
    functionSourceFile: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp
    functionUses: 0
    functionsReached:
    - assert
    - ChromecastCommunication::disconnect
    - class QSettings*::value
    - tryLock
    - class QSettings*::setValue
    - std::move
    - QTemporaryFile::setAutoRemove
    - class QSettings*::contains
    - std::exception
    - Disconnect
    - rename
    - setValue
    - toLatin1
    - QString::isEmpty
    - setSingleShot
    - isEmpty
    - QByteArray::constData
    - class QSettings*::sync
    - contains
    - go_eof
    - qtr
    - DialogsProvider::getInstance
    - QFileInfo::lastModified
    - isLocked
    - stop
    - QTemporaryFile::fileName
    - QFileInfo::size
    - value
    - setStaleLockTime
    - QStringLiteral
    - T*::append
    - T*::isEmpty
    - remove
    - setInterval
    - toLower
    - T*::serialize
    - sync
    - QTemporaryFile::open
    - std::make_unique<QLockFile>
    linkageType: ''
    returnType: void
    signature: void ModelRecoveryAgent(class QSettings *settings, const QString& modelIdentifier,
      T* model)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:156,1
    - Dst: ks_remove
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:158,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:161,1
    - Dst: sync
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:163,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:165,1
    - Dst: remove
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:167,1
    - Dst: sync
      Src: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_settings)
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp
    constantsTouched: []
    func_position:
      end: 170
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 170
    functionName: ~ModelRecoveryAgent()
    functionSourceFile: /src/vlc/modules/gui/qt/util/model_recovery_agent.hpp
    functionUses: 0
    functionsReached:
    - ks_remove
    - assert
    - remove
    - isEmpty
    - sync
    - value
    linkageType: ''
    returnType: void
    signature: void ~ModelRecoveryAgent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: DismissPopupEventFilter::DismissPopupEventFilter
    functionSourceFile: /src/vlc/modules/gui/qt/util/dismiss_popup_event_filter.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DismissPopupEventFilter::DismissPopupEventFilter(QObject *parent)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/vlc/modules/gui/qt/util/dismiss_popup_event_filter.cpp:30,1
    - Dst: QApplication::activePopupWidget
      Src: /src/vlc/modules/gui/qt/util/dismiss_popup_event_filter.cpp:36,1
    - Dst: qobject_cast<QWindow *>
      Src: /src/vlc/modules/gui/qt/util/dismiss_popup_event_filter.cpp:41,1
    - Dst: QWidget*::windowHandle
      Src: /src/vlc/modules/gui/qt/util/dismiss_popup_event_filter.cpp:42,1
    - Dst: qobject_cast<QWidget *>
      Src: /src/vlc/modules/gui/qt/util/dismiss_popup_event_filter.cpp:47,1
    - Dst: QWidget*::close
      Src: /src/vlc/modules/gui/qt/util/dismiss_popup_event_filter.cpp:53,1
    - Dst: QEvent*::type
      Src: /src/vlc/modules/gui/qt/util/dismiss_popup_event_filter.cpp:57,1
    - Dst: static_cast<QMouseEvent *>
      Src: /src/vlc/modules/gui/qt/util/dismiss_popup_event_filter.cpp:60,1
    - Dst: QMouseEvent*::buttons
      Src: /src/vlc/modules/gui/qt/util/dismiss_popup_event_filter.cpp:61,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - watched
    - event
    argTypes:
    - QObject*
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 69
    functionName: DismissPopupEventFilter::eventFilter
    functionSourceFile: /src/vlc/modules/gui/qt/util/dismiss_popup_event_filter.cpp
    functionUses: 0
    functionsReached:
    - qobject_cast<QWindow *>
    - QApplication::activePopupWidget
    - QWidget*::close
    - qobject_cast<QWidget *>
    - QEvent*::type
    - static_cast<QMouseEvent *>
    - QMouseEvent*::buttons
    - QWidget*::windowHandle
    linkageType: ''
    returnType: bool
    signature: bool DismissPopupEventFilter::eventFilter(QObject *watched, QEvent
      *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ~QVLCRegistry(void)
    functionSourceFile: /src/vlc/modules/gui/qt/util/registry.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~QVLCRegistry(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - textureProvider
    argTypes:
    - QSGTextureProvider*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: TextureProviderCleaner::TextureProviderCleaner
    functionSourceFile: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TextureProviderCleaner(QSGTextureProvider *textureProvider)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: TextureProviderCleaner::run
    functionSourceFile: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QQuickItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: TextureProviderIndirection::TextureProviderIndirection
    functionSourceFile: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TextureProviderIndirection::TextureProviderIndirection(QQuickItem
      *parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:55,1
    - Dst: window
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:55,1
    - Dst: window
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:56,1
    - Dst: TextureProviderCleaner::TextureProviderCleaner
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (window())
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp
    constantsTouched: []
    func_position:
      end: 60
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 60
    functionName: TextureProviderIndirection::~TextureProviderIndirection()
    functionSourceFile: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp
    functionUses: 0
    functionsReached:
    - TextureProviderCleaner::TextureProviderCleaner
    - assert
    - window
    linkageType: ''
    returnType: void
    signature: void TextureProviderIndirection::~TextureProviderIndirection()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: TextureProviderIndirection::isTextureProvider
    functionSourceFile: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TextureProviderIndirection::isTextureProvider() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QSGTextureViewProvider::QSGTextureViewProvider
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:73,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:78,1
    - Dst: TextureProviderIndirection::isTextureProvider
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:78,1
    - Dst: setTextureProvider
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:84,1
    - Dst: TextureProviderIndirection::textureProvider
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:84,1
    - Dst: setTextureProvider
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:88,1
    - Dst: QPointer
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:92,1
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:93,1
    - Dst: setFiltering
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:96,1
    - Dst: setMipmapFiltering
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:97,1
    - Dst: setAnisotropyLevel
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:98,1
    - Dst: setHorizontalWrapMode
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:99,1
    - Dst: setVerticalWrapMode
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:100,1
    - Dst: requestDetachFromAtlas
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:103,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:107,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:108,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:110,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:111,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:112,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:113,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:114,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:116,1
    - Dst: requestDetachFromAtlas
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:118,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:122,1
    - Dst: adjustSource
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:125,1
    - Dst: isValid
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:126,1
    - Dst: setRect
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:127,1
    - Dst: synchronizeState
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:128,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: "(source->isTextureProvider() &&\n                       \"TextureProviderIndirection:
        \" \\\n                       \"TextureProviderIndirection's source item is
        not a texture provider. \" \\\n                       \"Layering can be enabled
        for the source item in order to make \" \\\n                       \"it a
        texture provider.\")"
      pos:
        line_end: 81
        line_start: 77
        source_file: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp
    constantsTouched: []
    func_position:
      end: 131
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 131
    functionName: TextureProviderIndirection::textureProvider
    functionSourceFile: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp
    functionUses: 1
    functionsReached:
    - synchronizeState
    - QSGTextureViewProvider::QSGTextureViewProvider
    - assert
    - Q_UNLIKELY
    - adjustSource
    - setTextureProvider
    - TextureProviderIndirection::isTextureProvider
    - setRect
    - QPointer
    - setVerticalWrapMode
    - setMipmapFiltering
    - requestDetachFromAtlas
    - connect
    - setHorizontalWrapMode
    - isValid
    - setAnisotropyLevel
    - TextureProviderIndirection::textureProvider
    - setFiltering
    linkageType: ''
    returnType: QSGTextureProvider
    signature: QSGTextureProvider *TextureProviderIndirection::textureProvider() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: TextureProviderIndirection::resetTextureSubRect
    functionSourceFile: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TextureProviderIndirection::resetTextureSubRect()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 150
    functionName: TextureProviderIndirection::invalidateSceneGraph
    functionSourceFile: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TextureProviderIndirection::invalidateSceneGraph()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:159,1
    - Dst: window
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:159,1
    - Dst: window
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:163,1
    - Dst: TextureProviderCleaner::TextureProviderCleaner
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:163,1
    - Dst: TextureProviderIndirection::releaseResources
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (window())
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp
    constantsTouched: []
    func_position:
      end: 169
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 169
    functionName: TextureProviderIndirection::releaseResources
    functionSourceFile: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp
    functionUses: 1
    functionsReached:
    - TextureProviderCleaner::TextureProviderCleaner
    - assert
    - TextureProviderIndirection::releaseResources
    - window
    linkageType: ''
    returnType: void
    signature: void TextureProviderIndirection::releaseResources()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setTexture
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:174,1
    - Dst: QSGTextureViewProvider::texture
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:174,1
    - Dst: setTexture
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 179
    functionName: QSGTextureViewProvider::adjustTexture
    functionSourceFile: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp
    functionUses: 0
    functionsReached:
    - QSGTextureViewProvider::texture
    - setTexture
    linkageType: ''
    returnType: void
    signature: void QSGTextureViewProvider::adjustTexture()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: QSGTextureViewProvider::QSGTextureViewProvider
    functionSourceFile: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp
    functionUses: 1
    functionsReached:
    - connect
    linkageType: ''
    returnType: void
    signature: void QSGTextureViewProvider::QSGTextureViewProvider()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QSGTextureViewProvider::texture
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: QSGTextureViewProvider::texture
    functionSourceFile: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp
    functionUses: 2
    functionsReached:
    - QSGTextureViewProvider::texture
    linkageType: ''
    returnType: QSGTexture
    signature: QSGTexture *QSGTextureViewProvider::texture() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:201,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:207,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:208,1
    - Dst: QSGTextureViewProvider::setTextureProvider
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:208,1
    - Dst: QSGTextureViewProvider::adjustTexture
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - textureProvider
    argTypes:
    - QSGTextureProvider*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 212
    functionName: QSGTextureViewProvider::setTextureProvider
    functionSourceFile: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp
    functionUses: 1
    functionsReached:
    - connect
    - disconnect
    - QSGTextureViewProvider::setTextureProvider
    - QSGTextureViewProvider::adjustTexture
    linkageType: ''
    returnType: void
    signature: void QSGTextureViewProvider::setTextureProvider(const QSGTextureProvider
      *textureProvider)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QSGTextureViewProvider::setRect
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rect
    argTypes:
    - QRect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: QSGTextureViewProvider::setRect
    functionSourceFile: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp
    functionUses: 1
    functionsReached:
    - QSGTextureViewProvider::setRect
    linkageType: ''
    returnType: void
    signature: void QSGTextureViewProvider::setRect(const QRect &rect)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mipmapFiltering
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:222,1
    - Dst: QSGTextureViewProvider::texture
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:227,1
    - Dst: auto::hasMipmaps
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:231,1
    - Dst: QSGTextureViewProvider::setMipmapFiltering
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:238,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - filter
    argTypes:
    - QSGTexture::Filtering
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 240
    functionName: QSGTextureViewProvider::setMipmapFiltering
    functionSourceFile: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp
    functionUses: 1
    functionsReached:
    - QSGTextureViewProvider::texture
    - mipmapFiltering
    - auto::hasMipmaps
    - QSGTextureViewProvider::setMipmapFiltering
    linkageType: ''
    returnType: void
    signature: void QSGTextureViewProvider::setMipmapFiltering(QSGTexture::Filtering
      filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: filtering
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:244,1
    - Dst: QSGTextureViewProvider::setFiltering
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - QSGTexture::Filtering
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 249
    functionName: QSGTextureViewProvider::setFiltering
    functionSourceFile: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp
    functionUses: 1
    functionsReached:
    - QSGTextureViewProvider::setFiltering
    - filtering
    linkageType: ''
    returnType: void
    signature: void QSGTextureViewProvider::setFiltering(QSGTexture::Filtering filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: anisotropyLevel
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:253,1
    - Dst: QSGTextureViewProvider::setAnisotropyLevel
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - level
    argTypes:
    - QSGTexture::AnisotropyLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 258
    functionName: QSGTextureViewProvider::setAnisotropyLevel
    functionSourceFile: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp
    functionUses: 1
    functionsReached:
    - QSGTextureViewProvider::setAnisotropyLevel
    - anisotropyLevel
    linkageType: ''
    returnType: void
    signature: void QSGTextureViewProvider::setAnisotropyLevel(QSGTexture::AnisotropyLevel
      level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: horizontalWrapMode
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:262,1
    - Dst: QSGTextureViewProvider::setHorizontalWrapMode
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - hwrap
    argTypes:
    - QSGTexture::WrapMode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 267
    functionName: QSGTextureViewProvider::setHorizontalWrapMode
    functionSourceFile: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp
    functionUses: 1
    functionsReached:
    - QSGTextureViewProvider::setHorizontalWrapMode
    - horizontalWrapMode
    linkageType: ''
    returnType: void
    signature: void QSGTextureViewProvider::setHorizontalWrapMode(QSGTexture::WrapMode
      hwrap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: verticalWrapMode
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:271,1
    - Dst: QSGTextureViewProvider::setVerticalWrapMode
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - vwrap
    argTypes:
    - QSGTexture::WrapMode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 276
    functionName: QSGTextureViewProvider::setVerticalWrapMode
    functionSourceFile: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp
    functionUses: 1
    functionsReached:
    - verticalWrapMode
    - QSGTextureViewProvider::setVerticalWrapMode
    linkageType: ''
    returnType: void
    signature: void QSGTextureViewProvider::setVerticalWrapMode(QSGTexture::WrapMode
      vwrap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QSGTextureViewProvider::requestDetachFromAtlas
      Src: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: QSGTextureViewProvider::requestDetachFromAtlas
    functionSourceFile: /src/vlc/modules/gui/qt/util/textureproviderindirection.cpp
    functionUses: 1
    functionsReached:
    - QSGTextureViewProvider::requestDetachFromAtlas
    linkageType: ''
    returnType: void
    signature: void QSGTextureViewProvider::requestDetachFromAtlas()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:52,1
    - Dst: reinterpret_cast<qt_csd_menu_open>
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:53,1
    - Dst: va_arg
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:54,1
    - Dst: va_arg
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:55,1
    - Dst: open
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - func
    - forced
    - ap
    argTypes:
    - void*
    - bool
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: csdMenuInfoOpen
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdmenu.cpp
    functionUses: 0
    functionsReached:
    - va_arg
    - open
    - reinterpret_cast<qt_csd_menu_open>
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int csdMenuInfoOpen(void *func, bool forced, va_list ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QWindow*::flags
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:61,1
    - Dst: QWindow*::minimumSize
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:64,1
    - Dst: QWindow*::maximumSize
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:65,1
    - Dst: auto::isValid
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:67,1
    - Dst: auto::isValid
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - window
    argTypes:
    - QWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: isWindowFixedSize
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdmenu.cpp
    functionUses: 0
    functionsReached:
    - QWindow*::flags
    - QWindow*::minimumSize
    - auto::isValid
    - QWindow*::maximumSize
    linkageType: ''
    returnType: bool
    signature: bool isWindowFixedSize(const QWindow *window)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:52,1
    - Dst: reinterpret_cast<qt_csd_menu_open>
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:53,1
    - Dst: va_arg
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:54,1
    - Dst: va_arg
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:55,1
    - Dst: open
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - func
    - forced
    - ap
    argTypes:
    - void*
    - bool
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: csdMenuInfoOpen
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdmenu.cpp
    functionUses: 0
    functionsReached:
    - va_arg
    - open
    - reinterpret_cast<qt_csd_menu_open>
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int csdMenuInfoOpen(void *func, bool forced, va_list ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QWindow*::flags
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:61,1
    - Dst: QWindow*::minimumSize
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:64,1
    - Dst: QWindow*::maximumSize
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:65,1
    - Dst: auto::isValid
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:67,1
    - Dst: auto::isValid
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - window
    argTypes:
    - QWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: isWindowFixedSize
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdmenu.cpp
    functionUses: 0
    functionsReached:
    - QWindow*::flags
    - QWindow*::minimumSize
    - auto::isValid
    - QWindow*::maximumSize
    linkageType: ''
    returnType: bool
    signature: bool isWindowFixedSize(const QWindow *window)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: platformName
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:80,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:81,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:81,1
    - Dst: startsWith
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:83,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:83,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - parent
    argTypes:
    - CSDMenu*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: CSDMenuPrivate::CSDMenuPrivate
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdmenu.cpp
    functionUses: 0
    functionsReached:
    - startsWith
    - QLatin1String
    - platformName
    linkageType: ''
    returnType: void
    signature: void CSDMenuPrivate(CSDMenu* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CSDMenuPrivate*>
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - visible
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: CSDMenuPrivate::notifyMenuVisible
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdmenu.cpp
    functionUses: 0
    functionsReached:
    - static_cast<CSDMenuPrivate*>
    linkageType: ''
    returnType: void
    signature: void notifyMenuVisible(void* data, bool visible)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:98,1
    - Dst: VLCMenu::VLCMenu
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:98,1
    - Dst: auto::setAttribute
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:99,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:101,1
    - Dst: CSDMenuPrivate::notifyMenuVisible
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:102,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:105,1
    - Dst: CSDMenuPrivate::notifyMenuVisible
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:106,1
    - Dst: interfaceVisibility
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:109,1
    - Dst: auto::addAction
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:111,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:111,1
    - Dst: QAction*::setEnabled
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:112,1
    - Dst: QAction*::connect
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:113,1
    - Dst: requestInterfaceNormal
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:114,1
    - Dst: auto::addAction
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:116,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:116,1
    - Dst: QAction*::connect
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:117,1
    - Dst: requestInterfaceMinimized
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:118,1
    - Dst: auto::addAction
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:120,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:120,1
    - Dst: QAction*::setEnabled
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:121,1
    - Dst: QAction*::connect
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:122,1
    - Dst: requestInterfaceMaximized
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:123,1
    - Dst: auto::addAction
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:125,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:125,1
    - Dst: QAction*::setCheckable
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:126,1
    - Dst: QAction*::setChecked
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:127,1
    - Dst: isInterfaceAlwaysOnTop
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:127,1
    - Dst: QAction*::connect
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:128,1
    - Dst: setInterfaceAlwaysOnTop
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:129,1
    - Dst: auto::addAction
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:131,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:131,1
    - Dst: QAction*::connect
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:132,1
    - Dst: intfMainWindow
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:133,1
    - Dst: auto::popup
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 1
    argNames:
    - pos
    argTypes:
    - QPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 142
    functionName: CSDMenuPrivate::fallbackMenu
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdmenu.cpp
    functionUses: 0
    functionsReached:
    - isInterfaceAlwaysOnTop
    - requestInterfaceMinimized
    - requestInterfaceMaximized
    - getIntf
    - Disconnect
    - VLCMenu::VLCMenu
    - setInterfaceAlwaysOnTop
    - auto::popup
    - QAction*::setEnabled
    - requestInterfaceNormal
    - qtr
    - QAction*::connect
    - auto::setAttribute
    - QAction*::setChecked
    - QAction*::setCheckable
    - CSDMenuPrivate::notifyMenuVisible
    - intfMainWindow
    - interfaceVisibility
    - auto::addAction
    linkageType: ''
    returnType: void
    signature: void fallbackMenu(QPoint pos)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: intfMainWindow
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:146,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:147,1
    - Dst: platformNativeInterface
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:160,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:162,1
    - Dst: QPlatformNativeInterface*::nativeResourceForIntegration
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:162,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:162,1
    - Dst: reinterpret_cast<struct xcb_connection_t*>
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:163,1
    - Dst: QPlatformNativeInterface*::nativeResourceForIntegration
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:163,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:163,1
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:166,1
    - Dst: QT_CONFIG
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:166,1
    - Dst: nativeInterface
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:171,1
    - Dst: QWindow*::nativeInterface
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:172,1
    - Dst: auto::display
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:174,1
    - Dst: auto::surfaceRole
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:175,1
    - Dst: QGuiApplication::isRightToLeft
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:180,1
    - Dst: vlc_object_create
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:186,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:186,1
    - Dst: vlc_module_load
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:189,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:189,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:192,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (window)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/vlc/modules/gui/qt/util/csdmenu.cpp
    constantsTouched: []
    func_position:
      end: 197
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 197
    functionName: CSDMenuPrivate::loadModule
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdmenu.cpp
    functionUses: 0
    functionsReached:
    - assert
    - nativeInterface
    - platformNativeInterface
    - QGuiApplication::isRightToLeft
    - QT_VERSION_CHECK
    - getIntf
    - QByteArrayLiteral
    - QWindow*::nativeInterface
    - auto::display
    - reinterpret_cast<struct xcb_connection_t*>
    - reinterpret_cast<intptr_t>
    - vlc_object_create
    - vlc_module_load
    - auto::surfaceRole
    - QT_CONFIG
    - vlc_object_delete
    - vlc_object_logger
    - QPlatformNativeInterface*::nativeResourceForIntegration
    - intfMainWindow
    linkageType: ''
    returnType: void
    signature: void loadModule()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: module_unneed
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:203,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 212
    functionName: CSDMenuPrivate::unloadModule
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdmenu.cpp
    functionUses: 0
    functionsReached:
    - module_unneed
    - vlc_object_delete
    linkageType: ''
    returnType: void
    signature: void unloadModule()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CSDMenuPrivate::CSDMenuPrivate
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: CSDMenu::CSDMenu
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdmenu.cpp
    functionUses: 0
    functionsReached:
    - CSDMenuPrivate::CSDMenuPrivate
    linkageType: ''
    returnType: void
    signature: void CSDMenu::CSDMenu(QObject* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:238,1
    - Dst: unloadModule
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: CSDMenu::~CSDMenu()
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdmenu.cpp
    functionUses: 0
    functionsReached:
    - unloadModule
    - Q_D
    linkageType: ''
    returnType: void
    signature: void CSDMenu::~CSDMenu()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: CSDMenu::getCtx
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdmenu.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MainCtx
    signature: MainCtx * CSDMenu::getCtx() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - MainCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: CSDMenu::setCtx
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdmenu.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    linkageType: ''
    returnType: void
    signature: void CSDMenu::setCtx(MainCtx* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: CSDMenu::getMenuVisible
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdmenu.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CSDMenu::getMenuVisible() const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:266,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:268,1
    - Dst: m_ctx::intfMainWindow
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:270,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:271,1
    - Dst: loadModule
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:274,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:277,1
    - Dst: QWindow*::devicePixelRatio
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:279,1
    - Dst: QWindow*::handle
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:282,1
    - Dst: QPlatformWindow*::devicePixelRatio
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:283,1
    - Dst: QPoint::x
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:288,1
    - Dst: QPoint::y
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:289,1
    - Dst: QWindow*::windowStates
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:291,1
    - Dst: auto::testFlag
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:292,1
    - Dst: auto::testFlag
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:293,1
    - Dst: auto::testFlag
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:294,1
    - Dst: isWindowFixedSize
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:295,1
    - Dst: static_cast<qt_csd_menu_window_state>
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:297,1
    - Dst: reinterpret_cast<void*>
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:303,1
    - Dst: QWindow*::winId
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:303,1
    - Dst: QWindow*::winId
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:311,1
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:314,1
    - Dst: QT_CONFIG
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:314,1
    - Dst: nativeInterface
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:318,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:319,1
    - Dst: auto::lastInputSeat
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:320,1
    - Dst: auto::lastInputSerial
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:321,1
    - Dst: m_systemMenu::popup
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:327,1
    - Dst: fallbackMenu
      Src: /src/vlc/modules/gui/qt/util/csdmenu.cpp:332,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - pos
    argTypes:
    - QPoint
    assertStmts:
    - condition: (d->m_ctx)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/vlc/modules/gui/qt/util/csdmenu.cpp
    - condition: (d->m_systemMenu)
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/vlc/modules/gui/qt/util/csdmenu.cpp
    - condition: (window)
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/vlc/modules/gui/qt/util/csdmenu.cpp
    - condition: (appNative)
      pos:
        line_end: 318
        line_start: 318
        source_file: /src/vlc/modules/gui/qt/util/csdmenu.cpp
    constantsTouched: []
    func_position:
      end: 333
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 333
    functionName: CSDMenu::popup
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdmenu.cpp
    functionUses: 0
    functionsReached:
    - QPoint::x
    - assert
    - nativeInterface
    - m_ctx::intfMainWindow
    - QWindow*::devicePixelRatio
    - QT_VERSION_CHECK
    - fallbackMenu
    - auto::lastInputSeat
    - auto::lastInputSerial
    - QWindow*::winId
    - reinterpret_cast<void*>
    - Q_D
    - QPoint::y
    - QPlatformWindow*::devicePixelRatio
    - QWindow*::handle
    - loadModule
    - static_cast<qt_csd_menu_window_state>
    - QT_CONFIG
    - auto::testFlag
    - m_systemMenu::popup
    - isWindowFixedSize
    - QWindow*::windowStates
    linkageType: ''
    returnType: void
    signature: void CSDMenu::popup(const QPoint &pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.hpp:46,1
    - Dst: QQmlEngine*::addImageProvider
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.hpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - engine
    argTypes:
    - QQmlEngine*
    assertStmts:
    - condition: (engine)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/vlc/modules/gui/qt/util/effects_image_provider.hpp
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: EffectsImageProvider::EffectsImageProvider
    functionSourceFile: /src/vlc/modules/gui/qt/util/effects_image_provider.hpp
    functionUses: 0
    functionsReached:
    - QQmlEngine*::addImageProvider
    - assert
    linkageType: ''
    returnType: void
    signature: void EffectsImageProvider(QQmlEngine *engine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<VLCVarChoiceModel*>
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:23,1
    - Dst: VLCVarChoiceModel*::updateData
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - object
    - oldvalue
    - newvalue
    - data
    argTypes:
    - vlc_object_t*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: VLCVarChoiceModel::on_variable_callback
    functionSourceFile: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp
    functionUses: 0
    functionsReached:
    - static_cast<VLCVarChoiceModel*>
    - VLCVarChoiceModel*::updateData
    linkageType: ''
    returnType: int
    signature: int VLCVarChoiceModel::on_variable_callback( vlc_object_t * object,
      char const * , vlc_value_t oldvalue, vlc_value_t newvalue, void * data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<VLCVarChoiceModel*>
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:29,1
    - Dst: VLCVarChoiceModel*::updateList
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - object
    - action
    - value
    - data
    argTypes:
    - vlc_object_t*
    - int
    - vlc_value_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: VLCVarChoiceModel::on_variable_list_callback
    functionSourceFile: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp
    functionUses: 0
    functionsReached:
    - static_cast<VLCVarChoiceModel*>
    - VLCVarChoiceModel*::updateList
    linkageType: ''
    returnType: int
    signature: int VLCVarChoiceModel::on_variable_list_callback( vlc_object_t * object,
      char const * , int action, vlc_value_t* value, void * data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:35,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:37,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:37,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:37,1
    - Dst: var_DelListCallback
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:38,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:38,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:38,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:39,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:39,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: VLCVarChoiceModel::~VLCVarChoiceModel()
    functionSourceFile: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp
    functionUses: 0
    functionsReached:
    - var_Destroy
    - get
    - var_DelCallback
    - qtu
    - var_DelListCallback
    linkageType: ''
    returnType: void
    signature: void VLCVarChoiceModel::~VLCVarChoiceModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: VLCVarChoiceModel::flags
    functionSourceFile: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Qt::ItemFlags
    signature: Qt::ItemFlags VLCVarChoiceModel::flags(const QModelIndex &) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLCVarChoiceModel::QAbstractListModel::roleNames
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:50,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: VLCVarChoiceModel::roleNames
    functionSourceFile: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp
    functionUses: 0
    functionsReached:
    - VLCVarChoiceModel::QAbstractListModel::roleNames
    - QByteArrayLiteral
    linkageType: ''
    returnType: QHash<int, QByteArray>
    signature: QHash<int, QByteArray> VLCVarChoiceModel::roleNames() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:57,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: VLCVarChoiceModel::rowCount
    functionSourceFile: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp
    functionUses: 0
    functionsReached:
    - get
    - count
    linkageType: ''
    returnType: int
    signature: int VLCVarChoiceModel::rowCount(const QModelIndex &) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:64,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:67,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - index
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: VLCVarChoiceModel::data
    functionSourceFile: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp
    functionUses: 0
    functionsReached:
    - get
    - QModelIndex::row
    - count
    linkageType: ''
    returnType: QVariant
    signature: QVariant VLCVarChoiceModel::data(const QModelIndex &index, int role)
      const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:80,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:83,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:84,1
    - Dst: QVariant::toBool
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:87,1
    - Dst: var_SetString
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:93,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:93,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:93,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:93,1
    - Dst: toString
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:93,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:96,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:96,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:96,1
    - Dst: toInt
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:96,1
    - Dst: var_SetFloat
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:99,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:99,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:99,1
    - Dst: toFloat
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:99,1
    - Dst: var_SetBool
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:102,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:102,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:102,1
    - Dst: toBool
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:102,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 3
    argNames:
    - index
    - value
    - role
    argTypes:
    - QModelIndex
    - QVariant
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 110
    functionName: VLCVarChoiceModel::setData
    functionSourceFile: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp
    functionUses: 0
    functionsReached:
    - var_SetFloat
    - get
    - QModelIndex::row
    - count
    - var_SetInteger
    - qtu
    - var_SetBool
    - QVariant::toBool
    - toString
    - toInt
    - toBool
    - var_SetString
    - toFloat
    linkageType: ''
    returnType: bool
    signature: bool VLCVarChoiceModel::setData(const QModelIndex &index, const QVariant
      &value, int role)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLCVarChoiceModel::vlcValToVariant
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:117,1
    - Dst: VLCVarChoiceModel::vlcValToVariant
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ' oldvalue'
    - ' newvalue'
    argTypes:
    - vlc_object_t*
    - vlc_value_t
    - vlc_value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: VLCVarChoiceModel::updateData
    functionSourceFile: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp
    functionUses: 0
    functionsReached:
    - VLCVarChoiceModel::vlcValToVariant
    linkageType: ''
    returnType: int
    signature: int VLCVarChoiceModel::updateData(const vlc_object_t* object, const
      vlc_value_t& oldvalue, const vlc_value_t& newvalue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLCVarChoiceModel::vlcValToVariant
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:128,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - action
    - p_value
    argTypes:
    - vlc_object_t*
    - int
    - vlc_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: VLCVarChoiceModel::updateList
    functionSourceFile: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp
    functionUses: 0
    functionsReached:
    - QVariant
    - VLCVarChoiceModel::vlcValToVariant
    linkageType: ''
    returnType: int
    signature: int VLCVarChoiceModel::updateList(const vlc_object_t* object, int action,
      const vlc_value_t* p_value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:136,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:141,1
    - Dst: hasCurrentChanged
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:149,1
    - Dst: dataChanged
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:151,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:151,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:151,1
    - Dst: dataChanged
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:153,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:153,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:153,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - object
    - newvalue
    argTypes:
    - vlc_object_t*
    - QVariant
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 154
    functionName: VLCVarChoiceModel::onDataUpdated
    functionSourceFile: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp
    functionUses: 0
    functionsReached:
    - get
    - hasCurrentChanged
    - count
    - index
    - dataChanged
    linkageType: ''
    returnType: void
    signature: void VLCVarChoiceModel::onDataUpdated(const vlc_object_t* object, QVariant
      , QVariant newvalue)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:159,1
    - Dst: beginInsertRows
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:164,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:164,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:164,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:165,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:167,1
    - Dst: QVariant::toString
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:167,1
    - Dst: endInsertRows
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:168,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:173,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:176,1
    - Dst: beginRemoveRows
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:178,1
    - Dst: removeAt
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:179,1
    - Dst: removeAt
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:180,1
    - Dst: endRemoveRows
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:181,1
    - Dst: beginResetModel
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:186,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:187,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:188,1
    - Dst: endResetModel
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:189,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - object
    - action
    - newvalue
    argTypes:
    - vlc_object_t*
    - int
    - QVariant
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 195
    functionName: VLCVarChoiceModel::onListUpdated
    functionSourceFile: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp
    functionUses: 0
    functionsReached:
    - append
    - endInsertRows
    - endRemoveRows
    - get
    - count
    - QVariant::toString
    - clear
    - beginInsertRows
    - beginResetModel
    - removeAt
    - endResetModel
    - beginRemoveRows
    linkageType: ''
    returnType: void
    signature: void VLCVarChoiceModel::onListUpdated(const vlc_object_t* object, int
      action, QVariant newvalue)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:201,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:203,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - vlc_value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 209
    functionName: VLCVarChoiceModel::vlcValToString
    functionSourceFile: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp
    functionUses: 0
    functionsReached:
    - qfu
    - vlclua_io_file_read_number
    linkageType: ''
    returnType: QString
    signature: QString VLCVarChoiceModel::vlcValToString(const vlc_value_t &value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QVariant::fromValue<qlonglong>
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:215,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - value
    argTypes:
    - vlc_value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 225
    functionName: VLCVarChoiceModel::vlcValToVariant
    functionSourceFile: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp
    functionUses: 2
    functionsReached:
    - QVariant::fromValue<qlonglong>
    - qfu
    linkageType: ''
    returnType: QVariant
    signature: QVariant VLCVarChoiceModel::vlcValToVariant(const vlc_value_t &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: VLCVarChoiceModel::hasCurrent
    functionSourceFile: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool VLCVarChoiceModel::hasCurrent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: VLCVarChoiceModel::currentRow
    functionSourceFile: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VLCVarChoiceModel::currentRow() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLCVarChoiceModel::setData
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:239,1
    - Dst: QAbstractItemModel::createIndex
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: VLCVarChoiceModel::toggleIndex
    functionSourceFile: /src/vlc/modules/gui/qt/util/varchoicemodel.cpp
    functionUses: 0
    functionsReached:
    - VLCVarChoiceModel::setData
    - QAbstractItemModel::createIndex
    linkageType: ''
    returnType: void
    signature: void VLCVarChoiceModel::toggleIndex(int index)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ColorizedSvgIcon::svgIconEngine
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:36,1
    - Dst: qWarning
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:39,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:40,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:44,1
    - Dst: QColor::isValid
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:48,1
    - Dst: QList::push_back
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:49,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:49,1
    - Dst: QColor::name
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:49,1
    - Dst: QColor::isValid
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:51,1
    - Dst: QList::push_back
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:52,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:52,1
    - Dst: QColor::name
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:52,1
    - Dst: QColor::isValid
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:54,1
    - Dst: QList::push_back
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:55,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:55,1
    - Dst: QColor::name
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:55,1
    - Dst: QList::append
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:57,1
    - Dst: QList<QPair<QString, QString> >::begin
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:57,1
    - Dst: QList<QPair<QString, QString> >::end
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:57,1
    - Dst: colorizeSvg
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:68,1
    - Dst: ColorizedSvgIcon::hashKey
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:70,1
    - Dst: QHash::insert
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:76,1
    - Dst: auto::read
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:87,1
    - Dst: qWarning
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:89,1
    - Dst: addFile
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 5
    argNames:
    - ' filename'
    - color1
    - color2
    - accentColor
    - otherReplacements
    argTypes:
    - QString
    - QColor
    - QColor
    - QColor
    - QList<QPair<QString, QString> >
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 94
    functionName: ColorizedSvgIcon::ColorizedSvgIcon
    functionSourceFile: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp
    functionUses: 0
    functionsReached:
    - QStringLiteral
    - QList::push_back
    - QIcon
    - QHash::insert
    - auto::read
    - QColor::isValid
    - ColorizedSvgIcon::hashKey
    - QColor::name
    - addFile
    - QList::append
    - QList<QPair<QString, QString> >::begin
    - ColorizedSvgIcon::svgIconEngine
    - colorizeSvg
    - QList<QPair<QString, QString> >::end
    - qWarning
    linkageType: ''
    returnType: void
    signature: void ColorizedSvgIcon::ColorizedSvgIcon(const QString& filename, const
      QColor color1, const QColor color2, const QColor accentColor, const QList<QPair<QString,
      QString> > &otherReplacements)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:98,1
    - Dst: ColorizedSvgIcon::ColorizedSvgIcon
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:99,1
    - Dst: QWidget*::palette
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fileName
    - widget
    argTypes:
    - QString
    - QWidget*
    assertStmts:
    - condition: (widget)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 3
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: ColorizedSvgIcon::colorizedIconForWidget
    functionSourceFile: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp
    functionUses: 19
    functionsReached:
    - assert
    - ColorizedSvgIcon::ColorizedSvgIcon
    - QWidget*::palette
    linkageType: ''
    returnType: ColorizedSvgIcon
    signature: ColorizedSvgIcon ColorizedSvgIcon::colorizedIconForWidget(const QString
      &fileName, const QWidget *widget)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QPluginLoader::staticInstances
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:109,1
    - Dst: std::find_if
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:110,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:110,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:110,1
    - Dst: inherits
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:111,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:114,1
    - Dst: qobject_cast<QIconEnginePlugin*>
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:115,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:117,1
    - Dst: qobject_cast<QIconEnginePlugin*>
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:119,1
    - Dst: QPluginLoader::instance
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:119,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:123,1
    - Dst: QThread::currentThread
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:124,1
    - Dst: thread
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:124,1
    - Dst: retrieve
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:125,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:127,1
    - Dst: qWarning
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:134,1
    - Dst: QPointer::create
      Src: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (qApp)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp
    constantsTouched: []
    func_position:
      end: 139
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 139
    functionName: ColorizedSvgIcon::svgIconEngine
    functionSourceFile: /src/vlc/modules/gui/qt/util/colorizedsvgicon.cpp
    functionUses: 1
    functionsReached:
    - QPluginLoader::instance
    - QStringLiteral
    - assert
    - qWarning
    - QPluginLoader::staticInstances
    - begin
    - QThread::currentThread
    - std::find_if
    - thread
    - QPointer::create
    - retrieve
    - end
    - QMetaObject::invokeMethod
    - inherits
    - qobject_cast<QIconEnginePlugin*>
    linkageType: ''
    returnType: QIconEngine
    signature: QIconEngine *ColorizedSvgIcon::svgIconEngine()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: CoverGenerator::CoverGenerator
    functionSourceFile: /src/vlc/modules/gui/qt/util/covergenerator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoverGenerator::CoverGenerator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' size'
    argTypes:
    - QSize
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: CoverGenerator::setSize
    functionSourceFile: /src/vlc/modules/gui/qt/util/covergenerator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoverGenerator::setSize(const QSize & size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: CoverGenerator::setCountX
    functionSourceFile: /src/vlc/modules/gui/qt/util/covergenerator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoverGenerator::setCountX(int x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - y
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: CoverGenerator::setCountY
    functionSourceFile: /src/vlc/modules/gui/qt/util/covergenerator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoverGenerator::setCountY(int y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - split
    argTypes:
    - Split
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: CoverGenerator::setSplit
    functionSourceFile: /src/vlc/modules/gui/qt/util/covergenerator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoverGenerator::setSplit(Split split)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - radius
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: CoverGenerator::setBlur
    functionSourceFile: /src/vlc/modules/gui/qt/util/covergenerator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoverGenerator::setBlur(int radius)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fileName'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: CoverGenerator::setDefaultThumbnail
    functionSourceFile: /src/vlc/modules/gui/qt/util/covergenerator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CoverGenerator::setDefaultThumbnail(const QString & fileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: CoverGenerator::requiredNoOfThumbnails
    functionSourceFile: /src/vlc/modules/gui/qt/util/covergenerator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CoverGenerator::requiredNoOfThumbnails() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QStringList::isEmpty
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:115,1
    - Dst: QStringList::count
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:119,1
    - Dst: QStringList::append
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:121,1
    - Dst: QStringList::append
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:129,1
    - Dst: QStringList::count
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:139,1
    - Dst: QStringList::append
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:141,1
    - Dst: QStringList::at
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:141,1
    - Dst: std::ceil
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:154,1
    - Dst: QStringList::count
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:154,1
    - Dst: QImage::fill
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:159,1
    - Dst: QPainter::begin
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:163,1
    - Dst: CoverGenerator::draw
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:165,1
    - Dst: QPainter::end
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:167,1
    - Dst: CoverGenerator::blur
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 1
    argNames:
    - thumbnails
    argTypes:
    - QStringList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 173
    functionName: CoverGenerator::execute
    functionSourceFile: /src/vlc/modules/gui/qt/util/covergenerator.cpp
    functionUses: 0
    functionsReached:
    - QStringList::at
    - QStringList::append
    - QStringList::isEmpty
    - QPainter::end
    - std::ceil
    - CoverGenerator::draw
    - CoverGenerator::blur
    - QStringList::count
    - QPainter::begin
    - QImage::fill
    linkageType: ''
    returnType: QImage
    signature: QImage CoverGenerator::execute(QStringList thumbnails) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:182,1
    - Dst: std::ceil
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:184,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:184,1
    - Dst: static_cast<double>
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:184,1
    - Dst: std::ceil
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:185,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:185,1
    - Dst: static_cast<double>
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:185,1
    - Dst: QRect
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:200,1
    - Dst: QRect
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:203,1
    - Dst: at
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:205,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:207,1
    - Dst: CoverGenerator::drawImage
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:208,1
    - Dst: CoverGenerator::drawImage
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:210,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - ' painter'
    - ' fileNames'
    - countX
    - countY
    argTypes:
    - QPainter
    - QStringList
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 213
    functionName: CoverGenerator::draw
    functionSourceFile: /src/vlc/modules/gui/qt/util/covergenerator.cpp
    functionUses: 1
    functionsReached:
    - QString::isEmpty
    - height
    - width
    - count
    - QRect
    - std::ceil
    - at
    - CoverGenerator::drawImage
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: "void CoverGenerator::draw(QPainter & painter,\n                          const
      QStringList & fileNames, int countX, int countY) const"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QQmlFile::urlToLocalFileOrQrc
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:219,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:220,1
    - Dst: QFile::open
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:222,1
    - Dst: CoverGenerator::drawImage
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:226,1
    - Dst: QImageReader::canRead
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:233,1
    - Dst: QImageReader::size
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:236,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:236,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:237,1
    - Dst: endsWith
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:243,1
    - Dst: QSize::isEmpty
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:245,1
    - Dst: QImageReader::setScaledSize
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:247,1
    - Dst: QImageReader::read
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:250,1
    - Dst: QImageReader::read
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:255,1
    - Dst: QSize::isEmpty
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:258,1
    - Dst: QImage::scaled
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:261,1
    - Dst: std::ceil
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:265,1
    - Dst: QImage::width
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:265,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:265,1
    - Dst: std::ceil
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:266,1
    - Dst: QImage::height
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:266,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:266,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:268,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:268,1
    - Dst: CoverGenerator::drawImage
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:270,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - ' painter'
    - ' fileName'
    - ' target'
    argTypes:
    - QPainter
    - QString
    - QRect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 271
    functionName: CoverGenerator::drawImage
    functionSourceFile: /src/vlc/modules/gui/qt/util/covergenerator.cpp
    functionUses: 2
    functionsReached:
    - QImage::width
    - QImage::scaled
    - QImage::height
    - QImageReader::read
    - QString::isEmpty
    - QFile::open
    - height
    - QQmlFile::urlToLocalFileOrQrc
    - width
    - QImageReader::setScaledSize
    - std::ceil
    - QImageReader::canRead
    - QImageReader::size
    - CoverGenerator::drawImage
    - endsWith
    - QSize::isEmpty
    linkageType: ''
    returnType: void
    signature: void CoverGenerator::drawImage(QPainter & painter, const QString &
      fileName, const QRect & target) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_LIKELY
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:277,1
    - Dst: qt_blurImage
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:281,1
    - Dst: QGraphicsBlurEffect::setBlurRadius
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:292,1
    - Dst: QGraphicsBlurEffect::setBlurHints
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:294,1
    - Dst: QGraphicsPixmapItem::setGraphicsEffect
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:296,1
    - Dst: QGraphicsScene::addItem
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:298,1
    - Dst: QGraphicsScene::render
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:302,1
    - Dst: thread
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:305,1
    - Dst: QThread::currentThread
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:305,1
    - Dst: blurImage
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:307,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/util/covergenerator.cpp:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ' image'
    argTypes:
    - QImage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 316
    functionName: CoverGenerator::blur
    functionSourceFile: /src/vlc/modules/gui/qt/util/covergenerator.cpp
    functionUses: 1
    functionsReached:
    - QGraphicsBlurEffect::setBlurHints
    - QGraphicsScene::addItem
    - Q_LIKELY
    - QGraphicsBlurEffect::setBlurRadius
    - QGraphicsScene::render
    - QThread::currentThread
    - blurImage
    - thread
    - QGraphicsPixmapItem::setGraphicsEffect
    - qt_blurImage
    - QMetaObject::invokeMethod
    linkageType: ''
    returnType: void
    signature: void CoverGenerator::blur(QImage& image) const
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - vlc_ml_parent_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 335
    functionName: CoverGenerator::getPrefix
    functionSourceFile: /src/vlc/modules/gui/qt/util/covergenerator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString CoverGenerator::getPrefix(vlc_ml_parent_type type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - extraColumns
    - sectionDisplayData
    argTypes:
    - int
    - QHash<int, QString>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: ProxyColumnModel::ProxyColumnModel
    functionSourceFile: /src/vlc/modules/gui/qt/util/proxycolumnmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProxyColumnModel(const int extraColumns, const QHash<int, QString>
      &sectionDisplayData, QObject *parent = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: ProxyColumnModel::columnCount
    functionSourceFile: /src/vlc/modules/gui/qt/util/proxycolumnmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int columnCount(const QModelIndex &) const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/util/proxycolumnmodel.hpp:48,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/util/proxycolumnmodel.hpp:49,1
    - Dst: ExpertPrefsTableModel::headerData
      Src: /src/vlc/modules/gui/qt/util/proxycolumnmodel.hpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - section
    - orientation
    argTypes:
    - int
    - Qt::Orientation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: ProxyColumnModel::headerData
    functionSourceFile: /src/vlc/modules/gui/qt/util/proxycolumnmodel.hpp
    functionUses: 0
    functionsReached:
    - ExpertPrefsTableModel::headerData
    - value
    - contains
    linkageType: ''
    returnType: QVariant
    signature: QVariant headerData(int section, Qt::Orientation orientation, int role
      = Qt::DisplayRole) const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::column
      Src: /src/vlc/modules/gui/qt/util/proxycolumnmodel.hpp:56,1
    - Dst: Model::data
      Src: /src/vlc/modules/gui/qt/util/proxycolumnmodel.hpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - index
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: ProxyColumnModel::data
    functionSourceFile: /src/vlc/modules/gui/qt/util/proxycolumnmodel.hpp
    functionUses: 0
    functionsReached:
    - Model::data
    - QModelIndex::column
    linkageType: ''
    returnType: QVariant
    signature: QVariant data(const QModelIndex &index, const int role) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: AccessibleCompatAttached::AccessibleCompatAttached
    functionSourceFile: /src/vlc/modules/gui/qt/util/accessible_compat_attached.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AccessibleCompatAttached::AccessibleCompatAttached(QObject* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qobject_cast<QQuickAccessibleAttached*>
      Src: /src/vlc/modules/gui/qt/util/accessible_compat_attached.cpp:33,1
    - Dst: qmlAttachedPropertiesObject<QQuickAccessibleAttached>
      Src: /src/vlc/modules/gui/qt/util/accessible_compat_attached.cpp:34,1
    - Dst: parent
      Src: /src/vlc/modules/gui/qt/util/accessible_compat_attached.cpp:34,1
    - Dst: QQuickAccessibleAttached*::setId
      Src: /src/vlc/modules/gui/qt/util/accessible_compat_attached.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: AccessibleCompatAttached::setId
    functionSourceFile: /src/vlc/modules/gui/qt/util/accessible_compat_attached.cpp
    functionUses: 1
    functionsReached:
    - qobject_cast<QQuickAccessibleAttached*>
    - parent
    - QQuickAccessibleAttached*::setId
    - qmlAttachedPropertiesObject<QQuickAccessibleAttached>
    linkageType: ''
    returnType: void
    signature: void AccessibleCompatAttached::setId(const QString& id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qobject_cast<QQuickAccessibleAttached*>
      Src: /src/vlc/modules/gui/qt/util/accessible_compat_attached.cpp:42,1
    - Dst: qmlAttachedPropertiesObject<QQuickAccessibleAttached>
      Src: /src/vlc/modules/gui/qt/util/accessible_compat_attached.cpp:43,1
    - Dst: parent
      Src: /src/vlc/modules/gui/qt/util/accessible_compat_attached.cpp:43,1
    - Dst: QQuickAccessibleAttached*::id
      Src: /src/vlc/modules/gui/qt/util/accessible_compat_attached.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: AccessibleCompatAttached::getId
    functionSourceFile: /src/vlc/modules/gui/qt/util/accessible_compat_attached.cpp
    functionUses: 0
    functionsReached:
    - QQuickAccessibleAttached*::id
    - qobject_cast<QQuickAccessibleAttached*>
    - parent
    - qmlAttachedPropertiesObject<QQuickAccessibleAttached>
    linkageType: ''
    returnType: QString
    signature: QString AccessibleCompatAttached::getId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AccessibleCompatAttached::AccessibleCompatAttached
      Src: /src/vlc/modules/gui/qt/util/accessible_compat_attached.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: AccessibleCompatAttached::qmlAttachedProperties
    functionSourceFile: /src/vlc/modules/gui/qt/util/accessible_compat_attached.cpp
    functionUses: 0
    functionsReached:
    - AccessibleCompatAttached::AccessibleCompatAttached
    linkageType: ''
    returnType: AccessibleCompatAttached
    signature: AccessibleCompatAttached * AccessibleCompatAttached::qmlAttachedProperties(QObject*
      parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/util/accessible_compat_attached.cpp:56,1
    - Dst: QWidget*::setAccessibleIdentifier
      Src: /src/vlc/modules/gui/qt/util/accessible_compat_attached.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wd
    - ' id'
    argTypes:
    - QWidget*
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: AccessibleCompatAttached::setId
    functionSourceFile: /src/vlc/modules/gui/qt/util/accessible_compat_attached.cpp
    functionUses: 1
    functionsReached:
    - QT_VERSION_CHECK
    - QWidget*::setAccessibleIdentifier
    linkageType: ''
    returnType: void
    signature: void AccessibleCompatAttached::setId(QWidget* wd, const QString& id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~IEffect()
    functionSourceFile: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IEffect()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:44,1
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:44,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:45,1
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:46,1
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:47,1
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:48,1
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:49,1
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' settings'
    argTypes:
    - QVariantMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: RectDropShadowEffect::RectDropShadowEffect
    functionSourceFile: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp
    functionUses: 0
    functionsReached:
    - value
    - toReal
    linkageType: ''
    returnType: void
    signature: void RectDropShadowEffect(const QVariantMap& settings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QPainterPath::addRect
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:58,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:59,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:60,1
    - Dst: fillPath
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:63,1
    - Dst: drawPath
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' painter'
    - xscale
    - yscale
    argTypes:
    - QPainter
    - qreal
    - qreal
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 65
    functionName: RectDropShadowEffect::draw
    functionSourceFile: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp
    functionUses: 0
    functionsReached:
    - fillPath
    - height
    - width
    - drawPath
    - QPainterPath::addRect
    linkageType: ''
    returnType: void
    signature: void draw(QPainter& painter, qreal xscale, qreal yscale) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: scaled
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:70,1
    - Dst: QSize::width
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:71,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:71,1
    - Dst: QSize::height
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:72,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:72,1
    - Dst: malloc
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:76,1
    - Dst: QSize::width
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:76,1
    - Dst: QSize::height
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:76,1
    - Dst: QSize::width
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:82,1
    - Dst: QSize::height
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:82,1
    - Dst: QSize::width
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:82,1
    - Dst: QImage::fill
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:86,1
    - Dst: QPainter::setCompositionMode
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:90,1
    - Dst: RectDropShadowEffect::draw
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:92,1
    - Dst: malloc
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:95,1
    - Dst: QSize::width
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:95,1
    - Dst: QSize::height
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:95,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:98,1
    - Dst: fast_gaussian_blur
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:102,1
    - Dst: QSize::width
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:104,1
    - Dst: QSize::height
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:104,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:109,1
    - Dst: QSize::width
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:111,1
    - Dst: QSize::height
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:111,1
    - Dst: QSize::width
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' size'
    argTypes:
    - QSize
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 67
    functionDepth: 5
    functionLinenumber: 67
    functionLinenumberEnd: 116
    functionName: RectDropShadowEffect::generate
    functionSourceFile: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp
    functionUses: 0
    functionsReached:
    - scaled
    - height
    - width
    - QPainter::setCompositionMode
    - fast_gaussian_blur
    - free
    - RectDropShadowEffect::draw
    - QSize::width
    - QImage::fill
    - malloc
    - QSize::height
    linkageType: ''
    returnType: QImage
    signature: QImage generate(const QSize& size) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:136,1
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' settings'
    argTypes:
    - QVariantMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: RoundedRectDropShadowEffect::RoundedRectDropShadowEffect
    functionSourceFile: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp
    functionUses: 0
    functionsReached:
    - toReal
    linkageType: ''
    returnType: void
    signature: void RoundedRectDropShadowEffect(const QVariantMap& settings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setRenderHint
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:142,1
    - Dst: setPen
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:143,1
    - Dst: QPainterPath::addRoundedRect
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:146,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:147,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:148,1
    - Dst: fillPath
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:153,1
    - Dst: drawPath
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' painter'
    - xscale
    - yscale
    argTypes:
    - QPainter
    - qreal
    - qreal
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 155
    functionName: RoundedRectDropShadowEffect::draw
    functionSourceFile: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp
    functionUses: 0
    functionsReached:
    - QPainterPath::addRoundedRect
    - fillPath
    - height
    - width
    - drawPath
    - setPen
    - setRenderHint
    linkageType: ''
    returnType: void
    signature: void draw(QPainter& painter, qreal xscale, qreal yscale) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DoubleShadowEffect::adaptSettings
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:166,1
    - Dst: DoubleShadowEffect::adaptSettings
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' settings'
    argTypes:
    - QVariantMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: DoubleShadowEffect::DoubleShadowEffect
    functionSourceFile: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp
    functionUses: 0
    functionsReached:
    - DoubleShadowEffect::adaptSettings
    linkageType: ''
    returnType: void
    signature: void DoubleShadowEffect(const QVariantMap& settings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:174,1
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:175,1
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:176,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:177,1
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:178,1
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:179,1
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:180,1
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:181,1
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:182,1
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - ' settings'
    - ' prefix'
    argTypes:
    - QVariantMap
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 185
    functionName: DoubleShadowEffect::adaptSettings
    functionSourceFile: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp
    functionUses: 1
    functionsReached:
    - value
    - toReal
    linkageType: ''
    returnType: QVariantMap
    signature: QVariantMap adaptSettings(const QVariantMap& settings, const QString&
      prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DoubleShadowEffect::generate
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:189,1
    - Dst: DoubleShadowEffect::generate
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:190,1
    - Dst: QPainter::setCompositionMode
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:192,1
    - Dst: QPainter::drawImage
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:193,1
    - Dst: QImage::rect
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' size'
    argTypes:
    - QSize
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 195
    functionName: DoubleShadowEffect::generate
    functionSourceFile: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp
    functionUses: 1
    functionsReached:
    - DoubleShadowEffect::generate
    - QPainter::setCompositionMode
    - QPainter::drawImage
    - QImage::rect
    linkageType: ''
    returnType: QImage
    signature: QImage generate(const QSize& size) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~IEffect()
    functionSourceFile: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IEffect()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:44,1
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:44,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:45,1
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:46,1
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:47,1
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:48,1
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:49,1
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' settings'
    argTypes:
    - QVariantMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: RectDropShadowEffect::RectDropShadowEffect
    functionSourceFile: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp
    functionUses: 0
    functionsReached:
    - value
    - toReal
    linkageType: ''
    returnType: void
    signature: void RectDropShadowEffect(const QVariantMap& settings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QPainterPath::addRect
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:58,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:59,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:60,1
    - Dst: fillPath
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:63,1
    - Dst: drawPath
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' painter'
    - xscale
    - yscale
    argTypes:
    - QPainter
    - qreal
    - qreal
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 65
    functionName: RectDropShadowEffect::draw
    functionSourceFile: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp
    functionUses: 1
    functionsReached:
    - fillPath
    - height
    - width
    - drawPath
    - QPainterPath::addRect
    linkageType: ''
    returnType: void
    signature: void draw(QPainter& painter, qreal xscale, qreal yscale) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: scaled
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:70,1
    - Dst: QSize::width
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:71,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:71,1
    - Dst: QSize::height
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:72,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:72,1
    - Dst: malloc
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:76,1
    - Dst: QSize::width
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:76,1
    - Dst: QSize::height
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:76,1
    - Dst: QSize::width
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:82,1
    - Dst: QSize::height
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:82,1
    - Dst: QSize::width
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:82,1
    - Dst: QImage::fill
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:86,1
    - Dst: QPainter::setCompositionMode
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:90,1
    - Dst: RectDropShadowEffect::draw
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:92,1
    - Dst: malloc
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:95,1
    - Dst: QSize::width
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:95,1
    - Dst: QSize::height
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:95,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:98,1
    - Dst: fast_gaussian_blur
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:102,1
    - Dst: QSize::width
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:104,1
    - Dst: QSize::height
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:104,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:109,1
    - Dst: QSize::width
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:111,1
    - Dst: QSize::height
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:111,1
    - Dst: QSize::width
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' size'
    argTypes:
    - QSize
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 67
    functionDepth: 5
    functionLinenumber: 67
    functionLinenumberEnd: 116
    functionName: RectDropShadowEffect::generate
    functionSourceFile: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp
    functionUses: 0
    functionsReached:
    - scaled
    - height
    - width
    - QPainter::setCompositionMode
    - fast_gaussian_blur
    - free
    - RectDropShadowEffect::draw
    - QSize::width
    - QImage::fill
    - malloc
    - QSize::height
    linkageType: ''
    returnType: QImage
    signature: QImage generate(const QSize& size) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:136,1
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' settings'
    argTypes:
    - QVariantMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: RoundedRectDropShadowEffect::RoundedRectDropShadowEffect
    functionSourceFile: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp
    functionUses: 0
    functionsReached:
    - toReal
    linkageType: ''
    returnType: void
    signature: void RoundedRectDropShadowEffect(const QVariantMap& settings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setRenderHint
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:142,1
    - Dst: setPen
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:143,1
    - Dst: QPainterPath::addRoundedRect
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:146,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:147,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:148,1
    - Dst: fillPath
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:153,1
    - Dst: drawPath
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' painter'
    - xscale
    - yscale
    argTypes:
    - QPainter
    - qreal
    - qreal
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 155
    functionName: RoundedRectDropShadowEffect::draw
    functionSourceFile: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp
    functionUses: 0
    functionsReached:
    - QPainterPath::addRoundedRect
    - fillPath
    - height
    - width
    - drawPath
    - setPen
    - setRenderHint
    linkageType: ''
    returnType: void
    signature: void draw(QPainter& painter, qreal xscale, qreal yscale) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DoubleShadowEffect::adaptSettings
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:166,1
    - Dst: DoubleShadowEffect::adaptSettings
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' settings'
    argTypes:
    - QVariantMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: DoubleShadowEffect::DoubleShadowEffect
    functionSourceFile: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp
    functionUses: 0
    functionsReached:
    - DoubleShadowEffect::adaptSettings
    linkageType: ''
    returnType: void
    signature: void DoubleShadowEffect(const QVariantMap& settings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:174,1
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:175,1
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:176,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:177,1
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:178,1
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:179,1
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:180,1
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:181,1
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:182,1
    - Dst: toReal
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - ' settings'
    - ' prefix'
    argTypes:
    - QVariantMap
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 185
    functionName: DoubleShadowEffect::adaptSettings
    functionSourceFile: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp
    functionUses: 2
    functionsReached:
    - value
    - toReal
    linkageType: ''
    returnType: QVariantMap
    signature: QVariantMap adaptSettings(const QVariantMap& settings, const QString&
      prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DoubleShadowEffect::generate
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:189,1
    - Dst: DoubleShadowEffect::generate
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:190,1
    - Dst: QPainter::setCompositionMode
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:192,1
    - Dst: QPainter::drawImage
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:193,1
    - Dst: QImage::rect
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' size'
    argTypes:
    - QSize
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 195
    functionName: DoubleShadowEffect::generate
    functionSourceFile: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp
    functionUses: 2
    functionsReached:
    - DoubleShadowEffect::generate
    - QPainter::setCompositionMode
    - QPainter::drawImage
    - QImage::rect
    linkageType: ''
    returnType: QImage
    signature: QImage generate(const QSize& size) const override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:206,1
    - Dst: QSize::isEmpty
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:212,1
    - Dst: QMetaEnum::fromType<EffectsImageProvider::Effect>
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:215,1
    - Dst: queryItems
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:219,1
    - Dst: QVariantMap::insert
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:221,1
    - Dst: QUrl::fromPercentEncoding
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:221,1
    - Dst: second::toLatin1
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:221,1
    - Dst: static_cast<EffectsImageProvider::Effect>
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:231,1
    - Dst: auto::keyToValue
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:231,1
    - Dst: QUrl::path
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:231,1
    - Dst: std::make_unique<RectDropShadowEffect>
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:234,1
    - Dst: queryToVariantMap
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:234,1
    - Dst: std::make_unique<RoundedRectDropShadowEffect>
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:238,1
    - Dst: queryToVariantMap
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:238,1
    - Dst: std::make_unique<DoubleShadowEffect>
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:243,1
    - Dst: queryToVariantMap
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:243,1
    - Dst: std::unique_ptr::generate
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:250,1
    - Dst: generate
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:253,1
    - Dst: std::unique_ptr::size
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:254,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - id
    - size
    - requestedSize
    argTypes:
    - QString
    - QSize*
    - QSize
    assertStmts:
    - condition: (size)
      pos:
        line_end: 205
        line_start: 205
        source_file: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp
    constantsTouched: []
    func_position:
      end: 257
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 257
    functionName: EffectsImageProvider::requestImage
    functionSourceFile: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<RectDropShadowEffect>
    - assert
    - std::make_unique<RoundedRectDropShadowEffect>
    - std::unique_ptr::generate
    - static_cast<EffectsImageProvider::Effect>
    - QVariantMap::insert
    - QMetaEnum::fromType<EffectsImageProvider::Effect>
    - generate
    - auto::keyToValue
    - queryItems
    - QUrl::path
    - second::toLatin1
    - std::unique_ptr::size
    - QUrl::fromPercentEncoding
    - std::make_unique<DoubleShadowEffect>
    - queryToVariantMap
    - QSize::isEmpty
    linkageType: ''
    returnType: QImage
    signature: QImage EffectsImageProvider::requestImage(const QString &id, QSize
      *size, const QSize &requestedSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:261,1
    - Dst: QQmlEngine*::imageProvider
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:262,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:265,1
    - Dst: dynamic_cast<EffectsImageProvider*>
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:265,1
    - Dst: QQmlEngine*::setObjectOwnership
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - engine
    argTypes:
    - QQmlEngine*
    assertStmts:
    - condition: (engine)
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp
    - condition: (dynamic_cast<EffectsImageProvider*>(provider))
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp
    constantsTouched: []
    func_position:
      end: 268
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 268
    functionName: EffectsImageProvider::instance
    functionSourceFile: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp
    functionUses: 0
    functionsReached:
    - QQmlEngine*::setObjectOwnership
    - assert
    - QQmlEngine*::imageProvider
    - dynamic_cast<EffectsImageProvider*>
    linkageType: ''
    returnType: QObject
    signature: QObject *EffectsImageProvider::instance(QQmlEngine *engine, QJSEngine
      *)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QMetaEnum::fromType<EffectsImageProvider::Effect>
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:272,1
    - Dst: QUrl::setScheme
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:276,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:276,1
    - Dst: QUrl::setAuthority
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:278,1
    - Dst: QUrl::setPath
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:280,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:280,1
    - Dst: auto::valueToKey
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:280,1
    - Dst: QMapIterator::hasNext
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:285,1
    - Dst: QMapIterator::next
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:287,1
    - Dst: QMapIterator::value
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:289,1
    - Dst: isValid
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:291,1
    - Dst: isNull
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:291,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:294,1
    - Dst: canConvert
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:294,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:295,1
    - Dst: QMapIterator::key
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:295,1
    - Dst: QUrlQuery::addQueryItem
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:298,1
    - Dst: QMapIterator::key
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:298,1
    - Dst: QUrl::toPercentEncoding
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:298,1
    - Dst: toString
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:298,1
    - Dst: QUrl::setQuery
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:300,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:302,1
    - Dst: QUrl::isValid
      Src: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp:302,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - effect
    - properties
    argTypes:
    - Effect
    - QVariantMap
    assertStmts:
    - condition: (!i.key().startsWith('_'))
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp
    - condition: (value.canConvert<QString>())
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp
    - condition: (url.isValid())
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp
    constantsTouched: []
    func_position:
      end: 304
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 304
    functionName: EffectsImageProvider::url
    functionSourceFile: /src/vlc/modules/gui/qt/util/effects_image_provider.cpp
    functionUses: 0
    functionsReached:
    - assert
    - QString
    - QMetaEnum::fromType<EffectsImageProvider::Effect>
    - QMapIterator::next
    - canConvert
    - isNull
    - QUrl::setQuery
    - QUrl::toPercentEncoding
    - QUrlQuery::addQueryItem
    - QMapIterator::value
    - isValid
    - QStringLiteral
    - QMapIterator::key
    - QMapIterator::hasNext
    - QUrl::isValid
    - QUrl::setPath
    - QUrl::setAuthority
    - toString
    - auto::valueToKey
    - QUrl::setScheme
    linkageType: ''
    returnType: QUrl
    signature: QUrl EffectsImageProvider::url(Effect effect, const QVariantMap &properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: MLRange
    functionSourceFile: /src/vlc/modules/gui/qt/util/listcache.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLRange()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - offset
    - count
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: MLRange
    functionSourceFile: /src/vlc/modules/gui/qt/util/listcache.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLRange(size_t offset, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MLRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: MLRange
    functionSourceFile: /src/vlc/modules/gui/qt/util/listcache.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLRange(const MLRange& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MLRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: '& operator=(const MLRange& other)'
    functionSourceFile: /src/vlc/modules/gui/qt/util/listcache.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MLRange
    signature: MLRange & operator=(const MLRange& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: isEmpty
    functionSourceFile: /src/vlc/modules/gui/qt/util/listcache.hpp
    functionUses: 114
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isEmpty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: contains
    functionSourceFile: /src/vlc/modules/gui/qt/util/listcache.hpp
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool contains(size_t index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: reset
    functionSourceFile: /src/vlc/modules/gui/qt/util/listcache.hpp
    functionUses: 141
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/util/listcache.hpp:78,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/util/listcache.hpp:78,1
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/util/listcache.hpp:80,1
    - Dst: MLRange
      Src: /src/vlc/modules/gui/qt/util/listcache.hpp:81,1
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/util/listcache.hpp:82,1
    - Dst: MLRange
      Src: /src/vlc/modules/gui/qt/util/listcache.hpp:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MLRange
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: overlap
    functionSourceFile: /src/vlc/modules/gui/qt/util/listcache.hpp
    functionUses: 1
    functionsReached:
    - isEmpty
    - MLRange
    - contains
    linkageType: ''
    returnType: MLRange
    signature: MLRange overlap(const MLRange& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/util/listcache.hpp:128,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/listcache.hpp:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - ' list_'
    - queryCount_
    - maximumCount_
    argTypes:
    - std::vector<ItemType>
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: ListCache::CacheData
    functionSourceFile: /src/vlc/modules/gui/qt/util/listcache.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - size
    linkageType: ''
    returnType: void
    signature: "void CacheData(std::vector<ItemType>&& list_,\n                           size_t
      queryCount_,\n                           size_t maximumCount_)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - op_
    - index_
    - count_
    argTypes:
    - Operation
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 316
    functionName: ListCache::PartialIndexRedirect
    functionSourceFile: /src/vlc/modules/gui/qt/util/listcache.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PartialIndexRedirect(Operation op_, size_t index_, size_t count_,
      size_t x_ = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' l'
    - ' r'
    argTypes:
    - PartialIndexRedirect
    - PartialIndexRedirect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: operator<(const PartialIndexRedirect& l, const PartialIndexRedirect&
      r)
    functionSourceFile: /src/vlc/modules/gui/qt/util/listcache.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const PartialIndexRedirect& l, const PartialIndexRedirect&
      r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const ListCache<T>::CacheData*>
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:30,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:31,1
    - Dst: std::min
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts:
    - condition: (cache)
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/vlc/modules/gui/qt/util/listcache.hxx
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: ListCache<T>::cacheDataLength
    functionSourceFile: /src/vlc/modules/gui/qt/util/listcache.hxx
    functionUses: 0
    functionsReached:
    - assert
    - std::min
    - static_cast<const ListCache<T>::CacheData*>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ListCache<T>::cacheDataLength(const void* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const ListCache<T>::CacheData*>
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:38,1
    - Dst: static_cast<const ListCache<T>::CacheData*>
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:39,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:40,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:41,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:42,1
    - Dst: auto::list::size
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:42,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:43,1
    - Dst: auto::list::size
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:43,1
    - Dst: compareItems
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - dataOld
    - oldIndex
    - dataNew
    - newIndex
    argTypes:
    - void*
    - uint32_t
    - void*
    - uint32_t
    assertStmts:
    - condition: (cacheOld)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/vlc/modules/gui/qt/util/listcache.hxx
    - condition: (oldIndex < cacheOld->list.size())
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/vlc/modules/gui/qt/util/listcache.hxx
    - condition: (cacheNew)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/vlc/modules/gui/qt/util/listcache.hxx
    - condition: (newIndex < cacheNew->list.size())
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/vlc/modules/gui/qt/util/listcache.hxx
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: ListCache<T>::cacheDataCompare
    functionSourceFile: /src/vlc/modules/gui/qt/util/listcache.hxx
    functionUses: 0
    functionsReached:
    - compareItems
    - auto::list::size
    - assert
    - static_cast<const ListCache<T>::CacheData*>
    linkageType: ''
    returnType: bool
    signature: bool ListCache<T>::cacheDataCompare(const void* dataOld, uint32_t oldIndex,
      const void* dataNew,  uint32_t newIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:50,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - ' loader'
    - useMove
    - limit
    - offset
    - chunkSize
    argTypes:
    - std::unique_ptr<ListCacheLoader<ListCache<T>::ItemType>>
    - bool
    - size_t
    - size_t
    - size_t
    assertStmts:
    - condition: (m_loader)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/vlc/modules/gui/qt/util/listcache.hxx
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: ListCache<T>::ListCache
    functionSourceFile: /src/vlc/modules/gui/qt/util/listcache.hxx
    functionUses: 0
    functionsReached:
    - release
    - assert
    linkageType: ''
    returnType: void
    signature: void ListCache<T>::ListCache(std::unique_ptr<ListCacheLoader<ListCache<T>::ItemType>>&&
      loader, bool useMove, size_t limit, size_t offset, size_t chunkSize)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 85
    functionName: ListCache<T>::fixupIndexForMove
    functionSourceFile: /src/vlc/modules/gui/qt/util/listcache.hxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ListCache<T>::fixupIndexForMove(size_t index) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:93,1
    - Dst: ListCache<T>::fixupIndexForMove
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:103,1
    - Dst: list::at
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:105,1
    - Dst: list::at
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:108,1
    - Dst: list::at
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:115,1
    - Dst: list::at
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:125,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 126
    functionName: ListCache<T>::get
    functionSourceFile: /src/vlc/modules/gui/qt/util/listcache.hxx
    functionUses: 0
    functionsReached:
    - list::at
    - unlikely
    - ListCache<T>::fixupIndexForMove
    linkageType: ''
    returnType: typename ListCache<T>::ItemType
    signature: typename ListCache<T>::ItemType * ListCache<T>::get(size_t index) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:135,1
    - Dst: list::cbegin
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:135,1
    - Dst: list::cend
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:135,1
    - Dst: list::cend
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:136,1
    - Dst: std::distance
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:140,1
    - Dst: list::cbegin
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - f
    - index
    argTypes:
    - std::function<bool (const ListCache<T>::ItemType&)>
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 143
    functionName: ListCache<T>::find
    functionSourceFile: /src/vlc/modules/gui/qt/util/listcache.hxx
    functionUses: 0
    functionsReached:
    - std::find_if
    - std::distance
    - list::cend
    - list::cbegin
    linkageType: ''
    returnType: typename ListCache<T>::ItemType
    signature: typename ListCache<T>::ItemType * ListCache<T>::find(const std::function<bool
      (const ListCache<T>::ItemType&)> &&f, int *index) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:154,1
    - Dst: std::find_if
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:158,1
    - Dst: list::begin
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:158,1
    - Dst: list::end
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:158,1
    - Dst: compareItems
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:159,1
    - Dst: list::end
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:162,1
    - Dst: std::distance
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:165,1
    - Dst: list::begin
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:165,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' newItem'
    argTypes:
    - ItemType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 169
    functionName: ListCache<T>::updateItem
    functionSourceFile: /src/vlc/modules/gui/qt/util/listcache.hxx
    functionUses: 0
    functionsReached:
    - compareItems
    - std::distance
    - list::begin
    - std::find_if
    - std::move
    - list::end
    - unlikely
    linkageType: ''
    returnType: int
    signature: int ListCache<T>::updateItem(ItemType&& newItem)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:180,1
    - Dst: std::find_if
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:183,1
    - Dst: list::begin
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:183,1
    - Dst: list::end
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:183,1
    - Dst: list::end
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:186,1
    - Dst: std::distance
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:189,1
    - Dst: list::begin
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:189,1
    - Dst: list::erase
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:192,1
    - Dst: list::size
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - std::function<bool (const ItemType&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 201
    functionName: ListCache<T>::deleteItem
    functionSourceFile: /src/vlc/modules/gui/qt/util/listcache.hxx
    functionUses: 0
    functionsReached:
    - list::size
    - std::distance
    - list::erase
    - list::begin
    - std::find_if
    - list::end
    - unlikely
    linkageType: ''
    returnType: int
    signature: int ListCache<T>::deleteItem(const std::function<bool (const ItemType&)>&&
      f)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:213,1
    - Dst: unlikely
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:216,1
    - Dst: list::size
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:216,1
    - Dst: list::insert
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:220,1
    - Dst: list::begin
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:220,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ' item'
    - position
    argTypes:
    - ItemType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 226
    functionName: ListCache<T>::insertItem
    functionSourceFile: /src/vlc/modules/gui/qt/util/listcache.hxx
    functionUses: 0
    functionsReached:
    - list::insert
    - list::size
    - list::begin
    - std::move
    - unlikely
    linkageType: ''
    returnType: void
    signature: void ListCache<T>::insertItem(ItemType&& item, int position)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:238,1
    - Dst: unlikely
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:241,1
    - Dst: list::size
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:241,1
    - Dst: std::distance
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:244,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:246,1
    - Dst: std::inserter
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:246,1
    - Dst: list::begin
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - first
    - last
    - position
    argTypes:
    - IterType
    - IterType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 252
    functionName: ListCache<T>::insertItemList
    functionSourceFile: /src/vlc/modules/gui/qt/util/listcache.hxx
    functionUses: 0
    functionsReached:
    - list::size
    - std::distance
    - list::begin
    - std::inserter
    - std::move
    - unlikely
    linkageType: ''
    returnType: void
    signature: void ListCache<T>::insertItemList(IterType first, IterType last, int
      position)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:258,1
    - Dst: unlikely
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:262,1
    - Dst: list::begin
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:266,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:271,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:271,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:272,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:272,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:273,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:273,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:274,1
    - Dst: list::end
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:274,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:274,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:278,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:278,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:279,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:279,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:280,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:280,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:281,1
    - Dst: list::end
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:281,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:281,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - first
    - last
    - to
    argTypes:
    - int
    - int
    - int
    assertStmts:
    - condition: (first <= last)
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/vlc/modules/gui/qt/util/listcache.hxx
    constantsTouched: []
    func_position:
      end: 286
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 286
    functionName: ListCache<T>::moveRange
    functionSourceFile: /src/vlc/modules/gui/qt/util/listcache.hxx
    functionUses: 0
    functionsReached:
    - assert
    - list::begin
    - std::back_inserter
    - std::move
    - list::end
    - unlikely
    linkageType: ''
    returnType: void
    signature: void ListCache<T>::moveRange(int first, int last, int to)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:291,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:293,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:294,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:295,1
    - Dst: static_cast<size_t>
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:295,1
    - Dst: static_cast<size_t>
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:297,1
    - Dst: std::next
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:299,1
    - Dst: list::begin
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:299,1
    - Dst: list::begin
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:301,1
    - Dst: static_cast<size_t>
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:302,1
    - Dst: std::next
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:303,1
    - Dst: list::end
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:305,1
    - Dst: list::erase
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:307,1
    - Dst: list::size
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - int
    - int
    assertStmts:
    - condition: (first <= last)
      pos:
        line_end: 292
        line_start: 292
        source_file: /src/vlc/modules/gui/qt/util/listcache.hxx
    - condition: (static_cast<size_t>(last) < m_cachedData->queryCount)
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/vlc/modules/gui/qt/util/listcache.hxx
    - condition: (first >= 0)
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/vlc/modules/gui/qt/util/listcache.hxx
    constantsTouched: []
    func_position:
      end: 317
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 317
    functionName: ListCache<T>::deleteRange
    functionSourceFile: /src/vlc/modules/gui/qt/util/listcache.hxx
    functionUses: 0
    functionsReached:
    - assert
    - static_cast<size_t>
    - std::next
    - list::size
    - list::erase
    - list::begin
    - list::end
    - unlikely
    linkageType: ''
    returnType: void
    signature: void ListCache<T>::deleteRange(int first, int last)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 328
    functionName: ListCache<T>::queryCount
    functionSourceFile: /src/vlc/modules/gui/qt/util/listcache.hxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t ListCache<T>::queryCount() const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 339
    functionName: ListCache<T>::maximumCount
    functionSourceFile: /src/vlc/modules/gui/qt/util/listcache.hxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t ListCache<T>::maximumCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:344,1
    - Dst: ListCache<T>::asyncCountAndLoad
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!m_cachedData)
      pos:
        line_end: 343
        line_start: 343
        source_file: /src/vlc/modules/gui/qt/util/listcache.hxx
    constantsTouched: []
    func_position:
      end: 346
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 346
    functionName: ListCache<T>::initCount
    functionSourceFile: /src/vlc/modules/gui/qt/util/listcache.hxx
    functionUses: 0
    functionsReached:
    - ListCache<T>::asyncCountAndLoad
    - assert
    linkageType: ''
    returnType: void
    signature: void ListCache<T>::initCount()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ListCache<T>::asyncFetchMore
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:370,1
    - Dst: ListCache<T>::asyncCountAndLoad
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:372,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: ListCache<T>::refer
    functionSourceFile: /src/vlc/modules/gui/qt/util/listcache.hxx
    functionUses: 0
    functionsReached:
    - ListCache<T>::asyncCountAndLoad
    - ListCache<T>::asyncFetchMore
    linkageType: ''
    returnType: void
    signature: void ListCache<T>::refer(size_t index)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ListCache<T>::get
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:380,1
    - Dst: ListCache<T>::get
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:382,1
    - Dst: std::min
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:392,1
    - Dst: ListCache<T>::get
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:394,1
    - Dst: ListCache<T>::asyncFetchMore
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:395,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 396
    functionName: ListCache<T>::fetchMore
    functionSourceFile: /src/vlc/modules/gui/qt/util/listcache.hxx
    functionUses: 0
    functionsReached:
    - ListCache<T>::asyncFetchMore
    - std::min
    - ListCache<T>::get
    linkageType: ''
    returnType: void
    signature: void ListCache<T>::fetchMore()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:405,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:409,1
    - Dst: cancelTask
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:414,1
    - Dst: ListCache<T>::asyncCountAndLoad
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:424,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 426
    functionName: ListCache<T>::invalidate
    functionSourceFile: /src/vlc/modules/gui/qt/util/listcache.hxx
    functionUses: 0
    functionsReached:
    - ListCache<T>::asyncCountAndLoad
    - std::move
    - cancelTask
    - reset
    linkageType: ''
    returnType: void
    signature: void ListCache<T>::invalidate()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vlc_diffutil_build_snake
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:440,1
    - Dst: ListCache<T>::get
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:440,1
    - Dst: ListCache<T>::get
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:440,1
    - Dst: vlc_diffutil_build_change_list
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:445,1
    - Dst: ListCache<T>::get
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:446,1
    - Dst: ListCache<T>::get
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:446,1
    - Dst: insert
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:488,1
    - Dst: PartialIndexRedirect
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:488,1
    - Dst: insert
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:495,1
    - Dst: PartialIndexRedirect
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:495,1
    - Dst: vlc_diffutil_free_change_list
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:503,1
    - Dst: vlc_diffutil_free_snake
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:504,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:508,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:509,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 528
    functionName: ListCache<T>::partialUpdate
    functionSourceFile: /src/vlc/modules/gui/qt/util/listcache.hxx
    functionUses: 0
    functionsReached:
    - PartialIndexRedirect
    - vlc_diffutil_free_snake
    - ListCache<T>::get
    - clear
    - insert
    - vlc_diffutil_build_snake
    - vlc_diffutil_free_change_list
    - reset
    - vlc_diffutil_build_change_list
    linkageType: ''
    returnType: void
    signature: void ListCache<T>::partialUpdate()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cancelTask
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:534,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:536,1
    - Dst: countAndLoadTask
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:538,1
    - Dst: unlikely
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:546,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:546,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:548,1
    - Dst: std::min
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:553,1
    - Dst: std::make_unique<CacheData>
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:557,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:557,1
    - Dst: ListCache<T>::partialUpdate
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:563,1
    - Dst: localSizeChanged
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:575,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:583,1
    - Dst: ListCache<T>::asyncCountAndLoad
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:585,1
    - Dst: ListCache<T>::asyncFetchMore
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:594,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 598
    functionName: ListCache<T>::asyncCountAndLoad
    functionSourceFile: /src/vlc/modules/gui/qt/util/listcache.hxx
    functionUses: 4
    functionsReached:
    - ListCache<T>::asyncFetchMore
    - std::make_unique<CacheData>
    - size
    - std::min
    - std::max
    - std::move
    - ListCache<T>::asyncCountAndLoad
    - ListCache<T>::partialUpdate
    - countAndLoadTask
    - unlikely
    - localSizeChanged
    - cancelTask
    linkageType: ''
    returnType: void
    signature: void ListCache<T>::asyncCountAndLoad()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:603,1
    - Dst: cancelTask
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:608,1
    - Dst: std::min
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:610,1
    - Dst: loadTask
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:613,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:620,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:622,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:626,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:626,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:626,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:626,1
    - Dst: ListCache<T>::asyncFetchMore
      Src: /src/vlc/modules/gui/qt/util/listcache.hxx:634,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_cachedData)
      pos:
        line_end: 602
        line_start: 602
        source_file: /src/vlc/modules/gui/qt/util/listcache.hxx
    - condition: (m_cachedData)
      pos:
        line_end: 619
        line_start: 619
        source_file: /src/vlc/modules/gui/qt/util/listcache.hxx
    constantsTouched: []
    func_position:
      end: 637
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 637
    functionName: ListCache<T>::asyncFetchMore
    functionSourceFile: /src/vlc/modules/gui/qt/util/listcache.hxx
    functionUses: 4
    functionsReached:
    - loadTask
    - assert
    - ListCache<T>::asyncFetchMore
    - size
    - begin
    - std::min
    - std::back_inserter
    - std::move
    - end
    - cancelTask
    linkageType: ''
    returnType: void
    signature: void ListCache<T>::asyncFetchMore()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 644
    functionName: ListCache<T>::loadedCount
    functionSourceFile: /src/vlc/modules/gui/qt/util/listcache.hxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t ListCache<T>::loadedCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:34,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: TextureProviderObserver::TextureProviderObserver
    functionSourceFile: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp
    functionUses: 0
    functionsReached:
    - connect
    linkageType: ''
    returnType: void
    signature: void TextureProviderObserver::TextureProviderObserver(QObject *parent)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:45,1
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:56,1
    - Dst: Q_LIKELY
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:58,1
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:60,1
    - Dst: TextureProviderObserver::resetProperties
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:67,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:76,1
    - Dst: isTextureProvider
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:76,1
    - Dst: window
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:79,1
    - Dst: TextureProviderObserver::adjustSampleAndNotifyConnection
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:82,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:84,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:85,1
    - Dst: window
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:86,1
    - Dst: TextureProviderObserver::adjustSampleAndNotifyConnection
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:87,1
    - Dst: window
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:92,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:93,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:95,1
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:96,1
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:99,1
    - Dst: window
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:99,1
    - Dst: qmlDebug
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:106,1
    - Dst: window
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:106,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:107,1
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:108,1
    - Dst: qmlWarning
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:110,1
    - Dst: TextureProviderObserver::setSource
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:111,1
    - Dst: TextureProviderObserver::setSource
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:114,1
    - Dst: textureProvider
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:119,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:120,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:122,1
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:123,1
    - Dst: TextureProviderObserver::updateProperties
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:125,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:131,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:137,1
    - Dst: TextureProviderObserver::setSource
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:138,1
    - Dst: TextureProviderObserver::updateProperties
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:141,1
    - Dst: static_cast<Qt::ConnectionType>
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:142,1
    - Dst: window
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:145,1
    - Dst: init
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:146,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:148,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 61
    argCount: 2
    argNames:
    - source
    - enforce
    argTypes:
    - QQuickItem*
    - bool
    assertStmts:
    - condition: (provider)
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp
    - condition: (window)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp
    - condition: (m_source->isTextureProvider())
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp
    - condition: (m_source)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp
    - condition: (!m_provider || (provider == m_provider))
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp
    constantsTouched: []
    func_position:
      end: 150
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 150
    functionName: TextureProviderObserver::setSource
    functionSourceFile: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp
    functionUses: 1
    functionsReached:
    - TextureProviderObserver::setSource
    - init
    - static_cast<Qt::ConnectionType>
    - Q_LIKELY
    - disconnect
    - assert
    - Q_UNLIKELY
    - window
    - qmlDebug
    - textureProvider
    - TextureProviderObserver::adjustSampleAndNotifyConnection
    - TextureProviderObserver::updateProperties
    - qmlWarning
    - TextureProviderObserver::resetProperties
    - connect
    - QMetaObject::invokeMethod
    - isTextureProvider
    linkageType: ''
    returnType: void
    signature: void TextureProviderObserver::setSource(const QQuickItem *source, bool
      enforce)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: TextureProviderObserver::textureSize
    functionSourceFile: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: QSize
    signature: QSize TextureProviderObserver::textureSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: TextureProviderObserver::nativeTextureSize
    functionSourceFile: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: QSize
    signature: QSize TextureProviderObserver::nativeTextureSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: TextureProviderObserver::hasAlphaChannel
    functionSourceFile: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: bool
    signature: bool TextureProviderObserver::hasAlphaChannel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: TextureProviderObserver::hasMipmaps
    functionSourceFile: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: bool
    signature: bool TextureProviderObserver::hasMipmaps() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: TextureProviderObserver::isAtlasTexture
    functionSourceFile: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: bool
    signature: bool TextureProviderObserver::isAtlasTexture() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: TextureProviderObserver::isValid
    functionSourceFile: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: bool
    signature: bool TextureProviderObserver::isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: TextureProviderObserver::isDynamic
    functionSourceFile: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: bool
    signature: bool TextureProviderObserver::isDynamic() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: TextureProviderObserver::comparisonKey
    functionSourceFile: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: qint64
    signature: qint64 TextureProviderObserver::comparisonKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: TextureProviderObserver::normalizedTextureSubRect
    functionSourceFile: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: QRectF
    signature: QRectF TextureProviderObserver::normalizedTextureSubRect() const
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: texture
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:208,1
    - Dst: qobject_cast<QSGDynamicTexture*>
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:210,1
    - Dst: exchange
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:211,1
    - Dst: isDynamicChanged
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:212,1
    - Dst: auto::textureSize
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:220,1
    - Dst: exchange
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:223,1
    - Dst: textureSizeChanged
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:224,1
    - Dst: store
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:228,1
    - Dst: auto::normalizedTextureSubRect
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:235,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:236,1
    - Dst: QSize::width
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:236,1
    - Dst: auto::width
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:236,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:237,1
    - Dst: QSize::height
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:237,1
    - Dst: auto::height
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:237,1
    - Dst: exchange
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:241,1
    - Dst: nativeTextureSizeChanged
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:242,1
    - Dst: store
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:246,1
    - Dst: auto::rhiTexture
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:253,1
    - Dst: Q_LIKELY
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:254,1
    - Dst: QRhiTexture*::pixelSize
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:256,1
    - Dst: exchange
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:259,1
    - Dst: nativeTextureSizeChanged
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:260,1
    - Dst: store
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:264,1
    - Dst: legacyUpdateNativeTextureSize
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:269,1
    - Dst: legacyUpdateNativeTextureSize
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:272,1
    - Dst: auto::normalizedTextureSubRect
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:280,1
    - Dst: exchange
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:284,1
    - Dst: normalizedTextureSubRectChanged
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:285,1
    - Dst: store
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:289,1
    - Dst: auto::hasAlphaChannel
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:295,1
    - Dst: exchange
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:297,1
    - Dst: hasAlphaChannelChanged
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:298,1
    - Dst: auto::hasMipmaps
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:303,1
    - Dst: exchange
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:305,1
    - Dst: hasMipmapsChanged
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:306,1
    - Dst: auto::isAtlasTexture
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:311,1
    - Dst: exchange
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:313,1
    - Dst: isAtlasTextureChanged
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:314,1
    - Dst: exchange
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:317,1
    - Dst: isValidChanged
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:318,1
    - Dst: auto::comparisonKey
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:323,1
    - Dst: exchange
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:327,1
    - Dst: store
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:333,1
    - Dst: store
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:339,1
    - Dst: store
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:340,1
    - Dst: store
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:341,1
    - Dst: store
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:342,1
    - Dst: store
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:348,1
    - Dst: TextureProviderObserver::resetProperties
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:355,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 356
    functionName: TextureProviderObserver::updateProperties
    functionSourceFile: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp
    functionUses: 1
    functionsReached:
    - QRhiTexture*::pixelSize
    - texture
    - QSize::width
    - auto::hasAlphaChannel
    - normalizedTextureSubRectChanged
    - isDynamicChanged
    - isAtlasTextureChanged
    - auto::textureSize
    - auto::rhiTexture
    - TextureProviderObserver::resetProperties
    - auto::isAtlasTexture
    - auto::height
    - QSize::height
    - exchange
    - auto::hasMipmaps
    - auto::comparisonKey
    - textureSizeChanged
    - legacyUpdateNativeTextureSize
    - auto::width
    - auto::normalizedTextureSubRect
    - qobject_cast<QSGDynamicTexture*>
    - hasMipmapsChanged
    - store
    - hasAlphaChannelChanged
    - Q_LIKELY
    - isValidChanged
    - static_cast<int>
    - nativeTextureSizeChanged
    linkageType: ''
    returnType: void
    signature: void TextureProviderObserver::updateProperties()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: exchange
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:360,1
    - Dst: isDynamicChanged
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:361,1
    - Dst: exchange
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:363,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:363,1
    - Dst: textureSizeChanged
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:364,1
    - Dst: exchange
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:366,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:366,1
    - Dst: nativeTextureSizeChanged
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:367,1
    - Dst: exchange
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:369,1
    - Dst: QRectF
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:369,1
    - Dst: normalizedTextureSubRectChanged
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:370,1
    - Dst: exchange
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:372,1
    - Dst: hasAlphaChannelChanged
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:373,1
    - Dst: exchange
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:375,1
    - Dst: hasMipmapsChanged
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:376,1
    - Dst: exchange
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:378,1
    - Dst: isAtlasTextureChanged
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:379,1
    - Dst: exchange
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:381,1
    - Dst: isValidChanged
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:382,1
    - Dst: exchange
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:384,1
    - Dst: comparisonKeyChanged
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:385,1
    - Dst: store
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:387,1
    - Dst: store
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:388,1
    - Dst: store
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:389,1
    - Dst: store
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:390,1
    - Dst: store
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:392,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - memoryOrder
    argTypes:
    - std::memory_order
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 394
    functionName: TextureProviderObserver::resetProperties
    functionSourceFile: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp
    functionUses: 2
    functionsReached:
    - store
    - isDynamicChanged
    - isAtlasTextureChanged
    - isValidChanged
    - exchange
    - hasAlphaChannelChanged
    - textureSizeChanged
    - nativeTextureSizeChanged
    - QRectF
    - QSize
    - hasMipmapsChanged
    - comparisonKeyChanged
    - normalizedTextureSubRectChanged
    linkageType: ''
    returnType: void
    signature: void TextureProviderObserver::resetProperties(std::memory_order memoryOrder)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:403,1
    - Dst: load
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:403,1
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:405,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:411,1
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:420,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 423
    functionName: TextureProviderObserver::adjustSampleAndNotifyConnection
    functionSourceFile: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp
    functionUses: 1
    functionsReached:
    - connect
    - disconnect
    - load
    linkageType: ''
    returnType: void
    signature: void TextureProviderObserver::adjustSampleAndNotifyConnection()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:433,1
    - Dst: exchange
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:434,1
    - Dst: textureSizeChanged
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:435,1
    - Dst: load
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:439,1
    - Dst: exchange
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:440,1
    - Dst: nativeTextureSizeChanged
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:441,1
    - Dst: load
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:445,1
    - Dst: exchange
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:446,1
    - Dst: comparisonKeyChanged
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:447,1
    - Dst: load
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:451,1
    - Dst: exchange
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:452,1
    - Dst: normalizedTextureSubRectChanged
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:453,1
    - Dst: exchange
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:456,1
    - Dst: textureChanged
      Src: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp:457,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 458
    functionName: TextureProviderObserver::sampleAndNotifyProperties
    functionSourceFile: /src/vlc/modules/gui/qt/util/textureproviderobserver.cpp
    functionUses: 0
    functionsReached:
    - load
    - exchange
    - nativeTextureSizeChanged
    - textureSizeChanged
    - textureChanged
    - comparisonKeyChanged
    - normalizedTextureSubRectChanged
    linkageType: ''
    returnType: void
    signature: void TextureProviderObserver::sampleAndNotifyProperties()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/util/csdmenu_wayland.c:37,1
    - Dst: wl_registry_bind
      Src: /src/vlc/modules/gui/qt/util/csdmenu_wayland.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - data
    - registry
    - id
    - iface
    - version
    argTypes:
    - void*
    - struct wl_registry*
    - uint32_t
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: csd_registry_global_cb
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdmenu_wayland.c
    functionUses: 0
    functionsReached:
    - wl_registry_bind
    - strcmp
    linkageType: ''
    returnType: void
    signature: "void csd_registry_global_cb(void* data, struct wl_registry* registry,\n
      \                                  uint32_t id, const char* iface, uint32_t
      version)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/gui/qt/util/csdmenu_wayland.c:44,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/gui/qt/util/csdmenu_wayland.c:45,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/gui/qt/util/csdmenu_wayland.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - registry
    - id
    argTypes:
    - void*
    - struct wl_registry*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: csd_registry_global_remove_cb
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdmenu_wayland.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void csd_registry_global_remove_cb(void* data, struct wl_registry*
      registry, uint32_t id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/csdmenu_wayland.c:57,1
    - Dst: unlikely
      Src: /src/vlc/modules/gui/qt/util/csdmenu_wayland.c:59,1
    - Dst: xdg_toplevel_show_window_menu
      Src: /src/vlc/modules/gui/qt/util/csdmenu_wayland.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p_this
    - event
    argTypes:
    - qt_csd_menu_t*
    - qt_csd_menu_event*
    assertStmts:
    - condition: (event->platform == QT_CSD_PLATFORM_WAYLAND)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/vlc/modules/gui/qt/util/csdmenu_wayland.c
    constantsTouched: []
    func_position:
      end: 65
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 65
    functionName: CSDMenuPopup
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdmenu_wayland.c
    functionUses: 0
    functionsReached:
    - xdg_toplevel_show_window_menu
    - assert
    - unlikely
    linkageType: ''
    returnType: bool
    signature: bool CSDMenuPopup(qt_csd_menu_t* p_this, qt_csd_menu_event* event)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xdg_wm_base_destroy
      Src: /src/vlc/modules/gui/qt/util/csdmenu_wayland.c:72,1
    - Dst: wl_event_queue_destroy
      Src: /src/vlc/modules/gui/qt/util/csdmenu_wayland.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: WaylandCSDMenuClose
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdmenu_wayland.c
    functionUses: 0
    functionsReached:
    - wl_event_queue_destroy
    - xdg_wm_base_destroy
    linkageType: ''
    returnType: void
    signature: void WaylandCSDMenuClose(vlc_object_t* obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/util/csdmenu_wayland.c:84,1
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/gui/qt/util/csdmenu_wayland.c:88,1
    - Dst: wl_display_create_queue
      Src: /src/vlc/modules/gui/qt/util/csdmenu_wayland.c:96,1
    - Dst: wl_proxy_create_wrapper
      Src: /src/vlc/modules/gui/qt/util/csdmenu_wayland.c:97,1
    - Dst: wl_proxy_set_queue
      Src: /src/vlc/modules/gui/qt/util/csdmenu_wayland.c:98,1
    - Dst: wl_display_get_registry
      Src: /src/vlc/modules/gui/qt/util/csdmenu_wayland.c:100,1
    - Dst: wl_proxy_wrapper_destroy
      Src: /src/vlc/modules/gui/qt/util/csdmenu_wayland.c:101,1
    - Dst: wl_registry_add_listener
      Src: /src/vlc/modules/gui/qt/util/csdmenu_wayland.c:103,1
    - Dst: wl_display_roundtrip_queue
      Src: /src/vlc/modules/gui/qt/util/csdmenu_wayland.c:104,1
    - Dst: wl_registry_destroy
      Src: /src/vlc/modules/gui/qt/util/csdmenu_wayland.c:106,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/util/csdmenu_wayland.c:109,1
    - Dst: WaylandCSDMenuClose
      Src: /src/vlc/modules/gui/qt/util/csdmenu_wayland.c:122,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/gui/qt/util/csdmenu_wayland.c:122,1
    - Dst: vlc_obj_free
      Src: /src/vlc/modules/gui/qt/util/csdmenu_wayland.c:123,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - p_this
    - info
    argTypes:
    - qt_csd_menu_t*
    - qt_csd_menu_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 125
    functionName: WaylandCSDMenuOpen
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdmenu_wayland.c
    functionUses: 0
    functionsReached:
    - wl_display_create_queue
    - vlc_obj_free
    - wl_proxy_create_wrapper
    - wl_proxy_set_queue
    - wl_display_roundtrip_queue
    - wl_registry_destroy
    - WaylandCSDMenuClose
    - wl_registry_add_listener
    - wl_display_get_registry
    - msg_Dbg
    - VLC_OBJECT
    - msg_Warn
    - wl_proxy_wrapper_destroy
    - vlc_obj_calloc
    linkageType: ''
    returnType: int
    signature: int WaylandCSDMenuOpen(qt_csd_menu_t* p_this, qt_csd_menu_info* info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - type
    - parent
    argTypes:
    - ButtonType
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: CSDButton::CSDButton
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdbuttonmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CSDButton::CSDButton(ButtonType type, QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: CSDButton::showHovered
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdbuttonmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CSDButton::showHovered() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - newShowHovered
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: CSDButton::setShowHovered
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdbuttonmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CSDButton::setShowHovered(bool newShowHovered)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: CSDButton::type
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdbuttonmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CSDButton::ButtonType
    signature: CSDButton::ButtonType CSDButton::type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: '&CSDButton::rect() const'
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdbuttonmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QRect
    signature: QRect &CSDButton::rect() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - newRect
    argTypes:
    - QRect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: CSDButton::setRect
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdbuttonmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CSDButton::setRect(const QRect &newRect)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: CSDButton::externalPressed
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdbuttonmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CSDButton::externalPressed() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: CSDButton::setExternalPressed
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdbuttonmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CSDButton::setExternalPressed()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: CSDButton::unsetExternalPressed
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdbuttonmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CSDButton::unsetExternalPressed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CSDButton::setExternalPressed
      Src: /src/vlc/modules/gui/qt/util/csdbuttonmodel.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: CSDButton::externalPress
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdbuttonmodel.cpp
    functionUses: 0
    functionsReached:
    - CSDButton::setExternalPressed
    linkageType: ''
    returnType: void
    signature: void CSDButton::externalPress()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CSDButton::unsetExternalPressed
      Src: /src/vlc/modules/gui/qt/util/csdbuttonmodel.cpp:95,1
    - Dst: CSDButton::click
      Src: /src/vlc/modules/gui/qt/util/csdbuttonmodel.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: CSDButton::externalRelease
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdbuttonmodel.cpp
    functionUses: 0
    functionsReached:
    - CSDButton::click
    - CSDButton::unsetExternalPressed
    linkageType: ''
    returnType: void
    signature: void CSDButton::externalRelease()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: CSDButton::click
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdbuttonmodel.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CSDButton::click()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: CSDButton::doubleClick
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdbuttonmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CSDButton::doubleClick()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CSDButton::CSDButton
      Src: /src/vlc/modules/gui/qt/util/csdbuttonmodel.cpp:115,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/csdbuttonmodel.cpp:116,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/util/csdbuttonmodel.cpp:117,1
    - Dst: newButton
      Src: /src/vlc/modules/gui/qt/util/csdbuttonmodel.cpp:120,1
    - Dst: newButton
      Src: /src/vlc/modules/gui/qt/util/csdbuttonmodel.cpp:121,1
    - Dst: newButton
      Src: /src/vlc/modules/gui/qt/util/csdbuttonmodel.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - mainCtx
    - parent
    argTypes:
    - MainCtx*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 123
    functionName: CSDButtonModel::CSDButtonModel
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdbuttonmodel.cpp
    functionUses: 0
    functionsReached:
    - connect
    - append
    - CSDButton::CSDButton
    - newButton
    linkageType: ''
    returnType: void
    signature: void CSDButtonModel::CSDButtonModel(MainCtx *mainCtx, QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: '&CSDButtonModel::windowCSDButtons() const'
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdbuttonmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QList<CSDButton *>
    signature: QList<CSDButton *> &CSDButtonModel::windowCSDButtons() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: CSDButtonModel::minimizeButtonClicked
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdbuttonmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CSDButtonModel::minimizeButtonClicked()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: intfMainWindow
      Src: /src/vlc/modules/gui/qt/util/csdbuttonmodel.cpp:138,1
    - Dst: requestInterfaceNormal
      Src: /src/vlc/modules/gui/qt/util/csdbuttonmodel.cpp:140,1
    - Dst: requestInterfaceMaximized
      Src: /src/vlc/modules/gui/qt/util/csdbuttonmodel.cpp:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: CSDButtonModel::maximizeRestoreButtonClicked
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdbuttonmodel.cpp
    functionUses: 0
    functionsReached:
    - intfMainWindow
    - requestInterfaceMaximized
    - requestInterfaceNormal
    linkageType: ''
    returnType: void
    signature: void CSDButtonModel::maximizeRestoreButtonClicked()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intfMainWindow
      Src: /src/vlc/modules/gui/qt/util/csdbuttonmodel.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: CSDButtonModel::closeButtonClicked
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdbuttonmodel.cpp
    functionUses: 0
    functionsReached:
    - intfMainWindow
    linkageType: ''
    returnType: void
    signature: void CSDButtonModel::closeButtonClicked()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: QSGTextureView::QSGTextureView
    functionSourceFile: /src/vlc/modules/gui/qt/util/qsgtextureview.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QSGTextureView()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/util/color_scheme_model.cpp:25,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/util/color_scheme_model.cpp:25,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/util/color_scheme_model.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: ColorSchemeModel::ColorSchemeModel
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_scheme_model.cpp
    functionUses: 0
    functionsReached:
    - qtr
    linkageType: ''
    returnType: void
    signature: void ColorSchemeModel::ColorSchemeModel(QObject* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/vlc/modules/gui/qt/util/color_scheme_model.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: ColorSchemeModel::rowCount
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_scheme_model.cpp
    functionUses: 0
    functionsReached:
    - count
    linkageType: ''
    returnType: int
    signature: int ColorSchemeModel::rowCount(const QModelIndex &) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: demux_test_and_clear_flags
      Src: /src/vlc/modules/gui/qt/util/color_scheme_model.cpp:37,1
    - Dst: QModelIndex::isValid
      Src: /src/vlc/modules/gui/qt/util/color_scheme_model.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: ColorSchemeModel::flags
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_scheme_model.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::isValid
    - demux_test_and_clear_flags
    linkageType: ''
    returnType: Qt::ItemFlags
    signature: Qt::ItemFlags ColorSchemeModel::flags (const QModelIndex &index) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: checkIndex
      Src: /src/vlc/modules/gui/qt/util/color_scheme_model.cpp:45,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/util/color_scheme_model.cpp:49,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/util/color_scheme_model.cpp:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - index
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 55
    functionName: ColorSchemeModel::data
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_scheme_model.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::row
    - checkIndex
    linkageType: ''
    returnType: QVariant
    signature: QVariant ColorSchemeModel::data(const QModelIndex &index, const int
      role) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkIndex
      Src: /src/vlc/modules/gui/qt/util/color_scheme_model.cpp:61,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/util/color_scheme_model.cpp:62,1
    - Dst: QVariant::typeId
      Src: /src/vlc/modules/gui/qt/util/color_scheme_model.cpp:63,1
    - Dst: QVariant::toBool
      Src: /src/vlc/modules/gui/qt/util/color_scheme_model.cpp:64,1
    - Dst: ColorSchemeModel::setCurrentIndex
      Src: /src/vlc/modules/gui/qt/util/color_scheme_model.cpp:66,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/util/color_scheme_model.cpp:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - index
    - value
    - role
    argTypes:
    - QModelIndex
    - QVariant
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: ColorSchemeModel::setData
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_scheme_model.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::row
    - QVariant::typeId
    - QVariant::toBool
    - checkIndex
    - ColorSchemeModel::setCurrentIndex
    linkageType: ''
    returnType: bool
    signature: "bool ColorSchemeModel::setData(const QModelIndex &index,\n                               const
      QVariant &value, const int role)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: ColorSchemeModel::currentIndex
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_scheme_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ColorSchemeModel::currentIndex() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ColorSchemeModel::index
      Src: /src/vlc/modules/gui/qt/util/color_scheme_model.cpp:83,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/color_scheme_model.cpp:85,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/util/color_scheme_model.cpp:88,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/util/color_scheme_model.cpp:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - newIndex
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: ColorSchemeModel::setCurrentIndex
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_scheme_model.cpp
    functionUses: 1
    functionsReached:
    - size
    - ColorSchemeModel::index
    - index
    linkageType: ''
    returnType: void
    signature: void ColorSchemeModel::setCurrentIndex(const int newIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: ColorSchemeModel::currentText
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_scheme_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString ColorSchemeModel::currentText() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: ColorSchemeModel::getSchemes
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_scheme_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QVector<ColorSchemeModel::Item>
    signature: QVector<ColorSchemeModel::Item> ColorSchemeModel::getSchemes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: ColorSchemeModel::currentScheme
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_scheme_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ColorSchemeModel::ColorScheme
    signature: ColorSchemeModel::ColorScheme ColorSchemeModel::currentScheme() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: currentChanged
      Src: /src/vlc/modules/gui/qt/util/color_scheme_model.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: ColorSchemeModel::indexChanged
    functionSourceFile: /src/vlc/modules/gui/qt/util/color_scheme_model.cpp
    functionUses: 0
    functionsReached:
    - currentChanged
    linkageType: ''
    returnType: void
    signature: void ColorSchemeModel::indexChanged(const int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINotifier::setupNotifications
      Src: /src/vlc/modules/gui/qt/util/ui_notifier.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - parent
    argTypes:
    - MainCtx*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: UINotifier::UINotifier
    functionSourceFile: /src/vlc/modules/gui/qt/util/ui_notifier.cpp
    functionUses: 0
    functionsReached:
    - UINotifier::setupNotifications
    linkageType: ''
    returnType: void
    signature: void UINotifier::UINotifier(MainCtx *ctx, QObject *parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/ui_notifier.cpp:32,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/util/ui_notifier.cpp:34,1
    - Dst: getIntfScaleFactor
      Src: /src/vlc/modules/gui/qt/util/ui_notifier.cpp:34,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/util/ui_notifier.cpp:36,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/ui_notifier.cpp:39,1
    - Dst: isMinimalView
      Src: /src/vlc/modules/gui/qt/util/ui_notifier.cpp:41,1
    - Dst: showNotification
      Src: /src/vlc/modules/gui/qt/util/ui_notifier.cpp:42,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/util/ui_notifier.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 45
    functionName: UINotifier::setupNotifications
    functionSourceFile: /src/vlc/modules/gui/qt/util/ui_notifier.cpp
    functionUses: 1
    functionsReached:
    - showNotification
    - qtr
    - connect
    - vlclua_io_file_read_number
    - getIntfScaleFactor
    - isMinimalView
    linkageType: ''
    returnType: void
    signature: void UINotifier::setupNotifications()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:25,1
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:28,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:37,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:38,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:39,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:40,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:41,1
    - Dst: ListSelectionModel::invalidateCache
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:44,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:47,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:49,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - model
    - parent
    argTypes:
    - QAbstractItemModel*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 51
    functionName: ListSelectionModel::ListSelectionModel
    functionSourceFile: /src/vlc/modules/gui/qt/util/list_selection_model.cpp
    functionUses: 0
    functionsReached:
    - connect
    - ListSelectionModel::invalidateCache
    - disconnect
    linkageType: ''
    returnType: void
    signature: void ListSelectionModel::ListSelectionModel(QAbstractItemModel *model,
      QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::playlist::PlaylistController::currentIndex
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: ListSelectionModel::currentIndexInt
    functionSourceFile: /src/vlc/modules/gui/qt/util/list_selection_model.cpp
    functionUses: 0
    functionsReached:
    - vlc::playlist::PlaylistController::currentIndex
    linkageType: ''
    returnType: int
    signature: int ListSelectionModel::currentIndexInt() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlclua_widget_get_selection
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:60,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:61,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:62,1
    - Dst: QVector::size
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:62,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:62,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:64,1
    - Dst: top
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:66,1
    - Dst: bottom
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (selection.size() == baseSelection.size() * 2)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/vlc/modules/gui/qt/util/list_selection_model.cpp
    constantsTouched: []
    func_position:
      end: 71
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 71
    functionName: ListSelectionModel::selectionFlat
    functionSourceFile: /src/vlc/modules/gui/qt/util/list_selection_model.cpp
    functionUses: 0
    functionsReached:
    - assert
    - top
    - vlclua_widget_get_selection
    - size
    - bottom
    - QVector::size
    linkageType: ''
    returnType: QVector<int>
    signature: QVector<int> ListSelectionModel::selectionFlat() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ListSelectionModel::updateSelectedIndexes
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: ListSelectionModel::selectedIndexesFlat
    functionSourceFile: /src/vlc/modules/gui/qt/util/list_selection_model.cpp
    functionUses: 0
    functionsReached:
    - ListSelectionModel::updateSelectedIndexes
    linkageType: ''
    returnType: QVector<int>
    signature: QVector<int> ListSelectionModel::selectedIndexesFlat() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ListSelectionModel::updateSortedSelectedIndexes
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: ListSelectionModel::sortedSelectedIndexesFlat
    functionSourceFile: /src/vlc/modules/gui/qt/util/list_selection_model.cpp
    functionUses: 0
    functionsReached:
    - ListSelectionModel::updateSortedSelectedIndexes
    linkageType: ''
    returnType: QVector<int>
    signature: QVector<int> ListSelectionModel::sortedSelectedIndexesFlat() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:89,1
    - Dst: model
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:89,1
    - Dst: AbstractStream::isSelected
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:90,1
    - Dst: model
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts:
    - condition: (model())
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/vlc/modules/gui/qt/util/list_selection_model.cpp
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: ListSelectionModel::isSelected
    functionSourceFile: /src/vlc/modules/gui/qt/util/list_selection_model.cpp
    functionUses: 0
    functionsReached:
    - model
    - assert
    - AbstractStream::isSelected
    linkageType: ''
    returnType: bool
    signature: bool ListSelectionModel::isSelected(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:95,1
    - Dst: model
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:95,1
    - Dst: ResetCurrentIndex
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:96,1
    - Dst: model
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - index
    - command
    argTypes:
    - int
    - SelectionFlags
    assertStmts:
    - condition: (model())
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/vlc/modules/gui/qt/util/list_selection_model.cpp
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: ListSelectionModel::setCurrentIndex
    functionSourceFile: /src/vlc/modules/gui/qt/util/list_selection_model.cpp
    functionUses: 0
    functionsReached:
    - model
    - assert
    - ResetCurrentIndex
    linkageType: ''
    returnType: void
    signature: void ListSelectionModel::setCurrentIndex(int index, SelectionFlags
      command)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:101,1
    - Dst: model
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:101,1
    - Dst: file_select
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:102,1
    - Dst: model
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - index
    - command
    argTypes:
    - int
    - SelectionFlags
    assertStmts:
    - condition: (model())
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/vlc/modules/gui/qt/util/list_selection_model.cpp
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: ListSelectionModel::select
    functionSourceFile: /src/vlc/modules/gui/qt/util/list_selection_model.cpp
    functionUses: 0
    functionsReached:
    - model
    - file_select
    - assert
    linkageType: ''
    returnType: void
    signature: void ListSelectionModel::select(int index, SelectionFlags command)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:107,1
    - Dst: QVector<int>::count
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:107,1
    - Dst: QVector<int>::count
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:111,1
    - Dst: model
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:113,1
    - Dst: model
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:114,1
    - Dst: QVector<int>::count
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:116,1
    - Dst: QVector<int>::count
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:118,1
    - Dst: model
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:120,1
    - Dst: model
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:121,1
    - Dst: QItemSelection::append
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:124,1
    - Dst: file_select
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - selection
    - command
    argTypes:
    - QVector<int>
    - SelectionFlags
    assertStmts:
    - condition: (selection.count() % 2 == 0)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/vlc/modules/gui/qt/util/list_selection_model.cpp
    constantsTouched: []
    func_position:
      end: 129
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 129
    functionName: ListSelectionModel::select
    functionSourceFile: /src/vlc/modules/gui/qt/util/list_selection_model.cpp
    functionUses: 0
    functionsReached:
    - assert
    - model
    - QItemSelection::append
    - file_select
    - QVector<int>::count
    linkageType: ''
    returnType: void
    signature: void ListSelectionModel::select(const QVector<int> &selection, SelectionFlags
      command)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ListSelectionModel::select
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: ListSelectionModel::selectAll
    functionSourceFile: /src/vlc/modules/gui/qt/util/list_selection_model.cpp
    functionUses: 0
    functionsReached:
    - ListSelectionModel::select
    linkageType: ''
    returnType: void
    signature: void ListSelectionModel::selectAll()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ListSelectionModel::select
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:142,1
    - Dst: ListSelectionModel::select
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:147,1
    - Dst: ListSelectionModel::select
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - modifiers
    - oldIndex
    - newIndex
    argTypes:
    - Qt::KeyboardModifiers
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 154
    functionName: ListSelectionModel::updateSelection
    functionSourceFile: /src/vlc/modules/gui/qt/util/list_selection_model.cpp
    functionUses: 0
    functionsReached:
    - ListSelectionModel::select
    linkageType: ''
    returnType: void
    signature: void ListSelectionModel::updateSelection(Qt::KeyboardModifiers modifiers,
      int oldIndex, int newIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QItemSelectionModel::selectedIndexes
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:158,1
    - Dst: QVector<int>
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:159,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:159,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:160,1
    - Dst: selectedIndexes::size
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:160,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:160,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:162,1
    - Dst: row
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_cache.selectedIndexes.size() == indexes.size())
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/vlc/modules/gui/qt/util/list_selection_model.cpp
    constantsTouched: []
    func_position:
      end: 168
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 168
    functionName: ListSelectionModel::updateSelectedIndexes
    functionSourceFile: /src/vlc/modules/gui/qt/util/list_selection_model.cpp
    functionUses: 1
    functionsReached:
    - QVector<int>
    - QItemSelectionModel::selectedIndexes
    - assert
    - size
    - row
    - selectedIndexes::size
    linkageType: ''
    returnType: void
    signature: void ListSelectionModel::updateSelectedIndexes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ListSelectionModel::updateSelectedIndexes
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:173,1
    - Dst: std::sort
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:175,1
    - Dst: selectedIndexes::begin
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:175,1
    - Dst: selectedIndexes::end
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.cpp:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: ListSelectionModel::updateSortedSelectedIndexes
    functionSourceFile: /src/vlc/modules/gui/qt/util/list_selection_model.cpp
    functionUses: 1
    functionsReached:
    - selectedIndexes::end
    - ListSelectionModel::updateSelectedIndexes
    - selectedIndexes::begin
    - std::sort
    linkageType: ''
    returnType: void
    signature: void ListSelectionModel::updateSortedSelectedIndexes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: ListSelectionModel::invalidateCache
    functionSourceFile: /src/vlc/modules/gui/qt/util/list_selection_model.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ListSelectionModel::invalidateCache() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:31,1
    - Dst: QApplication::styleHints
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: FlickableScrollHandler::FlickableScrollHandler
    functionSourceFile: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp
    functionUses: 0
    functionsReached:
    - connect
    - QApplication::styleHints
    linkageType: ''
    returnType: void
    signature: void FlickableScrollHandler::FlickableScrollHandler(QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FlickableScrollHandler::detach
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: FlickableScrollHandler::~FlickableScrollHandler()
    functionSourceFile: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp
    functionUses: 0
    functionsReached:
    - FlickableScrollHandler::detach
    linkageType: ''
    returnType: void
    signature: void FlickableScrollHandler::~FlickableScrollHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: FlickableScrollHandler::classBegin
    functionSourceFile: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FlickableScrollHandler::classBegin()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:50,1
    - Dst: parent
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:50,1
    - Dst: qobject_cast<QQuickItem*>
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:52,1
    - Dst: parent
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:52,1
    - Dst: inherits
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:53,1
    - Dst: qmlWarning
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:55,1
    - Dst: qmlContext
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:59,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:60,1
    - Dst: QQmlProperty
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:62,1
    - Dst: QQmlProperty
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:63,1
    - Dst: QQmlProperty
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:64,1
    - Dst: QQmlProperty
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:65,1
    - Dst: QQmlProperty
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:66,1
    - Dst: QQmlProperty
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:67,1
    - Dst: QQmlProperty
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:69,1
    - Dst: QQmlProperty
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:70,1
    - Dst: FlickableScrollHandler::adjustScrollBarV
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:72,1
    - Dst: FlickableScrollHandler::adjustScrollBarH
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:73,1
    - Dst: scrollBar::connectNotifySignal
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:75,1
    - Dst: SLOT
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:75,1
    - Dst: FlickableScrollHandler::adjustScrollBarV
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:75,1
    - Dst: scrollBar::connectNotifySignal
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:76,1
    - Dst: SLOT
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:76,1
    - Dst: FlickableScrollHandler::adjustScrollBarH
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:76,1
    - Dst: FlickableScrollHandler::enabled
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:78,1
    - Dst: FlickableScrollHandler::attach
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (qCtx)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp
    - condition: (parent())
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp
    constantsTouched: []
    func_position:
      end: 82
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 82
    functionName: FlickableScrollHandler::componentComplete
    functionSourceFile: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp
    functionUses: 0
    functionsReached:
    - assert
    - FlickableScrollHandler::adjustScrollBarH
    - parent
    - QQmlProperty
    - scrollBar::connectNotifySignal
    - qmlWarning
    - qobject_cast<QQuickItem*>
    - qmlContext
    - FlickableScrollHandler::adjustScrollBarV
    - SLOT
    - FlickableScrollHandler::attach
    - inherits
    - FlickableScrollHandler::enabled
    linkageType: ''
    returnType: void
    signature: void FlickableScrollHandler::componentComplete()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:86,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:87,1
    - Dst: QEvent*::type
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:89,1
    - Dst: QuitSpy::eventFilter
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:90,1
    - Dst: static_cast<QWheelEvent *>
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:92,1
    - Dst: auto::pixelDelta
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:104,1
    - Dst: auto::pixelDelta
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:104,1
    - Dst: auto::pixelDelta
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:106,1
    - Dst: auto::angleDelta
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:109,1
    - Dst: auto::angleDelta
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:111,1
    - Dst: read
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:121,1
    - Dst: read
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:122,1
    - Dst: read
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:123,1
    - Dst: read
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:124,1
    - Dst: read
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:125,1
    - Dst: read
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:126,1
    - Dst: FlickableScrollHandler::valid
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:132,1
    - Dst: stepSize::read
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:136,1
    - Dst: stepSize::write
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:144,1
    - Dst: qBound<qreal>
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:144,1
    - Dst: qAbs
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:144,1
    - Dst: decreaseMethod::invoke
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:147,1
    - Dst: increaseMethod::invoke
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:149,1
    - Dst: stepSize::write
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:152,1
    - Dst: qBound<qreal>
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:163,1
    - Dst: write
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:166,1
    - Dst: write
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:168,1
    - Dst: qFuzzyCompare
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:171,1
    - Dst: read
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:171,1
    - Dst: qFuzzyCompare
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:172,1
    - Dst: read
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:172,1
    - Dst: "struct {\n        QPoint delta;\n        enum class Type {\n            Pixel,\n
        \           Degree\n        } type;\n    }::delta::y"
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:176,1
    - Dst: "struct {\n        QPoint delta;\n        enum class Type {\n            Pixel,\n
        \           Degree\n        } type;\n    }::delta::x"
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:176,1
    - Dst: auto::modifiers
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:180,1
    - Dst: read
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:183,1
    - Dst: read
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:184,1
    - Dst: handler
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:188,1
    - Dst: auto::accept
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:190,1
    - Dst: handler
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:197,1
    - Dst: handler
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:198,1
    - Dst: "struct {\n        QPoint delta;\n        enum class Type {\n            Pixel,\n
        \           Degree\n        } type;\n    }::delta::y"
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:202,1
    - Dst: handler
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:203,1
    - Dst: "struct {\n        QPoint delta;\n        enum class Type {\n            Pixel,\n
        \           Degree\n        } type;\n    }::delta::x"
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:204,1
    - Dst: handler
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:205,1
    - Dst: QuitSpy::eventFilter
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:208,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 53
    argCount: 2
    argNames:
    - watched
    - event
    argTypes:
    - QObject*
    - QEvent*
    assertStmts:
    - condition: (watched == m_target)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp
    - condition: (event)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp
    constantsTouched: []
    func_position:
      end: 209
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 209
    functionName: FlickableScrollHandler::eventFilter
    functionSourceFile: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp
    functionUses: 0
    functionsReached:
    - qFuzzyCompare
    - assert
    - stepSize::read
    - "struct {\n        QPoint delta;\n        enum class Type {\n            Pixel,\n
      \           Degree\n        } type;\n    }::delta::x"
    - auto::accept
    - increaseMethod::invoke
    - QEvent*::type
    - auto::pixelDelta
    - write
    - QuitSpy::eventFilter
    - decreaseMethod::invoke
    - qBound<qreal>
    - auto::modifiers
    - stepSize::write
    - read
    - static_cast<QWheelEvent *>
    - auto::angleDelta
    - "struct {\n        QPoint delta;\n        enum class Type {\n            Pixel,\n
      \           Degree\n        } type;\n    }::delta::y"
    - handler
    - FlickableScrollHandler::valid
    - qAbs
    linkageType: ''
    returnType: bool
    signature: bool FlickableScrollHandler::eventFilter(QObject *watched, QEvent *event)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: installEventFilter
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 217
    functionName: FlickableScrollHandler::attach
    functionSourceFile: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp
    functionUses: 1
    functionsReached:
    - installEventFilter
    linkageType: ''
    returnType: void
    signature: void FlickableScrollHandler::attach()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: removeEventFilter
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 225
    functionName: FlickableScrollHandler::detach
    functionSourceFile: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp
    functionUses: 1
    functionsReached:
    - removeEventFilter
    linkageType: ''
    returnType: void
    signature: void FlickableScrollHandler::detach()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scrollBar::read
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:229,1
    - Dst: QQmlProperty
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:235,1
    - Dst: qmlContext
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:235,1
    - Dst: auto::metaObject
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:236,1
    - Dst: auto::metaObject
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:236,1
    - Dst: auto::metaObject
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:237,1
    - Dst: auto::metaObject
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' scrollBar'
    argTypes:
    - ScrollBar
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: FlickableScrollHandler::adjustScrollBar
    functionSourceFile: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp
    functionUses: 0
    functionsReached:
    - auto::metaObject
    - qmlContext
    - QQmlProperty
    - scrollBar::read
    linkageType: ''
    returnType: void
    signature: void FlickableScrollHandler::adjustScrollBar(ScrollBar& scrollBar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: FlickableScrollHandler::enabled
    functionSourceFile: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool FlickableScrollHandler::enabled() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FlickableScrollHandler::attach
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:252,1
    - Dst: FlickableScrollHandler::detach
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - newEnabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 258
    functionName: FlickableScrollHandler::setEnabled
    functionSourceFile: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp
    functionUses: 0
    functionsReached:
    - FlickableScrollHandler::attach
    - FlickableScrollHandler::detach
    linkageType: ''
    returnType: void
    signature: void FlickableScrollHandler::setEnabled(bool newEnabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FlickableScrollHandler::adjustScrollBar
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 263
    functionName: FlickableScrollHandler::adjustScrollBarV
    functionSourceFile: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp
    functionUses: 1
    functionsReached:
    - FlickableScrollHandler::adjustScrollBar
    linkageType: ''
    returnType: void
    signature: void FlickableScrollHandler::adjustScrollBarV()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FlickableScrollHandler::adjustScrollBar
      Src: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: FlickableScrollHandler::adjustScrollBarH
    functionSourceFile: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp
    functionUses: 1
    functionsReached:
    - FlickableScrollHandler::adjustScrollBar
    linkageType: ''
    returnType: void
    signature: void FlickableScrollHandler::adjustScrollBarH()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: FlickableScrollHandler::effectiveScaleFactor
    functionSourceFile: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: qreal
    signature: qreal FlickableScrollHandler::effectiveScaleFactor() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ResetCurrentIndex
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.hpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index
    - command
    argTypes:
    - QModelIndex
    - QItemSelectionModel::SelectionFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: ListSelectionModel::setCurrentIndex
    functionSourceFile: /src/vlc/modules/gui/qt/util/list_selection_model.hpp
    functionUses: 0
    functionsReached:
    - ResetCurrentIndex
    linkageType: ''
    returnType: void
    signature: void setCurrentIndex(const QModelIndex &index, QItemSelectionModel::SelectionFlags
      command) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_select
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.hpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index
    - command
    argTypes:
    - QModelIndex
    - QItemSelectionModel::SelectionFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: ListSelectionModel::select
    functionSourceFile: /src/vlc/modules/gui/qt/util/list_selection_model.hpp
    functionUses: 2
    functionsReached:
    - file_select
    linkageType: ''
    returnType: void
    signature: void select(const QModelIndex &index, QItemSelectionModel::SelectionFlags
      command) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_select
      Src: /src/vlc/modules/gui/qt/util/list_selection_model.hpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - selection
    - command
    argTypes:
    - QItemSelection
    - QItemSelectionModel::SelectionFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: ListSelectionModel::select
    functionSourceFile: /src/vlc/modules/gui/qt/util/list_selection_model.hpp
    functionUses: 2
    functionsReached:
    - file_select
    linkageType: ''
    returnType: void
    signature: void select(const QItemSelection &selection, QItemSelectionModel::SelectionFlags
      command) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: startsWith
      Src: /src/vlc/modules/gui/qt/util/validators.cpp:31,1
    - Dst: endsWith
      Src: /src/vlc/modules/gui/qt/util/validators.cpp:31,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/util/validators.cpp:34,1
    - Dst: QUrl::scheme
      Src: /src/vlc/modules/gui/qt/util/validators.cpp:38,1
    - Dst: QUrl::isValid
      Src: /src/vlc/modules/gui/qt/util/validators.cpp:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: UrlValidator::validate
    functionSourceFile: /src/vlc/modules/gui/qt/util/validators.cpp
    functionUses: 0
    functionsReached:
    - startsWith
    - QUrl::scheme
    - QUrl::isValid
    - isEmpty
    - endsWith
    linkageType: ''
    returnType: QValidator::State
    signature: QValidator::State UrlValidator::validate( QString& str, int& ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trimmed
      Src: /src/vlc/modules/gui/qt/util/validators.cpp:46,1
    - Dst: QUrl::toString
      Src: /src/vlc/modules/gui/qt/util/validators.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: UrlValidator::fixup
    functionSourceFile: /src/vlc/modules/gui/qt/util/validators.cpp
    functionUses: 0
    functionsReached:
    - QUrl::toString
    - trimmed
    linkageType: ''
    returnType: void
    signature: void UrlValidator::fixup( QString & input ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: runTaskAsync
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:34,1
    - Dst: insert
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:37,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:39,1
    - Dst: find
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:41,1
    - Dst: cend
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:42,1
    - Dst: erase
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:44,1
    - Dst: task
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 50
    functionName: LocalListCacheLoaderObj::protected
    functionSourceFile: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp
    functionUses: 0
    functionsReached:
    - erase
    - insert
    - task
    - runTaskAsync
    - cend
    - QMetaObject::invokeMethod
    - find
    linkageType: ''
    returnType: Q_OBJECT
    signature: Q_OBJECT protected
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: ~ModelSource()
    functionSourceFile: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ModelSource()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: LocalListCacheLoader::ModelSource::isDying
    functionSourceFile: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDying() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - source
    - ' pattern'
    - compare
    argTypes:
    - ModelSource*
    - QString
    - ItemCompare
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 105
    functionName: LocalListCacheLoader::LocalListCacheLoader
    functionSourceFile: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void LocalListCacheLoader(\n        const ModelSource* source,\n        const
      QString& pattern,\n        ItemCompare compare)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - taskId
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: LocalListCacheLoader::cancelTask
    functionSourceFile: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp
    functionUses: 0
    functionsReached:
    - erase
    linkageType: ''
    returnType: void
    signature: void cancelTask(size_t taskId) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: runTaskAsync
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:114,1
    - Dst: LocalListCacheLoader::updateData
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:115,1
    - Dst: cb
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:117,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cb
    argTypes:
    - std::function<void(size_t taskId, size_t count)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: LocalListCacheLoader::countTask
    functionSourceFile: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp
    functionUses: 0
    functionsReached:
    - runTaskAsync
    - cb
    - LocalListCacheLoader::updateData
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t countTask(std::function<void(size_t taskId, size_t count)> cb)
      override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: runTaskAsync
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:125,1
    - Dst: LocalListCacheLoader::updateData
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:126,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:129,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:131,1
    - Dst: std::copy
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:133,1
    - Dst: cbegin
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:133,1
    - Dst: cend
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:133,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:133,1
    - Dst: std::vector::reserve
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:137,1
    - Dst: std::copy_n
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:138,1
    - Dst: cbegin
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:138,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:138,1
    - Dst: cb
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - offset
    - limit
    - cb
    argTypes:
    - size_t
    - size_t
    - std::function<void(size_t taskId, std::vector<ItemType>& data)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 143
    functionName: LocalListCacheLoader::loadTask
    functionSourceFile: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - LocalListCacheLoader::updateData
    - size
    - cb
    - std::back_inserter
    - std::copy
    - runTaskAsync
    - cend
    - cbegin
    - std::copy_n
    linkageType: ''
    returnType: size_t
    signature: "size_t loadTask(\n        size_t offset, size_t limit,\n        std::function<void(size_t
      taskId, std::vector<ItemType>& data)> cb) override"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: runTaskAsync
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:149,1
    - Dst: LocalListCacheLoader::updateData
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:150,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:153,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:155,1
    - Dst: std::copy
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:157,1
    - Dst: cbegin
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:157,1
    - Dst: cend
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:157,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:157,1
    - Dst: std::vector::reserve
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:161,1
    - Dst: std::copy_n
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:162,1
    - Dst: cbegin
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:162,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:162,1
    - Dst: cb
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:165,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - offset
    - limit
    - cb
    argTypes:
    - size_t
    - size_t
    - std::function<void(size_t taskId, size_t count, std::vector<ItemType>& data)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 167
    functionName: LocalListCacheLoader::countAndLoadTask
    functionSourceFile: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp
    functionUses: 0
    functionsReached:
    - std::vector::reserve
    - LocalListCacheLoader::updateData
    - size
    - cb
    - std::back_inserter
    - std::copy
    - runTaskAsync
    - cend
    - cbegin
    - std::copy_n
    linkageType: ''
    returnType: size_t
    signature: "size_t countAndLoadTask(\n        size_t offset, size_t limit,\n        std::function<void(size_t
      taskId, size_t count, std::vector<ItemType>& data)> cb) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isDying
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:171,1
    - Dst: getModelRevision
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:174,1
    - Dst: getModelData
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:177,1
    - Dst: std::sort
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:178,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:178,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:178,1
    - Dst: getModelRevision
      Src: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 183
    functionName: LocalListCacheLoader::updateData
    functionSourceFile: /src/vlc/modules/gui/qt/util/locallistcacheloader.hpp
    functionUses: 3
    functionsReached:
    - getModelRevision
    - begin
    - getModelData
    - isDying
    - std::sort
    - end
    linkageType: ''
    returnType: bool
    signature: bool updateData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PointingToolTipAttached::PointingToolTipAttached
      Src: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: qmlAttachedProperties
    functionSourceFile: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp
    functionUses: 0
    functionsReached:
    - PointingToolTipAttached::PointingToolTipAttached
    linkageType: ''
    returnType: PointingToolTipAttached
    signature: PointingToolTipAttached *qmlAttachedProperties(QObject* parent)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: instanceBoundToParent
      Src: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp:79,1
    - Dst: QQmlProperty
      Src: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp:82,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp:82,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp:84,1
    - Dst: isWritable
      Src: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp:84,1
    - Dst: write
      Src: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' point'
    argTypes:
    - QPointF
    assertStmts:
    - condition: (m_posProperty->isWritable())
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp
    constantsTouched: []
    func_position:
      end: 88
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 88
    functionName: setPos
    functionSourceFile: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp
    functionUses: 1
    functionsReached:
    - QStringLiteral
    - assert
    - instanceBoundToParent
    - isWritable
    - QQmlProperty
    - write
    linkageType: ''
    returnType: void
    signature: void setPos(const QPointF& point)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: instanceBoundToParent
      Src: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp:98,1
    - Dst: QQmlProperty
      Src: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp:101,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp:101,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp:103,1
    - Dst: isWritable
      Src: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp:103,1
    - Dst: write
      Src: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' text'
    argTypes:
    - QString
    assertStmts:
    - condition: (m_textProperty->isWritable())
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp
    constantsTouched: []
    func_position:
      end: 107
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 107
    functionName: setText
    functionSourceFile: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp
    functionUses: 88
    functionsReached:
    - QStringLiteral
    - assert
    - instanceBoundToParent
    - isWritable
    - QQmlProperty
    - write
    linkageType: ''
    returnType: void
    signature: void setText(const QString& text)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp:119,1
    - Dst: QQmlProperty
      Src: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp:122,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp:122,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp:124,1
    - Dst: isWritable
      Src: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp:124,1
    - Dst: QQmlProperty
      Src: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp:130,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp:130,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp:132,1
    - Dst: isWritable
      Src: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp:132,1
    - Dst: write
      Src: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp:134,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp:134,1
    - Dst: qobject_cast<QQuickItem*>
      Src: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp:134,1
    - Dst: parent
      Src: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp:134,1
    - Dst: setPos
      Src: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp:136,1
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp:137,1
    - Dst: write
      Src: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp:139,1
    - Dst: instanceBoundToParent
      Src: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp:143,1
    - Dst: write
      Src: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp:144,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - visible
    argTypes:
    - bool
    assertStmts:
    - condition: (m_instance)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp
    - condition: (m_visibleProperty->isWritable())
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp
    - condition: (m_parentProperty->isWritable())
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp
    constantsTouched: []
    func_position:
      end: 146
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 146
    functionName: setVisible
    functionSourceFile: /src/vlc/modules/gui/qt/util/pointingtooltipattached.hpp
    functionUses: 25
    functionsReached:
    - setPos
    - QStringLiteral
    - assert
    - instanceBoundToParent
    - parent
    - isWritable
    - QQmlProperty
    - write
    - qobject_cast<QQuickItem*>
    - setText
    - fromValue
    linkageType: ''
    returnType: void
    signature: void setVisible(bool visible)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - device
    - requestedSize
    - postProcessCb
    argTypes:
    - std::unique_ptr<QIODevice>
    - QSize
    - VLCAccessImageProvider::ImagePostProcessCb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: ImageReader::ImageReader
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ImageReader(std::unique_ptr<QIODevice> device, QSize requestedSize,
      VLCAccessImageProvider::ImagePostProcessCb postProcessCb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: ImageReader::errorString
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString errorString() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QImageReader::setDevice
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:65,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:65,1
    - Dst: QImageReader::size
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:66,1
    - Dst: isValid
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:68,1
    - Dst: QImageReader::setScaledSize
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:69,1
    - Dst: QSize::scaled
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:69,1
    - Dst: QImageReader::read
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:71,1
    - Dst: auto::isNull
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:73,1
    - Dst: QImageReader::errorString
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:74,1
    - Dst: auto::isNull
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:77,1
    - Dst: postProcessCb
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 81
    functionName: ImageReader::execute
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    functionUses: 0
    functionsReached:
    - postProcessCb
    - QImageReader::setDevice
    - QImageReader::read
    - get
    - QImageReader::setScaledSize
    - QSize::scaled
    - QImageReader::errorString
    - QImageReader::size
    - isValid
    - auto::isNull
    linkageType: ''
    returnType: QImage
    signature: QImage execute() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: scheme
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:99,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:99,1
    - Dst: QQmlFile::urlToLocalFileOrQrc
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:101,1
    - Dst: std::make_unique<QFile>
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:102,1
    - Dst: QUrl::scheme
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:107,1
    - Dst: QUrl::setScheme
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:108,1
    - Dst: std::make_unique<VLCIODevice>
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:109,1
    - Dst: QUrl::toString
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:109,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:111,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:111,1
    - Dst: ImageReader::ImageReader
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:111,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:113,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:113,1
    - Dst: start
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:115,1
    - Dst: QThreadPool::globalInstance
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' url'
    - requestedSize
    argTypes:
    - QUrl
    - QSize
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 116
    functionName: VLCAccessImageResponse::VLCAccessImageResponse
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    functionUses: 0
    functionsReached:
    - QStringLiteral
    - ImageReader::ImageReader
    - QThreadPool::globalInstance
    - get
    - QQmlFile::urlToLocalFileOrQrc
    - QUrl::scheme
    - scheme
    - QUrl::toString
    - reset
    - connect
    - std::move
    - start
    - QUrl::setScheme
    - std::make_unique<VLCIODevice>
    - std::make_unique<QFile>
    linkageType: ''
    returnType: void
    signature: void VLCAccessImageResponse(const QUrl& url, const QSize &requestedSize,
      VLCAccessImageProvider::ImagePostProcessCb postProcessCb = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:120,1
    - Dst: QQuickTextureFactory::textureFactoryForImage
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: VLCAccessImageResponse::textureFactory
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - QQuickTextureFactory::textureFactoryForImage
    linkageType: ''
    returnType: QQuickTextureFactory
    signature: QQuickTextureFactory *textureFactory() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:125,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:125,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: VLCAccessImageResponse::errorString
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    functionUses: 0
    functionsReached:
    - isEmpty
    - QStringLiteral
    - isNull
    linkageType: ''
    returnType: QString
    signature: QString errorString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: VLCAccessImageResponse::cancel
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: takeResult
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:139,1
    - Dst: VLCAccessImageResponse::errorString
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:140,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 144
    functionName: VLCAccessImageResponse::handleImageRead
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    functionUses: 0
    functionsReached:
    - takeResult
    - VLCAccessImageResponse::errorString
    - reset
    linkageType: ''
    returnType: void
    signature: void handleImageRead()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - device
    - requestedSize
    - postProcessCb
    argTypes:
    - std::unique_ptr<QIODevice>
    - QSize
    - VLCAccessImageProvider::ImagePostProcessCb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: ImageReader::ImageReader
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    functionUses: 1
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ImageReader(std::unique_ptr<QIODevice> device, QSize requestedSize,
      VLCAccessImageProvider::ImagePostProcessCb postProcessCb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: ImageReader::errorString
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString errorString() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QImageReader::setDevice
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:65,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:65,1
    - Dst: QImageReader::size
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:66,1
    - Dst: isValid
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:68,1
    - Dst: QImageReader::setScaledSize
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:69,1
    - Dst: QSize::scaled
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:69,1
    - Dst: QImageReader::read
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:71,1
    - Dst: auto::isNull
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:73,1
    - Dst: QImageReader::errorString
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:74,1
    - Dst: auto::isNull
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:77,1
    - Dst: postProcessCb
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 81
    functionName: ImageReader::execute
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    functionUses: 0
    functionsReached:
    - postProcessCb
    - QImageReader::setDevice
    - QImageReader::read
    - get
    - QImageReader::setScaledSize
    - QSize::scaled
    - QImageReader::errorString
    - QImageReader::size
    - isValid
    - auto::isNull
    linkageType: ''
    returnType: QImage
    signature: QImage execute() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: scheme
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:99,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:99,1
    - Dst: QQmlFile::urlToLocalFileOrQrc
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:101,1
    - Dst: std::make_unique<QFile>
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:102,1
    - Dst: QUrl::scheme
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:107,1
    - Dst: QUrl::setScheme
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:108,1
    - Dst: std::make_unique<VLCIODevice>
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:109,1
    - Dst: QUrl::toString
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:109,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:111,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:111,1
    - Dst: ImageReader::ImageReader
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:111,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:113,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:113,1
    - Dst: start
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:115,1
    - Dst: QThreadPool::globalInstance
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' url'
    - requestedSize
    argTypes:
    - QUrl
    - QSize
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 116
    functionName: VLCAccessImageResponse::VLCAccessImageResponse
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    functionUses: 0
    functionsReached:
    - QStringLiteral
    - ImageReader::ImageReader
    - QThreadPool::globalInstance
    - get
    - QQmlFile::urlToLocalFileOrQrc
    - QUrl::scheme
    - scheme
    - QUrl::toString
    - reset
    - connect
    - std::move
    - start
    - QUrl::setScheme
    - std::make_unique<VLCIODevice>
    - std::make_unique<QFile>
    linkageType: ''
    returnType: void
    signature: void VLCAccessImageResponse(const QUrl& url, const QSize &requestedSize,
      VLCAccessImageProvider::ImagePostProcessCb postProcessCb = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:120,1
    - Dst: QQuickTextureFactory::textureFactoryForImage
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: VLCAccessImageResponse::textureFactory
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - QQuickTextureFactory::textureFactoryForImage
    linkageType: ''
    returnType: QQuickTextureFactory
    signature: QQuickTextureFactory *textureFactory() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:125,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:125,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: VLCAccessImageResponse::errorString
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    functionUses: 1
    functionsReached:
    - isEmpty
    - QStringLiteral
    - isNull
    linkageType: ''
    returnType: QString
    signature: QString errorString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: VLCAccessImageResponse::cancel
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: takeResult
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:139,1
    - Dst: VLCAccessImageResponse::errorString
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:140,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 144
    functionName: VLCAccessImageResponse::handleImageRead
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    functionUses: 0
    functionsReached:
    - takeResult
    - VLCAccessImageResponse::errorString
    - reset
    linkageType: ''
    returnType: void
    signature: void handleImageRead()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cb
    argTypes:
    - VLCAccessImageProvider::ImagePostProcessCb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: VLCAccessImageProvider::VLCAccessImageProvider
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VLCAccessImageProvider::VLCAccessImageProvider(VLCAccessImageProvider::ImagePostProcessCb
      cb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUrlQuery::hasQueryItem
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:166,1
    - Dst: QUrlQuery::queryItemValue
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:169,1
    - Dst: QUrl::fromEncoded
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:170,1
    - Dst: QString::toUtf8
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:170,1
    - Dst: VLCAccessImageResponse::VLCAccessImageResponse
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' id'
    - ' requestedSize'
    argTypes:
    - QString
    - QSize
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 171
    functionName: VLCAccessImageProvider::requestImageResponse
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    functionUses: 0
    functionsReached:
    - QUrl::fromEncoded
    - QUrlQuery::queryItemValue
    - QUrlQuery::hasQueryItem
    - QString::toUtf8
    - VLCAccessImageResponse::VLCAccessImageResponse
    linkageType: ''
    returnType: QQuickImageResponse
    signature: QQuickImageResponse * VLCAccessImageProvider::requestImageResponse(const
      QString& id, const QSize& requestedSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUrlQuery::addQueryItem
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:176,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:177,1
    - Dst: QUrlQuery::toString
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - path
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: VLCAccessImageProvider::wrapUri
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    functionUses: 0
    functionsReached:
    - QStringLiteral
    - QUrlQuery::addQueryItem
    - QUrlQuery::toString
    linkageType: ''
    returnType: QString
    signature: QString VLCAccessImageProvider::wrapUri(QString path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLCAccessImageResponse::VLCAccessImageResponse
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - url
    - requestedSize
    - cb
    argTypes:
    - QUrl
    - QSize
    - VLCAccessImageProvider::ImagePostProcessCb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: VLCAccessImageProvider::requestImageResponseUnWrapped
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    functionUses: 1
    functionsReached:
    - VLCAccessImageResponse::VLCAccessImageResponse
    linkageType: ''
    returnType: QQuickImageResponse
    signature: QQuickImageResponse * VLCAccessImageProvider::requestImageResponseUnWrapped(const
      QUrl url, const QSize &requestedSize, VLCAccessImageProvider::ImagePostProcessCb
      cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: VLCAccessImage::VLCAccessImage
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VLCAccessImage::VLCAccessImage(QObject* parent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUrl::scheme
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:196,1
    - Dst: QUrl::scheme
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:196,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:196,1
    - Dst: QUrl::scheme
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:196,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:196,1
    - Dst: VLCAccessImageProvider::wrapUri
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ' path'
    - excludeLocalFileOrUnknownScheme
    argTypes:
    - QString
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 200
    functionName: VLCAccessImage::uri
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    functionUses: 0
    functionsReached:
    - VLCAccessImageProvider::wrapUri
    - QUrl::scheme
    - QLatin1String
    linkageType: ''
    returnType: QString
    signature: QString VLCAccessImage::uri(const QString& path, const bool excludeLocalFileOrUnknownScheme)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' filename'
    - parent
    argTypes:
    - QString
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: VLCIODevice::VLCIODevice
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VLCIODevice::VLCIODevice(const QString& filename, QObject* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLCIODevice::close
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: VLCIODevice::~VLCIODevice()
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    functionUses: 0
    functionsReached:
    - VLCIODevice::close
    linkageType: ''
    returnType: void
    signature: void VLCIODevice::~VLCIODevice()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_access_NewMRL
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:221,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:221,1
    - Dst: libc_open
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - mode
    argTypes:
    - OpenMode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 226
    functionName: VLCIODevice::open
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    functionUses: 0
    functionsReached:
    - vlc_access_NewMRL
    - qtu
    - libc_open
    linkageType: ''
    returnType: bool
    signature: bool VLCIODevice::open(OpenMode mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_stream)
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    constantsTouched: []
    func_position:
      end: 235
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 235
    functionName: VLCIODevice::isSequential
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool VLCIODevice::isSequential() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 243
    functionName: VLCIODevice::close
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    functionUses: 1
    functionsReached:
    - vlc_stream_Delete
    linkageType: ''
    returnType: void
    signature: void VLCIODevice::close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:247,1
    - Dst: vlc_stream_Tell
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_stream)
      pos:
        line_end: 246
        line_start: 246
        source_file: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: VLCIODevice::pos
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    functionUses: 0
    functionsReached:
    - vlc_stream_Tell
    - assert
    linkageType: ''
    returnType: qint64
    signature: qint64 VLCIODevice::pos() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:253,1
    - Dst: vlc_stream_GetSize
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:255,1
    - Dst: static_cast<qint64>
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_stream)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    constantsTouched: []
    func_position:
      end: 259
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 259
    functionName: VLCIODevice::size
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    functionUses: 0
    functionsReached:
    - static_cast<qint64>
    - assert
    - vlc_stream_GetSize
    linkageType: ''
    returnType: qint64
    signature: qint64 VLCIODevice::size() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:263,1
    - Dst: test_capabilities_seek
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:264,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pos
    argTypes:
    - qint64
    assertStmts:
    - condition: (m_stream)
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    constantsTouched: []
    func_position:
      end: 268
      start: 261
    functionDepth: 7
    functionLinenumber: 261
    functionLinenumberEnd: 268
    functionName: VLCIODevice::seek
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    functionUses: 0
    functionsReached:
    - test_capabilities_seek
    - vlc_stream_Seek
    - assert
    linkageType: ''
    returnType: bool
    signature: bool VLCIODevice::seek(qint64 pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:272,1
    - Dst: vlc_stream_Eof
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_stream)
      pos:
        line_end: 271
        line_start: 271
        source_file: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    constantsTouched: []
    func_position:
      end: 274
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 274
    functionName: VLCIODevice::atEnd
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    functionUses: 0
    functionsReached:
    - assert
    - vlc_stream_Eof
    linkageType: ''
    returnType: bool
    signature: bool VLCIODevice::atEnd() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:278,1
    - Dst: vlc_stream_Seek
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_stream)
      pos:
        line_end: 277
        line_start: 277
        source_file: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: VLCIODevice::reset
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    functionUses: 0
    functionsReached:
    - vlc_stream_Seek
    - assert
    linkageType: ''
    returnType: bool
    signature: bool VLCIODevice::reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:284,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - maxlen
    argTypes:
    - char*
    - qint64
    assertStmts:
    - condition: (m_stream)
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    constantsTouched: []
    func_position:
      end: 286
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 286
    functionName: VLCIODevice::readData
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    functionUses: 0
    functionsReached:
    - vlc_stream_Read
    - assert
    linkageType: ''
    returnType: qint64
    signature: qint64 VLCIODevice::readData(char* data, qint64 maxlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_stream)
      pos:
        line_end: 289
        line_start: 289
        source_file: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 292
    functionName: VLCIODevice::writeData
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcaccess_image_provider.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: qint64
    signature: qint64 VLCIODevice::writeData(const char*, qint64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/util/keyhelper.hpp:33,1
    - Dst: QKeyEvent*::matches
      Src: /src/vlc/modules/gui/qt/util/keyhelper.hpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - QKeyEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: KeyHelper::matchLeft
    functionSourceFile: /src/vlc/modules/gui/qt/util/keyhelper.hpp
    functionUses: 0
    functionsReached:
    - QKeyEvent*::key
    - QKeyEvent*::matches
    linkageType: ''
    returnType: bool
    signature: bool matchLeft(const QKeyEvent* event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/util/keyhelper.hpp:39,1
    - Dst: QKeyEvent*::matches
      Src: /src/vlc/modules/gui/qt/util/keyhelper.hpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - QKeyEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: KeyHelper::matchRight
    functionSourceFile: /src/vlc/modules/gui/qt/util/keyhelper.hpp
    functionUses: 0
    functionsReached:
    - QKeyEvent*::key
    - QKeyEvent*::matches
    linkageType: ''
    returnType: bool
    signature: bool matchRight(const QKeyEvent* event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/util/keyhelper.hpp:45,1
    - Dst: QKeyEvent*::matches
      Src: /src/vlc/modules/gui/qt/util/keyhelper.hpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - QKeyEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: KeyHelper::matchUp
    functionSourceFile: /src/vlc/modules/gui/qt/util/keyhelper.hpp
    functionUses: 0
    functionsReached:
    - QKeyEvent*::key
    - QKeyEvent*::matches
    linkageType: ''
    returnType: bool
    signature: bool matchUp(const QKeyEvent* event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/util/keyhelper.hpp:51,1
    - Dst: QKeyEvent*::matches
      Src: /src/vlc/modules/gui/qt/util/keyhelper.hpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - QKeyEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: KeyHelper::matchDown
    functionSourceFile: /src/vlc/modules/gui/qt/util/keyhelper.hpp
    functionUses: 0
    functionsReached:
    - QKeyEvent*::key
    - QKeyEvent*::matches
    linkageType: ''
    returnType: bool
    signature: bool matchDown(const QKeyEvent* event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/util/keyhelper.hpp:58,1
    - Dst: QKeyEvent*::matches
      Src: /src/vlc/modules/gui/qt/util/keyhelper.hpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - QKeyEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: KeyHelper::matchPageDown
    functionSourceFile: /src/vlc/modules/gui/qt/util/keyhelper.hpp
    functionUses: 0
    functionsReached:
    - QKeyEvent*::key
    - QKeyEvent*::matches
    linkageType: ''
    returnType: bool
    signature: bool matchPageDown(const QKeyEvent* event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/util/keyhelper.hpp:64,1
    - Dst: QKeyEvent*::matches
      Src: /src/vlc/modules/gui/qt/util/keyhelper.hpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - QKeyEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: KeyHelper::matchPageUp
    functionSourceFile: /src/vlc/modules/gui/qt/util/keyhelper.hpp
    functionUses: 0
    functionsReached:
    - QKeyEvent*::key
    - QKeyEvent*::matches
    linkageType: ''
    returnType: bool
    signature: bool matchPageUp(const QKeyEvent* event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/util/keyhelper.hpp:70,1
    - Dst: QKeyEvent*::matches
      Src: /src/vlc/modules/gui/qt/util/keyhelper.hpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - QKeyEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: KeyHelper::matchOk
    functionSourceFile: /src/vlc/modules/gui/qt/util/keyhelper.hpp
    functionUses: 0
    functionsReached:
    - QKeyEvent*::key
    - QKeyEvent*::matches
    linkageType: ''
    returnType: bool
    signature: bool matchOk( const QKeyEvent* event )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/util/keyhelper.hpp:76,1
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/util/keyhelper.hpp:77,1
    - Dst: QKeyEvent*::modifiers
      Src: /src/vlc/modules/gui/qt/util/keyhelper.hpp:78,1
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/util/keyhelper.hpp:78,1
    - Dst: QKeyEvent*::modifiers
      Src: /src/vlc/modules/gui/qt/util/keyhelper.hpp:79,1
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/util/keyhelper.hpp:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - QKeyEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: KeyHelper::matchSearch
    functionSourceFile: /src/vlc/modules/gui/qt/util/keyhelper.hpp
    functionUses: 0
    functionsReached:
    - QKeyEvent*::modifiers
    - QKeyEvent*::key
    linkageType: ''
    returnType: bool
    signature: bool matchSearch( const QKeyEvent* event )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/util/keyhelper.hpp:84,1
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/util/keyhelper.hpp:85,1
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/util/keyhelper.hpp:86,1
    - Dst: QKeyEvent*::matches
      Src: /src/vlc/modules/gui/qt/util/keyhelper.hpp:87,1
    - Dst: QKeyEvent*::matches
      Src: /src/vlc/modules/gui/qt/util/keyhelper.hpp:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - QKeyEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: KeyHelper::matchCancel
    functionSourceFile: /src/vlc/modules/gui/qt/util/keyhelper.hpp
    functionUses: 0
    functionsReached:
    - QKeyEvent*::key
    - QKeyEvent*::matches
    linkageType: ''
    returnType: bool
    signature: bool matchCancel(const QKeyEvent* event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: KeyHelper::KeyHelper
    functionSourceFile: /src/vlc/modules/gui/qt/util/keyhelper.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeyHelper()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QmlKeyHelper::call
      Src: /src/vlc/modules/gui/qt/util/keyhelper.hpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: QmlKeyHelper::matchLeft
    functionSourceFile: /src/vlc/modules/gui/qt/util/keyhelper.hpp
    functionUses: 0
    functionsReached:
    - QmlKeyHelper::call
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE matchLeft(QObject* event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QmlKeyHelper::call
      Src: /src/vlc/modules/gui/qt/util/keyhelper.hpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: QmlKeyHelper::matchRight
    functionSourceFile: /src/vlc/modules/gui/qt/util/keyhelper.hpp
    functionUses: 0
    functionsReached:
    - QmlKeyHelper::call
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE matchRight(QObject* event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QmlKeyHelper::call
      Src: /src/vlc/modules/gui/qt/util/keyhelper.hpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: QmlKeyHelper::matchUp
    functionSourceFile: /src/vlc/modules/gui/qt/util/keyhelper.hpp
    functionUses: 0
    functionsReached:
    - QmlKeyHelper::call
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE matchUp(QObject* event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QmlKeyHelper::call
      Src: /src/vlc/modules/gui/qt/util/keyhelper.hpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: QmlKeyHelper::matchDown
    functionSourceFile: /src/vlc/modules/gui/qt/util/keyhelper.hpp
    functionUses: 0
    functionsReached:
    - QmlKeyHelper::call
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE matchDown(QObject* event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QmlKeyHelper::call
      Src: /src/vlc/modules/gui/qt/util/keyhelper.hpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: QmlKeyHelper::matchPageDown
    functionSourceFile: /src/vlc/modules/gui/qt/util/keyhelper.hpp
    functionUses: 0
    functionsReached:
    - QmlKeyHelper::call
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE matchPageDown(QObject* event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QmlKeyHelper::call
      Src: /src/vlc/modules/gui/qt/util/keyhelper.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: QmlKeyHelper::matchPageUp
    functionSourceFile: /src/vlc/modules/gui/qt/util/keyhelper.hpp
    functionUses: 0
    functionsReached:
    - QmlKeyHelper::call
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE matchPageUp(QObject* event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QmlKeyHelper::call
      Src: /src/vlc/modules/gui/qt/util/keyhelper.hpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: QmlKeyHelper::matchOk
    functionSourceFile: /src/vlc/modules/gui/qt/util/keyhelper.hpp
    functionUses: 0
    functionsReached:
    - QmlKeyHelper::call
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE matchOk( QObject* event )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QmlKeyHelper::call
      Src: /src/vlc/modules/gui/qt/util/keyhelper.hpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: QmlKeyHelper::matchSearch
    functionSourceFile: /src/vlc/modules/gui/qt/util/keyhelper.hpp
    functionUses: 0
    functionsReached:
    - QmlKeyHelper::call
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE matchSearch( QObject* event )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QmlKeyHelper::call
      Src: /src/vlc/modules/gui/qt/util/keyhelper.hpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: QmlKeyHelper::matchCancel
    functionSourceFile: /src/vlc/modules/gui/qt/util/keyhelper.hpp
    functionUses: 0
    functionsReached:
    - QmlKeyHelper::call
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE matchCancel(QObject* event)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QApplication::primaryScreen
      Src: /src/vlc/modules/gui/qt/util/imagehelper.cpp:40,1
    - Dst: QScopedPointer<QImageIOHandler>
      Src: /src/vlc/modules/gui/qt/util/imagehelper.cpp:42,1
    - Dst: ImageHelper::createSvgImageIOHandler
      Src: /src/vlc/modules/gui/qt/util/imagehelper.cpp:42,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/util/imagehelper.cpp:45,1
    - Dst: QFile::open
      Src: /src/vlc/modules/gui/qt/util/imagehelper.cpp:51,1
    - Dst: auto::setDevice
      Src: /src/vlc/modules/gui/qt/util/imagehelper.cpp:53,1
    - Dst: auto::setOption
      Src: /src/vlc/modules/gui/qt/util/imagehelper.cpp:54,1
    - Dst: auto::canRead
      Src: /src/vlc/modules/gui/qt/util/imagehelper.cpp:56,1
    - Dst: auto::read
      Src: /src/vlc/modules/gui/qt/util/imagehelper.cpp:57,1
    - Dst: qWarning
      Src: /src/vlc/modules/gui/qt/util/imagehelper.cpp:59,1
    - Dst: qWarning
      Src: /src/vlc/modules/gui/qt/util/imagehelper.cpp:63,1
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/util/imagehelper.cpp:67,1
    - Dst: QImage::isNull
      Src: /src/vlc/modules/gui/qt/util/imagehelper.cpp:67,1
    - Dst: QImage
      Src: /src/vlc/modules/gui/qt/util/imagehelper.cpp:69,1
    - Dst: QImage::fill
      Src: /src/vlc/modules/gui/qt/util/imagehelper.cpp:70,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/util/imagehelper.cpp:70,1
    - Dst: QImage::setDevicePixelRatio
      Src: /src/vlc/modules/gui/qt/util/imagehelper.cpp:73,1
    - Dst: QPixmap::fromImage
      Src: /src/vlc/modules/gui/qt/util/imagehelper.cpp:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - path
    - i_width
    - i_height
    argTypes:
    - QString
    - qint32
    - qint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 75
    functionName: ImageHelper::loadSvgToPixmap
    functionSourceFile: /src/vlc/modules/gui/qt/util/imagehelper.cpp
    functionUses: 1
    functionsReached:
    - QColor
    - Q_UNLIKELY
    - ImageHelper::createSvgImageIOHandler
    - QFile::open
    - QImage::isNull
    - auto::setOption
    - auto::canRead
    - auto::read
    - QPixmap::fromImage
    - auto::setDevice
    - QImage
    - QImage::setDevicePixelRatio
    - QScopedPointer<QImageIOHandler>
    - QSize
    - QImage::fill
    - QApplication::primaryScreen
    - qWarning
    linkageType: ''
    returnType: QPixmap
    signature: QPixmap ImageHelper::loadSvgToPixmap( const QString &path, qint32 i_width,
      qint32 i_height )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QPluginLoader::staticInstances
      Src: /src/vlc/modules/gui/qt/util/imagehelper.cpp:84,1
    - Dst: std::find_if
      Src: /src/vlc/modules/gui/qt/util/imagehelper.cpp:85,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/util/imagehelper.cpp:85,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/util/imagehelper.cpp:85,1
    - Dst: inherits
      Src: /src/vlc/modules/gui/qt/util/imagehelper.cpp:86,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/util/imagehelper.cpp:89,1
    - Dst: qobject_cast<QImageIOPlugin*>
      Src: /src/vlc/modules/gui/qt/util/imagehelper.cpp:90,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/util/imagehelper.cpp:92,1
    - Dst: qobject_cast<QImageIOPlugin*>
      Src: /src/vlc/modules/gui/qt/util/imagehelper.cpp:94,1
    - Dst: QPluginLoader::instance
      Src: /src/vlc/modules/gui/qt/util/imagehelper.cpp:94,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/imagehelper.cpp:98,1
    - Dst: QThread::currentThread
      Src: /src/vlc/modules/gui/qt/util/imagehelper.cpp:99,1
    - Dst: thread
      Src: /src/vlc/modules/gui/qt/util/imagehelper.cpp:99,1
    - Dst: retrieve
      Src: /src/vlc/modules/gui/qt/util/imagehelper.cpp:100,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/util/imagehelper.cpp:102,1
    - Dst: qWarning
      Src: /src/vlc/modules/gui/qt/util/imagehelper.cpp:109,1
    - Dst: QPointer::create
      Src: /src/vlc/modules/gui/qt/util/imagehelper.cpp:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (qApp)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/vlc/modules/gui/qt/util/imagehelper.cpp
    constantsTouched: []
    func_position:
      end: 114
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 114
    functionName: ImageHelper::createSvgImageIOHandler
    functionSourceFile: /src/vlc/modules/gui/qt/util/imagehelper.cpp
    functionUses: 3
    functionsReached:
    - QPluginLoader::instance
    - QStringLiteral
    - assert
    - qWarning
    - qobject_cast<QImageIOPlugin*>
    - QPluginLoader::staticInstances
    - begin
    - QThread::currentThread
    - std::find_if
    - thread
    - QPointer::create
    - end
    - QMetaObject::invokeMethod
    - inherits
    - retrieve
    linkageType: ''
    returnType: QImageIOHandler
    signature: QImageIOHandler *ImageHelper::createSvgImageIOHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<AudioDeviceModel*>
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:28,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:29,1
    - Dst: QString::fromUtf8
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:29,1
    - Dst: AudioDeviceModel*::updateCurrent
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - device
    - data
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: on_player_aout_device_changed
    functionSourceFile: /src/vlc/modules/gui/qt/util/audio_device_model.cpp
    functionUses: 0
    functionsReached:
    - QString::fromUtf8
    - QMetaObject::invokeMethod
    - static_cast<AudioDeviceModel*>
    - AudioDeviceModel*::updateCurrent
    linkageType: ''
    returnType: void
    signature: void on_player_aout_device_changed(audio_output_t *,const char *device,
      void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_aout_AddListener
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:48,1
    - Dst: vlc_player_aout_Hold
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:51,1
    - Dst: aout_DevicesList
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - player
    - parent
    argTypes:
    - vlc_player_t*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: AudioDeviceModel::AudioDeviceModel
    functionSourceFile: /src/vlc/modules/gui/qt/util/audio_device_model.cpp
    functionUses: 0
    functionsReached:
    - vlc_player_aout_AddListener
    - vlc_player_aout_Hold
    - aout_DevicesList
    linkageType: ''
    returnType: void
    signature: void AudioDeviceModel::AudioDeviceModel(vlc_player_t *player, QObject
      *parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:60,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:61,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:64,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:65,1
    - Dst: vlc_player_aout_RemoveListener
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:68,1
    - Dst: aout_Release
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 72
    functionName: AudioDeviceModel::~AudioDeviceModel()
    functionSourceFile: /src/vlc/modules/gui/qt/util/audio_device_model.cpp
    functionUses: 0
    functionsReached:
    - free
    - vlc_player_aout_RemoveListener
    - aout_Release
    linkageType: ''
    returnType: void
    signature: void AudioDeviceModel::~AudioDeviceModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: AudioDeviceModel::flags
    functionSourceFile: /src/vlc/modules/gui/qt/util/audio_device_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Qt::ItemFlags
    signature: Qt::ItemFlags AudioDeviceModel::flags(const QModelIndex &) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::isValid
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: AudioDeviceModel::rowCount
    functionSourceFile: /src/vlc/modules/gui/qt/util/audio_device_model.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::isValid
    linkageType: ''
    returnType: int
    signature: int AudioDeviceModel::rowCount(const QModelIndex &parent) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:89,1
    - Dst: QModelIndex::isValid
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:90,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:91,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:93,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:97,1
    - Dst: QVariant::fromValue<bool>
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:99,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:99,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:100,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:102,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 2
    argNames:
    - index
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 103
    functionName: AudioDeviceModel::data
    functionSourceFile: /src/vlc/modules/gui/qt/util/audio_device_model.cpp
    functionUses: 0
    functionsReached:
    - QVariant
    - QVariant::fromValue<bool>
    - QModelIndex::row
    - isEmpty
    - QModelIndex::isValid
    - qfu
    linkageType: ''
    returnType: QVariant
    signature: QVariant AudioDeviceModel::data(const QModelIndex &index, int role)
      const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:107,1
    - Dst: QModelIndex::isValid
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:108,1
    - Dst: QVariant::canConvert
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:114,1
    - Dst: QVariant::toBool
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:116,1
    - Dst: aout_DeviceSet
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - index
    - value
    - role
    argTypes:
    - QModelIndex
    - QVariant
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 122
    functionName: AudioDeviceModel::setData
    functionSourceFile: /src/vlc/modules/gui/qt/util/audio_device_model.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::row
    - QVariant::canConvert
    - QVariant::toBool
    - aout_DeviceSet
    - QModelIndex::isValid
    linkageType: ''
    returnType: bool
    signature: bool AudioDeviceModel::setData(const QModelIndex &index, const QVariant
      &value, int role)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:128,1
    - Dst: dataChanged
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:144,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:144,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:144,1
    - Dst: dataChanged
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:146,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:146,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:146,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - current
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 147
    functionName: AudioDeviceModel::updateCurrent
    functionSourceFile: /src/vlc/modules/gui/qt/util/audio_device_model.cpp
    functionUses: 0
    functionsReached:
    - std::swap
    - dataChanged
    - index
    linkageType: ''
    returnType: void
    signature: void AudioDeviceModel::updateCurrent(QString current)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:152,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/util/audio_device_model.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: AudioDeviceModel::roleNames
    functionSourceFile: /src/vlc/modules/gui/qt/util/audio_device_model.cpp
    functionUses: 0
    functionsReached:
    - QByteArrayLiteral
    linkageType: ''
    returnType: QHash<int, QByteArray>
    signature: QHash<int, QByteArray> AudioDeviceModel::roleNames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: ImageLuminanceExtractor::ImageLuminanceExtractor
    functionSourceFile: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ImageLuminanceExtractor::ImageLuminanceExtractor(QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: ImageLuminanceExtractor::source
    functionSourceFile: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUrl
    signature: QUrl ImageLuminanceExtractor::source() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: ImageLuminanceExtractor::luminance
    functionSourceFile: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ImageLuminanceExtractor::luminance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: ImageLuminanceExtractor::isEnabled
    functionSourceFile: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ImageLuminanceExtractor::isEnabled() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - luminance
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: ImageLuminanceExtractor::setLuminance
    functionSourceFile: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ImageLuminanceExtractor::setLuminance(const int luminance)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ImageLuminanceExtractor::startTask
      Src: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - source
    argTypes:
    - QUrl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: ImageLuminanceExtractor::setSource
    functionSourceFile: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp
    functionUses: 0
    functionsReached:
    - ImageLuminanceExtractor::startTask
    linkageType: ''
    returnType: void
    signature: void ImageLuminanceExtractor::setSource(const QUrl &source)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ImageLuminanceExtractor::startTask
      Src: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: ImageLuminanceExtractor::setIsEnabled
    functionSourceFile: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp
    functionUses: 0
    functionsReached:
    - ImageLuminanceExtractor::startTask
    linkageType: ''
    returnType: void
    signature: void ImageLuminanceExtractor::setIsEnabled(const bool enabled)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp:74,1
    - Dst: LuminanceCalculator::LuminanceCalculator
      Src: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp:74,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp:75,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp:75,1
    - Dst: static_cast<LuminanceCalculator *>
      Src: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp:77,1
    - Dst: sender
      Src: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp:77,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp:78,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp:78,1
    - Dst: LuminanceCalculator*::takeResult
      Src: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp:80,1
    - Dst: ImageLuminanceExtractor::setLuminance
      Src: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp:82,1
    - Dst: qWarning
      Src: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp:84,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp:86,1
    - Dst: start
      Src: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp:89,1
    - Dst: QThreadPool::globalInstance
      Src: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (task == m_task.get())
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp
    constantsTouched: []
    func_position:
      end: 90
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 90
    functionName: ImageLuminanceExtractor::startTask
    functionSourceFile: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp
    functionUses: 2
    functionsReached:
    - QThreadPool::globalInstance
    - assert
    - ImageLuminanceExtractor::setLuminance
    - LuminanceCalculator*::takeResult
    - get
    - LuminanceCalculator::LuminanceCalculator
    - static_cast<LuminanceCalculator *>
    - sender
    - reset
    - connect
    - start
    - qWarning
    linkageType: ''
    returnType: void
    signature: void ImageLuminanceExtractor::startTask()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - source
    argTypes:
    - QUrl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: ImageLuminanceExtractor::LuminanceCalculator::LuminanceCalculator(const
      QUrl &source)
    functionSourceFile: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ImageLuminanceExtractor::LuminanceCalculator::LuminanceCalculator(const
      QUrl &source)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isLocalFile
      Src: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp:96,1
    - Dst: toLocalFile
      Src: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp:96,1
    - Dst: toString
      Src: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp:96,1
    - Dst: QString::startsWith
      Src: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp:97,1
    - Dst: QString::replace
      Src: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp:98,1
    - Dst: strlen
      Src: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp:98,1
    - Dst: isLocalFile
      Src: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp:99,1
    - Dst: QImage
      Src: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp:102,1
    - Dst: QImage::isNull
      Src: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp:103,1
    - Dst: QImage::width
      Src: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp:108,1
    - Dst: QImage::height
      Src: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp:110,1
    - Dst: QImage::pixelColor
      Src: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp:112,1
    - Dst: QColor::isValid
      Src: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp:113,1
    - Dst: QColor::red
      Src: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp:116,1
    - Dst: QColor::green
      Src: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp:116,1
    - Dst: QColor::blue
      Src: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 123
    functionName: ImageLuminanceExtractor::LuminanceCalculator::execute()
    functionSourceFile: /src/vlc/modules/gui/qt/util/imageluminanceextractor.cpp
    functionUses: 0
    functionsReached:
    - QImage::width
    - QString::replace
    - QImage::height
    - QImage::isNull
    - isLocalFile
    - strlen
    - QColor::red
    - QColor::blue
    - QColor::isValid
    - QImage
    - QImage::pixelColor
    - QString::startsWith
    - toString
    - QColor::green
    - toLocalFile
    linkageType: ''
    returnType: int
    signature: int ImageLuminanceExtractor::LuminanceCalculator::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: ~AsyncTask()
    functionSourceFile: /src/vlc/modules/gui/qt/util/asynctask.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AsyncTask()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Runnable>
      Src: /src/vlc/modules/gui/qt/util/asynctask.hpp:163,1
    - Dst: QThreadPool::start
      Src: /src/vlc/modules/gui/qt/util/asynctask.hpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - threadPool
    argTypes:
    - QThreadPool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: AsyncTask::start
    functionSourceFile: /src/vlc/modules/gui/qt/util/asynctask.hpp
    functionUses: 0
    functionsReached:
    - QThreadPool::start
    - std::make_unique<Runnable>
    linkageType: ''
    returnType: void
    signature: void start(QThreadPool &threadPool, int priority = 0)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/asynctask.hpp:177,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/asynctask.hpp:178,1
    - Dst: tryTake
      Src: /src/vlc/modules/gui/qt/util/asynctask.hpp:180,1
    - Dst: deleteLater
      Src: /src/vlc/modules/gui/qt/util/asynctask.hpp:184,1
    - Dst: deleteLater
      Src: /src/vlc/modules/gui/qt/util/asynctask.hpp:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_runnable)
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/vlc/modules/gui/qt/util/asynctask.hpp
    - condition: (m_threadPool)
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/vlc/modules/gui/qt/util/asynctask.hpp
    constantsTouched: []
    func_position:
      end: 193
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 193
    functionName: AsyncTask::abandon
    functionSourceFile: /src/vlc/modules/gui/qt/util/asynctask.hpp
    functionUses: 0
    functionsReached:
    - assert
    - tryTake
    - deleteLater
    linkageType: ''
    returnType: void
    signature: void abandon()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/util/asynctask.hpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: AsyncTask::takeResult
    functionSourceFile: /src/vlc/modules/gui/qt/util/asynctask.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: T
    signature: T takeResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setAutoDelete
      Src: /src/vlc/modules/gui/qt/util/asynctask.hpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - task
    argTypes:
    - AsyncTask<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: AsyncTask<T>::Runnable::Runnable
    functionSourceFile: /src/vlc/modules/gui/qt/util/asynctask.hpp
    functionUses: 0
    functionsReached:
    - setAutoDelete
    linkageType: ''
    returnType: void
    signature: void Runnable(AsyncTask<T> *task)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: execute
      Src: /src/vlc/modules/gui/qt/util/asynctask.hpp:232,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/util/asynctask.hpp:234,1
    - Dst: deleteLater
      Src: /src/vlc/modules/gui/qt/util/asynctask.hpp:240,1
    - Dst: result
      Src: /src/vlc/modules/gui/qt/util/asynctask.hpp:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 244
    functionName: AsyncTask<T>::Runnable::run
    functionSourceFile: /src/vlc/modules/gui/qt/util/asynctask.hpp
    functionUses: 0
    functionsReached:
    - result
    - execute
    - QMetaObject::invokeMethod
    - deleteLater
    linkageType: ''
    returnType: void
    signature: void run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T*::abandon
      Src: /src/vlc/modules/gui/qt/util/asynctask.hpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - task
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: operator()(T *task)
    functionSourceFile: /src/vlc/modules/gui/qt/util/asynctask.hpp
    functionUses: 0
    functionsReached:
    - T*::abandon
    linkageType: ''
    returnType: void
    signature: void operator()(T *task)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - vlc_value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: fromValue
    functionSourceFile: /src/vlc/modules/gui/qt/util/variables.hpp
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString fromValue(const vlc_value_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:51,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: toValue
    functionSourceFile: /src/vlc/modules/gui/qt/util/variables.hpp
    functionUses: 0
    functionsReached:
    - qtu
    - strdup
    linkageType: ''
    returnType: vlc_value_t
    signature: vlc_value_t toValue(const QString& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - vlc_value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: releaseValue
    functionSourceFile: /src/vlc/modules/gui/qt/util/variables.hpp
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void releaseValue(vlc_value_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - vlc_value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: fromValue
    functionSourceFile: /src/vlc/modules/gui/qt/util/variables.hpp
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fromValue(const vlc_value_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: toValue
    functionSourceFile: /src/vlc/modules/gui/qt/util/variables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_value_t
    signature: vlc_value_t toValue(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: releaseValue
    functionSourceFile: /src/vlc/modules/gui/qt/util/variables.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void releaseValue(vlc_value_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - vlc_value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: fromValue
    functionSourceFile: /src/vlc/modules/gui/qt/util/variables.hpp
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t fromValue(const vlc_value_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: toValue
    functionSourceFile: /src/vlc/modules/gui/qt/util/variables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_value_t
    signature: vlc_value_t toValue(int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: releaseValue
    functionSourceFile: /src/vlc/modules/gui/qt/util/variables.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void releaseValue(vlc_value_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - vlc_value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: fromValue
    functionSourceFile: /src/vlc/modules/gui/qt/util/variables.hpp
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float fromValue(const vlc_value_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: toValue
    functionSourceFile: /src/vlc/modules/gui/qt/util/variables.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_value_t
    signature: vlc_value_t toValue(float value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: releaseValue
    functionSourceFile: /src/vlc/modules/gui/qt/util/variables.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void releaseValue(vlc_value_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLCObjectHolderImpl<T>::VLCObjectHolderImpl<T>
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:119,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - object
    - property
    - parent
    argTypes:
    - T*
    - QString
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: QVLCVariable::QVLCVariable
    functionSourceFile: /src/vlc/modules/gui/qt/util/variables.hpp
    functionUses: 0
    functionsReached:
    - VLCObjectHolderImpl<T>::VLCObjectHolderImpl<T>
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void QVLCVariable(T* object, const QString &property, QObject* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:130,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_object->get() == nullptr)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/vlc/modules/gui/qt/util/variables.hpp
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: ~QVLCVariable()
    functionSourceFile: /src/vlc/modules/gui/qt/util/variables.hpp
    functionUses: 0
    functionsReached:
    - get
    - assert
    linkageType: ''
    returnType: void
    signature: void ~QVLCVariable()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QVLCVariable::clearObject
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:137,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:140,1
    - Dst: var_Type
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:141,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:141,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:144,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:144,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:144,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:145,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:148,1
    - Dst: var_Get
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:150,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:150,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:150,1
    - Dst: static_cast<Derived*>
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:152,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:153,1
    - Dst: var_Create
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:157,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:157,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:157,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:158,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:158,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - object
    argTypes:
    - T*
    assertStmts:
    - condition: ((type & VLC_VAR_CLASS) == VLCVarTypeTraits<BaseType>::var_type)
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/vlc/modules/gui/qt/util/variables.hpp
    constantsTouched: []
    func_position:
      end: 160
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 160
    functionName: QVLCVariable::resetObject
    functionSourceFile: /src/vlc/modules/gui/qt/util/variables.hpp
    functionUses: 0
    functionsReached:
    - static_cast<Derived*>
    - QVLCVariable::clearObject
    - assert
    - get
    - var_AddCallback
    - clear
    - var_Create
    - reset
    - qtu
    - msg_Warn
    - fromValue
    - var_Get
    - var_Type
    linkageType: ''
    returnType: void
    signature: void resetObject( T* object )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:164,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:166,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:166,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:166,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:167,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:167,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:167,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 170
    functionName: QVLCVariable::clearObject
    functionSourceFile: /src/vlc/modules/gui/qt/util/variables.hpp
    functionUses: 1
    functionsReached:
    - var_Destroy
    - get
    - clear
    - var_DelCallback
    - qtu
    linkageType: ''
    returnType: void
    signature: void clearObject()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: QVLCVariable::getValue
    functionSourceFile: /src/vlc/modules/gui/qt/util/variables.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: BaseType
    signature: BaseType getValue() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:183,1
    - Dst: toValue
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:185,1
    - Dst: var_Set
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:186,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:186,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:186,1
    - Dst: releaseValue
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 188
    functionName: QVLCVariable::setValueInternal
    functionSourceFile: /src/vlc/modules/gui/qt/util/variables.hpp
    functionUses: 0
    functionsReached:
    - releaseValue
    - get
    - qtu
    - var_Set
    - toValue
    linkageType: ''
    returnType: void
    signature: void setValueInternal(BaseType value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:193,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:196,1
    - Dst: static_cast<Derived*>
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - object
    - value
    argTypes:
    - vlc_object_t*
    - BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 200
    functionName: QVLCVariable::onValueChangedInternal
    functionSourceFile: /src/vlc/modules/gui/qt/util/variables.hpp
    functionUses: 0
    functionsReached:
    - static_cast<Derived*>
    - get
    - std::move
    linkageType: ''
    returnType: void
    signature: void onValueChangedInternal(vlc_object_t* object, BaseType value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<QVLCVariableCRef*>
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:207,1
    - Dst: static_cast<Derived*>
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - newValue
    - data
    argTypes:
    - vlc_object_t*
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: QVLCVariable::value_modified
    functionSourceFile: /src/vlc/modules/gui/qt/util/variables.hpp
    functionUses: 0
    functionsReached:
    - static_cast<Derived*>
    - static_cast<QVLCVariableCRef*>
    linkageType: ''
    returnType: int
    signature: int value_modified( vlc_object_t * object, char const *, vlc_value_t,
      vlc_value_t newValue, void * data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resetObject<T>
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:231,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - object
    - property
    argTypes:
    - T*
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: QVLCBool::QVLCBool
    functionSourceFile: /src/vlc/modules/gui/qt/util/variables.hpp
    functionUses: 0
    functionsReached:
    - resetObject<T>
    - connect
    linkageType: ''
    returnType: void
    signature: void QVLCBool(T* object, const QString &property, QObject* parent =
      nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clearObject
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: ~QVLCBool()
    functionSourceFile: /src/vlc/modules/gui/qt/util/variables.hpp
    functionUses: 0
    functionsReached:
    - clearObject
    linkageType: ''
    returnType: void
    signature: void ~QVLCBool()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resetObject<T>
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:257,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - object
    - property
    argTypes:
    - T*
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 259
    functionName: QVLCString::QVLCString
    functionSourceFile: /src/vlc/modules/gui/qt/util/variables.hpp
    functionUses: 0
    functionsReached:
    - resetObject<T>
    - connect
    linkageType: ''
    returnType: void
    signature: void QVLCString(T* object, const QString &property, QObject* parent
      = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clearObject
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 263
    functionName: ~QVLCString()
    functionSourceFile: /src/vlc/modules/gui/qt/util/variables.hpp
    functionUses: 0
    functionsReached:
    - clearObject
    linkageType: ''
    returnType: void
    signature: void ~QVLCString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resetObject<T>
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:283,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - object
    - property
    argTypes:
    - T*
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 285
    functionName: QVLCFloat::QVLCFloat
    functionSourceFile: /src/vlc/modules/gui/qt/util/variables.hpp
    functionUses: 0
    functionsReached:
    - resetObject<T>
    - connect
    linkageType: ''
    returnType: void
    signature: void QVLCFloat(T* object, const QString &property, QObject* parent
      = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clearObject
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: ~QVLCFloat()
    functionSourceFile: /src/vlc/modules/gui/qt/util/variables.hpp
    functionUses: 0
    functionsReached:
    - clearObject
    linkageType: ''
    returnType: void
    signature: void ~QVLCFloat()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resetObject<T>
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:310,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - object
    - property
    argTypes:
    - T*
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 312
    functionName: QVLCInteger::QVLCInteger
    functionSourceFile: /src/vlc/modules/gui/qt/util/variables.hpp
    functionUses: 0
    functionsReached:
    - resetObject<T>
    - connect
    linkageType: ''
    returnType: void
    signature: void QVLCInteger(T* object, const QString &property, QObject* parent
      = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clearObject
      Src: /src/vlc/modules/gui/qt/util/variables.hpp:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 316
    functionName: ~QVLCInteger()
    functionSourceFile: /src/vlc/modules/gui/qt/util/variables.hpp
    functionUses: 0
    functionsReached:
    - clearObject
    linkageType: ''
    returnType: void
    signature: void ~QVLCInteger()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mode
    - state
    argTypes:
    - QIcon::Mode
    - QIcon::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: ColorizedSvgIcon::hashKey
    functionSourceFile: /src/vlc/modules/gui/qt/util/colorizedsvgicon.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hashKey(QIcon::Mode mode, QIcon::State state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: QmlKeyHelper::QmlKeyHelper
    functionSourceFile: /src/vlc/modules/gui/qt/util/keyhelper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QmlKeyHelper::QmlKeyHelper(QObject* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QObject*::property
      Src: /src/vlc/modules/gui/qt/util/keyhelper.cpp:29,1
    - Dst: static_cast<Qt::KeyboardModifiers>
      Src: /src/vlc/modules/gui/qt/util/keyhelper.cpp:30,1
    - Dst: QObject*::property
      Src: /src/vlc/modules/gui/qt/util/keyhelper.cpp:30,1
    - Dst: QObject*::property
      Src: /src/vlc/modules/gui/qt/util/keyhelper.cpp:31,1
    - Dst: QObject*::property
      Src: /src/vlc/modules/gui/qt/util/keyhelper.cpp:32,1
    - Dst: QObject*::property
      Src: /src/vlc/modules/gui/qt/util/keyhelper.cpp:33,1
    - Dst: fun
      Src: /src/vlc/modules/gui/qt/util/keyhelper.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: QmlKeyHelper::call
    functionSourceFile: /src/vlc/modules/gui/qt/util/keyhelper.cpp
    functionUses: 9
    functionsReached:
    - fun
    - static_cast<Qt::KeyboardModifiers>
    - QObject*::property
    linkageType: ''
    returnType: bool
    signature: bool QmlKeyHelper::call(bool (*fun)(const QKeyEvent *), const QObject
      *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 9
    functionName: NavigationHistory::NavigationHistory
    functionSourceFile: /src/vlc/modules/gui/qt/util/navigation_history.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NavigationHistory::NavigationHistory(QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: NavigationHistory::isPreviousEmpty
    functionSourceFile: /src/vlc/modules/gui/qt/util/navigation_history.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool NavigationHistory::isPreviousEmpty()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<QQmlPropertyMap>
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:18,1
    - Dst: keyValueBegin
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:19,1
    - Dst: keyValueEnd
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:19,1
    - Dst: auto::insert
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:20,1
    - Dst: emplace_back
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:22,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:22,1
    - Dst: NavigationHistory::updateCurrent
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:24,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:26,1
    - Dst: previousEmptyChanged
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - path
    - ' properties'
    - focusReason
    argTypes:
    - QStringList
    - QVariantMap
    - Qt::FocusReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 30
    functionName: NavigationHistory::push
    functionSourceFile: /src/vlc/modules/gui/qt/util/navigation_history.cpp
    functionUses: 0
    functionsReached:
    - auto::insert
    - previousEmptyChanged
    - size
    - NavigationHistory::updateCurrent
    - keyValueEnd
    - std::move
    - keyValueBegin
    - std::make_unique<QQmlPropertyMap>
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void NavigationHistory::push(QStringList path, const QVariantMap& properties,
      Qt::FocusReason focusReason)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:34,1
    - Dst: std::make_unique<QQmlPropertyMap>
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:34,1
    - Dst: NavigationHistory::updateCurrent
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:36,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:38,1
    - Dst: previousEmptyChanged
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - path
    - focusReason
    argTypes:
    - QStringList
    - Qt::FocusReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: NavigationHistory::push
    functionSourceFile: /src/vlc/modules/gui/qt/util/navigation_history.cpp
    functionUses: 0
    functionsReached:
    - previousEmptyChanged
    - size
    - NavigationHistory::updateCurrent
    - std::make_unique<QQmlPropertyMap>
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void NavigationHistory::push(QStringList path, Qt::FocusReason focusReason)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: canConvert
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:47,1
    - Dst: canConvert
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:48,1
    - Dst: canConvert
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:49,1
    - Dst: canConvert
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:50,1
    - Dst: canConvert
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:51,1
    - Dst: canConvert
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:52,1
    - Dst: canConvert
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:56,1
    - Dst: toList
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:58,1
    - Dst: isNodeValid
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:61,1
    - Dst: canConvert
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:66,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:68,1
    - Dst: NetworkTreeItem::isValid
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:69,1
    - Dst: canConvert
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:74,1
    - Dst: toMap
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:76,1
    - Dst: QVariantMap::values
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:77,1
    - Dst: isNodeValid
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:79,1
    - Dst: isNull
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:84,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:87,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - QVariant
    assertStmts:
    - condition: (false)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/vlc/modules/gui/qt/util/navigation_history.cpp
    constantsTouched: []
    func_position:
      end: 89
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 89
    functionName: isNodeValid
    functionSourceFile: /src/vlc/modules/gui/qt/util/navigation_history.cpp
    functionUses: 1
    functionsReached:
    - QVariantMap::values
    - assert
    - isNodeValid
    - NetworkTreeItem::isValid
    - toMap
    - canConvert
    - isNull
    - toList
    - value
    linkageType: ''
    returnType: bool
    signature: bool isNodeValid(const QVariant& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: keys
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:93,1
    - Dst: isNodeValid
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - QQmlPropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: isNodeValid
    functionSourceFile: /src/vlc/modules/gui/qt/util/navigation_history.cpp
    functionUses: 2
    functionsReached:
    - isNodeValid
    - keys
    linkageType: ''
    returnType: bool
    signature: bool isNodeValid(const QQmlPropertyMap& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:105,1
    - Dst: emplace_back
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:107,1
    - Dst: std::make_unique<QQmlPropertyMap>
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:107,1
    - Dst: rbegin
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:111,1
    - Dst: NavigationHistory::updateCurrent
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - path
    argTypes:
    - QStringList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: NavigationHistory::update
    functionSourceFile: /src/vlc/modules/gui/qt/util/navigation_history.cpp
    functionUses: 0
    functionsReached:
    - size
    - NavigationHistory::updateCurrent
    - rbegin
    - std::make_unique<QQmlPropertyMap>
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void NavigationHistory::update(QStringList path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:119,1
    - Dst: std::make_unique<QQmlPropertyMap>
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:121,1
    - Dst: keyValueBegin
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:122,1
    - Dst: keyValueEnd
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:122,1
    - Dst: auto::insert
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:124,1
    - Dst: emplace_back
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:126,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:126,1
    - Dst: rbegin
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:130,1
    - Dst: NavigationHistory::updateCurrent
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - path
    - ' properties'
    argTypes:
    - QStringList
    - QVariantMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 134
    functionName: NavigationHistory::update
    functionSourceFile: /src/vlc/modules/gui/qt/util/navigation_history.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - size
    - NavigationHistory::updateCurrent
    - keyValueEnd
    - std::move
    - rbegin
    - keyValueBegin
    - std::make_unique<QQmlPropertyMap>
    - auto::insert
    linkageType: ''
    returnType: void
    signature: void NavigationHistory::update(QStringList path, const QVariantMap&
      properties)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:139,1
    - Dst: pop_back
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:142,1
    - Dst: isNodeValid
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:144,1
    - Dst: back
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:144,1
    - Dst: pop_back
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:145,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:146,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:150,1
    - Dst: previousEmptyChanged
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:151,1
    - Dst: NavigationHistory::updateCurrent
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Qt::FocusReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 155
    functionName: NavigationHistory::previous
    functionSourceFile: /src/vlc/modules/gui/qt/util/navigation_history.cpp
    functionUses: 0
    functionsReached:
    - isNodeValid
    - back
    - previousEmptyChanged
    - size
    - NavigationHistory::updateCurrent
    - pop_back
    linkageType: ''
    returnType: void
    signature: void NavigationHistory::previous(Qt::FocusReason reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:159,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:159,1
    - Dst: rbegin
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:160,1
    - Dst: auto::second::get
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_history.size() >= 1)
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/vlc/modules/gui/qt/util/navigation_history.cpp
    constantsTouched: []
    func_position:
      end: 166
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 166
    functionName: NavigationHistory::updateCurrent
    functionSourceFile: /src/vlc/modules/gui/qt/util/navigation_history.cpp
    functionUses: 5
    functionsReached:
    - rbegin
    - size
    - assert
    - auto::second::get
    linkageType: ''
    returnType: void
    signature: void NavigationHistory::updateCurrent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: NavigationHistory::viewPath
    functionSourceFile: /src/vlc/modules/gui/qt/util/navigation_history.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QStringList
    signature: QStringList NavigationHistory::viewPath() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: NavigationHistory::viewProp
    functionSourceFile: /src/vlc/modules/gui/qt/util/navigation_history.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QQmlPropertyMap
    signature: QQmlPropertyMap * NavigationHistory::viewProp() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:180,1
    - Dst: length
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:180,1
    - Dst: length
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' path'
    - ' pattern'
    argTypes:
    - QStringList
    - QStringList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 188
    functionName: NavigationHistory::match
    functionSourceFile: /src/vlc/modules/gui/qt/util/navigation_history.cpp
    functionUses: 0
    functionsReached:
    - length
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE NavigationHistory::match(const QStringList& path,  const
      QStringList& pattern)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:192,1
    - Dst: length
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:192,1
    - Dst: length
      Src: /src/vlc/modules/gui/qt/util/navigation_history.cpp:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' path'
    - ' pattern'
    argTypes:
    - QStringList
    - QStringList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 200
    functionName: NavigationHistory::exactMatch
    functionSourceFile: /src/vlc/modules/gui/qt/util/navigation_history.cpp
    functionUses: 0
    functionsReached:
    - length
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE NavigationHistory::exactMatch(const QStringList& path,  const
      QStringList& pattern)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/util/soutchain.cpp:34,1
    - Dst: toStdString
      Src: /src/vlc/modules/gui/qt/util/soutchain.cpp:36,1
    - Dst: config_StringEscape
      Src: /src/vlc/modules/gui/qt/util/soutchain.cpp:38,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/util/soutchain.cpp:38,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/util/soutchain.cpp:41,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/util/soutchain.cpp:42,1
    - Dst: SoutOption::to_string
      Src: /src/vlc/modules/gui/qt/util/soutchain.cpp:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 51
    functionName: SoutOption::to_string
    functionSourceFile: /src/vlc/modules/gui/qt/util/soutchain.cpp
    functionUses: 1
    functionsReached:
    - config_StringEscape
    - SoutOption::to_string
    - isEmpty
    - qtu
    - free
    - toStdString
    - qfu
    linkageType: ''
    returnType: QString
    signature: QString SoutOption::to_string() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/soutchain.cpp:57,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/util/soutchain.cpp:62,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/util/soutchain.cpp:62,1
    - Dst: OptionsType::const_iterator::second::to_string
      Src: /src/vlc/modules/gui/qt/util/soutchain.cpp:65,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/util/soutchain.cpp:66,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/util/soutchain.cpp:69,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/soutchain.cpp:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 79
    functionName: SoutModule::to_string
    functionSourceFile: /src/vlc/modules/gui/qt/util/soutchain.cpp
    functionUses: 0
    functionsReached:
    - QString::isEmpty
    - size
    - begin
    - end
    - OptionsType::const_iterator::second::to_string
    linkageType: ''
    returnType: QString
    signature: QString SoutModule::to_string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/vlc/modules/gui/qt/util/soutchain.cpp:83,1
    - Dst: OptionPairType
      Src: /src/vlc/modules/gui/qt/util/soutchain.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' option'
    - ' value'
    argTypes:
    - QString
    - SoutOption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: SoutModule::option
    functionSourceFile: /src/vlc/modules/gui/qt/util/soutchain.cpp
    functionUses: 1
    functionsReached:
    - append
    - OptionPairType
    linkageType: ''
    returnType: void
    signature: void SoutModule::option( const QString& option, const SoutOption& value
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/vlc/modules/gui/qt/util/soutchain.cpp:88,1
    - Dst: OptionPairType
      Src: /src/vlc/modules/gui/qt/util/soutchain.cpp:88,1
    - Dst: SoutOption
      Src: /src/vlc/modules/gui/qt/util/soutchain.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' option'
    - ' value'
    - escaped
    argTypes:
    - QString
    - QString
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: SoutModule::option
    functionSourceFile: /src/vlc/modules/gui/qt/util/soutchain.cpp
    functionUses: 1
    functionsReached:
    - SoutOption
    - append
    - OptionPairType
    linkageType: ''
    returnType: void
    signature: void SoutModule::option( const QString& option, const QString& value,
      bool escaped )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/vlc/modules/gui/qt/util/soutchain.cpp:93,1
    - Dst: OptionPairType
      Src: /src/vlc/modules/gui/qt/util/soutchain.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' option'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: SoutModule::option
    functionSourceFile: /src/vlc/modules/gui/qt/util/soutchain.cpp
    functionUses: 1
    functionsReached:
    - append
    - OptionPairType
    linkageType: ''
    returnType: void
    signature: void SoutModule::option( const QString& option )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: SoutChain::getHeader
    functionSourceFile: /src/vlc/modules/gui/qt/util/soutchain.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString SoutChain::getHeader() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/soutchain.cpp:104,1
    - Dst: SoutChain::to_string
      Src: /src/vlc/modules/gui/qt/util/soutchain.cpp:106,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/soutchain.cpp:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 114
    functionName: SoutChain::to_string
    functionSourceFile: /src/vlc/modules/gui/qt/util/soutchain.cpp
    functionUses: 12
    functionsReached:
    - size
    - SoutChain::to_string
    linkageType: ''
    returnType: QString
    signature: QString SoutChain::to_string() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/soutchain.cpp:118,1
    - Dst: back
      Src: /src/vlc/modules/gui/qt/util/soutchain.cpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' name'
    - ' value'
    - escaped
    argTypes:
    - QString
    - QString
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: SoutChain::option
    functionSourceFile: /src/vlc/modules/gui/qt/util/soutchain.cpp
    functionUses: 11
    functionsReached:
    - size
    - back
    linkageType: ''
    returnType: void
    signature: void SoutChain::option( const QString& name, const QString& value,
      bool escaped )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SoutChain::option
      Src: /src/vlc/modules/gui/qt/util/soutchain.cpp:125,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/util/soutchain.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' name'
    - i_value
    - i_precision
    argTypes:
    - QString
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: SoutChain::option
    functionSourceFile: /src/vlc/modules/gui/qt/util/soutchain.cpp
    functionUses: 12
    functionsReached:
    - SoutChain::option
    - vlclua_io_file_read_number
    linkageType: ''
    returnType: void
    signature: void SoutChain::option( const QString& name, const int i_value, const
      int i_precision )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SoutChain::option
      Src: /src/vlc/modules/gui/qt/util/soutchain.cpp:129,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/util/soutchain.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' name'
    - f_value
    argTypes:
    - QString
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: SoutChain::option
    functionSourceFile: /src/vlc/modules/gui/qt/util/soutchain.cpp
    functionUses: 13
    functionsReached:
    - SoutChain::option
    - vlclua_io_file_read_number
    linkageType: ''
    returnType: void
    signature: void SoutChain::option( const QString& name, const double f_value )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SoutChain::option
      Src: /src/vlc/modules/gui/qt/util/soutchain.cpp:133,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/util/soutchain.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' name'
    - ' base'
    - i_value
    - i_precision
    argTypes:
    - QString
    - QString
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: SoutChain::option
    functionSourceFile: /src/vlc/modules/gui/qt/util/soutchain.cpp
    functionUses: 14
    functionsReached:
    - SoutChain::option
    - vlclua_io_file_read_number
    linkageType: ''
    returnType: void
    signature: void SoutChain::option( const QString& name, const QString& base, const
      int i_value, const int i_precision )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/soutchain.cpp:137,1
    - Dst: back
      Src: /src/vlc/modules/gui/qt/util/soutchain.cpp:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' name'
    - ' nested'
    argTypes:
    - QString
    - SoutModule
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: SoutChain::option
    functionSourceFile: /src/vlc/modules/gui/qt/util/soutchain.cpp
    functionUses: 14
    functionsReached:
    - size
    - back
    linkageType: ''
    returnType: void
    signature: void SoutChain::option( const QString& name, const SoutModule& nested
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UrlValidator
      Src: /src/vlc/modules/gui/qt/util/validators.hpp:32,1
    - Dst: QValidator
      Src: /src/vlc/modules/gui/qt/util/validators.hpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: UrlValidator::public
    functionSourceFile: /src/vlc/modules/gui/qt/util/validators.hpp
    functionUses: 0
    functionsReached:
    - UrlValidator
    - QValidator
    linkageType: ''
    returnType: Q_OBJECT
    signature: Q_OBJECT public
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: KirigamiWheelEvent::KirigamiWheelEvent
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KirigamiWheelEvent::KirigamiWheelEvent(QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: KirigamiWheelEvent::~KirigamiWheelEvent()
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KirigamiWheelEvent::~KirigamiWheelEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QWheelEvent*::position
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:36,1
    - Dst: QWheelEvent*::position
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:37,1
    - Dst: QWheelEvent*::angleDelta
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:38,1
    - Dst: QWheelEvent*::pixelDelta
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:39,1
    - Dst: QWheelEvent*::buttons
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:40,1
    - Dst: QWheelEvent*::modifiers
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:41,1
    - Dst: QWheelEvent*::inverted
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - event
    argTypes:
    - QWheelEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: KirigamiWheelEvent::initializeFromEvent
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached:
    - QWheelEvent*::position
    - QWheelEvent*::inverted
    - QWheelEvent*::angleDelta
    - QWheelEvent*::buttons
    - QWheelEvent*::pixelDelta
    - QWheelEvent*::modifiers
    linkageType: ''
    returnType: void
    signature: void KirigamiWheelEvent::initializeFromEvent(QWheelEvent *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: KirigamiWheelEvent::x
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: qreal
    signature: qreal KirigamiWheelEvent::x() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: KirigamiWheelEvent::y
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: qreal
    signature: qreal KirigamiWheelEvent::y() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: KirigamiWheelEvent::angleDelta
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QPointF
    signature: QPointF KirigamiWheelEvent::angleDelta() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: KirigamiWheelEvent::pixelDelta
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QPointF
    signature: QPointF KirigamiWheelEvent::pixelDelta() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: KirigamiWheelEvent::buttons
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int KirigamiWheelEvent::buttons() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: KirigamiWheelEvent::modifiers
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int KirigamiWheelEvent::modifiers() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: KirigamiWheelEvent::inverted
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool KirigamiWheelEvent::inverted() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: KirigamiWheelEvent::isAccepted
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool KirigamiWheelEvent::isAccepted()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - accepted
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: KirigamiWheelEvent::setAccepted
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KirigamiWheelEvent::setAccepted(bool accepted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setEnabled
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QQuickItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: WheelFilterItem::WheelFilterItem
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached:
    - setEnabled
    linkageType: ''
    returnType: void
    signature: void WheelFilterItem::WheelFilterItem(QQuickItem *parent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WheelFilterItem::WheelFilterItem
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:103,1
    - Dst: installEventFilter
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:105,1
    - Dst: setSingleShot
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:107,1
    - Dst: setInterval
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:108,1
    - Dst: callOnTimeout
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:109,1
    - Dst: WheelHandler::setScrolling
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:110,1
    - Dst: setEasingCurve
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:113,1
    - Dst: setEasingCurve
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:114,1
    - Dst: setEasingCurve
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:115,1
    - Dst: setEasingCurve
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:116,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:130,1
    - Dst: QGuiApplication::styleHints
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:130,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:131,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:132,1
    - Dst: QGuiApplication::styleHints
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:132,1
    - Dst: QGuiApplication::styleHints
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:133,1
    - Dst: adjustStepSizes
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts:
    - condition: (QGuiApplication::styleHints())
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    constantsTouched: []
    func_position:
      end: 136
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 136
    functionName: WheelHandler::WheelHandler
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached:
    - assert
    - WheelHandler::setScrolling
    - setSingleShot
    - setEasingCurve
    - connect
    - WheelFilterItem::WheelFilterItem
    - setInterval
    - QGuiApplication::styleHints
    - callOnTimeout
    - adjustStepSizes
    - installEventFilter
    linkageType: ''
    returnType: void
    signature: void WheelHandler::WheelHandler(QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: WheelHandler::~WheelHandler()
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WheelHandler::~WheelHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: WheelHandler::target
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QQuickItem
    signature: QQuickItem *WheelHandler::target() const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QQuickItem*::inherits
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:154,1
    - Dst: qmlWarning
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:155,1
    - Dst: removeEventFilter
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:160,1
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:161,1
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:162,1
    - Dst: setParentItem
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:166,1
    - Dst: targetObject
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:167,1
    - Dst: stop
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:168,1
    - Dst: setTargetObject
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:170,1
    - Dst: targetObject
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:171,1
    - Dst: stop
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:172,1
    - Dst: setTargetObject
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:174,1
    - Dst: targetObject
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:175,1
    - Dst: stop
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:176,1
    - Dst: setTargetObject
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:178,1
    - Dst: targetObject
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:179,1
    - Dst: stop
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:180,1
    - Dst: setTargetObject
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:182,1
    - Dst: QQuickItem*::installEventFilter
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:185,1
    - Dst: stackAfter
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:188,1
    - Dst: QQuickItem*::property
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:188,1
    - Dst: setWidth
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:190,1
    - Dst: QQuickItem*::width
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:190,1
    - Dst: setHeight
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:191,1
    - Dst: QQuickItem*::height
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:191,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:192,1
    - Dst: setWidth
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:193,1
    - Dst: QQuickItem*::width
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:193,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:195,1
    - Dst: setHeight
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:196,1
    - Dst: QQuickItem*::height
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:196,1
    - Dst: WheelHandler::_k_rebindScrollBars
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:200,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 1
    argNames:
    - target
    argTypes:
    - QQuickItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 203
    functionName: WheelHandler::setTarget
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached:
    - disconnect
    - WheelHandler::_k_rebindScrollBars
    - stackAfter
    - setParentItem
    - QQuickItem*::property
    - setHeight
    - setTargetObject
    - setWidth
    - QQuickItem*::width
    - qmlWarning
    - QQuickItem*::height
    - connect
    - stop
    - QQuickItem*::installEventFilter
    - QQuickItem*::inherits
    - removeEventFilter
    - targetObject
    linkageType: ''
    returnType: void
    signature: void WheelHandler::setTarget(QQuickItem *target)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: children
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:219,1
    - Dst: inherits
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:221,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:223,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:224,1
    - Dst: parentItem
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:232,1
    - Dst: removeEventFilter
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:234,1
    - Dst: auto::inherits
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:236,1
    - Dst: installEventFilter
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:239,1
    - Dst: children
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:241,1
    - Dst: inherits
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:243,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:245,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:246,1
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:286,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:288,1
    - Dst: removeEventFilter
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:294,1
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:295,1
    - Dst: ChosenScrollBar::scrollBar::installEventFilter
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:299,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:300,1
    - Dst: SIGNAL
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:300,1
    - Dst: verticalChanged
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:300,1
    - Dst: SLOT
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:300,1
    - Dst: WheelHandler::_k_rebindScrollBars
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:300,1
    - Dst: removeEventFilter
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:306,1
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:307,1
    - Dst: ChosenScrollBar::scrollBar::installEventFilter
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:311,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:312,1
    - Dst: SIGNAL
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:312,1
    - Dst: horizontalChanged
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:312,1
    - Dst: SLOT
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:312,1
    - Dst: WheelHandler::_k_rebindScrollBars
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:312,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 315
    functionName: WheelHandler::_k_rebindScrollBars
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 2
    functionsReached:
    - property
    - parentItem
    - disconnect
    - inherits
    - SIGNAL
    - horizontalChanged
    - children
    - ChosenScrollBar::scrollBar::installEventFilter
    - connect
    - SLOT
    - auto::inherits
    - WheelHandler::_k_rebindScrollBars
    - verticalChanged
    - removeEventFilter
    - installEventFilter
    linkageType: ''
    returnType: void
    signature: void WheelHandler::_k_rebindScrollBars()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 320
    functionName: WheelHandler::verticalStepSize
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: qreal
    signature: qreal WheelHandler::verticalStepSize() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qFuzzyCompare
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:325,1
    - Dst: qFuzzyIsNull
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:329,1
    - Dst: WheelHandler::resetVerticalStepSize
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - stepSize
    argTypes:
    - qreal
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 335
    functionName: WheelHandler::setVerticalStepSize
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached:
    - qFuzzyCompare
    - qFuzzyIsNull
    - WheelHandler::resetVerticalStepSize
    linkageType: ''
    returnType: void
    signature: void WheelHandler::setVerticalStepSize(qreal stepSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qFuzzyCompare
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 345
    functionName: WheelHandler::resetVerticalStepSize
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 1
    functionsReached:
    - qFuzzyCompare
    linkageType: ''
    returnType: void
    signature: void WheelHandler::resetVerticalStepSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: WheelHandler::horizontalStepSize
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: qreal
    signature: qreal WheelHandler::horizontalStepSize() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qFuzzyCompare
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:355,1
    - Dst: qFuzzyIsNull
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:359,1
    - Dst: WheelHandler::resetHorizontalStepSize
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - stepSize
    argTypes:
    - qreal
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 365
    functionName: WheelHandler::setHorizontalStepSize
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached:
    - qFuzzyCompare
    - WheelHandler::resetHorizontalStepSize
    - qFuzzyIsNull
    linkageType: ''
    returnType: void
    signature: void WheelHandler::setHorizontalStepSize(qreal stepSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qFuzzyCompare
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 375
    functionName: WheelHandler::resetHorizontalStepSize
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 1
    functionsReached:
    - qFuzzyCompare
    linkageType: ''
    returnType: void
    signature: void WheelHandler::resetHorizontalStepSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: WheelHandler::pageScrollModifiers
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Qt::KeyboardModifiers
    signature: Qt::KeyboardModifiers WheelHandler::pageScrollModifiers() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - modifiers
    argTypes:
    - Qt::KeyboardModifiers
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 389
    functionName: WheelHandler::setPageScrollModifiers
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WheelHandler::setPageScrollModifiers(Qt::KeyboardModifiers modifiers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WheelHandler::setPageScrollModifiers
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 394
    functionName: WheelHandler::resetPageScrollModifiers
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached:
    - WheelHandler::setPageScrollModifiers
    linkageType: ''
    returnType: void
    signature: void WheelHandler::resetPageScrollModifiers()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 399
    functionName: WheelHandler::filterMouseEvents
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool WheelHandler::filterMouseEvents() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 408
    functionName: WheelHandler::setFilterMouseEvents
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WheelHandler::setFilterMouseEvents(bool enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 413
    functionName: WheelHandler::keyNavigationEnabled
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool WheelHandler::keyNavigationEnabled() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 422
    functionName: WheelHandler::setKeyNavigationEnabled
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WheelHandler::setKeyNavigationEnabled(bool enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qmlEngine
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 428
    functionName: WheelHandler::classBegin
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached:
    - qmlEngine
    linkageType: ''
    returnType: void
    signature: void WheelHandler::classBegin()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qobject_cast<QQuickItem*>
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:432,1
    - Dst: parent
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:432,1
    - Dst: WheelHandler::target
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:433,1
    - Dst: auto::inherits
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:433,1
    - Dst: WheelHandler::setTarget
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:434,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 435
    functionName: WheelHandler::componentComplete
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached:
    - parent
    - qobject_cast<QQuickItem*>
    - WheelHandler::target
    - WheelHandler::setTarget
    - auto::inherits
    linkageType: ''
    returnType: void
    signature: void WheelHandler::componentComplete()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:441,1
    - Dst: setEnabled
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - scrolling
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 447
    functionName: WheelHandler::setScrolling
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 1
    functionsReached:
    - start
    - setEnabled
    linkageType: ''
    returnType: void
    signature: void WheelHandler::setScrolling(bool scrolling)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: width
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:451,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:452,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:453,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:454,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:455,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:456,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:457,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:458,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:459,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:460,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:461,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:462,1
    - Dst: QPointF
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:464,1
    - Dst: QPointF
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:464,1
    - Dst: QPointF
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:465,1
    - Dst: QPointF
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:465,1
    - Dst: QPointF
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:465,1
    - Dst: QPointF
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:465,1
    - Dst: std::max<uint64_t>
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:471,1
    - Dst: last
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:471,1
    - Dst: first
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:471,1
    - Dst: QPointF
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:483,1
    - Dst: QPointF
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:492,1
    - Dst: qAbs
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:492,1
    - Dst: QPointF::x
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:492,1
    - Dst: qAbs
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:492,1
    - Dst: QPointF::y
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:492,1
    - Dst: QPointF
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:493,1
    - Dst: QPointF::x
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:493,1
    - Dst: QPointF::x
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:493,1
    - Dst: QPointF::x
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:493,1
    - Dst: QPointF::y
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:493,1
    - Dst: QPointF::y
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:493,1
    - Dst: QPointF::y
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:493,1
    - Dst: QPointF
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:498,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:498,1
    - Dst: std::min
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:498,1
    - Dst: QPointF::x
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:498,1
    - Dst: QPointF::x
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:498,1
    - Dst: QPointF::x
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:498,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:498,1
    - Dst: std::min
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:498,1
    - Dst: QPointF::y
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:498,1
    - Dst: QPointF::y
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:498,1
    - Dst: QPointF::y
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:498,1
    - Dst: QPointF
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:503,1
    - Dst: QPointF::x
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:503,1
    - Dst: QPointF::x
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:503,1
    - Dst: QPointF::x
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:503,1
    - Dst: QPointF::x
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:503,1
    - Dst: QPointF::y
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:504,1
    - Dst: QPointF::y
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:504,1
    - Dst: QPointF::y
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:504,1
    - Dst: QPointF::y
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:504,1
    - Dst: QPointF
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:511,1
    - Dst: QPointF::x
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:511,1
    - Dst: std::sqrt
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:511,1
    - Dst: QPointF::x
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:511,1
    - Dst: QPointF::y
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:511,1
    - Dst: std::sqrt
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:511,1
    - Dst: QPointF::y
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:511,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:512,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:513,1
    - Dst: stop
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:515,1
    - Dst: stop
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:516,1
    - Dst: QPointF::x
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:517,1
    - Dst: setStartValue
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:518,1
    - Dst: QPointF::x
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:518,1
    - Dst: setEndValue
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:519,1
    - Dst: QPointF::x
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:519,1
    - Dst: setDuration
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:520,1
    - Dst: QPointF::x
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:520,1
    - Dst: start
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:521,1
    - Dst: QPointF::y
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:523,1
    - Dst: setStartValue
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:524,1
    - Dst: QPointF::y
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:524,1
    - Dst: setEndValue
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:525,1
    - Dst: QPointF::y
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:525,1
    - Dst: setDuration
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:526,1
    - Dst: QPointF::y
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:526,1
    - Dst: start
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:527,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 529
    functionName: WheelHandler::startInertiaScrolling
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached:
    - height
    - QPointF::y
    - std::max
    - setEndValue
    - last
    - first
    - QPointF
    - setStartValue
    - start
    - setDuration
    - QPointF::x
    - std::max<uint64_t>
    - std::sqrt
    - width
    - clear
    - stop
    - property
    - std::min
    - qAbs
    linkageType: ''
    returnType: void
    signature: void WheelHandler::startInertiaScrolling()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: QPointF::isNull
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:533,1
    - Dst: QPointF::isNull
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:533,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:537,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:538,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:539,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:540,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:541,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:542,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:543,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:544,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:545,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:546,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:547,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:548,1
    - Dst: window
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:551,1
    - Dst: auto::screen
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:552,1
    - Dst: auto::devicePixelRatio
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:553,1
    - Dst: devicePixelRatio
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:553,1
    - Dst: auto::refreshRate
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:554,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:555,1
    - Dst: platformName
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:558,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:558,1
    - Dst: QPointF::transposed
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:559,1
    - Dst: QPointF::transposed
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:560,1
    - Dst: QPointF::x
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:563,1
    - Dst: QPointF::y
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:564,1
    - Dst: qBound
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:570,1
    - Dst: state
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:595,1
    - Dst: endValue
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:595,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:597,1
    - Dst: std::min
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:597,1
    - Dst: std::round
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:605,1
    - Dst: stop
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:611,1
    - Dst: setDuration
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:616,1
    - Dst: setProperty
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:617,1
    - Dst: std::abs
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:640,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:642,1
    - Dst: qCeil
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:642,1
    - Dst: std::min
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:642,1
    - Dst: qRound
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:642,1
    - Dst: setDuration
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:644,1
    - Dst: qCeil
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:644,1
    - Dst: duration
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:645,1
    - Dst: setStartValue
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:646,1
    - Dst: setEndValue
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:647,1
    - Dst: start
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:648,1
    - Dst: setProperty
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:650,1
    - Dst: getChange
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:655,1
    - Dst: QPointF::x
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:655,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:656,1
    - Dst: getChange
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:658,1
    - Dst: QPointF::y
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:658,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:659,1
    - Dst: setPosition
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:662,1
    - Dst: setPosition
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:663,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 3
    argNames:
    - pixelDelta
    - angleDelta
    - modifiers
    argTypes:
    - QPointF
    - QPointF
    - Qt::KeyboardModifiers
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 666
    functionName: WheelHandler::scrollFlickable
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached:
    - auto::refreshRate
    - state
    - height
    - QPointF::y
    - setProperty
    - std::max
    - setEndValue
    - getChange
    - setPosition
    - setStartValue
    - auto::devicePixelRatio
    - start
    - getPosition
    - setDuration
    - qCeil
    - QPointF::x
    - devicePixelRatio
    - std::abs
    - width
    - QPointF::transposed
    - auto::screen
    - qRound
    - stop
    - property
    - qBound
    - QLatin1String
    - window
    - QPointF::isNull
    - std::min
    - platformName
    - endValue
    - duration
    - std::round
    linkageType: ''
    returnType: bool
    signature: bool WheelHandler::scrollFlickable(QPointF pixelDelta, QPointF angleDelta,
      Qt::KeyboardModifiers modifiers)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qFuzzyIsNull
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:670,1
    - Dst: WheelHandler::scrollFlickable
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:676,1
    - Dst: QPointF
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:676,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - stepSize
    argTypes:
    - qreal
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 668
    functionDepth: 3
    functionLinenumber: 668
    functionLinenumberEnd: 677
    functionName: WheelHandler::scrollUp
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached:
    - WheelHandler::scrollFlickable
    - QPointF
    - qFuzzyIsNull
    linkageType: ''
    returnType: bool
    signature: bool WheelHandler::scrollUp(qreal stepSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qFuzzyIsNull
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:681,1
    - Dst: WheelHandler::scrollFlickable
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:687,1
    - Dst: QPointF
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - stepSize
    argTypes:
    - qreal
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 679
    functionDepth: 3
    functionLinenumber: 679
    functionLinenumberEnd: 688
    functionName: WheelHandler::scrollDown
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached:
    - WheelHandler::scrollFlickable
    - QPointF
    - qFuzzyIsNull
    linkageType: ''
    returnType: bool
    signature: bool WheelHandler::scrollDown(qreal stepSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qFuzzyIsNull
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:692,1
    - Dst: WheelHandler::scrollFlickable
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:698,1
    - Dst: QPoint
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:698,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - stepSize
    argTypes:
    - qreal
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 690
    functionDepth: 3
    functionLinenumber: 690
    functionLinenumberEnd: 699
    functionName: WheelHandler::scrollLeft
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached:
    - WheelHandler::scrollFlickable
    - qFuzzyIsNull
    - QPoint
    linkageType: ''
    returnType: bool
    signature: bool WheelHandler::scrollLeft(qreal stepSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qFuzzyIsNull
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:703,1
    - Dst: WheelHandler::scrollFlickable
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:709,1
    - Dst: QPoint
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:709,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - stepSize
    argTypes:
    - qreal
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 701
    functionDepth: 3
    functionLinenumber: 701
    functionLinenumberEnd: 710
    functionName: WheelHandler::scrollRight
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached:
    - WheelHandler::scrollFlickable
    - qFuzzyIsNull
    - QPoint
    linkageType: ''
    returnType: bool
    signature: bool WheelHandler::scrollRight(qreal stepSize)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: qobject_cast<QQuickItem *>
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:714,1
    - Dst: auto::isEnabled
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:715,1
    - Dst: QEvent*::type
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:720,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:730,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:731,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:732,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:732,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:732,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:733,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:733,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:733,1
    - Dst: setProperty
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:742,1
    - Dst: setProperty
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:745,1
    - Dst: static_cast<QWheelEvent *>
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:748,1
    - Dst: QWheelEvent*::pixelDelta
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:752,1
    - Dst: QWheelEvent*::angleDelta
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:752,1
    - Dst: QWheelEvent*::position
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:754,1
    - Dst: QWheelEvent*::globalPosition
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:755,1
    - Dst: QPoint
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:756,1
    - Dst: QWheelEvent*::angleDelta
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:757,1
    - Dst: QWheelEvent*::buttons
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:758,1
    - Dst: QWheelEvent*::modifiers
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:759,1
    - Dst: QWheelEvent*::phase
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:760,1
    - Dst: QWheelEvent*::inverted
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:761,1
    - Dst: QWheelEvent*::source
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:762,1
    - Dst: initializeFromEvent
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:763,1
    - Dst: initializeFromEvent
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:765,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:770,1
    - Dst: dequeue
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:771,1
    - Dst: dequeue
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:772,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:774,1
    - Dst: QWheelEvent*::isEndEvent
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:774,1
    - Dst: WheelHandler::startInertiaScrolling
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:775,1
    - Dst: enqueue
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:777,1
    - Dst: QWheelEvent*::pixelDelta
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:777,1
    - Dst: enqueue
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:778,1
    - Dst: QWheelEvent*::timestamp
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:778,1
    - Dst: isAccepted
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:781,1
    - Dst: angleDelta
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:789,1
    - Dst: pixelDelta
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:789,1
    - Dst: QPoint
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:789,1
    - Dst: WheelHandler::scrollFlickable
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:790,1
    - Dst: angleDelta
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:790,1
    - Dst: Qt::KeyboardModifiers
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:790,1
    - Dst: modifiers
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:790,1
    - Dst: WheelHandler::setScrolling
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:792,1
    - Dst: QWheelEvent*::source
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:796,1
    - Dst: QWheelEvent*::pixelDelta
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:796,1
    - Dst: setProperty
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:806,1
    - Dst: setProperty
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:809,1
    - Dst: static_cast<QMouseEvent *>
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:821,1
    - Dst: setProperty
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:827,1
    - Dst: setProperty
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:830,1
    - Dst: WheelHandler::setScrolling
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:839,1
    - Dst: static_cast<QMouseEvent *>
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:843,1
    - Dst: setProperty
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:856,1
    - Dst: setProperty
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:859,1
    - Dst: static_cast<QKeyEvent *>
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:869,1
    - Dst: QKeyEvent*::modifiers
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:870,1
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:871,1
    - Dst: WheelHandler::scrollUp
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:873,1
    - Dst: WheelHandler::scrollDown
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:875,1
    - Dst: WheelHandler::scrollLeft
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:877,1
    - Dst: WheelHandler::scrollRight
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:879,1
    - Dst: WheelHandler::scrollLeft
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:881,1
    - Dst: WheelHandler::scrollUp
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:881,1
    - Dst: WheelHandler::scrollRight
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:883,1
    - Dst: WheelHandler::scrollDown
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:883,1
    - Dst: WheelHandler::scrollLeft
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:885,1
    - Dst: WheelHandler::scrollUp
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:885,1
    - Dst: WheelHandler::scrollRight
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:887,1
    - Dst: WheelHandler::scrollDown
      Src: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp:887,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 136
    argCount: 2
    argNames:
    - watched
    - event
    argTypes:
    - QObject*
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 712
    functionDepth: 4
    functionLinenumber: 712
    functionLinenumberEnd: 899
    functionName: WheelHandler::eventFilter
    functionSourceFile: /src/vlc/modules/gui/qt/util/kirigamiwheelhandler.cpp
    functionUses: 0
    functionsReached:
    - WheelHandler::scrollFlickable
    - initializeFromEvent
    - Qt::KeyboardModifiers
    - QKeyEvent*::modifiers
    - height
    - pixelDelta
    - setProperty
    - WheelHandler::scrollLeft
    - QWheelEvent*::timestamp
    - enqueue
    - QWheelEvent*::phase
    - angleDelta
    - QWheelEvent*::inverted
    - QEvent*::type
    - count
    - static_cast<QMouseEvent *>
    - QWheelEvent*::source
    - WheelHandler::scrollDown
    - auto::isEnabled
    - QWheelEvent*::globalPosition
    - WheelHandler::setScrolling
    - QPoint
    - width
    - QWheelEvent*::isEndEvent
    - static_cast<QWheelEvent *>
    - WheelHandler::startInertiaScrolling
    - QWheelEvent*::buttons
    - WheelHandler::scrollUp
    - modifiers
    - WheelHandler::scrollRight
    - isAccepted
    - QWheelEvent*::modifiers
    - QKeyEvent*::key
    - property
    - QWheelEvent*::position
    - QWheelEvent*::angleDelta
    - qobject_cast<QQuickItem *>
    - QWheelEvent*::pixelDelta
    - dequeue
    - static_cast<QKeyEvent *>
    linkageType: ''
    returnType: bool
    signature: bool WheelHandler::eventFilter(QObject *watched, QEvent *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: DummyFlickableScrollHandler::DummyFlickableScrollHandler
    functionSourceFile: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DummyFlickableScrollHandler(QObject *parent = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: FlickableScrollHandler::valid
    functionSourceFile: /src/vlc/modules/gui/qt/util/flickable_scroll_handler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool valid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QSGTextureView::setTexture
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - texture
    argTypes:
    - QSGTexture*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: QSGTextureView::QSGTextureView
    functionSourceFile: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp
    functionUses: 0
    functionsReached:
    - QSGTextureView::setTexture
    linkageType: ''
    returnType: void
    signature: void QSGTextureView::QSGTextureView(QSGTexture *texture)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: QSGTextureView::texture
    functionSourceFile: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QSGTexture
    signature: QSGTexture *QSGTextureView::texture() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QSGTextureView::resetState
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:40,1
    - Dst: updateRequested
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:41,1
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:49,1
    - Dst: QSGTextureView::resetState
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:56,1
    - Dst: qobject_cast<QSGTextureView*>
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:59,1
    - Dst: QSGTexture*::inherits
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:59,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:64,1
    - Dst: SIGNAL
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:64,1
    - Dst: updateRequested
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:64,1
    - Dst: SLOT
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:64,1
    - Dst: QSGTextureView::resetState
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:64,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:65,1
    - Dst: SIGNAL
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:65,1
    - Dst: updateRequested
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:65,1
    - Dst: SLOT
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:65,1
    - Dst: QSGTextureView::adjustNormalRect
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:65,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:66,1
    - Dst: SIGNAL
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:66,1
    - Dst: updateRequested
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:66,1
    - Dst: SIGNAL
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:66,1
    - Dst: updateRequested
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:66,1
    - Dst: QSGTextureView::adjustNormalRect
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:69,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:75,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - texture
    argTypes:
    - QSGTexture*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 79
    functionName: QSGTextureView::setTexture
    functionSourceFile: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp
    functionUses: 1
    functionsReached:
    - updateRequested
    - disconnect
    - QSGTexture*::inherits
    - SIGNAL
    - QSGTextureView::resetState
    - reset
    - connect
    - qobject_cast<QSGTextureView*>
    - SLOT
    - QSGTextureView::adjustNormalRect
    linkageType: ''
    returnType: void
    signature: void QSGTextureView::setTexture(QSGTexture *texture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QSGTextureView::adjustNormalRectWithoutLocking
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: QSGTextureView::adjustNormalRect
    functionSourceFile: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp
    functionUses: 1
    functionsReached:
    - QSGTextureView::adjustNormalRectWithoutLocking
    linkageType: ''
    returnType: bool
    signature: bool QSGTextureView::adjustNormalRect() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:89,1
    - Dst: QThread::currentThread
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:89,1
    - Dst: thread
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:89,1
    - Dst: isValid
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:91,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:94,1
    - Dst: QSGTextureView::textureSize
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:96,1
    - Dst: QSizeF::isValid
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:98,1
    - Dst: QRectF
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:100,1
    - Dst: x
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:100,1
    - Dst: QSizeF::width
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:100,1
    - Dst: y
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:101,1
    - Dst: QSizeF::height
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:101,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:102,1
    - Dst: QSizeF::width
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:102,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:103,1
    - Dst: QSizeF::height
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (QThread::currentThread() == m_texture->thread())
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp
    - condition: (m_texture)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp
    constantsTouched: []
    func_position:
      end: 115
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 115
    functionName: QSGTextureView::adjustNormalRectWithoutLocking
    functionSourceFile: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp
    functionUses: 1
    functionsReached:
    - assert
    - QSizeF::isValid
    - QSizeF::width
    - height
    - x
    - QSizeF::height
    - QThread::currentThread
    - width
    - thread
    - QRectF
    - QSGTextureView::textureSize
    - isValid
    - y
    linkageType: ''
    returnType: bool
    signature: bool QSGTextureView::adjustNormalRectWithoutLocking() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: QSGTextureView::rect
    functionSourceFile: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QRect
    signature: QRect QSGTextureView::rect() const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QThread::currentThread
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:132,1
    - Dst: thread
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:132,1
    - Dst: isValid
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:139,1
    - Dst: QSGTextureView::adjustNormalRectWithoutLocking
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:145,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:149,1
    - Dst: QMutexLocker::unlock
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:152,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:184,1
    - Dst: QMutexLocker::unlock
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:199,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:201,1
    - Dst: updateRequested
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:213,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - rect
    argTypes:
    - QRect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 220
    functionName: QSGTextureView::setRect
    functionSourceFile: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp
    functionUses: 0
    functionsReached:
    - updateRequested
    - QSGTextureView::adjustNormalRectWithoutLocking
    - QThread::currentThread
    - reset
    - thread
    - QMutexLocker::unlock
    - isValid
    - QMetaObject::invokeMethod
    linkageType: ''
    returnType: void
    signature: void QSGTextureView::setRect(const QRect &rect)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:224,1
    - Dst: filtering
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:228,1
    - Dst: filtering
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:228,1
    - Dst: setFiltering
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:230,1
    - Dst: QSGTextureView::hasMipmaps
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:242,1
    - Dst: mipmapFiltering
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:244,1
    - Dst: mipmapFiltering
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:244,1
    - Dst: setMipmapFiltering
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:246,1
    - Dst: mipmapFiltering
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:250,1
    - Dst: setMipmapFiltering
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:252,1
    - Dst: anisotropyLevel
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:257,1
    - Dst: anisotropyLevel
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:257,1
    - Dst: setAnisotropyLevel
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:259,1
    - Dst: horizontalWrapMode
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:263,1
    - Dst: horizontalWrapMode
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:263,1
    - Dst: setHorizontalWrapMode
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:265,1
    - Dst: verticalWrapMode
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:269,1
    - Dst: verticalWrapMode
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:269,1
    - Dst: setHorizontalWrapMode
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:271,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_texture)
      pos:
        line_end: 223
        line_start: 223
        source_file: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp
    constantsTouched: []
    func_position:
      end: 276
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 276
    functionName: QSGTextureView::resetState
    functionSourceFile: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp
    functionUses: 1
    functionsReached:
    - QSGTextureView::hasMipmaps
    - mipmapFiltering
    - assert
    - filtering
    - setMipmapFiltering
    - horizontalWrapMode
    - setHorizontalWrapMode
    - anisotropyLevel
    - setAnisotropyLevel
    - verticalWrapMode
    - setFiltering
    linkageType: ''
    returnType: bool
    signature: bool QSGTextureView::resetState()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:280,1
    - Dst: QSGTextureView::comparisonKey
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_texture)
      pos:
        line_end: 279
        line_start: 279
        source_file: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp
    constantsTouched: []
    func_position:
      end: 282
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 282
    functionName: QSGTextureView::comparisonKey
    functionSourceFile: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp
    functionUses: 1
    functionsReached:
    - assert
    - QSGTextureView::comparisonKey
    linkageType: ''
    returnType: qint64
    signature: qint64 QSGTextureView::comparisonKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:286,1
    - Dst: QSGTextureView::rhiTexture
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_texture)
      pos:
        line_end: 285
        line_start: 285
        source_file: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: QSGTextureView::rhiTexture
    functionSourceFile: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp
    functionUses: 1
    functionsReached:
    - assert
    - QSGTextureView::rhiTexture
    linkageType: ''
    returnType: QRhiTexture
    signature: QRhiTexture *QSGTextureView::rhiTexture() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:292,1
    - Dst: isNull
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:294,1
    - Dst: QSGTextureView::textureSize
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:295,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_texture)
      pos:
        line_end: 291
        line_start: 291
        source_file: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp
    constantsTouched: []
    func_position:
      end: 298
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 298
    functionName: QSGTextureView::textureSize
    functionSourceFile: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp
    functionUses: 2
    functionsReached:
    - size
    - assert
    - QSGTextureView::textureSize
    - isNull
    linkageType: ''
    returnType: QSize
    signature: QSize QSGTextureView::textureSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:302,1
    - Dst: QSGTextureView::hasAlphaChannel
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_texture)
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: QSGTextureView::hasAlphaChannel
    functionSourceFile: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp
    functionUses: 1
    functionsReached:
    - assert
    - QSGTextureView::hasAlphaChannel
    linkageType: ''
    returnType: bool
    signature: bool QSGTextureView::hasAlphaChannel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:308,1
    - Dst: QSGTextureView::hasMipmaps
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_texture)
      pos:
        line_end: 307
        line_start: 307
        source_file: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp
    constantsTouched: []
    func_position:
      end: 310
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 310
    functionName: QSGTextureView::hasMipmaps
    functionSourceFile: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp
    functionUses: 2
    functionsReached:
    - QSGTextureView::hasMipmaps
    - assert
    linkageType: ''
    returnType: bool
    signature: bool QSGTextureView::hasMipmaps() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:314,1
    - Dst: has_value
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:318,1
    - Dst: QSGTextureView::adjustNormalRectWithoutLocking
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:319,1
    - Dst: QSGTextureView::normalizedTextureSubRect
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:321,1
    - Dst: has_value
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:323,1
    - Dst: isValid
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:323,1
    - Dst: QRectF
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:327,1
    - Dst: QRectF::x
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:327,1
    - Dst: x
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:327,1
    - Dst: QRectF::width
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:327,1
    - Dst: QRectF::y
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:328,1
    - Dst: y
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:328,1
    - Dst: QRectF::height
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:328,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:329,1
    - Dst: QRectF::width
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:329,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:330,1
    - Dst: QRectF::height
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_texture)
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp
    constantsTouched: []
    func_position:
      end: 334
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 334
    functionName: QSGTextureView::normalizedTextureSubRect
    functionSourceFile: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp
    functionUses: 1
    functionsReached:
    - QSGTextureView::normalizedTextureSubRect
    - assert
    - QRectF::width
    - QSGTextureView::adjustNormalRectWithoutLocking
    - x
    - width
    - height
    - QRectF::y
    - QRectF
    - QRectF::x
    - isValid
    - QRectF::height
    - has_value
    - y
    linkageType: ''
    returnType: QRectF
    signature: QRectF QSGTextureView::normalizedTextureSubRect() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:338,1
    - Dst: QSGTextureView::isAtlasTexture
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_texture)
      pos:
        line_end: 337
        line_start: 337
        source_file: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp
    constantsTouched: []
    func_position:
      end: 344
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 344
    functionName: QSGTextureView::isAtlasTexture
    functionSourceFile: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp
    functionUses: 1
    functionsReached:
    - assert
    - QSGTextureView::isAtlasTexture
    linkageType: ''
    returnType: bool
    signature: bool QSGTextureView::isAtlasTexture() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:348,1
    - Dst: QSGTextureView::removedFromAtlas
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:357,1
    - Dst: Q_LIKELY
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:358,1
    - Dst: const_cast<QSGTextureView*>
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:366,1
    - Dst: const_cast<QSGTextureView*>
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - batch
    argTypes:
    - QRhiResourceUpdateBatch*
    assertStmts:
    - condition: (m_texture)
      pos:
        line_end: 347
        line_start: 347
        source_file: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp
    constantsTouched: []
    func_position:
      end: 371
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 371
    functionName: QSGTextureView::removedFromAtlas
    functionSourceFile: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp
    functionUses: 1
    functionsReached:
    - const_cast<QSGTextureView*>
    - Q_LIKELY
    - assert
    - QSGTextureView::removedFromAtlas
    linkageType: ''
    returnType: QSGTexture
    signature: QSGTexture *QSGTextureView::removedFromAtlas(QRhiResourceUpdateBatch
      *batch) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QSGTextureView::isAtlasTexture
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:379,1
    - Dst: QSGTextureView::removedFromAtlas
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:382,1
    - Dst: qDebug
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:383,1
    - Dst: QSGTextureView::commitTextureOperations
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:388,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - rhi
    - resourceUpdates
    argTypes:
    - QRhi*
    - QRhiResourceUpdateBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 390
    functionName: QSGTextureView::commitTextureOperations
    functionSourceFile: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp
    functionUses: 1
    functionsReached:
    - QSGTextureView::commitTextureOperations
    - QSGTextureView::isAtlasTexture
    - qDebug
    - QSGTextureView::removedFromAtlas
    linkageType: ''
    returnType: void
    signature: void QSGTextureView::commitTextureOperations(QRhi *rhi, QRhiResourceUpdateBatch
      *resourceUpdates)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: qobject_cast<QSGDynamicTexture*>
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:398,1
    - Dst: auto::updateTexture
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:400,1
    - Dst: updateRequested
      Src: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp:417,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 428
    functionName: QSGTextureView::updateTexture
    functionSourceFile: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp
    functionUses: 0
    functionsReached:
    - updateRequested
    - qobject_cast<QSGDynamicTexture*>
    - auto::updateTexture
    linkageType: ''
    returnType: bool
    signature: bool QSGTextureView::updateTexture()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 433
    functionName: QSGTextureView::requestDetachFromAtlas
    functionSourceFile: /src/vlc/modules/gui/qt/util/qsgtextureview.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QSGTextureView::requestDetachFromAtlas()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupVlcQtMessageHandler
      Src: /src/vlc/modules/gui/qt/util/vlcqtmessagehandler.hpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_intf
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: VlcQtMessageHandlerRegisterer::VlcQtMessageHandlerRegisterer
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcqtmessagehandler.hpp
    functionUses: 0
    functionsReached:
    - setupVlcQtMessageHandler
    linkageType: ''
    returnType: void
    signature: void VlcQtMessageHandlerRegisterer(vlc_object_t* p_intf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanupVlcQtMessageHandler
      Src: /src/vlc/modules/gui/qt/util/vlcqtmessagehandler.hpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: ~VlcQtMessageHandlerRegisterer()
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcqtmessagehandler.hpp
    functionUses: 0
    functionsReached:
    - cleanupVlcQtMessageHandler
    linkageType: ''
    returnType: void
    signature: void ~VlcQtMessageHandlerRegisterer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: VLCTick::toVLCTick
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t toVLCTick() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: VLCTick::VLCTick
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VLCTick()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::reduce
      Src: /src/vlc/modules/gui/qt/util/vlctick.hpp:108,1
    - Dst: constBegin
      Src: /src/vlc/modules/gui/qt/util/vlctick.hpp:108,1
    - Dst: constEnd
      Src: /src/vlc/modules/gui/qt/util/vlctick.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' durations'
    argTypes:
    - QList<VLCDuration>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: VLCDuration::sum
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlctick.hpp
    functionUses: 0
    functionsReached:
    - std::reduce
    - constEnd
    - constBegin
    linkageType: ''
    returnType: void
    signature: void sum(const QList<VLCDuration>& durations)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - rootKey
    argTypes:
    - HKEY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: QVLCRegistry::QVLCRegistry
    functionSourceFile: /src/vlc/modules/gui/qt/util/registry.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QVLCRegistry::QVLCRegistry( HKEY rootKey )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RegOpenKeyExA
      Src: /src/vlc/modules/gui/qt/util/registry.cpp:39,1
    - Dst: RegCloseKey
      Src: /src/vlc/modules/gui/qt/util/registry.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: QVLCRegistry::RegistryKeyExists
    functionSourceFile: /src/vlc/modules/gui/qt/util/registry.cpp
    functionUses: 0
    functionsReached:
    - RegCloseKey
    - RegOpenKeyExA
    linkageType: ''
    returnType: bool
    signature: bool QVLCRegistry::RegistryKeyExists( const char *path )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RegOpenKeyExA
      Src: /src/vlc/modules/gui/qt/util/registry.cpp:54,1
    - Dst: RegQueryValueExA
      Src: /src/vlc/modules/gui/qt/util/registry.cpp:56,1
    - Dst: RegCloseKey
      Src: /src/vlc/modules/gui/qt/util/registry.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - path
    - valueName
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 64
    functionName: QVLCRegistry::RegistryValueExists
    functionSourceFile: /src/vlc/modules/gui/qt/util/registry.cpp
    functionUses: 0
    functionsReached:
    - RegCloseKey
    - RegQueryValueExA
    - RegOpenKeyExA
    linkageType: ''
    returnType: bool
    signature: bool QVLCRegistry::RegistryValueExists( const char *path, const char
      *valueName )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RegCreateKeyExA
      Src: /src/vlc/modules/gui/qt/util/registry.cpp:70,1
    - Dst: RegSetValueExA
      Src: /src/vlc/modules/gui/qt/util/registry.cpp:73,1
    - Dst: RegCloseKey
      Src: /src/vlc/modules/gui/qt/util/registry.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - path
    - valueName
    - value
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 77
    functionName: QVLCRegistry::WriteRegistry
    functionSourceFile: /src/vlc/modules/gui/qt/util/registry.cpp
    functionUses: 1
    functionsReached:
    - RegCreateKeyExA
    - RegCloseKey
    - RegSetValueExA
    linkageType: ''
    returnType: void
    signature: void QVLCRegistry::WriteRegistry( const char *path, const char *valueName,
      int value )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RegCreateKeyExA
      Src: /src/vlc/modules/gui/qt/util/registry.cpp:83,1
    - Dst: RegSetValueExA
      Src: /src/vlc/modules/gui/qt/util/registry.cpp:86,1
    - Dst: strlen
      Src: /src/vlc/modules/gui/qt/util/registry.cpp:87,1
    - Dst: RegCloseKey
      Src: /src/vlc/modules/gui/qt/util/registry.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - path
    - valueName
    - value
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 90
    functionName: QVLCRegistry::WriteRegistry
    functionSourceFile: /src/vlc/modules/gui/qt/util/registry.cpp
    functionUses: 1
    functionsReached:
    - RegCreateKeyExA
    - RegCloseKey
    - strlen
    - RegSetValueExA
    linkageType: ''
    returnType: void
    signature: void QVLCRegistry::WriteRegistry( const char *path, const char *valueName,
      const char *value )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RegCreateKeyExA
      Src: /src/vlc/modules/gui/qt/util/registry.cpp:95,1
    - Dst: RegSetValueExA
      Src: /src/vlc/modules/gui/qt/util/registry.cpp:98,1
    - Dst: RegCloseKey
      Src: /src/vlc/modules/gui/qt/util/registry.cpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - path
    - valueName
    - value
    argTypes:
    - char*
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: QVLCRegistry::WriteRegistry
    functionSourceFile: /src/vlc/modules/gui/qt/util/registry.cpp
    functionUses: 1
    functionsReached:
    - RegCreateKeyExA
    - RegCloseKey
    - RegSetValueExA
    linkageType: ''
    returnType: void
    signature: void QVLCRegistry::WriteRegistry( const char *path, const char *valueName,
      double value )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RegOpenKeyExA
      Src: /src/vlc/modules/gui/qt/util/registry.cpp:109,1
    - Dst: RegQueryValueExA
      Src: /src/vlc/modules/gui/qt/util/registry.cpp:111,1
    - Dst: RegQueryValueExA
      Src: /src/vlc/modules/gui/qt/util/registry.cpp:115,1
    - Dst: RegCloseKey
      Src: /src/vlc/modules/gui/qt/util/registry.cpp:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - path
    - valueName
    - default_value
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 124
    functionName: QVLCRegistry::ReadRegistry
    functionSourceFile: /src/vlc/modules/gui/qt/util/registry.cpp
    functionUses: 1
    functionsReached:
    - RegCloseKey
    - RegQueryValueExA
    - RegOpenKeyExA
    linkageType: ''
    returnType: int
    signature: int QVLCRegistry::ReadRegistry( const char *path, const char *valueName,
      int default_value )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RegOpenKeyExA
      Src: /src/vlc/modules/gui/qt/util/registry.cpp:135,1
    - Dst: RegQueryValueExA
      Src: /src/vlc/modules/gui/qt/util/registry.cpp:137,1
    - Dst: malloc
      Src: /src/vlc/modules/gui/qt/util/registry.cpp:142,1
    - Dst: RegQueryValueExA
      Src: /src/vlc/modules/gui/qt/util/registry.cpp:143,1
    - Dst: RegCloseKey
      Src: /src/vlc/modules/gui/qt/util/registry.cpp:149,1
    - Dst: strdup
      Src: /src/vlc/modules/gui/qt/util/registry.cpp:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - path
    - valueName
    - default_value
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 153
    functionName: QVLCRegistry::ReadRegistry
    functionSourceFile: /src/vlc/modules/gui/qt/util/registry.cpp
    functionUses: 1
    functionsReached:
    - strdup
    - RegQueryValueExA
    - RegOpenKeyExA
    - RegCloseKey
    - malloc
    linkageType: ''
    returnType: char
    signature: char * QVLCRegistry::ReadRegistry( const char *path, const char *valueName,
      const char *default_value )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RegOpenKeyExA
      Src: /src/vlc/modules/gui/qt/util/registry.cpp:162,1
    - Dst: RegQueryValueExA
      Src: /src/vlc/modules/gui/qt/util/registry.cpp:164,1
    - Dst: RegQueryValueExA
      Src: /src/vlc/modules/gui/qt/util/registry.cpp:169,1
    - Dst: RegCloseKey
      Src: /src/vlc/modules/gui/qt/util/registry.cpp:176,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - path
    - valueName
    - default_value
    argTypes:
    - char*
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 179
    functionName: QVLCRegistry::ReadRegistry
    functionSourceFile: /src/vlc/modules/gui/qt/util/registry.cpp
    functionUses: 1
    functionsReached:
    - RegCloseKey
    - RegQueryValueExA
    - RegOpenKeyExA
    linkageType: ''
    returnType: double
    signature: double QVLCRegistry::ReadRegistry( const char *path, const char *valueName,
      double default_value )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RegOpenKeyExA
      Src: /src/vlc/modules/gui/qt/util/registry.cpp:185,1
    - Dst: RegDeleteValueA
      Src: /src/vlc/modules/gui/qt/util/registry.cpp:187,1
    - Dst: RegCloseKey
      Src: /src/vlc/modules/gui/qt/util/registry.cpp:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - path
    - valueName
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 192
    functionName: QVLCRegistry::DeleteValue
    functionSourceFile: /src/vlc/modules/gui/qt/util/registry.cpp
    functionUses: 1
    functionsReached:
    - RegDeleteValueA
    - RegCloseKey
    - RegOpenKeyExA
    linkageType: ''
    returnType: int
    signature: int QVLCRegistry::DeleteValue( const char *path, const char *valueName
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RegOpenKeyExA
      Src: /src/vlc/modules/gui/qt/util/registry.cpp:198,1
    - Dst: RegDeleteKeyA
      Src: /src/vlc/modules/gui/qt/util/registry.cpp:203,1
    - Dst: RegCloseKey
      Src: /src/vlc/modules/gui/qt/util/registry.cpp:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - path
    - keyName
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 208
    functionName: QVLCRegistry::DeleteKey
    functionSourceFile: /src/vlc/modules/gui/qt/util/registry.cpp
    functionUses: 1
    functionsReached:
    - RegCloseKey
    - RegDeleteKeyA
    - RegOpenKeyExA
    linkageType: ''
    returnType: long
    signature: long QVLCRegistry::DeleteKey( const char *path, const char *keyName
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' renderItem'
    argTypes:
    - RendererItemPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: ItemEntry
    functionSourceFile: /src/vlc/modules/gui/qt/util/renderer_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ItemEntry(const RendererItemPtr& renderItem, bool current = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: ItemEntry
    functionSourceFile: /src/vlc/modules/gui/qt/util/renderer_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ItemEntry()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:66,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:67,1
    - Dst: RendererManagerPrivate::timerCountdown
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:67,1
    - Dst: vlc_player_AddListener
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - pub
    - intf
    - player
    argTypes:
    - RendererManager*
    - qt_intf_t*
    - vlc_player_t*
    assertStmts:
    - condition: (m_player)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/vlc/modules/gui/qt/util/renderer_manager.cpp
    constantsTouched: []
    func_position:
      end: 75
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 75
    functionName: RendererManagerPrivate::RendererManagerPrivate
    functionSourceFile: /src/vlc/modules/gui/qt/util/renderer_manager.cpp
    functionUses: 0
    functionsReached:
    - Disconnect
    - assert
    - RendererManagerPrivate::timerCountdown
    - vlc_player_AddListener
    linkageType: ''
    returnType: void
    signature: void RendererManagerPrivate(RendererManager* pub, qt_intf_t* const
      intf, vlc_player_t* const player)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_RemoveListener
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: ~RendererManagerPrivate()
    functionSourceFile: /src/vlc/modules/gui/qt/util/renderer_manager.cpp
    functionUses: 0
    functionsReached:
    - vlc_player_RemoveListener
    linkageType: ''
    returnType: void
    signature: void ~RendererManagerPrivate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:88,1
    - Dst: isActive
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:89,1
    - Dst: StopScan
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 98
    functionName: RendererManagerPrivate::timerCountdown
    functionSourceFile: /src/vlc/modules/gui/qt/util/renderer_manager.cpp
    functionUses: 1
    functionsReached:
    - Q_Q
    - isActive
    - StopScan
    linkageType: ''
    returnType: void
    signature: void timerCountdown()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - status
    argTypes:
    - RendererManager::RendererStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: RendererManagerPrivate::setStatus
    functionSourceFile: /src/vlc/modules/gui/qt/util/renderer_manager.cpp
    functionUses: 0
    functionsReached:
    - Q_Q
    linkageType: ''
    returnType: void
    signature: void setStatus(RendererManager::RendererStatus status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:111,1
    - Dst: RendererManagerPrivate::getItemKey
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:112,1
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:113,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:115,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:115,1
    - Dst: emplace
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:116,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' renderItem'
    argTypes:
    - RendererItemPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 126
    functionName: RendererManagerPrivate::onRendererAdded
    functionSourceFile: /src/vlc/modules/gui/qt/util/renderer_manager.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - size
    - Q_Q
    - emplace
    - RendererManagerPrivate::getItemKey
    - contains
    linkageType: ''
    returnType: void
    signature: void onRendererAdded(const RendererItemPtr& renderItem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:129,1
    - Dst: RendererManagerPrivate::getItemKey
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:131,1
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:132,1
    - Dst: indexOf
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:138,1
    - Dst: remove
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:140,1
    - Dst: remove
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' renderItem'
    argTypes:
    - RendererItemPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 145
    functionName: RendererManagerPrivate::onRendererRemoved
    functionSourceFile: /src/vlc/modules/gui/qt/util/renderer_manager.cpp
    functionUses: 0
    functionsReached:
    - Q_Q
    - remove
    - RendererManagerPrivate::getItemKey
    - indexOf
    - contains
    linkageType: ''
    returnType: void
    signature: void onRendererRemoved(const RendererItemPtr& renderItem)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:149,1
    - Dst: RendererManagerPrivate::getItemRow
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:156,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:157,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:160,1
    - Dst: RendererManagerPrivate::getItemRow
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:169,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:172,1
    - Dst: RendererManagerPrivate::getItemKey
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:177,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:178,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:178,1
    - Dst: emplace
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:180,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' renderItem'
    argTypes:
    - RendererItemPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 186
    functionName: RendererManagerPrivate::onPlayerRendererChanged
    functionSourceFile: /src/vlc/modules/gui/qt/util/renderer_manager.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - RendererManagerPrivate::getItemRow
    - size
    - Q_Q
    - reset
    - index
    - emplace
    - RendererManagerPrivate::getItemKey
    linkageType: ''
    returnType: void
    signature: void onPlayerRendererChanged(const RendererItemPtr& renderItem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_renderer_item_type
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:190,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:190,1
    - Dst: vlc_renderer_item_sout
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:191,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:191,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' item'
    argTypes:
    - RendererItemPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: RendererManagerPrivate::getItemKey
    functionSourceFile: /src/vlc/modules/gui/qt/util/renderer_manager.cpp
    functionUses: 3
    functionsReached:
    - get
    - vlc_renderer_item_sout
    - QString
    - vlc_renderer_item_type
    linkageType: ''
    returnType: QString
    signature: QString getItemKey(const RendererItemPtr& item) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RendererManagerPrivate::getItemKey
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:197,1
    - Dst: indexOf
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' item'
    argTypes:
    - RendererItemPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: RendererManagerPrivate::getItemRow
    functionSourceFile: /src/vlc/modules/gui/qt/util/renderer_manager.cpp
    functionUses: 1
    functionsReached:
    - indexOf
    - RendererManagerPrivate::getItemKey
    linkageType: ''
    returnType: int
    signature: int getItemRow(const RendererItemPtr& item) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:230,1
    - Dst: vlc_player_SetRenderer
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 239
    functionName: RendererManager::disableRenderer
    functionSourceFile: /src/vlc/modules/gui/qt/util/renderer_manager.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    - vlc_player_SetRenderer
    linkageType: ''
    returnType: void
    signature: void RendererManager::disableRenderer()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:244,1
    - Dst: m_itemsIndex::size
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:244,1
    - Dst: m_items::value
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:247,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:247,1
    - Dst: renderItem::get
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:248,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:253,1
    - Dst: vlc_renderer_item_name
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:253,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:255,1
    - Dst: vlc_renderer_item_type
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:255,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:257,1
    - Dst: vlc_renderer_item_demux_filter
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:257,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:259,1
    - Dst: vlc_renderer_item_sout
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:259,1
    - Dst: vlc_renderer_item_icon_uri
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:263,1
    - Dst: vlc_renderer_item_flags
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:266,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:267,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:269,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:271,1
    - Dst: vlc_renderer_item_flags
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:274,1
    - Dst: renderItem::get
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 2
    argNames:
    - index
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 281
    functionName: RendererManager::data
    functionSourceFile: /src/vlc/modules/gui/qt/util/renderer_manager.cpp
    functionUses: 0
    functionsReached:
    - vlc_renderer_item_demux_filter
    - QString
    - m_itemsIndex::size
    - renderItem::get
    - vlc_renderer_item_name
    - QModelIndex::row
    - vlc_renderer_item_flags
    - m_items::value
    - vlc_renderer_item_sout
    - vlc_renderer_item_icon_uri
    - vlc_renderer_item_type
    linkageType: ''
    returnType: QVariant
    signature: QVariant RendererManager::data(const QModelIndex &index, int role)
      const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:285,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:286,1
    - Dst: m_itemsIndex::size
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:286,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:289,1
    - Dst: QVariant::canConvert
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:298,1
    - Dst: QVariant::toBool
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:299,1
    - Dst: vlc_player_SetRenderer
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:306,1
    - Dst: renderItem::get
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - index
    - value
    - role
    argTypes:
    - QModelIndex
    - QVariant
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 316
    functionName: RendererManager::setData
    functionSourceFile: /src/vlc/modules/gui/qt/util/renderer_manager.cpp
    functionUses: 0
    functionsReached:
    - m_itemsIndex::size
    - renderItem::get
    - QModelIndex::row
    - QVariant::canConvert
    - QVariant::toBool
    - vlc_player_SetRenderer
    - Q_D
    linkageType: ''
    returnType: bool
    signature: bool RendererManager::setData(const QModelIndex &index, const QVariant
      &value, int role)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:321,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:322,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:323,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:324,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:325,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 328
    functionName: RendererManager::roleNames
    functionSourceFile: /src/vlc/modules/gui/qt/util/renderer_manager.cpp
    functionUses: 0
    functionsReached:
    - QByteArrayLiteral
    linkageType: ''
    returnType: QHash<int,QByteArray>
    signature: QHash<int,QByteArray> RendererManager::roleNames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_itemsIndex::size
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 334
    functionName: RendererManager::rowCount
    functionSourceFile: /src/vlc/modules/gui/qt/util/renderer_manager.cpp
    functionUses: 0
    functionsReached:
    - m_itemsIndex::size
    linkageType: ''
    returnType: int
    signature: int RendererManager::rowCount(const QModelIndex&) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<RendererManagerPrivate*>
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:339,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:341,1
    - Dst: RendererManagerPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:341,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:341,1
    - Dst: RendererManagerPrivate*::onRendererAdded
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_rd
    - p_item
    argTypes:
    - vlc_renderer_discovery_t*
    - vlc_renderer_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 344
    functionName: renderer_event_item_added
    functionSourceFile: /src/vlc/modules/gui/qt/util/renderer_manager.cpp
    functionUses: 0
    functionsReached:
    - RendererManagerPrivate*::q_func
    - QMetaObject::invokeMethod
    - std::move
    - reinterpret_cast<RendererManagerPrivate*>
    - RendererManagerPrivate*::onRendererAdded
    linkageType: ''
    returnType: void
    signature: void renderer_event_item_added( vlc_renderer_discovery_t* p_rd, vlc_renderer_item_t
      *p_item )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<RendererManagerPrivate*>
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:349,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:351,1
    - Dst: RendererManagerPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:351,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:351,1
    - Dst: RendererManagerPrivate*::onRendererRemoved
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_rd
    - p_item
    argTypes:
    - vlc_renderer_discovery_t*
    - vlc_renderer_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 354
    functionName: renderer_event_item_removed
    functionSourceFile: /src/vlc/modules/gui/qt/util/renderer_manager.cpp
    functionUses: 0
    functionsReached:
    - RendererManagerPrivate*::q_func
    - std::move
    - RendererManagerPrivate*::onRendererRemoved
    - reinterpret_cast<RendererManagerPrivate*>
    - QMetaObject::invokeMethod
    linkageType: ''
    returnType: void
    signature: "void renderer_event_item_removed( vlc_renderer_discovery_t *p_rd,\n
      \                                vlc_renderer_item_t *p_item )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<RendererManagerPrivate*>
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:358,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:360,1
    - Dst: RendererManagerPrivate*::q_func
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:360,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:360,1
    - Dst: RendererManagerPrivate*::onPlayerRendererChanged
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - new_item
    - data
    argTypes:
    - vlc_renderer_item_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 363
    functionName: player_renderer_changed
    functionSourceFile: /src/vlc/modules/gui/qt/util/renderer_manager.cpp
    functionUses: 0
    functionsReached:
    - RendererManagerPrivate*::q_func
    - RendererManagerPrivate*::onPlayerRendererChanged
    - std::move
    - reinterpret_cast<RendererManagerPrivate*>
    - QMetaObject::invokeMethod
    linkageType: ''
    returnType: void
    signature: void player_renderer_changed(vlc_player_t *, vlc_renderer_item_t *new_item,
      void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RendererManagerPrivate::RendererManagerPrivate
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_intf_
    - player
    argTypes:
    - qt_intf_t*
    - vlc_player_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 365
    functionDepth: 3
    functionLinenumber: 365
    functionLinenumberEnd: 368
    functionName: RendererManager::RendererManager
    functionSourceFile: /src/vlc/modules/gui/qt/util/renderer_manager.cpp
    functionUses: 1
    functionsReached:
    - RendererManagerPrivate::RendererManagerPrivate
    linkageType: ''
    returnType: void
    signature: void RendererManager::RendererManager( qt_intf_t *p_intf_, vlc_player_t*
      player )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RendererManager::StopScan
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 373
    functionName: RendererManager::~RendererManager()
    functionSourceFile: /src/vlc/modules/gui/qt/util/renderer_manager.cpp
    functionUses: 0
    functionsReached:
    - RendererManager::StopScan
    linkageType: ''
    returnType: void
    signature: void RendererManager::~RendererManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 379
    functionName: RendererManager::getScanRemain
    functionSourceFile: /src/vlc/modules/gui/qt/util/renderer_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RendererManager::getScanRemain() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 385
    functionName: RendererManager::getStatus
    functionSourceFile: /src/vlc/modules/gui/qt/util/renderer_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RendererManager::RendererStatus
    signature: RendererManager::RendererStatus RendererManager::getStatus() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_selectedItem::get
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 391
    functionName: RendererManager::useRenderer
    functionSourceFile: /src/vlc/modules/gui/qt/util/renderer_manager.cpp
    functionUses: 0
    functionsReached:
    - m_selectedItem::get
    linkageType: ''
    returnType: bool
    signature: bool RendererManager::useRenderer() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:395,1
    - Dst: m_stop_scan_timer::isActive
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:396,1
    - Dst: vlc_rd_get_names
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:402,1
    - Dst: setStatus
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:404,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:418,1
    - Dst: vlc_rd_new
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:419,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:419,1
    - Dst: m_rds::push_back
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:421,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:422,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:423,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:425,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:426,1
    - Dst: m_stop_scan_timer::setInterval
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:429,1
    - Dst: m_stop_scan_timer::start
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:430,1
    - Dst: setStatus
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:431,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 433
    functionName: RendererManager::StartScan
    functionSourceFile: /src/vlc/modules/gui/qt/util/renderer_manager.cpp
    functionUses: 0
    functionsReached:
    - vlc_rd_new
    - vlc_rd_get_names
    - Q_D
    - m_rds::push_back
    - free
    - m_stop_scan_timer::isActive
    - m_stop_scan_timer::setInterval
    - msg_Dbg
    - VLC_OBJECT
    - setStatus
    - m_stop_scan_timer::start
    linkageType: ''
    returnType: void
    signature: void RendererManager::StartScan()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:437,1
    - Dst: m_stop_scan_timer::stop
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:438,1
    - Dst: vlc_rd_release
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:441,1
    - Dst: m_rds::clear
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:442,1
    - Dst: m_itemsIndex::size
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:445,1
    - Dst: m_items::remove
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:453,1
    - Dst: m_itemsIndex::remove
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:454,1
    - Dst: setStatus
      Src: /src/vlc/modules/gui/qt/util/renderer_manager.cpp:463,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 464
    functionName: RendererManager::StopScan
    functionSourceFile: /src/vlc/modules/gui/qt/util/renderer_manager.cpp
    functionUses: 1
    functionsReached:
    - vlc_rd_release
    - m_itemsIndex::size
    - m_stop_scan_timer::stop
    - m_items::remove
    - m_itemsIndex::remove
    - setStatus
    - m_rds::clear
    - Q_D
    linkageType: ''
    returnType: void
    signature: void RendererManager::StopScan()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setFlag
      Src: /src/vlc/modules/gui/qt/util/sgmanipulator.cpp:29,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/sgmanipulator.cpp:31,1
    - Dst: update
      Src: /src/vlc/modules/gui/qt/util/sgmanipulator.cpp:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QQuickItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: SGManipulator::SGManipulator
    functionSourceFile: /src/vlc/modules/gui/qt/util/sgmanipulator.cpp
    functionUses: 0
    functionsReached:
    - connect
    - setFlag
    - update
    linkageType: ''
    returnType: void
    signature: void SGManipulator::SGManipulator(QQuickItem *parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: SGManipulator::blending
    functionSourceFile: /src/vlc/modules/gui/qt/util/sgmanipulator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QJSValue
    signature: QJSValue SGManipulator::blending() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/vlc/modules/gui/qt/util/sgmanipulator.cpp:47,1
    - Dst: toBool
      Src: /src/vlc/modules/gui/qt/util/sgmanipulator.cpp:47,1
    - Dst: toBool
      Src: /src/vlc/modules/gui/qt/util/sgmanipulator.cpp:50,1
    - Dst: update
      Src: /src/vlc/modules/gui/qt/util/sgmanipulator.cpp:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' blending'
    argTypes:
    - QJSValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: SGManipulator::setBlending
    functionSourceFile: /src/vlc/modules/gui/qt/util/sgmanipulator.cpp
    functionUses: 0
    functionsReached:
    - update
    - toBool
    - isNull
    linkageType: ''
    returnType: void
    signature: void SGManipulator::setBlending(const QJSValue& blending)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/util/sgmanipulator.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: SGManipulator::resetBlending
    functionSourceFile: /src/vlc/modules/gui/qt/util/sgmanipulator.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void SGManipulator::resetBlending()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/sgmanipulator.cpp:64,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/sgmanipulator.cpp:67,1
    - Dst: dynamic_cast<QSGTransformNode*>
      Src: /src/vlc/modules/gui/qt/util/sgmanipulator.cpp:78,1
    - Dst: QSGNode*::previousSibling
      Src: /src/vlc/modules/gui/qt/util/sgmanipulator.cpp:80,1
    - Dst: dynamic_cast<QSGGeometryNode*>
      Src: /src/vlc/modules/gui/qt/util/sgmanipulator.cpp:85,1
    - Dst: dynamic_cast<QSGRenderNode*>
      Src: /src/vlc/modules/gui/qt/util/sgmanipulator.cpp:86,1
    - Dst: QSGGeometryNode*::material
      Src: /src/vlc/modules/gui/qt/util/sgmanipulator.cpp:97,1
    - Dst: reinterpret_cast<QSGMaterial*>
      Src: /src/vlc/modules/gui/qt/util/sgmanipulator.cpp:99,1
    - Dst: auto::flags
      Src: /src/vlc/modules/gui/qt/util/sgmanipulator.cpp:103,1
    - Dst: qDebug
      Src: /src/vlc/modules/gui/qt/util/sgmanipulator.cpp:105,1
    - Dst: auto::setFlag
      Src: /src/vlc/modules/gui/qt/util/sgmanipulator.cpp:106,1
    - Dst: QSGGeometryNode*::markDirty
      Src: /src/vlc/modules/gui/qt/util/sgmanipulator.cpp:112,1
    - Dst: update
      Src: /src/vlc/modules/gui/qt/util/sgmanipulator.cpp:118,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 1
    argNames:
    - data
    argTypes:
    - UpdatePaintNodeData*
    assertStmts:
    - condition: (data)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/vlc/modules/gui/qt/util/sgmanipulator.cpp
    - condition: (transformNode)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/vlc/modules/gui/qt/util/sgmanipulator.cpp
    constantsTouched: []
    func_position:
      end: 121
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 121
    functionName: SGManipulator::updatePaintNode
    functionSourceFile: /src/vlc/modules/gui/qt/util/sgmanipulator.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<QSGGeometryNode*>
    - assert
    - reinterpret_cast<QSGMaterial*>
    - update
    - auto::setFlag
    - auto::flags
    - qDebug
    - QSGGeometryNode*::markDirty
    - QSGNode*::previousSibling
    - QSGGeometryNode*::material
    - dynamic_cast<QSGRenderNode*>
    - dynamic_cast<QSGTransformNode*>
    linkageType: ''
    returnType: QSGNode
    signature: QSGNode *SGManipulator::updatePaintNode(QSGNode *, UpdatePaintNodeData
      *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/csdmenu_win32.c:34,1
    - Dst: GetSystemMenu
      Src: /src/vlc/modules/gui/qt/util/csdmenu_win32.c:37,1
    - Dst: EnableMenuItem
      Src: /src/vlc/modules/gui/qt/util/csdmenu_win32.c:45,1
    - Dst: EnableMenuItem
      Src: /src/vlc/modules/gui/qt/util/csdmenu_win32.c:46,1
    - Dst: EnableMenuItem
      Src: /src/vlc/modules/gui/qt/util/csdmenu_win32.c:48,1
    - Dst: EnableMenuItem
      Src: /src/vlc/modules/gui/qt/util/csdmenu_win32.c:49,1
    - Dst: EnableMenuItem
      Src: /src/vlc/modules/gui/qt/util/csdmenu_win32.c:50,1
    - Dst: EnableMenuItem
      Src: /src/vlc/modules/gui/qt/util/csdmenu_win32.c:51,1
    - Dst: qt_csd_menu_priv_t*::notifyMenuVisible
      Src: /src/vlc/modules/gui/qt/util/csdmenu_win32.c:59,1
    - Dst: TrackPopupMenu
      Src: /src/vlc/modules/gui/qt/util/csdmenu_win32.c:61,1
    - Dst: PostMessageW
      Src: /src/vlc/modules/gui/qt/util/csdmenu_win32.c:67,1
    - Dst: qt_csd_menu_priv_t*::notifyMenuVisible
      Src: /src/vlc/modules/gui/qt/util/csdmenu_win32.c:70,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - menu
    - event
    argTypes:
    - struct qt_csd_menu_t*
    - qt_csd_menu_event*
    assertStmts:
    - condition: (event->platform == QT_CSD_PLATFORM_WINDOWS)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/vlc/modules/gui/qt/util/csdmenu_win32.c
    constantsTouched: []
    func_position:
      end: 73
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 73
    functionName: Popup
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdmenu_win32.c
    functionUses: 3
    functionsReached:
    - assert
    - PostMessageW
    - EnableMenuItem
    - TrackPopupMenu
    - qt_csd_menu_priv_t*::notifyMenuVisible
    - GetSystemMenu
    linkageType: ''
    returnType: bool
    signature: bool Popup(struct qt_csd_menu_t* menu, qt_csd_menu_event* event)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/gui/qt/util/csdmenu_win32.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - p_this
    - info
    argTypes:
    - qt_csd_menu_t*
    - qt_csd_menu_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 92
    functionName: QtWin32CSDMenuOpen
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdmenu_win32.c
    functionUses: 0
    functionsReached:
    - vlc_obj_malloc
    linkageType: ''
    returnType: int
    signature: int QtWin32CSDMenuOpen(qt_csd_menu_t* p_this, qt_csd_menu_info* info)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: qstrcmp
      Src: /src/vlc/modules/gui/qt/util/vlcqtmessagehandler.cpp:43,1
    - Dst: qstrcmp
      Src: /src/vlc/modules/gui/qt/util/vlcqtmessagehandler.cpp:44,1
    - Dst: qstrcmp
      Src: /src/vlc/modules/gui/qt/util/vlcqtmessagehandler.cpp:45,1
    - Dst: qstrcmp
      Src: /src/vlc/modules/gui/qt/util/vlcqtmessagehandler.cpp:46,1
    - Dst: vlc_object_Log
      Src: /src/vlc/modules/gui/qt/util/vlcqtmessagehandler.cpp:70,1
    - Dst: QString::toUtf8
      Src: /src/vlc/modules/gui/qt/util/vlcqtmessagehandler.cpp:70,1
    - Dst: g_defaultMessageHandler
      Src: /src/vlc/modules/gui/qt/util/vlcqtmessagehandler.cpp:74,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - type
    - context
    - msg
    argTypes:
    - QtMsgType
    - QMessageLogContext
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 76
    functionName: vlcQtMessageHandler
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcqtmessagehandler.cpp
    functionUses: 0
    functionsReached:
    - vlc_object_Log
    - QString::toUtf8
    - g_defaultMessageHandler
    - qstrcmp
    linkageType: ''
    returnType: void
    signature: void vlcQtMessageHandler(QtMsgType type, const QMessageLogContext &context,
      const QString &msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/vlcqtmessagehandler.cpp:80,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/vlcqtmessagehandler.cpp:81,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/util/vlcqtmessagehandler.cpp:84,1
    - Dst: qInstallMessageHandler
      Src: /src/vlc/modules/gui/qt/util/vlcqtmessagehandler.cpp:86,1
    - Dst: qSetMessagePattern
      Src: /src/vlc/modules/gui/qt/util/vlcqtmessagehandler.cpp:87,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/util/vlcqtmessagehandler.cpp:93,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/util/vlcqtmessagehandler.cpp:100,1
    - Dst: QLoggingCategory::setFilterRules
      Src: /src/vlc/modules/gui/qt/util/vlcqtmessagehandler.cpp:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - p_intf
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: (g_intf == nullptr)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/vlc/modules/gui/qt/util/vlcqtmessagehandler.cpp
    - condition: (p_intf != nullptr)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/vlc/modules/gui/qt/util/vlcqtmessagehandler.cpp
    constantsTouched: []
    func_position:
      end: 104
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 104
    functionName: setupVlcQtMessageHandler
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcqtmessagehandler.cpp
    functionUses: 1
    functionsReached:
    - QStringLiteral
    - assert
    - var_InheritBool
    - qInstallMessageHandler
    - QLoggingCategory::setFilterRules
    - qSetMessagePattern
    linkageType: ''
    returnType: void
    signature: void setupVlcQtMessageHandler(vlc_object_t* p_intf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/vlcqtmessagehandler.cpp:108,1
    - Dst: qInstallMessageHandler
      Src: /src/vlc/modules/gui/qt/util/vlcqtmessagehandler.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (g_intf != nullptr)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/vlc/modules/gui/qt/util/vlcqtmessagehandler.cpp
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: cleanupVlcQtMessageHandler
    functionSourceFile: /src/vlc/modules/gui/qt/util/vlcqtmessagehandler.cpp
    functionUses: 1
    functionsReached:
    - assert
    - qInstallMessageHandler
    linkageType: ''
    returnType: void
    signature: void cleanupVlcQtMessageHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: toNativeSeparators
    functionSourceFile: /src/vlc/modules/gui/qt/util/qt_dirs.hpp
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: toNativeSeparators( s )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/vlc/modules/gui/qt/util/qt_dirs.hpp:33,1
    - Dst: length
      Src: /src/vlc/modules/gui/qt/util/qt_dirs.hpp:33,1
    - Dst: QLatin1Char
      Src: /src/vlc/modules/gui/qt/util/qt_dirs.hpp:33,1
    - Dst: remove
      Src: /src/vlc/modules/gui/qt/util/qt_dirs.hpp:34,1
    - Dst: length
      Src: /src/vlc/modules/gui/qt/util/qt_dirs.hpp:34,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: removeTrailingSlash
    functionSourceFile: /src/vlc/modules/gui/qt/util/qt_dirs.hpp
    functionUses: 0
    functionsReached:
    - length
    - remove
    - QLatin1Char
    linkageType: ''
    returnType: QString
    signature: QString removeTrailingSlash( QString&& s )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: toNativeSepNoSlash
    functionSourceFile: /src/vlc/modules/gui/qt/util/qt_dirs.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: toNativeSepNoSlash( a )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QString::replace
      Src: /src/vlc/modules/gui/qt/util/qt_dirs.hpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: colon_escape
    functionSourceFile: /src/vlc/modules/gui/qt/util/qt_dirs.hpp
    functionUses: 3
    functionsReached:
    - QString::replace
    linkageType: ''
    returnType: QString
    signature: QString colon_escape( QString s )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QString::replace
      Src: /src/vlc/modules/gui/qt/util/qt_dirs.hpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: colon_unescape
    functionSourceFile: /src/vlc/modules/gui/qt/util/qt_dirs.hpp
    functionUses: 4
    functionsReached:
    - QString::replace
    linkageType: ''
    returnType: QString
    signature: QString colon_unescape( QString s )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<csd_menu_priv_t*>
      Src: /src/vlc/modules/gui/qt/util/csdmenu_x11.cpp:32,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/util/csdmenu_x11.cpp:34,1
    - Dst: xcb_ungrab_pointer
      Src: /src/vlc/modules/gui/qt/util/csdmenu_x11.cpp:49,1
    - Dst: xcb_send_event
      Src: /src/vlc/modules/gui/qt/util/csdmenu_x11.cpp:50,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/vlc/modules/gui/qt/util/csdmenu_x11.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - p_this
    - event
    argTypes:
    - qt_csd_menu_t*
    - qt_csd_menu_event*
    assertStmts:
    - condition: (event->platform == QT_CSD_PLATFORM_X11)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/vlc/modules/gui/qt/util/csdmenu_x11.cpp
    constantsTouched: []
    func_position:
      end: 52
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 52
    functionName: CSDMenuPopup
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdmenu_x11.cpp
    functionUses: 0
    functionsReached:
    - assert
    - xcb_send_event
    - reinterpret_cast<const char*>
    - static_cast<csd_menu_priv_t*>
    - xcb_ungrab_pointer
    linkageType: ''
    returnType: bool
    signature: bool CSDMenuPopup(qt_csd_menu_t* p_this, qt_csd_menu_event* event)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/util/csdmenu_x11.cpp:61,1
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/gui/qt/util/csdmenu_x11.cpp:65,1
    - Dst: vlc::getInternAtom
      Src: /src/vlc/modules/gui/qt/util/csdmenu_x11.cpp:72,1
    - Dst: vlc::wmNetSupport
      Src: /src/vlc/modules/gui/qt/util/csdmenu_x11.cpp:77,1
    - Dst: vlc_obj_free
      Src: /src/vlc/modules/gui/qt/util/csdmenu_x11.cpp:89,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - p_this
    - info
    argTypes:
    - qt_csd_menu_t*
    - qt_csd_menu_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 91
    functionName: X11CSDMenuOpen
    functionSourceFile: /src/vlc/modules/gui/qt/util/csdmenu_x11.cpp
    functionUses: 0
    functionsReached:
    - vlc::wmNetSupport
    - vlc_obj_free
    - msg_Warn
    - vlc::getInternAtom
    - vlc_obj_calloc
    linkageType: ''
    returnType: int
    signature: int X11CSDMenuOpen(qt_csd_menu_t* p_this, qt_csd_menu_info* info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/base_model.cpp:26,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/base_model.cpp:27,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/base_model.cpp:28,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/base_model.cpp:29,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/base_model.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - priv
    - parent
    argTypes:
    - BaseModelPrivate*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: BaseModel::BaseModel
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model.cpp
    functionUses: 0
    functionsReached:
    - connect
    linkageType: ''
    returnType: void
    signature: void BaseModel::BaseModel(BaseModelPrivate* priv, QObject* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: BaseModel::~BaseModel()
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BaseModel::~BaseModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/util/base_model.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: BaseModel::classBegin
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    linkageType: ''
    returnType: void
    signature: void BaseModel::classBegin()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/util/base_model.cpp:44,1
    - Dst: initializeModel
      Src: /src/vlc/modules/gui/qt/util/base_model.cpp:46,1
    - Dst: BaseModel::validateCache
      Src: /src/vlc/modules/gui/qt/util/base_model.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: BaseModel::componentComplete
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model.cpp
    functionUses: 0
    functionsReached:
    - initializeModel
    - BaseModel::validateCache
    - Q_D
    linkageType: ''
    returnType: void
    signature: void BaseModel::componentComplete()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::isValid
      Src: /src/vlc/modules/gui/qt/util/base_model.cpp:53,1
    - Dst: BaseModel::getCount
      Src: /src/vlc/modules/gui/qt/util/base_model.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: BaseModel::rowCount
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model.cpp
    functionUses: 0
    functionsReached:
    - BaseModel::getCount
    - QModelIndex::isValid
    linkageType: ''
    returnType: int
    signature: int BaseModel::rowCount(const QModelIndex &parent) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: BaseModel::onCacheDataChanged
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BaseModel::onCacheDataChanged(int first, int last)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: BaseModel::onCacheBeginInsertRows
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BaseModel::onCacheBeginInsertRows(int first, int last)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: BaseModel::onCacheBeginRemoveRows
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BaseModel::onCacheBeginRemoveRows(int first, int last)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - first
    - last
    - destination
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: BaseModel::onCacheBeginMoveRows
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BaseModel::onCacheBeginMoveRows(int first, int last, int destination)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: BaseModel::getLimit
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int BaseModel::getLimit() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/util/base_model.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - limit
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: BaseModel::setLimit
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    linkageType: ''
    returnType: void
    signature: void BaseModel::setLimit(unsigned int limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: BaseModel::getOffset
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int BaseModel::getOffset() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/util/base_model.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - offset
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: BaseModel::setOffset
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    linkageType: ''
    returnType: void
    signature: void BaseModel::setOffset(unsigned int offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: '& BaseModel::searchPattern() const'
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString & BaseModel::searchPattern() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/util/base_model.cpp:117,1
    - Dst: length
      Src: /src/vlc/modules/gui/qt/util/base_model.cpp:118,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/util/base_model.cpp:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' pattern'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: BaseModel::setSearchPattern
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model.cpp
    functionUses: 0
    functionsReached:
    - length
    - Q_D
    - std::move
    linkageType: ''
    returnType: void
    signature: void BaseModel::setSearchPattern( const QString& pattern )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: BaseModel::getSortOrder
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Qt::SortOrder
    signature: Qt::SortOrder BaseModel::getSortOrder() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/util/base_model.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - order
    argTypes:
    - Qt::SortOrder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: BaseModel::setSortOrder
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    linkageType: ''
    returnType: void
    signature: void BaseModel::setSortOrder(Qt::SortOrder order)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: BaseModel::getSortCriteria
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString BaseModel::getSortCriteria() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/util/base_model.cpp:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' criteria'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: BaseModel::setSortCriteria
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    linkageType: ''
    returnType: void
    signature: void BaseModel::setSortCriteria(const QString& criteria)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BaseModel::setSortCriteria
      Src: /src/vlc/modules/gui/qt/util/base_model.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: BaseModel::unsetSortCriteria
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model.cpp
    functionUses: 0
    functionsReached:
    - BaseModel::setSortCriteria
    linkageType: ''
    returnType: void
    signature: void BaseModel::unsetSortCriteria()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/util/base_model.cpp:164,1
    - Dst: BaseModel::invalidateCache
      Src: /src/vlc/modules/gui/qt/util/base_model.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: BaseModel::onResetRequested
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    - BaseModel::invalidateCache
    linkageType: ''
    returnType: void
    signature: void BaseModel::onResetRequested()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - queryCount
    - maximumCount
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: BaseModel::onLocalSizeChanged
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BaseModel::onLocalSizeChanged(size_t queryCount, size_t maximumCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BaseModel::validateCache
      Src: /src/vlc/modules/gui/qt/util/base_model.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: BaseModel::validateCache
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model.cpp
    functionUses: 2
    functionsReached:
    - BaseModel::validateCache
    linkageType: ''
    returnType: void
    signature: void BaseModel::validateCache() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/util/base_model.cpp:183,1
    - Dst: BaseModel::resetCache
      Src: /src/vlc/modules/gui/qt/util/base_model.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: BaseModel::resetCache
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model.cpp
    functionUses: 1
    functionsReached:
    - Q_D
    - BaseModel::resetCache
    linkageType: ''
    returnType: void
    signature: void BaseModel::resetCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/util/base_model.cpp:189,1
    - Dst: BaseModel::invalidateCache
      Src: /src/vlc/modules/gui/qt/util/base_model.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: BaseModel::invalidateCache
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model.cpp
    functionUses: 2
    functionsReached:
    - Q_D
    - BaseModel::invalidateCache
    linkageType: ''
    returnType: void
    signature: void BaseModel::invalidateCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BaseModel::getCount
      Src: /src/vlc/modules/gui/qt/util/base_model.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: BaseModel::getCount
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model.cpp
    functionUses: 2
    functionsReached:
    - BaseModel::getCount
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int BaseModel::getCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BaseModel::getLoadedCount
      Src: /src/vlc/modules/gui/qt/util/base_model.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: BaseModel::getLoadedCount
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model.cpp
    functionUses: 1
    functionsReached:
    - BaseModel::getLoadedCount
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int BaseModel::getLoadedCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BaseModel::getMaximumCount
      Src: /src/vlc/modules/gui/qt/util/base_model.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: BaseModel::getMaximumCount
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model.cpp
    functionUses: 1
    functionsReached:
    - BaseModel::getMaximumCount
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int BaseModel::getMaximumCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BaseModel::loading
      Src: /src/vlc/modules/gui/qt/util/base_model.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: BaseModel::loading
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model.cpp
    functionUses: 1
    functionsReached:
    - BaseModel::loading
    linkageType: ''
    returnType: bool
    signature: bool BaseModel::loading() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roleNames
      Src: /src/vlc/modules/gui/qt/util/base_model.cpp:220,1
    - Dst: QHash::keys
      Src: /src/vlc/modules/gui/qt/util/base_model.cpp:222,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/util/base_model.cpp:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' index'
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 227
    functionName: BaseModel::getDataAt
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model.cpp
    functionUses: 0
    functionsReached:
    - QHash::keys
    - roleNames
    - data
    linkageType: ''
    returnType: QMap<QString, QVariant>
    signature: QMap<QString, QVariant> BaseModel::getDataAt(const QModelIndex & index)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BaseModel::getDataAt
      Src: /src/vlc/modules/gui/qt/util/base_model.cpp:231,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/util/base_model.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: BaseModel::getDataAt
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model.cpp
    functionUses: 1
    functionsReached:
    - BaseModel::getDataAt
    - index
    linkageType: ''
    returnType: QMap<QString, QVariant>
    signature: QMap<QString, QVariant> BaseModel::getDataAt(int idx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pub
    argTypes:
    - BaseModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: BaseModelPrivate::BaseModelPrivate
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model_p.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BaseModelPrivate(BaseModel * pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~BaseModelPrivate()
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model_p.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BaseModelPrivate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: BaseModelPrivate::cachable
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model_p.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cachable() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:59,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:62,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:65,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:67,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:70,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:72,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:75,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:77,1
    - Dst: T*::initCount
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - cache
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 81
    functionName: BaseModelPrivate::validateCacheImpl
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model_p.hpp
    functionUses: 0
    functionsReached:
    - Disconnect
    - T*::initCount
    linkageType: ''
    returnType: void
    signature: void validateCacheImpl(T* cache) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:86,1
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:91,1
    - Dst: deleteLater
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:92,1
    - Dst: release
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:93,1
    - Dst: validateCache
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' cache'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: BaseModelPrivate::resetCacheImpl
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model_p.hpp
    functionUses: 0
    functionsReached:
    - disconnect
    - Q_Q
    - release
    - deleteLater
    - validateCache
    linkageType: ''
    returnType: void
    signature: void resetCacheImpl(T& cache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:102,1
    - Dst: invalidate
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:105,1
    - Dst: validateCache
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' cache'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 110
    functionName: BaseModelPrivate::invalidateCacheImpl
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model_p.hpp
    functionUses: 0
    functionsReached:
    - invalidate
    - Q_Q
    - validateCache
    linkageType: ''
    returnType: void
    signature: void invalidateCacheImpl(T& cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: ~BaseModelPrivateT()
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model_p.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BaseModelPrivateT()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: queryCount
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:155,1
    - Dst: static_cast<unsigned>
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 160
    functionName: BaseModelPrivateT<T>::getCount
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model_p.hpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - queryCount
    linkageType: ''
    returnType: unsigned
    signature: unsigned BaseModelPrivateT<T>::getCount() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: loadedCount
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:168,1
    - Dst: static_cast<unsigned>
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 173
    functionName: BaseModelPrivateT<T>::getLoadedCount
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model_p.hpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - loadedCount
    linkageType: ''
    returnType: unsigned
    signature: unsigned BaseModelPrivateT<T>::getLoadedCount() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: maximumCount
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:181,1
    - Dst: static_cast<unsigned>
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: BaseModelPrivateT<T>::getMaximumCount
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model_p.hpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - maximumCount
    linkageType: ''
    returnType: unsigned
    signature: unsigned BaseModelPrivateT<T>::getMaximumCount() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: queryCount
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:193,1
    - Dst: static_cast<unsigned int>
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:198,1
    - Dst: refer
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:200,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - signedidx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 203
    functionName: BaseModelPrivateT<T>::item
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model_p.hpp
    functionUses: 0
    functionsReached:
    - refer
    - get
    - static_cast<unsigned int>
    - queryCount
    linkageType: ''
    returnType: T
    signature: T * BaseModelPrivateT<T>::item(int signedidx) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cachable
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:211,1
    - Dst: createLoader
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:214,1
    - Dst: std::make_unique<ListCache<T>>
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:215,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:215,1
    - Dst: validateCacheImpl
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:216,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 217
    functionName: BaseModelPrivateT<T>::validateCache
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model_p.hpp
    functionUses: 0
    functionsReached:
    - cachable
    - validateCacheImpl
    - get
    - std::move
    - createLoader
    - std::make_unique<ListCache<T>>
    linkageType: ''
    returnType: void
    signature: void BaseModelPrivateT<T>::validateCache() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resetCacheImpl
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: BaseModelPrivateT<T>::resetCache
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model_p.hpp
    functionUses: 0
    functionsReached:
    - resetCacheImpl
    linkageType: ''
    returnType: void
    signature: void BaseModelPrivateT<T>::resetCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invalidateCacheImpl
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: BaseModelPrivateT<T>::invalidateCache
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model_p.hpp
    functionUses: 0
    functionsReached:
    - invalidateCacheImpl
    linkageType: ''
    returnType: void
    signature: void BaseModelPrivateT<T>::invalidateCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: queryCount
      Src: /src/vlc/modules/gui/qt/util/base_model_p.hpp:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: BaseModelPrivateT<T>::loading
    functionSourceFile: /src/vlc/modules/gui/qt/util/base_model_p.hpp
    functionUses: 1
    functionsReached:
    - queryCount
    linkageType: ''
    returnType: bool
    signature: bool BaseModelPrivateT<T>::loading() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setValueInternal
      Src: /src/vlc/modules/gui/qt/util/variables.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: QVLCBool::setValue
    functionSourceFile: /src/vlc/modules/gui/qt/util/variables.cpp
    functionUses: 0
    functionsReached:
    - setValueInternal
    linkageType: ''
    returnType: void
    signature: void QVLCBool::setValue(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setValueInternal
      Src: /src/vlc/modules/gui/qt/util/variables.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: QVLCString::setValue
    functionSourceFile: /src/vlc/modules/gui/qt/util/variables.cpp
    functionUses: 0
    functionsReached:
    - setValueInternal
    linkageType: ''
    returnType: void
    signature: void QVLCString::setValue(const QString &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setValueInternal
      Src: /src/vlc/modules/gui/qt/util/variables.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: QVLCFloat::setValue
    functionSourceFile: /src/vlc/modules/gui/qt/util/variables.cpp
    functionUses: 0
    functionsReached:
    - setValueInternal
    linkageType: ''
    returnType: void
    signature: void QVLCFloat::setValue(float value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setValueInternal
      Src: /src/vlc/modules/gui/qt/util/variables.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: QVLCInteger::setValue
    functionSourceFile: /src/vlc/modules/gui/qt/util/variables.cpp
    functionUses: 0
    functionsReached:
    - setValueInternal
    linkageType: ''
    returnType: void
    signature: void QVLCInteger::setValue(int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLCObjectHolderImpl<T>::VLCObjectHolderImpl<T>
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:110,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:111,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:113,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:114,1
    - Dst: VLCVarChoiceModel::resetObject
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_object
    - varName
    - parent
    argTypes:
    - T*
    - char*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: VLCVarChoiceModel::VLCVarChoiceModel
    functionSourceFile: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp
    functionUses: 2
    functionsReached:
    - connect
    - VLCVarChoiceModel::resetObject
    - VLCObjectHolderImpl<T>::VLCObjectHolderImpl<T>
    - qfu
    linkageType: ''
    returnType: void
    signature: void VLCVarChoiceModel::VLCVarChoiceModel(T *p_object, const char*
      varName, QObject *parent)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: beginResetModel
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:121,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:124,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:126,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:126,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:126,1
    - Dst: var_DelListCallback
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:127,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:127,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:127,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:128,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:128,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:128,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:130,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:132,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:133,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:135,1
    - Dst: endResetModel
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:137,1
    - Dst: var_Type
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:141,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:141,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:141,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:145,1
    - Dst: endResetModel
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:146,1
    - Dst: endResetModel
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:160,1
    - Dst: var_Change
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:167,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:167,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:167,1
    - Dst: endResetModel
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:169,1
    - Dst: var_Get
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:173,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:173,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:173,1
    - Dst: endResetModel
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:175,1
    - Dst: VLCVarChoiceModel::vlcValToVariant
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:178,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:180,1
    - Dst: VLCVarChoiceModel::vlcValToVariant
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:185,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:188,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:192,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:192,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:193,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:198,1
    - Dst: VLCVarChoiceModel::vlcValToString
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:198,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:201,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:209,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:210,1
    - Dst: var_Create
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:212,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:212,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:212,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:213,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:213,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:213,1
    - Dst: var_AddListCallback
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:214,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:214,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:214,1
    - Dst: endResetModel
      Src: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp:216,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 63
    argCount: 1
    argNames:
    - p_object
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 218
    functionName: VLCVarChoiceModel::resetObject
    functionSourceFile: /src/vlc/modules/gui/qt/util/varchoicemodel.hpp
    functionUses: 1
    functionsReached:
    - var_Destroy
    - qfu
    - var_AddListCallback
    - var_DelListCallback
    - get
    - var_AddCallback
    - var_Create
    - qtu
    - endResetModel
    - append
    - clear
    - reset
    - VLCVarChoiceModel::vlcValToVariant
    - var_Get
    - var_Type
    - var_DelCallback
    - free
    - beginResetModel
    - VLCVarChoiceModel::vlcValToString
    - var_Change
    linkageType: ''
    returnType: bool
    signature: bool VLCVarChoiceModel::resetObject(T* p_object)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:61,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:62,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:63,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:64,1
    - Dst: commonWindowEnable
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:66,1
    - Dst: AddVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:68,1
    - Dst: Get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:68,1
    - Dst: Commit
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_dcompDevice)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (m_videoVisual)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (m_uiVisual)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (m_rootVisual)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: vlc::CompositorDirectComposition::windowEnable
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached:
    - assert
    - Get
    - AddVisual
    - commonWindowEnable
    - Commit
    linkageType: ''
    returnType: int
    signature: int CompositorDirectComposition::windowEnable(const vlc_window_cfg_t
      *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:79,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:80,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:81,1
    - Dst: commonWindowDisable
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:83,1
    - Dst: RemoveVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:85,1
    - Dst: Get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:85,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:86,1
    - Dst: Commit
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_dcompDevice)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (m_videoVisual)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (m_rootVisual)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (ret == S_OK)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: vlc::CompositorDirectComposition::windowDisable
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached:
    - assert
    - Get
    - commonWindowDisable
    - RemoveVisual
    - Commit
    linkageType: ''
    returnType: void
    signature: void CompositorDirectComposition::windowDisable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:92,1
    - Dst: CompositorVideo::windowDestroy
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: vlc::CompositorDirectComposition::windowDestroy
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached:
    - Reset
    - CompositorVideo::windowDestroy
    linkageType: ''
    returnType: void
    signature: void CompositorDirectComposition::windowDestroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_intf
    - parent
    argTypes:
    - qt_intf_t*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: vlc::CompositorDirectComposition::CompositorDirectComposition
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompositorDirectComposition::CompositorDirectComposition( qt_intf_t*
      p_intf,  QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:103,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!m_acrylicSurface)
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: CompositorDirectComposition::~CompositorDirectComposition()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached:
    - cleanup
    - assert
    linkageType: ''
    returnType: void
    signature: void CompositorDirectComposition::~CompositorDirectComposition()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:112,1
    - Dst: platformName
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:117,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:118,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:118,1
    - Dst: qEnvironmentVariable
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:122,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:123,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:124,1
    - Dst: QQuickWindow::sceneGraphBackend
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:143,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:144,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:144,1
    - Dst: QQuickWindow::graphicsApi
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:148,1
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:153,1
    - Dst: qEnvironmentVariableIntValue
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:153,1
    - Dst: ::LoadLibraryEx
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:160,1
    - Dst: TEXT
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:160,1
    - Dst: reinterpret_cast<DCompositionCreateDeviceFuncPtr>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:169,1
    - Dst: GetProcAddress
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:170,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:170,1
    - Dst: FAILED
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:174,1
    - Dst: func
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:174,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:174,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:176,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 181
    functionName: vlc::CompositorDirectComposition::init
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached:
    - QQuickWindow::sceneGraphBackend
    - QLatin1String
    - Q_UNLIKELY
    - TEXT
    - QString::isEmpty
    - qEnvironmentVariableIntValue
    - ::LoadLibraryEx
    - qEnvironmentVariable
    - FAILED
    - platformName
    - func
    - reinterpret_cast<DCompositionCreateDeviceFuncPtr>
    - IID_PPV_ARGS
    - GetProcAddress
    - msg_Warn
    - std::unique_ptr::get
    - QQuickWindow::graphicsApi
    linkageType: ''
    returnType: bool
    signature: bool CompositorDirectComposition::init()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:199,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:200,1
    - Dst: rhi
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:201,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:202,1
    - Dst: auto::implementation
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:204,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:205,1
    - Dst: swapChain
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:206,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:207,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:209,1
    - Dst: rhi
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:209,1
    - Dst: rhi
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:209,1
    - Dst: auto::backend
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:212,1
    - Dst: static_cast<QRhiD3D11*>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:215,1
    - Dst: static_cast<QD3D11SwapChain*>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:216,1
    - Dst: auto::backend
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:221,1
    - Dst: static_cast<QRhiD3D12*>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:224,1
    - Dst: static_cast<QD3D12SwapChain*>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:225,1
    - Dst: Q_UNREACHABLE
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:231,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:233,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:234,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:235,1
    - Dst: CreateVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:238,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:239,1
    - Dst: IDCompositionTarget*::SetRoot
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:241,1
    - Dst: Get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:241,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:242,1
    - Dst: AddVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:244,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:245,1
    - Dst: notify_all
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:248,1
    - Dst: QMutexLocker::unlock
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:249,1
    - Dst: Commit
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:251,1
    - Dst: hasAcrylicSurface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:253,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:255,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:257,1
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:258,1
    - Dst: vlc::CompositorDirectComposition::interfaceMainWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:258,1
    - Dst: std::make_unique<CompositorDCompositionAcrylicSurface>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:263,1
    - Dst: what
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:267,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:268,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_mainCtx)
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (m_quickView)
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (rhiSwapChain)
      pos:
        line_end: 206
        line_start: 206
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (res == S_OK)
      pos:
        line_end: 241
        line_start: 241
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (res == S_OK)
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (rhi)
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (rhiImplementation)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (m_uiVisual)
      pos:
        line_end: 234
        line_start: 234
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (m_quickView->rhi()->backend() == QRhi::D3D11 || m_quickView->rhi()->backend()
        == QRhi::D3D12)
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (m_dcompDevice)
      pos:
        line_end: 232
        line_start: 232
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (dcompTarget)
      pos:
        line_end: 233
        line_start: 233
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (res == S_OK)
      pos:
        line_end: 238
        line_start: 238
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    constantsTouched: []
    func_position:
      end: 275
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 275
    functionName: vlc::CompositorDirectComposition::setup
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached:
    - assert
    - Q_UNLIKELY
    - rhi
    - notify_all
    - Get
    - hasAcrylicSurface
    - static_cast<QD3D11SwapChain*>
    - auto::backend
    - std::make_unique<CompositorDCompositionAcrylicSurface>
    - msg_Warn
    - vlc::CompositorDirectComposition::interfaceMainWindow
    - static_cast<QRhiD3D12*>
    - QMetaObject::invokeMethod
    - CreateVisual
    - IDCompositionTarget*::SetRoot
    - var_InheritBool
    - auto::implementation
    - swapChain
    - static_cast<QD3D12SwapChain*>
    - what
    - AddVisual
    - QMutexLocker::unlock
    - Q_UNREACHABLE
    - Commit
    - static_cast<QRhiD3D11*>
    linkageType: ''
    returnType: bool
    signature: bool CompositorDirectComposition::setup()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:279,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:280,1
    - Dst: RemoveVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:287,1
    - Dst: Reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 300
    functionName: vlc::CompositorDirectComposition::cleanup
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached:
    - RemoveVisual
    - Reset
    - reset
    linkageType: ''
    returnType: void
    signature: void CompositorDirectComposition::cleanup()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:304,1
    - Dst: std::make_unique<QQuickView>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:307,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:308,1
    - Dst: setResizeMode
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:310,1
    - Dst: setColor
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:311,1
    - Dst: installEventFilter
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:313,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:315,1
    - Dst: vlc::CompositorDirectComposition::setup
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:319,1
    - Dst: askToQuit
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:323,1
    - Dst: MainCtxWin32::createWindowWithoutRedirectionSurfaceImpl
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:328,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:328,1
    - Dst: qDebug
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:330,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:330,1
    - Dst: commonGUICreate
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:332,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:337,1
    - Dst: qWarning
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:341,1
    - Dst: notify_all
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:344,1
    - Dst: static_cast<Qt::ConnectionType>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:345,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:354,1
    - Dst: aboutToShowQuickWindowCallback
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:360,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:362,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - mainCtx
    - aboutToShowQuickWindowCallback
    argTypes:
    - MainCtx*
    - std::function<void(QQuickWindow*)>
    assertStmts:
    - condition: (mainCtx)
      pos:
        line_end: 303
        line_start: 303
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    constantsTouched: []
    func_position:
      end: 364
      start: 302
    functionDepth: 3
    functionLinenumber: 302
    functionLinenumberEnd: 364
    functionName: vlc::CompositorDirectComposition::makeMainInterface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached:
    - MainCtxWin32::createWindowWithoutRedirectionSurfaceImpl
    - static_cast<Qt::ConnectionType>
    - assert
    - std::make_unique<QQuickView>
    - notify_all
    - setResizeMode
    - get
    - setColor
    - commonGUICreate
    - vlc::CompositorDirectComposition::setup
    - askToQuit
    - connect
    - aboutToShowQuickWindowCallback
    - qDebug
    - setVisible
    - installEventFilter
    - qWarning
    linkageType: ''
    returnType: bool
    signature: bool CompositorDirectComposition::makeMainInterface(MainCtx* mainCtx,
      std::function<void(QQuickWindow*)> aboutToShowQuickWindowCallback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:368,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:369,1
    - Dst: SetOffsetX
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:371,1
    - Dst: x
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:371,1
    - Dst: SetOffsetY
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:372,1
    - Dst: y
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' position'
    argTypes:
    - QPointF
    assertStmts:
    - condition: (m_videoVisual)
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (m_dcompDevice)
      pos:
        line_end: 368
        line_start: 368
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    constantsTouched: []
    func_position:
      end: 376
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 376
    functionName: vlc::CompositorDirectComposition::onSurfacePositionChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached:
    - assert
    - x
    - SetOffsetX
    - SetOffsetY
    - y
    linkageType: ''
    returnType: void
    signature: void CompositorDirectComposition::onSurfacePositionChanged(const QPointF&
      position)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: vlc::CompositorDirectComposition::onSurfaceSizeChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompositorDirectComposition::onSurfaceSizeChanged(const QSizeF&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:386,1
    - Dst: commonIntfDestroy
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:388,1
    - Dst: vlc::CompositorDirectComposition::cleanup
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:393,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:395,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:399,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!m_dcompDevice)
      pos:
        line_end: 398
        line_start: 398
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (!m_uiVisual)
      pos:
        line_end: 399
        line_start: 399
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    constantsTouched: []
    func_position:
      end: 401
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 401
    functionName: vlc::CompositorDirectComposition::destroyMainInterface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached:
    - assert
    - vlc::CompositorDirectComposition::cleanup
    - reset
    - msg_Err
    - commonIntfDestroy
    linkageType: ''
    returnType: void
    signature: void CompositorDirectComposition::destroyMainInterface()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:405,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:406,1
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:411,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:411,1
    - Dst: notify_all
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:415,1
    - Dst: Q_LIKELY
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:422,1
    - Dst: setSource
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:423,1
    - Dst: QUrl
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:423,1
    - Dst: commonGUIDestroy
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 426
    functionName: vlc::CompositorDirectComposition::unloadGUI
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached:
    - Q_LIKELY
    - disconnect
    - setSource
    - notify_all
    - get
    - QUrl
    - reset
    - commonGUIDestroy
    linkageType: ''
    returnType: void
    signature: void CompositorDirectComposition::unloadGUI()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:437,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:447,1
    - Dst: CreateVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:449,1
    - Dst: FAILED
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:451,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:453,1
    - Dst: commonSetupVoutWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:457,1
    - Dst: Get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:461,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - p_wnd
    - destroyCb
    argTypes:
    - vlc_window_t*
    - VoutDestroyCb
    assertStmts:
    - condition: (m_dcompDevice)
      pos:
        line_end: 446
        line_start: 446
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    constantsTouched: []
    func_position:
      end: 464
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 464
    functionName: vlc::CompositorDirectComposition::setupVoutWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached:
    - commonSetupVoutWindow
    - assert
    - FAILED
    - CreateVisual
    - Get
    - msg_Err
    - wait
    linkageType: ''
    returnType: bool
    signature: bool CompositorDirectComposition::setupVoutWindow(vlc_window_t *p_wnd,
      VoutDestroyCb destroyCb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: vlc::CompositorDirectComposition::interfaceMainWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 1
    functionsReached:
    - get
    linkageType: ''
    returnType: QWindow
    signature: QWindow *CompositorDirectComposition::interfaceMainWindow() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 474
    functionName: vlc::CompositorDirectComposition::type
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Compositor::Type
    signature: Compositor::Type CompositorDirectComposition::type() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:478,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:479,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:480,1
    - Dst: AddVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:482,1
    - Dst: FAILED
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:483,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:484,1
    - Dst: Commit
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - visual
    argTypes:
    - IDCompositionVisual*
    assertStmts:
    - condition: (visual)
      pos:
        line_end: 477
        line_start: 477
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (m_dcompDevice)
      pos:
        line_end: 479
        line_start: 479
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (m_rootVisual)
      pos:
        line_end: 478
        line_start: 478
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    constantsTouched: []
    func_position:
      end: 487
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 487
    functionName: vlc::CompositorDirectComposition::addVisual
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached:
    - assert
    - FAILED
    - msg_Err
    - AddVisual
    - Commit
    linkageType: ''
    returnType: void
    signature: void CompositorDirectComposition::addVisual(IDCompositionVisual *visual)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:491,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:492,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:493,1
    - Dst: RemoveVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:495,1
    - Dst: FAILED
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:496,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:497,1
    - Dst: Commit
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - visual
    argTypes:
    - IDCompositionVisual*
    assertStmts:
    - condition: (visual)
      pos:
        line_end: 490
        line_start: 490
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (m_rootVisual)
      pos:
        line_end: 491
        line_start: 491
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (m_dcompDevice)
      pos:
        line_end: 492
        line_start: 492
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    constantsTouched: []
    func_position:
      end: 500
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 500
    functionName: vlc::CompositorDirectComposition::removeVisual
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached:
    - assert
    - FAILED
    - msg_Err
    - RemoveVisual
    - Commit
    linkageType: ''
    returnType: void
    signature: void CompositorDirectComposition::removeVisual(IDCompositionVisual
      *visual)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::CompositorDirectComposition::activeFocusItem
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 505
    functionName: vlc::CompositorDirectComposition::activeFocusItem
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 1
    functionsReached:
    - vlc::CompositorDirectComposition::activeFocusItem
    linkageType: ''
    returnType: QQuickItem
    signature: QQuickItem * CompositorDirectComposition::activeFocusItem() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:509,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:512,1
    - Dst: static_cast<QPlatformSurfaceEvent *>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:513,1
    - Dst: vlc::CompositorDirectComposition::cleanup
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:515,1
    - Dst: QuitSpy::eventFilter
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:522,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - watched
    - event
    argTypes:
    - QObject*
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 523
    functionName: vlc::CompositorDirectComposition::eventFilter
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached:
    - QEvent*::type
    - get
    - vlc::CompositorDirectComposition::cleanup
    - static_cast<QPlatformSurfaceEvent *>
    - QuitSpy::eventFilter
    linkageType: ''
    returnType: bool
    signature: bool CompositorDirectComposition::eventFilter(QObject *watched, QEvent
      *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:527,1
    - Dst: Commit
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_dcompDevice)
      pos:
        line_end: 526
        line_start: 526
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    constantsTouched: []
    func_position:
      end: 529
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 529
    functionName: vlc::CompositorDirectComposition::commitSurface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached:
    - assert
    - Commit
    linkageType: ''
    returnType: void
    signature: void CompositorDirectComposition::commitSurface()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:61,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:62,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:63,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:64,1
    - Dst: commonWindowEnable
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:66,1
    - Dst: AddVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:68,1
    - Dst: Get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:68,1
    - Dst: Commit
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_dcompDevice)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (m_videoVisual)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (m_uiVisual)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (m_rootVisual)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: vlc::CompositorDirectComposition::windowEnable
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached:
    - assert
    - Get
    - AddVisual
    - commonWindowEnable
    - Commit
    linkageType: ''
    returnType: int
    signature: int CompositorDirectComposition::windowEnable(const vlc_window_cfg_t
      *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:79,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:80,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:81,1
    - Dst: commonWindowDisable
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:83,1
    - Dst: RemoveVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:85,1
    - Dst: Get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:85,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:86,1
    - Dst: Commit
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_dcompDevice)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (m_videoVisual)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (m_rootVisual)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (ret == S_OK)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: vlc::CompositorDirectComposition::windowDisable
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached:
    - assert
    - Get
    - commonWindowDisable
    - RemoveVisual
    - Commit
    linkageType: ''
    returnType: void
    signature: void CompositorDirectComposition::windowDisable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:92,1
    - Dst: CompositorVideo::windowDestroy
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: vlc::CompositorDirectComposition::windowDestroy
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached:
    - Reset
    - CompositorVideo::windowDestroy
    linkageType: ''
    returnType: void
    signature: void CompositorDirectComposition::windowDestroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_intf
    - parent
    argTypes:
    - qt_intf_t*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: vlc::CompositorDirectComposition::CompositorDirectComposition
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompositorDirectComposition::CompositorDirectComposition( qt_intf_t*
      p_intf,  QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:103,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!m_acrylicSurface)
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: CompositorDirectComposition::~CompositorDirectComposition()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached:
    - cleanup
    - assert
    linkageType: ''
    returnType: void
    signature: void CompositorDirectComposition::~CompositorDirectComposition()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:112,1
    - Dst: platformName
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:117,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:118,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:118,1
    - Dst: qEnvironmentVariable
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:122,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:123,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:124,1
    - Dst: QQuickWindow::sceneGraphBackend
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:143,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:144,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:144,1
    - Dst: QQuickWindow::graphicsApi
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:148,1
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:153,1
    - Dst: qEnvironmentVariableIntValue
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:153,1
    - Dst: ::LoadLibraryEx
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:160,1
    - Dst: TEXT
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:160,1
    - Dst: reinterpret_cast<DCompositionCreateDeviceFuncPtr>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:169,1
    - Dst: GetProcAddress
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:170,1
    - Dst: std::unique_ptr::get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:170,1
    - Dst: FAILED
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:174,1
    - Dst: func
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:174,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:174,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:176,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 181
    functionName: vlc::CompositorDirectComposition::init
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached:
    - QQuickWindow::sceneGraphBackend
    - QLatin1String
    - Q_UNLIKELY
    - TEXT
    - QString::isEmpty
    - qEnvironmentVariableIntValue
    - ::LoadLibraryEx
    - qEnvironmentVariable
    - FAILED
    - platformName
    - func
    - reinterpret_cast<DCompositionCreateDeviceFuncPtr>
    - IID_PPV_ARGS
    - GetProcAddress
    - msg_Warn
    - std::unique_ptr::get
    - QQuickWindow::graphicsApi
    linkageType: ''
    returnType: bool
    signature: bool CompositorDirectComposition::init()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:199,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:200,1
    - Dst: rhi
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:201,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:202,1
    - Dst: auto::implementation
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:204,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:205,1
    - Dst: swapChain
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:206,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:207,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:209,1
    - Dst: rhi
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:209,1
    - Dst: rhi
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:209,1
    - Dst: auto::backend
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:212,1
    - Dst: static_cast<QRhiD3D11*>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:215,1
    - Dst: static_cast<QD3D11SwapChain*>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:216,1
    - Dst: auto::backend
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:221,1
    - Dst: static_cast<QRhiD3D12*>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:224,1
    - Dst: static_cast<QD3D12SwapChain*>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:225,1
    - Dst: Q_UNREACHABLE
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:231,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:233,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:234,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:235,1
    - Dst: CreateVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:238,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:239,1
    - Dst: IDCompositionTarget*::SetRoot
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:241,1
    - Dst: Get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:241,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:242,1
    - Dst: AddVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:244,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:245,1
    - Dst: notify_all
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:248,1
    - Dst: QMutexLocker::unlock
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:249,1
    - Dst: Commit
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:251,1
    - Dst: hasAcrylicSurface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:253,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:255,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:257,1
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:258,1
    - Dst: vlc::CompositorDirectComposition::interfaceMainWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:258,1
    - Dst: std::make_unique<CompositorDCompositionAcrylicSurface>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:263,1
    - Dst: what
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:267,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:268,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_mainCtx)
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (m_quickView)
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (rhiSwapChain)
      pos:
        line_end: 206
        line_start: 206
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (res == S_OK)
      pos:
        line_end: 241
        line_start: 241
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (res == S_OK)
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (rhi)
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (rhiImplementation)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (m_uiVisual)
      pos:
        line_end: 234
        line_start: 234
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (m_quickView->rhi()->backend() == QRhi::D3D11 || m_quickView->rhi()->backend()
        == QRhi::D3D12)
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (m_dcompDevice)
      pos:
        line_end: 232
        line_start: 232
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (dcompTarget)
      pos:
        line_end: 233
        line_start: 233
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (res == S_OK)
      pos:
        line_end: 238
        line_start: 238
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    constantsTouched: []
    func_position:
      end: 275
      start: 183
    functionDepth: 3
    functionLinenumber: 183
    functionLinenumberEnd: 275
    functionName: vlc::CompositorDirectComposition::setup
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 1
    functionsReached:
    - assert
    - Q_UNLIKELY
    - rhi
    - notify_all
    - Get
    - hasAcrylicSurface
    - static_cast<QD3D11SwapChain*>
    - auto::backend
    - std::make_unique<CompositorDCompositionAcrylicSurface>
    - msg_Warn
    - vlc::CompositorDirectComposition::interfaceMainWindow
    - static_cast<QRhiD3D12*>
    - QMetaObject::invokeMethod
    - CreateVisual
    - IDCompositionTarget*::SetRoot
    - var_InheritBool
    - auto::implementation
    - swapChain
    - static_cast<QD3D12SwapChain*>
    - what
    - AddVisual
    - QMutexLocker::unlock
    - Q_UNREACHABLE
    - Commit
    - static_cast<QRhiD3D11*>
    linkageType: ''
    returnType: bool
    signature: bool CompositorDirectComposition::setup()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:279,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:280,1
    - Dst: RemoveVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:287,1
    - Dst: Reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 300
    functionName: vlc::CompositorDirectComposition::cleanup
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 2
    functionsReached:
    - RemoveVisual
    - Reset
    - reset
    linkageType: ''
    returnType: void
    signature: void CompositorDirectComposition::cleanup()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:304,1
    - Dst: std::make_unique<QQuickView>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:307,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:308,1
    - Dst: setResizeMode
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:310,1
    - Dst: setColor
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:311,1
    - Dst: installEventFilter
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:313,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:315,1
    - Dst: vlc::CompositorDirectComposition::setup
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:319,1
    - Dst: askToQuit
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:323,1
    - Dst: MainCtxWin32::createWindowWithoutRedirectionSurfaceImpl
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:328,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:328,1
    - Dst: qDebug
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:330,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:330,1
    - Dst: commonGUICreate
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:332,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:337,1
    - Dst: qWarning
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:341,1
    - Dst: notify_all
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:344,1
    - Dst: static_cast<Qt::ConnectionType>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:345,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:354,1
    - Dst: aboutToShowQuickWindowCallback
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:360,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:362,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - mainCtx
    - aboutToShowQuickWindowCallback
    argTypes:
    - MainCtx*
    - std::function<void(QQuickWindow*)>
    assertStmts:
    - condition: (mainCtx)
      pos:
        line_end: 303
        line_start: 303
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    constantsTouched: []
    func_position:
      end: 364
      start: 302
    functionDepth: 3
    functionLinenumber: 302
    functionLinenumberEnd: 364
    functionName: vlc::CompositorDirectComposition::makeMainInterface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached:
    - MainCtxWin32::createWindowWithoutRedirectionSurfaceImpl
    - static_cast<Qt::ConnectionType>
    - assert
    - std::make_unique<QQuickView>
    - notify_all
    - setResizeMode
    - get
    - setColor
    - commonGUICreate
    - vlc::CompositorDirectComposition::setup
    - askToQuit
    - connect
    - aboutToShowQuickWindowCallback
    - qDebug
    - setVisible
    - installEventFilter
    - qWarning
    linkageType: ''
    returnType: bool
    signature: bool CompositorDirectComposition::makeMainInterface(MainCtx* mainCtx,
      std::function<void(QQuickWindow*)> aboutToShowQuickWindowCallback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:368,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:369,1
    - Dst: SetOffsetX
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:371,1
    - Dst: x
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:371,1
    - Dst: SetOffsetY
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:372,1
    - Dst: y
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' position'
    argTypes:
    - QPointF
    assertStmts:
    - condition: (m_videoVisual)
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (m_dcompDevice)
      pos:
        line_end: 368
        line_start: 368
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    constantsTouched: []
    func_position:
      end: 376
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 376
    functionName: vlc::CompositorDirectComposition::onSurfacePositionChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached:
    - assert
    - x
    - SetOffsetX
    - SetOffsetY
    - y
    linkageType: ''
    returnType: void
    signature: void CompositorDirectComposition::onSurfacePositionChanged(const QPointF&
      position)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: vlc::CompositorDirectComposition::onSurfaceSizeChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompositorDirectComposition::onSurfaceSizeChanged(const QSizeF&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:386,1
    - Dst: commonIntfDestroy
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:388,1
    - Dst: vlc::CompositorDirectComposition::cleanup
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:393,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:395,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:399,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!m_dcompDevice)
      pos:
        line_end: 398
        line_start: 398
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (!m_uiVisual)
      pos:
        line_end: 399
        line_start: 399
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    constantsTouched: []
    func_position:
      end: 401
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 401
    functionName: vlc::CompositorDirectComposition::destroyMainInterface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached:
    - assert
    - vlc::CompositorDirectComposition::cleanup
    - reset
    - msg_Err
    - commonIntfDestroy
    linkageType: ''
    returnType: void
    signature: void CompositorDirectComposition::destroyMainInterface()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:405,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:406,1
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:411,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:411,1
    - Dst: notify_all
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:415,1
    - Dst: Q_LIKELY
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:422,1
    - Dst: setSource
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:423,1
    - Dst: QUrl
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:423,1
    - Dst: commonGUIDestroy
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 426
    functionName: vlc::CompositorDirectComposition::unloadGUI
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached:
    - Q_LIKELY
    - disconnect
    - setSource
    - notify_all
    - get
    - QUrl
    - reset
    - commonGUIDestroy
    linkageType: ''
    returnType: void
    signature: void CompositorDirectComposition::unloadGUI()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:437,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:447,1
    - Dst: CreateVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:449,1
    - Dst: FAILED
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:451,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:453,1
    - Dst: commonSetupVoutWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:457,1
    - Dst: Get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:461,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - p_wnd
    - destroyCb
    argTypes:
    - vlc_window_t*
    - VoutDestroyCb
    assertStmts:
    - condition: (m_dcompDevice)
      pos:
        line_end: 446
        line_start: 446
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    constantsTouched: []
    func_position:
      end: 464
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 464
    functionName: vlc::CompositorDirectComposition::setupVoutWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached:
    - commonSetupVoutWindow
    - assert
    - FAILED
    - CreateVisual
    - Get
    - msg_Err
    - wait
    linkageType: ''
    returnType: bool
    signature: bool CompositorDirectComposition::setupVoutWindow(vlc_window_t *p_wnd,
      VoutDestroyCb destroyCb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: vlc::CompositorDirectComposition::interfaceMainWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 2
    functionsReached:
    - get
    linkageType: ''
    returnType: QWindow
    signature: QWindow *CompositorDirectComposition::interfaceMainWindow() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 474
    functionName: vlc::CompositorDirectComposition::type
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Compositor::Type
    signature: Compositor::Type CompositorDirectComposition::type() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:478,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:479,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:480,1
    - Dst: AddVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:482,1
    - Dst: FAILED
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:483,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:484,1
    - Dst: Commit
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - visual
    argTypes:
    - IDCompositionVisual*
    assertStmts:
    - condition: (visual)
      pos:
        line_end: 477
        line_start: 477
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (m_dcompDevice)
      pos:
        line_end: 479
        line_start: 479
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (m_rootVisual)
      pos:
        line_end: 478
        line_start: 478
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    constantsTouched: []
    func_position:
      end: 487
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 487
    functionName: vlc::CompositorDirectComposition::addVisual
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached:
    - assert
    - FAILED
    - msg_Err
    - AddVisual
    - Commit
    linkageType: ''
    returnType: void
    signature: void CompositorDirectComposition::addVisual(IDCompositionVisual *visual)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:491,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:492,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:493,1
    - Dst: RemoveVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:495,1
    - Dst: FAILED
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:496,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:497,1
    - Dst: Commit
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - visual
    argTypes:
    - IDCompositionVisual*
    assertStmts:
    - condition: (visual)
      pos:
        line_end: 490
        line_start: 490
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (m_rootVisual)
      pos:
        line_end: 491
        line_start: 491
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    - condition: (m_dcompDevice)
      pos:
        line_end: 492
        line_start: 492
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    constantsTouched: []
    func_position:
      end: 500
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 500
    functionName: vlc::CompositorDirectComposition::removeVisual
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached:
    - assert
    - FAILED
    - msg_Err
    - RemoveVisual
    - Commit
    linkageType: ''
    returnType: void
    signature: void CompositorDirectComposition::removeVisual(IDCompositionVisual
      *visual)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::CompositorDirectComposition::activeFocusItem
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 505
    functionName: vlc::CompositorDirectComposition::activeFocusItem
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 2
    functionsReached:
    - vlc::CompositorDirectComposition::activeFocusItem
    linkageType: ''
    returnType: QQuickItem
    signature: QQuickItem * CompositorDirectComposition::activeFocusItem() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:509,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:512,1
    - Dst: static_cast<QPlatformSurfaceEvent *>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:513,1
    - Dst: vlc::CompositorDirectComposition::cleanup
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:515,1
    - Dst: QuitSpy::eventFilter
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:522,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - watched
    - event
    argTypes:
    - QObject*
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 523
    functionName: vlc::CompositorDirectComposition::eventFilter
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached:
    - QEvent*::type
    - get
    - vlc::CompositorDirectComposition::cleanup
    - static_cast<QPlatformSurfaceEvent *>
    - QuitSpy::eventFilter
    linkageType: ''
    returnType: bool
    signature: bool CompositorDirectComposition::eventFilter(QObject *watched, QEvent
      *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:527,1
    - Dst: Commit
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_dcompDevice)
      pos:
        line_end: 526
        line_start: 526
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    constantsTouched: []
    func_position:
      end: 529
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 529
    functionName: vlc::CompositorDirectComposition::commitSurface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.cpp
    functionUses: 0
    functionsReached:
    - assert
    - Commit
    linkageType: ''
    returnType: void
    signature: void CompositorDirectComposition::commitSurface()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T::T
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_intf
    argTypes:
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: instanciateCompositor
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    functionUses: 0
    functionsReached:
    - T::T
    linkageType: ''
    returnType: Compositor
    signature: Compositor * instanciateCompositor(qt_intf_t *p_intf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_intf
    - compositor
    argTypes:
    - qt_intf_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: CompositorFactory::CompositorFactory
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompositorFactory::CompositorFactory(qt_intf_t *p_intf, const
      char* compositor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:86,1
    - Dst: instantiate
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:91,1
    - Dst: std::unique_ptr::init
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:94,1
    - Dst: std::unique_ptr::release
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:98,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 104
    functionName: CompositorFactory::createCompositor
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    functionUses: 1
    functionsReached:
    - ARRAY_SIZE
    - instantiate
    - std::unique_ptr::release
    - msg_Err
    - std::unique_ptr::init
    linkageType: ''
    returnType: Compositor
    signature: Compositor * CompositorFactory::createCompositor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:123,1
    - Dst: static_cast<CompositorWindow*>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:124,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:126,1
    - Dst: auto::compositor::windowEnable
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p_wnd
    - cfg
    argTypes:
    - vlc_window_t*
    - vlc_window_cfg_t*
    assertStmts:
    - condition: (p_wnd->sys)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    constantsTouched: []
    func_position:
      end: 130
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 130
    functionName: windowEnableCb
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    functionUses: 0
    functionsReached:
    - QMetaObject::invokeMethod
    - assert
    - static_cast<CompositorWindow*>
    - auto::compositor::windowEnable
    linkageType: ''
    returnType: int
    signature: int windowEnableCb(vlc_window_t* p_wnd, const vlc_window_cfg_t * cfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:134,1
    - Dst: static_cast<CompositorWindow*>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:135,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:136,1
    - Dst: auto::compositor::windowDisable
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_wnd
    argTypes:
    - vlc_window_t*
    assertStmts:
    - condition: (p_wnd->sys)
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    constantsTouched: []
    func_position:
      end: 139
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 139
    functionName: windowDisableCb
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    functionUses: 0
    functionsReached:
    - QMetaObject::invokeMethod
    - assert
    - static_cast<CompositorWindow*>
    - auto::compositor::windowDisable
    linkageType: ''
    returnType: void
    signature: void windowDisableCb(vlc_window_t* p_wnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:143,1
    - Dst: static_cast<CompositorWindow*>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:144,1
    - Dst: auto::compositor::windowResize
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p_wnd
    - width
    - height
    argTypes:
    - vlc_window_t*
    - unsigned
    - unsigned
    assertStmts:
    - condition: (p_wnd->sys)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: windowResizeCb
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    functionUses: 0
    functionsReached:
    - auto::compositor::windowResize
    - assert
    - static_cast<CompositorWindow*>
    linkageType: ''
    returnType: void
    signature: void windowResizeCb(vlc_window_t* p_wnd, unsigned width, unsigned height)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:150,1
    - Dst: static_cast<CompositorWindow*>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:151,1
    - Dst: auto::compositor::windowDestroy
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:152,1
    - Dst: auto::destroy_cb
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p_wnd
    argTypes:
    - struct vlc_window*
    assertStmts:
    - condition: (p_wnd->sys)
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    constantsTouched: []
    func_position:
      end: 161
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 161
    functionName: windowDestroyCb
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    functionUses: 0
    functionsReached:
    - assert
    - static_cast<CompositorWindow*>
    - auto::destroy_cb
    - auto::compositor::windowDestroy
    linkageType: ''
    returnType: void
    signature: void windowDestroyCb(struct vlc_window * p_wnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:165,1
    - Dst: static_cast<CompositorWindow*>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:166,1
    - Dst: auto::compositor::windowSetState
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_wnd
    - state
    argTypes:
    - vlc_window_t*
    - unsigned
    assertStmts:
    - condition: (p_wnd->sys)
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: windowSetStateCb
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    functionUses: 0
    functionsReached:
    - assert
    - static_cast<CompositorWindow*>
    - auto::compositor::windowSetState
    linkageType: ''
    returnType: void
    signature: void windowSetStateCb(vlc_window_t* p_wnd, unsigned state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:172,1
    - Dst: static_cast<CompositorWindow*>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:173,1
    - Dst: auto::compositor::windowUnsetFullscreen
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_wnd
    argTypes:
    - vlc_window_t*
    assertStmts:
    - condition: (p_wnd->sys)
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: windowUnsetFullscreenCb
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    functionUses: 0
    functionsReached:
    - auto::compositor::windowUnsetFullscreen
    - assert
    - static_cast<CompositorWindow*>
    linkageType: ''
    returnType: void
    signature: void windowUnsetFullscreenCb(vlc_window_t* p_wnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:179,1
    - Dst: static_cast<CompositorWindow*>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:180,1
    - Dst: auto::compositor::windowSetFullscreen
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_wnd
    - id
    argTypes:
    - vlc_window_t*
    - char*
    assertStmts:
    - condition: (p_wnd->sys)
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: windowSetFullscreenCb
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    functionUses: 0
    functionsReached:
    - auto::compositor::windowSetFullscreen
    - assert
    - static_cast<CompositorWindow*>
    linkageType: ''
    returnType: void
    signature: void windowSetFullscreenCb(vlc_window_t* p_wnd, const char *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_intf
    - parent
    argTypes:
    - qt_intf_t*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: CompositorVideo::CompositorVideo
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompositorVideo::CompositorVideo(qt_intf_t *p_intf, QObject* parent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: module_unneed
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:197,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: CompositorVideo::~CompositorVideo()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    functionUses: 0
    functionsReached:
    - module_unneed
    - vlc_object_delete
    linkageType: ''
    returnType: void
    signature: void CompositorVideo::~CompositorVideo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompositorWindow::CompositorWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:217,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:222,1
    - Dst: static_cast<Qt::ConnectionType>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:232,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:233,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - p_wnd
    - destroyCb
    argTypes:
    - vlc_window_t*
    - VoutDestroyCb
    assertStmts:
    - condition: (m_wnd == nullptr)
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    constantsTouched: []
    func_position:
      end: 235
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 235
    functionName: CompositorVideo::commonSetupVoutWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Qt::ConnectionType>
    - assert
    - CompositorWindow::CompositorWindow
    - get
    - connect
    linkageType: ''
    returnType: void
    signature: void CompositorVideo::commonSetupVoutWindow(vlc_window_t* p_wnd, VoutDestroyCb
      destroyCb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:242,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 246
    functionName: CompositorVideo::windowDestroy
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    functionUses: 2
    functionsReached:
    - get
    - disconnect
    linkageType: ''
    returnType: void
    signature: void CompositorVideo::windowDestroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: requestResizeVideo
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - width
    - height
    argTypes:
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: CompositorVideo::windowResize
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    functionUses: 0
    functionsReached:
    - requestResizeVideo
    linkageType: ''
    returnType: void
    signature: void CompositorVideo::windowResize(unsigned width, unsigned height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: requestVideoState
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:255,1
    - Dst: static_cast<vlc_window_state>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 256
    functionName: CompositorVideo::windowSetState
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    functionUses: 0
    functionsReached:
    - static_cast<vlc_window_state>
    - requestVideoState
    linkageType: ''
    returnType: void
    signature: void CompositorVideo::windowSetState(unsigned state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: requestVideoWindowed
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: CompositorVideo::windowUnsetFullscreen
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    functionUses: 0
    functionsReached:
    - requestVideoWindowed
    linkageType: ''
    returnType: void
    signature: void CompositorVideo::windowUnsetFullscreen()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: requestVideoFullScreen
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: CompositorVideo::windowSetFullscreen
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    functionUses: 0
    functionsReached:
    - requestVideoFullScreen
    linkageType: ''
    returnType: void
    signature: void CompositorVideo::windowSetFullscreen(const char *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enable
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:270,1
    - Dst: setVideoEmbed
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: CompositorVideo::commonWindowEnable
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    functionUses: 0
    functionsReached:
    - enable
    - setVideoEmbed
    linkageType: ''
    returnType: void
    signature: void CompositorVideo::commonWindowEnable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setVideoEmbed
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:276,1
    - Dst: disable
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:277,1
    - Dst: disable
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 279
    functionName: CompositorVideo::commonWindowDisable
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    functionUses: 0
    functionsReached:
    - disable
    - setVideoEmbed
    linkageType: ''
    returnType: void
    signature: void CompositorVideo::commonWindowDisable()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:284,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:285,1
    - Dst: std::make_unique<VideoSurfaceProvider>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:287,1
    - Dst: canDoThreadedSurfaceUpdates
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:287,1
    - Dst: setVideoSurfaceProvider
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:288,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:288,1
    - Dst: CompositorVideo::quickWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:290,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:291,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:292,1
    - Dst: QQuickWindow*::handle
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:292,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:293,1
    - Dst: QQuickWindow*::rendererInterface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:293,1
    - Dst: QQuickWindow*::format
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:295,1
    - Dst: QQuickWindow*::rendererInterface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:296,1
    - Dst: qWarning
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:298,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:300,1
    - Dst: setCanShowVideoPIP
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:302,1
    - Dst: setWindowSuportExtendedFrame
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:304,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:312,1
    - Dst: platformName
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:313,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:313,1
    - Dst: Q_LIKELY
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:313,1
    - Dst: QWindow*::isActive
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:313,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:315,1
    - Dst: QPointer
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:315,1
    - Dst: CompositorVideo::setBlurBehind
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:316,1
    - Dst: CompositorVideo::setBlurBehind
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:322,1
    - Dst: std::make_unique<VideoWindowHandler>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:325,1
    - Dst: setWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:326,1
    - Dst: std::make_unique<InterfaceWindowHandlerWin32>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:329,1
    - Dst: std::make_unique<InterfaceWindowHandler>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:331,1
    - Dst: std::make_unique<WinTaskbarWidget>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:335,1
    - Dst: installNativeEventFilter
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:336,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:336,1
    - Dst: std::make_unique<MainUI>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:338,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - window
    - flags
    argTypes:
    - QWindow*
    - CompositorVideo::Flags
    assertStmts:
    - condition: (window)
      pos:
        line_end: 284
        line_start: 284
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    - condition: (quickWindow)
      pos:
        line_end: 290
        line_start: 290
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    - condition: (quickWindow->handle())
      pos:
        line_end: 291
        line_start: 291
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    - condition: (qGuiApp)
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    - condition: (quickWindow->rendererInterface())
      pos:
        line_end: 292
        line_start: 292
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    - condition: (m_mainCtx)
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    constantsTouched: []
    func_position:
      end: 340
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 340
    functionName: CompositorVideo::commonGUICreateImpl
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    functionUses: 0
    functionsReached:
    - assert
    - std::make_unique<InterfaceWindowHandlerWin32>
    - QPointer
    - connect
    - setWindowSuportExtendedFrame
    - QQuickWindow*::format
    - canDoThreadedSurfaceUpdates
    - installNativeEventFilter
    - get
    - QWindow*::isActive
    - std::make_unique<WinTaskbarWidget>
    - std::make_unique<VideoWindowHandler>
    - CompositorVideo::setBlurBehind
    - setWindow
    - std::make_unique<InterfaceWindowHandler>
    - setCanShowVideoPIP
    - QQuickWindow*::rendererInterface
    - var_InheritBool
    - setVideoSurfaceProvider
    - CompositorVideo::quickWindow
    - QLatin1String
    - Q_LIKELY
    - platformName
    - std::make_unique<VideoSurfaceProvider>
    - QQuickWindow*::handle
    - std::make_unique<MainUI>
    - qWarning
    linkageType: ''
    returnType: bool
    signature: bool CompositorVideo::commonGUICreateImpl(QWindow* window, CompositorVideo::Flags
      flags)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: interfaceMainWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:346,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:348,1
    - Dst: isEffectAvailable
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:348,1
    - Dst: hasAcrylicSurface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:349,1
    - Dst: windowSuportExtendedFrame
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:350,1
    - Dst: useClientSideDecoration
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:350,1
    - Dst: QWindow*::mask
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:353,1
    - Dst: QRegion::isEmpty
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:354,1
    - Dst: windowExtendedMargin
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:363,1
    - Dst: QRegion
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:364,1
    - Dst: QWindow*::width
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:364,1
    - Dst: QWindow*::height
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:364,1
    - Dst: CompositorVideo::setBlurBehind
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:366,1
    - Dst: CompositorVideo::setBlurBehind
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:370,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_windowEffectsModule->isEffectAvailable(window, WindowEffectsModule::BlurBehind))
      pos:
        line_end: 347
        line_start: 347
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    constantsTouched: []
    func_position:
      end: 374
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 374
    functionName: CompositorVideo::adjustBlurBehind
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    functionUses: 0
    functionsReached:
    - windowSuportExtendedFrame
    - assert
    - QWindow*::height
    - interfaceMainWindow
    - windowExtendedMargin
    - QRegion
    - QRegion::isEmpty
    - useClientSideDecoration
    - isEffectAvailable
    - hasAcrylicSurface
    - CompositorVideo::setBlurBehind
    - QWindow*::width
    - QWindow*::mask
    linkageType: ''
    returnType: void
    signature: void CompositorVideo::adjustBlurBehind()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CompositorVideo::commonGUICreateImpl
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:378,1
    - Dst: setup
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:381,1
    - Dst: QmlUISurface*::engine
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:381,1
    - Dst: createRootItem
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:384,1
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:385,1
    - Dst: QmlUISurface*::setContent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - window
    - qmlSurface
    - flags
    argTypes:
    - QWindow*
    - QmlUISurface*
    - CompositorVideo::Flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 389
    functionName: CompositorVideo::commonGUICreate
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    functionUses: 0
    functionsReached:
    - createRootItem
    - Q_UNLIKELY
    - CompositorVideo::commonGUICreateImpl
    - QmlUISurface*::engine
    - QmlUISurface*::setContent
    - setup
    linkageType: ''
    returnType: bool
    signature: bool CompositorVideo::commonGUICreate(QWindow* window, QmlUISurface*
      qmlSurface, CompositorVideo::Flags flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CompositorVideo::commonGUICreateImpl
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:393,1
    - Dst: setup
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:396,1
    - Dst: QQuickView*::engine
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:396,1
    - Dst: createRootItem
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:399,1
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:400,1
    - Dst: QQuickView*::setContent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:402,1
    - Dst: QUrl
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - window
    - qmlView
    - flags
    argTypes:
    - QWindow*
    - QQuickView*
    - CompositorVideo::Flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 391
    functionDepth: 3
    functionLinenumber: 391
    functionLinenumberEnd: 404
    functionName: CompositorVideo::commonGUICreate
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    functionUses: 0
    functionsReached:
    - createRootItem
    - Q_UNLIKELY
    - QQuickView*::setContent
    - CompositorVideo::commonGUICreateImpl
    - QUrl
    - QQuickView*::engine
    - setup
    linkageType: ''
    returnType: bool
    signature: bool CompositorVideo::commonGUICreate(QWindow* window, QQuickView*
      qmlView, CompositorVideo::Flags flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:408,1
    - Dst: removeNativeEventFilter
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:410,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:410,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:411,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 415
    functionName: CompositorVideo::commonGUIDestroy
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    functionUses: 0
    functionsReached:
    - get
    - removeNativeEventFilter
    - reset
    linkageType: ''
    returnType: void
    signature: void CompositorVideo::commonGUIDestroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:419,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:420,1
    - Dst: unloadGUI
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 422
    functionName: CompositorVideo::commonIntfDestroy
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    functionUses: 0
    functionsReached:
    - unloadGUI
    - reset
    linkageType: ''
    returnType: void
    signature: void CompositorVideo::commonIntfDestroy()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:426,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:427,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:431,1
    - Dst: vlc_object_create
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:442,1
    - Dst: module_need
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:449,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:452,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:456,1
    - Dst: isEffectAvailable
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:462,1
    - Dst: setHasAcrylicSurface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:465,1
    - Dst: windowSuportExtendedFrame
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:467,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:469,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:473,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:474,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:475,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:476,1
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:480,1
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:481,1
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:482,1
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:483,1
    - Dst: CompositorVideo::adjustBlurBehind
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:486,1
    - Dst: CompositorVideo::setBlurBehind
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:490,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 2
    argNames:
    - window
    - enable
    argTypes:
    - QWindow*
    - bool
    assertStmts:
    - condition: (window)
      pos:
        line_end: 425
        line_start: 425
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    - condition: (m_mainCtx)
      pos:
        line_end: 468
        line_start: 468
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    - condition: (m_intf)
      pos:
        line_end: 426
        line_start: 426
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    constantsTouched: []
    func_position:
      end: 494
      start: 424
    functionDepth: 2
    functionLinenumber: 424
    functionLinenumberEnd: 494
    functionName: CompositorVideo::setBlurBehind
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    functionUses: 3
    functionsReached:
    - windowSuportExtendedFrame
    - assert
    - disconnect
    - CompositorVideo::adjustBlurBehind
    - var_InheritBool
    - vlc_object_create
    - connect
    - setHasAcrylicSurface
    - msg_Dbg
    - vlc_object_delete
    - isEffectAvailable
    - module_need
    - CompositorVideo::setBlurBehind
    linkageType: ''
    returnType: bool
    signature: bool CompositorVideo::setBlurBehind(QWindow *window, const bool enable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qobject_cast<QQuickWindow*>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:498,1
    - Dst: interfaceMainWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.cpp:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 499
    functionName: Compositor::quickWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.cpp
    functionUses: 0
    functionsReached:
    - interfaceMainWindow
    - qobject_cast<QQuickWindow*>
    linkageType: ''
    returnType: QQuickWindow
    signature: QQuickWindow *Compositor::quickWindow() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:105,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:106,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:107,1
    - Dst: MainUI::registerQMLTypes
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:109,1
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:124,1
    - Dst: qEnvironmentVariableIsEmpty
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:127,1
    - Dst: qputenv
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:128,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - p_intf
    - mainCtx
    - interfaceWindow
    - parent
    argTypes:
    - qt_intf_t*
    - MainCtx*
    - QWindow*
    - QObject*
    assertStmts:
    - condition: (m_intf)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/vlc/modules/gui/qt/maininterface/mainui.cpp
    - condition: (m_interfaceWindow)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/vlc/modules/gui/qt/maininterface/mainui.cpp
    - condition: (m_mainCtx)
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/vlc/modules/gui/qt/maininterface/mainui.cpp
    constantsTouched: []
    func_position:
      end: 130
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 130
    functionName: MainUI::MainUI
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainui.cpp
    functionUses: 0
    functionsReached:
    - assert
    - MainUI::registerQMLTypes
    - QT_VERSION_CHECK
    - QByteArrayLiteral
    - qputenv
    - qEnvironmentVariableIsEmpty
    linkageType: ''
    returnType: void
    signature: void MainUI::MainUI(qt_intf_t *p_intf, MainCtx *mainCtx, QWindow* interfaceWindow,  QObject
      *parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MainUI::clearQMLTypes
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:139,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 147
    functionName: MainUI::~MainUI()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainui.cpp
    functionUses: 0
    functionsReached:
    - connect
    - MainUI::clearQMLTypes
    linkageType: ''
    returnType: void
    signature: void MainUI::~MainUI()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hasMediaLibrary
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:153,1
    - Dst: QQmlEngine*::addImageProvider
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:155,1
    - Dst: getMediaLibrary
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:155,1
    - Dst: MLCustomCover::MLCustomCover
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:155,1
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:158,1
    - Dst: QQmlEngine*::addImportPath
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:159,1
    - Dst: EffectsImageProvider::instance
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:162,1
    - Dst: EffectsImageProvider::EffectsImageProvider
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:163,1
    - Dst: QQmlEngine*::addImageProvider
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:164,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:164,1
    - Dst: SVGColorImageImageProvider::SVGColorImageImageProvider
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:164,1
    - Dst: QQmlEngine*::addImageProvider
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:165,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:165,1
    - Dst: VLCAccessImageProvider::VLCAccessImageProvider
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:165,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:167,1
    - Dst: QQmlComponent::QQmlComponent
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:167,1
    - Dst: isLoading
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:168,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:170,1
    - Dst: isError
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:173,1
    - Dst: errors
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:175,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:176,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:176,1
    - Dst: description
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:176,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:176,1
    - Dst: url
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:176,1
    - Dst: line
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:176,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:178,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:180,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - engine
    argTypes:
    - QQmlEngine*
    assertStmts:
    - condition: ( !"Missing qml modules from qt contribs." )
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/vlc/modules/gui/qt/maininterface/mainui.cpp
    constantsTouched: []
    func_position:
      end: 185
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 185
    functionName: MainUI::setup
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainui.cpp
    functionUses: 0
    functionsReached:
    - EffectsImageProvider::EffectsImageProvider
    - assert
    - description
    - isLoading
    - isError
    - QT_VERSION_CHECK
    - QQmlComponent::QQmlComponent
    - line
    - VLCAccessImageProvider::VLCAccessImageProvider
    - msg_Err
    - qtu
    - msg_Warn
    - getMediaLibrary
    - MLCustomCover::MLCustomCover
    - hasMediaLibrary
    - EffectsImageProvider::instance
    - QStringLiteral
    - QQmlEngine*::addImageProvider
    - SVGColorImageImageProvider::SVGColorImageImageProvider
    - errors
    - url
    - QQmlEngine*::addImportPath
    linkageType: ''
    returnType: bool
    signature: bool MainUI::setup(QQmlEngine* engine)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:192,1
    - Dst: create
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:194,1
    - Dst: isError
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:196,1
    - Dst: errors
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:198,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:199,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:199,1
    - Dst: description
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:199,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:199,1
    - Dst: url
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:199,1
    - Dst: line
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:199,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:205,1
    - Dst: qobject_cast<QQuickItem*>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:208,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:211,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_component)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/vlc/modules/gui/qt/maininterface/mainui.cpp
    constantsTouched: []
    func_position:
      end: 218
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 218
    functionName: MainUI::createRootItem
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainui.cpp
    functionUses: 0
    functionsReached:
    - create
    - assert
    - description
    - msg_Err
    - isError
    - qtu
    - qobject_cast<QQuickItem*>
    - errors
    - url
    - line
    linkageType: ''
    returnType: QQuickItem
    signature: QQuickItem * MainUI::createRootItem()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:222,1
    - Dst: qmlRegisterSingletonInstance<MainCtx>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:230,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:232,1
    - Dst: dynamic_cast<MainCtxWin32*>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:232,1
    - Dst: qmlRegisterAnonymousType<MainCtxWin32>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:233,1
    - Dst: qmlRegisterTypesAndRevisions<SearchCtx>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:235,1
    - Dst: qmlRegisterTypesAndRevisions<SortCtx>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:236,1
    - Dst: qmlRegisterUncreatableType<UINotifier>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:237,1
    - Dst: qmlRegisterSingletonInstance<UINotifier>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:238,1
    - Dst: UINotifier::UINotifier
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:238,1
    - Dst: qmlRegisterSingletonInstance<NavigationHistory>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:239,1
    - Dst: NavigationHistory::NavigationHistory
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:239,1
    - Dst: qmlRegisterType<VideoSurface>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:240,1
    - Dst: qmlRegisterUncreatableType<BaseModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:241,1
    - Dst: qmlRegisterUncreatableType<VLCVarChoiceModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:242,1
    - Dst: qmlRegisterUncreatableType<CSDButton>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:243,1
    - Dst: qmlRegisterUncreatableType<CSDButtonModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:244,1
    - Dst: qmlRegisterTypesAndRevisions<CSDMenu>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:245,1
    - Dst: qmlRegisterUncreatableType<NavigationAttached>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:246,1
    - Dst: qmlRegisterTypesAndRevisions<AboutModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:247,1
    - Dst: qmlRegisterSingletonInstance<UpdateModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:249,1
    - Dst: getUpdateModel
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:249,1
    - Dst: qmlRegisterTypesAndRevisions<NavigationModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:252,1
    - Dst: qmlRegisterTypesAndRevisions<NavigationBarContextMenu>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:253,1
    - Dst: qmlRegisterTypesAndRevisions<vlc::QAbstractProxyModelForeign>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:256,1
    - Dst: qmlRegisterTypesAndRevisions<vlc::QWindowForeign>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:257,1
    - Dst: qmlRegisterTypesAndRevisions<vlc::QScreenForeign>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:258,1
    - Dst: qmlRegisterTypesAndRevisions<vlc::QSortFilterProxyModelForeign>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:259,1
    - Dst: qmlRegisterTypesAndRevisions<vlc::QMessageBoxForeign>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:260,1
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:261,1
    - Dst: qmlRegisterTypesAndRevisions<vlc::QAbstractItemModelForeign>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:262,1
    - Dst: qmlRegisterModule
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:265,1
    - Dst: qmlProtectModule
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:266,1
    - Dst: qmlRegisterType<VLCDialog>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:275,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:276,1
    - Dst: VLCDialogModel::getInstance<false>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:276,1
    - Dst: qmlRegisterSingletonInstance<VLCDialogModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:277,1
    - Dst: VLCDialogModel::getInstance<false>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:277,1
    - Dst: qmlRegisterUncreatableType<DialogId>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:278,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:279,1
    - Dst: DialogsProvider::getInstance
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:279,1
    - Dst: qmlRegisterSingletonInstance<DialogsProvider>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:280,1
    - Dst: DialogsProvider::getInstance
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:280,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:281,1
    - Dst: DialogErrorModel::getInstance<false>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:281,1
    - Dst: qmlRegisterSingletonInstance<DialogErrorModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:282,1
    - Dst: DialogErrorModel::getInstance<false>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:282,1
    - Dst: qmlRegisterModule
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:284,1
    - Dst: qmlProtectModule
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:285,1
    - Dst: qmlRegisterType<StringListMenu>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:294,1
    - Dst: qmlRegisterType<SortMenu>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:295,1
    - Dst: qmlRegisterType<SortMenuVideo>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:296,1
    - Dst: qmlRegisterType<SortMenuAlbums>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:297,1
    - Dst: qmlRegisterType<QmlGlobalMenu>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:298,1
    - Dst: qmlRegisterType<QmlMenuBar>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:299,1
    - Dst: qmlRegisterModule
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:301,1
    - Dst: qmlProtectModule
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:302,1
    - Dst: qmlRegisterUncreatableType<TrackListModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:311,1
    - Dst: qmlRegisterUncreatableType<TitleListModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:312,1
    - Dst: qmlRegisterUncreatableType<ChapterListModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:313,1
    - Dst: qmlRegisterUncreatableType<ProgramListModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:314,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:315,1
    - Dst: qmlRegisterSingletonInstance<PlayerController>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:316,1
    - Dst: qmlRegisterTypesAndRevisions<TimedText>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:317,1
    - Dst: qmlRegisterType<PlayerHighResolutionTimeUpdater>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:318,1
    - Dst: qmlRegisterUncreatableMetaObject
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:319,1
    - Dst: qmlRegisterTypesAndRevisions<VLCDuration>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:320,1
    - Dst: qmlRegisterTypesAndRevisions<VLCTime>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:321,1
    - Dst: qmlRegisterType<QmlBookmarkMenu>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:323,1
    - Dst: qmlRegisterType<QmlProgramMenu>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:324,1
    - Dst: qmlRegisterType<QmlRendererMenu>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:325,1
    - Dst: qmlRegisterType<QmlSubtitleMenu>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:326,1
    - Dst: qmlRegisterType<QmlAudioMenu>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:327,1
    - Dst: qmlRegisterType<QmlAudioContextMenu>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:328,1
    - Dst: qmlRegisterModule
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:330,1
    - Dst: qmlProtectModule
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:331,1
    - Dst: qmlRegisterUncreatableType<ControlbarProfileModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:340,1
    - Dst: qmlRegisterUncreatableType<ControlbarProfile>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:341,1
    - Dst: qmlRegisterUncreatableType<PlayerControlbarModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:342,1
    - Dst: qmlRegisterUncreatableType<ControlListModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:343,1
    - Dst: qmlRegisterType<ControlListFilter>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:344,1
    - Dst: qmlRegisterSingletonType
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:345,1
    - Dst: qmlRegisterModule
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:348,1
    - Dst: qmlProtectModule
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:349,1
    - Dst: qmlRegisterUncreatableType<PlaylistItem>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:358,1
    - Dst: qmlRegisterType<PlaylistListModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:359,1
    - Dst: qmlRegisterType<PlaylistController>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:360,1
    - Dst: qmlRegisterType<PlaylistContextMenu>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:361,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:362,1
    - Dst: qmlRegisterSingletonInstance<PlaylistController>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:363,1
    - Dst: qmlRegisterModule
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:365,1
    - Dst: qmlProtectModule
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:366,1
    - Dst: qmlRegisterType<NetworkMediaModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:375,1
    - Dst: qmlRegisterType<NetworkDeviceModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:376,1
    - Dst: qmlRegisterType<NetworkSourcesModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:377,1
    - Dst: qmlRegisterType<AddonsModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:378,1
    - Dst: qmlRegisterType<StandardPathModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:379,1
    - Dst: qmlRegisterType<MLFoldersModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:380,1
    - Dst: qmlRegisterType<NetworkMediaContextMenu>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:382,1
    - Dst: qmlRegisterType<NetworkDeviceContextMenu>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:383,1
    - Dst: qmlRegisterModule
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:385,1
    - Dst: qmlProtectModule
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:386,1
    - Dst: qmlRegisterUncreatableType<ColorSchemeModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:395,1
    - Dst: qmlRegisterType<ColorContext>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:396,1
    - Dst: qmlRegisterUncreatableType<ColorProperty>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:397,1
    - Dst: qmlRegisterType<SystemPalette>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:398,1
    - Dst: qmlRegisterTypesAndRevisions<VLCIcons>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:399,1
    - Dst: qmlRegisterModule
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:401,1
    - Dst: qmlProtectModule
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:402,1
    - Dst: qmlRegisterSingletonInstance<QmlKeyHelper>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:411,1
    - Dst: QmlKeyHelper::QmlKeyHelper
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:411,1
    - Dst: qmlRegisterSingletonType<EffectsImageProvider>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:412,1
    - Dst: qmlRegisterUncreatableType<SVGColorImageBuilder>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:413,1
    - Dst: qmlRegisterSingletonInstance<SVGColorImage>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:414,1
    - Dst: SVGColorImage::SVGColorImage
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:414,1
    - Dst: qmlRegisterSingletonInstance<VLCAccessImage>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:415,1
    - Dst: VLCAccessImage::VLCAccessImage
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:415,1
    - Dst: qmlRegisterType<DelayEstimator>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:416,1
    - Dst: qmlRegisterTypesAndRevisions<WheelToVLCConverter>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:417,1
    - Dst: qmlRegisterType<ImageLuminanceExtractor>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:419,1
    - Dst: qmlRegisterType<ItemKeyEventFilter>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:421,1
    - Dst: qmlRegisterType<FlickableScrollHandler>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:424,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:428,1
    - Dst: funcRegisterScrollHandler
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:431,1
    - Dst: qmlRegisterType<ListSelectionModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:434,1
    - Dst: qmlRegisterType<DoubleClickIgnoringItem>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:435,1
    - Dst: qmlRegisterType<TextureProviderObserver>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:436,1
    - Dst: qmlRegisterType<TextureProviderIndirection>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:437,1
    - Dst: qmlRegisterType<SGManipulator>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:438,1
    - Dst: qmlRegisterTypesAndRevisions<AccessibleCompatAttached>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:439,1
    - Dst: qmlRegisterModule
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:441,1
    - Dst: qmlProtectModule
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:442,1
    - Dst: qmlRegisterType<CSDThemeImage>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:451,1
    - Dst: qmlRegisterType<ViewBlockingRectangle>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:452,1
    - Dst: qmlRegisterTypesAndRevisions<PointingToolTipAttached>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:453,1
    - Dst: qmlRegisterModule
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:455,1
    - Dst: qmlProtectModule
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:456,1
    - Dst: hasMediaLibrary
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:459,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:466,1
    - Dst: getMediaLibrary
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:466,1
    - Dst: qmlRegisterSingletonInstance<MediaLib>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:467,1
    - Dst: getMediaLibrary
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:467,1
    - Dst: qmlRegisterUncreatableType<MLItemId>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:469,1
    - Dst: qmlRegisterUncreatableType<MLBaseModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:470,1
    - Dst: qmlRegisterType<MLAlbumModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:471,1
    - Dst: qmlRegisterType<MLArtistModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:472,1
    - Dst: qmlRegisterType<MLAudioModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:473,1
    - Dst: qmlRegisterType<MLGenreModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:474,1
    - Dst: qmlRegisterType<MLUrlModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:475,1
    - Dst: qmlRegisterType<MLMediaModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:476,1
    - Dst: qmlRegisterType<MLVideoModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:477,1
    - Dst: qmlRegisterType<MLRecentVideoModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:478,1
    - Dst: qmlRegisterType<MLVideoGroupsModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:479,1
    - Dst: qmlRegisterType<MLVideoFoldersModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:480,1
    - Dst: qmlRegisterType<MLPlaylistListModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:481,1
    - Dst: qmlRegisterType<MLPlaylistModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:482,1
    - Dst: qmlRegisterType<MLBookmarkModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:483,1
    - Dst: qmlRegisterType<NetworkMediaModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:485,1
    - Dst: qmlRegisterType<NetworkDeviceModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:486,1
    - Dst: qmlRegisterType<NetworkSourcesModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:487,1
    - Dst: qmlRegisterType<AddonsModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:488,1
    - Dst: qmlRegisterType<MLFoldersModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:489,1
    - Dst: qmlRegisterType<MLRecentMediaModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:490,1
    - Dst: qmlRegisterType<PlaylistListContextMenu>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:492,1
    - Dst: qmlRegisterType<PlaylistMediaContextMenu>
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:493,1
    - Dst: qmlRegisterModule
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:495,1
    - Dst: qmlProtectModule
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:496,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 166
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (dynamic_cast<MainCtxWin32*>(m_mainCtx))
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/vlc/modules/gui/qt/maininterface/mainui.cpp
    - condition: (DialogsProvider::getInstance())
      pos:
        line_end: 278
        line_start: 278
        source_file: /src/vlc/modules/gui/qt/maininterface/mainui.cpp
    - condition: (m_intf->p_mainPlaylistController)
      pos:
        line_end: 361
        line_start: 361
        source_file: /src/vlc/modules/gui/qt/maininterface/mainui.cpp
    - condition: (DialogErrorModel::getInstance<false>())
      pos:
        line_end: 280
        line_start: 280
        source_file: /src/vlc/modules/gui/qt/maininterface/mainui.cpp
    - condition: (VLCDialogModel::getInstance<false>())
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/vlc/modules/gui/qt/maininterface/mainui.cpp
    - condition: (m_mainCtx->getMediaLibrary())
      pos:
        line_end: 465
        line_start: 465
        source_file: /src/vlc/modules/gui/qt/maininterface/mainui.cpp
    - condition: (m_intf->p_mainPlayerController)
      pos:
        line_end: 314
        line_start: 314
        source_file: /src/vlc/modules/gui/qt/maininterface/mainui.cpp
    - condition: (!g_qmlTypesAreRegistered)
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/vlc/modules/gui/qt/maininterface/mainui.cpp
    constantsTouched: []
    func_position:
      end: 500
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 500
    functionName: MainUI::registerQMLTypes
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainui.cpp
    functionUses: 1
    functionsReached:
    - qmlProtectModule
    - qmlRegisterUncreatableType<MLItemId>
    - qmlRegisterTypesAndRevisions<VLCDuration>
    - qmlRegisterType<MLBookmarkModel>
    - qmlRegisterSingletonInstance<UpdateModel>
    - qmlRegisterUncreatableType<DialogId>
    - qmlRegisterType<QmlSubtitleMenu>
    - funcRegisterScrollHandler
    - qmlRegisterType<MLAudioModel>
    - qmlRegisterType<MLPlaylistModel>
    - qmlRegisterType<NetworkDeviceModel>
    - NavigationHistory::NavigationHistory
    - qmlRegisterTypesAndRevisions<vlc::QMessageBoxForeign>
    - qmlRegisterTypesAndRevisions<vlc::QAbstractProxyModelForeign>
    - qmlRegisterUncreatableMetaObject
    - qmlRegisterType<MLVideoModel>
    - qmlRegisterType<QmlBookmarkMenu>
    - qmlRegisterUncreatableType<ProgramListModel>
    - qmlRegisterTypesAndRevisions<NavigationModel>
    - qmlRegisterSingletonInstance<VLCAccessImage>
    - qmlRegisterUncreatableType<ControlbarProfile>
    - qmlRegisterType<MLUrlModel>
    - qmlRegisterSingletonInstance<UINotifier>
    - qmlRegisterTypesAndRevisions<AccessibleCompatAttached>
    - VLCDialogModel::getInstance<false>
    - getUpdateModel
    - qmlRegisterType<SortMenu>
    - qmlRegisterType<QmlGlobalMenu>
    - qmlRegisterTypesAndRevisions<PointingToolTipAttached>
    - qmlRegisterType<QmlMenuBar>
    - qmlRegisterType<CSDThemeImage>
    - assert
    - QmlKeyHelper::QmlKeyHelper
    - qmlRegisterType<QmlAudioMenu>
    - qmlRegisterUncreatableType<TitleListModel>
    - qmlRegisterSingletonInstance<PlayerController>
    - dynamic_cast<MainCtxWin32*>
    - qmlRegisterSingletonInstance<QmlKeyHelper>
    - DialogErrorModel::getInstance<false>
    - qmlRegisterUncreatableType<ColorSchemeModel>
    - qmlRegisterUncreatableType<ControlListModel>
    - qmlRegisterType<StandardPathModel>
    - qmlRegisterTypesAndRevisions<VLCTime>
    - qmlRegisterType<QmlProgramMenu>
    - qmlRegisterType<PlaylistMediaContextMenu>
    - qmlRegisterType<MLRecentVideoModel>
    - qmlRegisterUncreatableType<PlayerControlbarModel>
    - qmlRegisterType<NetworkMediaContextMenu>
    - qmlRegisterType<NetworkMediaModel>
    - qmlRegisterType<ControlListFilter>
    - qmlRegisterTypesAndRevisions<NavigationBarContextMenu>
    - DialogsProvider::getInstance
    - qmlRegisterType<DoubleClickIgnoringItem>
    - qmlRegisterSingletonInstance<SVGColorImage>
    - VLCAccessImage::VLCAccessImage
    - qmlRegisterUncreatableType<BaseModel>
    - qmlRegisterSingletonInstance<NavigationHistory>
    - qmlRegisterUncreatableType<CSDButtonModel>
    - qmlRegisterTypesAndRevisions<vlc::QWindowForeign>
    - qmlRegisterType<PlaylistController>
    - qmlRegisterType<PlaylistContextMenu>
    - qmlRegisterType<ItemKeyEventFilter>
    - qmlRegisterUncreatableType<TrackListModel>
    - qmlRegisterType<ColorContext>
    - qmlRegisterType<NetworkDeviceContextMenu>
    - qmlRegisterType<ImageLuminanceExtractor>
    - qmlRegisterTypesAndRevisions<AboutModel>
    - qmlRegisterType<MLRecentMediaModel>
    - qmlRegisterUncreatableType<UINotifier>
    - qmlRegisterSingletonType
    - qmlRegisterSingletonType<EffectsImageProvider>
    - qmlRegisterTypesAndRevisions<TimedText>
    - qmlRegisterTypesAndRevisions<WheelToVLCConverter>
    - qmlRegisterType<ViewBlockingRectangle>
    - qmlRegisterType<PlaylistListModel>
    - qmlRegisterSingletonInstance<DialogsProvider>
    - qmlRegisterUncreatableType<PlaylistItem>
    - qmlRegisterType<MLArtistModel>
    - qmlRegisterAnonymousType<MainCtxWin32>
    - qmlRegisterType<DelayEstimator>
    - qmlRegisterType<MLVideoGroupsModel>
    - qmlRegisterUncreatableType<CSDButton>
    - qmlRegisterTypesAndRevisions<vlc::QSortFilterProxyModelForeign>
    - qmlRegisterType<TextureProviderObserver>
    - qmlRegisterUncreatableType<VLCVarChoiceModel>
    - SVGColorImage::SVGColorImage
    - qmlRegisterType<PlayerHighResolutionTimeUpdater>
    - qmlRegisterType<MLMediaModel>
    - qmlRegisterTypesAndRevisions<VLCIcons>
    - qmlRegisterSingletonInstance<DialogErrorModel>
    - qmlRegisterModule
    - qmlRegisterSingletonInstance<VLCDialogModel>
    - qmlRegisterSingletonInstance<MainCtx>
    - qmlRegisterType<AddonsModel>
    - UINotifier::UINotifier
    - qmlRegisterType<SGManipulator>
    - qmlRegisterUncreatableType<ChapterListModel>
    - qmlRegisterTypesAndRevisions<CSDMenu>
    - qmlRegisterTypesAndRevisions<vlc::QScreenForeign>
    - qmlRegisterType<NetworkSourcesModel>
    - qmlRegisterUncreatableType<ControlbarProfileModel>
    - qmlRegisterType<TextureProviderIndirection>
    - qmlRegisterType<PlaylistListContextMenu>
    - QT_VERSION_CHECK
    - qmlRegisterType<StringListMenu>
    - qmlRegisterType<VLCDialog>
    - qmlRegisterType<SortMenuAlbums>
    - qmlRegisterTypesAndRevisions<SortCtx>
    - qmlRegisterType<SortMenuVideo>
    - qmlRegisterType<MLPlaylistListModel>
    - qmlRegisterType<QmlAudioContextMenu>
    - qmlRegisterType<MLGenreModel>
    - qmlRegisterType<MLVideoFoldersModel>
    - qmlRegisterTypesAndRevisions<vlc::QAbstractItemModelForeign>
    - qmlRegisterType<FlickableScrollHandler>
    - qmlRegisterType<SystemPalette>
    - getMediaLibrary
    - qmlRegisterTypesAndRevisions<SearchCtx>
    - qmlRegisterUncreatableType<MLBaseModel>
    - hasMediaLibrary
    - var_InheritBool
    - qmlRegisterType<MLAlbumModel>
    - qmlRegisterUncreatableType<ColorProperty>
    - qmlRegisterType<VideoSurface>
    - qmlRegisterUncreatableType<NavigationAttached>
    - qmlRegisterSingletonInstance<MediaLib>
    - qmlRegisterType<MLFoldersModel>
    - qmlRegisterUncreatableType<SVGColorImageBuilder>
    - qmlRegisterType<QmlRendererMenu>
    - qmlRegisterType<ListSelectionModel>
    - qmlRegisterSingletonInstance<PlaylistController>
    linkageType: ''
    returnType: void
    signature: void MainUI::registerQMLTypes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qmlClearTypeRegistrations
      Src: /src/vlc/modules/gui/qt/maininterface/mainui.cpp:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 506
    functionName: MainUI::clearQMLTypes
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainui.cpp
    functionUses: 1
    functionsReached:
    - qmlClearTypeRegistrations
    linkageType: ''
    returnType: void
    signature: void MainUI::clearQMLTypes()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: vlc::CompositorPlatform::canDoCombinedSurfaceUpdates
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_platform.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool canDoCombinedSurfaceUpdates() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: vlc::CompositorPlatform::canDoCombinedSurfaceUpdates
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_platform.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool canDoCombinedSurfaceUpdates() const override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QWindow*::flags
      Src: /src/vlc/modules/gui/qt/maininterface/win32windoweffects_module.cpp:53,1
    - Dst: GetWindowLong
      Src: /src/vlc/modules/gui/qt/maininterface/win32windoweffects_module.cpp:55,1
    - Dst: QWindow*::winId
      Src: /src/vlc/modules/gui/qt/maininterface/win32windoweffects_module.cpp:55,1
    - Dst: qDebug
      Src: /src/vlc/modules/gui/qt/maininterface/win32windoweffects_module.cpp:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - window
    - effect
    argTypes:
    - QWindow*
    - WindowEffectsModule::Effect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 67
    functionName: isEffectAvailable
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/win32windoweffects_module.cpp
    functionUses: 2
    functionsReached:
    - QWindow*::flags
    - GetWindowLong
    - qDebug
    - QWindow*::winId
    linkageType: ''
    returnType: bool
    signature: bool isEffectAvailable(const QWindow* window, const WindowEffectsModule::Effect
      effect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNUSED
      Src: /src/vlc/modules/gui/qt/maininterface/win32windoweffects_module.cpp:71,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/win32windoweffects_module.cpp:73,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/win32windoweffects_module.cpp:74,1
    - Dst: QWindow*::winId
      Src: /src/vlc/modules/gui/qt/maininterface/win32windoweffects_module.cpp:74,1
    - Dst: DwmSetWindowAttribute
      Src: /src/vlc/modules/gui/qt/maininterface/win32windoweffects_module.cpp:82,1
    - Dst: reinterpret_cast<HWND>
      Src: /src/vlc/modules/gui/qt/maininterface/win32windoweffects_module.cpp:82,1
    - Dst: QWindow*::winId
      Src: /src/vlc/modules/gui/qt/maininterface/win32windoweffects_module.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - window
    argTypes:
    - QWindow*
    assertStmts:
    - condition: (window->winId())
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/vlc/modules/gui/qt/maininterface/win32windoweffects_module.cpp
    - condition: (window)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/vlc/modules/gui/qt/maininterface/win32windoweffects_module.cpp
    constantsTouched: []
    func_position:
      end: 86
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 86
    functionName: setBlurBehind
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/win32windoweffects_module.cpp
    functionUses: 3
    functionsReached:
    - assert
    - Q_UNUSED
    - DwmSetWindowAttribute
    - reinterpret_cast<HWND>
    - QWindow*::winId
    linkageType: ''
    returnType: void
    signature: void setBlurBehind(QWindow* const window, const bool enable = true,
      const QRegion& region = {})
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/win32windoweffects_module.cpp:90,1
    - Dst: dummy_make_current
      Src: /src/vlc/modules/gui/qt/maininterface/win32windoweffects_module.cpp:92,1
    - Dst: QOperatingSystemVersion
      Src: /src/vlc/modules/gui/qt/maininterface/win32windoweffects_module.cpp:93,1
    - Dst: reinterpret_cast<WindowEffectsModule*>
      Src: /src/vlc/modules/gui/qt/maininterface/win32windoweffects_module.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: (p_this)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/vlc/modules/gui/qt/maininterface/win32windoweffects_module.cpp
    constantsTouched: []
    func_position:
      end: 102
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 102
    functionName: QtWin32WindowEffectsOpen
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/win32windoweffects_module.cpp
    functionUses: 0
    functionsReached:
    - dummy_make_current
    - QOperatingSystemVersion
    - assert
    - reinterpret_cast<WindowEffectsModule*>
    linkageType: ''
    returnType: int
    signature: int QtWin32WindowEffectsOpen(vlc_object_t* p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: vlc::X11Resource::X11Resource
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X11Resource()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - conn
    argTypes:
    - xcb_connection_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: vlc::X11Resource::X11Resource
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X11Resource(xcb_connection_t* conn, T _xid = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - X11Resource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: vlc::X11Resource::X11Resource
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X11Resource(const X11Resource &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - X11Resource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: vlc::X11Resource::X11Resource
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X11Resource(X11Resource &&other)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RELEASE
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: ~X11Resource()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp
    functionUses: 0
    functionsReached:
    - RELEASE
    linkageType: ''
    returnType: void
    signature: void ~X11Resource()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::X11Resource::reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp:55,1
    - Dst: xcb_generate_id
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: vlc::X11Resource::generateId
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp
    functionUses: 0
    functionsReached:
    - vlc::X11Resource::reset
    - xcb_generate_id
    linkageType: ''
    returnType: void
    signature: void generateId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - X11Resource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: '&operator=(const X11Resource &other)'
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X11Resource
    signature: X11Resource &operator=(const X11Resource &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - X11Resource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: '&operator=(X11Resource &&other) noexcept'
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: X11Resource
    signature: X11Resource &operator=(X11Resource &&other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: '&operator=(T value) noexcept'
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: X11Resource
    signature: X11Resource &operator=(T value) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RELEASE
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: vlc::X11Resource::reset
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp
    functionUses: 1
    functionsReached:
    - RELEASE
    linkageType: ''
    returnType: void
    signature: void reset(T newval = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: operator bool() noexcept
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator bool() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: vlc::X11Resource::get
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: vlc::X11Resource::X11Resource
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X11Resource()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - conn
    argTypes:
    - xcb_connection_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: vlc::X11Resource::X11Resource
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X11Resource(xcb_connection_t* conn, T _xid = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - X11Resource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: vlc::X11Resource::X11Resource
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X11Resource(const X11Resource &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - X11Resource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: vlc::X11Resource::X11Resource
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X11Resource(X11Resource &&other)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RELEASE
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: ~X11Resource()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp
    functionUses: 0
    functionsReached:
    - RELEASE
    linkageType: ''
    returnType: void
    signature: void ~X11Resource()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::X11Resource::reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp:55,1
    - Dst: xcb_generate_id
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: vlc::X11Resource::generateId
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp
    functionUses: 0
    functionsReached:
    - vlc::X11Resource::reset
    - xcb_generate_id
    linkageType: ''
    returnType: void
    signature: void generateId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - X11Resource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: '&operator=(const X11Resource &other)'
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X11Resource
    signature: X11Resource &operator=(const X11Resource &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - X11Resource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: '&operator=(X11Resource &&other) noexcept'
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: X11Resource
    signature: X11Resource &operator=(X11Resource &&other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: '&operator=(T value) noexcept'
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: X11Resource
    signature: X11Resource &operator=(T value) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RELEASE
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: vlc::X11Resource::reset
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp
    functionUses: 2
    functionsReached:
    - RELEASE
    linkageType: ''
    returnType: void
    signature: void reset(T newval = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: operator bool() noexcept
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator bool() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: vlc::X11Resource::get
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T get() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xcb_get_window_attributes
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:34,1
    - Dst: wrap_cptr
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:35,1
    - Dst: xcb_get_window_attributes_reply
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:35,1
    - Dst: msg_Info
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:38,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:39,1
    - Dst: findVisualFormat
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:44,1
    - Dst: msg_Info
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:47,1
    - Dst: xcb_composite_redirect_window_checked
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:51,1
    - Dst: xcb_request_check
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:52,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:55,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:56,1
    - Dst: getInternAtom
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:60,1
    - Dst: xcb_change_property
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - p_intf
    - conn
    - wid
    - parent
    argTypes:
    - qt_intf_t*
    - xcb_connection_t*
    - xcb_window_t
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 67
    functionName: CompositorX11RenderClient::CompositorX11RenderClient
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp
    functionUses: 0
    functionsReached:
    - wrap_cptr
    - xcb_change_property
    - xcb_composite_redirect_window_checked
    - free
    - msg_Info
    - xcb_get_window_attributes
    - getInternAtom
    - msg_Warn
    - findVisualFormat
    - xcb_get_window_attributes_reply
    - xcb_request_check
    linkageType: ''
    returnType: void
    signature: void CompositorX11RenderClient::CompositorX11RenderClient(qt_intf_t*
      p_intf, xcb_connection_t* conn,  xcb_window_t wid, QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:71,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: CompositorX11RenderClient::~CompositorX11RenderClient()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void CompositorX11RenderClient::~CompositorX11RenderClient()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: CompositorX11RenderClient::getWindowXid
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: xcb_drawable_t
    signature: xcb_drawable_t CompositorX11RenderClient::getWindowXid() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wrap_cptr<xcb_generic_error_t>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:83,1
    - Dst: generateId
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:85,1
    - Dst: xcb_composite_name_window_pixmap_checked
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:86,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:86,1
    - Dst: auto::reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:87,1
    - Dst: xcb_request_check
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:87,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:90,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:91,1
    - Dst: generateId
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:95,1
    - Dst: xcb_render_create_picture_checked
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:96,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:96,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:96,1
    - Dst: auto::reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:97,1
    - Dst: xcb_request_check
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:97,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:100,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:101,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 104
    functionName: CompositorX11RenderClient::createPicture
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp
    functionUses: 0
    functionsReached:
    - auto::reset
    - xcb_composite_name_window_pixmap_checked
    - generateId
    - xcb_render_create_picture_checked
    - get
    - reset
    - wrap_cptr<xcb_generic_error_t>
    - msg_Warn
    - xcb_request_check
    linkageType: ''
    returnType: void
    signature: void CompositorX11RenderClient::createPicture()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CompositorX11RenderClient::createPicture
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:109,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: CompositorX11RenderClient::getPicture
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp
    functionUses: 0
    functionsReached:
    - get
    - CompositorX11RenderClient::createPicture
    linkageType: ''
    returnType: xcb_render_picture_t
    signature: xcb_render_picture_t CompositorX11RenderClient::getPicture()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:115,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: CompositorX11RenderClient::resetPixmap
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderclient.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void CompositorX11RenderClient::resetPixmap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QWindow*::windowStates
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:40,1
    - Dst: QWindow*::setWindowStates
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - window
    - state
    argTypes:
    - QWindow*
    - Qt::WindowState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: setWindowState
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp
    functionUses: 0
    functionsReached:
    - QWindow*::windowStates
    - QWindow*::setWindowStates
    linkageType: ''
    returnType: void
    signature: void setWindowState(QWindow *window, Qt::WindowState state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QWindow*::windowStates
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:40,1
    - Dst: QWindow*::setWindowStates
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - window
    - state
    argTypes:
    - QWindow*
    - Qt::WindowState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: setWindowState
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp
    functionUses: 0
    functionsReached:
    - QWindow*::windowStates
    - QWindow*::setWindowStates
    linkageType: ''
    returnType: void
    signature: void setWindowState(QWindow *window, Qt::WindowState state)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:60,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:61,1
    - Dst: useClientSideDecoration
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:63,1
    - Dst: setFlag
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:64,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:67,1
    - Dst: setIcon
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:69,1
    - Dst: QApplication::windowIcon
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:69,1
    - Dst: setOpacity
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:70,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:70,1
    - Dst: QVLCTools::restoreWindowPosition
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:72,1
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:72,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:72,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:76,1
    - Dst: WindowStateHolder::holdOnTop
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:78,1
    - Dst: isInterfaceAlwaysOnTop
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:78,1
    - Dst: WindowStateHolder::holdFullscreen
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:79,1
    - Dst: visibility
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:79,1
    - Dst: isHideAfterCreation
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:81,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:82,1
    - Dst: setTitle
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:85,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:87,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:89,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:92,1
    - Dst: isMinimalView
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:96,1
    - Dst: setMinimumSize
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:98,1
    - Dst: windowExtendedMargin
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:102,1
    - Dst: getIntfScaleFactor
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:106,1
    - Dst: std::ceil
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:107,1
    - Dst: std::ceil
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:108,1
    - Dst: setMinimumSize
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:110,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:110,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:112,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:113,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:114,1
    - Dst: updateIntfScaleFactor
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:115,1
    - Dst: updateMinimumSize
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:116,1
    - Dst: onWindowVisibilityChanged
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:118,1
    - Dst: visibility
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:118,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:119,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:122,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:124,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:127,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:130,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:133,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:136,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:139,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:142,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:145,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:148,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:151,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:154,1
    - Dst: DialogErrorModel::getInstance<false>
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:157,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:158,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:159,1
    - Dst: QPointer
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:159,1
    - Dst: Q_LIKELY
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:160,1
    - Dst: alert
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:161,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:164,1
    - Dst: installEventFilter
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:172,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 55
    argCount: 4
    argNames:
    - _p_intf
    - mainCtx
    - window
    - parent
    argTypes:
    - qt_intf_t*
    - MainCtx*
    - QWindow*
    - QObject*
    assertStmts:
    - condition: (m_window)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp
    - condition: (m_mainCtx)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp
    - condition: (dem)
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp
    constantsTouched: []
    func_position:
      end: 173
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 173
    functionName: InterfaceWindowHandler::InterfaceWindowHandler
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp
    functionUses: 0
    functionsReached:
    - assert
    - QVLCTools::restoreWindowPosition
    - WindowStateHolder::holdOnTop
    - isHideAfterCreation
    - isInterfaceAlwaysOnTop
    - QPointer
    - connect
    - useClientSideDecoration
    - setMinimumSize
    - QApplication::windowIcon
    - alert
    - WindowStateHolder::holdFullscreen
    - setTitle
    - setOpacity
    - DialogErrorModel::getInstance<false>
    - visibility
    - setFlag
    - setIcon
    - var_InheritBool
    - windowExtendedMargin
    - updateMinimumSize
    - var_InheritFloat
    - onWindowVisibilityChanged
    - Q_LIKELY
    - hide
    - std::ceil
    - QSize
    - updateIntfScaleFactor
    - getIntfScaleFactor
    - QMetaObject::invokeMethod
    - getSettings
    - installEventFilter
    - isMinimalView
    linkageType: ''
    returnType: void
    signature: void InterfaceWindowHandler::InterfaceWindowHandler(qt_intf_t *_p_intf,
      MainCtx* mainCtx, QWindow* window, QObject *parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: removeEventFilter
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:177,1
    - Dst: QVLCTools::saveWindowPosition
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:179,1
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:179,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:180,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:181,1
    - Dst: WindowStateHolder::holdOnTop
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:184,1
    - Dst: WindowStateHolder::holdFullscreen
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (qApp)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp
    constantsTouched: []
    func_position:
      end: 187
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 187
    functionName: InterfaceWindowHandler::~InterfaceWindowHandler()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp
    functionUses: 0
    functionsReached:
    - property
    - WindowStateHolder::holdFullscreen
    - assert
    - WindowStateHolder::holdOnTop
    - QVLCTools::saveWindowPosition
    - removeEventFilter
    - getSettings
    linkageType: ''
    returnType: void
    signature: void InterfaceWindowHandler::~InterfaceWindowHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setFlag
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:191,1
    - Dst: useClientSideDecoration
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: InterfaceWindowHandler::updateCSDWindowSettings
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp
    functionUses: 0
    functionsReached:
    - setFlag
    - useClientSideDecoration
    linkageType: ''
    returnType: void
    signature: void InterfaceWindowHandler::updateCSDWindowSettings()
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:196,1
    - Dst: static_cast<QWindowStateChangeEvent*>
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:200,1
    - Dst: windowStates
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:201,1
    - Dst: QWindowStateChangeEvent*::oldState
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:202,1
    - Dst: InterfaceWindowHandler::setInterfaceMaximized
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:220,1
    - Dst: getPlayingState
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:229,1
    - Dst: hasVideoOutput
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:230,1
    - Dst: hasAudioVisualization
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:230,1
    - Dst: pause
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:234,1
    - Dst: play
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:241,1
    - Dst: static_cast<QKeyEvent *>
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:248,1
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:251,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:256,1
    - Dst: InterfaceWindowHandler::applyKeyEvent
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:262,1
    - Dst: sendHotkey
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:265,1
    - Dst: static_cast<Qt::Key>
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:265,1
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:265,1
    - Dst: QKeyEvent*::modifiers
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:265,1
    - Dst: InterfaceWindowHandler::applyKeyEvent
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:271,1
    - Dst: static_cast<QKeyEvent *>
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:271,1
    - Dst: static_cast<QWheelEvent*>
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:275,1
    - Dst: QWheelEvent*::modifiers
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:276,1
    - Dst: wheelEvent
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:278,1
    - Dst: QWheelEvent*::accept
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:279,1
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:286,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:289,1
    - Dst: platformName
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:290,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:290,1
    - Dst: InterfaceWindowHandler::setInterfaceHiden
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:294,1
    - Dst: InterfaceWindowHandler::setInterfaceHiden
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:296,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:299,1
    - Dst: getSysTray
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:301,1
    - Dst: QSystemTrayIcon*::isSystemTrayAvailable
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:303,1
    - Dst: QSystemTrayIcon*::isVisible
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:303,1
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:305,1
    - Dst: InterfaceWindowHandler::setInterfaceHiden
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:307,1
    - Dst: QEvent*::ignore
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:309,1
    - Dst: onWindowClose
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:315,1
    - Dst: QEvent*::ignore
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:316,1
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:319,1
    - Dst: intfDevicePixelRatioChanged
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:322,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 76
    argCount: 1
    argNames:
    - event
    argTypes:
    - QEvent*
    assertStmts:
    - condition: (qGuiApp)
      pos:
        line_end: 288
        line_start: 288
        source_file: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp
    constantsTouched: []
    func_position:
      end: 331
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 331
    functionName: InterfaceWindowHandler::eventFilter
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp
    functionUses: 0
    functionsReached:
    - intfDevicePixelRatioChanged
    - assert
    - QKeyEvent*::modifiers
    - InterfaceWindowHandler::setInterfaceMaximized
    - QT_VERSION_CHECK
    - QSystemTrayIcon*::isSystemTrayAvailable
    - QEvent*::ignore
    - static_cast<Qt::Key>
    - InterfaceWindowHandler::setInterfaceHiden
    - static_cast<QWindowStateChangeEvent*>
    - ARRAY_SIZE
    - QEvent*::type
    - hasVideoOutput
    - QSystemTrayIcon*::isVisible
    - InterfaceWindowHandler::applyKeyEvent
    - getSysTray
    - wheelEvent
    - sendHotkey
    - getPlayingState
    - QWindowStateChangeEvent*::oldState
    - var_InheritBool
    - QWheelEvent*::accept
    - hasAudioVisualization
    - QWheelEvent*::modifiers
    - QKeyEvent*::key
    - QLatin1String
    - play
    - windowStates
    - platformName
    - onWindowClose
    - static_cast<QWheelEvent*>
    - static_cast<QKeyEvent *>
    - pause
    linkageType: ''
    returnType: bool
    signature: bool InterfaceWindowHandler::eventFilter(QObject*, QEvent* event)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geometry
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:337,1
    - Dst: isNull
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:339,1
    - Dst: setGeometry
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:341,1
    - Dst: QRect
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - embed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 344
    functionName: InterfaceWindowHandler::onVideoEmbedChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp
    functionUses: 0
    functionsReached:
    - geometry
    - setGeometry
    - QRect
    - isNull
    linkageType: ''
    returnType: void
    signature: void InterfaceWindowHandler::onVideoEmbedChanged(bool embed)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: visibility
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:349,1
    - Dst: InterfaceWindowHandler::setInterfaceShown
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:353,1
    - Dst: InterfaceWindowHandler::requestActivate
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:354,1
    - Dst: InterfaceWindowHandler::setInterfaceNormal
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:357,1
    - Dst: InterfaceWindowHandler::requestActivate
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:358,1
    - Dst: InterfaceWindowHandler::setInterfaceHiden
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:361,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 364
    functionName: InterfaceWindowHandler::toggleWindowVisibility
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp
    functionUses: 0
    functionsReached:
    - InterfaceWindowHandler::setInterfaceShown
    - InterfaceWindowHandler::requestActivate
    - visibility
    - InterfaceWindowHandler::setInterfaceNormal
    - InterfaceWindowHandler::setInterfaceHiden
    linkageType: ''
    returnType: void
    signature: void InterfaceWindowHandler::toggleWindowVisibility()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: visibility
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:371,1
    - Dst: InterfaceWindowHandler::setInterfaceShown
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:374,1
    - Dst: InterfaceWindowHandler::setInterfaceNormal
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:377,1
    - Dst: InterfaceWindowHandler::requestActivate
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:382,1
    - Dst: InterfaceWindowHandler::setInterfaceHiden
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:386,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - visible
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 388
    functionName: InterfaceWindowHandler::setInterfaceVisible
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp
    functionUses: 0
    functionsReached:
    - InterfaceWindowHandler::setInterfaceShown
    - InterfaceWindowHandler::requestActivate
    - visibility
    - InterfaceWindowHandler::setInterfaceNormal
    - InterfaceWindowHandler::setInterfaceHiden
    linkageType: ''
    returnType: void
    signature: void InterfaceWindowHandler::setInterfaceVisible(bool visible)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WindowStateHolder::holdFullscreen
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 394
    functionName: InterfaceWindowHandler::setFullScreen
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp
    functionUses: 0
    functionsReached:
    - WindowStateHolder::holdFullscreen
    linkageType: ''
    returnType: void
    signature: void InterfaceWindowHandler::setFullScreen( bool fs )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterfaceWindowHandler::setFullScreen
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 400
    functionName: InterfaceWindowHandler::setInterfaceFullScreen
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp
    functionUses: 0
    functionsReached:
    - InterfaceWindowHandler::setFullScreen
    linkageType: ''
    returnType: void
    signature: void InterfaceWindowHandler::setInterfaceFullScreen( bool fs )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterfaceWindowHandler::requestActivate
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:404,1
    - Dst: raise
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 406
    functionName: InterfaceWindowHandler::setRaise
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp
    functionUses: 0
    functionsReached:
    - InterfaceWindowHandler::requestActivate
    - raise
    linkageType: ''
    returnType: void
    signature: void InterfaceWindowHandler::setRaise()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pause
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:410,1
    - Dst: getSysTray
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:411,1
    - Dst: InterfaceWindowHandler::setInterfaceHiden
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:413,1
    - Dst: InterfaceWindowHandler::setInterfaceMinimized
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 419
    functionName: InterfaceWindowHandler::setBoss
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp
    functionUses: 0
    functionsReached:
    - getSysTray
    - pause
    - InterfaceWindowHandler::setInterfaceMinimized
    - InterfaceWindowHandler::setInterfaceHiden
    linkageType: ''
    returnType: void
    signature: void InterfaceWindowHandler::setBoss()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:423,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:428,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:429,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:431,1
    - Dst: platformName
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:434,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:434,1
    - Dst: dynamic_cast<vlc::CompositorVideo*>
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:435,1
    - Dst: p_compositor::get
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:435,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:437,1
    - Dst: InterfaceWindowHandler::setInterfaceMinimized
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:444,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:449,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (p_intf)
      pos:
        line_end: 427
        line_start: 427
        source_file: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp
    - condition: (qGuiApp)
      pos:
        line_end: 430
        line_start: 430
        source_file: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp
    - condition: (p_intf->p_compositor)
      pos:
        line_end: 428
        line_start: 428
        source_file: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp
    constantsTouched: []
    func_position:
      end: 450
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 450
    functionName: InterfaceWindowHandler::setInterfaceHiden
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp
    functionUses: 4
    functionsReached:
    - p_compositor::get
    - assert
    - QLatin1String
    - hide
    - platformName
    - QT_VERSION_CHECK
    - dynamic_cast<vlc::CompositorVideo*>
    - msg_Warn
    - InterfaceWindowHandler::setInterfaceMinimized
    linkageType: ''
    returnType: void
    signature: void InterfaceWindowHandler::setInterfaceHiden()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 452
    functionDepth: 3
    functionLinenumber: 452
    functionLinenumberEnd: 455
    functionName: InterfaceWindowHandler::setInterfaceShown
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp
    functionUses: 2
    functionsReached:
    - setVisible
    linkageType: ''
    returnType: void
    signature: void InterfaceWindowHandler::setInterfaceShown()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setWindowState
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: InterfaceWindowHandler::setInterfaceMinimized
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp
    functionUses: 2
    functionsReached:
    - setWindowState
    linkageType: ''
    returnType: void
    signature: void InterfaceWindowHandler::setInterfaceMinimized()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setWindowState
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: InterfaceWindowHandler::setInterfaceMaximized
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp
    functionUses: 1
    functionsReached:
    - setWindowState
    linkageType: ''
    returnType: void
    signature: void InterfaceWindowHandler::setInterfaceMaximized()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showNormal
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 470
    functionName: InterfaceWindowHandler::setInterfaceNormal
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp
    functionUses: 2
    functionsReached:
    - showNormal
    linkageType: ''
    returnType: void
    signature: void InterfaceWindowHandler::setInterfaceNormal()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterfaceWindowHandler::requestActivate
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 476
    functionName: InterfaceWindowHandler::requestActivate
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp
    functionUses: 4
    functionsReached:
    - InterfaceWindowHandler::requestActivate
    linkageType: ''
    returnType: void
    signature: void InterfaceWindowHandler::requestActivate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WindowStateHolder::holdOnTop
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - on_top
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 481
    functionName: InterfaceWindowHandler::setInterfaceAlwaysOnTop
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp
    functionUses: 0
    functionsReached:
    - WindowStateHolder::holdOnTop
    linkageType: ''
    returnType: void
    signature: void InterfaceWindowHandler::setInterfaceAlwaysOnTop( bool on_top )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:487,1
    - Dst: preferHotkeys
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:491,1
    - Dst: p_compositor::activeFocusItem
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:496,1
    - Dst: json_read
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:503,1
    - Dst: qmlContext
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:503,1
    - Dst: QVariant::isValid
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:504,1
    - Dst: QVariant::toBool
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:506,1
    - Dst: QQuickItem*::inherits
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:511,1
    - Dst: QQuickItem*::inherits
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:511,1
    - Dst: json_read
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:513,1
    - Dst: qmlContext
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:513,1
    - Dst: QVariant::isValid
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:514,1
    - Dst: QVariant::toBool
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:516,1
    - Dst: QKeyEvent*::accept
      Src: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp:522,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - event
    argTypes:
    - QKeyEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 525
    functionName: InterfaceWindowHandler::applyKeyEvent
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/interface_window_handler.cpp
    functionUses: 1
    functionsReached:
    - QVariant::isValid
    - json_read
    - p_compositor::activeFocusItem
    - qmlContext
    - preferHotkeys
    - QVariant::toBool
    - QKeyEvent*::accept
    - QQuickItem*::inherits
    - QKeyEvent*::key
    linkageType: ''
    returnType: bool
    signature: bool InterfaceWindowHandler::applyKeyEvent(QKeyEvent * event) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ~AccessibleRenderWindow()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AccessibleRenderWindow()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ~AccessibleRenderWindow()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AccessibleRenderWindow()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' name'
    - ' icon'
    - ' icon_svg'
    - ' uri'
    argTypes:
    - QString
    - QString
    - QString
    - QStringList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: NavigationModelItem::NavigationModelItem
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/navigationmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void NavigationModelItem(const QString& name,\n                        const
      QString& icon,\n                        const QString& icon_svg,\n                        const
      QStringList& uri)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: NavigationModelItem::name
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/navigationmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: NavigationModelItem::icon
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/navigationmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString icon() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: NavigationModelItem::icon_svg
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/navigationmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString icon_svg() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: NavigationModelItem::uri
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/navigationmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QStringList
    signature: QStringList uri() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: ~VideoSurfaceProvider()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/videosurface.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VideoSurfaceProvider()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: VideoSurfaceProvider::videoSurface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/videosurface.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QPointer<VideoSurface>
    signature: QPointer<VideoSurface> videoSurface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - videoSurface
    argTypes:
    - QPointer<VideoSurface>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: VideoSurfaceProvider::setVideoSurface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/videosurface.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setVideoSurface(QPointer<VideoSurface> videoSurface)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: VideoSurfaceProvider::supportsThreadedSurfaceUpdates
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/videosurface.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supportsThreadedSurfaceUpdates() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: VideoSurface::videoSurfaceProvider
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/videosurface.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VideoSurfaceProvider
    signature: VideoSurfaceProvider * videoSurfaceProvider() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: vlc::CompositorX11::type
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Type
    signature: Type type() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: vlc::CompositorX11::canDoCombinedSurfaceUpdates
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool canDoCombinedSurfaceUpdates() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: vlc::CompositorX11::type
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Type
    signature: Type type() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: vlc::CompositorX11::canDoCombinedSurfaceUpdates
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool canDoCombinedSurfaceUpdates() const override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:71,1
    - Dst: wl_registry_bind
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:72,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:73,1
    - Dst: wl_registry_bind
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:76,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:79,1
    - Dst: wl_registry_bind
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - data
    - registry
    - id
    - iface
    - version
    argTypes:
    - void*
    - struct wl_registry*
    - uint32_t
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 82
    functionName: registry_global_cb
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c
    functionUses: 0
    functionsReached:
    - wl_registry_bind
    - strcmp
    linkageType: ''
    returnType: void
    signature: "void registry_global_cb(void* data, struct wl_registry* registry,\n
      \                              uint32_t id, const char* iface, uint32_t version)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:86,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:87,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - registry
    - id
    argTypes:
    - void*
    - struct wl_registry*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: registry_global_remove_cb
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void registry_global_remove_cb(void* data, struct wl_registry* registry,
      uint32_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:98,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - obj
    - width
    - height
    argTypes:
    - struct qtwayland_t*
    - size_t
    - size_t
    assertStmts:
    - condition: (obj)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c
    - condition: (sys)
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: SetSize
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void SetSize(struct qtwayland_t* obj, size_t width, size_t height)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:109,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:111,1
    - Dst: unlikely
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:117,1
    - Dst: wp_viewport_set_destination
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:125,1
    - Dst: wl_surface_commit
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:127,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - obj
    - commitSurface
    argTypes:
    - struct qtwayland_t*
    - bool
    assertStmts:
    - condition: (obj)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c
    - condition: (sys)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c
    constantsTouched: []
    func_position:
      end: 133
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 133
    functionName: CommitSize
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c
    functionUses: 0
    functionsReached:
    - wl_surface_commit
    - assert
    - unlikely
    - wp_viewport_set_destination
    linkageType: ''
    returnType: bool
    signature: bool CommitSize(struct qtwayland_t* obj, bool commitSurface)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:137,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:139,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:142,1
    - Dst: ceil
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - obj
    - scale
    argTypes:
    - struct qtwayland_t*
    - double
    assertStmts:
    - condition: (obj)
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c
    - condition: (scale > 0.0)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c
    - condition: (sys)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c
    constantsTouched: []
    func_position:
      end: 149
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 149
    functionName: SetScale
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c
    functionUses: 0
    functionsReached:
    - assert
    - ceil
    linkageType: ''
    returnType: void
    signature: void SetScale(struct qtwayland_t* obj, double scale)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:153,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:155,1
    - Dst: wp_viewporter_get_viewport
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:167,1
    - Dst: likely
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:171,1
    - Dst: wl_surface_set_buffer_scale
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:173,1
    - Dst: wl_surface_commit
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:174,1
    - Dst: CommitSize
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:178,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:184,1
    - Dst: wl_surface_set_buffer_scale
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:189,1
    - Dst: wl_surface_commit
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:190,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:194,1
    - Dst: wl_surface_set_buffer_scale
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:208,1
    - Dst: wl_surface_commit
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:209,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:213,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct qtwayland_t*
    assertStmts:
    - condition: (obj)
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c
    - condition: (sys)
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c
    constantsTouched: []
    func_position:
      end: 218
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 218
    functionName: CommitScale
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c
    functionUses: 0
    functionsReached:
    - wl_surface_commit
    - assert
    - CommitSize
    - wp_viewporter_get_viewport
    - likely
    - msg_Dbg
    - wl_surface_set_buffer_scale
    linkageType: ''
    returnType: void
    signature: void CommitScale(struct qtwayland_t* obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetScale
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - obj
    - qpni_interface_surface
    - scale
    argTypes:
    - qtwayland_t*
    - void*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 232
    functionName: SetupInterface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c
    functionUses: 0
    functionsReached:
    - SetScale
    linkageType: ''
    returnType: int
    signature: int SetupInterface(qtwayland_t* obj, void* qpni_interface_surface,
      double scale)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wl_compositor_create_surface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:239,1
    - Dst: CommitScale
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:243,1
    - Dst: wl_compositor_create_region
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:245,1
    - Dst: wl_surface_destroy
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:248,1
    - Dst: wl_region_add
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:252,1
    - Dst: wl_surface_set_input_region
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:253,1
    - Dst: wl_region_destroy
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:255,1
    - Dst: wl_surface_commit
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - obj
    - wnd
    argTypes:
    - qtwayland_t*
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 235
    functionDepth: 3
    functionLinenumber: 235
    functionLinenumberEnd: 264
    functionName: SetupVoutWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c
    functionUses: 2
    functionsReached:
    - wl_surface_commit
    - CommitScale
    - wl_surface_destroy
    - wl_surface_set_input_region
    - wl_compositor_create_surface
    - wl_region_destroy
    - wl_region_add
    - wl_compositor_create_region
    linkageType: ''
    returnType: int
    signature: int SetupVoutWindow(qtwayland_t* obj, vlc_window_t* wnd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wp_viewport_destroy
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:273,1
    - Dst: vlc_assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:278,1
    - Dst: wl_surface_destroy
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct qtwayland_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 281
    functionName: TeardownVoutWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c
    functionUses: 0
    functionsReached:
    - wp_viewport_destroy
    - wl_surface_destroy
    - vlc_assert
    linkageType: ''
    returnType: void
    signature: void TeardownVoutWindow(struct qtwayland_t* obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:285,1
    - Dst: vlc_assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:289,1
    - Dst: vlc_assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:290,1
    - Dst: vlc_assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:291,1
    - Dst: wl_subcompositor_get_subsurface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:293,1
    - Dst: wl_subsurface_place_below
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:294,1
    - Dst: wl_subsurface_set_desync
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:295,1
    - Dst: wl_surface_commit
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - obj
    - conf
    argTypes:
    - qtwayland_t*
    - vlc_window_cfg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 297
    functionName: Enable
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c
    functionUses: 8
    functionsReached:
    - wl_surface_commit
    - wl_subsurface_set_desync
    - VLC_UNUSED
    - wl_subcompositor_get_subsurface
    - vlc_assert
    - wl_subsurface_place_below
    linkageType: ''
    returnType: void
    signature: void Enable(qtwayland_t* obj, const vlc_window_cfg_t * conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:302,1
    - Dst: wl_subsurface_destroy
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:304,1
    - Dst: wl_surface_commit
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - qtwayland_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 307
    functionName: Disable
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c
    functionUses: 5
    functionsReached:
    - wl_surface_commit
    - wl_subsurface_destroy
    - vlc_assert
    linkageType: ''
    returnType: void
    signature: void Disable(qtwayland_t* obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wl_subsurface_set_position
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:314,1
    - Dst: wl_surface_commit
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - obj
    - x
    - y
    - commitSurface
    argTypes:
    - struct qtwayland_t*
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 317
    functionName: Move
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c
    functionUses: 12
    functionsReached:
    - wl_surface_commit
    - wl_subsurface_set_position
    linkageType: ''
    returnType: void
    signature: void Move(struct qtwayland_t* obj, int x, int y, bool commitSurface)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:321,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:323,1
    - Dst: SetSize
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:332,1
    - Dst: CommitSize
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - obj
    - width
    - height
    - commitSurface
    argTypes:
    - struct qtwayland_t*
    - size_t
    - size_t
    - bool
    assertStmts:
    - condition: (obj)
      pos:
        line_end: 320
        line_start: 320
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c
    - condition: (sys)
      pos:
        line_end: 322
        line_start: 322
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c
    constantsTouched: []
    func_position:
      end: 342
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 342
    functionName: Resize
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c
    functionUses: 3
    functionsReached:
    - CommitSize
    - assert
    - SetSize
    linkageType: ''
    returnType: void
    signature: void Resize(struct qtwayland_t* obj, size_t width, size_t height, bool
      commitSurface)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:347,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:349,1
    - Dst: SetScale
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:357,1
    - Dst: CommitScale
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - obj
    - scale
    argTypes:
    - struct qtwayland_t*
    - double
    assertStmts:
    - condition: (obj)
      pos:
        line_end: 346
        line_start: 346
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c
    - condition: (sys)
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c
    constantsTouched: []
    func_position:
      end: 367
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 367
    functionName: Rescale
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c
    functionUses: 4
    functionsReached:
    - assert
    - CommitScale
    - SetScale
    linkageType: ''
    returnType: void
    signature: void Rescale(struct qtwayland_t* obj, double scale)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:371,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:373,1
    - Dst: wl_surface_commit
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct qtwayland_t*
    assertStmts:
    - condition: (obj)
      pos:
        line_end: 370
        line_start: 370
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c
    - condition: (sys)
      pos:
        line_end: 372
        line_start: 372
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c
    constantsTouched: []
    func_position:
      end: 379
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 379
    functionName: CommitSurface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c
    functionUses: 0
    functionsReached:
    - wl_surface_commit
    - assert
    linkageType: ''
    returnType: void
    signature: void CommitSurface(struct qtwayland_t* obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wl_display_flush
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:384,1
    - Dst: wp_viewporter_destroy
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:388,1
    - Dst: wl_subcompositor_destroy
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:391,1
    - Dst: wl_compositor_destroy
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:392,1
    - Dst: wl_event_queue_destroy
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - obj
    argTypes:
    - qtwayland_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 394
    functionName: Close
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c
    functionUses: 150
    functionsReached:
    - wp_viewporter_destroy
    - wl_event_queue_destroy
    - wl_display_flush
    - wl_compositor_destroy
    - wl_subcompositor_destroy
    linkageType: ''
    returnType: void
    signature: void Close(qtwayland_t* obj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:404,1
    - Dst: wl_display_create_queue
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:408,1
    - Dst: wl_proxy_create_wrapper
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:409,1
    - Dst: wl_proxy_set_queue
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:410,1
    - Dst: wl_display_get_registry
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:417,1
    - Dst: wl_proxy_wrapper_destroy
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:418,1
    - Dst: wl_registry_add_listener
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:420,1
    - Dst: wl_display_roundtrip_queue
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:421,1
    - Dst: wl_registry_destroy
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:423,1
    - Dst: wl_subcompositor_destroy
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:432,1
    - Dst: wl_compositor_destroy
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:434,1
    - Dst: wl_event_queue_destroy
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:436,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - obj
    - qpni_display
    argTypes:
    - qtwayland_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 442
    functionName: Init
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c
    functionUses: 334
    functionsReached:
    - wl_display_create_queue
    - wl_proxy_create_wrapper
    - wl_proxy_set_queue
    - msg_Err
    - wl_display_roundtrip_queue
    - wl_registry_destroy
    - wl_registry_add_listener
    - wl_display_get_registry
    - wl_event_queue_destroy
    - wl_proxy_wrapper_destroy
    - wl_compositor_destroy
    - wl_subcompositor_destroy
    linkageType: ''
    returnType: bool
    signature: bool Init(qtwayland_t* obj, void* qpni_display)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wl_display_connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:448,1
    - Dst: wl_display_disconnect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:455,1
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 482
    functionName: OpenCompositor
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland_module.c
    functionUses: 0
    functionsReached:
    - wl_display_disconnect
    - wl_display_connect
    - vlc_obj_calloc
    linkageType: ''
    returnType: int
    signature: int OpenCompositor(vlc_object_t* p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_submodels.cpp:27,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_submodels.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - parent
    argTypes:
    - MainCtx*
    - QObject*
    assertStmts:
    - condition: (m_ctx)
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/vlc/modules/gui/qt/maininterface/mainctx_submodels.cpp
    constantsTouched: []
    func_position:
      end: 33
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 33
    functionName: SidePanelCtx::SidePanelCtx
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_submodels.cpp
    functionUses: 0
    functionsReached:
    - connect
    - assert
    linkageType: ''
    returnType: void
    signature: void SidePanelCtx::SidePanelCtx(MainCtx* ctx, QObject* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dp
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_submodels.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: SidePanelCtx::width
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_submodels.cpp
    functionUses: 0
    functionsReached:
    - dp
    linkageType: ''
    returnType: double
    signature: double SidePanelCtx::width() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: SidePanelCtx::setDocked
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_submodels.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SidePanelCtx::setDocked(bool value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: SidePanelCtx::setVisible
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_submodels.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SidePanelCtx::setVisible(bool value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getIntfScaleFactor
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_submodels.cpp:55,1
    - Dst: qFuzzyCompare
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_submodels.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: SidePanelCtx::setWidth
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_submodels.cpp
    functionUses: 0
    functionsReached:
    - qFuzzyCompare
    - getIntfScaleFactor
    linkageType: ''
    returnType: void
    signature: void SidePanelCtx::setWidth(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: commonWindowEnable
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: CompositorWin7::windowEnable
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp
    functionUses: 0
    functionsReached:
    - commonWindowEnable
    linkageType: ''
    returnType: int
    signature: int CompositorWin7::windowEnable(const vlc_window_cfg_t *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: commonWindowDisable
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: CompositorWin7::windowDisable
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp
    functionUses: 0
    functionsReached:
    - commonWindowDisable
    linkageType: ''
    returnType: void
    signature: void CompositorWin7::windowDisable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_intf
    - parent
    argTypes:
    - qt_intf_t*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: CompositorWin7::CompositorWin7
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompositorWin7::CompositorWin7(qt_intf_t *p_intf, QObject* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: CompositorWin7::~CompositorWin7()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompositorWin7::~CompositorWin7()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: platformName
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:56,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:57,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: CompositorWin7::init
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp
    functionUses: 0
    functionsReached:
    - QLatin1String
    - platformName
    linkageType: ''
    returnType: bool
    signature: bool CompositorWin7::init()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QWidget::QWidget
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:72,1
    - Dst: QWidget::QWidget
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:73,1
    - Dst: setContextMenuPolicy
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:74,1
    - Dst: palette
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:76,1
    - Dst: QPalette::setColor
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:77,1
    - Dst: setPalette
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:78,1
    - Dst: setAutoFillBackground
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:79,1
    - Dst: setAttribute
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:81,1
    - Dst: setAttribute
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:82,1
    - Dst: setMouseTracking
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:83,1
    - Dst: setAttribute
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:84,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:85,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:87,1
    - Dst: winId
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:88,1
    - Dst: DwmSetWindowAttribute
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:91,1
    - Dst: DwmSetWindowAttribute
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:92,1
    - Dst: std::make_unique<QQuickView>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:94,1
    - Dst: setResizeMode
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:95,1
    - Dst: setColor
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:96,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:96,1
    - Dst: installEventFilter
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:98,1
    - Dst: std::make_unique<Win7NativeEventFilter>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:99,1
    - Dst: installNativeEventFilter
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:100,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:100,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:101,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:101,1
    - Dst: winId
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:104,1
    - Dst: commonGUICreate
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:106,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:106,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:106,1
    - Dst: aboutToShowQuickWindowCallback
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:111,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:111,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 2
    argNames:
    - mainCtx
    - aboutToShowQuickWindowCallback
    argTypes:
    - MainCtx*
    - std::function<void (QQuickWindow *)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 116
    functionName: CompositorWin7::makeMainInterface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp
    functionUses: 0
    functionsReached:
    - setContextMenuPolicy
    - setAutoFillBackground
    - connect
    - setPalette
    - setVisible
    - std::make_unique<QQuickView>
    - installNativeEventFilter
    - setResizeMode
    - setColor
    - get
    - palette
    - setMouseTracking
    - std::make_unique<Win7NativeEventFilter>
    - commonGUICreate
    - QWidget::QWidget
    - QPalette::setColor
    - aboutToShowQuickWindowCallback
    - winId
    - QColor
    - DwmSetWindowAttribute
    - setAttribute
    - installEventFilter
    linkageType: ''
    returnType: bool
    signature: bool CompositorWin7::makeMainInterface(MainCtx* mainCtx, std::function<void
      (QQuickWindow *)> aboutToShowQuickWindowCallback)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: commonIntfDestroy
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: CompositorWin7::destroyMainInterface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp
    functionUses: 0
    functionsReached:
    - commonIntfDestroy
    linkageType: ''
    returnType: void
    signature: void CompositorWin7::destroyMainInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:130,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:131,1
    - Dst: commonGUIDestroy
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: CompositorWin7::unloadGUI
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp
    functionUses: 0
    functionsReached:
    - commonGUIDestroy
    - reset
    linkageType: ''
    returnType: void
    signature: void CompositorWin7::unloadGUI()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DwmIsCompositionEnabled
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:141,1
    - Dst: FAILED
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:145,1
    - Dst: commonSetupVoutWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:148,1
    - Dst: winId
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - p_wnd
    - destroyCb
    argTypes:
    - vlc_window_t*
    - VoutDestroyCb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 153
    functionName: CompositorWin7::setupVoutWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp
    functionUses: 0
    functionsReached:
    - DwmIsCompositionEnabled
    - FAILED
    - commonSetupVoutWindow
    - winId
    linkageType: ''
    returnType: bool
    signature: bool CompositorWin7::setupVoutWindow(vlc_window_t *p_wnd, VoutDestroyCb
      destroyCb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: CompositorWin7::interfaceMainWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: QWindow
    signature: QWindow *CompositorWin7::interfaceMainWindow() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: CompositorWin7::type
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Compositor::Type
    signature: Compositor::Type CompositorWin7::type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompositorWin7::activeFocusItem
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: CompositorWin7::activeFocusItem
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp
    functionUses: 1
    functionsReached:
    - CompositorWin7::activeFocusItem
    linkageType: ''
    returnType: QQuickItem
    signature: QQuickItem * CompositorWin7::activeFocusItem() const
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:175,1
    - Dst: setGeometry
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:180,1
    - Dst: geometry
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:180,1
    - Dst: CompositorWin7::resetVideoZOrder
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:181,1
    - Dst: windowStates
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:184,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:185,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:188,1
    - Dst: setGeometry
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:189,1
    - Dst: geometry
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:189,1
    - Dst: CompositorWin7::resetVideoZOrder
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:190,1
    - Dst: CompositorWin7::resetVideoZOrder
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:195,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:198,1
    - Dst: CompositorWin7::resetVideoZOrder
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:199,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:202,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - ev
    argTypes:
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 170
    functionDepth: 3
    functionLinenumber: 170
    functionLinenumberEnd: 209
    functionName: CompositorWin7::eventFilter
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp
    functionUses: 0
    functionsReached:
    - geometry
    - setGeometry
    - hide
    - QEvent*::type
    - CompositorWin7::resetVideoZOrder
    - windowStates
    - setVisible
    linkageType: ''
    returnType: bool
    signature: bool CompositorWin7::eventFilter(QObject*, QEvent* ev)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setGeometry
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:218,1
    - Dst: x
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:218,1
    - Dst: y
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:218,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:219,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:219,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:220,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:221,1
    - Dst: resize
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:227,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:228,1
    - Dst: move
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:232,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 236
    functionName: CompositorWin7::commitSurface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp
    functionUses: 0
    functionsReached:
    - setGeometry
    - resize
    - height
    - x
    - width
    - reset
    - move
    - y
    linkageType: ''
    returnType: void
    signature: void CompositorWin7::commitSurface()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:246,1
    - Dst: SetWindowPos
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 255
    functionName: CompositorWin7::resetVideoZOrder
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp
    functionUses: 1
    functionsReached:
    - SetWindowPos
    - GetWindow
    linkageType: ''
    returnType: void
    signature: void CompositorWin7::resetVideoZOrder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:259,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:260,1
    - Dst: QPointF::x
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:260,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:260,1
    - Dst: QPointF::y
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' position'
    argTypes:
    - QPointF
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: CompositorWin7::onSurfacePositionChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp
    functionUses: 0
    functionsReached:
    - QPointF::y
    - QPointF::x
    - static_cast<int>
    - window
    linkageType: ''
    returnType: void
    signature: void CompositorWin7::onSurfacePositionChanged(const QPointF& position)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:265,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:266,1
    - Dst: std::ceil
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:266,1
    - Dst: QSizeF::width
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:266,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:266,1
    - Dst: std::ceil
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:266,1
    - Dst: QSizeF::height
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' size'
    argTypes:
    - QSizeF
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: CompositorWin7::onSurfaceSizeChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp
    functionUses: 0
    functionsReached:
    - QSizeF::width
    - static_cast<int>
    - window
    - QSizeF::height
    - std::ceil
    linkageType: ''
    returnType: void
    signature: void CompositorWin7::onSurfaceSizeChanged(const QSizeF& size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: Win7NativeEventFilter::Win7NativeEventFilter
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Win7NativeEventFilter::Win7NativeEventFilter(QObject* parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MSG*>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - message
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 288
    functionName: Win7NativeEventFilter::nativeEventFilter
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_win7.cpp
    functionUses: 0
    functionsReached:
    - static_cast<MSG*>
    linkageType: ''
    returnType: bool
    signature: bool Win7NativeEventFilter::nativeEventFilter(const QByteArray&, void*
      message, qintptr*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_intf
    - parent
    argTypes:
    - qt_intf_t*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: vlc::CompositorDummy::CompositorDummy
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompositorDummy::CompositorDummy(qt_intf_t *p_intf, QObject* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: CompositorDummy::~CompositorDummy()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompositorDummy::~CompositorDummy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: vlc::CompositorDummy::init
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CompositorDummy::init()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QQuickWindow::setDefaultAlphaBuffer
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:49,1
    - Dst: std::make_unique<QQuickView>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:51,1
    - Dst: setResizeMode
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:52,1
    - Dst: create
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:54,1
    - Dst: std::make_unique<InterfaceWindowHandlerWin32>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:57,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:57,1
    - Dst: std::make_unique<InterfaceWindowHandler>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:59,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:59,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:62,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:62,1
    - Dst: MainUI::MainUI
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:62,1
    - Dst: MainUI*::setup
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:63,1
    - Dst: engine
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:63,1
    - Dst: MainUI*::createRootItem
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:66,1
    - Dst: setContent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:69,1
    - Dst: QUrl
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:69,1
    - Dst: aboutToShowQuickWindowCallback
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:72,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:72,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - mainCtx
    - aboutToShowQuickWindowCallback
    argTypes:
    - MainCtx*
    - std::function<void (QQuickWindow *)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 77
    functionName: vlc::CompositorDummy::makeMainInterface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp
    functionUses: 0
    functionsReached:
    - QQuickWindow::setDefaultAlphaBuffer
    - create
    - std::make_unique<InterfaceWindowHandler>
    - std::make_unique<InterfaceWindowHandlerWin32>
    - std::make_unique<QQuickView>
    - setResizeMode
    - get
    - QUrl
    - MainUI*::setup
    - engine
    - setContent
    - MainUI*::createRootItem
    - MainUI::MainUI
    - aboutToShowQuickWindowCallback
    - setVisible
    linkageType: ''
    returnType: bool
    signature: bool CompositorDummy::makeMainInterface(MainCtx* mainCtx, std::function<void
      (QQuickWindow *)> aboutToShowQuickWindowCallback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: vlc::CompositorDummy::interfaceMainWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: QWindow
    signature: QWindow * CompositorDummy::interfaceMainWindow() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::CompositorDummy::unloadGUI
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: vlc::CompositorDummy::destroyMainInterface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp
    functionUses: 0
    functionsReached:
    - vlc::CompositorDummy::unloadGUI
    linkageType: ''
    returnType: void
    signature: void CompositorDummy::destroyMainInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:91,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: vlc::CompositorDummy::unloadGUI
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp
    functionUses: 1
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void CompositorDummy::unloadGUI()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: vlc::CompositorDummy::setupVoutWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CompositorDummy::setupVoutWindow(vlc_window_t*, VoutDestroyCb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: vlc::CompositorDummy::type
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Compositor::Type
    signature: Compositor::Type CompositorDummy::type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::CompositorDummy::activeFocusItem
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: vlc::CompositorDummy::activeFocusItem
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp
    functionUses: 1
    functionsReached:
    - vlc::CompositorDummy::activeFocusItem
    linkageType: ''
    returnType: QQuickItem
    signature: QQuickItem * CompositorDummy::activeFocusItem() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_intf
    - parent
    argTypes:
    - qt_intf_t*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: vlc::CompositorDummy::CompositorDummy
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompositorDummy::CompositorDummy(qt_intf_t *p_intf, QObject* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: CompositorDummy::~CompositorDummy()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompositorDummy::~CompositorDummy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: vlc::CompositorDummy::init
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CompositorDummy::init()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QQuickWindow::setDefaultAlphaBuffer
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:49,1
    - Dst: std::make_unique<QQuickView>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:51,1
    - Dst: setResizeMode
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:52,1
    - Dst: create
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:54,1
    - Dst: std::make_unique<InterfaceWindowHandlerWin32>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:57,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:57,1
    - Dst: std::make_unique<InterfaceWindowHandler>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:59,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:59,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:62,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:62,1
    - Dst: MainUI::MainUI
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:62,1
    - Dst: MainUI*::setup
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:63,1
    - Dst: engine
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:63,1
    - Dst: MainUI*::createRootItem
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:66,1
    - Dst: setContent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:69,1
    - Dst: QUrl
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:69,1
    - Dst: aboutToShowQuickWindowCallback
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:72,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:72,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - mainCtx
    - aboutToShowQuickWindowCallback
    argTypes:
    - MainCtx*
    - std::function<void (QQuickWindow *)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 77
    functionName: vlc::CompositorDummy::makeMainInterface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp
    functionUses: 0
    functionsReached:
    - QQuickWindow::setDefaultAlphaBuffer
    - create
    - std::make_unique<InterfaceWindowHandler>
    - std::make_unique<InterfaceWindowHandlerWin32>
    - std::make_unique<QQuickView>
    - setResizeMode
    - get
    - QUrl
    - MainUI*::setup
    - engine
    - setContent
    - MainUI*::createRootItem
    - MainUI::MainUI
    - aboutToShowQuickWindowCallback
    - setVisible
    linkageType: ''
    returnType: bool
    signature: bool CompositorDummy::makeMainInterface(MainCtx* mainCtx, std::function<void
      (QQuickWindow *)> aboutToShowQuickWindowCallback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: vlc::CompositorDummy::interfaceMainWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: QWindow
    signature: QWindow * CompositorDummy::interfaceMainWindow() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::CompositorDummy::unloadGUI
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: vlc::CompositorDummy::destroyMainInterface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp
    functionUses: 0
    functionsReached:
    - vlc::CompositorDummy::unloadGUI
    linkageType: ''
    returnType: void
    signature: void CompositorDummy::destroyMainInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:91,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: vlc::CompositorDummy::unloadGUI
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp
    functionUses: 2
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void CompositorDummy::unloadGUI()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: vlc::CompositorDummy::setupVoutWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CompositorDummy::setupVoutWindow(vlc_window_t*, VoutDestroyCb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: vlc::CompositorDummy::type
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Compositor::Type
    signature: Compositor::Type CompositorDummy::type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::CompositorDummy::activeFocusItem
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: vlc::CompositorDummy::activeFocusItem
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dummy.cpp
    functionUses: 2
    functionsReached:
    - vlc::CompositorDummy::activeFocusItem
    linkageType: ''
    returnType: QQuickItem
    signature: QQuickItem * CompositorDummy::activeFocusItem() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QQuickWindow*::handle
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:43,1
    - Dst: QPlatformWindow*::devicePixelRatio
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - window
    argTypes:
    - QQuickWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: vlc::dprForWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 0
    functionsReached:
    - QPlatformWindow*::devicePixelRatio
    - QQuickWindow*::handle
    linkageType: ''
    returnType: qreal
    signature: qreal dprForWindow(QQuickWindow* window)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_intf
    - parent
    argTypes:
    - qt_intf_t*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: vlc::CompositorWayland::CompositorWayland
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompositorWayland::CompositorWayland(qt_intf_t *p_intf, QObject*
      parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unloadWaylandModule
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: CompositorWayland::~CompositorWayland()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 0
    functionsReached:
    - unloadWaylandModule
    linkageType: ''
    returnType: void
    signature: void CompositorWayland::~CompositorWayland()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QGuiApplication::platformNativeInterface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:62,1
    - Dst: QPlatformNativeInterface*::nativeResourceForIntegration
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:66,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:74,1
    - Dst: static_cast<qtwayland_t*>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:75,1
    - Dst: vlc_object_create
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:75,1
    - Dst: module_need
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:79,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:82,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:84,1
    - Dst: vlc::CompositorWayland::init
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!m_waylandImpl)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    constantsTouched: []
    func_position:
      end: 91
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 91
    functionName: vlc::CompositorWayland::init
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 1
    functionsReached:
    - QGuiApplication::platformNativeInterface
    - assert
    - vlc::CompositorWayland::init
    - static_cast<qtwayland_t*>
    - QPlatformNativeInterface*::nativeResourceForIntegration
    - vlc_object_create
    - msg_Err
    - vlc_object_delete
    - module_need
    linkageType: ''
    returnType: bool
    signature: bool CompositorWayland::init()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:95,1
    - Dst: std::make_unique<QQuickView>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:98,1
    - Dst: setResizeMode
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:99,1
    - Dst: setColor
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:100,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:100,1
    - Dst: installEventFilter
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:102,1
    - Dst: create
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:104,1
    - Dst: QGuiApplication::platformNativeInterface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:106,1
    - Dst: QPlatformNativeInterface*::nativeResourceForWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:107,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:107,1
    - Dst: setupInterface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:111,1
    - Dst: dprForWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:111,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:111,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:116,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:117,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:118,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:119,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:120,1
    - Dst: dynamic_cast<QNativeInterface::Private::QWaylandWindow *>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:122,1
    - Dst: auto::handle
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:122,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:123,1
    - Dst: auto::setCustomMargins
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:125,1
    - Dst: commonGUICreate
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:131,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:131,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:131,1
    - Dst: aboutToShowQuickWindowCallback
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:136,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:136,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - mainCtx
    - aboutToShowQuickWindowCallback
    argTypes:
    - MainCtx*
    - std::function<void(QQuickWindow*)>
    assertStmts:
    - condition: (quickViewPtr)
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    - condition: (mainCtx)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    - condition: (waylandWindow)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    constantsTouched: []
    func_position:
      end: 141
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 141
    functionName: vlc::CompositorWayland::makeMainInterface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 0
    functionsReached:
    - assert
    - QPlatformNativeInterface*::nativeResourceForWindow
    - dprForWindow
    - connect
    - setVisible
    - create
    - setupInterface
    - std::make_unique<QQuickView>
    - setResizeMode
    - setColor
    - get
    - dynamic_cast<QNativeInterface::Private::QWaylandWindow *>
    - QGuiApplication::platformNativeInterface
    - commonGUICreate
    - auto::handle
    - aboutToShowQuickWindowCallback
    - auto::setCustomMargins
    - QColor
    - installEventFilter
    linkageType: ''
    returnType: bool
    signature: bool CompositorWayland::makeMainInterface(MainCtx* mainCtx, std::function<void(QQuickWindow*)>
      aboutToShowQuickWindowCallback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: vlc::CompositorWayland::interfaceMainWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: QWindow
    signature: QWindow * CompositorWayland::interfaceMainWindow() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::CompositorWayland::unloadGUI
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:150,1
    - Dst: vlc::CompositorWayland::unloadWaylandModule
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:154,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:155,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!m_waylandImpl)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    constantsTouched: []
    func_position:
      end: 157
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 157
    functionName: vlc::CompositorWayland::destroyMainInterface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 0
    functionsReached:
    - vlc::CompositorWayland::unloadGUI
    - vlc::CompositorWayland::unloadWaylandModule
    - assert
    - reset
    linkageType: ''
    returnType: void
    signature: void CompositorWayland::destroyMainInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:162,1
    - Dst: setSource
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:168,1
    - Dst: QUrl
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:168,1
    - Dst: commonGUIDestroy
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 171
    functionName: vlc::CompositorWayland::unloadGUI
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 1
    functionsReached:
    - commonGUIDestroy
    - QUrl
    - setSource
    - reset
    linkageType: ''
    returnType: void
    signature: void CompositorWayland::unloadGUI()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:175,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:178,1
    - Dst: static_cast<QPlatformSurfaceEvent *>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:179,1
    - Dst: vlc::CompositorWayland::unloadWaylandModule
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:181,1
    - Dst: QuitSpy::eventFilter
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - watched
    - event
    argTypes:
    - QObject*
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 189
    functionName: vlc::CompositorWayland::eventFilter
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 0
    functionsReached:
    - vlc::CompositorWayland::unloadWaylandModule
    - QEvent*::type
    - get
    - static_cast<QPlatformSurfaceEvent *>
    - QuitSpy::eventFilter
    linkageType: ''
    returnType: bool
    signature: bool CompositorWayland::eventFilter(QObject *watched, QEvent *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: vlc::CompositorWayland::type
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Compositor::Type
    signature: Compositor::Type CompositorWayland::type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::CompositorWayland::activeFocusItem
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: vlc::CompositorWayland::activeFocusItem
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 1
    functionsReached:
    - vlc::CompositorWayland::activeFocusItem
    linkageType: ''
    returnType: QQuickItem
    signature: QQuickItem * CompositorWayland::activeFocusItem() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc::CompositorWayland::setupVoutWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:208,1
    - Dst: commonSetupVoutWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - p_wnd
    - destroyCb
    argTypes:
    - vlc_window_t*
    - VoutDestroyCb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 215
    functionName: vlc::CompositorWayland::setupVoutWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 1
    functionsReached:
    - commonSetupVoutWindow
    - vlc::CompositorWayland::setupVoutWindow
    linkageType: ''
    returnType: bool
    signature: bool CompositorWayland::setupVoutWindow(vlc_window_t* p_wnd, VoutDestroyCb
      destroyCb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teardownVoutWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:219,1
    - Dst: CompositorVideo::windowDestroy
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 3
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: vlc::CompositorWayland::windowDestroy
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 0
    functionsReached:
    - teardownVoutWindow
    - CompositorVideo::windowDestroy
    linkageType: ''
    returnType: void
    signature: void CompositorWayland::windowDestroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enable
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:225,1
    - Dst: commonWindowEnable
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - vlc_window_cfg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: vlc::CompositorWayland::windowEnable
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 0
    functionsReached:
    - enable
    - commonWindowEnable
    linkageType: ''
    returnType: int
    signature: int CompositorWayland::windowEnable(const vlc_window_cfg_t * cfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: disable
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:232,1
    - Dst: commonWindowDisable
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: vlc::CompositorWayland::windowDisable
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 0
    functionsReached:
    - commonWindowDisable
    - disable
    linkageType: ''
    returnType: void
    signature: void CompositorWayland::windowDisable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:238,1
    - Dst: vlc::CompositorWayland::commitSurface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_waylandImpl)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: vlc::CompositorWayland::commitSurface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 1
    functionsReached:
    - assert
    - vlc::CompositorWayland::commitSurface
    linkageType: ''
    returnType: void
    signature: void CompositorWayland::commitSurface()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: frameMargins
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:244,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:246,1
    - Dst: dprForWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:247,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:247,1
    - Dst: move
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:251,1
    - Dst: QMargins::left
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:253,1
    - Dst: x
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:253,1
    - Dst: QMargins::top
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:254,1
    - Dst: y
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' position'
    argTypes:
    - QPointF
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 257
    functionName: vlc::CompositorWayland::onSurfacePositionChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 0
    functionsReached:
    - get
    - x
    - dprForWindow
    - move
    - QMargins::left
    - QMargins::top
    - y
    - frameMargins
    linkageType: ''
    returnType: void
    signature: void CompositorWayland::onSurfacePositionChanged(const QPointF& position)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dprForWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:261,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:261,1
    - Dst: resize
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:265,1
    - Dst: std::ceil
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:266,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:266,1
    - Dst: std::ceil
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:267,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' size'
    argTypes:
    - QSizeF
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 269
    functionName: vlc::CompositorWayland::onSurfaceSizeChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 0
    functionsReached:
    - resize
    - get
    - width
    - height
    - std::ceil
    - dprForWindow
    linkageType: ''
    returnType: void
    signature: void CompositorWayland::onSurfaceSizeChanged(const QSizeF& size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:273,1
    - Dst: rescale
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dpr
    argTypes:
    - qreal
    assertStmts:
    - condition: (m_waylandImpl)
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    constantsTouched: []
    func_position:
      end: 276
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 276
    functionName: vlc::CompositorWayland::onSurfaceScaleChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 0
    functionsReached:
    - assert
    - rescale
    linkageType: ''
    returnType: void
    signature: void CompositorWayland::onSurfaceScaleChanged(qreal dpr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:284,1
    - Dst: module_unneed
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:285,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 292
    functionName: vlc::CompositorWayland::unloadWaylandModule
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 2
    functionsReached:
    - module_unneed
    - vlc_object_delete
    - close
    linkageType: ''
    returnType: bool
    signature: bool CompositorWayland::unloadWaylandModule()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:297,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:298,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:300,1
    - Dst: p_mi::windowExtendedMargin
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:300,1
    - Dst: p_mi::CSDBorderSize
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:300,1
    - Dst: setMask
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:308,1
    - Dst: QRect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:308,1
    - Dst: QPoint
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:308,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:308,1
    - Dst: setMask
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:315,1
    - Dst: QRegion
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_intf)
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    - condition: (m_intf->p_mi)
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    constantsTouched: []
    func_position:
      end: 317
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 317
    functionName: vlc::CompositorWayland::adjustQuickWindowMask
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 0
    functionsReached:
    - assert
    - static_cast<int>
    - QPoint
    - size
    - QRegion
    - QRect
    - p_mi::CSDBorderSize
    - setMask
    - p_mi::windowExtendedMargin
    linkageType: ''
    returnType: void
    signature: void CompositorWayland::adjustQuickWindowMask()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QQuickWindow*::handle
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:43,1
    - Dst: QPlatformWindow*::devicePixelRatio
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - window
    argTypes:
    - QQuickWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: vlc::dprForWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 0
    functionsReached:
    - QPlatformWindow*::devicePixelRatio
    - QQuickWindow*::handle
    linkageType: ''
    returnType: qreal
    signature: qreal dprForWindow(QQuickWindow* window)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_intf
    - parent
    argTypes:
    - qt_intf_t*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: vlc::CompositorWayland::CompositorWayland
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompositorWayland::CompositorWayland(qt_intf_t *p_intf, QObject*
      parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unloadWaylandModule
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: CompositorWayland::~CompositorWayland()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 0
    functionsReached:
    - unloadWaylandModule
    linkageType: ''
    returnType: void
    signature: void CompositorWayland::~CompositorWayland()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QGuiApplication::platformNativeInterface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:62,1
    - Dst: QPlatformNativeInterface*::nativeResourceForIntegration
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:66,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:74,1
    - Dst: static_cast<qtwayland_t*>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:75,1
    - Dst: vlc_object_create
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:75,1
    - Dst: module_need
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:79,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:82,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:84,1
    - Dst: vlc::CompositorWayland::init
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!m_waylandImpl)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    constantsTouched: []
    func_position:
      end: 91
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 91
    functionName: vlc::CompositorWayland::init
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 2
    functionsReached:
    - QGuiApplication::platformNativeInterface
    - assert
    - vlc::CompositorWayland::init
    - static_cast<qtwayland_t*>
    - QPlatformNativeInterface*::nativeResourceForIntegration
    - vlc_object_create
    - msg_Err
    - vlc_object_delete
    - module_need
    linkageType: ''
    returnType: bool
    signature: bool CompositorWayland::init()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:95,1
    - Dst: std::make_unique<QQuickView>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:98,1
    - Dst: setResizeMode
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:99,1
    - Dst: setColor
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:100,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:100,1
    - Dst: installEventFilter
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:102,1
    - Dst: create
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:104,1
    - Dst: QGuiApplication::platformNativeInterface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:106,1
    - Dst: QPlatformNativeInterface*::nativeResourceForWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:107,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:107,1
    - Dst: setupInterface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:111,1
    - Dst: dprForWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:111,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:111,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:116,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:117,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:118,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:119,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:120,1
    - Dst: dynamic_cast<QNativeInterface::Private::QWaylandWindow *>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:122,1
    - Dst: auto::handle
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:122,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:123,1
    - Dst: auto::setCustomMargins
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:125,1
    - Dst: commonGUICreate
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:131,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:131,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:131,1
    - Dst: aboutToShowQuickWindowCallback
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:136,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:136,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - mainCtx
    - aboutToShowQuickWindowCallback
    argTypes:
    - MainCtx*
    - std::function<void(QQuickWindow*)>
    assertStmts:
    - condition: (quickViewPtr)
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    - condition: (mainCtx)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    - condition: (waylandWindow)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    constantsTouched: []
    func_position:
      end: 141
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 141
    functionName: vlc::CompositorWayland::makeMainInterface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 0
    functionsReached:
    - assert
    - QPlatformNativeInterface*::nativeResourceForWindow
    - dprForWindow
    - connect
    - setVisible
    - create
    - setupInterface
    - std::make_unique<QQuickView>
    - setResizeMode
    - setColor
    - get
    - dynamic_cast<QNativeInterface::Private::QWaylandWindow *>
    - QGuiApplication::platformNativeInterface
    - commonGUICreate
    - auto::handle
    - aboutToShowQuickWindowCallback
    - auto::setCustomMargins
    - QColor
    - installEventFilter
    linkageType: ''
    returnType: bool
    signature: bool CompositorWayland::makeMainInterface(MainCtx* mainCtx, std::function<void(QQuickWindow*)>
      aboutToShowQuickWindowCallback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: vlc::CompositorWayland::interfaceMainWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: QWindow
    signature: QWindow * CompositorWayland::interfaceMainWindow() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::CompositorWayland::unloadGUI
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:150,1
    - Dst: vlc::CompositorWayland::unloadWaylandModule
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:154,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:155,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!m_waylandImpl)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    constantsTouched: []
    func_position:
      end: 157
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 157
    functionName: vlc::CompositorWayland::destroyMainInterface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 0
    functionsReached:
    - vlc::CompositorWayland::unloadGUI
    - vlc::CompositorWayland::unloadWaylandModule
    - assert
    - reset
    linkageType: ''
    returnType: void
    signature: void CompositorWayland::destroyMainInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:162,1
    - Dst: setSource
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:168,1
    - Dst: QUrl
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:168,1
    - Dst: commonGUIDestroy
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 171
    functionName: vlc::CompositorWayland::unloadGUI
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 2
    functionsReached:
    - commonGUIDestroy
    - QUrl
    - setSource
    - reset
    linkageType: ''
    returnType: void
    signature: void CompositorWayland::unloadGUI()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:175,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:178,1
    - Dst: static_cast<QPlatformSurfaceEvent *>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:179,1
    - Dst: vlc::CompositorWayland::unloadWaylandModule
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:181,1
    - Dst: QuitSpy::eventFilter
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - watched
    - event
    argTypes:
    - QObject*
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 189
    functionName: vlc::CompositorWayland::eventFilter
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 0
    functionsReached:
    - vlc::CompositorWayland::unloadWaylandModule
    - QEvent*::type
    - get
    - static_cast<QPlatformSurfaceEvent *>
    - QuitSpy::eventFilter
    linkageType: ''
    returnType: bool
    signature: bool CompositorWayland::eventFilter(QObject *watched, QEvent *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: vlc::CompositorWayland::type
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Compositor::Type
    signature: Compositor::Type CompositorWayland::type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::CompositorWayland::activeFocusItem
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: vlc::CompositorWayland::activeFocusItem
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 2
    functionsReached:
    - vlc::CompositorWayland::activeFocusItem
    linkageType: ''
    returnType: QQuickItem
    signature: QQuickItem * CompositorWayland::activeFocusItem() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc::CompositorWayland::setupVoutWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:208,1
    - Dst: commonSetupVoutWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - p_wnd
    - destroyCb
    argTypes:
    - vlc_window_t*
    - VoutDestroyCb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 215
    functionName: vlc::CompositorWayland::setupVoutWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 2
    functionsReached:
    - commonSetupVoutWindow
    - vlc::CompositorWayland::setupVoutWindow
    linkageType: ''
    returnType: bool
    signature: bool CompositorWayland::setupVoutWindow(vlc_window_t* p_wnd, VoutDestroyCb
      destroyCb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teardownVoutWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:219,1
    - Dst: CompositorVideo::windowDestroy
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 3
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: vlc::CompositorWayland::windowDestroy
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 0
    functionsReached:
    - teardownVoutWindow
    - CompositorVideo::windowDestroy
    linkageType: ''
    returnType: void
    signature: void CompositorWayland::windowDestroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enable
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:225,1
    - Dst: commonWindowEnable
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - vlc_window_cfg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: vlc::CompositorWayland::windowEnable
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 0
    functionsReached:
    - enable
    - commonWindowEnable
    linkageType: ''
    returnType: int
    signature: int CompositorWayland::windowEnable(const vlc_window_cfg_t * cfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: disable
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:232,1
    - Dst: commonWindowDisable
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: vlc::CompositorWayland::windowDisable
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 0
    functionsReached:
    - commonWindowDisable
    - disable
    linkageType: ''
    returnType: void
    signature: void CompositorWayland::windowDisable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:238,1
    - Dst: vlc::CompositorWayland::commitSurface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_waylandImpl)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: vlc::CompositorWayland::commitSurface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 2
    functionsReached:
    - assert
    - vlc::CompositorWayland::commitSurface
    linkageType: ''
    returnType: void
    signature: void CompositorWayland::commitSurface()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: frameMargins
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:244,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:246,1
    - Dst: dprForWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:247,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:247,1
    - Dst: move
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:251,1
    - Dst: QMargins::left
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:253,1
    - Dst: x
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:253,1
    - Dst: QMargins::top
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:254,1
    - Dst: y
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' position'
    argTypes:
    - QPointF
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 257
    functionName: vlc::CompositorWayland::onSurfacePositionChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 0
    functionsReached:
    - get
    - x
    - dprForWindow
    - move
    - QMargins::left
    - QMargins::top
    - y
    - frameMargins
    linkageType: ''
    returnType: void
    signature: void CompositorWayland::onSurfacePositionChanged(const QPointF& position)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dprForWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:261,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:261,1
    - Dst: resize
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:265,1
    - Dst: std::ceil
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:266,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:266,1
    - Dst: std::ceil
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:267,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' size'
    argTypes:
    - QSizeF
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 269
    functionName: vlc::CompositorWayland::onSurfaceSizeChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 0
    functionsReached:
    - resize
    - get
    - width
    - height
    - std::ceil
    - dprForWindow
    linkageType: ''
    returnType: void
    signature: void CompositorWayland::onSurfaceSizeChanged(const QSizeF& size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:273,1
    - Dst: rescale
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dpr
    argTypes:
    - qreal
    assertStmts:
    - condition: (m_waylandImpl)
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    constantsTouched: []
    func_position:
      end: 276
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 276
    functionName: vlc::CompositorWayland::onSurfaceScaleChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 0
    functionsReached:
    - assert
    - rescale
    linkageType: ''
    returnType: void
    signature: void CompositorWayland::onSurfaceScaleChanged(qreal dpr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:284,1
    - Dst: module_unneed
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:285,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 292
    functionName: vlc::CompositorWayland::unloadWaylandModule
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 4
    functionsReached:
    - module_unneed
    - vlc_object_delete
    - close
    linkageType: ''
    returnType: bool
    signature: bool CompositorWayland::unloadWaylandModule()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:297,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:298,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:300,1
    - Dst: p_mi::windowExtendedMargin
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:300,1
    - Dst: p_mi::CSDBorderSize
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:300,1
    - Dst: setMask
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:308,1
    - Dst: QRect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:308,1
    - Dst: QPoint
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:308,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:308,1
    - Dst: setMask
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:315,1
    - Dst: QRegion
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_intf)
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    - condition: (m_intf->p_mi)
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    constantsTouched: []
    func_position:
      end: 317
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 317
    functionName: vlc::CompositorWayland::adjustQuickWindowMask
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.cpp
    functionUses: 0
    functionsReached:
    - assert
    - static_cast<int>
    - QPoint
    - size
    - QRegion
    - QRect
    - p_mi::CSDBorderSize
    - setMask
    - p_mi::windowExtendedMargin
    linkageType: ''
    returnType: void
    signature: void CompositorWayland::adjustQuickWindowMask()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - obj
    - name
    argTypes:
    - vlc_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: loadVLCOption
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached:
    - var_InheritInteger
    linkageType: ''
    returnType: int
    signature: int loadVLCOption<int>(vlc_object_t *obj, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - obj
    - name
    argTypes:
    - vlc_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: loadVLCOption
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached:
    - var_InheritFloat
    linkageType: ''
    returnType: float
    signature: float loadVLCOption<float>(vlc_object_t *obj, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - obj
    - name
    argTypes:
    - vlc_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: loadVLCOption
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached:
    - var_InheritBool
    linkageType: ''
    returnType: bool
    signature: bool loadVLCOption<bool>(vlc_object_t *obj, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - obj
    - name
    argTypes:
    - vlc_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: loadVLCOption
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached:
    - var_InheritInteger
    linkageType: ''
    returnType: int
    signature: int loadVLCOption<int>(vlc_object_t *obj, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - obj
    - name
    argTypes:
    - vlc_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: loadVLCOption
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached:
    - var_InheritFloat
    linkageType: ''
    returnType: float
    signature: float loadVLCOption<float>(vlc_object_t *obj, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - obj
    - name
    argTypes:
    - vlc_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: loadVLCOption
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached:
    - var_InheritBool
    linkageType: ''
    returnType: bool
    signature: bool loadVLCOption<bool>(vlc_object_t *obj, const char *name)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<CSDButtonModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:136,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:142,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:150,1
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:161,1
    - Dst: ColorSchemeModel::ColorSchemeModel
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:162,1
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:164,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:165,1
    - Dst: styleHints
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:166,1
    - Dst: unlikely
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:167,1
    - Dst: currentScheme
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:171,1
    - Dst: QStyleHints*::unsetColorScheme
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:181,1
    - Dst: QStyleHints*::setColorScheme
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:185,1
    - Dst: SortCtx::SortCtx
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:189,1
    - Dst: SearchCtx::SearchCtx
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:190,1
    - Dst: SidePanelCtx::SidePanelCtx
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:191,1
    - Dst: SidePanelCtx::SidePanelCtx
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:192,1
    - Dst: dummy_make_current
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:195,1
    - Dst: QOperatingSystemVersion::type
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:196,1
    - Dst: QOperatingSystemVersion::majorVersion
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:205,1
    - Dst: MainCtx::loadPrefs
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:207,1
    - Dst: MainCtx::loadFromSettingsImpl
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:208,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:211,1
    - Dst: VLCVarChoiceModel::VLCVarChoiceModel
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:211,1
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:213,1
    - Dst: MediaLib::MediaLib
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:216,1
    - Dst: ControlbarProfileModel::ControlbarProfileModel
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:220,1
    - Dst: QUrl::fromLocalFile
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:222,1
    - Dst: QVLCUserDir
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:222,1
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:223,1
    - Dst: QGuiApplication::platformName
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:225,1
    - Dst: QString::startsWith
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:227,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:227,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:233,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:245,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:250,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:258,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:259,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:260,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:261,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:264,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:266,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:269,1
    - Dst: firstRunDialog
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:270,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:275,1
    - Dst: vlc_preparser_New
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:286,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:286,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:290,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:291,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:293,1
    - Dst: QDate::currentDate
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:294,1
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:295,1
    - Dst: MainCtx::getUpdateModel
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:298,1
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:299,1
    - Dst: QDate::currentDate
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:299,1
    - Dst: ThreadRunner::ThreadRunner
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:304,1
    - Dst: MainCtx::getEffectiveMainInterfaceMode
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:306,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 78
    argCount: 1
    argNames:
    - _p_intf
    argTypes:
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 307
    functionName: MainCtx::MainCtx
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 1
    functionsReached:
    - QVLCUserDir
    - std::make_unique<CSDButtonModel>
    - connect
    - QT_VERSION_CHECK
    - ColorSchemeModel::ColorSchemeModel
    - QUrl::fromLocalFile
    - VLCVarChoiceModel::VLCVarChoiceModel
    - MainCtx::getUpdateModel
    - QOperatingSystemVersion::type
    - var_AddCallback
    - QDate::currentDate
    - ThreadRunner::ThreadRunner
    - SortCtx::SortCtx
    - dummy_make_current
    - MainCtx::loadPrefs
    - QString::startsWith
    - SidePanelCtx::SidePanelCtx
    - vlc_ml_instance_get
    - QStyleHints*::setColorScheme
    - vlc_preparser_New
    - QMetaObject::invokeMethod
    - var_InheritInteger
    - var_InheritBool
    - vlc_object_instance
    - QOperatingSystemVersion::majorVersion
    - MainCtx::getEffectiveMainInterfaceMode
    - SearchCtx::SearchCtx
    - QStyleHints*::unsetColorScheme
    - MainCtx::loadFromSettingsImpl
    - QLatin1String
    - vlc_playlist_Count
    - styleHints
    - MediaLib::MediaLib
    - firstRunDialog
    - QGuiApplication::platformName
    - ControlbarProfileModel::ControlbarProfileModel
    - VLC_OBJECT
    - currentScheme
    - unlikely
    - getSettings
    linkageType: ''
    returnType: void
    signature: void MainCtx::MainCtx(qt_intf_t *_p_intf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: destroy
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:313,1
    - Dst: beginGroup
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:317,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:318,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:319,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:319,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:322,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:323,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:324,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:324,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:326,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:327,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:327,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:329,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:329,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:330,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:330,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:332,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:333,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:335,1
    - Dst: currentIndex
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:335,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:337,1
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:339,1
    - Dst: endGroup
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:342,1
    - Dst: remove
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:346,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:349,1
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:350,1
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:352,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:355,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:356,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:357,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:358,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:359,1
    - Dst: vlc_preparser_Delete
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:365,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 368
    functionName: MainCtx::~MainCtx()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached:
    - getSettings
    - beginGroup
    - var_InheritBool
    - remove
    - vlc_object_instance
    - destroy
    - var_DelCallback
    - vlc_preparser_Delete
    - vlclua_io_file_read_number
    - endGroup
    - setValue
    - currentIndex
    linkageType: ''
    returnType: void
    signature: void MainCtx::~MainCtx()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 376
    functionName: MainCtx::hasVLM
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MainCtx::hasVLM() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 382
    functionName: MainCtx::useClientSideDecoration
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MainCtx::useClientSideDecoration() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 386
    functionName: MainCtx::hasFirstrun
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached:
    - var_InheritBool
    linkageType: ''
    returnType: bool
    signature: bool MainCtx::hasFirstrun() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - useShortcuts
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 394
    functionName: MainCtx::setUseGlobalShortcuts
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MainCtx::setUseGlobalShortcuts( bool useShortcuts )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - support
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 401
    functionName: MainCtx::setWindowSuportExtendedFrame
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MainCtx::setWindowSuportExtendedFrame(bool support)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - margin
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: MainCtx::setWindowExtendedMargin
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MainCtx::setWindowExtendedMargin(unsigned int margin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: loadVLCOption
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:421,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:421,1
    - Dst: signal
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:427,1
    - Dst: loadFromVLCOption
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:432,1
    - Dst: MainCtx::setMinimalView
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:433,1
    - Dst: loadFromVLCOption
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:435,1
    - Dst: loadFromVLCOption
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:438,1
    - Dst: loadFromVLCOption
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:443,1
    - Dst: loadFromVLCOption
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:445,1
    - Dst: loadFromVLCOption
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:447,1
    - Dst: loadFromVLCOption
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:449,1
    - Dst: loadFromVLCOption
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:451,1
    - Dst: loadFromVLCOption
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:453,1
    - Dst: loadFromVLCOption
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:455,1
    - Dst: loadFromVLCOption
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:457,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - callSignals
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 458
    functionName: MainCtx::loadPrefs
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 1
    functionsReached:
    - loadFromVLCOption
    - VLC_OBJECT
    - MainCtx::setMinimalView
    - signal
    - loadVLCOption
    linkageType: ''
    returnType: void
    signature: void MainCtx::loadPrefs(const bool callSignals)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:467,1
    - Dst: loadFromSettings
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:476,1
    - Dst: loadFromSettings
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:477,1
    - Dst: loadFromSettings
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:478,1
    - Dst: loadFromSettings
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:480,1
    - Dst: loadFromSettings
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:481,1
    - Dst: loadFromSettings
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:483,1
    - Dst: loadFromSettings
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:484,1
    - Dst: loadFromSettings
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:486,1
    - Dst: loadFromSettings
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:488,1
    - Dst: loadFromSettings
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:490,1
    - Dst: loadFromSettings
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:492,1
    - Dst: loadFromSettings
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:494,1
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:496,1
    - Dst: setCurrentIndex
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:497,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:500,1
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:502,1
    - Dst: MainCtx::updateIntfScaleFactor
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:506,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - callSignals
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 508
    functionName: MainCtx::loadFromSettingsImpl
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 1
    functionsReached:
    - MainCtx::updateIntfScaleFactor
    - setCurrentIndex
    - loadFromSettings
    - var_InheritFloat
    - getSettings
    linkageType: ''
    returnType: void
    signature: void MainCtx::loadFromSettingsImpl(const bool callSignals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MainCtx::loadPrefs
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 510
    functionDepth: 3
    functionLinenumber: 510
    functionLinenumberEnd: 513
    functionName: MainCtx::reloadPrefs
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached:
    - MainCtx::loadPrefs
    linkageType: ''
    returnType: void
    signature: void MainCtx::reloadPrefs()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:519,1
    - Dst: hasVideoOutput
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:522,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - hasInput
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 530
    functionName: MainCtx::onInputChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached:
    - hasVideoOutput
    - var_InheritInteger
    linkageType: ''
    returnType: void
    signature: void MainCtx::onInputChanged( bool hasInput )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qtEventToVLCKey
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:538,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:539,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - modifiers
    argTypes:
    - Qt::Key
    - Qt::KeyboardModifiers
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 535
    functionDepth: 2
    functionLinenumber: 535
    functionLinenumberEnd: 540
    functionName: MainCtx::sendHotkey
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached:
    - var_SetInteger
    - qtEventToVLCKey
    - vlc_object_instance
    linkageType: ''
    returnType: void
    signature: void MainCtx::sendHotkey(Qt::Key key , Qt::KeyboardModifiers modifiers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_SetInteger
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:544,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vlcHotkey
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 545
    functionName: MainCtx::sendVLCHotkey
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached:
    - var_SetInteger
    - vlc_object_instance
    linkageType: ''
    returnType: void
    signature: void MainCtx::sendVLCHotkey(int vlcHotkey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: p_compositor::interfaceMainWindow
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:550,1
    - Dst: QWindow*::screen
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:552,1
    - Dst: QScreen*::logicalDotsPerInch
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:555,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:561,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:562,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 566
    functionName: MainCtx::updateIntfScaleFactor
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 1
    functionsReached:
    - QScreen*::logicalDotsPerInch
    - QWindow*::screen
    - p_compositor::interfaceMainWindow
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void MainCtx::updateIntfScaleFactor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - visibility
    argTypes:
    - QWindow::Visibility
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 571
    functionName: MainCtx::onWindowVisibilityChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MainCtx::onWindowVisibilityChanged(QWindow::Visibility visibility)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 580
    functionName: MainCtx::setHasAcrylicSurface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MainCtx::setHasAcrylicSurface(const bool v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MainCtx::setIntfUserScaleFactor
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:585,1
    - Dst: MainCtx::setIntfUserScaleFactor
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - increment
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 588
    functionName: MainCtx::incrementIntfUserScaleFactor
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached:
    - MainCtx::setIntfUserScaleFactor
    linkageType: ''
    returnType: void
    signature: void MainCtx::incrementIntfUserScaleFactor(bool increment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qBound
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:592,1
    - Dst: MainCtx::getMinIntfUserScaleFactor
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:592,1
    - Dst: MainCtx::getMaxIntfUserScaleFactor
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:592,1
    - Dst: qFuzzyCompare
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:593,1
    - Dst: MainCtx::updateIntfScaleFactor
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - newValue
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 597
    functionName: MainCtx::setIntfUserScaleFactor
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 1
    functionsReached:
    - qFuzzyCompare
    - qBound
    - MainCtx::updateIntfScaleFactor
    - MainCtx::getMinIntfUserScaleFactor
    - MainCtx::getMaxIntfUserScaleFactor
    linkageType: ''
    returnType: void
    signature: void MainCtx::setIntfUserScaleFactor(double newValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: config_PutInt
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hasToolbarMenu
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 609
    functionName: MainCtx::setHasToolbarMenu
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached:
    - config_PutInt
    linkageType: ''
    returnType: void
    signature: void MainCtx::setHasToolbarMenu( bool hasToolbarMenu )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pinVideoControls
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 618
    functionName: MainCtx::setPinVideoControls
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MainCtx::setPinVideoControls(bool pinVideoControls)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pinOpacity
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 628
    functionName: MainCtx::setPinOpacity
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MainCtx::setPinOpacity(float pinOpacity)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QSystemTrayIcon::isSystemTrayAvailable
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:632,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:633,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:635,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:643,1
    - Dst: std::make_unique<VLCSystray>
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:647,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 648
    functionName: MainCtx::initSystray
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached:
    - var_InheritBool
    - QSystemTrayIcon::isSystemTrayAvailable
    - std::make_unique<VLCSystray>
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void MainCtx::initSystray()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 653
    functionName: MainCtx::threadRunner
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ThreadRunner
    signature: ThreadRunner * MainCtx::threadRunner() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MainCtx::folderMRL
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:657,1
    - Dst: QUrl::fromUserInput
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fileMRL
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 658
    functionName: MainCtx::folderMRL
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 1
    functionsReached:
    - MainCtx::folderMRL
    - QUrl::fromUserInput
    linkageType: ''
    returnType: QUrl
    signature: QUrl MainCtx::folderMRL(const QString &fileMRL) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUrl::isLocalFile
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:662,1
    - Dst: QUrl::toLocalFile
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:664,1
    - Dst: QUrl::fromLocalFile
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:665,1
    - Dst: QFileInfo
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fileMRL
    argTypes:
    - QUrl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 669
    functionName: MainCtx::folderMRL
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 1
    functionsReached:
    - QUrl::fromLocalFile
    - QUrl::isLocalFile
    - QUrl::toLocalFile
    - QFileInfo
    linkageType: ''
    returnType: QUrl
    signature: QUrl MainCtx::folderMRL(const QUrl &fileMRL) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: urlToDisplayString
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mrl
    argTypes:
    - QUrl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 674
    functionName: MainCtx::displayMRL
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached:
    - urlToDisplayString
    linkageType: ''
    returnType: QString
    signature: QString MainCtx::displayMRL(const QUrl &mrl) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - factor
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 683
    functionName: MainCtx::setPlayerPlaylistWidth
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MainCtx::setPlayerPlaylistWidth( double factor )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bgCone
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 693
    functionName: MainCtx::setbgCone
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MainCtx::setbgCone(bool bgCone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testFlag
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:697,1
    - Dst: setFlag
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - enable
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 702
    functionName: MainCtx::setMinimalView
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 1
    functionsReached:
    - setFlag
    - testFlag
    linkageType: ''
    returnType: void
    signature: void MainCtx::setMinimalView(bool enable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: testFlag
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:706,1
    - Dst: setFlag
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:709,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - enable
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 711
    functionName: MainCtx::setPlayerView
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached:
    - setFlag
    - testFlag
    linkageType: ''
    returnType: void
    signature: void MainCtx::setPlayerView(bool enable)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - show
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 717
    functionName: MainCtx::setShowRemainingTime
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MainCtx::setShowRemainingTime( bool show )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - asGrid
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 723
    functionName: MainCtx::setGridView
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MainCtx::setGridView(bool asGrid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - grouping
    argTypes:
    - Grouping
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 730
    functionName: MainCtx::setGrouping
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MainCtx::setGrouping(Grouping grouping)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 739
    functionName: MainCtx::setAlbumSections
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MainCtx::setAlbumSections(bool enabled)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 748
    functionName: MainCtx::setLyricsMode
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MainCtx::setLyricsMode(bool enabled)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - on_top
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 757
    functionName: MainCtx::setInterfaceAlwaysOnTop
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MainCtx::setInterfaceAlwaysOnTop( bool on_top )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasVideoEmbed
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:761,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 762
    functionName: MainCtx::hasEmbededVideo
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached:
    - hasVideoEmbed
    linkageType: ''
    returnType: bool
    signature: bool MainCtx::hasEmbededVideo() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:767,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:770,1
    - Dst: hasVideoEmbed
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:773,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - videoSurfaceProvider
    argTypes:
    - VideoSurfaceProvider*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 774
    functionName: MainCtx::setVideoSurfaceProvider
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached:
    - connect
    - disconnect
    - hasVideoEmbed
    linkageType: ''
    returnType: void
    signature: void MainCtx::setVideoSurfaceProvider(VideoSurfaceProvider* videoSurfaceProvider)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:788,1
    - Dst: QJSValue::property
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:788,1
    - Dst: qjsEngine
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:790,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:791,1
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:794,1
    - Dst: QJSValue::property
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:796,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:796,1
    - Dst: QJSValue::property
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:799,1
    - Dst: QJSValue::isUrl
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:800,1
    - Dst: QJSManagedValue
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:802,1
    - Dst: QJSValue::isString
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:803,1
    - Dst: QJSValue::toString
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:805,1
    - Dst: QJSValue::isVariant
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:806,1
    - Dst: QJSValue::toVariant
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:808,1
    - Dst: QVariant::typeId
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:809,1
    - Dst: QVariant::toUrl
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:810,1
    - Dst: QVariant::typeId
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:811,1
    - Dst: QVariant::toString
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:812,1
    - Dst: Q_UNREACHABLE
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:814,1
    - Dst: Q_UNREACHABLE
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:817,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:818,1
    - Dst: QString::chop
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:820,1
    - Dst: QJSEngine*::toScriptValue
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:821,1
    - Dst: QJSEngine*::newObject
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:825,1
    - Dst: QJSValue::setProperty
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:826,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:826,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - array
    argTypes:
    - QJSValue
    assertStmts:
    - condition: (engine)
      pos:
        line_end: 790
        line_start: 790
        source_file: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    - condition: (array.property("length").toInt() > 0)
      pos:
        line_end: 787
        line_start: 787
        source_file: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    constantsTouched: []
    func_position:
      end: 828
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 828
    functionName: MainCtx::urlListToMimeData
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached:
    - assert
    - QJSValue::isUrl
    - QJSValue::isVariant
    - QVariant::typeId
    - QT_VERSION_CHECK
    - QJSValue::isString
    - QJSValue::toString
    - QJSManagedValue
    - QVariant::toUrl
    - QVariant::toString
    - QJSValue::property
    - QString::chop
    - QStringLiteral
    - QJSEngine*::toScriptValue
    - QJSEngine*::newObject
    - QJSValue::toVariant
    - QJSValue::setProperty
    - Q_UNREACHABLE
    - qjsEngine
    linkageType: ''
    returnType: QJSValue
    signature: QJSValue MainCtx::urlListToMimeData(const QJSValue &array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 833
    functionName: MainCtx::getVideoSurfaceProvider
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VideoSurfaceProvider
    signature: VideoSurfaceProvider * MainCtx::getVideoSurfaceProvider() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: onWindowClosed
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:845,1
    - Dst: PlayerController*::hasVideoOutput
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:850,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:851,1
    - Dst: PlaylistController*::stop
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:856,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 839
    functionDepth: 1
    functionLinenumber: 839
    functionLinenumberEnd: 862
    functionName: MainCtx::onWindowClose
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached:
    - connect
    - PlayerController*::hasVideoOutput
    - PlaylistController*::stop
    - onWindowClosed
    linkageType: ''
    returnType: void
    signature: void MainCtx::onWindowClose( QWindow* )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MainCtx::setHasToolbarMenu
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 864
    functionDepth: 2
    functionLinenumber: 864
    functionLinenumberEnd: 867
    functionName: MainCtx::toggleToolbarMenu
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached:
    - MainCtx::setHasToolbarMenu
    linkageType: ''
    returnType: void
    signature: void MainCtx::toggleToolbarMenu()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 872
    functionName: MainCtx::toggleInterfaceFullScreen
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MainCtx::toggleInterfaceFullScreen()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 877
    functionName: MainCtx::emitBoss
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MainCtx::emitBoss()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 882
    functionName: MainCtx::emitShow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MainCtx::emitShow()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 887
    functionName: MainCtx::emitRaise
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MainCtx::emitRaise()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 892
    functionName: MainCtx::getExtraInterfaces
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VLCVarChoiceModel
    signature: VLCVarChoiceModel * MainCtx::getExtraInterfaces()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:896,1
    - Dst: clipboard
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:897,1
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:898,1
    - Dst: QClipboard*::mimeData
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:900,1
    - Dst: QMimeData*::hasUrls
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:901,1
    - Dst: QClipboard*::mimeData
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:902,1
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:904,1
    - Dst: QMimeData*::urls
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:907,1
    - Dst: QMimeData*::text
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:908,1
    - Dst: QList::count
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:910,1
    - Dst: QString::contains
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:910,1
    - Dst: QList::isEmpty
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:917,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:919,1
    - Dst: toString
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:924,1
    - Dst: QString::chop
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:925,1
    - Dst: QInputDialog::getMultiLineText
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:929,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:930,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:931,1
    - Dst: QStringView
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:937,1
    - Dst: length
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:939,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:940,1
    - Dst: trimmed
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:940,1
    - Dst: QList::count
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:945,1
    - Dst: QMimeData*::hasText
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:945,1
    - Dst: openUrlDialog
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:947,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (qApp)
      pos:
        line_end: 895
        line_start: 895
        source_file: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    constantsTouched: []
    func_position:
      end: 952
      start: 894
    functionDepth: 2
    functionLinenumber: 894
    functionLinenumberEnd: 952
    functionName: MainCtx::pasteFromClipboard
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached:
    - assert
    - Q_UNLIKELY
    - QMimeData*::hasUrls
    - length
    - std::move
    - clipboard
    - QList::isEmpty
    - QMimeData*::hasText
    - QStringView
    - QString::contains
    - trimmed
    - append
    - QMimeData*::text
    - qtr
    - QString::chop
    - QMimeData*::urls
    - QClipboard*::mimeData
    - QInputDialog::getMultiLineText
    - openUrlDialog
    - toString
    - QList::count
    linkageType: ''
    returnType: bool
    signature: bool MainCtx::pasteFromClipboard()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qt_intf_t*::pf_show_dialog
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:966,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - new_val
    - param
    argTypes:
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 971
    functionName: PopupMenuCB
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached:
    - qt_intf_t*::pf_show_dialog
    linkageType: ''
    returnType: int
    signature: "int PopupMenuCB( vlc_object_t *, const char *,\n                        vlc_value_t,
      vlc_value_t new_val, void *param )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qt_intf_t*::p_mi::emitShow
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 983
    functionName: IntfShowCB
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached:
    - qt_intf_t*::p_mi::emitShow
    linkageType: ''
    returnType: int
    signature: "int IntfShowCB( vlc_object_t *, const char *,\n                       vlc_value_t,
      vlc_value_t, void *param )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qt_intf_t*::p_mi::emitRaise
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 995
    functionName: IntfRaiseMainCB
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached:
    - qt_intf_t*::p_mi::emitRaise
    linkageType: ''
    returnType: int
    signature: "int IntfRaiseMainCB( vlc_object_t *, const char *,\n                            vlc_value_t,
      vlc_value_t, void *param )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qt_intf_t*::p_mi::emitBoss
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1007
    functionName: IntfBossCB
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached:
    - qt_intf_t*::p_mi::emitBoss
    linkageType: ''
    returnType: int
    signature: "int IntfBossCB( vlc_object_t *, const char *,\n                       vlc_value_t,
      vlc_value_t, void *param )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1012
    functionName: MainCtx::acrylicActive
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MainCtx::acrylicActive() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - newAcrylicActive
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1021
    functionName: MainCtx::setAcrylicActive
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MainCtx::setAcrylicActive(bool newAcrylicActive)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1026
    functionName: MainCtx::preferHotkeys
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MainCtx::preferHotkeys() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - enable
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1036
    functionName: MainCtx::setPreferHotkeys
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MainCtx::setPreferHotkeys(bool enable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: p_compositor::interfaceMainWindow
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1041,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1044
    functionName: MainCtx::intfMainWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached:
    - p_compositor::interfaceMainWindow
    linkageType: ''
    returnType: QWindow
    signature: QWindow *MainCtx::intfMainWindow() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - defaultValue
    argTypes:
    - QString
    - QVariant
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1049
    functionName: MainCtx::settingValue
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: QVariant
    signature: QVariant MainCtx::settingValue(const QString &key, const QVariant &defaultValue)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setValue
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1053,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - QString
    - QVariant
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1054
    functionName: MainCtx::setSettingValue
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached:
    - setValue
    linkageType: ''
    returnType: void
    signature: void MainCtx::setSettingValue(const QString &key, const QVariant &value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1059,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1062,1
    - Dst: QObject*::inherits
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1062,1
    - Dst: qmlEngine
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1064,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1065,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1066,1
    - Dst: QQmlEngine*::objectOwnership
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1066,1
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1069,1
    - Dst: QQmlEngine*::property
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1075,1
    - Dst: QQmlEngine*::objectOwnership
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1077,1
    - Dst: auto::deleteLater
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1078,1
    - Dst: QQmlEngine*::setProperty
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1083,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1083,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1088,1
    - Dst: qmlEngine
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1089,1
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1090,1
    - Dst: QQmlComponent::setData
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1093,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1093,1
    - Dst: QQmlComponent::create
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1094,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1095,1
    - Dst: json_read
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1098,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1098,1
    - Dst: qmlContext
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1098,1
    - Dst: qmlWarning
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1099,1
    - Dst: QObject*::deleteLater
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - toolTip
    argTypes:
    - QObject*
    assertStmts:
    - condition: (engine)
      pos:
        line_end: 1064
        line_start: 1064
        source_file: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    - condition: (obj)
      pos:
        line_end: 1094
        line_start: 1094
        source_file: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    - condition: (toolTip)
      pos:
        line_end: 1058
        line_start: 1058
        source_file: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    - condition: (toolTip->inherits("QQuickToolTip"))
      pos:
        line_end: 1061
        line_start: 1061
        source_file: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    - condition: (engine->objectOwnership(toolTip) == QQmlEngine::ObjectOwnership::JavaScriptOwnership)
      pos:
        line_end: 1065
        line_start: 1065
        source_file: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    constantsTouched: []
    func_position:
      end: 1103
      start: 1056
    functionDepth: 2
    functionLinenumber: 1056
    functionLinenumberEnd: 1103
    functionName: MainCtx::setAttachedToolTip
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached:
    - assert
    - QQmlEngine*::objectOwnership
    - Q_UNLIKELY
    - json_read
    - qmlEngine
    - QT_VERSION_CHECK
    - QByteArrayLiteral
    - auto::deleteLater
    - QQmlEngine*::setProperty
    - qmlWarning
    - QObject*::inherits
    - QQmlEngine*::property
    - qmlContext
    - QObject*::deleteLater
    - QQmlComponent::create
    - QStringLiteral
    - QQmlComponent::setData
    - fromValue
    - QMetaObject::invokeMethod
    linkageType: ''
    returnType: void
    signature: void MainCtx::setAttachedToolTip(QObject *toolTip)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1115
    functionName: MainCtx::getEffectiveMainInterfaceMode
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: MainCtx::MainInterfaceMode
    signature: MainCtx::MainInterfaceMode MainCtx::getEffectiveMainInterfaceMode()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::round
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - px
    - scale
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1120
    functionName: MainCtx::dp
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached:
    - std::round
    linkageType: ''
    returnType: double
    signature: double MainCtx::dp(const double px, const double scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MainCtx::dp
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - px
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1122
    functionDepth: 1
    functionLinenumber: 1122
    functionLinenumberEnd: 1125
    functionName: MainCtx::dp
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 1
    functionsReached:
    - MainCtx::dp
    linkageType: ''
    returnType: double
    signature: double MainCtx::dp(const double px) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QDate::currentDate
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1129,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1127
    functionDepth: 1
    functionLinenumber: 1127
    functionLinenumberEnd: 1131
    functionName: MainCtx::useXmasCone
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached:
    - var_InheritBool
    - QDate::currentDate
    linkageType: ''
    returnType: bool
    signature: bool MainCtx::useXmasCone() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QWindow*::property
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1135,1
    - Dst: QVariant::toUInt
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1137,1
    - Dst: QWindow*::windowStates
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1146,1
    - Dst: QWindow*::setProperty
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1154,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1154,1
    - Dst: QWindow*::setWindowStates
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - window
    - source
    - hold
    argTypes:
    - QWindow*
    - Source
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1133
    functionDepth: 1
    functionLinenumber: 1133
    functionLinenumberEnd: 1162
    functionName: WindowStateHolder::holdFullscreen
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 3
    functionsReached:
    - QVariant::toUInt
    - QWindow*::setProperty
    - QWindow*::property
    - QWindow*::setWindowStates
    - QWindow*::windowStates
    - fromValue
    linkageType: ''
    returnType: bool
    signature: bool WindowStateHolder::holdFullscreen(QWindow *window, Source source,
      bool hold)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QWindow*::property
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1166,1
    - Dst: QVariant::toUInt
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1168,1
    - Dst: QWindow*::handle
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1178,1
    - Dst: SetWindowPos
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1187,1
    - Dst: reinterpret_cast<HWND>
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1187,1
    - Dst: QWindow*::winId
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1187,1
    - Dst: QWindow*::setFlag
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1189,1
    - Dst: SetWindowPos
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1197,1
    - Dst: reinterpret_cast<HWND>
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1197,1
    - Dst: QWindow*::winId
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1197,1
    - Dst: QWindow*::setFlag
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1199,1
    - Dst: QWindow*::setProperty
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1203,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - window
    - source
    - hold
    argTypes:
    - QWindow*
    - Source
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1164
    functionDepth: 1
    functionLinenumber: 1164
    functionLinenumberEnd: 1206
    functionName: WindowStateHolder::holdOnTop
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 3
    functionsReached:
    - SetWindowPos
    - QWindow*::setFlag
    - QVariant::toUInt
    - QWindow*::handle
    - QWindow*::setProperty
    - reinterpret_cast<HWND>
    - QWindow*::property
    - QWindow*::winId
    - fromValue
    linkageType: ''
    returnType: bool
    signature: bool WindowStateHolder::holdOnTop(QWindow *window, Source source, bool
      hold)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MainCtx::dp
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1208
    functionDepth: 1
    functionLinenumber: 1208
    functionLinenumberEnd: 1211
    functionName: MainCtx::artistAlbumsWidth
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached:
    - MainCtx::dp
    linkageType: ''
    returnType: double
    signature: double MainCtx::artistAlbumsWidth() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MainCtx::getIntfScaleFactor
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1215,1
    - Dst: qFuzzyCompare
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - newArtistAlbumsWidth
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1213
    functionDepth: 1
    functionLinenumber: 1213
    functionLinenumberEnd: 1221
    functionName: MainCtx::setArtistAlbumsWidth
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 0
    functionsReached:
    - qFuzzyCompare
    - MainCtx::getIntfScaleFactor
    linkageType: ''
    returnType: void
    signature: void MainCtx::setArtistAlbumsWidth(double newArtistAlbumsWidth)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<UpdateModel>
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1228,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1230,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1230,1
    - Dst: Q_LIKELY
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1238,1
    - Dst: p_compositor::quickWindow
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1240,1
    - Dst: p_compositor::quickWindow
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1241,1
    - Dst: p_compositor::quickWindow
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1243,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1244,1
    - Dst: auto::findChild
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1245,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1245,1
    - Dst: auto::property
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1246,1
    - Dst: qDebug
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1248,1
    - Dst: updateDialog
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1249,1
    - Dst: qDebug
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1255,1
    - Dst: updateDialog
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1256,1
    - Dst: explicitCheck
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1260,1
    - Dst: updateStatus
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1262,1
    - Dst: openLegacyDialogIfNecessary
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1263,1
    - Dst: updateStatus
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1267,1
    - Dst: qWarning
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1274,1
    - Dst: openLegacyDialogIfNecessary
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1277,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp:1283,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1224
    functionDepth: 2
    functionLinenumber: 1224
    functionLinenumberEnd: 1284
    functionName: MainCtx::getUpdateModel
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.cpp
    functionUses: 1
    functionsReached:
    - QStringLiteral
    - Q_LIKELY
    - auto::findChild
    - qWarning
    - get
    - auto::property
    - qDebug
    - updateDialog
    - connect
    - explicitCheck
    - p_compositor::quickWindow
    - updateStatus
    - std::make_unique<UpdateModel>
    - QMetaObject::invokeMethod
    - openLegacyDialogIfNecessary
    linkageType: ''
    returnType: UpdateModel
    signature: UpdateModel * MainCtx::getUpdateModel() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xcb_query_extension
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:32,1
    - Dst: strlen
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:32,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:34,1
    - Dst: xcb_query_extension_reply
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:34,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:35,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - conn
    - name
    - first_event_out
    - first_error_out
    argTypes:
    - xcb_connection_t*
    - char*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 46
    functionName: vlc::queryExtension
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp
    functionUses: 0
    functionsReached:
    - strlen
    - xcb_query_extension
    - xcb_query_extension_reply
    - vlc::wrap_cptr
    linkageType: ''
    returnType: bool
    signature: bool queryExtension(xcb_connection_t* conn, const char* name, uint8_t*
      first_event_out, uint8_t* first_error_out)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xcb_render_query_pict_formats
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:53,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:54,1
    - Dst: xcb_render_query_pict_formats_reply
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:54,1
    - Dst: xcb_render_query_pict_formats_screens_iterator
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:59,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:59,1
    - Dst: xcb_render_pictscreen_next
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:60,1
    - Dst: xcb_render_pictscreen_depths_iterator
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:63,1
    - Dst: xcb_render_pictdepth_next
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:64,1
    - Dst: xcb_render_pictdepth_visuals_iterator
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:67,1
    - Dst: xcb_render_pictvisual_next
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:68,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - conn
    - visual
    argTypes:
    - xcb_connection_t*
    - xcb_visualid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 84
    functionName: vlc::findVisualFormat
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp
    functionUses: 0
    functionsReached:
    - xcb_render_query_pict_formats_reply
    - xcb_render_query_pict_formats
    - vlc::wrap_cptr
    - xcb_render_pictscreen_next
    - xcb_render_pictdepth_next
    - auto::get
    - xcb_render_query_pict_formats_screens_iterator
    - xcb_render_pictscreen_depths_iterator
    - xcb_render_pictdepth_visuals_iterator
    - xcb_render_pictvisual_next
    linkageType: ''
    returnType: bool
    signature: "bool findVisualFormat(xcb_connection_t* conn, xcb_visualid_t visual,\n
      \                 xcb_render_pictformat_t* formatOut = nullptr,\n                  uint8_t*
      depthOut = nullptr\n                  )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xcb_intern_atom
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:88,1
    - Dst: strlen
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:88,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:89,1
    - Dst: xcb_intern_atom_reply
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - conn
    - atomName
    argTypes:
    - xcb_connection_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: vlc::getInternAtom
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp
    functionUses: 1
    functionsReached:
    - strlen
    - xcb_intern_atom_reply
    - vlc::wrap_cptr
    - xcb_intern_atom
    linkageType: ''
    returnType: xcb_atom_t
    signature: xcb_atom_t getInternAtom(xcb_connection_t* conn, const char* atomName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcb_generate_id
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:100,1
    - Dst: xcb_xfixes_create_region
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:101,1
    - Dst: xcb_xfixes_set_window_shape_region
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:102,1
    - Dst: xcb_xfixes_destroy_region
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - conn
    - window
    argTypes:
    - xcb_connection_t*
    - xcb_window_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: vlc::setTransparentForMouseEvent
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp
    functionUses: 0
    functionsReached:
    - xcb_xfixes_set_window_shape_region
    - xcb_xfixes_create_region
    - xcb_generate_id
    - xcb_xfixes_destroy_region
    linkageType: ''
    returnType: void
    signature: void setTransparentForMouseEvent(xcb_connection_t* conn, xcb_window_t
      window)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:110,1
    - Dst: vlc::getInternAtom
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:112,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:112,1
    - Dst: xcb_get_selection_owner
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:116,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:117,1
    - Dst: xcb_get_selection_owner_reply
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - conn
    - screen
    argTypes:
    - xcb_connection_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: vlc::wmScreenHasCompositor
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp
    functionUses: 0
    functionsReached:
    - vlc::wrap_cptr
    - xcb_get_selection_owner
    - xcb_get_selection_owner_reply
    - std::to_string
    - std::string::c_str
    - vlc::getInternAtom
    linkageType: ''
    returnType: bool
    signature: bool wmScreenHasCompositor(xcb_connection_t* conn, int screen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc::getInternAtom
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:129,1
    - Dst: xcb_get_property
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:136,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:138,1
    - Dst: xcb_get_property_reply
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:138,1
    - Dst: xcb_get_property_value_length
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:143,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:143,1
    - Dst: xcb_get_property_value
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:144,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:144,1
    - Dst: std::copy
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:147,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - conn
    - rootWindow
    argTypes:
    - xcb_connection_t*
    - xcb_window_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 154
    functionName: vlc::getNetSupportedList
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp
    functionUses: 0
    functionsReached:
    - vlc::wrap_cptr
    - xcb_get_property_value_length
    - xcb_get_property_value
    - std::back_inserter
    - auto::get
    - std::copy
    - xcb_get_property
    - vlc::getInternAtom
    - xcb_get_property_reply
    linkageType: ''
    returnType: std::vector<xcb_atom_t>
    signature: std::vector<xcb_atom_t> getNetSupportedList(xcb_connection_t* conn,
      xcb_window_t rootWindow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xcb_get_property
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:158,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:160,1
    - Dst: xcb_get_property_reply
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:160,1
    - Dst: xcb_get_property_value_length
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:164,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:164,1
    - Dst: xcb_get_property_value
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:167,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - conn
    - window
    - atom
    argTypes:
    - xcb_connection_t*
    - xcb_window_t
    - xcb_atom_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 168
    functionName: vlc::getWindowProperty
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp
    functionUses: 0
    functionsReached:
    - vlc::wrap_cptr
    - xcb_get_property_value_length
    - xcb_get_property_value
    - auto::get
    - xcb_get_property
    - xcb_get_property_reply
    linkageType: ''
    returnType: xcb_window_t
    signature: xcb_window_t getWindowProperty(xcb_connection_t* conn, xcb_window_t
      window, xcb_atom_t atom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc::getInternAtom
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:176,1
    - Dst: vlc::getWindowProperty
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:177,1
    - Dst: vlc::getWindowProperty
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - conn
    - rootWindow
    argTypes:
    - xcb_connection_t*
    - xcb_window_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 183
    functionName: vlc::supportWMCheck
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp
    functionUses: 0
    functionsReached:
    - vlc::getInternAtom
    - vlc::getWindowProperty
    linkageType: ''
    returnType: bool
    signature: bool supportWMCheck(xcb_connection_t* conn, xcb_window_t rootWindow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc::supportWMCheck
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:187,1
    - Dst: vlc::getNetSupportedList
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:190,1
    - Dst: find
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:192,1
    - Dst: std::vector::cbegin
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:192,1
    - Dst: std::vector::cend
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:192,1
    - Dst: std::vector::cend
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - conn
    - rootWindow
    - atom
    argTypes:
    - xcb_connection_t*
    - xcb_window_t
    - xcb_atom_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 4
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: vlc::wmNetSupport
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp
    functionUses: 1
    functionsReached:
    - std::vector::cbegin
    - vlc::supportWMCheck
    - vlc::getNetSupportedList
    - std::vector::cend
    - find
    linkageType: ''
    returnType: bool
    signature: bool wmNetSupport(xcb_connection_t* conn, xcb_window_t rootWindow,
      xcb_atom_t atom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xcb_query_extension
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:32,1
    - Dst: strlen
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:32,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:34,1
    - Dst: xcb_query_extension_reply
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:34,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:35,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - conn
    - name
    - first_event_out
    - first_error_out
    argTypes:
    - xcb_connection_t*
    - char*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 46
    functionName: vlc::queryExtension
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp
    functionUses: 0
    functionsReached:
    - strlen
    - xcb_query_extension
    - xcb_query_extension_reply
    - vlc::wrap_cptr
    linkageType: ''
    returnType: bool
    signature: bool queryExtension(xcb_connection_t* conn, const char* name, uint8_t*
      first_event_out, uint8_t* first_error_out)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xcb_render_query_pict_formats
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:53,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:54,1
    - Dst: xcb_render_query_pict_formats_reply
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:54,1
    - Dst: xcb_render_query_pict_formats_screens_iterator
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:59,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:59,1
    - Dst: xcb_render_pictscreen_next
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:60,1
    - Dst: xcb_render_pictscreen_depths_iterator
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:63,1
    - Dst: xcb_render_pictdepth_next
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:64,1
    - Dst: xcb_render_pictdepth_visuals_iterator
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:67,1
    - Dst: xcb_render_pictvisual_next
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:68,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - conn
    - visual
    argTypes:
    - xcb_connection_t*
    - xcb_visualid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 84
    functionName: vlc::findVisualFormat
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp
    functionUses: 0
    functionsReached:
    - xcb_render_query_pict_formats_reply
    - xcb_render_query_pict_formats
    - vlc::wrap_cptr
    - xcb_render_pictscreen_next
    - xcb_render_pictdepth_next
    - auto::get
    - xcb_render_query_pict_formats_screens_iterator
    - xcb_render_pictscreen_depths_iterator
    - xcb_render_pictdepth_visuals_iterator
    - xcb_render_pictvisual_next
    linkageType: ''
    returnType: bool
    signature: "bool findVisualFormat(xcb_connection_t* conn, xcb_visualid_t visual,\n
      \                 xcb_render_pictformat_t* formatOut = nullptr,\n                  uint8_t*
      depthOut = nullptr\n                  )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xcb_intern_atom
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:88,1
    - Dst: strlen
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:88,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:89,1
    - Dst: xcb_intern_atom_reply
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - conn
    - atomName
    argTypes:
    - xcb_connection_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: vlc::getInternAtom
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp
    functionUses: 4
    functionsReached:
    - strlen
    - xcb_intern_atom_reply
    - vlc::wrap_cptr
    - xcb_intern_atom
    linkageType: ''
    returnType: xcb_atom_t
    signature: xcb_atom_t getInternAtom(xcb_connection_t* conn, const char* atomName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcb_generate_id
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:100,1
    - Dst: xcb_xfixes_create_region
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:101,1
    - Dst: xcb_xfixes_set_window_shape_region
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:102,1
    - Dst: xcb_xfixes_destroy_region
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - conn
    - window
    argTypes:
    - xcb_connection_t*
    - xcb_window_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: vlc::setTransparentForMouseEvent
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp
    functionUses: 0
    functionsReached:
    - xcb_xfixes_set_window_shape_region
    - xcb_xfixes_create_region
    - xcb_generate_id
    - xcb_xfixes_destroy_region
    linkageType: ''
    returnType: void
    signature: void setTransparentForMouseEvent(xcb_connection_t* conn, xcb_window_t
      window)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:110,1
    - Dst: vlc::getInternAtom
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:112,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:112,1
    - Dst: xcb_get_selection_owner
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:116,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:117,1
    - Dst: xcb_get_selection_owner_reply
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - conn
    - screen
    argTypes:
    - xcb_connection_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: vlc::wmScreenHasCompositor
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp
    functionUses: 0
    functionsReached:
    - vlc::wrap_cptr
    - xcb_get_selection_owner
    - xcb_get_selection_owner_reply
    - std::to_string
    - std::string::c_str
    - vlc::getInternAtom
    linkageType: ''
    returnType: bool
    signature: bool wmScreenHasCompositor(xcb_connection_t* conn, int screen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc::getInternAtom
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:129,1
    - Dst: xcb_get_property
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:136,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:138,1
    - Dst: xcb_get_property_reply
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:138,1
    - Dst: xcb_get_property_value_length
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:143,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:143,1
    - Dst: xcb_get_property_value
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:144,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:144,1
    - Dst: std::copy
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:147,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - conn
    - rootWindow
    argTypes:
    - xcb_connection_t*
    - xcb_window_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 154
    functionName: vlc::getNetSupportedList
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp
    functionUses: 1
    functionsReached:
    - vlc::wrap_cptr
    - xcb_get_property_value_length
    - xcb_get_property_value
    - std::back_inserter
    - auto::get
    - std::copy
    - xcb_get_property
    - vlc::getInternAtom
    - xcb_get_property_reply
    linkageType: ''
    returnType: std::vector<xcb_atom_t>
    signature: std::vector<xcb_atom_t> getNetSupportedList(xcb_connection_t* conn,
      xcb_window_t rootWindow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xcb_get_property
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:158,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:160,1
    - Dst: xcb_get_property_reply
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:160,1
    - Dst: xcb_get_property_value_length
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:164,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:164,1
    - Dst: xcb_get_property_value
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:167,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - conn
    - window
    - atom
    argTypes:
    - xcb_connection_t*
    - xcb_window_t
    - xcb_atom_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 168
    functionName: vlc::getWindowProperty
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp
    functionUses: 1
    functionsReached:
    - vlc::wrap_cptr
    - xcb_get_property_value_length
    - xcb_get_property_value
    - auto::get
    - xcb_get_property
    - xcb_get_property_reply
    linkageType: ''
    returnType: xcb_window_t
    signature: xcb_window_t getWindowProperty(xcb_connection_t* conn, xcb_window_t
      window, xcb_atom_t atom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc::getInternAtom
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:176,1
    - Dst: vlc::getWindowProperty
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:177,1
    - Dst: vlc::getWindowProperty
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - conn
    - rootWindow
    argTypes:
    - xcb_connection_t*
    - xcb_window_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 183
    functionName: vlc::supportWMCheck
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp
    functionUses: 1
    functionsReached:
    - vlc::getInternAtom
    - vlc::getWindowProperty
    linkageType: ''
    returnType: bool
    signature: bool supportWMCheck(xcb_connection_t* conn, xcb_window_t rootWindow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc::supportWMCheck
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:187,1
    - Dst: vlc::getNetSupportedList
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:190,1
    - Dst: find
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:192,1
    - Dst: std::vector::cbegin
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:192,1
    - Dst: std::vector::cend
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:192,1
    - Dst: std::vector::cend
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - conn
    - rootWindow
    - atom
    argTypes:
    - xcb_connection_t*
    - xcb_window_t
    - xcb_atom_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 4
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: vlc::wmNetSupport
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_utils.cpp
    functionUses: 1
    functionsReached:
    - std::vector::cbegin
    - vlc::supportWMCheck
    - vlc::getNetSupportedList
    - std::vector::cend
    - find
    linkageType: ''
    returnType: bool
    signature: bool wmNetSupport(xcb_connection_t* conn, xcb_window_t rootWindow,
      xcb_atom_t atom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: MainCtx::getIntf
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: qt_intf_t
    signature: qt_intf_t * getIntf() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: MainCtx::getNetworkPreparser
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_preparser_t
    signature: vlc_preparser_t *getNetworkPreparser() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: MainCtx::smoothScroll
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool smoothScroll() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: MainCtx::getSysTray
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: VLCSystray
    signature: VLCSystray * getSysTray()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: MainCtx::interfaceVisibility
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QWindow::Visibility
    signature: QWindow::Visibility interfaceVisibility() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 225
    functionName: MainCtx::getPlayqueuePanel
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SidePanelCtx
    signature: SidePanelCtx * getPlayqueuePanel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 226
    functionName: MainCtx::getNavigationPanel
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SidePanelCtx
    signature: SidePanelCtx * getNavigationPanel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 227
    functionName: MainCtx::getPlayerPlaylistWidth
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double getPlayerPlaylistWidth() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 228
    functionName: MainCtx::isInterfaceAlwaysOnTop
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInterfaceAlwaysOnTop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 229
    functionName: MainCtx::isHideAfterCreation
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isHideAfterCreation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 230
    functionName: MainCtx::isShowRemainingTime
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isShowRemainingTime() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 231
    functionName: MainCtx::getIntfScaleFactor
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double getIntfScaleFactor() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 232
    functionName: MainCtx::getIntfUserScaleFactor
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE getIntfUserScaleFactor() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: MainCtx::CSDBorderSize
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CSDBorderSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 234
    functionName: MainCtx::getMinIntfUserScaleFactor
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double getMinIntfUserScaleFactor() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: MainCtx::getMaxIntfUserScaleFactor
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double getMaxIntfUserScaleFactor() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: MainCtx::hasMediaLibrary
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasMediaLibrary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 237
    functionName: MainCtx::getMediaLibrary
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MediaLib
    signature: MediaLib * getMediaLibrary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 238
    functionName: MainCtx::hasGridView
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasGridView() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: MainCtx::grouping
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Grouping
    signature: Grouping grouping() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 240
    functionName: MainCtx::albumSections
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool albumSections() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 241
    functionName: MainCtx::lyricsMode
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool lyricsMode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: MainCtx::getColorScheme
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ColorSchemeModel
    signature: ColorSchemeModel * getColorScheme() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: MainCtx::hasToolbarMenu
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasToolbarMenu() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 247
    functionName: MainCtx::canShowVideoPIP
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool canShowVideoPIP() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - canShowVideoPIP
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 248
    functionName: MainCtx::setCanShowVideoPIP
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCanShowVideoPIP(bool canShowVideoPIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 250
    functionName: MainCtx::pinVideoControls
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool pinVideoControls() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 251
    functionName: MainCtx::pinOpacity
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float pinOpacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: MainCtx::controlbarProfileModel
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ControlbarProfileModel
    signature: ControlbarProfileModel * controlbarProfileModel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: MainCtx::getDialogFilePath
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUrl
    signature: QUrl getDialogFilePath() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' filepath'
    argTypes:
    - QUrl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: MainCtx::setDialogFilePath
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDialogFilePath(const QUrl& filepath )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: MainCtx::hasAcrylicSurface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasAcrylicSurface() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MainCtx::loadFromSettingsImpl
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 257
    functionName: MainCtx::reloadFromSettings
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached:
    - MainCtx::loadFromSettingsImpl
    linkageType: ''
    returnType: void
    signature: void reloadFromSettings()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: MainCtx::getUseGlobalShortcuts
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getUseGlobalShortcuts() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: MainCtx::maxVolume
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int maxVolume() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: MainCtx::safeArea
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float safeArea() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 264
    functionName: MainCtx::getOSName
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsType
    signature: OsType getOSName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 265
    functionName: MainCtx::getOSVersion
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getOSVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 267
    functionName: MainCtx::isbgCone
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isbgCone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 268
    functionName: MainCtx::isMinimalView
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isMinimalView() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 269
    functionName: MainCtx::isPlayerView
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isPlayerView() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 272
    functionName: MainCtx::windowSuportExtendedFrame
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool windowSuportExtendedFrame() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 273
    functionName: MainCtx::windowExtendedMargin
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned windowExtendedMargin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 281
    functionName: MainCtx::mouseHideTimeout
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mouseHideTimeout() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 283
    functionName: MainCtx::usingTouch
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool usingTouch() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 285
    functionName: MainCtx::backdropBlurRequested
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached:
    - var_InheritBool
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE backdropBlurRequested() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QApplication::setOverrideCursor
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp:287,1
    - Dst: QCursor
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cursor
    argTypes:
    - Qt::CursorShape
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: MainCtx::setCursor
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached:
    - QApplication::setOverrideCursor
    - QCursor
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE setCursor(Qt::CursorShape cursor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QApplication::restoreOverrideCursor
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 288
    functionName: MainCtx::restoreCursor
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached:
    - QApplication::restoreOverrideCursor
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE restoreCursor(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp:290,1
    - Dst: QQuickItem*::setCursor
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - item
    - cursor
    argTypes:
    - QQuickItem*
    - Qt::CursorShape
    assertStmts:
    - condition: (item)
      pos:
        line_end: 289
        line_start: 289
        source_file: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: MainCtx::setCursor
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached:
    - QQuickItem*::setCursor
    - assert
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE setCursor(QQuickItem* item, Qt::CursorShape cursor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp:291,1
    - Dst: QQuickItem*::unsetCursor
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - item
    argTypes:
    - QQuickItem*
    assertStmts:
    - condition: (item)
      pos:
        line_end: 290
        line_start: 290
        source_file: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: MainCtx::unsetCursor
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached:
    - assert
    - QQuickItem*::unsetCursor
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE unsetCursor(QQuickItem* item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 293
    functionName: MainCtx::qtVersion
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int qtVersion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - major
    - minor
    - patch
    argTypes:
    - unsigned char
    - unsigned char
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 297
    functionName: MainCtx::qtVersionCheck
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached:
    - QT_VERSION_CHECK
    linkageType: ''
    returnType: int
    signature: "int qtVersionCheck(unsigned char major,\n                                                                        unsigned
      char minor,\n                                                                        unsigned
      char patch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp:301,1
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp:301,1
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp:302,1
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp:302,1
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp:303,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 304
    functionName: MainCtx::qtQuickControlRejectsHoverEvents
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached:
    - QT_VERSION_CHECK
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE qtQuickControlRejectsHoverEvents()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp:310,1
    - Dst: QQuickItem*::setFiltersChildMouseEvents
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - item
    - enable
    argTypes:
    - QQuickItem*
    - bool
    assertStmts:
    - condition: (item)
      pos:
        line_end: 309
        line_start: 309
        source_file: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: MainCtx::setFiltersChildMouseEvents
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached:
    - QQuickItem*::setFiltersChildMouseEvents
    - assert
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE setFiltersChildMouseEvents(QQuickItem *item, bool enable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp:316,1
    - Dst: QQuickItem*::setFlag
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - item
    - flag
    argTypes:
    - QQuickItem*
    - QQuickItem::Flag
    assertStmts:
    - condition: (item)
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 318
    functionName: MainCtx::setItemFlag
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached:
    - QQuickItem*::setFlag
    - assert
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE setItemFlag(QQuickItem *item, QQuickItem::Flag flag, bool
      enabled = true)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QQuickWindow*::effectiveDevicePixelRatio
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp:322,1
    - Dst: MainCtx::intfMainWindow
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp:332,1
    - Dst: qobject_cast<QQuickWindow*>
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp:333,1
    - Dst: auto::effectiveDevicePixelRatio
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp:335,1
    - Dst: auto::devicePixelRatio
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - window
    argTypes:
    - QQuickWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 346
    functionName: MainCtx::effectiveDevicePixelRatio
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached:
    - QQuickWindow*::effectiveDevicePixelRatio
    - auto::effectiveDevicePixelRatio
    - auto::devicePixelRatio
    - qobject_cast<QQuickWindow*>
    - MainCtx::intfMainWindow
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE effectiveDevicePixelRatio(const QQuickWindow* window)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp:350,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp:352,1
    - Dst: QWindow*::handle
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp:352,1
    - Dst: QWindow*::format
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - window
    argTypes:
    - QWindow*
    assertStmts:
    - condition: (window)
      pos:
        line_end: 349
        line_start: 349
        source_file: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    - condition: (window->handle())
      pos:
        line_end: 351
        line_start: 351
        source_file: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    constantsTouched: []
    func_position:
      end: 354
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 354
    functionName: MainCtx::windowHasDepthBuffer
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached:
    - QWindow*::format
    - QWindow*::handle
    - assert
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE windowHasDepthBuffer(const QWindow* window)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp:360,1
    - Dst: isCallable
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp:360,1
    - Dst: QTimer::singleShot
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp:361,1
    - Dst: call
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' func'
    - delay
    argTypes:
    - QJSValue
    - int
    assertStmts:
    - condition: (func.isCallable())
      pos:
        line_end: 359
        line_start: 359
        source_file: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    constantsTouched: []
    func_position:
      end: 364
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 364
    functionName: MainCtx::setTimeout
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached:
    - isCallable
    - call
    - assert
    - QTimer::singleShot
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE setTimeout(const QJSValue& func, const int delay, const
      QJSValueList& params = {}, const QObject* context = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 366
    functionName: MainCtx::platformHandlesResizeWithCSD
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE platformHandlesResizeWithCSD() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 367
    functionName: MainCtx::platformHandlesTitleBarButtonsWithCSD
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE platformHandlesTitleBarButtonsWithCSD() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 368
    functionName: MainCtx::platformHandlesShadowsWithCSD
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE platformHandlesShadowsWithCSD() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: usingTouchChanged
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - touch
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 376
    functionName: MainCtx::setUsingTouch
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached:
    - usingTouchChanged
    linkageType: ''
    returnType: void
    signature: void setUsingTouch(bool touch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 396
    functionName: MainCtx::csdButtonModel
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: CSDButtonModel
    signature: CSDButtonModel *csdButtonModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 398
    functionName: MainCtx::getMainInterfaceModes
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MainInterfaceModes
    signature: MainInterfaceModes getMainInterfaceModes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 401
    functionName: MainCtx::getInitialEffectiveMainInterfaceMode
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MainInterfaceMode
    signature: MainInterfaceMode getInitialEffectiveMainInterfaceMode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - name
    - uri
    argTypes:
    - QString
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: ModelEntry
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ModelEntry( QString name, QString uri, QString icon = {}, QString
      iconSvg = {})
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:50,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:50,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:51,1
    - Dst: static_cast<size_t>
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:55,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:57,1
    - Dst: static_cast<size_t>
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:62,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:64,1
    - Dst: getIndexPath
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:65,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - index
    - ' vectorOut'
    argTypes:
    - size_t
    - std::vector<size_t>
    assertStmts:
    - condition: (index <= children.size())
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp
    constantsTouched: []
    func_position:
      end: 74
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 74
    functionName: getIndexPath
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp
    functionUses: 1
    functionsReached:
    - assert
    - static_cast<size_t>
    - push_back
    - size
    - getIndexPath
    linkageType: ''
    returnType: bool
    signature: bool getIndexPath(size_t index, std::vector<size_t>& vectorOut) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:81,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:83,1
    - Dst: static_cast<size_t>
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:88,1
    - Dst: getExpandIndexRange
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - ' it'
    - ' end'
    - index
    argTypes:
    - PathIterator
    - PathIterator
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 92
    functionName: getExpandIndexRange
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp
    functionUses: 1
    functionsReached:
    - size
    - static_cast<size_t>
    - getExpandIndexRange
    linkageType: ''
    returnType: std::tuple<int, int>
    signature: std::tuple<int, int> getExpandIndexRange(const PathIterator& it, const
      PathIterator& end, size_t index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:98,1
    - Dst: expand
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:103,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' it'
    - ' end'
    argTypes:
    - PathIterator
    - PathIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: expand
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp
    functionUses: 1
    functionsReached:
    - size
    - expand
    linkageType: ''
    returnType: void
    signature: void expand(const PathIterator& it, const PathIterator& end)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:141,1
    - Dst: getRetractRange
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:144,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - ' it'
    - ' end'
    - policy
    argTypes:
    - PathIterator
    - PathIterator
    - RectractRangePolicy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 147
    functionName: getRetractRange
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp
    functionUses: 1
    functionsReached:
    - getRetractRange
    - static_cast<size_t>
    linkageType: ''
    returnType: std::tuple<int, int>
    signature: std::tuple<int, int> getRetractRange(const PathIterator& it, const
      PathIterator& end, RectractRangePolicy policy, size_t index = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _retractAll
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: _retractAll
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp
    functionUses: 1
    functionsReached:
    - _retractAll
    linkageType: ''
    returnType: void
    signature: void _retractAll()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _retractAll
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:164,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:166,1
    - Dst: retract
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:171,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' it'
    - ' end'
    argTypes:
    - PathIterator
    - PathIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 174
    functionName: retract
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp
    functionUses: 1
    functionsReached:
    - _retractAll
    - size
    - retract
    linkageType: ''
    returnType: void
    signature: void retract(const PathIterator& it, const PathIterator& end)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getName
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' it'
    - ' end'
    argTypes:
    - PathIterator
    - PathIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 182
    functionName: getName
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp
    functionUses: 15
    functionsReached:
    - getName
    linkageType: ''
    returnType: QString
    signature: QString getName(const PathIterator& it, const PathIterator& end) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:187,1
    - Dst: isExpandable
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' it'
    - ' end'
    argTypes:
    - PathIterator
    - PathIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: isExpandable
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp
    functionUses: 1
    functionsReached:
    - isExpandable
    - size
    linkageType: ''
    returnType: bool
    signature: bool isExpandable(const PathIterator& it, const PathIterator& end)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isExpanded
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' it'
    - ' end'
    argTypes:
    - PathIterator
    - PathIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 198
    functionName: isExpanded
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp
    functionUses: 1
    functionsReached:
    - isExpanded
    linkageType: ''
    returnType: bool
    signature: bool isExpanded(const PathIterator& it, const PathIterator& end) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDepth
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' it'
    - ' end'
    argTypes:
    - PathIterator
    - PathIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: getDepth
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp
    functionUses: 1
    functionsReached:
    - getDepth
    linkageType: ''
    returnType: int
    signature: int getDepth(const PathIterator& it, const PathIterator& end) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getIcon
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' it'
    - ' end'
    argTypes:
    - PathIterator
    - PathIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 214
    functionName: getIcon
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp
    functionUses: 1
    functionsReached:
    - getIcon
    linkageType: ''
    returnType: QString
    signature: QString getIcon(const PathIterator& it, const PathIterator& end) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getIconSvg
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' it'
    - ' end'
    argTypes:
    - PathIterator
    - PathIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: getIconSvg
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp
    functionUses: 1
    functionsReached:
    - getIconSvg
    linkageType: ''
    returnType: QString
    signature: QString getIconSvg(const PathIterator& it, const PathIterator& end)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getIndex
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' it'
    - ' end'
    argTypes:
    - PathIterator
    - PathIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 230
    functionName: getIndex
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp
    functionUses: 2
    functionsReached:
    - getIndex
    linkageType: ''
    returnType: int
    signature: int getIndex(const PathIterator& it, const PathIterator& end) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' it'
    - ' end'
    argTypes:
    - PathIterator
    - PathIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 238
    functionName: getModelEntry
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ModelEntry
    signature: ModelEntry * getModelEntry(const PathIterator& it, const PathIterator&
      end) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getUri
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - it
    - ' end'
    - out
    argTypes:
    - PathIterator
    - PathIterator
    - OutIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 253
    functionName: getUri
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp
    functionUses: 1
    functionsReached:
    - getUri
    linkageType: ''
    returnType: void
    signature: "void getUri(\n        PathIterator it, const PathIterator& end,\n
      \       OutIterator out) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - q
    argTypes:
    - NavigationModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: NavigationModelPrivate::NavigationModelPrivate
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp
    functionUses: 0
    functionsReached:
    - qtr
    linkageType: ''
    returnType: void
    signature: void NavigationModelPrivate(NavigationModel* q)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: children::emplace_back
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:268,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:268,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:268,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:272,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:272,1
    - Dst: ModelEntry::children::emplace_back
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:273,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:273,1
    - Dst: ModelEntry::children::emplace_back
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:274,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:274,1
    - Dst: children::push_back
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:275,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:275,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:277,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:277,1
    - Dst: ModelEntry::children::emplace_back
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:278,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:278,1
    - Dst: ModelEntry::children::emplace_back
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:279,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:279,1
    - Dst: ModelEntry::children::emplace_back
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:280,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:280,1
    - Dst: ModelEntry::children::emplace_back
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:281,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:281,1
    - Dst: ModelEntry::children::emplace_back
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:282,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:282,1
    - Dst: children::push_back
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:283,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:283,1
    - Dst: children::emplace_back
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:286,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:286,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:286,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:288,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:288,1
    - Dst: ModelEntry::children::emplace_back
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:289,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:289,1
    - Dst: ModelEntry::children::emplace_back
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:291,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:291,1
    - Dst: children::push_back
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:292,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:292,1
    - Dst: children::size
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 295
    functionName: NavigationModelPrivate::initilializeModel
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp
    functionUses: 0
    functionsReached:
    - QStringLiteral
    - children::emplace_back
    - ModelEntry::children::emplace_back
    - children::push_back
    - qtr
    - std::move
    - children::size
    linkageType: ''
    returnType: void
    signature: void initilializeModel()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:299,1
    - Dst: getIndexPath
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:302,1
    - Dst: getIndexPath
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:305,1
    - Dst: std::vector::cbegin
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:314,1
    - Dst: std::vector::cend
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:315,1
    - Dst: getRetractRange
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:316,1
    - Dst: std::get<0>
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:321,1
    - Dst: beginRemoveRows
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:323,1
    - Dst: std::get<0>
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:323,1
    - Dst: std::get<1>
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:323,1
    - Dst: retract
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:325,1
    - Dst: endRemoveRows
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:326,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:330,1
    - Dst: dataChanged
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:331,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:334,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:336,1
    - Dst: dataChanged
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:337,1
    - Dst: static_cast<size_t>
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:344,1
    - Dst: std::vector::cbegin
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:347,1
    - Dst: std::vector::cbegin
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:348,1
    - Dst: std::vector::cbegin
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:350,1
    - Dst: std::vector::cend
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:351,1
    - Dst: std::vector::cend
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:352,1
    - Dst: getRetractRange
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:360,1
    - Dst: std::get<0>
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:364,1
    - Dst: beginRemoveRows
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:366,1
    - Dst: std::get<0>
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:366,1
    - Dst: std::get<1>
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:366,1
    - Dst: retract
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:367,1
    - Dst: endRemoveRows
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:368,1
    - Dst: getExpandIndexRange
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:371,1
    - Dst: std::vector::cbegin
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:371,1
    - Dst: std::vector::cend
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:371,1
    - Dst: std::get<0>
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:372,1
    - Dst: beginInsertRows
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:374,1
    - Dst: std::get<0>
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:374,1
    - Dst: std::get<1>
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:374,1
    - Dst: expand
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:375,1
    - Dst: std::vector::cbegin
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:375,1
    - Dst: std::vector::cend
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:375,1
    - Dst: endInsertRows
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:376,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:385,1
    - Dst: dataChanged
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:387,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:390,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:392,1
    - Dst: dataChanged
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:393,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 2
    argNames:
    - newExpandedIndex
    - expanded
    argTypes:
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 297
    functionDepth: 3
    functionLinenumber: 297
    functionLinenumberEnd: 398
    functionName: NavigationModelPrivate::setExpanded
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp
    functionUses: 0
    functionsReached:
    - endInsertRows
    - std::vector::cbegin
    - getRetractRange
    - endRemoveRows
    - std::get<1>
    - static_cast<size_t>
    - Q_Q
    - getIndexPath
    - retract
    - getExpandIndexRange
    - index
    - beginInsertRows
    - expand
    - std::get<0>
    - dataChanged
    - rowCount
    - beginRemoveRows
    - std::vector::cend
    linkageType: ''
    returnType: bool
    signature: bool setExpanded(size_t newExpandedIndex, bool expanded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NavigationModelPrivate::NavigationModelPrivate
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 413
    functionName: NavigationModel::NavigationModel
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp
    functionUses: 0
    functionsReached:
    - NavigationModelPrivate::NavigationModelPrivate
    linkageType: ''
    returnType: void
    signature: void NavigationModel::NavigationModel(QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 416
    functionName: NavigationModel::~NavigationModel()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NavigationModel::~NavigationModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:423,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:424,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:425,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:427,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:428,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:429,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:430,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 433
    functionName: NavigationModel::roleNames
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp
    functionUses: 0
    functionsReached:
    - QByteArrayLiteral
    linkageType: ''
    returnType: QHash<int,QByteArray>
    signature: QHash<int,QByteArray> NavigationModel::roleNames() const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:438,1
    - Dst: m_model::getIndexPath
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:443,1
    - Dst: m_model::getName
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:449,1
    - Dst: std::vector::cbegin
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:449,1
    - Dst: std::vector::cend
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:449,1
    - Dst: m_model::getUri
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:453,1
    - Dst: std::vector::cbegin
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:453,1
    - Dst: std::vector::cend
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:453,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:453,1
    - Dst: QStringList::pop_front
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:455,1
    - Dst: m_model::getDepth
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:460,1
    - Dst: std::vector::cbegin
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:460,1
    - Dst: std::vector::cend
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:460,1
    - Dst: m_model::getIcon
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:462,1
    - Dst: std::vector::cbegin
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:462,1
    - Dst: std::vector::cend
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:462,1
    - Dst: m_model::getIconSvg
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:464,1
    - Dst: std::vector::cbegin
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:464,1
    - Dst: std::vector::cend
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:464,1
    - Dst: m_model::isExpandable
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:466,1
    - Dst: std::vector::cbegin
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:466,1
    - Dst: std::vector::cend
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:466,1
    - Dst: m_model::isExpanded
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:468,1
    - Dst: std::vector::cbegin
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:468,1
    - Dst: std::vector::cend
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:468,1
    - Dst: m_model::getModelEntry
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:471,1
    - Dst: std::vector::cbegin
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:471,1
    - Dst: std::vector::cend
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:471,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:472,1
    - Dst: QList::reserve
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:477,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:477,1
    - Dst: m_model::getUri
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:481,1
    - Dst: std::vector::cbegin
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:481,1
    - Dst: std::vector::cend
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:481,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:481,1
    - Dst: QStringList::pop_front
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:483,1
    - Dst: QStringList::push_back
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:484,1
    - Dst: QList::emplace_back
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:486,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:489,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 2
    argNames:
    - index
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts:
    - condition: (modelEntry)
      pos:
        line_end: 471
        line_start: 471
        source_file: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp
    constantsTouched: []
    func_position:
      end: 495
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 495
    functionName: NavigationModel::data
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp
    functionUses: 0
    functionsReached:
    - assert
    - QStringList::push_back
    - size
    - m_model::isExpandable
    - std::vector::cbegin
    - m_model::getUri
    - m_model::getModelEntry
    - QList::reserve
    - QList::emplace_back
    - std::vector::cend
    - m_model::getIconSvg
    - m_model::getIcon
    - m_model::isExpanded
    - QModelIndex::row
    - m_model::getIndexPath
    - m_model::getName
    - std::back_inserter
    - m_model::getDepth
    - fromValue
    - QStringList::pop_front
    linkageType: ''
    returnType: QVariant
    signature: QVariant NavigationModel::data(const QModelIndex &index, int role)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:499,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:500,1
    - Dst: setExpanded
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:507,1
    - Dst: QVariant::toBool
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - index
    - value
    - role
    argTypes:
    - QModelIndex
    - QVariant
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 508
    functionName: NavigationModel::setData
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp
    functionUses: 0
    functionsReached:
    - QVariant::toBool
    - QModelIndex::row
    - setExpanded
    - Q_D
    linkageType: ''
    returnType: bool
    signature: bool NavigationModel::setData(const QModelIndex &index, const QVariant
      &value, int role)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 514
    functionName: NavigationModel::rowCount
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int NavigationModel::rowCount(const QModelIndex &) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 520
    functionName: NavigationModel::classBegin
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NavigationModel::classBegin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:524,1
    - Dst: initilializeModel
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 526
    functionName: NavigationModel::componentComplete
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp
    functionUses: 0
    functionsReached:
    - initilializeModel
    - Q_D
    linkageType: ''
    returnType: void
    signature: void NavigationModel::componentComplete()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 534
    functionName: NavigationModel::hasMedialib
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NavigationModel::hasMedialib() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hasMedialib
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 543
    functionName: NavigationModel::setHasMedialib
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/navigationmodel.cpp
    functionUses: 0
    functionsReached:
    - Q_D
    linkageType: ''
    returnType: void
    signature: void NavigationModel::setHasMedialib(bool hasMedialib)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:32,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:34,1
    - Dst: platformName
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:35,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:35,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:37,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:39,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - intf
    - parent
    argTypes:
    - qt_intf_t*
    - QObject*
    assertStmts:
    - condition: (qGuiApp)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp
    constantsTouched: []
    func_position:
      end: 43
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 43
    functionName: VideoWindowHandler::VideoWindowHandler
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp
    functionUses: 0
    functionsReached:
    - assert
    - QLatin1String
    - var_InheritBool
    - platformName
    - connect
    linkageType: ''
    returnType: void
    signature: void VideoWindowHandler::VideoWindowHandler(qt_intf_t* intf, QObject
      *parent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WindowStateHolder::holdOnTop
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:51,1
    - Dst: WindowStateHolder::holdFullscreen
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - window
    argTypes:
    - QWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: VideoWindowHandler::setWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp
    functionUses: 0
    functionsReached:
    - WindowStateHolder::holdOnTop
    - WindowStateHolder::holdFullscreen
    linkageType: ''
    returnType: void
    signature: void VideoWindowHandler::setWindow(QWindow* window)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: VideoWindowHandler::disable
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VideoWindowHandler::disable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: windowStates
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - i_width
    - i_height
    argTypes:
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: VideoWindowHandler::requestResizeVideo
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp
    functionUses: 0
    functionsReached:
    - windowStates
    linkageType: ''
    returnType: void
    signature: void VideoWindowHandler::requestResizeVideo( unsigned i_width, unsigned
      i_height )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: VideoWindowHandler::requestVideoWindowed
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VideoWindowHandler::requestVideoWindowed( )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: VideoWindowHandler::requestVideoFullScreen
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VideoWindowHandler::requestVideoFullScreen(const char * )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i_arg
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: VideoWindowHandler::requestVideoState
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VideoWindowHandler::requestVideoState(  unsigned i_arg )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: windowStates
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:91,1
    - Dst: screen
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:115,1
    - Dst: devicePixelRatio
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:116,1
    - Dst: QRect::height
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:117,1
    - Dst: QRect::width
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:119,1
    - Dst: QRect::height
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:120,1
    - Dst: qRound
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:126,1
    - Dst: qRound
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:127,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:128,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:146,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:147,1
    - Dst: p_compositor::quickWindow
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:148,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:149,1
    - Dst: auto::contentItem
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:150,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:151,1
    - Dst: auto::findChild
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:162,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:162,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:167,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:168,1
    - Dst: auto::width
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:170,1
    - Dst: auto::width
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:170,1
    - Dst: auto::height
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:171,1
    - Dst: auto::height
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:171,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:172,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:174,1
    - Dst: resize
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:182,1
    - Dst: std::clamp<int>
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:182,1
    - Dst: minimumWidth
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:182,1
    - Dst: maximumWidth
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:182,1
    - Dst: std::clamp<int>
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:183,1
    - Dst: minimumHeight
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:183,1
    - Dst: maximumHeight
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:183,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - w
    - h
    - currentStates
    argTypes:
    - unsigned int
    - unsigned int
    - Qt::WindowStates
    assertStmts:
    - condition: (contentItem)
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp
    - condition: (m_intf->p_compositor)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp
    - condition: (m_intf)
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp
    - condition: (dW >= 0 && dH >= 0)
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp
    - condition: (quickWindow)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp
    constantsTouched: []
    func_position:
      end: 186
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 186
    functionName: VideoWindowHandler::setVideoSize
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp
    functionUses: 0
    functionsReached:
    - maximumHeight
    - assert
    - auto::findChild
    - QRect::width
    - QRect::height
    - resize
    - size
    - p_compositor::quickWindow
    - msg_Dbg
    - auto::height
    - minimumHeight
    - auto::size
    - devicePixelRatio
    - auto::contentItem
    - maximumWidth
    - std::clamp<int>
    - qRound
    - auto::width
    - screen
    - QStringLiteral
    - windowStates
    - minimumWidth
    linkageType: ''
    returnType: void
    signature: void VideoWindowHandler::setVideoSize(unsigned int w, unsigned int
      h, Qt::WindowStates currentStates)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:195,1
    - Dst: QApplication::screens
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:197,1
    - Dst: auto::count
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:198,1
    - Dst: geometry
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:200,1
    - Dst: screen
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:201,1
    - Dst: setScreen
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:203,1
    - Dst: QRect::contains
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:206,1
    - Dst: position
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:206,1
    - Dst: setPosition
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:208,1
    - Dst: QRect::x
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:208,1
    - Dst: QRect::y
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:208,1
    - Dst: WindowStateHolder::holdFullscreen
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:211,1
    - Dst: WindowStateHolder::holdFullscreen
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:215,1
    - Dst: setScreen
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:218,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - fs
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 220
    functionName: VideoWindowHandler::setVideoFullScreen
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp
    functionUses: 0
    functionsReached:
    - geometry
    - screen
    - WindowStateHolder::holdFullscreen
    - QRect::x
    - QRect::y
    - var_InheritInteger
    - auto::count
    - position
    - setScreen
    - setPosition
    - QApplication::screens
    - QRect::contains
    linkageType: ''
    returnType: void
    signature: void VideoWindowHandler::setVideoFullScreen( bool fs )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WindowStateHolder::holdOnTop
      Src: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - on_top
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 230
    functionName: VideoWindowHandler::setVideoOnTop
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/video_window_handler.cpp
    functionUses: 0
    functionsReached:
    - WindowStateHolder::holdOnTop
    linkageType: ''
    returnType: void
    signature: void VideoWindowHandler::setVideoOnTop( bool on_top )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: qgetenv
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:42,1
    - Dst: setSurfaceType
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:44,1
    - Dst: QSurfaceFormat::setDepthBufferSize
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:48,1
    - Dst: QSurfaceFormat::setStencilBufferSize
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:49,1
    - Dst: QSurfaceFormat::setAlphaBufferSize
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:50,1
    - Dst: QSurfaceFormat::setSwapInterval
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:51,1
    - Dst: QSurfaceFormat::setSwapBehavior
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:54,1
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:57,1
    - Dst: QApplication::platformName
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:57,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:57,1
    - Dst: qEnvironmentVariable
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:58,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:58,1
    - Dst: CompositorX11UISurface::applyNvidiaWorkaround
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:60,1
    - Dst: setFormat
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:63,1
    - Dst: QOpenGLContext::QOpenGLContext
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:65,1
    - Dst: setScreen
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:66,1
    - Dst: CompositorX11UISurface::screen
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:66,1
    - Dst: setFormat
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:67,1
    - Dst: create
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:68,1
    - Dst: QBackingStore::QBackingStore
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:72,1
    - Dst: QPainter::QPainter
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:73,1
    - Dst: setCompositionMode
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:74,1
    - Dst: CompositorX11RenderControl::CompositorX11RenderControl
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:77,1
    - Dst: CompositorOffscreenWindow::CompositorOffscreenWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:79,1
    - Dst: setDefaultAlphaBuffer
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:80,1
    - Dst: setFormat
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:81,1
    - Dst: format
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:81,1
    - Dst: setColor
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:82,1
    - Dst: QQmlEngine::QQmlEngine
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:84,1
    - Dst: incubationController
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:85,1
    - Dst: setIncubationController
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:86,1
    - Dst: incubationController
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:86,1
    - Dst: installEventFilter
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:88,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:92,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:93,1
    - Dst: makeCurrent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:94,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:95,1
    - Dst: CompositorX11UISurface::createFbo
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:96,1
    - Dst: doneCurrent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:97,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:99,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:100,1
    - Dst: Q_LIKELY
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:101,1
    - Dst: makeCurrent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:101,1
    - Dst: CompositorX11UISurface::destroyFbo
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:103,1
    - Dst: doneCurrent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:104,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:109,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:110,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:112,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:114,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 50
    argCount: 2
    argNames:
    - window
    - screen
    argTypes:
    - QWindow*
    - QScreen*
    assertStmts:
    - condition: (m_context)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp
    - condition: (ret)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp
    - condition: (m_context)
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp
    constantsTouched: []
    func_position:
      end: 116
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 116
    functionName: CompositorX11UISurface::CompositorX11UISurface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp
    functionUses: 0
    functionsReached:
    - setSurfaceType
    - assert
    - Q_UNLIKELY
    - qEnvironmentVariable
    - CompositorX11UISurface::screen
    - connect
    - incubationController
    - create
    - setColor
    - QApplication::platformName
    - CompositorX11UISurface::destroyFbo
    - CompositorX11UISurface::applyNvidiaWorkaround
    - format
    - setFormat
    - QSurfaceFormat::setDepthBufferSize
    - doneCurrent
    - CompositorX11RenderControl::CompositorX11RenderControl
    - QPainter::QPainter
    - setDefaultAlphaBuffer
    - QBackingStore::QBackingStore
    - CompositorOffscreenWindow::CompositorOffscreenWindow
    - QSurfaceFormat::setStencilBufferSize
    - QLatin1String
    - Q_LIKELY
    - QSurfaceFormat::setSwapInterval
    - QOpenGLContext::QOpenGLContext
    - QSurfaceFormat::setAlphaBufferSize
    - qgetenv
    - setCompositionMode
    - setIncubationController
    - QQmlEngine::QQmlEngine
    - setScreen
    - CompositorX11UISurface::createFbo
    - QSurfaceFormat::setSwapBehavior
    - makeCurrent
    - installEventFilter
    linkageType: ''
    returnType: void
    signature: void CompositorX11UISurface::CompositorX11UISurface(QWindow* window,
      QScreen* screen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: removeEventFilter
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:120,1
    - Dst: QOffscreenSurface::QOffscreenSurface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:125,1
    - Dst: QOffscreenSurface*::setFormat
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:126,1
    - Dst: format
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:126,1
    - Dst: QOffscreenSurface*::create
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:127,1
    - Dst: makeCurrent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:133,1
    - Dst: CompositorX11UISurface::destroyFbo
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:143,1
    - Dst: doneCurrent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 149
    functionName: CompositorX11UISurface::~CompositorX11UISurface()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp
    functionUses: 0
    functionsReached:
    - QOffscreenSurface*::setFormat
    - QOffscreenSurface::QOffscreenSurface
    - CompositorX11UISurface::destroyFbo
    - format
    - QOffscreenSurface*::create
    - doneCurrent
    - makeCurrent
    - removeEventFilter
    linkageType: ''
    returnType: void
    signature: void CompositorX11UISurface::~CompositorX11UISurface()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:154,1
    - Dst: setParent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:157,1
    - Dst: contentItem
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:157,1
    - Dst: setParentItem
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:158,1
    - Dst: contentItem
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:158,1
    - Dst: setSize
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:160,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:160,1
    - Dst: forceActiveFocus
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:162,1
    - Dst: makeCurrent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:166,1
    - Dst: setGraphicsDevice
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:167,1
    - Dst: QQuickGraphicsDevice::fromOpenGLContext
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:167,1
    - Dst: initialize
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - rootItem
    argTypes:
    - QQuickItem*
    assertStmts:
    - condition: (rootItem)
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp
    constantsTouched: []
    func_position:
      end: 172
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 172
    functionName: CompositorX11UISurface::setContent
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp
    functionUses: 0
    functionsReached:
    - setGraphicsDevice
    - initialize
    - assert
    - setParentItem
    - contentItem
    - size
    - QQuickGraphicsDevice::fromOpenGLContext
    - setParent
    - forceActiveFocus
    - setSize
    - makeCurrent
    linkageType: ''
    returnType: void
    signature: void CompositorX11UISurface::setContent(QQuickItem* rootItem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompositorX11UISurface::activeFocusItem
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: CompositorX11UISurface::activeFocusItem
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp
    functionUses: 1
    functionsReached:
    - CompositorX11UISurface::activeFocusItem
    linkageType: ''
    returnType: QQuickItem
    signature: QQuickItem * CompositorX11UISurface::activeFocusItem() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: CompositorX11UISurface::getOffscreenWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QQuickWindow
    signature: QQuickWindow * CompositorX11UISurface::getOffscreenWindow() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: devicePixelRatio
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:188,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:189,1
    - Dst: devicePixelRatio
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:189,1
    - Dst: functions
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:190,1
    - Dst: QOpenGLFunctions*::glGenTextures
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:191,1
    - Dst: QOpenGLFunctions*::glBindTexture
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:192,1
    - Dst: QOpenGLFunctions*::glTexParameteri
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:193,1
    - Dst: QOpenGLFunctions*::glTexParameteri
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:194,1
    - Dst: QOpenGLFunctions*::glTexImage2D
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:195,1
    - Dst: QSize::width
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:195,1
    - Dst: QSize::height
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:195,1
    - Dst: setRenderTarget
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:198,1
    - Dst: QQuickRenderTarget::fromOpenGLTexture
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:198,1
    - Dst: QOpenGLFunctions*::glGenFramebuffers
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:200,1
    - Dst: functions
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:202,1
    - Dst: functions
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 206
    functionName: CompositorX11UISurface::createFbo
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp
    functionUses: 1
    functionsReached:
    - QQuickRenderTarget::fromOpenGLTexture
    - devicePixelRatio
    - functions
    - size
    - QOpenGLFunctions*::glGenTextures
    - setRenderTarget
    - QOpenGLFunctions*::glTexParameteri
    - QOpenGLFunctions*::glBindTexture
    - QSize::width
    - QOpenGLFunctions*::glTexImage2D
    - QSize::height
    - QOpenGLFunctions*::glGenFramebuffers
    linkageType: ''
    returnType: void
    signature: void CompositorX11UISurface::createFbo()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: functions
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:212,1
    - Dst: functions
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 220
    functionName: CompositorX11UISurface::destroyFbo
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp
    functionUses: 2
    functionsReached:
    - functions
    linkageType: ''
    returnType: void
    signature: void CompositorX11UISurface::destroyFbo()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isExposed
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:224,1
    - Dst: makeCurrent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:229,1
    - Dst: beginFrame
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:232,1
    - Dst: polishItems
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:235,1
    - Dst: sync
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:236,1
    - Dst: CompositorX11UISurface::render
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:239,1
    - Dst: endFrame
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:243,1
    - Dst: functions
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:244,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:246,1
    - Dst: devicePixelRatio
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:246,1
    - Dst: functions
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:249,1
    - Dst: QSize::width
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:249,1
    - Dst: QSize::height
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:249,1
    - Dst: extraFunctions
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:250,1
    - Dst: QSize::width
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:250,1
    - Dst: QSize::height
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:250,1
    - Dst: functions
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:251,1
    - Dst: functions
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:252,1
    - Dst: defaultFramebufferObject
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:252,1
    - Dst: extraFunctions
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:253,1
    - Dst: QSize::width
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:253,1
    - Dst: QSize::height
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:253,1
    - Dst: QSize::width
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:253,1
    - Dst: QSize::height
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:253,1
    - Dst: swapBuffers
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:254,1
    - Dst: beginPaint
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:258,1
    - Dst: geometry
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:258,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:259,1
    - Dst: paintDevice
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:259,1
    - Dst: drawImage
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:260,1
    - Dst: QPoint
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:260,1
    - Dst: grabWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:260,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:261,1
    - Dst: endPaint
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:262,1
    - Dst: flush
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:263,1
    - Dst: geometry
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 271
    functionName: CompositorX11UISurface::render
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp
    functionUses: 1
    functionsReached:
    - drawImage
    - swapBuffers
    - polishItems
    - QSize::width
    - isExposed
    - paintDevice
    - size
    - begin
    - endFrame
    - extraFunctions
    - beginPaint
    - QSize::height
    - devicePixelRatio
    - QPoint
    - defaultFramebufferObject
    - flush
    - CompositorX11UISurface::render
    - end
    - geometry
    - beginFrame
    - functions
    - grabWindow
    - endPaint
    - sync
    - makeCurrent
    linkageType: ''
    returnType: bool
    signature: bool CompositorX11UISurface::render()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:275,1
    - Dst: devicePixelRatio
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:277,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:278,1
    - Dst: resize
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:283,1
    - Dst: setSize
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:287,1
    - Dst: resize
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_uiWindow)
      pos:
        line_end: 274
        line_start: 274
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp
    constantsTouched: []
    func_position:
      end: 289
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 289
    functionName: CompositorX11UISurface::updateSizes
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp
    functionUses: 0
    functionsReached:
    - devicePixelRatio
    - assert
    - resize
    - size
    - setSize
    linkageType: ''
    returnType: void
    signature: void CompositorX11UISurface::updateSizes()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:293,1
    - Dst: CompositorX11UISurface::render
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:296,1
    - Dst: item_event
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - event
    argTypes:
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 301
    functionName: CompositorX11UISurface::event
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp
    functionUses: 0
    functionsReached:
    - QEvent*::type
    - item_event
    - CompositorX11UISurface::render
    linkageType: ''
    returnType: bool
    signature: bool CompositorX11UISurface::event(QEvent *event)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: qobject_cast<QQuickItem *>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:306,1
    - Dst: QInputMethodQueryEvent*::queries
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:312,1
    - Dst: QInputMethodQueryEvent*::value
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:314,1
    - Dst: auto::canConvert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:315,1
    - Dst: QInputMethodQueryEvent*::setValue
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:316,1
    - Dst: auto::mapRectToScene
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:316,1
    - Dst: auto::toRectF
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:316,1
    - Dst: QInputMethodQueryEvent*::queries
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:320,1
    - Dst: QInputMethodQueryEvent*::value
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:322,1
    - Dst: auto::canConvert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:323,1
    - Dst: QInputMethodQueryEvent*::setValue
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:324,1
    - Dst: auto::mapToScene
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:324,1
    - Dst: auto::toPointF
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:324,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - object
    - e
    argTypes:
    - QObject*
    - QInputMethodQueryEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 326
    functionName: remapInputMethodQueryEvent
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp
    functionUses: 0
    functionsReached:
    - auto::toRectF
    - QInputMethodQueryEvent*::value
    - QInputMethodQueryEvent*::setValue
    - auto::canConvert
    - qobject_cast<QQuickItem *>
    - QInputMethodQueryEvent*::queries
    - auto::mapRectToScene
    - auto::mapToScene
    - auto::toPointF
    linkageType: ''
    returnType: void
    signature: void remapInputMethodQueryEvent(QObject *object, QInputMethodQueryEvent
      *e)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:330,1
    - Dst: QEvent*::type
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:331,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:345,1
    - Dst: auto::isVisible
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:346,1
    - Dst: QCoreApplication::sendEvent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:347,1
    - Dst: mapToGlobal
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:357,1
    - Dst: QPoint
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:357,1
    - Dst: position
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:358,1
    - Dst: setPosition
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:359,1
    - Dst: static_cast<QResizeEvent*>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:365,1
    - Dst: resize
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:366,1
    - Dst: QResizeEvent*::size
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:366,1
    - Dst: resize
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:367,1
    - Dst: QResizeEvent*::size
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:367,1
    - Dst: CompositorX11UISurface::resizeFbo
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:369,1
    - Dst: CompositorX11UISurface::updateSizes
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:370,1
    - Dst: QCoreApplication::sendEvent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:378,1
    - Dst: static_cast<QEnterEvent *>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:383,1
    - Dst: QEnterEvent*::position
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:384,1
    - Dst: QEnterEvent*::scenePosition
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:384,1
    - Dst: QEnterEvent*::globalPosition
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:385,1
    - Dst: QCoreApplication::sendEvent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:386,1
    - Dst: QEvent*::setAccepted
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:387,1
    - Dst: QEnterEvent::isAccepted
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:387,1
    - Dst: QCoreApplication::sendEvent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:394,1
    - Dst: setPseudoVisible
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:397,1
    - Dst: setPseudoVisible
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:400,1
    - Dst: QCoreApplication::sendEvent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:403,1
    - Dst: focusObject
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:403,1
    - Dst: QCoreApplication::sendEvent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:407,1
    - Dst: focusObject
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:407,1
    - Dst: remapInputMethodQueryEvent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:412,1
    - Dst: focusObject
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:412,1
    - Dst: static_cast<QInputMethodQueryEvent *>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:412,1
    - Dst: static_cast<QMouseEvent*>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:421,1
    - Dst: QMouseEvent*::type
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:422,1
    - Dst: QMouseEvent*::position
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:422,1
    - Dst: QMouseEvent*::position
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:423,1
    - Dst: QMouseEvent*::globalPosition
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:423,1
    - Dst: QMouseEvent*::button
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:424,1
    - Dst: QMouseEvent*::buttons
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:424,1
    - Dst: QMouseEvent*::modifiers
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:425,1
    - Dst: QMouseEvent*::source
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:425,1
    - Dst: QCoreApplication::sendEvent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:426,1
    - Dst: QCoreApplication::sendEvent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:439,1
    - Dst: QCoreApplication::sendEvent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:444,1
    - Dst: setScreen
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:448,1
    - Dst: screen
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:448,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 82
    argCount: 1
    argNames:
    - event
    argTypes:
    - QEvent*
    assertStmts:
    - condition: (event)
      pos:
        line_end: 329
        line_start: 329
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp
    constantsTouched: []
    func_position:
      end: 455
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 455
    functionName: CompositorX11UISurface::eventFilter
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp
    functionUses: 0
    functionsReached:
    - QEnterEvent*::globalPosition
    - assert
    - QMouseEvent*::type
    - QMouseEvent*::button
    - position
    - auto::isVisible
    - setPosition
    - mapToGlobal
    - QMouseEvent*::position
    - resize
    - QEvent*::type
    - QEnterEvent::isAccepted
    - remapInputMethodQueryEvent
    - focusObject
    - static_cast<QInputMethodQueryEvent *>
    - CompositorX11UISurface::resizeFbo
    - static_cast<QEnterEvent *>
    - QEnterEvent*::scenePosition
    - QMouseEvent*::source
    - QPoint
    - QResizeEvent*::size
    - QCoreApplication::sendEvent
    - static_cast<QResizeEvent*>
    - CompositorX11UISurface::updateSizes
    - QEvent*::setAccepted
    - static_cast<QMouseEvent*>
    - property
    - screen
    - QMouseEvent*::modifiers
    - QEnterEvent*::position
    - setPseudoVisible
    - setScreen
    - QMouseEvent*::buttons
    - QMouseEvent*::globalPosition
    linkageType: ''
    returnType: bool
    signature: bool CompositorX11UISurface::eventFilter(QObject*, QEvent *event)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: makeCurrent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:461,1
    - Dst: CompositorX11UISurface::destroyFbo
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:464,1
    - Dst: CompositorX11UISurface::createFbo
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:465,1
    - Dst: doneCurrent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:466,1
    - Dst: CompositorX11UISurface::updateSizes
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:467,1
    - Dst: CompositorX11UISurface::render
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 472
    functionName: CompositorX11UISurface::resizeFbo
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp
    functionUses: 1
    functionsReached:
    - CompositorX11UISurface::render
    - CompositorX11UISurface::destroyFbo
    - CompositorX11UISurface::updateSizes
    - CompositorX11UISurface::createFbo
    - doneCurrent
    - makeCurrent
    linkageType: ''
    returnType: bool
    signature: bool CompositorX11UISurface::resizeFbo()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:476,1
    - Dst: QThread::currentThread
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:476,1
    - Dst: thread
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:476,1
    - Dst: QOffscreenSurface::setFormat
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:479,1
    - Dst: QOffscreenSurface::create
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:480,1
    - Dst: QOpenGLContext::setFormat
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:483,1
    - Dst: QOpenGLContext::create
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:484,1
    - Dst: QOpenGLContext::makeCurrent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:484,1
    - Dst: QOpenGLContext::functions
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:487,1
    - Dst: QOpenGLFunctions*::glGetString
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:489,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:491,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:491,1
    - Dst: QSurfaceFormat::setSwapBehavior
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:494,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - format
    argTypes:
    - QSurfaceFormat
    assertStmts:
    - condition: (QThread::currentThread() == qApp->thread())
      pos:
        line_end: 475
        line_start: 475
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp
    constantsTouched: []
    func_position:
      end: 499
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 499
    functionName: CompositorX11UISurface::applyNvidiaWorkaround
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp
    functionUses: 1
    functionsReached:
    - assert
    - QOpenGLFunctions*::glGetString
    - QOpenGLContext::setFormat
    - QThread::currentThread
    - QOpenGLContext::create
    - thread
    - QOffscreenSurface::create
    - QOpenGLContext::makeCurrent
    - QOpenGLContext::functions
    - strcmp
    - reinterpret_cast<const char *>
    - QSurfaceFormat::setSwapBehavior
    - QOffscreenSurface::setFormat
    linkageType: ''
    returnType: void
    signature: void CompositorX11UISurface::applyNvidiaWorkaround(QSurfaceFormat &format)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:503,1
    - Dst: devicePixelRatio
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:503,1
    - Dst: CompositorX11UISurface::resizeFbo
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:506,1
    - Dst: CompositorX11UISurface::updateSizes
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 501
    functionDepth: 3
    functionLinenumber: 501
    functionLinenumberEnd: 509
    functionName: CompositorX11UISurface::resizeEvent
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp
    functionUses: 0
    functionsReached:
    - CompositorX11UISurface::updateSizes
    - size
    - devicePixelRatio
    - CompositorX11UISurface::resizeFbo
    linkageType: ''
    returnType: void
    signature: void CompositorX11UISurface::resizeEvent(QResizeEvent *)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isExposed
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:513,1
    - Dst: initialize
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:517,1
    - Dst: requestUpdate
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:520,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 522
    functionName: CompositorX11UISurface::exposeEvent
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp
    functionUses: 0
    functionsReached:
    - isExposed
    - initialize
    - requestUpdate
    linkageType: ''
    returnType: void
    signature: void CompositorX11UISurface::exposeEvent(QExposeEvent *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: requestUpdate
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 528
    functionName: CompositorX11UISurface::handleScreenChange
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp
    functionUses: 0
    functionsReached:
    - requestUpdate
    linkageType: ''
    returnType: void
    signature: void CompositorX11UISurface::handleScreenChange()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: focusObjectChanged
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 533
    functionName: CompositorX11UISurface::forwardFocusObjectChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp
    functionUses: 0
    functionsReached:
    - focusObjectChanged
    linkageType: ''
    returnType: void
    signature: void CompositorX11UISurface::forwardFocusObjectChanged(QObject* object)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QPoint
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - offset
    argTypes:
    - QPoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 540
    functionName: CompositorX11RenderControl::renderWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.cpp
    functionUses: 0
    functionsReached:
    - QPoint
    linkageType: ''
    returnType: QWindow
    signature: QWindow * CompositorX11RenderControl::renderWindow(QPoint* offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: vlc::CompositorWayland::canDoThreadedSurfaceUpdates
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool canDoThreadedSurfaceUpdates() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: vlc::CompositorWayland::canDoCombinedSurfaceUpdates
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool canDoCombinedSurfaceUpdates() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: vlc::CompositorWayland::canDoThreadedSurfaceUpdates
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool canDoThreadedSurfaceUpdates() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: vlc::CompositorWayland::canDoCombinedSurfaceUpdates
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_wayland.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool canDoCombinedSurfaceUpdates() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: MainUI::getComponent
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainui.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: QPointer<QQmlComponent>
    signature: QPointer<QQmlComponent> getComponent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: commonWindowEnable
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:48,1
    - Dst: enableVideoWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: CompositorX11::windowEnable
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp
    functionUses: 0
    functionsReached:
    - commonWindowEnable
    - enableVideoWindow
    linkageType: ''
    returnType: int
    signature: int CompositorX11::windowEnable(const vlc_window_cfg_t *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: disableVideoWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:55,1
    - Dst: commonWindowDisable
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: CompositorX11::windowDisable
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp
    functionUses: 0
    functionsReached:
    - commonWindowDisable
    - disableVideoWindow
    linkageType: ''
    returnType: void
    signature: void CompositorX11::windowDisable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_intf
    - parent
    argTypes:
    - qt_intf_t*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: CompositorX11::CompositorX11
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompositorX11::CompositorX11(qt_intf_t *p_intf, QObject *parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xcb_disconnect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: CompositorX11::~CompositorX11()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp
    functionUses: 0
    functionsReached:
    - xcb_disconnect
    linkageType: ''
    returnType: void
    signature: void CompositorX11::~CompositorX11()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: queryExtension
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:72,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - intf
    - conn
    - extension
    argTypes:
    - qt_intf_t*
    - xcb_connection_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: checkExtensionPresent
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp
    functionUses: 0
    functionsReached:
    - queryExtension
    - msg_Warn
    linkageType: ''
    returnType: bool
    signature: bool checkExtensionPresent(qt_intf_t* intf, xcb_connection_t *conn,
      const char* extension)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - extension
    - ','
    - minor
    - ','
    - major
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: REGISTER_XCB_EXTENSION
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REGISTER_XCB_EXTENSION(c, extension, minor, major)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nativeInterface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:93,1
    - Dst: msg_Info
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:95,1
    - Dst: qEnvironmentVariable
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:99,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:100,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:101,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:102,1
    - Dst: QQuickWindow::graphicsApi
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:115,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:119,1
    - Dst: xcb_connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:125,1
    - Dst: xcb_connection_has_error
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:126,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:128,1
    - Dst: checkExtensionPresent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:133,1
    - Dst: REGISTER_XCB_EXTENSION
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:135,1
    - Dst: checkExtensionPresent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:137,1
    - Dst: REGISTER_XCB_EXTENSION
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:142,1
    - Dst: checkExtensionPresent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:144,1
    - Dst: REGISTER_XCB_EXTENSION
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:149,1
    - Dst: checkExtensionPresent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:151,1
    - Dst: REGISTER_XCB_EXTENSION
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:156,1
    - Dst: screens
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:159,1
    - Dst: std::any_of
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:160,1
    - Dst: auto::begin
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:160,1
    - Dst: auto::end
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:160,1
    - Dst: name
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:161,1
    - Dst: xcb_get_setup
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:167,1
    - Dst: msg_Info
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:171,1
    - Dst: msg_Info
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:177,1
    - Dst: QAccessible::installFactory
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:183,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 187
    functionName: CompositorX11::init
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp
    functionUses: 0
    functionsReached:
    - QLatin1String
    - xcb_get_setup
    - nativeInterface
    - qEnvironmentVariable
    - checkExtensionPresent
    - REGISTER_XCB_EXTENSION
    - isEmpty
    - msg_Info
    - xcb_connect
    - screens
    - std::any_of
    - auto::begin
    - xcb_connection_has_error
    - msg_Warn
    - auto::end
    - name
    - QAccessible::installFactory
    - QQuickWindow::graphicsApi
    linkageType: ''
    returnType: bool
    signature: bool CompositorX11::init()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<vlc::CompositorX11RenderWindow>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:193,1
    - Dst: CompositorX11::init
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:194,1
    - Dst: std::make_unique<DummyNativeWidget>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:197,1
    - Dst: winId
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:203,1
    - Dst: windowHandle
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:204,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:204,1
    - Dst: nativeInterface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:211,1
    - Dst: xcb_change_window_attributes
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:213,1
    - Dst: winId
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:213,1
    - Dst: setTransparentForMouseEvent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:214,1
    - Dst: winId
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:214,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:215,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:217,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:217,1
    - Dst: std::make_unique<CompositorX11UISurface>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:219,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:219,1
    - Dst: setFlag
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:221,1
    - Dst: setParent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:222,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:222,1
    - Dst: create
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:223,1
    - Dst: supportExtendedFrame
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:225,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:227,1
    - Dst: getOffscreenWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:227,1
    - Dst: getOffscreenWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:228,1
    - Dst: commonGUICreate
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:229,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:229,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:229,1
    - Dst: aboutToShowQuickWindowCallback
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:233,1
    - Dst: getOffscreenWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:233,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:235,1
    - Dst: hasAcrylicSurface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:237,1
    - Dst: setInterfaceWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:240,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:240,1
    - Dst: setVideoWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:241,1
    - Dst: windowHandle
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:241,1
    - Dst: startRendering
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - mainCtx
    - aboutToShowQuickWindowCallback
    argTypes:
    - MainCtx*
    - std::function<void (QQuickWindow *)>
    assertStmts:
    - condition: (m_qmlView->getOffscreenWindow())
      pos:
        line_end: 226
        line_start: 226
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp
    constantsTouched: []
    func_position:
      end: 246
      start: 189
    functionDepth: 3
    functionLinenumber: 189
    functionLinenumberEnd: 246
    functionName: CompositorX11::makeMainInterface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp
    functionUses: 0
    functionsReached:
    - startRendering
    - std::make_unique<vlc::CompositorX11RenderWindow>
    - assert
    - setVideoWindow
    - nativeInterface
    - windowHandle
    - connect
    - hasAcrylicSurface
    - setVisible
    - setInterfaceWindow
    - create
    - get
    - std::make_unique<DummyNativeWidget>
    - setTransparentForMouseEvent
    - setFlag
    - commonGUICreate
    - std::make_unique<CompositorX11UISurface>
    - xcb_change_window_attributes
    - getOffscreenWindow
    - aboutToShowQuickWindowCallback
    - winId
    - CompositorX11::init
    - setParent
    - supportExtendedFrame
    linkageType: ''
    returnType: bool
    signature: bool CompositorX11::makeMainInterface(MainCtx* mainCtx, std::function<void
      (QQuickWindow *)> aboutToShowQuickWindowCallback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: commonIntfDestroy
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:250,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:251,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 253
    functionName: CompositorX11::destroyMainInterface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp
    functionUses: 0
    functionsReached:
    - commonIntfDestroy
    - reset
    linkageType: ''
    returnType: void
    signature: void CompositorX11::destroyMainInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stopRendering
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:257,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:258,1
    - Dst: commonGUIDestroy
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 260
    functionName: CompositorX11::unloadGUI
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp
    functionUses: 0
    functionsReached:
    - commonGUIDestroy
    - reset
    - stopRendering
    linkageType: ''
    returnType: void
    signature: void CompositorX11::unloadGUI()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:264,1
    - Dst: x
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:264,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:264,1
    - Dst: y
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' position'
    argTypes:
    - QPointF
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: CompositorX11::onSurfacePositionChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp
    functionUses: 0
    functionsReached:
    - y
    - x
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void CompositorX11::onSurfacePositionChanged(const QPointF& position)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:269,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:270,1
    - Dst: std::ceil
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:270,1
    - Dst: QSizeF::width
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:270,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:270,1
    - Dst: std::ceil
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:270,1
    - Dst: QSizeF::height
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' size'
    argTypes:
    - QSizeF
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: CompositorX11::onSurfaceSizeChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp
    functionUses: 0
    functionsReached:
    - QSizeF::width
    - static_cast<int>
    - window
    - QSizeF::height
    - std::ceil
    linkageType: ''
    returnType: void
    signature: void CompositorX11::onSurfaceSizeChanged(const QSizeF& size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: winId
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:279,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:281,1
    - Dst: nativeInterface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:282,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:283,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:284,1
    - Dst: auto::display
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:284,1
    - Dst: XDisplayString
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:285,1
    - Dst: auto::display
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:285,1
    - Dst: commonSetupVoutWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - p_wnd
    - destroyCb
    argTypes:
    - vlc_window_t*
    - VoutDestroyCb
    assertStmts:
    - condition: (x11App)
      pos:
        line_end: 282
        line_start: 282
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp
    - condition: (qGuiApp)
      pos:
        line_end: 280
        line_start: 280
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp
    - condition: (x11App->display())
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp
    constantsTouched: []
    func_position:
      end: 290
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 290
    functionName: CompositorX11::setupVoutWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp
    functionUses: 0
    functionsReached:
    - commonSetupVoutWindow
    - assert
    - nativeInterface
    - auto::display
    - winId
    - XDisplayString
    linkageType: ''
    returnType: bool
    signature: bool CompositorX11::setupVoutWindow(vlc_window_t* p_wnd, VoutDestroyCb
      destroyCb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: CompositorX11::interfaceMainWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: QWindow
    signature: QWindow * CompositorX11::interfaceMainWindow() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:296,1
    - Dst: getOffscreenWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_qmlView)
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp
    constantsTouched: []
    func_position:
      end: 298
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 298
    functionName: CompositorX11::quickWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp
    functionUses: 0
    functionsReached:
    - assert
    - getOffscreenWindow
    linkageType: ''
    returnType: QQuickWindow
    signature: QQuickWindow *CompositorX11::quickWindow() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompositorX11::activeFocusItem
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: CompositorX11::activeFocusItem
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp
    functionUses: 1
    functionsReached:
    - CompositorX11::activeFocusItem
    linkageType: ''
    returnType: QQuickItem
    signature: QQuickItem * CompositorX11::activeFocusItem() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setVideoGeometry
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: CompositorX11::commitSurface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp
    functionUses: 0
    functionsReached:
    - setVideoGeometry
    linkageType: ''
    returnType: void
    signature: void CompositorX11::commitSurface()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setAttribute
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:316,1
    - Dst: setAttribute
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:317,1
    - Dst: setAttribute
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:318,1
    - Dst: setAttribute
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:319,1
    - Dst: setAttribute
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:320,1
    - Dst: window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:321,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:322,1
    - Dst: QWindow*::format
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:329,1
    - Dst: QSurfaceFormat::setAlphaBufferSize
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:330,1
    - Dst: QWindow*::setFormat
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - parent
    - f
    argTypes:
    - QWidget*
    - Qt::WindowFlags
    assertStmts:
    - condition: (w)
      pos:
        line_end: 321
        line_start: 321
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp
    constantsTouched: []
    func_position:
      end: 332
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 332
    functionName: DummyNativeWidget::DummyNativeWidget
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp
    functionUses: 0
    functionsReached:
    - QWindow*::format
    - assert
    - QSurfaceFormat::setAlphaBufferSize
    - window
    - setAttribute
    - QWindow*::setFormat
    linkageType: ''
    returnType: void
    signature: void DummyNativeWidget::DummyNativeWidget(QWidget* parent, Qt::WindowFlags
      f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: DummyNativeWidget::~DummyNativeWidget()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DummyNativeWidget::~DummyNativeWidget()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 342
    functionName: DummyNativeWidget::paintEngine
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QPaintEngine
    signature: QPaintEngine * DummyNativeWidget::paintEngine() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isEffectAvailable
      Src: /src/vlc/modules/gui/qt/maininterface/kwindowsystem_module.cpp:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - effect
    argTypes:
    - WindowEffectsModule::Effect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 40
    functionName: isEffectAvailable
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/kwindowsystem_module.cpp
    functionUses: 3
    functionsReached:
    - isEffectAvailable
    linkageType: ''
    returnType: bool
    signature: bool isEffectAvailable(const QWindow*, const WindowEffectsModule::Effect
      effect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KWindowEffects::enableBlurBehind
      Src: /src/vlc/modules/gui/qt/maininterface/kwindowsystem_module.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - window
    argTypes:
    - QWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: setBlurBehind
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/kwindowsystem_module.cpp
    functionUses: 3
    functionsReached:
    - KWindowEffects::enableBlurBehind
    linkageType: ''
    returnType: void
    signature: void setBlurBehind(QWindow* const window, const bool enable = true,
      const QRegion& region = {})
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/kwindowsystem_module.cpp:49,1
    - Dst: isEffectAvailable
      Src: /src/vlc/modules/gui/qt/maininterface/kwindowsystem_module.cpp:57,1
    - Dst: reinterpret_cast<WindowEffectsModule*>
      Src: /src/vlc/modules/gui/qt/maininterface/kwindowsystem_module.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: (p_this)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/vlc/modules/gui/qt/maininterface/kwindowsystem_module.cpp
    constantsTouched: []
    func_position:
      end: 66
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 66
    functionName: Open
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/kwindowsystem_module.cpp
    functionUses: 59
    functionsReached:
    - assert
    - isEffectAvailable
    - reinterpret_cast<WindowEffectsModule*>
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t* const p_this)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QQuickItem*::childItems
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:50,1
    - Dst: func_get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:53,1
    - Dst: QList<QQuickItem *>*::append
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:54,1
    - Dst: vlc::unignoredChildren
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - item
    - items
    argTypes:
    - QQuickItem*
    - QList<QQuickItem *>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: vlc::unignoredChildren
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 1
    functionsReached:
    - QList<QQuickItem *>*::append
    - func_get
    - QQuickItem*::childItems
    - vlc::unignoredChildren
    linkageType: ''
    returnType: void
    signature: void unignoredChildren(QQuickItem *item, QList<QQuickItem *> *items)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::unignoredChildren
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - item
    argTypes:
    - QQuickItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 4
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: vlc::accessibleUnignoredChildren
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached:
    - vlc::unignoredChildren
    linkageType: ''
    returnType: QList<QQuickItem *>
    signature: QList<QQuickItem *> accessibleUnignoredChildren(QQuickItem *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AccessibleRenderWindow*::getOffscreenWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - window
    - renderWindow
    argTypes:
    - QWindow*
    - AccessibleRenderWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: vlc::QAccessibleRenderWindow::QAccessibleRenderWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached:
    - AccessibleRenderWindow*::getOffscreenWindow
    linkageType: ''
    returnType: void
    signature: void QAccessibleRenderWindow(QWindow* window, AccessibleRenderWindow*
      renderWindow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:79,1
    - Dst: AES3AudioSubFrameIndex::isValid
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: vlc::QAccessibleRenderWindow::isValid
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached:
    - AES3AudioSubFrameIndex::isValid
    - isNull
    linkageType: ''
    returnType: bool
    signature: bool isValid() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QAccessible::queryAccessibleInterface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: vlc::QAccessibleRenderWindow::parent
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached:
    - QAccessible::queryAccessibleInterface
    linkageType: ''
    returnType: QAccessibleInterface
    signature: QAccessibleInterface * parent() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:92,1
    - Dst: contentItem
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:94,1
    - Dst: accessibleUnignoredChildren
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: vlc::QAccessibleRenderWindow::rootItems
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached:
    - contentItem
    - accessibleUnignoredChildren
    - isNull
    linkageType: ''
    returnType: QList<QQuickItem *>
    signature: QList<QQuickItem *> rootItems() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc::QAccessibleRenderWindow::rootItems
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:101,1
    - Dst: QList::count
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:102,1
    - Dst: QAccessible::queryAccessibleInterface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:103,1
    - Dst: QList::at
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: vlc::QAccessibleRenderWindow::child
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached:
    - vlc::QAccessibleRenderWindow::rootItems
    - QList::count
    - QAccessible::queryAccessibleInterface
    - QList::at
    linkageType: ''
    returnType: QAccessibleInterface
    signature: QAccessibleInterface * child(int index) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::QAccessibleRenderWindow::rootItems
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: vlc::QAccessibleRenderWindow::childCount
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached:
    - vlc::QAccessibleRenderWindow::rootItems
    linkageType: ''
    returnType: int
    signature: int childCount() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc::QAccessibleRenderWindow::rootItems
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:117,1
    - Dst: QList::count
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:118,1
    - Dst: QAccessibleInterface*::object
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:121,1
    - Dst: QList::at
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - iface
    argTypes:
    - QAccessibleInterface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 127
    functionName: vlc::QAccessibleRenderWindow::indexOfChild
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached:
    - QAccessibleInterface*::object
    - vlc::QAccessibleRenderWindow::rootItems
    - QList::count
    - QList::at
    linkageType: ''
    returnType: int
    signature: int indexOfChild(const QAccessibleInterface *iface) const override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc::QAccessibleRenderWindow::childCount
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:131,1
    - Dst: vlc::QAccessibleRenderWindow::child
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:133,1
    - Dst: QAccessibleInterface*::state
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:134,1
    - Dst: QAccessibleInterface*::childAt
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:136,1
    - Dst: QAccessibleInterface*::rect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 143
    functionName: vlc::QAccessibleRenderWindow::childAt
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached:
    - QAccessibleInterface*::state
    - vlc::QAccessibleRenderWindow::childCount
    - vlc::QAccessibleRenderWindow::child
    - QAccessibleInterface*::rect
    - QAccessibleInterface*::childAt
    linkageType: ''
    returnType: QAccessibleInterface
    signature: QAccessibleInterface *childAt(int x, int y) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::QAccessibleRenderWindow::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: vlc::QAccessibleRenderWindow::text
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached:
    - vlc::QAccessibleRenderWindow::window
    linkageType: ''
    returnType: QString
    signature: QString text(QAccessible::Text) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QRect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:152,1
    - Dst: vlc::QAccessibleRenderWindow::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:152,1
    - Dst: vlc::QAccessibleRenderWindow::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:152,1
    - Dst: vlc::QAccessibleRenderWindow::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:152,1
    - Dst: vlc::QAccessibleRenderWindow::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: vlc::QAccessibleRenderWindow::rect
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached:
    - QRect
    - vlc::QAccessibleRenderWindow::window
    linkageType: ''
    returnType: QRect
    signature: QRect rect() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: vlc::QAccessibleRenderWindow::role
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QAccessible::Role
    signature: QAccessible::Role role() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc::QAccessibleRenderWindow::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:164,1
    - Dst: QGuiApplication::focusWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:164,1
    - Dst: vlc::QAccessibleRenderWindow::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 169
    functionName: vlc::QAccessibleRenderWindow::state
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached:
    - QGuiApplication::focusWindow
    - vlc::QAccessibleRenderWindow::window
    linkageType: ''
    returnType: QAccessible::State
    signature: QAccessible::State state() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<QWindow*>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:173,1
    - Dst: object
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: vlc::QAccessibleRenderWindow::window
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 3
    functionsReached:
    - object
    - static_cast<QWindow*>
    linkageType: ''
    returnType: QWindow
    signature: QWindow * window() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - window
    argTypes:
    - QQuickWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: vlc::QAccessibleOffscreenWindow::QAccessibleOffscreenWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QAccessibleOffscreenWindow(QQuickWindow *window)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QAccessible::queryAccessibleInterface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: vlc::QAccessibleOffscreenWindow::parent
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached:
    - QAccessible::queryAccessibleInterface
    linkageType: ''
    returnType: QAccessibleInterface
    signature: QAccessibleInterface * parent() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: vlc::QAccessibleOffscreenWindow::child
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QAccessibleInterface
    signature: QAccessibleInterface * child(int) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: vlc::QAccessibleOffscreenWindow::childCount
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int childCount() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: vlc::QAccessibleOffscreenWindow::indexOfChild
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int indexOfChild(const QAccessibleInterface *) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: vlc::QAccessibleOffscreenWindow::childAt
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QAccessibleInterface
    signature: QAccessibleInterface *childAt(int, int) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: vlc::QAccessibleOffscreenWindow::focusChild
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QAccessibleInterface
    signature: QAccessibleInterface *focusChild() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::QAccessibleOffscreenWindow::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: vlc::QAccessibleOffscreenWindow::text
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached:
    - vlc::QAccessibleOffscreenWindow::window
    linkageType: ''
    returnType: QString
    signature: QString text(QAccessible::Text) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QRect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:232,1
    - Dst: vlc::QAccessibleOffscreenWindow::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:232,1
    - Dst: vlc::QAccessibleOffscreenWindow::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:232,1
    - Dst: vlc::QAccessibleOffscreenWindow::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:232,1
    - Dst: vlc::QAccessibleOffscreenWindow::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: vlc::QAccessibleOffscreenWindow::rect
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached:
    - QRect
    - vlc::QAccessibleOffscreenWindow::window
    linkageType: ''
    returnType: QRect
    signature: QRect rect() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: vlc::QAccessibleOffscreenWindow::role
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QAccessible::Role
    signature: QAccessible::Role role() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc::QAccessibleOffscreenWindow::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:244,1
    - Dst: QGuiApplication::focusWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:244,1
    - Dst: vlc::QAccessibleOffscreenWindow::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 249
    functionName: vlc::QAccessibleOffscreenWindow::state
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached:
    - QGuiApplication::focusWindow
    - vlc::QAccessibleOffscreenWindow::window
    linkageType: ''
    returnType: QAccessible::State
    signature: QAccessible::State state() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<QWindow*>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:254,1
    - Dst: object
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: vlc::QAccessibleOffscreenWindow::window
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 3
    functionsReached:
    - object
    - static_cast<QWindow*>
    linkageType: ''
    returnType: QWindow
    signature: QWindow * window() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:261,1
    - Dst: qobject_cast<CompositorX11RenderWindow *>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:264,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:265,1
    - Dst: QAccessibleRenderWindow::QAccessibleRenderWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:266,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:270,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:271,1
    - Dst: qobject_cast<QQuickWindow *>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:273,1
    - Dst: QAccessibleOffscreenWindow::QAccessibleOffscreenWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - classname
    - object
    argTypes:
    - QString
    - QObject*
    assertStmts:
    - condition: (renderWindow)
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    constantsTouched: []
    func_position:
      end: 277
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 277
    functionName: vlc::compositionAccessibleFactory
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached:
    - QLatin1String
    - assert
    - qobject_cast<CompositorX11RenderWindow *>
    - qobject_cast<QQuickWindow *>
    - QAccessibleOffscreenWindow::QAccessibleOffscreenWindow
    - QAccessibleRenderWindow::QAccessibleRenderWindow
    linkageType: ''
    returnType: QAccessibleInterface
    signature: QAccessibleInterface * compositionAccessibleFactory(const QString &classname,
      QObject *object)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QQuickItem*::childItems
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:50,1
    - Dst: func_get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:53,1
    - Dst: QList<QQuickItem *>*::append
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:54,1
    - Dst: vlc::unignoredChildren
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - item
    - items
    argTypes:
    - QQuickItem*
    - QList<QQuickItem *>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: vlc::unignoredChildren
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 3
    functionsReached:
    - QList<QQuickItem *>*::append
    - func_get
    - QQuickItem*::childItems
    - vlc::unignoredChildren
    linkageType: ''
    returnType: void
    signature: void unignoredChildren(QQuickItem *item, QList<QQuickItem *> *items)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::unignoredChildren
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - item
    argTypes:
    - QQuickItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 4
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: vlc::accessibleUnignoredChildren
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached:
    - vlc::unignoredChildren
    linkageType: ''
    returnType: QList<QQuickItem *>
    signature: QList<QQuickItem *> accessibleUnignoredChildren(QQuickItem *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AccessibleRenderWindow*::getOffscreenWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - window
    - renderWindow
    argTypes:
    - QWindow*
    - AccessibleRenderWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: vlc::QAccessibleRenderWindow::QAccessibleRenderWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached:
    - AccessibleRenderWindow*::getOffscreenWindow
    linkageType: ''
    returnType: void
    signature: void QAccessibleRenderWindow(QWindow* window, AccessibleRenderWindow*
      renderWindow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:79,1
    - Dst: AES3AudioSubFrameIndex::isValid
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: vlc::QAccessibleRenderWindow::isValid
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached:
    - AES3AudioSubFrameIndex::isValid
    - isNull
    linkageType: ''
    returnType: bool
    signature: bool isValid() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QAccessible::queryAccessibleInterface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: vlc::QAccessibleRenderWindow::parent
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached:
    - QAccessible::queryAccessibleInterface
    linkageType: ''
    returnType: QAccessibleInterface
    signature: QAccessibleInterface * parent() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:92,1
    - Dst: contentItem
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:94,1
    - Dst: accessibleUnignoredChildren
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: vlc::QAccessibleRenderWindow::rootItems
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 3
    functionsReached:
    - contentItem
    - accessibleUnignoredChildren
    - isNull
    linkageType: ''
    returnType: QList<QQuickItem *>
    signature: QList<QQuickItem *> rootItems() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc::QAccessibleRenderWindow::rootItems
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:101,1
    - Dst: QList::count
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:102,1
    - Dst: QAccessible::queryAccessibleInterface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:103,1
    - Dst: QList::at
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: vlc::QAccessibleRenderWindow::child
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 1
    functionsReached:
    - vlc::QAccessibleRenderWindow::rootItems
    - QList::count
    - QAccessible::queryAccessibleInterface
    - QList::at
    linkageType: ''
    returnType: QAccessibleInterface
    signature: QAccessibleInterface * child(int index) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::QAccessibleRenderWindow::rootItems
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: vlc::QAccessibleRenderWindow::childCount
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 1
    functionsReached:
    - vlc::QAccessibleRenderWindow::rootItems
    linkageType: ''
    returnType: int
    signature: int childCount() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc::QAccessibleRenderWindow::rootItems
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:117,1
    - Dst: QList::count
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:118,1
    - Dst: QAccessibleInterface*::object
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:121,1
    - Dst: QList::at
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - iface
    argTypes:
    - QAccessibleInterface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 127
    functionName: vlc::QAccessibleRenderWindow::indexOfChild
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached:
    - QAccessibleInterface*::object
    - vlc::QAccessibleRenderWindow::rootItems
    - QList::count
    - QList::at
    linkageType: ''
    returnType: int
    signature: int indexOfChild(const QAccessibleInterface *iface) const override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc::QAccessibleRenderWindow::childCount
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:131,1
    - Dst: vlc::QAccessibleRenderWindow::child
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:133,1
    - Dst: QAccessibleInterface*::state
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:134,1
    - Dst: QAccessibleInterface*::childAt
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:136,1
    - Dst: QAccessibleInterface*::rect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 143
    functionName: vlc::QAccessibleRenderWindow::childAt
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached:
    - QAccessibleInterface*::state
    - vlc::QAccessibleRenderWindow::childCount
    - vlc::QAccessibleRenderWindow::child
    - QAccessibleInterface*::rect
    - QAccessibleInterface*::childAt
    linkageType: ''
    returnType: QAccessibleInterface
    signature: QAccessibleInterface *childAt(int x, int y) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::QAccessibleRenderWindow::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: vlc::QAccessibleRenderWindow::text
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached:
    - vlc::QAccessibleRenderWindow::window
    linkageType: ''
    returnType: QString
    signature: QString text(QAccessible::Text) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QRect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:152,1
    - Dst: vlc::QAccessibleRenderWindow::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:152,1
    - Dst: vlc::QAccessibleRenderWindow::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:152,1
    - Dst: vlc::QAccessibleRenderWindow::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:152,1
    - Dst: vlc::QAccessibleRenderWindow::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: vlc::QAccessibleRenderWindow::rect
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached:
    - QRect
    - vlc::QAccessibleRenderWindow::window
    linkageType: ''
    returnType: QRect
    signature: QRect rect() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: vlc::QAccessibleRenderWindow::role
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QAccessible::Role
    signature: QAccessible::Role role() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc::QAccessibleRenderWindow::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:164,1
    - Dst: QGuiApplication::focusWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:164,1
    - Dst: vlc::QAccessibleRenderWindow::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 169
    functionName: vlc::QAccessibleRenderWindow::state
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached:
    - QGuiApplication::focusWindow
    - vlc::QAccessibleRenderWindow::window
    linkageType: ''
    returnType: QAccessible::State
    signature: QAccessible::State state() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<QWindow*>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:173,1
    - Dst: object
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: vlc::QAccessibleRenderWindow::window
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 6
    functionsReached:
    - object
    - static_cast<QWindow*>
    linkageType: ''
    returnType: QWindow
    signature: QWindow * window() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - window
    argTypes:
    - QQuickWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: vlc::QAccessibleOffscreenWindow::QAccessibleOffscreenWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QAccessibleOffscreenWindow(QQuickWindow *window)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QAccessible::queryAccessibleInterface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: vlc::QAccessibleOffscreenWindow::parent
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached:
    - QAccessible::queryAccessibleInterface
    linkageType: ''
    returnType: QAccessibleInterface
    signature: QAccessibleInterface * parent() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: vlc::QAccessibleOffscreenWindow::child
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QAccessibleInterface
    signature: QAccessibleInterface * child(int) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: vlc::QAccessibleOffscreenWindow::childCount
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int childCount() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: vlc::QAccessibleOffscreenWindow::indexOfChild
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int indexOfChild(const QAccessibleInterface *) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: vlc::QAccessibleOffscreenWindow::childAt
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QAccessibleInterface
    signature: QAccessibleInterface *childAt(int, int) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: vlc::QAccessibleOffscreenWindow::focusChild
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QAccessibleInterface
    signature: QAccessibleInterface *focusChild() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc::QAccessibleOffscreenWindow::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: vlc::QAccessibleOffscreenWindow::text
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached:
    - vlc::QAccessibleOffscreenWindow::window
    linkageType: ''
    returnType: QString
    signature: QString text(QAccessible::Text) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QRect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:232,1
    - Dst: vlc::QAccessibleOffscreenWindow::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:232,1
    - Dst: vlc::QAccessibleOffscreenWindow::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:232,1
    - Dst: vlc::QAccessibleOffscreenWindow::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:232,1
    - Dst: vlc::QAccessibleOffscreenWindow::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: vlc::QAccessibleOffscreenWindow::rect
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached:
    - QRect
    - vlc::QAccessibleOffscreenWindow::window
    linkageType: ''
    returnType: QRect
    signature: QRect rect() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: vlc::QAccessibleOffscreenWindow::role
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QAccessible::Role
    signature: QAccessible::Role role() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc::QAccessibleOffscreenWindow::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:244,1
    - Dst: QGuiApplication::focusWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:244,1
    - Dst: vlc::QAccessibleOffscreenWindow::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 249
    functionName: vlc::QAccessibleOffscreenWindow::state
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached:
    - QGuiApplication::focusWindow
    - vlc::QAccessibleOffscreenWindow::window
    linkageType: ''
    returnType: QAccessible::State
    signature: QAccessible::State state() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<QWindow*>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:254,1
    - Dst: object
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: vlc::QAccessibleOffscreenWindow::window
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 6
    functionsReached:
    - object
    - static_cast<QWindow*>
    linkageType: ''
    returnType: QWindow
    signature: QWindow * window() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:261,1
    - Dst: qobject_cast<CompositorX11RenderWindow *>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:264,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:265,1
    - Dst: QAccessibleRenderWindow::QAccessibleRenderWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:266,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:270,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:271,1
    - Dst: qobject_cast<QQuickWindow *>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:273,1
    - Dst: QAccessibleOffscreenWindow::QAccessibleOffscreenWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - classname
    - object
    argTypes:
    - QString
    - QObject*
    assertStmts:
    - condition: (renderWindow)
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    constantsTouched: []
    func_position:
      end: 277
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 277
    functionName: vlc::compositionAccessibleFactory
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_accessibility.cpp
    functionUses: 0
    functionsReached:
    - QLatin1String
    - assert
    - qobject_cast<CompositorX11RenderWindow *>
    - qobject_cast<QQuickWindow *>
    - QAccessibleOffscreenWindow::QAccessibleOffscreenWindow
    - QAccessibleRenderWindow::QAccessibleRenderWindow
    linkageType: ''
    returnType: QAccessibleInterface
    signature: QAccessibleInterface * compositionAccessibleFactory(const QString &classname,
      QObject *object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: DummyRenderWindow::~DummyRenderWindow()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DummyRenderWindow::~DummyRenderWindow()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setSurfaceType
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:39,1
    - Dst: format
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:40,1
    - Dst: QSurfaceFormat::setAlphaBufferSize
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:41,1
    - Dst: setFormat
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: DummyRenderWindow::DummyRenderWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp
    functionUses: 0
    functionsReached:
    - setFormat
    - setSurfaceType
    - format
    - QSurfaceFormat::setAlphaBufferSize
    linkageType: ''
    returnType: void
    signature: void DummyRenderWindow::DummyRenderWindow(QWindow* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QAccessible::queryAccessibleInterface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:48,1
    - Dst: const_cast<DummyRenderWindow*>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: DummyRenderWindow::accessibleRoot
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp
    functionUses: 0
    functionsReached:
    - const_cast<DummyRenderWindow*>
    - QAccessible::queryAccessibleInterface
    linkageType: ''
    returnType: QAccessibleInterface
    signature: QAccessibleInterface * DummyRenderWindow::accessibleRoot() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:58,1
    - Dst: DummyRenderWindow::render
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:61,1
    - Dst: isExposed
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:64,1
    - Dst: requestUpdate
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:65,1
    - Dst: item_event
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - event
    argTypes:
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 72
    functionName: DummyRenderWindow::event
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp
    functionUses: 0
    functionsReached:
    - requestUpdate
    - item_event
    - QEvent*::type
    - DummyRenderWindow::render
    - isExposed
    linkageType: ''
    returnType: bool
    signature: bool DummyRenderWindow::event(QEvent* event)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DummyRenderWindow::init
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:79,1
    - Dst: resize
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:80,1
    - Dst: QResizeEvent*::size
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - resizeEvent
    argTypes:
    - QResizeEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: DummyRenderWindow::resizeEvent
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp
    functionUses: 0
    functionsReached:
    - QResizeEvent*::size
    - resize
    - DummyRenderWindow::init
    linkageType: ''
    returnType: void
    signature: void DummyRenderWindow::resizeEvent(QResizeEvent* resizeEvent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<QBackingStore>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: DummyRenderWindow::init
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<QBackingStore>
    linkageType: ''
    returnType: void
    signature: void DummyRenderWindow::init()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DummyRenderWindow::init
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:94,1
    - Dst: isExposed
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:95,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:97,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:97,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:98,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:98,1
    - Dst: resize
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:100,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:100,1
    - Dst: flush
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:105,1
    - Dst: QRect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 107
    functionName: DummyRenderWindow::render
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp
    functionUses: 1
    functionsReached:
    - resize
    - height
    - size
    - width
    - QRect
    - flush
    - isExposed
    - DummyRenderWindow::init
    linkageType: ''
    returnType: void
    signature: void DummyRenderWindow::render()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:115,1
    - Dst: visibleChanged
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:119,1
    - Dst: visibilityChanged
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - newVisible
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: OffscreenWindowPrivate::setVisible
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp
    functionUses: 0
    functionsReached:
    - visibilityChanged
    - Q_Q
    - visibleChanged
    linkageType: ''
    returnType: void
    signature: void setVisible(bool newVisible) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OffscreenWindowPrivate::OffscreenWindowPrivate
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - renderControl
    argTypes:
    - QQuickRenderControl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: CompositorOffscreenWindow::CompositorOffscreenWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp
    functionUses: 1
    functionsReached:
    - OffscreenWindowPrivate::OffscreenWindowPrivate
    linkageType: ''
    returnType: void
    signature: void CompositorOffscreenWindow::CompositorOffscreenWindow(QQuickRenderControl*
      renderControl)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - states
    argTypes:
    - Qt::WindowStates
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: resolveWindowState
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Qt::WindowState
    signature: Qt::WindowState resolveWindowState(Qt::WindowStates states)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setWindowState
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:147,1
    - Dst: resolveWindowState
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - Qt::WindowState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: CompositorOffscreenWindow::setWindowStateExt
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp
    functionUses: 0
    functionsReached:
    - setWindowState
    - resolveWindowState
    linkageType: ''
    returnType: void
    signature: void CompositorOffscreenWindow::setWindowStateExt(Qt::WindowState state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - visible
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: CompositorOffscreenWindow::setPseudoVisible
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp
    functionUses: 0
    functionsReached:
    - setVisible
    linkageType: ''
    returnType: void
    signature: void CompositorOffscreenWindow::setPseudoVisible(bool visible)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - renderControl
    argTypes:
    - QQuickRenderControl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: CompositorOffscreenWindow::CompositorOffscreenWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompositorOffscreenWindow::CompositorOffscreenWindow(QQuickRenderControl*
      renderControl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setWindowState
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - Qt::WindowState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: CompositorOffscreenWindow::setWindowStateExt
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp
    functionUses: 0
    functionsReached:
    - setWindowState
    linkageType: ''
    returnType: void
    signature: void CompositorOffscreenWindow::setWindowStateExt(Qt::WindowState state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: CompositorOffscreenWindow::setPseudoVisible
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompositorOffscreenWindow::setPseudoVisible(bool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:177,1
    - Dst: activeFocusItem
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:178,1
    - Dst: CompositorOffscreenWindow::focusOutEvent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:179,1
    - Dst: QPointer::forceActiveFocus
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:181,1
    - Dst: CompositorOffscreenWindow::focusOutEvent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ev
    argTypes:
    - QFocusEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 185
    functionName: CompositorOffscreenWindow::focusOutEvent
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_common.cpp
    functionUses: 1
    functionsReached:
    - CompositorOffscreenWindow::focusOutEvent
    - QT_VERSION_CHECK
    - activeFocusItem
    - QPointer::forceActiveFocus
    linkageType: ''
    returnType: void
    signature: void CompositorOffscreenWindow::focusOutEvent(QFocusEvent *ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - threadedSurfaceUpdates
    - parent
    argTypes:
    - bool
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: VideoSurfaceProvider::VideoSurfaceProvider
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VideoSurfaceProvider::VideoSurfaceProvider(bool threadedSurfaceUpdates,
      QObject* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: VideoSurfaceProvider::isEnabled
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool VideoSurfaceProvider::isEnabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: VideoSurfaceProvider::hasVideoEmbed
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool VideoSurfaceProvider::hasVideoEmbed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - voutWindow
    argTypes:
    - vlc_window_t*
    assertStmts:
    - condition: (voutWindow)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: VideoSurfaceProvider::enable
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void VideoSurfaceProvider::enable(vlc_window_t* voutWindow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VideoSurfaceProvider::setVideoEmbed
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: VideoSurfaceProvider::disable
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp
    functionUses: 0
    functionsReached:
    - VideoSurfaceProvider::setVideoEmbed
    linkageType: ''
    returnType: void
    signature: void VideoSurfaceProvider::disable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - embed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: VideoSurfaceProvider::setVideoEmbed
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VideoSurfaceProvider::setVideoEmbed(bool embed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_window_ReportClose
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: VideoSurfaceProvider::onWindowClosed
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp
    functionUses: 0
    functionsReached:
    - vlc_window_ReportClose
    linkageType: ''
    returnType: void
    signature: void VideoSurfaceProvider::onWindowClosed()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_window_ReportMousePressed
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - vlcButton
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: VideoSurfaceProvider::onMousePressed
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp
    functionUses: 0
    functionsReached:
    - vlc_window_ReportMousePressed
    linkageType: ''
    returnType: void
    signature: void VideoSurfaceProvider::onMousePressed(int vlcButton)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_window_ReportMouseReleased
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - vlcButton
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: VideoSurfaceProvider::onMouseReleased
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp
    functionUses: 0
    functionsReached:
    - vlc_window_ReportMouseReleased
    linkageType: ''
    returnType: void
    signature: void VideoSurfaceProvider::onMouseReleased(int vlcButton)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_window_ReportMouseDoubleClick
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - vlcButton
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: VideoSurfaceProvider::onMouseDoubleClick
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp
    functionUses: 0
    functionsReached:
    - vlc_window_ReportMouseDoubleClick
    linkageType: ''
    returnType: void
    signature: void VideoSurfaceProvider::onMouseDoubleClick(int vlcButton)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_window_ReportMouseMoved
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: VideoSurfaceProvider::onMouseMoved
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp
    functionUses: 0
    functionsReached:
    - vlc_window_ReportMouseMoved
    linkageType: ''
    returnType: void
    signature: void VideoSurfaceProvider::onMouseMoved(float x, float y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_window_ReportKeyPress
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - vlcButton
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: VideoSurfaceProvider::onMouseWheeled
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp
    functionUses: 0
    functionsReached:
    - vlc_window_ReportKeyPress
    linkageType: ''
    returnType: void
    signature: void VideoSurfaceProvider::onMouseWheeled(int vlcButton)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qtEventToVLCKey
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:106,1
    - Dst: vlc_window_ReportKeyPress
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - key
    - modifiers
    argTypes:
    - int
    - Qt::KeyboardModifiers
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: VideoSurfaceProvider::onKeyPressed
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp
    functionUses: 0
    functionsReached:
    - qtEventToVLCKey
    - vlc_window_ReportKeyPress
    linkageType: ''
    returnType: void
    signature: void VideoSurfaceProvider::onKeyPressed(int key, Qt::KeyboardModifiers
      modifiers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_window_ReportSize
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:117,1
    - Dst: std::ceil
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:117,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:117,1
    - Dst: std::ceil
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:117,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - ' size'
    - ' position'
    - ' scale'
    argTypes:
    - std::optional<QSizeF>
    - std::optional<QPointF>
    - std::optional<qreal>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: VideoSurfaceProvider::onSurfacePropertiesChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp
    functionUses: 0
    functionsReached:
    - height
    - width
    - vlc_window_ReportSize
    - std::ceil
    linkageType: ''
    returnType: void
    signature: "void VideoSurfaceProvider::onSurfacePropertiesChanged(const std::optional<QSizeF>&
      size,\n                                                      const std::optional<QPointF>&
      position,\n                                                      const std::optional<qreal>&
      scale)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setAcceptHoverEvents
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:124,1
    - Dst: setAcceptedMouseButtons
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:125,1
    - Dst: setFlag
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:126,1
    - Dst: setUpdateRenderPosition
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:130,1
    - Dst: setFlag
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QQuickItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 133
    functionName: VideoSurface::VideoSurface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp
    functionUses: 0
    functionsReached:
    - setFlag
    - setAcceptedMouseButtons
    - setAcceptHoverEvents
    - setUpdateRenderPosition
    linkageType: ''
    returnType: void
    signature: void VideoSurface::VideoSurface(QQuickItem* parent)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - qtButton
    argTypes:
    - Qt::MouseButton
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 148
    functionName: VideoSurface::qtMouseButton2VLC
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VideoSurface::qtMouseButton2VLC( Qt::MouseButton qtButton )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VideoSurface::qtMouseButton2VLC
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:152,1
    - Dst: QMouseEvent*::button
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:152,1
    - Dst: QMouseEvent*::accept
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:156,1
    - Dst: QMouseEvent*::ignore
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - event
    argTypes:
    - QMouseEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 160
    functionName: VideoSurface::mousePressEvent
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp
    functionUses: 0
    functionsReached:
    - QMouseEvent*::ignore
    - QMouseEvent*::button
    - QMouseEvent*::accept
    - VideoSurface::qtMouseButton2VLC
    linkageType: ''
    returnType: void
    signature: void VideoSurface::mousePressEvent(QMouseEvent* event)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VideoSurface::qtMouseButton2VLC
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:164,1
    - Dst: QMouseEvent*::button
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:164,1
    - Dst: QMouseEvent*::accept
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:168,1
    - Dst: QMouseEvent*::ignore
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - event
    argTypes:
    - QMouseEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: VideoSurface::mouseReleaseEvent
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp
    functionUses: 0
    functionsReached:
    - QMouseEvent*::ignore
    - QMouseEvent*::button
    - QMouseEvent*::accept
    - VideoSurface::qtMouseButton2VLC
    linkageType: ''
    returnType: void
    signature: void VideoSurface::mouseReleaseEvent(QMouseEvent* event)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QMouseEvent*::position
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:176,1
    - Dst: VideoSurface::window
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:177,1
    - Dst: QQuickWindow*::effectiveDevicePixelRatio
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:180,1
    - Dst: QPointF::x
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:181,1
    - Dst: QPointF::y
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:181,1
    - Dst: QMouseEvent*::accept
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - QMouseEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 183
    functionName: VideoSurface::mouseMoveEvent
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp
    functionUses: 0
    functionsReached:
    - QPointF::x
    - QMouseEvent*::accept
    - QQuickWindow*::effectiveDevicePixelRatio
    - QPointF::y
    - VideoSurface::window
    - QMouseEvent*::position
    linkageType: ''
    returnType: void
    signature: void VideoSurface::mouseMoveEvent(QMouseEvent* event)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QHoverEvent*::position
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:187,1
    - Dst: VideoSurface::window
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:190,1
    - Dst: QQuickWindow*::effectiveDevicePixelRatio
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:193,1
    - Dst: QPointF::x
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:194,1
    - Dst: QPointF::y
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:194,1
    - Dst: QHoverEvent*::accept
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - event
    argTypes:
    - QHoverEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 198
    functionName: VideoSurface::hoverMoveEvent
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp
    functionUses: 0
    functionsReached:
    - QPointF::x
    - QQuickWindow*::effectiveDevicePixelRatio
    - QPointF::y
    - VideoSurface::window
    - QHoverEvent*::position
    - QHoverEvent*::accept
    linkageType: ''
    returnType: void
    signature: void VideoSurface::hoverMoveEvent(QHoverEvent* event)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VideoSurface::qtMouseButton2VLC
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:202,1
    - Dst: QMouseEvent*::button
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:202,1
    - Dst: QMouseEvent*::accept
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:206,1
    - Dst: QMouseEvent*::ignore
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - event
    argTypes:
    - QMouseEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: VideoSurface::mouseDoubleClickEvent
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp
    functionUses: 0
    functionsReached:
    - QMouseEvent*::ignore
    - QMouseEvent*::button
    - QMouseEvent*::accept
    - VideoSurface::qtMouseButton2VLC
    linkageType: ''
    returnType: void
    signature: void VideoSurface::mouseDoubleClickEvent(QMouseEvent* event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:214,1
    - Dst: QKeyEvent*::modifiers
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:214,1
    - Dst: QKeyEvent*::ignore
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - QKeyEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: VideoSurface::keyPressEvent
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp
    functionUses: 0
    functionsReached:
    - QKeyEvent*::modifiers
    - QKeyEvent*::ignore
    - QKeyEvent*::key
    linkageType: ''
    returnType: void
    signature: void VideoSurface::keyPressEvent(QKeyEvent* event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VideoSurface::wheelEvent
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:221,1
    - Dst: QWheelEvent*::accept
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - event
    argTypes:
    - QWheelEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: VideoSurface::wheelEvent
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp
    functionUses: 1
    functionsReached:
    - VideoSurface::wheelEvent
    - QWheelEvent*::accept
    linkageType: ''
    returnType: void
    signature: void VideoSurface::wheelEvent(QWheelEvent *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cursor
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: VideoSurface::getCursorShape
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp
    functionUses: 0
    functionsReached:
    - cursor
    linkageType: ''
    returnType: Qt::CursorShape
    signature: Qt::CursorShape VideoSurface::getCursorShape() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setCursor
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - shape
    argTypes:
    - Qt::CursorShape
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: VideoSurface::setCursorShape
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp
    functionUses: 0
    functionsReached:
    - setCursor
    linkageType: ''
    returnType: void
    signature: void VideoSurface::setCursorShape(Qt::CursorShape shape)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QThread::currentThread
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:245,1
    - Dst: thread
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:245,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:248,1
    - Dst: QThread::currentThread
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:248,1
    - Dst: thread
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:248,1
    - Dst: VideoSurface::size
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:250,1
    - Dst: VideoSurface::mapToScene
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:251,1
    - Dst: QPointF
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:251,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:255,1
    - Dst: QThread::currentThread
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:255,1
    - Dst: thread
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:255,1
    - Dst: renderSize
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:257,1
    - Dst: renderPosition
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:258,1
    - Dst: QSizeF::isEmpty
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:267,1
    - Dst: QPointF::x
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:276,1
    - Dst: QPointF::y
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:276,1
    - Dst: surfacePropertiesChanged
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:290,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (QThread::currentThread() == thread())
      pos:
        line_end: 247
        line_start: 247
        source_file: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp
    - condition: (QThread::currentThread() != thread())
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp
    constantsTouched: []
    func_position:
      end: 293
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 293
    functionName: VideoSurface::synchronize
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp
    functionUses: 0
    functionsReached:
    - QPointF::x
    - assert
    - VideoSurface::mapToScene
    - renderSize
    - VideoSurface::size
    - surfacePropertiesChanged
    - QPointF
    - renderPosition
    - QThread::currentThread
    - QPointF::y
    - thread
    - QSizeF::isEmpty
    linkageType: ''
    returnType: void
    signature: void VideoSurface::synchronize()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:306,1
    - Dst: flags
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:319,1
    - Dst: update
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:320,1
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:328,1
    - Dst: VideoSurface::itemChange
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:335,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - change
    - value
    argTypes:
    - ItemChange
    - ItemChangeData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 336
    functionName: VideoSurface::itemChange
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp
    functionUses: 1
    functionsReached:
    - VideoSurface::itemChange
    - update
    - disconnect
    - flags
    linkageType: ''
    returnType: void
    signature: void VideoSurface::itemChange(ItemChange change, const ItemChangeData
      &value)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:345,1
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:346,1
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:347,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:349,1
    - Dst: videoSurface
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:349,1
    - Dst: setVideoSurface
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:350,1
    - Dst: videoSurface
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:357,1
    - Dst: auto::setVideoSurfaceProvider
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:358,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:360,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:361,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:362,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:363,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:364,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:365,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:369,1
    - Dst: flags
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:373,1
    - Dst: update
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:374,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:378,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:380,1
    - Dst: videoSurface
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:380,1
    - Dst: setVideoSurface
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:381,1
    - Dst: setFlag
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:383,1
    - Dst: update
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:384,1
    - Dst: setFlag
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:388,1
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:390,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 1
    argNames:
    - newVideoSurfaceProvider
    argTypes:
    - VideoSurfaceProvider*
    assertStmts:
    - condition: (!m_provider->videoSurface())
      pos:
        line_end: 379
        line_start: 379
        source_file: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp
    - condition: (m_provider->videoSurface() == this)
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp
    constantsTouched: []
    func_position:
      end: 394
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 394
    functionName: VideoSurface::setVideoSurfaceProvider
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp
    functionUses: 0
    functionsReached:
    - update
    - disconnect
    - assert
    - setFlag
    - flags
    - connect
    - setVideoSurface
    - auto::setVideoSurfaceProvider
    - videoSurface
    linkageType: ''
    returnType: void
    signature: void VideoSurface::setVideoSurfaceProvider(VideoSurfaceProvider *newVideoSurfaceProvider)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: window
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:403,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:404,1
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:406,1
    - Dst: isVisible
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:410,1
    - Dst: supportsThreadedSurfaceUpdates
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:415,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:418,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:422,1
    - Dst: auto::effectiveDevicePixelRatio
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:428,1
    - Dst: QThread::currentThread
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:439,1
    - Dst: thread
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:439,1
    - Dst: setUpdateRenderPosition
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:442,1
    - Dst: setFlag
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:445,1
    - Dst: setUpdateRenderPosition
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:449,1
    - Dst: ViewBlockingRectangle::updatePaintNode
      Src: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp:452,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - QSGNode*
    - UpdatePaintNodeData*
    assertStmts:
    - condition: (w)
      pos:
        line_end: 403
        line_start: 403
        source_file: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp
    constantsTouched: []
    func_position:
      end: 453
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 453
    functionName: VideoSurface::updatePaintNode
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/videosurface.cpp
    functionUses: 0
    functionsReached:
    - assert
    - Q_UNLIKELY
    - ViewBlockingRectangle::updatePaintNode
    - window
    - setFlag
    - isVisible
    - QThread::currentThread
    - auto::effectiveDevicePixelRatio
    - setUpdateRenderPosition
    - connect
    - thread
    - supportsThreadedSurfaceUpdates
    linkageType: ''
    returnType: QSGNode
    signature: QSGNode *VideoSurface::updatePaintNode(QSGNode *node, UpdatePaintNodeData
      *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lParam
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: GET_APPCOMMAND_LPARAM
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_APPCOMMAND_LPARAM(lParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lParam
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: GET_DEVICE_LPARAM
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_DEVICE_LPARAM(lParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lParam
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: GET_FLAGS_LPARAM
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_FLAGS_LPARAM(lParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lParam
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: GET_KEYSTATE_LPARAM
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_KEYSTATE_LPARAM(lParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: GET_X_LPARAM
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_X_LPARAM(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: GET_Y_LPARAM
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_Y_LPARAM(a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:111,1
    - Dst: QWindow*::handle
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:112,1
    - Dst: reinterpret_cast<HWND>
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:114,1
    - Dst: QWindow*::winId
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - window
    argTypes:
    - QWindow*
    assertStmts:
    - condition: (window)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: WinId
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 0
    functionsReached:
    - QWindow*::winId
    - QWindow*::handle
    - assert
    - reinterpret_cast<HWND>
    linkageType: ''
    returnType: HWND
    signature: HWND WinId( const QWindow *window )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MainCtx*::useClientSideDecoration
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:122,1
    - Dst: MainCtx*::csdButtonModel
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:124,1
    - Dst: platformHandlesResizeWithCSD
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:126,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:128,1
    - Dst: setFlag
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:131,1
    - Dst: test_media_player_multiple_instance
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:133,1
    - Dst: CSDWin32EventHandler::updateCSDSettings
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mainctx
    - window
    - parent
    argTypes:
    - MainCtx*
    - QWindow*
    - QObject*
    assertStmts:
    - condition: (m_mainCtx)
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    constantsTouched: []
    func_position:
      end: 135
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 135
    functionName: CSDWin32EventHandler::CSDWin32EventHandler
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 0
    functionsReached:
    - MainCtx*::csdButtonModel
    - assert
    - platformHandlesResizeWithCSD
    - setFlag
    - MainCtx*::useClientSideDecoration
    - CSDWin32EventHandler::updateCSDSettings
    - test_media_player_multiple_instance
    linkageType: ''
    returnType: void
    signature: void CSDWin32EventHandler(MainCtx* mainctx, QWindow *window, QObject
      *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_media_player_multiple_instance
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: ~CSDWin32EventHandler()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 0
    functionsReached:
    - test_media_player_multiple_instance
    linkageType: ''
    returnType: void
    signature: void ~CSDWin32EventHandler()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibraryEx
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:146,1
    - Dst: TEXT
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:146,1
    - Dst: reinterpret_cast<GetSystemMetricsForDpiFunc>
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:147,1
    - Dst: GetProcAddress
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:147,1
    - Dst: CSDWin32EventHandler::getSystemMetricsForDpi
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:151,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - nIndex
    - dpi
    argTypes:
    - int
    - UINT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 154
    functionName: CSDWin32EventHandler::getSystemMetricsForDpi
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 1
    functionsReached:
    - GetSystemMetrics
    - TEXT
    - CSDWin32EventHandler::getSystemMetricsForDpi
    - LoadLibraryEx
    - reinterpret_cast<GetSystemMetricsForDpiFunc>
    - GetProcAddress
    linkageType: ''
    returnType: int
    signature: int getSystemMetricsForDpi(int nIndex, UINT dpi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:158,1
    - Dst: LoadLibraryEx
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:162,1
    - Dst: TEXT
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:162,1
    - Dst: reinterpret_cast<GetDpiForWindowFunc>
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:163,1
    - Dst: GetProcAddress
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:163,1
    - Dst: CSDWin32EventHandler::getSystemMetricsForDpi
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:167,1
    - Dst: getDpiForWindow
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:167,1
    - Dst: WinId
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:167,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - nIndex
    - window
    argTypes:
    - int
    - QWindow*
    assertStmts:
    - condition: (window)
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    constantsTouched: []
    func_position:
      end: 170
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 170
    functionName: CSDWin32EventHandler::getSystemMetricsForWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 0
    functionsReached:
    - GetSystemMetrics
    - assert
    - TEXT
    - WinId
    - CSDWin32EventHandler::getSystemMetricsForDpi
    - LoadLibraryEx
    - GetProcAddress
    - reinterpret_cast<GetDpiForWindowFunc>
    - getDpiForWindow
    linkageType: ''
    returnType: int
    signature: int getSystemMetricsForWindow(int nIndex, const QWindow* window)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CSDWin32EventHandler::getSystemMetricsForWindow
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:174,1
    - Dst: CSDWin32EventHandler::getSystemMetricsForWindow
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - window
    argTypes:
    - QWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: CSDWin32EventHandler::resizeBorderWidth
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 0
    functionsReached:
    - CSDWin32EventHandler::getSystemMetricsForWindow
    linkageType: ''
    returnType: int
    signature: int resizeBorderWidth(QWindow *window)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CSDWin32EventHandler::getSystemMetricsForWindow
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:179,1
    - Dst: CSDWin32EventHandler::getSystemMetricsForWindow
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - window
    argTypes:
    - QWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: CSDWin32EventHandler::resizeBorderHeight
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 0
    functionsReached:
    - CSDWin32EventHandler::getSystemMetricsForWindow
    linkageType: ''
    returnType: int
    signature: int resizeBorderHeight(QWindow *window)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MSG*>
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:184,1
    - Dst: WinId
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:186,1
    - Dst: CSDWin32EventHandler::updateClientFrame
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:194,1
    - Dst: reinterpret_cast<LPNCCALCSIZE_PARAMS>
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:212,1
    - Dst: IsZoomed
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:216,1
    - Dst: windowState
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:216,1
    - Dst: CSDWin32EventHandler::resizeBorderHeight
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:225,1
    - Dst: CSDWin32EventHandler::resizeBorderWidth
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:229,1
    - Dst: IsZoomed
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:234,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:242,1
    - Dst: CSDWin32EventHandler::resizeBorderWidth
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:245,1
    - Dst: CSDWin32EventHandler::resizeBorderHeight
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:248,1
    - Dst: GET_X_LPARAM
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:275,1
    - Dst: GET_Y_LPARAM
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:275,1
    - Dst: ::MapWindowPoints
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:278,1
    - Dst: devicePixelRatio
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:280,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:283,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:283,1
    - Dst: CSDWin32EventHandler::overlappingButton
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:284,1
    - Dst: IsZoomed
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:290,1
    - Dst: windowState
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:290,1
    - Dst: getIntfScaleFactor
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:298,1
    - Dst: CSDWin32EventHandler::resizeBorderHeight
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:299,1
    - Dst: std::max<int>
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:307,1
    - Dst: getIntfScaleFactor
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:307,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:314,1
    - Dst: devicePixelRatio
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:314,1
    - Dst: auto::type
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:332,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:344,1
    - Dst: CSDWin32EventHandler::hoverExclusive
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:359,1
    - Dst: CSDWin32EventHandler::hoverExclusive
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:362,1
    - Dst: CSDWin32EventHandler::hoverExclusive
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:365,1
    - Dst: CSDWin32EventHandler::setAllUnhovered
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:368,1
    - Dst: TrackMouseEvent
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:388,1
    - Dst: CSDWin32EventHandler::handleButtonActionExclusive
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:405,1
    - Dst: CSDWin32EventHandler::handleButtonActionExclusive
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:408,1
    - Dst: CSDWin32EventHandler::handleButtonActionExclusive
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:411,1
    - Dst: CSDWin32EventHandler::resetPressedState
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:414,1
    - Dst: CSDWin32EventHandler::setAllUnhovered
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:430,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 126
    argCount: 2
    argNames:
    - message
    - result
    argTypes:
    - void*
    - qintptr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 182
    functionDepth: 4
    functionLinenumber: 182
    functionLinenumberEnd: 437
    functionName: CSDWin32EventHandler::nativeEventFilter
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 0
    functionsReached:
    - CSDWin32EventHandler::resizeBorderWidth
    - CSDWin32EventHandler::handleButtonActionExclusive
    - TrackMouseEvent
    - WinId
    - vlc_assert_unreachable
    - static_cast<MSG*>
    - ::MapWindowPoints
    - std::max<int>
    - IsZoomed
    - devicePixelRatio
    - windowState
    - CSDWin32EventHandler::overlappingButton
    - width
    - CSDWin32EventHandler::setAllUnhovered
    - CSDWin32EventHandler::hoverExclusive
    - CSDWin32EventHandler::updateClientFrame
    - property
    - GET_Y_LPARAM
    - CSDWin32EventHandler::resetPressedState
    - static_cast<int>
    - reinterpret_cast<LPNCCALCSIZE_PARAMS>
    - CSDWin32EventHandler::resizeBorderHeight
    - auto::type
    - GET_X_LPARAM
    - getIntfScaleFactor
    linkageType: ''
    returnType: bool
    signature: bool nativeEventFilter(const QByteArray &, void *message, qintptr *result)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CSDWin32EventHandler::updateCSDSettings
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - useClientSideDecoration
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 444
    functionName: CSDWin32EventHandler::setUseClientSideDecoration
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 0
    functionsReached:
    - CSDWin32EventHandler::updateCSDSettings
    linkageType: ''
    returnType: void
    signature: void setUseClientSideDecoration(bool useClientSideDecoration)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: winId
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:455,1
    - Dst: DwmExtendFrameIntoClientArea
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 471
    functionName: CSDWin32EventHandler::updateClientFrame
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 1
    functionsReached:
    - winId
    - DwmExtendFrameIntoClientArea
    linkageType: ''
    returnType: void
    signature: void updateClientFrame()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WinId
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:475,1
    - Dst: CSDWin32EventHandler::updateClientFrame
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:479,1
    - Dst: SetWindowPos
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 486
    functionName: CSDWin32EventHandler::updateCSDSettings
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 2
    functionsReached:
    - SetWindowPos
    - WinId
    - CSDWin32EventHandler::updateClientFrame
    linkageType: ''
    returnType: void
    signature: void updateCSDSettings()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: windowCSDButtons
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:490,1
    - Dst: std::find_if
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:491,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:491,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:491,1
    - Dst: rect
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:493,1
    - Dst: QRect::setY
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:494,1
    - Dst: QRect::y
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:494,1
    - Dst: QRect::contains
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:495,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:499,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - point
    argTypes:
    - QPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 503
    functionName: CSDWin32EventHandler::overlappingButton
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 1
    functionsReached:
    - rect
    - QRect::setY
    - windowCSDButtons
    - QRect::y
    - begin
    - std::find_if
    - end
    - QRect::contains
    linkageType: ''
    returnType: CSDButton
    signature: CSDButton *overlappingButton(const QPoint point)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:507,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:507,1
    - Dst: windowCSDButtons
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:510,1
    - Dst: std::for_each
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:511,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:511,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:511,1
    - Dst: setShowHovered
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:513,1
    - Dst: type
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:513,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - CSDButton::ButtonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 515
    functionName: CSDWin32EventHandler::hoverExclusive
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 1
    functionsReached:
    - property
    - Q_UNLIKELY
    - windowCSDButtons
    - std::for_each
    - setShowHovered
    - type
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void hoverExclusive(CSDButton::ButtonType type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:519,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:519,1
    - Dst: windowCSDButtons
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:522,1
    - Dst: std::for_each
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:523,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:523,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:523,1
    - Dst: type
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:527,1
    - Dst: externalPress
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:528,1
    - Dst: type
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:532,1
    - Dst: externalRelease
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:533,1
    - Dst: unsetExternalPressed
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:535,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - type
    - pressed
    argTypes:
    - CSDButton::ButtonType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 538
    functionName: CSDWin32EventHandler::handleButtonActionExclusive
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 1
    functionsReached:
    - property
    - Q_UNLIKELY
    - windowCSDButtons
    - std::for_each
    - type
    - externalRelease
    - begin
    - externalPress
    - unsetExternalPressed
    - end
    linkageType: ''
    returnType: void
    signature: void handleButtonActionExclusive(CSDButton::ButtonType type, bool pressed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:542,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:542,1
    - Dst: windowCSDButtons
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:545,1
    - Dst: std::for_each
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:546,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:546,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:546,1
    - Dst: unsetExternalPressed
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 550
    functionName: CSDWin32EventHandler::resetPressedState
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 1
    functionsReached:
    - property
    - Q_UNLIKELY
    - windowCSDButtons
    - std::for_each
    - begin
    - unsetExternalPressed
    - end
    linkageType: ''
    returnType: void
    signature: void resetPressedState()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:554,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:554,1
    - Dst: windowCSDButtons
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:557,1
    - Dst: std::for_each
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:558,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:558,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:558,1
    - Dst: setShowHovered
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:560,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 562
    functionName: CSDWin32EventHandler::setAllUnhovered
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 1
    functionsReached:
    - property
    - Q_UNLIKELY
    - windowCSDButtons
    - std::for_each
    - setShowHovered
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void setAllUnhovered()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:111,1
    - Dst: QWindow*::handle
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:112,1
    - Dst: reinterpret_cast<HWND>
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:114,1
    - Dst: QWindow*::winId
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - window
    argTypes:
    - QWindow*
    assertStmts:
    - condition: (window)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: WinId
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 3
    functionsReached:
    - QWindow*::winId
    - QWindow*::handle
    - assert
    - reinterpret_cast<HWND>
    linkageType: ''
    returnType: HWND
    signature: HWND WinId( const QWindow *window )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MainCtx*::useClientSideDecoration
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:122,1
    - Dst: MainCtx*::csdButtonModel
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:124,1
    - Dst: platformHandlesResizeWithCSD
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:126,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:128,1
    - Dst: setFlag
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:131,1
    - Dst: test_media_player_multiple_instance
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:133,1
    - Dst: CSDWin32EventHandler::updateCSDSettings
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mainctx
    - window
    - parent
    argTypes:
    - MainCtx*
    - QWindow*
    - QObject*
    assertStmts:
    - condition: (m_mainCtx)
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    constantsTouched: []
    func_position:
      end: 135
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 135
    functionName: CSDWin32EventHandler::CSDWin32EventHandler
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 0
    functionsReached:
    - MainCtx*::csdButtonModel
    - assert
    - platformHandlesResizeWithCSD
    - setFlag
    - MainCtx*::useClientSideDecoration
    - CSDWin32EventHandler::updateCSDSettings
    - test_media_player_multiple_instance
    linkageType: ''
    returnType: void
    signature: void CSDWin32EventHandler(MainCtx* mainctx, QWindow *window, QObject
      *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_media_player_multiple_instance
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: ~CSDWin32EventHandler()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 0
    functionsReached:
    - test_media_player_multiple_instance
    linkageType: ''
    returnType: void
    signature: void ~CSDWin32EventHandler()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibraryEx
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:146,1
    - Dst: TEXT
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:146,1
    - Dst: reinterpret_cast<GetSystemMetricsForDpiFunc>
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:147,1
    - Dst: GetProcAddress
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:147,1
    - Dst: CSDWin32EventHandler::getSystemMetricsForDpi
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:151,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - nIndex
    - dpi
    argTypes:
    - int
    - UINT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 154
    functionName: CSDWin32EventHandler::getSystemMetricsForDpi
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 3
    functionsReached:
    - GetSystemMetrics
    - TEXT
    - CSDWin32EventHandler::getSystemMetricsForDpi
    - LoadLibraryEx
    - reinterpret_cast<GetSystemMetricsForDpiFunc>
    - GetProcAddress
    linkageType: ''
    returnType: int
    signature: int getSystemMetricsForDpi(int nIndex, UINT dpi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:158,1
    - Dst: LoadLibraryEx
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:162,1
    - Dst: TEXT
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:162,1
    - Dst: reinterpret_cast<GetDpiForWindowFunc>
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:163,1
    - Dst: GetProcAddress
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:163,1
    - Dst: CSDWin32EventHandler::getSystemMetricsForDpi
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:167,1
    - Dst: getDpiForWindow
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:167,1
    - Dst: WinId
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:167,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - nIndex
    - window
    argTypes:
    - int
    - QWindow*
    assertStmts:
    - condition: (window)
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    constantsTouched: []
    func_position:
      end: 170
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 170
    functionName: CSDWin32EventHandler::getSystemMetricsForWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 2
    functionsReached:
    - GetSystemMetrics
    - assert
    - TEXT
    - WinId
    - CSDWin32EventHandler::getSystemMetricsForDpi
    - LoadLibraryEx
    - GetProcAddress
    - reinterpret_cast<GetDpiForWindowFunc>
    - getDpiForWindow
    linkageType: ''
    returnType: int
    signature: int getSystemMetricsForWindow(int nIndex, const QWindow* window)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CSDWin32EventHandler::getSystemMetricsForWindow
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:174,1
    - Dst: CSDWin32EventHandler::getSystemMetricsForWindow
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - window
    argTypes:
    - QWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: CSDWin32EventHandler::resizeBorderWidth
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 1
    functionsReached:
    - CSDWin32EventHandler::getSystemMetricsForWindow
    linkageType: ''
    returnType: int
    signature: int resizeBorderWidth(QWindow *window)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CSDWin32EventHandler::getSystemMetricsForWindow
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:179,1
    - Dst: CSDWin32EventHandler::getSystemMetricsForWindow
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - window
    argTypes:
    - QWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: CSDWin32EventHandler::resizeBorderHeight
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 1
    functionsReached:
    - CSDWin32EventHandler::getSystemMetricsForWindow
    linkageType: ''
    returnType: int
    signature: int resizeBorderHeight(QWindow *window)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MSG*>
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:184,1
    - Dst: WinId
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:186,1
    - Dst: CSDWin32EventHandler::updateClientFrame
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:194,1
    - Dst: reinterpret_cast<LPNCCALCSIZE_PARAMS>
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:212,1
    - Dst: IsZoomed
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:216,1
    - Dst: windowState
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:216,1
    - Dst: CSDWin32EventHandler::resizeBorderHeight
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:225,1
    - Dst: CSDWin32EventHandler::resizeBorderWidth
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:229,1
    - Dst: IsZoomed
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:234,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:242,1
    - Dst: CSDWin32EventHandler::resizeBorderWidth
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:245,1
    - Dst: CSDWin32EventHandler::resizeBorderHeight
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:248,1
    - Dst: GET_X_LPARAM
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:275,1
    - Dst: GET_Y_LPARAM
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:275,1
    - Dst: ::MapWindowPoints
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:278,1
    - Dst: devicePixelRatio
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:280,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:283,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:283,1
    - Dst: CSDWin32EventHandler::overlappingButton
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:284,1
    - Dst: IsZoomed
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:290,1
    - Dst: windowState
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:290,1
    - Dst: getIntfScaleFactor
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:298,1
    - Dst: CSDWin32EventHandler::resizeBorderHeight
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:299,1
    - Dst: std::max<int>
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:307,1
    - Dst: getIntfScaleFactor
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:307,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:314,1
    - Dst: devicePixelRatio
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:314,1
    - Dst: auto::type
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:332,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:344,1
    - Dst: CSDWin32EventHandler::hoverExclusive
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:359,1
    - Dst: CSDWin32EventHandler::hoverExclusive
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:362,1
    - Dst: CSDWin32EventHandler::hoverExclusive
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:365,1
    - Dst: CSDWin32EventHandler::setAllUnhovered
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:368,1
    - Dst: TrackMouseEvent
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:388,1
    - Dst: CSDWin32EventHandler::handleButtonActionExclusive
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:405,1
    - Dst: CSDWin32EventHandler::handleButtonActionExclusive
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:408,1
    - Dst: CSDWin32EventHandler::handleButtonActionExclusive
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:411,1
    - Dst: CSDWin32EventHandler::resetPressedState
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:414,1
    - Dst: CSDWin32EventHandler::setAllUnhovered
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:430,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 126
    argCount: 2
    argNames:
    - message
    - result
    argTypes:
    - void*
    - qintptr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 182
    functionDepth: 4
    functionLinenumber: 182
    functionLinenumberEnd: 437
    functionName: CSDWin32EventHandler::nativeEventFilter
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 0
    functionsReached:
    - CSDWin32EventHandler::resizeBorderWidth
    - CSDWin32EventHandler::handleButtonActionExclusive
    - TrackMouseEvent
    - WinId
    - vlc_assert_unreachable
    - static_cast<MSG*>
    - ::MapWindowPoints
    - std::max<int>
    - IsZoomed
    - devicePixelRatio
    - windowState
    - CSDWin32EventHandler::overlappingButton
    - width
    - CSDWin32EventHandler::setAllUnhovered
    - CSDWin32EventHandler::hoverExclusive
    - CSDWin32EventHandler::updateClientFrame
    - property
    - GET_Y_LPARAM
    - CSDWin32EventHandler::resetPressedState
    - static_cast<int>
    - reinterpret_cast<LPNCCALCSIZE_PARAMS>
    - CSDWin32EventHandler::resizeBorderHeight
    - auto::type
    - GET_X_LPARAM
    - getIntfScaleFactor
    linkageType: ''
    returnType: bool
    signature: bool nativeEventFilter(const QByteArray &, void *message, qintptr *result)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CSDWin32EventHandler::updateCSDSettings
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - useClientSideDecoration
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 439
    functionDepth: 3
    functionLinenumber: 439
    functionLinenumberEnd: 444
    functionName: CSDWin32EventHandler::setUseClientSideDecoration
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 0
    functionsReached:
    - CSDWin32EventHandler::updateCSDSettings
    linkageType: ''
    returnType: void
    signature: void setUseClientSideDecoration(bool useClientSideDecoration)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: winId
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:455,1
    - Dst: DwmExtendFrameIntoClientArea
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 471
    functionName: CSDWin32EventHandler::updateClientFrame
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 3
    functionsReached:
    - winId
    - DwmExtendFrameIntoClientArea
    linkageType: ''
    returnType: void
    signature: void updateClientFrame()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WinId
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:475,1
    - Dst: CSDWin32EventHandler::updateClientFrame
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:479,1
    - Dst: SetWindowPos
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 486
    functionName: CSDWin32EventHandler::updateCSDSettings
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 4
    functionsReached:
    - SetWindowPos
    - WinId
    - CSDWin32EventHandler::updateClientFrame
    linkageType: ''
    returnType: void
    signature: void updateCSDSettings()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: windowCSDButtons
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:490,1
    - Dst: std::find_if
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:491,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:491,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:491,1
    - Dst: rect
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:493,1
    - Dst: QRect::setY
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:494,1
    - Dst: QRect::y
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:494,1
    - Dst: QRect::contains
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:495,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:499,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - point
    argTypes:
    - QPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 503
    functionName: CSDWin32EventHandler::overlappingButton
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 2
    functionsReached:
    - rect
    - QRect::setY
    - windowCSDButtons
    - QRect::y
    - begin
    - std::find_if
    - end
    - QRect::contains
    linkageType: ''
    returnType: CSDButton
    signature: CSDButton *overlappingButton(const QPoint point)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:507,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:507,1
    - Dst: windowCSDButtons
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:510,1
    - Dst: std::for_each
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:511,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:511,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:511,1
    - Dst: setShowHovered
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:513,1
    - Dst: type
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:513,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - CSDButton::ButtonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 515
    functionName: CSDWin32EventHandler::hoverExclusive
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 2
    functionsReached:
    - property
    - Q_UNLIKELY
    - windowCSDButtons
    - std::for_each
    - setShowHovered
    - type
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void hoverExclusive(CSDButton::ButtonType type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:519,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:519,1
    - Dst: windowCSDButtons
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:522,1
    - Dst: std::for_each
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:523,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:523,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:523,1
    - Dst: type
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:527,1
    - Dst: externalPress
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:528,1
    - Dst: type
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:532,1
    - Dst: externalRelease
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:533,1
    - Dst: unsetExternalPressed
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:535,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - type
    - pressed
    argTypes:
    - CSDButton::ButtonType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 538
    functionName: CSDWin32EventHandler::handleButtonActionExclusive
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 2
    functionsReached:
    - property
    - Q_UNLIKELY
    - windowCSDButtons
    - std::for_each
    - type
    - externalRelease
    - begin
    - externalPress
    - unsetExternalPressed
    - end
    linkageType: ''
    returnType: void
    signature: void handleButtonActionExclusive(CSDButton::ButtonType type, bool pressed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:542,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:542,1
    - Dst: windowCSDButtons
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:545,1
    - Dst: std::for_each
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:546,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:546,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:546,1
    - Dst: unsetExternalPressed
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 550
    functionName: CSDWin32EventHandler::resetPressedState
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 2
    functionsReached:
    - property
    - Q_UNLIKELY
    - windowCSDButtons
    - std::for_each
    - begin
    - unsetExternalPressed
    - end
    linkageType: ''
    returnType: void
    signature: void resetPressedState()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:554,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:554,1
    - Dst: windowCSDButtons
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:557,1
    - Dst: std::for_each
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:558,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:558,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:558,1
    - Dst: setShowHovered
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:560,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 562
    functionName: CSDWin32EventHandler::setAllUnhovered
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 2
    functionsReached:
    - property
    - Q_UNLIKELY
    - windowCSDButtons
    - std::for_each
    - setShowHovered
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void setAllUnhovered()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RegisterWindowMessage
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:579,1
    - Dst: TEXT
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:579,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:581,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:582,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:584,1
    - Dst: msg_Info
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - _p_intf
    - windowHandle
    - parent
    argTypes:
    - qt_intf_t*
    - QWindow*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 587
    functionName: WinTaskbarWidget::WinTaskbarWidget
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 0
    functionsReached:
    - TEXT
    - connect
    - msg_Info
    - msg_Warn
    - RegisterWindowMessage
    linkageType: ''
    returnType: void
    signature: void WinTaskbarWidget::WinTaskbarWidget(qt_intf_t *_p_intf, QWindow*
      windowHandle, QObject* parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ImageList_Destroy
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:592,1
    - Dst: Reset
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 594
    functionName: WinTaskbarWidget::~WinTaskbarWidget()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 0
    functionsReached:
    - Reset
    - ImageList_Destroy
    linkageType: ''
    returnType: void
    signature: void WinTaskbarWidget::~WinTaskbarWidget()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: WinId
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:612,1
    - Dst: ComHolder
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:618,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:622,1
    - Dst: what
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:622,1
    - Dst: CoCreateInstance
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:626,1
    - Dst: __uuidof
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:626,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:627,1
    - Dst: ReleaseAndGetAddressOf
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:627,1
    - Dst: FAILED
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:628,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:630,1
    - Dst: HrInit
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:634,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:636,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:637,1
    - Dst: ImageList_Create
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:638,1
    - Dst: Reset
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:642,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:643,1
    - Dst: QPixmap
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:647,1
    - Dst: QPixmap
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:648,1
    - Dst: QPixmap
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:649,1
    - Dst: QPixmap
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:650,1
    - Dst: QPixmap::createMaskFromColor
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:651,1
    - Dst: QPixmap::createMaskFromColor
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:652,1
    - Dst: QPixmap::createMaskFromColor
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:653,1
    - Dst: QPixmap::createMaskFromColor
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:654,1
    - Dst: ImageList_Add
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:656,1
    - Dst: qt_pixmapToWinHBITMAP
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:656,1
    - Dst: qt_pixmapToWinHBITMAP
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:656,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:657,1
    - Dst: ImageList_Add
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:658,1
    - Dst: qt_pixmapToWinHBITMAP
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:658,1
    - Dst: qt_pixmapToWinHBITMAP
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:658,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:659,1
    - Dst: ImageList_Add
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:660,1
    - Dst: qt_pixmapToWinHBITMAP
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:660,1
    - Dst: qt_pixmapToWinHBITMAP
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:660,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:661,1
    - Dst: ImageList_Add
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:662,1
    - Dst: qt_pixmapToWinHBITMAP
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:662,1
    - Dst: qt_pixmapToWinHBITMAP
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:662,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:663,1
    - Dst: THUMBBUTTONMASK
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:667,1
    - Dst: hasPrev
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:673,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:678,1
    - Dst: hasNext
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:683,1
    - Dst: ThumbBarSetImageList
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:685,1
    - Dst: FAILED
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:686,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:687,1
    - Dst: ThumbBarAddButtons
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:691,1
    - Dst: FAILED
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:692,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:693,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:696,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:698,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:700,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:702,1
    - Dst: getPlayingState
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:704,1
    - Dst: WinTaskbarWidget::changeThumbbarButtons
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:705,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 605
    functionDepth: 2
    functionLinenumber: 605
    functionLinenumberEnd: 706
    functionName: WinTaskbarWidget::createTaskBarButtons
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 0
    functionsReached:
    - GetSystemMetrics
    - ImageList_Add
    - IID_PPV_ARGS
    - connect
    - __uuidof
    - WinId
    - Reset
    - count
    - msg_Err
    - ThumbBarAddButtons
    - CoCreateInstance
    - ReleaseAndGetAddressOf
    - WinTaskbarWidget::changeThumbbarButtons
    - getPlayingState
    - QPixmap
    - qt_pixmapToWinHBITMAP
    - reset
    - hasNext
    - hasPrev
    - FAILED
    - what
    - THUMBBUTTONMASK
    - QPixmap::createMaskFromColor
    - ThumbBarSetImageList
    - ImageList_Create
    - ComHolder
    - HrInit
    linkageType: ''
    returnType: void
    signature: void WinTaskbarWidget::createTaskBarButtons()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MSG*>
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:710,1
    - Dst: WinId
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:711,1
    - Dst: WinTaskbarWidget::createTaskBarButtons
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:717,1
    - Dst: HIWORD
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:723,1
    - Dst: LOWORD
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:725,1
    - Dst: prev
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:728,1
    - Dst: togglePlayPause
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:731,1
    - Dst: next
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:734,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - message
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 708
    functionDepth: 3
    functionLinenumber: 708
    functionLinenumberEnd: 741
    functionName: WinTaskbarWidget::nativeEventFilter
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 0
    functionsReached:
    - HIWORD
    - WinId
    - static_cast<MSG*>
    - prev
    - next
    - LOWORD
    - togglePlayPause
    - WinTaskbarWidget::createTaskBarButtons
    linkageType: ''
    returnType: bool
    signature: bool WinTaskbarWidget::nativeEventFilter(const QByteArray &, void *message,
      qintptr* /* result */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinTaskbarWidget::changeThumbbarButtons
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 746
    functionName: WinTaskbarWidget::playlistItemCountChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 0
    functionsReached:
    - WinTaskbarWidget::changeThumbbarButtons
    linkageType: ''
    returnType: void
    signature: void WinTaskbarWidget::playlistItemCountChanged( size_t  )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WinTaskbarWidget::changeThumbbarButtons
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - fs
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 752
    functionName: WinTaskbarWidget::onVideoFullscreenChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 0
    functionsReached:
    - WinTaskbarWidget::changeThumbbarButtons
    linkageType: ''
    returnType: void
    signature: void WinTaskbarWidget::onVideoFullscreenChanged( bool fs )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: THUMBBUTTONMASK
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:761,1
    - Dst: hasPrev
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:768,1
    - Dst: hasNext
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:779,1
    - Dst: getPlayingState
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:781,1
    - Dst: WinId
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:800,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:803,1
    - Dst: ThumbBarUpdateButtons
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:807,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:810,1
    - Dst: hasVideoOutput
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:813,1
    - Dst: SetThumbnailClip
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:815,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:817,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 754
    functionDepth: 2
    functionLinenumber: 754
    functionLinenumberEnd: 819
    functionName: WinTaskbarWidget::changeThumbbarButtons
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 3
    functionsReached:
    - getPlayingState
    - WinId
    - hasVideoOutput
    - THUMBBUTTONMASK
    - msg_Err
    - ThumbBarUpdateButtons
    - SetThumbnailClip
    - hasNext
    - hasPrev
    linkageType: ''
    returnType: void
    signature: void WinTaskbarWidget::changeThumbbarButtons( )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _p_intf
    argTypes:
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 827
    functionName: MainCtxWin32::MainCtxWin32
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 1
    functionsReached:
    - var_InheritBool
    linkageType: ''
    returnType: void
    signature: void MainCtxWin32::MainCtxWin32(qt_intf_t * _p_intf )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MainCtx::reloadPrefs
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:831,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 829
    functionDepth: 4
    functionLinenumber: 829
    functionLinenumberEnd: 838
    functionName: MainCtxWin32::reloadPrefs
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 0
    functionsReached:
    - MainCtx::reloadPrefs
    - var_InheritBool
    linkageType: ''
    returnType: void
    signature: void MainCtxWin32::reloadPrefs()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 843
    functionName: MainCtxWin32::getDisableVolumeKeys
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MainCtxWin32::getDisableVolumeKeys() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:847,1
    - Dst: QWindow*::handle
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:849,1
    - Dst: GetWindowLong
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:851,1
    - Dst: reinterpret_cast<HWND>
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:851,1
    - Dst: QWindow*::winId
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:851,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:854,1
    - Dst: qEnvironmentVariableIsEmpty
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:871,1
    - Dst: qEnvironmentVariableIntValue
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:871,1
    - Dst: qputenv
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:875,1
    - Dst: qDebug
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:879,1
    - Dst: QWindow*::create
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:884,1
    - Dst: qunsetenv
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:886,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - window
    argTypes:
    - QWindow*
    assertStmts:
    - condition: (window)
      pos:
        line_end: 846
        line_start: 846
        source_file: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    - condition: (alreadyHasNoRedirectionBitmap)
      pos:
        line_end: 853
        line_start: 853
        source_file: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    constantsTouched: []
    func_position:
      end: 889
      start: 845
    functionDepth: 2
    functionLinenumber: 845
    functionLinenumberEnd: 889
    functionName: MainCtxWin32::createWindowWithoutRedirectionSurfaceImpl
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 2
    functionsReached:
    - assert
    - GetWindowLong
    - QWindow*::create
    - qEnvironmentVariableIntValue
    - QWindow*::handle
    - reinterpret_cast<HWND>
    - qputenv
    - QWindow*::winId
    - qDebug
    - qEnvironmentVariableIsEmpty
    - qunsetenv
    linkageType: ''
    returnType: bool
    signature: bool MainCtxWin32::createWindowWithoutRedirectionSurfaceImpl(QWindow
      *window)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:896,1
    - Dst: MainCtx*::platformHandlesResizeWithCSD
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:897,1
    - Dst: MainCtx*::platformHandlesShadowsWithCSD
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:897,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:899,1
    - Dst: MainCtx*::platformHandlesResizeWithCSD
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:899,1
    - Dst: MainCtx*::platformHandlesShadowsWithCSD
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:899,1
    - Dst: CSDWin32EventHandler::CSDWin32EventHandler
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:900,1
    - Dst: qobject_cast<MainCtxWin32*>
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:903,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:904,1
    - Dst: auto::getDisableVolumeKeys
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:905,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:906,1
    - Dst: test_media_player_multiple_instance
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:910,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - _p_intf
    - mainCtx
    - window
    - parent
    argTypes:
    - qt_intf_t*
    - MainCtx*
    - QWindow*
    - QObject*
    assertStmts:
    - condition: (mainCtx)
      pos:
        line_end: 895
        line_start: 895
        source_file: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    - condition: (mainCtx->platformHandlesResizeWithCSD() && mainCtx->platformHandlesShadowsWithCSD())
      pos:
        line_end: 898
        line_start: 898
        source_file: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    - condition: (mainCtxWin32)
      pos:
        line_end: 903
        line_start: 903
        source_file: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    constantsTouched: []
    func_position:
      end: 911
      start: 893
    functionDepth: 3
    functionLinenumber: 893
    functionLinenumberEnd: 911
    functionName: InterfaceWindowHandlerWin32::InterfaceWindowHandlerWin32
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 0
    functionsReached:
    - assert
    - CSDWin32EventHandler::CSDWin32EventHandler
    - qobject_cast<MainCtxWin32*>
    - auto::getDisableVolumeKeys
    - MainCtx*::platformHandlesShadowsWithCSD
    - connect
    - MainCtx*::platformHandlesResizeWithCSD
    - test_media_player_multiple_instance
    linkageType: ''
    returnType: void
    signature: void InterfaceWindowHandlerWin32::InterfaceWindowHandlerWin32(qt_intf_t
      *_p_intf, MainCtx* mainCtx, QWindow* window, QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_media_player_multiple_instance
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 913
    functionDepth: 2
    functionLinenumber: 913
    functionLinenumberEnd: 916
    functionName: InterfaceWindowHandlerWin32::~InterfaceWindowHandlerWin32()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 0
    functionsReached:
    - test_media_player_multiple_instance
    linkageType: ''
    returnType: void
    signature: void InterfaceWindowHandlerWin32::~InterfaceWindowHandlerWin32()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: visibility
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:921,1
    - Dst: setInterfaceShown
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:925,1
    - Dst: requestActivate
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:926,1
    - Dst: setInterfaceMinimized
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:929,1
    - Dst: requestActivate
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:930,1
    - Dst: WinId
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:937,1
    - Dst: GetNextWindow
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:944,1
    - Dst: IsWindowVisible
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:945,1
    - Dst: GetWindowInfo
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:945,1
    - Dst: GetNextWindow
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:947,1
    - Dst: GetWindowInfo
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:950,1
    - Dst: setInterfaceHiden
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:951,1
    - Dst: requestActivate
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:953,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 918
    functionDepth: 2
    functionLinenumber: 918
    functionLinenumberEnd: 958
    functionName: InterfaceWindowHandlerWin32::toggleWindowVisibility
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 0
    functionsReached:
    - IsWindowVisible
    - WinId
    - visibility
    - GetWindowInfo
    - setInterfaceHiden
    - GetNextWindow
    - setInterfaceShown
    - requestActivate
    - setInterfaceMinimized
    linkageType: ''
    returnType: void
    signature: void InterfaceWindowHandlerWin32::toggleWindowVisibility()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: InterfaceWindowHandler::eventFilter
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:963,1
    - Dst: QEvent*::type
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:967,1
    - Dst: WinId
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:976,1
    - Dst: GetWindowPlacement
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:982,1
    - Dst: MonitorFromWindow
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:988,1
    - Dst: GetMonitorInfo
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:992,1
    - Dst: GetWindowRect
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:996,1
    - Dst: OffsetRect
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:999,1
    - Dst: EqualRect
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:1003,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - obj
    - ev
    argTypes:
    - QObject*
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 961
    functionDepth: 3
    functionLinenumber: 961
    functionLinenumberEnd: 1007
    functionName: InterfaceWindowHandlerWin32::eventFilter
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 0
    functionsReached:
    - GetWindowPlacement
    - WinId
    - OffsetRect
    - QEvent*::type
    - GetMonitorInfo
    - GetWindowRect
    - EqualRect
    - InterfaceWindowHandler::eventFilter
    - MonitorFromWindow
    linkageType: ''
    returnType: bool
    signature: bool InterfaceWindowHandlerWin32::eventFilter(QObject* obj, QEvent*
      ev)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MSG*>
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:1011,1
    - Dst: GET_APPCOMMAND_LPARAM
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:1017,1
    - Dst: togglePlayPause
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:1032,1
    - Dst: play
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:1035,1
    - Dst: pause
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:1038,1
    - Dst: prev
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:1042,1
    - Dst: next
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:1046,1
    - Dst: stop
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:1049,1
    - Dst: toggleRecord
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:1052,1
    - Dst: setVolumeDown
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:1055,1
    - Dst: setVolumeUp
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:1058,1
    - Dst: toggleMuted
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:1061,1
    - Dst: faster
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:1064,1
    - Dst: slower
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:1067,1
    - Dst: mediaInfoDialog
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:1070,1
    - Dst: simpleOpenDialog
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:1073,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:1076,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 63
    argCount: 2
    argNames:
    - message
    - result
    argTypes:
    - void*
    - qintptr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1009
    functionDepth: 2
    functionLinenumber: 1009
    functionLinenumberEnd: 1084
    functionName: InterfaceWindowHandlerWin32::nativeEventFilter
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 0
    functionsReached:
    - toggleMuted
    - GET_APPCOMMAND_LPARAM
    - play
    - static_cast<MSG*>
    - toggleRecord
    - setVolumeUp
    - prev
    - next
    - mediaInfoDialog
    - setVolumeDown
    - slower
    - simpleOpenDialog
    - msg_Dbg
    - stop
    - togglePlayPause
    - pause
    - faster
    linkageType: ''
    returnType: bool
    signature: bool InterfaceWindowHandlerWin32::nativeEventFilter(const QByteArray
      &, void *message, qintptr *result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CSDWin32EventHandler *>
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:1091,1
    - Dst: useClientSideDecoration
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:1091,1
    - Dst: InterfaceWindowHandler::updateCSDWindowSettings
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp:1093,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1088
    functionDepth: 1
    functionLinenumber: 1088
    functionLinenumberEnd: 1094
    functionName: InterfaceWindowHandlerWin32::updateCSDWindowSettings
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.cpp
    functionUses: 0
    functionsReached:
    - useClientSideDecoration
    - static_cast<CSDWin32EventHandler *>
    - InterfaceWindowHandler::updateCSDWindowSettings
    linkageType: ''
    returnType: void
    signature: void InterfaceWindowHandlerWin32::updateCSDWindowSettings()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' msg'
    - code
    argTypes:
    - std::string
    - HRESULT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: vlc::DXError::DXError
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DXError(const std::string& msg, HRESULT code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - msg
    - code
    argTypes:
    - char*
    - HRESULT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: vlc::DXError::DXError
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DXError(const char* msg, HRESULT code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: vlc::DXError::code
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT code() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FAILED
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_error.hpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - hr
    - ' msg'
    argTypes:
    - HRESULT
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: vlc::HR
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_error.hpp
    functionUses: 0
    functionsReached:
    - FAILED
    linkageType: ''
    returnType: void
    signature: void HR( HRESULT hr, const std::string& msg )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FAILED
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_error.hpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - hr
    argTypes:
    - HRESULT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: vlc::HR
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_error.hpp
    functionUses: 0
    functionsReached:
    - FAILED
    linkageType: ''
    returnType: void
    signature: void HR( HRESULT hr, const char* msg = "" )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' msg'
    - code
    argTypes:
    - std::string
    - HRESULT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: vlc::DXError::DXError
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DXError(const std::string& msg, HRESULT code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - msg
    - code
    argTypes:
    - char*
    - HRESULT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: vlc::DXError::DXError
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DXError(const char* msg, HRESULT code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: vlc::DXError::code
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT code() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FAILED
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_error.hpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - hr
    - ' msg'
    argTypes:
    - HRESULT
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: vlc::HR
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_error.hpp
    functionUses: 0
    functionsReached:
    - FAILED
    linkageType: ''
    returnType: void
    signature: void HR( HRESULT hr, const std::string& msg )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FAILED
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_error.hpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - hr
    argTypes:
    - HRESULT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: vlc::HR
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_error.hpp
    functionUses: 0
    functionsReached:
    - FAILED
    linkageType: ''
    returnType: void
    signature: void HR( HRESULT hr, const char* msg = "" )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p_intf
    - parent
    argTypes:
    - qt_intf_t*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: CompositorPlatform::CompositorPlatform
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompositorPlatform::CompositorPlatform(qt_intf_t *p_intf, QObject
      *parent)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: platformName
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:47,1
    - Dst: dummy_make_current
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:50,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:52,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:52,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:58,1
    - Dst: QLatin1String
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 63
    functionName: CompositorPlatform::init
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp
    functionUses: 0
    functionsReached:
    - dummy_make_current
    - QLatin1String
    - platformName
    linkageType: ''
    returnType: bool
    signature: bool CompositorPlatform::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<QWindow>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:69,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:71,1
    - Dst: QWindow::QWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:71,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:73,1
    - Dst: QQuickView::QQuickView
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:73,1
    - Dst: setResizeMode
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:74,1
    - Dst: setColor
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:78,1
    - Dst: format
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:80,1
    - Dst: QSurfaceFormat::setAlphaBufferSize
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:81,1
    - Dst: setFormat
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:82,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:86,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:86,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:87,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:87,1
    - Dst: create
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:89,1
    - Dst: commonGUICreate
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:91,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:91,1
    - Dst: setFlag
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:93,1
    - Dst: setOpacity
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:95,1
    - Dst: setOpacity
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:96,1
    - Dst: installEventFilter
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:98,1
    - Dst: aboutToShowQuickWindowCallback
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:101,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:103,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:104,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:105,1
    - Dst: raise
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - mainCtx
    - aboutToShowQuickWindowCallback
    argTypes:
    - MainCtx*
    - std::function<void (QQuickWindow *)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 110
    functionName: CompositorPlatform::makeMainInterface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp
    functionUses: 0
    functionsReached:
    - create
    - raise
    - QSurfaceFormat::setAlphaBufferSize
    - setResizeMode
    - get
    - QWindow::QWindow
    - setColor
    - commonGUICreate
    - format
    - setFlag
    - setFormat
    - connect
    - setOpacity
    - std::make_unique<QWindow>
    - QQuickView::QQuickView
    - aboutToShowQuickWindowCallback
    - setVisible
    - installEventFilter
    linkageType: ''
    returnType: bool
    signature: bool CompositorPlatform::makeMainInterface(MainCtx *mainCtx, std::function<void
      (QQuickWindow *)> aboutToShowQuickWindowCallback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: commonIntfDestroy
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: CompositorPlatform::destroyMainInterface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp
    functionUses: 0
    functionsReached:
    - commonIntfDestroy
    linkageType: ''
    returnType: void
    signature: void CompositorPlatform::destroyMainInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: removeEventFilter
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:119,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:120,1
    - Dst: setSource
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:121,1
    - Dst: QUrl
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:121,1
    - Dst: commonGUIDestroy
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: CompositorPlatform::unloadGUI
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp
    functionUses: 0
    functionsReached:
    - setSource
    - QUrl
    - reset
    - removeEventFilter
    - commonGUIDestroy
    linkageType: ''
    returnType: void
    signature: void CompositorPlatform::unloadGUI()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: commonSetupVoutWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:130,1
    - Dst: reinterpret_cast<void*>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:134,1
    - Dst: winId
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:134,1
    - Dst: reinterpret_cast<id>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:141,1
    - Dst: winId
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:141,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - p_wnd
    - destroyCb
    argTypes:
    - vlc_window_t*
    - VoutDestroyCb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 147
    functionName: CompositorPlatform::setupVoutWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp
    functionUses: 0
    functionsReached:
    - commonSetupVoutWindow
    - vlc_assert_unreachable
    - reinterpret_cast<id>
    - reinterpret_cast<void*>
    - winId
    linkageType: ''
    returnType: bool
    signature: bool CompositorPlatform::setupVoutWindow(vlc_window_t *p_wnd, VoutDestroyCb
      destroyCb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: CompositorPlatform::interfaceMainWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: QWindow
    signature: QWindow *CompositorPlatform::interfaceMainWindow() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: CompositorPlatform::quickWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: QQuickWindow
    signature: QQuickWindow *CompositorPlatform::quickWindow() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: CompositorPlatform::type
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Compositor::Type
    signature: Compositor::Type CompositorPlatform::type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:166,1
    - Dst: CompositorPlatform::activeFocusItem
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_quickWindow)
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: CompositorPlatform::activeFocusItem
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp
    functionUses: 1
    functionsReached:
    - assert
    - CompositorPlatform::activeFocusItem
    linkageType: ''
    returnType: QQuickItem
    signature: QQuickItem *CompositorPlatform::activeFocusItem() const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:175,1
    - Dst: QEvent*::type
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:177,1
    - Dst: QApplication::sendEvent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - watched
    - event
    argTypes:
    - QObject*
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 190
    functionName: CompositorPlatform::eventFilter
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp
    functionUses: 0
    functionsReached:
    - QEvent*::type
    - get
    - QApplication::sendEvent
    linkageType: ''
    returnType: bool
    signature: bool CompositorPlatform::eventFilter(QObject *watched, QEvent *event)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setGeometry
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:199,1
    - Dst: x
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:199,1
    - Dst: y
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:199,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:200,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:200,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:201,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:202,1
    - Dst: resize
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:208,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:209,1
    - Dst: setPosition
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:213,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 217
    functionName: CompositorPlatform::commitSurface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp
    functionUses: 0
    functionsReached:
    - setGeometry
    - resize
    - height
    - x
    - width
    - reset
    - setPosition
    - y
    linkageType: ''
    returnType: void
    signature: void CompositorPlatform::commitSurface()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: commonWindowEnable
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: CompositorPlatform::windowEnable
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp
    functionUses: 0
    functionsReached:
    - commonWindowEnable
    linkageType: ''
    returnType: int
    signature: int CompositorPlatform::windowEnable(const vlc_window_cfg_t *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: commonWindowDisable
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: CompositorPlatform::windowDisable
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp
    functionUses: 0
    functionsReached:
    - commonWindowDisable
    linkageType: ''
    returnType: void
    signature: void CompositorPlatform::windowDisable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: devicePixelRatio
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:232,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:233,1
    - Dst: QPointF::x
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:233,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:233,1
    - Dst: QPointF::y
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - position
    argTypes:
    - QPointF
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: CompositorPlatform::onSurfacePositionChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp
    functionUses: 0
    functionsReached:
    - QPointF::y
    - QPointF::x
    - devicePixelRatio
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void CompositorPlatform::onSurfacePositionChanged(const QPointF &position)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: devicePixelRatio
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:238,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:239,1
    - Dst: std::ceil
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:239,1
    - Dst: QSizeF::width
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:239,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:239,1
    - Dst: std::ceil
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:239,1
    - Dst: QSizeF::height
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - QSizeF
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: CompositorPlatform::onSurfaceSizeChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_platform.cpp
    functionUses: 0
    functionsReached:
    - devicePixelRatio
    - QSizeF::width
    - static_cast<int>
    - QSizeF::height
    - std::ceil
    linkageType: ''
    returnType: void
    signature: void CompositorPlatform::onSurfaceSizeChanged(const QSizeF &size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.hpp:66,1
    - Dst: FAILED
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.hpp:66,1
    - Dst: CoInitializeEx
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.hpp:66,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.hpp:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: WinTaskbarWidget::ComHolder::ComHolder
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.hpp
    functionUses: 0
    functionsReached:
    - FAILED
    - CoInitializeEx
    - Q_UNLIKELY
    - std::runtime_error
    linkageType: ''
    returnType: void
    signature: void ComHolder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoUninitialize
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.hpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: ~ComHolder()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.hpp
    functionUses: 0
    functionsReached:
    - CoUninitialize
    linkageType: ''
    returnType: void
    signature: void ~ComHolder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: ~MainCtxWin32()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MainCtxWin32()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dummy_make_current
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.hpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: MainCtxWin32::platformHandlesShadowsWithCSD
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.hpp
    functionUses: 0
    functionsReached:
    - dummy_make_current
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE platformHandlesShadowsWithCSD() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dummy_make_current
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.hpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: MainCtxWin32::platformHandlesResizeWithCSD
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.hpp
    functionUses: 0
    functionsReached:
    - dummy_make_current
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE platformHandlesResizeWithCSD() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.hpp:100,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.hpp:101,1
    - Dst: p_compositor::type
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.hpp:102,1
    - Dst: MainCtxWin32::createWindowWithoutRedirectionSurfaceImpl
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.hpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - window
    argTypes:
    - QWindow*
    assertStmts:
    - condition: (p_intf)
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.hpp
    - condition: (p_intf->p_compositor)
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.hpp
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: MainCtxWin32::createWindowWithoutRedirectionSurface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_win32.hpp
    functionUses: 0
    functionsReached:
    - MainCtxWin32::createWindowWithoutRedirectionSurfaceImpl
    - assert
    - p_compositor::type
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE createWindowWithoutRedirectionSurface(QWindow* window)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: vlc::CompositorX11RenderWindow::hasAcrylic
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasAcrylic() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: vlc::CompositorX11RenderWindow::supportExtendedFrame
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supportExtendedFrame() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: vlc::CompositorX11RenderWindow::hasAcrylic
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasAcrylic() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: vlc::CompositorX11RenderWindow::supportExtendedFrame
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supportExtendedFrame() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SystemParametersInfoA
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:52,1
    - Dst: QSettings::value
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 63
    functionName: isTransparencyEnabled
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 0
    functionsReached:
    - SystemParametersInfoA
    - QSettings::value
    linkageType: ''
    returnType: bool
    signature: bool isTransparencyEnabled()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:68,1
    - Dst: QLibrary::isLoaded
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:68,1
    - Dst: QLibrary::resolve
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:70,1
    - Dst: GetLastError
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:73,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:74,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:74,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:74,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:74,1
    - Dst: reinterpret_cast<F>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - library
    - symbol
    argTypes:
    - QLibrary
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: loadFunction
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 0
    functionsReached:
    - vlc_assert
    - QString
    - GetLastError
    - QLibrary::resolve
    - QLibrary::isLoaded
    - vlclua_io_file_read_number
    - reinterpret_cast<F>
    - std::runtime_error
    linkageType: ''
    returnType: F
    signature: F loadFunction(QLibrary &library, const char *symbol)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleHandleW
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:84,1
    - Dst: reinterpret_cast<RtlGetVersionPtr>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:85,1
    - Dst: GetProcAddress
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:85,1
    - Dst: GetVersionInfo
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 97
    functionName: isWinPreIron
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 0
    functionsReached:
    - GetModuleHandleW
    - GetVersionInfo
    - GetProcAddress
    - reinterpret_cast<RtlGetVersionPtr>
    linkageType: ''
    returnType: bool
    signature: bool isWinPreIron()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SystemParametersInfoA
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:52,1
    - Dst: QSettings::value
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 63
    functionName: isTransparencyEnabled
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 0
    functionsReached:
    - SystemParametersInfoA
    - QSettings::value
    linkageType: ''
    returnType: bool
    signature: bool isTransparencyEnabled()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:68,1
    - Dst: QLibrary::isLoaded
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:68,1
    - Dst: QLibrary::resolve
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:70,1
    - Dst: GetLastError
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:73,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:74,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:74,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:74,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:74,1
    - Dst: reinterpret_cast<F>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - library
    - symbol
    argTypes:
    - QLibrary
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: loadFunction
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 0
    functionsReached:
    - vlc_assert
    - QString
    - GetLastError
    - QLibrary::resolve
    - QLibrary::isLoaded
    - vlclua_io_file_read_number
    - reinterpret_cast<F>
    - std::runtime_error
    linkageType: ''
    returnType: F
    signature: F loadFunction(QLibrary &library, const char *symbol)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleHandleW
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:84,1
    - Dst: reinterpret_cast<RtlGetVersionPtr>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:85,1
    - Dst: GetProcAddress
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:85,1
    - Dst: GetVersionInfo
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 97
    functionName: isWinPreIron
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 0
    functionsReached:
    - GetModuleHandleW
    - GetVersionInfo
    - GetProcAddress
    - reinterpret_cast<RtlGetVersionPtr>
    linkageType: ''
    returnType: bool
    signature: bool isWinPreIron()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:110,1
    - Dst: IDCompositionDevice*::QueryInterface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:111,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:111,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:114,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::init
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:116,1
    - Dst: std::exception
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:117,1
    - Dst: installNativeEventFilter
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:119,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::setActive
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:121,1
    - Dst: acrylicActive
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:121,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:122,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::setActive
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:124,1
    - Dst: acrylicActive
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:124,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:128,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:128,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::sync
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:130,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::commitChanges
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:131,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 5
    argNames:
    - intf
    - compositor
    - mainCtx
    - device
    - parent
    argTypes:
    - qt_intf_t*
    - CompositorDirectComposition*
    - MainCtx*
    - IDCompositionDevice*
    - QObject*
    assertStmts:
    - condition: (device)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    constantsTouched: []
    func_position:
      end: 136
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 136
    functionName: vlc::CompositorDCompositionAcrylicSurface::CompositorDCompositionAcrylicSurface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 0
    functionsReached:
    - vlc::CompositorDCompositionAcrylicSurface::commitChanges
    - assert
    - installNativeEventFilter
    - vlc::CompositorDCompositionAcrylicSurface::setActive
    - acrylicActive
    - IID_PPV_ARGS
    - vlc::CompositorDCompositionAcrylicSurface::window
    - vlc::CompositorDCompositionAcrylicSurface::init
    - connect
    - vlc::CompositorDCompositionAcrylicSurface::sync
    - std::exception
    - IDCompositionDevice*::QueryInterface
    - std::runtime_error
    linkageType: ''
    returnType: void
    signature: void CompositorDCompositionAcrylicSurface::CompositorDCompositionAcrylicSurface(qt_intf_t
      *intf, CompositorDirectComposition *compositor, MainCtx *mainCtx, IDCompositionDevice
      *device, QObject *parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setHasAcrylicSurface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:140,1
    - Dst: DestroyWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionName: CompositorDCompositionAcrylicSurface::~CompositorDCompositionAcrylicSurface()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 0
    functionsReached:
    - setHasAcrylicSurface
    - DestroyWindow
    linkageType: ''
    returnType: void
    signature: void CompositorDCompositionAcrylicSurface::~CompositorDCompositionAcrylicSurface()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MSG*>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:148,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::hwnd
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:150,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::sync
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:160,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::commitChanges
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:161,1
    - Dst: lstrcmpW
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:166,1
    - Dst: LPCWSTR
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:166,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::updateTransparencyState
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:168,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::updateTransparencyState
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:174,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - message
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 180
    functionName: vlc::CompositorDCompositionAcrylicSurface::nativeEventFilter
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 0
    functionsReached:
    - vlc::CompositorDCompositionAcrylicSurface::commitChanges
    - vlc::CompositorDCompositionAcrylicSurface::hwnd
    - lstrcmpW
    - LPCWSTR
    - static_cast<MSG*>
    - vlc::CompositorDCompositionAcrylicSurface::sync
    - vlc::CompositorDCompositionAcrylicSurface::updateTransparencyState
    linkageType: ''
    returnType: bool
    signature: bool CompositorDCompositionAcrylicSurface::nativeEventFilter(const
      QByteArray &, void *message, qintptr *)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc::CompositorDCompositionAcrylicSurface::loadFunctions
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:185,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::initializeEffects
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:188,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::createDesktopVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:191,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::createBackHostVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:194,1
    - Dst: screens
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:199,1
    - Dst: geometry
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:201,1
    - Dst: std::min<int>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:202,1
    - Dst: auto::left
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:202,1
    - Dst: std::min<int>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:203,1
    - Dst: auto::top
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:203,1
    - Dst: isTransparencyEnabled
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:206,1
    - Dst: setHasAcrylicSurface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:207,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 210
    functionName: vlc::CompositorDCompositionAcrylicSurface::init
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 1
    functionsReached:
    - geometry
    - vlc::CompositorDCompositionAcrylicSurface::createDesktopVisual
    - std::min<int>
    - auto::left
    - vlc::CompositorDCompositionAcrylicSurface::loadFunctions
    - screens
    - isTransparencyEnabled
    - setHasAcrylicSurface
    - vlc::CompositorDCompositionAcrylicSurface::initializeEffects
    - vlc::CompositorDCompositionAcrylicSurface::createBackHostVisual
    - auto::top
    linkageType: ''
    returnType: bool
    signature: bool CompositorDCompositionAcrylicSurface::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isTransparencyEnabled
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:214,1
    - Dst: setHasAcrylicSurface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:219,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::setActive
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:220,1
    - Dst: acrylicActive
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 221
    functionName: vlc::CompositorDCompositionAcrylicSurface::updateTransparencyState
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 1
    functionsReached:
    - acrylicActive
    - isTransparencyEnabled
    - setHasAcrylicSurface
    - vlc::CompositorDCompositionAcrylicSurface::setActive
    linkageType: ''
    returnType: void
    signature: void CompositorDCompositionAcrylicSurface::updateTransparencyState()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QLibrary::load
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:227,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:228,1
    - Dst: QLibrary::errorString
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:228,1
    - Dst: loadFunction
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:230,1
    - Dst: MAKEINTRESOURCEA
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:230,1
    - Dst: loadFunction
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:231,1
    - Dst: MAKEINTRESOURCEA
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:231,1
    - Dst: isWinPreIron
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:233,1
    - Dst: loadFunction
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:234,1
    - Dst: MAKEINTRESOURCEA
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:234,1
    - Dst: loadFunction
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:236,1
    - Dst: MAKEINTRESOURCEA
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:236,1
    - Dst: QLibrary::load
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:240,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:241,1
    - Dst: QLibrary::errorString
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:241,1
    - Dst: loadFunction
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:243,1
    - Dst: loadFunction
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:244,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:250,1
    - Dst: what
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:250,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 252
    functionName: vlc::CompositorDCompositionAcrylicSurface::loadFunctions
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 1
    functionsReached:
    - QLibrary::errorString
    - loadFunction
    - isWinPreIron
    - QLibrary::load
    - MAKEINTRESOURCEA
    - what
    - msg_Err
    - std::runtime_error
    linkageType: ''
    returnType: bool
    signature: bool CompositorDCompositionAcrylicSurface::loadFunctions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:257,1
    - Dst: HR
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:259,1
    - Dst: CreateVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:259,1
    - Dst: HR
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:261,1
    - Dst: CreateRectangleClip
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:261,1
    - Dst: HR
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:263,1
    - Dst: CreateTranslateTransform
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:263,1
    - Dst: HR
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:265,1
    - Dst: CreateSaturationEffect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:265,1
    - Dst: HR
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:267,1
    - Dst: CreateGaussianBlurEffect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:267,1
    - Dst: SetSaturation
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:269,1
    - Dst: SetBorderMode
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:271,1
    - Dst: SetStandardDeviation
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:272,1
    - Dst: SetInput
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:273,1
    - Dst: Get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:273,1
    - Dst: SetEffect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:274,1
    - Dst: Get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:274,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:280,1
    - Dst: what
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:280,1
    - Dst: code
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_dcompDevice)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    constantsTouched: []
    func_position:
      end: 282
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 282
    functionName: vlc::CompositorDCompositionAcrylicSurface::initializeEffects
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 1
    functionsReached:
    - SetEffect
    - assert
    - SetInput
    - CreateVisual
    - SetSaturation
    - what
    - Get
    - CreateRectangleClip
    - msg_Err
    - code
    - CreateGaussianBlurEffect
    - SetStandardDeviation
    - SetBorderMode
    - CreateSaturationEffect
    - CreateTranslateTransform
    - HR
    linkageType: ''
    returnType: bool
    signature: bool CompositorDCompositionAcrylicSurface::initializeEffects()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:288,1
    - Dst: GetShellWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:289,1
    - Dst: DXError
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:291,1
    - Dst: static_cast<HRESULT>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:291,1
    - Dst: GetLastError
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:291,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:293,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:294,1
    - Dst: HR
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:305,1
    - Dst: lDwmpCreateSharedThumbnailVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:305,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::hwnd
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:305,1
    - Dst: Get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:305,1
    - Dst: HR
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:306,1
    - Dst: AddVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:306,1
    - Dst: Get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:306,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:312,1
    - Dst: what
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:312,1
    - Dst: code
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 314
    functionName: vlc::CompositorDCompositionAcrylicSurface::createDesktopVisual
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 1
    functionsReached:
    - lDwmpCreateSharedThumbnailVisual
    - GetSystemMetrics
    - vlc::CompositorDCompositionAcrylicSurface::hwnd
    - GetShellWindow
    - what
    - Get
    - GetLastError
    - msg_Err
    - AddVisual
    - code
    - DXError
    - HR
    - static_cast<HRESULT>
    - vlc_assert
    linkageType: ''
    returnType: bool
    signature: bool CompositorDCompositionAcrylicSurface::createDesktopVisual()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:319,1
    - Dst: ::CreateWindowExA
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:322,1
    - Dst: DXError
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:324,1
    - Dst: static_cast<HRESULT>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:324,1
    - Dst: GetLastError
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:324,1
    - Dst: ShowWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:325,1
    - Dst: DwmSetWindowAttribute
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:327,1
    - Dst: lSetWindowCompositionAttribute
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:334,1
    - Dst: vlc_assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:336,1
    - Dst: HR
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:337,1
    - Dst: lDwmpCreateSharedMultiWindowVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:337,1
    - Dst: Get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:337,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::updateVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:340,1
    - Dst: HR
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:342,1
    - Dst: AddVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:342,1
    - Dst: Get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:342,1
    - Dst: Get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:342,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:348,1
    - Dst: what
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:348,1
    - Dst: code
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 350
    functionName: vlc::CompositorDCompositionAcrylicSurface::createBackHostVisual
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 1
    functionsReached:
    - ::CreateWindowExA
    - DwmSetWindowAttribute
    - lSetWindowCompositionAttribute
    - what
    - Get
    - GetLastError
    - msg_Err
    - lDwmpCreateSharedMultiWindowVisual
    - vlc::CompositorDCompositionAcrylicSurface::updateVisual
    - AddVisual
    - DXError
    - code
    - HR
    - ShowWindow
    - static_cast<HRESULT>
    - vlc_assert
    linkageType: ''
    returnType: bool
    signature: bool CompositorDCompositionAcrylicSurface::createBackHostVisual()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc::CompositorDCompositionAcrylicSurface::hwnd
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:354,1
    - Dst: std::abs
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:357,1
    - Dst: std::abs
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:358,1
    - Dst: GetWindowRect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:362,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::hwnd
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:362,1
    - Dst: SetLeft
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:363,1
    - Dst: SetRight
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:364,1
    - Dst: SetTop
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:365,1
    - Dst: SetBottom
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:366,1
    - Dst: SetClip
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:367,1
    - Dst: Get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:367,1
    - Dst: useClientSideDecoration
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:372,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:374,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:374,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:375,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:375,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:376,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:378,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:381,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:381,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:382,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:382,1
    - Dst: SetOffsetX
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:385,1
    - Dst: SetOffsetY
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:386,1
    - Dst: SetTransform
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:387,1
    - Dst: Get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 388
    functionName: vlc::CompositorDCompositionAcrylicSurface::sync
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 2
    functionsReached:
    - vlc::CompositorDCompositionAcrylicSurface::hwnd
    - GetSystemMetrics
    - SetTop
    - std::abs
    - SetClip
    - SetTransform
    - SetOffsetX
    - vlc::CompositorDCompositionAcrylicSurface::window
    - SetRight
    - Get
    - SetOffsetY
    - GetWindowRect
    - useClientSideDecoration
    - SetBottom
    - SetLeft
    linkageType: ''
    returnType: void
    signature: void CompositorDCompositionAcrylicSurface::sync()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc::CompositorDCompositionAcrylicSurface::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:392,1
    - Dst: auto::screen
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:393,1
    - Dst: GetWindowRect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:397,1
    - Dst: GetShellWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:397,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:399,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:400,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::hwnd
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:404,1
    - Dst: lDwmpUpdateSharedVirtualDesktopVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:410,1
    - Dst: lDwmpUpdateSharedMultiWindowVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:412,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:414,1
    - Dst: FAILED
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:416,1
    - Dst: qDebug
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:417,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 418
    functionName: vlc::CompositorDCompositionAcrylicSurface::updateVisual
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 1
    functionsReached:
    - GetSystemMetrics
    - vlc::CompositorDCompositionAcrylicSurface::hwnd
    - GetShellWindow
    - vlc_assert_unreachable
    - FAILED
    - vlc::CompositorDCompositionAcrylicSurface::window
    - lDwmpUpdateSharedVirtualDesktopVisual
    - auto::screen
    - GetWindowRect
    - lDwmpUpdateSharedMultiWindowVisual
    - qDebug
    linkageType: ''
    returnType: void
    signature: void CompositorDCompositionAcrylicSurface::updateVisual()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Commit
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:422,1
    - Dst: DwmFlush
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 424
    functionName: vlc::CompositorDCompositionAcrylicSurface::commitChanges
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 2
    functionsReached:
    - DwmFlush
    - Commit
    linkageType: ''
    returnType: void
    signature: void CompositorDCompositionAcrylicSurface::commitChanges()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: addVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:434,1
    - Dst: Get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:434,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::updateVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:436,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::sync
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:437,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::commitChanges
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:438,1
    - Dst: removeVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:442,1
    - Dst: Get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:442,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - newActive
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 444
    functionName: vlc::CompositorDCompositionAcrylicSurface::setActive
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 2
    functionsReached:
    - vlc::CompositorDCompositionAcrylicSurface::commitChanges
    - addVisual
    - Get
    - removeVisual
    - vlc::CompositorDCompositionAcrylicSurface::updateVisual
    - vlc::CompositorDCompositionAcrylicSurface::sync
    linkageType: ''
    returnType: void
    signature: void CompositorDCompositionAcrylicSurface::setActive(const bool newActive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: interfaceMainWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 449
    functionName: vlc::CompositorDCompositionAcrylicSurface::window
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 3
    functionsReached:
    - interfaceMainWindow
    linkageType: ''
    returnType: QWindow
    signature: QWindow *CompositorDCompositionAcrylicSurface::window()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc::CompositorDCompositionAcrylicSurface::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:453,1
    - Dst: auto::handle
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:454,1
    - Dst: auto::winId
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 457
    functionName: vlc::CompositorDCompositionAcrylicSurface::hwnd
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 4
    functionsReached:
    - auto::handle
    - vlc::CompositorDCompositionAcrylicSurface::window
    - auto::winId
    linkageType: ''
    returnType: HWND
    signature: HWND CompositorDCompositionAcrylicSurface::hwnd()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:110,1
    - Dst: IDCompositionDevice*::QueryInterface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:111,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:111,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:114,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::init
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:116,1
    - Dst: std::exception
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:117,1
    - Dst: installNativeEventFilter
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:119,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::setActive
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:121,1
    - Dst: acrylicActive
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:121,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:122,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::setActive
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:124,1
    - Dst: acrylicActive
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:124,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:128,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:128,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::sync
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:130,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::commitChanges
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:131,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 5
    argNames:
    - intf
    - compositor
    - mainCtx
    - device
    - parent
    argTypes:
    - qt_intf_t*
    - CompositorDirectComposition*
    - MainCtx*
    - IDCompositionDevice*
    - QObject*
    assertStmts:
    - condition: (device)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    constantsTouched: []
    func_position:
      end: 136
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 136
    functionName: vlc::CompositorDCompositionAcrylicSurface::CompositorDCompositionAcrylicSurface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 0
    functionsReached:
    - vlc::CompositorDCompositionAcrylicSurface::commitChanges
    - assert
    - installNativeEventFilter
    - vlc::CompositorDCompositionAcrylicSurface::setActive
    - acrylicActive
    - IID_PPV_ARGS
    - vlc::CompositorDCompositionAcrylicSurface::window
    - vlc::CompositorDCompositionAcrylicSurface::init
    - connect
    - vlc::CompositorDCompositionAcrylicSurface::sync
    - std::exception
    - IDCompositionDevice*::QueryInterface
    - std::runtime_error
    linkageType: ''
    returnType: void
    signature: void CompositorDCompositionAcrylicSurface::CompositorDCompositionAcrylicSurface(qt_intf_t
      *intf, CompositorDirectComposition *compositor, MainCtx *mainCtx, IDCompositionDevice
      *device, QObject *parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setHasAcrylicSurface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:140,1
    - Dst: DestroyWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionName: CompositorDCompositionAcrylicSurface::~CompositorDCompositionAcrylicSurface()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 0
    functionsReached:
    - setHasAcrylicSurface
    - DestroyWindow
    linkageType: ''
    returnType: void
    signature: void CompositorDCompositionAcrylicSurface::~CompositorDCompositionAcrylicSurface()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MSG*>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:148,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::hwnd
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:150,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::sync
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:160,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::commitChanges
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:161,1
    - Dst: lstrcmpW
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:166,1
    - Dst: LPCWSTR
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:166,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::updateTransparencyState
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:168,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::updateTransparencyState
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:174,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - message
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 180
    functionName: vlc::CompositorDCompositionAcrylicSurface::nativeEventFilter
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 0
    functionsReached:
    - vlc::CompositorDCompositionAcrylicSurface::commitChanges
    - vlc::CompositorDCompositionAcrylicSurface::hwnd
    - lstrcmpW
    - LPCWSTR
    - static_cast<MSG*>
    - vlc::CompositorDCompositionAcrylicSurface::sync
    - vlc::CompositorDCompositionAcrylicSurface::updateTransparencyState
    linkageType: ''
    returnType: bool
    signature: bool CompositorDCompositionAcrylicSurface::nativeEventFilter(const
      QByteArray &, void *message, qintptr *)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc::CompositorDCompositionAcrylicSurface::loadFunctions
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:185,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::initializeEffects
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:188,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::createDesktopVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:191,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::createBackHostVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:194,1
    - Dst: screens
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:199,1
    - Dst: geometry
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:201,1
    - Dst: std::min<int>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:202,1
    - Dst: auto::left
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:202,1
    - Dst: std::min<int>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:203,1
    - Dst: auto::top
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:203,1
    - Dst: isTransparencyEnabled
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:206,1
    - Dst: setHasAcrylicSurface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:207,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 183
    functionDepth: 3
    functionLinenumber: 183
    functionLinenumberEnd: 210
    functionName: vlc::CompositorDCompositionAcrylicSurface::init
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 2
    functionsReached:
    - geometry
    - vlc::CompositorDCompositionAcrylicSurface::createDesktopVisual
    - std::min<int>
    - auto::left
    - vlc::CompositorDCompositionAcrylicSurface::loadFunctions
    - screens
    - isTransparencyEnabled
    - setHasAcrylicSurface
    - vlc::CompositorDCompositionAcrylicSurface::initializeEffects
    - vlc::CompositorDCompositionAcrylicSurface::createBackHostVisual
    - auto::top
    linkageType: ''
    returnType: bool
    signature: bool CompositorDCompositionAcrylicSurface::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isTransparencyEnabled
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:214,1
    - Dst: setHasAcrylicSurface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:219,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::setActive
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:220,1
    - Dst: acrylicActive
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 221
    functionName: vlc::CompositorDCompositionAcrylicSurface::updateTransparencyState
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 2
    functionsReached:
    - acrylicActive
    - isTransparencyEnabled
    - setHasAcrylicSurface
    - vlc::CompositorDCompositionAcrylicSurface::setActive
    linkageType: ''
    returnType: void
    signature: void CompositorDCompositionAcrylicSurface::updateTransparencyState()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QLibrary::load
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:227,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:228,1
    - Dst: QLibrary::errorString
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:228,1
    - Dst: loadFunction
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:230,1
    - Dst: MAKEINTRESOURCEA
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:230,1
    - Dst: loadFunction
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:231,1
    - Dst: MAKEINTRESOURCEA
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:231,1
    - Dst: isWinPreIron
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:233,1
    - Dst: loadFunction
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:234,1
    - Dst: MAKEINTRESOURCEA
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:234,1
    - Dst: loadFunction
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:236,1
    - Dst: MAKEINTRESOURCEA
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:236,1
    - Dst: QLibrary::load
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:240,1
    - Dst: std::runtime_error
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:241,1
    - Dst: QLibrary::errorString
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:241,1
    - Dst: loadFunction
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:243,1
    - Dst: loadFunction
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:244,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:250,1
    - Dst: what
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:250,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 252
    functionName: vlc::CompositorDCompositionAcrylicSurface::loadFunctions
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 2
    functionsReached:
    - QLibrary::errorString
    - loadFunction
    - isWinPreIron
    - QLibrary::load
    - MAKEINTRESOURCEA
    - what
    - msg_Err
    - std::runtime_error
    linkageType: ''
    returnType: bool
    signature: bool CompositorDCompositionAcrylicSurface::loadFunctions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:257,1
    - Dst: HR
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:259,1
    - Dst: CreateVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:259,1
    - Dst: HR
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:261,1
    - Dst: CreateRectangleClip
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:261,1
    - Dst: HR
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:263,1
    - Dst: CreateTranslateTransform
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:263,1
    - Dst: HR
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:265,1
    - Dst: CreateSaturationEffect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:265,1
    - Dst: HR
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:267,1
    - Dst: CreateGaussianBlurEffect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:267,1
    - Dst: SetSaturation
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:269,1
    - Dst: SetBorderMode
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:271,1
    - Dst: SetStandardDeviation
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:272,1
    - Dst: SetInput
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:273,1
    - Dst: Get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:273,1
    - Dst: SetEffect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:274,1
    - Dst: Get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:274,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:280,1
    - Dst: what
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:280,1
    - Dst: code
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_dcompDevice)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    constantsTouched: []
    func_position:
      end: 282
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 282
    functionName: vlc::CompositorDCompositionAcrylicSurface::initializeEffects
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 2
    functionsReached:
    - SetEffect
    - assert
    - SetInput
    - CreateVisual
    - SetSaturation
    - what
    - Get
    - CreateRectangleClip
    - msg_Err
    - code
    - CreateGaussianBlurEffect
    - SetStandardDeviation
    - SetBorderMode
    - CreateSaturationEffect
    - CreateTranslateTransform
    - HR
    linkageType: ''
    returnType: bool
    signature: bool CompositorDCompositionAcrylicSurface::initializeEffects()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:288,1
    - Dst: GetShellWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:289,1
    - Dst: DXError
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:291,1
    - Dst: static_cast<HRESULT>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:291,1
    - Dst: GetLastError
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:291,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:293,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:294,1
    - Dst: HR
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:305,1
    - Dst: lDwmpCreateSharedThumbnailVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:305,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::hwnd
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:305,1
    - Dst: Get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:305,1
    - Dst: HR
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:306,1
    - Dst: AddVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:306,1
    - Dst: Get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:306,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:312,1
    - Dst: what
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:312,1
    - Dst: code
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 314
    functionName: vlc::CompositorDCompositionAcrylicSurface::createDesktopVisual
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 2
    functionsReached:
    - lDwmpCreateSharedThumbnailVisual
    - GetSystemMetrics
    - vlc::CompositorDCompositionAcrylicSurface::hwnd
    - GetShellWindow
    - what
    - Get
    - GetLastError
    - msg_Err
    - AddVisual
    - code
    - DXError
    - HR
    - static_cast<HRESULT>
    - vlc_assert
    linkageType: ''
    returnType: bool
    signature: bool CompositorDCompositionAcrylicSurface::createDesktopVisual()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:319,1
    - Dst: ::CreateWindowExA
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:322,1
    - Dst: DXError
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:324,1
    - Dst: static_cast<HRESULT>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:324,1
    - Dst: GetLastError
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:324,1
    - Dst: ShowWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:325,1
    - Dst: DwmSetWindowAttribute
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:327,1
    - Dst: lSetWindowCompositionAttribute
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:334,1
    - Dst: vlc_assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:336,1
    - Dst: HR
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:337,1
    - Dst: lDwmpCreateSharedMultiWindowVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:337,1
    - Dst: Get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:337,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::updateVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:340,1
    - Dst: HR
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:342,1
    - Dst: AddVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:342,1
    - Dst: Get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:342,1
    - Dst: Get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:342,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:348,1
    - Dst: what
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:348,1
    - Dst: code
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 350
    functionName: vlc::CompositorDCompositionAcrylicSurface::createBackHostVisual
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 2
    functionsReached:
    - ::CreateWindowExA
    - DwmSetWindowAttribute
    - lSetWindowCompositionAttribute
    - what
    - Get
    - GetLastError
    - msg_Err
    - lDwmpCreateSharedMultiWindowVisual
    - vlc::CompositorDCompositionAcrylicSurface::updateVisual
    - AddVisual
    - DXError
    - code
    - HR
    - ShowWindow
    - static_cast<HRESULT>
    - vlc_assert
    linkageType: ''
    returnType: bool
    signature: bool CompositorDCompositionAcrylicSurface::createBackHostVisual()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc::CompositorDCompositionAcrylicSurface::hwnd
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:354,1
    - Dst: std::abs
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:357,1
    - Dst: std::abs
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:358,1
    - Dst: GetWindowRect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:362,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::hwnd
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:362,1
    - Dst: SetLeft
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:363,1
    - Dst: SetRight
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:364,1
    - Dst: SetTop
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:365,1
    - Dst: SetBottom
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:366,1
    - Dst: SetClip
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:367,1
    - Dst: Get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:367,1
    - Dst: useClientSideDecoration
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:372,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:374,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:374,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:375,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:375,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:376,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:378,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:381,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:381,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:382,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:382,1
    - Dst: SetOffsetX
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:385,1
    - Dst: SetOffsetY
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:386,1
    - Dst: SetTransform
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:387,1
    - Dst: Get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 388
    functionName: vlc::CompositorDCompositionAcrylicSurface::sync
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 5
    functionsReached:
    - vlc::CompositorDCompositionAcrylicSurface::hwnd
    - GetSystemMetrics
    - SetTop
    - std::abs
    - SetClip
    - SetTransform
    - SetOffsetX
    - vlc::CompositorDCompositionAcrylicSurface::window
    - SetRight
    - Get
    - SetOffsetY
    - GetWindowRect
    - useClientSideDecoration
    - SetBottom
    - SetLeft
    linkageType: ''
    returnType: void
    signature: void CompositorDCompositionAcrylicSurface::sync()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc::CompositorDCompositionAcrylicSurface::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:392,1
    - Dst: auto::screen
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:393,1
    - Dst: GetWindowRect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:397,1
    - Dst: GetShellWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:397,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:399,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:400,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::hwnd
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:404,1
    - Dst: lDwmpUpdateSharedVirtualDesktopVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:410,1
    - Dst: lDwmpUpdateSharedMultiWindowVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:412,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:414,1
    - Dst: FAILED
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:416,1
    - Dst: qDebug
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:417,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 418
    functionName: vlc::CompositorDCompositionAcrylicSurface::updateVisual
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 3
    functionsReached:
    - GetSystemMetrics
    - vlc::CompositorDCompositionAcrylicSurface::hwnd
    - GetShellWindow
    - vlc_assert_unreachable
    - FAILED
    - vlc::CompositorDCompositionAcrylicSurface::window
    - lDwmpUpdateSharedVirtualDesktopVisual
    - auto::screen
    - GetWindowRect
    - lDwmpUpdateSharedMultiWindowVisual
    - qDebug
    linkageType: ''
    returnType: void
    signature: void CompositorDCompositionAcrylicSurface::updateVisual()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Commit
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:422,1
    - Dst: DwmFlush
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 424
    functionName: vlc::CompositorDCompositionAcrylicSurface::commitChanges
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 5
    functionsReached:
    - DwmFlush
    - Commit
    linkageType: ''
    returnType: void
    signature: void CompositorDCompositionAcrylicSurface::commitChanges()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: addVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:434,1
    - Dst: Get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:434,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::updateVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:436,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::sync
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:437,1
    - Dst: vlc::CompositorDCompositionAcrylicSurface::commitChanges
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:438,1
    - Dst: removeVisual
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:442,1
    - Dst: Get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:442,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - newActive
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 444
    functionName: vlc::CompositorDCompositionAcrylicSurface::setActive
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 4
    functionsReached:
    - vlc::CompositorDCompositionAcrylicSurface::commitChanges
    - addVisual
    - Get
    - removeVisual
    - vlc::CompositorDCompositionAcrylicSurface::updateVisual
    - vlc::CompositorDCompositionAcrylicSurface::sync
    linkageType: ''
    returnType: void
    signature: void CompositorDCompositionAcrylicSurface::setActive(const bool newActive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: interfaceMainWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 449
    functionName: vlc::CompositorDCompositionAcrylicSurface::window
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 7
    functionsReached:
    - interfaceMainWindow
    linkageType: ''
    returnType: QWindow
    signature: QWindow *CompositorDCompositionAcrylicSurface::window()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc::CompositorDCompositionAcrylicSurface::window
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:453,1
    - Dst: auto::handle
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:454,1
    - Dst: auto::winId
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 457
    functionName: vlc::CompositorDCompositionAcrylicSurface::hwnd
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp_acrylicsurface.cpp
    functionUses: 8
    functionsReached:
    - auto::handle
    - vlc::CompositorDCompositionAcrylicSurface::window
    - auto::winId
    linkageType: ''
    returnType: HWND
    signature: HWND CompositorDCompositionAcrylicSurface::hwnd()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:54,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts:
    - condition: (value >= 0 && value <= std::numeric_limits<uint16_t>::max())
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: assertUint16Range
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached:
    - assert
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: void
    signature: void assertUint16Range(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:54,1
    - Dst: packetizer_getcc_cea608_max
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts:
    - condition: (value >= 0 && value <= std::numeric_limits<uint16_t>::max())
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: assertUint16Range
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached:
    - assert
    - packetizer_getcc_cea608_max
    linkageType: ''
    returnType: void
    signature: void assertUint16Range(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:68,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:69,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:70,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - intf
    - conn
    - wid
    - ' pictureLock'
    - parent
    argTypes:
    - qt_intf_t*
    - xcb_connection_t*
    - xcb_drawable_t
    - QMutex
    - QObject*
    assertStmts:
    - condition: (conn)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    - condition: (m_wid)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    - condition: (m_intf)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    constantsTouched: []
    func_position:
      end: 72
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 72
    functionName: RenderTask::RenderTask
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached:
    - connect
    - assert
    linkageType: ''
    returnType: void
    signature: "void RenderTask::RenderTask(qt_intf_t *intf, xcb_connection_t* conn,
      xcb_drawable_t wid,\n                       QMutex& pictureLock, QObject *parent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: RenderTask::~RenderTask()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RenderTask::~RenderTask()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:85,1
    - Dst: xcb_flush
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:87,1
    - Dst: RenderTask::getBackTexture
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:88,1
    - Dst: static_cast<uint16_t>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:97,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:97,1
    - Dst: static_cast<uint16_t>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:98,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:98,1
    - Dst: xcb_render_fill_rectangles
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:100,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:108,1
    - Dst: getPicture
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:109,1
    - Dst: xcb_render_composite
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:112,1
    - Dst: x
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:115,1
    - Dst: y
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:115,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:116,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:116,1
    - Dst: getPicture
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:120,1
    - Dst: xcb_render_composite
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:123,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:126,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:126,1
    - Dst: xcb_clear_area
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:131,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - requestId
    argTypes:
    - unsigned int
    assertStmts:
    - condition: (m_videoClient)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    - condition: (m_interfaceClient != nullptr)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    constantsTouched: []
    func_position:
      end: 135
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 135
    functionName: RenderTask::render
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached:
    - assert
    - xcb_flush
    - height
    - width
    - x
    - xcb_render_composite
    - RenderTask::getBackTexture
    - xcb_clear_area
    - xcb_render_fill_rectangles
    - static_cast<uint16_t>
    - getPicture
    - y
    linkageType: ''
    returnType: void
    signature: void RenderTask::render(unsigned int requestId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:139,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:140,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:140,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:141,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:141,1
    - Dst: isValid
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:144,1
    - Dst: setWidth
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:150,1
    - Dst: vlc_align
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:150,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:150,1
    - Dst: setHeight
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:151,1
    - Dst: vlc_align
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:151,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:151,1
    - Dst: assertUint16Range
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:155,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:155,1
    - Dst: assertUint16Range
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:156,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' newSize'
    argTypes:
    - QSize
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 159
    functionName: RenderTask::onWindowSizeChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached:
    - vlc_align
    - setHeight
    - height
    - width
    - setWidth
    - isValid
    - assertUint16Range
    linkageType: ''
    returnType: void
    signature: void RenderTask::onWindowSizeChanged(const QSize& newSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: RenderTask::requestRefresh
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RenderTask::requestRefresh()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - CompositorX11RenderClient*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: RenderTask::onInterfaceSurfaceChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RenderTask::onInterfaceSurfaceChanged(CompositorX11RenderClient*
      surface)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - CompositorX11RenderClient*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: RenderTask::onVideoSurfaceChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RenderTask::onVideoSurfaceChanged(CompositorX11RenderClient* surface)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: RenderTask::onRegisterVideoWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RenderTask::onRegisterVideoWindow(unsigned int surface)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' position'
    argTypes:
    - QRect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: RenderTask::onVideoPositionChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RenderTask::onVideoPositionChanged(const QRect& position)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' size'
    argTypes:
    - QSize
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: RenderTask::onInterfaceSizeChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RenderTask::onInterfaceSizeChanged(const QSize& size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - visible
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: RenderTask::onVisibilityChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RenderTask::onVisibilityChanged(bool visible)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: RenderTask::onAcrylicChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RenderTask::onAcrylicChanged(bool enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: RenderTask::onExtendedFrameChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RenderTask::onExtendedFrameChanged(bool enabled)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:215,1
    - Dst: wrap_cptr<xcb_generic_error_t>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:218,1
    - Dst: xcb_get_window_attributes
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:221,1
    - Dst: wrap_cptr
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:223,1
    - Dst: xcb_get_window_attributes_reply
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:223,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:226,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:227,1
    - Dst: findVisualFormat
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:235,1
    - Dst: PixmapPtr::generateId
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:238,1
    - Dst: xcb_create_pixmap_checked
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:239,1
    - Dst: PixmapPtr::get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:239,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:239,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:239,1
    - Dst: auto::reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:240,1
    - Dst: xcb_request_check
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:240,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:243,1
    - Dst: PixmapPtr::get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:247,1
    - Dst: xcb_change_window_attributes_checked
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:248,1
    - Dst: auto::reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:249,1
    - Dst: xcb_request_check
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:249,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:252,1
    - Dst: generateId
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:256,1
    - Dst: xcb_render_create_picture_checked
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:257,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:257,1
    - Dst: PixmapPtr::get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:257,1
    - Dst: auto::reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:258,1
    - Dst: xcb_request_check
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:258,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:261,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 267
    functionName: RenderTask::getBackTexture
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 1
    functionsReached:
    - wrap_cptr
    - PixmapPtr::get
    - auto::reset
    - xcb_change_window_attributes_checked
    - generateId
    - xcb_render_create_picture_checked
    - get
    - width
    - xcb_create_pixmap_checked
    - height
    - free
    - xcb_get_window_attributes
    - wrap_cptr<xcb_generic_error_t>
    - msg_Warn
    - findVisualFormat
    - xcb_get_window_attributes_reply
    - xcb_request_check
    - PixmapPtr::generateId
    linkageType: ''
    returnType: xcb_render_picture_t
    signature: xcb_render_picture_t RenderTask::getBackTexture()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - intf
    - conn
    - parent
    argTypes:
    - qt_intf_t*
    - xcb_connection_t*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 276
    functionName: X11DamageObserver::X11DamageObserver
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X11DamageObserver::X11DamageObserver(qt_intf_t* intf, xcb_connection_t*
      conn, QObject* parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xcb_get_extension_data
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:280,1
    - Dst: xcb_get_file_descriptor
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 286
    functionName: X11DamageObserver::init
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached:
    - xcb_get_extension_data
    - xcb_get_file_descriptor
    linkageType: ''
    returnType: bool
    signature: bool X11DamageObserver::init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: privateOverload
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto privateOverload(void (QSocketNotifier::* s)( QSocketDescriptor,QSocketNotifier::Type,
      T) )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QSocketNotifier::QSocketNotifier
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:298,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:299,1
    - Dst: privateOverload
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 301
    functionName: X11DamageObserver::start
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached:
    - connect
    - QSocketNotifier::QSocketNotifier
    - privateOverload
    linkageType: ''
    returnType: void
    signature: void X11DamageObserver::start()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xcb_damage_destroy
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:307,1
    - Dst: xcb_generate_id
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:312,1
    - Dst: xcb_damage_create_checked
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:313,1
    - Dst: wrap_cptr
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:314,1
    - Dst: xcb_request_check
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:314,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - wid
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 323
    functionName: X11DamageObserver::onRegisterSurfaceDamage
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached:
    - wrap_cptr
    - xcb_generate_id
    - msg_Warn
    - xcb_damage_create_checked
    - xcb_request_check
    - xcb_damage_destroy
    linkageType: ''
    returnType: bool
    signature: bool X11DamageObserver::onRegisterSurfaceDamage(unsigned int wid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wrap_cptr<xcb_generic_event_t>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:328,1
    - Dst: wrap_cptr
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:329,1
    - Dst: xcb_poll_for_event
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:329,1
    - Dst: reinterpret_cast<xcb_damage_notify_event_t*>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:333,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:333,1
    - Dst: needRefresh
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:341,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 342
    functionName: X11DamageObserver::onEvent
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached:
    - wrap_cptr
    - reinterpret_cast<xcb_damage_notify_event_t*>
    - needRefresh
    - auto::get
    - xcb_poll_for_event
    - wrap_cptr<xcb_generic_event_t>
    linkageType: ''
    returnType: void
    signature: void X11DamageObserver::onEvent()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: winId
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:351,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:352,1
    - Dst: winId
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:354,1
    - Dst: visibility
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:356,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:358,1
    - Dst: CompositorX11RenderWindow::resetClientPixmaps
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - p_intf
    - conn
    - parent
    argTypes:
    - qt_intf_t*
    - xcb_connection_t*
    - QWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 346
    functionDepth: 3
    functionLinenumber: 346
    functionLinenumberEnd: 376
    functionName: CompositorX11RenderWindow::CompositorX11RenderWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached:
    - visibility
    - setVisible
    - connect
    - CompositorX11RenderWindow::resetClientPixmaps
    - winId
    linkageType: ''
    returnType: void
    signature: void CompositorX11RenderWindow::CompositorX11RenderWindow(qt_intf_t*
      p_intf, xcb_connection_t* conn, QWindow* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompositorX11RenderWindow::stopRendering
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: CompositorX11RenderWindow::~CompositorX11RenderWindow()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached:
    - CompositorX11RenderWindow::stopRendering
    linkageType: ''
    returnType: void
    signature: void CompositorX11RenderWindow::~CompositorX11RenderWindow()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: X11DamageObserver::X11DamageObserver
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:385,1
    - Dst: CompositorX11RenderWindow::init
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:386,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:391,1
    - Dst: nativeInterface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:395,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:396,1
    - Dst: auto::connection
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:397,1
    - Dst: platformNativeInterface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:398,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:402,1
    - Dst: QPlatformNativeInterface*::nativeResourceForIntegration
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:402,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:402,1
    - Dst: wmScreenHasCompositor
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:404,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:409,1
    - Dst: QPlatformNativeInterface*::nativeResourceForIntegration
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:409,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:409,1
    - Dst: getInternAtom
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:410,1
    - Dst: wmNetSupport
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:411,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:414,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nativeInterface)
      pos:
        line_end: 395
        line_start: 395
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    constantsTouched: []
    func_position:
      end: 418
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 418
    functionName: CompositorX11RenderWindow::init
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 1
    functionsReached:
    - wmNetSupport
    - assert
    - nativeInterface
    - X11DamageObserver::X11DamageObserver
    - platformNativeInterface
    - QPlatformNativeInterface*::nativeResourceForIntegration
    - reinterpret_cast<intptr_t>
    - auto::connection
    - connect
    - wmScreenHasCompositor
    - QByteArrayLiteral
    - getInternAtom
    - msg_Warn
    - CompositorX11RenderWindow::init
    linkageType: ''
    returnType: bool
    signature: bool CompositorX11RenderWindow::init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:422,1
    - Dst: RenderTask::RenderTask
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:425,1
    - Dst: QThread::QThread
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:426,1
    - Dst: moveToThread
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:428,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:429,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:431,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:432,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:434,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:435,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:436,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:437,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:438,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:439,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:440,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:441,1
    - Dst: onInterfaceSurfaceChanged
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:443,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:443,1
    - Dst: onVideoSurfaceChanged
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:444,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:444,1
    - Dst: onWindowSizeChanged
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:445,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:445,1
    - Dst: devicePixelRatio
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:445,1
    - Dst: onAcrylicChanged
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:446,1
    - Dst: onExtendedFrameChanged
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:447,1
    - Dst: moveToThread
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:450,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:451,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:452,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:453,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:454,1
    - Dst: start
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_interfaceWindow)
      pos:
        line_end: 421
        line_start: 421
        source_file: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    constantsTouched: []
    func_position:
      end: 460
      start: 420
    functionDepth: 2
    functionLinenumber: 420
    functionLinenumberEnd: 460
    functionName: CompositorX11RenderWindow::startRendering
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached:
    - onVideoSurfaceChanged
    - assert
    - devicePixelRatio
    - onAcrylicChanged
    - onWindowSizeChanged
    - get
    - size
    - connect
    - RenderTask::RenderTask
    - moveToThread
    - onExtendedFrameChanged
    - start
    - onInterfaceSurfaceChanged
    - QThread::QThread
    linkageType: ''
    returnType: bool
    signature: bool CompositorX11RenderWindow::startRendering()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: quit
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:466,1
    - Dst: wait
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:467,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:471,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 475
    functionName: CompositorX11RenderWindow::stopRendering
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 1
    functionsReached:
    - quit
    - reset
    - wait
    linkageType: ''
    returnType: void
    signature: void CompositorX11RenderWindow::stopRendering()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xcb_flush
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:480,1
    - Dst: nativeInterface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:480,1
    - Dst: resetPixmap
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:484,1
    - Dst: getPicture
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:485,1
    - Dst: resetPixmap
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:489,1
    - Dst: getPicture
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 492
    functionName: CompositorX11RenderWindow::resetClientPixmaps
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 1
    functionsReached:
    - resetPixmap
    - getPicture
    - xcb_flush
    - nativeInterface
    linkageType: ''
    returnType: void
    signature: void CompositorX11RenderWindow::resetClientPixmaps()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompositorX11UISurface::exposeEvent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:496,1
    - Dst: CompositorX11RenderWindow::resetClientPixmaps
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - event
    argTypes:
    - QExposeEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 499
    functionName: CompositorX11RenderWindow::exposeEvent
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached:
    - CompositorX11RenderWindow::resetClientPixmaps
    - CompositorX11UISurface::exposeEvent
    linkageType: ''
    returnType: void
    signature: void CompositorX11RenderWindow::exposeEvent(QExposeEvent* event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DummyRenderWindow::resizeEvent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:503,1
    - Dst: CompositorX11RenderWindow::resetClientPixmaps
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:504,1
    - Dst: QResizeEvent*::size
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:505,1
    - Dst: devicePixelRatio
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - event
    argTypes:
    - QResizeEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 501
    functionDepth: 2
    functionLinenumber: 501
    functionLinenumberEnd: 507
    functionName: CompositorX11RenderWindow::resizeEvent
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached:
    - QResizeEvent*::size
    - devicePixelRatio
    - DummyRenderWindow::resizeEvent
    - CompositorX11RenderWindow::resetClientPixmaps
    linkageType: ''
    returnType: void
    signature: void CompositorX11RenderWindow::resizeEvent(QResizeEvent* event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtraMetaPanel::showEvent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:511,1
    - Dst: CompositorX11RenderWindow::resetClientPixmaps
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - event
    argTypes:
    - QShowEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 509
    functionDepth: 2
    functionLinenumber: 509
    functionLinenumberEnd: 515
    functionName: CompositorX11RenderWindow::showEvent
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached:
    - CompositorX11RenderWindow::resetClientPixmaps
    - ExtraMetaPanel::showEvent
    linkageType: ''
    returnType: void
    signature: void CompositorX11RenderWindow::showEvent(QShowEvent* event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InputStatsPanel::hideEvent
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - QHideEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: CompositorX11RenderWindow::hideEvent
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached:
    - InputStatsPanel::hideEvent
    linkageType: ''
    returnType: void
    signature: void CompositorX11RenderWindow::hideEvent(QHideEvent* event)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: moveTopLeft
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:527,1
    - Dst: videoPositionChanged
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:529,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ' position'
    - signalChange
    argTypes:
    - QPoint
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 531
    functionName: CompositorX11RenderWindow::setVideoPosition
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached:
    - moveTopLeft
    - videoPositionChanged
    linkageType: ''
    returnType: void
    signature: void CompositorX11RenderWindow::setVideoPosition(const QPoint& position,
      bool signalChange)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:537,1
    - Dst: xcb_flush
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:540,1
    - Dst: nativeInterface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:540,1
    - Dst: resetPixmap
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:542,1
    - Dst: getPicture
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:543,1
    - Dst: setSize
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:545,1
    - Dst: devicePixelRatio
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:545,1
    - Dst: videoPositionChanged
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:547,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' size'
    - signalChange
    argTypes:
    - QSize
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 549
    functionName: CompositorX11RenderWindow::setVideoSize
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached:
    - resetPixmap
    - devicePixelRatio
    - xcb_flush
    - resize
    - nativeInterface
    - videoPositionChanged
    - setSize
    - getPicture
    linkageType: ''
    returnType: void
    signature: void CompositorX11RenderWindow::setVideoSize(const QSize& size, bool
      signalChange)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CompositorX11RenderWindow::setVideoSize
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:556,1
    - Dst: CompositorX11RenderWindow::setVideoPosition
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:557,1
    - Dst: CompositorX11RenderWindow::setVideoSize
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:562,1
    - Dst: CompositorX11RenderWindow::setVideoPosition
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:564,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - position
    - size
    argTypes:
    - std::optional<QPoint>
    - std::optional<QSize>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 551
    functionDepth: 2
    functionLinenumber: 551
    functionLinenumberEnd: 566
    functionName: CompositorX11RenderWindow::setVideoGeometry
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached:
    - CompositorX11RenderWindow::setVideoPosition
    - CompositorX11RenderWindow::setVideoSize
    linkageType: ''
    returnType: void
    signature: "void CompositorX11RenderWindow::setVideoGeometry(const std::optional<QPoint>
      &position,\n                                                 const std::optional<QSize>
      &size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 576
    functionName: CompositorX11RenderWindow::setAcrylic
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompositorX11RenderWindow::setAcrylic(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcb_flush
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:581,1
    - Dst: nativeInterface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:581,1
    - Dst: std::make_unique<CompositorX11RenderClient>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:582,1
    - Dst: QWindow*::winId
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:582,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:583,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:583,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:584,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:584,1
    - Dst: QRect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:585,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - window
    argTypes:
    - QWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 578
    functionDepth: 2
    functionLinenumber: 578
    functionLinenumberEnd: 588
    functionName: CompositorX11RenderWindow::setVideoWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached:
    - xcb_flush
    - nativeInterface
    - get
    - QRect
    - connect
    - QWindow*::winId
    - std::make_unique<CompositorX11RenderClient>
    linkageType: ''
    returnType: void
    signature: void CompositorX11RenderWindow::setVideoWindow( QWindow* window)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: winId
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 597
    functionName: CompositorX11RenderWindow::enableVideoWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached:
    - winId
    linkageType: ''
    returnType: void
    signature: void CompositorX11RenderWindow::enableVideoWindow()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 606
    functionName: CompositorX11RenderWindow::disableVideoWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompositorX11RenderWindow::disableVideoWindow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CompositorX11RenderWindow::getOffscreenWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 613
    functionName: CompositorX11RenderWindow::getOffscreenWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 1
    functionsReached:
    - CompositorX11RenderWindow::getOffscreenWindow
    linkageType: ''
    returnType: QQuickWindow
    signature: QQuickWindow * CompositorX11RenderWindow::getOffscreenWindow() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcb_flush
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:618,1
    - Dst: nativeInterface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:618,1
    - Dst: std::make_unique<CompositorX11RenderClient>
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:619,1
    - Dst: CompositorX11UISurface*::winId
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:619,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:620,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - window
    argTypes:
    - CompositorX11UISurface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 615
    functionDepth: 2
    functionLinenumber: 615
    functionLinenumberEnd: 622
    functionName: CompositorX11RenderWindow::setInterfaceWindow
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached:
    - xcb_flush
    - nativeInterface
    - get
    - connect
    - CompositorX11UISurface*::winId
    - std::make_unique<CompositorX11RenderClient>
    linkageType: ''
    returnType: void
    signature: void CompositorX11RenderWindow::setInterfaceWindow(CompositorX11UISurface*
      window)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - hasExtendedFrame
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 631
    functionName: CompositorX11RenderWindow::setHasExtendedFrame
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompositorX11RenderWindow::setHasExtendedFrame(bool hasExtendedFrame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getInternAtom
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:635,1
    - Dst: p_mi::intfMainWindow
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:637,1
    - Dst: xcb_change_property
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:640,1
    - Dst: CompositorX11RenderWindow::setHasExtendedFrame
      Src: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - margin
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 643
    functionName: CompositorX11RenderWindow::onWindowExtendedMarginChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_renderwindow.cpp
    functionUses: 0
    functionsReached:
    - xcb_change_property
    - getInternAtom
    - CompositorX11RenderWindow::setHasExtendedFrame
    - p_mi::intfMainWindow
    linkageType: ''
    returnType: void
    signature: void CompositorX11RenderWindow::onWindowExtendedMarginChanged(unsigned
      margin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: SortCtx::getModel
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_submodels.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QJSValue
    signature: QJSValue getModel() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strictlyEquals
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_submodels.hpp:67,1
    - Dst: SortCtx::setAvailable
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_submodels.hpp:72,1
    - Dst: isArray
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_submodels.hpp:72,1
    - Dst: property
      Src: /src/vlc/modules/gui/qt/maininterface/mainctx_submodels.hpp:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - QJSValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: SortCtx::setModel
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_submodels.hpp
    functionUses: 0
    functionsReached:
    - property
    - isArray
    - SortCtx::setAvailable
    - strictlyEquals
    linkageType: ''
    returnType: void
    signature: void setModel(const QJSValue& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: SortCtx::getCriteria
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_submodels.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString getCriteria() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: SortCtx::setCriteria
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_submodels.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCriteria(const QString& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: SortCtx::getAvailable
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_submodels.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getAvailable() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: SortCtx::setAvailable
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_submodels.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setAvailable(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: SidePanelCtx::isDocked
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_submodels.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDocked() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: SidePanelCtx::isVisible
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/mainctx_submodels.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isVisible() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: ~Compositor()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Compositor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: ~QmlUISurface()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~QmlUISurface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: vlc::CompositorVideo::canDoThreadedSurfaceUpdates
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool canDoThreadedSurfaceUpdates() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: vlc::CompositorVideo::canDoCombinedSurfaceUpdates
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool canDoCombinedSurfaceUpdates() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: vlc::CompositorVideo::commitSurface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void commitSurface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 193
    functionName: vlc::CompositorVideo::onSurfacePositionChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void onSurfacePositionChanged(const QPointF&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: vlc::CompositorVideo::onSurfaceSizeChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void onSurfaceSizeChanged(const QSizeF&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: vlc::CompositorVideo::onSurfaceScaleChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void onSurfaceScaleChanged(qreal)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc::CompositorVideo::onSurfaceSizeChanged
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.hpp:202,1
    - Dst: vlc::CompositorVideo::onSurfacePositionChanged
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.hpp:204,1
    - Dst: vlc::CompositorVideo::onSurfaceScaleChanged
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.hpp:206,1
    - Dst: vlc::CompositorVideo::canDoCombinedSurfaceUpdates
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.hpp:208,1
    - Dst: vlc::CompositorVideo::commitSurface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.hpp:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ' size'
    - ' position'
    - ' scale'
    argTypes:
    - std::optional<QSizeF>
    - std::optional<QPointF>
    - std::optional<qreal>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 210
    functionName: vlc::CompositorVideo::onSurfacePropertiesChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.hpp
    functionUses: 0
    functionsReached:
    - vlc::CompositorVideo::commitSurface
    - vlc::CompositorVideo::onSurfacePositionChanged
    - vlc::CompositorVideo::onSurfaceScaleChanged
    - vlc::CompositorVideo::canDoCombinedSurfaceUpdates
    - vlc::CompositorVideo::onSurfaceSizeChanged
    linkageType: ''
    returnType: void
    signature: "void onSurfacePropertiesChanged(const std::optional<QSizeF>& size,\n
      \                                           const std::optional<QPointF>& position,\n
      \                                           const std::optional<qreal>& scale)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: ~Compositor()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Compositor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: ~QmlUISurface()
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~QmlUISurface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: vlc::CompositorVideo::canDoThreadedSurfaceUpdates
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool canDoThreadedSurfaceUpdates() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: vlc::CompositorVideo::canDoCombinedSurfaceUpdates
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool canDoCombinedSurfaceUpdates() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: vlc::CompositorVideo::commitSurface
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void commitSurface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 193
    functionName: vlc::CompositorVideo::onSurfacePositionChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void onSurfacePositionChanged(const QPointF&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: vlc::CompositorVideo::onSurfaceSizeChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void onSurfaceSizeChanged(const QSizeF&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: vlc::CompositorVideo::onSurfaceScaleChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void onSurfaceScaleChanged(qreal)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc::CompositorVideo::onSurfaceSizeChanged
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.hpp:202,1
    - Dst: vlc::CompositorVideo::onSurfacePositionChanged
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.hpp:204,1
    - Dst: vlc::CompositorVideo::onSurfaceScaleChanged
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.hpp:206,1
    - Dst: vlc::CompositorVideo::canDoCombinedSurfaceUpdates
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.hpp:208,1
    - Dst: vlc::CompositorVideo::commitSurface
      Src: /src/vlc/modules/gui/qt/maininterface/compositor.hpp:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ' size'
    - ' position'
    - ' scale'
    argTypes:
    - std::optional<QSizeF>
    - std::optional<QPointF>
    - std::optional<qreal>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 210
    functionName: vlc::CompositorVideo::onSurfacePropertiesChanged
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor.hpp
    functionUses: 0
    functionsReached:
    - vlc::CompositorVideo::commitSurface
    - vlc::CompositorVideo::onSurfacePositionChanged
    - vlc::CompositorVideo::onSurfaceScaleChanged
    - vlc::CompositorVideo::canDoCombinedSurfaceUpdates
    - vlc::CompositorVideo::onSurfaceSizeChanged
    linkageType: ''
    returnType: void
    signature: "void onSurfacePropertiesChanged(const std::optional<QSizeF>& size,\n
      \                                           const std::optional<QPointF>& position,\n
      \                                           const std::optional<qreal>& scale)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: vlc::CompositorWin7::canDoCombinedSurfaceUpdates
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_win7.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool canDoCombinedSurfaceUpdates() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: vlc::CompositorWin7::canDoCombinedSurfaceUpdates
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_win7.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool canDoCombinedSurfaceUpdates() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: vlc::CompositorDirectComposition::canDoThreadedSurfaceUpdates
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool canDoThreadedSurfaceUpdates() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: vlc::CompositorDirectComposition::canDoCombinedSurfaceUpdates
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool canDoCombinedSurfaceUpdates() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: vlc::CompositorDirectComposition::canDoThreadedSurfaceUpdates
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool canDoThreadedSurfaceUpdates() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: vlc::CompositorDirectComposition::canDoCombinedSurfaceUpdates
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_dcomp.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool canDoCombinedSurfaceUpdates() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: vlc::CompositorX11UISurface::engine
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QQmlEngine
    signature: QQmlEngine * engine() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: vlc::CompositorX11UISurface::engine
    functionSourceFile: /src/vlc/modules/gui/qt/maininterface/compositor_x11_uisurface.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QQmlEngine
    signature: QQmlEngine * engine() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~MLRecentMediaModel()
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MLRecentMediaModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_instance_get
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:32,1
    - Dst: vlc_ml_event_unregister_callback
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:34,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:37,1
    - Dst: vlc_ml_event_register_callback
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:37,1
    - Dst: ThreadRunner::ThreadRunner
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - _intf
    - playlistController
    - _parent
    argTypes:
    - qt_intf_t*
    - vlc::playlist::PlaylistController*
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 40
    functionName: MediaLib::MediaLib
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp
    functionUses: 1
    functionsReached:
    - vlc_ml_event_register_callback
    - ThreadRunner::ThreadRunner
    - reset
    - vlc_ml_event_unregister_callback
    - vlc_ml_instance_get
    linkageType: ''
    returnType: void
    signature: void MediaLib::MediaLib(qt_intf_t *_intf, vlc::playlist::PlaylistController*
      playlistController, QObject *_parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroy
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: MediaLib::~MediaLib()
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp
    functionUses: 0
    functionsReached:
    - destroy
    linkageType: ''
    returnType: void
    signature: void MediaLib::~MediaLib()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_get_input_item
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:55,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:57,1
    - Dst: VLCVideo::playMedia
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:57,1
    - Dst: SharedInputItem::get
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:57,1
    - Dst: vlc_ml_query_params_create
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:61,1
    - Dst: vlc_ml_list_media_of
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:62,1
    - Dst: ml_range_iterate
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:66,1
    - Dst: transform
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:67,1
    - Dst: auto::begin
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:67,1
    - Dst: auto::end
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:67,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:67,1
    - Dst: vlc_ml_get_input_item
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:68,1
    - Dst: VLCVideo::playMedia
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:69,1
    - Dst: SharedInputItem::get
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - ml
    - ' itemId'
    - options
    - ' medias'
    argTypes:
    - vlc_medialibrary_t*
    - MLItemId
    - QStringList
    - QVector<vlc::playlist::Media>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 72
    functionName: convertMLItemToPlaylistMedias
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp
    functionUses: 0
    functionsReached:
    - SharedInputItem::get
    - transform
    - push_back
    - vlc_ml_list_media_of
    - vlc_ml_get_input_item
    - auto::begin
    - std::back_inserter
    - auto::end
    - ml_range_iterate
    - vlc_ml_query_params_create
    - VLCVideo::playMedia
    linkageType: ''
    returnType: void
    signature: void convertMLItemToPlaylistMedias(vlc_medialibrary_t* ml, const MLItemId
      & itemId, const QStringList &options, QVector<vlc::playlist::Media>& medias)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUrl::toString
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:76,1
    - Dst: QUrl::fileName
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:76,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mrl
    - ' options'
    - ' medias'
    argTypes:
    - QUrl
    - QStringList
    - QVector<vlc::playlist::Media>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: convertQUrlToPlaylistMedias
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp
    functionUses: 0
    functionsReached:
    - QUrl::toString
    - QUrl::fileName
    - push_back
    linkageType: ''
    returnType: void
    signature: void convertQUrlToPlaylistMedias(QUrl mrl, const QStringList& options,
      QVector<vlc::playlist::Media>& medias)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mrl
    - ' options'
    - ' medias'
    argTypes:
    - QString
    - QStringList
    - QVector<vlc::playlist::Media>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: convertQStringToPlaylistMedias
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void convertQStringToPlaylistMedias(const QString &mrl, const QStringList&
      options, QVector<vlc::playlist::Media>& medias)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: canConvert
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:91,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:93,1
    - Dst: convertQUrlToPlaylistMedias
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:94,1
    - Dst: canConvert
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:96,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:98,1
    - Dst: convertQStringToPlaylistMedias
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:99,1
    - Dst: canConvert
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:101,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:103,1
    - Dst: convertMLItemToPlaylistMedias
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - ml
    - itemIdList
    - ' options'
    - ' medias'
    argTypes:
    - vlc_medialibrary_t*
    - QVariantList
    - QStringList
    - QVector<vlc::playlist::Media>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 108
    functionName: convertQVariantListToPlaylistMedias
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp
    functionUses: 0
    functionsReached:
    - convertQStringToPlaylistMedias
    - convertQUrlToPlaylistMedias
    - canConvert
    - convertMLItemToPlaylistMedias
    - value
    linkageType: ''
    returnType: void
    signature: void convertQVariantListToPlaylistMedias(vlc_medialibrary_t* ml, QVariantList
      itemIdList, const QStringList& options, QVector<vlc::playlist::Media>& medias)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MLItemId::fromString
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' serialized_id'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: MediaLib::deserializeMlItemIdFromString
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp
    functionUses: 0
    functionsReached:
    - MLItemId::fromString
    linkageType: ''
    returnType: MLItemId
    signature: MLItemId MediaLib::deserializeMlItemIdFromString(const QString& serialized_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: convertQStringToPlaylistMedias
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:117,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' mrl'
    - options
    argTypes:
    - QString
    - QStringList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: MediaLib::addToPlaylist
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp
    functionUses: 0
    functionsReached:
    - append
    - convertQStringToPlaylistMedias
    linkageType: ''
    returnType: void
    signature: void MediaLib::addToPlaylist(const QString& mrl, const QStringList
      &options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: convertQUrlToPlaylistMedias
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:124,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' mrl'
    - options
    argTypes:
    - QUrl
    - QStringList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: MediaLib::addToPlaylist
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp
    functionUses: 0
    functionsReached:
    - append
    - convertQUrlToPlaylistMedias
    linkageType: ''
    returnType: void
    signature: void MediaLib::addToPlaylist(const QUrl& mrl, const QStringList &options)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MediaLib::runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:134,1
    - Dst: convertMLItemToPlaylistMedias
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:138,1
    - Dst: medias::empty
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:142,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' itemId'
    - options
    argTypes:
    - MLItemId
    - QStringList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 145
    functionName: MediaLib::addToPlaylist
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp
    functionUses: 0
    functionsReached:
    - convertMLItemToPlaylistMedias
    - append
    - MediaLib::runOnMLThread
    - medias::empty
    linkageType: ''
    returnType: void
    signature: void MediaLib::addToPlaylist(const MLItemId & itemId, const QStringList
      &options)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MediaLib::runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:152,1
    - Dst: convertQVariantListToPlaylistMedias
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:157,1
    - Dst: medias::empty
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:161,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' itemIdList'
    - options
    argTypes:
    - QVariantList
    - QStringList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 147
    functionDepth: 4
    functionLinenumber: 147
    functionLinenumberEnd: 164
    functionName: MediaLib::addToPlaylist
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp
    functionUses: 0
    functionsReached:
    - append
    - medias::empty
    - MediaLib::runOnMLThread
    - convertQVariantListToPlaylistMedias
    linkageType: ''
    returnType: void
    signature: void MediaLib::addToPlaylist(const QVariantList& itemIdList, const
      QStringList &options)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MediaLib::runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:173,1
    - Dst: convertMLItemToPlaylistMedias
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:178,1
    - Dst: medias::empty
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:182,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' itemId'
    - options
    argTypes:
    - MLItemId
    - QStringList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 187
    functionName: MediaLib::addAndPlay
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp
    functionUses: 0
    functionsReached:
    - convertMLItemToPlaylistMedias
    - append
    - MediaLib::runOnMLThread
    - medias::empty
    linkageType: ''
    returnType: void
    signature: void MediaLib::addAndPlay(const MLItemId & itemId, const QStringList
      &options )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mrl'
    - options
    argTypes:
    - QString
    - QStringList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: MediaLib::addAndPlay
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp
    functionUses: 0
    functionsReached:
    - append
    linkageType: ''
    returnType: void
    signature: void MediaLib::addAndPlay(const QString& mrl, const QStringList &options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:197,1
    - Dst: fileName
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:197,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' mrl'
    - options
    argTypes:
    - QUrl
    - QStringList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: MediaLib::addAndPlay
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp
    functionUses: 0
    functionsReached:
    - append
    - fileName
    - toString
    linkageType: ''
    returnType: void
    signature: void MediaLib::addAndPlay(const QUrl& mrl, const QStringList &options)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MediaLib::runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:207,1
    - Dst: convertQVariantListToPlaylistMedias
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:212,1
    - Dst: medias::empty
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:216,1
    - Dst: append
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' itemIdList'
    - options
    argTypes:
    - QVariantList
    - QStringList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 202
    functionDepth: 4
    functionLinenumber: 202
    functionLinenumberEnd: 219
    functionName: MediaLib::addAndPlay
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp
    functionUses: 0
    functionsReached:
    - append
    - medias::empty
    - MediaLib::runOnMLThread
    - convertQVariantListToPlaylistMedias
    linkageType: ''
    returnType: void
    signature: void MediaLib::addAndPlay(const QVariantList& itemIdList, const QStringList
      &options)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MediaLib::runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:226,1
    - Dst: convertQVariantListToPlaylistMedias
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:231,1
    - Dst: medias::isEmpty
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:236,1
    - Dst: insert
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - index
    - itemIdList
    - options
    argTypes:
    - size_t
    - QVariantList
    - QStringList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 221
    functionDepth: 4
    functionLinenumber: 221
    functionLinenumberEnd: 239
    functionName: MediaLib::insertIntoPlaylist
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp
    functionUses: 0
    functionsReached:
    - medias::isEmpty
    - MediaLib::runOnMLThread
    - insert
    - convertQVariantListToPlaylistMedias
    linkageType: ''
    returnType: void
    signature: void MediaLib::insertIntoPlaylist(const size_t index, const QVariantList
      &itemIdList, const QStringList &options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MediaLib::runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:243,1
    - Dst: vlc_ml_reload_folder
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: MediaLib::reload
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp
    functionUses: 0
    functionsReached:
    - vlc_ml_reload_folder
    - MediaLib::runOnMLThread
    linkageType: ''
    returnType: void
    signature: void MediaLib::reload()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QJSValue::isCallable
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:252,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:254,1
    - Dst: empty
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:262,1
    - Dst: qjsEngine
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:265,1
    - Dst: auto::newArray
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:268,1
    - Dst: QJSValue::call
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:269,1
    - Dst: find
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:273,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:275,1
    - Dst: insert
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:277,1
    - Dst: auto::value
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:283,1
    - Dst: QJSValue::strictlyEquals
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:285,1
    - Dst: auto::value
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:289,1
    - Dst: MediaLib::runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:293,1
    - Dst: items::emplace_back
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:301,1
    - Dst: vlc_ml_get_input_item
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:301,1
    - Dst: vlc_ml_query_params_create
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:307,1
    - Dst: ml_unique_ptr::reset
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:309,1
    - Dst: vlc_ml_list_media_of
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:309,1
    - Dst: ml_range_iterate
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:314,1
    - Dst: items::emplace_back
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:315,1
    - Dst: vlc_ml_get_input_item
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:315,1
    - Dst: qjsEngine
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:322,1
    - Dst: auto::newArray
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:326,1
    - Dst: items::size
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:326,1
    - Dst: auto::setProperty
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:331,1
    - Dst: auto::toScriptValue
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:331,1
    - Dst: std::as_const
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:335,1
    - Dst: auto::value
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:335,1
    - Dst: call
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:337,1
    - Dst: erase
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:340,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 2
    argNames:
    - ' itemIdVector'
    - callback
    argTypes:
    - QVector<MLItemId>
    - QJSValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 342
    functionName: MediaLib::mlInputItem
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp
    functionUses: 0
    functionsReached:
    - auto::value
    - std::as_const
    - auto::setProperty
    - ml_range_iterate
    - find
    - QJSValue::strictlyEquals
    - vlc_ml_get_input_item
    - call
    - msg_Warn
    - vlc_ml_query_params_create
    - auto::newArray
    - MediaLib::runOnMLThread
    - items::emplace_back
    - QJSValue::isCallable
    - auto::toScriptValue
    - items::size
    - end
    - erase
    - vlc_ml_list_media_of
    - insert
    - ml_unique_ptr::reset
    - empty
    - QJSValue::call
    - qjsEngine
    linkageType: ''
    returnType: void
    signature: void MediaLib::mlInputItem(const QVector<MLItemId>& itemIdVector, QJSValue
      callback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_event_register_callback
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 347
    functionName: MediaLib::registerEventListener
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp
    functionUses: 0
    functionsReached:
    - vlc_ml_event_register_callback
    linkageType: ''
    returnType: vlc_ml_event_callback_t
    signature: vlc_ml_event_callback_t * MediaLib::registerEventListener( void (*callback)(void*,
      const vlc_ml_event_t*), void* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_event_unregister_callback
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cb
    argTypes:
    - vlc_ml_event_callback_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 352
    functionName: MediaLib::unregisterEventListener
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp
    functionUses: 0
    functionsReached:
    - vlc_ml_event_unregister_callback
    linkageType: ''
    returnType: void
    signature: void MediaLib::unregisterEventListener(vlc_ml_event_callback_t* cb)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MediaLib*>
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:356,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:362,1
    - Dst: parsingProgressChanged
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:364,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:370,1
    - Dst: discoveryPendingChanged
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:372,1
    - Dst: discoveryStarted
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:373,1
    - Dst: QUrl::isLocalFile
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:380,1
    - Dst: QUrl::toLocalFile
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:381,1
    - Dst: QUrl::toDisplayString
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:382,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:384,1
    - Dst: discoveryEntryPointChanged
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:386,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:392,1
    - Dst: discoveryPendingChanged
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:394,1
    - Dst: discoveryCompleted
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:395,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:402,1
    - Dst: idleChanged
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:404,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 49
    argCount: 2
    argNames:
    - data
    - event
    argTypes:
    - void*
    - vlc_ml_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 411
    functionName: MediaLib::onMediaLibraryEvent
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp
    functionUses: 0
    functionsReached:
    - static_cast<MediaLib*>
    - QUrl::toLocalFile
    - parsingProgressChanged
    - QUrl::toDisplayString
    - discoveryCompleted
    - QUrl::isLocalFile
    - discoveryPendingChanged
    - QMetaObject::invokeMethod
    - idleChanged
    - discoveryEntryPointChanged
    - discoveryStarted
    linkageType: ''
    returnType: void
    signature: void MediaLib::onMediaLibraryEvent( void* data, const vlc_ml_event_t*
      event )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runOnThread
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:419,1
    - Dst: mlCb
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:421,1
    - Dst: uiCb
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - obj
    - mlCb
    - uiCb
    - queue
    argTypes:
    - QObject*
    - std::function< void(vlc_medialibrary_t* ml)>
    - std::function< void()>
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 427
    functionName: MediaLib::runOnMLThread
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp
    functionUses: 7
    functionsReached:
    - runOnThread
    - mlCb
    - uiCb
    linkageType: ''
    returnType: quint64
    signature: "quint64 MediaLib::runOnMLThread(const QObject* obj,\n                std::function<
      void(vlc_medialibrary_t* ml)> mlCb,\n                std::function< void()>
      uiCb,\n                const char* queue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runOnThread
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:434,1
    - Dst: mlCb
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:436,1
    - Dst: uiCb
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - obj
    - mlCb
    - uiCb
    - queue
    argTypes:
    - QObject*
    - std::function< void(vlc_medialibrary_t* ml)>
    - std::function< void(quint64)>
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 442
    functionName: MediaLib::runOnMLThread
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp
    functionUses: 7
    functionsReached:
    - runOnThread
    - mlCb
    - uiCb
    linkageType: ''
    returnType: quint64
    signature: "quint64 MediaLib::runOnMLThread(const QObject* obj,\n                std::function<
      void(vlc_medialibrary_t* ml)> mlCb,\n                std::function< void(quint64)>
      uiCb, const char* queue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runOnThread
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:449,1
    - Dst: mlCb
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - obj
    - mlCb
    - queue
    argTypes:
    - QObject*
    - std::function< void(vlc_medialibrary_t* ml)>
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 456
    functionName: MediaLib::runOnMLThread
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp
    functionUses: 7
    functionsReached:
    - runOnThread
    - mlCb
    linkageType: ''
    returnType: quint64
    signature: "quint64 MediaLib::runOnMLThread(const QObject* obj,\n                std::function<
      void(vlc_medialibrary_t* ml)> mlCb,\n                const char* queue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cancelTask
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object
    - taskId
    argTypes:
    - QObject*
    - quint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 461
    functionName: MediaLib::cancelMLTask
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/medialib.cpp
    functionUses: 0
    functionsReached:
    - cancelTask
    linkageType: ''
    returnType: void
    signature: void MediaLib::cancelMLTask(const QObject* object, quint64 taskId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: MLUrlModel::MLUrlModel
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLUrlModel::MLUrlModel(QObject *parent)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MLUrl *>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:31,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:33,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:38,1
    - Dst: MLUrl*::getId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:38,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:40,1
    - Dst: MLUrl*::getUrl
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:40,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:42,1
    - Dst: MLUrl*::getLastPlayedDate
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:42,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:44,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - item
    - role
    argTypes:
    - MLItem*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 48
    functionName: MLUrlModel::itemRoleData
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp
    functionUses: 0
    functionsReached:
    - QVariant
    - MLUrl*::getId
    - MLUrl*::getUrl
    - fromValue
    - static_cast<const MLUrl *>
    - MLUrl*::getLastPlayedDate
    linkageType: ''
    returnType: QVariant
    signature: QVariant MLUrlModel::itemRoleData(const MLItem *item, int role) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:53,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:54,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:55,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: MLUrlModel::roleNames
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp
    functionUses: 0
    functionsReached:
    - QByteArrayLiteral
    linkageType: ''
    returnType: QHash<int, QByteArray>
    signature: QHash<int, QByteArray> MLUrlModel::roleNames() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:66,1
    - Dst: vlc_ml_get_media_by_mrl
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:70,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:70,1
    - Dst: ml_unique_ptr::reset
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:72,1
    - Dst: vlc_ml_new_stream
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:72,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:72,1
    - Dst: MLItemId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:76,1
    - Dst: MLUrlModel::addAndPlay
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - url
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 86
    functionName: MLUrlModel::addAndPlay
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp
    functionUses: 1
    functionsReached:
    - MLUrlModel::addAndPlay
    - vlc_ml_new_stream
    - MLItemId
    - ml_unique_ptr::reset
    - vlc_ml_get_media_by_mrl
    - qtu
    - runOnMLThread
    linkageType: ''
    returnType: void
    signature: void MLUrlModel::addAndPlay( const QString &url )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:93,1
    - Dst: vlc_ml_remove_stream
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - itemId
    argTypes:
    - MLItemId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 107
    functionName: MLUrlModel::deleteStream
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp
    functionUses: 0
    functionsReached:
    - runOnMLThread
    - vlc_ml_remove_stream
    linkageType: ''
    returnType: void
    signature: void MLUrlModel::deleteStream( const MLItemId itemId )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MLBaseModel::onVlcMlEvent
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - event
    argTypes:
    - MLEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: MLUrlModel::onVlcMlEvent
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp
    functionUses: 0
    functionsReached:
    - MLBaseModel::onVlcMlEvent
    linkageType: ''
    returnType: void
    signature: void MLUrlModel::onVlcMlEvent(const MLEvent &event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MLItemId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:122,1
    - Dst: QDateTime::fromSecsSinceEpoch
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:125,1
    - Dst: QTimeZone::systemTimeZone
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:125,1
    - Dst: ps_pkt_parse_system
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - _data
    argTypes:
    - vlc_ml_media_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: MLUrl::MLUrl
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp
    functionUses: 0
    functionsReached:
    - ps_pkt_parse_system
    - QTimeZone::systemTimeZone
    - QDateTime::fromSecsSinceEpoch
    - MLItemId
    linkageType: ''
    returnType: void
    signature: void MLUrl::MLUrl(const vlc_ml_media_t *_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MLUrl::getId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - url
    argTypes:
    - MLUrl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: MLUrl::MLUrl
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp
    functionUses: 0
    functionsReached:
    - MLUrl::getId
    linkageType: ''
    returnType: void
    signature: void MLUrl::MLUrl(const MLUrl &url)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: MLUrl::getUrl
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString MLUrl::getUrl() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: MLUrl::getLastPlayedDate
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString MLUrl::getLastPlayedDate() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MLListCacheLoader>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:150,1
    - Dst: std::make_shared<MLUrlModel::Loader>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: MLUrlModel::createMLLoader
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<MLUrlModel::Loader>
    - std::make_unique<MLListCacheLoader>
    linkageType: ''
    returnType: std::unique_ptr<MLListCacheLoader>
    signature: std::unique_ptr<MLListCacheLoader> MLUrlModel::createMLLoader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_count_history
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ml
    - queryParams
    argTypes:
    - vlc_medialibrary_t*
    - vlc_ml_query_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: MLUrlModel::Loader::count(vlc_medialibrary_t* ml, const vlc_ml_query_params_t*
      queryParams) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp
    functionUses: 0
    functionsReached:
    - vlc_ml_count_history
    linkageType: ''
    returnType: size_t
    signature: size_t MLUrlModel::Loader::count(vlc_medialibrary_t* ml, const vlc_ml_query_params_t*
      queryParams) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ml_unique_ptr::reset
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:162,1
    - Dst: vlc_ml_list_history
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:162,1
    - Dst: ml_range_iterate
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:167,1
    - Dst: std::vector::emplace_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:168,1
    - Dst: std::make_unique<MLUrl>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ml
    - queryParams
    argTypes:
    - vlc_medialibrary_t*
    - vlc_ml_query_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 170
    functionName: MLUrlModel::Loader::load(vlc_medialibrary_t* ml, const vlc_ml_query_params_t*
      queryParams) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<MLUrl>
    - std::vector::emplace_back
    - ml_unique_ptr::reset
    - vlc_ml_list_history
    - ml_range_iterate
    linkageType: ''
    returnType: std::vector<std::unique_ptr<MLItem>>
    signature: std::vector<std::unique_ptr<MLItem>> MLUrlModel::Loader::load(vlc_medialibrary_t*
      ml, const vlc_ml_query_params_t* queryParams) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:175,1
    - Dst: vlc_ml_get_media
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:176,1
    - Dst: std::make_unique<MLUrl>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:179,1
    - Dst: ml_unique_ptr::get
      Src: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ml
    - itemId
    argTypes:
    - vlc_medialibrary_t*
    - MLItemId
    assertStmts:
    - condition: (itemId.type == VLC_ML_PARENT_UNKNOWN)
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: MLUrlModel::Loader::loadItemById(vlc_medialibrary_t* ml, MLItemId
      itemId) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<MLUrl>
    - assert
    - ml_unique_ptr::get
    - vlc_ml_get_media
    linkageType: ''
    returnType: std::unique_ptr<MLItem>
    signature: std::unique_ptr<MLItem> MLUrlModel::Loader::loadItemById(vlc_medialibrary_t*
      ml, MLItemId itemId) const
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/gui/qt/medialibrary/mlevent.hpp:123,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 1
    argNames:
    - event
    argTypes:
    - vlc_ml_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 129
    functionName: MLEvent
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlevent.hpp
    functionUses: 0
    functionsReached:
    - strdup
    linkageType: ''
    returnType: void
    signature: void MLEvent(const vlc_ml_event_t *event)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/gui/qt/medialibrary/mlevent.hpp:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 144
    functionName: ~MLEvent()
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlevent.hpp
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void ~MLEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: MLEvent
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlevent.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLEvent(MLEvent&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: '& operator=(MLEvent&&)'
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlevent.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MLEvent
    signature: MLEvent & operator=(MLEvent&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: MLEvent
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlevent.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLEvent(MLEvent const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: '& operator=(MLEvent const&)'
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlevent.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MLEvent
    signature: MLEvent & operator=(MLEvent const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: MLGenreModel::MLGenreModel
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLGenreModel::MLGenreModel(QObject *parent)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MLGenre *>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:49,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:51,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:57,1
    - Dst: auto::getId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:57,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:59,1
    - Dst: auto::getName
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:59,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:61,1
    - Dst: auto::getNbTracks
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:61,1
    - Dst: MLGenreModel::getCover
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:63,1
    - Dst: MLGenreModel::getCover
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:65,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - item
    - role
    argTypes:
    - MLItem*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 69
    functionName: MLGenreModel::itemRoleData
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp
    functionUses: 0
    functionsReached:
    - QVariant
    - auto::getId
    - MLGenreModel::getCover
    - auto::getNbTracks
    - static_cast<const MLGenre *>
    - auto::getName
    - fromValue
    linkageType: ''
    returnType: QVariant
    signature: QVariant MLGenreModel::itemRoleData(const MLItem *item, const int role)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:74,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:75,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:76,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:77,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:78,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:79,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:80,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 83
    functionName: MLGenreModel::roleNames
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp
    functionUses: 0
    functionsReached:
    - QByteArrayLiteral
    linkageType: ''
    returnType: QHash<int, QByteArray>
    signature: QHash<int, QByteArray> MLGenreModel::roleNames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: MLGenreModel::getCoverDefault
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString MLGenreModel::getCoverDefault() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' defaultCover'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: MLGenreModel::setCoverDefault
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLGenreModel::setCoverDefault(const QString& defaultCover)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: updateItemInCache
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:109,1
    - Dst: deleteItemInCache
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:115,1
    - Dst: MLBaseModel::onVlcMlEvent
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - event
    argTypes:
    - MLEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 121
    functionName: MLGenreModel::onVlcMlEvent
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp
    functionUses: 0
    functionsReached:
    - MLBaseModel::onVlcMlEvent
    - deleteItemInCache
    - updateItemInCache
    linkageType: ''
    returnType: void
    signature: void MLGenreModel::onVlcMlEvent(const MLEvent &event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:126,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - QByteArray
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: MLGenreModel::nameToCriteria
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp
    functionUses: 0
    functionsReached:
    - value
    - QByteArrayLiteral
    linkageType: ''
    returnType: vlc_ml_sorting_criteria_t
    signature: vlc_ml_sorting_criteria_t MLGenreModel::nameToCriteria(QByteArray name)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MLCustomCover::url
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:132,1
    - Dst: MLGenre*::getId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:132,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - genre
    - blur
    argTypes:
    - MLGenre*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: MLGenreModel::getCover
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp
    functionUses: 1
    functionsReached:
    - QSize
    - MLCustomCover::url
    - MLGenre*::getId
    linkageType: ''
    returnType: QString
    signature: QString MLGenreModel::getCover(const MLGenre * genre, int blur) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MLListCacheLoader>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:146,1
    - Dst: std::make_shared<MLGenreModel::Loader>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: MLGenreModel::createMLLoader
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<MLGenreModel::Loader>
    - std::make_unique<MLListCacheLoader>
    linkageType: ''
    returnType: std::unique_ptr<MLListCacheLoader>
    signature: std::unique_ptr<MLListCacheLoader> MLGenreModel::createMLLoader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_count_genres
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ml
    - queryParams
    argTypes:
    - vlc_medialibrary_t*
    - vlc_ml_query_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: MLGenreModel::Loader::count(vlc_medialibrary_t* ml, const vlc_ml_query_params_t*
      queryParams) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp
    functionUses: 0
    functionsReached:
    - vlc_ml_count_genres
    linkageType: ''
    returnType: size_t
    signature: size_t MLGenreModel::Loader::count(vlc_medialibrary_t* ml, const vlc_ml_query_params_t*
      queryParams) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ml_range_iterate
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:163,1
    - Dst: std::vector::emplace_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:164,1
    - Dst: std::make_unique<MLGenre>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ml
    - queryParams
    argTypes:
    - vlc_medialibrary_t*
    - vlc_ml_query_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 167
    functionName: MLGenreModel::Loader::load(vlc_medialibrary_t* ml, const vlc_ml_query_params_t*
      queryParams) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<MLGenre>
    - ml_range_iterate
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<MLItem>>
    signature: std::vector<std::unique_ptr<MLItem>> MLGenreModel::Loader::load(vlc_medialibrary_t*
      ml, const vlc_ml_query_params_t* queryParams) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:172,1
    - Dst: vlc_ml_get_genre
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:173,1
    - Dst: std::make_unique<MLGenre>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:176,1
    - Dst: ml_unique_ptr::get
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ml
    - itemId
    argTypes:
    - vlc_medialibrary_t*
    - MLItemId
    assertStmts:
    - condition: (itemId.type == VLC_ML_PARENT_GENRE)
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: MLGenreModel::Loader::loadItemById(vlc_medialibrary_t* ml, MLItemId
      itemId) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.cpp
    functionUses: 0
    functionsReached:
    - vlc_ml_get_genre
    - assert
    - ml_unique_ptr::get
    - std::make_unique<MLGenre>
    linkageType: ''
    returnType: std::unique_ptr<MLItem>
    signature: std::unique_ptr<MLItem> MLGenreModel::Loader::loadItemById(vlc_medialibrary_t*
      ml, MLItemId itemId) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUrl::isLocalFile
      Src: /src/vlc/modules/gui/qt/medialibrary/mlhelper.cpp:26,1
    - Dst: QUrl::toLocalFile
      Src: /src/vlc/modules/gui/qt/medialibrary/mlhelper.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mrl
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: toValidLocalFile
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlhelper.cpp
    functionUses: 0
    functionsReached:
    - QUrl::isLocalFile
    - QUrl::toLocalFile
    linkageType: ''
    returnType: QString
    signature: QString toValidLocalFile(const char *mrl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlhelper.cpp:32,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlhelper.cpp:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - nbChannels
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: channelNameFromNbChannels
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlhelper.cpp
    functionUses: 0
    functionsReached:
    - QStringLiteral
    linkageType: ''
    returnType: QString
    signature: QString channelNameFromNbChannels(unsigned nbChannels)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlhelper.cpp:47,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlhelper.cpp:49,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlhelper.cpp:51,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlhelper.cpp:53,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - maxWidth
    - maxHeight
    argTypes:
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: resolutionNameFromSize
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlhelper.cpp
    functionUses: 0
    functionsReached:
    - QStringLiteral
    linkageType: ''
    returnType: QString
    signature: QString resolutionNameFromSize(unsigned maxWidth, unsigned maxHeight)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUrl::toDisplayString
      Src: /src/vlc/modules/gui/qt/medialibrary/mlhelper.cpp:59,1
    - Dst: QUrl::isLocalFile
      Src: /src/vlc/modules/gui/qt/medialibrary/mlhelper.cpp:60,1
    - Dst: toNativeSeparators
      Src: /src/vlc/modules/gui/qt/medialibrary/mlhelper.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - url
    argTypes:
    - QUrl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: urlToDisplayString
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlhelper.cpp
    functionUses: 3
    functionsReached:
    - toNativeSeparators
    - QUrl::isLocalFile
    - QUrl::toDisplayString
    linkageType: ''
    returnType: QString
    signature: QString urlToDisplayString(const QUrl &url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUrl::adjusted
      Src: /src/vlc/modules/gui/qt/medialibrary/mlhelper.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mrl
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: getParentURLFromURL
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlhelper.cpp
    functionUses: 0
    functionsReached:
    - QUrl::adjusted
    linkageType: ''
    returnType: QUrl
    signature: QUrl getParentURLFromURL(const QString &mrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QString::length
      Src: /src/vlc/modules/gui/qt/medialibrary/mlhelper.cpp:76,1
    - Dst: isLetter
      Src: /src/vlc/modules/gui/qt/medialibrary/mlhelper.cpp:76,1
    - Dst: toUpper
      Src: /src/vlc/modules/gui/qt/medialibrary/mlhelper.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: getFirstSymbol
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlhelper.cpp
    functionUses: 0
    functionsReached:
    - isLetter
    - QString::length
    - toUpper
    linkageType: ''
    returnType: QString
    signature: QString getFirstSymbol(const QString &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - codec
    - language
    - fps
    argTypes:
    - QString
    - QString
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: VideoDescription::VideoDescription
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VideoDescription::VideoDescription(const QString &codec, const
      QString &language, const unsigned int fps)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: VideoDescription::getCodec
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString VideoDescription::getCodec() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: VideoDescription::getLanguage
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString VideoDescription::getLanguage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: VideoDescription::getFps
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int VideoDescription::getFps() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - codec
    - language
    - nbChannels
    - sampleRate
    argTypes:
    - QString
    - QString
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: AudioDescription::AudioDescription
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AudioDescription::AudioDescription(const QString &codec, const
      QString &language, const unsigned int nbChannels, const unsigned int sampleRate)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: AudioDescription::getCodec
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString AudioDescription::getCodec() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: AudioDescription::getLanguage
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString AudioDescription::getLanguage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: AudioDescription::getNbChannels
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int AudioDescription::getNbChannels() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: AudioDescription::getSampleRate
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int AudioDescription::getSampleRate() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp:79,1
    - Dst: ml_range_iterate
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp:84,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp:86,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp:88,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp:88,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp:89,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp:95,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp:96,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp:98,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp:98,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp:99,1
    - Dst: emplaceBack
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp:104,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp:104,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp:105,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp:106,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp:107,1
    - Dst: channelNameFromNbChannels
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp:112,1
    - Dst: resolutionNameFromSize
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp:113,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - data
    argTypes:
    - vlc_ml_media_t*
    assertStmts:
    - condition: ( data->i_type == VLC_ML_MEDIA_TYPE_VIDEO || data->i_type == VLC_ML_MEDIA_TYPE_UNKNOWN
        )
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp
    constantsTouched: []
    func_position:
      end: 114
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 114
    functionName: MLVideo::MLVideo
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp
    functionUses: 0
    functionsReached:
    - assert
    - push_back
    - emplaceBack
    - channelNameFromNbChannels
    - std::max
    - ml_range_iterate
    - qfu
    - resolutionNameFromSize
    linkageType: ''
    returnType: void
    signature: void MLVideo::MLVideo(const vlc_ml_media_t* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: MLVideo::isNew
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MLVideo::isNew() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - isNew
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: MLVideo::setIsNew
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLVideo::setIsNew(bool isNew)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - status
    - mrl
    argTypes:
    - vlc_ml_thumbnail_status_t
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: MLVideo::setSmallCover
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MLVideo::setSmallCover(vlc_ml_thumbnail_status_t status, QString
      mrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: MLVideo::getDisplayMRL
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: QString
    signature: QString MLVideo::getDisplayMRL() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: MLVideo::getResolutionName
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString MLVideo::getResolutionName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: MLVideo::getChannel
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString MLVideo::getChannel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: MLVideo::getVideoDesc
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QList<VideoDescription>
    signature: QList<VideoDescription> MLVideo::getVideoDesc() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: MLVideo::getSubtitleDesc
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QList<SubtitleDescription>
    signature: QList<SubtitleDescription> MLVideo::getSubtitleDesc() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: MLVideo::getAudioDesc
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QList<AudioDescription>
    signature: QList<AudioDescription> MLVideo::getAudioDesc() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - codec
    - language
    - description
    - encoding
    argTypes:
    - QString
    - QString
    - QString
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 167
    functionName: SubtitleDescription::SubtitleDescription
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SubtitleDescription::SubtitleDescription(const QString &codec,
      const QString &language\n                                         , const QString
      &description, const QString &encoding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: SubtitleDescription::getCodec
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString SubtitleDescription::getCodec() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: SubtitleDescription::getLanguage
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString SubtitleDescription::getLanguage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: SubtitleDescription::getDescription
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString SubtitleDescription::getDescription() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: SubtitleDescription::getEncoding
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideo.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString SubtitleDescription::getEncoding() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setAutoDelete
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.hpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - taskId
    - obj
    - mlFun
    - uiFun
    argTypes:
    - quint64
    - QObject*
    - std::function<void (Ctx&)>
    - std::function<void (quint64, Ctx&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 120
    functionName: RunOnThreadRunner::RunOnThreadRunner
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.hpp
    functionUses: 0
    functionsReached:
    - setAutoDelete
    linkageType: ''
    returnType: void
    signature: "void RunOnThreadRunner(\n        quint64 taskId,\n        const QObject*
      obj,\n        std::function<void (Ctx&)> mlFun,\n        std::function<void
      (quint64, Ctx&)> uiFun\n        )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: m_mlFun
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.hpp:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: RunOnThreadRunner::run
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.hpp
    functionUses: 0
    functionsReached:
    - m_mlFun
    linkageType: ''
    returnType: void
    signature: void run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_uiFun
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.hpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: RunOnThreadRunner::runUICallback
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.hpp
    functionUses: 0
    functionsReached:
    - m_uiFun
    linkageType: ''
    returnType: void
    signature: void runUICallback() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: RunOnThreadRunner::cancel
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RunOnThreadRunner<Ctx>::RunOnThreadRunner<Ctx>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.hpp:164,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.hpp:165,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.hpp:166,1
    - Dst: insert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.hpp:167,1
    - Dst: insert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.hpp:168,1
    - Dst: ThreadRunner::start
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.hpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - obj
    - mlFun
    - uiFun
    - queue
    argTypes:
    - QObject*
    - std::function<void (Ctx&)>
    - std::function<void (quint64 taskId, Ctx&)>
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 171
    functionName: ThreadRunner::runOnThread
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.hpp
    functionUses: 0
    functionsReached:
    - connect
    - RunOnThreadRunner<Ctx>::RunOnThreadRunner<Ctx>
    - ThreadRunner::start
    - insert
    linkageType: ''
    returnType: quint64
    signature: "quint64 ThreadRunner::runOnThread(const QObject* obj,\n                                      std::function<void
      (Ctx&)> mlFun,\n                                      std::function<void (quint64
      taskId, Ctx&)> uiFun,\n                                      const char* queue)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudio.cpp:29,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudio.cpp:30,1
    - Dst: vlc_ml_get_album
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudio.cpp:34,1
    - Dst: vlc_ml_get_artist
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudio.cpp:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - _ml
    - _data
    argTypes:
    - vlc_medialibrary_t*
    - vlc_ml_media_t*
    assertStmts:
    - condition: ( _data )
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlaudio.cpp
    - condition: ( _data->i_type == VLC_ML_MEDIA_TYPE_AUDIO )
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlaudio.cpp
    constantsTouched: []
    func_position:
      end: 47
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 47
    functionName: MLAudio::MLAudio
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlaudio.cpp
    functionUses: 0
    functionsReached:
    - assert
    - vlc_ml_get_album
    - vlc_ml_get_artist
    linkageType: ''
    returnType: void
    signature: void MLAudio::MLAudio(vlc_medialibrary_t* _ml, const vlc_ml_media_t
      *_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: MLAudio::getAlbumId
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlaudio.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MLItemId
    signature: MLItemId MLAudio::getAlbumId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: MLAudio::getAlbumTitle
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlaudio.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString MLAudio::getAlbumTitle() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: MLAudio::getArtist
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlaudio.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString MLAudio::getArtist() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: MLAudio::getTrackNumber
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlaudio.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int MLAudio::getTrackNumber() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: MLAudio::getDiscNumber
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlaudio.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int MLAudio::getDiscNumber() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: MLRecentMediaModel::MLRecentMediaModel
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLRecentMediaModel::MLRecentMediaModel( QObject* parent )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MLMedia *>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp:28,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp:30,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp:36,1
    - Dst: QUrl::fromEncoded
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp:36,1
    - Dst: MLMedia*::mrl
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp:36,1
    - Dst: MLMediaModel::itemRoleData
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - item
    - role
    argTypes:
    - MLItem*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 40
    functionName: MLRecentMediaModel::itemRoleData
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp
    functionUses: 0
    functionsReached:
    - QVariant
    - QUrl::fromEncoded
    - MLMediaModel::itemRoleData
    - static_cast<const MLMedia *>
    - fromValue
    - MLMedia*::mrl
    linkageType: ''
    returnType: QVariant
    signature: QVariant MLRecentMediaModel::itemRoleData(const MLItem *item , int
      role ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MLMediaModel::roleNames
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp:44,1
    - Dst: QHash::insert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp:46,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: MLRecentMediaModel::roleNames
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp
    functionUses: 0
    functionsReached:
    - QByteArrayLiteral
    - QHash::insert
    - MLMediaModel::roleNames
    linkageType: ''
    returnType: QHash<int, QByteArray>
    signature: QHash<int, QByteArray> MLRecentMediaModel::roleNames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp:55,1
    - Dst: vlc_ml_clear_history
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: MLRecentMediaModel::clearHistory
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp
    functionUses: 0
    functionsReached:
    - runOnMLThread
    - vlc_ml_clear_history
    linkageType: ''
    returnType: void
    signature: void MLRecentMediaModel::clearHistory()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MLBaseModel::onVlcMlEvent
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - event
    argTypes:
    - MLEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: MLRecentMediaModel::onVlcMlEvent
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp
    functionUses: 0
    functionsReached:
    - MLBaseModel::onVlcMlEvent
    linkageType: ''
    returnType: void
    signature: void MLRecentMediaModel::onVlcMlEvent( const MLEvent &event )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MLListCacheLoader>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp:80,1
    - Dst: std::make_shared<MLRecentMediaModel::Loader>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: MLRecentMediaModel::createMLLoader
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<MLRecentMediaModel::Loader>
    - std::make_unique<MLListCacheLoader>
    linkageType: ''
    returnType: std::unique_ptr<MLListCacheLoader>
    signature: std::unique_ptr<MLListCacheLoader> MLRecentMediaModel::createMLLoader()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_count_history
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ml
    - queryParams
    argTypes:
    - vlc_medialibrary_t*
    - vlc_ml_query_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: MLRecentMediaModel::Loader::count(vlc_medialibrary_t* ml, const
      vlc_ml_query_params_t* queryParams) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp
    functionUses: 0
    functionsReached:
    - vlc_ml_count_history
    linkageType: ''
    returnType: size_t
    signature: size_t MLRecentMediaModel::Loader::count(vlc_medialibrary_t* ml, const
      vlc_ml_query_params_t* queryParams) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_list_history
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp:91,1
    - Dst: ml_range_iterate
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp:98,1
    - Dst: std::vector::emplace_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp:100,1
    - Dst: std::make_unique<MLVideo>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp:100,1
    - Dst: std::vector::emplace_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp:102,1
    - Dst: std::make_unique<MLAudio>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp:102,1
    - Dst: Q_UNREACHABLE
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ml
    - queryParams
    argTypes:
    - vlc_medialibrary_t*
    - vlc_ml_query_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 107
    functionName: MLRecentMediaModel::Loader::load(vlc_medialibrary_t* ml, const vlc_ml_query_params_t*
      queryParams) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - std::make_unique<MLVideo>
    - vlc_ml_list_history
    - ml_range_iterate
    - Q_UNREACHABLE
    - std::make_unique<MLAudio>
    linkageType: ''
    returnType: std::vector<std::unique_ptr<MLItem>>
    signature: std::vector<std::unique_ptr<MLItem>> MLRecentMediaModel::Loader::load(vlc_medialibrary_t*
      ml, const vlc_ml_query_params_t* queryParams) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp:114,1
    - Dst: vlc_ml_get_media
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp:115,1
    - Dst: std::make_unique<MLVideo>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp:121,1
    - Dst: ml_unique_ptr::get
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp:121,1
    - Dst: std::make_unique<MLAudio>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp:123,1
    - Dst: ml_unique_ptr::get
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp:123,1
    - Dst: Q_UNREACHABLE
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ml
    - itemId
    argTypes:
    - vlc_medialibrary_t*
    - MLItemId
    assertStmts:
    - condition: (itemId.type == VLC_ML_PARENT_UNKNOWN)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp
    constantsTouched: []
    func_position:
      end: 127
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 127
    functionName: MLRecentMediaModel::Loader::loadItemById(vlc_medialibrary_t* ml,
      MLItemId itemId) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlrecentmediamodel.cpp
    functionUses: 0
    functionsReached:
    - assert
    - std::make_unique<MLVideo>
    - ml_unique_ptr::get
    - vlc_ml_get_media
    - Q_UNREACHABLE
    - std::make_unique<MLAudio>
    linkageType: ''
    returnType: std::unique_ptr<MLItem>
    signature: std::unique_ptr<MLItem> MLRecentMediaModel::Loader::loadItemById(vlc_medialibrary_t*
      ml, MLItemId itemId) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: MLRecentVideoModel::MLRecentVideoModel
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlrecentvideomodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLRecentVideoModel::MLRecentVideoModel(QObject * parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MLListCacheLoader>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentvideomodel.cpp:32,1
    - Dst: std::make_shared<MLRecentVideoModel::Loader>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentvideomodel.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: MLRecentVideoModel::createMLLoader
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlrecentvideomodel.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<MLRecentVideoModel::Loader>
    - std::make_unique<MLListCacheLoader>
    linkageType: ''
    returnType: std::unique_ptr<MLListCacheLoader>
    signature: std::unique_ptr<MLListCacheLoader> MLRecentVideoModel::createMLLoader()
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MLVideoModel::onVlcMlEvent
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentvideomodel.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' event'
    argTypes:
    - MLEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 49
    functionName: MLRecentVideoModel::onVlcMlEvent
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlrecentvideomodel.cpp
    functionUses: 0
    functionsReached:
    - MLVideoModel::onVlcMlEvent
    linkageType: ''
    returnType: void
    signature: void MLRecentVideoModel::onVlcMlEvent(const MLEvent & event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_count_video_history
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentvideomodel.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ml
    - queryParams
    argTypes:
    - vlc_medialibrary_t*
    - vlc_ml_query_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: MLRecentVideoModel::Loader::count(vlc_medialibrary_t* ml, const
      vlc_ml_query_params_t* queryParams) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlrecentvideomodel.cpp
    functionUses: 0
    functionsReached:
    - vlc_ml_count_video_history
    linkageType: ''
    returnType: size_t
    signature: size_t MLRecentVideoModel::Loader::count(vlc_medialibrary_t* ml, const
      vlc_ml_query_params_t* queryParams) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_list_video_history
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentvideomodel.cpp:62,1
    - Dst: ml_range_iterate
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentvideomodel.cpp:70,1
    - Dst: std::vector::emplace_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentvideomodel.cpp:72,1
    - Dst: std::make_unique<MLVideo>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentvideomodel.cpp:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ml
    - queryParams
    argTypes:
    - vlc_medialibrary_t*
    - vlc_ml_query_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 76
    functionName: MLRecentVideoModel::Loader::load(vlc_medialibrary_t* ml, const vlc_ml_query_params_t*
      queryParams) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlrecentvideomodel.cpp
    functionUses: 0
    functionsReached:
    - vlc_ml_list_video_history
    - std::make_unique<MLVideo>
    - ml_range_iterate
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<MLItem>>
    signature: std::vector<std::unique_ptr<MLItem>> MLRecentVideoModel::Loader::load(vlc_medialibrary_t*
      ml, const vlc_ml_query_params_t* queryParams) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentvideomodel.cpp:81,1
    - Dst: vlc_ml_get_media
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentvideomodel.cpp:82,1
    - Dst: std::make_unique<MLVideo>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentvideomodel.cpp:85,1
    - Dst: ml_unique_ptr::get
      Src: /src/vlc/modules/gui/qt/medialibrary/mlrecentvideomodel.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ml
    - itemId
    argTypes:
    - vlc_medialibrary_t*
    - MLItemId
    assertStmts:
    - condition: (itemId.type == VLC_ML_PARENT_UNKNOWN)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlrecentvideomodel.cpp
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: MLRecentVideoModel::Loader::loadItemById(vlc_medialibrary_t* ml,
      MLItemId itemId) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlrecentvideomodel.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<MLVideo>
    - assert
    - ml_unique_ptr::get
    - vlc_ml_get_media
    linkageType: ''
    returnType: std::unique_ptr<MLItem>
    signature: std::unique_ptr<MLItem> MLRecentVideoModel::Loader::loadItemById(vlc_medialibrary_t*
      ml, MLItemId itemId) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_release
      Src: /src/vlc/modules/gui/qt/medialibrary/mlhelper.hpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: operator() (T* obj)
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlhelper.hpp
    functionUses: 0
    functionsReached:
    - vlc_ml_release
    linkageType: ''
    returnType: void
    signature: void operator() (T* obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: MLListRange::MLListRange
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlhelper.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLListRange( T* begin, T* end )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: MLListRange::begin
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlhelper.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T * begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: MLListRange::end
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlhelper.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T * end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' list'
    argTypes:
    - L
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: ml_range_iterate
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlhelper.hpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: MLListRange<T>
    signature: MLListRange<T> ml_range_iterate(L& list)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: toValidLocalFile
      Src: /src/vlc/modules/gui/qt/medialibrary/mlhelper.hpp:91,1
    - Dst: auto::isEmpty
      Src: /src/vlc/modules/gui/qt/medialibrary/mlhelper.hpp:92,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - list
    - dst
    - max
    argTypes:
    - MLListRange<T>
    - O
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 100
    functionName: thumbnailCopy
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlhelper.hpp
    functionUses: 0
    functionsReached:
    - auto::isEmpty
    - toValidLocalFile
    linkageType: ''
    returnType: void
    signature: void thumbnailCopy(const MLListRange<T> &list, O dst, const int max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVariantList::append
      Src: /src/vlc/modules/gui/qt/medialibrary/mlhelper.hpp:109,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlhelper.hpp:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' desc'
    argTypes:
    - QList<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: getVariantList
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlhelper.hpp
    functionUses: 0
    functionsReached:
    - fromValue
    - QVariantList::append
    linkageType: ''
    returnType: QVariantList
    signature: QVariantList getVariantList(const QList<T> & desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MLItemId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfolder.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - vlc_ml_folder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 37
    functionName: MLFolder::MLFolder
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlfolder.cpp
    functionUses: 0
    functionsReached:
    - MLItemId
    linkageType: ''
    returnType: void
    signature: void MLFolder::MLFolder(const vlc_ml_folder_t * data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: MLFolder::isPresent
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlfolder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MLFolder::isPresent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: MLFolder::isBanned
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlfolder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MLFolder::isBanned() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: MLFolder::getTitle
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlfolder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString MLFolder::getTitle() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: MLFolder::getMRL
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlfolder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString MLFolder::getMRL() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLCDuration::fromMS
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfolder.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: MLFolder::getDuration
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlfolder.cpp
    functionUses: 0
    functionsReached:
    - VLCDuration::fromMS
    linkageType: ''
    returnType: VLCDuration
    signature: VLCDuration MLFolder::getDuration() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: MLFolder::getCount
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlfolder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int MLFolder::getCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: MLFolder::getAudioCount
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlfolder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int MLFolder::getAudioCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: MLFolder::getVideoCount
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlfolder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int MLFolder::getVideoCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MLItemId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgroup.cpp:33,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgroup.cpp:34,1
    - Dst: QDateTime::fromSecsSinceEpoch
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgroup.cpp:36,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgroup.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - vlc_ml_group_t*
    assertStmts:
    - condition: (data)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlgroup.cpp
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: MLGroup::MLGroup
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlgroup.cpp
    functionUses: 0
    functionsReached:
    - assert
    - qfu
    - QDateTime::fromSecsSinceEpoch
    - MLItemId
    linkageType: ''
    returnType: void
    signature: void MLGroup::MLGroup(const vlc_ml_group_t * data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: MLGroup::getTitle
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlgroup.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString MLGroup::getTitle() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLCDuration::fromMS
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgroup.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: MLGroup::getDuration
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlgroup.cpp
    functionUses: 0
    functionsReached:
    - VLCDuration::fromMS
    linkageType: ''
    returnType: VLCDuration
    signature: VLCDuration MLGroup::getDuration() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: MLGroup::getDate
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlgroup.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QDateTime
    signature: QDateTime MLGroup::getDate() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: MLGroup::getCount
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlgroup.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int MLGroup::getCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:42,1
    - Dst: getId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - ItemType
    - ItemType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: MLListCache::compareItems
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached:
    - getId
    linkageType: ''
    returnType: bool
    signature: bool MLListCache::compareItems(const ItemType& a, const ItemType& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pub
    argTypes:
    - MLBaseModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: MLBaseModelPrivate::MLBaseModelPrivate
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLBaseModelPrivate(MLBaseModel* pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ListSelectionModel::invalidateCache
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: MLBaseModelPrivate::validateCache
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached:
    - ListSelectionModel::invalidateCache
    linkageType: ''
    returnType: void
    signature: void validateCache() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMLLoader
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: MLBaseModelPrivate::createLoader
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached:
    - createMLLoader
    linkageType: ''
    returnType: std::unique_ptr<ListCacheLoader<std::unique_ptr<MLItem>>>
    signature: std::unique_ptr<ListCacheLoader<std::unique_ptr<MLItem>>> createLoader()
      const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LocalListBaseModelPrivate::cachable
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: MLBaseModelPrivate::cachable
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached:
    - LocalListBaseModelPrivate::cachable
    linkageType: ''
    returnType: bool
    signature: bool cachable() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_cea708_decoder_loading
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: MLBaseModelPrivate::loading
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached:
    - test_cea708_decoder_loading
    linkageType: ''
    returnType: bool
    signature: bool loading() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Q_Q
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:90,1
    - Dst: m_ml_event_handle::reset
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:95,1
    - Dst: m_mediaLib::registerEventListener
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:95,1
    - Dst: invalidateCache
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: MLBaseModelPrivate::initializeModel
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached:
    - m_mediaLib::registerEventListener
    - Q_Q
    - invalidateCache
    - m_ml_event_handle::reset
    linkageType: ''
    returnType: bool
    signature: bool initializeModel() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: findInCache
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:107,1
    - Dst: cb
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:110,1
    - Dst: getLoadedCount
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:114,1
    - Dst: getCount
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:115,1
    - Dst: getLimit
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:116,1
    - Dst: getMaximumCount
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:118,1
    - Dst: cb
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:119,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:124,1
    - Dst: MLBaseModelPrivate::getIndexFromIdImpl
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:125,1
    - Dst: fetchMore
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - id
    - cb
    argTypes:
    - MLItemId
    - std::function<void (std::optional<int> index)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 132
    functionName: MLBaseModelPrivate::getIndexFromIdImpl
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 1
    functionsReached:
    - MLBaseModelPrivate::getIndexFromIdImpl
    - cb
    - getLimit
    - getMaximumCount
    - fetchMore
    - getCount
    - findInCache
    - getLoadedCount
    - Disconnect
    linkageType: ''
    returnType: void
    signature: void getIndexFromIdImpl(MLItemId id, std::function<void (std::optional<int>
      index)> cb) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roleNames
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:140,1
    - Dst: QHash::keys
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:142,1
    - Dst: itemRoleData
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:143,1
    - Dst: qjsEngine
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:144,1
    - Dst: auto::toScriptValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - item
    argTypes:
    - MLItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 146
    functionName: MLBaseModelPrivate::itemToJSValue
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached:
    - QHash::keys
    - auto::toScriptValue
    - itemRoleData
    - roleNames
    - qjsEngine
    linkageType: ''
    returnType: QJSValue
    signature: QJSValue itemToJSValue(const MLItem* item) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qjsEngine
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:152,1
    - Dst: auto::evaluate
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:153,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:165,1
    - Dst: QJSValue::isArray
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:165,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:166,1
    - Dst: QJSValue::property
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:166,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:166,1
    - Dst: QJSValue::property
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:167,1
    - Dst: QJSValue::property
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:168,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:169,1
    - Dst: QJSValue::isCallable
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:169,1
    - Dst: QJSValue::property
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:170,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:171,1
    - Dst: QJSValue::isCallable
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (promiseRet.property(QStringLiteral("length")).toInt() == 3)
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    - condition: (promiseRet.isArray())
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    - condition: (reject.isCallable())
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    - condition: (resolve.isCallable())
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    constantsTouched: []
    func_position:
      end: 173
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 173
    functionName: MLBaseModelPrivate::makeJSPromise
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached:
    - QStringLiteral
    - assert
    - QJSValue::isArray
    - QJSValue::isCallable
    - QJSValue::property
    - auto::evaluate
    - qjsEngine
    linkageType: ''
    returnType: std::tuple<QJSValue, QJSValue, QJSValue>
    signature: std::tuple<QJSValue, QJSValue, QJSValue> makeJSPromise() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MLBaseModelPrivate::MLBaseModelPrivate
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:179,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:181,1
    - Dst: unregisterEventListener
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:182,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:185,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:187,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:188,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts:
    - condition: ( m_mediaLib != nullptr )
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    constantsTouched: []
    func_position:
      end: 190
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 190
    functionName: MLBaseModel::MLBaseModel
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached:
    - connect
    - unregisterEventListener
    - assert
    - MLBaseModelPrivate::MLBaseModelPrivate
    linkageType: ''
    returnType: void
    signature: void MLBaseModel::MLBaseModel(QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 193
    functionName: MLBaseModel::~MLBaseModel()
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLBaseModel::~MLBaseModel()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:197,1
    - Dst: resetCache
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - criteria
    - order
    argTypes:
    - QByteArray
    - Qt::SortOrder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 206
    functionName: MLBaseModel::sortByColumn
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached:
    - resetCache
    - Q_D
    linkageType: ''
    returnType: void
    signature: void MLBaseModel::sortByColumn(QByteArray criteria, Qt::SortOrder order)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:210,1
    - Dst: createMLLoader
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:212,1
    - Dst: loadItemsTask
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - indexes
    - cb
    argTypes:
    - QVector<int>
    - MLBaseModel::ItemCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 215
    functionName: MLBaseModel::loadItems
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached:
    - loadItemsTask
    - Q_D
    - createMLLoader
    linkageType: ''
    returnType: quint64
    signature: quint64 MLBaseModel::loadItems(const QVector<int> &indexes, MLBaseModel::ItemCallback
      cb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QJSValue::isCallable
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:219,1
    - Dst: transform
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:223,1
    - Dst: QModelIndexList::begin
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:223,1
    - Dst: QModelIndexList::end
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:223,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:224,1
    - Dst: std::mem_fn
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:225,1
    - Dst: MLBaseModel::getDataFlat
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - indexes
    - callback
    argTypes:
    - QModelIndexList
    - QJSValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 228
    functionName: MLBaseModel::getData
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached:
    - std::mem_fn
    - transform
    - QModelIndexList::end
    - QJSValue::isCallable
    - std::back_inserter
    - MLBaseModel::getDataFlat
    - QModelIndexList::begin
    linkageType: ''
    returnType: void
    signature: void MLBaseModel::getData(const QModelIndexList &indexes, QJSValue
      callback)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QJSValue::isCallable
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:232,1
    - Dst: std::make_shared<quint64>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:235,1
    - Dst: QVector<int>::size
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:237,1
    - Dst: qjsEngine
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:240,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:244,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:244,1
    - Dst: roleNames
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:246,1
    - Dst: auto::newArray
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:247,1
    - Dst: d_func
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:255,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:255,1
    - Dst: auto::newObject
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:257,1
    - Dst: auto::setProperty
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:260,1
    - Dst: QJSValue::call
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:263,1
    - Dst: MLBaseModel::loadItems
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:266,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - indexes
    - callback
    argTypes:
    - QVector<int>
    - QJSValue
    assertStmts:
    - condition: ((int)items.size() == indxSize)
      pos:
        line_end: 243
        line_start: 243
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    constantsTouched: []
    func_position:
      end: 267
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 267
    functionName: MLBaseModel::getDataFlat
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 1
    functionsReached:
    - assert
    - auto::newArray
    - QVector<int>::size
    - size
    - QJSValue::isCallable
    - auto::setProperty
    - auto::newObject
    - auto::get
    - MLBaseModel::loadItems
    - roleNames
    - d_func
    - std::make_shared<quint64>
    - QJSValue::call
    - qjsEngine
    linkageType: ''
    returnType: void
    signature: void MLBaseModel::getDataFlat(const QVector<int> &indexes, QJSValue
      callback)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: makeJSPromise
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:274,1
    - Dst: MLBaseModel::findInCache
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:276,1
    - Dst: call
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:279,1
    - Dst: itemToJSValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:279,1
    - Dst: createMLLoader
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:284,1
    - Dst: loadItemByIdTask
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:286,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:288,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:288,1
    - Dst: Q_UNUSED
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:290,1
    - Dst: call
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:294,1
    - Dst: call
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:298,1
    - Dst: d_func
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:298,1
    - Dst: MLItem*::get
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - id
    argTypes:
    - MLItemId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 303
    functionName: MLBaseModel::getDataById
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached:
    - MLBaseModel::findInCache
    - loadItemByIdTask
    - makeJSPromise
    - itemToJSValue
    - Q_UNUSED
    - std::move
    - call
    - d_func
    - MLItem*::get
    - createMLLoader
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE MLBaseModel::getDataById(MLItemId id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: makeJSPromise
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:310,1
    - Dst: has_value
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:313,1
    - Dst: call
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:314,1
    - Dst: call
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:316,1
    - Dst: MLBaseModel::getIndexFromId2
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - id
    argTypes:
    - MLItemId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 321
    functionName: MLBaseModel::getIndexFromId
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached:
    - MLBaseModel::getIndexFromId2
    - call
    - makeJSPromise
    - has_value
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE MLBaseModel::getIndexFromId(MLItemId id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIndexFromIdImpl
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - id
    - cb
    argTypes:
    - MLItemId
    - std::function<void (std::optional<int>)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 328
    functionName: MLBaseModel::getIndexFromId2
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 1
    functionsReached:
    - getIndexFromIdImpl
    linkageType: ''
    returnType: void
    signature: void MLBaseModel::getIndexFromId2(MLItemId id, std::function<void (std::optional<int>)>
      cb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MLBaseModel::item
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:333,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:333,1
    - Dst: itemRoleData
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:335,1
    - Dst: std::unique_ptr*::get
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - index
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 338
    functionName: MLBaseModel::data
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached:
    - itemRoleData
    - QModelIndex::row
    - MLBaseModel::item
    - std::unique_ptr*::get
    linkageType: ''
    returnType: QVariant
    signature: QVariant MLBaseModel::data(const QModelIndex &index, int role) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transform
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:343,1
    - Dst: QModelIndexList::begin
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:343,1
    - Dst: QModelIndexList::end
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:343,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:343,1
    - Dst: std::mem_fn
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:343,1
    - Dst: transform
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:351,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:351,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:351,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:352,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:353,1
    - Dst: getId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:353,1
    - Dst: MLBaseModel::addAndPlay
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:355,1
    - Dst: MLBaseModel::loadItems
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - list
    - options
    argTypes:
    - QModelIndexList
    - QStringList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 359
    functionName: MLBaseModel::addAndPlay
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 1
    functionsReached:
    - std::mem_fn
    - MLBaseModel::addAndPlay
    - transform
    - QModelIndexList::end
    - getId
    - begin
    - std::back_inserter
    - MLBaseModel::loadItems
    - fromValue
    - end
    - QModelIndexList::begin
    linkageType: ''
    returnType: void
    signature: void MLBaseModel::addAndPlay(const QModelIndexList &list, const QStringList
      &options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MLBaseModel::nameToCriteria
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:364,1
    - Dst: m_sortCriteria::toUtf8
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 365
    functionName: MLBaseModel::getMLSortingCriteria
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached:
    - MLBaseModel::nameToCriteria
    - m_sortCriteria::toUtf8
    linkageType: ''
    returnType: vlc_ml_sorting_criteria_t
    signature: vlc_ml_sorting_criteria_t MLBaseModel::getMLSortingCriteria() const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:371,1
    - Dst: m_cache::queryCount
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:387,1
    - Dst: MLBaseModel::findInCache
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:395,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:402,1
    - Dst: MLBaseModel::thumbnailUpdated
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:405,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:405,1
    - Dst: idle
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:412,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 1
    argNames:
    - event
    argTypes:
    - MLEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 417
    functionName: MLBaseModel::onVlcMlEvent
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 3
    functionsReached:
    - MLBaseModel::findInCache
    - idle
    - qfu
    - index
    - m_cache::queryCount
    - MLBaseModel::thumbnailUpdated
    - Q_D
    linkageType: ''
    returnType: void
    signature: void MLBaseModel::onVlcMlEvent(const MLEvent &event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MLBaseModel*>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:421,1
    - Dst: std::make_shared<MLEvent>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:423,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:424,1
    - Dst: auto::onVlcMlEvent
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - event
    argTypes:
    - void*
    - vlc_ml_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 427
    functionName: MLBaseModel::onVlcMlEvent
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 3
    functionsReached:
    - std::make_shared<MLEvent>
    - auto::onVlcMlEvent
    - QMetaObject::invokeMethod
    - static_cast<MLBaseModel*>
    linkageType: ''
    returnType: void
    signature: void MLBaseModel::onVlcMlEvent(void* data, const vlc_ml_event_t* event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 432
    functionName: MLBaseModel::parentId
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MLItemId
    signature: MLItemId MLBaseModel::parentId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resetCache
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:437,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - parentId
    argTypes:
    - MLItemId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 440
    functionName: MLBaseModel::setParentId
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached:
    - resetCache
    - reset
    linkageType: ''
    returnType: void
    signature: void MLBaseModel::setParentId(MLItemId parentId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MLBaseModel::setParentId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 445
    functionName: MLBaseModel::unsetParentId
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached:
    - MLBaseModel::setParentId
    linkageType: ''
    returnType: void
    signature: void MLBaseModel::unsetParentId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 450
    functionName: MLBaseModel::ml
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MediaLib
    signature: MediaLib * MLBaseModel::ml() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:454,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:455,1
    - Dst: initializeModel
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:461,1
    - Dst: mlChanged
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - medialib
    argTypes:
    - MediaLib*
    assertStmts:
    - condition: (medialib)
      pos:
        line_end: 454
        line_start: 454
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    constantsTouched: []
    func_position:
      end: 463
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 463
    functionName: MLBaseModel::setMl
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached:
    - initializeModel
    - assert
    - Q_D
    - mlChanged
    linkageType: ''
    returnType: void
    signature: void MLBaseModel::setMl(MediaLib* medialib)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 468
    functionName: MLBaseModel::getFavoriteOnly
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MLBaseModel::getFavoriteOnly() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - favoriteOnly
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 476
    functionName: MLBaseModel::setFavoriteOnly
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLBaseModel::setFavoriteOnly(const bool favoriteOnly)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: m_cache::queryCount
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:484,1
    - Dst: static_cast<unsigned int>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:489,1
    - Dst: m_cache::refer
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:491,1
    - Dst: m_cache::get
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:493,1
    - Dst: std::unique_ptr*::get
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:500,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - signedidx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 501
    functionName: MLBaseModel::item
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 1
    functionsReached:
    - m_cache::refer
    - m_cache::queryCount
    - std::unique_ptr*::get
    - m_cache::get
    - static_cast<unsigned int>
    linkageType: ''
    returnType: MLItem
    signature: MLItem *MLBaseModel::item(int signedidx) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned int>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:506,1
    - Dst: m_cache::get
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:511,1
    - Dst: std::unique_ptr*::get
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - signedidx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 519
    functionName: MLBaseModel::itemCache
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached:
    - m_cache::get
    - static_cast<unsigned int>
    - std::unique_ptr*::get
    linkageType: ''
    returnType: MLItem
    signature: MLItem *MLBaseModel::itemCache(int signedidx) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: m_cache::find
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:527,1
    - Dst: auto::getId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:529,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' id'
    - index
    argTypes:
    - MLItemId
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 521
    functionDepth: 2
    functionLinenumber: 521
    functionLinenumberEnd: 533
    functionName: MLBaseModel::findInCache
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 2
    functionsReached:
    - auto::get
    - auto::getId
    - m_cache::find
    linkageType: ''
    returnType: MLItem
    signature: MLItem *MLBaseModel::findInCache(const MLItemId& id, int *index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 542
    functionName: MLBaseModel::updateItemInCache
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLBaseModel::updateItemInCache(const MLItemId&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:546,1
    - Dst: m_cache::deleteItem
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:552,1
    - Dst: getId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' mlid'
    argTypes:
    - MLItemId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 555
    functionName: MLBaseModel::deleteItemInCache
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached:
    - m_cache::deleteItem
    - getId
    - Q_D
    linkageType: ''
    returnType: void
    signature: void MLBaseModel::deleteItemInCache(const MLItemId& mlid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:560,1
    - Dst: m_cache::insertItem
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:566,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - mlItem
    - position
    argTypes:
    - std::unique_ptr<MLItem>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 567
    functionName: MLBaseModel::insertItemInCache
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - m_cache::insertItem
    - Q_D
    linkageType: ''
    returnType: void
    signature: void MLBaseModel::insertItemInCache(std::unique_ptr<MLItem> mlItem,
      int position)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:571,1
    - Dst: m_cache::insertItemList
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:577,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:577,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:577,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' items'
    - position
    argTypes:
    - std::vector<std::unique_ptr<MLItem>>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 578
    functionName: MLBaseModel::insertItemListInCache
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    - Q_D
    - m_cache::insertItemList
    linkageType: ''
    returnType: void
    signature: void MLBaseModel::insertItemListInCache(std::vector<std::unique_ptr<MLItem>>&&
      items, int position)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:582,1
    - Dst: m_cache::moveRange
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - first
    - last
    - to
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 589
    functionName: MLBaseModel::moveRangeInCache
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached:
    - m_cache::moveRange
    - Q_D
    linkageType: ''
    returnType: void
    signature: void MLBaseModel::moveRangeInCache(int first, int last, int to)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_D
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:593,1
    - Dst: m_cache::deleteRange
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:599,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 600
    functionName: MLBaseModel::deleteRangeInCache
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached:
    - m_cache::deleteRange
    - Q_D
    linkageType: ''
    returnType: void
    signature: void MLBaseModel::deleteRangeInCache(int first, int last)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - medialib
    - op
    - parent
    argTypes:
    - MediaLib*
    - std::shared_ptr<MLListCacheLoader::MLOp>
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 609
    functionName: MLListCacheLoader::MLListCacheLoader
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLListCacheLoader::MLListCacheLoader(MediaLib* medialib, std::shared_ptr<MLListCacheLoader::MLOp>
      op, QObject* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cancelMLTask
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - taskId
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 614
    functionName: MLListCacheLoader::cancelTask
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached:
    - cancelMLTask
    linkageType: ''
    returnType: void
    signature: void MLListCacheLoader::cancelTask(size_t taskId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:622,1
    - Dst: getQueryParams
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:626,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:627,1
    - Dst: cb
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - cb
    argTypes:
    - std::function<void(size_t taskId, size_t count)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 634
    functionName: MLListCacheLoader::countTask
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached:
    - getQueryParams
    - runOnMLThread
    - count
    - cb
    linkageType: ''
    returnType: size_t
    signature: size_t MLListCacheLoader::countTask(std::function<void(size_t taskId,
      size_t count)> cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:643,1
    - Dst: getQueryParams
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:648,1
    - Dst: load
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:649,1
    - Dst: cb
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - offset
    - limit
    - cb
    argTypes:
    - size_t
    - size_t
    - std::function<void (size_t, std::vector<ItemType>&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 656
    functionName: MLListCacheLoader::loadTask
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached:
    - getQueryParams
    - runOnMLThread
    - cb
    - load
    linkageType: ''
    returnType: size_t
    signature: "size_t MLListCacheLoader::loadTask(size_t offset, size_t limit,\n
      \   std::function<void (size_t, std::vector<ItemType>&)> cb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:666,1
    - Dst: getQueryParams
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:670,1
    - Dst: load
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:671,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:672,1
    - Dst: cb
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - offset
    - limit
    - cb
    argTypes:
    - size_t
    - size_t
    - std::function<void (size_t, size_t, std::vector<ItemType>&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 678
    functionName: MLListCacheLoader::countAndLoadTask
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached:
    - load
    - count
    - cb
    - runOnMLThread
    - getQueryParams
    linkageType: ''
    returnType: size_t
    signature: "size_t MLListCacheLoader::countAndLoadTask(size_t offset, size_t limit,\n
      \   std::function<void (size_t, size_t, std::vector<ItemType>&)> cb)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:687,1
    - Dst: QVector<int>::isEmpty
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:691,1
    - Dst: std::sort
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:695,1
    - Dst: auto::begin
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:695,1
    - Dst: auto::end
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:695,1
    - Dst: QVector::push_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:703,1
    - Dst: QVector::back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:707,1
    - Dst: QVector::back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:708,1
    - Dst: QVector::push_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:710,1
    - Dst: items::resize
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:713,1
    - Dst: QVector<int>::size
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:713,1
    - Dst: getQueryParams
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:715,1
    - Dst: load
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:720,1
    - Dst: QVector<int>::size
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:721,1
    - Dst: items::at
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:726,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:726,1
    - Dst: auto::at
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:726,1
    - Dst: cb
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:733,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - offset
    - indexes
    - cb
    argTypes:
    - size_t
    - QVector<int>
    - MLBaseModel::ItemCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 735
    functionName: MLListCacheLoader::loadItemsTask
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached:
    - QVector::push_back
    - QVector::back
    - items::resize
    - QVector<int>::size
    - load
    - cb
    - items::at
    - QVector<int>::isEmpty
    - runOnMLThread
    - std::sort
    - auto::begin
    - std::move
    - getQueryParams
    - auto::at
    - auto::end
    linkageType: ''
    returnType: quint64
    signature: quint64 MLListCacheLoader::loadItemsTask(size_t offset, const QVector<int>
      &indexes, MLBaseModel::ItemCallback cb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:743,1
    - Dst: loadItemById
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:746,1
    - Dst: cb
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:752,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - itemId
    - cb
    argTypes:
    - MLItemId
    - std::function<void (size_t, ItemType&&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 754
    functionName: MLListCacheLoader::loadItemByIdTask
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached:
    - loadItemById
    - std::move
    - runOnMLThread
    - cb
    linkageType: ''
    returnType: size_t
    signature: size_t MLListCacheLoader::loadItemByIdTask(MLItemId itemId, std::function<void
      (size_t, ItemType&&)> cb) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QString::toUtf8
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - parentId
    - searchPattern
    - sort
    - sort_desc
    - fav_only
    argTypes:
    - MLItemId
    - QString
    - vlc_ml_sorting_criteria_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 763
    functionName: MLListCacheLoader::MLOp::MLOp(MLItemId parentId, QString searchPattern,
      vlc_ml_sorting_criteria_t sort, bool sort_desc, bool fav_only)
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached:
    - QString::toUtf8
    linkageType: ''
    returnType: void
    signature: void MLListCacheLoader::MLOp::MLOp(MLItemId parentId, QString searchPattern,
      vlc_ml_sorting_criteria_t sort, bool sort_desc, bool fav_only)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_query_params_create
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:767,1
    - Dst: isNull
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:768,1
    - Dst: constData
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp:769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - offset
    - limit
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 776
    functionName: MLListCacheLoader::MLOp::getQueryParams(size_t offset, size_t limit)
      const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.cpp
    functionUses: 0
    functionsReached:
    - constData
    - vlc_ml_query_params_create
    - isNull
    linkageType: ''
    returnType: vlc_ml_query_params_t
    signature: vlc_ml_query_params_t MLListCacheLoader::MLOp::getQueryParams(size_t
      offset, size_t limit) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ml_range_iterate
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmedia.cpp:39,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmedia.cpp:43,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmedia.cpp:44,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmedia.cpp:46,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmedia.cpp:48,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmedia.cpp:49,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmedia.cpp:55,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmedia.cpp:57,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmedia.cpp:59,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmedia.cpp:60,1
    - Dst: channelNameFromNbChannels
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmedia.cpp:66,1
    - Dst: resolutionNameFromSize
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmedia.cpp:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - vlc_ml_media_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 68
    functionName: MLPlaylistMedia::MLPlaylistMedia
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmedia.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - channelNameFromNbChannels
    - std::max
    - ml_range_iterate
    - qfu
    - resolutionNameFromSize
    linkageType: ''
    returnType: void
    signature: void MLPlaylistMedia::MLPlaylistMedia(const vlc_ml_media_t * data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: MLPlaylistMedia::isNew
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmedia.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MLPlaylistMedia::isNew() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' thumbnail'
    - status
    argTypes:
    - QString
    - vlc_ml_thumbnail_status_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: MLPlaylistMedia::setSmallCover
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmedia.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLPlaylistMedia::setSmallCover(const QString& thumbnail, vlc_ml_thumbnail_status_t
      status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: MLPlaylistMedia::getResolutionName
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmedia.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString MLPlaylistMedia::getResolutionName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: MLPlaylistMedia::getChannel
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmedia.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString MLPlaylistMedia::getChannel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmedia.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: MLPlaylistMedia::getMRLDisplay
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmedia.cpp
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: QString
    signature: QString MLPlaylistMedia::getMRLDisplay() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: MLPlaylistMedia::getVideo
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmedia.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QList<VideoDescription>
    signature: QList<VideoDescription> MLPlaylistMedia::getVideo() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: MLPlaylistMedia::getAudio
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmedia.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QList<AudioDescription>
    signature: QList<AudioDescription> MLPlaylistMedia::getAudio() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_query_params_create
      Src: /src/vlc/modules/gui/qt/medialibrary/mlqueryparams.cpp:5,1
    - Dst: isNull
      Src: /src/vlc/modules/gui/qt/medialibrary/mlqueryparams.cpp:6,1
    - Dst: constData
      Src: /src/vlc/modules/gui/qt/medialibrary/mlqueryparams.cpp:7,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 3
    functionDepth: 1
    functionLinenumber: 3
    functionLinenumberEnd: 13
    functionName: MLQueryParams::toCQueryParams
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlqueryparams.cpp
    functionUses: 0
    functionsReached:
    - constData
    - vlc_ml_query_params_create
    - isNull
    linkageType: ''
    returnType: vlc_ml_query_params_t
    signature: vlc_ml_query_params_t MLQueryParams::toCQueryParams() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - i
    - t
    argTypes:
    - int64_t
    - vlc_ml_parent_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: MLItemId::MLItemId
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlqmltypes.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLItemId( int64_t i, vlc_ml_parent_type t )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MLItemId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: operator==( const MLItemId& other ) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlqmltypes.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==( const MLItemId& other ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MLItemId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: operator!=( const MLItemId& other ) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlqmltypes.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=( const MLItemId& other ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MLItemId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: operator<( const MLItemId& other ) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlqmltypes.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<( const MLItemId& other ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: MLItemId::isValid
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlqmltypes.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE isValid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: MLItemId::hasParent
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlqmltypes.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE hasParent() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ML_PARENT_TYPE_CASE
      Src: /src/vlc/modules/gui/qt/medialibrary/mlqmltypes.hpp:77,1
    - Dst: ML_PARENT_TYPE_CASE
      Src: /src/vlc/modules/gui/qt/medialibrary/mlqmltypes.hpp:78,1
    - Dst: ML_PARENT_TYPE_CASE
      Src: /src/vlc/modules/gui/qt/medialibrary/mlqmltypes.hpp:79,1
    - Dst: ML_PARENT_TYPE_CASE
      Src: /src/vlc/modules/gui/qt/medialibrary/mlqmltypes.hpp:80,1
    - Dst: ML_PARENT_TYPE_CASE
      Src: /src/vlc/modules/gui/qt/medialibrary/mlqmltypes.hpp:81,1
    - Dst: ML_PARENT_TYPE_CASE
      Src: /src/vlc/modules/gui/qt/medialibrary/mlqmltypes.hpp:82,1
    - Dst: ML_PARENT_TYPE_CASE
      Src: /src/vlc/modules/gui/qt/medialibrary/mlqmltypes.hpp:83,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/medialibrary/mlqmltypes.hpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 88
    functionName: MLItemId::toString
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlqmltypes.hpp
    functionUses: 0
    functionsReached:
    - QString
    - ML_PARENT_TYPE_CASE
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: ML_PARENT_TYPE_CASE
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlqmltypes.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ML_PARENT_TYPE_CASE(type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: split
      Src: /src/vlc/modules/gui/qt/medialibrary/mlqmltypes.hpp:91,1
    - Dst: QList::length
      Src: /src/vlc/modules/gui/qt/medialibrary/mlqmltypes.hpp:92,1
    - Dst: trimmed
      Src: /src/vlc/modules/gui/qt/medialibrary/mlqmltypes.hpp:96,1
    - Dst: trimmed
      Src: /src/vlc/modules/gui/qt/medialibrary/mlqmltypes.hpp:98,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/medialibrary/mlqmltypes.hpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' serialized_id'
    argTypes:
    - QStringView
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 104
    functionName: MLItemId::fromString
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlqmltypes.hpp
    functionUses: 1
    functionsReached:
    - split
    - value
    - trimmed
    - QList::length
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE fromString(const QStringView& serialized_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qHashMulti
      Src: /src/vlc/modules/gui/qt/medialibrary/mlqmltypes.hpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' item'
    argTypes:
    - MLItemId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: qHash
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlqmltypes.hpp
    functionUses: 6
    functionsReached:
    - qHashMulti
    linkageType: ''
    returnType: size_t
    signature: size_t qHash(const MLItemId& item, size_t seed = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - MLItemId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: MLItem::MLItem
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlqmltypes.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLItem(MLItemId id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: ~MLItem()
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlqmltypes.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MLItem()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: MLItem::getId
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlqmltypes.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MLItemId
    signature: MLItemId getId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: ~MLArtistModel()
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MLArtistModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: MLVideoModel::MLVideoModel
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLVideoModel::MLVideoModel(QObject* parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MLVideo *>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:30,1
    - Dst: item
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:30,1
    - Dst: row
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:30,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:35,1
    - Dst: MLVideo*::getId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:37,1
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:40,1
    - Dst: vlc_ml_media_set_played
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:42,1
    - Dst: MLVideo*::setIsNew
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' index'
    - played
    argTypes:
    - QModelIndex
    - bool
    assertStmts:
    - condition: (m_mediaLib)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp
    constantsTouched: []
    func_position:
      end: 49
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 49
    functionName: MLVideoModel::setItemPlayed
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp
    functionUses: 0
    functionsReached:
    - item
    - assert
    - static_cast<MLVideo *>
    - vlc_ml_media_set_played
    - MLVideo*::setIsNew
    - row
    - runOnMLThread
    - MLVideo*::getId
    linkageType: ''
    returnType: void
    signature: void MLVideoModel::setItemPlayed(const QModelIndex & index, bool played)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MLVideo *>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:53,1
    - Dst: MLMediaModel::itemRoleData
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:60,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:62,1
    - Dst: auto::isNew
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:62,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:64,1
    - Dst: auto::getResolutionName
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:64,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:66,1
    - Dst: auto::getChannel
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:66,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:68,1
    - Dst: auto::getDisplayMRL
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:68,1
    - Dst: getVariantList
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:70,1
    - Dst: auto::getVideoDesc
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:70,1
    - Dst: getVariantList
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:72,1
    - Dst: auto::getAudioDesc
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:72,1
    - Dst: getVariantList
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:74,1
    - Dst: auto::getSubtitleDesc
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:74,1
    - Dst: MLMediaModel::itemRoleData
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - item
    - role
    argTypes:
    - MLItem*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 80
    functionName: MLVideoModel::itemRoleData
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp
    functionUses: 0
    functionsReached:
    - auto::getVideoDesc
    - auto::getChannel
    - MLMediaModel::itemRoleData
    - static_cast<const MLVideo *>
    - auto::isNew
    - getVariantList
    - auto::getAudioDesc
    - auto::getDisplayMRL
    - auto::getSubtitleDesc
    - fromValue
    - auto::getResolutionName
    linkageType: ''
    returnType: QVariant
    signature: QVariant MLVideoModel::itemRoleData(const MLItem *item, int role) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MLMediaModel::roleNames
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:84,1
    - Dst: QHash::insert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:86,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:87,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:88,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:89,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:90,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:91,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:92,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:93,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 98
    functionName: MLVideoModel::roleNames
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp
    functionUses: 0
    functionsReached:
    - QByteArrayLiteral
    - QHash::insert
    - MLMediaModel::roleNames
    linkageType: ''
    returnType: QHash<int, QByteArray>
    signature: QHash<int, QByteArray> MLVideoModel::roleNames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:103,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:104,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:105,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:106,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - QByteArray
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: MLVideoModel::nameToCriteria
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp
    functionUses: 0
    functionsReached:
    - value
    - QByteArrayLiteral
    linkageType: ''
    returnType: vlc_ml_sorting_criteria_t
    signature: vlc_ml_sorting_criteria_t MLVideoModel::nameToCriteria(QByteArray name)
      const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: updateItemInCache
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:130,1
    - Dst: deleteItemInCache
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:137,1
    - Dst: MLBaseModel::onVlcMlEvent
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - event
    argTypes:
    - MLEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 146
    functionName: MLVideoModel::onVlcMlEvent
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp
    functionUses: 1
    functionsReached:
    - MLBaseModel::onVlcMlEvent
    - deleteItemInCache
    - updateItemInCache
    linkageType: ''
    returnType: void
    signature: void MLVideoModel::onVlcMlEvent(const MLEvent &event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MLVideo*>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:150,1
    - Dst: auto::setSmallCover
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' idx'
    - mlitem
    - ' mrl'
    - status
    argTypes:
    - QModelIndex
    - MLItem*
    - QString
    - vlc_ml_thumbnail_status_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: MLVideoModel::thumbnailUpdated
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp
    functionUses: 0
    functionsReached:
    - static_cast<MLVideo*>
    - auto::setSmallCover
    linkageType: ''
    returnType: void
    signature: void MLVideoModel::thumbnailUpdated(const QModelIndex& idx, MLItem*
      mlitem, const QString& mrl, vlc_ml_thumbnail_status_t status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:157,1
    - Dst: vlc_ml_media_generate_thumbnail
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: MLVideoModel::generateThumbnail
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp
    functionUses: 0
    functionsReached:
    - vlc_ml_media_generate_thumbnail
    - runOnMLThread
    linkageType: ''
    returnType: void
    signature: void MLVideoModel::generateThumbnail(uint64_t id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MLListCacheLoader>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:167,1
    - Dst: std::make_shared<MLVideoModel::Loader>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: MLVideoModel::createMLLoader
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<MLVideoModel::Loader>
    - std::make_unique<MLListCacheLoader>
    linkageType: ''
    returnType: std::unique_ptr<MLListCacheLoader>
    signature: std::unique_ptr<MLListCacheLoader> MLVideoModel::createMLLoader() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_count_video_media
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:175,1
    - Dst: vlc_ml_count_video_of
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ml
    - queryParams
    argTypes:
    - vlc_medialibrary_t*
    - vlc_ml_query_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: MLVideoModel::Loader::count(vlc_medialibrary_t* ml, const vlc_ml_query_params_t*
      queryParams) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp
    functionUses: 0
    functionsReached:
    - vlc_ml_count_video_media
    - vlc_ml_count_video_of
    linkageType: ''
    returnType: size_t
    signature: size_t MLVideoModel::Loader::count(vlc_medialibrary_t* ml, const vlc_ml_query_params_t*
      queryParams) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ml_unique_ptr::reset
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:188,1
    - Dst: vlc_ml_list_video_media
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:188,1
    - Dst: ml_unique_ptr::reset
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:190,1
    - Dst: vlc_ml_list_video_of
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:190,1
    - Dst: ml_range_iterate
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:197,1
    - Dst: std::vector::emplace_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:199,1
    - Dst: std::make_unique<MLVideo>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ml
    - queryParams
    argTypes:
    - vlc_medialibrary_t*
    - vlc_ml_query_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 203
    functionName: MLVideoModel::Loader::load(vlc_medialibrary_t* ml, const vlc_ml_query_params_t*
      queryParams) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - vlc_ml_list_video_media
    - std::make_unique<MLVideo>
    - ml_unique_ptr::reset
    - ml_range_iterate
    - vlc_ml_list_video_of
    linkageType: ''
    returnType: std::vector<std::unique_ptr<MLItem>>
    signature: std::vector<std::unique_ptr<MLItem>> MLVideoModel::Loader::load(vlc_medialibrary_t*
      ml, const vlc_ml_query_params_t* queryParams) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:208,1
    - Dst: vlc_ml_get_media
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:209,1
    - Dst: std::make_unique<MLVideo>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:212,1
    - Dst: ml_unique_ptr::get
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ml
    - itemId
    argTypes:
    - vlc_medialibrary_t*
    - MLItemId
    assertStmts:
    - condition: (itemId.type == VLC_ML_PARENT_UNKNOWN)
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp
    constantsTouched: []
    func_position:
      end: 213
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 213
    functionName: MLVideoModel::Loader::loadItemById(vlc_medialibrary_t* ml, MLItemId
      itemId) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<MLVideo>
    - assert
    - ml_unique_ptr::get
    - vlc_ml_get_media
    linkageType: ''
    returnType: std::unique_ptr<MLItem>
    signature: std::unique_ptr<MLItem> MLVideoModel::Loader::loadItemById(vlc_medialibrary_t*
      ml, MLItemId itemId) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/medialibrary/mlqueryparams.hpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - searchPatternUtf8
    - sort
    - desc
    - index
    - count
    argTypes:
    - QByteArray
    - vlc_ml_sorting_criteria_t
    - bool
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: MLQueryParams::MLQueryParams
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlqueryparams.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void MLQueryParams(QByteArray searchPatternUtf8, vlc_ml_sorting_criteria_t
      sort,\n                  bool desc, size_t index, size_t count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/medialibrary/mlqueryparams.hpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - patternUtf8
    - sort
    - desc
    argTypes:
    - QByteArray
    - vlc_ml_sorting_criteria_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: MLQueryParams::MLQueryParams
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlqueryparams.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void MLQueryParams(QByteArray patternUtf8, vlc_ml_sorting_criteria_t
      sort,\n                  bool desc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: MLBaseModel::nameToCriteria
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: vlc_ml_sorting_criteria_t
    signature: vlc_ml_sorting_criteria_t nameToCriteria(QByteArray /* name */) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: MLBaseModel::thumbnailUpdated
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void thumbnailUpdated(const QModelIndex& , MLItem* , const QString&
      , vlc_ml_thumbnail_status_t )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parentId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.hpp:188,1
    - Dst: searchPattern
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.hpp:188,1
    - Dst: getMLSortingCriteria
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.hpp:188,1
    - Dst: getSortOrder
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.hpp:188,1
    - Dst: getFavoriteOnly
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.hpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' model'
    argTypes:
    - MLBaseModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: MLBaseModel::MLListCacheLoader::MLOp
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.hpp
    functionUses: 0
    functionsReached:
    - getMLSortingCriteria
    - parentId
    - getSortOrder
    - getFavoriteOnly
    - searchPattern
    linkageType: ''
    returnType: void
    signature: void MLOp(const MLBaseModel& model)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: ~MLOp()
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MLOp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 207
    functionName: ~MLListCacheLoader()
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbasemodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MLListCacheLoader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ~MLRecentVideoModel()
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlrecentvideomodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MLRecentVideoModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MLItemId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenre.cpp:22,1
    - Dst: QString::fromUtf8
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenre.cpp:23,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlgenre.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _data
    argTypes:
    - vlc_ml_genre_t*
    assertStmts:
    - condition: (_data)
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlgenre.cpp
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: MLGenre::MLGenre
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlgenre.cpp
    functionUses: 0
    functionsReached:
    - QString::fromUtf8
    - assert
    - MLItemId
    linkageType: ''
    returnType: void
    signature: void MLGenre::MLGenre(const vlc_ml_genre_t *_data )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: MLGenre::getName
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlgenre.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString MLGenre::getName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: MLGenre::getNbTracks
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlgenre.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int MLGenre::getNbTracks() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: ~MLFoldersBaseModel()
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MLFoldersBaseModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: MLFoldersBaseModel::getCtx
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MainCtx
    signature: MainCtx * getCtx()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MLItemId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylist.cpp:30,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylist.cpp:31,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylist.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - vlc_ml_playlist_t*
    assertStmts:
    - condition: (data)
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlplaylist.cpp
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: MLPlaylist::MLPlaylist
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylist.cpp
    functionUses: 0
    functionsReached:
    - assert
    - qfu
    - MLItemId
    linkageType: ''
    returnType: void
    signature: void MLPlaylist::MLPlaylist(const vlc_ml_playlist_t * data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: MLPlaylist::getName
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylist.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString MLPlaylist::getName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: MLPlaylist::setName
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylist.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLPlaylist::setName(const QString & name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLCDuration::fromMS
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylist.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: MLPlaylist::getDuration
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylist.cpp
    functionUses: 0
    functionsReached:
    - VLCDuration::fromMS
    linkageType: ''
    returnType: VLCDuration
    signature: VLCDuration MLPlaylist::getDuration() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: MLPlaylist::getCount
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylist.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int MLPlaylist::getCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: MLPlaylist::getNbAudio
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylist.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int MLPlaylist::getNbAudio() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: MLPlaylist::getNbVideo
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylist.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int MLPlaylist::getNbVideo() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: MLPlaylist::getNbUnknown
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylist.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int MLPlaylist::getNbUnknown() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: ThumbnailCollector::allGenerated
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/thumbnailcollector.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QHash<int64_t, QString>
    signature: QHash<int64_t, QString> allGenerated()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/thumbnailcollector.cpp:29,1
    - Dst: unregisterEventListener
      Src: /src/vlc/modules/gui/qt/medialibrary/thumbnailcollector.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts:
    - condition: (m_ml)
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/vlc/modules/gui/qt/medialibrary/thumbnailcollector.cpp
    constantsTouched: []
    func_position:
      end: 34
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 34
    functionName: ThumbnailCollector::ThumbnailCollector
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/thumbnailcollector.cpp
    functionUses: 0
    functionsReached:
    - unregisterEventListener
    - assert
    linkageType: ''
    returnType: void
    signature: void ThumbnailCollector::ThumbnailCollector(QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/thumbnailcollector.cpp:38,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/medialibrary/thumbnailcollector.cpp:40,1
    - Dst: MediaLib*::registerEventListener
      Src: /src/vlc/modules/gui/qt/medialibrary/thumbnailcollector.cpp:40,1
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/thumbnailcollector.cpp:43,1
    - Dst: vlc_ml_media_generate_thumbnail
      Src: /src/vlc/modules/gui/qt/medialibrary/thumbnailcollector.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ml
    - mlIds
    argTypes:
    - MediaLib*
    - QSet<int64_t>
    assertStmts:
    - condition: (!m_ml)
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/vlc/modules/gui/qt/medialibrary/thumbnailcollector.cpp
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: ThumbnailCollector::start
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/thumbnailcollector.cpp
    functionUses: 0
    functionsReached:
    - assert
    - vlc_ml_media_generate_thumbnail
    - reset
    - runOnMLThread
    - MediaLib*::registerEventListener
    linkageType: ''
    returnType: void
    signature: void ThumbnailCollector::start(MediaLib *ml, const QSet<int64_t> &mlIds)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ThumbnailCollector *>
      Src: /src/vlc/modules/gui/qt/medialibrary/thumbnailcollector.cpp:63,1
    - Dst: mediaID
      Src: /src/vlc/modules/gui/qt/medialibrary/thumbnailcollector.cpp:66,1
    - Dst: auto::m_pending::contains
      Src: /src/vlc/modules/gui/qt/medialibrary/thumbnailcollector.cpp:67,1
    - Dst: auto::m_pending::remove
      Src: /src/vlc/modules/gui/qt/medialibrary/thumbnailcollector.cpp:70,1
    - Dst: toValidLocalFile
      Src: /src/vlc/modules/gui/qt/medialibrary/thumbnailcollector.cpp:75,1
    - Dst: auto::isEmpty
      Src: /src/vlc/modules/gui/qt/medialibrary/thumbnailcollector.cpp:77,1
    - Dst: auto::m_thumbnails::insert
      Src: /src/vlc/modules/gui/qt/medialibrary/thumbnailcollector.cpp:78,1
    - Dst: qDebug
      Src: /src/vlc/modules/gui/qt/medialibrary/thumbnailcollector.cpp:80,1
    - Dst: qUtf8Printable
      Src: /src/vlc/modules/gui/qt/medialibrary/thumbnailcollector.cpp:80,1
    - Dst: auto::m_pending::empty
      Src: /src/vlc/modules/gui/qt/medialibrary/thumbnailcollector.cpp:84,1
    - Dst: auto::finished
      Src: /src/vlc/modules/gui/qt/medialibrary/thumbnailcollector.cpp:85,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - data
    - event
    argTypes:
    - void*
    - vlc_ml_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 86
    functionName: ThumbnailCollector::onVlcMLEvent
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/thumbnailcollector.cpp
    functionUses: 0
    functionsReached:
    - auto::isEmpty
    - auto::m_pending::remove
    - auto::m_thumbnails::insert
    - qUtf8Printable
    - reinterpret_cast<ThumbnailCollector *>
    - auto::m_pending::contains
    - auto::m_pending::empty
    - toValidLocalFile
    - qDebug
    - mediaID
    - auto::finished
    linkageType: ''
    returnType: void
    signature: void ThumbnailCollector::onVlcMLEvent(void *data, const vlc_ml_event_t
      *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: MLMediaStore::~MLMediaStore()
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLMediaStore::~MLMediaStore()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp:37,1
    - Dst: unregisterEventListener
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp:38,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp:41,1
    - Dst: registerEventListener
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ml
    - parent
    argTypes:
    - MediaLib*
    - QObject*
    assertStmts:
    - condition: ( m_ml != nullptr )
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: MLMediaStore::MLMediaStore
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp
    functionUses: 1
    functionsReached:
    - registerEventListener
    - unregisterEventListener
    - assert
    - reset
    linkageType: ''
    returnType: void
    signature: void MLMediaStore::MLMediaStore(MediaLib *ml, QObject *parent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MLMediaStore::insert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp:54,1
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp:56,1
    - Dst: vlc_ml_get_media_by_mrl
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp:60,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp:60,1
    - Dst: MLMedia
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp:62,1
    - Dst: ml_unique_ptr::get
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp:62,1
    - Dst: media::valid
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp:67,1
    - Dst: MLMediaStore::setMedia
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp:70,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - mrl
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 72
    functionName: MLMediaStore::insert
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp
    functionUses: 1
    functionsReached:
    - MLMediaStore::setMedia
    - media::valid
    - ml_unique_ptr::get
    - vlc_ml_get_media_by_mrl
    - qtu
    - runOnMLThread
    - std::move
    - MLMedia
    - MLMediaStore::insert
    linkageType: ''
    returnType: void
    signature: void MLMediaStore::insert(const QString &mrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp:76,1
    - Dst: MLMediaStore::remove
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp:81,1
    - Dst: MLMediaStore::remove
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - id
    argTypes:
    - MLItemId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: MLMediaStore::remove
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp
    functionUses: 1
    functionsReached:
    - MLMediaStore::remove
    - contains
    linkageType: ''
    returnType: void
    signature: void MLMediaStore::remove(const MLItemId &id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MLMediaStore::clear
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: MLMediaStore::clear
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp
    functionUses: 1
    functionsReached:
    - MLMediaStore::clear
    linkageType: ''
    returnType: void
    signature: void MLMediaStore::clear()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MLMediaStore*>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp:92,1
    - Dst: ml_range_iterate
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp:99,1
    - Dst: QString::fromUtf8
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp:103,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp:108,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp:112,1
    - Dst: auto::setMedia
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp:114,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp:123,1
    - Dst: auto::update
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp:125,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp:134,1
    - Dst: auto::remove
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp:136,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - data
    - event
    argTypes:
    - void*
    - vlc_ml_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 145
    functionName: MLMediaStore::onVlcMlEvent
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp
    functionUses: 0
    functionsReached:
    - QString::fromUtf8
    - auto::update
    - QString::isEmpty
    - auto::setMedia
    - auto::remove
    - ml_range_iterate
    - static_cast<MLMediaStore*>
    - QMetaObject::invokeMethod
    linkageType: ''
    returnType: void
    signature: void MLMediaStore::onVlcMlEvent(void *data, const vlc_ml_event_t *event)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp:149,1
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp:157,1
    - Dst: vlc_ml_get_media
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp:161,1
    - Dst: MLMedia
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp:162,1
    - Dst: ml_unique_ptr::get
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp:162,1
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - id
    argTypes:
    - MLItemId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 174
    functionName: MLMediaStore::update
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp
    functionUses: 0
    functionsReached:
    - ml_unique_ptr::get
    - runOnMLThread
    - MLMedia
    - vlc_ml_get_media
    - contains
    linkageType: ''
    returnType: void
    signature: void MLMediaStore::update(const MLItemId &id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp:178,1
    - Dst: MLMedia::getId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - mrl
    - media
    argTypes:
    - QString
    - MLMedia
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 183
    functionName: MLMediaStore::setMedia
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmediastore.cpp
    functionUses: 1
    functionsReached:
    - MLMedia::getId
    - contains
    linkageType: ''
    returnType: void
    signature: void MLMediaStore::setMedia(const QString &mrl, MLMedia media)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: MLPlaylistListModel::transactionPending
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool transactionPending() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: MLAudioModel::MLAudioModel
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLAudioModel::MLAudioModel(QObject *parent)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MLAudio *>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:28,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:29,1
    - Dst: MLMediaModel::itemRoleData
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:34,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:36,1
    - Dst: MLAudio*::getTrackNumber
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:36,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:38,1
    - Dst: MLAudio*::getDiscNumber
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:38,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:40,1
    - Dst: MLAudio*::getArtist
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:40,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:42,1
    - Dst: getFirstSymbol
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:42,1
    - Dst: MLAudio*::getArtist
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:42,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:44,1
    - Dst: MLAudio*::getAlbumTitle
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:44,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:46,1
    - Dst: getFirstSymbol
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:46,1
    - Dst: MLAudio*::getAlbumTitle
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:46,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:48,1
    - Dst: MLAudio*::getAlbumId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:48,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:50,1
    - Dst: MLAudio*::getAlbumId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:50,1
    - Dst: MLMediaModel::itemRoleData
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 2
    argNames:
    - item
    - role
    argTypes:
    - MLItem*
    - int
    assertStmts:
    - condition: ( audio )
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp
    constantsTouched: []
    func_position:
      end: 56
      start: 26
    functionDepth: 3
    functionLinenumber: 26
    functionLinenumberEnd: 56
    functionName: MLAudioModel::itemRoleData
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp
    functionUses: 0
    functionsReached:
    - assert
    - MLMediaModel::itemRoleData
    - MLAudio*::getAlbumTitle
    - MLAudio*::getArtist
    - MLAudio*::getDiscNumber
    - MLAudio*::getAlbumId
    - MLAudio*::getTrackNumber
    - fromValue
    - static_cast<const MLAudio *>
    - getFirstSymbol
    linkageType: ''
    returnType: QVariant
    signature: QVariant MLAudioModel::itemRoleData(const MLItem *item, const int role)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MLMediaModel::roleNames
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:60,1
    - Dst: QHash::insert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:62,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:63,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:64,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:65,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:66,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:67,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:68,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:69,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:70,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 75
    functionName: MLAudioModel::roleNames
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp
    functionUses: 0
    functionsReached:
    - QByteArrayLiteral
    - QHash::insert
    - MLMediaModel::roleNames
    linkageType: ''
    returnType: QHash<int, QByteArray>
    signature: QHash<int, QByteArray> MLAudioModel::roleNames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:80,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:81,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:82,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:83,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:84,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:85,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:86,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:87,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - QByteArray
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: MLAudioModel::nameToCriteria
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp
    functionUses: 0
    functionsReached:
    - value
    - QByteArrayLiteral
    linkageType: ''
    returnType: vlc_ml_sorting_criteria_t
    signature: vlc_ml_sorting_criteria_t MLAudioModel::nameToCriteria(QByteArray name)
      const
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: resetRequested
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:97,1
    - Dst: updateItemInCache
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:102,1
    - Dst: deleteItemInCache
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:108,1
    - Dst: resetRequested
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:114,1
    - Dst: resetRequested
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:119,1
    - Dst: resetRequested
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:124,1
    - Dst: MLBaseModel::onVlcMlEvent
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:128,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - event
    argTypes:
    - MLEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 129
    functionName: MLAudioModel::onVlcMlEvent
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp
    functionUses: 0
    functionsReached:
    - MLBaseModel::onVlcMlEvent
    - deleteItemInCache
    - updateItemInCache
    - resetRequested
    linkageType: ''
    returnType: void
    signature: void MLAudioModel::onVlcMlEvent(const MLEvent &event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MLListCacheLoader>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:134,1
    - Dst: std::make_shared<MLAudioModel::Loader>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: MLAudioModel::createMLLoader
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<MLAudioModel::Loader>
    - std::make_unique<MLListCacheLoader>
    linkageType: ''
    returnType: std::unique_ptr<MLListCacheLoader>
    signature: std::unique_ptr<MLListCacheLoader> MLAudioModel::createMLLoader() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_count_audio_media
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:140,1
    - Dst: vlc_ml_count_media_of
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ml
    - queryParams
    argTypes:
    - vlc_medialibrary_t*
    - vlc_ml_query_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: MLAudioModel::Loader::count(vlc_medialibrary_t* ml, const vlc_ml_query_params_t*
      queryParams) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp
    functionUses: 0
    functionsReached:
    - vlc_ml_count_audio_media
    - vlc_ml_count_media_of
    linkageType: ''
    returnType: size_t
    signature: size_t MLAudioModel::Loader::count(vlc_medialibrary_t* ml, const vlc_ml_query_params_t*
      queryParams) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ml_unique_ptr::reset
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:150,1
    - Dst: vlc_ml_list_audio_media
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:150,1
    - Dst: ml_unique_ptr::reset
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:152,1
    - Dst: vlc_ml_list_media_of
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:152,1
    - Dst: ml_range_iterate
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:156,1
    - Dst: std::vector::emplace_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:157,1
    - Dst: std::make_unique<MLAudio>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ml
    - queryParams
    argTypes:
    - vlc_medialibrary_t*
    - vlc_ml_query_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 159
    functionName: MLAudioModel::Loader::load(vlc_medialibrary_t* ml, const vlc_ml_query_params_t*
      queryParams) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - vlc_ml_list_media_of
    - vlc_ml_list_audio_media
    - ml_unique_ptr::reset
    - ml_range_iterate
    - std::make_unique<MLAudio>
    linkageType: ''
    returnType: std::vector<std::unique_ptr<MLItem>>
    signature: std::vector<std::unique_ptr<MLItem>> MLAudioModel::Loader::load(vlc_medialibrary_t*
      ml, const vlc_ml_query_params_t* queryParams) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:164,1
    - Dst: vlc_ml_get_media
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:165,1
    - Dst: std::make_unique<MLAudio>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:168,1
    - Dst: ml_unique_ptr::get
      Src: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ml
    - itemId
    argTypes:
    - vlc_medialibrary_t*
    - MLItemId
    assertStmts:
    - condition: (itemId.type == VLC_ML_PARENT_UNKNOWN)
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp
    constantsTouched: []
    func_position:
      end: 169
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 169
    functionName: MLAudioModel::Loader::loadItemById(vlc_medialibrary_t* ml, MLItemId
      itemId) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.cpp
    functionUses: 0
    functionsReached:
    - assert
    - ml_unique_ptr::get
    - std::make_unique<MLAudio>
    - vlc_ml_get_media
    linkageType: ''
    returnType: std::unique_ptr<MLItem>
    signature: std::unique_ptr<MLItem> MLAudioModel::Loader::loadItemById(vlc_medialibrary_t*
      ml, MLItemId itemId) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: MLAlbumModel::MLAlbumModel
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLAlbumModel::MLAlbumModel(QObject *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:32,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:33,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:34,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:35,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:36,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:37,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:38,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:39,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:40,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: MLAlbumModel::roleNames
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp
    functionUses: 0
    functionsReached:
    - QByteArrayLiteral
    linkageType: ''
    returnType: QHash<int, QByteArray>
    signature: QHash<int, QByteArray> MLAlbumModel::roleNames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:48,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:49,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:50,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:51,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:53,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - QByteArray
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: MLAlbumModel::nameToCriteria
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp
    functionUses: 0
    functionsReached:
    - value
    - QByteArrayLiteral
    linkageType: ''
    returnType: vlc_ml_sorting_criteria_t
    signature: vlc_ml_sorting_criteria_t MLAlbumModel::nameToCriteria(QByteArray name)
      const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: deleteItemInCache
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:69,1
    - Dst: updateItemInCache
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:75,1
    - Dst: resetRequested
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:81,1
    - Dst: resetRequested
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:86,1
    - Dst: MLBaseModel::onVlcMlEvent
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:92,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - event
    argTypes:
    - MLEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 93
    functionName: MLAlbumModel::onVlcMlEvent
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp
    functionUses: 0
    functionsReached:
    - MLBaseModel::onVlcMlEvent
    - deleteItemInCache
    - updateItemInCache
    - resetRequested
    linkageType: ''
    returnType: void
    signature: void MLAlbumModel::onVlcMlEvent(const MLEvent &event)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MLAlbum *>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:97,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:98,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:103,1
    - Dst: auto::getId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:103,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:105,1
    - Dst: auto::getTitle
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:105,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:107,1
    - Dst: auto::getReleaseYear
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:107,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:109,1
    - Dst: auto::getShortSummary
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:109,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:111,1
    - Dst: auto::getCover
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:111,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:113,1
    - Dst: auto::getArtist
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:113,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:115,1
    - Dst: auto::getNbTracks
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:115,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:117,1
    - Dst: auto::getDuration
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:117,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:119,1
    - Dst: getFirstSymbol
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:119,1
    - Dst: auto::getTitle
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:119,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:121,1
    - Dst: getFirstSymbol
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:121,1
    - Dst: auto::getArtist
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:121,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 2
    argNames:
    - item
    - role
    argTypes:
    - MLItem*
    - int
    assertStmts:
    - condition: (ml_item)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp
    constantsTouched: []
    func_position:
      end: 125
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 125
    functionName: MLAlbumModel::itemRoleData
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp
    functionUses: 0
    functionsReached:
    - auto::getTitle
    - auto::getId
    - assert
    - static_cast<const MLAlbum *>
    - QVariant
    - auto::getNbTracks
    - auto::getDuration
    - auto::getShortSummary
    - auto::getCover
    - fromValue
    - auto::getReleaseYear
    - auto::getArtist
    - getFirstSymbol
    linkageType: ''
    returnType: QVariant
    signature: QVariant MLAlbumModel::itemRoleData(const MLItem *item, const int role)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MLListCacheLoader>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:130,1
    - Dst: std::make_shared<MLAlbumModel::Loader>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: MLAlbumModel::createMLLoader
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<MLAlbumModel::Loader>
    - std::make_unique<MLListCacheLoader>
    linkageType: ''
    returnType: std::unique_ptr<MLListCacheLoader>
    signature: std::unique_ptr<MLListCacheLoader> MLAlbumModel::createMLLoader() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_count_albums
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:136,1
    - Dst: vlc_ml_count_albums_of
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ml
    - query
    argTypes:
    - vlc_medialibrary_t*
    - vlc_ml_query_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: MLAlbumModel::Loader::count(vlc_medialibrary_t* ml, const vlc_ml_query_params_t*
      query) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp
    functionUses: 0
    functionsReached:
    - vlc_ml_count_albums
    - vlc_ml_count_albums_of
    linkageType: ''
    returnType: size_t
    signature: size_t MLAlbumModel::Loader::count(vlc_medialibrary_t* ml, const vlc_ml_query_params_t*
      query) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ml_unique_ptr::reset
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:145,1
    - Dst: vlc_ml_list_albums
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:145,1
    - Dst: ml_unique_ptr::reset
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:147,1
    - Dst: vlc_ml_list_albums_of
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:147,1
    - Dst: ml_range_iterate
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:151,1
    - Dst: std::vector::emplace_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:152,1
    - Dst: std::make_unique<MLAlbum>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ml
    - query
    argTypes:
    - vlc_medialibrary_t*
    - vlc_ml_query_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 154
    functionName: MLAlbumModel::Loader::load(vlc_medialibrary_t* ml, const vlc_ml_query_params_t*
      query) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - vlc_ml_list_albums_of
    - std::make_unique<MLAlbum>
    - ml_unique_ptr::reset
    - ml_range_iterate
    - vlc_ml_list_albums
    linkageType: ''
    returnType: std::vector<std::unique_ptr<MLItem>>
    signature: std::vector<std::unique_ptr<MLItem>> MLAlbumModel::Loader::load(vlc_medialibrary_t*
      ml, const vlc_ml_query_params_t* query) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:159,1
    - Dst: vlc_ml_get_album
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:160,1
    - Dst: std::make_unique<MLAlbum>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:163,1
    - Dst: ml_unique_ptr::get
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ml
    - itemId
    argTypes:
    - vlc_medialibrary_t*
    - MLItemId
    assertStmts:
    - condition: (itemId.type == VLC_ML_PARENT_ALBUM)
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp
    constantsTouched: []
    func_position:
      end: 164
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 164
    functionName: MLAlbumModel::Loader::loadItemById(vlc_medialibrary_t* ml, MLItemId
      itemId) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.cpp
    functionUses: 0
    functionsReached:
    - assert
    - std::make_unique<MLAlbum>
    - vlc_ml_get_album
    - ml_unique_ptr::get
    linkageType: ''
    returnType: std::unique_ptr<MLItem>
    signature: std::unique_ptr<MLItem> MLAlbumModel::Loader::loadItemById(vlc_medialibrary_t*
      ml, MLItemId itemId) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: MLArtistModel::MLArtistModel
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLArtistModel::MLArtistModel(QObject *parent)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MLArtist *>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:28,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:29,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:34,1
    - Dst: MLArtist*::getId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:34,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:36,1
    - Dst: MLArtist*::getName
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:36,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:38,1
    - Dst: MLArtist*::getShortBio
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:38,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:40,1
    - Dst: MLArtist*::getCover
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:40,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:42,1
    - Dst: MLArtist*::getNbAlbums
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:42,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:44,1
    - Dst: MLArtist*::getNbTracks
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:44,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - item
    - role
    argTypes:
    - MLItem*
    - int
    assertStmts:
    - condition: ( ml_artist )
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp
    constantsTouched: []
    func_position:
      end: 48
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 48
    functionName: MLArtistModel::itemRoleData
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp
    functionUses: 0
    functionsReached:
    - MLArtist*::getCover
    - QVariant
    - assert
    - static_cast<const MLArtist *>
    - MLArtist*::getId
    - MLArtist*::getShortBio
    - MLArtist*::getNbAlbums
    - MLArtist*::getName
    - fromValue
    - MLArtist*::getNbTracks
    linkageType: ''
    returnType: QVariant
    signature: QVariant MLArtistModel::itemRoleData(const MLItem *item, const int
      role) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:53,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:54,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:55,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:56,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:57,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: MLArtistModel::roleNames
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp
    functionUses: 0
    functionsReached:
    - QByteArrayLiteral
    linkageType: ''
    returnType: QHash<int, QByteArray>
    signature: QHash<int, QByteArray> MLArtistModel::roleNames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:65,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:66,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - QByteArray
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: MLArtistModel::nameToCriteria
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp
    functionUses: 0
    functionsReached:
    - value
    - QByteArrayLiteral
    linkageType: ''
    returnType: vlc_ml_sorting_criteria_t
    signature: vlc_ml_sorting_criteria_t MLArtistModel::nameToCriteria(QByteArray
      name) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: updateItemInCache
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:80,1
    - Dst: deleteItemInCache
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:86,1
    - Dst: resetRequested
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:92,1
    - Dst: MLBaseModel::onVlcMlEvent
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - event
    argTypes:
    - MLEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 97
    functionName: MLArtistModel::onVlcMlEvent
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp
    functionUses: 0
    functionsReached:
    - MLBaseModel::onVlcMlEvent
    - deleteItemInCache
    - updateItemInCache
    - resetRequested
    linkageType: ''
    returnType: void
    signature: void MLArtistModel::onVlcMlEvent(const MLEvent &event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MLListCacheLoader>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:102,1
    - Dst: std::make_shared<MLArtistModel::Loader>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: MLArtistModel::createMLLoader
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<MLArtistModel::Loader>
    - std::make_unique<MLListCacheLoader>
    linkageType: ''
    returnType: std::unique_ptr<MLListCacheLoader>
    signature: std::unique_ptr<MLListCacheLoader> MLArtistModel::createMLLoader()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_count_artists
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:108,1
    - Dst: vlc_ml_count_artists_of
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ml
    - queryParams
    argTypes:
    - vlc_medialibrary_t*
    - vlc_ml_query_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: MLArtistModel::Loader::count(vlc_medialibrary_t* ml, const vlc_ml_query_params_t*
      queryParams) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp
    functionUses: 0
    functionsReached:
    - vlc_ml_count_artists_of
    - vlc_ml_count_artists
    linkageType: ''
    returnType: size_t
    signature: size_t MLArtistModel::Loader::count(vlc_medialibrary_t* ml, const vlc_ml_query_params_t*
      queryParams) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ml_unique_ptr::reset
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:117,1
    - Dst: vlc_ml_list_artists
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:117,1
    - Dst: ml_unique_ptr::reset
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:119,1
    - Dst: vlc_ml_list_artist_of
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:119,1
    - Dst: ml_range_iterate
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:123,1
    - Dst: std::vector::emplace_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:124,1
    - Dst: std::make_unique<MLArtist>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ml
    - queryParams
    argTypes:
    - vlc_medialibrary_t*
    - vlc_ml_query_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 126
    functionName: MLArtistModel::Loader::load(vlc_medialibrary_t* ml, const vlc_ml_query_params_t*
      queryParams) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - vlc_ml_list_artists
    - ml_unique_ptr::reset
    - vlc_ml_list_artist_of
    - ml_range_iterate
    - std::make_unique<MLArtist>
    linkageType: ''
    returnType: std::vector<std::unique_ptr<MLItem>>
    signature: std::vector<std::unique_ptr<MLItem>> MLArtistModel::Loader::load(vlc_medialibrary_t*
      ml, const vlc_ml_query_params_t* queryParams) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:131,1
    - Dst: vlc_ml_get_artist
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:132,1
    - Dst: std::make_unique<MLArtist>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:135,1
    - Dst: ml_unique_ptr::get
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ml
    - itemId
    argTypes:
    - vlc_medialibrary_t*
    - MLItemId
    assertStmts:
    - condition: (itemId.type == VLC_ML_PARENT_ARTIST)
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: MLArtistModel::Loader::loadItemById(vlc_medialibrary_t* ml, MLItemId
      itemId) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlartistmodel.cpp
    functionUses: 0
    functionsReached:
    - assert
    - std::make_unique<MLArtist>
    - ml_unique_ptr::get
    - vlc_ml_get_artist
    linkageType: ''
    returnType: std::unique_ptr<MLItem>
    signature: std::unique_ptr<MLItem> MLArtistModel::Loader::loadItemById(vlc_medialibrary_t*
      ml, MLItemId itemId) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: VideoDescription::VideoDescription
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideo.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VideoDescription()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: AudioDescription::AudioDescription
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideo.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AudioDescription()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: SubtitleDescription::SubtitleDescription
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideo.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SubtitleDescription()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: ~MLVideoModel()
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideomodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MLVideoModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:27,1
    - Dst: setServiceLevel
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:29,1
    - Dst: ThreadRunner::setMaxThreadCount
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:36,1
    - Dst: std::clamp
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:36,1
    - Dst: QThread::idealThreadCount
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: ThreadRunner::ThreadRunner
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp
    functionUses: 3
    functionsReached:
    - setServiceLevel
    - ThreadRunner::setMaxThreadCount
    - QT_VERSION_CHECK
    - QThread::idealThreadCount
    - std::clamp
    linkageType: ''
    returnType: void
    signature: void ThreadRunner::ThreadRunner()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:41,1
    - Dst: empty
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:41,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:42,1
    - Dst: empty
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_objectTasks.empty())
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp
    - condition: (m_runningTasks.empty())
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: ThreadRunner::~ThreadRunner()
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp
    functionUses: 0
    functionsReached:
    - assert
    - empty
    linkageType: ''
    returnType: void
    signature: void ThreadRunner::~ThreadRunner()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ThreadRunner::setMaxThreadCount
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - threadCount
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: ThreadRunner::setMaxThreadCount
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp
    functionUses: 2
    functionsReached:
    - ThreadRunner::setMaxThreadCount
    linkageType: ''
    returnType: void
    signature: void ThreadRunner::setMaxThreadCount(size_t threadCount)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ThreadRunner::start
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:55,1
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:60,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:62,1
    - Dst: QQueue<QRunnable*>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:66,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:67,1
    - Dst: ThreadRunner::processQueueLocked
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - task
    - queue
    argTypes:
    - QRunnable*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 71
    functionName: ThreadRunner::start
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp
    functionUses: 2
    functionsReached:
    - push_back
    - ThreadRunner::start
    - ThreadRunner::processQueueLocked
    - QQueue<QRunnable*>
    - contains
    linkageType: ''
    returnType: void
    signature: void ThreadRunner::start(QRunnable* task, const char* queue)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ThreadRunner::tryTake
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:75,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:81,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:81,1
    - Dst: auto::value
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:83,1
    - Dst: find
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:84,1
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:84,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:84,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:85,1
    - Dst: erase
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:87,1
    - Dst: empty
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:88,1
    - Dst: erase
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - task
    argTypes:
    - QRunnable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 95
    functionName: ThreadRunner::tryTake
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp
    functionUses: 1
    functionsReached:
    - erase
    - ThreadRunner::tryTake
    - auto::value
    - begin
    - empty
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: bool ThreadRunner::tryTake(QRunnable* task)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:102,1
    - Dst: remove
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:104,1
    - Dst: front
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:107,1
    - Dst: pop_front
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' queueName'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: ThreadRunner::getNextTaskFromQueue
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp
    functionUses: 0
    functionsReached:
    - empty
    - remove
    - pop_front
    - front
    linkageType: ''
    returnType: QRunnable
    signature: QRunnable * ThreadRunner::getNextTaskFromQueue(const QString& queueName)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:114,1
    - Dst: ThreadRunner::getNextTaskFromQueue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:121,1
    - Dst: QRunnable*::run
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:126,1
    - Dst: QRunnable*::autoDelete
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:127,1
    - Dst: ThreadRunner::processQueueLocked
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:132,1
    - Dst: RunOnThreadRunner<Ctx>::RunOnThreadRunner<Ctx>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:119,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:134,1
    - Dst: insert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:135,1
    - Dst: insert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:136,1
    - Dst: ThreadRunner::start
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' queueName'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 139
    functionName: ThreadRunner::processQueueLocked
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp
    functionUses: 2
    functionsReached:
    - QRunnable*::autoDelete
    - ThreadRunner::start
    - ThreadRunner::processQueueLocked
    - QRunnable*::run
    - insert
    - connect
    - ThreadRunner::getNextTaskFromQueue
    - RunOnThreadRunner<Ctx>::RunOnThreadRunner<Ctx>
    - contains
    linkageType: ''
    returnType: void
    signature: void ThreadRunner::processQueueLocked(const QString& queueName)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:146,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:146,1
    - Dst: auto::key
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:148,1
    - Dst: auto::value
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:149,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:150,1
    - Dst: ThreadRunner::tryTake
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:151,1
    - Dst: remove
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:154,1
    - Dst: erase
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:155,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:156,1
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:157,1
    - Dst: empty
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:163,1
    - Dst: deleteLater
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 167
    functionName: ThreadRunner::destroy
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp
    functionUses: 0
    functionsReached:
    - erase
    - disconnect
    - ThreadRunner::tryTake
    - auto::value
    - auto::key
    - begin
    - count
    - remove
    - empty
    - deleteLater
    - end
    - value
    linkageType: ''
    returnType: void
    signature: void ThreadRunner::destroy()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:171,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:174,1
    - Dst: auto::cancel
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:177,1
    - Dst: ThreadRunner::tryTake
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:178,1
    - Dst: remove
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:181,1
    - Dst: remove
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:182,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:183,1
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - object
    - taskId
    argTypes:
    - QObject*
    - quint64
    assertStmts:
    - condition: (taskId != 0)
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp
    constantsTouched: []
    func_position:
      end: 185
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 185
    functionName: ThreadRunner::cancelTask
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp
    functionUses: 0
    functionsReached:
    - assert
    - ThreadRunner::tryTake
    - disconnect
    - count
    - remove
    - auto::cancel
    - value
    linkageType: ''
    returnType: void
    signature: void ThreadRunner::cancelTask(const QObject* object, quint64 taskId)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:190,1
    - Dst: RunOnThreadBaseRunner*::deleteLater
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:192,1
    - Dst: remove
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:196,1
    - Dst: remove
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:197,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:198,1
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:199,1
    - Dst: empty
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:203,1
    - Dst: deleteLater
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:204,1
    - Dst: RunOnThreadBaseRunner*::deleteLater
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:205,1
    - Dst: QObject*::thread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:211,1
    - Dst: ThreadRunner::thread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:211,1
    - Dst: QMutexLocker::unlock
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:213,1
    - Dst: RunOnThreadBaseRunner*::runUICallback
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:214,1
    - Dst: RunOnThreadBaseRunner*::deleteLater
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:215,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:220,1
    - Dst: const_cast<QObject*>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:221,1
    - Dst: RunOnThreadBaseRunner*::runUICallback
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:223,1
    - Dst: RunOnThreadBaseRunner*::deleteLater
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:224,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - runner
    - target
    - object
    - status
    argTypes:
    - RunOnThreadBaseRunner*
    - quint64
    - QObject*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 229
    functionName: ThreadRunner::runOnThreadDone
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp
    functionUses: 0
    functionsReached:
    - QObject*::thread
    - disconnect
    - count
    - remove
    - const_cast<QObject*>
    - RunOnThreadBaseRunner*::runUICallback
    - empty
    - QMutexLocker::unlock
    - deleteLater
    - ThreadRunner::thread
    - RunOnThreadBaseRunner*::deleteLater
    - QMetaObject::invokeMethod
    - contains
    linkageType: ''
    returnType: void
    signature: void ThreadRunner::runOnThreadDone(RunOnThreadBaseRunner* runner, quint64
      target, const QObject* object, int status)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:234,1
    - Dst: values
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:236,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:238,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:239,1
    - Dst: ThreadRunner::tryTake
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:240,1
    - Dst: remove
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:243,1
    - Dst: remove
      Src: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - object
    argTypes:
    - QObject*
    assertStmts:
    - condition: (task)
      pos:
        line_end: 238
        line_start: 238
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp
    constantsTouched: []
    func_position:
      end: 248
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 248
    functionName: ThreadRunner::runOnThreadTargetDestroyed
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlthreadpool.cpp
    functionUses: 0
    functionsReached:
    - assert
    - ThreadRunner::tryTake
    - remove
    - values
    - value
    - contains
    linkageType: ''
    returnType: void
    signature: void ThreadRunner::runOnThreadTargetDestroyed(QObject * object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: ~MLMediaModel()
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MLMediaModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: ~MLAlbumModel()
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlalbummodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MLAlbumModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ~MLGenreModel()
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlgenremodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MLGenreModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: MLVideoGroupsModel::MLVideoGroupsModel
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLVideoGroupsModel::MLVideoGroupsModel(QObject * parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MLVideoModel::roleNames
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:59,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:63,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:64,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:65,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:66,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:67,1
    - Dst: QHash::insert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: MLVideoGroupsModel::roleNames
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp
    functionUses: 0
    functionsReached:
    - QHash::insert
    - QByteArrayLiteral
    - MLVideoModel::roleNames
    linkageType: ''
    returnType: QHash<int, QByteArray>
    signature: QHash<int, QByteArray> MLVideoGroupsModel::roleNames() const
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:80,1
    - Dst: MLItem*::getId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:82,1
    - Dst: static_cast<const MLGroup *>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:84,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:90,1
    - Dst: auto::getTitle
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:90,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:93,1
    - Dst: auto::getId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:93,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:95,1
    - Dst: auto::getTitle
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:95,1
    - Dst: MLCustomCover::url
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:98,1
    - Dst: auto::getId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:99,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:100,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:101,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:105,1
    - Dst: auto::getDuration
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:105,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:109,1
    - Dst: getFirstSymbol
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:109,1
    - Dst: auto::getTitle
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:109,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:111,1
    - Dst: auto::getDate
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:111,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:114,1
    - Dst: auto::getCount
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:114,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:116,1
    - Dst: static_cast<const MLVideo *>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:121,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:126,1
    - Dst: auto::title
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:126,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:130,1
    - Dst: getFirstSymbol
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:130,1
    - Dst: auto::title
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:130,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:134,1
    - Dst: MLVideoModel::itemRoleData
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 45
    argCount: 2
    argNames:
    - item
    - role
    argTypes:
    - MLItem*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 143
    functionName: MLVideoGroupsModel::itemRoleData
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp
    functionUses: 0
    functionsReached:
    - MLItem*::getId
    - QVariant
    - static_cast<const MLGroup *>
    - auto::getTitle
    - auto::getId
    - MLCustomCover::url
    - QStringLiteral
    - auto::title
    - auto::getDate
    - static_cast<const MLVideo *>
    - auto::getDuration
    - MLVideoModel::itemRoleData
    - auto::getCount
    - QSize
    - fromValue
    - getFirstSymbol
    linkageType: ''
    returnType: QVariant
    signature: QVariant MLVideoGroupsModel::itemRoleData(const MLItem * item, const
      int role) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:148,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:149,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:150,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - QByteArray
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: MLVideoGroupsModel::nameToCriteria
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp
    functionUses: 0
    functionsReached:
    - value
    - QByteArrayLiteral
    linkageType: ''
    returnType: vlc_ml_sorting_criteria_t
    signature: vlc_ml_sorting_criteria_t MLVideoGroupsModel::nameToCriteria(QByteArray
      name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MLListCacheLoader>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:156,1
    - Dst: std::make_shared<MLVideoGroupsModel::Loader>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: MLVideoGroupsModel::createMLLoader
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<MLListCacheLoader>
    - std::make_shared<MLVideoGroupsModel::Loader>
    linkageType: ''
    returnType: std::unique_ptr<MLListCacheLoader>
    signature: std::unique_ptr<MLListCacheLoader> MLVideoGroupsModel::createMLLoader()
      const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: updateItemInCache
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:182,1
    - Dst: updateItemInCache
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:188,1
    - Dst: deleteItemInCache
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:194,1
    - Dst: deleteItemInCache
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:200,1
    - Dst: MLBaseModel::onVlcMlEvent
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 1
    argNames:
    - ' event'
    argTypes:
    - MLEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 208
    functionName: MLVideoGroupsModel::onVlcMlEvent
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp
    functionUses: 0
    functionsReached:
    - MLBaseModel::onVlcMlEvent
    - deleteItemInCache
    - updateItemInCache
    linkageType: ''
    returnType: void
    signature: void MLVideoGroupsModel::onVlcMlEvent(const MLEvent & event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_count_groups
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ml
    - queryParams
    argTypes:
    - vlc_medialibrary_t*
    - vlc_ml_query_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: MLVideoGroupsModel::Loader::count(vlc_medialibrary_t* ml, const
      vlc_ml_query_params_t* queryParams) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp
    functionUses: 0
    functionsReached:
    - vlc_ml_count_groups
    linkageType: ''
    returnType: size_t
    signature: size_t MLVideoGroupsModel::Loader::count(vlc_medialibrary_t* ml, const
      vlc_ml_query_params_t* queryParams) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ml_range_iterate
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:230,1
    - Dst: vlc_ml_query_params_create
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:235,1
    - Dst: vlc_ml_list_group_media
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:237,1
    - Dst: std::vector::emplace_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:243,1
    - Dst: std::make_unique<MLVideo>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:243,1
    - Dst: std::vector::emplace_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:249,1
    - Dst: std::make_unique<MLGroup>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:249,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ml
    - queryParams
    argTypes:
    - vlc_medialibrary_t*
    - vlc_ml_query_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 253
    functionName: "MLVideoGroupsModel::Loader::load(vlc_medialibrary_t* ml,\n                                const
      vlc_ml_query_params_t* queryParams) const"
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - std::make_unique<MLGroup>
    - std::make_unique<MLVideo>
    - vlc_ml_list_group_media
    - ml_range_iterate
    - vlc_ml_query_params_create
    linkageType: ''
    returnType: std::vector<std::unique_ptr<MLItem>>
    signature: "std::vector<std::unique_ptr<MLItem>> MLVideoGroupsModel::Loader::load(vlc_medialibrary_t*
      ml,\n                                const vlc_ml_query_params_t* queryParams)
      const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_get_media
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:261,1
    - Dst: std::make_unique<MLVideo>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:264,1
    - Dst: ml_unique_ptr::get
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:264,1
    - Dst: vlc_ml_get_group
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:268,1
    - Dst: std::make_unique<MLGroup>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:271,1
    - Dst: ml_unique_ptr::get
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:271,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp:275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ml
    - itemId
    argTypes:
    - vlc_medialibrary_t*
    - MLItemId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 279
    functionName: MLVideoGroupsModel::Loader::loadItemById(vlc_medialibrary_t* ml,
      MLItemId itemId) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.cpp
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    - std::make_unique<MLGroup>
    - std::make_unique<MLVideo>
    - ml_unique_ptr::get
    - vlc_ml_get_media
    - vlc_ml_get_group
    linkageType: ''
    returnType: std::unique_ptr<MLItem>
    signature: std::unique_ptr<MLItem> MLVideoGroupsModel::Loader::loadItemById(vlc_medialibrary_t*
      ml, MLItemId itemId) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unregisterEventListener
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:32,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: MLFoldersBaseModel::MLFoldersBaseModel
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp
    functionUses: 0
    functionsReached:
    - connect
    - unregisterEventListener
    linkageType: ''
    returnType: void
    signature: void MLFoldersBaseModel::MLFoldersBaseModel( QObject *parent )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' entryPoint'
    argTypes:
    - vlc_ml_folder_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: MLFoldersBaseModel::EntryPoint::EntryPoint( const vlc_ml_folder_t&
      entryPoint)
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLFoldersBaseModel::EntryPoint::EntryPoint( const vlc_ml_folder_t&
      entryPoint)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getMediaLibrary
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:49,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:50,1
    - Dst: registerEventListener
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:50,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:56,1
    - Dst: update
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - MainCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 61
    functionName: MLFoldersBaseModel::setCtx
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp
    functionUses: 0
    functionsReached:
    - registerEventListener
    - update
    - getMediaLibrary
    - reset
    linkageType: ''
    returnType: void
    signature: void MLFoldersBaseModel::setCtx(MainCtx* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:65,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: MLFoldersBaseModel::rowCount
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp
    functionUses: 0
    functionsReached:
    - size
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int MLFoldersBaseModel::rowCount( QModelIndex const & ) const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::isValid
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:70,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:76,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:78,1
    - Dst: QUrl::fromUserInput
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:82,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:82,1
    - Dst: QUrl::isValid
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:83,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:85,1
    - Dst: urlToDisplayString
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - index
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 90
    functionName: MLFoldersBaseModel::data
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp
    functionUses: 0
    functionsReached:
    - urlToDisplayString
    - QModelIndex::row
    - QUrl::isValid
    - fromValue
    - QModelIndex::isValid
    - QUrl::fromUserInput
    linkageType: ''
    returnType: QVariant
    signature: "QVariant MLFoldersBaseModel::data( const QModelIndex &index ,\n                              int
      role) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:95,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:96,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: MLFoldersBaseModel::roleNames
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp
    functionUses: 0
    functionsReached:
    - QByteArrayLiteral
    linkageType: ''
    returnType: QHash<int, QByteArray>
    signature: QHash<int, QByteArray> MLFoldersBaseModel::roleNames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:103,1
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:104,1
    - Dst: vlc_ml_reload_folder
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:106,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - row
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: MLFoldersBaseModel::reload
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp
    functionUses: 0
    functionsReached:
    - qtu
    - runOnMLThread
    - vlc_ml_reload_folder
    - at
    linkageType: ''
    returnType: void
    signature: void MLFoldersBaseModel::reload(const int row)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:112,1
    - Dst: MLFoldersBaseModel::rowCount
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:112,1
    - Dst: MLFoldersBaseModel::index
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:113,1
    - Dst: QModelIndex::isValid
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:114,1
    - Dst: remove
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:115,1
    - Dst: MLFoldersBaseModel::data
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts:
    - condition: (index < rowCount())
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: MLFoldersBaseModel::removeAt
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp
    functionUses: 0
    functionsReached:
    - assert
    - remove
    - MLFoldersBaseModel::index
    - MLFoldersBaseModel::rowCount
    - MLFoldersBaseModel::data
    - QModelIndex::isValid
    linkageType: ''
    returnType: void
    signature: void MLFoldersBaseModel::removeAt(int index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MLFoldersBaseModel *>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:121,1
    - Dst: auto::failed
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:125,1
    - Dst: auto::onMLEntryPointModified
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:126,1
    - Dst: QPrivateSignal
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - data
    - event
    argTypes:
    - void*
    - vlc_ml_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 128
    functionName: MLFoldersBaseModel::onMlEvent
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp
    functionUses: 0
    functionsReached:
    - QPrivateSignal
    - auto::onMLEntryPointModified
    - static_cast<MLFoldersBaseModel *>
    - auto::failed
    linkageType: ''
    returnType: void
    signature: void MLFoldersBaseModel::onMlEvent( void* data , const vlc_ml_event_t*
      event )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:140,1
    - Dst: folderListFunc
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:143,1
    - Dst: r::emplace_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:147,1
    - Dst: vlc_ml_release
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:148,1
    - Dst: beginResetModel
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:154,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:155,1
    - Dst: endResetModel
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - (*folderListFunc)( vlc_medialibrary_t* p_ml, const vlc_ml_query_params_t* params
      )
    argTypes:
    - vlc_ml_folder_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 159
    functionName: MLFoldersBaseModel::updateImpl
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - folderListFunc
    - runOnMLThread
    - beginResetModel
    - r::emplace_back
    - endResetModel
    - vlc_ml_release
    linkageType: ''
    returnType: void
    signature: void MLFoldersBaseModel::updateImpl(vlc_ml_folder_list_t* (*folderListFunc)(
      vlc_medialibrary_t* p_ml, const vlc_ml_query_params_t* params ))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: updateImpl
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: MLFoldersModel::update
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp
    functionUses: 0
    functionsReached:
    - updateImpl
    linkageType: ''
    returnType: void
    signature: void MLFoldersModel::update()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUrl::fromEncoded
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:171,1
    - Dst: QUrl::fromEncoded
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - event
    argTypes:
    - vlc_ml_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 181
    functionName: MLFoldersModel::failed
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp
    functionUses: 0
    functionsReached:
    - QUrl::fromEncoded
    linkageType: ''
    returnType: bool
    signature: bool MLFoldersModel::failed(const vlc_ml_event_t *event) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:186,1
    - Dst: vlc_ml_remove_folder
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:189,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:189,1
    - Dst: QUrl::toString
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mrl
    argTypes:
    - QUrl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 192
    functionName: MLFoldersModel::remove
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp
    functionUses: 0
    functionsReached:
    - vlc_ml_remove_folder
    - qtu
    - runOnMLThread
    - QUrl::toString
    linkageType: ''
    returnType: void
    signature: void MLFoldersModel::remove( const QUrl &mrl )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:197,1
    - Dst: vlc_ml_add_folder
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:200,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:200,1
    - Dst: QUrl::toString
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mrl
    argTypes:
    - QUrl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: MLFoldersModel::add
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp
    functionUses: 0
    functionsReached:
    - qtu
    - runOnMLThread
    - vlc_ml_add_folder
    - QUrl::toString
    linkageType: ''
    returnType: void
    signature: void MLFoldersModel::add(const QUrl &mrl )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:208,1
    - Dst: vlc_ml_unban_folder
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:211,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:211,1
    - Dst: QUrl::toString
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mrl
    argTypes:
    - QUrl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 214
    functionName: MLBannedFoldersModel::remove
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp
    functionUses: 0
    functionsReached:
    - qtu
    - runOnMLThread
    - QUrl::toString
    - vlc_ml_unban_folder
    linkageType: ''
    returnType: void
    signature: void MLBannedFoldersModel::remove(const QUrl &mrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:219,1
    - Dst: vlc_ml_ban_folder
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:222,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:222,1
    - Dst: QUrl::toString
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mrl
    argTypes:
    - QUrl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 225
    functionName: MLBannedFoldersModel::add
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp
    functionUses: 0
    functionsReached:
    - qtu
    - runOnMLThread
    - QUrl::toString
    - vlc_ml_ban_folder
    linkageType: ''
    returnType: void
    signature: void MLBannedFoldersModel::add(const QUrl &mrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: updateImpl
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: MLBannedFoldersModel::update
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp
    functionUses: 0
    functionsReached:
    - updateImpl
    linkageType: ''
    returnType: void
    signature: void MLBannedFoldersModel::update()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUrl::fromEncoded
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:236,1
    - Dst: QUrl::fromEncoded
      Src: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp:241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - event
    argTypes:
    - vlc_ml_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 246
    functionName: MLBannedFoldersModel::failed
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlfoldersmodel.cpp
    functionUses: 0
    functionsReached:
    - QUrl::fromEncoded
    linkageType: ''
    returnType: bool
    signature: bool MLBannedFoldersModel::failed(const vlc_ml_event_t *event) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: MediaLib::idle
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/medialib.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool idle() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: MediaLib::discoveryPending
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/medialib.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int discoveryPending() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: MediaLib::discoveryEntryPoint
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/medialib.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString discoveryEntryPoint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: MediaLib::parsingProgress
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/medialib.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int parsingProgress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runOnThread
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.hpp:202,1
    - Dst: mlFun
      Src: /src/vlc/modules/gui/qt/medialibrary/medialib.hpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - obj
    - mlFun
    - uiFun
    - queue
    argTypes:
    - QObject*
    - std::function<void (vlc_medialibrary_t*, Ctx&)>
    - std::function<void (quint64 taskId, Ctx&)>
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: MediaLib::runOnMLThread
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/medialib.hpp
    functionUses: 7
    functionsReached:
    - mlFun
    - runOnThread
    linkageType: ''
    returnType: quint64
    signature: "quint64 MediaLib::runOnMLThread(const QObject* obj,\n                                    std::function<void
      (vlc_medialibrary_t*, Ctx&)> mlFun,\n                                    std::function<void
      (quint64 taskId, Ctx&)> uiFun,\n                                    const char*
      queue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - par
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: MLMediaModel::MLMediaModel
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLMediaModel::MLMediaModel(QObject *par)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:33,1
    - Dst: static_cast<MLMedia *>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:35,1
    - Dst: item
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:35,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:35,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:36,1
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:39,1
    - Dst: auto::getId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:39,1
    - Dst: vlc_ml_media_set_favorite
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:41,1
    - Dst: auto::setIsFavorite
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - index
    - isFavorite
    argTypes:
    - QModelIndex
    - bool
    assertStmts:
    - condition: (m_mediaLib != nullptr)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp
    - condition: (media != nullptr)
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp
    constantsTouched: []
    func_position:
      end: 47
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 47
    functionName: MLMediaModel::setMediaIsFavorite
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp
    functionUses: 0
    functionsReached:
    - item
    - auto::getId
    - assert
    - auto::setIsFavorite
    - static_cast<MLMedia *>
    - QModelIndex::row
    - vlc_ml_media_set_favorite
    - runOnMLThread
    linkageType: ''
    returnType: void
    signature: void MLMediaModel::setMediaIsFavorite(const QModelIndex &index, bool
      isFavorite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MLMedia *>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:50,1
    - Dst: item
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:50,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:50,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:51,1
    - Dst: MLMediaModel::getParentURL
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - index
    argTypes:
    - QModelIndex
    assertStmts:
    - condition: (media != nullptr)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: MLMediaModel::getParentURL
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp
    functionUses: 1
    functionsReached:
    - item
    - assert
    - static_cast<MLMedia *>
    - QModelIndex::row
    - MLMediaModel::getParentURL
    linkageType: ''
    returnType: QUrl
    signature: QUrl MLMediaModel::getParentURL(const QModelIndex &index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:56,1
    - Dst: getParentURLFromURL
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:57,1
    - Dst: MLMedia*::mrl
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - media
    argTypes:
    - MLMedia*
    assertStmts:
    - condition: (media != nullptr)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: MLMediaModel::getParentURL
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp
    functionUses: 1
    functionsReached:
    - getParentURLFromURL
    - assert
    - MLMedia*::mrl
    linkageType: ''
    returnType: QUrl
    signature: QUrl MLMediaModel::getParentURL(const MLMedia *media) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MLMedia*::mrl
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:62,1
    - Dst: QUrl::toLocalFile
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:65,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:67,1
    - Dst: QFile::permissions
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:70,1
    - Dst: MLMediaModel::getParentURL
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:75,1
    - Dst: QUrl::toLocalFile
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:76,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:78,1
    - Dst: QFile::permissions
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - media
    argTypes:
    - MLMedia*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 84
    functionName: MLMediaModel::getPermissions
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp
    functionUses: 0
    functionsReached:
    - QString::isEmpty
    - QUrl::toLocalFile
    - MLMediaModel::getParentURL
    - QFile::permissions
    - MLMedia*::mrl
    linkageType: ''
    returnType: bool
    signature: bool MLMediaModel::getPermissions(const MLMedia* media) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MLMedia *>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:88,1
    - Dst: item
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:88,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:88,1
    - Dst: auto::mrl
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:89,1
    - Dst: QUrl::toLocalFile
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:92,1
    - Dst: QFile::remove
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:95,1
    - Dst: MLMediaModel::getParentURL
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:99,1
    - Dst: QUrl::toString
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:100,1
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:102,1
    - Dst: vlc_ml_reload_folder
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:105,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 107
    functionName: MLMediaModel::deleteFileFromSource
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp
    functionUses: 0
    functionsReached:
    - item
    - vlc_ml_reload_folder
    - QUrl::toLocalFile
    - static_cast<MLMedia *>
    - QModelIndex::row
    - MLMediaModel::getParentURL
    - QUrl::toString
    - auto::mrl
    - qtu
    - runOnMLThread
    - QFile::remove
    linkageType: ''
    returnType: void
    signature: void MLMediaModel::deleteFileFromSource(const QModelIndex &index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:112,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:113,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:114,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - QByteArray
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: MLMediaModel::nameToCriteria
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp
    functionUses: 0
    functionsReached:
    - value
    - QByteArrayLiteral
    linkageType: ''
    returnType: vlc_ml_sorting_criteria_t
    signature: vlc_ml_sorting_criteria_t MLMediaModel::nameToCriteria(QByteArray name)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:121,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:122,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:123,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:124,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:125,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:126,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:127,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:128,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:129,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:130,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:131,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:132,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:133,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 136
    functionName: MLMediaModel::roleNames
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp
    functionUses: 3
    functionsReached:
    - QByteArrayLiteral
    linkageType: ''
    returnType: QHash<int, QByteArray>
    signature: QHash<int, QByteArray> MLMediaModel::roleNames() const
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MLMedia *>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:140,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:141,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:146,1
    - Dst: auto::getId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:146,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:148,1
    - Dst: auto::title
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:148,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:150,1
    - Dst: getFirstSymbol
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:150,1
    - Dst: auto::title
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:150,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:152,1
    - Dst: auto::fileName
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:152,1
    - Dst: dynamic_cast<const MLVideo *>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:154,1
    - Dst: auto::smallCover
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:157,1
    - Dst: MLMediaModel::generateThumbnail
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:159,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:160,1
    - Dst: dynamic_cast<const MLAudio *>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:162,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:163,1
    - Dst: auto::smallCover
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:163,1
    - Dst: Q_UNREACHABLE
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:165,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:167,1
    - Dst: auto::duration
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:167,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:169,1
    - Dst: auto::mrl
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:169,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:171,1
    - Dst: auto::type
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:171,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:173,1
    - Dst: auto::isFavorite
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:173,1
    - Dst: auto::mrl
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:176,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:177,1
    - Dst: QUrl::isLocalFile
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:177,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:180,1
    - Dst: auto::progress
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:180,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:182,1
    - Dst: auto::playCount
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:182,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:184,1
    - Dst: auto::lastPlayedDate
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:184,1
    - Dst: ps_pkt_parse_system
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:184,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:186,1
    - Dst: MLMediaModel::getPermissions
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 2
    argNames:
    - item
    - role
    argTypes:
    - MLItem*
    - int
    assertStmts:
    - condition: (media != nullptr)
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp
    constantsTouched: []
    func_position:
      end: 189
      start: 138
    functionDepth: 3
    functionLinenumber: 138
    functionLinenumberEnd: 189
    functionName: MLMediaModel::itemRoleData
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp
    functionUses: 3
    functionsReached:
    - auto::getId
    - assert
    - auto::smallCover
    - auto::mrl
    - auto::lastPlayedDate
    - MLMediaModel::getPermissions
    - auto::isFavorite
    - auto::progress
    - static_cast<const MLMedia *>
    - auto::duration
    - dynamic_cast<const MLAudio *>
    - ps_pkt_parse_system
    - MLMediaModel::generateThumbnail
    - dynamic_cast<const MLVideo *>
    - auto::playCount
    - auto::fileName
    - getFirstSymbol
    - auto::title
    - auto::type
    - QUrl::isLocalFile
    - fromValue
    - Q_UNREACHABLE
    linkageType: ''
    returnType: QVariant
    signature: QVariant MLMediaModel::itemRoleData(const MLItem *item, int role) const
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: updateItemInCache
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:202,1
    - Dst: deleteItemInCache
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:208,1
    - Dst: resetRequested
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:214,1
    - Dst: resetRequested
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:218,1
    - Dst: resetRequested
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:222,1
    - Dst: MLBaseModel::onVlcMlEvent
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:225,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - event
    argTypes:
    - MLEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 227
    functionName: MLMediaModel::onVlcMlEvent
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp
    functionUses: 0
    functionsReached:
    - MLBaseModel::onVlcMlEvent
    - deleteItemInCache
    - updateItemInCache
    - resetRequested
    linkageType: ''
    returnType: void
    signature: void MLMediaModel::onVlcMlEvent(const MLEvent &event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:231,1
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:234,1
    - Dst: MLVideo*::getId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:234,1
    - Dst: vlc_ml_media_generate_thumbnail
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - video
    argTypes:
    - MLVideo*
    assertStmts:
    - condition: (video != nullptr)
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp
    constantsTouched: []
    func_position:
      end: 238
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 238
    functionName: MLMediaModel::generateThumbnail
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp
    functionUses: 1
    functionsReached:
    - vlc_ml_media_generate_thumbnail
    - MLVideo*::getId
    - runOnMLThread
    - assert
    linkageType: ''
    returnType: void
    signature: void MLMediaModel::generateThumbnail(const MLVideo *video) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MLListCacheLoader>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:244,1
    - Dst: std::make_shared<MLMediaModel::Loader>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: MLMediaModel::createMLLoader
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<MLListCacheLoader>
    - std::make_shared<MLMediaModel::Loader>
    linkageType: ''
    returnType: std::unique_ptr<MLListCacheLoader>
    signature: std::unique_ptr<MLListCacheLoader> MLMediaModel::createMLLoader() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_count_media
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:250,1
    - Dst: vlc_ml_count_media_of
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ml
    - queryParams
    argTypes:
    - vlc_medialibrary_t*
    - vlc_ml_query_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 252
    functionName: MLMediaModel::Loader::count(vlc_medialibrary_t *ml, const vlc_ml_query_params_t
      *queryParams) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp
    functionUses: 0
    functionsReached:
    - vlc_ml_count_media
    - vlc_ml_count_media_of
    linkageType: ''
    returnType: size_t
    signature: size_t MLMediaModel::Loader::count(vlc_medialibrary_t *ml, const vlc_ml_query_params_t
      *queryParams) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ml_unique_ptr::reset
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:260,1
    - Dst: vlc_ml_list_media
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:260,1
    - Dst: ml_unique_ptr::reset
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:262,1
    - Dst: vlc_ml_list_media_of
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:262,1
    - Dst: ml_range_iterate
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:269,1
    - Dst: std::vector::emplace_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:271,1
    - Dst: std::make_unique<MLVideo>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:271,1
    - Dst: std::vector::emplace_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:273,1
    - Dst: std::make_unique<MLAudio>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:273,1
    - Dst: Q_UNREACHABLE
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:275,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ml
    - queryParams
    argTypes:
    - vlc_medialibrary_t*
    - vlc_ml_query_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 277
    functionName: MLMediaModel::Loader::load(vlc_medialibrary_t *ml, const vlc_ml_query_params_t
      *queryParams) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - vlc_ml_list_media_of
    - std::make_unique<MLVideo>
    - std::make_unique<MLAudio>
    - ml_unique_ptr::reset
    - ml_range_iterate
    - Q_UNREACHABLE
    - vlc_ml_list_media
    linkageType: ''
    returnType: std::vector<std::unique_ptr<MLItem>>
    signature: std::vector<std::unique_ptr<MLItem>> MLMediaModel::Loader::load(vlc_medialibrary_t
      *ml, const vlc_ml_query_params_t *queryParams) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:282,1
    - Dst: vlc_ml_get_media
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:283,1
    - Dst: std::make_unique<MLVideo>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:289,1
    - Dst: ml_unique_ptr::get
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:289,1
    - Dst: std::make_unique<MLAudio>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:291,1
    - Dst: ml_unique_ptr::get
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:291,1
    - Dst: Q_UNREACHABLE
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp:293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ml
    - itemId
    argTypes:
    - vlc_medialibrary_t*
    - MLItemId
    assertStmts:
    - condition: (itemId.type == VLC_ML_PARENT_UNKNOWN)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp
    constantsTouched: []
    func_position:
      end: 295
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 295
    functionName: MLMediaModel::Loader::loadItemById(vlc_medialibrary_t *ml, MLItemId
      itemId) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmediamodel.cpp
    functionUses: 0
    functionsReached:
    - assert
    - std::make_unique<MLVideo>
    - ml_unique_ptr::get
    - vlc_ml_get_media
    - Q_UNREACHABLE
    - std::make_unique<MLAudio>
    linkageType: ''
    returnType: std::unique_ptr<MLItem>
    signature: std::unique_ptr<MLItem> MLMediaModel::Loader::loadItemById(vlc_medialibrary_t
      *ml, MLItemId itemId) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: MLPlaylistModel::MLPlaylistModel
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLPlaylistModel::MLPlaylistModel(QObject * parent)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:49,1
    - Dst: parentId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:51,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:53,1
    - Dst: unlikely
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:55,1
    - Dst: vlc::playlist::toMediaList
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:58,1
    - Dst: MLPlaylistModel::setTransactionPending
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:60,1
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:65,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:71,1
    - Dst: raw
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:71,1
    - Dst: raw
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:73,1
    - Dst: vlc_ml_get_media_by_mrl
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:75,1
    - Dst: vlc_ml_new_external_media
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:79,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:83,1
    - Dst: medias::emplace_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:84,1
    - Dst: std::make_unique<MLPlaylistMedia>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:84,1
    - Dst: vlc_ml_media_release
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:85,1
    - Dst: std::vector::size
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:87,1
    - Dst: vlc_ml_playlist_insert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:90,1
    - Dst: std::vector::data
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:90,1
    - Dst: std::vector::size
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:90,1
    - Dst: insertItemListInCache
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:94,1
    - Dst: MLPlaylistModel::move
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:94,1
    - Dst: MLPlaylistModel::endTransaction
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:96,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - ' items'
    - at
    argTypes:
    - QVariantList
    - int
    assertStmts:
    - condition: (m_mediaLib)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp
    - condition: (id)
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp
    - condition: (media.raw())
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp
    constantsTouched: []
    func_position:
      end: 98
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 98
    functionName: MLPlaylistModel::insert
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp
    functionUses: 0
    functionsReached:
    - assert
    - MLPlaylistModel::setTransactionPending
    - MLPlaylistModel::endTransaction
    - runOnMLThread
    - vlc_ml_media_release
    - vlc_ml_get_media_by_mrl
    - parentId
    - std::vector::data
    - medias::emplace_back
    - std::make_unique<MLPlaylistMedia>
    - vlc::playlist::toMediaList
    - raw
    - std::vector::push_back
    - std::vector::size
    - insertItemListInCache
    - MLPlaylistModel::move
    - vlc_ml_new_external_media
    - vlc_ml_playlist_insert
    - unlikely
    linkageType: ''
    returnType: void
    signature: void MLPlaylistModel::insert(const QVariantList & items, int at)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:110,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:112,1
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:113,1
    - Dst: vlc_ml_playlist_move
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:118,1
    - Dst: MLPlaylistModel::move
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:122,1
    - Dst: moveRangeInCache
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:123,1
    - Dst: MLPlaylistModel::moveImpl
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:126,1
    - Dst: MLPlaylistModel::move
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:126,1
    - Dst: highRanges::size
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:129,1
    - Dst: std::tie
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:131,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:132,1
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:134,1
    - Dst: vlc_ml_playlist_move
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:138,1
    - Dst: MLPlaylistModel::move
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:142,1
    - Dst: moveRangeInCache
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:143,1
    - Dst: MLPlaylistModel::moveImpl
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:146,1
    - Dst: MLPlaylistModel::move
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:146,1
    - Dst: MLPlaylistModel::endTransaction
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - playlistId
    - ' ranges'
    argTypes:
    - int64_t
    - HighLowRanges
    assertStmts:
    - condition: (low <= high)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp
    - condition: (low <= high)
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp
    constantsTouched: []
    func_position:
      end: 154
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 154
    functionName: MLPlaylistModel::moveImpl
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp
    functionUses: 1
    functionsReached:
    - std::tie
    - assert
    - moveRangeInCache
    - MLPlaylistModel::move
    - MLPlaylistModel::endTransaction
    - MLPlaylistModel::moveImpl
    - runOnMLThread
    - highRanges::size
    - vlc_ml_playlist_move
    linkageType: ''
    returnType: void
    signature: void MLPlaylistModel::moveImpl(int64_t playlistId, HighLowRanges&&
      ranges)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:179,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:181,1
    - Dst: unlikely
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:184,1
    - Dst: parentId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:187,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:188,1
    - Dst: MLPlaylistModel::getSortedRowsRanges
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:190,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:191,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:191,1
    - Dst: auto::cbegin
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:198,1
    - Dst: auto::end
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:199,1
    - Dst: HighLowRanges::lowRanges::push_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:202,1
    - Dst: HighLowRanges::highRanges::push_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:204,1
    - Dst: HighLowRanges::lowRanges::size
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:213,1
    - Dst: MLPlaylistModel::setTransactionPending
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:216,1
    - Dst: MLPlaylistModel::moveImpl
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:218,1
    - Dst: MLPlaylistModel::move
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - ' indexes'
    - to
    argTypes:
    - QModelIndexList
    - int
    assertStmts:
    - condition: (m_mediaLib)
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp
    - condition: (id)
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp
    - condition: (rangeList.size() > 0)
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp
    constantsTouched: []
    func_position:
      end: 219
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 219
    functionName: MLPlaylistModel::move
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp
    functionUses: 3
    functionsReached:
    - HighLowRanges::lowRanges::size
    - auto::size
    - assert
    - MLPlaylistModel::getSortedRowsRanges
    - auto::cbegin
    - MLPlaylistModel::move
    - HighLowRanges::highRanges::push_back
    - size
    - MLPlaylistModel::setTransactionPending
    - MLPlaylistModel::moveImpl
    - parentId
    - unlikely
    - auto::end
    - HighLowRanges::lowRanges::push_back
    linkageType: ''
    returnType: void
    signature: void MLPlaylistModel::move(const QModelIndexList & indexes, int to)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:224,1
    - Dst: MLPlaylistModel::endTransaction
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:227,1
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:233,1
    - Dst: vlc_ml_playlist_remove
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:236,1
    - Dst: MLPlaylistModel::move
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:239,1
    - Dst: deleteRangeInCache
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:240,1
    - Dst: MLPlaylistModel::removeImpl
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:241,1
    - Dst: MLPlaylistModel::move
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - playlistId
    - ' rangeList'
    - index
    argTypes:
    - int64_t
    - std::vector<std::pair<int, int> >
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 222
    functionDepth: 3
    functionLinenumber: 222
    functionLinenumberEnd: 243
    functionName: MLPlaylistModel::removeImpl
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp
    functionUses: 1
    functionsReached:
    - MLPlaylistModel::move
    - size
    - MLPlaylistModel::endTransaction
    - deleteRangeInCache
    - runOnMLThread
    - MLPlaylistModel::removeImpl
    - vlc_ml_playlist_remove
    linkageType: ''
    returnType: void
    signature: void MLPlaylistModel::removeImpl(int64_t playlistId, const std::vector<std::pair<int,
      int> >&& rangeList, size_t index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:247,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:248,1
    - Dst: unlikely
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:251,1
    - Dst: parentId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:254,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:255,1
    - Dst: MLPlaylistModel::getSortedRowsRanges
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:258,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:259,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:259,1
    - Dst: MLPlaylistModel::setTransactionPending
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:261,1
    - Dst: MLPlaylistModel::removeImpl
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:262,1
    - Dst: MLPlaylistModel::move
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' indexes'
    argTypes:
    - QModelIndexList
    assertStmts:
    - condition: (m_mediaLib)
      pos:
        line_end: 246
        line_start: 246
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp
    - condition: (id)
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp
    - condition: (rangeList.size() > 0)
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp
    constantsTouched: []
    func_position:
      end: 263
      start: 245
    functionDepth: 4
    functionLinenumber: 245
    functionLinenumberEnd: 263
    functionName: MLPlaylistModel::remove
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp
    functionUses: 0
    functionsReached:
    - auto::size
    - assert
    - MLPlaylistModel::getSortedRowsRanges
    - MLPlaylistModel::move
    - size
    - MLPlaylistModel::setTransactionPending
    - MLPlaylistModel::removeImpl
    - parentId
    - unlikely
    linkageType: ''
    returnType: void
    signature: void MLPlaylistModel::remove(const QModelIndexList & indexes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MLPlaylistModel::setTransactionPending
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: MLPlaylistModel::endTransaction
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp
    functionUses: 3
    functionsReached:
    - MLPlaylistModel::setTransactionPending
    linkageType: ''
    returnType: void
    signature: void MLPlaylistModel::endTransaction()
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 287
    functionName: MLPlaylistModel::setTransactionPending
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLPlaylistModel::setTransactionPending(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:297,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:298,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:299,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:300,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:301,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:302,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:303,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:304,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:305,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:306,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:307,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:308,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:309,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 312
    functionName: MLPlaylistModel::roleNames
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp
    functionUses: 0
    functionsReached:
    - QByteArrayLiteral
    linkageType: ''
    returnType: QHash<int, QByteArray>
    signature: QHash<int, QByteArray> MLPlaylistModel::roleNames() const
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MLPlaylistMedia *>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:316,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:318,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:323,1
    - Dst: auto::getId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:323,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:325,1
    - Dst: auto::isNew
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:325,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:327,1
    - Dst: auto::title
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:327,1
    - Dst: auto::smallCover
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:331,1
    - Dst: auto::type
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:332,1
    - Dst: MLPlaylistModel::generateThumbnail
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:336,1
    - Dst: MLItem*::getId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:336,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:339,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:342,1
    - Dst: auto::duration
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:342,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:344,1
    - Dst: auto::progress
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:344,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:346,1
    - Dst: auto::playCount
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:346,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:348,1
    - Dst: auto::getResolutionName
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:348,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:350,1
    - Dst: auto::getChannel
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:350,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:352,1
    - Dst: auto::mrl
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:352,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:354,1
    - Dst: auto::getMRLDisplay
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:354,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:356,1
    - Dst: auto::getVideo
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:356,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:358,1
    - Dst: auto::getAudio
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:358,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:360,1
    - Dst: getFirstSymbol
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:360,1
    - Dst: auto::title
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:360,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:362,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 2
    argNames:
    - item
    - role
    argTypes:
    - MLItem*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 364
    functionName: MLPlaylistModel::itemRoleData
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp
    functionUses: 0
    functionsReached:
    - QVariant
    - auto::getId
    - auto::getChannel
    - auto::smallCover
    - auto::mrl
    - auto::progress
    - auto::getVideo
    - auto::duration
    - MLPlaylistModel::generateThumbnail
    - static_cast<const MLPlaylistMedia *>
    - auto::getMRLDisplay
    - auto::isNew
    - auto::playCount
    - getFirstSymbol
    - MLItem*::getId
    - auto::title
    - auto::type
    - auto::getAudio
    - fromValue
    - auto::getResolutionName
    linkageType: ''
    returnType: QVariant
    signature: QVariant MLPlaylistModel::itemRoleData(const MLItem *item, int role)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:373,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:374,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:375,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:376,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - QByteArray
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 378
    functionName: MLPlaylistModel::nameToCriteria
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp
    functionUses: 0
    functionsReached:
    - value
    - QByteArrayLiteral
    linkageType: ''
    returnType: vlc_ml_sorting_criteria_t
    signature: vlc_ml_sorting_criteria_t MLPlaylistModel::nameToCriteria(QByteArray
      name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MLListCacheLoader>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:385,1
    - Dst: std::make_shared<MLPlaylistModel::Loader>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 386
    functionName: MLPlaylistModel::createMLLoader
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<MLPlaylistModel::Loader>
    - std::make_unique<MLListCacheLoader>
    linkageType: ''
    returnType: std::unique_ptr<MLListCacheLoader>
    signature: std::unique_ptr<MLListCacheLoader> MLPlaylistModel::createMLLoader()
      const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: updateItemInCache
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:399,1
    - Dst: resetRequested
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:410,1
    - Dst: MLBaseModel::onVlcMlEvent
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:418,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - ' event'
    argTypes:
    - MLEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 392
    functionDepth: 2
    functionLinenumber: 392
    functionLinenumberEnd: 419
    functionName: MLPlaylistModel::onVlcMlEvent
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp
    functionUses: 0
    functionsReached:
    - MLBaseModel::onVlcMlEvent
    - updateItemInCache
    - resetRequested
    linkageType: ''
    returnType: void
    signature: void MLPlaylistModel::onVlcMlEvent(const MLEvent & event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MLPlaylistMedia*>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:423,1
    - Dst: auto::setSmallCover
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' idx'
    - mlitem
    - ' mrl'
    - status
    argTypes:
    - QModelIndex
    - MLItem*
    - QString
    - vlc_ml_thumbnail_status_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 426
    functionName: MLPlaylistModel::thumbnailUpdated
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp
    functionUses: 0
    functionsReached:
    - static_cast<MLPlaylistMedia*>
    - auto::setSmallCover
    linkageType: ''
    returnType: void
    signature: void MLPlaylistModel::thumbnailUpdated(const QModelIndex& idx, MLItem*
      mlitem, const QString& mrl, vlc_ml_thumbnail_status_t status)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:434,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:434,1
    - Dst: QList::append
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:438,1
    - Dst: row
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:438,1
    - Dst: std::sort
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:440,1
    - Dst: QList::begin
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:440,1
    - Dst: QList::end
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:440,1
    - Dst: QList::cbegin
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:444,1
    - Dst: QList::count
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:447,1
    - Dst: std::vector::emplace_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:449,1
    - Dst: QList::cend
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:454,1
    - Dst: std::vector::emplace_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:459,1
    - Dst: std::vector::emplace_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:465,1
    - Dst: std::reverse
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:469,1
    - Dst: std::vector::begin
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:469,1
    - Dst: std::vector::end
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:469,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ' indexes'
    - asc
    argTypes:
    - QModelIndexList
    - bool
    assertStmts:
    - condition: (indexes.size() > 0)
      pos:
        line_end: 433
        line_start: 433
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp
    constantsTouched: []
    func_position:
      end: 472
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 472
    functionName: MLPlaylistModel::getSortedRowsRanges
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp
    functionUses: 2
    functionsReached:
    - assert
    - std::vector::emplace_back
    - std::vector::end
    - QList::end
    - size
    - QList::begin
    - QList::cend
    - row
    - std::sort
    - QList::cbegin
    - QList::append
    - QList::count
    - std::vector::begin
    - std::reverse
    linkageType: ''
    returnType: std::vector<std::pair<int, int>>
    signature: std::vector<std::pair<int, int>> MLPlaylistModel::getSortedRowsRanges(const
      QModelIndexList & indexes, bool asc) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:476,1
    - Dst: vlc_ml_media_generate_thumbnail
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' itemid'
    argTypes:
    - MLItemId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 483
    functionName: MLPlaylistModel::generateThumbnail
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp
    functionUses: 1
    functionsReached:
    - vlc_ml_media_generate_thumbnail
    - runOnMLThread
    linkageType: ''
    returnType: void
    signature: void MLPlaylistModel::generateThumbnail(const MLItemId& itemid) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_count_playlist_media
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ml
    - queryParams
    argTypes:
    - vlc_medialibrary_t*
    - vlc_ml_query_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 492
    functionName: MLPlaylistModel::Loader::count(vlc_medialibrary_t* ml, const vlc_ml_query_params_t*
      queryParams) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp
    functionUses: 0
    functionsReached:
    - vlc_ml_count_playlist_media
    linkageType: ''
    returnType: size_t
    signature: size_t MLPlaylistModel::Loader::count(vlc_medialibrary_t* ml, const
      vlc_ml_query_params_t* queryParams) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_list_playlist_media
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:498,1
    - Dst: ml_range_iterate
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:506,1
    - Dst: std::vector::emplace_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:508,1
    - Dst: std::make_unique<MLPlaylistMedia>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:508,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ml
    - queryParams
    argTypes:
    - vlc_medialibrary_t*
    - vlc_ml_query_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 512
    functionName: MLPlaylistModel::Loader::load(vlc_medialibrary_t* ml, const vlc_ml_query_params_t*
      queryParams) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<MLPlaylistMedia>
    - vlc_ml_list_playlist_media
    - ml_range_iterate
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<MLItem>>
    signature: std::vector<std::unique_ptr<MLItem>> MLPlaylistModel::Loader::load(vlc_medialibrary_t*
      ml, const vlc_ml_query_params_t* queryParams) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:517,1
    - Dst: vlc_ml_get_media
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:518,1
    - Dst: std::make_unique<MLPlaylistMedia>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:521,1
    - Dst: ml_unique_ptr::get
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ml
    - itemId
    argTypes:
    - vlc_medialibrary_t*
    - MLItemId
    assertStmts:
    - condition: (itemId.type == VLC_ML_PARENT_UNKNOWN)
      pos:
        line_end: 516
        line_start: 516
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp
    constantsTouched: []
    func_position:
      end: 522
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 522
    functionName: MLPlaylistModel::Loader::loadItemById(vlc_medialibrary_t* ml, MLItemId
      itemId) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<MLPlaylistMedia>
    - assert
    - ml_unique_ptr::get
    - vlc_ml_get_media
    linkageType: ''
    returnType: std::unique_ptr<MLItem>
    signature: std::unique_ptr<MLItem> MLPlaylistModel::Loader::loadItemById(vlc_medialibrary_t*
      ml, MLItemId itemId) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUrlQuery::addQueryItem
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:63,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:63,1
    - Dst: QUrlQuery::addQueryItem
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:64,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:64,1
    - Dst: QUrlQuery::addQueryItem
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:65,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:65,1
    - Dst: CoverData::size::width
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:65,1
    - Dst: QUrlQuery::addQueryItem
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:66,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:66,1
    - Dst: CoverData::size::height
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:66,1
    - Dst: QUrlQuery::addQueryItem
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:67,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:67,1
    - Dst: QUrlQuery::addQueryItem
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:68,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:68,1
    - Dst: QUrlQuery::addQueryItem
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:69,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:69,1
    - Dst: QUrlQuery::addQueryItem
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:70,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:70,1
    - Dst: QUrlQuery::addQueryItem
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - CoverData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 73
    functionName: toQuery
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp
    functionUses: 0
    functionsReached:
    - CoverData::size::height
    - CoverData::size::width
    - vlclua_io_file_read_number
    - QUrlQuery::addQueryItem
    linkageType: ''
    returnType: QUrlQuery
    signature: QUrlQuery toQuery(const CoverData &data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUrlQuery::hasQueryItem
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:81,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:82,1
    - Dst: QUrlQuery::queryItemValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:84,1
    - Dst: getValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:89,1
    - Dst: auto::toInt
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:91,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:93,1
    - Dst: intValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:99,1
    - Dst: static_cast<vlc_ml_parent_type>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:100,1
    - Dst: intValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:100,1
    - Dst: CoverData::size::setWidth
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:101,1
    - Dst: intValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:101,1
    - Dst: CoverData::size::setHeight
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:102,1
    - Dst: intValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:102,1
    - Dst: intValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:103,1
    - Dst: intValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:104,1
    - Dst: intValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:105,1
    - Dst: intValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:106,1
    - Dst: getValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:107,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - query
    - error
    argTypes:
    - QUrlQuery
    - QString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 117
    functionName: fromQuery
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp
    functionUses: 0
    functionsReached:
    - auto::toInt
    - QString
    - intValue
    - QUrlQuery::queryItemValue
    - QUrlQuery::hasQueryItem
    - getValue
    - CoverData::size::setWidth
    - static_cast<vlc_ml_parent_type>
    - CoverData::size::setHeight
    linkageType: ''
    returnType: CoverData
    signature: CoverData fromQuery(const QUrlQuery &query, QString *error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_query_params_create
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:130,1
    - Dst: vlc_ml_list_genre_albums
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:135,1
    - Dst: thumbnailCopy
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:137,1
    - Dst: ml_range_iterate
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:137,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_ml
    - count
    - id
    argTypes:
    - vlc_medialibrary_t*
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 140
    functionName: getGenreMediaThumbnails
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp
    functionUses: 0
    functionsReached:
    - vlc_ml_list_genre_albums
    - std::back_inserter
    - ml_range_iterate
    - thumbnailCopy
    - vlc_ml_query_params_create
    linkageType: ''
    returnType: QStringList
    signature: QStringList getGenreMediaThumbnails(vlc_medialibrary_t* p_ml, const
      int count, const int64_t id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_query_params_create
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:146,1
    - Dst: vlc_ml_list_media_of
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:151,1
    - Dst: ml_range_iterate
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:153,1
    - Dst: ThumbnailList::existing::push_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:158,1
    - Dst: toValidLocalFile
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:158,1
    - Dst: ThumbnailList::toGenerate::insert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:161,1
    - Dst: ThumbnailList::existing::size
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:165,1
    - Dst: ThumbnailList::existing::end
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:167,1
    - Dst: ThumbnailList::existing::size
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:167,1
    - Dst: ThumbnailList::existing::erase
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:168,1
    - Dst: ThumbnailList::existing::end
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:168,1
    - Dst: ThumbnailList::toGenerate::size
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:171,1
    - Dst: ThumbnailList::existing::size
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:171,1
    - Dst: ThumbnailList::toGenerate::erase
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:173,1
    - Dst: ThumbnailList::toGenerate::begin
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:173,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - p_ml
    - count
    - itemID
    argTypes:
    - vlc_medialibrary_t*
    - int
    - MLItemId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 177
    functionName: extractChildMediaThumbnailsOrIDs
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp
    functionUses: 0
    functionsReached:
    - ThumbnailList::existing::erase
    - ThumbnailList::toGenerate::begin
    - vlc_ml_list_media_of
    - ThumbnailList::toGenerate::size
    - ThumbnailList::toGenerate::insert
    - ThumbnailList::existing::size
    - ThumbnailList::existing::push_back
    - ml_range_iterate
    - toValidLocalFile
    - vlc_ml_query_params_create
    - ThumbnailList::existing::end
    - ThumbnailList::toGenerate::erase
    linkageType: ''
    returnType: ThumbnailList
    signature: ThumbnailList extractChildMediaThumbnailsOrIDs(vlc_medialibrary_t *p_ml,
      const int count, const MLItemId &itemID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUrlQuery::addQueryItem
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:63,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:63,1
    - Dst: QUrlQuery::addQueryItem
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:64,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:64,1
    - Dst: QUrlQuery::addQueryItem
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:65,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:65,1
    - Dst: CoverData::size::width
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:65,1
    - Dst: QUrlQuery::addQueryItem
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:66,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:66,1
    - Dst: CoverData::size::height
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:66,1
    - Dst: QUrlQuery::addQueryItem
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:67,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:67,1
    - Dst: QUrlQuery::addQueryItem
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:68,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:68,1
    - Dst: QUrlQuery::addQueryItem
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:69,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:69,1
    - Dst: QUrlQuery::addQueryItem
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:70,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:70,1
    - Dst: QUrlQuery::addQueryItem
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - CoverData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 73
    functionName: toQuery
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp
    functionUses: 0
    functionsReached:
    - CoverData::size::height
    - CoverData::size::width
    - vlclua_io_file_read_number
    - QUrlQuery::addQueryItem
    linkageType: ''
    returnType: QUrlQuery
    signature: QUrlQuery toQuery(const CoverData &data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUrlQuery::hasQueryItem
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:81,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:82,1
    - Dst: QUrlQuery::queryItemValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:84,1
    - Dst: getValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:89,1
    - Dst: auto::toInt
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:91,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:93,1
    - Dst: intValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:99,1
    - Dst: static_cast<vlc_ml_parent_type>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:100,1
    - Dst: intValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:100,1
    - Dst: CoverData::size::setWidth
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:101,1
    - Dst: intValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:101,1
    - Dst: CoverData::size::setHeight
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:102,1
    - Dst: intValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:102,1
    - Dst: intValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:103,1
    - Dst: intValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:104,1
    - Dst: intValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:105,1
    - Dst: intValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:106,1
    - Dst: getValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:107,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - query
    - error
    argTypes:
    - QUrlQuery
    - QString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 117
    functionName: fromQuery
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp
    functionUses: 0
    functionsReached:
    - auto::toInt
    - QString
    - intValue
    - QUrlQuery::queryItemValue
    - QUrlQuery::hasQueryItem
    - getValue
    - CoverData::size::setWidth
    - static_cast<vlc_ml_parent_type>
    - CoverData::size::setHeight
    linkageType: ''
    returnType: CoverData
    signature: CoverData fromQuery(const QUrlQuery &query, QString *error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_query_params_create
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:130,1
    - Dst: vlc_ml_list_genre_albums
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:135,1
    - Dst: thumbnailCopy
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:137,1
    - Dst: ml_range_iterate
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:137,1
    - Dst: std::back_inserter
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_ml
    - count
    - id
    argTypes:
    - vlc_medialibrary_t*
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 140
    functionName: getGenreMediaThumbnails
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp
    functionUses: 0
    functionsReached:
    - vlc_ml_list_genre_albums
    - std::back_inserter
    - ml_range_iterate
    - thumbnailCopy
    - vlc_ml_query_params_create
    linkageType: ''
    returnType: QStringList
    signature: QStringList getGenreMediaThumbnails(vlc_medialibrary_t* p_ml, const
      int count, const int64_t id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_query_params_create
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:146,1
    - Dst: vlc_ml_list_media_of
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:151,1
    - Dst: ml_range_iterate
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:153,1
    - Dst: ThumbnailList::existing::push_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:158,1
    - Dst: toValidLocalFile
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:158,1
    - Dst: ThumbnailList::toGenerate::insert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:161,1
    - Dst: ThumbnailList::existing::size
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:165,1
    - Dst: ThumbnailList::existing::end
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:167,1
    - Dst: ThumbnailList::existing::size
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:167,1
    - Dst: ThumbnailList::existing::erase
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:168,1
    - Dst: ThumbnailList::existing::end
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:168,1
    - Dst: ThumbnailList::toGenerate::size
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:171,1
    - Dst: ThumbnailList::existing::size
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:171,1
    - Dst: ThumbnailList::toGenerate::erase
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:173,1
    - Dst: ThumbnailList::toGenerate::begin
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:173,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - p_ml
    - count
    - itemID
    argTypes:
    - vlc_medialibrary_t*
    - int
    - MLItemId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 177
    functionName: extractChildMediaThumbnailsOrIDs
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp
    functionUses: 0
    functionsReached:
    - ThumbnailList::existing::erase
    - ThumbnailList::toGenerate::begin
    - vlc_ml_list_media_of
    - ThumbnailList::toGenerate::size
    - ThumbnailList::toGenerate::insert
    - ThumbnailList::existing::size
    - ThumbnailList::existing::push_back
    - ml_range_iterate
    - toValidLocalFile
    - vlc_ml_query_params_create
    - ThumbnailList::existing::end
    - ThumbnailList::toGenerate::erase
    linkageType: ''
    returnType: ThumbnailList
    signature: ThumbnailList extractChildMediaThumbnailsOrIDs(vlc_medialibrary_t *p_ml,
      const int count, const MLItemId &itemID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:186,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ml
    argTypes:
    - CoverData
    - MediaLib*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: CustomCoverImageResponse::CustomCoverImageResponse
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - QMetaObject::invokeMethod
    linkageType: ''
    returnType: void
    signature: void CustomCoverImageResponse(CoverData data, MediaLib *ml)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:194,1
    - Dst: QQuickTextureFactory::textureFactoryForImage
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: CustomCoverImageResponse::textureFactory
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp
    functionUses: 0
    functionsReached:
    - isNull
    - QQuickTextureFactory::textureFactoryForImage
    linkageType: ''
    returnType: QQuickTextureFactory
    signature: QQuickTextureFactory *textureFactory() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:199,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:200,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 202
    functionName: CustomCoverImageResponse::errorString
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp
    functionUses: 0
    functionsReached:
    - QStringLiteral
    - isNull
    linkageType: ''
    returnType: QString
    signature: QString errorString() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cancelMLTask
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:209,1
    - Dst: cancelMLTask
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 220
    functionName: CustomCoverImageResponse::cancel
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp
    functionUses: 0
    functionsReached:
    - cancelMLTask
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cancelMLTask
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:228,1
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:230,1
    - Dst: getGenreMediaThumbnails
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:235,1
    - Dst: extractChildMediaThumbnailsOrIDs
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:237,1
    - Dst: toGenerate::empty
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:242,1
    - Dst: CustomCoverImageResponse::generateCover
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:244,1
    - Dst: ThumbnailCollector::ThumbnailCollector
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:249,1
    - Dst: Disconnect
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:250,1
    - Dst: auto::allGenerated
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:252,1
    - Dst: CustomCoverImageResponse::generateCover
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:253,1
    - Dst: auto::deleteLater
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:255,1
    - Dst: auto::start
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 223
    functionDepth: 3
    functionLinenumber: 223
    functionLinenumberEnd: 261
    functionName: CustomCoverImageResponse::start
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp
    functionUses: 0
    functionsReached:
    - CustomCoverImageResponse::generateCover
    - cancelMLTask
    - toGenerate::empty
    - auto::start
    - getGenreMediaThumbnails
    - runOnMLThread
    - extractChildMediaThumbnailsOrIDs
    - Disconnect
    - auto::deleteLater
    - auto::allGenerated
    - ThumbnailCollector::ThumbnailCollector
    linkageType: ''
    returnType: void
    signature: void start()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cancelMLTask
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:268,1
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:270,1
    - Dst: CoverGenerator::CoverGenerator
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:275,1
    - Dst: CoverGenerator::setCountX
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:276,1
    - Dst: CoverGenerator::setCountY
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:277,1
    - Dst: CoverGenerator::setSize
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:278,1
    - Dst: CoverGenerator::setSplit
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:279,1
    - Dst: CoverGenerator::setBlur
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:280,1
    - Dst: defaultCover::isEmpty
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:282,1
    - Dst: CoverGenerator::setDefaultThumbnail
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:283,1
    - Dst: CoverGenerator::execute
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:285,1
    - Dst: CustomCoverImageResponse::doFinish
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - thumbnails
    argTypes:
    - QStringList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 294
    functionName: CustomCoverImageResponse::generateCover
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp
    functionUses: 1
    functionsReached:
    - cancelMLTask
    - CoverGenerator::setSplit
    - CoverGenerator::CoverGenerator
    - CoverGenerator::setCountX
    - CoverGenerator::setSize
    - CustomCoverImageResponse::doFinish
    - defaultCover::isEmpty
    - runOnMLThread
    - CoverGenerator::setDefaultThumbnail
    - CoverGenerator::setCountY
    - CoverGenerator::execute
    - CoverGenerator::setBlur
    linkageType: ''
    returnType: void
    signature: void generateCover(const QStringList &thumbnails)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - QImage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: CustomCoverImageResponse::doFinish
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doFinish(const QImage &result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ml
    argTypes:
    - MediaLib*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 312
    functionName: MLCustomCover::MLCustomCover
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLCustomCover::MLCustomCover(MediaLib *ml)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUrl::setScheme
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:318,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:318,1
    - Dst: QUrl::setHost
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:319,1
    - Dst: QUrl::setQuery
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:320,1
    - Dst: toQuery
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:320,1
    - Dst: QUrl::toString
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 7
    argNames:
    - parentId
    - size
    - defaultCover
    - countX
    - countY
    - blur
    - split_duplicate
    argTypes:
    - MLItemId
    - QSize
    - QString
    - int
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 322
    functionName: MLCustomCover::url
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp
    functionUses: 2
    functionsReached:
    - QStringLiteral
    - QUrl::setQuery
    - QUrl::toString
    - QUrl::setHost
    - toQuery
    - QUrl::setScheme
    linkageType: ''
    returnType: QString
    signature: "QString MLCustomCover::url(const MLItemId &parentId, const QSize &size,
      const QString &defaultCover\n                           , const int countX,
      const int countY, const int blur, const bool split_duplicate)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fromQuery
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:327,1
    - Dst: QUrlQuery
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:327,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:328,1
    - Dst: qDebug
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:330,1
    - Dst: qUtf8Printable
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:330,1
    - Dst: qUtf8Printable
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:330,1
    - Dst: QSize::isValid
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:334,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:337,1
    - Dst: CustomCoverImageResponse::CustomCoverImageResponse
      Src: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - id
    - requestedSize
    argTypes:
    - QString
    - QSize
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 338
    functionName: MLCustomCover::requestImageResponse
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlcustomcover.cpp
    functionUses: 0
    functionsReached:
    - qUtf8Printable
    - QString::isEmpty
    - QUrlQuery
    - std::move
    - QSize::isValid
    - CustomCoverImageResponse::CustomCoverImageResponse
    - qDebug
    - fromQuery
    linkageType: ''
    returnType: QQuickImageResponse
    signature: QQuickImageResponse *MLCustomCover::requestImageResponse(const QString
      &id, const QSize &requestedSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~MLVideoGroupsModel()
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideogroupsmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MLVideoGroupsModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MLItemId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartist.cpp:23,1
    - Dst: QString::fromUtf8
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartist.cpp:24,1
    - Dst: QString::fromUtf8
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartist.cpp:25,1
    - Dst: QString::fromUtf8
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartist.cpp:26,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlartist.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _data
    argTypes:
    - vlc_ml_artist_t*
    assertStmts:
    - condition: ( _data )
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlartist.cpp
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: MLArtist::MLArtist
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlartist.cpp
    functionUses: 0
    functionsReached:
    - QString::fromUtf8
    - assert
    - MLItemId
    linkageType: ''
    returnType: void
    signature: void MLArtist::MLArtist(const vlc_ml_artist_t* _data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: MLArtist::getName
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlartist.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString MLArtist::getName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: MLArtist::getShortBio
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlartist.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString MLArtist::getShortBio() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: MLArtist::getCover
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlartist.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString MLArtist::getCover() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: MLArtist::getNbAlbums
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlartist.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int MLArtist::getNbAlbums() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: MLArtist::getNbTracks
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlartist.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int MLArtist::getNbTracks() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unregisterEventListener
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: MLBookmarkModel::MLBookmarkModel
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp
    functionUses: 3
    functionsReached:
    - unregisterEventListener
    linkageType: ''
    returnType: void
    signature: void MLBookmarkModel::MLBookmarkModel( QObject *parent )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_RemoveListener
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: MLBookmarkModel::~MLBookmarkModel()
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp
    functionUses: 0
    functionsReached:
    - vlc_player_RemoveListener
    linkageType: ''
    returnType: void
    signature: void MLBookmarkModel::~MLBookmarkModel()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::isValid
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:56,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:56,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:57,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:60,1
    - Dst: MLBookmarkModel::columnToRole
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:63,1
    - Dst: QModelIndex::column
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:63,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:67,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:67,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:69,1
    - Dst: VLCDuration::fromMS
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:69,1
    - Dst: vlc_player_GetLength
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:73,1
    - Dst: QVariant::fromValue<float>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:74,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:74,1
    - Dst: vlc_player_GetLength
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:74,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:77,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:77,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - index
    - role
    argTypes:
    - QModelIndex
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 81
    functionName: MLBookmarkModel::data
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp
    functionUses: 0
    functionsReached:
    - QModelIndex::column
    - QVariant::fromValue<float>
    - VLCDuration::fromMS
    - MLBookmarkModel::columnToRole
    - QModelIndex::row
    - VLC_TICK_FROM_MS
    - vlc_player_GetLength
    - fromValue
    - QModelIndex::isValid
    - qfu
    linkageType: ''
    returnType: QVariant
    signature: QVariant MLBookmarkModel::data( const QModelIndex &index, int role
      ) const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::isValid
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:85,1
    - Dst: MLBookmarkModel::columnToRole
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:88,1
    - Dst: QModelIndex::column
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:88,1
    - Dst: QVariant::canConvert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:91,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:94,1
    - Dst: QModelIndex::column
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:95,1
    - Dst: QVariant::toString
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:101,1
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:106,1
    - Dst: vlc_ml_media_update_bookmark
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:113,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:113,1
    - Dst: vlc_ml_media_update_bookmark
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:115,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:115,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:131,1
    - Dst: strdup
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:132,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:132,1
    - Dst: MLBookmarkModel::index
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:133,1
    - Dst: MLBookmarkModel::index
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:133,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:138,1
    - Dst: strdup
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:139,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:139,1
    - Dst: MLBookmarkModel::index
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:140,1
    - Dst: MLBookmarkModel::index
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:140,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 3
    argNames:
    - index
    - value
    - role
    argTypes:
    - QModelIndex
    - QVariant
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 146
    functionName: MLBookmarkModel::setData
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp
    functionUses: 0
    functionsReached:
    - strdup
    - QModelIndex::column
    - MLBookmarkModel::columnToRole
    - QVariant::canConvert
    - QModelIndex::row
    - QVariant::toString
    - MLBookmarkModel::index
    - free
    - qtu
    - runOnMLThread
    - vlc_ml_media_update_bookmark
    - QModelIndex::isValid
    linkageType: ''
    returnType: bool
    signature: bool MLBookmarkModel::setData(const QModelIndex &index, const QVariant
      &value, int role)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:150,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:151,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:152,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: MLBookmarkModel::roleNames
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp
    functionUses: 0
    functionsReached:
    - QByteArrayLiteral
    linkageType: ''
    returnType: QHash<int, QByteArray>
    signature: QHash<int, QByteArray> MLBookmarkModel::roleNames() const
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - column
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: MLBookmarkModel::columnToRole
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MLBookmarkModel::columnToRole(int column) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: demux_test_and_clear_flags
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:173,1
    - Dst: column
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' index'
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: MLBookmarkModel::flags
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp
    functionUses: 0
    functionsReached:
    - column
    - demux_test_and_clear_flags
    linkageType: ''
    returnType: Qt::ItemFlags
    signature: Qt::ItemFlags MLBookmarkModel::flags( const QModelIndex& index ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: MLBookmarkModel::rowCount
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MLBookmarkModel::rowCount(const QModelIndex &) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: MLBookmarkModel::columnCount
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MLBookmarkModel::columnCount(const QModelIndex &) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createIndex
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - row
    - column
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: MLBookmarkModel::index
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp
    functionUses: 1
    functionsReached:
    - createIndex
    linkageType: ''
    returnType: QModelIndex
    signature: QModelIndex MLBookmarkModel::index( int row, int column, const QModelIndex&
      ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createIndex
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: MLBookmarkModel::parent
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp
    functionUses: 0
    functionsReached:
    - createIndex
    linkageType: ''
    returnType: QModelIndex
    signature: QModelIndex MLBookmarkModel::parent(const QModelIndex &) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:210,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:210,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:212,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:212,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:214,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - section
    - orientation
    - role
    argTypes:
    - int
    - Qt::Orientation
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 218
    functionName: MLBookmarkModel::headerData
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp
    functionUses: 0
    functionsReached:
    - fromValue
    - qtr
    linkageType: ''
    returnType: QVariant
    signature: "QVariant MLBookmarkModel::headerData( int section, Qt::Orientation
      orientation,\n                                      int role ) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MLBookmarkModel::refresh
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - column
    - order
    argTypes:
    - int
    - Qt::SortOrder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 241
    functionName: MLBookmarkModel::sort
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp
    functionUses: 0
    functionsReached:
    - MLBookmarkModel::refresh
    linkageType: ''
    returnType: void
    signature: void MLBookmarkModel::sort( int column, Qt::SortOrder order )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_GetTime
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:248,1
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:254,1
    - Dst: MLBookmarkModel::rowCount
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:256,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:258,1
    - Dst: vlc_ml_media_add_bookmark
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:260,1
    - Dst: vlc_ml_get_media
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:262,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:266,1
    - Dst: VLCDuration::fromMS
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:266,1
    - Dst: vlc_ml_media_update_bookmark
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:268,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:268,1
    - Dst: MLBookmarkModel::refresh
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 275
    functionName: MLBookmarkModel::add
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp
    functionUses: 0
    functionsReached:
    - MS_FROM_VLC_TICK
    - VLCDuration::fromMS
    - MLBookmarkModel::rowCount
    - qtr
    - MLBookmarkModel::refresh
    - vlc_player_GetTime
    - qtu
    - runOnMLThread
    - vlc_ml_get_media
    - vlc_ml_media_update_bookmark
    - vlc_ml_media_add_bookmark
    linkageType: ''
    returnType: void
    signature: void MLBookmarkModel::add()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:285,1
    - Dst: row
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:285,1
    - Dst: row
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:287,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:288,1
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:291,1
    - Dst: vlc_ml_media_remove_bookmark
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:297,1
    - Dst: MLBookmarkModel::refresh
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:301,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - indexes
    argTypes:
    - QModelIndexList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 303
    functionName: MLBookmarkModel::remove
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp
    functionUses: 0
    functionsReached:
    - vlc_ml_media_remove_bookmark
    - MLBookmarkModel::refresh
    - row
    - std::vector::push_back
    - runOnMLThread
    - isValid
    linkageType: ''
    returnType: void
    signature: void MLBookmarkModel::remove( const QModelIndexList &indexes )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:310,1
    - Dst: vlc_ml_media_remove_all_bookmarks
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:314,1
    - Dst: beginResetModel
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:321,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:322,1
    - Dst: endResetModel
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 326
    functionName: MLBookmarkModel::clear
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp
    functionUses: 0
    functionsReached:
    - vlc_ml_media_remove_all_bookmarks
    - reset
    - runOnMLThread
    - beginResetModel
    - endResetModel
    linkageType: ''
    returnType: void
    signature: void MLBookmarkModel::clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QModelIndex::isValid
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:330,1
    - Dst: QModelIndex::row
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:332,1
    - Dst: vlc_player_SetTime
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:334,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 335
    functionName: MLBookmarkModel::select
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp
    functionUses: 0
    functionsReached:
    - vlc_player_SetTime
    - QModelIndex::row
    - QModelIndex::isValid
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: void
    signature: void MLBookmarkModel::select(const QModelIndex &index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MLBookmarkModel*>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:341,1
    - Dst: auto::m_currentItem::reset
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:347,1
    - Dst: input_item_Hold
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:347,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:354,1
    - Dst: auto::updateMediaId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - media
    - data
    argTypes:
    - input_item_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 365
    functionName: MLBookmarkModel::onCurrentMediaChanged
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp
    functionUses: 0
    functionsReached:
    - input_item_Hold
    - auto::updateMediaId
    - QMetaObject::invokeMethod
    - static_cast<MLBookmarkModel*>
    - auto::m_currentItem::reset
    linkageType: ''
    returnType: void
    signature: "void MLBookmarkModel::onCurrentMediaChanged( vlc_player_t*, input_item_t*
      media,\n                                             void *data )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MLBookmarkModel*>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:370,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:375,1
    - Dst: auto::refresh
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:377,1
    - Dst: auto::refresh
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - state
    - data
    argTypes:
    - vlc_player_state
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 381
    functionName: MLBookmarkModel::onPlaybackStateChanged
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp
    functionUses: 0
    functionsReached:
    - auto::refresh
    - QMetaObject::invokeMethod
    - static_cast<MLBookmarkModel*>
    linkageType: ''
    returnType: void
    signature: "void MLBookmarkModel::onPlaybackStateChanged( vlc_player_t *, vlc_player_state
      state,\n                                              void *data )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:386,1
    - Dst: MLBookmarkModel::refresh
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:388,1
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:397,1
    - Dst: vlc_ml_get_media_by_mrl
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:401,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:401,1
    - Dst: vlc_ml_release
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:405,1
    - Dst: vlc_ml_query_params_create
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:407,1
    - Dst: newBookmarks::reset
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:410,1
    - Dst: vlc_ml_list_media_bookmarks
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:410,1
    - Dst: beginResetModel
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:422,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:423,1
    - Dst: MLBookmarkModel::refresh
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:425,1
    - Dst: endResetModel
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - revision
    - mediaUri
    argTypes:
    - uint64_t
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 429
    functionName: MLBookmarkModel::updateMediaId
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp
    functionUses: 0
    functionsReached:
    - QString::isEmpty
    - newBookmarks::reset
    - vlc_ml_list_media_bookmarks
    - MLBookmarkModel::refresh
    - vlc_ml_get_media_by_mrl
    - qtu
    - runOnMLThread
    - beginResetModel
    - std::move
    - endResetModel
    - vlc_ml_query_params_create
    - vlc_ml_release
    linkageType: ''
    returnType: void
    signature: void MLBookmarkModel::updateMediaId(uint64_t revision, const QString
      &mediaUri)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: beginResetModel
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:435,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:436,1
    - Dst: endResetModel
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:437,1
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:446,1
    - Dst: vlc_ml_query_params_create
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:450,1
    - Dst: newBookmarks::reset
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:453,1
    - Dst: vlc_ml_list_media_bookmarks
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:453,1
    - Dst: beginResetModel
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:458,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:460,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:462,1
    - Dst: endResetModel
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:463,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - forceClear
    argTypes:
    - MLBookmarkModel::RefreshOperation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 466
    functionName: MLBookmarkModel::refresh
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp
    functionUses: 4
    functionsReached:
    - newBookmarks::reset
    - vlc_ml_list_media_bookmarks
    - reset
    - std::move
    - beginResetModel
    - runOnMLThread
    - endResetModel
    - vlc_ml_query_params_create
    linkageType: ''
    returnType: void
    signature: void MLBookmarkModel::refresh(MLBookmarkModel::RefreshOperation forceClear
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 471
    functionName: MLBookmarkModel::player
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_player_t
    signature: vlc_player_t * MLBookmarkModel::player() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_RemoveListener
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:479,1
    - Dst: MLBookmarkModel::initModel
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:485,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - player
    argTypes:
    - vlc_player_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 486
    functionName: MLBookmarkModel::setPlayer
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp
    functionUses: 0
    functionsReached:
    - vlc_player_RemoveListener
    - MLBookmarkModel::initModel
    linkageType: ''
    returnType: void
    signature: void MLBookmarkModel::setPlayer(vlc_player_t * player)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 492
    functionName: MLBookmarkModel::playerController
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PlayerController
    signature: PlayerController * MLBookmarkModel::playerController() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:499,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:503,1
    - Dst: MLBookmarkModel::setPlayer
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:505,1
    - Dst: PlayerController*::getPlayer
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - player
    argTypes:
    - PlayerController*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 506
    functionName: MLBookmarkModel::setPlayer
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp
    functionUses: 1
    functionsReached:
    - connect
    - MLBookmarkModel::setPlayer
    - disconnect
    - PlayerController*::getPlayer
    linkageType: ''
    returnType: void
    signature: void MLBookmarkModel::setPlayer(PlayerController * player)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 511
    functionName: MLBookmarkModel::ml
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MediaLib
    signature: MediaLib * MLBookmarkModel::ml() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MLBookmarkModel::refresh
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 516
    functionName: MLBookmarkModel::playerLengthChanged
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp
    functionUses: 0
    functionsReached:
    - MLBookmarkModel::refresh
    linkageType: ''
    returnType: void
    signature: void MLBookmarkModel::playerLengthChanged()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:523,1
    - Dst: MLBookmarkModel::initModel
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:528,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - medialib
    argTypes:
    - MediaLib*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 529
    functionName: MLBookmarkModel::setMl
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp
    functionUses: 0
    functionsReached:
    - MLBookmarkModel::initModel
    - reset
    linkageType: ''
    returnType: void
    signature: void MLBookmarkModel::setMl(MediaLib* medialib)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_AddListener
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:543,1
    - Dst: vlc_player_GetCurrentMedia
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:546,1
    - Dst: vlc::wrap_cptr
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:547,1
    - Dst: input_item_Hold
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:547,1
    - Dst: MLBookmarkModel::updateMediaId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:554,1
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:557,1
    - Dst: registerEventListener
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:557,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 558
    functionName: MLBookmarkModel::initModel
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp
    functionUses: 2
    functionsReached:
    - vlc::wrap_cptr
    - registerEventListener
    - reset
    - vlc_player_AddListener
    - input_item_Hold
    - MLBookmarkModel::updateMediaId
    - vlc_player_GetCurrentMedia
    linkageType: ''
    returnType: void
    signature: void MLBookmarkModel::initModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MLBookmarkModel*>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:562,1
    - Dst: std::make_shared<MLEvent>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:563,1
    - Dst: QMetaObject::invokeMethod
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:564,1
    - Dst: auto::onVlcMlEvent
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - event
    argTypes:
    - void*
    - vlc_ml_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 567
    functionName: MLBookmarkModel::onVlcMlEvent
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<MLEvent>
    - auto::onVlcMlEvent
    - QMetaObject::invokeMethod
    - static_cast<MLBookmarkModel*>
    linkageType: ''
    returnType: void
    signature: void MLBookmarkModel::onVlcMlEvent(void* data, const vlc_ml_event_t*
      event)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MLBookmarkModel::refresh
      Src: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp:575,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - event
    argTypes:
    - MLEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 580
    functionName: MLBookmarkModel::onVlcMlEvent
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlbookmarkmodel.cpp
    functionUses: 0
    functionsReached:
    - MLBookmarkModel::refresh
    linkageType: ''
    returnType: void
    signature: void MLBookmarkModel::onVlcMlEvent(const MLEvent &event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: ~MLAudioModel()
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlaudiomodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MLAudioModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: MLPlaylistModel::transactionPending
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool transactionPending() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MLItemId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbum.cpp:24,1
    - Dst: QString::fromUtf8
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbum.cpp:25,1
    - Dst: QString::fromUtf8
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbum.cpp:27,1
    - Dst: QString::fromUtf8
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbum.cpp:28,1
    - Dst: QString::fromUtf8
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbum.cpp:29,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbum.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _data
    argTypes:
    - vlc_ml_album_t*
    assertStmts:
    - condition: ( _data )
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlalbum.cpp
    constantsTouched: []
    func_position:
      end: 34
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 34
    functionName: MLAlbum::MLAlbum
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlalbum.cpp
    functionUses: 0
    functionsReached:
    - QString::fromUtf8
    - assert
    - MLItemId
    linkageType: ''
    returnType: void
    signature: void MLAlbum::MLAlbum(const vlc_ml_album_t *_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: MLAlbum::getTitle
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlalbum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString MLAlbum::getTitle() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: MLAlbum::getReleaseYear
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlalbum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int MLAlbum::getReleaseYear() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: MLAlbum::getShortSummary
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlalbum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString MLAlbum::getShortSummary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: MLAlbum::getCover
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlalbum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString MLAlbum::getCover() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: MLAlbum::getArtist
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlalbum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString MLAlbum::getArtist() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: MLAlbum::getNbTracks
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlalbum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int MLAlbum::getNbTracks() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLCDuration::fromMS
      Src: /src/vlc/modules/gui/qt/medialibrary/mlalbum.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: MLAlbum::getDuration
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlalbum.cpp
    functionUses: 0
    functionsReached:
    - VLCDuration::fromMS
    linkageType: ''
    returnType: VLCDuration
    signature: VLCDuration MLAlbum::getDuration() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MLItemId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmedia.hpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: MLMedia::MLMedia
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmedia.hpp
    functionUses: 0
    functionsReached:
    - MLItemId
    linkageType: ''
    returnType: void
    signature: void MLMedia()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MLItemId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmedia.hpp:42,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmedia.hpp:48,1
    - Dst: ml_range_iterate
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmedia.hpp:54,1
    - Dst: QUrl::fromEncoded
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmedia.hpp:57,1
    - Dst: QUrl
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmedia.hpp:58,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmedia.hpp:61,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmedia.hpp:62,1
    - Dst: getThumbnail
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmedia.hpp:63,1
    - Dst: getThumbnail
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmedia.hpp:64,1
    - Dst: VLCDuration::fromMS
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmedia.hpp:65,1
    - Dst: getMRL
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmedia.hpp:68,1
    - Dst: QDateTime::fromSecsSinceEpoch
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmedia.hpp:71,1
    - Dst: QTimeZone::systemTimeZone
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmedia.hpp:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - media
    argTypes:
    - vlc_ml_media_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 72
    functionName: MLMedia::MLMedia
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmedia.hpp
    functionUses: 0
    functionsReached:
    - QUrl::fromEncoded
    - QDateTime::fromSecsSinceEpoch
    - VLCDuration::fromMS
    - QUrl
    - getThumbnail
    - MLItemId
    - QTimeZone::systemTimeZone
    - ml_range_iterate
    - qfu
    - getMRL
    linkageType: ''
    returnType: void
    signature: void MLMedia(const vlc_ml_media_t *media)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: MLMedia::title
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmedia.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString title() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: MLMedia::fileName
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmedia.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString fileName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: MLMedia::duration
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmedia.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VLCDuration
    signature: VLCDuration duration() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: MLMedia::progress
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmedia.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: qreal
    signature: qreal progress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: MLMedia::playCount
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmedia.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int playCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toEncoded
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmedia.hpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: MLMedia::mrl
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmedia.hpp
    functionUses: 0
    functionsReached:
    - toEncoded
    linkageType: ''
    returnType: QString
    signature: QString mrl() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: MLMedia::type
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmedia.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_ml_media_type_t
    signature: vlc_ml_media_type_t type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: MLMedia::isFavorite
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmedia.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isFavorite() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - isFavorite
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: MLMedia::setIsFavorite
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmedia.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setIsFavorite(const bool isFavorite)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: MLMedia::lastPlayedDate
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmedia.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QDateTime
    signature: QDateTime lastPlayedDate() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: MLMedia::smallCover
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmedia.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString smallCover(vlc_ml_thumbnail_status_t* status = nullptr) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: MLMedia::bannerCover
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmedia.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString bannerCover(vlc_ml_thumbnail_status_t* status = nullptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: MLMedia::progressTime
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmedia.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VLCTime
    signature: VLCTime progressTime() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlmedia.hpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: MLMedia::valid
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlmedia.hpp
    functionUses: 1
    functionsReached:
    - getId
    linkageType: ''
    returnType: Q_INVOKABLE
    signature: Q_INVOKABLE valid() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_query_params_create
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:52,1
    - Dst: ml_unique_ptr::reset
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:61,1
    - Dst: vlc_ml_list_media_of
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:61,1
    - Dst: ml_range_iterate
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:66,1
    - Dst: vlc_ml_playlist_append
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:67,1
    - Dst: vlc_ml_playlist_append
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - ml
    - playlistId
    - ' itemList'
    argTypes:
    - vlc_medialibrary_t*
    - int64_t
    - std::vector<MLItemId>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 73
    functionName: appendMediaIntoPlaylist
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    functionUses: 0
    functionsReached:
    - vlc_ml_list_media_of
    - ml_unique_ptr::reset
    - vlc_ml_playlist_append
    - ml_range_iterate
    - vlc_ml_query_params_create
    linkageType: ''
    returnType: void
    signature: void appendMediaIntoPlaylist(vlc_medialibrary_t* ml, int64_t playlistId,
      const std::vector<MLItemId>& itemList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_query_params_create
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:52,1
    - Dst: ml_unique_ptr::reset
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:61,1
    - Dst: vlc_ml_list_media_of
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:61,1
    - Dst: ml_range_iterate
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:66,1
    - Dst: vlc_ml_playlist_append
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:67,1
    - Dst: vlc_ml_playlist_append
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - ml
    - playlistId
    - ' itemList'
    argTypes:
    - vlc_medialibrary_t*
    - int64_t
    - std::vector<MLItemId>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 73
    functionName: appendMediaIntoPlaylist
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    functionUses: 0
    functionsReached:
    - vlc_ml_list_media_of
    - ml_unique_ptr::reset
    - vlc_ml_playlist_append
    - ml_range_iterate
    - vlc_ml_query_params_create
    linkageType: ''
    returnType: void
    signature: void appendMediaIntoPlaylist(vlc_medialibrary_t* ml, int64_t playlistId,
      const std::vector<MLItemId>& itemList)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: MLPlaylistListModel::MLPlaylistListModel
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLPlaylistListModel::MLPlaylistListModel(QObject * parent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:89,1
    - Dst: MLPlaylistListModel::setTransactionPending
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:95,1
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:97,1
    - Dst: vlc_ml_playlist_create
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:101,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:101,1
    - Dst: MLItemId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:104,1
    - Dst: vlc_ml_playlist_release
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:105,1
    - Dst: MLPlaylistListModel::endTransaction
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:109,1
    - Dst: MLPlaylistListModel::append
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - ' name'
    - ' initialItems'
    argTypes:
    - QString
    - QVariantList
    assertStmts:
    - condition: (m_mediaLib)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    constantsTouched: []
    func_position:
      end: 116
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 116
    functionName: MLPlaylistListModel::create
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    functionUses: 0
    functionsReached:
    - MLPlaylistListModel::endTransaction
    - assert
    - MLPlaylistListModel::setTransactionPending
    - MLPlaylistListModel::append
    - vlc_ml_playlist_create
    - MLItemId
    - qtu
    - runOnMLThread
    - vlc_ml_playlist_release
    linkageType: ''
    returnType: void
    signature: void MLPlaylistListModel::create(const QString & name, const QVariantList&
      initialItems)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:121,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:122,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:122,1
    - Dst: unlikely
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:124,1
    - Dst: MLPlaylistListModel::setTransactionPending
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:124,1
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:127,1
    - Dst: std::vector::reserve
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:131,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:131,1
    - Dst: at
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:133,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:139,1
    - Dst: canConvert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:139,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:141,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:141,1
    - Dst: appendMediaIntoPlaylist
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:144,1
    - Dst: vlc::playlist::toMediaList
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:148,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:152,1
    - Dst: raw
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:152,1
    - Dst: raw
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:154,1
    - Dst: vlc_ml_get_media_by_mrl
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:156,1
    - Dst: vlc_ml_new_external_media
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:160,1
    - Dst: vlc_ml_playlist_append
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:165,1
    - Dst: vlc_ml_media_release
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:166,1
    - Dst: MLPlaylistListModel::endTransaction
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - ' playlistId'
    - ' ids'
    argTypes:
    - MLItemId
    - QVariantList
    assertStmts:
    - condition: (m_mediaLib)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    - condition: (ids.size() > 0)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    - condition: (id.canConvert<MLItemId>())
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    - condition: (media.raw())
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    constantsTouched: []
    func_position:
      end: 174
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 174
    functionName: MLPlaylistListModel::append
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    functionUses: 1
    functionsReached:
    - std::vector::reserve
    - MLPlaylistListModel::endTransaction
    - assert
    - MLPlaylistListModel::setTransactionPending
    - size
    - value
    - appendMediaIntoPlaylist
    - at
    - vlc::playlist::toMediaList
    - raw
    - vlc_ml_get_media_by_mrl
    - vlc_ml_new_external_media
    - runOnMLThread
    - std::vector::push_back
    - vlc_ml_playlist_append
    - canConvert
    - vlc_ml_media_release
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void MLPlaylistListModel::append(const MLItemId     & playlistId,\n
      \                                                  const QVariantList & ids)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:178,1
    - Dst: unlikely
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:180,1
    - Dst: MLPlaylistListModel::setTransactionPending
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:180,1
    - Dst: canConvert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:186,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:189,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:194,1
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:197,1
    - Dst: vlc_ml_playlist_delete
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:202,1
    - Dst: MLPlaylistListModel::endTransaction
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:206,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - ' ids'
    argTypes:
    - QVariantList
    assertStmts:
    - condition: (m_mediaLib)
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    constantsTouched: []
    func_position:
      end: 210
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 210
    functionName: MLPlaylistListModel::deletePlaylists
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    functionUses: 0
    functionsReached:
    - MLPlaylistListModel::endTransaction
    - assert
    - MLPlaylistListModel::setTransactionPending
    - unlikely
    - runOnMLThread
    - std::vector::push_back
    - vlc_ml_playlist_delete
    - canConvert
    - value
    linkageType: ''
    returnType: bool
    signature: bool MLPlaylistListModel::deletePlaylists(const QVariantList & ids)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: row
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:216,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:218,1
    - Dst: static_cast<MLPlaylist *>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:221,1
    - Dst: item
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:221,1
    - Dst: MLPlaylist*::getName
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:223,1
    - Dst: DialogsProvider::getInstance
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:225,1
    - Dst: DialogsProvider*::getTextDialog
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:229,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:229,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:230,1
    - Dst: QString::isEmpty
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:233,1
    - Dst: MLPlaylist*::getId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:236,1
    - Dst: runOnMLThread
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:238,1
    - Dst: vlc_ml_playlist_rename
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:242,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:242,1
    - Dst: MLPlaylist*::setName
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:246,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ' index'
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 251
    functionName: MLPlaylistListModel::showDialogRename
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    functionUses: 0
    functionsReached:
    - item
    - vlc_ml_playlist_rename
    - MLPlaylist*::getId
    - QString::isEmpty
    - qtr
    - MLPlaylist*::setName
    - DialogsProvider::getInstance
    - DialogsProvider*::getTextDialog
    - qtu
    - row
    - MLPlaylist*::getName
    - runOnMLThread
    - static_cast<MLPlaylist *>
    - rowCount
    linkageType: ''
    returnType: bool
    signature: bool MLPlaylistListModel::showDialogRename(const QModelIndex & index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:257,1
    - Dst: MLItemId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:258,1
    - Dst: item
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 261
    functionName: MLPlaylistListModel::getItemId
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    functionUses: 0
    functionsReached:
    - item
    - MLItemId
    - rowCount
    linkageType: ''
    returnType: MLItemId
    signature: MLItemId MLPlaylistListModel::getItemId(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:271,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:272,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:273,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:274,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:275,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:276,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:277,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 280
    functionName: MLPlaylistListModel::roleNames
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    functionUses: 0
    functionsReached:
    - QByteArrayLiteral
    linkageType: ''
    returnType: QHash<int, QByteArray>
    signature: QHash<int, QByteArray> MLPlaylistListModel::roleNames() const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MLPlaylist *>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:284,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:286,1
    - Dst: auto::getName
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:292,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:295,1
    - Dst: auto::getId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:295,1
    - Dst: auto::getName
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:297,1
    - Dst: MLPlaylistListModel::getCover
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:299,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:301,1
    - Dst: auto::getDuration
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:301,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:303,1
    - Dst: auto::getCount
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:303,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:305,1
    - Dst: auto::getNbAudio
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:305,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:307,1
    - Dst: auto::getNbVideo
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:307,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:309,1
    - Dst: auto::getNbUnknown
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:309,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 2
    argNames:
    - item
    - role
    argTypes:
    - MLItem*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 313
    functionName: MLPlaylistListModel::itemRoleData
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    functionUses: 0
    functionsReached:
    - QVariant
    - auto::getId
    - static_cast<const MLPlaylist *>
    - MLPlaylistListModel::getCover
    - auto::getDuration
    - auto::getNbUnknown
    - auto::getName
    - auto::getCount
    - fromValue
    - auto::getNbVideo
    - auto::getNbAudio
    linkageType: ''
    returnType: QVariant
    signature: QVariant MLPlaylistListModel::itemRoleData(const MLItem *item, int
      role) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:323,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:326,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:326,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - section
    - orientation
    - role
    argTypes:
    - int
    - Qt::Orientation
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 329
    functionName: MLPlaylistListModel::headerData
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    functionUses: 0
    functionsReached:
    - QVariant
    - fromValue
    - qtr
    linkageType: ''
    returnType: QVariant
    signature: "QVariant MLPlaylistListModel::headerData(int section, Qt::Orientation
      orientation,\n                                         int role) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MLListCacheLoader>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:337,1
    - Dst: std::make_shared<MLPlaylistListModel::Loader>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 338
    functionName: MLPlaylistListModel::createMLLoader
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<MLPlaylistListModel::Loader>
    - std::make_unique<MLListCacheLoader>
    linkageType: ''
    returnType: std::unique_ptr<MLListCacheLoader>
    signature: std::unique_ptr<MLListCacheLoader> MLPlaylistListModel::createMLLoader()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MLPlaylistListModel::setTransactionPending
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 347
    functionName: MLPlaylistListModel::endTransaction
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    functionUses: 3
    functionsReached:
    - MLPlaylistListModel::setTransactionPending
    linkageType: ''
    returnType: void
    signature: void MLPlaylistListModel::endTransaction()
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 367
    functionName: MLPlaylistListModel::setTransactionPending
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MLPlaylistListModel::setTransactionPending(const bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MLCustomCover::url
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:371,1
    - Dst: MLPlaylist*::getId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - playlist
    argTypes:
    - MLPlaylist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 369
    functionDepth: 3
    functionLinenumber: 369
    functionLinenumberEnd: 375
    functionName: MLPlaylistListModel::getCover
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    functionUses: 1
    functionsReached:
    - MLPlaylist*::getId
    - MLCustomCover::url
    linkageType: ''
    returnType: QString
    signature: QString MLPlaylistListModel::getCover(const MLPlaylist * playlist)
      const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: deleteItemInCache
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:397,1
    - Dst: updateItemInCache
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:404,1
    - Dst: MLBaseModel::onVlcMlEvent
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:416,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - ' event'
    argTypes:
    - MLEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 417
    functionName: MLPlaylistListModel::onVlcMlEvent
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    functionUses: 0
    functionsReached:
    - MLBaseModel::onVlcMlEvent
    - deleteItemInCache
    - updateItemInCache
    linkageType: ''
    returnType: void
    signature: void MLPlaylistListModel::onVlcMlEvent(const MLEvent & event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 426
    functionName: MLPlaylistListModel::coverSize
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QSize
    signature: QSize MLPlaylistListModel::coverSize() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' size'
    argTypes:
    - QSize
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 436
    functionName: MLPlaylistListModel::setCoverSize
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLPlaylistListModel::setCoverSize(const QSize & size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 441
    functionName: MLPlaylistListModel::coverDefault
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString MLPlaylistListModel::coverDefault() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' fileName'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 451
    functionName: MLPlaylistListModel::setCoverDefault
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLPlaylistListModel::setCoverDefault(const QString & fileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 456
    functionName: MLPlaylistListModel::coverPrefix
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QString
    signature: QString MLPlaylistListModel::coverPrefix() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' prefix'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 466
    functionName: MLPlaylistListModel::setCoverPrefix
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLPlaylistListModel::setCoverPrefix(const QString & prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 471
    functionName: MLPlaylistListModel::playlistType
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MLPlaylistListModel::PlaylistType
    signature: MLPlaylistListModel::PlaylistType MLPlaylistListModel::playlistType()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resetCache
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - playlistType
    argTypes:
    - PlaylistType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 480
    functionName: MLPlaylistListModel::setPlaylistType
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    functionUses: 0
    functionsReached:
    - resetCache
    linkageType: ''
    returnType: void
    signature: void MLPlaylistListModel::setPlaylistType(PlaylistType playlistType)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - type
    argTypes:
    - MLPlaylistListModel::PlaylistType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 502
    functionName: qmlToMLPlaylistType
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    linkageType: ''
    returnType: vlc_ml_playlist_type_t
    signature: vlc_ml_playlist_type_t qmlToMLPlaylistType(MLPlaylistListModel::PlaylistType
      type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' model'
    - playlistType
    argTypes:
    - MLPlaylistListModel
    - PlaylistType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 507
    functionName: MLPlaylistListModel::Loader::Loader(const MLPlaylistListModel &
      model, PlaylistType playlistType)
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLPlaylistListModel::Loader::Loader(const MLPlaylistListModel
      & model, PlaylistType playlistType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qmlToMLPlaylistType
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:511,1
    - Dst: vlc_ml_count_playlists
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ml
    - queryParams
    argTypes:
    - vlc_medialibrary_t*
    - vlc_ml_query_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 509
    functionDepth: 2
    functionLinenumber: 509
    functionLinenumberEnd: 514
    functionName: MLPlaylistListModel::Loader::count(vlc_medialibrary_t* ml, const
      vlc_ml_query_params_t* queryParams) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    functionUses: 0
    functionsReached:
    - qmlToMLPlaylistType
    - vlc_ml_count_playlists
    linkageType: ''
    returnType: size_t
    signature: size_t MLPlaylistListModel::Loader::count(vlc_medialibrary_t* ml, const
      vlc_ml_query_params_t* queryParams) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qmlToMLPlaylistType
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:519,1
    - Dst: ml_range_iterate
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:528,1
    - Dst: std::vector::emplace_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:530,1
    - Dst: std::make_unique<MLPlaylist>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ml
    - queryParams
    argTypes:
    - vlc_medialibrary_t*
    - vlc_ml_query_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 516
    functionDepth: 2
    functionLinenumber: 516
    functionLinenumberEnd: 534
    functionName: MLPlaylistListModel::Loader::load(vlc_medialibrary_t* ml, const
      vlc_ml_query_params_t* queryParams) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    functionUses: 0
    functionsReached:
    - qmlToMLPlaylistType
    - std::make_unique<MLPlaylist>
    - ml_range_iterate
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<MLItem>>
    signature: std::vector<std::unique_ptr<MLItem>> MLPlaylistListModel::Loader::load(vlc_medialibrary_t*
      ml, const vlc_ml_query_params_t* queryParams) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:539,1
    - Dst: vlc_ml_get_playlist
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:540,1
    - Dst: std::make_unique<MLPlaylist>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:543,1
    - Dst: ml_unique_ptr::get
      Src: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ml
    - itemId
    argTypes:
    - vlc_medialibrary_t*
    - MLItemId
    assertStmts:
    - condition: (itemId.type == VLC_ML_PARENT_PLAYLIST)
      pos:
        line_end: 538
        line_start: 538
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    constantsTouched: []
    func_position:
      end: 544
      start: 536
    functionDepth: 2
    functionLinenumber: 536
    functionLinenumberEnd: 544
    functionName: MLPlaylistListModel::Loader::loadItemById(vlc_medialibrary_t* ml,
      MLItemId itemId) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlplaylistlistmodel.cpp
    functionUses: 0
    functionsReached:
    - vlc_ml_get_playlist
    - assert
    - ml_unique_ptr::get
    - std::make_unique<MLPlaylist>
    linkageType: ''
    returnType: std::unique_ptr<MLItem>
    signature: std::unique_ptr<MLItem> MLPlaylistListModel::Loader::loadItemById(vlc_medialibrary_t*
      ml, MLItemId itemId) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: ~MLUrlModel()
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlurlmodel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MLUrlModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: MLVideoFoldersModel::MLVideoFoldersModel
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MLVideoFoldersModel::MLVideoFoldersModel(QObject * parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:54,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:55,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:56,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:57,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:58,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:59,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: MLVideoFoldersModel::roleNames
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp
    functionUses: 0
    functionsReached:
    - QByteArrayLiteral
    linkageType: ''
    returnType: QHash<int, QByteArray>
    signature: QHash<int, QByteArray> MLVideoFoldersModel::roleNames() const
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:69,1
    - Dst: static_cast<const MLFolder *>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:71,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:77,1
    - Dst: MLFolder*::getTitle
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:77,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:80,1
    - Dst: MLFolder*::getId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:80,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:82,1
    - Dst: MLFolder*::getTitle
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:82,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:84,1
    - Dst: getFirstSymbol
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:84,1
    - Dst: MLFolder*::getTitle
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:84,1
    - Dst: MLCustomCover::url
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:87,1
    - Dst: MLFolder*::getId
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:87,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:88,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:89,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:92,1
    - Dst: MLFolder*::getDuration
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:92,1
    - Dst: fromValue
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:95,1
    - Dst: MLFolder*::getVideoCount
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:95,1
    - Dst: QVariant
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - item
    - role
    argTypes:
    - MLItem*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 99
    functionName: MLVideoFoldersModel::itemRoleData
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp
    functionUses: 0
    functionsReached:
    - QVariant
    - QStringLiteral
    - MLCustomCover::url
    - MLFolder*::getVideoCount
    - MLFolder*::getId
    - static_cast<const MLFolder *>
    - MLFolder*::getTitle
    - QSize
    - fromValue
    - MLFolder*::getDuration
    - getFirstSymbol
    linkageType: ''
    returnType: QVariant
    signature: QVariant MLVideoFoldersModel::itemRoleData(const MLItem * item, const
      int role) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:104,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:105,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - QByteArray
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: MLVideoFoldersModel::nameToCriteria
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp
    functionUses: 0
    functionsReached:
    - value
    - QByteArrayLiteral
    linkageType: ''
    returnType: vlc_ml_sorting_criteria_t
    signature: vlc_ml_sorting_criteria_t MLVideoFoldersModel::nameToCriteria(QByteArray
      name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MLListCacheLoader>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:112,1
    - Dst: std::make_shared<MLVideoFoldersModel::Loader>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: MLVideoFoldersModel::createMLLoader
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp
    functionUses: 0
    functionsReached:
    - std::make_shared<MLVideoFoldersModel::Loader>
    - std::make_unique<MLListCacheLoader>
    linkageType: ''
    returnType: std::unique_ptr<MLListCacheLoader>
    signature: std::unique_ptr<MLListCacheLoader> MLVideoFoldersModel::createMLLoader()
      const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: updateItemInCache
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:131,1
    - Dst: deleteItemInCache
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:137,1
    - Dst: MLBaseModel::onVlcMlEvent
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - ' event'
    argTypes:
    - MLEvent
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 145
    functionName: MLVideoFoldersModel::onVlcMlEvent
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp
    functionUses: 0
    functionsReached:
    - MLBaseModel::onVlcMlEvent
    - deleteItemInCache
    - updateItemInCache
    linkageType: ''
    returnType: void
    signature: void MLVideoFoldersModel::onVlcMlEvent(const MLEvent & event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_ml_count_folders_by_type
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ml
    - queryParams
    argTypes:
    - vlc_medialibrary_t*
    - vlc_ml_query_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: MLVideoFoldersModel::Loader::count(vlc_medialibrary_t * ml, const
      vlc_ml_query_params_t* queryParams) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp
    functionUses: 0
    functionsReached:
    - vlc_ml_count_folders_by_type
    linkageType: ''
    returnType: size_t
    signature: size_t MLVideoFoldersModel::Loader::count(vlc_medialibrary_t * ml,
      const vlc_ml_query_params_t* queryParams) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ml_range_iterate
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:165,1
    - Dst: std::vector::emplace_back
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:167,1
    - Dst: std::make_unique<MLFolder>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ml
    - queryParams
    argTypes:
    - vlc_medialibrary_t*
    - vlc_ml_query_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 171
    functionName: "MLVideoFoldersModel::Loader::load(vlc_medialibrary_t * ml,\n                                  const
      vlc_ml_query_params_t* queryParams) const"
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<MLFolder>
    - ml_range_iterate
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::unique_ptr<MLItem>>
    signature: "std::vector<std::unique_ptr<MLItem>> MLVideoFoldersModel::Loader::load(vlc_medialibrary_t
      * ml,\n                                  const vlc_ml_query_params_t* queryParams)
      const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:176,1
    - Dst: vlc_ml_get_folder
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:177,1
    - Dst: std::make_unique<MLFolder>
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:180,1
    - Dst: ml_unique_ptr::get
      Src: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ml
    - itemId
    argTypes:
    - vlc_medialibrary_t*
    - MLItemId
    assertStmts:
    - condition: (itemId.type == VLC_ML_PARENT_FOLDER)
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp
    constantsTouched: []
    func_position:
      end: 181
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 181
    functionName: MLVideoFoldersModel::Loader::loadItemById(vlc_medialibrary_t* ml,
      MLItemId itemId) const
    functionSourceFile: /src/vlc/modules/gui/qt/medialibrary/mlvideofoldersmodel.cpp
    functionUses: 0
    functionsReached:
    - vlc_ml_get_folder
    - assert
    - std::make_unique<MLFolder>
    - ml_unique_ptr::get
    linkageType: ''
    returnType: std::unique_ptr<MLItem>
    signature: std::unique_ptr<MLItem> MLVideoFoldersModel::Loader::loadItemById(vlc_medialibrary_t*
      ml, MLItemId itemId) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setFlag
      Src: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp:12,1
    - Dst: resize
      Src: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp:13,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QQuickItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 15
    functionName: CSDThemeImage::CSDThemeImage
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp
    functionUses: 0
    functionsReached:
    - connect
    - setFlag
    - resize
    linkageType: ''
    returnType: void
    signature: void CSDThemeImage::CSDThemeImage(QQuickItem *parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCSDImage
      Src: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp:21,1
    - Dst: static_cast<vlc_qt_theme_csd_button_type>
      Src: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp:22,1
    - Dst: static_cast<vlc_qt_theme_csd_button_state>
      Src: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp:23,1
    - Dst: update
      Src: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 29
    functionName: CSDThemeImage::updateContent
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp
    functionUses: 0
    functionsReached:
    - getCSDImage
    - update
    - static_cast<vlc_qt_theme_csd_button_type>
    - static_cast<vlc_qt_theme_csd_button_state>
    linkageType: ''
    returnType: void
    signature: void CSDThemeImage::updateContent()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: window
      Src: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp:34,1
    - Dst: auto::createImageNode
      Src: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp:44,1
    - Dst: QSGImageNode*::setOwnsTexture
      Src: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp:45,1
    - Dst: static_cast<QSGImageNode*>
      Src: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp:50,1
    - Dst: isNull
      Src: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp:56,1
    - Dst: setImplicitSize
      Src: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp:62,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp:62,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp:62,1
    - Dst: hasAlphaChannel
      Src: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp:64,1
    - Dst: QSGImageNode*::setTexture
      Src: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp:69,1
    - Dst: window
      Src: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp:69,1
    - Dst: QSGImageNode*::texture
      Src: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp:74,1
    - Dst: QSGImageNode*::setRect
      Src: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp:80,1
    - Dst: boundingRect
      Src: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp:80,1
    - Dst: QSGImageNode*::setFiltering
      Src: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp:81,1
    - Dst: smooth
      Src: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp:81,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - oldNode
    argTypes:
    - QSGNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 83
    functionName: CSDThemeImage::updatePaintNode
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp
    functionUses: 0
    functionsReached:
    - auto::createImageNode
    - QSGImageNode*::setOwnsTexture
    - static_cast<QSGImageNode*>
    - window
    - height
    - width
    - setImplicitSize
    - QSGImageNode*::setRect
    - QSGImageNode*::texture
    - QSGImageNode*::setFiltering
    - hasAlphaChannel
    - isNull
    - QSGImageNode*::setTexture
    - boundingRect
    - smooth
    linkageType: ''
    returnType: QSGNode
    signature: QSGNode * CSDThemeImage::updatePaintNode(QSGNode* oldNode, UpdatePaintNodeData*)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CSDThemeImage::onConfigChanged
      Src: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - active
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: CSDThemeImage::setWindowActive
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp
    functionUses: 0
    functionsReached:
    - CSDThemeImage::onConfigChanged
    linkageType: ''
    returnType: void
    signature: void CSDThemeImage::setWindowActive(bool active)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CSDThemeImage::onConfigChanged
      Src: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - maximized
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: CSDThemeImage::setWindowMaximized
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp
    functionUses: 0
    functionsReached:
    - CSDThemeImage::onConfigChanged
    linkageType: ''
    returnType: void
    signature: void CSDThemeImage::setWindowMaximized(bool maximized)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp:108,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp:111,1
    - Dst: CSDThemeImage::onConfigChanged
      Src: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - val
    argTypes:
    - SystemPalette*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: CSDThemeImage::setTheme
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp
    functionUses: 0
    functionsReached:
    - connect
    - CSDThemeImage::onConfigChanged
    - disconnect
    linkageType: ''
    returnType: void
    signature: void CSDThemeImage::setTheme(SystemPalette* val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CSDThemeImage::onConfigChanged
      Src: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - val
    argTypes:
    - ButtonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: CSDThemeImage::setButtonType
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp
    functionUses: 0
    functionsReached:
    - CSDThemeImage::onConfigChanged
    linkageType: ''
    returnType: void
    signature: void CSDThemeImage::setButtonType(ButtonType val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - ButtonState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: CSDThemeImage::setButtonState
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp
    functionUses: 0
    functionsReached:
    - update
    linkageType: ''
    returnType: void
    signature: void CSDThemeImage::setButtonState(ButtonState val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CSDThemeImage::onConfigChanged
      Src: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 139
    functionName: CSDThemeImage::setBannerHeight
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp
    functionUses: 0
    functionsReached:
    - CSDThemeImage::onConfigChanged
    linkageType: ''
    returnType: void
    signature: void CSDThemeImage::setBannerHeight(int val)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 148
    functionName: CSDThemeImage::onConfigChanged
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CSDThemeImage::onConfigChanged()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setHorizontalHeaderLabels
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:39,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:39,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:39,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:39,1
    - Dst: horizontalHeader
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:40,1
    - Dst: horizontalHeader
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:41,1
    - Dst: horizontalHeader
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: MLFoldersEditor::MLFoldersEditor
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp
    functionUses: 0
    functionsReached:
    - qtr
    - setHorizontalHeaderLabels
    - horizontalHeader
    linkageType: ''
    returnType: void
    signature: void MLFoldersEditor::MLFoldersEditor(QWidget *parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:48,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:51,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:52,1
    - Dst: MLFoldersEditor::resetFolders
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:54,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:56,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:57,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:58,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:59,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - foldersModel
    argTypes:
    - MLFoldersBaseModel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 61
    functionName: MLFoldersEditor::setMLFoldersModel
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp
    functionUses: 0
    functionsReached:
    - connect
    - MLFoldersEditor::resetFolders
    - disconnect
    - clear
    linkageType: ''
    returnType: void
    signature: void MLFoldersEditor::setMLFoldersModel(MLFoldersBaseModel *foldersModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:65,1
    - Dst: MLFoldersEditor::newRow
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mrl
    argTypes:
    - QUrl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: MLFoldersEditor::add
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp
    functionUses: 0
    functionsReached:
    - MLFoldersEditor::newRow
    - push_back
    linkageType: ''
    returnType: void
    signature: void MLFoldersEditor::add(const QUrl &mrl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isLocalFile
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:73,1
    - Dst: QUrl::isLocalFile
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:73,1
    - Dst: matches
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:75,1
    - Dst: matches
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - url
    argTypes:
    - QUrl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: MLFoldersEditor::contains
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp
    functionUses: 0
    functionsReached:
    - isLocalFile
    - QUrl::isLocalFile
    - matches
    linkageType: ''
    returnType: bool
    signature: bool MLFoldersEditor::contains(const QUrl &url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:87,1
    - Dst: MLFoldersEditor::add
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:90,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:92,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 94
    functionName: MLFoldersEditor::commit
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp
    functionUses: 0
    functionsReached:
    - MLFoldersEditor::add
    - remove
    - clear
    linkageType: ''
    returnType: void
    signature: void MLFoldersEditor::commit()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: urlToDisplayString
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:98,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:104,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:107,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:110,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:113,1
    - Dst: user_warning
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:117,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - operation
    - url
    argTypes:
    - int
    - QUrl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 118
    functionName: MLFoldersEditor::handleOpFailure
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp
    functionUses: 0
    functionsReached:
    - user_warning
    - qtr
    - urlToDisplayString
    linkageType: ''
    returnType: void
    signature: void MLFoldersEditor::handleOpFailure(int operation, const QUrl &url)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setRowCount
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:122,1
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:124,1
    - Dst: data
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:126,1
    - Dst: index
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:126,1
    - Dst: MLFoldersEditor::contains
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:127,1
    - Dst: MLFoldersEditor::newRow
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:128,1
    - Dst: MLFoldersEditor::newRow
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 134
    functionName: MLFoldersEditor::resetFolders
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp
    functionUses: 1
    functionsReached:
    - MLFoldersEditor::contains
    - MLFoldersEditor::newRow
    - data
    - index
    - setRowCount
    - rowCount
    linkageType: ''
    returnType: void
    signature: void MLFoldersEditor::resetFolders()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rowCount
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:138,1
    - Dst: setRowCount
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:139,1
    - Dst: urlToDisplayString
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:141,1
    - Dst: QTableWidgetItem::QTableWidgetItem
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:142,1
    - Dst: auto::setData
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:143,1
    - Dst: auto::setFlags
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:144,1
    - Dst: setItem
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:145,1
    - Dst: QWidget::QWidget
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:150,1
    - Dst: QBoxLayout::QBoxLayout
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:151,1
    - Dst: QPushButton::QPushButton
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:153,1
    - Dst: QPushButton*::setFixedSize
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:154,1
    - Dst: QPushButton*::setAccessibleName
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:155,1
    - Dst: QBoxLayout*::addWidget
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:157,1
    - Dst: QWidget*::setLayout
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:158,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:159,1
    - Dst: action
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:161,1
    - Dst: auto::row
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:161,1
    - Dst: setCellWidget
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:164,1
    - Dst: buttonCol
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:167,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:167,1
    - Dst: buttonCol
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:169,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - mrl
    argTypes:
    - QUrl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 170
    functionName: MLFoldersEditor::newRow
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp
    functionUses: 5
    functionsReached:
    - auto::row
    - QTableWidgetItem::QTableWidgetItem
    - urlToDisplayString
    - auto::setData
    - connect
    - QWidget*::setLayout
    - QPushButton*::setFixedSize
    - QPushButton*::setAccessibleName
    - setItem
    - buttonCol
    - QBoxLayout*::addWidget
    - setCellWidget
    - auto::setFlags
    - QWidget::QWidget
    - action
    - qtr
    - QPushButton::QPushButton
    - QBoxLayout::QBoxLayout
    - rowCount
    - setRowCount
    linkageType: ''
    returnType: void
    signature: void MLFoldersEditor::newRow(const QUrl &mrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: item
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:174,1
    - Dst: QTableWidgetItem*::data
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - row
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: MLFoldersEditor::url
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp
    functionUses: 0
    functionsReached:
    - item
    - QTableWidgetItem*::data
    linkageType: ''
    returnType: QUrl
    signature: QUrl MLFoldersEditor::url(int row)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MLFoldersEditor::url
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:180,1
    - Dst: indexOf
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:181,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:183,1
    - Dst: remove
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:185,1
    - Dst: removeRow
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - row
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 188
    functionName: MLFoldersEditor::markRemoved
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - remove
    - removeRow
    - indexOf
    - MLFoldersEditor::url
    linkageType: ''
    returnType: void
    signature: void MLFoldersEditor::markRemoved(int row)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MLFoldersEditor::url
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:192,1
    - Dst: MLFoldersEditor::contains
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:193,1
    - Dst: MLFoldersEditor::contains
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:194,1
    - Dst: reload
      Src: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - row
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 190
    functionDepth: 3
    functionLinenumber: 190
    functionLinenumberEnd: 198
    functionName: MLFoldersEditor::reloadUrl
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/mlfolderseditor.cpp
    functionUses: 0
    functionsReached:
    - MLFoldersEditor::contains
    - MLFoldersEditor::url
    - reload
    linkageType: ''
    returnType: void
    signature: void MLFoldersEditor::reloadUrl(int row)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setSizePolicy
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: QFramelessButton::QFramelessButton
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp
    functionUses: 0
    functionsReached:
    - setSizePolicy
    linkageType: ''
    returnType: void
    signature: void QFramelessButton::QFramelessButton( QWidget *parent )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: icon
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:47,1
    - Dst: QRect
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:47,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:47,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: QFramelessButton::paintEvent
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp
    functionUses: 0
    functionsReached:
    - height
    - width
    - QRect
    - icon
    linkageType: ''
    returnType: void
    signature: void QFramelessButton::paintEvent( QPaintEvent * )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:57,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:58,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:59,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - v
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 65
    functionName: QVLCDebugLevelSpinBox::textFromValue
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp
    functionUses: 0
    functionsReached:
    - qtr
    - QString
    linkageType: ''
    returnType: QString
    signature: QString QVLCDebugLevelSpinBox::textFromValue( int v ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: VLCQDial::VLCQDial
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VLCQDial::VLCQDial( QWidget *parent )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLCQDial::paintEvent
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:74,1
    - Dst: QPainter::setPen
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:76,1
    - Dst: QPen
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:76,1
    - Dst: palette
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:76,1
    - Dst: qMin
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:77,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:77,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:77,1
    - Dst: QPainter::drawText
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:78,1
    - Dst: QRectF
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:78,1
    - Dst: rect
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:78,1
    - Dst: rect
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:79,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:80,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:81,1
    - Dst: vlclua_io_file_read_number
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:82,1
    - Dst: value
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:82,1
    - Dst: QPainter::end
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - event
    argTypes:
    - QPaintEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: VLCQDial::paintEvent
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp
    functionUses: 1
    functionsReached:
    - rect
    - qMin
    - palette
    - size
    - QPen
    - QRectF
    - vlclua_io_file_read_number
    - QPainter::setPen
    - QPainter::end
    - VLCQDial::paintEvent
    - value
    - QPainter::drawText
    linkageType: ''
    returnType: void
    signature: void VLCQDial::paintEvent( QPaintEvent *event )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:94,1
    - Dst: PixmapAnimator::PixmapAnimator
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:94,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:95,1
    - Dst: SpinningIcon::setPixmap
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:96,1
    - Dst: SpinningIcon::repaint
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:97,1
    - Dst: setScaledContents
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:99,1
    - Dst: setFixedSize
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:100,1
    - Dst: setCurrentTime
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 102
    functionName: SpinningIcon::SpinningIcon
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp
    functionUses: 1
    functionsReached:
    - setCurrentTime
    - setScaledContents
    - setFixedSize
    - SpinningIcon::setPixmap
    - SpinningIcon::repaint
    - connect
    - std::move
    - PixmapAnimator::PixmapAnimator
    linkageType: ''
    returnType: void
    signature: void SpinningIcon::SpinningIcon( QWidget *parent )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setAutoRepeat
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:109,1
    - Dst: setAutoRepeatDelay
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:111,1
    - Dst: QApplication::doubleClickInterval
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:111,1
    - Dst: setAutoRepeatInterval
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:112,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:113,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - parent
    - ms
    argTypes:
    - QWidget*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: QToolButtonExt::QToolButtonExt
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp
    functionUses: 0
    functionsReached:
    - setAutoRepeatDelay
    - setAutoRepeatInterval
    - setAutoRepeat
    - QApplication::doubleClickInterval
    - connect
    linkageType: ''
    returnType: void
    signature: void QToolButtonExt::QToolButtonExt(QWidget *parent, int ms )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isDown
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 159
    functionName: QToolButtonExt::releasedSlot
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp
    functionUses: 0
    functionsReached:
    - isDown
    linkageType: ''
    returnType: void
    signature: void QToolButtonExt::releasedSlot()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: longClicked
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:164,1
    - Dst: shortClicked
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: QToolButtonExt::clickedSlot
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp
    functionUses: 0
    functionsReached:
    - longClicked
    - shortClicked
    linkageType: ''
    returnType: void
    signature: void QToolButtonExt::clickedSlot()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setEnabled
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:171,1
    - Dst: setStyleSheet
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 182
    functionName: YesNoCheckBox::YesNoCheckBox
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/customwidgets.cpp
    functionUses: 0
    functionsReached:
    - setStyleSheet
    - setEnabled
    linkageType: ''
    returnType: void
    signature: void YesNoCheckBox::YesNoCheckBox( QWidget *parent )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _fps
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: BasicAnimator::setFps
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/animators.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setFps( int _fps )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: BasicAnimator::duration
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/animators.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int duration() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/vlc/modules/gui/qt/widgets/native/animators.hpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: PixmapAnimator::duration
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/animators.hpp
    functionUses: 0
    functionsReached:
    - count
    linkageType: ''
    returnType: int
    signature: int duration() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: '& getPixmap()'
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/animators.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QPixmap
    signature: QPixmap & getPixmap()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:49,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:49,1
    - Dst: go_eof
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:50,1
    - Dst: setMinimumHeight
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:52,1
    - Dst: setMinimumWidth
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:53,1
    - Dst: setScaledContents
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:54,1
    - Dst: setAlignment
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:55,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:57,1
    - Dst: QAction::QAction
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:57,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:58,1
    - Dst: addAction
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:59,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:61,1
    - Dst: QAction::QAction
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:61,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:62,1
    - Dst: addAction
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:63,1
    - Dst: CoverArtLabel::setItem
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:65,1
    - Dst: getInput
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:65,1
    - Dst: CoverArtLabel::showArtUpdate
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - parent
    - _p_i
    argTypes:
    - QWidget*
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 68
    functionName: CoverArtLabel::CoverArtLabel
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp
    functionUses: 1
    functionsReached:
    - go_eof
    - setScaledContents
    - CoverArtLabel::setItem
    - addAction
    - getInput
    - qtr
    - connect
    - setAlignment
    - setMinimumWidth
    - QAction::QAction
    - CoverArtLabel::showArtUpdate
    - setMinimumHeight
    linkageType: ''
    returnType: void
    signature: void CoverArtLabel::CoverArtLabel( QWidget *parent, qt_intf_t *_p_i
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: actions
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:72,1
    - Dst: removeAction
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: CoverArtLabel::~CoverArtLabel()
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp
    functionUses: 0
    functionsReached:
    - actions
    - removeAction
    linkageType: ''
    returnType: void
    signature: void CoverArtLabel::~CoverArtLabel()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CoverArtLabel::showArtUpdate
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:81,1
    - Dst: setContextMenuPolicy
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:88,1
    - Dst: setContextMenuPolicy
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:90,1
    - Dst: CoverArtLabel::showArtUpdate
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' _p_item'
    argTypes:
    - SharedInputItem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 93
    functionName: CoverArtLabel::setItem
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp
    functionUses: 1
    functionsReached:
    - CoverArtLabel::showArtUpdate
    - setContextMenuPolicy
    linkageType: ''
    returnType: void
    signature: void CoverArtLabel::setItem( const SharedInputItem& _p_item )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qobject_cast<MetaPanel *>
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:97,1
    - Dst: CoverArtLabel::window
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:97,1
    - Dst: mediaInfoDialog
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:99,1
    - Dst: QMouseEvent*::accept
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - event
    argTypes:
    - QMouseEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: CoverArtLabel::mouseDoubleClickEvent
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp
    functionUses: 0
    functionsReached:
    - CoverArtLabel::window
    - mediaInfoDialog
    - QMouseEvent*::accept
    - qobject_cast<MetaPanel *>
    linkageType: ''
    returnType: void
    signature: void CoverArtLabel::mouseDoubleClickEvent( QMouseEvent *event )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:107,1
    - Dst: QPixmap::load
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:107,1
    - Dst: QPixmap::scaled
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:109,1
    - Dst: minimumWidth
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:109,1
    - Dst: minimumHeight
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:109,1
    - Dst: QPixmap
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:115,1
    - Dst: setPixmap
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' url'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: CoverArtLabel::showArtUpdate
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp
    functionUses: 2
    functionsReached:
    - minimumHeight
    - QPixmap
    - isEmpty
    - setPixmap
    - QPixmap::scaled
    - QPixmap::load
    - minimumWidth
    linkageType: ''
    returnType: void
    signature: void CoverArtLabel::showArtUpdate( const QString& url )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decodeArtURL
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:123,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:123,1
    - Dst: CoverArtLabel::showArtUpdate
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: CoverArtLabel::showArtUpdate
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp
    functionUses: 3
    functionsReached:
    - decodeArtURL
    - get
    - CoverArtLabel::showArtUpdate
    linkageType: ''
    returnType: void
    signature: void CoverArtLabel::showArtUpdate( )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:129,1
    - Dst: requestArtUpdate
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:131,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( p_item )
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: CoverArtLabel::askForUpdate
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp
    functionUses: 0
    functionsReached:
    - get
    - assert
    - requestArtUpdate
    linkageType: ''
    returnType: void
    signature: void CoverArtLabel::askForUpdate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:136,1
    - Dst: QFileDialog::getOpenFileUrl
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:138,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:138,1
    - Dst: p_mi::getDialogFilePath
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:139,1
    - Dst: qtr
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:139,1
    - Dst: QUrl::isEmpty
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:141,1
    - Dst: CoverArtLabel::showArtUpdate
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:144,1
    - Dst: QUrl::toLocalFile
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:144,1
    - Dst: QUrl::toString
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( p_item )
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp
    constantsTouched: []
    func_position:
      end: 147
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 147
    functionName: CoverArtLabel::setArtFromFile
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp
    functionUses: 0
    functionsReached:
    - QUrl::isEmpty
    - assert
    - QFileDialog::getOpenFileUrl
    - p_mi::getDialogFilePath
    - QUrl::toLocalFile
    - QUrl::toString
    - qtr
    - CoverArtLabel::showArtUpdate
    linkageType: ''
    returnType: void
    signature: void CoverArtLabel::setArtFromFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CoverArtLabel::showArtUpdate
      Src: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: CoverArtLabel::clear
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/interface_widgets.cpp
    functionUses: 0
    functionsReached:
    - CoverArtLabel::showArtUpdate
    linkageType: ''
    returnType: void
    signature: void CoverArtLabel::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' callback'
    argTypes:
    - std::function<void(const QMatrix4x4&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: MatrixChangeObserverNode::MatrixChangeObserverNode
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MatrixChangeObserverNode(const std::function<void(const QMatrix4x4&)>&
      callback)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fft_prepare
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.hpp:38,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.hpp:40,1
    - Dst: matrix
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.hpp:40,1
    - Dst: matrix
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.hpp:41,1
    - Dst: m_callback
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.hpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (matrix())
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.hpp
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: MatrixChangeObserverNode::prepare
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.hpp
    functionUses: 0
    functionsReached:
    - matrix
    - fft_prepare
    - assert
    - m_callback
    linkageType: ''
    returnType: void
    signature: void prepare() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: MatrixChangeObserverNode::render
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void render(const RenderState *) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RenderingFlags>
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.hpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: MatrixChangeObserverNode::flags
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.hpp
    functionUses: 0
    functionsReached:
    - static_cast<RenderingFlags>
    linkageType: ''
    returnType: RenderingFlags
    signature: RenderingFlags flags() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iconSize
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.hpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: QFramelessButton::sizeHint
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/customwidgets.hpp
    functionUses: 0
    functionsReached:
    - iconSize
    linkageType: ''
    returnType: QSize
    signature: QSize sizeHint() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVLCDebugLevelSpinBox
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.hpp:77,1
    - Dst: QSpinBox
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.hpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: QVLCDebugLevelSpinBox::public
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/customwidgets.hpp
    functionUses: 0
    functionsReached:
    - QSpinBox
    - QVLCDebugLevelSpinBox
    linkageType: ''
    returnType: Q_OBJECT
    signature: Q_OBJECT public
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: QVLCDebugLevelSpinBox::valueFromText
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/customwidgets.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int valueFromText( const QString& ) const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setLoopCount
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.hpp:95,1
    - Dst: setFps
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.hpp:96,1
    - Dst: start
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.hpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: SpinningIcon::play
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/customwidgets.hpp
    functionUses: 0
    functionsReached:
    - setLoopCount
    - start
    - setFps
    linkageType: ''
    returnType: void
    signature: void play( int loops = -1, int fps = 0 )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SpinningIcon::stop
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.hpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: SpinningIcon::stop
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/customwidgets.hpp
    functionUses: 1
    functionsReached:
    - SpinningIcon::stop
    linkageType: ''
    returnType: void
    signature: void stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: state
      Src: /src/vlc/modules/gui/qt/widgets/native/customwidgets.hpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: SpinningIcon::isPlaying
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/customwidgets.hpp
    functionUses: 0
    functionsReached:
    - state
    linkageType: ''
    returnType: bool
    signature: bool isPlaying()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: DoubleClickIgnoringItem::DoubleClickIgnoringItem
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/doubleclickignoringitem.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoubleClickIgnoringItem(QQuickItem *parent = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QMouseEvent*::ignore
      Src: /src/vlc/modules/gui/qt/widgets/native/doubleclickignoringitem.hpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ev
    argTypes:
    - QMouseEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: DoubleClickIgnoringItem::mouseDoubleClickEvent
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/doubleclickignoringitem.hpp
    functionUses: 0
    functionsReached:
    - QMouseEvent*::ignore
    linkageType: ''
    returnType: void
    signature: void mouseDoubleClickEvent(QMouseEvent *ev) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 31
    functionName: NavigationAttached::NavigationAttached
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NavigationAttached::NavigationAttached(QObject *parent)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isCallable
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:38,1
    - Dst: call
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:39,1
    - Dst: auto::isBool
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:43,1
    - Dst: auto::toBool
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:43,1
    - Dst: qobject_cast<NavigationAttached*>
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:50,1
    - Dst: qmlAttachedPropertiesObject<NavigationAttached>
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:50,1
    - Dst: QQuickItem*::isVisible
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:51,1
    - Dst: QQuickItem*::isEnabled
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:52,1
    - Dst: NavigationAttached*::getnavigable
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:53,1
    - Dst: QQuickItem*::forceActiveFocus
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:55,1
    - Dst: QQuickItem*::setProperty
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:56,1
    - Dst: qobject_cast<NavigationAttached*>
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:65,1
    - Dst: qmlAttachedPropertiesObject<NavigationAttached>
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:65,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - ' jsCallback'
    - directionItem
    - reason
    argTypes:
    - QJSValue
    - QQuickItem*
    - Qt::FocusReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 68
    functionName: NavigationAttached::defaultNavigationGeneric
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp
    functionUses: 0
    functionsReached:
    - isCallable
    - QQuickItem*::isVisible
    - auto::toBool
    - qobject_cast<NavigationAttached*>
    - QQuickItem*::isEnabled
    - auto::isBool
    - call
    - qmlAttachedPropertiesObject<NavigationAttached>
    - NavigationAttached*::getnavigable
    - QQuickItem*::forceActiveFocus
    - QQuickItem*::setProperty
    linkageType: ''
    returnType: void
    signature: "void NavigationAttached::defaultNavigationGeneric(QJSValue& jsCallback,
      QQuickItem* directionItem,\n                                        void (NavigationAttached::*
      defaultNavFn)(void),\n                                        Qt::FocusReason
      reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NavigationAttached::defaultNavigationGeneric
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: NavigationAttached::defaultNavigationUp
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp
    functionUses: 0
    functionsReached:
    - NavigationAttached::defaultNavigationGeneric
    linkageType: ''
    returnType: void
    signature: void NavigationAttached::defaultNavigationUp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NavigationAttached::defaultNavigationGeneric
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: NavigationAttached::defaultNavigationDown
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp
    functionUses: 0
    functionsReached:
    - NavigationAttached::defaultNavigationGeneric
    linkageType: ''
    returnType: void
    signature: void NavigationAttached::defaultNavigationDown()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NavigationAttached::defaultNavigationGeneric
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: NavigationAttached::defaultNavigationLeft
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp
    functionUses: 0
    functionsReached:
    - NavigationAttached::defaultNavigationGeneric
    linkageType: ''
    returnType: void
    signature: void NavigationAttached::defaultNavigationLeft()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NavigationAttached::defaultNavigationGeneric
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: NavigationAttached::defaultNavigationRight
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp
    functionUses: 0
    functionsReached:
    - NavigationAttached::defaultNavigationGeneric
    linkageType: ''
    returnType: void
    signature: void NavigationAttached::defaultNavigationRight()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NavigationAttached::defaultNavigationGeneric
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: NavigationAttached::defaultNavigationCancel
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp
    functionUses: 0
    functionsReached:
    - NavigationAttached::defaultNavigationGeneric
    linkageType: ''
    returnType: void
    signature: void NavigationAttached::defaultNavigationCancel()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QObject*::property
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:109,1
    - Dst: QObject*::property
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:114,1
    - Dst: static_cast<Qt::KeyboardModifiers>
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:115,1
    - Dst: QObject*::property
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:115,1
    - Dst: QObject*::property
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:116,1
    - Dst: QObject*::property
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:117,1
    - Dst: QObject*::property
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:118,1
    - Dst: KeyHelper::matchDown
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:122,1
    - Dst: QObject*::setProperty
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:123,1
    - Dst: NavigationAttached::defaultNavigationDown
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:124,1
    - Dst: KeyHelper::matchUp
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:125,1
    - Dst: QObject*::setProperty
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:126,1
    - Dst: NavigationAttached::defaultNavigationUp
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:127,1
    - Dst: KeyHelper::matchRight
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:128,1
    - Dst: QObject*::setProperty
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:129,1
    - Dst: NavigationAttached::defaultNavigationRight
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:130,1
    - Dst: KeyHelper::matchLeft
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:131,1
    - Dst: QObject*::setProperty
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:132,1
    - Dst: NavigationAttached::defaultNavigationLeft
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:133,1
    - Dst: KeyHelper::matchCancel
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:134,1
    - Dst: QObject*::setProperty
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:135,1
    - Dst: NavigationAttached::defaultNavigationCancel
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - event
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 138
    functionName: NavigationAttached::defaultKeyAction
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp
    functionUses: 0
    functionsReached:
    - QObject*::setProperty
    - KeyHelper::matchLeft
    - QObject*::property
    - static_cast<Qt::KeyboardModifiers>
    - NavigationAttached::defaultNavigationUp
    - KeyHelper::matchUp
    - KeyHelper::matchRight
    - NavigationAttached::defaultNavigationCancel
    - NavigationAttached::defaultNavigationLeft
    - KeyHelper::matchDown
    - NavigationAttached::defaultNavigationDown
    - NavigationAttached::defaultNavigationRight
    - KeyHelper::matchCancel
    linkageType: ''
    returnType: void
    signature: void NavigationAttached::defaultKeyAction(QObject* event)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QObject*::property
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:142,1
    - Dst: QObject*::property
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:148,1
    - Dst: static_cast<Qt::KeyboardModifiers>
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:149,1
    - Dst: QObject*::property
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:149,1
    - Dst: QObject*::property
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:150,1
    - Dst: QObject*::property
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:151,1
    - Dst: QObject*::property
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:152,1
    - Dst: KeyHelper::matchLeft
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:155,1
    - Dst: KeyHelper::matchRight
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:156,1
    - Dst: KeyHelper::matchUp
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:157,1
    - Dst: KeyHelper::matchDown
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:158,1
    - Dst: QObject*::setProperty
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp:160,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - event
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 162
    functionName: NavigationAttached::defaultKeyReleaseAction
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.cpp
    functionUses: 0
    functionsReached:
    - QObject*::setProperty
    - KeyHelper::matchLeft
    - QObject*::property
    - static_cast<Qt::KeyboardModifiers>
    - KeyHelper::matchRight
    - KeyHelper::matchUp
    - KeyHelper::matchDown
    linkageType: ''
    returnType: void
    signature: void NavigationAttached::defaultKeyReleaseAction(QObject* event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QSettings*::setValue
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:34,1
    - Dst: QWidget*::saveGeometry
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - settings
    - widget
    argTypes:
    - QSettings*
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: QVLCTools::saveWidgetPosition
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp
    functionUses: 4
    functionsReached:
    - QSettings*::setValue
    - QWidget*::saveGeometry
    linkageType: ''
    returnType: void
    signature: void QVLCTools::saveWidgetPosition(QSettings *settings, QWidget *widget)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QDataStream::setVersion
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:42,1
    - Dst: quint8
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:47,1
    - Dst: quint8
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:48,1
    - Dst: QWindow*::screen
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:49,1
    - Dst: QWindow*::screen
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:50,1
    - Dst: QWindow*::screen
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:51,1
    - Dst: QWindow*::position
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:52,1
    - Dst: QWindow*::geometry
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:53,1
    - Dst: quint8
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:54,1
    - Dst: QWindow*::windowStates
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:54,1
    - Dst: quint8
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:55,1
    - Dst: QWindow*::windowStates
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:55,1
    - Dst: QSettings*::setValue
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - settings
    - window
    argTypes:
    - QSettings*
    - QWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 57
    functionName: QVLCTools::saveWindowPosition
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp
    functionUses: 1
    functionsReached:
    - QWindow*::position
    - quint8
    - QDataStream::setVersion
    - QWindow*::screen
    - QWindow*::geometry
    - QWindow*::windowStates
    - QSettings*::setValue
    linkageType: ''
    returnType: void
    signature: void QVLCTools::saveWindowPosition(QSettings *settings, QWindow *window)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: QSettings*::value
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:62,1
    - Dst: auto::length
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:64,1
    - Dst: QDataStream::setVersion
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:68,1
    - Dst: QString::isNull
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:99,1
    - Dst: QRect::isNull
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:99,1
    - Dst: QRect::isNull
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:102,1
    - Dst: QGuiApplication::screens
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:106,1
    - Dst: name
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:108,1
    - Dst: geometry
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:110,1
    - Dst: devicePixelRatio
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:111,1
    - Dst: QWindow*::setScreen
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:116,1
    - Dst: QWindow*::setPosition
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:124,1
    - Dst: QWindow*::setGeometry
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:125,1
    - Dst: QWindow*::windowStates
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:129,1
    - Dst: QWindow*::setWindowStates
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:134,1
    - Dst: QWindow*::setWindowStates
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:138,1
    - Dst: QWindow*::windowStates
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:138,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 2
    argNames:
    - settings
    - window
    argTypes:
    - QSettings*
    - QWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 142
    functionName: restoreWindowPositionImpl
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp
    functionUses: 0
    functionsReached:
    - QSettings*::value
    - geometry
    - auto::length
    - devicePixelRatio
    - QWindow*::setScreen
    - QWindow*::setGeometry
    - QString::isNull
    - QDataStream::setVersion
    - name
    - QWindow*::setWindowStates
    - QWindow*::setPosition
    - QWindow*::windowStates
    - QRect::isNull
    - QGuiApplication::screens
    linkageType: ''
    returnType: bool
    signature: bool restoreWindowPositionImpl(QSettings *settings, QWindow *window)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: restoreWindowPositionImpl
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:146,1
    - Dst: QWindow*::resize
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:150,1
    - Dst: QPoint::isNull
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:151,1
    - Dst: QWindow*::setGeometry
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:153,1
    - Dst: QStyle::alignedRect
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:153,1
    - Dst: QWindow*::size
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:153,1
    - Dst: QGuiApplication::primaryScreen
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:153,1
    - Dst: QWindow*::setPosition
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - settings
    - window
    - defSize
    - defPos
    argTypes:
    - QSettings*
    - QWindow*
    - QSize
    - QPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 159
    functionName: QVLCTools::restoreWindowPosition
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp
    functionUses: 1
    functionsReached:
    - QStyle::alignedRect
    - QGuiApplication::primaryScreen
    - QWindow*::setGeometry
    - QWindow*::resize
    - restoreWindowPositionImpl
    - QPoint::isNull
    - QWindow*::setPosition
    - QWindow*::size
    linkageType: ''
    returnType: void
    signature: void QVLCTools::restoreWindowPosition(QSettings *settings, QWindow
      *window, QSize defSize, QPoint defPos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:166,1
    - Dst: QVLCTools::saveWidgetPosition
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:167,1
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:167,1
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_intf
    - ' configName'
    - widget
    argTypes:
    - qt_intf_t*
    - QString
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 169
    functionName: QVLCTools::saveWidgetPosition
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp
    functionUses: 5
    functionsReached:
    - QVLCTools::saveWidgetPosition
    - getSettings
    linkageType: ''
    returnType: void
    signature: "void QVLCTools::saveWidgetPosition(qt_intf_t *p_intf,\n                                   const
      QString& configName,\n                                   QWidget *widget)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QWidget*::restoreGeometry
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:174,1
    - Dst: QSettings*::value
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:174,1
    - Dst: QWidget*::move
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:176,1
    - Dst: QWidget*::resize
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:177,1
    - Dst: QPoint::x
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:179,1
    - Dst: QPoint::y
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:179,1
    - Dst: QWidget*::setGeometry
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:180,1
    - Dst: QStyle::alignedRect
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:180,1
    - Dst: QWidget*::size
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:180,1
    - Dst: primaryScreen
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - settings
    - widget
    - defSize
    - defPos
    argTypes:
    - QSettings*
    - QWidget*
    - QSize
    - QPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 184
    functionName: QVLCTools::restoreWidgetPosition
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp
    functionUses: 3
    functionsReached:
    - QSettings*::value
    - QPoint::x
    - QPoint::y
    - QStyle::alignedRect
    - QWidget*::size
    - QWidget*::setGeometry
    - QWidget*::restoreGeometry
    - QWidget*::move
    - QWidget*::resize
    - primaryScreen
    linkageType: ''
    returnType: bool
    signature: "bool QVLCTools::restoreWidgetPosition(QSettings *settings, QWidget
      *widget,\n                                      QSize defSize, QPoint defPos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:191,1
    - Dst: QVLCTools::restoreWidgetPosition
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:193,1
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:193,1
    - Dst: getSettings
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - p_intf
    - ' configName'
    - widget
    - defSize
    - defPos
    argTypes:
    - qt_intf_t*
    - QString
    - QWidget*
    - QSize
    - QPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 197
    functionName: QVLCTools::restoreWidgetPosition
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp
    functionUses: 4
    functionsReached:
    - QVLCTools::restoreWidgetPosition
    - getSettings
    linkageType: ''
    returnType: bool
    signature: "bool QVLCTools::restoreWidgetPosition(qt_intf_t *p_intf,\n                                      const
      QString& configName,\n                                      QWidget *widget,
      QSize defSize,\n                                      QPoint defPos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:201,1
    - Dst: isWindow
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:203,1
    - Dst: QVLCDialog::setWindowTransientParent
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - _p_intf
    argTypes:
    - qt_intf_t*
    assertStmts:
    - condition: (_p_intf)
      pos:
        line_end: 200
        line_start: 200
        source_file: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp
    constantsTouched: []
    func_position:
      end: 208
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 208
    functionName: QVLCFrame::QVLCFrame
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp
    functionUses: 0
    functionsReached:
    - QVLCDialog::setWindowTransientParent
    - assert
    - isWindow
    linkageType: ''
    returnType: void
    signature: void QVLCFrame::QVLCFrame(qt_intf_t *_p_intf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:212,1
    - Dst: QVLCFrame::cancel
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:214,1
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:216,1
    - Dst: QKeyEvent*::key
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:217,1
    - Dst: QVLCFrame::close
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - keyEvent
    argTypes:
    - QKeyEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 221
    functionName: QVLCFrame::keyPressEvent
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp
    functionUses: 0
    functionsReached:
    - QVLCFrame::cancel
    - QVLCFrame::close
    - QKeyEvent*::key
    linkageType: ''
    returnType: void
    signature: void QVLCFrame::keyPressEvent(QKeyEvent *keyEvent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:225,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:226,1
    - Dst: QWidget*::isWindow
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:226,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:230,1
    - Dst: qt_intf_t*::p_compositor::interfaceMainWindow
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:231,1
    - Dst: QWidget*::ensurePolished
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:236,1
    - Dst: QWidget*::createWinId
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:237,1
    - Dst: QWidget*::windowHandle
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:238,1
    - Dst: QWindow*::setTransientParent
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - widget
    - parent
    - p_intf
    argTypes:
    - QWidget*
    - QWindow*
    - qt_intf_t*
    assertStmts:
    - condition: (widget)
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp
    - condition: (p_intf->p_compositor)
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp
    - condition: (widget->isWindow())
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp
    constantsTouched: []
    func_position:
      end: 240
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 240
    functionName: QVLCDialog::setWindowTransientParent
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp
    functionUses: 7
    functionsReached:
    - QWindow*::setTransientParent
    - assert
    - qt_intf_t*::p_compositor::interfaceMainWindow
    - QWidget*::ensurePolished
    - QWidget*::windowHandle
    - QWidget*::isWindow
    - QWidget*::createWinId
    linkageType: ''
    returnType: void
    signature: void QVLCDialog::setWindowTransientParent(QWidget* widget, QWindow*
      parent, qt_intf_t* p_intf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setWindowFlags
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:247,1
    - Dst: QVLCDialog::setWindowTransientParent
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - parent
    - _p_intf
    argTypes:
    - QWindow*
    - qt_intf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 251
    functionName: QVLCDialog::QVLCDialog
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.cpp
    functionUses: 0
    functionsReached:
    - QVLCDialog::setWindowTransientParent
    - setWindowFlags
    linkageType: ''
    returnType: void
    signature: void QVLCDialog::QVLCDialog(QWindow *parent, qt_intf_t *_p_intf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:33,1
    - Dst: static_cast<QPainter *>
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:34,1
    - Dst: rendererInterface
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:34,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:35,1
    - Dst: auto::setCompositionMode
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:37,1
    - Dst: RenderState*::clipRegion
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:39,1
    - Dst: auto::isEmpty
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:40,1
    - Dst: auto::setClipRegion
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:41,1
    - Dst: auto::setTransform
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:43,1
    - Dst: matrix
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:43,1
    - Dst: auto::setOpacity
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:44,1
    - Dst: inheritedOpacity
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:44,1
    - Dst: auto::fillRect
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:46,1
    - Dst: SoftwareRenderNode::rect
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - renderState
    argTypes:
    - RenderState*
    assertStmts:
    - condition: (m_window)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp
    - condition: (painter)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp
    constantsTouched: []
    func_position:
      end: 47
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 47
    functionName: SoftwareRenderNode::render
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp
    functionUses: 0
    functionsReached:
    - inheritedOpacity
    - auto::isEmpty
    - RenderState*::clipRegion
    - assert
    - rendererInterface
    - auto::setCompositionMode
    - auto::setTransform
    - matrix
    - auto::setOpacity
    - static_cast<QPainter *>
    - auto::fillRect
    - auto::setClipRegion
    - SoftwareRenderNode::rect
    linkageType: ''
    returnType: void
    signature: void render(const RenderState *renderState) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: SoftwareRenderNode::flags
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RenderingFlags
    signature: RenderingFlags flags() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: SoftwareRenderNode::rect
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: QRectF
    signature: QRectF rect() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: markDirty
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' rect'
    argTypes:
    - QRectF
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: SoftwareRenderNode::setRect
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp
    functionUses: 0
    functionsReached:
    - markDirty
    linkageType: ''
    returnType: void
    signature: void setRect(const QRectF& rect)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Q_LIKELY
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:70,1
    - Dst: markDirty
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - window
    argTypes:
    - QQuickWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: SoftwareRenderNode::setWindow
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp
    functionUses: 0
    functionsReached:
    - markDirty
    - Q_LIKELY
    linkageType: ''
    returnType: void
    signature: void setWindow(QQuickWindow* const window)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: markDirty
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' color'
    argTypes:
    - QColor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: SoftwareRenderNode::setColor
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp
    functionUses: 0
    functionsReached:
    - markDirty
    linkageType: ''
    returnType: void
    signature: void setColor(const QColor& color)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setFlag
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:97,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:98,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:99,1
    - Dst: window
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:100,1
    - Dst: setFlag
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QQuickItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 107
    functionName: ViewBlockingRectangle::ViewBlockingRectangle
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp
    functionUses: 0
    functionsReached:
    - connect
    - setFlag
    - window
    linkageType: ''
    returnType: void
    signature: void ViewBlockingRectangle::ViewBlockingRectangle(QQuickItem *parent)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<QSGRectangleNode*>
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:111,1
    - Dst: dynamic_cast<SoftwareRenderNode*>
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:112,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:114,1
    - Dst: window
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:114,1
    - Dst: window
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:115,1
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:119,1
    - Dst: QPointer
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:143,1
    - Dst: Q_LIKELY
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:144,1
    - Dst: row
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:146,1
    - Dst: row
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:147,1
    - Dst: MatrixChangeObserverNode::MatrixChangeObserverNode
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:143,1
    - Dst: auto::setFlag
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:151,1
    - Dst: createObserverNode
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:161,1
    - Dst: mapToScene
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:164,1
    - Dst: QPointF
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:164,1
    - Dst: SoftwareRenderNode::SoftwareRenderNode
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:175,1
    - Dst: auto::setWindow
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:176,1
    - Dst: window
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:176,1
    - Dst: auto::appendChildNode
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:178,1
    - Dst: window
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:182,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:183,1
    - Dst: auto::appendChildNode
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:185,1
    - Dst: auto::material
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:187,1
    - Dst: reinterpret_cast<QSGMaterial*>
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:189,1
    - Dst: qmlDebug
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:192,1
    - Dst: setFlag
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:194,1
    - Dst: auto::material
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:198,1
    - Dst: QSGNode*::childAtIndex
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:208,1
    - Dst: QSGNode*::appendChildNode
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:214,1
    - Dst: createObserverNode
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:214,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:221,1
    - Dst: dynamic_cast<MatrixChangeObserverNode*>
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:221,1
    - Dst: auto::setFlag
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:222,1
    - Dst: boundingRect
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:228,1
    - Dst: auto::size
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:230,1
    - Dst: auto::setRect
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:236,1
    - Dst: auto::setColor
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:237,1
    - Dst: Q_UNLIKELY
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:239,1
    - Dst: auto::setWindow
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:241,1
    - Dst: window
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:241,1
    - Dst: auto::rect
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:249,1
    - Dst: auto::setRect
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:250,1
    - Dst: auto::color
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:252,1
    - Dst: auto::setColor
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:254,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:255,1
    - Dst: auto::material
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:255,1
    - Dst: auto::material
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:256,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:266,1
    - Dst: setFlag
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:271,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 95
    argCount: 1
    argNames:
    - oldNode
    argTypes:
    - QSGNode*
    assertStmts:
    - condition: (rectangleNode)
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp
    - condition: (dynamic_cast<MatrixChangeObserverNode*>(observerNode))
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp
    - condition: (window())
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp
    - condition: (rectangleNode->material())
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp
    - condition: (oldNode)
      pos:
        line_end: 265
        line_start: 265
        source_file: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp
    constantsTouched: []
    func_position:
      end: 275
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 275
    functionName: ViewBlockingRectangle::updatePaintNode
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp
    functionUses: 1
    functionsReached:
    - assert
    - Q_UNLIKELY
    - reinterpret_cast<QSGMaterial*>
    - auto::material
    - auto::setFlag
    - dynamic_cast<SoftwareRenderNode*>
    - SoftwareRenderNode::SoftwareRenderNode
    - QPointer
    - auto::color
    - QSGNode*::appendChildNode
    - MatrixChangeObserverNode::MatrixChangeObserverNode
    - auto::setRect
    - QPointF
    - auto::rect
    - auto::size
    - setFlag
    - dynamic_cast<MatrixChangeObserverNode*>
    - auto::setWindow
    - auto::appendChildNode
    - row
    - Q_LIKELY
    - qmlDebug
    - window
    - auto::setColor
    - dynamic_cast<QSGRectangleNode*>
    - mapToScene
    - QSGNode*::childAtIndex
    - boundingRect
    - createObserverNode
    linkageType: ''
    returnType: QSGNode
    signature: QSGNode *ViewBlockingRectangle::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData
      *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: ViewBlockingRectangle::renderSize
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QSizeF
    signature: QSizeF ViewBlockingRectangle::renderSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: ViewBlockingRectangle::renderPosition
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QPointF
    signature: QPointF ViewBlockingRectangle::renderPosition() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setFlag
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:296,1
    - Dst: isVisible
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:297,1
    - Dst: update
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:298,1
    - Dst: setFlag
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:302,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 306
    functionName: ViewBlockingRectangle::setRenderingEnabled
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp
    functionUses: 0
    functionsReached:
    - setFlag
    - isVisible
    - update
    linkageType: ''
    returnType: void
    signature: void ViewBlockingRectangle::setRenderingEnabled(bool enabled)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setFlag
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:317,1
    - Dst: isVisible
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:318,1
    - Dst: update
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:319,1
    - Dst: setFlag
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:323,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - _update
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 325
    functionName: ViewBlockingRectangle::setUpdateRenderPosition
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp
    functionUses: 0
    functionsReached:
    - setFlag
    - isVisible
    - update
    linkageType: ''
    returnType: void
    signature: void ViewBlockingRectangle::setUpdateRenderPosition(bool _update)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 330
    functionName: ViewBlockingRectangle::updateRenderPosition
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ViewBlockingRectangle::updateRenderPosition() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FlickableScrollHandler::componentComplete
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:334,1
    - Dst: isVisible
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:336,1
    - Dst: QSizeF
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:338,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:338,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:338,1
    - Dst: mapToScene
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:342,1
    - Dst: QPointF
      Src: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 345
    functionName: ViewBlockingRectangle::componentComplete
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/viewblockingrectangle.cpp
    functionUses: 0
    functionsReached:
    - height
    - isVisible
    - FlickableScrollHandler::componentComplete
    - width
    - QSizeF
    - QPointF
    - mapToScene
    linkageType: ''
    returnType: void
    signature: void ViewBlockingRectangle::componentComplete()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BasicAnimator::setFps
      Src: /src/vlc/modules/gui/qt/widgets/native/animators.cpp:32,1
    - Dst: setLoopCount
      Src: /src/vlc/modules/gui/qt/widgets/native/animators.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: BasicAnimator::BasicAnimator
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/animators.cpp
    functionUses: 0
    functionsReached:
    - setLoopCount
    - BasicAnimator::setFps
    linkageType: ''
    returnType: void
    signature: void BasicAnimator::BasicAnimator( QObject *parent )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - msecs
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: BasicAnimator::updateCurrentTime
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/animators.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BasicAnimator::updateCurrentTime( int msecs )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/vlc/modules/gui/qt/widgets/native/animators.cpp:51,1
    - Dst: ImageHelper::loadSvgToPixmap
      Src: /src/vlc/modules/gui/qt/widgets/native/animators.cpp:51,1
    - Dst: at
      Src: /src/vlc/modules/gui/qt/widgets/native/animators.cpp:52,1
    - Dst: setFps
      Src: /src/vlc/modules/gui/qt/widgets/native/animators.cpp:53,1
    - Dst: QList<QString>::count
      Src: /src/vlc/modules/gui/qt/widgets/native/animators.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - parent
    - frames
    - width
    - height
    argTypes:
    - QWidget*
    - QList<QString>
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: PixmapAnimator::PixmapAnimator
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/animators.cpp
    functionUses: 2
    functionsReached:
    - append
    - ImageHelper::loadSvgToPixmap
    - at
    - setFps
    - QList<QString>::count
    linkageType: ''
    returnType: void
    signature: void PixmapAnimator::PixmapAnimator(QWidget *parent, QList<QString>
      frames, int width , int height)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: PixmapAnimator::~PixmapAnimator()
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/animators.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PixmapAnimator::~PixmapAnimator()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/vlc/modules/gui/qt/widgets/native/animators.cpp:63,1
    - Dst: count
      Src: /src/vlc/modules/gui/qt/widgets/native/animators.cpp:63,1
    - Dst: at
      Src: /src/vlc/modules/gui/qt/widgets/native/animators.cpp:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - msecs
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: PixmapAnimator::updateCurrentTime
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/animators.cpp
    functionUses: 0
    functionsReached:
    - count
    - at
    linkageType: ''
    returnType: void
    signature: void PixmapAnimator::updateCurrentTime( int msecs )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BasicAnimator::BasicAnimator
      Src: /src/vlc/modules/gui/qt/widgets/native/animators.cpp:78,1
    - Dst: setFps
      Src: /src/vlc/modules/gui/qt/widgets/native/animators.cpp:79,1
    - Dst: setLoopCount
      Src: /src/vlc/modules/gui/qt/widgets/native/animators.cpp:80,1
    - Dst: DelegateAnimationHelper::setIndex
      Src: /src/vlc/modules/gui/qt/widgets/native/animators.cpp:82,1
    - Dst: QModelIndex
      Src: /src/vlc/modules/gui/qt/widgets/native/animators.cpp:82,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/widgets/native/animators.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - view_
    - animator_
    argTypes:
    - QAbstractItemView*
    - BasicAnimator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: DelegateAnimationHelper::DelegateAnimationHelper
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/animators.cpp
    functionUses: 1
    functionsReached:
    - DelegateAnimationHelper::setIndex
    - QModelIndex
    - setLoopCount
    - setFps
    - connect
    - BasicAnimator::BasicAnimator
    linkageType: ''
    returnType: void
    signature: "void DelegateAnimationHelper::DelegateAnimationHelper( QAbstractItemView
      *view_,\n                                                  BasicAnimator *animator_
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QPersistentModelIndex
      Src: /src/vlc/modules/gui/qt/widgets/native/animators.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index_
    argTypes:
    - QModelIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: DelegateAnimationHelper::setIndex
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/animators.cpp
    functionUses: 1
    functionsReached:
    - QPersistentModelIndex
    linkageType: ''
    returnType: void
    signature: void DelegateAnimationHelper::setIndex( const QModelIndex &index_ )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DelegateAnimationHelper::isRunning
      Src: /src/vlc/modules/gui/qt/widgets/native/animators.cpp:95,1
    - Dst: start
      Src: /src/vlc/modules/gui/qt/widgets/native/animators.cpp:95,1
    - Dst: stop
      Src: /src/vlc/modules/gui/qt/widgets/native/animators.cpp:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - b_run
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: DelegateAnimationHelper::run
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/animators.cpp
    functionUses: 0
    functionsReached:
    - DelegateAnimationHelper::isRunning
    - start
    - stop
    linkageType: ''
    returnType: void
    signature: void DelegateAnimationHelper::run( bool b_run )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: state
      Src: /src/vlc/modules/gui/qt/widgets/native/animators.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: DelegateAnimationHelper::isRunning
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/animators.cpp
    functionUses: 1
    functionsReached:
    - state
    linkageType: ''
    returnType: bool
    signature: bool DelegateAnimationHelper::isRunning() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: '& DelegateAnimationHelper::getIndex() const'
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/animators.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QPersistentModelIndex
    signature: QPersistentModelIndex & DelegateAnimationHelper::getIndex() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/vlc/modules/gui/qt/widgets/native/animators.cpp:114,1
    - Dst: DelegateAnimationHelper::run
      Src: /src/vlc/modules/gui/qt/widgets/native/animators.cpp:115,1
    - Dst: viewport
      Src: /src/vlc/modules/gui/qt/widgets/native/animators.cpp:118,1
    - Dst: viewport
      Src: /src/vlc/modules/gui/qt/widgets/native/animators.cpp:119,1
    - Dst: update
      Src: /src/vlc/modules/gui/qt/widgets/native/animators.cpp:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 123
    functionName: DelegateAnimationHelper::updateDelegate
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/animators.cpp
    functionUses: 0
    functionsReached:
    - update
    - DelegateAnimationHelper::run
    - viewport
    - isValid
    linkageType: ''
    returnType: void
    signature: void DelegateAnimationHelper::updateDelegate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QFramelessButton::QFramelessButton
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:39,1
    - Dst: setIcon
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:40,1
    - Dst: QIcon
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:40,1
    - Dst: setIconSize
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:41,1
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:41,1
    - Dst: setCursor
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:42,1
    - Dst: setToolTip
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:43,1
    - Dst: qfu
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:43,1
    - Dst: vlc_pgettext
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:43,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:44,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:46,1
    - Dst: style
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:48,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:51,1
    - Dst: QFontMetrics::height
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:55,1
    - Dst: sizeHint
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:56,1
    - Dst: setStyleSheet
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:57,1
    - Dst: SearchLineEdit::setMessageVisible
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:59,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:61,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 66
    functionName: SearchLineEdit::SearchLineEdit
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp
    functionUses: 5
    functionsReached:
    - setIconSize
    - QIcon
    - setToolTip
    - setCursor
    - QFramelessButton::QFramelessButton
    - hide
    - setIcon
    - style
    - QString
    - QFontMetrics::height
    - setStyleSheet
    - SearchLineEdit::setMessageVisible
    - connect
    - vlc_pgettext
    - sizeHint
    - QSize
    - qfu
    linkageType: ''
    returnType: void
    signature: void SearchLineEdit::SearchLineEdit( QWidget *parent )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setText
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:70,1
    - Dst: QString
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:70,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:71,1
    - Dst: SearchLineEdit::setMessageVisible
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: SearchLineEdit::clear
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp
    functionUses: 0
    functionsReached:
    - setText
    - QString
    - hide
    - SearchLineEdit::setMessageVisible
    linkageType: ''
    returnType: void
    signature: void SearchLineEdit::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: repaint
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - 'on'
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: SearchLineEdit::setMessageVisible
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp
    functionUses: 2
    functionsReached:
    - repaint
    linkageType: ''
    returnType: void
    signature: void SearchLineEdit::setMessageVisible( bool on )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:85,1
    - Dst: SearchLineEdit::setMessageVisible
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:85,1
    - Dst: setVisible
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:86,1
    - Dst: isEmpty
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' text'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: SearchLineEdit::updateText
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp
    functionUses: 0
    functionsReached:
    - isEmpty
    - setVisible
    - SearchLineEdit::setMessageVisible
    linkageType: ''
    returnType: void
    signature: void SearchLineEdit::updateText( const QString& text )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtraMetaPanel::resizeEvent
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:91,1
    - Dst: style
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:92,1
    - Dst: resize
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:93,1
    - Dst: sizeHint
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:93,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:93,1
    - Dst: move
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:94,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:94,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:94,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:95,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - QResizeEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: SearchLineEdit::resizeEvent
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp
    functionUses: 0
    functionsReached:
    - resize
    - style
    - height
    - width
    - move
    - sizeHint
    - ExtraMetaPanel::resizeEvent
    linkageType: ''
    returnType: void
    signature: void SearchLineEdit::resizeEvent ( QResizeEvent * event )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SearchLineEdit::setMessageVisible
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:102,1
    - Dst: EPGItem::focusInEvent
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - event
    argTypes:
    - QFocusEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: SearchLineEdit::focusInEvent
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp
    functionUses: 0
    functionsReached:
    - EPGItem::focusInEvent
    - SearchLineEdit::setMessageVisible
    linkageType: ''
    returnType: void
    signature: void SearchLineEdit::focusInEvent( QFocusEvent *event )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: text
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:109,1
    - Dst: SearchLineEdit::setMessageVisible
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:111,1
    - Dst: CompositorOffscreenWindow::focusOutEvent
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - event
    argTypes:
    - QFocusEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: SearchLineEdit::focusOutEvent
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp
    functionUses: 0
    functionsReached:
    - CompositorOffscreenWindow::focusOutEvent
    - text
    - SearchLineEdit::setMessageVisible
    linkageType: ''
    returnType: void
    signature: void SearchLineEdit::focusOutEvent( QFocusEvent *event )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EPGRuler::paintEvent
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:118,1
    - Dst: QStyleOption::initFrom
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:121,1
    - Dst: style
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:122,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:123,1
    - Dst: QPainter::setPen
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:125,1
    - Dst: palette
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:125,1
    - Dst: QPainter::drawText
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:126,1
    - Dst: qfut
      Src: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - event
    argTypes:
    - QPaintEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: SearchLineEdit::paintEvent
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp
    functionUses: 0
    functionsReached:
    - qfut
    - QStyleOption::initFrom
    - style
    - width
    - palette
    - QPainter::setPen
    - EPGRuler::paintEvent
    - QPainter::drawText
    linkageType: ''
    returnType: void
    signature: void SearchLineEdit::paintEvent( QPaintEvent *event )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: SearchLineEdit::searchEditingFinished
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/searchlineedit.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SearchLineEdit::searchEditingFinished()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: ~QVLCFrame()
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~QVLCFrame()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isVisible
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.hpp:80,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.hpp:80,1
    - Dst: show
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.hpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: QVLCFrame::toggleVisible
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.hpp
    functionUses: 2
    functionsReached:
    - show
    - isVisible
    - hide
    linkageType: ''
    returnType: void
    signature: void toggleVisible()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QSize
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.hpp:87,1
    - Dst: QPoint
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.hpp:88,1
    - Dst: QVLCTools::restoreWidgetPosition
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.hpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: QVLCFrame::restoreWidgetPosition
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.hpp
    functionUses: 0
    functionsReached:
    - QSize
    - QVLCTools::restoreWidgetPosition
    - QPoint
    linkageType: ''
    returnType: void
    signature: "void restoreWidgetPosition( const QString& name,\n                       QSize
      defSize = QSize( 1, 1 ),\n                       QPoint defPos = QPoint( 0,
      0 ) )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QVLCTools::saveWidgetPosition
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.hpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - QString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: QVLCFrame::saveWidgetPosition
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.hpp
    functionUses: 0
    functionsReached:
    - QVLCTools::saveWidgetPosition
    linkageType: ''
    returnType: void
    signature: void saveWidgetPosition( const QString& name )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.hpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: QVLCFrame::cancel
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.hpp
    functionUses: 1
    functionsReached:
    - hide
    linkageType: ''
    returnType: void
    signature: void cancel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.hpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: QVLCFrame::close
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.hpp
    functionUses: 1
    functionsReached:
    - hide
    linkageType: ''
    returnType: void
    signature: void close()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: ~QVLCDialog()
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~QVLCDialog()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isVisible
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.hpp:116,1
    - Dst: hide
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.hpp:116,1
    - Dst: show
      Src: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.hpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: QVLCDialog::toggleVisible
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/qvlcframe.hpp
    functionUses: 1
    functionsReached:
    - show
    - isVisible
    - hide
    linkageType: ''
    returnType: void
    signature: void toggleVisible()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: CSDThemeImage::getTheme
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SystemPalette
    signature: SystemPalette * getTheme() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: CSDThemeImage::getButtonType
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ButtonType
    signature: ButtonType getButtonType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: CSDThemeImage::getButtonState
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ButtonState
    signature: ButtonState getButtonState() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: CSDThemeImage::getBannerHeight
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getBannerHeight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: CSDThemeImage::getWindowMaximized
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getWindowMaximized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: CSDThemeImage::getWindowActive
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/csdthemeimage.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getWindowActive() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - Type
    - ','
    - property
    - ','
    - defaultValue
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: VLC_QT_SIMPLE_PROPERTY
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLC_QT_SIMPLE_PROPERTY(Type, property, defaultValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NavigationAttached::NavigationAttached
      Src: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.hpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: qmlAttachedProperties
    functionSourceFile: /src/vlc/modules/gui/qt/widgets/native/navigation_attached.hpp
    functionUses: 0
    functionsReached:
    - NavigationAttached::NavigationAttached
    linkageType: ''
    returnType: NavigationAttached
    signature: NavigationAttached *qmlAttachedProperties(QObject* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: COLOR_DEFINITION
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COLOR_DEFINITION(name, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: SystemPalette::getCtx
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MainCtx
    signature: MainCtx * getCtx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: SystemPalette::classBegin
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void classBegin() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QColor::setRgbF
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:32,1
    - Dst: QColor::redF
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:32,1
    - Dst: QColor::redF
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:32,1
    - Dst: QColor::redF
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:32,1
    - Dst: QColor::greenF
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:33,1
    - Dst: QColor::greenF
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:33,1
    - Dst: QColor::greenF
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:33,1
    - Dst: QColor::blueF
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:34,1
    - Dst: QColor::blueF
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:34,1
    - Dst: QColor::blueF
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:34,1
    - Dst: QColor::alphaF
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:35,1
    - Dst: QColor::alphaF
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:35,1
    - Dst: QColor::alphaF
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - c1
    - c2
    argTypes:
    - QColor
    - QColor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: blendColors
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp
    functionUses: 0
    functionsReached:
    - QColor::greenF
    - QColor::setRgbF
    - QColor::blueF
    - QColor::redF
    - QColor::alphaF
    linkageType: ''
    returnType: QColor
    signature: QColor blendColors(QColor c1, QColor c2, float blend = 0.5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QColor::setRgbF
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:32,1
    - Dst: QColor::redF
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:32,1
    - Dst: QColor::redF
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:32,1
    - Dst: QColor::redF
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:32,1
    - Dst: QColor::greenF
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:33,1
    - Dst: QColor::greenF
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:33,1
    - Dst: QColor::greenF
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:33,1
    - Dst: QColor::blueF
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:34,1
    - Dst: QColor::blueF
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:34,1
    - Dst: QColor::blueF
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:34,1
    - Dst: QColor::alphaF
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:35,1
    - Dst: QColor::alphaF
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:35,1
    - Dst: QColor::alphaF
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - c1
    - c2
    argTypes:
    - QColor
    - QColor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: blendColors
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp
    functionUses: 0
    functionsReached:
    - QColor::greenF
    - QColor::setRgbF
    - QColor::blueF
    - QColor::redF
    - QColor::alphaF
    linkageType: ''
    returnType: QColor
    signature: QColor blendColors(QColor c1, QColor c2, float blend = 0.5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:47,1
    - Dst: SystemePaletteObserver::updatePalette
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_qt_theme_provider_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: SystemePaletteObserver::SystemePaletteObserver
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp
    functionUses: 0
    functionsReached:
    - SystemePaletteObserver::updatePalette
    - vlc_assert
    linkageType: ''
    returnType: void
    signature: void SystemePaletteObserver(vlc_qt_theme_provider_t* obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QEvent*::type
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:53,1
    - Dst: SystemePaletteObserver::updatePalette
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:55,1
    - Dst: paletteUpdated
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:57,1
    - Dst: item_event
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - event
    argTypes:
    - QEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: SystemePaletteObserver::event
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp
    functionUses: 0
    functionsReached:
    - QEvent*::type
    - item_event
    - SystemePaletteObserver::updatePalette
    - paletteUpdated
    linkageType: ''
    returnType: bool
    signature: bool event(QEvent *event) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: palette
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:70,1
    - Dst: color
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:71,1
    - Dst: color
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:72,1
    - Dst: QColor::lightness
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:73,1
    - Dst: QColor::lightness
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: SystemePaletteObserver::updatePalette
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp
    functionUses: 2
    functionsReached:
    - color
    - palette
    - QColor::lightness
    linkageType: ''
    returnType: void
    signature: void updatePalette()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SystemePaletteObserver*>
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_qt_theme_provider_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: isThemeDark
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp
    functionUses: 0
    functionsReached:
    - static_cast<SystemePaletteObserver*>
    linkageType: ''
    returnType: bool
    signature: bool isThemeDark(vlc_qt_theme_provider_t* obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_qt_theme_provider_t*::setColorInt
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:89,1
    - Dst: red
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:89,1
    - Dst: green
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:89,1
    - Dst: blue
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:89,1
    - Dst: alpha
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - obj
    - set
    - section
    - name
    - state
    - ' c'
    argTypes:
    - vlc_qt_theme_provider_t*
    - vlc_qt_theme_color_set
    - vlc_qt_theme_color_section
    - vlc_qt_theme_color_name
    - vlc_qt_theme_color_state
    - QColor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: setQtColor
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp
    functionUses: 0
    functionsReached:
    - alpha
    - green
    - red
    - vlc_qt_theme_provider_t*::setColorInt
    - blue
    linkageType: ''
    returnType: void
    signature: "void setQtColor(vlc_qt_theme_provider_t* obj,\n                        vlc_qt_theme_color_set
      set, vlc_qt_theme_color_section section,\n                        vlc_qt_theme_color_name
      name, vlc_qt_theme_color_state state,\n                        const QColor&
      c)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SystemePaletteObserver*>
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:96,1
    - Dst: color
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:97,1
    - Dst: setQtColor
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:99,1
    - Dst: setQtColor
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:100,1
    - Dst: color
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:100,1
    - Dst: setQtColor
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:101,1
    - Dst: setQtColor
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:102,1
    - Dst: setQtColor
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:105,1
    - Dst: QColor::lighter
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:105,1
    - Dst: setQtColor
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:107,1
    - Dst: QColor::darker
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - obj
    - ' palette'
    - set
    - section
    - name
    - role
    argTypes:
    - vlc_qt_theme_provider_t*
    - QPalette
    - vlc_qt_theme_color_set
    - vlc_qt_theme_color_section
    - vlc_qt_theme_color_name
    - QPalette::ColorRole
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 108
    functionName: setQtColorSet
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp
    functionUses: 0
    functionsReached:
    - setQtColor
    - QColor::darker
    - QColor::lighter
    - color
    - static_cast<SystemePaletteObserver*>
    linkageType: ''
    returnType: void
    signature: "void setQtColorSet(vlc_qt_theme_provider_t* obj, const QPalette& palette,\n
      \                       vlc_qt_theme_color_set set, vlc_qt_theme_color_section
      section,\n                        vlc_qt_theme_color_name name, QPalette::ColorRole
      role)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SystemePaletteObserver*>
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:113,1
    - Dst: setQtColorSet
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - obj
    - set
    - name
    - role
    argTypes:
    - vlc_qt_theme_provider_t*
    - vlc_qt_theme_color_set
    - vlc_qt_theme_color_name
    - QPalette::ColorRole
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: setQtColorSetFg
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp
    functionUses: 0
    functionsReached:
    - setQtColorSet
    - static_cast<SystemePaletteObserver*>
    linkageType: ''
    returnType: void
    signature: "void setQtColorSetFg(vlc_qt_theme_provider_t* obj,\n                        vlc_qt_theme_color_set
      set, vlc_qt_theme_color_name name, QPalette::ColorRole role)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SystemePaletteObserver*>
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:120,1
    - Dst: setQtColorSet
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - obj
    - set
    - name
    - role
    argTypes:
    - vlc_qt_theme_provider_t*
    - vlc_qt_theme_color_set
    - vlc_qt_theme_color_name
    - QPalette::ColorRole
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: setQtColorSetBg
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp
    functionUses: 0
    functionsReached:
    - setQtColorSet
    - static_cast<SystemePaletteObserver*>
    linkageType: ''
    returnType: void
    signature: "void setQtColorSetBg(vlc_qt_theme_provider_t* obj,\n                        vlc_qt_theme_color_set
      set, vlc_qt_theme_color_name name, QPalette::ColorRole role)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SystemePaletteObserver*>
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:127,1
    - Dst: auto::m_palette::color
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:128,1
    - Dst: auto::m_palette::color
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:129,1
    - Dst: setQtColor
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:130,1
    - Dst: blendColors
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - obj
    - set
    - roleBg
    - roleFg
    argTypes:
    - vlc_qt_theme_provider_t*
    - vlc_qt_theme_color_set
    - QPalette::ColorRole
    - QPalette::ColorRole
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: setQtColorSetBorder
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp
    functionUses: 0
    functionsReached:
    - setQtColor
    - static_cast<SystemePaletteObserver*>
    - blendColors
    - auto::m_palette::color
    linkageType: ''
    returnType: void
    signature: "void setQtColorSetBorder(vlc_qt_theme_provider_t* obj,\n    vlc_qt_theme_color_set
      set, QPalette::ColorRole roleBg, QPalette::ColorRole roleFg, float blend = 0.5)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SystemePaletteObserver*>
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:136,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:143,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:144,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:146,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:148,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:149,1
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:151,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:152,1
    - Dst: color
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:154,1
    - Dst: QColor::lighter
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:155,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:160,1
    - Dst: QColor::lighter
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:161,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_qt_theme_provider_t*
    assertStmts:
    - condition: (accentColor)
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp
    constantsTouched: []
    func_position:
      end: 165
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 165
    functionName: updatePalette
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp
    functionUses: 2
    functionsReached:
    - QColor
    - assert
    - var_InheritString
    - QColor::lighter
    - color
    - strcmp
    - static_cast<SystemePaletteObserver*>
    - QT_VERSION_CHECK
    - free
    linkageType: ''
    returnType: int
    signature: int updatePalette(vlc_qt_theme_provider_t* obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SystemePaletteObserver*>
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_qt_theme_provider_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 466
    functionName: Close
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp
    functionUses: 151
    functionsReached:
    - static_cast<SystemePaletteObserver*>
    linkageType: ''
    returnType: void
    signature: void Close(vlc_qt_theme_provider_t* obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SystemePaletteObserver::SystemePaletteObserver
      Src: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 483
    functionName: SystemPaletteThemeProviderOpen
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalettethemeprovider.cpp
    functionUses: 0
    functionsReached:
    - SystemePaletteObserver::SystemePaletteObserver
    linkageType: ''
    returnType: int
    signature: int SystemPaletteThemeProviderOpen(vlc_object_t* p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:39,1
    - Dst: installNativeEventFilter
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_qt_theme_provider_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: WinColorSchemeObserver
    functionSourceFile: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp
    functionUses: 0
    functionsReached:
    - installNativeEventFilter
    - vlc_assert
    linkageType: ''
    returnType: void
    signature: void WinColorSchemeObserver(vlc_qt_theme_provider_t* obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: removeNativeEventFilter
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: ~WinColorSchemeObserver()
    functionSourceFile: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp
    functionUses: 0
    functionsReached:
    - removeNativeEventFilter
    linkageType: ''
    returnType: void
    signature: void ~WinColorSchemeObserver()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: isThemeDark
    functionSourceFile: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: bool
    signature: bool isThemeDark() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<MSG*>
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:59,1
    - Dst: lstrcmp
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:61,1
    - Dst: LPCTSTR
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:61,1
    - Dst: paletteUpdated
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:64,1
    - Dst: paletteUpdated
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - message
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 72
    functionName: nativeEventFilter
    functionSourceFile: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp
    functionUses: 0
    functionsReached:
    - LPCTSTR
    - paletteUpdated
    - lstrcmp
    - static_cast<MSG*>
    linkageType: ''
    returnType: bool
    signature: bool nativeEventFilter(const QByteArray &, void *message, long *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSysColor
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:85,1
    - Dst: vlc_qt_theme_provider_t*::setColorInt
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:86,1
    - Dst: GetRValue
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:86,1
    - Dst: GetGValue
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:86,1
    - Dst: GetBValue
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - obj
    - set
    - section
    - name
    - state
    - color
    argTypes:
    - vlc_qt_theme_provider_t*
    - vlc_qt_theme_color_set
    - vlc_qt_theme_color_section
    - vlc_qt_theme_color_name
    - vlc_qt_theme_color_state
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: setQtColor
    functionSourceFile: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp
    functionUses: 2
    functionsReached:
    - GetGValue
    - GetBValue
    - GetRValue
    - vlc_qt_theme_provider_t*::setColorInt
    - GetSysColor
    linkageType: ''
    returnType: void
    signature: "void setQtColor(vlc_qt_theme_provider_t* obj,\n                        vlc_qt_theme_color_set
      set, vlc_qt_theme_color_section section,\n                        vlc_qt_theme_color_name
      name, vlc_qt_theme_color_state state,\n                        int color)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setQtColor
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - obj
    - set
    - name
    - state
    - role
    argTypes:
    - vlc_qt_theme_provider_t*
    - vlc_qt_theme_color_set
    - vlc_qt_theme_color_name
    - vlc_qt_theme_color_state
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: setQtColorFg
    functionSourceFile: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp
    functionUses: 0
    functionsReached:
    - setQtColor
    linkageType: ''
    returnType: void
    signature: "void setQtColorFg(vlc_qt_theme_provider_t* obj,\n                        vlc_qt_theme_color_set
      set, vlc_qt_theme_color_name name, vlc_qt_theme_color_state state, int role)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setQtColor
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - obj
    - set
    - name
    - state
    - role
    argTypes:
    - vlc_qt_theme_provider_t*
    - vlc_qt_theme_color_set
    - vlc_qt_theme_color_name
    - vlc_qt_theme_color_state
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: setQtColorBg
    functionSourceFile: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp
    functionUses: 0
    functionsReached:
    - setQtColor
    linkageType: ''
    returnType: void
    signature: "void setQtColorBg(vlc_qt_theme_provider_t* obj,\n                        vlc_qt_theme_color_set
      set, vlc_qt_theme_color_name name, vlc_qt_theme_color_state state, int role)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setQtColorBg
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:106,1
    - Dst: setQtColorFg
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:107,1
    - Dst: setQtColor
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:108,1
    - Dst: setQtColorBg
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:110,1
    - Dst: setQtColorFg
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:111,1
    - Dst: setQtColor
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:112,1
    - Dst: setQtColorBg
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:114,1
    - Dst: setQtColorFg
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:115,1
    - Dst: setQtColor
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - obj
    - CS
    argTypes:
    - vlc_qt_theme_provider_t*
    - vlc_qt_theme_color_set
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 119
    functionName: setQtColorButton
    functionSourceFile: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp
    functionUses: 0
    functionsReached:
    - setQtColorFg
    - setQtColor
    - setQtColorBg
    linkageType: ''
    returnType: void
    signature: "void setQtColorButton(vlc_qt_theme_provider_t* obj,\n                        vlc_qt_theme_color_set
      CS)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<WinColorSchemeObserver*>
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:123,1
    - Dst: auto::isThemeDark
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_qt_theme_provider_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: isThemeDark
    functionSourceFile: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp
    functionUses: 1
    functionsReached:
    - auto::isThemeDark
    - static_cast<WinColorSchemeObserver*>
    linkageType: ''
    returnType: bool
    signature: bool isThemeDark(vlc_qt_theme_provider_t* obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SystemParametersInfoA
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:132,1
    - Dst: setQtColorBg
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:144,1
    - Dst: setQtColorFg
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:145,1
    - Dst: setQtColorFg
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:146,1
    - Dst: setQtColorBg
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:148,1
    - Dst: setQtColorFg
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:149,1
    - Dst: setQtColorFg
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:150,1
    - Dst: setQtColorFg
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:152,1
    - Dst: setQtColorBg
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:154,1
    - Dst: setQtColorFg
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:155,1
    - Dst: setQtColorBg
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:158,1
    - Dst: setQtColorBg
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:159,1
    - Dst: setQtColorBg
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:160,1
    - Dst: setQtColorFg
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:162,1
    - Dst: setQtColorFg
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:163,1
    - Dst: setQtColorFg
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:164,1
    - Dst: setQtColor
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:169,1
    - Dst: setQtColor
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:171,1
    - Dst: setQtColor
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:172,1
    - Dst: setQtColor
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:173,1
    - Dst: setQtColor
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:175,1
    - Dst: setQtColor
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:176,1
    - Dst: setQtColor
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:177,1
    - Dst: setQtColor
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:179,1
    - Dst: setQtColorButton
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:183,1
    - Dst: setQtColorButton
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:184,1
    - Dst: setQtColorButton
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:185,1
    - Dst: setQtColorButton
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:186,1
    - Dst: setQtColorButton
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_qt_theme_provider_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 194
    functionName: updatePalette
    functionSourceFile: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp
    functionUses: 2
    functionsReached:
    - setQtColor
    - setQtColorButton
    - setQtColorFg
    - SystemParametersInfoA
    - setQtColorBg
    linkageType: ''
    returnType: int
    signature: int updatePalette(vlc_qt_theme_provider_t* obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<WinColorSchemeObserver*>
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_qt_theme_provider_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: Close
    functionSourceFile: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp
    functionUses: 151
    functionsReached:
    - static_cast<WinColorSchemeObserver*>
    linkageType: ''
    returnType: void
    signature: void Close(vlc_qt_theme_provider_t* obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QSettings::contains
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:209,1
    - Dst: WinColorSchemeObserver::WinColorSchemeObserver
      Src: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 223
    functionName: WindowsThemeProviderOpen
    functionSourceFile: /src/vlc/modules/gui/qt/style/windowsthemeprovider.cpp
    functionUses: 0
    functionsReached:
    - QSettings::contains
    - WinColorSchemeObserver::WinColorSchemeObserver
    linkageType: ''
    returnType: int
    signature: int WindowsThemeProviderOpen(vlc_object_t* p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QColor::setAlphaF
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' c1'
    - alpha
    argTypes:
    - QColor
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: setColorAlpha
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 0
    functionsReached:
    - QColor::setAlphaF
    linkageType: ''
    returnType: QColor
    signature: QColor setColorAlpha(const QColor& c1, float alpha)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: qgetenv
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:42,1
    - Dst: QByteArray::isEmpty
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:43,1
    - Dst: QByteArray::toUpper
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:44,1
    - Dst: qEnvironmentVariableIsEmpty
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:47,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:48,1
    - Dst: qEnvironmentVariableIsEmpty
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:49,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:50,1
    - Dst: qgetenv
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:53,1
    - Dst: QByteArray::lastIndexOf
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:56,1
    - Dst: QFile::decodeName
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:58,1
    - Dst: QSettings::beginGroup
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:59,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:59,1
    - Dst: QSettings::value
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:60,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:60,1
    - Dst: QByteArray::isEmpty
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:61,1
    - Dst: QByteArray::mid
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:65,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:69,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:71,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:73,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:75,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 76
    functionName: detectLinuxDesktopEnvironment
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 0
    functionsReached:
    - QStringLiteral
    - QByteArray::toUpper
    - qgetenv
    - QByteArray::isEmpty
    - QSettings::beginGroup
    - QFile::decodeName
    - QByteArrayLiteral
    - QSettings::value
    - QByteArray::mid
    - QByteArray::lastIndexOf
    - qEnvironmentVariableIsEmpty
    linkageType: ''
    returnType: QByteArray
    signature: QByteArray detectLinuxDesktopEnvironment()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detectLinuxDesktopEnvironment
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:88,1
    - Dst: QList::contains
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 95
    functionName: isGTKBasedEnvironment
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 0
    functionsReached:
    - QList::contains
    - detectLinuxDesktopEnvironment
    linkageType: ''
    returnType: bool
    signature: bool isGTKBasedEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ExternalPaletteImpl*>
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: PaletteChangedCallback
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 0
    functionsReached:
    - static_cast<ExternalPaletteImpl*>
    linkageType: ''
    returnType: void
    signature: void PaletteChangedCallback(vlc_qt_theme_provider_t*, void* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ExternalPaletteImpl*>
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:107,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:108,1
    - Dst: auto::updateMetrics
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - type
    - data
    argTypes:
    - vlc_qt_theme_image_type
    - void*
    assertStmts:
    - condition: (priv)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/vlc/modules/gui/qt/style/systempalette.cpp
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: MetricsChangedCallback
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 0
    functionsReached:
    - static_cast<ExternalPaletteImpl*>
    - assert
    - auto::updateMetrics
    linkageType: ''
    returnType: void
    signature: void MetricsChangedCallback(vlc_qt_theme_provider_t*, vlc_qt_theme_image_type
      type, void* data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<picture_t*>
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:115,1
    - Dst: picture_Release
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: ReleaseVLCPictureCb
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 0
    functionsReached:
    - picture_Release
    - static_cast<picture_t*>
    linkageType: ''
    returnType: void
    signature: void ReleaseVLCPictureCb(void* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SystemPalette*>
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:127,1
    - Dst: auto::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:129,1
    - Dst: static_cast<ColorContext::ColorSet>
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:130,1
    - Dst: static_cast<ColorContext::ColorSection>
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:130,1
    - Dst: static_cast<ColorContext::ColorName>
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:131,1
    - Dst: static_cast<ColorContext::ColorState>
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - obj
    - set
    - section
    - name
    - state
    - r
    - g
    - b
    - a
    argTypes:
    - vlc_qt_theme_provider_t*
    - vlc_qt_theme_color_set
    - vlc_qt_theme_color_section
    - vlc_qt_theme_color_name
    - vlc_qt_theme_color_state
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 133
    functionName: setColorRBGAInt
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 0
    functionsReached:
    - static_cast<ColorContext::ColorSet>
    - static_cast<ColorContext::ColorState>
    - static_cast<ColorContext::ColorSection>
    - auto::setColor
    - static_cast<SystemPalette*>
    - static_cast<ColorContext::ColorName>
    linkageType: ''
    returnType: void
    signature: "void setColorRBGAInt(\n    vlc_qt_theme_provider_t* obj,\n    vlc_qt_theme_color_set
      set, vlc_qt_theme_color_section section,\n    vlc_qt_theme_color_name name,
      vlc_qt_theme_color_state state,\n    int r, int g, int b, int a)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SystemPalette*>
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:141,1
    - Dst: QColor::setRgbF
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:143,1
    - Dst: auto::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:144,1
    - Dst: static_cast<ColorContext::ColorSet>
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:145,1
    - Dst: static_cast<ColorContext::ColorSection>
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:145,1
    - Dst: static_cast<ColorContext::ColorName>
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:146,1
    - Dst: static_cast<ColorContext::ColorState>
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - obj
    - set
    - section
    - name
    - state
    - r
    - g
    - b
    - a
    argTypes:
    - vlc_qt_theme_provider_t*
    - vlc_qt_theme_color_set
    - vlc_qt_theme_color_section
    - vlc_qt_theme_color_name
    - vlc_qt_theme_color_state
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 148
    functionName: setColorRBGAFloat
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 0
    functionsReached:
    - QColor::setRgbF
    - static_cast<ColorContext::ColorSet>
    - static_cast<ColorContext::ColorState>
    - static_cast<ColorContext::ColorSection>
    - auto::setColor
    - static_cast<SystemPalette*>
    - static_cast<ColorContext::ColorName>
    linkageType: ''
    returnType: void
    signature: "void setColorRBGAFloat(\n    vlc_qt_theme_provider_t* obj,\n    vlc_qt_theme_color_set
      set, vlc_qt_theme_color_section section,\n    vlc_qt_theme_color_name name,
      vlc_qt_theme_color_state state,\n    double r, double g, double b, double a)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QColor::setAlphaF
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' c1'
    - alpha
    argTypes:
    - QColor
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: setColorAlpha
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 0
    functionsReached:
    - QColor::setAlphaF
    linkageType: ''
    returnType: QColor
    signature: QColor setColorAlpha(const QColor& c1, float alpha)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: qgetenv
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:42,1
    - Dst: QByteArray::isEmpty
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:43,1
    - Dst: QByteArray::toUpper
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:44,1
    - Dst: qEnvironmentVariableIsEmpty
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:47,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:48,1
    - Dst: qEnvironmentVariableIsEmpty
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:49,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:50,1
    - Dst: qgetenv
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:53,1
    - Dst: QByteArray::lastIndexOf
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:56,1
    - Dst: QFile::decodeName
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:58,1
    - Dst: QSettings::beginGroup
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:59,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:59,1
    - Dst: QSettings::value
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:60,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:60,1
    - Dst: QByteArray::isEmpty
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:61,1
    - Dst: QByteArray::mid
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:65,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:69,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:71,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:73,1
    - Dst: QByteArrayLiteral
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:75,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 76
    functionName: detectLinuxDesktopEnvironment
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 1
    functionsReached:
    - QStringLiteral
    - QByteArray::toUpper
    - qgetenv
    - QByteArray::isEmpty
    - QSettings::beginGroup
    - QFile::decodeName
    - QByteArrayLiteral
    - QSettings::value
    - QByteArray::mid
    - QByteArray::lastIndexOf
    - qEnvironmentVariableIsEmpty
    linkageType: ''
    returnType: QByteArray
    signature: QByteArray detectLinuxDesktopEnvironment()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: detectLinuxDesktopEnvironment
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:88,1
    - Dst: QList::contains
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 95
    functionName: isGTKBasedEnvironment
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 0
    functionsReached:
    - QList::contains
    - detectLinuxDesktopEnvironment
    linkageType: ''
    returnType: bool
    signature: bool isGTKBasedEnvironment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ExternalPaletteImpl*>
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: PaletteChangedCallback
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 0
    functionsReached:
    - static_cast<ExternalPaletteImpl*>
    linkageType: ''
    returnType: void
    signature: void PaletteChangedCallback(vlc_qt_theme_provider_t*, void* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ExternalPaletteImpl*>
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:107,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:108,1
    - Dst: auto::updateMetrics
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - type
    - data
    argTypes:
    - vlc_qt_theme_image_type
    - void*
    assertStmts:
    - condition: (priv)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/vlc/modules/gui/qt/style/systempalette.cpp
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: MetricsChangedCallback
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 0
    functionsReached:
    - static_cast<ExternalPaletteImpl*>
    - assert
    - auto::updateMetrics
    linkageType: ''
    returnType: void
    signature: void MetricsChangedCallback(vlc_qt_theme_provider_t*, vlc_qt_theme_image_type
      type, void* data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<picture_t*>
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:115,1
    - Dst: picture_Release
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: ReleaseVLCPictureCb
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 0
    functionsReached:
    - picture_Release
    - static_cast<picture_t*>
    linkageType: ''
    returnType: void
    signature: void ReleaseVLCPictureCb(void* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SystemPalette*>
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:127,1
    - Dst: auto::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:129,1
    - Dst: static_cast<ColorContext::ColorSet>
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:130,1
    - Dst: static_cast<ColorContext::ColorSection>
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:130,1
    - Dst: static_cast<ColorContext::ColorName>
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:131,1
    - Dst: static_cast<ColorContext::ColorState>
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - obj
    - set
    - section
    - name
    - state
    - r
    - g
    - b
    - a
    argTypes:
    - vlc_qt_theme_provider_t*
    - vlc_qt_theme_color_set
    - vlc_qt_theme_color_section
    - vlc_qt_theme_color_name
    - vlc_qt_theme_color_state
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 133
    functionName: setColorRBGAInt
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 0
    functionsReached:
    - static_cast<ColorContext::ColorSet>
    - static_cast<ColorContext::ColorState>
    - static_cast<ColorContext::ColorSection>
    - auto::setColor
    - static_cast<SystemPalette*>
    - static_cast<ColorContext::ColorName>
    linkageType: ''
    returnType: void
    signature: "void setColorRBGAInt(\n    vlc_qt_theme_provider_t* obj,\n    vlc_qt_theme_color_set
      set, vlc_qt_theme_color_section section,\n    vlc_qt_theme_color_name name,
      vlc_qt_theme_color_state state,\n    int r, int g, int b, int a)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SystemPalette*>
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:141,1
    - Dst: QColor::setRgbF
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:143,1
    - Dst: auto::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:144,1
    - Dst: static_cast<ColorContext::ColorSet>
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:145,1
    - Dst: static_cast<ColorContext::ColorSection>
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:145,1
    - Dst: static_cast<ColorContext::ColorName>
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:146,1
    - Dst: static_cast<ColorContext::ColorState>
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - obj
    - set
    - section
    - name
    - state
    - r
    - g
    - b
    - a
    argTypes:
    - vlc_qt_theme_provider_t*
    - vlc_qt_theme_color_set
    - vlc_qt_theme_color_section
    - vlc_qt_theme_color_name
    - vlc_qt_theme_color_state
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 148
    functionName: setColorRBGAFloat
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 0
    functionsReached:
    - QColor::setRgbF
    - static_cast<ColorContext::ColorSet>
    - static_cast<ColorContext::ColorState>
    - static_cast<ColorContext::ColorSection>
    - auto::setColor
    - static_cast<SystemPalette*>
    - static_cast<ColorContext::ColorName>
    linkageType: ''
    returnType: void
    signature: "void setColorRBGAFloat(\n    vlc_qt_theme_provider_t* obj,\n    vlc_qt_theme_color_set
      set, vlc_qt_theme_color_section section,\n    vlc_qt_theme_color_name name,
      vlc_qt_theme_color_state state,\n    double r, double g, double b, double a)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ctx
    - ' palette'
    - parent
    argTypes:
    - MainCtx*
    - SystemPalette
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: ExternalPaletteImpl::ExternalPaletteImpl
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExternalPaletteImpl::ExternalPaletteImpl(MainCtx* ctx, SystemPalette&
      palette, QObject* parent)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:166,1
    - Dst: module_unneed
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:168,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: ExternalPaletteImpl::~ExternalPaletteImpl()
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 0
    functionsReached:
    - module_unneed
    - vlc_object_delete
    - close
    linkageType: ''
    returnType: void
    signature: void ExternalPaletteImpl::~ExternalPaletteImpl()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isGTKBasedEnvironment
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:177,1
    - Dst: vlc_object_create
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:181,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:181,1
    - Dst: module_need
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:196,1
    - Dst: QString::isNull
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:197,1
    - Dst: qtu
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 202
    functionName: ExternalPaletteImpl::init
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 0
    functionsReached:
    - isGTKBasedEnvironment
    - QString::isNull
    - vlc_object_create
    - qtu
    - getIntf
    - module_need
    linkageType: ''
    returnType: bool
    signature: bool ExternalPaletteImpl::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ExternalPaletteImpl::isThemeDark
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 209
    functionName: ExternalPaletteImpl::isThemeDark
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 1
    functionsReached:
    - ExternalPaletteImpl::isThemeDark
    linkageType: ''
    returnType: bool
    signature: bool ExternalPaletteImpl::isThemeDark() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: supportThemeImage
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 216
    functionName: ExternalPaletteImpl::hasCSDImages
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 0
    functionsReached:
    - supportThemeImage
    linkageType: ''
    returnType: bool
    signature: bool ExternalPaletteImpl::hasCSDImages() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: intfMainWindow
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:224,1
    - Dst: getIntfUserScaleFactor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:225,1
    - Dst: getThemeImage
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:231,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:248,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:248,1
    - Dst: QImage
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:252,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 5
    argNames:
    - type
    - state
    - maximized
    - active
    - bannerHeight
    argTypes:
    - vlc_qt_theme_csd_button_type
    - vlc_qt_theme_csd_button_state
    - bool
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 257
    functionName: ExternalPaletteImpl::getCSDImage
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 0
    functionsReached:
    - getIntfUserScaleFactor
    - msg_Err
    - intfMainWindow
    - getIntf
    - QImage
    - getThemeImage
    linkageType: ''
    returnType: QImage
    signature: QImage ExternalPaletteImpl::getCSDImage(vlc_qt_theme_csd_button_type
      type, vlc_qt_theme_csd_button_state state, bool maximized, bool active, int
      bannerHeight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: ExternalPaletteImpl::getCSDMetrics
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: CSDMetrics
    signature: CSDMetrics * ExternalPaletteImpl::getCSDMetrics() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: updatePalette
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: ExternalPaletteImpl::update
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 0
    functionsReached:
    - updatePalette
    linkageType: ''
    returnType: int
    signature: int ExternalPaletteImpl::update()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:277,1
    - Dst: memset
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:282,1
    - Dst: getThemeMetrics
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:283,1
    - Dst: std::make_unique<CSDMetrics>
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - type
    argTypes:
    - vlc_qt_theme_image_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 297
    functionName: ExternalPaletteImpl::updateMetrics
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<CSDMetrics>
    - getThemeMetrics
    - reset
    - memset
    linkageType: ''
    returnType: void
    signature: void ExternalPaletteImpl::updateMetrics(vlc_qt_theme_image_type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: SystemPalette::SystemPalette
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SystemPalette::SystemPalette(QObject* parent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:308,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:309,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:309,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:310,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:312,1
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:316,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:317,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:319,1
    - Dst: palette
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:320,1
    - Dst: auto::color
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:322,1
    - Dst: lighter
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:323,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:328,1
    - Dst: lighter
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:329,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_ctx)
      pos:
        line_end: 307
        line_start: 307
        source_file: /src/vlc/modules/gui/qt/style/systempalette.cpp
    - condition: (accentColor)
      pos:
        line_end: 309
        line_start: 309
        source_file: /src/vlc/modules/gui/qt/style/systempalette.cpp
    - condition: (qApp)
      pos:
        line_end: 318
        line_start: 318
        source_file: /src/vlc/modules/gui/qt/style/systempalette.cpp
    constantsTouched: []
    func_position:
      end: 333
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 333
    functionName: SystemPalette::componentComplete
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 0
    functionsReached:
    - QColor
    - assert
    - var_InheritString
    - palette
    - free
    - strcmp
    - QT_VERSION_CHECK
    - getIntf
    - lighter
    - auto::color
    linkageType: ''
    returnType: void
    signature: void SystemPalette::componentComplete()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: SystemPalette::source
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ColorSchemeModel::ColorScheme
    signature: ColorSchemeModel::ColorScheme SystemPalette::source() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SystemPalette::hasCSDImage
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:345,1
    - Dst: QImage
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:346,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:347,1
    - Dst: SystemPalette::getCSDImage
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - type
    - state
    - maximized
    - active
    - bannerHeight
    argTypes:
    - vlc_qt_theme_csd_button_type
    - vlc_qt_theme_csd_button_state
    - bool
    - bool
    - int
    assertStmts:
    - condition: (m_palettePriv)
      pos:
        line_end: 346
        line_start: 346
        source_file: /src/vlc/modules/gui/qt/style/systempalette.cpp
    constantsTouched: []
    func_position:
      end: 350
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 350
    functionName: SystemPalette::getCSDImage
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 1
    functionsReached:
    - SystemPalette::hasCSDImage
    - QImage
    - assert
    - SystemPalette::getCSDImage
    linkageType: ''
    returnType: QImage
    signature: QImage SystemPalette::getCSDImage(vlc_qt_theme_csd_button_type type,
      vlc_qt_theme_csd_button_state state, bool maximized, bool active, int bannerHeight)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SystemPalette::getCSDMetrics
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 357
    functionName: SystemPalette::getCSDMetrics
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 1
    functionsReached:
    - SystemPalette::getCSDMetrics
    linkageType: ''
    returnType: CSDMetrics
    signature: CSDMetrics * SystemPalette::getCSDMetrics() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasCSDImages
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 364
    functionName: SystemPalette::hasCSDImage
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 1
    functionsReached:
    - hasCSDImages
    linkageType: ''
    returnType: bool
    signature: bool SystemPalette::hasCSDImage() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SystemPalette::updatePalette
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - source
    argTypes:
    - ColorSchemeModel::ColorScheme
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 374
    functionName: SystemPalette::setSource
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 0
    functionsReached:
    - SystemPalette::updatePalette
    linkageType: ''
    returnType: void
    signature: void SystemPalette::setSource(ColorSchemeModel::ColorScheme source)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SystemPalette::updatePalette
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - MainCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 383
    functionName: SystemPalette::setCtx
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 0
    functionsReached:
    - SystemPalette::updatePalette
    linkageType: ''
    returnType: void
    signature: void SystemPalette::setCtx(MainCtx* ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:387,1
    - Dst: SystemPalette::makeSystemPalette
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:391,1
    - Dst: SystemPalette::makeLightPalette
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:394,1
    - Dst: SystemPalette::makeDarkPalette
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:397,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:405,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:406,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:408,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:409,1
    - Dst: hasCSDImages
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:414,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 420
    functionName: SystemPalette::updatePalette
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 2
    functionsReached:
    - SystemPalette::makeDarkPalette
    - SystemPalette::makeSystemPalette
    - get
    - hasCSDImages
    - reset
    - SystemPalette::makeLightPalette
    - connect
    linkageType: ''
    returnType: void
    signature: void SystemPalette::updatePalette()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - colorSet
    - section
    - name
    - state
    argTypes:
    - ColorContext::ColorSet
    - ColorContext::ColorSection
    - ColorContext::ColorName
    - ColorContext::ColorState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 433
    functionName: makeKey
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: quint64
    signature: "quint64 makeKey(ColorContext::ColorSet colorSet, ColorContext::ColorSection
      section,\n                       ColorContext::ColorName name, ColorContext::ColorState
      state)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeKey
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - colorSet
    - section
    - name
    - state
    - color
    argTypes:
    - ColorContext::ColorSet
    - ColorContext::ColorSection
    - ColorContext::ColorName
    - ColorContext::ColorState
    - QColor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 441
    functionName: SystemPalette::setColor
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 0
    functionsReached:
    - makeKey
    linkageType: ''
    returnType: void
    signature: "void SystemPalette::setColor(ColorContext::ColorSet colorSet,  ColorContext::ColorSection
      section,\n                             ColorContext::ColorName name, ColorContext::ColorState
      state, QColor color)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: makeKey
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:449,1
    - Dst: find
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:450,1
    - Dst: cend
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:451,1
    - Dst: makeKey
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:454,1
    - Dst: find
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:455,1
    - Dst: cend
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:456,1
    - Dst: SystemPalette::getColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:462,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - colorSet
    - section
    - name
    - state
    argTypes:
    - ColorContext::ColorSet
    - ColorContext::ColorSection
    - ColorContext::ColorName
    - ColorContext::ColorState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 469
    functionName: SystemPalette::getColor
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 3
    functionsReached:
    - SystemPalette::getColor
    - makeKey
    - cend
    - find
    linkageType: ''
    returnType: QColor
    signature: "QColor SystemPalette::getColor(ColorContext::ColorSet colorSet, ColorContext::ColorSection
      section,\n                               ColorContext::ColorName name, ColorContext::ColorState
      state) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:478,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:483,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:484,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:486,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:487,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:487,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:489,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:489,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:491,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:491,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:492,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:494,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:494,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:495,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:497,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:497,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:498,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:500,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:500,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:501,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:503,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:503,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:504,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:504,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:505,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:505,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:506,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:506,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:508,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:508,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:510,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:510,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:512,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:513,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:519,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:520,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:521,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:527,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:527,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:528,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:534,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:534,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:535,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:536,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:538,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:538,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:539,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:540,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:541,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:541,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:542,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:548,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:549,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:551,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:551,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:552,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:553,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:554,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:554,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:555,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:557,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:558,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:559,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:560,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:566,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:566,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:567,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:568,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:569,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:570,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:570,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:576,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:576,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:577,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:577,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:578,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:578,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:580,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:581,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:581,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:582,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:582,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:583,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:585,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:586,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:586,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:588,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:588,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:595,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:596,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:596,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:597,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:597,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:599,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:600,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:600,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:602,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:603,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:604,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:605,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:611,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:613,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:613,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:614,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:615,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:616,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:616,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:618,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:619,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:620,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:621,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:627,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:628,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:634,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:635,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:635,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:636,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:637,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:638,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:639,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:645,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:646,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:646,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:647,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:653,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:653,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:654,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:655,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:655,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:656,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:656,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:658,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:659,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:665,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:665,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:666,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:666,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:667,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:667,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:669,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:670,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:676,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:676,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:677,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:678,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:678,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:679,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:679,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:681,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 124
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 472
    functionDepth: 2
    functionLinenumber: 472
    functionLinenumberEnd: 684
    functionName: SystemPalette::makeLightPalette
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 1
    functionsReached:
    - SystemPalette::setColor
    - setColorAlpha
    - QColor
    - clear
    linkageType: ''
    returnType: void
    signature: void SystemPalette::makeLightPalette()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:690,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:696,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:697,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:699,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:700,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:700,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:702,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:702,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:704,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:704,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:705,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:707,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:707,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:708,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:710,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:710,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:711,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:713,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:713,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:714,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:716,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:716,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:717,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:717,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:718,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:718,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:719,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:719,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:721,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:721,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:723,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:725,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:726,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:732,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:733,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:734,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:740,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:740,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:741,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:747,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:747,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:748,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:749,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:751,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:751,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:752,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:753,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:754,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:754,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:755,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:761,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:762,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:764,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:764,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:765,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:766,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:767,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:767,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:768,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:770,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:771,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:772,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:773,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:779,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:779,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:780,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:781,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:782,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:783,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:783,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:789,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:789,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:790,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:790,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:791,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:791,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:793,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:794,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:794,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:795,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:795,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:796,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:798,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:799,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:799,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:801,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:801,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:807,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:808,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:808,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:809,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:809,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:811,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:812,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:812,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:814,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:815,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:816,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:817,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:823,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:825,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:825,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:826,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:827,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:828,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:828,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:830,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:831,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:832,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:833,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:839,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:840,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:846,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:846,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:847,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:847,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:848,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:848,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:850,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:851,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:852,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:853,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:859,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:860,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:860,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:861,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:867,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:867,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:868,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:869,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:869,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:870,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:870,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:872,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:873,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:879,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:879,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:880,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:880,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:881,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:881,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:882,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:883,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:889,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:889,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:890,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:891,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:891,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:892,1
    - Dst: setColorAlpha
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:892,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:894,1
    - Dst: SystemPalette::setColor
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 125
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 686
    functionDepth: 2
    functionLinenumber: 686
    functionLinenumberEnd: 897
    functionName: SystemPalette::makeDarkPalette
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 1
    functionsReached:
    - SystemPalette::setColor
    - setColorAlpha
    - QColor
    - clear
    linkageType: ''
    returnType: void
    signature: void SystemPalette::makeDarkPalette()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SystemPalette::makeLightPalette
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:904,1
    - Dst: std::make_unique<ExternalPaletteImpl>
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:908,1
    - Dst: auto::init
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:909,1
    - Dst: SystemPalette::makeLightPalette
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:912,1
    - Dst: clear
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:916,1
    - Dst: auto::update
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:917,1
    - Dst: auto::isThemeDark
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:920,1
    - Dst: SystemPalette::makeDarkPalette
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:921,1
    - Dst: SystemPalette::makeLightPalette
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:923,1
    - Dst: auto::isThemeDark
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:927,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/style/systempalette.cpp:930,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 899
    functionDepth: 3
    functionLinenumber: 899
    functionLinenumberEnd: 931
    functionName: SystemPalette::makeSystemPalette
    functionSourceFile: /src/vlc/modules/gui/qt/style/systempalette.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<ExternalPaletteImpl>
    - auto::update
    - SystemPalette::makeDarkPalette
    - auto::init
    - clear
    - SystemPalette::makeLightPalette
    - std::move
    - auto::isThemeDark
    linkageType: ''
    returnType: void
    signature: void SystemPalette::makeSystemPalette()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - context
    - section
    argTypes:
    - ColorContext*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: ColorProperty::ColorProperty
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ColorProperty::ColorProperty(const ColorContext* context, int
      section)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getColor
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:28,1
    - Dst: static_cast<ColorContext::ColorSection>
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: ColorProperty::primary
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 0
    functionsReached:
    - getColor
    - static_cast<ColorContext::ColorSection>
    linkageType: ''
    returnType: QColor
    signature: QColor ColorProperty::primary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getColor
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:35,1
    - Dst: static_cast<ColorContext::ColorSection>
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: ColorProperty::secondary
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 0
    functionsReached:
    - getColor
    - static_cast<ColorContext::ColorSection>
    linkageType: ''
    returnType: QColor
    signature: QColor ColorProperty::secondary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getColor
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:42,1
    - Dst: static_cast<ColorContext::ColorSection>
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: ColorProperty::highlight
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 0
    functionsReached:
    - getColor
    - static_cast<ColorContext::ColorSection>
    linkageType: ''
    returnType: QColor
    signature: QColor ColorProperty::highlight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getColor
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:49,1
    - Dst: static_cast<ColorContext::ColorSection>
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: ColorProperty::link
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 0
    functionsReached:
    - getColor
    - static_cast<ColorContext::ColorSection>
    linkageType: ''
    returnType: QColor
    signature: QColor ColorProperty::link() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getColor
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:56,1
    - Dst: static_cast<ColorContext::ColorSection>
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: ColorProperty::positive
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 0
    functionsReached:
    - getColor
    - static_cast<ColorContext::ColorSection>
    linkageType: ''
    returnType: QColor
    signature: QColor ColorProperty::positive() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getColor
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:63,1
    - Dst: static_cast<ColorContext::ColorSection>
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: ColorProperty::neutral
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 0
    functionsReached:
    - getColor
    - static_cast<ColorContext::ColorSection>
    linkageType: ''
    returnType: QColor
    signature: QColor ColorProperty::neutral() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getColor
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:70,1
    - Dst: static_cast<ColorContext::ColorSection>
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: ColorProperty::negative
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 0
    functionsReached:
    - getColor
    - static_cast<ColorContext::ColorSection>
    linkageType: ''
    returnType: QColor
    signature: QColor ColorProperty::negative() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: ColorContext::ColorContext
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ColorContext::ColorContext(QObject* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: ColorContext::classBegin
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ColorContext::classBegin()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qobject_cast<QQuickItem*>
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:89,1
    - Dst: test_media_has_slaves_from_parent
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:89,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:93,1
    - Dst: ColorContext::onParentChanged
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:95,1
    - Dst: findChild
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:100,1
    - Dst: auto::setParentContext
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:103,1
    - Dst: childItems
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:107,1
    - Dst: setParentContextInChildrens
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:108,1
    - Dst: QQuickItem*::childItems
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:112,1
    - Dst: setParentContextInChildrens
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 114
    functionName: ColorContext::componentComplete
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 0
    functionsReached:
    - QQuickItem*::childItems
    - auto::setParentContext
    - setParentContextInChildrens
    - findChild
    - ColorContext::onParentChanged
    - childItems
    - qobject_cast<QQuickItem*>
    - connect
    - test_media_has_slaves_from_parent
    linkageType: ''
    returnType: void
    signature: void ColorContext::componentComplete()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qobject_cast<QQuickItem*>
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:119,1
    - Dst: test_media_has_slaves_from_parent
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:119,1
    - Dst: QQuickItem*::parentItem
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:125,1
    - Dst: QQuickItem*::parentItem
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:127,1
    - Dst: QQuickItem*::findChild
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:130,1
    - Dst: ColorContext::setParentContext
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:133,1
    - Dst: ColorContext::setParentContext
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 139
    functionName: ColorContext::onParentChanged
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 1
    functionsReached:
    - ColorContext::setParentContext
    - QQuickItem*::parentItem
    - QQuickItem*::findChild
    - qobject_cast<QQuickItem*>
    - test_media_has_slaves_from_parent
    linkageType: ''
    returnType: void
    signature: void ColorContext::onParentChanged()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:144,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:153,1
    - Dst: ColorContext::setInheritedPalette
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:154,1
    - Dst: ColorContext::setInheritedPalette
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:157,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:164,1
    - Dst: ColorContext::setInheritedColorSet
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:165,1
    - Dst: ColorContext::setInheritedColorSet
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:168,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:175,1
    - Dst: ColorContext::setInheritedState
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:176,1
    - Dst: ColorContext::setInheritedState
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:181,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - parentContext
    argTypes:
    - ColorContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 184
    functionName: ColorContext::setParentContext
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 1
    functionsReached:
    - disconnect
    - ColorContext::setInheritedPalette
    - ColorContext::setInheritedState
    - connect
    - ColorContext::setInheritedColorSet
    linkageType: ''
    returnType: void
    signature: void ColorContext::setParentContext(ColorContext* parentContext)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:192,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:199,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:200,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:201,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:205,1
    - Dst: ColorContext::setInheritedPalette
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:206,1
    - Dst: ColorContext::setInheritedPalette
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:209,1
    - Dst: colorsChanged
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:217,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - palette
    argTypes:
    - SystemPalette*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 230
    functionName: ColorContext::setInheritedPalette
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 2
    functionsReached:
    - connect
    - disconnect
    - colorsChanged
    - ColorContext::setInheritedPalette
    linkageType: ''
    returnType: bool
    signature: bool ColorContext::setInheritedPalette(SystemPalette* palette)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:235,1
    - Dst: ColorContext::setInheritedPalette
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - palette
    argTypes:
    - SystemPalette*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 239
    functionName: ColorContext::setPalette
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 0
    functionsReached:
    - disconnect
    - ColorContext::setInheritedPalette
    linkageType: ''
    returnType: void
    signature: void ColorContext::setPalette(SystemPalette* palette)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: colorsChanged
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:252,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - colorSet
    argTypes:
    - ColorSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 265
    functionName: ColorContext::setInheritedColorSet
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 1
    functionsReached:
    - colorsChanged
    linkageType: ''
    returnType: bool
    signature: bool ColorContext::setInheritedColorSet(ColorSet colorSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:270,1
    - Dst: ColorContext::setInheritedColorSet
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - colorSet
    argTypes:
    - ColorSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: ColorContext::setColorSet
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 0
    functionsReached:
    - ColorContext::setInheritedColorSet
    - disconnect
    linkageType: ''
    returnType: void
    signature: void ColorContext::setColorSet(ColorSet colorSet)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:283,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:283,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:288,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:288,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:289,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:289,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:290,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:290,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:291,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:291,1
    - Dst: connect
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:292,1
    - Dst: get
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:292,1
    - Dst: colorsChanged
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - std::shared_ptr<ColorContextState>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 299
    functionName: ColorContext::setInheritedState
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 1
    functionsReached:
    - connect
    - get
    - disconnect
    - colorsChanged
    linkageType: ''
    returnType: bool
    signature: bool ColorContext::setInheritedState(std::shared_ptr<ColorContextState>&
      state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:303,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:304,1
    - Dst: ColorContext::setInheritedState
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (m_parentContext)
      pos:
        line_end: 302
        line_start: 302
        source_file: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    - condition: (!m_hasExplicitState)
      pos:
        line_end: 303
        line_start: 303
        source_file: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    constantsTouched: []
    func_position:
      end: 306
      start: 301
    functionDepth: 3
    functionLinenumber: 301
    functionLinenumberEnd: 306
    functionName: ColorContext::onInheritedStateChanged
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 0
    functionsReached:
    - ColorContext::setInheritedState
    - assert
    linkageType: ''
    returnType: void
    signature: void ColorContext::onInheritedStateChanged()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:313,1
    - Dst: std::make_shared<ColorContextState>
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:315,1
    - Dst: ColorContext::setInheritedState
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 308
    functionDepth: 3
    functionLinenumber: 308
    functionLinenumberEnd: 319
    functionName: ColorContext::ensureExplicitState
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 0
    functionsReached:
    - ColorContext::setInheritedState
    - disconnect
    - std::make_shared<ColorContextState>
    linkageType: ''
    returnType: void
    signature: void ColorContext::ensureExplicitState()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ColorContext::ensureExplicitState
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:323,1
    - Dst: updateState
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 321
    functionDepth: 4
    functionLinenumber: 321
    functionLinenumberEnd: 330
    functionName: ColorContext::setEnabled
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 0
    functionsReached:
    - ColorContext::ensureExplicitState
    - updateState
    linkageType: ''
    returnType: void
    signature: void ColorContext::setEnabled(bool enabled)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ColorContext::ensureExplicitState
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:334,1
    - Dst: updateState
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hovered
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 332
    functionDepth: 4
    functionLinenumber: 332
    functionLinenumberEnd: 341
    functionName: ColorContext::setHovered
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 0
    functionsReached:
    - ColorContext::ensureExplicitState
    - updateState
    linkageType: ''
    returnType: void
    signature: void ColorContext::setHovered(bool hovered)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ColorContext::ensureExplicitState
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:346,1
    - Dst: updateState
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - focused
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 344
    functionDepth: 4
    functionLinenumber: 344
    functionLinenumberEnd: 353
    functionName: ColorContext::setFocused
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 0
    functionsReached:
    - ColorContext::ensureExplicitState
    - updateState
    linkageType: ''
    returnType: void
    signature: void ColorContext::setFocused(bool focused)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ColorContext::ensureExplicitState
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:357,1
    - Dst: updateState
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pressed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 355
    functionDepth: 4
    functionLinenumber: 355
    functionLinenumberEnd: 363
    functionName: ColorContext::setPressed
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 0
    functionsReached:
    - ColorContext::ensureExplicitState
    - updateState
    linkageType: ''
    returnType: void
    signature: void ColorContext::setPressed(bool pressed)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 382
    functionName: ColorContextState::updateState
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ColorContextState::updateState()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ColorContext::getColor
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - section
    - color
    argTypes:
    - ColorSection
    - ColorName
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 390
    functionName: ColorContext::getColor
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 1
    functionsReached:
    - ColorContext::getColor
    linkageType: ''
    returnType: QColor
    signature: QColor ColorContext::getColor(ColorSection section, ColorName color)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 392
    functionName: ColorContext::enabled
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ColorContext::enabled() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 394
    functionName: ColorContext::focused
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ColorContext::focused() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 396
    functionName: ColorContext::hovered
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ColorContext::hovered() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 398
    functionName: ColorContext::pressed
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ColorContext::pressed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ColorContext::getColor
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 403
    functionName: ColorContext::visualFocus
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 0
    functionsReached:
    - ColorContext::getColor
    linkageType: ''
    returnType: QColor
    signature: QColor ColorContext::visualFocus() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ColorContext::getColor
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 408
    functionName: ColorContext::border
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 0
    functionsReached:
    - ColorContext::getColor
    linkageType: ''
    returnType: QColor
    signature: QColor ColorContext::border() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ColorContext::getColor
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 413
    functionName: ColorContext::separator
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 0
    functionsReached:
    - ColorContext::getColor
    linkageType: ''
    returnType: QColor
    signature: QColor ColorContext::separator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ColorContext::getColor
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 415
    functionDepth: 2
    functionLinenumber: 415
    functionLinenumberEnd: 418
    functionName: ColorContext::indicator
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 0
    functionsReached:
    - ColorContext::getColor
    linkageType: ''
    returnType: QColor
    signature: QColor ColorContext::indicator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ColorContext::getColor
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 2
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: ColorContext::shadow
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 0
    functionsReached:
    - ColorContext::getColor
    linkageType: ''
    returnType: QColor
    signature: QColor ColorContext::shadow() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ColorContext::getColor
      Src: /src/vlc/modules/gui/qt/style/colorcontext.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: ColorContext::accent
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.cpp
    functionUses: 0
    functionsReached:
    - ColorContext::getColor
    linkageType: ''
    returnType: QColor
    signature: QColor ColorContext::accent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QQmlFile::urlToLocalFileOrQrc
      Src: /src/vlc/modules/gui/qt/style/vlcicons.cpp:12,1
    - Dst: QStringLiteral
      Src: /src/vlc/modules/gui/qt/style/vlcicons.cpp:12,1
    - Dst: QFontDatabase::addApplicationFont
      Src: /src/vlc/modules/gui/qt/style/vlcicons.cpp:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parent
    argTypes:
    - QObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 14
    functionName: VLCIcons::VLCIcons
    functionSourceFile: /src/vlc/modules/gui/qt/style/vlcicons.cpp
    functionUses: 0
    functionsReached:
    - QStringLiteral
    - QQmlFile::urlToLocalFileOrQrc
    - QFontDatabase::addApplicationFont
    linkageType: ''
    returnType: void
    signature: void VLCIcons::VLCIcons(QObject* parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: ColorProperty::ColorProperty
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ColorProperty()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: ColorContext::palette
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SystemPalette
    signature: SystemPalette * palette()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: ColorContext::colorSet
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ColorSet
    signature: ColorSet colorSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: ColorContext::bg
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ColorProperty
    signature: ColorProperty bg() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: ColorContext::fg
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ColorProperty
    signature: ColorProperty fg() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: ColorContext::hasExplicitPalette
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasExplicitPalette() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 180
    functionName: ColorContext::hasExplicitColorSet
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasExplicitColorSet() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: ColorContext::hasExplicitState
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasExplicitState() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: ColorContext::initialized
    functionSourceFile: /src/vlc/modules/gui/qt/style/colorcontext.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool initialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: gtk::CairoSurface::cairo
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cairo_t
    signature: cairo_t * cairo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: gtk::CairoSurface::cairo
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cairo_t
    signature: cairo_t * cairo()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gtk_style_context_get_parent
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.h:144,1
    - Dst: G_OBJECT
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.h:145,1
    - Dst: gtk::GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.h:146,1
    - Dst: g_object_ref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.h:147,1
    - Dst: gtk_style_context_set_parent
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.h:148,1
    - Dst: g_object_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.h:149,1
    - Dst: g_object_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.h:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 156
    functionName: ScopedGObject<GtkStyleContext>::Unref
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.h
    functionUses: 0
    functionsReached:
    - g_object_ref
    - gtk_style_context_get_parent
    - g_object_unref
    - gtk_style_context_set_parent
    - gtk::GtkCheckVersion
    - G_OBJECT
    linkageType: ''
    returnType: void
    signature: void ScopedGObject<GtkStyleContext>::Unref()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: VLCPicturePtr::VLCPicturePtr
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VLCPicturePtr()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: picture_New
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - i_chroma
    - i_width
    - i_height
    argTypes:
    - vlc_fourcc_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: VLCPicturePtr::VLCPicturePtr
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached:
    - picture_New
    linkageType: ''
    returnType: void
    signature: void VLCPicturePtr(vlc_fourcc_t i_chroma, int i_width, int i_height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLCPicturePtr::Ref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - VLCPicturePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: VLCPicturePtr::VLCPicturePtr
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached:
    - VLCPicturePtr::Ref
    linkageType: ''
    returnType: void
    signature: void VLCPicturePtr(const VLCPicturePtr& o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - VLCPicturePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: VLCPicturePtr::VLCPicturePtr
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VLCPicturePtr(VLCPicturePtr&& o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:60,1
    - Dst: Ref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - VLCPicturePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: '& operator=(const VLCPicturePtr& o)'
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached:
    - Unref
    - Ref
    linkageType: ''
    returnType: VLCPicturePtr
    signature: VLCPicturePtr & operator=(const VLCPicturePtr& o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - VLCPicturePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: '& operator=(VLCPicturePtr&& o)'
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached:
    - Unref
    linkageType: ''
    returnType: VLCPicturePtr
    signature: VLCPicturePtr & operator=(VLCPicturePtr&& o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: ~VLCPicturePtr()
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached:
    - Unref
    linkageType: ''
    returnType: void
    signature: void ~VLCPicturePtr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: VLCPicturePtr::get
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: picture_t
    signature: picture_t * get() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: picture_Hold
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: VLCPicturePtr::Ref
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 1
    functionsReached:
    - picture_Hold
    linkageType: ''
    returnType: void
    signature: void Ref()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: picture_Release
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: VLCPicturePtr::Unref
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached:
    - picture_Release
    linkageType: ''
    returnType: void
    signature: void Unref()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: gtk::MySize::MySize
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MySize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:117,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - w
    - h
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: gtk::MySize::MySize
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached:
    - std::max
    linkageType: ''
    returnType: void
    signature: void MySize(int w, int h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: gtk::MySize::MySize
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MySize(const MySize&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: gtk::MySize::MySize
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MySize(MySize&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: '& operator=(const MySize&)'
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MySize
    signature: MySize & operator=(const MySize&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: '& operator=(MySize&&)'
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MySize
    signature: MySize & operator=(MySize&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: gtk::MySize::IsEmpty
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsEmpty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: gtk::MySize::width
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int width() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: gtk::MySize::height
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int height() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - width
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: gtk::MySize::set_width
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached:
    - std::max
    linkageType: ''
    returnType: void
    signature: void set_width(int width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - height
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: gtk::MySize::set_height
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached:
    - std::max
    linkageType: ''
    returnType: void
    signature: void set_height(int height)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - w
    - h
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: gtk::MyPoint::MyPoint
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MyPoint(int w, int h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: gtk::MyPoint::MyPoint
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MyPoint(const MyPoint&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: gtk::MyPoint::MyPoint
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MyPoint(MyPoint&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: '& operator=(const MyPoint&)'
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MyPoint
    signature: MyPoint & operator=(const MyPoint&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: '& operator=(MyPoint&&)'
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MyPoint
    signature: MyPoint & operator=(MyPoint&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: gtk::MyInset::MyInset
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MyInset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - l
    - r
    - t
    - b
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: gtk::MyInset::MyInset
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MyInset(int l,int r,int t,int b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' border'
    argTypes:
    - GtkBorder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: gtk::MyInset::MyInset
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MyInset(const GtkBorder& border)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: gtk::MyInset::MyInset
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MyInset(const MyInset&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: gtk::MyInset::MyInset
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MyInset(MyInset&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: '& operator=(const MyInset&)'
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MyInset
    signature: MyInset & operator=(const MyInset&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: '& operator=(MyInset&&)'
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MyInset
    signature: MyInset & operator=(MyInset&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: gtk::MyInset::right
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int right() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: gtk::MyInset::left
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int left() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: gtk::MyInset::bottom
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bottom() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: gtk::MyInset::top
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int top() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: gtk::MyInset::width
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int width() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: gtk::MyInset::height
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int height() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MyInset
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: operator-() const
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached:
    - MyInset
    linkageType: ''
    returnType: MyInset
    signature: MyInset operator-() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 209
    functionName: gtk::MyRect::MyRect
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MyRect()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - MySize
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: gtk::MyRect::MyRect
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MyRect(const MySize& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p'
    - ' s'
    argTypes:
    - MyPoint
    - MySize
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: gtk::MyRect::MyRect
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MyRect(const MyPoint& p, const MySize& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: gtk::MyRect::MyRect
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MyRect(const MyRect&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: gtk::MyRect::MyRect
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MyRect(MyRect&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 225
    functionName: '& operator=(const MyRect&)'
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MyRect
    signature: MyRect & operator=(const MyRect&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 226
    functionName: '& operator=(MyRect&&)'
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MyRect
    signature: MyRect & operator=(MyRect&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk::MyRect::top
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:230,1
    - Dst: gtk::MyRect::left
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:231,1
    - Dst: gtk::MyRect::set_width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:232,1
    - Dst: gtk::MyRect::width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:232,1
    - Dst: gtk::MyRect::width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:232,1
    - Dst: gtk::MyRect::set_height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:233,1
    - Dst: gtk::MyRect::height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:233,1
    - Dst: gtk::MyRect::height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - MyInset
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 234
    functionName: gtk::MyRect::Inset
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached:
    - gtk::MyRect::set_height
    - gtk::MyRect::top
    - gtk::MyRect::width
    - gtk::MyRect::left
    - gtk::MyRect::height
    - gtk::MyRect::set_width
    linkageType: ''
    returnType: void
    signature: void Inset(const MyInset& i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 237
    functionName: gtk::MyRect::top
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int top() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 238
    functionName: gtk::MyRect::left
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int left() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk::MyRect::width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: gtk::MyRect::width
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 2
    functionsReached:
    - gtk::MyRect::width
    linkageType: ''
    returnType: int
    signature: int width() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk::MyRect::height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 240
    functionName: gtk::MyRect::height
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 2
    functionsReached:
    - gtk::MyRect::height
    linkageType: ''
    returnType: int
    signature: int height() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk::MyRect::set_width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - width
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: gtk::MyRect::set_width
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 2
    functionsReached:
    - gtk::MyRect::set_width
    linkageType: ''
    returnType: void
    signature: void set_width(int width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk::MyRect::set_height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - height
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 248
    functionName: gtk::MyRect::set_height
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 2
    functionsReached:
    - gtk::MyRect::set_height
    linkageType: ''
    returnType: void
    signature: void set_height(int height)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 250
    functionName: gtk::MyRect::size
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MySize
    signature: MySize size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: gtk::MySize::MySize
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MySize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:117,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - w
    - h
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: gtk::MySize::MySize
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached:
    - std::max
    linkageType: ''
    returnType: void
    signature: void MySize(int w, int h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: gtk::MySize::MySize
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MySize(const MySize&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: gtk::MySize::MySize
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MySize(MySize&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: '& operator=(const MySize&)'
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MySize
    signature: MySize & operator=(const MySize&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: '& operator=(MySize&&)'
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MySize
    signature: MySize & operator=(MySize&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: gtk::MySize::IsEmpty
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsEmpty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: gtk::MySize::width
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int width() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: gtk::MySize::height
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int height() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - width
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: gtk::MySize::set_width
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached:
    - std::max
    linkageType: ''
    returnType: void
    signature: void set_width(int width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - height
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: gtk::MySize::set_height
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached:
    - std::max
    linkageType: ''
    returnType: void
    signature: void set_height(int height)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - w
    - h
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: gtk::MyPoint::MyPoint
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MyPoint(int w, int h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: gtk::MyPoint::MyPoint
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MyPoint(const MyPoint&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: gtk::MyPoint::MyPoint
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MyPoint(MyPoint&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: '& operator=(const MyPoint&)'
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MyPoint
    signature: MyPoint & operator=(const MyPoint&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: '& operator=(MyPoint&&)'
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MyPoint
    signature: MyPoint & operator=(MyPoint&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: gtk::MyInset::MyInset
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MyInset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - l
    - r
    - t
    - b
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: gtk::MyInset::MyInset
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MyInset(int l,int r,int t,int b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' border'
    argTypes:
    - GtkBorder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: gtk::MyInset::MyInset
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MyInset(const GtkBorder& border)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: gtk::MyInset::MyInset
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MyInset(const MyInset&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: gtk::MyInset::MyInset
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MyInset(MyInset&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: '& operator=(const MyInset&)'
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MyInset
    signature: MyInset & operator=(const MyInset&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: '& operator=(MyInset&&)'
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MyInset
    signature: MyInset & operator=(MyInset&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: gtk::MyInset::right
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int right() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: gtk::MyInset::left
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int left() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: gtk::MyInset::bottom
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bottom() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: gtk::MyInset::top
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int top() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: gtk::MyInset::width
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int width() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: gtk::MyInset::height
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int height() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MyInset
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: operator-() const
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached:
    - MyInset
    linkageType: ''
    returnType: MyInset
    signature: MyInset operator-() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 209
    functionName: gtk::MyRect::MyRect
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MyRect()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - MySize
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: gtk::MyRect::MyRect
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MyRect(const MySize& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' p'
    - ' s'
    argTypes:
    - MyPoint
    - MySize
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: gtk::MyRect::MyRect
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MyRect(const MyPoint& p, const MySize& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: gtk::MyRect::MyRect
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MyRect(const MyRect&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: gtk::MyRect::MyRect
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MyRect(MyRect&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 225
    functionName: '& operator=(const MyRect&)'
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MyRect
    signature: MyRect & operator=(const MyRect&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 226
    functionName: '& operator=(MyRect&&)'
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MyRect
    signature: MyRect & operator=(MyRect&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk::MyRect::top
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:230,1
    - Dst: gtk::MyRect::left
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:231,1
    - Dst: gtk::MyRect::set_width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:232,1
    - Dst: gtk::MyRect::width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:232,1
    - Dst: gtk::MyRect::width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:232,1
    - Dst: gtk::MyRect::set_height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:233,1
    - Dst: gtk::MyRect::height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:233,1
    - Dst: gtk::MyRect::height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - MyInset
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 234
    functionName: gtk::MyRect::Inset
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached:
    - gtk::MyRect::set_height
    - gtk::MyRect::top
    - gtk::MyRect::width
    - gtk::MyRect::left
    - gtk::MyRect::height
    - gtk::MyRect::set_width
    linkageType: ''
    returnType: void
    signature: void Inset(const MyInset& i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 237
    functionName: gtk::MyRect::top
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int top() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 238
    functionName: gtk::MyRect::left
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int left() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk::MyRect::width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: gtk::MyRect::width
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 4
    functionsReached:
    - gtk::MyRect::width
    linkageType: ''
    returnType: int
    signature: int width() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk::MyRect::height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 240
    functionName: gtk::MyRect::height
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 4
    functionsReached:
    - gtk::MyRect::height
    linkageType: ''
    returnType: int
    signature: int height() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk::MyRect::set_width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - width
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: gtk::MyRect::set_width
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 4
    functionsReached:
    - gtk::MyRect::set_width
    linkageType: ''
    returnType: void
    signature: void set_width(int width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk::MyRect::set_height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - height
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 248
    functionName: gtk::MyRect::set_height
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 4
    functionsReached:
    - gtk::MyRect::set_height
    linkageType: ''
    returnType: void
    signature: void set_height(int height)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 250
    functionName: gtk::MyRect::size
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MySize
    signature: MySize size() const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gtk::GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:48,1
    - Dst: empty
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:53,1
    - Dst: g_object_new
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:54,1
    - Dst: g_object_new
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:55,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:56,1
    - Dst: TakeGObject
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:57,1
    - Dst: GTK_WIDGET
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:57,1
    - Dst: empty
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:59,1
    - Dst: gtk_widget_set_name
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:60,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:60,1
    - Dst: std::vector::reserve
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:63,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:63,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:65,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:65,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:66,1
    - Dst: gtk_widget_set_css_classes
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:67,1
    - Dst: std::vector::data
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:67,1
    - Dst: gtk_widget_set_state_flags
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:69,1
    - Dst: gtk_widget_set_parent
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:72,1
    - Dst: GtkCssContext::widget
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:72,1
    - Dst: gtk_style_context_set_scale
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:74,1
    - Dst: gtk_widget_get_style_context
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:74,1
    - Dst: GtkCssContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:76,1
    - Dst: GtkCssContext::root
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:76,1
    - Dst: gtk_widget_path_copy
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:81,1
    - Dst: gtk_style_context_get_path
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:81,1
    - Dst: gtk_widget_path_new
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:82,1
    - Dst: gtk_widget_path_append_type
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:83,1
    - Dst: empty
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:85,1
    - Dst: gtk::GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:86,1
    - Dst: gtk_widget_path_iter_set_object_name
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:87,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:87,1
    - Dst: gtk_widget_path_iter_add_class
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:89,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:89,1
    - Dst: empty
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:92,1
    - Dst: gtk_widget_path_iter_set_name
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:93,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:93,1
    - Dst: gtk_widget_path_iter_add_class
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:96,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:96,1
    - Dst: gtk::GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:98,1
    - Dst: gtk_widget_path_iter_set_state
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:99,1
    - Dst: gtk_style_context_set_path
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:102,1
    - Dst: gtk::GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:103,1
    - Dst: gtk_style_context_set_state
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:104,1
    - Dst: static_cast<GtkStateFlags>
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:108,1
    - Dst: gtk_style_context_get_state
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:109,1
    - Dst: gtk_style_context_set_state
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:111,1
    - Dst: gtk_style_context_set_scale
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:114,1
    - Dst: gtk_style_context_set_parent
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:116,1
    - Dst: gtk_widget_path_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:118,1
    - Dst: GtkCssContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:119,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:119,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 7
    argNames:
    - context
    - gtype
    - ' name'
    - ' object_name'
    - ' classes'
    - state
    - scale
    argTypes:
    - GtkCssContext
    - GType
    - std::string
    - std::string
    - std::vector<std::string>
    - GtkStateFlags
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 121
    functionName: gtk::AppendCssNodeToStyleContextImpl
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - gtk_widget_path_iter_add_class
    - gtk_widget_get_style_context
    - gtk_widget_set_css_classes
    - std::move
    - gtk_widget_set_parent
    - std::vector::reserve
    - GtkCssContext
    - gtk_style_context_get_state
    - GtkCssContext::widget
    - size
    - std::vector::data
    - gtk_widget_path_unref
    - gtk_style_context_set_scale
    - gtk_widget_path_new
    - GtkCssContext::root
    - gtk_widget_set_name
    - std::vector::push_back
    - gtk_widget_set_state_flags
    - gtk_widget_path_iter_set_name
    - gtk_widget_path_copy
    - gtk_widget_path_iter_set_state
    - gtk_widget_path_append_type
    - gtk_style_context_set_state
    - GTK_WIDGET
    - gtk_widget_path_iter_set_object_name
    - TakeGObject
    - gtk_style_context_get_path
    - empty
    - g_object_new
    - c_str
    - gtk_style_context_set_path
    - gtk_style_context_set_parent
    - gtk::GtkCheckVersion
    - static_cast<GtkStateFlags>
    linkageType: ''
    returnType: GtkCssContext
    signature: "GtkCssContext AppendCssNodeToStyleContextImpl(\n        GtkCssContext
      context,\n        GType gtype,\n        const std::string& name,\n        const
      std::string& object_name,\n        const std::vector<std::string>& classes,\n
      \       GtkStateFlags state,\n        float scale)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_window_new
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:124,1
    - Dst: gtk_widget_realize
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: gtk::CreateDummyWindow
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - gtk_widget_realize
    - gtk_window_new
    linkageType: ''
    returnType: GtkWidget
    signature: GtkWidget * CreateDummyWindow()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gtk::GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:48,1
    - Dst: empty
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:53,1
    - Dst: g_object_new
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:54,1
    - Dst: g_object_new
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:55,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:56,1
    - Dst: TakeGObject
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:57,1
    - Dst: GTK_WIDGET
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:57,1
    - Dst: empty
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:59,1
    - Dst: gtk_widget_set_name
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:60,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:60,1
    - Dst: std::vector::reserve
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:63,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:63,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:65,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:65,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:66,1
    - Dst: gtk_widget_set_css_classes
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:67,1
    - Dst: std::vector::data
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:67,1
    - Dst: gtk_widget_set_state_flags
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:69,1
    - Dst: gtk_widget_set_parent
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:72,1
    - Dst: GtkCssContext::widget
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:72,1
    - Dst: gtk_style_context_set_scale
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:74,1
    - Dst: gtk_widget_get_style_context
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:74,1
    - Dst: GtkCssContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:76,1
    - Dst: GtkCssContext::root
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:76,1
    - Dst: gtk_widget_path_copy
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:81,1
    - Dst: gtk_style_context_get_path
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:81,1
    - Dst: gtk_widget_path_new
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:82,1
    - Dst: gtk_widget_path_append_type
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:83,1
    - Dst: empty
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:85,1
    - Dst: gtk::GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:86,1
    - Dst: gtk_widget_path_iter_set_object_name
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:87,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:87,1
    - Dst: gtk_widget_path_iter_add_class
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:89,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:89,1
    - Dst: empty
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:92,1
    - Dst: gtk_widget_path_iter_set_name
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:93,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:93,1
    - Dst: gtk_widget_path_iter_add_class
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:96,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:96,1
    - Dst: gtk::GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:98,1
    - Dst: gtk_widget_path_iter_set_state
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:99,1
    - Dst: gtk_style_context_set_path
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:102,1
    - Dst: gtk::GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:103,1
    - Dst: gtk_style_context_set_state
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:104,1
    - Dst: static_cast<GtkStateFlags>
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:108,1
    - Dst: gtk_style_context_get_state
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:109,1
    - Dst: gtk_style_context_set_state
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:111,1
    - Dst: gtk_style_context_set_scale
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:114,1
    - Dst: gtk_style_context_set_parent
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:116,1
    - Dst: gtk_widget_path_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:118,1
    - Dst: GtkCssContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:119,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:119,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 7
    argNames:
    - context
    - gtype
    - ' name'
    - ' object_name'
    - ' classes'
    - state
    - scale
    argTypes:
    - GtkCssContext
    - GType
    - std::string
    - std::string
    - std::vector<std::string>
    - GtkStateFlags
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 121
    functionName: gtk::AppendCssNodeToStyleContextImpl
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - gtk_widget_path_iter_add_class
    - gtk_widget_get_style_context
    - gtk_widget_set_css_classes
    - std::move
    - gtk_widget_set_parent
    - std::vector::reserve
    - GtkCssContext
    - gtk_style_context_get_state
    - GtkCssContext::widget
    - size
    - std::vector::data
    - gtk_widget_path_unref
    - gtk_style_context_set_scale
    - gtk_widget_path_new
    - GtkCssContext::root
    - gtk_widget_set_name
    - std::vector::push_back
    - gtk_widget_set_state_flags
    - gtk_widget_path_iter_set_name
    - gtk_widget_path_copy
    - gtk_widget_path_iter_set_state
    - gtk_widget_path_append_type
    - gtk_style_context_set_state
    - GTK_WIDGET
    - gtk_widget_path_iter_set_object_name
    - TakeGObject
    - gtk_style_context_get_path
    - empty
    - g_object_new
    - c_str
    - gtk_style_context_set_path
    - gtk_style_context_set_parent
    - gtk::GtkCheckVersion
    - static_cast<GtkStateFlags>
    linkageType: ''
    returnType: GtkCssContext
    signature: "GtkCssContext AppendCssNodeToStyleContextImpl(\n        GtkCssContext
      context,\n        GType gtype,\n        const std::string& name,\n        const
      std::string& object_name,\n        const std::vector<std::string>& classes,\n
      \       GtkStateFlags state,\n        float scale)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_window_new
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:124,1
    - Dst: gtk_widget_realize
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: gtk::CreateDummyWindow
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - gtk_widget_realize
    - gtk_window_new
    linkageType: ''
    returnType: GtkWidget
    signature: GtkWidget * CreateDummyWindow()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gtk_get_major_version
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:132,1
    - Dst: gtk_get_major_version
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:134,1
    - Dst: gtk_get_minor_version
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:137,1
    - Dst: gtk_get_minor_version
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:139,1
    - Dst: gtk_get_micro_version
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - major
    - minor
    - micro
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 143
    functionName: gtk::GtkCheckVersion
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 3
    functionsReached:
    - gtk_get_major_version
    - gtk_get_micro_version
    - gtk_get_minor_version
    linkageType: ''
    returnType: bool
    signature: bool GtkCheckVersion(uint32_t major, uint32_t minor, uint32_t micro)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk::GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: gtk::GtkCssMenu
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - gtk::GtkCheckVersion
    linkageType: ''
    returnType: char
    signature: char * GtkCssMenu()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk::GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: gtk::GtkCssMenuItem
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - gtk::GtkCheckVersion
    linkageType: ''
    returnType: char
    signature: char * GtkCssMenuItem()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk::GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: gtk::GtkCssMenuScrollbar
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - gtk::GtkCheckVersion
    linkageType: ''
    returnType: char
    signature: char * GtkCssMenuScrollbar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:163,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:163,1
    - Dst: setlocale
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:163,1
    - Dst: gtk_disable_setlocale
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:166,1
    - Dst: gtk_init_check
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char**
    assertStmts:
    - condition: (strcmp(setlocale(LC_NUMERIC, nullptr), "C") == 0)
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: gtk::GtkInitFromCommandLine
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - assert
    - gtk_init_check
    - setlocale
    - strcmp
    - gtk_disable_setlocale
    linkageType: ''
    returnType: bool
    signature: bool GtkInitFromCommandLine(int* argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:173,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:174,1
    - Dst: static_cast<unsigned char*>
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:175,1
    - Dst: cairo_create
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' bitmap'
    argTypes:
    - VLCPicturePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 181
    functionName: gtk::CairoSurface::CairoSurface
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - get
    - cairo_create
    - cairo_image_surface_create_for_data
    - static_cast<unsigned char*>
    linkageType: ''
    returnType: void
    signature: void CairoSurface::CairoSurface(VLCPicturePtr& bitmap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:184,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:185,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:186,1
    - Dst: cairo_create
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:187,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:188,1
    - Dst: cairo_surface_status
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:188,1
    - Dst: cairo_save
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:190,1
    - Dst: cairo_set_source_rgba
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:191,1
    - Dst: cairo_set_operator
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:192,1
    - Dst: cairo_paint
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:193,1
    - Dst: cairo_restore
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' size'
    argTypes:
    - MySize
    assertStmts:
    - condition: (cairo_surface_status(surface_) == CAIRO_STATUS_SUCCESS)
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    constantsTouched: []
    func_position:
      end: 195
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 195
    functionName: gtk::CairoSurface::CairoSurface
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - cairo_set_source_rgba
    - cairo_paint
    - cairo_restore
    - assert
    - cairo_create
    - cairo_save
    - cairo_surface_status
    - height
    - width
    - cairo_set_operator
    - cairo_image_surface_create
    linkageType: ''
    returnType: void
    signature: void CairoSurface::CairoSurface(const MySize& size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_destroy
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:202,1
    - Dst: cairo_surface_destroy
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 204
    functionName: CairoSurface::~CairoSurface()
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - cairo_surface_destroy
    - cairo_destroy
    linkageType: ''
    returnType: void
    signature: void CairoSurface::~CairoSurface()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_flush
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:209,1
    - Dst: cairo_image_surface_get_data
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:210,1
    - Dst: cairo_image_surface_get_width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:211,1
    - Dst: cairo_image_surface_get_height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:212,1
    - Dst: cairo_image_surface_get_stride
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:213,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:214,1
    - Dst: cairo_image_surface_get_format
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:214,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:222,1
    - Dst: gdouble
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:234,1
    - Dst: gdouble
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:235,1
    - Dst: gdouble
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:236,1
    - Dst: gdouble
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - frame
    argTypes:
    - bool
    assertStmts:
    - condition: (cairo_image_surface_get_format(surface_) == CAIRO_FORMAT_ARGB32)
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    constantsTouched: []
    func_position:
      end: 239
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 239
    functionName: gtk::CairoSurface::GetAveragePixelValue
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - cairo_surface_flush
    - assert
    - gdouble
    - cairo_image_surface_get_format
    - cairo_image_surface_get_height
    - std::max
    - cairo_image_surface_get_data
    - cairo_image_surface_get_stride
    - cairo_image_surface_get_width
    linkageType: ''
    returnType: GdkRGBA
    signature: GdkRGBA CairoSurface::GetAveragePixelValue(bool frame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WrapGObject
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:242,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:243,1
    - Dst: GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - widget
    - root
    argTypes:
    - GtkWidget*
    - GtkWidget*
    assertStmts:
    - condition: (GtkCheckVersion(4))
      pos:
        line_end: 242
        line_start: 242
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: gtk::GtkCssContext::GtkCssContext
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - GtkCheckVersion
    - assert
    - WrapGObject
    linkageType: ''
    returnType: void
    signature: void GtkCssContext::GtkCssContext(GtkWidget* widget, GtkWidget* root)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WrapGObject
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:247,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:248,1
    - Dst: GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - GtkStyleContext*
    assertStmts:
    - condition: (!GtkCheckVersion(4))
      pos:
        line_end: 247
        line_start: 247
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: gtk::GtkCssContext::GtkCssContext
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - GtkCheckVersion
    - assert
    - WrapGObject
    linkageType: ''
    returnType: void
    signature: void GtkCssContext::GtkCssContext(GtkStyleContext* context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 251
    functionName: gtk::GtkCssContext::GtkCssContext
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GtkCssContext::GtkCssContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: gtk::GtkCssContext::GtkCssContext
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GtkCssContext::GtkCssContext(const GtkCssContext&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: gtk::GtkCssContext::GtkCssContext
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GtkCssContext::GtkCssContext(GtkCssContext&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: GtkCssContext::~GtkCssContext()
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GtkCssContext::~GtkCssContext()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:259,1
    - Dst: gtk_widget_get_style_context
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: GtkCssContext::operator GtkStyleContext*()
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - GtkCheckVersion
    - gtk_widget_get_style_context
    linkageType: ''
    returnType: void
    signature: void GtkCssContext::operator GtkStyleContext*()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:265,1
    - Dst: gtk::GtkCssContext::GtkCssContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:266,1
    - Dst: WrapGObject
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:266,1
    - Dst: gtk_widget_get_parent
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:266,1
    - Dst: ScopedGObject<GtkWidget>
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:267,1
    - Dst: gtk::GtkCssContext::GtkCssContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:269,1
    - Dst: WrapGObject
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:269,1
    - Dst: gtk_style_context_get_parent
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 270
    functionName: gtk::GtkCssContext::GetParent
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - GtkCheckVersion
    - gtk::GtkCssContext::GtkCssContext
    - ScopedGObject<GtkWidget>
    - gtk_style_context_get_parent
    - gtk_widget_get_parent
    - WrapGObject
    linkageType: ''
    returnType: GtkCssContext
    signature: GtkCssContext GtkCssContext::GetParent()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:273,1
    - Dst: GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (GtkCheckVersion(4))
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: gtk::GtkCssContext::widget
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - GtkCheckVersion
    - assert
    linkageType: ''
    returnType: GtkWidget
    signature: GtkWidget * GtkCssContext::widget()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:278,1
    - Dst: GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (GtkCheckVersion(4))
      pos:
        line_end: 277
        line_start: 277
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: gtk::GtkCssContext::root
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - GtkCheckVersion
    - assert
    linkageType: ''
    returnType: GtkWidget
    signature: GtkWidget * GtkCssContext::root()
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: cbegin
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:316,1
    - Dst: cend
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:320,1
    - Dst: std::find_if
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:322,1
    - Dst: cend
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:322,1
    - Dst: gtk::GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:338,1
    - Dst: g_type_from_name
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:339,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:339,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:340,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:345,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:345,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:350,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:350,1
    - Dst: static_cast<GtkStateFlags>
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:355,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:359,1
    - Dst: cend
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:363,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:383,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:391,1
    - Dst: std::round
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:393,1
    - Dst: gtk::GetDeviceScaleFactor
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:393,1
    - Dst: gtk::AppendCssNodeToStyleContextImpl
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:395,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:395,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 60
    argCount: 2
    argNames:
    - context
    - ' css_node'
    argTypes:
    - GtkCssContext
    - std::string
    assertStmts:
    - condition: (gtype)
      pos:
        line_end: 339
        line_start: 339
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    - condition: (false)
      pos:
        line_end: 358
        line_start: 358
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    - condition: ("unreachable" == 0)
      pos:
        line_end: 382
        line_start: 382
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    constantsTouched: []
    func_position:
      end: 397
      start: 283
    functionDepth: 3
    functionLinenumber: 283
    functionLinenumberEnd: 397
    functionName: gtk::AppendCssNodeToStyleContext
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - assert
    - static_cast<GtkStateFlags>
    - gtk::GetDeviceScaleFactor
    - std::find_if
    - g_type_from_name
    - std::string::c_str
    - std::vector::push_back
    - std::move
    - strcmp
    - gtk::AppendCssNodeToStyleContextImpl
    - gtk::GtkCheckVersion
    - cbegin
    - std::round
    - cend
    linkageType: ''
    returnType: GtkCssContext
    signature: "GtkCssContext AppendCssNodeToStyleContext(GtkCssContext context,\n
      \                                         const std::string& css_node)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gtk::AppendCssNodeToStyleContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:402,1
    - Dst: cbegin
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:404,1
    - Dst: cend
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:405,1
    - Dst: find
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:407,1
    - Dst: cend
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:407,1
    - Dst: gtk::AppendCssNodeToStyleContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:410,1
    - Dst: cend
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' css_selector'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 399
    functionDepth: 4
    functionLinenumber: 399
    functionLinenumberEnd: 418
    functionName: gtk::GetStyleContextFromCss
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - cend
    - cbegin
    - find
    - gtk::AppendCssNodeToStyleContext
    linkageType: ''
    returnType: GtkCssContext
    signature: GtkCssContext GetStyleContextFromCss(const std::string& css_selector)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk::ApplyCssToContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:427,1
    - Dst: gtk::RenderBackground
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:435,1
    - Dst: CairoSurface::cairo
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:435,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:435,1
    - Dst: CairoSurface::GetAveragePixelValue
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - context
    argTypes:
    - GtkCssContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 437
    functionName: gtk::GetBgColorFromStyleContext
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - CairoSurface::GetAveragePixelValue
    - gtk::ApplyCssToContext
    - gtk::RenderBackground
    - std::move
    - CairoSurface::cairo
    linkageType: ''
    returnType: GdkRGBA
    signature: GdkRGBA GetBgColorFromStyleContext(GtkCssContext context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_style_context_get_color
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:441,1
    - Dst: gtk_style_context_get_state
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - GtkStyleContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 443
    functionName: gtk::GtkStyleContextGetColor
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - gtk_style_context_get_state
    - gtk_style_context_get_color
    linkageType: ''
    returnType: GdkRGBA
    signature: GdkRGBA GtkStyleContextGetColor(GtkStyleContext* context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk::GtkStyleContextGetColor
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:447,1
    - Dst: gtk::GetStyleContextFromCss
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' css_selector'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 446
    functionDepth: 5
    functionLinenumber: 446
    functionLinenumberEnd: 448
    functionName: gtk::GetFgColor
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - gtk::GtkStyleContextGetColor
    - gtk::GetStyleContextFromCss
    linkageType: ''
    returnType: GdkRGBA
    signature: GdkRGBA GetFgColor(const std::string& css_selector)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TakeGObject
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:453,1
    - Dst: gtk_css_provider_new
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:453,1
    - Dst: gtk_css_provider_load_from_data
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:455,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' css'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 457
    functionName: gtk::GetCssProvider
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - TakeGObject
    - gtk_css_provider_load_from_data
    - gtk_css_provider_new
    - c_str
    linkageType: ''
    returnType: ScopedCssProvider
    signature: ScopedCssProvider GetCssProvider(const std::string& css)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_style_context_add_provider
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:462,1
    - Dst: GTK_STYLE_PROVIDER
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:462,1
    - Dst: GtkCssContext::GetParent
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - context
    - provider
    argTypes:
    - GtkCssContext
    - GtkCssProvider*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 466
    functionName: gtk::ApplyCssProviderToContext
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - gtk_style_context_add_provider
    - GtkCssContext::GetParent
    - GTK_STYLE_PROVIDER
    linkageType: ''
    returnType: void
    signature: "void ApplyCssProviderToContext(GtkCssContext context,\n                               GtkCssProvider*
      provider)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk::GetCssProvider
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:469,1
    - Dst: gtk::ApplyCssProviderToContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:470,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - ' css'
    argTypes:
    - GtkCssContext
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 468
    functionDepth: 2
    functionLinenumber: 468
    functionLinenumberEnd: 471
    functionName: gtk::ApplyCssToContext
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 1
    functionsReached:
    - gtk::GetCssProvider
    - std::move
    - gtk::ApplyCssProviderToContext
    linkageType: ''
    returnType: void
    signature: void ApplyCssToContext(GtkCssContext context, const std::string& css)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gtk::RenderBackground
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:478,1
    - Dst: GtkCssContext::GetParent
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:478,1
    - Dst: gtk_render_background
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:479,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:479,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' size'
    - cr
    - context
    argTypes:
    - MySize
    - cairo_t*
    - GtkCssContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 480
    functionName: gtk::RenderBackground
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 2
    functionsReached:
    - GtkCssContext::GetParent
    - height
    - width
    - gtk::RenderBackground
    - gtk_render_background
    linkageType: ''
    returnType: void
    signature: "void RenderBackground(const MySize& size,\n                      cairo_t*
      cr,\n                      GtkCssContext context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk::GetBgColorFromStyleContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:483,1
    - Dst: gtk::GetStyleContextFromCss
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' css_selector'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 482
    functionDepth: 5
    functionLinenumber: 482
    functionLinenumberEnd: 484
    functionName: gtk::GetBgColor
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - gtk::GetBgColorFromStyleContext
    - gtk::GetStyleContextFromCss
    linkageType: ''
    returnType: GdkRGBA
    signature: GdkRGBA GetBgColor(const std::string& css_selector)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk::GetStyleContextFromCss
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:489,1
    - Dst: gtk_render_frame
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:492,1
    - Dst: CairoSurface::cairo
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:492,1
    - Dst: MySize::width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:492,1
    - Dst: MySize::height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:492,1
    - Dst: CairoSurface::GetAveragePixelValue
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' css_selector'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 486
    functionDepth: 5
    functionLinenumber: 486
    functionLinenumberEnd: 494
    functionName: gtk::GetBorderColor
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - gtk_render_frame
    - CairoSurface::GetAveragePixelValue
    - gtk::GetStyleContextFromCss
    - CairoSurface::cairo
    - MySize::width
    - MySize::height
    linkageType: ''
    returnType: GdkRGBA
    signature: GdkRGBA GetBorderColor(const std::string& css_selector)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk::GetStyleContextFromCss
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:498,1
    - Dst: gtk_render_focus
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:501,1
    - Dst: CairoSurface::cairo
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:501,1
    - Dst: MySize::width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:501,1
    - Dst: MySize::height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:501,1
    - Dst: CairoSurface::GetAveragePixelValue
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' css_selector'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 496
    functionDepth: 5
    functionLinenumber: 496
    functionLinenumberEnd: 503
    functionName: gtk::GetFocusColor
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - CairoSurface::GetAveragePixelValue
    - gtk::GetStyleContextFromCss
    - gtk_render_focus
    - CairoSurface::cairo
    - MySize::width
    - MySize::height
    linkageType: ''
    returnType: GdkRGBA
    signature: GdkRGBA GetFocusColor(const std::string& css_selector)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk::GetStyleContextFromCss
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:506,1
    - Dst: gtk::GetBgColorFromStyleContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:507,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' css_selector'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 505
    functionDepth: 5
    functionLinenumber: 505
    functionLinenumberEnd: 508
    functionName: gtk::GetSelectionBgColor
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - gtk::GetBgColorFromStyleContext
    - gtk::GetStyleContextFromCss
    - std::move
    linkageType: ''
    returnType: GdkRGBA
    signature: GdkRGBA GetSelectionBgColor(const std::string& css_selector)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gtk_style_context_has_class
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:513,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:513,1
    - Dst: gtk::GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:514,1
    - Dst: gtk_widget_path_iter_has_class
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:515,1
    - Dst: gtk_style_context_get_path
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:516,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - context
    - ' style_class'
    argTypes:
    - GtkCssContext
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 519
    functionName: gtk::ContextHasClass
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - gtk_style_context_has_class
    - gtk_widget_path_iter_has_class
    - gtk_style_context_get_path
    - c_str
    - gtk::GtkCheckVersion
    linkageType: ''
    returnType: bool
    signature: bool ContextHasClass(GtkCssContext context, const std::string& style_class)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gtk::GetStyleContextFromCss
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:522,1
    - Dst: gtk::ContextHasClass
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:523,1
    - Dst: gtk::GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:526,1
    - Dst: gtk::GetSeparatorSize
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:527,1
    - Dst: auto::width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:528,1
    - Dst: auto::height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:529,1
    - Dst: gtk_style_context_get
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:531,1
    - Dst: gtk_style_context_get_state
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:531,1
    - Dst: gtk::GtkStyleContextGetBorder
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:534,1
    - Dst: gtk::GtkStyleContextGetPadding
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:535,1
    - Dst: MyInset::left
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:537,1
    - Dst: MyInset::left
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:537,1
    - Dst: MyInset::right
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:537,1
    - Dst: MyInset::right
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:537,1
    - Dst: MyInset::top
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:538,1
    - Dst: MyInset::top
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:538,1
    - Dst: MyInset::bottom
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:538,1
    - Dst: MyInset::bottom
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:538,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:542,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:544,1
    - Dst: gtk::ContextHasClass
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:544,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:546,1
    - Dst: gtk_render_background
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:550,1
    - Dst: CairoSurface::cairo
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:550,1
    - Dst: gtk_render_frame
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:551,1
    - Dst: CairoSurface::cairo
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:551,1
    - Dst: CairoSurface::GetAveragePixelValue
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - ' css_selector'
    argTypes:
    - std::string
    assertStmts:
    - condition: (ContextHasClass(context, "vertical"))
      pos:
        line_end: 543
        line_start: 543
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    constantsTouched: []
    func_position:
      end: 553
      start: 521
    functionDepth: 5
    functionLinenumber: 521
    functionLinenumberEnd: 553
    functionName: gtk::GetSeparatorColor
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - assert
    - gtk_style_context_get
    - gtk::GetSeparatorSize
    - std::max
    - gtk::ContextHasClass
    - CairoSurface::cairo
    - gtk_render_background
    - MyInset::top
    - gtk_style_context_get_state
    - CairoSurface::GetAveragePixelValue
    - MyInset::right
    - gtk::GetStyleContextFromCss
    - MyInset::bottom
    - auto::height
    - gtk::GtkStyleContextGetPadding
    - gtk_render_frame
    - MyInset::left
    - auto::width
    - gtk::GtkStyleContextGetBorder
    - gtk::GtkCheckVersion
    linkageType: ''
    returnType: GdkRGBA
    signature: GdkRGBA GetSeparatorColor(const std::string& css_selector)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:558,1
    - Dst: g_object_get_property
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:559,1
    - Dst: G_OBJECT
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:559,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:560,1
    - Dst: G_VALUE_HOLDS_STRING
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:560,1
    - Dst: g_value_get_string
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:561,1
    - Dst: g_value_unset
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - settings
    - prop_name
    argTypes:
    - GtkSettings*
    - gchar*
    assertStmts:
    - condition: (G_VALUE_HOLDS_STRING(&layout))
      pos:
        line_end: 559
        line_start: 559
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    constantsTouched: []
    func_position:
      end: 564
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 564
    functionName: gtk::GetGtkSettingsStringProperty
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - assert
    - G_VALUE_HOLDS_STRING
    - g_value_unset
    - g_value_init
    - g_value_get_string
    - g_object_get_property
    - G_OBJECT
    linkageType: ''
    returnType: std::string
    signature: "std::string GetGtkSettingsStringProperty(GtkSettings* settings,\n
      \                                        const gchar* prop_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk::GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:568,1
    - Dst: gtk_icon_theme_get_for_display
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:569,1
    - Dst: gdk_display_get_default
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:569,1
    - Dst: gtk_icon_theme_get_default
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:570,1
    - Dst: gtk_icon_theme_get_default
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 573
    functionName: gtk::GetDefaultIconTheme
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - gdk_display_get_default
    - gtk_icon_theme_get_default
    - gtk::GtkCheckVersion
    - gtk_icon_theme_get_for_display
    linkageType: ''
    returnType: GtkIconTheme
    signature: GtkIconTheme * GetDefaultIconTheme()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gtk::GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:577,1
    - Dst: gtk_window_destroy
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:578,1
    - Dst: GTK_WINDOW
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:578,1
    - Dst: gtk_widget_destroy
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - widget
    argTypes:
    - GtkWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 581
    functionName: gtk::GtkWindowDestroy
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - gtk_window_destroy
    - gtk::GtkCheckVersion
    - GTK_WINDOW
    - gtk_widget_destroy
    linkageType: ''
    returnType: void
    signature: void GtkWindowDestroy(GtkWidget* widget)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk::CreateDummyWindow
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 586
    functionName: gtk::GetDummyWindow
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - gtk::CreateDummyWindow
    linkageType: ''
    returnType: GtkWidget
    signature: GtkWidget * GetDummyWindow()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TakeGObject
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:589,1
    - Dst: gtk_separator_new
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:589,1
    - Dst: gtk_widget_get_preferred_size
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - horizontal
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 594
    functionName: gtk::GetSeparatorSize
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 1
    functionsReached:
    - TakeGObject
    - gtk_separator_new
    - gtk_widget_get_preferred_size
    linkageType: ''
    returnType: MySize
    signature: MySize GetSeparatorSize(bool horizontal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - scaleFactor
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 600
    functionName: gtk::SetDeviceScaleFactor
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetDeviceScaleFactor(float scaleFactor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 604
    functionName: gtk::GetDeviceScaleFactor
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float GetDeviceScaleFactor()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gtk::GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:48,1
    - Dst: empty
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:53,1
    - Dst: g_object_new
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:54,1
    - Dst: g_object_new
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:55,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:56,1
    - Dst: TakeGObject
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:57,1
    - Dst: GTK_WIDGET
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:57,1
    - Dst: empty
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:59,1
    - Dst: gtk_widget_set_name
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:60,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:60,1
    - Dst: std::vector::reserve
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:63,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:63,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:65,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:65,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:66,1
    - Dst: gtk_widget_set_css_classes
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:67,1
    - Dst: std::vector::data
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:67,1
    - Dst: gtk_widget_set_state_flags
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:69,1
    - Dst: gtk_widget_set_parent
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:72,1
    - Dst: GtkCssContext::widget
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:72,1
    - Dst: gtk_style_context_set_scale
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:74,1
    - Dst: gtk_widget_get_style_context
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:74,1
    - Dst: GtkCssContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:76,1
    - Dst: GtkCssContext::root
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:76,1
    - Dst: gtk_widget_path_copy
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:81,1
    - Dst: gtk_style_context_get_path
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:81,1
    - Dst: gtk_widget_path_new
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:82,1
    - Dst: gtk_widget_path_append_type
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:83,1
    - Dst: empty
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:85,1
    - Dst: gtk::GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:86,1
    - Dst: gtk_widget_path_iter_set_object_name
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:87,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:87,1
    - Dst: gtk_widget_path_iter_add_class
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:89,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:89,1
    - Dst: empty
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:92,1
    - Dst: gtk_widget_path_iter_set_name
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:93,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:93,1
    - Dst: gtk_widget_path_iter_add_class
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:96,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:96,1
    - Dst: gtk::GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:98,1
    - Dst: gtk_widget_path_iter_set_state
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:99,1
    - Dst: gtk_style_context_set_path
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:102,1
    - Dst: gtk::GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:103,1
    - Dst: gtk_style_context_set_state
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:104,1
    - Dst: static_cast<GtkStateFlags>
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:108,1
    - Dst: gtk_style_context_get_state
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:109,1
    - Dst: gtk_style_context_set_state
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:111,1
    - Dst: gtk_style_context_set_scale
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:114,1
    - Dst: gtk_style_context_set_parent
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:116,1
    - Dst: gtk_widget_path_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:118,1
    - Dst: GtkCssContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:119,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:119,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 7
    argNames:
    - context
    - gtype
    - ' name'
    - ' object_name'
    - ' classes'
    - state
    - scale
    argTypes:
    - GtkCssContext
    - GType
    - std::string
    - std::string
    - std::vector<std::string>
    - GtkStateFlags
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 121
    functionName: gtk::AppendCssNodeToStyleContextImpl
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 1
    functionsReached:
    - gtk_widget_path_iter_add_class
    - gtk_widget_get_style_context
    - gtk_widget_set_css_classes
    - std::move
    - gtk_widget_set_parent
    - std::vector::reserve
    - GtkCssContext
    - gtk_style_context_get_state
    - GtkCssContext::widget
    - size
    - std::vector::data
    - gtk_widget_path_unref
    - gtk_style_context_set_scale
    - gtk_widget_path_new
    - GtkCssContext::root
    - gtk_widget_set_name
    - std::vector::push_back
    - gtk_widget_set_state_flags
    - gtk_widget_path_iter_set_name
    - gtk_widget_path_copy
    - gtk_widget_path_iter_set_state
    - gtk_widget_path_append_type
    - gtk_style_context_set_state
    - GTK_WIDGET
    - gtk_widget_path_iter_set_object_name
    - TakeGObject
    - gtk_style_context_get_path
    - empty
    - g_object_new
    - c_str
    - gtk_style_context_set_path
    - gtk_style_context_set_parent
    - gtk::GtkCheckVersion
    - static_cast<GtkStateFlags>
    linkageType: ''
    returnType: GtkCssContext
    signature: "GtkCssContext AppendCssNodeToStyleContextImpl(\n        GtkCssContext
      context,\n        GType gtype,\n        const std::string& name,\n        const
      std::string& object_name,\n        const std::vector<std::string>& classes,\n
      \       GtkStateFlags state,\n        float scale)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_window_new
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:124,1
    - Dst: gtk_widget_realize
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: gtk::CreateDummyWindow
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 1
    functionsReached:
    - gtk_widget_realize
    - gtk_window_new
    linkageType: ''
    returnType: GtkWidget
    signature: GtkWidget * CreateDummyWindow()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gtk::GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:48,1
    - Dst: empty
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:53,1
    - Dst: g_object_new
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:54,1
    - Dst: g_object_new
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:55,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:56,1
    - Dst: TakeGObject
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:57,1
    - Dst: GTK_WIDGET
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:57,1
    - Dst: empty
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:59,1
    - Dst: gtk_widget_set_name
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:60,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:60,1
    - Dst: std::vector::reserve
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:63,1
    - Dst: size
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:63,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:65,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:65,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:66,1
    - Dst: gtk_widget_set_css_classes
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:67,1
    - Dst: std::vector::data
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:67,1
    - Dst: gtk_widget_set_state_flags
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:69,1
    - Dst: gtk_widget_set_parent
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:72,1
    - Dst: GtkCssContext::widget
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:72,1
    - Dst: gtk_style_context_set_scale
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:74,1
    - Dst: gtk_widget_get_style_context
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:74,1
    - Dst: GtkCssContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:76,1
    - Dst: GtkCssContext::root
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:76,1
    - Dst: gtk_widget_path_copy
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:81,1
    - Dst: gtk_style_context_get_path
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:81,1
    - Dst: gtk_widget_path_new
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:82,1
    - Dst: gtk_widget_path_append_type
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:83,1
    - Dst: empty
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:85,1
    - Dst: gtk::GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:86,1
    - Dst: gtk_widget_path_iter_set_object_name
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:87,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:87,1
    - Dst: gtk_widget_path_iter_add_class
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:89,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:89,1
    - Dst: empty
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:92,1
    - Dst: gtk_widget_path_iter_set_name
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:93,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:93,1
    - Dst: gtk_widget_path_iter_add_class
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:96,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:96,1
    - Dst: gtk::GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:98,1
    - Dst: gtk_widget_path_iter_set_state
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:99,1
    - Dst: gtk_style_context_set_path
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:102,1
    - Dst: gtk::GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:103,1
    - Dst: gtk_style_context_set_state
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:104,1
    - Dst: static_cast<GtkStateFlags>
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:108,1
    - Dst: gtk_style_context_get_state
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:109,1
    - Dst: gtk_style_context_set_state
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:111,1
    - Dst: gtk_style_context_set_scale
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:114,1
    - Dst: gtk_style_context_set_parent
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:116,1
    - Dst: gtk_widget_path_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:118,1
    - Dst: GtkCssContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:119,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:119,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 7
    argNames:
    - context
    - gtype
    - ' name'
    - ' object_name'
    - ' classes'
    - state
    - scale
    argTypes:
    - GtkCssContext
    - GType
    - std::string
    - std::string
    - std::vector<std::string>
    - GtkStateFlags
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 121
    functionName: gtk::AppendCssNodeToStyleContextImpl
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 1
    functionsReached:
    - gtk_widget_path_iter_add_class
    - gtk_widget_get_style_context
    - gtk_widget_set_css_classes
    - std::move
    - gtk_widget_set_parent
    - std::vector::reserve
    - GtkCssContext
    - gtk_style_context_get_state
    - GtkCssContext::widget
    - size
    - std::vector::data
    - gtk_widget_path_unref
    - gtk_style_context_set_scale
    - gtk_widget_path_new
    - GtkCssContext::root
    - gtk_widget_set_name
    - std::vector::push_back
    - gtk_widget_set_state_flags
    - gtk_widget_path_iter_set_name
    - gtk_widget_path_copy
    - gtk_widget_path_iter_set_state
    - gtk_widget_path_append_type
    - gtk_style_context_set_state
    - GTK_WIDGET
    - gtk_widget_path_iter_set_object_name
    - TakeGObject
    - gtk_style_context_get_path
    - empty
    - g_object_new
    - c_str
    - gtk_style_context_set_path
    - gtk_style_context_set_parent
    - gtk::GtkCheckVersion
    - static_cast<GtkStateFlags>
    linkageType: ''
    returnType: GtkCssContext
    signature: "GtkCssContext AppendCssNodeToStyleContextImpl(\n        GtkCssContext
      context,\n        GType gtype,\n        const std::string& name,\n        const
      std::string& object_name,\n        const std::vector<std::string>& classes,\n
      \       GtkStateFlags state,\n        float scale)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_window_new
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:124,1
    - Dst: gtk_widget_realize
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: gtk::CreateDummyWindow
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 1
    functionsReached:
    - gtk_widget_realize
    - gtk_window_new
    linkageType: ''
    returnType: GtkWidget
    signature: GtkWidget * CreateDummyWindow()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gtk_get_major_version
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:132,1
    - Dst: gtk_get_major_version
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:134,1
    - Dst: gtk_get_minor_version
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:137,1
    - Dst: gtk_get_minor_version
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:139,1
    - Dst: gtk_get_micro_version
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - major
    - minor
    - micro
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 143
    functionName: gtk::GtkCheckVersion
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 13
    functionsReached:
    - gtk_get_major_version
    - gtk_get_micro_version
    - gtk_get_minor_version
    linkageType: ''
    returnType: bool
    signature: bool GtkCheckVersion(uint32_t major, uint32_t minor, uint32_t micro)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk::GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: gtk::GtkCssMenu
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - gtk::GtkCheckVersion
    linkageType: ''
    returnType: char
    signature: char * GtkCssMenu()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk::GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: gtk::GtkCssMenuItem
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - gtk::GtkCheckVersion
    linkageType: ''
    returnType: char
    signature: char * GtkCssMenuItem()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk::GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: gtk::GtkCssMenuScrollbar
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - gtk::GtkCheckVersion
    linkageType: ''
    returnType: char
    signature: char * GtkCssMenuScrollbar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:163,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:163,1
    - Dst: setlocale
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:163,1
    - Dst: gtk_disable_setlocale
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:166,1
    - Dst: gtk_init_check
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char**
    assertStmts:
    - condition: (strcmp(setlocale(LC_NUMERIC, nullptr), "C") == 0)
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: gtk::GtkInitFromCommandLine
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - assert
    - gtk_init_check
    - setlocale
    - strcmp
    - gtk_disable_setlocale
    linkageType: ''
    returnType: bool
    signature: bool GtkInitFromCommandLine(int* argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:173,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:174,1
    - Dst: static_cast<unsigned char*>
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:175,1
    - Dst: cairo_create
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' bitmap'
    argTypes:
    - VLCPicturePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 181
    functionName: gtk::CairoSurface::CairoSurface
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - get
    - cairo_create
    - cairo_image_surface_create_for_data
    - static_cast<unsigned char*>
    linkageType: ''
    returnType: void
    signature: void CairoSurface::CairoSurface(VLCPicturePtr& bitmap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_image_surface_create
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:184,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:185,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:186,1
    - Dst: cairo_create
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:187,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:188,1
    - Dst: cairo_surface_status
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:188,1
    - Dst: cairo_save
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:190,1
    - Dst: cairo_set_source_rgba
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:191,1
    - Dst: cairo_set_operator
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:192,1
    - Dst: cairo_paint
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:193,1
    - Dst: cairo_restore
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' size'
    argTypes:
    - MySize
    assertStmts:
    - condition: (cairo_surface_status(surface_) == CAIRO_STATUS_SUCCESS)
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    constantsTouched: []
    func_position:
      end: 195
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 195
    functionName: gtk::CairoSurface::CairoSurface
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - cairo_set_source_rgba
    - cairo_paint
    - cairo_restore
    - assert
    - cairo_create
    - cairo_save
    - cairo_surface_status
    - height
    - width
    - cairo_set_operator
    - cairo_image_surface_create
    linkageType: ''
    returnType: void
    signature: void CairoSurface::CairoSurface(const MySize& size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cairo_destroy
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:202,1
    - Dst: cairo_surface_destroy
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 204
    functionName: CairoSurface::~CairoSurface()
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - cairo_surface_destroy
    - cairo_destroy
    linkageType: ''
    returnType: void
    signature: void CairoSurface::~CairoSurface()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cairo_surface_flush
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:209,1
    - Dst: cairo_image_surface_get_data
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:210,1
    - Dst: cairo_image_surface_get_width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:211,1
    - Dst: cairo_image_surface_get_height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:212,1
    - Dst: cairo_image_surface_get_stride
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:213,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:214,1
    - Dst: cairo_image_surface_get_format
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:214,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:222,1
    - Dst: gdouble
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:234,1
    - Dst: gdouble
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:235,1
    - Dst: gdouble
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:236,1
    - Dst: gdouble
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - frame
    argTypes:
    - bool
    assertStmts:
    - condition: (cairo_image_surface_get_format(surface_) == CAIRO_FORMAT_ARGB32)
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    constantsTouched: []
    func_position:
      end: 239
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 239
    functionName: gtk::CairoSurface::GetAveragePixelValue
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - cairo_surface_flush
    - assert
    - gdouble
    - cairo_image_surface_get_format
    - cairo_image_surface_get_height
    - std::max
    - cairo_image_surface_get_data
    - cairo_image_surface_get_stride
    - cairo_image_surface_get_width
    linkageType: ''
    returnType: GdkRGBA
    signature: GdkRGBA CairoSurface::GetAveragePixelValue(bool frame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WrapGObject
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:242,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:243,1
    - Dst: GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - widget
    - root
    argTypes:
    - GtkWidget*
    - GtkWidget*
    assertStmts:
    - condition: (GtkCheckVersion(4))
      pos:
        line_end: 242
        line_start: 242
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: gtk::GtkCssContext::GtkCssContext
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 1
    functionsReached:
    - GtkCheckVersion
    - assert
    - WrapGObject
    linkageType: ''
    returnType: void
    signature: void GtkCssContext::GtkCssContext(GtkWidget* widget, GtkWidget* root)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WrapGObject
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:247,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:248,1
    - Dst: GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - GtkStyleContext*
    assertStmts:
    - condition: (!GtkCheckVersion(4))
      pos:
        line_end: 247
        line_start: 247
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: gtk::GtkCssContext::GtkCssContext
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 1
    functionsReached:
    - GtkCheckVersion
    - assert
    - WrapGObject
    linkageType: ''
    returnType: void
    signature: void GtkCssContext::GtkCssContext(GtkStyleContext* context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 251
    functionName: gtk::GtkCssContext::GtkCssContext
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GtkCssContext::GtkCssContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: gtk::GtkCssContext::GtkCssContext
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GtkCssContext::GtkCssContext(const GtkCssContext&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: gtk::GtkCssContext::GtkCssContext
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GtkCssContext::GtkCssContext(GtkCssContext&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: GtkCssContext::~GtkCssContext()
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GtkCssContext::~GtkCssContext()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:259,1
    - Dst: gtk_widget_get_style_context
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: GtkCssContext::operator GtkStyleContext*()
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - GtkCheckVersion
    - gtk_widget_get_style_context
    linkageType: ''
    returnType: void
    signature: void GtkCssContext::operator GtkStyleContext*()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:265,1
    - Dst: gtk::GtkCssContext::GtkCssContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:266,1
    - Dst: WrapGObject
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:266,1
    - Dst: gtk_widget_get_parent
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:266,1
    - Dst: ScopedGObject<GtkWidget>
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:267,1
    - Dst: gtk::GtkCssContext::GtkCssContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:269,1
    - Dst: WrapGObject
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:269,1
    - Dst: gtk_style_context_get_parent
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 270
    functionName: gtk::GtkCssContext::GetParent
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - GtkCheckVersion
    - gtk::GtkCssContext::GtkCssContext
    - ScopedGObject<GtkWidget>
    - gtk_style_context_get_parent
    - gtk_widget_get_parent
    - WrapGObject
    linkageType: ''
    returnType: GtkCssContext
    signature: GtkCssContext GtkCssContext::GetParent()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:273,1
    - Dst: GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (GtkCheckVersion(4))
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: gtk::GtkCssContext::widget
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - GtkCheckVersion
    - assert
    linkageType: ''
    returnType: GtkWidget
    signature: GtkWidget * GtkCssContext::widget()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:278,1
    - Dst: GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (GtkCheckVersion(4))
      pos:
        line_end: 277
        line_start: 277
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: gtk::GtkCssContext::root
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - GtkCheckVersion
    - assert
    linkageType: ''
    returnType: GtkWidget
    signature: GtkWidget * GtkCssContext::root()
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: cbegin
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:316,1
    - Dst: cend
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:320,1
    - Dst: std::find_if
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:322,1
    - Dst: cend
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:322,1
    - Dst: gtk::GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:338,1
    - Dst: g_type_from_name
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:339,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:339,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:340,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:345,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:345,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:350,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:350,1
    - Dst: static_cast<GtkStateFlags>
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:355,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:359,1
    - Dst: cend
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:363,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:383,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:391,1
    - Dst: std::round
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:393,1
    - Dst: gtk::GetDeviceScaleFactor
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:393,1
    - Dst: gtk::AppendCssNodeToStyleContextImpl
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:395,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:395,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 60
    argCount: 2
    argNames:
    - context
    - ' css_node'
    argTypes:
    - GtkCssContext
    - std::string
    assertStmts:
    - condition: (gtype)
      pos:
        line_end: 339
        line_start: 339
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    - condition: (false)
      pos:
        line_end: 358
        line_start: 358
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    - condition: ("unreachable" == 0)
      pos:
        line_end: 382
        line_start: 382
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    constantsTouched: []
    func_position:
      end: 397
      start: 283
    functionDepth: 3
    functionLinenumber: 283
    functionLinenumberEnd: 397
    functionName: gtk::AppendCssNodeToStyleContext
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 1
    functionsReached:
    - assert
    - static_cast<GtkStateFlags>
    - gtk::GetDeviceScaleFactor
    - std::find_if
    - g_type_from_name
    - std::string::c_str
    - std::vector::push_back
    - std::move
    - strcmp
    - gtk::AppendCssNodeToStyleContextImpl
    - gtk::GtkCheckVersion
    - cbegin
    - std::round
    - cend
    linkageType: ''
    returnType: GtkCssContext
    signature: "GtkCssContext AppendCssNodeToStyleContext(GtkCssContext context,\n
      \                                         const std::string& css_node)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gtk::AppendCssNodeToStyleContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:402,1
    - Dst: cbegin
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:404,1
    - Dst: cend
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:405,1
    - Dst: find
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:407,1
    - Dst: cend
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:407,1
    - Dst: gtk::AppendCssNodeToStyleContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:410,1
    - Dst: cend
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' css_selector'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 399
    functionDepth: 4
    functionLinenumber: 399
    functionLinenumberEnd: 418
    functionName: gtk::GetStyleContextFromCss
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 6
    functionsReached:
    - cend
    - cbegin
    - find
    - gtk::AppendCssNodeToStyleContext
    linkageType: ''
    returnType: GtkCssContext
    signature: GtkCssContext GetStyleContextFromCss(const std::string& css_selector)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk::ApplyCssToContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:427,1
    - Dst: gtk::RenderBackground
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:435,1
    - Dst: CairoSurface::cairo
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:435,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:435,1
    - Dst: CairoSurface::GetAveragePixelValue
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - context
    argTypes:
    - GtkCssContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 420
    functionDepth: 3
    functionLinenumber: 420
    functionLinenumberEnd: 437
    functionName: gtk::GetBgColorFromStyleContext
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 2
    functionsReached:
    - CairoSurface::GetAveragePixelValue
    - gtk::ApplyCssToContext
    - gtk::RenderBackground
    - std::move
    - CairoSurface::cairo
    linkageType: ''
    returnType: GdkRGBA
    signature: GdkRGBA GetBgColorFromStyleContext(GtkCssContext context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_style_context_get_color
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:441,1
    - Dst: gtk_style_context_get_state
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - GtkStyleContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 443
    functionName: gtk::GtkStyleContextGetColor
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 1
    functionsReached:
    - gtk_style_context_get_state
    - gtk_style_context_get_color
    linkageType: ''
    returnType: GdkRGBA
    signature: GdkRGBA GtkStyleContextGetColor(GtkStyleContext* context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk::GtkStyleContextGetColor
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:447,1
    - Dst: gtk::GetStyleContextFromCss
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' css_selector'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 446
    functionDepth: 5
    functionLinenumber: 446
    functionLinenumberEnd: 448
    functionName: gtk::GetFgColor
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - gtk::GtkStyleContextGetColor
    - gtk::GetStyleContextFromCss
    linkageType: ''
    returnType: GdkRGBA
    signature: GdkRGBA GetFgColor(const std::string& css_selector)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TakeGObject
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:453,1
    - Dst: gtk_css_provider_new
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:453,1
    - Dst: gtk_css_provider_load_from_data
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:455,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' css'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 457
    functionName: gtk::GetCssProvider
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 1
    functionsReached:
    - TakeGObject
    - gtk_css_provider_load_from_data
    - gtk_css_provider_new
    - c_str
    linkageType: ''
    returnType: ScopedCssProvider
    signature: ScopedCssProvider GetCssProvider(const std::string& css)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_style_context_add_provider
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:462,1
    - Dst: GTK_STYLE_PROVIDER
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:462,1
    - Dst: GtkCssContext::GetParent
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - context
    - provider
    argTypes:
    - GtkCssContext
    - GtkCssProvider*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 466
    functionName: gtk::ApplyCssProviderToContext
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 1
    functionsReached:
    - gtk_style_context_add_provider
    - GtkCssContext::GetParent
    - GTK_STYLE_PROVIDER
    linkageType: ''
    returnType: void
    signature: "void ApplyCssProviderToContext(GtkCssContext context,\n                               GtkCssProvider*
      provider)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk::GetCssProvider
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:469,1
    - Dst: gtk::ApplyCssProviderToContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:470,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - ' css'
    argTypes:
    - GtkCssContext
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 468
    functionDepth: 2
    functionLinenumber: 468
    functionLinenumberEnd: 471
    functionName: gtk::ApplyCssToContext
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 2
    functionsReached:
    - gtk::GetCssProvider
    - std::move
    - gtk::ApplyCssProviderToContext
    linkageType: ''
    returnType: void
    signature: void ApplyCssToContext(GtkCssContext context, const std::string& css)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gtk::RenderBackground
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:478,1
    - Dst: GtkCssContext::GetParent
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:478,1
    - Dst: gtk_render_background
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:479,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:479,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' size'
    - cr
    - context
    argTypes:
    - MySize
    - cairo_t*
    - GtkCssContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 480
    functionName: gtk::RenderBackground
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 4
    functionsReached:
    - GtkCssContext::GetParent
    - height
    - width
    - gtk::RenderBackground
    - gtk_render_background
    linkageType: ''
    returnType: void
    signature: "void RenderBackground(const MySize& size,\n                      cairo_t*
      cr,\n                      GtkCssContext context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk::GetBgColorFromStyleContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:483,1
    - Dst: gtk::GetStyleContextFromCss
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' css_selector'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 482
    functionDepth: 5
    functionLinenumber: 482
    functionLinenumberEnd: 484
    functionName: gtk::GetBgColor
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - gtk::GetBgColorFromStyleContext
    - gtk::GetStyleContextFromCss
    linkageType: ''
    returnType: GdkRGBA
    signature: GdkRGBA GetBgColor(const std::string& css_selector)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk::GetStyleContextFromCss
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:489,1
    - Dst: gtk_render_frame
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:492,1
    - Dst: CairoSurface::cairo
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:492,1
    - Dst: MySize::width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:492,1
    - Dst: MySize::height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:492,1
    - Dst: CairoSurface::GetAveragePixelValue
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' css_selector'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 486
    functionDepth: 5
    functionLinenumber: 486
    functionLinenumberEnd: 494
    functionName: gtk::GetBorderColor
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - gtk_render_frame
    - CairoSurface::GetAveragePixelValue
    - gtk::GetStyleContextFromCss
    - CairoSurface::cairo
    - MySize::width
    - MySize::height
    linkageType: ''
    returnType: GdkRGBA
    signature: GdkRGBA GetBorderColor(const std::string& css_selector)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk::GetStyleContextFromCss
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:498,1
    - Dst: gtk_render_focus
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:501,1
    - Dst: CairoSurface::cairo
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:501,1
    - Dst: MySize::width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:501,1
    - Dst: MySize::height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:501,1
    - Dst: CairoSurface::GetAveragePixelValue
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' css_selector'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 496
    functionDepth: 5
    functionLinenumber: 496
    functionLinenumberEnd: 503
    functionName: gtk::GetFocusColor
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - CairoSurface::GetAveragePixelValue
    - gtk::GetStyleContextFromCss
    - gtk_render_focus
    - CairoSurface::cairo
    - MySize::width
    - MySize::height
    linkageType: ''
    returnType: GdkRGBA
    signature: GdkRGBA GetFocusColor(const std::string& css_selector)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk::GetStyleContextFromCss
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:506,1
    - Dst: gtk::GetBgColorFromStyleContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:507,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' css_selector'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 505
    functionDepth: 5
    functionLinenumber: 505
    functionLinenumberEnd: 508
    functionName: gtk::GetSelectionBgColor
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - gtk::GetBgColorFromStyleContext
    - gtk::GetStyleContextFromCss
    - std::move
    linkageType: ''
    returnType: GdkRGBA
    signature: GdkRGBA GetSelectionBgColor(const std::string& css_selector)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gtk_style_context_has_class
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:513,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:513,1
    - Dst: gtk::GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:514,1
    - Dst: gtk_widget_path_iter_has_class
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:515,1
    - Dst: gtk_style_context_get_path
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:516,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - context
    - ' style_class'
    argTypes:
    - GtkCssContext
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 519
    functionName: gtk::ContextHasClass
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 1
    functionsReached:
    - gtk_style_context_has_class
    - gtk_widget_path_iter_has_class
    - gtk_style_context_get_path
    - c_str
    - gtk::GtkCheckVersion
    linkageType: ''
    returnType: bool
    signature: bool ContextHasClass(GtkCssContext context, const std::string& style_class)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gtk::GetStyleContextFromCss
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:522,1
    - Dst: gtk::ContextHasClass
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:523,1
    - Dst: gtk::GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:526,1
    - Dst: gtk::GetSeparatorSize
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:527,1
    - Dst: auto::width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:528,1
    - Dst: auto::height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:529,1
    - Dst: gtk_style_context_get
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:531,1
    - Dst: gtk_style_context_get_state
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:531,1
    - Dst: gtk::GtkStyleContextGetBorder
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:534,1
    - Dst: gtk::GtkStyleContextGetPadding
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:535,1
    - Dst: MyInset::left
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:537,1
    - Dst: MyInset::left
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:537,1
    - Dst: MyInset::right
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:537,1
    - Dst: MyInset::right
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:537,1
    - Dst: MyInset::top
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:538,1
    - Dst: MyInset::top
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:538,1
    - Dst: MyInset::bottom
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:538,1
    - Dst: MyInset::bottom
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:538,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:542,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:544,1
    - Dst: gtk::ContextHasClass
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:544,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:546,1
    - Dst: gtk_render_background
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:550,1
    - Dst: CairoSurface::cairo
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:550,1
    - Dst: gtk_render_frame
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:551,1
    - Dst: CairoSurface::cairo
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:551,1
    - Dst: CairoSurface::GetAveragePixelValue
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - ' css_selector'
    argTypes:
    - std::string
    assertStmts:
    - condition: (ContextHasClass(context, "vertical"))
      pos:
        line_end: 543
        line_start: 543
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    constantsTouched: []
    func_position:
      end: 553
      start: 521
    functionDepth: 5
    functionLinenumber: 521
    functionLinenumberEnd: 553
    functionName: gtk::GetSeparatorColor
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - assert
    - gtk_style_context_get
    - gtk::GetSeparatorSize
    - std::max
    - gtk::ContextHasClass
    - CairoSurface::cairo
    - gtk_render_background
    - MyInset::top
    - gtk_style_context_get_state
    - CairoSurface::GetAveragePixelValue
    - MyInset::right
    - gtk::GetStyleContextFromCss
    - MyInset::bottom
    - auto::height
    - gtk::GtkStyleContextGetPadding
    - gtk_render_frame
    - MyInset::left
    - auto::width
    - gtk::GtkStyleContextGetBorder
    - gtk::GtkCheckVersion
    linkageType: ''
    returnType: GdkRGBA
    signature: GdkRGBA GetSeparatorColor(const std::string& css_selector)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_value_init
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:558,1
    - Dst: g_object_get_property
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:559,1
    - Dst: G_OBJECT
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:559,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:560,1
    - Dst: G_VALUE_HOLDS_STRING
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:560,1
    - Dst: g_value_get_string
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:561,1
    - Dst: g_value_unset
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - settings
    - prop_name
    argTypes:
    - GtkSettings*
    - gchar*
    assertStmts:
    - condition: (G_VALUE_HOLDS_STRING(&layout))
      pos:
        line_end: 559
        line_start: 559
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    constantsTouched: []
    func_position:
      end: 564
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 564
    functionName: gtk::GetGtkSettingsStringProperty
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - assert
    - G_VALUE_HOLDS_STRING
    - g_value_unset
    - g_value_init
    - g_value_get_string
    - g_object_get_property
    - G_OBJECT
    linkageType: ''
    returnType: std::string
    signature: "std::string GetGtkSettingsStringProperty(GtkSettings* settings,\n
      \                                        const gchar* prop_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk::GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:568,1
    - Dst: gtk_icon_theme_get_for_display
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:569,1
    - Dst: gdk_display_get_default
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:569,1
    - Dst: gtk_icon_theme_get_default
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:570,1
    - Dst: gtk_icon_theme_get_default
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 573
    functionName: gtk::GetDefaultIconTheme
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - gdk_display_get_default
    - gtk_icon_theme_get_default
    - gtk::GtkCheckVersion
    - gtk_icon_theme_get_for_display
    linkageType: ''
    returnType: GtkIconTheme
    signature: GtkIconTheme * GetDefaultIconTheme()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gtk::GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:577,1
    - Dst: gtk_window_destroy
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:578,1
    - Dst: GTK_WINDOW
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:578,1
    - Dst: gtk_widget_destroy
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - widget
    argTypes:
    - GtkWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 581
    functionName: gtk::GtkWindowDestroy
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - gtk_window_destroy
    - gtk::GtkCheckVersion
    - GTK_WINDOW
    - gtk_widget_destroy
    linkageType: ''
    returnType: void
    signature: void GtkWindowDestroy(GtkWidget* widget)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk::CreateDummyWindow
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 586
    functionName: gtk::GetDummyWindow
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached:
    - gtk::CreateDummyWindow
    linkageType: ''
    returnType: GtkWidget
    signature: GtkWidget * GetDummyWindow()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TakeGObject
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:589,1
    - Dst: gtk_separator_new
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:589,1
    - Dst: gtk_widget_get_preferred_size
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - horizontal
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 594
    functionName: gtk::GetSeparatorSize
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 2
    functionsReached:
    - TakeGObject
    - gtk_separator_new
    - gtk_widget_get_preferred_size
    linkageType: ''
    returnType: MySize
    signature: MySize GetSeparatorSize(bool horizontal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - scaleFactor
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 600
    functionName: gtk::SetDeviceScaleFactor
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetDeviceScaleFactor(float scaleFactor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 604
    functionName: gtk::GetDeviceScaleFactor
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_util.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float GetDeviceScaleFactor()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - vlc_qt_theme_csd_button_type
    assertStmts:
    - condition: ("unreachable" == 0)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: ButtonStyleClassFromButtonType
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: "char * ButtonStyleClassFromButtonType(\n        vlc_qt_theme_csd_button_type
      type)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<GtkStateFlags>
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:78,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - vlc_qt_theme_csd_button_state
    assertStmts:
    - condition: ("unreachable" == 0)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp
    constantsTouched: []
    func_position:
      end: 86
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 86
    functionName: GtkStateFlagsFromButtonState
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp
    functionUses: 0
    functionsReached:
    - assert
    - static_cast<GtkStateFlags>
    linkageType: ''
    returnType: GtkStateFlags
    signature: GtkStateFlags GtkStateFlagsFromButtonState(vlc_qt_theme_csd_button_state
      state)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - type
    argTypes:
    - vlc_qt_theme_csd_button_type
    assertStmts:
    - condition: ("unreachable" == 0)
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp
    constantsTouched: []
    func_position:
      end: 102
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 102
    functionName: IconNameFromButtonType
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: char * IconNameFromButtonType(vlc_qt_theme_csd_button_type type)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: IconNameFromButtonType
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:109,1
    - Dst: GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:111,1
    - Dst: TakeGObject
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:114,1
    - Dst: gtk_icon_theme_lookup_icon_for_scale
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:114,1
    - Dst: GetDefaultIconTheme
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:115,1
    - Dst: static_cast<GtkIconLookupFlags>
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:116,1
    - Dst: TakeGObject
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:119,1
    - Dst: gtk_icon_info_load_symbolic_for_context
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:119,1
    - Dst: gdk_pixbuf_get_width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:121,1
    - Dst: gdk_pixbuf_get_height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:122,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:124,1
    - Dst: Gtk4IconThemeLookupIcon
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:128,1
    - Dst: GetDefaultIconTheme
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:129,1
    - Dst: static_cast<GtkIconLookupFlags>
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:130,1
    - Dst: GlibCast<GdkPaintable>
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:132,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:132,1
    - Dst: gdk_paintable_get_type
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:132,1
    - Dst: gdk_paintable_get_intrinsic_width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:133,1
    - Dst: gdk_paintable_get_intrinsic_height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:134,1
    - Dst: gtk_snapshot_new
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:136,1
    - Dst: gdk_paintable_snapshot
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:137,1
    - Dst: gtk_snapshot_free_to_node
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:138,1
    - Dst: GetTextureFromRenderNode
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:139,1
    - Dst: reinterpret_cast<SkColor*>
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:141,1
    - Dst: g_malloc
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:141,1
    - Dst: gdk_texture_download
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:143,1
    - Dst: reinterpret_cast<guchar*>
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:143,1
    - Dst: GtkStyleContextGetColor
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:144,1
    - Dst: SkColorSetA
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:146,1
    - Dst: SkColorGetA
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:146,1
    - Dst: TakeGObject
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:147,1
    - Dst: gdk_memory_texture_new
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:148,1
    - Dst: g_bytes_new_take
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:149,1
    - Dst: gsk_render_node_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:150,1
    - Dst: MyRect
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:159,1
    - Dst: MyRect::Inset
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:161,1
    - Dst: GtkStyleContextGetMargin
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:161,1
    - Dst: GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:167,1
    - Dst: GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:167,1
    - Dst: gtk_style_context_get
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:168,1
    - Dst: gtk_style_context_get_state
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:168,1
    - Dst: MyRect::set_width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:172,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:172,1
    - Dst: MyRect::width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:172,1
    - Dst: MyRect::set_height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:173,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:173,1
    - Dst: MyRect::height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:173,1
    - Dst: MyRect::Inset
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:176,1
    - Dst: GtkStyleContextGetPadding
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:176,1
    - Dst: MyRect::Inset
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:177,1
    - Dst: GtkStyleContextGetBorder
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:177,1
    - Dst: GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:183,1
    - Dst: gtk_widget_measure
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:184,1
    - Dst: widget
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:184,1
    - Dst: gtk_widget_measure
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:186,1
    - Dst: widget
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:186,1
    - Dst: GtkStyleContextGetMargin
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:193,1
    - Dst: MyRect::Inset
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:194,1
    - Dst: MyRect::set_width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:195,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:195,1
    - Dst: MyRect::width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:195,1
    - Dst: MyRect::set_height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:196,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:196,1
    - Dst: MyRect::height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:196,1
    - Dst: MyRect::Inset
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:197,1
    - Dst: MyRect::size
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:201,1
    - Dst: AppendCssNodeToStyleContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:208,1
    - Dst: AppendCssNodeToStyleContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:209,1
    - Dst: AppendCssNodeToStyleContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:214,1
    - Dst: CreateHeaderContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:214,1
    - Dst: AppendCssNodeToStyleContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:227,1
    - Dst: CreateWindowControlsContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:228,1
    - Dst: std::string
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:230,1
    - Dst: ButtonStyleClassFromButtonType
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:230,1
    - Dst: LoadNavButtonIcon
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:232,1
    - Dst: AppendCssNodeToStyleContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:235,1
    - Dst: GetMinimumWidgetSize
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:237,1
    - Dst: GetMinimumWidgetSize
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:240,1
    - Dst: GtkStyleContextGetMargin
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:242,1
    - Dst: IsEmpty
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:267,1
    - Dst: AppendCssNodeToStyleContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:271,1
    - Dst: CreateWindowControlsContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:271,1
    - Dst: std::string
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:272,1
    - Dst: ButtonStyleClassFromButtonType
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:272,1
    - Dst: GtkStateFlagsFromButtonState
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:274,1
    - Dst: static_cast<GtkStateFlags>
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:277,1
    - Dst: gtk_style_context_set_state
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:279,1
    - Dst: GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:298,1
    - Dst: gtk_snapshot_new
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:299,1
    - Dst: gtk_snapshot_render_background
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:300,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:301,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:302,1
    - Dst: gtk_snapshot_free_to_node
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:303,1
    - Dst: GetTextureFromRenderNode
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:304,1
    - Dst: gdk_texture_get_width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:305,1
    - Dst: gdk_texture_get_height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:306,1
    - Dst: gsk_render_node_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:308,1
    - Dst: gtk_style_context_get
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:315,1
    - Dst: gtk_style_context_get_state
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:315,1
    - Dst: cairo_pattern_get_surface
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:319,1
    - Dst: cairo_surface_get_type
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:321,1
    - Dst: cairo_image_surface_get_width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:322,1
    - Dst: cairo_image_surface_get_height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:323,1
    - Dst: cairo_pattern_destroy
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:325,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:328,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:328,1
    - Dst: ApplyCssToContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:329,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:338,1
    - Dst: AppendCssNodeToStyleContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:340,1
    - Dst: LoadNavButtonIcon
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:344,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:348,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:349,1
    - Dst: VLCPicturePtr::get
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:351,1
    - Dst: CairoSurface::cairo
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:355,1
    - Dst: cairo_save
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:357,1
    - Dst: cairo_set_source_rgba
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:358,1
    - Dst: cairo_set_operator
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:359,1
    - Dst: cairo_paint
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:360,1
    - Dst: cairo_restore
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:361,1
    - Dst: cairo_save
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:363,1
    - Dst: cairo_scale
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:364,1
    - Dst: GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:365,1
    - Dst: gtk_render_background
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:367,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:367,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:368,1
    - Dst: gtk_render_frame
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:369,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:369,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:370,1
    - Dst: cairo_restore
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:372,1
    - Dst: cairo_save
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:374,1
    - Dst: cairo_scale
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:376,1
    - Dst: gtk_render_icon
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:377,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:378,1
    - Dst: auto::width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:378,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:379,1
    - Dst: auto::height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:379,1
    - Dst: cairo_restore
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:380,1
    - Dst: CreateHeaderContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:405,1
    - Dst: GtkStyleContextGetPadding
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:407,1
    - Dst: CalculateUnscaledButtonSize
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:421,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:423,1
    - Dst: top
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:424,1
    - Dst: bottom
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:425,1
    - Dst: MyInset::top
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:427,1
    - Dst: MyInset::bottom
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:428,1
    - Dst: std::min
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:431,1
    - Dst: static_cast<double>
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:431,1
    - Dst: MyInset
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:434,1
    - Dst: std::round
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:434,1
    - Dst: MyInset::top
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:434,1
    - Dst: std::round
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:435,1
    - Dst: MyInset::left
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:435,1
    - Dst: std::round
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:436,1
    - Dst: MyInset::bottom
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:436,1
    - Dst: std::round
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:437,1
    - Dst: MyInset::right
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:437,1
    - Dst: std::round
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:439,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:443,1
    - Dst: top
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:443,1
    - Dst: bottom
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:444,1
    - Dst: MyInset::top
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:447,1
    - Dst: MyInset::bottom
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:447,1
    - Dst: MySize
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:451,1
    - Dst: std::round
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:451,1
    - Dst: MySize::width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:451,1
    - Dst: std::round
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:452,1
    - Dst: MySize::height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:452,1
    - Dst: MyInset
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:455,1
    - Dst: std::round
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:455,1
    - Dst: MyInset::top
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:455,1
    - Dst: MyInset::top
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:455,1
    - Dst: std::round
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:457,1
    - Dst: MyInset::left
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:457,1
    - Dst: std::round
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:458,1
    - Dst: MyInset::right
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:458,1
    - Dst: static_cast<vlc_qt_theme_csd_button_state>
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:463,1
    - Dst: std::make_unique<NavButtonImageSource>
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:464,1
    - Dst: std::unique_ptr::GetImageForScale
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:467,1
    - Dst: find
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:475,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:476,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:476,1
    - Dst: auto::second::find
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:477,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:478,1
    - Dst: auto::second::cend
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:478,1
    - Dst: find
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:484,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:485,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:485,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 121
    argCount: 3
    argNames:
    - type
    - button_context
    - scale
    argTypes:
    - vlc_qt_theme_csd_button_type
    - GtkStyleContext*
    - int
    assertStmts:
    - condition: (picIt != it->second.cend())
      pos:
        line_end: 477
        line_start: 477
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp
    - condition: (it != button_images_.end())
      pos:
        line_end: 475
        line_start: 475
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp
    - condition: (it != button_margins_.end())
      pos:
        line_end: 484
        line_start: 484
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp
    constantsTouched: []
    func_position:
      end: 497
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 497
    functionName: LoadNavButtonIcon
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp
    functionUses: 1
    functionsReached:
    - gdk_paintable_get_type
    - gtk_style_context_get
    - gtk_snapshot_render_background
    - gtk_snapshot_new
    - GtkStyleContextGetPadding
    - gtk_widget_measure
    - SkColorSetA
    - gtk_icon_info_load_symbolic_for_context
    - gdk_paintable_snapshot
    - CairoSurface::cairo
    - gtk_style_context_get_state
    - gsk_render_node_unref
    - gdk_texture_get_height
    - CreateHeaderContext
    - SkColorGetA
    - gtk_render_frame
    - IconNameFromButtonType
    - width
    - reinterpret_cast<SkColor*>
    - g_malloc
    - MyInset::left
    - gdk_memory_texture_new
    - cairo_surface_get_type
    - static_cast<GtkIconLookupFlags>
    - MyRect::set_height
    - std::min
    - CreateWindowControlsContext
    - bottom
    - MyRect::width
    - assert
    - top
    - auto::get
    - std::unique_ptr::GetImageForScale
    - GtkStyleContextGetColor
    - cairo_set_operator
    - GtkStateFlagsFromButtonState
    - MyInset::bottom
    - cairo_image_surface_get_width
    - GetDefaultIconTheme
    - reinterpret_cast<guchar*>
    - MyRect::set_width
    - auto::second::find
    - end
    - gtk_style_context_set_state
    - Gtk4IconThemeLookupIcon
    - static_cast<int>
    - gdk_texture_download
    - static_cast<GtkStateFlags>
    - MyRect::height
    - height
    - cairo_scale
    - std::move
    - find
    - MyInset::right
    - auto::second::cend
    - GetTextureFromRenderNode
    - GtkStyleContextGetBorder
    - gtk_icon_theme_lookup_icon_for_scale
    - ButtonStyleClassFromButtonType
    - auto::height
    - cairo_restore
    - GetMinimumWidgetSize
    - static_cast<vlc_qt_theme_csd_button_state>
    - CalculateUnscaledButtonSize
    - gdk_pixbuf_get_width
    - cairo_image_surface_get_height
    - gdk_paintable_get_intrinsic_height
    - GtkStyleContextGetMargin
    - cairo_set_source_rgba
    - std::string
    - MySize::width
    - GtkCheckVersion
    - cairo_save
    - gtk_render_icon
    - std::max
    - VLCPicturePtr::get
    - std::make_unique<NavButtonImageSource>
    - cairo_pattern_get_surface
    - ApplyCssToContext
    - gtk_render_background
    - MyInset::top
    - IsEmpty
    - LoadNavButtonIcon
    - MyRect::Inset
    - widget
    - gdk_pixbuf_get_height
    - MyRect::size
    - gdk_paintable_get_intrinsic_width
    - AppendCssNodeToStyleContext
    - MySize
    - auto::width
    - cairo_paint
    - GlibCast<GdkPaintable>
    - gtk_snapshot_free_to_node
    - MySize::height
    - gdk_texture_get_width
    - cairo_pattern_destroy
    - TakeGObject
    - MyRect
    - MyInset
    - static_cast<double>
    - g_bytes_new_take
    - std::round
    linkageType: ''
    returnType: MySize
    signature: "MySize LoadNavButtonIcon(\n        vlc_qt_theme_csd_button_type type,\n
      \       GtkStyleContext* button_context,\n        int scale,\n        NavButtonIcon*
      icon = nullptr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MyRect
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:159,1
    - Dst: MyRect::Inset
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:161,1
    - Dst: GtkStyleContextGetMargin
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:161,1
    - Dst: GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:167,1
    - Dst: GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:167,1
    - Dst: gtk_style_context_get
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:168,1
    - Dst: gtk_style_context_get_state
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:168,1
    - Dst: MyRect::set_width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:172,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:172,1
    - Dst: MyRect::width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:172,1
    - Dst: MyRect::set_height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:173,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:173,1
    - Dst: MyRect::height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:173,1
    - Dst: MyRect::Inset
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:176,1
    - Dst: GtkStyleContextGetPadding
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:176,1
    - Dst: MyRect::Inset
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:177,1
    - Dst: GtkStyleContextGetBorder
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:177,1
    - Dst: GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:183,1
    - Dst: gtk_widget_measure
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:184,1
    - Dst: GtkCssContext::widget
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:184,1
    - Dst: gtk_widget_measure
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:186,1
    - Dst: GtkCssContext::widget
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:186,1
    - Dst: GtkStyleContextGetMargin
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:193,1
    - Dst: MyRect::Inset
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:194,1
    - Dst: MyRect::set_width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:195,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:195,1
    - Dst: MyRect::width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:195,1
    - Dst: MyRect::set_height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:196,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:196,1
    - Dst: MyRect::height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:196,1
    - Dst: MyRect::Inset
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:197,1
    - Dst: MyRect::size
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - content_size
    - content_context
    - widget_context
    argTypes:
    - MySize
    - GtkStyleContext*
    - GtkCssContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 202
    functionName: GetMinimumWidgetSize
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp
    functionUses: 1
    functionsReached:
    - GtkCheckVersion
    - gtk_style_context_get_state
    - MyRect::size
    - gtk_style_context_get
    - MyRect::height
    - MyRect::set_height
    - GtkCssContext::widget
    - GtkStyleContextGetPadding
    - gtk_widget_measure
    - std::max
    - MyRect::Inset
    - MyRect::width
    - GtkStyleContextGetMargin
    - GtkStyleContextGetBorder
    - MyRect
    - MyRect::set_width
    linkageType: ''
    returnType: MySize
    signature: "MySize GetMinimumWidgetSize(MySize content_size,\n                           GtkStyleContext*
      content_context,\n                           GtkCssContext widget_context)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AppendCssNodeToStyleContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:208,1
    - Dst: AppendCssNodeToStyleContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - maximized
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 211
    functionName: CreateHeaderContext
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp
    functionUses: 1
    functionsReached:
    - AppendCssNodeToStyleContext
    linkageType: ''
    returnType: GtkCssContext
    signature: GtkCssContext CreateHeaderContext(bool maximized)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AppendCssNodeToStyleContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:214,1
    - Dst: CreateHeaderContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - maximized
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: CreateWindowControlsContext
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp
    functionUses: 1
    functionsReached:
    - CreateHeaderContext
    - AppendCssNodeToStyleContext
    linkageType: ''
    returnType: GtkCssContext
    signature: GtkCssContext CreateWindowControlsContext(bool maximized)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AppendCssNodeToStyleContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:227,1
    - Dst: CreateWindowControlsContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:228,1
    - Dst: std::string
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:230,1
    - Dst: ButtonStyleClassFromButtonType
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:230,1
    - Dst: LoadNavButtonIcon
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:232,1
    - Dst: AppendCssNodeToStyleContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:235,1
    - Dst: GetMinimumWidgetSize
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:237,1
    - Dst: GetMinimumWidgetSize
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:240,1
    - Dst: GtkStyleContextGetMargin
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - type
    - maximized
    - button_size
    - button_margin
    argTypes:
    - vlc_qt_theme_csd_button_type
    - bool
    - MySize*
    - MyInset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 218
    functionDepth: 3
    functionLinenumber: 218
    functionLinenumberEnd: 243
    functionName: CalculateUnscaledButtonSize
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp
    functionUses: 1
    functionsReached:
    - GetMinimumWidgetSize
    - CreateWindowControlsContext
    - AppendCssNodeToStyleContext
    - LoadNavButtonIcon
    - GtkStyleContextGetMargin
    - ButtonStyleClassFromButtonType
    - std::string
    linkageType: ''
    returnType: void
    signature: "void CalculateUnscaledButtonSize(\n        vlc_qt_theme_csd_button_type
      type,\n        bool maximized,\n        MySize* button_size,\n        MyInset*
      button_margin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - type
    - state
    - maximized
    - active
    - button_size
    argTypes:
    - vlc_qt_theme_csd_button_type
    - vlc_qt_theme_csd_button_state
    - bool
    - bool
    - MySize
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 258
    functionName: NavButtonImageSource::NavButtonImageSource
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void NavButtonImageSource(vlc_qt_theme_csd_button_type type,\n                         vlc_qt_theme_csd_button_state
      state,\n                         bool maximized,\n                         bool
      active,\n                         MySize button_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: ~NavButtonImageSource()
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NavButtonImageSource()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: IsEmpty
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:267,1
    - Dst: AppendCssNodeToStyleContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:271,1
    - Dst: CreateWindowControlsContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:271,1
    - Dst: std::string
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:272,1
    - Dst: ButtonStyleClassFromButtonType
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:272,1
    - Dst: GtkStateFlagsFromButtonState
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:274,1
    - Dst: static_cast<GtkStateFlags>
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:277,1
    - Dst: gtk_style_context_set_state
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:279,1
    - Dst: GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:298,1
    - Dst: gtk_snapshot_new
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:299,1
    - Dst: gtk_snapshot_render_background
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:300,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:301,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:302,1
    - Dst: gtk_snapshot_free_to_node
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:303,1
    - Dst: GetTextureFromRenderNode
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:304,1
    - Dst: gdk_texture_get_width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:305,1
    - Dst: gdk_texture_get_height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:306,1
    - Dst: gsk_render_node_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:308,1
    - Dst: gtk_style_context_get
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:315,1
    - Dst: gtk_style_context_get_state
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:315,1
    - Dst: cairo_pattern_get_surface
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:319,1
    - Dst: cairo_surface_get_type
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:321,1
    - Dst: cairo_image_surface_get_width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:322,1
    - Dst: cairo_image_surface_get_height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:323,1
    - Dst: cairo_pattern_destroy
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:325,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:328,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:328,1
    - Dst: ApplyCssToContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:329,1
    - Dst: static_cast<int>
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:338,1
    - Dst: AppendCssNodeToStyleContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:340,1
    - Dst: LoadNavButtonIcon
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:344,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:348,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:349,1
    - Dst: VLCPicturePtr::get
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:351,1
    - Dst: CairoSurface::cairo
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:355,1
    - Dst: cairo_save
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:357,1
    - Dst: cairo_set_source_rgba
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:358,1
    - Dst: cairo_set_operator
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:359,1
    - Dst: cairo_paint
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:360,1
    - Dst: cairo_restore
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:361,1
    - Dst: cairo_save
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:363,1
    - Dst: cairo_scale
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:364,1
    - Dst: GtkCheckVersion
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:365,1
    - Dst: gtk_render_background
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:367,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:367,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:368,1
    - Dst: gtk_render_frame
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:369,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:369,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:370,1
    - Dst: cairo_restore
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:372,1
    - Dst: cairo_save
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:374,1
    - Dst: cairo_scale
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:376,1
    - Dst: gtk_render_icon
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:377,1
    - Dst: width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:378,1
    - Dst: auto::width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:378,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:379,1
    - Dst: auto::height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:379,1
    - Dst: cairo_restore
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:380,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 1
    argNames:
    - scale
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 262
    functionDepth: 3
    functionLinenumber: 262
    functionLinenumberEnd: 384
    functionName: NavButtonImageSource::GetImageForScale
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp
    functionUses: 0
    functionsReached:
    - GtkCheckVersion
    - gtk_style_context_get
    - gtk_snapshot_render_background
    - cairo_save
    - gtk_snapshot_new
    - height
    - cairo_scale
    - gtk_render_icon
    - VLCPicturePtr::get
    - CairoSurface::cairo
    - cairo_pattern_get_surface
    - ApplyCssToContext
    - gtk_render_background
    - gtk_style_context_get_state
    - IsEmpty
    - gsk_render_node_unref
    - cairo_set_operator
    - gdk_texture_get_height
    - GtkStateFlagsFromButtonState
    - LoadNavButtonIcon
    - GetTextureFromRenderNode
    - auto::height
    - ButtonStyleClassFromButtonType
    - cairo_image_surface_get_width
    - cairo_restore
    - gtk_render_frame
    - width
    - AppendCssNodeToStyleContext
    - cairo_image_surface_get_height
    - auto::width
    - cairo_paint
    - gtk_snapshot_free_to_node
    - cairo_set_source_rgba
    - gdk_texture_get_width
    - cairo_surface_get_type
    - gtk_style_context_set_state
    - static_cast<int>
    - cairo_pattern_destroy
    - CreateWindowControlsContext
    - std::string
    - static_cast<GtkStateFlags>
    linkageType: ''
    returnType: VLCPicturePtr
    signature: VLCPicturePtr GetImageForScale(float scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 386
    functionName: NavButtonImageSource::HasRepresentationAtAllScales
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasRepresentationAtAllScales() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 398
    functionName: NavButtonProviderGtk::NavButtonProviderGtk
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NavButtonProviderGtk::NavButtonProviderGtk()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 400
    functionName: NavButtonProviderGtk::~NavButtonProviderGtk()
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NavButtonProviderGtk::~NavButtonProviderGtk()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateHeaderContext
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:405,1
    - Dst: GtkStyleContextGetPadding
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:407,1
    - Dst: CalculateUnscaledButtonSize
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:421,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:423,1
    - Dst: top
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:424,1
    - Dst: bottom
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:425,1
    - Dst: MyInset::top
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:427,1
    - Dst: MyInset::bottom
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:428,1
    - Dst: std::min
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:431,1
    - Dst: static_cast<double>
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:431,1
    - Dst: MyInset
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:434,1
    - Dst: std::round
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:434,1
    - Dst: MyInset::top
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:434,1
    - Dst: std::round
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:435,1
    - Dst: MyInset::left
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:435,1
    - Dst: std::round
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:436,1
    - Dst: MyInset::bottom
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:436,1
    - Dst: std::round
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:437,1
    - Dst: MyInset::right
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:437,1
    - Dst: std::round
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:439,1
    - Dst: height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:443,1
    - Dst: top
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:443,1
    - Dst: bottom
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:444,1
    - Dst: MyInset::top
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:447,1
    - Dst: MyInset::bottom
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:447,1
    - Dst: MySize
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:451,1
    - Dst: std::round
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:451,1
    - Dst: MySize::width
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:451,1
    - Dst: std::round
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:452,1
    - Dst: MySize::height
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:452,1
    - Dst: MyInset
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:455,1
    - Dst: std::round
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:455,1
    - Dst: MyInset::top
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:455,1
    - Dst: MyInset::top
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:455,1
    - Dst: std::round
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:457,1
    - Dst: MyInset::left
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:457,1
    - Dst: std::round
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:458,1
    - Dst: MyInset::right
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:458,1
    - Dst: static_cast<vlc_qt_theme_csd_button_state>
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:463,1
    - Dst: std::make_unique<NavButtonImageSource>
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:464,1
    - Dst: std::unique_ptr::GetImageForScale
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:467,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - top_area_height
    - maximized
    - active
    argTypes:
    - int
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 402
    functionDepth: 4
    functionLinenumber: 402
    functionLinenumberEnd: 470
    functionName: NavButtonProviderGtk::RedrawImages
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp
    functionUses: 0
    functionsReached:
    - top
    - GtkStyleContextGetPadding
    - height
    - std::make_unique<NavButtonImageSource>
    - MyInset::top
    - std::unique_ptr::GetImageForScale
    - MyInset::right
    - CreateHeaderContext
    - MyInset::bottom
    - static_cast<vlc_qt_theme_csd_button_state>
    - CalculateUnscaledButtonSize
    - MySize
    - MyInset::left
    - std::round
    - MySize::height
    - std::min
    - bottom
    - MyInset
    - static_cast<double>
    - MySize::width
    linkageType: ''
    returnType: void
    signature: "void NavButtonProviderGtk::RedrawImages(int top_area_height,\n                                        bool
      maximized,\n                                        bool active)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:475,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:476,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:476,1
    - Dst: auto::second::find
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:477,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:478,1
    - Dst: auto::second::cend
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - type
    - state
    argTypes:
    - vlc_qt_theme_csd_button_type
    - vlc_qt_theme_csd_button_state
    assertStmts:
    - condition: (picIt != it->second.cend())
      pos:
        line_end: 477
        line_start: 477
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp
    - condition: (it != button_images_.end())
      pos:
        line_end: 475
        line_start: 475
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp
    constantsTouched: []
    func_position:
      end: 480
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 480
    functionName: NavButtonProviderGtk::GetImage
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp
    functionUses: 0
    functionsReached:
    - assert
    - auto::second::cend
    - auto::second::find
    - end
    - find
    linkageType: ''
    returnType: VLCPicturePtr
    signature: "VLCPicturePtr NavButtonProviderGtk::GetImage(\n        vlc_qt_theme_csd_button_type
      type,\n        vlc_qt_theme_csd_button_state state) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:484,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:485,1
    - Dst: end
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - vlc_qt_theme_csd_button_type
    assertStmts:
    - condition: (it != button_margins_.end())
      pos:
        line_end: 484
        line_start: 484
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp
    constantsTouched: []
    func_position:
      end: 487
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 487
    functionName: NavButtonProviderGtk::GetNavButtonMargin
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp
    functionUses: 0
    functionsReached:
    - end
    - assert
    - find
    linkageType: ''
    returnType: MyInset
    signature: "MyInset NavButtonProviderGtk::GetNavButtonMargin(\n        vlc_qt_theme_csd_button_type
      type) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 491
    functionName: NavButtonProviderGtk::GetTopAreaSpacing
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MyInset
    signature: MyInset NavButtonProviderGtk::GetTopAreaSpacing() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 495
    functionName: NavButtonProviderGtk::GetInterNavButtonSpacing
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/nav_button_provider_gtk.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int NavButtonProviderGtk::GetInterNavButtonSpacing() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ScopedGObject::ScopedGObject
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/scoped_gobject.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScopedGObject()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ScopedGObject::Ref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/scoped_gobject.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ScopedGObject<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ScopedGObject::ScopedGObject
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/scoped_gobject.h
    functionUses: 0
    functionsReached:
    - ScopedGObject::Ref
    linkageType: ''
    returnType: void
    signature: void ScopedGObject(const ScopedGObject<T>& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ScopedGObject<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: ScopedGObject::ScopedGObject
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/scoped_gobject.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScopedGObject(ScopedGObject<T>&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/scoped_gobject.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: ~ScopedGObject()
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/scoped_gobject.h
    functionUses: 0
    functionsReached:
    - Unref
    linkageType: ''
    returnType: void
    signature: void ~ScopedGObject()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/scoped_gobject.h:46,1
    - Dst: Ref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/scoped_gobject.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ScopedGObject<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: '& operator=(const ScopedGObject<T>& other)'
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/scoped_gobject.h
    functionUses: 0
    functionsReached:
    - Unref
    - Ref
    linkageType: ''
    returnType: ScopedGObject<T>
    signature: ScopedGObject<T> & operator=(const ScopedGObject<T>& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/scoped_gobject.h:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ScopedGObject<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: '& operator=(ScopedGObject<T>&& other)'
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/scoped_gobject.h
    functionUses: 0
    functionsReached:
    - Unref
    linkageType: ''
    returnType: ScopedGObject<T>
    signature: ScopedGObject<T> & operator=(ScopedGObject<T>&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: ScopedGObject::get
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/scoped_gobject.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T * get()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: operator T*()
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/scoped_gobject.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator T*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - obj
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: ScopedGObject::ScopedGObject
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/scoped_gobject.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScopedGObject(T* obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_is_floating
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/scoped_gobject.h:73,1
    - Dst: g_object_ref_sink
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/scoped_gobject.h:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: ScopedGObject::RefSink
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/scoped_gobject.h
    functionUses: 0
    functionsReached:
    - g_object_ref_sink
    - g_object_is_floating
    linkageType: ''
    returnType: void
    signature: void RefSink()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/scoped_gobject.h:79,1
    - Dst: g_object_is_floating
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/scoped_gobject.h:79,1
    - Dst: g_object_ref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/scoped_gobject.h:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!g_object_is_floating(obj_))
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/scoped_gobject.h
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: ScopedGObject::Ref
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/scoped_gobject.h
    functionUses: 1
    functionsReached:
    - g_object_is_floating
    - assert
    - g_object_ref
    linkageType: ''
    returnType: void
    signature: void Ref()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_object_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/scoped_gobject.h:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: ScopedGObject::Unref
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/scoped_gobject.h
    functionUses: 0
    functionsReached:
    - g_object_unref
    linkageType: ''
    returnType: void
    signature: void Unref()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ScopedGObject::RefSink
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/scoped_gobject.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: TakeGObject
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/scoped_gobject.h
    functionUses: 9
    functionsReached:
    - ScopedGObject::RefSink
    linkageType: ''
    returnType: ScopedGObject<T>
    signature: ScopedGObject<T> TakeGObject(T* obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ScopedGObject::Ref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/scoped_gobject.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: WrapGObject
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/scoped_gobject.h
    functionUses: 6
    functionsReached:
    - ScopedGObject::Ref
    linkageType: ''
    returnType: ScopedGObject<T>
    signature: ScopedGObject<T> WrapGObject(T* obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetBgColor
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:59,1
    - Dst: GetFgColor
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:60,1
    - Dst: GdkRBGALightness
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:61,1
    - Dst: GdkRBGALightness
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: isThemeDark
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp
    functionUses: 3
    functionsReached:
    - GetFgColor
    - GdkRBGALightness
    - GetBgColor
    linkageType: ''
    returnType: bool
    signature: bool isThemeDark( vlc_qt_theme_provider_t*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_qt_theme_provider_t*::setColorF
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - obj
    - set
    - section
    - name
    - state
    - ' gColor'
    argTypes:
    - vlc_qt_theme_provider_t*
    - vlc_qt_theme_color_set
    - vlc_qt_theme_color_section
    - vlc_qt_theme_color_name
    - vlc_qt_theme_color_state
    - GdkRGBA
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: setGtkColor
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp
    functionUses: 0
    functionsReached:
    - vlc_qt_theme_provider_t*::setColorF
    linkageType: ''
    returnType: void
    signature: "void setGtkColor(vlc_qt_theme_provider_t* obj,\n                        vlc_qt_theme_color_set
      set, vlc_qt_theme_color_section section,\n                        vlc_qt_theme_color_name
      name, vlc_qt_theme_color_state state,\n                        const GdkRGBA&
      gColor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setGtkColor
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:77,1
    - Dst: getter
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:77,1
    - Dst: setGtkColor
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:78,1
    - Dst: getter
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:78,1
    - Dst: setGtkColor
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:79,1
    - Dst: getter
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:79,1
    - Dst: setGtkColor
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:80,1
    - Dst: getter
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:80,1
    - Dst: setGtkColor
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:81,1
    - Dst: getter
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - obj
    - set
    - section
    - name
    - getter
    - selector
    argTypes:
    - vlc_qt_theme_provider_t*
    - vlc_qt_theme_color_set
    - vlc_qt_theme_color_section
    - vlc_qt_theme_color_name
    - std::function<GdkRGBA (const std::string&)>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: setGtkColorSet
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp
    functionUses: 0
    functionsReached:
    - setGtkColor
    - getter
    linkageType: ''
    returnType: void
    signature: "void setGtkColorSet(vlc_qt_theme_provider_t* obj,\n                           vlc_qt_theme_color_set
      set, vlc_qt_theme_color_section section,\n                           vlc_qt_theme_color_name
      name,\n                           std::function<GdkRGBA (const std::string&)>
      getter, const std::string &selector)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setGtkColorSet
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - obj
    - set
    - name
    - selector
    argTypes:
    - vlc_qt_theme_provider_t*
    - vlc_qt_theme_color_set
    - vlc_qt_theme_color_name
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: setGtkColorSetBg
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp
    functionUses: 0
    functionsReached:
    - setGtkColorSet
    linkageType: ''
    returnType: void
    signature: "void setGtkColorSetBg(vlc_qt_theme_provider_t* obj,\n                           vlc_qt_theme_color_set
      set,  vlc_qt_theme_color_name name,\n                             const std::string
      &selector)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setGtkColorSet
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - obj
    - set
    - name
    - selector
    argTypes:
    - vlc_qt_theme_provider_t*
    - vlc_qt_theme_color_set
    - vlc_qt_theme_color_name
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: setGtkColorSetFg
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp
    functionUses: 0
    functionsReached:
    - setGtkColorSet
    linkageType: ''
    returnType: void
    signature: "void setGtkColorSetFg(vlc_qt_theme_provider_t* obj,\n                           vlc_qt_theme_color_set
      set,  vlc_qt_theme_color_name name,\n                             const std::string
      &selector)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setGtkColorSet
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - obj
    - set
    - name
    - selector
    argTypes:
    - vlc_qt_theme_provider_t*
    - vlc_qt_theme_color_set
    - vlc_qt_theme_color_name
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: setGtkColorSetFgFromBg
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp
    functionUses: 0
    functionsReached:
    - setGtkColorSet
    linkageType: ''
    returnType: void
    signature: "void setGtkColorSetFgFromBg(vlc_qt_theme_provider_t* obj,\n                           vlc_qt_theme_color_set
      set,  vlc_qt_theme_color_name name,\n                                   const
      std::string &selector)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setGtkColorSet
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - obj
    - set
    - selector
    argTypes:
    - vlc_qt_theme_provider_t*
    - vlc_qt_theme_color_set
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: setGtkColorSetBorder
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp
    functionUses: 0
    functionsReached:
    - setGtkColorSet
    linkageType: ''
    returnType: void
    signature: void setGtkColorSetBorder(vlc_qt_theme_provider_t* obj, vlc_qt_theme_color_set
      set, const std::string &selector)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setGtkColor
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:115,1
    - Dst: GetBgColor
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:115,1
    - Dst: setGtkColor
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:116,1
    - Dst: GetFgColor
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:116,1
    - Dst: setFgBg
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:118,1
    - Dst: setFgBg
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:119,1
    - Dst: setFgBg
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:120,1
    - Dst: setFgBg
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:121,1
    - Dst: setFgBg
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - obj
    - set
    - selector
    argTypes:
    - vlc_qt_theme_provider_t*
    - vlc_qt_theme_color_set
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 123
    functionName: setGtkColorSetHighlight
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp
    functionUses: 0
    functionsReached:
    - GetFgColor
    - setGtkColor
    - setFgBg
    - GetBgColor
    linkageType: ''
    returnType: void
    signature: void setGtkColorSetHighlight(vlc_qt_theme_provider_t* obj, vlc_qt_theme_color_set
      set, const std::string &selector)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<GtkPrivateThemeProvider*>
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:127,1
    - Dst: SetDeviceScaleFactor
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:130,1
    - Dst: auto::navButtons::RedrawImages
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:147,1
    - Dst: auto::navButtons::GetInterNavButtonSpacing
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:152,1
    - Dst: auto::navButtons::GetTopAreaSpacing
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:154,1
    - Dst: MyInset::left
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:155,1
    - Dst: MyInset::right
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:156,1
    - Dst: MyInset::top
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:157,1
    - Dst: MyInset::bottom
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:158,1
    - Dst: vlc_qt_theme_provider_t*::metricsUpdated
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:160,1
    - Dst: auto::navButtons::GetImage
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:163,1
    - Dst: picture_Hold
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:165,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - obj
    - type
    - settings
    argTypes:
    - vlc_qt_theme_provider_t*
    - vlc_qt_theme_image_type
    - vlc_qt_theme_image_setting*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 169
    functionName: getThemeImage
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp
    functionUses: 1
    functionsReached:
    - MyInset::top
    - auto::navButtons::GetInterNavButtonSpacing
    - picture_Hold
    - auto::navButtons::GetTopAreaSpacing
    - MyInset::right
    - auto::navButtons::GetImage
    - auto::navButtons::RedrawImages
    - MyInset::left
    - MyInset::bottom
    - vlc_qt_theme_provider_t*::metricsUpdated
    - static_cast<GtkPrivateThemeProvider*>
    - SetDeviceScaleFactor
    linkageType: ''
    returnType: picture_t
    signature: picture_t * getThemeImage(vlc_qt_theme_provider_t* obj, vlc_qt_theme_image_type
      type, const vlc_qt_theme_image_setting* settings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<GtkPrivateThemeProvider*>
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - obj
    - type
    - metrics
    argTypes:
    - vlc_qt_theme_provider_t*
    - vlc_qt_theme_image_type
    - struct vlc_qt_theme_metrics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 183
    functionName: getThemeMetrics
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp
    functionUses: 1
    functionsReached:
    - static_cast<GtkPrivateThemeProvider*>
    linkageType: ''
    returnType: bool
    signature: bool getThemeMetrics(vlc_qt_theme_provider_t* obj, vlc_qt_theme_image_type
      type, struct vlc_qt_theme_metrics* metrics)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - vlc_qt_theme_image_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: supportThemeImage
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool supportThemeImage(vlc_qt_theme_provider_t*, vlc_qt_theme_image_type
      type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isThemeDark
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:194,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:201,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:202,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:204,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:206,1
    - Dst: QT_VERSION_CHECK
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:208,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:209,1
    - Dst: assert
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:211,1
    - Dst: palette
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:212,1
    - Dst: auto::color
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:213,1
    - Dst: QColor
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:218,1
    - Dst: free
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:221,1
    - Dst: gdk_rgba_parse
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:223,1
    - Dst: QColor::name
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_qt_theme_provider_t*
    assertStmts:
    - condition: (accentColor)
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp
    - condition: (qApp)
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp
    constantsTouched: []
    func_position:
      end: 224
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 224
    functionName: updatePalette
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp
    functionUses: 5
    functionsReached:
    - QColor
    - assert
    - var_InheritString
    - isThemeDark
    - palette
    - free
    - strcmp
    - QT_VERSION_CHECK
    - gdk_rgba_parse
    - QColor::name
    - auto::color
    linkageType: ''
    returnType: int
    signature: int updatePalette(vlc_qt_theme_provider_t* obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<GtkPrivateThemeProvider*>
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_qt_theme_provider_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: Close
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp
    functionUses: 151
    functionsReached:
    - static_cast<GtkPrivateThemeProvider*>
    linkageType: ''
    returnType: void
    signature: void Close(vlc_qt_theme_provider_t* obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::call_once
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:440,1
    - Dst: gtk_init
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:443,1
    - Dst: gdk_init
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:444,1
    - Dst: g_type_class_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:447,1
    - Dst: g_type_class_ref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:447,1
    - Dst: gtk_button_get_type
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:447,1
    - Dst: g_type_class_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:448,1
    - Dst: g_type_class_ref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:448,1
    - Dst: gtk_entry_get_type
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:448,1
    - Dst: g_type_class_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:449,1
    - Dst: g_type_class_ref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:449,1
    - Dst: gtk_frame_get_type
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:449,1
    - Dst: g_type_class_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:450,1
    - Dst: g_type_class_ref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:450,1
    - Dst: gtk_header_bar_get_type
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:450,1
    - Dst: g_type_class_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:451,1
    - Dst: g_type_class_ref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:451,1
    - Dst: gtk_image_get_type
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:451,1
    - Dst: g_type_class_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:452,1
    - Dst: g_type_class_ref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:452,1
    - Dst: gtk_info_bar_get_type
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:452,1
    - Dst: g_type_class_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:453,1
    - Dst: g_type_class_ref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:453,1
    - Dst: gtk_label_get_type
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:453,1
    - Dst: g_type_class_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:454,1
    - Dst: g_type_class_ref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:454,1
    - Dst: gtk_menu_get_type
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:454,1
    - Dst: g_type_class_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:455,1
    - Dst: g_type_class_ref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:455,1
    - Dst: gtk_menu_bar_get_type
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:455,1
    - Dst: g_type_class_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:456,1
    - Dst: g_type_class_ref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:456,1
    - Dst: gtk_menu_item_get_type
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:456,1
    - Dst: g_type_class_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:457,1
    - Dst: g_type_class_ref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:457,1
    - Dst: gtk_range_get_type
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:457,1
    - Dst: g_type_class_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:458,1
    - Dst: g_type_class_ref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:458,1
    - Dst: gtk_scrollbar_get_type
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:458,1
    - Dst: g_type_class_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:459,1
    - Dst: g_type_class_ref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:459,1
    - Dst: gtk_scrolled_window_get_type
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:459,1
    - Dst: g_type_class_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:460,1
    - Dst: g_type_class_ref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:460,1
    - Dst: gtk_separator_get_type
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:460,1
    - Dst: g_type_class_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:461,1
    - Dst: g_type_class_ref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:461,1
    - Dst: gtk_spinner_get_type
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:461,1
    - Dst: g_type_class_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:462,1
    - Dst: g_type_class_ref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:462,1
    - Dst: gtk_text_view_get_type
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:462,1
    - Dst: g_type_class_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:463,1
    - Dst: g_type_class_ref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:463,1
    - Dst: gtk_toggle_button_get_type
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:463,1
    - Dst: g_type_class_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:464,1
    - Dst: g_type_class_ref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:464,1
    - Dst: gtk_tree_view_get_type
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:464,1
    - Dst: g_type_class_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:465,1
    - Dst: g_type_class_ref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:465,1
    - Dst: gtk_window_get_type
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:465,1
    - Dst: g_type_class_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:466,1
    - Dst: g_type_class_ref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:466,1
    - Dst: gtk_combo_box_text_get_type
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:466,1
    - Dst: g_type_class_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:467,1
    - Dst: g_type_class_ref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:467,1
    - Dst: gtk_cell_view_get_type
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:467,1
    - Dst: g_type_class_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:468,1
    - Dst: g_type_class_ref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:468,1
    - Dst: gtk_scale_get_type
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:468,1
    - Dst: g_type_class_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:469,1
    - Dst: g_type_class_ref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:469,1
    - Dst: gtk_progress_bar_get_type
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:469,1
    - Dst: g_type_class_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:470,1
    - Dst: g_type_class_ref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:470,1
    - Dst: gtk_overlay_get_type
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:470,1
    - Dst: g_type_class_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:471,1
    - Dst: g_type_class_ref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:471,1
    - Dst: gtk_list_box_get_type
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:471,1
    - Dst: g_type_class_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:472,1
    - Dst: g_type_class_ref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:472,1
    - Dst: gtk_list_box_row_get_type
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:472,1
    - Dst: g_type_class_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:473,1
    - Dst: g_type_class_ref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:473,1
    - Dst: gtk_spin_button_get_type
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:473,1
    - Dst: g_type_class_unref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:474,1
    - Dst: g_type_class_ref
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:474,1
    - Dst: gtk_switch_get_type
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:474,1
    - Dst: GtkPrivateThemeProvider::GtkPrivateThemeProvider
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 43
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 490
    functionName: Open
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtkthemeprovider.cpp
    functionUses: 59
    functionsReached:
    - gtk_frame_get_type
    - gtk_text_view_get_type
    - gtk_cell_view_get_type
    - GtkPrivateThemeProvider::GtkPrivateThemeProvider
    - gtk_list_box_get_type
    - gtk_header_bar_get_type
    - gtk_menu_item_get_type
    - gtk_scrolled_window_get_type
    - gdk_init
    - gtk_menu_bar_get_type
    - gtk_scale_get_type
    - g_type_class_unref
    - gtk_window_get_type
    - gtk_init
    - gtk_image_get_type
    - gtk_combo_box_text_get_type
    - gtk_menu_get_type
    - gtk_entry_get_type
    - gtk_toggle_button_get_type
    - gtk_separator_get_type
    - std::call_once
    - gtk_range_get_type
    - gtk_scrollbar_get_type
    - gtk_tree_view_get_type
    - gtk_spin_button_get_type
    - gtk_spinner_get_type
    - gtk_list_box_row_get_type
    - gtk_switch_get_type
    - gtk_overlay_get_type
    - gtk_label_get_type
    - gtk_info_bar_get_type
    - g_type_class_ref
    - gtk_button_get_type
    - gtk_progress_bar_get_type
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t* p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_style_context_get_padding
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.cpp:26,1
    - Dst: gtk_style_context_get_state
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.cpp:26,1
    - Dst: MyInset
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - GtkStyleContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: gtk::GtkStyleContextGetPadding
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.cpp
    functionUses: 2
    functionsReached:
    - MyInset
    - gtk_style_context_get_state
    - gtk_style_context_get_padding
    linkageType: ''
    returnType: MyInset
    signature: MyInset GtkStyleContextGetPadding(GtkStyleContext* context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_style_context_get_border
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.cpp:33,1
    - Dst: gtk_style_context_get_state
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.cpp:33,1
    - Dst: MyInset
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - GtkStyleContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: gtk::GtkStyleContextGetBorder
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.cpp
    functionUses: 2
    functionsReached:
    - gtk_style_context_get_border
    - gtk_style_context_get_state
    - MyInset
    linkageType: ''
    returnType: MyInset
    signature: MyInset GtkStyleContextGetBorder(GtkStyleContext* context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_style_context_get_margin
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.cpp:40,1
    - Dst: gtk_style_context_get_state
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.cpp:40,1
    - Dst: MyInset
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - GtkStyleContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: gtk::GtkStyleContextGetMargin
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.cpp
    functionUses: 0
    functionsReached:
    - MyInset
    - gtk_style_context_get_state
    - gtk_style_context_get_margin
    linkageType: ''
    returnType: MyInset
    signature: MyInset GtkStyleContextGetMargin(GtkStyleContext* context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' c1'
    argTypes:
    - GdkRGBA
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: gtk::GdkRBGALightness
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gdouble
    signature: gdouble GdkRBGALightness(GdkRGBA& c1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' c1'
    - ' c2'
    - blend
    argTypes:
    - GdkRGBA
    - GdkRGBA
    - gdouble
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: gtk::GdkRBGABlend
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GdkRGBA
    signature: GdkRGBA GdkRBGABlend(GdkRGBA& c1, GdkRGBA& c2, gdouble blend)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_style_context_get_padding
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.cpp:26,1
    - Dst: gtk_style_context_get_state
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.cpp:26,1
    - Dst: MyInset
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - GtkStyleContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: gtk::GtkStyleContextGetPadding
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.cpp
    functionUses: 2
    functionsReached:
    - MyInset
    - gtk_style_context_get_state
    - gtk_style_context_get_padding
    linkageType: ''
    returnType: MyInset
    signature: MyInset GtkStyleContextGetPadding(GtkStyleContext* context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_style_context_get_border
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.cpp:33,1
    - Dst: gtk_style_context_get_state
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.cpp:33,1
    - Dst: MyInset
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - GtkStyleContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: gtk::GtkStyleContextGetBorder
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.cpp
    functionUses: 2
    functionsReached:
    - gtk_style_context_get_border
    - gtk_style_context_get_state
    - MyInset
    linkageType: ''
    returnType: MyInset
    signature: MyInset GtkStyleContextGetBorder(GtkStyleContext* context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_style_context_get_margin
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.cpp:40,1
    - Dst: gtk_style_context_get_state
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.cpp:40,1
    - Dst: MyInset
      Src: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - GtkStyleContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: gtk::GtkStyleContextGetMargin
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.cpp
    functionUses: 0
    functionsReached:
    - MyInset
    - gtk_style_context_get_state
    - gtk_style_context_get_margin
    linkageType: ''
    returnType: MyInset
    signature: MyInset GtkStyleContextGetMargin(GtkStyleContext* context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' c1'
    argTypes:
    - GdkRGBA
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: gtk::GdkRBGALightness
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gdouble
    signature: gdouble GdkRBGALightness(GdkRGBA& c1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' c1'
    - ' c2'
    - blend
    argTypes:
    - GdkRGBA
    - GdkRGBA
    - gdouble
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: gtk::GdkRBGABlend
    functionSourceFile: /src/vlc/modules/gui/qt/style/gtkthemeprovider/gtk_compat.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GdkRGBA
    signature: GdkRGBA GdkRBGABlend(GdkRGBA& c1, GdkRGBA& c2, gdouble blend)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: Win32Graphics::getWidth
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_graphics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getWidth() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: Win32Graphics::getHeight
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_graphics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getHeight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: Win32Graphics::getDC
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_graphics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HDC
    signature: HDC getDC() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: Win32Graphics::getMask
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_graphics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HRGN
    signature: HRGN getMask() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FromWide
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:37,1
    - Dst: std::wstring::c_str
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:37,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rWide
    argTypes:
    - std::wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: sFromWide
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp
    functionUses: 0
    functionsReached:
    - free
    - FromWide
    - std::wstring::c_str
    linkageType: ''
    returnType: std::string
    signature: std::string sFromWide( const std::wstring &rWide )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pIntf
    - pWin
    argTypes:
    - intf_thread_t*
    - GenericWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: Win32DragDrop::Win32DragDrop
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Win32DragDrop::Win32DragDrop( intf_thread_t *pIntf,\n                              GenericWindow*
      pWin )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Win32DragDrop::AddRef
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - iid
    - ppv
    argTypes:
    - REFIID
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: Win32DragDrop::QueryInterface
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp
    functionUses: 0
    functionsReached:
    - Win32DragDrop::AddRef
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP Win32DragDrop::QueryInterface( REFIID iid, void FAR* FAR*
      ppv )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedIncrement
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: Win32DragDrop::AddRef
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp
    functionUses: 1
    functionsReached:
    - InterlockedIncrement
    linkageType: ''
    returnType: void
    signature: void Win32DragDrop::AddRef()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedDecrement
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: Win32DragDrop::Release
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp
    functionUses: 0
    functionsReached:
    - InterlockedDecrement
    linkageType: ''
    returnType: void
    signature: void Win32DragDrop::Release()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LPDATAOBJECT::EnumFormatEtc
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:92,1
    - Dst: IEnumFORMATETC*::Next
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:95,1
    - Dst: std::list::push_back
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:98,1
    - Dst: RegisterClipboardFormat
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:104,1
    - Dst: std::list::begin
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:118,1
    - Dst: std::list::end
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:119,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:124,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:124,1
    - Dst: LPDATAOBJECT::QueryGetData
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:140,1
    - Dst: processEvent
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:147,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 4
    argNames:
    - pDataObj
    - grfKeyState
    - pt
    - pdwEffect
    argTypes:
    - LPDATAOBJECT
    - DWORD
    - POINTL
    - DWORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 150
    functionName: Win32DragDrop::DragEnter
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp
    functionUses: 0
    functionsReached:
    - std::list::begin
    - LPDATAOBJECT::QueryGetData
    - std::list::end
    - LPDATAOBJECT::EnumFormatEtc
    - IEnumFORMATETC*::Next
    - RegisterClipboardFormat
    - msg_Dbg
    - getIntf
    - processEvent
    - std::list::push_back
    linkageType: ''
    returnType: STDMETHODIMP
    signature: "STDMETHODIMP Win32DragDrop::DragEnter( LPDATAOBJECT pDataObj,\n    DWORD
      grfKeyState, POINTL pt, DWORD *pdwEffect )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:158,1
    - Dst: processEvent
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - grfKeyState
    - pt
    - pdwEffect
    argTypes:
    - DWORD
    - POINTL
    - DWORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 163
    functionName: Win32DragDrop::DragOver
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp
    functionUses: 0
    functionsReached:
    - processEvent
    - getIntf
    linkageType: ''
    returnType: STDMETHODIMP
    signature: "STDMETHODIMP Win32DragDrop::DragOver( DWORD grfKeyState, POINTL pt,\n
      \                                     DWORD *pdwEffect )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: processEvent
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: Win32DragDrop::DragLeave
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp
    functionUses: 0
    functionsReached:
    - processEvent
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP Win32DragDrop::DragLeave()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FAILED
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:191,1
    - Dst: LPDATAOBJECT::GetData
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:191,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:198,1
    - Dst: GlobalLock
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:200,1
    - Dst: std::list::push_back
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:201,1
    - Dst: sFromWide
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:201,1
    - Dst: GlobalUnlock
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:202,1
    - Dst: GlobalLock
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:206,1
    - Dst: DragQueryFileW
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:208,1
    - Dst: DragQueryFileW
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:212,1
    - Dst: WCHAR::WCHAR
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:213,1
    - Dst: DragQueryFileW
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:214,1
    - Dst: std::list::push_back
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:216,1
    - Dst: sFromWide
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:216,1
    - Dst: GlobalUnlock
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:219,1
    - Dst: GlobalLock
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:223,1
    - Dst: std::list::push_back
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:224,1
    - Dst: GlobalUnlock
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:225,1
    - Dst: ReleaseStgMedium
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:229,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:232,1
    - Dst: processEvent
      Src: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp:233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 4
    argNames:
    - pDataObj
    - grfKeyState
    - pt
    - pdwEffect
    argTypes:
    - LPDATAOBJECT
    - DWORD
    - POINTL
    - DWORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 237
    functionName: Win32DragDrop::Drop
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.cpp
    functionUses: 0
    functionsReached:
    - DragQueryFileW
    - sFromWide
    - FAILED
    - LPDATAOBJECT::GetData
    - strcmp
    - WCHAR::WCHAR
    - getIntf
    - processEvent
    - GlobalLock
    - std::list::push_back
    - ReleaseStgMedium
    - GlobalUnlock
    linkageType: ''
    returnType: STDMETHODIMP
    signature: "STDMETHODIMP Win32DragDrop::Drop( LPDATAOBJECT pDataObj, DWORD grfKeyState,\n
      \   POINTL pt, DWORD *pdwEffect )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDC
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:39,1
    - Dst: CreateCompatibleBitmap
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:40,1
    - Dst: ReleaseDC
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:41,1
    - Dst: CreateCompatibleDC
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:43,1
    - Dst: SelectObject
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:44,1
    - Dst: DeleteObject
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:45,1
    - Dst: CreateRectRgn
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - pIntf
    - width
    - height
    argTypes:
    - intf_thread_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 49
    functionName: Win32Graphics::Win32Graphics
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp
    functionUses: 0
    functionsReached:
    - CreateCompatibleBitmap
    - DeleteObject
    - ReleaseDC
    - SelectObject
    - CreateRectRgn
    - CreateCompatibleDC
    - GetDC
    linkageType: ''
    returnType: void
    signature: void Win32Graphics::Win32Graphics( intf_thread_t *pIntf, int width,
      int height )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeleteDC
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:54,1
    - Dst: DeleteObject
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: Win32Graphics::~Win32Graphics()
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp
    functionUses: 0
    functionsReached:
    - DeleteDC
    - DeleteObject
    linkageType: ''
    returnType: void
    signature: void Win32Graphics::~Win32Graphics()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DeleteObject
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:64,1
    - Dst: CreateRectRgn
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:65,1
    - Dst: CreateRectRgn
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:69,1
    - Dst: CombineRgn
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:71,1
    - Dst: DeleteObject
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - xDest
    - yDest
    - width
    - height
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 74
    functionName: Win32Graphics::clear
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp
    functionUses: 0
    functionsReached:
    - CreateRectRgn
    - DeleteObject
    - CombineRgn
    linkageType: ''
    returnType: void
    signature: void Win32Graphics::clear( int xDest, int yDest, int width, int height
      )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Win32Graphics::checkBoundaries
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:84,1
    - Dst: GenericBitmap::getWidth
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:84,1
    - Dst: GenericBitmap::getHeight
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:84,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:87,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:87,1
    - Dst: Win32Graphics::checkBoundaries
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:92,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:95,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:95,1
    - Dst: GenericBitmap::getData
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:100,1
    - Dst: memset
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:110,1
    - Dst: CreateCompatibleDC
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:121,1
    - Dst: CreateDIBSection
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:122,1
    - Dst: SelectObject
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:124,1
    - Dst: CreateRectRgn
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:127,1
    - Dst: GenericBitmap::getWidth
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:130,1
    - Dst: Win32Graphics::addSegmentInRegion
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:168,1
    - Dst: Win32Graphics::addSegmentInRegion
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:176,1
    - Dst: GenericBitmap::getWidth
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:179,1
    - Dst: OffsetRgn
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:183,1
    - Dst: SelectClipRgn
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:184,1
    - Dst: AlphaBlend
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:193,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:196,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:196,1
    - Dst: CombineRgn
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:200,1
    - Dst: DeleteObject
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:203,1
    - Dst: DeleteObject
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:204,1
    - Dst: DeleteDC
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:205,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 57
    argCount: 8
    argNames:
    - rBitmap
    - xSrc
    - ySrc
    - xDest
    - yDest
    - width
    - height
    - blend
    argTypes:
    - GenericBitmap
    - int
    - int
    - int
    - int
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 206
    functionName: Win32Graphics::drawBitmap
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp
    functionUses: 0
    functionsReached:
    - Win32Graphics::checkBoundaries
    - Win32Graphics::addSegmentInRegion
    - CreateDIBSection
    - CombineRgn
    - memset
    - GenericBitmap::getWidth
    - DeleteObject
    - DeleteDC
    - GenericBitmap::getHeight
    - AlphaBlend
    - msg_Err
    - getIntf
    - GenericBitmap::getData
    - SelectObject
    - OffsetRgn
    - CreateRectRgn
    - CreateCompatibleDC
    - SelectClipRgn
    linkageType: ''
    returnType: void
    signature: "void Win32Graphics::drawBitmap( const GenericBitmap &rBitmap,\n                                int
      xSrc, int ySrc, int xDest, int yDest,\n                                int width,
      int height, bool blend )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Win32Graphics::checkBoundaries
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:214,1
    - Dst: OSGraphics::getWidth
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:214,1
    - Dst: OSGraphics::getHeight
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:214,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:217,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:217,1
    - Dst: Win32Graphics::checkBoundaries
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:222,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:225,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:225,1
    - Dst: CreateRectRgn
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:230,1
    - Dst: CombineRgn
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:231,1
    - Dst: Win32Graphics::getMask
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:231,1
    - Dst: OffsetRgn
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:232,1
    - Dst: Win32Graphics::getDC
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:235,1
    - Dst: SelectClipRgn
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:236,1
    - Dst: BitBlt
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:237,1
    - Dst: CombineRgn
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:240,1
    - Dst: DeleteObject
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 7
    argNames:
    - rGraphics
    - xSrc
    - ySrc
    - xDest
    - yDest
    - width
    - height
    argTypes:
    - OSGraphics
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 242
    functionName: Win32Graphics::drawGraphics
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp
    functionUses: 0
    functionsReached:
    - Win32Graphics::checkBoundaries
    - CombineRgn
    - OSGraphics::getHeight
    - BitBlt
    - DeleteObject
    - msg_Err
    - getIntf
    - Win32Graphics::getMask
    - Win32Graphics::getDC
    - OffsetRgn
    - OSGraphics::getWidth
    - CreateRectRgn
    - SelectClipRgn
    linkageType: ''
    returnType: void
    signature: "void Win32Graphics::drawGraphics( const OSGraphics &rGraphics, int
      xSrc,\n                                  int ySrc, int xDest, int yDest, int
      width,\n                                  int height )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateRectRgn
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:249,1
    - Dst: CombineRgn
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:250,1
    - Dst: SelectClipRgn
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:251,1
    - Dst: DeleteObject
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:252,1
    - Dst: CreateSolidBrush
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:258,1
    - Dst: RGB
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:258,1
    - Dst: FillRect
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:266,1
    - Dst: DeleteObject
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - left
    - top
    - width
    - height
    - color
    argTypes:
    - int
    - int
    - int
    - int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 268
    functionName: Win32Graphics::fillRect
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp
    functionUses: 0
    functionsReached:
    - CombineRgn
    - RGB
    - CreateSolidBrush
    - DeleteObject
    - FillRect
    - CreateRectRgn
    - SelectClipRgn
    linkageType: ''
    returnType: void
    signature: "void Win32Graphics::fillRect( int left, int top, int width, int height,\n
      \                             uint32_t color )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateRectRgn
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:275,1
    - Dst: CreateRectRgn
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:276,1
    - Dst: CreateRectRgn
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:278,1
    - Dst: CreateRectRgn
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:280,1
    - Dst: CombineRgn
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:281,1
    - Dst: CombineRgn
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:282,1
    - Dst: CombineRgn
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:283,1
    - Dst: CombineRgn
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:284,1
    - Dst: DeleteObject
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:285,1
    - Dst: DeleteObject
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:286,1
    - Dst: DeleteObject
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:287,1
    - Dst: DeleteObject
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:288,1
    - Dst: SelectClipRgn
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:290,1
    - Dst: CreatePen
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:296,1
    - Dst: RGB
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:296,1
    - Dst: SelectObject
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:297,1
    - Dst: MoveToEx
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:300,1
    - Dst: LineTo
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:301,1
    - Dst: LineTo
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:302,1
    - Dst: LineTo
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:303,1
    - Dst: LineTo
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:304,1
    - Dst: DeleteObject
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 5
    argNames:
    - left
    - top
    - width
    - height
    - color
    argTypes:
    - int
    - int
    - int
    - int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 308
    functionName: Win32Graphics::drawRect
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp
    functionUses: 0
    functionsReached:
    - CombineRgn
    - RGB
    - DeleteObject
    - LineTo
    - SelectObject
    - MoveToEx
    - CreateRectRgn
    - CreatePen
    - SelectClipRgn
    linkageType: ''
    returnType: void
    signature: "void Win32Graphics::drawRect( int left, int top, int width, int height,\n
      \                             uint32_t color )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getHandle
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:314,1
    - Dst: CreateRectRgn
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:318,1
    - Dst: CombineRgn
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:319,1
    - Dst: SetWindowRgn
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rWindow
    argTypes:
    - OSWindow
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 321
    functionName: Win32Graphics::applyMaskToWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp
    functionUses: 0
    functionsReached:
    - CreateRectRgn
    - SetWindowRgn
    - CombineRgn
    - getHandle
    linkageType: ''
    returnType: void
    signature: void Win32Graphics::applyMaskToWindow( OSWindow &rWindow )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getHandle
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:328,1
    - Dst: GetDC
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:329,1
    - Dst: BitBlt
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:333,1
    - Dst: ReleaseDC
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - rWindow
    - xSrc
    - ySrc
    - width
    - height
    - xDest
    - yDest
    argTypes:
    - OSWindow
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 337
    functionName: Win32Graphics::copyToWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp
    functionUses: 0
    functionsReached:
    - BitBlt
    - GetDC
    - ReleaseDC
    - getHandle
    linkageType: ''
    returnType: void
    signature: "void Win32Graphics::copyToWindow( OSWindow &rWindow, int xSrc, int
      ySrc,\n                                  int width, int height, int xDest, int
      yDest )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PtInRegion
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 343
    functionName: Win32Graphics::hit
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp
    functionUses: 0
    functionsReached:
    - PtInRegion
    linkageType: ''
    returnType: bool
    signature: bool Win32Graphics::hit( int x, int y ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateRectRgn
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:349,1
    - Dst: CombineRgn
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:350,1
    - Dst: DeleteObject
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - rMask
    - start
    - end
    - line
    argTypes:
    - HRGN
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: Win32Graphics::addSegmentInRegion
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp
    functionUses: 1
    functionsReached:
    - CreateRectRgn
    - DeleteObject
    - CombineRgn
    linkageType: ''
    returnType: void
    signature: "void Win32Graphics::addSegmentInRegion( HRGN &rMask, int start,\n
      \                                       int end, int line )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rect::rect
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:367,1
    - Dst: rect::intersect
      Src: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 8
    argNames:
    - x_src
    - y_src
    - w_src
    - h_src
    - ' x_target'
    - ' y_target'
    - ' w_target'
    - ' h_target'
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 377
    functionName: Win32Graphics::checkBoundaries
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_graphics.cpp
    functionUses: 2
    functionsReached:
    - rect::intersect
    - rect::rect
    linkageType: ''
    returnType: bool
    signature: "bool Win32Graphics::checkBoundaries( int x_src, int y_src,\n                                     int
      w_src, int h_src,\n                                     int& x_target, int&
      y_target,\n                                     int& w_target, int& h_target
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Win32Timer*::execute
      Src: /src/vlc/modules/gui/skins2/win32/win32_timer.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - hwnd
    - uMsg
    - idEvent
    - dwTime
    argTypes:
    - HWND
    - UINT
    - UINT_PTR
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: CallbackTimer
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_timer.cpp
    functionUses: 0
    functionsReached:
    - Win32Timer*::execute
    linkageType: ''
    returnType: void
    signature: "void CallbackTimer( HWND hwnd, UINT uMsg,\n                             UINT_PTR
      idEvent, DWORD dwTime )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pIntf
    - rCmd
    - hWnd
    argTypes:
    - intf_thread_t*
    - CmdGeneric
    - HWND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: Win32Timer::Win32Timer
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_timer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Win32Timer::Win32Timer( intf_thread_t *pIntf, CmdGeneric &rCmd,
      HWND hWnd )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Win32Timer::stop
      Src: /src/vlc/modules/gui/skins2/win32/win32_timer.cpp:47,1
    - Dst: PeekMessage
      Src: /src/vlc/modules/gui/skins2/win32/win32_timer.cpp:52,1
    - Dst: PostMessage
      Src: /src/vlc/modules/gui/skins2/win32/win32_timer.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 57
    functionName: Win32Timer::~Win32Timer()
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_timer.cpp
    functionUses: 0
    functionsReached:
    - Win32Timer::stop
    - PeekMessage
    - PostMessage
    linkageType: ''
    returnType: void
    signature: void Win32Timer::~Win32Timer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetTimer
      Src: /src/vlc/modules/gui/skins2/win32/win32_timer.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - delay
    - oneShot
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: Win32Timer::start
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_timer.cpp
    functionUses: 0
    functionsReached:
    - SetTimer
    linkageType: ''
    returnType: void
    signature: void Win32Timer::start( int delay, bool oneShot )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KillTimer
      Src: /src/vlc/modules/gui/skins2/win32/win32_timer.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: Win32Timer::stop
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_timer.cpp
    functionUses: 1
    functionsReached:
    - KillTimer
    linkageType: ''
    returnType: void
    signature: void Win32Timer::stop()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Win32Timer::execute
      Src: /src/vlc/modules/gui/skins2/win32/win32_timer.cpp:77,1
    - Dst: Win32Timer::stop
      Src: /src/vlc/modules/gui/skins2/win32/win32_timer.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: Win32Timer::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_timer.cpp
    functionUses: 1
    functionsReached:
    - Win32Timer::stop
    - Win32Timer::execute
    linkageType: ''
    returnType: void
    signature: void Win32Timer::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pWnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: Win32Window::setOSHandle
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_window.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOSHandle( vlc_window_t *pWnd ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: Win32Window::getHandle
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_window.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HWND
    signature: HWND getHandle() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: ~Win32DragDrop()
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_dragdrop.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Win32DragDrop()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GetWindowLongPtr
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:58,1
    - Dst: DefWindowProc
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:64,1
    - Dst: test_media_player_multiple_instance
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:67,1
    - Dst: Win32Factory*::getParentWindow
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:70,1
    - Dst: libvlc_Quit
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:77,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:77,1
    - Dst: Win32Factory*::minimize
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:82,1
    - Dst: Win32Factory*::restore
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:87,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:92,1
    - Dst: intf_thread_t*::p_sys::p_theme::getWindowManager
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:100,1
    - Dst: CmdDlgHidePopupMenu::execute
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:102,1
    - Dst: CmdDlgShowPopupMenu::execute
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:108,1
    - Dst: CmdRestore::execute
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:114,1
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:122,1
    - Dst: Win32Loop*::processEvent
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:124,1
    - Dst: DefWindowProc
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:128,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 4
    argNames:
    - hwnd
    - uMsg
    - wParam
    - lParam
    argTypes:
    - HWND
    - UINT
    - WPARAM
    - LPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 129
    functionName: Win32Factory::Win32Proc
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp
    functionUses: 0
    functionsReached:
    - GetWindowLongPtr
    - vlc_object_instance
    - CmdDlgHidePopupMenu::execute
    - DefWindowProc
    - Win32Factory*::getParentWindow
    - msg_Dbg
    - intf_thread_t*::p_sys::p_theme::getWindowManager
    - Win32Factory*::restore
    - Win32Factory*::minimize
    - CmdDlgShowPopupMenu::execute
    - Win32Loop*::processEvent
    - libvlc_Quit
    - CmdRestore::execute
    - test_media_player_multiple_instance
    - OSFactory::instance
    linkageType: ''
    returnType: LRESULT
    signature: "LRESULT Win32Factory::Win32Proc( HWND hwnd, UINT uMsg,\n                                          WPARAM
      wParam, LPARAM lParam )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::list*::push_back
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - hMonitor
    - hdcMonitor
    - lprcMonitor
    - dwData
    argTypes:
    - HMONITOR
    - HDC
    - LPRECT
    - LPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: Win32Factory::MonitorEnumProc
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp
    functionUses: 0
    functionsReached:
    - std::list*::push_back
    linkageType: ''
    returnType: BOOL
    signature: "BOOL Win32Factory::MonitorEnumProc( HMONITOR hMonitor, HDC hdcMonitor,\n
      \                                            LPRECT lprcMonitor, LPARAM dwData
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: Win32Factory::Win32Factory
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Win32Factory::Win32Factory( intf_thread_t *pIntf )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEXT
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:152,1
    - Dst: TEXT
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:153,1
    - Dst: TEXT
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:154,1
    - Dst: GetModuleHandle
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:157,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:160,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:160,1
    - Dst: LoadCursor
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:172,1
    - Dst: LoadIcon
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:173,1
    - Dst: RegisterClass
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:177,1
    - Dst: GetClassInfo
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:183,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:185,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:185,1
    - Dst: CreateWindowEx
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:191,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:196,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:196,1
    - Dst: SetWindowLongPtr
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:201,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:201,1
    - Dst: SetWindowLongPtr
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:205,1
    - Dst: GetWindowLongPtr
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:206,1
    - Dst: ShowWindow
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:209,1
    - Dst: LoadIcon
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:217,1
    - Dst: wcscpy
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:218,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:221,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:221,1
    - Dst: Win32Factory::addInTray
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:223,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:227,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:227,1
    - Dst: Win32Factory::addInTaskBar
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:229,1
    - Dst: OleInitialize
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:233,1
    - Dst: config_GetUserDir
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:236,1
    - Dst: likely
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:237,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:239,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:240,1
    - Dst: config_GetSysPath
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:242,1
    - Dst: likely
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:243,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:245,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:246,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:247,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:248,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:249,1
    - Dst: EnumDisplayMonitors
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:253,1
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:255,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:256,1
    - Dst: GetMonitorInfo
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:260,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:262,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:262,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 272
    functionName: Win32Factory::init
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp
    functionUses: 0
    functionsReached:
    - GetMonitorInfo
    - config_GetSysPath
    - getIntf
    - GetClassInfo
    - RegisterClass
    - TEXT
    - push_back
    - begin
    - msg_Err
    - CreateWindowEx
    - msg_Dbg
    - SetWindowLongPtr
    - LoadCursor
    - var_InheritBool
    - Win32Factory::addInTaskBar
    - LoadIcon
    - OleInitialize
    - likely
    - end
    - Win32Factory::addInTray
    - ShowWindow
    - EnumDisplayMonitors
    - wcscpy
    - GetModuleHandle
    - GetWindowLongPtr
    - free
    - config_GetUserDir
    linkageType: ''
    returnType: bool
    signature: bool Win32Factory::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OleUninitialize
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:278,1
    - Dst: Win32Factory::removeFromTray
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:281,1
    - Dst: DestroyWindow
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 284
    functionName: Win32Factory::~Win32Factory()
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp
    functionUses: 0
    functionsReached:
    - Win32Factory::removeFromTray
    - OleUninitialize
    - DestroyWindow
    linkageType: ''
    returnType: void
    signature: void Win32Factory::~Win32Factory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:289,1
    - Dst: Win32Graphics::Win32Graphics
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - width
    - height
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: Win32Factory::createOSGraphics
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp
    functionUses: 0
    functionsReached:
    - Win32Graphics::Win32Graphics
    - getIntf
    linkageType: ''
    returnType: OSGraphics
    signature: OSGraphics *Win32Factory::createOSGraphics( int width, int height )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Win32Loop::instance
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:295,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: Win32Factory::getOSLoop
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp
    functionUses: 0
    functionsReached:
    - Win32Loop::instance
    - getIntf
    linkageType: ''
    returnType: OSLoop
    signature: OSLoop *Win32Factory::getOSLoop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Win32Loop::destroy
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:301,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 302
    functionName: Win32Factory::destroyOSLoop
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp
    functionUses: 0
    functionsReached:
    - Win32Loop::destroy
    - getIntf
    linkageType: ''
    returnType: void
    signature: void Win32Factory::destroyOSLoop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:307,1
    - Dst: p_theme::getWindowManager
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:307,1
    - Dst: ShowWindow
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 310
    functionName: Win32Factory::minimize
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - ShowWindow
    - p_theme::getWindowManager
    linkageType: ''
    returnType: void
    signature: void Win32Factory::minimize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShowWindow
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: Win32Factory::restore
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp
    functionUses: 0
    functionsReached:
    - ShowWindow
    linkageType: ''
    returnType: void
    signature: void Win32Factory::restore()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Shell_NotifyIcon
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 320
    functionName: Win32Factory::addInTray
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp
    functionUses: 1
    functionsReached:
    - Shell_NotifyIcon
    linkageType: ''
    returnType: void
    signature: void Win32Factory::addInTray()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Shell_NotifyIcon
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: Win32Factory::removeFromTray
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp
    functionUses: 1
    functionsReached:
    - Shell_NotifyIcon
    linkageType: ''
    returnType: void
    signature: void Win32Factory::removeFromTray()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShowWindow
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:329,1
    - Dst: SetWindowLongPtr
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:330,1
    - Dst: ShowWindow
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 333
    functionName: Win32Factory::addInTaskBar
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp
    functionUses: 1
    functionsReached:
    - SetWindowLongPtr
    - ShowWindow
    linkageType: ''
    returnType: void
    signature: void Win32Factory::addInTaskBar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShowWindow
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:337,1
    - Dst: SetWindowLongPtr
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:338,1
    - Dst: ShowWindow
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 341
    functionName: Win32Factory::removeFromTaskBar
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp
    functionUses: 0
    functionsReached:
    - SetWindowLongPtr
    - ShowWindow
    linkageType: ''
    returnType: void
    signature: void Win32Factory::removeFromTaskBar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:345,1
    - Dst: Win32Timer::Win32Timer
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rCmd
    argTypes:
    - CmdGeneric
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 346
    functionName: Win32Factory::createOSTimer
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - Win32Timer::Win32Timer
    linkageType: ''
    returnType: OSTimer
    signature: OSTimer *Win32Factory::createOSTimer( CmdGeneric &rCmd )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:353,1
    - Dst: Win32Window::Win32Window
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rWindow
    - dragDrop
    - pParent
    - type
    argTypes:
    - GenericWindow
    - bool
    - OSWindow*
    - GenericWindow::WindowType_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 355
    functionName: Win32Factory::createOSWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - Win32Window::Win32Window
    linkageType: ''
    returnType: OSWindow
    signature: "OSWindow *Win32Factory::createOSWindow( GenericWindow &rWindow, bool
      dragDrop,\n                                        bool, OSWindow *pParent,\n
      \                                       GenericWindow::WindowType_t type )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:360,1
    - Dst: Win32Tooltip::Win32Tooltip
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: Win32Factory::createOSTooltip
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - Win32Tooltip::Win32Tooltip
    linkageType: ''
    returnType: OSTooltip
    signature: OSTooltip *Win32Factory::createOSTooltip()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:371,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:371,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:373,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:373,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:377,1
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:377,1
    - Dst: Win32Popup::Win32Popup
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 378
    functionName: Win32Factory::createOSPopup
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp
    functionUses: 0
    functionsReached:
    - begin
    - msg_Err
    - getIntf
    - Win32Popup::Win32Popup
    - end
    linkageType: ''
    returnType: OSPopup
    signature: OSPopup *Win32Factory::createOSPopup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 384
    functionName: Win32Factory::getScreenWidth
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp
    functionUses: 0
    functionsReached:
    - GetSystemMetrics
    linkageType: ''
    returnType: int
    signature: int Win32Factory::getScreenWidth() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: Win32Factory::getScreenHeight
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp
    functionUses: 0
    functionsReached:
    - GetSystemMetrics
    linkageType: ''
    returnType: int
    signature: int Win32Factory::getScreenHeight() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Win32Window*::getHandle
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:398,1
    - Dst: MonitorFromWindow
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:399,1
    - Dst: GetMonitorInfo
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:402,1
    - Dst: Win32Factory::getScreenWidth
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:413,1
    - Dst: Win32Factory::getScreenHeight
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - pWindow
    - p_x
    - p_y
    - p_width
    - p_height
    argTypes:
    - OSWindow*
    - int*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 416
    functionName: Win32Factory::getMonitorInfo
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp
    functionUses: 0
    functionsReached:
    - Win32Factory::getScreenWidth
    - GetMonitorInfo
    - Win32Window*::getHandle
    - Win32Factory::getScreenHeight
    - MonitorFromWindow
    linkageType: ''
    returnType: void
    signature: "void Win32Factory::getMonitorInfo( OSWindow *pWindow,\n                                   int*
      p_x, int* p_y,\n                                   int* p_width, int* p_height
      ) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:423,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:424,1
    - Dst: GetMonitorInfo
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:434,1
    - Dst: Win32Factory::getScreenWidth
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:445,1
    - Dst: Win32Factory::getScreenHeight
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:446,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - numScreen
    - p_x
    - p_y
    - p_width
    - p_height
    argTypes:
    - int
    - int*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 448
    functionName: Win32Factory::getMonitorInfo
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp
    functionUses: 0
    functionsReached:
    - Win32Factory::getScreenWidth
    - begin
    - GetMonitorInfo
    - Win32Factory::getScreenHeight
    - end
    linkageType: ''
    returnType: void
    signature: "void Win32Factory::getMonitorInfo( int numScreen, int* p_x, int* p_y,\n
      \                                  int* p_width, int* p_height ) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SystemParametersInfo
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:454,1
    - Dst: SkinsRect
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 457
    functionName: Win32Factory::getWorkArea
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp
    functionUses: 0
    functionsReached:
    - SystemParametersInfo
    - SkinsRect
    linkageType: ''
    returnType: SkinsRect
    signature: SkinsRect Win32Factory::getWorkArea() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetCursorPos
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rXPos
    - rYPos
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 466
    functionName: Win32Factory::getMousePos
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp
    functionUses: 0
    functionsReached:
    - GetCursorPos
    linkageType: ''
    returnType: void
    signature: void Win32Factory::getMousePos( int &rXPos, int &rYPos ) const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LoadCursor
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:483,1
    - Dst: SetCursor
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:484,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - type
    argTypes:
    - CursorType_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 485
    functionName: Win32Factory::changeCursor
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp
    functionUses: 0
    functionsReached:
    - SetCursor
    - LoadCursor
    linkageType: ''
    returnType: void
    signature: void Win32Factory::changeCursor( CursorType_t type ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToWide
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:490,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:490,1
    - Dst: wcslen
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:491,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:493,1
    - Dst: wcsncpy
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:494,1
    - Dst: SHFileOperationW
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:508,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:510,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rPath
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 512
    functionName: Win32Factory::rmDir
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_factory.cpp
    functionUses: 0
    functionsReached:
    - wcsncpy
    - std::string::c_str
    - free
    - wcslen
    - SHFileOperationW
    - vlc_alloc
    - ToWide
    linkageType: ''
    returnType: void
    signature: void Win32Factory::rmDir( const std::string &rPath )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateWindowEx
      Src: /src/vlc/modules/gui/skins2/win32/win32_tooltip.cpp:35,1
    - Dst: TEXT
      Src: /src/vlc/modules/gui/skins2/win32/win32_tooltip.cpp:36,1
    - Dst: TEXT
      Src: /src/vlc/modules/gui/skins2/win32/win32_tooltip.cpp:36,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/win32/win32_tooltip.cpp:42,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/win32/win32_tooltip.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pIntf
    - hInst
    - hParentWindow
    argTypes:
    - intf_thread_t*
    - HINSTANCE
    - HWND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 44
    functionName: Win32Tooltip::Win32Tooltip
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_tooltip.cpp
    functionUses: 1
    functionsReached:
    - CreateWindowEx
    - getIntf
    - TEXT
    - msg_Err
    linkageType: ''
    returnType: void
    signature: "void Win32Tooltip::Win32Tooltip( intf_thread_t *pIntf, HINSTANCE hInst,\n
      \                           HWND hParentWindow )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DestroyWindow
      Src: /src/vlc/modules/gui/skins2/win32/win32_tooltip.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: Win32Tooltip::~Win32Tooltip()
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_tooltip.cpp
    functionUses: 0
    functionsReached:
    - DestroyWindow
    linkageType: ''
    returnType: void
    signature: void Win32Tooltip::~Win32Tooltip()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDC
      Src: /src/vlc/modules/gui/skins2/win32/win32_tooltip.cpp:57,1
    - Dst: OSGraphics::getWidth
      Src: /src/vlc/modules/gui/skins2/win32/win32_tooltip.cpp:58,1
    - Dst: OSGraphics::getHeight
      Src: /src/vlc/modules/gui/skins2/win32/win32_tooltip.cpp:59,1
    - Dst: SetWindowPos
      Src: /src/vlc/modules/gui/skins2/win32/win32_tooltip.cpp:64,1
    - Dst: GetDC
      Src: /src/vlc/modules/gui/skins2/win32/win32_tooltip.cpp:67,1
    - Dst: BitBlt
      Src: /src/vlc/modules/gui/skins2/win32/win32_tooltip.cpp:68,1
    - Dst: ReleaseDC
      Src: /src/vlc/modules/gui/skins2/win32/win32_tooltip.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - left
    - top
    - rText
    argTypes:
    - int
    - int
    - OSGraphics
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 70
    functionName: Win32Tooltip::show
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_tooltip.cpp
    functionUses: 0
    functionsReached:
    - SetWindowPos
    - OSGraphics::getHeight
    - BitBlt
    - getDC
    - ReleaseDC
    - OSGraphics::getWidth
    - GetDC
    linkageType: ''
    returnType: void
    signature: void Win32Tooltip::show( int left, int top, OSGraphics &rText )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShowWindow
      Src: /src/vlc/modules/gui/skins2/win32/win32_tooltip.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: Win32Tooltip::hide
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_tooltip.cpp
    functionUses: 0
    functionsReached:
    - ShowWindow
    linkageType: ''
    returnType: void
    signature: void Win32Tooltip::hide()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreatePopupMenu
      Src: /src/vlc/modules/gui/skins2/win32/win32_popup.cpp:39,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/win32/win32_popup.cpp:43,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/win32/win32_popup.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pIntf
    - hAssociatedWindow
    argTypes:
    - intf_thread_t*
    - HWND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: Win32Popup::Win32Popup
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_popup.cpp
    functionUses: 1
    functionsReached:
    - getIntf
    - CreatePopupMenu
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void Win32Popup::Win32Popup( intf_thread_t *pIntf, HWND hAssociatedWindow
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DestroyMenu
      Src: /src/vlc/modules/gui/skins2/win32/win32_popup.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: Win32Popup::~Win32Popup()
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_popup.cpp
    functionUses: 0
    functionsReached:
    - DestroyMenu
    linkageType: ''
    returnType: void
    signature: void Win32Popup::~Win32Popup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrackPopupMenuEx
      Src: /src/vlc/modules/gui/skins2/win32/win32_popup.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - xPos
    - yPos
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: Win32Popup::show
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_popup.cpp
    functionUses: 0
    functionsReached:
    - TrackPopupMenuEx
    linkageType: ''
    returnType: void
    signature: void Win32Popup::show( int xPos, int yPos )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SendMessage
      Src: /src/vlc/modules/gui/skins2/win32/win32_popup.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: Win32Popup::hide
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_popup.cpp
    functionUses: 0
    functionsReached:
    - SendMessage
    linkageType: ''
    returnType: void
    signature: void Win32Popup::hide()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToWide
      Src: /src/vlc/modules/gui/skins2/win32/win32_popup.cpp:78,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/win32/win32_popup.cpp:78,1
    - Dst: std::string::size
      Src: /src/vlc/modules/gui/skins2/win32/win32_popup.cpp:79,1
    - Dst: InsertMenuItem
      Src: /src/vlc/modules/gui/skins2/win32/win32_popup.cpp:81,1
    - Dst: Win32Popup::findInsertionPoint
      Src: /src/vlc/modules/gui/skins2/win32/win32_popup.cpp:81,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/win32/win32_popup.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - rLabel
    - pos
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: Win32Popup::addItem
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_popup.cpp
    functionUses: 0
    functionsReached:
    - Win32Popup::findInsertionPoint
    - std::string::size
    - std::string::c_str
    - free
    - ToWide
    - InsertMenuItem
    linkageType: ''
    returnType: void
    signature: void Win32Popup::addItem( const std::string &rLabel, int pos )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InsertMenuItem
      Src: /src/vlc/modules/gui/skins2/win32/win32_popup.cpp:93,1
    - Dst: Win32Popup::findInsertionPoint
      Src: /src/vlc/modules/gui/skins2/win32/win32_popup.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pos
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: Win32Popup::addSeparator
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_popup.cpp
    functionUses: 0
    functionsReached:
    - Win32Popup::findInsertionPoint
    - InsertMenuItem
    linkageType: ''
    returnType: void
    signature: void Win32Popup::addSeparator( int pos )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetMenuItemCount
      Src: /src/vlc/modules/gui/skins2/win32/win32_popup.cpp:102,1
    - Dst: GetMenuItemID
      Src: /src/vlc/modules/gui/skins2/win32/win32_popup.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pos
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 108
    functionName: Win32Popup::findInsertionPoint
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_popup.cpp
    functionUses: 2
    functionsReached:
    - GetMenuItemID
    - GetMenuItemCount
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int Win32Popup::findInsertionPoint( unsigned int pos ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: GET_X_LPARAM
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_X_LPARAM(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: GET_Y_LPARAM
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_Y_LPARAM(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KEY_F
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:61,1
    - Dst: KEY_F
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:62,1
    - Dst: KEY_F
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:63,1
    - Dst: KEY_F
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:64,1
    - Dst: KEY_F
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:65,1
    - Dst: KEY_F
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:66,1
    - Dst: KEY_F
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:67,1
    - Dst: KEY_F
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:68,1
    - Dst: KEY_F
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:69,1
    - Dst: KEY_F
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:70,1
    - Dst: KEY_F
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:71,1
    - Dst: KEY_F
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 52
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 100
    functionName: Win32Loop::Win32Loop
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp
    functionUses: 0
    functionsReached:
    - KEY_F
    linkageType: ''
    returnType: void
    signature: void Win32Loop::Win32Loop( intf_thread_t *pIntf )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Win32Loop>
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:106,1
    - Dst: intf_thread_t*::p_sys::p_osLoop::get
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: Win32Loop::instance
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<Win32Loop>
    - intf_thread_t*::p_sys::p_osLoop::get
    linkageType: ''
    returnType: OSLoop
    signature: OSLoop *Win32Loop::instance( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:113,1
    - Dst: intf_thread_t*::p_sys::p_osLoop::reset
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts:
    - condition: (pIntf->p_sys->p_osLoop)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: Win32Loop::destroy
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp
    functionUses: 1
    functionsReached:
    - intf_thread_t*::p_sys::p_osLoop::reset
    - assert
    linkageType: ''
    returnType: void
    signature: void Win32Loop::destroy( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetMessage
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:123,1
    - Dst: TranslateMessage
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:125,1
    - Dst: DispatchMessage
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 128
    functionName: Win32Loop::run
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp
    functionUses: 0
    functionsReached:
    - GetMessage
    - TranslateMessage
    - DispatchMessage
    linkageType: ''
    returnType: void
    signature: void Win32Loop::run()
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: test_media_player_multiple_instance
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:135,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:135,1
    - Dst: BeginPaint
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:144,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:145,1
    - Dst: GenericWindow::processEvent
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:150,1
    - Dst: EndPaint
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:151,1
    - Dst: GenericWindow::processEvent
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:157,1
    - Dst: TrackMouseEvent
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:168,1
    - Dst: GET_X_LPARAM
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:171,1
    - Dst: GenericWindow::getLeft
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:171,1
    - Dst: GET_Y_LPARAM
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:172,1
    - Dst: GenericWindow::getTop
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:172,1
    - Dst: GenericWindow::processEvent
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:174,1
    - Dst: GenericWindow::processEvent
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:180,1
    - Dst: GET_X_LPARAM
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:185,1
    - Dst: GenericWindow::getLeft
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:185,1
    - Dst: GET_Y_LPARAM
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:186,1
    - Dst: GenericWindow::getTop
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:186,1
    - Dst: Win32Loop::getMod
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:187,1
    - Dst: GET_WHEEL_DELTA_WPARAM
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:188,1
    - Dst: GenericWindow::processEvent
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:191,1
    - Dst: GenericWindow::processEvent
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:196,1
    - Dst: SetCapture
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:202,1
    - Dst: GenericWindow::processEvent
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:206,1
    - Dst: SetCapture
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:211,1
    - Dst: GenericWindow::processEvent
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:215,1
    - Dst: ReleaseCapture
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:220,1
    - Dst: GenericWindow::processEvent
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:224,1
    - Dst: ReleaseCapture
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:229,1
    - Dst: GenericWindow::processEvent
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:233,1
    - Dst: ReleaseCapture
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:238,1
    - Dst: GenericWindow::processEvent
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:242,1
    - Dst: ReleaseCapture
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:247,1
    - Dst: GenericWindow::processEvent
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:251,1
    - Dst: tolower
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:268,1
    - Dst: MapVirtualKey
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:268,1
    - Dst: GetKeyState
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:275,1
    - Dst: GetKeyState
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:279,1
    - Dst: GetKeyState
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:283,1
    - Dst: GenericWindow::processEvent
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:301,1
    - Dst: DefWindowProc
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:308,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 93
    argCount: 4
    argNames:
    - hwnd
    - msg
    - wParam
    - lParam
    argTypes:
    - HWND
    - UINT
    - WPARAM
    - LPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 309
    functionName: Win32Loop::processEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp
    functionUses: 0
    functionsReached:
    - GET_X_LPARAM
    - GenericWindow::getLeft
    - TrackMouseEvent
    - GET_Y_LPARAM
    - GET_WHEEL_DELTA_WPARAM
    - ReleaseCapture
    - MapVirtualKey
    - GetKeyState
    - Win32Loop::getMod
    - GenericWindow::getTop
    - tolower
    - DefWindowProc
    - EndPaint
    - getIntf
    - SetCapture
    - test_media_player_multiple_instance
    - BeginPaint
    - GenericWindow::processEvent
    linkageType: ''
    returnType: LRESULT
    signature: "LRESULT Win32Loop::processEvent( HWND hwnd, UINT msg,\n                                          WPARAM
      wParam, LPARAM lParam )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - wParam
    argTypes:
    - WPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 321
    functionName: Win32Loop::getMod
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Win32Loop::getMod( WPARAM wParam ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PostQuitMessage
      Src: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: Win32Loop::exit
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_loop.cpp
    functionUses: 0
    functionsReached:
    - PostQuitMessage
    linkageType: ''
    returnType: void
    signature: void Win32Loop::exit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: Win32Popup::getPosFromId
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_popup.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getPosFromId( int id ) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: test_media_player_multiple_instance
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:55,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:55,1
    - Dst: TEXT
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:57,1
    - Dst: TEXT
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:58,1
    - Dst: Win32Window*::getHandle
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:64,1
    - Dst: CreateWindowEx
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:65,1
    - Dst: CreateWindowEx
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:73,1
    - Dst: VoutManager::instance
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:79,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:79,1
    - Dst: VoutManager*::getVoutMainWindow
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:81,1
    - Dst: GenericWindow*::getOSWindow
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:83,1
    - Dst: Win32Window*::getHandle
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:84,1
    - Dst: CreateWindowEx
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:87,1
    - Dst: Win32Factory*::getParentWindow
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:94,1
    - Dst: CreateWindowEx
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:95,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:102,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:102,1
    - Dst: SetWindowLongPtr
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:107,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:107,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:116,1
    - Dst: Win32DragDrop::Win32DragDrop
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:116,1
    - Dst: RegisterDragDrop
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 7
    argNames:
    - pIntf
    - rWindow
    - hInst
    - hParentWindow
    - dragDrop
    - pParentWindow
    - type
    argTypes:
    - intf_thread_t*
    - GenericWindow
    - HINSTANCE
    - HWND
    - bool
    - Win32Window*
    - GenericWindow::WindowType_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 120
    functionName: Win32Window::Win32Window
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_window.cpp
    functionUses: 1
    functionsReached:
    - Win32DragDrop::Win32DragDrop
    - TEXT
    - RegisterDragDrop
    - Win32Window*::getHandle
    - VoutManager::instance
    - VoutManager*::getVoutMainWindow
    - msg_Err
    - CreateWindowEx
    - Win32Factory*::getParentWindow
    - getIntf
    - SetWindowLongPtr
    - GenericWindow*::getOSWindow
    - test_media_player_multiple_instance
    linkageType: ''
    returnType: void
    signature: "void Win32Window::Win32Window( intf_thread_t *pIntf, GenericWindow
      &rWindow,\n                          HINSTANCE hInst, HWND hParentWindow,\n
      \                         bool dragDrop,\n                          Win32Window
      *pParentWindow,\n                          GenericWindow::WindowType_t type
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_media_player_multiple_instance
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:125,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:125,1
    - Dst: RevokeDragDrop
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:133,1
    - Dst: Release
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:134,1
    - Dst: DestroyWindow
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 139
    functionName: Win32Window::~Win32Window()
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_window.cpp
    functionUses: 0
    functionsReached:
    - DestroyWindow
    - Release
    - RevokeDragDrop
    - getIntf
    - test_media_player_multiple_instance
    linkageType: ''
    returnType: void
    signature: void Win32Window::~Win32Window()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetParent
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:146,1
    - Dst: Win32Window*::getHandle
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:146,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:147,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:147,1
    - Dst: GetLastError
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:147,1
    - Dst: MoveWindow
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - parent
    - x
    - y
    - w
    - h
    argTypes:
    - OSWindow*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: Win32Window::reparent
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_window.cpp
    functionUses: 0
    functionsReached:
    - SetParent
    - Win32Window*::getHandle
    - GetLastError
    - msg_Err
    - getIntf
    - MoveWindow
    linkageType: ''
    returnType: void
    signature: void Win32Window::reparent( OSWindow* parent, int x, int y, int w,
      int h )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InvalidateRect
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:155,1
    - Dst: UpdateWindow
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - x
    - y
    - w
    - h
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: Win32Window::invalidateRect
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_window.cpp
    functionUses: 0
    functionsReached:
    - InvalidateRect
    - UpdateWindow
    linkageType: ''
    returnType: bool
    signature: bool Win32Window::invalidateRect( int x, int y, int w, int h) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SetWindowPos
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:167,1
    - Dst: SetWindowPos
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:172,1
    - Dst: ShowWindow
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 177
    functionName: Win32Window::show
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_window.cpp
    functionUses: 0
    functionsReached:
    - SetWindowPos
    - ShowWindow
    linkageType: ''
    returnType: void
    signature: void Win32Window::show() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShowWindow
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: Win32Window::hide
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_window.cpp
    functionUses: 0
    functionsReached:
    - ShowWindow
    linkageType: ''
    returnType: void
    signature: void Win32Window::hide() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MoveWindow
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - left
    - top
    - width
    - height
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: Win32Window::moveResize
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_window.cpp
    functionUses: 0
    functionsReached:
    - MoveWindow
    linkageType: ''
    returnType: void
    signature: void Win32Window::moveResize( int left, int top, int width, int height
      ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetForegroundWindow
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: Win32Window::raise
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_window.cpp
    functionUses: 0
    functionsReached:
    - SetForegroundWindow
    linkageType: ''
    returnType: void
    signature: void Win32Window::raise() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetWindowLongPtr
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:204,1
    - Dst: GetWindowLongPtr
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:205,1
    - Dst: SetLayeredWindowAttributes
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 212
    functionName: Win32Window::setOpacity
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_window.cpp
    functionUses: 0
    functionsReached:
    - SetWindowLongPtr
    - GetWindowLongPtr
    - SetLayeredWindowAttributes
    linkageType: ''
    returnType: void
    signature: void Win32Window::setOpacity( uint8_t value ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetWindowPos
      Src: /src/vlc/modules/gui/skins2/win32/win32_window.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - onTop
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: Win32Window::toggleOnTop
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_window.cpp
    functionUses: 0
    functionsReached:
    - SetWindowPos
    linkageType: ''
    returnType: void
    signature: void Win32Window::toggleOnTop( bool onTop ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: '&getDirSeparator() const'
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_factory.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &getDirSeparator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: '&getResourcePath() const'
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_factory.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::list<std::string>
    signature: std::list<std::string> &getResourcePath() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: Win32Factory::getParentWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/win32/win32_factory.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HWND
    signature: HWND getParentWindow()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme.hpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: Theme::Theme
    functionSourceFile: /src/vlc/modules/gui/skins2/src/theme.hpp
    functionUses: 0
    functionsReached:
    - getIntf
    linkageType: ''
    returnType: void
    signature: void Theme( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: ObjByID
    functionSourceFile: /src/vlc/modules/gui/skins2/src/theme.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ObjByID( var )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: '&getWindowManager()'
    functionSourceFile: /src/vlc/modules/gui/skins2/src/theme.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WindowManager
    signature: WindowManager &getWindowManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ks_find
      Src: /src/vlc/modules/gui/skins2/src/theme.hpp:81,1
    - Dst: ErrorCheckerSend
      Src: /src/vlc/modules/gui/skins2/src/theme.hpp:82,1
    - Dst: typename parent::const_iterator::second::get
      Src: /src/vlc/modules/gui/skins2/src/theme.hpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: Theme::IDmap::find_object
    functionSourceFile: /src/vlc/modules/gui/skins2/src/theme.hpp
    functionUses: 0
    functionsReached:
    - ks_find
    - typename parent::const_iterator::second::get
    - ErrorCheckerSend
    linkageType: ''
    returnType: typename T::pointer
    signature: typename T::pointer find_object(const std::string &id) const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 3
    argNames:
    - pIntf
    - rBitmap
    - rType
    argTypes:
    - intf_thread_t*
    - GenericBitmap
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 78
    functionName: BitmapFont::BitmapFont
    functionSourceFile: /src/vlc/modules/gui/skins2/src/bitmap_font.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void BitmapFont::BitmapFont( intf_thread_t *pIntf, const GenericBitmap
      &rBitmap,\n                        const std::string &rType )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UString::u_str
      Src: /src/vlc/modules/gui/skins2/src/bitmap_font.cpp:86,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/bitmap_font.cpp:102,1
    - Dst: BitmapImpl::BitmapImpl
      Src: /src/vlc/modules/gui/skins2/src/bitmap_font.cpp:102,1
    - Dst: BitmapImpl*::drawBitmap
      Src: /src/vlc/modules/gui/skins2/src/bitmap_font.cpp:109,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/skins2/src/bitmap_font.cpp:113,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/bitmap_font.cpp:113,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - rString
    - color
    - maxWidth
    argTypes:
    - UString
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 122
    functionName: BitmapFont::drawString
    functionSourceFile: /src/vlc/modules/gui/skins2/src/bitmap_font.cpp
    functionUses: 0
    functionsReached:
    - BitmapImpl::BitmapImpl
    - getIntf
    - msg_Warn
    - UString::u_str
    - BitmapImpl*::drawBitmap
    linkageType: ''
    returnType: GenericBitmap
    signature: "GenericBitmap *BitmapFont::drawString( const UString &rString,\n                                       uint32_t
      color, int maxWidth ) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~OSPopup()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/os_popup.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~OSPopup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: OSPopup::OSPopup
    functionSourceFile: /src/vlc/modules/gui/skins2/src/os_popup.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OSPopup( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: FT2Bitmap::getWidth
    functionSourceFile: /src/vlc/modules/gui/skins2/src/ft2_bitmap.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getWidth() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: FT2Bitmap::getHeight
    functionSourceFile: /src/vlc/modules/gui/skins2/src/ft2_bitmap.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getHeight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: FT2Bitmap::getData
    functionSourceFile: /src/vlc/modules/gui/skins2/src/ft2_bitmap.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *getData() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Anchor::getXPosAbs
      Src: /src/vlc/modules/gui/skins2/src/anchor.cpp:34,1
    - Dst: Anchor::getXPosAbs
      Src: /src/vlc/modules/gui/skins2/src/anchor.cpp:34,1
    - Dst: Anchor::getYPosAbs
      Src: /src/vlc/modules/gui/skins2/src/anchor.cpp:35,1
    - Dst: Anchor::getYPosAbs
      Src: /src/vlc/modules/gui/skins2/src/anchor.cpp:35,1
    - Dst: Anchor::isPoint
      Src: /src/vlc/modules/gui/skins2/src/anchor.cpp:38,1
    - Dst: Anchor::m_rCurve::getMinDist
      Src: /src/vlc/modules/gui/skins2/src/anchor.cpp:38,1
    - Dst: Anchor::isPoint
      Src: /src/vlc/modules/gui/skins2/src/anchor.cpp:39,1
    - Dst: getMinDist
      Src: /src/vlc/modules/gui/skins2/src/anchor.cpp:39,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - rOther
    argTypes:
    - Anchor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: Anchor::isHanging
    functionSourceFile: /src/vlc/modules/gui/skins2/src/anchor.cpp
    functionUses: 0
    functionsReached:
    - Anchor::isPoint
    - Anchor::getXPosAbs
    - Anchor::getYPosAbs
    - Anchor::m_rCurve::getMinDist
    - getMinDist
    linkageType: ''
    returnType: bool
    signature: bool Anchor::isHanging( const Anchor &rOther ) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Anchor::getXPosAbs
      Src: /src/vlc/modules/gui/skins2/src/anchor.cpp:45,1
    - Dst: Anchor::getXPosAbs
      Src: /src/vlc/modules/gui/skins2/src/anchor.cpp:45,1
    - Dst: Anchor::getYPosAbs
      Src: /src/vlc/modules/gui/skins2/src/anchor.cpp:46,1
    - Dst: Anchor::getYPosAbs
      Src: /src/vlc/modules/gui/skins2/src/anchor.cpp:46,1
    - Dst: Anchor::isPoint
      Src: /src/vlc/modules/gui/skins2/src/anchor.cpp:49,1
    - Dst: Anchor::m_rCurve::getMinDist
      Src: /src/vlc/modules/gui/skins2/src/anchor.cpp:49,1
    - Dst: Anchor::m_rCurve::getNearestPercent
      Src: /src/vlc/modules/gui/skins2/src/anchor.cpp:53,1
    - Dst: Anchor::m_rCurve::getPoint
      Src: /src/vlc/modules/gui/skins2/src/anchor.cpp:54,1
    - Dst: Anchor::getXPosAbs
      Src: /src/vlc/modules/gui/skins2/src/anchor.cpp:56,1
    - Dst: Anchor::getXPosAbs
      Src: /src/vlc/modules/gui/skins2/src/anchor.cpp:56,1
    - Dst: Anchor::getYPosAbs
      Src: /src/vlc/modules/gui/skins2/src/anchor.cpp:57,1
    - Dst: Anchor::getYPosAbs
      Src: /src/vlc/modules/gui/skins2/src/anchor.cpp:57,1
    - Dst: Anchor::isPoint
      Src: /src/vlc/modules/gui/skins2/src/anchor.cpp:60,1
    - Dst: getMinDist
      Src: /src/vlc/modules/gui/skins2/src/anchor.cpp:61,1
    - Dst: getNearestPercent
      Src: /src/vlc/modules/gui/skins2/src/anchor.cpp:65,1
    - Dst: getPoint
      Src: /src/vlc/modules/gui/skins2/src/anchor.cpp:66,1
    - Dst: Anchor::getXPosAbs
      Src: /src/vlc/modules/gui/skins2/src/anchor.cpp:68,1
    - Dst: Anchor::getXPosAbs
      Src: /src/vlc/modules/gui/skins2/src/anchor.cpp:68,1
    - Dst: Anchor::getYPosAbs
      Src: /src/vlc/modules/gui/skins2/src/anchor.cpp:69,1
    - Dst: Anchor::getYPosAbs
      Src: /src/vlc/modules/gui/skins2/src/anchor.cpp:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - rOther
    - xOffset
    - yOffset
    argTypes:
    - Anchor
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 76
    functionName: Anchor::canHang
    functionSourceFile: /src/vlc/modules/gui/skins2/src/anchor.cpp
    functionUses: 0
    functionsReached:
    - Anchor::isPoint
    - getPoint
    - Anchor::getXPosAbs
    - Anchor::m_rCurve::getPoint
    - Anchor::getYPosAbs
    - Anchor::m_rCurve::getNearestPercent
    - getNearestPercent
    - Anchor::m_rCurve::getMinDist
    - getMinDist
    linkageType: ''
    returnType: bool
    signature: bool Anchor::canHang( const Anchor &rOther, int &xOffset, int &yOffset
      ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:33,1
    - Dst: clear
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:34,1
    - Dst: clear
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:35,1
    - Dst: clear
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:36,1
    - Dst: clear
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:37,1
    - Dst: clear
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:38,1
    - Dst: clear
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:39,1
    - Dst: clear
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: Theme::~Theme()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/theme.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void Theme::~Theme()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:46,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:46,1
    - Dst: Theme::readConfig
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:48,1
    - Dst: Theme::applyConfig
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:50,1
    - Dst: getWindowManager
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 56
    functionName: Theme::loadConfig
    functionSourceFile: /src/vlc/modules/gui/skins2/src/theme.cpp
    functionUses: 0
    functionsReached:
    - Theme::applyConfig
    - getIntf
    - msg_Dbg
    - getWindowManager
    - Theme::readConfig
    linkageType: ''
    returnType: void
    signature: void Theme::loadConfig()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:61,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:61,1
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:64,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:64,1
    - Dst: setActiveLayout
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:74,1
    - Dst: GenericLayout*::getWidth
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:75,1
    - Dst: GenericLayout*::getHeight
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:76,1
    - Dst: startResize
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:78,1
    - Dst: resize
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:79,1
    - Dst: stopResize
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:80,1
    - Dst: startMove
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:83,1
    - Dst: move
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:84,1
    - Dst: stopMove
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:85,1
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:88,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:88,1
    - Dst: show
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 93
    functionName: Theme::applyConfig
    functionSourceFile: /src/vlc/modules/gui/skins2/src/theme.cpp
    functionUses: 1
    functionsReached:
    - startMove
    - setActiveLayout
    - startResize
    - resize
    - show
    - begin
    - GenericLayout*::getHeight
    - move
    - getIntf
    - msg_Dbg
    - GenericLayout*::getWidth
    - end
    - stopResize
    - stopMove
    linkageType: ''
    returnType: void
    signature: void Theme::applyConfig()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:98,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:98,1
    - Dst: config_GetPsz
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:101,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:104,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:109,1
    - Dst: std::istringstream::eof
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:115,1
    - Dst: std::istringstream::get
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:126,1
    - Dst: std::stringbuf::str
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:127,1
    - Dst: std::istringstream::get
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:133,1
    - Dst: str
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:134,1
    - Dst: find
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:144,1
    - Dst: find
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:145,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:146,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:146,1
    - Dst: std::map<std::string, TopWindowPtr>::const_iterator::second::get
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:150,1
    - Dst: std::map<std::string, GenericLayoutPtr>::const_iterator::second::get
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:151,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:158,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:170,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:170,1
    - Dst: std::istringstream::str
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:170,1
    - Dst: clear
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:171,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 173
    functionName: Theme::readConfig
    functionSourceFile: /src/vlc/modules/gui/skins2/src/theme.cpp
    functionUses: 1
    functionsReached:
    - std::istringstream::eof
    - std::istringstream::str
    - std::istringstream::get
    - push_back
    - end
    - clear
    - std::stringbuf::str
    - free
    - getIntf
    - msg_Dbg
    - str
    - config_GetPsz
    - std::map<std::string, GenericLayoutPtr>::const_iterator::second::get
    - std::map<std::string, TopWindowPtr>::const_iterator::second::get
    - find
    linkageType: ''
    returnType: int
    signature: int Theme::readConfig()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:178,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:178,1
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:183,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:183,1
    - Dst: std::map<std::string, TopWindowPtr>::const_iterator::second::get
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:185,1
    - Dst: TopWindow*::getActiveLayout
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:189,1
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:190,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:190,1
    - Dst: std::map<std::string, GenericLayoutPtr>::const_iterator::second::get
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:192,1
    - Dst: TopWindow*::getLeft
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:201,1
    - Dst: TopWindow*::getTop
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:201,1
    - Dst: GenericLayout*::getWidth
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:202,1
    - Dst: GenericLayout*::getHeight
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:202,1
    - Dst: TopWindow*::getVisibleVar
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:203,1
    - Dst: config_PutPsz
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:207,1
    - Dst: std::ostringstream::str
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 208
    functionName: Theme::saveConfig
    functionSourceFile: /src/vlc/modules/gui/skins2/src/theme.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - TopWindow*::getLeft
    - TopWindow*::getTop
    - begin
    - GenericLayout*::getHeight
    - TopWindow*::getActiveLayout
    - getIntf
    - msg_Dbg
    - TopWindow*::getVisibleVar
    - config_PutPsz
    - GenericLayout*::getWidth
    - end
    - std::map<std::string, GenericLayoutPtr>::const_iterator::second::get
    - std::map<std::string, TopWindowPtr>::const_iterator::second::get
    linkageType: ''
    returnType: void
    signature: void Theme::saveConfig()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:221,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:222,1
    - Dst: find_object
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:224,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:229,1
    - Dst: std::string::size
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:229,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:231,1
    - Dst: std::string::find_first_not_of
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:231,1
    - Dst: std::string::size
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 237
    functionName: Theme::IDmap<T>::find_first_object( const std::string &id ) const
    functionSourceFile: /src/vlc/modules/gui/skins2/src/theme.cpp
    functionUses: 0
    functionsReached:
    - std::string::find
    - find_object
    - std::string::find_first_not_of
    - std::string::size
    - std::string::substr
    linkageType: ''
    returnType: typename T::pointer
    signature: typename T::pointer Theme::IDmap<T>::find_first_object( const std::string
      &id ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_first_object
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: Theme::getBitmapById
    functionSourceFile: /src/vlc/modules/gui/skins2/src/theme.cpp
    functionUses: 0
    functionsReached:
    - find_first_object
    linkageType: ''
    returnType: GenericBitmap
    signature: GenericBitmap *Theme::getBitmapById( const std::string &id ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_first_object
      Src: /src/vlc/modules/gui/skins2/src/theme.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: Theme::getFontById
    functionSourceFile: /src/vlc/modules/gui/skins2/src/theme.cpp
    functionUses: 0
    functionsReached:
    - find_first_object
    linkageType: ''
    returnType: GenericFont
    signature: GenericFont *Theme::getFontById( const std::string &id ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: OSLoop::OSLoop
    functionSourceFile: /src/vlc/modules/gui/skins2/src/os_loop.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OSLoop( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: Logger::Logger
    functionSourceFile: /src/vlc/modules/gui/skins2/src/logger.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Logger::Logger( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Logger::~Logger()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/logger.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Logger::~Logger()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Logger::Logger
      Src: /src/vlc/modules/gui/skins2/src/logger.cpp:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 49
    functionName: Logger::instance
    functionSourceFile: /src/vlc/modules/gui/skins2/src/logger.cpp
    functionUses: 0
    functionsReached:
    - Logger::Logger
    linkageType: ''
    returnType: Logger
    signature: Logger *Logger::instance( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: Logger::destroy
    functionSourceFile: /src/vlc/modules/gui/skins2/src/logger.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Logger::destroy( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/src/logger.cpp:61,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/logger.cpp:61,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/src/logger.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rMsg
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: Logger::error
    functionSourceFile: /src/vlc/modules/gui/skins2/src/logger.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - getIntf
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void Logger::error( const std::string &rMsg )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/skins2/src/logger.cpp:67,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/logger.cpp:67,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/src/logger.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rMsg
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: Logger::warn
    functionSourceFile: /src/vlc/modules/gui/skins2/src/logger.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - getIntf
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: void Logger::warn( const std::string &rMsg )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.hpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: '&getPlaytreeVar()'
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Playtree
    signature: Playtree &getPlaytreeVar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.hpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: '&getTimeVar()'
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: StreamTime
    signature: StreamTime &getTimeVar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.hpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: '&getVolumeVar()'
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Volume
    signature: Volume &getVolumeVar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.hpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: '&getSpeedVar()'
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: VarText
    signature: VarText &getSpeedVar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.hpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: '&getStreamNameVar()'
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: VarText
    signature: VarText &getStreamNameVar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.hpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: '&getStreamURIVar()'
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: VarText
    signature: VarText &getStreamURIVar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.hpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: '&getStreamBitRateVar()'
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: VarText
    signature: VarText &getStreamBitRateVar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.hpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: '&getStreamSampleRateVar()'
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: VarText
    signature: VarText &getStreamSampleRateVar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.hpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: '&getStreamArtVar()'
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: VarString
    signature: VarString &getStreamArtVar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.hpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: '&getFullscreenVar()'
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: VarBool
    signature: VarBool &getFullscreenVar()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: VlcProc::isVoutUsed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isVoutUsed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/src/tooltip.cpp:39,1
    - Dst: OSFactory*::createOSTimer
      Src: /src/vlc/modules/gui/skins2/src/tooltip.cpp:40,1
    - Dst: OSFactory*::createOSTooltip
      Src: /src/vlc/modules/gui/skins2/src/tooltip.cpp:41,1
    - Dst: VarManager::instance
      Src: /src/vlc/modules/gui/skins2/src/tooltip.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pIntf
    - rFont
    - delay
    argTypes:
    - intf_thread_t*
    - GenericFont
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: Tooltip::Tooltip
    functionSourceFile: /src/vlc/modules/gui/skins2/src/tooltip.cpp
    functionUses: 0
    functionsReached:
    - OSFactory*::createOSTooltip
    - VarManager::instance
    - OSFactory*::createOSTimer
    - OSFactory::instance
    linkageType: ''
    returnType: void
    signature: void Tooltip::Tooltip( intf_thread_t *pIntf, const GenericFont &rFont,
      int delay )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarManager::instance
      Src: /src/vlc/modules/gui/skins2/src/tooltip.cpp:50,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/tooltip.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: Tooltip::~Tooltip()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/tooltip.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - VarManager::instance
    linkageType: ''
    returnType: void
    signature: void Tooltip::~Tooltip()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/vlc/modules/gui/skins2/src/tooltip.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: Tooltip::show
    functionSourceFile: /src/vlc/modules/gui/skins2/src/tooltip.cpp
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void Tooltip::show()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/vlc/modules/gui/skins2/src/tooltip.cpp:66,1
    - Dst: Tooltip::hide
      Src: /src/vlc/modules/gui/skins2/src/tooltip.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: Tooltip::hide
    functionSourceFile: /src/vlc/modules/gui/skins2/src/tooltip.cpp
    functionUses: 1
    functionsReached:
    - Tooltip::hide
    - stop
    linkageType: ''
    returnType: void
    signature: void Tooltip::hide()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Tooltip::displayText
      Src: /src/vlc/modules/gui/skins2/src/tooltip.cpp:77,1
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/src/tooltip.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rVariable
    - arg
    argTypes:
    - Subject<VarText>
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: Tooltip::onUpdate
    functionSourceFile: /src/vlc/modules/gui/skins2/src/tooltip.cpp
    functionUses: 0
    functionsReached:
    - get
    - Tooltip::displayText
    linkageType: ''
    returnType: void
    signature: void Tooltip::onUpdate( Subject<VarText> &rVariable, void *arg )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tooltip::makeImage
      Src: /src/vlc/modules/gui/skins2/src/tooltip.cpp:84,1
    - Dst: Tooltip::show
      Src: /src/vlc/modules/gui/skins2/src/tooltip.cpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rText
    argTypes:
    - UString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: Tooltip::displayText
    functionSourceFile: /src/vlc/modules/gui/skins2/src/tooltip.cpp
    functionUses: 1
    functionsReached:
    - Tooltip::makeImage
    - Tooltip::show
    linkageType: ''
    returnType: void
    signature: void Tooltip::displayText( const UString &rText )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: drawString
      Src: /src/vlc/modules/gui/skins2/src/tooltip.cpp:97,1
    - Dst: GenericBitmap*::getWidth
      Src: /src/vlc/modules/gui/skins2/src/tooltip.cpp:102,1
    - Dst: getSize
      Src: /src/vlc/modules/gui/skins2/src/tooltip.cpp:103,1
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/src/tooltip.cpp:107,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/tooltip.cpp:107,1
    - Dst: fillRect
      Src: /src/vlc/modules/gui/skins2/src/tooltip.cpp:108,1
    - Dst: drawRect
      Src: /src/vlc/modules/gui/skins2/src/tooltip.cpp:109,1
    - Dst: drawBitmap
      Src: /src/vlc/modules/gui/skins2/src/tooltip.cpp:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - rText
    argTypes:
    - UString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 113
    functionName: Tooltip::makeImage
    functionSourceFile: /src/vlc/modules/gui/skins2/src/tooltip.cpp
    functionUses: 1
    functionsReached:
    - drawBitmap
    - fillRect
    - drawRect
    - GenericBitmap*::getWidth
    - getIntf
    - drawString
    - getSize
    - OSFactory::instance
    linkageType: ''
    returnType: void
    signature: void Tooltip::makeImage( const UString &rText )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/src/tooltip.cpp:123,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/tooltip.cpp:123,1
    - Dst: OSFactory*::getMousePos
      Src: /src/vlc/modules/gui/skins2/src/tooltip.cpp:125,1
    - Dst: OSFactory*::getScreenWidth
      Src: /src/vlc/modules/gui/skins2/src/tooltip.cpp:126,1
    - Dst: OSFactory*::getScreenHeight
      Src: /src/vlc/modules/gui/skins2/src/tooltip.cpp:127,1
    - Dst: m_pImage::getWidth
      Src: /src/vlc/modules/gui/skins2/src/tooltip.cpp:128,1
    - Dst: m_pImage::getHeight
      Src: /src/vlc/modules/gui/skins2/src/tooltip.cpp:129,1
    - Dst: m_pOsTooltip::show
      Src: /src/vlc/modules/gui/skins2/src/tooltip.cpp:146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 149
    functionName: Tooltip::CmdShow::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/tooltip.cpp
    functionUses: 0
    functionsReached:
    - OSFactory*::getScreenHeight
    - m_pImage::getHeight
    - m_pImage::getWidth
    - getIntf
    - OSFactory*::getMousePos
    - m_pOsTooltip::show
    - OSFactory::instance
    - OSFactory*::getScreenWidth
    linkageType: ''
    returnType: void
    signature: void Tooltip::CmdShow::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ThemeLoader::ThemeLoader
    functionSourceFile: /src/vlc/modules/gui/skins2/src/theme_loader.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ThemeLoader( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~ThemeLoader()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/theme_loader.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ThemeLoader()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/src/popup.cpp:35,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/popup.cpp:35,1
    - Dst: OSFactory*::createOSPopup
      Src: /src/vlc/modules/gui/skins2/src/popup.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pIntf
    - rWindowManager
    argTypes:
    - intf_thread_t*
    - WindowManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: Popup::Popup
    functionSourceFile: /src/vlc/modules/gui/skins2/src/popup.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - OSFactory*::createOSPopup
    - OSFactory::instance
    linkageType: ''
    returnType: void
    signature: void Popup::Popup( intf_thread_t *pIntf, WindowManager &rWindowManager
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setActivePopup
      Src: /src/vlc/modules/gui/skins2/src/popup.cpp:46,1
    - Dst: Popup::show
      Src: /src/vlc/modules/gui/skins2/src/popup.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - xPos
    - yPos
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: Popup::show
    functionSourceFile: /src/vlc/modules/gui/skins2/src/popup.cpp
    functionUses: 1
    functionsReached:
    - Popup::show
    - setActivePopup
    linkageType: ''
    returnType: void
    signature: void Popup::show( int xPos, int yPos )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Popup::hide
      Src: /src/vlc/modules/gui/skins2/src/popup.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: Popup::hide
    functionSourceFile: /src/vlc/modules/gui/skins2/src/popup.cpp
    functionUses: 1
    functionsReached:
    - Popup::hide
    linkageType: ''
    returnType: void
    signature: void Popup::hide()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Popup::addItem
      Src: /src/vlc/modules/gui/skins2/src/popup.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rLabel
    - rCmd
    - pos
    argTypes:
    - std::string
    - CmdGeneric
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: Popup::addItem
    functionSourceFile: /src/vlc/modules/gui/skins2/src/popup.cpp
    functionUses: 1
    functionsReached:
    - Popup::addItem
    linkageType: ''
    returnType: void
    signature: void Popup::addItem( const std::string &rLabel, CmdGeneric &rCmd, int
      pos )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Popup::addSeparator
      Src: /src/vlc/modules/gui/skins2/src/popup.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pos
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: Popup::addSeparator
    functionSourceFile: /src/vlc/modules/gui/skins2/src/popup.cpp
    functionUses: 1
    functionsReached:
    - Popup::addSeparator
    linkageType: ''
    returnType: void
    signature: void Popup::addSeparator( int pos )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPosFromId
      Src: /src/vlc/modules/gui/skins2/src/popup.cpp:74,1
    - Dst: EvtMenu::getItemId
      Src: /src/vlc/modules/gui/skins2/src/popup.cpp:74,1
    - Dst: size
      Src: /src/vlc/modules/gui/skins2/src/popup.cpp:75,1
    - Dst: execute
      Src: /src/vlc/modules/gui/skins2/src/popup.cpp:77,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/skins2/src/popup.cpp:82,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/popup.cpp:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - rEvent
    argTypes:
    - EvtMenu
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: Popup::handleEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/src/popup.cpp
    functionUses: 0
    functionsReached:
    - EvtMenu::getItemId
    - execute
    - size
    - getPosFromId
    - getIntf
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: void Popup::handleEvent( const EvtMenu &rEvent )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarText::VarText
      Src: /src/vlc/modules/gui/skins2/src/var_manager.cpp:30,1
    - Dst: VarText::VarText
      Src: /src/vlc/modules/gui/skins2/src/var_manager.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: VarManager::VarManager
    functionSourceFile: /src/vlc/modules/gui/skins2/src/var_manager.cpp
    functionUses: 0
    functionsReached:
    - VarText::VarText
    linkageType: ''
    returnType: void
    signature: void VarManager::VarManager( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/src/var_manager.cpp:39,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/var_manager.cpp:39,1
    - Dst: erase
      Src: /src/vlc/modules/gui/skins2/src/var_manager.cpp:41,1
    - Dst: empty
      Src: /src/vlc/modules/gui/skins2/src/var_manager.cpp:45,1
    - Dst: pop_back
      Src: /src/vlc/modules/gui/skins2/src/var_manager.cpp:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 56
    functionName: VarManager::~VarManager()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/var_manager.cpp
    functionUses: 0
    functionsReached:
    - erase
    - begin
    - pop_back
    - empty
    - end
    linkageType: ''
    returnType: void
    signature: void VarManager::~VarManager()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VarManager::VarManager
      Src: /src/vlc/modules/gui/skins2/src/var_manager.cpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: VarManager::instance
    functionSourceFile: /src/vlc/modules/gui/skins2/src/var_manager.cpp
    functionUses: 2
    functionsReached:
    - VarManager::VarManager
    linkageType: ''
    returnType: VarManager
    signature: VarManager *VarManager::instance( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: VarManager::destroy
    functionSourceFile: /src/vlc/modules/gui/skins2/src/var_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VarManager::destroy( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_front
      Src: /src/vlc/modules/gui/skins2/src/var_manager.cpp:84,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/src/var_manager.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rcVar
    - rName
    argTypes:
    - VariablePtr
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: VarManager::registerVar
    functionSourceFile: /src/vlc/modules/gui/skins2/src/var_manager.cpp
    functionUses: 0
    functionsReached:
    - push_front
    - push_back
    linkageType: ''
    returnType: void
    signature: void VarManager::registerVar( const VariablePtr &rcVar, const std::string
      &rName )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/src/var_manager.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rcVar
    argTypes:
    - VariablePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: VarManager::registerVar
    functionSourceFile: /src/vlc/modules/gui/skins2/src/var_manager.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void VarManager::registerVar( const VariablePtr &rcVar )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/vlc/modules/gui/skins2/src/var_manager.cpp:98,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/var_manager.cpp:98,1
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/src/var_manager.cpp:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: VarManager::getVar
    functionSourceFile: /src/vlc/modules/gui/skins2/src/var_manager.cpp
    functionUses: 0
    functionsReached:
    - get
    - end
    - find
    linkageType: ''
    returnType: Variable
    signature: Variable *VarManager::getVar( const std::string &rName )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/vlc/modules/gui/skins2/src/var_manager.cpp:111,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/var_manager.cpp:111,1
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/src/var_manager.cpp:113,1
    - Dst: Variable*::getType
      Src: /src/vlc/modules/gui/skins2/src/var_manager.cpp:115,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/skins2/src/var_manager.cpp:117,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/var_manager.cpp:117,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/src/var_manager.cpp:118,1
    - Dst: Variable*::getType
      Src: /src/vlc/modules/gui/skins2/src/var_manager.cpp:118,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/src/var_manager.cpp:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - rName
    - rType
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 131
    functionName: VarManager::getVar
    functionSourceFile: /src/vlc/modules/gui/skins2/src/var_manager.cpp
    functionUses: 0
    functionsReached:
    - get
    - Variable*::getType
    - std::string::c_str
    - getIntf
    - msg_Warn
    - end
    - find
    linkageType: ''
    returnType: Variable
    signature: Variable *VarManager::getVar( const std::string &rName, const std::string
      &rType )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rName
    - rValue
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: VarManager::registerConst
    functionSourceFile: /src/vlc/modules/gui/skins2/src/var_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VarManager::registerConst( const std::string &rName, const std::string
      &rValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: VarManager::getConst
    functionSourceFile: /src/vlc/modules/gui/skins2/src/var_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string VarManager::getConst( const std::string &rName )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TopWindow::raise
      Src: /src/vlc/modules/gui/skins2/src/window_manager.hpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rWindow
    argTypes:
    - TopWindow
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: WindowManager::raise
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.hpp
    functionUses: 0
    functionsReached:
    - TopWindow::raise
    linkageType: ''
    returnType: void
    signature: void raise( TopWindow &rWindow ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TopWindow::hide
      Src: /src/vlc/modules/gui/skins2/src/window_manager.hpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rWindow
    argTypes:
    - TopWindow
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: WindowManager::hide
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.hpp
    functionUses: 0
    functionsReached:
    - TopWindow::hide
    linkageType: ''
    returnType: void
    signature: void hide( TopWindow &rWindow ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - magnet
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: WindowManager::setMagnetValue
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setMagnetValue( int magnet )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - alpha
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: WindowManager::setAlphaValue
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setAlphaValue( int alpha )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - moveAlpha
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: WindowManager::setMoveAlphaValue
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setMoveAlphaValue( int moveAlpha )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rPopup
    argTypes:
    - Popup
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: WindowManager::setActivePopup
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setActivePopup( Popup &rPopup )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: WindowManager::getActivePopup
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Popup
    signature: Popup * getActivePopup() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: WindowManager::isOpacityNeeded
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isOpacityNeeded() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VoutManager::VoutManager
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: VoutManager::instance
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_manager.cpp
    functionUses: 1
    functionsReached:
    - VoutManager::VoutManager
    linkageType: ''
    returnType: VoutManager
    signature: VoutManager *VoutManager::instance( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: VoutManager::destroy
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VoutManager::destroy( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:55,1
    - Dst: VoutMainWindow::VoutMainWindow
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:55,1
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:57,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:57,1
    - Dst: OSFactory*::getScreenWidth
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:58,1
    - Dst: OSFactory*::getScreenHeight
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:59,1
    - Dst: move
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:61,1
    - Dst: resize
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:62,1
    - Dst: VlcProc::instance
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:64,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:64,1
    - Dst: VarBool::addObserver
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 66
    functionName: VoutManager::VoutManager
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_manager.cpp
    functionUses: 1
    functionsReached:
    - VarBool::addObserver
    - OSFactory*::getScreenHeight
    - resize
    - move
    - getIntf
    - VoutMainWindow::VoutMainWindow
    - VlcProc::instance
    - OSFactory::instance
    - OSFactory*::getScreenWidth
    linkageType: ''
    returnType: void
    signature: void VoutManager::VoutManager( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VlcProc::instance
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:71,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:71,1
    - Dst: VarBool::delObserver
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: VoutManager::~VoutManager( )
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_manager.cpp
    functionUses: 0
    functionsReached:
    - VlcProc::instance
    - getIntf
    - VarBool::delObserver
    linkageType: ''
    returnType: void
    signature: void VoutManager::~VoutManager( )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_CtrlVideo
    argTypes:
    - CtrlVideo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: VoutManager::registerCtrlVideo
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_manager.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void VoutManager::registerCtrlVideo( CtrlVideo* p_CtrlVideo )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_Win
    argTypes:
    - FscWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: VoutManager::registerFSC
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VoutManager::registerFSC( FscWindow* p_Win )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:95,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:95,1
    - Dst: std::vector<SavedWnd>::iterator::pCtrlVideo::detachVoutWindow
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:100,1
    - Dst: std::vector<SavedWnd>::iterator::pCtrlVideo::getPosition
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:103,1
    - Dst: std::vector<SavedWnd>::iterator::pCtrlVideo::getPosition
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:104,1
    - Dst: clear
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 112
    functionName: VoutManager::saveVoutConfig
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_manager.cpp
    functionUses: 0
    functionsReached:
    - begin
    - clear
    - std::vector<SavedWnd>::iterator::pCtrlVideo::getPosition
    - std::vector<SavedWnd>::iterator::pCtrlVideo::detachVoutWindow
    - end
    linkageType: ''
    returnType: void
    signature: void VoutManager::saveVoutConfig( )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:125,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:125,1
    - Dst: VoutManager::getBestCtrlVideo
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:127,1
    - Dst: CtrlVideo*::attachVoutWindow
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - b_success
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 134
    functionName: VoutManager::restoreVoutConfig
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_manager.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    - VoutManager::getBestCtrlVideo
    - CtrlVideo*::attachVoutWindow
    linkageType: ''
    returnType: void
    signature: void VoutManager::restoreVoutConfig( bool b_success )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:140,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:140,1
    - Dst: std::vector<SavedWnd>::iterator::pCtrlVideo::detachVoutWindow
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:145,1
    - Dst: std::vector<SavedWnd>::iterator::pCtrlVideo::getPosition
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:146,1
    - Dst: std::vector<SavedWnd>::iterator::pCtrlVideo::getPosition
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pCtrlVideo
    argTypes:
    - CtrlVideo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 152
    functionName: VoutManager::discardVout
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_manager.cpp
    functionUses: 0
    functionsReached:
    - std::vector<SavedWnd>::iterator::pCtrlVideo::detachVoutWindow
    - end
    - begin
    - std::vector<SavedWnd>::iterator::pCtrlVideo::getPosition
    linkageType: ''
    returnType: void
    signature: void VoutManager::discardVout( CtrlVideo* pCtrlVideo )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:158,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:158,1
    - Dst: CtrlVideo*::attachVoutWindow
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pCtrlVideo
    argTypes:
    - CtrlVideo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 168
    functionName: VoutManager::requestVout
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_manager.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    - CtrlVideo*::attachVoutWindow
    linkageType: ''
    returnType: void
    signature: void VoutManager::requestVout( CtrlVideo* pCtrlVideo )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:176,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:176,1
    - Dst: isUseable
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:178,1
    - Dst: isUsed
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 185
    functionName: VoutManager::getBestCtrlVideo
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_manager.cpp
    functionUses: 1
    functionsReached:
    - end
    - begin
    - isUsed
    - isUseable
    linkageType: ''
    returnType: CtrlVideo
    signature: CtrlVideo * VoutManager::getBestCtrlVideo( )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:195,1
    - Dst: VoutWindow::VoutWindow
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:195,1
    - Dst: VoutManager::getBestCtrlVideo
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:199,1
    - Dst: CtrlVideo*::attachVoutWindow
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:204,1
    - Dst: VoutWindow*::setCtrlVideo
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:208,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:212,1
    - Dst: SavedWnd
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:212,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pWnd
    - width
    - height
    argTypes:
    - vlc_window_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 216
    functionName: VoutManager::acceptWnd
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_manager.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - getIntf
    - msg_Dbg
    - VoutManager::getBestCtrlVideo
    - VoutWindow::VoutWindow
    - SavedWnd
    - CtrlVideo*::attachVoutWindow
    - VoutWindow*::setCtrlVideo
    linkageType: ''
    returnType: void
    signature: void VoutManager::acceptWnd( vlc_window_t* pWnd, int width, int height
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:223,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:223,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:227,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:227,1
    - Dst: std::vector<SavedWnd>::iterator::pCtrlVideo::detachVoutWindow
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:233,1
    - Dst: erase
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:238,1
    - Dst: VlcProc::instance
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:244,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:244,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - pWnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 245
    functionName: VoutManager::releaseWnd
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_manager.cpp
    functionUses: 0
    functionsReached:
    - erase
    - begin
    - getIntf
    - msg_Dbg
    - VlcProc::instance
    - std::vector<SavedWnd>::iterator::pCtrlVideo::detachVoutWindow
    - end
    linkageType: ''
    returnType: void
    signature: void VoutManager::releaseWnd( vlc_window_t* pWnd )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:250,1
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:254,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:254,1
    - Dst: VoutWindow*::setOriginalWidth
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:260,1
    - Dst: VoutWindow*::setOriginalHeight
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:261,1
    - Dst: VoutWindow*::getCtrlVideo
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:263,1
    - Dst: CtrlVideo*::resizeControl
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:266,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pWnd
    - width
    - height
    argTypes:
    - vlc_window_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 271
    functionName: VoutManager::setSizeWnd
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_manager.cpp
    functionUses: 0
    functionsReached:
    - CtrlVideo*::resizeControl
    - begin
    - VoutWindow*::getCtrlVideo
    - VoutWindow*::setOriginalWidth
    - msg_Dbg
    - end
    - VoutWindow*::setOriginalHeight
    linkageType: ''
    returnType: void
    signature: void VoutManager::setSizeWnd( vlc_window_t *pWnd, int width, int height
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:276,1
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:283,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:283,1
    - Dst: VoutManager::configureFullscreen
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:288,1
    - Dst: VlcProc::instance
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:295,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pWnd
    - b_fullscreen
    argTypes:
    - vlc_window_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 296
    functionName: VoutManager::setFullscreenWnd
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_manager.cpp
    functionUses: 0
    functionsReached:
    - VoutManager::configureFullscreen
    - begin
    - getIntf
    - msg_Dbg
    - VlcProc::instance
    - end
    linkageType: ''
    returnType: void
    signature: void VoutManager::setFullscreenWnd( vlc_window_t *pWnd, bool b_fullscreen
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:301,1
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:302,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:302,1
    - Dst: OSFactory*::changeCursor
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:304,1
    - Dst: OSFactory*::changeCursor
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pWnd
    - hide
    argTypes:
    - vlc_window_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 307
    functionName: VoutManager::hideMouseWnd
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_manager.cpp
    functionUses: 0
    functionsReached:
    - OSFactory*::changeCursor
    - getIntf
    - msg_Dbg
    - OSFactory::instance
    linkageType: ''
    returnType: void
    signature: void VoutManager::hideMouseWnd( vlc_window_t *pWnd, bool hide )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VlcProc::instance
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:313,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:313,1
    - Dst: VarBool::get
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:316,1
    - Dst: show
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:317,1
    - Dst: hide
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - rVariable
    - arg
    argTypes:
    - Subject<VarBool>
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 321
    functionName: VoutManager::onUpdate
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_manager.cpp
    functionUses: 0
    functionsReached:
    - hide
    - VarBool::get
    - show
    - getIntf
    - VlcProc::instance
    linkageType: ''
    returnType: void
    signature: void VoutManager::onUpdate( Subject<VarBool> &rVariable, void *arg
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: config_FindConfig
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:327,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:328,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:328,1
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:334,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:334,1
    - Dst: OSFactory*::getMonitorInfo
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:335,1
    - Dst: getMonitorInfo
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:340,1
    - Dst: move
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:344,1
    - Dst: resize
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:345,1
    - Dst: moveTo
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:350,1
    - Dst: move
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:354,1
    - Dst: resize
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.cpp:355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' rWindow'
    argTypes:
    - VoutWindow
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 356
    functionName: VoutManager::configureFullscreen
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_manager.cpp
    functionUses: 1
    functionsReached:
    - OSFactory*::getMonitorInfo
    - getMonitorInfo
    - resize
    - var_InheritInteger
    - config_FindConfig
    - move
    - getIntf
    - moveTo
    - OSFactory::instance
    linkageType: ''
    returnType: void
    signature: void VoutManager::configureFullscreen( VoutWindow& rWindow )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~BitmapFont()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/bitmap_font.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BitmapFont()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: BitmapFont::init
    functionSourceFile: /src/vlc/modules/gui/skins2/src/bitmap_font.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: BitmapFont::getSize
    functionSourceFile: /src/vlc/modules/gui/skins2/src/bitmap_font.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: BitmapFont::Glyph_t
    functionSourceFile: /src/vlc/modules/gui/skins2/src/bitmap_font.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Glyph_t()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rEvtFocus
    argTypes:
    - EvtFocus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: GenericWindow::processEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void processEvent( EvtFocus &rEvtFocus )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rEvtMenu
    argTypes:
    - EvtMenu
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: GenericWindow::processEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void processEvent( EvtMenu &rEvtMenu )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rEvtMotion
    argTypes:
    - EvtMotion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: GenericWindow::processEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void processEvent( EvtMotion &rEvtMotion )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rEvtMouse
    argTypes:
    - EvtMouse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: GenericWindow::processEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void processEvent( EvtMouse &rEvtMouse )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rEvtLeave
    argTypes:
    - EvtLeave
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: GenericWindow::processEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void processEvent( EvtLeave &rEvtLeave )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rEvtKey
    argTypes:
    - EvtKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: GenericWindow::processEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void processEvent( EvtKey &rEvtKey )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rEvtScroll
    argTypes:
    - EvtScroll
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: GenericWindow::processEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void processEvent( EvtScroll &rEvtScroll )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rEvtDragEnter
    argTypes:
    - EvtDragEnter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: GenericWindow::processEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void processEvent( EvtDragEnter &rEvtDragEnter )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rEvtDragLeave
    argTypes:
    - EvtDragLeave
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: GenericWindow::processEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void processEvent( EvtDragLeave &rEvtDragLeave )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rEvtDragOver
    argTypes:
    - EvtDragOver
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: GenericWindow::processEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void processEvent( EvtDragOver &rEvtDragOver )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rEvtDragDrop
    argTypes:
    - EvtDragDrop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: GenericWindow::processEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void processEvent( EvtDragDrop &rEvtDragDrop )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - left
    - top
    - width
    - height
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: GenericWindow::refresh
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void refresh( int left, int top, int width, int height )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: GenericWindow::getLeft
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getLeft() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: GenericWindow::getTop
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getTop() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: GenericWindow::getWidth
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getWidth() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: GenericWindow::getHeight
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getHeight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: '&getVisibleVar()'
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VarBool
    signature: VarBool &getVisibleVar()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: GenericWindow::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: GenericWindow::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WindowType_t
    signature: WindowType_t getType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: GenericWindow::getOSWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSWindow
    signature: OSWindow *getOSWindow() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set
      Src: /src/vlc/modules/gui/skins2/src/generic_window.hpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: GenericWindow::onDestroyed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.hpp
    functionUses: 0
    functionsReached:
    - set
    linkageType: ''
    returnType: void
    signature: void onDestroyed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/src/generic_window.hpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: GenericWindow::isVisible
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: bool
    signature: bool isVisible() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X11Factory::X11Factory
      Src: /src/vlc/modules/gui/skins2/src/os_factory.cpp:42,1
    - Dst: Win32Factory::Win32Factory
      Src: /src/vlc/modules/gui/skins2/src/os_factory.cpp:44,1
    - Dst: OS2Factory::OS2Factory
      Src: /src/vlc/modules/gui/skins2/src/os_factory.cpp:46,1
    - Dst: MacOSXFactory::MacOSXFactory
      Src: /src/vlc/modules/gui/skins2/src/os_factory.cpp:48,1
    - Dst: OSFactory*::init
      Src: /src/vlc/modules/gui/skins2/src/os_factory.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 65
    functionName: OSFactory::instance
    functionSourceFile: /src/vlc/modules/gui/skins2/src/os_factory.cpp
    functionUses: 8
    functionsReached:
    - X11Factory::X11Factory
    - OS2Factory::OS2Factory
    - Win32Factory::Win32Factory
    - OSFactory*::init
    - MacOSXFactory::MacOSXFactory
    linkageType: ''
    returnType: OSFactory
    signature: OSFactory *OSFactory::instance( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: OSFactory::destroy
    functionSourceFile: /src/vlc/modules/gui/skins2/src/os_factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OSFactory::destroy( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: ScaledBitmap::getWidth
    functionSourceFile: /src/vlc/modules/gui/skins2/src/scaled_bitmap.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getWidth() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ScaledBitmap::getHeight
    functionSourceFile: /src/vlc/modules/gui/skins2/src/scaled_bitmap.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getHeight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ScaledBitmap::getData
    functionSourceFile: /src/vlc/modules/gui/skins2/src/scaled_bitmap.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *getData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: '&getMaximizedVar()'
    functionSourceFile: /src/vlc/modules/gui/skins2/src/top_window.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VarBool
    signature: VarBool &getMaximizedVar()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: TopWindow::getInitialVisibility
    functionSourceFile: /src/vlc/modules/gui/skins2/src/top_window.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getInitialVisibility() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: registerWindow
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:66,1
    - Dst: VarBoolImpl::VarBoolImpl
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:69,1
    - Dst: VarManager::instance
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:70,1
    - Dst: VariablePtr
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 8
    argNames:
    - pIntf
    - left
    - top
    - rWindowManager
    - dragDrop
    - playOnDrop
    - visible
    - type
    argTypes:
    - intf_thread_t*
    - int
    - int
    - WindowManager
    - bool
    - bool
    - bool
    - GenericWindow::WindowType_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 71
    functionName: TopWindow::TopWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/src/top_window.cpp
    functionUses: 0
    functionsReached:
    - VariablePtr
    - VarManager::instance
    - VarBoolImpl::VarBoolImpl
    - registerWindow
    linkageType: ''
    returnType: void
    signature: "void TopWindow::TopWindow( intf_thread_t *pIntf, int left, int top,\n
      \                     WindowManager &rWindowManager,\n                      bool
      dragDrop, bool playOnDrop, bool visible,\n                      GenericWindow::WindowType_t
      type )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unregisterWindow
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: TopWindow::~TopWindow()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/top_window.cpp
    functionUses: 0
    functionsReached:
    - unregisterWindow
    linkageType: ''
    returnType: void
    signature: void TopWindow::~TopWindow()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rEvtFocus
    argTypes:
    - EvtFocus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: TopWindow::processEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/src/top_window.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TopWindow::processEvent( EvtFocus &rEvtFocus )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getActivePopup
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:89,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:93,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:93,1
    - Dst: Popup*::handleEvent
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rEvtMenu
    argTypes:
    - EvtMenu
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 98
    functionName: TopWindow::processEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/src/top_window.cpp
    functionUses: 0
    functionsReached:
    - Popup*::handleEvent
    - getIntf
    - msg_Warn
    - getActivePopup
    linkageType: ''
    returnType: void
    signature: void TopWindow::processEvent( EvtMenu &rEvtMenu )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TopWindow::findHitControl
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:105,1
    - Dst: EvtMotion::getXPos
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:105,1
    - Dst: getLeft
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:105,1
    - Dst: EvtMotion::getYPos
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:106,1
    - Dst: getTop
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:106,1
    - Dst: TopWindow::setLastHit
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:108,1
    - Dst: VarManager::instance
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:111,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:111,1
    - Dst: VarManager*::getHelpText
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:114,1
    - Dst: CtrlGeneric*::getHelpText
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:114,1
    - Dst: EvtMotion::getXPos
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:127,1
    - Dst: getLeft
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:127,1
    - Dst: EvtMotion::getYPos
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:128,1
    - Dst: getTop
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:128,1
    - Dst: CtrlGeneric*::handleEvent
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - rEvtMotion
    argTypes:
    - EvtMotion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 133
    functionName: TopWindow::processEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/src/top_window.cpp
    functionUses: 0
    functionsReached:
    - CtrlGeneric*::handleEvent
    - TopWindow::findHitControl
    - CtrlGeneric*::getHelpText
    - getLeft
    - getTop
    - EvtMotion::getXPos
    - getIntf
    - VarManager::instance
    - TopWindow::setLastHit
    - EvtMotion::getYPos
    - VarManager*::getHelpText
    linkageType: ''
    returnType: void
    signature: void TopWindow::processEvent( EvtMotion &rEvtMotion )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TopWindow::setLastHit
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:141,1
    - Dst: hideTooltip
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rEvtLeave
    argTypes:
    - EvtLeave
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 146
    functionName: TopWindow::processEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/src/top_window.cpp
    functionUses: 0
    functionsReached:
    - TopWindow::setLastHit
    - hideTooltip
    linkageType: ''
    returnType: void
    signature: void TopWindow::processEvent( EvtLeave &rEvtLeave )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TopWindow::findHitControl
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:152,1
    - Dst: EvtMouse::getXPos
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:152,1
    - Dst: EvtMouse::getYPos
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:153,1
    - Dst: TopWindow::setLastHit
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:154,1
    - Dst: EvtMouse::getAction
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:157,1
    - Dst: raise
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:160,1
    - Dst: handleEvent
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:168,1
    - Dst: CtrlGeneric*::isFocusable
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:172,1
    - Dst: CtrlGeneric*::handleEvent
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:177,1
    - Dst: CtrlGeneric*::handleEvent
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:191,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - rEvtMouse
    argTypes:
    - EvtMouse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 193
    functionName: TopWindow::processEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/src/top_window.cpp
    functionUses: 0
    functionsReached:
    - CtrlGeneric*::handleEvent
    - TopWindow::findHitControl
    - raise
    - TopWindow::setLastHit
    - CtrlGeneric*::isFocusable
    - handleEvent
    - EvtMouse::getXPos
    - EvtMouse::getYPos
    - EvtMouse::getAction
    linkageType: ''
    returnType: void
    signature: void TopWindow::processEvent( EvtMouse &rEvtMouse )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: handleEvent
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:201,1
    - Dst: EvtKey::getKeyState
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:206,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:208,1
    - Dst: p_dialogs::sendKey
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:208,1
    - Dst: EvtKey::getModKey
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - rEvtKey
    argTypes:
    - EvtKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 210
    functionName: TopWindow::processEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/src/top_window.cpp
    functionUses: 0
    functionsReached:
    - EvtKey::getKeyState
    - p_dialogs::sendKey
    - EvtKey::getModKey
    - getIntf
    - handleEvent
    linkageType: ''
    returnType: void
    signature: void TopWindow::processEvent( EvtKey &rEvtKey )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raise
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:215,1
    - Dst: TopWindow::findHitControl
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:218,1
    - Dst: EvtScroll::getXPos
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:218,1
    - Dst: EvtScroll::getYPos
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:219,1
    - Dst: TopWindow::setLastHit
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:220,1
    - Dst: CtrlGeneric*::isScrollable
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:227,1
    - Dst: CtrlGeneric*::handleEvent
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:229,1
    - Dst: EvtScroll::getDirection
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:234,1
    - Dst: EvtScroll::getMod
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:235,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:237,1
    - Dst: p_dialogs::sendKey
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - rEvtScroll
    argTypes:
    - EvtScroll
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 239
    functionName: TopWindow::processEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/src/top_window.cpp
    functionUses: 0
    functionsReached:
    - CtrlGeneric*::handleEvent
    - raise
    - EvtScroll::getXPos
    - TopWindow::findHitControl
    - p_dialogs::sendKey
    - CtrlGeneric*::isScrollable
    - EvtScroll::getDirection
    - getIntf
    - EvtScroll::getYPos
    - TopWindow::setLastHit
    - EvtScroll::getMod
    linkageType: ''
    returnType: void
    signature: void TopWindow::processEvent( EvtScroll &rEvtScroll )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EvtDragDrop::getXPos
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:244,1
    - Dst: getLeft
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:244,1
    - Dst: EvtDragDrop::getYPos
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:245,1
    - Dst: getTop
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:245,1
    - Dst: TopWindow::findHitControl
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:247,1
    - Dst: CtrlGeneric*::getType
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:248,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:251,1
    - Dst: EvtDragDrop::getFiles
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:251,1
    - Dst: CtrlGeneric*::handleEvent
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:252,1
    - Dst: EvtDragDrop::getFiles
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:257,1
    - Dst: std::list::size
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:259,1
    - Dst: std::list::begin
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:261,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:262,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:262,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:263,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:263,1
    - Dst: vlc_player_AddAssociatedMedia
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:265,1
    - Dst: std::list<std::string>::const_iterator::c_str
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:265,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:268,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:268,1
    - Dst: std::list::begin
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:273,1
    - Dst: std::list::end
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:274,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:276,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:276,1
    - Dst: std::list<std::string>::const_iterator::c_str
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:276,1
    - Dst: CmdAddItem
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:278,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:278,1
    - Dst: std::list<std::string>::const_iterator::c_str
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:278,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - rEvtDragDrop
    argTypes:
    - EvtDragDrop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 283
    functionName: TopWindow::processEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/src/top_window.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_Unlock
    - getPL
    - getIntf
    - vlc_player_AddAssociatedMedia
    - EvtDragDrop::getYPos
    - std::list::begin
    - std::list<std::string>::const_iterator::c_str
    - std::list::end
    - CtrlGeneric*::getType
    - vlc_playlist_GetPlayer
    - msg_Dbg
    - CmdAddItem
    - CtrlGeneric*::handleEvent
    - vlc_playlist_Lock
    - getTop
    - TopWindow::findHitControl
    - getLeft
    - EvtDragDrop::getXPos
    - EvtDragDrop::getFiles
    - std::list::size
    linkageType: ''
    returnType: void
    signature: void TopWindow::processEvent( EvtDragDrop &rEvtDragDrop )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EvtDragOver::getXPos
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:288,1
    - Dst: getLeft
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:288,1
    - Dst: EvtDragOver::getYPos
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:289,1
    - Dst: getTop
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:289,1
    - Dst: TopWindow::findHitControl
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:291,1
    - Dst: handleEvent
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:296,1
    - Dst: handleEvent
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - rEvtDragOver
    argTypes:
    - EvtDragOver
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 307
    functionName: TopWindow::processEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/src/top_window.cpp
    functionUses: 0
    functionsReached:
    - EvtDragOver::getXPos
    - TopWindow::findHitControl
    - getLeft
    - getTop
    - handleEvent
    - EvtDragOver::getYPos
    linkageType: ''
    returnType: void
    signature: void TopWindow::processEvent( EvtDragOver &rEvtDragOver )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: handleEvent
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rEvtDragLeave
    argTypes:
    - EvtDragLeave
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 318
    functionName: TopWindow::processEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/src/top_window.cpp
    functionUses: 0
    functionsReached:
    - handleEvent
    linkageType: ''
    returnType: void
    signature: void TopWindow::processEvent( EvtDragLeave &rEvtDragLeave )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlGeneric::handleEvent
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rEvt
    - rCtrl
    argTypes:
    - EvtGeneric
    - CtrlGeneric
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 324
    functionName: TopWindow::forwardEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/src/top_window.cpp
    functionUses: 0
    functionsReached:
    - CtrlGeneric::handleEvent
    linkageType: ''
    returnType: void
    signature: void TopWindow::forwardEvent( EvtGeneric &rEvt, CtrlGeneric &rCtrl
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getImage
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:331,1
    - Dst: getOSWindow
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - left
    - top
    - width
    - height
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 334
    functionName: TopWindow::refresh
    functionSourceFile: /src/vlc/modules/gui/skins2/src/top_window.cpp
    functionUses: 0
    functionsReached:
    - getOSWindow
    - getImage
    linkageType: ''
    returnType: void
    signature: void TopWindow::refresh( int left, int top, int width, int height )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getVisibleVar
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:339,1
    - Dst: onHide
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:344,1
    - Dst: getActiveVar
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:347,1
    - Dst: GenericLayout*::isTightlyCoupledWith
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:352,1
    - Dst: GenericLayout*::resize
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:353,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:353,1
    - Dst: getHeight
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:354,1
    - Dst: GenericLayout*::setWindow
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:357,1
    - Dst: resize
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:360,1
    - Dst: GenericLayout*::getWidth
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:360,1
    - Dst: GenericLayout*::getHeight
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:360,1
    - Dst: GenericLayout*::getActiveVar
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:363,1
    - Dst: GenericLayout*::onShow
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:367,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - pLayout
    argTypes:
    - GenericLayout*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 370
    functionName: TopWindow::setActiveLayout
    functionSourceFile: /src/vlc/modules/gui/skins2/src/top_window.cpp
    functionUses: 0
    functionsReached:
    - GenericLayout*::getActiveVar
    - getVisibleVar
    - resize
    - getHeight
    - GenericLayout*::getHeight
    - GenericLayout*::resize
    - GenericLayout*::onShow
    - getWidth
    - GenericLayout*::isTightlyCoupledWith
    - onHide
    - GenericLayout*::getWidth
    - GenericLayout*::setWindow
    - getActiveVar
    linkageType: ''
    returnType: void
    signature: void TopWindow::setActiveLayout( GenericLayout *pLayout )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: '& TopWindow::getActiveLayout() const'
    functionSourceFile: /src/vlc/modules/gui/skins2/src/top_window.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GenericLayout
    signature: GenericLayout & TopWindow::getActiveLayout() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: onShow
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:384,1
    - Dst: GenericWindow::innerShow
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 389
    functionName: TopWindow::innerShow
    functionSourceFile: /src/vlc/modules/gui/skins2/src/top_window.cpp
    functionUses: 0
    functionsReached:
    - onShow
    - GenericWindow::innerShow
    linkageType: ''
    returnType: void
    signature: void TopWindow::innerShow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: onHide
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:397,1
    - Dst: GenericWindow::innerHide
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: TopWindow::innerHide
    functionSourceFile: /src/vlc/modules/gui/skins2/src/top_window.cpp
    functionUses: 0
    functionsReached:
    - GenericWindow::innerHide
    - onHide
    linkageType: ''
    returnType: void
    signature: void TopWindow::innerHide()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getImage
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:409,1
    - Dst: OSGraphics*::applyMaskToWindow
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:412,1
    - Dst: getOSWindow
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:412,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 415
    functionName: TopWindow::updateShape
    functionSourceFile: /src/vlc/modules/gui/skins2/src/top_window.cpp
    functionUses: 0
    functionsReached:
    - OSGraphics*::applyMaskToWindow
    - getOSWindow
    - getImage
    linkageType: ''
    returnType: void
    signature: void TopWindow::updateShape()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rCtrl
    argTypes:
    - CtrlGeneric
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 422
    functionName: TopWindow::onControlCapture
    functionSourceFile: /src/vlc/modules/gui/skins2/src/top_window.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TopWindow::onControlCapture( const CtrlGeneric &rCtrl )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:434,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:434,1
    - Dst: handleEvent
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:442,1
    - Dst: hideTooltip
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:445,1
    - Dst: getTooltipText
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:446,1
    - Dst: UString::length
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:447,1
    - Dst: VarManager::instance
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:450,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:450,1
    - Dst: VarManager*::getTooltipText
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:451,1
    - Dst: showTooltip
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:452,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - rCtrl
    argTypes:
    - CtrlGeneric
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 425
    functionDepth: 3
    functionLinenumber: 425
    functionLinenumberEnd: 455
    functionName: TopWindow::onControlRelease
    functionSourceFile: /src/vlc/modules/gui/skins2/src/top_window.cpp
    functionUses: 0
    functionsReached:
    - hideTooltip
    - VarManager*::getTooltipText
    - getTooltipText
    - UString::length
    - handleEvent
    - getIntf
    - msg_Dbg
    - VarManager::instance
    - showTooltip
    linkageType: ''
    returnType: void
    signature: void TopWindow::onControlRelease( const CtrlGeneric &rCtrl )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CtrlGeneric::getTooltipText
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:463,1
    - Dst: VarManager::instance
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:466,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:466,1
    - Dst: VarManager*::getTooltipText
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:467,1
    - Dst: CtrlGeneric::getTooltipText
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:467,1
    - Dst: showTooltip
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:468,1
    - Dst: hideTooltip
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:473,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - rCtrl
    argTypes:
    - CtrlGeneric
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 458
    functionDepth: 3
    functionLinenumber: 458
    functionLinenumberEnd: 476
    functionName: TopWindow::onTooltipChange
    functionSourceFile: /src/vlc/modules/gui/skins2/src/top_window.cpp
    functionUses: 0
    functionsReached:
    - CtrlGeneric::getTooltipText
    - hideTooltip
    - VarManager*::getTooltipText
    - getIntf
    - showTooltip
    - VarManager::instance
    linkageType: ''
    returnType: void
    signature: void TopWindow::onTooltipChange( const CtrlGeneric &rCtrl )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getControlList
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:487,1
    - Dst: std::list::rbegin
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:494,1
    - Dst: std::list::rend
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:494,1
    - Dst: m_pControl::getPosition
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:497,1
    - Dst: Position*::getLeft
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:501,1
    - Dst: Position*::getTop
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:502,1
    - Dst: CtrlGeneric*::isVisible
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:506,1
    - Dst: CtrlGeneric*::mouseOver
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:506,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:514,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:514,1
    - Dst: CtrlGeneric*::handleEvent
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:525,1
    - Dst: hideTooltip
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:530,1
    - Dst: CtrlGeneric*::getTooltipText
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:531,1
    - Dst: UString::length
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:532,1
    - Dst: VarManager::instance
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:535,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:535,1
    - Dst: VarManager*::getTooltipText
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:536,1
    - Dst: showTooltip
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:537,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 2
    argNames:
    - xPos
    - yPos
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 479
    functionDepth: 3
    functionLinenumber: 479
    functionLinenumberEnd: 544
    functionName: TopWindow::findHitControl
    functionSourceFile: /src/vlc/modules/gui/skins2/src/top_window.cpp
    functionUses: 5
    functionsReached:
    - CtrlGeneric*::handleEvent
    - hideTooltip
    - Position*::getLeft
    - CtrlGeneric*::mouseOver
    - CtrlGeneric*::getTooltipText
    - VarManager*::getTooltipText
    - UString::length
    - getControlList
    - m_pControl::getPosition
    - CtrlGeneric*::isVisible
    - getIntf
    - std::list::rend
    - msg_Dbg
    - VarManager::instance
    - showTooltip
    - std::list::rbegin
    - Position*::getTop
    linkageType: ''
    returnType: CtrlGeneric
    signature: CtrlGeneric *TopWindow::findHitControl( int xPos, int yPos )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: handleEvent
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:557,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pNewHitControl
    argTypes:
    - CtrlGeneric*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 562
    functionName: TopWindow::setLastHit
    functionSourceFile: /src/vlc/modules/gui/skins2/src/top_window.cpp
    functionUses: 4
    functionsReached:
    - handleEvent
    linkageType: ''
    returnType: void
    signature: void TopWindow::setLastHit( CtrlGeneric *pNewHitControl )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericWindow::onDestroyed
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:566,1
    - Dst: onWindowHidden
      Src: /src/vlc/modules/gui/skins2/src/top_window.cpp:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 569
    functionName: TopWindow::onDestroyed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/top_window.cpp
    functionUses: 0
    functionsReached:
    - onWindowHidden
    - GenericWindow::onDestroyed
    linkageType: ''
    returnType: void
    signature: void TopWindow::onDestroyed()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: VoutWindow::getWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_window.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GenericWindow
    signature: GenericWindow * getWindow( )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: VoutWindow::getCtrlVideo
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_window.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CtrlVideo
    signature: CtrlVideo * getCtrlVideo( )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: VoutWindow::getOriginalWidth
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_window.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getOriginalWidth( )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: VoutWindow::getOriginalHeight
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_window.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getOriginalHeight( )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - width
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: VoutWindow::setOriginalWidth
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_window.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOriginalWidth( int width )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - height
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: VoutWindow::setOriginalHeight
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_window.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOriginalHeight( int height )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: VoutWindow::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_window.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: ~OSGraphics()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/os_graphics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~OSGraphics()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: OSGraphics::OSGraphics
    functionSourceFile: /src/vlc/modules/gui/skins2/src/os_graphics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OSGraphics( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: SkinObject::SkinObject
    functionSourceFile: /src/vlc/modules/gui/skins2/src/skin_common.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SkinObject( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: ~SkinObject()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/skin_common.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SkinObject()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: SkinObject::getIntf
    functionSourceFile: /src/vlc/modules/gui/skins2/src/skin_common.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: intf_thread_t
    signature: intf_thread_t *getIntf() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_intf_GetMainPlaylist
      Src: /src/vlc/modules/gui/skins2/src/skin_common.hpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: SkinObject::getPL
    functionSourceFile: /src/vlc/modules/gui/skins2/src/skin_common.hpp
    functionUses: 0
    functionsReached:
    - vlc_intf_GetMainPlaylist
    linkageType: ''
    returnType: vlc_playlist_t
    signature: vlc_playlist_t *getPL() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: OSFactory::init
    functionSourceFile: /src/vlc/modules/gui/skins2/src/os_factory.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 146
    functionName: OSFactory::OSFactory
    functionSourceFile: /src/vlc/modules/gui/skins2/src/os_factory.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OSFactory( intf_thread_t* pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: ~OSFactory()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/os_factory.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~OSFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - pIntf
    - rPosition
    - range
    - priority
    - rCurve
    - rLayout
    argTypes:
    - intf_thread_t*
    - Position
    - int
    - int
    - Bezier
    - GenericLayout
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: Anchor::Anchor
    functionSourceFile: /src/vlc/modules/gui/skins2/src/anchor.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Anchor( intf_thread_t *pIntf, const Position &rPosition, int
      range,\n            int priority, const Bezier &rCurve, GenericLayout &rLayout
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: ~Anchor()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/anchor.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Anchor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNbCtrlPoints
      Src: /src/vlc/modules/gui/skins2/src/anchor.hpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: Anchor::isPoint
    functionSourceFile: /src/vlc/modules/gui/skins2/src/anchor.hpp
    functionUses: 2
    functionsReached:
    - getNbCtrlPoints
    linkageType: ''
    returnType: bool
    signature: bool isPoint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: '& getPosition() const'
    functionSourceFile: /src/vlc/modules/gui/skins2/src/anchor.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Position
    signature: Position & getPosition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLeft
      Src: /src/vlc/modules/gui/skins2/src/anchor.hpp:72,1
    - Dst: getLeft
      Src: /src/vlc/modules/gui/skins2/src/anchor.hpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: Anchor::getXPosAbs
    functionSourceFile: /src/vlc/modules/gui/skins2/src/anchor.hpp
    functionUses: 2
    functionsReached:
    - getLeft
    linkageType: ''
    returnType: int
    signature: int getXPosAbs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTop
      Src: /src/vlc/modules/gui/skins2/src/anchor.hpp:77,1
    - Dst: getTop
      Src: /src/vlc/modules/gui/skins2/src/anchor.hpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: Anchor::getYPosAbs
    functionSourceFile: /src/vlc/modules/gui/skins2/src/anchor.hpp
    functionUses: 2
    functionsReached:
    - getTop
    linkageType: ''
    returnType: int
    signature: int getYPosAbs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '&getTooltipText()'
    functionSourceFile: /src/vlc/modules/gui/skins2/src/var_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VarText
    signature: VarText &getTooltipText()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '&getHelpText()'
    functionSourceFile: /src/vlc/modules/gui/skins2/src/var_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VarText
    signature: VarText &getHelpText()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~OSWindow()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/os_window.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~OSWindow()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: OSWindow::OSWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/src/os_window.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OSWindow( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pControl
    - layer
    argTypes:
    - CtrlGeneric*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: LayeredControl
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_layout.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LayeredControl( CtrlGeneric *pControl, int layer )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: GenericLayout::getWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_layout.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TopWindow
    signature: TopWindow *getWindow() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: GenericLayout::getImage
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_layout.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSGraphics
    signature: OSGraphics *getImage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericLayout::getLeft
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.hpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: GenericLayout::getLeft
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_layout.hpp
    functionUses: 1
    functionsReached:
    - GenericLayout::getLeft
    linkageType: ''
    returnType: int
    signature: int getLeft() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericLayout::getTop
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.hpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: GenericLayout::getTop
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_layout.hpp
    functionUses: 1
    functionsReached:
    - GenericLayout::getTop
    linkageType: ''
    returnType: int
    signature: int getTop() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericLayout::getWidth
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.hpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: GenericLayout::getWidth
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_layout.hpp
    functionUses: 1
    functionsReached:
    - GenericLayout::getWidth
    linkageType: ''
    returnType: int
    signature: int getWidth() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericLayout::getHeight
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.hpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: GenericLayout::getHeight
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_layout.hpp
    functionUses: 1
    functionsReached:
    - GenericLayout::getHeight
    linkageType: ''
    returnType: int
    signature: int getHeight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: '&getRect() const'
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_layout.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GenericRect
    signature: GenericRect &getRect() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: GenericLayout::getMinWidth
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_layout.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getMinWidth() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: GenericLayout::getMaxWidth
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_layout.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getMaxWidth() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: GenericLayout::getMinHeight
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_layout.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getMinHeight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: GenericLayout::getMaxHeight
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_layout.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getMaxHeight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: GenericLayout::isVisible
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_layout.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isVisible( ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: '&getActiveVar()'
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_layout.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VarBoolImpl
    signature: VarBoolImpl &getActiveVar()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:81,1
    - Dst: vlc_sem_init
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:99,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:102,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:104,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:108,1
    - Dst: vlc_join
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:112,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 121
    functionName: Open
    functionSourceFile: /src/vlc/modules/gui/skins2/src/skin_main.cpp
    functionUses: 59
    functionsReached:
    - vlc_sem_init
    - vlc_sem_wait
    - vlc_clone
    - calloc
    - free
    - vlc_join
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:130,1
    - Dst: vlc_intf_GetMainPlaylist
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:133,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:134,1
    - Dst: vlc_playlist_Stop
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:135,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:136,1
    - Dst: wait
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:141,1
    - Dst: CmdExitLoop::CmdExitLoop
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:151,1
    - Dst: AsyncQueue*::push
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:153,1
    - Dst: CmdGenericPtr
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:153,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:157,1
    - Dst: vlc_join
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:160,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 164
    functionName: Close
    functionSourceFile: /src/vlc/modules/gui/skins2/src/skin_main.cpp
    functionUses: 151
    functionsReached:
    - vlc_intf_GetMainPlaylist
    - vlc_playlist_Lock
    - vlc_playlist_Unlock
    - CmdGenericPtr
    - msg_Err
    - free
    - vlc_join
    - msg_Dbg
    - AsyncQueue*::push
    - wait
    - vlc_playlist_Stop
    - CmdExitLoop::CmdExitLoop
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:172,1
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:182,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:184,1
    - Dst: AsyncQueue::instance
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:188,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:190,1
    - Dst: Interpreter::instance
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:194,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:196,1
    - Dst: VarManager::instance
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:200,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:202,1
    - Dst: VlcProc::instance
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:206,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:208,1
    - Dst: VoutManager::instance
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:212,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:214,1
    - Dst: ArtManager::instance
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:218,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:220,1
    - Dst: ThemeRepository::instance
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:224,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:226,1
    - Dst: Dialogs::instance
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:230,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:232,1
    - Dst: config_GetPsz
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:238,1
    - Dst: std::make_unique<ThemeLoader>
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:239,1
    - Dst: std::unique_ptr::load
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:241,1
    - Dst: CmdQuit::CmdQuit
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:244,1
    - Dst: AsyncQueue::instance
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:245,1
    - Dst: AsyncQueue*::push
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:246,1
    - Dst: CmdGenericPtr
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:246,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:247,1
    - Dst: std::unique_ptr::reset
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:250,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:251,1
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:254,1
    - Dst: vlc_sem_post
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:258,1
    - Dst: OSLoop*::run
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:261,1
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:264,1
    - Dst: intf_thread_t*::p_sys::p_theme::saveConfig
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:269,1
    - Dst: intf_thread_t*::p_sys::p_theme::reset
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:270,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:271,1
    - Dst: config_SaveConfigFile
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:275,1
    - Dst: Dialogs::destroy
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:279,1
    - Dst: ThemeRepository::destroy
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:280,1
    - Dst: ArtManager::destroy
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:281,1
    - Dst: VoutManager::destroy
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:282,1
    - Dst: VlcProc::destroy
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:283,1
    - Dst: VarManager::destroy
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:284,1
    - Dst: Interpreter::destroy
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:285,1
    - Dst: AsyncQueue::destroy
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:286,1
    - Dst: OSFactory::destroy
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:287,1
    - Dst: vlc_sem_post
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:292,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 91
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 170
    functionDepth: 3
    functionLinenumber: 170
    functionLinenumberEnd: 296
    functionName: Run
    functionSourceFile: /src/vlc/modules/gui/skins2/src/skin_main.cpp
    functionUses: 10
    functionsReached:
    - Dialogs::instance
    - Interpreter::destroy
    - CmdQuit::CmdQuit
    - ThemeRepository::destroy
    - ArtManager::destroy
    - VlcProc::instance
    - config_GetPsz
    - intf_thread_t*::p_sys::p_theme::reset
    - config_SaveConfigFile
    - AsyncQueue::destroy
    - VoutManager::instance
    - msg_Err
    - AsyncQueue::instance
    - AsyncQueue*::push
    - msg_Dbg
    - OSFactory::instance
    - Dialogs::destroy
    - vlc_thread_set_name
    - Interpreter::instance
    - intf_thread_t*::p_sys::p_theme::saveConfig
    - VoutManager::destroy
    - VlcProc::destroy
    - VarManager::instance
    - OSFactory::destroy
    - ThemeRepository::instance
    - OSLoop*::run
    - std::make_unique<ThemeLoader>
    - std::unique_ptr::load
    - std::unique_ptr::reset
    - ArtManager::instance
    - vlc_sem_post
    - CmdGenericPtr
    - free
    - VarManager::destroy
    linkageType: ''
    returnType: void
    signature: void *Run( void * p_obj )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VoutManager::instance
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pIntf
    - pObj
    argTypes:
    - intf_thread_t*
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 315
    functionName: WindowOpenLocal
    functionSourceFile: /src/vlc/modules/gui/skins2/src/skin_main.cpp
    functionUses: 0
    functionsReached:
    - VoutManager::instance
    linkageType: ''
    returnType: void
    signature: void WindowOpenLocal( intf_thread_t* pIntf, vlc_object_t *pObj )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VoutManager::instance
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pIntf
    - pObj
    argTypes:
    - intf_thread_t*
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 321
    functionName: WindowCloseLocal
    functionSourceFile: /src/vlc/modules/gui/skins2/src/skin_main.cpp
    functionUses: 0
    functionsReached:
    - VoutManager::instance
    linkageType: ''
    returnType: void
    signature: void WindowCloseLocal( intf_thread_t* pIntf, vlc_object_t *pObj )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vout_window_skins_t*>
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:327,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:341,1
    - Dst: CmdExecuteBlock::CmdExecuteBlock
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:341,1
    - Dst: CmdExecuteBlock::executeWait
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:343,1
    - Dst: CmdGenericPtr
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:343,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:347,1
    - Dst: WindowSetFullscreen
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pWnd
    - cfg
    argTypes:
    - vlc_window_t*
    - vlc_window_cfg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 357
    functionName: WindowEnable
    functionSourceFile: /src/vlc/modules/gui/skins2/src/skin_main.cpp
    functionUses: 7
    functionsReached:
    - static_cast<vout_window_skins_t*>
    - CmdExecuteBlock::CmdExecuteBlock
    - WindowSetFullscreen
    - CmdGenericPtr
    - msg_Dbg
    - VLC_OBJECT
    - CmdExecuteBlock::executeWait
    linkageType: ''
    returnType: int
    signature: int WindowEnable( vlc_window_t *pWnd, const vlc_window_cfg_t *cfg )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:366,1
    - Dst: CmdExecuteBlock::CmdExecuteBlock
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:366,1
    - Dst: CmdExecuteBlock::executeWait
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:368,1
    - Dst: CmdGenericPtr
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:368,1
    - Dst: signal
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pWnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 375
    functionName: WindowDisable
    functionSourceFile: /src/vlc/modules/gui/skins2/src/skin_main.cpp
    functionUses: 7
    functionsReached:
    - CmdExecuteBlock::CmdExecuteBlock
    - CmdGenericPtr
    - VLC_OBJECT
    - CmdExecuteBlock::executeWait
    - signal
    linkageType: ''
    returnType: void
    signature: void WindowDisable( vlc_window_t *pWnd )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AsyncQueue::instance
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:387,1
    - Dst: CmdResizeVout::CmdResizeVout
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:388,1
    - Dst: AsyncQueue*::push
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:390,1
    - Dst: CmdGenericPtr
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - pWnd
    - i_width
    - i_height
    argTypes:
    - vlc_window_t*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 391
    functionName: WindowResize
    functionSourceFile: /src/vlc/modules/gui/skins2/src/skin_main.cpp
    functionUses: 0
    functionsReached:
    - CmdResizeVout::CmdResizeVout
    - AsyncQueue::instance
    - AsyncQueue*::push
    - CmdGenericPtr
    linkageType: ''
    returnType: void
    signature: "void WindowResize( vlc_window_t *pWnd,\n                          unsigned
      i_width, unsigned i_height )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsyncQueue::instance
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:397,1
    - Dst: CmdSetOnTop::CmdSetOnTop
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:401,1
    - Dst: AsyncQueue*::push
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:402,1
    - Dst: CmdGenericPtr
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pWnd
    - i_arg
    argTypes:
    - vlc_window_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 403
    functionName: WindowSetState
    functionSourceFile: /src/vlc/modules/gui/skins2/src/skin_main.cpp
    functionUses: 0
    functionsReached:
    - CmdSetOnTop::CmdSetOnTop
    - AsyncQueue::instance
    - AsyncQueue*::push
    - CmdGenericPtr
    linkageType: ''
    returnType: void
    signature: void WindowSetState( vlc_window_t *pWnd, unsigned i_arg )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsyncQueue::instance
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:409,1
    - Dst: CmdSetFullscreen::CmdSetFullscreen
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:410,1
    - Dst: AsyncQueue*::push
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:412,1
    - Dst: CmdGenericPtr
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pWnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 413
    functionName: WindowUnsetFullscreen
    functionSourceFile: /src/vlc/modules/gui/skins2/src/skin_main.cpp
    functionUses: 0
    functionsReached:
    - CmdGenericPtr
    - AsyncQueue::instance
    - AsyncQueue*::push
    - CmdSetFullscreen::CmdSetFullscreen
    linkageType: ''
    returnType: void
    signature: void WindowUnsetFullscreen( vlc_window_t *pWnd )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsyncQueue::instance
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:419,1
    - Dst: CmdSetFullscreen::CmdSetFullscreen
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:421,1
    - Dst: AsyncQueue*::push
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:423,1
    - Dst: CmdGenericPtr
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pWnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 424
    functionName: WindowSetFullscreen
    functionSourceFile: /src/vlc/modules/gui/skins2/src/skin_main.cpp
    functionUses: 1
    functionsReached:
    - CmdGenericPtr
    - AsyncQueue::instance
    - AsyncQueue*::push
    - CmdSetFullscreen::CmdSetFullscreen
    linkageType: ''
    returnType: void
    signature: void WindowSetFullscreen( vlc_window_t *pWnd, const char * )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:440,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:441,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:453,1
    - Dst: vout_window_skins_t::vout_window_skins_t
      Src: /src/vlc/modules/gui/skins2/src/skin_main.cpp:456,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - pWnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 465
    functionName: WindowOpen
    functionSourceFile: /src/vlc/modules/gui/skins2/src/skin_main.cpp
    functionUses: 0
    functionsReached:
    - var_InheritBool
    - vout_window_skins_t::vout_window_skins_t
    linkageType: ''
    returnType: int
    signature: int WindowOpen( vlc_window_t *pWnd )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pWnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 472
    functionName: WindowClose
    functionSourceFile: /src/vlc/modules/gui/skins2/src/skin_main.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WindowClose( vlc_window_t *pWnd )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - pIntf
    - nbFrames
    - fps
    - nbLoops
    argTypes:
    - intf_thread_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: GenericBitmap::GenericBitmap
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_bitmap.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GenericBitmap::GenericBitmap( intf_thread_t *pIntf,\n                              int
      nbFrames, int fps, int nbLoops )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/src/generic_bitmap.cpp:39,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/generic_bitmap.cpp:39,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/src/generic_bitmap.cpp:41,1
    - Dst: getHeight
      Src: /src/vlc/modules/gui/skins2/src/generic_bitmap.cpp:42,1
    - Dst: OSFactory*::createOSGraphics
      Src: /src/vlc/modules/gui/skins2/src/generic_bitmap.cpp:45,1
    - Dst: drawBitmap
      Src: /src/vlc/modules/gui/skins2/src/generic_bitmap.cpp:46,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/src/generic_bitmap.cpp:50,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/generic_bitmap.cpp:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 52
    functionName: GenericBitmap::getGraphics
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_bitmap.cpp
    functionUses: 0
    functionsReached:
    - drawBitmap
    - getHeight
    - msg_Err
    - getIntf
    - getWidth
    - OSFactory*::createOSGraphics
    - OSFactory::instance
    linkageType: ''
    returnType: OSGraphics
    signature: OSGraphics *GenericBitmap::getGraphics() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mul_overflow
      Src: /src/vlc/modules/gui/skins2/src/generic_bitmap.cpp:62,1
    - Dst: mul_overflow
      Src: /src/vlc/modules/gui/skins2/src/generic_bitmap.cpp:63,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/skins2/src/generic_bitmap.cpp:64,1
    - Dst: uint8_t::uint8_t
      Src: /src/vlc/modules/gui/skins2/src/generic_bitmap.cpp:66,1
    - Dst: memset
      Src: /src/vlc/modules/gui/skins2/src/generic_bitmap.cpp:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 6
    argNames:
    - pIntf
    - width
    - height
    - nbFrames
    - fps
    - nbLoops
    argTypes:
    - intf_thread_t*
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 68
    functionName: BitmapImpl::BitmapImpl
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_bitmap.cpp
    functionUses: 1
    functionsReached:
    - uint8_t::uint8_t
    - std::bad_alloc
    - memset
    - mul_overflow
    linkageType: ''
    returnType: void
    signature: "void BitmapImpl::BitmapImpl( intf_thread_t *pIntf, int width, int
      height,\n                        int nbFrames, int fps, int nbLoops )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: BitmapImpl::~BitmapImpl()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_bitmap.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BitmapImpl::~BitmapImpl()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GenericBitmap::getWidth
      Src: /src/vlc/modules/gui/skins2/src/generic_bitmap.cpp:80,1
    - Dst: GenericBitmap::getData
      Src: /src/vlc/modules/gui/skins2/src/generic_bitmap.cpp:81,1
    - Dst: GenericBitmap::getHeight
      Src: /src/vlc/modules/gui/skins2/src/generic_bitmap.cpp:83,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/skins2/src/generic_bitmap.cpp:85,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/generic_bitmap.cpp:85,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/skins2/src/generic_bitmap.cpp:91,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/generic_bitmap.cpp:91,1
    - Dst: memcpy
      Src: /src/vlc/modules/gui/skins2/src/generic_bitmap.cpp:98,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 7
    argNames:
    - rSource
    - xSrc
    - ySrc
    - xDest
    - yDest
    - width
    - height
    argTypes:
    - GenericBitmap
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 103
    functionName: BitmapImpl::drawBitmap
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_bitmap.cpp
    functionUses: 0
    functionsReached:
    - GenericBitmap::getWidth
    - GenericBitmap::getHeight
    - memcpy
    - getIntf
    - GenericBitmap::getData
    - msg_Warn
    linkageType: ''
    returnType: bool
    signature: "bool BitmapImpl::drawBitmap( const GenericBitmap &rSource, int xSrc,
      int ySrc,\n                             int xDest, int yDest, int width, int
      height )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pWnd
    argTypes:
    - struct vlc_window*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: SavedWnd::SavedWnd
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SavedWnd( struct vlc_window *pWnd, VoutWindow* pVoutWindow =
      NULL,\n               CtrlVideo* pCtrlVideo = NULL, int height = -1, int width
      = -1 )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: ~SavedWnd()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SavedWnd()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.hpp:68,1
    - Dst: move
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.hpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: VoutMainWindow::VoutMainWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_manager.hpp
    functionUses: 1
    functionsReached:
    - resize
    - move
    linkageType: ''
    returnType: void
    signature: void VoutMainWindow( intf_thread_t *pIntf, int left = 0, int top =
      0 )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: ~VoutMainWindow()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VoutMainWindow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EvtKey::getKeyState
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.hpp:78,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.hpp:79,1
    - Dst: p_dialogs::sendKey
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.hpp:79,1
    - Dst: EvtKey::getModKey
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.hpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - rEvtKey
    argTypes:
    - EvtKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: VoutMainWindow::processEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_manager.hpp
    functionUses: 0
    functionsReached:
    - getIntf
    - EvtKey::getKeyState
    - p_dialogs::sendKey
    - EvtKey::getModKey
    linkageType: ''
    returnType: void
    signature: void processEvent( EvtKey &rEvtKey )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EvtScroll::getMod
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.hpp:86,1
    - Dst: EvtScroll::getDirection
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.hpp:87,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.hpp:90,1
    - Dst: p_dialogs::sendKey
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.hpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rEvtScroll
    argTypes:
    - EvtScroll
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: VoutMainWindow::processEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_manager.hpp
    functionUses: 0
    functionsReached:
    - EvtScroll::getMod
    - p_dialogs::sendKey
    - getIntf
    - EvtScroll::getDirection
    linkageType: ''
    returnType: void
    signature: void processEvent( EvtScroll &rEvtScroll )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: VoutManager::getFscWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FscWindow
    signature: FscWindow * getFscWindow( )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: VoutManager::getVoutMainWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VoutMainWindow
    signature: VoutMainWindow * getVoutMainWindow()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/gui/skins2/src/vout_manager.hpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: VoutManager::hasVout
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_manager.hpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool hasVout()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mul_overflow
      Src: /src/vlc/modules/gui/skins2/src/ft2_bitmap.cpp:32,1
    - Dst: mul_overflow
      Src: /src/vlc/modules/gui/skins2/src/ft2_bitmap.cpp:33,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/skins2/src/ft2_bitmap.cpp:34,1
    - Dst: uint8_t::uint8_t
      Src: /src/vlc/modules/gui/skins2/src/ft2_bitmap.cpp:37,1
    - Dst: memset
      Src: /src/vlc/modules/gui/skins2/src/ft2_bitmap.cpp:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - pIntf
    - width
    - height
    argTypes:
    - intf_thread_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: FT2Bitmap::FT2Bitmap
    functionSourceFile: /src/vlc/modules/gui/skins2/src/ft2_bitmap.cpp
    functionUses: 0
    functionsReached:
    - uint8_t::uint8_t
    - std::bad_alloc
    - memset
    - mul_overflow
    linkageType: ''
    returnType: void
    signature: void FT2Bitmap::FT2Bitmap( intf_thread_t *pIntf, int width, int height
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: FT2Bitmap::~FT2Bitmap()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/ft2_bitmap.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT2Bitmap::~FT2Bitmap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - rBitmap
    - left
    - top
    - color
    argTypes:
    - FT_Bitmap
    - int
    - int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 71
    functionName: FT2Bitmap::draw
    functionSourceFile: /src/vlc/modules/gui/skins2/src/ft2_bitmap.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FT2Bitmap::draw( const FT_Bitmap &rBitmap, int left, int top,\n
      \                     uint32_t color )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: ~Popup()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/popup.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Popup()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: video_format_Init
      Src: /src/vlc/modules/gui/skins2/src/file_bitmap.cpp:43,1
    - Dst: strstr
      Src: /src/vlc/modules/gui/skins2/src/file_bitmap.cpp:47,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/src/file_bitmap.cpp:47,1
    - Dst: vlc_path2uri
      Src: /src/vlc/modules/gui/skins2/src/file_bitmap.cpp:49,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/src/file_bitmap.cpp:49,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/src/file_bitmap.cpp:53,1
    - Dst: image_ReadUrl
      Src: /src/vlc/modules/gui/skins2/src/file_bitmap.cpp:56,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/src/file_bitmap.cpp:56,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/gui/skins2/src/file_bitmap.cpp:59,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/gui/skins2/src/file_bitmap.cpp:65,1
    - Dst: mul_overflow
      Src: /src/vlc/modules/gui/skins2/src/file_bitmap.cpp:67,1
    - Dst: mul_overflow
      Src: /src/vlc/modules/gui/skins2/src/file_bitmap.cpp:68,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/skins2/src/file_bitmap.cpp:69,1
    - Dst: uint8_t::uint8_t
      Src: /src/vlc/modules/gui/skins2/src/file_bitmap.cpp:71,1
    - Dst: picture_Release
      Src: /src/vlc/modules/gui/skins2/src/file_bitmap.cpp:102,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 7
    argNames:
    - pIntf
    - pImageHandler
    - fileName
    - aColor
    - nbFrames
    - fps
    - nbLoops
    argTypes:
    - intf_thread_t*
    - image_handler_t*
    - std::string
    - uint32_t
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 104
    functionName: FileBitmap::FileBitmap
    functionSourceFile: /src/vlc/modules/gui/skins2/src/file_bitmap.cpp
    functionUses: 0
    functionsReached:
    - video_format_Init
    - std::bad_alloc
    - free
    - std::string::c_str
    - uint8_t::uint8_t
    - picture_Release
    - strstr
    - image_ReadUrl
    - video_format_Clean
    - vlc_path2uri
    - mul_overflow
    linkageType: ''
    returnType: void
    signature: "void FileBitmap::FileBitmap( intf_thread_t *pIntf, image_handler_t
      *pImageHandler,\n                        const std::string &fileName, uint32_t
      aColor, int nbFrames,\n                        int fps, int nbLoops )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: FileBitmap::~FileBitmap()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/file_bitmap.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileBitmap::~FileBitmap()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/skins2/src/file_bitmap.cpp:117,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/file_bitmap.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: FileBitmap::getData
    functionSourceFile: /src/vlc/modules/gui/skins2/src/file_bitmap.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - msg_Warn
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *FileBitmap::getData() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ThemeRepository::ThemeRepository
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: ThemeRepository::instance
    functionSourceFile: /src/vlc/modules/gui/skins2/src/theme_repository.cpp
    functionUses: 1
    functionsReached:
    - ThemeRepository::ThemeRepository
    linkageType: ''
    returnType: ThemeRepository
    signature: ThemeRepository *ThemeRepository::instance( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: ThemeRepository::destroy
    functionSourceFile: /src/vlc/modules/gui/skins2/src/theme_repository.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ThemeRepository::destroy( intf_thread_t *pIntf )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: var_Create
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:57,1
    - Dst: var_Change
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:58,1
    - Dst: _
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:58,1
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:61,1
    - Dst: OSFactory*::getResourcePath
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:62,1
    - Dst: std::list::begin
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:64,1
    - Dst: std::list::end
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:64,1
    - Dst: ThemeRepository::parseDirectory
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:66,1
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:72,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:72,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:76,1
    - Dst: var_Change
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:77,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:77,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:78,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:88,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:88,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:90,1
    - Dst: vlc_stat
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:94,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:94,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:95,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:95,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:96,1
    - Dst: config_PutPsz
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:103,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:103,1
    - Dst: ThemeRepository::updateRepository
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:106,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:109,1
    - Dst: var_Create
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:112,1
    - Dst: var_Change
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:114,1
    - Dst: _
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:115,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 120
    functionName: ThemeRepository::ThemeRepository
    functionSourceFile: /src/vlc/modules/gui/skins2/src/theme_repository.cpp
    functionUses: 1
    functionsReached:
    - OSFactory*::getResourcePath
    - ThemeRepository::updateRepository
    - std::string::c_str
    - getIntf
    - std::list::begin
    - var_AddCallback
    - std::list::end
    - begin
    - _
    - var_Create
    - msg_Dbg
    - config_PutPsz
    - OSFactory::instance
    - vlc_stat
    - end
    - var_InheritString
    - ThemeRepository::parseDirectory
    - free
    - var_Change
    linkageType: ''
    returnType: void
    signature: void ThemeRepository::ThemeRepository( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:125,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:127,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:127,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:128,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:128,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:130,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:130,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:131,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: ThemeRepository::~ThemeRepository()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/theme_repository.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - var_Destroy
    - clear
    - var_DelCallback
    linkageType: ''
    returnType: void
    signature: void ThemeRepository::~ThemeRepository()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:139,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:139,1
    - Dst: vlc_opendir
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:142,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:142,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:146,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:146,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:146,1
    - Dst: vlc_readdir
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:151,1
    - Dst: std::string::size
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:155,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:157,1
    - Dst: std::string::size
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:157,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:162,1
    - Dst: std::string::size
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:162,1
    - Dst: std::string::size
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:163,1
    - Dst: toupper
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:165,1
    - Dst: tolower
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:166,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:169,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:169,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:169,1
    - Dst: vlc_closedir
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:173,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - rDir
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 174
    functionName: ThemeRepository::parseDirectory
    functionSourceFile: /src/vlc/modules/gui/skins2/src/theme_repository.cpp
    functionUses: 1
    functionsReached:
    - vlc_closedir
    - tolower
    - std::string::size
    - std::string::c_str
    - getIntf
    - msg_Dbg
    - std::string::substr
    - vlc_readdir
    - toupper
    - OSFactory::instance
    - vlc_opendir
    linkageType: ''
    returnType: void
    signature: void ThemeRepository::parseDirectory( const std::string &rDir )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:185,1
    - Dst: ThemeRepository*::getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:187,1
    - Dst: CmdDlgChangeSkin::execute
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:188,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:190,1
    - Dst: ThemeRepository*::getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:193,1
    - Dst: CmdChangeSkin::CmdChangeSkin
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:193,1
    - Dst: AsyncQueue::instance
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:195,1
    - Dst: ThemeRepository*::getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:195,1
    - Dst: AsyncQueue*::push
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:196,1
    - Dst: CmdGenericPtr
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - pIntf
    - pVariable
    - oldval
    - newval
    - pData
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 200
    functionName: ThemeRepository::changeSkin
    functionSourceFile: /src/vlc/modules/gui/skins2/src/theme_repository.cpp
    functionUses: 0
    functionsReached:
    - CmdGenericPtr
    - CmdDlgChangeSkin::execute
    - strcmp
    - AsyncQueue::instance
    - AsyncQueue*::push
    - CmdChangeSkin::CmdChangeSkin
    - ThemeRepository*::getIntf
    linkageType: ''
    returnType: int
    signature: "int ThemeRepository::changeSkin( vlc_object_t *pIntf, char const *pVariable,\n
      \                                vlc_value_t oldval, vlc_value_t newval,\n                                 void
      *pData )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: config_GetPsz
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:208,1
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:217,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:217,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:222,1
    - Dst: var_Change
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:224,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:224,1
    - Dst: var_Change
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:231,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:231,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/src/theme_repository.cpp:233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 234
    functionName: ThemeRepository::updateRepository
    functionSourceFile: /src/vlc/modules/gui/skins2/src/theme_repository.cpp
    functionUses: 1
    functionsReached:
    - begin
    - free
    - getIntf
    - var_Change
    - end
    - config_GetPsz
    linkageType: ''
    returnType: void
    signature: void ThemeRepository::updateRepository()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: FileBitmap::getWidth
    functionSourceFile: /src/vlc/modules/gui/skins2/src/file_bitmap.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getWidth() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: FileBitmap::getHeight
    functionSourceFile: /src/vlc/modules/gui/skins2/src/file_bitmap.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getHeight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pIntf
    - rName
    - rPath
    argTypes:
    - intf_thread_t*
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: IniFile::IniFile
    functionSourceFile: /src/vlc/modules/gui/skins2/src/ini_file.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void IniFile::IniFile( intf_thread_t *pIntf, const std::string &rName,\n
      \                 const std::string &rPath )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VarManager::instance
      Src: /src/vlc/modules/gui/skins2/src/ini_file.cpp:37,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/ini_file.cpp:37,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/skins2/src/ini_file.cpp:40,1
    - Dst: std::fstream::is_open
      Src: /src/vlc/modules/gui/skins2/src/ini_file.cpp:41,1
    - Dst: std::fstream::eof
      Src: /src/vlc/modules/gui/skins2/src/ini_file.cpp:45,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/gui/skins2/src/ini_file.cpp:54,1
    - Dst: std::string::size
      Src: /src/vlc/modules/gui/skins2/src/ini_file.cpp:54,1
    - Dst: std::string::find
      Src: /src/vlc/modules/gui/skins2/src/ini_file.cpp:64,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/gui/skins2/src/ini_file.cpp:65,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/gui/skins2/src/ini_file.cpp:66,1
    - Dst: std::string::size
      Src: /src/vlc/modules/gui/skins2/src/ini_file.cpp:66,1
    - Dst: std::string::size
      Src: /src/vlc/modules/gui/skins2/src/ini_file.cpp:71,1
    - Dst: tolower
      Src: /src/vlc/modules/gui/skins2/src/ini_file.cpp:73,1
    - Dst: VarManager*::registerConst
      Src: /src/vlc/modules/gui/skins2/src/ini_file.cpp:77,1
    - Dst: std::fstream::close
      Src: /src/vlc/modules/gui/skins2/src/ini_file.cpp:80,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/src/ini_file.cpp:84,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/ini_file.cpp:84,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/skins2/src/ini_file.cpp:84,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 35
    functionDepth: 3
    functionLinenumber: 35
    functionLinenumberEnd: 86
    functionName: IniFile::parseFile
    functionSourceFile: /src/vlc/modules/gui/skins2/src/ini_file.cpp
    functionUses: 0
    functionsReached:
    - std::string::find
    - std::fstream::eof
    - VarManager*::registerConst
    - tolower
    - std::string::size
    - std::fstream::close
    - std::fstream::is_open
    - getIntf
    - VarManager::instance
    - std::string::substr
    - c_str
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void IniFile::parseFile()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mul_overflow
      Src: /src/vlc/modules/gui/skins2/src/scaled_bitmap.cpp:33,1
    - Dst: mul_overflow
      Src: /src/vlc/modules/gui/skins2/src/scaled_bitmap.cpp:34,1
    - Dst: std::bad_alloc
      Src: /src/vlc/modules/gui/skins2/src/scaled_bitmap.cpp:35,1
    - Dst: uint8_t::uint8_t
      Src: /src/vlc/modules/gui/skins2/src/scaled_bitmap.cpp:38,1
    - Dst: GenericBitmap::getWidth
      Src: /src/vlc/modules/gui/skins2/src/scaled_bitmap.cpp:40,1
    - Dst: GenericBitmap::getHeight
      Src: /src/vlc/modules/gui/skins2/src/scaled_bitmap.cpp:41,1
    - Dst: GenericBitmap::getData
      Src: /src/vlc/modules/gui/skins2/src/scaled_bitmap.cpp:42,1
    - Dst: GenericBitmap::getData
      Src: /src/vlc/modules/gui/skins2/src/scaled_bitmap.cpp:56,1
    - Dst: GenericBitmap::getData
      Src: /src/vlc/modules/gui/skins2/src/scaled_bitmap.cpp:85,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 4
    argNames:
    - pIntf
    - rBitmap
    - width
    - height
    argTypes:
    - intf_thread_t*
    - GenericBitmap
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 105
    functionName: ScaledBitmap::ScaledBitmap
    functionSourceFile: /src/vlc/modules/gui/skins2/src/scaled_bitmap.cpp
    functionUses: 0
    functionsReached:
    - GenericBitmap::getWidth
    - GenericBitmap::getHeight
    - std::bad_alloc
    - uint8_t::uint8_t
    - GenericBitmap::getData
    - mul_overflow
    linkageType: ''
    returnType: void
    signature: "void ScaledBitmap::ScaledBitmap( intf_thread_t *pIntf, const GenericBitmap
      &rBitmap,\n                            int width, int height )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: ScaledBitmap::~ScaledBitmap()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/scaled_bitmap.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScaledBitmap::~ScaledBitmap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~OSTooltip()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/os_tooltip.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~OSTooltip()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: OSTooltip::OSTooltip
    functionSourceFile: /src/vlc/modules/gui/skins2/src/os_tooltip.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OSTooltip( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ArtBitmap::getUriName
    functionSourceFile: /src/vlc/modules/gui/skins2/src/art_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getUriName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pIntf
    - pImageHandler
    - uriName
    argTypes:
    - intf_thread_t*
    - image_handler_t*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: ArtBitmap::ArtBitmap
    functionSourceFile: /src/vlc/modules/gui/skins2/src/art_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ArtBitmap( intf_thread_t *pIntf, image_handler_t *pImageHandler,\n
      \              const std::string &uriName )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: ~ArtBitmap()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/art_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ArtBitmap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VlcProc*::getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:68,1
    - Dst: CmdPlaytreeReset::CmdPlaytreeReset
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:68,1
    - Dst: AsyncQueue::instance
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:71,1
    - Dst: VlcProc*::getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:71,1
    - Dst: AsyncQueue*::push
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:72,1
    - Dst: CmdGenericPtr
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - playlist
    - items
    - count
    - data
    argTypes:
    - vlc_playlist_t*
    - vlc_playlist_item_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: on_playlist_items_reset
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - CmdGenericPtr
    - CmdPlaytreeReset::CmdPlaytreeReset
    - AsyncQueue::instance
    - VlcProc*::getIntf
    - AsyncQueue*::push
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_reset( vlc_playlist_t *playlist,\n                              vlc_playlist_item_t
      *const items[],\n                              size_t count, void *data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VlcProc*::getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:84,1
    - Dst: CmdPlaytreeAppend::CmdPlaytreeAppend
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:84,1
    - Dst: AsyncQueue::instance
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:87,1
    - Dst: VlcProc*::getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:87,1
    - Dst: AsyncQueue*::push
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:88,1
    - Dst: CmdGenericPtr
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - playlist
    - index
    - items
    - count
    - data
    argTypes:
    - vlc_playlist_t*
    - size_t
    - vlc_playlist_item_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 90
    functionName: on_playlist_items_added
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - CmdGenericPtr
    - AsyncQueue::instance
    - VlcProc*::getIntf
    - AsyncQueue*::push
    - CmdPlaytreeAppend::CmdPlaytreeAppend
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_added( vlc_playlist_t *playlist, size_t index,\n
      \                             vlc_playlist_item_t *const items[],\n                              size_t
      count, void *data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VlcProc*::getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:100,1
    - Dst: CmdPlaytreeDelete::CmdPlaytreeDelete
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:100,1
    - Dst: AsyncQueue::instance
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:103,1
    - Dst: VlcProc*::getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:103,1
    - Dst: AsyncQueue*::push
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:104,1
    - Dst: CmdGenericPtr
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - playlist
    - index
    - count
    - data
    argTypes:
    - vlc_playlist_t*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 106
    functionName: on_playlist_items_removed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - CmdPlaytreeDelete::CmdPlaytreeDelete
    - CmdGenericPtr
    - AsyncQueue::instance
    - VlcProc*::getIntf
    - AsyncQueue*::push
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_removed( vlc_playlist_t *playlist, size_t index,\n
      \                               size_t count, void *data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VlcProc*::getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:116,1
    - Dst: CmdItemUpdate::CmdItemUpdate
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:116,1
    - Dst: AsyncQueue::instance
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:119,1
    - Dst: VlcProc*::getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:119,1
    - Dst: AsyncQueue*::push
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:120,1
    - Dst: CmdGenericPtr
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - playlist
    - index
    - items
    - count
    - data
    argTypes:
    - vlc_playlist_t*
    - size_t
    - vlc_playlist_item_t*[]
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 122
    functionName: on_playlist_items_updated
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - CmdItemUpdate::CmdItemUpdate
    - CmdGenericPtr
    - AsyncQueue::instance
    - VlcProc*::getIntf
    - AsyncQueue*::push
    linkageType: ''
    returnType: void
    signature: "void on_playlist_items_updated( vlc_playlist_t *playlist, size_t index,\n
      \                               vlc_playlist_item_t *const items[],\n                                size_t
      count, void *data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VlcProc::onGenericCallback
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - playlist
    - repeat
    - data
    argTypes:
    - vlc_playlist_t*
    - enum vlc_playlist_playback_repeat
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: on_playlist_playback_repeat_changed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - VlcProc::onGenericCallback
    linkageType: ''
    returnType: void
    signature: "void on_playlist_playback_repeat_changed( vlc_playlist_t *playlist,\n
      \   enum vlc_playlist_playback_repeat repeat, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VlcProc::onGenericCallback
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - playlist
    - order
    - data
    argTypes:
    - vlc_playlist_t*
    - enum vlc_playlist_playback_order
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: on_playlist_playback_order_changed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - VlcProc::onGenericCallback
    linkageType: ''
    returnType: void
    signature: "void on_playlist_playback_order_changed( vlc_playlist_t *playlist,\n
      \   enum vlc_playlist_playback_order order, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:145,1
    - Dst: VlcProc*::getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:145,1
    - Dst: VlcProc*::getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:146,1
    - Dst: CmdItemPlaying::CmdItemPlaying
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:146,1
    - Dst: AsyncQueue::instance
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:149,1
    - Dst: VlcProc*::getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:149,1
    - Dst: AsyncQueue*::push
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:150,1
    - Dst: CmdGenericPtr
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - playlist
    - index
    - data
    argTypes:
    - vlc_playlist_t*
    - ssize_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 151
    functionName: on_playlist_current_index_changed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - CmdGenericPtr
    - VlcProc*::getIntf
    - msg_Dbg
    - AsyncQueue*::push
    - AsyncQueue::instance
    - CmdItemPlaying::CmdItemPlaying
    linkageType: ''
    returnType: void
    signature: "void on_playlist_current_index_changed( vlc_playlist_t *playlist,\n
      \                                       ssize_t index, void *data )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: input_item_Hold
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:158,1
    - Dst: VlcProc::onGenericCallback
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - player
    - media
    - data
    argTypes:
    - vlc_player_t*
    - input_item_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: on_player_current_media_changed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - VlcProc::onGenericCallback
    - input_item_Hold
    linkageType: ''
    returnType: void
    signature: "void on_player_current_media_changed( vlc_player_t *player,\n                                      input_item_t
      *media, void *data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VlcProc::onGenericCallback
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - player
    - new_state
    - data
    argTypes:
    - vlc_player_t*
    - enum vlc_player_state
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: on_player_state_changed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - VlcProc::onGenericCallback
    linkageType: ''
    returnType: void
    signature: "void on_player_state_changed( vlc_player_t *player,\n                              enum
      vlc_player_state new_state, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VlcProc::onGenericCallback
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - player
    - new_rate
    - data
    argTypes:
    - vlc_player_t*
    - float
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: on_player_rate_changed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - VlcProc::onGenericCallback
    linkageType: ''
    returnType: void
    signature: void on_player_rate_changed( vlc_player_t *player, float new_rate,
      void *data )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VlcProc::onGenericCallback
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - player
    - old_caps
    - new_caps
    - data
    argTypes:
    - vlc_player_t*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: on_player_capabilities_changed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - VlcProc::onGenericCallback
    linkageType: ''
    returnType: void
    signature: "void on_player_capabilities_changed( vlc_player_t *player,\n    int
      old_caps, int new_caps, void *data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<float>
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:189,1
    - Dst: VlcProc::onGenericCallback
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - player
    - time
    - pos
    - data
    argTypes:
    - vlc_player_t*
    - vlc_tick_t
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: on_player_position_changed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - static_cast<float>
    - VlcProc::onGenericCallback
    linkageType: ''
    returnType: void
    signature: "void on_player_position_changed( vlc_player_t *player, vlc_tick_t
      time,\n                                 double pos, void *data )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_GetTrack
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:202,1
    - Dst: VlcProc::onGenericCallback
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:206,1
    - Dst: VlcProc::onGenericCallback
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:209,1
    - Dst: VlcProc::onGenericCallback
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:212,1
    - Dst: vlc_player_GetSelectedTrack
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:217,1
    - Dst: VlcProc::onGenericCallback
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:221,1
    - Dst: VlcProc::onGenericCallback
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:224,1
    - Dst: VlcProc::onGenericCallback
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:225,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - player
    - unselected_id
    - selected_id
    - data
    argTypes:
    - vlc_player_t*
    - vlc_es_id_t*
    - vlc_es_id_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 228
    functionName: on_player_track_selection_changed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - VlcProc::onGenericCallback
    - vlc_player_GetTrack
    - vlc_player_GetSelectedTrack
    linkageType: ''
    returnType: void
    signature: "void on_player_track_selection_changed( vlc_player_t *player,\n     vlc_es_id_t
      *unselected_id, vlc_es_id_t *selected_id, void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_player_title_list_GetCount
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:237,1
    - Dst: VlcProc::onGenericCallback
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - player
    - titles
    - data
    argTypes:
    - vlc_player_t*
    - vlc_player_title_list*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 240
    functionName: on_player_titles_changed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - VlcProc::onGenericCallback
    - vlc_player_title_list_GetCount
    linkageType: ''
    returnType: void
    signature: "void on_player_titles_changed( vlc_player_t *player,\n    vlc_player_title_list
      *titles, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VlcProc::onGenericCallback
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - player
    - recording
    - data
    argTypes:
    - vlc_player_t*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 249
    functionName: on_player_recording_changed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - VlcProc::onGenericCallback
    linkageType: ''
    returnType: void
    signature: "void on_player_recording_changed( vlc_player_t *player,\n                                  bool
      recording, void *data )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vout_Hold
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:260,1
    - Dst: VlcProc::onGenericCallback
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - player
    - action
    - vout
    - order
    - es_id
    - data
    argTypes:
    - vlc_player_t*
    - enum vlc_player_vout_action
    - vout_thread_t*
    - enum vlc_vout_order
    - vlc_es_id_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 263
    functionName: on_player_vout_changed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - VlcProc::onGenericCallback
    - vout_Hold
    linkageType: ''
    returnType: void
    signature: "void on_player_vout_changed( vlc_player_t *player,\n    enum vlc_player_vout_action
      action, vout_thread_t *vout,\n    enum vlc_vout_order order, vlc_es_id_t *es_id,
      void *data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VlcProc::onGenericCallback
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - aout
    - volume
    - data
    argTypes:
    - audio_output*
    - float
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: on_player_aout_volume_changed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - VlcProc::onGenericCallback
    linkageType: ''
    returnType: void
    signature: "void on_player_aout_volume_changed( audio_output *aout,\n                                    float
      volume, void *data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VlcProc::onGenericCallback
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - aout
    - mute
    - data
    argTypes:
    - audio_output_t*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 278
    functionName: on_player_aout_mute_changed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - VlcProc::onGenericCallback
    linkageType: ''
    returnType: void
    signature: void on_player_aout_mute_changed( audio_output_t *aout, bool mute,
      void *data )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VlcProc::VlcProc
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 288
    functionName: VlcProc::instance
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 6
    functionsReached:
    - VlcProc::VlcProc
    linkageType: ''
    returnType: VlcProc
    signature: VlcProc *VlcProc::instance( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: VlcProc::destroy
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VlcProc::destroy( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 298
    functionName: SET_BOOL
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_BOOL(m,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - m
    - ','
    - v
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 299
    functionName: SET_STREAMTIME
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_STREAMTIME(m,v,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 300
    functionName: SET_TEXT
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_TEXT(m,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 301
    functionName: SET_STRING
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_STRING(m,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - m
    - ','
    - v
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 302
    functionName: SET_VOLUME
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_VOLUME(m,v,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarManager::instance
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:311,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:311,1
    - Dst: REGISTER_VAR
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:316,1
    - Dst: REGISTER_VAR
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:317,1
    - Dst: REGISTER_VAR
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:318,1
    - Dst: REGISTER_VAR
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:319,1
    - Dst: VarManager*::registerVar
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:320,1
    - Dst: getPlaytreeVar
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:320,1
    - Dst: VarManager*::registerVar
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:322,1
    - Dst: VarManager*::registerVar
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:323,1
    - Dst: REGISTER_VAR
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:325,1
    - Dst: REGISTER_VAR
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:326,1
    - Dst: REGISTER_VAR
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:327,1
    - Dst: VarManager*::registerVar
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:330,1
    - Dst: REGISTER_VAR
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:331,1
    - Dst: REGISTER_VAR
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:332,1
    - Dst: REGISTER_VAR
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:333,1
    - Dst: REGISTER_VAR
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:335,1
    - Dst: REGISTER_VAR
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:336,1
    - Dst: REGISTER_VAR
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:339,1
    - Dst: REGISTER_VAR
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:340,1
    - Dst: REGISTER_VAR
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:343,1
    - Dst: REGISTER_VAR
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:344,1
    - Dst: REGISTER_VAR
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:345,1
    - Dst: REGISTER_VAR
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:346,1
    - Dst: REGISTER_VAR
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:347,1
    - Dst: VariablePtr
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:350,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:350,1
    - Dst: VarText::VarText
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:350,1
    - Dst: VarManager*::registerVar
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:351,1
    - Dst: SET_TEXT
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:352,1
    - Dst: UString
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:352,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:352,1
    - Dst: VariablePtr
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:353,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:353,1
    - Dst: VarText::VarText
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:353,1
    - Dst: VarManager*::registerVar
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:354,1
    - Dst: VariablePtr
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:355,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:355,1
    - Dst: VarText::VarText
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:355,1
    - Dst: VarManager*::registerVar
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:356,1
    - Dst: VariablePtr
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:357,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:357,1
    - Dst: VarText::VarText
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:357,1
    - Dst: VarManager*::registerVar
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:358,1
    - Dst: VariablePtr
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:359,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:359,1
    - Dst: VarText::VarText
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:359,1
    - Dst: VarManager*::registerVar
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:360,1
    - Dst: VariablePtr
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:361,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:361,1
    - Dst: VarString::VarString
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:361,1
    - Dst: VarManager*::registerVar
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:362,1
    - Dst: VarManager*::registerVar
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:369,1
    - Dst: getBand
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:369,1
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:369,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:407,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:407,1
    - Dst: vlc_playlist_AddListener
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:410,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:410,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:412,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:412,1
    - Dst: vlc_player_AddListener
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:415,1
    - Dst: vlc_player_aout_AddListener
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:417,1
    - Dst: vlc_player_vout_AddListener
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:419,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:421,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:421,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:429,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:429,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:429,1
    - Dst: VlcProc::init_variables
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 73
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 303
    functionDepth: 3
    functionLinenumber: 303
    functionLinenumberEnd: 434
    functionName: VlcProc::VlcProc
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 1
    functionsReached:
    - VariablePtr
    - getPlaytreeVar
    - vlc_playlist_Unlock
    - std::stringstream::str
    - getPL
    - getIntf
    - SET_TEXT
    - var_AddCallback
    - VarString::VarString
    - vlc_playlist_GetPlayer
    - VlcProc::init_variables
    - vlc_playlist_Lock
    - vlc_playlist_AddListener
    - vlc_object_instance
    - getBand
    - VarManager::instance
    - VarManager*::registerVar
    - REGISTER_VAR
    - UString
    - VarText::VarText
    - vlc_player_AddListener
    - vlc_player_aout_AddListener
    - vlc_player_vout_AddListener
    linkageType: ''
    returnType: void
    signature: void VlcProc::VlcProc( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - type
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 316
    functionName: REGISTER_VAR
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REGISTER_VAR( var, type, name )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: var_DelCallback
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:441,1
    - Dst: vout_Release
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:443,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:448,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:449,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:451,1
    - Dst: aout_Release
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:453,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:457,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:457,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:457,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:461,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:461,1
    - Dst: vlc_playlist_RemoveListener
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:463,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:463,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:465,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:465,1
    - Dst: vlc_player_RemoveListener
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:466,1
    - Dst: vlc_player_aout_RemoveListener
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:467,1
    - Dst: vlc_player_vout_RemoveListener
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:468,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:470,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:470,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 471
    functionName: VlcProc::~VlcProc()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - vlc_player_vout_RemoveListener
    - vlc_playlist_RemoveListener
    - vlc_playlist_Lock
    - vlc_player_aout_RemoveListener
    - vlc_playlist_Unlock
    - vlc_object_instance
    - var_DelCallback
    - getPL
    - getIntf
    - vlc_playlist_GetPlayer
    - vout_Release
    - vlc_player_RemoveListener
    - aout_Release
    linkageType: ''
    returnType: void
    signature: void VlcProc::~VlcProc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VlcProc::onGenericCallback
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - pObj
    - pVariable
    - oldVal
    - newVal
    - pParam
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 481
    functionName: VlcProc::genericCallback
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - VlcProc::onGenericCallback
    linkageType: ''
    returnType: int
    signature: "int VlcProc::genericCallback( vlc_object_t *pObj, const char *pVariable,\n
      \                             vlc_value_t oldVal, vlc_value_t newVal,\n                              void
      *pParam )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VlcProc*::getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:491,1
    - Dst: CmdSetEqBands::CmdSetEqBands
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:491,1
    - Dst: AsyncQueue::instance
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:494,1
    - Dst: VlcProc*::getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:494,1
    - Dst: AsyncQueue*::push
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:495,1
    - Dst: CmdGenericPtr
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - pObj
    - pVariable
    - oldVal
    - newVal
    - pParam
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 498
    functionName: VlcProc::EqBandsCallback
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - CmdSetEqBands::CmdSetEqBands
    - CmdGenericPtr
    - AsyncQueue::instance
    - VlcProc*::getIntf
    - AsyncQueue*::push
    linkageType: ''
    returnType: int
    signature: "int VlcProc::EqBandsCallback( vlc_object_t *pObj, const char *pVariable,\n
      \                             vlc_value_t oldVal, vlc_value_t newVal,\n                              void
      *pParam )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VlcProc*::m_cVarEqPreamp::get
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:506,1
    - Dst: VlcProc*::getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:509,1
    - Dst: CmdSetEqPreamp::CmdSetEqPreamp
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:509,1
    - Dst: AsyncQueue::instance
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:511,1
    - Dst: VlcProc*::getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:511,1
    - Dst: AsyncQueue*::push
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:512,1
    - Dst: CmdGenericPtr
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - pObj
    - pVariable
    - oldVal
    - newVal
    - pParam
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 515
    functionName: VlcProc::EqPreampCallback
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - CmdSetEqPreamp::CmdSetEqPreamp
    - CmdGenericPtr
    - AsyncQueue::instance
    - VlcProc*::getIntf
    - AsyncQueue*::push
    - VlcProc*::m_cVarEqPreamp::get
    linkageType: ''
    returnType: int
    signature: "int VlcProc::EqPreampCallback( vlc_object_t *pObj, const char *pVariable,\n
      \                              vlc_value_t oldVal, vlc_value_t newVal,\n                               void
      *pParam )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - func
    - ','
    - remove
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 523
    functionName: ADD_CALLBACK_ENTRY
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_CALLBACK_ENTRY( var, func, remove )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AsyncQueue::instance
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:528,1
    - Dst: VlcProc*::getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:528,1
    - Dst: ADD_CALLBACK_ENTRY
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:533,1
    - Dst: ADD_CALLBACK_ENTRY
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:534,1
    - Dst: ADD_CALLBACK_ENTRY
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:535,1
    - Dst: ADD_CALLBACK_ENTRY
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:536,1
    - Dst: ADD_CALLBACK_ENTRY
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:537,1
    - Dst: ADD_CALLBACK_ENTRY
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:538,1
    - Dst: ADD_CALLBACK_ENTRY
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:540,1
    - Dst: ADD_CALLBACK_ENTRY
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:541,1
    - Dst: ADD_CALLBACK_ENTRY
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:542,1
    - Dst: ADD_CALLBACK_ENTRY
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:543,1
    - Dst: ADD_CALLBACK_ENTRY
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:544,1
    - Dst: ADD_CALLBACK_ENTRY
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:545,1
    - Dst: ADD_CALLBACK_ENTRY
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:546,1
    - Dst: ADD_CALLBACK_ENTRY
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:547,1
    - Dst: ADD_CALLBACK_ENTRY
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:548,1
    - Dst: ADD_CALLBACK_ENTRY
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:549,1
    - Dst: ADD_CALLBACK_ENTRY
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:551,1
    - Dst: ADD_CALLBACK_ENTRY
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:553,1
    - Dst: ADD_CALLBACK_ENTRY
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:554,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:555,1
    - Dst: VlcProc*::getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:557,1
    - Dst: CmdCallback::CmdCallback
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:557,1
    - Dst: AsyncQueue*::push
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:559,1
    - Dst: CmdGenericPtr
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 3
    argNames:
    - pVariable
    - newVal
    - data
    argTypes:
    - char*
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 560
    functionName: VlcProc::onGenericCallback
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 14
    functionsReached:
    - vlc_assert_unreachable
    - ADD_CALLBACK_ENTRY
    - CmdCallback::CmdCallback
    - CmdGenericPtr
    - VlcProc*::getIntf
    - AsyncQueue::instance
    - AsyncQueue*::push
    linkageType: ''
    returnType: void
    signature: "void VlcProc::onGenericCallback( const char *pVariable,\n                                 vlc_value_t
      newVal, void *data )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SET_TEXT
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:568,1
    - Dst: UString::fromInt
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:568,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:568,1
    - Dst: SET_TEXT
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:570,1
    - Dst: UString
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:570,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - newVal
    argTypes:
    - vlc_value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 571
    functionName: VlcProc::on_bit_rate_changed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - SET_TEXT
    - UString::fromInt
    - UString
    - getIntf
    linkageType: ''
    returnType: void
    signature: void VlcProc::on_bit_rate_changed( vlc_value_t newVal )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SET_TEXT
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:577,1
    - Dst: UString::fromInt
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:577,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:577,1
    - Dst: SET_TEXT
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:579,1
    - Dst: UString
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:579,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - newVal
    argTypes:
    - vlc_value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 580
    functionName: VlcProc::on_sample_rate_changed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - SET_TEXT
    - UString::fromInt
    - UString
    - getIntf
    linkageType: ''
    returnType: void
    signature: void VlcProc::on_sample_rate_changed( vlc_value_t newVal )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_BOOL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newVal
    argTypes:
    - vlc_value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 585
    functionName: VlcProc::on_random_changed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - SET_BOOL
    linkageType: ''
    returnType: void
    signature: void VlcProc::on_random_changed( vlc_value_t newVal )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_BOOL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newVal
    argTypes:
    - vlc_value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 590
    functionName: VlcProc::on_loop_changed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - SET_BOOL
    linkageType: ''
    returnType: void
    signature: void VlcProc::on_loop_changed( vlc_value_t newVal )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<input_item_t*>
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:594,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:595,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:595,1
    - Dst: static_cast<void*>
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:595,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:600,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:600,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:603,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:603,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:604,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:604,1
    - Dst: vlc_strfplayer
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:605,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:606,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:606,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:607,1
    - Dst: SET_TEXT
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:610,1
    - Dst: UString
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:610,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:610,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:612,1
    - Dst: input_item_GetURI
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:615,1
    - Dst: vlc_uri2path
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:616,1
    - Dst: SET_TEXT
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:618,1
    - Dst: UString
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:618,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:618,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:619,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:620,1
    - Dst: input_item_GetArtURL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:623,1
    - Dst: SET_STRING
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:624,1
    - Dst: std::string
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:624,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:625,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:627,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - newVal
    argTypes:
    - vlc_value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 629
    functionName: VlcProc::on_current_media_changed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_Unlock
    - getPL
    - getIntf
    - vlc_strfplayer
    - static_cast<input_item_t*>
    - SET_TEXT
    - input_item_GetArtURL
    - vlc_playlist_GetPlayer
    - msg_Dbg
    - vlc_playlist_Lock
    - input_item_Release
    - vlc_uri2path
    - SET_STRING
    - UString
    - var_InheritString
    - static_cast<void*>
    - free
    - std::string
    - input_item_GetURI
    linkageType: ''
    returnType: void
    signature: void VlcProc::on_current_media_changed( vlc_value_t newVal )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SET_BOOL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:638,1
    - Dst: SET_BOOL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:639,1
    - Dst: SET_BOOL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:643,1
    - Dst: SET_BOOL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:644,1
    - Dst: SET_BOOL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:648,1
    - Dst: SET_BOOL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:649,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - newVal
    argTypes:
    - vlc_value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 651
    functionName: VlcProc::on_repeat_changed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - SET_BOOL
    linkageType: ''
    returnType: void
    signature: void VlcProc::on_repeat_changed( vlc_value_t newVal )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_BOOL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newVal
    argTypes:
    - vlc_value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 659
    functionName: VlcProc::on_order_changed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - SET_BOOL
    linkageType: ''
    returnType: void
    signature: void VlcProc::on_order_changed( vlc_value_t newVal )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_VOLUME
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newVal
    argTypes:
    - vlc_value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 664
    functionName: VlcProc::on_volume_changed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - SET_VOLUME
    linkageType: ''
    returnType: void
    signature: void VlcProc::on_volume_changed( vlc_value_t newVal )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_BOOL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newVal
    argTypes:
    - vlc_value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 669
    functionName: VlcProc::on_mute_changed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - SET_BOOL
    linkageType: ''
    returnType: void
    signature: void VlcProc::on_mute_changed( vlc_value_t newVal )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_BOOL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newVal
    argTypes:
    - vlc_value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 674
    functionName: VlcProc::on_recording_changed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - SET_BOOL
    linkageType: ''
    returnType: void
    signature: void VlcProc::on_recording_changed( vlc_value_t newVal )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:679,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:679,1
    - Dst: SET_BOOL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:687,1
    - Dst: SET_BOOL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:688,1
    - Dst: SET_BOOL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:689,1
    - Dst: VlcProc::reset_input
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:693,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - newVal
    argTypes:
    - vlc_value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 694
    functionName: VlcProc::on_state_changed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - VlcProc::reset_input
    - getIntf
    - msg_Dbg
    - SET_BOOL
    linkageType: ''
    returnType: void
    signature: void VlcProc::on_state_changed( vlc_value_t newVal )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:700,1
    - Dst: SET_TEXT
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:702,1
    - Dst: UString
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:702,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:702,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - newVal
    argTypes:
    - vlc_value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 696
    functionDepth: 2
    functionLinenumber: 696
    functionLinenumberEnd: 705
    functionName: VlcProc::on_rate_changed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - SET_TEXT
    - UString
    - asprintf
    - free
    - getIntf
    linkageType: ''
    returnType: void
    signature: void VlcProc::on_rate_changed( vlc_value_t newVal )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_BOOL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newVal
    argTypes:
    - vlc_value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 711
    functionName: VlcProc::on_capabilities_changed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - SET_BOOL
    linkageType: ''
    returnType: void
    signature: void VlcProc::on_capabilities_changed( vlc_value_t newVal )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_STREAMTIME
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newVal
    argTypes:
    - vlc_value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 717
    functionName: VlcProc::on_position_changed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - SET_STREAMTIME
    linkageType: ''
    returnType: void
    signature: void VlcProc::on_position_changed( vlc_value_t newVal )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_BOOL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newVal
    argTypes:
    - vlc_value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 722
    functionName: VlcProc::on_audio_es_changed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - SET_BOOL
    linkageType: ''
    returnType: void
    signature: void VlcProc::on_audio_es_changed( vlc_value_t newVal )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_BOOL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newVal
    argTypes:
    - vlc_value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 727
    functionName: VlcProc::on_isDvd_changed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - SET_BOOL
    linkageType: ''
    returnType: void
    signature: void VlcProc::on_isDvd_changed( vlc_value_t newVal )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SET_BOOL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:732,1
    - Dst: vout_Release
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:736,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:743,1
    - Dst: vout_Release
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:745,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:751,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - newVal
    argTypes:
    - vlc_value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 752
    functionName: VlcProc::on_vout_changed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - var_AddCallback
    - vout_Release
    - var_DelCallback
    - SET_BOOL
    linkageType: ''
    returnType: void
    signature: void VlcProc::on_vout_changed( vlc_value_t newVal )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:757,1
    - Dst: SET_BOOL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:758,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - newVal
    argTypes:
    - vlc_value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 759
    functionName: VlcProc::on_audio_filter_changed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - strstr
    - SET_BOOL
    linkageType: ''
    returnType: void
    signature: void VlcProc::on_audio_filter_changed( vlc_value_t newVal )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getFullscreenVar
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:763,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:770,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:771,1
    - Dst: p_theme::getWindowManager
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:771,1
    - Dst: CmdRaiseAll::CmdRaiseAll
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:770,1
    - Dst: AsyncQueue::instance
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:774,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:774,1
    - Dst: AsyncQueue*::push
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:775,1
    - Dst: CmdGenericPtr
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:775,1
    - Dst: VoutManager::instance
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:780,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:780,1
    - Dst: VoutManager*::getFscWindow
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:781,1
    - Dst: FscWindow*::getVisibleVar
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:784,1
    - Dst: AsyncQueue::instance
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:785,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:785,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:789,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:790,1
    - Dst: p_theme::getWindowManager
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:790,1
    - Dst: CmdShowWindow::CmdShowWindow
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:789,1
    - Dst: AsyncQueue*::push
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:792,1
    - Dst: CmdGenericPtr
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:792,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:796,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:797,1
    - Dst: p_theme::getWindowManager
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:797,1
    - Dst: CmdHideWindow::CmdHideWindow
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:796,1
    - Dst: AsyncQueue*::push
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:799,1
    - Dst: CmdGenericPtr
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:799,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - newVal
    argTypes:
    - vlc_value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 761
    functionDepth: 2
    functionLinenumber: 761
    functionLinenumberEnd: 803
    functionName: VlcProc::on_intf_show_changed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - FscWindow*::getVisibleVar
    - CmdRaiseAll::CmdRaiseAll
    - CmdHideWindow::CmdHideWindow
    - p_theme::getWindowManager
    - CmdGenericPtr
    - VoutManager::instance
    - getIntf
    - AsyncQueue::instance
    - AsyncQueue*::push
    - CmdShowWindow::CmdShowWindow
    - getFullscreenVar
    - VoutManager*::getFscWindow
    linkageType: ''
    returnType: void
    signature: void VlcProc::on_intf_show_changed( vlc_value_t newVal )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VoutManager::instance
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:808,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:808,1
    - Dst: FscWindow*::onMouseMoved
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:810,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - newVal
    argTypes:
    - vlc_value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 805
    functionDepth: 2
    functionLinenumber: 805
    functionLinenumberEnd: 811
    functionName: VlcProc::on_mouse_moved_changed
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - FscWindow*::onMouseMoved
    - VoutManager::instance
    linkageType: ''
    returnType: void
    signature: void VlcProc::on_mouse_moved_changed( vlc_value_t newVal )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_BOOL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:815,1
    - Dst: SET_BOOL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:816,1
    - Dst: SET_BOOL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:817,1
    - Dst: SET_BOOL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:818,1
    - Dst: SET_BOOL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:819,1
    - Dst: SET_BOOL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:820,1
    - Dst: SET_STREAMTIME
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:822,1
    - Dst: SET_TEXT
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:823,1
    - Dst: UString
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:823,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:823,1
    - Dst: SET_TEXT
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:824,1
    - Dst: UString
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:824,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:824,1
    - Dst: SET_STRING
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:825,1
    - Dst: std::string
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:825,1
    - Dst: SET_TEXT
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:826,1
    - Dst: UString
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:826,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:826,1
    - Dst: SET_TEXT
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:827,1
    - Dst: UString
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:827,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 828
    functionName: VlcProc::reset_input
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 1
    functionsReached:
    - SET_TEXT
    - UString
    - SET_BOOL
    - SET_STRING
    - SET_STREAMTIME
    - getIntf
    - std::string
    linkageType: ''
    returnType: void
    signature: void VlcProc::reset_input()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:832,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:832,1
    - Dst: vlc_player_aout_GetVolume
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:834,1
    - Dst: SET_VOLUME
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:835,1
    - Dst: vlc_player_aout_IsMuted
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:837,1
    - Dst: SET_BOOL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:838,1
    - Dst: SET_BOOL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:840,1
    - Dst: VlcProc::init_equalizer
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 830
    functionDepth: 1
    functionLinenumber: 830
    functionLinenumberEnd: 842
    functionName: VlcProc::init_variables
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 1
    functionsReached:
    - VlcProc::init_equalizer
    - SET_BOOL
    - getPL
    - vlc_playlist_GetPlayer
    - vlc_player_aout_IsMuted
    - vlc_player_aout_GetVolume
    - SET_VOLUME
    linkageType: ''
    returnType: void
    signature: void VlcProc::init_variables()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:847,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:847,1
    - Dst: vlc_player_aout_Hold
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:848,1
    - Dst: var_Type
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:851,1
    - Dst: var_Create
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:852,1
    - Dst: var_Type
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:854,1
    - Dst: var_Create
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:855,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:859,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:860,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:862,1
    - Dst: assert
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:865,1
    - Dst: var_GetNonEmptyString
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:871,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:872,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:872,1
    - Dst: strstr
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:873,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:874,1
    - Dst: SET_BOOL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:875,1
    - Dst: var_GetString
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:879,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:880,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:880,1
    - Dst: set
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:883,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:884,1
    - Dst: var_GetFloat
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:889,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:890,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:890,1
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:891,1
    - Dst: EqualizerPreamp*::set
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:892,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( !m_pAout )
      pos:
        line_end: 864
        line_start: 864
        source_file: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    constantsTouched: []
    func_position:
      end: 893
      start: 844
    functionDepth: 2
    functionLinenumber: 844
    functionLinenumberEnd: 893
    functionName: VlcProc::init_equalizer
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 1
    functionsReached:
    - assert
    - var_GetString
    - getPL
    - getIntf
    - set
    - var_GetFloat
    - var_AddCallback
    - get
    - var_Create
    - vlc_playlist_GetPlayer
    - strstr
    - SET_BOOL
    - var_GetNonEmptyString
    - vlc_player_aout_Hold
    - var_InheritFloat
    - var_Type
    - var_InheritString
    - EqualizerPreamp*::set
    - free
    linkageType: ''
    returnType: void
    signature: void VlcProc::init_equalizer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_BOOL
      Src: /src/vlc/modules/gui/skins2/src/vlcproc.cpp:897,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b_fullscreen
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 895
    functionDepth: 1
    functionLinenumber: 895
    functionLinenumberEnd: 898
    functionName: VlcProc::setFullscreenVar
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vlcproc.cpp
    functionUses: 0
    functionsReached:
    - SET_BOOL
    linkageType: ''
    returnType: void
    signature: void VlcProc::setFullscreenVar( bool b_fullscreen )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pIntf
    - rName
    - size
    argTypes:
    - intf_thread_t*
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: FT2Font::FT2Font
    functionSourceFile: /src/vlc/modules/gui/skins2/src/ft2_font.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT2Font::FT2Font( intf_thread_t *pIntf, const std::string &rName,
      int size )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:45,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:45,1
    - Dst: FT_Done_Glyph
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:46,1
    - Dst: FT_Done_Face
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:47,1
    - Dst: FT_Done_FreeType
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: FT2Font::~FT2Font()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/ft2_font.cpp
    functionUses: 0
    functionsReached:
    - begin
    - FT_Done_FreeType
    - FT_Done_Face
    - FT_Done_Glyph
    - end
    linkageType: ''
    returnType: void
    signature: void FT2Font::~FT2Font()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FT_Init_FreeType
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:57,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:59,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:59,1
    - Dst: ft2_strerror
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:60,1
    - Dst: vlc_fopen
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:64,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:64,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:67,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:67,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:68,1
    - Dst: strerror
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:68,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:71,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:71,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:71,1
    - Dst: fseek
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:73,1
    - Dst: ftell
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:74,1
    - Dst: rewind
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:75,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:79,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:79,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:80,1
    - Dst: strerror
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:80,1
    - Dst: fclose
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:81,1
    - Dst: char::char
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:85,1
    - Dst: fclose
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:88,1
    - Dst: fread
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:92,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:94,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:94,1
    - Dst: fclose
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:95,1
    - Dst: fclose
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:98,1
    - Dst: FT_New_Memory_Face
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:100,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:104,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:104,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:104,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:109,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:109,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:110,1
    - Dst: ft2_strerror
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:110,1
    - Dst: FT_Select_Charmap
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:115,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:117,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:117,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:118,1
    - Dst: ft2_strerror
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:118,1
    - Dst: FT_Set_Pixel_Sizes
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:123,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:125,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:125,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:126,1
    - Dst: ft2_strerror
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:126,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 135
    functionName: FT2Font::init
    functionSourceFile: /src/vlc/modules/gui/skins2/src/ft2_font.cpp
    functionUses: 0
    functionsReached:
    - ft2_strerror
    - ftell
    - FT_Set_Pixel_Sizes
    - rewind
    - FT_New_Memory_Face
    - fread
    - FT_Select_Charmap
    - FT_Init_FreeType
    - fseek
    - msg_Err
    - vlc_fopen
    - getIntf
    - msg_Dbg
    - c_str
    - msg_Warn
    - char::char
    - strerror
    - fclose
    linkageType: ''
    returnType: bool
    signature: bool FT2Font::init()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: UString::u_str
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:146,1
    - Dst: UString::length
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:155,1
    - Dst: uint32_t::uint32_t
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:162,1
    - Dst: fribidi_log2vis
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:164,1
    - Dst: FT_BitmapGlyphRec::FT_BitmapGlyphRec
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:173,1
    - Dst: int::int
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:174,1
    - Dst: FT_HAS_KERNING
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:177,1
    - Dst: getGlyph
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:185,1
    - Dst: getGlyph
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:192,1
    - Dst: FT_Get_Kerning
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:199,1
    - Dst: std::min<int>
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:206,1
    - Dst: std::max<int>
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:207,1
    - Dst: FT_Get_Kerning
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:222,1
    - Dst: std::max<int>
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:257,1
    - Dst: std::min<int>
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:258,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:261,1
    - Dst: std::min
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:261,1
    - Dst: FT2Bitmap::FT2Bitmap
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:261,1
    - Dst: FT2Bitmap*::draw
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:269,1
    - Dst: FT2Bitmap*::draw
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:279,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 58
    argCount: 3
    argNames:
    - rString
    - color
    - maxWidth
    argTypes:
    - UString
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 289
    functionName: FT2Font::drawString
    functionSourceFile: /src/vlc/modules/gui/skins2/src/ft2_font.cpp
    functionUses: 0
    functionsReached:
    - FT2Bitmap*::draw
    - FT_BitmapGlyphRec::FT_BitmapGlyphRec
    - fribidi_log2vis
    - std::min<int>
    - FT2Bitmap::FT2Bitmap
    - std::max<int>
    - std::min
    - UString::length
    - FT_HAS_KERNING
    - getIntf
    - UString::u_str
    - getGlyph
    - FT_Get_Kerning
    - int::int
    - uint32_t::uint32_t
    linkageType: ''
    returnType: GenericBitmap
    signature: "GenericBitmap *FT2Font::drawString( const UString &rString, uint32_t
      color,\n                                    int maxWidth ) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:295,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:296,1
    - Dst: FT_Get_Char_Index
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:306,1
    - Dst: FT_Load_Glyph
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:307,1
    - Dst: FT_Get_Glyph
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:308,1
    - Dst: FT_Glyph_Get_CBox
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:309,1
    - Dst: FT_Glyph_To_Bitmap
      Src: /src/vlc/modules/gui/skins2/src/ft2_font.cpp:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - code
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 315
    functionName: '&FT2Font::getGlyph( uint32_t code ) const'
    functionSourceFile: /src/vlc/modules/gui/skins2/src/ft2_font.cpp
    functionUses: 0
    functionsReached:
    - FT_Get_Char_Index
    - FT_Glyph_To_Bitmap
    - FT_Glyph_Get_CBox
    - FT_Load_Glyph
    - end
    - FT_Get_Glyph
    - find
    linkageType: ''
    returnType: FT2Font::Glyph_t
    signature: FT2Font::Glyph_t &FT2Font::getGlyph( uint32_t code ) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_uri2path
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:43,1
    - Dst: CmdChangeSkin::CmdChangeSkin
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:48,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:49,1
    - Dst: AsyncQueue::instance
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:52,1
    - Dst: AsyncQueue*::push
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:53,1
    - Dst: CmdGenericPtr
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:53,1
    - Dst: CmdQuit::CmdQuit
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:60,1
    - Dst: AsyncQueue::instance
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:61,1
    - Dst: AsyncQueue*::push
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:62,1
    - Dst: CmdGenericPtr
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - pArg
    argTypes:
    - intf_dialog_args_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 64
    functionName: Dialogs::showChangeSkinCB
    functionSourceFile: /src/vlc/modules/gui/skins2/src/dialogs.cpp
    functionUses: 0
    functionsReached:
    - vlc_uri2path
    - CmdQuit::CmdQuit
    - CmdGenericPtr
    - free
    - AsyncQueue::instance
    - AsyncQueue*::push
    - CmdChangeSkin::CmdChangeSkin
    linkageType: ''
    returnType: void
    signature: void Dialogs::showChangeSkinCB( intf_dialog_args_t *pArg )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CmdPlaylistLoad::CmdPlaylistLoad
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:74,1
    - Dst: AsyncQueue::instance
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:77,1
    - Dst: AsyncQueue*::push
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:78,1
    - Dst: CmdGenericPtr
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pArg
    argTypes:
    - intf_dialog_args_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 80
    functionName: Dialogs::showPlaylistLoadCB
    functionSourceFile: /src/vlc/modules/gui/skins2/src/dialogs.cpp
    functionUses: 0
    functionsReached:
    - CmdPlaylistLoad::CmdPlaylistLoad
    - AsyncQueue::instance
    - AsyncQueue*::push
    - CmdGenericPtr
    linkageType: ''
    returnType: void
    signature: void Dialogs::showPlaylistLoadCB( intf_dialog_args_t *pArg )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CmdPlaylistSave::CmdPlaylistSave
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:91,1
    - Dst: AsyncQueue::instance
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:94,1
    - Dst: AsyncQueue*::push
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:95,1
    - Dst: CmdGenericPtr
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pArg
    argTypes:
    - intf_dialog_args_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 97
    functionName: Dialogs::showPlaylistSaveCB
    functionSourceFile: /src/vlc/modules/gui/skins2/src/dialogs.cpp
    functionUses: 0
    functionsReached:
    - AsyncQueue::instance
    - CmdPlaylistSave::CmdPlaylistSave
    - AsyncQueue*::push
    - CmdGenericPtr
    linkageType: ''
    returnType: void
    signature: void Dialogs::showPlaylistSaveCB( intf_dialog_args_t *pArg )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dialogs*::showPopupMenu
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - p_this
    - psz_variable
    - old_val
    - new_val
    - param
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: PopupMenuCB
    functionSourceFile: /src/vlc/modules/gui/skins2/src/dialogs.cpp
    functionUses: 0
    functionsReached:
    - Dialogs*::showPopupMenu
    linkageType: ''
    returnType: int
    signature: "int PopupMenuCB( vlc_object_t *p_this, const char *psz_variable,\n
      \                       vlc_value_t old_val, vlc_value_t new_val, void *param
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: Dialogs::Dialogs
    functionSourceFile: /src/vlc/modules/gui/skins2/src/dialogs.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Dialogs::Dialogs( intf_thread_t *pIntf )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: module_unneed
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:124,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:125,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:128,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:128,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 131
    functionName: Dialogs::~Dialogs()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/dialogs.cpp
    functionUses: 0
    functionsReached:
    - vlc_object_instance
    - var_DelCallback
    - module_unneed
    - getIntf
    - vlc_object_delete
    linkageType: ''
    returnType: void
    signature: void Dialogs::~Dialogs()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Dialogs::Dialogs
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:138,1
    - Dst: Dialogs*::init
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 151
    functionName: Dialogs::instance
    functionSourceFile: /src/vlc/modules/gui/skins2/src/dialogs.cpp
    functionUses: 1
    functionsReached:
    - Dialogs::Dialogs
    - Dialogs*::init
    linkageType: ''
    returnType: Dialogs
    signature: Dialogs *Dialogs::instance( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: Dialogs::destroy
    functionSourceFile: /src/vlc/modules/gui/skins2/src/dialogs.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Dialogs::destroy( intf_thread_t *pIntf )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_create
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:164,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:164,1
    - Dst: module_need
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:168,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:171,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:177,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:177,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 181
    functionName: Dialogs::init
    functionSourceFile: /src/vlc/modules/gui/skins2/src/dialogs.cpp
    functionUses: 0
    functionsReached:
    - var_AddCallback
    - vlc_object_create
    - vlc_object_instance
    - getIntf
    - vlc_object_delete
    - module_need
    linkageType: ''
    returnType: bool
    signature: bool Dialogs::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:190,1
    - Dst: strdup
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:192,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:192,1
    - Dst: strdup
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:193,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:193,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:198,1
    - Dst: pf_show_dialog
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - rTitle
    - rExtensions
    - callback
    - flags
    argTypes:
    - std::string
    - std::string
    - DlgCallback
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 204
    functionName: Dialogs::showFileGeneric
    functionSourceFile: /src/vlc/modules/gui/skins2/src/dialogs.cpp
    functionUses: 0
    functionsReached:
    - strdup
    - calloc
    - std::string::c_str
    - getIntf
    - pf_show_dialog
    linkageType: ''
    returnType: void
    signature: "void Dialogs::showFileGeneric( const std::string &rTitle, const std::string
      &rExtensions,\n                               DlgCallback callback, int flags
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dialogs::showFileGeneric
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:209,1
    - Dst: _
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:209,1
    - Dst: _
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: Dialogs::showChangeSkin
    functionSourceFile: /src/vlc/modules/gui/skins2/src/dialogs.cpp
    functionUses: 0
    functionsReached:
    - Dialogs::showFileGeneric
    - _
    linkageType: ''
    returnType: void
    signature: void Dialogs::showChangeSkin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:218,1
    - Dst: _
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:218,1
    - Dst: Dialogs::showFileGeneric
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:219,1
    - Dst: _
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:219,1
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 222
    functionName: Dialogs::showPlaylistLoad
    functionSourceFile: /src/vlc/modules/gui/skins2/src/dialogs.cpp
    functionUses: 0
    functionsReached:
    - Dialogs::showFileGeneric
    - _
    - std::stringstream::str
    linkageType: ''
    returnType: void
    signature: void Dialogs::showPlaylistLoad()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dialogs::showFileGeneric
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:227,1
    - Dst: _
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:227,1
    - Dst: _
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 231
    functionName: Dialogs::showPlaylistSave
    functionSourceFile: /src/vlc/modules/gui/skins2/src/dialogs.cpp
    functionUses: 0
    functionsReached:
    - Dialogs::showFileGeneric
    - _
    linkageType: ''
    returnType: void
    signature: void Dialogs::showPlaylistSave()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pf_show_dialog
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 240
    functionName: Dialogs::showPlaylist
    functionSourceFile: /src/vlc/modules/gui/skins2/src/dialogs.cpp
    functionUses: 0
    functionsReached:
    - pf_show_dialog
    linkageType: ''
    returnType: void
    signature: void Dialogs::showPlaylist()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pf_show_dialog
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - play
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 249
    functionName: Dialogs::showFileSimple
    functionSourceFile: /src/vlc/modules/gui/skins2/src/dialogs.cpp
    functionUses: 0
    functionsReached:
    - pf_show_dialog
    linkageType: ''
    returnType: void
    signature: void Dialogs::showFileSimple( bool play )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pf_show_dialog
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - play
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 259
    functionName: Dialogs::showFile
    functionSourceFile: /src/vlc/modules/gui/skins2/src/dialogs.cpp
    functionUses: 0
    functionsReached:
    - pf_show_dialog
    linkageType: ''
    returnType: void
    signature: void Dialogs::showFile( bool play )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pf_show_dialog
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - play
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 269
    functionName: Dialogs::showDirectory
    functionSourceFile: /src/vlc/modules/gui/skins2/src/dialogs.cpp
    functionUses: 0
    functionsReached:
    - pf_show_dialog
    linkageType: ''
    returnType: void
    signature: void Dialogs::showDirectory( bool play )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pf_show_dialog
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - play
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 279
    functionName: Dialogs::showDisc
    functionSourceFile: /src/vlc/modules/gui/skins2/src/dialogs.cpp
    functionUses: 0
    functionsReached:
    - pf_show_dialog
    linkageType: ''
    returnType: void
    signature: void Dialogs::showDisc( bool play )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pf_show_dialog
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - play
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 289
    functionName: Dialogs::showNet
    functionSourceFile: /src/vlc/modules/gui/skins2/src/dialogs.cpp
    functionUses: 0
    functionsReached:
    - pf_show_dialog
    linkageType: ''
    returnType: void
    signature: void Dialogs::showNet( bool play )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pf_show_dialog
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 298
    functionName: Dialogs::showMessages
    functionSourceFile: /src/vlc/modules/gui/skins2/src/dialogs.cpp
    functionUses: 0
    functionsReached:
    - pf_show_dialog
    linkageType: ''
    returnType: void
    signature: void Dialogs::showMessages()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pf_show_dialog
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 307
    functionName: Dialogs::showPrefs
    functionSourceFile: /src/vlc/modules/gui/skins2/src/dialogs.cpp
    functionUses: 0
    functionsReached:
    - pf_show_dialog
    linkageType: ''
    returnType: void
    signature: void Dialogs::showPrefs()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pf_show_dialog
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 316
    functionName: Dialogs::showFileInfo
    functionSourceFile: /src/vlc/modules/gui/skins2/src/dialogs.cpp
    functionUses: 0
    functionsReached:
    - pf_show_dialog
    linkageType: ''
    returnType: void
    signature: void Dialogs::showFileInfo()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pf_show_dialog
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 325
    functionName: Dialogs::showStreamingWizard
    functionSourceFile: /src/vlc/modules/gui/skins2/src/dialogs.cpp
    functionUses: 0
    functionsReached:
    - pf_show_dialog
    linkageType: ''
    returnType: void
    signature: void Dialogs::showStreamingWizard()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pf_show_dialog
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - bShow
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 335
    functionName: Dialogs::showPopupMenu
    functionSourceFile: /src/vlc/modules/gui/skins2/src/dialogs.cpp
    functionUses: 0
    functionsReached:
    - pf_show_dialog
    linkageType: ''
    returnType: void
    signature: void Dialogs::showPopupMenu( bool bShow, int popupType = INTF_DIALOG_POPUPMENU
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:342,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:345,1
    - Dst: pf_show_dialog
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p_dialog
    argTypes:
    - interaction_dialog_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 350
    functionName: Dialogs::showInteraction
    functionSourceFile: /src/vlc/modules/gui/skins2/src/dialogs.cpp
    functionUses: 0
    functionsReached:
    - calloc
    - pf_show_dialog
    - getIntf
    linkageType: ''
    returnType: void
    signature: void Dialogs::showInteraction( interaction_dialog_t *p_dialog )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pf_show_dialog
      Src: /src/vlc/modules/gui/skins2/src/dialogs.cpp:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 359
    functionName: Dialogs::sendKey
    functionSourceFile: /src/vlc/modules/gui/skins2/src/dialogs.cpp
    functionUses: 0
    functionsReached:
    - pf_show_dialog
    linkageType: ''
    returnType: void
    signature: void Dialogs::sendKey( int key )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ArtManager::ArtManager
      Src: /src/vlc/modules/gui/skins2/src/art_manager.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: ArtManager::instance
    functionSourceFile: /src/vlc/modules/gui/skins2/src/art_manager.cpp
    functionUses: 1
    functionsReached:
    - ArtManager::ArtManager
    linkageType: ''
    returnType: ArtManager
    signature: ArtManager *ArtManager::instance( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: ArtManager::destroy
    functionSourceFile: /src/vlc/modules/gui/skins2/src/art_manager.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArtManager::destroy( intf_thread_t *pIntf )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: image_HandlerCreate
      Src: /src/vlc/modules/gui/skins2/src/art_manager.cpp:56,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/src/art_manager.cpp:59,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/art_manager.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: ArtManager::ArtManager
    functionSourceFile: /src/vlc/modules/gui/skins2/src/art_manager.cpp
    functionUses: 1
    functionsReached:
    - getIntf
    - image_HandlerCreate
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void ArtManager::ArtManager( intf_thread_t* pIntf )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: image_HandlerDelete
      Src: /src/vlc/modules/gui/skins2/src/art_manager.cpp:67,1
    - Dst: cbegin
      Src: /src/vlc/modules/gui/skins2/src/art_manager.cpp:72,1
    - Dst: cend
      Src: /src/vlc/modules/gui/skins2/src/art_manager.cpp:72,1
    - Dst: clear
      Src: /src/vlc/modules/gui/skins2/src/art_manager.cpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: ArtManager::~ArtManager( )
    functionSourceFile: /src/vlc/modules/gui/skins2/src/art_manager.cpp
    functionUses: 0
    functionsReached:
    - image_HandlerDelete
    - cbegin
    - clear
    - cend
    linkageType: ''
    returnType: void
    signature: void ArtManager::~ArtManager( )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/vlc/modules/gui/skins2/src/art_manager.cpp:80,1
    - Dst: cbegin
      Src: /src/vlc/modules/gui/skins2/src/art_manager.cpp:88,1
    - Dst: cend
      Src: /src/vlc/modules/gui/skins2/src/art_manager.cpp:88,1
    - Dst: getUriName
      Src: /src/vlc/modules/gui/skins2/src/art_manager.cpp:90,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/art_manager.cpp:95,1
    - Dst: ArtBitmap::ArtBitmap
      Src: /src/vlc/modules/gui/skins2/src/art_manager.cpp:95,1
    - Dst: ArtBitmap*::getWidth
      Src: /src/vlc/modules/gui/skins2/src/art_manager.cpp:96,1
    - Dst: ArtBitmap*::getHeight
      Src: /src/vlc/modules/gui/skins2/src/art_manager.cpp:96,1
    - Dst: size
      Src: /src/vlc/modules/gui/skins2/src/art_manager.cpp:98,1
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/src/art_manager.cpp:100,1
    - Dst: pop_front
      Src: /src/vlc/modules/gui/skins2/src/art_manager.cpp:102,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/src/art_manager.cpp:104,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - uriName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 112
    functionName: ArtManager::getArtBitmap
    functionSourceFile: /src/vlc/modules/gui/skins2/src/art_manager.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - size
    - begin
    - ArtBitmap*::getHeight
    - std::string::size
    - getIntf
    - ArtBitmap*::getWidth
    - getUriName
    - ArtBitmap::ArtBitmap
    - cend
    - cbegin
    - pop_front
    linkageType: ''
    returnType: ArtBitmap
    signature: ArtBitmap * ArtManager::getArtBitmap( const std::string &uriName )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~OSTimer()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/os_timer.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~OSTimer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: OSTimer::OSTimer
    functionSourceFile: /src/vlc/modules/gui/skins2/src/os_timer.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OSTimer( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FromLocale
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:56,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:56,1
    - Dst: LocaleFree
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rLocale
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: sFromLocale
    functionSourceFile: /src/vlc/modules/gui/skins2/src/theme_loader.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - FromLocale
    - LocaleFree
    linkageType: ''
    returnType: std::string
    signature: std::string sFromLocale( const std::string &rLocale )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mkdir_parent
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:72,1
    - Dst: fprintf
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - newdir
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: makedir
    functionSourceFile: /src/vlc/modules/gui/skins2/src/theme_loader.cpp
    functionUses: 0
    functionsReached:
    - fprintf
    - vlc_mkdir_parent
    linkageType: ''
    returnType: int
    signature: int makedir( const char *newdir )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ThemeLoader::getFilePath
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:81,1
    - Dst: vlc_stat
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:85,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:85,1
    - Dst: ThemeLoader::extract
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:91,1
    - Dst: ThemeLoader::parse
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:91,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:94,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:99,1
    - Dst: p_theme::loadConfig
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:99,1
    - Dst: config_PutPsz
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:102,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 105
    functionName: ThemeLoader::load
    functionSourceFile: /src/vlc/modules/gui/skins2/src/theme_loader.cpp
    functionUses: 0
    functionsReached:
    - p_theme::loadConfig
    - config_PutPsz
    - ThemeLoader::parse
    - std::string::c_str
    - getIntf
    - vlc_stat
    - ThemeLoader::extract
    - ThemeLoader::getFilePath
    linkageType: ''
    returnType: bool
    signature: bool ThemeLoader::load( const std::string &fileName )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ThemeLoader::getTmpDir
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:110,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:111,1
    - Dst: ThemeLoader::unarchive
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:114,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:116,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:116,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:116,1
    - Dst: ThemeLoader::deleteTempFiles
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:117,1
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:123,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:123,1
    - Dst: ThemeLoader::findFile
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:125,1
    - Dst: ThemeLoader::getFilePath
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:127,1
    - Dst: ThemeLoader::findFile
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:133,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:135,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:135,1
    - Dst: ThemeLoader::getFilePath
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:136,1
    - Dst: OSFactory*::getResourcePath
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:139,1
    - Dst: std::list::begin
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:141,1
    - Dst: std::list::end
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:141,1
    - Dst: ThemeLoader::findFile
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:143,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:149,1
    - Dst: ThemeLoader::parse
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:152,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:154,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:154,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:154,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:160,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:160,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:160,1
    - Dst: ThemeLoader::deleteTempFiles
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:165,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 167
    functionName: ThemeLoader::extract
    functionSourceFile: /src/vlc/modules/gui/skins2/src/theme_loader.cpp
    functionUses: 1
    functionsReached:
    - OSFactory*::getResourcePath
    - std::string::empty
    - ThemeLoader::getFilePath
    - std::list::begin
    - ThemeLoader::parse
    - std::list::end
    - ThemeLoader::findFile
    - ThemeLoader::unarchive
    - msg_Err
    - std::string::c_str
    - getIntf
    - ThemeLoader::deleteTempFiles
    - msg_Dbg
    - ThemeLoader::getTmpDir
    - OSFactory::instance
    linkageType: ''
    returnType: bool
    signature: bool ThemeLoader::extract( const std::string &fileName )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: UPTR_HELPER
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:174,1
    - Dst: UPTR_HELPER
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:175,1
    - Dst: UPTR_HELPER
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:176,1
    - Dst: UPTR_HELPER
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:177,1
    - Dst: make_cstr_ptr
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:181,1
    - Dst: vlc_path2uri
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:181,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:181,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:184,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:184,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:185,1
    - Dst: make_stream_ptr
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:189,1
    - Dst: vlc_stream_NewURL
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:189,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:189,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:189,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:192,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:192,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:192,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:196,1
    - Dst: vlc_stream_directory_Attach
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:197,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:199,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:199,1
    - Dst: auto::release
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:203,1
    - Dst: auto::reset
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:204,1
    - Dst: make_input_item_ptr
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:206,1
    - Dst: input_item_New
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:206,1
    - Dst: make_input_node_ptr
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:207,1
    - Dst: std::calloc
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:207,1
    - Dst: input_item_AddOption
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:212,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:212,1
    - Dst: input_item_AddOption
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:213,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:213,1
    - Dst: auto::release
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:214,1
    - Dst: vlc_stream_ReadDir
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:216,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:216,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:216,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:218,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:218,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:218,1
    - Dst: make_stream_ptr
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:225,1
    - Dst: vlc_stream_NewMRL
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:225,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:225,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:228,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:228,1
    - Dst: auto::substr
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:235,1
    - Dst: auto::find_last_of
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:235,1
    - Dst: makedir
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:237,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:237,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:239,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:239,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:240,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:240,1
    - Dst: vlc_stream_Read
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:252,1
    - Dst: auto::get
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:252,1
    - Dst: std::string::append
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:253,1
    - Dst: std::ofstream::write
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:257,1
    - Dst: std::string::data
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:257,1
    - Dst: std::string::size
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:257,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:259,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:259,1
    - Dst: std::string::size
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:260,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:260,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:264,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:264,1
    - Dst: std::string::size
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:265,1
    - Dst: auto::c_str
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:265,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 2
    argNames:
    - ' fileName'
    - tempPath
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 273
    functionName: ThemeLoader::unarchive
    functionSourceFile: /src/vlc/modules/gui/skins2/src/theme_loader.cpp
    functionUses: 1
    functionsReached:
    - vlc_stream_directory_Attach
    - auto::release
    - auto::get
    - vlc_stream_NewMRL
    - getIntf
    - makedir
    - make_input_node_ptr
    - auto::reset
    - input_item_New
    - make_cstr_ptr
    - auto::find_last_of
    - msg_Err
    - vlc_stream_Read
    - std::string::data
    - msg_Dbg
    - UPTR_HELPER
    - vlc_stream_NewURL
    - input_item_AddOption
    - std::ofstream::write
    - vlc_stream_ReadDir
    - std::string::append
    - make_stream_ptr
    - auto::c_str
    - auto::substr
    - std::calloc
    - std::string::size
    - c_str
    - make_input_item_ptr
    - vlc_path2uri
    linkageType: ''
    returnType: bool
    signature: bool ThemeLoader::unarchive( const std::string& fileName, const std::string
      &tempPath )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - deleter
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: UPTR_HELPER
    functionSourceFile: /src/vlc/modules/gui/skins2/src/theme_loader.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPTR_HELPER(type,deleter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:277,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: ThemeLoader::deleteTempFiles
    functionSourceFile: /src/vlc/modules/gui/skins2/src/theme_loader.cpp
    functionUses: 1
    functionsReached:
    - getIntf
    - OSFactory::instance
    linkageType: ''
    returnType: void
    signature: void ThemeLoader::deleteTempFiles( const std::string &path )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:283,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:283,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:283,1
    - Dst: SkinParser::parse
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:287,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:291,1
    - Dst: SkinParser::getData
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:291,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:292,1
    - Dst: p_theme::reset
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:292,1
    - Dst: Builder::build
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - path
    - xmlFile
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 295
    functionName: ThemeLoader::parse
    functionSourceFile: /src/vlc/modules/gui/skins2/src/theme_loader.cpp
    functionUses: 2
    functionsReached:
    - Builder::build
    - SkinParser::parse
    - p_theme::reset
    - std::string::c_str
    - getIntf
    - msg_Dbg
    - SkinParser::getData
    linkageType: ''
    returnType: bool
    signature: bool ThemeLoader::parse( const std::string &path, const std::string
      &xmlFile )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:300,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:300,1
    - Dst: OSFactory*::getDirSeparator
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:301,1
    - Dst: std::string::rfind
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:303,1
    - Dst: std::string::size
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:303,1
    - Dst: std::string::size
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:307,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - rFullPath
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 317
    functionName: ThemeLoader::getFilePath
    functionSourceFile: /src/vlc/modules/gui/skins2/src/theme_loader.cpp
    functionUses: 2
    functionsReached:
    - OSFactory*::getDirSeparator
    - std::string::rfind
    - std::string::size
    - getIntf
    - std::string::substr
    - OSFactory::instance
    linkageType: ''
    returnType: std::string
    signature: std::string ThemeLoader::getFilePath( const std::string &rFullPath
      )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:323,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:323,1
    - Dst: vlc_opendir
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:328,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:328,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:333,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:333,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:333,1
    - Dst: vlc_readdir
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:338,1
    - Dst: std::string
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:343,1
    - Dst: std::string
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:344,1
    - Dst: vlc_stat
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:349,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:349,1
    - Dst: S_ISDIR
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:350,1
    - Dst: ThemeLoader::findFile
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:358,1
    - Dst: vlc_closedir
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:360,1
    - Dst: std::string
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:367,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:369,1
    - Dst: vlc_closedir
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:370,1
    - Dst: vlc_closedir
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:377,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - rootDir
    - rFileName
    - themeFilePath
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 379
    functionName: ThemeLoader::findFile
    functionSourceFile: /src/vlc/modules/gui/skins2/src/theme_loader.cpp
    functionUses: 2
    functionsReached:
    - S_ISDIR
    - vlc_stat
    - ThemeLoader::findFile
    - vlc_closedir
    - std::string::c_str
    - std::move
    - getIntf
    - msg_Dbg
    - vlc_readdir
    - std::string
    - OSFactory::instance
    - vlc_opendir
    linkageType: ''
    returnType: bool
    signature: "bool ThemeLoader::findFile( const std::string &rootDir, const std::string
      &rFileName,\n                            std::string &themeFilePath )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _wtempnam
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:385,1
    - Dst: FromWide
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:388,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:389,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:391,1
    - Dst: tempnam
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:395,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:399,1
    - Dst: mkdtemp
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:404,1
    - Dst: std::string
      Src: /src/vlc/modules/gui/skins2/src/theme_loader.cpp:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 407
    functionName: ThemeLoader::getTmpDir
    functionSourceFile: /src/vlc/modules/gui/skins2/src/theme_loader.cpp
    functionUses: 1
    functionsReached:
    - _wtempnam
    - free
    - FromWide
    - std::string
    - tempnam
    - mkdtemp
    linkageType: ''
    returnType: std::string
    signature: std::string ThemeLoader::getTmpDir( )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/src/generic_window.cpp:38,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/generic_window.cpp:38,1
    - Dst: OSFactory*::createOSWindow
      Src: /src/vlc/modules/gui/skins2/src/generic_window.cpp:48,1
    - Dst: VarBoolImpl::VarBoolImpl
      Src: /src/vlc/modules/gui/skins2/src/generic_window.cpp:52,1
    - Dst: VarManager::instance
      Src: /src/vlc/modules/gui/skins2/src/generic_window.cpp:53,1
    - Dst: VariablePtr
      Src: /src/vlc/modules/gui/skins2/src/generic_window.cpp:53,1
    - Dst: addObserver
      Src: /src/vlc/modules/gui/skins2/src/generic_window.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 7
    argNames:
    - pIntf
    - left
    - top
    - dragDrop
    - playOnDrop
    - pParent
    - type
    argTypes:
    - intf_thread_t*
    - int
    - int
    - bool
    - bool
    - GenericWindow*
    - WindowType_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 31
    functionDepth: 3
    functionLinenumber: 31
    functionLinenumberEnd: 57
    functionName: GenericWindow::GenericWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.cpp
    functionUses: 0
    functionsReached:
    - VariablePtr
    - OSFactory*::createOSWindow
    - getIntf
    - VarManager::instance
    - addObserver
    - VarBoolImpl::VarBoolImpl
    - OSFactory::instance
    linkageType: ''
    returnType: void
    signature: "void GenericWindow::GenericWindow( intf_thread_t *pIntf, int left,
      int top,\n                              bool dragDrop, bool playOnDrop,\n                              GenericWindow
      *pParent, WindowType_t type )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delObserver
      Src: /src/vlc/modules/gui/skins2/src/generic_window.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: GenericWindow::~GenericWindow()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.cpp
    functionUses: 0
    functionsReached:
    - delObserver
    linkageType: ''
    returnType: void
    signature: void GenericWindow::~GenericWindow()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericWindow::refresh
      Src: /src/vlc/modules/gui/skins2/src/generic_window.cpp:71,1
    - Dst: EvtRefresh::getXStart
      Src: /src/vlc/modules/gui/skins2/src/generic_window.cpp:71,1
    - Dst: EvtRefresh::getYStart
      Src: /src/vlc/modules/gui/skins2/src/generic_window.cpp:71,1
    - Dst: EvtRefresh::getWidth
      Src: /src/vlc/modules/gui/skins2/src/generic_window.cpp:72,1
    - Dst: EvtRefresh::getHeight
      Src: /src/vlc/modules/gui/skins2/src/generic_window.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rEvtRefresh
    argTypes:
    - EvtRefresh
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: GenericWindow::processEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.cpp
    functionUses: 1
    functionsReached:
    - EvtRefresh::getHeight
    - GenericWindow::refresh
    - EvtRefresh::getXStart
    - EvtRefresh::getYStart
    - EvtRefresh::getWidth
    linkageType: ''
    returnType: void
    signature: void GenericWindow::processEvent( EvtRefresh &rEvtRefresh )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set
      Src: /src/vlc/modules/gui/skins2/src/generic_window.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: GenericWindow::show
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.cpp
    functionUses: 0
    functionsReached:
    - set
    linkageType: ''
    returnType: void
    signature: void GenericWindow::show() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set
      Src: /src/vlc/modules/gui/skins2/src/generic_window.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: GenericWindow::hide
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.cpp
    functionUses: 0
    functionsReached:
    - set
    linkageType: ''
    returnType: void
    signature: void GenericWindow::hide() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GenericWindow::isVisible
      Src: /src/vlc/modules/gui/skins2/src/generic_window.cpp:94,1
    - Dst: moveResize
      Src: /src/vlc/modules/gui/skins2/src/generic_window.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - left
    - top
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: GenericWindow::move
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.cpp
    functionUses: 0
    functionsReached:
    - moveResize
    - GenericWindow::isVisible
    linkageType: ''
    returnType: void
    signature: void GenericWindow::move( int left, int top )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GenericWindow::isVisible
      Src: /src/vlc/modules/gui/skins2/src/generic_window.cpp:109,1
    - Dst: moveResize
      Src: /src/vlc/modules/gui/skins2/src/generic_window.cpp:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - width
    - height
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: GenericWindow::resize
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.cpp
    functionUses: 0
    functionsReached:
    - moveResize
    - GenericWindow::isVisible
    linkageType: ''
    returnType: void
    signature: void GenericWindow::resize( int width, int height )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GenericWindow::raise
      Src: /src/vlc/modules/gui/skins2/src/generic_window.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: GenericWindow::raise
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.cpp
    functionUses: 1
    functionsReached:
    - GenericWindow::raise
    linkageType: ''
    returnType: void
    signature: void GenericWindow::raise() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericWindow::setOpacity
      Src: /src/vlc/modules/gui/skins2/src/generic_window.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: GenericWindow::setOpacity
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.cpp
    functionUses: 1
    functionsReached:
    - GenericWindow::setOpacity
    linkageType: ''
    returnType: void
    signature: void GenericWindow::setOpacity( uint8_t value )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GenericWindow::toggleOnTop
      Src: /src/vlc/modules/gui/skins2/src/generic_window.cpp:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - onTop
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: GenericWindow::toggleOnTop
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.cpp
    functionUses: 1
    functionsReached:
    - GenericWindow::toggleOnTop
    linkageType: ''
    returnType: void
    signature: void GenericWindow::toggleOnTop( bool onTop ) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/src/generic_window.cpp:139,1
    - Dst: GenericWindow::innerShow
      Src: /src/vlc/modules/gui/skins2/src/generic_window.cpp:141,1
    - Dst: GenericWindow::innerHide
      Src: /src/vlc/modules/gui/skins2/src/generic_window.cpp:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - rVariable
    - arg
    argTypes:
    - Subject<VarBool>
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 148
    functionName: GenericWindow::onUpdate
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.cpp
    functionUses: 0
    functionsReached:
    - get
    - GenericWindow::innerShow
    - GenericWindow::innerHide
    linkageType: ''
    returnType: void
    signature: void GenericWindow::onUpdate( Subject<VarBool> &rVariable, void* arg
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GenericWindow::show
      Src: /src/vlc/modules/gui/skins2/src/generic_window.cpp:155,1
    - Dst: moveResize
      Src: /src/vlc/modules/gui/skins2/src/generic_window.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 158
    functionName: GenericWindow::innerShow
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.cpp
    functionUses: 2
    functionsReached:
    - moveResize
    - GenericWindow::show
    linkageType: ''
    returnType: void
    signature: void GenericWindow::innerShow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GenericWindow::hide
      Src: /src/vlc/modules/gui/skins2/src/generic_window.cpp:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: GenericWindow::innerHide
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.cpp
    functionUses: 2
    functionsReached:
    - GenericWindow::hide
    linkageType: ''
    returnType: void
    signature: void GenericWindow::innerHide()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setOSHandle
      Src: /src/vlc/modules/gui/skins2/src/generic_window.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pWnd
    argTypes:
    - struct vlc_window*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: GenericWindow::updateWindowConfiguration
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.cpp
    functionUses: 0
    functionsReached:
    - setOSHandle
    linkageType: ''
    returnType: void
    signature: void GenericWindow::updateWindowConfiguration( struct vlc_window *pWnd
      ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reparent
      Src: /src/vlc/modules/gui/skins2/src/generic_window.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - pParent
    - x
    - y
    - w
    - h
    argTypes:
    - GenericWindow*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 186
    functionName: GenericWindow::setParent
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.cpp
    functionUses: 0
    functionsReached:
    - reparent
    linkageType: ''
    returnType: void
    signature: void GenericWindow::setParent( GenericWindow* pParent, int x, int y,
      int w, int h )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GenericWindow::invalidateRect
      Src: /src/vlc/modules/gui/skins2/src/generic_window.cpp:195,1
    - Dst: GenericWindow::refresh
      Src: /src/vlc/modules/gui/skins2/src/generic_window.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - left
    - top
    - width
    - height
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 201
    functionName: GenericWindow::invalidateRect
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.cpp
    functionUses: 1
    functionsReached:
    - GenericWindow::invalidateRect
    - GenericWindow::refresh
    linkageType: ''
    returnType: void
    signature: void GenericWindow::invalidateRect( int left, int top, int width, int
      height )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/src/generic_window.cpp:206,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/generic_window.cpp:206,1
    - Dst: OSFactory*::getMonitorInfo
      Src: /src/vlc/modules/gui/skins2/src/generic_window.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - y
    - width
    - height
    argTypes:
    - int*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: GenericWindow::getMonitorInfo
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_window.cpp
    functionUses: 0
    functionsReached:
    - OSFactory*::getMonitorInfo
    - getIntf
    - OSFactory::instance
    linkageType: ''
    returnType: void
    signature: void GenericWindow::getMonitorInfo( int* x, int* y, int* width, int*
      height ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - sym
    - ','
    - num
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: FT_NOERRORDEF_
    functionSourceFile: /src/vlc/modules/gui/skins2/src/ft2_err.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_NOERRORDEF_( sym, num, str )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - sym
    - ','
    - num
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: FT_ERRORDEF_
    functionSourceFile: /src/vlc/modules/gui/skins2/src/ft2_err.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ERRORDEF_(   sym, num, str )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - sym
    - ','
    - num
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: FT_NOERRORDEF_
    functionSourceFile: /src/vlc/modules/gui/skins2/src/ft2_err.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_NOERRORDEF_( sym, num, str )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - sym
    - ','
    - num
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: FT_ERRORDEF_
    functionSourceFile: /src/vlc/modules/gui/skins2/src/ft2_err.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ERRORDEF_(   sym, num, str )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - err
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: ft2_strerror
    functionSourceFile: /src/vlc/modules/gui/skins2/src/ft2_err.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ft2_strerror(unsigned err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: MSG_ERR
    functionSourceFile: /src/vlc/modules/gui/skins2/src/logger.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MSG_ERR( msg )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: MSG_WARN
    functionSourceFile: /src/vlc/modules/gui/skins2/src/logger.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MSG_WARN( msg )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VarManager::instance
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:39,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:39,1
    - Dst: VariablePtr
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:40,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:40,1
    - Dst: VarBoolImpl::VarBoolImpl
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:40,1
    - Dst: VarManager*::registerVar
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:41,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:44,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:44,1
    - Dst: config_FindConfig
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:47,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:48,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 33
    functionDepth: 3
    functionLinenumber: 33
    functionLinenumberEnd: 51
    functionName: WindowManager::WindowManager
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.cpp
    functionUses: 0
    functionsReached:
    - VariablePtr
    - var_InheritBool
    - config_FindConfig
    - getIntf
    - VarManager::instance
    - VarManager*::registerVar
    - var_InheritFloat
    - VarBoolImpl::VarBoolImpl
    linkageType: ''
    returnType: void
    signature: void WindowManager::WindowManager( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: WindowManager::~WindowManager()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WindowManager::~WindowManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rWindow
    argTypes:
    - TopWindow
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: WindowManager::registerWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.cpp
    functionUses: 0
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: void WindowManager::registerWindow( TopWindow &rWindow )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:65,1
    - Dst: erase
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:66,1
    - Dst: erase
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rWindow
    argTypes:
    - TopWindow
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: WindowManager::unregisterWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.cpp
    functionUses: 0
    functionsReached:
    - erase
    linkageType: ''
    returnType: void
    signature: void WindowManager::unregisterWindow( TopWindow &rWindow )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:74,1
    - Dst: WindowManager::buildDependSet
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:75,1
    - Dst: WindowManager::isOpacityNeeded
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:77,1
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:81,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:81,1
    - Dst: setOpacity
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - rWindow
    argTypes:
    - TopWindow
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 86
    functionName: WindowManager::startMove
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.cpp
    functionUses: 0
    functionsReached:
    - WindowManager::isOpacityNeeded
    - begin
    - clear
    - WindowManager::buildDependSet
    - setOpacity
    - end
    linkageType: ''
    returnType: void
    signature: void WindowManager::startMove( TopWindow &rWindow )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WindowManager::isOpacityNeeded
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:94,1
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:98,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:98,1
    - Dst: setOpacity
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:100,1
    - Dst: clear
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:105,1
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:109,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:109,1
    - Dst: getActiveLayout
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:113,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:116,1
    - Dst: getActiveLayout
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:124,1
    - Dst: AncList_t::begin
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:125,1
    - Dst: AncList_t::end
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:125,1
    - Dst: AncList_t::begin
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:127,1
    - Dst: AncList_t::end
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:128,1
    - Dst: isHanging
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:130,1
    - Dst: insert
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:133,1
    - Dst: isHanging
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:135,1
    - Dst: insert
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:138,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 144
    functionName: WindowManager::stopMove
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.cpp
    functionUses: 0
    functionsReached:
    - isHanging
    - WindowManager::isOpacityNeeded
    - begin
    - clear
    - AncList_t::end
    - setOpacity
    - getActiveLayout
    - insert
    - end
    - AncList_t::begin
    linkageType: ''
    returnType: void
    signature: void WindowManager::stopMove()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TopWindow::getLeft
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:150,1
    - Dst: TopWindow::getTop
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:151,1
    - Dst: WindowManager::checkAnchors
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:154,1
    - Dst: WindowManager::move
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:158,1
    - Dst: getLeft
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:158,1
    - Dst: getTop
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - rWindow
    - left
    - top
    argTypes:
    - TopWindow
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 159
    functionName: WindowManager::move
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.cpp
    functionUses: 1
    functionsReached:
    - WindowManager::checkAnchors
    - TopWindow::getLeft
    - getLeft
    - getTop
    - TopWindow::getTop
    - WindowManager::move
    linkageType: ''
    returnType: void
    signature: void WindowManager::move( TopWindow &rWindow, int left, int top ) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:171,1
    - Dst: clear
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:172,1
    - Dst: clear
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:173,1
    - Dst: GenericLayout::getAnchorList
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:178,1
    - Dst: GenericLayout::getWindow
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:181,1
    - Dst: getActiveLayout
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:185,1
    - Dst: isHanging
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:190,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:195,1
    - Dst: WindowManager::buildDependSet
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:197,1
    - Dst: WindowManager::buildDependSet
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:199,1
    - Dst: WindowManager::buildDependSet
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:201,1
    - Dst: clear
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:210,1
    - Dst: insert
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:211,1
    - Dst: GenericLayout::getWindow
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:211,1
    - Dst: insert
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:212,1
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:212,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:212,1
    - Dst: insert
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:213,1
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:213,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:213,1
    - Dst: insert
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:214,1
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:214,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:214,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - rLayout
    - direction
    argTypes:
    - GenericLayout
    - Direction_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 215
    functionName: WindowManager::startResize
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.cpp
    functionUses: 0
    functionsReached:
    - isHanging
    - GenericLayout::getAnchorList
    - begin
    - clear
    - WindowManager::buildDependSet
    - insert
    - getActiveLayout
    - getPosition
    - GenericLayout::getWindow
    - end
    linkageType: ''
    returnType: void
    signature: void WindowManager::startResize( GenericLayout &rLayout, Direction_t
      direction )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WindowManager::stopMove
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: WindowManager::stopResize
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.cpp
    functionUses: 0
    functionsReached:
    - WindowManager::stopMove
    linkageType: ''
    returnType: void
    signature: void WindowManager::stopResize()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GenericLayout::getWidth
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:230,1
    - Dst: GenericLayout::getHeight
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:231,1
    - Dst: WindowManager::checkAnchors
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:234,1
    - Dst: GenericLayout::getWindow
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:234,1
    - Dst: GenericLayout::getWidth
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:240,1
    - Dst: GenericLayout::getHeight
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:241,1
    - Dst: GenericLayout::getMinWidth
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:244,1
    - Dst: GenericLayout::getMinWidth
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:246,1
    - Dst: GenericLayout::getMaxWidth
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:248,1
    - Dst: GenericLayout::getMaxWidth
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:250,1
    - Dst: GenericLayout::getMinHeight
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:252,1
    - Dst: GenericLayout::getMinHeight
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:254,1
    - Dst: GenericLayout::getMaxHeight
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:256,1
    - Dst: GenericLayout::getMaxHeight
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:258,1
    - Dst: GenericLayout::getWidth
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:261,1
    - Dst: GenericLayout::getHeight
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:261,1
    - Dst: GenericLayout::getWidth
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:267,1
    - Dst: GenericLayout::getHeight
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:268,1
    - Dst: GenericLayout::getWindow
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:271,1
    - Dst: TopWindow*::resize
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:272,1
    - Dst: GenericLayout::resize
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:275,1
    - Dst: GenericLayout::refreshAll
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:278,1
    - Dst: WindowManager::move
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:286,1
    - Dst: getLeft
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:286,1
    - Dst: getTop
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:287,1
    - Dst: WindowManager::move
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:295,1
    - Dst: getLeft
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:295,1
    - Dst: getTop
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:296,1
    - Dst: WindowManager::move
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:305,1
    - Dst: getLeft
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:305,1
    - Dst: getTop
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:306,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 3
    argNames:
    - rLayout
    - width
    - height
    argTypes:
    - GenericLayout
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 309
    functionName: WindowManager::resize
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.cpp
    functionUses: 0
    functionsReached:
    - TopWindow*::resize
    - WindowManager::checkAnchors
    - getLeft
    - GenericLayout::getMaxWidth
    - GenericLayout::refreshAll
    - GenericLayout::getMinWidth
    - GenericLayout::getWidth
    - getTop
    - GenericLayout::getMaxHeight
    - WindowManager::move
    - GenericLayout::getMinHeight
    - GenericLayout::getWindow
    - GenericLayout::getHeight
    - GenericLayout::resize
    linkageType: ''
    returnType: void
    signature: "void WindowManager::resize( GenericLayout &rLayout,\n                            int
      width, int height ) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SkinsRect
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:315,1
    - Dst: TopWindow::getLeft
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:315,1
    - Dst: TopWindow::getTop
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:315,1
    - Dst: TopWindow::getLeft
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:316,1
    - Dst: TopWindow::getWidth
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:316,1
    - Dst: TopWindow::getTop
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:317,1
    - Dst: TopWindow::getHeight
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:317,1
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:320,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:320,1
    - Dst: WindowManager::startMove
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:323,1
    - Dst: WindowManager::move
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:324,1
    - Dst: SkinsRect::getLeft
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:324,1
    - Dst: SkinsRect::getTop
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:324,1
    - Dst: WindowManager::stopMove
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:325,1
    - Dst: TopWindow::getActiveLayout
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:328,1
    - Dst: WindowManager::startResize
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:329,1
    - Dst: WindowManager::resize
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:330,1
    - Dst: SkinsRect::getWidth
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:330,1
    - Dst: SkinsRect::getHeight
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:330,1
    - Dst: WindowManager::stopResize
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:331,1
    - Dst: TopWindow::m_pVarMaximized::set
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - rWindow
    argTypes:
    - TopWindow
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 312
    functionDepth: 3
    functionLinenumber: 312
    functionLinenumberEnd: 336
    functionName: WindowManager::maximize
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.cpp
    functionUses: 0
    functionsReached:
    - TopWindow::getLeft
    - SkinsRect::getWidth
    - WindowManager::startMove
    - getIntf
    - WindowManager::stopMove
    - WindowManager::stopResize
    - SkinsRect::getTop
    - TopWindow::getWidth
    - TopWindow::m_pVarMaximized::set
    - SkinsRect::getHeight
    - OSFactory::instance
    - SkinsRect::getLeft
    - TopWindow::getHeight
    - TopWindow::getTop
    - SkinsRect
    - WindowManager::resize
    - WindowManager::move
    - WindowManager::startResize
    - TopWindow::getActiveLayout
    linkageType: ''
    returnType: void
    signature: void WindowManager::maximize( TopWindow &rWindow )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TopWindow::getActiveLayout
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:346,1
    - Dst: WindowManager::startResize
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:347,1
    - Dst: WindowManager::resize
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:348,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:348,1
    - Dst: getHeight
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:348,1
    - Dst: WindowManager::stopResize
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:349,1
    - Dst: WindowManager::startMove
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:351,1
    - Dst: WindowManager::move
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:352,1
    - Dst: getLeft
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:352,1
    - Dst: getTop
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:352,1
    - Dst: WindowManager::stopMove
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:353,1
    - Dst: TopWindow::m_pVarMaximized::set
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - rWindow
    argTypes:
    - TopWindow
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 339
    functionDepth: 3
    functionLinenumber: 339
    functionLinenumberEnd: 355
    functionName: WindowManager::unmaximize
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.cpp
    functionUses: 0
    functionsReached:
    - getHeight
    - getLeft
    - WindowManager::startMove
    - getTop
    - WindowManager::resize
    - getWidth
    - WindowManager::move
    - WindowManager::stopMove
    - TopWindow::m_pVarMaximized::set
    - WindowManager::stopResize
    - WindowManager::startResize
    - TopWindow::getActiveLayout
    linkageType: ''
    returnType: void
    signature: void WindowManager::unmaximize( TopWindow &rWindow )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getVisibleVar
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:363,1
    - Dst: innerShow
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 368
    functionName: WindowManager::synchVisibility
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.cpp
    functionUses: 0
    functionsReached:
    - innerShow
    - getVisibleVar
    linkageType: ''
    returnType: void
    signature: void WindowManager::synchVisibility() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:373,1
    - Dst: getVisibleVar
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:377,1
    - Dst: insert
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 382
    functionName: WindowManager::saveVisibility
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.cpp
    functionUses: 0
    functionsReached:
    - insert
    - clear
    - getVisibleVar
    linkageType: ''
    returnType: void
    signature: void WindowManager::saveVisibility()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:388,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:390,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:390,1
    - Dst: WindowManager::show
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 397
    functionName: WindowManager::restoreVisibility
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.cpp
    functionUses: 0
    functionsReached:
    - size
    - getIntf
    - WindowManager::show
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: void WindowManager::restoreVisibility() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WindowManager::raise
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 407
    functionName: WindowManager::raiseAll
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.cpp
    functionUses: 0
    functionsReached:
    - WindowManager::raise
    linkageType: ''
    returnType: void
    signature: void WindowManager::raiseAll() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getInitialVisibility
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:417,1
    - Dst: WindowManager::show
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:419,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - firstTime
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 422
    functionName: WindowManager::showAll
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.cpp
    functionUses: 0
    functionsReached:
    - WindowManager::show
    - getInitialVisibility
    linkageType: ''
    returnType: void
    signature: void WindowManager::showAll( bool firstTime ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WindowManager::isOpacityNeeded
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:427,1
    - Dst: TopWindow::setOpacity
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:428,1
    - Dst: TopWindow::show
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rWindow
    argTypes:
    - TopWindow
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 431
    functionName: WindowManager::show
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.cpp
    functionUses: 2
    functionsReached:
    - TopWindow::setOpacity
    - WindowManager::isOpacityNeeded
    - TopWindow::show
    linkageType: ''
    returnType: void
    signature: void WindowManager::show( TopWindow &rWindow ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WindowManager::hide
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 440
    functionName: WindowManager::hideAll
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.cpp
    functionUses: 0
    functionsReached:
    - WindowManager::hide
    linkageType: ''
    returnType: void
    signature: void WindowManager::hideAll() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:446,1
    - Dst: VarBoolImpl*::set
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:447,1
    - Dst: WindowManager::toggleOnTop
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - b_ontop
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 443
    functionDepth: 2
    functionLinenumber: 443
    functionLinenumberEnd: 454
    functionName: WindowManager::setOnTop
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.cpp
    functionUses: 0
    functionsReached:
    - get
    - VarBoolImpl*::set
    - WindowManager::toggleOnTop
    linkageType: ''
    returnType: void
    signature: void WindowManager::setOnTop( bool b_ontop )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:459,1
    - Dst: WindowManager::setOnTop
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:461,1
    - Dst: VarBoolImpl*::get
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 457
    functionDepth: 3
    functionLinenumber: 457
    functionLinenumberEnd: 462
    functionName: WindowManager::toggleOnTop
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.cpp
    functionUses: 1
    functionsReached:
    - get
    - WindowManager::setOnTop
    - VarBoolImpl*::get
    linkageType: ''
    returnType: void
    signature: void WindowManager::toggleOnTop()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WinSet_t::insert
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:469,1
    - Dst: WinSet_t::find
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:476,1
    - Dst: WinSet_t::end
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:476,1
    - Dst: WindowManager::buildDependSet
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:478,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - rWinSet
    - pWindow
    argTypes:
    - WinSet_t
    - TopWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 481
    functionName: WindowManager::buildDependSet
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.cpp
    functionUses: 3
    functionsReached:
    - WinSet_t::insert
    - WindowManager::buildDependSet
    - WinSet_t::end
    - WinSet_t::find
    linkageType: ''
    returnType: void
    signature: "void WindowManager::buildDependSet( WinSet_t &rWinSet,\n                                    TopWindow
      *pWindow )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:490,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:490,1
    - Dst: getVisibleVar
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:495,1
    - Dst: getLeft
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:500,1
    - Dst: getTop
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:501,1
    - Dst: SkinsRect::getLeft
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:502,1
    - Dst: SkinsRect::getLeft
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:503,1
    - Dst: SkinsRect::getLeft
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:505,1
    - Dst: getLeft
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:505,1
    - Dst: SkinsRect::getTop
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:507,1
    - Dst: SkinsRect::getTop
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:508,1
    - Dst: SkinsRect::getTop
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:510,1
    - Dst: getTop
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:510,1
    - Dst: SkinsRect::getLeft
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:512,1
    - Dst: SkinsRect::getWidth
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:512,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:513,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:514,1
    - Dst: getLeft
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:516,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:516,1
    - Dst: SkinsRect::getTop
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:518,1
    - Dst: SkinsRect::getHeight
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:518,1
    - Dst: getHeight
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:519,1
    - Dst: getHeight
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:520,1
    - Dst: getTop
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:522,1
    - Dst: getHeight
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:522,1
    - Dst: getVisibleVar
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:530,1
    - Dst: getActiveLayout
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:537,1
    - Dst: find
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:543,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:543,1
    - Dst: getVisibleVar
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:544,1
    - Dst: getActiveLayout
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:551,1
    - Dst: canHang
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:559,1
    - Dst: canHang
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:573,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 37
    argCount: 3
    argNames:
    - pWindow
    - xOffset
    - yOffset
    argTypes:
    - TopWindow*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 590
    functionName: WindowManager::checkAnchors
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.cpp
    functionUses: 2
    functionsReached:
    - SkinsRect::getWidth
    - getVisibleVar
    - find
    - getLeft
    - getHeight
    - end
    - getTop
    - getActiveLayout
    - canHang
    - getIntf
    - getWidth
    - SkinsRect::getTop
    - SkinsRect::getHeight
    - SkinsRect::getLeft
    - OSFactory::instance
    linkageType: ''
    returnType: void
    signature: "void WindowManager::checkAnchors( TopWindow *pWindow,\n                                  int
      &xOffset, int &yOffset ) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Tooltip>
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:598,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:598,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:602,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rTipFont
    argTypes:
    - GenericFont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 604
    functionName: WindowManager::createTooltip
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - msg_Warn
    - std::make_unique<Tooltip>
    linkageType: ''
    returnType: void
    signature: void WindowManager::createTooltip( const GenericFont &rTipFont )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WindowManager::show
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 613
    functionName: WindowManager::showTooltip
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.cpp
    functionUses: 0
    functionsReached:
    - WindowManager::show
    linkageType: ''
    returnType: void
    signature: void WindowManager::showTooltip()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WindowManager::hide
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 622
    functionName: WindowManager::hideTooltip
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.cpp
    functionUses: 0
    functionsReached:
    - WindowManager::hide
    linkageType: ''
    returnType: void
    signature: void WindowManager::hideTooltip()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TopWindow::setActiveLayout
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rWindow
    - rLayout
    argTypes:
    - TopWindow
    - GenericLayout
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 625
    functionDepth: 2
    functionLinenumber: 625
    functionLinenumberEnd: 628
    functionName: WindowManager::addLayout
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.cpp
    functionUses: 0
    functionsReached:
    - TopWindow::setActiveLayout
    linkageType: ''
    returnType: void
    signature: void WindowManager::addLayout( TopWindow &rWindow, GenericLayout &rLayout
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TopWindow::setActiveLayout
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:634,1
    - Dst: WindowManager::stopMove
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rWindow
    - rLayout
    argTypes:
    - TopWindow
    - GenericLayout
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 631
    functionDepth: 2
    functionLinenumber: 631
    functionLinenumberEnd: 637
    functionName: WindowManager::setActiveLayout
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.cpp
    functionUses: 0
    functionsReached:
    - TopWindow::setActiveLayout
    - WindowManager::stopMove
    linkageType: ''
    returnType: void
    signature: "void WindowManager::setActiveLayout( TopWindow &rWindow,\n                                     GenericLayout
      &rLayout )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:642,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:642,1
    - Dst: getType
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:644,1
    - Dst: getVisibleVar
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:647,1
    - Dst: libvlc_Quit
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:653,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:653,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/window_manager.cpp:653,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 654
    functionName: WindowManager::onWindowHidden
    functionSourceFile: /src/vlc/modules/gui/skins2/src/window_manager.cpp
    functionUses: 0
    functionsReached:
    - getVisibleVar
    - begin
    - vlc_object_instance
    - getIntf
    - getType
    - end
    - libvlc_Quit
    linkageType: ''
    returnType: void
    signature: void WindowManager::onWindowHidden()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:44,1
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:47,1
    - Dst: assert
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:49,1
    - Dst: updateWindowConfiguration
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:50,1
    - Dst: reset
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:52,1
    - Dst: OSFactory*::createOSTimer
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:52,1
    - Dst: vlc_wasync_resize_compressor_init
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - pIntf
    - pWnd
    - width
    - height
    - pParent
    argTypes:
    - intf_thread_t*
    - vlc_window_t*
    - int
    - int
    - GenericWindow*
    assertStmts:
    - condition: ( m_pWnd != nullptr )
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/vlc/modules/gui/skins2/src/vout_window.cpp
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: VoutWindow::VoutWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_window.cpp
    functionUses: 1
    functionsReached:
    - assert
    - var_InheritInteger
    - updateWindowConfiguration
    - reset
    - vlc_wasync_resize_compressor_init
    - OSFactory*::createOSTimer
    - OSFactory::instance
    linkageType: ''
    returnType: void
    signature: "void VoutWindow::VoutWindow( intf_thread_t *pIntf, vlc_window_t* pWnd,\n
      \                       int width, int height, GenericWindow* pParent )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_wasync_resize_compressor_destroy
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: VoutWindow::~VoutWindow()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_window.cpp
    functionUses: 0
    functionsReached:
    - vlc_wasync_resize_compressor_destroy
    linkageType: ''
    returnType: void
    signature: void VoutWindow::~VoutWindow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hide
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:65,1
    - Dst: CtrlVideo*::getPosition
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:66,1
    - Dst: Position*::getLeft
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:67,1
    - Dst: Position*::getTop
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:68,1
    - Dst: Position*::getWidth
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:69,1
    - Dst: Position*::getHeight
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:70,1
    - Dst: setParent
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:72,1
    - Dst: CtrlVideo*::getWindow
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:72,1
    - Dst: CtrlVideo*::getWindow
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:73,1
    - Dst: VoutWindow::resize
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:75,1
    - Dst: show
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:76,1
    - Dst: hide
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:80,1
    - Dst: setParent
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:81,1
    - Dst: VoutManager::instance
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:81,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:81,1
    - Dst: VoutManager::instance
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:83,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:83,1
    - Dst: show
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - pCtrlVideo
    argTypes:
    - CtrlVideo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 88
    functionName: VoutWindow::setCtrlVideo
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_window.cpp
    functionUses: 0
    functionsReached:
    - hide
    - show
    - Position*::getLeft
    - VoutManager::instance
    - setParent
    - CtrlVideo*::getPosition
    - getIntf
    - VoutWindow::resize
    - Position*::getHeight
    - Position*::getTop
    - Position*::getWidth
    - CtrlVideo*::getWindow
    linkageType: ''
    returnType: void
    signature: void VoutWindow::setCtrlVideo( CtrlVideo* pCtrlVideo )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericWindow::resize
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:93,1
    - Dst: vlc_wasync_resize_compressor_reportSize
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - width
    - height
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: VoutWindow::resize
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_window.cpp
    functionUses: 1
    functionsReached:
    - GenericWindow::resize
    - vlc_wasync_resize_compressor_reportSize
    linkageType: ''
    returnType: void
    signature: void VoutWindow::resize( int width, int height )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EvtKey::getKeyState
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:102,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:103,1
    - Dst: p_dialogs::sendKey
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:103,1
    - Dst: EvtKey::getModKey
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - rEvtKey
    argTypes:
    - EvtKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: VoutWindow::processEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_window.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - EvtKey::getKeyState
    - p_dialogs::sendKey
    - EvtKey::getModKey
    linkageType: ''
    returnType: void
    signature: void VoutWindow::processEvent( EvtKey &rEvtKey )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EvtScroll::getDirection
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:109,1
    - Dst: EvtScroll::getMod
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:110,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:112,1
    - Dst: p_dialogs::sendKey
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rEvtScroll
    argTypes:
    - EvtScroll
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: VoutWindow::processEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_window.cpp
    functionUses: 0
    functionsReached:
    - EvtScroll::getMod
    - p_dialogs::sendKey
    - getIntf
    - EvtScroll::getDirection
    linkageType: ''
    returnType: void
    signature: void VoutWindow::processEvent( EvtScroll &rEvtScroll )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EvtMotion::getXPos
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:118,1
    - Dst: getLeft
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:118,1
    - Dst: getLeft
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:118,1
    - Dst: EvtMotion::getYPos
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:119,1
    - Dst: getTop
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:119,1
    - Dst: getTop
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:119,1
    - Dst: vlc_window_ReportMouseMoved
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:121,1
    - Dst: VoutWindow::showMouse
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rEvtMotion
    argTypes:
    - EvtMotion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: VoutWindow::processEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_window.cpp
    functionUses: 0
    functionsReached:
    - vlc_window_ReportMouseMoved
    - getLeft
    - getTop
    - EvtMotion::getXPos
    - VoutWindow::showMouse
    - EvtMotion::getYPos
    linkageType: ''
    returnType: void
    signature: void VoutWindow::processEvent( EvtMotion &rEvtMotion )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EvtMouse::getButton
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:129,1
    - Dst: EvtMouse::getButton
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:131,1
    - Dst: EvtMouse::getButton
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:133,1
    - Dst: EvtMouse::getAction
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:136,1
    - Dst: vlc_window_ReportMousePressed
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:137,1
    - Dst: EvtMouse::getAction
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:138,1
    - Dst: vlc_window_ReportMouseReleased
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:139,1
    - Dst: EvtMouse::getAction
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:140,1
    - Dst: vlc_window_ReportMouseDoubleClick
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:141,1
    - Dst: VoutWindow::showMouse
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - rEvtMouse
    argTypes:
    - EvtMouse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 143
    functionName: VoutWindow::processEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_window.cpp
    functionUses: 0
    functionsReached:
    - vlc_window_ReportMouseReleased
    - EvtMouse::getButton
    - EvtMouse::getAction
    - VoutWindow::showMouse
    - vlc_window_ReportMousePressed
    - vlc_window_ReportMouseDoubleClick
    linkageType: ''
    returnType: void
    signature: void VoutWindow::processEvent( EvtMouse &rEvtMouse )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:148,1
    - Dst: VoutWindow::hideMouse
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: VoutWindow::showMouse
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_window.cpp
    functionUses: 2
    functionsReached:
    - start
    - VoutWindow::hideMouse
    linkageType: ''
    returnType: void
    signature: void VoutWindow::showMouse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VoutManager::instance
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:155,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hide
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: VoutWindow::hideMouse
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_window.cpp
    functionUses: 1
    functionsReached:
    - getIntf
    - VoutManager::instance
    linkageType: ''
    returnType: void
    signature: void VoutWindow::hideMouse( bool hide )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hideMouse
      Src: /src/vlc/modules/gui/skins2/src/vout_window.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: VoutWindow::CmdHideMouse::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/vout_window.cpp
    functionUses: 0
    functionsReached:
    - hideMouse
    linkageType: ''
    returnType: void
    signature: void VoutWindow::CmdHideMouse::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~GenericBitmap()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_bitmap.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GenericBitmap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: GenericBitmap::getNbFrames
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_bitmap.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getNbFrames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: GenericBitmap::getFrameRate
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_bitmap.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getFrameRate() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: GenericBitmap::getNbLoops
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_bitmap.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getNbLoops() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: BitmapImpl::getWidth
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_bitmap.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getWidth() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: BitmapImpl::getHeight
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_bitmap.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getHeight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: BitmapImpl::getData
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_bitmap.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *getData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~GenericFont()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_font.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GenericFont()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: GenericFont::GenericFont
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_font.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GenericFont( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericBitmap::getGraphics
      Src: /src/vlc/modules/gui/skins2/src/anim_bitmap.cpp:32,1
    - Dst: GenericBitmap::getNbFrames
      Src: /src/vlc/modules/gui/skins2/src/anim_bitmap.cpp:33,1
    - Dst: GenericBitmap::getFrameRate
      Src: /src/vlc/modules/gui/skins2/src/anim_bitmap.cpp:33,1
    - Dst: GenericBitmap::getNbLoops
      Src: /src/vlc/modules/gui/skins2/src/anim_bitmap.cpp:34,1
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/src/anim_bitmap.cpp:37,1
    - Dst: OSFactory*::createOSTimer
      Src: /src/vlc/modules/gui/skins2/src/anim_bitmap.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pIntf
    - rBitmap
    argTypes:
    - intf_thread_t*
    - GenericBitmap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: AnimBitmap::AnimBitmap
    functionSourceFile: /src/vlc/modules/gui/skins2/src/anim_bitmap.cpp
    functionUses: 0
    functionsReached:
    - GenericBitmap::getNbLoops
    - GenericBitmap::getNbFrames
    - GenericBitmap::getGraphics
    - GenericBitmap::getFrameRate
    - OSFactory*::createOSTimer
    - OSFactory::instance
    linkageType: ''
    returnType: void
    signature: void AnimBitmap::AnimBitmap( intf_thread_t *pIntf, const GenericBitmap
      &rBitmap )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: AnimBitmap::~AnimBitmap()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/anim_bitmap.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AnimBitmap::~AnimBitmap()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/vlc/modules/gui/skins2/src/anim_bitmap.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: AnimBitmap::startAnim
    functionSourceFile: /src/vlc/modules/gui/skins2/src/anim_bitmap.cpp
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: void
    signature: void AnimBitmap::startAnim()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/vlc/modules/gui/skins2/src/anim_bitmap.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: AnimBitmap::stopAnim
    functionSourceFile: /src/vlc/modules/gui/skins2/src/anim_bitmap.cpp
    functionUses: 0
    functionsReached:
    - stop
    linkageType: ''
    returnType: void
    signature: void AnimBitmap::stopAnim()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AnimBitmap::getHeight
      Src: /src/vlc/modules/gui/skins2/src/anim_bitmap.cpp:69,1
    - Dst: OSGraphics::drawBitmap
      Src: /src/vlc/modules/gui/skins2/src/anim_bitmap.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - rImage
    - xDest
    - yDest
    - w
    - h
    - xOffset
    - yOffset
    argTypes:
    - OSGraphics
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 79
    functionName: AnimBitmap::draw
    functionSourceFile: /src/vlc/modules/gui/skins2/src/anim_bitmap.cpp
    functionUses: 0
    functionsReached:
    - OSGraphics::drawBitmap
    - AnimBitmap::getHeight
    linkageType: ''
    returnType: void
    signature: "void AnimBitmap::draw( OSGraphics &rImage, int xDest, int yDest, int
      w, int h,\n                       int xOffset, int yOffset )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AnimBitmap::getHeight
      Src: /src/vlc/modules/gui/skins2/src/anim_bitmap.cpp:84,1
    - Dst: AnimBitmap::hit
      Src: /src/vlc/modules/gui/skins2/src/anim_bitmap.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: AnimBitmap::hit
    functionSourceFile: /src/vlc/modules/gui/skins2/src/anim_bitmap.cpp
    functionUses: 1
    functionsReached:
    - AnimBitmap::hit
    - AnimBitmap::getHeight
    linkageType: ''
    returnType: bool
    signature: bool AnimBitmap::hit( int x, int y ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AnimBitmap::getWidth
      Src: /src/vlc/modules/gui/skins2/src/anim_bitmap.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: AnimBitmap::getWidth
    functionSourceFile: /src/vlc/modules/gui/skins2/src/anim_bitmap.cpp
    functionUses: 1
    functionsReached:
    - AnimBitmap::getWidth
    linkageType: ''
    returnType: int
    signature: int AnimBitmap::getWidth() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AnimBitmap::getHeight
      Src: /src/vlc/modules/gui/skins2/src/anim_bitmap.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: AnimBitmap::getHeight
    functionSourceFile: /src/vlc/modules/gui/skins2/src/anim_bitmap.cpp
    functionUses: 3
    functionsReached:
    - AnimBitmap::getHeight
    linkageType: ''
    returnType: int
    signature: int AnimBitmap::getHeight() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stopAnim
      Src: /src/vlc/modules/gui/skins2/src/anim_bitmap.cpp:114,1
    - Dst: notify
      Src: /src/vlc/modules/gui/skins2/src/anim_bitmap.cpp:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 121
    functionName: AnimBitmap::CmdNextFrame::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/anim_bitmap.cpp
    functionUses: 0
    functionsReached:
    - stopAnim
    - notify
    linkageType: ''
    returnType: void
    signature: void AnimBitmap::CmdNextFrame::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' rOther'
    argTypes:
    - AnimBitmap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: AnimBitmap::operator ==( const AnimBitmap& rOther ) const
    functionSourceFile: /src/vlc/modules/gui/skins2/src/anim_bitmap.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AnimBitmap::operator ==( const AnimBitmap& rOther ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: FT2Font::getSize
    functionSourceFile: /src/vlc/modules/gui/skins2/src/ft2_font.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getSize() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:51,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:51,1
    - Dst: VlcProc::instance
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:53,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:53,1
    - Dst: VarBool::addObserver
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:54,1
    - Dst: config_FindConfig
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:57,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:58,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:58,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:63,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:63,1
    - Dst: config_FindConfig
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:68,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:69,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:69,1
    - Dst: VoutManager::instance
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:74,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 7
    argNames:
    - pIntf
    - left
    - top
    - rWindowManager
    - dragDrop
    - playOnDrop
    - visible
    argTypes:
    - intf_thread_t*
    - int
    - int
    - WindowManager
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 75
    functionName: FscWindow::FscWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/src/fsc_window.cpp
    functionUses: 0
    functionsReached:
    - VarBool::addObserver
    - var_InheritInteger
    - var_InheritBool
    - VoutManager::instance
    - config_FindConfig
    - getIntf
    - VlcProc::instance
    - var_InheritFloat
    - OSFactory::instance
    linkageType: ''
    returnType: void
    signature: "void FscWindow::FscWindow( intf_thread_t *pIntf, int left, int top,\n
      \                     WindowManager &rWindowManager,\n                      bool
      dragDrop, bool playOnDrop, bool visible )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VoutManager::instance
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:81,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:81,1
    - Dst: VlcProc::instance
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:83,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:83,1
    - Dst: VarBool::delObserver
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: FscWindow::~FscWindow()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/fsc_window.cpp
    functionUses: 0
    functionsReached:
    - VlcProc::instance
    - getIntf
    - VarBool::delObserver
    - VoutManager::instance
    linkageType: ''
    returnType: void
    signature: void FscWindow::~FscWindow()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VlcProc::instance
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:92,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:92,1
    - Dst: VarBool::get
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:93,1
    - Dst: show
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:95,1
    - Dst: stop
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:98,1
    - Dst: setOpacity
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:100,1
    - Dst: start
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 104
    functionName: FscWindow::onMouseMoved
    functionSourceFile: /src/vlc/modules/gui/skins2/src/fsc_window.cpp
    functionUses: 0
    functionsReached:
    - VarBool::get
    - show
    - setOpacity
    - getIntf
    - start
    - stop
    - VlcProc::instance
    linkageType: ''
    returnType: void
    signature: void FscWindow::onMouseMoved( )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setOpacity
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:112,1
    - Dst: hide
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 120
    functionName: FscWindow::onTimerExpired
    functionSourceFile: /src/vlc/modules/gui/skins2/src/fsc_window.cpp
    functionUses: 0
    functionsReached:
    - hide
    - setOpacity
    linkageType: ''
    returnType: void
    signature: void FscWindow::onTimerExpired()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:127,1
    - Dst: setOpacity
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:129,1
    - Dst: TopWindow::processEvent
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rEvtMotion
    argTypes:
    - EvtMotion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: FscWindow::processEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/src/fsc_window.cpp
    functionUses: 0
    functionsReached:
    - TopWindow::processEvent
    - setOpacity
    - stop
    linkageType: ''
    returnType: void
    signature: void FscWindow::processEvent( EvtMotion &rEvtMotion )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:140,1
    - Dst: setOpacity
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:145,1
    - Dst: start
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:146,1
    - Dst: TopWindow::processEvent
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - rEvtLeave
    argTypes:
    - EvtLeave
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 149
    functionName: FscWindow::processEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/src/fsc_window.cpp
    functionUses: 0
    functionsReached:
    - TopWindow::processEvent
    - start
    - setOpacity
    - stop
    linkageType: ''
    returnType: void
    signature: void FscWindow::processEvent( EvtLeave &rEvtLeave )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VlcProc::instance
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:154,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:154,1
    - Dst: VarBool::get
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:157,1
    - Dst: hide
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:159,1
    - Dst: ButtonUpdate
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - rVariable
    - arg
    argTypes:
    - Subject<VarBool>
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 163
    functionName: FscWindow::onUpdate
    functionSourceFile: /src/vlc/modules/gui/skins2/src/fsc_window.cpp
    functionUses: 0
    functionsReached:
    - hide
    - VarBool::get
    - ButtonUpdate
    - getIntf
    - VlcProc::instance
    linkageType: ''
    returnType: void
    signature: void FscWindow::onUpdate( Subject<VarBool> &rVariable, void *arg  )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TopWindow::innerShow
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:171,1
    - Dst: setOpacity
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:174,1
    - Dst: start
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionName: FscWindow::innerShow
    functionSourceFile: /src/vlc/modules/gui/skins2/src/fsc_window.cpp
    functionUses: 0
    functionsReached:
    - start
    - TopWindow::innerShow
    - setOpacity
    linkageType: ''
    returnType: void
    signature: void FscWindow::innerShow()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:181,1
    - Dst: TopWindow::innerHide
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: FscWindow::innerHide
    functionSourceFile: /src/vlc/modules/gui/skins2/src/fsc_window.cpp
    functionUses: 0
    functionsReached:
    - TopWindow::innerHide
    - stop
    linkageType: ''
    returnType: void
    signature: void FscWindow::innerHide()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:192,1
    - Dst: getHeight
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:193,1
    - Dst: move
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - y
    - width
    - height
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 195
    functionName: FscWindow::moveTo
    functionSourceFile: /src/vlc/modules/gui/skins2/src/fsc_window.cpp
    functionUses: 0
    functionsReached:
    - move
    - getWidth
    - getHeight
    linkageType: ''
    returnType: void
    signature: void FscWindow::moveTo( int x, int y, int width, int height )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: onTimerExpired
      Src: /src/vlc/modules/gui/skins2/src/fsc_window.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: FscWindow::CmdFscHide::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/fsc_window.cpp
    functionUses: 0
    functionsReached:
    - onTimerExpired
    linkageType: ''
    returnType: void
    signature: void FscWindow::CmdFscHide::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~IniFile()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/ini_file.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IniFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:47,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:47,1
    - Dst: OSFactory*::createOSGraphics
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:49,1
    - Dst: VarBoolImpl::VarBoolImpl
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:52,1
    - Dst: VarManager::instance
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:53,1
    - Dst: VariablePtr
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - pIntf
    - width
    - height
    - minWidth
    - maxWidth
    - minHeight
    - maxHeight
    argTypes:
    - intf_thread_t*
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 36
    functionDepth: 3
    functionLinenumber: 36
    functionLinenumberEnd: 54
    functionName: GenericLayout::GenericLayout
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_layout.cpp
    functionUses: 0
    functionsReached:
    - VariablePtr
    - getIntf
    - VarManager::instance
    - OSFactory*::createOSGraphics
    - VarBoolImpl::VarBoolImpl
    - OSFactory::instance
    linkageType: ''
    returnType: void
    signature: "void GenericLayout::GenericLayout( intf_thread_t *pIntf, int width,
      int height,\n                              int minWidth, int maxWidth, int minHeight,\n
      \                             int maxHeight )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:62,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:62,1
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:68,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:68,1
    - Dst: CtrlGeneric*::unsetLayout
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 74
    functionName: GenericLayout::~GenericLayout()
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_layout.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    - CtrlGeneric*::unsetLayout
    linkageType: ''
    returnType: void
    signature: void GenericLayout::~GenericLayout()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pWindow
    argTypes:
    - TopWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: GenericLayout::setWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_layout.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GenericLayout::setWindow( TopWindow *pWindow )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GenericLayout::getWindow
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:86,1
    - Dst: TopWindow*::onControlCapture
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rCtrl
    argTypes:
    - CtrlGeneric
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: GenericLayout::onControlCapture
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_layout.cpp
    functionUses: 0
    functionsReached:
    - TopWindow*::onControlCapture
    - GenericLayout::getWindow
    linkageType: ''
    returnType: void
    signature: void GenericLayout::onControlCapture( const CtrlGeneric &rCtrl )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GenericLayout::getWindow
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:97,1
    - Dst: TopWindow*::onControlRelease
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rCtrl
    argTypes:
    - CtrlGeneric
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: GenericLayout::onControlRelease
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_layout.cpp
    functionUses: 0
    functionsReached:
    - TopWindow*::onControlRelease
    - GenericLayout::getWindow
    linkageType: ''
    returnType: void
    signature: void GenericLayout::onControlRelease( const CtrlGeneric &rCtrl )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CtrlGeneric*::setLayout
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:111,1
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:116,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:116,1
    - Dst: insert
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:120,1
    - Dst: LayeredControl
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:120,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:125,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:127,1
    - Dst: LayeredControl
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:127,1
    - Dst: CtrlGeneric*::getType
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:131,1
    - Dst: insert
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:133,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:138,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - pControl
    - rPosition
    - layer
    argTypes:
    - CtrlGeneric*
    - Position
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 140
    functionName: GenericLayout::addControl
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_layout.cpp
    functionUses: 0
    functionsReached:
    - LayeredControl
    - push_back
    - CtrlGeneric*::setLayout
    - begin
    - insert
    - CtrlGeneric*::getType
    - msg_Dbg
    - getIntf
    - end
    linkageType: ''
    returnType: void
    signature: "void GenericLayout::addControl( CtrlGeneric *pControl,\n                                const
      Position &rPosition, int layer )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: '&GenericLayout::getControlList() const'
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_layout.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::list<LayeredControl>
    signature: std::list<LayeredControl> &GenericLayout::getControlList() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CtrlGeneric::getPosition
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:157,1
    - Dst: Position*::getLeft
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:161,1
    - Dst: Position*::getTop
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:162,1
    - Dst: GenericLayout::getWidth
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:164,1
    - Dst: GenericLayout::getHeight
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:164,1
    - Dst: rect::rect
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:165,1
    - Dst: rect::intersect
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:166,1
    - Dst: GenericLayout::refreshRect
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 5
    argNames:
    - rCtrl
    - width
    - height
    - xOffSet
    - yOffSet
    argTypes:
    - CtrlGeneric
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 171
    functionName: GenericLayout::onControlUpdate
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_layout.cpp
    functionUses: 0
    functionsReached:
    - GenericLayout::refreshRect
    - rect::intersect
    - Position*::getLeft
    - GenericLayout::getWidth
    - GenericLayout::getHeight
    - rect::rect
    - Position*::getTop
    - CtrlGeneric::getPosition
    linkageType: ''
    returnType: void
    signature: "void GenericLayout::onControlUpdate( const CtrlGeneric &rCtrl,\n                                     int
      width, int height,\n                                     int xOffSet, int yOffSet
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GenericLayout::getWidth
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:177,1
    - Dst: GenericLayout::getHeight
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:177,1
    - Dst: SkinsRect
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:181,1
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:187,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:187,1
    - Dst: OSFactory*::createOSGraphics
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:188,1
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:193,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:193,1
    - Dst: std::list<LayeredControl>::const_iterator::m_pControl::onResize
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - width
    - height
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 197
    functionName: GenericLayout::resize
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_layout.cpp
    functionUses: 1
    functionsReached:
    - begin
    - GenericLayout::getWidth
    - SkinsRect
    - getIntf
    - OSFactory*::createOSGraphics
    - GenericLayout::getHeight
    - std::list<LayeredControl>::const_iterator::m_pControl::onResize
    - end
    - OSFactory::instance
    linkageType: ''
    returnType: void
    signature: void GenericLayout::resize( int width, int height )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericLayout::refreshRect
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:202,1
    - Dst: GenericLayout::getWidth
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:202,1
    - Dst: GenericLayout::getHeight
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: GenericLayout::refreshAll
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_layout.cpp
    functionUses: 1
    functionsReached:
    - GenericLayout::refreshRect
    - GenericLayout::getWidth
    - GenericLayout::getHeight
    linkageType: ''
    returnType: void
    signature: void GenericLayout::refreshAll()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:213,1
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:217,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:217,1
    - Dst: CtrlGeneric*::isVisible
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:220,1
    - Dst: CtrlGeneric*::draw
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:222,1
    - Dst: GenericLayout::getWindow
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:227,1
    - Dst: TopWindow*::updateShape
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:231,1
    - Dst: TopWindow*::invalidateRect
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - x
    - y
    - width
    - height
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 234
    functionName: GenericLayout::refreshRect
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_layout.cpp
    functionUses: 2
    functionsReached:
    - CtrlGeneric*::draw
    - TopWindow*::updateShape
    - TopWindow*::invalidateRect
    - begin
    - clear
    - CtrlGeneric*::isVisible
    - GenericLayout::getWindow
    - end
    linkageType: ''
    returnType: void
    signature: void GenericLayout::refreshRect( int x, int y, int width, int height
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: '& GenericLayout::getAnchorList() const'
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_layout.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::list<Anchor*>
    signature: std::list<Anchor*> & GenericLayout::getAnchorList() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pAnchor
    argTypes:
    - Anchor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: GenericLayout::addAnchor
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_layout.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void GenericLayout::addAnchor( Anchor *pAnchor )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericLayout::refreshAll
      Src: /src/vlc/modules/gui/skins2/src/generic_layout.cpp:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 249
    functionDepth: 3
    functionLinenumber: 249
    functionLinenumberEnd: 254
    functionName: GenericLayout::onShow
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_layout.cpp
    functionUses: 0
    functionsReached:
    - GenericLayout::refreshAll
    linkageType: ''
    returnType: void
    signature: void GenericLayout::onShow()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: GenericLayout::onHide
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_layout.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GenericLayout::onHide()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - ' otherLayout'
    argTypes:
    - GenericLayout
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 271
    functionName: GenericLayout::isTightlyCoupledWith
    functionSourceFile: /src/vlc/modules/gui/skins2/src/generic_layout.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GenericLayout::isTightlyCoupledWith( const GenericLayout& otherLayout
      ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: EvtDrag::EvtDrag
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_dragndrop.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EvtDrag( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ~EvtDrag()
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_dragndrop.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EvtDrag()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: EvtDrag::getAsString
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_dragndrop.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getAsString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: EvtDragEnter::EvtDragEnter
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_dragndrop.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EvtDragEnter( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~EvtDragEnter()
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_dragndrop.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EvtDragEnter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: EvtDragEnter::getAsString
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_dragndrop.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getAsString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: EvtDragLeave::EvtDragLeave
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_dragndrop.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EvtDragLeave( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: ~EvtDragLeave()
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_dragndrop.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EvtDragLeave()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: EvtDragLeave::getAsString
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_dragndrop.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getAsString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pIntf
    - x
    - y
    argTypes:
    - intf_thread_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: EvtDragOver::EvtDragOver
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_dragndrop.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EvtDragOver( intf_thread_t *pIntf, int x, int y )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: ~EvtDragOver()
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_dragndrop.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EvtDragOver()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: EvtDragOver::getAsString
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_dragndrop.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getAsString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: EvtDragOver::getXPos
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_dragndrop.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getXPos() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: EvtDragOver::getYPos
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_dragndrop.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getYPos() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - pIntf
    - x
    - y
    - ' files'
    argTypes:
    - intf_thread_t*
    - int
    - int
    - std::list<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: EvtDragDrop::EvtDragDrop
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_dragndrop.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EvtDragDrop( intf_thread_t *pIntf, int x, int y, const std::list<std::string>&
      files )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: ~EvtDragDrop()
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_dragndrop.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EvtDragDrop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: EvtDragDrop::getAsString
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_dragndrop.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getAsString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: EvtDragDrop::getXPos
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_dragndrop.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getXPos() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: EvtDragDrop::getYPos
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_dragndrop.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getYPos() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: '& getFiles() const'
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_dragndrop.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::list<std::string>
    signature: std::list<std::string> & getFiles() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - pIntf
    - xPos
    - yPos
    - button
    - action
    argTypes:
    - intf_thread_t*
    - int
    - int
    - ButtonType_t
    - ActionType_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: EvtMouse::EvtMouse
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_mouse.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EvtMouse( intf_thread_t *pIntf, int xPos, int yPos, ButtonType_t
      button,\n              ActionType_t action, int mod = kModNone )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ~EvtMouse()
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_mouse.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EvtMouse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: EvtMouse::getXPos
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_mouse.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getXPos() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: EvtMouse::getYPos
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_mouse.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getYPos() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: EvtMouse::getButton
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_mouse.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ButtonType_t
    signature: ButtonType_t getButton() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: EvtMouse::getAction
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_mouse.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ActionType_t
    signature: ActionType_t getAction() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/skins2/events/evt_key.cpp:38,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/events/evt_key.cpp:38,1
    - Dst: vlc_keycode2str
      Src: /src/vlc/modules/gui/skins2/events/evt_key.cpp:41,1
    - Dst: std::string
      Src: /src/vlc/modules/gui/skins2/events/evt_key.cpp:44,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/events/evt_key.cpp:45,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/skins2/events/evt_key.cpp:48,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/events/evt_key.cpp:48,1
    - Dst: addModifier
      Src: /src/vlc/modules/gui/skins2/events/evt_key.cpp:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 54
    functionName: EvtKey::getAsString
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_key.cpp
    functionUses: 0
    functionsReached:
    - free
    - std::string
    - getIntf
    - addModifier
    - msg_Warn
    - vlc_keycode2str
    linkageType: ''
    returnType: std::string
    signature: std::string EvtKey::getAsString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: EvtLeave::EvtLeave
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_leave.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EvtLeave( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ~EvtLeave()
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_leave.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EvtLeave()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: EvtLeave::getAsString
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_leave.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getAsString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pIntf
    - xPos
    - yPos
    argTypes:
    - intf_thread_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: EvtMotion::EvtMotion
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_motion.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EvtMotion( intf_thread_t *pIntf, int xPos, int yPos )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~EvtMotion()
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_motion.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EvtMotion()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: EvtMotion::getAsString
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_motion.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getAsString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: EvtMotion::getXPos
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_motion.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getXPos() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: EvtMotion::getYPos
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_motion.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getYPos() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pIntf
    - action
    argTypes:
    - intf_thread_t*
    - ActionType_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: EvtSpecial::EvtSpecial
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_special.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EvtSpecial( intf_thread_t *pIntf, ActionType_t action )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~EvtSpecial()
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_special.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EvtSpecial()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - pIntf
    - xStart
    - yStart
    - width
    - height
    argTypes:
    - intf_thread_t*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: EvtRefresh::EvtRefresh
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_refresh.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EvtRefresh( intf_thread_t *pIntf, int xStart, int yStart,\n                                      int
      width, int height )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: ~EvtRefresh()
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_refresh.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EvtRefresh()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: EvtRefresh::getAsString
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_refresh.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getAsString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: EvtRefresh::getXStart
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_refresh.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getXStart() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: EvtRefresh::getYStart
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_refresh.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getYStart() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: EvtRefresh::getWidth
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_refresh.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getWidth()  const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: EvtRefresh::getHeight
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_refresh.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getHeight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pIntf
    - itemId
    argTypes:
    - intf_thread_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: EvtMenu::EvtMenu
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_menu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EvtMenu( intf_thread_t *pIntf, int itemId )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ~EvtMenu()
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_menu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EvtMenu()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: EvtMenu::getAsString
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_menu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getAsString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: EvtMenu::getItemId
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_menu.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getItemId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ~EvtGeneric()
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_generic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EvtGeneric()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: EvtGeneric::EvtGeneric
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_generic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EvtGeneric( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - I
    - key
    - actn
    argTypes:
    - intf_thread_t*
    - int
    - ActionType_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: EvtKey::EvtKey
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_key.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EvtKey( intf_thread_t *I, int key, ActionType_t actn, int mod
      = kModNone )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: ~EvtKey()
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_key.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EvtKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: EvtKey::getKey
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_key.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getMod
      Src: /src/vlc/modules/gui/skins2/events/evt_key.hpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: EvtKey::getModKey
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_key.hpp
    functionUses: 3
    functionsReached:
    - getMod
    linkageType: ''
    returnType: int
    signature: int getModKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: EvtKey::getKeyState
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_key.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: ActionType_t
    signature: ActionType_t getKeyState() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pIntf
    - focus
    argTypes:
    - intf_thread_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: EvtFocus::EvtFocus
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_focus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EvtFocus( intf_thread_t *pIntf, bool focus )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~EvtFocus()
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_focus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EvtFocus()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: EvtFocus::getAsString
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_focus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getAsString() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/skins2/events/evt_mouse.cpp:39,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/events/evt_mouse.cpp:39,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/skins2/events/evt_mouse.cpp:49,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/events/evt_mouse.cpp:49,1
    - Dst: addModifier
      Src: /src/vlc/modules/gui/skins2/events/evt_mouse.cpp:52,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 55
    functionName: EvtMouse::getAsString
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_mouse.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - addModifier
    - msg_Warn
    linkageType: ''
    returnType: std::string
    signature: std::string EvtMouse::getAsString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pIntf
    - mod
    argTypes:
    - intf_thread_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: EvtInput::EvtInput
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_input.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EvtInput::EvtInput( intf_thread_t *pIntf, int mod )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::string::insert
      Src: /src/vlc/modules/gui/skins2/events/evt_input.cpp:59,1
    - Dst: std::string::end
      Src: /src/vlc/modules/gui/skins2/events/evt_input.cpp:59,1
    - Dst: std::string::begin
      Src: /src/vlc/modules/gui/skins2/events/evt_input.cpp:59,1
    - Dst: std::string::end
      Src: /src/vlc/modules/gui/skins2/events/evt_input.cpp:59,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - rEvtString
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 61
    functionName: EvtInput::addModifier
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_input.cpp
    functionUses: 0
    functionsReached:
    - std::string::insert
    - std::string::end
    - std::string::begin
    linkageType: ''
    returnType: void
    signature: void EvtInput::addModifier( std::string &rEvtString ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ~EvtInput()
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_input.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EvtInput()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: EvtInput::getMod
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_input.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getMod() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - pIntf
    - xPos
    - yPos
    - direction
    argTypes:
    - intf_thread_t*
    - int
    - int
    - Direction_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: EvtScroll::EvtScroll
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_scroll.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EvtScroll( intf_thread_t *pIntf, int xPos, int yPos,\n               Direction_t
      direction, int mod = kModNone )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~EvtScroll()
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_scroll.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EvtScroll()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: EvtScroll::getXPos
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_scroll.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getXPos() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: EvtScroll::getYPos
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_scroll.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getYPos() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: EvtScroll::getDirection
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_scroll.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: Direction_t
    signature: Direction_t getDirection() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: EvtEnter::EvtEnter
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_enter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EvtEnter( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ~EvtEnter()
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_enter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EvtEnter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: EvtEnter::getAsString
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_enter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getAsString() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/skins2/events/evt_scroll.cpp:37,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/events/evt_scroll.cpp:37,1
    - Dst: addModifier
      Src: /src/vlc/modules/gui/skins2/events/evt_scroll.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 43
    functionName: EvtScroll::getAsString
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_scroll.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - addModifier
    - msg_Warn
    linkageType: ''
    returnType: std::string
    signature: std::string EvtScroll::getAsString() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/skins2/events/evt_special.cpp:41,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/events/evt_special.cpp:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 44
    functionName: EvtSpecial::getAsString
    functionSourceFile: /src/vlc/modules/gui/skins2/events/evt_special.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - msg_Warn
    linkageType: ''
    returnType: std::string
    signature: std::string EvtSpecial::getAsString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WinQueryWindowPtr
      Src: /src/vlc/modules/gui/skins2/os2/os2_timer.cpp:39,1
    - Dst: OS2Timer*::execute
      Src: /src/vlc/modules/gui/skins2/os2/os2_timer.cpp:41,1
    - Dst: WinDefWindowProc
      Src: /src/vlc/modules/gui/skins2/os2/os2_timer.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - hwnd
    - msg
    - mp1
    - mp2
    argTypes:
    - HWND
    - ULONG
    - MPARAM
    - MPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: TimerWindowProc
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_timer.cpp
    functionUses: 0
    functionsReached:
    - WinDefWindowProc
    - WinQueryWindowPtr
    - OS2Timer*::execute
    linkageType: ''
    returnType: MRESULT
    signature: "MRESULT TimerWindowProc( HWND hwnd, ULONG msg,\n                                         MPARAM
      mp1, MPARAM mp2 )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinRegisterClass
      Src: /src/vlc/modules/gui/skins2/os2/os2_timer.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pIntf
    - rCmd
    - hWnd
    argTypes:
    - intf_thread_t*
    - CmdGeneric
    - HWND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: OS2Timer::OS2Timer
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_timer.cpp
    functionUses: 0
    functionsReached:
    - WinRegisterClass
    linkageType: ''
    returnType: void
    signature: void OS2Timer::OS2Timer( intf_thread_t *pIntf, CmdGeneric &rCmd, HWND
      hWnd )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OS2Timer::stop
      Src: /src/vlc/modules/gui/skins2/os2/os2_timer.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: OS2Timer::~OS2Timer()
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_timer.cpp
    functionUses: 0
    functionsReached:
    - OS2Timer::stop
    linkageType: ''
    returnType: void
    signature: void OS2Timer::~OS2Timer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinCreateWindow
      Src: /src/vlc/modules/gui/skins2/os2/os2_timer.cpp:69,1
    - Dst: WinSetWindowPtr
      Src: /src/vlc/modules/gui/skins2/os2/os2_timer.cpp:73,1
    - Dst: WinStartTimer
      Src: /src/vlc/modules/gui/skins2/os2/os2_timer.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - delay
    - oneShot
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: OS2Timer::start
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_timer.cpp
    functionUses: 0
    functionsReached:
    - WinStartTimer
    - WinCreateWindow
    - WinSetWindowPtr
    linkageType: ''
    returnType: void
    signature: void OS2Timer::start( int delay, bool oneShot )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WinStopTimer
      Src: /src/vlc/modules/gui/skins2/os2/os2_timer.cpp:84,1
    - Dst: WinDestroyWindow
      Src: /src/vlc/modules/gui/skins2/os2/os2_timer.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 89
    functionName: OS2Timer::stop
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_timer.cpp
    functionUses: 1
    functionsReached:
    - WinDestroyWindow
    - WinStopTimer
    linkageType: ''
    returnType: void
    signature: void OS2Timer::stop()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OS2Timer::execute
      Src: /src/vlc/modules/gui/skins2/os2/os2_timer.cpp:95,1
    - Dst: OS2Timer::stop
      Src: /src/vlc/modules/gui/skins2/os2/os2_timer.cpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: OS2Timer::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_timer.cpp
    functionUses: 1
    functionsReached:
    - OS2Timer::stop
    - OS2Timer::execute
    linkageType: ''
    returnType: void
    signature: void OS2Timer::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: ~OS2DragDrop()
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_dragdrop.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~OS2DragDrop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: '&getDirSeparator() const'
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_factory.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &getDirSeparator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: '&getResourcePath() const'
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_factory.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::list<std::string>
    signature: std::list<std::string> &getResourcePath() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: OS2Factory::getParentWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_factory.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HWND
    signature: HWND getParentWindow()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: OS2Factory::getCursorType
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_factory.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CursorType_t
    signature: CursorType_t getCursorType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pIntf
    - playOnDrop
    - pWin
    argTypes:
    - intf_thread_t*
    - bool
    - GenericWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: OS2DragDrop::OS2DragDrop
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_dragdrop.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void OS2DragDrop::OS2DragDrop( intf_thread_t *pIntf,\n                              bool
      playOnDrop, GenericWindow* pWin )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WinCreateStdWindow
      Src: /src/vlc/modules/gui/skins2/os2/os2_tooltip.cpp:37,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/os2/os2_tooltip.cpp:49,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/os2/os2_tooltip.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pIntf
    - hInst
    - hParentWindow
    argTypes:
    - intf_thread_t*
    - HMODULE
    - HWND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 51
    functionName: OS2Tooltip::OS2Tooltip
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_tooltip.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - WinCreateStdWindow
    - msg_Err
    linkageType: ''
    returnType: void
    signature: "void OS2Tooltip::OS2Tooltip( intf_thread_t *pIntf, HMODULE hInst,\n
      \                       HWND hParentWindow )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WinDestroyWindow
      Src: /src/vlc/modules/gui/skins2/os2/os2_tooltip.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: OS2Tooltip::~OS2Tooltip()
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_tooltip.cpp
    functionUses: 0
    functionsReached:
    - WinDestroyWindow
    linkageType: ''
    returnType: void
    signature: void OS2Tooltip::~OS2Tooltip()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPS
      Src: /src/vlc/modules/gui/skins2/os2/os2_tooltip.cpp:64,1
    - Dst: OSGraphics::getWidth
      Src: /src/vlc/modules/gui/skins2/os2/os2_tooltip.cpp:65,1
    - Dst: OSGraphics::getHeight
      Src: /src/vlc/modules/gui/skins2/os2/os2_tooltip.cpp:66,1
    - Dst: WinQueryWindowRect
      Src: /src/vlc/modules/gui/skins2/os2/os2_tooltip.cpp:70,1
    - Dst: WinQueryWindow
      Src: /src/vlc/modules/gui/skins2/os2/os2_tooltip.cpp:70,1
    - Dst: WinSetWindowPos
      Src: /src/vlc/modules/gui/skins2/os2/os2_tooltip.cpp:76,1
    - Dst: WinGetPS
      Src: /src/vlc/modules/gui/skins2/os2/os2_tooltip.cpp:79,1
    - Dst: GpiBitBlt
      Src: /src/vlc/modules/gui/skins2/os2/os2_tooltip.cpp:81,1
    - Dst: WinReleasePS
      Src: /src/vlc/modules/gui/skins2/os2/os2_tooltip.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - left
    - top
    - rText
    argTypes:
    - int
    - int
    - OSGraphics
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 83
    functionName: OS2Tooltip::show
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_tooltip.cpp
    functionUses: 0
    functionsReached:
    - GpiBitBlt
    - OSGraphics::getHeight
    - getPS
    - WinQueryWindow
    - WinQueryWindowRect
    - WinGetPS
    - WinReleasePS
    - WinSetWindowPos
    - OSGraphics::getWidth
    linkageType: ''
    returnType: void
    signature: void OS2Tooltip::show( int left, int top, OSGraphics &rText )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinShowWindow
      Src: /src/vlc/modules/gui/skins2/os2/os2_tooltip.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: OS2Tooltip::hide
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_tooltip.cpp
    functionUses: 0
    functionsReached:
    - WinShowWindow
    linkageType: ''
    returnType: void
    signature: void OS2Tooltip::hide()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: test_media_player_multiple_instance
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:44,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:44,1
    - Dst: OS2Window*::getHandle
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:54,1
    - Dst: WinCreateStdWindow
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:55,1
    - Dst: WinCreateStdWindow
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:68,1
    - Dst: WinSetOwner
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:78,1
    - Dst: OS2Factory*::getParentWindow
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:78,1
    - Dst: VoutManager::instance
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:82,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:82,1
    - Dst: VoutManager*::getVoutMainWindow
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:84,1
    - Dst: GenericWindow*::getOSWindow
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:86,1
    - Dst: OS2Window*::getHandle
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:87,1
    - Dst: WinCreateStdWindow
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:91,1
    - Dst: WinSetOwner
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:101,1
    - Dst: OS2Factory*::getParentWindow
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:106,1
    - Dst: WinCreateStdWindow
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:107,1
    - Dst: WinSetOwner
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:117,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:122,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:122,1
    - Dst: WinSetWindowPtr
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:127,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 8
    argNames:
    - pIntf
    - rWindow
    - hInst
    - hParentWindow
    - dragDrop
    - playOnDrop
    - pParentWindow
    - type
    argTypes:
    - intf_thread_t*
    - GenericWindow
    - HMODULE
    - HWND
    - bool
    - bool
    - OS2Window*
    - GenericWindow::WindowType_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 137
    functionName: OS2Window::OS2Window
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_window.cpp
    functionUses: 0
    functionsReached:
    - OS2Window*::getHandle
    - WinCreateStdWindow
    - VoutManager::instance
    - VoutManager*::getVoutMainWindow
    - msg_Err
    - getIntf
    - WinSetOwner
    - GenericWindow*::getOSWindow
    - OS2Factory*::getParentWindow
    - test_media_player_multiple_instance
    - WinSetWindowPtr
    linkageType: ''
    returnType: void
    signature: "void OS2Window::OS2Window( intf_thread_t *pIntf, GenericWindow &rWindow,\n
      \                     HMODULE hInst, HWND hParentWindow,\n                      bool
      dragDrop, bool playOnDrop,\n                      OS2Window *pParentWindow,\n
      \                     GenericWindow::WindowType_t type )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_media_player_multiple_instance
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:142,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:142,1
    - Dst: WinDestroyWindow
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 154
    functionName: OS2Window::~OS2Window()
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_window.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - WinDestroyWindow
    - test_media_player_multiple_instance
    linkageType: ''
    returnType: void
    signature: void OS2Window::~OS2Window()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OS2Window*::getHandle
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:160,1
    - Dst: WinSetParent
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:163,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:164,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:164,1
    - Dst: WinGetLastError
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:164,1
    - Dst: WinQueryWindowRect
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:166,1
    - Dst: WinSetWindowPos
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - parent
    - x
    - y
    - w
    - h
    argTypes:
    - OSWindow*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 170
    functionName: OS2Window::reparent
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_window.cpp
    functionUses: 0
    functionsReached:
    - OS2Window*::getHandle
    - msg_Err
    - WinQueryWindowRect
    - getIntf
    - WinSetWindowPos
    - WinGetLastError
    - WinSetParent
    linkageType: ''
    returnType: void
    signature: void OS2Window::reparent( OSWindow* parent, int x, int y, int w, int
      h )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinQueryWindowRect
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:176,1
    - Dst: WinSetRect
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:180,1
    - Dst: WinInvalidateRect
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:181,1
    - Dst: WinUpdateWindow
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - x
    - y
    - w
    - h
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 185
    functionName: OS2Window::invalidateRect
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_window.cpp
    functionUses: 0
    functionsReached:
    - WinSetRect
    - WinInvalidateRect
    - WinUpdateWindow
    - WinQueryWindowRect
    linkageType: ''
    returnType: bool
    signature: bool OS2Window::invalidateRect( int x, int y, int w, int h ) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WinSetWindowPos
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:192,1
    - Dst: WinSetWindowPos
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:196,1
    - Dst: WinSetWindowPos
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 201
    functionName: OS2Window::show
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_window.cpp
    functionUses: 0
    functionsReached:
    - WinSetWindowPos
    linkageType: ''
    returnType: void
    signature: void OS2Window::show() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinShowWindow
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: OS2Window::hide
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_window.cpp
    functionUses: 0
    functionsReached:
    - WinShowWindow
    linkageType: ''
    returnType: void
    signature: void OS2Window::hide() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinQueryWindowRect
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:213,1
    - Dst: WinQueryWindow
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:213,1
    - Dst: WinSetWindowPos
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - left
    - top
    - width
    - height
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 218
    functionName: OS2Window::moveResize
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_window.cpp
    functionUses: 0
    functionsReached:
    - WinSetWindowPos
    - WinQueryWindow
    - WinQueryWindowRect
    linkageType: ''
    returnType: void
    signature: void OS2Window::moveResize( int left, int top, int width, int height
      ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinSetWindowPos
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: OS2Window::raise
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_window.cpp
    functionUses: 0
    functionsReached:
    - WinSetWindowPos
    linkageType: ''
    returnType: void
    signature: void OS2Window::raise() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: OS2Window::setOpacity
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_window.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OS2Window::setOpacity( uint8_t value ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinSetWindowPos
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - onTop
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: OS2Window::toggleOnTop
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_window.cpp
    functionUses: 0
    functionsReached:
    - WinSetWindowPos
    linkageType: ''
    returnType: void
    signature: void OS2Window::toggleOnTop( bool onTop ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: OS2Popup::getPosFromId
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_popup.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getPosFromId( int id ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: OS2Graphics::getWidth
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_graphics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getWidth() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: OS2Graphics::getHeight
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_graphics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getHeight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: OS2Graphics::getPS
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_graphics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HDC
    signature: HDC getPS() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: OS2Graphics::getMask
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_graphics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HRGN
    signature: HRGN getMask() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - height
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: OS2Graphics::invertPointY
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_graphics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int invertPointY( int y, int height ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - y
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: OS2Graphics::invertPointY
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_graphics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int invertPointY( int y ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - y
    - height
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: OS2Graphics::invertRectY
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_graphics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int invertRectY( int y, int height ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - y
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: OS2Graphics::invertRectY
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_graphics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int invertRectY( int y ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DosGetInfoBlocks
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: MorphToPM
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp
    functionUses: 0
    functionsReached:
    - DosGetInfoBlocks
    linkageType: ''
    returnType: void
    signature: void MorphToPM( void )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: WinQueryWindowPtr
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:66,1
    - Dst: test_media_player_multiple_instance
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:68,1
    - Dst: PVOIDFROMMP
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:72,1
    - Dst: WinBeginEnumWindows
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:76,1
    - Dst: WinGetNextWindow
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:78,1
    - Dst: WinQueryWindow
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:80,1
    - Dst: WinSetWindowPos
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:82,1
    - Dst: SHORT1FROMMP
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:91,1
    - Dst: libvlc_Quit
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:93,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:93,1
    - Dst: SHORT1FROMMP
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:97,1
    - Dst: OS2Factory*::minimize
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:99,1
    - Dst: SHORT1FROMMP
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:103,1
    - Dst: OS2Factory*::restore
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:105,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:111,1
    - Dst: SHORT1FROMMP
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:111,1
    - Dst: OS2Factory*::m_pfnwpOldFrameProc
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:115,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 4
    argNames:
    - hwnd
    - msg
    - mp1
    - mp2
    argTypes:
    - HWND
    - ULONG
    - MPARAM
    - MPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 116
    functionName: OS2Factory::OS2FrameProc
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp
    functionUses: 0
    functionsReached:
    - OS2Factory*::minimize
    - WinGetNextWindow
    - OS2Factory*::restore
    - vlc_object_instance
    - WinBeginEnumWindows
    - WinQueryWindow
    - PVOIDFROMMP
    - WinQueryWindowPtr
    - msg_Dbg
    - OS2Factory*::m_pfnwpOldFrameProc
    - SHORT1FROMMP
    - WinSetWindowPos
    - libvlc_Quit
    - test_media_player_multiple_instance
    linkageType: ''
    returnType: MRESULT
    signature: "MRESULT OS2Factory::OS2FrameProc( HWND hwnd, ULONG msg,\n                                           MPARAM
      mp1, MPARAM mp2 )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WinQueryWindowPtr
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:122,1
    - Dst: WinDefWindowProc
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:127,1
    - Dst: test_media_player_multiple_instance
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:130,1
    - Dst: WinSetWindowPtr
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:137,1
    - Dst: WinSubclassWindow
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:140,1
    - Dst: OS2Factory*::getParentWindow
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:143,1
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:146,1
    - Dst: OS2Loop*::processEvent
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:148,1
    - Dst: WinDefWindowProc
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - hwnd
    - msg
    - mp1
    - mp2
    argTypes:
    - HWND
    - ULONG
    - MPARAM
    - MPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 153
    functionName: OS2Factory::OS2Proc
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp
    functionUses: 0
    functionsReached:
    - WinSubclassWindow
    - OSFactory::instance
    - WinQueryWindowPtr
    - OS2Loop*::processEvent
    - WinDefWindowProc
    - OS2Factory*::getParentWindow
    - test_media_player_multiple_instance
    - WinSetWindowPtr
    linkageType: ''
    returnType: MRESULT
    signature: "MRESULT OS2Factory::OS2Proc( HWND hwnd, ULONG msg,\n                                      MPARAM
      mp1, MPARAM mp2 )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: OS2Factory::OS2Factory
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OS2Factory::OS2Factory( intf_thread_t *pIntf )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MorphToPM
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:170,1
    - Dst: WinInitialize
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:172,1
    - Dst: _control87
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:175,1
    - Dst: WinCreateMsgQueue
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:178,1
    - Dst: _control87
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:181,1
    - Dst: WinRegisterClass
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:183,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:186,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:186,1
    - Dst: WinCreateStdWindow
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:193,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:205,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:205,1
    - Dst: WinSetWindowPtr
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:210,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:210,1
    - Dst: WinSetWindowPos
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:212,1
    - Dst: OS2Factory::changeCursor
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:217,1
    - Dst: config_GetUserDir
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:220,1
    - Dst: likely
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:221,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:223,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:224,1
    - Dst: config_GetSysPath
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:226,1
    - Dst: likely
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:227,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:229,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:230,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:231,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:232,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:233,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:234,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 240
    functionName: OS2Factory::init
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp
    functionUses: 0
    functionsReached:
    - _control87
    - WinCreateStdWindow
    - push_back
    - WinRegisterClass
    - MorphToPM
    - WinInitialize
    - msg_Err
    - OS2Factory::changeCursor
    - getIntf
    - free
    - likely
    - WinCreateMsgQueue
    - config_GetSysPath
    - WinSetWindowPos
    - config_GetUserDir
    - WinSetWindowPtr
    linkageType: ''
    returnType: bool
    signature: bool OS2Factory::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WinDestroyWindow
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:245,1
    - Dst: WinDestroyMsgQueue
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:247,1
    - Dst: WinTerminate
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 249
    functionName: OS2Factory::~OS2Factory()
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp
    functionUses: 0
    functionsReached:
    - WinTerminate
    - WinDestroyWindow
    - WinDestroyMsgQueue
    linkageType: ''
    returnType: void
    signature: void OS2Factory::~OS2Factory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:254,1
    - Dst: OS2Graphics::OS2Graphics
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - width
    - height
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: OS2Factory::createOSGraphics
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - OS2Graphics::OS2Graphics
    linkageType: ''
    returnType: OSGraphics
    signature: OSGraphics *OS2Factory::createOSGraphics( int width, int height )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OS2Loop::instance
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:260,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: OS2Factory::getOSLoop
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - OS2Loop::instance
    linkageType: ''
    returnType: OSLoop
    signature: OSLoop *OS2Factory::getOSLoop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OS2Loop::destroy
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:266,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: OS2Factory::destroyOSLoop
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp
    functionUses: 0
    functionsReached:
    - OS2Loop::destroy
    - getIntf
    linkageType: ''
    returnType: void
    signature: void OS2Factory::destroyOSLoop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:272,1
    - Dst: p_theme::getWindowManager
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:272,1
    - Dst: WinSetWindowPos
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 275
    functionName: OS2Factory::minimize
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp
    functionUses: 0
    functionsReached:
    - WinSetWindowPos
    - getIntf
    - p_theme::getWindowManager
    linkageType: ''
    returnType: void
    signature: void OS2Factory::minimize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinSetWindowPos
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: OS2Factory::restore
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp
    functionUses: 0
    functionsReached:
    - WinSetWindowPos
    linkageType: ''
    returnType: void
    signature: void OS2Factory::restore()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: OS2Factory::addInTray
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OS2Factory::addInTray()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: OS2Factory::removeFromTray
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OS2Factory::removeFromTray()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinSetWindowPos
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:294,1
    - Dst: WinQuerySwitchHandle
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:296,1
    - Dst: WinQuerySwitchEntry
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:299,1
    - Dst: WinChangeSwitchEntry
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:301,1
    - Dst: WinSetWindowPos
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 305
    functionName: OS2Factory::addInTaskBar
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp
    functionUses: 0
    functionsReached:
    - WinSetWindowPos
    - WinQuerySwitchEntry
    - WinQuerySwitchHandle
    - WinChangeSwitchEntry
    linkageType: ''
    returnType: void
    signature: void OS2Factory::addInTaskBar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinSetWindowPos
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:309,1
    - Dst: WinQuerySwitchHandle
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:311,1
    - Dst: WinQuerySwitchEntry
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:314,1
    - Dst: WinChangeSwitchEntry
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:316,1
    - Dst: WinSetWindowPos
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 320
    functionName: OS2Factory::removeFromTaskBar
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp
    functionUses: 0
    functionsReached:
    - WinSetWindowPos
    - WinQuerySwitchEntry
    - WinQuerySwitchHandle
    - WinChangeSwitchEntry
    linkageType: ''
    returnType: void
    signature: void OS2Factory::removeFromTaskBar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:324,1
    - Dst: OS2Timer::OS2Timer
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rCmd
    argTypes:
    - CmdGeneric
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: OS2Factory::createOSTimer
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - OS2Timer::OS2Timer
    linkageType: ''
    returnType: OSTimer
    signature: OSTimer *OS2Factory::createOSTimer( CmdGeneric &rCmd )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:332,1
    - Dst: OS2Window::OS2Window
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - rWindow
    - dragDrop
    - playOnDrop
    - pParent
    - type
    argTypes:
    - GenericWindow
    - bool
    - bool
    - OSWindow*
    - GenericWindow::WindowType_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 3
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: OS2Factory::createOSWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - OS2Window::OS2Window
    linkageType: ''
    returnType: OSWindow
    signature: "OSWindow *OS2Factory::createOSWindow( GenericWindow &rWindow, bool
      dragDrop,\n                                      bool playOnDrop, OSWindow *pParent,\n
      \                                     GenericWindow::WindowType_t type )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:339,1
    - Dst: OS2Tooltip::OS2Tooltip
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: OS2Factory::createOSTooltip
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - OS2Tooltip::OS2Tooltip
    linkageType: ''
    returnType: OSTooltip
    signature: OSTooltip *OS2Factory::createOSTooltip()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:350,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:350,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:352,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:352,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:356,1
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:356,1
    - Dst: OS2Popup::OS2Popup
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 357
    functionName: OS2Factory::createOSPopup
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp
    functionUses: 0
    functionsReached:
    - begin
    - msg_Err
    - getIntf
    - OS2Popup::OS2Popup
    - end
    linkageType: ''
    returnType: OSPopup
    signature: OSPopup *OS2Factory::createOSPopup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinQuerySysValue
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 363
    functionName: OS2Factory::getScreenWidth
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp
    functionUses: 0
    functionsReached:
    - WinQuerySysValue
    linkageType: ''
    returnType: int
    signature: int OS2Factory::getScreenWidth() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinQuerySysValue
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: OS2Factory::getScreenHeight
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp
    functionUses: 0
    functionsReached:
    - WinQuerySysValue
    linkageType: ''
    returnType: int
    signature: int OS2Factory::getScreenHeight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OS2Factory::getScreenWidth
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:378,1
    - Dst: OS2Factory::getScreenHeight
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - pWindow
    - p_x
    - p_y
    - p_width
    - p_height
    argTypes:
    - OSWindow*
    - int*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 380
    functionName: OS2Factory::getMonitorInfo
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp
    functionUses: 0
    functionsReached:
    - OS2Factory::getScreenWidth
    - OS2Factory::getScreenHeight
    linkageType: ''
    returnType: void
    signature: "void OS2Factory::getMonitorInfo( OSWindow* pWindow,\n                                 int*
      p_x, int* p_y,\n                                 int* p_width, int* p_height
      ) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OS2Factory::getScreenWidth
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:388,1
    - Dst: OS2Factory::getScreenHeight
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - numScreen
    - p_x
    - p_y
    - p_width
    - p_height
    argTypes:
    - int
    - int*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 390
    functionName: OS2Factory::getMonitorInfo
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp
    functionUses: 0
    functionsReached:
    - OS2Factory::getScreenWidth
    - OS2Factory::getScreenHeight
    linkageType: ''
    returnType: void
    signature: "void OS2Factory::getMonitorInfo( int numScreen, int* p_x, int* p_y,\n
      \                                  int* p_width, int* p_height ) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SkinsRect
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:398,1
    - Dst: OS2Factory::getScreenWidth
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:398,1
    - Dst: OS2Factory::getScreenHeight
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 399
    functionName: OS2Factory::getWorkArea
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp
    functionUses: 0
    functionsReached:
    - OS2Factory::getScreenWidth
    - SkinsRect
    - OS2Factory::getScreenHeight
    linkageType: ''
    returnType: SkinsRect
    signature: SkinsRect OS2Factory::getWorkArea() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinQueryPointerPos
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:406,1
    - Dst: OS2Factory::getScreenHeight
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rXPos
    - rYPos
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 410
    functionName: OS2Factory::getMousePos
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp
    functionUses: 0
    functionsReached:
    - WinQueryPointerPos
    - OS2Factory::getScreenHeight
    linkageType: ''
    returnType: void
    signature: void OS2Factory::getMousePos( int &rXPos, int &rYPos ) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: WinQuerySysPointer
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:426,1
    - Dst: WinSetPointer
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:427,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - type
    argTypes:
    - CursorType_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 430
    functionName: OS2Factory::changeCursor
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp
    functionUses: 1
    functionsReached:
    - WinQuerySysPointer
    - WinSetPointer
    linkageType: ''
    returnType: void
    signature: void OS2Factory::changeCursor( CursorType_t type ) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_opendir
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:438,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:438,1
    - Dst: vlc_readdir
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:442,1
    - Dst: stat
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:455,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:455,1
    - Dst: S_ISDIR
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:455,1
    - Dst: OS2Factory::rmDir
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:457,1
    - Dst: unlink
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:461,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:461,1
    - Dst: vlc_closedir
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:466,1
    - Dst: rmdir
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:469,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp:469,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - rPath
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 470
    functionName: OS2Factory::rmDir
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_factory.cpp
    functionUses: 1
    functionsReached:
    - S_ISDIR
    - OS2Factory::rmDir
    - vlc_closedir
    - rmdir
    - unlink
    - std::string::c_str
    - stat
    - vlc_readdir
    - vlc_opendir
    linkageType: ''
    returnType: void
    signature: void OS2Factory::rmDir( const std::string &rPath )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DevOpenDC
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:38,1
    - Dst: GpiCreatePS
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:41,1
    - Dst: GpiCreateLogColorTable
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:45,1
    - Dst: GpiCreateBitmap
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:54,1
    - Dst: GpiSetBitmap
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:57,1
    - Dst: GpiCreateRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - pIntf
    - width
    - height
    argTypes:
    - intf_thread_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 62
    functionName: OS2Graphics::OS2Graphics
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp
    functionUses: 1
    functionsReached:
    - DevOpenDC
    - GpiCreateBitmap
    - GpiCreatePS
    - GpiCreateRegion
    - GpiCreateLogColorTable
    - GpiSetBitmap
    linkageType: ''
    returnType: void
    signature: void OS2Graphics::OS2Graphics( intf_thread_t *pIntf, int width, int
      height )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GpiDestroyRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:67,1
    - Dst: GpiSetBitmap
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:69,1
    - Dst: GpiDeleteBitmap
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:70,1
    - Dst: GpiDestroyPS
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:72,1
    - Dst: DevCloseDC
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: OS2Graphics::~OS2Graphics()
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp
    functionUses: 0
    functionsReached:
    - DevCloseDC
    - GpiDestroyRegion
    - GpiDeleteBitmap
    - GpiDestroyPS
    - GpiSetBitmap
    linkageType: ''
    returnType: void
    signature: void OS2Graphics::~OS2Graphics()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GpiDestroyRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:83,1
    - Dst: GpiCreateRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:85,1
    - Dst: OS2Graphics::invertRectY
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:89,1
    - Dst: OS2Graphics::invertRectY
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:90,1
    - Dst: GpiCreateRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:91,1
    - Dst: GpiCombineRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:92,1
    - Dst: GpiDestroyRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - xDest
    - yDest
    - width
    - height
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 95
    functionName: OS2Graphics::clear
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp
    functionUses: 0
    functionsReached:
    - OS2Graphics::invertRectY
    - GpiCreateRegion
    - GpiDestroyRegion
    - GpiCombineRegion
    linkageType: ''
    returnType: void
    signature: void OS2Graphics::clear( int xDest, int yDest, int width, int height
      )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OS2Graphics::checkBoundaries
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:105,1
    - Dst: GenericBitmap::getWidth
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:105,1
    - Dst: GenericBitmap::getHeight
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:105,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:108,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:108,1
    - Dst: OS2Graphics::checkBoundaries
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:113,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:116,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:116,1
    - Dst: GenericBitmap::getData
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:121,1
    - Dst: malloc
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:136,1
    - Dst: DevOpenDC
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:139,1
    - Dst: GpiCreatePS
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:142,1
    - Dst: GpiCreateBitmap
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:145,1
    - Dst: GpiSetBitmap
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:148,1
    - Dst: GpiCreateRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:152,1
    - Dst: GenericBitmap::getWidth
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:155,1
    - Dst: OS2Graphics::addSegmentInRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:194,1
    - Dst: GpiSetBitmapBits
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:202,1
    - Dst: OS2Graphics::invertPointY
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:202,1
    - Dst: OS2Graphics::addSegmentInRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:208,1
    - Dst: GenericBitmap::getWidth
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:211,1
    - Dst: OS2Graphics::invertRectY
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:215,1
    - Dst: GpiOffsetRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:216,1
    - Dst: GpiSetClipRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:218,1
    - Dst: OS2Graphics::invertRectY
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:220,1
    - Dst: OS2Graphics::invertRectY
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:221,1
    - Dst: GpiBitBlt
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:223,1
    - Dst: GpiSetClipRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:226,1
    - Dst: GpiCombineRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:229,1
    - Dst: GpiDestroyRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:232,1
    - Dst: GpiSetBitmap
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:233,1
    - Dst: GpiDeleteBitmap
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:234,1
    - Dst: GpiDestroyPS
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:235,1
    - Dst: DevCloseDC
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:236,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:237,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 55
    argCount: 8
    argNames:
    - rBitmap
    - xSrc
    - ySrc
    - xDest
    - yDest
    - width
    - height
    - blend
    argTypes:
    - GenericBitmap
    - int
    - int
    - int
    - int
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 238
    functionName: OS2Graphics::drawBitmap
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp
    functionUses: 0
    functionsReached:
    - DevOpenDC
    - GpiBitBlt
    - GenericBitmap::getWidth
    - OS2Graphics::invertPointY
    - getIntf
    - GpiSetBitmapBits
    - DevCloseDC
    - OS2Graphics::checkBoundaries
    - GenericBitmap::getHeight
    - msg_Err
    - GpiCreateRegion
    - OS2Graphics::addSegmentInRegion
    - GpiDestroyRegion
    - GpiCreatePS
    - GpiDeleteBitmap
    - GenericBitmap::getData
    - OS2Graphics::invertRectY
    - GpiDestroyPS
    - GpiSetBitmap
    - GpiCreateBitmap
    - GpiCombineRegion
    - GpiOffsetRegion
    - free
    - GpiSetClipRegion
    - malloc
    linkageType: ''
    returnType: void
    signature: "void OS2Graphics::drawBitmap( const GenericBitmap &rBitmap,\n                              int
      xSrc, int ySrc, int xDest, int yDest,\n                              int width,
      int height, bool blend )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OS2Graphics::checkBoundaries
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:246,1
    - Dst: OSGraphics::getWidth
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:246,1
    - Dst: OSGraphics::getHeight
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:246,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:249,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:249,1
    - Dst: OS2Graphics::checkBoundaries
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:254,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:257,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:257,1
    - Dst: OSGraphics::getHeight
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:262,1
    - Dst: OS2Graphics::invertRectY
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:265,1
    - Dst: OS2Graphics::invertRectY
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:266,1
    - Dst: GpiCreateRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:267,1
    - Dst: GpiCombineRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:268,1
    - Dst: OS2Graphics::getMask
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:268,1
    - Dst: OS2Graphics::invertRectY
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:272,1
    - Dst: OS2Graphics::invertRectY
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:273,1
    - Dst: GpiOffsetRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:274,1
    - Dst: OS2Graphics::getPS
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:277,1
    - Dst: GpiSetClipRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:279,1
    - Dst: OS2Graphics::invertRectY
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:281,1
    - Dst: OS2Graphics::invertRectY
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:282,1
    - Dst: OS2Graphics::invertRectY
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:283,1
    - Dst: GpiBitBlt
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:284,1
    - Dst: GpiSetClipRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:287,1
    - Dst: GpiCombineRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:290,1
    - Dst: GpiDestroyRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 7
    argNames:
    - rGraphics
    - xSrc
    - ySrc
    - xDest
    - yDest
    - width
    - height
    argTypes:
    - OSGraphics
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 292
    functionName: OS2Graphics::drawGraphics
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp
    functionUses: 0
    functionsReached:
    - OS2Graphics::getMask
    - GpiBitBlt
    - OS2Graphics::checkBoundaries
    - GpiCombineRegion
    - GpiDestroyRegion
    - OSGraphics::getHeight
    - OS2Graphics::getPS
    - msg_Err
    - GpiOffsetRegion
    - GpiCreateRegion
    - GpiSetClipRegion
    - getIntf
    - OS2Graphics::invertRectY
    - OSGraphics::getWidth
    linkageType: ''
    returnType: void
    signature: "void OS2Graphics::drawGraphics( const OSGraphics &rGraphics, int xSrc,\n
      \                               int ySrc, int xDest, int yDest, int width,\n
      \                               int height )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OS2Graphics::invertRectY
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:299,1
    - Dst: GpiCreateRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:301,1
    - Dst: GpiCombineRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:302,1
    - Dst: GpiSetClipRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:304,1
    - Dst: GpiDestroyRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:305,1
    - Dst: WinSetRect
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:308,1
    - Dst: WinFillRect
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:309,1
    - Dst: GpiSetClipRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - left
    - top
    - width
    - height
    - color
    argTypes:
    - int
    - int
    - int
    - int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 313
    functionName: OS2Graphics::fillRect
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp
    functionUses: 0
    functionsReached:
    - GpiCombineRegion
    - GpiDestroyRegion
    - GpiCreateRegion
    - GpiSetClipRegion
    - OS2Graphics::invertRectY
    - WinSetRect
    - WinFillRect
    linkageType: ''
    returnType: void
    signature: "void OS2Graphics::fillRect( int left, int top, int width, int height,\n
      \                           uint32_t color )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OS2Graphics::invertRectY
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:320,1
    - Dst: GpiCreateRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:322,1
    - Dst: WinSetRect
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:324,1
    - Dst: GpiCreateRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:326,1
    - Dst: WinSetRect
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:328,1
    - Dst: GpiCreateRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:330,1
    - Dst: WinSetRect
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:332,1
    - Dst: GpiCreateRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:333,1
    - Dst: GpiCombineRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:335,1
    - Dst: GpiCombineRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:336,1
    - Dst: GpiCombineRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:337,1
    - Dst: GpiCombineRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:338,1
    - Dst: GpiDestroyRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:340,1
    - Dst: GpiDestroyRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:341,1
    - Dst: GpiDestroyRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:342,1
    - Dst: GpiDestroyRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:343,1
    - Dst: GpiSetClipRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:345,1
    - Dst: GpiSetColor
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:348,1
    - Dst: GpiMove
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:352,1
    - Dst: GpiLine
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:356,1
    - Dst: GpiLine
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:360,1
    - Dst: GpiLine
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:364,1
    - Dst: GpiLine
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:368,1
    - Dst: GpiSetClipRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 5
    argNames:
    - left
    - top
    - width
    - height
    - color
    argTypes:
    - int
    - int
    - int
    - int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 372
    functionName: OS2Graphics::drawRect
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp
    functionUses: 0
    functionsReached:
    - GpiCombineRegion
    - GpiDestroyRegion
    - GpiMove
    - GpiCreateRegion
    - GpiSetClipRegion
    - GpiSetColor
    - GpiLine
    - OS2Graphics::invertRectY
    - WinSetRect
    linkageType: ''
    returnType: void
    signature: "void OS2Graphics::drawRect( int left, int top, int width, int height,\n
      \                           uint32_t color )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getHandle
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:378,1
    - Dst: GpiCreateRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:382,1
    - Dst: GpiCombineRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:383,1
    - Dst: GpiDestroyRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rWindow
    argTypes:
    - OSWindow
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 386
    functionName: OS2Graphics::applyMaskToWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp
    functionUses: 0
    functionsReached:
    - GpiCreateRegion
    - GpiCombineRegion
    - GpiDestroyRegion
    - getHandle
    linkageType: ''
    returnType: void
    signature: void OS2Graphics::applyMaskToWindow( OSWindow &rWindow )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getHandle
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:393,1
    - Dst: WinGetPS
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:394,1
    - Dst: WinQueryWindowRect
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:398,1
    - Dst: OS2Graphics::invertRectY
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:401,1
    - Dst: OS2Graphics::invertRectY
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:402,1
    - Dst: OS2Graphics::invertRectY
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:403,1
    - Dst: GpiBitBlt
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:404,1
    - Dst: WinReleasePS
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - rWindow
    - xSrc
    - ySrc
    - width
    - height
    - xDest
    - yDest
    argTypes:
    - OSWindow
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 408
    functionName: OS2Graphics::copyToWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp
    functionUses: 0
    functionsReached:
    - GpiBitBlt
    - WinReleasePS
    - WinQueryWindowRect
    - WinGetPS
    - getHandle
    - OS2Graphics::invertRectY
    linkageType: ''
    returnType: void
    signature: "void OS2Graphics::copyToWindow( OSWindow &rWindow, int xSrc, int ySrc,\n
      \                               int width, int height, int xDest, int yDest
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OS2Graphics::invertPointY
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:413,1
    - Dst: GpiPtInRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 415
    functionName: OS2Graphics::hit
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp
    functionUses: 0
    functionsReached:
    - OS2Graphics::invertPointY
    - GpiPtInRegion
    linkageType: ''
    returnType: bool
    signature: bool OS2Graphics::hit( int x, int y ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OS2Graphics::invertRectY
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:421,1
    - Dst: OS2Graphics::invertRectY
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:422,1
    - Dst: GpiCreateRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:423,1
    - Dst: GpiCombineRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:424,1
    - Dst: GpiDestroyRegion
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - rMask
    - start
    - end
    - line
    - height
    argTypes:
    - HRGN
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 426
    functionName: OS2Graphics::addSegmentInRegion
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp
    functionUses: 1
    functionsReached:
    - OS2Graphics::invertRectY
    - GpiCreateRegion
    - GpiCombineRegion
    - GpiDestroyRegion
    linkageType: ''
    returnType: void
    signature: "void OS2Graphics::addSegmentInRegion( HRGN &rMask, int start,\n                                      int
      end, int line, int height )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rect::rect
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:441,1
    - Dst: rect::intersect
      Src: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 8
    argNames:
    - x_src
    - y_src
    - w_src
    - h_src
    - ' x_target'
    - ' y_target'
    - ' w_target'
    - ' h_target'
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 451
    functionName: OS2Graphics::checkBoundaries
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_graphics.cpp
    functionUses: 2
    functionsReached:
    - rect::intersect
    - rect::rect
    linkageType: ''
    returnType: bool
    signature: "bool OS2Graphics::checkBoundaries( int x_src, int y_src,\n                                   int
      w_src, int h_src,\n                                   int& x_target, int& y_target,\n
      \                                  int& w_target, int& h_target )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WinCreateWindow
      Src: /src/vlc/modules/gui/skins2/os2/os2_popup.cpp:34,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/os2/os2_popup.cpp:47,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/os2/os2_popup.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pIntf
    - hAssociatedWindow
    argTypes:
    - intf_thread_t*
    - HWND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 50
    functionName: OS2Popup::OS2Popup
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_popup.cpp
    functionUses: 1
    functionsReached:
    - getIntf
    - WinCreateWindow
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void OS2Popup::OS2Popup( intf_thread_t *pIntf, HWND hAssociatedWindow
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WinDestroyWindow
      Src: /src/vlc/modules/gui/skins2/os2/os2_popup.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: OS2Popup::~OS2Popup()
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_popup.cpp
    functionUses: 0
    functionsReached:
    - WinDestroyWindow
    linkageType: ''
    returnType: void
    signature: void OS2Popup::~OS2Popup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinQuerySysValue
      Src: /src/vlc/modules/gui/skins2/os2/os2_popup.cpp:64,1
    - Dst: WinMapWindowPoints
      Src: /src/vlc/modules/gui/skins2/os2/os2_popup.cpp:65,1
    - Dst: WinPopupMenu
      Src: /src/vlc/modules/gui/skins2/os2/os2_popup.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - xPos
    - yPos
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: OS2Popup::show
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_popup.cpp
    functionUses: 0
    functionsReached:
    - WinPopupMenu
    - WinQuerySysValue
    - WinMapWindowPoints
    linkageType: ''
    returnType: void
    signature: void OS2Popup::show( int xPos, int yPos )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinSendMsg
      Src: /src/vlc/modules/gui/skins2/os2/os2_popup.cpp:75,1
    - Dst: MPFROM2SHORT
      Src: /src/vlc/modules/gui/skins2/os2/os2_popup.cpp:76,1
    - Dst: MPFROM2SHORT
      Src: /src/vlc/modules/gui/skins2/os2/os2_popup.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: OS2Popup::hide
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_popup.cpp
    functionUses: 0
    functionsReached:
    - MPFROM2SHORT
    - WinSendMsg
    linkageType: ''
    returnType: void
    signature: void OS2Popup::hide()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OS2Popup::findInsertionPoint
      Src: /src/vlc/modules/gui/skins2/os2/os2_popup.cpp:85,1
    - Dst: WinSendMsg
      Src: /src/vlc/modules/gui/skins2/os2/os2_popup.cpp:92,1
    - Dst: MPFROMP
      Src: /src/vlc/modules/gui/skins2/os2/os2_popup.cpp:92,1
    - Dst: MPFROMP
      Src: /src/vlc/modules/gui/skins2/os2/os2_popup.cpp:93,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/os2/os2_popup.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - rLabel
    - pos
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 94
    functionName: OS2Popup::addItem
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_popup.cpp
    functionUses: 0
    functionsReached:
    - MPFROMP
    - OS2Popup::findInsertionPoint
    - std::string::c_str
    - WinSendMsg
    linkageType: ''
    returnType: void
    signature: void OS2Popup::addItem( const std::string &rLabel, int pos )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OS2Popup::findInsertionPoint
      Src: /src/vlc/modules/gui/skins2/os2/os2_popup.cpp:101,1
    - Dst: WinSendMsg
      Src: /src/vlc/modules/gui/skins2/os2/os2_popup.cpp:108,1
    - Dst: MPFROMP
      Src: /src/vlc/modules/gui/skins2/os2/os2_popup.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pos
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 109
    functionName: OS2Popup::addSeparator
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_popup.cpp
    functionUses: 0
    functionsReached:
    - MPFROMP
    - OS2Popup::findInsertionPoint
    - WinSendMsg
    linkageType: ''
    returnType: void
    signature: void OS2Popup::addSeparator( int pos )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LONGFROMMR
      Src: /src/vlc/modules/gui/skins2/os2/os2_popup.cpp:114,1
    - Dst: WinSendMsg
      Src: /src/vlc/modules/gui/skins2/os2/os2_popup.cpp:114,1
    - Dst: SHORT1FROMMR
      Src: /src/vlc/modules/gui/skins2/os2/os2_popup.cpp:120,1
    - Dst: WinSendMsg
      Src: /src/vlc/modules/gui/skins2/os2/os2_popup.cpp:120,1
    - Dst: MPFROMLONG
      Src: /src/vlc/modules/gui/skins2/os2/os2_popup.cpp:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pos
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 126
    functionName: OS2Popup::findInsertionPoint
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_popup.cpp
    functionUses: 2
    functionsReached:
    - MPFROMLONG
    - LONGFROMMR
    - SHORT1FROMMR
    - WinSendMsg
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int OS2Popup::findInsertionPoint( unsigned int pos ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: GET_X_MP
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_X_MP( mp )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: GET_Y_MP
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_Y_MP( mp )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 76
    functionName: OS2Loop::OS2Loop
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OS2Loop::OS2Loop( intf_thread_t *pIntf )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<OS2Loop>
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:82,1
    - Dst: intf_thread_t*::p_sys::p_osLoop::get
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: OS2Loop::instance
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp
    functionUses: 1
    functionsReached:
    - intf_thread_t*::p_sys::p_osLoop::get
    - std::make_unique<OS2Loop>
    linkageType: ''
    returnType: OSLoop
    signature: OSLoop *OS2Loop::instance( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:89,1
    - Dst: intf_thread_t*::p_sys::p_osLoop::reset
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts:
    - condition: (pIntf->p_sys->p_osLoop)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: OS2Loop::destroy
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp
    functionUses: 1
    functionsReached:
    - intf_thread_t*::p_sys::p_osLoop::reset
    - assert
    linkageType: ''
    returnType: void
    signature: void OS2Loop::destroy( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinGetMsg
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:99,1
    - Dst: WinDispatchMsg
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: OS2Loop::run
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp
    functionUses: 0
    functionsReached:
    - WinGetMsg
    - WinDispatchMsg
    linkageType: ''
    returnType: void
    signature: void OS2Loop::run()
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: test_media_player_multiple_instance
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:108,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:108,1
    - Dst: WinQueryWindowRect
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:113,1
    - Dst: WinBeginPaint
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:123,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:124,1
    - Dst: GenericWindow::processEvent
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:130,1
    - Dst: WinEndPaint
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:131,1
    - Dst: GenericWindow::processEvent
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:137,1
    - Dst: OS2Factory*::changeCursor
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:142,1
    - Dst: OS2Factory*::getCursorType
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:142,1
    - Dst: WinQueryPointerPos
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:146,1
    - Dst: OS2Factory*::getScreenHeight
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:148,1
    - Dst: GenericWindow::processEvent
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:150,1
    - Dst: MRFROMLONG
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:152,1
    - Dst: GenericWindow::processEvent
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:157,1
    - Dst: MRFROMLONG
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:158,1
    - Dst: WinSetCapture
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:162,1
    - Dst: GenericWindow::processEvent
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:166,1
    - Dst: MRFROMLONG
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:167,1
    - Dst: WinSetCapture
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:171,1
    - Dst: GenericWindow::processEvent
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:175,1
    - Dst: MRFROMLONG
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:176,1
    - Dst: WinSetCapture
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:180,1
    - Dst: GenericWindow::processEvent
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:184,1
    - Dst: MRFROMLONG
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:185,1
    - Dst: WinSetCapture
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:189,1
    - Dst: GenericWindow::processEvent
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:193,1
    - Dst: MRFROMLONG
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:194,1
    - Dst: WinSetCapture
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:198,1
    - Dst: GenericWindow::processEvent
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:202,1
    - Dst: MRFROMLONG
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:203,1
    - Dst: WinSetCapture
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:207,1
    - Dst: GenericWindow::processEvent
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:211,1
    - Dst: MRFROMLONG
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:212,1
    - Dst: SHORT1FROMMP
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:220,1
    - Dst: SHORT1FROMMP
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:221,1
    - Dst: SHORT2FROMMP
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:222,1
    - Dst: tolower
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:230,1
    - Dst: GenericWindow::processEvent
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:262,1
    - Dst: MRFROMLONG
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:264,1
    - Dst: WinDefWindowProc
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:269,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 80
    argCount: 4
    argNames:
    - hwnd
    - msg
    - mp1
    - mp2
    argTypes:
    - HWND
    - ULONG
    - MPARAM
    - MPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 270
    functionName: EXPENTRY::processEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp
    functionUses: 0
    functionsReached:
    - SHORT2FROMMP
    - WinEndPaint
    - OS2Factory*::getCursorType
    - OS2Factory*::changeCursor
    - OS2Factory*::getScreenHeight
    - MRFROMLONG
    - WinQueryWindowRect
    - tolower
    - WinBeginPaint
    - getIntf
    - WinQueryPointerPos
    - SHORT1FROMMP
    - test_media_player_multiple_instance
    - WinSetCapture
    - WinDefWindowProc
    - GenericWindow::processEvent
    linkageType: ''
    returnType: MRESULT
    signature: "MRESULT EXPENTRY OS2Loop::processEvent( HWND hwnd, ULONG msg,\n                                        MPARAM
      mp1, MPARAM mp2 )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SHORT2FROMMP
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:276,1
    - Dst: SHORT2FROMMP
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - mp
    argTypes:
    - MPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 282
    functionName: OS2Loop::getMod
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp
    functionUses: 0
    functionsReached:
    - SHORT2FROMMP
    linkageType: ''
    returnType: int
    signature: int OS2Loop::getMod( MPARAM mp ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinPostQueueMsg
      Src: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 288
    functionName: OS2Loop::exit
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_loop.cpp
    functionUses: 0
    functionsReached:
    - WinPostQueueMsg
    linkageType: ''
    returnType: void
    signature: void OS2Loop::exit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: OS2Window::getHandle
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_window.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HWND
    signature: HWND getHandle() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OS2Window::getHandle
      Src: /src/vlc/modules/gui/skins2/os2/os2_window.hpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pWnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: OS2Window::setOSHandle
    functionSourceFile: /src/vlc/modules/gui/skins2/os2/os2_window.hpp
    functionUses: 0
    functionsReached:
    - OS2Window::getHandle
    linkageType: ''
    returnType: void
    signature: void setOSHandle( vlc_window_t *pWnd ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: X11Graphics::getWidth
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_graphics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getWidth() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: X11Graphics::getHeight
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_graphics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getHeight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: X11Graphics::getDrawable
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_graphics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Pixmap
    signature: Pixmap getDrawable() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: X11Graphics::getMask
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_graphics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Region
    signature: Region getMask() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: X11Display::getDisplay
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_display.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Display
    signature: Display *getDisplay() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: X11Display::getVisual
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_display.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Visual
    signature: Visual *getVisual() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: X11Display::getPixelSize
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_display.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getPixelSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: X11Display::getGC
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_display.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GC
    signature: GC getGC() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: X11Display::getColormap
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_display.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Colormap
    signature: Colormap getColormap() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: X11Display::getBlendPixel
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_display.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MakePixelFunc_t
    signature: MakePixelFunc_t getBlendPixel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: X11Display::getPutPixel
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_display.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MakePixelFunc_t
    signature: MakePixelFunc_t getPutPixel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: X11Display::getMainWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_display.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Window
    signature: Window getMainWindow() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DefaultScreen
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:43,1
    - Dst: DefaultDepth
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:44,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:51,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:51,1
    - Dst: XCreatePixmap
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:55,1
    - Dst: DefaultRootWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:55,1
    - Dst: XCreateRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:59,1
    - Dst: XCreateGC
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - pIntf
    - rDisplay
    - width
    - height
    argTypes:
    - intf_thread_t*
    - X11Display
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 65
    functionName: X11Graphics::X11Graphics
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp
    functionUses: 0
    functionsReached:
    - XCreateGC
    - DefaultDepth
    - DefaultScreen
    - DefaultRootWindow
    - XCreatePixmap
    - msg_Err
    - XCreateRegion
    - getIntf
    linkageType: ''
    returnType: void
    signature: "void X11Graphics::X11Graphics( intf_thread_t *pIntf, X11Display &rDisplay,\n
      \                         int width, int height )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XFreeGC
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:70,1
    - Dst: XDestroyRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:71,1
    - Dst: XFreePixmap
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: X11Graphics::~X11Graphics()
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp
    functionUses: 0
    functionsReached:
    - XFreeGC
    - XFreePixmap
    - XDestroyRegion
    linkageType: ''
    returnType: void
    signature: void X11Graphics::~X11Graphics()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XDestroyRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:81,1
    - Dst: XCreateRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:82,1
    - Dst: XCreateRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:92,1
    - Dst: XUnionRectWithRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:93,1
    - Dst: XSubtractRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:94,1
    - Dst: XDestroyRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - xDest
    - yDest
    - width
    - height
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 97
    functionName: X11Graphics::clear
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp
    functionUses: 0
    functionsReached:
    - XDestroyRegion
    - XCreateRegion
    - XSubtractRegion
    - XUnionRectWithRegion
    linkageType: ''
    returnType: void
    signature: void X11Graphics::clear( int xDest, int yDest, int width, int height
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X11Graphics::checkBoundaries
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:107,1
    - Dst: X11Graphics::getWidth
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:107,1
    - Dst: X11Graphics::getHeight
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:107,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:110,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:110,1
    - Dst: X11Graphics::checkBoundaries
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:115,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:118,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:118,1
    - Dst: X11Graphics::getDrawable
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:123,1
    - Dst: XCreateRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:126,1
    - Dst: XCreateRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:132,1
    - Dst: XUnionRectWithRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:133,1
    - Dst: XCreateRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:134,1
    - Dst: XIntersectRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:135,1
    - Dst: X11Graphics::getMask
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:135,1
    - Dst: XDestroyRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:136,1
    - Dst: XDestroyRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:137,1
    - Dst: XOffsetRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:138,1
    - Dst: XSetRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:141,1
    - Dst: XCopyArea
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:142,1
    - Dst: XCreateRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:146,1
    - Dst: XUnionRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:147,1
    - Dst: XDestroyRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:148,1
    - Dst: XDestroyRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 7
    argNames:
    - rGraphics
    - xSrc
    - ySrc
    - xDest
    - yDest
    - width
    - height
    argTypes:
    - OSGraphics
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 151
    functionName: X11Graphics::drawGraphics
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp
    functionUses: 0
    functionsReached:
    - XUnionRegion
    - X11Graphics::getWidth
    - msg_Err
    - XCreateRegion
    - X11Graphics::getMask
    - XOffsetRegion
    - getIntf
    - X11Graphics::getDrawable
    - XIntersectRegion
    - X11Graphics::checkBoundaries
    - XCopyArea
    - X11Graphics::getHeight
    - XSetRegion
    - XUnionRectWithRegion
    - XDestroyRegion
    linkageType: ''
    returnType: void
    signature: "void X11Graphics::drawGraphics( const OSGraphics &rGraphics, int xSrc,\n
      \                               int ySrc, int xDest, int yDest, int width,\n
      \                               int height )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: X11Graphics::checkBoundaries
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:159,1
    - Dst: GenericBitmap::getWidth
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:159,1
    - Dst: GenericBitmap::getHeight
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:159,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:162,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:162,1
    - Dst: X11Graphics::checkBoundaries
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:167,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:170,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:170,1
    - Dst: GenericBitmap::getData
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:175,1
    - Dst: XSync
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:184,1
    - Dst: XGetImage
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:187,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:191,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:191,1
    - Dst: XCreateRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:201,1
    - Dst: getBlendPixel
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:205,1
    - Dst: getPutPixel
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:205,1
    - Dst: GenericBitmap::getWidth
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:208,1
    - Dst: X11Graphics::addHSegmentInRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:244,1
    - Dst: X11Graphics::addHSegmentInRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:252,1
    - Dst: GenericBitmap::getWidth
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:256,1
    - Dst: XOffsetRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:260,1
    - Dst: XSetRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:261,1
    - Dst: XPutImage
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:263,1
    - Dst: XDestroyImage
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:265,1
    - Dst: XCreateRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:268,1
    - Dst: XUnionRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:269,1
    - Dst: XDestroyRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:270,1
    - Dst: XDestroyRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:273,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 8
    argNames:
    - rBitmap
    - xSrc
    - ySrc
    - xDest
    - yDest
    - width
    - height
    - blend
    argTypes:
    - GenericBitmap
    - int
    - int
    - int
    - int
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 274
    functionName: X11Graphics::drawBitmap
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp
    functionUses: 0
    functionsReached:
    - GenericBitmap::getWidth
    - getIntf
    - getBlendPixel
    - XGetImage
    - XUnionRegion
    - GenericBitmap::getHeight
    - msg_Err
    - XCreateRegion
    - XOffsetRegion
    - msg_Dbg
    - XSync
    - X11Graphics::checkBoundaries
    - X11Graphics::addHSegmentInRegion
    - XPutImage
    - GenericBitmap::getData
    - XDestroyRegion
    - XSetRegion
    - getPutPixel
    - XDestroyImage
    linkageType: ''
    returnType: void
    signature: "void X11Graphics::drawBitmap( const GenericBitmap &rBitmap, int xSrc,\n
      \                             int ySrc, int xDest, int yDest, int width,\n                              int
      height, bool blend )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XCreateRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:281,1
    - Dst: XUnionRectWithRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:287,1
    - Dst: XDestroyRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:288,1
    - Dst: getPixelValue
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:293,1
    - Dst: XChangeGC
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:294,1
    - Dst: XSetRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:295,1
    - Dst: XFillRectangle
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 5
    argNames:
    - left
    - top
    - width
    - height
    - color
    argTypes:
    - int
    - int
    - int
    - int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 297
    functionName: X11Graphics::fillRect
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp
    functionUses: 0
    functionsReached:
    - getPixelValue
    - XChangeGC
    - XCreateRegion
    - XFillRectangle
    - XDestroyRegion
    - XSetRegion
    - XUnionRectWithRegion
    linkageType: ''
    returnType: void
    signature: "void X11Graphics::fillRect( int left, int top, int width, int height,\n
      \                           uint32_t color )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X11Graphics::addHSegmentInRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:304,1
    - Dst: X11Graphics::addHSegmentInRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:305,1
    - Dst: X11Graphics::addVSegmentInRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:306,1
    - Dst: X11Graphics::addVSegmentInRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:307,1
    - Dst: getPixelValue
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:311,1
    - Dst: XChangeGC
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:312,1
    - Dst: XSetRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:313,1
    - Dst: XDrawRectangle
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - left
    - top
    - width
    - height
    - color
    argTypes:
    - int
    - int
    - int
    - int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 315
    functionName: X11Graphics::drawRect
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp
    functionUses: 0
    functionsReached:
    - getPixelValue
    - XChangeGC
    - X11Graphics::addHSegmentInRegion
    - XDrawRectangle
    - X11Graphics::addVSegmentInRegion
    - XSetRegion
    linkageType: ''
    returnType: void
    signature: "void X11Graphics::drawRect( int left, int top, int width, int height,\n
      \                           uint32_t color )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X11Graphics::getDrawable
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:321,1
    - Dst: XResizeWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:324,1
    - Dst: XShapeCombineRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rWindow
    argTypes:
    - OSWindow
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 329
    functionName: X11Graphics::applyMaskToWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp
    functionUses: 0
    functionsReached:
    - XShapeCombineRegion
    - X11Graphics::getDrawable
    - XResizeWindow
    linkageType: ''
    returnType: void
    signature: void X11Graphics::applyMaskToWindow( OSWindow &rWindow )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X11Graphics::getDrawable
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:336,1
    - Dst: XCopyArea
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - rWindow
    - xSrc
    - ySrc
    - width
    - height
    - xDest
    - yDest
    argTypes:
    - OSWindow
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: X11Graphics::copyToWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp
    functionUses: 0
    functionsReached:
    - XCopyArea
    - X11Graphics::getDrawable
    linkageType: ''
    returnType: void
    signature: "void X11Graphics::copyToWindow( OSWindow &rWindow, int xSrc,  int
      ySrc,\n                                int width, int height, int xDest, int
      yDest )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XPointInRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 346
    functionName: X11Graphics::hit
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp
    functionUses: 0
    functionsReached:
    - XPointInRegion
    linkageType: ''
    returnType: bool
    signature: bool X11Graphics::hit( int x, int y ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XCreateRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:357,1
    - Dst: XUnionRectWithRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:358,1
    - Dst: XDestroyRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - rMask
    - xStart
    - xEnd
    - y
    argTypes:
    - Region
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 361
    functionName: X11Graphics::addHSegmentInRegion
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp
    functionUses: 2
    functionsReached:
    - XCreateRegion
    - XUnionRectWithRegion
    - XDestroyRegion
    linkageType: ''
    returnType: void
    signature: "void X11Graphics::addHSegmentInRegion( Region &rMask, int xStart,\n
      \                                             int xEnd, int y )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XCreateRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:372,1
    - Dst: XUnionRectWithRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:373,1
    - Dst: XDestroyRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - rMask
    - yStart
    - yEnd
    - x
    argTypes:
    - Region
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 376
    functionName: X11Graphics::addVSegmentInRegion
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp
    functionUses: 1
    functionsReached:
    - XCreateRegion
    - XUnionRectWithRegion
    - XDestroyRegion
    linkageType: ''
    returnType: void
    signature: "void X11Graphics::addVSegmentInRegion( Region &rMask, int yStart,\n
      \                                             int yEnd, int x )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rect::rect
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:390,1
    - Dst: rect::intersect
      Src: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 8
    argNames:
    - x_src
    - y_src
    - w_src
    - h_src
    - ' x_target'
    - ' y_target'
    - ' w_target'
    - ' h_target'
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 400
    functionName: X11Graphics::checkBoundaries
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_graphics.cpp
    functionUses: 2
    functionsReached:
    - rect::intersect
    - rect::rect
    linkageType: ''
    returnType: bool
    signature: "bool X11Graphics::checkBoundaries( int x_src, int y_src,\n                                   int
      w_src, int h_src,\n                                   int& x_target, int& y_target,\n
      \                                  int& w_target, int& h_target )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pIntf
    - rDisplay
    argTypes:
    - intf_thread_t*
    - X11Display
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: X11Popup::X11Popup
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_popup.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X11Popup::X11Popup( intf_thread_t *pIntf, X11Display &rDisplay
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: X11Popup::~X11Popup()
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_popup.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X11Popup::~X11Popup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - xPos
    - yPos
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: X11Popup::show
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_popup.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X11Popup::show( int xPos, int yPos )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: X11Popup::hide
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_popup.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X11Popup::hide()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rLabel
    - pos
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: X11Popup::addItem
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_popup.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X11Popup::addItem( const std::string &rLabel, int pos )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: X11Popup::addSeparator
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_popup.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X11Popup::addSeparator( int pos )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: X11Popup::getPosFromId
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_popup.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int X11Popup::getPosFromId( int id ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: X11Window::getDrawable
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_window.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Window
    signature: Window getDrawable() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pWnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: X11Window::setOSHandle
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_window.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOSHandle( vlc_window_t *pWnd ) const
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: DefaultRootWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:54,1
    - Dst: DefaultScreen
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:56,1
    - Dst: BlackPixel
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:59,1
    - Dst: DefaultScreen
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:75,1
    - Dst: BlackPixel
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:79,1
    - Dst: DefaultRootWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:86,1
    - Dst: DefaultRootWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:95,1
    - Dst: XCreateWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:104,1
    - Dst: XSync
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:108,1
    - Dst: XSetWindowColormap
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:113,1
    - Dst: getColormap
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:113,1
    - Dst: XSelectInput
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:120,1
    - Dst: test_media_player_multiple_instance
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:123,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:123,1
    - Dst: XInternAtom
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:134,1
    - Dst: XChangeProperty
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:137,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:145,1
    - Dst: X11DragDrop::X11DragDrop
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:145,1
    - Dst: XInternAtom
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:149,1
    - Dst: XChangeProperty
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:151,1
    - Dst: XStoreName
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:160,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:160,1
    - Dst: VoutManager::instance
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:166,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:166,1
    - Dst: VoutManager*::getVoutMainWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:167,1
    - Dst: GenericWindow*::getOSWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:168,1
    - Dst: X11Window*::getDrawable
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:169,1
    - Dst: XSetTransientForHint
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:170,1
    - Dst: XSetTransientForHint
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:175,1
    - Dst: getMainWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:175,1
    - Dst: XSetClassHint
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:182,1
    - Dst: XGetWMHints
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:185,1
    - Dst: getMainWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:185,1
    - Dst: XSetWMHints
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:188,1
    - Dst: XFree
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:189,1
    - Dst: sysconf
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:194,1
    - Dst: char::char
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:197,1
    - Dst: gethostname
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:198,1
    - Dst: strlen
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:206,1
    - Dst: XSetWMClientMachine
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:207,1
    - Dst: getpid
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:212,1
    - Dst: assert
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:213,1
    - Dst: XChangeProperty
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:214,1
    - Dst: XChangeProperty
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:225,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 79
    argCount: 7
    argNames:
    - pIntf
    - rWindow
    - rDisplay
    - dragDrop
    - playOnDrop
    - pParentWindow
    - type
    argTypes:
    - intf_thread_t*
    - GenericWindow
    - X11Display
    - bool
    - bool
    - X11Window*
    - GenericWindow::WindowType_t
    assertStmts:
    - condition: (  NET_WM_PID != None )
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/vlc/modules/gui/skins2/x11/x11_window.cpp
    constantsTouched: []
    func_position:
      end: 230
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 230
    functionName: X11Window::X11Window
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_window.cpp
    functionUses: 0
    functionsReached:
    - assert
    - DefaultRootWindow
    - XGetWMHints
    - std::string::c_str
    - X11Window*::getDrawable
    - getIntf
    - char::char
    - XChangeProperty
    - XSetTransientForHint
    - BlackPixel
    - VoutManager::instance
    - sysconf
    - XSync
    - XSetWMClientMachine
    - GenericWindow*::getOSWindow
    - X11DragDrop::X11DragDrop
    - test_media_player_multiple_instance
    - XFree
    - DefaultScreen
    - XInternAtom
    - getpid
    - XSetWindowColormap
    - XSelectInput
    - XSetWMHints
    - strlen
    - XStoreName
    - VoutManager*::getVoutMainWindow
    - getMainWindow
    - XCreateWindow
    - getColormap
    - XSetClassHint
    - gethostname
    linkageType: ''
    returnType: void
    signature: "void X11Window::X11Window( intf_thread_t *pIntf, GenericWindow &rWindow,\n
      \                     X11Display &rDisplay, bool dragDrop, bool playOnDrop,\n
      \                     X11Window *pParentWindow, GenericWindow::WindowType_t
      type )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_media_player_multiple_instance
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:235,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:235,1
    - Dst: XDestroyWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:241,1
    - Dst: XSync
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 243
    functionName: X11Window::~X11Window()
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_window.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - XSync
    - test_media_player_multiple_instance
    - XDestroyWindow
    linkageType: ''
    returnType: void
    signature: void X11Window::~X11Window()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DefaultRootWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:250,1
    - Dst: XReparentWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:252,1
    - Dst: XResizeWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - win
    - x
    - y
    - w
    - h
    argTypes:
    - OSWindow*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 257
    functionName: X11Window::reparent
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_window.cpp
    functionUses: 0
    functionsReached:
    - XReparentWindow
    - XResizeWindow
    - DefaultRootWindow
    linkageType: ''
    returnType: void
    signature: void X11Window::reparent( OSWindow *win, int x, int y, int w, int h
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XLowerWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:265,1
    - Dst: XMapWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:266,1
    - Dst: XMapRaised
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:270,1
    - Dst: X11Window::setFullscreen
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:271,1
    - Dst: X11Window::toggleOnTop
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:272,1
    - Dst: XMapRaised
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:276,1
    - Dst: X11Window::toggleOnTop
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:277,1
    - Dst: XMapRaised
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 283
    functionName: X11Window::show
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_window.cpp
    functionUses: 0
    functionsReached:
    - XLowerWindow
    - XMapRaised
    - X11Window::toggleOnTop
    - X11Window::setFullscreen
    - XMapWindow
    linkageType: ''
    returnType: void
    signature: void X11Window::show() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XUnmapWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 290
    functionName: X11Window::hide
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_window.cpp
    functionUses: 0
    functionsReached:
    - XUnmapWindow
    linkageType: ''
    returnType: void
    signature: void X11Window::hide() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XMoveResizeWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:295,1
    - Dst: XMoveWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - left
    - top
    - width
    - height
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 298
    functionName: X11Window::moveResize
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_window.cpp
    functionUses: 0
    functionsReached:
    - XMoveResizeWindow
    - XMoveWindow
    linkageType: ''
    returnType: void
    signature: void X11Window::moveResize( int left, int top, int width, int height
      ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XRaiseWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 304
    functionName: X11Window::raise
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_window.cpp
    functionUses: 0
    functionsReached:
    - XRaiseWindow
    linkageType: ''
    returnType: void
    signature: void X11Window::raise() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XDeleteProperty
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:313,1
    - Dst: XChangeProperty
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:317,1
    - Dst: XSync
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 321
    functionName: X11Window::setOpacity
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_window.cpp
    functionUses: 0
    functionsReached:
    - XChangeProperty
    - XDeleteProperty
    - XSync
    linkageType: ''
    returnType: void
    signature: void X11Window::setOpacity( uint8_t value ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:329,1
    - Dst: XSendEvent
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:339,1
    - Dst: DefaultRootWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 344
    functionName: X11Window::setFullscreen
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_window.cpp
    functionUses: 1
    functionsReached:
    - DefaultRootWindow
    - XSendEvent
    - memset
    linkageType: ''
    returnType: void
    signature: void X11Window::setFullscreen( ) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:353,1
    - Dst: XSendEvent
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:363,1
    - Dst: DefaultRootWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:363,1
    - Dst: memset
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:370,1
    - Dst: XSendEvent
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:380,1
    - Dst: DefaultRootWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - onTop
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 383
    functionName: X11Window::toggleOnTop
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_window.cpp
    functionUses: 1
    functionsReached:
    - DefaultRootWindow
    - XSendEvent
    - memset
    linkageType: ''
    returnType: void
    signature: void X11Window::toggleOnTop( bool onTop ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XClearArea
      Src: /src/vlc/modules/gui/skins2/x11/x11_window.cpp:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - x
    - y
    - w
    - h
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 390
    functionName: X11Window::invalidateRect
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_window.cpp
    functionUses: 0
    functionsReached:
    - XClearArea
    linkageType: ''
    returnType: bool
    signature: bool X11Window::invalidateRect( int x, int y, int w, int h ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/x11/x11_timer.cpp:38,1
    - Dst: X11Factory*::getTimerLoop
      Src: /src/vlc/modules/gui/skins2/x11/x11_timer.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pIntf
    - rCmd
    argTypes:
    - intf_thread_t*
    - CmdGeneric
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: X11Timer::X11Timer
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_timer.cpp
    functionUses: 0
    functionsReached:
    - X11Factory*::getTimerLoop
    - OSFactory::instance
    linkageType: ''
    returnType: void
    signature: void X11Timer::X11Timer( intf_thread_t *pIntf, CmdGeneric &rCmd )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X11Timer::stop
      Src: /src/vlc/modules/gui/skins2/x11/x11_timer.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: X11Timer::~X11Timer()
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_timer.cpp
    functionUses: 0
    functionsReached:
    - X11Timer::stop
    linkageType: ''
    returnType: void
    signature: void X11Timer::~X11Timer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/gui/skins2/x11/x11_timer.cpp:53,1
    - Dst: addTimer
      Src: /src/vlc/modules/gui/skins2/x11/x11_timer.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - delay
    - oneShot
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: X11Timer::start
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_timer.cpp
    functionUses: 0
    functionsReached:
    - addTimer
    - vlc_tick_now
    linkageType: ''
    returnType: void
    signature: void X11Timer::start( int delay, bool oneShot )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: removeTimer
      Src: /src/vlc/modules/gui/skins2/x11/x11_timer.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: X11Timer::stop
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_timer.cpp
    functionUses: 1
    functionsReached:
    - removeTimer
    linkageType: ''
    returnType: void
    signature: void X11Timer::stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: X11Timer::getNextDate
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_timer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t X11Timer::getNextDate() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X11Timer::execute
      Src: /src/vlc/modules/gui/skins2/x11/x11_timer.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: X11Timer::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_timer.cpp
    functionUses: 1
    functionsReached:
    - X11Timer::execute
    linkageType: ''
    returnType: bool
    signature: bool X11Timer::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pIntf
    - connectionNumber
    argTypes:
    - intf_thread_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: X11TimerLoop::X11TimerLoop
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_timer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X11TimerLoop::X11TimerLoop( intf_thread_t *pIntf, int connectionNumber
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: X11TimerLoop::~X11TimerLoop()
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_timer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X11TimerLoop::~X11TimerLoop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/x11/x11_timer.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rTimer
    argTypes:
    - X11Timer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: X11TimerLoop::addTimer
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_timer.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void X11TimerLoop::addTimer( X11Timer &rTimer )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/vlc/modules/gui/skins2/x11/x11_timer.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rTimer
    argTypes:
    - X11Timer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: X11TimerLoop::removeTimer
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_timer.cpp
    functionUses: 0
    functionsReached:
    - remove
    linkageType: ''
    returnType: void
    signature: void X11TimerLoop::removeTimer( X11Timer &rTimer )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/gui/skins2/x11/x11_timer.cpp:105,1
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/x11/x11_timer.cpp:112,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/x11/x11_timer.cpp:112,1
    - Dst: getNextDate
      Src: /src/vlc/modules/gui/skins2/x11/x11_timer.cpp:114,1
    - Dst: X11TimerLoop::sleep
      Src: /src/vlc/modules/gui/skins2/x11/x11_timer.cpp:124,1
    - Dst: X11TimerLoop::sleep
      Src: /src/vlc/modules/gui/skins2/x11/x11_timer.cpp:130,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/gui/skins2/x11/x11_timer.cpp:130,1
    - Dst: X11Timer*::execute
      Src: /src/vlc/modules/gui/skins2/x11/x11_timer.cpp:137,1
    - Dst: remove
      Src: /src/vlc/modules/gui/skins2/x11/x11_timer.cpp:140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 143
    functionName: X11TimerLoop::waitNextTimer
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_timer.cpp
    functionUses: 0
    functionsReached:
    - MS_FROM_VLC_TICK
    - vlc_tick_now
    - X11Timer*::execute
    - begin
    - X11TimerLoop::sleep
    - remove
    - end
    - getNextDate
    linkageType: ''
    returnType: void
    signature: void X11TimerLoop::waitNextTimer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/gui/skins2/x11/x11_timer.cpp:149,1
    - Dst: poll
      Src: /src/vlc/modules/gui/skins2/x11/x11_timer.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - delay
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 155
    functionName: X11TimerLoop::sleep
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_timer.cpp
    functionUses: 1
    functionsReached:
    - poll
    - memset
    linkageType: ''
    returnType: bool
    signature: bool X11TimerLoop::sleep( int delay )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.hpp:71,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.hpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keysym
    argTypes:
    - KeySym
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: X11Loop::keysymToVlcKey
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_loop.hpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: int
    signature: int keysymToVlcKey( KeySym keysym )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - g
    - b
    argTypes:
    - type
    - type
    - type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: X11Display::putPixel
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_display.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: type
    signature: type X11Display::putPixel(type r, type g, type b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X11Display::putPixel
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - v
    - r
    - g
    - b
    - a
    argTypes:
    - type
    - type
    - type
    - type
    - type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 56
    functionName: X11Display::blendPixel
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_display.cpp
    functionUses: 0
    functionsReached:
    - X11Display::putPixel
    linkageType: ''
    returnType: type
    signature: type X11Display::blendPixel(type v,type r, type g, type b, type a)
      const
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: XOpenDisplay
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:62,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:65,1
    - Dst: XShapeQueryExtension
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:71,1
    - Dst: DefaultScreen
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:74,1
    - Dst: DefaultDepth
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:75,1
    - Dst: ImageByteOrder
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:76,1
    - Dst: DefaultRootWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:77,1
    - Dst: XGetVisualInfo
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:92,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:97,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:97,1
    - Dst: X11Display::getShifts
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:104,1
    - Dst: X11Display::getShifts
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:105,1
    - Dst: X11Display::getShifts
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:107,1
    - Dst: XCreateColormap
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:110,1
    - Dst: DefaultVisual
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:111,1
    - Dst: XStoreColors
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:129,1
    - Dst: XGetVisualInfo
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:141,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:146,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:146,1
    - Dst: X11Display::getShifts
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:153,1
    - Dst: X11Display::getShifts
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:154,1
    - Dst: X11Display::getShifts
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:155,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:188,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:188,1
    - Dst: XFree
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:196,1
    - Dst: XCreateGC
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:204,1
    - Dst: XCreateWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:208,1
    - Dst: XSetClassHint
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:215,1
    - Dst: XInternAtom
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:218,1
    - Dst: XSetWMProtocols
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:219,1
    - Dst: XInternAtom
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:229,1
    - Dst: XChangeProperty
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:232,1
    - Dst: XStoreName
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:237,1
    - Dst: XpmCreatePixmapFromData
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:241,1
    - Dst: XAllocWMHints
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:245,1
    - Dst: XSetWMHints
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:252,1
    - Dst: XFree
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:253,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:258,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:258,1
    - Dst: XSelectInput
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:262,1
    - Dst: XCreateRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:265,1
    - Dst: XShapeCombineRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:266,1
    - Dst: XDestroyRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:268,1
    - Dst: X11Display::testEWMH
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:271,1
    - Dst: XChangeProperty
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:276,1
    - Dst: XMapWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:281,1
    - Dst: XMoveWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:284,1
    - Dst: XInternAtom
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:287,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 113
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 289
    functionName: X11Display::X11Display
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_display.cpp
    functionUses: 0
    functionsReached:
    - DefaultRootWindow
    - XCreateColormap
    - getIntf
    - XpmCreatePixmapFromData
    - XAllocWMHints
    - XShapeCombineRegion
    - XOpenDisplay
    - XMapWindow
    - XCreateGC
    - XChangeProperty
    - XMoveWindow
    - XGetVisualInfo
    - msg_Err
    - XCreateRegion
    - msg_Dbg
    - XStoreColors
    - XFree
    - DefaultScreen
    - ImageByteOrder
    - DefaultVisual
    - XInternAtom
    - XSetWMProtocols
    - XDestroyRegion
    - X11Display::testEWMH
    - XSelectInput
    - XSetWMHints
    - DefaultDepth
    - XShapeQueryExtension
    - XStoreName
    - XCreateWindow
    - X11Display::getShifts
    - XSetClassHint
    linkageType: ''
    returnType: void
    signature: void X11Display::X11Display( intf_thread_t *pIntf )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XDestroyWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:294,1
    - Dst: XFreeGC
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:295,1
    - Dst: XFreeColormap
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:296,1
    - Dst: XCloseDisplay
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 298
    functionName: X11Display::~X11Display()
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_display.cpp
    functionUses: 0
    functionsReached:
    - XFreeGC
    - XFreeColormap
    - XDestroyWindow
    - XCloseDisplay
    linkageType: ''
    returnType: void
    signature: void X11Display::~X11Display()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XInternAtom
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:308,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:309,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:309,1
    - Dst: XGetWindowProperty
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:313,1
    - Dst: DefaultRootWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:313,1
    - Dst: TEST_EWMH
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:340,1
    - Dst: TEST_EWMH
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:341,1
    - Dst: TEST_EWMH
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:342,1
    - Dst: TEST_EWMH
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:344,1
    - Dst: TEST_EWMH
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:345,1
    - Dst: TEST_EWMH
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:346,1
    - Dst: TEST_EWMH
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:347,1
    - Dst: TEST_EWMH
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:349,1
    - Dst: TEST_EWMH
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:351,1
    - Dst: TEST_EWMH
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:352,1
    - Dst: XFree
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 358
    functionName: X11Display::testEWMH
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_display.cpp
    functionUses: 1
    functionsReached:
    - XFree
    - DefaultRootWindow
    - XGetWindowProperty
    - TEST_EWMH
    - getIntf
    - msg_Dbg
    - XInternAtom
    linkageType: ''
    returnType: void
    signature: void X11Display::testEWMH()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 339
    functionName: TEST_EWMH
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_display.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_EWMH( name, value )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - mask
    - rLeftShift
    - rRightShift
    argTypes:
    - uint32_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 376
    functionName: X11Display::getShifts
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_display.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X11Display::getShifts( uint32_t mask, int &rLeftShift, int &rRightShift
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X11Display::blendPixel
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pPixel
    - r
    - g
    - b
    - a
    argTypes:
    - uint8_t*
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 383
    functionName: X11Display::blendPixel8
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_display.cpp
    functionUses: 0
    functionsReached:
    - X11Display::blendPixel
    linkageType: ''
    returnType: void
    signature: "void X11Display::blendPixel8( uint8_t *pPixel, uint8_t r, uint8_t
      g,\n                              uint8_t b, uint8_t a ) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X11Display::blendPixel
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - pPixel
    - r
    - g
    - b
    - a
    argTypes:
    - uint8_t*
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 395
    functionName: X11Display::blendPixel16MSB
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_display.cpp
    functionUses: 0
    functionsReached:
    - X11Display::blendPixel
    linkageType: ''
    returnType: void
    signature: "void X11Display::blendPixel16MSB( uint8_t *pPixel, uint8_t r, uint8_t
      g,\n                                  uint8_t b, uint8_t a ) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X11Display::blendPixel
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - pPixel
    - r
    - g
    - b
    - a
    argTypes:
    - uint8_t*
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 407
    functionName: X11Display::blendPixel16LSB
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_display.cpp
    functionUses: 0
    functionsReached:
    - X11Display::blendPixel
    linkageType: ''
    returnType: void
    signature: "void X11Display::blendPixel16LSB( uint8_t *pPixel, uint8_t r, uint8_t
      g,\n                                  uint8_t b, uint8_t a ) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X11Display::blendPixel
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - pPixel
    - r
    - g
    - b
    - a
    argTypes:
    - uint8_t*
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 422
    functionName: X11Display::blendPixel32MSB
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_display.cpp
    functionUses: 0
    functionsReached:
    - X11Display::blendPixel
    linkageType: ''
    returnType: void
    signature: "void X11Display::blendPixel32MSB( uint8_t *pPixel, uint8_t r, uint8_t
      g,\n                                  uint8_t b, uint8_t a ) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X11Display::blendPixel
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - pPixel
    - r
    - g
    - b
    - a
    argTypes:
    - uint8_t*
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 437
    functionName: X11Display::blendPixel32LSB
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_display.cpp
    functionUses: 0
    functionsReached:
    - X11Display::blendPixel
    linkageType: ''
    returnType: void
    signature: "void X11Display::blendPixel32LSB( uint8_t *pPixel, uint8_t r, uint8_t
      g,\n                                  uint8_t b, uint8_t a ) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X11Display::putPixel
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - pPixel
    - r
    - g
    - b
    - a
    argTypes:
    - uint8_t*
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 445
    functionName: X11Display::putPixel8
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_display.cpp
    functionUses: 0
    functionsReached:
    - X11Display::putPixel
    linkageType: ''
    returnType: void
    signature: "void X11Display::putPixel8( uint8_t *pPixel, uint8_t r, uint8_t g,\n
      \                           uint8_t b, uint8_t a ) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X11Display::putPixel
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - pPixel
    - r
    - g
    - b
    - a
    argTypes:
    - uint8_t*
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 456
    functionName: X11Display::putPixel16MSB
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_display.cpp
    functionUses: 0
    functionsReached:
    - X11Display::putPixel
    linkageType: ''
    returnType: void
    signature: "void X11Display::putPixel16MSB( uint8_t *pPixel, uint8_t r, uint8_t
      g,\n                                uint8_t b, uint8_t a ) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X11Display::putPixel
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - pPixel
    - r
    - g
    - b
    - a
    argTypes:
    - uint8_t*
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 466
    functionName: X11Display::putPixel16LSB
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_display.cpp
    functionUses: 0
    functionsReached:
    - X11Display::putPixel
    linkageType: ''
    returnType: void
    signature: "void X11Display::putPixel16LSB( uint8_t *pPixel, uint8_t r, uint8_t
      g,\n                                uint8_t b, uint8_t a ) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X11Display::putPixel
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - pPixel
    - r
    - g
    - b
    - a
    argTypes:
    - uint8_t*
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 479
    functionName: X11Display::putPixel32MSB
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_display.cpp
    functionUses: 0
    functionsReached:
    - X11Display::putPixel
    linkageType: ''
    returnType: void
    signature: "void X11Display::putPixel32MSB( uint8_t *pPixel, uint8_t r, uint8_t
      g,\n                                uint8_t b, uint8_t a ) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X11Display::putPixel
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - pPixel
    - r
    - g
    - b
    - a
    argTypes:
    - uint8_t*
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 492
    functionName: X11Display::putPixel32LSB
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_display.cpp
    functionUses: 0
    functionsReached:
    - X11Display::putPixel
    linkageType: ''
    returnType: void
    signature: "void X11Display::putPixel32LSB( uint8_t *pPixel, uint8_t r, uint8_t
      g,\n                                uint8_t b, uint8_t a ) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X11Display::putPixel
      Src: /src/vlc/modules/gui/skins2/x11/x11_display.cpp:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - g
    - b
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 501
    functionName: X11Display::getPixelValue
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_display.cpp
    functionUses: 0
    functionsReached:
    - X11Display::putPixel
    linkageType: ''
    returnType: unsigned long
    signature: "unsigned long X11Display::getPixelValue( uint8_t r, uint8_t g, uint8_t
      b )\n    const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: X11Factory::ptrmap::ptrmap
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_factory.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ptrmap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_map
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.hpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: '&operator[](K k)'
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_factory.hpp
    functionUses: 0
    functionsReached:
    - m_map
    linkageType: ''
    returnType: value_type
    signature: value_type &operator[](K k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.hpp:61,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.hpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: operator[](K k) const
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_factory.hpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: value_type
    signature: value_type operator[](K k) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: '&getDirSeparator() const'
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_factory.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &getDirSeparator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: '&getResourcePath() const'
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_factory.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::list<std::string>
    signature: std::list<std::string> &getResourcePath() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: X11Factory::getTimerLoop
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_factory.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X11TimerLoop
    signature: X11TimerLoop *getTimerLoop() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: X11Factory::X11Factory
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X11Factory::X11Factory( intf_thread_t *pIntf )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XFreeCursor
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:57,1
    - Dst: getDisplay
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: X11Factory::~X11Factory()
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp
    functionUses: 0
    functionsReached:
    - getDisplay
    - XFreeCursor
    linkageType: ''
    returnType: void
    signature: void X11Factory::~X11Factory()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_xlib_init
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:66,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:66,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:66,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:68,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:68,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:73,1
    - Dst: X11Display::X11Display
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:73,1
    - Dst: getDisplay
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:76,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:84,1
    - Dst: ConnectionNumber
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:85,1
    - Dst: X11TimerLoop::X11TimerLoop
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:84,1
    - Dst: config_GetUserDir
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:88,1
    - Dst: likely
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:89,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:91,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:92,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:94,1
    - Dst: config_GetSysPath
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:95,1
    - Dst: likely
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:96,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:98,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:99,1
    - Dst: X11Factory::getDefaultGeometry
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:103,1
    - Dst: XineramaQueryScreens
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:107,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:110,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:110,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:112,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:112,1
    - Dst: XFree
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:115,1
    - Dst: X11Factory::initCursors
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 122
    functionName: X11Factory::init
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - XFree
    - X11TimerLoop::X11TimerLoop
    - getDisplay
    - XineramaQueryScreens
    - X11Factory::initCursors
    - msg_Err
    - vlc_xlib_init
    - free
    - config_GetSysPath
    - getIntf
    - msg_Dbg
    - likely
    - VLC_OBJECT
    - X11Factory::getDefaultGeometry
    - X11Display::X11Display
    - config_GetUserDir
    - ConnectionNumber
    linkageType: ''
    returnType: bool
    signature: bool X11Factory::init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:127,1
    - Dst: X11Graphics::X11Graphics
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - width
    - height
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: X11Factory::createOSGraphics
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp
    functionUses: 0
    functionsReached:
    - X11Graphics::X11Graphics
    - getIntf
    linkageType: ''
    returnType: OSGraphics
    signature: OSGraphics *X11Factory::createOSGraphics( int width, int height )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X11Loop::instance
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:133,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: X11Factory::getOSLoop
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp
    functionUses: 0
    functionsReached:
    - X11Loop::instance
    - getIntf
    linkageType: ''
    returnType: OSLoop
    signature: OSLoop *X11Factory::getOSLoop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X11Loop::destroy
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:139,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: X11Factory::destroyOSLoop
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp
    functionUses: 0
    functionsReached:
    - X11Loop::destroy
    - getIntf
    linkageType: ''
    returnType: void
    signature: void X11Factory::destroyOSLoop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XIconifyWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:144,1
    - Dst: getDisplay
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:144,1
    - Dst: getMainWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:144,1
    - Dst: DefaultScreen
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:145,1
    - Dst: getDisplay
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: X11Factory::minimize
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp
    functionUses: 0
    functionsReached:
    - DefaultScreen
    - getDisplay
    - XIconifyWindow
    - getMainWindow
    linkageType: ''
    returnType: void
    signature: void X11Factory::minimize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: X11Factory::restore
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X11Factory::restore()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: X11Factory::addInTray
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X11Factory::addInTray()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: X11Factory::removeFromTray
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X11Factory::removeFromTray()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: X11Factory::addInTaskBar
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X11Factory::addInTaskBar()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: X11Factory::removeFromTaskBar
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X11Factory::removeFromTaskBar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:175,1
    - Dst: X11Timer::X11Timer
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rCmd
    argTypes:
    - CmdGeneric
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: X11Factory::createOSTimer
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp
    functionUses: 0
    functionsReached:
    - X11Timer::X11Timer
    - getIntf
    linkageType: ''
    returnType: OSTimer
    signature: OSTimer *X11Factory::createOSTimer( CmdGeneric &rCmd )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:183,1
    - Dst: X11Window::X11Window
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - rWindow
    - dragDrop
    - playOnDrop
    - pParent
    - type
    argTypes:
    - GenericWindow
    - bool
    - bool
    - OSWindow*
    - GenericWindow::WindowType_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: X11Factory::createOSWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - X11Window::X11Window
    linkageType: ''
    returnType: OSWindow
    signature: "OSWindow *X11Factory::createOSWindow( GenericWindow &rWindow, bool
      dragDrop,\n                                      bool playOnDrop, OSWindow *pParent,\n
      \                                     GenericWindow::WindowType_t type )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:190,1
    - Dst: X11Tooltip::X11Tooltip
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: X11Factory::createOSTooltip
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - X11Tooltip::X11Tooltip
    linkageType: ''
    returnType: OSTooltip
    signature: OSTooltip *X11Factory::createOSTooltip()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:196,1
    - Dst: X11Popup::X11Popup
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: X11Factory::createOSPopup
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - X11Popup::X11Popup
    linkageType: ''
    returnType: OSPopup
    signature: OSPopup *X11Factory::createOSPopup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: X11Factory::getScreenWidth
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int X11Factory::getScreenWidth() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: X11Factory::getScreenHeight
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int X11Factory::getScreenHeight() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X11Factory::getScreenWidth
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:220,1
    - Dst: X11Factory::getScreenHeight
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:221,1
    - Dst: getDisplay
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:225,1
    - Dst: X11Window*::getDrawable
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:226,1
    - Dst: DefaultRootWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:227,1
    - Dst: XGetGeometry
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:232,1
    - Dst: XTranslateCoordinates
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:233,1
    - Dst: XineramaQueryScreens
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:236,1
    - Dst: XCreateRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:239,1
    - Dst: XUnionRectWithRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:241,1
    - Dst: XCreateRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:246,1
    - Dst: XUnionRectWithRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:249,1
    - Dst: XCreateRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:251,1
    - Dst: XIntersectRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:252,1
    - Dst: XClipBox
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:254,1
    - Dst: XDestroyRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:264,1
    - Dst: XDestroyRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:265,1
    - Dst: XDestroyRegion
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:267,1
    - Dst: XFree
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 5
    argNames:
    - pWindow
    - p_x
    - p_y
    - p_width
    - p_height
    argTypes:
    - OSWindow*
    - int*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 270
    functionName: X11Factory::getMonitorInfo
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp
    functionUses: 0
    functionsReached:
    - X11Factory::getScreenHeight
    - XFree
    - DefaultRootWindow
    - XClipBox
    - getDisplay
    - XineramaQueryScreens
    - XCreateRegion
    - X11Window*::getDrawable
    - X11Factory::getScreenWidth
    - XIntersectRegion
    - XDestroyRegion
    - XGetGeometry
    - XTranslateCoordinates
    - XUnionRectWithRegion
    linkageType: ''
    returnType: void
    signature: "void X11Factory::getMonitorInfo( OSWindow *pWindow,\n                                 int*
      p_x, int* p_y,\n                                 int* p_width, int* p_height
      ) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X11Factory::getScreenWidth
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:280,1
    - Dst: X11Factory::getScreenHeight
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:281,1
    - Dst: getDisplay
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:287,1
    - Dst: XineramaQueryScreens
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:288,1
    - Dst: XFree
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - numScreen
    - p_x
    - p_y
    - p_width
    - p_height
    argTypes:
    - int
    - int*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 301
    functionName: X11Factory::getMonitorInfo
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp
    functionUses: 0
    functionsReached:
    - X11Factory::getScreenHeight
    - XFree
    - getDisplay
    - XineramaQueryScreens
    - X11Factory::getScreenWidth
    linkageType: ''
    returnType: void
    signature: "void X11Factory::getMonitorInfo( int numScreen,\n                                 int*
      p_x, int* p_y,\n                                 int* p_width, int* p_height
      ) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getDisplay
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:306,1
    - Dst: DefaultScreen
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:309,1
    - Dst: DisplayWidth
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:310,1
    - Dst: DisplayHeight
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:311,1
    - Dst: XineramaQueryScreens
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:316,1
    - Dst: XFree
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:328,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - p_width
    - p_height
    argTypes:
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 330
    functionName: X11Factory::getDefaultGeometry
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp
    functionUses: 1
    functionsReached:
    - XFree
    - DefaultScreen
    - getDisplay
    - XineramaQueryScreens
    - DisplayHeight
    - DisplayWidth
    linkageType: ''
    returnType: void
    signature: void X11Factory::getDefaultGeometry( int* p_width, int* p_height )
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X11Factory::getScreenWidth
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:338,1
    - Dst: X11Factory::getScreenHeight
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:338,1
    - Dst: XGetWindowProperty
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:345,1
    - Dst: getDisplay
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:345,1
    - Dst: DefaultRootWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:346,1
    - Dst: getDisplay
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:346,1
    - Dst: XFree
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:358,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:362,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:362,1
    - Dst: SkinsRect
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:363,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 364
    functionName: X11Factory::getWorkArea
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp
    functionUses: 0
    functionsReached:
    - X11Factory::getScreenHeight
    - XFree
    - DefaultRootWindow
    - XGetWindowProperty
    - getDisplay
    - SkinsRect
    - getIntf
    - X11Factory::getScreenWidth
    - msg_Dbg
    linkageType: ''
    returnType: SkinsRect
    signature: SkinsRect X11Factory::getWorkArea() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDisplay
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:373,1
    - Dst: DefaultRootWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:374,1
    - Dst: XQueryPointer
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rXPos
    - rYPos
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 377
    functionName: X11Factory::getMousePos
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp
    functionUses: 0
    functionsReached:
    - getDisplay
    - XQueryPointer
    - DefaultRootWindow
    linkageType: ''
    returnType: void
    signature: void X11Factory::getMousePos( int &rXPos, int &rYPos ) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_opendir
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:385,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:385,1
    - Dst: vlc_readdir
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:389,1
    - Dst: rmdir
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:401,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:401,1
    - Dst: unlink
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:402,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:402,1
    - Dst: vlc_closedir
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:406,1
    - Dst: rmdir
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:409,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:409,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - rPath
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 410
    functionName: X11Factory::rmDir
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp
    functionUses: 0
    functionsReached:
    - vlc_closedir
    - rmdir
    - unlink
    - std::string::c_str
    - vlc_readdir
    - vlc_opendir
    linkageType: ''
    returnType: void
    signature: void X11Factory::rmDir( const std::string &rPath )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XDefineCursor
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:419,1
    - Dst: getDisplay
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - CursorType_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 420
    functionName: X11Factory::changeCursor
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp
    functionUses: 0
    functionsReached:
    - getDisplay
    - XDefineCursor
    linkageType: ''
    returnType: void
    signature: void X11Factory::changeCursor( CursorType_t type ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDisplay
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:424,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:436,1
    - Dst: XcursorLibraryLoadCursor
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:438,1
    - Dst: DefaultRootWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:443,1
    - Dst: XCreateBitmapFromData
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:444,1
    - Dst: XCreatePixmapCursor
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:445,1
    - Dst: XFreePixmap
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 448
    functionName: X11Factory::initCursors
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp
    functionUses: 1
    functionsReached:
    - XFreePixmap
    - ARRAY_SIZE
    - DefaultRootWindow
    - getDisplay
    - XcursorLibraryLoadCursor
    - XCreatePixmapCursor
    - XCreateBitmapFromData
    linkageType: ''
    returnType: void
    signature: void X11Factory::initCursors( )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GenericWindow*::getType
      Src: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - win
    argTypes:
    - Window
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 457
    functionName: X11Factory::setPointerWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_factory.cpp
    functionUses: 0
    functionsReached:
    - GenericWindow*::getType
    linkageType: ''
    returnType: void
    signature: void X11Factory::setPointerWindow( Window win )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DefaultRootWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_tooltip.cpp:35,1
    - Dst: XCreateWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_tooltip.cpp:41,1
    - Dst: XSetWindowColormap
      Src: /src/vlc/modules/gui/skins2/x11/x11_tooltip.cpp:48,1
    - Dst: getColormap
      Src: /src/vlc/modules/gui/skins2/x11/x11_tooltip.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pIntf
    - rDisplay
    argTypes:
    - intf_thread_t*
    - X11Display
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 50
    functionName: X11Tooltip::X11Tooltip
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_tooltip.cpp
    functionUses: 1
    functionsReached:
    - XCreateWindow
    - getColormap
    - XSetWindowColormap
    - DefaultRootWindow
    linkageType: ''
    returnType: void
    signature: "void X11Tooltip::X11Tooltip( intf_thread_t *pIntf,\n                                   X11Display
      &rDisplay )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XDestroyWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_tooltip.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: X11Tooltip::~X11Tooltip()
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_tooltip.cpp
    functionUses: 0
    functionsReached:
    - XDestroyWindow
    linkageType: ''
    returnType: void
    signature: void X11Tooltip::~X11Tooltip()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDrawable
      Src: /src/vlc/modules/gui/skins2/x11/x11_tooltip.cpp:62,1
    - Dst: OSGraphics::getWidth
      Src: /src/vlc/modules/gui/skins2/x11/x11_tooltip.cpp:63,1
    - Dst: OSGraphics::getHeight
      Src: /src/vlc/modules/gui/skins2/x11/x11_tooltip.cpp:64,1
    - Dst: XMoveResizeWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_tooltip.cpp:66,1
    - Dst: XMapRaised
      Src: /src/vlc/modules/gui/skins2/x11/x11_tooltip.cpp:68,1
    - Dst: XMoveWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_tooltip.cpp:70,1
    - Dst: XCopyArea
      Src: /src/vlc/modules/gui/skins2/x11/x11_tooltip.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - left
    - top
    - rText
    argTypes:
    - int
    - int
    - OSGraphics
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 72
    functionName: X11Tooltip::show
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_tooltip.cpp
    functionUses: 0
    functionsReached:
    - XMoveWindow
    - XMapRaised
    - OSGraphics::getHeight
    - getDrawable
    - XCopyArea
    - OSGraphics::getWidth
    - XMoveResizeWindow
    linkageType: ''
    returnType: void
    signature: void X11Tooltip::show( int left, int top, OSGraphics &rText )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XUnmapWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_tooltip.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: X11Tooltip::hide
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_tooltip.cpp
    functionUses: 0
    functionsReached:
    - XUnmapWindow
    linkageType: ''
    returnType: void
    signature: void X11Tooltip::hide()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: ~X11DragDrop()
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~X11DragDrop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - pIntf
    - rDisplay
    - win
    - playOnDrop
    - pWin
    argTypes:
    - intf_thread_t*
    - X11Display
    - Window
    - bool
    - GenericWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: X11DragDrop::X11DragDrop
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void X11DragDrop::X11DragDrop( intf_thread_t *pIntf, X11Display &rDisplay,\n
      \                         Window win, bool playOnDrop, GenericWindow *pWin )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: XInternAtom
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:62,1
    - Dst: XGetWindowProperty
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:63,1
    - Dst: XGetAtomName
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:69,1
    - Dst: std::list::push_back
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:70,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:70,1
    - Dst: XFree
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:72,1
    - Dst: XGetAtomName
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:80,1
    - Dst: std::list::push_back
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:81,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:81,1
    - Dst: std::list::begin
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:88,1
    - Dst: std::list::end
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:88,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:89,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:89,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:89,1
    - Dst: std::list::begin
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:102,1
    - Dst: std::list::end
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:102,1
    - Dst: XInternAtom
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:106,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:106,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:107,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:107,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:107,1
    - Dst: processEvent
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:117,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 1
    argNames:
    - data
    argTypes:
    - ldata_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 118
    functionName: X11DragDrop::dndEnter
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp
    functionUses: 0
    functionsReached:
    - XFree
    - std::list::begin
    - XGetWindowProperty
    - std::list::end
    - std::move
    - processEvent
    - getIntf
    - XGetAtomName
    - msg_Dbg
    - c_str
    - std::list::push_back
    - XInternAtom
    linkageType: ''
    returnType: void
    signature: void X11DragDrop::dndEnter( ldata_t data )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XInternAtom
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:130,1
    - Dst: XInternAtom
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:131,1
    - Dst: XSendEvent
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:147,1
    - Dst: processEvent
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - data
    argTypes:
    - ldata_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 152
    functionName: X11DragDrop::dndPosition
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp
    functionUses: 0
    functionsReached:
    - XInternAtom
    - processEvent
    - XSendEvent
    linkageType: ''
    returnType: void
    signature: void X11DragDrop::dndPosition( ldata_t data )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: processEvent
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - ldata_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: X11DragDrop::dndLeave
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp
    functionUses: 0
    functionsReached:
    - processEvent
    linkageType: ''
    returnType: void
    signature: void X11DragDrop::dndLeave( ldata_t data )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XInternAtom
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:174,1
    - Dst: XInternAtom
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:175,1
    - Dst: XConvertSelection
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:176,1
    - Dst: XInternAtom
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:181,1
    - Dst: XInternAtom
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:182,1
    - Dst: XSendEvent
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - ldata_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 193
    functionName: X11DragDrop::dndDrop
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp
    functionUses: 0
    functionsReached:
    - XInternAtom
    - XConvertSelection
    - XSendEvent
    linkageType: ''
    returnType: void
    signature: void X11DragDrop::dndDrop( ldata_t data )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XInternAtom
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:205,1
    - Dst: XGetWindowProperty
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:206,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:212,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:212,1
    - Dst: strdup
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:213,1
    - Dst: strstr
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:221,1
    - Dst: strlen
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:225,1
    - Dst: strstr
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:228,1
    - Dst: std::list::push_back
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:230,1
    - Dst: strlen
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:233,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:235,1
    - Dst: XFree
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:236,1
    - Dst: processEvent
      Src: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp:240,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 242
    functionName: X11DragDrop::dndSelectionNotify
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_dragdrop.cpp
    functionUses: 0
    functionsReached:
    - strdup
    - XFree
    - strlen
    - XGetWindowProperty
    - free
    - processEvent
    - getIntf
    - msg_Dbg
    - strstr
    - std::list::push_back
    - XInternAtom
    linkageType: ''
    returnType: void
    signature: void X11DragDrop::dndSelectionNotify( )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:56,1
    - Dst: KEY_F
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:70,1
    - Dst: KEY_F
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:71,1
    - Dst: KEY_F
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:72,1
    - Dst: KEY_F
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:73,1
    - Dst: KEY_F
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:74,1
    - Dst: KEY_F
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:75,1
    - Dst: KEY_F
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:76,1
    - Dst: KEY_F
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:77,1
    - Dst: KEY_F
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:78,1
    - Dst: KEY_F
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:79,1
    - Dst: KEY_F
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:80,1
    - Dst: KEY_F
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:81,1
    - Dst: KEY_F
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:82,1
    - Dst: KEY_F
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:83,1
    - Dst: KEY_F
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:84,1
    - Dst: KEY_F
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:85,1
    - Dst: KEY_F
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:86,1
    - Dst: KEY_F
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:87,1
    - Dst: KEY_F
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:88,1
    - Dst: KEY_F
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:89,1
    - Dst: KEY_F
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:90,1
    - Dst: KEY_F
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:91,1
    - Dst: KEY_F
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 50
    argCount: 2
    argNames:
    - pIntf
    - rDisplay
    argTypes:
    - intf_thread_t*
    - X11Display
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 106
    functionName: X11Loop::X11Loop
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp
    functionUses: 0
    functionsReached:
    - empty
    - KEY_F
    linkageType: ''
    returnType: void
    signature: void X11Loop::X11Loop( intf_thread_t *pIntf, X11Display &rDisplay )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<X11Loop>
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:111,1
    - Dst: intf_thread_t*::p_sys::p_osLoop::get
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pIntf
    - rDisplay
    argTypes:
    - intf_thread_t*
    - X11Display
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: X11Loop::instance
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp
    functionUses: 1
    functionsReached:
    - intf_thread_t*::p_sys::p_osLoop::get
    - std::make_unique<X11Loop>
    linkageType: ''
    returnType: OSLoop
    signature: OSLoop *X11Loop::instance( intf_thread_t *pIntf, X11Display &rDisplay
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intf_thread_t*::p_sys::p_osLoop::reset
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: X11Loop::destroy
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp
    functionUses: 1
    functionsReached:
    - intf_thread_t*::p_sys::p_osLoop::reset
    linkageType: ''
    returnType: void
    signature: void X11Loop::destroy( intf_thread_t *pIntf )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:124,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:124,1
    - Dst: getTimerLoop
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:125,1
    - Dst: XPending
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:133,1
    - Dst: X11Loop::handleX11Event
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:138,1
    - Dst: XPending
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:141,1
    - Dst: X11TimerLoop*::waitNextTimer
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 151
    functionName: X11Loop::run
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp
    functionUses: 0
    functionsReached:
    - getTimerLoop
    - X11TimerLoop*::waitNextTimer
    - X11Loop::handleX11Event
    - getIntf
    - XPending
    - OSFactory::instance
    linkageType: ''
    returnType: void
    signature: void X11Loop::run()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: X11Loop::exit
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X11Loop::exit()
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 170
    functionName: X11Loop::X11ModToMod
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int X11Loop::X11ModToMod( unsigned state )
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:176,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:176,1
    - Dst: XNextEvent
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:179,1
    - Dst: getMainWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:181,1
    - Dst: XInternAtom
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:186,1
    - Dst: XInternAtom
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:188,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:193,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:193,1
    - Dst: libvlc_Quit
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:194,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:194,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:194,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:213,1
    - Dst: GenericWindow*::processEvent
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:216,1
    - Dst: GenericWindow*::processEvent
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:222,1
    - Dst: GenericWindow*::processEvent
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:228,1
    - Dst: X11Factory*::getMousePos
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:237,1
    - Dst: X11Factory*::setPointerWindow
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:238,1
    - Dst: GenericWindow*::processEvent
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:240,1
    - Dst: GenericWindow*::processEvent
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:246,1
    - Dst: X11Loop::X11ModToMod
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:263,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:269,1
    - Dst: X11Factory*::getMousePos
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:271,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:290,1
    - Dst: GenericWindow*::processEvent
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:293,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:298,1
    - Dst: GenericWindow*::processEvent
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:301,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:306,1
    - Dst: GenericWindow*::processEvent
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:309,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:317,1
    - Dst: GenericWindow*::processEvent
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:320,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:329,1
    - Dst: GenericWindow*::processEvent
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:332,1
    - Dst: X11Loop::keysymToVlcKey
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:343,1
    - Dst: XLookupKeysym
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:343,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:345,1
    - Dst: X11Loop::X11ModToMod
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:347,1
    - Dst: GenericWindow*::processEvent
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:348,1
    - Dst: XGetAtomName
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:355,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:361,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:361,1
    - Dst: X11DragDrop*::dndEnter
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:366,1
    - Dst: X11DragDrop*::dndPosition
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:368,1
    - Dst: X11DragDrop*::dndLeave
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:370,1
    - Dst: X11DragDrop*::dndDrop
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:372,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:381,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:381,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:389,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:389,1
    - Dst: X11DragDrop*::dndSelectionNotify
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:392,1
    - Dst: GenericWindow*::onDestroyed
      Src: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp:401,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 126
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 404
    functionName: X11Loop::handleX11Event
    functionSourceFile: /src/vlc/modules/gui/skins2/x11/x11_loop.cpp
    functionUses: 1
    functionsReached:
    - X11DragDrop*::dndPosition
    - getIntf
    - libvlc_Quit
    - vlc_tick_now
    - msg_Err
    - msg_Dbg
    - XGetAtomName
    - GenericWindow*::processEvent
    - OSFactory::instance
    - X11DragDrop*::dndSelectionNotify
    - XLookupKeysym
    - X11DragDrop*::dndDrop
    - vlc_object_instance
    - XInternAtom
    - XNextEvent
    - X11Loop::keysymToVlcKey
    - GenericWindow*::onDestroyed
    - getMainWindow
    - X11Factory*::setPointerWindow
    - X11Factory*::getMousePos
    - X11DragDrop*::dndLeave
    - X11Loop::X11ModToMod
    - X11DragDrop*::dndEnter
    linkageType: ''
    returnType: void
    signature: void X11Loop::handleX11Event()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rEvent
    argTypes:
    - EvtGeneric
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: CtrlGeneric::handleEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_generic.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void handleEvent( EvtGeneric &rEvent )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: CtrlGeneric::mouseOver
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_generic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool mouseOver( int x, int y ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: CtrlGeneric::getPosition
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_generic.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Position
    signature: Position *getPosition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_generic.hpp:69,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_generic.hpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: CtrlGeneric::getTooltipText
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_generic.hpp
    functionUses: 1
    functionsReached:
    - UString
    - getIntf
    linkageType: ''
    returnType: UString
    signature: UString getTooltipText() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: CtrlGeneric::onResize
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_generic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void onResize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: '&getHelpText() const'
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_generic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UString
    signature: UString &getHelpText() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: CtrlGeneric::isFocusable
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_generic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isFocusable() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: CtrlGeneric::isScrollable
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_generic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isScrollable() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: CtrlGeneric::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_generic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: CtrlGeneric::onPositionChange
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_generic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void onPositionChange()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rVar
    argTypes:
    - VarBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: CtrlGeneric::onVarBoolUpdate
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_generic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void onVarBoolUpdate( VarBool &rVar )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:68,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:68,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:69,1
    - Dst: VarBool*::get
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:69,1
    - Dst: addObserver
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:73,1
    - Dst: setFlat
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 15
    argNames:
    - pIntf
    - rTree
    - rFont
    - pBgBitmap
    - pItemBitmap
    - pOpenBitmap
    - pClosedBitmap
    - fgColor
    - playColor
    - bgColor1
    - bgColor2
    - selColor
    - rHelp
    - pVisible
    - pFlat
    argTypes:
    - intf_thread_t*
    - VarTree
    - GenericFont
    - GenericBitmap*
    - GenericBitmap*
    - GenericBitmap*
    - GenericBitmap*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - UString
    - VarBool*
    - VarBool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 75
    functionName: CtrlTree::CtrlTree
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp
    functionUses: 0
    functionsReached:
    - setFlat
    - end
    - VarBool*::get
    - addObserver
    linkageType: ''
    returnType: void
    signature: "void CtrlTree::CtrlTree( intf_thread_t *pIntf,\n                    VarTree
      &rTree,\n                    const GenericFont &rFont,\n                    const
      GenericBitmap *pBgBitmap,\n                    const GenericBitmap *pItemBitmap,\n
      \                   const GenericBitmap *pOpenBitmap,\n                    const
      GenericBitmap *pClosedBitmap,\n                    uint32_t fgColor,\n                    uint32_t
      playColor,\n                    uint32_t bgColor1,\n                    uint32_t
      bgColor2,\n                    uint32_t selColor,\n                    const
      UString &rHelp,\n                    VarBool *pVisible,\n                    VarBool
      *pFlat )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delObserver
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: CtrlTree::~CtrlTree()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp
    functionUses: 0
    functionsReached:
    - delObserver
    linkageType: ''
    returnType: void
    signature: void CtrlTree::~CtrlTree()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getSize
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:86,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:91,1
    - Dst: getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:91,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:95,1
    - Dst: getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:95,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:100,1
    - Dst: getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 104
    functionName: CtrlTree::itemHeight
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp
    functionUses: 0
    functionsReached:
    - std::max
    - getSize
    - getHeight
    linkageType: ''
    returnType: int
    signature: int CtrlTree::itemHeight()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:113,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:113,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:117,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:117,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:122,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 125
    functionName: CtrlTree::itemImageWidth
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp
    functionUses: 0
    functionsReached:
    - std::max
    - getWidth
    linkageType: ''
    returnType: int
    signature: int CtrlTree::itemImageWidth()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:129,1
    - Dst: Position*::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:134,1
    - Dst: CtrlTree::itemHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: CtrlTree::maxItems
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp
    functionUses: 0
    functionsReached:
    - CtrlTree::itemHeight
    - Position*::getHeight
    - getPosition
    linkageType: ''
    returnType: float
    signature: float CtrlTree::maxItems()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CtrlTree::isItemVisible
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:143,1
    - Dst: CtrlTree::makeImage
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:145,1
    - Dst: notifyLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:146,1
    - Dst: CtrlTree::setSliderFromFirst
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:148,1
    - Dst: tree_update*::it::isPlaying
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:152,1
    - Dst: ensureExpanded
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:154,1
    - Dst: CtrlTree::ensureVisible
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:155,1
    - Dst: CtrlTree::makeImage
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:157,1
    - Dst: notifyLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:158,1
    - Dst: CtrlTree::setSliderFromFirst
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:159,1
    - Dst: CtrlTree::isItemVisible
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:161,1
    - Dst: CtrlTree::makeImage
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:163,1
    - Dst: notifyLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:164,1
    - Dst: CtrlTree::isItemVisible
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:169,1
    - Dst: CtrlTree::getNearestItem
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:175,1
    - Dst: CtrlTree::getNearestItem
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:179,1
    - Dst: setSelected
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:180,1
    - Dst: tree_update*::it::isSelected
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:180,1
    - Dst: CtrlTree::makeImage
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:189,1
    - Dst: notifyLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:190,1
    - Dst: CtrlTree::setSliderFromFirst
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:192,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:196,1
    - Dst: CtrlTree::getFirstFromSlider
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:197,1
    - Dst: CtrlTree::makeImage
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:199,1
    - Dst: notifyLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:200,1
    - Dst: CtrlTree::setSliderFromFirst
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:201,1
    - Dst: CtrlTree::getFirstFromSlider
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:205,1
    - Dst: CtrlTree::makeImage
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:209,1
    - Dst: notifyLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:210,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 2
    argNames:
    - rTree
    - arg
    argTypes:
    - Subject<VarTree, tree_update>
    - tree_update*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 213
    functionName: CtrlTree::onUpdate
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp
    functionUses: 0
    functionsReached:
    - CtrlTree::makeImage
    - CtrlTree::getNearestItem
    - tree_update*::it::isPlaying
    - setSelected
    - CtrlTree::isItemVisible
    - ensureExpanded
    - CtrlTree::ensureVisible
    - CtrlTree::setSliderFromFirst
    - CtrlTree::getFirstFromSlider
    - end
    - tree_update*::it::isSelected
    - notifyLayout
    linkageType: ''
    returnType: void
    signature: "void CtrlTree::onUpdate( Subject<VarTree, tree_update> &rTree,\n                         tree_update
      *arg )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlTree::onPositionChange
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: CtrlTree::onResize
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp
    functionUses: 0
    functionsReached:
    - CtrlTree::onPositionChange
    linkageType: ''
    returnType: void
    signature: void CtrlTree::onResize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlTree::maxItems
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:222,1
    - Dst: CtrlTree::setScrollStep
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:223,1
    - Dst: CtrlTree::getFirstFromSlider
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:224,1
    - Dst: CtrlTree::makeImage
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 220
    functionDepth: 3
    functionLinenumber: 220
    functionLinenumberEnd: 226
    functionName: CtrlTree::onPositionChange
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp
    functionUses: 1
    functionsReached:
    - CtrlTree::makeImage
    - CtrlTree::maxItems
    - CtrlTree::getFirstFromSlider
    - CtrlTree::setScrollStep
    linkageType: ''
    returnType: void
    signature: void CtrlTree::onPositionChange()
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: EvtGeneric::getAsString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:233,1
    - Dst: getKey
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:235,1
    - Dst: delSelected
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:241,1
    - Dst: getPositionVar
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:246,1
    - Dst: VarPercent::increment
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:247,1
    - Dst: getPositionVar
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:252,1
    - Dst: VarPercent::increment
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:253,1
    - Dst: unselectTree
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:258,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:259,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:261,1
    - Dst: setSelected
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:263,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:266,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:269,1
    - Dst: setSelected
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:270,1
    - Dst: unselectTree
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:278,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:279,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:282,1
    - Dst: setSelected
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:284,1
    - Dst: Iterator::setSelected
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:288,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:295,1
    - Dst: setSelected
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:296,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:305,1
    - Dst: isExpanded
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:307,1
    - Dst: size
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:307,1
    - Dst: setExpanded
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:309,1
    - Dst: unselectTree
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:314,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:316,1
    - Dst: setSelected
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:318,1
    - Dst: Iterator::setSelected
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:322,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:334,1
    - Dst: unselectTree
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:338,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:339,1
    - Dst: setSelected
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:341,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:346,1
    - Dst: setSelected
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:347,1
    - Dst: isExpanded
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:354,1
    - Dst: setExpanded
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:356,1
    - Dst: getParent
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:361,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:362,1
    - Dst: setSelected
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:364,1
    - Dst: setSelected
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:366,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:377,1
    - Dst: action
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:379,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:386,1
    - Dst: p_dialogs::sendKey
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:386,1
    - Dst: getModKey
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:386,1
    - Dst: EvtGeneric::getAsString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:390,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:393,1
    - Dst: EvtMouse::getXPos
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:394,1
    - Dst: Position*::getLeft
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:394,1
    - Dst: EvtMouse::getYPos
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:395,1
    - Dst: Position*::getTop
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:395,1
    - Dst: CtrlTree::itemHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:395,1
    - Dst: CtrlTree::findItemAtPos
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:397,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:398,1
    - Dst: EvtGeneric::getAsString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:400,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:405,1
    - Dst: Iterator::setSelected
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:421,1
    - Dst: Iterator::isSelected
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:421,1
    - Dst: EvtGeneric::getAsString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:426,1
    - Dst: Iterator::toggleSelected
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:430,1
    - Dst: EvtGeneric::getAsString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:434,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:438,1
    - Dst: Iterator::setSelected
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:454,1
    - Dst: EvtGeneric::getAsString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:459,1
    - Dst: Iterator::size
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:463,1
    - Dst: Iterator::depth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:464,1
    - Dst: CtrlTree::itemImageWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:464,1
    - Dst: Iterator::depth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:465,1
    - Dst: CtrlTree::itemImageWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:465,1
    - Dst: Iterator::toggleExpanded
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:468,1
    - Dst: unselectTree
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:473,1
    - Dst: Iterator::setSelected
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:475,1
    - Dst: EvtGeneric::getAsString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:480,1
    - Dst: action
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:484,1
    - Dst: EvtGeneric::getAsString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:489,1
    - Dst: static_cast<EvtScroll&>
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:491,1
    - Dst: getPositionVar
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:493,1
    - Dst: getPositionVar
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:495,1
    - Dst: EvtGeneric::getAsString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:498,1
    - Dst: static_cast<EvtDragOver&>
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:500,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:501,1
    - Dst: getYPos
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:502,1
    - Dst: Position*::getTop
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:502,1
    - Dst: CtrlTree::itemHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:502,1
    - Dst: CtrlTree::findItemAtPos
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:504,1
    - Dst: EvtGeneric::getAsString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:512,1
    - Dst: static_cast<EvtDragDrop&>
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:514,1
    - Dst: static_cast<Playtree&>
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:515,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:516,1
    - Dst: insertItems
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:517,1
    - Dst: getFiles
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:517,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:518,1
    - Dst: EvtGeneric::getAsString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:522,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:524,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:530,1
    - Dst: CtrlTree::ensureVisible
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:531,1
    - Dst: CtrlTree::setSliderFromFirst
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:536,1
    - Dst: CtrlTree::makeImage
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:538,1
    - Dst: notifyLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:539,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 186
    argCount: 1
    argNames:
    - rEvent
    argTypes:
    - EvtGeneric
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 541
    functionName: CtrlTree::handleEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp
    functionUses: 0
    functionsReached:
    - getYPos
    - Iterator::toggleExpanded
    - VarPercent::increment
    - static_cast<EvtDragDrop&>
    - Position*::getLeft
    - delSelected
    - Iterator::depth
    - getIntf
    - static_cast<EvtScroll&>
    - unselectTree
    - Position*::getTop
    - notifyLayout
    - Iterator::size
    - setExpanded
    - CtrlTree::itemImageWidth
    - getFiles
    - getPositionVar
    - size
    - insertItems
    - getParent
    - EvtGeneric::getAsString
    - getPosition
    - CtrlTree::setSliderFromFirst
    - static_cast<Playtree&>
    - getModKey
    - p_dialogs::sendKey
    - action
    - getKey
    - CtrlTree::ensureVisible
    - isExpanded
    - end
    - CtrlTree::makeImage
    - Iterator::toggleSelected
    - Iterator::setSelected
    - setSelected
    - Iterator::isSelected
    - CtrlTree::itemHeight
    - static_cast<EvtDragOver&>
    - EvtMouse::getXPos
    - EvtMouse::getYPos
    - CtrlTree::findItemAtPos
    linkageType: ''
    returnType: void
    signature: void CtrlTree::handleEvent( EvtGeneric &rEvent )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:545,1
    - Dst: Position*::getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:547,1
    - Dst: Position*::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:547,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 543
    functionDepth: 2
    functionLinenumber: 543
    functionLinenumberEnd: 548
    functionName: CtrlTree::mouseOver
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp
    functionUses: 0
    functionsReached:
    - Position*::getHeight
    - getPosition
    - Position*::getWidth
    linkageType: ''
    returnType: bool
    signature: bool CtrlTree::mouseOver( int x, int y ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:552,1
    - Dst: Position*::getLeft
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:553,1
    - Dst: Position*::getTop
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:553,1
    - Dst: Position*::getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:554,1
    - Dst: Position*::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:554,1
    - Dst: rect::rect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:556,1
    - Dst: rect::intersect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:558,1
    - Dst: OSGraphics::drawGraphics
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:559,1
    - Dst: Position*::getLeft
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:560,1
    - Dst: Position*::getTop
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:561,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 5
    argNames:
    - rImage
    - xDest
    - yDest
    - w
    - h
    argTypes:
    - OSGraphics
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 550
    functionDepth: 2
    functionLinenumber: 550
    functionLinenumberEnd: 563
    functionName: CtrlTree::draw
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp
    functionUses: 0
    functionsReached:
    - rect::intersect
    - Position*::getLeft
    - getPosition
    - OSGraphics::drawGraphics
    - rect::rect
    - Position*::getHeight
    - Position*::getTop
    - Position*::getWidth
    linkageType: ''
    returnType: void
    signature: void CtrlTree::draw( OSGraphics &rImage, int xDest, int yDest, int
      w, int h)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:570,1
    - Dst: Position*::getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:573,1
    - Dst: Position*::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:574,1
    - Dst: CtrlTree::itemHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:576,1
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:579,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:579,1
    - Dst: OSFactory*::createOSGraphics
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:580,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:588,1
    - Dst: getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:589,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:593,1
    - Dst: ScaledBitmap::ScaledBitmap
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:593,1
    - Dst: drawBitmap
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:595,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:598,1
    - Dst: Iterator::isSelected
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:601,1
    - Dst: std::min
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:603,1
    - Dst: fillRect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:604,1
    - Dst: fillRect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:612,1
    - Dst: std::min
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:616,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:617,1
    - Dst: fillRect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:618,1
    - Dst: Iterator::isSelected
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:621,1
    - Dst: fillRect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:622,1
    - Dst: CtrlTree::itemImageWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:629,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:632,1
    - Dst: Iterator::getString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:635,1
    - Dst: Iterator::isPlaying
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:638,1
    - Dst: Iterator::depth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:639,1
    - Dst: drawString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:641,1
    - Dst: Iterator::size
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:646,1
    - Dst: Iterator::isExpanded
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:648,1
    - Dst: GenericBitmap*::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:655,1
    - Dst: drawBitmap
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:662,1
    - Dst: GenericBitmap*::getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:664,1
    - Dst: std::min
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:665,1
    - Dst: GenericBitmap*::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:665,1
    - Dst: GenericBitmap*::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:668,1
    - Dst: std::min
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:681,1
    - Dst: GenericBitmap*::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:681,1
    - Dst: drawBitmap
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:683,1
    - Dst: GenericBitmap*::getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:684,1
    - Dst: GenericBitmap*::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:686,1
    - Dst: fillRect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:691,1
    - Dst: GenericBitmap*::getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:693,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:693,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 565
    functionDepth: 2
    functionLinenumber: 565
    functionLinenumberEnd: 699
    functionName: CtrlTree::makeImage
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp
    functionUses: 3
    functionsReached:
    - std::max
    - getIntf
    - GenericBitmap*::getHeight
    - Position*::getHeight
    - Position*::getWidth
    - Iterator::size
    - CtrlTree::itemImageWidth
    - getHeight
    - Iterator::isExpanded
    - getPosition
    - OSFactory::instance
    - ScaledBitmap::ScaledBitmap
    - drawBitmap
    - Iterator::getString
    - GenericBitmap*::getWidth
    - OSFactory*::createOSGraphics
    - drawString
    - end
    - fillRect
    - Iterator::isPlaying
    - std::min
    - Iterator::isSelected
    - CtrlTree::itemHeight
    - getWidth
    - Iterator::depth
    linkageType: ''
    returnType: void
    signature: void CtrlTree::makeImage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:706,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pos
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 709
    functionName: CtrlTree::findItemAtPos
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp
    functionUses: 1
    functionsReached:
    - end
    linkageType: ''
    returnType: CtrlTree::Iterator
    signature: CtrlTree::Iterator CtrlTree::findItemAtPos( int pos )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPositionVar
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:713,1
    - Dst: VarPercent::get
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:714,1
    - Dst: countLeafs
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:716,1
    - Dst: visibleItems
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:717,1
    - Dst: lrint
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:720,1
    - Dst: getItem
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 726
    functionName: CtrlTree::getFirstFromSlider
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp
    functionUses: 2
    functionsReached:
    - countLeafs
    - getPositionVar
    - VarPercent::get
    - getItem
    - lrint
    - visibleItems
    linkageType: ''
    returnType: CtrlTree::Iterator
    signature: CtrlTree::Iterator CtrlTree::getFirstFromSlider()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPositionVar
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:730,1
    - Dst: countLeafs
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:732,1
    - Dst: visibleItems
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:733,1
    - Dst: VarPercent::setStep
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:736,1
    - Dst: VarPercent::setStep
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 739
    functionName: CtrlTree::setScrollStep
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp
    functionUses: 1
    functionsReached:
    - getPositionVar
    - visibleItems
    - countLeafs
    - VarPercent::setStep
    linkageType: ''
    returnType: void
    signature: void CtrlTree::setScrollStep()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPositionVar
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:743,1
    - Dst: countLeafs
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:745,1
    - Dst: visibleItems
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:746,1
    - Dst: getIndex
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:748,1
    - Dst: VarPercent::set
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:751,1
    - Dst: VarPercent::setStep
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:752,1
    - Dst: VarPercent::set
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:756,1
    - Dst: VarPercent::setStep
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:757,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 741
    functionDepth: 2
    functionLinenumber: 741
    functionLinenumberEnd: 759
    functionName: CtrlTree::setSliderFromFirst
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp
    functionUses: 2
    functionsReached:
    - countLeafs
    - getPositionVar
    - getIndex
    - visibleItems
    - VarPercent::set
    - VarPercent::setStep
    linkageType: ''
    returnType: void
    signature: void CtrlTree::setSliderFromFirst()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:763,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:767,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:775,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - ' it_ref'
    argTypes:
    - Iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 781
    functionName: CtrlTree::isItemVisible
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp
    functionUses: 1
    functionsReached:
    - end
    linkageType: ''
    returnType: bool
    signature: bool CtrlTree::isItemVisible( const Iterator& it_ref )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:787,1
    - Dst: setSliderFromItem
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:793,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' item'
    argTypes:
    - Iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 795
    functionName: CtrlTree::ensureVisible
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp
    functionUses: 2
    functionsReached:
    - setSliderFromItem
    - end
    linkageType: ''
    returnType: bool
    signature: bool CtrlTree::ensureVisible( const Iterator& item )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp:801,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' item'
    argTypes:
    - Iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 807
    functionName: CtrlTree::getNearestItem
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_tree.cpp
    functionUses: 1
    functionsReached:
    - end
    linkageType: ''
    returnType: CtrlTree::Iterator
    signature: CtrlTree::Iterator CtrlTree::getNearestItem( const Iterator& item )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: CtrlImage::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_image.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: CtrlRadialSlider::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addState
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:53,1
    - Dst: addState
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:54,1
    - Dst: addState
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:55,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:58,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:59,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:60,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:61,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:63,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:65,1
    - Dst: setState
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 7
    argNames:
    - pIntf
    - rWindowManager
    - rCtrl
    - rLayout
    - rHelp
    - pVisible
    - direction
    argTypes:
    - intf_thread_t*
    - WindowManager
    - CtrlFlat
    - GenericLayout
    - UString
    - VarBool*
    - WindowManager::Direction_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 68
    functionName: CtrlResize::CtrlResize
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp
    functionUses: 0
    functionsReached:
    - addTransition
    - setState
    - addState
    linkageType: ''
    returnType: void
    signature: "void CtrlResize::CtrlResize( intf_thread_t *pIntf, WindowManager &rWindowManager,\n
      \                       CtrlFlat &rCtrl, GenericLayout &rLayout,\n                        const
      UString &rHelp, VarBool *pVisible,\n                        WindowManager::Direction_t
      direction )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlResize::mouseOver
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: CtrlResize::mouseOver
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp
    functionUses: 1
    functionsReached:
    - CtrlResize::mouseOver
    linkageType: ''
    returnType: bool
    signature: bool CtrlResize::mouseOver( int x, int y ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlResize::draw
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - rImage
    - xDest
    - yDest
    - w
    - h
    argTypes:
    - OSGraphics
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: CtrlResize::draw
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp
    functionUses: 1
    functionsReached:
    - CtrlResize::draw
    linkageType: ''
    returnType: void
    signature: void CtrlResize::draw( OSGraphics &rImage, int xDest, int yDest, int
      w, int h )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlGeneric::setLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:85,1
    - Dst: CtrlResize::setLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pLayout
    - rPosition
    argTypes:
    - GenericLayout*
    - Position
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: CtrlResize::setLayout
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp
    functionUses: 1
    functionsReached:
    - CtrlGeneric::setLayout
    - CtrlResize::setLayout
    linkageType: ''
    returnType: void
    signature: void CtrlResize::setLayout( GenericLayout *pLayout, const Position
      &rPosition )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlResize::unsetLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:93,1
    - Dst: CtrlGeneric::unsetLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: CtrlResize::unsetLayout
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp
    functionUses: 1
    functionsReached:
    - CtrlResize::unsetLayout
    - CtrlGeneric::unsetLayout
    linkageType: ''
    returnType: void
    signature: void CtrlResize::unsetLayout()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlResize::getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: CtrlResize::getPosition
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp
    functionUses: 1
    functionsReached:
    - CtrlResize::getPosition
    linkageType: ''
    returnType: Position
    signature: Position *CtrlResize::getPosition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlResize::onResize
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: CtrlResize::onResize
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp
    functionUses: 1
    functionsReached:
    - CtrlResize::onResize
    linkageType: ''
    returnType: void
    signature: void CtrlResize::onResize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handleTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:113,1
    - Dst: EvtGeneric::getAsString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:113,1
    - Dst: CtrlResize::handleEvent
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rEvent
    argTypes:
    - EvtGeneric
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: CtrlResize::handleEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp
    functionUses: 1
    functionsReached:
    - handleTransition
    - EvtGeneric::getAsString
    - CtrlResize::handleEvent
    linkageType: ''
    returnType: void
    signature: void CtrlResize::handleEvent( EvtGeneric &rEvent )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:131,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - direction
    argTypes:
    - WindowManager::Direction_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: CtrlResize::changeCursor
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - OSFactory::instance
    linkageType: ''
    returnType: void
    signature: void CtrlResize::changeCursor( WindowManager::Direction_t direction
      ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: changeCursor
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: CtrlResize::CmdOutStill::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp
    functionUses: 0
    functionsReached:
    - changeCursor
    linkageType: ''
    returnType: void
    signature: void CtrlResize::CmdOutStill::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: changeCursor
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: CtrlResize::CmdStillOut::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp
    functionUses: 0
    functionsReached:
    - changeCursor
    linkageType: ''
    returnType: void
    signature: void CtrlResize::CmdStillOut::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: changeCursor
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: CtrlResize::CmdStillStill::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp
    functionUses: 0
    functionsReached:
    - changeCursor
    linkageType: ''
    returnType: void
    signature: void CtrlResize::CmdStillStill::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<EvtMouse*>
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:155,1
    - Dst: changeCursor
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:158,1
    - Dst: EvtMouse*::getXPos
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:160,1
    - Dst: EvtMouse*::getYPos
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:161,1
    - Dst: captureMouse
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:163,1
    - Dst: m_rLayout::getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:165,1
    - Dst: m_rLayout::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:166,1
    - Dst: m_rWindowManager::startResize
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 170
    functionName: CtrlResize::CmdStillResize::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp
    functionUses: 0
    functionsReached:
    - captureMouse
    - changeCursor
    - m_rWindowManager::startResize
    - static_cast<EvtMouse*>
    - EvtMouse*::getYPos
    - EvtMouse*::getXPos
    - m_rLayout::getWidth
    - m_rLayout::getHeight
    linkageType: ''
    returnType: void
    signature: void CtrlResize::CmdStillResize::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: changeCursor
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:176,1
    - Dst: releaseMouse
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:178,1
    - Dst: m_rWindowManager::stopResize
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 181
    functionName: CtrlResize::CmdResizeStill::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp
    functionUses: 0
    functionsReached:
    - releaseMouse
    - changeCursor
    - m_rWindowManager::stopResize
    linkageType: ''
    returnType: void
    signature: void CtrlResize::CmdResizeStill::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<EvtMotion*>
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:186,1
    - Dst: changeCursor
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:188,1
    - Dst: EvtMotion*::getXPos
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:191,1
    - Dst: EvtMotion*::getYPos
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:193,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:198,1
    - Dst: CmdResize::CmdResize
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:198,1
    - Dst: AsyncQueue::instance
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:203,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:203,1
    - Dst: CmdGenericPtr
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 204
    functionName: CtrlResize::CmdResizeResize::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_resize.cpp
    functionUses: 0
    functionsReached:
    - EvtMotion*::getYPos
    - changeCursor
    - CmdResize::CmdResize
    - CmdGenericPtr
    - EvtMotion*::getXPos
    - static_cast<EvtMotion*>
    - getIntf
    - AsyncQueue::instance
    linkageType: ''
    returnType: void
    signature: void CtrlResize::CmdResizeResize::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: CtrlTree::isFocusable
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_tree.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isFocusable() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: CtrlTree::isScrollable
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_tree.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isScrollable() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: CtrlTree::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_tree.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pIntf
    - rHelp
    - pVisible
    argTypes:
    - intf_thread_t*
    - UString
    - VarBool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: CtrlFlat::CtrlFlat
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_flat.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CtrlFlat( intf_thread_t *pIntf, const UString &rHelp, VarBool
      *pVisible )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~CtrlFlat()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_flat.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CtrlFlat()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addState
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:47,1
    - Dst: addState
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:48,1
    - Dst: addState
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:49,1
    - Dst: addState
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:50,1
    - Dst: addState
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:51,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:54,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:56,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:58,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:60,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:61,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:62,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:63,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:64,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:67,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:68,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:69,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:70,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:71,1
    - Dst: setState
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:74,1
    - Dst: CtrlButton::setImage
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 8
    argNames:
    - pIntf
    - rBmpUp
    - rBmpOver
    - rBmpDown
    - rCommand
    - rTooltip
    - rHelp
    - pVisible
    argTypes:
    - intf_thread_t*
    - GenericBitmap
    - GenericBitmap
    - GenericBitmap
    - CmdGeneric
    - UString
    - UString
    - VarBool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 76
    functionName: CtrlButton::CtrlButton
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp
    functionUses: 0
    functionsReached:
    - addTransition
    - setState
    - addState
    - CtrlButton::setImage
    linkageType: ''
    returnType: void
    signature: "void CtrlButton::CtrlButton( intf_thread_t *pIntf, const GenericBitmap
      &rBmpUp,\n                        const GenericBitmap &rBmpOver,\n                        const
      GenericBitmap &rBmpDown, CmdGeneric &rCommand,\n                        const
      UString &rTooltip, const UString &rHelp,\n                        VarBool *pVisible
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stopAnim
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:83,1
    - Dst: delObserver
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: CtrlButton::~CtrlButton()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp
    functionUses: 0
    functionsReached:
    - stopAnim
    - delObserver
    linkageType: ''
    returnType: void
    signature: void CtrlButton::~CtrlButton()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlGeneric::setLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:91,1
    - Dst: getActiveVar
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pLayout
    - rPosition
    argTypes:
    - GenericLayout*
    - Position
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: CtrlButton::setLayout
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp
    functionUses: 0
    functionsReached:
    - CtrlGeneric::setLayout
    - getActiveVar
    linkageType: ''
    returnType: void
    signature: "void CtrlButton::setLayout( GenericLayout *pLayout,\n                           const
      Position &rPosition )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getActiveVar
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:98,1
    - Dst: CtrlGeneric::unsetLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: CtrlButton::unsetLayout
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp
    functionUses: 0
    functionsReached:
    - CtrlGeneric::unsetLayout
    - getActiveVar
    linkageType: ''
    returnType: void
    signature: void CtrlButton::unsetLayout()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handleTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:104,1
    - Dst: EvtGeneric::getAsString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rEvent
    argTypes:
    - EvtGeneric
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: CtrlButton::handleEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp
    functionUses: 0
    functionsReached:
    - handleTransition
    - EvtGeneric::getAsString
    linkageType: ''
    returnType: void
    signature: void CtrlButton::handleEvent( EvtGeneric &rEvent )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hit
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: CtrlButton::mouseOver
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp
    functionUses: 0
    functionsReached:
    - hit
    linkageType: ''
    returnType: bool
    signature: bool CtrlButton::mouseOver( int x, int y ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:123,1
    - Dst: Position*::getLeft
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:124,1
    - Dst: Position*::getTop
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:124,1
    - Dst: Position*::getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:125,1
    - Dst: Position*::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:125,1
    - Dst: rect::rect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:127,1
    - Dst: rect::intersect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:128,1
    - Dst: CtrlButton::draw
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:131,1
    - Dst: Position*::getLeft
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:132,1
    - Dst: Position*::getTop
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 5
    argNames:
    - rImage
    - xDest
    - yDest
    - w
    - h
    argTypes:
    - OSGraphics
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 135
    functionName: CtrlButton::draw
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp
    functionUses: 1
    functionsReached:
    - CtrlButton::draw
    - rect::intersect
    - Position*::getLeft
    - getPosition
    - rect::rect
    - Position*::getHeight
    - Position*::getTop
    - Position*::getWidth
    linkageType: ''
    returnType: void
    signature: void CtrlButton::draw( OSGraphics &rImage, int xDest, int yDest, int
      w, int h )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AnimBitmap*::stopAnim
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:150,1
    - Dst: AnimBitmap*::delObserver
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:151,1
    - Dst: AnimBitmap*::startAnim
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:156,1
    - Dst: AnimBitmap*::addObserver
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:157,1
    - Dst: notifyLayoutMaxSize
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:160,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - pImg
    argTypes:
    - AnimBitmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 161
    functionName: CtrlButton::setImage
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp
    functionUses: 1
    functionsReached:
    - notifyLayoutMaxSize
    - AnimBitmap*::delObserver
    - AnimBitmap*::startAnim
    - AnimBitmap*::addObserver
    - AnimBitmap*::stopAnim
    linkageType: ''
    returnType: void
    signature: void CtrlButton::setImage( AnimBitmap *pImg )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: notifyLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:167,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:167,1
    - Dst: getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rBitmap
    - arg
    argTypes:
    - Subject<AnimBitmap>
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: CtrlButton::onUpdate
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp
    functionUses: 0
    functionsReached:
    - getHeight
    - getWidth
    - notifyLayout
    linkageType: ''
    returnType: void
    signature: void CtrlButton::onUpdate( Subject<AnimBitmap> &rBitmap, void *arg
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: captureMouse
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:173,1
    - Dst: setImage
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: CtrlButton::CmdUpOverDownOver::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp
    functionUses: 0
    functionsReached:
    - captureMouse
    - setImage
    linkageType: ''
    returnType: void
    signature: void CtrlButton::CmdUpOverDownOver::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: releaseMouse
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:180,1
    - Dst: setImage
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:181,1
    - Dst: m_rCommand::execute
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: CtrlButton::CmdDownOverUpOver::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp
    functionUses: 0
    functionsReached:
    - setImage
    - releaseMouse
    - m_rCommand::execute
    linkageType: ''
    returnType: void
    signature: void CtrlButton::CmdDownOverUpOver::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setImage
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: CtrlButton::CmdDownOverDown::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp
    functionUses: 0
    functionsReached:
    - setImage
    linkageType: ''
    returnType: void
    signature: void CtrlButton::CmdDownOverDown::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setImage
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: CtrlButton::CmdDownDownOver::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp
    functionUses: 0
    functionsReached:
    - setImage
    linkageType: ''
    returnType: void
    signature: void CtrlButton::CmdDownDownOver::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setImage
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: CtrlButton::CmdUpUpOver::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp
    functionUses: 0
    functionsReached:
    - setImage
    linkageType: ''
    returnType: void
    signature: void CtrlButton::CmdUpUpOver::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setImage
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: CtrlButton::CmdUpOverUp::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp
    functionUses: 0
    functionsReached:
    - setImage
    linkageType: ''
    returnType: void
    signature: void CtrlButton::CmdUpOverUp::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: releaseMouse
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: CtrlButton::CmdDownUp::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp
    functionUses: 0
    functionsReached:
    - releaseMouse
    linkageType: ''
    returnType: void
    signature: void CtrlButton::CmdDownUp::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setImage
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 220
    functionName: CtrlButton::CmdUpHidden::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp
    functionUses: 0
    functionsReached:
    - setImage
    linkageType: ''
    returnType: void
    signature: void CtrlButton::CmdUpHidden::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setImage
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: CtrlButton::CmdHiddenUp::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp
    functionUses: 0
    functionsReached:
    - setImage
    linkageType: ''
    returnType: void
    signature: void CtrlButton::CmdHiddenUp::execute()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getActiveVar
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:232,1
    - Dst: stopAnim
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:237,1
    - Dst: startAnim
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:238,1
    - Dst: CtrlGeneric::onUpdate
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp:241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - rVariable
    - arg
    argTypes:
    - Subject<VarBool>
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 242
    functionName: CtrlButton::onUpdate
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_button.cpp
    functionUses: 0
    functionsReached:
    - CtrlGeneric::onUpdate
    - stopAnim
    - startAnim
    - getActiveVar
    linkageType: ''
    returnType: void
    signature: void CtrlButton::onUpdate( Subject<VarBool> &rVariable, void *arg  )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: CtrlCheckbox::getTooltipText
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UString
    signature: UString getTooltipText() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: CtrlCheckbox::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: addObserver
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pIntf
    - rHelp
    - pVisible
    argTypes:
    - intf_thread_t*
    - UString
    - VarBool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: CtrlGeneric::CtrlGeneric
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp
    functionUses: 0
    functionsReached:
    - addObserver
    linkageType: ''
    returnType: void
    signature: "void CtrlGeneric::CtrlGeneric( intf_thread_t *pIntf, const UString
      &rHelp,\n                          VarBool *pVisible)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: delObserver
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: CtrlGeneric::~CtrlGeneric()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp
    functionUses: 0
    functionsReached:
    - delObserver
    linkageType: ''
    returnType: void
    signature: void CtrlGeneric::~CtrlGeneric()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp:59,1
    - Dst: Position::Position
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp:62,1
    - Dst: CtrlGeneric::onPositionChange
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pLayout
    - rPosition
    argTypes:
    - GenericLayout*
    - Position
    assertStmts:
    - condition: ( !m_pLayout && pLayout)
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: CtrlGeneric::setLayout
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp
    functionUses: 2
    functionsReached:
    - CtrlGeneric::onPositionChange
    - assert
    - Position::Position
    linkageType: ''
    returnType: void
    signature: "void CtrlGeneric::setLayout( GenericLayout *pLayout,\n                             const
      Position &rPosition )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( m_pLayout )
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: CtrlGeneric::unsetLayout
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void CtrlGeneric::unsetLayout()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp:81,1
    - Dst: getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp:82,1
    - Dst: onControlUpdate
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - width
    - height
    - xOffSet
    - yOffSet
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 86
    functionName: CtrlGeneric::notifyLayout
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp
    functionUses: 0
    functionsReached:
    - onControlUpdate
    - getWidth
    - getHeight
    linkageType: ''
    returnType: void
    signature: "void CtrlGeneric::notifyLayout( int width, int height,\n                                int
      xOffSet, int yOffSet )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CtrlGeneric::notifyLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp:95,1
    - Dst: CtrlGeneric::notifyLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp:99,1
    - Dst: Box*::getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp:99,1
    - Dst: Box*::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp:99,1
    - Dst: CtrlGeneric::notifyLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp:106,1
    - Dst: Box*::getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp:106,1
    - Dst: Box*::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp:106,1
    - Dst: CtrlGeneric::notifyLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp:110,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp:110,1
    - Dst: Box*::getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp:110,1
    - Dst: Box*::getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp:110,1
    - Dst: std::max
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp:111,1
    - Dst: Box*::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp:111,1
    - Dst: Box*::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pImg1
    - pImg2
    argTypes:
    - Box*
    - Box*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 114
    functionName: CtrlGeneric::notifyLayoutMaxSize
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp
    functionUses: 0
    functionsReached:
    - std::max
    - CtrlGeneric::notifyLayout
    - Box*::getWidth
    - Box*::getHeight
    linkageType: ''
    returnType: void
    signature: void CtrlGeneric::notifyLayoutMaxSize( const Box *pImg1, const Box
      *pImg2 )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: onControlCapture
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: CtrlGeneric::captureMouse
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp
    functionUses: 0
    functionsReached:
    - onControlCapture
    linkageType: ''
    returnType: void
    signature: void CtrlGeneric::captureMouse() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: onControlRelease
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: CtrlGeneric::releaseMouse
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp
    functionUses: 0
    functionsReached:
    - onControlRelease
    linkageType: ''
    returnType: void
    signature: void CtrlGeneric::releaseMouse() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CtrlGeneric::getWindow
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp:139,1
    - Dst: TopWindow*::onTooltipChange
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: CtrlGeneric::notifyTooltipChange
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp
    functionUses: 0
    functionsReached:
    - TopWindow*::onTooltipChange
    - CtrlGeneric::getWindow
    linkageType: ''
    returnType: void
    signature: void CtrlGeneric::notifyTooltipChange() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CtrlGeneric::getWindow
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: CtrlGeneric::getWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp
    functionUses: 2
    functionsReached:
    - CtrlGeneric::getWindow
    linkageType: ''
    returnType: TopWindow
    signature: TopWindow *CtrlGeneric::getWindow() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: CtrlGeneric::isVisible
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: bool
    signature: bool CtrlGeneric::isVisible() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CtrlGeneric::notifyLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp:171,1
    - Dst: CtrlGeneric::onVarBoolUpdate
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - rVariable
    - arg
    argTypes:
    - Subject<VarBool>
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 178
    functionName: CtrlGeneric::onUpdate
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_generic.cpp
    functionUses: 1
    functionsReached:
    - CtrlGeneric::notifyLayout
    - CtrlGeneric::onVarBoolUpdate
    linkageType: ''
    returnType: void
    signature: void CtrlGeneric::onUpdate( Subject<VarBool> &rVariable, void *arg  )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: addState
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:59,1
    - Dst: addState
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:60,1
    - Dst: addState
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:61,1
    - Dst: addState
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:62,1
    - Dst: addState
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:63,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:66,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:68,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:70,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:72,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:73,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:74,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:75,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:76,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:79,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:80,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:81,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:82,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:83,1
    - Dst: addObserver
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:86,1
    - Dst: setState
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:89,1
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 14
    argNames:
    - pIntf
    - rBmpUp1
    - rBmpOver1
    - rBmpDown1
    - rBmpUp2
    - rBmpOver2
    - rBmpDown2
    - rCommand1
    - rCommand2
    - rTooltip1
    - rTooltip2
    - rVariable
    - rHelp
    - pVisible
    argTypes:
    - intf_thread_t*
    - GenericBitmap
    - GenericBitmap
    - GenericBitmap
    - GenericBitmap
    - GenericBitmap
    - GenericBitmap
    - CmdGeneric
    - CmdGeneric
    - UString
    - UString
    - VarBool
    - UString
    - VarBool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 108
    functionName: CtrlCheckbox::CtrlCheckbox
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp
    functionUses: 0
    functionsReached:
    - addTransition
    - addState
    - get
    - setState
    - addObserver
    linkageType: ''
    returnType: void
    signature: "void CtrlCheckbox::CtrlCheckbox( intf_thread_t *pIntf,\n                            const
      GenericBitmap &rBmpUp1,\n                            const GenericBitmap &rBmpOver1,\n
      \                           const GenericBitmap &rBmpDown1,\n                            const
      GenericBitmap &rBmpUp2,\n                            const GenericBitmap &rBmpOver2,\n
      \                           const GenericBitmap &rBmpDown2,\n                            CmdGeneric
      &rCommand1, CmdGeneric &rCommand2,\n                            const UString
      &rTooltip1,\n                            const UString &rTooltip2,\n                            VarBool
      &rVariable, const UString &rHelp,\n                            VarBool *pVisible
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stopAnim
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:115,1
    - Dst: delObserver
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:116,1
    - Dst: delObserver
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: CtrlCheckbox::~CtrlCheckbox()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp
    functionUses: 0
    functionsReached:
    - stopAnim
    - delObserver
    linkageType: ''
    returnType: void
    signature: void CtrlCheckbox::~CtrlCheckbox()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handleTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:124,1
    - Dst: EvtGeneric::getAsString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rEvent
    argTypes:
    - EvtGeneric
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: CtrlCheckbox::handleEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp
    functionUses: 0
    functionsReached:
    - handleTransition
    - EvtGeneric::getAsString
    linkageType: ''
    returnType: void
    signature: void CtrlCheckbox::handleEvent( EvtGeneric &rEvent )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hit
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: CtrlCheckbox::mouseOver
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp
    functionUses: 0
    functionsReached:
    - hit
    linkageType: ''
    returnType: bool
    signature: bool CtrlCheckbox::mouseOver( int x, int y ) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:146,1
    - Dst: Position*::getLeft
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:149,1
    - Dst: Position*::getTop
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:149,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:150,1
    - Dst: getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:150,1
    - Dst: rect::rect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:152,1
    - Dst: rect::intersect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:153,1
    - Dst: CtrlCheckbox::draw
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:156,1
    - Dst: Position*::getLeft
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:158,1
    - Dst: Position*::getTop
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - rImage
    - xDest
    - yDest
    - w
    - h
    argTypes:
    - OSGraphics
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 161
    functionName: CtrlCheckbox::draw
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp
    functionUses: 1
    functionsReached:
    - rect::intersect
    - getHeight
    - Position*::getLeft
    - getPosition
    - getWidth
    - rect::rect
    - CtrlCheckbox::draw
    - Position*::getTop
    linkageType: ''
    returnType: void
    signature: void CtrlCheckbox::draw( OSGraphics &rImage, int xDest, int yDest,
      int w, int h )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AnimBitmap*::stopAnim
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:177,1
    - Dst: AnimBitmap*::delObserver
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:178,1
    - Dst: AnimBitmap*::startAnim
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:183,1
    - Dst: AnimBitmap*::addObserver
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:184,1
    - Dst: notifyLayoutMaxSize
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:187,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - pImg
    argTypes:
    - AnimBitmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 188
    functionName: CtrlCheckbox::setImage
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp
    functionUses: 0
    functionsReached:
    - notifyLayoutMaxSize
    - AnimBitmap*::delObserver
    - AnimBitmap*::startAnim
    - AnimBitmap*::addObserver
    - AnimBitmap*::stopAnim
    linkageType: ''
    returnType: void
    signature: void CtrlCheckbox::setImage( AnimBitmap *pImg )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: captureMouse
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:193,1
    - Dst: setImage
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: CtrlCheckbox::CmdUpOverDownOver::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp
    functionUses: 0
    functionsReached:
    - captureMouse
    - setImage
    linkageType: ''
    returnType: void
    signature: void CtrlCheckbox::CmdUpOverDownOver::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: releaseMouse
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:200,1
    - Dst: setImage
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:201,1
    - Dst: m_pCommand::execute
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: CtrlCheckbox::CmdDownOverUpOver::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp
    functionUses: 0
    functionsReached:
    - setImage
    - m_pCommand::execute
    - releaseMouse
    linkageType: ''
    returnType: void
    signature: void CtrlCheckbox::CmdDownOverUpOver::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setImage
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: CtrlCheckbox::CmdDownOverDown::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp
    functionUses: 0
    functionsReached:
    - setImage
    linkageType: ''
    returnType: void
    signature: void CtrlCheckbox::CmdDownOverDown::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setImage
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: CtrlCheckbox::CmdDownDownOver::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp
    functionUses: 0
    functionsReached:
    - setImage
    linkageType: ''
    returnType: void
    signature: void CtrlCheckbox::CmdDownDownOver::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setImage
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: CtrlCheckbox::CmdUpUpOver::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp
    functionUses: 0
    functionsReached:
    - setImage
    linkageType: ''
    returnType: void
    signature: void CtrlCheckbox::CmdUpUpOver::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setImage
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: CtrlCheckbox::CmdUpOverUp::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp
    functionUses: 0
    functionsReached:
    - setImage
    linkageType: ''
    returnType: void
    signature: void CtrlCheckbox::CmdUpOverUp::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: releaseMouse
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: CtrlCheckbox::CmdDownUp::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp
    functionUses: 0
    functionsReached:
    - releaseMouse
    linkageType: ''
    returnType: void
    signature: void CtrlCheckbox::CmdDownUp::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setImage
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: CtrlCheckbox::CmdUpHidden::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp
    functionUses: 0
    functionsReached:
    - setImage
    linkageType: ''
    returnType: void
    signature: void CtrlCheckbox::CmdUpHidden::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setImage
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: CtrlCheckbox::CmdHiddenUp::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp
    functionUses: 0
    functionsReached:
    - setImage
    linkageType: ''
    returnType: void
    signature: void CtrlCheckbox::CmdHiddenUp::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlCheckbox::changeButton
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rVariable
    argTypes:
    - VarBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: CtrlCheckbox::onVarBoolUpdate
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp
    functionUses: 0
    functionsReached:
    - CtrlCheckbox::changeButton
    linkageType: ''
    returnType: void
    signature: void CtrlCheckbox::onVarBoolUpdate( VarBool &rVariable )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: notifyLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:259,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:259,1
    - Dst: getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rBitmap
    - arg
    argTypes:
    - Subject<AnimBitmap>
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: CtrlCheckbox::onUpdate
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp
    functionUses: 0
    functionsReached:
    - getHeight
    - getWidth
    - notifyLayout
    linkageType: ''
    returnType: void
    signature: void CtrlCheckbox::onUpdate( Subject<AnimBitmap> &rBitmap, void *arg
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CtrlCheckbox::setImage
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:283,1
    - Dst: notifyTooltipChange
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 287
    functionName: CtrlCheckbox::changeButton
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_checkbox.cpp
    functionUses: 1
    functionsReached:
    - CtrlCheckbox::setImage
    - notifyTooltipChange
    linkageType: ''
    returnType: void
    signature: void CtrlCheckbox::changeButton()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addObserver
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:53,1
    - Dst: getPositionVar
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:54,1
    - Dst: CtrlList::makeImage
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 11
    argNames:
    - pIntf
    - rList
    - rFont
    - pBitmap
    - fgColor
    - playColor
    - bgColor1
    - bgColor2
    - selColor
    - rHelp
    - pVisible
    argTypes:
    - intf_thread_t*
    - VarList
    - GenericFont
    - GenericBitmap*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - UString
    - VarBool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: CtrlList::CtrlList
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp
    functionUses: 0
    functionsReached:
    - getPositionVar
    - CtrlList::makeImage
    - addObserver
    linkageType: ''
    returnType: void
    signature: "void CtrlList::CtrlList( intf_thread_t *pIntf, VarList &rList,\n                    const
      GenericFont &rFont, const GenericBitmap *pBitmap,\n                    uint32_t
      fgColor, uint32_t playColor, uint32_t bgColor1,\n                    uint32_t
      bgColor2, uint32_t selColor,\n                    const UString &rHelp, VarBool
      *pVisible )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPositionVar
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:62,1
    - Dst: delObserver
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: CtrlList::~CtrlList()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp
    functionUses: 0
    functionsReached:
    - getPositionVar
    - delObserver
    linkageType: ''
    returnType: void
    signature: void CtrlList::~CtrlList()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlList::autoScroll
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - rList
    - arg
    argTypes:
    - Subject<VarList>
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: CtrlList::onUpdate
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp
    functionUses: 0
    functionsReached:
    - CtrlList::autoScroll
    linkageType: ''
    returnType: void
    signature: void CtrlList::onUpdate( Subject<VarList> &rList, void *arg  )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:80,1
    - Dst: Position*::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:84,1
    - Dst: getSize
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:87,1
    - Dst: getPositionVar
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:91,1
    - Dst: size
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:93,1
    - Dst: lrint
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:96,1
    - Dst: VarPercent::get
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:96,1
    - Dst: CtrlList::makeImage
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:102,1
    - Dst: notifyLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - rPercent
    - arg
    argTypes:
    - Subject<VarPercent>
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 105
    functionName: CtrlList::onUpdate
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp
    functionUses: 0
    functionsReached:
    - getPositionVar
    - VarPercent::get
    - size
    - CtrlList::makeImage
    - lrint
    - getPosition
    - Position*::getHeight
    - getSize
    - notifyLayout
    linkageType: ''
    returnType: void
    signature: void CtrlList::onUpdate( Subject<VarPercent> &rPercent, void *arg  )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:111,1
    - Dst: Position*::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:115,1
    - Dst: getSize
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:118,1
    - Dst: getPositionVar
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:122,1
    - Dst: size
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:123,1
    - Dst: VarPercent::set
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:130,1
    - Dst: CtrlList::makeImage
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 140
    functionName: CtrlList::onResize
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp
    functionUses: 0
    functionsReached:
    - getPositionVar
    - size
    - CtrlList::makeImage
    - getPosition
    - VarPercent::set
    - Position*::getHeight
    - getSize
    linkageType: ''
    returnType: void
    signature: void CtrlList::onResize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlList::makeImage
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: CtrlList::onPositionChange
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp
    functionUses: 0
    functionsReached:
    - CtrlList::makeImage
    linkageType: ''
    returnType: void
    signature: void CtrlList::onPositionChange()
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: EvtGeneric::getAsString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:151,1
    - Dst: getKey
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:153,1
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:154,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:156,1
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:163,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:176,1
    - Dst: CtrlList::makeImage
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:194,1
    - Dst: notifyLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:195,1
    - Dst: EvtGeneric::getAsString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:198,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:201,1
    - Dst: EvtMouse::getYPos
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:202,1
    - Dst: Position*::getTop
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:202,1
    - Dst: getSize
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:203,1
    - Dst: EvtGeneric::getAsString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:207,1
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:212,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:212,1
    - Dst: EvtGeneric::getAsString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:233,1
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:236,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:236,1
    - Dst: EvtGeneric::getAsString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:248,1
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:253,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:253,1
    - Dst: EvtGeneric::getAsString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:274,1
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:277,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:277,1
    - Dst: EvtGeneric::getAsString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:292,1
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:295,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:295,1
    - Dst: action
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:302,1
    - Dst: CtrlList::makeImage
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:313,1
    - Dst: notifyLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:314,1
    - Dst: EvtGeneric::getAsString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:317,1
    - Dst: getDirection
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:319,1
    - Dst: getPositionVar
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:321,1
    - Dst: size
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:322,1
    - Dst: getPositionVar
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:331,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 103
    argCount: 1
    argNames:
    - rEvent
    argTypes:
    - EvtGeneric
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 333
    functionName: CtrlList::handleEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp
    functionUses: 0
    functionsReached:
    - getPositionVar
    - begin
    - action
    - size
    - CtrlList::makeImage
    - getKey
    - getDirection
    - EvtGeneric::getAsString
    - getPosition
    - EvtMouse::getYPos
    - end
    - Position*::getTop
    - getSize
    - notifyLayout
    linkageType: ''
    returnType: void
    signature: void CtrlList::handleEvent( EvtGeneric &rEvent )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:338,1
    - Dst: Position*::getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:341,1
    - Dst: Position*::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 346
    functionName: CtrlList::mouseOver
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp
    functionUses: 0
    functionsReached:
    - Position*::getHeight
    - getPosition
    - Position*::getWidth
    linkageType: ''
    returnType: bool
    signature: bool CtrlList::mouseOver( int x, int y ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:351,1
    - Dst: Position*::getLeft
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:352,1
    - Dst: Position*::getTop
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:352,1
    - Dst: Position*::getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:353,1
    - Dst: Position*::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:353,1
    - Dst: rect::rect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:355,1
    - Dst: rect::intersect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:356,1
    - Dst: OSGraphics::drawGraphics
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:358,1
    - Dst: Position*::getLeft
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:359,1
    - Dst: Position*::getTop
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 5
    argNames:
    - rImage
    - xDest
    - yDest
    - w
    - h
    argTypes:
    - OSGraphics
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 363
    functionName: CtrlList::draw
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp
    functionUses: 0
    functionsReached:
    - rect::intersect
    - Position*::getLeft
    - getPosition
    - OSGraphics::drawGraphics
    - rect::rect
    - Position*::getHeight
    - Position*::getTop
    - Position*::getWidth
    linkageType: ''
    returnType: void
    signature: void CtrlList::draw( OSGraphics &rImage, int xDest, int yDest, int
      w, int h )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:369,1
    - Dst: Position*::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:374,1
    - Dst: getSize
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:377,1
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:383,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:383,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:391,1
    - Dst: getPositionVar
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:395,1
    - Dst: VarPercent::set
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:396,1
    - Dst: size
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:396,1
    - Dst: CtrlList::makeImage
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:401,1
    - Dst: notifyLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:402,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 404
    functionName: CtrlList::autoScroll
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp
    functionUses: 1
    functionsReached:
    - getPositionVar
    - begin
    - size
    - CtrlList::makeImage
    - getPosition
    - VarPercent::set
    - end
    - Position*::getHeight
    - getSize
    - notifyLayout
    linkageType: ''
    returnType: void
    signature: void CtrlList::autoScroll()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:412,1
    - Dst: Position*::getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:417,1
    - Dst: Position*::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:418,1
    - Dst: getSize
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:419,1
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:422,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:422,1
    - Dst: OSFactory*::createOSGraphics
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:423,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:432,1
    - Dst: drawBitmap
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:433,1
    - Dst: __MIN
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:438,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:439,1
    - Dst: fillRect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:443,1
    - Dst: __MIN
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:457,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:458,1
    - Dst: fillRect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:461,1
    - Dst: fillRect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:466,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:475,1
    - Dst: VarList::ConstIterator::m_cString::get
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:477,1
    - Dst: drawString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:481,1
    - Dst: GenericBitmap*::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:486,1
    - Dst: __MIN
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:493,1
    - Dst: GenericBitmap*::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:493,1
    - Dst: drawBitmap
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:494,1
    - Dst: GenericBitmap*::getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:494,1
    - Dst: GenericBitmap*::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp:496,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 500
    functionName: CtrlList::makeImage
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_list.cpp
    functionUses: 6
    functionsReached:
    - VarList::ConstIterator::m_cString::get
    - drawBitmap
    - fillRect
    - getSize
    - GenericBitmap*::getWidth
    - getIntf
    - getPosition
    - OSFactory*::createOSGraphics
    - __MIN
    - GenericBitmap*::getHeight
    - drawString
    - end
    - Position*::getHeight
    - Position*::getWidth
    - OSFactory::instance
    linkageType: ''
    returnType: void
    signature: void CtrlList::makeImage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: CtrlText::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_text.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: CtrlSliderCursor::isScrollable
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isScrollable() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: CtrlSliderCursor::getTooltipText
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UString
    signature: UString getTooltipText() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: CtrlSliderCursor::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: CtrlSliderBg::isScrollable
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isScrollable() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: CtrlSliderBg::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: CtrlButton::getTooltipText
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_button.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UString
    signature: UString getTooltipText() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: CtrlButton::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_button.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: CtrlList::isFocusable
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_list.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isFocusable() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: CtrlList::isScrollable
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_list.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isScrollable() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: CtrlList::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_list.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: ~CtrlMove()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_move.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CtrlMove()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlMove::getType
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_move.hpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: CtrlMove::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_move.hpp
    functionUses: 1
    functionsReached:
    - CtrlMove::getType
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VlcProc::instance
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:41,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:41,1
    - Dst: VarBool::addObserver
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:42,1
    - Dst: config_FindConfig
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:45,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 5
    argNames:
    - pIntf
    - rLayout
    - autoResize
    - rHelp
    - pVisible
    argTypes:
    - intf_thread_t*
    - GenericLayout
    - bool
    - UString
    - VarBool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 48
    functionName: CtrlVideo::CtrlVideo
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp
    functionUses: 0
    functionsReached:
    - VarBool::addObserver
    - var_InheritBool
    - config_FindConfig
    - getIntf
    - VlcProc::instance
    linkageType: ''
    returnType: void
    signature: "void CtrlVideo::CtrlVideo( intf_thread_t *pIntf, GenericLayout &rLayout,\n
      \                     bool autoResize, const UString &rHelp,\n                      VarBool
      *pVisible )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VlcProc::instance
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:53,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:53,1
    - Dst: VarBool::delObserver
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: CtrlVideo::~CtrlVideo()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp
    functionUses: 0
    functionsReached:
    - VlcProc::instance
    - getIntf
    - VarBool::delObserver
    linkageType: ''
    returnType: void
    signature: void CtrlVideo::~CtrlVideo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rEvent
    argTypes:
    - EvtGeneric
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: CtrlVideo::handleEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CtrlVideo::handleEvent( EvtGeneric &rEvent )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: CtrlVideo::mouseOver
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CtrlVideo::mouseOver( int x, int y ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:73,1
    - Dst: move
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:76,1
    - Dst: Position*::getLeft
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:76,1
    - Dst: Position*::getTop
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:76,1
    - Dst: resize
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:77,1
    - Dst: Position*::getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:77,1
    - Dst: Position*::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: CtrlVideo::onResize
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp
    functionUses: 0
    functionsReached:
    - resize
    - Position*::getLeft
    - move
    - getPosition
    - Position*::getHeight
    - Position*::getTop
    - Position*::getWidth
    linkageType: ''
    returnType: void
    signature: void CtrlVideo::onResize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:85,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:85,1
    - Dst: getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:86,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: CtrlVideo::onPositionChange
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp
    functionUses: 0
    functionsReached:
    - getWidth
    - getPosition
    - getHeight
    linkageType: ''
    returnType: void
    signature: void CtrlVideo::onPositionChange()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:92,1
    - Dst: Position*::getLeft
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:93,1
    - Dst: Position*::getTop
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:93,1
    - Dst: Position*::getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:94,1
    - Dst: Position*::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:94,1
    - Dst: rect::rect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:96,1
    - Dst: rect::intersect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:98,1
    - Dst: OSGraphics::fillRect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:101,1
    - Dst: show
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - rImage
    - xDest
    - yDest
    - w
    - h
    argTypes:
    - OSGraphics
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 108
    functionName: CtrlVideo::draw
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp
    functionUses: 0
    functionsReached:
    - rect::intersect
    - OSGraphics::fillRect
    - show
    - Position*::getLeft
    - getPosition
    - rect::rect
    - Position*::getHeight
    - Position*::getTop
    - Position*::getWidth
    linkageType: ''
    returnType: void
    signature: void CtrlVideo::draw( OSGraphics &rImage, int xDest, int yDest, int
      w, int h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlGeneric::setLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:114,1
    - Dst: getActiveVar
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:115,1
    - Dst: CtrlVideo::getWindow
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:116,1
    - Dst: VoutManager::instance
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:119,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:119,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:121,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:121,1
    - Dst: CtrlVideo::isUseable
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pLayout
    - rPosition
    argTypes:
    - GenericLayout*
    - Position
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 123
    functionName: CtrlVideo::setLayout
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp
    functionUses: 0
    functionsReached:
    - CtrlVideo::isUseable
    - CtrlVideo::getWindow
    - VoutManager::instance
    - getIntf
    - msg_Dbg
    - CtrlGeneric::setLayout
    - getActiveVar
    linkageType: ''
    returnType: void
    signature: "void CtrlVideo::setLayout( GenericLayout *pLayout,\n                           const
      Position &rPosition )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getActiveVar
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:128,1
    - Dst: CtrlVideo::getWindow
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:129,1
    - Dst: CtrlGeneric::unsetLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: CtrlVideo::unsetLayout
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp
    functionUses: 0
    functionsReached:
    - CtrlGeneric::unsetLayout
    - CtrlVideo::getWindow
    - getActiveVar
    linkageType: ''
    returnType: void
    signature: void CtrlVideo::unsetLayout()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:140,1
    - Dst: p_theme::getWindowManager
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:140,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:142,1
    - Dst: Position*::getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:144,1
    - Dst: Position*::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:144,1
    - Dst: WindowManager::startResize
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:151,1
    - Dst: WindowManager::resize
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:152,1
    - Dst: WindowManager::stopResize
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:153,1
    - Dst: resize
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:157,1
    - Dst: Position*::getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:157,1
    - Dst: Position*::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:157,1
    - Dst: move
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:158,1
    - Dst: Position*::getLeft
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:158,1
    - Dst: Position*::getTop
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - width
    - height
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 161
    functionName: CtrlVideo::resizeControl
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp
    functionUses: 0
    functionsReached:
    - resize
    - p_theme::getWindowManager
    - Position*::getLeft
    - WindowManager::startResize
    - move
    - WindowManager::resize
    - getIntf
    - getPosition
    - WindowManager::stopResize
    - Position*::getHeight
    - Position*::getTop
    - Position*::getWidth
    linkageType: ''
    returnType: void
    signature: void CtrlVideo::resizeControl( int width, int height )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VlcProc::instance
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:167,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:167,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:171,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:171,1
    - Dst: isVisible
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:172,1
    - Dst: notifyLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:173,1
    - Dst: getActiveVar
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:175,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:177,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:177,1
    - Dst: getActiveVar
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:178,1
    - Dst: CtrlVideo::getWindow
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:180,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:182,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:182,1
    - Dst: CtrlVideo::getWindow
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:183,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:187,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:187,1
    - Dst: VarBool::get
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:188,1
    - Dst: CtrlVideo::isUseable
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:191,1
    - Dst: CtrlVideo::isUsed
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:191,1
    - Dst: VoutManager::instance
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:193,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:193,1
    - Dst: CtrlVideo::isUseable
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:195,1
    - Dst: CtrlVideo::isUsed
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:195,1
    - Dst: VoutManager::instance
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:197,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:197,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - rVariable
    - arg
    argTypes:
    - Subject<VarBool>
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 199
    functionName: CtrlVideo::onUpdate
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp
    functionUses: 0
    functionsReached:
    - CtrlVideo::isUseable
    - VarBool::get
    - CtrlVideo::isUsed
    - isVisible
    - CtrlVideo::getWindow
    - getActiveVar
    - VoutManager::instance
    - getIntf
    - msg_Dbg
    - VlcProc::instance
    - notifyLayout
    linkageType: ''
    returnType: void
    signature: void CtrlVideo::onUpdate( Subject<VarBool> &rVariable, void *arg  )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VoutWindow*::getOriginalWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:203,1
    - Dst: VoutWindow*::getOriginalHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:204,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:207,1
    - Dst: p_theme::getWindowManager
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:207,1
    - Dst: CtrlVideo::getWindow
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:208,1
    - Dst: WindowManager::show
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:209,1
    - Dst: WindowManager::startResize
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:216,1
    - Dst: WindowManager::resize
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:217,1
    - Dst: WindowManager::stopResize
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:218,1
    - Dst: VoutWindow*::setCtrlVideo
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pVoutWindow
    - width
    - height
    argTypes:
    - VoutWindow*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 224
    functionName: CtrlVideo::attachVoutWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp
    functionUses: 0
    functionsReached:
    - VoutWindow*::getOriginalWidth
    - p_theme::getWindowManager
    - WindowManager::stopResize
    - CtrlVideo::getWindow
    - WindowManager::resize
    - getIntf
    - VoutWindow*::getOriginalHeight
    - WindowManager::show
    - WindowManager::startResize
    - VoutWindow*::setCtrlVideo
    linkageType: ''
    returnType: void
    signature: void CtrlVideo::attachVoutWindow( VoutWindow* pVoutWindow, int width,
      int height )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setCtrlVideo
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: CtrlVideo::detachVoutWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp
    functionUses: 3
    functionsReached:
    - setCtrlVideo
    linkageType: ''
    returnType: void
    signature: void CtrlVideo::detachVoutWindow( )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VlcProc::instance
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:236,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:236,1
    - Dst: isVisible
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:238,1
    - Dst: getActiveVar
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:239,1
    - Dst: CtrlVideo::getWindow
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:240,1
    - Dst: VarBool::get
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp:241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 242
    functionName: CtrlVideo::isUseable
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp
    functionUses: 2
    functionsReached:
    - VarBool::get
    - isVisible
    - CtrlVideo::getWindow
    - getIntf
    - VlcProc::instance
    - getActiveVar
    linkageType: ''
    returnType: bool
    signature: bool CtrlVideo::isUseable( ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: CtrlVideo::isUsed
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_video.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CtrlVideo::isUsed( ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - up
    - pct
    - step
    argTypes:
    - bool
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: scroll
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float scroll( bool up, float pct, float step )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bezier::getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:54,1
    - Dst: Bezier::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:54,1
    - Dst: GenericBitmap::getGraphics
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:60,1
    - Dst: GenericBitmap::getGraphics
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:61,1
    - Dst: GenericBitmap::getGraphics
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:62,1
    - Dst: addState
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:66,1
    - Dst: addState
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:67,1
    - Dst: addState
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:68,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:71,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:73,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:75,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:76,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:77,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:78,1
    - Dst: setState
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:81,1
    - Dst: addObserver
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 9
    argNames:
    - pIntf
    - rBmpUp
    - rBmpOver
    - rBmpDown
    - rCurve
    - rVariable
    - pVisible
    - rTooltip
    - rHelp
    argTypes:
    - intf_thread_t*
    - GenericBitmap
    - GenericBitmap
    - GenericBitmap
    - Bezier
    - VarPercent
    - VarBool*
    - UString
    - UString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 85
    functionName: CtrlSliderCursor::CtrlSliderCursor
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp
    functionUses: 0
    functionsReached:
    - addTransition
    - addState
    - setState
    - GenericBitmap::getGraphics
    - Bezier::getHeight
    - Bezier::getWidth
    - addObserver
    linkageType: ''
    returnType: void
    signature: "void CtrlSliderCursor::CtrlSliderCursor( intf_thread_t *pIntf,\n                                    const
      GenericBitmap &rBmpUp,\n                                    const GenericBitmap
      &rBmpOver,\n                                    const GenericBitmap &rBmpDown,\n
      \                                   const Bezier &rCurve,\n                                    VarPercent
      &rVariable,\n                                    VarBool *pVisible,\n                                    const
      UString &rTooltip,\n                                    const UString &rHelp
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delObserver
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: CtrlSliderCursor::~CtrlSliderCursor()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp
    functionUses: 0
    functionsReached:
    - delObserver
    linkageType: ''
    returnType: void
    signature: void CtrlSliderCursor::~CtrlSliderCursor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handleTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:99,1
    - Dst: EvtGeneric::getAsString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rEvent
    argTypes:
    - EvtGeneric
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: CtrlSliderCursor::handleEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp
    functionUses: 0
    functionsReached:
    - handleTransition
    - EvtGeneric::getAsString
    linkageType: ''
    returnType: void
    signature: void CtrlSliderCursor::handleEvent( EvtGeneric &rEvent )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPoint
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:109,1
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:109,1
    - Dst: CtrlSliderCursor::getResizeFactors
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:113,1
    - Dst: hit
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:117,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:117,1
    - Dst: getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 122
    functionName: CtrlSliderCursor::mouseOver
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp
    functionUses: 0
    functionsReached:
    - CtrlSliderCursor::getResizeFactors
    - getPoint
    - getHeight
    - get
    - hit
    - getWidth
    linkageType: ''
    returnType: bool
    signature: bool CtrlSliderCursor::mouseOver( int x, int y ) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rect::rect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:130,1
    - Dst: rect::intersect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:133,1
    - Dst: OSGraphics::drawGraphics
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - rImage
    - xDest
    - yDest
    - w
    - h
    argTypes:
    - OSGraphics
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 139
    functionName: CtrlSliderCursor::draw
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp
    functionUses: 0
    functionsReached:
    - OSGraphics::drawGraphics
    - rect::intersect
    - rect::rect
    linkageType: ''
    returnType: void
    signature: void CtrlSliderCursor::draw( OSGraphics &rImage, int xDest, int yDest,
      int w, int h )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlSliderCursor::getCurrentCursorRect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: CtrlSliderCursor::onPositionChange
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp
    functionUses: 0
    functionsReached:
    - CtrlSliderCursor::getCurrentCursorRect
    linkageType: ''
    returnType: void
    signature: void CtrlSliderCursor::onPositionChange()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlSliderCursor::onPositionChange
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: CtrlSliderCursor::onResize
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp
    functionUses: 0
    functionsReached:
    - CtrlSliderCursor::onPositionChange
    linkageType: ''
    returnType: void
    signature: void CtrlSliderCursor::onResize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CtrlGeneric::notifyLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:159,1
    - Dst: CtrlSliderCursor::onPositionChange
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:163,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:164,1
    - Dst: CtrlGeneric::notifyLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:165,1
    - Dst: Position*::getLeft
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:167,1
    - Dst: Position*::getTop
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - width
    - height
    - xOffSet
    - yOffSet
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 170
    functionName: CtrlSliderCursor::notifyLayout
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp
    functionUses: 0
    functionsReached:
    - Position*::getLeft
    - getPosition
    - CtrlGeneric::notifyLayout
    - Position*::getTop
    - CtrlSliderCursor::onPositionChange
    linkageType: ''
    returnType: void
    signature: "void CtrlSliderCursor::notifyLayout( int width, int height,\n                                     int
      xOffSet, int yOffSet )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlSliderCursor::refreshLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rVariable
    - arg
    argTypes:
    - Subject<VarPercent>
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: CtrlSliderCursor::onUpdate
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp
    functionUses: 0
    functionsReached:
    - CtrlSliderCursor::refreshLayout
    linkageType: ''
    returnType: void
    signature: void CtrlSliderCursor::onUpdate( Subject<VarPercent> &rVariable, void
      *arg  )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<EvtMouse*>
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:183,1
    - Dst: getResizeFactors
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:187,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:190,1
    - Dst: m_rCurve::getPoint
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:194,1
    - Dst: m_rVariable::get
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:194,1
    - Dst: EvtMouse*::getXPos
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:195,1
    - Dst: Position*::getLeft
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:195,1
    - Dst: EvtMouse*::getYPos
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:197,1
    - Dst: Position*::getTop
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:197,1
    - Dst: captureMouse
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:200,1
    - Dst: refreshLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 206
    functionName: CtrlSliderCursor::CmdOverDown::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp
    functionUses: 0
    functionsReached:
    - m_rVariable::get
    - Position*::getLeft
    - captureMouse
    - m_rCurve::getPoint
    - static_cast<EvtMouse*>
    - EvtMouse*::getYPos
    - refreshLayout
    - EvtMouse*::getXPos
    - getPosition
    - getResizeFactors
    - Position*::getTop
    linkageType: ''
    returnType: void
    signature: void CtrlSliderCursor::CmdOverDown::execute()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: releaseMouse
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:211,1
    - Dst: refreshLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 217
    functionName: CtrlSliderCursor::CmdDownOver::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp
    functionUses: 0
    functionsReached:
    - refreshLayout
    - releaseMouse
    linkageType: ''
    returnType: void
    signature: void CtrlSliderCursor::CmdDownOver::execute()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: refreshLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 226
    functionName: CtrlSliderCursor::CmdUpOver::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp
    functionUses: 0
    functionsReached:
    - refreshLayout
    linkageType: ''
    returnType: void
    signature: void CtrlSliderCursor::CmdUpOver::execute()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: refreshLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 235
    functionName: CtrlSliderCursor::CmdOverUp::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp
    functionUses: 0
    functionsReached:
    - refreshLayout
    linkageType: ''
    returnType: void
    signature: void CtrlSliderCursor::CmdOverUp::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<EvtMouse*>
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:240,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:243,1
    - Dst: getResizeFactors
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:247,1
    - Dst: EvtMouse*::getXPos
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:250,1
    - Dst: Position*::getLeft
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:250,1
    - Dst: EvtMouse*::getYPos
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:251,1
    - Dst: Position*::getTop
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:251,1
    - Dst: m_rCurve::getNearestPercent
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:257,1
    - Dst: m_rVariable::set
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 259
    functionName: CtrlSliderCursor::CmdMove::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp
    functionUses: 0
    functionsReached:
    - m_rCurve::getNearestPercent
    - Position*::getLeft
    - static_cast<EvtMouse*>
    - EvtMouse*::getYPos
    - m_rVariable::set
    - EvtMouse*::getXPos
    - getPosition
    - getResizeFactors
    - Position*::getTop
    linkageType: ''
    returnType: void
    signature: void CtrlSliderCursor::CmdMove::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<EvtScroll*>
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:263,1
    - Dst: m_rVariable::set
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:264,1
    - Dst: scroll
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:264,1
    - Dst: m_rVariable::get
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:265,1
    - Dst: m_rVariable::getStep
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 267
    functionName: CtrlSliderCursor::CmdScroll::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp
    functionUses: 0
    functionsReached:
    - m_rVariable::get
    - static_cast<EvtScroll*>
    - m_rVariable::set
    - scroll
    - m_rVariable::getStep
    linkageType: ''
    returnType: void
    signature: void CtrlSliderCursor::CmdScroll::execute()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:274,1
    - Dst: Position*::getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:281,1
    - Dst: Position*::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - rFactorX
    - rFactorY
    argTypes:
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 284
    functionName: CtrlSliderCursor::getResizeFactors
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp
    functionUses: 1
    functionsReached:
    - Position*::getHeight
    - getPosition
    - Position*::getWidth
    linkageType: ''
    returnType: void
    signature: "void CtrlSliderCursor::getResizeFactors( float &rFactorX,\n                                         float
      &rFactorY ) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CtrlSliderCursor::getCurrentCursorRect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:289,1
    - Dst: rect::rect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:293,1
    - Dst: rect::join
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:294,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:298,1
    - Dst: CtrlSliderCursor::notifyLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:299,1
    - Dst: Position*::getLeft
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:300,1
    - Dst: Position*::getTop
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - force
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 287
    functionDepth: 3
    functionLinenumber: 287
    functionLinenumberEnd: 303
    functionName: CtrlSliderCursor::refreshLayout
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp
    functionUses: 1
    functionsReached:
    - rect::join
    - Position*::getLeft
    - CtrlSliderCursor::notifyLayout
    - CtrlSliderCursor::getCurrentCursorRect
    - getPosition
    - rect::rect
    - Position*::getTop
    linkageType: ''
    returnType: void
    signature: void CtrlSliderCursor::refreshLayout( bool force )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:308,1
    - Dst: getPoint
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:312,1
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:312,1
    - Dst: CtrlSliderCursor::getResizeFactors
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:316,1
    - Dst: Position*::getLeft
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:320,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:320,1
    - Dst: Position*::getTop
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:321,1
    - Dst: getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:321,1
    - Dst: rect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:323,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:323,1
    - Dst: getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 306
    functionDepth: 3
    functionLinenumber: 306
    functionLinenumberEnd: 324
    functionName: CtrlSliderCursor::getCurrentCursorRect
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp
    functionUses: 2
    functionsReached:
    - rect
    - CtrlSliderCursor::getResizeFactors
    - getPoint
    - getHeight
    - get
    - Position*::getLeft
    - getPosition
    - getWidth
    - Position*::getTop
    linkageType: ''
    returnType: rect
    signature: rect CtrlSliderCursor::getCurrentCursorRect()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Bezier::getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:334,1
    - Dst: Bezier::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:334,1
    - Dst: addObserver
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:343,1
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 11
    argNames:
    - pIntf
    - rCurve
    - rVariable
    - thickness
    - pBackground
    - nbHoriz
    - nbVert
    - padHoriz
    - padVert
    - pVisible
    - rHelp
    argTypes:
    - intf_thread_t*
    - Bezier
    - VarPercent
    - int
    - GenericBitmap*
    - int
    - int
    - int
    - int
    - VarBool*
    - UString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 348
    functionName: CtrlSliderBg::CtrlSliderBg
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp
    functionUses: 0
    functionsReached:
    - get
    - Bezier::getHeight
    - Bezier::getWidth
    - addObserver
    linkageType: ''
    returnType: void
    signature: "void CtrlSliderBg::CtrlSliderBg( intf_thread_t *pIntf,\n                            const
      Bezier &rCurve, VarPercent &rVariable,\n                            int thickness,
      GenericBitmap *pBackground,\n                            int nbHoriz, int nbVert,
      int padHoriz, int padVert,\n                            VarBool *pVisible, const
      UString &rHelp )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: delObserver
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 357
    functionName: CtrlSliderBg::~CtrlSliderBg()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp
    functionUses: 0
    functionsReached:
    - delObserver
    linkageType: ''
    returnType: void
    signature: void CtrlSliderBg::~CtrlSliderBg()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CtrlSliderBg::getResizeFactors
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:364,1
    - Dst: getMinDist
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:377,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 380
    functionName: CtrlSliderBg::mouseOver
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp
    functionUses: 0
    functionsReached:
    - CtrlSliderBg::getResizeFactors
    - getMinDist
    linkageType: ''
    returnType: bool
    signature: bool CtrlSliderBg::mouseOver( int x, int y ) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CtrlSliderBg::getResizeFactors
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:390,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:397,1
    - Dst: Position*::getLeft
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:398,1
    - Dst: Position*::getTop
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:398,1
    - Dst: rect::rect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:402,1
    - Dst: rect::intersect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:403,1
    - Dst: OSGraphics::drawBitmap
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:404,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - rImage
    - xDest
    - yDest
    - w
    - h
    argTypes:
    - OSGraphics
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 409
    functionName: CtrlSliderBg::draw
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp
    functionUses: 0
    functionsReached:
    - OSGraphics::drawBitmap
    - rect::intersect
    - Position*::getLeft
    - CtrlSliderBg::getResizeFactors
    - getPosition
    - rect::rect
    - Position*::getTop
    linkageType: ''
    returnType: void
    signature: void CtrlSliderBg::draw( OSGraphics &rImage, int xDest, int yDest,
      int w, int h )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EvtGeneric::getAsString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:414,1
    - Dst: CtrlSliderBg::getResizeFactors
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:418,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:421,1
    - Dst: EvtMouse::getXPos
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:425,1
    - Dst: EvtMouse::getYPos
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:426,1
    - Dst: set
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:427,1
    - Dst: getNearestPercent
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:427,1
    - Dst: Position*::getLeft
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:428,1
    - Dst: Position*::getTop
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:429,1
    - Dst: getWindow
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:433,1
    - Dst: TopWindow*::forwardEvent
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:438,1
    - Dst: TopWindow*::forwardEvent
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:439,1
    - Dst: EvtGeneric::getAsString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:442,1
    - Dst: static_cast<EvtScroll*>
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:444,1
    - Dst: set
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:445,1
    - Dst: scroll
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:445,1
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:446,1
    - Dst: getStep
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:446,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - rEvent
    argTypes:
    - EvtGeneric
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 448
    functionName: CtrlSliderBg::handleEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp
    functionUses: 0
    functionsReached:
    - Position*::getLeft
    - Position*::getTop
    - CtrlSliderBg::getResizeFactors
    - static_cast<EvtScroll*>
    - get
    - getNearestPercent
    - getWindow
    - getStep
    - EvtGeneric::getAsString
    - getPosition
    - EvtMouse::getXPos
    - EvtMouse::getYPos
    - scroll
    - set
    - TopWindow*::forwardEvent
    linkageType: ''
    returnType: void
    signature: void CtrlSliderBg::handleEvent( EvtGeneric &rEvent )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CtrlSliderBg::setCurrentImage
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 457
    functionName: CtrlSliderBg::onPositionChange
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp
    functionUses: 0
    functionsReached:
    - CtrlSliderBg::setCurrentImage
    linkageType: ''
    returnType: void
    signature: void CtrlSliderBg::onPositionChange()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CtrlSliderBg::setCurrentImage
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 466
    functionName: CtrlSliderBg::onResize
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp
    functionUses: 0
    functionsReached:
    - CtrlSliderBg::setCurrentImage
    linkageType: ''
    returnType: void
    signature: void CtrlSliderBg::onResize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rCursor
    argTypes:
    - CtrlSliderCursor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 472
    functionName: CtrlSliderBg::associateCursor
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CtrlSliderBg::associateCursor( CtrlSliderCursor &rCursor )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CtrlGeneric::notifyLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:480,1
    - Dst: CtrlSliderBg::getResizeFactors
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:486,1
    - Dst: CtrlGeneric::notifyLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - width
    - height
    - xOffSet
    - yOffSet
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 492
    functionName: CtrlSliderBg::notifyLayout
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp
    functionUses: 0
    functionsReached:
    - CtrlSliderBg::getResizeFactors
    - CtrlGeneric::notifyLayout
    linkageType: ''
    returnType: void
    signature: "void CtrlSliderBg::notifyLayout( int width, int height,\n                                 int
      xOffSet, int yOffSet )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:498,1
    - Dst: CtrlSliderBg::notifyLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - rVariable
    - arg
    argTypes:
    - Subject<VarPercent>
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 506
    functionName: CtrlSliderBg::onUpdate
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp
    functionUses: 0
    functionsReached:
    - get
    - CtrlSliderBg::notifyLayout
    linkageType: ''
    returnType: void
    signature: void CtrlSliderBg::onUpdate( Subject<VarPercent> &rVariable, void*arg
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:512,1
    - Dst: Position*::getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:519,1
    - Dst: Position*::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - rFactorX
    - rFactorY
    argTypes:
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 509
    functionDepth: 2
    functionLinenumber: 509
    functionLinenumberEnd: 522
    functionName: CtrlSliderBg::getResizeFactors
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp
    functionUses: 4
    functionsReached:
    - Position*::getHeight
    - getPosition
    - Position*::getWidth
    linkageType: ''
    returnType: void
    signature: void CtrlSliderBg::getResizeFactors( float &rFactorX, float &rFactorY
      ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CtrlSliderBg::getResizeFactors
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:529,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:539,1
    - Dst: getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:541,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:547,1
    - Dst: getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:548,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:552,1
    - Dst: ScaledBitmap::ScaledBitmap
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp:552,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 525
    functionDepth: 3
    functionLinenumber: 525
    functionLinenumberEnd: 554
    functionName: CtrlSliderBg::setCurrentImage
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_slider.cpp
    functionUses: 2
    functionsReached:
    - ScaledBitmap::ScaledBitmap
    - getHeight
    - CtrlSliderBg::getResizeFactors
    - getIntf
    - getWidth
    linkageType: ''
    returnType: void
    signature: void CtrlSliderBg::setCurrentImage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: CtrlVideo::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_video.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlGeneric::getWindow
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_video.hpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: CtrlVideo::getWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_video.hpp
    functionUses: 5
    functionsReached:
    - CtrlGeneric::getWindow
    linkageType: ''
    returnType: TopWindow
    signature: TopWindow * getWindow() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: CtrlVideo::getVoutWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_video.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VoutWindow
    signature: VoutWindow * getVoutWindow()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addState
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp:48,1
    - Dst: addState
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp:49,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp:52,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp:54,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp:56,1
    - Dst: setState
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 6
    argNames:
    - pIntf
    - rWindowManager
    - rCtrl
    - rWindow
    - rHelp
    - pVisible
    argTypes:
    - intf_thread_t*
    - WindowManager
    - CtrlFlat
    - TopWindow
    - UString
    - VarBool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 59
    functionName: CtrlMove::CtrlMove
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp
    functionUses: 0
    functionsReached:
    - addTransition
    - setState
    - addState
    linkageType: ''
    returnType: void
    signature: "void CtrlMove::CtrlMove( intf_thread_t *pIntf, WindowManager &rWindowManager,\n
      \                   CtrlFlat &rCtrl, TopWindow &rWindow,\n                    const
      UString &rHelp, VarBool *pVisible )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlMove::mouseOver
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: CtrlMove::mouseOver
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp
    functionUses: 1
    functionsReached:
    - CtrlMove::mouseOver
    linkageType: ''
    returnType: bool
    signature: bool CtrlMove::mouseOver( int x, int y ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlMove::draw
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - rImage
    - xDest
    - yDest
    - w
    - h
    argTypes:
    - OSGraphics
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: CtrlMove::draw
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp
    functionUses: 1
    functionsReached:
    - CtrlMove::draw
    linkageType: ''
    returnType: void
    signature: void CtrlMove::draw( OSGraphics &rImage, int xDest, int yDest, int
      w, int h )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlGeneric::setLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp:76,1
    - Dst: CtrlMove::setLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pLayout
    - rPosition
    argTypes:
    - GenericLayout*
    - Position
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: CtrlMove::setLayout
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp
    functionUses: 1
    functionsReached:
    - CtrlGeneric::setLayout
    - CtrlMove::setLayout
    linkageType: ''
    returnType: void
    signature: void CtrlMove::setLayout( GenericLayout *pLayout, const Position &rPosition
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlMove::unsetLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp:84,1
    - Dst: CtrlGeneric::unsetLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: CtrlMove::unsetLayout
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp
    functionUses: 1
    functionsReached:
    - CtrlGeneric::unsetLayout
    - CtrlMove::unsetLayout
    linkageType: ''
    returnType: void
    signature: void CtrlMove::unsetLayout( )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlMove::getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: CtrlMove::getPosition
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp
    functionUses: 1
    functionsReached:
    - CtrlMove::getPosition
    linkageType: ''
    returnType: Position
    signature: Position *CtrlMove::getPosition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlMove::onResize
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: CtrlMove::onResize
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp
    functionUses: 1
    functionsReached:
    - CtrlMove::onResize
    linkageType: ''
    returnType: void
    signature: void CtrlMove::onResize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handleTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp:104,1
    - Dst: EvtGeneric::getAsString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp:104,1
    - Dst: CtrlMove::handleEvent
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rEvent
    argTypes:
    - EvtGeneric
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: CtrlMove::handleEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp
    functionUses: 1
    functionsReached:
    - handleTransition
    - EvtGeneric::getAsString
    - CtrlMove::handleEvent
    linkageType: ''
    returnType: void
    signature: void CtrlMove::handleEvent( EvtGeneric &rEvent )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EvtMouse*::getXPos
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp:115,1
    - Dst: EvtMouse*::getYPos
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp:116,1
    - Dst: captureMouse
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp:118,1
    - Dst: m_rWindowManager::startMove
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 121
    functionName: CtrlMove::CmdStillMoving::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp
    functionUses: 0
    functionsReached:
    - EvtMouse*::getYPos
    - captureMouse
    - EvtMouse*::getXPos
    - m_rWindowManager::startMove
    linkageType: ''
    returnType: void
    signature: void CtrlMove::CmdStillMoving::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EvtMotion*::getXPos
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp:128,1
    - Dst: m_rWindow::getLeft
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp:129,1
    - Dst: EvtMotion*::getYPos
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp:130,1
    - Dst: m_rWindow::getTop
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp:131,1
    - Dst: m_rWindowManager::move
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: CtrlMove::CmdMovingMoving::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp
    functionUses: 0
    functionsReached:
    - m_rWindow::getLeft
    - m_rWindowManager::move
    - m_rWindow::getTop
    - EvtMotion*::getYPos
    - EvtMotion*::getXPos
    linkageType: ''
    returnType: void
    signature: void CtrlMove::CmdMovingMoving::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: releaseMouse
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp:139,1
    - Dst: m_rWindowManager::stopMove
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: CtrlMove::CmdMovingStill::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_move.cpp
    functionUses: 0
    functionsReached:
    - releaseMouse
    - m_rWindowManager::stopMove
    linkageType: ''
    returnType: void
    signature: void CtrlMove::CmdMovingStill::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: ~CtrlResize()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_resize.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CtrlResize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlResize::getType
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_resize.hpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: CtrlResize::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_resize.hpp
    functionUses: 1
    functionsReached:
    - CtrlResize::getType
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VlcProc::instance
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:46,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:46,1
    - Dst: ArtManager::instance
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:47,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:47,1
    - Dst: VlcProc*::getStreamArtVar
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:50,1
    - Dst: VlcProc*::getStreamArtVar
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:53,1
    - Dst: ArtManager*::getArtBitmap
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:54,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:58,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:58,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:59,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:59,1
    - Dst: getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:59,1
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:64,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:64,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:65,1
    - Dst: getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:66,1
    - Dst: drawBitmap
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 7
    argNames:
    - pIntf
    - rBitmap
    - rCommand
    - resizeMethod
    - rHelp
    - pVisible
    - art
    argTypes:
    - intf_thread_t*
    - GenericBitmap
    - CmdGeneric
    - resize_t
    - UString
    - VarBool*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 68
    functionName: CtrlImage::CtrlImage
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp
    functionUses: 0
    functionsReached:
    - ArtManager::instance
    - drawBitmap
    - getHeight
    - VlcProc*::getStreamArtVar
    - std::string::c_str
    - getIntf
    - msg_Dbg
    - ArtManager*::getArtBitmap
    - getWidth
    - VlcProc::instance
    - OSFactory::instance
    linkageType: ''
    returnType: void
    signature: "void CtrlImage::CtrlImage( intf_thread_t *pIntf, GenericBitmap &rBitmap,\n
      \                     CmdGeneric &rCommand, resize_t resizeMethod,\n                      const
      UString &rHelp, VarBool *pVisible, bool art )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VlcProc::instance
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:77,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:77,1
    - Dst: VlcProc*::getStreamArtVar
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: CtrlImage::~CtrlImage()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp
    functionUses: 0
    functionsReached:
    - VlcProc::instance
    - getIntf
    - VlcProc*::getStreamArtVar
    linkageType: ''
    returnType: void
    signature: void CtrlImage::~CtrlImage()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EvtGeneric::getAsString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:86,1
    - Dst: CmdDlgShowPopupMenu
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:88,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:88,1
    - Dst: EvtGeneric::getAsString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:90,1
    - Dst: CmdDlgHidePopupMenu
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:92,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:92,1
    - Dst: CmdDlgHideVideoPopupMenu
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:93,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:93,1
    - Dst: CmdDlgHideAudioPopupMenu
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:94,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:94,1
    - Dst: CmdDlgHideMiscPopupMenu
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:95,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:95,1
    - Dst: EvtGeneric::getAsString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:97,1
    - Dst: execute
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - rEvent
    argTypes:
    - EvtGeneric
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 101
    functionName: CtrlImage::handleEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp
    functionUses: 0
    functionsReached:
    - execute
    - CmdDlgHideMiscPopupMenu
    - CmdDlgHideAudioPopupMenu
    - CmdDlgShowPopupMenu
    - getIntf
    - EvtGeneric::getAsString
    - CmdDlgHidePopupMenu
    - CmdDlgHideVideoPopupMenu
    linkageType: ''
    returnType: void
    signature: void CtrlImage::handleEvent( EvtGeneric &rEvent )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:106,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:107,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:114,1
    - Dst: getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:115,1
    - Dst: hit
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:126,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 130
    functionName: CtrlImage::mouseOver
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp
    functionUses: 0
    functionsReached:
    - getHeight
    - hit
    - getPosition
    - getWidth
    linkageType: ''
    returnType: bool
    signature: bool CtrlImage::mouseOver( int x, int y ) const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:135,1
    - Dst: Position*::getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:139,1
    - Dst: Position*::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:140,1
    - Dst: Position*::getLeft
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:144,1
    - Dst: Position*::getTop
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:144,1
    - Dst: Position*::getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:145,1
    - Dst: Position*::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:145,1
    - Dst: rect::rect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:147,1
    - Dst: rect::intersect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:148,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:154,1
    - Dst: getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:155,1
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:157,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:157,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:159,1
    - Dst: OSFactory*::createOSGraphics
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:161,1
    - Dst: drawBitmap
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:162,1
    - Dst: OSGraphics::drawGraphics
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:164,1
    - Dst: Position*::getLeft
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:165,1
    - Dst: Position*::getTop
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:166,1
    - Dst: Position*::getLeft
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:172,1
    - Dst: Position*::getTop
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:173,1
    - Dst: __MIN
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:178,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:178,1
    - Dst: Position*::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:179,1
    - Dst: __MIN
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:183,1
    - Dst: getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:183,1
    - Dst: rect::rect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:185,1
    - Dst: rect::intersect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:186,1
    - Dst: OSGraphics::drawGraphics
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:188,1
    - Dst: getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:195,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:198,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:203,1
    - Dst: getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:204,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:227,1
    - Dst: getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:228,1
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:230,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:230,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:231,1
    - Dst: OSFactory*::createOSGraphics
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:233,1
    - Dst: drawBitmap
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:234,1
    - Dst: Position*::getLeft
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:238,1
    - Dst: Position*::getTop
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:238,1
    - Dst: rect::rect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:239,1
    - Dst: rect::intersect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:240,1
    - Dst: OSGraphics::drawGraphics
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:242,1
    - Dst: Position*::getLeft
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:243,1
    - Dst: Position*::getTop
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:244,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 5
    argNames:
    - rImage
    - xDest
    - yDest
    - w
    - h
    argTypes:
    - OSGraphics
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 249
    functionName: CtrlImage::draw
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp
    functionUses: 0
    functionsReached:
    - drawBitmap
    - rect::intersect
    - getHeight
    - Position*::getLeft
    - getIntf
    - getPosition
    - getWidth
    - rect::rect
    - OSFactory*::createOSGraphics
    - OSGraphics::drawGraphics
    - __MIN
    - Position*::getHeight
    - Position*::getTop
    - Position*::getWidth
    - OSFactory::instance
    linkageType: ''
    returnType: void
    signature: void CtrlImage::draw( OSGraphics &rImage, int xDest, int yDest, int
      w, int h )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VlcProc::instance
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:255,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:255,1
    - Dst: VlcProc*::getStreamArtVar
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:257,1
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:259,1
    - Dst: ArtManager::instance
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:260,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:260,1
    - Dst: ArtManager*::getArtBitmap
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:261,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:264,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:264,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:265,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:266,1
    - Dst: getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:267,1
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:270,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:270,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:271,1
    - Dst: getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:272,1
    - Dst: drawBitmap
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:273,1
    - Dst: notifyLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - rVariable
    - arg
    argTypes:
    - Subject<VarString>
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 277
    functionName: CtrlImage::onUpdate
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_image.cpp
    functionUses: 0
    functionsReached:
    - ArtManager::instance
    - drawBitmap
    - getHeight
    - VlcProc*::getStreamArtVar
    - get
    - notifyLayout
    - std::string::c_str
    - getIntf
    - msg_Dbg
    - ArtManager*::getArtBitmap
    - getWidth
    - VlcProc::instance
    - OSFactory::instance
    linkageType: ''
    returnType: void
    signature: void CtrlImage::onUpdate( Subject<VarString> &rVariable, void* arg
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:56,1
    - Dst: addState
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:59,1
    - Dst: addState
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:60,1
    - Dst: addState
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:61,1
    - Dst: addState
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:62,1
    - Dst: addState
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:63,1
    - Dst: addState
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:64,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:67,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:68,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:71,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:73,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:75,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:79,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:81,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:83,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:85,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:87,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:88,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:89,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:90,1
    - Dst: setState
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:94,1
    - Dst: addObserver
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:97,1
    - Dst: CtrlText::setPictures
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:100,1
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 9
    argNames:
    - pIntf
    - rVariable
    - rFont
    - rHelp
    - color
    - pVisible
    - pFocus
    - scrollMode
    - alignment
    argTypes:
    - intf_thread_t*
    - VarText
    - GenericFont
    - UString
    - uint32_t
    - VarBool*
    - VarBool*
    - Scrolling_t
    - Align_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 101
    functionName: CtrlText::CtrlText
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp
    functionUses: 0
    functionsReached:
    - addTransition
    - addState
    - get
    - setState
    - CtrlText::setPictures
    - OSFactory::instance
    - addObserver
    linkageType: ''
    returnType: void
    signature: "void CtrlText::CtrlText( intf_thread_t *pIntf, VarText &rVariable,\n
      \                   const GenericFont &rFont, const UString &rHelp,\n                    uint32_t
      color, VarBool *pVisible, VarBool *pFocus,\n                    Scrolling_t
      scrollMode, Align_t alignment )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delObserver
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: CtrlText::~CtrlText()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp
    functionUses: 0
    functionsReached:
    - delObserver
    linkageType: ''
    returnType: void
    signature: void CtrlText::~CtrlText()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handleTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:118,1
    - Dst: EvtGeneric::getAsString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rEvent
    argTypes:
    - EvtGeneric
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: CtrlText::handleEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp
    functionUses: 0
    functionsReached:
    - handleTransition
    - EvtGeneric::getAsString
    linkageType: ''
    returnType: void
    signature: void CtrlText::handleEvent( EvtGeneric &rEvent )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:124,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:136,1
    - Dst: hit
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:137,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:140,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:141,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:144,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:145,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:146,1
    - Dst: getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:146,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 10
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 153
    functionName: CtrlText::mouseOver
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp
    functionUses: 0
    functionsReached:
    - getHeight
    - get
    - hit
    - getPosition
    - getWidth
    linkageType: ''
    returnType: bool
    signature: bool CtrlText::mouseOver( int x, int y ) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:159,1
    - Dst: std::min
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:163,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:163,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:164,1
    - Dst: std::min
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:165,1
    - Dst: getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:165,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:165,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:176,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:181,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:184,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:188,1
    - Dst: Position*::getLeft
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:190,1
    - Dst: Position*::getTop
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:191,1
    - Dst: rect::rect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:192,1
    - Dst: rect::intersect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:193,1
    - Dst: OSGraphics::drawBitmap
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:194,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 5
    argNames:
    - rImage
    - xDest
    - yDest
    - w
    - h
    argTypes:
    - OSGraphics
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 200
    functionName: CtrlText::draw
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp
    functionUses: 0
    functionsReached:
    - OSGraphics::drawBitmap
    - rect::intersect
    - getHeight
    - Position*::getLeft
    - std::min
    - getPosition
    - getWidth
    - rect::rect
    - Position*::getTop
    linkageType: ''
    returnType: void
    signature: void CtrlText::draw( OSGraphics &rImage, int xDest, int yDest, int
      w, int h )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rText
    - color
    argTypes:
    - UString
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 213
    functionName: CtrlText::setText
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp
    functionUses: 0
    functionsReached:
    - set
    linkageType: ''
    returnType: void
    signature: void CtrlText::setText( const UString &rText, uint32_t color )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isVisible
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:219,1
    - Dst: CtrlText::setPictures
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:221,1
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:221,1
    - Dst: CtrlText::updateContext
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:222,1
    - Dst: notifyLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:223,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:223,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - rVariable
    - arg
    argTypes:
    - Subject<VarText>
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 225
    functionName: CtrlText::onUpdate
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp
    functionUses: 0
    functionsReached:
    - get
    - isVisible
    - CtrlText::updateContext
    - getPosition
    - CtrlText::setPictures
    - notifyLayout
    linkageType: ''
    returnType: void
    signature: void CtrlText::onUpdate( Subject<VarText> &rVariable, void* arg )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isVisible
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:234,1
    - Dst: CtrlText::setPictures
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:236,1
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:236,1
    - Dst: CtrlText::updateContext
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:237,1
    - Dst: notifyLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:241,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:241,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - rVariable
    - arg
    argTypes:
    - Subject<VarBool>
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 243
    functionName: CtrlText::onUpdate
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp
    functionUses: 0
    functionsReached:
    - get
    - isVisible
    - CtrlText::updateContext
    - getPosition
    - CtrlText::setPictures
    - notifyLayout
    linkageType: ''
    returnType: void
    signature: void CtrlText::onUpdate( Subject<VarBool> &rVariable, void *arg  )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: drawString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:251,1
    - Dst: drawString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rText
    argTypes:
    - UString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 259
    functionName: CtrlText::setPictures
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp
    functionUses: 3
    functionsReached:
    - drawString
    linkageType: ''
    returnType: void
    signature: void CtrlText::setPictures( const UString &rText )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:264,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:267,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:267,1
    - Dst: stop
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:273,1
    - Dst: getState
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:283,1
    - Dst: start
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:288,1
    - Dst: stop
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:292,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:298,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:298,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:300,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:300,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:303,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:303,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:305,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:305,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 311
    functionName: CtrlText::updateContext
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp
    functionUses: 2
    functionsReached:
    - getState
    - start
    - getPosition
    - getWidth
    - stop
    linkageType: ''
    returnType: void
    signature: void CtrlText::updateContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlText::updateContext
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: CtrlText::onPositionChange
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp
    functionUses: 0
    functionsReached:
    - CtrlText::updateContext
    linkageType: ''
    returnType: void
    signature: void CtrlText::onPositionChange()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlText::updateContext
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 3
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: CtrlText::onResize
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp
    functionUses: 0
    functionsReached:
    - CtrlText::updateContext
    linkageType: ''
    returnType: void
    signature: void CtrlText::onResize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EvtMouse*::getXPos
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:331,1
    - Dst: m_pTimer::stop
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:333,1
    - Dst: captureMouse
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 335
    functionName: CtrlText::CmdToManual::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp
    functionUses: 0
    functionsReached:
    - captureMouse
    - m_pTimer::stop
    - EvtMouse*::getXPos
    linkageType: ''
    returnType: void
    signature: void CtrlText::CmdToManual::execute()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: releaseMouse
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:340,1
    - Dst: m_pTimer::start
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 350
    functionName: CtrlText::CmdManualMoving::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp
    functionUses: 0
    functionsReached:
    - releaseMouse
    - m_pTimer::start
    linkageType: ''
    returnType: void
    signature: void CtrlText::CmdManualMoving::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: releaseMouse
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: CtrlText::CmdManualStill::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp
    functionUses: 0
    functionsReached:
    - releaseMouse
    linkageType: ''
    returnType: void
    signature: void CtrlText::CmdManualStill::execute()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EvtMouse*::getXPos
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:369,1
    - Dst: adjust
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:370,1
    - Dst: notifyLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:372,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:372,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 375
    functionName: CtrlText::CmdMove::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp
    functionUses: 0
    functionsReached:
    - EvtMouse*::getXPos
    - adjust
    - getPosition
    - notifyLayout
    linkageType: ''
    returnType: void
    signature: void CtrlText::CmdMove::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: adjust
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:381,1
    - Dst: notifyLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:383,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:383,1
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 385
    functionName: CtrlText::CmdUpdateText::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp
    functionUses: 0
    functionsReached:
    - adjust
    - getPosition
    - notifyLayout
    linkageType: ''
    returnType: void
    signature: void CtrlText::CmdUpdateText::execute()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:396,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:396,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:399,1
    - Dst: getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp:399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - position
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 401
    functionName: CtrlText::adjust
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_text.cpp
    functionUses: 0
    functionsReached:
    - getWidth
    linkageType: ''
    returnType: void
    signature: void CtrlText::adjust( int &position )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericBitmap::getWidth
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:43,1
    - Dst: GenericBitmap::getHeight
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:43,1
    - Dst: GenericBitmap::getGraphics
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:44,1
    - Dst: addState
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:48,1
    - Dst: addState
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:49,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:52,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:53,1
    - Dst: addTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:54,1
    - Dst: setState
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:57,1
    - Dst: addObserver
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 8
    argNames:
    - pIntf
    - rBmpSeq
    - numImg
    - rVariable
    - minAngle
    - maxAngle
    - rHelp
    - pVisible
    argTypes:
    - intf_thread_t*
    - GenericBitmap
    - int
    - VarPercent
    - float
    - float
    - UString
    - VarBool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 35
    functionDepth: 3
    functionLinenumber: 35
    functionLinenumberEnd: 61
    functionName: CtrlRadialSlider::CtrlRadialSlider
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp
    functionUses: 0
    functionsReached:
    - addTransition
    - addState
    - GenericBitmap::getWidth
    - GenericBitmap::getHeight
    - setState
    - GenericBitmap::getGraphics
    - addObserver
    linkageType: ''
    returnType: void
    signature: "void CtrlRadialSlider::CtrlRadialSlider( intf_thread_t *pIntf,\n                                    const
      GenericBitmap &rBmpSeq, int numImg,\n                                    VarPercent
      &rVariable, float minAngle,\n                                    float maxAngle,
      const UString &rHelp,\n                                    VarBool *pVisible
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delObserver
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: CtrlRadialSlider::~CtrlRadialSlider()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp
    functionUses: 0
    functionsReached:
    - delObserver
    linkageType: ''
    returnType: void
    signature: void CtrlRadialSlider::~CtrlRadialSlider()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handleTransition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:75,1
    - Dst: EvtGeneric::getAsString
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rEvent
    argTypes:
    - EvtGeneric
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: CtrlRadialSlider::handleEvent
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp
    functionUses: 0
    functionsReached:
    - handleTransition
    - EvtGeneric::getAsString
    linkageType: ''
    returnType: void
    signature: void CtrlRadialSlider::handleEvent( EvtGeneric &rEvent )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hit
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: CtrlRadialSlider::mouseOver
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp
    functionUses: 0
    functionsReached:
    - hit
    linkageType: ''
    returnType: bool
    signature: bool CtrlRadialSlider::mouseOver( int x, int y ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:87,1
    - Dst: Position*::getLeft
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:88,1
    - Dst: Position*::getTop
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:88,1
    - Dst: rect::rect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:90,1
    - Dst: rect::intersect
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:91,1
    - Dst: OSGraphics::drawGraphics
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 5
    argNames:
    - rImage
    - xDest
    - yDest
    - w
    - h
    argTypes:
    - OSGraphics
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 97
    functionName: CtrlRadialSlider::draw
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp
    functionUses: 0
    functionsReached:
    - rect::intersect
    - Position*::getLeft
    - getPosition
    - OSGraphics::drawGraphics
    - rect::rect
    - Position*::getTop
    linkageType: ''
    returnType: void
    signature: void CtrlRadialSlider::draw( OSGraphics &rImage, int xDest, int yDest,
      int w, int h )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:105,1
    - Dst: notifyLayout
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - rVariable
    - arg
    argTypes:
    - Subject<VarPercent>
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: CtrlRadialSlider::onUpdate
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp
    functionUses: 0
    functionsReached:
    - get
    - notifyLayout
    linkageType: ''
    returnType: void
    signature: void CtrlRadialSlider::onUpdate( Subject<VarPercent> &rVariable, void
      *arg )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setCursor
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:120,1
    - Dst: EvtMouse*::getXPos
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:120,1
    - Dst: EvtMouse*::getYPos
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:120,1
    - Dst: captureMouse
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: CtrlRadialSlider::CmdUpDown::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp
    functionUses: 0
    functionsReached:
    - EvtMouse*::getYPos
    - captureMouse
    - EvtMouse*::getXPos
    - setCursor
    linkageType: ''
    returnType: void
    signature: void CtrlRadialSlider::CmdUpDown::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: releaseMouse
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: CtrlRadialSlider::CmdDownUp::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp
    functionUses: 0
    functionsReached:
    - releaseMouse
    linkageType: ''
    returnType: void
    signature: void CtrlRadialSlider::CmdDownUp::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<EvtMouse*>
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:134,1
    - Dst: setCursor
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:137,1
    - Dst: EvtMouse*::getXPos
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:137,1
    - Dst: EvtMouse*::getYPos
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: CtrlRadialSlider::CmdMove::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp
    functionUses: 0
    functionsReached:
    - static_cast<EvtMouse*>
    - EvtMouse*::getXPos
    - setCursor
    - EvtMouse*::getYPos
    linkageType: ''
    returnType: void
    signature: void CtrlRadialSlider::CmdMove::execute()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getPosition
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:144,1
    - Dst: Position*::getLeft
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:151,1
    - Dst: Position*::getTop
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:152,1
    - Dst: sqrt
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:155,1
    - Dst: acos
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:160,1
    - Dst: fabs
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:170,1
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:170,1
    - Dst: set
      Src: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp:172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - posX
    - posY
    - blocking
    argTypes:
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 175
    functionName: CtrlRadialSlider::setCursor
    functionSourceFile: /src/vlc/modules/gui/skins2/controls/ctrl_radialslider.cpp
    functionUses: 0
    functionsReached:
    - sqrt
    - Position*::getLeft
    - get
    - acos
    - set
    - getPosition
    - fabs
    - Position*::getTop
    linkageType: ''
    returnType: void
    signature: void CtrlRadialSlider::setCursor( int posX, int posY, bool blocking
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:30,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:30,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:34,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:34,1
    - Dst: vlc_player_GetPosition
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:35,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:36,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: StreamTime::havePosition
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/time.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_Lock
    - vlc_playlist_Unlock
    - vlc_player_GetPosition
    - getPL
    - vlc_playlist_GetPlayer
    linkageType: ''
    returnType: bool
    signature: bool StreamTime::havePosition() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VarPercent::set
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:44,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:49,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:49,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:50,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:50,1
    - Dst: vlc_player_SetPosition
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:51,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:52,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - percentage
    - updateVLC
    argTypes:
    - float
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: StreamTime::set
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/time.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_Lock
    - vlc_player_SetPosition
    - vlc_playlist_Unlock
    - getPL
    - vlc_playlist_GetPlayer
    - VarPercent::set
    linkageType: ''
    returnType: void
    signature: void StreamTime::set( float percentage, bool updateVLC )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:59,1
    - Dst: snprintf
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:62,1
    - Dst: std::string
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: StreamTime::getAsStringPercent
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/time.cpp
    functionUses: 0
    functionsReached:
    - get
    - std::string
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string StreamTime::getAsStringPercent() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:72,1
    - Dst: snprintf
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:78,1
    - Dst: std::string
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - seconds
    - bShortFormat
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 84
    functionName: StreamTime::formatTime
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/time.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string StreamTime::formatTime( int seconds, bool bShortFormat
      ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:89,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:89,1
    - Dst: StreamTime::havePosition
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:90,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:93,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:93,1
    - Dst: vlc_player_GetTime
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:94,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:95,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:95,1
    - Dst: StreamTime::formatTime
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:96,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bShortFormat
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionName: StreamTime::getAsStringCurrTime
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/time.cpp
    functionUses: 0
    functionsReached:
    - StreamTime::formatTime
    - vlc_playlist_Lock
    - SEC_FROM_VLC_TICK
    - vlc_playlist_Unlock
    - vlc_player_GetTime
    - getPL
    - vlc_playlist_GetPlayer
    - StreamTime::havePosition
    linkageType: ''
    returnType: std::string
    signature: std::string StreamTime::getAsStringCurrTime( bool bShortFormat ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:102,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:102,1
    - Dst: StreamTime::havePosition
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:103,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:106,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:106,1
    - Dst: vlc_player_GetTime
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:107,1
    - Dst: vlc_player_GetLength
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:108,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:109,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:109,1
    - Dst: StreamTime::formatTime
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:110,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bShortFormat
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 111
    functionName: StreamTime::getAsStringTimeLeft
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/time.cpp
    functionUses: 0
    functionsReached:
    - StreamTime::formatTime
    - vlc_playlist_Lock
    - SEC_FROM_VLC_TICK
    - vlc_playlist_Unlock
    - vlc_player_GetTime
    - vlc_player_GetLength
    - getPL
    - vlc_playlist_GetPlayer
    - StreamTime::havePosition
    linkageType: ''
    returnType: std::string
    signature: std::string StreamTime::getAsStringTimeLeft( bool bShortFormat ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:116,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:116,1
    - Dst: StreamTime::havePosition
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:117,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:120,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:120,1
    - Dst: vlc_player_GetLength
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:121,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:122,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:122,1
    - Dst: StreamTime::formatTime
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:123,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/gui/skins2/vars/time.cpp:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bShortFormat
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: StreamTime::getAsStringDuration
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/time.cpp
    functionUses: 0
    functionsReached:
    - StreamTime::formatTime
    - vlc_playlist_Lock
    - SEC_FROM_VLC_TICK
    - vlc_playlist_Unlock
    - vlc_player_GetLength
    - getPL
    - vlc_playlist_GetPlayer
    - StreamTime::havePosition
    linkageType: ''
    returnType: std::string
    signature: std::string StreamTime::getAsStringDuration( bool bShortFormat ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPositionVar
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:40,1
    - Dst: Playtree::buildTree
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: Playtree::Playtree
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/playtree.cpp
    functionUses: 0
    functionsReached:
    - getPositionVar
    - Playtree::buildTree
    linkageType: ''
    returnType: void
    signature: void Playtree::Playtree( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPositionVar
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: Playtree::~Playtree()
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/playtree.cpp
    functionUses: 0
    functionsReached:
    - getPositionVar
    linkageType: ''
    returnType: void
    signature: void Playtree::~Playtree()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:51,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:51,1
    - Dst: Iterator::isSelected
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:53,1
    - Dst: Iterator::isReadonly
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:53,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:55,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:55,1
    - Dst: vlc_playlist_IndexOfMedia
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:56,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:56,1
    - Dst: Iterator::getMedia
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:56,1
    - Dst: vlc_playlist_Remove
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:58,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:58,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:59,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:59,1
    - Dst: Iterator::getNextSiblingOrUncle
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:61,1
    - Dst: getNextItem
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 68
    functionName: Playtree::delSelected
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/playtree.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_Remove
    - Iterator::isReadonly
    - vlc_playlist_Lock
    - Iterator::getNextSiblingOrUncle
    - begin
    - vlc_playlist_Unlock
    - getNextItem
    - Iterator::isSelected
    - getPL
    - Iterator::getMedia
    - end
    - vlc_playlist_IndexOfMedia
    linkageType: ''
    returnType: void
    signature: void Playtree::delSelected()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VarTree*::getMedia
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:72,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:74,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:74,1
    - Dst: vlc_playlist_IndexOfMedia
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:75,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:75,1
    - Dst: VarTree*::getMedia
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:75,1
    - Dst: vlc_playlist_PlayAt
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:77,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:77,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:78,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pElem
    argTypes:
    - VarTree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: Playtree::action
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/playtree.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_Lock
    - vlc_playlist_PlayAt
    - vlc_playlist_Unlock
    - getPL
    - VarTree*::getMedia
    - vlc_playlist_IndexOfMedia
    linkageType: ''
    returnType: void
    signature: void Playtree::action( VarTree *pElem )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Playtree::buildTree
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:83,1
    - Dst: notify
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: Playtree::onChange
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/playtree.cpp
    functionUses: 0
    functionsReached:
    - Playtree::buildTree
    - notify
    linkageType: ''
    returnType: void
    signature: void Playtree::onChange()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Playtree::getPlaylistIt
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:90,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:91,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:93,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:93,1
    - Dst: vlc_playlist_Get
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:94,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:94,1
    - Dst: vlc_playlist_item_GetMedia
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:95,1
    - Dst: Iterator::getMedia
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:96,1
    - Dst: Iterator::setMedia
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:97,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:98,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:98,1
    - Dst: Iterator::isPlaying
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:103,1
    - Dst: Iterator::setPlaying
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:105,1
    - Dst: Playtree::getTitle
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:109,1
    - Dst: Iterator::getString
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:110,1
    - Dst: Iterator::setString
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:112,1
    - Dst: UStringPtr
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:112,1
    - Dst: notify
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - pos
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 127
    functionName: Playtree::onUpdateItem
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/playtree.cpp
    functionUses: 0
    functionsReached:
    - Iterator::isPlaying
    - Iterator::setString
    - vlc_playlist_item_GetMedia
    - Iterator::getString
    - vlc_playlist_Lock
    - notify
    - Iterator::setPlaying
    - vlc_playlist_Unlock
    - Playtree::getTitle
    - UStringPtr
    - vlc_playlist_Get
    - getPL
    - Iterator::getMedia
    - Playtree::getPlaylistIt
    - Iterator::setMedia
    - end
    linkageType: ''
    returnType: void
    signature: void Playtree::onUpdateItem( int pos )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Playtree::getPlaylistIt
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:134,1
    - Dst: Iterator::setPlaying
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:135,1
    - Dst: notify
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:139,1
    - Dst: Playtree::getPlaylistIt
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:145,1
    - Dst: Iterator::setPlaying
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:146,1
    - Dst: notify
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pos
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 152
    functionName: Playtree::onUpdatePlaying
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/playtree.cpp
    functionUses: 0
    functionsReached:
    - Iterator::setPlaying
    - Playtree::getPlaylistIt
    - notify
    linkageType: ''
    returnType: void
    signature: void Playtree::onUpdatePlaying( int pos )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Playtree::getPlaylistIt
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:156,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:157,1
    - Dst: Iterator::parent
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:159,1
    - Dst: notify
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:164,1
    - Dst: VarTree*::removeChild
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:166,1
    - Dst: notify
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pos
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 173
    functionName: Playtree::onDelete
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/playtree.cpp
    functionUses: 0
    functionsReached:
    - Iterator::parent
    - notify
    - Playtree::getPlaylistIt
    - end
    - VarTree*::removeChild
    linkageType: ''
    returnType: void
    signature: void Playtree::onDelete( int pos )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:177,1
    - Dst: Iterator::setExpanded
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:178,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:180,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:180,1
    - Dst: vlc_playlist_Get
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:181,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:181,1
    - Dst: vlc_playlist_item_GetMedia
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:182,1
    - Dst: vlc_playlist_GetCurrentIndex
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:183,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:183,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:184,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:184,1
    - Dst: Playtree::getTitle
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:186,1
    - Dst: Iterator::add
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:187,1
    - Dst: UStringPtr
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:187,1
    - Dst: notify
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pos
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 193
    functionName: Playtree::onAppend
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/playtree.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_item_GetMedia
    - vlc_playlist_Lock
    - notify
    - Iterator::add
    - begin
    - vlc_playlist_Unlock
    - Playtree::getTitle
    - UStringPtr
    - vlc_playlist_GetCurrentIndex
    - vlc_playlist_Get
    - getPL
    - Iterator::setExpanded
    linkageType: ''
    returnType: void
    signature: void Playtree::onAppend( int pos )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Get
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:197,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:197,1
    - Dst: vlc_playlist_item_GetMedia
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:198,1
    - Dst: Playtree::getTitle
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:199,1
    - Dst: vlc_playlist_GetCurrentIndex
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:200,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:200,1
    - Dst: VarTree::add
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:201,1
    - Dst: UStringPtr
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pos
    - rTree
    argTypes:
    - int
    - VarTree
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 203
    functionName: Playtree::buildNode
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/playtree.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_item_GetMedia
    - Playtree::getTitle
    - UStringPtr
    - vlc_playlist_GetCurrentIndex
    - vlc_playlist_Get
    - getPL
    - VarTree::add
    linkageType: ''
    returnType: void
    signature: void Playtree::buildNode( int pos, VarTree &rTree )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:207,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:210,1
    - Dst: _
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:210,1
    - Dst: UString::UString
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:210,1
    - Dst: add
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:211,1
    - Dst: UStringPtr
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:211,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:214,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:214,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:215,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:215,1
    - Dst: Iterator::setExpanded
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:219,1
    - Dst: Playtree::buildNode
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:220,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:222,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 223
    functionName: Playtree::buildTree
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/playtree.cpp
    functionUses: 2
    functionsReached:
    - vlc_playlist_Lock
    - vlc_playlist_Count
    - add
    - clear
    - UString::UString
    - _
    - UStringPtr
    - Playtree::buildNode
    - vlc_playlist_Unlock
    - getPL
    - getIntf
    - Iterator::setExpanded
    linkageType: ''
    returnType: void
    signature: void Playtree::buildTree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: notify
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: Playtree::onUpdateSlider
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/playtree.cpp
    functionUses: 0
    functionsReached:
    - notify
    linkageType: ''
    returnType: void
    signature: void Playtree::onUpdateSlider()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Playtree::getPlaylistIt
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:239,1
    - Dst: Playtree::getPlaylistIt
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:241,1
    - Dst: VarTree*::setExpanded
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:245,1
    - Dst: VarTree*::size
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:248,1
    - Dst: VarTree*::isExpanded
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:248,1
    - Dst: VarTree*::parent
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:255,1
    - Dst: VarTree*::parent
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:255,1
    - Dst: VarTree*::getIndex
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:256,1
    - Dst: assert
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:260,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:262,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:262,1
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:263,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:264,1
    - Dst: strstr
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:268,1
    - Dst: std::list<std::string>::const_iterator::c_str
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:268,1
    - Dst: input_item_New
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:269,1
    - Dst: std::list<std::string>::const_iterator::c_str
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:269,1
    - Dst: vlc_path2uri
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:272,1
    - Dst: std::list<std::string>::const_iterator::c_str
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:272,1
    - Dst: input_item_New
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:275,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:276,1
    - Dst: vlc_playlist_Insert
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:282,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:282,1
    - Dst: vlc_playlist_PlayAt
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:286,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:286,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:289,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:289,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - ' elem'
    - ' files'
    - start
    argTypes:
    - VarTree
    - std::list<std::string>
    - bool
    assertStmts:
    - condition: ( pNode != NULL )
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/vlc/modules/gui/skins2/vars/playtree.cpp
    constantsTouched: []
    func_position:
      end: 291
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 291
    functionName: Playtree::insertItems
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/playtree.cpp
    functionUses: 0
    functionsReached:
    - assert
    - vlc_playlist_Unlock
    - getPL
    - vlc_playlist_Insert
    - input_item_New
    - std::list<std::string>::const_iterator::c_str
    - begin
    - VarTree*::size
    - strstr
    - vlc_playlist_Lock
    - vlc_playlist_PlayAt
    - VarTree*::parent
    - Playtree::getPlaylistIt
    - VarTree*::setExpanded
    - end
    - VarTree*::getIndex
    - VarTree*::isExpanded
    - free
    - vlc_path2uri
    linkageType: ''
    returnType: void
    signature: void Playtree::insertItems( VarTree& elem, const std::list<std::string>&
      files, bool start )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: input_item_GetTitleFbName
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:295,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:296,1
    - Dst: UString::UString
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:296,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pItem
    argTypes:
    - input_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 299
    functionName: Playtree::getTitle
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/playtree.cpp
    functionUses: 3
    functionsReached:
    - free
    - input_item_GetTitleFbName
    - getIntf
    - UString::UString
    linkageType: ''
    returnType: UString
    signature: UString * Playtree::getTitle( input_item_t *pItem )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:304,1
    - Dst: getNextItem
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:309,1
    - Dst: getNextItem
      Src: /src/vlc/modules/gui/skins2/vars/playtree.cpp:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pos
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 313
    functionName: Playtree::getPlaylistIt
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/playtree.cpp
    functionUses: 4
    functionsReached:
    - begin
    - getNextItem
    linkageType: ''
    returnType: VarTree::Iterator
    signature: VarTree::Iterator Playtree::getPlaylistIt( int pos )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarPercent::VarPercent
      Src: /src/vlc/modules/gui/skins2/vars/equalizer.cpp:42,1
    - Dst: VariablePtr
      Src: /src/vlc/modules/gui/skins2/vars/equalizer.cpp:43,1
    - Dst: VarPercent*::set
      Src: /src/vlc/modules/gui/skins2/vars/equalizer.cpp:44,1
    - Dst: VarPercent*::addObserver
      Src: /src/vlc/modules/gui/skins2/vars/equalizer.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: EqualizerBands::EqualizerBands
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/equalizer.cpp
    functionUses: 0
    functionsReached:
    - VarPercent::VarPercent
    - VarPercent*::set
    - VariablePtr
    - VarPercent*::addObserver
    linkageType: ''
    returnType: void
    signature: void EqualizerBands::EqualizerBands( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/vars/equalizer.cpp:54,1
    - Dst: delObserver
      Src: /src/vlc/modules/gui/skins2/vars/equalizer.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: EqualizerBands::~EqualizerBands()
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/equalizer.cpp
    functionUses: 0
    functionsReached:
    - get
    - delObserver
    linkageType: ''
    returnType: void
    signature: void EqualizerBands::~EqualizerBands()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/vars/equalizer.cpp:70,1
    - Dst: EqualizerBands::set
      Src: /src/vlc/modules/gui/skins2/vars/equalizer.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - bands
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 73
    functionName: EqualizerBands::set
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/equalizer.cpp
    functionUses: 1
    functionsReached:
    - get
    - EqualizerBands::set
    linkageType: ''
    returnType: void
    signature: void EqualizerBands::set( std::string bands )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - band
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: EqualizerBands::getBand
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/equalizer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VariablePtr
    signature: VariablePtr EqualizerBands::getBand( int band )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/skins2/vars/equalizer.cpp:85,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/equalizer.cpp:85,1
    - Dst: vlc_player_aout_Hold
      Src: /src/vlc/modules/gui/skins2/vars/equalizer.cpp:86,1
    - Dst: std::setprecision
      Src: /src/vlc/modules/gui/skins2/vars/equalizer.cpp:94,1
    - Dst: std::setiosflags
      Src: /src/vlc/modules/gui/skins2/vars/equalizer.cpp:94,1
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/vars/equalizer.cpp:97,1
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/vars/equalizer.cpp:97,1
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/vars/equalizer.cpp:101,1
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/vars/equalizer.cpp:101,1
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/gui/skins2/vars/equalizer.cpp:105,1
    - Dst: config_PutPsz
      Src: /src/vlc/modules/gui/skins2/vars/equalizer.cpp:107,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/vars/equalizer.cpp:107,1
    - Dst: var_SetString
      Src: /src/vlc/modules/gui/skins2/vars/equalizer.cpp:111,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/vars/equalizer.cpp:111,1
    - Dst: aout_Release
      Src: /src/vlc/modules/gui/skins2/vars/equalizer.cpp:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - rBand
    - arg
    argTypes:
    - Subject<VarPercent>
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 117
    functionName: EqualizerBands::onUpdate
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/equalizer.cpp
    functionUses: 0
    functionsReached:
    - get
    - std::setiosflags
    - std::stringstream::str
    - var_SetString
    - getPL
    - std::string::c_str
    - vlc_playlist_GetPlayer
    - std::setprecision
    - config_PutPsz
    - vlc_player_aout_Hold
    - aout_Release
    linkageType: ''
    returnType: void
    signature: void EqualizerBands::onUpdate( Subject<VarPercent> &rBand, void *arg
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarPercent::set
      Src: /src/vlc/modules/gui/skins2/vars/equalizer.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: EqualizerPreamp::EqualizerPreamp
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/equalizer.cpp
    functionUses: 0
    functionsReached:
    - VarPercent::set
    linkageType: ''
    returnType: void
    signature: void EqualizerPreamp::EqualizerPreamp( intf_thread_t *pIntf )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/skins2/vars/equalizer.cpp:129,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/equalizer.cpp:129,1
    - Dst: vlc_player_aout_Hold
      Src: /src/vlc/modules/gui/skins2/vars/equalizer.cpp:130,1
    - Dst: VarPercent::set
      Src: /src/vlc/modules/gui/skins2/vars/equalizer.cpp:132,1
    - Dst: config_PutFloat
      Src: /src/vlc/modules/gui/skins2/vars/equalizer.cpp:139,1
    - Dst: var_SetFloat
      Src: /src/vlc/modules/gui/skins2/vars/equalizer.cpp:143,1
    - Dst: aout_Release
      Src: /src/vlc/modules/gui/skins2/vars/equalizer.cpp:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - percentage
    - updateVLC
    argTypes:
    - float
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 149
    functionName: EqualizerPreamp::set
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/equalizer.cpp
    functionUses: 0
    functionsReached:
    - var_SetFloat
    - getPL
    - vlc_playlist_GetPlayer
    - VarPercent::set
    - config_PutFloat
    - vlc_player_aout_Hold
    - aout_Release
    linkageType: ''
    returnType: void
    signature: void EqualizerPreamp::set( float percentage, bool updateVLC )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~Volume()
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/volume.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Volume()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Volume::set
      Src: /src/vlc/modules/gui/skins2/vars/volume.hpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - percentage
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Volume::set
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/volume.hpp
    functionUses: 1
    functionsReached:
    - Volume::set
    linkageType: ''
    returnType: void
    signature: void set( float percentage )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: Volume::getStep
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/volume.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float getStep() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config_GetFloat
      Src: /src/vlc/modules/gui/skins2/vars/volume.cpp:40,1
    - Dst: Volume::setVolume
      Src: /src/vlc/modules/gui/skins2/vars/volume.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: Volume::Volume
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/volume.cpp
    functionUses: 0
    functionsReached:
    - Volume::setVolume
    - config_GetFloat
    linkageType: ''
    returnType: void
    signature: void Volume::Volume( intf_thread_t *pIntf )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VarPercent::set
      Src: /src/vlc/modules/gui/skins2/vars/volume.cpp:49,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/skins2/vars/volume.cpp:52,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/vars/volume.cpp:52,1
    - Dst: vlc_player_aout_SetVolume
      Src: /src/vlc/modules/gui/skins2/vars/volume.cpp:53,1
    - Dst: Volume::getVolume
      Src: /src/vlc/modules/gui/skins2/vars/volume.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - percentage
    - updateVLC
    argTypes:
    - float
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: Volume::set
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/volume.cpp
    functionUses: 1
    functionsReached:
    - vlc_player_aout_SetVolume
    - getPL
    - vlc_playlist_GetPlayer
    - VarPercent::set
    - Volume::getVolume
    linkageType: ''
    returnType: void
    signature: void Volume::set( float percentage, bool updateVLC )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Volume::set
      Src: /src/vlc/modules/gui/skins2/vars/volume.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - volume
    - updateVLC
    argTypes:
    - float
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: Volume::setVolume
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/volume.cpp
    functionUses: 1
    functionsReached:
    - Volume::set
    linkageType: ''
    returnType: void
    signature: void Volume::setVolume( float volume, bool updateVLC )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/vars/volume.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: Volume::getVolume
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/volume.cpp
    functionUses: 1
    functionsReached:
    - get
    linkageType: ''
    returnType: float
    signature: float Volume::getVolume() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lround
      Src: /src/vlc/modules/gui/skins2/vars/volume.cpp:77,1
    - Dst: Volume::getVolume
      Src: /src/vlc/modules/gui/skins2/vars/volume.cpp:77,1
    - Dst: snprintf
      Src: /src/vlc/modules/gui/skins2/vars/volume.cpp:80,1
    - Dst: std::string
      Src: /src/vlc/modules/gui/skins2/vars/volume.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: Volume::getAsStringPercent
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/volume.cpp
    functionUses: 0
    functionsReached:
    - lround
    - std::string
    - snprintf
    - Volume::getVolume
    linkageType: ''
    returnType: std::string
    signature: std::string Volume::getAsStringPercent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: StreamTime::StreamTime
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamTime( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ~StreamTime()
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/time.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StreamTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StreamTime::set
      Src: /src/vlc/modules/gui/skins2/vars/time.hpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - percentage
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: StreamTime::set
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/time.hpp
    functionUses: 1
    functionsReached:
    - StreamTime::set
    linkageType: ''
    returnType: void
    signature: void set( float percentage )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: ~EqualizerPreamp()
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/equalizer.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EqualizerPreamp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EqualizerPreamp::set
      Src: /src/vlc/modules/gui/skins2/vars/equalizer.hpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - percentage
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: EqualizerPreamp::set
    functionSourceFile: /src/vlc/modules/gui/skins2/vars/equalizer.hpp
    functionUses: 1
    functionsReached:
    - EqualizerPreamp::set
    linkageType: ''
    returnType: void
    signature: void set( float percentage )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '&getType() const'
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_bool.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: VarBool::VarBool
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_bool.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VarBool( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: ~VarBool()
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_bool.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VarBool()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: VarBoolTrue::VarBoolTrue
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_bool.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VarBoolTrue( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: ~VarBoolTrue()
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_bool.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VarBoolTrue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: VarBoolTrue::get
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_bool.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: VarBoolFalse::VarBoolFalse
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_bool.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VarBoolFalse( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: ~VarBoolFalse()
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_bool.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VarBoolFalse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: VarBoolFalse::get
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_bool.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: ~VarBoolImpl()
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_bool.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VarBoolImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: VarBoolImpl::get
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_bool.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: VarBoolAndBool::get
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_bool.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: VarBoolOrBool::get
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_bool.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarNotBool::get
      Src: /src/vlc/modules/gui/skins2/utils/var_bool.hpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: VarNotBool::get
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_bool.hpp
    functionUses: 1
    functionsReached:
    - VarNotBool::get
    linkageType: ''
    returnType: bool
    signature: bool get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '&getType() const'
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_text.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: VarBoolImpl::VarBoolImpl
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_bool.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VarBoolImpl::VarBoolImpl( intf_thread_t *pIntf )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: notify
      Src: /src/vlc/modules/gui/skins2/utils/var_bool.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: VarBoolImpl::set
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_bool.cpp
    functionUses: 0
    functionsReached:
    - notify
    linkageType: ''
    returnType: void
    signature: void VarBoolImpl::set( bool value )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarBool::get
      Src: /src/vlc/modules/gui/skins2/utils/var_bool.cpp:49,1
    - Dst: VarBool::get
      Src: /src/vlc/modules/gui/skins2/utils/var_bool.cpp:49,1
    - Dst: addObserver
      Src: /src/vlc/modules/gui/skins2/utils/var_bool.cpp:51,1
    - Dst: addObserver
      Src: /src/vlc/modules/gui/skins2/utils/var_bool.cpp:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - pIntf
    - rVar1
    - rVar2
    argTypes:
    - intf_thread_t*
    - VarBool
    - VarBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: VarBoolAndBool::VarBoolAndBool
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_bool.cpp
    functionUses: 0
    functionsReached:
    - VarBool::get
    - addObserver
    linkageType: ''
    returnType: void
    signature: "void VarBoolAndBool::VarBoolAndBool( intf_thread_t *pIntf, VarBool
      &rVar1,\n                                VarBool &rVar2 )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delObserver
      Src: /src/vlc/modules/gui/skins2/utils/var_bool.cpp:58,1
    - Dst: delObserver
      Src: /src/vlc/modules/gui/skins2/utils/var_bool.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: VarBoolAndBool::~VarBoolAndBool()
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_bool.cpp
    functionUses: 0
    functionsReached:
    - delObserver
    linkageType: ''
    returnType: void
    signature: void VarBoolAndBool::~VarBoolAndBool()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VarBoolAndBool::get
      Src: /src/vlc/modules/gui/skins2/utils/var_bool.cpp:66,1
    - Dst: VarBoolAndBool::get
      Src: /src/vlc/modules/gui/skins2/utils/var_bool.cpp:66,1
    - Dst: VarBoolAndBool::get
      Src: /src/vlc/modules/gui/skins2/utils/var_bool.cpp:68,1
    - Dst: VarBoolAndBool::get
      Src: /src/vlc/modules/gui/skins2/utils/var_bool.cpp:68,1
    - Dst: notify
      Src: /src/vlc/modules/gui/skins2/utils/var_bool.cpp:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - rVariable
    - arg
    argTypes:
    - Subject<VarBool>
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: VarBoolAndBool::onUpdate
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_bool.cpp
    functionUses: 0
    functionsReached:
    - VarBoolAndBool::get
    - notify
    linkageType: ''
    returnType: void
    signature: void VarBoolAndBool::onUpdate( Subject<VarBool> &rVariable, void *arg
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarBool::get
      Src: /src/vlc/modules/gui/skins2/utils/var_bool.cpp:77,1
    - Dst: VarBool::get
      Src: /src/vlc/modules/gui/skins2/utils/var_bool.cpp:77,1
    - Dst: addObserver
      Src: /src/vlc/modules/gui/skins2/utils/var_bool.cpp:79,1
    - Dst: addObserver
      Src: /src/vlc/modules/gui/skins2/utils/var_bool.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - pIntf
    - rVar1
    - rVar2
    argTypes:
    - intf_thread_t*
    - VarBool
    - VarBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: VarBoolOrBool::VarBoolOrBool
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_bool.cpp
    functionUses: 0
    functionsReached:
    - VarBool::get
    - addObserver
    linkageType: ''
    returnType: void
    signature: "void VarBoolOrBool::VarBoolOrBool( intf_thread_t *pIntf, VarBool &rVar1,\n
      \                             VarBool &rVar2 )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delObserver
      Src: /src/vlc/modules/gui/skins2/utils/var_bool.cpp:86,1
    - Dst: delObserver
      Src: /src/vlc/modules/gui/skins2/utils/var_bool.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: VarBoolOrBool::~VarBoolOrBool()
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_bool.cpp
    functionUses: 0
    functionsReached:
    - delObserver
    linkageType: ''
    returnType: void
    signature: void VarBoolOrBool::~VarBoolOrBool()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VarBoolOrBool::get
      Src: /src/vlc/modules/gui/skins2/utils/var_bool.cpp:94,1
    - Dst: VarBoolOrBool::get
      Src: /src/vlc/modules/gui/skins2/utils/var_bool.cpp:94,1
    - Dst: VarBoolOrBool::get
      Src: /src/vlc/modules/gui/skins2/utils/var_bool.cpp:96,1
    - Dst: VarBoolOrBool::get
      Src: /src/vlc/modules/gui/skins2/utils/var_bool.cpp:96,1
    - Dst: notify
      Src: /src/vlc/modules/gui/skins2/utils/var_bool.cpp:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - rVariable
    - arg
    argTypes:
    - Subject<VarBool>
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: VarBoolOrBool::onUpdate
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_bool.cpp
    functionUses: 0
    functionsReached:
    - VarBoolOrBool::get
    - notify
    linkageType: ''
    returnType: void
    signature: void VarBoolOrBool::onUpdate( Subject<VarBool> &rVariable, void *arg
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addObserver
      Src: /src/vlc/modules/gui/skins2/utils/var_bool.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pIntf
    - rVar
    argTypes:
    - intf_thread_t*
    - VarBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: VarNotBool::VarNotBool
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_bool.cpp
    functionUses: 0
    functionsReached:
    - addObserver
    linkageType: ''
    returnType: void
    signature: void VarNotBool::VarNotBool( intf_thread_t *pIntf, VarBool &rVar )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delObserver
      Src: /src/vlc/modules/gui/skins2/utils/var_bool.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: VarNotBool::~VarNotBool()
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_bool.cpp
    functionUses: 0
    functionsReached:
    - delObserver
    linkageType: ''
    returnType: void
    signature: void VarNotBool::~VarNotBool()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: notify
      Src: /src/vlc/modules/gui/skins2/utils/var_bool.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rVariable
    - arg
    argTypes:
    - Subject<VarBool>
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: VarNotBool::onUpdate
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_bool.cpp
    functionUses: 0
    functionsReached:
    - notify
    linkageType: ''
    returnType: void
    signature: void VarNotBool::onUpdate( Subject<VarBool> &rVariable, void *arg )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: VarString::VarString
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_string.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VarString( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~VarString()
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_string.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VarString()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '&getType() const'
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_string.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: VarString::get
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_string.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: notify
      Src: /src/vlc/modules/gui/skins2/utils/var_percent.cpp:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - percentage
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 47
    functionName: VarPercent::set
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_percent.cpp
    functionUses: 7
    functionsReached:
    - notify
    linkageType: ''
    returnType: void
    signature: void VarPercent::set( float percentage )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '&getType() const'
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_list.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarList::size
      Src: /src/vlc/modules/gui/skins2/utils/var_list.hpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: VarList::size
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_list.hpp
    functionUses: 1
    functionsReached:
    - VarList::size
    linkageType: ''
    returnType: int
    signature: int size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - rcString
    argTypes:
    - UStringPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: VarList::Elem_t
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_list.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Elem_t( const UStringPtr &rcString,\n                bool selected
      = false, bool playing = false )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarList::begin
      Src: /src/vlc/modules/gui/skins2/utils/var_list.hpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: VarList::begin
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_list.hpp
    functionUses: 1
    functionsReached:
    - VarList::begin
    linkageType: ''
    returnType: Iterator
    signature: Iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarList::begin
      Src: /src/vlc/modules/gui/skins2/utils/var_list.hpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: VarList::begin
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_list.hpp
    functionUses: 2
    functionsReached:
    - VarList::begin
    linkageType: ''
    returnType: ConstIterator
    signature: ConstIterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarList::end
      Src: /src/vlc/modules/gui/skins2/utils/var_list.hpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: VarList::end
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_list.hpp
    functionUses: 1
    functionsReached:
    - VarList::end
    linkageType: ''
    returnType: Iterator
    signature: Iterator end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarList::end
      Src: /src/vlc/modules/gui/skins2/utils/var_list.hpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: VarList::end
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_list.hpp
    functionUses: 2
    functionsReached:
    - VarList::end
    linkageType: ''
    returnType: ConstIterator
    signature: ConstIterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pItem
    argTypes:
    - Elem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: VarList::action
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_list.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void action( Elem_t *pItem )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/utils/var_list.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: '&getPositionVar() const'
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_list.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: VarPercent
    signature: VarPercent &getPositionVar() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: '&getPositionVarPtr() const'
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_list.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VariablePtr
    signature: VariablePtr &getPositionVarPtr() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: notify
      Src: /src/vlc/modules/gui/skins2/utils/var_string.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: VarString::set
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_string.cpp
    functionUses: 0
    functionsReached:
    - notify
    linkageType: ''
    returnType: void
    signature: void VarString::set( const std::string &str )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/vlc/modules/gui/skins2/utils/bezier.cpp:37,1
    - Dst: std::vector<float>::begin
      Src: /src/vlc/modules/gui/skins2/utils/bezier.cpp:37,1
    - Dst: std::vector<float>::end
      Src: /src/vlc/modules/gui/skins2/utils/bezier.cpp:37,1
    - Dst: assign
      Src: /src/vlc/modules/gui/skins2/utils/bezier.cpp:38,1
    - Dst: std::vector<float>::begin
      Src: /src/vlc/modules/gui/skins2/utils/bezier.cpp:38,1
    - Dst: std::vector<float>::end
      Src: /src/vlc/modules/gui/skins2/utils/bezier.cpp:38,1
    - Dst: size
      Src: /src/vlc/modules/gui/skins2/utils/bezier.cpp:41,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/utils/bezier.cpp:44,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/utils/bezier.cpp:47,1
    - Dst: Bezier::computePoint
      Src: /src/vlc/modules/gui/skins2/utils/bezier.cpp:52,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/utils/bezier.cpp:53,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/utils/bezier.cpp:54,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/utils/bezier.cpp:55,1
    - Dst: Bezier::computePoint
      Src: /src/vlc/modules/gui/skins2/utils/bezier.cpp:63,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/utils/bezier.cpp:68,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/utils/bezier.cpp:69,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/utils/bezier.cpp:70,1
    - Dst: size
      Src: /src/vlc/modules/gui/skins2/utils/bezier.cpp:75,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/utils/bezier.cpp:81,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/utils/bezier.cpp:82,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/utils/bezier.cpp:83,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - p_intf
    - rAbscissas
    - rOrdinates
    - flag
    argTypes:
    - intf_thread_t*
    - std::vector<float>
    - std::vector<float>
    - Flag_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 89
    functionName: Bezier::Bezier
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/bezier.cpp
    functionUses: 0
    functionsReached:
    - assign
    - push_back
    - Bezier::computePoint
    - size
    - std::vector<float>::begin
    - std::vector<float>::end
    linkageType: ''
    returnType: void
    signature: "void Bezier::Bezier( intf_thread_t *p_intf, const std::vector<float>
      &rAbscissas,\n                const std::vector<float> &rOrdinates, Flag_t flag
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bezier::findNearestPoint
      Src: /src/vlc/modules/gui/skins2/utils/bezier.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: Bezier::getNearestPercent
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/bezier.cpp
    functionUses: 0
    functionsReached:
    - Bezier::findNearestPoint
    linkageType: ''
    returnType: float
    signature: float Bezier::getNearestPercent( int x, int y ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bezier::findNearestPoint
      Src: /src/vlc/modules/gui/skins2/utils/bezier.cpp:101,1
    - Dst: sqrt
      Src: /src/vlc/modules/gui/skins2/utils/bezier.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - y
    - xScale
    - yScale
    argTypes:
    - int
    - int
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: Bezier::getMinDist
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/bezier.cpp
    functionUses: 0
    functionsReached:
    - Bezier::findNearestPoint
    - sqrt
    linkageType: ''
    returnType: float
    signature: float Bezier::getMinDist( int x, int y, float xScale, float yScale
      ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/vlc/modules/gui/skins2/utils/bezier.cpp:112,1
    - Dst: fabs
      Src: /src/vlc/modules/gui/skins2/utils/bezier.cpp:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - t
    - x
    - y
    argTypes:
    - float
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 128
    functionName: Bezier::getPoint
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/bezier.cpp
    functionUses: 0
    functionsReached:
    - fabs
    linkageType: ''
    returnType: void
    signature: void Bezier::getPoint( float t, int &x, int &y ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 142
    functionName: Bezier::getWidth
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/bezier.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Bezier::getWidth() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 156
    functionName: Bezier::getHeight
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/bezier.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Bezier::getHeight() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: Bezier::findNearestPoint
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/bezier.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Bezier::findNearestPoint( int x, int y ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bezier::power
      Src: /src/vlc/modules/gui/skins2/utils/bezier.cpp:185,1
    - Dst: powf
      Src: /src/vlc/modules/gui/skins2/utils/bezier.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - float
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 189
    functionName: Bezier::power
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/bezier.cpp
    functionUses: 1
    functionsReached:
    - powf
    - Bezier::power
    linkageType: ''
    returnType: float
    signature: float Bezier::power( float x, int n )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bezier::power
      Src: /src/vlc/modules/gui/skins2/utils/bezier.cpp:194,1
    - Dst: Bezier::power
      Src: /src/vlc/modules/gui/skins2/utils/bezier.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - i
    - n
    - t
    argTypes:
    - int
    - int
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: Bezier::computeCoeff
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/bezier.cpp
    functionUses: 0
    functionsReached:
    - Bezier::power
    linkageType: ''
    returnType: float
    signature: float Bezier::computeCoeff( int i, int n, float t ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bezier::computeCoeff
      Src: /src/vlc/modules/gui/skins2/utils/bezier.cpp:208,1
    - Dst: lrintf
      Src: /src/vlc/modules/gui/skins2/utils/bezier.cpp:213,1
    - Dst: lrintf
      Src: /src/vlc/modules/gui/skins2/utils/bezier.cpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - t
    - x
    - y
    argTypes:
    - float
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 215
    functionName: Bezier::computePoint
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/bezier.cpp
    functionUses: 1
    functionsReached:
    - Bezier::computeCoeff
    - lrintf
    linkageType: ''
    returnType: void
    signature: void Bezier::computePoint( float t, int &x, int &y ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: ~Bezier()
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/bezier.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Bezier()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: Bezier::getNbCtrlPoints
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/bezier.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getNbCtrlPoints() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: FSM::FSM
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/fsm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FSM( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: ~FSM()
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/fsm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FSM()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: '&getState() const'
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/fsm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &getState() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VariablePtr
      Src: /src/vlc/modules/gui/skins2/utils/var_list.cpp:33,1
    - Dst: VarPercent::VarPercent
      Src: /src/vlc/modules/gui/skins2/utils/var_list.cpp:33,1
    - Dst: getPositionVar
      Src: /src/vlc/modules/gui/skins2/utils/var_list.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: VarList::VarList
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_list.cpp
    functionUses: 0
    functionsReached:
    - getPositionVar
    - VarPercent::VarPercent
    - VariablePtr
    linkageType: ''
    returnType: void
    signature: void VarList::VarList( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: VarList::~VarList()
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_list.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VarList::~VarList()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/utils/var_list.cpp:45,1
    - Dst: VarList::Elem_t
      Src: /src/vlc/modules/gui/skins2/utils/var_list.cpp:45,1
    - Dst: notify
      Src: /src/vlc/modules/gui/skins2/utils/var_list.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rcString
    argTypes:
    - UStringPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: VarList::add
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_list.cpp
    functionUses: 0
    functionsReached:
    - VarList::Elem_t
    - push_back
    - notify
    linkageType: ''
    returnType: void
    signature: void VarList::add( const UStringPtr &rcString )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VarList::begin
      Src: /src/vlc/modules/gui/skins2/utils/var_list.cpp:52,1
    - Dst: VarList::end
      Src: /src/vlc/modules/gui/skins2/utils/var_list.cpp:53,1
    - Dst: erase
      Src: /src/vlc/modules/gui/skins2/utils/var_list.cpp:59,1
    - Dst: notify
      Src: /src/vlc/modules/gui/skins2/utils/var_list.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 67
    functionName: VarList::delSelected
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_list.cpp
    functionUses: 0
    functionsReached:
    - erase
    - notify
    - VarList::begin
    - VarList::end
    linkageType: ''
    returnType: void
    signature: void VarList::delSelected()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarList::clear
      Src: /src/vlc/modules/gui/skins2/utils/var_list.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: VarList::clear
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_list.cpp
    functionUses: 1
    functionsReached:
    - VarList::clear
    linkageType: ''
    returnType: void
    signature: void VarList::clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VarList::begin
      Src: /src/vlc/modules/gui/skins2/utils/var_list.cpp:78,1
    - Dst: VarList::end
      Src: /src/vlc/modules/gui/skins2/utils/var_list.cpp:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: VarList::operator[]( int n )
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_list.cpp
    functionUses: 0
    functionsReached:
    - VarList::begin
    - VarList::end
    linkageType: ''
    returnType: VarList::Iterator
    signature: VarList::Iterator VarList::operator[]( int n )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VarList::begin
      Src: /src/vlc/modules/gui/skins2/utils/var_list.cpp:96,1
    - Dst: VarList::end
      Src: /src/vlc/modules/gui/skins2/utils/var_list.cpp:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 109
    functionName: VarList::operator[]( int n ) const
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_list.cpp
    functionUses: 0
    functionsReached:
    - VarList::begin
    - VarList::end
    linkageType: ''
    returnType: VarList::ConstIterator
    signature: VarList::ConstIterator VarList::operator[]( int n ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Counter::Counter
      Src: /src/vlc/modules/gui/skins2/utils/pointer.hpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: CountedPtr::CountedPtr
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/pointer.hpp
    functionUses: 0
    functionsReached:
    - Counter::Counter
    linkageType: ''
    returnType: void
    signature: void CountedPtr( pointer pPtr = 0 )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/vlc/modules/gui/skins2/utils/pointer.hpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: ~CountedPtr()
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/pointer.hpp
    functionUses: 0
    functionsReached:
    - release
    linkageType: ''
    returnType: void
    signature: void ~CountedPtr()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CountedPtr::acquire
      Src: /src/vlc/modules/gui/skins2/utils/pointer.hpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rPtr
    argTypes:
    - CountedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: CountedPtr::CountedPtr
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/pointer.hpp
    functionUses: 0
    functionsReached:
    - CountedPtr::acquire
    linkageType: ''
    returnType: void
    signature: void CountedPtr( const CountedPtr &rPtr )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: release
      Src: /src/vlc/modules/gui/skins2/utils/pointer.hpp:48,1
    - Dst: acquire
      Src: /src/vlc/modules/gui/skins2/utils/pointer.hpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rPtr
    argTypes:
    - CountedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: '&operator=( const CountedPtr &rPtr )'
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/pointer.hpp
    functionUses: 0
    functionsReached:
    - release
    - acquire
    linkageType: ''
    returnType: CountedPtr
    signature: CountedPtr &operator=( const CountedPtr &rPtr )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: operator*() const
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/pointer.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: operator->() const
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/pointer.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: CountedPtr::get
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/pointer.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: CountedPtr::unique
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/pointer.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool unique() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: CountedPtr::Counter
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/pointer.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Counter( pointer pPtr = 0, unsigned int c = 1 )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pCount
    argTypes:
    - Counter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: CountedPtr::acquire
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/pointer.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void acquire( Counter* pCount )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: CountedPtr::release
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/pointer.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void release()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: '&getType() const'
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: VarTree::getMedia
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: input_item_t
    signature: input_item_t * getMedia()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: VarTree::getString
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: UString
    signature: UString * getString()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - UStringPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: VarTree::setString
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setString( UStringPtr val )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: VarTree::isReadonly
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isReadonly()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: VarTree::isSelected
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isSelected()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: VarTree::isPlaying
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isPlaying()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: VarTree::isExpanded
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isExpanded()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: VarTree::isFlat
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isFlat()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: VarTree::setSelected
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setSelected( bool val )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: VarTree::setPlaying
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setPlaying( bool val )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: VarTree::setExpanded
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setExpanded( bool val )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: VarTree::setFlat
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setFlat( bool val )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: VarTree::toggleSelected
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void toggleSelected()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarTree::setExpanded
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: VarTree::toggleExpanded
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 0
    functionsReached:
    - VarTree::setExpanded
    linkageType: ''
    returnType: void
    signature: void toggleExpanded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarTree::size
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: VarTree::size
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 1
    functionsReached:
    - VarTree::size
    linkageType: ''
    returnType: int
    signature: int size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' it'
    - pRootTree
    argTypes:
    - VarTree::Iterator
    - VarTree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: VarTree::IteratorVisible::IteratorVisible
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IteratorVisible( const VarTree::Iterator& it, VarTree* pRootTree
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:105,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:105,1
    - Dst: isFlat
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:106,1
    - Dst: getNextLeaf
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:106,1
    - Dst: getNextVisibleItem
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( it != end() )
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: '& operator++()'
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 0
    functionsReached:
    - getNextLeaf
    - assert
    - isFlat
    - end
    - getNextVisibleItem
    linkageType: ''
    returnType: IteratorVisible
    signature: IteratorVisible & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isFlat
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:114,1
    - Dst: getPrevLeaf
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:114,1
    - Dst: getPrevVisibleItem
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: '& operator--()'
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 0
    functionsReached:
    - getPrevLeaf
    - getPrevVisibleItem
    - isFlat
    linkageType: ''
    returnType: IteratorVisible
    signature: IteratorVisible & operator--()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parent
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:122,1
    - Dst: parent
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:122,1
    - Dst: VarTree::IteratorVisible::IteratorVisible
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:124,1
    - Dst: parent
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:124,1
    - Dst: VarTree::IteratorVisible::end
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: VarTree::IteratorVisible::getParent
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 0
    functionsReached:
    - VarTree::IteratorVisible::end
    - parent
    - VarTree::IteratorVisible::IteratorVisible
    linkageType: ''
    returnType: IteratorVisible
    signature: IteratorVisible getParent()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarTree::IteratorVisible::begin
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: VarTree::IteratorVisible::begin
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 1
    functionsReached:
    - VarTree::IteratorVisible::begin
    linkageType: ''
    returnType: IteratorVisible
    signature: IteratorVisible begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarTree::IteratorVisible::end
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: VarTree::IteratorVisible::end
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 2
    functionsReached:
    - VarTree::IteratorVisible::end
    linkageType: ''
    returnType: IteratorVisible
    signature: IteratorVisible end()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: VarTree::IteratorVisible::isFlat
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isFlat()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IteratorVisible
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:139,1
    - Dst: VarTree::firstLeaf
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:140,1
    - Dst: VarTree::begin
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: VarTree::begin
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 1
    functionsReached:
    - VarTree::firstLeaf
    - IteratorVisible
    - VarTree::begin
    linkageType: ''
    returnType: IteratorVisible
    signature: IteratorVisible begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IteratorVisible
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:144,1
    - Dst: VarTree::end
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: VarTree::end
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 1
    functionsReached:
    - VarTree::end
    - IteratorVisible
    linkageType: ''
    returnType: IteratorVisible
    signature: IteratorVisible end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: '&back()'
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: VarTree
    signature: VarTree &back()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: VarTree::parent
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VarTree
    signature: VarTree *parent()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:158,1
    - Dst: m_children::begin
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:159,1
    - Dst: m_children::end
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:160,1
    - Dst: assert
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:161,1
    - Dst: m_children::end
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ( m_pParent )
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    - condition: ( it != m_pParent->m_children.end() )
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    constantsTouched: []
    func_position:
      end: 163
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 163
    functionName: VarTree::getSelf
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 0
    functionsReached:
    - m_children::begin
    - assert
    - m_children::end
    linkageType: ''
    returnType: Iterator
    signature: Iterator getSelf()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: m_children::begin
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:170,1
    - Dst: m_children::end
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: VarTree::getIndex
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 0
    functionsReached:
    - m_children::begin
    - m_children::end
    linkageType: ''
    returnType: int
    signature: int getIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - Iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: VarTree::removeChild
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 0
    functionsReached:
    - erase
    linkageType: ''
    returnType: void
    signature: void removeChild( Iterator it )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pItem
    argTypes:
    - VarTree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: VarTree::action
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void action( VarTree *pItem )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 192
    functionName: '&getPositionVar() const'
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: VarPercent
    signature: VarPercent &getPositionVar() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: '&getPositionVarPtr() const'
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VariablePtr
    signature: VariablePtr &getPositionVarPtr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarTree*::parent
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 252
    functionName: VarTree::depth
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 0
    functionsReached:
    - VarTree*::parent
    linkageType: ''
    returnType: int
    signature: int depth()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: VarTree::onUpdateSlider
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void onUpdateSlider()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarTree*::parent
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:271,1
    - Dst: VarTree*::parent
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.hpp:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 274
    functionName: VarTree::root
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 0
    functionsReached:
    - VarTree*::parent
    linkageType: ''
    returnType: VarTree
    signature: VarTree *root()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - t
    - item
    argTypes:
    - enum type_t
    - VarTree::IteratorVisible
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 313
    functionName: tree_update
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tree_update( enum type_t t, VarTree::IteratorVisible item )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: UString::u_str
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/ustring.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *u_str() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: UString::length
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/ustring.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: UString::size
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/ustring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: ~Subject()
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/observer.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Subject()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/vlc/modules/gui/skins2/utils/observer.hpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: Subject::clearObservers
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/observer.hpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void clearObservers()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/vlc/modules/gui/skins2/utils/observer.hpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pObserver
    argTypes:
    - Observer<S, ARG>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: Subject::addObserver
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/observer.hpp
    functionUses: 0
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: void addObserver( Observer<S, ARG>* pObserver )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/vlc/modules/gui/skins2/utils/observer.hpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pObserver
    argTypes:
    - Observer<S, ARG>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: Subject::delObserver
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/observer.hpp
    functionUses: 0
    functionsReached:
    - erase
    linkageType: ''
    returnType: void
    signature: void delObserver( Observer<S, ARG>* pObserver )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/utils/observer.hpp:68,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/utils/observer.hpp:68,1
    - Dst: onUpdate
      Src: /src/vlc/modules/gui/skins2/utils/observer.hpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - ARG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: Subject::notify
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/observer.hpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    - onUpdate
    linkageType: ''
    returnType: void
    signature: void notify( ARG *arg )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Subject::notify
      Src: /src/vlc/modules/gui/skins2/utils/observer.hpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: Subject::notify
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/observer.hpp
    functionUses: 1
    functionsReached:
    - Subject::notify
    linkageType: ''
    returnType: void
    signature: void notify()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: Subject::Subject
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/observer.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Subject()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: ~Observer()
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/observer.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Observer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: Observer::Observer
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/observer.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Observer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VariablePtr
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:37,1
    - Dst: VarPercent::VarPercent
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:37,1
    - Dst: getPositionVar
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:38,1
    - Dst: getPositionVar
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: VarTree::VarTree
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.cpp
    functionUses: 0
    functionsReached:
    - getPositionVar
    - VarPercent::VarPercent
    - VariablePtr
    linkageType: ''
    returnType: void
    signature: void VarTree::VarTree( intf_thread_t *pIntf )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: input_item_Hold
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:53,1
    - Dst: VariablePtr
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:56,1
    - Dst: VarPercent::VarPercent
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:56,1
    - Dst: getPositionVar
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:57,1
    - Dst: getPositionVar
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - pIntf
    - pParent
    - media
    - rcString
    - selected
    - playing
    - expanded
    - readonly
    argTypes:
    - intf_thread_t*
    - VarTree*
    - input_item_t*
    - UStringPtr
    - bool
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 60
    functionName: VarTree::VarTree
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.cpp
    functionUses: 0
    functionsReached:
    - getPositionVar
    - VarPercent::VarPercent
    - VariablePtr
    - input_item_Hold
    linkageType: ''
    returnType: void
    signature: "void VarTree::VarTree( intf_thread_t *pIntf, VarTree *pParent, input_item_t
      *media,\n                  const UStringPtr &rcString, bool selected, bool playing,\n
      \                 bool expanded, bool readonly )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:63,1
    - Dst: input_item_Hold
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:71,1
    - Dst: VariablePtr
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:74,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:74,1
    - Dst: VarPercent::VarPercent
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:74,1
    - Dst: getPositionVar
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:75,1
    - Dst: getPositionVar
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - VarTree
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 78
    functionName: VarTree::VarTree
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.cpp
    functionUses: 0
    functionsReached:
    - VariablePtr
    - getPositionVar
    - getIntf
    - input_item_Hold
    - VarPercent::VarPercent
    linkageType: ''
    returnType: void
    signature: void VarTree::VarTree( const VarTree& v )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPositionVar
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:82,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: VarTree::~VarTree()
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.cpp
    functionUses: 0
    functionsReached:
    - getPositionVar
    - input_item_Release
    linkageType: ''
    returnType: void
    signature: void VarTree::~VarTree()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: input_item_Release
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:90,1
    - Dst: input_item_Hold
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - media
    argTypes:
    - input_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: VarTree::setMedia
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.cpp
    functionUses: 0
    functionsReached:
    - input_item_Release
    - input_item_Hold
    linkageType: ''
    returnType: void
    signature: void VarTree::setMedia( input_item_t *media )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VarTree::end
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:103,1
    - Dst: VarTree::begin
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:107,1
    - Dst: VarTree::end
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:108,1
    - Dst: insert
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:111,1
    - Dst: VarTree::VarTree
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:112,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 7
    argNames:
    - media
    - rcString
    - selected
    - playing
    - expanded
    - readonly
    - pos
    argTypes:
    - input_item_t*
    - UStringPtr
    - bool
    - bool
    - bool
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 115
    functionName: VarTree::add
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.cpp
    functionUses: 1
    functionsReached:
    - insert
    - VarTree::begin
    - getIntf
    - VarTree::VarTree
    - VarTree::end
    linkageType: ''
    returnType: VarTree::Iterator
    signature: "VarTree::Iterator VarTree::add( input_item_t* media, const UStringPtr
      &rcString,\n                  bool selected, bool playing, bool expanded, bool
      readonly,\n                  int pos )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VarTree::begin
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:119,1
    - Dst: VarTree::end
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:119,1
    - Dst: erase
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 128
    functionName: VarTree::delSelected
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.cpp
    functionUses: 0
    functionsReached:
    - erase
    - VarTree::end
    - VarTree::begin
    linkageType: ''
    returnType: void
    signature: void VarTree::delSelected()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarTree::clear
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: VarTree::clear
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.cpp
    functionUses: 1
    functionsReached:
    - VarTree::clear
    linkageType: ''
    returnType: void
    signature: void VarTree::clear()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VarTree::parent
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:137,1
    - Dst: VarTree::getSelf
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:140,1
    - Dst: VarTree*::m_children::end
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:141,1
    - Dst: VarTree::next_uncle
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:144,1
    - Dst: VarTree::root
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:146,1
    - Dst: VarTree::end
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 147
    functionName: VarTree::getNextSiblingOrUncle
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.cpp
    functionUses: 0
    functionsReached:
    - VarTree::parent
    - VarTree*::m_children::end
    - VarTree::next_uncle
    - VarTree::root
    - VarTree::getSelf
    - VarTree::end
    linkageType: ''
    returnType: VarTree::Iterator
    signature: VarTree::Iterator VarTree::getNextSiblingOrUncle()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VarTree::parent
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:151,1
    - Dst: VarTree::getSelf
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:154,1
    - Dst: VarTree*::m_children::begin
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:155,1
    - Dst: VarTree::prev_uncle
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:158,1
    - Dst: VarTree::root
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:160,1
    - Dst: VarTree::end
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 161
    functionName: VarTree::getPrevSiblingOrUncle
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.cpp
    functionUses: 0
    functionsReached:
    - VarTree::parent
    - VarTree::prev_uncle
    - VarTree::root
    - VarTree::getSelf
    - VarTree*::m_children::begin
    - VarTree::end
    linkageType: ''
    returnType: VarTree::Iterator
    signature: VarTree::Iterator VarTree::getPrevSiblingOrUncle()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VarTree::parent
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:167,1
    - Dst: VarTree*::parent
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:170,1
    - Dst: VarTree*::getSelf
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:173,1
    - Dst: VarTree*::m_children::end
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:174,1
    - Dst: VarTree*::parent
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:177,1
    - Dst: VarTree::root
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:182,1
    - Dst: VarTree::end
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 183
    functionName: VarTree::next_uncle
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.cpp
    functionUses: 1
    functionsReached:
    - VarTree*::getSelf
    - VarTree::parent
    - VarTree*::m_children::end
    - VarTree*::parent
    - VarTree::root
    - VarTree::end
    linkageType: ''
    returnType: VarTree::Iterator
    signature: VarTree::Iterator VarTree::next_uncle()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VarTree::parent
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:187,1
    - Dst: VarTree*::parent
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:190,1
    - Dst: VarTree*::getSelf
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:193,1
    - Dst: VarTree*::m_children::begin
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:194,1
    - Dst: VarTree*::parent
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:197,1
    - Dst: VarTree::root
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:202,1
    - Dst: VarTree::end
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 203
    functionName: VarTree::prev_uncle
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.cpp
    functionUses: 1
    functionsReached:
    - VarTree*::getSelf
    - VarTree::parent
    - VarTree*::parent
    - VarTree::root
    - VarTree*::m_children::begin
    - VarTree::end
    linkageType: ''
    returnType: VarTree::Iterator
    signature: VarTree::Iterator VarTree::prev_uncle()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VarTree::size
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:207,1
    - Dst: VarTree::begin
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:208,1
    - Dst: VarTree::end
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:208,1
    - Dst: Iterator::visibleItems
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 216
    functionName: VarTree::visibleItems
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.cpp
    functionUses: 0
    functionsReached:
    - VarTree::size
    - Iterator::visibleItems
    - VarTree::end
    - VarTree::begin
    linkageType: ''
    returnType: int
    signature: int VarTree::visibleItems()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VarTree::begin
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:220,1
    - Dst: VarTree::end
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:221,1
    - Dst: Iterator::visibleItems
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:229,1
    - Dst: Iterator::getVisibleItem
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:230,1
    - Dst: VarTree::end
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 236
    functionName: VarTree::getVisibleItem
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.cpp
    functionUses: 0
    functionsReached:
    - Iterator::getVisibleItem
    - Iterator::visibleItems
    - VarTree::end
    - VarTree::begin
    linkageType: ''
    returnType: VarTree::Iterator
    signature: VarTree::Iterator VarTree::getVisibleItem( int n )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VarTree::begin
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:240,1
    - Dst: VarTree::end
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:241,1
    - Dst: Iterator::size
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:243,1
    - Dst: Iterator::countLeafs
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:246,1
    - Dst: Iterator::getLeaf
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:247,1
    - Dst: VarTree::end
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:258,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 259
    functionName: VarTree::getLeaf
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.cpp
    functionUses: 0
    functionsReached:
    - Iterator::size
    - Iterator::getLeaf
    - VarTree::begin
    - Iterator::countLeafs
    - VarTree::end
    linkageType: ''
    returnType: VarTree::Iterator
    signature: VarTree::Iterator VarTree::getLeaf( int n )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Iterator::size
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:263,1
    - Dst: Iterator::m_children::begin
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:265,1
    - Dst: Iterator::parent
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:272,1
    - Dst: Iterator::parent
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:272,1
    - Dst: VarTree::end
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:272,1
    - Dst: Iterator::next_uncle
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - it
    argTypes:
    - Iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 278
    functionName: VarTree::getNextVisibleItem
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.cpp
    functionUses: 0
    functionsReached:
    - Iterator::size
    - Iterator::next_uncle
    - Iterator::m_children::begin
    - Iterator::parent
    - VarTree::end
    linkageType: ''
    returnType: VarTree::Iterator
    signature: VarTree::Iterator VarTree::getNextVisibleItem( Iterator it )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VarTree::root
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:282,1
    - Dst: VarTree::begin
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:282,1
    - Dst: VarTree::root
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:285,1
    - Dst: VarTree::end
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:285,1
    - Dst: Iterator::size
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:288,1
    - Dst: Iterator::m_children::end
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:289,1
    - Dst: Iterator::parent
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:294,1
    - Dst: VarTree*::m_children::begin
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:295,1
    - Dst: VarTree*::getSelf
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:298,1
    - Dst: Iterator::size
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:304,1
    - Dst: Iterator::m_children::end
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:305,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - it
    argTypes:
    - Iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 308
    functionName: VarTree::getPrevVisibleItem
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.cpp
    functionUses: 0
    functionsReached:
    - Iterator::size
    - Iterator::parent
    - VarTree*::getSelf
    - Iterator::m_children::end
    - VarTree::begin
    - VarTree*::m_children::begin
    - VarTree::root
    - VarTree::end
    linkageType: ''
    returnType: VarTree::Iterator
    signature: VarTree::Iterator VarTree::getPrevVisibleItem( Iterator it )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Iterator::size
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:312,1
    - Dst: Iterator::m_children::begin
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:314,1
    - Dst: Iterator::parent
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:321,1
    - Dst: Iterator::parent
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:321,1
    - Dst: VarTree::end
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:321,1
    - Dst: Iterator::next_uncle
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - it
    argTypes:
    - Iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 327
    functionName: VarTree::getNextItem
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.cpp
    functionUses: 0
    functionsReached:
    - Iterator::size
    - Iterator::next_uncle
    - Iterator::m_children::begin
    - Iterator::parent
    - VarTree::end
    linkageType: ''
    returnType: VarTree::Iterator
    signature: VarTree::Iterator VarTree::getNextItem( Iterator it )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VarTree::root
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:331,1
    - Dst: VarTree::begin
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:331,1
    - Dst: VarTree::root
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:334,1
    - Dst: VarTree::end
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:334,1
    - Dst: Iterator::size
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:337,1
    - Dst: Iterator::m_children::end
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:338,1
    - Dst: Iterator::parent
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:342,1
    - Dst: VarTree*::m_children::begin
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:343,1
    - Dst: VarTree*::getSelf
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:346,1
    - Dst: Iterator::size
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:352,1
    - Dst: Iterator::m_children::end
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:353,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - it
    argTypes:
    - Iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 356
    functionName: VarTree::getPrevItem
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.cpp
    functionUses: 0
    functionsReached:
    - Iterator::size
    - Iterator::parent
    - VarTree*::getSelf
    - Iterator::m_children::end
    - VarTree::begin
    - VarTree*::m_children::begin
    - VarTree::root
    - VarTree::end
    linkageType: ''
    returnType: VarTree::Iterator
    signature: VarTree::Iterator VarTree::getPrevItem( Iterator it )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarTree::getNextItem
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:362,1
    - Dst: VarTree::root
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:364,1
    - Dst: VarTree::end
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:364,1
    - Dst: Iterator::size
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - it
    argTypes:
    - Iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 358
    functionDepth: 3
    functionLinenumber: 358
    functionLinenumberEnd: 366
    functionName: VarTree::getNextLeaf
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.cpp
    functionUses: 0
    functionsReached:
    - Iterator::size
    - VarTree::getNextItem
    - VarTree::end
    - VarTree::root
    linkageType: ''
    returnType: VarTree::Iterator
    signature: VarTree::Iterator VarTree::getNextLeaf( Iterator it )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Iterator::getPrevSiblingOrUncle
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:370,1
    - Dst: VarTree::root
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:371,1
    - Dst: Iterator::size
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:373,1
    - Dst: Iterator::m_children::end
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - it
    argTypes:
    - Iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 376
    functionName: VarTree::getPrevLeaf
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.cpp
    functionUses: 0
    functionsReached:
    - Iterator::getPrevSiblingOrUncle
    - Iterator::size
    - Iterator::m_children::end
    - VarTree::root
    linkageType: ''
    returnType: VarTree::Iterator
    signature: VarTree::Iterator VarTree::getPrevLeaf( Iterator it )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Iterator::parent
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:380,1
    - Dst: Iterator::parent
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:382,1
    - Dst: VarTree::end
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - it
    argTypes:
    - Iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 385
    functionName: VarTree::getParent
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.cpp
    functionUses: 0
    functionsReached:
    - Iterator::parent
    - VarTree::end
    linkageType: ''
    returnType: VarTree::Iterator
    signature: VarTree::Iterator VarTree::getParent( Iterator it )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarTree*::parent
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:391,1
    - Dst: VarTree*::parent
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:392,1
    - Dst: VarTree*::parent
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' it'
    argTypes:
    - Iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 397
    functionName: VarTree::ensureExpanded
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.cpp
    functionUses: 0
    functionsReached:
    - VarTree*::parent
    linkageType: ''
    returnType: void
    signature: void VarTree::ensureExpanded( const Iterator& it )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VarTree::size
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:401,1
    - Dst: VarTree::begin
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:405,1
    - Dst: VarTree::end
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:405,1
    - Dst: Iterator::countLeafs
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:407,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 410
    functionName: VarTree::countLeafs
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.cpp
    functionUses: 0
    functionsReached:
    - VarTree::size
    - Iterator::countLeafs
    - VarTree::end
    - VarTree::begin
    linkageType: ''
    returnType: int
    signature: int VarTree::countLeafs()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VarTree::root
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:414,1
    - Dst: VarTree::begin
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:414,1
    - Dst: Iterator::size
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:415,1
    - Dst: VarTree::getNextLeaf
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 412
    functionDepth: 4
    functionLinenumber: 412
    functionLinenumberEnd: 417
    functionName: VarTree::firstLeaf
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.cpp
    functionUses: 1
    functionsReached:
    - VarTree::begin
    - Iterator::size
    - VarTree::getNextLeaf
    - VarTree::root
    linkageType: ''
    returnType: VarTree::Iterator
    signature: VarTree::Iterator VarTree::firstLeaf()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VarTree::firstLeaf
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:423,1
    - Dst: VarTree::begin
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:423,1
    - Dst: VarTree::end
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:424,1
    - Dst: VarTree::getNextLeaf
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:425,1
    - Dst: VarTree::getNextVisibleItem
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' item'
    argTypes:
    - Iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 419
    functionDepth: 5
    functionLinenumber: 419
    functionLinenumberEnd: 432
    functionName: VarTree::getIndex
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.cpp
    functionUses: 0
    functionsReached:
    - VarTree::getNextVisibleItem
    - VarTree::firstLeaf
    - VarTree::begin
    - VarTree::end
    - VarTree::getNextLeaf
    linkageType: ''
    returnType: int
    signature: int VarTree::getIndex( const Iterator& item )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPositionVar
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:436,1
    - Dst: VarPercent::get
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:437,1
    - Dst: VarTree::countLeafs
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:439,1
    - Dst: VarTree::visibleItems
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:440,1
    - Dst: lrint
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:442,1
    - Dst: VarTree::getLeaf
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:444,1
    - Dst: VarTree::getVisibleItem
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 434
    functionDepth: 3
    functionLinenumber: 434
    functionLinenumberEnd: 447
    functionName: VarTree::getItemFromSlider
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.cpp
    functionUses: 0
    functionsReached:
    - VarTree::getVisibleItem
    - VarTree::countLeafs
    - getPositionVar
    - VarPercent::get
    - VarTree::visibleItems
    - lrint
    - VarTree::getLeaf
    linkageType: ''
    returnType: VarTree::Iterator
    signature: VarTree::Iterator VarTree::getItemFromSlider()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPositionVar
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:451,1
    - Dst: VarTree::countLeafs
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:453,1
    - Dst: VarTree::visibleItems
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:454,1
    - Dst: VarTree::getIndex
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:456,1
    - Dst: VarPercent::set
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' it'
    argTypes:
    - Iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 449
    functionDepth: 3
    functionLinenumber: 449
    functionLinenumberEnd: 462
    functionName: VarTree::setSliderFromItem
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.cpp
    functionUses: 0
    functionsReached:
    - VarTree::getIndex
    - VarTree::countLeafs
    - getPositionVar
    - VarTree::visibleItems
    - VarPercent::set
    linkageType: ''
    returnType: void
    signature: void VarTree::setSliderFromItem( const Iterator& it )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarTree::onUpdateSlider
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rPercent
    - arg
    argTypes:
    - Subject<VarPercent>
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 468
    functionName: VarTree::onUpdate
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.cpp
    functionUses: 0
    functionsReached:
    - VarTree::onUpdateSlider
    linkageType: ''
    returnType: void
    signature: void VarTree::onUpdate( Subject<VarPercent> &rPercent, void* arg )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarTree::begin
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:473,1
    - Dst: VarTree::end
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:473,1
    - Dst: Iterator::unselectTree
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 475
    functionName: VarTree::unselectTree
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.cpp
    functionUses: 0
    functionsReached:
    - Iterator::unselectTree
    - VarTree::end
    - VarTree::begin
    linkageType: ''
    returnType: void
    signature: void VarTree::unselectTree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarTree::getLeaf
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:480,1
    - Dst: VarTree::getVisibleItem
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:481,1
    - Dst: IteratorVisible
      Src: /src/vlc/modules/gui/skins2/utils/var_tree.cpp:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 477
    functionDepth: 3
    functionLinenumber: 477
    functionLinenumberEnd: 484
    functionName: VarTree::getItem
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_tree.cpp
    functionUses: 0
    functionsReached:
    - VarTree::getLeaf
    - VarTree::getVisibleItem
    - IteratorVisible
    linkageType: ''
    returnType: VarTree::IteratorVisible
    signature: VarTree::IteratorVisible VarTree::getItem( int index )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/vlc/modules/gui/skins2/utils/fsm.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: FSM::addState
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/fsm.cpp
    functionUses: 0
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: void FSM::addState( const std::string &state )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/vlc/modules/gui/skins2/utils/fsm.cpp:38,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/utils/fsm.cpp:38,1
    - Dst: find
      Src: /src/vlc/modules/gui/skins2/utils/fsm.cpp:39,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/utils/fsm.cpp:39,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/skins2/utils/fsm.cpp:41,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/utils/fsm.cpp:41,1
    - Dst: find
      Src: /src/vlc/modules/gui/skins2/utils/fsm.cpp:50,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/utils/fsm.cpp:50,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/skins2/utils/fsm.cpp:52,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/utils/fsm.cpp:52,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/skins2/utils/fsm.cpp:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - state1
    - event
    - state2
    - pCmd
    argTypes:
    - std::string
    - std::string
    - std::string
    - CmdGeneric*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 57
    functionName: FSM::addTransition
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/fsm.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - getIntf
    - msg_Warn
    - end
    - find
    linkageType: ''
    returnType: void
    signature: "void FSM::addTransition( const std::string &state1, const std::string
      &event,\n                         const std::string &state2, CmdGeneric *pCmd
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/vlc/modules/gui/skins2/utils/fsm.cpp:62,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/utils/fsm.cpp:62,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/skins2/utils/fsm.cpp:64,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/utils/fsm.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: FSM::setState
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/fsm.cpp
    functionUses: 0
    functionsReached:
    - end
    - getIntf
    - msg_Warn
    - find
    linkageType: ''
    returnType: void
    signature: void FSM::setState( const std::string &state )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/vlc/modules/gui/skins2/utils/fsm.cpp:78,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/utils/fsm.cpp:82,1
    - Dst: std::string::rfind
      Src: /src/vlc/modules/gui/skins2/utils/fsm.cpp:83,1
    - Dst: std::string::size
      Src: /src/vlc/modules/gui/skins2/utils/fsm.cpp:83,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/gui/skins2/utils/fsm.cpp:86,1
    - Dst: std::string::rfind
      Src: /src/vlc/modules/gui/skins2/utils/fsm.cpp:86,1
    - Dst: std::string::size
      Src: /src/vlc/modules/gui/skins2/utils/fsm.cpp:86,1
    - Dst: find
      Src: /src/vlc/modules/gui/skins2/utils/fsm.cpp:89,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/utils/fsm.cpp:93,1
    - Dst: CmdGeneric*::execute
      Src: /src/vlc/modules/gui/skins2/utils/fsm.cpp:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - event
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 107
    functionName: FSM::handleTransition
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/fsm.cpp
    functionUses: 0
    functionsReached:
    - CmdGeneric*::execute
    - std::string::rfind
    - std::string::size
    - std::string::substr
    - end
    - find
    linkageType: ''
    returnType: void
    signature: void FSM::handleTransition( const std::string &event )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~Variable()
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/variable.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Variable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: Variable::Variable
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/variable.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Variable( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: VarPercent::VarPercent
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_percent.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VarPercent( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: ~VarPercent()
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_percent.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VarPercent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '&getType() const'
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_percent.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: VarPercent::get
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_percent.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: VarPercent::getStep
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_percent.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float getStep() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: VarPercent::setStep
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_percent.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setStep( float val )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarPercent::set
      Src: /src/vlc/modules/gui/skins2/utils/var_percent.hpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: VarPercent::increment
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_percent.hpp
    functionUses: 1
    functionsReached:
    - VarPercent::set
    linkageType: ''
    returnType: void
    signature: void increment( int num )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UString::getIntf
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:31,1
    - Dst: uint32_t::uint32_t
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:34,1
    - Dst: memcpy
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rOther
    argTypes:
    - UString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: UString::UString
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/ustring.cpp
    functionUses: 2
    functionsReached:
    - UString::getIntf
    - memcpy
    - uint32_t::uint32_t
    linkageType: ''
    returnType: void
    signature: void UString::UString( const UString &rOther )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:73,1
    - Dst: uint32_t::uint32_t
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:79,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 61
    argCount: 2
    argNames:
    - pIntf
    - pString
    argTypes:
    - intf_thread_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 127
    functionName: UString::UString
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/ustring.cpp
    functionUses: 2
    functionsReached:
    - uint32_t::uint32_t
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void UString::UString( intf_thread_t *pIntf, const char *pString )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: UString::~UString()
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/ustring.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UString::~UString()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UString::size
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:138,1
    - Dst: UString::size
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:138,1
    - Dst: UString::size
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - rOther
    argTypes:
    - UString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 152
    functionName: UString::operator ==( const UString &rOther ) const
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/ustring.cpp
    functionUses: 0
    functionsReached:
    - UString::size
    linkageType: ''
    returnType: bool
    signature: bool UString::operator ==( const UString &rOther ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rOther
    argTypes:
    - UString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: UString::operator !=( const UString &rOther ) const
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/ustring.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UString::operator !=( const UString &rOther ) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UString::u_str
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:163,1
    - Dst: __MIN
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:165,1
    - Dst: UString::length
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - rOther
    argTypes:
    - UString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 177
    functionName: UString::operator <( const UString &rOther ) const
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/ustring.cpp
    functionUses: 0
    functionsReached:
    - UString::u_str
    - __MIN
    - UString::length
    linkageType: ''
    returnType: bool
    signature: bool UString::operator <( const UString &rOther ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rOther
    argTypes:
    - UString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: UString::operator <=( const UString &rOther ) const
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/ustring.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UString::operator <=( const UString &rOther ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rOther
    argTypes:
    - UString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: UString::operator >( const UString &rOther ) const
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/ustring.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UString::operator >( const UString &rOther ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rOther
    argTypes:
    - UString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: UString::operator >=( const UString &rOther ) const
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/ustring.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UString::operator >=( const UString &rOther ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:205,1
    - Dst: uint32_t::uint32_t
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:205,1
    - Dst: size
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - rOther
    argTypes:
    - UString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 212
    functionName: '& UString::operator =( const UString &rOther )'
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/ustring.cpp
    functionUses: 0
    functionsReached:
    - size
    - uint32_t::uint32_t
    linkageType: ''
    returnType: UString
    signature: UString & UString::operator =( const UString &rOther )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: '& UString::length'
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:220,1
    - Dst: UString::length
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:220,1
    - Dst: uint32_t::uint32_t
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:221,1
    - Dst: memcpy
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:223,1
    - Dst: '& UString::size'
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:223,1
    - Dst: UString::size
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:227,1
    - Dst: '& UString::size'
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - rOther
    argTypes:
    - UString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 239
    functionName: '& UString::operator +=( const UString &rOther )'
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/ustring.cpp
    functionUses: 0
    functionsReached:
    - UString::size
    - memcpy
    - '& UString::size'
    - UString::length
    - '& UString::length'
    - uint32_t::uint32_t
    linkageType: ''
    returnType: UString
    signature: UString & UString::operator +=( const UString &rOther )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rOther
    argTypes:
    - UString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 248
    functionName: UString::operator +( const UString &rOther ) const
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/ustring.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UString
    signature: UString UString::operator +( const UString &rOther ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pString
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: UString::operator +( const char *pString ) const
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/ustring.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UString
    signature: UString UString::operator +( const char *pString ) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UString::size
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:261,1
    - Dst: UString::size
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:261,1
    - Dst: UString::size
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - str
    - position
    argTypes:
    - UString
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 282
    functionName: UString::find
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/ustring.cpp
    functionUses: 0
    functionsReached:
    - UString::size
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t UString::find( const UString &str, uint32_t position ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UString::find
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pString
    - position
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: UString::find
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/ustring.cpp
    functionUses: 1
    functionsReached:
    - UString::find
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t UString::find( const char *pString, uint32_t position ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UString::substr
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:294,1
    - Dst: UString::substr
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - position
    - n1
    - str
    argTypes:
    - uint32_t
    - uint32_t
    - UString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 297
    functionName: UString::replace
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/ustring.cpp
    functionUses: 0
    functionsReached:
    - UString::substr
    linkageType: ''
    returnType: void
    signature: void UString::replace( uint32_t position, uint32_t n1, const UString
      &str )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UString::replace
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:302,1
    - Dst: UString::UString
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:302,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - position
    - n1
    - pString
    argTypes:
    - uint32_t
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: UString::replace
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/ustring.cpp
    functionUses: 1
    functionsReached:
    - getIntf
    - UString::UString
    - UString::replace
    linkageType: ''
    returnType: void
    signature: void UString::replace( uint32_t position, uint32_t n1, const char *pString
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:308,1
    - Dst: UString::size
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:309,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:311,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:311,1
    - Dst: UString::size
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:314,1
    - Dst: UString::size
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:314,1
    - Dst: UString::size
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:316,1
    - Dst: uint32_t::uint32_t
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:316,1
    - Dst: UString::size
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - position
    - n
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 323
    functionName: UString::substr
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/ustring.cpp
    functionUses: 1
    functionsReached:
    - getIntf
    - UString::size
    - uint32_t::uint32_t
    - msg_Err
    linkageType: ''
    returnType: UString
    signature: UString UString::substr( uint32_t position, uint32_t n) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UString::UString
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:330,1
    - Dst: std::stringstream::str
      Src: /src/vlc/modules/gui/skins2/utils/ustring.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pIntf
    - number
    argTypes:
    - intf_thread_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 331
    functionName: UString::fromInt
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/ustring.cpp
    functionUses: 3
    functionsReached:
    - UString::UString
    - std::stringstream::str
    linkageType: ''
    returnType: UString
    signature: UString UString::fromInt( intf_thread_t *pIntf, int number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pIntf
    - substVars
    argTypes:
    - intf_thread_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: VarText::VarText
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_text.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VarText::VarText( intf_thread_t *pIntf, bool substVars )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VarText::delObservers
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: VarText::~VarText()
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_text.cpp
    functionUses: 0
    functionsReached:
    - VarText::delObservers
    linkageType: ''
    returnType: void
    signature: void VarText::~VarText()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VlcProc::instance
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:59,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:59,1
    - Dst: UString::find
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:69,1
    - Dst: VarManager::instance
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:71,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:71,1
    - Dst: UString::replace
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:72,1
    - Dst: VarManager*::getHelpText
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:72,1
    - Dst: UString::find
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:74,1
    - Dst: UString::replace
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:76,1
    - Dst: VlcProc*::getTimeVar
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:77,1
    - Dst: UString::find
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:79,1
    - Dst: UString::replace
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:81,1
    - Dst: VlcProc*::getTimeVar
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:82,1
    - Dst: UString::find
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:84,1
    - Dst: UString::replace
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:86,1
    - Dst: VlcProc*::getTimeVar
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:87,1
    - Dst: UString::find
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:89,1
    - Dst: UString::replace
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:91,1
    - Dst: VlcProc*::getTimeVar
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:92,1
    - Dst: UString::find
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:94,1
    - Dst: UString::replace
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:96,1
    - Dst: VlcProc*::getTimeVar
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:97,1
    - Dst: UString::find
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:99,1
    - Dst: UString::replace
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:101,1
    - Dst: VlcProc*::getTimeVar
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:102,1
    - Dst: UString::find
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:104,1
    - Dst: UString::replace
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:106,1
    - Dst: VlcProc*::getVolumeVar
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:107,1
    - Dst: UString::find
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:109,1
    - Dst: UString::replace
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:111,1
    - Dst: VlcProc*::getStreamNameVar
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:111,1
    - Dst: UString::find
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:113,1
    - Dst: UString::replace
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:115,1
    - Dst: VlcProc*::getStreamURIVar
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:115,1
    - Dst: UString::find
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:117,1
    - Dst: UString::replace
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:119,1
    - Dst: VlcProc*::getStreamBitRateVar
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:119,1
    - Dst: UString::find
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:121,1
    - Dst: UString::replace
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:123,1
    - Dst: VlcProc*::getStreamSampleRateVar
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:123,1
    - Dst: UString::find
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:125,1
    - Dst: UString::replace
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:127,1
    - Dst: VlcProc*::getSpeedVar
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:127,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 131
    functionName: VarText::get
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_text.cpp
    functionUses: 0
    functionsReached:
    - UString::replace
    - VlcProc*::getStreamBitRateVar
    - VlcProc*::getStreamNameVar
    - VlcProc*::getStreamURIVar
    - VlcProc*::getTimeVar
    - getIntf
    - VarManager::instance
    - VlcProc*::getStreamSampleRateVar
    - VlcProc*::getSpeedVar
    - VlcProc::instance
    - VlcProc*::getVolumeVar
    - VarManager*::getHelpText
    - UString::find
    linkageType: ''
    returnType: UString
    signature: UString VarText::get() const
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: VarText::delObservers
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:147,1
    - Dst: VlcProc::instance
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:149,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:149,1
    - Dst: VarManager::instance
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:150,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:150,1
    - Dst: find
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:153,1
    - Dst: VarManager*::getHelpText
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:155,1
    - Dst: find
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:157,1
    - Dst: find
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:158,1
    - Dst: find
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:159,1
    - Dst: find
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:160,1
    - Dst: find
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:161,1
    - Dst: find
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:162,1
    - Dst: VlcProc*::getTimeVar
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:164,1
    - Dst: find
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:166,1
    - Dst: VlcProc*::getVolumeVar
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:168,1
    - Dst: find
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:170,1
    - Dst: VlcProc*::getStreamNameVar
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:172,1
    - Dst: find
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:174,1
    - Dst: VlcProc*::getStreamURIVar
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:176,1
    - Dst: find
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:178,1
    - Dst: VlcProc*::getStreamBitRateVar
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:180,1
    - Dst: find
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:182,1
    - Dst: VlcProc*::getStreamSampleRateVar
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:184,1
    - Dst: find
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:186,1
    - Dst: VlcProc*::getSpeedVar
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:188,1
    - Dst: notify
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:192,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 1
    argNames:
    - rText
    argTypes:
    - UString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 193
    functionName: VarText::set
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_text.cpp
    functionUses: 0
    functionsReached:
    - VlcProc*::getStreamBitRateVar
    - VarText::delObservers
    - notify
    - VlcProc*::getStreamURIVar
    - VlcProc*::getTimeVar
    - getIntf
    - VarManager::instance
    - VlcProc*::getStreamSampleRateVar
    - VlcProc*::getSpeedVar
    - VlcProc::instance
    - VlcProc*::getVolumeVar
    - VarManager*::getHelpText
    - VlcProc*::getStreamNameVar
    - find
    linkageType: ''
    returnType: void
    signature: void VarText::set( const UString &rText )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VarText::get
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:199,1
    - Dst: notify
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - rVariable
    - arg
    argTypes:
    - Subject<VarPercent>
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 206
    functionName: VarText::onUpdate
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_text.cpp
    functionUses: 0
    functionsReached:
    - VarText::get
    - notify
    linkageType: ''
    returnType: void
    signature: void VarText::onUpdate( Subject<VarPercent> &rVariable, void *arg )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VarText::get
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:212,1
    - Dst: notify
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - rVariable
    - arg
    argTypes:
    - Subject<VarText>
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 219
    functionName: VarText::onUpdate
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_text.cpp
    functionUses: 0
    functionsReached:
    - VarText::get
    - notify
    linkageType: ''
    returnType: void
    signature: void VarText::onUpdate( Subject<VarText> &rVariable, void *arg )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:226,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:227,1
    - Dst: VlcProc*::getTimeVar
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:231,1
    - Dst: VlcProc*::getVolumeVar
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:232,1
    - Dst: VlcProc*::getSpeedVar
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:233,1
    - Dst: VlcProc*::getStreamNameVar
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:234,1
    - Dst: VlcProc*::getStreamURIVar
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:235,1
    - Dst: VlcProc*::getStreamBitRateVar
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:236,1
    - Dst: VlcProc*::getStreamSampleRateVar
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:237,1
    - Dst: VarManager*::getHelpText
      Src: /src/vlc/modules/gui/skins2/utils/var_text.cpp:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 242
    functionName: VarText::delObservers
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/var_text.cpp
    functionUses: 2
    functionsReached:
    - VlcProc*::getStreamBitRateVar
    - VlcProc*::getStreamURIVar
    - VlcProc*::getTimeVar
    - getIntf
    - VlcProc*::getStreamSampleRateVar
    - VlcProc*::getSpeedVar
    - VlcProc*::getStreamNameVar
    - VlcProc*::getVolumeVar
    - VarManager*::getHelpText
    linkageType: ''
    returnType: void
    signature: void VarText::delObservers()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - left
    - top
    - right
    - bottom
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: SkinsRect::SkinsRect
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/position.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SkinsRect::SkinsRect( int left, int top, int right, int bottom
      )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Position::getWidth
      Src: /src/vlc/modules/gui/skins2/utils/position.cpp:68,1
    - Dst: Position::getHeight
      Src: /src/vlc/modules/gui/skins2/utils/position.cpp:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 9
    argNames:
    - left
    - top
    - right
    - bottom
    - rRect
    - refLeftTop
    - refRightBottom
    - xKeepRatio
    - yKeepRatio
    argTypes:
    - int
    - int
    - int
    - int
    - GenericRect
    - Ref_t
    - Ref_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 106
    functionName: Position::Position
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/position.cpp
    functionUses: 3
    functionsReached:
    - Position::getHeight
    - Position::getWidth
    linkageType: ''
    returnType: void
    signature: "void Position::Position( int left, int top, int right, int bottom,\n
      \                   const GenericRect &rRect,\n                    Ref_t refLeftTop,
      Ref_t refRightBottom,\n                    bool xKeepRatio, bool yKeepRatio
      )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Position::getWidth
      Src: /src/vlc/modules/gui/skins2/utils/position.cpp:115,1
    - Dst: Position::getLeft
      Src: /src/vlc/modules/gui/skins2/utils/position.cpp:116,1
    - Dst: Position::getLeft
      Src: /src/vlc/modules/gui/skins2/utils/position.cpp:124,1
    - Dst: Position::getLeft
      Src: /src/vlc/modules/gui/skins2/utils/position.cpp:127,1
    - Dst: Position::getWidth
      Src: /src/vlc/modules/gui/skins2/utils/position.cpp:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 132
    functionName: Position::getLeft
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/position.cpp
    functionUses: 1
    functionsReached:
    - Position::getLeft
    - Position::getWidth
    linkageType: ''
    returnType: int
    signature: int Position::getLeft() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Position::getHeight
      Src: /src/vlc/modules/gui/skins2/utils/position.cpp:141,1
    - Dst: Position::getTop
      Src: /src/vlc/modules/gui/skins2/utils/position.cpp:142,1
    - Dst: Position::getTop
      Src: /src/vlc/modules/gui/skins2/utils/position.cpp:150,1
    - Dst: Position::getTop
      Src: /src/vlc/modules/gui/skins2/utils/position.cpp:153,1
    - Dst: Position::getHeight
      Src: /src/vlc/modules/gui/skins2/utils/position.cpp:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 158
    functionName: Position::getTop
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/position.cpp
    functionUses: 1
    functionsReached:
    - Position::getHeight
    - Position::getTop
    linkageType: ''
    returnType: int
    signature: int Position::getTop() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Position::getLeft
      Src: /src/vlc/modules/gui/skins2/utils/position.cpp:168,1
    - Dst: Position::getLeft
      Src: /src/vlc/modules/gui/skins2/utils/position.cpp:176,1
    - Dst: Position::getLeft
      Src: /src/vlc/modules/gui/skins2/utils/position.cpp:179,1
    - Dst: Position::getWidth
      Src: /src/vlc/modules/gui/skins2/utils/position.cpp:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 184
    functionName: Position::getRight
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/position.cpp
    functionUses: 0
    functionsReached:
    - Position::getLeft
    - Position::getWidth
    linkageType: ''
    returnType: int
    signature: int Position::getRight() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Position::getTop
      Src: /src/vlc/modules/gui/skins2/utils/position.cpp:194,1
    - Dst: Position::getTop
      Src: /src/vlc/modules/gui/skins2/utils/position.cpp:202,1
    - Dst: Position::getTop
      Src: /src/vlc/modules/gui/skins2/utils/position.cpp:205,1
    - Dst: Position::getHeight
      Src: /src/vlc/modules/gui/skins2/utils/position.cpp:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 210
    functionName: Position::getBottom
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/position.cpp
    functionUses: 0
    functionsReached:
    - Position::getTop
    - Position::getHeight
    linkageType: ''
    returnType: int
    signature: int Position::getBottom() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Position::getRight
      Src: /src/vlc/modules/gui/skins2/utils/position.cpp:215,1
    - Dst: Position::getLeft
      Src: /src/vlc/modules/gui/skins2/utils/position.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: Position::getWidth
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/position.cpp
    functionUses: 3
    functionsReached:
    - Position::getLeft
    - Position::getRight
    linkageType: ''
    returnType: int
    signature: int Position::getWidth() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Position::getBottom
      Src: /src/vlc/modules/gui/skins2/utils/position.cpp:221,1
    - Dst: Position::getTop
      Src: /src/vlc/modules/gui/skins2/utils/position.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: Position::getHeight
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/position.cpp
    functionUses: 3
    functionsReached:
    - Position::getTop
    - Position::getBottom
    linkageType: ''
    returnType: int
    signature: int Position::getHeight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pIntf
    - width
    - height
    argTypes:
    - intf_thread_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: VarBox::VarBox
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/position.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VarBox::VarBox( intf_thread_t *pIntf, int width, int height )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: VarBox::getWidth
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/position.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VarBox::getWidth() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: VarBox::getHeight
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/position.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VarBox::getHeight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: notify
      Src: /src/vlc/modules/gui/skins2/utils/position.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - width
    - height
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 248
    functionName: VarBox::setSize
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/position.cpp
    functionUses: 0
    functionsReached:
    - notify
    linkageType: ''
    returnType: void
    signature: void VarBox::setSize( int width, int height )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~Box()
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/position.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Box()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: SkinsRect::getLeft
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/position.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getLeft() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: SkinsRect::getTop
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/position.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getTop() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: SkinsRect::getRight
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/position.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getRight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: SkinsRect::getBottom
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/position.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getBottom() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: SkinsRect::getWidth
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/position.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getWidth() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: SkinsRect::getHeight
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/position.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getHeight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: ~Position()
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/position.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Position()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: Position::getRefLeftTop
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/position.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Ref_t
    signature: Ref_t getRefLeftTop() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: Position::getRefRightBottom
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/position.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Ref_t
    signature: Ref_t getRefRightBottom() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: ~VarBox()
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/position.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VarBox()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: '&getType() const'
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/position.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 168
    functionName: rect::rect
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/position.hpp
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rect( int v_x = 0, int v_y = 0, int v_width = 0, int v_height
      = 0 )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: ~rect()
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/position.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~rect()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ' rect2'
    - ' rect1'
    argTypes:
    - rect
    - rect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 190
    functionName: rect::isIncluded
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/position.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isIncluded( const rect& rect2, const rect& rect1 )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ' rect2'
    - ' rect1'
    argTypes:
    - rect
    - rect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 208
    functionName: rect::areDisjunct
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/position.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool areDisjunct( const rect& rect2, const rect& rect1 )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rect::areDisjunct
      Src: /src/vlc/modules/gui/skins2/utils/position.hpp:222,1
    - Dst: rect::max
      Src: /src/vlc/modules/gui/skins2/utils/position.hpp:226,1
    - Dst: rect::min
      Src: /src/vlc/modules/gui/skins2/utils/position.hpp:227,1
    - Dst: rect::max
      Src: /src/vlc/modules/gui/skins2/utils/position.hpp:228,1
    - Dst: rect::min
      Src: /src/vlc/modules/gui/skins2/utils/position.hpp:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' rect1'
    - ' rect2'
    - pRect
    argTypes:
    - rect
    - rect
    - rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 237
    functionName: rect::intersect
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/position.hpp
    functionUses: 14
    functionsReached:
    - rect::min
    - rect::areDisjunct
    - rect::max
    linkageType: ''
    returnType: bool
    signature: bool intersect( const rect& rect1, const rect& rect2, rect* pRect )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rect::min
      Src: /src/vlc/modules/gui/skins2/utils/position.hpp:251,1
    - Dst: rect::max
      Src: /src/vlc/modules/gui/skins2/utils/position.hpp:252,1
    - Dst: rect::min
      Src: /src/vlc/modules/gui/skins2/utils/position.hpp:253,1
    - Dst: rect::max
      Src: /src/vlc/modules/gui/skins2/utils/position.hpp:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' rect1'
    - ' rect2'
    - pRect
    argTypes:
    - rect
    - rect
    - rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 261
    functionName: rect::join
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/position.hpp
    functionUses: 1
    functionsReached:
    - rect::min
    - rect::max
    linkageType: ''
    returnType: bool
    signature: bool join( const rect& rect1, const rect& rect2, rect* pRect )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: rect::min
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/position.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int min( int x, int y )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 263
    functionName: rect::max
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/position.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int max( int x, int y )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - rect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: operator==( const rect& other ) const
    functionSourceFile: /src/vlc/modules/gui/skins2/utils/position.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==( const rect& other ) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BuilderData::BuilderData
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:36,1
    - Dst: insert
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:40,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - pIntf
    - rFileName
    - rPath
    - pData
    - instance
    argTypes:
    - intf_thread_t*
    - std::string
    - std::string
    - BuilderData*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 43
    functionName: SkinParser::SkinParser
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp
    functionUses: 0
    functionsReached:
    - insert
    - BuilderData::BuilderData
    - push_back
    linkageType: ''
    returnType: void
    signature: "void SkinParser::SkinParser( intf_thread_t *pIntf, const std::string
      &rFileName,\n                        const std::string &rPath, BuilderData *pData,
      unsigned instance )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: SkinParser::~SkinParser()
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SkinParser::~SkinParser()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AttrList_t::find
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:57,1
    - Dst: AttrList_t::end
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:57,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:59,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:59,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - attr
    - name
    - a
    argTypes:
    - AttrList_t
    - std::string
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 64
    functionName: SkinParser::MissingAttr
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp
    functionUses: 0
    functionsReached:
    - AttrList_t::end
    - msg_Err
    - std::string::c_str
    - getIntf
    - AttrList_t::find
    linkageType: ''
    returnType: bool
    signature: "bool SkinParser::MissingAttr( AttrList_t &attr, const std::string
      &name,\n                                     const char *a )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: realpath
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:68,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:68,1
    - Dst: realpath
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:69,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:69,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:73,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:74,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:80,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:81,1
    - Dst: std::string::size
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:83,1
    - Dst: std::string::size
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:83,1
    - Dst: std::string::compare
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:84,1
    - Dst: std::string::size
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:84,1
    - Dst: std::string::size
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:84,1
    - Dst: std::string::size
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:84,1
    - Dst: std::string::compare
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:87,1
    - Dst: std::string::size
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - base
    - path
    - dirsep
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 88
    functionName: isSubPath
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp
    functionUses: 0
    functionsReached:
    - std::string::compare
    - free
    - std::string::c_str
    - std::string::size
    - realpath
    linkageType: ''
    returnType: bool
    signature: bool isSubPath( const std::string &base, const std::string &path, const
      std::string &dirsep )
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:102,1
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:104,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:104,1
    - Dst: OSFactory*::getDirSeparator
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:105,1
    - Dst: isSubPath
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:106,1
    - Dst: OSFactory*::getDirSeparator
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:106,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:108,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:108,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:113,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:113,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:113,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:114,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:114,1
    - Dst: SkinParser::parse
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:115,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:120,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:121,1
    - Dst: m_listIniFile::push_back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:125,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:130,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:131,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:132,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:133,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:134,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:135,1
    - Dst: SkinParser::getRefDimensions
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:138,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:139,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:140,1
    - Dst: atoi
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:143,1
    - Dst: atoi
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:143,1
    - Dst: m_listAnchor::push_back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:145,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:150,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:151,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:152,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:153,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:154,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:155,1
    - Dst: SkinParser::uniqueId
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:157,1
    - Dst: m_listBitmap::push_back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:162,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:167,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:168,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:169,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:170,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:171,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:172,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:173,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:174,1
    - Dst: m_listSubBitmap::push_back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:181,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:186,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:187,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:188,1
    - Dst: m_listBitmapFont::push_back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:192,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:197,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:199,1
    - Dst: SkinParser::uniqueId
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:200,1
    - Dst: m_listPopupMenu::push_back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:202,1
    - Dst: empty
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:205,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:207,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:208,1
    - Dst: back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:211,1
    - Dst: m_listMenuItem::push_back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:213,1
    - Dst: back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:214,1
    - Dst: empty
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:217,1
    - Dst: back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:219,1
    - Dst: m_listMenuSeparator::push_back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:221,1
    - Dst: back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:222,1
    - Dst: empty
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:225,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:227,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:228,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:229,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:230,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:231,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:232,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:233,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:234,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:235,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:236,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:237,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:238,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:239,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:240,1
    - Dst: SkinParser::getRefDimensions
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:243,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:244,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:245,1
    - Dst: SkinParser::uniqueId
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:246,1
    - Dst: SkinParser::convertBoolean
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:249,1
    - Dst: SkinParser::convertBoolean
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:250,1
    - Dst: back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:253,1
    - Dst: m_listButton::push_back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:255,1
    - Dst: empty
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:258,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:260,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:261,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:262,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:263,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:264,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:265,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:266,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:267,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:268,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:269,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:270,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:271,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:272,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:273,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:274,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:275,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:276,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:277,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:278,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:279,1
    - Dst: SkinParser::getRefDimensions
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:282,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:283,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:284,1
    - Dst: SkinParser::uniqueId
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:285,1
    - Dst: SkinParser::convertBoolean
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:288,1
    - Dst: SkinParser::convertBoolean
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:289,1
    - Dst: back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:294,1
    - Dst: m_listCheckbox::push_back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:296,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:301,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:302,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:303,1
    - Dst: m_listFont::push_back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:307,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:312,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:313,1
    - Dst: atoi
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:315,1
    - Dst: atoi
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:316,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:317,1
    - Dst: atoi
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:317,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:318,1
    - Dst: atoi
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:318,1
    - Dst: empty
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:321,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:323,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:324,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:325,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:326,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:327,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:328,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:329,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:330,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:331,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:332,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:333,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:334,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:335,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:336,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:337,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:338,1
    - Dst: SkinParser::getRefDimensions
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:341,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:342,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:343,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:344,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:345,1
    - Dst: SkinParser::uniqueId
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:346,1
    - Dst: SkinParser::convertBoolean
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:349,1
    - Dst: SkinParser::convertBoolean
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:350,1
    - Dst: SkinParser::convertBoolean
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:352,1
    - Dst: back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:354,1
    - Dst: m_listImage::push_back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:356,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:361,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:362,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:363,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:364,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:365,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:366,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:367,1
    - Dst: SkinParser::getRefDimensions
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:370,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:371,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:372,1
    - Dst: SkinParser::uniqueId
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:374,1
    - Dst: SkinParser::updateWindowPos
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:383,1
    - Dst: m_listLayout::push_back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:384,1
    - Dst: empty
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:388,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:390,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:391,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:392,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:393,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:394,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:395,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:396,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:397,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:398,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:399,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:400,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:401,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:402,1
    - Dst: SkinParser::getRefDimensions
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:405,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:406,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:407,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:408,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:409,1
    - Dst: SkinParser::convertPosition
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:410,1
    - Dst: SkinParser::uniqueId
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:415,1
    - Dst: SkinParser::convertBoolean
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:419,1
    - Dst: SkinParser::convertBoolean
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:420,1
    - Dst: back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:422,1
    - Dst: m_listPanel::push_back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:424,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:426,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:426,1
    - Dst: empty
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:429,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:431,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:432,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:433,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:434,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:435,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:436,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:437,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:438,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:439,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:440,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:441,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:442,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:443,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:444,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:445,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:446,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:447,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:448,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:449,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:450,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:451,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:452,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:453,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:454,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:455,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:456,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:457,1
    - Dst: SkinParser::getRefDimensions
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:460,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:461,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:462,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:463,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:464,1
    - Dst: SkinParser::convertPosition
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:465,1
    - Dst: SkinParser::uniqueId
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:470,1
    - Dst: SkinParser::convertBoolean
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:476,1
    - Dst: SkinParser::convertBoolean
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:477,1
    - Dst: back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:486,1
    - Dst: m_listTree::push_back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:488,1
    - Dst: empty
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:490,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:492,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:493,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:494,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:495,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:496,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:497,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:498,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:499,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:500,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:501,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:502,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:503,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:504,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:505,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:506,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:507,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:508,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:509,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:510,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:511,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:512,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:513,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:514,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:515,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:516,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:517,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:518,1
    - Dst: SkinParser::getRefDimensions
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:521,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:522,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:523,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:524,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:525,1
    - Dst: SkinParser::convertPosition
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:526,1
    - Dst: SkinParser::uniqueId
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:531,1
    - Dst: SkinParser::convertBoolean
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:537,1
    - Dst: SkinParser::convertBoolean
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:538,1
    - Dst: back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:545,1
    - Dst: m_listTree::push_back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:547,1
    - Dst: empty
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:550,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:552,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:553,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:554,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:555,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:556,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:557,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:558,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:559,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:560,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:561,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:562,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:563,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:564,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:565,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:566,1
    - Dst: SkinParser::getRefDimensions
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:569,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:570,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:571,1
    - Dst: SkinParser::uniqueId
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:572,1
    - Dst: SkinParser::convertBoolean
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:576,1
    - Dst: SkinParser::convertBoolean
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:577,1
    - Dst: atoi
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:578,1
    - Dst: atof
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:578,1
    - Dst: atof
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:579,1
    - Dst: back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:581,1
    - Dst: m_listRadialSlider::push_back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:583,1
    - Dst: empty
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:586,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:588,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:589,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:590,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:591,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:592,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:593,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:594,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:595,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:596,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:597,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:598,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:599,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:600,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:601,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:602,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:603,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:604,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:605,1
    - Dst: SkinParser::getRefDimensions
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:615,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:616,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:617,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:618,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:619,1
    - Dst: SkinParser::uniqueId
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:620,1
    - Dst: SkinParser::convertBoolean
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:623,1
    - Dst: SkinParser::convertBoolean
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:624,1
    - Dst: atoi
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:625,1
    - Dst: back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:628,1
    - Dst: m_listSlider::push_back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:630,1
    - Dst: m_listSlider::empty
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:633,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:635,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:636,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:637,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:638,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:639,1
    - Dst: m_listSlider::back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:642,1
    - Dst: atoi
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:645,1
    - Dst: atoi
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:646,1
    - Dst: atoi
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:647,1
    - Dst: atoi
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:648,1
    - Dst: empty
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:651,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:653,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:654,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:655,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:656,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:657,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:658,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:659,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:660,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:661,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:662,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:663,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:664,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:665,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:666,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:667,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:668,1
    - Dst: SkinParser::getRefDimensions
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:671,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:672,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:673,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:674,1
    - Dst: SkinParser::uniqueId
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:676,1
    - Dst: SkinParser::convertBoolean
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:682,1
    - Dst: SkinParser::convertBoolean
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:683,1
    - Dst: SkinParser::convertColor
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:684,1
    - Dst: back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:688,1
    - Dst: m_listText::push_back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:690,1
    - Dst: RequireAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:695,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:696,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:697,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:698,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:699,1
    - Dst: strcmp
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:702,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:704,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:704,1
    - Dst: atoi
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:710,1
    - Dst: SkinParser::convertInRange
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:711,1
    - Dst: SkinParser::convertInRange
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:712,1
    - Dst: m_listTheme::push_back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:713,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:718,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:719,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:720,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:721,1
    - Dst: msg_Info
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:722,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:722,1
    - Dst: empty
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:726,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:728,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:729,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:730,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:731,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:732,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:733,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:734,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:735,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:736,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:737,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:738,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:739,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:740,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:741,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:742,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:743,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:744,1
    - Dst: SkinParser::getRefDimensions
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:747,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:748,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:749,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:750,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:751,1
    - Dst: SkinParser::convertPosition
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:752,1
    - Dst: SkinParser::uniqueId
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:757,1
    - Dst: SkinParser::convertBoolean
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:760,1
    - Dst: SkinParser::convertBoolean
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:761,1
    - Dst: SkinParser::convertBoolean
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:762,1
    - Dst: back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:764,1
    - Dst: m_listVideo::push_back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:766,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:771,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:772,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:773,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:774,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:775,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:776,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:777,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:778,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:779,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:780,1
    - Dst: SkinParser::DefaultAttr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:781,1
    - Dst: SkinParser::uniqueId
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:783,1
    - Dst: SkinParser::getRefDimensions
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:786,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:787,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:788,1
    - Dst: SkinParser::convertBoolean
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:794,1
    - Dst: SkinParser::convertBoolean
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:795,1
    - Dst: SkinParser::convertBoolean
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:796,1
    - Dst: m_listWindow::push_back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:797,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 392
    argCount: 2
    argNames:
    - rName
    - attr
    argTypes:
    - std::string
    - AttrList_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 800
    functionName: SkinParser::handleBeginElement
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp
    functionUses: 0
    functionsReached:
    - m_listWindow::push_back
    - atoi
    - m_listCheckbox::push_back
    - m_listText::push_back
    - m_listBitmap::push_back
    - m_listTree::push_back
    - SkinParser::convertPosition
    - m_listSlider::empty
    - std::string::c_str
    - std::move
    - getIntf
    - m_listSubBitmap::push_back
    - SkinParser::convertBoolean
    - m_listRadialSlider::push_back
    - SkinParser::DefaultAttr
    - SkinParser::convertInRange
    - m_listBitmapFont::push_back
    - OSFactory*::getDirSeparator
    - SkinParser::getDimension
    - push_back
    - m_listVideo::push_back
    - SkinParser::parse
    - m_listTheme::push_back
    - m_listSlider::back
    - msg_Err
    - msg_Dbg
    - m_listLayout::push_back
    - m_listPanel::push_back
    - m_listButton::push_back
    - atof
    - m_listAnchor::push_back
    - OSFactory::instance
    - RequireAttr
    - SkinParser::convertColor
    - SkinParser::getRefDimensions
    - m_listIniFile::push_back
    - m_listImage::push_back
    - SkinParser::uniqueId
    - strcmp
    - m_listPopupMenu::push_back
    - m_listFont::push_back
    - back
    - m_listMenuSeparator::push_back
    - msg_Info
    - empty
    - m_listMenuItem::push_back
    - SkinParser::updateWindowPos
    - isSubPath
    - m_listSlider::push_back
    linkageType: ''
    returnType: void
    signature: void SkinParser::handleBeginElement( const std::string &rName, AttrList_t
      &attr )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - attr
    - ','
    - name
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: RequireAttr
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RequireAttr( attr, name, a )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:805,1
    - Dst: empty
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:805,1
    - Dst: back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:807,1
    - Dst: back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:808,1
    - Dst: pop_back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:809,1
    - Dst: pop_back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:810,1
    - Dst: empty
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:816,1
    - Dst: pop_back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:819,1
    - Dst: empty
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:821,1
    - Dst: pop_back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:823,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - rName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 825
    functionName: SkinParser::handleEndElement
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp
    functionUses: 0
    functionsReached:
    - pop_back
    - empty
    - back
    linkageType: ''
    returnType: void
    signature: void SkinParser::handleEndElement( const std::string &rName )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 831
    functionName: SkinParser::convertBoolean
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool SkinParser::convertBoolean( const char *value ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - transcolor
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 841
    functionName: SkinParser::convertColor
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp
    functionUses: 1
    functionsReached:
    - sscanf
    linkageType: ''
    returnType: int
    signature: int SkinParser::convertColor( const char *transcolor )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:847,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:851,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:851,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:853,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:858,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:858,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:860,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - value
    - minValue
    - maxValue
    - rAttribute
    argTypes:
    - char*
    - int
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 844
    functionDepth: 1
    functionLinenumber: 844
    functionLinenumberEnd: 867
    functionName: SkinParser::convertInRange
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp
    functionUses: 1
    functionsReached:
    - std::string::c_str
    - atoi
    - getIntf
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: "int SkinParser::convertInRange( const char *value, int minValue, int
      maxValue,\n                                const std::string &rAttribute ) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 880
    functionName: SkinParser::generateId
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string SkinParser::generateId() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:887,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:887,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:892,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:892,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:892,1
    - Dst: SkinParser::generateId
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:894,1
    - Dst: insert
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:903,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 906
    functionName: SkinParser::uniqueId
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp
    functionUses: 1
    functionsReached:
    - SkinParser::generateId
    - insert
    - std::string::c_str
    - getIntf
    - msg_Warn
    - end
    - find
    linkageType: ''
    returnType: std::string
    signature: std::string SkinParser::uniqueId( const std::string &id )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:912,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:912,1
    - Dst: OSFactory*::getScreenWidth
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:913,1
    - Dst: OSFactory*::getScreenHeight
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:914,1
    - Dst: empty
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:918,1
    - Dst: back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:918,1
    - Dst: m_listPanel::begin
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:922,1
    - Dst: m_listPanel::end
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:923,1
    - Dst: m_listLayout::empty
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:933,1
    - Dst: m_listLayout::back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:935,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:940,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:940,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - rWidth
    - rHeight
    - toScreen
    argTypes:
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 908
    functionDepth: 2
    functionLinenumber: 908
    functionLinenumberEnd: 941
    functionName: SkinParser::getRefDimensions
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp
    functionUses: 1
    functionsReached:
    - OSFactory*::getScreenHeight
    - m_listPanel::begin
    - back
    - msg_Err
    - m_listPanel::end
    - getIntf
    - empty
    - m_listLayout::empty
    - m_listLayout::back
    - OSFactory::instance
    - OSFactory*::getScreenWidth
    linkageType: ''
    returnType: void
    signature: void SkinParser::getRefDimensions( int &rWidth, int &rHeight, bool
      toScreen ) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:948,1
    - Dst: atoi
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:951,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:951,1
    - Dst: std::string::find
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:955,1
    - Dst: atoi
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:958,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:958,1
    - Dst: atoi
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:962,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:962,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - value
    - refDimension
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 944
    functionDepth: 1
    functionLinenumber: 944
    functionLinenumberEnd: 963
    functionName: SkinParser::getDimension
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp
    functionUses: 1
    functionsReached:
    - std::string::find
    - std::string::c_str
    - atoi
    - std::string::substr
    linkageType: ''
    returnType: int
    signature: int SkinParser::getDimension( const std::string &value, int refDimension
      )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:989,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:989,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:990,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - position
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 966
    functionDepth: 1
    functionLinenumber: 966
    functionLinenumberEnd: 992
    functionName: SkinParser::getPosition
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - getIntf
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int SkinParser::getPosition( const std::string &position ) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SkinParser::getPosition
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:1000,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:1005,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:1006,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:1007,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:1008,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:1033,1
    - Dst: SkinParser::getDimension
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:1034,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 11
    argNames:
    - position
    - xOffset
    - yOffset
    - xMargin
    - yMargin
    - width
    - height
    - refWidth
    - refHeight
    - p_x
    - p_y
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - int
    - int
    - int
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 995
    functionDepth: 2
    functionLinenumber: 995
    functionLinenumberEnd: 1040
    functionName: SkinParser::convertPosition
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp
    functionUses: 1
    functionsReached:
    - SkinParser::getPosition
    - SkinParser::getDimension
    linkageType: ''
    returnType: void
    signature: "void SkinParser::convertPosition( const std::string &position, const
      std::string &xOffset,\n                          const std::string &yOffset,
      const std::string &xMargin,\n                          const std::string &yMargin,
      int width, int height,\n                          int refWidth, int refHeight,
      int* p_x, int* p_y ) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: m_listWindow::empty
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:1045,1
    - Dst: m_listWindow::back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:1048,1
    - Dst: m_listWindow::pop_back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:1049,1
    - Dst: SkinParser::getRefDimensions
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:1052,1
    - Dst: SkinParser::convertPosition
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:1053,1
    - Dst: m_listWindow::push_back
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:1059,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp:1059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - width
    - height
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1043
    functionDepth: 3
    functionLinenumber: 1043
    functionLinenumberEnd: 1060
    functionName: SkinParser::updateWindowPos
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/skin_parser.cpp
    functionUses: 1
    functionsReached:
    - m_listWindow::push_back
    - m_listWindow::pop_back
    - SkinParser::getRefDimensions
    - SkinParser::convertPosition
    - m_listWindow::empty
    - std::move
    - m_listWindow::back
    linkageType: ''
    returnType: void
    signature: void SkinParser::updateWindowPos( int width, int height )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: ~Interpreter()
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/interpreter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Interpreter()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/vlc/modules/gui/skins2/parser/expr_evaluator.cpp:28,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/expr_evaluator.cpp:30,1
    - Dst: std::list::push_back
      Src: /src/vlc/modules/gui/skins2/parser/expr_evaluator.cpp:47,1
    - Dst: std::list::empty
      Src: /src/vlc/modules/gui/skins2/parser/expr_evaluator.cpp:53,1
    - Dst: std::list::back
      Src: /src/vlc/modules/gui/skins2/parser/expr_evaluator.cpp:56,1
    - Dst: std::list::pop_back
      Src: /src/vlc/modules/gui/skins2/parser/expr_evaluator.cpp:57,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/parser/expr_evaluator.cpp:63,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/gui/skins2/parser/expr_evaluator.cpp:76,1
    - Dst: std::list::empty
      Src: /src/vlc/modules/gui/skins2/parser/expr_evaluator.cpp:84,1
    - Dst: ExprEvaluator::hasPrecedency
      Src: /src/vlc/modules/gui/skins2/parser/expr_evaluator.cpp:85,1
    - Dst: std::list::back
      Src: /src/vlc/modules/gui/skins2/parser/expr_evaluator.cpp:85,1
    - Dst: std::list::back
      Src: /src/vlc/modules/gui/skins2/parser/expr_evaluator.cpp:88,1
    - Dst: std::list::pop_back
      Src: /src/vlc/modules/gui/skins2/parser/expr_evaluator.cpp:89,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/parser/expr_evaluator.cpp:90,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/skins2/parser/expr_evaluator.cpp:90,1
    - Dst: std::list::push_back
      Src: /src/vlc/modules/gui/skins2/parser/expr_evaluator.cpp:92,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/parser/expr_evaluator.cpp:96,1
    - Dst: std::list::empty
      Src: /src/vlc/modules/gui/skins2/parser/expr_evaluator.cpp:101,1
    - Dst: std::list::back
      Src: /src/vlc/modules/gui/skins2/parser/expr_evaluator.cpp:103,1
    - Dst: std::list::pop_back
      Src: /src/vlc/modules/gui/skins2/parser/expr_evaluator.cpp:104,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/parser/expr_evaluator.cpp:105,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 1
    argNames:
    - rExpr
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 107
    functionName: ExprEvaluator::parse
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/expr_evaluator.cpp
    functionUses: 0
    functionsReached:
    - std::list::back
    - ExprEvaluator::hasPrecedency
    - push_back
    - std::list::empty
    - clear
    - std::list::pop_back
    - std::string::c_str
    - std::move
    - std::string::substr
    - std::list::push_back
    linkageType: ''
    returnType: void
    signature: void ExprEvaluator::parse( const std::string &rExpr )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/gui/skins2/parser/expr_evaluator.cpp:112,1
    - Dst: front
      Src: /src/vlc/modules/gui/skins2/parser/expr_evaluator.cpp:114,1
    - Dst: pop_front
      Src: /src/vlc/modules/gui/skins2/parser/expr_evaluator.cpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 119
    functionName: ExprEvaluator::getToken
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/expr_evaluator.cpp
    functionUses: 0
    functionsReached:
    - empty
    - pop_front
    - front
    linkageType: ''
    returnType: std::string
    signature: std::string ExprEvaluator::getToken()
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - op1
    - op2
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 138
    functionName: ExprEvaluator::hasPrecedency
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/expr_evaluator.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ExprEvaluator::hasPrecedency( const std::string &op1, const std::string
      &op2 ) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xml_Create
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:34,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:37,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:37,1
    - Dst: XMLParser::LoadCatalog
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:41,1
    - Dst: vlc_path2uri
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:43,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:43,1
    - Dst: vlc_stream_NewURL
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:44,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:45,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:48,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:48,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:49,1
    - Dst: xml_ReaderCreate
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:53,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:56,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:56,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:57,1
    - Dst: xml_ReaderUseDTD
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - pIntf
    - rFileName
    argTypes:
    - intf_thread_t*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 62
    functionName: XMLParser::XMLParser
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp
    functionUses: 0
    functionsReached:
    - xml_Create
    - xml_ReaderUseDTD
    - XMLParser::LoadCatalog
    - xml_ReaderCreate
    - msg_Err
    - free
    - std::string::c_str
    - getIntf
    - vlc_path2uri
    - vlc_stream_NewURL
    linkageType: ''
    returnType: void
    signature: void XMLParser::XMLParser( intf_thread_t *pIntf, const std::string
      &rFileName )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderDelete
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:67,1
    - Dst: xml_Delete
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:68,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: XMLParser::~XMLParser()
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp
    functionUses: 0
    functionsReached:
    - xml_Delete
    - vlc_stream_Delete
    - xml_ReaderDelete
    linkageType: ''
    returnType: void
    signature: void XMLParser::~XMLParser()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:76,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:76,1
    - Dst: OSFactory*::getResourcePath
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:77,1
    - Dst: OSFactory*::getDirSeparator
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:78,1
    - Dst: std::list::begin
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:85,1
    - Dst: std::list::end
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:85,1
    - Dst: vlc_stat
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:88,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:88,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:90,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:90,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:90,1
    - Dst: xml_CatalogLoad
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:91,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:91,1
    - Dst: std::list::end
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:95,1
    - Dst: xml_CatalogLoad
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:98,1
    - Dst: std::list::begin
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:101,1
    - Dst: std::list::end
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:101,1
    - Dst: vlc_stat
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:104,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:104,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:107,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:107,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:107,1
    - Dst: xml_CatalogAdd
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:110,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:112,1
    - Dst: std::list::end
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:116,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:118,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:118,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 120
    functionName: XMLParser::LoadCatalog
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp
    functionUses: 1
    functionsReached:
    - OSFactory*::getResourcePath
    - OSFactory*::getDirSeparator
    - std::list::begin
    - xml_CatalogLoad
    - xml_CatalogAdd
    - std::list::end
    - msg_Err
    - std::string::c_str
    - getIntf
    - msg_Dbg
    - vlc_stat
    - OSFactory::instance
    linkageType: ''
    returnType: void
    signature: void XMLParser::LoadCatalog()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:131,1
    - Dst: xml_ReaderNextAttr
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:142,1
    - Dst: strdup
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:143,1
    - Dst: strdup
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:143,1
    - Dst: XMLParser::handleBeginElement
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:145,1
    - Dst: AttrList_t::begin
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:148,1
    - Dst: AttrList_t::end
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:149,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:151,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:152,1
    - Dst: XMLParser::handleEndElement
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp:161,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 167
    functionName: XMLParser::parse
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/xmlparser.cpp
    functionUses: 0
    functionsReached:
    - strdup
    - AttrList_t::begin
    - AttrList_t::end
    - XMLParser::handleBeginElement
    - free
    - XMLParser::handleEndElement
    - xml_ReaderNextAttr
    - xml_ReaderNextNode
    linkageType: ''
    returnType: bool
    signature: bool XMLParser::parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:54,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:55,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:56,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:57,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:58,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:59,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:60,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:61,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:62,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:63,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:64,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:65,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:67,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:68,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:69,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:70,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:72,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:73,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:74,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:75,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:76,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:77,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:78,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:79,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:80,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:81,1
    - Dst: REGISTER_CMD1
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:82,1
    - Dst: REGISTER_CMD1
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:83,1
    - Dst: REGISTER_CMD1
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:84,1
    - Dst: REGISTER_CMD1
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:85,1
    - Dst: REGISTER_CMD1
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:86,1
    - Dst: REGISTER_CMD1
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:87,1
    - Dst: VlcProc::instance
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:88,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:88,1
    - Dst: REGISTER_CMD1
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:89,1
    - Dst: REGISTER_CMD1
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:90,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:91,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:92,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:93,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:94,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:95,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:96,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:97,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:98,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:99,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:100,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:101,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:102,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:103,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:104,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:105,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:106,1
    - Dst: REGISTER_CMD
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:107,1
    - Dst: REGISTER_CMD1
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:108,1
    - Dst: REGISTER_CMD1
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:109,1
    - Dst: VarManager::instance
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:112,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:112,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:113,1
    - Dst: VarBoolTrue::VarBoolTrue
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:113,1
    - Dst: VarManager*::registerVar
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:114,1
    - Dst: VariablePtr
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:114,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:115,1
    - Dst: VarBoolFalse::VarBoolFalse
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:115,1
    - Dst: VarManager*::registerVar
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:116,1
    - Dst: VariablePtr
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 56
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 120
    functionName: Interpreter::Interpreter
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/interpreter.cpp
    functionUses: 0
    functionsReached:
    - VariablePtr
    - VarBoolFalse::VarBoolFalse
    - REGISTER_CMD1
    - VarManager::instance
    - getIntf
    - REGISTER_CMD
    - VarManager*::registerVar
    - VlcProc::instance
    - VarBoolTrue::VarBoolTrue
    linkageType: ''
    returnType: void
    signature: void Interpreter::Interpreter( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - cmd
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: REGISTER_CMD
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/interpreter.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REGISTER_CMD( name, cmd )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - cmd
    - ','
    - a1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: REGISTER_CMD1
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/interpreter.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REGISTER_CMD1( name, cmd, a1 )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Interpreter::Interpreter
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 4
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: Interpreter::instance
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/interpreter.cpp
    functionUses: 1
    functionsReached:
    - Interpreter::Interpreter
    linkageType: ''
    returnType: Interpreter
    signature: Interpreter *Interpreter::instance( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: Interpreter::destroy
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/interpreter.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Interpreter::destroy( intf_thread_t *pIntf )
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:145,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:145,1
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:147,1
    - Dst: std::string::find
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:152,1
    - Dst: std::string::find
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:157,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:160,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:163,1
    - Dst: std::string::find_last_not_of
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:163,1
    - Dst: std::list::push_back
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:164,1
    - Dst: Interpreter::parseAction
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:164,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:167,1
    - Dst: std::string::size
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:167,1
    - Dst: std::string::find_first_not_of
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:168,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:177,1
    - Dst: std::string::find_first_not_of
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:177,1
    - Dst: std::string::size
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:178,1
    - Dst: std::string::find
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:179,1
    - Dst: std::list::push_back
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:181,1
    - Dst: Interpreter::parseAction
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:181,1
    - Dst: std::list::remove
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:184,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:186,1
    - Dst: CmdMuxer::CmdMuxer
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:186,1
    - Dst: std::string::find
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:188,1
    - Dst: std::string::find
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:190,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:191,1
    - Dst: std::string::find
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:193,1
    - Dst: std::string::size
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:193,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:194,1
    - Dst: std::string::size
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:194,1
    - Dst: std::string::size
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:195,1
    - Dst: Theme*::getWindowById
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:197,1
    - Dst: Theme*::getLayoutById
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:198,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:201,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:201,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:201,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:205,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:205,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:205,1
    - Dst: GenericLayout*::getWindow
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:208,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:210,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:210,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:211,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:211,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:215,1
    - Dst: CmdLayout::CmdLayout
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:215,1
    - Dst: std::string::find
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:218,1
    - Dst: std::string::find
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:220,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:221,1
    - Dst: Theme*::getWindowById
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:223,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:226,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:226,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:226,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:230,1
    - Dst: Theme*::getWindowManager
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:231,1
    - Dst: CmdMaximize::CmdMaximize
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:230,1
    - Dst: std::string::find
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:235,1
    - Dst: std::string::find
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:237,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:238,1
    - Dst: Theme*::getWindowById
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:240,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:243,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:243,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:243,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:247,1
    - Dst: Theme*::getWindowManager
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:248,1
    - Dst: CmdUnmaximize::CmdUnmaximize
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:247,1
    - Dst: std::string::find
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:252,1
    - Dst: std::string::find
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:254,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:255,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:258,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:258,1
    - Dst: std::list::push_back
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:261,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:261,1
    - Dst: CmdDlgPlaylist::CmdDlgPlaylist
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:261,1
    - Dst: Theme*::getWindowById
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:262,1
    - Dst: std::list::push_back
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:264,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:264,1
    - Dst: Theme*::getWindowManager
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:265,1
    - Dst: CmdHideWindow::CmdHideWindow
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:264,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:267,1
    - Dst: CmdMuxer::CmdMuxer
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:267,1
    - Dst: Theme*::getWindowById
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:271,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:274,1
    - Dst: Theme*::getWindowManager
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:275,1
    - Dst: CmdShowWindow::CmdShowWindow
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:274,1
    - Dst: Theme*::getPopupById
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:281,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:284,1
    - Dst: CmdShowPopup::CmdShowPopup
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:284,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:288,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:288,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:289,1
    - Dst: std::string::find
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:294,1
    - Dst: std::string::find
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:296,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:297,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:299,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:299,1
    - Dst: std::list::push_back
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:302,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:302,1
    - Dst: CmdDlgPlaylist::CmdDlgPlaylist
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:302,1
    - Dst: Theme*::getWindowById
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:303,1
    - Dst: std::list::push_back
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:305,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:305,1
    - Dst: Theme*::getWindowManager
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:306,1
    - Dst: CmdHideWindow::CmdHideWindow
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:305,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:308,1
    - Dst: CmdMuxer::CmdMuxer
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:308,1
    - Dst: Theme*::getWindowById
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:312,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:315,1
    - Dst: Theme*::getWindowManager
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:316,1
    - Dst: CmdHideWindow::CmdHideWindow
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:315,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:321,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:321,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:321,1
    - Dst: Theme*::m_commands::push_back
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:329,1
    - Dst: CmdGenericPtr
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:329,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:333,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:333,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:333,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 85
    argCount: 2
    argNames:
    - rAction
    - pTheme
    argTypes:
    - std::string
    - Theme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 337
    functionName: Interpreter::parseAction
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/interpreter.cpp
    functionUses: 1
    functionsReached:
    - std::string::find
    - CmdUnmaximize::CmdUnmaximize
    - std::string::c_str
    - getIntf
    - Interpreter::parseAction
    - find
    - Theme*::getLayoutById
    - CmdHideWindow::CmdHideWindow
    - get
    - CmdShowWindow::CmdShowWindow
    - msg_Err
    - msg_Warn
    - CmdMuxer::CmdMuxer
    - std::string::find_last_not_of
    - std::string::find_first_not_of
    - var_InheritBool
    - Theme*::getWindowManager
    - GenericLayout*::getWindow
    - std::list::push_back
    - end
    - CmdLayout::CmdLayout
    - Theme*::getPopupById
    - CmdShowPopup::CmdShowPopup
    - CmdGenericPtr
    - std::string::size
    - std::list::remove
    - std::string::substr
    - CmdMaximize::CmdMaximize
    - Theme*::getWindowById
    - CmdDlgPlaylist::CmdDlgPlaylist
    - Theme*::m_commands::push_back
    linkageType: ''
    returnType: CmdGeneric
    signature: CmdGeneric *Interpreter::parseAction( const std::string &rAction, Theme
      *pTheme )
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: VarManager::instance
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:342,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:342,1
    - Dst: ExprEvaluator::parse
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:346,1
    - Dst: ExprEvaluator::getToken
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:351,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:352,1
    - Dst: std::list::empty
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:357,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:359,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:359,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:360,1
    - Dst: std::list::back
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:363,1
    - Dst: std::list::pop_back
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:364,1
    - Dst: std::list::empty
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:365,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:367,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:367,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:368,1
    - Dst: std::list::back
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:371,1
    - Dst: std::list::pop_back
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:372,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:375,1
    - Dst: VarBoolAndBool::VarBoolAndBool
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:375,1
    - Dst: std::list::push_back
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:376,1
    - Dst: VarManager*::registerVar
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:378,1
    - Dst: VariablePtr
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:378,1
    - Dst: std::list::empty
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:383,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:385,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:385,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:386,1
    - Dst: std::list::back
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:389,1
    - Dst: std::list::pop_back
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:390,1
    - Dst: std::list::empty
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:391,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:393,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:393,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:394,1
    - Dst: std::list::back
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:397,1
    - Dst: std::list::pop_back
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:398,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:401,1
    - Dst: VarBoolOrBool::VarBoolOrBool
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:401,1
    - Dst: std::list::push_back
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:402,1
    - Dst: VarManager*::registerVar
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:404,1
    - Dst: VariablePtr
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:404,1
    - Dst: std::list::empty
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:409,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:411,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:411,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:412,1
    - Dst: std::list::back
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:415,1
    - Dst: std::list::pop_back
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:416,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:419,1
    - Dst: VarNotBool::VarNotBool
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:419,1
    - Dst: std::list::push_back
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:420,1
    - Dst: VarManager*::registerVar
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:422,1
    - Dst: VariablePtr
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:422,1
    - Dst: VarManager*::getVar
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:430,1
    - Dst: std::list::push_back
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:433,1
    - Dst: std::string::find
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:435,1
    - Dst: std::string::find
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:437,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:438,1
    - Dst: Theme*::getWindowById
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:439,1
    - Dst: std::list::push_back
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:443,1
    - Dst: TopWindow*::getVisibleVar
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:443,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:447,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:447,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:448,1
    - Dst: std::string::find
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:452,1
    - Dst: std::string::find
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:454,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:455,1
    - Dst: Theme*::getWindowById
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:456,1
    - Dst: std::list::push_back
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:460,1
    - Dst: TopWindow*::getMaximizedVar
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:460,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:464,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:464,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:465,1
    - Dst: std::string::find
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:469,1
    - Dst: std::string::find
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:471,1
    - Dst: std::string::substr
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:472,1
    - Dst: Theme*::getLayoutById
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:473,1
    - Dst: std::list::push_back
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:477,1
    - Dst: GenericLayout*::getActiveVar
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:477,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:481,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:481,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:482,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:488,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:488,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:489,1
    - Dst: ExprEvaluator::getToken
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:494,1
    - Dst: std::list::size
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:498,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:500,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:500,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:500,1
    - Dst: std::list::back
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:503,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 78
    argCount: 2
    argNames:
    - rName
    - pTheme
    argTypes:
    - std::string
    - Theme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 340
    functionDepth: 3
    functionLinenumber: 340
    functionLinenumberEnd: 504
    functionName: Interpreter::getVarBool
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/interpreter.cpp
    functionUses: 0
    functionsReached:
    - std::string::find
    - std::string::empty
    - VariablePtr
    - std::list::empty
    - std::list::pop_back
    - std::string::c_str
    - getIntf
    - TopWindow*::getVisibleVar
    - Theme*::getLayoutById
    - VarBoolOrBool::VarBoolOrBool
    - VarManager*::getVar
    - msg_Err
    - ExprEvaluator::getToken
    - GenericLayout*::getActiveVar
    - ExprEvaluator::parse
    - VarManager::instance
    - VarNotBool::VarNotBool
    - std::list::push_back
    - VarManager*::registerVar
    - std::list::back
    - VarBoolAndBool::VarBoolAndBool
    - TopWindow*::getMaximizedVar
    - std::string::substr
    - std::list::size
    - Theme*::getWindowById
    linkageType: ''
    returnType: VarBool
    signature: VarBool *Interpreter::getVarBool( const std::string &rName, Theme *pTheme
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarManager::instance
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:510,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:510,1
    - Dst: static_cast<VarPercent*>
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:511,1
    - Dst: VarManager*::getVar
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rName
    - pTheme
    argTypes:
    - std::string
    - Theme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 507
    functionDepth: 3
    functionLinenumber: 507
    functionLinenumberEnd: 512
    functionName: Interpreter::getVarPercent
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/interpreter.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - VarManager::instance
    - VarManager*::getVar
    - static_cast<VarPercent*>
    linkageType: ''
    returnType: VarPercent
    signature: VarPercent *Interpreter::getVarPercent( const std::string &rName, Theme
      *pTheme )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarManager::instance
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:518,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:518,1
    - Dst: static_cast<VarList*>
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:519,1
    - Dst: VarManager*::getVar
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rName
    - pTheme
    argTypes:
    - std::string
    - Theme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 515
    functionDepth: 3
    functionLinenumber: 515
    functionLinenumberEnd: 520
    functionName: Interpreter::getVarList
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/interpreter.cpp
    functionUses: 0
    functionsReached:
    - VarManager*::getVar
    - getIntf
    - VarManager::instance
    - static_cast<VarList*>
    linkageType: ''
    returnType: VarList
    signature: VarList *Interpreter::getVarList( const std::string &rName, Theme *pTheme
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarManager::instance
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:526,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:526,1
    - Dst: static_cast<VarTree*>
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:527,1
    - Dst: VarManager*::getVar
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rName
    - pTheme
    argTypes:
    - std::string
    - Theme*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 523
    functionDepth: 3
    functionLinenumber: 523
    functionLinenumberEnd: 528
    functionName: Interpreter::getVarTree
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/interpreter.cpp
    functionUses: 0
    functionsReached:
    - static_cast<VarTree*>
    - getIntf
    - VarManager::instance
    - VarManager*::getVar
    linkageType: ''
    returnType: VarTree
    signature: VarTree *Interpreter::getVarTree( const std::string &rName, Theme *pTheme
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarManager::instance
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:534,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:534,1
    - Dst: std::string::empty
      Src: /src/vlc/modules/gui/skins2/parser/interpreter.cpp:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rValue
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 531
    functionDepth: 3
    functionLinenumber: 531
    functionLinenumberEnd: 536
    functionName: Interpreter::getConstant
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/interpreter.cpp
    functionUses: 0
    functionsReached:
    - std::string::empty
    - getIntf
    - VarManager::instance
    linkageType: ''
    returnType: std::string
    signature: std::string Interpreter::getConstant( const std::string &rValue )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/gui/skins2/parser/xmlparser.hpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: operator()(const char* s1, const char* s2) const
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/xmlparser.hpp
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool operator()(const char* s1, const char* s2) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rName
    - attr
    argTypes:
    - std::string
    - AttrList_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: XMLParser::handleBeginElement
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/xmlparser.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void handleBeginElement( const std::string &rName, AttrList_t &attr
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: XMLParser::handleEndElement
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/xmlparser.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void handleEndElement( const std::string &rName )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: '&getData() const'
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/skin_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BuilderData
    signature: BuilderData &getData() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AttrList_t::find
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.hpp:116,1
    - Dst: AttrList_t::end
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.hpp:116,1
    - Dst: strdup
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.hpp:116,1
    - Dst: strdup
      Src: /src/vlc/modules/gui/skins2/parser/skin_parser.hpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - attr
    - a
    - b
    argTypes:
    - AttrList_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: SkinParser::DefaultAttr
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/skin_parser.hpp
    functionUses: 1
    functionsReached:
    - AttrList_t::find
    - strdup
    - AttrList_t::end
    linkageType: ''
    returnType: void
    signature: void DefaultAttr( AttrList_t &attr, const char *a, const char *b )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: image_HandlerCreate
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pIntf
    - rData
    - rPath
    argTypes:
    - intf_thread_t*
    - BuilderData
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: Builder::Builder
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 0
    functionsReached:
    - image_HandlerCreate
    linkageType: ''
    returnType: void
    signature: "void Builder::Builder( intf_thread_t *pIntf, const BuilderData &rData,\n
      \                 const std::string &rPath )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: image_HandlerDelete
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: Builder::~Builder()
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 0
    functionsReached:
    - image_HandlerDelete
    linkageType: ''
    returnType: void
    signature: void Builder::~Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Interpreter::instance
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:78,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rAction
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 5
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: Builder::parseAction
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 0
    functionsReached:
    - Interpreter::instance
    - getIntf
    linkageType: ''
    returnType: CmdGeneric
    signature: CmdGeneric *Builder::parseAction( const std::string &rAction )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::list<T>::begin
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:86,1
    - Dst: std::list<T>::end
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - std::list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: Builder::add_objects
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 0
    functionsReached:
    - std::list<T>::end
    - std::list<T>::begin
    linkageType: ''
    returnType: void
    signature: "void Builder::add_objects(const std::list<T> &list,\n                          void
      (Builder::*addfn)(const T &))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:95,1
    - Dst: Theme::Theme
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:95,1
    - Dst: ADD_OBJECTS
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:100,1
    - Dst: ADD_OBJECTS
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:101,1
    - Dst: ADD_OBJECTS
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:102,1
    - Dst: ADD_OBJECTS
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:103,1
    - Dst: ADD_OBJECTS
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:104,1
    - Dst: ADD_OBJECTS
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:105,1
    - Dst: ADD_OBJECTS
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:106,1
    - Dst: ADD_OBJECTS
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:109,1
    - Dst: ADD_OBJECTS
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:110,1
    - Dst: ADD_OBJECTS
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:111,1
    - Dst: ADD_OBJECTS
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:112,1
    - Dst: ADD_OBJECTS
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:113,1
    - Dst: ADD_OBJECTS
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:114,1
    - Dst: ADD_OBJECTS
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:115,1
    - Dst: ADD_OBJECTS
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:116,1
    - Dst: ADD_OBJECTS
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:117,1
    - Dst: ADD_OBJECTS
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:118,1
    - Dst: ADD_OBJECTS
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:119,1
    - Dst: ADD_OBJECTS
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:120,1
    - Dst: ADD_OBJECTS
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:121,1
    - Dst: ADD_OBJECTS
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:124,1
    - Dst: ADD_OBJECTS
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 130
    functionName: Builder::build
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 1
    functionsReached:
    - getIntf
    - ADD_OBJECTS
    - Theme::Theme
    linkageType: ''
    returnType: Theme
    signature: Theme *Builder::build()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: ADD_OBJECTS
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_OBJECTS( type )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pBmp
    - ','
    - id
    - ','
    - abort
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 149
    functionName: GET_BMP
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_BMP( pBmp, id, abort )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pBmp
    - ','
    - pBmpRef
    - ','
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 161
    functionName: CHECK_BMP
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_BMP( pBmp, pBmpRef, id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - lefttop
    - ','
    - rightbottom
    - ','
    - xkeepratio
    - ','
    - ykeepratio
    - ','
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: CHECK_RESIZE_POLICY
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_RESIZE_POLICY( lefttop, rightbottom, xkeepratio, ykeepratio,
      id )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pRect
    - ','
    - id
    - ','
    - pLayout
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 188
    functionName: GET_BOX
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_BOX( pRect, id, pLayout )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getWindowManager
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:192,1
    - Dst: WindowManager::setMagnetValue
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:193,1
    - Dst: WindowManager::setAlphaValue
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:194,1
    - Dst: WindowManager::setMoveAlphaValue
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:195,1
    - Dst: Builder::getFont
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:196,1
    - Dst: WindowManager::createTooltip
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:199,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:203,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:203,1
    - Dst: BuilderData::Theme::m_tooltipfont::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - rData
    argTypes:
    - BuilderData::Theme
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 206
    functionName: Builder::addTheme
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 0
    functionsReached:
    - BuilderData::Theme::m_tooltipfont::c_str
    - WindowManager::createTooltip
    - WindowManager::setMoveAlphaValue
    - WindowManager::setAlphaValue
    - getIntf
    - WindowManager::setMagnetValue
    - msg_Warn
    - getWindowManager
    - Builder::getFont
    linkageType: ''
    returnType: void
    signature: void Builder::addTheme( const BuilderData::Theme &rData )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Builder::getFilePath
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:212,1
    - Dst: std::string::size
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:213,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:216,1
    - Dst: IniFile::parseFile
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rData
    argTypes:
    - BuilderData::IniFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 4
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: Builder::addIniFile
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    - Builder::getFilePath
    - getIntf
    - IniFile::parseFile
    linkageType: ''
    returnType: void
    signature: void Builder::addIniFile( const BuilderData::IniFile &rData )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Builder::getFilePath
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:223,1
    - Dst: std::string::size
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:224,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:228,1
    - Dst: FileBitmap::FileBitmap
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:228,1
    - Dst: GenericBitmap*::getData
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:231,1
    - Dst: GenericBitmapPtr
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - rData
    argTypes:
    - BuilderData::Bitmap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 238
    functionName: Builder::addBitmap
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 0
    functionsReached:
    - GenericBitmap*::getData
    - std::string::size
    - getIntf
    - GenericBitmapPtr
    - FileBitmap::FileBitmap
    - Builder::getFilePath
    linkageType: ''
    returnType: void
    signature: void Builder::addBitmap( const BuilderData::Bitmap &rData )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: m_bitmaps::find
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:243,1
    - Dst: m_bitmaps::end
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:243,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:245,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:245,1
    - Dst: BuilderData::SubBitmap::m_id::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:245,1
    - Dst: GET_BMP
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:251,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:255,1
    - Dst: BitmapImpl::BitmapImpl
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:255,1
    - Dst: BitmapImpl*::drawBitmap
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:257,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:263,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:263,1
    - Dst: BuilderData::SubBitmap::m_id::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:263,1
    - Dst: GenericBitmapPtr
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - rData
    argTypes:
    - BuilderData::SubBitmap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 267
    functionName: Builder::addSubBitmap
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 0
    functionsReached:
    - m_bitmaps::find
    - BuilderData::SubBitmap::m_id::c_str
    - BitmapImpl::BitmapImpl
    - getIntf
    - msg_Dbg
    - m_bitmaps::end
    - msg_Warn
    - GET_BMP
    - GenericBitmapPtr
    - BitmapImpl*::drawBitmap
    linkageType: ''
    returnType: void
    signature: void Builder::addSubBitmap( const BuilderData::SubBitmap &rData )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: m_fonts::find
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:272,1
    - Dst: m_fonts::end
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:272,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:274,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:274,1
    - Dst: BuilderData::BitmapFont::m_id::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:274,1
    - Dst: Builder::getFilePath
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:278,1
    - Dst: std::string::size
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:279,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:283,1
    - Dst: FileBitmap::FileBitmap
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:283,1
    - Dst: GenericBitmap*::getData
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:284,1
    - Dst: GenericBitmapPtr
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:291,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:293,1
    - Dst: BitmapFont::BitmapFont
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:293,1
    - Dst: GenericFont*::init
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:294,1
    - Dst: GenericFontPtr
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - rData
    argTypes:
    - BuilderData::BitmapFont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 302
    functionName: Builder::addBitmapFont
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 0
    functionsReached:
    - GenericBitmap*::getData
    - m_fonts::find
    - m_fonts::end
    - BuilderData::BitmapFont::m_id::c_str
    - GenericFont*::init
    - GenericFontPtr
    - std::string::size
    - getIntf
    - msg_Dbg
    - GenericBitmapPtr
    - FileBitmap::FileBitmap
    - Builder::getFilePath
    - BitmapFont::BitmapFont
    linkageType: ''
    returnType: void
    signature: void Builder::addBitmapFont( const BuilderData::BitmapFont &rData )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Builder::getFilePath
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:308,1
    - Dst: std::string::size
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:309,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:311,1
    - Dst: FT2Font::FT2Font
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:311,1
    - Dst: GenericFont*::init
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:312,1
    - Dst: GenericFontPtr
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:314,1
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:321,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:321,1
    - Dst: OSFactory*::getResourcePath
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:322,1
    - Dst: OSFactory*::getDirSeparator
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:323,1
    - Dst: std::list::begin
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:326,1
    - Dst: std::list::end
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:326,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:329,1
    - Dst: FT2Font::FT2Font
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:329,1
    - Dst: GenericFont*::init
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:330,1
    - Dst: GenericFontPtr
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:333,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - rData
    argTypes:
    - BuilderData::Font
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 338
    functionName: Builder::addFont
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 0
    functionsReached:
    - OSFactory*::getResourcePath
    - OSFactory*::getDirSeparator
    - std::list::begin
    - std::list::end
    - GenericFont*::init
    - GenericFontPtr
    - std::string::size
    - getIntf
    - FT2Font::FT2Font
    - Builder::getFilePath
    - OSFactory::instance
    linkageType: ''
    returnType: void
    signature: void Builder::addFont( const BuilderData::Font &rData )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:343,1
    - Dst: getWindowManager
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:343,1
    - Dst: Popup::Popup
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:343,1
    - Dst: PopupPtr
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rData
    argTypes:
    - BuilderData::PopupMenu
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 346
    functionName: Builder::addPopupMenu
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 0
    functionsReached:
    - getWindowManager
    - getIntf
    - PopupPtr
    - Popup::Popup
    linkageType: ''
    returnType: void
    signature: void Builder::addPopupMenu( const BuilderData::PopupMenu &rData )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getPopupById
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:351,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:354,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:354,1
    - Dst: BuilderData::MenuItem::m_popupId::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:354,1
    - Dst: Builder::parseAction
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:358,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:361,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:361,1
    - Dst: BuilderData::MenuItem::m_action::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:361,1
    - Dst: Popup*::addItem
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - rData
    argTypes:
    - BuilderData::MenuItem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 349
    functionDepth: 6
    functionLinenumber: 349
    functionLinenumberEnd: 366
    functionName: Builder::addMenuItem
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 0
    functionsReached:
    - Builder::parseAction
    - msg_Err
    - getIntf
    - BuilderData::MenuItem::m_popupId::c_str
    - BuilderData::MenuItem::m_action::c_str
    - getPopupById
    - Popup*::addItem
    linkageType: ''
    returnType: void
    signature: void Builder::addMenuItem( const BuilderData::MenuItem &rData )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPopupById
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:371,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:374,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:374,1
    - Dst: BuilderData::MenuSeparator::m_popupId::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:374,1
    - Dst: Popup*::addSeparator
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rData
    argTypes:
    - BuilderData::MenuSeparator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 379
    functionName: Builder::addMenuSeparator
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 0
    functionsReached:
    - BuilderData::MenuSeparator::m_popupId::c_str
    - msg_Err
    - Popup*::addSeparator
    - getIntf
    - getPopupById
    linkageType: ''
    returnType: void
    signature: void Builder::addMenuSeparator( const BuilderData::MenuSeparator &rData
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:387,1
    - Dst: getWindowManager
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:388,1
    - Dst: FscWindow::FscWindow
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:387,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:394,1
    - Dst: getWindowManager
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:395,1
    - Dst: TopWindow::TopWindow
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:394,1
    - Dst: TopWindowPtr
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rData
    argTypes:
    - BuilderData::Window
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 382
    functionDepth: 4
    functionLinenumber: 382
    functionLinenumberEnd: 400
    functionName: Builder::addWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 0
    functionsReached:
    - FscWindow::FscWindow
    - TopWindowPtr
    - getIntf
    - TopWindow::TopWindow
    - getWindowManager
    linkageType: ''
    returnType: void
    signature: void Builder::addWindow( const BuilderData::Window &rData )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getWindowById
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:405,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:408,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:408,1
    - Dst: BuilderData::Layout::m_windowId::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:408,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:418,1
    - Dst: GenericLayout::GenericLayout
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:418,1
    - Dst: GenericLayoutPtr
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:422,1
    - Dst: getWindowManager
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rData
    argTypes:
    - BuilderData::Layout
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 403
    functionDepth: 4
    functionLinenumber: 403
    functionLinenumberEnd: 426
    functionName: Builder::addLayout
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 0
    functionsReached:
    - GenericLayout::GenericLayout
    - msg_Err
    - getIntf
    - getWindowById
    - BuilderData::Layout::m_windowId::c_str
    - GenericLayoutPtr
    - getWindowManager
    linkageType: ''
    returnType: void
    signature: void Builder::addLayout( const BuilderData::Layout &rData )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getLayoutById
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:431,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:434,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:434,1
    - Dst: BuilderData::Anchor::m_layoutId::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:434,1
    - Dst: Builder::getPoints
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:438,1
    - Dst: BuilderData::Anchor::m_points::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:438,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:441,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:441,1
    - Dst: BuilderData::Anchor::m_points::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:442,1
    - Dst: m_curves::push_back
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:445,1
    - Dst: BezierPtr
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:445,1
    - Dst: Builder::makePosition
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:448,1
    - Dst: Bezier*::getWidth
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:450,1
    - Dst: Bezier*::getHeight
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:451,1
    - Dst: GenericLayout*::getRect
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:452,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:454,1
    - Dst: Anchor::Anchor
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:454,1
    - Dst: GenericLayout*::addAnchor
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:456,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - rData
    argTypes:
    - BuilderData::Anchor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 457
    functionName: Builder::addAnchor
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 0
    functionsReached:
    - GenericLayout*::getRect
    - Builder::makePosition
    - Bezier*::getWidth
    - m_curves::push_back
    - BezierPtr
    - Builder::getPoints
    - msg_Err
    - BuilderData::Anchor::m_layoutId::c_str
    - Bezier*::getHeight
    - getIntf
    - Anchor::Anchor
    - GenericLayout*::addAnchor
    - BuilderData::Anchor::m_points::c_str
    - getLayoutById
    linkageType: ''
    returnType: void
    signature: void Builder::addAnchor( const BuilderData::Anchor &rData )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_BMP
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:464,1
    - Dst: GET_BMP
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:467,1
    - Dst: GET_BMP
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:470,1
    - Dst: getLayoutById
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:472,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:475,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:475,1
    - Dst: BuilderData::Button::m_layoutId::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:475,1
    - Dst: Builder::parseAction
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:479,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:482,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:482,1
    - Dst: BuilderData::Button::m_actionId::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:482,1
    - Dst: Interpreter::instance
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:488,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:488,1
    - Dst: Interpreter*::getVarBool
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:489,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:491,1
    - Dst: UString
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:492,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:492,1
    - Dst: BuilderData::Button::m_tooltip::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:492,1
    - Dst: UString
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:493,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:493,1
    - Dst: BuilderData::Button::m_help::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:493,1
    - Dst: CtrlButton::CtrlButton
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:491,1
    - Dst: CtrlGenericPtr
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:494,1
    - Dst: GenericBitmap*::getWidth
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:497,1
    - Dst: GenericBitmap*::getHeight
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:498,1
    - Dst: GenericBitmap*::getNbFrames
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:498,1
    - Dst: CHECK_BMP
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:505,1
    - Dst: CHECK_BMP
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:506,1
    - Dst: CHECK_RESIZE_POLICY
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:507,1
    - Dst: GET_BOX
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:513,1
    - Dst: Builder::makePosition
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:514,1
    - Dst: GenericLayout*::addControl
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - rData
    argTypes:
    - BuilderData::Button
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 460
    functionDepth: 6
    functionLinenumber: 460
    functionLinenumberEnd: 519
    functionName: Builder::addButton
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 0
    functionsReached:
    - BuilderData::Button::m_actionId::c_str
    - BuilderData::Button::m_tooltip::c_str
    - CtrlButton::CtrlButton
    - getIntf
    - GET_BOX
    - GenericBitmap*::getHeight
    - CtrlGenericPtr
    - msg_Err
    - CHECK_RESIZE_POLICY
    - Builder::makePosition
    - Interpreter::instance
    - GenericBitmap*::getWidth
    - GET_BMP
    - UString
    - GenericLayout*::addControl
    - Interpreter*::getVarBool
    - BuilderData::Button::m_layoutId::c_str
    - Builder::parseAction
    - BuilderData::Button::m_help::c_str
    - GenericBitmap*::getNbFrames
    - CHECK_BMP
    - getLayoutById
    linkageType: ''
    returnType: void
    signature: void Builder::addButton( const BuilderData::Button &rData )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_BMP
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:526,1
    - Dst: GET_BMP
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:529,1
    - Dst: GET_BMP
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:532,1
    - Dst: GET_BMP
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:535,1
    - Dst: GET_BMP
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:538,1
    - Dst: GET_BMP
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:541,1
    - Dst: getLayoutById
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:543,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:546,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:546,1
    - Dst: BuilderData::Checkbox::m_layoutId::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:546,1
    - Dst: Builder::parseAction
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:550,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:553,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:553,1
    - Dst: BuilderData::Checkbox::m_action1::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:553,1
    - Dst: Builder::parseAction
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:557,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:560,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:560,1
    - Dst: BuilderData::Checkbox::m_action2::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:560,1
    - Dst: Interpreter::instance
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:565,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:565,1
    - Dst: Interpreter*::getVarBool
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:566,1
    - Dst: Interpreter*::getVarBool
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:575,1
    - Dst: GenericBitmap*::getWidth
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:578,1
    - Dst: GenericBitmap*::getHeight
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:579,1
    - Dst: GenericBitmap*::getNbFrames
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:579,1
    - Dst: CHECK_BMP
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:587,1
    - Dst: CHECK_BMP
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:588,1
    - Dst: CHECK_BMP
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:589,1
    - Dst: CHECK_BMP
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:590,1
    - Dst: CHECK_BMP
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:591,1
    - Dst: CHECK_RESIZE_POLICY
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:592,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:596,1
    - Dst: UString
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:598,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:598,1
    - Dst: BuilderData::Checkbox::m_tooltip1::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:598,1
    - Dst: UString
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:599,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:599,1
    - Dst: BuilderData::Checkbox::m_tooltip2::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:599,1
    - Dst: UString
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:600,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:600,1
    - Dst: BuilderData::Checkbox::m_help::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:600,1
    - Dst: CtrlCheckbox::CtrlCheckbox
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:596,1
    - Dst: CtrlGenericPtr
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:601,1
    - Dst: GET_BOX
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:606,1
    - Dst: Builder::makePosition
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:607,1
    - Dst: GenericLayout*::addControl
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:611,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 1
    argNames:
    - rData
    argTypes:
    - BuilderData::Checkbox
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 522
    functionDepth: 6
    functionLinenumber: 522
    functionLinenumberEnd: 612
    functionName: Builder::addCheckbox
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 0
    functionsReached:
    - CtrlCheckbox::CtrlCheckbox
    - BuilderData::Checkbox::m_action1::c_str
    - getIntf
    - GET_BOX
    - GenericBitmap*::getHeight
    - CtrlGenericPtr
    - msg_Err
    - BuilderData::Checkbox::m_help::c_str
    - CHECK_RESIZE_POLICY
    - BuilderData::Checkbox::m_action2::c_str
    - Builder::makePosition
    - Interpreter::instance
    - BuilderData::Checkbox::m_layoutId::c_str
    - GenericBitmap*::getWidth
    - GET_BMP
    - BuilderData::Checkbox::m_tooltip1::c_str
    - UString
    - BuilderData::Checkbox::m_tooltip2::c_str
    - GenericLayout*::addControl
    - Interpreter*::getVarBool
    - Builder::parseAction
    - GenericBitmap*::getNbFrames
    - CHECK_BMP
    - getLayoutById
    linkageType: ''
    returnType: void
    signature: void Builder::addCheckbox( const BuilderData::Checkbox &rData )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GET_BMP
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:618,1
    - Dst: getLayoutById
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:620,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:623,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:623,1
    - Dst: BuilderData::Image::m_layoutId::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:623,1
    - Dst: getWindowById
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:627,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:630,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:630,1
    - Dst: BuilderData::Image::m_windowId::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:630,1
    - Dst: Builder::parseAction
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:634,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:637,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:637,1
    - Dst: BuilderData::Image::m_action2Id::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:637,1
    - Dst: Interpreter::instance
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:643,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:643,1
    - Dst: Interpreter*::getVarBool
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:644,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:650,1
    - Dst: UString
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:651,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:651,1
    - Dst: BuilderData::Image::m_help::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:651,1
    - Dst: CtrlImage::CtrlImage
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:650,1
    - Dst: CtrlGenericPtr
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:653,1
    - Dst: GenericBitmap*::getWidth
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:657,1
    - Dst: GenericBitmap*::getHeight
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:658,1
    - Dst: GET_BOX
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:659,1
    - Dst: Builder::makePosition
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:660,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:668,1
    - Dst: getWindowManager
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:668,1
    - Dst: UString
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:669,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:669,1
    - Dst: BuilderData::Image::m_help::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:669,1
    - Dst: CtrlMove::CtrlMove
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:668,1
    - Dst: CtrlGenericPtr
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:671,1
    - Dst: GenericLayout*::addControl
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:672,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:676,1
    - Dst: getWindowManager
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:677,1
    - Dst: UString
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:678,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:678,1
    - Dst: BuilderData::Image::m_help::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:678,1
    - Dst: CtrlResize::CtrlResize
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:676,1
    - Dst: CtrlGenericPtr
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:680,1
    - Dst: GenericLayout*::addControl
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:681,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:685,1
    - Dst: getWindowManager
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:686,1
    - Dst: UString
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:687,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:687,1
    - Dst: BuilderData::Image::m_help::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:687,1
    - Dst: CtrlResize::CtrlResize
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:685,1
    - Dst: CtrlGenericPtr
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:689,1
    - Dst: GenericLayout*::addControl
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:690,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:694,1
    - Dst: getWindowManager
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:695,1
    - Dst: UString
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:696,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:696,1
    - Dst: BuilderData::Image::m_help::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:696,1
    - Dst: CtrlResize::CtrlResize
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:694,1
    - Dst: CtrlGenericPtr
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:698,1
    - Dst: GenericLayout*::addControl
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:699,1
    - Dst: GenericLayout*::addControl
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:703,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - rData
    argTypes:
    - BuilderData::Image
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 615
    functionDepth: 6
    functionLinenumber: 615
    functionLinenumberEnd: 705
    functionName: Builder::addImage
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 0
    functionsReached:
    - CtrlMove::CtrlMove
    - CtrlImage::CtrlImage
    - BuilderData::Image::m_layoutId::c_str
    - BuilderData::Image::m_windowId::c_str
    - getIntf
    - getWindowById
    - GET_BOX
    - GenericBitmap*::getHeight
    - BuilderData::Image::m_help::c_str
    - CtrlGenericPtr
    - msg_Err
    - getWindowManager
    - CtrlResize::CtrlResize
    - Builder::makePosition
    - Interpreter::instance
    - GenericBitmap*::getWidth
    - GET_BMP
    - UString
    - GenericLayout*::addControl
    - BuilderData::Image::m_action2Id::c_str
    - Interpreter*::getVarBool
    - Builder::parseAction
    - getLayoutById
    linkageType: ''
    returnType: void
    signature: void Builder::addImage( const BuilderData::Image &rData )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getLayoutById
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:714,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:717,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:717,1
    - Dst: BuilderData::Panel::m_layoutId::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:717,1
    - Dst: GET_BOX
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:722,1
    - Dst: Builder::makePosition
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:724,1
    - Dst: Position::Position
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:724,1
    - Dst: PositionPtr
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:729,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rData
    argTypes:
    - BuilderData::Panel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 708
    functionDepth: 2
    functionLinenumber: 708
    functionLinenumberEnd: 730
    functionName: Builder::addPanel
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 0
    functionsReached:
    - Builder::makePosition
    - PositionPtr
    - msg_Err
    - getIntf
    - Position::Position
    - GET_BOX
    - BuilderData::Panel::m_layoutId::c_str
    - getLayoutById
    linkageType: ''
    returnType: void
    signature: void Builder::addPanel( const BuilderData::Panel &rData )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getLayoutById
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:735,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:738,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:738,1
    - Dst: BuilderData::Text::m_layoutId::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:738,1
    - Dst: Builder::getFont
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:742,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:745,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:745,1
    - Dst: BuilderData::Text::m_fontId::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:745,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:759,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:759,1
    - Dst: BuilderData::Text::m_scrolling::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:760,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:774,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:774,1
    - Dst: BuilderData::Text::m_alignment::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:775,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:780,1
    - Dst: VarText::VarText
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:780,1
    - Dst: m_vars::push_back
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:781,1
    - Dst: VariablePtr
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:781,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:784,1
    - Dst: BuilderData::Text::m_text::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:784,1
    - Dst: VarText*::set
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:785,1
    - Dst: Interpreter::instance
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:789,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:789,1
    - Dst: Interpreter*::getVarBool
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:790,1
    - Dst: Interpreter*::getVarBool
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:791,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:793,1
    - Dst: UString
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:794,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:794,1
    - Dst: BuilderData::Text::m_help::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:794,1
    - Dst: CtrlText::CtrlText
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:793,1
    - Dst: CtrlGenericPtr
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:796,1
    - Dst: GenericFont*::getSize
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:798,1
    - Dst: GET_BOX
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:802,1
    - Dst: Builder::makePosition
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:803,1
    - Dst: GenericLayout*::addControl
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:808,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - rData
    argTypes:
    - BuilderData::Text
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 733
    functionDepth: 5
    functionLinenumber: 733
    functionLinenumberEnd: 810
    functionName: Builder::addText
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 0
    functionsReached:
    - VariablePtr
    - BuilderData::Text::m_layoutId::c_str
    - getIntf
    - BuilderData::Text::m_alignment::c_str
    - GET_BOX
    - BuilderData::Text::m_text::c_str
    - Builder::getFont
    - BuilderData::Text::m_fontId::c_str
    - CtrlGenericPtr
    - msg_Err
    - CtrlText::CtrlText
    - m_vars::push_back
    - BuilderData::Text::m_help::c_str
    - Builder::makePosition
    - BuilderData::Text::m_scrolling::c_str
    - Interpreter::instance
    - VarText*::set
    - GenericFont*::getSize
    - UString
    - GenericLayout*::addControl
    - Interpreter*::getVarBool
    - getLayoutById
    - VarText::VarText
    linkageType: ''
    returnType: void
    signature: void Builder::addText( const BuilderData::Text &rData )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_BMP
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:817,1
    - Dst: getLayoutById
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:819,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:822,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:822,1
    - Dst: BuilderData::RadialSlider::m_layoutId::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:822,1
    - Dst: Interpreter::instance
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:827,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:827,1
    - Dst: Interpreter*::getVarPercent
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:828,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:831,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:831,1
    - Dst: BuilderData::RadialSlider::m_value::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:831,1
    - Dst: Interpreter*::getVarBool
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:837,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:841,1
    - Dst: UString
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:843,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:843,1
    - Dst: BuilderData::RadialSlider::m_help::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:843,1
    - Dst: CtrlRadialSlider::CtrlRadialSlider
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:841,1
    - Dst: CtrlGenericPtr
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:845,1
    - Dst: GET_BOX
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:850,1
    - Dst: Builder::makePosition
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:851,1
    - Dst: GenericBitmap*::getWidth
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:853,1
    - Dst: GenericBitmap*::getHeight
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:854,1
    - Dst: GenericLayout*::addControl
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:858,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - rData
    argTypes:
    - BuilderData::RadialSlider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 813
    functionDepth: 5
    functionLinenumber: 813
    functionLinenumberEnd: 859
    functionName: Builder::addRadialSlider
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 0
    functionsReached:
    - UString
    - CtrlRadialSlider::CtrlRadialSlider
    - Builder::makePosition
    - GenericLayout*::addControl
    - Interpreter::instance
    - BuilderData::RadialSlider::m_help::c_str
    - BuilderData::RadialSlider::m_value::c_str
    - Interpreter*::getVarBool
    - CtrlGenericPtr
    - GenericBitmap*::getHeight
    - msg_Err
    - GenericBitmap*::getWidth
    - getIntf
    - GET_BOX
    - GET_BMP
    - Interpreter*::getVarPercent
    - getLayoutById
    - BuilderData::RadialSlider::m_layoutId::c_str
    linkageType: ''
    returnType: void
    signature: void Builder::addRadialSlider( const BuilderData::RadialSlider &rData
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_BMP
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:871,1
    - Dst: getLayoutById
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:873,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:876,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:876,1
    - Dst: BuilderData::Slider::m_layoutId::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:876,1
    - Dst: Builder::getPoints
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:880,1
    - Dst: BuilderData::Slider::m_points::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:880,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:883,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:883,1
    - Dst: BuilderData::Slider::m_points::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:884,1
    - Dst: m_curves::push_back
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:887,1
    - Dst: BezierPtr
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:887,1
    - Dst: Interpreter::instance
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:891,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:891,1
    - Dst: Interpreter*::getVarBool
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:892,1
    - Dst: Interpreter*::getVarPercent
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:895,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:898,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:898,1
    - Dst: BuilderData::Slider::m_value::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:898,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:903,1
    - Dst: UString
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:906,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:906,1
    - Dst: BuilderData::Slider::m_help::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:906,1
    - Dst: CtrlSliderBg::CtrlSliderBg
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:903,1
    - Dst: CtrlGenericPtr
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:907,1
    - Dst: Bezier*::getWidth
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:910,1
    - Dst: Bezier*::getHeight
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:911,1
    - Dst: GET_BOX
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:913,1
    - Dst: Builder::makePosition
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:914,1
    - Dst: GenericLayout*::addControl
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:919,1
    - Dst: GET_BMP
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:923,1
    - Dst: GET_BMP
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:926,1
    - Dst: GET_BMP
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:929,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:932,1
    - Dst: UString
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:934,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:934,1
    - Dst: BuilderData::Slider::m_tooltip::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:934,1
    - Dst: UString
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:935,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:935,1
    - Dst: BuilderData::Slider::m_help::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:935,1
    - Dst: CtrlSliderCursor::CtrlSliderCursor
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:932,1
    - Dst: CtrlGenericPtr
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:936,1
    - Dst: GenericLayout*::addControl
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:938,1
    - Dst: CtrlSliderBg*::associateCursor
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:941,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - rData
    argTypes:
    - BuilderData::Slider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 862
    functionDepth: 5
    functionLinenumber: 862
    functionLinenumberEnd: 942
    functionName: Builder::addSlider
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 0
    functionsReached:
    - BuilderData::Slider::m_tooltip::c_str
    - getIntf
    - CtrlSliderCursor::CtrlSliderCursor
    - GET_BOX
    - BuilderData::Slider::m_help::c_str
    - CtrlGenericPtr
    - Builder::getPoints
    - msg_Err
    - Builder::makePosition
    - Bezier*::getWidth
    - m_curves::push_back
    - BezierPtr
    - Interpreter::instance
    - CtrlSliderBg*::associateCursor
    - BuilderData::Slider::m_value::c_str
    - BuilderData::Slider::m_layoutId::c_str
    - Bezier*::getHeight
    - GET_BMP
    - Interpreter*::getVarPercent
    - UString
    - BuilderData::Slider::m_points::c_str
    - CtrlSliderBg::CtrlSliderBg
    - GenericLayout*::addControl
    - Interpreter*::getVarBool
    - getLayoutById
    linkageType: ''
    returnType: void
    signature: void Builder::addSlider( const BuilderData::Slider &rData )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_BMP
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:949,1
    - Dst: getLayoutById
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:951,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:954,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:954,1
    - Dst: BuilderData::List::m_layoutId::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:954,1
    - Dst: Builder::getFont
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:958,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:961,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:961,1
    - Dst: BuilderData::List::m_fontId::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:961,1
    - Dst: Interpreter::instance
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:966,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:966,1
    - Dst: Interpreter*::getVarList
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:967,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:970,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:970,1
    - Dst: BuilderData::List::m_var::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:970,1
    - Dst: Interpreter*::getVarBool
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:976,1
    - Dst: Builder::getColor
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:979,1
    - Dst: Builder::getColor
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:980,1
    - Dst: Builder::getColor
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:981,1
    - Dst: Builder::getColor
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:982,1
    - Dst: Builder::getColor
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:983,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:986,1
    - Dst: UString
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:988,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:988,1
    - Dst: BuilderData::List::m_help::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:988,1
    - Dst: CtrlList::CtrlList
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:986,1
    - Dst: CtrlGenericPtr
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:989,1
    - Dst: GET_BOX
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:993,1
    - Dst: Builder::makePosition
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:994,1
    - Dst: GenericLayout*::addControl
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1000,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - rData
    argTypes:
    - BuilderData::List
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 945
    functionDepth: 5
    functionLinenumber: 945
    functionLinenumberEnd: 1001
    functionName: Builder::addList
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 0
    functionsReached:
    - Interpreter*::getVarList
    - BuilderData::List::m_var::c_str
    - BuilderData::List::m_layoutId::c_str
    - getIntf
    - GET_BOX
    - Builder::getFont
    - CtrlGenericPtr
    - msg_Err
    - BuilderData::List::m_fontId::c_str
    - Builder::makePosition
    - Interpreter::instance
    - Builder::getColor
    - BuilderData::List::m_help::c_str
    - GET_BMP
    - UString
    - GenericLayout*::addControl
    - Interpreter*::getVarBool
    - CtrlList::CtrlList
    - getLayoutById
    linkageType: ''
    returnType: void
    signature: void Builder::addList( const BuilderData::List &rData )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_BMP
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1010,1
    - Dst: GET_BMP
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1011,1
    - Dst: GET_BMP
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1012,1
    - Dst: GET_BMP
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1013,1
    - Dst: getLayoutById
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1015,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1018,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1018,1
    - Dst: BuilderData::Tree::m_layoutId::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1018,1
    - Dst: Builder::getFont
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1022,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1025,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1025,1
    - Dst: BuilderData::Tree::m_fontId::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1025,1
    - Dst: Interpreter::instance
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1030,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1030,1
    - Dst: Interpreter*::getVarTree
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1031,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1034,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1034,1
    - Dst: BuilderData::Tree::m_var::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1034,1
    - Dst: Interpreter*::getVarBool
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1040,1
    - Dst: Interpreter*::getVarBool
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1041,1
    - Dst: Builder::getColor
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1044,1
    - Dst: Builder::getColor
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1045,1
    - Dst: Builder::getColor
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1046,1
    - Dst: Builder::getColor
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1047,1
    - Dst: Builder::getColor
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1048,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1051,1
    - Dst: UString
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1054,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1054,1
    - Dst: BuilderData::Tree::m_help::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1054,1
    - Dst: CtrlTree::CtrlTree
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1051,1
    - Dst: CtrlGenericPtr
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1055,1
    - Dst: GET_BOX
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1059,1
    - Dst: Builder::makePosition
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1060,1
    - Dst: GenericLayout*::addControl
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1066,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - rData
    argTypes:
    - BuilderData::Tree
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1003
    functionDepth: 5
    functionLinenumber: 1003
    functionLinenumberEnd: 1067
    functionName: Builder::addTree
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - GET_BOX
    - Builder::getFont
    - BuilderData::Tree::m_help::c_str
    - Interpreter*::getVarTree
    - CtrlGenericPtr
    - msg_Err
    - CtrlTree::CtrlTree
    - Builder::makePosition
    - Interpreter::instance
    - Builder::getColor
    - BuilderData::Tree::m_fontId::c_str
    - GET_BMP
    - BuilderData::Tree::m_layoutId::c_str
    - UString
    - GenericLayout*::addControl
    - Interpreter*::getVarBool
    - getLayoutById
    - BuilderData::Tree::m_var::c_str
    linkageType: ''
    returnType: void
    signature: void Builder::addTree( const BuilderData::Tree &rData )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getLayoutById
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1071,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1074,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1074,1
    - Dst: BuilderData::Video::m_layoutId::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1074,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1087,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1087,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1094,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1094,1
    - Dst: BuilderData::Video::m_id::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1096,1
    - Dst: Interpreter::instance
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1102,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1102,1
    - Dst: Interpreter*::getVarBool
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1103,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1105,1
    - Dst: UString
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1106,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1106,1
    - Dst: BuilderData::Video::m_help::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1106,1
    - Dst: CtrlVideo::CtrlVideo
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1105,1
    - Dst: CtrlGenericPtr
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1108,1
    - Dst: GET_BOX
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1112,1
    - Dst: Builder::makePosition
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1113,1
    - Dst: GenericLayout*::addControl
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1119,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - rData
    argTypes:
    - BuilderData::Video
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1069
    functionDepth: 5
    functionLinenumber: 1069
    functionLinenumberEnd: 1120
    functionName: Builder::addVideo
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 0
    functionsReached:
    - UString
    - Builder::makePosition
    - GenericLayout*::addControl
    - BuilderData::Video::m_help::c_str
    - BuilderData::Video::m_layoutId::c_str
    - Interpreter::instance
    - CtrlGenericPtr
    - Interpreter*::getVarBool
    - msg_Err
    - CtrlVideo::CtrlVideo
    - getIntf
    - GET_BOX
    - BuilderData::Video::m_id::c_str
    - getLayoutById
    linkageType: ''
    returnType: void
    signature: void Builder::addVideo( const BuilderData::Video &rData )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GenericRect::getWidth
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1133,1
    - Dst: GenericRect::getHeight
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1134,1
    - Dst: Position
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1203,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 9
    argNames:
    - rLeftTop
    - rRightBottom
    - xPos
    - yPos
    - width
    - height
    - rRect
    - xKeepRatio
    - yKeepRatio
    argTypes:
    - std::string
    - std::string
    - int
    - int
    - int
    - int
    - GenericRect
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1205
    functionName: Builder::makePosition
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 11
    functionsReached:
    - GenericRect::getHeight
    - GenericRect::getWidth
    - Position
    linkageType: ''
    returnType: Position
    signature: "Position Builder::makePosition( const std::string &rLeftTop,\n                                      const
      std::string &rRightBottom,\n                                      int xPos,
      int yPos, int width,\n                                      int height, const
      GenericRect &rRect,\n                                      bool xKeepRatio,
      bool yKeepRatio ) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getFontById
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1210,1
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1214,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1214,1
    - Dst: OSFactory*::getResourcePath
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1215,1
    - Dst: OSFactory*::getDirSeparator
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1216,1
    - Dst: std::list::begin
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1219,1
    - Dst: std::list::end
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1219,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1222,1
    - Dst: FT2Font::FT2Font
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1222,1
    - Dst: GenericFont*::init
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1223,1
    - Dst: GenericFontPtr
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1226,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1237,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1237,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - fontId
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1208
    functionDepth: 2
    functionLinenumber: 1208
    functionLinenumberEnd: 1241
    functionName: Builder::getFont
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 4
    functionsReached:
    - OSFactory*::getResourcePath
    - getFontById
    - OSFactory*::getDirSeparator
    - std::list::begin
    - std::list::end
    - GenericFont*::init
    - GenericFontPtr
    - msg_Err
    - getIntf
    - FT2Font::FT2Font
    - OSFactory::instance
    linkageType: ''
    returnType: GenericFont
    signature: GenericFont *Builder::getFont( const std::string &fontId )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1246,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1246,1
    - Dst: OSFactory*::getDirSeparator
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1247,1
    - Dst: std::string::find
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1250,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1254,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1254,1
    - Dst: std::string::find
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1256,1
    - Dst: std::string::find
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1262,1
    - Dst: std::string::replace
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1263,1
    - Dst: vlc_stat
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1270,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1270,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1272,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1272,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1272,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - rFileName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1244
    functionDepth: 2
    functionLinenumber: 1244
    functionLinenumberEnd: 1277
    functionName: Builder::getFilePath
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 4
    functionsReached:
    - std::string::find
    - OSFactory*::getDirSeparator
    - msg_Err
    - std::string::c_str
    - std::string::replace
    - getIntf
    - msg_Warn
    - vlc_stat
    - OSFactory::instance
    linkageType: ''
    returnType: std::string
    signature: std::string Builder::getFilePath( const std::string &rFileName ) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1287,1
    - Dst: std::vector::push_back
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1292,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1293,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1306,1
    - Dst: Bezier::Bezier
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1306,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - pTag
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1281
    functionDepth: 2
    functionLinenumber: 1281
    functionLinenumberEnd: 1307
    functionName: Builder::getPoints
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 2
    functionsReached:
    - sscanf
    - push_back
    - Bezier::Bezier
    - std::vector::push_back
    - getIntf
    linkageType: ''
    returnType: Bezier
    signature: Bezier *Builder::getPoints( const char *pTag ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Interpreter::instance
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1313,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1313,1
    - Dst: Interpreter*::getConstant
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1314,1
    - Dst: SkinParser::convertColor
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1317,1
    - Dst: std::string::c_str
      Src: /src/vlc/modules/gui/skins2/parser/builder.cpp:1317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rVal
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1310
    functionDepth: 5
    functionLinenumber: 1310
    functionLinenumberEnd: 1318
    functionName: Builder::getColor
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder.cpp
    functionUses: 2
    functionsReached:
    - SkinParser::convertColor
    - Interpreter::instance
    - Interpreter*::getConstant
    - std::string::c_str
    - getIntf
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Builder::getColor( const std::string &rVal ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ExprEvaluator::ExprEvaluator
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/expr_evaluator.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExprEvaluator( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ~ExprEvaluator()
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/expr_evaluator.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ExprEvaluator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' tooltipfont'
    - magnet
    - alpha
    - moveAlpha
    argTypes:
    - std::string
    - int
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: Theme
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder_data.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Theme( const std::string & tooltipfont, int magnet, uint32_t alpha,
      uint32_t moveAlpha )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - ' id'
    - ' fileName'
    - alphaColor
    - nbFrames
    - fps
    - nbLoops
    argTypes:
    - std::string
    - std::string
    - uint32_t
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: Bitmap
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder_data.hpp
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bitmap( const std::string & id, const std::string & fileName,
      uint32_t alphaColor, int nbFrames, int fps, int nbLoops )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - ' id'
    - ' parent'
    - x
    - y
    - width
    - height
    - nbFrames
    - fps
    - nbLoops
    argTypes:
    - std::string
    - std::string
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: SubBitmap
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder_data.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SubBitmap( const std::string & id, const std::string & parent,
      int x, int y, int width, int height, int nbFrames, int fps, int nbLoops )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' id'
    - ' file'
    - ' type'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: BitmapFont
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder_data.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BitmapFont( const std::string & id, const std::string & file,
      const std::string & type )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' id'
    - ' fontFile'
    - size
    argTypes:
    - std::string
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: Font
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder_data.hpp
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Font( const std::string & id, const std::string & fontFile, int
      size )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: PopupMenu
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder_data.hpp
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PopupMenu( const std::string & id )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' label'
    - ' action'
    - pos
    - ' popupId'
    argTypes:
    - std::string
    - std::string
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: MenuItem
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder_data.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MenuItem( const std::string & label, const std::string & action,
      int pos, const std::string & popupId )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pos
    - ' popupId'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: MenuSeparator
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder_data.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MenuSeparator( int pos, const std::string & popupId )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 11
    argNames:
    - ' id'
    - xPos
    - yPos
    - ' position'
    - ' xOffset'
    - ' yOffset'
    - ' xMargin'
    - ' yMargin'
    - visible
    - dragDrop
    - playOnDrop
    argTypes:
    - std::string
    - int
    - int
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: Window
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder_data.hpp
    functionUses: 186
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Window( const std::string & id, int xPos, int yPos, const std::string
      & position, const std::string & xOffset, const std::string & yOffset, const
      std::string & xMargin, const std::string & yMargin, bool visible, bool dragDrop,
      bool playOnDrop )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 8
    argNames:
    - ' id'
    - width
    - height
    - minWidth
    - maxWidth
    - minHeight
    - maxHeight
    - ' windowId'
    argTypes:
    - std::string
    - int
    - int
    - int
    - int
    - int
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 176
    functionName: Layout
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder_data.hpp
    functionUses: 100
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Layout( const std::string & id, int width, int height, int minWidth,
      int maxWidth, int minHeight, int maxHeight, const std::string & windowId )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 7
    argNames:
    - xPos
    - yPos
    - ' leftTop'
    - range
    - priority
    - ' points'
    - ' layoutId'
    argTypes:
    - int
    - int
    - std::string
    - int
    - int
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 194
    functionName: Anchor
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder_data.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Anchor( int xPos, int yPos, const std::string & leftTop, int range,
      int priority, const std::string & points, const std::string & layoutId )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 18
    argNames:
    - ' id'
    - xPos
    - yPos
    - ' leftTop'
    - ' rightBottom'
    - xKeepRatio
    - yKeepRatio
    - ' visible'
    - ' upId'
    - ' downId'
    - ' overId'
    - ' actionId'
    - ' tooltip'
    - ' help'
    - layer
    - ' windowId'
    - ' layoutId'
    - ' panelId'
    argTypes:
    - std::string
    - int
    - int
    - std::string
    - std::string
    - bool
    - bool
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - int
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 211
    functionName: Button
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder_data.hpp
    functionUses: 60
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Button( const std::string & id, int xPos, int yPos, const std::string
      & leftTop, const std::string & rightBottom, bool xKeepRatio, bool yKeepRatio,
      const std::string & visible, const std::string & upId, const std::string & downId,
      const std::string & overId, const std::string & actionId, const std::string
      & tooltip, const std::string & help, int layer, const std::string & windowId,
      const std::string & layoutId, const std::string & panelId )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 24
    argNames:
    - ' id'
    - xPos
    - yPos
    - ' leftTop'
    - ' rightBottom'
    - xKeepRatio
    - yKeepRatio
    - ' visible'
    - ' up1Id'
    - ' down1Id'
    - ' over1Id'
    - ' up2Id'
    - ' down2Id'
    - ' over2Id'
    - ' state'
    - ' action1'
    - ' action2'
    - ' tooltip1'
    - ' tooltip2'
    - ' help'
    - layer
    - ' windowId'
    - ' layoutId'
    - ' panelId'
    argTypes:
    - std::string
    - int
    - int
    - std::string
    - std::string
    - bool
    - bool
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - int
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 239
    functionName: Checkbox
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder_data.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Checkbox( const std::string & id, int xPos, int yPos, const std::string
      & leftTop, const std::string & rightBottom, bool xKeepRatio, bool yKeepRatio,
      const std::string & visible, const std::string & up1Id, const std::string &
      down1Id, const std::string & over1Id, const std::string & up2Id, const std::string
      & down2Id, const std::string & over2Id, const std::string & state, const std::string
      & action1, const std::string & action2, const std::string & tooltip1, const
      std::string & tooltip2, const std::string & help, int layer, const std::string
      & windowId, const std::string & layoutId, const std::string & panelId )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 20
    argNames:
    - ' id'
    - xPos
    - yPos
    - width
    - height
    - ' leftTop'
    - ' rightBottom'
    - xKeepRatio
    - yKeepRatio
    - ' visible'
    - ' bmpId'
    - ' actionId'
    - ' action2Id'
    - ' resize'
    - ' help'
    - art
    - layer
    - ' windowId'
    - ' layoutId'
    - ' panelId'
    argTypes:
    - std::string
    - int
    - int
    - int
    - int
    - std::string
    - std::string
    - bool
    - bool
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - bool
    - int
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 273
    functionName: Image
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder_data.hpp
    functionUses: 75
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Image( const std::string & id, int xPos, int yPos, int width,
      int height, const std::string & leftTop, const std::string & rightBottom, bool
      xKeepRatio, bool yKeepRatio, const std::string & visible, const std::string
      & bmpId, const std::string & actionId, const std::string & action2Id, const
      std::string & resize, const std::string & help, bool art, int layer, const std::string
      & windowId, const std::string & layoutId, const std::string & panelId )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' id'
    - ' file'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 303
    functionName: IniFile
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder_data.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IniFile( const std::string & id, const std::string & file )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 13
    argNames:
    - ' id'
    - xPos
    - yPos
    - ' leftTop'
    - ' rightBottom'
    - xKeepRatio
    - yKeepRatio
    - width
    - height
    - layer
    - ' windowId'
    - ' layoutId'
    - ' panelId'
    argTypes:
    - std::string
    - int
    - int
    - std::string
    - std::string
    - bool
    - bool
    - int
    - int
    - int
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 315
    functionName: Panel
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder_data.hpp
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Panel( const std::string & id, int xPos, int yPos, const std::string
      & leftTop, const std::string & rightBottom, bool xKeepRatio, bool yKeepRatio,
      int width, int height, int layer, const std::string & windowId, const std::string
      & layoutId, const std::string & panelId )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 20
    argNames:
    - ' id'
    - xPos
    - yPos
    - ' visible'
    - ' fontId'
    - ' text'
    - width
    - ' leftTop'
    - ' rightBottom'
    - xKeepRatio
    - yKeepRatio
    - color
    - ' scrolling'
    - ' alignment'
    - ' focus'
    - ' help'
    - layer
    - ' windowId'
    - ' layoutId'
    - ' panelId'
    argTypes:
    - std::string
    - int
    - int
    - std::string
    - std::string
    - std::string
    - int
    - std::string
    - std::string
    - bool
    - bool
    - uint32_t
    - std::string
    - std::string
    - std::string
    - std::string
    - int
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 338
    functionName: Text
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder_data.hpp
    functionUses: 149
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Text( const std::string & id, int xPos, int yPos, const std::string
      & visible, const std::string & fontId, const std::string & text, int width,
      const std::string & leftTop, const std::string & rightBottom, bool xKeepRatio,
      bool yKeepRatio, uint32_t color, const std::string & scrolling, const std::string
      & alignment, const std::string & focus, const std::string & help, int layer,
      const std::string & windowId, const std::string & layoutId, const std::string
      & panelId )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 19
    argNames:
    - ' id'
    - ' visible'
    - xPos
    - yPos
    - ' leftTop'
    - ' rightBottom'
    - xKeepRatio
    - yKeepRatio
    - ' sequence'
    - nbImages
    - minAngle
    - maxAngle
    - ' value'
    - ' tooltip'
    - ' help'
    - layer
    - ' windowId'
    - ' layoutId'
    - ' panelId'
    argTypes:
    - std::string
    - std::string
    - int
    - int
    - std::string
    - std::string
    - bool
    - bool
    - std::string
    - int
    - float
    - float
    - std::string
    - std::string
    - std::string
    - int
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 368
    functionName: RadialSlider
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder_data.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RadialSlider( const std::string & id, const std::string & visible,
      int xPos, int yPos, const std::string & leftTop, const std::string & rightBottom,
      bool xKeepRatio, bool yKeepRatio, const std::string & sequence, int nbImages,
      float minAngle, float maxAngle, const std::string & value, const std::string
      & tooltip, const std::string & help, int layer, const std::string & windowId,
      const std::string & layoutId, const std::string & panelId )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 27
    argNames:
    - ' id'
    - ' visible'
    - xPos
    - yPos
    - width
    - height
    - ' leftTop'
    - ' rightBottom'
    - xKeepRatio
    - yKeepRatio
    - ' upId'
    - ' downId'
    - ' overId'
    - ' points'
    - thickness
    - ' value'
    - ' imageId'
    - nbHoriz
    - nbVert
    - padHoriz
    - padVert
    - ' tooltip'
    - ' help'
    - layer
    - ' windowId'
    - ' layoutId'
    - ' panelId'
    argTypes:
    - std::string
    - std::string
    - int
    - int
    - int
    - int
    - std::string
    - std::string
    - bool
    - bool
    - std::string
    - std::string
    - std::string
    - std::string
    - int
    - std::string
    - std::string
    - int
    - int
    - int
    - int
    - std::string
    - std::string
    - int
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 397
    functionName: Slider
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder_data.hpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Slider( const std::string & id, const std::string & visible, int
      xPos, int yPos, int width, int height, const std::string & leftTop, const std::string
      & rightBottom, bool xKeepRatio, bool yKeepRatio, const std::string & upId, const
      std::string & downId, const std::string & overId, const std::string & points,
      int thickness, const std::string & value, const std::string & imageId, int nbHoriz,
      int nbVert, int padHoriz, int padVert, const std::string & tooltip, const std::string
      & help, int layer, const std::string & windowId, const std::string & layoutId,
      const std::string & panelId )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 23
    argNames:
    - ' id'
    - xPos
    - yPos
    - ' visible'
    - width
    - height
    - ' leftTop'
    - ' rightBottom'
    - xKeepRatio
    - yKeepRatio
    - ' fontId'
    - ' var'
    - ' bgImageId'
    - ' fgColor'
    - ' playColor'
    - ' bgColor1'
    - ' bgColor2'
    - ' selColor'
    - ' help'
    - layer
    - ' windowId'
    - ' layoutId'
    - ' panelId'
    argTypes:
    - std::string
    - int
    - int
    - std::string
    - int
    - int
    - std::string
    - std::string
    - bool
    - bool
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - int
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 434
    functionName: List
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder_data.hpp
    functionUses: 98
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void List( const std::string & id, int xPos, int yPos, const std::string
      & visible, int width, int height, const std::string & leftTop, const std::string
      & rightBottom, bool xKeepRatio, bool yKeepRatio, const std::string & fontId,
      const std::string & var, const std::string & bgImageId, const std::string &
      fgColor, const std::string & playColor, const std::string & bgColor1, const
      std::string & bgColor2, const std::string & selColor, const std::string & help,
      int layer, const std::string & windowId, const std::string & layoutId, const
      std::string & panelId )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 27
    argNames:
    - ' id'
    - xPos
    - yPos
    - ' visible'
    - ' flat'
    - width
    - height
    - ' leftTop'
    - ' rightBottom'
    - xKeepRatio
    - yKeepRatio
    - ' fontId'
    - ' var'
    - ' bgImageId'
    - ' itemImageId'
    - ' openImageId'
    - ' closedImageId'
    - ' fgColor'
    - ' playColor'
    - ' bgColor1'
    - ' bgColor2'
    - ' selColor'
    - ' help'
    - layer
    - ' windowId'
    - ' layoutId'
    - ' panelId'
    argTypes:
    - std::string
    - int
    - int
    - std::string
    - std::string
    - int
    - int
    - std::string
    - std::string
    - bool
    - bool
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - int
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 467
    functionName: Tree
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder_data.hpp
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tree( const std::string & id, int xPos, int yPos, const std::string
      & visible, const std::string & flat, int width, int height, const std::string
      & leftTop, const std::string & rightBottom, bool xKeepRatio, bool yKeepRatio,
      const std::string & fontId, const std::string & var, const std::string & bgImageId,
      const std::string & itemImageId, const std::string & openImageId, const std::string
      & closedImageId, const std::string & fgColor, const std::string & playColor,
      const std::string & bgColor1, const std::string & bgColor2, const std::string
      & selColor, const std::string & help, int layer, const std::string & windowId,
      const std::string & layoutId, const std::string & panelId )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 16
    argNames:
    - ' id'
    - xPos
    - yPos
    - width
    - height
    - ' leftTop'
    - ' rightBottom'
    - xKeepRatio
    - yKeepRatio
    - ' visible'
    - autoResize
    - ' help'
    - layer
    - ' windowId'
    - ' layoutId'
    - ' panelId'
    argTypes:
    - std::string
    - int
    - int
    - int
    - int
    - std::string
    - std::string
    - bool
    - bool
    - std::string
    - bool
    - std::string
    - int
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 504
    functionName: Video
    functionSourceFile: /src/vlc/modules/gui/skins2/parser/builder_data.hpp
    functionUses: 65
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Video( const std::string & id, int xPos, int yPos, int width,
      int height, const std::string & leftTop, const std::string & rightBottom, bool
      xKeepRatio, bool yKeepRatio, const std::string & visible, bool autoResize, const
      std::string & help, int layer, const std::string & windowId, const std::string
      & layoutId, const std::string & panelId )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:31,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:31,1
    - Dst: vlc_playlist_Count
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:32,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:32,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:35,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:35,1
    - Dst: vlc_player_IsStarted
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:36,1
    - Dst: vlc_playlist_Resume
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:37,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:37,1
    - Dst: vlc_playlist_PlayAt
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:39,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:39,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:40,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:40,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:44,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:44,1
    - Dst: CmdDlgFile
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:45,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 47
    functionName: CmdPlay::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp
    functionUses: 0
    functionsReached:
    - CmdDlgFile
    - vlc_playlist_Count
    - vlc_playlist_Lock
    - vlc_playlist_PlayAt
    - vlc_playlist_Unlock
    - getPL
    - vlc_playlist_GetPlayer
    - getIntf
    - vlc_player_IsStarted
    - vlc_playlist_Resume
    linkageType: ''
    returnType: void
    signature: void CmdPlay::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:52,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:52,1
    - Dst: vlc_playlist_Pause
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:53,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:53,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:54,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: CmdPause::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp
    functionUses: 0
    functionsReached:
    - getPL
    - vlc_playlist_Unlock
    - vlc_playlist_Lock
    - vlc_playlist_Pause
    linkageType: ''
    returnType: void
    signature: void CmdPause::execute()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:60,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:60,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:62,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:62,1
    - Dst: vlc_player_IsStarted
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:63,1
    - Dst: vlc_playlist_Stop
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:64,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:64,1
    - Dst: vlc_playlist_GoTo
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:66,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:66,1
    - Dst: vlc_playlist_Stop
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:68,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:68,1
    - Dst: vlc_playlist_GoTo
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:69,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:69,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:71,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 72
    functionName: CmdStop::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_Stop
    - vlc_playlist_Lock
    - vlc_playlist_GoTo
    - vlc_playlist_Unlock
    - getPL
    - vlc_playlist_GetPlayer
    - vlc_player_IsStarted
    linkageType: ''
    returnType: void
    signature: void CmdStop::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:77,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:77,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:78,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:78,1
    - Dst: vlc_player_DecrementRate
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:79,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:80,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: CmdSlower::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_Lock
    - vlc_player_DecrementRate
    - vlc_playlist_Unlock
    - getPL
    - vlc_playlist_GetPlayer
    linkageType: ''
    returnType: void
    signature: void CmdSlower::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:86,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:86,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:87,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:87,1
    - Dst: vlc_player_IncrementRate
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:88,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:89,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: CmdFaster::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_Lock
    - vlc_playlist_Unlock
    - getPL
    - vlc_playlist_GetPlayer
    - vlc_player_IncrementRate
    linkageType: ''
    returnType: void
    signature: void CmdFaster::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:95,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:95,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:96,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:96,1
    - Dst: vlc_player_aout_ToggleMute
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:97,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:98,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: CmdMute::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_Lock
    - vlc_playlist_Unlock
    - getPL
    - vlc_playlist_GetPlayer
    - vlc_player_aout_ToggleMute
    linkageType: ''
    returnType: void
    signature: void CmdMute::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:104,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:104,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:105,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:105,1
    - Dst: vlc_player_aout_IncrementVolume
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:106,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:107,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: CmdVolumeUp::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_Lock
    - vlc_player_aout_IncrementVolume
    - vlc_playlist_Unlock
    - getPL
    - vlc_playlist_GetPlayer
    linkageType: ''
    returnType: void
    signature: void CmdVolumeUp::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:113,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:113,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:114,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:114,1
    - Dst: vlc_player_aout_DecrementVolume
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:115,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:116,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: CmdVolumeDown::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_input.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_Lock
    - vlc_playlist_Unlock
    - getPL
    - vlc_playlist_GetPlayer
    - vlc_player_aout_DecrementVolume
    linkageType: ''
    returnType: void
    signature: void CmdVolumeDown::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pIntf
    - iEnable
    argTypes:
    - intf_thread_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: CmdSetEqualizer::CmdSetEqualizer
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_audio.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CmdSetEqualizer( intf_thread_t *pIntf, bool iEnable )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~CmdSetEqualizer()
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_audio.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CmdSetEqualizer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: CmdSetEqualizer::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_audio.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/skins2/commands/cmd_snapshot.cpp:28,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_snapshot.cpp:28,1
    - Dst: vlc_player_vout_Snapshot
      Src: /src/vlc/modules/gui/skins2/commands/cmd_snapshot.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: CmdSnapshot::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_snapshot.cpp
    functionUses: 0
    functionsReached:
    - getPL
    - vlc_playlist_GetPlayer
    - vlc_player_vout_Snapshot
    linkageType: ''
    returnType: void
    signature: void CmdSnapshot::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/skins2/commands/cmd_snapshot.cpp:35,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_snapshot.cpp:35,1
    - Dst: vlc_player_ToggleRecording
      Src: /src/vlc/modules/gui/skins2/commands/cmd_snapshot.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: CmdToggleRecord::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_snapshot.cpp
    functionUses: 0
    functionsReached:
    - getPL
    - vlc_playlist_GetPlayer
    - vlc_player_ToggleRecording
    linkageType: ''
    returnType: void
    signature: void CmdToggleRecord::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/skins2/commands/cmd_snapshot.cpp:42,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_snapshot.cpp:42,1
    - Dst: vlc_player_NextVideoFrame
      Src: /src/vlc/modules/gui/skins2/commands/cmd_snapshot.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: CmdNextFrame::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_snapshot.cpp
    functionUses: 0
    functionsReached:
    - getPL
    - vlc_player_NextVideoFrame
    - vlc_playlist_GetPlayer
    linkageType: ''
    returnType: void
    signature: void CmdNextFrame::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/commands/cmd_minimize.cpp:31,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_minimize.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: CmdMinimize::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_minimize.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - OSFactory::instance
    linkageType: ''
    returnType: void
    signature: void CmdMinimize::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/commands/cmd_minimize.cpp:37,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_minimize.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: CmdRestore::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_minimize.cpp
    functionUses: 1
    functionsReached:
    - getIntf
    - OSFactory::instance
    linkageType: ''
    returnType: void
    signature: void CmdRestore::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pIntf
    - rWindowManager
    - rWindow
    argTypes:
    - intf_thread_t*
    - WindowManager
    - TopWindow
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: CmdMaximize::CmdMaximize
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_minimize.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CmdMaximize::CmdMaximize( intf_thread_t *pIntf, WindowManager
      &rWindowManager,\n                          TopWindow &rWindow )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: maximize
      Src: /src/vlc/modules/gui/skins2/commands/cmd_minimize.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: CmdMaximize::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_minimize.cpp
    functionUses: 0
    functionsReached:
    - maximize
    linkageType: ''
    returnType: void
    signature: void CmdMaximize::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pIntf
    - rWindowManager
    - rWindow
    argTypes:
    - intf_thread_t*
    - WindowManager
    - TopWindow
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: CmdUnmaximize::CmdUnmaximize
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_minimize.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CmdUnmaximize::CmdUnmaximize( intf_thread_t *pIntf,\n                              WindowManager
      &rWindowManager,\n                              TopWindow &rWindow )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unmaximize
      Src: /src/vlc/modules/gui/skins2/commands/cmd_minimize.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: CmdUnmaximize::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_minimize.cpp
    functionUses: 0
    functionsReached:
    - unmaximize
    linkageType: ''
    returnType: void
    signature: void CmdUnmaximize::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/commands/cmd_minimize.cpp:70,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_minimize.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: CmdAddInTray::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_minimize.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - OSFactory::instance
    linkageType: ''
    returnType: void
    signature: void CmdAddInTray::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/commands/cmd_minimize.cpp:76,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_minimize.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: CmdRemoveFromTray::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_minimize.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - OSFactory::instance
    linkageType: ''
    returnType: void
    signature: void CmdRemoveFromTray::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/commands/cmd_minimize.cpp:82,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_minimize.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: CmdAddInTaskBar::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_minimize.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - OSFactory::instance
    linkageType: ''
    returnType: void
    signature: void CmdAddInTaskBar::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/commands/cmd_minimize.cpp:88,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_minimize.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: CmdRemoveFromTaskBar::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_minimize.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - OSFactory::instance
    linkageType: ''
    returnType: void
    signature: void CmdRemoveFromTaskBar::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pIntf
    - rName
    - playNow
    argTypes:
    - intf_thread_t*
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: CmdAddItem::CmdAddItem
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_add_item.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CmdAddItem( intf_thread_t *pIntf, const std::string &rName, bool
      playNow )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~CmdAddItem()
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_add_item.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CmdAddItem()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: CmdAddItem::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_add_item.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: CmdDummy::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_dummy.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CmdDummy::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/skins2/commands/cmd_fullscreen.cpp:28,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_fullscreen.cpp:28,1
    - Dst: vlc_player_vout_SetFullscreen
      Src: /src/vlc/modules/gui/skins2/commands/cmd_fullscreen.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: CmdFullscreen::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_fullscreen.cpp
    functionUses: 0
    functionsReached:
    - getPL
    - vlc_player_vout_SetFullscreen
    - vlc_playlist_GetPlayer
    linkageType: ''
    returnType: void
    signature: void CmdFullscreen::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pIntf
    - rWinManager
    - rWin
    argTypes:
    - intf_thread_t*
    - WindowManager
    - TopWindow
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: CmdShowWindow::CmdShowWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_show_window.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CmdShowWindow( intf_thread_t *pIntf, WindowManager &rWinManager,\n
      \                  TopWindow &rWin )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: ~CmdShowWindow()
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_show_window.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CmdShowWindow()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: show
      Src: /src/vlc/modules/gui/skins2/commands/cmd_show_window.hpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: CmdShowWindow::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_show_window.hpp
    functionUses: 0
    functionsReached:
    - show
    linkageType: ''
    returnType: void
    signature: void execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: CmdShowWindow::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_show_window.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pIntf
    - rWinManager
    - rWin
    argTypes:
    - intf_thread_t*
    - WindowManager
    - TopWindow
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: CmdHideWindow::CmdHideWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_show_window.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CmdHideWindow( intf_thread_t *pIntf, WindowManager &rWinManager,\n
      \                  TopWindow &rWin )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: ~CmdHideWindow()
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_show_window.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CmdHideWindow()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hide
      Src: /src/vlc/modules/gui/skins2/commands/cmd_show_window.hpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: CmdHideWindow::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_show_window.hpp
    functionUses: 0
    functionsReached:
    - hide
    linkageType: ''
    returnType: void
    signature: void execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: CmdHideWindow::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_show_window.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pIntf
    - rWinManager
    argTypes:
    - intf_thread_t*
    - WindowManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: CmdRaiseAll::CmdRaiseAll
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_show_window.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CmdRaiseAll( intf_thread_t *pIntf, WindowManager &rWinManager
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: ~CmdRaiseAll()
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_show_window.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CmdRaiseAll()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raiseAll
      Src: /src/vlc/modules/gui/skins2/commands/cmd_show_window.hpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: CmdRaiseAll::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_show_window.hpp
    functionUses: 0
    functionsReached:
    - raiseAll
    linkageType: ''
    returnType: void
    signature: void execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: CmdRaiseAll::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_show_window.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pIntf
    - rPopup
    argTypes:
    - intf_thread_t*
    - Popup
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: CmdShowPopup::CmdShowPopup
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_show_window.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CmdShowPopup( intf_thread_t *pIntf, Popup &rPopup )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: ~CmdShowPopup()
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_show_window.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CmdShowPopup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/commands/cmd_show_window.hpp:99,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_show_window.hpp:99,1
    - Dst: show
      Src: /src/vlc/modules/gui/skins2/commands/cmd_show_window.hpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: CmdShowPopup::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_show_window.hpp
    functionUses: 0
    functionsReached:
    - show
    - getIntf
    - OSFactory::instance
    linkageType: ''
    returnType: void
    signature: void execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: CmdShowPopup::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_show_window.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pIntf
    - newVal
    - label
    argTypes:
    - intf_thread_t*
    - vlc_value_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: CmdCallback::CmdCallback
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_callbacks.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CmdCallback( intf_thread_t *pIntf, vlc_value_t newVal,\n                 void
      (VlcProc::*func)(vlc_value_t),\n                 const std::string &label )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: CmdCallback::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_callbacks.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: CmdCallback::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_callbacks.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/gui/skins2/commands/cmd_callbacks.hpp:65,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/gui/skins2/commands/cmd_callbacks.hpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pIntf
    - obj
    argTypes:
    - intf_thread_t*
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: CmdExecuteBlock::CmdExecuteBlock
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_callbacks.hpp
    functionUses: 2
    functionsReached:
    - vlc_cond_init
    - vlc_mutex_init
    linkageType: ''
    returnType: void
    signature: "void CmdExecuteBlock( intf_thread_t* pIntf, vlc_object_t* obj,\n                     void
      (*func) (intf_thread_t*, vlc_object_t* ) )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/commands/cmd_callbacks.hpp:71,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/commands/cmd_callbacks.hpp:76,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_callbacks.hpp:76,1
    - Dst: AsyncQueue::instance
      Src: /src/vlc/modules/gui/skins2/commands/cmd_callbacks.hpp:80,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_callbacks.hpp:80,1
    - Dst: AsyncQueue*::push
      Src: /src/vlc/modules/gui/skins2/commands/cmd_callbacks.hpp:81,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/gui/skins2/commands/cmd_callbacks.hpp:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' rcCommand'
    argTypes:
    - CmdGenericPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 86
    functionName: CmdExecuteBlock::executeWait
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_callbacks.hpp
    functionUses: 2
    functionsReached:
    - get
    - msg_Err
    - getIntf
    - AsyncQueue::instance
    - AsyncQueue*::push
    - vlc_cond_wait
    linkageType: ''
    returnType: void
    signature: void executeWait( const CmdGenericPtr& rcCommand  )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/commands/cmd_callbacks.hpp:94,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_callbacks.hpp:94,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_callbacks.hpp:98,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/gui/skins2/commands/cmd_callbacks.hpp:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 101
    functionName: CmdExecuteBlock::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_callbacks.hpp
    functionUses: 0
    functionsReached:
    - vlc_cond_signal
    - getIntf
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: CmdExecuteBlock::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_callbacks.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delSelected
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: CmdPlaylistDel::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp
    functionUses: 0
    functionsReached:
    - delSelected
    linkageType: ''
    returnType: void
    signature: void CmdPlaylistDel::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:37,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:37,1
    - Dst: vlc_playlist_Next
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:38,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:38,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:39,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: CmdPlaylistNext::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp
    functionUses: 0
    functionsReached:
    - getPL
    - vlc_playlist_Unlock
    - vlc_playlist_Next
    - vlc_playlist_Lock
    linkageType: ''
    returnType: void
    signature: void CmdPlaylistNext::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:45,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:45,1
    - Dst: vlc_playlist_Prev
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:46,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:46,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:47,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: CmdPlaylistPrevious::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp
    functionUses: 0
    functionsReached:
    - getPL
    - vlc_playlist_Prev
    - vlc_playlist_Unlock
    - vlc_playlist_Lock
    linkageType: ''
    returnType: void
    signature: void CmdPlaylistPrevious::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:53,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:53,1
    - Dst: vlc_playlist_SetPlaybackOrder
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:54,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:54,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:57,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: CmdPlaylistRandom::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp
    functionUses: 0
    functionsReached:
    - getPL
    - vlc_playlist_Unlock
    - vlc_playlist_SetPlaybackOrder
    - vlc_playlist_Lock
    linkageType: ''
    returnType: void
    signature: void CmdPlaylistRandom::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:63,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:63,1
    - Dst: vlc_playlist_SetPlaybackRepeat
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:64,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:64,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:67,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: CmdPlaylistLoop::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp
    functionUses: 0
    functionsReached:
    - getPL
    - vlc_playlist_SetPlaybackRepeat
    - vlc_playlist_Unlock
    - vlc_playlist_Lock
    linkageType: ''
    returnType: void
    signature: void CmdPlaylistLoop::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:73,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:73,1
    - Dst: vlc_playlist_SetPlaybackRepeat
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:74,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:74,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:77,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: CmdPlaylistRepeat::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp
    functionUses: 0
    functionsReached:
    - getPL
    - vlc_playlist_SetPlaybackRepeat
    - vlc_playlist_Unlock
    - vlc_playlist_Lock
    linkageType: ''
    returnType: void
    signature: void CmdPlaylistRepeat::execute()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_uri2path
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:83,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:83,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:86,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:86,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:86,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:89,1
    - Dst: input_item_New
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:91,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:91,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:92,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:92,1
    - Dst: vlc_playlist_AppendOne
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:93,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:93,1
    - Dst: vlc_playlist_IndexOfMedia
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:94,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:94,1
    - Dst: vlc_playlist_PlayAt
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:96,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:96,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:97,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 98
    functionName: CmdPlaylistLoad::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_Lock
    - input_item_New
    - vlc_playlist_PlayAt
    - vlc_uri2path
    - vlc_playlist_Unlock
    - msg_Err
    - free
    - getPL
    - getIntf
    - c_str
    - vlc_playlist_IndexOfMedia
    - vlc_playlist_AppendOne
    linkageType: ''
    returnType: void
    signature: void CmdPlaylistLoad::execute()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:104,1
    - Dst: find
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:106,1
    - Dst: find
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:108,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:112,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:112,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:116,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:116,1
    - Dst: vlc_playlist_Export
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:117,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:117,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:117,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:118,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: CmdPlaylistSave::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_Lock
    - vlc_playlist_Unlock
    - msg_Err
    - getPL
    - getIntf
    - vlc_playlist_Export
    - c_str
    - find
    linkageType: ''
    returnType: void
    signature: void CmdPlaylistSave::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:123,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:123,1
    - Dst: vlc_playlist_PlayAt
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:124,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:124,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:125,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: CmdPlaylistFirst::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_playlist.cpp
    functionUses: 0
    functionsReached:
    - getPL
    - vlc_playlist_Unlock
    - vlc_playlist_PlayAt
    - vlc_playlist_Lock
    linkageType: ''
    returnType: void
    signature: void CmdPlaylistFirst::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~CmdLayout()
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_layout.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CmdLayout()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: CmdLayout::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_layout.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delSelected
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playtree.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: CmdPlaytreeDel::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_playtree.cpp
    functionUses: 0
    functionsReached:
    - delSelected
    linkageType: ''
    returnType: void
    signature: void CmdPlaytreeDel::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playtree.cpp:40,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playtree.cpp:40,1
    - Dst: vlc_playlist_Sort
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playtree.cpp:41,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playtree.cpp:41,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playtree.cpp:42,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playtree.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: CmdPlaytreeSort::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_playtree.cpp
    functionUses: 0
    functionsReached:
    - getPL
    - vlc_playlist_Sort
    - vlc_playlist_Unlock
    - vlc_playlist_Lock
    linkageType: ''
    returnType: void
    signature: void CmdPlaytreeSort::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VlcProc::instance
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playtree.cpp:47,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_playtree.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: CmdPlaytreeReset::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_playtree.cpp
    functionUses: 0
    functionsReached:
    - VlcProc::instance
    - getIntf
    linkageType: ''
    returnType: void
    signature: void CmdPlaytreeReset::execute()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/vlc/modules/gui/skins2/commands/cmd_change_skin.cpp:39,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_change_skin.cpp:39,1
    - Dst: auto::getWindowManager
      Src: /src/vlc/modules/gui/skins2/commands/cmd_change_skin.cpp:43,1
    - Dst: auto::getWindowManager
      Src: /src/vlc/modules/gui/skins2/commands/cmd_change_skin.cpp:44,1
    - Dst: VoutManager::instance
      Src: /src/vlc/modules/gui/skins2/commands/cmd_change_skin.cpp:47,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_change_skin.cpp:47,1
    - Dst: ThemeLoader::load
      Src: /src/vlc/modules/gui/skins2/commands/cmd_change_skin.cpp:50,1
    - Dst: msg_Info
      Src: /src/vlc/modules/gui/skins2/commands/cmd_change_skin.cpp:53,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_change_skin.cpp:53,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/skins2/commands/cmd_change_skin.cpp:54,1
    - Dst: auto::reset
      Src: /src/vlc/modules/gui/skins2/commands/cmd_change_skin.cpp:55,1
    - Dst: VoutManager::instance
      Src: /src/vlc/modules/gui/skins2/commands/cmd_change_skin.cpp:58,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_change_skin.cpp:58,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/gui/skins2/commands/cmd_change_skin.cpp:62,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_change_skin.cpp:62,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_change_skin.cpp:64,1
    - Dst: std::move
      Src: /src/vlc/modules/gui/skins2/commands/cmd_change_skin.cpp:64,1
    - Dst: VoutManager::instance
      Src: /src/vlc/modules/gui/skins2/commands/cmd_change_skin.cpp:65,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_change_skin.cpp:65,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_change_skin.cpp:66,1
    - Dst: p_theme::getWindowManager
      Src: /src/vlc/modules/gui/skins2/commands/cmd_change_skin.cpp:66,1
    - Dst: msg_Err
      Src: /src/vlc/modules/gui/skins2/commands/cmd_change_skin.cpp:70,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_change_skin.cpp:70,1
    - Dst: CmdQuit::execute
      Src: /src/vlc/modules/gui/skins2/commands/cmd_change_skin.cpp:73,1
    - Dst: ThemeRepository::instance
      Src: /src/vlc/modules/gui/skins2/commands/cmd_change_skin.cpp:77,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_change_skin.cpp:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 78
    functionName: CmdChangeSkin::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_change_skin.cpp
    functionUses: 0
    functionsReached:
    - auto::reset
    - CmdQuit::execute
    - p_theme::getWindowManager
    - auto::getWindowManager
    - ThemeLoader::load
    - VoutManager::instance
    - msg_Err
    - std::move
    - msg_Info
    - getIntf
    - c_str
    - msg_Warn
    - ThemeRepository::instance
    linkageType: ''
    returnType: void
    signature: void CmdChangeSkin::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_on_top.cpp:31,1
    - Dst: p_theme::getWindowManager
      Src: /src/vlc/modules/gui/skins2/commands/cmd_on_top.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: CmdOnTop::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_on_top.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - p_theme::getWindowManager
    linkageType: ''
    returnType: void
    signature: void CmdOnTop::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_on_top.cpp:36,1
    - Dst: p_theme::getWindowManager
      Src: /src/vlc/modules/gui/skins2/commands/cmd_on_top.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: CmdSetOnTop::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_on_top.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - p_theme::getWindowManager
    linkageType: ''
    returnType: void
    signature: void CmdSetOnTop::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: DEFINE_COMMAND
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_generic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_COMMAND( name, type )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - parent
    - ','
    - action
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 58
    functionName: DEFINE_CALLBACK
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_generic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_CALLBACK( parent, action )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: ~CmdGeneric()
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_generic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CmdGeneric()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: CmdGeneric::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_generic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: CmdGeneric::checkRemove
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_generic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool checkRemove( CmdGeneric * ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: CmdGeneric::CmdGeneric
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_generic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CmdGeneric( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - pIntf
    - rWindowManager
    - rLayout
    - width
    - height
    argTypes:
    - intf_thread_t*
    - WindowManager
    - GenericLayout
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: CmdResize::CmdResize
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_resize.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CmdResize::CmdResize( intf_thread_t *pIntf, const WindowManager
      &rWindowManager,\n                      GenericLayout &rLayout, int width, int
      height )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/vlc/modules/gui/skins2/commands/cmd_resize.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: CmdResize::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_resize.cpp
    functionUses: 0
    functionsReached:
    - resize
    linkageType: ''
    returnType: void
    signature: void CmdResize::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - pIntf
    - pWnd
    - width
    - height
    argTypes:
    - intf_thread_t*
    - vlc_window_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: CmdResizeVout::CmdResizeVout
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_resize.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CmdResizeVout::CmdResizeVout( intf_thread_t *pIntf, vlc_window_t*
      pWnd,\n                              int width, int height )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_resize.cpp:54,1
    - Dst: p_voutManager::setSizeWnd
      Src: /src/vlc/modules/gui/skins2/commands/cmd_resize.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: CmdResizeVout::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_resize.cpp
    functionUses: 0
    functionsReached:
    - p_voutManager::setSizeWnd
    - getIntf
    linkageType: ''
    returnType: void
    signature: void CmdResizeVout::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pIntf
    - pWnd
    - fullscreen
    argTypes:
    - intf_thread_t*
    - vlc_window_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: CmdSetFullscreen::CmdSetFullscreen
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_resize.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CmdSetFullscreen::CmdSetFullscreen( intf_thread_t *pIntf,\n                                    vlc_window_t
      * pWnd, bool fullscreen )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_resize.cpp:64,1
    - Dst: p_voutManager::setFullscreenWnd
      Src: /src/vlc/modules/gui/skins2/commands/cmd_resize.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: CmdSetFullscreen::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_resize.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - p_voutManager::setFullscreenWnd
    linkageType: ''
    returnType: void
    signature: void CmdSetFullscreen::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp:29,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp:29,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp:30,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp:30,1
    - Dst: vlc_player_SelectNextTitle
      Src: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp:31,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp:32,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: CmdDvdNextTitle::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_Lock
    - vlc_player_SelectNextTitle
    - vlc_playlist_Unlock
    - getPL
    - vlc_playlist_GetPlayer
    linkageType: ''
    returnType: void
    signature: void CmdDvdNextTitle::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp:38,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp:38,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp:39,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp:39,1
    - Dst: vlc_player_SelectPrevTitle
      Src: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp:40,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp:41,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: CmdDvdPreviousTitle::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_Lock
    - vlc_playlist_Unlock
    - getPL
    - vlc_playlist_GetPlayer
    - vlc_player_SelectPrevTitle
    linkageType: ''
    returnType: void
    signature: void CmdDvdPreviousTitle::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp:47,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp:47,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp:48,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp:48,1
    - Dst: vlc_player_SelectNextChapter
      Src: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp:49,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp:50,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: CmdDvdNextChapter::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_Lock
    - vlc_playlist_Unlock
    - vlc_player_SelectNextChapter
    - getPL
    - vlc_playlist_GetPlayer
    linkageType: ''
    returnType: void
    signature: void CmdDvdNextChapter::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp:56,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp:56,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp:57,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp:57,1
    - Dst: vlc_player_SelectPrevChapter
      Src: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp:58,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp:59,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: CmdDvdPreviousChapter::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp
    functionUses: 0
    functionsReached:
    - vlc_player_SelectPrevChapter
    - vlc_playlist_Lock
    - vlc_playlist_Unlock
    - getPL
    - vlc_playlist_GetPlayer
    linkageType: ''
    returnType: void
    signature: void CmdDvdPreviousChapter::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp:65,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp:65,1
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp:66,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp:66,1
    - Dst: vlc_player_Navigate
      Src: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp:67,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp:68,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: CmdDvdRootMenu::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_dvd.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_Lock
    - vlc_playlist_Unlock
    - getPL
    - vlc_playlist_GetPlayer
    - vlc_player_Navigate
    linkageType: ''
    returnType: void
    signature: void CmdDvdRootMenu::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/commands/cmd_muxer.cpp:29,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/commands/cmd_muxer.cpp:29,1
    - Dst: CmdMuxer::execute
      Src: /src/vlc/modules/gui/skins2/commands/cmd_muxer.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: CmdMuxer::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_muxer.cpp
    functionUses: 1
    functionsReached:
    - end
    - begin
    - CmdMuxer::execute
    linkageType: ''
    returnType: void
    signature: void CmdMuxer::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pIntf
    - b_ontop
    argTypes:
    - intf_thread_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: CmdSetOnTop::CmdSetOnTop
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_on_top.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CmdSetOnTop( intf_thread_t *pIntf, bool b_ontop )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~CmdSetOnTop()
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_on_top.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CmdSetOnTop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: CmdSetOnTop::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_on_top.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pIntf
    - rList
    argTypes:
    - intf_thread_t*
    - VarList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: CmdPlaylistDel::CmdPlaylistDel
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_playlist.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CmdPlaylistDel( intf_thread_t *pIntf, VarList &rList )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~CmdPlaylistDel()
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_playlist.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CmdPlaylistDel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: CmdPlaylistDel::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_playlist.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pIntf
    - value
    argTypes:
    - intf_thread_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: CmdPlaylistRandom::CmdPlaylistRandom
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_playlist.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CmdPlaylistRandom( intf_thread_t *pIntf, bool value )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: ~CmdPlaylistRandom()
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_playlist.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CmdPlaylistRandom()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: CmdPlaylistRandom::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_playlist.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pIntf
    - value
    argTypes:
    - intf_thread_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: CmdPlaylistLoop::CmdPlaylistLoop
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_playlist.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CmdPlaylistLoop( intf_thread_t *pIntf, bool value )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: ~CmdPlaylistLoop()
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_playlist.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CmdPlaylistLoop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: CmdPlaylistLoop::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_playlist.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pIntf
    - value
    argTypes:
    - intf_thread_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: CmdPlaylistRepeat::CmdPlaylistRepeat
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_playlist.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CmdPlaylistRepeat( intf_thread_t *pIntf, bool value )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: ~CmdPlaylistRepeat()
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_playlist.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CmdPlaylistRepeat()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: CmdPlaylistRepeat::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_playlist.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pIntf
    - ' rFile'
    argTypes:
    - intf_thread_t*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: CmdPlaylistLoad::CmdPlaylistLoad
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_playlist.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CmdPlaylistLoad( intf_thread_t *pIntf, const std::string& rFile
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: ~CmdPlaylistLoad()
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_playlist.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CmdPlaylistLoad()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: CmdPlaylistLoad::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_playlist.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pIntf
    - ' rFile'
    argTypes:
    - intf_thread_t*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: CmdPlaylistSave::CmdPlaylistSave
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_playlist.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CmdPlaylistSave( intf_thread_t *pIntf, const std::string& rFile
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: ~CmdPlaylistSave()
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_playlist.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CmdPlaylistSave()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: CmdPlaylistSave::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_playlist.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: ~CmdMaximize()
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_minimize.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CmdMaximize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: CmdMaximize::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_minimize.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: ~CmdUnmaximize()
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_minimize.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CmdUnmaximize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: CmdUnmaximize::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_minimize.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pIntf
    - rList
    argTypes:
    - intf_thread_t*
    - std::list<CmdGeneric*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: CmdMuxer::CmdMuxer
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_muxer.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CmdMuxer( intf_thread_t *pIntf, const std::list<CmdGeneric*> &rList
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~CmdMuxer()
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_muxer.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CmdMuxer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: CmdMuxer::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_muxer.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/vlc/modules/gui/skins2/commands/cmd_add_item.cpp:36,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/skins2/commands/cmd_add_item.cpp:36,1
    - Dst: vlc_path2uri
      Src: /src/vlc/modules/gui/skins2/commands/cmd_add_item.cpp:38,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/skins2/commands/cmd_add_item.cpp:38,1
    - Dst: free
      Src: /src/vlc/modules/gui/skins2/commands/cmd_add_item.cpp:42,1
    - Dst: input_item_New
      Src: /src/vlc/modules/gui/skins2/commands/cmd_add_item.cpp:44,1
    - Dst: c_str
      Src: /src/vlc/modules/gui/skins2/commands/cmd_add_item.cpp:44,1
    - Dst: vlc_playlist_Lock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_add_item.cpp:47,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_add_item.cpp:47,1
    - Dst: vlc_playlist_AppendOne
      Src: /src/vlc/modules/gui/skins2/commands/cmd_add_item.cpp:48,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_add_item.cpp:48,1
    - Dst: vlc_playlist_IndexOfMedia
      Src: /src/vlc/modules/gui/skins2/commands/cmd_add_item.cpp:50,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_add_item.cpp:50,1
    - Dst: vlc_playlist_PlayAt
      Src: /src/vlc/modules/gui/skins2/commands/cmd_add_item.cpp:52,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_add_item.cpp:52,1
    - Dst: vlc_playlist_Unlock
      Src: /src/vlc/modules/gui/skins2/commands/cmd_add_item.cpp:54,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_add_item.cpp:54,1
    - Dst: input_item_Release
      Src: /src/vlc/modules/gui/skins2/commands/cmd_add_item.cpp:55,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 57
    functionName: CmdAddItem::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_add_item.cpp
    functionUses: 0
    functionsReached:
    - vlc_playlist_Lock
    - input_item_New
    - input_item_Release
    - vlc_playlist_PlayAt
    - vlc_playlist_Unlock
    - free
    - getPL
    - vlc_playlist_IndexOfMedia
    - strstr
    - c_str
    - vlc_path2uri
    - vlc_playlist_AppendOne
    linkageType: ''
    returnType: void
    signature: void CmdAddItem::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/commands/async_queue.cpp:34,1
    - Dst: reset
      Src: /src/vlc/modules/gui/skins2/commands/async_queue.cpp:35,1
    - Dst: OSFactory*::createOSTimer
      Src: /src/vlc/modules/gui/skins2/commands/async_queue.cpp:35,1
    - Dst: start
      Src: /src/vlc/modules/gui/skins2/commands/async_queue.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: AsyncQueue::AsyncQueue
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/async_queue.cpp
    functionUses: 0
    functionsReached:
    - start
    - OSFactory*::createOSTimer
    - reset
    - OSFactory::instance
    linkageType: ''
    returnType: void
    signature: void AsyncQueue::AsyncQueue( intf_thread_t *pIntf )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AsyncQueue::AsyncQueue
      Src: /src/vlc/modules/gui/skins2/commands/async_queue.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: AsyncQueue::instance
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/async_queue.cpp
    functionUses: 20
    functionsReached:
    - AsyncQueue::AsyncQueue
    linkageType: ''
    returnType: AsyncQueue
    signature: AsyncQueue *AsyncQueue::instance( intf_thread_t *pIntf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pIntf
    argTypes:
    - intf_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: AsyncQueue::destroy
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/async_queue.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AsyncQueue::destroy( intf_thread_t *pIntf )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AsyncQueue::remove
      Src: /src/vlc/modules/gui/skins2/commands/async_queue.cpp:71,1
    - Dst: CmdGenericPtr::get
      Src: /src/vlc/modules/gui/skins2/commands/async_queue.cpp:71,1
    - Dst: push_back
      Src: /src/vlc/modules/gui/skins2/commands/async_queue.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rcCommand
    - removePrev
    argTypes:
    - CmdGenericPtr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: AsyncQueue::push
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/async_queue.cpp
    functionUses: 0
    functionsReached:
    - CmdGenericPtr::get
    - AsyncQueue::remove
    - push_back
    linkageType: ''
    returnType: void
    signature: void AsyncQueue::push( const CmdGenericPtr &rcCommand, bool removePrev
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/vlc/modules/gui/skins2/commands/async_queue.cpp:80,1
    - Dst: end
      Src: /src/vlc/modules/gui/skins2/commands/async_queue.cpp:80,1
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/commands/async_queue.cpp:86,1
    - Dst: CmdGenericPtr::get
      Src: /src/vlc/modules/gui/skins2/commands/async_queue.cpp:87,1
    - Dst: get
      Src: /src/vlc/modules/gui/skins2/commands/async_queue.cpp:87,1
    - Dst: erase
      Src: /src/vlc/modules/gui/skins2/commands/async_queue.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - rType
    - rcCommand
    argTypes:
    - std::string
    - CmdGenericPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 96
    functionName: AsyncQueue::remove
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/async_queue.cpp
    functionUses: 1
    functionsReached:
    - erase
    - CmdGenericPtr::get
    - begin
    - get
    - end
    linkageType: ''
    returnType: void
    signature: void AsyncQueue::remove( const std::string &rType, const CmdGenericPtr
      &rcCommand )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/vlc/modules/gui/skins2/commands/async_queue.cpp:101,1
    - Dst: front
      Src: /src/vlc/modules/gui/skins2/commands/async_queue.cpp:107,1
    - Dst: pop_front
      Src: /src/vlc/modules/gui/skins2/commands/async_queue.cpp:108,1
    - Dst: CmdGenericPtr::get
      Src: /src/vlc/modules/gui/skins2/commands/async_queue.cpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 117
    functionName: AsyncQueue::flush
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/async_queue.cpp
    functionUses: 0
    functionsReached:
    - CmdGenericPtr::get
    - empty
    - pop_front
    - front
    linkageType: ''
    returnType: void
    signature: void AsyncQueue::flush()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flush
      Src: /src/vlc/modules/gui/skins2/commands/async_queue.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: AsyncQueue::CmdFlush::execute()
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/async_queue.cpp
    functionUses: 0
    functionsReached:
    - flush
    linkageType: ''
    returnType: void
    signature: void AsyncQueue::CmdFlush::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pIntf
    - pos
    argTypes:
    - intf_thread_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: CmdItemUpdate::CmdItemUpdate
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_vars.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CmdItemUpdate( intf_thread_t *pIntf, int pos )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~CmdItemUpdate()
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_vars.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CmdItemUpdate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: CmdItemUpdate::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_vars.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pIntf
    - pos
    argTypes:
    - intf_thread_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: CmdItemPlaying::CmdItemPlaying
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_vars.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CmdItemPlaying( intf_thread_t *pIntf, int pos )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: ~CmdItemPlaying()
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_vars.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CmdItemPlaying()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: CmdItemPlaying::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_vars.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pIntf
    - pos
    argTypes:
    - intf_thread_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: CmdPlaytreeAppend::CmdPlaytreeAppend
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_vars.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CmdPlaytreeAppend( intf_thread_t *pIntf, int pos )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: ~CmdPlaytreeAppend()
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_vars.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CmdPlaytreeAppend()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: CmdPlaytreeAppend::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_vars.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pIntf
    - pos
    argTypes:
    - intf_thread_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: CmdPlaytreeDelete::CmdPlaytreeDelete
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_vars.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CmdPlaytreeDelete( intf_thread_t *pIntf, int pos )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~CmdPlaytreeDelete()
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_vars.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CmdPlaytreeDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: CmdPlaytreeDelete::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_vars.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pIntf
    - rText
    - rValue
    argTypes:
    - intf_thread_t*
    - VarText
    - UString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: CmdSetText::CmdSetText
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_vars.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CmdSetText( intf_thread_t *pIntf, VarText &rText, const UString
      &rValue )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: ~CmdSetText()
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_vars.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CmdSetText()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: CmdSetText::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_vars.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - I
    - P
    - v
    argTypes:
    - intf_thread_t*
    - EqualizerPreamp
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: CmdSetEqPreamp::CmdSetEqPreamp
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_vars.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CmdSetEqPreamp( intf_thread_t *I, EqualizerPreamp &P, float v
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: ~CmdSetEqPreamp()
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_vars.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CmdSetEqPreamp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: CmdSetEqPreamp::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_vars.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - I
    - B
    - V
    argTypes:
    - intf_thread_t*
    - EqualizerBands
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: CmdSetEqBands::CmdSetEqBands
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_vars.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CmdSetEqBands( intf_thread_t *I, EqualizerBands &B, const std::string
      &V )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: ~CmdSetEqBands()
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_vars.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CmdSetEqBands()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: CmdSetEqBands::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_vars.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: DEFC
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_dialogs.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFC( a, c )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pIntf
    - rWindow
    - rLayout
    argTypes:
    - intf_thread_t*
    - TopWindow
    - GenericLayout
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: CmdLayout::CmdLayout
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_layout.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CmdLayout::CmdLayout( intf_thread_t *pIntf, TopWindow &rWindow,\n
      \                     GenericLayout &rLayout )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_layout.cpp:37,1
    - Dst: auto::getWindowManager
      Src: /src/vlc/modules/gui/skins2/commands/cmd_layout.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: CmdLayout::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_layout.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - auto::getWindowManager
    linkageType: ''
    returnType: void
    signature: void CmdLayout::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/skins2/commands/cmd_quit.cpp:38,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_quit.cpp:38,1
    - Dst: vlc_player_osd_Message
      Src: /src/vlc/modules/gui/skins2/commands/cmd_quit.cpp:39,1
    - Dst: _
      Src: /src/vlc/modules/gui/skins2/commands/cmd_quit.cpp:40,1
    - Dst: libvlc_Quit
      Src: /src/vlc/modules/gui/skins2/commands/cmd_quit.cpp:43,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/gui/skins2/commands/cmd_quit.cpp:43,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_quit.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: CmdQuit::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_quit.cpp
    functionUses: 1
    functionsReached:
    - _
    - vlc_object_instance
    - vlc_player_osd_Message
    - getPL
    - vlc_playlist_GetPlayer
    - getIntf
    - libvlc_Quit
    linkageType: ''
    returnType: void
    signature: void CmdQuit::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSFactory::instance
      Src: /src/vlc/modules/gui/skins2/commands/cmd_quit.cpp:50,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_quit.cpp:50,1
    - Dst: OSFactory*::getOSLoop
      Src: /src/vlc/modules/gui/skins2/commands/cmd_quit.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: CmdExitLoop::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_quit.cpp
    functionUses: 0
    functionsReached:
    - getIntf
    - OSFactory*::getOSLoop
    - OSFactory::instance
    linkageType: ''
    returnType: void
    signature: void CmdExitLoop::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_playlist_GetPlayer
      Src: /src/vlc/modules/gui/skins2/commands/cmd_audio.cpp:31,1
    - Dst: getPL
      Src: /src/vlc/modules/gui/skins2/commands/cmd_audio.cpp:31,1
    - Dst: vlc_player_aout_EnableFilter
      Src: /src/vlc/modules/gui/skins2/commands/cmd_audio.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: CmdSetEqualizer::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_audio.cpp
    functionUses: 0
    functionsReached:
    - getPL
    - vlc_player_aout_EnableFilter
    - vlc_playlist_GetPlayer
    linkageType: ''
    returnType: void
    signature: void CmdSetEqualizer::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pIntf
    - rTree
    argTypes:
    - intf_thread_t*
    - VarTree
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: CmdPlaytreeDel::CmdPlaytreeDel
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_playtree.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CmdPlaytreeDel( intf_thread_t *pIntf, VarTree &rTree )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~CmdPlaytreeDel()
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_playtree.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CmdPlaytreeDel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: CmdPlaytreeDel::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_playtree.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: ~CmdResize()
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_resize.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CmdResize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: CmdResize::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_resize.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: ~CmdResizeVout()
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_resize.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CmdResizeVout()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: CmdResizeVout::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_resize.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: ~CmdSetFullscreen()
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_resize.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CmdSetFullscreen()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: CmdSetFullscreen::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_resize.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VlcProc::instance
      Src: /src/vlc/modules/gui/skins2/commands/cmd_vars.cpp:32,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_vars.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: CmdItemUpdate::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_vars.cpp
    functionUses: 0
    functionsReached:
    - VlcProc::instance
    - getIntf
    linkageType: ''
    returnType: void
    signature: void CmdItemUpdate::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pQueuedCommand
    argTypes:
    - CmdGeneric*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: CmdItemUpdate::checkRemove
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_vars.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CmdItemUpdate::checkRemove( CmdGeneric *pQueuedCommand ) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VlcProc::instance
      Src: /src/vlc/modules/gui/skins2/commands/cmd_vars.cpp:44,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_vars.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: CmdItemPlaying::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_vars.cpp
    functionUses: 0
    functionsReached:
    - VlcProc::instance
    - getIntf
    linkageType: ''
    returnType: void
    signature: void CmdItemPlaying::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VlcProc::instance
      Src: /src/vlc/modules/gui/skins2/commands/cmd_vars.cpp:49,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_vars.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: CmdPlaytreeAppend::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_vars.cpp
    functionUses: 0
    functionsReached:
    - VlcProc::instance
    - getIntf
    linkageType: ''
    returnType: void
    signature: void CmdPlaytreeAppend::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VlcProc::instance
      Src: /src/vlc/modules/gui/skins2/commands/cmd_vars.cpp:54,1
    - Dst: getIntf
      Src: /src/vlc/modules/gui/skins2/commands/cmd_vars.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: CmdPlaytreeDelete::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_vars.cpp
    functionUses: 0
    functionsReached:
    - VlcProc::instance
    - getIntf
    linkageType: ''
    returnType: void
    signature: void CmdPlaytreeDelete::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set
      Src: /src/vlc/modules/gui/skins2/commands/cmd_vars.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: CmdSetText::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_vars.cpp
    functionUses: 0
    functionsReached:
    - set
    linkageType: ''
    returnType: void
    signature: void CmdSetText::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set
      Src: /src/vlc/modules/gui/skins2/commands/cmd_vars.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: CmdSetEqBands::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_vars.cpp
    functionUses: 0
    functionsReached:
    - set
    linkageType: ''
    returnType: void
    signature: void CmdSetEqBands::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set
      Src: /src/vlc/modules/gui/skins2/commands/cmd_vars.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: CmdSetEqPreamp::execute
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_vars.cpp
    functionUses: 0
    functionsReached:
    - set
    linkageType: ''
    returnType: void
    signature: void CmdSetEqPreamp::execute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pIntf
    - rFile
    argTypes:
    - intf_thread_t*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: CmdChangeSkin::CmdChangeSkin
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_change_skin.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CmdChangeSkin( intf_thread_t *pIntf, const std::string &rFile
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~CmdChangeSkin()
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_change_skin.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CmdChangeSkin()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: CmdChangeSkin::getType
    functionSourceFile: /src/vlc/modules/gui/skins2/commands/cmd_change_skin.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: MacOSXDragDrop::getPlayOnDrop
    functionSourceFile: /src/vlc/modules/gui/skins2/macosx/macosx_dragdrop.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getPlayOnDrop() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: MacOSXDragDrop::getWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/macosx/macosx_dragdrop.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GenericWindow
    signature: GenericWindow *getWindow() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: MacOSXWindow::getNSWindow
    functionSourceFile: /src/vlc/modules/gui/skins2/macosx/macosx_window.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NSWindow
    signature: NSWindow *getNSWindow() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: '&getGenericWindow() const'
    functionSourceFile: /src/vlc/modules/gui/skins2/macosx/macosx_window.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GenericWindow
    signature: GenericWindow &getGenericWindow() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: MacOSXTimer::getNextDate
    functionSourceFile: /src/vlc/modules/gui/skins2/macosx/macosx_timer.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t getNextDate() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: '&getDirSeparator() const'
    functionSourceFile: /src/vlc/modules/gui/skins2/macosx/macosx_factory.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &getDirSeparator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: '&getResourcePath() const'
    functionSourceFile: /src/vlc/modules/gui/skins2/macosx/macosx_factory.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::list<std::string>
    signature: std::list<std::string> &getResourcePath() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: MacOSXFactory::getTimerLoop
    functionSourceFile: /src/vlc/modules/gui/skins2/macosx/macosx_factory.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MacOSXTimerLoop
    signature: MacOSXTimerLoop *getTimerLoop() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: MacOSXGraphics::getWidth
    functionSourceFile: /src/vlc/modules/gui/skins2/macosx/macosx_graphics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getWidth() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: MacOSXGraphics::getHeight
    functionSourceFile: /src/vlc/modules/gui/skins2/macosx/macosx_graphics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getHeight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: MacOSXGraphics::getData
    functionSourceFile: /src/vlc/modules/gui/skins2/macosx/macosx_graphics.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *getData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 41
    functionName: NSWindowController
    functionSourceFile: /src/vlc/modules/gui/macosx/windows/VLCAboutWindowController.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: interface
    signature: interface NSWindowController<NSWindowDelegate>
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 37
    functionName: VLCAddonsWindowController
    functionSourceFile: /src/vlc/modules/gui/macosx/windows/addons/VLCAddonsWindowController.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: interface
    signature: interface VLCAddonsWindowController
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 106
    functionName: AppleRemote
    functionSourceFile: /src/vlc/modules/gui/macosx/imported/AppleRemote/AppleRemote.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: interface
    signature: interface AppleRemote
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 183
    functionName: NSObject
    functionSourceFile: /src/vlc/modules/gui/macosx/imported/AppleRemote/AppleRemote.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: end
    signature: end NSObject<NSApplicationDelegate>
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: NSTR
    functionSourceFile: /src/vlc/modules/gui/macosx/extensions/NSString+Helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NSTR(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: _NS
    functionSourceFile: /src/vlc/modules/gui/macosx/extensions/NSString+Helpers.h
    functionUses: 55
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _NS(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - p
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: _NPS
    functionSourceFile: /src/vlc/modules/gui/macosx/extensions/NSString+Helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _NPS(s, p, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: _PNS
    functionSourceFile: /src/vlc/modules/gui/macosx/extensions/NSString+Helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _PNS(c, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - NSString*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 198
    functionName: B64DecNSStr
    functionSourceFile: /src/vlc/modules/gui/macosx/extensions/NSString+Helpers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: end
    signature: end *B64DecNSStr(NSString *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/gui/macosx/extensions/NSString+Helpers.h:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cs
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 214
    functionName: B64EncAndFree
    functionSourceFile: /src/vlc/modules/gui/macosx/extensions/NSString+Helpers.h
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: NSString
    signature: NSString *B64EncAndFree(char *cs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/vdummy.c:75,1
    - Dst: vlc_fourcc_GetCodecFromString
      Src: /src/vlc/modules/video_output/vdummy.c:77,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/vdummy.c:79,1
    - Dst: free
      Src: /src/vlc/modules/video_output/vdummy.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - vd
    - fmt
    argTypes:
    - vout_display_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/vdummy.c
    functionUses: 59
    functionsReached:
    - vlc_fourcc_GetCodecFromString
    - var_InheritString
    - free
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void Open(vout_display_t *vd, video_format_t *fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vd
    - picture
    argTypes:
    - vout_display_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: Display
    functionSourceFile: /src/vlc/modules/video_output/vdummy.c
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Display(vout_display_t *vd, picture_t *picture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Open
      Src: /src/vlc/modules/video_output/vdummy.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - vd
    - fmtp
    - context
    argTypes:
    - vout_display_t*
    - video_format_t*
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: OpenDummy
    functionSourceFile: /src/vlc/modules/video_output/vdummy.c
    functionUses: 0
    functionsReached:
    - Open
    linkageType: ''
    returnType: int
    signature: "int OpenDummy(vout_display_t *vd,\n                     video_format_t
      *fmtp, vlc_video_context *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Open
      Src: /src/vlc/modules/video_output/vdummy.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - vd
    - fmtp
    - context
    argTypes:
    - vout_display_t*
    - video_format_t*
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: OpenStats
    functionSourceFile: /src/vlc/modules/video_output/vdummy.c
    functionUses: 0
    functionsReached:
    - Open
    linkageType: ''
    returnType: int
    signature: "int OpenStats(vout_display_t *vd,\n                     video_format_t
      *fmtp, vlc_video_context *context)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/vdummy.c:122,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/vdummy.c:127,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/vdummy.c:128,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/video_output/vdummy.c:129,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/video_output/vdummy.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - vd
    - picture
    argTypes:
    - vout_display_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: DisplayStat
    functionSourceFile: /src/vlc/modules/video_output/vdummy.c
    functionUses: 0
    functionsReached:
    - MS_FROM_VLC_TICK
    - vlc_tick_now
    - memcpy
    - msg_Dbg
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void DisplayStat(vout_display_t *vd, picture_t *picture)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/decklink.cpp:296,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/video_output/decklink.cpp:296,1
    - Dst: lock
      Src: /src/vlc/modules/video_output/decklink.cpp:299,1
    - Dst: var_Type
      Src: /src/vlc/modules/video_output/decklink.cpp:301,1
    - Dst: var_GetAddress
      Src: /src/vlc/modules/video_output/decklink.cpp:303,1
    - Dst: msg_Info
      Src: /src/vlc/modules/video_output/decklink.cpp:310,1
    - Dst: wait
      Src: /src/vlc/modules/video_output/decklink.cpp:311,1
    - Dst: malloc
      Src: /src/vlc/modules/video_output/decklink.cpp:317,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/decklink.cpp:324,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/video_output/decklink.cpp:327,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/video_output/decklink.cpp:328,1
    - Dst: var_Create
      Src: /src/vlc/modules/video_output/decklink.cpp:329,1
    - Dst: var_SetAddress
      Src: /src/vlc/modules/video_output/decklink.cpp:330,1
    - Dst: unlock
      Src: /src/vlc/modules/video_output/decklink.cpp:334,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - obj
    - i_cat
    argTypes:
    - vlc_object_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 336
    functionName: HoldDLSys
    functionSourceFile: /src/vlc/modules/video_output/decklink.cpp
    functionUses: 0
    functionsReached:
    - var_GetAddress
    - var_InheritInteger
    - var_SetAddress
    - vlc_mutex_init
    - vlc_object_instance
    - var_Create
    - lock
    - msg_Info
    - vlc_cond_init
    - VLC_OBJECT
    - wait
    - unlock
    - malloc
    - var_Type
    linkageType: ''
    returnType: decklink_sys_t
    signature: decklink_sys_t *HoldDLSys(vlc_object_t *obj, int i_cat)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/decklink.cpp:340,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/video_output/decklink.cpp:340,1
    - Dst: lock
      Src: /src/vlc/modules/video_output/decklink.cpp:342,1
    - Dst: var_GetAddress
      Src: /src/vlc/modules/video_output/decklink.cpp:344,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/decklink.cpp:347,1
    - Dst: struct decklink_sys_t*::p_output::StopScheduledPlayback
      Src: /src/vlc/modules/video_output/decklink.cpp:350,1
    - Dst: struct decklink_sys_t*::p_output::DisableVideoOutput
      Src: /src/vlc/modules/video_output/decklink.cpp:351,1
    - Dst: struct decklink_sys_t*::p_output::DisableAudioOutput
      Src: /src/vlc/modules/video_output/decklink.cpp:352,1
    - Dst: struct decklink_sys_t*::p_output::Release
      Src: /src/vlc/modules/video_output/decklink.cpp:353,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_output/decklink.cpp:358,1
    - Dst: free
      Src: /src/vlc/modules/video_output/decklink.cpp:360,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/video_output/decklink.cpp:361,1
    - Dst: signal
      Src: /src/vlc/modules/video_output/decklink.cpp:367,1
    - Dst: unlock
      Src: /src/vlc/modules/video_output/decklink.cpp:370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - obj
    - i_cat
    argTypes:
    - vlc_object_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 371
    functionName: ReleaseDLSys
    functionSourceFile: /src/vlc/modules/video_output/decklink.cpp
    functionUses: 0
    functionsReached:
    - var_Destroy
    - var_GetAddress
    - unlock
    - vlc_object_instance
    - lock
    - picture_Release
    - free
    - msg_Dbg
    - VLC_OBJECT
    - struct decklink_sys_t*::p_output::DisableAudioOutput
    - struct decklink_sys_t*::p_output::StopScheduledPlayback
    - signal
    - struct decklink_sys_t*::p_output::DisableVideoOutput
    - struct decklink_sys_t*::p_output::Release
    linkageType: ''
    returnType: void
    signature: void ReleaseDLSys(vlc_object_t *obj, int i_cat)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/decklink.cpp:376,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/decklink.cpp:379,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_output/decklink.cpp:381,1
    - Dst: free
      Src: /src/vlc/modules/video_output/decklink.cpp:387,1
    - Dst: vlc_ctz
      Src: /src/vlc/modules/video_output/decklink.cpp:391,1
    - Dst: BMDVideoConnection
      Src: /src/vlc/modules/video_output/decklink.cpp:392,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - vd
    - mask
    argTypes:
    - vout_display_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 395
    functionName: getVConn
    functionSourceFile: /src/vlc/modules/video_output/decklink.cpp
    functionUses: 1
    functionsReached:
    - var_InheritString
    - ARRAY_SIZE
    - free
    - strcmp
    - vlc_ctz
    - BMDVideoConnection
    linkageType: ''
    returnType: BMDVideoConnection
    signature: BMDVideoConnection getVConn(vout_display_t *vd, int mask)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: msg_Info
      Src: /src/vlc/modules/video_output/decklink.cpp:430,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/video_output/decklink.cpp:432,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/decklink.cpp:434,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/decklink.cpp:435,1
    - Dst: strnlen
      Src: /src/vlc/modules/video_output/decklink.cpp:439,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/decklink.cpp:441,1
    - Dst: free
      Src: /src/vlc/modules/video_output/decklink.cpp:442,1
    - Dst: strncpy
      Src: /src/vlc/modules/video_output/decklink.cpp:445,1
    - Dst: free
      Src: /src/vlc/modules/video_output/decklink.cpp:446,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/decklink.cpp:451,1
    - Dst: CreateDeckLinkIteratorInstance
      Src: /src/vlc/modules/video_output/decklink.cpp:455,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/decklink.cpp:458,1
    - Dst: IDeckLink*::Release
      Src: /src/vlc/modules/video_output/decklink.cpp:465,1
    - Dst: IDeckLinkIterator*::Next
      Src: /src/vlc/modules/video_output/decklink.cpp:466,1
    - Dst: CHECK
      Src: /src/vlc/modules/video_output/decklink.cpp:467,1
    - Dst: IDeckLink*::GetModelName
      Src: /src/vlc/modules/video_output/decklink.cpp:472,1
    - Dst: CHECK
      Src: /src/vlc/modules/video_output/decklink.cpp:473,1
    - Dst: DECKLINK_STRDUP
      Src: /src/vlc/modules/video_output/decklink.cpp:474,1
    - Dst: DECKLINK_FREE
      Src: /src/vlc/modules/video_output/decklink.cpp:475,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/decklink.cpp:477,1
    - Dst: free
      Src: /src/vlc/modules/video_output/decklink.cpp:478,1
    - Dst: IDeckLink*::QueryInterface
      Src: /src/vlc/modules/video_output/decklink.cpp:482,1
    - Dst: CHECK
      Src: /src/vlc/modules/video_output/decklink.cpp:483,1
    - Dst: static_cast<IDeckLinkProfileAttributes*>
      Src: /src/vlc/modules/video_output/decklink.cpp:484,1
    - Dst: IDeckLinkProfileAttributes*::GetInt
      Src: /src/vlc/modules/video_output/decklink.cpp:492,1
    - Dst: CHECK
      Src: /src/vlc/modules/video_output/decklink.cpp:493,1
    - Dst: IDeckLink*::QueryInterface
      Src: /src/vlc/modules/video_output/decklink.cpp:495,1
    - Dst: CHECK
      Src: /src/vlc/modules/video_output/decklink.cpp:496,1
    - Dst: static_cast<IDeckLinkOutput*>
      Src: /src/vlc/modules/video_output/decklink.cpp:497,1
    - Dst: IDeckLink*::QueryInterface
      Src: /src/vlc/modules/video_output/decklink.cpp:499,1
    - Dst: CHECK
      Src: /src/vlc/modules/video_output/decklink.cpp:500,1
    - Dst: static_cast<IDeckLinkConfiguration*>
      Src: /src/vlc/modules/video_output/decklink.cpp:501,1
    - Dst: getVConn
      Src: /src/vlc/modules/video_output/decklink.cpp:505,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/decklink.cpp:508,1
    - Dst: IDeckLinkConfiguration*::SetInt
      Src: /src/vlc/modules/video_output/decklink.cpp:512,1
    - Dst: CHECK
      Src: /src/vlc/modules/video_output/decklink.cpp:513,1
    - Dst: Helper::MatchDisplayMode
      Src: /src/vlc/modules/video_output/decklink.cpp:515,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/decklink.cpp:515,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/decklink.cpp:519,1
    - Dst: IDeckLinkDisplayMode*::GetDisplayMode
      Src: /src/vlc/modules/video_output/decklink.cpp:528,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/decklink.cpp:529,1
    - Dst: decklink_sys_t*::p_output::DoesSupportVideoMode
      Src: /src/vlc/modules/video_output/decklink.cpp:546,1
    - Dst: decklink_sys_t*::p_output::DoesSupportVideoMode
      Src: /src/vlc/modules/video_output/decklink.cpp:553,1
    - Dst: CHECK
      Src: /src/vlc/modules/video_output/decklink.cpp:560,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/decklink.cpp:563,1
    - Dst: IDeckLinkDisplayMode*::GetWidth
      Src: /src/vlc/modules/video_output/decklink.cpp:567,1
    - Dst: IDeckLinkDisplayMode*::GetWidth
      Src: /src/vlc/modules/video_output/decklink.cpp:567,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/decklink.cpp:569,1
    - Dst: IDeckLinkDisplayMode*::GetFrameRate
      Src: /src/vlc/modules/video_output/decklink.cpp:573,1
    - Dst: CHECK
      Src: /src/vlc/modules/video_output/decklink.cpp:575,1
    - Dst: decklink_sys_t*::p_output::EnableVideoOutput
      Src: /src/vlc/modules/video_output/decklink.cpp:577,1
    - Dst: CHECK
      Src: /src/vlc/modules/video_output/decklink.cpp:578,1
    - Dst: video_format_Copy
      Src: /src/vlc/modules/video_output/decklink.cpp:580,1
    - Dst: IDeckLinkDisplayMode*::GetWidth
      Src: /src/vlc/modules/video_output/decklink.cpp:581,1
    - Dst: IDeckLinkDisplayMode*::GetHeight
      Src: /src/vlc/modules/video_output/decklink.cpp:582,1
    - Dst: decklink_sys_t*::p_output::EnableAudioOutput
      Src: /src/vlc/modules/video_output/decklink.cpp:594,1
    - Dst: BMDAudioSampleRate
      Src: /src/vlc/modules/video_output/decklink.cpp:595,1
    - Dst: CHECK
      Src: /src/vlc/modules/video_output/decklink.cpp:599,1
    - Dst: decklink_sys_t*::p_output::StartScheduledPlayback
      Src: /src/vlc/modules/video_output/decklink.cpp:603,1
    - Dst: samples_from_vlc_tick
      Src: /src/vlc/modules/video_output/decklink.cpp:604,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/video_output/decklink.cpp:604,1
    - Dst: CHECK
      Src: /src/vlc/modules/video_output/decklink.cpp:605,1
    - Dst: IDeckLinkConfiguration*::Release
      Src: /src/vlc/modules/video_output/decklink.cpp:607,1
    - Dst: IDeckLinkDisplayMode*::Release
      Src: /src/vlc/modules/video_output/decklink.cpp:608,1
    - Dst: IDeckLink*::Release
      Src: /src/vlc/modules/video_output/decklink.cpp:609,1
    - Dst: IDeckLinkProfileAttributes*::Release
      Src: /src/vlc/modules/video_output/decklink.cpp:610,1
    - Dst: IDeckLinkIterator*::Release
      Src: /src/vlc/modules/video_output/decklink.cpp:611,1
    - Dst: decklink_sys_t*::p_output::Release
      Src: /src/vlc/modules/video_output/decklink.cpp:617,1
    - Dst: IDeckLink*::Release
      Src: /src/vlc/modules/video_output/decklink.cpp:621,1
    - Dst: IDeckLinkConfiguration*::Release
      Src: /src/vlc/modules/video_output/decklink.cpp:623,1
    - Dst: IDeckLinkProfileAttributes*::Release
      Src: /src/vlc/modules/video_output/decklink.cpp:625,1
    - Dst: IDeckLinkIterator*::Release
      Src: /src/vlc/modules/video_output/decklink.cpp:627,1
    - Dst: IDeckLinkDisplayMode*::Release
      Src: /src/vlc/modules/video_output/decklink.cpp:629,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/video_output/decklink.cpp:630,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 127
    argCount: 3
    argNames:
    - vd
    - sys
    - fmt
    argTypes:
    - vout_display_t*
    - decklink_sys_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 634
    functionName: OpenDecklink
    functionSourceFile: /src/vlc/modules/video_output/decklink.cpp
    functionUses: 0
    functionsReached:
    - static_cast<IDeckLinkOutput*>
    - getVConn
    - static_cast<IDeckLinkProfileAttributes*>
    - video_format_Clean
    - IDeckLinkIterator*::Next
    - DECKLINK_FREE
    - vlc_tick_now
    - IDeckLinkDisplayMode*::Release
    - decklink_sys_t*::p_output::StartScheduledPlayback
    - strnlen
    - msg_Err
    - CreateDeckLinkIteratorInstance
    - IDeckLink*::GetModelName
    - decklink_sys_t*::p_output::EnableAudioOutput
    - msg_Dbg
    - IDeckLinkConfiguration*::Release
    - IDeckLinkDisplayMode*::GetFrameRate
    - samples_from_vlc_tick
    - IDeckLinkConfiguration*::SetInt
    - decklink_sys_t*::p_output::DoesSupportVideoMode
    - video_format_Copy
    - IDeckLinkDisplayMode*::GetHeight
    - var_InheritInteger
    - DECKLINK_STRDUP
    - BMDAudioSampleRate
    - decklink_sys_t*::p_output::Release
    - IDeckLinkDisplayMode*::GetWidth
    - IDeckLink*::QueryInterface
    - static_cast<IDeckLinkConfiguration*>
    - strncpy
    - IDeckLink*::Release
    - CHECK
    - IDeckLinkIterator*::Release
    - IDeckLinkDisplayMode*::GetDisplayMode
    - var_InheritString
    - free
    - msg_Info
    - Helper::MatchDisplayMode
    - VLC_OBJECT
    - IDeckLinkProfileAttributes*::Release
    - decklink_sys_t*::p_output::EnableVideoOutput
    - vlc_cond_wait
    - IDeckLinkProfileAttributes*::GetInt
    linkageType: ''
    returnType: int
    signature: int OpenDecklink(vout_display_t *vd, decklink_sys_t *sys, video_format_t
      *fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 413
    functionName: CHECK
    functionSourceFile: /src/vlc/modules/video_output/decklink.cpp
    functionUses: 43
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(message)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/video_output/decklink.cpp:643,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/video_output/decklink.cpp:648,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/decklink.cpp:649,1
    - Dst: memset
      Src: /src/vlc/modules/video_output/decklink.cpp:655,1
    - Dst: decklink_sys_t*::p_output::CreateVideoFrame
      Src: /src/vlc/modules/video_output/decklink.cpp:680,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/decklink.cpp:685,1
    - Dst: IDeckLinkMutableVideoFrame*::GetBytes
      Src: /src/vlc/modules/video_output/decklink.cpp:691,1
    - Dst: IDeckLinkMutableVideoFrame*::GetRowBytes
      Src: /src/vlc/modules/video_output/decklink.cpp:692,1
    - Dst: decklink_sys_t*::p_output::CreateAncillaryData
      Src: /src/vlc/modules/video_output/decklink.cpp:699,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/decklink.cpp:702,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/decklink.cpp:706,1
    - Dst: IDeckLinkVideoFrameAncillary*::GetBufferForVerticalBlankingLine
      Src: /src/vlc/modules/video_output/decklink.cpp:707,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/decklink.cpp:709,1
    - Dst: sdi::AFD::FillBuffer
      Src: /src/vlc/modules/video_output/decklink.cpp:714,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/vlc/modules/video_output/decklink.cpp:714,1
    - Dst: V210::Convert
      Src: /src/vlc/modules/video_output/decklink.cpp:716,1
    - Dst: IDeckLinkMutableVideoFrame*::SetAncillaryData
      Src: /src/vlc/modules/video_output/decklink.cpp:718,1
    - Dst: IDeckLinkVideoFrameAncillary*::Release
      Src: /src/vlc/modules/video_output/decklink.cpp:719,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/decklink.cpp:721,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/decklink.cpp:729,1
    - Dst: decklink_sys_t*::p_output::ScheduleVideoFrame
      Src: /src/vlc/modules/video_output/decklink.cpp:737,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/decklink.cpp:741,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/video_output/decklink.cpp:745,1
    - Dst: decklink_sys_t*::p_output::GetScheduledStreamTime
      Src: /src/vlc/modules/video_output/decklink.cpp:749,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/decklink.cpp:754,1
    - Dst: IDeckLinkMutableVideoFrame*::Release
      Src: /src/vlc/modules/video_output/decklink.cpp:759,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 79
    argCount: 3
    argNames:
    - vd
    - picture
    - date
    argTypes:
    - vout_display_t*
    - picture_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 639
    functionDepth: 2
    functionLinenumber: 639
    functionLinenumberEnd: 760
    functionName: PrepareVideo
    functionSourceFile: /src/vlc/modules/video_output/decklink.cpp
    functionUses: 0
    functionsReached:
    - decklink_sys_t*::p_output::CreateAncillaryData
    - IDeckLinkMutableVideoFrame*::SetAncillaryData
    - memcpy
    - vlc_tick_now
    - decklink_sys_t*::p_output::CreateVideoFrame
    - decklink_sys_t*::p_output::ScheduleVideoFrame
    - msg_Err
    - msg_Dbg
    - reinterpret_cast<uint8_t*>
    - IDeckLinkMutableVideoFrame*::GetRowBytes
    - IDeckLinkVideoFrameAncillary*::GetBufferForVerticalBlankingLine
    - sdi::AFD::FillBuffer
    - var_InheritInteger
    - IDeckLinkVideoFrameAncillary*::Release
    - IDeckLinkMutableVideoFrame*::Release
    - V210::Convert
    - memset
    - vlc_tick_from_sec
    - IDeckLinkMutableVideoFrame*::GetBytes
    - decklink_sys_t*::p_output::GetScheduledStreamTime
    linkageType: ''
    returnType: void
    signature: "void PrepareVideo(vout_display_t *vd, picture_t *picture, const vlc_render_subpicture
      *,\n                         vlc_tick_t date)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/decklink.cpp:772,1
    - Dst: HoldDLSys
      Src: /src/vlc/modules/video_output/decklink.cpp:773,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/decklink.cpp:773,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_output/decklink.cpp:778,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_output/decklink.cpp:780,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/decklink.cpp:784,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/decklink.cpp:785,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/decklink.cpp:786,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/decklink.cpp:787,1
    - Dst: OpenDecklink
      Src: /src/vlc/modules/video_output/decklink.cpp:790,1
    - Dst: CloseVideo
      Src: /src/vlc/modules/video_output/decklink.cpp:792,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/decklink.cpp:796,1
    - Dst: Generator::Picture
      Src: /src/vlc/modules/video_output/decklink.cpp:799,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/decklink.cpp:799,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/decklink.cpp:801,1
    - Dst: free
      Src: /src/vlc/modules/video_output/decklink.cpp:802,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - vd
    - fmtp
    - context
    argTypes:
    - vout_display_t*
    - video_format_t*
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 769
    functionDepth: 3
    functionLinenumber: 769
    functionLinenumberEnd: 811
    functionName: OpenVideo
    functionSourceFile: /src/vlc/modules/video_output/decklink.cpp
    functionUses: 0
    functionsReached:
    - OpenDecklink
    - var_InheritString
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - var_InheritInteger
    - var_InheritBool
    - msg_Err
    - free
    - VLC_OBJECT
    - HoldDLSys
    - CloseVideo
    - Generator::Picture
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int OpenVideo(vout_display_t *vd,\n                     video_format_t
      *fmtp, vlc_video_context *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseDLSys
      Src: /src/vlc/modules/video_output/decklink.cpp:815,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/decklink.cpp:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 813
    functionDepth: 2
    functionLinenumber: 813
    functionLinenumberEnd: 816
    functionName: CloseVideo
    functionSourceFile: /src/vlc/modules/video_output/decklink.cpp
    functionUses: 1
    functionsReached:
    - VLC_OBJECT
    - ReleaseDLSys
    linkageType: ''
    returnType: void
    signature: void CloseVideo(vout_display_t *vd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_timer_destroy
      Src: /src/vlc/modules/video_output/decklink.cpp:828,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 831
    functionName: DrainReset
    functionSourceFile: /src/vlc/modules/video_output/decklink.cpp
    functionUses: 0
    functionsReached:
    - vlc_timer_destroy
    linkageType: ''
    returnType: void
    signature: void DrainReset(audio_output_t *aout)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_output/decklink.cpp:836,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_output/decklink.cpp:838,1
    - Dst: DrainReset
      Src: /src/vlc/modules/video_output/decklink.cpp:842,1
    - Dst: decklink_sys_t*::p_output::FlushBufferedAudioSamples
      Src: /src/vlc/modules/video_output/decklink.cpp:844,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/decklink.cpp:845,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 846
    functionName: Flush
    functionSourceFile: /src/vlc/modules/video_output/decklink.cpp
    functionUses: 73
    functionsReached:
    - DrainReset
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - decklink_sys_t*::p_output::FlushBufferedAudioSamples
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void Flush(audio_output_t *aout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aout_DrainedReport
      Src: /src/vlc/modules/video_output/decklink.cpp:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 853
    functionName: DrainTimerCb
    functionSourceFile: /src/vlc/modules/video_output/decklink.cpp
    functionUses: 0
    functionsReached:
    - aout_DrainedReport
    linkageType: ''
    returnType: void
    signature: void DrainTimerCb(void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_output/decklink.cpp:858,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_output/decklink.cpp:860,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/decklink.cpp:864,1
    - Dst: decklink_sys_t*::p_output::GetBufferedAudioSampleFrameCount
      Src: /src/vlc/modules/video_output/decklink.cpp:867,1
    - Dst: aout_DrainedReport
      Src: /src/vlc/modules/video_output/decklink.cpp:871,1
    - Dst: vlc_timer_create
      Src: /src/vlc/modules/video_output/decklink.cpp:876,1
    - Dst: aout_DrainedReport
      Src: /src/vlc/modules/video_output/decklink.cpp:879,1
    - Dst: vlc_timer_schedule
      Src: /src/vlc/modules/video_output/decklink.cpp:883,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/video_output/decklink.cpp:884,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - aout
    argTypes:
    - audio_output_t*
    assertStmts:
    - condition: (sys->drain_timer == NULL)
      pos:
        line_end: 863
        line_start: 863
        source_file: /src/vlc/modules/video_output/decklink.cpp
    constantsTouched: []
    func_position:
      end: 886
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 886
    functionName: Drain
    functionSourceFile: /src/vlc/modules/video_output/decklink.cpp
    functionUses: 5
    functionsReached:
    - assert
    - vlc_timer_create
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - aout_DrainedReport
    - vlc_timer_schedule
    - vlc_tick_from_samples
    - decklink_sys_t*::p_output::GetBufferedAudioSampleFrameCount
    linkageType: ''
    returnType: void
    signature: void Drain(audio_output_t *aout)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - aout
    - fmt
    argTypes:
    - audio_output_t*
    - audio_sample_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 906
    functionName: Start
    functionSourceFile: /src/vlc/modules/video_output/decklink.cpp
    functionUses: 88
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Start(audio_output_t *aout, audio_sample_format_t *restrict fmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_output/decklink.cpp:911,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_output/decklink.cpp:914,1
    - Dst: block_Release
      Src: /src/vlc/modules/video_output/decklink.cpp:916,1
    - Dst: IDeckLinkOutput*::ScheduleAudioSamples
      Src: /src/vlc/modules/video_output/decklink.cpp:922,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/decklink.cpp:926,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/decklink.cpp:928,1
    - Dst: block_Release
      Src: /src/vlc/modules/video_output/decklink.cpp:930,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - aout
    - audio
    - systempts
    argTypes:
    - audio_output_t*
    - block_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 931
    functionName: PlayAudio
    functionSourceFile: /src/vlc/modules/video_output/decklink.cpp
    functionUses: 0
    functionsReached:
    - block_Release
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - msg_Err
    - IDeckLinkOutput*::ScheduleAudioSamples
    linkageType: ''
    returnType: void
    signature: void PlayAudio(audio_output_t *aout, block_t *audio, vlc_tick_t systempts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HoldDLSys
      Src: /src/vlc/modules/video_output/decklink.cpp:936,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_output/decklink.cpp:942,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/decklink.cpp:944,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/video_output/decklink.cpp:945,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_output/decklink.cpp:946,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 933
    functionDepth: 2
    functionLinenumber: 933
    functionLinenumberEnd: 960
    functionName: OpenAudio
    functionSourceFile: /src/vlc/modules/video_output/decklink.cpp
    functionUses: 1
    functionsReached:
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - var_InheritInteger
    - HoldDLSys
    linkageType: ''
    returnType: int
    signature: int OpenAudio(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_output/decklink.cpp:965,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_output/decklink.cpp:966,1
    - Dst: ReleaseDLSys
      Src: /src/vlc/modules/video_output/decklink.cpp:967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 962
    functionDepth: 2
    functionLinenumber: 962
    functionLinenumberEnd: 968
    functionName: CloseAudio
    functionSourceFile: /src/vlc/modules/video_output/decklink.cpp
    functionUses: 0
    functionsReached:
    - ReleaseDLSys
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void CloseAudio(vlc_object_t *p_this)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - i_pmkey
    argTypes:
    - USHORT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 173
    functionName: ConvertKey
    functionSourceFile: /src/vlc/modules/video_output/window_os2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ConvertKey( USHORT i_pmkey )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WinQueryFocus
      Src: /src/vlc/modules/video_output/window_os2.c:179,1
    - Dst: WinSetFocus
      Src: /src/vlc/modules/video_output/window_os2.c:180,1
    - Dst: WinSetCapture
      Src: /src/vlc/modules/video_output/window_os2.c:183,1
    - Dst: vlc_window_ReportMousePressed
      Src: /src/vlc/modules/video_output/window_os2.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - wnd
    - hwnd
    - button
    argTypes:
    - vlc_window_t*
    - HWND
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 188
    functionName: MousePressed
    functionSourceFile: /src/vlc/modules/video_output/window_os2.c
    functionUses: 7
    functionsReached:
    - vlc_window_ReportMousePressed
    - WinQueryFocus
    - WinSetCapture
    - WinSetFocus
    linkageType: ''
    returnType: void
    signature: void MousePressed( vlc_window_t *wnd, HWND hwnd, unsigned button )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WinSetCapture
      Src: /src/vlc/modules/video_output/window_os2.c:196,1
    - Dst: vlc_window_ReportMouseReleased
      Src: /src/vlc/modules/video_output/window_os2.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wnd
    - button
    argTypes:
    - vlc_window_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 199
    functionName: MouseReleased
    functionSourceFile: /src/vlc/modules/video_output/window_os2.c
    functionUses: 3
    functionsReached:
    - vlc_window_ReportMouseReleased
    - WinSetCapture
    linkageType: ''
    returnType: void
    signature: void MouseReleased( vlc_window_t *wnd, unsigned button )
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: WinQueryWindowPtr
      Src: /src/vlc/modules/video_output/window_os2.c:205,1
    - Dst: WinDefWindowProc
      Src: /src/vlc/modules/video_output/window_os2.c:209,1
    - Dst: WinShowPointer
      Src: /src/vlc/modules/video_output/window_os2.c:220,1
    - Dst: WinStartTimer
      Src: /src/vlc/modules/video_output/window_os2.c:223,1
    - Dst: vlc_window_ReportClose
      Src: /src/vlc/modules/video_output/window_os2.c:231,1
    - Dst: WinPostMsg
      Src: /src/vlc/modules/video_output/window_os2.c:232,1
    - Dst: vlc_window_ReportSize
      Src: /src/vlc/modules/video_output/window_os2.c:237,1
    - Dst: SHORT1FROMMP
      Src: /src/vlc/modules/video_output/window_os2.c:238,1
    - Dst: SHORT2FROMMP
      Src: /src/vlc/modules/video_output/window_os2.c:238,1
    - Dst: SHORT1FROMMP
      Src: /src/vlc/modules/video_output/window_os2.c:244,1
    - Dst: SHORT2FROMMP
      Src: /src/vlc/modules/video_output/window_os2.c:245,1
    - Dst: WinQueryWindowRect
      Src: /src/vlc/modules/video_output/window_os2.c:247,1
    - Dst: vlc_window_ReportMouseMoved
      Src: /src/vlc/modules/video_output/window_os2.c:253,1
    - Dst: WinDefWindowProc
      Src: /src/vlc/modules/video_output/window_os2.c:255,1
    - Dst: MousePressed
      Src: /src/vlc/modules/video_output/window_os2.c:260,1
    - Dst: MousePressed
      Src: /src/vlc/modules/video_output/window_os2.c:264,1
    - Dst: MousePressed
      Src: /src/vlc/modules/video_output/window_os2.c:268,1
    - Dst: MouseReleased
      Src: /src/vlc/modules/video_output/window_os2.c:272,1
    - Dst: MouseReleased
      Src: /src/vlc/modules/video_output/window_os2.c:276,1
    - Dst: MouseReleased
      Src: /src/vlc/modules/video_output/window_os2.c:280,1
    - Dst: vlc_window_ReportMouseDoubleClick
      Src: /src/vlc/modules/video_output/window_os2.c:284,1
    - Dst: vlc_window_ReportMouseDoubleClick
      Src: /src/vlc/modules/video_output/window_os2.c:288,1
    - Dst: vlc_window_ReportMouseDoubleClick
      Src: /src/vlc/modules/video_output/window_os2.c:292,1
    - Dst: SHORT1FROMMP
      Src: /src/vlc/modules/video_output/window_os2.c:302,1
    - Dst: SHORT1FROMMP
      Src: /src/vlc/modules/video_output/window_os2.c:303,1
    - Dst: SHORT2FROMMP
      Src: /src/vlc/modules/video_output/window_os2.c:304,1
    - Dst: ConvertKey
      Src: /src/vlc/modules/video_output/window_os2.c:311,1
    - Dst: HIBYTE
      Src: /src/vlc/modules/video_output/window_os2.c:312,1
    - Dst: tolower
      Src: /src/vlc/modules/video_output/window_os2.c:313,1
    - Dst: vlc_window_ReportKeyPress
      Src: /src/vlc/modules/video_output/window_os2.c:326,1
    - Dst: SHORT1FROMMP
      Src: /src/vlc/modules/video_output/window_os2.c:334,1
    - Dst: WinQueryPointerPos
      Src: /src/vlc/modules/video_output/window_os2.c:338,1
    - Dst: WinWindowFromPoint
      Src: /src/vlc/modules/video_output/window_os2.c:339,1
    - Dst: WinShowPointer
      Src: /src/vlc/modules/video_output/window_os2.c:342,1
    - Dst: WinStopTimer
      Src: /src/vlc/modules/video_output/window_os2.c:345,1
    - Dst: LONGFROMMP
      Src: /src/vlc/modules/video_output/window_os2.c:352,1
    - Dst: WinShowWindow
      Src: /src/vlc/modules/video_output/window_os2.c:355,1
    - Dst: PVOIDFROMMP
      Src: /src/vlc/modules/video_output/window_os2.c:360,1
    - Dst: WinSetParent
      Src: /src/vlc/modules/video_output/window_os2.c:364,1
    - Dst: WinWindowFromID
      Src: /src/vlc/modules/video_output/window_os2.c:364,1
    - Dst: WinSetParent
      Src: /src/vlc/modules/video_output/window_os2.c:366,1
    - Dst: WinWindowFromID
      Src: /src/vlc/modules/video_output/window_os2.c:366,1
    - Dst: WinSetParent
      Src: /src/vlc/modules/video_output/window_os2.c:368,1
    - Dst: WinWindowFromID
      Src: /src/vlc/modules/video_output/window_os2.c:368,1
    - Dst: WinSetWindowBits
      Src: /src/vlc/modules/video_output/window_os2.c:371,1
    - Dst: WinSetParent
      Src: /src/vlc/modules/video_output/window_os2.c:376,1
    - Dst: WinWindowFromID
      Src: /src/vlc/modules/video_output/window_os2.c:376,1
    - Dst: WinSetParent
      Src: /src/vlc/modules/video_output/window_os2.c:378,1
    - Dst: WinWindowFromID
      Src: /src/vlc/modules/video_output/window_os2.c:378,1
    - Dst: WinSetParent
      Src: /src/vlc/modules/video_output/window_os2.c:380,1
    - Dst: WinWindowFromID
      Src: /src/vlc/modules/video_output/window_os2.c:380,1
    - Dst: WinSetWindowBits
      Src: /src/vlc/modules/video_output/window_os2.c:383,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/window_os2.c:387,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/window_os2.c:388,1
    - Dst: WinEnableWindow
      Src: /src/vlc/modules/video_output/window_os2.c:389,1
    - Dst: WinQueryWindowRect
      Src: /src/vlc/modules/video_output/window_os2.c:399,1
    - Dst: WinCalcFrameRect
      Src: /src/vlc/modules/video_output/window_os2.c:403,1
    - Dst: WinSetWindowPos
      Src: /src/vlc/modules/video_output/window_os2.c:405,1
    - Dst: free
      Src: /src/vlc/modules/video_output/window_os2.c:411,1
    - Dst: LONGFROMMP
      Src: /src/vlc/modules/video_output/window_os2.c:418,1
    - Dst: LONGFROMMP
      Src: /src/vlc/modules/video_output/window_os2.c:419,1
    - Dst: WinCalcFrameRect
      Src: /src/vlc/modules/video_output/window_os2.c:420,1
    - Dst: WinSetWindowPos
      Src: /src/vlc/modules/video_output/window_os2.c:422,1
    - Dst: WinQueryWindowPos
      Src: /src/vlc/modules/video_output/window_os2.c:427,1
    - Dst: WinCalcFrameRect
      Src: /src/vlc/modules/video_output/window_os2.c:432,1
    - Dst: LONGFROMMP
      Src: /src/vlc/modules/video_output/window_os2.c:440,1
    - Dst: WinQueryWindowPos
      Src: /src/vlc/modules/video_output/window_os2.c:443,1
    - Dst: WinCalcFrameRect
      Src: /src/vlc/modules/video_output/window_os2.c:448,1
    - Dst: WinQueryWindowRect
      Src: /src/vlc/modules/video_output/window_os2.c:450,1
    - Dst: WinCalcFrameRect
      Src: /src/vlc/modules/video_output/window_os2.c:458,1
    - Dst: WinSetWindowPos
      Src: /src/vlc/modules/video_output/window_os2.c:460,1
    - Dst: PVOIDFROMMP
      Src: /src/vlc/modules/video_output/window_os2.c:469,1
    - Dst: WinSetWindowText
      Src: /src/vlc/modules/video_output/window_os2.c:471,1
    - Dst: free
      Src: /src/vlc/modules/video_output/window_os2.c:473,1
    - Dst: WinDefWindowProc
      Src: /src/vlc/modules/video_output/window_os2.c:478,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 152
    argCount: 4
    argNames:
    - hwnd
    - msg
    - mp1
    - mp2
    argTypes:
    - HWND
    - ULONG
    - MPARAM
    - MPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 482
    functionName: WndProc
    functionSourceFile: /src/vlc/modules/video_output/window_os2.c
    functionUses: 0
    functionsReached:
    - ConvertKey
    - WinWindowFromID
    - WinPostMsg
    - tolower
    - WinShowPointer
    - vlc_window_ReportKeyPress
    - MouseReleased
    - MousePressed
    - vlc_window_ReportSize
    - vlc_window_ReportClose
    - WinDefWindowProc
    - WinCalcFrameRect
    - vlc_window_ReportMouseMoved
    - WinSetWindowBits
    - WinQueryWindowPos
    - WinStopTimer
    - WinQueryWindowPtr
    - SHORT1FROMMP
    - WinStartTimer
    - WinSetWindowText
    - SHORT2FROMMP
    - HIBYTE
    - LONGFROMMP
    - var_InheritBool
    - WinQueryPointerPos
    - WinShowWindow
    - WinSetParent
    - WinEnableWindow
    - WinWindowFromPoint
    - WinQueryWindowRect
    - free
    - PVOIDFROMMP
    - WinSetWindowPos
    - vlc_window_ReportMouseDoubleClick
    linkageType: ''
    returnType: MRESULT
    signature: MRESULT WndProc( HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2 )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DosGetInfoBlocks
      Src: /src/vlc/modules/video_output/window_os2.c:488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 493
    functionName: MorphToPM
    functionSourceFile: /src/vlc/modules/video_output/window_os2.c
    functionUses: 1
    functionsReached:
    - DosGetInfoBlocks
    linkageType: ''
    returnType: void
    signature: void MorphToPM( void )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MorphToPM
      Src: /src/vlc/modules/video_output/window_os2.c:503,1
    - Dst: WinInitialize
      Src: /src/vlc/modules/video_output/window_os2.c:505,1
    - Dst: WinCreateMsgQueue
      Src: /src/vlc/modules/video_output/window_os2.c:506,1
    - Dst: WinRegisterClass
      Src: /src/vlc/modules/video_output/window_os2.c:508,1
    - Dst: WinCreateStdWindow
      Src: /src/vlc/modules/video_output/window_os2.c:518,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/window_os2.c:530,1
    - Dst: WinSetWindowPtr
      Src: /src/vlc/modules/video_output/window_os2.c:535,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/window_os2.c:538,1
    - Dst: WinStartTimer
      Src: /src/vlc/modules/video_output/window_os2.c:539,1
    - Dst: WinQuerySysValue
      Src: /src/vlc/modules/video_output/window_os2.c:542,1
    - Dst: WinQuerySysValue
      Src: /src/vlc/modules/video_output/window_os2.c:543,1
    - Dst: _control87
      Src: /src/vlc/modules/video_output/window_os2.c:546,1
    - Dst: DosPostEventSem
      Src: /src/vlc/modules/video_output/window_os2.c:549,1
    - Dst: WinGetMsg
      Src: /src/vlc/modules/video_output/window_os2.c:551,1
    - Dst: WinDispatchMsg
      Src: /src/vlc/modules/video_output/window_os2.c:552,1
    - Dst: WinDestroyWindow
      Src: /src/vlc/modules/video_output/window_os2.c:554,1
    - Dst: WinShowPointer
      Src: /src/vlc/modules/video_output/window_os2.c:557,1
    - Dst: WinDestroyMsgQueue
      Src: /src/vlc/modules/video_output/window_os2.c:560,1
    - Dst: WinTerminate
      Src: /src/vlc/modules/video_output/window_os2.c:561,1
    - Dst: DosPostEventSem
      Src: /src/vlc/modules/video_output/window_os2.c:564,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 565
    functionName: PMThread
    functionSourceFile: /src/vlc/modules/video_output/window_os2.c
    functionUses: 0
    functionsReached:
    - _control87
    - WinGetMsg
    - WinDispatchMsg
    - WinCreateStdWindow
    - WinTerminate
    - var_InheritInteger
    - WinDestroyWindow
    - WinRegisterClass
    - MorphToPM
    - WinInitialize
    - msg_Err
    - DosPostEventSem
    - WinQuerySysValue
    - WinShowPointer
    - WinCreateMsgQueue
    - WinStartTimer
    - WinDestroyMsgQueue
    - WinSetWindowPtr
    linkageType: ''
    returnType: void
    signature: void PMThread( void *arg )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/video_output/window_os2.c:582,1
    - Dst: DosCreateEventSem
      Src: /src/vlc/modules/video_output/window_os2.c:586,1
    - Dst: _beginthread
      Src: /src/vlc/modules/video_output/window_os2.c:588,1
    - Dst: DosWaitEventSem
      Src: /src/vlc/modules/video_output/window_os2.c:589,1
    - Dst: DosCloseEventSem
      Src: /src/vlc/modules/video_output/window_os2.c:593,1
    - Dst: free
      Src: /src/vlc/modules/video_output/window_os2.c:595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 606
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/window_os2.c
    functionUses: 61
    functionsReached:
    - _beginthread
    - DosCloseEventSem
    - calloc
    - free
    - DosWaitEventSem
    - DosCreateEventSem
    linkageType: ''
    returnType: int
    signature: int Open( vlc_window_t *wnd )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/video_output/window_os2.c:612,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/window_os2.c:616,1
    - Dst: WinPostMsg
      Src: /src/vlc/modules/video_output/window_os2.c:617,1
    - Dst: MPFROMLONG
      Src: /src/vlc/modules/video_output/window_os2.c:618,1
    - Dst: MPFROMP
      Src: /src/vlc/modules/video_output/window_os2.c:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - wnd
    - cfg
    argTypes:
    - vlc_window_t*
    - vlc_window_cfg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 621
    functionName: Enable
    functionSourceFile: /src/vlc/modules/video_output/window_os2.c
    functionUses: 13
    functionsReached:
    - WinPostMsg
    - memcpy
    - MPFROMP
    - MPFROMLONG
    - malloc
    linkageType: ''
    returnType: int
    signature: int Enable( vlc_window_t *wnd, const vlc_window_cfg_t *cfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinPostMsg
      Src: /src/vlc/modules/video_output/window_os2.c:627,1
    - Dst: MPFROMLONG
      Src: /src/vlc/modules/video_output/window_os2.c:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - struct vlc_window*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 628
    functionName: Disable
    functionSourceFile: /src/vlc/modules/video_output/window_os2.c
    functionUses: 10
    functionsReached:
    - MPFROMLONG
    - WinPostMsg
    linkageType: ''
    returnType: void
    signature: void Disable( struct vlc_window *wnd )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinPostMsg
      Src: /src/vlc/modules/video_output/window_os2.c:634,1
    - Dst: MPFROMLONG
      Src: /src/vlc/modules/video_output/window_os2.c:635,1
    - Dst: MPFROMLONG
      Src: /src/vlc/modules/video_output/window_os2.c:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - wnd
    - width
    - height
    argTypes:
    - vlc_window_t*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 636
    functionName: Resize
    functionSourceFile: /src/vlc/modules/video_output/window_os2.c
    functionUses: 18
    functionsReached:
    - MPFROMLONG
    - WinPostMsg
    linkageType: ''
    returnType: void
    signature: void Resize( vlc_window_t *wnd, unsigned width, unsigned height )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinPostQueueMsg
      Src: /src/vlc/modules/video_output/window_os2.c:642,1
    - Dst: DosWaitThread
      Src: /src/vlc/modules/video_output/window_os2.c:644,1
    - Dst: DosCloseEventSem
      Src: /src/vlc/modules/video_output/window_os2.c:646,1
    - Dst: free
      Src: /src/vlc/modules/video_output/window_os2.c:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 649
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/window_os2.c
    functionUses: 152
    functionsReached:
    - free
    - DosCloseEventSem
    - DosWaitThread
    - WinPostQueueMsg
    linkageType: ''
    returnType: void
    signature: void Close( vlc_window_t *wnd )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinPostMsg
      Src: /src/vlc/modules/video_output/window_os2.c:655,1
    - Dst: MPFROMLONG
      Src: /src/vlc/modules/video_output/window_os2.c:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wnd
    - state
    argTypes:
    - vlc_window_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 656
    functionName: SetState
    functionSourceFile: /src/vlc/modules/video_output/window_os2.c
    functionUses: 1
    functionsReached:
    - MPFROMLONG
    - WinPostMsg
    linkageType: ''
    returnType: void
    signature: void SetState( vlc_window_t *wnd, unsigned state )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinPostMsg
      Src: /src/vlc/modules/video_output/window_os2.c:662,1
    - Dst: MPFROMLONG
      Src: /src/vlc/modules/video_output/window_os2.c:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 663
    functionName: UnsetFullscreen
    functionSourceFile: /src/vlc/modules/video_output/window_os2.c
    functionUses: 1
    functionsReached:
    - MPFROMLONG
    - WinPostMsg
    linkageType: ''
    returnType: void
    signature: void UnsetFullscreen(vlc_window_t *wnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/window_os2.c:667,1
    - Dst: WinPostMsg
      Src: /src/vlc/modules/video_output/window_os2.c:670,1
    - Dst: MPFROMLONG
      Src: /src/vlc/modules/video_output/window_os2.c:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - wnd
    - id
    argTypes:
    - vlc_window_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 671
    functionName: SetFullscreen
    functionSourceFile: /src/vlc/modules/video_output/window_os2.c
    functionUses: 9
    functionsReached:
    - MPFROMLONG
    - WinPostMsg
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void SetFullscreen(vlc_window_t *wnd, const char *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinPostMsg
      Src: /src/vlc/modules/video_output/window_os2.c:677,1
    - Dst: MPFROMP
      Src: /src/vlc/modules/video_output/window_os2.c:677,1
    - Dst: strdup
      Src: /src/vlc/modules/video_output/window_os2.c:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wnd
    - title
    argTypes:
    - vlc_window_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 678
    functionName: SetTitle
    functionSourceFile: /src/vlc/modules/video_output/window_os2.c
    functionUses: 24
    functionsReached:
    - MPFROMP
    - strdup
    - WinPostMsg
    linkageType: ''
    returnType: void
    signature: void SetTitle(vlc_window_t *wnd, const char *title)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_output/drawable_os2.c:72,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/drawable_os2.c:73,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/drawable_os2.c:76,1
    - Dst: free
      Src: /src/vlc/modules/video_output/drawable_os2.c:85,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_output/drawable_os2.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - val
    argTypes:
    - uintptr_t
    assertStmts:
    - condition: (used[n])
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/vlc/modules/video_output/drawable_os2.c
    - condition: (used != NULL)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/vlc/modules/video_output/drawable_os2.c
    constantsTouched: []
    func_position:
      end: 89
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 89
    functionName: RemoveDrawable
    functionSourceFile: /src/vlc/modules/video_output/drawable_os2.c
    functionUses: 0
    functionsReached:
    - free
    - assert
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void RemoveDrawable(uintptr_t val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/drawable_os2.c:96,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_output/drawable_os2.c:103,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/drawable_os2.c:108,1
    - Dst: realloc
      Src: /src/vlc/modules/video_output/drawable_os2.c:113,1
    - Dst: likely
      Src: /src/vlc/modules/video_output/drawable_os2.c:114,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_output/drawable_os2.c:123,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 133
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/drawable_os2.c
    functionUses: 61
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - var_InheritInteger
    - realloc
    - likely
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int Open(vlc_window_t *wnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RemoveDrawable
      Src: /src/vlc/modules/video_output/drawable_os2.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/drawable_os2.c
    functionUses: 152
    functionsReached:
    - RemoveDrawable
    linkageType: ''
    returnType: void
    signature: void Close (vlc_window_t *wnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vout_display_sys_t*::getProcAddressCb
      Src: /src/vlc/modules/video_output/vgl.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - gl
    - name
    argTypes:
    - vlc_gl_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: OurGetProcAddress
    functionSourceFile: /src/vlc/modules/video_output/vgl.c
    functionUses: 0
    functionsReached:
    - vout_display_sys_t*::getProcAddressCb
    linkageType: ''
    returnType: void
    signature: void *OurGetProcAddress(vlc_gl_t *gl, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vout_display_sys_t*::makeCurrentCb
      Src: /src/vlc/modules/video_output/vgl.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: MakeCurrent
    functionSourceFile: /src/vlc/modules/video_output/vgl.c
    functionUses: 26
    functionsReached:
    - vout_display_sys_t*::makeCurrentCb
    linkageType: ''
    returnType: int
    signature: int MakeCurrent(vlc_gl_t *gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vout_display_sys_t*::makeCurrentCb
      Src: /src/vlc/modules/video_output/vgl.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: ReleaseCurrent
    functionSourceFile: /src/vlc/modules/video_output/vgl.c
    functionUses: 13
    functionsReached:
    - vout_display_sys_t*::makeCurrentCb
    linkageType: ''
    returnType: void
    signature: void ReleaseCurrent(vlc_gl_t *gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MakeCurrent
      Src: /src/vlc/modules/video_output/vgl.c:78,1
    - Dst: vout_display_sys_t*::swapCb
      Src: /src/vlc/modules/video_output/vgl.c:79,1
    - Dst: ReleaseCurrent
      Src: /src/vlc/modules/video_output/vgl.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: VglSwapBuffers
    functionSourceFile: /src/vlc/modules/video_output/vgl.c
    functionUses: 0
    functionsReached:
    - ReleaseCurrent
    - MakeCurrent
    - vout_display_sys_t*::swapCb
    linkageType: ''
    returnType: void
    signature: void VglSwapBuffers(vlc_gl_t *gl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MakeCurrent
      Src: /src/vlc/modules/video_output/vgl.c:89,1
    - Dst: vout_display_sys_t*::resizeCb
      Src: /src/vlc/modules/video_output/vgl.c:103,1
    - Dst: ReleaseCurrent
      Src: /src/vlc/modules/video_output/vgl.c:104,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/vgl.c:109,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/vgl.c:110,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/vgl.c:111,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/vgl.c:112,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/vgl.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - gl
    - w
    - h
    argTypes:
    - vlc_gl_t*
    - unsigned
    - unsigned
    assertStmts:
    - condition: (render_cfg.full_range == true)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/vlc/modules/video_output/vgl.c
    - condition: (render_cfg.u.opengl_format == GL_RGBA)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/vlc/modules/video_output/vgl.c
    - condition: (render_cfg.colorspace == libvlc_video_colorspace_BT709)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/vlc/modules/video_output/vgl.c
    - condition: (render_cfg.primaries  == libvlc_video_primaries_BT709)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/vlc/modules/video_output/vgl.c
    - condition: (render_cfg.transfer   == libvlc_video_transfer_func_SRGB)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/vlc/modules/video_output/vgl.c
    constantsTouched: []
    func_position:
      end: 122
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 122
    functionName: ResizeInternal
    functionSourceFile: /src/vlc/modules/video_output/vgl.c
    functionUses: 0
    functionsReached:
    - MakeCurrent
    - assert
    - vout_display_sys_t*::resizeCb
    - ReleaseCurrent
    linkageType: ''
    returnType: int
    signature: int ResizeInternal(vlc_gl_t * gl, unsigned w, unsigned h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ResizeInternal
      Src: /src/vlc/modules/video_output/vgl.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - gl
    - w
    - h
    argTypes:
    - vlc_gl_t*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: Resize
    functionSourceFile: /src/vlc/modules/video_output/vgl.c
    functionUses: 18
    functionsReached:
    - ResizeInternal
    linkageType: ''
    returnType: void
    signature: void Resize(vlc_gl_t * gl, unsigned w, unsigned h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vout_display_sys_t*::cleanupCb
      Src: /src/vlc/modules/video_output/vgl.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/vgl.c
    functionUses: 152
    functionsReached:
    - vout_display_sys_t*::cleanupCb
    linkageType: ''
    returnType: void
    signature: void Close(vlc_gl_t *gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - var
    - ','
    - varname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: SET_CALLBACK_ADDR
    functionSourceFile: /src/vlc/modules/video_output/vgl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_CALLBACK_ADDR(var, varname)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/vgl.c:151,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/vgl.c:170,1
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/video_output/vgl.c:175,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/vgl.c:175,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/video_output/vgl.c:179,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/video_output/vgl.c:180,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/video_output/vgl.c:181,1
    - Dst: SET_CALLBACK_ADDR
      Src: /src/vlc/modules/video_output/vgl.c:182,1
    - Dst: SET_CALLBACK_ADDR
      Src: /src/vlc/modules/video_output/vgl.c:183,1
    - Dst: SET_CALLBACK_ADDR
      Src: /src/vlc/modules/video_output/vgl.c:184,1
    - Dst: SET_CALLBACK_ADDR
      Src: /src/vlc/modules/video_output/vgl.c:185,1
    - Dst: vout_display_sys_t*::setupCb
      Src: /src/vlc/modules/video_output/vgl.c:191,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/vgl.c:193,1
    - Dst: ResizeInternal
      Src: /src/vlc/modules/video_output/vgl.c:197,1
    - Dst: vout_display_sys_t*::cleanupCb
      Src: /src/vlc/modules/video_output/vgl.c:200,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 4
    argNames:
    - gl
    - width
    - height
    - gl_cfg
    argTypes:
    - vlc_gl_t*
    - unsigned
    - unsigned
    - struct vlc_gl_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 216
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/vgl.c
    functionUses: 61
    functionsReached:
    - var_InheritAddress
    - vout_display_sys_t*::setupCb
    - var_InheritInteger
    - msg_Err
    - vout_display_sys_t*::cleanupCb
    - SET_CALLBACK_ADDR
    - VLC_OBJECT
    - ResizeInternal
    - vlc_obj_calloc
    linkageType: ''
    returnType: int
    signature: "int Open(vlc_gl_t *gl, unsigned width, unsigned height,\n                const
      struct vlc_gl_cfg *gl_cfg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/video_output/yuv.c:99,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/yuv.c:104,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/yuv.c:107,1
    - Dst: vlc_fourcc_GetCodecFromString
      Src: /src/vlc/modules/video_output/yuv.c:108,1
    - Dst: free
      Src: /src/vlc/modules/video_output/yuv.c:110,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/yuv.c:120,1
    - Dst: free
      Src: /src/vlc/modules/video_output/yuv.c:122,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/yuv.c:126,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/yuv.c:129,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/yuv.c:131,1
    - Dst: free
      Src: /src/vlc/modules/video_output/yuv.c:132,1
    - Dst: vlc_fopen
      Src: /src/vlc/modules/video_output/yuv.c:135,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/yuv.c:138,1
    - Dst: free
      Src: /src/vlc/modules/video_output/yuv.c:139,1
    - Dst: free
      Src: /src/vlc/modules/video_output/yuv.c:140,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/yuv.c:143,1
    - Dst: free
      Src: /src/vlc/modules/video_output/yuv.c:144,1
    - Dst: video_format_ApplyRotation
      Src: /src/vlc/modules/video_output/yuv.c:148,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 3
    argNames:
    - vd
    - fmtp
    - context
    argTypes:
    - vout_display_t*
    - video_format_t*
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 157
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/yuv.c
    functionUses: 61
    functionsReached:
    - var_InheritString
    - var_InheritBool
    - video_format_ApplyRotation
    - msg_Err
    - free
    - vlc_fopen
    - vlc_fourcc_GetCodecFromString
    - msg_Dbg
    - malloc
    linkageType: ''
    returnType: int
    signature: "int Open(vout_display_t *vd,\n                video_format_t *fmtp,
      vlc_video_context *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/vlc/modules/video_output/yuv.c:164,1
    - Dst: free
      Src: /src/vlc/modules/video_output/yuv.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/yuv.c
    functionUses: 152
    functionsReached:
    - free
    - fclose
    linkageType: ''
    returnType: void
    signature: void Close(vout_display_t *vd)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/yuv.c:185,1
    - Dst: ORIENT_IS_SWAP
      Src: /src/vlc/modules/video_output/yuv.c:196,1
    - Dst: snprintf
      Src: /src/vlc/modules/video_output/yuv.c:212,1
    - Dst: fprintf
      Src: /src/vlc/modules/video_output/yuv.c:217,1
    - Dst: fprintf
      Src: /src/vlc/modules/video_output/yuv.c:227,1
    - Dst: fwrite
      Src: /src/vlc/modules/video_output/yuv.c:236,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/yuv.c:239,1
    - Dst: fflush
      Src: /src/vlc/modules/video_output/yuv.c:245,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - vd
    - picture
    argTypes:
    - vout_display_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 246
    functionName: Display
    functionSourceFile: /src/vlc/modules/video_output/yuv.c
    functionUses: 19
    functionsReached:
    - fprintf
    - fwrite
    - fflush
    - ORIENT_IS_SWAP
    - msg_Warn
    - snprintf
    linkageType: ''
    returnType: void
    signature: void Display(vout_display_t *vd, picture_t *picture)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/kva.c:147,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/kva.c:148,1
    - Dst: KVALock
      Src: /src/vlc/modules/video_output/kva.c:150,1
    - Dst: picture_CopyPixels
      Src: /src/vlc/modules/video_output/kva.c:152,1
    - Dst: KVAUnlock
      Src: /src/vlc/modules/video_output/kva.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - vd
    - pic
    - subpic
    - date
    argTypes:
    - vout_display_t*
    - picture_t*
    - struct vlc_render_subpicture*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 155
    functionName: Prepare
    functionSourceFile: /src/vlc/modules/video_output/kva.c
    functionUses: 47
    functionsReached:
    - KVAUnlock
    - KVALock
    - picture_CopyPixels
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void Prepare(vout_display_t *vd, picture_t *pic,\n                    const
      struct vlc_render_subpicture *subpic, vlc_tick_t date)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kvaSetup
      Src: /src/vlc/modules/video_output/kva.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - vd
    - place
    argTypes:
    - vout_display_t*
    - vout_display_place_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: PlacementChanged
    functionSourceFile: /src/vlc/modules/video_output/kva.c
    functionUses: 0
    functionsReached:
    - kvaSetup
    linkageType: ''
    returnType: int
    signature: int PlacementChanged(vout_display_t *vd, const vout_display_place_t
      *place)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/kva.c:168,1
    - Dst: PlacementChanged
      Src: /src/vlc/modules/video_output/kva.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vd
    - source
    argTypes:
    - vout_display_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: AspectChanged
    functionSourceFile: /src/vlc/modules/video_output/kva.c
    functionUses: 0
    functionsReached:
    - PlacementChanged
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int AspectChanged(vout_display_t *vd, const video_format_t *source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: video_format_ApplyRotation
      Src: /src/vlc/modules/video_output/kva.c:176,1
    - Dst: kvaSetup
      Src: /src/vlc/modules/video_output/kva.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - vd
    - source
    argTypes:
    - vout_display_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 186
    functionName: CropChanged
    functionSourceFile: /src/vlc/modules/video_output/kva.c
    functionUses: 0
    functionsReached:
    - kvaSetup
    - video_format_ApplyRotation
    linkageType: ''
    returnType: int
    signature: int CropChanged(vout_display_t *vd, const video_format_t *source)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: video_format_ApplyRotation
      Src: /src/vlc/modules/video_output/kva.c:211,1
    - Dst: MorphToPM
      Src: /src/vlc/modules/video_output/kva.c:214,1
    - Dst: WinInitialize
      Src: /src/vlc/modules/video_output/kva.c:216,1
    - Dst: WinCreateMsgQueue
      Src: /src/vlc/modules/video_output/kva.c:217,1
    - Dst: WinRegisterClass
      Src: /src/vlc/modules/video_output/kva.c:219,1
    - Dst: WinQueryWindowULong
      Src: /src/vlc/modules/video_output/kva.c:230,1
    - Dst: WinSetWindowULong
      Src: /src/vlc/modules/video_output/kva.c:231,1
    - Dst: WinCreateStdWindow
      Src: /src/vlc/modules/video_output/kva.c:245,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/kva.c:257,1
    - Dst: WinSetWindowPtr
      Src: /src/vlc/modules/video_output/kva.c:262,1
    - Dst: WinSetWindowPtr
      Src: /src/vlc/modules/video_output/kva.c:266,1
    - Dst: WinSubclassWindow
      Src: /src/vlc/modules/video_output/kva.c:267,1
    - Dst: var_CreateGetString
      Src: /src/vlc/modules/video_output/kva.c:270,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_output/kva.c:273,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_output/kva.c:275,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_output/kva.c:277,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_output/kva.c:279,1
    - Dst: free
      Src: /src/vlc/modules/video_output/kva.c:282,1
    - Dst: kvaInit
      Src: /src/vlc/modules/video_output/kva.c:284,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/kva.c:286,1
    - Dst: kvaCaps
      Src: /src/vlc/modules/video_output/kva.c:291,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/kva.c:293,1
    - Dst: OpenDisplay
      Src: /src/vlc/modules/video_output/kva.c:296,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/kva.c:298,1
    - Dst: kvaDisableScreenSaver
      Src: /src/vlc/modules/video_output/kva.c:303,1
    - Dst: _control87
      Src: /src/vlc/modules/video_output/kva.c:311,1
    - Dst: DosPostEventSem
      Src: /src/vlc/modules/video_output/kva.c:314,1
    - Dst: WinGetMsg
      Src: /src/vlc/modules/video_output/kva.c:316,1
    - Dst: WinDispatchMsg
      Src: /src/vlc/modules/video_output/kva.c:317,1
    - Dst: kvaEnableScreenSaver
      Src: /src/vlc/modules/video_output/kva.c:319,1
    - Dst: CloseDisplay
      Src: /src/vlc/modules/video_output/kva.c:321,1
    - Dst: kvaDone
      Src: /src/vlc/modules/video_output/kva.c:326,1
    - Dst: WinSubclassWindow
      Src: /src/vlc/modules/video_output/kva.c:330,1
    - Dst: WinDestroyWindow
      Src: /src/vlc/modules/video_output/kva.c:332,1
    - Dst: WinShowPointer
      Src: /src/vlc/modules/video_output/kva.c:336,1
    - Dst: WinDestroyMsgQueue
      Src: /src/vlc/modules/video_output/kva.c:338,1
    - Dst: WinTerminate
      Src: /src/vlc/modules/video_output/kva.c:339,1
    - Dst: DosPostEventSem
      Src: /src/vlc/modules/video_output/kva.c:342,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 74
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 343
    functionName: PMThread
    functionSourceFile: /src/vlc/modules/video_output/kva.c
    functionUses: 0
    functionsReached:
    - WinSetWindowULong
    - var_CreateGetString
    - WinDestroyWindow
    - DosPostEventSem
    - WinShowPointer
    - WinDestroyMsgQueue
    - kvaEnableScreenSaver
    - WinSetWindowPtr
    - kvaInit
    - msg_Err
    - WinSubclassWindow
    - msg_Dbg
    - WinTerminate
    - _control87
    - WinGetMsg
    - WinDispatchMsg
    - WinCreateStdWindow
    - WinRegisterClass
    - MorphToPM
    - kvaDone
    - strcmp
    - kvaCaps
    - CloseDisplay
    - video_format_ApplyRotation
    - WinInitialize
    - free
    - WinCreateMsgQueue
    - WinQueryWindowULong
    - OpenDisplay
    - kvaDisableScreenSaver
    linkageType: ''
    returnType: void
    signature: void PMThread( void *arg )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/kva.c:356,1
    - Dst: calloc
      Src: /src/vlc/modules/video_output/kva.c:358,1
    - Dst: var_CreateGetBool
      Src: /src/vlc/modules/video_output/kva.c:362,1
    - Dst: free
      Src: /src/vlc/modules/video_output/kva.c:366,1
    - Dst: DosCreateEventSem
      Src: /src/vlc/modules/video_output/kva.c:370,1
    - Dst: _beginthread
      Src: /src/vlc/modules/video_output/kva.c:372,1
    - Dst: DosWaitEventSem
      Src: /src/vlc/modules/video_output/kva.c:373,1
    - Dst: DosCloseEventSem
      Src: /src/vlc/modules/video_output/kva.c:377,1
    - Dst: free
      Src: /src/vlc/modules/video_output/kva.c:379,1
    - Dst: WinPostMsg
      Src: /src/vlc/modules/video_output/kva.c:386,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - vd
    - fmtp
    - context
    argTypes:
    - vout_display_t*
    - video_format_t*
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 389
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/kva.c
    functionUses: 61
    functionsReached:
    - _beginthread
    - DosCloseEventSem
    - var_CreateGetBool
    - WinPostMsg
    - calloc
    - free
    - DosWaitEventSem
    - DosCreateEventSem
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int Open ( vout_display_t *vd,\n                  video_format_t *fmtp,
      vlc_video_context *context )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinPostQueueMsg
      Src: /src/vlc/modules/video_output/kva.c:400,1
    - Dst: DosWaitThread
      Src: /src/vlc/modules/video_output/kva.c:402,1
    - Dst: DosCloseEventSem
      Src: /src/vlc/modules/video_output/kva.c:404,1
    - Dst: free
      Src: /src/vlc/modules/video_output/kva.c:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 407
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/kva.c
    functionUses: 152
    functionsReached:
    - free
    - DosCloseEventSem
    - DosWaitThread
    - WinPostQueueMsg
    linkageType: ''
    returnType: void
    signature: void Close ( vout_display_t *vd )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/kva.c:418,1
    - Dst: WinPostMsg
      Src: /src/vlc/modules/video_output/kva.c:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vd
    - picture
    argTypes:
    - vout_display_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 424
    functionName: Display
    functionSourceFile: /src/vlc/modules/video_output/kva.c
    functionUses: 20
    functionsReached:
    - WinPostMsg
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void Display( vout_display_t *vd, picture_t *picture )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinPostMsg
      Src: /src/vlc/modules/video_output/kva.c:429,1
    - Dst: MPFROMLONG
      Src: /src/vlc/modules/video_output/kva.c:430,1
    - Dst: MPFROMLONG
      Src: /src/vlc/modules/video_output/kva.c:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - vd
    - width
    - height
    argTypes:
    - vout_display_t*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 433
    functionName: SetDisplaySize
    functionSourceFile: /src/vlc/modules/video_output/kva.c
    functionUses: 0
    functionsReached:
    - MPFROMLONG
    - WinPostMsg
    linkageType: ''
    returnType: int
    signature: int SetDisplaySize( vout_display_t *vd, unsigned width, unsigned height
      )
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/kva.c:452,1
    - Dst: vlc_fourcc_GetYUVFallback
      Src: /src/vlc/modules/video_output/kva.c:456,1
    - Dst: vlc_fourcc_GetRGBFallback
      Src: /src/vlc/modules/video_output/kva.c:457,1
    - Dst: free
      Src: /src/vlc/modules/video_output/kva.c:515,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/kva.c:520,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/kva.c:525,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/kva.c:526,1
    - Dst: kvaSetup
      Src: /src/vlc/modules/video_output/kva.c:544,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/kva.c:546,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/kva.c:553,1
    - Dst: asprintf
      Src: /src/vlc/modules/video_output/kva.c:555,1
    - Dst: WinSetWindowText
      Src: /src/vlc/modules/video_output/kva.c:559,1
    - Dst: free
      Src: /src/vlc/modules/video_output/kva.c:560,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/kva.c:564,1
    - Dst: WinStartTimer
      Src: /src/vlc/modules/video_output/kva.c:565,1
    - Dst: WinQuerySysValue
      Src: /src/vlc/modules/video_output/kva.c:568,1
    - Dst: WinQuerySysValue
      Src: /src/vlc/modules/video_output/kva.c:569,1
    - Dst: WinQueryWindowRect
      Src: /src/vlc/modules/video_output/kva.c:572,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 90
    argCount: 2
    argNames:
    - vd
    - fmt
    argTypes:
    - vout_display_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 443
    functionDepth: 2
    functionLinenumber: 443
    functionLinenumberEnd: 582
    functionName: OpenDisplay
    functionSourceFile: /src/vlc/modules/video_output/kva.c
    functionUses: 4
    functionsReached:
    - asprintf
    - var_InheritString
    - vlc_fourcc_GetRGBFallback
    - var_InheritInteger
    - kvaSetup
    - msg_Err
    - free
    - WinQueryWindowRect
    - msg_Dbg
    - WinQuerySysValue
    - vlc_fourcc_GetYUVFallback
    - WinStartTimer
    - WinSetWindowText
    linkageType: ''
    returnType: int
    signature: int OpenDisplay( vout_display_t *vd, video_format_t *fmt )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/kva.c:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 593
    functionName: CloseDisplay
    functionSourceFile: /src/vlc/modules/video_output/kva.c
    functionUses: 5
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void CloseDisplay( vout_display_t *vd )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: kvaLockBuffer
      Src: /src/vlc/modules/video_output/kva.c:600,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - sys
    - picture
    argTypes:
    - vout_display_sys_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 620
    functionName: KVALock
    functionSourceFile: /src/vlc/modules/video_output/kva.c
    functionUses: 1
    functionsReached:
    - kvaLockBuffer
    linkageType: ''
    returnType: int
    signature: int KVALock( vout_display_sys_t *sys, picture_t *picture )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/kva.c:624,1
    - Dst: kvaUnlockBuffer
      Src: /src/vlc/modules/video_output/kva.c:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - picture
    argTypes:
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 627
    functionName: KVAUnlock
    functionSourceFile: /src/vlc/modules/video_output/kva.c
    functionUses: 1
    functionsReached:
    - kvaUnlockBuffer
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void KVAUnlock( picture_t *picture )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DosGetInfoBlocks
      Src: /src/vlc/modules/video_output/kva.c:633,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 638
    functionName: MorphToPM
    functionSourceFile: /src/vlc/modules/video_output/kva.c
    functionUses: 3
    functionsReached:
    - DosGetInfoBlocks
    linkageType: ''
    returnType: void
    signature: void MorphToPM( void )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - i_pmkey
    argTypes:
    - USHORT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 716
    functionName: ConvertKey
    functionSourceFile: /src/vlc/modules/video_output/kva.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ConvertKey( USHORT i_pmkey )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: WinQueryWindowPtr
      Src: /src/vlc/modules/video_output/kva.c:721,1
    - Dst: vout_display_sys_t*::p_old_frame
      Src: /src/vlc/modules/video_output/kva.c:730,1
    - Dst: WinCalcFrameRect
      Src: /src/vlc/modules/video_output/kva.c:742,1
    - Dst: WinCalcFrameRect
      Src: /src/vlc/modules/video_output/kva.c:754,1
    - Dst: MRFROMLONG
      Src: /src/vlc/modules/video_output/kva.c:759,1
    - Dst: WinCalcFrameRect
      Src: /src/vlc/modules/video_output/kva.c:778,1
    - Dst: WinCalcFrameRect
      Src: /src/vlc/modules/video_output/kva.c:798,1
    - Dst: vout_display_sys_t*::p_old_frame
      Src: /src/vlc/modules/video_output/kva.c:814,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 4
    argNames:
    - hwnd
    - msg
    - mp1
    - mp2
    argTypes:
    - HWND
    - ULONG
    - MPARAM
    - MPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 815
    functionName: MyFrameWndProc
    functionSourceFile: /src/vlc/modules/video_output/kva.c
    functionUses: 0
    functionsReached:
    - MRFROMLONG
    - vout_display_sys_t*::p_old_frame
    - WinQueryWindowPtr
    - WinCalcFrameRect
    linkageType: ''
    returnType: MRESULT
    signature: "MRESULT MyFrameWndProc( HWND hwnd, ULONG msg, MPARAM mp1,\n                                        MPARAM
      mp2 )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WinQueryFocus
      Src: /src/vlc/modules/video_output/kva.c:821,1
    - Dst: WinSetFocus
      Src: /src/vlc/modules/video_output/kva.c:822,1
    - Dst: WinSetCapture
      Src: /src/vlc/modules/video_output/kva.c:825,1
    - Dst: vlc_window_ReportMousePressed
      Src: /src/vlc/modules/video_output/kva.c:829,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - vd
    - hwnd
    - button
    argTypes:
    - vout_display_t*
    - HWND
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 817
    functionDepth: 1
    functionLinenumber: 817
    functionLinenumberEnd: 830
    functionName: MousePressed
    functionSourceFile: /src/vlc/modules/video_output/kva.c
    functionUses: 9
    functionsReached:
    - vlc_window_ReportMousePressed
    - WinQueryFocus
    - WinSetCapture
    - WinSetFocus
    linkageType: ''
    returnType: void
    signature: void MousePressed( vout_display_t *vd, HWND hwnd, unsigned button )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WinSetCapture
      Src: /src/vlc/modules/video_output/kva.c:838,1
    - Dst: vlc_window_ReportMouseReleased
      Src: /src/vlc/modules/video_output/kva.c:840,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - vd
    - button
    argTypes:
    - vout_display_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 832
    functionDepth: 1
    functionLinenumber: 832
    functionLinenumberEnd: 841
    functionName: MouseReleased
    functionSourceFile: /src/vlc/modules/video_output/kva.c
    functionUses: 5
    functionsReached:
    - vlc_window_ReportMouseReleased
    - WinSetCapture
    linkageType: ''
    returnType: void
    signature: void MouseReleased( vout_display_t *vd, unsigned button )
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: WinQueryWindowPtr
      Src: /src/vlc/modules/video_output/kva.c:847,1
    - Dst: WinDefWindowProc
      Src: /src/vlc/modules/video_output/kva.c:851,1
    - Dst: WinShowPointer
      Src: /src/vlc/modules/video_output/kva.c:862,1
    - Dst: WinStartTimer
      Src: /src/vlc/modules/video_output/kva.c:865,1
    - Dst: vlc_window_ReportClose
      Src: /src/vlc/modules/video_output/kva.c:873,1
    - Dst: SHORT1FROMMP
      Src: /src/vlc/modules/video_output/kva.c:879,1
    - Dst: SHORT2FROMMP
      Src: /src/vlc/modules/video_output/kva.c:880,1
    - Dst: vlc_window_ReportMouseMoved
      Src: /src/vlc/modules/video_output/kva.c:888,1
    - Dst: WinDefWindowProc
      Src: /src/vlc/modules/video_output/kva.c:890,1
    - Dst: MousePressed
      Src: /src/vlc/modules/video_output/kva.c:895,1
    - Dst: MousePressed
      Src: /src/vlc/modules/video_output/kva.c:899,1
    - Dst: MousePressed
      Src: /src/vlc/modules/video_output/kva.c:903,1
    - Dst: MouseReleased
      Src: /src/vlc/modules/video_output/kva.c:907,1
    - Dst: MouseReleased
      Src: /src/vlc/modules/video_output/kva.c:911,1
    - Dst: MouseReleased
      Src: /src/vlc/modules/video_output/kva.c:915,1
    - Dst: vlc_window_ReportMouseDoubleClick
      Src: /src/vlc/modules/video_output/kva.c:919,1
    - Dst: SHORT1FROMMP
      Src: /src/vlc/modules/video_output/kva.c:929,1
    - Dst: SHORT1FROMMP
      Src: /src/vlc/modules/video_output/kva.c:930,1
    - Dst: SHORT2FROMMP
      Src: /src/vlc/modules/video_output/kva.c:931,1
    - Dst: WinPostMsg
      Src: /src/vlc/modules/video_output/kva.c:937,1
    - Dst: ConvertKey
      Src: /src/vlc/modules/video_output/kva.c:945,1
    - Dst: HIBYTE
      Src: /src/vlc/modules/video_output/kva.c:946,1
    - Dst: tolower
      Src: /src/vlc/modules/video_output/kva.c:947,1
    - Dst: vlc_window_ReportKeyPress
      Src: /src/vlc/modules/video_output/kva.c:960,1
    - Dst: SHORT1FROMMP
      Src: /src/vlc/modules/video_output/kva.c:968,1
    - Dst: WinQueryPointerPos
      Src: /src/vlc/modules/video_output/kva.c:972,1
    - Dst: WinWindowFromPoint
      Src: /src/vlc/modules/video_output/kva.c:973,1
    - Dst: WinShowPointer
      Src: /src/vlc/modules/video_output/kva.c:976,1
    - Dst: WinStopTimer
      Src: /src/vlc/modules/video_output/kva.c:979,1
    - Dst: LONGFROMMP
      Src: /src/vlc/modules/video_output/kva.c:992,1
    - Dst: LONGFROMMP
      Src: /src/vlc/modules/video_output/kva.c:993,1
    - Dst: WinCalcFrameRect
      Src: /src/vlc/modules/video_output/kva.c:994,1
    - Dst: WinSetWindowPos
      Src: /src/vlc/modules/video_output/kva.c:996,1
    - Dst: WinQueryWindowPos
      Src: /src/vlc/modules/video_output/kva.c:1001,1
    - Dst: WinCalcFrameRect
      Src: /src/vlc/modules/video_output/kva.c:1006,1
    - Dst: WinCalcFrameRect
      Src: /src/vlc/modules/video_output/kva.c:1013,1
    - Dst: WinSetWindowPos
      Src: /src/vlc/modules/video_output/kva.c:1015,1
    - Dst: WinDefWindowProc
      Src: /src/vlc/modules/video_output/kva.c:1023,1
    - Dst: WinQueryWindowRect
      Src: /src/vlc/modules/video_output/kva.c:1032,1
    - Dst: WinQueryWindowRect
      Src: /src/vlc/modules/video_output/kva.c:1033,1
    - Dst: WinCalcFrameRect
      Src: /src/vlc/modules/video_output/kva.c:1040,1
    - Dst: WinSetWindowPos
      Src: /src/vlc/modules/video_output/kva.c:1042,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 108
    argCount: 4
    argNames:
    - hwnd
    - msg
    - mp1
    - mp2
    argTypes:
    - HWND
    - ULONG
    - MPARAM
    - MPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 1050
    functionName: WndProc
    functionSourceFile: /src/vlc/modules/video_output/kva.c
    functionUses: 0
    functionsReached:
    - ConvertKey
    - WinPostMsg
    - tolower
    - WinShowPointer
    - vlc_window_ReportKeyPress
    - MouseReleased
    - MousePressed
    - vlc_window_ReportClose
    - WinDefWindowProc
    - WinCalcFrameRect
    - vlc_window_ReportMouseMoved
    - WinQueryWindowPos
    - WinStopTimer
    - WinQueryWindowPtr
    - SHORT1FROMMP
    - WinStartTimer
    - SHORT2FROMMP
    - HIBYTE
    - LONGFROMMP
    - WinQueryPointerPos
    - WinWindowFromPoint
    - WinQueryWindowRect
    - WinSetWindowPos
    - vlc_window_ReportMouseDoubleClick
    linkageType: ''
    returnType: MRESULT
    signature: MRESULT WndProc( HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2 )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_window_ReportSize
      Src: /src/vlc/modules/video_output/wdummy.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - wnd
    - cfg
    argTypes:
    - vlc_window_t*
    - vlc_window_cfg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: Enable
    functionSourceFile: /src/vlc/modules/video_output/wdummy.c
    functionUses: 13
    functionsReached:
    - vlc_window_ReportSize
    linkageType: ''
    returnType: int
    signature: int Enable(vlc_window_t *wnd, const vlc_window_cfg_t *cfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/wdummy.c
    functionUses: 61
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Open(vlc_window_t *wnd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: picture_Hold
      Src: /src/vlc/modules/video_output/splitter.c:59,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_output/splitter.c:62,1
    - Dst: video_splitter_Filter
      Src: /src/vlc/modules/video_output/splitter.c:63,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_output/splitter.c:64,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_output/splitter.c:70,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/modules/video_output/splitter.c:75,1
    - Dst: vout_display_Prepare
      Src: /src/vlc/modules/video_output/splitter.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - vd
    - pic
    - subpic
    - date
    argTypes:
    - vout_display_t*
    - picture_t*
    - vlc_render_subpicture*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 79
    functionName: vlc_vidsplit_Prepare
    functionSourceFile: /src/vlc/modules/video_output/splitter.c
    functionUses: 0
    functionsReached:
    - vlc_sem_wait
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - picture_Hold
    - vout_display_Prepare
    - video_splitter_Filter
    linkageType: ''
    returnType: void
    signature: "void vlc_vidsplit_Prepare(vout_display_t *vd, picture_t *pic,\n                                 const
      vlc_render_subpicture *subpic, vlc_tick_t date)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vout_display_Display
      Src: /src/vlc/modules/video_output/splitter.c:90,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_output/splitter.c:91,1
    - Dst: vlc_sem_post
      Src: /src/vlc/modules/video_output/splitter.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - vd
    - picture
    argTypes:
    - vout_display_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 97
    functionName: vlc_vidsplit_Display
    functionSourceFile: /src/vlc/modules/video_output/splitter.c
    functionUses: 0
    functionsReached:
    - vout_display_Display
    - picture_Release
    - vlc_sem_post
    linkageType: ''
    returnType: void
    signature: void vlc_vidsplit_Display(vout_display_t *vd, picture_t *picture)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sem_wait
      Src: /src/vlc/modules/video_output/splitter.c:108,1
    - Dst: vlc_sem_post
      Src: /src/vlc/modules/video_output/splitter.c:111,1
    - Dst: vout_display_Delete
      Src: /src/vlc/modules/video_output/splitter.c:114,1
    - Dst: vlc_window_Disable
      Src: /src/vlc/modules/video_output/splitter.c:116,1
    - Dst: vlc_window_Delete
      Src: /src/vlc/modules/video_output/splitter.c:117,1
    - Dst: module_unneed
      Src: /src/vlc/modules/video_output/splitter.c:120,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/video_output/splitter.c:121,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/video_output/splitter.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 123
    functionName: vlc_vidsplit_Close
    functionSourceFile: /src/vlc/modules/video_output/splitter.c
    functionUses: 0
    functionsReached:
    - vlc_sem_wait
    - vout_display_Delete
    - vlc_sem_post
    - module_unneed
    - vlc_window_Delete
    - vlc_object_delete
    - video_format_Clean
    - vlc_window_Disable
    linkageType: ''
    returnType: void
    signature: void vlc_vidsplit_Close(vout_display_t *vd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sem_wait
      Src: /src/vlc/modules/video_output/splitter.c:131,1
    - Dst: vout_display_SetSize
      Src: /src/vlc/modules/video_output/splitter.c:136,1
    - Dst: cb
      Src: /src/vlc/modules/video_output/splitter.c:139,1
    - Dst: vlc_sem_post
      Src: /src/vlc/modules/video_output/splitter.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - wnd
    - width
    - height
    - cb
    - opaque
    argTypes:
    - vlc_window_t*
    - unsigned
    - unsigned
    - vlc_window_ack_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 141
    functionName: vlc_vidsplit_window_Resized
    functionSourceFile: /src/vlc/modules/video_output/splitter.c
    functionUses: 0
    functionsReached:
    - vlc_sem_wait
    - vout_display_SetSize
    - vlc_sem_post
    - cb
    linkageType: ''
    returnType: void
    signature: "void vlc_vidsplit_window_Resized(vlc_window_t *wnd,\n                                        unsigned
      width, unsigned height,\n                                        vlc_window_ack_cb
      cb, void *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_sem_wait
      Src: /src/vlc/modules/video_output/splitter.c:148,1
    - Dst: vlc_sem_post
      Src: /src/vlc/modules/video_output/splitter.c:151,1
    - Dst: vout_display_Delete
      Src: /src/vlc/modules/video_output/splitter.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 155
    functionName: vlc_vidsplit_window_Closed
    functionSourceFile: /src/vlc/modules/video_output/splitter.c
    functionUses: 0
    functionsReached:
    - vlc_sem_wait
    - vlc_sem_post
    - vout_display_Delete
    linkageType: ''
    returnType: void
    signature: void vlc_vidsplit_window_Closed(vlc_window_t *wnd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/video_output/splitter.c:161,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_output/splitter.c:165,1
    - Dst: video_splitter_Mouse
      Src: /src/vlc/modules/video_output/splitter.c:166,1
    - Dst: vlc_window_SendMouseEvent
      Src: /src/vlc/modules/video_output/splitter.c:168,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_output/splitter.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wnd
    - e
    argTypes:
    - vlc_window_t*
    - vlc_window_mouse_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 170
    functionName: vlc_vidsplit_window_MouseEvent
    functionSourceFile: /src/vlc/modules/video_output/splitter.c
    functionUses: 0
    functionsReached:
    - vlc_object_parent
    - video_splitter_Mouse
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_window_SendMouseEvent
    linkageType: ''
    returnType: void
    signature: "void vlc_vidsplit_window_MouseEvent(vlc_window_t *wnd,\n                                           const
      vlc_window_mouse_event_t *e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/video_output/splitter.c:174,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_output/splitter.c:177,1
    - Dst: vlc_window_ReportKeyPress
      Src: /src/vlc/modules/video_output/splitter.c:178,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_output/splitter.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - wnd
    - key
    argTypes:
    - vlc_window_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: vlc_vidsplit_window_KeyboardEvent
    functionSourceFile: /src/vlc/modules/video_output/splitter.c
    functionUses: 0
    functionsReached:
    - vlc_object_parent
    - vlc_window_ReportKeyPress
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void vlc_vidsplit_window_KeyboardEvent(vlc_window_t *wnd, unsigned
      key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vout_display_GetDefaultDisplaySize
      Src: /src/vlc/modules/video_output/splitter.c:201,1
    - Dst: vlc_window_New
      Src: /src/vlc/modules/video_output/splitter.c:204,1
    - Dst: vlc_window_Enable
      Src: /src/vlc/modules/video_output/splitter.c:206,1
    - Dst: vlc_window_Delete
      Src: /src/vlc/modules/video_output/splitter.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - obj
    - vdcfg
    - source
    - sys
    argTypes:
    - vlc_object_t*
    - vout_display_cfg_t*
    - video_format_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 212
    functionName: video_splitter_CreateWindow
    functionSourceFile: /src/vlc/modules/video_output/splitter.c
    functionUses: 0
    functionsReached:
    - vlc_window_Delete
    - vout_display_GetDefaultDisplaySize
    - vlc_window_New
    - vlc_window_Enable
    linkageType: ''
    returnType: vlc_window_t
    signature: "vlc_window_t *video_splitter_CreateWindow(vlc_object_t *obj,\n    const
      vout_display_cfg_t *restrict vdcfg,\n    const video_format_t *restrict source,
      void *sys)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/splitter.c:223,1
    - Dst: vout_display_cfg_IsWindowed
      Src: /src/vlc/modules/video_output/splitter.c:225,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/splitter.c:228,1
    - Dst: vlc_object_create
      Src: /src/vlc/modules/video_output/splitter.c:232,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/splitter.c:233,1
    - Dst: free
      Src: /src/vlc/modules/video_output/splitter.c:234,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/video_output/splitter.c:241,1
    - Dst: video_format_Copy
      Src: /src/vlc/modules/video_output/splitter.c:242,1
    - Dst: module_need
      Src: /src/vlc/modules/video_output/splitter.c:246,1
    - Dst: free
      Src: /src/vlc/modules/video_output/splitter.c:247,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/video_output/splitter.c:249,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/video_output/splitter.c:250,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/video_output/splitter.c:254,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/video_output/splitter.c:256,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/splitter.c:258,1
    - Dst: vlc_vidsplit_Close
      Src: /src/vlc/modules/video_output/splitter.c:260,1
    - Dst: vlc_sem_init
      Src: /src/vlc/modules/video_output/splitter.c:280,1
    - Dst: video_splitter_CreateWindow
      Src: /src/vlc/modules/video_output/splitter.c:285,1
    - Dst: vlc_vidsplit_Close
      Src: /src/vlc/modules/video_output/splitter.c:289,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/modules/video_output/splitter.c:294,1
    - Dst: vout_display_New
      Src: /src/vlc/modules/video_output/splitter.c:298,1
    - Dst: vlc_sem_post
      Src: /src/vlc/modules/video_output/splitter.c:301,1
    - Dst: vlc_window_Disable
      Src: /src/vlc/modules/video_output/splitter.c:302,1
    - Dst: vlc_window_Delete
      Src: /src/vlc/modules/video_output/splitter.c:303,1
    - Dst: vlc_vidsplit_Close
      Src: /src/vlc/modules/video_output/splitter.c:305,1
    - Dst: vlc_sem_post
      Src: /src/vlc/modules/video_output/splitter.c:310,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 56
    argCount: 3
    argNames:
    - vd
    - fmtp
    - ctx
    argTypes:
    - vout_display_t*
    - video_format_t*
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 315
    functionName: vlc_vidsplit_Open
    functionSourceFile: /src/vlc/modules/video_output/splitter.c
    functionUses: 0
    functionsReached:
    - vlc_sem_init
    - vlc_sem_wait
    - vlc_obj_malloc
    - vout_display_cfg_IsWindowed
    - vlc_window_Delete
    - video_splitter_CreateWindow
    - video_format_Clean
    - vlc_window_Disable
    - vlc_object_create
    - video_format_Copy
    - vlc_vidsplit_Close
    - vout_display_New
    - vlc_object_delete
    - var_InheritString
    - vlc_mutex_init
    - vlc_sem_post
    - free
    - VLC_OBJECT
    - module_need
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int vlc_vidsplit_Open(vout_display_t *vd,\n                             video_format_t
      *fmtp, vlc_video_context *ctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/video_output/vmem.c:117,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/vmem.c:118,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/video_output/vmem.c:122,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/video_output/vmem.c:124,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/vmem.c:126,1
    - Dst: free
      Src: /src/vlc/modules/video_output/vmem.c:127,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/video_output/vmem.c:130,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/video_output/vmem.c:131,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/video_output/vmem.c:132,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/video_output/vmem.c:133,1
    - Dst: video_format_ApplyRotation
      Src: /src/vlc/modules/video_output/vmem.c:137,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/vmem.c:142,1
    - Dst: memset
      Src: /src/vlc/modules/video_output/vmem.c:144,1
    - Dst: memset
      Src: /src/vlc/modules/video_output/vmem.c:145,1
    - Dst: setup
      Src: /src/vlc/modules/video_output/vmem.c:154,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/vmem.c:156,1
    - Dst: free
      Src: /src/vlc/modules/video_output/vmem.c:157,1
    - Dst: vlc_fourcc_GetCodecFromString
      Src: /src/vlc/modules/video_output/vmem.c:160,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/vmem.c:165,1
    - Dst: vlc_fourcc_GetCodecFromString
      Src: /src/vlc/modules/video_output/vmem.c:166,1
    - Dst: free
      Src: /src/vlc/modules/video_output/vmem.c:167,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/vmem.c:169,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/vmem.c:170,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/vmem.c:171,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/vmem.c:185,1
    - Dst: free
      Src: /src/vlc/modules/video_output/vmem.c:186,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 57
    argCount: 3
    argNames:
    - vd
    - fmtp
    - context
    argTypes:
    - vout_display_t*
    - video_format_t*
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 198
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/vmem.c
    functionUses: 61
    functionsReached:
    - var_InheritString
    - var_InheritAddress
    - memset
    - var_InheritInteger
    - memcpy
    - video_format_ApplyRotation
    - msg_Err
    - free
    - setup
    - vlc_fourcc_GetCodecFromString
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: "int Open(vout_display_t *vd,\n                video_format_t *fmtp,
      vlc_video_context *context)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vout_display_sys_t*::cleanup
      Src: /src/vlc/modules/video_output/vmem.c:205,1
    - Dst: free
      Src: /src/vlc/modules/video_output/vmem.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 207
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/vmem.c
    functionUses: 154
    functionsReached:
    - free
    - vout_display_sys_t*::cleanup
    linkageType: ''
    returnType: void
    signature: void Close(vout_display_t *vd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/vmem.c:213,1
    - Dst: vout_display_sys_t*::lock
      Src: /src/vlc/modules/video_output/vmem.c:218,1
    - Dst: picture_NewFromResource
      Src: /src/vlc/modules/video_output/vmem.c:220,1
    - Dst: likely
      Src: /src/vlc/modules/video_output/vmem.c:221,1
    - Dst: picture_CopyPixels
      Src: /src/vlc/modules/video_output/vmem.c:228,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_output/vmem.c:229,1
    - Dst: vout_display_sys_t*::unlock
      Src: /src/vlc/modules/video_output/vmem.c:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - vd
    - pic
    - subpic
    - date
    argTypes:
    - vout_display_t*
    - picture_t*
    - struct vlc_render_subpicture*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 236
    functionName: Prepare
    functionSourceFile: /src/vlc/modules/video_output/vmem.c
    functionUses: 48
    functionsReached:
    - picture_NewFromResource
    - vout_display_sys_t*::lock
    - vout_display_sys_t*::unlock
    - picture_Release
    - likely
    - picture_CopyPixels
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void Prepare(vout_display_t *vd, picture_t *pic,\n                    const
      struct vlc_render_subpicture *subpic,\n                    vlc_tick_t date)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/vmem.c:241,1
    - Dst: vout_display_sys_t*::display
      Src: /src/vlc/modules/video_output/vmem.c:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - vd
    - pic
    argTypes:
    - vout_display_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 245
    functionName: Display
    functionSourceFile: /src/vlc/modules/video_output/vmem.c
    functionUses: 21
    functionsReached:
    - vout_display_sys_t*::display
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void Display(vout_display_t *vd, picture_t *pic)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: drmModeGetEncoder
      Src: /src/vlc/modules/video_output/kms.c:128,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/kms.c:131,1
    - Dst: drmModeFreeEncoder
      Src: /src/vlc/modules/video_output/kms.c:134,1
    - Dst: drmModeFreeEncoder
      Src: /src/vlc/modules/video_output/kms.c:137,1
    - Dst: drmModeGetEncoder
      Src: /src/vlc/modules/video_output/kms.c:145,1
    - Dst: drmModeFreeEncoder
      Src: /src/vlc/modules/video_output/kms.c:150,1
    - Dst: drmModeFreeEncoder
      Src: /src/vlc/modules/video_output/kms.c:154,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/kms.c:157,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - wnd
    - res
    - conn
    argTypes:
    - vlc_window_t*
    - drmModeRes*
    - drmModeConnector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 159
    functionName: FindCRTC
    functionSourceFile: /src/vlc/modules/video_output/kms.c
    functionUses: 0
    functionsReached:
    - drmModeGetEncoder
    - drmModeFreeEncoder
    - msg_Dbg
    - msg_Err
    linkageType: ''
    returnType: deviceRval
    signature: "deviceRval FindCRTC(vlc_window_t *wnd, drmModeRes const *res,\n                             drmModeConnector
      const *conn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/kms.c:174,1
    - Dst: FindCRTC
      Src: /src/vlc/modules/video_output/kms.c:177,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/kms.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - wnd
    - res
    - conn
    argTypes:
    - vlc_window_t*
    - drmModeRes*
    - drmModeConnector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 183
    functionName: SetupDevice
    functionSourceFile: /src/vlc/modules/video_output/kms.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - FindCRTC
    linkageType: ''
    returnType: deviceRval
    signature: "deviceRval SetupDevice(vlc_window_t *wnd, drmModeRes const *res,\n
      \                            drmModeConnector const *conn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Info
      Src: /src/vlc/modules/video_output/kms.c:190,1
    - Dst: drmModeGetConnector
      Src: /src/vlc/modules/video_output/kms.c:194,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/kms.c:198,1
    - Dst: drmModeFreeConnector
      Src: /src/vlc/modules/video_output/kms.c:201,1
    - Dst: snprintf
      Src: /src/vlc/modules/video_output/kms.c:206,1
    - Dst: drmModeGetEncoder
      Src: /src/vlc/modules/video_output/kms.c:214,1
    - Dst: drmModeFreeEncoder
      Src: /src/vlc/modules/video_output/kms.c:219,1
    - Dst: vlc_window_ReportOutputDevice
      Src: /src/vlc/modules/video_output/kms.c:220,1
    - Dst: drmModeFreeEncoder
      Src: /src/vlc/modules/video_output/kms.c:223,1
    - Dst: drmModeFreeConnector
      Src: /src/vlc/modules/video_output/kms.c:225,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 227
    functionName: UpdateOutputs
    functionSourceFile: /src/vlc/modules/video_output/kms.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - drmModeFreeConnector
    - drmModeGetConnector
    - msg_Info
    - drmModeGetEncoder
    - drmModeFreeEncoder
    - snprintf
    - vlc_window_ReportOutputDevice
    linkageType: ''
    returnType: void
    signature: void UpdateOutputs(vlc_window_t *wnd)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/kms.c:238,1
    - Dst: msg_Info
      Src: /src/vlc/modules/video_output/kms.c:239,1
    - Dst: drmModeGetConnector
      Src: /src/vlc/modules/video_output/kms.c:243,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/kms.c:247,1
    - Dst: drmModeFreeConnector
      Src: /src/vlc/modules/video_output/kms.c:249,1
    - Dst: snprintf
      Src: /src/vlc/modules/video_output/kms.c:254,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_output/kms.c:258,1
    - Dst: msg_Info
      Src: /src/vlc/modules/video_output/kms.c:260,1
    - Dst: drmModeFreeConnector
      Src: /src/vlc/modules/video_output/kms.c:261,1
    - Dst: msg_Info
      Src: /src/vlc/modules/video_output/kms.c:265,1
    - Dst: SetupDevice
      Src: /src/vlc/modules/video_output/kms.c:269,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/kms.c:272,1
    - Dst: drmModeFreeConnector
      Src: /src/vlc/modules/video_output/kms.c:275,1
    - Dst: drmModeFreeResources
      Src: /src/vlc/modules/video_output/kms.c:276,1
    - Dst: free
      Src: /src/vlc/modules/video_output/kms.c:277,1
    - Dst: drmModeFreeConnector
      Src: /src/vlc/modules/video_output/kms.c:280,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/kms.c:282,1
    - Dst: free
      Src: /src/vlc/modules/video_output/kms.c:289,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/kms.c:293,1
    - Dst: drmModeGetCrtc
      Src: /src/vlc/modules/video_output/kms.c:299,1
    - Dst: drmIoctl
      Src: /src/vlc/modules/video_output/kms.c:310,1
    - Dst: drmModeAddFB
      Src: /src/vlc/modules/video_output/kms.c:315,1
    - Dst: drmModeSetCrtc
      Src: /src/vlc/modules/video_output/kms.c:320,1
    - Dst: vlc_window_ReportSize
      Src: /src/vlc/modules/video_output/kms.c:327,1
    - Dst: drmModeRmFB
      Src: /src/vlc/modules/video_output/kms.c:332,1
    - Dst: drmIoctl
      Src: /src/vlc/modules/video_output/kms.c:339,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/kms.c:342,1
    - Dst: drmModeFreeCrtc
      Src: /src/vlc/modules/video_output/kms.c:347,1
    - Dst: drmModeFreeConnector
      Src: /src/vlc/modules/video_output/kms.c:349,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 73
    argCount: 2
    argNames:
    - wnd
    - cfg
    argTypes:
    - vlc_window_t*
    - vlc_window_cfg_t*
    assertStmts:
    - condition: (ret == drvSuccess)
      pos:
        line_end: 341
        line_start: 341
        source_file: /src/vlc/modules/video_output/kms.c
    constantsTouched: []
    func_position:
      end: 353
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 353
    functionName: WindowEnable
    functionSourceFile: /src/vlc/modules/video_output/kms.c
    functionUses: 7
    functionsReached:
    - drmModeFreeCrtc
    - assert
    - drmModeFreeConnector
    - SetupDevice
    - drmModeGetCrtc
    - vlc_window_ReportSize
    - ARRAY_SIZE
    - drmModeGetConnector
    - msg_Err
    - drmModeRmFB
    - msg_Dbg
    - msg_Warn
    - drmModeSetCrtc
    - snprintf
    - drmModeFreeResources
    - drmModeAddFB
    - strcmp
    - var_InheritString
    - free
    - msg_Info
    - drmIoctl
    linkageType: ''
    returnType: int
    signature: int WindowEnable(vlc_window_t *wnd, const vlc_window_cfg_t *cfg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: drmModeSetCrtc
      Src: /src/vlc/modules/video_output/kms.c:363,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/kms.c:369,1
    - Dst: drmModeFreeCrtc
      Src: /src/vlc/modules/video_output/kms.c:370,1
    - Dst: drmModeFreeConnector
      Src: /src/vlc/modules/video_output/kms.c:374,1
    - Dst: drmModeRmFB
      Src: /src/vlc/modules/video_output/kms.c:376,1
    - Dst: drmIoctl
      Src: /src/vlc/modules/video_output/kms.c:381,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/kms.c:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts:
    - condition: (ret == drvSuccess)
      pos:
        line_end: 368
        line_start: 368
        source_file: /src/vlc/modules/video_output/kms.c
    - condition: (ret == drvSuccess)
      pos:
        line_end: 383
        line_start: 383
        source_file: /src/vlc/modules/video_output/kms.c
    constantsTouched: []
    func_position:
      end: 386
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 386
    functionName: WindowDisable
    functionSourceFile: /src/vlc/modules/video_output/kms.c
    functionUses: 7
    functionsReached:
    - drmModeFreeCrtc
    - assert
    - drmModeFreeConnector
    - drmModeRmFB
    - drmIoctl
    - drmModeSetCrtc
    linkageType: ''
    returnType: void
    signature: void WindowDisable(vlc_window_t *wnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drmModeFreeResources
      Src: /src/vlc/modules/video_output/kms.c:391,1
    - Dst: drmSetClientCap
      Src: /src/vlc/modules/video_output/kms.c:392,1
    - Dst: drmDropMaster
      Src: /src/vlc/modules/video_output/kms.c:393,1
    - Dst: vlc_close
      Src: /src/vlc/modules/video_output/kms.c:394,1
    - Dst: free
      Src: /src/vlc/modules/video_output/kms.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 396
    functionName: WindowClose
    functionSourceFile: /src/vlc/modules/video_output/kms.c
    functionUses: 1
    functionsReached:
    - drmModeFreeResources
    - drmSetClientCap
    - vlc_close
    - drmDropMaster
    - free
    linkageType: ''
    returnType: void
    signature: void WindowClose(vlc_window_t *wnd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/video_output/kms.c:412,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/kms.c:421,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/kms.c:423,1
    - Dst: vlc_open
      Src: /src/vlc/modules/video_output/kms.c:427,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/kms.c:429,1
    - Dst: free
      Src: /src/vlc/modules/video_output/kms.c:430,1
    - Dst: drmGetVersion
      Src: /src/vlc/modules/video_output/kms.c:435,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/kms.c:440,1
    - Dst: drmFreeVersion
      Src: /src/vlc/modules/video_output/kms.c:444,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/kms.c:448,1
    - Dst: free
      Src: /src/vlc/modules/video_output/kms.c:449,1
    - Dst: free
      Src: /src/vlc/modules/video_output/kms.c:452,1
    - Dst: drmSetClientCap
      Src: /src/vlc/modules/video_output/kms.c:454,1
    - Dst: drmModeGetResources
      Src: /src/vlc/modules/video_output/kms.c:456,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/kms.c:458,1
    - Dst: drmSetClientCap
      Src: /src/vlc/modules/video_output/kms.c:459,1
    - Dst: UpdateOutputs
      Src: /src/vlc/modules/video_output/kms.c:468,1
    - Dst: drmDropMaster
      Src: /src/vlc/modules/video_output/kms.c:472,1
    - Dst: vlc_close
      Src: /src/vlc/modules/video_output/kms.c:473,1
    - Dst: free
      Src: /src/vlc/modules/video_output/kms.c:476,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 478
    functionName: OpenWindow
    functionSourceFile: /src/vlc/modules/video_output/kms.c
    functionUses: 0
    functionsReached:
    - vlc_open
    - var_InheritString
    - drmGetVersion
    - drmSetClientCap
    - UpdateOutputs
    - vlc_close
    - msg_Err
    - free
    - drmDropMaster
    - drmModeGetResources
    - msg_Dbg
    - drmFreeVersion
    - malloc
    linkageType: ''
    returnType: int
    signature: int OpenWindow(vlc_window_t *wnd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/video_output/flaschen.c:109,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/flaschen.c:118,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/flaschen.c:119,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/flaschen.c:126,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/flaschen.c:128,1
    - Dst: free
      Src: /src/vlc/modules/video_output/flaschen.c:129,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/flaschen.c:132,1
    - Dst: net_ConnectDgram
      Src: /src/vlc/modules/video_output/flaschen.c:134,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/flaschen.c:138,1
    - Dst: free
      Src: /src/vlc/modules/video_output/flaschen.c:141,1
    - Dst: free
      Src: /src/vlc/modules/video_output/flaschen.c:142,1
    - Dst: free
      Src: /src/vlc/modules/video_output/flaschen.c:145,1
    - Dst: setsockopt
      Src: /src/vlc/modules/video_output/flaschen.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 3
    argNames:
    - vd
    - fmtp
    - context
    argTypes:
    - vout_display_t*
    - video_format_t*
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 158
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/flaschen.c
    functionUses: 61
    functionsReached:
    - var_InheritString
    - var_InheritInteger
    - setsockopt
    - msg_Err
    - calloc
    - free
    - net_ConnectDgram
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: "int Open(vout_display_t *vd,\n                video_format_t *fmtp,
      vlc_video_context *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: net_Close
      Src: /src/vlc/modules/video_output/flaschen.c:164,1
    - Dst: free
      Src: /src/vlc/modules/video_output/flaschen.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/flaschen.c
    functionUses: 155
    functionsReached:
    - free
    - net_Close
    linkageType: ''
    returnType: void
    signature: void Close(vout_display_t *vd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/vlc/modules/video_output/flaschen.c:173,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/flaschen.c:181,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/flaschen.c:182,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/flaschen.c:183,1
    - Dst: snprintf
      Src: /src/vlc/modules/video_output/flaschen.c:186,1
    - Dst: snprintf
      Src: /src/vlc/modules/video_output/flaschen.c:189,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/flaschen.c:195,1
    - Dst: sendmsg
      Src: /src/vlc/modules/video_output/flaschen.c:219,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/flaschen.c:221,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/video_output/flaschen.c:221,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/flaschen.c:223,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - vd
    - picture
    argTypes:
    - vout_display_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 225
    functionName: Display
    functionSourceFile: /src/vlc/modules/video_output/flaschen.c
    functionUses: 21
    functionsReached:
    - snprintf
    - vlc_strerror_c
    - var_InheritInteger
    - sendmsg
    - sysconf
    - msg_Err
    - unlikely
    linkageType: ''
    returnType: void
    signature: void Display(vout_display_t *vd, picture_t *picture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/video_output/caca.c:77,1
    - Dst: vlc_queue_DequeueKillable
      Src: /src/vlc/modules/video_output/caca.c:83,1
    - Dst: vlc_window_ReportKeyPress
      Src: /src/vlc/modules/video_output/caca.c:84,1
    - Dst: free
      Src: /src/vlc/modules/video_output/caca.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 89
    functionName: VoutDisplayEventKeyDispatch
    functionSourceFile: /src/vlc/modules/video_output/caca.c
    functionUses: 0
    functionsReached:
    - vlc_queue_DequeueKillable
    - free
    - vlc_thread_set_name
    - vlc_window_ReportKeyPress
    linkageType: ''
    returnType: void
    signature: void *VoutDisplayEventKeyDispatch(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/video_output/caca.c:93,1
    - Dst: likely
      Src: /src/vlc/modules/video_output/caca.c:95,1
    - Dst: vlc_queue_Enqueue
      Src: /src/vlc/modules/video_output/caca.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sys
    - key
    argTypes:
    - vout_display_sys_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 100
    functionName: VoutDisplayEventKey
    functionSourceFile: /src/vlc/modules/video_output/caca.c
    functionUses: 0
    functionsReached:
    - likely
    - malloc
    - vlc_queue_Enqueue
    linkageType: ''
    returnType: void
    signature: void VoutDisplayEventKey(vout_display_sys_t *sys, int key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: caca_get_canvas_width
      Src: /src/vlc/modules/video_output/caca.c:109,1
    - Dst: caca_get_canvas_height
      Src: /src/vlc/modules/video_output/caca.c:110,1
    - Dst: caca_get_display_width
      Src: /src/vlc/modules/video_output/caca.c:111,1
    - Dst: caca_get_display_height
      Src: /src/vlc/modules/video_output/caca.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 125
    functionName: Place
    functionSourceFile: /src/vlc/modules/video_output/caca.c
    functionUses: 0
    functionsReached:
    - caca_get_display_height
    - caca_get_display_width
    - caca_get_canvas_width
    - caca_get_canvas_height
    linkageType: ''
    returnType: void
    signature: void Place(vout_display_t *vd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Manage
      Src: /src/vlc/modules/video_output/caca.c:134,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/caca.c:135,1
    - Dst: caca_free_dither
      Src: /src/vlc/modules/video_output/caca.c:145,1
    - Dst: caca_create_dither
      Src: /src/vlc/modules/video_output/caca.c:148,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/caca.c:158,1
    - Dst: caca_set_color_ansi
      Src: /src/vlc/modules/video_output/caca.c:167,1
    - Dst: caca_clear_canvas
      Src: /src/vlc/modules/video_output/caca.c:168,1
    - Dst: caca_dither_bitmap
      Src: /src/vlc/modules/video_output/caca.c:172,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/caca.c:176,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - vd
    - picture
    - subpicture
    - date
    argTypes:
    - vout_display_t*
    - picture_t*
    - struct vlc_render_subpicture*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 177
    functionName: Prepare
    functionSourceFile: /src/vlc/modules/video_output/caca.c
    functionUses: 48
    functionsReached:
    - Manage
    - caca_clear_canvas
    - caca_create_dither
    - caca_dither_bitmap
    - msg_Err
    - caca_free_dither
    - caca_set_color_ansi
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void Prepare(vout_display_t *vd, picture_t *picture,\n                    const
      struct vlc_render_subpicture *subpicture, vlc_tick_t date)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: caca_refresh_display
      Src: /src/vlc/modules/video_output/caca.c:186,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/caca.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vd
    - picture
    argTypes:
    - vout_display_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: PictureDisplay
    functionSourceFile: /src/vlc/modules/video_output/caca.c
    functionUses: 0
    functionsReached:
    - caca_refresh_display
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void PictureDisplay(vout_display_t *vd, picture_t *picture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/caca.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - vd
    - place
    argTypes:
    - vout_display_t*
    - vout_display_place_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 196
    functionName: PlacementChanged
    functionSourceFile: /src/vlc/modules/video_output/caca.c
    functionUses: 1
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int PlacementChanged(vout_display_t *vd, const vout_display_place_t
      *place)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/caca.c:200,1
    - Dst: PlacementChanged
      Src: /src/vlc/modules/video_output/caca.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vd
    - source
    argTypes:
    - vout_display_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: CropChanged
    functionSourceFile: /src/vlc/modules/video_output/caca.c
    functionUses: 0
    functionsReached:
    - PlacementChanged
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int CropChanged(vout_display_t *vd, const video_format_t *source)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/video_output/caca.c:296,1
    - Dst: caca_set_mouse
      Src: /src/vlc/modules/video_output/caca.c:297,1
    - Dst: caca_get_event
      Src: /src/vlc/modules/video_output/caca.c:302,1
    - Dst: caca_get_event_type
      Src: /src/vlc/modules/video_output/caca.c:303,1
    - Dst: caca_get_event_key_ch
      Src: /src/vlc/modules/video_output/caca.c:305,1
    - Dst: VoutDisplayEventKey
      Src: /src/vlc/modules/video_output/caca.c:312,1
    - Dst: VoutDisplayEventKey
      Src: /src/vlc/modules/video_output/caca.c:317,1
    - Dst: caca_set_mouse
      Src: /src/vlc/modules/video_output/caca.c:325,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/video_output/caca.c:326,1
    - Dst: vlc_window_ReportMouseMoved
      Src: /src/vlc/modules/video_output/caca.c:327,1
    - Dst: caca_get_event_mouse_x
      Src: /src/vlc/modules/video_output/caca.c:328,1
    - Dst: caca_get_event_mouse_y
      Src: /src/vlc/modules/video_output/caca.c:329,1
    - Dst: caca_set_mouse
      Src: /src/vlc/modules/video_output/caca.c:333,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/video_output/caca.c:334,1
    - Dst: caca_get_event_mouse_button
      Src: /src/vlc/modules/video_output/caca.c:336,1
    - Dst: caca_get_event_type
      Src: /src/vlc/modules/video_output/caca.c:339,1
    - Dst: vlc_window_ReportMousePressed
      Src: /src/vlc/modules/video_output/caca.c:340,1
    - Dst: vlc_window_ReportMouseReleased
      Src: /src/vlc/modules/video_output/caca.c:343,1
    - Dst: vlc_window_ReportClose
      Src: /src/vlc/modules/video_output/caca.c:351,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 357
    functionName: Manage
    functionSourceFile: /src/vlc/modules/video_output/caca.c
    functionUses: 1
    functionsReached:
    - vlc_window_ReportMouseMoved
    - vlc_window_ReportMouseReleased
    - vlc_tick_now
    - caca_get_event
    - caca_get_event_mouse_y
    - caca_get_event_type
    - VoutDisplayEventKey
    - caca_set_mouse
    - caca_get_event_mouse_x
    - vlc_window_ReportClose
    - caca_get_event_mouse_button
    - vlc_window_ReportMousePressed
    - caca_get_event_key_ch
    linkageType: ''
    returnType: void
    signature: void Manage(vout_display_t *vd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_queue_Kill
      Src: /src/vlc/modules/video_output/caca.c:366,1
    - Dst: vlc_join
      Src: /src/vlc/modules/video_output/caca.c:367,1
    - Dst: caca_free_dither
      Src: /src/vlc/modules/video_output/caca.c:370,1
    - Dst: caca_free_display
      Src: /src/vlc/modules/video_output/caca.c:371,1
    - Dst: caca_free_canvas
      Src: /src/vlc/modules/video_output/caca.c:372,1
    - Dst: FreeConsole
      Src: /src/vlc/modules/video_output/caca.c:375,1
    - Dst: free
      Src: /src/vlc/modules/video_output/caca.c:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 379
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/caca.c
    functionUses: 156
    functionsReached:
    - caca_free_canvas
    - caca_free_display
    - free
    - vlc_join
    - caca_free_dither
    - vlc_queue_Kill
    - FreeConsole
    linkageType: ''
    returnType: void
    signature: void Close(vout_display_t *vd)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: vout_display_cfg_IsWindowed
      Src: /src/vlc/modules/video_output/caca.c:399,1
    - Dst: vlc_xlib_init
      Src: /src/vlc/modules/video_output/caca.c:403,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/caca.c:403,1
    - Dst: AllocConsole
      Src: /src/vlc/modules/video_output/caca.c:414,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/caca.c:415,1
    - Dst: CreateConsoleScreenBuffer
      Src: /src/vlc/modules/video_output/caca.c:420,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/caca.c:424,1
    - Dst: FreeConsole
      Src: /src/vlc/modules/video_output/caca.c:425,1
    - Dst: SetConsoleActiveScreenBuffer
      Src: /src/vlc/modules/video_output/caca.c:429,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/caca.c:430,1
    - Dst: FreeConsole
      Src: /src/vlc/modules/video_output/caca.c:431,1
    - Dst: GetLargestConsoleWindowSize
      Src: /src/vlc/modules/video_output/caca.c:435,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/caca.c:436,1
    - Dst: SetConsoleScreenBufferSize
      Src: /src/vlc/modules/video_output/caca.c:442,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/caca.c:443,1
    - Dst: GetConsoleScreenBufferInfo
      Src: /src/vlc/modules/video_output/caca.c:447,1
    - Dst: SetConsoleWindowInfo
      Src: /src/vlc/modules/video_output/caca.c:451,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/caca.c:452,1
    - Dst: calloc
      Src: /src/vlc/modules/video_output/caca.c:458,1
    - Dst: caca_create_canvas
      Src: /src/vlc/modules/video_output/caca.c:462,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/caca.c:464,1
    - Dst: caca_create_display_with_driver
      Src: /src/vlc/modules/video_output/caca.c:474,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/caca.c:476,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/caca.c:480,1
    - Dst: caca_set_display_title
      Src: /src/vlc/modules/video_output/caca.c:481,1
    - Dst: free
      Src: /src/vlc/modules/video_output/caca.c:483,1
    - Dst: vlc_queue_Init
      Src: /src/vlc/modules/video_output/caca.c:486,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/video_output/caca.c:488,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/video_output/caca.c:491,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/caca.c:491,1
    - Dst: caca_refresh_display
      Src: /src/vlc/modules/video_output/caca.c:500,1
    - Dst: Place
      Src: /src/vlc/modules/video_output/caca.c:502,1
    - Dst: caca_free_dither
      Src: /src/vlc/modules/video_output/caca.c:509,1
    - Dst: caca_free_display
      Src: /src/vlc/modules/video_output/caca.c:511,1
    - Dst: caca_free_canvas
      Src: /src/vlc/modules/video_output/caca.c:513,1
    - Dst: free
      Src: /src/vlc/modules/video_output/caca.c:515,1
    - Dst: FreeConsole
      Src: /src/vlc/modules/video_output/caca.c:518,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 79
    argCount: 3
    argNames:
    - vd
    - fmtp
    - context
    argTypes:
    - vout_display_t*
    - video_format_t*
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 521
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/caca.c
    functionUses: 61
    functionsReached:
    - caca_refresh_display
    - vout_display_cfg_IsWindowed
    - CreateConsoleScreenBuffer
    - caca_free_canvas
    - vlc_xlib_init
    - caca_free_display
    - msg_Err
    - calloc
    - SetConsoleScreenBufferSize
    - SetConsoleActiveScreenBuffer
    - msg_Dbg
    - msg_Warn
    - GetConsoleScreenBufferInfo
    - var_InheritInteger
    - Place
    - caca_create_canvas
    - SetConsoleWindowInfo
    - var_InheritString
    - GetLargestConsoleWindowSize
    - vlc_clone
    - vlc_queue_Init
    - VLC_TICK_FROM_MS
    - free
    - caca_set_display_title
    - VLC_OBJECT
    - caca_create_display_with_driver
    - caca_free_dither
    - FreeConsole
    - AllocConsole
    linkageType: ''
    returnType: int
    signature: "int Open(vout_display_t *vd,\n                video_format_t *fmtp,
      vlc_video_context *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_output/wasync_resize_compressor.h:42,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_output/wasync_resize_compressor.h:47,1
    - Dst: vlc_window_ReportSize
      Src: /src/vlc/modules/video_output/wasync_resize_compressor.h:49,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_output/wasync_resize_compressor.h:51,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_output/wasync_resize_compressor.h:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 57
    functionName: wasync_resize_compressor_callback
    functionSourceFile: /src/vlc/modules/video_output/wasync_resize_compressor.h
    functionUses: 0
    functionsReached:
    - vlc_window_ReportSize
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void wasync_resize_compressor_callback(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/video_output/wasync_resize_compressor.h:62,1
    - Dst: vlc_timer_create
      Src: /src/vlc/modules/video_output/wasync_resize_compressor.h:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - compressor
    - window
    argTypes:
    - vlc_wasync_resize_compressor_t*
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 73
    functionName: vlc_wasync_resize_compressor_init
    functionSourceFile: /src/vlc/modules/video_output/wasync_resize_compressor.h
    functionUses: 1
    functionsReached:
    - vlc_mutex_init
    - vlc_timer_create
    linkageType: ''
    returnType: int
    signature: "int vlc_wasync_resize_compressor_init(vlc_wasync_resize_compressor_t
      *compressor,\n                                                     vlc_window_t
      *window)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_timer_destroy
      Src: /src/vlc/modules/video_output/wasync_resize_compressor.h:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - compressor
    argTypes:
    - vlc_wasync_resize_compressor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: vlc_wasync_resize_compressor_destroy
    functionSourceFile: /src/vlc/modules/video_output/wasync_resize_compressor.h
    functionUses: 1
    functionsReached:
    - vlc_timer_destroy
    linkageType: ''
    returnType: void
    signature: void vlc_wasync_resize_compressor_destroy(vlc_wasync_resize_compressor_t
      *compressor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_timer_disarm
      Src: /src/vlc/modules/video_output/wasync_resize_compressor.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - compressor
    argTypes:
    - vlc_wasync_resize_compressor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: vlc_wasync_resize_compressor_dropOrWait
    functionSourceFile: /src/vlc/modules/video_output/wasync_resize_compressor.h
    functionUses: 0
    functionsReached:
    - vlc_timer_disarm
    linkageType: ''
    returnType: void
    signature: void vlc_wasync_resize_compressor_dropOrWait(vlc_wasync_resize_compressor_t
      *compressor)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_output/wasync_resize_compressor.h:86,1
    - Dst: vlc_timer_schedule_asap
      Src: /src/vlc/modules/video_output/wasync_resize_compressor.h:90,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_output/wasync_resize_compressor.h:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - compressor
    - width
    - height
    argTypes:
    - vlc_wasync_resize_compressor_t*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 94
    functionName: vlc_wasync_resize_compressor_reportSize
    functionSourceFile: /src/vlc/modules/video_output/wasync_resize_compressor.h
    functionUses: 1
    functionsReached:
    - vlc_mutex_unlock
    - vlc_timer_schedule_asap
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: "void vlc_wasync_resize_compressor_reportSize(vlc_wasync_resize_compressor_t
      *compressor,\n                                                           unsigned
      width, unsigned height)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glXMakeContextCurrent
      Src: /src/vlc/modules/video_output/glx.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: MakeCurrent
    functionSourceFile: /src/vlc/modules/video_output/glx.c
    functionUses: 28
    functionsReached:
    - glXMakeContextCurrent
    linkageType: ''
    returnType: int
    signature: int MakeCurrent (vlc_gl_t *gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glXMakeContextCurrent
      Src: /src/vlc/modules/video_output/glx.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: ReleaseCurrent
    functionSourceFile: /src/vlc/modules/video_output/glx.c
    functionUses: 15
    functionsReached:
    - glXMakeContextCurrent
    linkageType: ''
    returnType: void
    signature: void ReleaseCurrent (vlc_gl_t *gl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: glXGetCurrentDisplay
      Src: /src/vlc/modules/video_output/glx.c:70,1
    - Dst: glXGetCurrentContext
      Src: /src/vlc/modules/video_output/glx.c:71,1
    - Dst: glXGetCurrentDrawable
      Src: /src/vlc/modules/video_output/glx.c:72,1
    - Dst: glXGetCurrentReadDrawable
      Src: /src/vlc/modules/video_output/glx.c:73,1
    - Dst: glXMakeContextCurrent
      Src: /src/vlc/modules/video_output/glx.c:75,1
    - Dst: glXWaitGL
      Src: /src/vlc/modules/video_output/glx.c:77,1
    - Dst: LastKnownRequestProcessed
      Src: /src/vlc/modules/video_output/glx.c:78,1
    - Dst: NextRequest
      Src: /src/vlc/modules/video_output/glx.c:79,1
    - Dst: XResizeWindow
      Src: /src/vlc/modules/video_output/glx.c:80,1
    - Dst: glXWaitX
      Src: /src/vlc/modules/video_output/glx.c:83,1
    - Dst: glXMakeContextCurrent
      Src: /src/vlc/modules/video_output/glx.c:85,1
    - Dst: glXMakeContextCurrent
      Src: /src/vlc/modules/video_output/glx.c:87,1
    - Dst: LastKnownRequestProcessed
      Src: /src/vlc/modules/video_output/glx.c:89,1
    - Dst: XSync
      Src: /src/vlc/modules/video_output/glx.c:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - gl
    - width
    - height
    argTypes:
    - vlc_gl_t*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 91
    functionName: Resize
    functionSourceFile: /src/vlc/modules/video_output/glx.c
    functionUses: 18
    functionsReached:
    - glXWaitX
    - glXWaitGL
    - XResizeWindow
    - glXMakeContextCurrent
    - glXGetCurrentContext
    - glXGetCurrentReadDrawable
    - glXGetCurrentDisplay
    - NextRequest
    - LastKnownRequestProcessed
    - XSync
    - glXGetCurrentDrawable
    linkageType: ''
    returnType: void
    signature: void Resize (vlc_gl_t *gl, unsigned width, unsigned height)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: glXGetCurrentDisplay
      Src: /src/vlc/modules/video_output/glx.c:97,1
    - Dst: glXGetCurrentContext
      Src: /src/vlc/modules/video_output/glx.c:98,1
    - Dst: glXGetCurrentReadDrawable
      Src: /src/vlc/modules/video_output/glx.c:100,1
    - Dst: glXGetCurrentDrawable
      Src: /src/vlc/modules/video_output/glx.c:101,1
    - Dst: glXMakeContextCurrent
      Src: /src/vlc/modules/video_output/glx.c:102,1
    - Dst: glXSwapBuffers
      Src: /src/vlc/modules/video_output/glx.c:103,1
    - Dst: glXMakeContextCurrent
      Src: /src/vlc/modules/video_output/glx.c:105,1
    - Dst: glXMakeContextCurrent
      Src: /src/vlc/modules/video_output/glx.c:107,1
    - Dst: glXSwapBuffers
      Src: /src/vlc/modules/video_output/glx.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 111
    functionName: SwapBuffers
    functionSourceFile: /src/vlc/modules/video_output/glx.c
    functionUses: 2
    functionsReached:
    - glXMakeContextCurrent
    - glXGetCurrentContext
    - glXGetCurrentReadDrawable
    - glXGetCurrentDisplay
    - glXSwapBuffers
    - glXGetCurrentDrawable
    linkageType: ''
    returnType: void
    signature: void SwapBuffers (vlc_gl_t *gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glXGetProcAddressARB
      Src: /src/vlc/modules/video_output/glx.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - gl
    - procname
    argTypes:
    - vlc_gl_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: GetSymbol
    functionSourceFile: /src/vlc/modules/video_output/glx.c
    functionUses: 0
    functionsReached:
    - glXGetProcAddressARB
    linkageType: ''
    returnType: void
    signature: void *GetSymbol(vlc_gl_t *gl, const char *procname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: glXQueryVersion
      Src: /src/vlc/modules/video_output/glx.c:124,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/glx.c:125,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/glx.c:128,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/glx.c:131,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/glx.c:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - vd
    - dpy
    argTypes:
    - vlc_object_t*
    - Display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 138
    functionName: CheckGLX
    functionSourceFile: /src/vlc/modules/video_output/glx.c
    functionUses: 0
    functionsReached:
    - glXQueryVersion
    - msg_Dbg
    linkageType: ''
    returnType: bool
    signature: bool CheckGLX (vlc_object_t *vd, Display *dpy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glXQueryExtensionsString
      Src: /src/vlc/modules/video_output/glx.c:142,1
    - Dst: strlen
      Src: /src/vlc/modules/video_output/glx.c:143,1
    - Dst: strspn
      Src: /src/vlc/modules/video_output/glx.c:147,1
    - Dst: strcspn
      Src: /src/vlc/modules/video_output/glx.c:149,1
    - Dst: memcmp
      Src: /src/vlc/modules/video_output/glx.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - dpy
    - snum
    - ext
    argTypes:
    - Display*
    - unsigned
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 155
    functionName: CheckGLXext
    functionSourceFile: /src/vlc/modules/video_output/glx.c
    functionUses: 0
    functionsReached:
    - strlen
    - strspn
    - strcspn
    - glXQueryExtensionsString
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool CheckGLXext (Display *dpy, unsigned snum, const char *ext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glXDestroyContext
      Src: /src/vlc/modules/video_output/glx.c:162,1
    - Dst: glXDestroyWindow
      Src: /src/vlc/modules/video_output/glx.c:163,1
    - Dst: XCloseDisplay
      Src: /src/vlc/modules/video_output/glx.c:164,1
    - Dst: free
      Src: /src/vlc/modules/video_output/glx.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 166
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/glx.c
    functionUses: 156
    functionsReached:
    - free
    - glXDestroyWindow
    - glXDestroyContext
    - XCloseDisplay
    linkageType: ''
    returnType: void
    signature: void Close(vlc_gl_t *gl)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/glx.c:171,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/glx.c:175,1
    - Dst: vlc_xlib_init
      Src: /src/vlc/modules/video_output/glx.c:179,1
    - Dst: XOpenDisplay
      Src: /src/vlc/modules/video_output/glx.c:183,1
    - Dst: malloc
      Src: /src/vlc/modules/video_output/glx.c:187,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/glx.c:188,1
    - Dst: XCloseDisplay
      Src: /src/vlc/modules/video_output/glx.c:190,1
    - Dst: CheckGLX
      Src: /src/vlc/modules/video_output/glx.c:196,1
    - Dst: XGetWindowAttributes
      Src: /src/vlc/modules/video_output/glx.c:201,1
    - Dst: BlackPixelOfScreen
      Src: /src/vlc/modules/video_output/glx.c:210,1
    - Dst: BlackPixelOfScreen
      Src: /src/vlc/modules/video_output/glx.c:211,1
    - Dst: DefaultColormapOfScreen
      Src: /src/vlc/modules/video_output/glx.c:213,1
    - Dst: XCreateWindow
      Src: /src/vlc/modules/video_output/glx.c:214,1
    - Dst: DefaultDepthOfScreen
      Src: /src/vlc/modules/video_output/glx.c:216,1
    - Dst: DefaultVisualOfScreen
      Src: /src/vlc/modules/video_output/glx.c:217,1
    - Dst: XMapWindow
      Src: /src/vlc/modules/video_output/glx.c:218,1
    - Dst: XScreenNumberOfScreen
      Src: /src/vlc/modules/video_output/glx.c:220,1
    - Dst: XVisualIDFromVisual
      Src: /src/vlc/modules/video_output/glx.c:221,1
    - Dst: glXChooseFBConfig
      Src: /src/vlc/modules/video_output/glx.c:233,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/glx.c:236,1
    - Dst: glXGetVisualFromFBConfig
      Src: /src/vlc/modules/video_output/glx.c:246,1
    - Dst: XFree
      Src: /src/vlc/modules/video_output/glx.c:252,1
    - Dst: XFree
      Src: /src/vlc/modules/video_output/glx.c:254,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/glx.c:258,1
    - Dst: glXCreateWindow
      Src: /src/vlc/modules/video_output/glx.c:263,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/glx.c:266,1
    - Dst: glXCreateNewContext
      Src: /src/vlc/modules/video_output/glx.c:271,1
    - Dst: glXDestroyWindow
      Src: /src/vlc/modules/video_output/glx.c:274,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/glx.c:275,1
    - Dst: MakeCurrent
      Src: /src/vlc/modules/video_output/glx.c:294,1
    - Dst: CheckGLXext
      Src: /src/vlc/modules/video_output/glx.c:297,1
    - Dst: glXGetProcAddressARB
      Src: /src/vlc/modules/video_output/glx.c:300,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/glx.c:301,1
    - Dst: SwapIntervalSGI
      Src: /src/vlc/modules/video_output/glx.c:302,1
    - Dst: CheckGLXext
      Src: /src/vlc/modules/video_output/glx.c:307,1
    - Dst: glXGetProcAddress
      Src: /src/vlc/modules/video_output/glx.c:310,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/glx.c:311,1
    - Dst: SwapIntervalEXT
      Src: /src/vlc/modules/video_output/glx.c:312,1
    - Dst: ReleaseCurrent
      Src: /src/vlc/modules/video_output/glx.c:316,1
    - Dst: glXGetClientString
      Src: /src/vlc/modules/video_output/glx.c:321,1
    - Dst: strncmp
      Src: /src/vlc/modules/video_output/glx.c:322,1
    - Dst: var_Create
      Src: /src/vlc/modules/video_output/glx.c:324,1
    - Dst: var_SetString
      Src: /src/vlc/modules/video_output/glx.c:325,1
    - Dst: XCloseDisplay
      Src: /src/vlc/modules/video_output/glx.c:331,1
    - Dst: free
      Src: /src/vlc/modules/video_output/glx.c:332,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 82
    argCount: 4
    argNames:
    - gl
    - width
    - height
    - gl_cfg
    argTypes:
    - vlc_gl_t*
    - unsigned
    - unsigned
    - struct vlc_gl_cfg*
    assertStmts:
    - condition: (SwapIntervalSGI != NULL)
      pos:
        line_end: 300
        line_start: 300
        source_file: /src/vlc/modules/video_output/glx.c
    - condition: (SwapIntervalEXT != NULL)
      pos:
        line_end: 310
        line_start: 310
        source_file: /src/vlc/modules/video_output/glx.c
    constantsTouched: []
    func_position:
      end: 334
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 334
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/glx.c
    functionUses: 61
    functionsReached:
    - assert
    - ReleaseCurrent
    - CheckGLX
    - vlc_xlib_init
    - XOpenDisplay
    - XMapWindow
    - DefaultDepthOfScreen
    - SwapIntervalSGI
    - glXCreateWindow
    - XVisualIDFromVisual
    - BlackPixelOfScreen
    - var_Create
    - XScreenNumberOfScreen
    - msg_Err
    - CheckGLXext
    - glXGetProcAddressARB
    - SwapIntervalEXT
    - MakeCurrent
    - XFree
    - glXCreateNewContext
    - XCloseDisplay
    - strncmp
    - DefaultVisualOfScreen
    - XGetWindowAttributes
    - glXGetProcAddress
    - glXChooseFBConfig
    - glXGetVisualFromFBConfig
    - glXDestroyWindow
    - glXGetClientString
    - free
    - XCreateWindow
    - DefaultColormapOfScreen
    - VLC_OBJECT
    - var_SetString
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: "int Open(vlc_gl_t *gl, unsigned width, unsigned height,\n                const
      struct vlc_gl_cfg *gl_cfg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_window_ReportSize
      Src: /src/vlc/modules/video_output/wextern.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - opaque
    - width
    - height
    argTypes:
    - void*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: WindowResize
    functionSourceFile: /src/vlc/modules/video_output/wextern.c
    functionUses: 0
    functionsReached:
    - vlc_window_ReportSize
    linkageType: ''
    returnType: void
    signature: void WindowResize(void *opaque, unsigned width, unsigned height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_window_ReportMouseMoved
      Src: /src/vlc/modules/video_output/wextern.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - opaque
    - x
    - y
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: WindowMouseMoved
    functionSourceFile: /src/vlc/modules/video_output/wextern.c
    functionUses: 0
    functionsReached:
    - vlc_window_ReportMouseMoved
    linkageType: ''
    returnType: void
    signature: void WindowMouseMoved(void *opaque, int x, int y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_window_ReportMousePressed
      Src: /src/vlc/modules/video_output/wextern.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opaque
    - button
    argTypes:
    - void*
    - libvlc_video_output_mouse_button_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: WindowMousePress
    functionSourceFile: /src/vlc/modules/video_output/wextern.c
    functionUses: 0
    functionsReached:
    - vlc_window_ReportMousePressed
    linkageType: ''
    returnType: void
    signature: void WindowMousePress(void *opaque, libvlc_video_output_mouse_button_t
      button)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_window_ReportMouseReleased
      Src: /src/vlc/modules/video_output/wextern.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opaque
    - button
    argTypes:
    - void*
    - libvlc_video_output_mouse_button_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: WindowMouseRelease
    functionSourceFile: /src/vlc/modules/video_output/wextern.c
    functionUses: 0
    functionsReached:
    - vlc_window_ReportMouseReleased
    linkageType: ''
    returnType: void
    signature: void WindowMouseRelease(void *opaque, libvlc_video_output_mouse_button_t
      button)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wextern_t*::setWindowCb
      Src: /src/vlc/modules/video_output/wextern.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wnd
    - wcfg
    argTypes:
    - struct vlc_window*
    - vlc_window_cfg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: Enable
    functionSourceFile: /src/vlc/modules/video_output/wextern.c
    functionUses: 14
    functionsReached:
    - wextern_t*::setWindowCb
    linkageType: ''
    returnType: int
    signature: int Enable(struct vlc_window *wnd, const vlc_window_cfg_t *wcfg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wextern_t*::setWindowCb
      Src: /src/vlc/modules/video_output/wextern.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - struct vlc_window*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: Disable
    functionSourceFile: /src/vlc/modules/video_output/wextern.c
    functionUses: 12
    functionsReached:
    - wextern_t*::setWindowCb
    linkageType: ''
    returnType: void
    signature: void Disable(struct vlc_window *wnd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/video_output/wextern.c:110,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/wextern.c:110,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/wextern.c:111,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/video_output/wextern.c:114,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/video_output/wextern.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 122
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/wextern.c
    functionUses: 61
    functionsReached:
    - unlikely
    - vlc_obj_malloc
    - VLC_OBJECT
    - var_InheritAddress
    linkageType: ''
    returnType: int
    signature: int Open(vlc_window_t *wnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - vd
    - d3d_dev
    - bits_per_channel
    - alpha_bits
    argTypes:
    - vlc_object_t*
    - d3d11_device_t*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: GetDirectRenderingFormat
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: d3d_format_t
    signature: d3d_format_t *GetDirectRenderingFormat(vlc_object_t *vd, d3d11_device_t
      *d3d_dev, uint8_t bits_per_channel, uint8_t alpha_bits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:227,1
    - Dst: Release
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - scaleProc
    argTypes:
    - d3d11_scaler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 235
    functionName: ReleaseSRVs
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp
    functionUses: 0
    functionsReached:
    - Release
    - ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: void ReleaseSRVs(d3d11_scaler *scaleProc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseSRVs
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:602,1
    - Dst: d3d11_scaler*::amfInput::Release
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:606,1
    - Dst: d3d11_scaler*::amf_scaler::Terminate
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:611,1
    - Dst: d3d11_scaler*::amf_scaler::Release
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:612,1
    - Dst: vlc_AMFReleaseContext
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:615,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - scaleProc
    argTypes:
    - d3d11_scaler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 618
    functionName: D3D11_UpscalerDestroy
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp
    functionUses: 0
    functionsReached:
    - vlc_AMFReleaseContext
    - d3d11_scaler*::amf_scaler::Release
    - d3d11_scaler*::amf_scaler::Terminate
    - d3d11_scaler*::amfInput::Release
    - ReleaseSRVs
    linkageType: ''
    returnType: void
    signature: void D3D11_UpscalerDestroy(d3d11_scaler *scaleProc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: d3d11_scaler*::d3dviddev::CreateVideoProcessorInputView
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:633,1
    - Dst: d3d11_scaler*::enumerator::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:635,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:638,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:641,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - vd
    - scaleProc
    - p_sys_src
    argTypes:
    - vlc_object_t*
    - d3d11_scaler*
    - picture_sys_d3d11_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 647
    functionName: assert_ProcessorInput
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp
    functionUses: 0
    functionsReached:
    - d3d11_scaler*::enumerator::Get
    - FAILED
    - d3d11_scaler*::d3dviddev::CreateVideoProcessorInputView
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int assert_ProcessorInput(vlc_object_t *vd, d3d11_scaler *scaleProc,
      picture_sys_d3d11_t *p_sys_src)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: d3d11_scaler*::amfInput::GetPlane
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:659,1
    - Dst: reinterpret_cast<ID3D11Texture2D *>
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:660,1
    - Dst: auto::GetNative
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:660,1
    - Dst: ID3D11Texture2D*::GetDesc
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:663,1
    - Dst: GetDesc
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:664,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:665,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:666,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:667,1
    - Dst: d3d11_device_lock
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:675,1
    - Dst: d3d11_scaler*::d3d_dev::d3dcontext::CopySubresourceRegion
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:676,1
    - Dst: d3d11_device_unlock
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:682,1
    - Dst: d3d11_scaler*::amf_scaler::SubmitInput
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:685,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:688,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:693,1
    - Dst: d3d11_scaler*::amf_scaler::QueryOutput
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:698,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:701,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:705,1
    - Dst: amf::AMFData*::GetMemoryType
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:705,1
    - Dst: reinterpret_cast<amf::AMFSurface*>
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:706,1
    - Dst: amf::AMFSurface*::GetPlane
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:707,1
    - Dst: reinterpret_cast<ID3D11Texture2D *>
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:709,1
    - Dst: auto::GetNative
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:709,1
    - Dst: ID3D11Texture2D*::GetDesc
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:713,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:714,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:715,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:716,1
    - Dst: ReleaseSRVs
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:719,1
    - Dst: D3D11_AllocateResourceView
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:725,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:725,1
    - Dst: amf::AMFData*::Release
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:728,1
    - Dst: amf::AMFData*::Release
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:732,1
    - Dst: assert_ProcessorInput
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:737,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:739,1
    - Dst: d3d11_scaler*::d3dvidctx::VideoProcessorBlt
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:747,1
    - Dst: d3d11_scaler*::processor::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:747,1
    - Dst: d3d11_scaler*::outputView::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:748,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:750,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp:752,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 54
    argCount: 3
    argNames:
    - vd
    - scaleProc
    - p_sys
    argTypes:
    - vlc_object_t*
    - d3d11_scaler*
    - picture_sys_d3d11_t*
    assertStmts:
    - condition: (stagingDesc.Format == inputDesc.Format)
      pos:
        line_end: 666
        line_start: 666
        source_file: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp
    - condition: (amfOutput->GetMemoryType() == amf::AMF_MEMORY_DX11)
      pos:
        line_end: 704
        line_start: 704
        source_file: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp
    - condition: (stagingDesc.Height <= inputDesc.Height)
      pos:
        line_end: 665
        line_start: 665
        source_file: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp
    - condition: (outDesc.Height == scaleProc->Height)
      pos:
        line_end: 714
        line_start: 714
        source_file: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp
    - condition: (stagingDesc.Width <= inputDesc.Width)
      pos:
        line_end: 664
        line_start: 664
        source_file: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp
    - condition: (outDesc.Width == scaleProc->Width)
      pos:
        line_end: 713
        line_start: 713
        source_file: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp
    - condition: (outDesc.Format == inputDesc.Format)
      pos:
        line_end: 715
        line_start: 715
        source_file: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp
    constantsTouched: []
    func_position:
      end: 756
      start: 649
    functionDepth: 2
    functionLinenumber: 649
    functionLinenumberEnd: 756
    functionName: D3D11_UpscalerScale
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp
    functionUses: 0
    functionsReached:
    - ID3D11Texture2D*::GetDesc
    - assert
    - d3d11_scaler*::amf_scaler::SubmitInput
    - reinterpret_cast<amf::AMFSurface*>
    - d3d11_scaler*::amfInput::GetPlane
    - amf::AMFData*::Release
    - d3d11_scaler*::d3dvidctx::VideoProcessorBlt
    - msg_Err
    - msg_Dbg
    - amf::AMFData*::GetMemoryType
    - D3D11_AllocateResourceView
    - assert_ProcessorInput
    - d3d11_scaler*::outputView::Get
    - d3d11_scaler*::amf_scaler::QueryOutput
    - d3d11_scaler*::processor::Get
    - GetDesc
    - d3d11_device_unlock
    - d3d11_scaler*::d3d_dev::d3dcontext::CopySubresourceRegion
    - ReleaseSRVs
    - amf::AMFSurface*::GetPlane
    - reinterpret_cast<ID3D11Texture2D *>
    - vlc_object_logger
    - FAILED
    - d3d11_device_lock
    - auto::GetNative
    linkageType: ''
    returnType: int
    signature: int D3D11_UpscalerScale(vlc_object_t *vd, d3d11_scaler *scaleProc,
      picture_sys_d3d11_t *p_sys)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - scaleProc
    - i_width
    - i_height
    argTypes:
    - d3d11_scaler*
    - unsigned*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 762
    functionName: D3D11_UpscalerGetSize
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void D3D11_UpscalerGetSize(const d3d11_scaler *scaleProc, unsigned
      *i_width, unsigned *i_height)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - scaleProc
    argTypes:
    - d3d11_scaler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 767
    functionName: D3D11_UpscalerUsed
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool D3D11_UpscalerUsed(const d3d11_scaler *scaleProc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - scaleProc
    - SRV
    argTypes:
    - d3d11_scaler*
    - ID3D11ShaderResourceView*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 773
    functionName: D3D11_UpscalerGetSRV
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_scaler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void D3D11_UpscalerGetSRV(const d3d11_scaler *scaleProc, ID3D11ShaderResourceView
      *SRV[DXGI_MAX_SHADER_VIEW])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: RECTWidth
    functionSourceFile: /src/vlc/modules/video_output/win32/window.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RECTWidth(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: RECTHeight
    functionSourceFile: /src/vlc/modules/video_output/win32/window.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RECTHeight(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetWindowLong
      Src: /src/vlc/modules/video_output/win32/window.c:103,1
    - Dst: AdjustWindowRect
      Src: /src/vlc/modules/video_output/win32/window.c:104,1
    - Dst: SetWindowPos
      Src: /src/vlc/modules/video_output/win32/window.c:105,1
    - Dst: RECTWidth
      Src: /src/vlc/modules/video_output/win32/window.c:106,1
    - Dst: RECTHeight
      Src: /src/vlc/modules/video_output/win32/window.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - wnd
    - width
    - height
    argTypes:
    - vlc_window_t*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 108
    functionName: Resize
    functionSourceFile: /src/vlc/modules/video_output/win32/window.c
    functionUses: 18
    functionsReached:
    - SetWindowPos
    - GetWindowLong
    - AdjustWindowRect
    - RECTHeight
    - RECTWidth
    linkageType: ''
    returnType: void
    signature: void Resize(vlc_window_t *wnd, unsigned width, unsigned height)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/win32/window.c:122,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/win32/window.c:123,1
    - Dst: SetWindowLong
      Src: /src/vlc/modules/video_output/win32/window.c:126,1
    - Dst: MoveWindow
      Src: /src/vlc/modules/video_output/win32/window.c:129,1
    - Dst: Resize
      Src: /src/vlc/modules/video_output/win32/window.c:131,1
    - Dst: ShowWindow
      Src: /src/vlc/modules/video_output/win32/window.c:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - wnd
    - cfg
    argTypes:
    - vlc_window_t*
    - vlc_window_cfg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 135
    functionName: Enable
    functionSourceFile: /src/vlc/modules/video_output/win32/window.c
    functionUses: 14
    functionsReached:
    - var_InheritBool
    - Resize
    - SetWindowLong
    - ShowWindow
    - MoveWindow
    linkageType: ''
    returnType: int
    signature: int Enable(vlc_window_t *wnd, const vlc_window_cfg_t *cfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShowWindow
      Src: /src/vlc/modules/video_output/win32/window.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - struct vlc_window*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: Disable
    functionSourceFile: /src/vlc/modules/video_output/win32/window.c
    functionUses: 12
    functionsReached:
    - ShowWindow
    linkageType: ''
    returnType: void
    signature: void Disable(struct vlc_window *wnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PostMessage
      Src: /src/vlc/modules/video_output/win32/window.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wnd
    - state
    argTypes:
    - vlc_window_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: SetState
    functionSourceFile: /src/vlc/modules/video_output/win32/window.c
    functionUses: 1
    functionsReached:
    - PostMessage
    linkageType: ''
    returnType: void
    signature: void SetState(vlc_window_t *wnd, unsigned state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/win32/window.c:152,1
    - Dst: ToWide
      Src: /src/vlc/modules/video_output/win32/window.c:153,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/window.c:155,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/window.c:157,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/window.c:160,1
    - Dst: atomic_exchange
      Src: /src/vlc/modules/video_output/win32/window.c:160,1
    - Dst: PostMessage
      Src: /src/vlc/modules/video_output/win32/window.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - wnd
    - title
    argTypes:
    - vlc_window_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 162
    functionName: SetTitle
    functionSourceFile: /src/vlc/modules/video_output/win32/window.c
    functionUses: 24
    functionsReached:
    - atomic_exchange
    - var_InheritString
    - free
    - ToWide
    - unlikely
    - PostMessage
    linkageType: ''
    returnType: void
    signature: void SetTitle(vlc_window_t *wnd, const char *title)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/win32/window.c:166,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/window.c:167,1
    - Dst: GetWindowPlacement
      Src: /src/vlc/modules/video_output/win32/window.c:171,1
    - Dst: GetWindowLong
      Src: /src/vlc/modules/video_output/win32/window.c:173,1
    - Dst: SetWindowLong
      Src: /src/vlc/modules/video_output/win32/window.c:176,1
    - Dst: MonitorFromWindow
      Src: /src/vlc/modules/video_output/win32/window.c:180,1
    - Dst: GetMonitorInfo
      Src: /src/vlc/modules/video_output/win32/window.c:183,1
    - Dst: SetWindowPos
      Src: /src/vlc/modules/video_output/win32/window.c:184,1
    - Dst: RECTWidth
      Src: /src/vlc/modules/video_output/win32/window.c:187,1
    - Dst: RECTHeight
      Src: /src/vlc/modules/video_output/win32/window.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - wnd
    - id
    argTypes:
    - vlc_window_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 190
    functionName: SetFullscreen
    functionSourceFile: /src/vlc/modules/video_output/win32/window.c
    functionUses: 9
    functionsReached:
    - RECTWidth
    - SetWindowPos
    - GetWindowPlacement
    - GetWindowLong
    - GetMonitorInfo
    - msg_Dbg
    - MonitorFromWindow
    - RECTHeight
    - SetWindowLong
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void SetFullscreen(vlc_window_t *wnd, const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/window.c:194,1
    - Dst: SetWindowLong
      Src: /src/vlc/modules/video_output/win32/window.c:200,1
    - Dst: SetWindowPlacement
      Src: /src/vlc/modules/video_output/win32/window.c:201,1
    - Dst: ShowWindow
      Src: /src/vlc/modules/video_output/win32/window.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 205
    functionName: UnsetFullscreen
    functionSourceFile: /src/vlc/modules/video_output/win32/window.c
    functionUses: 1
    functionsReached:
    - SetWindowLong
    - SetWindowPlacement
    - msg_Dbg
    - ShowWindow
    linkageType: ''
    returnType: void
    signature: void UnsetFullscreen(vlc_window_t *wnd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetWindowLong
      Src: /src/vlc/modules/video_output/win32/window.c:212,1
    - Dst: GetSystemMenu
      Src: /src/vlc/modules/video_output/win32/window.c:214,1
    - Dst: CheckMenuItem
      Src: /src/vlc/modules/video_output/win32/window.c:215,1
    - Dst: SetWindowPos
      Src: /src/vlc/modules/video_output/win32/window.c:216,1
    - Dst: GetWindowLong
      Src: /src/vlc/modules/video_output/win32/window.c:220,1
    - Dst: GetSystemMenu
      Src: /src/vlc/modules/video_output/win32/window.c:222,1
    - Dst: CheckMenuItem
      Src: /src/vlc/modules/video_output/win32/window.c:223,1
    - Dst: SetWindowPos
      Src: /src/vlc/modules/video_output/win32/window.c:224,1
    - Dst: SetWindowPos
      Src: /src/vlc/modules/video_output/win32/window.c:228,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - wnd
    - state
    argTypes:
    - vlc_window_t*
    - enum vlc_window_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 232
    functionName: SetAbove
    functionSourceFile: /src/vlc/modules/video_output/win32/window.c
    functionUses: 0
    functionsReached:
    - GetSystemMenu
    - SetWindowPos
    - GetWindowLong
    - CheckMenuItem
    linkageType: ''
    returnType: void
    signature: void SetAbove( vlc_window_t *wnd, enum vlc_window_state state )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetCapture
      Src: /src/vlc/modules/video_output/win32/window.c:238,1
    - Dst: vlc_window_ReportMousePressed
      Src: /src/vlc/modules/video_output/win32/window.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - wnd
    - hwnd
    - button
    argTypes:
    - vlc_window_t*
    - HWND
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: MousePressed
    functionSourceFile: /src/vlc/modules/video_output/win32/window.c
    functionUses: 13
    functionsReached:
    - vlc_window_ReportMousePressed
    - SetCapture
    linkageType: ''
    returnType: void
    signature: void MousePressed( vlc_window_t *wnd, HWND hwnd, unsigned button )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseCapture
      Src: /src/vlc/modules/video_output/win32/window.c:248,1
    - Dst: vlc_window_ReportMouseReleased
      Src: /src/vlc/modules/video_output/win32/window.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - wnd
    - button
    argTypes:
    - vlc_window_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 250
    functionName: MouseReleased
    functionSourceFile: /src/vlc/modules/video_output/win32/window.c
    functionUses: 9
    functionsReached:
    - vlc_window_ReportMouseReleased
    - ReleaseCapture
    linkageType: ''
    returnType: void
    signature: void MouseReleased( vlc_window_t *wnd, unsigned button )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/window.c:262,1
    - Dst: vlc_window_ReportICCProfile
      Src: /src/vlc/modules/video_output/win32/window.c:264,1
    - Dst: FromWide
      Src: /src/vlc/modules/video_output/win32/window.c:269,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_output/win32/window.c:273,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/window.c:275,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/window.c:279,1
    - Dst: vlc_frame_FilePath
      Src: /src/vlc/modules/video_output/win32/window.c:283,1
    - Dst: vlc_frame_cleanup_push
      Src: /src/vlc/modules/video_output/win32/window.c:286,1
    - Dst: malloc
      Src: /src/vlc/modules/video_output/win32/window.c:288,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/win32/window.c:293,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/window.c:298,1
    - Dst: vlc_cleanup_pop
      Src: /src/vlc/modules/video_output/win32/window.c:300,1
    - Dst: vlc_window_ReportICCProfile
      Src: /src/vlc/modules/video_output/win32/window.c:301,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - wnd
    - pathw
    argTypes:
    - vlc_window_t*
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 302
    functionName: UpdateICCProfile
    functionSourceFile: /src/vlc/modules/video_output/win32/window.c
    functionUses: 0
    functionsReached:
    - vlc_frame_FilePath
    - vlc_window_ReportICCProfile
    - memcpy
    - msg_Err
    - free
    - strcmp
    - vlc_frame_cleanup_push
    - FromWide
    - malloc
    - vlc_cleanup_pop
    linkageType: ''
    returnType: void
    signature: void UpdateICCProfile(vlc_window_t *wnd, const wchar_t *pathw)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetMonitorInfoW
      Src: /src/vlc/modules/video_output/win32/window.c:307,1
    - Dst: CreateICW
      Src: /src/vlc/modules/video_output/win32/window.c:310,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/win32/window.c:315,1
    - Dst: GetICMProfileW
      Src: /src/vlc/modules/video_output/win32/window.c:316,1
    - Dst: UpdateICCProfile
      Src: /src/vlc/modules/video_output/win32/window.c:317,1
    - Dst: GetLastError
      Src: /src/vlc/modules/video_output/win32/window.c:318,1
    - Dst: malloc
      Src: /src/vlc/modules/video_output/win32/window.c:319,1
    - Dst: GetICMProfileW
      Src: /src/vlc/modules/video_output/win32/window.c:320,1
    - Dst: UpdateICCProfile
      Src: /src/vlc/modules/video_output/win32/window.c:321,1
    - Dst: UpdateICCProfile
      Src: /src/vlc/modules/video_output/win32/window.c:323,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/window.c:324,1
    - Dst: UpdateICCProfile
      Src: /src/vlc/modules/video_output/win32/window.c:326,1
    - Dst: DeleteDC
      Src: /src/vlc/modules/video_output/win32/window.c:329,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - wnd
    - monitor
    argTypes:
    - vlc_window_t*
    - HMONITOR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 330
    functionName: MonitorChanged
    functionSourceFile: /src/vlc/modules/video_output/win32/window.c
    functionUses: 0
    functionsReached:
    - GetICMProfileW
    - GetMonitorInfoW
    - ARRAY_SIZE
    - DeleteDC
    - UpdateICCProfile
    - GetLastError
    - free
    - CreateICW
    - malloc
    linkageType: ''
    returnType: void
    signature: void MonitorChanged(vlc_window_t *wnd, HMONITOR monitor)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - i_key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 399
    functionName: Win32VoutConvertKey
    functionSourceFile: /src/vlc/modules/video_output/win32/window.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Win32VoutConvertKey( int i_key )
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: SetWindowLongPtr
      Src: /src/vlc/modules/video_output/win32/window.c:419,1
    - Dst: GetWindowLongPtr
      Src: /src/vlc/modules/video_output/win32/window.c:423,1
    - Dst: DefWindowProc
      Src: /src/vlc/modules/video_output/win32/window.c:425,1
    - Dst: vlc_wasync_resize_compressor_dropOrWait
      Src: /src/vlc/modules/video_output/win32/window.c:434,1
    - Dst: vlc_window_ReportClose
      Src: /src/vlc/modules/video_output/win32/window.c:435,1
    - Dst: PostQuitMessage
      Src: /src/vlc/modules/video_output/win32/window.c:439,1
    - Dst: vlc_wasync_resize_compressor_reportSize
      Src: /src/vlc/modules/video_output/win32/window.c:445,1
    - Dst: LOWORD
      Src: /src/vlc/modules/video_output/win32/window.c:445,1
    - Dst: HIWORD
      Src: /src/vlc/modules/video_output/win32/window.c:445,1
    - Dst: vlc_window_ReportMouseMoved
      Src: /src/vlc/modules/video_output/win32/window.c:449,1
    - Dst: LOWORD
      Src: /src/vlc/modules/video_output/win32/window.c:449,1
    - Dst: HIWORD
      Src: /src/vlc/modules/video_output/win32/window.c:449,1
    - Dst: MonitorFromWindow
      Src: /src/vlc/modules/video_output/win32/window.c:463,1
    - Dst: MonitorChanged
      Src: /src/vlc/modules/video_output/win32/window.c:466,1
    - Dst: vlc_window_ReportMouseReleased
      Src: /src/vlc/modules/video_output/win32/window.c:478,1
    - Dst: MousePressed
      Src: /src/vlc/modules/video_output/win32/window.c:486,1
    - Dst: MouseReleased
      Src: /src/vlc/modules/video_output/win32/window.c:489,1
    - Dst: vlc_window_ReportMouseDoubleClick
      Src: /src/vlc/modules/video_output/win32/window.c:492,1
    - Dst: MousePressed
      Src: /src/vlc/modules/video_output/win32/window.c:496,1
    - Dst: MouseReleased
      Src: /src/vlc/modules/video_output/win32/window.c:499,1
    - Dst: vlc_window_ReportMouseDoubleClick
      Src: /src/vlc/modules/video_output/win32/window.c:502,1
    - Dst: MousePressed
      Src: /src/vlc/modules/video_output/win32/window.c:506,1
    - Dst: MouseReleased
      Src: /src/vlc/modules/video_output/win32/window.c:509,1
    - Dst: vlc_window_ReportMouseDoubleClick
      Src: /src/vlc/modules/video_output/win32/window.c:512,1
    - Dst: Win32VoutConvertKey
      Src: /src/vlc/modules/video_output/win32/window.c:521,1
    - Dst: tolower
      Src: /src/vlc/modules/video_output/win32/window.c:525,1
    - Dst: MapVirtualKey
      Src: /src/vlc/modules/video_output/win32/window.c:525,1
    - Dst: GetKeyState
      Src: /src/vlc/modules/video_output/win32/window.c:530,1
    - Dst: GetKeyState
      Src: /src/vlc/modules/video_output/win32/window.c:534,1
    - Dst: GetKeyState
      Src: /src/vlc/modules/video_output/win32/window.c:538,1
    - Dst: vlc_window_ReportKeyPress
      Src: /src/vlc/modules/video_output/win32/window.c:543,1
    - Dst: GetSystemMenu
      Src: /src/vlc/modules/video_output/win32/window.c:553,1
    - Dst: GetMenuState
      Src: /src/vlc/modules/video_output/win32/window.c:554,1
    - Dst: SetAbove
      Src: /src/vlc/modules/video_output/win32/window.c:555,1
    - Dst: SetAbove
      Src: /src/vlc/modules/video_output/win32/window.c:564,1
    - Dst: atomic_exchange
      Src: /src/vlc/modules/video_output/win32/window.c:570,1
    - Dst: SetWindowTextW
      Src: /src/vlc/modules/video_output/win32/window.c:574,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/window.c:575,1
    - Dst: DefWindowProc
      Src: /src/vlc/modules/video_output/win32/window.c:581,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 112
    argCount: 4
    argNames:
    - hwnd
    - message
    - wParam
    - lParam
    argTypes:
    - HWND
    - UINT
    - WPARAM
    - LPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 582
    functionName: WinVoutEventProc
    functionSourceFile: /src/vlc/modules/video_output/win32/window.c
    functionUses: 0
    functionsReached:
    - MonitorChanged
    - vlc_wasync_resize_compressor_dropOrWait
    - tolower
    - vlc_window_ReportKeyPress
    - MouseReleased
    - MousePressed
    - vlc_window_ReportClose
    - vlc_wasync_resize_compressor_reportSize
    - MonitorFromWindow
    - vlc_window_ReportMouseMoved
    - GetKeyState
    - HIWORD
    - SetWindowTextW
    - GetSystemMenu
    - SetWindowLongPtr
    - DefWindowProc
    - MapVirtualKey
    - Win32VoutConvertKey
    - atomic_exchange
    - SetAbove
    - vlc_window_ReportMouseReleased
    - PostQuitMessage
    - GetWindowLongPtr
    - GetMenuState
    - free
    - LOWORD
    - vlc_window_ReportMouseDoubleClick
    linkageType: ''
    returnType: LRESULT
    signature: "LRESULT WinVoutEventProc( HWND hwnd, UINT message,\n                                          WPARAM
      wParam, LPARAM lParam )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PostMessage
      Src: /src/vlc/modules/video_output/win32/window.c:589,1
    - Dst: vlc_join
      Src: /src/vlc/modules/video_output/win32/window.c:590,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/window.c:591,1
    - Dst: atomic_load
      Src: /src/vlc/modules/video_output/win32/window.c:591,1
    - Dst: vlc_wasync_resize_compressor_destroy
      Src: /src/vlc/modules/video_output/win32/window.c:593,1
    - Dst: GetModuleHandle
      Src: /src/vlc/modules/video_output/win32/window.c:595,1
    - Dst: UnregisterClass
      Src: /src/vlc/modules/video_output/win32/window.c:596,1
    - Dst: DestroyCursor
      Src: /src/vlc/modules/video_output/win32/window.c:597,1
    - Dst: DestroyIcon
      Src: /src/vlc/modules/video_output/win32/window.c:599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 601
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/win32/window.c
    functionUses: 157
    functionsReached:
    - DestroyCursor
    - UnregisterClass
    - GetModuleHandle
    - atomic_load
    - free
    - vlc_join
    - vlc_wasync_resize_compressor_destroy
    - DestroyIcon
    - PostMessage
    linkageType: ''
    returnType: void
    signature: void Close(vlc_window_t *wnd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetClassNameA
      Src: /src/vlc/modules/video_output/win32/window.c:609,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/video_output/win32/window.c:611,1
    - Dst: FindWindowEx
      Src: /src/vlc/modules/video_output/win32/window.c:613,1
    - Dst: TEXT
      Src: /src/vlc/modules/video_output/win32/window.c:613,1
    - Dst: FindWindowEx
      Src: /src/vlc/modules/video_output/win32/window.c:614,1
    - Dst: TEXT
      Src: /src/vlc/modules/video_output/win32/window.c:614,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - hwnd
    - lParam
    argTypes:
    - HWND
    - LPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 603
    functionDepth: 2
    functionLinenumber: 603
    functionLinenumberEnd: 622
    functionName: enumWindowsProc
    functionSourceFile: /src/vlc/modules/video_output/win32/window.c
    functionUses: 0
    functionsReached:
    - GetClassNameA
    - FindWindowEx
    - TEXT
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int enumWindowsProc(HWND hwnd, LPARAM lParam)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FindWindow
      Src: /src/vlc/modules/video_output/win32/window.c:627,1
    - Dst: TEXT
      Src: /src/vlc/modules/video_output/win32/window.c:627,1
    - Dst: FindWindowEx
      Src: /src/vlc/modules/video_output/win32/window.c:628,1
    - Dst: TEXT
      Src: /src/vlc/modules/video_output/win32/window.c:628,1
    - Dst: FindWindowEx
      Src: /src/vlc/modules/video_output/win32/window.c:629,1
    - Dst: TEXT
      Src: /src/vlc/modules/video_output/win32/window.c:629,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/window.c:633,1
    - Dst: EnumWindows
      Src: /src/vlc/modules/video_output/win32/window.c:635,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 637
    functionName: GetDesktopHandle
    functionSourceFile: /src/vlc/modules/video_output/win32/window.c
    functionUses: 0
    functionsReached:
    - FindWindowEx
    - TEXT
    - msg_Dbg
    - FindWindow
    - EnumWindows
    linkageType: ''
    returnType: HWND
    signature: HWND GetDesktopHandle(vlc_object_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetClassLongPtr
      Src: /src/vlc/modules/video_output/win32/window.c:647,1
    - Dst: SetCursor
      Src: /src/vlc/modules/video_output/win32/window.c:650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - wnd
    - b_show
    argTypes:
    - vlc_window_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 651
    functionName: UpdateCursor
    functionSourceFile: /src/vlc/modules/video_output/win32/window.c
    functionUses: 0
    functionsReached:
    - SetCursor
    - SetClassLongPtr
    linkageType: ''
    returnType: void
    signature: void UpdateCursor( vlc_window_t *wnd, bool b_show )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/win32/window.c:655,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/win32/window.c:655,1
    - Dst: UpdateCursor
      Src: /src/vlc/modules/video_output/win32/window.c:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - hwnd
    - uMsg
    - idEvent
    - dwTime
    argTypes:
    - HWND
    - UINT
    - UINT_PTR
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 661
    functionName: HideMouse
    functionSourceFile: /src/vlc/modules/video_output/win32/window.c
    functionUses: 0
    functionsReached:
    - UpdateCursor
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void HideMouse(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UpdateCursor
      Src: /src/vlc/modules/video_output/win32/window.c:666,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/video_output/win32/window.c:667,1
    - Dst: SetTimer
      Src: /src/vlc/modules/video_output/win32/window.c:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 669
    functionName: UpdateCursorMoved
    functionSourceFile: /src/vlc/modules/video_output/win32/window.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - SetTimer
    - UpdateCursor
    linkageType: ''
    returnType: void
    signature: void UpdateCursorMoved( vlc_window_t *wnd )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/video_output/win32/window.c:673,1
    - Dst: GetSystemMetrics
      Src: /src/vlc/modules/video_output/win32/window.c:674,1
    - Dst: malloc
      Src: /src/vlc/modules/video_output/win32/window.c:677,1
    - Dst: malloc
      Src: /src/vlc/modules/video_output/win32/window.c:678,1
    - Dst: memset
      Src: /src/vlc/modules/video_output/win32/window.c:681,1
    - Dst: memset
      Src: /src/vlc/modules/video_output/win32/window.c:682,1
    - Dst: CreateCursor
      Src: /src/vlc/modules/video_output/win32/window.c:683,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/window.c:685,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/window.c:686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - instance
    argTypes:
    - HINSTANCE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 689
    functionName: EmptyCursor
    functionSourceFile: /src/vlc/modules/video_output/win32/window.c
    functionUses: 0
    functionsReached:
    - GetSystemMetrics
    - memset
    - CreateCursor
    - free
    - malloc
    linkageType: ''
    returnType: HCURSOR
    signature: HCURSOR EmptyCursor( HINSTANCE instance )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - WPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 695
    functionName: isMouseEvent
    functionSourceFile: /src/vlc/modules/video_output/win32/window.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isMouseEvent( WPARAM type )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/video_output/win32/window.c:699,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/video_output/win32/window.c:704,1
    - Dst: GetModuleHandle
      Src: /src/vlc/modules/video_output/win32/window.c:706,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/win32/window.c:710,1
    - Dst: GetDesktopHandle
      Src: /src/vlc/modules/video_output/win32/window.c:712,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/win32/window.c:722,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/win32/window.c:723,1
    - Dst: CreateWindowEx
      Src: /src/vlc/modules/video_output/win32/window.c:729,1
    - Dst: TEXT
      Src: /src/vlc/modules/video_output/win32/window.c:731,1
    - Dst: TEXT
      Src: /src/vlc/modules/video_output/win32/window.c:731,1
    - Dst: vlc_sem_post
      Src: /src/vlc/modules/video_output/win32/window.c:742,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/video_output/win32/window.c:746,1
    - Dst: MonitorFromWindow
      Src: /src/vlc/modules/video_output/win32/window.c:751,1
    - Dst: MonitorChanged
      Src: /src/vlc/modules/video_output/win32/window.c:752,1
    - Dst: GetSystemMenu
      Src: /src/vlc/modules/video_output/win32/window.c:755,1
    - Dst: AppendMenu
      Src: /src/vlc/modules/video_output/win32/window.c:756,1
    - Dst: TEXT
      Src: /src/vlc/modules/video_output/win32/window.c:756,1
    - Dst: AppendMenu
      Src: /src/vlc/modules/video_output/win32/window.c:757,1
    - Dst: TEXT
      Src: /src/vlc/modules/video_output/win32/window.c:758,1
    - Dst: GetMessage
      Src: /src/vlc/modules/video_output/win32/window.c:764,1
    - Dst: GetCursorPos
      Src: /src/vlc/modules/video_output/win32/window.c:772,1
    - Dst: abs
      Src: /src/vlc/modules/video_output/win32/window.c:774,1
    - Dst: abs
      Src: /src/vlc/modules/video_output/win32/window.c:775,1
    - Dst: UpdateCursorMoved
      Src: /src/vlc/modules/video_output/win32/window.c:778,1
    - Dst: isMouseEvent
      Src: /src/vlc/modules/video_output/win32/window.c:781,1
    - Dst: UpdateCursorMoved
      Src: /src/vlc/modules/video_output/win32/window.c:783,1
    - Dst: TranslateMessage
      Src: /src/vlc/modules/video_output/win32/window.c:786,1
    - Dst: DispatchMessage
      Src: /src/vlc/modules/video_output/win32/window.c:787,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/video_output/win32/window.c:789,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 697
    functionDepth: 2
    functionLinenumber: 697
    functionLinenumberEnd: 791
    functionName: EventThread
    functionSourceFile: /src/vlc/modules/video_output/win32/window.c
    functionUses: 0
    functionsReached:
    - MonitorChanged
    - MonitorFromWindow
    - vlc_restorecancel
    - TEXT
    - UpdateCursorMoved
    - CreateWindowEx
    - isMouseEvent
    - GetSystemMenu
    - vlc_savecancel
    - vlc_thread_set_name
    - DispatchMessage
    - var_InheritBool
    - AppendMenu
    - GetCursorPos
    - GetMessage
    - GetDesktopHandle
    - GetModuleHandle
    - vlc_sem_post
    - abs
    - TranslateMessage
    linkageType: ''
    returnType: void
    signature: void *EventThread( void *p_this )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/video_output/win32/window.c:806,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/win32/window.c:806,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/window.c:807,1
    - Dst: _snwprintf
      Src: /src/vlc/modules/video_output/win32/window.c:810,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/win32/window.c:810,1
    - Dst: TEXT
      Src: /src/vlc/modules/video_output/win32/window.c:811,1
    - Dst: GetModuleHandle
      Src: /src/vlc/modules/video_output/win32/window.c:813,1
    - Dst: GetModuleFileNameW
      Src: /src/vlc/modules/video_output/win32/window.c:816,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/win32/window.c:816,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/win32/window.c:817,1
    - Dst: ExtractIconW
      Src: /src/vlc/modules/video_output/win32/window.c:818,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/win32/window.c:824,1
    - Dst: LoadCursor
      Src: /src/vlc/modules/video_output/win32/window.c:825,1
    - Dst: EmptyCursor
      Src: /src/vlc/modules/video_output/win32/window.c:826,1
    - Dst: RegisterClass
      Src: /src/vlc/modules/video_output/win32/window.c:838,1
    - Dst: DestroyIcon
      Src: /src/vlc/modules/video_output/win32/window.c:841,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/window.c:843,1
    - Dst: GetLastError
      Src: /src/vlc/modules/video_output/win32/window.c:843,1
    - Dst: vlc_sem_init
      Src: /src/vlc/modules/video_output/win32/window.c:846,1
    - Dst: vlc_wasync_resize_compressor_init
      Src: /src/vlc/modules/video_output/win32/window.c:849,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/window.c:851,1
    - Dst: Close
      Src: /src/vlc/modules/video_output/win32/window.c:852,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/video_output/win32/window.c:856,1
    - Dst: Close
      Src: /src/vlc/modules/video_output/win32/window.c:858,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/modules/video_output/win32/window.c:862,1
    - Dst: Close
      Src: /src/vlc/modules/video_output/win32/window.c:866,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 804
    functionDepth: 2
    functionLinenumber: 804
    functionLinenumberEnd: 875
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/win32/window.c
    functionUses: 61
    functionsReached:
    - vlc_sem_init
    - vlc_sem_wait
    - GetLastError
    - _snwprintf
    - vlc_obj_calloc
    - RegisterClass
    - TEXT
    - ARRAY_SIZE
    - msg_Err
    - vlc_wasync_resize_compressor_init
    - DestroyIcon
    - EmptyCursor
    - ExtractIconW
    - LoadCursor
    - var_InheritInteger
    - Close
    - GetModuleHandle
    - vlc_clone
    - VLC_OBJECT
    - GetModuleFileNameW
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Open(vlc_window_t *wnd)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - o
    - fmt
    argTypes:
    - vlc_object_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 59
    functionName: (D3D_GetFormatLuminance)(vlc_object_t *o, const video_format_t *fmt)
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_shaders.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: float
    signature: float (D3D_GetFormatLuminance)(vlc_object_t *o, const video_format_t
      *fmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:117,1
    - Dst: fabs
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - src_white
    - dst_white
    - in_out
    argTypes:
    - struct xy_primary*
    - struct xy_primary*
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: ChromaticAdaptation
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_shaders.c
    functionUses: 0
    functionsReached:
    - fabs
    linkageType: ''
    returnType: void
    signature: "void ChromaticAdaptation(const struct xy_primary *src_white,\n                                const
      struct xy_primary *dst_white,\n                                double in_out[3
      * 3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - in_out
    argTypes:
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 150
    functionName: Float3x3Inverse
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_shaders.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Float3x3Inverse(double in_out[3 * 3])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - m1
    - m2
    argTypes:
    - double[]
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 163
    functionName: Float3x3Multiply
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_shaders.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Float3x3Multiply(double m1[3 * 3], const double m2[3 * 3])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - in
    - mult
    - out
    argTypes:
    - double[]
    - double[]
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 173
    functionName: Float3Multiply
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_shaders.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Float3Multiply(const double in[3], const double mult[3 * 3], double
      out[3])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Float3x3Inverse
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:207,1
    - Dst: Float3Multiply
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 2
    argNames:
    - primaries
    - out
    argTypes:
    - struct cie1931_primaries*
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 227
    functionName: GetRGB2XYZMatrix
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_shaders.c
    functionUses: 0
    functionsReached:
    - Float3Multiply
    - Float3x3Inverse
    linkageType: ''
    returnType: void
    signature: "void GetRGB2XYZMatrix(const struct cie1931_primaries *primaries,\n
      \                            double out[3 * 3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetRGB2XYZMatrix
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:233,1
    - Dst: Float3x3Inverse
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - primaries
    - out
    argTypes:
    - struct cie1931_primaries*
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 235
    functionName: GetXYZ2RGBMatrix
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_shaders.c
    functionUses: 0
    functionsReached:
    - Float3x3Inverse
    - GetRGB2XYZMatrix
    linkageType: ''
    returnType: void
    signature: "void GetXYZ2RGBMatrix(const struct cie1931_primaries *primaries,\n
      \                            double out[3 * 3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetRGB2XYZMatrix
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:245,1
    - Dst: ChromaticAdaptation
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:248,1
    - Dst: GetXYZ2RGBMatrix
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:251,1
    - Dst: Float3x3Multiply
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - Primaries
    - src
    - dst
    argTypes:
    - FLOAT[]
    - video_color_primaries_t
    - video_color_primaries_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 262
    functionName: GetPrimariesTransform
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_shaders.c
    functionUses: 0
    functionsReached:
    - ChromaticAdaptation
    - GetXYZ2RGBMatrix
    - Float3x3Multiply
    - GetRGB2XYZMatrix
    linkageType: ''
    returnType: void
    signature: "void GetPrimariesTransform(FLOAT Primaries[4*3], video_color_primaries_t
      src,\n                                  video_color_primaries_t dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - quad
    - opacity
    argTypes:
    - d3d_quad_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: D3D_UpdateQuadOpacity
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_shaders.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool D3D_UpdateQuadOpacity(d3d_quad_t *quad, float opacity)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - quad
    - luminanceScale
    argTypes:
    - d3d_quad_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: D3D_UpdateQuadLuminanceScale
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_shaders.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool D3D_UpdateQuadLuminanceScale(d3d_quad_t *quad, float luminanceScale)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 3
    argNames:
    - dst
    - left
    - right
    argTypes:
    - FLOAT[]
    - FLOAT[]
    - FLOAT[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 319
    functionName: MultMat43
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_shaders.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MultMat43(FLOAT dst[4*3], const FLOAT left[4*3], const FLOAT right[4*3])
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: D3D_GetFormatLuminance
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:324,1
    - Dst: DxgiIsRGBFormat
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:418,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:443,1
    - Dst: COLOR_MATRIX_YUV2RGB
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:457,1
    - Dst: COLOR_MATRIX_YUV2RGB
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:458,1
    - Dst: COLOR_MATRIX_YUV2RGB
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:459,1
    - Dst: COLOR_MATRIX_YUV2RGB
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:460,1
    - Dst: COLOR_MATRIX_YUV2RGB
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:461,1
    - Dst: COLOR_MATRIX_YUV2RGB
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:462,1
    - Dst: COLOR_MATRIX_YUV2RGB
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:463,1
    - Dst: COLOR_MATRIX_YUV2RGB
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:464,1
    - Dst: COLOR_MATRIX_YUV2RGB
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:465,1
    - Dst: COLOR_MATRIX_YUV2RGB
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:466,1
    - Dst: COLOR_MATRIX_YUV2RGB
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:467,1
    - Dst: COLOR_MATRIX_YUV2RGB
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:468,1
    - Dst: COLOR_MATRIX_YUV2RGB
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:469,1
    - Dst: COLOR_MATRIX_YUV2RGB
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:470,1
    - Dst: COLOR_MATRIX_YUV2RGB
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:471,1
    - Dst: COLOR_MATRIX_YUV2RGB
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:472,1
    - Dst: COLOR_MATRIX_YUV2RGB
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:473,1
    - Dst: COLOR_MATRIX_YUV2RGB
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:474,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:483,1
    - Dst: DxgiIsRGBFormat
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:486,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:565,1
    - Dst: MultMat43
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:581,1
    - Dst: GetPrimariesTransform
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:586,1
    - Dst: MultMat43
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:587,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 126
    argCount: 4
    argNames:
    - o
    - fmt
    - quad
    - displayFormat
    argTypes:
    - vlc_object_t*
    - video_format_t*
    - d3d_quad_t*
    - display_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 321
    functionDepth: 4
    functionLinenumber: 321
    functionLinenumberEnd: 589
    functionName: D3D_SetupQuad
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_shaders.c
    functionUses: 0
    functionsReached:
    - GetPrimariesTransform
    - DxgiIsRGBFormat
    - COLOR_MATRIX_YUV2RGB
    - memcpy
    - msg_Warn
    - D3D_GetFormatLuminance
    - MultMat43
    linkageType: ''
    returnType: void
    signature: "void D3D_SetupQuad(vlc_object_t *o, const video_format_t *fmt, d3d_quad_t
      *quad,\n                   const display_info_t *displayFormat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - src
    - ','
    - bits
    - ','
    - yuv_range
    - ','
    - rgb_range
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 417
    functionName: COLOR_MATRIX_YUV2RGB
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_shaders.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COLOR_MATRIX_YUV2RGB(src, bits, yuv_range, rgb_range)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 51
    argCount: 2
    argNames:
    - orientation
    - vertex_order
    argTypes:
    - video_transform_t
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 659
    functionName: orientationVertexOrder
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_shaders.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void orientationVertexOrder(video_transform_t orientation, int vertex_order[static
      4])
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: orientationVertexOrder
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:754,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 100
    argCount: 5
    argNames:
    - dst_data
    - output
    - quad
    - triangle_pos
    - orientation
    argTypes:
    - d3d_vertex_t*
    - RECT*
    - d3d_quad_t*
    - WORD*
    - video_transform_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 803
    functionName: SetupQuadFlat
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_shaders.c
    functionUses: 0
    functionsReached:
    - orientationVertexOrder
    linkageType: ''
    returnType: void
    signature: "void SetupQuadFlat(d3d_vertex_t *dst_data, const RECT *output,\n                          const
      d3d_quad_t *quad,\n                          WORD *triangle_pos, video_transform_t
      orientation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RECTWidth
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:808,1
    - Dst: RECTHeight
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:809,1
    - Dst: sincosf
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:814,1
    - Dst: sincosf
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:820,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - dst_data
    - output
    - quad
    - triangle_pos
    argTypes:
    - d3d_vertex_t*
    - RECT*
    - d3d_quad_t*
    - WORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 852
    functionName: SetupQuadSphere
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_shaders.c
    functionUses: 0
    functionsReached:
    - RECTHeight
    - sincosf
    - RECTWidth
    linkageType: ''
    returnType: void
    signature: "void SetupQuadSphere(d3d_vertex_t *dst_data, const RECT *output,\n
      \                           const d3d_quad_t *quad, WORD *triangle_pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CUBEFACE
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:869,1
    - Dst: CUBEFACE
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:870,1
    - Dst: CUBEFACE
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:871,1
    - Dst: CUBEFACE
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:872,1
    - Dst: CUBEFACE
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:873,1
    - Dst: CUBEFACE
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:874,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:920,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:941,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - dst_data
    - output
    - quad
    - triangle_pos
    argTypes:
    - d3d_vertex_t*
    - RECT*
    - d3d_quad_t*
    - WORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 942
    functionName: SetupQuadCube
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_shaders.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ARRAY_SIZE
    - CUBEFACE
    linkageType: ''
    returnType: void
    signature: "void SetupQuadCube(d3d_vertex_t *dst_data, const RECT *output,\n                          const
      d3d_quad_t *quad, WORD *triangle_pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - swap
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 863
    functionName: CUBEFACE
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_shaders.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CUBEFACE(swap, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - v
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 865
    functionName: X_FACE
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_shaders.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X_FACE(v, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - v
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 866
    functionName: Y_FACE
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_shaders.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Y_FACE(v, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - v
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 867
    functionName: Z_FACE
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_shaders.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Z_FACE(v, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - zoom
    - matrix
    argTypes:
    - float
    - FLOAT[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 955
    functionName: getZoomMatrix
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_shaders.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void getZoomMatrix(float zoom, FLOAT matrix[static 16])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tanf
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:963,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sar
    - fovy
    - matrix
    argTypes:
    - float
    - float
    - FLOAT[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 972
    functionName: getProjectionMatrix
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_shaders.c
    functionUses: 0
    functionsReached:
    - memcpy
    - tanf
    linkageType: ''
    returnType: void
    signature: void getProjectionMatrix(float sar, float fovy, FLOAT matrix[static
      16])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atanf
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:976,1
    - Dst: tanf
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - f_fovx
    - f_sar
    argTypes:
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 977
    functionName: UpdateFOVy
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_shaders.c
    functionUses: 0
    functionsReached:
    - tanf
    - atanf
    linkageType: ''
    returnType: float
    signature: float UpdateFOVy(float f_fovx, float f_sar)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tanf
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:984,1
    - Dst: tanf
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:985,1
    - Dst: sinf
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:986,1
    - Dst: atanf
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:986,1
    - Dst: sqrtf
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:986,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - f_fovx
    - f_fovy
    argTypes:
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 1003
    functionName: UpdateZ
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_shaders.c
    functionUses: 0
    functionsReached:
    - sqrtf
    - tanf
    - atanf
    - sinf
    linkageType: ''
    returnType: float
    signature: float UpdateZ(float f_fovx, float f_fovy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UpdateFOVy
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:1013,1
    - Dst: UpdateZ
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:1014,1
    - Dst: getZoomMatrix
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:1016,1
    - Dst: getProjectionMatrix
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:1017,1
    - Dst: vlc_viewpoint_to_4x4
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:1018,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - quad
    - viewpoint
    - f_sar
    argTypes:
    - d3d_quad_t*
    - vlc_viewpoint_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1005
    functionDepth: 1
    functionLinenumber: 1005
    functionLinenumberEnd: 1019
    functionName: D3D_UpdateViewpoint
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_shaders.c
    functionUses: 0
    functionsReached:
    - getProjectionMatrix
    - getZoomMatrix
    - UpdateZ
    - vlc_viewpoint_to_4x4
    - UpdateFOVy
    linkageType: ''
    returnType: void
    signature: void D3D_UpdateViewpoint(d3d_quad_t *quad, const vlc_viewpoint_t *viewpoint,
      float f_sar)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:1038,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - o
    - quad
    - projection
    argTypes:
    - vlc_object_t*
    - d3d_quad_t*
    - video_projection_mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1046
    functionName: D3D_QuadSetupBuffers
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_shaders.c
    functionUses: 0
    functionsReached:
    - msg_Warn
    linkageType: ''
    returnType: bool
    signature: bool D3D_QuadSetupBuffers(vlc_object_t *o, d3d_quad_t *quad, video_projection_mode_t
      projection)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SetupQuadFlat
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:1054,1
    - Dst: SetupQuadSphere
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:1057,1
    - Dst: SetupQuadCube
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:1060,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.c:1063,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 6
    argNames:
    - o
    - quad
    - output
    - dst_data
    - pData
    - orientation
    argTypes:
    - vlc_object_t*
    - d3d_quad_t*
    - RECT*
    - d3d_vertex_t*
    - void*
    - video_transform_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1048
    functionDepth: 2
    functionLinenumber: 1048
    functionLinenumberEnd: 1067
    functionName: D3D_SetupQuadData
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_shaders.c
    functionUses: 0
    functionsReached:
    - SetupQuadFlat
    - SetupQuadCube
    - SetupQuadSphere
    - msg_Warn
    linkageType: ''
    returnType: bool
    signature: "bool D3D_SetupQuadData(vlc_object_t *o, d3d_quad_t *quad, const RECT
      *output, d3d_vertex_t*dst_data,\n                       void *pData, video_transform_t
      orientation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d3d_shader_blob*::pf_release
      Src: /src/vlc/modules/video_output/win32/d3d_shaders.h:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - blob
    argTypes:
    - d3d_shader_blob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 112
    functionName: D3D_ShaderBlobRelease
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_shaders.h
    functionUses: 0
    functionsReached:
    - d3d_shader_blob*::pf_release
    linkageType: ''
    returnType: void
    signature: void D3D_ShaderBlobRelease(d3d_shader_blob *blob)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: D3D_GetFormatLuminance
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_shaders.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D3D_GetFormatLuminance(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - o
    - ' init_viewpoint'
    argTypes:
    - vout_display_owner_t*
    - vlc_viewpoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: SensorReceiver::SensorReceiver
    functionSourceFile: /src/vlc/modules/video_output/win32/sensors.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SensorReceiver(const vout_display_owner_t *o, const vlc_viewpoint_t
      & init_viewpoint)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: ~SensorReceiver()
    functionSourceFile: /src/vlc/modules/video_output/win32/sensors.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SensorReceiver()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: __uuidof
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:58,1
    - Dst: static_cast<IUnknown*>
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:60,1
    - Dst: __uuidof
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:62,1
    - Dst: static_cast<ISensorEvents*>
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:64,1
    - Dst: SensorReceiver::AddRef
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - iid
    - ppv
    argTypes:
    - REFIID
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 73
    functionName: SensorReceiver::QueryInterface
    functionSourceFile: /src/vlc/modules/video_output/win32/sensors.cpp
    functionUses: 0
    functionsReached:
    - static_cast<IUnknown*>
    - static_cast<ISensorEvents*>
    - __uuidof
    - SensorReceiver::AddRef
    linkageType: ''
    returnType: STDMETHODIMP
    signature: STDMETHODIMP QueryInterface(REFIID iid, void** ppv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedIncrement
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: SensorReceiver::AddRef
    functionSourceFile: /src/vlc/modules/video_output/win32/sensors.cpp
    functionUses: 1
    functionsReached:
    - InterlockedIncrement
    linkageType: ''
    returnType: STDMETHODIMP_
    signature: STDMETHODIMP_ AddRef()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedDecrement
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: SensorReceiver::Release
    functionSourceFile: /src/vlc/modules/video_output/win32/sensors.cpp
    functionUses: 0
    functionsReached:
    - InterlockedDecrement
    linkageType: ''
    returnType: STDMETHODIMP_
    signature: STDMETHODIMP_ Release()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pSensor
    - state
    argTypes:
    - ISensor*
    - SensorState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: SensorReceiver::OnStateChanged
    functionSourceFile: /src/vlc/modules/video_output/win32/sensors.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OnStateChanged(ISensor *pSensor, SensorState state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PropVariantInit
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:105,1
    - Dst: ISensorDataReport*::GetSensorValue
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:106,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:107,1
    - Dst: PropVariantClear
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:110,1
    - Dst: ISensorDataReport*::GetSensorValue
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:112,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:113,1
    - Dst: PropVariantClear
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:116,1
    - Dst: ISensorDataReport*::GetSensorValue
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:118,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:119,1
    - Dst: PropVariantClear
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:122,1
    - Dst: vlc_viewpoint_from_euler
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:129,1
    - Dst: viewpoint_moved
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:135,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pSensor
    - pNewData
    argTypes:
    - ISensor*
    - ISensorDataReport*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 138
    functionName: SensorReceiver::OnDataUpdated
    functionSourceFile: /src/vlc/modules/video_output/win32/sensors.cpp
    functionUses: 0
    functionsReached:
    - PropVariantInit
    - ISensorDataReport*::GetSensorValue
    - vlc_viewpoint_from_euler
    - PropVariantClear
    - viewpoint_moved
    - SUCCEEDED
    linkageType: ''
    returnType: void
    signature: void OnDataUpdated(ISensor *pSensor, ISensorDataReport *pNewData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pSensor
    - eventID
    - pEventData
    argTypes:
    - ISensor*
    - REFGUID
    - IPortableDeviceValues*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: SensorReceiver::OnEvent
    functionSourceFile: /src/vlc/modules/video_output/win32/sensors.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OnEvent(ISensor *pSensor, REFGUID eventID, IPortableDeviceValues
      *pEventData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ID
    argTypes:
    - REFSENSOR_ID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: SensorReceiver::OnLeave
    functionSourceFile: /src/vlc/modules/video_output/win32/sensors.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OnLeave(REFSENSOR_ID ID)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CoCreateInstance
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:163,1
    - Dst: __uuidof
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:163,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:165,1
    - Dst: ComPtr::GetAddressOf
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:165,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:166,1
    - Dst: ComPtr::GetSensorsByType
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:170,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:171,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:173,1
    - Dst: ComPtr::GetCount
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:178,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:179,1
    - Dst: ComPtr::GetAt
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:183,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:184,1
    - Dst: ComPtr::GetState
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:188,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:189,1
    - Dst: ComPtr::RequestPermissions
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:193,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:193,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:195,1
    - Dst: vlc_viewpoint_init
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:199,1
    - Dst: PropVariantInit
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:201,1
    - Dst: ComPtr::GetProperty
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:202,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:203,1
    - Dst: PropVariantClear
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:206,1
    - Dst: ComPtr::GetProperty
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:208,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:209,1
    - Dst: PropVariantClear
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:212,1
    - Dst: ComPtr::GetProperty
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:214,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:215,1
    - Dst: PropVariantClear
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:218,1
    - Dst: SensorReceiver::SensorReceiver
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:221,1
    - Dst: ComPtr::SetEventSink
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:224,1
    - Dst: ComPtr::Detach
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:225,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 3
    argNames:
    - vd
    - move
    - hwnd
    argTypes:
    - vlc_logger*
    - vout_display_owner_t*
    - HWND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 229
    functionName: HookWindowsSensors
    functionSourceFile: /src/vlc/modules/video_output/win32/sensors.cpp
    functionUses: 0
    functionsReached:
    - SensorReceiver::SensorReceiver
    - IID_PPV_ARGS
    - ComPtr::Get
    - ComPtr::SetEventSink
    - __uuidof
    - SUCCEEDED
    - ComPtr::GetSensorsByType
    - ComPtr::GetState
    - PropVariantClear
    - CoCreateInstance
    - ComPtr::GetCount
    - PropVariantInit
    - vlc_viewpoint_init
    - ComPtr::Detach
    - ComPtr::GetAt
    - ComPtr::GetProperty
    - ComPtr::RequestPermissions
    - FAILED
    - ComPtr::GetAddressOf
    - vlc_debug
    linkageType: ''
    returnType: void
    signature: void *HookWindowsSensors(vlc_logger *vd, const vout_display_owner_t
      *move, HWND hwnd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ISensor*>
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:236,1
    - Dst: ISensor*::SetEventSink
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:237,1
    - Dst: ISensor*::Release
      Src: /src/vlc/modules/video_output/win32/sensors.cpp:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vSensor
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 239
    functionName: UnhookWindowsSensors
    functionSourceFile: /src/vlc/modules/video_output/win32/sensors.cpp
    functionUses: 0
    functionsReached:
    - ISensor*::Release
    - static_cast<ISensor*>
    - ISensor*::SetEventSink
    linkageType: ''
    returnType: void
    signature: void UnhookWindowsSensors(void *vSensor)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetDC
      Src: /src/vlc/modules/video_output/win32/wgl.c:91,1
    - Dst: SetPixelFormat
      Src: /src/vlc/modules/video_output/win32/wgl.c:92,1
    - Dst: ChoosePixelFormat
      Src: /src/vlc/modules/video_output/win32/wgl.c:92,1
    - Dst: wglCreateContext
      Src: /src/vlc/modules/video_output/win32/wgl.c:93,1
    - Dst: wglMakeCurrent
      Src: /src/vlc/modules/video_output/win32/wgl.c:94,1
    - Dst: wglGetProcAddress
      Src: /src/vlc/modules/video_output/win32/wgl.c:97,1
    - Dst: wglGetProcAddress
      Src: /src/vlc/modules/video_output/win32/wgl.c:98,1
    - Dst: wglMakeCurrent
      Src: /src/vlc/modules/video_output/win32/wgl.c:101,1
    - Dst: wglDeleteContext
      Src: /src/vlc/modules/video_output/win32/wgl.c:102,1
    - Dst: fncEnumGpusNV
      Src: /src/vlc/modules/video_output/win32/wgl.c:112,1
    - Dst: fncCreateAffinityDCNV
      Src: /src/vlc/modules/video_output/win32/wgl.c:116,1
    - Dst: SetPixelFormat
      Src: /src/vlc/modules/video_output/win32/wgl.c:118,1
    - Dst: ChoosePixelFormat
      Src: /src/vlc/modules/video_output/win32/wgl.c:119,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/wgl.c:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - gl
    - nVidiaAffinity
    argTypes:
    - vlc_gl_t*
    - UINT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 122
    functionName: CreateGPUAffinityDC
    functionSourceFile: /src/vlc/modules/video_output/win32/wgl.c
    functionUses: 0
    functionsReached:
    - wglCreateContext
    - fncEnumGpusNV
    - wglMakeCurrent
    - SetPixelFormat
    - fncCreateAffinityDCNV
    - msg_Dbg
    - ChoosePixelFormat
    - GetDC
    - wglDeleteContext
    - wglGetProcAddress
    linkageType: ''
    returnType: void
    signature: void CreateGPUAffinityDC(vlc_gl_t *gl, UINT nVidiaAffinity)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetDC
      Src: /src/vlc/modules/video_output/win32/wgl.c:133,1
    - Dst: SetPixelFormat
      Src: /src/vlc/modules/video_output/win32/wgl.c:134,1
    - Dst: ChoosePixelFormat
      Src: /src/vlc/modules/video_output/win32/wgl.c:134,1
    - Dst: wglCreateContext
      Src: /src/vlc/modules/video_output/win32/wgl.c:135,1
    - Dst: wglMakeCurrent
      Src: /src/vlc/modules/video_output/win32/wgl.c:136,1
    - Dst: wglGetProcAddress
      Src: /src/vlc/modules/video_output/win32/wgl.c:139,1
    - Dst: wglMakeCurrent
      Src: /src/vlc/modules/video_output/win32/wgl.c:142,1
    - Dst: wglDeleteContext
      Src: /src/vlc/modules/video_output/win32/wgl.c:143,1
    - Dst: fncDeleteDCNV
      Src: /src/vlc/modules/video_output/win32/wgl.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 150
    functionName: DestroyGPUAffinityDC
    functionSourceFile: /src/vlc/modules/video_output/win32/wgl.c
    functionUses: 0
    functionsReached:
    - wglCreateContext
    - wglMakeCurrent
    - SetPixelFormat
    - ChoosePixelFormat
    - fncDeleteDCNV
    - GetDC
    - wglDeleteContext
    - wglGetProcAddress
    linkageType: ''
    returnType: void
    signature: void DestroyGPUAffinityDC(vlc_gl_t *gl)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/wgl.c:159,1
    - Dst: calloc
      Src: /src/vlc/modules/video_output/win32/wgl.c:164,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/win32/wgl.c:169,1
    - Dst: CreateGPUAffinityDC
      Src: /src/vlc/modules/video_output/win32/wgl.c:170,1
    - Dst: GetDC
      Src: /src/vlc/modules/video_output/win32/wgl.c:177,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/wgl.c:180,1
    - Dst: GetModuleHandleA
      Src: /src/vlc/modules/video_output/win32/wgl.c:183,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/wgl.c:184,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/wgl.c:186,1
    - Dst: SetPixelFormat
      Src: /src/vlc/modules/video_output/win32/wgl.c:192,1
    - Dst: ChoosePixelFormat
      Src: /src/vlc/modules/video_output/win32/wgl.c:192,1
    - Dst: wglCreateContext
      Src: /src/vlc/modules/video_output/win32/wgl.c:195,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/wgl.c:198,1
    - Dst: wglMakeCurrent
      Src: /src/vlc/modules/video_output/win32/wgl.c:202,1
    - Dst: wglGetProcAddress
      Src: /src/vlc/modules/video_output/win32/wgl.c:217,1
    - Dst: wglChoosePixelFormatARB__
      Src: /src/vlc/modules/video_output/win32/wgl.c:219,1
    - Dst: glGetString
      Src: /src/vlc/modules/video_output/win32/wgl.c:223,1
    - Dst: vlc_gl_StrHasToken
      Src: /src/vlc/modules/video_output/win32/wgl.c:224,1
    - Dst: wglGetProcAddress
      Src: /src/vlc/modules/video_output/win32/wgl.c:225,1
    - Dst: SwapIntervalEXT
      Src: /src/vlc/modules/video_output/win32/wgl.c:227,1
    - Dst: wglMakeCurrent
      Src: /src/vlc/modules/video_output/win32/wgl.c:231,1
    - Dst: Close
      Src: /src/vlc/modules/video_output/win32/wgl.c:248,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 4
    argNames:
    - gl
    - width
    - height
    - gl_cfg
    argTypes:
    - vlc_gl_t*
    - unsigned
    - unsigned
    - struct vlc_gl_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 250
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/win32/wgl.c
    functionUses: 61
    functionsReached:
    - SwapIntervalEXT
    - wglChoosePixelFormatARB__
    - vlc_gl_StrHasToken
    - wglCreateContext
    - Close
    - GetModuleHandleA
    - var_InheritInteger
    - glGetString
    - wglMakeCurrent
    - msg_Err
    - calloc
    - SetPixelFormat
    - ChoosePixelFormat
    - GetDC
    - CreateGPUAffinityDC
    - unlikely
    - wglGetProcAddress
    linkageType: ''
    returnType: int
    signature: "int Open(vlc_gl_t *gl, unsigned width, unsigned height,\n                const
      struct vlc_gl_cfg *gl_cfg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wglDeleteContext
      Src: /src/vlc/modules/video_output/win32/wgl.c:257,1
    - Dst: ReleaseDC
      Src: /src/vlc/modules/video_output/win32/wgl.c:259,1
    - Dst: DestroyGPUAffinityDC
      Src: /src/vlc/modules/video_output/win32/wgl.c:261,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/wgl.c:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 264
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/win32/wgl.c
    functionUses: 159
    functionsReached:
    - free
    - DestroyGPUAffinityDC
    - ReleaseDC
    - wglDeleteContext
    linkageType: ''
    returnType: void
    signature: void Close(vlc_gl_t *gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SwapBuffers
      Src: /src/vlc/modules/video_output/win32/wgl.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 270
    functionName: Swap
    functionSourceFile: /src/vlc/modules/video_output/win32/wgl.c
    functionUses: 5
    functionsReached:
    - SwapBuffers
    linkageType: ''
    returnType: void
    signature: void Swap(vlc_gl_t *gl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wglGetProcAddress
      Src: /src/vlc/modules/video_output/win32/wgl.c:277,1
    - Dst: GetProcAddress
      Src: /src/vlc/modules/video_output/win32/wgl.c:281,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - gl
    - name
    argTypes:
    - vlc_gl_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 284
    functionName: OurGetProcAddress
    functionSourceFile: /src/vlc/modules/video_output/win32/wgl.c
    functionUses: 0
    functionsReached:
    - GetProcAddress
    - wglGetProcAddress
    linkageType: ''
    returnType: void
    signature: void *OurGetProcAddress(vlc_gl_t *gl, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDC
      Src: /src/vlc/modules/video_output/win32/wgl.c:295,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/win32/wgl.c:296,1
    - Dst: wglMakeCurrent
      Src: /src/vlc/modules/video_output/win32/wgl.c:298,1
    - Dst: ReleaseDC
      Src: /src/vlc/modules/video_output/win32/wgl.c:299,1
    - Dst: likely
      Src: /src/vlc/modules/video_output/win32/wgl.c:301,1
    - Dst: GetLastError
      Src: /src/vlc/modules/video_output/win32/wgl.c:306,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/wgl.c:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts:
    - condition: (winDC != NULL)
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/vlc/modules/video_output/win32/wgl.c
    constantsTouched: []
    func_position:
      end: 310
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 310
    functionName: MakeCurrent
    functionSourceFile: /src/vlc/modules/video_output/win32/wgl.c
    functionUses: 33
    functionsReached:
    - assert
    - ReleaseDC
    - wglMakeCurrent
    - GetLastError
    - msg_Err
    - likely
    - GetDC
    linkageType: ''
    returnType: int
    signature: int MakeCurrent(vlc_gl_t *gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/win32/wgl.c:314,1
    - Dst: wglMakeCurrent
      Src: /src/vlc/modules/video_output/win32/wgl.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 316
    functionName: ReleaseCurrent
    functionSourceFile: /src/vlc/modules/video_output/win32/wgl.c
    functionUses: 16
    functionsReached:
    - wglMakeCurrent
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void ReleaseCurrent(vlc_gl_t *gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_output/win32/inhibit.c:47,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/video_output/win32/inhibit.c:49,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_output/win32/inhibit.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ih
    - mask
    argTypes:
    - vlc_inhibit_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: Inhibit
    functionSourceFile: /src/vlc/modules/video_output/win32/inhibit.c
    functionUses: 0
    functionsReached:
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void Inhibit (vlc_inhibit_t *ih, unsigned mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/video_output/win32/inhibit.c:55,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_output/win32/inhibit.c:60,1
    - Dst: SetThreadExecutionState
      Src: /src/vlc/modules/video_output/win32/inhibit.c:69,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/video_output/win32/inhibit.c:70,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_output/win32/inhibit.c:72,1
    - Dst: SetThreadExecutionState
      Src: /src/vlc/modules/video_output/win32/inhibit.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - obj
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 75
    functionName: Run
    functionSourceFile: /src/vlc/modules/video_output/win32/inhibit.c
    functionUses: 10
    functionsReached:
    - vlc_thread_set_name
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - SetThreadExecutionState
    - vlc_cond_wait
    linkageType: ''
    returnType: void
    signature: void * Run(void* obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_output/win32/inhibit.c:81,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/video_output/win32/inhibit.c:83,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_output/win32/inhibit.c:84,1
    - Dst: vlc_join
      Src: /src/vlc/modules/video_output/win32/inhibit.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: CloseInhibit
    functionSourceFile: /src/vlc/modules/video_output/win32/inhibit.c
    functionUses: 0
    functionsReached:
    - vlc_cond_signal
    - vlc_join
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void CloseInhibit (vlc_object_t *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/video_output/win32/inhibit.c:92,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/inhibit.c:93,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/video_output/win32/inhibit.c:96,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/video_output/win32/inhibit.c:97,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/video_output/win32/inhibit.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 107
    functionName: OpenInhibit
    functionSourceFile: /src/vlc/modules/video_output/win32/inhibit.c
    functionUses: 0
    functionsReached:
    - vlc_obj_malloc
    - vlc_clone
    - vlc_mutex_init
    - vlc_cond_init
    - unlikely
    linkageType: ''
    returnType: int
    signature: int OpenInhibit (vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ppType
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: IID_GRAPHICS_PPV_ARGS
    functionSourceFile: /src/vlc/modules/video_output/win32/dxgi_swapchain.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IID_GRAPHICS_PPV_ARGS(ppType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ID3D10Blob_Release
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - blob
    argTypes:
    - d3d_shader_blob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: ReleaseID3D10Blob
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c
    functionUses: 0
    functionsReached:
    - ID3D10Blob_Release
    linkageType: ''
    returnType: void
    signature: void ReleaseID3D10Blob(d3d_shader_blob *blob)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ID3D10Blob_GetBufferSize
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:315,1
    - Dst: ID3D10Blob_GetBufferPointer
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - d3dblob
    - blob
    argTypes:
    - ID3D10Blob*
    - d3d_shader_blob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 317
    functionName: ID3D10BlobtoBlob
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c
    functionUses: 0
    functionsReached:
    - ID3D10Blob_GetBufferPointer
    - ID3D10Blob_GetBufferSize
    linkageType: ''
    returnType: void
    signature: void ID3D10BlobtoBlob(ID3D10Blob *d3dblob, d3d_shader_blob *blob)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: WINAPI_FAMILY_PARTITION
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:329,1
    - Dst: IsDebuggerPresent
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:331,1
    - Dst: likely
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:342,1
    - Dst: likely
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:353,1
    - Dst: D3DCompile
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:361,1
    - Dst: strlen
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:361,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:366,1
    - Dst: ID3D10Blob_GetBufferPointer
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:367,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:368,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:369,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:371,1
    - Dst: ID3D10Blob_Release
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:373,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:374,1
    - Dst: ID3D10BlobtoBlob
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:379,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 6
    argNames:
    - obj
    - feature_level
    - psz_shader
    - pixelShader
    - defines
    - blob
    argTypes:
    - vlc_object_t*
    - D3D_FEATURE_LEVEL
    - char*
    - bool
    - D3D_SHADER_MACRO*
    - d3d_shader_blob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 381
    functionName: CompileShader
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c
    functionUses: 1
    functionsReached:
    - ID3D10Blob_Release
    - strlen
    - FAILED
    - msg_Err
    - IsDebuggerPresent
    - WINAPI_FAMILY_PARTITION
    - msg_Dbg
    - likely
    - SUCCEEDED
    - D3DCompile
    - ID3D10Blob_GetBufferPointer
    - ID3D10BlobtoBlob
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT CompileShader(vlc_object_t *obj,\n                             D3D_FEATURE_LEVEL
      feature_level,\n                             const char *psz_shader, bool pixelShader,\n
      \                            const D3D_SHADER_MACRO *defines,\n                             d3d_shader_blob
      *blob)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:392,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:393,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:407,1
    - Dst: CompileShader
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:412,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 8
    argNames:
    - o
    - feature_level
    - psz_sampler
    - psz_shader_resource_views
    - psz_src_to_linear
    - psz_linear_to_display
    - psz_tone_mapping
    - pPSBlob
    argTypes:
    - vlc_object_t*
    - D3D_FEATURE_LEVEL
    - char*
    - char*
    - char*
    - char*
    - char*
    - d3d_shader_blob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 414
    functionName: CompilePixelShaderBlob
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c
    functionUses: 0
    functionsReached:
    - var_InheritInteger
    - msg_Dbg
    - CompileShader
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT CompilePixelShaderBlob(vlc_object_t *o,\n                                   D3D_FEATURE_LEVEL
      feature_level,\n                                   const char *psz_sampler,\n
      \                                  const char *psz_shader_resource_views,\n
      \                                  const char *psz_src_to_linear,\n                                   const
      char *psz_linear_to_display,\n                                   const char
      *psz_tone_mapping,\n                                   d3d_shader_blob *pPSBlob)"
  - BBCount: 59
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:471,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:475,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:495,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:548,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:552,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:586,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:606,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:616,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:619,1
    - Dst: DxgiIsRGBFormat
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:625,1
    - Dst: DxgiIsRGBFormat
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:625,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:628,1
    - Dst: CompilePixelShaderBlob
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:632,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:638,1
    - Dst: CompilePixelShaderBlob
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:640,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:646,1
    - Dst: D3D_ShaderBlobRelease
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:647,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 187
    argCount: 8
    argNames:
    - o
    - feature_level
    - display
    - transfer
    - src_full_range
    - dxgi_fmt
    - pPSBlob
    - shader_views
    argTypes:
    - vlc_object_t*
    - D3D_FEATURE_LEVEL
    - display_info_t*
    - video_transfer_func_t
    - bool
    - d3d_format_t*
    - d3d_shader_blob[]
    - size_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 416
    functionDepth: 3
    functionLinenumber: 416
    functionLinenumberEnd: 651
    functionName: HRESULT
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c
    functionUses: 0
    functionsReached:
    - CompilePixelShaderBlob
    - DxgiIsRGBFormat
    - vlc_assert_unreachable
    - FAILED
    - D3D_ShaderBlobRelease
    - msg_Dbg
    - SUCCEEDED
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: "void HRESULT (D3D_CompilePixelShader)(vlc_object_t *o,\n                                 D3D_FEATURE_LEVEL
      feature_level,\n                                 const display_info_t *display,\n
      \                                video_transfer_func_t transfer,\n                                 bool
      src_full_range,\n                                 const d3d_format_t *dxgi_fmt,\n
      \                                d3d_shader_blob pPSBlob[DXGI_MAX_RENDER_TARGET],\n
      \                                size_t shader_views[DXGI_MAX_RENDER_TARGET])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompileShader
      Src: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - obj
    - feature_level
    - flat
    - blob
    argTypes:
    - vlc_object_t*
    - D3D_FEATURE_LEVEL
    - bool
    - d3d_shader_blob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 653
    functionDepth: 2
    functionLinenumber: 653
    functionLinenumberEnd: 662
    functionName: D3D_CompileVertexShader
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d_dynamic_shader.c
    functionUses: 0
    functionsReached:
    - CompileShader
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT D3D_CompileVertexShader(vlc_object_t *obj,\n                                D3D_FEATURE_LEVEL
      feature_level, bool flat,\n                                d3d_shader_blob *blob)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillRect
      Src: /src/vlc/modules/video_output/win32/wingdi.c:88,1
    - Dst: GetStockObject
      Src: /src/vlc/modules/video_output/win32/wingdi.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vd
    - hdc
    argTypes:
    - vout_display_t*
    - HDC
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 89
    functionName: ChangeSize
    functionSourceFile: /src/vlc/modules/video_output/win32/wingdi.c
    functionUses: 0
    functionsReached:
    - GetStockObject
    - FillRect
    linkageType: ''
    returnType: bool
    signature: bool ChangeSize(vout_display_t *vd, HDC hdc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: video_format_ApplyRotation
      Src: /src/vlc/modules/video_output/win32/wingdi.c:96,1
    - Dst: DeleteObject
      Src: /src/vlc/modules/video_output/win32/wingdi.c:103,1
    - Dst: CreateDIBSection
      Src: /src/vlc/modules/video_output/win32/wingdi.c:108,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/wingdi.c:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - vd
    - hdc
    argTypes:
    - vout_display_t*
    - HDC
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 122
    functionName: ChangePlace
    functionSourceFile: /src/vlc/modules/video_output/win32/wingdi.c
    functionUses: 0
    functionsReached:
    - CreateDIBSection
    - DeleteObject
    - unlikely
    - video_format_ApplyRotation
    linkageType: ''
    returnType: bool
    signature: bool ChangePlace(vout_display_t *vd, HDC hdc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/win32/wingdi.c:128,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/win32/wingdi.c:129,1
    - Dst: CommonVideoHWND
      Src: /src/vlc/modules/video_output/win32/wingdi.c:135,1
    - Dst: GetDC
      Src: /src/vlc/modules/video_output/win32/wingdi.c:136,1
    - Dst: ChangeSize
      Src: /src/vlc/modules/video_output/win32/wingdi.c:137,1
    - Dst: ChangePlace
      Src: /src/vlc/modules/video_output/win32/wingdi.c:138,1
    - Dst: ReleaseDC
      Src: /src/vlc/modules/video_output/win32/wingdi.c:139,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/wingdi.c:141,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/win32/wingdi.c:147,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/video_output/win32/wingdi.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - vd
    - picture
    - subpic
    - date
    argTypes:
    - vout_display_t*
    - picture_t*
    - struct vlc_render_subpicture*
    - vlc_tick_t
    assertStmts:
    - condition: "((LONG)picture->format.i_visible_width  == sys->bmiInfo.bmiHeader.biWidth
        &&\n           (LONG)picture->format.i_visible_height == -sys->bmiInfo.bmiHeader.biHeight)"
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/vlc/modules/video_output/win32/wingdi.c
    constantsTouched: []
    func_position:
      end: 151
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 151
    functionName: Prepare
    functionSourceFile: /src/vlc/modules/video_output/win32/wingdi.c
    functionUses: 48
    functionsReached:
    - assert
    - ReleaseDC
    - plane_CopyPixels
    - CommonVideoHWND
    - ChangeSize
    - GetDC
    - unlikely
    - ChangePlace
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void Prepare(vout_display_t *vd, picture_t *picture,\n                    const
      struct vlc_render_subpicture *subpic,\n                    vlc_tick_t date)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/win32/wingdi.c:155,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/win32/wingdi.c:155,1
    - Dst: CommonDisplaySizeChanged
      Src: /src/vlc/modules/video_output/win32/wingdi.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - vd
    - width
    - height
    argTypes:
    - vout_display_t*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: SetDisplaySize
    functionSourceFile: /src/vlc/modules/video_output/win32/wingdi.c
    functionUses: 0
    functionsReached:
    - CommonDisplaySizeChanged
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int SetDisplaySize(vout_display_t *vd, unsigned width, unsigned height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/win32/wingdi.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - vd
    - place
    argTypes:
    - vout_display_t*
    - vout_display_place_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: PlacementChanged
    functionSourceFile: /src/vlc/modules/video_output/win32/wingdi.c
    functionUses: 2
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int PlacementChanged(vout_display_t *vd, const vout_display_place_t
      *place)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/win32/wingdi.c:181,1
    - Dst: calloc
      Src: /src/vlc/modules/video_output/win32/wingdi.c:187,1
    - Dst: CommonWindowInit
      Src: /src/vlc/modules/video_output/win32/wingdi.c:191,1
    - Dst: Init
      Src: /src/vlc/modules/video_output/win32/wingdi.c:195,1
    - Dst: vlc_window_SetTitle
      Src: /src/vlc/modules/video_output/win32/wingdi.c:198,1
    - Dst: Close
      Src: /src/vlc/modules/video_output/win32/wingdi.c:205,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - vd
    - fmtp
    - context
    argTypes:
    - vout_display_t*
    - video_format_t*
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 207
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/win32/wingdi.c
    functionUses: 61
    functionsReached:
    - vlc_window_SetTitle
    - calloc
    - Init
    - CommonWindowInit
    - Close
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int Open(vout_display_t *vd,\n                video_format_t *fmtp,
      vlc_video_context *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clean
      Src: /src/vlc/modules/video_output/win32/wingdi.c:214,1
    - Dst: CommonWindowClean
      Src: /src/vlc/modules/video_output/win32/wingdi.c:216,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/wingdi.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 219
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/win32/wingdi.c
    functionUses: 160
    functionsReached:
    - free
    - Clean
    - CommonWindowClean
    linkageType: ''
    returnType: void
    signature: void Close(vout_display_t *vd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/win32/wingdi.c:224,1
    - Dst: GetDC
      Src: /src/vlc/modules/video_output/win32/wingdi.c:226,1
    - Dst: CommonVideoHWND
      Src: /src/vlc/modules/video_output/win32/wingdi.c:226,1
    - Dst: SelectObject
      Src: /src/vlc/modules/video_output/win32/wingdi.c:228,1
    - Dst: video_format_ApplyRotation
      Src: /src/vlc/modules/video_output/win32/wingdi.c:231,1
    - Dst: SetStretchBltMode
      Src: /src/vlc/modules/video_output/win32/wingdi.c:235,1
    - Dst: StretchBlt
      Src: /src/vlc/modules/video_output/win32/wingdi.c:237,1
    - Dst: BitBlt
      Src: /src/vlc/modules/video_output/win32/wingdi.c:245,1
    - Dst: ReleaseDC
      Src: /src/vlc/modules/video_output/win32/wingdi.c:252,1
    - Dst: CommonVideoHWND
      Src: /src/vlc/modules/video_output/win32/wingdi.c:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - vd
    - picture
    argTypes:
    - vout_display_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 253
    functionName: Display
    functionSourceFile: /src/vlc/modules/video_output/win32/wingdi.c
    functionUses: 25
    functionsReached:
    - StretchBlt
    - BitBlt
    - ReleaseDC
    - video_format_ApplyRotation
    - SetStretchBltMode
    - CommonVideoHWND
    - SelectObject
    - GetDC
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void Display(vout_display_t *vd, picture_t *picture)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GetDC
      Src: /src/vlc/modules/video_output/win32/wingdi.c:262,1
    - Dst: CommonVideoHWND
      Src: /src/vlc/modules/video_output/win32/wingdi.c:262,1
    - Dst: GetDeviceCaps
      Src: /src/vlc/modules/video_output/win32/wingdi.c:265,1
    - Dst: GetDeviceCaps
      Src: /src/vlc/modules/video_output/win32/wingdi.c:266,1
    - Dst: video_format_TransformTo
      Src: /src/vlc/modules/video_output/win32/wingdi.c:268,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/wingdi.c:278,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/wingdi.c:293,1
    - Dst: ReleaseDC
      Src: /src/vlc/modules/video_output/win32/wingdi.c:294,1
    - Dst: CommonVideoHWND
      Src: /src/vlc/modules/video_output/win32/wingdi.c:294,1
    - Dst: CreateCompatibleDC
      Src: /src/vlc/modules/video_output/win32/wingdi.c:306,1
    - Dst: ChangeSize
      Src: /src/vlc/modules/video_output/win32/wingdi.c:308,1
    - Dst: ChangePlace
      Src: /src/vlc/modules/video_output/win32/wingdi.c:310,1
    - Dst: DeleteDC
      Src: /src/vlc/modules/video_output/win32/wingdi.c:312,1
    - Dst: ReleaseDC
      Src: /src/vlc/modules/video_output/win32/wingdi.c:314,1
    - Dst: CommonVideoHWND
      Src: /src/vlc/modules/video_output/win32/wingdi.c:314,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - vd
    - fmt
    argTypes:
    - vout_display_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 317
    functionName: Init
    functionSourceFile: /src/vlc/modules/video_output/win32/wingdi.c
    functionUses: 341
    functionsReached:
    - video_format_TransformTo
    - DeleteDC
    - ReleaseDC
    - msg_Err
    - ChangeSize
    - CommonVideoHWND
    - msg_Dbg
    - GetDeviceCaps
    - CreateCompatibleDC
    - GetDC
    - ChangePlace
    linkageType: ''
    returnType: int
    signature: int Init(vout_display_t *vd, video_format_t *fmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DeleteDC
      Src: /src/vlc/modules/video_output/win32/wingdi.c:324,1
    - Dst: DeleteObject
      Src: /src/vlc/modules/video_output/win32/wingdi.c:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 327
    functionName: Clean
    functionSourceFile: /src/vlc/modules/video_output/win32/wingdi.c
    functionUses: 252
    functionsReached:
    - DeleteDC
    - DeleteObject
    linkageType: ''
    returnType: void
    signature: void Clean(vout_display_t *vd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: D3D11_AllocateQuad
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_quad.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D3D11_AllocateQuad(a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: D3D11_SetupQuad
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_quad.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D3D11_SetupQuad(a,b,c,d,e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: D3D11_UpdateQuadPosition
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_quad.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D3D11_UpdateQuadPosition(a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: D3D11_UpdateQuadOpacity
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_quad.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D3D11_UpdateQuadOpacity(a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: D3D11_UpdateQuadLuminanceScale
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_quad.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D3D11_UpdateQuadLuminanceScale(a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: D3D11_UpdateViewpoint
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_quad.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D3D11_UpdateViewpoint(a,b,c,d,e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/common.c:49,1
    - Dst: EventThreadCreate
      Src: /src/vlc/modules/video_output/win32/common.c:53,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/win32/common.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - vd
    - event
    - projection_gestures
    argTypes:
    - vout_display_t*
    - struct event_thread_t**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 60
    functionName: CommonWindowInit
    functionSourceFile: /src/vlc/modules/video_output/win32/common.c
    functionUses: 1
    functionsReached:
    - EventThreadCreate
    - unlikely
    - VLC_OBJECT
    linkageType: ''
    returnType: int
    signature: "int CommonWindowInit(vout_display_t *vd, struct event_thread_t **event,\n
      \                    bool projection_gestures)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EventThreadVideoHWND
      Src: /src/vlc/modules/video_output/win32/common.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - struct event_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: CommonVideoHWND
    functionSourceFile: /src/vlc/modules/video_output/win32/common.c
    functionUses: 3
    functionsReached:
    - EventThreadVideoHWND
    linkageType: ''
    returnType: HWND
    signature: HWND CommonVideoHWND(const struct event_thread_t *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EventThreadDestroy
      Src: /src/vlc/modules/video_output/win32/common.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - struct event_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: CommonWindowClean
    functionSourceFile: /src/vlc/modules/video_output/win32/common.c
    functionUses: 1
    functionsReached:
    - EventThreadDestroy
    linkageType: ''
    returnType: void
    signature: void CommonWindowClean(struct event_thread_t *event)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EventThreadUpdateSize
      Src: /src/vlc/modules/video_output/win32/common.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - event
    argTypes:
    - struct event_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: CommonDisplaySizeChanged
    functionSourceFile: /src/vlc/modules/video_output/win32/common.c
    functionUses: 1
    functionsReached:
    - EventThreadUpdateSize
    linkageType: ''
    returnType: void
    signature: void CommonDisplaySizeChanged(struct event_thread_t *event)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - dxgi_color_space*
    - dxgi_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: canHandleConversion
    functionSourceFile: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool canHandleConversion(const dxgi_color_space *src, const dxgi_color_space
      *dst)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: dxgi_swapchain*::dxgiswapChain::As
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:151,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:152,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:153,1
    - Dst: ComPtr::CheckColorSpaceSupport
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:162,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:163,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:165,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:188,1
    - Dst: dxgi_swapchain*::dxgiswapChain::As
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:191,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:194,1
    - Dst: dxgi_swapchain*::dxgiswapChain::GetContainingOutput
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:194,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:197,1
    - Dst: ComPtr::As
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:197,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:200,1
    - Dst: ComPtr::GetDesc1
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:200,1
    - Dst: canHandleConversion
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:207,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:208,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:218,1
    - Dst: ComPtr::SetColorSpace1
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:224,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:225,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:226,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:228,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 60
    argCount: 3
    argNames:
    - display
    - cfg
    - match_display
    argTypes:
    - dxgi_swapchain*
    - libvlc_video_render_cfg_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 234
    functionName: DXGI_SelectSwapchainColorspace
    functionSourceFile: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp
    functionUses: 0
    functionsReached:
    - ComPtr::GetDesc1
    - ComPtr::SetColorSpace1
    - ComPtr::CheckColorSpaceSupport
    - dxgi_swapchain*::dxgiswapChain::GetContainingOutput
    - FAILED
    - ComPtr::As
    - canHandleConversion
    - msg_Err
    - msg_Dbg
    - SUCCEEDED
    - msg_Warn
    - dxgi_swapchain*::dxgiswapChain::As
    linkageType: ''
    returnType: void
    signature: void DXGI_SelectSwapchainColorspace(dxgi_swapchain *display, const
      libvlc_video_render_cfg_t *cfg, bool match_display)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:281,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:284,1
    - Dst: FillSwapChainDesc
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:289,1
    - Dst: IDXGIAdapter*::GetParent
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:292,1
    - Dst: IID_GRAPHICS_PPV_ARGS
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:292,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:293,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:294,1
    - Dst: ComPtr::CreateSwapChainForHwnd
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:298,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:304,1
    - Dst: ComPtr::CreateSwapChainForHwnd
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:306,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:310,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:311,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - display
    - dxgiadapter
    - pFactoryDevice
    - width
    - height
    argTypes:
    - dxgi_swapchain*
    - IDXGIAdapter*
    - IUnknown*
    - UINT
    - UINT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 313
    functionName: DXGI_CreateSwapchainHwnd
    functionSourceFile: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp
    functionUses: 0
    functionsReached:
    - ComPtr::CreateSwapChainForHwnd
    - FAILED
    - FillSwapChainDesc
    - msg_Err
    - msg_Warn
    - IDXGIAdapter*::GetParent
    - vlc_assert
    - IID_GRAPHICS_PPV_ARGS
    linkageType: ''
    returnType: void
    signature: "void DXGI_CreateSwapchainHwnd(dxgi_swapchain *display,\n                              IDXGIAdapter
      *dxgiadapter, IUnknown *pFactoryDevice,\n                              UINT
      width, UINT height)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:319,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:322,1
    - Dst: FillSwapChainDesc
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:327,1
    - Dst: IDXGIAdapter*::GetParent
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:333,1
    - Dst: IID_GRAPHICS_PPV_ARGS
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:333,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:334,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:335,1
    - Dst: ComPtr::CreateSwapChainForComposition
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:339,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:343,1
    - Dst: ComPtr::CreateSwapChainForComposition
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:345,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:348,1
    - Dst: dxgi_swapchain*::swapchainSurface::dcomp::visual::SetContent
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:349,1
    - Dst: dxgi_swapchain*::dxgiswapChain::Get
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:349,1
    - Dst: dxgi_swapchain*::swapchainSurface::dcomp::device::Commit
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:350,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:352,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 5
    argNames:
    - display
    - dxgiadapter
    - pFactoryDevice
    - width
    - height
    argTypes:
    - dxgi_swapchain*
    - IDXGIAdapter*
    - IUnknown*
    - UINT
    - UINT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 354
    functionName: DXGI_CreateSwapchainDComp
    functionSourceFile: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp
    functionUses: 0
    functionsReached:
    - ComPtr::CreateSwapChainForComposition
    - FAILED
    - dxgi_swapchain*::dxgiswapChain::Get
    - FillSwapChainDesc
    - msg_Err
    - dxgi_swapchain*::swapchainSurface::dcomp::device::Commit
    - SUCCEEDED
    - dxgi_swapchain*::swapchainSurface::dcomp::visual::SetContent
    - msg_Warn
    - IDXGIAdapter*::GetParent
    - vlc_assert
    - IID_GRAPHICS_PPV_ARGS
    linkageType: ''
    returnType: void
    signature: "void DXGI_CreateSwapchainDComp(dxgi_swapchain *display,\n                               IDXGIAdapter
      *dxgiadapter, IUnknown *pFactoryDevice,\n                               UINT
      width, UINT height)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dxgi_swapchain*::dxgiswapChain::Present1
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:360,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - display
    argTypes:
    - dxgi_swapchain*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 366
    functionName: DXGI_LocalSwapchainSwap
    functionSourceFile: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp
    functionUses: 0
    functionsReached:
    - msg_Err
    - dxgi_swapchain*::dxgiswapChain::Present1
    linkageType: ''
    returnType: void
    signature: void DXGI_LocalSwapchainSwap( dxgi_swapchain *display )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:370,1
    - Dst: dxgi_swapchain*::dxgiswapChain4::Get
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:372,1
    - Dst: static_cast<const libvlc_video_frame_hdr10_metadata_t *>
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:374,1
    - Dst: memcmp
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:388,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:390,1
    - Dst: dxgi_swapchain*::dxgiswapChain4::SetHDRMetaData
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:391,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - display
    - type
    - metadata
    argTypes:
    - dxgi_swapchain*
    - libvlc_video_metadata_type_t
    - void*
    assertStmts:
    - condition: (type == libvlc_video_metadata_frame_hdr10)
      pos:
        line_end: 369
        line_start: 369
        source_file: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp
    constantsTouched: []
    func_position:
      end: 395
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 395
    functionName: DXGI_LocalSwapchainSetMetadata
    functionSourceFile: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp
    functionUses: 0
    functionsReached:
    - assert
    - memcpy
    - dxgi_swapchain*::dxgiswapChain4::SetHDRMetaData
    - dxgi_swapchain*::dxgiswapChain4::Get
    - static_cast<const libvlc_video_frame_hdr10_metadata_t *>
    - memcmp
    linkageType: ''
    returnType: void
    signature: void DXGI_LocalSwapchainSetMetadata( dxgi_swapchain *display, libvlc_video_metadata_type_t
      type, const void *metadata )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dxgi_swapchain::dxgi_swapchain
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:399,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - o
    - hwnd
    argTypes:
    - vlc_object_t*
    - HWND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 408
    functionName: DXGI_CreateLocalSwapchainHandleHwnd
    functionSourceFile: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp
    functionUses: 0
    functionsReached:
    - dxgi_swapchain::dxgi_swapchain
    - unlikely
    linkageType: ''
    returnType: dxgi_swapchain
    signature: dxgi_swapchain *DXGI_CreateLocalSwapchainHandleHwnd(vlc_object_t *o,
      HWND hwnd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dxgi_swapchain::dxgi_swapchain
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:412,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:413,1
    - Dst: static_cast<IDCompositionDevice*>
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:418,1
    - Dst: static_cast<IDCompositionVisual*>
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - o
    - dcompDevice
    - dcompVisual
    argTypes:
    - vlc_object_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 422
    functionName: DXGI_CreateLocalSwapchainHandleDComp
    functionSourceFile: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp
    functionUses: 0
    functionsReached:
    - static_cast<IDCompositionDevice*>
    - dxgi_swapchain::dxgi_swapchain
    - static_cast<IDCompositionVisual*>
    - unlikely
    linkageType: ''
    returnType: dxgi_swapchain
    signature: dxgi_swapchain *DXGI_CreateLocalSwapchainHandleDComp(vlc_object_t *o,
      void* dcompDevice, void* dcompVisual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - display
    argTypes:
    - dxgi_swapchain*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 427
    functionName: DXGI_LocalSwapchainCleanupDevice
    functionSourceFile: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DXGI_LocalSwapchainCleanupDevice( dxgi_swapchain *display )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - display
    - out
    argTypes:
    - dxgi_swapchain*
    - libvlc_video_output_cfg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 437
    functionName: DXGI_SwapchainUpdateOutput
    functionSourceFile: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DXGI_SwapchainUpdateOutput( dxgi_swapchain *display, libvlc_video_output_cfg_t
      *out )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dxgi_swapchain*::dxgiswapChain::Get
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:448,1
    - Dst: dxgi_swapchain*::dxgiswapChain::Reset
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:451,1
    - Dst: dxgi_swapchain*::dxgiswapChain::Get
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:455,1
    - Dst: DXGI_CreateSwapchainDComp
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:460,1
    - Dst: DXGI_CreateSwapchainHwnd
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:463,1
    - Dst: dxgi_swapchain*::dxgiswapChain::Get
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:467,1
    - Dst: dxgi_swapchain*::dxgiswapChain::ResizeBuffers
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:472,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:474,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:475,1
    - Dst: DXGI_SelectSwapchainColorspace
      Src: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp:479,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 6
    argNames:
    - display
    - dxgiadapter
    - pFactoryDevice
    - newPixelFormat
    - cfg
    - match_display
    argTypes:
    - dxgi_swapchain*
    - IDXGIAdapter*
    - IUnknown*
    - d3d_format_t*
    - libvlc_video_render_cfg_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 481
    functionName: DXGI_UpdateSwapChain
    functionSourceFile: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp
    functionUses: 0
    functionsReached:
    - FAILED
    - dxgi_swapchain*::dxgiswapChain::Get
    - dxgi_swapchain*::dxgiswapChain::Reset
    - DXGI_CreateSwapchainDComp
    - msg_Err
    - dxgi_swapchain*::dxgiswapChain::ResizeBuffers
    - DXGI_CreateSwapchainHwnd
    - DXGI_SelectSwapchainColorspace
    linkageType: ''
    returnType: bool
    signature: "bool DXGI_UpdateSwapChain( dxgi_swapchain *display, IDXGIAdapter *dxgiadapter,\n
      \                          IUnknown *pFactoryDevice,\n                           const
      d3d_format_t *newPixelFormat, const libvlc_video_render_cfg_t *cfg,\n                           bool
      match_display )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - display
    argTypes:
    - dxgi_swapchain*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 486
    functionName: DXGI_GetSwapChain1
    functionSourceFile: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Microsoft::WRL::ComPtr<IDXGISwapChain1>
    signature: Microsoft::WRL::ComPtr<IDXGISwapChain1> & DXGI_GetSwapChain1( dxgi_swapchain
      *display )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - display
    argTypes:
    - dxgi_swapchain*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 491
    functionName: DXGI_GetSwapChain4
    functionSourceFile: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Microsoft::WRL::ComPtr<IDXGISwapChain4>
    signature: Microsoft::WRL::ComPtr<IDXGISwapChain4> & DXGI_GetSwapChain4( dxgi_swapchain
      *display )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - display
    argTypes:
    - dxgi_swapchain*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 496
    functionName: DXGI_GetPixelFormat
    functionSourceFile: /src/vlc/modules/video_output/win32/dxgi_swapchain.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: d3d_format_t
    signature: d3d_format_t *DXGI_GetPixelFormat( dxgi_swapchain *display )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: d3d11_device_t*::d3dcontext::IASetPrimitiveTopology
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:42,1
    - Dst: d3d11_device_t*::d3dcontext::IASetInputLayout
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:45,1
    - Dst: d3d11_vertex_shader_t*::layout::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:45,1
    - Dst: d3d11_device_t*::d3dcontext::IASetVertexBuffers
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:46,1
    - Dst: d3d11_quad_t*::vertexBuffer::GetAddressOf
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:46,1
    - Dst: d3d11_device_t*::d3dcontext::IASetIndexBuffer
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:47,1
    - Dst: d3d11_quad_t*::indexBuffer::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:47,1
    - Dst: d3d11_quad_t*::viewpointShaderConstant::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:48,1
    - Dst: d3d11_device_t*::d3dcontext::VSSetConstantBuffers
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:49,1
    - Dst: d3d11_quad_t*::viewpointShaderConstant::GetAddressOf
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:49,1
    - Dst: d3d11_device_t*::d3dcontext::VSSetShader
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:51,1
    - Dst: d3d11_vertex_shader_t*::shader::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:51,1
    - Dst: Get
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:53,1
    - Dst: Get
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:55,1
    - Dst: Get
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:55,1
    - Dst: d3d11_device_t*::d3dcontext::PSSetSamplers
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:56,1
    - Dst: d3d11_device_t*::d3dcontext::PSSetConstantBuffers
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:60,1
    - Dst: d3d11_quad_t*::pPixelShaderConstants::GetAddressOf
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:60,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:61,1
    - Dst: d3d11_device_t*::d3dcontext::PSSetShaderResources
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:63,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:65,1
    - Dst: Get
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:67,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:71,1
    - Dst: selectPlane
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:71,1
    - Dst: d3d11_device_t*::d3dcontext::OMSetRenderTargets
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:75,1
    - Dst: d3d11_device_t*::d3dcontext::PSSetShader
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:77,1
    - Dst: Get
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:77,1
    - Dst: d3d11_device_t*::d3dcontext::RSSetViewports
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:79,1
    - Dst: d3d11_device_t*::d3dcontext::DrawIndexed
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:81,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 6
    argNames:
    - d3d_dev
    - quad
    - vsshader
    - resourceView
    - selectPlane
    - selectOpaque
    argTypes:
    - d3d11_device_t*
    - d3d11_quad_t*
    - d3d11_vertex_shader_t*
    - ID3D11ShaderResourceView*[]
    - d3d11_select_plane_t
    - void*
    assertStmts:
    - condition: (quad->resourceCount <= DXGI_MAX_SHADER_VIEW)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/vlc/modules/video_output/win32/d3d11_quad.cpp
    constantsTouched: []
    func_position:
      end: 88
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 88
    functionName: D3D11_RenderQuad
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_quad.cpp
    functionUses: 0
    functionsReached:
    - assert
    - d3d11_device_t*::d3dcontext::IASetVertexBuffers
    - d3d11_quad_t*::vertexBuffer::GetAddressOf
    - d3d11_device_t*::d3dcontext::IASetPrimitiveTopology
    - Get
    - d3d11_quad_t*::indexBuffer::Get
    - d3d11_device_t*::d3dcontext::VSSetShader
    - d3d11_device_t*::d3dcontext::PSSetSamplers
    - ARRAY_SIZE
    - d3d11_quad_t*::viewpointShaderConstant::Get
    - d3d11_quad_t*::viewpointShaderConstant::GetAddressOf
    - d3d11_vertex_shader_t*::shader::Get
    - d3d11_device_t*::d3dcontext::IASetIndexBuffer
    - d3d11_vertex_shader_t*::layout::Get
    - d3d11_device_t*::d3dcontext::PSSetShader
    - selectPlane
    - d3d11_quad_t*::pPixelShaderConstants::GetAddressOf
    - d3d11_device_t*::d3dcontext::OMSetRenderTargets
    - d3d11_device_t*::d3dcontext::PSSetShaderResources
    - d3d11_device_t*::d3dcontext::DrawIndexed
    - d3d11_device_t*::d3dcontext::PSSetConstantBuffers
    - d3d11_device_t*::d3dcontext::VSSetConstantBuffers
    - d3d11_device_t*::d3dcontext::IASetInputLayout
    - d3d11_device_t*::d3dcontext::RSSetViewports
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void D3D11_RenderQuad(d3d11_device_t *d3d_dev, d3d11_quad_t *quad,
      d3d11_vertex_shader_t *vsshader,\n                      ID3D11ShaderResourceView
      *resourceView[DXGI_MAX_SHADER_VIEW],\n                      d3d11_select_plane_t
      selectPlane, void *selectOpaque)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: D3D_QuadSetupBuffers
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:94,1
    - Dst: d3d11_device_t*::d3ddevice::CreateBuffer
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:104,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:105,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:106,1
    - Dst: d3d11_device_t*::d3ddevice::CreateBuffer
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:114,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:115,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:116,1
    - Dst: d3d11_quad_t*::vertexBuffer::Reset
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:122,1
    - Dst: d3d11_quad_t*::indexBuffer::Reset
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 4
    argNames:
    - o
    - d3d_dev
    - quad
    - projection
    argTypes:
    - vlc_object_t*
    - d3d11_device_t*
    - d3d11_quad_t*
    - video_projection_mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 125
    functionName: AllocQuadVertices
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_quad.cpp
    functionUses: 0
    functionsReached:
    - D3D_QuadSetupBuffers
    - d3d11_quad_t*::vertexBuffer::Reset
    - FAILED
    - d3d11_device_t*::d3ddevice::CreateBuffer
    - msg_Err
    - d3d11_quad_t*::indexBuffer::Reset
    linkageType: ''
    returnType: bool
    signature: bool AllocQuadVertices(vlc_object_t *o, d3d11_device_t *d3d_dev, d3d11_quad_t
      *quad, video_projection_mode_t projection)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d3d11_quad_t::Reset
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:129,1
    - Dst: d3d11_quad_t::Reset
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:130,1
    - Dst: d3d11_quad_t::Reset
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:131,1
    - Dst: d3d11_quad_t::Reset
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:132,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:133,1
    - Dst: d3d11_quad_t::Reset
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:135,1
    - Dst: d3d11_quad_t::Reset
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:136,1
    - Dst: ReleaseD3D11PictureSys
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 139
    functionName: d3d11_quad_t::Reset
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_quad.cpp
    functionUses: 1
    functionsReached:
    - ReleaseD3D11PictureSys
    - d3d11_quad_t::Reset
    - ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: void d3d11_quad_t::Reset()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:150,1
    - Dst: d3d11_quad_t*::vertexBuffer::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:150,1
    - Dst: d3d11_device_t*::d3dcontext::Map
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:154,1
    - Dst: d3d11_quad_t*::vertexBuffer::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:154,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:155,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:156,1
    - Dst: static_cast<d3d_vertex_t*>
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:159,1
    - Dst: d3d11_device_t*::d3dcontext::Map
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:162,1
    - Dst: d3d11_quad_t*::indexBuffer::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:162,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:163,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:164,1
    - Dst: d3d11_device_t*::d3dcontext::Unmap
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:165,1
    - Dst: d3d11_quad_t*::vertexBuffer::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:165,1
    - Dst: D3D_SetupQuadData
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:175,1
    - Dst: d3d11_device_t*::d3dcontext::Unmap
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:177,1
    - Dst: d3d11_quad_t*::indexBuffer::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:177,1
    - Dst: d3d11_device_t*::d3dcontext::Unmap
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:178,1
    - Dst: d3d11_quad_t*::vertexBuffer::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 4
    argNames:
    - o
    - d3d_dev
    - quad
    - orientation
    argTypes:
    - vlc_object_t*
    - d3d11_device_t*
    - d3d11_quad_t*
    - video_transform_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 181
    functionName: D3D11_UpdateQuadPosition
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_quad.cpp
    functionUses: 0
    functionsReached:
    - FAILED
    - msg_Err
    - d3d11_quad_t*::indexBuffer::Get
    - d3d11_quad_t*::vertexBuffer::Get
    - d3d11_device_t*::d3dcontext::Unmap
    - d3d11_device_t*::d3dcontext::Map
    - static_cast<d3d_vertex_t*>
    - unlikely
    - D3D_SetupQuadData
    linkageType: ''
    returnType: bool
    signature: "bool D3D11_UpdateQuadPosition( vlc_object_t *o, d3d11_device_t *d3d_dev,
      d3d11_quad_t *quad,\n                               video_transform_t orientation
      )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: d3d11_quad_t*::pPixelShaderConstants::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:189,1
    - Dst: d3d11_quad_t*::viewpointShaderConstant::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:192,1
    - Dst: d3d11_device_t*::d3dcontext::Map
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:197,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:198,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:198,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:200,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:207,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:210,1
    - Dst: d3d11_device_t*::d3dcontext::Unmap
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:213,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - o
    - d3d_dev
    - quad
    - type
    - new_buf
    argTypes:
    - vlc_object_t*
    - d3d11_device_t*
    - d3d11_quad_t*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 215
    functionName: ShaderUpdateConstants
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_quad.cpp
    functionUses: 0
    functionsReached:
    - FAILED
    - unlikely
    - memcpy
    - msg_Err
    - d3d11_device_t*::d3dcontext::Unmap
    - d3d11_device_t*::d3dcontext::Map
    - d3d11_quad_t*::viewpointShaderConstant::Get
    - d3d11_quad_t*::pPixelShaderConstants::Get
    linkageType: ''
    returnType: bool
    signature: bool ShaderUpdateConstants(vlc_object_t *o, d3d11_device_t *d3d_dev,
      d3d11_quad_t *quad, int type, void *new_buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: D3D_UpdateQuadOpacity
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:220,1
    - Dst: ShaderUpdateConstants
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:223,1
    - Dst: D3D_UpdateQuadOpacity
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - o
    - d3d_dev
    - quad
    - opacity
    argTypes:
    - vlc_object_t*
    - d3d11_device_t*
    - d3d11_quad_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 225
    functionName: (D3D11_UpdateQuadOpacity)(vlc_object_t *o, d3d11_device_t *d3d_dev,
      d3d11_quad_t *quad, float opacity)
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_quad.cpp
    functionUses: 0
    functionsReached:
    - ShaderUpdateConstants
    - D3D_UpdateQuadOpacity
    linkageType: ''
    returnType: void
    signature: void (D3D11_UpdateQuadOpacity)(vlc_object_t *o, d3d11_device_t *d3d_dev,
      d3d11_quad_t *quad, float opacity)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: D3D_UpdateQuadLuminanceScale
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:230,1
    - Dst: ShaderUpdateConstants
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:233,1
    - Dst: D3D_UpdateQuadLuminanceScale
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - o
    - d3d_dev
    - quad
    - luminanceScale
    argTypes:
    - vlc_object_t*
    - d3d11_device_t*
    - d3d11_quad_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 235
    functionName: (D3D11_UpdateQuadLuminanceScale)(vlc_object_t *o, d3d11_device_t
      *d3d_dev, d3d11_quad_t *quad, float luminanceScale)
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_quad.cpp
    functionUses: 0
    functionsReached:
    - D3D_UpdateQuadLuminanceScale
    - ShaderUpdateConstants
    linkageType: ''
    returnType: void
    signature: void (D3D11_UpdateQuadLuminanceScale)(vlc_object_t *o, d3d11_device_t
      *d3d_dev, d3d11_quad_t *quad, float luminanceScale)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d3d11_quad_t*::viewpointShaderConstant::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:240,1
    - Dst: D3D_UpdateViewpoint
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:243,1
    - Dst: ShaderUpdateConstants
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - o
    - d3d_dev
    - quad
    - viewpoint
    - f_sar
    argTypes:
    - vlc_object_t*
    - d3d11_device_t*
    - d3d11_quad_t*
    - vlc_viewpoint_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 246
    functionName: "(D3D11_UpdateViewpoint)(vlc_object_t *o, d3d11_device_t *d3d_dev,
      d3d11_quad_t *quad,\n                             const vlc_viewpoint_t *viewpoint,
      float f_sar)"
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_quad.cpp
    functionUses: 0
    functionsReached:
    - d3d11_quad_t*::viewpointShaderConstant::Get
    - ShaderUpdateConstants
    - D3D_UpdateViewpoint
    linkageType: ''
    returnType: void
    signature: "void (D3D11_UpdateViewpoint)(vlc_object_t *o, d3d11_device_t *d3d_dev,
      d3d11_quad_t *quad,\n                             const vlc_viewpoint_t *viewpoint,
      float f_sar)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: d3d11_device_t*::d3ddevice::CreateBuffer
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:262,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:263,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:264,1
    - Dst: d3d11_device_t*::d3ddevice::CreateBuffer
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:272,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:273,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:274,1
    - Dst: AllocQuadVertices
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:279,1
    - Dst: d3d11_quad_t*::Reset
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:285,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 4
    argNames:
    - o
    - d3d_dev
    - projection
    - quad
    argTypes:
    - vlc_object_t*
    - d3d11_device_t*
    - video_projection_mode_t
    - d3d11_quad_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 249
    functionDepth: 3
    functionLinenumber: 249
    functionLinenumberEnd: 287
    functionName: D3D11_AllocateQuad
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_quad.cpp
    functionUses: 0
    functionsReached:
    - AllocQuadVertices
    - FAILED
    - d3d11_device_t*::d3ddevice::CreateBuffer
    - msg_Err
    - d3d11_quad_t*::Reset
    linkageType: ''
    returnType: int
    signature: "int D3D11_AllocateQuad(vlc_object_t *o, d3d11_device_t *d3d_dev,\n
      \                      video_projection_mode_t projection, d3d11_quad_t *quad)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: D3D_SetupQuad
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:293,1
    - Dst: ShaderUpdateConstants
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:295,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:297,1
    - Dst: DxgiResourceCount
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - o
    - d3d_dev
    - fmt
    - quad
    - displayFormat
    argTypes:
    - vlc_object_t*
    - d3d11_device_t*
    - video_format_t*
    - d3d11_quad_t*
    - display_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 290
    functionDepth: 5
    functionLinenumber: 290
    functionLinenumberEnd: 305
    functionName: D3D11_SetupQuad
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_quad.cpp
    functionUses: 0
    functionsReached:
    - DxgiResourceCount
    - ShaderUpdateConstants
    - D3D_SetupQuad
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: "int D3D11_SetupQuad(vlc_object_t *o, d3d11_device_t *d3d_dev, const
      video_format_t *fmt, d3d11_quad_t *quad,\n                    const display_info_t
      *displayFormat)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:375,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 2
    argNames:
    - place
    - display
    argTypes:
    - vout_display_place_t*
    - d3d_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 377
    functionName: d3d11_quad_t::UpdateViewport
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_quad.cpp
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    linkageType: ''
    returnType: void
    signature: void d3d11_quad_t::UpdateViewport(const vout_display_place_t *place,
      const d3d_format_t *display)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: d3ddevice::QueryInterface
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:383,1
    - Dst: IID_GRAPHICS_PPV_ARGS
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:383,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:384,1
    - Dst: ComPtr::CreateFence
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:386,1
    - Dst: IID_GRAPHICS_PPV_ARGS
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:386,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:387,1
    - Dst: d3dcontext::QueryInterface
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:389,1
    - Dst: IID_GRAPHICS_PPV_ARGS
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:389,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:390,1
    - Dst: CreateEvent
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:392,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:393,1
    - Dst: d3dRenderFence::Reset
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:397,1
    - Dst: d3dcontext4::Reset
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:398,1
    - Dst: CloseHandle
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:399,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - ' d3d_dev'
    - ' fence'
    argTypes:
    - d3d11_device_t
    - d3d11_gpu_fence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 401
    functionName: D3D11_InitFence
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_quad.cpp
    functionUses: 0
    functionsReached:
    - CreateEvent
    - CloseHandle
    - d3dcontext4::Reset
    - ComPtr::CreateFence
    - FAILED
    - d3dcontext::QueryInterface
    - d3ddevice::QueryInterface
    - d3dRenderFence::Reset
    - unlikely
    - IID_GRAPHICS_PPV_ARGS
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT D3D11_InitFence(d3d11_device_t & d3d_dev, d3d11_gpu_fence &
      fence)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d3dcontext4::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:405,1
    - Dst: d3dRenderFence::Reset
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:407,1
    - Dst: d3dcontext4::Reset
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:408,1
    - Dst: CloseHandle
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' fence'
    argTypes:
    - d3d11_gpu_fence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 412
    functionName: D3D11_ReleaseFence
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_quad.cpp
    functionUses: 0
    functionsReached:
    - d3dcontext4::Reset
    - d3dcontext4::Get
    - CloseHandle
    - d3dRenderFence::Reset
    linkageType: ''
    returnType: void
    signature: void D3D11_ReleaseFence(d3d11_gpu_fence & fence)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: d3dcontext4::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:416,1
    - Dst: ResetEvent
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:423,1
    - Dst: d3dRenderFence::SetEventOnCompletion
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:424,1
    - Dst: d3dcontext4::Signal
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:425,1
    - Dst: d3dRenderFence::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:425,1
    - Dst: WaitForSingleObject
      Src: /src/vlc/modules/video_output/win32/d3d11_quad.cpp:427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' fence'
    argTypes:
    - d3d11_gpu_fence
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 431
    functionName: D3D11_WaitFence
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_quad.cpp
    functionUses: 0
    functionsReached:
    - WaitForSingleObject
    - ResetEvent
    - d3dcontext4::Signal
    - d3dRenderFence::Get
    - d3dcontext4::Get
    - d3dRenderFence::SetEventOnCompletion
    linkageType: ''
    returnType: int
    signature: int D3D11_WaitFence(d3d11_gpu_fence & fence)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vout_display_sys_t *>
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:204,1
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:247,1
    - Dst: is_d3d11_opaque
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:262,1
    - Dst: vlc_fourcc_IsYUV
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:263,1
    - Dst: vout_display_sys_t*::updateOutputCb
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:270,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:272,1
    - Dst: D3D11_UpscalerUpdate
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:278,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:278,1
    - Dst: D3D11_UpscalerUsed
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:283,1
    - Dst: D3D11_UpscalerGetSize
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:285,1
    - Dst: vout_display_PlaceEquals
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:300,1
    - Dst: D3D11_RenderFormat
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:306,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:307,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:309,1
    - Dst: Direct3D11CreateFormatResources
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:345,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:346,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 95
    argCount: 2
    argNames:
    - vd
    - fmt
    argTypes:
    - vout_display_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 352
    functionName: UpdateDisplayFormat
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 0
    functionsReached:
    - D3D11_UpscalerUsed
    - D3D11_RenderFormat
    - vout_display_PlaceEquals
    - is_d3d11_opaque
    - D3D11_UpscalerUpdate
    - Direct3D11CreateFormatResources
    - msg_Err
    - vlc_fourcc_IsYUV
    - static_cast<vout_display_sys_t *>
    - vout_display_sys_t*::updateOutputCb
    - vlc_fourcc_GetChromaDescription
    - VLC_OBJECT
    - D3D11_UpscalerGetSize
    - unlikely
    linkageType: ''
    returnType: int
    signature: int UpdateDisplayFormat(vout_display_t *vd, const video_format_t *fmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vout_display_sys_t *>
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:356,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:357,1
    - Dst: UpdateDisplayFormat
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:360,1
    - Dst: D3D11_UpscalerUsed
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:363,1
    - Dst: vout_display_sys_t*::picQuad::UpdateViewport
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:367,1
    - Dst: d3d11_device_lock
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:369,1
    - Dst: D3D11_UpdateQuadPosition
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:371,1
    - Dst: video_format_GetTransform
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:372,1
    - Dst: D3D11_UpdateViewpoint
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:374,1
    - Dst: d3d11_device_unlock
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:377,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 354
    functionDepth: 3
    functionLinenumber: 354
    functionLinenumberEnd: 386
    functionName: UpdateSize
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 1
    functionsReached:
    - D3D11_UpscalerUsed
    - D3D11_UpdateQuadPosition
    - UpdateDisplayFormat
    - d3d11_device_unlock
    - video_format_GetTransform
    - vout_display_sys_t*::picQuad::UpdateViewport
    - static_cast<vout_display_sys_t *>
    - msg_Dbg
    - D3D11_UpdateViewpoint
    - d3d11_device_lock
    linkageType: ''
    returnType: void
    signature: void UpdateSize(vout_display_t *vd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vout_display_sys_t *>
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:390,1
    - Dst: vout_display_sys_t*::picQuad::viewpointShaderConstant::Get
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:391,1
    - Dst: d3d11_device_lock
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:393,1
    - Dst: D3D11_UpdateViewpoint
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:394,1
    - Dst: d3d11_device_unlock
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - vd
    - viewpoint
    argTypes:
    - vout_display_t*
    - vlc_viewpoint_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 399
    functionName: SetViewpoint
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 0
    functionsReached:
    - d3d11_device_unlock
    - D3D11_UpdateViewpoint
    - static_cast<vout_display_sys_t *>
    - d3d11_device_lock
    - vout_display_sys_t*::picQuad::viewpointShaderConstant::Get
    linkageType: ''
    returnType: int
    signature: int SetViewpoint(vout_display_t *vd, const vlc_viewpoint_t *viewpoint)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vout_display_sys_t *>
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:403,1
    - Dst: is_d3d11_opaque
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:412,1
    - Dst: AllocateTextures
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:417,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:420,1
    - Dst: D3D11_AllocateResourceView
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:424,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:424,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:427,1
    - Dst: vout_display_sys_t*::old_feature::d3dviddev::CreateVideoProcessorOutputView
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:441,1
    - Dst: vout_display_sys_t*::old_feature::enumerator::Get
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:443,1
    - Dst: vout_display_sys_t*::old_feature::outputView::ReleaseAndGetAddressOf
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:445,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:446,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:448,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - vd
    - fmt
    argTypes:
    - vout_display_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 453
    functionName: UpdateStaging
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 0
    functionsReached:
    - vout_display_sys_t*::old_feature::enumerator::Get
    - is_d3d11_opaque
    - vout_display_sys_t*::old_feature::d3dviddev::CreateVideoProcessorOutputView
    - vlc_object_logger
    - AllocateTextures
    - FAILED
    - msg_Err
    - static_cast<vout_display_sys_t *>
    - msg_Dbg
    - D3D11_AllocateResourceView
    - vout_display_sys_t*::old_feature::outputView::ReleaseAndGetAddressOf
    linkageType: ''
    returnType: int
    signature: int UpdateStaging(vout_display_t *vd, const video_format_t *fmt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:457,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:459,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:461,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:463,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - logger
    - psz_hdr
    argTypes:
    - vlc_logger*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 468
    functionName: HdrModeFromString
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 0
    functionsReached:
    - strcmp
    - vlc_warning
    linkageType: ''
    returnType: enum d3d11_hdr
    signature: enum d3d11_hdr HdrModeFromString(vlc_logger *logger, const char *psz_hdr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vout_display_sys_t *>
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:472,1
    - Dst: CreateDXGIFactory1
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:485,1
    - Dst: IID_GRAPHICS_PPV_ARGS
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:485,1
    - Dst: ComPtr::GetAddressOf
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:485,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:486,1
    - Dst: ComPtr::EnumAdapters
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:489,1
    - Dst: ComPtr::GetAddressOf
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:489,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:490,1
    - Dst: ComPtr::EnumOutputs
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:493,1
    - Dst: ComPtr::GetAddressOf
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:493,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:494,1
    - Dst: ComPtr::As
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:496,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:497,1
    - Dst: ComPtr::GetDesc1
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:499,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:500,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:504,1
    - Dst: D3D11_TonemapperCreate
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:509,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:509,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:512,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:518,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 2
    argNames:
    - vd
    - fmt_in
    argTypes:
    - vout_display_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 519
    functionName: InitTonemapProcessor
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 0
    functionsReached:
    - D3D11_TonemapperCreate
    - ComPtr::GetDesc1
    - CreateDXGIFactory1
    - ComPtr::EnumOutputs
    - FAILED
    - ComPtr::GetAddressOf
    - ComPtr::As
    - static_cast<vout_display_sys_t *>
    - msg_Dbg
    - VLC_OBJECT
    - msg_Warn
    - ComPtr::EnumAdapters
    - IID_GRAPHICS_PPV_ARGS
    linkageType: ''
    returnType: void
    signature: void InitTonemapProcessor(vout_display_t *vd, const video_format_t
      *fmt_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vout_display_sys_t *>
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:523,1
    - Dst: Direct3D11CreateFormatResources
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vd
    - projection
    argTypes:
    - vout_display_t*
    - video_projection_mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 526
    functionName: ChangeSourceProjection
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 0
    functionsReached:
    - static_cast<vout_display_sys_t *>
    - Direct3D11CreateFormatResources
    linkageType: ''
    returnType: int
    signature: int ChangeSourceProjection(vout_display_t *vd, video_projection_mode_t
      projection)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vout_display_sys_t *>
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:530,1
    - Dst: video_format_Copy
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:533,1
    - Dst: video_format_Copy
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:534,1
    - Dst: SetupOutputFormat
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:536,1
    - Dst: UpdateDisplayFormat
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:540,1
    - Dst: Direct3D11CreateFormatResources
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:544,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:548,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:552,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - vd
    - fmtp
    - vctx
    argTypes:
    - vout_display_t*
    - video_format_t*
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 528
    functionDepth: 3
    functionLinenumber: 528
    functionLinenumberEnd: 554
    functionName: UpdateFormat
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 2
    functionsReached:
    - video_format_Copy
    - UpdateDisplayFormat
    - Direct3D11CreateFormatResources
    - static_cast<vout_display_sys_t *>
    - video_format_Clean
    - SetupOutputFormat
    linkageType: ''
    returnType: int
    signature: int UpdateFormat(vout_display_t *vd, const video_format_t *fmtp, vlc_video_context
      *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:558,1
    - Dst: UpdateSource
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vd
    - place
    argTypes:
    - vout_display_t*
    - vout_display_place_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 560
    functionName: PlacementChanged
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 2
    functionsReached:
    - UpdateSource
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int PlacementChanged(vout_display_t *vd, const vout_display_place_t
      *place)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:564,1
    - Dst: UpdateSource
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vd
    - source
    argTypes:
    - vout_display_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 566
    functionName: AspectChanged
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 0
    functionsReached:
    - UpdateSource
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int AspectChanged(vout_display_t *vd, const video_format_t *source)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vout_display_sys_t::vout_display_sys_t
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:586,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:591,1
    - Dst: HdrModeFromString
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:592,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:592,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:593,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:597,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:598,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:599,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:600,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:601,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:602,1
    - Dst: GetD3D11OpaqueContext
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:604,1
    - Dst: D3D11_CreateDevice
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:608,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:610,1
    - Dst: InitTonemapProcessor
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:618,1
    - Dst: WINAPI_FAMILY_PARTITION
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:622,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:623,1
    - Dst: CommonWindowInit
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:628,1
    - Dst: DXGI_CreateLocalSwapchainHandleDComp
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:636,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:636,1
    - Dst: DXGI_CreateLocalSwapchainHandleHwnd
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:640,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:640,1
    - Dst: CommonVideoHWND
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:640,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:641,1
    - Dst: D3D11_CreateLocalSwapchain
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:644,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:644,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:646,1
    - Dst: DXGI_LocalSwapchainCleanupDevice
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:648,1
    - Dst: Direct3D11Open
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:660,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:661,1
    - Dst: vlc_window_SetTitle
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:665,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:666,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:668,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:680,1
    - Dst: Close
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:685,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 72
    argCount: 3
    argNames:
    - vd
    - fmtp
    - context
    argTypes:
    - vout_display_t*
    - video_format_t*
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 583
    functionDepth: 2
    functionLinenumber: 583
    functionLinenumberEnd: 687
    functionName: OpenGeneric
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 0
    functionsReached:
    - DXGI_CreateLocalSwapchainHandleDComp
    - var_InheritAddress
    - Direct3D11Open
    - D3D11_CreateLocalSwapchain
    - DXGI_LocalSwapchainCleanupDevice
    - vlc_window_SetTitle
    - msg_Err
    - WINAPI_FAMILY_PARTITION
    - msg_Dbg
    - D3D11_CreateDevice
    - InitTonemapProcessor
    - var_InheritBool
    - HdrModeFromString
    - vout_display_sys_t::vout_display_sys_t
    - CommonVideoHWND
    - GetD3D11OpaqueContext
    - CommonWindowInit
    - Close
    - var_InheritString
    - vlc_object_logger
    - free
    - DXGI_CreateLocalSwapchainHandleHwnd
    - VLC_OBJECT
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int OpenGeneric(vout_display_t *vd,\n                video_format_t
      *fmtp, vlc_video_context *context)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OpenGeneric
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:696,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - vd
    - fmtp
    - context
    argTypes:
    - vout_display_t*
    - video_format_t*
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 697
    functionName: OpenDisplay
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 5
    functionsReached:
    - OpenGeneric
    linkageType: ''
    returnType: int
    signature: "int OpenDisplay(vout_display_t *vd,\n                       video_format_t
      *fmtp, vlc_video_context *context)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OpenGeneric
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:707,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - vd
    - fmtp
    - context
    argTypes:
    - vout_display_t*
    - video_format_t*
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 708
    functionName: OpenDrawable
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 0
    functionsReached:
    - OpenGeneric
    linkageType: ''
    returnType: int
    signature: "int OpenDrawable(vout_display_t *vd,\n                        video_format_t
      *fmtp, vlc_video_context *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vout_display_sys_t *>
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:712,1
    - Dst: WINAPI_FAMILY_PARTITION
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:713,1
    - Dst: CommonWindowClean
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:714,1
    - Dst: Direct3D11Close
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 710
    functionDepth: 2
    functionLinenumber: 710
    functionLinenumberEnd: 718
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 162
    functionsReached:
    - WINAPI_FAMILY_PARTITION
    - Direct3D11Close
    - static_cast<vout_display_sys_t *>
    - CommonWindowClean
    linkageType: ''
    returnType: void
    signature: void Close(vout_display_t *vd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vout_display_sys_t *>
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:722,1
    - Dst: D3D11_UpscalerUpdate
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:727,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:727,1
    - Dst: D3D11_UpscalerUsed
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:732,1
    - Dst: D3D11_UpscalerGetSize
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:734,1
    - Dst: WINAPI_FAMILY_PARTITION
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:758,1
    - Dst: CommonDisplaySizeChanged
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:759,1
    - Dst: UpdateSize
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:764,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - vd
    - width
    - height
    argTypes:
    - vout_display_t*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 720
    functionDepth: 4
    functionLinenumber: 720
    functionLinenumberEnd: 767
    functionName: SetDisplaySize
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 0
    functionsReached:
    - D3D11_UpscalerUsed
    - D3D11_UpscalerUpdate
    - UpdateSize
    - WINAPI_FAMILY_PARTITION
    - CommonDisplaySizeChanged
    - static_cast<vout_display_sys_t *>
    - VLC_OBJECT
    - D3D11_UpscalerGetSize
    linkageType: ''
    returnType: int
    signature: int SetDisplaySize(vout_display_t *vd, unsigned width, unsigned height)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vout_display_sys_t *>
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:771,1
    - Dst: D3D11_UpscalerUpdate
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:776,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:776,1
    - Dst: D3D11_UpscalerUsed
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:781,1
    - Dst: D3D11_UpscalerGetSize
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:783,1
    - Dst: vout_display_PlaceEquals
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:817,1
    - Dst: UpdateSize
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:822,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - vd
    - force_placement
    argTypes:
    - vout_display_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 769
    functionDepth: 4
    functionLinenumber: 769
    functionLinenumberEnd: 826
    functionName: UpdateSource
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 2
    functionsReached:
    - D3D11_UpscalerUsed
    - vout_display_PlaceEquals
    - D3D11_UpscalerUpdate
    - UpdateSize
    - static_cast<vout_display_sys_t *>
    - VLC_OBJECT
    - D3D11_UpscalerGetSize
    linkageType: ''
    returnType: int
    signature: int UpdateSource(vout_display_t *vd, bool force_placement)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vout_display_sys_t *>
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:830,1
    - Dst: vout_display_sys_t*::selectPlaneCb
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:836,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - opaque
    - plane
    - targetView
    argTypes:
    - void*
    - size_t
    - ID3D11RenderTargetView**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 837
    functionName: SelectRenderPlane
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 0
    functionsReached:
    - static_cast<vout_display_sys_t *>
    - vout_display_sys_t*::selectPlaneCb
    linkageType: ''
    returnType: bool
    signature: bool SelectRenderPlane(void *opaque, size_t plane, ID3D11RenderTargetView
      **targetView)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vout_display_sys_t *>
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:841,1
    - Dst: vout_display_sys_t*::old_feature::d3dviddev::CreateVideoProcessorInputView
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:852,1
    - Dst: vout_display_sys_t*::old_feature::enumerator::Get
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:854,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:857,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:860,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - vd
    - p_sys_src
    argTypes:
    - vout_display_t*
    - picture_sys_d3d11_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 839
    functionDepth: 1
    functionLinenumber: 839
    functionLinenumberEnd: 866
    functionName: assert_ProcessorInput
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 1
    functionsReached:
    - vout_display_sys_t*::old_feature::enumerator::Get
    - vout_display_sys_t*::old_feature::d3dviddev::CreateVideoProcessorInputView
    - FAILED
    - static_cast<vout_display_sys_t *>
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int assert_ProcessorInput(vout_display_t *vd, picture_sys_d3d11_t *p_sys_src)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:873,1
    - Dst: static_cast<vout_display_sys_t *>
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:874,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:882,1
    - Dst: vout_display_sys_t*::d3d_dev::d3dcontext::Map
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:886,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:888,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:888,1
    - Dst: vout_display_sys_t*::d3d_dev::d3dcontext::Unmap
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:891,1
    - Dst: static_cast<uint8_t*>
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:896,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:902,1
    - Dst: vout_display_sys_t*::d3d_dev::d3dcontext::Unmap
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:905,1
    - Dst: is_d3d11_opaque
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:908,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:913,1
    - Dst: vout_display_sys_t*::d3d_dev::d3dcontext::Map
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:915,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:917,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:917,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:918,1
    - Dst: static_cast<uint8_t*>
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:921,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:927,1
    - Dst: vout_display_sys_t*::d3d_dev::d3dcontext::Unmap
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:932,1
    - Dst: ActiveD3D11PictureSys
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:937,1
    - Dst: GetDesc
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:940,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:944,1
    - Dst: D3D11_TonemapperProcess
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:944,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:944,1
    - Dst: D3D11_UpscalerUsed
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:947,1
    - Dst: D3D11_UpscalerScale
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:949,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:949,1
    - Dst: D3D11_UpscalerGetSize
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:952,1
    - Dst: assert_ProcessorInput
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:960,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:962,1
    - Dst: vout_display_sys_t*::old_feature::d3dvidctx::VideoProcessorBlt
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:970,1
    - Dst: vout_display_sys_t*::old_feature::processor::Get
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:970,1
    - Dst: vout_display_sys_t*::old_feature::outputView::Get
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:971,1
    - Dst: GetDesc
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:978,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:981,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:983,1
    - Dst: vout_display_sys_t*::d3d_dev::d3dcontext::CopySubresourceRegion
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:985,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:998,1
    - Dst: UpdateSize
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1010,1
    - Dst: Direct3D11MapSubpicture
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1018,1
    - Dst: Direct3D11DeleteRegions
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1019,1
    - Dst: D3D11_UpdateQuadLuminanceScale
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1026,1
    - Dst: D3D_GetFormatLuminance
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1026,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1026,1
    - Dst: D3D11_UpscalerUsed
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1032,1
    - Dst: D3D11_UpscalerGetSRV
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1034,1
    - Dst: ActiveD3D11PictureSys
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1040,1
    - Dst: D3D11_TonemapperGetOutput
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1042,1
    - Dst: D3D11_RenderQuad
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1045,1
    - Dst: D3D11_RenderQuad
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1055,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1063,1
    - Dst: D3D11_WaitFence
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1064,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1065,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1065,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1065,1
    - Dst: D3D11_WaitFence
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1069,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 112
    argCount: 4
    argNames:
    - vd
    - picture
    - subpicture
    - date
    argTypes:
    - vout_display_t*
    - picture_t*
    - vlc_render_subpicture*
    - vlc_tick_t
    assertStmts:
    - condition: (p_sys->renderSrc[0]!=NULL)
      pos:
        line_end: 997
        line_start: 997
        source_file: /src/vlc/modules/video_output/win32/direct3d11.cpp
    - condition: (sys->use_staging_texture)
      pos:
        line_end: 881
        line_start: 881
        source_file: /src/vlc/modules/video_output/win32/direct3d11.cpp
    - condition: (sys->use_staging_texture)
      pos:
        line_end: 912
        line_start: 912
        source_file: /src/vlc/modules/video_output/win32/direct3d11.cpp
    constantsTouched: []
    func_position:
      end: 1071
      start: 869
    functionDepth: 4
    functionLinenumber: 869
    functionLinenumberEnd: 1071
    functionName: PreparePicture
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 0
    functionsReached:
    - D3D11_UpscalerScale
    - Direct3D11DeleteRegions
    - assert
    - D3D11_TonemapperProcess
    - is_d3d11_opaque
    - UpdateSize
    - D3D_GetFormatLuminance
    - plane_CopyPixels
    - vout_display_sys_t*::old_feature::d3dvidctx::VideoProcessorBlt
    - vlc_tick_now
    - msg_Err
    - msg_Dbg
    - vout_display_sys_t*::d3d_dev::d3dcontext::Map
    - assert_ProcessorInput
    - D3D11_TonemapperGetOutput
    - vout_display_sys_t*::d3d_dev::d3dcontext::CopySubresourceRegion
    - MS_FROM_VLC_TICK
    - GetDesc
    - vout_display_sys_t*::d3d_dev::d3dcontext::Unmap
    - vout_display_sys_t*::old_feature::outputView::Get
    - static_cast<uint8_t*>
    - vout_display_sys_t*::old_feature::processor::Get
    - D3D11_WaitFence
    - __MIN
    - D3D11_UpscalerGetSRV
    - D3D11_UpscalerGetSize
    - VLC_UNUSED
    - D3D11_UpdateQuadLuminanceScale
    - D3D11_UpscalerUsed
    - FAILED
    - ActiveD3D11PictureSys
    - Direct3D11MapSubpicture
    - static_cast<vout_display_sys_t *>
    - VLC_OBJECT
    - D3D11_RenderQuad
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void PreparePicture(vout_display_t *vd, picture_t *picture,\n                           const
      vlc_render_subpicture *subpicture,\n                           vlc_tick_t date)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vout_display_sys_t *>
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1076,1
    - Dst: d3d11_device_lock
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1078,1
    - Dst: vout_display_sys_t*::startEndRenderingCb
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1079,1
    - Dst: vout_display_sys_t*::sendMetadataCb
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1097,1
    - Dst: PreparePicture
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1100,1
    - Dst: vout_display_sys_t*::startEndRenderingCb
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1102,1
    - Dst: d3d11_device_unlock
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - vd
    - picture
    - subpicture
    - date
    argTypes:
    - vout_display_t*
    - picture_t*
    - vlc_render_subpicture*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1073
    functionDepth: 1
    functionLinenumber: 1073
    functionLinenumberEnd: 1105
    functionName: Prepare
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 48
    functionsReached:
    - PreparePicture
    - vout_display_sys_t*::sendMetadataCb
    - vout_display_sys_t*::startEndRenderingCb
    - d3d11_device_unlock
    - static_cast<vout_display_sys_t *>
    - d3d11_device_lock
    linkageType: ''
    returnType: void
    signature: "void Prepare(vout_display_t *vd, picture_t *picture,\n                    const
      vlc_render_subpicture *subpicture, vlc_tick_t date)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vout_display_sys_t *>
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1109,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1110,1
    - Dst: d3d11_device_lock
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1112,1
    - Dst: vout_display_sys_t*::swapCb
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1113,1
    - Dst: d3d11_device_unlock
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - vd
    - picture
    argTypes:
    - vout_display_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1107
    functionDepth: 1
    functionLinenumber: 1107
    functionLinenumberEnd: 1115
    functionName: Display
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 25
    functionsReached:
    - vout_display_sys_t*::swapCb
    - d3d11_device_unlock
    - static_cast<vout_display_sys_t *>
    - d3d11_device_lock
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void Display(vout_display_t *vd, picture_t *picture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vout_display_sys_t *>
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1119,1
    - Dst: FindD3D11Format
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vd
    - i_src_chroma
    argTypes:
    - vout_display_t*
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1117
    functionDepth: 1
    functionLinenumber: 1117
    functionLinenumberEnd: 1124
    functionName: GetDirectRenderingFormat
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 0
    functionsReached:
    - FindD3D11Format
    - static_cast<vout_display_sys_t *>
    linkageType: ''
    returnType: d3d_format_t
    signature: d3d_format_t *GetDirectRenderingFormat(vout_display_t *vd, vlc_fourcc_t
      i_src_chroma)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vout_display_sys_t *>
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1133,1
    - Dst: FindD3D11Format
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1143,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 7
    argNames:
    - vd
    - bit_depth
    - widthDenominator
    - heightDenominator
    - alpha_bits
    - from_processor
    - rgb_yuv
    argTypes:
    - vout_display_t*
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1126
    functionDepth: 1
    functionLinenumber: 1126
    functionLinenumberEnd: 1155
    functionName: GetDisplayFormatByDepth
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 0
    functionsReached:
    - FindD3D11Format
    - static_cast<vout_display_sys_t *>
    - msg_Dbg
    linkageType: ''
    returnType: d3d_format_t
    signature: "d3d_format_t *GetDisplayFormatByDepth(vout_display_t *vd, uint8_t
      bit_depth,\n                                                   uint8_t widthDenominator,\n
      \                                                  uint8_t heightDenominator,\n
      \                                                  uint8_t alpha_bits,\n                                                   bool
      from_processor,\n                                                   int rgb_yuv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vout_display_sys_t *>
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1159,1
    - Dst: FindD3D11Format
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vd
    - i_src_chroma
    argTypes:
    - vout_display_t*
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1157
    functionDepth: 1
    functionLinenumber: 1157
    functionLinenumberEnd: 1163
    functionName: GetBlendableFormat
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 0
    functionsReached:
    - FindD3D11Format
    - static_cast<vout_display_sys_t *>
    linkageType: ''
    returnType: d3d_format_t
    signature: d3d_format_t *GetBlendableFormat(vout_display_t *vd, vlc_fourcc_t i_src_chroma)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vout_display_sys_t *>
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1167,1
    - Dst: D3D11_UpscalerCreate
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1171,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1171,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1175,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1165
    functionDepth: 1
    functionLinenumber: 1165
    functionLinenumberEnd: 1180
    functionName: InitScaleProcessor
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 0
    functionsReached:
    - D3D11_UpscalerCreate
    - static_cast<vout_display_sys_t *>
    - VLC_OBJECT
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void InitScaleProcessor(vout_display_t *vd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vout_display_sys_t *>
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1184,1
    - Dst: video_format_Copy
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1187,1
    - Dst: video_format_Copy
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1188,1
    - Dst: SetupOutputFormat
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1189,1
    - Dst: is_d3d11_opaque
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1192,1
    - Dst: WINAPI_FAMILY_PARTITION
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1193,1
    - Dst: SetupOutputFormat
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1205,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1209,1
    - Dst: WINAPI_FAMILY_PARTITION
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1214,1
    - Dst: D3D11_LocalSwapchainCleanupDevice
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1217,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - vd
    - fmtp
    - vctx
    argTypes:
    - vout_display_t*
    - video_format_t*
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1182
    functionDepth: 1
    functionLinenumber: 1182
    functionLinenumberEnd: 1223
    functionName: Direct3D11Open
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 1
    functionsReached:
    - D3D11_LocalSwapchainCleanupDevice
    - video_format_Copy
    - is_d3d11_opaque
    - free
    - WINAPI_FAMILY_PARTITION
    - static_cast<vout_display_sys_t *>
    - SetupOutputFormat
    linkageType: ''
    returnType: int
    signature: int Direct3D11Open(vout_display_t *vd, video_format_t *fmtp, vlc_video_context
      *vctx)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vout_display_sys_t *>
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1292,1
    - Dst: GetD3D11ContextPrivate
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1297,1
    - Dst: D3D11_DeviceSupportsFormat
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1300,1
    - Dst: D3D11_RenderFormat
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1302,1
    - Dst: likely
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1303,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1305,1
    - Dst: DxgiFormatToStr
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1305,1
    - Dst: DxgiFormatToStr
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1305,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1309,1
    - Dst: DxgiFormatToStr
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1309,1
    - Dst: D3D11_DeviceSupportsFormat
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1310,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1312,1
    - Dst: DxgiFormatToStr
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1312,1
    - Dst: GetDirectRenderingFormat
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1323,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1328,1
    - Dst: is_d3d11_opaque
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1335,1
    - Dst: DxgiFormatFourcc
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1336,1
    - Dst: is_nvdec_opaque
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1337,1
    - Dst: NVDECToVlcChroma
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1338,1
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1342,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1343,1
    - Dst: vlc_fourcc_IsYUV
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1394,1
    - Dst: GetDisplayFormatByDepth
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1395,1
    - Dst: GetDisplayFormatByDepth
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1402,1
    - Dst: is_d3d11_opaque
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1410,1
    - Dst: GetDisplayFormatByDepth
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1412,1
    - Dst: GetDisplayFormatByDepth
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1423,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 83
    argCount: 3
    argNames:
    - vd
    - fmt
    - vctx
    argTypes:
    - vout_display_t*
    - video_format_t*
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1290
    functionDepth: 2
    functionLinenumber: 1290
    functionLinenumberEnd: 1424
    functionName: SelectOutputFormat
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 0
    functionsReached:
    - GetDirectRenderingFormat
    - D3D11_RenderFormat
    - GetDisplayFormatByDepth
    - is_d3d11_opaque
    - D3D11_DeviceSupportsFormat
    - GetD3D11ContextPrivate
    - likely
    - static_cast<vout_display_sys_t *>
    - msg_Dbg
    - DxgiFormatToStr
    - DxgiFormatFourcc
    - NVDECToVlcChroma
    - vlc_fourcc_GetChromaDescription
    - unlikely
    - vlc_fourcc_IsYUV
    - is_nvdec_opaque
    linkageType: ''
    returnType: d3d_format_t
    signature: d3d_format_t *SelectOutputFormat(vout_display_t *vd, const video_format_t
      *fmt, vlc_video_context *vctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vout_display_sys_t *>
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1428,1
    - Dst: auto::d3ddevice::QueryInterface
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1432,1
    - Dst: IID_GRAPHICS_PPV_ARGS
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1432,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1433,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1433,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1435,1
    - Dst: auto::d3dcontext::QueryInterface
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1439,1
    - Dst: IID_GRAPHICS_PPV_ARGS
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1439,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1440,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1440,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1442,1
    - Dst: vout_display_sys_t*::old_feature::d3dviddev::CreateVideoProcessorEnumerator
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1459,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1460,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1462,1
    - Dst: vout_display_sys_t*::old_feature::d3dviddev::CreateVideoProcessor
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1466,1
    - Dst: vout_display_sys_t*::old_feature::enumerator::Get
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1466,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1468,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1470,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 2
    argNames:
    - vd
    - fmt
    argTypes:
    - vout_display_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1426
    functionDepth: 1
    functionLinenumber: 1426
    functionLinenumberEnd: 1475
    functionName: SetupInternalConverter
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 0
    functionsReached:
    - vout_display_sys_t*::old_feature::enumerator::Get
    - FAILED
    - auto::d3dcontext::QueryInterface
    - vout_display_sys_t*::old_feature::d3dviddev::CreateVideoProcessor
    - msg_Err
    - auto::d3ddevice::QueryInterface
    - static_cast<vout_display_sys_t *>
    - msg_Dbg
    - vout_display_sys_t*::old_feature::d3dviddev::CreateVideoProcessorEnumerator
    - unlikely
    - IID_GRAPHICS_PPV_ARGS
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT SetupInternalConverter(vout_display_t *vd, video_format_t *fmt)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vout_display_sys_t *>
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1479,1
    - Dst: likely
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1485,1
    - Dst: D3D11_DeviceSupportsFormat
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1485,1
    - Dst: D3D11_RenderFormat
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1487,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1500,1
    - Dst: SelectOutputFormat
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1505,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1508,1
    - Dst: GetD3D11ContextPrivate
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1514,1
    - Dst: FindD3D11Format
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1519,1
    - Dst: SetupInternalConverter
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1521,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1522,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1524,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1530,1
    - Dst: GetBlendableFormat
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1536,1
    - Dst: GetBlendableFormat
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1538,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 4
    argNames:
    - vd
    - fmt
    - vctx
    - quad_fmt
    argTypes:
    - vout_display_t*
    - video_format_t*
    - vlc_video_context*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1477
    functionDepth: 3
    functionLinenumber: 1477
    functionLinenumberEnd: 1541
    functionName: SetupOutputFormat
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 2
    functionsReached:
    - FindD3D11Format
    - D3D11_RenderFormat
    - SetupInternalConverter
    - FAILED
    - msg_Err
    - GetBlendableFormat
    - D3D11_DeviceSupportsFormat
    - static_cast<vout_display_sys_t *>
    - likely
    - SelectOutputFormat
    - GetD3D11ContextPrivate
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int SetupOutputFormat(vout_display_t *vd, video_format_t *fmt, vlc_video_context
      *vctx, video_format_t *quad_fmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vout_display_sys_t *>
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1545,1
    - Dst: Direct3D11DestroyResources
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1547,1
    - Dst: WINAPI_FAMILY_PARTITION
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1549,1
    - Dst: D3D11_LocalSwapchainCleanupDevice
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1552,1
    - Dst: D3D11_ReleaseDevice
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1558,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1560,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1543
    functionDepth: 2
    functionLinenumber: 1543
    functionLinenumberEnd: 1561
    functionName: Direct3D11Close
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 1
    functionsReached:
    - D3D11_LocalSwapchainCleanupDevice
    - D3D11_ReleaseDevice
    - Direct3D11DestroyResources
    - WINAPI_FAMILY_PARTITION
    - static_cast<vout_display_sys_t *>
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void Direct3D11Close(vout_display_t *vd)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vout_display_sys_t *>
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1567,1
    - Dst: is_d3d11_opaque
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1570,1
    - Dst: D3D11_CompilePixelShaderBlob
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1580,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1584,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1586,1
    - Dst: D3D11_SetQuadPixelShader
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1589,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1589,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1591,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1593,1
    - Dst: D3D11_AllocateQuad
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1597,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1599,1
    - Dst: D3D11_SetupQuad
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1603,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1605,1
    - Dst: D3D11_UpdateQuadPosition
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1609,1
    - Dst: video_format_GetTransform
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1610,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1612,1
    - Dst: D3D11_UpdateViewpoint
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1618,1
    - Dst: is_d3d11_opaque
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1621,1
    - Dst: vout_display_sys_t*::d3d_dev::d3ddevice::QueryInterface
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1623,1
    - Dst: IID_GRAPHICS_PPV_ARGS
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1623,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1624,1
    - Dst: ComPtr::SetMultithreadProtected
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1625,1
    - Dst: UpdateStaging
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1628,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - vd
    - fmt
    argTypes:
    - vout_display_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1565
    functionDepth: 3
    functionLinenumber: 1565
    functionLinenumberEnd: 1629
    functionName: Direct3D11CreateFormatResources
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 3
    functionsReached:
    - vout_display_sys_t*::d3d_dev::d3ddevice::QueryInterface
    - D3D11_AllocateQuad
    - D3D11_UpdateQuadPosition
    - is_d3d11_opaque
    - FAILED
    - msg_Err
    - D3D11_CompilePixelShaderBlob
    - D3D11_SetupQuad
    - video_format_GetTransform
    - static_cast<vout_display_sys_t *>
    - D3D11_UpdateViewpoint
    - VLC_OBJECT
    - SUCCEEDED
    - UpdateStaging
    - D3D11_SetQuadPixelShader
    - ComPtr::SetMultithreadProtected
    - IID_GRAPHICS_PPV_ARGS
    linkageType: ''
    returnType: int
    signature: int Direct3D11CreateFormatResources(vout_display_t *vd, const video_format_t
      *fmt)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vout_display_sys_t *>
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1633,1
    - Dst: D3D11_InitFence
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1636,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1637,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1639,1
    - Dst: vout_display_sys_t*::d3d_dev::d3ddevice::CreateBlendState
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1655,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1656,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1657,1
    - Dst: vout_display_sys_t*::d3d_dev::d3dcontext::OMSetBlendState
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1660,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1660,1
    - Dst: vout_display_sys_t*::d3d_dev::d3ddevice::CreateDepthStencilState
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1669,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1670,1
    - Dst: vout_display_sys_t*::d3d_dev::d3dcontext::OMSetDepthStencilState
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1671,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1671,1
    - Dst: D3D11_CompilePixelShaderBlob
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1676,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1679,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1681,1
    - Dst: D3D11_SetQuadPixelShader
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1684,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1684,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1686,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1688,1
    - Dst: D3D11_CompileVertexShaderBlob
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1694,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1694,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1695,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1696,1
    - Dst: D3D11_CreateVertexShader
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1699,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1700,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1701,1
    - Dst: D3D11_CompileVertexShaderBlob
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1706,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1706,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1707,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1708,1
    - Dst: D3D11_CreateVertexShader
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1711,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1712,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1713,1
    - Dst: D3D11_UpscalerUsed
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1718,1
    - Dst: vout_display_sys_t*::picQuad::UpdateViewport
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1722,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1725,1
    - Dst: D3D11_UpdateViewpoint
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1730,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1733,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 62
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1735
      start: 1631
    functionDepth: 2
    functionLinenumber: 1631
    functionLinenumberEnd: 1735
    functionName: Direct3D11CreateGenericResources
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 0
    functionsReached:
    - D3D11_CompileVertexShaderBlob
    - vout_display_sys_t*::d3d_dev::d3ddevice::CreateBlendState
    - vout_display_sys_t*::d3d_dev::d3dcontext::OMSetDepthStencilState
    - ComPtr::Get
    - SUCCEEDED
    - D3D11_SetQuadPixelShader
    - vout_display_sys_t*::d3d_dev::d3ddevice::CreateDepthStencilState
    - msg_Err
    - D3D11_CompilePixelShaderBlob
    - msg_Dbg
    - D3D11_UpdateViewpoint
    - D3D11_InitFence
    - D3D11_CreateVertexShader
    - vout_display_sys_t*::d3d_dev::d3dcontext::OMSetBlendState
    - vout_display_sys_t*::picQuad::UpdateViewport
    - D3D11_UpscalerUsed
    - FAILED
    - static_cast<vout_display_sys_t *>
    - VLC_OBJECT
    linkageType: ''
    returnType: int
    signature: int Direct3D11CreateGenericResources(vout_display_t *vd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vout_display_sys_t *>
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1739,1
    - Dst: D3D11_TonemapperDestroy
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1743,1
    - Dst: D3D11_UpscalerDestroy
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1748,1
    - Dst: vout_display_sys_t*::picQuad::Reset
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1752,1
    - Dst: Direct3D11DeleteRegions
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1753,1
    - Dst: vout_display_sys_t*::regionQuad::Reset
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1755,1
    - Dst: ReleaseD3D11PictureSys
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1757,1
    - Dst: D3D11_ReleaseVertexShader
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1759,1
    - Dst: D3D11_ReleaseVertexShader
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1760,1
    - Dst: D3D11_ReleaseFence
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1762,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1764,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1737
    functionDepth: 2
    functionLinenumber: 1737
    functionLinenumberEnd: 1765
    functionName: Direct3D11DestroyResources
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 1
    functionsReached:
    - D3D11_UpscalerDestroy
    - Direct3D11DeleteRegions
    - D3D11_ReleaseFence
    - D3D11_TonemapperDestroy
    - vout_display_sys_t*::regionQuad::Reset
    - D3D11_ReleaseVertexShader
    - static_cast<vout_display_sys_t *>
    - vout_display_sys_t*::picQuad::Reset
    - ReleaseD3D11PictureSys
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void Direct3D11DestroyResources(vout_display_t *vd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: picture_Release
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1771,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1774,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - count
    - region
    argTypes:
    - int
    - picture_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1775
      start: 1767
    functionDepth: 1
    functionLinenumber: 1767
    functionLinenumberEnd: 1775
    functionName: Direct3D11DeleteRegions
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 2
    functionsReached:
    - free
    - picture_Release
    linkageType: ''
    returnType: void
    signature: void Direct3D11DeleteRegions(int count, picture_t **region)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<d3d11_quad_t *>
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_picture
    argTypes:
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1777
    functionDepth: 0
    functionLinenumber: 1777
    functionLinenumberEnd: 1781
    functionName: DestroyPictureQuad
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 0
    functionsReached:
    - static_cast<d3d11_quad_t *>
    linkageType: ''
    returnType: void
    signature: void DestroyPictureQuad(picture_t *p_picture)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<vout_display_sys_t *>
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1786,1
    - Dst: video_format_GetTransform
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1795,1
    - Dst: static_cast<picture_t**>
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1800,1
    - Dst: calloc
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1800,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1801,1
    - Dst: vlc_vector_foreach
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1806,1
    - Dst: static_cast<d3d11_quad_t *>
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1815,1
    - Dst: GetDesc
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1817,1
    - Dst: memset
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1822,1
    - Dst: static_cast<d3d11_quad_t*>
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1832,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1834,1
    - Dst: video_format_Copy
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1835,1
    - Dst: d3d11_quad_t::d3d11_quad_t
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1839,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1840,1
    - Dst: AllocateTextures
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1845,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1847,1
    - Dst: Release
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1851,1
    - Dst: D3D11_AllocateResourceView
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1857,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1857,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1860,1
    - Dst: video_format_Copy
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1866,1
    - Dst: D3D11_AllocateQuad
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1871,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1874,1
    - Dst: D3D11_SetupQuad
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1881,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1883,1
    - Dst: picture_NewFromResource
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1899,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1901,1
    - Dst: d3d11_quad_t*::Reset
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1903,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1908,1
    - Dst: vout_display_sys_t*::d3d_dev::d3dcontext::Map
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1918,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1919,1
    - Dst: picture_UpdatePlanes
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1920,1
    - Dst: static_cast<uint8_t*>
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1920,1
    - Dst: picture_CopyPixels
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1922,1
    - Dst: vout_display_sys_t*::d3d_dev::d3dcontext::Unmap
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1924,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1926,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1927,1
    - Dst: D3D11_UpdateQuadPosition
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1956,1
    - Dst: d3d11_quad_t*::UpdateViewport
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1959,1
    - Dst: D3D11_UpdateQuadOpacity
      Src: /src/vlc/modules/video_output/win32/direct3d11.cpp:1961,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 124
    argCount: 4
    argNames:
    - vd
    - subpicture_region_count
    - region
    - subpicture
    argTypes:
    - vout_display_t*
    - int*
    - picture_t***
    - vlc_render_subpicture*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1965
      start: 1783
    functionDepth: 2
    functionLinenumber: 1783
    functionLinenumberEnd: 1965
    functionName: Direct3D11MapSubpicture
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d11.cpp
    functionUses: 1
    functionsReached:
    - D3D11_AllocateQuad
    - Release
    - picture_Release
    - SUCCEEDED
    - video_format_Clean
    - picture_CopyPixels
    - ARRAY_SIZE
    - msg_Err
    - calloc
    - d3d11_quad_t*::Reset
    - video_format_GetTransform
    - vout_display_sys_t*::d3d_dev::d3dcontext::Map
    - D3D11_AllocateResourceView
    - picture_NewFromResource
    - GetDesc
    - video_format_Copy
    - picture_UpdatePlanes
    - vout_display_sys_t*::d3d_dev::d3dcontext::Unmap
    - AllocateTextures
    - static_cast<uint8_t*>
    - D3D11_SetupQuad
    - d3d11_quad_t::d3d11_quad_t
    - static_cast<d3d11_quad_t *>
    - d3d11_quad_t*::UpdateViewport
    - D3D11_UpdateQuadPosition
    - memset
    - vlc_vector_foreach
    - vlc_object_logger
    - D3D11_UpdateQuadOpacity
    - static_cast<vout_display_sys_t *>
    - static_cast<d3d11_quad_t*>
    - static_cast<picture_t**>
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int Direct3D11MapSubpicture(vout_display_t *vd, int *subpicture_region_count,\n
      \                                  picture_t ***region, const vlc_render_subpicture
      *subpicture)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vout_display_opengl_SetViewpoint
      Src: /src/vlc/modules/video_output/win32/glwin32.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - vd
    - vp
    argTypes:
    - vout_display_t*
    - vlc_viewpoint_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: SetViewpoint
    functionSourceFile: /src/vlc/modules/video_output/win32/glwin32.c
    functionUses: 1
    functionsReached:
    - vout_display_opengl_SetViewpoint
    linkageType: ''
    returnType: int
    signature: int SetViewpoint(vout_display_t *vd, const vlc_viewpoint_t *vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/win32/glwin32.c:88,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/win32/glwin32.c:88,1
    - Dst: CommonDisplaySizeChanged
      Src: /src/vlc/modules/video_output/win32/glwin32.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - vd
    - width
    - height
    argTypes:
    - vout_display_t*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: SetDisplaySize
    functionSourceFile: /src/vlc/modules/video_output/win32/glwin32.c
    functionUses: 0
    functionsReached:
    - CommonDisplaySizeChanged
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int SetDisplaySize(vout_display_t *vd, unsigned width, unsigned height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/win32/glwin32.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - vd
    - place
    argTypes:
    - vout_display_t*
    - vout_display_place_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: PlacementChanged
    functionSourceFile: /src/vlc/modules/video_output/win32/glwin32.c
    functionUses: 2
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int PlacementChanged(vout_display_t *vd, const vout_display_place_t
      *place)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_create
      Src: /src/vlc/modules/video_output/win32/glwin32.c:110,1
    - Dst: CommonVideoHWND
      Src: /src/vlc/modules/video_output/win32/glwin32.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 118
    functionName: EmbedVideoWindow_Create
    functionSourceFile: /src/vlc/modules/video_output/win32/glwin32.c
    functionUses: 0
    functionsReached:
    - CommonVideoHWND
    - vlc_object_create
    linkageType: ''
    returnType: vlc_window_t
    signature: vlc_window_t *EmbedVideoWindow_Create(vout_display_t *vd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_MakeCurrent
      Src: /src/vlc/modules/video_output/win32/glwin32.c:126,1
    - Dst: vout_display_opengl_UpdateFormat
      Src: /src/vlc/modules/video_output/win32/glwin32.c:130,1
    - Dst: vout_display_opengl_SetViewpoint
      Src: /src/vlc/modules/video_output/win32/glwin32.c:136,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/win32/glwin32.c:138,1
    - Dst: vlc_gl_ReleaseCurrent
      Src: /src/vlc/modules/video_output/win32/glwin32.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - vd
    - fmt
    - vctx
    argTypes:
    - vout_display_t*
    - video_format_t*
    - vlc_video_context*
    assertStmts:
    - condition: (vp_ret == VLC_SUCCESS)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/vlc/modules/video_output/win32/glwin32.c
    constantsTouched: []
    func_position:
      end: 144
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 144
    functionName: UpdateFormat
    functionSourceFile: /src/vlc/modules/video_output/win32/glwin32.c
    functionUses: 3
    functionsReached:
    - assert
    - vlc_gl_MakeCurrent
    - vlc_gl_ReleaseCurrent
    - vout_display_opengl_UpdateFormat
    - vout_display_opengl_SetViewpoint
    linkageType: ''
    returnType: int
    signature: "int UpdateFormat(vout_display_t *vd, const video_format_t *fmt,\n
      \            vlc_video_context *vctx)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IsWindowsVistaOrGreater
      Src: /src/vlc/modules/video_output/win32/glwin32.c:165,1
    - Dst: calloc
      Src: /src/vlc/modules/video_output/win32/glwin32.c:169,1
    - Dst: CommonWindowInit
      Src: /src/vlc/modules/video_output/win32/glwin32.c:175,1
    - Dst: vlc_window_SetTitle
      Src: /src/vlc/modules/video_output/win32/glwin32.c:179,1
    - Dst: EmbedVideoWindow_Create
      Src: /src/vlc/modules/video_output/win32/glwin32.c:182,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/win32/glwin32.c:186,1
    - Dst: vlc_gl_Create
      Src: /src/vlc/modules/video_output/win32/glwin32.c:187,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/glwin32.c:188,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/video_output/win32/glwin32.c:191,1
    - Dst: vlc_gl_Resize
      Src: /src/vlc/modules/video_output/win32/glwin32.c:195,1
    - Dst: vlc_gl_MakeCurrent
      Src: /src/vlc/modules/video_output/win32/glwin32.c:198,1
    - Dst: vout_display_opengl_New
      Src: /src/vlc/modules/video_output/win32/glwin32.c:200,1
    - Dst: vlc_gl_ReleaseCurrent
      Src: /src/vlc/modules/video_output/win32/glwin32.c:202,1
    - Dst: Close
      Src: /src/vlc/modules/video_output/win32/glwin32.c:216,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - vd
    - fmtp
    - context
    argTypes:
    - vout_display_t*
    - video_format_t*
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 218
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/win32/glwin32.c
    functionUses: 62
    functionsReached:
    - vout_display_opengl_New
    - var_InheritString
    - vlc_gl_MakeCurrent
    - Close
    - vlc_gl_ReleaseCurrent
    - vlc_window_SetTitle
    - vlc_gl_Create
    - calloc
    - free
    - vlc_object_delete
    - CommonWindowInit
    - vlc_gl_Resize
    - IsWindowsVistaOrGreater
    - EmbedVideoWindow_Create
    linkageType: ''
    returnType: int
    signature: "int Open(vout_display_t *vd,\n                video_format_t *fmtp,
      vlc_video_context *context)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_MakeCurrent
      Src: /src/vlc/modules/video_output/win32/glwin32.c:233,1
    - Dst: vout_display_opengl_Delete
      Src: /src/vlc/modules/video_output/win32/glwin32.c:234,1
    - Dst: vlc_gl_ReleaseCurrent
      Src: /src/vlc/modules/video_output/win32/glwin32.c:235,1
    - Dst: vlc_gl_Delete
      Src: /src/vlc/modules/video_output/win32/glwin32.c:237,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/video_output/win32/glwin32.c:238,1
    - Dst: CommonWindowClean
      Src: /src/vlc/modules/video_output/win32/glwin32.c:241,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/glwin32.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 244
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/win32/glwin32.c
    functionUses: 163
    functionsReached:
    - vlc_gl_MakeCurrent
    - vlc_gl_ReleaseCurrent
    - free
    - vout_display_opengl_Delete
    - vlc_gl_Delete
    - vlc_object_delete
    - CommonWindowClean
    linkageType: ''
    returnType: void
    signature: void Close(vout_display_t *vd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/win32/glwin32.c:251,1
    - Dst: vlc_gl_MakeCurrent
      Src: /src/vlc/modules/video_output/win32/glwin32.c:254,1
    - Dst: vlc_gl_Resize
      Src: /src/vlc/modules/video_output/win32/glwin32.c:263,1
    - Dst: vout_display_opengl_SetOutputSize
      Src: /src/vlc/modules/video_output/win32/glwin32.c:264,1
    - Dst: vout_display_opengl_Viewport
      Src: /src/vlc/modules/video_output/win32/glwin32.c:265,1
    - Dst: vout_display_opengl_Prepare
      Src: /src/vlc/modules/video_output/win32/glwin32.c:268,1
    - Dst: vlc_gl_ReleaseCurrent
      Src: /src/vlc/modules/video_output/win32/glwin32.c:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - vd
    - picture
    - subpicture
    - date
    argTypes:
    - vout_display_t*
    - picture_t*
    - vlc_render_subpicture*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 270
    functionName: Prepare
    functionSourceFile: /src/vlc/modules/video_output/win32/glwin32.c
    functionUses: 49
    functionsReached:
    - vlc_gl_MakeCurrent
    - vlc_gl_ReleaseCurrent
    - vout_display_opengl_Prepare
    - vout_display_opengl_Viewport
    - vout_display_opengl_SetOutputSize
    - vlc_gl_Resize
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void Prepare(vout_display_t *vd, picture_t *picture,\n                    const
      vlc_render_subpicture *subpicture,\n                    vlc_tick_t date)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/win32/glwin32.c:275,1
    - Dst: vlc_gl_MakeCurrent
      Src: /src/vlc/modules/video_output/win32/glwin32.c:277,1
    - Dst: vout_display_opengl_Display
      Src: /src/vlc/modules/video_output/win32/glwin32.c:279,1
    - Dst: vlc_gl_ReleaseCurrent
      Src: /src/vlc/modules/video_output/win32/glwin32.c:280,1
    - Dst: vlc_gl_Swap
      Src: /src/vlc/modules/video_output/win32/glwin32.c:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - vd
    - picture
    argTypes:
    - vout_display_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: Display
    functionSourceFile: /src/vlc/modules/video_output/win32/glwin32.c
    functionUses: 26
    functionsReached:
    - vlc_gl_MakeCurrent
    - vlc_gl_Swap
    - vlc_gl_ReleaseCurrent
    - vout_display_opengl_Display
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void Display(vout_display_t *vd, picture_t *picture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: video_format_Init
      Src: /src/vlc/modules/video_output/win32/d3d11_shaders.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: d3d11_quad_t
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_shaders.h
    functionUses: 1
    functionsReached:
    - video_format_Init
    linkageType: ''
    returnType: void
    signature: void d3d11_quad_t()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseD3D11PictureSys
      Src: /src/vlc/modules/video_output/win32/d3d11_shaders.h:49,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/video_output/win32/d3d11_shaders.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: ~d3d11_quad_t()
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_shaders.h
    functionUses: 0
    functionsReached:
    - video_format_Clean
    - ReleaseD3D11PictureSys
    linkageType: ''
    returnType: void
    signature: void ~d3d11_quad_t()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: D3D11_CompilePixelShaderBlob
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_shaders.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D3D11_CompilePixelShaderBlob(a,b,c,d,e,f,g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: D3D11_CreateVertexShader
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_shaders.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D3D11_CreateVertexShader(a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: RECTWidth
    functionSourceFile: /src/vlc/modules/video_output/win32/drawable.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RECTWidth(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: RECTHeight
    functionSourceFile: /src/vlc/modules/video_output/win32/drawable.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RECTHeight(r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetProp
      Src: /src/vlc/modules/video_output/win32/drawable.c:87,1
    - Dst: CallWindowProc
      Src: /src/vlc/modules/video_output/win32/drawable.c:89,1
    - Dst: GetClientRect
      Src: /src/vlc/modules/video_output/win32/drawable.c:95,1
    - Dst: RECTWidth
      Src: /src/vlc/modules/video_output/win32/drawable.c:96,1
    - Dst: RECTWidth
      Src: /src/vlc/modules/video_output/win32/drawable.c:96,1
    - Dst: RECTHeight
      Src: /src/vlc/modules/video_output/win32/drawable.c:97,1
    - Dst: RECTHeight
      Src: /src/vlc/modules/video_output/win32/drawable.c:97,1
    - Dst: vlc_wasync_resize_compressor_reportSize
      Src: /src/vlc/modules/video_output/win32/drawable.c:101,1
    - Dst: RECTWidth
      Src: /src/vlc/modules/video_output/win32/drawable.c:102,1
    - Dst: RECTHeight
      Src: /src/vlc/modules/video_output/win32/drawable.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - hwnd
    - message
    - wParam
    - lParam
    argTypes:
    - HWND
    - UINT
    - WPARAM
    - LPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 109
    functionName: WinVoutEventProc
    functionSourceFile: /src/vlc/modules/video_output/win32/drawable.c
    functionUses: 0
    functionsReached:
    - CallWindowProc
    - GetProp
    - GetClientRect
    - RECTHeight
    - vlc_wasync_resize_compressor_reportSize
    - RECTWidth
    linkageType: ''
    returnType: LRESULT
    signature: "LRESULT WinVoutEventProc(HWND hwnd, UINT message,\n                                         WPARAM
      wParam, LPARAM lParam )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_output/win32/drawable.c:116,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/win32/drawable.c:117,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/win32/drawable.c:120,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/drawable.c:129,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_output/win32/drawable.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - val
    argTypes:
    - HWND
    assertStmts:
    - condition: (used != NULL)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/vlc/modules/video_output/win32/drawable.c
    - condition: (used[n])
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/vlc/modules/video_output/win32/drawable.c
    constantsTouched: []
    func_position:
      end: 133
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 133
    functionName: RemoveDrawable
    functionSourceFile: /src/vlc/modules/video_output/win32/drawable.c
    functionUses: 1
    functionsReached:
    - free
    - assert
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void RemoveDrawable(HWND val)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/win32/drawable.c:140,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_output/win32/drawable.c:148,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/win32/drawable.c:153,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_output/win32/drawable.c:154,1
    - Dst: realloc
      Src: /src/vlc/modules/video_output/win32/drawable.c:158,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/drawable.c:159,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_output/win32/drawable.c:160,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_output/win32/drawable.c:167,1
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/video_output/win32/drawable.c:169,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/win32/drawable.c:169,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/drawable.c:170,1
    - Dst: RemoveDrawable
      Src: /src/vlc/modules/video_output/win32/drawable.c:171,1
    - Dst: vlc_wasync_resize_compressor_init
      Src: /src/vlc/modules/video_output/win32/drawable.c:177,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/drawable.c:179,1
    - Dst: RemoveDrawable
      Src: /src/vlc/modules/video_output/win32/drawable.c:180,1
    - Dst: GetClientRect
      Src: /src/vlc/modules/video_output/win32/drawable.c:184,1
    - Dst: vlc_wasync_resize_compressor_reportSize
      Src: /src/vlc/modules/video_output/win32/drawable.c:185,1
    - Dst: RECTWidth
      Src: /src/vlc/modules/video_output/win32/drawable.c:186,1
    - Dst: RECTHeight
      Src: /src/vlc/modules/video_output/win32/drawable.c:187,1
    - Dst: GetWindowLongPtr
      Src: /src/vlc/modules/video_output/win32/drawable.c:189,1
    - Dst: SetProp
      Src: /src/vlc/modules/video_output/win32/drawable.c:190,1
    - Dst: SetWindowLongPtr
      Src: /src/vlc/modules/video_output/win32/drawable.c:191,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 198
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/win32/drawable.c
    functionUses: 62
    functionsReached:
    - vlc_wasync_resize_compressor_reportSize
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - var_InheritInteger
    - GetWindowLongPtr
    - realloc
    - msg_Err
    - SetProp
    - vlc_wasync_resize_compressor_init
    - GetClientRect
    - VLC_OBJECT
    - msg_Warn
    - SetWindowLongPtr
    - RECTHeight
    - RemoveDrawable
    - unlikely
    - vlc_obj_calloc
    - RECTWidth
    linkageType: ''
    returnType: int
    signature: int Open(vlc_window_t *wnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetWindowLongPtr
      Src: /src/vlc/modules/video_output/win32/drawable.c:208,1
    - Dst: RemoveProp
      Src: /src/vlc/modules/video_output/win32/drawable.c:209,1
    - Dst: vlc_wasync_resize_compressor_destroy
      Src: /src/vlc/modules/video_output/win32/drawable.c:211,1
    - Dst: RemoveDrawable
      Src: /src/vlc/modules/video_output/win32/drawable.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 214
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/win32/drawable.c
    functionUses: 163
    functionsReached:
    - SetWindowLongPtr
    - vlc_wasync_resize_compressor_destroy
    - RemoveDrawable
    - RemoveProp
    linkageType: ''
    returnType: void
    signature: void Close (vlc_window_t *wnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: RECTWidth
    functionSourceFile: /src/vlc/modules/video_output/win32/common.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RECTWidth(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: RECTHeight
    functionSourceFile: /src/vlc/modules/video_output/win32/common.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RECTHeight(r)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: is_d3d11_opaque
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:36,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:38,1
    - Dst: d3d11_tonemapper::d3d11_tonemapper
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:52,1
    - Dst: D3D11_RenderFormat
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:53,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:54,1
    - Dst: d3d11_device_t*::d3ddevice::QueryInterface
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:57,1
    - Dst: IID_GRAPHICS_PPV_ARGS
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:57,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:58,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:58,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:60,1
    - Dst: d3d11_device_t*::d3dcontext::QueryInterface
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:64,1
    - Dst: IID_GRAPHICS_PPV_ARGS
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:64,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:65,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:65,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:67,1
    - Dst: d3d11_tonemapper*::d3dviddev::CreateVideoProcessorEnumerator
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:85,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:86,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:88,1
    - Dst: d3d11_tonemapper*::d3dviddev::CreateVideoProcessor
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:92,1
    - Dst: d3d11_tonemapper*::enumerator::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:92,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:94,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:96,1
    - Dst: d3d11_device_lock
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:112,1
    - Dst: d3d11_tonemapper*::d3dvidctx::VideoProcessorGetStreamExtension
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:113,1
    - Dst: d3d11_tonemapper*::processor::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:113,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:118,1
    - Dst: d3d11_device_unlock
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:119,1
    - Dst: d3d11_tonemapper*::d3dvidctx::VideoProcessorSetStreamExtension
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:134,1
    - Dst: d3d11_tonemapper*::processor::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:135,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:138,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:138,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:140,1
    - Dst: d3d11_device_unlock
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:142,1
    - Dst: d3d11_device_t*::d3ddevice::CreateTexture2D
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:156,1
    - Dst: ComPtr::GetAddressOf
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:156,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:157,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:159,1
    - Dst: d3d11_tonemapper*::d3dviddev::CreateVideoProcessorOutputView
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:166,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:167,1
    - Dst: d3d11_tonemapper*::enumerator::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:168,1
    - Dst: d3d11_tonemapper*::outputView::ReleaseAndGetAddressOf
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:170,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:171,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:173,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:177,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:178,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:179,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:180,1
    - Dst: D3D11_AllocateResourceView
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:181,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:181,1
    - Dst: d3d11_tonemapper*::SRV::GetAddressOf
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:182,1
    - Dst: d3d11_device_lock
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:194,1
    - Dst: d3d11_tonemapper*::d3dvidctx::VideoProcessorSetStreamSourceRect
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:195,1
    - Dst: d3d11_tonemapper*::processor::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:195,1
    - Dst: d3d11_tonemapper*::d3dvidctx::VideoProcessorSetStreamDestRect
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:198,1
    - Dst: d3d11_tonemapper*::processor::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:198,1
    - Dst: d3d11_device_unlock
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:201,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:204,1
    - Dst: d3d11_tonemapper*::SRV::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:205,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 106
    argCount: 3
    argNames:
    - vd
    - d3d_dev
    - in
    argTypes:
    - vlc_object_t*
    - d3d11_device_t*
    - video_format_t*
    assertStmts:
    - condition: (d3d_fmt != nullptr)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp
    constantsTouched: []
    func_position:
      end: 211
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 211
    functionName: D3D11_TonemapperCreate
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp
    functionUses: 1
    functionsReached:
    - assert
    - d3d11_tonemapper*::outputView::ReleaseAndGetAddressOf
    - is_d3d11_opaque
    - ComPtr::Get
    - d3d11_tonemapper*::d3dviddev::CreateVideoProcessorEnumerator
    - d3d11_tonemapper*::d3dvidctx::VideoProcessorSetStreamExtension
    - D3D11_RenderFormat
    - d3d11_device_t*::d3ddevice::QueryInterface
    - d3d11_tonemapper*::SRV::Get
    - msg_Err
    - msg_Dbg
    - d3d11_tonemapper*::processor::Get
    - d3d11_tonemapper*::d3dvidctx::VideoProcessorGetStreamExtension
    - msg_Warn
    - d3d11_device_t*::d3ddevice::CreateTexture2D
    - D3D11_AllocateResourceView
    - d3d11_tonemapper*::enumerator::Get
    - d3d11_device_unlock
    - d3d11_tonemapper*::d3dviddev::CreateVideoProcessorOutputView
    - IID_GRAPHICS_PPV_ARGS
    - d3d11_tonemapper::d3d11_tonemapper
    - d3d11_tonemapper*::d3dvidctx::VideoProcessorSetStreamDestRect
    - FAILED
    - d3d11_device_t*::d3dcontext::QueryInterface
    - ComPtr::GetAddressOf
    - vlc_object_logger
    - d3d11_tonemapper*::SRV::GetAddressOf
    - d3d11_tonemapper*::d3dviddev::CreateVideoProcessor
    - d3d11_device_lock
    - unlikely
    - d3d11_tonemapper*::d3dvidctx::VideoProcessorSetStreamSourceRect
    linkageType: ''
    returnType: d3d11_tonemapper
    signature: "d3d11_tonemapper *D3D11_TonemapperCreate(vlc_object_t *vd, d3d11_device_t
      *d3d_dev,\r\n                                         const video_format_t *in)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tonemapProc
    argTypes:
    - d3d11_tonemapper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: D3D11_TonemapperDestroy
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void D3D11_TonemapperDestroy(d3d11_tonemapper *tonemapProc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tonemapProc
    argTypes:
    - d3d11_tonemapper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: D3D11_TonemapperGetOutput
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: picture_sys_d3d11_t
    signature: picture_sys_d3d11_t *D3D11_TonemapperGetOutput(d3d11_tonemapper *tonemapProc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: d3d11_tonemapper*::d3dviddev::CreateVideoProcessorInputView
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:235,1
    - Dst: d3d11_tonemapper*::enumerator::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:237,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:240,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - vd
    - tonemapProc
    - p_sys_src
    argTypes:
    - vlc_object_t*
    - d3d11_tonemapper*
    - picture_sys_d3d11_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 249
    functionName: assert_ProcessorInput
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp
    functionUses: 2
    functionsReached:
    - FAILED
    - d3d11_tonemapper*::d3dviddev::CreateVideoProcessorInputView
    - msg_Dbg
    - d3d11_tonemapper*::enumerator::Get
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT assert_ProcessorInput(vlc_object_t *vd, d3d11_tonemapper *tonemapProc,
      picture_sys_d3d11_t *p_sys_src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert_ProcessorInput
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:253,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:254,1
    - Dst: d3d11_tonemapper*::d3dvidctx::VideoProcessorBlt
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:261,1
    - Dst: d3d11_tonemapper*::processor::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:261,1
    - Dst: d3d11_tonemapper*::outputView::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:262,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:264,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp:265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - vd
    - tonemapProc
    - in
    argTypes:
    - vlc_object_t*
    - d3d11_tonemapper*
    - picture_sys_d3d11_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 267
    functionName: D3D11_TonemapperProcess
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_tonemap.cpp
    functionUses: 1
    functionsReached:
    - FAILED
    - d3d11_tonemapper*::outputView::Get
    - msg_Err
    - d3d11_tonemapper*::processor::Get
    - d3d11_tonemapper*::d3dvidctx::VideoProcessorBlt
    - assert_ProcessorInput
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT D3D11_TonemapperProcess(vlc_object_t *vd, d3d11_tonemapper
      *tonemapProc, picture_sys_d3d11_t *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_event
    argTypes:
    - struct event_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: EventThreadVideoHWND
    functionSourceFile: /src/vlc/modules/video_output/win32/events.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: HWND
    signature: HWND EventThreadVideoHWND( const struct event_thread_t *p_event )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/vlc/modules/video_output/win32/events.c:92,1
    - Dst: PostMessage
      Src: /src/vlc/modules/video_output/win32/events.c:97,1
    - Dst: vlc_join
      Src: /src/vlc/modules/video_output/win32/events.c:99,1
    - Dst: UnhookWindowsSensors
      Src: /src/vlc/modules/video_output/win32/events.c:103,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/events.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - p_event
    argTypes:
    - struct event_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 107
    functionName: EventThreadDestroy
    functionSourceFile: /src/vlc/modules/video_output/win32/events.c
    functionUses: 1
    functionsReached:
    - free
    - atomic_store
    - vlc_join
    - UnhookWindowsSensors
    - PostMessage
    linkageType: ''
    returnType: void
    signature: void EventThreadDestroy( struct event_thread_t *p_event )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SetWindowLongPtr
      Src: /src/vlc/modules/video_output/win32/events.c:119,1
    - Dst: GetWindowLongPtr
      Src: /src/vlc/modules/video_output/win32/events.c:123,1
    - Dst: DefWindowProc
      Src: /src/vlc/modules/video_output/win32/events.c:125,1
    - Dst: vlc_window_ReportClose
      Src: /src/vlc/modules/video_output/win32/events.c:132,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/events.c:137,1
    - Dst: PostQuitMessage
      Src: /src/vlc/modules/video_output/win32/events.c:139,1
    - Dst: DecodeGesture
      Src: /src/vlc/modules/video_output/win32/events.c:143,1
    - Dst: DefWindowProc
      Src: /src/vlc/modules/video_output/win32/events.c:145,1
    - Dst: ValidateRect
      Src: /src/vlc/modules/video_output/win32/events.c:157,1
    - Dst: DefWindowProc
      Src: /src/vlc/modules/video_output/win32/events.c:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 4
    argNames:
    - hwnd
    - message
    - wParam
    - lParam
    argTypes:
    - HWND
    - UINT
    - WPARAM
    - LPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 163
    functionName: VideoEventProc
    functionSourceFile: /src/vlc/modules/video_output/win32/events.c
    functionUses: 0
    functionsReached:
    - PostQuitMessage
    - GetWindowLongPtr
    - msg_Dbg
    - DecodeGesture
    - SetWindowLongPtr
    - ValidateRect
    - vlc_window_ReportClose
    - DefWindowProc
    linkageType: ''
    returnType: LRESULT
    signature: "LRESULT VideoEventProc( HWND hwnd, UINT message,\n                                        WPARAM
      wParam, LPARAM lParam )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/events.c:178,1
    - Dst: GetModuleHandle
      Src: /src/vlc/modules/video_output/win32/events.c:181,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/win32/events.c:184,1
    - Dst: GetStockObject
      Src: /src/vlc/modules/video_output/win32/events.c:195,1
    - Dst: RegisterClass
      Src: /src/vlc/modules/video_output/win32/events.c:200,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/events.c:202,1
    - Dst: GetLastError
      Src: /src/vlc/modules/video_output/win32/events.c:202,1
    - Dst: CreateWindowEx
      Src: /src/vlc/modules/video_output/win32/events.c:210,1
    - Dst: TEXT
      Src: /src/vlc/modules/video_output/win32/events.c:212,1
    - Dst: TEXT
      Src: /src/vlc/modules/video_output/win32/events.c:212,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/win32/events.c:225,1
    - Dst: GetLastError
      Src: /src/vlc/modules/video_output/win32/events.c:225,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/events.c:228,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/win32/events.c:231,1
    - Dst: GetWindowLong
      Src: /src/vlc/modules/video_output/win32/events.c:231,1
    - Dst: InitGestures
      Src: /src/vlc/modules/video_output/win32/events.c:235,1
    - Dst: InitGestures
      Src: /src/vlc/modules/video_output/win32/events.c:238,1
    - Dst: ShowWindow
      Src: /src/vlc/modules/video_output/win32/events.c:241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 1
    argNames:
    - p_event
    argTypes:
    - struct event_thread_t*
    assertStmts:
    - condition: ( p_event->parent_window->type == VLC_WINDOW_TYPE_HWND )
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/vlc/modules/video_output/win32/events.c
    - condition: ( GetWindowLong( p_event->hparent, GWL_STYLE ) & WS_CLIPCHILDREN
        )
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/vlc/modules/video_output/win32/events.c
    constantsTouched: []
    func_position:
      end: 244
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 244
    functionName: Win32VoutCreateWindow
    functionSourceFile: /src/vlc/modules/video_output/win32/events.c
    functionUses: 0
    functionsReached:
    - assert
    - TEXT
    - GetWindowLong
    - GetModuleHandle
    - msg_Err
    - GetLastError
    - CreateWindowEx
    - GetStockObject
    - msg_Dbg
    - msg_Warn
    - ShowWindow
    - RegisterClass
    - InitGestures
    linkageType: ''
    returnType: int
    signature: int Win32VoutCreateWindow( struct event_thread_t *p_event )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/events.c:253,1
    - Dst: DestroyWindow
      Src: /src/vlc/modules/video_output/win32/events.c:255,1
    - Dst: GetModuleHandle
      Src: /src/vlc/modules/video_output/win32/events.c:257,1
    - Dst: UnregisterClass
      Src: /src/vlc/modules/video_output/win32/events.c:258,1
    - Dst: CloseGestures
      Src: /src/vlc/modules/video_output/win32/events.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_event
    argTypes:
    - struct event_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 261
    functionName: Win32VoutCloseWindow
    functionSourceFile: /src/vlc/modules/video_output/win32/events.c
    functionUses: 0
    functionsReached:
    - CloseGestures
    - UnregisterClass
    - GetModuleHandle
    - DestroyWindow
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void Win32VoutCloseWindow( struct event_thread_t *p_event )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/video_output/win32/events.c:273,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/video_output/win32/events.c:277,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_output/win32/events.c:280,1
    - Dst: Win32VoutCreateWindow
      Src: /src/vlc/modules/video_output/win32/events.c:284,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/video_output/win32/events.c:288,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_output/win32/events.c:291,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/video_output/win32/events.c:295,1
    - Dst: GetMessage
      Src: /src/vlc/modules/video_output/win32/events.c:303,1
    - Dst: atomic_load
      Src: /src/vlc/modules/video_output/win32/events.c:303,1
    - Dst: TranslateMessage
      Src: /src/vlc/modules/video_output/win32/events.c:310,1
    - Dst: DispatchMessage
      Src: /src/vlc/modules/video_output/win32/events.c:311,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/events.c:315,1
    - Dst: Win32VoutCloseWindow
      Src: /src/vlc/modules/video_output/win32/events.c:317,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/video_output/win32/events.c:318,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 320
    functionName: EventThread
    functionSourceFile: /src/vlc/modules/video_output/win32/events.c
    functionUses: 0
    functionsReached:
    - vlc_restorecancel
    - vlc_cond_signal
    - vlc_thread_set_name
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - DispatchMessage
    - Win32VoutCloseWindow
    - atomic_load
    - GetMessage
    - msg_Dbg
    - Win32VoutCreateWindow
    - vlc_savecancel
    - TranslateMessage
    linkageType: ''
    returnType: void
    signature: void *EventThread( void *p_this )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/events.c:335,1
    - Dst: malloc
      Src: /src/vlc/modules/video_output/win32/events.c:336,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/video_output/win32/events.c:341,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/video_output/win32/events.c:342,1
    - Dst: atomic_init
      Src: /src/vlc/modules/video_output/win32/events.c:343,1
    - Dst: _snwprintf
      Src: /src/vlc/modules/video_output/win32/events.c:349,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/win32/events.c:349,1
    - Dst: TEXT
      Src: /src/vlc/modules/video_output/win32/events.c:350,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/win32/events.c:356,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/video_output/win32/events.c:361,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/events.c:363,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/events.c:364,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_output/win32/events.c:368,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/video_output/win32/events.c:370,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_output/win32/events.c:372,1
    - Dst: vlc_join
      Src: /src/vlc/modules/video_output/win32/events.c:376,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/events.c:377,1
    - Dst: HookWindowsSensors
      Src: /src/vlc/modules/video_output/win32/events.c:383,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/video_output/win32/events.c:383,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/events.c:385,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 4
    argNames:
    - obj
    - parent_window
    - display
    - owner
    argTypes:
    - vlc_object_t*
    - vlc_window_t*
    - struct vout_display_placement*
    - vout_display_owner_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 388
    functionName: EventThreadCreate
    functionSourceFile: /src/vlc/modules/video_output/win32/events.c
    functionUses: 1
    functionsReached:
    - atomic_init
    - TEXT
    - ARRAY_SIZE
    - vlc_mutex_unlock
    - vlc_clone
    - vlc_mutex_lock
    - vlc_object_logger
    - vlc_mutex_init
    - msg_Err
    - free
    - vlc_cond_init
    - _snwprintf
    - msg_Dbg
    - vlc_join
    - HookWindowsSensors
    - malloc
    - vlc_cond_wait
    - VLC_UNUSED
    linkageType: ''
    returnType: struct event_thread_t
    signature: "struct event_thread_t *EventThreadCreate( vlc_object_t *obj, vlc_window_t
      *parent_window,\n                                   const struct vout_display_placement
      *display,\n                                   const vout_display_owner_t *owner
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetClientRect
      Src: /src/vlc/modules/video_output/win32/events.c:393,1
    - Dst: SetWindowPos
      Src: /src/vlc/modules/video_output/win32/events.c:395,1
    - Dst: RECTWidth
      Src: /src/vlc/modules/video_output/win32/events.c:396,1
    - Dst: RECTHeight
      Src: /src/vlc/modules/video_output/win32/events.c:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_event
    argTypes:
    - struct event_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 398
    functionName: EventThreadUpdateSize
    functionSourceFile: /src/vlc/modules/video_output/win32/events.c
    functionUses: 1
    functionsReached:
    - SetWindowPos
    - RECTHeight
    - GetClientRect
    - RECTWidth
    linkageType: ''
    returnType: void
    signature: void EventThreadUpdateSize( struct event_thread_t *p_event )
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: var_SetInteger
      Src: /src/vlc/modules/video_output/win32/win32touch.c:90,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/video_output/win32/win32touch.c:90,1
    - Dst: abs
      Src: /src/vlc/modules/video_output/win32/win32touch.c:111,1
    - Dst: abs
      Src: /src/vlc/modules/video_output/win32/win32touch.c:112,1
    - Dst: abs
      Src: /src/vlc/modules/video_output/win32/win32touch.c:114,1
    - Dst: abs
      Src: /src/vlc/modules/video_output/win32/win32touch.c:115,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/video_output/win32/win32touch.c:129,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/video_output/win32/win32touch.c:129,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/video_output/win32/win32touch.c:131,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/video_output/win32/win32touch.c:131,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/video_output/win32/win32touch.c:157,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/video_output/win32/win32touch.c:157,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/video_output/win32/win32touch.c:172,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/video_output/win32/win32touch.c:172,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/video_output/win32/win32touch.c:175,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/video_output/win32/win32touch.c:175,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/win32touch.c:180,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 83
    argCount: 3
    argNames:
    - p_this
    - p_gesture
    - p_gi
    argTypes:
    - vlc_object_t*
    - struct win32_gesture_sys_t*
    - GESTUREINFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 191
    functionName: DecodeGestureAction
    functionSourceFile: /src/vlc/modules/video_output/win32/win32touch.c
    functionUses: 0
    functionsReached:
    - var_SetInteger
    - vlc_object_instance
    - abs
    - msg_Err
    linkageType: ''
    returnType: bool
    signature: bool DecodeGestureAction( vlc_object_t *p_this, struct win32_gesture_sys_t
      *p_gesture, const GESTUREINFO* p_gi )
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: var_SetInteger
      Src: /src/vlc/modules/video_output/win32/win32touch.c:219,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/video_output/win32/win32touch.c:219,1
    - Dst: abs
      Src: /src/vlc/modules/video_output/win32/win32touch.c:241,1
    - Dst: abs
      Src: /src/vlc/modules/video_output/win32/win32touch.c:242,1
    - Dst: abs
      Src: /src/vlc/modules/video_output/win32/win32touch.c:244,1
    - Dst: abs
      Src: /src/vlc/modules/video_output/win32/win32touch.c:245,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/video_output/win32/win32touch.c:257,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/video_output/win32/win32touch.c:257,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/video_output/win32/win32touch.c:259,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/video_output/win32/win32touch.c:259,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/video_output/win32/win32touch.c:268,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/video_output/win32/win32touch.c:268,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/video_output/win32/win32touch.c:287,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/video_output/win32/win32touch.c:287,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/video_output/win32/win32touch.c:292,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/video_output/win32/win32touch.c:292,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 79
    argCount: 3
    argNames:
    - p_this
    - p_gesture
    - p_gi
    argTypes:
    - vlc_object_t*
    - struct win32_gesture_sys_t*
    - GESTUREINFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 306
    functionName: DecodeGestureProjection
    functionSourceFile: /src/vlc/modules/video_output/win32/win32touch.c
    functionUses: 0
    functionsReached:
    - var_SetInteger
    - vlc_object_instance
    - abs
    linkageType: ''
    returnType: bool
    signature: bool DecodeGestureProjection( vlc_object_t *p_this, struct win32_gesture_sys_t
      *p_gesture, const GESTUREINFO* p_gi )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ZeroMemory
      Src: /src/vlc/modules/video_output/win32/win32touch.c:315,1
    - Dst: GetGestureInfo
      Src: /src/vlc/modules/video_output/win32/win32touch.c:318,1
    - Dst: struct win32_gesture_sys_t*::DecodeGestureImpl
      Src: /src/vlc/modules/video_output/win32/win32touch.c:320,1
    - Dst: CloseGestureInfoHandle
      Src: /src/vlc/modules/video_output/win32/win32touch.c:324,1
    - Dst: GetLastError
      Src: /src/vlc/modules/video_output/win32/win32touch.c:330,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/win32touch.c:332,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - p_this
    - p_gesture
    - hGestureInfo
    argTypes:
    - vlc_object_t*
    - struct win32_gesture_sys_t*
    - HGESTUREINFO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 336
    functionName: DecodeGesture
    functionSourceFile: /src/vlc/modules/video_output/win32/win32touch.c
    functionUses: 1
    functionsReached:
    - struct win32_gesture_sys_t*::DecodeGestureImpl
    - CloseGestureInfoHandle
    - GetLastError
    - msg_Err
    - GetGestureInfo
    - ZeroMemory
    linkageType: ''
    returnType: bool
    signature: "bool DecodeGesture( vlc_object_t *p_this, struct win32_gesture_sys_t
      *p_gesture,\n                    HGESTUREINFO hGestureInfo )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/video_output/win32/win32touch.c:359,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/win32touch.c:360,1
    - Dst: SetGestureConfig
      Src: /src/vlc/modules/video_output/win32/win32touch.c:363,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/win32touch.c:372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - hwnd
    - b_isProjected
    argTypes:
    - HWND
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 387
    functionName: InitGestures
    functionSourceFile: /src/vlc/modules/video_output/win32/win32touch.c
    functionUses: 1
    functionsReached:
    - free
    - SetGestureConfig
    - unlikely
    - malloc
    linkageType: ''
    returnType: struct win32_gesture_sys_t
    signature: struct win32_gesture_sys_t *InitGestures( HWND hwnd, bool b_isProjected
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/win32touch.c:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_gesture
    argTypes:
    - struct win32_gesture_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: CloseGestures
    functionSourceFile: /src/vlc/modules/video_output/win32/win32touch.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void CloseGestures( struct win32_gesture_sys_t *p_gesture )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:64,1
    - Dst: GetResource
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:66,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:70,1
    - Dst: ComPtr::As
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:70,1
    - Dst: ComPtr::GetDesc
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:71,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:73,1
    - Dst: DXGI_GetPixelFormat
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:73,1
    - Dst: DXGI_GetPixelFormat
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:74,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:81,1
    - Dst: Reset
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:82,1
    - Dst: FindD3D11Format
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:86,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:90,1
    - Dst: FindD3D11Format
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:92,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:96,1
    - Dst: FindD3D11Format
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:98,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:102,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:103,1
    - Dst: d3d11_local_swapchain*::d3d_dev::d3ddevice::QueryInterface
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:108,1
    - Dst: IID_GRAPHICS_PPV_ARGS
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:108,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:109,1
    - Dst: ComPtr::GetAdapter
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:113,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:114,1
    - Dst: DXGI_UpdateSwapChain
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:118,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:118,1
    - Dst: DXGI_GetSwapChain1
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:123,1
    - Dst: IID_GRAPHICS_PPV_ARGS
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:123,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:124,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:125,1
    - Dst: D3D11_CreateRenderTargets
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:129,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:129,1
    - Dst: DXGI_GetPixelFormat
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:130,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:131,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:132,1
    - Dst: D3D11_ClearRenderTargets
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:136,1
    - Dst: DXGI_GetPixelFormat
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:136,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 2
    argNames:
    - display
    - cfg
    argTypes:
    - d3d11_local_swapchain*
    - libvlc_video_render_cfg_t*
    assertStmts:
    - condition: (DXGI_GetPixelFormat(display->sys)->formatTexture == dsc.Format)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp
    constantsTouched: []
    func_position:
      end: 139
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 139
    functionName: UpdateSwapchain
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp
    functionUses: 0
    functionsReached:
    - assert
    - Get
    - ComPtr::Get
    - D3D11_ClearRenderTargets
    - SUCCEEDED
    - ARRAY_SIZE
    - Reset
    - msg_Err
    - DXGI_UpdateSwapChain
    - ComPtr::GetDesc
    - ComPtr::GetAdapter
    - d3d11_local_swapchain*::d3d_dev::d3ddevice::QueryInterface
    - ComPtr::As
    - DXGI_GetSwapChain1
    - IID_GRAPHICS_PPV_ARGS
    - FindD3D11Format
    - FAILED
    - D3D11_CreateRenderTargets
    - DXGI_GetPixelFormat
    - GetResource
    - unlikely
    linkageType: ''
    returnType: bool
    signature: bool UpdateSwapchain( d3d11_local_swapchain *display, const libvlc_video_render_cfg_t
      *cfg )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<d3d11_local_swapchain *>
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:143,1
    - Dst: DXGI_LocalSwapchainCleanupDevice
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: D3D11_LocalSwapchainCleanupDevice
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp
    functionUses: 2
    functionsReached:
    - DXGI_LocalSwapchainCleanupDevice
    - static_cast<d3d11_local_swapchain *>
    linkageType: ''
    returnType: void
    signature: void D3D11_LocalSwapchainCleanupDevice( void *opaque )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<d3d11_local_swapchain *>
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:150,1
    - Dst: UpdateSwapchain
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:151,1
    - Dst: DXGI_SwapchainUpdateOutput
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - opaque
    - cfg
    - out
    argTypes:
    - void*
    - libvlc_video_render_cfg_t*
    - libvlc_video_output_cfg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 4
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: D3D11_LocalSwapchainUpdateOutput
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp
    functionUses: 0
    functionsReached:
    - UpdateSwapchain
    - static_cast<d3d11_local_swapchain *>
    - DXGI_SwapchainUpdateOutput
    linkageType: ''
    returnType: bool
    signature: bool D3D11_LocalSwapchainUpdateOutput( void *opaque, const libvlc_video_render_cfg_t
      *cfg, libvlc_video_output_cfg_t *out )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<d3d11_local_swapchain *>
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:159,1
    - Dst: DXGI_LocalSwapchainSwap
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: D3D11_LocalSwapchainSwap
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp
    functionUses: 0
    functionsReached:
    - DXGI_LocalSwapchainSwap
    - static_cast<d3d11_local_swapchain *>
    linkageType: ''
    returnType: void
    signature: void D3D11_LocalSwapchainSwap( void *opaque )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<d3d11_local_swapchain *>
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:165,1
    - Dst: DXGI_LocalSwapchainSetMetadata
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - opaque
    - type
    - metadata
    argTypes:
    - void*
    - libvlc_video_metadata_type_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: D3D11_LocalSwapchainSetMetadata
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp
    functionUses: 0
    functionsReached:
    - DXGI_LocalSwapchainSetMetadata
    - static_cast<d3d11_local_swapchain *>
    linkageType: ''
    returnType: void
    signature: void D3D11_LocalSwapchainSetMetadata( void *opaque, libvlc_video_metadata_type_t
      type, const void *metadata )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<d3d11_local_swapchain *>
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:171,1
    - Dst: D3D11_ClearRenderTargets
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:174,1
    - Dst: DXGI_GetPixelFormat
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - opaque
    - enter
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: D3D11_LocalSwapchainStartEndRendering
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp
    functionUses: 0
    functionsReached:
    - DXGI_GetPixelFormat
    - D3D11_ClearRenderTargets
    - static_cast<d3d11_local_swapchain *>
    linkageType: ''
    returnType: bool
    signature: bool D3D11_LocalSwapchainStartEndRendering( void *opaque, bool enter
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<d3d11_local_swapchain *>
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:181,1
    - Dst: Get
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:182,1
    - Dst: static_cast<ID3D11RenderTargetView **>
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:184,1
    - Dst: Get
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - opaque
    - plane
    - out
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 187
    functionName: D3D11_LocalSwapchainSelectPlane
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp
    functionUses: 0
    functionsReached:
    - static_cast<ID3D11RenderTargetView **>
    - static_cast<d3d11_local_swapchain *>
    - Get
    linkageType: ''
    returnType: bool
    signature: bool D3D11_LocalSwapchainSelectPlane( void *opaque, size_t plane, void
      *out )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d3d11_local_swapchain::d3d11_local_swapchain
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:191,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - o
    - d3d_dev
    - sys
    - match_display
    argTypes:
    - vlc_object_t*
    - d3d11_device_t*
    - dxgi_swapchain*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 201
    functionName: D3D11_CreateLocalSwapchain
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_swapchain.cpp
    functionUses: 1
    functionsReached:
    - unlikely
    - d3d11_local_swapchain::d3d11_local_swapchain
    linkageType: ''
    returnType: void
    signature: void *D3D11_CreateLocalSwapchain(vlc_object_t *o, d3d11_device_t *d3d_dev,
      dxgi_swapchain *sys, bool match_display)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _snprintf
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:192,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:192,1
    - Dst: LoadLibraryExA
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 198
    functionName: Direct3D9LoadShaderLibrary
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 0
    functionsReached:
    - _snprintf
    - ARRAY_SIZE
    - LoadLibraryExA
    linkageType: ''
    returnType: HINSTANCE
    signature: HINSTANCE Direct3D9LoadShaderLibrary(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 51
    argCount: 2
    argNames:
    - orientation
    - vertex_order
    argTypes:
    - video_orientation_t
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 268
    functionName: orientationVertexOrder
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void orientationVertexOrder(video_orientation_t orientation, int vertex_order[static
      4])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: orientationVertexOrder
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:300,1
    - Dst: D3DCOLOR_ARGB
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 6
    argNames:
    - vertices
    - full_texture
    - src_fmt
    - place_in_display
    - alpha
    - orientation
    argTypes:
    - CUSTOMVERTEX*
    - RECT*
    - video_format_t*
    - vout_display_place_t*
    - int
    - video_orientation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 334
    functionName: Direct3D9SetupVertices
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 0
    functionsReached:
    - orientationVertexOrder
    - D3DCOLOR_ARGB
    linkageType: ''
    returnType: void
    signature: "void Direct3D9SetupVertices(CUSTOMVERTEX *vertices,\n                                  const
      RECT *full_texture, const video_format_t *src_fmt,\n                                  const
      vout_display_place_t *place_in_display,\n                                  int
      alpha,\n                                  video_orientation_t orientation)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:347,1
    - Dst: IDirect3DTexture9_GetSurfaceLevel
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:353,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:354,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:355,1
    - Dst: IDXVAHD_VideoProcessor_VideoProcessBltHD
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:390,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:391,1
    - Dst: IDirect3DSurface9_GetDesc
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:393,1
    - Dst: IDirect3DSurface9_GetDesc
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:394,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:396,1
    - Dst: IDirect3DDevice9_StretchRect
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:403,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:406,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:407,1
    - Dst: IDirect3DSurface9_Release
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:411,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:412,1
    - Dst: Direct3D9SetupVertices
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:417,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 3
    argNames:
    - vd
    - region
    - source
    argTypes:
    - vout_display_t*
    - d3d_region_t*
    - IDirect3DSurface9*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 420
    functionName: Direct3D9ImportPicture
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 0
    functionsReached:
    - IDXVAHD_VideoProcessor_VideoProcessBltHD
    - FAILED
    - Direct3D9SetupVertices
    - IDirect3DSurface9_GetDesc
    - msg_Dbg
    - IDirect3DTexture9_GetSurfaceLevel
    - IDirect3DSurface9_Release
    - IDirect3DDevice9_StretchRect
    linkageType: ''
    returnType: int
    signature: "int Direct3D9ImportPicture(vout_display_t *vd,\n                                 d3d_region_t
      *region,\n                                 IDirect3DSurface9 *source)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IDirect3DTexture9_Release
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:426,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - count
    - region
    argTypes:
    - size_t
    - d3d_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 429
    functionName: Direct3D9DeleteRegions
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 0
    functionsReached:
    - free
    - IDirect3DTexture9_Release
    linkageType: ''
    returnType: void
    signature: void Direct3D9DeleteRegions(size_t count, d3d_region_t *region)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Direct3D9DeleteRegions
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:438,1
    - Dst: IDirect3DVertexBuffer9_Release
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:444,1
    - Dst: IDirect3DTexture9_Release
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:450,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 455
    functionName: Direct3D9DestroyScene
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 0
    functionsReached:
    - IDirect3DTexture9_Release
    - IDirect3DVertexBuffer9_Release
    - msg_Dbg
    - Direct3D9DeleteRegions
    linkageType: ''
    returnType: void
    signature: void Direct3D9DestroyScene(vout_display_t *vd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IDirect3DPixelShader9_Release
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 466
    functionName: Direct3D9DestroyShaders
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 0
    functionsReached:
    - IDirect3DPixelShader9_Release
    linkageType: ''
    returnType: void
    signature: void Direct3D9DestroyShaders(vout_display_t *vd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Direct3D9DestroyScene
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:475,1
    - Dst: IDirect3DSurface9_Release
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:478,1
    - Dst: Direct3D9DestroyShaders
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 482
    functionName: Direct3D9DestroyResources
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 0
    functionsReached:
    - IDirect3DSurface9_Release
    - Direct3D9DestroyScene
    - Direct3D9DestroyShaders
    linkageType: ''
    returnType: void
    signature: void Direct3D9DestroyResources(vout_display_t *vd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:502,1
    - Dst: vout_display_sys_t*::updateOutputCb
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:526,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:528,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - vd
    - fmt
    - out
    argTypes:
    - vout_display_t*
    - video_format_t*
    - libvlc_video_output_cfg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 533
    functionName: UpdateOutput
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 4
    functionsReached:
    - vout_display_sys_t*::updateOutputCb
    - vlc_fourcc_GetChromaDescription
    - msg_Err
    linkageType: ''
    returnType: int
    signature: "int UpdateOutput(vout_display_t *vd, const video_format_t *fmt,\n
      \                       libvlc_video_output_cfg_t *out)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: IDirect3DDevice9_CreateTexture
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:557,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:566,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:567,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:572,1
    - Dst: IDirect3DDevice9_CreateVertexBuffer
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:578,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:585,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:586,1
    - Dst: IDirect3DTexture9_Release
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:587,1
    - Dst: IDirect3DDevice9_SetFVF
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:593,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:594,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:595,1
    - Dst: IDirect3DDevice9_SetSamplerState
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:607,1
    - Dst: IDirect3DDevice9_SetSamplerState
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:608,1
    - Dst: IDirect3DDevice9_SetSamplerState
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:613,1
    - Dst: IDirect3DDevice9_SetSamplerState
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:616,1
    - Dst: IDirect3DDevice9_SetSamplerState
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:620,1
    - Dst: IDirect3DDevice9_SetSamplerState
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:623,1
    - Dst: IDirect3DDevice9_SetRenderState
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:627,1
    - Dst: D3DCOLOR_XRGB
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:627,1
    - Dst: IDirect3DDevice9_SetRenderState
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:630,1
    - Dst: IDirect3DDevice9_SetRenderState
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:633,1
    - Dst: IDirect3DDevice9_SetRenderState
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:636,1
    - Dst: IDirect3DDevice9_SetRenderState
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:639,1
    - Dst: IDirect3DDevice9_SetRenderState
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:642,1
    - Dst: IDirect3DDevice9_SetRenderState
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:645,1
    - Dst: IDirect3DDevice9_SetRenderState
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:646,1
    - Dst: IDirect3DDevice9_SetRenderState
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:647,1
    - Dst: IDirect3DDevice9_SetRenderState
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:650,1
    - Dst: IDirect3DDevice9_SetRenderState
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:651,1
    - Dst: IDirect3DDevice9_SetRenderState
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:652,1
    - Dst: IDirect3DDevice9_SetTextureStageState
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:656,1
    - Dst: IDirect3DDevice9_SetTextureStageState
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:657,1
    - Dst: IDirect3DDevice9_SetTextureStageState
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:659,1
    - Dst: IDirect3DDevice9_SetTextureStageState
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:660,1
    - Dst: IDirect3DDevice9_SetTextureStageState
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:661,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:663,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 61
    argCount: 2
    argNames:
    - vd
    - fmt
    argTypes:
    - vout_display_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 666
    functionName: Direct3D9CreateScene
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 0
    functionsReached:
    - D3DCOLOR_XRGB
    - IDirect3DDevice9_SetTextureStageState
    - FAILED
    - IDirect3DDevice9_CreateVertexBuffer
    - IDirect3DDevice9_SetSamplerState
    - IDirect3DDevice9_SetRenderState
    - IDirect3DTexture9_Release
    - msg_Err
    - IDirect3DDevice9_CreateTexture
    - msg_Dbg
    - IDirect3DDevice9_SetFVF
    linkageType: ''
    returnType: int
    signature: int Direct3D9CreateScene(vout_display_t *vd, const video_format_t *fmt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetProcAddress
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:686,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:688,1
    - Dst: OurD3DXCompileShader
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:696,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:699,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:700,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:702,1
    - Dst: ID3DXBuffer_GetBufferPointer
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:702,1
    - Dst: ID3DXBuffer_Release
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:703,1
    - Dst: IDirect3DDevice9_CreatePixelShader
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:708,1
    - Dst: ID3DXBuffer_GetBufferPointer
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:709,1
    - Dst: ID3DXBuffer_Release
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:713,1
    - Dst: ID3DXBuffer_Release
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:715,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:717,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:718,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - vd
    - shader_source
    - source_length
    argTypes:
    - vout_display_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 722
    functionName: Direct3D9CompileShader
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 0
    functionsReached:
    - OurD3DXCompileShader
    - IDirect3DDevice9_CreatePixelShader
    - ID3DXBuffer_Release
    - FAILED
    - GetProcAddress
    - msg_Warn
    - ID3DXBuffer_GetBufferPointer
    linkageType: ''
    returnType: int
    signature: int Direct3D9CompileShader(vout_display_t *vd, const char *shader_source,
      size_t source_length)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:735,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:745,1
    - Dst: Direct3D9CompileShader
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:753,1
    - Dst: strlen
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:753,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:757,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:760,1
    - Dst: vlc_fopen
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:764,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:765,1
    - Dst: fseek
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:768,1
    - Dst: ftell
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:771,1
    - Dst: rewind
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:774,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:775,1
    - Dst: fread
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:778,1
    - Dst: Direct3D9CompileShader
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:781,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:786,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:787,1
    - Dst: fclose
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:788,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:793,1
    - Dst: fclose
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:795,1
    - Dst: Direct3D9DestroyShaders
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:797,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:798,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 59
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 727
    functionDepth: 2
    functionLinenumber: 727
    functionLinenumberEnd: 800
    functionName: Direct3D9CreateShaders
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 0
    functionsReached:
    - ftell
    - var_InheritString
    - rewind
    - fread
    - strlen
    - fseek
    - free
    - strcmp
    - vlc_fopen
    - vlc_alloc
    - Direct3D9CompileShader
    - Direct3D9DestroyShaders
    - fclose
    linkageType: ''
    returnType: int
    signature: int Direct3D9CreateShaders(vout_display_t *vd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Direct3D9CreateScene
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:809,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:810,1
    - Dst: Direct3D9CreateShaders
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:813,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:815,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:821,1
    - Dst: IDirect3D9_CheckDeviceFormat
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:821,1
    - Dst: is_d3d9_opaque
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:833,1
    - Dst: IDirect3DDevice9_CreateOffscreenPlainSurface
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:835,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:842,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:843,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - vd
    - fmt
    argTypes:
    - vout_display_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 805
    functionDepth: 3
    functionLinenumber: 805
    functionLinenumberEnd: 849
    functionName: Direct3D9CreateResources
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 0
    functionsReached:
    - IDirect3DDevice9_CreateOffscreenPlainSurface
    - is_d3d9_opaque
    - FAILED
    - Direct3D9CreateScene
    - Direct3D9CreateShaders
    - msg_Err
    - SUCCEEDED
    - msg_Warn
    - IDirect3D9_CheckDeviceFormat
    linkageType: ''
    returnType: int
    signature: int Direct3D9CreateResources(vout_display_t *vd, const video_format_t
      *fmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: D3D9_ResetDevice
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:858,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:858,1
    - Dst: Direct3D9DestroyResources
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:863,1
    - Dst: UpdateOutput
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:865,1
    - Dst: Direct3D9CreateResources
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:869,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:870,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - vd
    - fmtp
    argTypes:
    - vout_display_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 854
    functionDepth: 4
    functionLinenumber: 854
    functionLinenumberEnd: 874
    functionName: Direct3D9Reset
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 0
    functionsReached:
    - UpdateOutput
    - msg_Dbg
    - VLC_OBJECT
    - D3D9_ResetDevice
    - Direct3D9CreateResources
    - Direct3D9DestroyResources
    linkageType: ''
    returnType: int
    signature: int Direct3D9Reset(vout_display_t *vd, const video_format_t *fmtp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:886,1
    - Dst: vlc_vector_foreach
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:893,1
    - Dst: memset
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:905,1
    - Dst: IDirect3DDevice9_CreateTexture
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:914,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:922,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:924,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:930,1
    - Dst: IDirect3DTexture9_LockRect
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:936,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:937,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:945,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:947,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:949,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:953,1
    - Dst: IDirect3DTexture9_UnlockRect
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:963,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:964,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:965,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:967,1
    - Dst: Direct3D9SetupVertices
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:977,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 63
    argCount: 4
    argNames:
    - vd
    - count_ptr
    - region
    - subpicture
    argTypes:
    - vout_display_t*
    - size_t*
    - d3d_region_t**
    - vlc_render_subpicture*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 981
    functionName: Direct3D9ImportSubpicture
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 0
    functionsReached:
    - memset
    - vlc_vector_foreach
    - FAILED
    - memcpy
    - Direct3D9SetupVertices
    - msg_Err
    - calloc
    - IDirect3DDevice9_CreateTexture
    - msg_Dbg
    - IDirect3DTexture9_LockRect
    - SUCCEEDED
    - __MIN
    - IDirect3DTexture9_UnlockRect
    linkageType: ''
    returnType: void
    signature: "void Direct3D9ImportSubpicture(vout_display_t *vd,\n                                     size_t
      *count_ptr, d3d_region_t **region,\n                                     const
      vlc_render_subpicture *subpicture)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: IDirect3DVertexBuffer9_Lock
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:995,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:996,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:997,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1000,1
    - Dst: IDirect3DVertexBuffer9_Unlock
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1001,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1002,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1003,1
    - Dst: IDirect3DDevice9_SetStreamSource
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1008,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1009,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1010,1
    - Dst: IDirect3DDevice9_SetTexture
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1018,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1019,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1020,1
    - Dst: IDirect3DDevice9_SetPixelShader
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1027,1
    - Dst: IDirect3DDevice9_SetPixelShaderConstantF
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1029,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1030,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1031,1
    - Dst: IDirect3DDevice9_SetPixelShader
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1036,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1037,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1038,1
    - Dst: IDirect3DDevice9_DrawPrimitive
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1044,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1045,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1046,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 3
    argNames:
    - vd
    - region
    - use_pixel_shader
    argTypes:
    - vout_display_t*
    - d3d_region_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 1050
    functionName: Direct3D9RenderRegion
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 0
    functionsReached:
    - IDirect3DDevice9_SetStreamSource
    - IDirect3DDevice9_SetPixelShader
    - FAILED
    - IDirect3DVertexBuffer9_Unlock
    - memcpy
    - IDirect3DDevice9_SetTexture
    - IDirect3DDevice9_DrawPrimitive
    - msg_Dbg
    - IDirect3DDevice9_SetPixelShaderConstantF
    - IDirect3DVertexBuffer9_Lock
    linkageType: ''
    returnType: int
    signature: "int Direct3D9RenderRegion(vout_display_t *vd,\n                                const
      d3d_region_t *region,\n                                bool use_pixel_shader)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vout_display_sys_t*::startEndRenderingCb
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1067,1
    - Dst: IDirect3DDevice9_Clear
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1072,1
    - Dst: D3DCOLOR_XRGB
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1073,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1074,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1075,1
    - Dst: IDirect3DDevice9_BeginScene
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1081,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1082,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1083,1
    - Dst: Direct3D9RenderRegion
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1087,1
    - Dst: IDirect3DDevice9_SetRenderState
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1091,1
    - Dst: Direct3D9RenderRegion
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1095,1
    - Dst: IDirect3DDevice9_SetRenderState
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1097,1
    - Dst: IDirect3DDevice9_EndScene
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1100,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1101,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1102,1
    - Dst: vout_display_sys_t*::startEndRenderingCb
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1105,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 4
    argNames:
    - vd
    - picture
    - subpicture_count
    - subpicture
    argTypes:
    - vout_display_t*
    - d3d_region_t*
    - size_t
    - d3d_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1058
    functionDepth: 2
    functionLinenumber: 1058
    functionLinenumberEnd: 1106
    functionName: Direct3D9RenderScene
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 0
    functionsReached:
    - D3DCOLOR_XRGB
    - Direct3D9RenderRegion
    - FAILED
    - IDirect3DDevice9_SetRenderState
    - IDirect3DDevice9_EndScene
    - vout_display_sys_t*::startEndRenderingCb
    - msg_Dbg
    - IDirect3DDevice9_BeginScene
    - IDirect3DDevice9_Clear
    linkageType: ''
    returnType: void
    signature: "void Direct3D9RenderScene(vout_display_t *vd,\n                                d3d_region_t
      *picture,\n                                size_t subpicture_count,\n                                d3d_region_t
      *subpicture)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1111,1
    - Dst: GetClientRect
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1120,1
    - Dst: CommonVideoHWND
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1120,1
    - Dst: RECTWidth
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1121,1
    - Dst: RECTHeight
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1122,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1126,1
    - Dst: Direct3D9ResetDevice
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1128,1
    - Dst: UpdateOutput
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1132,1
    - Dst: IDirect3DDevice9_TestCooperativeLevel
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1141,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1142,1
    - Dst: Direct3D9Reset
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1146,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1147,1
    - Dst: is_d3d9_opaque
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1167,1
    - Dst: IDirect3DSurface9_LockRect
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1171,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1172,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1172,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1173,1
    - Dst: picture_UpdatePlanes
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1178,1
    - Dst: picture_SwapUV
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1182,1
    - Dst: picture_CopyPixels
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1184,1
    - Dst: IDirect3DSurface9_UnlockRect
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1185,1
    - Dst: ActiveD3D9PictureSys
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1189,1
    - Dst: IDirect3DSurface9_GetDesc
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1194,1
    - Dst: IDirect3DSurface9_GetDesc
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1195,1
    - Dst: IDirect3DDevice9_StretchRect
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1206,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1207,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1208,1
    - Dst: Direct3D9ImportPicture
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1215,1
    - Dst: Direct3D9ImportSubpicture
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1221,1
    - Dst: Direct3D9RenderScene
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1224,1
    - Dst: Direct3D9DeleteRegions
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1227,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 70
    argCount: 4
    argNames:
    - vd
    - picture
    - subpicture
    - date
    argTypes:
    - vout_display_t*
    - picture_t*
    - vlc_render_subpicture*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1108
    functionDepth: 5
    functionLinenumber: 1108
    functionLinenumberEnd: 1231
    functionName: Prepare
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 49
    functionsReached:
    - Direct3D9RenderScene
    - Direct3D9ResetDevice
    - picture_SwapUV
    - Direct3D9ImportPicture
    - Direct3D9DeleteRegions
    - UpdateOutput
    - RECTHeight
    - picture_CopyPixels
    - IDirect3DDevice9_StretchRect
    - IDirect3DSurface9_UnlockRect
    - is_d3d9_opaque
    - IDirect3DSurface9_LockRect
    - msg_Err
    - IDirect3DSurface9_GetDesc
    - msg_Dbg
    - RECTWidth
    - picture_UpdatePlanes
    - CommonVideoHWND
    - GetClientRect
    - ActiveD3D9PictureSys
    - VLC_UNUSED
    - Direct3D9Reset
    - FAILED
    - IDirect3DDevice9_TestCooperativeLevel
    - Direct3D9ImportSubpicture
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void Prepare(vout_display_t *vd, picture_t *picture,\n                    const
      vlc_render_subpicture *subpicture, vlc_tick_t date)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IDirect3DDevice9Ex_PresentEx
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1249,1
    - Dst: CommonVideoHWND
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1249,1
    - Dst: IDirect3DDevice9_Present
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1251,1
    - Dst: CommonVideoHWND
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1251,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1253,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1233
    functionDepth: 2
    functionLinenumber: 1233
    functionLinenumberEnd: 1256
    functionName: Swap
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 7
    functionsReached:
    - FAILED
    - CommonVideoHWND
    - msg_Dbg
    - IDirect3DDevice9Ex_PresentEx
    - IDirect3DDevice9_Present
    linkageType: ''
    returnType: void
    signature: void Swap(vout_display_t *vd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1260,1
    - Dst: vout_display_sys_t*::swapCb
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - vd
    - picture
    argTypes:
    - vout_display_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1258
    functionDepth: 1
    functionLinenumber: 1258
    functionLinenumberEnd: 1267
    functionName: Display
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 26
    functionsReached:
    - vout_display_sys_t*::swapCb
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void Display(vout_display_t *vd, picture_t *picture)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IDXVAHD_VideoProcessor_Release
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1276,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1279,1
    - Dst: D3D9_ReleaseDevice
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1282,1
    - Dst: FreeLibrary
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - sys
    argTypes:
    - vout_display_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1272
    functionDepth: 2
    functionLinenumber: 1272
    functionLinenumberEnd: 1289
    functionName: Direct3D9Destroy
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 0
    functionsReached:
    - D3D9_ReleaseDevice
    - FreeLibrary
    - IDXVAHD_VideoProcessor_Release
    - vlc_decoder_device_Release
    linkageType: ''
    returnType: void
    signature: void Direct3D9Destroy(vout_display_sys_t *sys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IDirect3D9_CheckDeviceFormat
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1302,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1305,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - vd
    - src
    argTypes:
    - vout_display_t*
    - D3DFORMAT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1294
    functionDepth: 1
    functionLinenumber: 1294
    functionLinenumberEnd: 1311
    functionName: Direct3D9CheckConversion
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 0
    functionsReached:
    - IDirect3D9_CheckDeviceFormat
    - SUCCEEDED
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int Direct3D9CheckConversion(vout_display_t *vd, D3DFORMAT src)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - D3DFORMAT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1346
    functionName: FindBufferFormat
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: d3d9_format_t
    signature: d3d9_format_t *FindBufferFormat(D3DFORMAT fmt)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1355,1
    - Dst: is_d3d9_opaque
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1363,1
    - Dst: GetD3D9ContextPrivate
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1365,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1366,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1369,1
    - Dst: vlc_fourcc_IsYUV
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1371,1
    - Dst: vlc_fourcc_GetYUVFallback
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1372,1
    - Dst: vlc_fourcc_GetRGBFallback
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1374,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1388,1
    - Dst: Direct3D9CheckConversion
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1389,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1391,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1396,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 32
    argCount: 3
    argNames:
    - vd
    - fmt
    - vctx
    argTypes:
    - vout_display_t*
    - video_format_t*
    - vlc_video_context*
    assertStmts:
    - condition: (vctx_sys != NULL)
      pos:
        line_end: 1365
        line_start: 1365
        source_file: /src/vlc/modules/video_output/win32/direct3d9.c
    constantsTouched: []
    func_position:
      end: 1399
      start: 1350
    functionDepth: 2
    functionLinenumber: 1350
    functionLinenumberEnd: 1399
    functionName: Direct3DFindFormat
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 0
    functionsReached:
    - is_d3d9_opaque
    - assert
    - vlc_fourcc_GetRGBFallback
    - GetD3D9ContextPrivate
    - vlc_fourcc_GetYUVFallback
    - free
    - vlc_fourcc_IsYUV
    - msg_Dbg
    - msg_Warn
    - Direct3D9CheckConversion
    linkageType: ''
    returnType: d3d9_format_t
    signature: d3d9_format_t *Direct3DFindFormat(vout_display_t *vd, const video_format_t
      *fmt, vlc_video_context *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IDXVAHD_VideoProcessor_SetVideoProcessStreamState
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1405,1
    - Dst: IDXVAHD_VideoProcessor_SetVideoProcessStreamState
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1408,1
    - Dst: IDXVAHD_VideoProcessor_SetVideoProcessStreamState
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1416,1
    - Dst: IDXVAHD_VideoProcessor_SetVideoProcessStreamState
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1426,1
    - Dst: IDXVAHD_VideoProcessor_SetVideoProcessBltState
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - vd
    - fmt
    - d3dfmt
    argTypes:
    - vout_display_t*
    - video_format_t*
    - d3d9_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1401
    functionDepth: 0
    functionLinenumber: 1401
    functionLinenumberEnd: 1437
    functionName: SetupProcessorInput
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 0
    functionsReached:
    - IDXVAHD_VideoProcessor_SetVideoProcessStreamState
    - IDXVAHD_VideoProcessor_SetVideoProcessBltState
    linkageType: ''
    returnType: void
    signature: void SetupProcessorInput(vout_display_t *vd, const video_format_t *fmt,
      const d3d9_format_t *d3dfmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - r
    - fmt
    argTypes:
    - DXVAHD_RATIONAL*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1439
    functionDepth: 0
    functionLinenumber: 1439
    functionLinenumberEnd: 1451
    functionName: GetFrameRate
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFrameRate(DXVAHD_RATIONAL *r, const video_format_t *fmt)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: GetFrameRate
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1466,1
    - Dst: DXVAHD_CreateDevice
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1473,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1474,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1476,1
    - Dst: IDXVAHD_Device_GetVideoProcessorDeviceCaps
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1481,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1482,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1482,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1484,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1489,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1493,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1494,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1496,1
    - Dst: IDXVAHD_Device_GetVideoProcessorInputFormats
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1500,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1509,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1513,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1514,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1515,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1517,1
    - Dst: IDXVAHD_Device_GetVideoProcessorOutputFormats
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1521,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1529,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1533,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1534,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1536,1
    - Dst: IDXVAHD_Device_GetVideoProcessorCaps
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1539,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1540,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1542,1
    - Dst: IDXVAHD_Device_CreateVideoProcessor
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1546,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1547,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1549,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1553,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1554,1
    - Dst: IDXVAHD_Device_Release
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1555,1
    - Dst: SetupProcessorInput
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1557,1
    - Dst: IDXVAHD_VideoProcessor_SetVideoProcessBltState
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1565,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1570,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1571,1
    - Dst: IDXVAHD_Device_Release
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1573,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 89
    argCount: 3
    argNames:
    - vd
    - d3dfmt
    - render_out
    argTypes:
    - vout_display_t*
    - d3d9_format_t*
    - libvlc_video_output_cfg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1575
      start: 1453
    functionDepth: 1
    functionLinenumber: 1453
    functionLinenumberEnd: 1575
    functionName: InitRangeProcessor
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 0
    functionsReached:
    - IDXVAHD_Device_GetVideoProcessorOutputFormats
    - IDXVAHD_Device_GetVideoProcessorDeviceCaps
    - DXVAHD_CreateDevice
    - FAILED
    - IDXVAHD_Device_GetVideoProcessorInputFormats
    - IDXVAHD_VideoProcessor_SetVideoProcessBltState
    - msg_Err
    - free
    - IDXVAHD_Device_Release
    - msg_Dbg
    - msg_Warn
    - vlc_alloc
    - GetFrameRate
    - IDXVAHD_Device_GetVideoProcessorCaps
    - SetupProcessorInput
    - IDXVAHD_Device_CreateVideoProcessor
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int InitRangeProcessor(vout_display_t *vd, const d3d9_format_t *d3dfmt,\n
      \                             const libvlc_video_output_cfg_t *render_out)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: UpdateOutput
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1585,1
    - Dst: FindBufferFormat
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1589,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1590,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1591,1
    - Dst: Direct3DFindFormat
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1596,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1598,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1601,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1603,1
    - Dst: vlc_fourcc_IsYUV
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1606,1
    - Dst: vlc_fourcc_IsYUV
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1606,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1609,1
    - Dst: InitRangeProcessor
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1610,1
    - Dst: IDirect3D9_CheckDeviceFormatConversion
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1617,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1621,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1623,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1626,1
    - Dst: Direct3D9CreateResources
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1634,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1635,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1639,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 3
    argNames:
    - vd
    - fmt
    - vctx
    argTypes:
    - vout_display_t*
    - video_format_t*
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1580
    functionDepth: 4
    functionLinenumber: 1580
    functionLinenumberEnd: 1644
    functionName: Direct3D9Open
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 0
    functionsReached:
    - Direct3DFindFormat
    - FAILED
    - var_InheritBool
    - InitRangeProcessor
    - msg_Err
    - IDirect3D9_CheckDeviceFormatConversion
    - UpdateOutput
    - vlc_fourcc_IsYUV
    - msg_Dbg
    - FindBufferFormat
    - msg_Warn
    - Direct3D9CreateResources
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Direct3D9Open(vout_display_t *vd, video_format_t *fmt, vlc_video_context
      *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Direct3D9DestroyResources
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1649
    functionDepth: 3
    functionLinenumber: 1649
    functionLinenumberEnd: 1652
    functionName: Direct3D9Close
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 0
    functionsReached:
    - Direct3D9DestroyResources
    linkageType: ''
    returnType: void
    signature: void Direct3D9Close(vout_display_t *vd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1656,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1656,1
    - Dst: CommonDisplaySizeChanged
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - vd
    - width
    - height
    argTypes:
    - vout_display_t*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1654
    functionDepth: 2
    functionLinenumber: 1654
    functionLinenumberEnd: 1660
    functionName: SetDisplaySize
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 0
    functionsReached:
    - CommonDisplaySizeChanged
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int SetDisplaySize(vout_display_t *vd, unsigned width, unsigned height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - vd
    - place
    argTypes:
    - vout_display_t*
    - vout_display_place_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1662
    functionDepth: 1
    functionLinenumber: 1662
    functionLinenumberEnd: 1668
    functionName: PlacementChanged
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 2
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int PlacementChanged(vout_display_t *vd, const vout_display_place_t
      *place)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xrealloc
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1680,1
    - Dst: xrealloc
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1681,1
    - Dst: strdup
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1683,1
    - Dst: strdup
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1684,1
    - Dst: strdup
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1687,1
    - Dst: strdup
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1688,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - enum_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1690
      start: 1677
    functionDepth: 1
    functionLinenumber: 1677
    functionLinenumberEnd: 1690
    functionName: ListShaders
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 0
    functionsReached:
    - strdup
    - xrealloc
    linkageType: ''
    returnType: void
    signature: void ListShaders(enum_context_t *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1695,1
    - Dst: ListShaders
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - name
    - values
    - descs
    argTypes:
    - char*
    - char***
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1693
    functionDepth: 2
    functionLinenumber: 1693
    functionLinenumberEnd: 1705
    functionName: FindShadersCallback
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 0
    functionsReached:
    - ListShaders
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int FindShadersCallback(const char *name, char ***values, char ***descs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1711,1
    - Dst: IDirect3D9_GetAdapterDisplayMode
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1716,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1717,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - opaque
    - cfg
    - out
    argTypes:
    - void*
    - libvlc_video_render_cfg_t*
    - libvlc_video_output_cfg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1728
      start: 1709
    functionDepth: 1
    functionLinenumber: 1709
    functionLinenumberEnd: 1728
    functionName: LocalSwapchainUpdateOutput
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 0
    functionsReached:
    - IDirect3D9_GetAdapterDisplayMode
    - FAILED
    - unlikely
    - VLC_UNUSED
    linkageType: ''
    returnType: bool
    signature: bool LocalSwapchainUpdateOutput( void *opaque, const libvlc_video_render_cfg_t
      *cfg, libvlc_video_output_cfg_t *out )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1734
      start: 1730
    functionDepth: 0
    functionLinenumber: 1730
    functionLinenumberEnd: 1734
    functionName: LocalSwapchainSwap
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 1
    functionsReached:
    - Swap
    linkageType: ''
    returnType: void
    signature: void LocalSwapchainSwap( void *opaque )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1759,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1766,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1767,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1768,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1769,1
    - Dst: CommonWindowInit
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1774,1
    - Dst: vlc_video_context_HoldDevice
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1783,1
    - Dst: GetD3D9OpaqueDevice
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1784,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1789,1
    - Dst: D3D9_CreateDevice
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1793,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1795,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1804,1
    - Dst: Direct3D9LoadShaderLibrary
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1811,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1813,1
    - Dst: var_CreateGetBool
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1817,1
    - Dst: Direct3D9Open
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1821,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1822,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1827,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1838,1
    - Dst: video_format_Copy
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1839,1
    - Dst: vlc_window_SetTitle
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1844,1
    - Dst: Direct3D9Close
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1848,1
    - Dst: CommonWindowClean
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1849,1
    - Dst: Direct3D9Destroy
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1850,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1851,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 68
    argCount: 3
    argNames:
    - vd
    - fmtp
    - context
    argTypes:
    - vout_display_t*
    - video_format_t*
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1747
    functionDepth: 5
    functionLinenumber: 1747
    functionLinenumberEnd: 1853
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 63
    functionsReached:
    - var_InheritAddress
    - vlc_decoder_device_Release
    - Direct3D9Destroy
    - CommonWindowClean
    - video_format_Clean
    - vlc_window_SetTitle
    - msg_Err
    - calloc
    - Direct3D9Open
    - msg_Warn
    - vlc_video_context_HoldDevice
    - video_format_Copy
    - var_InheritBool
    - CommonWindowInit
    - Direct3D9LoadShaderLibrary
    - D3D9_CreateDevice
    - var_CreateGetBool
    - Direct3D9Close
    - free
    - GetD3D9OpaqueDevice
    linkageType: ''
    returnType: int
    signature: "int Open(vout_display_t *vd,\n                video_format_t *fmtp,
      vlc_video_context *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Direct3D9Close
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1862,1
    - Dst: CommonWindowClean
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1864,1
    - Dst: Direct3D9Destroy
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1866,1
    - Dst: free
      Src: /src/vlc/modules/video_output/win32/direct3d9.c:1868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1869
      start: 1858
    functionDepth: 4
    functionLinenumber: 1858
    functionLinenumberEnd: 1869
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/win32/direct3d9.c
    functionUses: 166
    functionsReached:
    - free
    - Direct3D9Destroy
    - CommonWindowClean
    - Direct3D9Close
    linkageType: ''
    returnType: void
    signature: void Close(vout_display_t *vd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: D3D_CompilePixelShader
      Src: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - o
    - d3d_dev
    - display
    - transfer
    - src_full_range
    - quad
    - pPSBlob
    argTypes:
    - vlc_object_t*
    - d3d11_device_t*
    - display_info_t*
    - video_transfer_func_t
    - bool
    - d3d11_quad_t*
    - d3d_shader_blob[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: HRESULT
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp
    functionUses: 0
    functionsReached:
    - D3D_CompilePixelShader
    linkageType: ''
    returnType: void
    signature: "void HRESULT (D3D11_CompilePixelShaderBlob)(vlc_object_t *o,\n                                   d3d11_device_t
      *d3d_dev,\n                                   const display_info_t *display,\n
      \                                  video_transfer_func_t transfer,\n                                   bool
      src_full_range,\n                                   const d3d11_quad_t *quad,
      d3d_shader_blob pPSBlob[DXGI_MAX_RENDER_TARGET])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: d3d11_device_t*::d3ddevice::CreateSamplerState
      Src: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp:63,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp:64,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp:65,1
    - Dst: d3d11_device_t*::d3ddevice::CreateSamplerState
      Src: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp:70,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp:71,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp:72,1
    - Dst: Reset
      Src: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp:73,1
    - Dst: d3d11_device_t*::d3ddevice::CreatePixelShader
      Src: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp:77,1
    - Dst: D3D_ShaderBlobRelease
      Src: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp:81,1
    - Dst: d3d11_device_t*::d3ddevice::CreatePixelShader
      Src: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp:85,1
    - Dst: D3D_ShaderBlobRelease
      Src: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 5
    argNames:
    - o
    - d3d_dev
    - sharp
    - quad
    - pPSBlob
    argTypes:
    - vlc_object_t*
    - d3d11_device_t*
    - bool
    - d3d11_quad_t*
    - d3d_shader_blob[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 92
    functionName: D3D11_SetQuadPixelShader
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp
    functionUses: 2
    functionsReached:
    - d3d11_device_t*::d3ddevice::CreateSamplerState
    - FAILED
    - D3D_ShaderBlobRelease
    - Reset
    - msg_Err
    - d3d11_device_t*::d3ddevice::CreatePixelShader
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT D3D11_SetQuadPixelShader(vlc_object_t *o, d3d11_device_t *d3d_dev,\n
      \                               bool sharp,\n                                d3d11_quad_t
      *quad, d3d_shader_blob pPSBlob[DXGI_MAX_RENDER_TARGET])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: d3d11_device_t*::d3ddevice::CreateRenderTargetView
      Src: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp:106,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - d3d_dev
    - texture
    - cfg
    - output
    argTypes:
    - d3d11_device_t*
    - ID3D11Resource*
    - d3d_format_t*
    - ComPtr<ID3D11RenderTargetView>[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 115
    functionName: D3D11_CreateRenderTargets
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp
    functionUses: 1
    functionsReached:
    - FAILED
    - d3d11_device_t*::d3ddevice::CreateRenderTargetView
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT D3D11_CreateRenderTargets( d3d11_device_t *d3d_dev, ID3D11Resource
      *texture,\n                                   const d3d_format_t *cfg, ComPtr<ID3D11RenderTargetView>
      output[DXGI_MAX_RENDER_TARGET] )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DXGI_GetBlackColor
      Src: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp:122,1
    - Dst: d3d11_device_t*::d3dcontext::ClearRenderTargetView
      Src: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp:126,1
    - Dst: Get
      Src: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp:126,1
    - Dst: d3d11_device_t*::d3dcontext::ClearRenderTargetView
      Src: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp:130,1
    - Dst: Get
      Src: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - d3d_dev
    - cfg
    - targets
    argTypes:
    - d3d11_device_t*
    - d3d_format_t*
    - ComPtr<ID3D11RenderTargetView>[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 132
    functionName: D3D11_ClearRenderTargets
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp
    functionUses: 2
    functionsReached:
    - DXGI_GetBlackColor
    - d3d11_device_t*::d3dcontext::ClearRenderTargetView
    - Get
    linkageType: ''
    returnType: void
    signature: "void D3D11_ClearRenderTargets(d3d11_device_t *d3d_dev, const d3d_format_t
      *cfg,\n                              ComPtr<ID3D11RenderTargetView> targets[DXGI_MAX_RENDER_TARGET])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: d3d11_device_t*::d3ddevice::CreateVertexShader
      Src: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp:138,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp:141,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp:142,1
    - Dst: d3d11_device_t*::d3ddevice::CreateInputLayout
      Src: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp:152,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp:155,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp:156,1
    - Dst: D3D_ShaderBlobRelease
      Src: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - obj
    - pVSBlob
    - d3d_dev
    - output
    argTypes:
    - vlc_object_t*
    - d3d_shader_blob*
    - d3d11_device_t*
    - d3d11_vertex_shader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 163
    functionName: HRESULT
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp
    functionUses: 0
    functionsReached:
    - d3d11_device_t*::d3ddevice::CreateInputLayout
    - FAILED
    - D3D_ShaderBlobRelease
    - msg_Err
    - d3d11_device_t*::d3ddevice::CreateVertexShader
    linkageType: ''
    returnType: void
    signature: "void HRESULT (D3D11_CreateVertexShader)(vlc_object_t *obj, d3d_shader_blob
      *pVSBlob,\n                                   d3d11_device_t *d3d_dev, d3d11_vertex_shader_t
      *output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d3d11_vertex_shader_t*::layout::Reset
      Src: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp:167,1
    - Dst: d3d11_vertex_shader_t*::shader::Reset
      Src: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - shader
    argTypes:
    - d3d11_vertex_shader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: D3D11_ReleaseVertexShader
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp
    functionUses: 1
    functionsReached:
    - d3d11_vertex_shader_t*::shader::Reset
    - d3d11_vertex_shader_t*::layout::Reset
    linkageType: ''
    returnType: void
    signature: void D3D11_ReleaseVertexShader(d3d11_vertex_shader_t *shader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: D3D_CompileVertexShader
      Src: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - obj
    - d3d_dev
    - flat
    - pVSBlob
    argTypes:
    - vlc_object_t*
    - d3d11_device_t*
    - bool
    - d3d_shader_blob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: D3D11_CompileVertexShaderBlob
    functionSourceFile: /src/vlc/modules/video_output/win32/d3d11_shaders.cpp
    functionUses: 1
    functionsReached:
    - D3D_CompileVertexShader
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT D3D11_CompileVertexShaderBlob(vlc_object_t *obj,\n                                      d3d11_device_t
      *d3d_dev, bool flat, d3d_shader_blob *pVSBlob)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_wasync_resize_compressor_reportSize
      Src: /src/vlc/modules/video_output/android/window.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - wnd
    - i_width
    - i_height
    argTypes:
    - vlc_window_t*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: OnNewWindowSize
    functionSourceFile: /src/vlc/modules/video_output/android/window.c
    functionUses: 0
    functionsReached:
    - vlc_wasync_resize_compressor_reportSize
    linkageType: ''
    returnType: void
    signature: "void OnNewWindowSize(vlc_window_t *wnd,\n                            unsigned
      i_width, unsigned i_height)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_window_ReportMouseMoved
      Src: /src/vlc/modules/video_output/android/window.c:66,1
    - Dst: vlc_window_ReportMousePressed
      Src: /src/vlc/modules/video_output/android/window.c:70,1
    - Dst: vlc_window_ReportMouseReleased
      Src: /src/vlc/modules/video_output/android/window.c:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - wnd
    - coords
    argTypes:
    - vlc_window_t*
    - struct awh_mouse_coords*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: OnNewMouseCoords
    functionSourceFile: /src/vlc/modules/video_output/android/window.c
    functionUses: 0
    functionsReached:
    - vlc_window_ReportMouseMoved
    - vlc_window_ReportMouseReleased
    - vlc_window_ReportMousePressed
    linkageType: ''
    returnType: void
    signature: "void OnNewMouseCoords(vlc_window_t *wnd,\n                             const
      struct awh_mouse_coords *coords)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_wasync_resize_compressor_destroy
      Src: /src/vlc/modules/video_output/android/window.c:83,1
    - Dst: AWindowHandler_destroy
      Src: /src/vlc/modules/video_output/android/window.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/android/window.c
    functionUses: 166
    functionsReached:
    - AWindowHandler_destroy
    - vlc_wasync_resize_compressor_destroy
    linkageType: ''
    returnType: void
    signature: void Close(vlc_window_t *wnd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/video_output/android/window.c:94,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/video_output/android/window.c:98,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/android/window.c:98,1
    - Dst: vlc_wasync_resize_compressor_init
      Src: /src/vlc/modules/video_output/android/window.c:102,1
    - Dst: AWindowHandler_new
      Src: /src/vlc/modules/video_output/android/window.c:107,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/android/window.c:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 118
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/android/window.c
    functionUses: 63
    functionsReached:
    - vlc_obj_malloc
    - var_InheritAddress
    - vlc_wasync_resize_compressor_init
    - VLC_OBJECT
    - AWindowHandler_new
    linkageType: ''
    returnType: int
    signature: int Open(vlc_window_t *wnd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct vout_window_sys_cb*::cleanup_cb
      Src: /src/vlc/modules/video_output/android/window.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: DestroyCallback
    functionSourceFile: /src/vlc/modules/video_output/android/window.c
    functionUses: 0
    functionsReached:
    - struct vout_window_sys_cb*::cleanup_cb
    linkageType: ''
    returnType: void
    signature: void DestroyCallback(vlc_window_t *wnd)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/android/window.c:133,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/video_output/android/window.c:137,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/android/window.c:137,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/video_output/android/window.c:141,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/video_output/android/window.c:142,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/video_output/android/window.c:143,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/video_output/android/window.c:144,1
    - Dst: setup_cb
      Src: /src/vlc/modules/video_output/android/window.c:155,1
    - Dst: update_cb
      Src: /src/vlc/modules/video_output/android/window.c:167,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/android/window.c:170,1
    - Dst: AWindowHandler_newFromANWs
      Src: /src/vlc/modules/video_output/android/window.c:173,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/android/window.c:173,1
    - Dst: struct vout_window_sys_cb*::cleanup_cb
      Src: /src/vlc/modules/video_output/android/window.c:186,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts:
    - condition: (out.u.anw.video != NULL)
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/vlc/modules/video_output/android/window.c
    constantsTouched: []
    func_position:
      end: 188
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 188
    functionName: OpenCallback
    functionSourceFile: /src/vlc/modules/video_output/android/window.c
    functionUses: 1
    functionsReached:
    - assert
    - vlc_obj_malloc
    - var_InheritAddress
    - var_InheritInteger
    - update_cb
    - struct vout_window_sys_cb*::cleanup_cb
    - AWindowHandler_newFromANWs
    - VLC_OBJECT
    - setup_cb
    linkageType: ''
    returnType: int
    signature: int OpenCallback(vlc_window_t *wnd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AWindowHandler_new
      Src: /src/vlc/modules/video_output/android/window.c:200,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/android/window.c:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - device
    - window
    argTypes:
    - vlc_decoder_device*
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 214
    functionName: OpenDecDevice
    functionSourceFile: /src/vlc/modules/video_output/android/window.c
    functionUses: 0
    functionsReached:
    - AWindowHandler_new
    - VLC_OBJECT
    linkageType: ''
    returnType: int
    signature: int OpenDecDevice(vlc_decoder_device *device, vlc_window_t *window)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: android_getEnvCommon
      Src: /src/vlc/modules/video_output/android/env.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_obj
    - psz_name
    argTypes:
    - vlc_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: android_getEnv
    functionSourceFile: /src/vlc/modules/video_output/android/env.h
    functionUses: 3
    functionsReached:
    - android_getEnvCommon
    linkageType: ''
    returnType: JNIEnv
    signature: 'JNIEnv *

      android_getEnv(vlc_object_t *p_obj, const char *psz_name)'
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 104
    functionName: video_format_to_adataspace
    functionSourceFile: /src/vlc/modules/video_output/android/display.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t video_format_to_adataspace(const video_format_t *fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_sub_renderer_SetOutputSize
      Src: /src/vlc/modules/video_output/android/display.c:142,1
    - Dst: vlc_gl_Resize
      Src: /src/vlc/modules/video_output/android/display.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - vd
    - width
    - height
    argTypes:
    - vout_display_t*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: subpicture_SetDisplaySize
    functionSourceFile: /src/vlc/modules/video_output/android/display.c
    functionUses: 0
    functionsReached:
    - vlc_gl_Resize
    - vlc_gl_sub_renderer_SetOutputSize
    linkageType: ''
    returnType: void
    signature: void subpicture_SetDisplaySize(vout_display_t *vd, unsigned width,
      unsigned height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/android/display.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - vd
    - place
    argTypes:
    - vout_display_t*
    - vout_display_place_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 155
    functionName: subpicture_PlacementChanged
    functionSourceFile: /src/vlc/modules/video_output/android/display.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int subpicture_PlacementChanged(vout_display_t *vd, const vout_display_place_t
      *place)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - vd
    - query
    argTypes:
    - vout_display_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 168
    functionName: subpicture_Control
    functionSourceFile: /src/vlc/modules/video_output/android/display.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int subpicture_Control(vout_display_t *vd, int query)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vector_foreach
      Src: /src/vlc/modules/video_output/android/display.c:206,1
    - Dst: vout_display_PlaceEquals
      Src: /src/vlc/modules/video_output/android/display.c:209,1
    - Dst: vlc_vector_reserve
      Src: /src/vlc/modules/video_output/android/display.c:229,1
    - Dst: vlc_vector_foreach
      Src: /src/vlc/modules/video_output/android/display.c:234,1
    - Dst: vlc_vector_push
      Src: /src/vlc/modules/video_output/android/display.c:236,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/android/display.c:238,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - vd
    - subpicture
    argTypes:
    - vout_display_t*
    - vlc_render_subpicture*
    assertStmts:
    - condition: (res)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/vlc/modules/video_output/android/display.c
    constantsTouched: []
    func_position:
      end: 242
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 242
    functionName: subpicture_NeedDraw
    functionSourceFile: /src/vlc/modules/video_output/android/display.c
    functionUses: 0
    functionsReached:
    - assert
    - vout_display_PlaceEquals
    - vlc_vector_foreach
    - vlc_vector_reserve
    - vlc_vector_push
    linkageType: ''
    returnType: bool
    signature: "bool subpicture_NeedDraw(vout_display_t *vd,\n                                const
      vlc_render_subpicture *subpicture)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: subpicture_NeedDraw
      Src: /src/vlc/modules/video_output/android/display.c:249,1
    - Dst: vlc_gl_MakeCurrent
      Src: /src/vlc/modules/video_output/android/display.c:255,1
    - Dst: struct subpicture*::api::vt::ClearColor
      Src: /src/vlc/modules/video_output/android/display.c:258,1
    - Dst: struct subpicture*::api::vt::Clear
      Src: /src/vlc/modules/video_output/android/display.c:259,1
    - Dst: vlc_gl_sub_renderer_Prepare
      Src: /src/vlc/modules/video_output/android/display.c:261,1
    - Dst: struct subpicture*::vt::Flush
      Src: /src/vlc/modules/video_output/android/display.c:264,1
    - Dst: struct subpicture*::api::vt::Viewport
      Src: /src/vlc/modules/video_output/android/display.c:268,1
    - Dst: vlc_gl_sub_renderer_Draw
      Src: /src/vlc/modules/video_output/android/display.c:273,1
    - Dst: struct subpicture*::vt::Flush
      Src: /src/vlc/modules/video_output/android/display.c:276,1
    - Dst: vlc_gl_ReleaseCurrent
      Src: /src/vlc/modules/video_output/android/display.c:280,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - vd
    - subpicture
    argTypes:
    - vout_display_t*
    - vlc_render_subpicture*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 281
    functionName: subpicture_Prepare
    functionSourceFile: /src/vlc/modules/video_output/android/display.c
    functionUses: 0
    functionsReached:
    - struct subpicture*::api::vt::ClearColor
    - struct subpicture*::vt::Flush
    - vlc_gl_MakeCurrent
    - vlc_gl_ReleaseCurrent
    - vlc_gl_sub_renderer_Draw
    - struct subpicture*::api::vt::Clear
    - subpicture_NeedDraw
    - vlc_gl_sub_renderer_Prepare
    - struct subpicture*::api::vt::Viewport
    linkageType: ''
    returnType: void
    signature: void subpicture_Prepare(vout_display_t *vd, const vlc_render_subpicture
      *subpicture)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_Swap
      Src: /src/vlc/modules/video_output/android/display.c:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 290
    functionName: subpicture_Display
    functionSourceFile: /src/vlc/modules/video_output/android/display.c
    functionUses: 0
    functionsReached:
    - vlc_gl_Swap
    linkageType: ''
    returnType: void
    signature: void subpicture_Display(vout_display_t *vd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_MakeCurrent
      Src: /src/vlc/modules/video_output/android/display.c:297,1
    - Dst: struct subpicture*::api::vt::ClearColor
      Src: /src/vlc/modules/video_output/android/display.c:302,1
    - Dst: struct subpicture*::api::vt::Clear
      Src: /src/vlc/modules/video_output/android/display.c:303,1
    - Dst: vlc_gl_Swap
      Src: /src/vlc/modules/video_output/android/display.c:304,1
    - Dst: vlc_gl_sub_renderer_Delete
      Src: /src/vlc/modules/video_output/android/display.c:307,1
    - Dst: vlc_gl_interop_Delete
      Src: /src/vlc/modules/video_output/android/display.c:308,1
    - Dst: vlc_gl_ReleaseCurrent
      Src: /src/vlc/modules/video_output/android/display.c:310,1
    - Dst: vlc_gl_Delete
      Src: /src/vlc/modules/video_output/android/display.c:312,1
    - Dst: vlc_window_Disable
      Src: /src/vlc/modules/video_output/android/display.c:314,1
    - Dst: vlc_window_Delete
      Src: /src/vlc/modules/video_output/android/display.c:315,1
    - Dst: vlc_vector_destroy
      Src: /src/vlc/modules/video_output/android/display.c:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 318
    functionName: subpicture_CloseDisplay
    functionSourceFile: /src/vlc/modules/video_output/android/display.c
    functionUses: 0
    functionsReached:
    - struct subpicture*::api::vt::ClearColor
    - vlc_gl_MakeCurrent
    - vlc_gl_Swap
    - vlc_gl_ReleaseCurrent
    - struct subpicture*::api::vt::Clear
    - vlc_window_Delete
    - vlc_gl_Delete
    - vlc_vector_destroy
    - vlc_gl_sub_renderer_Delete
    - vlc_gl_interop_Delete
    - vlc_window_Disable
    linkageType: ''
    returnType: void
    signature: void subpicture_CloseDisplay(vout_display_t *vd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cb
      Src: /src/vlc/modules/video_output/android/display.c:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 5
    argNames:
    - wnd
    - width
    - height
    - cb
    - opaque
    argTypes:
    - struct vlc_window*
    - unsigned
    - unsigned
    - vlc_window_ack_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 326
    functionName: subpicture_window_Resized
    functionSourceFile: /src/vlc/modules/video_output/android/display.c
    functionUses: 0
    functionsReached:
    - cb
    linkageType: ''
    returnType: void
    signature: "void subpicture_window_Resized(struct vlc_window *wnd, unsigned width,\n
      \                                   unsigned height, vlc_window_ack_cb cb,\n
      \                                   void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 338
    functionName: subpicture_window_Open
    functionSourceFile: /src/vlc/modules/video_output/android/display.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int subpicture_window_Open(vlc_window_t *wnd)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vector_init
      Src: /src/vlc/modules/video_output/android/display.c:348,1
    - Dst: vlc_window_New
      Src: /src/vlc/modules/video_output/android/display.c:367,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/android/display.c:367,1
    - Dst: vlc_window_Enable
      Src: /src/vlc/modules/video_output/android/display.c:372,1
    - Dst: vlc_gl_Create
      Src: /src/vlc/modules/video_output/android/display.c:380,1
    - Dst: vlc_gl_Resize
      Src: /src/vlc/modules/video_output/android/display.c:386,1
    - Dst: vlc_gl_MakeCurrent
      Src: /src/vlc/modules/video_output/android/display.c:388,1
    - Dst: vlc_gl_GetProcAddress
      Src: /src/vlc/modules/video_output/android/display.c:391,1
    - Dst: vlc_gl_api_Init
      Src: /src/vlc/modules/video_output/android/display.c:395,1
    - Dst: vlc_gl_interop_NewForSubpictures
      Src: /src/vlc/modules/video_output/android/display.c:399,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/android/display.c:402,1
    - Dst: vlc_gl_sub_renderer_New
      Src: /src/vlc/modules/video_output/android/display.c:406,1
    - Dst: vlc_gl_sub_renderer_SetOutputSize
      Src: /src/vlc/modules/video_output/android/display.c:410,1
    - Dst: vlc_gl_ReleaseCurrent
      Src: /src/vlc/modules/video_output/android/display.c:413,1
    - Dst: vlc_gl_interop_Delete
      Src: /src/vlc/modules/video_output/android/display.c:424,1
    - Dst: vlc_gl_ReleaseCurrent
      Src: /src/vlc/modules/video_output/android/display.c:426,1
    - Dst: vlc_gl_Delete
      Src: /src/vlc/modules/video_output/android/display.c:428,1
    - Dst: vlc_window_Disable
      Src: /src/vlc/modules/video_output/android/display.c:430,1
    - Dst: vlc_window_Delete
      Src: /src/vlc/modules/video_output/android/display.c:432,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 435
    functionName: subpicture_OpenDisplay
    functionSourceFile: /src/vlc/modules/video_output/android/display.c
    functionUses: 0
    functionsReached:
    - vlc_gl_interop_NewForSubpictures
    - vlc_gl_MakeCurrent
    - vlc_gl_GetProcAddress
    - vlc_gl_ReleaseCurrent
    - vlc_vector_init
    - vlc_window_New
    - vlc_gl_Create
    - vlc_window_Enable
    - vlc_gl_api_Init
    - msg_Err
    - vlc_gl_sub_renderer_New
    - vlc_window_Delete
    - vlc_gl_Delete
    - vlc_gl_Resize
    - VLC_OBJECT
    - vlc_gl_sub_renderer_SetOutputSize
    - vlc_gl_interop_Delete
    - vlc_window_Disable
    linkageType: ''
    returnType: int
    signature: int subpicture_OpenDisplay(vout_display_t *vd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/video_output/android/display.c:441,1
    - Dst: picture_GetVideoContext
      Src: /src/vlc/modules/video_output/android/display.c:442,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/android/display.c:443,1
    - Dst: vlc_video_context_GetPrivate
      Src: /src/vlc/modules/video_output/android/display.c:445,1
    - Dst: android_video_context_t*::asc_api::ASurfaceTransactionStats::getPreviousReleaseFenceFd
      Src: /src/vlc/modules/video_output/android/display.c:452,1
    - Dst: android_picture_ctx_set_read_fence
      Src: /src/vlc/modules/video_output/android/display.c:454,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_output/android/display.c:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - context
    - stats
    argTypes:
    - void*
    - ASurfaceTransactionStats*
    assertStmts:
    - condition: (vctx != NULL)
      pos:
        line_end: 442
        line_start: 442
        source_file: /src/vlc/modules/video_output/android/display.c
    constantsTouched: []
    func_position:
      end: 456
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 456
    functionName: ASC_OnComplete
    functionSourceFile: /src/vlc/modules/video_output/android/display.c
    functionUses: 0
    functionsReached:
    - android_picture_ctx_set_read_fence
    - assert
    - container_of
    - vlc_video_context_GetPrivate
    - picture_GetVideoContext
    - android_video_context_t*::asc_api::ASurfaceTransactionStats::getPreviousReleaseFenceFd
    - picture_Release
    linkageType: ''
    returnType: void
    signature: void ASC_OnComplete(void *context, ASurfaceTransactionStats *stats)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/android/display.c:462,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/android/display.c:463,1
    - Dst: container_of
      Src: /src/vlc/modules/video_output/android/display.c:467,1
    - Dst: struct aimage_reader_api*::AImage::getHardwareBuffer
      Src: /src/vlc/modules/video_output/android/display.c:471,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/android/display.c:474,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/android/display.c:477,1
    - Dst: struct asurface_control_api*::ASurfaceTransaction::create
      Src: /src/vlc/modules/video_output/android/display.c:480,1
    - Dst: struct asurface_control_api*::ASurfaceTransaction::setOnComplete
      Src: /src/vlc/modules/video_output/android/display.c:486,1
    - Dst: android_picture_ctx_get_fence_fd
      Src: /src/vlc/modules/video_output/android/display.c:491,1
    - Dst: struct asurface_control_api*::ASurfaceTransaction::setBuffer
      Src: /src/vlc/modules/video_output/android/display.c:493,1
    - Dst: struct asurface_control_api*::ASurfaceTransaction::setDesiredPresentTime
      Src: /src/vlc/modules/video_output/android/display.c:494,1
    - Dst: NS_FROM_VLC_TICK
      Src: /src/vlc/modules/video_output/android/display.c:494,1
    - Dst: struct asurface_control_api*::ASurfaceTransaction::apply
      Src: /src/vlc/modules/video_output/android/display.c:495,1
    - Dst: struct asurface_control_api*::ASurfaceTransaction::delete
      Src: /src/vlc/modules/video_output/android/display.c:496,1
    - Dst: picture_Hold
      Src: /src/vlc/modules/video_output/android/display.c:498,1
    - Dst: subpicture_Prepare
      Src: /src/vlc/modules/video_output/android/display.c:501,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - vd
    - pic
    - subpicture
    - date
    argTypes:
    - vout_display_t*
    - picture_t*
    - vlc_render_subpicture*
    - vlc_tick_t
    assertStmts:
    - condition: (sys->asc.sc != NULL)
      pos:
        line_end: 461
        line_start: 461
        source_file: /src/vlc/modules/video_output/android/display.c
    - condition: (pic->context != NULL)
      pos:
        line_end: 462
        line_start: 462
        source_file: /src/vlc/modules/video_output/android/display.c
    - condition: (buffer != NULL)
      pos:
        line_end: 476
        line_start: 476
        source_file: /src/vlc/modules/video_output/android/display.c
    constantsTouched: []
    func_position:
      end: 502
      start: 458
    functionDepth: 3
    functionLinenumber: 458
    functionLinenumberEnd: 502
    functionName: PrepareWithASC
    functionSourceFile: /src/vlc/modules/video_output/android/display.c
    functionUses: 0
    functionsReached:
    - struct aimage_reader_api*::AImage::getHardwareBuffer
    - assert
    - struct asurface_control_api*::ASurfaceTransaction::setBuffer
    - container_of
    - NS_FROM_VLC_TICK
    - picture_Hold
    - subpicture_Prepare
    - struct asurface_control_api*::ASurfaceTransaction::setDesiredPresentTime
    - struct asurface_control_api*::ASurfaceTransaction::setOnComplete
    - struct asurface_control_api*::ASurfaceTransaction::apply
    - msg_Warn
    - android_picture_ctx_get_fence_fd
    - struct asurface_control_api*::ASurfaceTransaction::create
    - struct asurface_control_api*::ASurfaceTransaction::delete
    linkageType: ''
    returnType: void
    signature: "void PrepareWithASC(vout_display_t *vd, picture_t *pic,\n                           const
      vlc_render_subpicture *subpicture, vlc_tick_t date)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/android/display.c:507,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/android/display.c:508,1
    - Dst: subpicture_Display
      Src: /src/vlc/modules/video_output/android/display.c:512,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - vd
    - picture
    argTypes:
    - vout_display_t*
    - picture_t*
    assertStmts:
    - condition: (picture->context)
      pos:
        line_end: 506
        line_start: 506
        source_file: /src/vlc/modules/video_output/android/display.c
    - condition: (sys->asc.sc != NULL)
      pos:
        line_end: 507
        line_start: 507
        source_file: /src/vlc/modules/video_output/android/display.c
    constantsTouched: []
    func_position:
      end: 513
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 513
    functionName: DisplayWithASC
    functionSourceFile: /src/vlc/modules/video_output/android/display.c
    functionUses: 0
    functionsReached:
    - assert
    - subpicture_Display
    linkageType: ''
    returnType: void
    signature: void DisplayWithASC(vout_display_t *vd, picture_t *picture)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/android/display.c:520,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/android/display.c:521,1
    - Dst: struct sys*::avctx::render_ts
      Src: /src/vlc/modules/video_output/android/display.c:523,1
    - Dst: subpicture_Prepare
      Src: /src/vlc/modules/video_output/android/display.c:526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - vd
    - picture
    - subpicture
    - date
    argTypes:
    - vout_display_t*
    - picture_t*
    - vlc_render_subpicture*
    - vlc_tick_t
    assertStmts:
    - condition: (picture->context)
      pos:
        line_end: 519
        line_start: 519
        source_file: /src/vlc/modules/video_output/android/display.c
    - condition: (sys->asc.sc == NULL)
      pos:
        line_end: 520
        line_start: 520
        source_file: /src/vlc/modules/video_output/android/display.c
    constantsTouched: []
    func_position:
      end: 527
      start: 515
    functionDepth: 3
    functionLinenumber: 515
    functionLinenumberEnd: 527
    functionName: Prepare
    functionSourceFile: /src/vlc/modules/video_output/android/display.c
    functionUses: 52
    functionsReached:
    - assert
    - subpicture_Prepare
    - struct sys*::avctx::render_ts
    linkageType: ''
    returnType: void
    signature: "void Prepare(vout_display_t *vd, picture_t *picture,\n                    const
      vlc_render_subpicture *subpicture, vlc_tick_t date)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/android/display.c:532,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/android/display.c:533,1
    - Dst: struct sys*::avctx::render
      Src: /src/vlc/modules/video_output/android/display.c:535,1
    - Dst: subpicture_Display
      Src: /src/vlc/modules/video_output/android/display.c:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - vd
    - picture
    argTypes:
    - vout_display_t*
    - picture_t*
    assertStmts:
    - condition: (picture->context)
      pos:
        line_end: 531
        line_start: 531
        source_file: /src/vlc/modules/video_output/android/display.c
    - condition: (sys->asc.sc == NULL)
      pos:
        line_end: 532
        line_start: 532
        source_file: /src/vlc/modules/video_output/android/display.c
    constantsTouched: []
    func_position:
      end: 539
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 539
    functionName: Display
    functionSourceFile: /src/vlc/modules/video_output/android/display.c
    functionUses: 28
    functionsReached:
    - struct sys*::avctx::render
    - assert
    - subpicture_Display
    linkageType: ''
    returnType: void
    signature: void Display(vout_display_t *vd, picture_t *picture)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AWindowHandler_setVideoLayout
      Src: /src/vlc/modules/video_output/android/display.c:547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 549
    functionName: SetVideoLayout
    functionSourceFile: /src/vlc/modules/video_output/android/display.c
    functionUses: 0
    functionsReached:
    - AWindowHandler_setVideoLayout
    linkageType: ''
    returnType: void
    signature: void SetVideoLayout(vout_display_t *vd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/android/display.c:554,1
    - Dst: struct asurface_control_api*::ASurfaceTransaction::create
      Src: /src/vlc/modules/video_output/android/display.c:557,1
    - Dst: struct asurface_control_api*::ASurfaceTransaction::setCrop
      Src: /src/vlc/modules/video_output/android/display.c:567,1
    - Dst: struct asurface_control_api*::ASurfaceTransaction::setPosition
      Src: /src/vlc/modules/video_output/android/display.c:569,1
    - Dst: struct asurface_control_api*::ASurfaceTransaction::setScale
      Src: /src/vlc/modules/video_output/android/display.c:574,1
    - Dst: struct asurface_control_api*::ASurfaceTransaction::apply
      Src: /src/vlc/modules/video_output/android/display.c:576,1
    - Dst: struct asurface_control_api*::ASurfaceTransaction::delete
      Src: /src/vlc/modules/video_output/android/display.c:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts:
    - condition: (sys->asc.sc != NULL)
      pos:
        line_end: 553
        line_start: 553
        source_file: /src/vlc/modules/video_output/android/display.c
    constantsTouched: []
    func_position:
      end: 578
      start: 551
    functionDepth: 2
    functionLinenumber: 551
    functionLinenumberEnd: 578
    functionName: UpdateASCGeometry
    functionSourceFile: /src/vlc/modules/video_output/android/display.c
    functionUses: 0
    functionsReached:
    - assert
    - struct asurface_control_api*::ASurfaceTransaction::setCrop
    - struct asurface_control_api*::ASurfaceTransaction::setPosition
    - struct asurface_control_api*::ASurfaceTransaction::apply
    - struct asurface_control_api*::ASurfaceTransaction::delete
    - struct asurface_control_api*::ASurfaceTransaction::create
    - struct asurface_control_api*::ASurfaceTransaction::setScale
    linkageType: ''
    returnType: void
    signature: void UpdateASCGeometry(vout_display_t *vd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: subpicture_SetDisplaySize
      Src: /src/vlc/modules/video_output/android/display.c:584,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/android/display.c:586,1
    - Dst: UpdateASCGeometry
      Src: /src/vlc/modules/video_output/android/display.c:588,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - vd
    - width
    - height
    argTypes:
    - vout_display_t*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 580
    functionDepth: 3
    functionLinenumber: 580
    functionLinenumberEnd: 590
    functionName: SetDisplaySize
    functionSourceFile: /src/vlc/modules/video_output/android/display.c
    functionUses: 1
    functionsReached:
    - subpicture_SetDisplaySize
    - UpdateASCGeometry
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int SetDisplaySize(vout_display_t *vd, unsigned width, unsigned height)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/android/display.c:595,1
    - Dst: subpicture_PlacementChanged
      Src: /src/vlc/modules/video_output/android/display.c:600,1
    - Dst: UpdateASCGeometry
      Src: /src/vlc/modules/video_output/android/display.c:603,1
    - Dst: SetVideoLayout
      Src: /src/vlc/modules/video_output/android/display.c:605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - vd
    - place
    argTypes:
    - vout_display_t*
    - vout_display_place_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 592
    functionDepth: 3
    functionLinenumber: 592
    functionLinenumberEnd: 607
    functionName: PlacementChanged
    functionSourceFile: /src/vlc/modules/video_output/android/display.c
    functionUses: 3
    functionsReached:
    - UpdateASCGeometry
    - SetVideoLayout
    - msg_Dbg
    - subpicture_PlacementChanged
    linkageType: ''
    returnType: int
    signature: int PlacementChanged(vout_display_t *vd, const vout_display_place_t
      *place)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/android/display.c:612,1
    - Dst: UpdateASCGeometry
      Src: /src/vlc/modules/video_output/android/display.c:617,1
    - Dst: SetVideoLayout
      Src: /src/vlc/modules/video_output/android/display.c:619,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - vd
    - source
    argTypes:
    - vout_display_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 609
    functionDepth: 3
    functionLinenumber: 609
    functionLinenumberEnd: 621
    functionName: AspectChanged
    functionSourceFile: /src/vlc/modules/video_output/android/display.c
    functionUses: 0
    functionsReached:
    - UpdateASCGeometry
    - SetVideoLayout
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int AspectChanged(vout_display_t *vd, const video_format_t *source)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AWindowHandler_setVideoLayout
      Src: /src/vlc/modules/video_output/android/display.c:628,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_output/android/display.c:635,1
    - Dst: struct asurface_control_api*::ASurfaceControl::release
      Src: /src/vlc/modules/video_output/android/display.c:636,1
    - Dst: subpicture_CloseDisplay
      Src: /src/vlc/modules/video_output/android/display.c:640,1
    - Dst: free
      Src: /src/vlc/modules/video_output/android/display.c:642,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 623
    functionDepth: 2
    functionLinenumber: 623
    functionLinenumberEnd: 643
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/android/display.c
    functionUses: 166
    functionsReached:
    - AWindowHandler_setVideoLayout
    - free
    - picture_Release
    - subpicture_CloseDisplay
    - struct asurface_control_api*::ASurfaceControl::release
    linkageType: ''
    returnType: void
    signature: void Close(vout_display_t *vd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/android/display.c:649,1
    - Dst: AWindowHandler_getANativeWindow
      Src: /src/vlc/modules/video_output/android/display.c:652,1
    - Dst: struct asurface_control_api*::ASurfaceControl::createFromWindow
      Src: /src/vlc/modules/video_output/android/display.c:657,1
    - Dst: struct asurface_control_api*::ASurfaceTransaction::create
      Src: /src/vlc/modules/video_output/android/display.c:662,1
    - Dst: struct asurface_control_api*::ASurfaceControl::release
      Src: /src/vlc/modules/video_output/android/display.c:665,1
    - Dst: struct asurface_control_api*::ASurfaceTransaction::setVisibility
      Src: /src/vlc/modules/video_output/android/display.c:669,1
    - Dst: struct asurface_control_api*::ASurfaceTransaction::setBufferTransparency
      Src: /src/vlc/modules/video_output/android/display.c:671,1
    - Dst: video_format_to_adataspace
      Src: /src/vlc/modules/video_output/android/display.c:675,1
    - Dst: struct asurface_control_api*::ASurfaceTransaction::setBufferDataSpace
      Src: /src/vlc/modules/video_output/android/display.c:677,1
    - Dst: struct asurface_control_api*::ASurfaceTransaction::apply
      Src: /src/vlc/modules/video_output/android/display.c:679,1
    - Dst: struct asurface_control_api*::ASurfaceTransaction::delete
      Src: /src/vlc/modules/video_output/android/display.c:680,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts:
    - condition: (asc_api != NULL)
      pos:
        line_end: 648
        line_start: 648
        source_file: /src/vlc/modules/video_output/android/display.c
    constantsTouched: []
    func_position:
      end: 686
      start: 645
    functionDepth: 2
    functionLinenumber: 645
    functionLinenumberEnd: 686
    functionName: CreateSurfaceControl
    functionSourceFile: /src/vlc/modules/video_output/android/display.c
    functionUses: 0
    functionsReached:
    - assert
    - struct asurface_control_api*::ASurfaceTransaction::setVisibility
    - struct asurface_control_api*::ASurfaceTransaction::setBufferTransparency
    - video_format_to_adataspace
    - AWindowHandler_getANativeWindow
    - struct asurface_control_api*::ASurfaceTransaction::apply
    - struct asurface_control_api*::ASurfaceControl::release
    - struct asurface_control_api*::ASurfaceTransaction::setBufferDataSpace
    - struct asurface_control_api*::ASurfaceTransaction::delete
    - struct asurface_control_api*::ASurfaceTransaction::create
    - struct asurface_control_api*::ASurfaceControl::createFromWindow
    linkageType: ''
    returnType: int
    signature: int CreateSurfaceControl(vout_display_t *vd)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: AWindowHandler_getCapabilities
      Src: /src/vlc/modules/video_output/android/display.c:699,1
    - Dst: malloc
      Src: /src/vlc/modules/video_output/android/display.c:710,1
    - Dst: vlc_video_context_GetPrivate
      Src: /src/vlc/modules/video_output/android/display.c:717,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/android/display.c:718,1
    - Dst: free
      Src: /src/vlc/modules/video_output/android/display.c:723,1
    - Dst: CreateSurfaceControl
      Src: /src/vlc/modules/video_output/android/display.c:729,1
    - Dst: free
      Src: /src/vlc/modules/video_output/android/display.c:732,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/android/display.c:735,1
    - Dst: AWindowHandler_getANativeWindow
      Src: /src/vlc/modules/video_output/android/display.c:739,1
    - Dst: subpicture_OpenDisplay
      Src: /src/vlc/modules/video_output/android/display.c:742,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/android/display.c:745,1
    - Dst: free
      Src: /src/vlc/modules/video_output/android/display.c:747,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/android/display.c:753,1
    - Dst: UpdateASCGeometry
      Src: /src/vlc/modules/video_output/android/display.c:758,1
    - Dst: SetVideoLayout
      Src: /src/vlc/modules/video_output/android/display.c:760,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 3
    argNames:
    - vd
    - fmtp
    - context
    argTypes:
    - vout_display_t*
    - video_format_t*
    - vlc_video_context*
    assertStmts:
    - condition: (sys->avctx)
      pos:
        line_end: 717
        line_start: 717
        source_file: /src/vlc/modules/video_output/android/display.c
    constantsTouched: []
    func_position:
      end: 790
      start: 688
    functionDepth: 3
    functionLinenumber: 688
    functionLinenumberEnd: 790
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/android/display.c
    functionUses: 63
    functionsReached:
    - AWindowHandler_getCapabilities
    - assert
    - SetVideoLayout
    - AWindowHandler_getANativeWindow
    - vlc_video_context_GetPrivate
    - CreateSurfaceControl
    - free
    - msg_Dbg
    - msg_Warn
    - subpicture_OpenDisplay
    - UpdateASCGeometry
    - malloc
    linkageType: ''
    returnType: int
    signature: "int Open(vout_display_t *vd,\n                video_format_t *fmtp,
      vlc_video_context *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dup
      Src: /src/vlc/modules/video_output/android/utils.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - apctx
    argTypes:
    - struct android_picture_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: android_picture_ctx_get_fence_fd
    functionSourceFile: /src/vlc/modules/video_output/android/utils.h
    functionUses: 1
    functionsReached:
    - dup
    linkageType: ''
    returnType: int
    signature: int android_picture_ctx_get_fence_fd(struct android_picture_ctx *apctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/android/utils.h:242,1
    - Dst: vlc_video_context_GetPrivate
      Src: /src/vlc/modules/video_output/android/utils.h:248,1
    - Dst: android_video_context_t*::air_api::sync_merge
      Src: /src/vlc/modules/video_output/android/utils.h:250,1
    - Dst: close
      Src: /src/vlc/modules/video_output/android/utils.h:251,1
    - Dst: close
      Src: /src/vlc/modules/video_output/android/utils.h:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - apctx
    - fd
    argTypes:
    - struct android_picture_ctx*
    - int
    assertStmts:
    - condition: (fd >= 0)
      pos:
        line_end: 241
        line_start: 241
        source_file: /src/vlc/modules/video_output/android/utils.h
    constantsTouched: []
    func_position:
      end: 255
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 255
    functionName: android_picture_ctx_set_read_fence
    functionSourceFile: /src/vlc/modules/video_output/android/utils.h
    functionUses: 1
    functionsReached:
    - vlc_video_context_GetPrivate
    - android_video_context_t*::air_api::sync_merge
    - assert
    - close
    linkageType: ''
    returnType: void
    signature: void android_picture_ctx_set_read_fence(struct android_picture_ctx
      *apctx, int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct vlc_asurfacetexture*::ops::destroy
      Src: /src/vlc/modules/video_output/android/utils.h:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct vlc_asurfacetexture*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 370
    functionName: vlc_asurfacetexture_Delete
    functionSourceFile: /src/vlc/modules/video_output/android/utils.h
    functionUses: 2
    functionsReached:
    - struct vlc_asurfacetexture*::ops::destroy
    linkageType: ''
    returnType: void
    signature: void vlc_asurfacetexture_Delete(struct vlc_asurfacetexture *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - what
    - ','
    - obj
    - ','
    - method
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: JNI_CALL
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JNI_CALL(what, obj, method, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - what
    - ','
    - method
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: JNI_ANWCALL
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JNI_ANWCALL(what, method, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - what
    - ','
    - method
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: JNI_STEXCALL
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JNI_STEXCALL(what, method, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/video_output/android/utils.c:164,1
    - Dst: struct vlc_asurfacetexture_priv*::awh::ndk_ast_api::pf_attachToGL
      Src: /src/vlc/modules/video_output/android/utils.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - surface
    - texName
    argTypes:
    - struct vlc_asurfacetexture*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 166
    functionName: NDKSurfaceTexture_attachToGLContext
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 0
    functionsReached:
    - struct vlc_asurfacetexture_priv*::awh::ndk_ast_api::pf_attachToGL
    - container_of
    linkageType: ''
    returnType: int
    signature: "int NDKSurfaceTexture_attachToGLContext(\n        struct vlc_asurfacetexture
      *surface,\n        uint32_t texName)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/video_output/android/utils.c:173,1
    - Dst: struct vlc_asurfacetexture_priv*::awh::ndk_ast_api::pf_detachFromGL
      Src: /src/vlc/modules/video_output/android/utils.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - surface
    argTypes:
    - struct vlc_asurfacetexture*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 175
    functionName: NDKSurfaceTexture_detachFromGLContext
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 0
    functionsReached:
    - struct vlc_asurfacetexture_priv*::awh::ndk_ast_api::pf_detachFromGL
    - container_of
    linkageType: ''
    returnType: void
    signature: "void NDKSurfaceTexture_detachFromGLContext(\n        struct vlc_asurfacetexture
      *surface)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/video_output/android/utils.c:183,1
    - Dst: struct vlc_asurfacetexture_priv*::awh::ndk_ast_api::pf_updateTexImage
      Src: /src/vlc/modules/video_output/android/utils.c:187,1
    - Dst: struct vlc_asurfacetexture_priv*::awh::ndk_ast_api::pf_getTransMatrix
      Src: /src/vlc/modules/video_output/android/utils.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - surface
    - pp_transform_mtx
    argTypes:
    - struct vlc_asurfacetexture*
    - float**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 194
    functionName: NDKSurfaceTexture_updateTexImage
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 0
    functionsReached:
    - struct vlc_asurfacetexture_priv*::awh::ndk_ast_api::pf_getTransMatrix
    - struct vlc_asurfacetexture_priv*::awh::ndk_ast_api::pf_updateTexImage
    - container_of
    linkageType: ''
    returnType: int
    signature: "int NDKSurfaceTexture_updateTexImage(\n        struct vlc_asurfacetexture
      *surface,\n        const float **pp_transform_mtx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/video_output/android/utils.c:200,1
    - Dst: android_getEnvCommon
      Src: /src/vlc/modules/video_output/android/utils.c:202,1
    - Dst: CallVoidMethod
      Src: /src/vlc/modules/video_output/android/utils.c:206,1
    - Dst: ANativeWindow_release
      Src: /src/vlc/modules/video_output/android/utils.c:210,1
    - Dst: DeleteGlobalRef
      Src: /src/vlc/modules/video_output/android/utils.c:213,1
    - Dst: struct vlc_asurfacetexture_priv*::awh::ndk_ast_api::pf_releaseAst
      Src: /src/vlc/modules/video_output/android/utils.c:215,1
    - Dst: DeleteGlobalRef
      Src: /src/vlc/modules/video_output/android/utils.c:216,1
    - Dst: free
      Src: /src/vlc/modules/video_output/android/utils.c:218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - surface
    argTypes:
    - struct vlc_asurfacetexture*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 219
    functionName: NDKSurfaceTexture_destroy
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 0
    functionsReached:
    - container_of
    - ANativeWindow_release
    - free
    - DeleteGlobalRef
    - CallVoidMethod
    - struct vlc_asurfacetexture_priv*::awh::ndk_ast_api::pf_releaseAst
    - android_getEnvCommon
    linkageType: ''
    returnType: void
    signature: "void NDKSurfaceTexture_destroy(\n        struct vlc_asurfacetexture
      *surface)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/video_output/android/utils.c:239,1
    - Dst: android_getEnvCommon
      Src: /src/vlc/modules/video_output/android/utils.c:241,1
    - Dst: CallVoidMethod
      Src: /src/vlc/modules/video_output/android/utils.c:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - surface
    - tex_name
    argTypes:
    - struct vlc_asurfacetexture*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 250
    functionName: JNISurfaceTexture_attachToGLContext
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 0
    functionsReached:
    - android_getEnvCommon
    - CallVoidMethod
    - container_of
    linkageType: ''
    returnType: int
    signature: "int JNISurfaceTexture_attachToGLContext(\n        struct vlc_asurfacetexture
      *surface,\n        uint32_t tex_name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/video_output/android/utils.c:257,1
    - Dst: android_getEnvCommon
      Src: /src/vlc/modules/video_output/android/utils.c:260,1
    - Dst: CallVoidMethod
      Src: /src/vlc/modules/video_output/android/utils.c:264,1
    - Dst: ReleaseFloatArrayElements
      Src: /src/vlc/modules/video_output/android/utils.c:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - surface
    argTypes:
    - struct vlc_asurfacetexture*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 274
    functionName: JNISurfaceTexture_detachFromGLContext
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 0
    functionsReached:
    - ReleaseFloatArrayElements
    - android_getEnvCommon
    - CallVoidMethod
    - container_of
    linkageType: ''
    returnType: void
    signature: "void JNISurfaceTexture_detachFromGLContext(\n        struct vlc_asurfacetexture
      *surface)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/video_output/android/utils.c:282,1
    - Dst: android_getEnvCommon
      Src: /src/vlc/modules/video_output/android/utils.c:285,1
    - Dst: ReleaseFloatArrayElements
      Src: /src/vlc/modules/video_output/android/utils.c:290,1
    - Dst: CallVoidMethod
      Src: /src/vlc/modules/video_output/android/utils.c:294,1
    - Dst: CallVoidMethod
      Src: /src/vlc/modules/video_output/android/utils.c:297,1
    - Dst: GetFloatArrayElements
      Src: /src/vlc/modules/video_output/android/utils.c:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - surface
    - pp_transform_mtx
    argTypes:
    - struct vlc_asurfacetexture*
    - float**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 305
    functionName: JNISurfaceTexture_updateTexImage
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 0
    functionsReached:
    - ReleaseFloatArrayElements
    - container_of
    - GetFloatArrayElements
    - CallVoidMethod
    - android_getEnvCommon
    linkageType: ''
    returnType: int
    signature: "int JNISurfaceTexture_updateTexImage(\n        struct vlc_asurfacetexture
      *surface,\n        const float **pp_transform_mtx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/video_output/android/utils.c:312,1
    - Dst: android_getEnvCommon
      Src: /src/vlc/modules/video_output/android/utils.c:314,1
    - Dst: CallVoidMethod
      Src: /src/vlc/modules/video_output/android/utils.c:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - surface
    argTypes:
    - struct vlc_asurfacetexture*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 320
    functionName: JNISurfaceTexture_releaseTexImage
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 0
    functionsReached:
    - android_getEnvCommon
    - CallVoidMethod
    - container_of
    linkageType: ''
    returnType: void
    signature: "void JNISurfaceTexture_releaseTexImage(\n        struct vlc_asurfacetexture
      *surface)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/video_output/android/utils.c:326,1
    - Dst: android_getEnvCommon
      Src: /src/vlc/modules/video_output/android/utils.c:328,1
    - Dst: CallVoidMethod
      Src: /src/vlc/modules/video_output/android/utils.c:332,1
    - Dst: ANativeWindow_release
      Src: /src/vlc/modules/video_output/android/utils.c:336,1
    - Dst: DeleteGlobalRef
      Src: /src/vlc/modules/video_output/android/utils.c:338,1
    - Dst: free
      Src: /src/vlc/modules/video_output/android/utils.c:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - surface
    argTypes:
    - struct vlc_asurfacetexture*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 341
    functionName: JNISurfaceTexture_destroy
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 0
    functionsReached:
    - container_of
    - ANativeWindow_release
    - free
    - DeleteGlobalRef
    - CallVoidMethod
    - android_getEnvCommon
    linkageType: ''
    returnType: void
    signature: "void JNISurfaceTexture_destroy(\n        struct vlc_asurfacetexture
      *surface)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dlsym
      Src: /src/vlc/modules/video_output/android/utils.c:356,1
    - Dst: dlsym
      Src: /src/vlc/modules/video_output/android/utils.c:360,1
    - Dst: dlsym
      Src: /src/vlc/modules/video_output/android/utils.c:364,1
    - Dst: dlsym
      Src: /src/vlc/modules/video_output/android/utils.c:368,1
    - Dst: dlsym
      Src: /src/vlc/modules/video_output/android/utils.c:372,1
    - Dst: dlsym
      Src: /src/vlc/modules/video_output/android/utils.c:376,1
    - Dst: dlsym
      Src: /src/vlc/modules/video_output/android/utils.c:380,1
    - Dst: dlsym
      Src: /src/vlc/modules/video_output/android/utils.c:384,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - p_awh
    - p_library
    argTypes:
    - AWindowHandler*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 388
    functionName: LoadNDKSurfaceTextureAPI
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 0
    functionsReached:
    - dlsym
    linkageType: ''
    returnType: int
    signature: int LoadNDKSurfaceTextureAPI(AWindowHandler *p_awh, void *p_library)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOAD
      Src: /src/vlc/modules/video_output/android/utils.c:398,1
    - Dst: LOAD
      Src: /src/vlc/modules/video_output/android/utils.c:399,1
    - Dst: dlopen
      Src: /src/vlc/modules/video_output/android/utils.c:403,1
    - Dst: LOAD
      Src: /src/vlc/modules/video_output/android/utils.c:412,1
    - Dst: LOAD
      Src: /src/vlc/modules/video_output/android/utils.c:414,1
    - Dst: LOAD
      Src: /src/vlc/modules/video_output/android/utils.c:415,1
    - Dst: LOAD
      Src: /src/vlc/modules/video_output/android/utils.c:416,1
    - Dst: LOAD
      Src: /src/vlc/modules/video_output/android/utils.c:418,1
    - Dst: LOAD
      Src: /src/vlc/modules/video_output/android/utils.c:419,1
    - Dst: LOAD
      Src: /src/vlc/modules/video_output/android/utils.c:420,1
    - Dst: LOAD
      Src: /src/vlc/modules/video_output/android/utils.c:421,1
    - Dst: LOAD
      Src: /src/vlc/modules/video_output/android/utils.c:422,1
    - Dst: LOAD
      Src: /src/vlc/modules/video_output/android/utils.c:423,1
    - Dst: dlopen
      Src: /src/vlc/modules/video_output/android/utils.c:428,1
    - Dst: dlsym
      Src: /src/vlc/modules/video_output/android/utils.c:431,1
    - Dst: dlclose
      Src: /src/vlc/modules/video_output/android/utils.c:434,1
    - Dst: dlclose
      Src: /src/vlc/modules/video_output/android/utils.c:444,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 2
    argNames:
    - p_awh
    - p_android_lib
    argTypes:
    - AWindowHandler*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 446
    functionName: LoadAimageReaderAPI
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 0
    functionsReached:
    - dlclose
    - dlopen
    - dlsym
    - LOAD
    linkageType: ''
    returnType: int
    signature: int LoadAimageReaderAPI(AWindowHandler *p_awh, void *p_android_lib)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - object
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 397
    functionName: LOAD
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD(object, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - object
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 410
    functionName: LOAD
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD(object, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOAD
      Src: /src/vlc/modules/video_output/android/utils.c:456,1
    - Dst: LOAD
      Src: /src/vlc/modules/video_output/android/utils.c:457,1
    - Dst: LOAD
      Src: /src/vlc/modules/video_output/android/utils.c:458,1
    - Dst: LOAD
      Src: /src/vlc/modules/video_output/android/utils.c:459,1
    - Dst: LOAD
      Src: /src/vlc/modules/video_output/android/utils.c:460,1
    - Dst: LOAD
      Src: /src/vlc/modules/video_output/android/utils.c:463,1
    - Dst: LOAD
      Src: /src/vlc/modules/video_output/android/utils.c:464,1
    - Dst: LOAD
      Src: /src/vlc/modules/video_output/android/utils.c:465,1
    - Dst: LOAD
      Src: /src/vlc/modules/video_output/android/utils.c:467,1
    - Dst: LOAD
      Src: /src/vlc/modules/video_output/android/utils.c:468,1
    - Dst: LOAD
      Src: /src/vlc/modules/video_output/android/utils.c:469,1
    - Dst: LOAD
      Src: /src/vlc/modules/video_output/android/utils.c:470,1
    - Dst: LOAD
      Src: /src/vlc/modules/video_output/android/utils.c:471,1
    - Dst: LOAD
      Src: /src/vlc/modules/video_output/android/utils.c:472,1
    - Dst: LOAD
      Src: /src/vlc/modules/video_output/android/utils.c:473,1
    - Dst: LOAD
      Src: /src/vlc/modules/video_output/android/utils.c:474,1
    - Dst: LOAD
      Src: /src/vlc/modules/video_output/android/utils.c:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - p_awh
    - p_library
    argTypes:
    - AWindowHandler*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 480
    functionName: LoadASurfaceControlAPI
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 0
    functionsReached:
    - LOAD
    linkageType: ''
    returnType: int
    signature: int LoadASurfaceControlAPI(AWindowHandler *p_awh, void *p_library)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - object
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 454
    functionName: LOAD
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD(object, name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlopen
      Src: /src/vlc/modules/video_output/android/utils.c:488,1
    - Dst: LoadNDKSurfaceTextureAPI
      Src: /src/vlc/modules/video_output/android/utils.c:492,1
    - Dst: LoadAimageReaderAPI
      Src: /src/vlc/modules/video_output/android/utils.c:493,1
    - Dst: LoadASurfaceControlAPI
      Src: /src/vlc/modules/video_output/android/utils.c:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_awh
    argTypes:
    - AWindowHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 496
    functionName: LoadNativeWindowAPI
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 0
    functionsReached:
    - dlopen
    - LoadASurfaceControlAPI
    - LoadNDKSurfaceTextureAPI
    - LoadAimageReaderAPI
    linkageType: ''
    returnType: void
    signature: void LoadNativeWindowAPI(AWindowHandler *p_awh)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_output/android/utils.c:518,1
    - Dst: GetObjectClass
      Src: /src/vlc/modules/video_output/android/utils.c:542,1
    - Dst: CHECK_EXCEPTION
      Src: /src/vlc/modules/video_output/android/utils.c:543,1
    - Dst: NewGlobalRef
      Src: /src/vlc/modules/video_output/android/utils.c:545,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/video_output/android/utils.c:546,1
    - Dst: GET_METHOD
      Src: /src/vlc/modules/video_output/android/utils.c:548,1
    - Dst: GET_METHOD
      Src: /src/vlc/modules/video_output/android/utils.c:550,1
    - Dst: GET_METHOD
      Src: /src/vlc/modules/video_output/android/utils.c:552,1
    - Dst: GET_METHOD
      Src: /src/vlc/modules/video_output/android/utils.c:554,1
    - Dst: GET_METHOD
      Src: /src/vlc/modules/video_output/android/utils.c:556,1
    - Dst: RegisterNatives
      Src: /src/vlc/modules/video_output/android/utils.c:559,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/android/utils.c:561,1
    - Dst: FindClass
      Src: /src/vlc/modules/video_output/android/utils.c:571,1
    - Dst: CHECK_EXCEPTION
      Src: /src/vlc/modules/video_output/android/utils.c:572,1
    - Dst: NewGlobalRef
      Src: /src/vlc/modules/video_output/android/utils.c:574,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/video_output/android/utils.c:575,1
    - Dst: GET_METHOD
      Src: /src/vlc/modules/video_output/android/utils.c:579,1
    - Dst: GET_METHOD
      Src: /src/vlc/modules/video_output/android/utils.c:580,1
    - Dst: GET_METHOD
      Src: /src/vlc/modules/video_output/android/utils.c:581,1
    - Dst: GET_METHOD
      Src: /src/vlc/modules/video_output/android/utils.c:583,1
    - Dst: GET_METHOD
      Src: /src/vlc/modules/video_output/android/utils.c:586,1
    - Dst: GET_METHOD
      Src: /src/vlc/modules/video_output/android/utils.c:589,1
    - Dst: GET_METHOD
      Src: /src/vlc/modules/video_output/android/utils.c:592,1
    - Dst: GET_METHOD
      Src: /src/vlc/modules/video_output/android/utils.c:595,1
    - Dst: GET_METHOD
      Src: /src/vlc/modules/video_output/android/utils.c:598,1
    - Dst: FindClass
      Src: /src/vlc/modules/video_output/android/utils.c:609,1
    - Dst: CHECK_EXCEPTION
      Src: /src/vlc/modules/video_output/android/utils.c:610,1
    - Dst: NewGlobalRef
      Src: /src/vlc/modules/video_output/android/utils.c:612,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/video_output/android/utils.c:613,1
    - Dst: GET_METHOD
      Src: /src/vlc/modules/video_output/android/utils.c:617,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/android/utils.c:627,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_output/android/utils.c:628,1
    - Dst: DeleteGlobalRef
      Src: /src/vlc/modules/video_output/android/utils.c:634,1
    - Dst: DeleteGlobalRef
      Src: /src/vlc/modules/video_output/android/utils.c:638,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_output/android/utils.c:641,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/android/utils.c:642,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 69
    argCount: 4
    argNames:
    - env
    - p_obj
    - jobj
    - awh
    argTypes:
    - JNIEnv*
    - vlc_object_t*
    - jobject*
    - AWindowHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 644
    functionName: InitJNIFields
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 0
    functionsReached:
    - DeleteLocalRef
    - RegisterNatives
    - GetObjectClass
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - CHECK_EXCEPTION
    - GET_METHOD
    - msg_Err
    - FindClass
    - DeleteGlobalRef
    - NewGlobalRef
    linkageType: ''
    returnType: int
    signature: int InitJNIFields(JNIEnv *env, vlc_object_t *p_obj, jobject *jobj,
      AWindowHandler *awh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - what
    - ','
    - critical
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 534
    functionName: CHECK_EXCEPTION
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_EXCEPTION(what, critical)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - id_clazz
    - ','
    - id
    - ','
    - str
    - ','
    - args
    - ','
    - critical
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 539
    functionName: GET_METHOD
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_METHOD(id_clazz, id, str, args, critical)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: android_getEnvCommon
      Src: /src/vlc/modules/video_output/android/utils.c:651,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_awh
    argTypes:
    - AWindowHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 652
    functionName: AWindowHandler_getEnv
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 0
    functionsReached:
    - android_getEnvCommon
    linkageType: ''
    returnType: JNIEnv
    signature: 'JNIEnv *

      AWindowHandler_getEnv(AWindowHandler *p_awh)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/video_output/android/utils.c:662,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/video_output/android/utils.c:663,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/android/utils.c:667,1
    - Dst: android_getEnvCommon
      Src: /src/vlc/modules/video_output/android/utils.c:671,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/android/utils.c:674,1
    - Dst: calloc
      Src: /src/vlc/modules/video_output/android/utils.c:678,1
    - Dst: NewGlobalRef
      Src: /src/vlc/modules/video_output/android/utils.c:683,1
    - Dst: NewFloatArray
      Src: /src/vlc/modules/video_output/android/utils.c:692,1
    - Dst: ExceptionCheck
      Src: /src/vlc/modules/video_output/android/utils.c:693,1
    - Dst: ExceptionClear
      Src: /src/vlc/modules/video_output/android/utils.c:695,1
    - Dst: free
      Src: /src/vlc/modules/video_output/android/utils.c:696,1
    - Dst: NewGlobalRef
      Src: /src/vlc/modules/video_output/android/utils.c:699,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/video_output/android/utils.c:700,1
    - Dst: InitJNIFields
      Src: /src/vlc/modules/video_output/android/utils.c:703,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/android/utils.c:705,1
    - Dst: JNI_ANWCALL
      Src: /src/vlc/modules/video_output/android/utils.c:713,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/android/utils.c:717,1
    - Dst: DeleteGlobalRef
      Src: /src/vlc/modules/video_output/android/utils.c:719,1
    - Dst: DeleteGlobalRef
      Src: /src/vlc/modules/video_output/android/utils.c:720,1
    - Dst: free
      Src: /src/vlc/modules/video_output/android/utils.c:721,1
    - Dst: LoadNativeWindowAPI
      Src: /src/vlc/modules/video_output/android/utils.c:725,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/android/utils.c:726,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/android/utils.c:741,1
    - Dst: strncmp
      Src: /src/vlc/modules/video_output/android/utils.c:743,1
    - Dst: strncmp
      Src: /src/vlc/modules/video_output/android/utils.c:744,1
    - Dst: free
      Src: /src/vlc/modules/video_output/android/utils.c:748,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 3
    argNames:
    - obj
    - wnd
    - p_events
    argTypes:
    - vlc_object_t*
    - vlc_window_t*
    - awh_events_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 654
    functionDepth: 2
    functionLinenumber: 654
    functionLinenumberEnd: 754
    functionName: AWindowHandler_new
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 2
    functionsReached:
    - DeleteLocalRef
    - ExceptionCheck
    - var_InheritString
    - var_InheritAddress
    - InitJNIFields
    - LoadNativeWindowAPI
    - msg_Err
    - calloc
    - NewFloatArray
    - free
    - strncmp
    - msg_Dbg
    - DeleteGlobalRef
    - NewGlobalRef
    - ExceptionClear
    - JNI_ANWCALL
    - android_getEnvCommon
    linkageType: ''
    returnType: AWindowHandler
    signature: 'AWindowHandler *

      AWindowHandler_new(vlc_object_t *obj, vlc_window_t *wnd, awh_events_t *p_events)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/video_output/android/utils.c:761,1
    - Dst: LoadNativeWindowAPI
      Src: /src/vlc/modules/video_output/android/utils.c:770,1
    - Dst: ANativeWindow_acquire
      Src: /src/vlc/modules/video_output/android/utils.c:773,1
    - Dst: ANativeWindow_acquire
      Src: /src/vlc/modules/video_output/android/utils.c:778,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - obj
    - video
    - subtitle
    argTypes:
    - vlc_object_t*
    - ANativeWindow*
    - ANativeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 756
    functionDepth: 2
    functionLinenumber: 756
    functionLinenumberEnd: 781
    functionName: AWindowHandler_newFromANWs
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 1
    functionsReached:
    - calloc
    - ANativeWindow_acquire
    - LoadNativeWindowAPI
    linkageType: ''
    returnType: AWindowHandler
    signature: "AWindowHandler *\nAWindowHandler_newFromANWs(vlc_object_t *obj, ANativeWindow
      *video,\n                           ANativeWindow *subtitle)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/android/utils.c:787,1
    - Dst: ANativeWindow_release
      Src: /src/vlc/modules/video_output/android/utils.c:791,1
    - Dst: DeleteGlobalRef
      Src: /src/vlc/modules/video_output/android/utils.c:797,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - p_awh
    - p_env
    - id
    argTypes:
    - AWindowHandler*
    - JNIEnv*
    - enum AWindow_ID
    assertStmts:
    - condition: (id < AWindow_Max)
      pos:
        line_end: 786
        line_start: 786
        source_file: /src/vlc/modules/video_output/android/utils.c
    constantsTouched: []
    func_position:
      end: 800
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 800
    functionName: AWindowHandler_releaseANativeWindowEnv
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 0
    functionsReached:
    - ANativeWindow_release
    - assert
    - DeleteGlobalRef
    linkageType: ''
    returnType: void
    signature: "void AWindowHandler_releaseANativeWindowEnv(AWindowHandler *p_awh,
      JNIEnv *p_env,\n                                       enum AWindow_ID id)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: AWindowHandler_getEnv
      Src: /src/vlc/modules/video_output/android/utils.c:805,1
    - Dst: DeleteGlobalRef
      Src: /src/vlc/modules/video_output/android/utils.c:810,1
    - Dst: DeleteGlobalRef
      Src: /src/vlc/modules/video_output/android/utils.c:813,1
    - Dst: JNI_ANWCALL
      Src: /src/vlc/modules/video_output/android/utils.c:816,1
    - Dst: AWindowHandler_releaseANativeWindowEnv
      Src: /src/vlc/modules/video_output/android/utils.c:819,1
    - Dst: AWindowHandler_releaseANativeWindowEnv
      Src: /src/vlc/modules/video_output/android/utils.c:820,1
    - Dst: DeleteGlobalRef
      Src: /src/vlc/modules/video_output/android/utils.c:825,1
    - Dst: DeleteGlobalRef
      Src: /src/vlc/modules/video_output/android/utils.c:826,1
    - Dst: dlclose
      Src: /src/vlc/modules/video_output/android/utils.c:830,1
    - Dst: dlclose
      Src: /src/vlc/modules/video_output/android/utils.c:832,1
    - Dst: dlclose
      Src: /src/vlc/modules/video_output/android/utils.c:834,1
    - Dst: free
      Src: /src/vlc/modules/video_output/android/utils.c:835,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - p_awh
    argTypes:
    - AWindowHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 802
    functionDepth: 2
    functionLinenumber: 802
    functionLinenumberEnd: 836
    functionName: AWindowHandler_destroy
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 1
    functionsReached:
    - AWindowHandler_getEnv
    - dlclose
    - AWindowHandler_releaseANativeWindowEnv
    - free
    - DeleteGlobalRef
    - JNI_ANWCALL
    linkageType: ''
    returnType: void
    signature: void AWindowHandler_destroy(AWindowHandler *p_awh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p_awh
    argTypes:
    - AWindowHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 843
    functionName: AWindowHandler_getAImageReaderApi
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct aimage_reader_api
    signature: 'struct aimage_reader_api *

      AWindowHandler_getAImageReaderApi(AWindowHandler *p_awh)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p_awh
    argTypes:
    - AWindowHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 850
    functionName: AWindowHandler_getASurfaceControlApi
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct asurface_control_api
    signature: 'struct asurface_control_api *

      AWindowHandler_getASurfaceControlApi(AWindowHandler *p_awh)'
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/video_output/android/utils.c:865,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/android/utils.c:880,1
    - Dst: NewObject
      Src: /src/vlc/modules/video_output/android/utils.c:883,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/android/utils.c:892,1
    - Dst: eglGetDisplay
      Src: /src/vlc/modules/video_output/android/utils.c:898,1
    - Dst: eglInitialize
      Src: /src/vlc/modules/video_output/android/utils.c:900,1
    - Dst: eglGetCurrentContext
      Src: /src/vlc/modules/video_output/android/utils.c:903,1
    - Dst: eglGetCurrentSurface
      Src: /src/vlc/modules/video_output/android/utils.c:904,1
    - Dst: eglChooseConfig
      Src: /src/vlc/modules/video_output/android/utils.c:916,1
    - Dst: eglCreatePbufferSurface
      Src: /src/vlc/modules/video_output/android/utils.c:929,1
    - Dst: eglCreateContext
      Src: /src/vlc/modules/video_output/android/utils.c:939,1
    - Dst: eglMakeCurrent
      Src: /src/vlc/modules/video_output/android/utils.c:942,1
    - Dst: glGenTextures
      Src: /src/vlc/modules/video_output/android/utils.c:946,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/android/utils.c:952,1
    - Dst: NewObject
      Src: /src/vlc/modules/video_output/android/utils.c:953,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/android/utils.c:963,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/android/utils.c:964,1
    - Dst: NewObject
      Src: /src/vlc/modules/video_output/android/utils.c:969,1
    - Dst: NewGlobalRef
      Src: /src/vlc/modules/video_output/android/utils.c:978,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/video_output/android/utils.c:979,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/android/utils.c:986,1
    - Dst: AWindowHandler*::ndk_ast_api::pf_astFromst
      Src: /src/vlc/modules/video_output/android/utils.c:987,1
    - Dst: AWindowHandler*::ndk_ast_api::pf_acquireAnw
      Src: /src/vlc/modules/video_output/android/utils.c:989,1
    - Dst: AWindowHandler*::ndk_ast_api::pf_anwToSurface
      Src: /src/vlc/modules/video_output/android/utils.c:990,1
    - Dst: NewGlobalRef
      Src: /src/vlc/modules/video_output/android/utils.c:994,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/video_output/android/utils.c:995,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/android/utils.c:1002,1
    - Dst: NewObject
      Src: /src/vlc/modules/video_output/android/utils.c:1006,1
    - Dst: NewGlobalRef
      Src: /src/vlc/modules/video_output/android/utils.c:1010,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/video_output/android/utils.c:1011,1
    - Dst: ANativeWindow_fromSurface
      Src: /src/vlc/modules/video_output/android/utils.c:1016,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/android/utils.c:1020,1
    - Dst: struct vlc_asurfacetexture_priv*::surface::ops::detach_from_gl_context
      Src: /src/vlc/modules/video_output/android/utils.c:1024,1
    - Dst: glDeleteTextures
      Src: /src/vlc/modules/video_output/android/utils.c:1025,1
    - Dst: eglMakeCurrent
      Src: /src/vlc/modules/video_output/android/utils.c:1026,1
    - Dst: eglDestroyContext
      Src: /src/vlc/modules/video_output/android/utils.c:1027,1
    - Dst: eglDestroySurface
      Src: /src/vlc/modules/video_output/android/utils.c:1028,1
    - Dst: eglTerminate
      Src: /src/vlc/modules/video_output/android/utils.c:1029,1
    - Dst: glDeleteTextures
      Src: /src/vlc/modules/video_output/android/utils.c:1037,1
    - Dst: eglMakeCurrent
      Src: /src/vlc/modules/video_output/android/utils.c:1038,1
    - Dst: eglDestroyContext
      Src: /src/vlc/modules/video_output/android/utils.c:1039,1
    - Dst: eglDestroySurface
      Src: /src/vlc/modules/video_output/android/utils.c:1043,1
    - Dst: eglTerminate
      Src: /src/vlc/modules/video_output/android/utils.c:1046,1
    - Dst: ANativeWindow_release
      Src: /src/vlc/modules/video_output/android/utils.c:1049,1
    - Dst: DeleteGlobalRef
      Src: /src/vlc/modules/video_output/android/utils.c:1052,1
    - Dst: AWindowHandler*::ndk_ast_api::pf_releaseAst
      Src: /src/vlc/modules/video_output/android/utils.c:1055,1
    - Dst: DeleteGlobalRef
      Src: /src/vlc/modules/video_output/android/utils.c:1058,1
    - Dst: free
      Src: /src/vlc/modules/video_output/android/utils.c:1060,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 125
    argCount: 3
    argNames:
    - p_awh
    - p_env
    - single_buffer
    argTypes:
    - AWindowHandler*
    - JNIEnv*
    - bool
    assertStmts:
    - condition: (p_awh->jfields.SurfaceTexture.init_i != NULL)
      pos:
        line_end: 962
        line_start: 962
        source_file: /src/vlc/modules/video_output/android/utils.c
    constantsTouched: []
    func_position:
      end: 1062
      start: 852
    functionDepth: 1
    functionLinenumber: 852
    functionLinenumberEnd: 1062
    functionName: CreateSurfaceTexture
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 0
    functionsReached:
    - eglGetCurrentSurface
    - assert
    - AWindowHandler*::ndk_ast_api::pf_releaseAst
    - eglCreatePbufferSurface
    - AWindowHandler*::ndk_ast_api::pf_anwToSurface
    - NewGlobalRef
    - struct vlc_asurfacetexture_priv*::surface::ops::detach_from_gl_context
    - eglGetCurrentContext
    - eglDestroySurface
    - eglCreateContext
    - eglDestroyContext
    - eglGetDisplay
    - ANativeWindow_fromSurface
    - msg_Dbg
    - NewObject
    - eglTerminate
    - glDeleteTextures
    - DeleteLocalRef
    - ANativeWindow_release
    - eglMakeCurrent
    - AWindowHandler*::ndk_ast_api::pf_acquireAnw
    - DeleteGlobalRef
    - glGenTextures
    - AWindowHandler*::ndk_ast_api::pf_astFromst
    - free
    - eglChooseConfig
    - eglInitialize
    - malloc
    linkageType: ''
    returnType: struct vlc_asurfacetexture_priv
    signature: "struct vlc_asurfacetexture_priv * CreateSurfaceTexture(\n        AWindowHandler
      *p_awh, JNIEnv *p_env, bool single_buffer)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: android_getEnvCommon
      Src: /src/vlc/modules/video_output/android/utils.c:1069,1
    - Dst: CreateSurfaceTexture
      Src: /src/vlc/modules/video_output/android/utils.c:1071,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p_awh
    - single_buffer
    argTypes:
    - AWindowHandler*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1064
    functionDepth: 2
    functionLinenumber: 1064
    functionLinenumberEnd: 1075
    functionName: vlc_asurfacetexture_New
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 1
    functionsReached:
    - CreateSurfaceTexture
    - android_getEnvCommon
    linkageType: ''
    returnType: struct vlc_asurfacetexture
    signature: 'struct vlc_asurfacetexture *

      vlc_asurfacetexture_New(AWindowHandler *p_awh, bool single_buffer)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/android/utils.c:1087,1
    - Dst: JNI_ANWCALL
      Src: /src/vlc/modules/video_output/android/utils.c:1088,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/android/utils.c:1092,1
    - Dst: JNI_ANWCALL
      Src: /src/vlc/modules/video_output/android/utils.c:1093,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_output/android/utils.c:1096,1
    - Dst: NewGlobalRef
      Src: /src/vlc/modules/video_output/android/utils.c:1101,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/video_output/android/utils.c:1102,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - p_awh
    - p_env
    - id
    argTypes:
    - AWindowHandler*
    - JNIEnv*
    - enum AWindow_ID
    assertStmts:
    - condition: (p_awh->jfields.AWindow.getVideoSurface != NULL)
      pos:
        line_end: 1086
        line_start: 1086
        source_file: /src/vlc/modules/video_output/android/utils.c
    - condition: (p_awh->jfields.AWindow.getSubtitlesSurface!= NULL)
      pos:
        line_end: 1091
        line_start: 1091
        source_file: /src/vlc/modules/video_output/android/utils.c
    constantsTouched: []
    func_position:
      end: 1104
      start: 1077
    functionDepth: 1
    functionLinenumber: 1077
    functionLinenumberEnd: 1104
    functionName: WindowHandler_NewSurfaceEnv
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 0
    functionsReached:
    - DeleteLocalRef
    - assert
    - vlc_assert_unreachable
    - NewGlobalRef
    - JNI_ANWCALL
    linkageType: ''
    returnType: int
    signature: "int WindowHandler_NewSurfaceEnv(AWindowHandler *p_awh, JNIEnv *p_env,\n
      \                           enum AWindow_ID id)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/android/utils.c:1109,1
    - Dst: AWindowHandler_getEnv
      Src: /src/vlc/modules/video_output/android/utils.c:1114,1
    - Dst: WindowHandler_NewSurfaceEnv
      Src: /src/vlc/modules/video_output/android/utils.c:1118,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/android/utils.c:1120,1
    - Dst: ANativeWindow_fromSurface
      Src: /src/vlc/modules/video_output/android/utils.c:1123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - p_awh
    - id
    argTypes:
    - AWindowHandler*
    - enum AWindow_ID
    assertStmts:
    - condition: (id < AWindow_Max)
      pos:
        line_end: 1108
        line_start: 1108
        source_file: /src/vlc/modules/video_output/android/utils.c
    - condition: (p_awh->views[id].jsurface != NULL)
      pos:
        line_end: 1119
        line_start: 1119
        source_file: /src/vlc/modules/video_output/android/utils.c
    constantsTouched: []
    func_position:
      end: 1127
      start: 1106
    functionDepth: 2
    functionLinenumber: 1106
    functionLinenumberEnd: 1127
    functionName: AWindowHandler_getANativeWindow
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 2
    functionsReached:
    - assert
    - WindowHandler_NewSurfaceEnv
    - AWindowHandler_getEnv
    - ANativeWindow_fromSurface
    linkageType: ''
    returnType: ANativeWindow
    signature: 'ANativeWindow *

      AWindowHandler_getANativeWindow(AWindowHandler *p_awh, enum AWindow_ID id)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AWindowHandler_getEnv
      Src: /src/vlc/modules/video_output/android/utils.c:1132,1
    - Dst: AWindowHandler_releaseANativeWindowEnv
      Src: /src/vlc/modules/video_output/android/utils.c:1133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_awh
    - id
    argTypes:
    - AWindowHandler*
    - enum AWindow_ID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1129
    functionDepth: 2
    functionLinenumber: 1129
    functionLinenumberEnd: 1134
    functionName: AWindowHandler_releaseANativeWindow
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 0
    functionsReached:
    - AWindowHandler_getEnv
    - AWindowHandler_releaseANativeWindowEnv
    linkageType: ''
    returnType: void
    signature: "void AWindowHandler_releaseANativeWindow(AWindowHandler *p_awh,\n
      \                                        enum AWindow_ID id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - jlong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1139
    functionName: jlong_AWindowHandler
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AWindowHandler
    signature: AWindowHandler *jlong_AWindowHandler(jlong handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jlong_AWindowHandler
      Src: /src/vlc/modules/video_output/android/utils.c:1146,1
    - Dst: AWindowHandler*::event::cb::on_new_mouse_coords
      Src: /src/vlc/modules/video_output/android/utils.c:1148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - env
    - clazz
    - handle
    - action
    - button
    - x
    - y
    argTypes:
    - JNIEnv*
    - jobject
    - jlong
    - jint
    - jint
    - jint
    - jint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1141
    functionDepth: 1
    functionLinenumber: 1141
    functionLinenumberEnd: 1150
    functionName: AndroidNativeWindow_onMouseEvent
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 0
    functionsReached:
    - jlong_AWindowHandler
    - AWindowHandler*::event::cb::on_new_mouse_coords
    linkageType: ''
    returnType: void
    signature: "void AndroidNativeWindow_onMouseEvent(JNIEnv* env, jobject clazz,
      jlong handle,\n                                 jint action, jint button, jint
      x, jint y)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jlong_AWindowHandler
      Src: /src/vlc/modules/video_output/android/utils.c:1157,1
    - Dst: AWindowHandler*::event::cb::on_new_window_size
      Src: /src/vlc/modules/video_output/android/utils.c:1160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - env
    - clazz
    - handle
    - width
    - height
    argTypes:
    - JNIEnv*
    - jobject
    - jlong
    - jint
    - jint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1152
    functionDepth: 1
    functionLinenumber: 1152
    functionLinenumberEnd: 1161
    functionName: AndroidNativeWindow_onWindowSize
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 0
    functionsReached:
    - AWindowHandler*::event::cb::on_new_window_size
    - jlong_AWindowHandler
    linkageType: ''
    returnType: void
    signature: "void AndroidNativeWindow_onWindowSize(JNIEnv* env, jobject clazz,
      jlong handle,\n                                 jint width, jint height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_awh
    argTypes:
    - AWindowHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1167
    functionName: AWindowHandler_getCapabilities
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int AWindowHandler_getCapabilities(AWindowHandler *p_awh)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/android/utils.c:1174,1
    - Dst: AWindowHandler_getEnv
      Src: /src/vlc/modules/video_output/android/utils.c:1175,1
    - Dst: JNI_ANWCALL
      Src: /src/vlc/modules/video_output/android/utils.c:1183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - p_awh
    - i_display_width
    - i_display_height
    - place
    argTypes:
    - AWindowHandler*
    - int
    - int
    - vout_display_place_t*
    assertStmts:
    - condition: (p_awh->capabilities & AWH_CAPS_SET_VIDEO_LAYOUT)
      pos:
        line_end: 1173
        line_start: 1173
        source_file: /src/vlc/modules/video_output/android/utils.c
    constantsTouched: []
    func_position:
      end: 1186
      start: 1169
    functionDepth: 2
    functionLinenumber: 1169
    functionLinenumberEnd: 1186
    functionName: AWindowHandler_setVideoLayout
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 2
    functionsReached:
    - assert
    - AWindowHandler_getEnv
    - JNI_ANWCALL
    linkageType: ''
    returnType: int
    signature: "int AWindowHandler_setVideoLayout(AWindowHandler *p_awh,\n                              int
      i_display_width, int i_display_height,\n                              const
      vout_display_place_t *place)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct vlc_asurfacetexture*::ops::attach_to_gl_context
      Src: /src/vlc/modules/video_output/android/utils.c:1191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - tex_name
    argTypes:
    - struct vlc_asurfacetexture*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1188
    functionDepth: 0
    functionLinenumber: 1188
    functionLinenumberEnd: 1192
    functionName: SurfaceTexture_attachToGLContext
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 0
    functionsReached:
    - struct vlc_asurfacetexture*::ops::attach_to_gl_context
    linkageType: ''
    returnType: int
    signature: int SurfaceTexture_attachToGLContext(struct vlc_asurfacetexture *st,
      uint32_t tex_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct vlc_asurfacetexture*::ops::detach_from_gl_context
      Src: /src/vlc/modules/video_output/android/utils.c:1197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct vlc_asurfacetexture*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1198
    functionName: SurfaceTexture_detachFromGLContext
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 0
    functionsReached:
    - struct vlc_asurfacetexture*::ops::detach_from_gl_context
    linkageType: ''
    returnType: void
    signature: void SurfaceTexture_detachFromGLContext(struct vlc_asurfacetexture
      *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct vlc_asurfacetexture*::ops::update_tex_image
      Src: /src/vlc/modules/video_output/android/utils.c:1203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - pp_transform_mtx
    argTypes:
    - struct vlc_asurfacetexture*
    - float**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1204
    functionName: SurfaceTexture_updateTexImage
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 0
    functionsReached:
    - struct vlc_asurfacetexture*::ops::update_tex_image
    linkageType: ''
    returnType: int
    signature: int SurfaceTexture_updateTexImage(struct vlc_asurfacetexture *st, const
      float **pp_transform_mtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct vlc_asurfacetexture*::ops::release_tex_image
      Src: /src/vlc/modules/video_output/android/utils.c:1209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct vlc_asurfacetexture*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1210
    functionName: SurfaceTexture_releaseTexImage
    functionSourceFile: /src/vlc/modules/video_output/android/utils.c
    functionUses: 0
    functionsReached:
    - struct vlc_asurfacetexture*::ops::release_tex_image
    linkageType: ''
    returnType: void
    signature: void SurfaceTexture_releaseTexImage(struct vlc_asurfacetexture *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetJavaVM
      Src: /src/vlc/modules/video_output/android/env.c:50,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/android/env.c:51,1
    - Dst: DetachCurrentThread
      Src: /src/vlc/modules/video_output/android/env.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts:
    - condition: (jvm)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/vlc/modules/video_output/android/env.c
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: jni_detach_thread
    functionSourceFile: /src/vlc/modules/video_output/android/env.c
    functionUses: 0
    functionsReached:
    - GetJavaVM
    - assert
    - DetachCurrentThread
    linkageType: ''
    returnType: void
    signature: void jni_detach_thread(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_key_create
      Src: /src/vlc/modules/video_output/android/env.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: jni_env_key_create
    functionSourceFile: /src/vlc/modules/video_output/android/env.c
    functionUses: 0
    functionsReached:
    - pthread_key_create
    linkageType: ''
    returnType: void
    signature: void jni_env_key_create()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/android/env.c:65,1
    - Dst: pthread_once
      Src: /src/vlc/modules/video_output/android/env.c:69,1
    - Dst: pthread_getspecific
      Src: /src/vlc/modules/video_output/android/env.c:70,1
    - Dst: var_InheritAddress
      Src: /src/vlc/modules/video_output/android/env.c:74,1
    - Dst: GetEnv
      Src: /src/vlc/modules/video_output/android/env.c:82,1
    - Dst: AttachCurrentThread
      Src: /src/vlc/modules/video_output/android/env.c:91,1
    - Dst: pthread_setspecific
      Src: /src/vlc/modules/video_output/android/env.c:95,1
    - Dst: DetachCurrentThread
      Src: /src/vlc/modules/video_output/android/env.c:97,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - p_obj
    - jvm
    - psz_name
    argTypes:
    - vlc_object_t*
    - JavaVM*
    - char*
    assertStmts:
    - condition: ((p_obj && !jvm) || (!p_obj && jvm))
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/vlc/modules/video_output/android/env.c
    constantsTouched: []
    func_position:
      end: 104
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 104
    functionName: android_getEnvCommon
    functionSourceFile: /src/vlc/modules/video_output/android/env.c
    functionUses: 10
    functionsReached:
    - assert
    - pthread_getspecific
    - var_InheritAddress
    - GetEnv
    - DetachCurrentThread
    - AttachCurrentThread
    - pthread_once
    - pthread_setspecific
    linkageType: ''
    returnType: JNIEnv
    signature: 'JNIEnv *

      android_getEnvCommon(vlc_object_t *p_obj, JavaVM *jvm, const char *psz_name)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - vk
    argTypes:
    - vlc_vk_platform_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: InitPlatform
    functionSourceFile: /src/vlc/modules/video_output/vulkan/platform_android.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int InitPlatform(vlc_vk_platform_t *vk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AWindowHandler_releaseANativeWindow
      Src: /src/vlc/modules/video_output/vulkan/platform_android.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vk
    argTypes:
    - vlc_vk_platform_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: ClosePlatform
    functionSourceFile: /src/vlc/modules/video_output/vulkan/platform_android.c
    functionUses: 0
    functionsReached:
    - AWindowHandler_releaseANativeWindow
    linkageType: ''
    returnType: void
    signature: void ClosePlatform(vlc_vk_platform_t *vk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AWindowHandler_getANativeWindow
      Src: /src/vlc/modules/video_output/vulkan/platform_android.c:61,1
    - Dst: vlc_vk_instance_t*::get_proc_address
      Src: /src/vlc/modules/video_output/vulkan/platform_android.c:64,1
    - Dst: CreateAndroidSurfaceKHR
      Src: /src/vlc/modules/video_output/vulkan/platform_android.c:73,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/vulkan/platform_android.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - vk
    - inst
    - surface_out
    argTypes:
    - vlc_vk_platform_t*
    - vlc_vk_instance_t*
    - VkSurfaceKHR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 80
    functionName: CreateSurface
    functionSourceFile: /src/vlc/modules/video_output/vulkan/platform_android.c
    functionUses: 3
    functionsReached:
    - AWindowHandler_getANativeWindow
    - CreateAndroidSurfaceKHR
    - msg_Err
    - vlc_vk_instance_t*::get_proc_address
    linkageType: ''
    returnType: int
    signature: "int CreateSurface(vlc_vk_platform_t *vk, const vlc_vk_instance_t *inst,\n
      \                        VkSurfaceKHR *surface_out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/vulkan/platform_win32.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vk
    argTypes:
    - vlc_vk_platform_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: ClosePlatform
    functionSourceFile: /src/vlc/modules/video_output/vulkan/platform_win32.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void ClosePlatform(vlc_vk_platform_t *vk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleHandle
      Src: /src/vlc/modules/video_output/vulkan/platform_win32.c:40,1
    - Dst: vlc_vk_instance_t*::get_proc_address
      Src: /src/vlc/modules/video_output/vulkan/platform_win32.c:42,1
    - Dst: CreateWin32SurfaceKHR
      Src: /src/vlc/modules/video_output/vulkan/platform_win32.c:50,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/vulkan/platform_win32.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - vk
    - inst
    - surface_out
    argTypes:
    - vlc_vk_platform_t*
    - vlc_vk_instance_t*
    - VkSurfaceKHR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 57
    functionName: CreateSurface
    functionSourceFile: /src/vlc/modules/video_output/vulkan/platform_win32.c
    functionUses: 3
    functionsReached:
    - CreateWin32SurfaceKHR
    - msg_Err
    - GetModuleHandle
    - vlc_vk_instance_t*::get_proc_address
    linkageType: ''
    returnType: int
    signature: "int CreateSurface(vlc_vk_platform_t *vk, const vlc_vk_instance_t *inst,\n
      \                        VkSurfaceKHR *surface_out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - vk
    argTypes:
    - vlc_vk_platform_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: InitPlatform
    functionSourceFile: /src/vlc/modules/video_output/vulkan/platform_win32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int InitPlatform(vlc_vk_platform_t *vk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/video_output/vulkan/platform.c:36,1
    - Dst: activate
      Src: /src/vlc/modules/video_output/vulkan/platform.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - func
    - forced
    - ap
    argTypes:
    - void*
    - bool
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: vlc_vk_start
    functionSourceFile: /src/vlc/modules/video_output/vulkan/platform.c
    functionUses: 0
    functionsReached:
    - va_arg
    - activate
    linkageType: ''
    returnType: int
    signature: int vlc_vk_start(void *func, bool forced, va_list ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/vulkan/platform.c:53,1
    - Dst: vlc_object_create
      Src: /src/vlc/modules/video_output/vulkan/platform.c:56,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/vulkan/platform.c:57,1
    - Dst: vlc_module_load
      Src: /src/vlc/modules/video_output/vulkan/platform.c:64,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/video_output/vulkan/platform.c:64,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/video_output/vulkan/platform.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - wnd
    - name
    argTypes:
    - struct vlc_window*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 74
    functionName: vlc_vk_platform_Create
    functionSourceFile: /src/vlc/modules/video_output/vulkan/platform.c
    functionUses: 0
    functionsReached:
    - vlc_module_load
    - vlc_object_logger
    - vlc_object_create
    - vlc_object_delete
    - VLC_OBJECT
    - unlikely
    linkageType: ''
    returnType: vlc_vk_platform_t
    signature: vlc_vk_platform_t *vlc_vk_platform_Create(struct vlc_window *wnd, const
      char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vk_platform_t*::ops::close
      Src: /src/vlc/modules/video_output/vulkan/platform.c:79,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/video_output/vulkan/platform.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - vk
    argTypes:
    - vlc_vk_platform_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionName: vlc_vk_platform_Release
    functionSourceFile: /src/vlc/modules/video_output/vulkan/platform.c
    functionUses: 0
    functionsReached:
    - vlc_object_delete
    - vlc_vk_platform_t*::ops::close
    linkageType: ''
    returnType: void
    signature: void vlc_vk_platform_Release(vlc_vk_platform_t *vk)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xcb_connect
      Src: /src/vlc/modules/video_output/vulkan/platform_xcb.c:47,1
    - Dst: xcb_connection_has_error
      Src: /src/vlc/modules/video_output/vulkan/platform_xcb.c:48,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/vulkan/platform_xcb.c:50,1
    - Dst: xcb_disconnect
      Src: /src/vlc/modules/video_output/vulkan/platform_xcb.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - vk
    argTypes:
    - vlc_vk_platform_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 61
    functionName: InitPlatform
    functionSourceFile: /src/vlc/modules/video_output/vulkan/platform_xcb.c
    functionUses: 0
    functionsReached:
    - xcb_connect
    - xcb_disconnect
    - xcb_connection_has_error
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int InitPlatform(vlc_vk_platform_t *vk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcb_disconnect
      Src: /src/vlc/modules/video_output/vulkan/platform_xcb.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vk
    argTypes:
    - vlc_vk_platform_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: ClosePlatform
    functionSourceFile: /src/vlc/modules/video_output/vulkan/platform_xcb.c
    functionUses: 0
    functionsReached:
    - xcb_disconnect
    linkageType: ''
    returnType: void
    signature: void ClosePlatform(vlc_vk_platform_t *vk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vk_instance_t*::get_proc_address
      Src: /src/vlc/modules/video_output/vulkan/platform_xcb.c:74,1
    - Dst: CreateXcbSurfaceKHR
      Src: /src/vlc/modules/video_output/vulkan/platform_xcb.c:82,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/vulkan/platform_xcb.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - vk
    - inst
    - surface_out
    argTypes:
    - vlc_vk_platform_t*
    - vlc_vk_instance_t*
    - VkSurfaceKHR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 89
    functionName: CreateSurface
    functionSourceFile: /src/vlc/modules/video_output/vulkan/platform_xcb.c
    functionUses: 3
    functionsReached:
    - CreateXcbSurfaceKHR
    - msg_Err
    - vlc_vk_instance_t*::get_proc_address
    linkageType: ''
    returnType: int
    signature: "int CreateSurface(vlc_vk_platform_t *vk, const vlc_vk_instance_t *inst,\n
      \                        VkSurfaceKHR *surface_out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vk_platform_t*::ops::create_surface
      Src: /src/vlc/modules/video_output/vulkan/platform.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vk
    - instance
    - surface_out
    argTypes:
    - vlc_vk_platform_t*
    - vlc_vk_instance_t*
    - VkSurfaceKHR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: vlc_vk_CreateSurface
    functionSourceFile: /src/vlc/modules/video_output/vulkan/platform.h
    functionUses: 0
    functionsReached:
    - vlc_vk_platform_t*::ops::create_surface
    linkageType: ''
    returnType: int
    signature: "int vlc_vk_CreateSurface(vlc_vk_platform_t * vk,\n                                       const
      vlc_vk_instance_t *instance,\n                                       VkSurfaceKHR
      *surface_out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vk_instance_t*::get_proc_address
      Src: /src/vlc/modules/video_output/vulkan/platform.h:66,1
    - Dst: DestroySurfaceKHR
      Src: /src/vlc/modules/video_output/vulkan/platform.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - inst
    - surface
    argTypes:
    - vlc_vk_instance_t*
    - VkSurfaceKHR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: vlc_vk_DestroySurface
    functionSourceFile: /src/vlc/modules/video_output/vulkan/platform.h
    functionUses: 0
    functionsReached:
    - DestroySurfaceKHR
    - vlc_vk_instance_t*::get_proc_address
    linkageType: ''
    returnType: void
    signature: "void vlc_vk_DestroySurface(const vlc_vk_instance_t *inst,\n                                         VkSurfaceKHR
      surface)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/video_output/opengl/filter_priv.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - struct vlc_gl_filter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: vlc_gl_filter_PRIV
    functionSourceFile: /src/vlc/modules/video_output/opengl/filter_priv.h
    functionUses: 0
    functionsReached:
    - container_of
    linkageType: ''
    returnType: struct vlc_gl_filter_priv
    signature: 'struct vlc_gl_filter_priv *

      vlc_gl_filter_PRIV(struct vlc_gl_filter *filter)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - o
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: vlc_gl_filter_LoadModule
    functionSourceFile: /src/vlc/modules/video_output/opengl/filter_priv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vlc_gl_filter_LoadModule(o, a, b, c, d, e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eglQueryString
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:98,1
    - Dst: vlc_gl_StrHasToken
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dpy
    - api
    argTypes:
    - EGLDisplay
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: CheckAPI
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 0
    functionsReached:
    - eglQueryString
    - vlc_gl_StrHasToken
    linkageType: ''
    returnType: bool
    signature: bool CheckAPI(EGLDisplay dpy, const char* api)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_StrHasToken
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: CheckClientExt
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 0
    functionsReached:
    - vlc_gl_StrHasToken
    linkageType: ''
    returnType: bool
    signature: bool CheckClientExt(const char* name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eglQueryString
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:109,1
    - Dst: vlc_gl_StrHasToken
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - display
    - name
    argTypes:
    - EGLDisplay
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: CheckDisplayExt
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 0
    functionsReached:
    - eglQueryString
    - vlc_gl_StrHasToken
    linkageType: ''
    returnType: bool
    signature: bool CheckDisplayExt(EGLDisplay display, const char *name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: eglQueryDeviceStringEXT
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:117,1
    - Dst: vlc_gl_StrHasToken
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:123,1
    - Dst: eglQueryDeviceStringEXT
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:125,1
    - Dst: eglQueryDeviceStringEXT
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:126,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:127,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:131,1
    - Dst: vlc_gl_StrHasToken
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:133,1
    - Dst: eglQueryDeviceStringEXT
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:135,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:137,1
    - Dst: vlc_gl_StrHasToken
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:139,1
    - Dst: eglQueryDeviceStringEXT
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:141,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - gl
    - eglQueryDeviceStringEXT
    - device
    argTypes:
    - vlc_gl_t*
    - PFNEGLQUERYDEVICESTRINGEXTPROC
    - EGLDeviceEXT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 145
    functionName: LogDeviceInfo
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 0
    functionsReached:
    - vlc_gl_StrHasToken
    - msg_Dbg
    - eglQueryDeviceStringEXT
    linkageType: ''
    returnType: void
    signature: "void LogDeviceInfo(vlc_gl_t *gl,\n                          PFNEGLQUERYDEVICESTRINGEXTPROC
      eglQueryDeviceStringEXT,\n                          EGLDeviceEXT device)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eglGetProcAddress
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:150,1
    - Dst: eglGetProcAddress
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:152,1
    - Dst: eglQueryDevicesEXT
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:155,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:158,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:162,1
    - Dst: eglQueryDevicesEXT
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:166,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:168,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:172,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:175,1
    - Dst: LogDeviceInfo
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:176,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 180
    functionName: DisplayAvailableDevices
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 0
    functionsReached:
    - free
    - msg_Dbg
    - vlc_alloc
    - LogDeviceInfo
    - eglQueryDevicesEXT
    - eglGetProcAddress
    linkageType: ''
    returnType: void
    signature: void DisplayAvailableDevices(vlc_gl_t *gl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:196,1
    - Dst: eglMakeCurrent
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:200,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 208
    functionName: MakeCurrent
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 44
    functionsReached:
    - eglMakeCurrent
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int MakeCurrent (vlc_gl_t* gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eglMakeCurrent
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 216
    functionName: ReleaseCurrent
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 24
    functionsReached:
    - eglMakeCurrent
    linkageType: ''
    returnType: void
    signature: void ReleaseCurrent (vlc_gl_t* gl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gbm_surface_create
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:222,1
    - Dst: gbm_surface_create
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:231,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:240,1
    - Dst: CreatePlatformWindowSurfaceEXT
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:245,1
    - Dst: eglCreateWindowSurface
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - gl
    - width
    - height
    argTypes:
    - vlc_gl_t*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 249
    functionName: CreateSurface
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 3
    functionsReached:
    - CreatePlatformWindowSurfaceEXT
    - gbm_surface_create
    - eglCreateWindowSurface
    - msg_Err
    linkageType: ''
    returnType: EGLSurface
    signature: EGLSurface CreateSurface(vlc_gl_t* gl, unsigned int width, unsigned
      int height)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eglDestroySurface
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:256,1
    - Dst: gbm_surface_destroy
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:259,1
    - Dst: CreateSurface
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - gl
    - width
    - height
    argTypes:
    - vlc_gl_t*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 266
    functionName: Resize
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 23
    functionsReached:
    - CreateSurface
    - eglDestroySurface
    - gbm_surface_destroy
    linkageType: ''
    returnType: void
    signature: void Resize(vlc_gl_t* gl, unsigned width, unsigned height)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:270,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:272,1
    - Dst: likely
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:273,1
    - Dst: wl_buffer_destroy
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:274,1
    - Dst: close
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:276,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - bo
    - data
    argTypes:
    - struct gbm_bo*
    - void*
    assertStmts:
    - condition: (bo_data)
      pos:
        line_end: 271
        line_start: 271
        source_file: /src/vlc/modules/video_output/opengl/egl_gbm.c
    - condition: (bo_data->used)
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/vlc/modules/video_output/opengl/egl_gbm.c
    constantsTouched: []
    func_position:
      end: 279
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 279
    functionName: ReleaseBoPrivateData
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 0
    functionsReached:
    - assert
    - close
    - likely
    - wl_buffer_destroy
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void ReleaseBoPrivateData(struct gbm_bo*  bo, void* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseBoPrivateData
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:283,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bo
    - data
    argTypes:
    - struct gbm_bo*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: ReleaseAndFreeBoPrivateData
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 0
    functionsReached:
    - free
    - ReleaseBoPrivateData
    linkageType: ''
    returnType: void
    signature: void ReleaseAndFreeBoPrivateData(struct gbm_bo* bo, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gbm_surface_lock_front_buffer
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 294
    functionName: LockNext
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 0
    functionsReached:
    - gbm_surface_lock_front_buffer
    linkageType: ''
    returnType: void
    signature: void LockNext(vlc_gl_t* gl)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gbm_bo_get_height
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:306,1
    - Dst: gbm_bo_get_width
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:307,1
    - Dst: gbm_bo_get_user_data
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:309,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:315,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:327,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:328,1
    - Dst: malloc
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:329,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:330,1
    - Dst: gbm_bo_get_modifier
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:335,1
    - Dst: gbm_bo_get_format
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:336,1
    - Dst: zwp_linux_dmabuf_v1_create_params
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:338,1
    - Dst: gbm_bo_get_plane_count
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:339,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:340,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:340,1
    - Dst: gbm_bo_get_fd_for_plane
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:344,1
    - Dst: gbm_bo_get_stride_for_plane
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:346,1
    - Dst: gbm_bo_get_offset
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:347,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:351,1
    - Dst: zwp_linux_buffer_params_v1_add
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:355,1
    - Dst: zwp_linux_buffer_params_v1_create_immed
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:360,1
    - Dst: zwp_linux_buffer_params_v1_destroy
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:362,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:366,1
    - Dst: bo_data_release_func
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:368,1
    - Dst: gbm_bo_set_user_data
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:372,1
    - Dst: wl_surface_attach
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:375,1
    - Dst: wl_surface_damage
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:376,1
    - Dst: wl_surface_commit
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:377,1
    - Dst: wl_display_roundtrip_queue
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:379,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts:
    - condition: (plane_count <= ARRAY_SIZE(bo_data->fd))
      pos:
        line_end: 339
        line_start: 339
        source_file: /src/vlc/modules/video_output/opengl/egl_gbm.c
    constantsTouched: []
    func_position:
      end: 380
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 380
    functionName: BindBuffer
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 11
    functionsReached:
    - gbm_bo_get_height
    - assert
    - gbm_bo_get_modifier
    - gbm_bo_set_user_data
    - wl_display_roundtrip_queue
    - gbm_bo_get_offset
    - ARRAY_SIZE
    - zwp_linux_dmabuf_v1_create_params
    - gbm_bo_get_user_data
    - gbm_bo_get_fd_for_plane
    - msg_Dbg
    - gbm_bo_get_stride_for_plane
    - msg_Warn
    - gbm_bo_get_plane_count
    - wl_surface_attach
    - wl_surface_damage
    - zwp_linux_buffer_params_v1_destroy
    - gbm_bo_get_width
    - zwp_linux_buffer_params_v1_add
    - wl_surface_commit
    - zwp_linux_buffer_params_v1_create_immed
    - gbm_bo_get_format
    - bo_data_release_func
    - unlikely
    - malloc
    linkageType: ''
    returnType: void
    signature: void BindBuffer(vlc_gl_t* gl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gbm_surface_release_buffer
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 390
    functionName: FreePrev
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 0
    functionsReached:
    - gbm_surface_release_buffer
    linkageType: ''
    returnType: void
    signature: void FreePrev(vlc_gl_t* gl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gbm_surface_has_free_buffers
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:396,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:398,1
    - Dst: eglGetCurrentSurface
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:404,1
    - Dst: eglGetCurrentSurface
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:405,1
    - Dst: eglGetCurrentContext
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:406,1
    - Dst: eglMakeCurrent
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:408,1
    - Dst: eglSwapBuffers
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:410,1
    - Dst: Finish
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:411,1
    - Dst: eglMakeCurrent
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:413,1
    - Dst: eglSwapBuffers
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:417,1
    - Dst: Finish
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:418,1
    - Dst: LockNext
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:421,1
    - Dst: BindBuffer
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:423,1
    - Dst: FreePrev
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 392
    functionDepth: 2
    functionLinenumber: 392
    functionLinenumberEnd: 426
    functionName: SwapBuffers
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 4
    functionsReached:
    - eglGetCurrentSurface
    - BindBuffer
    - FreePrev
    - LockNext
    - Finish
    - gbm_surface_has_free_buffers
    - eglMakeCurrent
    - eglSwapBuffers
    - msg_Warn
    - eglGetCurrentContext
    linkageType: ''
    returnType: void
    signature: void SwapBuffers(vlc_gl_t* gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gbm_surface_destroy
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: DestroySurface
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 3
    functionsReached:
    - gbm_surface_destroy
    linkageType: ''
    returnType: void
    signature: void DestroySurface(vlc_gl_t* gl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eglGetConfigAttrib
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:440,1
    - Dst: EGL_CAST
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:446,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - gl
    - cfgc
    - cfgv
    - targetFormat
    argTypes:
    - vlc_gl_t*
    - EGLint
    - EGLConfig*
    - EGLint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 447
    functionName: MatchEglConfigToGBM
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 0
    functionsReached:
    - EGL_CAST
    - eglGetConfigAttrib
    linkageType: ''
    returnType: EGLConfig
    signature: EGLConfig MatchEglConfigToGBM(vlc_gl_t* gl, EGLint cfgc, EGLConfig*
      cfgv, EGLint targetFormat )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eglGetConfigs
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:466,1
    - Dst: malloc
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:469,1
    - Dst: eglChooseConfig
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:471,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:474,1
    - Dst: MatchEglConfigToGBM
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:493,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:499,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:503,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - gl
    - need_alpha
    argTypes:
    - vlc_gl_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 511
    functionName: FindEglConfig
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 0
    functionsReached:
    - msg_Err
    - MatchEglConfigToGBM
    - free
    - eglChooseConfig
    - malloc
    - eglGetConfigs
    linkageType: ''
    returnType: bool
    signature: bool FindEglConfig(vlc_gl_t* gl, bool need_alpha)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: drmGetDevices2
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:520,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:520,1
    - Dst: drmDevicesEqual
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:524,1
    - Dst: strdup
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:530,1
    - Dst: drmFreeDevices
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:534,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:539,1
    - Dst: vlc_open
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:540,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:544,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:545,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:548,1
    - Dst: gbm_create_device
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:550,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - gl
    - device
    argTypes:
    - vlc_gl_t*
    - drmDevice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 553
    functionName: OpenDrmDevice
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 0
    functionsReached:
    - gbm_create_device
    - vlc_open
    - strdup
    - ARRAY_SIZE
    - drmGetDevices2
    - drmDevicesEqual
    - msg_Err
    - drmFreeDevices
    - free
    - msg_Dbg
    linkageType: ''
    returnType: bool
    signature: bool OpenDrmDevice(vlc_gl_t* gl, drmDevice* device)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:557,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - feedback
    argTypes:
    - void*
    - struct zwp_linux_dmabuf_feedback_v1*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 559
    functionName: linux_dmabuf_feedback_handle_done
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void linux_dmabuf_feedback_handle_done(void* data, struct zwp_linux_dmabuf_feedback_v1*
      feedback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:563,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:564,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:565,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - data
    - feedback
    - fd
    - size
    argTypes:
    - void*
    - struct zwp_linux_dmabuf_feedback_v1*
    - int32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 567
    functionName: linux_dmabuf_feedback_handle_format_table
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void linux_dmabuf_feedback_handle_format_table(void* data, struct zwp_linux_dmabuf_feedback_v1*
      feedback, int32_t fd, uint32_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:571,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:572,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:577,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:578,1
    - Dst: drmGetDeviceFromDevId
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:581,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:583,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:587,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:588,1
    - Dst: OpenDrmDevice
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:590,1
    - Dst: drmFreeDevice
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:592,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - data
    - feedback
    - device_arr
    argTypes:
    - void*
    - struct zwp_linux_dmabuf_feedback_v1*
    - struct wl_array*
    assertStmts:
    - condition: (device_arr->size == sizeof(device))
      pos:
        line_end: 576
        line_start: 576
        source_file: /src/vlc/modules/video_output/opengl/egl_gbm.c
    - condition: (drmDev)
      pos:
        line_end: 586
        line_start: 586
        source_file: /src/vlc/modules/video_output/opengl/egl_gbm.c
    - condition: (sys->gbm.device == NULL)
      pos:
        line_end: 587
        line_start: 587
        source_file: /src/vlc/modules/video_output/opengl/egl_gbm.c
    constantsTouched: []
    func_position:
      end: 593
      start: 569
    functionDepth: 2
    functionLinenumber: 569
    functionLinenumberEnd: 593
    functionName: linux_dmabuf_feedback_handle_main_device
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 0
    functionsReached:
    - assert
    - OpenDrmDevice
    - memcpy
    - drmGetDeviceFromDevId
    - msg_Warn
    - drmFreeDevice
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void linux_dmabuf_feedback_handle_main_device(void* data, struct zwp_linux_dmabuf_feedback_v1*
      feedback, struct wl_array* device_arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:597,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - feedback
    argTypes:
    - void*
    - struct zwp_linux_dmabuf_feedback_v1*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 599
    functionName: linux_dmabuf_feedback_handle_tranche_done
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void linux_dmabuf_feedback_handle_tranche_done(void* data, struct zwp_linux_dmabuf_feedback_v1*
      feedback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:603,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:604,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - feedback
    - device_arr
    argTypes:
    - void*
    - struct zwp_linux_dmabuf_feedback_v1*
    - struct wl_array*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 606
    functionName: linux_dmabuf_feedback_handle_tranche_target_device
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void linux_dmabuf_feedback_handle_tranche_target_device(void* data,
      struct zwp_linux_dmabuf_feedback_v1* feedback, struct wl_array* device_arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:610,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:611,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - feedback
    - indices
    argTypes:
    - void*
    - struct zwp_linux_dmabuf_feedback_v1*
    - struct wl_array*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 613
    functionName: linux_dmabuf_feedback_handle_tranche_formats
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void linux_dmabuf_feedback_handle_tranche_formats(void* data, struct
      zwp_linux_dmabuf_feedback_v1* feedback, struct wl_array* indices)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:617,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:618,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - feedback
    - flags
    argTypes:
    - void*
    - struct zwp_linux_dmabuf_feedback_v1*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 620
    functionName: linux_dmabuf_feedback_handle_tranche_flags
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void linux_dmabuf_feedback_handle_tranche_flags(void* data, struct
      zwp_linux_dmabuf_feedback_v1* feedback, uint32_t flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:638,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:642,1
    - Dst: wl_registry_bind
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:646,1
    - Dst: zwp_linux_dmabuf_v1_get_default_feedback
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:648,1
    - Dst: zwp_linux_dmabuf_feedback_v1_add_listener
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:649,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - data
    - registry
    - id
    - iface
    - version
    argTypes:
    - void*
    - struct wl_registry*
    - uint32_t
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 655
    functionName: registry_global_cb
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 0
    functionsReached:
    - strcmp
    - zwp_linux_dmabuf_v1_get_default_feedback
    - msg_Warn
    - wl_registry_bind
    - zwp_linux_dmabuf_feedback_v1_add_listener
    linkageType: ''
    returnType: void
    signature: "void registry_global_cb(void* data, struct wl_registry* registry,\n
      \                              uint32_t id, const char* iface, uint32_t version)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:659,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:660,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - registry
    - id
    argTypes:
    - void*
    - struct wl_registry*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 662
    functionName: registry_global_remove_cb
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void registry_global_remove_cb(void* data, struct wl_registry* registry,
      uint32_t id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wl_display_create_queue
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:678,1
    - Dst: wl_proxy_create_wrapper
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:682,1
    - Dst: wl_proxy_set_queue
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:683,1
    - Dst: wl_display_get_registry
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:685,1
    - Dst: wl_proxy_wrapper_destroy
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:689,1
    - Dst: wl_registry_add_listener
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:691,1
    - Dst: wl_display_roundtrip_queue
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:696,1
    - Dst: wl_registry_destroy
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:699,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 705
    functionName: GetWaylandRegistryInfo
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 0
    functionsReached:
    - wl_display_create_queue
    - wl_proxy_create_wrapper
    - wl_proxy_set_queue
    - wl_display_roundtrip_queue
    - wl_registry_destroy
    - wl_registry_add_listener
    - wl_display_get_registry
    - wl_proxy_wrapper_destroy
    linkageType: ''
    returnType: bool
    signature: bool GetWaylandRegistryInfo(vlc_gl_t* gl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CheckClientExt
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:712,1
    - Dst: GetWaylandRegistryInfo
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:717,1
    - Dst: msg_Info
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:719,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:725,1
    - Dst: eglGetPlatformDisplay
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:729,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:733,1
    - Dst: gbm_device_get_fd
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:736,1
    - Dst: gbm_device_destroy
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:737,1
    - Dst: close
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:738,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 743
    functionName: OpenDisplay
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 6
    functionsReached:
    - gbm_device_destroy
    - GetWaylandRegistryInfo
    - CheckClientExt
    - msg_Err
    - gbm_device_get_fd
    - msg_Info
    - eglGetPlatformDisplay
    - close
    linkageType: ''
    returnType: EGLDisplay
    signature: EGLDisplay OpenDisplay(vlc_gl_t* gl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: zwp_linux_dmabuf_feedback_v1_destroy
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:750,1
    - Dst: zwp_linux_dmabuf_v1_destroy
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:753,1
    - Dst: gbm_device_get_fd
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:757,1
    - Dst: gbm_device_destroy
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:758,1
    - Dst: close
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:759,1
    - Dst: wl_event_queue_destroy
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:763,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 764
    functionName: ReleaseDisplay
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 0
    functionsReached:
    - gbm_device_destroy
    - close
    - gbm_device_get_fd
    - wl_event_queue_destroy
    - zwp_linux_dmabuf_feedback_v1_destroy
    - zwp_linux_dmabuf_v1_destroy
    linkageType: ''
    returnType: void
    signature: void ReleaseDisplay(vlc_gl_t* gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:768,1
    - Dst: eglGetProcAddress
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - gl
    - procname
    argTypes:
    - vlc_gl_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 770
    functionName: GetSymbol
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 0
    functionsReached:
    - eglGetProcAddress
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void * GetSymbol(vlc_gl_t* gl, const char* procname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eglDestroyContext
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:777,1
    - Dst: eglDestroySurface
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:781,1
    - Dst: DestroySurface
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:782,1
    - Dst: eglTerminate
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:785,1
    - Dst: ReleaseDisplay
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:786,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:787,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 788
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 166
    functionsReached:
    - eglDestroyContext
    - ReleaseDisplay
    - free
    - DestroySurface
    - eglTerminate
    - eglDestroySurface
    linkageType: ''
    returnType: void
    signature: void Close(vlc_gl_t* gl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:794,1
    - Dst: vlc_once_begin
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:794,1
    - Dst: eglQueryString
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:796,1
    - Dst: eglGetProcAddress
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:802,1
    - Dst: eglGetProcAddress
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:804,1
    - Dst: eglGetProcAddress
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:807,1
    - Dst: vlc_once_complete
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 811
    functionName: InitEGL
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 2
    functionsReached:
    - vlc_once_begin
    - eglQueryString
    - vlc_once_complete
    - unlikely
    - eglGetProcAddress
    linkageType: ''
    returnType: void
    signature: void InitEGL(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: InitEGL
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:824,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:827,1
    - Dst: calloc
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:828,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:829,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:832,1
    - Dst: OpenDisplay
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:840,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:843,1
    - Dst: eglInitialize
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:849,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:851,1
    - Dst: eglQueryString
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:852,1
    - Dst: eglQueryString
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:853,1
    - Dst: eglQueryString
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:855,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:857,1
    - Dst: CheckAPI
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:860,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:862,1
    - Dst: CheckClientExt
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:866,1
    - Dst: CheckClientExt
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:867,1
    - Dst: DisplayAvailableDevices
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:871,1
    - Dst: eglGetProcAddress
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:873,1
    - Dst: eglGetProcAddress
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:875,1
    - Dst: eglQueryDisplayAttribEXT
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:878,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:882,1
    - Dst: LogDeviceInfo
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:883,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:886,1
    - Dst: CheckDisplayExt
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:890,1
    - Dst: eglGetProcAddress
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:895,1
    - Dst: eglGetDisplayDriverName
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:896,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:897,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:900,1
    - Dst: FindEglConfig
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:902,1
    - Dst: CreateSurface
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:907,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:910,1
    - Dst: eglBindAPI
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:914,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:916,1
    - Dst: eglCreateContext
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:920,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:924,1
    - Dst: Close
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:943,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 67
    argCount: 5
    argNames:
    - gl
    - api
    - width
    - height
    - gl_cfg
    argTypes:
    - vlc_gl_t*
    - struct gl_api*
    - unsigned
    - unsigned
    - struct vlc_gl_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 816
    functionDepth: 2
    functionLinenumber: 816
    functionLinenumberEnd: 945
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 63
    functionsReached:
    - InitEGL
    - CheckClientExt
    - eglCreateContext
    - CheckDisplayExt
    - CreateSurface
    - DisplayAvailableDevices
    - msg_Err
    - calloc
    - msg_Dbg
    - LogDeviceInfo
    - eglGetProcAddress
    - eglQueryString
    - Close
    - FindEglConfig
    - eglQueryDisplayAttribEXT
    - eglBindAPI
    - eglGetDisplayDriverName
    - free
    - VLC_OBJECT
    - CheckAPI
    - eglInitialize
    - unlikely
    - OpenDisplay
    linkageType: ''
    returnType: int
    signature: "int Open(vlc_gl_t* gl, const struct gl_api* api,\n                unsigned
      width, unsigned height,\n                const struct vlc_gl_cfg* gl_cfg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Open
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - gl
    - width
    - height
    - gl_cfg
    argTypes:
    - vlc_gl_t*
    - unsigned
    - unsigned
    - struct vlc_gl_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 955
    functionName: OpenGLES2
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 0
    functionsReached:
    - Open
    linkageType: ''
    returnType: int
    signature: "int OpenGLES2(vlc_gl_t* gl, unsigned width, unsigned height,\n                     const
      struct vlc_gl_cfg* gl_cfg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Open
      Src: /src/vlc/modules/video_output/opengl/egl_gbm.c:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - gl
    - width
    - height
    - gl_cfg
    argTypes:
    - vlc_gl_t*
    - unsigned
    - unsigned
    - struct vlc_gl_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 965
    functionName: OpenGL
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_gbm.c
    functionUses: 1
    functionsReached:
    - Open
    linkageType: ''
    returnType: int
    signature: "int OpenGL(vlc_gl_t* gl, unsigned width, unsigned height,\n                  const
      struct vlc_gl_cfg* gl_cfg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - sys
    - ','
    - fct
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: INTEROP_CALL
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_vdpau.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INTEROP_CALL(sys, fct, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:75,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:76,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:77,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:88,1
    - Dst: converter_sys_t*::gl::VDPAUIsSurfaceNV
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:88,1
    - Dst: INTEROP_CALL
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:92,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:94,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:94,1
    - Dst: INTEROP_CALL
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:96,1
    - Dst: INTEROP_CALL
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:97,1
    - Dst: INTEROP_CALL
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:101,1
    - Dst: INTEROP_CALL
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:104,1
    - Dst: INTEROP_CALL
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 6
    argNames:
    - interop
    - textures
    - tex_widths
    - tex_heights
    - pic
    - plane_offsets
    argTypes:
    - struct vlc_gl_interop*
    - uint32_t[]
    - int32_t[]
    - int32_t[]
    - picture_t*
    - size_t[]
    assertStmts:
    - condition: (convsys->gl.VDPAUIsSurfaceNV(gl_nv_surface) == GL_TRUE)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/vlc/modules/video_output/opengl/interop_vdpau.c
    - condition: (num_val == 1)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/vlc/modules/video_output/opengl/interop_vdpau.c
    - condition: (state == GL_SURFACE_MAPPED_NV)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/vlc/modules/video_output/opengl/interop_vdpau.c
    constantsTouched: []
    func_position:
      end: 109
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 109
    functionName: tc_vdpau_gl_update
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_vdpau.c
    functionUses: 0
    functionsReached:
    - converter_sys_t*::gl::VDPAUIsSurfaceNV
    - assert
    - INTEROP_CALL
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int tc_vdpau_gl_update(const struct vlc_gl_interop *interop, uint32_t
      textures[],\n                   int32_t const tex_widths[], int32_t const tex_heights[],\n
      \                  picture_t *pic, size_t const plane_offsets[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: converter_sys_t*::gl::VDPAUFiniNV
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:116,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:117,1
    - Dst: converter_sys_t*::gl::GetError
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:117,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:119,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - interop
    argTypes:
    - struct vlc_gl_interop*
    assertStmts:
    - condition: (sys->gl.GetError() == GL_NO_ERROR)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/vlc/modules/video_output/opengl/interop_vdpau.c
    constantsTouched: []
    func_position:
      end: 121
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 121
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_vdpau.c
    functionUses: 167
    functionsReached:
    - assert
    - vlc_decoder_device_Release
    - converter_sys_t*::gl::GetError
    - converter_sys_t*::gl::VDPAUFiniNV
    - free
    linkageType: ''
    returnType: void
    signature: void Close(struct vlc_gl_interop *interop)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_LoadExtensionFunctions
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:130,1
    - Dst: vlc_video_context_HoldDevice
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:132,1
    - Dst: GetVDPAUOpaqueDevice
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:133,1
    - Dst: vlc_gl_HasExtension
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:135,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:137,1
    - Dst: malloc
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:141,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:142,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:144,1
    - Dst: vlc_gl_GetProcAddress
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:148,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:149,1
    - Dst: GetVDPAUOpaqueDevice
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:155,1
    - Dst: vdp_get_proc_address
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:160,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:164,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:165,1
    - Dst: SAFE_GPA
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:177,1
    - Dst: SAFE_GPA
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:178,1
    - Dst: SAFE_GPA
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:179,1
    - Dst: SAFE_GPA
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:180,1
    - Dst: SAFE_GPA
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:181,1
    - Dst: SAFE_GPA
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:182,1
    - Dst: SAFE_GPA
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:183,1
    - Dst: SAFE_GPA
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:184,1
    - Dst: SAFE_GPA
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:185,1
    - Dst: converter_sys_t*::gl::VDPAUInitNV
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:188,1
    - Dst: gl::GetError
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:190,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:193,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:194,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:195,1
    - Dst: video_format_TransformBy
      Src: /src/vlc/modules/video_output/opengl/interop_vdpau.c:201,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 48
    argCount: 1
    argNames:
    - interop
    argTypes:
    - struct vlc_gl_interop*
    assertStmts:
    - condition: (sys->gl.GetError != NULL)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/vlc/modules/video_output/opengl/interop_vdpau.c
    constantsTouched: []
    func_position:
      end: 224
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 224
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_vdpau.c
    functionUses: 65
    functionsReached:
    - vlc_video_context_HoldDevice
    - GetVDPAUOpaqueDevice
    - vdp_get_proc_address
    - assert
    - vlc_gl_GetProcAddress
    - vlc_decoder_device_Release
    - SAFE_GPA
    - video_format_TransformBy
    - msg_Err
    - free
    - vlc_gl_HasExtension
    - gl::GetError
    - vlc_gl_LoadExtensionFunctions
    - unlikely
    - malloc
    - converter_sys_t*::gl::VDPAUInitNV
    linkageType: ''
    returnType: int
    signature: int Open(struct vlc_gl_interop *interop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fct
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: SAFE_GPA
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_vdpau.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAFE_GPA(fct)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_create
      Src: /src/vlc/modules/video_output/opengl/egl_display.c:35,1
    - Dst: vlc_module_match
      Src: /src/vlc/modules/video_output/opengl/egl_display.c:46,1
    - Dst: vlc_module_map
      Src: /src/vlc/modules/video_output/opengl/egl_display.c:49,1
    - Dst: open
      Src: /src/vlc/modules/video_output/opengl/egl_display.c:51,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/egl_display.c:53,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/egl_display.c:54,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/egl_display.c:59,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/video_output/opengl/egl_display.c:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - parent
    - name
    argTypes:
    - vlc_object_t*
    - char*
    assertStmts:
    - condition: (display->display != EGL_NO_DISPLAY)
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/vlc/modules/video_output/opengl/egl_display.c
    constantsTouched: []
    func_position:
      end: 62
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 62
    functionName: vlc_egl_display_New
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_display.c
    functionUses: 1
    functionsReached:
    - assert
    - vlc_object_create
    - free
    - vlc_object_delete
    - open
    - vlc_module_match
    - vlc_module_map
    linkageType: ''
    returnType: struct vlc_egl_display
    signature: 'struct vlc_egl_display *

      vlc_egl_display_New(vlc_object_t *parent, const char *name)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct vlc_egl_display*::ops::close
      Src: /src/vlc/modules/video_output/opengl/egl_display.c:67,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/video_output/opengl/egl_display.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - display
    argTypes:
    - struct vlc_egl_display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: vlc_egl_display_Delete
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_display.c
    functionUses: 3
    functionsReached:
    - struct vlc_egl_display*::ops::close
    - vlc_object_delete
    linkageType: ''
    returnType: void
    signature: void vlc_egl_display_Delete(struct vlc_egl_display *display)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: add_glopts
    functionSourceFile: /src/vlc/modules/video_output/opengl/vout_helper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: add_glopts()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pl_tex_destroy
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - gpu
    - count
    - textures
    argTypes:
    - pl_gpu
    - unsigned
    - pl_tex[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: DestroyTextures
    functionSourceFile: /src/vlc/modules/video_output/opengl/pl_scale.c
    functionUses: 0
    functionsReached:
    - pl_tex_destroy
    linkageType: ''
    returnType: void
    signature: void DestroyTextures(pl_gpu gpu, unsigned count, pl_tex textures[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pl_opengl_wrap
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:96,1
    - Dst: DestroyTextures
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 7
    argNames:
    - gpu
    - count
    - textures
    - tex_widths
    - tex_heights
    - tex_target
    - out
    argTypes:
    - pl_gpu
    - unsigned
    - GLuint[]
    - uint32_t[]
    - uint32_t[]
    - GLenum
    - pl_tex[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 106
    functionName: WrapTextures
    functionSourceFile: /src/vlc/modules/video_output/opengl/pl_scale.c
    functionUses: 0
    functionsReached:
    - pl_opengl_wrap
    - DestroyTextures
    linkageType: ''
    returnType: int
    signature: "int WrapTextures(pl_gpu gpu, unsigned count, const GLuint textures[],\n
      \            const uint32_t tex_widths[], const uint32_t tex_heights[],\n             GLenum
      tex_target, pl_tex out[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pl_opengl_wrap
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - gpu
    - framebuffer
    - width
    - height
    argTypes:
    - pl_gpu
    - GLuint
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: WrapFramebuffer
    functionSourceFile: /src/vlc/modules/video_output/opengl/pl_scale.c
    functionUses: 0
    functionsReached:
    - pl_opengl_wrap
    linkageType: ''
    returnType: pl_tex
    signature: pl_tex WrapFramebuffer(pl_gpu gpu, GLuint framebuffer, unsigned width,
      unsigned height)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:141,1
    - Dst: vlc_gl_picture_ToTexCoords
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:163,1
    - Dst: vlc_placebo_DoviMetadata
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:175,1
    - Dst: pl_hdr_rescale
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:178,1
    - Dst: pl_hdr_rescale
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:180,1
    - Dst: opengl_vtable_t*::GetIntegerv
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:185,1
    - Dst: WrapTextures
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:189,1
    - Dst: WrapFramebuffer
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:199,1
    - Dst: pl_render_image
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:206,1
    - Dst: DestroyTextures
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:211,1
    - Dst: DestroyTextures
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:213,1
    - Dst: opengl_vtable_t*::BindFramebuffer
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:216,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - filter
    - pic
    - meta
    argTypes:
    - struct vlc_gl_filter*
    - struct vlc_gl_picture*
    - struct vlc_gl_input_meta*
    assertStmts:
    - condition: ((!mtx[1] && !mtx[2]) || (!mtx[0] && !mtx[3]))
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/vlc/modules/video_output/opengl/pl_scale.c
    constantsTouched: []
    func_position:
      end: 219
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 219
    functionName: Draw
    functionSourceFile: /src/vlc/modules/video_output/opengl/pl_scale.c
    functionUses: 5
    functionsReached:
    - assert
    - DestroyTextures
    - pl_hdr_rescale
    - pl_render_image
    - WrapFramebuffer
    - vlc_gl_picture_ToTexCoords
    - opengl_vtable_t*::BindFramebuffer
    - opengl_vtable_t*::GetIntegerv
    - WrapTextures
    - vlc_placebo_DoviMetadata
    linkageType: ''
    returnType: int
    signature: "int Draw(struct vlc_gl_filter *filter, const struct vlc_gl_picture
      *pic,\n     const struct vlc_gl_input_meta *meta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - filter
    - req
    - optimal_in
    argTypes:
    - struct vlc_gl_filter*
    - struct vlc_gl_tex_size*
    - struct vlc_gl_tex_size*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: RequestOutputSize
    functionSourceFile: /src/vlc/modules/video_output/opengl/pl_scale.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int RequestOutputSize(struct vlc_gl_filter *filter,\n                  struct
      vlc_gl_tex_size *req,\n                  struct vlc_gl_tex_size *optimal_in)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pl_renderer_destroy
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:242,1
    - Dst: pl_opengl_destroy
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:243,1
    - Dst: pl_log_destroy
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:244,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - filter
    argTypes:
    - struct vlc_gl_filter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 247
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/opengl/pl_scale.c
    functionUses: 167
    functionsReached:
    - pl_renderer_destroy
    - pl_opengl_destroy
    - free
    - pl_log_destroy
    linkageType: ''
    returnType: void
    signature: void Close(struct vlc_gl_filter *filter)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:261,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:262,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:263,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:265,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:268,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:272,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:275,1
    - Dst: calloc
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:279,1
    - Dst: vlc_gl_api_Init
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:283,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:286,1
    - Dst: vlc_placebo_CreateLog
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:290,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:290,1
    - Dst: pl_opengl_create
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:295,1
    - Dst: pl_renderer_create
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:301,1
    - Dst: vlc_placebo_ColorRepr
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:307,1
    - Dst: vlc_placebo_ColorSpace
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:308,1
    - Dst: vlc_placebo_PlaneComponents
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:320,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:322,1
    - Dst: pl_renderer_destroy
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:363,1
    - Dst: pl_opengl_destroy
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:364,1
    - Dst: pl_log_destroy
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:365,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/pl_scale.c:366,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 4
    argNames:
    - filter
    - config
    - sampler
    - size_out
    argTypes:
    - struct vlc_gl_filter*
    - config_chain_t*
    - struct vlc_gl_sampler*
    - struct vlc_gl_tex_size*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 369
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/opengl/pl_scale.c
    functionUses: 65
    functionsReached:
    - pl_renderer_destroy
    - vlc_placebo_CreateLog
    - pl_opengl_create
    - ARRAY_SIZE
    - vlc_placebo_ColorRepr
    - var_InheritInteger
    - pl_opengl_destroy
    - vlc_gl_api_Init
    - msg_Err
    - calloc
    - config_ChainParse
    - free
    - vlc_placebo_ColorSpace
    - VLC_OBJECT
    - pl_renderer_create
    - pl_log_destroy
    - vlc_placebo_PlaneComponents
    linkageType: ''
    returnType: int
    signature: "int Open(struct vlc_gl_filter *filter, const config_chain_t *config,\n
      \    struct vlc_gl_sampler *sampler, struct vlc_gl_tex_size *size_out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 77
    functionName: OPENGL_VTABLE_F
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_sw.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPENGL_VTABLE_F(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: DECLARE_SYMBOL
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_sw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_SYMBOL(type, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: picture_sys_t*::DeleteBuffers
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:88,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pic
    argTypes:
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: pbo_picture_destroy
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_sw.c
    functionUses: 0
    functionsReached:
    - picture_sys_t*::DeleteBuffers
    - free
    linkageType: ''
    returnType: void
    signature: void pbo_picture_destroy(picture_t *pic)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:97,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:98,1
    - Dst: picture_NewFromResource
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:105,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:108,1
    - Dst: struct priv*::gl::GenBuffers
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:112,1
    - Dst: picture_Setup
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:116,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:118,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:122,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:132,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - interop
    argTypes:
    - struct vlc_gl_interop*
    assertStmts:
    - condition: "(pic->i_planes > 0\n        && (unsigned) pic->i_planes <= interop->tex_count)"
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/vlc/modules/video_output/opengl/interop_sw.c
    constantsTouched: []
    func_position:
      end: 138
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 138
    functionName: pbo_picture_create
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_sw.c
    functionUses: 0
    functionsReached:
    - picture_NewFromResource
    - assert
    - calloc
    - struct priv*::gl::GenBuffers
    - free
    - picture_Release
    - picture_Setup
    - unlikely
    linkageType: ''
    returnType: picture_t
    signature: 'picture_t *

      pbo_picture_create(const struct vlc_gl_interop *interop)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct priv*::gl::GetError
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:146,1
    - Dst: struct priv*::gl::BindBuffer
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:150,1
    - Dst: struct priv*::gl::BufferData
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:151,1
    - Dst: struct priv*::gl::GetError
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:154,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:156,1
    - Dst: struct priv*::gl::DeleteBuffers
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - interop
    - pic
    argTypes:
    - struct vlc_gl_interop*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 162
    functionName: pbo_data_alloc
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_sw.c
    functionUses: 0
    functionsReached:
    - struct priv*::gl::BindBuffer
    - msg_Err
    - struct priv*::gl::BufferData
    - struct priv*::gl::GetError
    - struct priv*::gl::DeleteBuffers
    linkageType: ''
    returnType: int
    signature: int pbo_data_alloc(const struct vlc_gl_interop *interop, picture_t
      *pic)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pbo_picture_create
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:171,1
    - Dst: pbo_data_alloc
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:175,1
    - Dst: struct priv*::gl::BindBuffer
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:180,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:185,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - interop
    argTypes:
    - struct vlc_gl_interop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 187
    functionName: pbo_pics_alloc
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_sw.c
    functionUses: 0
    functionsReached:
    - pbo_data_alloc
    - picture_Release
    - pbo_picture_create
    - struct priv*::gl::BindBuffer
    linkageType: ''
    returnType: int
    signature: int pbo_pics_alloc(const struct vlc_gl_interop *interop)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:194,1
    - Dst: struct priv*::gl::BindBuffer
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:205,1
    - Dst: struct priv*::gl::BufferSubData
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:207,1
    - Dst: struct priv*::gl::ActiveTexture
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:209,1
    - Dst: struct priv*::gl::BindTexture
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:210,1
    - Dst: struct priv*::gl::PixelStorei
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:214,1
    - Dst: struct priv*::gl::PixelStorei
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:216,1
    - Dst: struct priv*::gl::TexSubImage2D
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:218,1
    - Dst: struct priv*::gl::PixelStorei
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:220,1
    - Dst: struct priv*::gl::ActiveTexture
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:226,1
    - Dst: struct priv*::gl::BindTexture
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:227,1
    - Dst: struct priv*::gl::PixelStorei
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:228,1
    - Dst: struct priv*::gl::TexSubImage2D
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:229,1
    - Dst: struct priv*::gl::PixelStorei
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:231,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:233,1
    - Dst: struct priv*::gl::BindBuffer
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:236,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 6
    argNames:
    - interop
    - textures
    - tex_width
    - tex_height
    - pic
    - plane_offset
    argTypes:
    - struct vlc_gl_interop*
    - uint32_t[]
    - int32_t[]
    - int32_t[]
    - picture_t*
    - size_t*
    assertStmts:
    - condition: (plane_offset == NULL)
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/vlc/modules/video_output/opengl/interop_sw.c
    constantsTouched: []
    func_position:
      end: 239
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 239
    functionName: tc_pbo_update
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_sw.c
    functionUses: 0
    functionsReached:
    - struct priv*::gl::BufferSubData
    - assert
    - struct priv*::gl::BindTexture
    - struct priv*::gl::TexSubImage2D
    - struct priv*::gl::PixelStorei
    - struct priv*::gl::BindBuffer
    - struct priv*::gl::ActiveTexture
    - GL_ASSERT_NOERROR
    linkageType: ''
    returnType: int
    signature: "int tc_pbo_update(const struct vlc_gl_interop *interop, uint32_t textures[],\n
      \             const int32_t tex_width[], const int32_t tex_height[],\n              picture_t
      *pic, const size_t *plane_offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct priv*::gl::BindTexture
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:248,1
    - Dst: struct priv*::gl::TexImage2D
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:249,1
    - Dst: struct priv*::gl::TexParameteri
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:257,1
    - Dst: struct priv*::gl::TexParameteri
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:258,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - interop
    - textures
    - tex_width
    - tex_height
    argTypes:
    - struct vlc_gl_interop*
    - uint32_t[]
    - int32_t[]
    - int32_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 263
    functionName: tc_common_allocate_textures
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_sw.c
    functionUses: 0
    functionsReached:
    - struct priv*::gl::TexParameteri
    - struct priv*::gl::BindTexture
    - GL_ASSERT_NOERROR
    - struct priv*::gl::TexImage2D
    linkageType: ''
    returnType: int
    signature: "int tc_common_allocate_textures(const struct vlc_gl_interop *interop,
      uint32_t textures[],\n                            const int32_t tex_width[],
      const int32_t tex_height[])"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: struct priv*::gl::PixelStorei
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:275,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:277,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:278,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:279,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:280,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:281,1
    - Dst: vlc_align
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:289,1
    - Dst: realloc_or_free
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:296,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:308,1
    - Dst: struct priv*::gl::TexSubImage2D
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:312,1
    - Dst: struct priv*::gl::TexSubImage2D
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:317,1
    - Dst: struct priv*::gl::PixelStorei
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:323,1
    - Dst: struct priv*::gl::TexSubImage2D
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:325,1
    - Dst: struct priv*::gl::PixelStorei
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:327,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:330,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 8
    argNames:
    - interop
    - tex_idx
    - width
    - height
    - pitch
    - pixel_size
    - pixels
    - pixel_pack
    argTypes:
    - struct vlc_gl_interop*
    - unsigned
    - int32_t
    - int32_t
    - size_t
    - size_t
    - void*
    - unsigned
    assertStmts:
    - condition: (height > 0)
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/vlc/modules/video_output/opengl/interop_sw.c
    - condition: (pitch % pixel_size == 0)
      pos:
        line_end: 279
        line_start: 279
        source_file: /src/vlc/modules/video_output/opengl/interop_sw.c
    - condition: (width > 0)
      pos:
        line_end: 277
        line_start: 277
        source_file: /src/vlc/modules/video_output/opengl/interop_sw.c
    - condition: (pixel_size)
      pos:
        line_end: 278
        line_start: 278
        source_file: /src/vlc/modules/video_output/opengl/interop_sw.c
    - condition: ((size_t) width * pixel_size <= pitch)
      pos:
        line_end: 280
        line_start: 280
        source_file: /src/vlc/modules/video_output/opengl/interop_sw.c
    constantsTouched: []
    func_position:
      end: 333
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 333
    functionName: upload_plane
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_sw.c
    functionUses: 0
    functionsReached:
    - vlc_align
    - assert
    - struct priv*::gl::TexSubImage2D
    - struct priv*::gl::PixelStorei
    - memcpy
    - GL_ASSERT_NOERROR
    - realloc_or_free
    linkageType: ''
    returnType: int
    signature: "int upload_plane(const struct vlc_gl_interop *interop, unsigned tex_idx,\n
      \            int32_t width, int32_t height, size_t pitch, size_t pixel_size,\n
      \            const void *pixels, unsigned pixel_pack)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:344,1
    - Dst: struct priv*::gl::ActiveTexture
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:345,1
    - Dst: struct priv*::gl::BindTexture
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:346,1
    - Dst: upload_plane
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:353,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:360,1
    - Dst: struct priv*::gl::ActiveTexture
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:361,1
    - Dst: struct priv*::gl::BindTexture
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:362,1
    - Dst: upload_plane
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:367,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 6
    argNames:
    - interop
    - textures
    - tex_width
    - tex_height
    - pic
    - plane_offset
    argTypes:
    - struct vlc_gl_interop*
    - uint32_t[]
    - int32_t[]
    - int32_t[]
    - picture_t*
    - size_t*
    assertStmts:
    - condition: (textures[i] != 0)
      pos:
        line_end: 343
        line_start: 343
        source_file: /src/vlc/modules/video_output/opengl/interop_sw.c
    - condition: (textures[1] != 0)
      pos:
        line_end: 359
        line_start: 359
        source_file: /src/vlc/modules/video_output/opengl/interop_sw.c
    constantsTouched: []
    func_position:
      end: 372
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 372
    functionName: tc_common_update
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_sw.c
    functionUses: 0
    functionsReached:
    - assert
    - struct priv*::gl::BindTexture
    - struct priv*::gl::ActiveTexture
    - upload_plane
    linkageType: ''
    returnType: int
    signature: "int tc_common_update(const struct vlc_gl_interop *interop, uint32_t
      textures[],\n                 const int32_t tex_width[], const int32_t tex_height[],\n
      \                picture_t *pic, const size_t *plane_offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - vlc_rational_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 380
    functionName: DivideRationalByTwo
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_sw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DivideRationalByTwo(vlc_rational_t *r)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:404,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:415,1
    - Dst: vlc_gl_interop_GetTexFormatSize
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:421,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:426,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:435,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:442,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:450,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:455,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:463,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:471,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:479,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:484,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:492,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:497,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:504,1
    - Dst: vlc_gl_interop_GetTexFormatSize
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:508,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 98
    argCount: 5
    argNames:
    - interop
    - pixel_size
    - intfmt
    - fmt
    - type
    argTypes:
    - struct vlc_gl_interop*
    - unsigned
    - GLint*
    - GLint*
    - GLint*
    assertStmts:
    - condition: (gl3 || gl2 || gles3 || gles2)
      pos:
        line_end: 403
        line_start: 403
        source_file: /src/vlc/modules/video_output/opengl/interop_sw.c
    - condition: (gl3 || (gl2 && priv->has_texture_rg))
      pos:
        line_end: 503
        line_start: 503
        source_file: /src/vlc/modules/video_output/opengl/interop_sw.c
    constantsTouched: []
    func_position:
      end: 512
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 512
    functionName: fixGLFormat
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_sw.c
    functionUses: 0
    functionsReached:
    - assert
    - msg_Dbg
    - vlc_gl_interop_GetTexFormatSize
    - vlc_assert_unreachable
    linkageType: ''
    returnType: bool
    signature: "bool fixGLFormat(struct vlc_gl_interop *interop, unsigned pixel_size,\n
      \                       GLint* intfmt, GLint* fmt, GLint *type)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:553,1
    - Dst: fixGLFormat
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:564,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:589,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:604,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:604,1
    - Dst: fixGLFormat
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:611,1
    - Dst: fixGLFormat
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:618,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:622,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:623,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:625,1
    - Dst: DivideRationalByTwo
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:666,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 59
    argCount: 2
    argNames:
    - interop
    - desc
    argTypes:
    - struct vlc_gl_interop*
    - vlc_chroma_description_t*
    assertStmts:
    - condition: (format_index < ARRAY_SIZE(formats))
      pos:
        line_end: 603
        line_start: 603
        source_file: /src/vlc/modules/video_output/opengl/interop_sw.c
    constantsTouched: []
    func_position:
      end: 670
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 670
    functionName: interop_yuv_base_init
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_sw.c
    functionUses: 0
    functionsReached:
    - DivideRationalByTwo
    - assert
    - ARRAY_SIZE
    - vlc_assert_unreachable
    - fixGLFormat
    - msg_Dbg
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: "int interop_yuv_base_init(struct vlc_gl_interop *interop,\n                      const
      vlc_chroma_description_t *desc)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_interop_GetTexFormatSize
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:696,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - interop
    - chroma
    argTypes:
    - struct vlc_gl_interop*
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 709
    functionName: interop_rgb_base_init
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_sw.c
    functionUses: 0
    functionsReached:
    - vlc_gl_interop_GetTexFormatSize
    linkageType: ''
    returnType: int
    signature: int interop_rgb_base_init(struct vlc_gl_interop *interop, vlc_fourcc_t
      chroma)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - interop
    argTypes:
    - struct vlc_gl_interop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 719
    functionName: interop_xyz12_init
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_sw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void interop_xyz12_init(struct vlc_gl_interop *interop)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:726,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:730,1
    - Dst: interop_xyz12_init
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:738,1
    - Dst: vlc_fourcc_IsYUV
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:742,1
    - Dst: interop_yuv_base_init
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:743,1
    - Dst: interop_rgb_base_init
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:745,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - interop
    - chroma
    - yuv_space
    argTypes:
    - struct vlc_gl_interop*
    - vlc_fourcc_t
    - video_color_space_t
    assertStmts:
    - condition: (!interop->fmt_out.p_palette)
      pos:
        line_end: 729
        line_start: 729
        source_file: /src/vlc/modules/video_output/opengl/interop_sw.c
    constantsTouched: []
    func_position:
      end: 746
      start: 721
    functionDepth: 3
    functionLinenumber: 721
    functionLinenumberEnd: 746
    functionName: opengl_interop_init
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_sw.c
    functionUses: 0
    functionsReached:
    - assert
    - interop_yuv_base_init
    - vlc_fourcc_IsYUV
    - interop_xyz12_init
    - vlc_fourcc_GetChromaDescription
    - interop_rgb_base_init
    linkageType: ''
    returnType: int
    signature: "int opengl_interop_init(struct vlc_gl_interop *interop,\n                    vlc_fourcc_t
      chroma, video_color_space_t yuv_space)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: picture_Release
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:753,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:754,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:755,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - interop
    argTypes:
    - struct vlc_gl_interop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 756
    functionName: opengl_interop_generic_deinit
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_sw.c
    functionUses: 0
    functionsReached:
    - free
    - picture_Release
    linkageType: ''
    returnType: void
    signature: void opengl_interop_generic_deinit(struct vlc_gl_interop *interop)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:762,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:763,1
    - Dst: OPENGL_VTABLE_F
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:772,1
    - Dst: vlc_gl_LoadExtensionFunctions
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:775,1
    - Dst: vlc_gl_HasExtension
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:779,1
    - Dst: vlc_gl_GetVersionMajor
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:782,1
    - Dst: vlc_gl_HasExtension
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:786,1
    - Dst: vlc_gl_HasExtension
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:788,1
    - Dst: vlc_gl_HasExtension
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:792,1
    - Dst: vlc_fourcc_IsYUV
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:795,1
    - Dst: struct priv*::gl::GetIntegerv
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:800,1
    - Dst: video_format_TransformBy
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:810,1
    - Dst: opengl_interop_init
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:814,1
    - Dst: opengl_interop_init
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:821,1
    - Dst: vlc_fourcc_GetYUVFallback
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:828,1
    - Dst: vlc_fourcc_GetRGBFallback
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:830,1
    - Dst: opengl_interop_init
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:838,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:842,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:849,1
    - Dst: struct priv*::gl::GetString
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:880,1
    - Dst: strverscmp
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:881,1
    - Dst: vlc_gl_HasExtension
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:884,1
    - Dst: vlc_gl_HasExtension
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:885,1
    - Dst: pbo_pics_alloc
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:889,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:897,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:904,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 73
    argCount: 2
    argNames:
    - interop
    - allow_dr
    argTypes:
    - struct vlc_gl_interop*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 758
    functionDepth: 4
    functionLinenumber: 758
    functionLinenumberEnd: 907
    functionName: opengl_interop_generic_init
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_sw.c
    functionUses: 0
    functionsReached:
    - vlc_gl_GetVersionMajor
    - OPENGL_VTABLE_F
    - vlc_fourcc_GetYUVFallback
    - vlc_fourcc_GetRGBFallback
    - struct priv*::gl::GetString
    - video_format_TransformBy
    - calloc
    - vlc_gl_HasExtension
    - struct priv*::gl::GetIntegerv
    - vlc_fourcc_IsYUV
    - free
    - msg_Warn
    - strverscmp
    - vlc_gl_LoadExtensionFunctions
    - pbo_pics_alloc
    - msg_Dbg
    - opengl_interop_init
    - unlikely
    linkageType: ''
    returnType: int
    signature: int opengl_interop_generic_init(struct vlc_gl_interop *interop, bool
      allow_dr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 771
    functionName: LOAD_SYMBOL
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_sw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD_SYMBOL(type, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: opengl_interop_generic_init
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interop
    argTypes:
    - struct vlc_gl_interop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 909
    functionDepth: 5
    functionLinenumber: 909
    functionLinenumberEnd: 912
    functionName: OpenInteropSW
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_sw.c
    functionUses: 0
    functionsReached:
    - opengl_interop_generic_init
    linkageType: ''
    returnType: int
    signature: int OpenInteropSW(struct vlc_gl_interop *interop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: opengl_interop_generic_init
      Src: /src/vlc/modules/video_output/opengl/interop_sw.c:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interop
    argTypes:
    - struct vlc_gl_interop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 914
    functionDepth: 5
    functionLinenumber: 914
    functionLinenumberEnd: 917
    functionName: OpenInteropDirectRendering
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_sw.c
    functionUses: 0
    functionsReached:
    - opengl_interop_generic_init
    linkageType: ''
    returnType: int
    signature: int OpenInteropDirectRendering(struct vlc_gl_interop *interop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 111
    functionName: add_glscale_opts
    functionSourceFile: /src/vlc/modules/video_output/opengl/gl_scale.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: add_glscale_opts()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/opengl/renderer.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - zoom
    - matrix
    argTypes:
    - float
    - GLfloat[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: getZoomMatrix
    functionSourceFile: /src/vlc/modules/video_output/opengl/renderer.c
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void getZoomMatrix(float zoom, GLfloat matrix[static 16])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tanf
      Src: /src/vlc/modules/video_output/opengl/renderer.c:68,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/opengl/renderer.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sar
    - fovy
    - matrix
    argTypes:
    - float
    - float
    - GLfloat[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 77
    functionName: getProjectionMatrix
    functionSourceFile: /src/vlc/modules/video_output/opengl/renderer.c
    functionUses: 1
    functionsReached:
    - memcpy
    - tanf
    linkageType: ''
    returnType: void
    signature: void getProjectionMatrix(float sar, float fovy, GLfloat matrix[static
      16])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getProjectionMatrix
      Src: /src/vlc/modules/video_output/opengl/renderer.c:86,1
    - Dst: getZoomMatrix
      Src: /src/vlc/modules/video_output/opengl/renderer.c:88,1
    - Dst: vlc_viewpoint_to_4x4
      Src: /src/vlc/modules/video_output/opengl/renderer.c:91,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/opengl/renderer.c:95,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/opengl/renderer.c:97,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/opengl/renderer.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - renderer
    - projection_mode
    argTypes:
    - struct vlc_gl_renderer*
    - video_projection_mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 103
    functionName: getViewpointMatrixes
    functionSourceFile: /src/vlc/modules/video_output/opengl/renderer.c
    functionUses: 0
    functionsReached:
    - vlc_viewpoint_to_4x4
    - getZoomMatrix
    - memcpy
    - getProjectionMatrix
    linkageType: ''
    returnType: void
    signature: "void getViewpointMatrixes(struct vlc_gl_renderer *renderer,\n                                 video_projection_mode_t
      projection_mode)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/opengl/renderer.c:118,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/renderer.c:125,1
    - Dst: COL
      Src: /src/vlc/modules/video_output/opengl/renderer.c:146,1
    - Dst: ROW
      Src: /src/vlc/modules/video_output/opengl/renderer.c:146,1
    - Dst: COL
      Src: /src/vlc/modules/video_output/opengl/renderer.c:148,1
    - Dst: ROW
      Src: /src/vlc/modules/video_output/opengl/renderer.c:148,1
    - Dst: COL
      Src: /src/vlc/modules/video_output/opengl/renderer.c:171,1
    - Dst: ROW
      Src: /src/vlc/modules/video_output/opengl/renderer.c:171,1
    - Dst: COL
      Src: /src/vlc/modules/video_output/opengl/renderer.c:173,1
    - Dst: ROW
      Src: /src/vlc/modules/video_output/opengl/renderer.c:173,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - matrix_out
    - stereo_mode
    - multiview_mode
    argTypes:
    - GLfloat[]
    - vlc_stereoscopic_mode_t
    - video_multiview_mode_t
    assertStmts:
    - condition: "(stereo_mode == VIDEO_STEREO_OUTPUT_LEFT_ONLY ||\n           stereo_mode
        == VIDEO_STEREO_OUTPUT_RIGHT_ONLY)"
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/vlc/modules/video_output/opengl/renderer.c
    constantsTouched: []
    func_position:
      end: 180
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 180
    functionName: InitStereoMatrix
    functionSourceFile: /src/vlc/modules/video_output/opengl/renderer.c
    functionUses: 0
    functionsReached:
    - COL
    - assert
    - memcpy
    - ROW
    linkageType: ''
    returnType: void
    signature: "void InitStereoMatrix(GLfloat matrix_out[static 3*3],\n                 vlc_stereoscopic_mode_t
      stereo_mode,\n                 video_multiview_mode_t multiview_mode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: COL
    functionSourceFile: /src/vlc/modules/video_output/opengl/renderer.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: ROW
    functionSourceFile: /src/vlc/modules/video_output/opengl/renderer.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROW(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/renderer.c:240,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/opengl/renderer.c:242,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/renderer.c:243,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/renderer.c:245,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/opengl/renderer.c:248,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/renderer.c:249,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/renderer.c:252,1
    - Dst: vlc_gl_BuildProgram
      Src: /src/vlc/modules/video_output/opengl/renderer.c:257,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/opengl/renderer.c:257,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/opengl/renderer.c:258,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/opengl/renderer.c:259,1
    - Dst: GET_ULOC
      Src: /src/vlc/modules/video_output/opengl/renderer.c:274,1
    - Dst: GET_ULOC
      Src: /src/vlc/modules/video_output/opengl/renderer.c:275,1
    - Dst: GET_ULOC
      Src: /src/vlc/modules/video_output/opengl/renderer.c:276,1
    - Dst: GET_ULOC
      Src: /src/vlc/modules/video_output/opengl/renderer.c:277,1
    - Dst: GET_ULOC
      Src: /src/vlc/modules/video_output/opengl/renderer.c:278,1
    - Dst: GET_ALOC
      Src: /src/vlc/modules/video_output/opengl/renderer.c:280,1
    - Dst: GET_ALOC
      Src: /src/vlc/modules/video_output/opengl/renderer.c:281,1
    - Dst: vlc_gl_sampler_FetchLocations
      Src: /src/vlc/modules/video_output/opengl/renderer.c:286,1
    - Dst: opengl_vtable_t*::DeleteProgram
      Src: /src/vlc/modules/video_output/opengl/renderer.c:293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - filter
    argTypes:
    - struct vlc_gl_filter*
    assertStmts:
    - condition: "(sampler->ops &&\n           sampler->ops->fetch_locations &&\n
        \          sampler->ops->load)"
      pos:
        line_end: 253
        line_start: 251
        source_file: /src/vlc/modules/video_output/opengl/renderer.c
    constantsTouched: []
    func_position:
      end: 296
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 296
    functionName: opengl_link_program
    functionSourceFile: /src/vlc/modules/video_output/opengl/renderer.c
    functionUses: 0
    functionsReached:
    - GET_ULOC
    - assert
    - ARRAY_SIZE
    - msg_Dbg
    - VLC_OBJECT
    - GET_ALOC
    - vlc_gl_sampler_FetchLocations
    - vlc_gl_BuildProgram
    - opengl_vtable_t*::DeleteProgram
    linkageType: ''
    returnType: int
    signature: int opengl_link_program(struct vlc_gl_filter *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - x
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 272
    functionName: GET_LOC
    functionSourceFile: /src/vlc/modules/video_output/opengl/renderer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_LOC(type, x, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 273
    functionName: GET_ULOC
    functionSourceFile: /src/vlc/modules/video_output/opengl/renderer.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_ULOC(x, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 274
    functionName: GET_ALOC
    functionSourceFile: /src/vlc/modules/video_output/opengl/renderer.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_ALOC(x, str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: opengl_vtable_t*::DeleteBuffers
      Src: /src/vlc/modules/video_output/opengl/renderer.c:304,1
    - Dst: opengl_vtable_t*::DeleteBuffers
      Src: /src/vlc/modules/video_output/opengl/renderer.c:305,1
    - Dst: opengl_vtable_t*::DeleteBuffers
      Src: /src/vlc/modules/video_output/opengl/renderer.c:306,1
    - Dst: opengl_vtable_t*::DeleteVertexArrays
      Src: /src/vlc/modules/video_output/opengl/renderer.c:307,1
    - Dst: opengl_vtable_t*::DeleteProgram
      Src: /src/vlc/modules/video_output/opengl/renderer.c:310,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/renderer.c:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - filter
    argTypes:
    - struct vlc_gl_filter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 313
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/opengl/renderer.c
    functionUses: 167
    functionsReached:
    - opengl_vtable_t*::DeleteVertexArrays
    - opengl_vtable_t*::DeleteBuffers
    - free
    - opengl_vtable_t*::DeleteProgram
    linkageType: ''
    returnType: void
    signature: void Close(struct vlc_gl_filter *filter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tanf
      Src: /src/vlc/modules/video_output/opengl/renderer.c:320,1
    - Dst: tanf
      Src: /src/vlc/modules/video_output/opengl/renderer.c:321,1
    - Dst: sinf
      Src: /src/vlc/modules/video_output/opengl/renderer.c:322,1
    - Dst: atanf
      Src: /src/vlc/modules/video_output/opengl/renderer.c:322,1
    - Dst: sqrtf
      Src: /src/vlc/modules/video_output/opengl/renderer.c:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - renderer
    argTypes:
    - struct vlc_gl_renderer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 337
    functionName: UpdateZ
    functionSourceFile: /src/vlc/modules/video_output/opengl/renderer.c
    functionUses: 1
    functionsReached:
    - sqrtf
    - tanf
    - atanf
    - sinf
    linkageType: ''
    returnType: void
    signature: void UpdateZ(struct vlc_gl_renderer *renderer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atanf
      Src: /src/vlc/modules/video_output/opengl/renderer.c:341,1
    - Dst: tanf
      Src: /src/vlc/modules/video_output/opengl/renderer.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - renderer
    argTypes:
    - struct vlc_gl_renderer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 342
    functionName: UpdateFOVy
    functionSourceFile: /src/vlc/modules/video_output/opengl/renderer.c
    functionUses: 1
    functionsReached:
    - tanf
    - atanf
    linkageType: ''
    returnType: void
    signature: void UpdateFOVy(struct vlc_gl_renderer *renderer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fabsf
      Src: /src/vlc/modules/video_output/opengl/renderer.c:358,1
    - Dst: UpdateFOVy
      Src: /src/vlc/modules/video_output/opengl/renderer.c:362,1
    - Dst: UpdateZ
      Src: /src/vlc/modules/video_output/opengl/renderer.c:363,1
    - Dst: getViewpointMatrixes
      Src: /src/vlc/modules/video_output/opengl/renderer.c:365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - renderer
    - p_vp
    argTypes:
    - struct vlc_gl_renderer*
    - vlc_viewpoint_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 368
    functionName: vlc_gl_renderer_SetViewpoint
    functionSourceFile: /src/vlc/modules/video_output/opengl/renderer.c
    functionUses: 0
    functionsReached:
    - UpdateFOVy
    - getViewpointMatrixes
    - UpdateZ
    - fabsf
    linkageType: ''
    returnType: int
    signature: "int vlc_gl_renderer_SetViewpoint(struct vlc_gl_renderer *renderer,\n
      \                            const vlc_viewpoint_t *p_vp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UpdateFOVy
      Src: /src/vlc/modules/video_output/opengl/renderer.c:382,1
    - Dst: UpdateZ
      Src: /src/vlc/modules/video_output/opengl/renderer.c:383,1
    - Dst: getViewpointMatrixes
      Src: /src/vlc/modules/video_output/opengl/renderer.c:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - renderer
    - width
    - height
    argTypes:
    - struct vlc_gl_renderer*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 386
    functionName: vlc_gl_renderer_SetOutputSize
    functionSourceFile: /src/vlc/modules/video_output/opengl/renderer.c
    functionUses: 0
    functionsReached:
    - UpdateFOVy
    - UpdateZ
    - getViewpointMatrixes
    linkageType: ''
    returnType: void
    signature: "void vlc_gl_renderer_SetOutputSize(struct vlc_gl_renderer *renderer,
      unsigned width,\n                              unsigned height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_renderer_SetOutputSize
      Src: /src/vlc/modules/video_output/opengl/renderer.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - filter
    - req
    - optimal_in
    argTypes:
    - struct vlc_gl_filter*
    - struct vlc_gl_tex_size*
    - struct vlc_gl_tex_size*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 388
    functionDepth: 3
    functionLinenumber: 388
    functionLinenumberEnd: 403
    functionName: RequestOutputSize
    functionSourceFile: /src/vlc/modules/video_output/opengl/renderer.c
    functionUses: 0
    functionsReached:
    - vlc_gl_renderer_SetOutputSize
    linkageType: ''
    returnType: int
    signature: "int RequestOutputSize(struct vlc_gl_filter *filter,\n                  struct
      vlc_gl_tex_size *req,\n                  struct vlc_gl_tex_size *optimal_in)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_output/opengl/renderer.c:414,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_output/opengl/renderer.c:417,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/renderer.c:420,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_output/opengl/renderer.c:423,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/renderer.c:426,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/renderer.c:427,1
    - Dst: sincosf
      Src: /src/vlc/modules/video_output/opengl/renderer.c:435,1
    - Dst: sincosf
      Src: /src/vlc/modules/video_output/opengl/renderer.c:441,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 5
    argNames:
    - vertexCoord
    - textureCoord
    - nbVertices
    - indices
    - nbIndices
    argTypes:
    - GLfloat**
    - GLfloat**
    - unsigned*
    - GLushort**
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 491
    functionName: BuildSphere
    functionSourceFile: /src/vlc/modules/video_output/opengl/renderer.c
    functionUses: 0
    functionsReached:
    - free
    - sincosf
    - vlc_alloc
    linkageType: ''
    returnType: int
    signature: "int BuildSphere(GLfloat **vertexCoord, GLfloat **textureCoord, unsigned
      *nbVertices,\n                       GLushort **indices, unsigned *nbIndices)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_output/opengl/renderer.c:505,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_output/opengl/renderer.c:509,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_output/opengl/renderer.c:513,1
    - Dst: CUBEFACE
      Src: /src/vlc/modules/video_output/opengl/renderer.c:528,1
    - Dst: CUBEFACE
      Src: /src/vlc/modules/video_output/opengl/renderer.c:529,1
    - Dst: CUBEFACE
      Src: /src/vlc/modules/video_output/opengl/renderer.c:530,1
    - Dst: CUBEFACE
      Src: /src/vlc/modules/video_output/opengl/renderer.c:531,1
    - Dst: CUBEFACE
      Src: /src/vlc/modules/video_output/opengl/renderer.c:532,1
    - Dst: CUBEFACE
      Src: /src/vlc/modules/video_output/opengl/renderer.c:533,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/opengl/renderer.c:541,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/opengl/renderer.c:578,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/opengl/renderer.c:590,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/renderer.c:595,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/renderer.c:596,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 7
    argNames:
    - padW
    - padH
    - vertexCoord
    - textureCoord
    - nbVertices
    - indices
    - nbIndices
    argTypes:
    - float
    - float
    - GLfloat**
    - GLfloat**
    - unsigned*
    - GLushort**
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 598
    functionName: BuildCube
    functionSourceFile: /src/vlc/modules/video_output/opengl/renderer.c
    functionUses: 0
    functionsReached:
    - free
    - memcpy
    - vlc_alloc
    - CUBEFACE
    linkageType: ''
    returnType: int
    signature: "int BuildCube(float padW, float padH,\n                     GLfloat
      **vertexCoord, GLfloat **textureCoord, unsigned *nbVertices,\n                     GLushort
      **indices, unsigned *nbIndices)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - swap
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 522
    functionName: CUBEFACE
    functionSourceFile: /src/vlc/modules/video_output/opengl/renderer.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CUBEFACE(swap, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - v
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 524
    functionName: X_FACE
    functionSourceFile: /src/vlc/modules/video_output/opengl/renderer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X_FACE(v, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - v
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 525
    functionName: Y_FACE
    functionSourceFile: /src/vlc/modules/video_output/opengl/renderer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Y_FACE(v, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - v
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 526
    functionName: Z_FACE
    functionSourceFile: /src/vlc/modules/video_output/opengl/renderer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Z_FACE(v, a, b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_output/opengl/renderer.c:607,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_output/opengl/renderer.c:610,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/renderer.c:613,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_output/opengl/renderer.c:616,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/renderer.c:619,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/renderer.c:620,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/opengl/renderer.c:631,1
    - Dst: ORIENT_IS_MIRROR
      Src: /src/vlc/modules/video_output/opengl/renderer.c:652,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/opengl/renderer.c:657,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/opengl/renderer.c:664,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 6
    argNames:
    - vertexCoord
    - textureCoord
    - nbVertices
    - indices
    - nbIndices
    - orientation
    argTypes:
    - GLfloat**
    - GLfloat**
    - unsigned*
    - GLushort**
    - unsigned*
    - video_orientation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 667
    functionName: BuildRectangle
    functionSourceFile: /src/vlc/modules/video_output/opengl/renderer.c
    functionUses: 0
    functionsReached:
    - free
    - ORIENT_IS_MIRROR
    - memcpy
    - vlc_alloc
    linkageType: ''
    returnType: int
    signature: "int BuildRectangle(\n        GLfloat **vertexCoord, GLfloat **textureCoord,
      unsigned *nbVertices,\n        GLushort **indices, unsigned *nbIndices, video_orientation_t
      orientation)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BuildRectangle
      Src: /src/vlc/modules/video_output/opengl/renderer.c:689,1
    - Dst: BuildSphere
      Src: /src/vlc/modules/video_output/opengl/renderer.c:693,1
    - Dst: BuildCube
      Src: /src/vlc/modules/video_output/opengl/renderer.c:697,1
    - Dst: vlc_gl_picture_ToTexCoords
      Src: /src/vlc/modules/video_output/opengl/renderer.c:711,1
    - Dst: opengl_vtable_t*::BindBuffer
      Src: /src/vlc/modules/video_output/opengl/renderer.c:713,1
    - Dst: opengl_vtable_t*::BufferData
      Src: /src/vlc/modules/video_output/opengl/renderer.c:714,1
    - Dst: opengl_vtable_t*::BindBuffer
      Src: /src/vlc/modules/video_output/opengl/renderer.c:717,1
    - Dst: opengl_vtable_t*::BufferData
      Src: /src/vlc/modules/video_output/opengl/renderer.c:718,1
    - Dst: opengl_vtable_t*::BindBuffer
      Src: /src/vlc/modules/video_output/opengl/renderer.c:721,1
    - Dst: opengl_vtable_t*::BufferData
      Src: /src/vlc/modules/video_output/opengl/renderer.c:722,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/renderer.c:725,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/renderer.c:726,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/renderer.c:727,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - renderer
    - pic
    - orientation
    argTypes:
    - struct vlc_gl_renderer*
    - struct vlc_gl_picture*
    - video_orientation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 669
    functionDepth: 2
    functionLinenumber: 669
    functionLinenumberEnd: 732
    functionName: SetupCoords
    functionSourceFile: /src/vlc/modules/video_output/opengl/renderer.c
    functionUses: 0
    functionsReached:
    - BuildRectangle
    - BuildSphere
    - free
    - BuildCube
    - vlc_gl_picture_ToTexCoords
    - opengl_vtable_t*::BufferData
    - opengl_vtable_t*::BindBuffer
    linkageType: ''
    returnType: int
    signature: "int SetupCoords(struct vlc_gl_renderer *renderer,\n                       const
      struct vlc_gl_picture *pic,\n                       video_orientation_t orientation)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: opengl_vtable_t*::ClearColor
      Src: /src/vlc/modules/video_output/opengl/renderer.c:744,1
    - Dst: opengl_vtable_t*::Clear
      Src: /src/vlc/modules/video_output/opengl/renderer.c:745,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/modules/video_output/opengl/renderer.c:746,1
    - Dst: opengl_vtable_t*::UseProgram
      Src: /src/vlc/modules/video_output/opengl/renderer.c:748,1
    - Dst: vlc_gl_sampler_Update
      Src: /src/vlc/modules/video_output/opengl/renderer.c:751,1
    - Dst: vlc_gl_sampler_Load
      Src: /src/vlc/modules/video_output/opengl/renderer.c:752,1
    - Dst: SetupCoords
      Src: /src/vlc/modules/video_output/opengl/renderer.c:759,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/opengl/renderer.c:766,1
    - Dst: vlc_viewpoint_from_orientation
      Src: /src/vlc/modules/video_output/opengl/renderer.c:770,1
    - Dst: vlc_viewpoint_to_4x4
      Src: /src/vlc/modules/video_output/opengl/renderer.c:771,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/opengl/renderer.c:773,1
    - Dst: opengl_vtable_t*::BindBuffer
      Src: /src/vlc/modules/video_output/opengl/renderer.c:775,1
    - Dst: opengl_vtable_t*::BindVertexArray
      Src: /src/vlc/modules/video_output/opengl/renderer.c:776,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/renderer.c:777,1
    - Dst: opengl_vtable_t*::EnableVertexAttribArray
      Src: /src/vlc/modules/video_output/opengl/renderer.c:778,1
    - Dst: opengl_vtable_t*::VertexAttribPointer
      Src: /src/vlc/modules/video_output/opengl/renderer.c:779,1
    - Dst: opengl_vtable_t*::BindBuffer
      Src: /src/vlc/modules/video_output/opengl/renderer.c:781,1
    - Dst: opengl_vtable_t*::BindBuffer
      Src: /src/vlc/modules/video_output/opengl/renderer.c:782,1
    - Dst: opengl_vtable_t*::EnableVertexAttribArray
      Src: /src/vlc/modules/video_output/opengl/renderer.c:783,1
    - Dst: opengl_vtable_t*::VertexAttribPointer
      Src: /src/vlc/modules/video_output/opengl/renderer.c:784,1
    - Dst: opengl_vtable_t*::UniformMatrix3fv
      Src: /src/vlc/modules/video_output/opengl/renderer.c:786,1
    - Dst: opengl_vtable_t*::UniformMatrix4fv
      Src: /src/vlc/modules/video_output/opengl/renderer.c:788,1
    - Dst: opengl_vtable_t*::UniformMatrix4fv
      Src: /src/vlc/modules/video_output/opengl/renderer.c:790,1
    - Dst: opengl_vtable_t*::UniformMatrix4fv
      Src: /src/vlc/modules/video_output/opengl/renderer.c:792,1
    - Dst: opengl_vtable_t*::UniformMatrix4fv
      Src: /src/vlc/modules/video_output/opengl/renderer.c:794,1
    - Dst: opengl_vtable_t*::DrawElements
      Src: /src/vlc/modules/video_output/opengl/renderer.c:797,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/modules/video_output/opengl/renderer.c:798,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 3
    argNames:
    - filter
    - pic
    - meta
    argTypes:
    - struct vlc_gl_filter*
    - struct vlc_gl_picture*
    - struct vlc_gl_input_meta*
    assertStmts:
    - condition: (renderer->aloc.PicCoordsIn != -1)
      pos:
        line_end: 776
        line_start: 776
        source_file: /src/vlc/modules/video_output/opengl/renderer.c
    constantsTouched: []
    func_position:
      end: 801
      start: 734
    functionDepth: 3
    functionLinenumber: 734
    functionLinenumberEnd: 801
    functionName: Draw
    functionSourceFile: /src/vlc/modules/video_output/opengl/renderer.c
    functionUses: 5
    functionsReached:
    - assert
    - memcpy
    - opengl_vtable_t*::ClearColor
    - opengl_vtable_t*::BindVertexArray
    - ARRAY_SIZE
    - opengl_vtable_t*::UseProgram
    - SetupCoords
    - vlc_viewpoint_to_4x4
    - opengl_vtable_t*::BindBuffer
    - vlc_gl_sampler_Update
    - opengl_vtable_t*::UniformMatrix4fv
    - opengl_vtable_t*::EnableVertexAttribArray
    - opengl_vtable_t*::UniformMatrix3fv
    - opengl_vtable_t*::DrawElements
    - vlc_gl_sampler_Load
    - opengl_vtable_t*::VertexAttribPointer
    - opengl_vtable_t*::Clear
    - vlc_viewpoint_from_orientation
    - GL_ASSERT_NOERROR
    linkageType: ''
    returnType: int
    signature: "int Draw(struct vlc_gl_filter *filter, const struct vlc_gl_picture
      *pic,\n     const struct vlc_gl_input_meta *meta)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_output/opengl/renderer.c:812,1
    - Dst: calloc
      Src: /src/vlc/modules/video_output/opengl/renderer.c:814,1
    - Dst: vlc_gl_api_Init
      Src: /src/vlc/modules/video_output/opengl/renderer.c:818,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/renderer.c:821,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/opengl/renderer.c:836,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/opengl/renderer.c:838,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/opengl/renderer.c:850,1
    - Dst: opengl_link_program
      Src: /src/vlc/modules/video_output/opengl/renderer.c:877,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/renderer.c:880,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/renderer.c:881,1
    - Dst: InitStereoMatrix
      Src: /src/vlc/modules/video_output/opengl/renderer.c:885,1
    - Dst: getViewpointMatrixes
      Src: /src/vlc/modules/video_output/opengl/renderer.c:887,1
    - Dst: opengl_vtable_t*::GenVertexArrays
      Src: /src/vlc/modules/video_output/opengl/renderer.c:890,1
    - Dst: opengl_vtable_t*::GenBuffers
      Src: /src/vlc/modules/video_output/opengl/renderer.c:892,1
    - Dst: opengl_vtable_t*::GenBuffers
      Src: /src/vlc/modules/video_output/opengl/renderer.c:893,1
    - Dst: opengl_vtable_t*::GenBuffers
      Src: /src/vlc/modules/video_output/opengl/renderer.c:894,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 4
    argNames:
    - filter
    - config
    - sampler
    - size_out
    argTypes:
    - struct vlc_gl_filter*
    - config_chain_t*
    - struct vlc_gl_sampler*
    - struct vlc_gl_tex_size*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 803
    functionDepth: 2
    functionLinenumber: 803
    functionLinenumberEnd: 900
    functionName: vlc_gl_renderer_Open
    functionSourceFile: /src/vlc/modules/video_output/opengl/renderer.c
    functionUses: 0
    functionsReached:
    - opengl_vtable_t*::GenVertexArrays
    - var_InheritInteger
    - opengl_vtable_t*::GenBuffers
    - vlc_gl_api_Init
    - config_ChainParse
    - calloc
    - free
    - msg_Dbg
    - opengl_link_program
    - InitStereoMatrix
    - getViewpointMatrixes
    linkageType: ''
    returnType: int
    signature: "int vlc_gl_renderer_Open(struct vlc_gl_filter *filter,\n                     const
      config_chain_t *config,\n                     struct vlc_gl_sampler *sampler,\n
      \                    struct vlc_gl_tex_size *size_out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/video_output/opengl/sampler_loader.c:37,1
    - Dst: va_arg
      Src: /src/vlc/modules/video_output/opengl/sampler_loader.c:38,1
    - Dst: activate
      Src: /src/vlc/modules/video_output/opengl/sampler_loader.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - func
    - forced
    - args
    argTypes:
    - void*
    - bool
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: ActivateSampler
    functionSourceFile: /src/vlc/modules/video_output/opengl/sampler_loader.c
    functionUses: 0
    functionsReached:
    - va_arg
    - activate
    linkageType: ''
    returnType: int
    signature: int ActivateSampler(void *func, bool forced, va_list args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_create
      Src: /src/vlc/modules/video_output/opengl/sampler_loader.c:47,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/sampler_loader.c:55,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/video_output/opengl/sampler_loader.c:77,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/opengl/sampler_loader.c:78,1
    - Dst: vlc_module_load
      Src: /src/vlc/modules/video_output/opengl/sampler_loader.c:79,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/sampler_loader.c:82,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/sampler_loader.c:85,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/video_output/opengl/sampler_loader.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 3
    argNames:
    - gl
    - glfmt
    - expose_planes
    argTypes:
    - struct vlc_gl_t*
    - struct vlc_gl_format*
    - bool
    assertStmts:
    - condition: (!glfmt->fmt.p_palette)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/vlc/modules/video_output/opengl/sampler_loader.c
    constantsTouched: []
    func_position:
      end: 91
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 91
    functionName: vlc_gl_sampler_New
    functionSourceFile: /src/vlc/modules/video_output/opengl/sampler_loader.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_module_load
    - var_InheritString
    - vlc_object_logger
    - vlc_object_create
    - msg_Err
    - free
    - vlc_object_delete
    linkageType: ''
    returnType: struct vlc_gl_sampler
    signature: "struct vlc_gl_sampler *\nvlc_gl_sampler_New(struct vlc_gl_t *gl,\n
      \                  const struct vlc_gl_format *glfmt, bool expose_planes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct vlc_gl_sampler*::ops::close
      Src: /src/vlc/modules/video_output/opengl/sampler_loader.c:97,1
    - Dst: module_unneed
      Src: /src/vlc/modules/video_output/opengl/sampler_loader.c:99,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/sampler_loader.c:101,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/sampler_loader.c:102,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/sampler_loader.c:103,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/sampler_loader.c:104,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/video_output/opengl/sampler_loader.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - sampler
    argTypes:
    - struct vlc_gl_sampler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: vlc_gl_sampler_Delete
    functionSourceFile: /src/vlc/modules/video_output/opengl/sampler_loader.c
    functionUses: 0
    functionsReached:
    - module_unneed
    - struct vlc_gl_sampler*::ops::close
    - free
    - vlc_object_delete
    linkageType: ''
    returnType: void
    signature: void vlc_gl_sampler_Delete(struct vlc_gl_sampler *sampler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/picture.c:33,1
    - Dst: MTX
      Src: /src/vlc/modules/video_output/opengl/picture.c:42,1
    - Dst: MTX
      Src: /src/vlc/modules/video_output/opengl/picture.c:42,1
    - Dst: MTX
      Src: /src/vlc/modules/video_output/opengl/picture.c:42,1
    - Dst: MTX
      Src: /src/vlc/modules/video_output/opengl/picture.c:43,1
    - Dst: MTX
      Src: /src/vlc/modules/video_output/opengl/picture.c:43,1
    - Dst: MTX
      Src: /src/vlc/modules/video_output/opengl/picture.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - pic
    - coords_count
    - pic_coords
    - tex_coords_out
    argTypes:
    - struct vlc_gl_picture*
    - unsigned
    - float*
    - float*
    assertStmts:
    - condition: (mtx)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/vlc/modules/video_output/opengl/picture.c
    constantsTouched: []
    func_position:
      end: 47
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 47
    functionName: vlc_gl_picture_ToTexCoords
    functionSourceFile: /src/vlc/modules/video_output/opengl/picture.c
    functionUses: 4
    functionsReached:
    - MTX
    - assert
    linkageType: ''
    returnType: void
    signature: "void vlc_gl_picture_ToTexCoords(const struct vlc_gl_picture *pic,\n
      \                          unsigned coords_count, const float *pic_coords,\n
      \                          float *tex_coords_out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ROW
    - ','
    - COL
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: MTX
    functionSourceFile: /src/vlc/modules/video_output/opengl/picture.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MTX(ROW,COL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/vlc/modules/video_output/opengl/picture.c:75,1
    - Dst: sqrt
      Src: /src/vlc/modules/video_output/opengl/picture.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pic
    - direction
    argTypes:
    - struct vlc_gl_picture*
    - float[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 82
    functionName: vlc_gl_picture_ComputeDirectionMatrix
    functionSourceFile: /src/vlc/modules/video_output/opengl/picture.c
    functionUses: 1
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: void
    signature: "void vlc_gl_picture_ComputeDirectionMatrix(const struct vlc_gl_picture
      *pic,\n                                      float direction[static 2*2])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vout_display_opengl_SetViewpoint
      Src: /src/vlc/modules/video_output/opengl/display.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - vd
    - vp
    argTypes:
    - vout_display_t*
    - vlc_viewpoint_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 107
    functionName: SetViewpoint
    functionSourceFile: /src/vlc/modules/video_output/opengl/display.c
    functionUses: 3
    functionsReached:
    - vout_display_opengl_SetViewpoint
    linkageType: ''
    returnType: int
    signature: int SetViewpoint(vout_display_t *vd, const vlc_viewpoint_t *vp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_MakeCurrent
      Src: /src/vlc/modules/video_output/opengl/display.c:115,1
    - Dst: vout_display_opengl_UpdateFormat
      Src: /src/vlc/modules/video_output/opengl/display.c:119,1
    - Dst: vlc_gl_ReleaseCurrent
      Src: /src/vlc/modules/video_output/opengl/display.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - vd
    - fmt
    - vctx
    argTypes:
    - vout_display_t*
    - video_format_t*
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 127
    functionName: UpdateFormat
    functionSourceFile: /src/vlc/modules/video_output/opengl/display.c
    functionUses: 4
    functionsReached:
    - vlc_gl_ReleaseCurrent
    - vlc_gl_MakeCurrent
    - vout_display_opengl_UpdateFormat
    linkageType: ''
    returnType: int
    signature: "int UpdateFormat(vout_display_t *vd, const video_format_t *fmt,\n
      \            vlc_video_context *vctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: video_format_TransformBy
      Src: /src/vlc/modules/video_output/opengl/display.c:139,1
    - Dst: transform_Inverse
      Src: /src/vlc/modules/video_output/opengl/display.c:139,1
    - Dst: ORIENT_IS_SWAP
      Src: /src/vlc/modules/video_output/opengl/display.c:141,1
    - Dst: vout_display_PlacePicture
      Src: /src/vlc/modules/video_output/opengl/display.c:147,1
    - Dst: ORIENT_IS_SWAP
      Src: /src/vlc/modules/video_output/opengl/display.c:150,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/display.c:161,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/display.c:162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - vd
    - place
    - dp
    argTypes:
    - vout_display_t*
    - vout_display_place_t*
    - struct vout_display_placement
    assertStmts:
    - condition: (sys->gl->orientation != ORIENT_NORMAL || place->x == vd->place->x)
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/vlc/modules/video_output/opengl/display.c
    - condition: (sys->gl->orientation != ORIENT_NORMAL || place->y == (int)(vd->cfg->display.height
        - (vd->place->y + vd->place->height)))
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/vlc/modules/video_output/opengl/display.c
    constantsTouched: []
    func_position:
      end: 163
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 163
    functionName: PlacePicture
    functionSourceFile: /src/vlc/modules/video_output/opengl/display.c
    functionUses: 1
    functionsReached:
    - assert
    - vout_display_PlacePicture
    - video_format_TransformBy
    - transform_Inverse
    - ORIENT_IS_SWAP
    linkageType: ''
    returnType: void
    signature: "void PlacePicture(vout_display_t *vd, vout_display_place_t *place,\n
      \                        struct vout_display_placement dp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlacePicture
      Src: /src/vlc/modules/video_output/opengl/display.c:169,1
    - Dst: vlc_gl_Resize
      Src: /src/vlc/modules/video_output/opengl/display.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - vd
    - width
    - height
    argTypes:
    - vout_display_t*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: SetDisplaySize
    functionSourceFile: /src/vlc/modules/video_output/opengl/display.c
    functionUses: 1
    functionsReached:
    - vlc_gl_Resize
    - PlacePicture
    linkageType: ''
    returnType: int
    signature: int SetDisplaySize(vout_display_t *vd, unsigned width, unsigned height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/display.c:176,1
    - Dst: PlacePicture
      Src: /src/vlc/modules/video_output/opengl/display.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - vd
    - projection
    argTypes:
    - vout_display_t*
    - video_projection_mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: ChangeSourceProjection
    functionSourceFile: /src/vlc/modules/video_output/opengl/display.c
    functionUses: 0
    functionsReached:
    - PlacePicture
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int ChangeSourceProjection(vout_display_t *vd, video_projection_mode_t
      projection)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlacePicture
      Src: /src/vlc/modules/video_output/opengl/display.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - vd
    - mode
    argTypes:
    - vout_display_t*
    - vlc_stereoscopic_mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 190
    functionName: SetStereoMode
    functionSourceFile: /src/vlc/modules/video_output/opengl/display.c
    functionUses: 0
    functionsReached:
    - PlacePicture
    linkageType: ''
    returnType: int
    signature: int SetStereoMode(vout_display_t *vd, vlc_stereoscopic_mode_t mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/display.c:195,1
    - Dst: PlacePicture
      Src: /src/vlc/modules/video_output/opengl/display.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - vd
    - place
    argTypes:
    - vout_display_t*
    - vout_display_place_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 199
    functionName: PlacementChanged
    functionSourceFile: /src/vlc/modules/video_output/opengl/display.c
    functionUses: 3
    functionsReached:
    - PlacePicture
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int PlacementChanged(vout_display_t *vd, const vout_display_place_t
      *place)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/display.c:203,1
    - Dst: PlacementChanged
      Src: /src/vlc/modules/video_output/opengl/display.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vd
    - source
    argTypes:
    - vout_display_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: AspectChanged
    functionSourceFile: /src/vlc/modules/video_output/opengl/display.c
    functionUses: 0
    functionsReached:
    - PlacementChanged
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int AspectChanged(vout_display_t *vd, const video_format_t *source)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/video_output/opengl/display.c:231,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/opengl/display.c:232,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/opengl/display.c:239,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_output/opengl/display.c:257,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/display.c:259,1
    - Dst: strdup
      Src: /src/vlc/modules/video_output/opengl/display.c:260,1
    - Dst: vlc_gl_Create
      Src: /src/vlc/modules/video_output/opengl/display.c:270,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/display.c:271,1
    - Dst: PlacePicture
      Src: /src/vlc/modules/video_output/opengl/display.c:277,1
    - Dst: vlc_gl_Resize
      Src: /src/vlc/modules/video_output/opengl/display.c:279,1
    - Dst: vlc_gl_MakeCurrent
      Src: /src/vlc/modules/video_output/opengl/display.c:284,1
    - Dst: vlc_gl_GetProcAddress
      Src: /src/vlc/modules/video_output/opengl/display.c:287,1
    - Dst: vlc_gl_ReleaseCurrent
      Src: /src/vlc/modules/video_output/opengl/display.c:290,1
    - Dst: vout_display_opengl_New
      Src: /src/vlc/modules/video_output/opengl/display.c:294,1
    - Dst: vlc_gl_ReleaseCurrent
      Src: /src/vlc/modules/video_output/opengl/display.c:296,1
    - Dst: vlc_gl_Delete
      Src: /src/vlc/modules/video_output/opengl/display.c:309,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/display.c:310,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 3
    argNames:
    - vd
    - fmt
    - context
    argTypes:
    - vout_display_t*
    - video_format_t*
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 313
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/opengl/display.c
    functionUses: 65
    functionsReached:
    - vout_display_opengl_New
    - var_InheritString
    - strdup
    - vlc_gl_MakeCurrent
    - vlc_gl_GetProcAddress
    - vlc_gl_ReleaseCurrent
    - vlc_gl_Create
    - PlacePicture
    - free
    - strcmp
    - vlc_gl_Delete
    - vlc_gl_Resize
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: "int Open(vout_display_t *vd,\n                video_format_t *fmt,
      vlc_video_context *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_MakeCurrent
      Src: /src/vlc/modules/video_output/opengl/display.c:323,1
    - Dst: vout_display_opengl_Delete
      Src: /src/vlc/modules/video_output/opengl/display.c:324,1
    - Dst: vlc_gl_ReleaseCurrent
      Src: /src/vlc/modules/video_output/opengl/display.c:325,1
    - Dst: vlc_gl_Delete
      Src: /src/vlc/modules/video_output/opengl/display.c:327,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/display.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 329
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/opengl/display.c
    functionUses: 167
    functionsReached:
    - vlc_gl_MakeCurrent
    - vlc_gl_ReleaseCurrent
    - free
    - vout_display_opengl_Delete
    - vlc_gl_Delete
    linkageType: ''
    returnType: void
    signature: void Close(vout_display_t *vd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/display.c:335,1
    - Dst: vlc_gl_MakeCurrent
      Src: /src/vlc/modules/video_output/opengl/display.c:338,1
    - Dst: vout_display_opengl_ChangeStereoMode
      Src: /src/vlc/modules/video_output/opengl/display.c:342,1
    - Dst: vout_display_opengl_ChangeProjection
      Src: /src/vlc/modules/video_output/opengl/display.c:348,1
    - Dst: vout_display_opengl_SetOutputSize
      Src: /src/vlc/modules/video_output/opengl/display.c:354,1
    - Dst: vout_display_opengl_Viewport
      Src: /src/vlc/modules/video_output/opengl/display.c:356,1
    - Dst: vout_display_opengl_Prepare
      Src: /src/vlc/modules/video_output/opengl/display.c:361,1
    - Dst: vout_display_opengl_Display
      Src: /src/vlc/modules/video_output/opengl/display.c:362,1
    - Dst: vout_display_sys_t*::vt::Flush
      Src: /src/vlc/modules/video_output/opengl/display.c:364,1
    - Dst: vlc_gl_ReleaseCurrent
      Src: /src/vlc/modules/video_output/opengl/display.c:365,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - vd
    - pic
    - subpicture
    - date
    argTypes:
    - vout_display_t*
    - picture_t*
    - vlc_render_subpicture*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 368
    functionName: PictureRender
    functionSourceFile: /src/vlc/modules/video_output/opengl/display.c
    functionUses: 0
    functionsReached:
    - vlc_gl_MakeCurrent
    - vout_display_opengl_ChangeProjection
    - vlc_gl_ReleaseCurrent
    - vout_display_opengl_Display
    - vout_display_opengl_Prepare
    - vout_display_sys_t*::vt::Flush
    - vout_display_opengl_ChangeStereoMode
    - vout_display_opengl_Viewport
    - vout_display_opengl_SetOutputSize
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void PictureRender (vout_display_t *vd, picture_t *pic,\n                           const
      vlc_render_subpicture *subpicture,\n                           vlc_tick_t date)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/display.c:373,1
    - Dst: vlc_gl_Swap
      Src: /src/vlc/modules/video_output/opengl/display.c:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - vd
    - pic
    argTypes:
    - vout_display_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 378
    functionName: PictureDisplay
    functionSourceFile: /src/vlc/modules/video_output/opengl/display.c
    functionUses: 0
    functionsReached:
    - vlc_gl_Swap
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void PictureDisplay (vout_display_t *vd, picture_t *pic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: secf_from_vlc_tick
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:112,1
    - Dst: cos
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:115,1
    - Dst: sin
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:116,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sys
    - pts
    argTypes:
    - struct sys*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 126
    functionName: InitMatrix
    functionSourceFile: /src/vlc/modules/video_output/opengl/filter_mock.c
    functionUses: 0
    functionsReached:
    - sin
    - memcpy
    - secf_from_vlc_tick
    - cos
    linkageType: ''
    returnType: void
    signature: void InitMatrix(struct sys *sys, vlc_tick_t pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:135,1
    - Dst: opengl_vtable_t*::UseProgram
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:139,1
    - Dst: opengl_vtable_t*::Enable
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:141,1
    - Dst: opengl_vtable_t*::BlendFunc
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:142,1
    - Dst: opengl_vtable_t*::BindBuffer
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:156,1
    - Dst: opengl_vtable_t*::EnableVertexAttribArray
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:158,1
    - Dst: opengl_vtable_t*::VertexAttribPointer
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:159,1
    - Dst: opengl_vtable_t*::EnableVertexAttribArray
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:163,1
    - Dst: opengl_vtable_t*::VertexAttribPointer
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:164,1
    - Dst: InitMatrix
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:167,1
    - Dst: opengl_vtable_t*::UniformMatrix4fv
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:168,1
    - Dst: opengl_vtable_t*::DrawArrays
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:171,1
    - Dst: opengl_vtable_t*::Disable
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:173,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 3
    argNames:
    - filter
    - pic
    - meta
    argTypes:
    - struct vlc_gl_filter*
    - struct vlc_gl_picture*
    - struct vlc_gl_input_meta*
    assertStmts:
    - condition: (!pic)
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/vlc/modules/video_output/opengl/filter_mock.c
    constantsTouched: []
    func_position:
      end: 177
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 177
    functionName: DrawBlend
    functionSourceFile: /src/vlc/modules/video_output/opengl/filter_mock.c
    functionUses: 0
    functionsReached:
    - assert
    - opengl_vtable_t*::UniformMatrix4fv
    - opengl_vtable_t*::Enable
    - opengl_vtable_t*::EnableVertexAttribArray
    - opengl_vtable_t*::Disable
    - opengl_vtable_t*::UseProgram
    - opengl_vtable_t*::VertexAttribPointer
    - opengl_vtable_t*::DrawArrays
    - opengl_vtable_t*::BlendFunc
    - opengl_vtable_t*::BindBuffer
    - GL_ASSERT_NOERROR
    - InitMatrix
    linkageType: ''
    returnType: int
    signature: "int DrawBlend(struct vlc_gl_filter *filter, const struct vlc_gl_picture
      *pic,\n          const struct vlc_gl_input_meta *meta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: opengl_vtable_t*::UseProgram
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:187,1
    - Dst: vlc_gl_sampler_Update
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:190,1
    - Dst: vlc_gl_sampler_Load
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:191,1
    - Dst: opengl_vtable_t*::BindBuffer
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:193,1
    - Dst: opengl_vtable_t*::EnableVertexAttribArray
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:194,1
    - Dst: opengl_vtable_t*::VertexAttribPointer
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:195,1
    - Dst: InitMatrix
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:198,1
    - Dst: opengl_vtable_t*::UniformMatrix4fv
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:199,1
    - Dst: opengl_vtable_t*::UniformMatrix3fv
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:209,1
    - Dst: opengl_vtable_t*::Clear
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:211,1
    - Dst: opengl_vtable_t*::DrawArrays
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:212,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - filter
    - pic
    - meta
    argTypes:
    - struct vlc_gl_filter*
    - struct vlc_gl_picture*
    - struct vlc_gl_input_meta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 216
    functionName: DrawMask
    functionSourceFile: /src/vlc/modules/video_output/opengl/filter_mock.c
    functionUses: 0
    functionsReached:
    - opengl_vtable_t*::UniformMatrix4fv
    - opengl_vtable_t*::EnableVertexAttribArray
    - vlc_gl_sampler_Load
    - opengl_vtable_t*::UseProgram
    - opengl_vtable_t*::UniformMatrix3fv
    - opengl_vtable_t*::VertexAttribPointer
    - opengl_vtable_t*::Clear
    - opengl_vtable_t*::DrawArrays
    - opengl_vtable_t*::BindBuffer
    - GL_ASSERT_NOERROR
    - vlc_gl_sampler_Update
    - InitMatrix
    linkageType: ''
    returnType: int
    signature: "int DrawMask(struct vlc_gl_filter *filter, const struct vlc_gl_picture
      *pic,\n         const struct vlc_gl_input_meta *meta)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: opengl_vtable_t*::UseProgram
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:228,1
    - Dst: vlc_gl_sampler_Update
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:231,1
    - Dst: vlc_gl_sampler_SelectPlane
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:232,1
    - Dst: vlc_gl_sampler_Load
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:233,1
    - Dst: opengl_vtable_t*::Uniform1f
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:235,1
    - Dst: opengl_vtable_t*::BindBuffer
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:237,1
    - Dst: vlc_gl_picture_ToTexCoords
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:249,1
    - Dst: opengl_vtable_t*::BufferData
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:257,1
    - Dst: opengl_vtable_t*::EnableVertexAttribArray
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:262,1
    - Dst: opengl_vtable_t*::VertexAttribPointer
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:263,1
    - Dst: opengl_vtable_t*::EnableVertexAttribArray
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:267,1
    - Dst: opengl_vtable_t*::VertexAttribPointer
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:268,1
    - Dst: opengl_vtable_t*::Clear
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:271,1
    - Dst: opengl_vtable_t*::DrawArrays
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:272,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 3
    argNames:
    - filter
    - pic
    - meta
    argTypes:
    - struct vlc_gl_filter*
    - struct vlc_gl_picture*
    - struct vlc_gl_input_meta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 276
    functionName: DrawPlane
    functionSourceFile: /src/vlc/modules/video_output/opengl/filter_mock.c
    functionUses: 0
    functionsReached:
    - opengl_vtable_t*::BindBuffer
    - opengl_vtable_t*::EnableVertexAttribArray
    - vlc_gl_sampler_Load
    - opengl_vtable_t*::UseProgram
    - opengl_vtable_t*::VertexAttribPointer
    - GL_ASSERT_NOERROR
    - vlc_gl_picture_ToTexCoords
    - opengl_vtable_t*::BufferData
    - opengl_vtable_t*::Clear
    - opengl_vtable_t*::DrawArrays
    - vlc_gl_sampler_SelectPlane
    - opengl_vtable_t*::Uniform1f
    - vlc_gl_sampler_Update
    linkageType: ''
    returnType: int
    signature: "int DrawPlane(struct vlc_gl_filter *filter, const struct vlc_gl_picture
      *pic,\n          const struct vlc_gl_input_meta *meta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: opengl_vtable_t*::DeleteProgram
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:284,1
    - Dst: opengl_vtable_t*::DeleteBuffers
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:285,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - struct vlc_gl_filter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 288
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/opengl/filter_mock.c
    functionUses: 167
    functionsReached:
    - free
    - opengl_vtable_t*::DeleteBuffers
    - opengl_vtable_t*::DeleteProgram
    linkageType: ''
    returnType: void
    signature: void Close(struct vlc_gl_filter *filter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_BuildProgram
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:336,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:336,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:337,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:338,1
    - Dst: opengl_vtable_t*::GetAttribLocation
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:345,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:346,1
    - Dst: opengl_vtable_t*::GetUniformLocation
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:348,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:350,1
    - Dst: opengl_vtable_t*::GetAttribLocation
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:352,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:353,1
    - Dst: opengl_vtable_t*::GenBuffers
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:355,1
    - Dst: opengl_vtable_t*::BindBuffer
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:364,1
    - Dst: opengl_vtable_t*::BufferData
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:365,1
    - Dst: opengl_vtable_t*::BindBuffer
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - filter
    argTypes:
    - struct vlc_gl_filter*
    assertStmts:
    - condition: (sys->loc.vertex_pos != -1)
      pos:
        line_end: 345
        line_start: 345
        source_file: /src/vlc/modules/video_output/opengl/filter_mock.c
    - condition: (sys->loc.rotation_matrix != -1)
      pos:
        line_end: 349
        line_start: 349
        source_file: /src/vlc/modules/video_output/opengl/filter_mock.c
    - condition: (sys->loc.vertex_color != -1)
      pos:
        line_end: 352
        line_start: 352
        source_file: /src/vlc/modules/video_output/opengl/filter_mock.c
    constantsTouched: []
    func_position:
      end: 377
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 377
    functionName: InitBlend
    functionSourceFile: /src/vlc/modules/video_output/opengl/filter_mock.c
    functionUses: 0
    functionsReached:
    - assert
    - opengl_vtable_t*::BindBuffer
    - ARRAY_SIZE
    - opengl_vtable_t*::GetUniformLocation
    - opengl_vtable_t*::GetAttribLocation
    - opengl_vtable_t*::GenBuffers
    - opengl_vtable_t*::BufferData
    - VLC_OBJECT
    - vlc_gl_BuildProgram
    linkageType: ''
    returnType: int
    signature: int InitBlend(struct vlc_gl_filter *filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_BuildProgram
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:421,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:421,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:422,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:423,1
    - Dst: vlc_gl_sampler_FetchLocations
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:429,1
    - Dst: opengl_vtable_t*::GetAttribLocation
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:431,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:432,1
    - Dst: opengl_vtable_t*::GetUniformLocation
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:434,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:436,1
    - Dst: opengl_vtable_t*::GetUniformLocation
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:438,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:439,1
    - Dst: opengl_vtable_t*::GenBuffers
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:441,1
    - Dst: opengl_vtable_t*::BindBuffer
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:450,1
    - Dst: opengl_vtable_t*::BufferData
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:451,1
    - Dst: opengl_vtable_t*::BindBuffer
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - filter
    - sampler
    argTypes:
    - struct vlc_gl_filter*
    - struct vlc_gl_sampler*
    assertStmts:
    - condition: (sys->loc.vertex_pos != -1)
      pos:
        line_end: 431
        line_start: 431
        source_file: /src/vlc/modules/video_output/opengl/filter_mock.c
    - condition: (sys->loc.rotation_matrix != -1)
      pos:
        line_end: 435
        line_start: 435
        source_file: /src/vlc/modules/video_output/opengl/filter_mock.c
    - condition: (sys->loc.pic_to_tex != -1)
      pos:
        line_end: 438
        line_start: 438
        source_file: /src/vlc/modules/video_output/opengl/filter_mock.c
    constantsTouched: []
    func_position:
      end: 463
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 463
    functionName: InitMask
    functionSourceFile: /src/vlc/modules/video_output/opengl/filter_mock.c
    functionUses: 0
    functionsReached:
    - assert
    - opengl_vtable_t*::BindBuffer
    - ARRAY_SIZE
    - opengl_vtable_t*::GetUniformLocation
    - opengl_vtable_t*::GetAttribLocation
    - opengl_vtable_t*::GenBuffers
    - opengl_vtable_t*::BufferData
    - VLC_OBJECT
    - vlc_gl_sampler_FetchLocations
    - vlc_gl_BuildProgram
    linkageType: ''
    returnType: int
    signature: int InitMask(struct vlc_gl_filter *filter, struct vlc_gl_sampler *sampler)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_BuildProgram
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:507,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:507,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:508,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:509,1
    - Dst: vlc_gl_sampler_FetchLocations
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:515,1
    - Dst: opengl_vtable_t*::GetAttribLocation
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:517,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:518,1
    - Dst: opengl_vtable_t*::GetAttribLocation
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:520,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:522,1
    - Dst: opengl_vtable_t*::GetUniformLocation
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:524,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:525,1
    - Dst: opengl_vtable_t*::BindBuffer
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - filter
    - sampler
    argTypes:
    - struct vlc_gl_filter*
    - struct vlc_gl_sampler*
    assertStmts:
    - condition: (sys->loc.vertex_pos != -1)
      pos:
        line_end: 517
        line_start: 517
        source_file: /src/vlc/modules/video_output/opengl/filter_mock.c
    - condition: (sys->loc.tex_coords_in != -1)
      pos:
        line_end: 521
        line_start: 521
        source_file: /src/vlc/modules/video_output/opengl/filter_mock.c
    - condition: (sys->loc.offset != -1)
      pos:
        line_end: 524
        line_start: 524
        source_file: /src/vlc/modules/video_output/opengl/filter_mock.c
    constantsTouched: []
    func_position:
      end: 536
      start: 465
    functionDepth: 2
    functionLinenumber: 465
    functionLinenumberEnd: 536
    functionName: InitPlane
    functionSourceFile: /src/vlc/modules/video_output/opengl/filter_mock.c
    functionUses: 0
    functionsReached:
    - assert
    - opengl_vtable_t*::BindBuffer
    - ARRAY_SIZE
    - opengl_vtable_t*::GetUniformLocation
    - opengl_vtable_t*::GetAttribLocation
    - VLC_OBJECT
    - vlc_gl_sampler_FetchLocations
    - vlc_gl_BuildProgram
    linkageType: ''
    returnType: int
    signature: int InitPlane(struct vlc_gl_filter *filter, struct vlc_gl_sampler *sampler)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:542,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:544,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:545,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:546,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:547,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:548,1
    - Dst: malloc
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:550,1
    - Dst: vlc_gl_api_Init
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:556,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:559,1
    - Dst: InitPlane
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:564,1
    - Dst: InitMask
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:566,1
    - Dst: InitBlend
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:568,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/filter_mock.c:583,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - filter
    - config
    - sampler
    - size_out
    argTypes:
    - struct vlc_gl_filter*
    - config_chain_t*
    - struct vlc_gl_sampler*
    - struct vlc_gl_tex_size*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 538
    functionDepth: 3
    functionLinenumber: 538
    functionLinenumberEnd: 585
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/opengl/filter_mock.c
    functionUses: 65
    functionsReached:
    - InitMask
    - var_InheritInteger
    - var_InheritBool
    - vlc_gl_api_Init
    - InitPlane
    - config_ChainParse
    - free
    - InitBlend
    - var_InheritFloat
    - malloc
    linkageType: ''
    returnType: int
    signature: "int Open(struct vlc_gl_filter *filter, const config_chain_t *config,\n
      \    struct vlc_gl_sampler *sampler, struct vlc_gl_tex_size *size_out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct priv*::egl::destroyImageKHR
      Src: /src/vlc/modules/video_output/opengl/interop_gst_mem.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - interop
    - image
    argTypes:
    - struct vlc_gl_interop*
    - EGLImageKHR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: egl_image_destroy
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_gst_mem.c
    functionUses: 0
    functionsReached:
    - struct priv*::egl::destroyImageKHR
    linkageType: ''
    returnType: void
    signature: void egl_image_destroy(const struct vlc_gl_interop *interop, EGLImageKHR
      image)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/video_output/opengl/interop_gst_mem.c:87,1
    - Dst: gst_buffer_get_video_meta
      Src: /src/vlc/modules/video_output/opengl/interop_gst_mem.c:90,1
    - Dst: gst_buffer_peek_memory
      Src: /src/vlc/modules/video_output/opengl/interop_gst_mem.c:91,1
    - Dst: gst_dmabuf_memory_get_fd
      Src: /src/vlc/modules/video_output/opengl/interop_gst_mem.c:92,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_output/opengl/interop_gst_mem.c:120,1
    - Dst: struct priv*::egl::createImageKHR
      Src: /src/vlc/modules/video_output/opengl/interop_gst_mem.c:142,1
    - Dst: struct priv*::gl::BindTexture
      Src: /src/vlc/modules/video_output/opengl/interop_gst_mem.c:149,1
    - Dst: struct priv*::glEGLImageTargetTexture2DOES
      Src: /src/vlc/modules/video_output/opengl/interop_gst_mem.c:151,1
    - Dst: egl_image_destroy
      Src: /src/vlc/modules/video_output/opengl/interop_gst_mem.c:153,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 6
    argNames:
    - interop
    - textures
    - tex_width
    - tex_height
    - pic
    - plane_offset
    argTypes:
    - struct vlc_gl_interop*
    - uint32_t[]
    - int32_t[]
    - int32_t[]
    - picture_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 159
    functionName: egl_update
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_gst_mem.c
    functionUses: 0
    functionsReached:
    - struct priv*::glEGLImageTargetTexture2DOES
    - vlc_assert_unreachable
    - struct priv*::gl::BindTexture
    - container_of
    - egl_image_destroy
    - struct priv*::egl::createImageKHR
    - gst_dmabuf_memory_get_fd
    - gst_buffer_get_video_meta
    - gst_buffer_peek_memory
    linkageType: ''
    returnType: int
    signature: "int egl_update(const struct vlc_gl_interop *interop, uint32_t textures[],\n
      \          const int32_t tex_width[], const int32_t tex_height[],\n           picture_t
      *pic, const size_t *plane_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/interop_gst_mem.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interop
    argTypes:
    - struct vlc_gl_interop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_gst_mem.c
    functionUses: 167
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void Close(struct vlc_gl_interop *interop)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: vlc_video_context_HoldDevice
      Src: /src/vlc/modules/video_output/opengl/interop_gst_mem.c:176,1
    - Dst: calloc
      Src: /src/vlc/modules/video_output/opengl/interop_gst_mem.c:180,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/opengl/interop_gst_mem.c:181,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/video_output/opengl/interop_gst_mem.c:196,1
    - Dst: vlc_gl_LoadExtensionFunctions
      Src: /src/vlc/modules/video_output/opengl/interop_gst_mem.c:203,1
    - Dst: vlc_gl_HasExtension
      Src: /src/vlc/modules/video_output/opengl/interop_gst_mem.c:206,1
    - Dst: vlc_gl_GetProcAddress
      Src: /src/vlc/modules/video_output/opengl/interop_gst_mem.c:209,1
    - Dst: struct priv*::egl::getCurrentDisplay
      Src: /src/vlc/modules/video_output/opengl/interop_gst_mem.c:213,1
    - Dst: vlc_gl_GetProcAddress
      Src: /src/vlc/modules/video_output/opengl/interop_gst_mem.c:217,1
    - Dst: struct priv*::egl::queryString
      Src: /src/vlc/modules/video_output/opengl/interop_gst_mem.c:222,1
    - Dst: vlc_gl_StrHasToken
      Src: /src/vlc/modules/video_output/opengl/interop_gst_mem.c:223,1
    - Dst: vlc_gl_GetProcAddress
      Src: /src/vlc/modules/video_output/opengl/interop_gst_mem.c:227,1
    - Dst: vlc_gl_GetProcAddress
      Src: /src/vlc/modules/video_output/opengl/interop_gst_mem.c:232,1
    - Dst: vlc_gl_GetProcAddress
      Src: /src/vlc/modules/video_output/opengl/interop_gst_mem.c:237,1
    - Dst: vlc_gl_GetProcAddress
      Src: /src/vlc/modules/video_output/opengl/interop_gst_mem.c:242,1
    - Dst: video_format_TransformBy
      Src: /src/vlc/modules/video_output/opengl/interop_gst_mem.c:247,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/video_output/opengl/interop_gst_mem.c:259,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/video_output/opengl/interop_gst_mem.c:264,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/interop_gst_mem.c:265,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 67
    argCount: 1
    argNames:
    - interop
    argTypes:
    - struct vlc_gl_interop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 267
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_gst_mem.c
    functionUses: 65
    functionsReached:
    - vlc_video_context_HoldDevice
    - VLC_FOURCC
    - vlc_gl_StrHasToken
    - vlc_gl_GetProcAddress
    - struct priv*::egl::queryString
    - struct priv*::egl::getCurrentDisplay
    - vlc_decoder_device_Release
    - video_format_TransformBy
    - calloc
    - vlc_gl_HasExtension
    - free
    - vlc_gl_LoadExtensionFunctions
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Open(struct vlc_gl_interop *interop)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: opengl_vtable_t*::UseProgram
      Src: /src/vlc/modules/video_output/opengl/filter_draw.c:72,1
    - Dst: vlc_gl_sampler_Update
      Src: /src/vlc/modules/video_output/opengl/filter_draw.c:75,1
    - Dst: vlc_gl_sampler_Load
      Src: /src/vlc/modules/video_output/opengl/filter_draw.c:76,1
    - Dst: opengl_vtable_t*::BindBuffer
      Src: /src/vlc/modules/video_output/opengl/filter_draw.c:78,1
    - Dst: vlc_gl_picture_ToTexCoords
      Src: /src/vlc/modules/video_output/opengl/filter_draw.c:90,1
    - Dst: opengl_vtable_t*::BufferData
      Src: /src/vlc/modules/video_output/opengl/filter_draw.c:98,1
    - Dst: opengl_vtable_t*::EnableVertexAttribArray
      Src: /src/vlc/modules/video_output/opengl/filter_draw.c:103,1
    - Dst: opengl_vtable_t*::VertexAttribPointer
      Src: /src/vlc/modules/video_output/opengl/filter_draw.c:104,1
    - Dst: opengl_vtable_t*::EnableVertexAttribArray
      Src: /src/vlc/modules/video_output/opengl/filter_draw.c:108,1
    - Dst: opengl_vtable_t*::VertexAttribPointer
      Src: /src/vlc/modules/video_output/opengl/filter_draw.c:109,1
    - Dst: opengl_vtable_t*::Clear
      Src: /src/vlc/modules/video_output/opengl/filter_draw.c:112,1
    - Dst: opengl_vtable_t*::DrawArrays
      Src: /src/vlc/modules/video_output/opengl/filter_draw.c:113,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/modules/video_output/opengl/filter_draw.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - filter
    - pic
    - meta
    argTypes:
    - struct vlc_gl_filter*
    - struct vlc_gl_picture*
    - struct vlc_gl_input_meta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 117
    functionName: Draw
    functionSourceFile: /src/vlc/modules/video_output/opengl/filter_draw.c
    functionUses: 5
    functionsReached:
    - opengl_vtable_t*::EnableVertexAttribArray
    - vlc_gl_sampler_Load
    - opengl_vtable_t*::UseProgram
    - opengl_vtable_t*::VertexAttribPointer
    - vlc_gl_picture_ToTexCoords
    - opengl_vtable_t*::BufferData
    - opengl_vtable_t*::Clear
    - opengl_vtable_t*::DrawArrays
    - opengl_vtable_t*::BindBuffer
    - GL_ASSERT_NOERROR
    - vlc_gl_sampler_Update
    linkageType: ''
    returnType: int
    signature: "int Draw(struct vlc_gl_filter *filter, const struct vlc_gl_picture
      *pic,\n     const struct vlc_gl_input_meta *meta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: opengl_vtable_t*::DeleteProgram
      Src: /src/vlc/modules/video_output/opengl/filter_draw.c:125,1
    - Dst: opengl_vtable_t*::DeleteBuffers
      Src: /src/vlc/modules/video_output/opengl/filter_draw.c:126,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/filter_draw.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - filter
    argTypes:
    - struct vlc_gl_filter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/opengl/filter_draw.c
    functionUses: 167
    functionsReached:
    - free
    - opengl_vtable_t*::DeleteBuffers
    - opengl_vtable_t*::DeleteProgram
    linkageType: ''
    returnType: void
    signature: void Close(struct vlc_gl_filter *filter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/video_output/opengl/filter_draw.c:137,1
    - Dst: vlc_gl_api_Init
      Src: /src/vlc/modules/video_output/opengl/filter_draw.c:143,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/filter_draw.c:146,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/video_output/opengl/filter_draw.c:170,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/opengl/filter_draw.c:171,1
    - Dst: vlc_gl_BuildProgram
      Src: /src/vlc/modules/video_output/opengl/filter_draw.c:186,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/opengl/filter_draw.c:186,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/opengl/filter_draw.c:187,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/opengl/filter_draw.c:188,1
    - Dst: vlc_gl_sampler_FetchLocations
      Src: /src/vlc/modules/video_output/opengl/filter_draw.c:192,1
    - Dst: opengl_vtable_t*::GetAttribLocation
      Src: /src/vlc/modules/video_output/opengl/filter_draw.c:196,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/filter_draw.c:197,1
    - Dst: opengl_vtable_t*::GetAttribLocation
      Src: /src/vlc/modules/video_output/opengl/filter_draw.c:199,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/filter_draw.c:200,1
    - Dst: opengl_vtable_t*::GenBuffers
      Src: /src/vlc/modules/video_output/opengl/filter_draw.c:202,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/filter_draw.c:213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 4
    argNames:
    - filter
    - config
    - sampler
    - size_out
    argTypes:
    - struct vlc_gl_filter*
    - config_chain_t*
    - struct vlc_gl_sampler*
    - struct vlc_gl_tex_size*
    assertStmts:
    - condition: (sys->loc.tex_coords_in != -1)
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/vlc/modules/video_output/opengl/filter_draw.c
    - condition: (sys->loc.vertex_pos != -1)
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/vlc/modules/video_output/opengl/filter_draw.c
    constantsTouched: []
    func_position:
      end: 215
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 215
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/opengl/filter_draw.c
    functionUses: 65
    functionsReached:
    - assert
    - ARRAY_SIZE
    - opengl_vtable_t*::GetAttribLocation
    - var_InheritBool
    - opengl_vtable_t*::GenBuffers
    - vlc_gl_api_Init
    - config_ChainParse
    - free
    - VLC_OBJECT
    - vlc_gl_sampler_FetchLocations
    - vlc_gl_BuildProgram
    - malloc
    linkageType: ''
    returnType: int
    signature: "int Open(struct vlc_gl_filter *filter, const config_chain_t *config,\n
      \    struct vlc_gl_sampler *sampler, struct vlc_gl_tex_size *size_out)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:87,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:87,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:87,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:87,1
    - Dst: ActiveD3D9PictureSys
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:91,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:92,1
    - Dst: struct glpriv*::vt::DXUnlockObjectsNV
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:95,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:97,1
    - Dst: GetD3D9OpaqueContext
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:101,1
    - Dst: IDXVAHD_VideoProcessor_VideoProcessBltHD
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:108,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:109,1
    - Dst: IDirect3DSurface9_GetDesc
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:111,1
    - Dst: IDirect3DSurface9_GetDesc
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:112,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:114,1
    - Dst: IDirect3DDevice9Ex_PresentEx
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:120,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:121,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:123,1
    - Dst: IDirect3DDevice9Ex_StretchRect
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:135,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:137,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:139,1
    - Dst: struct glpriv*::vt::DXLockObjectsNV
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:144,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:146,1
    - Dst: struct glpriv*::vt::DXUnregisterObjectNV
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:147,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 6
    argNames:
    - interop
    - textures
    - tex_width
    - tex_height
    - pic
    - plane_offset
    argTypes:
    - struct vlc_gl_interop*
    - uint32_t[]
    - int32_t[]
    - int32_t[]
    - picture_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 153
    functionName: GLConvUpdate
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_dxva2.c
    functionUses: 0
    functionsReached:
    - IDXVAHD_VideoProcessor_VideoProcessBltHD
    - GetD3D9OpaqueContext
    - FAILED
    - IDirect3DDevice9Ex_PresentEx
    - VLC_UNUSED
    - IDirect3DSurface9_GetDesc
    - msg_Dbg
    - struct glpriv*::vt::DXUnregisterObjectNV
    - msg_Warn
    - IDirect3DDevice9Ex_StretchRect
    - ActiveD3D9PictureSys
    - struct glpriv*::vt::DXLockObjectsNV
    - unlikely
    - struct glpriv*::vt::DXUnlockObjectsNV
    linkageType: ''
    returnType: int
    signature: "int GLConvUpdate(const struct vlc_gl_interop *interop, uint32_t textures[],\n
      \            const int32_t tex_width[], const int32_t tex_height[],\n             picture_t
      *pic, const size_t *plane_offset)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:159,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:159,1
    - Dst: struct glpriv*::vt::DXRegisterObjectNV
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:163,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:167,1
    - Dst: GetLastError
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:167,1
    - Dst: struct glpriv*::vt::DXLockObjectsNV
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:171,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:173,1
    - Dst: struct glpriv*::vt::DXUnregisterObjectNV
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - interop
    - textures
    - tex_width
    - tex_height
    argTypes:
    - struct vlc_gl_interop*
    - uint32_t[]
    - int32_t[]
    - int32_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 180
    functionName: GLConvAllocateTextures
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_dxva2.c
    functionUses: 0
    functionsReached:
    - struct glpriv*::vt::DXRegisterObjectNV
    - GetLastError
    - struct glpriv*::vt::DXUnregisterObjectNV
    - msg_Warn
    - struct glpriv*::vt::DXLockObjectsNV
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int GLConvAllocateTextures(const struct vlc_gl_interop *interop, uint32_t
      textures[],\n                       const int32_t tex_width[], const int32_t
      tex_height[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct glpriv*::vt::DXUnlockObjectsNV
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:190,1
    - Dst: struct glpriv*::vt::DXUnregisterObjectNV
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - interop
    - textures
    argTypes:
    - struct vlc_gl_interop*
    - uint32_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 194
    functionName: GLConvDeallocateTextures
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_dxva2.c
    functionUses: 0
    functionsReached:
    - struct glpriv*::vt::DXUnregisterObjectNV
    - struct glpriv*::vt::DXUnlockObjectsNV
    linkageType: ''
    returnType: void
    signature: void GLConvDeallocateTextures(const struct vlc_gl_interop *interop,
      uint32_t textures[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct glpriv*::vt::DXCloseDeviceNV
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:203,1
    - Dst: IDXVAHD_VideoProcessor_Release
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:207,1
    - Dst: IDirect3DSurface9_Release
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:211,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - interop
    argTypes:
    - struct vlc_gl_interop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 214
    functionName: GLConvClose
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_dxva2.c
    functionUses: 0
    functionsReached:
    - free
    - IDirect3DSurface9_Release
    - IDXVAHD_VideoProcessor_Release
    - struct glpriv*::vt::DXCloseDeviceNV
    linkageType: ''
    returnType: void
    signature: void GLConvClose(struct vlc_gl_interop *interop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IDXVAHD_VideoProcessor_SetVideoProcessStreamState
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:220,1
    - Dst: IDXVAHD_VideoProcessor_SetVideoProcessStreamState
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:223,1
    - Dst: IDXVAHD_VideoProcessor_SetVideoProcessStreamState
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:231,1
    - Dst: IDXVAHD_VideoProcessor_SetVideoProcessStreamState
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:241,1
    - Dst: IDXVAHD_VideoProcessor_SetVideoProcessBltState
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - interop
    - fmt
    - src_format
    argTypes:
    - struct vlc_gl_interop*
    - video_format_t*
    - D3DFORMAT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 252
    functionName: SetupProcessorInput
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_dxva2.c
    functionUses: 1
    functionsReached:
    - IDXVAHD_VideoProcessor_SetVideoProcessStreamState
    - IDXVAHD_VideoProcessor_SetVideoProcessBltState
    linkageType: ''
    returnType: void
    signature: void SetupProcessorInput(struct vlc_gl_interop *interop, const video_format_t
      *fmt, D3DFORMAT src_format)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - r
    - fmt
    argTypes:
    - DXVAHD_RATIONAL*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: GetFrameRate
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_dxva2.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFrameRate(DXVAHD_RATIONAL *r, const video_format_t *fmt)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: GetFrameRate
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:280,1
    - Dst: DXVAHD_CreateDevice
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:287,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:288,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:290,1
    - Dst: IDXVAHD_Device_GetVideoProcessorDeviceCaps
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:295,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:296,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:296,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:298,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:303,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:307,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:308,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:310,1
    - Dst: IDXVAHD_Device_GetVideoProcessorInputFormats
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:314,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:323,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:327,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:328,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:329,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:331,1
    - Dst: IDXVAHD_Device_GetVideoProcessorOutputFormats
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:335,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:343,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:347,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:348,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:350,1
    - Dst: IDXVAHD_Device_GetVideoProcessorCaps
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:353,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:354,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:356,1
    - Dst: IDXVAHD_Device_CreateVideoProcessor
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:360,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:361,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:363,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:367,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:368,1
    - Dst: IDXVAHD_Device_Release
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:369,1
    - Dst: SetupProcessorInput
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:371,1
    - Dst: IDXVAHD_VideoProcessor_SetVideoProcessBltState
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:379,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:384,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:385,1
    - Dst: IDXVAHD_Device_Release
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:387,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 89
    argCount: 3
    argNames:
    - interop
    - devex
    - src_format
    argTypes:
    - struct vlc_gl_interop*
    - IDirect3DDevice9Ex*
    - D3DFORMAT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 389
    functionName: InitRangeProcessor
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_dxva2.c
    functionUses: 1
    functionsReached:
    - IDXVAHD_Device_GetVideoProcessorOutputFormats
    - IDXVAHD_Device_GetVideoProcessorDeviceCaps
    - DXVAHD_CreateDevice
    - FAILED
    - IDXVAHD_Device_GetVideoProcessorInputFormats
    - IDXVAHD_VideoProcessor_SetVideoProcessBltState
    - msg_Err
    - free
    - IDXVAHD_Device_Release
    - msg_Dbg
    - msg_Warn
    - vlc_alloc
    - GetFrameRate
    - IDXVAHD_Device_GetVideoProcessorCaps
    - SetupProcessorInput
    - IDXVAHD_Device_CreateVideoProcessor
    - unlikely
    linkageType: ''
    returnType: int
    signature: int InitRangeProcessor(struct vlc_gl_interop *interop, IDirect3DDevice9Ex
      *devex, D3DFORMAT src_format)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: GetD3D9ContextPrivate
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:398,1
    - Dst: GetD3D9OpaqueContext
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:399,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:405,1
    - Dst: wglGetCurrentContext
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:408,1
    - Dst: LOAD_EXT
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:422,1
    - Dst: LOAD_EXT
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:423,1
    - Dst: struct wgl_vt::GetExtensionsStringEXT
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:428,1
    - Dst: wglGetCurrentDC
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:432,1
    - Dst: struct wgl_vt::GetExtensionsStringARB
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:435,1
    - Dst: vlc_gl_StrHasToken
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:438,1
    - Dst: LOAD_EXT
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:440,1
    - Dst: LOAD_EXT
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:441,1
    - Dst: LOAD_EXT
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:442,1
    - Dst: LOAD_EXT
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:443,1
    - Dst: LOAD_EXT
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:444,1
    - Dst: LOAD_EXT
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:445,1
    - Dst: LOAD_EXT
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:446,1
    - Dst: calloc
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:448,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:456,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:461,1
    - Dst: InitRangeProcessor
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:462,1
    - Dst: IDirect3D9_CheckDeviceFormatConversion
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:469,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:473,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:475,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:478,1
    - Dst: IDirect3DDevice9Ex_CreateRenderTarget
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:482,1
    - Dst: FAILED
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:488,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:490,1
    - Dst: struct glpriv*::vt::DXSetResourceShareHandleNV
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:495,1
    - Dst: struct glpriv*::vt::DXOpenDeviceNV
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:497,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:500,1
    - Dst: GetLastError
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:500,1
    - Dst: video_format_TransformBy
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:513,1
    - Dst: GLConvClose
      Src: /src/vlc/modules/video_output/opengl/interop_dxva2.c:531,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 75
    argCount: 1
    argNames:
    - interop
    argTypes:
    - struct vlc_gl_interop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 533
    functionName: GLConvOpen
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_dxva2.c
    functionUses: 0
    functionsReached:
    - GetD3D9ContextPrivate
    - InitRangeProcessor
    - GetLastError
    - struct wgl_vt::GetExtensionsStringEXT
    - struct glpriv*::vt::DXOpenDeviceNV
    - IDirect3DDevice9Ex_CreateRenderTarget
    - vlc_gl_StrHasToken
    - video_format_TransformBy
    - calloc
    - LOAD_EXT
    - msg_Dbg
    - msg_Warn
    - wglGetCurrentDC
    - GetD3D9OpaqueContext
    - var_InheritBool
    - struct wgl_vt::GetExtensionsStringARB
    - struct glpriv*::vt::DXSetResourceShareHandleNV
    - GLConvClose
    - wglGetCurrentContext
    - FAILED
    - IDirect3D9_CheckDeviceFormatConversion
    linkageType: ''
    returnType: int
    signature: int GLConvOpen(struct vlc_gl_interop *interop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 421
    functionName: LOAD_EXT
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_dxva2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD_EXT(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sampler
    argTypes:
    - struct vlc_gl_sampler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: PRIV
    functionSourceFile: /src/vlc/modules/video_output/opengl/sampler.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: struct sampler_priv
    signature: 'struct sampler_priv *

      PRIV(struct vlc_gl_sampler *sampler)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/vlc/modules/video_output/opengl/sampler.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sampler
    - picture
    argTypes:
    - struct vlc_gl_sampler*
    - struct vlc_gl_picture*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: sampler_update
    functionSourceFile: /src/vlc/modules/video_output/opengl/sampler.c
    functionUses: 0
    functionsReached:
    - PRIV
    linkageType: ''
    returnType: int
    signature: "int sampler_update(struct vlc_gl_sampler *sampler,\n               const
      struct vlc_gl_picture *picture)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/vlc/modules/video_output/opengl/sampler.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sampler
    - plane
    argTypes:
    - struct vlc_gl_sampler*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: sampler_select_plane
    functionSourceFile: /src/vlc/modules/video_output/opengl/sampler.c
    functionUses: 0
    functionsReached:
    - PRIV
    linkageType: ''
    returnType: void
    signature: void sampler_select_plane(struct vlc_gl_sampler *sampler, unsigned
      plane)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/vlc/modules/video_output/opengl/sampler.c:107,1
    - Dst: FREENULL
      Src: /src/vlc/modules/video_output/opengl/sampler.c:108,1
    - Dst: FREENULL
      Src: /src/vlc/modules/video_output/opengl/sampler.c:109,1
    - Dst: pl_shader_free
      Src: /src/vlc/modules/video_output/opengl/sampler.c:110,1
    - Dst: pl_shader_obj_destroy
      Src: /src/vlc/modules/video_output/opengl/sampler.c:111,1
    - Dst: pl_shader_obj_destroy
      Src: /src/vlc/modules/video_output/opengl/sampler.c:112,1
    - Dst: pl_shader_obj_destroy
      Src: /src/vlc/modules/video_output/opengl/sampler.c:113,1
    - Dst: pl_opengl_destroy
      Src: /src/vlc/modules/video_output/opengl/sampler.c:114,1
    - Dst: pl_log_destroy
      Src: /src/vlc/modules/video_output/opengl/sampler.c:115,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/sampler.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - sampler
    argTypes:
    - struct vlc_gl_sampler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 118
    functionName: sampler_close
    functionSourceFile: /src/vlc/modules/video_output/opengl/sampler.c
    functionUses: 0
    functionsReached:
    - pl_shader_free
    - pl_opengl_destroy
    - pl_shader_obj_destroy
    - free
    - PRIV
    - FREENULL
    - pl_log_destroy
    linkageType: ''
    returnType: void
    signature: void sampler_close(struct vlc_gl_sampler *sampler)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - KR
    - ','
    - KB
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: MATRIX_YUV_TO_RGB
    functionSourceFile: /src/vlc/modules/video_output/opengl/sampler.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATRIX_YUV_TO_RGB(KR, KB)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - KR
    - ','
    - KG
    - ','
    - KB
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionName: MATRIX_YUV_TO_RGB_
    functionSourceFile: /src/vlc/modules/video_output/opengl/sampler.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATRIX_YUV_TO_RGB_(KR, KG, KB)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - conv_matrix_out
    - color_space
    - color_range
    argTypes:
    - float[]
    - video_color_space_t
    - video_color_range_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 208
    functionName: init_conv_matrix
    functionSourceFile: /src/vlc/modules/video_output/opengl/sampler.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void init_conv_matrix(float conv_matrix_out[],\n                 video_color_space_t
      color_space,\n                 video_color_range_t color_range)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/vlc/modules/video_output/opengl/sampler.c:215,1
    - Dst: init_conv_matrix
      Src: /src/vlc/modules/video_output/opengl/sampler.c:220,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/opengl/sampler.c:286,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/opengl/sampler.c:288,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/opengl/sampler.c:290,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - sampler
    - desc
    - yuv_space
    argTypes:
    - struct vlc_gl_sampler*
    - vlc_chroma_description_t*
    - video_color_space_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 293
    functionName: sampler_yuv_base_init
    functionSourceFile: /src/vlc/modules/video_output/opengl/sampler.c
    functionUses: 0
    functionsReached:
    - memcpy
    - PRIV
    - init_conv_matrix
    linkageType: ''
    returnType: int
    signature: "int sampler_yuv_base_init(struct vlc_gl_sampler *sampler,\n                      const
      vlc_chroma_description_t *desc,\n                      video_color_space_t yuv_space)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/vlc/modules/video_output/opengl/sampler.c:298,1
    - Dst: opengl_vtable_t*::GetUniformLocation
      Src: /src/vlc/modules/video_output/opengl/sampler.c:304,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/sampler.c:305,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_output/opengl/sampler.c:315,1
    - Dst: snprintf
      Src: /src/vlc/modules/video_output/opengl/sampler.c:321,1
    - Dst: opengl_vtable_t*::GetUniformLocation
      Src: /src/vlc/modules/video_output/opengl/sampler.c:322,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/sampler.c:323,1
    - Dst: snprintf
      Src: /src/vlc/modules/video_output/opengl/sampler.c:327,1
    - Dst: opengl_vtable_t*::GetUniformLocation
      Src: /src/vlc/modules/video_output/opengl/sampler.c:328,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/sampler.c:329,1
    - Dst: opengl_vtable_t*::GetUniformLocation
      Src: /src/vlc/modules/video_output/opengl/sampler.c:337,1
    - Dst: opengl_vtable_t*::GetUniformLocation
      Src: /src/vlc/modules/video_output/opengl/sampler.c:342,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - sampler
    - program
    argTypes:
    - struct vlc_gl_sampler*
    - uint32_t
    assertStmts:
    - condition: (priv->uloc.ConvMatrix != -1)
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/vlc/modules/video_output/opengl/sampler.c
    - condition: (priv->uloc.Textures[i] != -1)
      pos:
        line_end: 322
        line_start: 322
        source_file: /src/vlc/modules/video_output/opengl/sampler.c
    - condition: (priv->uloc.TexSizes[i] != -1)
      pos:
        line_end: 328
        line_start: 328
        source_file: /src/vlc/modules/video_output/opengl/sampler.c
    constantsTouched: []
    func_position:
      end: 345
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 345
    functionName: sampler_base_fetch_locations
    functionSourceFile: /src/vlc/modules/video_output/opengl/sampler.c
    functionUses: 0
    functionsReached:
    - assert
    - opengl_vtable_t*::GetUniformLocation
    - vlc_assert_unreachable
    - PRIV
    - snprintf
    linkageType: ''
    returnType: void
    signature: void sampler_base_fetch_locations(struct vlc_gl_sampler *sampler, uint32_t
      program)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/vlc/modules/video_output/opengl/sampler.c:350,1
    - Dst: opengl_vtable_t*::UniformMatrix4fv
      Src: /src/vlc/modules/video_output/opengl/sampler.c:356,1
    - Dst: opengl_vtable_t*::Uniform1i
      Src: /src/vlc/modules/video_output/opengl/sampler.c:361,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/sampler.c:363,1
    - Dst: opengl_vtable_t*::ActiveTexture
      Src: /src/vlc/modules/video_output/opengl/sampler.c:364,1
    - Dst: opengl_vtable_t*::BindTexture
      Src: /src/vlc/modules/video_output/opengl/sampler.c:365,1
    - Dst: opengl_vtable_t*::Uniform2f
      Src: /src/vlc/modules/video_output/opengl/sampler.c:372,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/sampler.c:386,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/sampler.c:387,1
    - Dst: opengl_vtable_t*::UniformMatrix4fv
      Src: /src/vlc/modules/video_output/opengl/sampler.c:391,1
    - Dst: opengl_vtable_t*::UniformMatrix3fv
      Src: /src/vlc/modules/video_output/opengl/sampler.c:392,1
    - Dst: opengl_vtable_t*::UniformMatrix2fv
      Src: /src/vlc/modules/video_output/opengl/sampler.c:393,1
    - Dst: opengl_vtable_t*::Uniform1fv
      Src: /src/vlc/modules/video_output/opengl/sampler.c:397,1
    - Dst: opengl_vtable_t*::Uniform2fv
      Src: /src/vlc/modules/video_output/opengl/sampler.c:398,1
    - Dst: opengl_vtable_t*::Uniform3fv
      Src: /src/vlc/modules/video_output/opengl/sampler.c:399,1
    - Dst: opengl_vtable_t*::Uniform4fv
      Src: /src/vlc/modules/video_output/opengl/sampler.c:400,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/sampler.c:411,1
    - Dst: pl_opengl_unwrap
      Src: /src/vlc/modules/video_output/opengl/sampler.c:415,1
    - Dst: opengl_vtable_t*::Uniform1i
      Src: /src/vlc/modules/video_output/opengl/sampler.c:416,1
    - Dst: opengl_vtable_t*::ActiveTexture
      Src: /src/vlc/modules/video_output/opengl/sampler.c:417,1
    - Dst: opengl_vtable_t*::BindTexture
      Src: /src/vlc/modules/video_output/opengl/sampler.c:418,1
    - Dst: opengl_vtable_t*::TexParameteri
      Src: /src/vlc/modules/video_output/opengl/sampler.c:433,1
    - Dst: opengl_vtable_t*::TexParameteri
      Src: /src/vlc/modules/video_output/opengl/sampler.c:434,1
    - Dst: pl_tex_params_dimension
      Src: /src/vlc/modules/video_output/opengl/sampler.c:435,1
    - Dst: opengl_vtable_t*::TexParameteri
      Src: /src/vlc/modules/video_output/opengl/sampler.c:436,1
    - Dst: opengl_vtable_t*::TexParameteri
      Src: /src/vlc/modules/video_output/opengl/sampler.c:437,1
    - Dst: opengl_vtable_t*::TexParameteri
      Src: /src/vlc/modules/video_output/opengl/sampler.c:438,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 66
    argCount: 1
    argNames:
    - sampler
    argTypes:
    - struct vlc_gl_sampler*
    assertStmts:
    - condition: (var.type == PL_VAR_FLOAT)
      pos:
        line_end: 385
        line_start: 385
        source_file: /src/vlc/modules/video_output/opengl/sampler.c
    - condition: (sd.desc.type == PL_DESC_SAMPLED_TEX)
      pos:
        line_end: 410
        line_start: 410
        source_file: /src/vlc/modules/video_output/opengl/sampler.c
    - condition: (var.dim_m == 1 || var.dim_m == var.dim_v)
      pos:
        line_end: 386
        line_start: 386
        source_file: /src/vlc/modules/video_output/opengl/sampler.c
    - condition: (pic->textures[i] != 0)
      pos:
        line_end: 362
        line_start: 362
        source_file: /src/vlc/modules/video_output/opengl/sampler.c
    constantsTouched: []
    func_position:
      end: 442
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 442
    functionName: sampler_base_load
    functionSourceFile: /src/vlc/modules/video_output/opengl/sampler.c
    functionUses: 0
    functionsReached:
    - assert
    - opengl_vtable_t*::Uniform1fv
    - opengl_vtable_t*::UniformMatrix4fv
    - opengl_vtable_t*::Uniform2fv
    - opengl_vtable_t*::BindTexture
    - opengl_vtable_t*::Uniform1i
    - opengl_vtable_t*::UniformMatrix3fv
    - opengl_vtable_t*::UniformMatrix2fv
    - pl_tex_params_dimension
    - PRIV
    - opengl_vtable_t*::Uniform4fv
    - pl_opengl_unwrap
    - opengl_vtable_t*::Uniform2f
    - opengl_vtable_t*::TexParameteri
    - opengl_vtable_t*::Uniform3fv
    - opengl_vtable_t*::ActiveTexture
    linkageType: ''
    returnType: void
    signature: void sampler_base_load(struct vlc_gl_sampler *sampler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/vlc/modules/video_output/opengl/sampler.c:447,1
    - Dst: opengl_vtable_t*::GetUniformLocation
      Src: /src/vlc/modules/video_output/opengl/sampler.c:450,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/sampler.c:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sampler
    - program
    argTypes:
    - struct vlc_gl_sampler*
    - uint32_t
    assertStmts:
    - condition: (priv->uloc.Textures[0] != -1)
      pos:
        line_end: 450
        line_start: 450
        source_file: /src/vlc/modules/video_output/opengl/sampler.c
    constantsTouched: []
    func_position:
      end: 452
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 452
    functionName: sampler_xyz12_fetch_locations
    functionSourceFile: /src/vlc/modules/video_output/opengl/sampler.c
    functionUses: 0
    functionsReached:
    - PRIV
    - assert
    - opengl_vtable_t*::GetUniformLocation
    linkageType: ''
    returnType: void
    signature: void sampler_xyz12_fetch_locations(struct vlc_gl_sampler *sampler,
      uint32_t program)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/vlc/modules/video_output/opengl/sampler.c:457,1
    - Dst: opengl_vtable_t*::Uniform1i
      Src: /src/vlc/modules/video_output/opengl/sampler.c:461,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/sampler.c:463,1
    - Dst: opengl_vtable_t*::ActiveTexture
      Src: /src/vlc/modules/video_output/opengl/sampler.c:464,1
    - Dst: opengl_vtable_t*::BindTexture
      Src: /src/vlc/modules/video_output/opengl/sampler.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sampler
    argTypes:
    - struct vlc_gl_sampler*
    assertStmts:
    - condition: (pic->textures[0] != 0)
      pos:
        line_end: 462
        line_start: 462
        source_file: /src/vlc/modules/video_output/opengl/sampler.c
    constantsTouched: []
    func_position:
      end: 466
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 466
    functionName: sampler_xyz12_load
    functionSourceFile: /src/vlc/modules/video_output/opengl/sampler.c
    functionUses: 0
    functionsReached:
    - assert
    - opengl_vtable_t*::BindTexture
    - opengl_vtable_t*::Uniform1i
    - PRIV
    - opengl_vtable_t*::ActiveTexture
    linkageType: ''
    returnType: void
    signature: void sampler_xyz12_load(struct vlc_gl_sampler *sampler)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/video_output/opengl/sampler.c:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sampler
    argTypes:
    - struct vlc_gl_sampler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 514
    functionName: xyz12_shader_init
    functionSourceFile: /src/vlc/modules/video_output/opengl/sampler.c
    functionUses: 0
    functionsReached:
    - strdup
    linkageType: ''
    returnType: int
    signature: int xyz12_shader_init(struct vlc_gl_sampler *sampler)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/sampler.c:565,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/sampler.c:575,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 3
    argNames:
    - sampler
    - swizzle_per_tex
    - desc
    argTypes:
    - struct vlc_gl_sampler*
    - char*[]
    - vlc_chroma_description_t*
    assertStmts:
    - condition: (sampler->tex_count == 1)
      pos:
        line_end: 564
        line_start: 564
        source_file: /src/vlc/modules/video_output/opengl/sampler.c
    - condition: (!"missing chroma")
      pos:
        line_end: 574
        line_start: 574
        source_file: /src/vlc/modules/video_output/opengl/sampler.c
    constantsTouched: []
    func_position:
      end: 580
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 580
    functionName: opengl_init_swizzle
    functionSourceFile: /src/vlc/modules/video_output/opengl/sampler.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: "int opengl_init_swizzle(struct vlc_gl_sampler *sampler,\n                    const
      char *swizzle_per_tex[],\n                    const vlc_chroma_description_t
      *desc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/vlc/modules/video_output/opengl/sampler.c:586,1
    - Dst: vlc_fourcc_IsYUV
      Src: /src/vlc/modules/video_output/opengl/sampler.c:596,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_output/opengl/sampler.c:613,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - sampler
    - tex_target
    - glsl_sampler
    - texture
    argTypes:
    - struct vlc_gl_sampler*
    - GLenum
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 615
    functionName: GetNames
    functionSourceFile: /src/vlc/modules/video_output/opengl/sampler.c
    functionUses: 0
    functionsReached:
    - PRIV
    - vlc_fourcc_IsYUV
    - vlc_assert_unreachable
    linkageType: ''
    returnType: void
    signature: "void GetNames(struct vlc_gl_sampler *sampler, GLenum tex_target,\n
      \        const char **glsl_sampler, const char **texture)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/vlc/modules/video_output/opengl/sampler.c:620,1
    - Dst: vlc_fourcc_IsYUV
      Src: /src/vlc/modules/video_output/opengl/sampler.c:621,1
    - Dst: asprintf
      Src: /src/vlc/modules/video_output/opengl/sampler.c:642,1
    - Dst: FREENULL
      Src: /src/vlc/modules/video_output/opengl/sampler.c:646,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - sampler
    - tex_target
    argTypes:
    - struct vlc_gl_sampler*
    - GLenum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 617
    functionDepth: 2
    functionLinenumber: 617
    functionLinenumberEnd: 651
    functionName: InitShaderExtensions
    functionSourceFile: /src/vlc/modules/video_output/opengl/sampler.c
    functionUses: 0
    functionsReached:
    - asprintf
    - PRIV
    - vlc_fourcc_IsYUV
    - FREENULL
    linkageType: ''
    returnType: int
    signature: int InitShaderExtensions(struct vlc_gl_sampler *sampler, GLenum tex_target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/vlc/modules/video_output/opengl/sampler.c:656,1
    - Dst: opengl_vtable_t*::GetUniformLocation
      Src: /src/vlc/modules/video_output/opengl/sampler.c:660,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/sampler.c:661,1
    - Dst: opengl_vtable_t*::GetUniformLocation
      Src: /src/vlc/modules/video_output/opengl/sampler.c:665,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/sampler.c:666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - sampler
    - program
    argTypes:
    - struct vlc_gl_sampler*
    - uint32_t
    assertStmts:
    - condition: (priv->uloc.TexSizes[0] != -1)
      pos:
        line_end: 665
        line_start: 665
        source_file: /src/vlc/modules/video_output/opengl/sampler.c
    - condition: (priv->uloc.Textures[0] != -1)
      pos:
        line_end: 660
        line_start: 660
        source_file: /src/vlc/modules/video_output/opengl/sampler.c
    constantsTouched: []
    func_position:
      end: 668
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 668
    functionName: sampler_planes_fetch_locations
    functionSourceFile: /src/vlc/modules/video_output/opengl/sampler.c
    functionUses: 0
    functionsReached:
    - PRIV
    - assert
    - opengl_vtable_t*::GetUniformLocation
    linkageType: ''
    returnType: void
    signature: void sampler_planes_fetch_locations(struct vlc_gl_sampler *sampler,
      uint32_t program)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/vlc/modules/video_output/opengl/sampler.c:673,1
    - Dst: opengl_vtable_t*::Uniform1i
      Src: /src/vlc/modules/video_output/opengl/sampler.c:679,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/sampler.c:681,1
    - Dst: opengl_vtable_t*::ActiveTexture
      Src: /src/vlc/modules/video_output/opengl/sampler.c:682,1
    - Dst: opengl_vtable_t*::BindTexture
      Src: /src/vlc/modules/video_output/opengl/sampler.c:683,1
    - Dst: opengl_vtable_t*::Uniform2f
      Src: /src/vlc/modules/video_output/opengl/sampler.c:687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sampler
    argTypes:
    - struct vlc_gl_sampler*
    assertStmts:
    - condition: (pic->textures[plane] != 0)
      pos:
        line_end: 680
        line_start: 680
        source_file: /src/vlc/modules/video_output/opengl/sampler.c
    constantsTouched: []
    func_position:
      end: 690
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 690
    functionName: sampler_planes_load
    functionSourceFile: /src/vlc/modules/video_output/opengl/sampler.c
    functionUses: 0
    functionsReached:
    - assert
    - opengl_vtable_t*::BindTexture
    - opengl_vtable_t*::Uniform1i
    - PRIV
    - opengl_vtable_t*::Uniform2f
    - opengl_vtable_t*::ActiveTexture
    linkageType: ''
    returnType: void
    signature: void sampler_planes_load(struct vlc_gl_sampler *sampler)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_memstream_open
      Src: /src/vlc/modules/video_output/opengl/sampler.c:698,1
    - Dst: GetNames
      Src: /src/vlc/modules/video_output/opengl/sampler.c:706,1
    - Dst: ADDF
      Src: /src/vlc/modules/video_output/opengl/sampler.c:708,1
    - Dst: ADD
      Src: /src/vlc/modules/video_output/opengl/sampler.c:711,1
    - Dst: ADD
      Src: /src/vlc/modules/video_output/opengl/sampler.c:713,1
    - Dst: ADD
      Src: /src/vlc/modules/video_output/opengl/sampler.c:718,1
    - Dst: ADDF
      Src: /src/vlc/modules/video_output/opengl/sampler.c:721,1
    - Dst: ADD
      Src: /src/vlc/modules/video_output/opengl/sampler.c:722,1
    - Dst: vlc_memstream_close
      Src: /src/vlc/modules/video_output/opengl/sampler.c:727,1
    - Dst: InitShaderExtensions
      Src: /src/vlc/modules/video_output/opengl/sampler.c:730,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/sampler.c:733,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - sampler
    argTypes:
    - struct vlc_gl_sampler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 692
    functionDepth: 3
    functionLinenumber: 692
    functionLinenumberEnd: 748
    functionName: sampler_planes_init
    functionSourceFile: /src/vlc/modules/video_output/opengl/sampler.c
    functionUses: 0
    functionsReached:
    - InitShaderExtensions
    - ADD
    - vlc_memstream_open
    - free
    - vlc_memstream_close
    - ADDF
    - GetNames
    linkageType: ''
    returnType: int
    signature: int sampler_planes_init(struct vlc_gl_sampler *sampler)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 702
    functionName: ADD
    functionSourceFile: /src/vlc/modules/video_output/opengl/sampler.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 703
    functionName: ADDF
    functionSourceFile: /src/vlc/modules/video_output/opengl/sampler.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADDF(x, ...)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/vlc/modules/video_output/opengl/sampler.c:754,1
    - Dst: vlc_fopen
      Src: /src/vlc/modules/video_output/opengl/sampler.c:758,1
    - Dst: fseek
      Src: /src/vlc/modules/video_output/opengl/sampler.c:763,1
    - Dst: ftell
      Src: /src/vlc/modules/video_output/opengl/sampler.c:766,1
    - Dst: rewind
      Src: /src/vlc/modules/video_output/opengl/sampler.c:769,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_output/opengl/sampler.c:771,1
    - Dst: fread
      Src: /src/vlc/modules/video_output/opengl/sampler.c:774,1
    - Dst: pl_lut_parse_cube
      Src: /src/vlc/modules/video_output/opengl/sampler.c:778,1
    - Dst: fclose
      Src: /src/vlc/modules/video_output/opengl/sampler.c:783,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/sampler.c:784,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 2
    argNames:
    - sampler
    - filepath
    argTypes:
    - struct vlc_gl_sampler*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 786
    functionName: LoadCustomLUT
    functionSourceFile: /src/vlc/modules/video_output/opengl/sampler.c
    functionUses: 0
    functionsReached:
    - ftell
    - rewind
    - fread
    - pl_lut_parse_cube
    - fseek
    - free
    - vlc_fopen
    - PRIV
    - vlc_alloc
    - fclose
    linkageType: ''
    returnType: struct pl_custom_lut
    signature: "struct pl_custom_lut *LoadCustomLUT(struct vlc_gl_sampler *sampler,\n
      \                                          const char *filepath)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: PRIV
      Src: /src/vlc/modules/video_output/opengl/sampler.c:792,1
    - Dst: vlc_fourcc_IsYUV
      Src: /src/vlc/modules/video_output/opengl/sampler.c:804,1
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/video_output/opengl/sampler.c:807,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/sampler.c:810,1
    - Dst: sampler_planes_init
      Src: /src/vlc/modules/video_output/opengl/sampler.c:817,1
    - Dst: xyz12_shader_init
      Src: /src/vlc/modules/video_output/opengl/sampler.c:821,1
    - Dst: sampler_yuv_base_init
      Src: /src/vlc/modules/video_output/opengl/sampler.c:828,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/sampler.c:831,1
    - Dst: opengl_init_swizzle
      Src: /src/vlc/modules/video_output/opengl/sampler.c:836,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/sampler.c:839,1
    - Dst: GetNames
      Src: /src/vlc/modules/video_output/opengl/sampler.c:846,1
    - Dst: vlc_memstream_open
      Src: /src/vlc/modules/video_output/opengl/sampler.c:849,1
    - Dst: ADDF
      Src: /src/vlc/modules/video_output/opengl/sampler.c:855,1
    - Dst: vlc_placebo_ColorMapParams
      Src: /src/vlc/modules/video_output/opengl/sampler.c:861,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/opengl/sampler.c:861,1
    - Dst: vlc_placebo_ColorSpace
      Src: /src/vlc/modules/video_output/opengl/sampler.c:863,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/opengl/sampler.c:865,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/opengl/sampler.c:866,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/opengl/sampler.c:868,1
    - Dst: LoadCustomLUT
      Src: /src/vlc/modules/video_output/opengl/sampler.c:869,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/sampler.c:870,1
    - Dst: pl_color_space_merge
      Src: /src/vlc/modules/video_output/opengl/sampler.c:875,1
    - Dst: pl_shader_color_map
      Src: /src/vlc/modules/video_output/opengl/sampler.c:878,1
    - Dst: pl_shader_custom_lut
      Src: /src/vlc/modules/video_output/opengl/sampler.c:882,1
    - Dst: pl_lut_free
      Src: /src/vlc/modules/video_output/opengl/sampler.c:883,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/opengl/sampler.c:886,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/opengl/sampler.c:890,1
    - Dst: opengl_vtable_t*::GetFramebufferAttachmentParameteriv
      Src: /src/vlc/modules/video_output/opengl/sampler.c:902,1
    - Dst: pl_shader_dither
      Src: /src/vlc/modules/video_output/opengl/sampler.c:912,1
    - Dst: pl_shader_finalize
      Src: /src/vlc/modules/video_output/opengl/sampler.c:917,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/sampler.c:919,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/sampler.c:921,1
    - Dst: FREENULL
      Src: /src/vlc/modules/video_output/opengl/sampler.c:924,1
    - Dst: calloc
      Src: /src/vlc/modules/video_output/opengl/sampler.c:925,1
    - Dst: pl_var_glsl_type_name
      Src: /src/vlc/modules/video_output/opengl/sampler.c:928,1
    - Dst: ADDF
      Src: /src/vlc/modules/video_output/opengl/sampler.c:929,1
    - Dst: ADDF
      Src: /src/vlc/modules/video_output/opengl/sampler.c:931,1
    - Dst: ADDF
      Src: /src/vlc/modules/video_output/opengl/sampler.c:933,1
    - Dst: FREENULL
      Src: /src/vlc/modules/video_output/opengl/sampler.c:937,1
    - Dst: calloc
      Src: /src/vlc/modules/video_output/opengl/sampler.c:938,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/sampler.c:941,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/sampler.c:943,1
    - Dst: pl_tex_params_dimension
      Src: /src/vlc/modules/video_output/opengl/sampler.c:944,1
    - Dst: ADDF
      Src: /src/vlc/modules/video_output/opengl/sampler.c:945,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/sampler.c:949,1
    - Dst: ADD
      Src: /src/vlc/modules/video_output/opengl/sampler.c:951,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/opengl/sampler.c:958,1
    - Dst: ADDF
      Src: /src/vlc/modules/video_output/opengl/sampler.c:964,1
    - Dst: ADD
      Src: /src/vlc/modules/video_output/opengl/sampler.c:967,1
    - Dst: ADD
      Src: /src/vlc/modules/video_output/opengl/sampler.c:969,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/sampler.c:974,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/sampler.c:975,1
    - Dst: ADD
      Src: /src/vlc/modules/video_output/opengl/sampler.c:980,1
    - Dst: ADDF
      Src: /src/vlc/modules/video_output/opengl/sampler.c:997,1
    - Dst: ADDF
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1000,1
    - Dst: ADD
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1005,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1010,1
    - Dst: strlen
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1011,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1012,1
    - Dst: ADD
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1014,1
    - Dst: ADDF
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1019,1
    - Dst: ADDF
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1024,1
    - Dst: ADDF
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1028,1
    - Dst: ADD
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1032,1
    - Dst: ADD
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1034,1
    - Dst: ADD
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1035,1
    - Dst: ADD
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1040,1
    - Dst: ADDF
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1042,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1045,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1051,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1052,1
    - Dst: ADDF
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1053,1
    - Dst: ADD
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1058,1
    - Dst: vlc_memstream_close
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1064,1
    - Dst: InitShaderExtensions
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1067,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1070,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 145
    argCount: 2
    argNames:
    - sampler
    - expose_planes
    argTypes:
    - struct vlc_gl_sampler*
    - bool
    assertStmts:
    - condition: (sd.desc.type == PL_DESC_SAMPLED_TEX)
      pos:
        line_end: 940
        line_start: 940
        source_file: /src/vlc/modules/video_output/opengl/sampler.c
    - condition: (swizzle)
      pos:
        line_end: 1009
        line_start: 1009
        source_file: /src/vlc/modules/video_output/opengl/sampler.c
    - condition: (yuv_space == COLOR_SPACE_UNDEF || color_count == 3 || color_count
        == 4)
      pos:
        line_end: 1044
        line_start: 1044
        source_file: /src/vlc/modules/video_output/opengl/sampler.c
    - condition: (res->num_vertex_attribs == 0)
      pos:
        line_end: 948
        line_start: 948
        source_file: /src/vlc/modules/video_output/opengl/sampler.c
    - condition: (tex->sampler_type == PL_SAMPLER_NORMAL)
      pos:
        line_end: 942
        line_start: 942
        source_file: /src/vlc/modules/video_output/opengl/sampler.c
    - condition: (tex_count == 1)
      pos:
        line_end: 974
        line_start: 974
        source_file: /src/vlc/modules/video_output/opengl/sampler.c
    - condition: (is_yuv)
      pos:
        line_end: 973
        line_start: 973
        source_file: /src/vlc/modules/video_output/opengl/sampler.c
    - condition: (res->output == PL_SHADER_SIG_COLOR)
      pos:
        line_end: 1051
        line_start: 1051
        source_file: /src/vlc/modules/video_output/opengl/sampler.c
    - condition: (res->input  == PL_SHADER_SIG_COLOR)
      pos:
        line_end: 1050
        line_start: 1050
        source_file: /src/vlc/modules/video_output/opengl/sampler.c
    - condition: (color_count < PICTURE_PLANE_MAX)
      pos:
        line_end: 1011
        line_start: 1011
        source_file: /src/vlc/modules/video_output/opengl/sampler.c
    constantsTouched: []
    func_position:
      end: 1085
      start: 789
    functionDepth: 4
    functionLinenumber: 789
    functionLinenumberEnd: 1085
    functionName: opengl_fragment_shader_init
    functionSourceFile: /src/vlc/modules/video_output/opengl/sampler.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_memstream_open
    - pl_shader_dither
    - FREENULL
    - ADDF
    - pl_color_space_merge
    - pl_var_glsl_type_name
    - vlc_placebo_ColorSpace
    - calloc
    - PRIV
    - vlc_fourcc_IsYUV
    - msg_Dbg
    - xyz12_shader_init
    - pl_tex_params_dimension
    - msg_Warn
    - pl_shader_finalize
    - pl_shader_color_map
    - var_InheritInteger
    - LoadCustomLUT
    - vlc_fourcc_GetChromaDescription
    - sampler_planes_init
    - vlc_memstream_close
    - pl_shader_custom_lut
    - pl_lut_free
    - var_InheritString
    - InitShaderExtensions
    - ADD
    - strlen
    - free
    - vlc_placebo_ColorMapParams
    - sampler_yuv_base_init
    - opengl_init_swizzle
    - VLC_OBJECT
    - opengl_vtable_t*::GetFramebufferAttachmentParameteriv
    - GetNames
    linkageType: ''
    returnType: int
    signature: int opengl_fragment_shader_init(struct vlc_gl_sampler *sampler, bool
      expose_planes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 853
    functionName: ADD
    functionSourceFile: /src/vlc/modules/video_output/opengl/sampler.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 854
    functionName: ADDF
    functionSourceFile: /src/vlc/modules/video_output/opengl/sampler.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADDF(x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_GetProcAddress
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opaque
    - name
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1088
    functionDepth: 1
    functionLinenumber: 1088
    functionLinenumberEnd: 1092
    functionName: PlaceboGetProcAddr
    functionSourceFile: /src/vlc/modules/video_output/opengl/sampler.c
    functionUses: 0
    functionsReached:
    - vlc_gl_GetProcAddress
    linkageType: ''
    returnType: pl_voidfunc_t
    signature: pl_voidfunc_t PlaceboGetProcAddr(void *opaque, const char *name)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1099,1
    - Dst: vlc_gl_api_Init
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1107,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1110,1
    - Dst: vlc_gl_LoadExtensionFunctions
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1115,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1117,1
    - Dst: asprintf
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1139,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1146,1
    - Dst: strdup
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1151,1
    - Dst: strdup
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1154,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1159,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1161,1
    - Dst: strdup
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1165,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1168,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1173,1
    - Dst: asprintf
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1174,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1176,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1178,1
    - Dst: vlc_placebo_CreateLog
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1188,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1188,1
    - Dst: opengl_vtable_t*::GetIntegerv
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1209,1
    - Dst: pl_opengl_create
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1211,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1214,1
    - Dst: pl_log_destroy
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1215,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1216,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1218,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1220,1
    - Dst: opengl_vtable_t*::BindFramebuffer
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1224,1
    - Dst: pl_shader_alloc
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1226,1
    - Dst: opengl_fragment_shader_init
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1235,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1238,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1239,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1241,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/sampler.c:1243,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 87
    argCount: 2
    argNames:
    - sampler
    - expose_planes
    argTypes:
    - struct vlc_gl_sampler*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1095
    functionDepth: 5
    functionLinenumber: 1095
    functionLinenumberEnd: 1248
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/opengl/sampler.c
    functionUses: 65
    functionsReached:
    - asprintf
    - vlc_placebo_CreateLog
    - strdup
    - pl_opengl_create
    - pl_shader_alloc
    - memcpy
    - vlc_gl_api_Init
    - calloc
    - free
    - __MIN
    - msg_Dbg
    - VLC_OBJECT
    - vlc_gl_LoadExtensionFunctions
    - pl_log_destroy
    - opengl_vtable_t*::GetIntegerv
    - opengl_vtable_t*::BindFramebuffer
    - opengl_fragment_shader_init
    linkageType: ''
    returnType: int
    signature: "int Open(struct vlc_gl_sampler *sampler,\n     bool expose_planes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct vlc_gl_interop*::ops::get_transform_matrix
      Src: /src/vlc/modules/video_output/opengl/importer.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - interop
    argTypes:
    - struct vlc_gl_interop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: GetTransformMatrix
    functionSourceFile: /src/vlc/modules/video_output/opengl/importer.c
    functionUses: 0
    functionsReached:
    - struct vlc_gl_interop*::ops::get_transform_matrix
    linkageType: ''
    returnType: GLfloat
    signature: 'GLfloat *

      GetTransformMatrix(const struct vlc_gl_interop *interop)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/opengl/importer.c:90,1
    - Dst: MATRIX_SET
      Src: /src/vlc/modules/video_output/opengl/importer.c:103,1
    - Dst: MATRIX_SET
      Src: /src/vlc/modules/video_output/opengl/importer.c:118,1
    - Dst: MATRIX_SET
      Src: /src/vlc/modules/video_output/opengl/importer.c:133,1
    - Dst: MATRIX_SET
      Src: /src/vlc/modules/video_output/opengl/importer.c:147,1
    - Dst: MATRIX_SET
      Src: /src/vlc/modules/video_output/opengl/importer.c:162,1
    - Dst: MATRIX_SET
      Src: /src/vlc/modules/video_output/opengl/importer.c:177,1
    - Dst: MATRIX_SET
      Src: /src/vlc/modules/video_output/opengl/importer.c:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - matrix
    - orientation
    argTypes:
    - float[]
    - video_orientation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 197
    functionName: InitOrientationMatrix
    functionSourceFile: /src/vlc/modules/video_output/opengl/importer.c
    functionUses: 0
    functionsReached:
    - MATRIX_SET
    - memcpy
    linkageType: ''
    returnType: void
    signature: void InitOrientationMatrix(float matrix[static 2*3], video_orientation_t
      orientation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - C0R0
    - ','
    - C1R0
    - ','
    - C3R0
    - ','
    - C0R1
    - ','
    - C1R1
    - ','
    - C3R1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: MATRIX_SET
    functionSourceFile: /src/vlc/modules/video_output/opengl/importer.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "MATRIX_SET(C0R0, C1R0, C3R0, \\\n                   C0R1, C1R1, C3R1)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/importer.c:202,1
    - Dst: malloc
      Src: /src/vlc/modules/video_output/opengl/importer.c:204,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/importer.c:218,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/opengl/importer.c:226,1
    - Dst: InitOrientationMatrix
      Src: /src/vlc/modules/video_output/opengl/importer.c:229,1
    - Dst: vlc_gl_LoadExtensionFunctions
      Src: /src/vlc/modules/video_output/opengl/importer.c:232,1
    - Dst: vlc_gl_interop_GenerateTextures
      Src: /src/vlc/modules/video_output/opengl/importer.c:248,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/importer.c:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - interop
    argTypes:
    - struct vlc_gl_interop*
    assertStmts:
    - condition: (interop)
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/vlc/modules/video_output/opengl/importer.c
    - condition: (!interop->fmt_out.p_palette)
      pos:
        line_end: 217
        line_start: 217
        source_file: /src/vlc/modules/video_output/opengl/importer.c
    constantsTouched: []
    func_position:
      end: 259
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 259
    functionName: vlc_gl_importer_New
    functionSourceFile: /src/vlc/modules/video_output/opengl/importer.c
    functionUses: 0
    functionsReached:
    - assert
    - InitOrientationMatrix
    - memcpy
    - free
    - vlc_gl_interop_GenerateTextures
    - vlc_gl_LoadExtensionFunctions
    - malloc
    linkageType: ''
    returnType: struct vlc_gl_importer
    signature: 'struct vlc_gl_importer *

      vlc_gl_importer_New(struct vlc_gl_interop *interop)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_interop_DeleteTextures
      Src: /src/vlc/modules/video_output/opengl/importer.c:268,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/importer.c:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - importer
    argTypes:
    - struct vlc_gl_importer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 272
    functionName: vlc_gl_importer_Delete
    functionSourceFile: /src/vlc/modules/video_output/opengl/importer.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_gl_interop_DeleteTextures
    linkageType: ''
    returnType: void
    signature: void vlc_gl_importer_Delete(struct vlc_gl_importer *importer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - float[]
    - float[]
    - float[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 291
    functionName: MatrixMultiply
    functionSourceFile: /src/vlc/modules/video_output/opengl/importer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MatrixMultiply(float out[static 2*3],\n               const float
      a[static 2*3], const float b[static 2*3])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MatrixMultiply
      Src: /src/vlc/modules/video_output/opengl/importer.c:302,1
    - Dst: MatrixMultiply
      Src: /src/vlc/modules/video_output/opengl/importer.c:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - importer
    argTypes:
    - struct vlc_gl_importer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 307
    functionName: UpdatePictureMatrix
    functionSourceFile: /src/vlc/modules/video_output/opengl/importer.c
    functionUses: 0
    functionsReached:
    - MatrixMultiply
    linkageType: ''
    returnType: void
    signature: void UpdatePictureMatrix(struct vlc_gl_importer *importer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/video_output/opengl/importer.c:326,1
    - Dst: COL
      Src: /src/vlc/modules/video_output/opengl/importer.c:390,1
    - Dst: ROW
      Src: /src/vlc/modules/video_output/opengl/importer.c:390,1
    - Dst: COL
      Src: /src/vlc/modules/video_output/opengl/importer.c:391,1
    - Dst: ROW
      Src: /src/vlc/modules/video_output/opengl/importer.c:391,1
    - Dst: COL
      Src: /src/vlc/modules/video_output/opengl/importer.c:392,1
    - Dst: ROW
      Src: /src/vlc/modules/video_output/opengl/importer.c:392,1
    - Dst: COL
      Src: /src/vlc/modules/video_output/opengl/importer.c:393,1
    - Dst: ROW
      Src: /src/vlc/modules/video_output/opengl/importer.c:393,1
    - Dst: struct vlc_gl_interop*::ops::update_textures
      Src: /src/vlc/modules/video_output/opengl/importer.c:406,1
    - Dst: GetTransformMatrix
      Src: /src/vlc/modules/video_output/opengl/importer.c:411,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/opengl/importer.c:413,1
    - Dst: UpdatePictureMatrix
      Src: /src/vlc/modules/video_output/opengl/importer.c:425,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - importer
    - picture
    argTypes:
    - struct vlc_gl_importer*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 433
    functionName: vlc_gl_importer_Update
    functionSourceFile: /src/vlc/modules/video_output/opengl/importer.c
    functionUses: 0
    functionsReached:
    - UpdatePictureMatrix
    - memset
    - COL
    - memcpy
    - ROW
    - GetTransformMatrix
    - struct vlc_gl_interop*::ops::update_textures
    linkageType: ''
    returnType: int
    signature: int vlc_gl_importer_Update(struct vlc_gl_importer *importer, picture_t
      *picture)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 389
    functionName: COL
    functionSourceFile: /src/vlc/modules/video_output/opengl/importer.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 390
    functionName: ROW
    functionSourceFile: /src/vlc/modules/video_output/opengl/importer.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROW(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vendor
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: fourcc_mod_code
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_vaapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fourcc_mod_code(vendor, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct priv*::egl::createImageKHR
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - interop
    - w
    - h
    - fourcc
    - fd
    - offset
    - pitch
    - modifier
    argTypes:
    - struct vlc_gl_interop*
    - EGLint
    - EGLint
    - EGLint
    - EGLint
    - EGLint
    - EGLint
    - EGLuint64KHR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 117
    functionName: vaegl_image_create
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_vaapi.c
    functionUses: 0
    functionsReached:
    - struct priv*::egl::createImageKHR
    linkageType: ''
    returnType: EGLImageKHR
    signature: "EGLImageKHR vaegl_image_create(const struct vlc_gl_interop *interop,
      EGLint w, EGLint h,\n                   EGLint fourcc, EGLint fd, EGLint offset,
      EGLint pitch,\n                   EGLuint64KHR modifier)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct priv*::egl::destroyImageKHR
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - interop
    - image
    argTypes:
    - struct vlc_gl_interop*
    - EGLImageKHR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: vaegl_image_destroy
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_vaapi.c
    functionUses: 0
    functionsReached:
    - struct priv*::egl::destroyImageKHR
    linkageType: ''
    returnType: void
    signature: void vaegl_image_destroy(const struct vlc_gl_interop *interop, EGLImageKHR
      image)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vaegl_image_destroy
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:130,1
    - Dst: VA_CHECK_VERSION
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:132,1
    - Dst: close
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:134,1
    - Dst: vlc_vaapi_ReleaseBufferHandle
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:136,1
    - Dst: vlc_vaapi_DestroyImage
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:137,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - interop
    - priv
    argTypes:
    - struct vlc_gl_interop*
    - struct priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 141
    functionName: vaegl_release_last_pic
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_vaapi.c
    functionUses: 0
    functionsReached:
    - vlc_vaapi_DestroyImage
    - VA_CHECK_VERSION
    - close
    - picture_Release
    - vaegl_image_destroy
    - vlc_vaapi_ReleaseBufferHandle
    linkageType: ''
    returnType: void
    signature: void vaegl_release_last_pic(const struct vlc_gl_interop *interop, struct
      priv *priv)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:149,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:150,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:154,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:155,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - priv
    - va_fourcc
    argTypes:
    - struct priv*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 170
    functionName: vaegl_init_fourcc
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_vaapi.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    linkageType: ''
    returnType: int
    signature: int vaegl_init_fourcc(struct priv *priv, unsigned va_fourcc)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:179,1
    - Dst: VA_CHECK_VERSION
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:183,1
    - Dst: struct priv*::gl::BindTexture
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:189,1
    - Dst: struct priv*::glEGLImageTargetTexture2DOES
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:190,1
    - Dst: VA_CHECK_VERSION
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:195,1
    - Dst: VA_CHECK_VERSION
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:205,1
    - Dst: vaSyncSurface
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:207,1
    - Dst: vlc_vaapi_PicGetSurface
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:207,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:209,1
    - Dst: vaErrorStr
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:209,1
    - Dst: vlc_vaapi_ExportSurfaceHandle
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:211,1
    - Dst: vlc_vaapi_PicGetSurface
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:211,1
    - Dst: vlc_vaapi_DeriveImage
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:218,1
    - Dst: vlc_vaapi_PicGetSurface
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:218,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:223,1
    - Dst: vlc_vaapi_AcquireBufferHandle
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:228,1
    - Dst: VA_CHECK_VERSION
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:234,1
    - Dst: vaegl_image_create
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:241,1
    - Dst: struct priv*::gl::BindTexture
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:250,1
    - Dst: struct priv*::glEGLImageTargetTexture2DOES
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:252,1
    - Dst: vaegl_image_create
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:259,1
    - Dst: struct priv*::gl::BindTexture
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:266,1
    - Dst: struct priv*::glEGLImageTargetTexture2DOES
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:268,1
    - Dst: vaegl_release_last_pic
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:273,1
    - Dst: picture_Hold
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:274,1
    - Dst: VA_CHECK_VERSION
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:275,1
    - Dst: VA_CHECK_VERSION
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:293,1
    - Dst: close
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:295,1
    - Dst: vlc_vaapi_ReleaseBufferHandle
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:297,1
    - Dst: vaegl_image_destroy
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:302,1
    - Dst: VA_CHECK_VERSION
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:304,1
    - Dst: vlc_vaapi_DestroyImage
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:305,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 69
    argCount: 6
    argNames:
    - interop
    - textures
    - tex_width
    - tex_height
    - pic
    - plane_offset
    argTypes:
    - struct vlc_gl_interop*
    - uint32_t[]
    - int32_t[]
    - int32_t[]
    - picture_t*
    - size_t*
    assertStmts:
    - condition: (va_image.format.fourcc == priv->fourcc)
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/vlc/modules/video_output/opengl/interop_vaapi.c
    constantsTouched: []
    func_position:
      end: 309
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 309
    functionName: tc_vaegl_update
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_vaapi.c
    functionUses: 0
    functionsReached:
    - vlc_vaapi_PicGetSurface
    - assert
    - vlc_vaapi_AcquireBufferHandle
    - close
    - vlc_vaapi_ReleaseBufferHandle
    - struct priv*::glEGLImageTargetTexture2DOES
    - vlc_vaapi_DeriveImage
    - vaSyncSurface
    - VA_CHECK_VERSION
    - msg_Warn
    - vaegl_image_destroy
    - vaegl_release_last_pic
    - vlc_vaapi_DestroyImage
    - picture_Hold
    - vaErrorStr
    - vaegl_image_create
    - vlc_vaapi_ExportSurfaceHandle
    - struct priv*::gl::BindTexture
    - VLC_OBJECT
    linkageType: ''
    returnType: int
    signature: "int tc_vaegl_update(const struct vlc_gl_interop *interop, uint32_t
      textures[],\n                const int32_t tex_width[], const int32_t tex_height[],\n
      \               picture_t *pic, const size_t *plane_offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vaegl_release_last_pic
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:317,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - interop
    argTypes:
    - struct vlc_gl_interop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 311
    functionDepth: 3
    functionLinenumber: 311
    functionLinenumberEnd: 320
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_vaapi.c
    functionUses: 168
    functionsReached:
    - free
    - vaegl_release_last_pic
    linkageType: ''
    returnType: void
    signature: void Close(struct vlc_gl_interop *interop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: strcasecmp_void
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_vaapi.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int strcasecmp_void(const void *a, const void *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vaQueryVendorString
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:330,1
    - Dst: strncpy
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:341,1
    - Dst: bsearch
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:344,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:345,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - interop
    - vadpy
    argTypes:
    - struct vlc_gl_interop*
    - VADisplay*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 354
    functionName: tc_va_check_interop_blacklist
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_vaapi.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - vaQueryVendorString
    - bsearch
    - msg_Warn
    - strncpy
    linkageType: ''
    returnType: int
    signature: int tc_va_check_interop_blacklist(const struct vlc_gl_interop *interop,
      VADisplay *vadpy)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:359,1
    - Dst: vlc_vaapi_PoolNew
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:363,1
    - Dst: VA_CHECK_VERSION
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:371,1
    - Dst: vlc_vaapi_ExportSurfaceHandle
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:374,1
    - Dst: vaegl_image_create
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:395,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:401,1
    - Dst: vaegl_image_destroy
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:405,1
    - Dst: close
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:412,1
    - Dst: vlc_vaapi_DeriveImage
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:416,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:420,1
    - Dst: vlc_vaapi_AcquireBufferHandle
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:425,1
    - Dst: vaegl_image_create
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:435,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:440,1
    - Dst: vaegl_image_destroy
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:444,1
    - Dst: vlc_vaapi_ReleaseBufferHandle
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:453,1
    - Dst: vlc_vaapi_DestroyImage
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:454,1
    - Dst: picture_pool_Release
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:459,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 1
    argNames:
    - interop
    argTypes:
    - struct vlc_gl_interop*
    assertStmts:
    - condition: (va_image.format.fourcc == priv->fourcc)
      pos:
        line_end: 419
        line_start: 419
        source_file: /src/vlc/modules/video_output/opengl/interop_vaapi.c
    constantsTouched: []
    func_position:
      end: 462
      start: 356
    functionDepth: 3
    functionLinenumber: 356
    functionLinenumberEnd: 462
    functionName: tc_va_check_derive_image
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_vaapi.c
    functionUses: 0
    functionsReached:
    - vaegl_image_create
    - vlc_vaapi_ExportSurfaceHandle
    - assert
    - vlc_vaapi_DeriveImage
    - vlc_vaapi_AcquireBufferHandle
    - vlc_vaapi_DestroyImage
    - VA_CHECK_VERSION
    - close
    - VLC_OBJECT
    - msg_Warn
    - vlc_vaapi_PoolNew
    - vaegl_image_destroy
    - vlc_vaapi_ReleaseBufferHandle
    - picture_pool_Release
    linkageType: ''
    returnType: int
    signature: int tc_va_check_derive_image(const struct vlc_gl_interop *interop)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:503,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 3
    argNames:
    - opaque_chroma
    - va_fourcc
    - sw_chroma
    argTypes:
    - vlc_fourcc_t
    - int*
    - vlc_fourcc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 505
    functionName: GetChromaVaFourcc
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_vaapi.c
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    linkageType: ''
    returnType: void
    signature: "void GetChromaVaFourcc(vlc_fourcc_t opaque_chroma, int *va_fourcc,\n
      \                 vlc_fourcc_t *sw_chroma)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: vlc_video_context_HoldDevice
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:514,1
    - Dst: vlc_vaapi_IsChromaOpaque
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:516,1
    - Dst: vlc_gl_LoadExtensionFunctions
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:522,1
    - Dst: vlc_gl_HasExtension
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:524,1
    - Dst: calloc
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:527,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:528,1
    - Dst: GetChromaVaFourcc
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:534,1
    - Dst: vlc_gl_interop_GetTexFormatSize
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:557,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:619,1
    - Dst: vaegl_init_fourcc
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:622,1
    - Dst: vlc_gl_GetProcAddress
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:625,1
    - Dst: struct priv*::egl::getCurrentDisplay
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:629,1
    - Dst: vlc_gl_GetProcAddress
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:633,1
    - Dst: struct priv*::egl::queryString
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:638,1
    - Dst: vlc_gl_StrHasToken
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:639,1
    - Dst: vlc_gl_GetProcAddress
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:643,1
    - Dst: vlc_gl_GetProcAddress
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:648,1
    - Dst: vlc_gl_GetProcAddress
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:653,1
    - Dst: vlc_gl_GetProcAddress
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:658,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:663,1
    - Dst: tc_va_check_interop_blacklist
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:665,1
    - Dst: tc_va_check_derive_image
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:668,1
    - Dst: video_format_TransformBy
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:672,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:684,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:688,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/interop_vaapi.c:689,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 106
    argCount: 1
    argNames:
    - interop
    argTypes:
    - struct vlc_gl_interop*
    assertStmts:
    - condition: (priv->vadpy != NULL)
      pos:
        line_end: 662
        line_start: 662
        source_file: /src/vlc/modules/video_output/opengl/interop_vaapi.c
    constantsTouched: []
    func_position:
      end: 691
      start: 507
    functionDepth: 4
    functionLinenumber: 507
    functionLinenumberEnd: 691
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_vaapi.c
    functionUses: 65
    functionsReached:
    - vaegl_init_fourcc
    - assert
    - vlc_decoder_device_Release
    - vlc_gl_HasExtension
    - tc_va_check_interop_blacklist
    - vlc_gl_StrHasToken
    - vlc_assert_unreachable
    - video_format_TransformBy
    - calloc
    - tc_va_check_derive_image
    - vlc_gl_LoadExtensionFunctions
    - vlc_gl_interop_GetTexFormatSize
    - vlc_video_context_HoldDevice
    - struct priv*::egl::getCurrentDisplay
    - vlc_vaapi_IsChromaOpaque
    - GetChromaVaFourcc
    - vlc_gl_GetProcAddress
    - free
    - struct priv*::egl::queryString
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Open(struct vlc_gl_interop *interop)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_create
      Src: /src/vlc/modules/video_output/opengl/filter.c:40,1
    - Dst: vlc_gl_api_Init
      Src: /src/vlc/modules/video_output/opengl/filter.c:44,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/video_output/opengl/filter.c:47,1
    - Dst: vlc_list_init
      Src: /src/vlc/modules/video_output/opengl/filter.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - gl
    argTypes:
    - struct vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 73
    functionName: vlc_gl_filter_New
    functionSourceFile: /src/vlc/modules/video_output/opengl/filter.c
    functionUses: 0
    functionsReached:
    - vlc_object_delete
    - vlc_object_create
    - vlc_gl_api_Init
    - vlc_list_init
    linkageType: ''
    returnType: struct vlc_gl_filter
    signature: 'struct vlc_gl_filter *

      vlc_gl_filter_New(struct vlc_gl_t *gl)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/video_output/opengl/filter.c:80,1
    - Dst: va_arg
      Src: /src/vlc/modules/video_output/opengl/filter.c:81,1
    - Dst: va_arg
      Src: /src/vlc/modules/video_output/opengl/filter.c:82,1
    - Dst: va_arg
      Src: /src/vlc/modules/video_output/opengl/filter.c:83,1
    - Dst: activate
      Src: /src/vlc/modules/video_output/opengl/filter.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - func
    - forced
    - args
    argTypes:
    - void*
    - bool
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 86
    functionName: ActivateGLFilter
    functionSourceFile: /src/vlc/modules/video_output/opengl/filter.c
    functionUses: 0
    functionsReached:
    - va_arg
    - activate
    linkageType: ''
    returnType: int
    signature: int ActivateGLFilter(void *func, bool forced, va_list args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_module_load
      Src: /src/vlc/modules/video_output/opengl/filter.c:96,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/video_output/opengl/filter.c:96,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/filter.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - parent
    - name
    - filter
    - config
    - sampler
    - size_out
    argTypes:
    - vlc_object_t*
    - char*
    - struct vlc_gl_filter*
    - config_chain_t*
    - struct vlc_gl_sampler*
    - struct vlc_gl_tex_size*
    assertStmts:
    - condition: (filter->ops->draw)
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/vlc/modules/video_output/opengl/filter.c
    constantsTouched: []
    func_position:
      end: 105
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 105
    functionName: vlc_gl_filter_LoadModule
    functionSourceFile: /src/vlc/modules/video_output/opengl/filter.c
    functionUses: 0
    functionsReached:
    - vlc_object_logger
    - assert
    - vlc_module_load
    linkageType: ''
    returnType: int
    signature: "int vlc_gl_filter_LoadModule(vlc_object_t *parent, const char *name,\n
      \                        struct vlc_gl_filter *filter,\n                         const
      config_chain_t *config,\n                         struct vlc_gl_sampler *sampler,\n
      \                        struct vlc_gl_tex_size *size_out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: opengl_vtable_t*::DeleteFramebuffers
      Src: /src/vlc/modules/video_output/opengl/filter.c:112,1
    - Dst: opengl_vtable_t*::DeleteTextures
      Src: /src/vlc/modules/video_output/opengl/filter.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct vlc_gl_filter_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: DeleteFramebuffersOut
    functionSourceFile: /src/vlc/modules/video_output/opengl/filter.c
    functionUses: 0
    functionsReached:
    - opengl_vtable_t*::DeleteTextures
    - opengl_vtable_t*::DeleteFramebuffers
    linkageType: ''
    returnType: void
    signature: void DeleteFramebuffersOut(struct vlc_gl_filter_priv *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: opengl_vtable_t*::DeleteFramebuffers
      Src: /src/vlc/modules/video_output/opengl/filter.c:121,1
    - Dst: opengl_vtable_t*::DeleteRenderbuffers
      Src: /src/vlc/modules/video_output/opengl/filter.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct vlc_gl_filter_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: DeleteFramebufferMSAA
    functionSourceFile: /src/vlc/modules/video_output/opengl/filter.c
    functionUses: 0
    functionsReached:
    - opengl_vtable_t*::DeleteFramebuffers
    - opengl_vtable_t*::DeleteRenderbuffers
    linkageType: ''
    returnType: void
    signature: void DeleteFramebufferMSAA(struct vlc_gl_filter_priv *priv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: struct vlc_gl_filter*::ops::close
      Src: /src/vlc/modules/video_output/opengl/filter.c:129,1
    - Dst: module_unneed
      Src: /src/vlc/modules/video_output/opengl/filter.c:132,1
    - Dst: vlc_gl_sampler_Delete
      Src: /src/vlc/modules/video_output/opengl/filter.c:135,1
    - Dst: vlc_gl_filter_PRIV
      Src: /src/vlc/modules/video_output/opengl/filter.c:137,1
    - Dst: vlc_list_foreach
      Src: /src/vlc/modules/video_output/opengl/filter.c:140,1
    - Dst: vlc_gl_filter_Delete
      Src: /src/vlc/modules/video_output/opengl/filter.c:143,1
    - Dst: DeleteFramebuffersOut
      Src: /src/vlc/modules/video_output/opengl/filter.c:147,1
    - Dst: DeleteFramebufferMSAA
      Src: /src/vlc/modules/video_output/opengl/filter.c:150,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/video_output/opengl/filter.c:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - filter
    argTypes:
    - struct vlc_gl_filter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 153
    functionName: vlc_gl_filter_Delete
    functionSourceFile: /src/vlc/modules/video_output/opengl/filter.c
    functionUses: 1
    functionsReached:
    - vlc_gl_filter_PRIV
    - DeleteFramebufferMSAA
    - vlc_gl_filter_Delete
    - module_unneed
    - vlc_object_delete
    - struct vlc_gl_filter*::ops::close
    - DeleteFramebuffersOut
    - vlc_list_foreach
    - vlc_gl_sampler_Delete
    linkageType: ''
    returnType: void
    signature: void vlc_gl_filter_Delete(struct vlc_gl_filter *filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: opengl_vtable_t*::BindTexture
      Src: /src/vlc/modules/video_output/opengl/filter.c:164,1
    - Dst: opengl_vtable_t*::TexImage2D
      Src: /src/vlc/modules/video_output/opengl/filter.c:165,1
    - Dst: opengl_vtable_t*::TexParameteri
      Src: /src/vlc/modules/video_output/opengl/filter.c:167,1
    - Dst: opengl_vtable_t*::TexParameteri
      Src: /src/vlc/modules/video_output/opengl/filter.c:168,1
    - Dst: opengl_vtable_t*::TexParameteri
      Src: /src/vlc/modules/video_output/opengl/filter.c:171,1
    - Dst: opengl_vtable_t*::TexParameteri
      Src: /src/vlc/modules/video_output/opengl/filter.c:172,1
    - Dst: opengl_vtable_t*::BindFramebuffer
      Src: /src/vlc/modules/video_output/opengl/filter.c:175,1
    - Dst: opengl_vtable_t*::FramebufferTexture2D
      Src: /src/vlc/modules/video_output/opengl/filter.c:176,1
    - Dst: opengl_vtable_t*::CheckFramebufferStatus
      Src: /src/vlc/modules/video_output/opengl/filter.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - priv
    - plane
    - width
    - height
    argTypes:
    - struct vlc_gl_filter_priv*
    - unsigned
    - GLsizei
    - GLsizei
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 184
    functionName: InitPlane
    functionSourceFile: /src/vlc/modules/video_output/opengl/filter.c
    functionUses: 1
    functionsReached:
    - opengl_vtable_t*::CheckFramebufferStatus
    - opengl_vtable_t*::FramebufferTexture2D
    - opengl_vtable_t*::BindTexture
    - opengl_vtable_t*::BindFramebuffer
    - opengl_vtable_t*::TexParameteri
    - opengl_vtable_t*::TexImage2D
    linkageType: ''
    returnType: int
    signature: "int InitPlane(struct vlc_gl_filter_priv *priv, unsigned plane, GLsizei
      width,\n          GLsizei height)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/filter.c:189,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/filter.c:192,1
    - Dst: opengl_vtable_t*::GenFramebuffers
      Src: /src/vlc/modules/video_output/opengl/filter.c:202,1
    - Dst: opengl_vtable_t*::GenTextures
      Src: /src/vlc/modules/video_output/opengl/filter.c:203,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/opengl/filter.c:205,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/opengl/filter.c:207,1
    - Dst: InitPlane
      Src: /src/vlc/modules/video_output/opengl/filter.c:214,1
    - Dst: DeleteFramebuffersOut
      Src: /src/vlc/modules/video_output/opengl/filter.c:217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct vlc_gl_filter_priv*
    assertStmts:
    - condition: (priv->size_out.width > 0 && priv->size_out.height > 0)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/vlc/modules/video_output/opengl/filter.c
    - condition: (priv->tex_count == 0)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/vlc/modules/video_output/opengl/filter.c
    constantsTouched: []
    func_position:
      end: 223
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 223
    functionName: InitFramebuffersOut
    functionSourceFile: /src/vlc/modules/video_output/opengl/filter.c
    functionUses: 0
    functionsReached:
    - assert
    - memcpy
    - InitPlane
    - opengl_vtable_t*::GenFramebuffers
    - DeleteFramebuffersOut
    - opengl_vtable_t*::GenTextures
    linkageType: ''
    returnType: int
    signature: int InitFramebuffersOut(struct vlc_gl_filter_priv *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/filter.c:228,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/filter.c:229,1
    - Dst: opengl_vtable_t*::GenRenderbuffers
      Src: /src/vlc/modules/video_output/opengl/filter.c:233,1
    - Dst: opengl_vtable_t*::BindRenderbuffer
      Src: /src/vlc/modules/video_output/opengl/filter.c:234,1
    - Dst: opengl_vtable_t*::RenderbufferStorageMultisample
      Src: /src/vlc/modules/video_output/opengl/filter.c:235,1
    - Dst: opengl_vtable_t*::GenFramebuffers
      Src: /src/vlc/modules/video_output/opengl/filter.c:240,1
    - Dst: opengl_vtable_t*::BindFramebuffer
      Src: /src/vlc/modules/video_output/opengl/filter.c:241,1
    - Dst: opengl_vtable_t*::FramebufferRenderbuffer
      Src: /src/vlc/modules/video_output/opengl/filter.c:242,1
    - Dst: opengl_vtable_t*::CheckFramebufferStatus
      Src: /src/vlc/modules/video_output/opengl/filter.c:245,1
    - Dst: DeleteFramebufferMSAA
      Src: /src/vlc/modules/video_output/opengl/filter.c:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - priv
    - msaa_level
    argTypes:
    - struct vlc_gl_filter_priv*
    - unsigned
    assertStmts:
    - condition: (msaa_level)
      pos:
        line_end: 227
        line_start: 227
        source_file: /src/vlc/modules/video_output/opengl/filter.c
    - condition: (priv->size_out.width > 0 && priv->size_out.height > 0)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/vlc/modules/video_output/opengl/filter.c
    constantsTouched: []
    func_position:
      end: 253
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 253
    functionName: InitFramebufferMSAA
    functionSourceFile: /src/vlc/modules/video_output/opengl/filter.c
    functionUses: 0
    functionsReached:
    - opengl_vtable_t*::CheckFramebufferStatus
    - assert
    - DeleteFramebufferMSAA
    - opengl_vtable_t*::FramebufferRenderbuffer
    - opengl_vtable_t*::RenderbufferStorageMultisample
    - opengl_vtable_t*::BindRenderbuffer
    - opengl_vtable_t*::GenFramebuffers
    - opengl_vtable_t*::BindFramebuffer
    - opengl_vtable_t*::GenRenderbuffers
    linkageType: ''
    returnType: int
    signature: int InitFramebufferMSAA(struct vlc_gl_filter_priv *priv, unsigned msaa_level)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_filter_PRIV
      Src: /src/vlc/modules/video_output/opengl/filter.c:258,1
    - Dst: InitFramebufferMSAA
      Src: /src/vlc/modules/video_output/opengl/filter.c:263,1
    - Dst: InitFramebuffersOut
      Src: /src/vlc/modules/video_output/opengl/filter.c:271,1
    - Dst: DeleteFramebufferMSAA
      Src: /src/vlc/modules/video_output/opengl/filter.c:274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - filter
    - has_out
    argTypes:
    - struct vlc_gl_filter*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 280
    functionName: vlc_gl_filter_InitFramebuffers
    functionSourceFile: /src/vlc/modules/video_output/opengl/filter.c
    functionUses: 0
    functionsReached:
    - InitFramebuffersOut
    - vlc_gl_filter_PRIV
    - DeleteFramebufferMSAA
    - InitFramebufferMSAA
    linkageType: ''
    returnType: int
    signature: int vlc_gl_filter_InitFramebuffers(struct vlc_gl_filter *filter, bool
      has_out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_filter_PRIV
      Src: /src/vlc/modules/video_output/opengl/filter.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - filter
    argTypes:
    - struct vlc_gl_filter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 308
    functionName: vlc_gl_filter_InitPlaneSizes
    functionSourceFile: /src/vlc/modules/video_output/opengl/filter.c
    functionUses: 0
    functionsReached:
    - vlc_gl_filter_PRIV
    linkageType: ''
    returnType: void
    signature: void vlc_gl_filter_InitPlaneSizes(struct vlc_gl_filter *filter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_filter_PRIV
      Src: /src/vlc/modules/video_output/opengl/filter.c:313,1
    - Dst: vlc_gl_filter_InitPlaneSizes
      Src: /src/vlc/modules/video_output/opengl/filter.c:315,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/modules/video_output/opengl/filter.c:318,1
    - Dst: opengl_vtable_t*::BindRenderbuffer
      Src: /src/vlc/modules/video_output/opengl/filter.c:323,1
    - Dst: opengl_vtable_t*::RenderbufferStorageMultisample
      Src: /src/vlc/modules/video_output/opengl/filter.c:324,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/opengl/filter.c:332,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/opengl/filter.c:334,1
    - Dst: opengl_vtable_t*::BindTexture
      Src: /src/vlc/modules/video_output/opengl/filter.c:339,1
    - Dst: opengl_vtable_t*::TexImage2D
      Src: /src/vlc/modules/video_output/opengl/filter.c:340,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/modules/video_output/opengl/filter.c:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - filter
    argTypes:
    - struct vlc_gl_filter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 310
    functionDepth: 3
    functionLinenumber: 310
    functionLinenumberEnd: 347
    functionName: vlc_gl_filter_ApplyOutputSize
    functionSourceFile: /src/vlc/modules/video_output/opengl/filter.c
    functionUses: 0
    functionsReached:
    - vlc_gl_filter_PRIV
    - vlc_gl_filter_InitPlaneSizes
    - opengl_vtable_t*::BindTexture
    - memcpy
    - opengl_vtable_t*::RenderbufferStorageMultisample
    - opengl_vtable_t*::BindRenderbuffer
    - opengl_vtable_t*::TexImage2D
    - GL_ASSERT_NOERROR
    linkageType: ''
    returnType: void
    signature: void vlc_gl_filter_ApplyOutputSize(struct vlc_gl_filter *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 227
    functionName: GL_ASSERT_NOERROR
    functionSourceFile: /src/vlc/modules/video_output/opengl/gl_common.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GL_ASSERT_NOERROR(vt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - fmt
    - max_tex_size
    argTypes:
    - video_format_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 103
    functionName: ResizeFormatToGLMaxTexSize
    functionSourceFile: /src/vlc/modules/video_output/opengl/vout_helper.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResizeFormatToGLMaxTexSize(video_format_t *fmt, unsigned int max_tex_size)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_filters_New
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:110,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:113,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:120,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:121,1
    - Dst: snprintf
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:129,1
    - Dst: snprintf
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:130,1
    - Dst: vlc_gl_filters_Append
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:144,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:148,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:151,1
    - Dst: vlc_gl_filters_Append
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:157,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:160,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:164,1
    - Dst: vlc_gl_filters_InitFramebuffers
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:166,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:169,1
    - Dst: vlc_gl_filters_Delete
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:180,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 4
    argNames:
    - gl
    - api
    - interop
    - out_renderer
    argTypes:
    - vlc_gl_t*
    - struct vlc_gl_api*
    - struct vlc_gl_interop*
    - struct vlc_gl_filter**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 182
    functionName: CreateFilters
    functionSourceFile: /src/vlc/modules/video_output/opengl/vout_helper.c
    functionUses: 0
    functionsReached:
    - vlc_gl_filters_Delete
    - var_InheritInteger
    - vlc_gl_filters_InitFramebuffers
    - msg_Err
    - vlc_gl_filters_New
    - msg_Warn
    - GL_ASSERT_NOERROR
    - snprintf
    - vlc_gl_filters_Append
    linkageType: ''
    returnType: struct vlc_gl_filters
    signature: "struct vlc_gl_filters *\nCreateFilters(vlc_gl_t *gl, const struct
      vlc_gl_api *api,\n              struct vlc_gl_interop *interop,\n              struct
      vlc_gl_filter **out_renderer)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:194,1
    - Dst: strdup
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:195,1
    - Dst: strdup
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:199,1
    - Dst: asprintf
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:205,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:207,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:208,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:209,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:210,1
    - Dst: vlc_gl_filters_Replace
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:215,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:216,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:217,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:218,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:219,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:222,1
    - Dst: vlc_gl_filters_InitFramebuffers
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:227,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:230,1
    - Dst: vlc_gl_renderer_SetViewpoint
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:237,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - vgl
    - config
    argTypes:
    - vout_display_opengl_t*
    - struct renderer_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 190
    functionDepth: 3
    functionLinenumber: 190
    functionLinenumberEnd: 239
    functionName: RestartRenderer
    functionSourceFile: /src/vlc/modules/video_output/opengl/vout_helper.c
    functionUses: 0
    functionsReached:
    - asprintf
    - strdup
    - vlc_gl_filters_InitFramebuffers
    - msg_Err
    - free
    - vlc_gl_renderer_SetViewpoint
    - vlc_gl_filters_Replace
    linkageType: ''
    returnType: int
    signature: "int RestartRenderer(vout_display_opengl_t *vgl,\n                           const
      struct renderer_config *config)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RestartRenderer
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:248,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - vgl
    - projection
    argTypes:
    - vout_display_opengl_t*
    - video_projection_mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 241
    functionDepth: 4
    functionLinenumber: 241
    functionLinenumberEnd: 255
    functionName: vout_display_opengl_ChangeProjection
    functionSourceFile: /src/vlc/modules/video_output/opengl/vout_helper.c
    functionUses: 1
    functionsReached:
    - RestartRenderer
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: "int vout_display_opengl_ChangeProjection(vout_display_opengl_t *vgl,\n
      \                                        video_projection_mode_t projection)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RestartRenderer
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:264,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - vgl
    - stereo_mode
    argTypes:
    - vout_display_opengl_t*
    - vlc_stereoscopic_mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 257
    functionDepth: 4
    functionLinenumber: 257
    functionLinenumberEnd: 271
    functionName: vout_display_opengl_ChangeStereoMode
    functionSourceFile: /src/vlc/modules/video_output/opengl/vout_helper.c
    functionUses: 1
    functionsReached:
    - RestartRenderer
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: "int vout_display_opengl_ChangeStereoMode(vout_display_opengl_t *vgl,\n
      \                                        vlc_stereoscopic_mode_t stereo_mode)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:279,1
    - Dst: vlc_gl_api_Init
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:285,1
    - Dst: opengl_vtable_t*::GetString
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:293,1
    - Dst: strverscmp
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:294,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:297,1
    - Dst: opengl_vtable_t*::GetIntegerv
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:305,1
    - Dst: ResizeFormatToGLMaxTexSize
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:309,1
    - Dst: vlc_gl_interop_New
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:311,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:314,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:317,1
    - Dst: CreateFilters
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:319,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:322,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:326,1
    - Dst: vlc_gl_interop_NewForSubpictures
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:328,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:331,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:334,1
    - Dst: vlc_gl_sub_renderer_New
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:337,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:340,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:344,1
    - Dst: vlc_viewpoint_init
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:346,1
    - Dst: vout_display_opengl_SetViewpoint
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:348,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:349,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:351,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:359,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:367,1
    - Dst: video_format_Copy
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:368,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:374,1
    - Dst: vlc_gl_interop_Delete
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:378,1
    - Dst: vlc_gl_filters_Delete
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:380,1
    - Dst: vlc_gl_interop_Delete
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:382,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:384,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 73
    argCount: 5
    argNames:
    - fmt
    - subpicture_chromas
    - gl
    - viewpoint
    - context
    argTypes:
    - video_format_t*
    - vlc_fourcc_t**
    - vlc_gl_t*
    - vlc_viewpoint_t*
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 387
    functionName: vout_display_opengl_New
    functionSourceFile: /src/vlc/modules/video_output/opengl/vout_helper.c
    functionUses: 2
    functionsReached:
    - vlc_gl_interop_New
    - video_format_Clean
    - opengl_vtable_t*::GetIntegerv
    - opengl_vtable_t*::GetString
    - vlc_gl_filters_Delete
    - vlc_gl_api_Init
    - msg_Err
    - calloc
    - vlc_gl_sub_renderer_New
    - strverscmp
    - ResizeFormatToGLMaxTexSize
    - vlc_gl_interop_NewForSubpictures
    - video_format_Copy
    - vlc_viewpoint_init
    - var_InheritInteger
    - vlc_gl_interop_Delete
    - free
    - vout_display_opengl_SetViewpoint
    - CreateFilters
    - GL_ASSERT_NOERROR
    linkageType: ''
    returnType: vout_display_opengl_t
    signature: "vout_display_opengl_t *vout_display_opengl_New(video_format_t *fmt,\n
      \                                              const vlc_fourcc_t **subpicture_chromas,\n
      \                                              vlc_gl_t *gl,\n                                               const
      vlc_viewpoint_t *viewpoint,\n                                               vlc_video_context
      *context)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:399,1
    - Dst: vlc_gl_interop_New
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:401,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:404,1
    - Dst: video_format_IsSameChroma
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:408,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:410,1
    - Dst: vlc_gl_interop_Delete
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:413,1
    - Dst: CreateFilters
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:418,1
    - Dst: vlc_gl_interop_Delete
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:421,1
    - Dst: vlc_gl_filters_Delete
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:427,1
    - Dst: vlc_gl_interop_Delete
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:428,1
    - Dst: vlc_gl_renderer_SetViewpoint
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - vgl
    - fmt
    - vctx
    argTypes:
    - vout_display_opengl_t*
    - video_format_t*
    - vlc_video_context*
    assertStmts:
    - condition: (!fmt->p_palette)
      pos:
        line_end: 398
        line_start: 398
        source_file: /src/vlc/modules/video_output/opengl/vout_helper.c
    constantsTouched: []
    func_position:
      end: 438
      start: 389
    functionDepth: 3
    functionLinenumber: 389
    functionLinenumberEnd: 438
    functionName: vout_display_opengl_UpdateFormat
    functionSourceFile: /src/vlc/modules/video_output/opengl/vout_helper.c
    functionUses: 2
    functionsReached:
    - video_format_IsSameChroma
    - assert
    - vlc_gl_filters_Delete
    - vlc_gl_interop_New
    - msg_Err
    - vlc_gl_renderer_SetViewpoint
    - msg_Warn
    - CreateFilters
    - vlc_gl_interop_Delete
    linkageType: ''
    returnType: int
    signature: "int vout_display_opengl_UpdateFormat(vout_display_opengl_t *vgl,\n
      \                                    const video_format_t *fmt,\n                                     vlc_video_context
      *vctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:444,1
    - Dst: opengl_vtable_t*::Finish
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:447,1
    - Dst: opengl_vtable_t*::Flush
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:448,1
    - Dst: vlc_gl_sub_renderer_Delete
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:450,1
    - Dst: vlc_gl_interop_Delete
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:451,1
    - Dst: vlc_gl_filters_Delete
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:453,1
    - Dst: vlc_gl_interop_Delete
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:454,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:456,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - vgl
    argTypes:
    - vout_display_opengl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 440
    functionDepth: 2
    functionLinenumber: 440
    functionLinenumberEnd: 459
    functionName: vout_display_opengl_Delete
    functionSourceFile: /src/vlc/modules/video_output/opengl/vout_helper.c
    functionUses: 2
    functionsReached:
    - vlc_gl_filters_Delete
    - opengl_vtable_t*::Flush
    - opengl_vtable_t*::Finish
    - free
    - GL_ASSERT_NOERROR
    - vlc_gl_sub_renderer_Delete
    - vlc_gl_interop_Delete
    linkageType: ''
    returnType: void
    signature: void vout_display_opengl_Delete(vout_display_opengl_t *vgl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_renderer_SetViewpoint
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - vgl
    - p_vp
    argTypes:
    - vout_display_opengl_t*
    - vlc_viewpoint_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 461
    functionDepth: 3
    functionLinenumber: 461
    functionLinenumberEnd: 468
    functionName: vout_display_opengl_SetViewpoint
    functionSourceFile: /src/vlc/modules/video_output/opengl/vout_helper.c
    functionUses: 4
    functionsReached:
    - vlc_gl_renderer_SetViewpoint
    linkageType: ''
    returnType: int
    signature: "int vout_display_opengl_SetViewpoint(vout_display_opengl_t *vgl,\n
      \                                    const vlc_viewpoint_t *p_vp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_filters_SetOutputSize
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:473,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:476,1
    - Dst: vlc_gl_sub_renderer_SetOutputSize
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - vgl
    - width
    - height
    argTypes:
    - vout_display_opengl_t*
    - unsigned
    - unsigned
    assertStmts:
    - condition: (ret == VLC_SUCCESS)
      pos:
        line_end: 475
        line_start: 475
        source_file: /src/vlc/modules/video_output/opengl/vout_helper.c
    constantsTouched: []
    func_position:
      end: 479
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 479
    functionName: vout_display_opengl_SetOutputSize
    functionSourceFile: /src/vlc/modules/video_output/opengl/vout_helper.c
    functionUses: 2
    functionsReached:
    - assert
    - vlc_gl_sub_renderer_SetOutputSize
    - vlc_gl_filters_SetOutputSize
    linkageType: ''
    returnType: void
    signature: "void vout_display_opengl_SetOutputSize(vout_display_opengl_t *vgl,\n
      \                                      unsigned width, unsigned height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_filters_SetViewport
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - vgl
    - x
    - y
    - width
    - height
    argTypes:
    - vout_display_opengl_t*
    - int
    - int
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 485
    functionName: vout_display_opengl_Viewport
    functionSourceFile: /src/vlc/modules/video_output/opengl/vout_helper.c
    functionUses: 2
    functionsReached:
    - vlc_gl_filters_SetViewport
    linkageType: ''
    returnType: void
    signature: "void vout_display_opengl_Viewport(vout_display_opengl_t *vgl, int
      x, int y,\n                                  unsigned width, unsigned height)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:491,1
    - Dst: vlc_gl_filters_UpdatePicture
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:493,1
    - Dst: vlc_gl_sub_renderer_Prepare
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:497,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - vgl
    - picture
    - subpicture
    argTypes:
    - vout_display_opengl_t*
    - picture_t*
    - vlc_render_subpicture*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 500
    functionName: vout_display_opengl_Prepare
    functionSourceFile: /src/vlc/modules/video_output/opengl/vout_helper.c
    functionUses: 2
    functionsReached:
    - vlc_gl_sub_renderer_Prepare
    - GL_ASSERT_NOERROR
    - vlc_gl_filters_UpdatePicture
    linkageType: ''
    returnType: int
    signature: "int vout_display_opengl_Prepare(vout_display_opengl_t *vgl,\n                                picture_t
      *picture,\n                                const vlc_render_subpicture *subpicture)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:503,1
    - Dst: vlc_gl_filters_Draw
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:505,1
    - Dst: vlc_gl_sub_renderer_Draw
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:509,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/modules/video_output/opengl/vout_helper.c:513,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - vgl
    argTypes:
    - vout_display_opengl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 516
    functionName: vout_display_opengl_Display
    functionSourceFile: /src/vlc/modules/video_output/opengl/vout_helper.c
    functionUses: 2
    functionsReached:
    - vlc_gl_filters_Draw
    - GL_ASSERT_NOERROR
    - vlc_gl_sub_renderer_Draw
    linkageType: ''
    returnType: int
    signature: int vout_display_opengl_Display(vout_display_opengl_t *vgl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/video_output/opengl/filters.c:159,1
    - Dst: vlc_gl_importer_New
      Src: /src/vlc/modules/video_output/opengl/filters.c:163,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/filters.c:166,1
    - Dst: vlc_list_init
      Src: /src/vlc/modules/video_output/opengl/filters.c:174,1
    - Dst: memset
      Src: /src/vlc/modules/video_output/opengl/filters.c:176,1
    - Dst: vlc_gl_LoadExtensionFunctions
      Src: /src/vlc/modules/video_output/opengl/filters.c:180,1
    - Dst: vlc_gl_GetVersionMajor
      Src: /src/vlc/modules/video_output/opengl/filters.c:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - gl
    - api
    - interop
    - orientation
    argTypes:
    - struct vlc_gl_t*
    - struct vlc_gl_api*
    - struct vlc_gl_interop*
    - video_orientation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 196
    functionName: vlc_gl_filters_New
    functionSourceFile: /src/vlc/modules/video_output/opengl/filters.c
    functionUses: 3
    functionsReached:
    - vlc_gl_GetVersionMajor
    - memset
    - free
    - vlc_gl_LoadExtensionFunctions
    - vlc_gl_importer_New
    - vlc_list_init
    - malloc
    linkageType: ''
    returnType: struct vlc_gl_filters
    signature: "struct vlc_gl_filters *\nvlc_gl_filters_New(struct vlc_gl_t *gl, const
      struct vlc_gl_api *api,\n                   struct vlc_gl_interop *interop,\n
      \                  video_orientation_t orientation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_list_foreach
      Src: /src/vlc/modules/video_output/opengl/filters.c:202,1
    - Dst: vlc_gl_filter_Delete
      Src: /src/vlc/modules/video_output/opengl/filters.c:205,1
    - Dst: vlc_gl_importer_Delete
      Src: /src/vlc/modules/video_output/opengl/filters.c:208,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/filters.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filters
    argTypes:
    - struct vlc_gl_filters*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 210
    functionName: vlc_gl_filters_Delete
    functionSourceFile: /src/vlc/modules/video_output/opengl/filters.c
    functionUses: 7
    functionsReached:
    - free
    - vlc_gl_importer_Delete
    - vlc_list_foreach
    - vlc_gl_filter_Delete
    linkageType: ''
    returnType: void
    signature: void vlc_gl_filters_Delete(struct vlc_gl_filters *filters)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_filter_New
      Src: /src/vlc/modules/video_output/opengl/filters.c:218,1
    - Dst: vlc_gl_filter_PRIV
      Src: /src/vlc/modules/video_output/opengl/filters.c:223,1
    - Dst: vlc_list_init
      Src: /src/vlc/modules/video_output/opengl/filters.c:224,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/filters.c:234,1
    - Dst: video_format_Init
      Src: /src/vlc/modules/video_output/opengl/filters.c:248,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/opengl/filters.c:256,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/opengl/filters.c:257,1
    - Dst: vlc_gl_sampler_New
      Src: /src/vlc/modules/video_output/opengl/filters.c:266,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/filters.c:269,1
    - Dst: vlc_gl_filter_Delete
      Src: /src/vlc/modules/video_output/opengl/filters.c:271,1
    - Dst: vlc_gl_filter_LoadModule
      Src: /src/vlc/modules/video_output/opengl/filters.c:276,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/filters.c:281,1
    - Dst: vlc_gl_filter_Delete
      Src: /src/vlc/modules/video_output/opengl/filters.c:283,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/filters.c:288,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/filters.c:293,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/filters.c:296,1
    - Dst: vlc_gl_filter_InitPlaneSizes
      Src: /src/vlc/modules/video_output/opengl/filters.c:297,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 4
    argNames:
    - filters
    - prev_filter
    - name
    - config
    argTypes:
    - struct vlc_gl_filters*
    - struct vlc_gl_filter_priv*
    - char*
    - config_chain_t*
    assertStmts:
    - condition: (filters->importer)
      pos:
        line_end: 233
        line_start: 233
        source_file: /src/vlc/modules/video_output/opengl/filters.c
    - condition: (!filter->config.filter_planes || !filter->config.blend)
      pos:
        line_end: 292
        line_start: 292
        source_file: /src/vlc/modules/video_output/opengl/filters.c
    - condition: (!filter->config.filter_planes || !filter->config.msaa_level)
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/vlc/modules/video_output/opengl/filters.c
    - condition: "(!filter->config.blend\n           || (priv->size_out.width == size_in.width\n
        \           && priv->size_out.height == size_in.height))"
      pos:
        line_end: 289
        line_start: 287
        source_file: /src/vlc/modules/video_output/opengl/filters.c
    constantsTouched: []
    func_position:
      end: 300
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 300
    functionName: vlc_gl_filters_CreateNewFilter
    functionSourceFile: /src/vlc/modules/video_output/opengl/filters.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_gl_filter_PRIV
    - video_format_Init
    - vlc_gl_filter_InitPlaneSizes
    - vlc_gl_filter_Delete
    - vlc_gl_filter_New
    - memcpy
    - msg_Err
    - vlc_list_init
    - vlc_gl_sampler_New
    - vlc_gl_filter_LoadModule
    linkageType: ''
    returnType: struct vlc_gl_filter_priv
    signature: "struct vlc_gl_filter_priv *\nvlc_gl_filters_CreateNewFilter(struct
      vlc_gl_filters *filters,\n                               struct vlc_gl_filter_priv
      *prev_filter,\n                               const char *name,\n                               const
      config_chain_t *config)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_filter_New
      Src: /src/vlc/modules/video_output/opengl/filters.c:306,1
    - Dst: vlc_gl_filter_PRIV
      Src: /src/vlc/modules/video_output/opengl/filters.c:311,1
    - Dst: vlc_list_last_entry_or_null
      Src: /src/vlc/modules/video_output/opengl/filters.c:317,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/filters.c:324,1
    - Dst: video_format_Init
      Src: /src/vlc/modules/video_output/opengl/filters.c:338,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/opengl/filters.c:346,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/opengl/filters.c:347,1
    - Dst: vlc_gl_sampler_New
      Src: /src/vlc/modules/video_output/opengl/filters.c:356,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/filters.c:359,1
    - Dst: vlc_gl_filter_Delete
      Src: /src/vlc/modules/video_output/opengl/filters.c:361,1
    - Dst: vlc_gl_filter_LoadModule
      Src: /src/vlc/modules/video_output/opengl/filters.c:366,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/filters.c:371,1
    - Dst: vlc_gl_filter_Delete
      Src: /src/vlc/modules/video_output/opengl/filters.c:373,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/filters.c:378,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/filters.c:383,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/filters.c:386,1
    - Dst: vlc_gl_filters_Append
      Src: /src/vlc/modules/video_output/opengl/filters.c:395,1
    - Dst: vlc_gl_filter_Delete
      Src: /src/vlc/modules/video_output/opengl/filters.c:398,1
    - Dst: vlc_list_last_entry_or_null
      Src: /src/vlc/modules/video_output/opengl/filters.c:405,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/filters.c:407,1
    - Dst: vlc_list_append
      Src: /src/vlc/modules/video_output/opengl/filters.c:408,1
    - Dst: vlc_gl_filter_InitPlaneSizes
      Src: /src/vlc/modules/video_output/opengl/filters.c:412,1
    - Dst: vlc_list_append
      Src: /src/vlc/modules/video_output/opengl/filters.c:415,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 3
    argNames:
    - filters
    - name
    - config
    argTypes:
    - struct vlc_gl_filters*
    - char*
    - config_chain_t*
    assertStmts:
    - condition: (!filter->config.filter_planes || !filter->config.blend)
      pos:
        line_end: 382
        line_start: 382
        source_file: /src/vlc/modules/video_output/opengl/filters.c
    - condition: (!filter->config.filter_planes || !filter->config.msaa_level)
      pos:
        line_end: 385
        line_start: 385
        source_file: /src/vlc/modules/video_output/opengl/filters.c
    - condition: (filters->importer)
      pos:
        line_end: 323
        line_start: 323
        source_file: /src/vlc/modules/video_output/opengl/filters.c
    - condition: "(!filter->config.blend\n           || (priv->size_out.width == size_in.width\n
        \           && priv->size_out.height == size_in.height))"
      pos:
        line_end: 379
        line_start: 377
        source_file: /src/vlc/modules/video_output/opengl/filters.c
    - condition: (last_filter)
      pos:
        line_end: 406
        line_start: 406
        source_file: /src/vlc/modules/video_output/opengl/filters.c
    constantsTouched: []
    func_position:
      end: 419
      start: 302
    functionDepth: 3
    functionLinenumber: 302
    functionLinenumberEnd: 419
    functionName: vlc_gl_filters_Append
    functionSourceFile: /src/vlc/modules/video_output/opengl/filters.c
    functionUses: 5
    functionsReached:
    - vlc_gl_filter_PRIV
    - assert
    - video_format_Init
    - vlc_list_append
    - vlc_gl_filter_Delete
    - vlc_gl_filter_InitPlaneSizes
    - vlc_gl_filter_New
    - memcpy
    - msg_Err
    - vlc_list_last_entry_or_null
    - vlc_gl_sampler_New
    - vlc_gl_filters_Append
    - vlc_gl_filter_LoadModule
    linkageType: ''
    returnType: struct vlc_gl_filter
    signature: "struct vlc_gl_filter *\nvlc_gl_filters_Append(struct vlc_gl_filters
      *filters, const char *name,\n                      const config_chain_t *config)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_filter_PRIV
      Src: /src/vlc/modules/video_output/opengl/filters.c:425,1
    - Dst: vlc_gl_filter_PRIV
      Src: /src/vlc/modules/video_output/opengl/filters.c:427,1
    - Dst: vlc_gl_filters_CreateNewFilter
      Src: /src/vlc/modules/video_output/opengl/filters.c:429,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/filters.c:433,1
    - Dst: vlc_gl_filter_InitPlaneSizes
      Src: /src/vlc/modules/video_output/opengl/filters.c:434,1
    - Dst: vlc_list_foreach
      Src: /src/vlc/modules/video_output/opengl/filters.c:438,1
    - Dst: vlc_list_remove
      Src: /src/vlc/modules/video_output/opengl/filters.c:440,1
    - Dst: vlc_list_append
      Src: /src/vlc/modules/video_output/opengl/filters.c:441,1
    - Dst: vlc_list_replace
      Src: /src/vlc/modules/video_output/opengl/filters.c:445,1
    - Dst: vlc_gl_filter_Delete
      Src: /src/vlc/modules/video_output/opengl/filters.c:446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - filters
    - old_filter
    - name
    - config
    argTypes:
    - struct vlc_gl_filters*
    - struct vlc_gl_filter*
    - char*
    - config_chain_t*
    assertStmts:
    - condition: (!new_filter->filter.config.blend && !old_filter->config.blend)
      pos:
        line_end: 432
        line_start: 432
        source_file: /src/vlc/modules/video_output/opengl/filters.c
    constantsTouched: []
    func_position:
      end: 449
      start: 421
    functionDepth: 4
    functionLinenumber: 421
    functionLinenumberEnd: 449
    functionName: vlc_gl_filters_Replace
    functionSourceFile: /src/vlc/modules/video_output/opengl/filters.c
    functionUses: 1
    functionsReached:
    - vlc_gl_filter_PRIV
    - assert
    - vlc_gl_filter_InitPlaneSizes
    - vlc_list_append
    - vlc_gl_filter_Delete
    - vlc_gl_filters_CreateNewFilter
    - vlc_list_remove
    - vlc_list_foreach
    - vlc_list_replace
    linkageType: ''
    returnType: struct vlc_gl_filter
    signature: "struct vlc_gl_filter *\nvlc_gl_filters_Replace(struct vlc_gl_filters
      *filters, struct vlc_gl_filter *old_filter,\n                       const char
      *name, const config_chain_t *config)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: opengl_vtable_t*::GetIntegerv
      Src: /src/vlc/modules/video_output/opengl/filters.c:462,1
    - Dst: opengl_vtable_t*::GetIntegerv
      Src: /src/vlc/modules/video_output/opengl/filters.c:463,1
    - Dst: vlc_list_foreach
      Src: /src/vlc/modules/video_output/opengl/filters.c:465,1
    - Dst: vlc_list_foreach
      Src: /src/vlc/modules/video_output/opengl/filters.c:472,1
    - Dst: vlc_list_foreach
      Src: /src/vlc/modules/video_output/opengl/filters.c:482,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/filters.c:487,1
    - Dst: vlc_gl_filters_Append
      Src: /src/vlc/modules/video_output/opengl/filters.c:499,1
    - Dst: vlc_list_foreach
      Src: /src/vlc/modules/video_output/opengl/filters.c:504,1
    - Dst: vlc_list_is_last
      Src: /src/vlc/modules/video_output/opengl/filters.c:508,1
    - Dst: vlc_gl_filter_InitFramebuffers
      Src: /src/vlc/modules/video_output/opengl/filters.c:512,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/modules/video_output/opengl/filters.c:513,1
    - Dst: opengl_vtable_t*::BindFramebuffer
      Src: /src/vlc/modules/video_output/opengl/filters.c:519,1
    - Dst: opengl_vtable_t*::BindRenderbuffer
      Src: /src/vlc/modules/video_output/opengl/filters.c:520,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - filters
    argTypes:
    - struct vlc_gl_filters*
    assertStmts:
    - condition: (priv)
      pos:
        line_end: 486
        line_start: 486
        source_file: /src/vlc/modules/video_output/opengl/filters.c
    constantsTouched: []
    func_position:
      end: 523
      start: 451
    functionDepth: 4
    functionLinenumber: 451
    functionLinenumberEnd: 523
    functionName: vlc_gl_filters_InitFramebuffers
    functionSourceFile: /src/vlc/modules/video_output/opengl/filters.c
    functionUses: 4
    functionsReached:
    - assert
    - vlc_list_is_last
    - vlc_gl_filter_InitFramebuffers
    - opengl_vtable_t*::BindRenderbuffer
    - opengl_vtable_t*::BindFramebuffer
    - opengl_vtable_t*::GetIntegerv
    - GL_ASSERT_NOERROR
    - vlc_list_foreach
    - vlc_gl_filters_Append
    linkageType: ''
    returnType: int
    signature: int vlc_gl_filters_InitFramebuffers(struct vlc_gl_filters *filters)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/filters.c:529,1
    - Dst: vlc_list_is_empty
      Src: /src/vlc/modules/video_output/opengl/filters.c:529,1
    - Dst: vlc_gl_importer_Update
      Src: /src/vlc/modules/video_output/opengl/filters.c:532,1
    - Dst: picture_GetAncillary
      Src: /src/vlc/modules/video_output/opengl/filters.c:538,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/opengl/filters.c:541,1
    - Dst: vlc_ancillary_GetData
      Src: /src/vlc/modules/video_output/opengl/filters.c:541,1
    - Dst: vlc_list_first_entry_or_null
      Src: /src/vlc/modules/video_output/opengl/filters.c:546,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/filters.c:549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - filters
    - picture
    argTypes:
    - struct vlc_gl_filters*
    - picture_t*
    assertStmts:
    - condition: (!vlc_list_is_empty(&filters->list))
      pos:
        line_end: 528
        line_start: 528
        source_file: /src/vlc/modules/video_output/opengl/filters.c
    - condition: (first_filter)
      pos:
        line_end: 548
        line_start: 548
        source_file: /src/vlc/modules/video_output/opengl/filters.c
    constantsTouched: []
    func_position:
      end: 553
      start: 525
    functionDepth: 3
    functionLinenumber: 525
    functionLinenumberEnd: 553
    functionName: vlc_gl_filters_UpdatePicture
    functionSourceFile: /src/vlc/modules/video_output/opengl/filters.c
    functionUses: 3
    functionsReached:
    - picture_GetAncillary
    - vlc_list_first_entry_or_null
    - assert
    - memcpy
    - vlc_ancillary_GetData
    - vlc_list_is_empty
    - vlc_gl_importer_Update
    linkageType: ''
    returnType: int
    signature: "int vlc_gl_filters_UpdatePicture(struct vlc_gl_filters *filters,\n
      \                            picture_t *picture)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: opengl_vtable_t*::GetIntegerv
      Src: /src/vlc/modules/video_output/opengl/filters.c:562,1
    - Dst: vlc_list_foreach
      Src: /src/vlc/modules/video_output/opengl/filters.c:575,1
    - Dst: vlc_list_prev_entry_or_null
      Src: /src/vlc/modules/video_output/opengl/filters.c:578,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/opengl/filters.c:582,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/opengl/filters.c:584,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/filters.c:596,1
    - Dst: opengl_vtable_t*::BindFramebuffer
      Src: /src/vlc/modules/video_output/opengl/filters.c:610,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/filters.c:612,1
    - Dst: vlc_list_is_last
      Src: /src/vlc/modules/video_output/opengl/filters.c:612,1
    - Dst: opengl_vtable_t*::Viewport
      Src: /src/vlc/modules/video_output/opengl/filters.c:613,1
    - Dst: struct vlc_gl_filter*::ops::draw
      Src: /src/vlc/modules/video_output/opengl/filters.c:615,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/filters.c:622,1
    - Dst: opengl_vtable_t*::BindFramebuffer
      Src: /src/vlc/modules/video_output/opengl/filters.c:631,1
    - Dst: vlc_list_is_last
      Src: /src/vlc/modules/video_output/opengl/filters.c:633,1
    - Dst: opengl_vtable_t*::Viewport
      Src: /src/vlc/modules/video_output/opengl/filters.c:637,1
    - Dst: opengl_vtable_t*::Viewport
      Src: /src/vlc/modules/video_output/opengl/filters.c:640,1
    - Dst: vlc_list_is_last
      Src: /src/vlc/modules/video_output/opengl/filters.c:644,1
    - Dst: struct vlc_gl_filter*::ops::draw
      Src: /src/vlc/modules/video_output/opengl/filters.c:647,1
    - Dst: vlc_list_foreach
      Src: /src/vlc/modules/video_output/opengl/filters.c:653,1
    - Dst: opengl_vtable_t*::BindFramebuffer
      Src: /src/vlc/modules/video_output/opengl/filters.c:657,1
    - Dst: struct vlc_gl_filter*::ops::draw
      Src: /src/vlc/modules/video_output/opengl/filters.c:660,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/filters.c:668,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/filters.c:669,1
    - Dst: opengl_vtable_t*::BindFramebuffer
      Src: /src/vlc/modules/video_output/opengl/filters.c:672,1
    - Dst: opengl_vtable_t*::BindFramebuffer
      Src: /src/vlc/modules/video_output/opengl/filters.c:674,1
    - Dst: opengl_vtable_t*::BlitFramebuffer
      Src: /src/vlc/modules/video_output/opengl/filters.c:679,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 1
    argNames:
    - filters
    argTypes:
    - struct vlc_gl_filters*
    assertStmts:
    - condition: (importer)
      pos:
        line_end: 595
        line_start: 595
        source_file: /src/vlc/modules/video_output/opengl/filters.c
    - condition: (!vlc_list_is_last(&priv->node, &filters->list))
      pos:
        line_end: 611
        line_start: 611
        source_file: /src/vlc/modules/video_output/opengl/filters.c
    - condition: (priv->tex_count <= 1)
      pos:
        line_end: 621
        line_start: 621
        source_file: /src/vlc/modules/video_output/opengl/filters.c
    - condition: (priv->framebuffers_out[0] != draw_framebuffer)
      pos:
        line_end: 668
        line_start: 668
        source_file: /src/vlc/modules/video_output/opengl/filters.c
    - condition: (priv->tex_count == 1)
      pos:
        line_end: 667
        line_start: 667
        source_file: /src/vlc/modules/video_output/opengl/filters.c
    constantsTouched: []
    func_position:
      end: 687
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 687
    functionName: vlc_gl_filters_Draw
    functionSourceFile: /src/vlc/modules/video_output/opengl/filters.c
    functionUses: 3
    functionsReached:
    - struct vlc_gl_filter*::ops::draw
    - assert
    - vlc_list_is_last
    - opengl_vtable_t*::Viewport
    - memcpy
    - opengl_vtable_t*::BlitFramebuffer
    - vlc_list_prev_entry_or_null
    - opengl_vtable_t*::BindFramebuffer
    - opengl_vtable_t*::GetIntegerv
    - vlc_list_foreach
    linkageType: ''
    returnType: int
    signature: int vlc_gl_filters_Draw(struct vlc_gl_filters *filters)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - filters
    - x
    - y
    - width
    - height
    argTypes:
    - struct vlc_gl_filters*
    - int
    - int
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 697
    functionName: vlc_gl_filters_SetViewport
    functionSourceFile: /src/vlc/modules/video_output/opengl/filters.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void vlc_gl_filters_SetViewport(struct vlc_gl_filters *filters, int
      x, int y,\n                           unsigned width, unsigned height)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_list_reverse_foreach
      Src: /src/vlc/modules/video_output/opengl/filters.c:709,1
    - Dst: struct vlc_gl_filter*::ops::request_output_size
      Src: /src/vlc/modules/video_output/opengl/filters.c:719,1
    - Dst: vlc_gl_filter_ApplyOutputSize
      Src: /src/vlc/modules/video_output/opengl/filters.c:727,1
    - Dst: struct vlc_gl_filter*::ops::on_input_size_change
      Src: /src/vlc/modules/video_output/opengl/filters.c:733,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - filters
    - width
    - height
    argTypes:
    - struct vlc_gl_filters*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 699
    functionDepth: 4
    functionLinenumber: 699
    functionLinenumberEnd: 749
    functionName: vlc_gl_filters_SetOutputSize
    functionSourceFile: /src/vlc/modules/video_output/opengl/filters.c
    functionUses: 2
    functionsReached:
    - vlc_list_reverse_foreach
    - vlc_gl_filter_ApplyOutputSize
    - struct vlc_gl_filter*::ops::on_input_size_change
    - struct vlc_gl_filter*::ops::request_output_size
    linkageType: ''
    returnType: int
    signature: "int vlc_gl_filters_SetOutputSize(struct vlc_gl_filters *filters, unsigned
      width,\n                             unsigned height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: OPENGL_VTABLE_F
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPENGL_VTABLE_F(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: DECLARE_SYMBOL
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_SYMBOL(type, name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/video_output/opengl/interop.c:58,1
    - Dst: struct vlc_gl_interop_private*::gl::GenTextures
      Src: /src/vlc/modules/video_output/opengl/interop.c:60,1
    - Dst: struct vlc_gl_interop_private*::gl::BindTexture
      Src: /src/vlc/modules/video_output/opengl/interop.c:64,1
    - Dst: struct vlc_gl_interop_private*::gl::TexParameteri
      Src: /src/vlc/modules/video_output/opengl/interop.c:66,1
    - Dst: struct vlc_gl_interop_private*::gl::TexParameteri
      Src: /src/vlc/modules/video_output/opengl/interop.c:67,1
    - Dst: struct vlc_gl_interop_private*::gl::TexParameteri
      Src: /src/vlc/modules/video_output/opengl/interop.c:68,1
    - Dst: struct vlc_gl_interop_private*::gl::TexParameteri
      Src: /src/vlc/modules/video_output/opengl/interop.c:69,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/modules/video_output/opengl/interop.c:71,1
    - Dst: struct vlc_gl_interop*::ops::allocate_textures
      Src: /src/vlc/modules/video_output/opengl/interop.c:75,1
    - Dst: struct vlc_gl_interop_private*::gl::DeleteTextures
      Src: /src/vlc/modules/video_output/opengl/interop.c:78,1
    - Dst: memset
      Src: /src/vlc/modules/video_output/opengl/interop.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - interop
    - tex_width
    - tex_height
    - textures
    argTypes:
    - struct vlc_gl_interop*
    - GLsizei*
    - GLsizei*
    - GLuint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 84
    functionName: vlc_gl_interop_GenerateTextures
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop.c
    functionUses: 1
    functionsReached:
    - struct vlc_gl_interop*::ops::allocate_textures
    - struct vlc_gl_interop_private*::gl::DeleteTextures
    - container_of
    - struct vlc_gl_interop_private*::gl::GenTextures
    - memset
    - struct vlc_gl_interop_private*::gl::BindTexture
    - GL_ASSERT_NOERROR
    - struct vlc_gl_interop_private*::gl::TexParameteri
    linkageType: ''
    returnType: int
    signature: "int vlc_gl_interop_GenerateTextures(const struct vlc_gl_interop *interop,\n
      \                               const GLsizei *tex_width,\n                                const
      GLsizei *tex_height, GLuint *textures)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/video_output/opengl/interop.c:91,1
    - Dst: struct vlc_gl_interop*::ops::deallocate_textures
      Src: /src/vlc/modules/video_output/opengl/interop.c:93,1
    - Dst: struct vlc_gl_interop_private*::gl::DeleteTextures
      Src: /src/vlc/modules/video_output/opengl/interop.c:94,1
    - Dst: memset
      Src: /src/vlc/modules/video_output/opengl/interop.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - interop
    - textures
    argTypes:
    - struct vlc_gl_interop*
    - GLuint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: vlc_gl_interop_DeleteTextures
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop.c
    functionUses: 1
    functionsReached:
    - struct vlc_gl_interop*::ops::deallocate_textures
    - memset
    - struct vlc_gl_interop_private*::gl::DeleteTextures
    - container_of
    linkageType: ''
    returnType: void
    signature: "void vlc_gl_interop_DeleteTextures(const struct vlc_gl_interop *interop,\n
      \                             GLuint *textures)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/video_output/opengl/interop.c:102,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/modules/video_output/opengl/interop.c:104,1
    - Dst: struct vlc_gl_interop_private*::gl::GenTextures
      Src: /src/vlc/modules/video_output/opengl/interop.c:130,1
    - Dst: struct vlc_gl_interop_private*::gl::BindTexture
      Src: /src/vlc/modules/video_output/opengl/interop.c:131,1
    - Dst: struct vlc_gl_interop_private*::gl::TexImage2D
      Src: /src/vlc/modules/video_output/opengl/interop.c:132,1
    - Dst: struct vlc_gl_interop_private*::gl::GetTexLevelParameteriv
      Src: /src/vlc/modules/video_output/opengl/interop.c:134,1
    - Dst: struct vlc_gl_interop_private*::gl::DeleteTextures
      Src: /src/vlc/modules/video_output/opengl/interop.c:136,1
    - Dst: struct vlc_gl_interop_private*::gl::GetError
      Src: /src/vlc/modules/video_output/opengl/interop.c:139,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 5
    argNames:
    - interop
    - target
    - tex_format
    - tex_internal
    - tex_type
    argTypes:
    - struct vlc_gl_interop*
    - GLenum
    - GLenum
    - GLint
    - GLenum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 146
    functionName: GetTexFormatSize
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop.c
    functionUses: 3
    functionsReached:
    - struct vlc_gl_interop_private*::gl::GetTexLevelParameteriv
    - struct vlc_gl_interop_private*::gl::DeleteTextures
    - container_of
    - struct vlc_gl_interop_private*::gl::GenTextures
    - struct vlc_gl_interop_private*::gl::TexImage2D
    - struct vlc_gl_interop_private*::gl::BindTexture
    - struct vlc_gl_interop_private*::gl::GetError
    - GL_ASSERT_NOERROR
    linkageType: ''
    returnType: int
    signature: "int GetTexFormatSize(struct vlc_gl_interop *interop, GLenum target,\n
      \                           GLenum tex_format, GLint tex_internal, GLenum tex_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/video_output/opengl/interop.c:153,1
    - Dst: start
      Src: /src/vlc/modules/video_output/opengl/interop.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - func
    - forced
    - args
    argTypes:
    - void*
    - bool
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: LoadInterop
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop.c
    functionUses: 0
    functionsReached:
    - va_arg
    - start
    linkageType: ''
    returnType: int
    signature: int LoadInterop(void *func, bool forced, va_list args)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_create
      Src: /src/vlc/modules/video_output/opengl/interop.c:161,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/video_output/opengl/interop.c:166,1
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/video_output/opengl/interop.c:176,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/video_output/opengl/interop.c:180,1
    - Dst: OPENGL_VTABLE_F
      Src: /src/vlc/modules/video_output/opengl/interop.c:186,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/interop.c:192,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/video_output/opengl/interop.c:193,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/opengl/interop.c:194,1
    - Dst: vlc_module_load
      Src: /src/vlc/modules/video_output/opengl/interop.c:195,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/interop.c:197,1
    - Dst: vlc_module_load
      Src: /src/vlc/modules/video_output/opengl/interop.c:202,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/video_output/opengl/interop.c:212,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 3
    argNames:
    - gl
    - context
    - fmt
    argTypes:
    - struct vlc_gl_t*
    - vlc_video_context*
    - video_format_t*
    assertStmts:
    - condition: (context)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/vlc/modules/video_output/opengl/interop.c
    constantsTouched: []
    func_position:
      end: 214
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 214
    functionName: vlc_gl_interop_New
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop.c
    functionUses: 4
    functionsReached:
    - assert
    - var_InheritString
    - vlc_module_load
    - OPENGL_VTABLE_F
    - vlc_object_logger
    - vlc_object_create
    - vlc_video_context_Hold
    - free
    - vlc_object_delete
    - vlc_fourcc_GetChromaDescription
    linkageType: ''
    returnType: struct vlc_gl_interop
    signature: "struct vlc_gl_interop *\nvlc_gl_interop_New(struct vlc_gl_t *gl, vlc_video_context
      *context,\n                   const video_format_t *fmt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: LOAD_SYMBOL
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD_SYMBOL(type, name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_object_create
      Src: /src/vlc/modules/video_output/opengl/interop.c:219,1
    - Dst: video_format_Init
      Src: /src/vlc/modules/video_output/opengl/interop.c:227,1
    - Dst: OPENGL_VTABLE_F
      Src: /src/vlc/modules/video_output/opengl/interop.c:232,1
    - Dst: module_need
      Src: /src/vlc/modules/video_output/opengl/interop.c:235,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/video_output/opengl/interop.c:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - gl
    argTypes:
    - struct vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 244
    functionName: vlc_gl_interop_NewForSubpictures
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop.c
    functionUses: 3
    functionsReached:
    - video_format_Init
    - OPENGL_VTABLE_F
    - vlc_object_create
    - vlc_object_delete
    - module_need
    linkageType: ''
    returnType: struct vlc_gl_interop
    signature: 'struct vlc_gl_interop *

      vlc_gl_interop_NewForSubpictures(struct vlc_gl_t *gl)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: LOAD_SYMBOL
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD_SYMBOL(type, name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct vlc_gl_interop*::ops::close
      Src: /src/vlc/modules/video_output/opengl/interop.c:250,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/video_output/opengl/interop.c:252,1
    - Dst: module_unneed
      Src: /src/vlc/modules/video_output/opengl/interop.c:254,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/video_output/opengl/interop.c:255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - interop
    argTypes:
    - struct vlc_gl_interop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 256
    functionName: vlc_gl_interop_Delete
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop.c
    functionUses: 9
    functionsReached:
    - module_unneed
    - vlc_video_context_Release
    - vlc_object_delete
    - struct vlc_gl_interop*::ops::close
    linkageType: ''
    returnType: void
    signature: void vlc_gl_interop_Delete(struct vlc_gl_interop *interop)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: opengl_vtable_t*::GetShaderiv
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:38,1
    - Dst: malloc
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:39,1
    - Dst: opengl_vtable_t*::GetShaderSource
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:43,1
    - Dst: vlc_memstream_open
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:46,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:52,1
    - Dst: strchr
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:60,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:63,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:68,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:73,1
    - Dst: vlc_memstream_close
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:75,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:81,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:82,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - obj
    - prefix
    - vt
    - id
    argTypes:
    - vlc_object_t*
    - char*
    - opengl_vtable_t*
    - GLuint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 83
    functionName: LogShader
    functionSourceFile: /src/vlc/modules/video_output/opengl/gl_util.c
    functionUses: 0
    functionsReached:
    - strchr
    - opengl_vtable_t*::GetShaderSource
    - opengl_vtable_t*::GetShaderiv
    - vlc_memstream_open
    - vlc_memstream_printf
    - msg_Err
    - free
    - vlc_memstream_close
    - malloc
    linkageType: ''
    returnType: void
    signature: void LogShader(vlc_object_t *obj, const char *prefix, const opengl_vtable_t
      *vt, GLuint id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opengl_vtable_t*::GetShaderiv
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:89,1
    - Dst: malloc
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:93,1
    - Dst: opengl_vtable_t*::GetShaderInfoLog
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:98,1
    - Dst: LogShader
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:100,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:102,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - obj
    - vt
    - id
    argTypes:
    - vlc_object_t*
    - opengl_vtable_t*
    - GLuint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 104
    functionName: LogShaderErrors
    functionSourceFile: /src/vlc/modules/video_output/opengl/gl_util.c
    functionUses: 0
    functionsReached:
    - LogShader
    - opengl_vtable_t*::GetShaderInfoLog
    - opengl_vtable_t*::GetShaderiv
    - msg_Err
    - free
    - malloc
    linkageType: ''
    returnType: void
    signature: void LogShaderErrors(vlc_object_t *obj, const opengl_vtable_t *vt,
      GLuint id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opengl_vtable_t*::GetProgramiv
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:110,1
    - Dst: malloc
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:113,1
    - Dst: opengl_vtable_t*::GetAttachedShaders
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:120,1
    - Dst: opengl_vtable_t*::GetShaderiv
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:124,1
    - Dst: LogShader
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:130,1
    - Dst: opengl_vtable_t*::GetProgramInfoLog
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:134,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:135,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - obj
    - vt
    - id
    argTypes:
    - vlc_object_t*
    - opengl_vtable_t*
    - GLuint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 137
    functionName: LogProgramErrors
    functionSourceFile: /src/vlc/modules/video_output/opengl/gl_util.c
    functionUses: 0
    functionsReached:
    - LogShader
    - opengl_vtable_t*::GetShaderiv
    - msg_Err
    - free
    - opengl_vtable_t*::GetProgramInfoLog
    - opengl_vtable_t*::GetAttachedShaders
    - malloc
    - opengl_vtable_t*::GetProgramiv
    linkageType: ''
    returnType: void
    signature: void LogProgramErrors(vlc_object_t *obj, const opengl_vtable_t *vt,
      GLuint id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opengl_vtable_t*::CreateShader
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:143,1
    - Dst: opengl_vtable_t*::ShaderSource
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:147,1
    - Dst: opengl_vtable_t*::CompileShader
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:148,1
    - Dst: LogShaderErrors
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:150,1
    - Dst: opengl_vtable_t*::GetShaderiv
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:153,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:156,1
    - Dst: opengl_vtable_t*::DeleteShader
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - obj
    - vt
    - type
    - count
    - src
    argTypes:
    - vlc_object_t*
    - opengl_vtable_t*
    - GLenum
    - GLsizei
    - GLchar**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 162
    functionName: CreateShader
    functionSourceFile: /src/vlc/modules/video_output/opengl/gl_util.c
    functionUses: 2
    functionsReached:
    - opengl_vtable_t*::CreateShader
    - opengl_vtable_t*::CompileShader
    - opengl_vtable_t*::GetShaderiv
    - msg_Err
    - opengl_vtable_t*::ShaderSource
    - LogShaderErrors
    - opengl_vtable_t*::DeleteShader
    linkageType: ''
    returnType: GLuint
    signature: "GLuint CreateShader(vlc_object_t *obj, const opengl_vtable_t *vt,
      GLenum type,\n             GLsizei count, const GLchar **src)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CreateShader
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:172,1
    - Dst: CreateShader
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:177,1
    - Dst: opengl_vtable_t*::CreateProgram
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:182,1
    - Dst: opengl_vtable_t*::AttachShader
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:186,1
    - Dst: opengl_vtable_t*::AttachShader
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:187,1
    - Dst: opengl_vtable_t*::LinkProgram
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:189,1
    - Dst: LogProgramErrors
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:191,1
    - Dst: opengl_vtable_t*::GetProgramiv
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:194,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:197,1
    - Dst: opengl_vtable_t*::DeleteProgram
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:198,1
    - Dst: opengl_vtable_t*::DeleteShader
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:203,1
    - Dst: opengl_vtable_t*::DeleteShader
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:205,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 6
    argNames:
    - obj
    - vt
    - vstring_count
    - vstrings
    - fstring_count
    - fstrings
    argTypes:
    - vlc_object_t*
    - opengl_vtable_t*
    - GLsizei
    - GLchar**
    - GLsizei
    - GLchar**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 165
    functionDepth: 4
    functionLinenumber: 165
    functionLinenumberEnd: 208
    functionName: vlc_gl_BuildProgram
    functionSourceFile: /src/vlc/modules/video_output/opengl/gl_util.c
    functionUses: 7
    functionsReached:
    - LogProgramErrors
    - opengl_vtable_t*::DeleteProgram
    - opengl_vtable_t*::LinkProgram
    - opengl_vtable_t*::DeleteShader
    - opengl_vtable_t*::AttachShader
    - msg_Err
    - CreateShader
    - opengl_vtable_t*::CreateProgram
    - opengl_vtable_t*::GetProgramiv
    linkageType: ''
    returnType: GLuint
    signature: "GLuint vlc_gl_BuildProgram(vlc_object_t *obj, const opengl_vtable_t
      *vt,\n                    GLsizei vstring_count, const GLchar **vstrings,\n
      \                   GLsizei fstring_count, const GLchar **fstrings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_Create
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:214,1
    - Dst: var_SetString
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:215,1
    - Dst: vlc_filter_LoadModule
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:218,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/video_output/opengl/gl_util.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - filter
    - opengl_filter_name
    argTypes:
    - filter_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 224
    functionName: vlc_gl_WrapOpenGLFilter
    functionSourceFile: /src/vlc/modules/video_output/opengl/gl_util.c
    functionUses: 2
    functionsReached:
    - vlc_filter_LoadModule
    - var_Destroy
    - var_SetString
    - var_Create
    linkageType: ''
    returnType: module_t
    signature: 'module_t *

      vlc_gl_WrapOpenGLFilter(filter_t *filter, const char *opengl_filter_name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct ahb_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: ahb_cache_init
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_aimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ahb_cache_init(struct ahb_cache *pool)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - pool
    - ahb_id
    - is_new
    argTypes:
    - struct ahb_cache*
    - uint64_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 117
    functionName: ahb_cache_get
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_aimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ahb_slot
    signature: 'struct ahb_slot *

      ahb_cache_get(struct ahb_cache *pool, uint64_t ahb_id, bool *is_new)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct priv*::air_api::AImage::getCropRect
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:126,1
    - Dst: struct priv*::air_api::AImage::getWidth
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:127,1
    - Dst: struct priv*::air_api::AImage::getHeight
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:128,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - interop
    - image
    argTypes:
    - struct vlc_gl_interop*
    - AImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 149
    functionName: ComputeAImageTransformMatrix
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_aimage.c
    functionUses: 0
    functionsReached:
    - struct priv*::air_api::AImage::getCropRect
    - struct priv*::air_api::AImage::getHeight
    - struct priv*::air_api::AImage::getWidth
    linkageType: ''
    returnType: int
    signature: int ComputeAImageTransformMatrix(const struct vlc_gl_interop *interop,
      AImage *image)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - interop
    - textures
    - tex_width
    - tex_height
    argTypes:
    - struct vlc_gl_interop*
    - uint32_t[]
    - int32_t[]
    - int32_t[]
    assertStmts:
    - condition: (textures[0] != 0)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/vlc/modules/video_output/opengl/interop_aimage.c
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: tc_aimage_allocate_textures
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_aimage.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: "int tc_aimage_allocate_textures(const struct vlc_gl_interop *interop,
      uint32_t textures[],\n                          const int32_t tex_width[], const
      int32_t tex_height[])"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:165,1
    - Dst: struct priv*::air_api::AHardwareBuffer::getId
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:168,1
    - Dst: ahb_cache_get
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:179,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:183,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:194,1
    - Dst: struct priv*::egl::DestroyImageKHR
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:195,1
    - Dst: struct priv*::egl::GetNativeClientBufferANDROID
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:198,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:201,1
    - Dst: struct priv*::egl::CreateImageKHR
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:208,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:214,1
    - Dst: eglGetError
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - interop
    - ahb
    argTypes:
    - struct vlc_gl_interop*
    - AHardwareBuffer*
    assertStmts:
    - condition: (slot->image != NULL)
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/vlc/modules/video_output/opengl/interop_aimage.c
    constantsTouched: []
    func_position:
      end: 221
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 221
    functionName: GetCachedEGLImage
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_aimage.c
    functionUses: 0
    functionsReached:
    - struct priv*::air_api::AHardwareBuffer::getId
    - ahb_cache_get
    - struct priv*::egl::GetNativeClientBufferANDROID
    - assert
    - eglGetError
    - msg_Err
    - msg_Dbg
    - VLC_OBJECT
    - struct priv*::egl::CreateImageKHR
    - struct priv*::egl::DestroyImageKHR
    linkageType: ''
    returnType: EGLImageKHR
    signature: EGLImageKHR GetCachedEGLImage(const struct vlc_gl_interop *interop,
      AHardwareBuffer *ahb)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:229,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:232,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:233,1
    - Dst: container_of
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:236,1
    - Dst: struct priv*::air_api::AImage::getHardwareBuffer
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:239,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:242,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:245,1
    - Dst: android_picture_ctx_get_fence_fd
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:248,1
    - Dst: struct priv*::egl::CreateSyncKHR
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:255,1
    - Dst: struct priv*::egl::WaitSyncKHR
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:260,1
    - Dst: struct priv*::egl::DestroySyncKHR
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:261,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:265,1
    - Dst: close
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:266,1
    - Dst: GetCachedEGLImage
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:270,1
    - Dst: struct priv*::gl::ActiveTexture
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:274,1
    - Dst: struct priv*::gl::BindTexture
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:275,1
    - Dst: struct priv*::gl::EGLImageTargetTexture2DOES
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:276,1
    - Dst: struct priv*::egl::CreateSyncKHR
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:283,1
    - Dst: struct priv*::gl::Flush
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:287,1
    - Dst: struct priv*::egl::DupNativeFenceFDANDROID
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:288,1
    - Dst: struct priv*::egl::DestroySyncKHR
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:290,1
    - Dst: android_picture_ctx_set_read_fence
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:292,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:294,1
    - Dst: ComputeAImageTransformMatrix
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:297,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:300,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 6
    argNames:
    - interop
    - textures
    - tex_width
    - tex_height
    - pic
    - plane_offset
    argTypes:
    - struct vlc_gl_interop*
    - uint32_t[]
    - int32_t[]
    - int32_t[]
    - picture_t*
    - size_t[]
    assertStmts:
    - condition: (textures[0] != 0)
      pos:
        line_end: 232
        line_start: 232
        source_file: /src/vlc/modules/video_output/opengl/interop_aimage.c
    - condition: (pic->context)
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/vlc/modules/video_output/opengl/interop_aimage.c
    - condition: (ahb != NULL)
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/vlc/modules/video_output/opengl/interop_aimage.c
    constantsTouched: []
    func_position:
      end: 308
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 308
    functionName: tc_aimage_update
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_aimage.c
    functionUses: 0
    functionsReached:
    - struct priv*::air_api::AImage::getHardwareBuffer
    - assert
    - struct priv*::egl::DestroySyncKHR
    - struct priv*::gl::ActiveTexture
    - close
    - GetCachedEGLImage
    - container_of
    - msg_Err
    - struct priv*::gl::EGLImageTargetTexture2DOES
    - struct priv*::egl::CreateSyncKHR
    - msg_Warn
    - struct priv*::egl::DupNativeFenceFDANDROID
    - struct priv*::egl::WaitSyncKHR
    - ComputeAImageTransformMatrix
    - android_picture_ctx_set_read_fence
    - struct priv*::gl::BindTexture
    - struct priv*::gl::Flush
    - VLC_OBJECT
    - android_picture_ctx_get_fence_fd
    linkageType: ''
    returnType: int
    signature: "int tc_aimage_update(const struct vlc_gl_interop *interop, uint32_t
      textures[],\n                 const int32_t tex_width[], const int32_t tex_height[],\n
      \                picture_t *pic, const size_t plane_offset[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interop
    argTypes:
    - struct vlc_gl_interop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 315
    functionName: tc_aimage_transform_matrix
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_aimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: 'float *

      tc_aimage_transform_matrix(const struct vlc_gl_interop *interop)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:327,1
    - Dst: struct priv*::egl::DestroyImageKHR
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:328,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - interop
    argTypes:
    - struct vlc_gl_interop*
    assertStmts:
    - condition: (slot->image != NULL)
      pos:
        line_end: 326
        line_start: 326
        source_file: /src/vlc/modules/video_output/opengl/interop_aimage.c
    constantsTouched: []
    func_position:
      end: 333
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 333
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_aimage.c
    functionUses: 168
    functionsReached:
    - free
    - struct priv*::egl::DestroyImageKHR
    - assert
    linkageType: ''
    returnType: void
    signature: void Close(struct vlc_gl_interop *interop)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOAD_GL_SYMBOL
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:348,1
    - Dst: LOAD_GL_SYMBOL
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:349,1
    - Dst: LOAD_GL_SYMBOL
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:350,1
    - Dst: LOAD_GL_SYMBOL
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:351,1
    - Dst: LOAD_EGL_SYMBOL
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:353,1
    - Dst: LOAD_EGL_SYMBOL
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:354,1
    - Dst: LOAD_EGL_SYMBOL
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:355,1
    - Dst: LOAD_EGL_SYMBOL
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:356,1
    - Dst: LOAD_EGL_SYMBOL
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:357,1
    - Dst: LOAD_EGL_SYMBOL
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:358,1
    - Dst: LOAD_EGL_SYMBOL
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:359,1
    - Dst: LOAD_EGL_SYMBOL
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:360,1
    - Dst: LOAD_EGL_SYMBOL
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:361,1
    - Dst: struct priv*::egl::GetCurrentDisplay
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:366,1
    - Dst: struct priv*::egl::QueryString
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:370,1
    - Dst: vlc_gl_StrHasToken
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:374,1
    - Dst: vlc_gl_StrHasToken
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:375,1
    - Dst: vlc_gl_StrHasToken
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:376,1
    - Dst: ahb_cache_init
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:380,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - interop
    - avctx
    argTypes:
    - struct vlc_gl_interop*
    - android_video_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 382
    functionName: InitAImage
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_aimage.c
    functionUses: 0
    functionsReached:
    - vlc_gl_StrHasToken
    - struct priv*::egl::QueryString
    - LOAD_EGL_SYMBOL
    - struct priv*::egl::GetCurrentDisplay
    - LOAD_GL_SYMBOL
    - ahb_cache_init
    linkageType: ''
    returnType: int
    signature: int InitAImage(struct vlc_gl_interop *interop, android_video_context_t
      *avctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 343
    functionName: LOAD_GL_SYMBOL
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_aimage.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD_GL_SYMBOL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 347
    functionName: LOAD_EGL_SYMBOL
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_aimage.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD_EGL_SYMBOL(name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_LoadExtensionFunctions
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:392,1
    - Dst: vlc_gl_HasExtension
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:394,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:396,1
    - Dst: vlc_video_context_GetPrivate
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:402,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:403,1
    - Dst: malloc
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:409,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:410,1
    - Dst: InitAImage
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:417,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:420,1
    - Dst: vlc_gl_HasExtension
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:433,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/opengl/interop_aimage.c:435,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 1
    argNames:
    - interop
    argTypes:
    - struct vlc_gl_interop*
    assertStmts:
    - condition: (avctx != NULL)
      pos:
        line_end: 402
        line_start: 402
        source_file: /src/vlc/modules/video_output/opengl/interop_aimage.c
    constantsTouched: []
    func_position:
      end: 460
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 460
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_aimage.c
    functionUses: 65
    functionsReached:
    - assert
    - vlc_video_context_GetPrivate
    - InitAImage
    - free
    - vlc_gl_HasExtension
    - vlc_gl_LoadExtensionFunctions
    - msg_Warn
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open(struct vlc_gl_interop *interop)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct vlc_gl_extension_vt*::GetIntegerv
      Src: /src/vlc/modules/video_output/opengl/gl_util.h:97,1
    - Dst: struct vlc_gl_extension_vt*::GetError
      Src: /src/vlc/modules/video_output/opengl/gl_util.h:98,1
    - Dst: struct vlc_gl_extension_vt*::GetError
      Src: /src/vlc/modules/video_output/opengl/gl_util.h:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - vt
    argTypes:
    - struct vlc_gl_extension_vt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 108
    functionName: vlc_gl_GetVersionMajor
    functionSourceFile: /src/vlc/modules/video_output/opengl/gl_util.h
    functionUses: 2
    functionsReached:
    - struct vlc_gl_extension_vt*::GetError
    - struct vlc_gl_extension_vt*::GetIntegerv
    linkageType: ''
    returnType: unsigned
    signature: unsigned vlc_gl_GetVersionMajor(struct vlc_gl_extension_vt *vt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_GetProcAddress
      Src: /src/vlc/modules/video_output/opengl/gl_util.h:114,1
    - Dst: vlc_gl_GetProcAddress
      Src: /src/vlc/modules/video_output/opengl/gl_util.h:115,1
    - Dst: vlc_gl_GetProcAddress
      Src: /src/vlc/modules/video_output/opengl/gl_util.h:116,1
    - Dst: vlc_gl_GetVersionMajor
      Src: /src/vlc/modules/video_output/opengl/gl_util.h:119,1
    - Dst: vlc_gl_GetProcAddress
      Src: /src/vlc/modules/video_output/opengl/gl_util.h:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - gl
    - vt
    argTypes:
    - vlc_gl_t*
    - struct vlc_gl_extension_vt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 127
    functionName: vlc_gl_LoadExtensionFunctions
    functionSourceFile: /src/vlc/modules/video_output/opengl/gl_util.h
    functionUses: 9
    functionsReached:
    - vlc_gl_GetVersionMajor
    - vlc_gl_GetProcAddress
    linkageType: ''
    returnType: void
    signature: void vlc_gl_LoadExtensionFunctions(vlc_gl_t *gl, struct vlc_gl_extension_vt
      *vt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct vlc_gl_extension_vt*::GetString
      Src: /src/vlc/modules/video_output/opengl/gl_util.h:136,1
    - Dst: vlc_gl_StrHasToken
      Src: /src/vlc/modules/video_output/opengl/gl_util.h:137,1
    - Dst: struct vlc_gl_extension_vt*::GetIntegerv
      Src: /src/vlc/modules/video_output/opengl/gl_util.h:141,1
    - Dst: struct vlc_gl_extension_vt*::GetStringi
      Src: /src/vlc/modules/video_output/opengl/gl_util.h:144,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_output/opengl/gl_util.h:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - vt
    - name
    argTypes:
    - struct vlc_gl_extension_vt*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 149
    functionName: vlc_gl_HasExtension
    functionSourceFile: /src/vlc/modules/video_output/opengl/gl_util.h
    functionUses: 6
    functionsReached:
    - vlc_gl_StrHasToken
    - strcmp
    - struct vlc_gl_extension_vt*::GetStringi
    - struct vlc_gl_extension_vt*::GetIntegerv
    - struct vlc_gl_extension_vt*::GetString
    linkageType: ''
    returnType: bool
    signature: "bool vlc_gl_HasExtension(\n    struct vlc_gl_extension_vt *vt,\n    const
      char *name\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_StrHasToken
      Src: /src/vlc/modules/video_output/opengl/egl_display_generic.c:38,1
    - Dst: vlc_gl_StrHasToken
      Src: /src/vlc/modules/video_output/opengl/egl_display_generic.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - extensions
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: GetPlatform
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_display_generic.c
    functionUses: 0
    functionsReached:
    - vlc_gl_StrHasToken
    linkageType: ''
    returnType: EGLenum
    signature: EGLenum GetPlatform(const char *extensions)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eglGetDisplay
      Src: /src/vlc/modules/video_output/opengl/egl_display_generic.c:57,1
    - Dst: eglQueryString
      Src: /src/vlc/modules/video_output/opengl/egl_display_generic.c:59,1
    - Dst: vlc_gl_StrHasToken
      Src: /src/vlc/modules/video_output/opengl/egl_display_generic.c:61,1
    - Dst: GetPlatform
      Src: /src/vlc/modules/video_output/opengl/egl_display_generic.c:64,1
    - Dst: eglGetPlatformDisplay
      Src: /src/vlc/modules/video_output/opengl/egl_display_generic.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - display
    argTypes:
    - struct vlc_egl_display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 81
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_display_generic.c
    functionUses: 65
    functionsReached:
    - vlc_gl_StrHasToken
    - eglGetDisplay
    - eglQueryString
    - eglGetPlatformDisplay
    - GetPlatform
    linkageType: ''
    returnType: int
    signature: int Open(struct vlc_egl_display *display)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:90,1
    - Dst: GET_ULOC
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:104,1
    - Dst: GET_ULOC
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:105,1
    - Dst: GET_ALOC
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:106,1
    - Dst: GET_ALOC
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - sr
    argTypes:
    - struct vlc_gl_sub_renderer*
    assertStmts:
    - condition: (sr->program_id)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/vlc/modules/video_output/opengl/sub_renderer.c
    constantsTouched: []
    func_position:
      end: 114
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 114
    functionName: FetchLocations
    functionSourceFile: /src/vlc/modules/video_output/opengl/sub_renderer.c
    functionUses: 6
    functionsReached:
    - GET_ULOC
    - assert
    - GET_ALOC
    linkageType: ''
    returnType: int
    signature: int FetchLocations(struct vlc_gl_sub_renderer *sr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - x
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: GET_LOC
    functionSourceFile: /src/vlc/modules/video_output/opengl/sub_renderer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_LOC(type, x, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: GET_ULOC
    functionSourceFile: /src/vlc/modules/video_output/opengl/sub_renderer.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_ULOC(x, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: GET_ALOC
    functionSourceFile: /src/vlc/modules/video_output/opengl/sub_renderer.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_ALOC(x, str)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:122,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:127,1
    - Dst: strdup
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:190,1
    - Dst: __MIN
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:193,1
    - Dst: asprintf
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:194,1
    - Dst: vlc_gl_BuildProgram
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:211,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:211,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:212,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:213,1
    - Dst: FetchLocations
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:217,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:223,1
    - Dst: opengl_vtable_t*::GenBuffers
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:229,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:231,1
    - Dst: opengl_vtable_t*::DeleteProgram
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:235,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:237,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:238,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 3
    argNames:
    - gl
    - api
    - interop
    argTypes:
    - vlc_gl_t*
    - struct vlc_gl_api*
    - struct vlc_gl_interop*
    assertStmts:
    - condition: (!interop->handle_texs_gen)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/vlc/modules/video_output/opengl/sub_renderer.c
    constantsTouched: []
    func_position:
      end: 241
      start: 116
    functionDepth: 5
    functionLinenumber: 116
    functionLinenumberEnd: 241
    functionName: vlc_gl_sub_renderer_New
    functionSourceFile: /src/vlc/modules/video_output/opengl/sub_renderer.c
    functionUses: 3
    functionsReached:
    - asprintf
    - assert
    - strdup
    - ARRAY_SIZE
    - FetchLocations
    - opengl_vtable_t*::GenBuffers
    - free
    - __MIN
    - vlc_alloc
    - VLC_OBJECT
    - vlc_gl_BuildProgram
    - malloc
    - opengl_vtable_t*::DeleteProgram
    linkageType: ''
    returnType: struct vlc_gl_sub_renderer
    signature: "struct vlc_gl_sub_renderer *\nvlc_gl_sub_renderer_New(vlc_gl_t *gl,
      const struct vlc_gl_api *api,\n                        struct vlc_gl_interop
      *interop)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct vlc_gl_sub_renderer*::vt::DeleteBuffers
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:247,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:248,1
    - Dst: struct vlc_gl_sub_renderer*::vt::DeleteTextures
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:253,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:255,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:257,1
    - Dst: struct vlc_gl_sub_renderer*::vt::DeleteProgram
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:258,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - sr
    argTypes:
    - struct vlc_gl_sub_renderer*
    assertStmts:
    - condition: (sr->program_id)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/vlc/modules/video_output/opengl/sub_renderer.c
    constantsTouched: []
    func_position:
      end: 261
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 261
    functionName: vlc_gl_sub_renderer_Delete
    functionSourceFile: /src/vlc/modules/video_output/opengl/sub_renderer.c
    functionUses: 3
    functionsReached:
    - assert
    - struct vlc_gl_sub_renderer*::vt::DeleteTextures
    - struct vlc_gl_sub_renderer*::vt::DeleteBuffers
    - free
    - struct vlc_gl_sub_renderer*::vt::DeleteProgram
    linkageType: ''
    returnType: void
    signature: void vlc_gl_sub_renderer_Delete(struct vlc_gl_sub_renderer *sr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - sr
    - width
    - height
    argTypes:
    - struct vlc_gl_sub_renderer*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 269
    functionName: vlc_gl_sub_renderer_SetOutputSize
    functionSourceFile: /src/vlc/modules/video_output/opengl/sub_renderer.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void vlc_gl_sub_renderer_SetOutputSize(struct vlc_gl_sub_renderer
      *sr,\n                                  unsigned width, unsigned height)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:275,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:277,1
    - Dst: calloc
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:289,1
    - Dst: vlc_vector_foreach
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:297,1
    - Dst: stdc_bit_ceil
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:300,1
    - Dst: stdc_bit_ceil
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:301,1
    - Dst: memset
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:318,1
    - Dst: vlc_gl_interop_GenerateTextures
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:329,1
    - Dst: struct vlc_gl_interop*::ops::update_textures
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:341,1
    - Dst: vlc_gl_interop_DeleteTextures
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:357,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:359,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:361,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 2
    argNames:
    - sr
    - subpicture
    argTypes:
    - struct vlc_gl_sub_renderer*
    - vlc_render_subpicture*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 364
    functionName: vlc_gl_sub_renderer_Prepare
    functionSourceFile: /src/vlc/modules/video_output/opengl/sub_renderer.c
    functionUses: 3
    functionsReached:
    - memset
    - vlc_vector_foreach
    - calloc
    - vlc_gl_interop_GenerateTextures
    - struct vlc_gl_interop*::ops::update_textures
    - free
    - GL_ASSERT_NOERROR
    - unlikely
    - vlc_gl_interop_DeleteTextures
    - stdc_bit_ceil
    linkageType: ''
    returnType: int
    signature: "int vlc_gl_sub_renderer_Prepare(struct vlc_gl_sub_renderer *sr,\n
      \                           const vlc_render_subpicture *subpicture)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:372,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:374,1
    - Dst: opengl_vtable_t*::UseProgram
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:375,1
    - Dst: opengl_vtable_t*::Enable
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:377,1
    - Dst: opengl_vtable_t*::BlendFunc
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:378,1
    - Dst: opengl_vtable_t*::Viewport
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:380,1
    - Dst: opengl_vtable_t*::DeleteBuffers
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:385,1
    - Dst: realloc_or_free
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:389,1
    - Dst: opengl_vtable_t*::GenBuffers
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:394,1
    - Dst: opengl_vtable_t*::ActiveTexture
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:397,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:455,1
    - Dst: ORIENT_IS_MIRROR
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:458,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:475,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:487,1
    - Dst: opengl_vtable_t*::BindTexture
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:488,1
    - Dst: opengl_vtable_t*::Uniform1f
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:490,1
    - Dst: opengl_vtable_t*::BindBuffer
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:492,1
    - Dst: opengl_vtable_t*::BufferData
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:495,1
    - Dst: opengl_vtable_t*::EnableVertexAttribArray
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:496,1
    - Dst: opengl_vtable_t*::VertexAttribPointer
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:497,1
    - Dst: opengl_vtable_t*::BindBuffer
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:499,1
    - Dst: opengl_vtable_t*::BufferData
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:500,1
    - Dst: opengl_vtable_t*::EnableVertexAttribArray
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:501,1
    - Dst: opengl_vtable_t*::VertexAttribPointer
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:502,1
    - Dst: opengl_vtable_t*::DrawArrays
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:504,1
    - Dst: opengl_vtable_t*::Disable
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:506,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/modules/video_output/opengl/sub_renderer.c:508,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 87
    argCount: 1
    argNames:
    - sr
    argTypes:
    - struct vlc_gl_sub_renderer*
    assertStmts:
    - condition: (glr->texture != 0)
      pos:
        line_end: 486
        line_start: 486
        source_file: /src/vlc/modules/video_output/opengl/sub_renderer.c
    - condition: (sr->program_id)
      pos:
        line_end: 373
        line_start: 373
        source_file: /src/vlc/modules/video_output/opengl/sub_renderer.c
    constantsTouched: []
    func_position:
      end: 511
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 511
    functionName: vlc_gl_sub_renderer_Draw
    functionSourceFile: /src/vlc/modules/video_output/opengl/sub_renderer.c
    functionUses: 3
    functionsReached:
    - assert
    - opengl_vtable_t*::BindTexture
    - opengl_vtable_t*::GenBuffers
    - opengl_vtable_t*::BlendFunc
    - realloc_or_free
    - opengl_vtable_t*::Uniform1f
    - vlc_assert_unreachable
    - opengl_vtable_t*::UseProgram
    - opengl_vtable_t*::DrawArrays
    - opengl_vtable_t*::BindBuffer
    - opengl_vtable_t*::DeleteBuffers
    - opengl_vtable_t*::ActiveTexture
    - opengl_vtable_t*::Enable
    - opengl_vtable_t*::Viewport
    - opengl_vtable_t*::EnableVertexAttribArray
    - opengl_vtable_t*::Disable
    - opengl_vtable_t*::VertexAttribPointer
    - opengl_vtable_t*::BufferData
    - GL_ASSERT_NOERROR
    - ORIENT_IS_MIRROR
    linkageType: ''
    returnType: int
    signature: int vlc_gl_sub_renderer_Draw(struct vlc_gl_sub_renderer *sr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MTX3
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:73,1
    - Dst: MTX4
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:73,1
    - Dst: MTX3
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:74,1
    - Dst: MTX4
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:74,1
    - Dst: MTX3
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:75,1
    - Dst: MTX4
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:75,1
    - Dst: MTX3
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:76,1
    - Dst: MTX4
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:76,1
    - Dst: MTX3
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:77,1
    - Dst: MTX4
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:77,1
    - Dst: MTX3
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:78,1
    - Dst: MTX4
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - mtx_2x3
    - mtx_4x4
    argTypes:
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 81
    functionName: ReductMatrix
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_asurface.c
    functionUses: 0
    functionsReached:
    - MTX4
    - MTX3
    linkageType: ''
    returnType: void
    signature: void ReductMatrix(float *mtx_2x3, const float *mtx_4x4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ROW
    - ','
    - COL
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: MTX4
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_asurface.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MTX4(ROW,COL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ROW
    - ','
    - COL
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: MTX3
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_asurface.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MTX3(ROW,COL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - interop
    - textures
    - tex_width
    - tex_height
    argTypes:
    - struct vlc_gl_interop*
    - uint32_t[]
    - int32_t[]
    - int32_t[]
    assertStmts:
    - condition: (textures[0] != 0)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/vlc/modules/video_output/opengl/interop_asurface.c
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: tc_anop_allocate_textures
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_asurface.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: "int tc_anop_allocate_textures(const struct vlc_gl_interop *interop,
      uint32_t textures[],\n                          const int32_t tex_width[], const
      int32_t tex_height[])"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:101,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:102,1
    - Dst: picture_Hold
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:105,1
    - Dst: vlc_video_context_GetPrivate
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:109,1
    - Dst: android_video_context_t*::get_texture
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:117,1
    - Dst: SurfaceTexture_detachFromGLContext
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:125,1
    - Dst: struct priv*::gl::GenTextures
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:128,1
    - Dst: SurfaceTexture_attachToGLContext
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:131,1
    - Dst: android_video_context_t*::render
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:138,1
    - Dst: SurfaceTexture_releaseTexImage
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:143,1
    - Dst: SurfaceTexture_updateTexImage
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:146,1
    - Dst: ReductMatrix
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:153,1
    - Dst: struct priv*::gl::ActiveTexture
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:156,1
    - Dst: struct priv*::gl::BindTexture
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:157,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:161,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:166,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 6
    argNames:
    - interop
    - textures
    - tex_width
    - tex_height
    - pic
    - plane_offset
    argTypes:
    - struct vlc_gl_interop*
    - uint32_t[]
    - int32_t[]
    - int32_t[]
    - picture_t*
    - size_t[]
    assertStmts:
    - condition: (pic->context)
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/vlc/modules/video_output/opengl/interop_asurface.c
    - condition: (textures[0] != 0)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/vlc/modules/video_output/opengl/interop_asurface.c
    constantsTouched: []
    func_position:
      end: 168
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 168
    functionName: tc_anop_update
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_asurface.c
    functionUses: 0
    functionsReached:
    - SurfaceTexture_updateTexImage
    - assert
    - struct priv*::gl::BindTexture
    - SurfaceTexture_releaseTexImage
    - picture_Hold
    - android_video_context_t*::render
    - vlc_video_context_GetPrivate
    - struct priv*::gl::GenTextures
    - struct priv*::gl::ActiveTexture
    - picture_Release
    - SurfaceTexture_attachToGLContext
    - SurfaceTexture_detachFromGLContext
    - ReductMatrix
    - android_video_context_t*::get_texture
    linkageType: ''
    returnType: int
    signature: "int tc_anop_update(const struct vlc_gl_interop *interop, uint32_t
      textures[],\n               const int32_t tex_width[], const int32_t tex_height[],\n
      \              picture_t *pic, const size_t plane_offset[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interop
    argTypes:
    - struct vlc_gl_interop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: tc_get_transform_matrix
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_asurface.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: 'float *

      tc_get_transform_matrix(const struct vlc_gl_interop *interop)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SurfaceTexture_detachFromGLContext
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:184,1
    - Dst: SurfaceTexture_releaseTexImage
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:185,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:189,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - interop
    argTypes:
    - struct vlc_gl_interop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 192
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_asurface.c
    functionUses: 168
    functionsReached:
    - free
    - picture_Release
    - SurfaceTexture_detachFromGLContext
    - SurfaceTexture_releaseTexImage
    linkageType: ''
    returnType: void
    signature: void Close(struct vlc_gl_interop *interop)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_LoadExtensionFunctions
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:202,1
    - Dst: vlc_gl_HasExtension
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:204,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:206,1
    - Dst: vlc_video_context_GetPrivate
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:212,1
    - Dst: malloc
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:217,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:218,1
    - Dst: LOAD_SYMBOL
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:231,1
    - Dst: LOAD_SYMBOL
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:232,1
    - Dst: LOAD_SYMBOL
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:233,1
    - Dst: vlc_gl_HasExtension
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:244,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/opengl/interop_asurface.c:246,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - interop
    argTypes:
    - struct vlc_gl_interop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 271
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_asurface.c
    functionUses: 65
    functionsReached:
    - vlc_video_context_GetPrivate
    - vlc_gl_HasExtension
    - vlc_gl_LoadExtensionFunctions
    - LOAD_SYMBOL
    - msg_Warn
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open(struct vlc_gl_interop *interop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: LOAD_SYMBOL
    functionSourceFile: /src/vlc/modules/video_output/opengl/interop_asurface.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD_SYMBOL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eglQueryString
      Src: /src/vlc/modules/video_output/opengl/egl.c:81,1
    - Dst: vlc_gl_StrHasToken
      Src: /src/vlc/modules/video_output/opengl/egl.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dpy
    - api
    argTypes:
    - EGLDisplay
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: CheckAPI
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 1
    functionsReached:
    - eglQueryString
    - vlc_gl_StrHasToken
    linkageType: ''
    returnType: bool
    signature: bool CheckAPI(EGLDisplay dpy, const char *api)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_StrHasToken
      Src: /src/vlc/modules/video_output/opengl/egl.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: CheckClientExt
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 2
    functionsReached:
    - vlc_gl_StrHasToken
    linkageType: ''
    returnType: bool
    signature: bool CheckClientExt(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eglQueryString
      Src: /src/vlc/modules/video_output/opengl/egl.c:92,1
    - Dst: vlc_gl_StrHasToken
      Src: /src/vlc/modules/video_output/opengl/egl.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - display
    - name
    argTypes:
    - EGLDisplay
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: CheckDisplayExt
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 1
    functionsReached:
    - eglQueryString
    - vlc_gl_StrHasToken
    linkageType: ''
    returnType: bool
    signature: bool CheckDisplayExt(EGLDisplay display, const char *name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: eglQueryDeviceStringEXT
      Src: /src/vlc/modules/video_output/opengl/egl.c:100,1
    - Dst: vlc_gl_StrHasToken
      Src: /src/vlc/modules/video_output/opengl/egl.c:106,1
    - Dst: eglQueryDeviceStringEXT
      Src: /src/vlc/modules/video_output/opengl/egl.c:108,1
    - Dst: eglQueryDeviceStringEXT
      Src: /src/vlc/modules/video_output/opengl/egl.c:109,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/egl.c:110,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/egl.c:114,1
    - Dst: vlc_gl_StrHasToken
      Src: /src/vlc/modules/video_output/opengl/egl.c:116,1
    - Dst: eglQueryDeviceStringEXT
      Src: /src/vlc/modules/video_output/opengl/egl.c:118,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/egl.c:120,1
    - Dst: vlc_gl_StrHasToken
      Src: /src/vlc/modules/video_output/opengl/egl.c:122,1
    - Dst: eglQueryDeviceStringEXT
      Src: /src/vlc/modules/video_output/opengl/egl.c:124,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/egl.c:126,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - gl
    - eglQueryDeviceStringEXT
    - device
    argTypes:
    - vlc_gl_t*
    - PFNEGLQUERYDEVICESTRINGEXTPROC
    - EGLDeviceEXT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 128
    functionName: LogDeviceInfo
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 2
    functionsReached:
    - vlc_gl_StrHasToken
    - msg_Dbg
    - eglQueryDeviceStringEXT
    linkageType: ''
    returnType: void
    signature: "void LogDeviceInfo(vlc_gl_t *gl,\n                          PFNEGLQUERYDEVICESTRINGEXTPROC
      eglQueryDeviceStringEXT,\n                          EGLDeviceEXT device)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eglGetProcAddress
      Src: /src/vlc/modules/video_output/opengl/egl.c:133,1
    - Dst: eglGetProcAddress
      Src: /src/vlc/modules/video_output/opengl/egl.c:135,1
    - Dst: eglQueryDevicesEXT
      Src: /src/vlc/modules/video_output/opengl/egl.c:138,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/egl.c:141,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_output/opengl/egl.c:145,1
    - Dst: eglQueryDevicesEXT
      Src: /src/vlc/modules/video_output/opengl/egl.c:149,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/egl.c:151,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/egl.c:155,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/egl.c:158,1
    - Dst: LogDeviceInfo
      Src: /src/vlc/modules/video_output/opengl/egl.c:159,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/egl.c:162,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 163
    functionName: DisplayAvailableDevices
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 1
    functionsReached:
    - free
    - msg_Dbg
    - vlc_alloc
    - LogDeviceInfo
    - eglQueryDevicesEXT
    - eglGetProcAddress
    linkageType: ''
    returnType: void
    signature: void DisplayAvailableDevices(vlc_gl_t *gl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eglMakeCurrent
      Src: /src/vlc/modules/video_output/opengl/egl.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 183
    functionName: MakeCurrent
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 51
    functionsReached:
    - eglMakeCurrent
    linkageType: ''
    returnType: int
    signature: int MakeCurrent (vlc_gl_t *gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eglMakeCurrent
      Src: /src/vlc/modules/video_output/opengl/egl.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 192
    functionName: ReleaseCurrent
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 28
    functionsReached:
    - eglMakeCurrent
    linkageType: ''
    returnType: void
    signature: void ReleaseCurrent (vlc_gl_t *gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wl_egl_window_resize
      Src: /src/vlc/modules/video_output/opengl/egl.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - gl
    - width
    - height
    argTypes:
    - vlc_gl_t*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: Resize
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 25
    functionsReached:
    - wl_egl_window_resize
    linkageType: ''
    returnType: void
    signature: void Resize (vlc_gl_t *gl, unsigned width, unsigned height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wl_egl_window_destroy
      Src: /src/vlc/modules/video_output/opengl/egl.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: DestroySurface
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 4
    functionsReached:
    - wl_egl_window_destroy
    linkageType: ''
    returnType: void
    signature: void DestroySurface(vlc_gl_t *gl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wl_egl_window_create
      Src: /src/vlc/modules/video_output/opengl/egl.c:215,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/egl.c:220,1
    - Dst: CheckClientExt
      Src: /src/vlc/modules/video_output/opengl/egl.c:220,1
    - Dst: eglCreatePlatformWindowSurface
      Src: /src/vlc/modules/video_output/opengl/egl.c:221,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/egl.c:224,1
    - Dst: CheckClientExt
      Src: /src/vlc/modules/video_output/opengl/egl.c:224,1
    - Dst: createPlatformWindowSurfaceEXT
      Src: /src/vlc/modules/video_output/opengl/egl.c:225,1
    - Dst: wl_egl_window_destroy
      Src: /src/vlc/modules/video_output/opengl/egl.c:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - gl
    - dpy
    - config
    - width
    - height
    argTypes:
    - vlc_gl_t*
    - EGLDisplay
    - EGLConfig
    - unsigned int
    - unsigned int
    assertStmts:
    - condition: (CheckClientExt("EGL_EXT_platform_wayland"))
      pos:
        line_end: 223
        line_start: 223
        source_file: /src/vlc/modules/video_output/opengl/egl.c
    - condition: (CheckClientExt("EGL_KHR_platform_wayland"))
      pos:
        line_end: 219
        line_start: 219
        source_file: /src/vlc/modules/video_output/opengl/egl.c
    constantsTouched: []
    func_position:
      end: 235
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 235
    functionName: CreateSurface
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 5
    functionsReached:
    - assert
    - CheckClientExt
    - wl_egl_window_create
    - wl_egl_window_destroy
    - createPlatformWindowSurfaceEXT
    - eglCreatePlatformWindowSurface
    linkageType: ''
    returnType: EGLSurface
    signature: "EGLSurface CreateSurface(vlc_gl_t *gl, EGLDisplay dpy, EGLConfig config,\n
      \                               unsigned int width, unsigned int height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: ReleaseDisplay
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReleaseDisplay(vlc_gl_t *gl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CheckClientExt
      Src: /src/vlc/modules/video_output/opengl/egl.c:248,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/opengl/egl.c:249,1
    - Dst: CheckClientExt
      Src: /src/vlc/modules/video_output/opengl/egl.c:261,1
    - Dst: eglGetPlatformDisplay
      Src: /src/vlc/modules/video_output/opengl/egl.c:262,1
    - Dst: CheckClientExt
      Src: /src/vlc/modules/video_output/opengl/egl.c:267,1
    - Dst: getPlatformDisplayEXT
      Src: /src/vlc/modules/video_output/opengl/egl.c:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 273
    functionName: OpenDisplay
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 7
    functionsReached:
    - eglGetPlatformDisplay
    - getPlatformDisplayEXT
    - CheckClientExt
    - msg_Warn
    linkageType: ''
    returnType: EGLDisplay
    signature: EGLDisplay OpenDisplay(vlc_gl_t *gl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eglGetCurrentDisplay
      Src: /src/vlc/modules/video_output/opengl/egl.c:281,1
    - Dst: eglGetCurrentSurface
      Src: /src/vlc/modules/video_output/opengl/egl.c:282,1
    - Dst: eglGetCurrentSurface
      Src: /src/vlc/modules/video_output/opengl/egl.c:283,1
    - Dst: eglGetCurrentContext
      Src: /src/vlc/modules/video_output/opengl/egl.c:284,1
    - Dst: eglMakeCurrent
      Src: /src/vlc/modules/video_output/opengl/egl.c:286,1
    - Dst: eglWaitClient
      Src: /src/vlc/modules/video_output/opengl/egl.c:288,1
    - Dst: LastKnownRequestProcessed
      Src: /src/vlc/modules/video_output/opengl/egl.c:290,1
    - Dst: NextRequest
      Src: /src/vlc/modules/video_output/opengl/egl.c:291,1
    - Dst: XResizeWindow
      Src: /src/vlc/modules/video_output/opengl/egl.c:292,1
    - Dst: eglQuerySurface
      Src: /src/vlc/modules/video_output/opengl/egl.c:296,1
    - Dst: eglWaitNative
      Src: /src/vlc/modules/video_output/opengl/egl.c:297,1
    - Dst: eglMakeCurrent
      Src: /src/vlc/modules/video_output/opengl/egl.c:299,1
    - Dst: eglMakeCurrent
      Src: /src/vlc/modules/video_output/opengl/egl.c:301,1
    - Dst: LastKnownRequestProcessed
      Src: /src/vlc/modules/video_output/opengl/egl.c:303,1
    - Dst: XSync
      Src: /src/vlc/modules/video_output/opengl/egl.c:304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - gl
    - width
    - height
    argTypes:
    - vlc_gl_t*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 305
    functionName: Resize
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 25
    functionsReached:
    - eglQuerySurface
    - eglGetCurrentSurface
    - XResizeWindow
    - eglWaitClient
    - eglWaitNative
    - eglMakeCurrent
    - eglGetCurrentDisplay
    - NextRequest
    - LastKnownRequestProcessed
    - XSync
    - eglGetCurrentContext
    linkageType: ''
    returnType: void
    signature: void Resize (vlc_gl_t *gl, unsigned width, unsigned height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XUnmapWindow
      Src: /src/vlc/modules/video_output/opengl/egl.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 312
    functionName: DestroySurface
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 4
    functionsReached:
    - XUnmapWindow
    linkageType: ''
    returnType: void
    signature: void DestroySurface(vlc_gl_t *gl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eglGetConfigAttrib
      Src: /src/vlc/modules/video_output/opengl/egl.c:320,1
    - Dst: XGetVisualInfo
      Src: /src/vlc/modules/video_output/opengl/egl.c:325,1
    - Dst: XFree
      Src: /src/vlc/modules/video_output/opengl/egl.c:330,1
    - Dst: XCreateColormap
      Src: /src/vlc/modules/video_output/opengl/egl.c:338,1
    - Dst: XCreateWindow
      Src: /src/vlc/modules/video_output/opengl/egl.c:341,1
    - Dst: XMapWindow
      Src: /src/vlc/modules/video_output/opengl/egl.c:345,1
    - Dst: CheckClientExt
      Src: /src/vlc/modules/video_output/opengl/egl.c:348,1
    - Dst: eglCreatePlatformWindowSurface
      Src: /src/vlc/modules/video_output/opengl/egl.c:349,1
    - Dst: CheckClientExt
      Src: /src/vlc/modules/video_output/opengl/egl.c:352,1
    - Dst: createPlatformWindowSurfaceEXT
      Src: /src/vlc/modules/video_output/opengl/egl.c:353,1
    - Dst: eglCreateWindowSurface
      Src: /src/vlc/modules/video_output/opengl/egl.c:356,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - gl
    - dpy
    - config
    - width
    - height
    argTypes:
    - vlc_gl_t*
    - EGLDisplay
    - EGLConfig
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 357
    functionName: CreateSurface
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 5
    functionsReached:
    - eglCreateWindowSurface
    - XFree
    - XGetVisualInfo
    - CheckClientExt
    - eglGetConfigAttrib
    - XCreateColormap
    - XCreateWindow
    - createPlatformWindowSurfaceEXT
    - XMapWindow
    - eglCreatePlatformWindowSurface
    linkageType: ''
    returnType: EGLSurface
    signature: "EGLSurface CreateSurface(vlc_gl_t *gl, EGLDisplay dpy, EGLConfig config,\n
      \                               unsigned int width, unsigned int height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XCloseDisplay
      Src: /src/vlc/modules/video_output/opengl/egl.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 364
    functionName: ReleaseDisplay
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 1
    functionsReached:
    - XCloseDisplay
    linkageType: ''
    returnType: void
    signature: void ReleaseDisplay(vlc_gl_t *gl)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_xlib_init
      Src: /src/vlc/modules/video_output/opengl/egl.c:371,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/opengl/egl.c:371,1
    - Dst: XOpenDisplay
      Src: /src/vlc/modules/video_output/opengl/egl.c:374,1
    - Dst: XGetWindowAttributes
      Src: /src/vlc/modules/video_output/opengl/egl.c:380,1
    - Dst: XScreenNumberOfScreen
      Src: /src/vlc/modules/video_output/opengl/egl.c:384,1
    - Dst: CheckClientExt
      Src: /src/vlc/modules/video_output/opengl/egl.c:388,1
    - Dst: getPlatformDisplayEXT
      Src: /src/vlc/modules/video_output/opengl/egl.c:394,1
    - Dst: CheckClientExt
      Src: /src/vlc/modules/video_output/opengl/egl.c:398,1
    - Dst: getPlatformDisplayEXT
      Src: /src/vlc/modules/video_output/opengl/egl.c:404,1
    - Dst: XDefaultScreen
      Src: /src/vlc/modules/video_output/opengl/egl.c:408,1
    - Dst: eglGetDisplay
      Src: /src/vlc/modules/video_output/opengl/egl.c:409,1
    - Dst: BlackPixelOfScreen
      Src: /src/vlc/modules/video_output/opengl/egl.c:418,1
    - Dst: XCloseDisplay
      Src: /src/vlc/modules/video_output/opengl/egl.c:421,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 423
    functionName: OpenDisplay
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 8
    functionsReached:
    - eglGetDisplay
    - getPlatformDisplayEXT
    - XCloseDisplay
    - BlackPixelOfScreen
    - XScreenNumberOfScreen
    - vlc_xlib_init
    - CheckClientExt
    - VLC_OBJECT
    - XGetWindowAttributes
    - XOpenDisplay
    - XDefaultScreen
    linkageType: ''
    returnType: EGLDisplay
    signature: EGLDisplay OpenDisplay(vlc_gl_t *gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcb_setup_roots_iterator
      Src: /src/vlc/modules/video_output/opengl/egl.c:428,1
    - Dst: xcb_get_setup
      Src: /src/vlc/modules/video_output/opengl/egl.c:428,1
    - Dst: xcb_screen_next
      Src: /src/vlc/modules/video_output/opengl/egl.c:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - conn
    - scr
    argTypes:
    - xcb_connection_t*
    - xcb_screen_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 436
    functionName: GetScreenNum
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 0
    functionsReached:
    - xcb_screen_next
    - xcb_get_setup
    - xcb_setup_roots_iterator
    linkageType: ''
    returnType: int
    signature: int GetScreenNum(xcb_connection_t *conn, const xcb_screen_t *scr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eglGetCurrentDisplay
      Src: /src/vlc/modules/video_output/opengl/egl.c:443,1
    - Dst: eglGetCurrentSurface
      Src: /src/vlc/modules/video_output/opengl/egl.c:444,1
    - Dst: eglGetCurrentSurface
      Src: /src/vlc/modules/video_output/opengl/egl.c:445,1
    - Dst: eglGetCurrentContext
      Src: /src/vlc/modules/video_output/opengl/egl.c:446,1
    - Dst: eglMakeCurrent
      Src: /src/vlc/modules/video_output/opengl/egl.c:448,1
    - Dst: eglWaitClient
      Src: /src/vlc/modules/video_output/opengl/egl.c:450,1
    - Dst: xcb_configure_window_checked
      Src: /src/vlc/modules/video_output/opengl/egl.c:454,1
    - Dst: eglQuerySurface
      Src: /src/vlc/modules/video_output/opengl/egl.c:458,1
    - Dst: eglWaitNative
      Src: /src/vlc/modules/video_output/opengl/egl.c:459,1
    - Dst: eglMakeCurrent
      Src: /src/vlc/modules/video_output/opengl/egl.c:461,1
    - Dst: eglMakeCurrent
      Src: /src/vlc/modules/video_output/opengl/egl.c:463,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/egl.c:465,1
    - Dst: xcb_request_check
      Src: /src/vlc/modules/video_output/opengl/egl.c:465,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - gl
    - width
    - height
    argTypes:
    - vlc_gl_t*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 466
    functionName: Resize
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 25
    functionsReached:
    - eglQuerySurface
    - eglGetCurrentSurface
    - xcb_request_check
    - eglWaitClient
    - xcb_configure_window_checked
    - eglMakeCurrent
    - eglWaitNative
    - free
    - eglGetCurrentDisplay
    - eglGetCurrentContext
    linkageType: ''
    returnType: void
    signature: void Resize (vlc_gl_t *gl, unsigned width, unsigned height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcb_unmap_window
      Src: /src/vlc/modules/video_output/opengl/egl.c:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 473
    functionName: DestroySurface
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 4
    functionsReached:
    - xcb_unmap_window
    linkageType: ''
    returnType: void
    signature: void DestroySurface(vlc_gl_t *gl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xcb_setup_roots_iterator
      Src: /src/vlc/modules/video_output/opengl/egl.c:477,1
    - Dst: xcb_get_setup
      Src: /src/vlc/modules/video_output/opengl/egl.c:477,1
    - Dst: xcb_screen_next
      Src: /src/vlc/modules/video_output/opengl/egl.c:478,1
    - Dst: xcb_screen_allowed_depths_iterator
      Src: /src/vlc/modules/video_output/opengl/egl.c:479,1
    - Dst: xcb_depth_next
      Src: /src/vlc/modules/video_output/opengl/egl.c:480,1
    - Dst: xcb_depth_visuals_iterator
      Src: /src/vlc/modules/video_output/opengl/egl.c:481,1
    - Dst: xcb_visualtype_next
      Src: /src/vlc/modules/video_output/opengl/egl.c:482,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - conn
    - vid
    argTypes:
    - xcb_connection_t*
    - xcb_visualid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 490
    functionName: VisualIdToDepth
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 0
    functionsReached:
    - xcb_visualtype_next
    - xcb_depth_next
    - xcb_get_setup
    - xcb_setup_roots_iterator
    - xcb_screen_allowed_depths_iterator
    - xcb_screen_next
    - xcb_depth_visuals_iterator
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t VisualIdToDepth(xcb_connection_t *conn, xcb_visualid_t vid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eglGetConfigAttrib
      Src: /src/vlc/modules/video_output/opengl/egl.c:500,1
    - Dst: xcb_generate_id
      Src: /src/vlc/modules/video_output/opengl/egl.c:503,1
    - Dst: xcb_create_colormap
      Src: /src/vlc/modules/video_output/opengl/egl.c:504,1
    - Dst: VisualIdToDepth
      Src: /src/vlc/modules/video_output/opengl/egl.c:506,1
    - Dst: xcb_generate_id
      Src: /src/vlc/modules/video_output/opengl/egl.c:510,1
    - Dst: xcb_create_window
      Src: /src/vlc/modules/video_output/opengl/egl.c:526,1
    - Dst: xcb_map_window
      Src: /src/vlc/modules/video_output/opengl/egl.c:529,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/egl.c:532,1
    - Dst: CheckClientExt
      Src: /src/vlc/modules/video_output/opengl/egl.c:532,1
    - Dst: createPlatformWindowSurfaceEXT
      Src: /src/vlc/modules/video_output/opengl/egl.c:533,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - gl
    - dpy
    - config
    - width
    - height
    argTypes:
    - vlc_gl_t*
    - EGLDisplay
    - EGLConfig
    - unsigned int
    - unsigned int
    assertStmts:
    - condition: (CheckClientExt("EGL_EXT_platform_xcb"))
      pos:
        line_end: 531
        line_start: 531
        source_file: /src/vlc/modules/video_output/opengl/egl.c
    constantsTouched: []
    func_position:
      end: 537
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 537
    functionName: CreateSurface
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 5
    functionsReached:
    - xcb_create_window
    - assert
    - xcb_generate_id
    - CheckClientExt
    - VisualIdToDepth
    - eglGetConfigAttrib
    - xcb_create_colormap
    - xcb_map_window
    - createPlatformWindowSurfaceEXT
    linkageType: ''
    returnType: EGLSurface
    signature: "EGLSurface CreateSurface(vlc_gl_t *gl, EGLDisplay dpy, EGLConfig config,\n
      \                               unsigned int width, unsigned int height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcb_disconnect
      Src: /src/vlc/modules/video_output/opengl/egl.c:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 544
    functionName: ReleaseDisplay
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 1
    functionsReached:
    - xcb_disconnect
    linkageType: ''
    returnType: void
    signature: void ReleaseDisplay(vlc_gl_t *gl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CheckClientExt
      Src: /src/vlc/modules/video_output/opengl/egl.c:556,1
    - Dst: vlc_xcb_parent_Create
      Src: /src/vlc/modules/video_output/opengl/egl.c:558,1
    - Dst: GetScreenNum
      Src: /src/vlc/modules/video_output/opengl/egl.c:563,1
    - Dst: getPlatformDisplayEXT
      Src: /src/vlc/modules/video_output/opengl/egl.c:567,1
    - Dst: xcb_disconnect
      Src: /src/vlc/modules/video_output/opengl/egl.c:570,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 581
    functionName: OpenDisplay
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 8
    functionsReached:
    - vlc_xcb_parent_Create
    - getPlatformDisplayEXT
    - GetScreenNum
    - CheckClientExt
    - xcb_disconnect
    linkageType: ''
    returnType: EGLDisplay
    signature: EGLDisplay OpenDisplay(vlc_gl_t *gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AWindowHandler_releaseANativeWindow
      Src: /src/vlc/modules/video_output/opengl/egl.c:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 586
    functionDepth: 3
    functionLinenumber: 586
    functionLinenumberEnd: 590
    functionName: DestroySurface
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 4
    functionsReached:
    - AWindowHandler_releaseANativeWindow
    linkageType: ''
    returnType: void
    signature: void DestroySurface(vlc_gl_t *gl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AWindowHandler_getANativeWindow
      Src: /src/vlc/modules/video_output/opengl/egl.c:596,1
    - Dst: AWindowHandler_getCapabilities
      Src: /src/vlc/modules/video_output/opengl/egl.c:602,1
    - Dst: ANativeWindow_setBuffersGeometry
      Src: /src/vlc/modules/video_output/opengl/egl.c:605,1
    - Dst: eglCreateWindowSurface
      Src: /src/vlc/modules/video_output/opengl/egl.c:608,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - gl
    - dpy
    - config
    - width
    - height
    argTypes:
    - vlc_gl_t*
    - EGLDisplay
    - EGLConfig
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 592
    functionDepth: 3
    functionLinenumber: 592
    functionLinenumberEnd: 609
    functionName: CreateSurface
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 5
    functionsReached:
    - AWindowHandler_getANativeWindow
    - AWindowHandler_getCapabilities
    - ANativeWindow_setBuffersGeometry
    - eglCreateWindowSurface
    linkageType: ''
    returnType: EGLSurface
    signature: "EGLSurface CreateSurface(vlc_gl_t *gl, EGLDisplay dpy, EGLConfig config,\n
      \                               unsigned int width, unsigned int height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 614
    functionName: ReleaseDisplay
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReleaseDisplay(vlc_gl_t *gl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eglGetDisplay
      Src: /src/vlc/modules/video_output/opengl/egl.c:620,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 623
    functionName: OpenDisplay
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 8
    functionsReached:
    - eglGetDisplay
    linkageType: ''
    returnType: EGLDisplay
    signature: EGLDisplay OpenDisplay(vlc_gl_t *gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 631
    functionName: DestroySurface
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DestroySurface(vlc_gl_t *gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eglCreateWindowSurface
      Src: /src/vlc/modules/video_output/opengl/egl.c:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - gl
    - dpy
    - config
    - width
    - height
    argTypes:
    - vlc_gl_t*
    - EGLDisplay
    - EGLConfig
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 640
    functionName: CreateSurface
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 5
    functionsReached:
    - eglCreateWindowSurface
    linkageType: ''
    returnType: EGLSurface
    signature: "EGLSurface CreateSurface(vlc_gl_t *gl, EGLDisplay dpy, EGLConfig config,\n
      \                               unsigned int width, unsigned int height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 645
    functionName: ReleaseDisplay
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReleaseDisplay(vlc_gl_t *gl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eglGetDisplay
      Src: /src/vlc/modules/video_output/opengl/egl.c:652,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 655
    functionName: OpenDisplay
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 8
    functionsReached:
    - eglGetDisplay
    linkageType: ''
    returnType: EGLDisplay
    signature: EGLDisplay OpenDisplay(vlc_gl_t *gl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eglGetCurrentDisplay
      Src: /src/vlc/modules/video_output/opengl/egl.c:664,1
    - Dst: eglGetCurrentSurface
      Src: /src/vlc/modules/video_output/opengl/egl.c:665,1
    - Dst: eglGetCurrentSurface
      Src: /src/vlc/modules/video_output/opengl/egl.c:666,1
    - Dst: eglGetCurrentContext
      Src: /src/vlc/modules/video_output/opengl/egl.c:667,1
    - Dst: eglMakeCurrent
      Src: /src/vlc/modules/video_output/opengl/egl.c:669,1
    - Dst: eglSwapBuffers
      Src: /src/vlc/modules/video_output/opengl/egl.c:670,1
    - Dst: eglMakeCurrent
      Src: /src/vlc/modules/video_output/opengl/egl.c:672,1
    - Dst: eglMakeCurrent
      Src: /src/vlc/modules/video_output/opengl/egl.c:674,1
    - Dst: eglSwapBuffers
      Src: /src/vlc/modules/video_output/opengl/egl.c:677,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 678
    functionName: SwapBuffers
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 5
    functionsReached:
    - eglGetCurrentSurface
    - eglMakeCurrent
    - eglGetCurrentDisplay
    - eglSwapBuffers
    - eglGetCurrentContext
    linkageType: ''
    returnType: void
    signature: void SwapBuffers (vlc_gl_t *gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eglGetProcAddress
      Src: /src/vlc/modules/video_output/opengl/egl.c:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - gl
    - procname
    argTypes:
    - vlc_gl_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 684
    functionName: GetSymbol
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 0
    functionsReached:
    - eglGetProcAddress
    linkageType: ''
    returnType: void
    signature: void *GetSymbol(vlc_gl_t *gl, const char *procname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eglDestroyContext
      Src: /src/vlc/modules/video_output/opengl/egl.c:691,1
    - Dst: eglDestroySurface
      Src: /src/vlc/modules/video_output/opengl/egl.c:693,1
    - Dst: DestroySurface
      Src: /src/vlc/modules/video_output/opengl/egl.c:694,1
    - Dst: eglTerminate
      Src: /src/vlc/modules/video_output/opengl/egl.c:696,1
    - Dst: ReleaseDisplay
      Src: /src/vlc/modules/video_output/opengl/egl.c:697,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/egl.c:698,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - gl
    argTypes:
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 699
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 168
    functionsReached:
    - eglDestroyContext
    - ReleaseDisplay
    - free
    - DestroySurface
    - eglTerminate
    - eglDestroySurface
    linkageType: ''
    returnType: void
    signature: void Close(vlc_gl_t *gl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/opengl/egl.c:705,1
    - Dst: vlc_once_begin
      Src: /src/vlc/modules/video_output/opengl/egl.c:705,1
    - Dst: eglQueryString
      Src: /src/vlc/modules/video_output/opengl/egl.c:706,1
    - Dst: eglGetProcAddress
      Src: /src/vlc/modules/video_output/opengl/egl.c:712,1
    - Dst: eglGetProcAddress
      Src: /src/vlc/modules/video_output/opengl/egl.c:714,1
    - Dst: vlc_once_complete
      Src: /src/vlc/modules/video_output/opengl/egl.c:716,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 718
    functionName: InitEGL
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 3
    functionsReached:
    - vlc_once_begin
    - eglQueryString
    - vlc_once_complete
    - unlikely
    - eglGetProcAddress
    linkageType: ''
    returnType: void
    signature: void InitEGL(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: InitEGL
      Src: /src/vlc/modules/video_output/opengl/egl.c:727,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/opengl/egl.c:730,1
    - Dst: malloc
      Src: /src/vlc/modules/video_output/opengl/egl.c:731,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/opengl/egl.c:732,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/egl.c:735,1
    - Dst: OpenDisplay
      Src: /src/vlc/modules/video_output/opengl/egl.c:743,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/egl.c:745,1
    - Dst: eglInitialize
      Src: /src/vlc/modules/video_output/opengl/egl.c:751,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/egl.c:753,1
    - Dst: eglQueryString
      Src: /src/vlc/modules/video_output/opengl/egl.c:754,1
    - Dst: eglQueryString
      Src: /src/vlc/modules/video_output/opengl/egl.c:755,1
    - Dst: eglQueryString
      Src: /src/vlc/modules/video_output/opengl/egl.c:757,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/egl.c:759,1
    - Dst: CheckAPI
      Src: /src/vlc/modules/video_output/opengl/egl.c:762,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/egl.c:764,1
    - Dst: CheckClientExt
      Src: /src/vlc/modules/video_output/opengl/egl.c:768,1
    - Dst: CheckClientExt
      Src: /src/vlc/modules/video_output/opengl/egl.c:769,1
    - Dst: DisplayAvailableDevices
      Src: /src/vlc/modules/video_output/opengl/egl.c:773,1
    - Dst: eglGetProcAddress
      Src: /src/vlc/modules/video_output/opengl/egl.c:775,1
    - Dst: eglGetProcAddress
      Src: /src/vlc/modules/video_output/opengl/egl.c:777,1
    - Dst: eglQueryDisplayAttribEXT
      Src: /src/vlc/modules/video_output/opengl/egl.c:780,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/egl.c:784,1
    - Dst: LogDeviceInfo
      Src: /src/vlc/modules/video_output/opengl/egl.c:785,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/egl.c:788,1
    - Dst: CheckDisplayExt
      Src: /src/vlc/modules/video_output/opengl/egl.c:792,1
    - Dst: eglGetProcAddress
      Src: /src/vlc/modules/video_output/opengl/egl.c:797,1
    - Dst: eglGetDisplayDriverName
      Src: /src/vlc/modules/video_output/opengl/egl.c:798,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/egl.c:799,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/opengl/egl.c:802,1
    - Dst: eglChooseConfig
      Src: /src/vlc/modules/video_output/opengl/egl.c:815,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/egl.c:818,1
    - Dst: CreateSurface
      Src: /src/vlc/modules/video_output/opengl/egl.c:823,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/egl.c:826,1
    - Dst: eglBindAPI
      Src: /src/vlc/modules/video_output/opengl/egl.c:830,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/egl.c:832,1
    - Dst: eglCreateContext
      Src: /src/vlc/modules/video_output/opengl/egl.c:836,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/opengl/egl.c:840,1
    - Dst: Close
      Src: /src/vlc/modules/video_output/opengl/egl.c:860,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 5
    argNames:
    - gl
    - api
    - width
    - height
    - gl_cfg
    argTypes:
    - vlc_gl_t*
    - struct gl_api*
    - unsigned
    - unsigned
    - struct vlc_gl_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 862
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 65
    functionsReached:
    - InitEGL
    - CheckClientExt
    - eglCreateContext
    - CheckDisplayExt
    - CreateSurface
    - DisplayAvailableDevices
    - msg_Err
    - msg_Dbg
    - LogDeviceInfo
    - eglGetProcAddress
    - eglQueryString
    - Close
    - eglQueryDisplayAttribEXT
    - eglBindAPI
    - eglGetDisplayDriverName
    - free
    - eglChooseConfig
    - VLC_OBJECT
    - CheckAPI
    - eglInitialize
    - unlikely
    - malloc
    - OpenDisplay
    linkageType: ''
    returnType: int
    signature: "int Open(vlc_gl_t *gl, const struct gl_api *api,\n                unsigned
      width, unsigned height,\n                const struct vlc_gl_cfg *gl_cfg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Open
      Src: /src/vlc/modules/video_output/opengl/egl.c:871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - gl
    - width
    - height
    - gl_cfg
    argTypes:
    - vlc_gl_t*
    - unsigned
    - unsigned
    - struct vlc_gl_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 872
    functionName: OpenGLES2
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 0
    functionsReached:
    - Open
    linkageType: ''
    returnType: int
    signature: "int OpenGLES2(vlc_gl_t *gl, unsigned width, unsigned height,\n                     const
      struct vlc_gl_cfg *gl_cfg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Open
      Src: /src/vlc/modules/video_output/opengl/egl.c:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - gl
    - width
    - height
    - gl_cfg
    argTypes:
    - vlc_gl_t*
    - unsigned
    - unsigned
    - struct vlc_gl_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 882
    functionName: OpenGL
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl.c
    functionUses: 1
    functionsReached:
    - Open
    linkageType: ''
    returnType: int
    signature: "int OpenGL(vlc_gl_t *gl, unsigned width, unsigned height,\n                  const
      struct vlc_gl_cfg *gl_cfg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: add_opengl_submodule_renderer
    functionSourceFile: /src/vlc/modules/video_output/opengl/renderer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: add_opengl_submodule_renderer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/egl_display_gbm.c:53,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/egl_display_gbm.c:54,1
    - Dst: gbm_device_destroy
      Src: /src/vlc/modules/video_output/opengl/egl_display_gbm.c:56,1
    - Dst: vlc_close
      Src: /src/vlc/modules/video_output/opengl/egl_display_gbm.c:57,1
    - Dst: free
      Src: /src/vlc/modules/video_output/opengl/egl_display_gbm.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - display
    argTypes:
    - struct vlc_egl_display*
    assertStmts:
    - condition: (sys->device)
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/vlc/modules/video_output/opengl/egl_display_gbm.c
    - condition: (sys->fd >= 0)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/vlc/modules/video_output/opengl/egl_display_gbm.c
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_display_gbm.c
    functionUses: 169
    functionsReached:
    - vlc_close
    - assert
    - gbm_device_destroy
    - free
    linkageType: ''
    returnType: void
    signature: void Close(struct vlc_egl_display *display)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/opengl/egl_display_gbm.c:83,1
    - Dst: vlc_open
      Src: /src/vlc/modules/video_output/opengl/egl_display_gbm.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - out_path
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 95
    functionName: OpenDeviceFd
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_display_gbm.c
    functionUses: 0
    functionsReached:
    - vlc_open
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int OpenDeviceFd(const char **out_path)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/video_output/opengl/egl_display_gbm.c:101,1
    - Dst: eglQueryString
      Src: /src/vlc/modules/video_output/opengl/egl_display_gbm.c:105,1
    - Dst: vlc_gl_StrHasToken
      Src: /src/vlc/modules/video_output/opengl/egl_display_gbm.c:109,1
    - Dst: OpenDeviceFd
      Src: /src/vlc/modules/video_output/opengl/egl_display_gbm.c:113,1
    - Dst: gbm_create_device
      Src: /src/vlc/modules/video_output/opengl/egl_display_gbm.c:117,1
    - Dst: vlc_close
      Src: /src/vlc/modules/video_output/opengl/egl_display_gbm.c:120,1
    - Dst: eglGetPlatformDisplay
      Src: /src/vlc/modules/video_output/opengl/egl_display_gbm.c:124,1
    - Dst: gbm_device_destroy
      Src: /src/vlc/modules/video_output/opengl/egl_display_gbm.c:128,1
    - Dst: vlc_close
      Src: /src/vlc/modules/video_output/opengl/egl_display_gbm.c:129,1
    - Dst: msg_Info
      Src: /src/vlc/modules/video_output/opengl/egl_display_gbm.c:138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - display
    argTypes:
    - struct vlc_egl_display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 141
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/opengl/egl_display_gbm.c
    functionUses: 67
    functionsReached:
    - gbm_create_device
    - vlc_gl_StrHasToken
    - gbm_device_destroy
    - vlc_close
    - eglQueryString
    - OpenDeviceFd
    - msg_Info
    - eglGetPlatformDisplay
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open(struct vlc_egl_display *display)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - arrays
    argTypes:
    - GLsizei
    - GLuint*
    assertStmts:
    - condition: (n == 1)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/vlc/modules/video_output/opengl/gl_api.c
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: StubGenVertexArrays
    functionSourceFile: /src/vlc/modules/video_output/opengl/gl_api.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void StubGenVertexArrays(GLsizei n, GLuint *arrays)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - GLuint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: StubBindVertexArray
    functionSourceFile: /src/vlc/modules/video_output/opengl/gl_api.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void StubBindVertexArray(GLuint id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:51,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - arrays
    argTypes:
    - GLsizei
    - GLuint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: StubDeleteVertexArrays
    functionSourceFile: /src/vlc/modules/video_output/opengl/gl_api.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void StubDeleteVertexArrays(GLsizei n, const GLuint * arrays)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GET_PROC_ADDR_CORE
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:86,1
    - Dst: GET_PROC_ADDR_CORE
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:87,1
    - Dst: GET_PROC_ADDR_CORE
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:88,1
    - Dst: GET_PROC_ADDR_CORE
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:89,1
    - Dst: GET_PROC_ADDR_CORE
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:90,1
    - Dst: GET_PROC_ADDR_CORE
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:91,1
    - Dst: GET_PROC_ADDR_CORE
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:92,1
    - Dst: GET_PROC_ADDR_CORE
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:93,1
    - Dst: GET_PROC_ADDR_CORE
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:94,1
    - Dst: GET_PROC_ADDR_CORE
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:95,1
    - Dst: GET_PROC_ADDR_CORE
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:96,1
    - Dst: GET_PROC_ADDR_CORE
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:97,1
    - Dst: GET_PROC_ADDR_CORE
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:98,1
    - Dst: GET_PROC_ADDR_CORE
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:99,1
    - Dst: GET_PROC_ADDR_CORE
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:100,1
    - Dst: GET_PROC_ADDR_CORE
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:101,1
    - Dst: GET_PROC_ADDR_CORE
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:102,1
    - Dst: GET_PROC_ADDR_CORE
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:103,1
    - Dst: GET_PROC_ADDR_CORE
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:104,1
    - Dst: GET_PROC_ADDR_CORE
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:105,1
    - Dst: GET_PROC_ADDR_CORE
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:106,1
    - Dst: GET_PROC_ADDR_CORE
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:107,1
    - Dst: GET_PROC_ADDR_CORE_GL
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:109,1
    - Dst: GET_PROC_ADDR_CORE_GL
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:110,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:112,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:113,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:114,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:115,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:116,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:118,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:119,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:120,1
    - Dst: GET_PROC_ADDR_EXT
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:121,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:122,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:123,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:125,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:126,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:127,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:128,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:129,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:130,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:131,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:132,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:133,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:134,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:135,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:136,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:137,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:138,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:139,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:140,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:142,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:143,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:144,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:145,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:147,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:149,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:150,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:151,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:152,1
    - Dst: GET_PROC_ADDR_OPTIONAL
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:154,1
    - Dst: GET_PROC_ADDR_OPTIONAL
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:155,1
    - Dst: GET_PROC_ADDR_OPTIONAL
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:156,1
    - Dst: GET_PROC_ADDR_OPTIONAL
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:157,1
    - Dst: GET_PROC_ADDR_OPTIONAL
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:158,1
    - Dst: GET_PROC_ADDR_OPTIONAL
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:159,1
    - Dst: GET_PROC_ADDR_OPTIONAL
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:160,1
    - Dst: GET_PROC_ADDR_OPTIONAL
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:161,1
    - Dst: GET_PROC_ADDR_OPTIONAL
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:162,1
    - Dst: GET_PROC_ADDR_OPTIONAL
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:163,1
    - Dst: GET_PROC_ADDR_OPTIONAL
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:164,1
    - Dst: GET_PROC_ADDR_OPTIONAL
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:165,1
    - Dst: GET_PROC_ADDR_OPTIONAL
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:167,1
    - Dst: GET_PROC_ADDR_OPTIONAL
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:169,1
    - Dst: GET_PROC_ADDR_OPTIONAL
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:170,1
    - Dst: GET_PROC_ADDR_OPTIONAL
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:171,1
    - Dst: GET_PROC_ADDR_OPTIONAL
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:172,1
    - Dst: GET_PROC_ADDR_OPTIONAL
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:173,1
    - Dst: GET_PROC_ADDR_OPTIONAL
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:174,1
    - Dst: GET_PROC_ADDR_OPTIONAL
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:175,1
    - Dst: GET_PROC_ADDR_OPTIONAL
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:176,1
    - Dst: GET_PROC_ADDR_OPTIONAL
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:177,1
    - Dst: GL_ASSERT_NOERROR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:179,1
    - Dst: struct vlc_gl_api*::vt::GetIntegerv
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:182,1
    - Dst: struct vlc_gl_api*::vt::GetString
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:183,1
    - Dst: struct vlc_gl_api*::vt::GetError
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:184,1
    - Dst: sscanf
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:188,1
    - Dst: struct vlc_gl_api*::vt::GetError
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:201,1
    - Dst: vlc_gl_LoadExtensionFunctions
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:204,1
    - Dst: vlc_gl_HasExtension
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:224,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:235,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:236,1
    - Dst: GET_PROC_ADDR
      Src: /src/vlc/modules/video_output/opengl/gl_api.c:237,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 119
    argCount: 2
    argNames:
    - api
    - gl
    argTypes:
    - struct vlc_gl_api*
    - vlc_gl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 245
    functionName: vlc_gl_api_Init
    functionSourceFile: /src/vlc/modules/video_output/opengl/gl_api.c
    functionUses: 15
    functionsReached:
    - sscanf
    - GET_PROC_ADDR_OPTIONAL
    - struct vlc_gl_api*::vt::GetString
    - vlc_gl_HasExtension
    - struct vlc_gl_api*::vt::GetIntegerv
    - GET_PROC_ADDR
    - vlc_gl_LoadExtensionFunctions
    - GET_PROC_ADDR_CORE_GL
    - GET_PROC_ADDR_EXT
    - GL_ASSERT_NOERROR
    - GET_PROC_ADDR_CORE
    - struct vlc_gl_api*::vt::GetError
    linkageType: ''
    returnType: int
    signature: int vlc_gl_api_Init(struct vlc_gl_api *api, vlc_gl_t *gl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: GET_PROC_ADDR_CORE
    functionSourceFile: /src/vlc/modules/video_output/opengl/gl_api.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_PROC_ADDR_CORE(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: GET_PROC_ADDR_CORE
    functionSourceFile: /src/vlc/modules/video_output/opengl/gl_api.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_PROC_ADDR_CORE(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - critical
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: GET_PROC_ADDR_EXT
    functionSourceFile: /src/vlc/modules/video_output/opengl/gl_api.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_PROC_ADDR_EXT(name, critical)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: GET_PROC_ADDR
    functionSourceFile: /src/vlc/modules/video_output/opengl/gl_api.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_PROC_ADDR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: GET_PROC_ADDR_OPTIONAL
    functionSourceFile: /src/vlc/modules/video_output/opengl/gl_api.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_PROC_ADDR_OPTIONAL(name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: window_get_cursor
      Src: /src/vlc/modules/video_output/wayland/input.c:70,1
    - Dst: wl_pointer_set_cursor
      Src: /src/vlc/modules/video_output/wayland/input.c:74,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/video_output/wayland/input.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sd
    - pointer
    argTypes:
    - struct seat_data*
    - struct wl_pointer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: pointer_show
    functionSourceFile: /src/vlc/modules/video_output/wayland/input.c
    functionUses: 0
    functionsReached:
    - window_get_cursor
    - wl_pointer_set_cursor
    - vlc_tick_now
    linkageType: ''
    returnType: void
    signature: void pointer_show(struct seat_data *sd, struct wl_pointer *pointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointer_show
      Src: /src/vlc/modules/video_output/wayland/input.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - data
    - pointer
    - serial
    - surface
    - sx
    - sy
    argTypes:
    - void*
    - struct wl_pointer*
    - uint32_t
    - struct wl_surface*
    - wl_fixed_t
    - wl_fixed_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: pointer_enter_cb
    functionSourceFile: /src/vlc/modules/video_output/wayland/input.c
    functionUses: 0
    functionsReached:
    - pointer_show
    linkageType: ''
    returnType: void
    signature: "void pointer_enter_cb(void *data, struct wl_pointer *pointer,\n                             uint32_t
      serial, struct wl_surface *surface,\n                             wl_fixed_t
      sx, wl_fixed_t sy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - data
    - pointer
    - serial
    - surface
    argTypes:
    - void*
    - struct wl_pointer*
    - uint32_t
    - struct wl_surface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: pointer_leave_cb
    functionSourceFile: /src/vlc/modules/video_output/wayland/input.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pointer_leave_cb(void *data, struct wl_pointer *pointer,\n                             uint32_t
      serial, struct wl_surface *surface)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointer_show
      Src: /src/vlc/modules/video_output/wayland/input.c:101,1
    - Dst: vlc_window_ReportMouseMoved
      Src: /src/vlc/modules/video_output/wayland/input.c:102,1
    - Dst: wl_fixed_to_int
      Src: /src/vlc/modules/video_output/wayland/input.c:103,1
    - Dst: wl_fixed_to_int
      Src: /src/vlc/modules/video_output/wayland/input.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - data
    - pointer
    - time
    - sx
    - sy
    argTypes:
    - void*
    - struct wl_pointer*
    - uint32_t
    - wl_fixed_t
    - wl_fixed_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 105
    functionName: pointer_motion_cb
    functionSourceFile: /src/vlc/modules/video_output/wayland/input.c
    functionUses: 0
    functionsReached:
    - vlc_window_ReportMouseMoved
    - wl_fixed_to_int
    - pointer_show
    linkageType: ''
    returnType: void
    signature: "void pointer_motion_cb(void *data, struct wl_pointer *pointer,\n                              uint32_t
      time, wl_fixed_t sx, wl_fixed_t sy)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pointer_show
      Src: /src/vlc/modules/video_output/wayland/input.c:114,1
    - Dst: vlc_window_ReportMouseReleased
      Src: /src/vlc/modules/video_output/wayland/input.c:134,1
    - Dst: vlc_window_ReportMousePressed
      Src: /src/vlc/modules/video_output/wayland/input.c:137,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 6
    argNames:
    - data
    - pointer
    - serial
    - time
    - keycode
    - state
    argTypes:
    - void*
    - struct wl_pointer*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 142
    functionName: pointer_button_cb
    functionSourceFile: /src/vlc/modules/video_output/wayland/input.c
    functionUses: 0
    functionsReached:
    - vlc_window_ReportMouseReleased
    - vlc_window_ReportMousePressed
    - pointer_show
    linkageType: ''
    returnType: void
    signature: "void pointer_button_cb(void *data, struct wl_pointer *pointer,\n                              uint32_t
      serial, uint32_t time,\n                              uint32_t keycode, uint32_t
      state)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pointer_show
      Src: /src/vlc/modules/video_output/wayland/input.c:152,1
    - Dst: abs
      Src: /src/vlc/modules/video_output/wayland/input.c:153,1
    - Dst: vlc_window_ReportMousePressed
      Src: /src/vlc/modules/video_output/wayland/input.c:169,1
    - Dst: vlc_window_ReportMouseReleased
      Src: /src/vlc/modules/video_output/wayland/input.c:170,1
    - Dst: wl_fixed_from_int
      Src: /src/vlc/modules/video_output/wayland/input.c:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - data
    - pointer
    - serial
    - type
    - value
    argTypes:
    - void*
    - struct wl_pointer*
    - uint32_t
    - uint32_t
    - wl_fixed_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 174
    functionName: pointer_axis_cb
    functionSourceFile: /src/vlc/modules/video_output/wayland/input.c
    functionUses: 0
    functionsReached:
    - vlc_window_ReportMouseReleased
    - wl_fixed_from_int
    - abs
    - pointer_show
    - vlc_window_ReportMousePressed
    linkageType: ''
    returnType: void
    signature: "void pointer_axis_cb(void *data, struct wl_pointer *pointer,\n                            uint32_t
      serial, uint32_t type, wl_fixed_t value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - pointer
    argTypes:
    - void*
    - struct wl_pointer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: pointer_frame_cb
    functionSourceFile: /src/vlc/modules/video_output/wayland/input.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pointer_frame_cb(void *data, struct wl_pointer *pointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - pointer
    - source
    argTypes:
    - void*
    - struct wl_pointer*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: pointer_axis_source
    functionSourceFile: /src/vlc/modules/video_output/wayland/input.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pointer_axis_source(void *data, struct wl_pointer *pointer,\n
      \                               uint32_t source)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - data
    - pointer
    - time
    - axis
    argTypes:
    - void*
    - struct wl_pointer*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: pointer_axis_stop
    functionSourceFile: /src/vlc/modules/video_output/wayland/input.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pointer_axis_stop(void *data, struct wl_pointer *pointer,\n                              uint32_t
      time, uint32_t axis)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - data
    - pointer
    - type
    - steps
    argTypes:
    - void*
    - struct wl_pointer*
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: pointer_axis_discrete
    functionSourceFile: /src/vlc/modules/video_output/wayland/input.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pointer_axis_discrete(void *data, struct wl_pointer *pointer,\n
      \                                 uint32_t type, int steps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wl_seat_get_pointer
      Src: /src/vlc/modules/video_output/wayland/input.c:223,1
    - Dst: likely
      Src: /src/vlc/modules/video_output/wayland/input.c:224,1
    - Dst: wl_pointer_add_listener
      Src: /src/vlc/modules/video_output/wayland/input.c:225,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/video_output/wayland/input.c:227,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/wayland/input.c:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - sd
    argTypes:
    - struct seat_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 229
    functionName: pointer_create
    functionSourceFile: /src/vlc/modules/video_output/wayland/input.c
    functionUses: 0
    functionsReached:
    - var_InheritInteger
    - VLC_TICK_FROM_MS
    - wl_pointer_add_listener
    - wl_seat_get_pointer
    - likely
    linkageType: ''
    returnType: void
    signature: void pointer_create(struct seat_data *sd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wl_pointer_release
      Src: /src/vlc/modules/video_output/wayland/input.c:237,1
    - Dst: wl_pointer_destroy
      Src: /src/vlc/modules/video_output/wayland/input.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - sd
    argTypes:
    - struct seat_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 242
    functionName: pointer_destroy
    functionSourceFile: /src/vlc/modules/video_output/wayland/input.c
    functionUses: 1
    functionsReached:
    - wl_pointer_release
    - wl_pointer_destroy
    linkageType: ''
    returnType: void
    signature: void pointer_destroy(struct seat_data *sd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/wayland/input.c:252,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/wayland/input.c:256,1
    - Dst: mmap
      Src: /src/vlc/modules/video_output/wayland/input.c:262,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/wayland/input.c:266,1
    - Dst: xkb_keymap_new_from_string
      Src: /src/vlc/modules/video_output/wayland/input.c:267,1
    - Dst: munmap
      Src: /src/vlc/modules/video_output/wayland/input.c:270,1
    - Dst: xkb_state_new
      Src: /src/vlc/modules/video_output/wayland/input.c:273,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/wayland/input.c:275,1
    - Dst: vlc_close
      Src: /src/vlc/modules/video_output/wayland/input.c:278,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - data
    - keyboard
    - format
    - fd
    - size
    argTypes:
    - void*
    - struct wl_keyboard*
    - uint32_t
    - int
    - uint32_t
    assertStmts:
    - condition: (((char *)map)[size - 1] == '\0')
      pos:
        line_end: 265
        line_start: 265
        source_file: /src/vlc/modules/video_output/wayland/input.c
    constantsTouched: []
    func_position:
      end: 280
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 280
    functionName: keyboard_keymap_cb
    functionSourceFile: /src/vlc/modules/video_output/wayland/input.c
    functionUses: 0
    functionsReached:
    - assert
    - xkb_keymap_new_from_string
    - mmap
    - vlc_close
    - msg_Err
    - msg_Dbg
    - xkb_state_new
    - munmap
    linkageType: ''
    returnType: void
    signature: "void keyboard_keymap_cb(void *data, struct wl_keyboard *keyboard,\n
      \                              uint32_t format, int fd, uint32_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - data
    - keyboard
    - serial
    - surface
    - keys
    argTypes:
    - void*
    - struct wl_keyboard*
    - uint32_t
    - struct wl_surface*
    - struct wl_array*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 287
    functionName: keyboard_enter_cb
    functionSourceFile: /src/vlc/modules/video_output/wayland/input.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void keyboard_enter_cb(void *data, struct wl_keyboard *keyboard,\n
      \                             uint32_t serial, struct wl_surface *surface,\n
      \                             struct wl_array *keys)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - data
    - keyboard
    - serial
    - surface
    argTypes:
    - void*
    - struct wl_keyboard*
    - uint32_t
    - struct wl_surface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: keyboard_leave_cb
    functionSourceFile: /src/vlc/modules/video_output/wayland/input.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void keyboard_leave_cb(void *data, struct wl_keyboard *keyboard,\n
      \                             uint32_t serial, struct wl_surface *surface)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/wayland/input.c:304,1
    - Dst: vlc_xkb_get_one
      Src: /src/vlc/modules/video_output/wayland/input.c:307,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/wayland/input.c:310,1
    - Dst: vlc_window_ReportKeyPress
      Src: /src/vlc/modules/video_output/wayland/input.c:312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - data
    - keyboard
    - serial
    - time
    - keycode
    - state
    argTypes:
    - void*
    - struct wl_keyboard*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 316
    functionName: keyboard_key_cb
    functionSourceFile: /src/vlc/modules/video_output/wayland/input.c
    functionUses: 0
    functionsReached:
    - vlc_xkb_get_one
    - unlikely
    - msg_Dbg
    - vlc_window_ReportKeyPress
    linkageType: ''
    returnType: void
    signature: "void keyboard_key_cb(void *data, struct wl_keyboard *keyboard,\n                            uint32_t
      serial, uint32_t time, uint32_t keycode,\n                            uint32_t
      state)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/wayland/input.c:325,1
    - Dst: xkb_state_update_mask
      Src: /src/vlc/modules/video_output/wayland/input.c:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - data
    - keyboard
    - serial
    - depressed
    - latched
    - locked
    - group
    argTypes:
    - void*
    - struct wl_keyboard*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 332
    functionName: keyboard_modifiers_cb
    functionSourceFile: /src/vlc/modules/video_output/wayland/input.c
    functionUses: 0
    functionsReached:
    - xkb_state_update_mask
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void keyboard_modifiers_cb(void *data, struct wl_keyboard *keyboard,\n
      \                                 uint32_t serial, uint32_t depressed,\n                                  uint32_t
      latched, uint32_t locked,\n                                  uint32_t group)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/wayland/input.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - data
    - keyboard
    - rate
    - delay
    argTypes:
    - void*
    - struct wl_keyboard*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 342
    functionName: keyboard_repeat_info_cb
    functionSourceFile: /src/vlc/modules/video_output/wayland/input.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: "void keyboard_repeat_info_cb(void *data, struct wl_keyboard *keyboard,\n
      \                                   int32_t rate, int32_t delay)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wl_seat_get_keyboard
      Src: /src/vlc/modules/video_output/wayland/input.c:359,1
    - Dst: likely
      Src: /src/vlc/modules/video_output/wayland/input.c:360,1
    - Dst: wl_keyboard_add_listener
      Src: /src/vlc/modules/video_output/wayland/input.c:363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - sd
    argTypes:
    - struct seat_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 365
    functionName: keyboard_create
    functionSourceFile: /src/vlc/modules/video_output/wayland/input.c
    functionUses: 0
    functionsReached:
    - wl_keyboard_add_listener
    - likely
    - wl_seat_get_keyboard
    linkageType: ''
    returnType: void
    signature: void keyboard_create(struct seat_data *sd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wl_keyboard_release
      Src: /src/vlc/modules/video_output/wayland/input.c:373,1
    - Dst: wl_keyboard_destroy
      Src: /src/vlc/modules/video_output/wayland/input.c:375,1
    - Dst: xkb_state_unref
      Src: /src/vlc/modules/video_output/wayland/input.c:380,1
    - Dst: xkb_keymap_unref
      Src: /src/vlc/modules/video_output/wayland/input.c:381,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - sd
    argTypes:
    - struct seat_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 385
    functionName: keyboard_destroy
    functionSourceFile: /src/vlc/modules/video_output/wayland/input.c
    functionUses: 1
    functionsReached:
    - xkb_state_unref
    - wl_keyboard_destroy
    - xkb_keymap_unref
    - wl_keyboard_release
    linkageType: ''
    returnType: void
    signature: void keyboard_destroy(struct seat_data *sd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/wayland/input.c:394,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/wayland/input.c:399,1
    - Dst: pointer_create
      Src: /src/vlc/modules/video_output/wayland/input.c:400,1
    - Dst: pointer_destroy
      Src: /src/vlc/modules/video_output/wayland/input.c:403,1
    - Dst: keyboard_create
      Src: /src/vlc/modules/video_output/wayland/input.c:409,1
    - Dst: keyboard_destroy
      Src: /src/vlc/modules/video_output/wayland/input.c:412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - data
    - seat
    - capabilities
    argTypes:
    - void*
    - struct wl_seat*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 414
    functionName: seat_capabilities_cb
    functionSourceFile: /src/vlc/modules/video_output/wayland/input.c
    functionUses: 0
    functionsReached:
    - var_InheritBool
    - pointer_destroy
    - pointer_create
    - msg_Dbg
    - keyboard_destroy
    - keyboard_create
    linkageType: ''
    returnType: void
    signature: "void seat_capabilities_cb(void *data, struct wl_seat *seat,\n                                 uint32_t
      capabilities)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/wayland/input.c:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - data
    - seat
    - name
    argTypes:
    - void*
    - struct wl_seat*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 422
    functionName: seat_name_cb
    functionSourceFile: /src/vlc/modules/video_output/wayland/input.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void seat_name_cb(void *data, struct wl_seat *seat, const char *name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/video_output/wayland/input.c:433,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/wayland/input.c:434,1
    - Dst: wl_registry_bind
      Src: /src/vlc/modules/video_output/wayland/input.c:440,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/wayland/input.c:441,1
    - Dst: free
      Src: /src/vlc/modules/video_output/wayland/input.c:443,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/wayland/input.c:450,1
    - Dst: xkb_context_new
      Src: /src/vlc/modules/video_output/wayland/input.c:451,1
    - Dst: wl_seat_add_listener
      Src: /src/vlc/modules/video_output/wayland/input.c:457,1
    - Dst: wl_list_insert
      Src: /src/vlc/modules/video_output/wayland/input.c:458,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - wnd
    - registry
    - name
    - version
    - list
    argTypes:
    - vlc_window_t*
    - struct wl_registry*
    - uint32_t
    - uint32_t
    - struct wl_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 460
    functionName: seat_create
    functionSourceFile: /src/vlc/modules/video_output/wayland/input.c
    functionUses: 0
    functionsReached:
    - xkb_context_new
    - var_InheritBool
    - wl_seat_add_listener
    - free
    - wl_list_insert
    - wl_registry_bind
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: "int seat_create(vlc_window_t *wnd, struct wl_registry *registry,\n
      \               uint32_t name, uint32_t version, struct wl_list *list)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sd
    argTypes:
    - struct seat_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: seat_next_deadline
    functionSourceFile: /src/vlc/modules/video_output/wayland/input.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t seat_next_deadline(const struct seat_data *sd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wl_pointer_set_cursor
      Src: /src/vlc/modules/video_output/wayland/input.c:471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - sd
    - now
    argTypes:
    - struct seat_data*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 474
    functionName: seat_refresh
    functionSourceFile: /src/vlc/modules/video_output/wayland/input.c
    functionUses: 0
    functionsReached:
    - wl_pointer_set_cursor
    linkageType: ''
    returnType: void
    signature: void seat_refresh(struct seat_data *sd, vlc_tick_t now)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wl_list_remove
      Src: /src/vlc/modules/video_output/wayland/input.c:478,1
    - Dst: keyboard_destroy
      Src: /src/vlc/modules/video_output/wayland/input.c:481,1
    - Dst: xkb_context_unref
      Src: /src/vlc/modules/video_output/wayland/input.c:484,1
    - Dst: pointer_destroy
      Src: /src/vlc/modules/video_output/wayland/input.c:486,1
    - Dst: wl_seat_release
      Src: /src/vlc/modules/video_output/wayland/input.c:489,1
    - Dst: wl_seat_destroy
      Src: /src/vlc/modules/video_output/wayland/input.c:491,1
    - Dst: free
      Src: /src/vlc/modules/video_output/wayland/input.c:492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - sd
    argTypes:
    - struct seat_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 493
    functionName: seat_destroy
    functionSourceFile: /src/vlc/modules/video_output/wayland/input.c
    functionUses: 1
    functionsReached:
    - xkb_context_unref
    - wl_seat_release
    - wl_list_remove
    - pointer_destroy
    - free
    - keyboard_destroy
    - wl_seat_destroy
    linkageType: ''
    returnType: void
    signature: void seat_destroy(struct seat_data *sd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: seat_destroy
      Src: /src/vlc/modules/video_output/wayland/input.c:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - list
    - name
    argTypes:
    - struct wl_list*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 510
    functionName: seat_destroy_one
    functionSourceFile: /src/vlc/modules/video_output/wayland/input.c
    functionUses: 0
    functionsReached:
    - seat_destroy
    linkageType: ''
    returnType: int
    signature: int seat_destroy_one(struct wl_list *list, uint32_t name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: seat_destroy
      Src: /src/vlc/modules/video_output/wayland/input.c:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 499
    functionDepth: 2
    functionLinenumber: 499
    functionLinenumberEnd: 507
    functionName: wl_list_for_each
    functionSourceFile: /src/vlc/modules/video_output/wayland/input.c
    functionUses: 0
    functionsReached:
    - seat_destroy
    linkageType: ''
    returnType: void
    signature: void wl_list_for_each(sd, list, node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wl_list_empty
      Src: /src/vlc/modules/video_output/wayland/input.c:514,1
    - Dst: seat_destroy
      Src: /src/vlc/modules/video_output/wayland/input.c:515,1
    - Dst: container_of
      Src: /src/vlc/modules/video_output/wayland/input.c:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct wl_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 512
    functionDepth: 2
    functionLinenumber: 512
    functionLinenumberEnd: 516
    functionName: seat_destroy_all
    functionSourceFile: /src/vlc/modules/video_output/wayland/input.c
    functionUses: 0
    functionsReached:
    - wl_list_empty
    - seat_destroy
    - container_of
    linkageType: ''
    returnType: void
    signature: void seat_destroy_all(struct wl_list *list)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: seat_next_deadline
      Src: /src/vlc/modules/video_output/wayland/input.c:525,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/video_output/wayland/input.c:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct wl_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 538
    functionName: seat_next_timeout
    functionSourceFile: /src/vlc/modules/video_output/wayland/input.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - seat_next_deadline
    linkageType: ''
    returnType: int
    signature: int seat_next_timeout(const struct wl_list *list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: seat_next_deadline
      Src: /src/vlc/modules/video_output/wayland/input.c:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 528
    functionName: wl_list_for_each
    functionSourceFile: /src/vlc/modules/video_output/wayland/input.c
    functionUses: 0
    functionsReached:
    - seat_next_deadline
    linkageType: ''
    returnType: void
    signature: void wl_list_for_each(sd, list, node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/video_output/wayland/input.c:543,1
    - Dst: wl_list_for_each
      Src: /src/vlc/modules/video_output/wayland/input.c:545,1
    - Dst: seat_refresh
      Src: /src/vlc/modules/video_output/wayland/input.c:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct wl_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 540
    functionDepth: 3
    functionLinenumber: 540
    functionLinenumberEnd: 547
    functionName: seat_timeout
    functionSourceFile: /src/vlc/modules/video_output/wayland/input.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - wl_list_for_each
    - seat_refresh
    linkageType: ''
    returnType: void
    signature: void seat_timeout(struct wl_list *list)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/wayland/output.c:65,1
    - Dst: free
      Src: /src/vlc/modules/video_output/wayland/output.c:71,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/wayland/output.c:72,1
    - Dst: asprintf
      Src: /src/vlc/modules/video_output/wayland/output.c:72,1
    - Dst: free
      Src: /src/vlc/modules/video_output/wayland/output.c:78,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/wayland/output.c:79,1
    - Dst: asprintf
      Src: /src/vlc/modules/video_output/wayland/output.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 10
    argNames:
    - data
    - output
    - x
    - y
    - w
    - h
    - sp
    - make
    - model
    - transform
    argTypes:
    - void*
    - struct wl_output*
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    - char*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 84
    functionName: output_geometry_cb
    functionSourceFile: /src/vlc/modules/video_output/wayland/output.c
    functionUses: 0
    functionsReached:
    - free
    - asprintf
    - msg_Dbg
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void output_geometry_cb(void *data, struct wl_output *output,\n                               int32_t
      x, int32_t y, int32_t w, int32_t h,\n                               int32_t
      sp, const char *make, const char *model,\n                               int32_t
      transform)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: div
      Src: /src/vlc/modules/video_output/wayland/output.c:91,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/wayland/output.c:93,1
    - Dst: if
      Src: /src/vlc/modules/video_output/wayland/output.c:96,1
    - Dst: output_done_cb
      Src: /src/vlc/modules/video_output/wayland/output.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - data
    - output
    - flags
    - w
    - h
    - vr
    argTypes:
    - void*
    - struct wl_output*
    - uint32_t
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 100
    functionName: output_mode_cb
    functionSourceFile: /src/vlc/modules/video_output/wayland/output.c
    functionUses: 0
    functionsReached:
    - output_done_cb
    - div
    - msg_Dbg
    - if
    linkageType: ''
    returnType: void
    signature: "void output_mode_cb(void *data, struct wl_output *output,\n                           uint32_t
      flags, int32_t w, int32_t h, int32_t vr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/wayland/output.c:109,1
    - Dst: likely
      Src: /src/vlc/modules/video_output/wayland/output.c:111,1
    - Dst: vlc_window_ReportOutputDevice
      Src: /src/vlc/modules/video_output/wayland/output.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - output
    argTypes:
    - void*
    - struct wl_output*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 115
    functionName: output_done_cb
    functionSourceFile: /src/vlc/modules/video_output/wayland/output.c
    functionUses: 1
    functionsReached:
    - unlikely
    - likely
    - vlc_window_ReportOutputDevice
    linkageType: ''
    returnType: void
    signature: void output_done_cb(void *data, struct wl_output *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/wayland/output.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - data
    - output
    - f
    argTypes:
    - void*
    - struct wl_output*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: output_scale_cb
    functionSourceFile: /src/vlc/modules/video_output/wayland/output.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void output_scale_cb(void *data, struct wl_output *output, int32_t
      f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/video_output/wayland/output.c:131,1
    - Dst: strdup
      Src: /src/vlc/modules/video_output/wayland/output.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - output
    - name
    argTypes:
    - void*
    - struct wl_output*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: output_name_cb
    functionSourceFile: /src/vlc/modules/video_output/wayland/output.c
    functionUses: 0
    functionsReached:
    - free
    - strdup
    linkageType: ''
    returnType: void
    signature: "void output_name_cb(void *data, struct wl_output *output,\n                           const
      char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/video_output/wayland/output.c:141,1
    - Dst: strdup
      Src: /src/vlc/modules/video_output/wayland/output.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - output
    - description
    argTypes:
    - void*
    - struct wl_output*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: output_description_cb
    functionSourceFile: /src/vlc/modules/video_output/wayland/output.c
    functionUses: 0
    functionsReached:
    - free
    - strdup
    linkageType: ''
    returnType: void
    signature: "void output_description_cb(void *data, struct wl_output *output,\n
      \                                 const char *description)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/video_output/wayland/output.c:159,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/wayland/output.c:160,1
    - Dst: wl_list_init
      Src: /src/vlc/modules/video_output/wayland/output.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 166
    functionName: output_list_create
    functionSourceFile: /src/vlc/modules/video_output/wayland/output.c
    functionUses: 0
    functionsReached:
    - wl_list_init
    - unlikely
    - malloc
    linkageType: ''
    returnType: struct output_list
    signature: struct output_list *output_list_create(vlc_window_t *wnd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/wayland/output.c:172,1
    - Dst: malloc
      Src: /src/vlc/modules/video_output/wayland/output.c:175,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/wayland/output.c:176,1
    - Dst: wl_registry_bind
      Src: /src/vlc/modules/video_output/wayland/output.c:182,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/wayland/output.c:184,1
    - Dst: free
      Src: /src/vlc/modules/video_output/wayland/output.c:186,1
    - Dst: wl_output_add_listener
      Src: /src/vlc/modules/video_output/wayland/output.c:197,1
    - Dst: wl_list_insert
      Src: /src/vlc/modules/video_output/wayland/output.c:198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - ol
    - registry
    - id
    - version
    argTypes:
    - struct output_list*
    - struct wl_registry*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 200
    functionName: output_create
    functionSourceFile: /src/vlc/modules/video_output/wayland/output.c
    functionUses: 2
    functionsReached:
    - free
    - wl_list_insert
    - wl_registry_bind
    - wl_output_add_listener
    - unlikely
    - malloc
    linkageType: ''
    returnType: struct wl_output
    signature: "struct wl_output *output_create(struct output_list *ol,\n                                struct
      wl_registry *registry,\n                                uint32_t id, uint32_t
      version)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/wayland/output.c:204,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/wayland/output.c:205,1
    - Dst: wl_output_get_user_data
      Src: /src/vlc/modules/video_output/wayland/output.c:207,1
    - Dst: free
      Src: /src/vlc/modules/video_output/wayland/output.c:209,1
    - Dst: vlc_window_ReportOutputDevice
      Src: /src/vlc/modules/video_output/wayland/output.c:212,1
    - Dst: free
      Src: /src/vlc/modules/video_output/wayland/output.c:213,1
    - Dst: wl_list_remove
      Src: /src/vlc/modules/video_output/wayland/output.c:216,1
    - Dst: wl_output_release
      Src: /src/vlc/modules/video_output/wayland/output.c:219,1
    - Dst: wl_output_destroy
      Src: /src/vlc/modules/video_output/wayland/output.c:221,1
    - Dst: free
      Src: /src/vlc/modules/video_output/wayland/output.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ol
    - wo
    argTypes:
    - struct output_list*
    - struct wl_output*
    assertStmts:
    - condition: (ol != NULL)
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/vlc/modules/video_output/wayland/output.c
    - condition: (wo != NULL)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/vlc/modules/video_output/wayland/output.c
    constantsTouched: []
    func_position:
      end: 223
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 223
    functionName: output_destroy
    functionSourceFile: /src/vlc/modules/video_output/wayland/output.c
    functionUses: 6
    functionsReached:
    - wl_list_remove
    - assert
    - wl_output_get_user_data
    - free
    - wl_output_destroy
    - wl_output_release
    - vlc_window_ReportOutputDevice
    linkageType: ''
    returnType: void
    signature: void output_destroy(struct output_list *ol, struct wl_output *wo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/wayland/output.c:227,1
    - Dst: wl_list_for_each
      Src: /src/vlc/modules/video_output/wayland/output.c:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ol
    - id
    argTypes:
    - struct output_list*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 238
    functionName: output_find_by_id
    functionSourceFile: /src/vlc/modules/video_output/wayland/output.c
    functionUses: 0
    functionsReached:
    - wl_list_for_each
    - unlikely
    linkageType: ''
    returnType: struct wl_output
    signature: struct wl_output *output_find_by_id(struct output_list *ol, uint32_t
      id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/wayland/output.c:242,1
    - Dst: wl_list_for_each
      Src: /src/vlc/modules/video_output/wayland/output.c:248,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_output/wayland/output.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ol
    - name
    argTypes:
    - struct output_list*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 3
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: output_find_by_name
    functionSourceFile: /src/vlc/modules/video_output/wayland/output.c
    functionUses: 0
    functionsReached:
    - strcmp
    - wl_list_for_each
    - unlikely
    linkageType: ''
    returnType: struct wl_output
    signature: struct wl_output *output_find_by_name(struct output_list *ol, const
      char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wl_list_empty
      Src: /src/vlc/modules/video_output/wayland/output.c:263,1
    - Dst: container_of
      Src: /src/vlc/modules/video_output/wayland/output.c:264,1
    - Dst: output_destroy
      Src: /src/vlc/modules/video_output/wayland/output.c:266,1
    - Dst: free
      Src: /src/vlc/modules/video_output/wayland/output.c:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ol
    argTypes:
    - struct output_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 270
    functionName: output_list_destroy
    functionSourceFile: /src/vlc/modules/video_output/wayland/output.c
    functionUses: 0
    functionsReached:
    - wl_list_empty
    - output_destroy
    - free
    - container_of
    linkageType: ''
    returnType: void
    signature: void output_list_destroy(struct output_list *ol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vk
    argTypes:
    - vlc_vk_platform_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: ClosePlatform
    functionSourceFile: /src/vlc/modules/video_output/wayland/vulkan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ClosePlatform(vlc_vk_platform_t *vk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vk_instance_t*::get_proc_address
      Src: /src/vlc/modules/video_output/wayland/vulkan.c:39,1
    - Dst: CreateWaylandSurfaceKHR
      Src: /src/vlc/modules/video_output/wayland/vulkan.c:47,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/wayland/vulkan.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - vk
    - inst
    - surface_out
    argTypes:
    - vlc_vk_platform_t*
    - vlc_vk_instance_t*
    - VkSurfaceKHR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 54
    functionName: CreateSurface
    functionSourceFile: /src/vlc/modules/video_output/wayland/vulkan.c
    functionUses: 6
    functionsReached:
    - msg_Err
    - CreateWaylandSurfaceKHR
    - vlc_vk_instance_t*::get_proc_address
    linkageType: ''
    returnType: int
    signature: "int CreateSurface(vlc_vk_platform_t *vk, const vlc_vk_instance_t *inst,\n
      \                        VkSurfaceKHR *surface_out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - vk
    argTypes:
    - vlc_vk_platform_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: InitPlatform
    functionSourceFile: /src/vlc/modules/video_output/wayland/vulkan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int InitPlatform(vlc_vk_platform_t *vk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/video_output/wayland/registry.c:56,1
    - Dst: likely
      Src: /src/vlc/modules/video_output/wayland/registry.c:57,1
    - Dst: wl_list_insert
      Src: /src/vlc/modules/video_output/wayland/registry.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - vi
    - name
    - version
    argTypes:
    - struct vlc_wl_interface*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: vlc_wl_global_add
    functionSourceFile: /src/vlc/modules/video_output/wayland/registry.c
    functionUses: 0
    functionsReached:
    - wl_list_insert
    - likely
    - malloc
    linkageType: ''
    returnType: struct vlc_wl_global
    signature: "struct vlc_wl_global *vlc_wl_global_add(struct vlc_wl_interface *vi,\n
      \                                              uint32_t name, uint32_t version)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wl_list_remove
      Src: /src/vlc/modules/video_output/wayland/registry.c:69,1
    - Dst: free
      Src: /src/vlc/modules/video_output/wayland/registry.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vg
    argTypes:
    - struct vlc_wl_global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: vlc_wl_global_remove
    functionSourceFile: /src/vlc/modules/video_output/wayland/registry.c
    functionUses: 0
    functionsReached:
    - free
    - wl_list_remove
    linkageType: ''
    returnType: void
    signature: void vlc_wl_global_remove(struct vlc_wl_global *vg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/video_output/wayland/registry.c:75,1
    - Dst: malloc
      Src: /src/vlc/modules/video_output/wayland/registry.c:76,1
    - Dst: likely
      Src: /src/vlc/modules/video_output/wayland/registry.c:78,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/wayland/registry.c:80,1
    - Dst: wl_list_init
      Src: /src/vlc/modules/video_output/wayland/registry.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: vlc_wl_interface_create
    functionSourceFile: /src/vlc/modules/video_output/wayland/registry.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcpy
    - likely
    - wl_list_init
    - malloc
    linkageType: ''
    returnType: struct vlc_wl_interface
    signature: struct vlc_wl_interface *vlc_wl_interface_create(const char *iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/wayland/registry.c:88,1
    - Dst: wl_list_empty
      Src: /src/vlc/modules/video_output/wayland/registry.c:88,1
    - Dst: free
      Src: /src/vlc/modules/video_output/wayland/registry.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vi
    argTypes:
    - struct vlc_wl_interface*
    assertStmts:
    - condition: (wl_list_empty(&vi->globals))
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/vlc/modules/video_output/wayland/registry.c
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: vlc_wl_interface_destroy
    functionSourceFile: /src/vlc/modules/video_output/wayland/registry.c
    functionUses: 0
    functionsReached:
    - wl_list_empty
    - assert
    - free
    linkageType: ''
    returnType: void
    signature: void vlc_wl_interface_destroy(struct vlc_wl_interface *vi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/video_output/wayland/registry.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: vwimatch
    functionSourceFile: /src/vlc/modules/video_output/wayland/registry.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int vwimatch(const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tfind
      Src: /src/vlc/modules/video_output/wayland/registry.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vr
    - interface
    argTypes:
    - struct vlc_wl_registry*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: vlc_wl_interface_find
    functionSourceFile: /src/vlc/modules/video_output/wayland/registry.c
    functionUses: 0
    functionsReached:
    - tfind
    linkageType: ''
    returnType: struct vlc_wl_interface
    signature: 'struct vlc_wl_interface *

      vlc_wl_interface_find(const struct vlc_wl_registry *vr, const char *interface)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_wl_interface_find
      Src: /src/vlc/modules/video_output/wayland/registry.c:118,1
    - Dst: wl_list_empty
      Src: /src/vlc/modules/video_output/wayland/registry.c:120,1
    - Dst: container_of
      Src: /src/vlc/modules/video_output/wayland/registry.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - vr
    - interface
    argTypes:
    - struct vlc_wl_registry*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: vlc_wl_global_find
    functionSourceFile: /src/vlc/modules/video_output/wayland/registry.c
    functionUses: 0
    functionsReached:
    - wl_list_empty
    - vlc_wl_interface_find
    - container_of
    linkageType: ''
    returnType: struct vlc_wl_global
    signature: 'struct vlc_wl_global *

      vlc_wl_global_find(const struct vlc_wl_registry *vr, const char *interface)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_wl_global_find
      Src: /src/vlc/modules/video_output/wayland/registry.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vr
    - interface
    argTypes:
    - struct vlc_wl_registry*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 4
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: vlc_wl_interface_get_version
    functionSourceFile: /src/vlc/modules/video_output/wayland/registry.c
    functionUses: 0
    functionsReached:
    - vlc_wl_global_find
    linkageType: ''
    returnType: uint_fast32_t
    signature: "uint_fast32_t vlc_wl_interface_get_version(struct vlc_wl_registry
      *vr,\n                                           const char *interface)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_wl_global_find
      Src: /src/vlc/modules/video_output/wayland/registry.c:139,1
    - Dst: wl_registry_bind
      Src: /src/vlc/modules/video_output/wayland/registry.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - vr
    - interface
    - wi
    - version
    argTypes:
    - struct vlc_wl_registry*
    - char*
    - struct wl_interface*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 134
    functionDepth: 4
    functionLinenumber: 134
    functionLinenumberEnd: 150
    functionName: vlc_wl_interface_bind
    functionSourceFile: /src/vlc/modules/video_output/wayland/registry.c
    functionUses: 0
    functionsReached:
    - vlc_wl_global_find
    - wl_registry_bind
    linkageType: ''
    returnType: struct wl_proxy
    signature: "struct wl_proxy *vlc_wl_interface_bind(struct vlc_wl_registry *vr,\n
      \                                      const char *interface,\n                                       const
      struct wl_interface *wi,\n                                       uint32_t *restrict
      version)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/video_output/wayland/registry.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: vwicmp
    functionSourceFile: /src/vlc/modules/video_output/wayland/registry.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int vwicmp(const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: vwncmp
    functionSourceFile: /src/vlc/modules/video_output/wayland/registry.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int vwncmp(const void *a, const void *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_wl_interface_create
      Src: /src/vlc/modules/video_output/wayland/registry.c:172,1
    - Dst: tsearch
      Src: /src/vlc/modules/video_output/wayland/registry.c:174,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/wayland/registry.c:175,1
    - Dst: vlc_wl_interface_destroy
      Src: /src/vlc/modules/video_output/wayland/registry.c:177,1
    - Dst: vlc_wl_interface_destroy
      Src: /src/vlc/modules/video_output/wayland/registry.c:183,1
    - Dst: vlc_wl_global_add
      Src: /src/vlc/modules/video_output/wayland/registry.c:187,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/wayland/registry.c:188,1
    - Dst: tsearch
      Src: /src/vlc/modules/video_output/wayland/registry.c:191,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/wayland/registry.c:192,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/wayland/registry.c:193,1
    - Dst: vlc_wl_global_remove
      Src: /src/vlc/modules/video_output/wayland/registry.c:194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - data
    - registry
    - name
    - iface
    - vers
    argTypes:
    - void*
    - struct wl_registry*
    - uint32_t
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 197
    functionName: registry_global_cb
    functionSourceFile: /src/vlc/modules/video_output/wayland/registry.c
    functionUses: 0
    functionsReached:
    - vlc_wl_interface_destroy
    - vlc_wl_global_add
    - vlc_wl_interface_create
    - tsearch
    - vlc_wl_global_remove
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void registry_global_cb(void *data, struct wl_registry *registry,\n
      \                              uint32_t name, const char *iface, uint32_t vers)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tfind
      Src: /src/vlc/modules/video_output/wayland/registry.c:204,1
    - Dst: likely
      Src: /src/vlc/modules/video_output/wayland/registry.c:206,1
    - Dst: tdelete
      Src: /src/vlc/modules/video_output/wayland/registry.c:210,1
    - Dst: vlc_wl_global_remove
      Src: /src/vlc/modules/video_output/wayland/registry.c:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - registry
    - name
    argTypes:
    - void*
    - struct wl_registry*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 215
    functionName: registry_global_remove_cb
    functionSourceFile: /src/vlc/modules/video_output/wayland/registry.c
    functionUses: 0
    functionsReached:
    - tfind
    - tdelete
    - vlc_wl_global_remove
    - likely
    linkageType: ''
    returnType: void
    signature: "void registry_global_remove_cb(void *data, struct wl_registry *registry,\n
      \                                     uint32_t name)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/video_output/wayland/registry.c:226,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/wayland/registry.c:227,1
    - Dst: wl_proxy_create_wrapper
      Src: /src/vlc/modules/video_output/wayland/registry.c:230,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/wayland/registry.c:231,1
    - Dst: wl_proxy_set_queue
      Src: /src/vlc/modules/video_output/wayland/registry.c:234,1
    - Dst: wl_display_get_registry
      Src: /src/vlc/modules/video_output/wayland/registry.c:235,1
    - Dst: wl_proxy_wrapper_destroy
      Src: /src/vlc/modules/video_output/wayland/registry.c:236,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/wayland/registry.c:238,1
    - Dst: wl_registry_add_listener
      Src: /src/vlc/modules/video_output/wayland/registry.c:244,1
    - Dst: wl_display_roundtrip_queue
      Src: /src/vlc/modules/video_output/wayland/registry.c:247,1
    - Dst: vlc_wl_registry_destroy
      Src: /src/vlc/modules/video_output/wayland/registry.c:249,1
    - Dst: free
      Src: /src/vlc/modules/video_output/wayland/registry.c:255,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - display
    - queue
    argTypes:
    - struct wl_display*
    - struct wl_event_queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 257
    functionName: vlc_wl_registry_get
    functionSourceFile: /src/vlc/modules/video_output/wayland/registry.c
    functionUses: 0
    functionsReached:
    - wl_proxy_create_wrapper
    - wl_proxy_set_queue
    - wl_display_roundtrip_queue
    - free
    - wl_registry_add_listener
    - wl_display_get_registry
    - vlc_wl_registry_destroy
    - wl_proxy_wrapper_destroy
    - unlikely
    - malloc
    linkageType: ''
    returnType: struct vlc_wl_registry
    signature: "struct vlc_wl_registry *vlc_wl_registry_get(struct wl_display *display,\n
      \                                           struct wl_event_queue *queue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_wl_global_remove
      Src: /src/vlc/modules/video_output/wayland/registry.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: name_destroy
    functionSourceFile: /src/vlc/modules/video_output/wayland/registry.c
    functionUses: 0
    functionsReached:
    - vlc_wl_global_remove
    linkageType: ''
    returnType: void
    signature: void name_destroy(void *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_wl_interface_destroy
      Src: /src/vlc/modules/video_output/wayland/registry.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: interface_destroy
    functionSourceFile: /src/vlc/modules/video_output/wayland/registry.c
    functionUses: 2
    functionsReached:
    - vlc_wl_interface_destroy
    linkageType: ''
    returnType: void
    signature: void interface_destroy(void *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wl_registry_destroy
      Src: /src/vlc/modules/video_output/wayland/registry.c:271,1
    - Dst: tdestroy
      Src: /src/vlc/modules/video_output/wayland/registry.c:272,1
    - Dst: tdestroy
      Src: /src/vlc/modules/video_output/wayland/registry.c:273,1
    - Dst: free
      Src: /src/vlc/modules/video_output/wayland/registry.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - vr
    argTypes:
    - struct vlc_wl_registry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 275
    functionName: vlc_wl_registry_destroy
    functionSourceFile: /src/vlc/modules/video_output/wayland/registry.c
    functionUses: 1
    functionsReached:
    - free
    - wl_registry_destroy
    - tdestroy
    linkageType: ''
    returnType: void
    signature: void vlc_wl_registry_destroy(struct vlc_wl_registry *vr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_wl_interface_bind
      Src: /src/vlc/modules/video_output/wayland/registry.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vr
    argTypes:
    - struct vlc_wl_registry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 5
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: vlc_wl_compositor_get
    functionSourceFile: /src/vlc/modules/video_output/wayland/registry.c
    functionUses: 0
    functionsReached:
    - vlc_wl_interface_bind
    linkageType: ''
    returnType: struct wl_compositor
    signature: struct wl_compositor *vlc_wl_compositor_get(struct vlc_wl_registry
      *vr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_wl_interface_bind
      Src: /src/vlc/modules/video_output/wayland/registry.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vr
    argTypes:
    - struct vlc_wl_registry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 283
    functionDepth: 5
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: vlc_wl_shm_get
    functionSourceFile: /src/vlc/modules/video_output/wayland/registry.c
    functionUses: 0
    functionsReached:
    - vlc_wl_interface_bind
    linkageType: ''
    returnType: struct wl_shm
    signature: struct wl_shm *vlc_wl_shm_get(struct vlc_wl_registry *vr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: xdg_wm_base_add_listener
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xdg_wm_base_add_listener(s, l, q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: xdg_surface_get_toplevel
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xdg_surface_get_toplevel(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - s
    - ','
    - x
    - ','
    - y
    - ','
    - w
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: xdg_surface_set_window_geometry
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xdg_surface_set_window_geometry(s,x,y,w,h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - l
    - ','
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: xdg_toplevel_add_listener
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xdg_toplevel_add_listener(s, l, q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: xdg_toplevel_destroy
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xdg_toplevel_destroy(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: xdg_toplevel_set_app_id
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xdg_toplevel_set_app_id(s, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: xdg_toplevel_set_fullscreen
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xdg_toplevel_set_fullscreen(s, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wl_display_cancel_read
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: cleanup_wl_display_read
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 0
    functionsReached:
    - wl_display_cancel_read
    linkageType: ''
    returnType: void
    signature: void cleanup_wl_display_read(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:128,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:135,1
    - Dst: vlc_cleanup_push
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:136,1
    - Dst: wl_display_get_fd
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:138,1
    - Dst: wl_display_prepare_read
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:145,1
    - Dst: wl_display_dispatch_pending
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:146,1
    - Dst: wl_display_flush
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:148,1
    - Dst: seat_next_timeout
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:149,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:150,1
    - Dst: poll
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:152,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:154,1
    - Dst: seat_timeout
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:156,1
    - Dst: wl_display_read_events
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:158,1
    - Dst: wl_display_dispatch_pending
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:159,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:161,1
    - Dst: vlc_cleanup_pop
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 126
    functionDepth: 4
    functionLinenumber: 126
    functionLinenumberEnd: 165
    functionName: Thread
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 91
    functionsReached:
    - vlc_cleanup_pop
    - vlc_restorecancel
    - wl_display_read_events
    - vlc_thread_set_name
    - vlc_assert_unreachable
    - poll
    - wl_display_prepare_read
    - wl_display_get_fd
    - seat_next_timeout
    - wl_display_dispatch_pending
    - wl_display_flush
    - vlc_savecancel
    - seat_timeout
    - vlc_cleanup_push
    linkageType: ''
    returnType: void
    signature: void *Thread(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xdg_surface_ack_configure
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:175,1
    - Dst: xdg_surface_set_window_geometry
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - wnd
    - width
    - height
    - data
    argTypes:
    - vlc_window_t*
    - unsigned
    - unsigned
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 181
    functionName: ResizeAck
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 0
    functionsReached:
    - xdg_surface_ack_configure
    - xdg_surface_set_window_geometry
    linkageType: ''
    returnType: void
    signature: "void ResizeAck(vlc_window_t *wnd, unsigned width, unsigned height,\n
      \                     void *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_window_t*::owner::cbs::resized
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - wnd
    - data
    argTypes:
    - vlc_window_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 209
    functionName: ReportSize
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 11
    functionsReached:
    - vlc_window_t*::owner::cbs::resized
    linkageType: ''
    returnType: void
    signature: void ReportSize(vlc_window_t *wnd, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xdg_toplevel_set_min_size
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:218,1
    - Dst: xdg_toplevel_set_max_size
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:219,1
    - Dst: xdg_toplevel_set_min_size
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:220,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:223,1
    - Dst: ReportSize
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:226,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:227,1
    - Dst: wl_display_flush
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - wnd
    - width
    - height
    argTypes:
    - vlc_window_t*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 229
    functionName: Resize
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 25
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - ReportSize
    - xdg_toplevel_set_max_size
    - xdg_toplevel_set_min_size
    - wl_display_flush
    linkageType: ''
    returnType: void
    signature: void Resize(vlc_window_t *wnd, unsigned width, unsigned height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xdg_toplevel_unset_fullscreen
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:237,1
    - Dst: wl_display_flush
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 239
    functionName: UnsetFullscreen
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 1
    functionsReached:
    - wl_display_flush
    - xdg_toplevel_unset_fullscreen
    linkageType: ''
    returnType: void
    signature: void UnsetFullscreen(vlc_window_t *wnd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: output_find_by_name
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:247,1
    - Dst: output_find_by_id
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:250,1
    - Dst: xdg_toplevel_set_fullscreen
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:252,1
    - Dst: wl_display_flush
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - wnd
    - idstr
    argTypes:
    - vlc_window_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 241
    functionDepth: 4
    functionLinenumber: 241
    functionLinenumberEnd: 254
    functionName: SetFullscreen
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 9
    functionsReached:
    - wl_display_flush
    - xdg_toplevel_set_fullscreen
    - output_find_by_id
    - output_find_by_name
    linkageType: ''
    returnType: void
    signature: void SetFullscreen(vlc_window_t *wnd, const char *idstr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: zxdg_toplevel_decoration_v1_set_mode
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:265,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - wnd
    - decorated
    argTypes:
    - vlc_window_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 269
    functionName: SetDecoration
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 0
    functionsReached:
    - msg_Err
    - zxdg_toplevel_decoration_v1_set_mode
    linkageType: ''
    returnType: void
    signature: void SetDecoration(vlc_window_t *wnd, bool decorated)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xdg_toplevel_set_fullscreen
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:278,1
    - Dst: xdg_toplevel_unset_fullscreen
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:280,1
    - Dst: SetDecoration
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:283,1
    - Dst: Resize
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:288,1
    - Dst: wl_surface_commit
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:289,1
    - Dst: wl_display_flush
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:290,1
    - Dst: vlc_sem_wait
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - wnd
    - cfg
    argTypes:
    - vlc_window_t*
    - vlc_window_cfg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 295
    functionName: Enable
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 17
    functionsReached:
    - wl_surface_commit
    - vlc_sem_wait
    - xdg_toplevel_set_fullscreen
    - Resize
    - xdg_toplevel_unset_fullscreen
    - wl_display_flush
    - SetDecoration
    linkageType: ''
    returnType: int
    signature: int Enable(vlc_window_t *wnd, const vlc_window_cfg_t *restrict cfg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:315,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - data
    - toplevel
    - width
    - height
    - states
    argTypes:
    - void*
    - struct xdg_toplevel*
    - int32_t
    - int32_t
    - struct wl_array*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 333
    functionName: xdg_toplevel_configure_cb
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: "void xdg_toplevel_configure_cb(void *data,\n                                      struct
      xdg_toplevel *toplevel,\n                                      int32_t width,
      int32_t height,\n                                      struct wl_array *states)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 330
    functionName: wl_array_for_each
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void wl_array_for_each(state, states)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_window_ReportClose
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - toplevel
    argTypes:
    - void*
    - struct xdg_toplevel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 341
    functionName: xdg_toplevel_close_cb
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 0
    functionsReached:
    - vlc_window_ReportClose
    linkageType: ''
    returnType: void
    signature: void xdg_toplevel_close_cb(void *data, struct xdg_toplevel *toplevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - data
    - toplevel
    - width
    - height
    argTypes:
    - void*
    - struct xdg_toplevel*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 357
    functionName: xdg_toplevel_configure_bounds_cb
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: "void xdg_toplevel_configure_bounds_cb(\n        void *data, struct
      xdg_toplevel* toplevel,\n        int32_t width, int32_t height\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_window_ReportFullscreen
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:379,1
    - Dst: vlc_window_ReportWindowed
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:381,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:383,1
    - Dst: ReportSize
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:386,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:387,1
    - Dst: vlc_sem_post
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - data
    - surface
    - serial
    argTypes:
    - void*
    - struct xdg_surface*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 391
    functionName: xdg_surface_configure_cb
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - ReportSize
    - vlc_sem_post
    - vlc_window_ReportFullscreen
    - vlc_window_ReportWindowed
    linkageType: ''
    returnType: void
    signature: "void xdg_surface_configure_cb(void *data, struct xdg_surface *surface,\n
      \                                    uint32_t serial)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xdg_wm_base_pong
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - data
    - wm_base
    - serial
    argTypes:
    - void*
    - struct xdg_wm_base*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 403
    functionName: xdg_wm_base_ping_cb
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 0
    functionsReached:
    - xdg_wm_base_pong
    linkageType: ''
    returnType: void
    signature: "void xdg_wm_base_ping_cb(void *data, struct xdg_wm_base *wm_base,\n
      \                               uint32_t serial)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - data
    - deco
    - mode
    argTypes:
    - void*
    - struct zxdg_toplevel_decoration_v1*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 418
    functionName: xdg_toplevel_decoration_configure_cb
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: "void xdg_toplevel_decoration_configure_cb(void *data,\n                                      struct
      zxdg_toplevel_decoration_v1 *deco,\n                                                 uint32_t
      mode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:433,1
    - Dst: vlc_window_ReportSize
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - data
    - toplevel
    - edges
    - width
    - height
    argTypes:
    - void*
    - struct wl_shell_surface*
    - uint32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 436
    functionName: wl_shell_surface_configure_cb
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 0
    functionsReached:
    - vlc_window_ReportSize
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: "void wl_shell_surface_configure_cb(void *data,\n                                          struct
      wl_shell_surface *toplevel,\n                                          uint32_t
      edges,\n                                          int32_t width, int32_t height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wl_shell_surface_pong
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - data
    - surface
    - serial
    argTypes:
    - void*
    - struct wl_shell_surface*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 444
    functionName: wl_shell_surface_ping_cb
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 0
    functionsReached:
    - wl_shell_surface_pong
    linkageType: ''
    returnType: void
    signature: "void wl_shell_surface_ping_cb(void *data,\n                                     struct
      wl_shell_surface *surface,\n                                     uint32_t serial)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - surface
    argTypes:
    - void*
    - struct wl_shell_surface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 450
    functionName: wl_shell_surface_popup_done_cb
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wl_shell_surface_popup_done_cb(void *data,\n                                           struct
      wl_shell_surface *surface)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:467,1
    - Dst: wl_registry_bind
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - data
    - registry
    - name
    - vers
    argTypes:
    - void*
    - struct wl_registry*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 470
    functionName: register_wl_compositor
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 0
    functionsReached:
    - wl_registry_bind
    - likely
    linkageType: ''
    returnType: void
    signature: "void register_wl_compositor(void *data, struct wl_registry *registry,\n
      \                                  uint32_t name, uint32_t vers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: output_create
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - registry
    - name
    - vers
    argTypes:
    - void*
    - struct wl_registry*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 472
    functionDepth: 2
    functionLinenumber: 472
    functionLinenumberEnd: 479
    functionName: register_wl_output
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 0
    functionsReached:
    - output_create
    linkageType: ''
    returnType: void
    signature: "void register_wl_output(void *data, struct wl_registry *registry,\n
      \                              uint32_t name, uint32_t vers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: seat_create
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - registry
    - name
    - vers
    argTypes:
    - void*
    - struct wl_registry*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 488
    functionName: register_wl_seat
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 0
    functionsReached:
    - seat_create
    linkageType: ''
    returnType: void
    signature: "void register_wl_seat(void *data, struct wl_registry *registry,\n
      \                            uint32_t name, uint32_t vers)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:497,1
    - Dst: wl_registry_bind
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - data
    - registry
    - name
    - vers
    argTypes:
    - void*
    - struct wl_registry*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 500
    functionName: register_wl_shell
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 0
    functionsReached:
    - wl_registry_bind
    - likely
    linkageType: ''
    returnType: void
    signature: "void register_wl_shell(void *data, struct wl_registry *registry,\n
      \                             uint32_t name, uint32_t vers)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:509,1
    - Dst: wl_registry_bind
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - data
    - registry
    - name
    - vers
    argTypes:
    - void*
    - struct wl_registry*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 511
    functionName: register_wl_shm
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 0
    functionsReached:
    - wl_registry_bind
    - likely
    linkageType: ''
    returnType: void
    signature: "void register_wl_shm(void *data, struct wl_registry *registry,\n                            uint32_t
      name, uint32_t vers)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:520,1
    - Dst: wl_registry_bind
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - data
    - registry
    - name
    - vers
    argTypes:
    - void*
    - struct wl_registry*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 523
    functionName: register_xdg_wm_base
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 0
    functionsReached:
    - wl_registry_bind
    - likely
    linkageType: ''
    returnType: void
    signature: "void register_xdg_wm_base(void *data, struct wl_registry *registry,\n
      \                                uint32_t name, uint32_t vers)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:532,1
    - Dst: wl_registry_bind
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - data
    - registry
    - name
    - vers
    argTypes:
    - void*
    - struct wl_registry*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 535
    functionName: register_xdg_decoration_manager
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 0
    functionsReached:
    - wl_registry_bind
    - likely
    linkageType: ''
    returnType: void
    signature: "void register_xdg_decoration_manager(void *data,\n                                            struct
      wl_registry *registry,\n                                            uint32_t
      name, uint32_t vers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 573
    functionName: rghcmp
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int rghcmp(const void *a, const void *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:581,1
    - Dst: bsearch
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:583,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:583,1
    - Dst: struct registry_handler*::global
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - data
    - registry
    - name
    - iface
    - vers
    argTypes:
    - void*
    - struct wl_registry*
    - uint32_t
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 591
    functionName: registry_global_cb
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 0
    functionsReached:
    - struct registry_handler*::global
    - bsearch
    - msg_Dbg
    - ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: "void registry_global_cb(void *data, struct wl_registry *registry,\n
      \                              uint32_t name, const char *iface, uint32_t vers)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:599,1
    - Dst: seat_destroy_one
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:601,1
    - Dst: output_find_by_id
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:604,1
    - Dst: output_destroy
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - data
    - registry
    - name
    argTypes:
    - void*
    - struct wl_registry*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 593
    functionDepth: 4
    functionLinenumber: 593
    functionLinenumberEnd: 611
    functionName: registry_global_remove_cb
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 0
    functionsReached:
    - output_destroy
    - seat_destroy_one
    - msg_Dbg
    - output_find_by_id
    linkageType: ''
    returnType: void
    signature: "void registry_global_remove_cb(void *data, struct wl_registry *registry,\n
      \                                     uint32_t name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:624,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:627,1
    - Dst: likely
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:633,1
    - Dst: wl_surface_attach
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:635,1
    - Dst: wl_cursor_image_get_buffer
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:635,1
    - Dst: wl_surface_damage
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:636,1
    - Dst: wl_surface_commit
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:637,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - wnd
    - hsx
    - hsy
    argTypes:
    - vlc_window_t*
    - int32_t*
    - int32_t*
    assertStmts:
    - condition: (sys->cursor->image_count > 0)
      pos:
        line_end: 626
        line_start: 626
        source_file: /src/vlc/modules/video_output/wayland/xdg-shell.c
    constantsTouched: []
    func_position:
      end: 643
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 643
    functionName: window_get_cursor
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 1
    functionsReached:
    - wl_surface_commit
    - assert
    - unlikely
    - likely
    - wl_cursor_image_get_buffer
    - wl_surface_damage
    - wl_surface_attach
    linkageType: ''
    returnType: struct wl_surface
    signature: "struct wl_surface *window_get_cursor(vlc_window_t *wnd, int32_t *restrict
      hsx,\n                                     int32_t *restrict hsy)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:650,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:651,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:665,1
    - Dst: output_list_create
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:675,1
    - Dst: wl_list_init
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:676,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:679,1
    - Dst: vlc_sem_init
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:680,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:685,1
    - Dst: wl_display_connect
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:686,1
    - Dst: free
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:688,1
    - Dst: output_list_destroy
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:692,1
    - Dst: free
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:693,1
    - Dst: wl_display_get_registry
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:698,1
    - Dst: wl_registry_add_listener
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:702,1
    - Dst: wl_display_roundtrip
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:703,1
    - Dst: wl_compositor_create_surface
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:709,1
    - Dst: xdg_wm_base_add_listener
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:713,1
    - Dst: xdg_wm_base_get_xdg_surface
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:716,1
    - Dst: xdg_surface_add_listener
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:721,1
    - Dst: xdg_surface_get_toplevel
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:723,1
    - Dst: xdg_toplevel_add_listener
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:728,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:730,1
    - Dst: xdg_toplevel_set_title
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:731,1
    - Dst: _
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:732,1
    - Dst: free
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:733,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:735,1
    - Dst: xdg_toplevel_set_app_id
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:738,1
    - Dst: free
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:739,1
    - Dst: wl_cursor_theme_load
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:744,1
    - Dst: wl_cursor_theme_get_cursor
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:746,1
    - Dst: wl_compositor_create_surface
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:749,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:752,1
    - Dst: zxdg_decoration_manager_v1_get_toplevel_decoration
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:756,1
    - Dst: zxdg_toplevel_decoration_v1_add_listener
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:759,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:769,1
    - Dst: seat_destroy_all
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:775,1
    - Dst: output_list_destroy
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:776,1
    - Dst: zxdg_toplevel_decoration_v1_destroy
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:779,1
    - Dst: zxdg_decoration_manager_v1_destroy
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:781,1
    - Dst: wl_surface_destroy
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:784,1
    - Dst: wl_cursor_theme_destroy
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:786,1
    - Dst: xdg_toplevel_destroy
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:788,1
    - Dst: xdg_surface_destroy
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:790,1
    - Dst: xdg_wm_base_destroy
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:792,1
    - Dst: wl_surface_destroy
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:794,1
    - Dst: wl_shm_destroy
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:796,1
    - Dst: wl_compositor_destroy
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:798,1
    - Dst: wl_registry_destroy
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:800,1
    - Dst: wl_display_disconnect
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:801,1
    - Dst: free
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:802,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 114
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 648
    functionDepth: 3
    functionLinenumber: 648
    functionLinenumberEnd: 804
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 67
    functionsReached:
    - vlc_sem_init
    - wl_cursor_theme_load
    - output_list_destroy
    - wl_display_connect
    - wl_display_get_registry
    - wl_registry_add_listener
    - xdg_wm_base_add_listener
    - wl_compositor_create_surface
    - xdg_toplevel_set_title
    - _
    - zxdg_decoration_manager_v1_destroy
    - xdg_wm_base_destroy
    - msg_Err
    - wl_compositor_destroy
    - wl_display_disconnect
    - xdg_toplevel_set_app_id
    - wl_display_roundtrip
    - xdg_toplevel_add_listener
    - xdg_surface_destroy
    - wl_shm_destroy
    - xdg_wm_base_get_xdg_surface
    - var_InheritInteger
    - seat_destroy_all
    - zxdg_toplevel_decoration_v1_add_listener
    - wl_cursor_theme_destroy
    - output_list_create
    - wl_registry_destroy
    - zxdg_toplevel_decoration_v1_destroy
    - xdg_surface_add_listener
    - wl_list_init
    - var_InheritString
    - wl_surface_destroy
    - vlc_clone
    - vlc_mutex_init
    - xdg_surface_get_toplevel
    - wl_cursor_theme_get_cursor
    - xdg_toplevel_destroy
    - zxdg_decoration_manager_v1_get_toplevel_decoration
    - free
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open(vlc_window_t *wnd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_cancel
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:813,1
    - Dst: vlc_join
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:814,1
    - Dst: seat_destroy_all
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:816,1
    - Dst: output_list_destroy
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:817,1
    - Dst: zxdg_toplevel_decoration_v1_destroy
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:820,1
    - Dst: zxdg_decoration_manager_v1_destroy
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:822,1
    - Dst: wl_surface_destroy
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:825,1
    - Dst: wl_cursor_theme_destroy
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:827,1
    - Dst: xdg_toplevel_destroy
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:828,1
    - Dst: xdg_surface_destroy
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:829,1
    - Dst: xdg_wm_base_destroy
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:830,1
    - Dst: wl_surface_destroy
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:831,1
    - Dst: wl_shm_destroy
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:833,1
    - Dst: wl_compositor_destroy
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:834,1
    - Dst: wl_registry_destroy
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:835,1
    - Dst: wl_display_disconnect
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:836,1
    - Dst: free
      Src: /src/vlc/modules/video_output/wayland/xdg-shell.c:837,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 809
    functionDepth: 3
    functionLinenumber: 809
    functionLinenumberEnd: 838
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/wayland/xdg-shell.c
    functionUses: 170
    functionsReached:
    - wl_shm_destroy
    - wl_surface_destroy
    - vlc_cancel
    - output_list_destroy
    - seat_destroy_all
    - zxdg_decoration_manager_v1_destroy
    - wl_cursor_theme_destroy
    - xdg_toplevel_destroy
    - xdg_wm_base_destroy
    - wl_registry_destroy
    - wl_display_disconnect
    - vlc_join
    - zxdg_toplevel_decoration_v1_destroy
    - free
    - wl_compositor_destroy
    - xdg_surface_destroy
    linkageType: ''
    returnType: void
    signature: void Close(vlc_window_t *wnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: picture_Release
      Src: /src/vlc/modules/video_output/wayland/shm.c:71,1
    - Dst: free
      Src: /src/vlc/modules/video_output/wayland/shm.c:73,1
    - Dst: wl_buffer_destroy
      Src: /src/vlc/modules/video_output/wayland/shm.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - data
    - buffer
    argTypes:
    - void*
    - struct wl_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: buffer_release_cb
    functionSourceFile: /src/vlc/modules/video_output/wayland/shm.c
    functionUses: 0
    functionsReached:
    - free
    - picture_Release
    - wl_buffer_destroy
    linkageType: ''
    returnType: void
    signature: void buffer_release_cb(void *data, struct wl_buffer *buffer)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/wayland/shm.c:86,1
    - Dst: malloc
      Src: /src/vlc/modules/video_output/wayland/shm.c:95,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/wayland/shm.c:96,1
    - Dst: wl_shm_create_pool
      Src: /src/vlc/modules/video_output/wayland/shm.c:108,1
    - Dst: free
      Src: /src/vlc/modules/video_output/wayland/shm.c:111,1
    - Dst: wl_shm_pool_create_buffer
      Src: /src/vlc/modules/video_output/wayland/shm.c:119,1
    - Dst: wl_shm_pool_destroy
      Src: /src/vlc/modules/video_output/wayland/shm.c:122,1
    - Dst: free
      Src: /src/vlc/modules/video_output/wayland/shm.c:125,1
    - Dst: picture_Hold
      Src: /src/vlc/modules/video_output/wayland/shm.c:129,1
    - Dst: wl_buffer_add_listener
      Src: /src/vlc/modules/video_output/wayland/shm.c:131,1
    - Dst: wl_surface_attach
      Src: /src/vlc/modules/video_output/wayland/shm.c:132,1
    - Dst: wl_surface_damage
      Src: /src/vlc/modules/video_output/wayland/shm.c:133,1
    - Dst: wl_display_flush
      Src: /src/vlc/modules/video_output/wayland/shm.c:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 4
    argNames:
    - vd
    - pic
    - subpic
    - date
    argTypes:
    - vout_display_t*
    - picture_t*
    - struct vlc_render_subpicture*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 139
    functionName: Prepare
    functionSourceFile: /src/vlc/modules/video_output/wayland/shm.c
    functionUses: 54
    functionsReached:
    - wl_surface_attach
    - wl_shm_create_pool
    - picture_Hold
    - wl_shm_pool_destroy
    - wl_shm_pool_create_buffer
    - wl_buffer_add_listener
    - free
    - wl_display_flush
    - wl_surface_damage
    - unlikely
    - malloc
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void Prepare(vout_display_t *vd, picture_t *pic,\n                    const
      struct vlc_render_subpicture *subpic,\n                    vlc_tick_t date)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wl_surface_commit
      Src: /src/vlc/modules/video_output/wayland/shm.c:147,1
    - Dst: wl_display_roundtrip_queue
      Src: /src/vlc/modules/video_output/wayland/shm.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - vd
    - pic
    argTypes:
    - vout_display_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 151
    functionName: Display
    functionSourceFile: /src/vlc/modules/video_output/wayland/shm.c
    functionUses: 50
    functionsReached:
    - wl_display_roundtrip_queue
    - wl_surface_commit
    linkageType: ''
    returnType: void
    signature: void Display(vout_display_t *vd, picture_t *pic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/wayland/shm.c:157,1
    - Dst: video_format_ApplyRotation
      Src: /src/vlc/modules/video_output/wayland/shm.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - vd
    - fmt
    argTypes:
    - vout_display_t*
    - video_format_t*
    assertStmts:
    - condition: (sys->viewport == NULL)
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/vlc/modules/video_output/wayland/shm.c
    constantsTouched: []
    func_position:
      end: 172
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 172
    functionName: ResetPictures
    functionSourceFile: /src/vlc/modules/video_output/wayland/shm.c
    functionUses: 0
    functionsReached:
    - assert
    - video_format_ApplyRotation
    linkageType: ''
    returnType: int
    signature: int ResetPictures(vout_display_t *vd, video_format_t *fmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: video_format_ApplyRotation
      Src: /src/vlc/modules/video_output/wayland/shm.c:183,1
    - Dst: wp_viewport_set_source
      Src: /src/vlc/modules/video_output/wayland/shm.c:185,1
    - Dst: wl_fixed_from_int
      Src: /src/vlc/modules/video_output/wayland/shm.c:186,1
    - Dst: wl_fixed_from_int
      Src: /src/vlc/modules/video_output/wayland/shm.c:187,1
    - Dst: wl_fixed_from_int
      Src: /src/vlc/modules/video_output/wayland/shm.c:188,1
    - Dst: wl_fixed_from_int
      Src: /src/vlc/modules/video_output/wayland/shm.c:189,1
    - Dst: wp_viewport_set_destination
      Src: /src/vlc/modules/video_output/wayland/shm.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 193
    functionName: UpdateViewport
    functionSourceFile: /src/vlc/modules/video_output/wayland/shm.c
    functionUses: 3
    functionsReached:
    - wl_fixed_from_int
    - wp_viewport_set_destination
    - video_format_ApplyRotation
    - wp_viewport_set_source
    linkageType: ''
    returnType: int
    signature: int UpdateViewport(vout_display_t *vd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/wayland/shm.c:197,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/wayland/shm.c:197,1
    - Dst: UpdateViewport
      Src: /src/vlc/modules/video_output/wayland/shm.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - vd
    - width
    - height
    argTypes:
    - vout_display_t*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: SetDisplaySize
    functionSourceFile: /src/vlc/modules/video_output/wayland/shm.c
    functionUses: 1
    functionsReached:
    - UpdateViewport
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int SetDisplaySize(vout_display_t *vd, unsigned width, unsigned height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/wayland/shm.c:203,1
    - Dst: UpdateViewport
      Src: /src/vlc/modules/video_output/wayland/shm.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vd
    - place
    argTypes:
    - vout_display_t*
    - vout_display_place_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: PlacementChanged
    functionSourceFile: /src/vlc/modules/video_output/wayland/shm.c
    functionUses: 4
    functionsReached:
    - UpdateViewport
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int PlacementChanged(vout_display_t *vd, const vout_display_place_t
      *place)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/wayland/shm.c:209,1
    - Dst: PlacementChanged
      Src: /src/vlc/modules/video_output/wayland/shm.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vd
    - source
    argTypes:
    - vout_display_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: AspectChanged
    functionSourceFile: /src/vlc/modules/video_output/wayland/shm.c
    functionUses: 0
    functionsReached:
    - PlacementChanged
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int AspectChanged(vout_display_t *vd, const video_format_t *source)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/wayland/shm.c:218,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/wayland/shm.c:221,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/wayland/shm.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - shm
    - format
    argTypes:
    - void*
    - struct wl_shm*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 225
    functionName: shm_format_cb
    functionSourceFile: /src/vlc/modules/video_output/wayland/shm.c
    functionUses: 0
    functionsReached:
    - memcpy
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void shm_format_cb(void *data, struct wl_shm *shm, uint32_t format)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wl_surface_attach
      Src: /src/vlc/modules/video_output/wayland/shm.c:238,1
    - Dst: wl_surface_commit
      Src: /src/vlc/modules/video_output/wayland/shm.c:239,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/wayland/shm.c:243,1
    - Dst: wl_display_roundtrip_queue
      Src: /src/vlc/modules/video_output/wayland/shm.c:244,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/wayland/shm.c:246,1
    - Dst: wp_viewport_destroy
      Src: /src/vlc/modules/video_output/wayland/shm.c:249,1
    - Dst: wp_viewporter_destroy
      Src: /src/vlc/modules/video_output/wayland/shm.c:251,1
    - Dst: wl_shm_destroy
      Src: /src/vlc/modules/video_output/wayland/shm.c:252,1
    - Dst: wl_display_flush
      Src: /src/vlc/modules/video_output/wayland/shm.c:253,1
    - Dst: wl_event_queue_destroy
      Src: /src/vlc/modules/video_output/wayland/shm.c:254,1
    - Dst: free
      Src: /src/vlc/modules/video_output/wayland/shm.c:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 256
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/wayland/shm.c
    functionUses: 170
    functionsReached:
    - wp_viewport_destroy
    - wl_surface_commit
    - wl_shm_destroy
    - wp_viewporter_destroy
    - wl_display_roundtrip_queue
    - free
    - wl_event_queue_destroy
    - msg_Dbg
    - wl_display_flush
    - wl_surface_attach
    linkageType: ''
    returnType: void
    signature: void Close(vout_display_t *vd)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/video_output/wayland/shm.c:275,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/wayland/shm.c:276,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/wayland/shm.c:287,1
    - Dst: wl_display_create_queue
      Src: /src/vlc/modules/video_output/wayland/shm.c:292,1
    - Dst: vlc_wl_registry_get
      Src: /src/vlc/modules/video_output/wayland/shm.c:296,1
    - Dst: vlc_wl_shm_get
      Src: /src/vlc/modules/video_output/wayland/shm.c:300,1
    - Dst: vlc_wl_interface_bind
      Src: /src/vlc/modules/video_output/wayland/shm.c:305,1
    - Dst: wl_shm_add_listener
      Src: /src/vlc/modules/video_output/wayland/shm.c:308,1
    - Dst: wl_display_roundtrip_queue
      Src: /src/vlc/modules/video_output/wayland/shm.c:309,1
    - Dst: wp_viewporter_get_viewport
      Src: /src/vlc/modules/video_output/wayland/shm.c:313,1
    - Dst: vlc_wl_interface_get_version
      Src: /src/vlc/modules/video_output/wayland/shm.c:329,1
    - Dst: wl_surface_set_buffer_transform
      Src: /src/vlc/modules/video_output/wayland/shm.c:331,1
    - Dst: video_format_ApplyRotation
      Src: /src/vlc/modules/video_output/wayland/shm.c:337,1
    - Dst: vlc_wl_registry_destroy
      Src: /src/vlc/modules/video_output/wayland/shm.c:344,1
    - Dst: wl_shm_destroy
      Src: /src/vlc/modules/video_output/wayland/shm.c:350,1
    - Dst: vlc_wl_registry_destroy
      Src: /src/vlc/modules/video_output/wayland/shm.c:353,1
    - Dst: wl_event_queue_destroy
      Src: /src/vlc/modules/video_output/wayland/shm.c:356,1
    - Dst: free
      Src: /src/vlc/modules/video_output/wayland/shm.c:357,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 3
    argNames:
    - vd
    - fmtp
    - context
    argTypes:
    - vout_display_t*
    - video_format_t*
    - vlc_video_context*
    assertStmts:
    - condition: (sys->embed != NULL)
      pos:
        line_end: 286
        line_start: 286
        source_file: /src/vlc/modules/video_output/wayland/shm.c
    constantsTouched: []
    func_position:
      end: 359
      start: 269
    functionDepth: 6
    functionLinenumber: 269
    functionLinenumberEnd: 359
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/wayland/shm.c
    functionUses: 67
    functionsReached:
    - wl_shm_destroy
    - assert
    - vlc_wl_registry_get
    - wl_shm_add_listener
    - wl_display_create_queue
    - vlc_wl_interface_get_version
    - vlc_wl_shm_get
    - vlc_wl_interface_bind
    - wl_display_roundtrip_queue
    - video_format_ApplyRotation
    - free
    - wl_event_queue_destroy
    - wp_viewporter_get_viewport
    - vlc_wl_registry_destroy
    - wl_surface_set_buffer_transform
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: "int Open(vout_display_t *vd,\n                video_format_t *fmtp,
      vlc_video_context *context)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_dup
      Src: /src/vlc/modules/video_output/xcb/x11.c:67,1
    - Dst: xcb_shm_attach_fd_checked
      Src: /src/vlc/modules/video_output/xcb/x11.c:71,1
    - Dst: xcb_request_check
      Src: /src/vlc/modules/video_output/xcb/x11.c:72,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/x11.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - vd
    - pic
    - subpic
    - date
    argTypes:
    - vout_display_t*
    - picture_t*
    - struct vlc_render_subpicture*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 81
    functionName: Prepare
    functionSourceFile: /src/vlc/modules/video_output/xcb/x11.c
    functionUses: 54
    functionsReached:
    - xcb_shm_attach_fd_checked
    - xcb_request_check
    - free
    - vlc_dup
    linkageType: ''
    returnType: void
    signature: "void Prepare(vout_display_t *vd, picture_t *pic,\n                    const
      struct vlc_render_subpicture *subpic,\n                    vlc_tick_t date)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_xcb_Manage
      Src: /src/vlc/modules/video_output/xcb/x11.c:94,1
    - Dst: xcb_poly_fill_rectangle
      Src: /src/vlc/modules/video_output/xcb/x11.c:129,1
    - Dst: xcb_shm_put_image_checked
      Src: /src/vlc/modules/video_output/xcb/x11.c:133,1
    - Dst: xcb_put_image
      Src: /src/vlc/modules/video_output/xcb/x11.c:154,1
    - Dst: xcb_put_image_checked
      Src: /src/vlc/modules/video_output/xcb/x11.c:161,1
    - Dst: xcb_request_check
      Src: /src/vlc/modules/video_output/xcb/x11.c:175,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/xcb/x11.c:177,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/x11.c:178,1
    - Dst: xcb_shm_detach
      Src: /src/vlc/modules/video_output/xcb/x11.c:186,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 2
    argNames:
    - vd
    - pic
    argTypes:
    - vout_display_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 187
    functionName: Display
    functionSourceFile: /src/vlc/modules/video_output/xcb/x11.c
    functionUses: 50
    functionsReached:
    - xcb_put_image
    - xcb_poly_fill_rectangle
    - xcb_shm_detach
    - msg_Err
    - free
    - vlc_xcb_Manage
    - xcb_put_image_checked
    - xcb_request_check
    - xcb_shm_put_image_checked
    linkageType: ''
    returnType: void
    signature: void Display (vout_display_t *vd, picture_t *pic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: video_format_ApplyRotation
      Src: /src/vlc/modules/video_output/xcb/x11.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - vd
    - f
    argTypes:
    - vout_display_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 202
    functionName: ResetPictures
    functionSourceFile: /src/vlc/modules/video_output/xcb/x11.c
    functionUses: 0
    functionsReached:
    - video_format_ApplyRotation
    linkageType: ''
    returnType: int
    signature: int ResetPictures(vout_display_t *vd, video_format_t *restrict f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/xcb/x11.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - vd
    - place
    argTypes:
    - vout_display_t*
    - vout_display_place_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 212
    functionName: PlacementChanged
    functionSourceFile: /src/vlc/modules/video_output/xcb/x11.c
    functionUses: 5
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int PlacementChanged(vout_display_t *vd, const vout_display_place_t
      *place)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/xcb/x11.c:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - vd
    - source
    argTypes:
    - vout_display_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 222
    functionName: AspectChanged
    functionSourceFile: /src/vlc/modules/video_output/xcb/x11.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int AspectChanged(vout_display_t *vd, const video_format_t *source)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xcb_configure_window
      Src: /src/vlc/modules/video_output/xcb/x11.c:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - vd
    - width
    - height
    argTypes:
    - vout_display_t*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 240
    functionName: SetDisplaySize
    functionSourceFile: /src/vlc/modules/video_output/xcb/x11.c
    functionUses: 1
    functionsReached:
    - xcb_configure_window
    linkageType: ''
    returnType: int
    signature: int SetDisplaySize(vout_display_t *vd, unsigned width, unsigned height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcb_disconnect
      Src: /src/vlc/modules/video_output/xcb/x11.c:250,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/x11.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 252
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/xcb/x11.c
    functionUses: 170
    functionsReached:
    - free
    - xcb_disconnect
    linkageType: ''
    returnType: void
    signature: void Close(vout_display_t *vd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xcb_depth_visuals
      Src: /src/vlc/modules/video_output/xcb/x11.c:259,1
    - Dst: xcb_depth_visuals_length
      Src: /src/vlc/modules/video_output/xcb/x11.c:261,1
    - Dst: vlc_xcb_VisualToFormat
      Src: /src/vlc/modules/video_output/xcb/x11.c:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - setup
    - depth
    - f
    argTypes:
    - xcb_setup_t*
    - xcb_depth_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: DepthToFormat
    functionSourceFile: /src/vlc/modules/video_output/xcb/x11.c
    functionUses: 0
    functionsReached:
    - xcb_depth_visuals_length
    - vlc_xcb_VisualToFormat
    - xcb_depth_visuals
    linkageType: ''
    returnType: xcb_visualid_t
    signature: "xcb_visualid_t DepthToFormat(const xcb_setup_t *setup,\n                                    const
      xcb_depth_t *depth,\n                                    video_format_t *restrict
      f)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xcb_screen_allowed_depths_iterator
      Src: /src/vlc/modules/video_output/xcb/x11.c:278,1
    - Dst: xcb_depth_next
      Src: /src/vlc/modules/video_output/xcb/x11.c:280,1
    - Dst: video_format_ApplyRotation
      Src: /src/vlc/modules/video_output/xcb/x11.c:289,1
    - Dst: DepthToFormat
      Src: /src/vlc/modules/video_output/xcb/x11.c:290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - setup
    - screen
    - bits
    - source
    - fmtp
    argTypes:
    - xcb_setup_t*
    - xcb_screen_t*
    - uint8_t*
    - video_format_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 299
    functionName: ScreenToFormat
    functionSourceFile: /src/vlc/modules/video_output/xcb/x11.c
    functionUses: 0
    functionsReached:
    - xcb_depth_next
    - video_format_ApplyRotation
    - xcb_screen_allowed_depths_iterator
    - DepthToFormat
    linkageType: ''
    returnType: xcb_visualid_t
    signature: "xcb_visualid_t ScreenToFormat(const xcb_setup_t *setup,\n                                     const
      xcb_screen_t *screen,\n                                     uint8_t *restrict
      bits,\n                                     const video_format_t *source,\n
      \                                    video_format_t *restrict fmtp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/video_output/xcb/x11.c:318,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/xcb/x11.c:319,1
    - Dst: vlc_xcb_parent_Create
      Src: /src/vlc/modules/video_output/xcb/x11.c:328,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/x11.c:331,1
    - Dst: xcb_get_setup
      Src: /src/vlc/modules/video_output/xcb/x11.c:336,1
    - Dst: ScreenToFormat
      Src: /src/vlc/modules/video_output/xcb/x11.c:339,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/xcb/x11.c:341,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/xcb/x11.c:345,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/xcb/x11.c:346,1
    - Dst: xcb_generate_id
      Src: /src/vlc/modules/video_output/xcb/x11.c:352,1
    - Dst: xcb_create_colormap
      Src: /src/vlc/modules/video_output/xcb/x11.c:353,1
    - Dst: xcb_generate_id
      Src: /src/vlc/modules/video_output/xcb/x11.c:379,1
    - Dst: xcb_generate_id
      Src: /src/vlc/modules/video_output/xcb/x11.c:380,1
    - Dst: xcb_create_window
      Src: /src/vlc/modules/video_output/xcb/x11.c:381,1
    - Dst: xcb_map_window
      Src: /src/vlc/modules/video_output/xcb/x11.c:385,1
    - Dst: xcb_create_gc
      Src: /src/vlc/modules/video_output/xcb/x11.c:387,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/xcb/x11.c:389,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/xcb/x11.c:390,1
    - Dst: XCB_shm_Check
      Src: /src/vlc/modules/video_output/xcb/x11.c:392,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/xcb/x11.c:392,1
    - Dst: xcb_generate_id
      Src: /src/vlc/modules/video_output/xcb/x11.c:393,1
    - Dst: ResetPictures
      Src: /src/vlc/modules/video_output/xcb/x11.c:398,1
    - Dst: Close
      Src: /src/vlc/modules/video_output/xcb/x11.c:405,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 3
    argNames:
    - vd
    - fmtp
    - context
    argTypes:
    - vout_display_t*
    - video_format_t*
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 315
    functionDepth: 3
    functionLinenumber: 315
    functionLinenumberEnd: 407
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/xcb/x11.c
    functionUses: 67
    functionsReached:
    - xcb_create_window
    - vlc_xcb_parent_Create
    - xcb_get_setup
    - Close
    - xcb_generate_id
    - ScreenToFormat
    - msg_Err
    - free
    - XCB_shm_Check
    - xcb_create_colormap
    - msg_Dbg
    - ResetPictures
    - VLC_OBJECT
    - xcb_map_window
    - xcb_create_gc
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: "int Open (vout_display_t *vd,\n                 video_format_t *fmtp,
      vlc_video_context *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcb_intern_atom
      Src: /src/vlc/modules/video_output/xcb/window.c:101,1
    - Dst: strlen
      Src: /src/vlc/modules/video_output/xcb/window.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - s
    argTypes:
    - xcb_connection_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: intern_string
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 0
    functionsReached:
    - strlen
    - xcb_intern_atom
    linkageType: ''
    returnType: xcb_intern_atom_cookie_t
    signature: xcb_intern_atom_cookie_t intern_string (xcb_connection_t *c, const
      char *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xcb_intern_atom_reply
      Src: /src/vlc/modules/video_output/xcb/window.c:111,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/window.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - conn
    - ck
    argTypes:
    - xcb_connection_t*
    - xcb_intern_atom_cookie_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 118
    functionName: get_atom
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 0
    functionsReached:
    - free
    - xcb_intern_atom_reply
    linkageType: ''
    returnType: xcb_atom_t
    signature: xcb_atom_t get_atom (xcb_connection_t *conn, xcb_intern_atom_cookie_t
      ck)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xkb_x11_get_core_keyboard_device_id
      Src: /src/vlc/modules/video_output/xcb/window.c:126,1
    - Dst: xkb_x11_keymap_new_from_device
      Src: /src/vlc/modules/video_output/xcb/window.c:130,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/xcb/window.c:132,1
    - Dst: xkb_x11_state_new_from_device
      Src: /src/vlc/modules/video_output/xcb/window.c:135,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/xcb/window.c:136,1
    - Dst: xkb_keymap_unref
      Src: /src/vlc/modules/video_output/xcb/window.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 143
    functionName: InitKeyboard
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 0
    functionsReached:
    - xkb_x11_get_core_keyboard_device_id
    - xkb_keymap_unref
    - xkb_x11_state_new_from_device
    - xkb_x11_keymap_new_from_device
    - unlikely
    linkageType: ''
    returnType: int
    signature: int InitKeyboard(vlc_window_t *wnd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xkb_state_unref
      Src: /src/vlc/modules/video_output/xcb/window.c:152,1
    - Dst: xkb_keymap_unref
      Src: /src/vlc/modules/video_output/xcb/window.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: DeinitKeyboard
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 0
    functionsReached:
    - xkb_keymap_unref
    - xkb_state_unref
    linkageType: ''
    returnType: void
    signature: void DeinitKeyboard(vlc_window_t *wnd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/xcb/window.c:166,1
    - Dst: DeinitKeyboard
      Src: /src/vlc/modules/video_output/xcb/window.c:167,1
    - Dst: InitKeyboard
      Src: /src/vlc/modules/video_output/xcb/window.c:168,1
    - Dst: xkb_state_update_mask
      Src: /src/vlc/modules/video_output/xcb/window.c:176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - wnd
    - ev
    argTypes:
    - vlc_window_t*
    - xcb_generic_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 183
    functionName: ProcessKeyboardEvent
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 0
    functionsReached:
    - InitKeyboard
    - xkb_state_update_mask
    - msg_Dbg
    - DeinitKeyboard
    linkageType: ''
    returnType: void
    signature: "void ProcessKeyboardEvent(vlc_window_t *wnd,\n                                 const
      xcb_generic_event_t *ev)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xkb_x11_setup_xkb_extension
      Src: /src/vlc/modules/video_output/xcb/window.c:191,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/xcb/window.c:196,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/xcb/window.c:200,1
    - Dst: xkb_context_new
      Src: /src/vlc/modules/video_output/xcb/window.c:201,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/xcb/window.c:202,1
    - Dst: xkb_x11_get_core_keyboard_device_id
      Src: /src/vlc/modules/video_output/xcb/window.c:233,1
    - Dst: xkb_context_unref
      Src: /src/vlc/modules/video_output/xcb/window.c:236,1
    - Dst: xcb_xkb_select_events_aux
      Src: /src/vlc/modules/video_output/xcb/window.c:241,1
    - Dst: InitKeyboard
      Src: /src/vlc/modules/video_output/xcb/window.c:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 246
    functionName: InitKeyboardExtension
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 0
    functionsReached:
    - xkb_context_unref
    - xkb_context_new
    - xcb_xkb_select_events_aux
    - xkb_x11_get_core_keyboard_device_id
    - msg_Err
    - xkb_x11_setup_xkb_extension
    - InitKeyboard
    - msg_Dbg
    - unlikely
    linkageType: ''
    returnType: int
    signature: int InitKeyboardExtension(vlc_window_t *wnd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DeinitKeyboard
      Src: /src/vlc/modules/video_output/xcb/window.c:255,1
    - Dst: xkb_context_unref
      Src: /src/vlc/modules/video_output/xcb/window.c:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 257
    functionName: DeinitKeyboardExtension
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 0
    functionsReached:
    - xkb_context_unref
    - DeinitKeyboard
    linkageType: ''
    returnType: void
    signature: void DeinitKeyboardExtension(vlc_window_t *wnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 260
    functionName: DeinitKeyboardExtension
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DeinitKeyboardExtension(w)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xcb_get_extension_data
      Src: /src/vlc/modules/video_output/xcb/window.c:269,1
    - Dst: xcb_randr_query_version_reply
      Src: /src/vlc/modules/video_output/xcb/window.c:274,1
    - Dst: xcb_randr_query_version
      Src: /src/vlc/modules/video_output/xcb/window.c:275,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/xcb/window.c:280,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/window.c:283,1
    - Dst: xcb_randr_select_input
      Src: /src/vlc/modules/video_output/xcb/window.c:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 287
    functionName: InitRandR
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 0
    functionsReached:
    - xcb_get_extension_data
    - xcb_randr_query_version
    - free
    - msg_Dbg
    - xcb_randr_select_input
    - xcb_randr_query_version_reply
    linkageType: ''
    returnType: int
    signature: int InitRandR(vlc_window_t *wnd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: xcb_randr_get_screen_resources_reply
      Src: /src/vlc/modules/video_output/xcb/window.c:295,1
    - Dst: xcb_randr_get_screen_resources
      Src: /src/vlc/modules/video_output/xcb/window.c:296,1
    - Dst: xcb_randr_get_screen_resources_outputs
      Src: /src/vlc/modules/video_output/xcb/window.c:300,1
    - Dst: vlc_reallocarray
      Src: /src/vlc/modules/video_output/xcb/window.c:303,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/window.c:306,1
    - Dst: vlc_reallocarray
      Src: /src/vlc/modules/video_output/xcb/window.c:314,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/window.c:316,1
    - Dst: xcb_randr_get_output_info
      Src: /src/vlc/modules/video_output/xcb/window.c:321,1
    - Dst: xcb_randr_get_output_info_reply
      Src: /src/vlc/modules/video_output/xcb/window.c:324,1
    - Dst: xcb_randr_get_crtc_info
      Src: /src/vlc/modules/video_output/xcb/window.c:326,1
    - Dst: xcb_randr_get_crtc_info_reply
      Src: /src/vlc/modules/video_output/xcb/window.c:335,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/xcb/window.c:338,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/window.c:344,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/window.c:346,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/window.c:349,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/window.c:350,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts:
    - condition: (idx < res->num_outputs)
      pos:
        line_end: 337
        line_start: 337
        source_file: /src/vlc/modules/video_output/xcb/window.c
    constantsTouched: []
    func_position:
      end: 352
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 352
    functionName: UpdateDisplays
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 0
    functionsReached:
    - xcb_randr_get_output_info
    - xcb_randr_get_crtc_info_reply
    - assert
    - vlc_reallocarray
    - xcb_randr_get_screen_resources
    - xcb_randr_get_output_info_reply
    - xcb_randr_get_crtc_info
    - free
    - xcb_randr_get_screen_resources_outputs
    - xcb_randr_get_screen_resources_reply
    linkageType: ''
    returnType: int
    signature: int UpdateDisplays(vlc_window_t *wnd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UpdateDisplays
      Src: /src/vlc/modules/video_output/xcb/window.c:361,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - wnd
    - gev
    argTypes:
    - vlc_window_t*
    - xcb_generic_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 376
    functionName: ProcessRandREvent
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 0
    functionsReached:
    - UpdateDisplays
    linkageType: ''
    returnType: void
    signature: void ProcessRandREvent(vlc_window_t *wnd, xcb_generic_event_t *gev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_window_ReportICCProfile
      Src: /src/vlc/modules/video_output/xcb/window.c:384,1
    - Dst: xcb_get_property_reply
      Src: /src/vlc/modules/video_output/xcb/window.c:390,1
    - Dst: xcb_get_property
      Src: /src/vlc/modules/video_output/xcb/window.c:391,1
    - Dst: vlc_window_ReportICCProfile
      Src: /src/vlc/modules/video_output/xcb/window.c:394,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/window.c:395,1
    - Dst: xcb_get_property_value_length
      Src: /src/vlc/modules/video_output/xcb/window.c:399,1
    - Dst: malloc
      Src: /src/vlc/modules/video_output/xcb/window.c:400,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/xcb/window.c:403,1
    - Dst: xcb_get_property_value
      Src: /src/vlc/modules/video_output/xcb/window.c:403,1
    - Dst: vlc_window_ReportICCProfile
      Src: /src/vlc/modules/video_output/xcb/window.c:404,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/window.c:406,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 407
    functionName: UpdateICCProfile
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 1
    functionsReached:
    - xcb_get_property_value_length
    - vlc_window_ReportICCProfile
    - memcpy
    - xcb_get_property_value
    - free
    - xcb_get_property
    - xcb_get_property_reply
    - malloc
    linkageType: ''
    returnType: void
    signature: void UpdateICCProfile(vlc_window_t *wnd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/video_output/xcb/window.c:418,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/video_output/xcb/window.c:420,1
    - Dst: abs
      Src: /src/vlc/modules/video_output/xcb/window.c:422,1
    - Dst: abs
      Src: /src/vlc/modules/video_output/xcb/window.c:422,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - wnd
    - xpos
    - ypos
    argTypes:
    - vlc_window_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 433
    functionName: DisplayForCoords
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 0
    functionsReached:
    - abs
    - VLC_CLIP
    linkageType: ''
    returnType: int
    signature: int DisplayForCoords(vlc_window_t *wnd, int xpos, int ypos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/vlc/modules/video_output/xcb/window.c:442,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/xcb/window.c:444,1
    - Dst: strcpy
      Src: /src/vlc/modules/video_output/xcb/window.c:445,1
    - Dst: get_atom
      Src: /src/vlc/modules/video_output/xcb/window.c:448,1
    - Dst: intern_string
      Src: /src/vlc/modules/video_output/xcb/window.c:448,1
    - Dst: UpdateICCProfile
      Src: /src/vlc/modules/video_output/xcb/window.c:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - wnd
    - new_display
    argTypes:
    - vlc_window_t*
    - int
    assertStmts:
    - condition: (new_display == 0)
      pos:
        line_end: 443
        line_start: 443
        source_file: /src/vlc/modules/video_output/xcb/window.c
    constantsTouched: []
    func_position:
      end: 450
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 450
    functionName: DisplayChanged
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 0
    functionsReached:
    - assert
    - get_atom
    - intern_string
    - UpdateICCProfile
    - strcpy
    - snprintf
    linkageType: ''
    returnType: void
    signature: void DisplayChanged(vlc_window_t *wnd, int new_display)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_window_ReportSize
      Src: /src/vlc/modules/video_output/xcb/window.c:458,1
    - Dst: DisplayForCoords
      Src: /src/vlc/modules/video_output/xcb/window.c:467,1
    - Dst: DisplayChanged
      Src: /src/vlc/modules/video_output/xcb/window.c:470,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 5
    argNames:
    - wnd
    - x
    - y
    - width
    - height
    argTypes:
    - vlc_window_t*
    - unsigned*
    - unsigned*
    - unsigned*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 475
    functionName: UpdateGeometry
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 0
    functionsReached:
    - DisplayChanged
    - vlc_window_ReportSize
    - DisplayForCoords
    linkageType: ''
    returnType: void
    signature: "void UpdateGeometry(vlc_window_t *wnd, unsigned *x, unsigned *y,\n
      \                          unsigned *width, unsigned *height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcb_generate_id
      Src: /src/vlc/modules/video_output/xcb/window.c:479,1
    - Dst: xcb_generate_id
      Src: /src/vlc/modules/video_output/xcb/window.c:480,1
    - Dst: xcb_create_pixmap
      Src: /src/vlc/modules/video_output/xcb/window.c:482,1
    - Dst: xcb_create_cursor
      Src: /src/vlc/modules/video_output/xcb/window.c:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - conn
    - root
    argTypes:
    - xcb_connection_t*
    - xcb_window_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 485
    functionName: CursorCreate
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 0
    functionsReached:
    - xcb_create_pixmap
    - xcb_create_cursor
    - xcb_generate_id
    linkageType: ''
    returnType: xcb_cursor_t
    signature: xcb_cursor_t CursorCreate(xcb_connection_t *conn, xcb_window_t root)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: vlc_xkb_get_one
      Src: /src/vlc/modules/video_output/xcb/window.c:498,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/xcb/window.c:500,1
    - Dst: vlc_window_ReportKeyPress
      Src: /src/vlc/modules/video_output/xcb/window.c:505,1
    - Dst: vlc_window_ReportMousePressed
      Src: /src/vlc/modules/video_output/xcb/window.c:518,1
    - Dst: vlc_window_ReportMouseReleased
      Src: /src/vlc/modules/video_output/xcb/window.c:527,1
    - Dst: vlc_window_ReportMouseMoved
      Src: /src/vlc/modules/video_output/xcb/window.c:536,1
    - Dst: vlc_window_ReportClose
      Src: /src/vlc/modules/video_output/xcb/window.c:551,1
    - Dst: UpdateICCProfile
      Src: /src/vlc/modules/video_output/xcb/window.c:571,1
    - Dst: ProcessKeyboardEvent
      Src: /src/vlc/modules/video_output/xcb/window.c:579,1
    - Dst: ProcessRandREvent
      Src: /src/vlc/modules/video_output/xcb/window.c:585,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/xcb/window.c:589,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/window.c:592,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 63
    argCount: 2
    argNames:
    - wnd
    - ev
    argTypes:
    - vlc_window_t*
    - xcb_generic_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 487
    functionDepth: 3
    functionLinenumber: 487
    functionLinenumberEnd: 594
    functionName: ProcessEvent
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 0
    functionsReached:
    - vlc_window_ReportMouseMoved
    - vlc_xkb_get_one
    - vlc_window_ReportMouseReleased
    - ProcessRandREvent
    - UpdateICCProfile
    - free
    - msg_Dbg
    - vlc_window_ReportKeyPress
    - vlc_window_ReportClose
    - ProcessKeyboardEvent
    - vlc_window_ReportMousePressed
    linkageType: ''
    returnType: int
    signature: int ProcessEvent(vlc_window_t *wnd, xcb_generic_event_t *ev)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/video_output/xcb/window.c:599,1
    - Dst: xcb_get_file_descriptor
      Src: /src/vlc/modules/video_output/xcb/window.c:608,1
    - Dst: CursorCreate
      Src: /src/vlc/modules/video_output/xcb/window.c:612,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/video_output/xcb/window.c:613,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/xcb/window.c:613,1
    - Dst: xcb_query_pointer
      Src: /src/vlc/modules/video_output/xcb/window.c:621,1
    - Dst: xcb_get_geometry
      Src: /src/vlc/modules/video_output/xcb/window.c:623,1
    - Dst: UpdateDisplays
      Src: /src/vlc/modules/video_output/xcb/window.c:627,1
    - Dst: xcb_query_pointer_reply
      Src: /src/vlc/modules/video_output/xcb/window.c:630,1
    - Dst: xcb_poll_for_queued_event
      Src: /src/vlc/modules/video_output/xcb/window.c:632,1
    - Dst: ProcessEvent
      Src: /src/vlc/modules/video_output/xcb/window.c:633,1
    - Dst: vlc_window_ReportMouseMoved
      Src: /src/vlc/modules/video_output/xcb/window.c:634,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/window.c:635,1
    - Dst: xcb_get_geometry_reply
      Src: /src/vlc/modules/video_output/xcb/window.c:638,1
    - Dst: xcb_poll_for_queued_event
      Src: /src/vlc/modules/video_output/xcb/window.c:640,1
    - Dst: ProcessEvent
      Src: /src/vlc/modules/video_output/xcb/window.c:641,1
    - Dst: UpdateGeometry
      Src: /src/vlc/modules/video_output/xcb/window.c:647,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/window.c:648,1
    - Dst: vlc_latch_count_down
      Src: /src/vlc/modules/video_output/xcb/window.c:650,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/video_output/xcb/window.c:658,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/video_output/xcb/window.c:659,1
    - Dst: poll
      Src: /src/vlc/modules/video_output/xcb/window.c:662,1
    - Dst: vlc_savecancel
      Src: /src/vlc/modules/video_output/xcb/window.c:664,1
    - Dst: xcb_change_window_attributes
      Src: /src/vlc/modules/video_output/xcb/window.c:668,1
    - Dst: xcb_flush
      Src: /src/vlc/modules/video_output/xcb/window.c:669,1
    - Dst: xcb_poll_for_event
      Src: /src/vlc/modules/video_output/xcb/window.c:676,1
    - Dst: ProcessEvent
      Src: /src/vlc/modules/video_output/xcb/window.c:677,1
    - Dst: UpdateGeometry
      Src: /src/vlc/modules/video_output/xcb/window.c:679,1
    - Dst: xcb_change_window_attributes
      Src: /src/vlc/modules/video_output/xcb/window.c:683,1
    - Dst: xcb_flush
      Src: /src/vlc/modules/video_output/xcb/window.c:685,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/video_output/xcb/window.c:686,1
    - Dst: vlc_restorecancel
      Src: /src/vlc/modules/video_output/xcb/window.c:690,1
    - Dst: xcb_connection_has_error
      Src: /src/vlc/modules/video_output/xcb/window.c:692,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/xcb/window.c:694,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 597
    functionDepth: 3
    functionLinenumber: 597
    functionLinenumberEnd: 699
    functionName: Thread
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 91
    functionsReached:
    - xcb_get_file_descriptor
    - xcb_poll_for_queued_event
    - UpdateGeometry
    - UpdateDisplays
    - vlc_window_ReportMouseMoved
    - vlc_tick_now
    - vlc_restorecancel
    - msg_Err
    - vlc_savecancel
    - MS_FROM_VLC_TICK
    - vlc_thread_set_name
    - xcb_flush
    - var_InheritInteger
    - vlc_latch_count_down
    - xcb_get_geometry
    - xcb_query_pointer
    - xcb_change_window_attributes
    - xcb_get_geometry_reply
    - xcb_poll_for_event
    - ProcessEvent
    - xcb_query_pointer_reply
    - poll
    - VLC_TICK_FROM_MS
    - free
    - CursorCreate
    - xcb_connection_has_error
    linkageType: ''
    returnType: void
    signature: void *Thread (void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcb_send_event
      Src: /src/vlc/modules/video_output/xcb/window.c:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - wnd
    - 'on'
    - state
    argTypes:
    - vlc_window_t*
    - bool
    - xcb_atom_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 727
    functionName: change_wm_state
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 0
    functionsReached:
    - xcb_send_event
    linkageType: ''
    returnType: void
    signature: void change_wm_state (vlc_window_t *wnd, bool on, xcb_atom_t state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcb_configure_window
      Src: /src/vlc/modules/video_output/xcb/window.c:735,1
    - Dst: xcb_flush
      Src: /src/vlc/modules/video_output/xcb/window.c:738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - wnd
    - width
    - height
    argTypes:
    - vlc_window_t*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 739
    functionName: Resize
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 26
    functionsReached:
    - xcb_flush
    - xcb_configure_window
    linkageType: ''
    returnType: void
    signature: void Resize(vlc_window_t *wnd, unsigned width, unsigned height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: change_wm_state
      Src: /src/vlc/modules/video_output/xcb/window.c:747,1
    - Dst: change_wm_state
      Src: /src/vlc/modules/video_output/xcb/window.c:748,1
    - Dst: xcb_flush
      Src: /src/vlc/modules/video_output/xcb/window.c:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - wnd
    - state
    argTypes:
    - vlc_window_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 750
    functionName: SetState
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 1
    functionsReached:
    - xcb_flush
    - change_wm_state
    linkageType: ''
    returnType: void
    signature: void SetState(vlc_window_t *wnd, unsigned state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: change_wm_state
      Src: /src/vlc/modules/video_output/xcb/window.c:756,1
    - Dst: xcb_flush
      Src: /src/vlc/modules/video_output/xcb/window.c:757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 758
    functionName: UnsetFullscreen
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 1
    functionsReached:
    - xcb_flush
    - change_wm_state
    linkageType: ''
    returnType: void
    signature: void UnsetFullscreen(vlc_window_t *wnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: change_wm_state
      Src: /src/vlc/modules/video_output/xcb/window.c:765,1
    - Dst: xcb_flush
      Src: /src/vlc/modules/video_output/xcb/window.c:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - wnd
    - idstr
    argTypes:
    - vlc_window_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 767
    functionName: SetFullscreen
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 9
    functionsReached:
    - xcb_flush
    - change_wm_state
    linkageType: ''
    returnType: void
    signature: void SetFullscreen(vlc_window_t *wnd, const char *idstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcb_change_property
      Src: /src/vlc/modules/video_output/xcb/window.c:774,1
    - Dst: strlen
      Src: /src/vlc/modules/video_output/xcb/window.c:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - conn
    - window
    - type
    - atom
    - str
    argTypes:
    - xcb_connection_t*
    - xcb_window_t
    - xcb_atom_t
    - xcb_atom_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 776
    functionName: set_string
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 0
    functionsReached:
    - xcb_change_property
    - strlen
    linkageType: ''
    returnType: void
    signature: "void set_string (xcb_connection_t *conn, xcb_window_t window,\n                 xcb_atom_t
      type, xcb_atom_t atom, const char *str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_string
      Src: /src/vlc/modules/video_output/xcb/window.c:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - conn
    - window
    - atom
    - value
    argTypes:
    - xcb_connection_t*
    - xcb_window_t
    - xcb_atom_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 784
    functionName: set_ascii_prop
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 0
    functionsReached:
    - set_string
    linkageType: ''
    returnType: void
    signature: "void set_ascii_prop (xcb_connection_t *conn, xcb_window_t window,\n
      \                    xcb_atom_t atom, const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcb_change_property
      Src: /src/vlc/modules/video_output/xcb/window.c:795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - window
    argTypes:
    - xcb_connection_t*
    - xcb_window_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 797
    functionName: set_wm_hints
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 0
    functionsReached:
    - xcb_change_property
    linkageType: ''
    returnType: void
    signature: void set_wm_hints (xcb_connection_t *conn, xcb_window_t window)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/vlc/modules/video_output/xcb/window.c:805,1
    - Dst: malloc
      Src: /src/vlc/modules/video_output/xcb/window.c:812,1
    - Dst: gethostname
      Src: /src/vlc/modules/video_output/xcb/window.c:816,1
    - Dst: set_ascii_prop
      Src: /src/vlc/modules/video_output/xcb/window.c:819,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/window.c:821,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - conn
    - window
    argTypes:
    - xcb_connection_t*
    - xcb_window_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 800
    functionDepth: 2
    functionLinenumber: 800
    functionLinenumberEnd: 822
    functionName: set_hostname_prop
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 0
    functionsReached:
    - set_ascii_prop
    - sysconf
    - free
    - malloc
    - gethostname
    linkageType: ''
    returnType: void
    signature: void set_hostname_prop (xcb_connection_t *conn, xcb_window_t window)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xcb_delete_property
      Src: /src/vlc/modules/video_output/xcb/window.c:833,1
    - Dst: xcb_change_property
      Src: /src/vlc/modules/video_output/xcb/window.c:838,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/xcb/window.c:840,1
    - Dst: xcb_map_window_checked
      Src: /src/vlc/modules/video_output/xcb/window.c:844,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/window.c:845,1
    - Dst: xcb_request_check
      Src: /src/vlc/modules/video_output/xcb/window.c:845,1
    - Dst: vlc_latch_wait
      Src: /src/vlc/modules/video_output/xcb/window.c:846,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - wnd
    - cfg
    argTypes:
    - vlc_window_t*
    - vlc_window_cfg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 848
    functionName: Enable
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 17
    functionsReached:
    - vlc_latch_wait
    - ARRAY_SIZE
    - xcb_delete_property
    - free
    - xcb_map_window_checked
    - xcb_change_property
    - xcb_request_check
    linkageType: ''
    returnType: int
    signature: int Enable(vlc_window_t *wnd, const vlc_window_cfg_t *restrict cfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcb_unmap_window
      Src: /src/vlc/modules/video_output/xcb/window.c:855,1
    - Dst: xcb_flush
      Src: /src/vlc/modules/video_output/xcb/window.c:856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 857
    functionName: Disable
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 16
    functionsReached:
    - xcb_unmap_window
    - xcb_flush
    linkageType: ''
    returnType: void
    signature: void Disable(vlc_window_t *wnd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/video_output/xcb/window.c:875,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/xcb/window.c:875,1
    - Dst: InitKeyboardExtension
      Src: /src/vlc/modules/video_output/xcb/window.c:895,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/xcb/window.c:899,1
    - Dst: InitRandR
      Src: /src/vlc/modules/video_output/xcb/window.c:902,1
    - Dst: xcb_change_window_attributes
      Src: /src/vlc/modules/video_output/xcb/window.c:905,1
    - Dst: set_ascii_prop
      Src: /src/vlc/modules/video_output/xcb/window.c:911,1
    - Dst: vlc_pgettext
      Src: /src/vlc/modules/video_output/xcb/window.c:917,1
    - Dst: set_ascii_prop
      Src: /src/vlc/modules/video_output/xcb/window.c:919,1
    - Dst: vlc_pgettext
      Src: /src/vlc/modules/video_output/xcb/window.c:922,1
    - Dst: set_wm_hints
      Src: /src/vlc/modules/video_output/xcb/window.c:924,1
    - Dst: xcb_change_property
      Src: /src/vlc/modules/video_output/xcb/window.c:925,1
    - Dst: set_hostname_prop
      Src: /src/vlc/modules/video_output/xcb/window.c:927,1
    - Dst: intern_string
      Src: /src/vlc/modules/video_output/xcb/window.c:931,1
    - Dst: intern_string
      Src: /src/vlc/modules/video_output/xcb/window.c:933,1
    - Dst: intern_string
      Src: /src/vlc/modules/video_output/xcb/window.c:935,1
    - Dst: intern_string
      Src: /src/vlc/modules/video_output/xcb/window.c:937,1
    - Dst: intern_string
      Src: /src/vlc/modules/video_output/xcb/window.c:939,1
    - Dst: intern_string
      Src: /src/vlc/modules/video_output/xcb/window.c:941,1
    - Dst: intern_string
      Src: /src/vlc/modules/video_output/xcb/window.c:943,1
    - Dst: intern_string
      Src: /src/vlc/modules/video_output/xcb/window.c:945,1
    - Dst: intern_string
      Src: /src/vlc/modules/video_output/xcb/window.c:947,1
    - Dst: get_atom
      Src: /src/vlc/modules/video_output/xcb/window.c:949,1
    - Dst: get_atom
      Src: /src/vlc/modules/video_output/xcb/window.c:950,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/xcb/window.c:951,1
    - Dst: set_string
      Src: /src/vlc/modules/video_output/xcb/window.c:955,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/window.c:956,1
    - Dst: set_string
      Src: /src/vlc/modules/video_output/xcb/window.c:959,1
    - Dst: _
      Src: /src/vlc/modules/video_output/xcb/window.c:959,1
    - Dst: get_atom
      Src: /src/vlc/modules/video_output/xcb/window.c:961,1
    - Dst: set_string
      Src: /src/vlc/modules/video_output/xcb/window.c:962,1
    - Dst: _
      Src: /src/vlc/modules/video_output/xcb/window.c:962,1
    - Dst: get_atom
      Src: /src/vlc/modules/video_output/xcb/window.c:964,1
    - Dst: set_ascii_prop
      Src: /src/vlc/modules/video_output/xcb/window.c:965,1
    - Dst: get_atom
      Src: /src/vlc/modules/video_output/xcb/window.c:968,1
    - Dst: get_atom
      Src: /src/vlc/modules/video_output/xcb/window.c:969,1
    - Dst: get_atom
      Src: /src/vlc/modules/video_output/xcb/window.c:970,1
    - Dst: get_atom
      Src: /src/vlc/modules/video_output/xcb/window.c:971,1
    - Dst: get_atom
      Src: /src/vlc/modules/video_output/xcb/window.c:972,1
    - Dst: vlc_latch_init
      Src: /src/vlc/modules/video_output/xcb/window.c:974,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/video_output/xcb/window.c:977,1
    - Dst: DeinitKeyboardExtension
      Src: /src/vlc/modules/video_output/xcb/window.c:979,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 7
    argNames:
    - wnd
    - display
    - conn
    - root
    - window
    - events
    - evroot
    argTypes:
    - vlc_window_t*
    - char*
    - xcb_connection_t*
    - xcb_window_t
    - xcb_window_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 871
    functionDepth: 3
    functionLinenumber: 871
    functionLinenumberEnd: 984
    functionName: OpenCommon
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 17
    functionsReached:
    - vlc_obj_malloc
    - set_ascii_prop
    - xcb_change_property
    - DeinitKeyboardExtension
    - set_hostname_prop
    - _
    - set_string
    - InitRandR
    - get_atom
    - xcb_change_window_attributes
    - vlc_latch_init
    - InitKeyboardExtension
    - VLC_UNUSED
    - set_wm_hints
    - var_InheritString
    - vlc_clone
    - intern_string
    - free
    - vlc_pgettext
    - VLC_OBJECT
    linkageType: ''
    returnType: int
    signature: "int OpenCommon(vlc_window_t *wnd, char *display, xcb_connection_t
      *conn,\n                      xcb_window_t root, xcb_window_t window, uint32_t
      events,\n                      uint32_t evroot)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/xcb/window.c:996,1
    - Dst: xcb_connect
      Src: /src/vlc/modules/video_output/xcb/window.c:999,1
    - Dst: xcb_connection_has_error
      Src: /src/vlc/modules/video_output/xcb/window.c:1000,1
    - Dst: xcb_get_setup
      Src: /src/vlc/modules/video_output/xcb/window.c:1004,1
    - Dst: xcb_setup_roots_iterator
      Src: /src/vlc/modules/video_output/xcb/window.c:1006,1
    - Dst: xcb_screen_next
      Src: /src/vlc/modules/video_output/xcb/window.c:1007,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/xcb/window.c:1018,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/xcb/window.c:1031,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/xcb/window.c:1033,1
    - Dst: xcb_generate_id
      Src: /src/vlc/modules/video_output/xcb/window.c:1037,1
    - Dst: xcb_create_window_checked
      Src: /src/vlc/modules/video_output/xcb/window.c:1038,1
    - Dst: xcb_request_check
      Src: /src/vlc/modules/video_output/xcb/window.c:1042,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/xcb/window.c:1045,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/window.c:1046,1
    - Dst: OpenCommon
      Src: /src/vlc/modules/video_output/xcb/window.c:1050,1
    - Dst: xcb_disconnect
      Src: /src/vlc/modules/video_output/xcb/window.c:1057,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/window.c:1058,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 989
    functionDepth: 1
    functionLinenumber: 989
    functionLinenumberEnd: 1060
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 67
    functionsReached:
    - xcb_get_setup
    - var_InheritString
    - xcb_setup_roots_iterator
    - xcb_generate_id
    - xcb_screen_next
    - var_InheritBool
    - OpenCommon
    - msg_Err
    - free
    - xcb_connect
    - xcb_connection_has_error
    - xcb_create_window_checked
    - xcb_disconnect
    - xcb_request_check
    linkageType: ''
    returnType: int
    signature: int Open(vlc_window_t *wnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_cancel
      Src: /src/vlc/modules/video_output/xcb/window.c:1071,1
    - Dst: vlc_join
      Src: /src/vlc/modules/video_output/xcb/window.c:1072,1
    - Dst: DeinitKeyboardExtension
      Src: /src/vlc/modules/video_output/xcb/window.c:1074,1
    - Dst: xcb_disconnect
      Src: /src/vlc/modules/video_output/xcb/window.c:1075,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/window.c:1076,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/window.c:1077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1066
    functionDepth: 2
    functionLinenumber: 1066
    functionLinenumberEnd: 1078
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 172
    functionsReached:
    - DeinitKeyboardExtension
    - vlc_cancel
    - free
    - vlc_join
    - xcb_disconnect
    linkageType: ''
    returnType: void
    signature: void Close (vlc_window_t *wnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: change_wm_state
      Src: /src/vlc/modules/video_output/xcb/window.c:1086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - wnd
    - cfg
    argTypes:
    - vlc_window_t*
    - vlc_window_cfg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1082
    functionDepth: 1
    functionLinenumber: 1082
    functionLinenumberEnd: 1088
    functionName: EmEnable
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 0
    functionsReached:
    - change_wm_state
    linkageType: ''
    returnType: int
    signature: int EmEnable(vlc_window_t *wnd, const vlc_window_cfg_t *restrict cfg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/xcb/window.c:1095,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/video_output/xcb/window.c:1095,1
    - Dst: var_Create
      Src: /src/vlc/modules/video_output/xcb/window.c:1099,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_output/xcb/window.c:1104,1
    - Dst: var_GetAddress
      Src: /src/vlc/modules/video_output/xcb/window.c:1105,1
    - Dst: realloc
      Src: /src/vlc/modules/video_output/xcb/window.c:1116,1
    - Dst: var_SetAddress
      Src: /src/vlc/modules/video_output/xcb/window.c:1121,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/xcb/window.c:1126,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_output/xcb/window.c:1129,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - obj
    - window
    argTypes:
    - vlc_object_t*
    - xcb_window_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1093
    functionDepth: 1
    functionLinenumber: 1093
    functionLinenumberEnd: 1132
    functionName: AcquireDrawable
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - var_GetAddress
    - var_SetAddress
    - realloc
    - vlc_object_instance
    - var_Create
    - VLC_OBJECT
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int AcquireDrawable (vlc_object_t *obj, xcb_window_t window)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/xcb/window.c:1137,1
    - Dst: vlc_object_instance
      Src: /src/vlc/modules/video_output/xcb/window.c:1137,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/video_output/xcb/window.c:1141,1
    - Dst: var_GetAddress
      Src: /src/vlc/modules/video_output/xcb/window.c:1142,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/xcb/window.c:1143,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/xcb/window.c:1146,1
    - Dst: var_SetAddress
      Src: /src/vlc/modules/video_output/xcb/window.c:1154,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/video_output/xcb/window.c:1158,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/window.c:1160,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/video_output/xcb/window.c:1163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - obj
    - window
    argTypes:
    - vlc_object_t*
    - xcb_window_t
    assertStmts:
    - condition: (used)
      pos:
        line_end: 1142
        line_start: 1142
        source_file: /src/vlc/modules/video_output/xcb/window.c
    - condition: (used[n])
      pos:
        line_end: 1145
        line_start: 1145
        source_file: /src/vlc/modules/video_output/xcb/window.c
    constantsTouched: []
    func_position:
      end: 1164
      start: 1135
    functionDepth: 1
    functionLinenumber: 1135
    functionLinenumberEnd: 1164
    functionName: ReleaseDrawable
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 0
    functionsReached:
    - var_Destroy
    - assert
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - var_GetAddress
    - var_SetAddress
    - vlc_object_instance
    - free
    - VLC_OBJECT
    linkageType: ''
    returnType: void
    signature: void ReleaseDrawable (vlc_object_t *obj, xcb_window_t window)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/xcb/window.c:1182,1
    - Dst: AcquireDrawable
      Src: /src/vlc/modules/video_output/xcb/window.c:1186,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/xcb/window.c:1186,1
    - Dst: xcb_connect
      Src: /src/vlc/modules/video_output/xcb/window.c:1189,1
    - Dst: xcb_connection_has_error
      Src: /src/vlc/modules/video_output/xcb/window.c:1190,1
    - Dst: xcb_change_window_attributes
      Src: /src/vlc/modules/video_output/xcb/window.c:1199,1
    - Dst: xcb_get_geometry_reply
      Src: /src/vlc/modules/video_output/xcb/window.c:1202,1
    - Dst: xcb_get_geometry
      Src: /src/vlc/modules/video_output/xcb/window.c:1202,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/xcb/window.c:1205,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/window.c:1209,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/xcb/window.c:1213,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/xcb/window.c:1215,1
    - Dst: xcb_change_window_attributes
      Src: /src/vlc/modules/video_output/xcb/window.c:1218,1
    - Dst: OpenCommon
      Src: /src/vlc/modules/video_output/xcb/window.c:1221,1
    - Dst: xcb_disconnect
      Src: /src/vlc/modules/video_output/xcb/window.c:1229,1
    - Dst: ReleaseDrawable
      Src: /src/vlc/modules/video_output/xcb/window.c:1230,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/xcb/window.c:1230,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1179
    functionDepth: 2
    functionLinenumber: 1179
    functionLinenumberEnd: 1232
    functionName: EmOpen
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 0
    functionsReached:
    - ReleaseDrawable
    - var_InheritInteger
    - var_InheritBool
    - msg_Err
    - xcb_change_window_attributes
    - xcb_connect
    - xcb_get_geometry
    - AcquireDrawable
    - xcb_get_geometry_reply
    - free
    - xcb_connection_has_error
    - VLC_OBJECT
    - OpenCommon
    - xcb_disconnect
    linkageType: ''
    returnType: int
    signature: int EmOpen (vlc_window_t *wnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/vlc/modules/video_output/xcb/window.c:1238,1
    - Dst: ReleaseDrawable
      Src: /src/vlc/modules/video_output/xcb/window.c:1239,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/xcb/window.c:1239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wnd
    argTypes:
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1234
    functionDepth: 2
    functionLinenumber: 1234
    functionLinenumberEnd: 1240
    functionName: EmClose
    functionSourceFile: /src/vlc/modules/video_output/xcb/window.c
    functionUses: 0
    functionsReached:
    - Close
    - ReleaseDrawable
    - VLC_OBJECT
    linkageType: ''
    returnType: void
    signature: void EmClose (vlc_window_t *wnd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_dup
      Src: /src/vlc/modules/video_output/xcb/render.c:94,1
    - Dst: xcb_shm_attach_fd_checked
      Src: /src/vlc/modules/video_output/xcb/render.c:98,1
    - Dst: xcb_request_check
      Src: /src/vlc/modules/video_output/xcb/render.c:99,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/render.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - vd
    - pic
    argTypes:
    - vout_display_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 106
    functionName: PictureAttach
    functionSourceFile: /src/vlc/modules/video_output/xcb/render.c
    functionUses: 2
    functionsReached:
    - xcb_shm_attach_fd_checked
    - xcb_request_check
    - free
    - vlc_dup
    linkageType: ''
    returnType: size_t
    signature: size_t PictureAttach(vout_display_t *vd, picture_t *pic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcb_shm_detach
      Src: /src/vlc/modules/video_output/xcb/render.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: PictureDetach
    functionSourceFile: /src/vlc/modules/video_output/xcb/render.c
    functionUses: 0
    functionsReached:
    - xcb_shm_detach
    linkageType: ''
    returnType: void
    signature: void PictureDetach(vout_display_t *vd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/xcb/render.c:124,1
    - Dst: xcb_create_pixmap
      Src: /src/vlc/modules/video_output/xcb/render.c:126,1
    - Dst: xcb_create_pixmap
      Src: /src/vlc/modules/video_output/xcb/render.c:128,1
    - Dst: xcb_create_pixmap
      Src: /src/vlc/modules/video_output/xcb/render.c:129,1
    - Dst: xcb_render_create_picture
      Src: /src/vlc/modules/video_output/xcb/render.c:130,1
    - Dst: xcb_render_create_picture
      Src: /src/vlc/modules/video_output/xcb/render.c:132,1
    - Dst: xcb_render_create_picture
      Src: /src/vlc/modules/video_output/xcb/render.c:134,1
    - Dst: xcb_put_image
      Src: /src/vlc/modules/video_output/xcb/render.c:138,1
    - Dst: xcb_render_composite
      Src: /src/vlc/modules/video_output/xcb/render.c:144,1
    - Dst: xcb_render_composite
      Src: /src/vlc/modules/video_output/xcb/render.c:151,1
    - Dst: xcb_render_fill_rectangles
      Src: /src/vlc/modules/video_output/xcb/render.c:161,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/xcb/render.c:163,1
    - Dst: lroundf
      Src: /src/vlc/modules/video_output/xcb/render.c:168,1
    - Dst: xcb_render_fill_rectangles
      Src: /src/vlc/modules/video_output/xcb/render.c:170,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/xcb/render.c:172,1
    - Dst: xcb_render_set_picture_transform
      Src: /src/vlc/modules/video_output/xcb/render.c:191,1
    - Dst: xcb_render_set_picture_transform
      Src: /src/vlc/modules/video_output/xcb/render.c:192,1
    - Dst: likely
      Src: /src/vlc/modules/video_output/xcb/render.c:194,1
    - Dst: xcb_render_set_picture_filter
      Src: /src/vlc/modules/video_output/xcb/render.c:196,1
    - Dst: strlen
      Src: /src/vlc/modules/video_output/xcb/render.c:197,1
    - Dst: xcb_render_set_picture_filter
      Src: /src/vlc/modules/video_output/xcb/render.c:199,1
    - Dst: strlen
      Src: /src/vlc/modules/video_output/xcb/render.c:200,1
    - Dst: xcb_render_composite
      Src: /src/vlc/modules/video_output/xcb/render.c:204,1
    - Dst: xcb_render_free_picture
      Src: /src/vlc/modules/video_output/xcb/render.c:210,1
    - Dst: xcb_render_free_picture
      Src: /src/vlc/modules/video_output/xcb/render.c:211,1
    - Dst: xcb_render_free_picture
      Src: /src/vlc/modules/video_output/xcb/render.c:212,1
    - Dst: xcb_free_pixmap
      Src: /src/vlc/modules/video_output/xcb/render.c:213,1
    - Dst: xcb_free_pixmap
      Src: /src/vlc/modules/video_output/xcb/render.c:214,1
    - Dst: xcb_free_pixmap
      Src: /src/vlc/modules/video_output/xcb/render.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 3
    argNames:
    - vd
    - subpic
    - reg
    argTypes:
    - vout_display_t*
    - vlc_render_subpicture*
    - struct subpicture_region_rendered*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 216
    functionName: RenderRegion
    functionSourceFile: /src/vlc/modules/video_output/xcb/render.c
    functionUses: 1
    functionsReached:
    - xcb_free_pixmap
    - xcb_render_create_picture
    - xcb_put_image
    - ARRAY_SIZE
    - strlen
    - xcb_render_set_picture_filter
    - xcb_create_pixmap
    - xcb_render_composite
    - xcb_render_set_picture_transform
    - likely
    - xcb_render_fill_rectangles
    - xcb_render_free_picture
    - lroundf
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void RenderRegion(vout_display_t *vd, const vlc_render_subpicture
      *subpic,\n                         const struct subpicture_region_rendered *reg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PictureAttach
      Src: /src/vlc/modules/video_output/xcb/render.c:227,1
    - Dst: xcb_shm_put_image
      Src: /src/vlc/modules/video_output/xcb/render.c:229,1
    - Dst: xcb_put_image
      Src: /src/vlc/modules/video_output/xcb/render.c:236,1
    - Dst: xcb_render_composite
      Src: /src/vlc/modules/video_output/xcb/render.c:243,1
    - Dst: xcb_render_fill_rectangles
      Src: /src/vlc/modules/video_output/xcb/render.c:255,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/xcb/render.c:257,1
    - Dst: xcb_render_composite
      Src: /src/vlc/modules/video_output/xcb/render.c:260,1
    - Dst: PictureDetach
      Src: /src/vlc/modules/video_output/xcb/render.c:266,1
    - Dst: vlc_vector_foreach
      Src: /src/vlc/modules/video_output/xcb/render.c:272,1
    - Dst: RenderRegion
      Src: /src/vlc/modules/video_output/xcb/render.c:273,1
    - Dst: xcb_flush
      Src: /src/vlc/modules/video_output/xcb/render.c:276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - vd
    - pic
    - subpic
    - date
    argTypes:
    - vout_display_t*
    - picture_t*
    - vlc_render_subpicture*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 278
    functionName: Prepare
    functionSourceFile: /src/vlc/modules/video_output/xcb/render.c
    functionUses: 54
    functionsReached:
    - xcb_put_image
    - ARRAY_SIZE
    - xcb_flush
    - vlc_vector_foreach
    - xcb_shm_put_image
    - PictureAttach
    - xcb_render_composite
    - xcb_render_fill_rectangles
    - PictureDetach
    - RenderRegion
    linkageType: ''
    returnType: void
    signature: "void Prepare(vout_display_t *vd, picture_t *pic,\n                    const
      vlc_render_subpicture *subpic,\n                    vlc_tick_t date)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_xcb_Manage
      Src: /src/vlc/modules/video_output/xcb/render.c:286,1
    - Dst: xcb_render_composite_checked
      Src: /src/vlc/modules/video_output/xcb/render.c:291,1
    - Dst: xcb_request_check
      Src: /src/vlc/modules/video_output/xcb/render.c:298,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/xcb/render.c:300,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/render.c:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - vd
    - pic
    argTypes:
    - vout_display_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 305
    functionName: Display
    functionSourceFile: /src/vlc/modules/video_output/xcb/render.c
    functionUses: 50
    functionsReached:
    - xcb_render_composite_checked
    - free
    - vlc_xcb_Manage
    - msg_Dbg
    - xcb_request_check
    linkageType: ''
    returnType: void
    signature: void Display(vout_display_t *vd, picture_t *pic)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: xcb_create_pixmap
      Src: /src/vlc/modules/video_output/xcb/render.c:313,1
    - Dst: xcb_create_pixmap
      Src: /src/vlc/modules/video_output/xcb/render.c:315,1
    - Dst: xcb_render_create_picture
      Src: /src/vlc/modules/video_output/xcb/render.c:317,1
    - Dst: xcb_render_create_picture
      Src: /src/vlc/modules/video_output/xcb/render.c:319,1
    - Dst: ORIENT_IS_SWAP
      Src: /src/vlc/modules/video_output/xcb/render.c:364,1
    - Dst: xcb_render_set_picture_transform
      Src: /src/vlc/modules/video_output/xcb/render.c:372,1
    - Dst: likely
      Src: /src/vlc/modules/video_output/xcb/render.c:374,1
    - Dst: xcb_render_set_picture_filter
      Src: /src/vlc/modules/video_output/xcb/render.c:375,1
    - Dst: strlen
      Src: /src/vlc/modules/video_output/xcb/render.c:376,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 378
    functionName: CreateBuffers
    functionSourceFile: /src/vlc/modules/video_output/xcb/render.c
    functionUses: 0
    functionsReached:
    - xcb_render_create_picture
    - strlen
    - xcb_create_pixmap
    - xcb_render_set_picture_transform
    - likely
    - ORIENT_IS_SWAP
    - xcb_render_set_picture_filter
    linkageType: ''
    returnType: void
    signature: void CreateBuffers(vout_display_t *vd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcb_render_free_picture
      Src: /src/vlc/modules/video_output/xcb/render.c:385,1
    - Dst: xcb_render_free_picture
      Src: /src/vlc/modules/video_output/xcb/render.c:386,1
    - Dst: xcb_free_pixmap
      Src: /src/vlc/modules/video_output/xcb/render.c:387,1
    - Dst: xcb_free_pixmap
      Src: /src/vlc/modules/video_output/xcb/render.c:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 389
    functionName: DeleteBuffers
    functionSourceFile: /src/vlc/modules/video_output/xcb/render.c
    functionUses: 11
    functionsReached:
    - xcb_render_free_picture
    - xcb_free_pixmap
    linkageType: ''
    returnType: void
    signature: void DeleteBuffers(vout_display_t *vd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeleteBuffers
      Src: /src/vlc/modules/video_output/xcb/render.c:395,1
    - Dst: CreateBuffers
      Src: /src/vlc/modules/video_output/xcb/render.c:396,1
    - Dst: xcb_flush
      Src: /src/vlc/modules/video_output/xcb/render.c:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 399
    functionName: UpdateOutput
    functionSourceFile: /src/vlc/modules/video_output/xcb/render.c
    functionUses: 7
    functionsReached:
    - xcb_flush
    - CreateBuffers
    - DeleteBuffers
    linkageType: ''
    returnType: int
    signature: int UpdateOutput(vout_display_t *vd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcb_configure_window
      Src: /src/vlc/modules/video_output/xcb/render.c:411,1
    - Dst: DeleteBuffers
      Src: /src/vlc/modules/video_output/xcb/render.c:412,1
    - Dst: CreateBuffers
      Src: /src/vlc/modules/video_output/xcb/render.c:413,1
    - Dst: xcb_flush
      Src: /src/vlc/modules/video_output/xcb/render.c:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - vd
    - width
    - height
    argTypes:
    - vout_display_t*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 416
    functionName: SetDisplaySize
    functionSourceFile: /src/vlc/modules/video_output/xcb/render.c
    functionUses: 1
    functionsReached:
    - xcb_flush
    - CreateBuffers
    - DeleteBuffers
    - xcb_configure_window
    linkageType: ''
    returnType: int
    signature: int SetDisplaySize(vout_display_t *vd, unsigned width, unsigned height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/xcb/render.c:420,1
    - Dst: UpdateOutput
      Src: /src/vlc/modules/video_output/xcb/render.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vd
    - place
    argTypes:
    - vout_display_t*
    - vout_display_place_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 422
    functionName: PlacementChanged
    functionSourceFile: /src/vlc/modules/video_output/xcb/render.c
    functionUses: 5
    functionsReached:
    - UpdateOutput
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int PlacementChanged(vout_display_t *vd, const vout_display_place_t
      *place)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/xcb/render.c:426,1
    - Dst: PlacementChanged
      Src: /src/vlc/modules/video_output/xcb/render.c:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vd
    - source
    argTypes:
    - vout_display_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 428
    functionName: AspectChanged
    functionSourceFile: /src/vlc/modules/video_output/xcb/render.c
    functionUses: 0
    functionsReached:
    - PlacementChanged
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int AspectChanged(vout_display_t *vd, const video_format_t *source)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xcb_render_query_version
      Src: /src/vlc/modules/video_output/xcb/render.c:439,1
    - Dst: xcb_render_query_version_reply
      Src: /src/vlc/modules/video_output/xcb/render.c:440,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/xcb/render.c:443,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/xcb/render.c:445,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/xcb/render.c:448,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/xcb/render.c:451,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/render.c:455,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - vd
    - conn
    argTypes:
    - vout_display_t*
    - xcb_connection_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 457
    functionName: CheckRender
    functionSourceFile: /src/vlc/modules/video_output/xcb/render.c
    functionUses: 0
    functionsReached:
    - xcb_render_query_version_reply
    - msg_Err
    - free
    - msg_Dbg
    - xcb_render_query_version
    linkageType: ''
    returnType: bool
    signature: bool CheckRender(vout_display_t *vd, xcb_connection_t *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/render.c:463,1
    - Dst: xcb_disconnect
      Src: /src/vlc/modules/video_output/xcb/render.c:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 465
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/xcb/render.c
    functionUses: 173
    functionsReached:
    - free
    - xcb_disconnect
    linkageType: ''
    returnType: void
    signature: void Close(vout_display_t *vd)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: vlc_xcb_DepthToPixmapFormat
      Src: /src/vlc/modules/video_output/xcb/render.c:474,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/xcb/render.c:476,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 42
    argCount: 2
    argNames:
    - setup
    - pfi
    argTypes:
    - xcb_setup_t*
    - xcb_render_pictforminfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 539
    functionName: ParseFormat
    functionSourceFile: /src/vlc/modules/video_output/xcb/render.c
    functionUses: 0
    functionsReached:
    - vlc_xcb_DepthToPixmapFormat
    - unlikely
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: "vlc_fourcc_t ParseFormat(const xcb_setup_t *setup,\n                                const
      xcb_render_pictforminfo_t *pfi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xcb_setup_roots_iterator
      Src: /src/vlc/modules/video_output/xcb/render.c:546,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/xcb/render.c:550,1
    - Dst: xcb_screen_next
      Src: /src/vlc/modules/video_output/xcb/render.c:552,1
    - Dst: xcb_render_query_pict_formats_screens_iterator
      Src: /src/vlc/modules/video_output/xcb/render.c:556,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/xcb/render.c:559,1
    - Dst: xcb_render_pictscreen_next
      Src: /src/vlc/modules/video_output/xcb/render.c:563,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - setup
    - scr
    - r
    argTypes:
    - xcb_setup_t*
    - xcb_screen_t*
    - xcb_render_query_pict_formats_reply_t*
    assertStmts:
    - condition: (si.rem > 0)
      pos:
        line_end: 549
        line_start: 549
        source_file: /src/vlc/modules/video_output/xcb/render.c
    constantsTouched: []
    func_position:
      end: 566
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 566
    functionName: FindPictScreen
    functionSourceFile: /src/vlc/modules/video_output/xcb/render.c
    functionUses: 0
    functionsReached:
    - assert
    - xcb_setup_roots_iterator
    - xcb_screen_next
    - xcb_render_pictscreen_next
    - xcb_render_query_pict_formats_screens_iterator
    - unlikely
    linkageType: ''
    returnType: xcb_render_pictscreen_t
    signature: "xcb_render_pictscreen_t *\nFindPictScreen(const xcb_setup_t *setup,
      const xcb_screen_t *scr,\n               const xcb_render_query_pict_formats_reply_t
      *r)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FindPictScreen
      Src: /src/vlc/modules/video_output/xcb/render.c:574,1
    - Dst: xcb_render_pictscreen_depths_iterator
      Src: /src/vlc/modules/video_output/xcb/render.c:579,1
    - Dst: xcb_render_pictdepth_visuals_iterator
      Src: /src/vlc/modules/video_output/xcb/render.c:584,1
    - Dst: xcb_render_pictvisual_next
      Src: /src/vlc/modules/video_output/xcb/render.c:592,1
    - Dst: xcb_render_pictdepth_next
      Src: /src/vlc/modules/video_output/xcb/render.c:594,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - setup
    - scr
    - r
    - fmt_id
    argTypes:
    - xcb_setup_t*
    - xcb_screen_t*
    - xcb_render_query_pict_formats_reply_t*
    - xcb_render_pictformat_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 569
    functionDepth: 2
    functionLinenumber: 569
    functionLinenumberEnd: 597
    functionName: FindVisual
    functionSourceFile: /src/vlc/modules/video_output/xcb/render.c
    functionUses: 0
    functionsReached:
    - xcb_render_pictdepth_next
    - FindPictScreen
    - xcb_render_pictscreen_depths_iterator
    - xcb_render_pictdepth_visuals_iterator
    - xcb_render_pictvisual_next
    linkageType: ''
    returnType: xcb_visualid_t
    signature: "xcb_visualid_t FindVisual(const xcb_setup_t *setup, const xcb_screen_t
      *scr,\n           const xcb_render_query_pict_formats_reply_t *r,\n           xcb_render_pictformat_t
      fmt_id)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/xcb/render.c:615,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/video_output/xcb/render.c:618,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/xcb/render.c:619,1
    - Dst: vlc_xcb_parent_Create
      Src: /src/vlc/modules/video_output/xcb/render.c:628,1
    - Dst: CheckRender
      Src: /src/vlc/modules/video_output/xcb/render.c:637,1
    - Dst: xcb_render_query_pict_formats
      Src: /src/vlc/modules/video_output/xcb/render.c:641,1
    - Dst: xcb_render_query_pict_formats_reply
      Src: /src/vlc/modules/video_output/xcb/render.c:643,1
    - Dst: xcb_get_setup
      Src: /src/vlc/modules/video_output/xcb/render.c:647,1
    - Dst: xcb_render_query_pict_formats_formats
      Src: /src/vlc/modules/video_output/xcb/render.c:649,1
    - Dst: FindVisual
      Src: /src/vlc/modules/video_output/xcb/render.c:661,1
    - Dst: ParseFormat
      Src: /src/vlc/modules/video_output/xcb/render.c:669,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/render.c:678,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/xcb/render.c:680,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/xcb/render.c:683,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/xcb/render.c:684,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/xcb/render.c:686,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/xcb/render.c:688,1
    - Dst: ToCharset
      Src: /src/vlc/modules/video_output/xcb/render.c:689,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/render.c:690,1
    - Dst: xcb_generate_id
      Src: /src/vlc/modules/video_output/xcb/render.c:694,1
    - Dst: xcb_generate_id
      Src: /src/vlc/modules/video_output/xcb/render.c:695,1
    - Dst: xcb_generate_id
      Src: /src/vlc/modules/video_output/xcb/render.c:696,1
    - Dst: xcb_generate_id
      Src: /src/vlc/modules/video_output/xcb/render.c:697,1
    - Dst: xcb_generate_id
      Src: /src/vlc/modules/video_output/xcb/render.c:698,1
    - Dst: xcb_generate_id
      Src: /src/vlc/modules/video_output/xcb/render.c:699,1
    - Dst: xcb_generate_id
      Src: /src/vlc/modules/video_output/xcb/render.c:700,1
    - Dst: xcb_generate_id
      Src: /src/vlc/modules/video_output/xcb/render.c:701,1
    - Dst: xcb_generate_id
      Src: /src/vlc/modules/video_output/xcb/render.c:702,1
    - Dst: xcb_generate_id
      Src: /src/vlc/modules/video_output/xcb/render.c:703,1
    - Dst: xcb_generate_id
      Src: /src/vlc/modules/video_output/xcb/render.c:704,1
    - Dst: xcb_generate_id
      Src: /src/vlc/modules/video_output/xcb/render.c:705,1
    - Dst: xcb_generate_id
      Src: /src/vlc/modules/video_output/xcb/render.c:706,1
    - Dst: xcb_generate_id
      Src: /src/vlc/modules/video_output/xcb/render.c:707,1
    - Dst: xcb_generate_id
      Src: /src/vlc/modules/video_output/xcb/render.c:708,1
    - Dst: XCB_shm_Check
      Src: /src/vlc/modules/video_output/xcb/render.c:710,1
    - Dst: xcb_generate_id
      Src: /src/vlc/modules/video_output/xcb/render.c:711,1
    - Dst: xcb_generate_id
      Src: /src/vlc/modules/video_output/xcb/render.c:715,1
    - Dst: xcb_create_colormap
      Src: /src/vlc/modules/video_output/xcb/render.c:729,1
    - Dst: xcb_create_pixmap
      Src: /src/vlc/modules/video_output/xcb/render.c:731,1
    - Dst: xcb_create_gc
      Src: /src/vlc/modules/video_output/xcb/render.c:733,1
    - Dst: xcb_create_window
      Src: /src/vlc/modules/video_output/xcb/render.c:734,1
    - Dst: xcb_render_create_picture
      Src: /src/vlc/modules/video_output/xcb/render.c:737,1
    - Dst: xcb_render_create_picture
      Src: /src/vlc/modules/video_output/xcb/render.c:739,1
    - Dst: CreateBuffers
      Src: /src/vlc/modules/video_output/xcb/render.c:741,1
    - Dst: xcb_map_window
      Src: /src/vlc/modules/video_output/xcb/render.c:742,1
    - Dst: xcb_disconnect
      Src: /src/vlc/modules/video_output/xcb/render.c:754,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 79
    argCount: 3
    argNames:
    - vd
    - fmtp
    - ctx
    argTypes:
    - vout_display_t*
    - video_format_t*
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 612
    functionDepth: 3
    functionLinenumber: 612
    functionLinenumberEnd: 756
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/xcb/render.c
    functionUses: 67
    functionsReached:
    - vlc_obj_malloc
    - xcb_generate_id
    - xcb_create_pixmap
    - FindVisual
    - xcb_create_colormap
    - xcb_create_gc
    - xcb_render_query_pict_formats_reply
    - xcb_get_setup
    - ParseFormat
    - XCB_shm_Check
    - msg_Dbg
    - ToCharset
    - vlc_xcb_parent_Create
    - xcb_render_create_picture
    - xcb_render_query_pict_formats
    - xcb_render_query_pict_formats_formats
    - xcb_map_window
    - xcb_create_window
    - var_InheritString
    - free
    - CheckRender
    - CreateBuffers
    - VLC_OBJECT
    - xcb_disconnect
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int Open(vout_display_t *vd,\n                video_format_t *fmtp,
      vlc_video_context *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xcb_setup_pixmap_formats
      Src: /src/vlc/modules/video_output/xcb/pictures.c:44,1
    - Dst: xcb_setup_pixmap_formats_length
      Src: /src/vlc/modules/video_output/xcb/pictures.c:46,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/xcb/pictures.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - setup
    - depth
    argTypes:
    - xcb_setup_t*
    - uint_fast8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: vlc_xcb_DepthToPixmapFormat
    functionSourceFile: /src/vlc/modules/video_output/xcb/pictures.c
    functionUses: 1
    functionsReached:
    - xcb_setup_pixmap_formats
    - xcb_setup_pixmap_formats_length
    - unlikely
    linkageType: ''
    returnType: xcb_format_t
    signature: "xcb_format_t *vlc_xcb_DepthToPixmapFormat(const xcb_setup_t *setup,\n
      \                                               uint_fast8_t depth)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: stdc_count_ones
      Src: /src/vlc/modules/video_output/xcb/pictures.c:70,1
    - Dst: stdc_count_ones
      Src: /src/vlc/modules/video_output/xcb/pictures.c:71,1
    - Dst: stdc_count_ones
      Src: /src/vlc/modules/video_output/xcb/pictures.c:72,1
    - Dst: stdc_count_ones
      Src: /src/vlc/modules/video_output/xcb/pictures.c:77,1
    - Dst: stdc_count_ones
      Src: /src/vlc/modules/video_output/xcb/pictures.c:78,1
    - Dst: stdc_count_ones
      Src: /src/vlc/modules/video_output/xcb/pictures.c:79,1
    - Dst: vlc_xcb_DepthToPixmapFormat
      Src: /src/vlc/modules/video_output/xcb/pictures.c:98,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/xcb/pictures.c:99,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/video_output/xcb/pictures.c:220,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 90
    argCount: 4
    argNames:
    - setup
    - depth
    - vt
    - f
    argTypes:
    - xcb_setup_t*
    - uint_fast8_t
    - xcb_visualtype_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 224
    functionName: vlc_xcb_VisualToFormat
    functionSourceFile: /src/vlc/modules/video_output/xcb/pictures.c
    functionUses: 1
    functionsReached:
    - stdc_count_ones
    - vlc_xcb_DepthToPixmapFormat
    - unlikely
    - vlc_assert_unreachable
    linkageType: ''
    returnType: bool
    signature: "bool vlc_xcb_VisualToFormat(const xcb_setup_t *setup, uint_fast8_t
      depth,\n                            const xcb_visualtype_t *vt,\n                            video_format_t
      *restrict f)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xcb_shm_query_version
      Src: /src/vlc/modules/video_output/xcb/pictures.c:232,1
    - Dst: xcb_shm_query_version_reply
      Src: /src/vlc/modules/video_output/xcb/pictures.c:233,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/xcb/pictures.c:236,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/xcb/pictures.c:240,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/xcb/pictures.c:245,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/pictures.c:246,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/pictures.c:250,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/xcb/pictures.c:253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - obj
    - conn
    argTypes:
    - vlc_object_t*
    - xcb_connection_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 255
    functionName: XCB_shm_Check
    functionSourceFile: /src/vlc/modules/video_output/xcb/pictures.c
    functionUses: 2
    functionsReached:
    - msg_Err
    - xcb_shm_query_version_reply
    - free
    - msg_Dbg
    - msg_Warn
    - xcb_shm_query_version
    linkageType: ''
    returnType: bool
    signature: bool XCB_shm_Check (vlc_object_t *obj, xcb_connection_t *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xcb_request_check
      Src: /src/vlc/modules/video_output/xcb/events.c:48,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/events.c:53,1
    - Dst: vlc_error
      Src: /src/vlc/modules/video_output/xcb/events.c:54,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/xcb/events.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - log
    - conn
    - str
    - ck
    argTypes:
    - struct vlc_logger*
    - xcb_connection_t*
    - char*
    - xcb_void_cookie_t
    assertStmts:
    - condition: (code != 0)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/vlc/modules/video_output/xcb/events.c
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: vlc_xcb_error_Check
    functionSourceFile: /src/vlc/modules/video_output/xcb/events.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_error
    - xcb_request_check
    - assert
    linkageType: ''
    returnType: int
    signature: "int vlc_xcb_error_Check(struct vlc_logger *log, xcb_connection_t *conn,\n
      \                       const char *str, xcb_void_cookie_t ck)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xcb_connect
      Src: /src/vlc/modules/video_output/xcb/events.c:66,1
    - Dst: xcb_connection_has_error
      Src: /src/vlc/modules/video_output/xcb/events.c:67,1
    - Dst: vlc_error
      Src: /src/vlc/modules/video_output/xcb/events.c:69,1
    - Dst: xcb_disconnect
      Src: /src/vlc/modules/video_output/xcb/events.c:71,1
    - Dst: xcb_get_setup
      Src: /src/vlc/modules/video_output/xcb/events.c:75,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/video_output/xcb/events.c:76,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/video_output/xcb/events.c:78,1
    - Dst: xcb_setup_vendor
      Src: /src/vlc/modules/video_output/xcb/events.c:79,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/video_output/xcb/events.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - log
    - display
    argTypes:
    - struct vlc_logger*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 82
    functionName: Connect
    functionSourceFile: /src/vlc/modules/video_output/xcb/events.c
    functionUses: 17
    functionsReached:
    - xcb_get_setup
    - xcb_connect
    - xcb_disconnect
    - xcb_connection_has_error
    - vlc_debug
    - xcb_setup_vendor
    - vlc_error
    linkageType: ''
    returnType: xcb_connection_t
    signature: xcb_connection_t *Connect(struct vlc_logger *log, const char *display)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xcb_get_setup
      Src: /src/vlc/modules/video_output/xcb/events.c:92,1
    - Dst: xcb_setup_roots_iterator
      Src: /src/vlc/modules/video_output/xcb/events.c:93,1
    - Dst: xcb_screen_next
      Src: /src/vlc/modules/video_output/xcb/events.c:94,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/video_output/xcb/events.c:98,1
    - Dst: vlc_error
      Src: /src/vlc/modules/video_output/xcb/events.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - log
    - conn
    - root
    argTypes:
    - struct vlc_logger*
    - xcb_connection_t*
    - xcb_window_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 104
    functionName: FindScreen
    functionSourceFile: /src/vlc/modules/video_output/xcb/events.c
    functionUses: 0
    functionsReached:
    - xcb_get_setup
    - xcb_setup_roots_iterator
    - xcb_screen_next
    - vlc_debug
    - vlc_error
    linkageType: ''
    returnType: xcb_screen_t
    signature: "xcb_screen_t *FindScreen(struct vlc_logger *log,\n                                      xcb_connection_t
      *conn,\n                                      xcb_window_t root)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_error
      Src: /src/vlc/modules/video_output/xcb/events.c:112,1
    - Dst: Connect
      Src: /src/vlc/modules/video_output/xcb/events.c:116,1
    - Dst: xcb_get_geometry_reply
      Src: /src/vlc/modules/video_output/xcb/events.c:122,1
    - Dst: xcb_get_geometry
      Src: /src/vlc/modules/video_output/xcb/events.c:122,1
    - Dst: vlc_error
      Src: /src/vlc/modules/video_output/xcb/events.c:126,1
    - Dst: FindScreen
      Src: /src/vlc/modules/video_output/xcb/events.c:130,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/events.c:131,1
    - Dst: xcb_disconnect
      Src: /src/vlc/modules/video_output/xcb/events.c:139,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - log
    - wnd
    - pconn
    - pscreen
    argTypes:
    - struct vlc_logger*
    - vlc_window_t*
    - xcb_connection_t**
    - xcb_screen_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 141
    functionName: vlc_xcb_parent_Create
    functionSourceFile: /src/vlc/modules/video_output/xcb/events.c
    functionUses: 3
    functionsReached:
    - xcb_get_geometry
    - free
    - xcb_get_geometry_reply
    - xcb_disconnect
    - vlc_error
    - Connect
    - FindScreen
    linkageType: ''
    returnType: int
    signature: "int vlc_xcb_parent_Create(struct vlc_logger *log, const vlc_window_t
      *wnd,\n                          xcb_connection_t **restrict pconn,\n                          const
      xcb_screen_t **restrict pscreen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_debug
      Src: /src/vlc/modules/video_output/xcb/events.c:154,1
    - Dst: free
      Src: /src/vlc/modules/video_output/xcb/events.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - log
    - ev
    argTypes:
    - struct vlc_logger*
    - xcb_generic_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 159
    functionName: ProcessEvent
    functionSourceFile: /src/vlc/modules/video_output/xcb/events.c
    functionUses: 1
    functionsReached:
    - free
    - vlc_debug
    linkageType: ''
    returnType: int
    signature: int ProcessEvent(struct vlc_logger *log, xcb_generic_event_t *ev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xcb_poll_for_event
      Src: /src/vlc/modules/video_output/xcb/events.c:165,1
    - Dst: ProcessEvent
      Src: /src/vlc/modules/video_output/xcb/events.c:166,1
    - Dst: xcb_connection_has_error
      Src: /src/vlc/modules/video_output/xcb/events.c:168,1
    - Dst: vlc_error
      Src: /src/vlc/modules/video_output/xcb/events.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - log
    - conn
    argTypes:
    - struct vlc_logger*
    - xcb_connection_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 175
    functionName: vlc_xcb_Manage
    functionSourceFile: /src/vlc/modules/video_output/xcb/events.c
    functionUses: 2
    functionsReached:
    - vlc_error
    - xcb_poll_for_event
    - xcb_connection_has_error
    - ProcessEvent
    linkageType: ''
    returnType: int
    signature: int vlc_xcb_Manage(struct vlc_logger *log, xcb_connection_t *conn)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: cmpkey
    functionSourceFile: /src/vlc/modules/video_output/xcb/keysym.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmpkey (const void *va, const void *vb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/modules/video_output/xcb/keysym.c:63,1
    - Dst: printf
      Src: /src/vlc/modules/video_output/xcb/keysym.c:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - node
    - which
    - depth
    argTypes:
    - void*
    - VISIT
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 67
    functionName: printkey
    functionSourceFile: /src/vlc/modules/video_output/xcb/keysym.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void printkey (const void *node, const VISIT which, const int depth)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getline
      Src: /src/vlc/modules/video_output/xcb/keysym.c:76,1
    - Dst: malloc
      Src: /src/vlc/modules/video_output/xcb/keysym.c:78,1
    - Dst: abort
      Src: /src/vlc/modules/video_output/xcb/keysym.c:80,1
    - Dst: sscanf
      Src: /src/vlc/modules/video_output/xcb/keysym.c:82,1
    - Dst: puts
      Src: /src/vlc/modules/video_output/xcb/keysym.c:101,1
    - Dst: puts
      Src: /src/vlc/modules/video_output/xcb/keysym.c:102,1
    - Dst: twalk
      Src: /src/vlc/modules/video_output/xcb/keysym.c:103,1
    - Dst: tdestroy
      Src: /src/vlc/modules/video_output/xcb/keysym.c:104,1
    - Dst: ferror
      Src: /src/vlc/modules/video_output/xcb/keysym.c:106,1
    - Dst: perror
      Src: /src/vlc/modules/video_output/xcb/keysym.c:108,1
    - Dst: parse
      Src: /src/vlc/modules/video_output/xcb/keysym.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - in
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 118
    functionName: parse
    functionSourceFile: /src/vlc/modules/video_output/xcb/keysym.c
    functionUses: 47
    functionsReached:
    - sscanf
    - abort
    - twalk
    - tdestroy
    - ferror
    - perror
    - getline
    - parse
    - malloc
    - puts
    linkageType: ''
    returnType: int
    signature: int parse (FILE *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse
      Src: /src/vlc/modules/video_output/xcb/keysym.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: main
    functionSourceFile: /src/vlc/modules/video_output/xcb/keysym.c
    functionUses: 10
    functionsReached:
    - parse
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pa
    - pb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: keysymcmp
    functionSourceFile: /src/vlc/modules/video_output/xcb/xkb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int keysymcmp (const void *pa, const void *pb)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/xcb/xkb.c:68,1
    - Dst: fprintf
      Src: /src/vlc/modules/video_output/xcb/xkb.c:71,1
    - Dst: abort
      Src: /src/vlc/modules/video_output/xcb/xkb.c:73,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/xcb/xkb.c:75,1
    - Dst: fprintf
      Src: /src/vlc/modules/video_output/xcb/xkb.c:78,1
    - Dst: abort
      Src: /src/vlc/modules/video_output/xcb/xkb.c:80,1
    - Dst: bsearch
      Src: /src/vlc/modules/video_output/xcb/xkb.c:85,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/xcb/xkb.c:85,1
    - Dst: bsearch
      Src: /src/vlc/modules/video_output/xcb/xkb.c:89,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/xcb/xkb.c:89,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - sym
    argTypes:
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 94
    functionName: vlc_xkb_convert_keysym
    functionSourceFile: /src/vlc/modules/video_output/xcb/xkb.c
    functionUses: 0
    functionsReached:
    - fprintf
    - abort
    - ARRAY_SIZE
    - bsearch
    linkageType: ''
    returnType: uint_fast32_t
    signature: uint_fast32_t vlc_xkb_convert_keysym(uint_fast32_t sym)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xkb_state_key_get_one_sym
      Src: /src/vlc/modules/video_output/xcb/xkb.c:115,1
    - Dst: vlc_xkb_convert_keysym
      Src: /src/vlc/modules/video_output/xcb/xkb.c:116,1
    - Dst: towlower
      Src: /src/vlc/modules/video_output/xcb/xkb.c:120,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/xcb/xkb.c:122,1
    - Dst: xkb_state_mod_name_is_active
      Src: /src/vlc/modules/video_output/xcb/xkb.c:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - state
    - keycode
    argTypes:
    - struct xkb_state*
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: vlc_xkb_get_one
    functionSourceFile: /src/vlc/modules/video_output/xcb/xkb.c
    functionUses: 2
    functionsReached:
    - xkb_state_mod_name_is_active
    - ARRAY_SIZE
    - towlower
    - vlc_xkb_convert_keysym
    - xkb_state_key_get_one_sym
    linkageType: ''
    returnType: uint_fast32_t
    signature: uint_fast32_t vlc_xkb_get_one(struct xkb_state *state, uint_fast32_t
      keycode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/video_output/libplacebo/instance_vulkan.c:52,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/libplacebo/instance_vulkan.c:52,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/libplacebo/instance_vulkan.c:53,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/libplacebo/instance_vulkan.c:56,1
    - Dst: vlc_vk_platform_Create
      Src: /src/vlc/modules/video_output/libplacebo/instance_vulkan.c:57,1
    - Dst: free
      Src: /src/vlc/modules/video_output/libplacebo/instance_vulkan.c:58,1
    - Dst: pl_vk_inst_create
      Src: /src/vlc/modules/video_output/libplacebo/instance_vulkan.c:62,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/libplacebo/instance_vulkan.c:63,1
    - Dst: vlc_vk_CreateSurface
      Src: /src/vlc/modules/video_output/libplacebo/instance_vulkan.c:79,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/libplacebo/instance_vulkan.c:83,1
    - Dst: pl_vulkan_create
      Src: /src/vlc/modules/video_output/libplacebo/instance_vulkan.c:84,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/libplacebo/instance_vulkan.c:88,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/libplacebo/instance_vulkan.c:89,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/libplacebo/instance_vulkan.c:90,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/libplacebo/instance_vulkan.c:91,1
    - Dst: free
      Src: /src/vlc/modules/video_output/libplacebo/instance_vulkan.c:93,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/libplacebo/instance_vulkan.c:100,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/libplacebo/instance_vulkan.c:101,1
    - Dst: pl_vulkan_create_swapchain
      Src: /src/vlc/modules/video_output/libplacebo/instance_vulkan.c:104,1
    - Dst: CloseInstance
      Src: /src/vlc/modules/video_output/libplacebo/instance_vulkan.c:113,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - pl
    - cfg
    argTypes:
    - vlc_placebo_t*
    - vout_display_cfg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 115
    functionName: InitInstance
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/instance_vulkan.c
    functionUses: 0
    functionsReached:
    - var_InheritString
    - pl_vulkan_create_swapchain
    - pl_vk_inst_create
    - var_InheritInteger
    - var_InheritBool
    - vlc_vk_platform_Create
    - free
    - vlc_vk_CreateSurface
    - pl_vulkan_create
    - CloseInstance
    - VLC_OBJECT
    - unlikely
    - vlc_obj_calloc
    linkageType: ''
    returnType: int
    signature: int InitInstance(vlc_placebo_t *pl, const vout_display_cfg_t *cfg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pl_swapchain_destroy
      Src: /src/vlc/modules/video_output/libplacebo/instance_vulkan.c:121,1
    - Dst: vlc_vk_DestroySurface
      Src: /src/vlc/modules/video_output/libplacebo/instance_vulkan.c:128,1
    - Dst: pl_vulkan_destroy
      Src: /src/vlc/modules/video_output/libplacebo/instance_vulkan.c:131,1
    - Dst: pl_vk_inst_destroy
      Src: /src/vlc/modules/video_output/libplacebo/instance_vulkan.c:132,1
    - Dst: vlc_vk_platform_Release
      Src: /src/vlc/modules/video_output/libplacebo/instance_vulkan.c:135,1
    - Dst: vlc_obj_free
      Src: /src/vlc/modules/video_output/libplacebo/instance_vulkan.c:137,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/libplacebo/instance_vulkan.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pl
    argTypes:
    - vlc_placebo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 139
    functionName: CloseInstance
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/instance_vulkan.c
    functionUses: 1
    functionsReached:
    - pl_vk_inst_destroy
    - vlc_obj_free
    - pl_swapchain_destroy
    - pl_vulkan_destroy
    - VLC_OBJECT
    - vlc_vk_DestroySurface
    - vlc_vk_platform_Release
    linkageType: ''
    returnType: void
    signature: void CloseInstance(vlc_placebo_t *pl)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/video_output/libplacebo/display.c:102,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/libplacebo/display.c:102,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/libplacebo/display.c:103,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/libplacebo/display.c:106,1
    - Dst: vlc_placebo_Create
      Src: /src/vlc/modules/video_output/libplacebo/display.c:107,1
    - Dst: free
      Src: /src/vlc/modules/video_output/libplacebo/display.c:108,1
    - Dst: vlc_placebo_MakeCurrent
      Src: /src/vlc/modules/video_output/libplacebo/display.c:115,1
    - Dst: UpdateColorspaceHint
      Src: /src/vlc/modules/video_output/libplacebo/display.c:119,1
    - Dst: pl_swapchain_resize
      Src: /src/vlc/modules/video_output/libplacebo/display.c:124,1
    - Dst: pl_renderer_create
      Src: /src/vlc/modules/video_output/libplacebo/display.c:128,1
    - Dst: vlc_placebo_ReleaseCurrent
      Src: /src/vlc/modules/video_output/libplacebo/display.c:132,1
    - Dst: vlc_placebo_FormatSupported
      Src: /src/vlc/modules/video_output/libplacebo/display.c:135,1
    - Dst: vlc_fourcc_GetFallback
      Src: /src/vlc/modules/video_output/libplacebo/display.c:139,1
    - Dst: vlc_placebo_FormatSupported
      Src: /src/vlc/modules/video_output/libplacebo/display.c:143,1
    - Dst: free
      Src: /src/vlc/modules/video_output/libplacebo/display.c:148,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/libplacebo/display.c:153,1
    - Dst: vlc_fourcc_IsYUV
      Src: /src/vlc/modules/video_output/libplacebo/display.c:157,1
    - Dst: vlc_placebo_ChromaLoc
      Src: /src/vlc/modules/video_output/libplacebo/display.c:158,1
    - Dst: UpdateParams
      Src: /src/vlc/modules/video_output/libplacebo/display.c:176,1
    - Dst: pl_renderer_destroy
      Src: /src/vlc/modules/video_output/libplacebo/display.c:181,1
    - Dst: vlc_placebo_Release
      Src: /src/vlc/modules/video_output/libplacebo/display.c:182,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 3
    argNames:
    - vd
    - fmt
    - context
    argTypes:
    - vout_display_t*
    - video_format_t*
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 185
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/display.c
    functionUses: 67
    functionsReached:
    - pl_renderer_destroy
    - vlc_placebo_ReleaseCurrent
    - vlc_obj_calloc
    - vlc_placebo_FormatSupported
    - vlc_fourcc_GetFallback
    - vlc_fourcc_IsYUV
    - pl_swapchain_resize
    - vlc_placebo_ChromaLoc
    - pl_renderer_create
    - msg_Warn
    - vlc_placebo_Release
    - vlc_placebo_MakeCurrent
    - vlc_placebo_Create
    - var_InheritString
    - UpdateColorspaceHint
    - free
    - UpdateParams
    - VLC_OBJECT
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int Open(vout_display_t *vd,\n                video_format_t *fmt,
      vlc_video_context *context)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_placebo_MakeCurrent
      Src: /src/vlc/modules/video_output/libplacebo/display.c:192,1
    - Dst: pl_tex_destroy
      Src: /src/vlc/modules/video_output/libplacebo/display.c:194,1
    - Dst: pl_tex_destroy
      Src: /src/vlc/modules/video_output/libplacebo/display.c:196,1
    - Dst: pl_renderer_destroy
      Src: /src/vlc/modules/video_output/libplacebo/display.c:197,1
    - Dst: vlc_placebo_ReleaseCurrent
      Src: /src/vlc/modules/video_output/libplacebo/display.c:198,1
    - Dst: free
      Src: /src/vlc/modules/video_output/libplacebo/display.c:202,1
    - Dst: free
      Src: /src/vlc/modules/video_output/libplacebo/display.c:203,1
    - Dst: free
      Src: /src/vlc/modules/video_output/libplacebo/display.c:204,1
    - Dst: pl_lut_free
      Src: /src/vlc/modules/video_output/libplacebo/display.c:207,1
    - Dst: free
      Src: /src/vlc/modules/video_output/libplacebo/display.c:208,1
    - Dst: pl_mpv_user_shader_destroy
      Src: /src/vlc/modules/video_output/libplacebo/display.c:210,1
    - Dst: free
      Src: /src/vlc/modules/video_output/libplacebo/display.c:211,1
    - Dst: vlc_placebo_Release
      Src: /src/vlc/modules/video_output/libplacebo/display.c:213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 214
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/display.c
    functionUses: 173
    functionsReached:
    - pl_renderer_destroy
    - pl_lut_free
    - free
    - pl_mpv_user_shader_destroy
    - vlc_placebo_ReleaseCurrent
    - vlc_placebo_Release
    - pl_tex_destroy
    - vlc_placebo_MakeCurrent
    linkageType: ''
    returnType: void
    signature: void Close(vout_display_t *vd)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/libplacebo/display.c:220,1
    - Dst: vlc_placebo_MakeCurrent
      Src: /src/vlc/modules/video_output/libplacebo/display.c:225,1
    - Dst: pl_swapchain_start_frame
      Src: /src/vlc/modules/video_output/libplacebo/display.c:229,1
    - Dst: vlc_placebo_ReleaseCurrent
      Src: /src/vlc/modules/video_output/libplacebo/display.c:230,1
    - Dst: vlc_placebo_ColorSpace
      Src: /src/vlc/modules/video_output/libplacebo/display.c:243,1
    - Dst: vlc_placebo_ColorRepr
      Src: /src/vlc/modules/video_output/libplacebo/display.c:244,1
    - Dst: vlc_placebo_frame_DoviMetadata
      Src: /src/vlc/modules/video_output/libplacebo/display.c:253,1
    - Dst: picture_GetAncillary
      Src: /src/vlc/modules/video_output/libplacebo/display.c:255,1
    - Dst: vlc_ancillary_GetData
      Src: /src/vlc/modules/video_output/libplacebo/display.c:257,1
    - Dst: pl_icc_profile_compute_signature
      Src: /src/vlc/modules/video_output/libplacebo/display.c:260,1
    - Dst: picture_GetAncillary
      Src: /src/vlc/modules/video_output/libplacebo/display.c:263,1
    - Dst: vlc_ancillary_GetData
      Src: /src/vlc/modules/video_output/libplacebo/display.c:265,1
    - Dst: vlc_placebo_HdrMetadata
      Src: /src/vlc/modules/video_output/libplacebo/display.c:266,1
    - Dst: vlc_placebo_PlaneData
      Src: /src/vlc/modules/video_output/libplacebo/display.c:271,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/libplacebo/display.c:273,1
    - Dst: pl_upload_plane
      Src: /src/vlc/modules/video_output/libplacebo/display.c:278,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/libplacebo/display.c:279,1
    - Dst: pl_chroma_location_offset
      Src: /src/vlc/modules/video_output/libplacebo/display.c:286,1
    - Dst: pl_frame_from_swapchain
      Src: /src/vlc/modules/video_output/libplacebo/display.c:291,1
    - Dst: pl_icc_profile_compute_signature
      Src: /src/vlc/modules/video_output/libplacebo/display.c:297,1
    - Dst: SWAP
      Src: /src/vlc/modules/video_output/libplacebo/display.c:313,1
    - Dst: SWAP
      Src: /src/vlc/modules/video_output/libplacebo/display.c:316,1
    - Dst: SWAP
      Src: /src/vlc/modules/video_output/libplacebo/display.c:329,1
    - Dst: SWAP
      Src: /src/vlc/modules/video_output/libplacebo/display.c:333,1
    - Dst: realloc
      Src: /src/vlc/modules/video_output/libplacebo/display.c:361,1
    - Dst: realloc
      Src: /src/vlc/modules/video_output/libplacebo/display.c:362,1
    - Dst: realloc
      Src: /src/vlc/modules/video_output/libplacebo/display.c:363,1
    - Dst: vlc_vector_foreach
      Src: /src/vlc/modules/video_output/libplacebo/display.c:378,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/libplacebo/display.c:379,1
    - Dst: vlc_placebo_PlaneData
      Src: /src/vlc/modules/video_output/libplacebo/display.c:381,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/libplacebo/display.c:382,1
    - Dst: pl_upload_plane
      Src: /src/vlc/modules/video_output/libplacebo/display.c:384,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/libplacebo/display.c:385,1
    - Dst: vlc_placebo_ColorSpace
      Src: /src/vlc/modules/video_output/libplacebo/display.c:394,1
    - Dst: vlc_placebo_ColorRepr
      Src: /src/vlc/modules/video_output/libplacebo/display.c:395,1
    - Dst: pl_tex_clear
      Src: /src/vlc/modules/video_output/libplacebo/display.c:426,1
    - Dst: pl_render_image
      Src: /src/vlc/modules/video_output/libplacebo/display.c:441,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/libplacebo/display.c:442,1
    - Dst: pl_tex_clear
      Src: /src/vlc/modules/video_output/libplacebo/display.c:450,1
    - Dst: pl_gpu_flush
      Src: /src/vlc/modules/video_output/libplacebo/display.c:452,1
    - Dst: vlc_placebo_ReleaseCurrent
      Src: /src/vlc/modules/video_output/libplacebo/display.c:454,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 134
    argCount: 4
    argNames:
    - vd
    - pic
    - subpicture
    - date
    argTypes:
    - vout_display_t*
    - picture_t*
    - vlc_render_subpicture*
    - vlc_tick_t
    assertStmts:
    - condition: (!"Failed processing the subpicture_t into pl_plane_data!?")
      pos:
        line_end: 381
        line_start: 381
        source_file: /src/vlc/modules/video_output/libplacebo/display.c
    - condition: (!"Failed processing the picture_t into pl_plane_data!?")
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/vlc/modules/video_output/libplacebo/display.c
    - condition: (r->p_picture->i_planes == 1)
      pos:
        line_end: 378
        line_start: 378
        source_file: /src/vlc/modules/video_output/libplacebo/display.c
    constantsTouched: []
    func_position:
      end: 455
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 455
    functionName: PictureRender
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/display.c
    functionUses: 0
    functionsReached:
    - assert
    - realloc
    - vlc_placebo_ReleaseCurrent
    - pl_upload_plane
    - pl_tex_clear
    - picture_GetAncillary
    - vlc_ancillary_GetData
    - msg_Err
    - vlc_placebo_ColorSpace
    - vlc_placebo_PlaneData
    - pl_swapchain_start_frame
    - pl_chroma_location_offset
    - SWAP
    - vlc_placebo_MakeCurrent
    - VLC_UNUSED
    - vlc_placebo_ColorRepr
    - pl_icc_profile_compute_signature
    - vlc_vector_foreach
    - pl_render_image
    - vlc_placebo_frame_DoviMetadata
    - vlc_placebo_HdrMetadata
    - pl_gpu_flush
    - pl_frame_from_swapchain
    linkageType: ''
    returnType: void
    signature: "void PictureRender(vout_display_t *vd, picture_t *pic,\n                          const
      vlc_render_subpicture *subpicture,\n                          vlc_tick_t date)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 311
    functionName: SWAP
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/display.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAP(a, b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/libplacebo/display.c:459,1
    - Dst: vlc_placebo_MakeCurrent
      Src: /src/vlc/modules/video_output/libplacebo/display.c:465,1
    - Dst: pl_swapchain_submit_frame
      Src: /src/vlc/modules/video_output/libplacebo/display.c:466,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/libplacebo/display.c:467,1
    - Dst: pl_swapchain_swap_buffers
      Src: /src/vlc/modules/video_output/libplacebo/display.c:468,1
    - Dst: vlc_placebo_ReleaseCurrent
      Src: /src/vlc/modules/video_output/libplacebo/display.c:469,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - vd
    - pic
    argTypes:
    - vout_display_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 471
    functionName: PictureDisplay
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/display.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    - msg_Err
    - vlc_placebo_ReleaseCurrent
    - pl_swapchain_swap_buffers
    - vlc_placebo_MakeCurrent
    - pl_swapchain_submit_frame
    linkageType: ''
    returnType: void
    signature: void PictureDisplay(vout_display_t *vd, picture_t *pic)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/libplacebo/display.c:478,1
    - Dst: vlc_placebo_ColorSpace
      Src: /src/vlc/modules/video_output/libplacebo/display.c:480,1
    - Dst: pl_swapchain_colorspace_hint
      Src: /src/vlc/modules/video_output/libplacebo/display.c:510,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - vd
    - fmt
    argTypes:
    - vout_display_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 511
    functionName: UpdateColorspaceHint
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/display.c
    functionUses: 1
    functionsReached:
    - vlc_placebo_ColorSpace
    - var_InheritInteger
    - pl_swapchain_colorspace_hint
    linkageType: ''
    returnType: void
    signature: void UpdateColorspaceHint(vout_display_t *vd, const video_format_t
      *fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vd
    - prof
    argTypes:
    - vout_display_t*
    - vlc_icc_profile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 518
    functionName: UpdateIccProfile
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/display.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateIccProfile(vout_display_t *vd, const vlc_icc_profile_t *prof)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_placebo_MakeCurrent
      Src: /src/vlc/modules/video_output/libplacebo/display.c:533,1
    - Dst: vlc_placebo_Resize
      Src: /src/vlc/modules/video_output/libplacebo/display.c:536,1
    - Dst: pl_swapchain_resize
      Src: /src/vlc/modules/video_output/libplacebo/display.c:537,1
    - Dst: vlc_placebo_ReleaseCurrent
      Src: /src/vlc/modules/video_output/libplacebo/display.c:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - vd
    - width_
    - height_
    argTypes:
    - vout_display_t*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 547
    functionName: SetDisplaySize
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/display.c
    functionUses: 1
    functionsReached:
    - vlc_placebo_ReleaseCurrent
    - vlc_placebo_Resize
    - pl_swapchain_resize
    - vlc_placebo_MakeCurrent
    linkageType: ''
    returnType: int
    signature: int SetDisplaySize(vout_display_t *vd, unsigned width_, unsigned height_)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pl_lut_free
      Src: /src/vlc/modules/video_output/libplacebo/display.c:552,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_output/libplacebo/display.c:556,1
    - Dst: free
      Src: /src/vlc/modules/video_output/libplacebo/display.c:562,1
    - Dst: strdup
      Src: /src/vlc/modules/video_output/libplacebo/display.c:563,1
    - Dst: vlc_fopen
      Src: /src/vlc/modules/video_output/libplacebo/display.c:565,1
    - Dst: fseek
      Src: /src/vlc/modules/video_output/libplacebo/display.c:568,1
    - Dst: ftell
      Src: /src/vlc/modules/video_output/libplacebo/display.c:571,1
    - Dst: rewind
      Src: /src/vlc/modules/video_output/libplacebo/display.c:574,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_output/libplacebo/display.c:576,1
    - Dst: fread
      Src: /src/vlc/modules/video_output/libplacebo/display.c:579,1
    - Dst: pl_lut_parse_cube
      Src: /src/vlc/modules/video_output/libplacebo/display.c:582,1
    - Dst: fclose
      Src: /src/vlc/modules/video_output/libplacebo/display.c:586,1
    - Dst: free
      Src: /src/vlc/modules/video_output/libplacebo/display.c:587,1
    - Dst: free
      Src: /src/vlc/modules/video_output/libplacebo/display.c:591,1
    - Dst: fclose
      Src: /src/vlc/modules/video_output/libplacebo/display.c:593,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 2
    argNames:
    - sys
    - filepath
    argTypes:
    - vout_display_sys_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 595
    functionName: LoadCustomLUT
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/display.c
    functionUses: 1
    functionsReached:
    - ftell
    - pl_lut_free
    - strdup
    - rewind
    - fread
    - pl_lut_parse_cube
    - fseek
    - free
    - strcmp
    - vlc_fopen
    - vlc_alloc
    - fclose
    linkageType: ''
    returnType: void
    signature: void LoadCustomLUT(vout_display_sys_t *sys, const char *filepath)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pl_mpv_user_shader_destroy
      Src: /src/vlc/modules/video_output/libplacebo/display.c:600,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_output/libplacebo/display.c:604,1
    - Dst: free
      Src: /src/vlc/modules/video_output/libplacebo/display.c:610,1
    - Dst: strdup
      Src: /src/vlc/modules/video_output/libplacebo/display.c:611,1
    - Dst: vlc_fopen
      Src: /src/vlc/modules/video_output/libplacebo/display.c:613,1
    - Dst: fseek
      Src: /src/vlc/modules/video_output/libplacebo/display.c:614,1
    - Dst: ftell
      Src: /src/vlc/modules/video_output/libplacebo/display.c:617,1
    - Dst: rewind
      Src: /src/vlc/modules/video_output/libplacebo/display.c:620,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_output/libplacebo/display.c:622,1
    - Dst: fread
      Src: /src/vlc/modules/video_output/libplacebo/display.c:625,1
    - Dst: pl_mpv_user_shader_parse
      Src: /src/vlc/modules/video_output/libplacebo/display.c:628,1
    - Dst: fclose
      Src: /src/vlc/modules/video_output/libplacebo/display.c:632,1
    - Dst: free
      Src: /src/vlc/modules/video_output/libplacebo/display.c:633,1
    - Dst: free
      Src: /src/vlc/modules/video_output/libplacebo/display.c:637,1
    - Dst: fclose
      Src: /src/vlc/modules/video_output/libplacebo/display.c:639,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 2
    argNames:
    - sys
    - filepath
    argTypes:
    - vout_display_sys_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 641
    functionName: LoadUserShader
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/display.c
    functionUses: 0
    functionsReached:
    - ftell
    - pl_mpv_user_shader_parse
    - strdup
    - rewind
    - fread
    - fseek
    - pl_mpv_user_shader_destroy
    - strcmp
    - free
    - vlc_fopen
    - vlc_alloc
    - fclose
    linkageType: ''
    returnType: void
    signature: void LoadUserShader(vout_display_sys_t *sys, const char *filepath)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vlc_placebo_ColorMapParams
      Src: /src/vlc/modules/video_output/libplacebo/display.c:778,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/libplacebo/display.c:778,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/libplacebo/display.c:781,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/video_output/libplacebo/display.c:782,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/video_output/libplacebo/display.c:783,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/video_output/libplacebo/display.c:784,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/libplacebo/display.c:786,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/video_output/libplacebo/display.c:789,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/video_output/libplacebo/display.c:790,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/libplacebo/display.c:791,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/libplacebo/display.c:794,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/libplacebo/display.c:797,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/libplacebo/display.c:798,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/libplacebo/display.c:805,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/video_output/libplacebo/display.c:806,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/libplacebo/display.c:807,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/video_output/libplacebo/display.c:808,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/libplacebo/display.c:809,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/libplacebo/display.c:810,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/video_output/libplacebo/display.c:812,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/video_output/libplacebo/display.c:813,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/video_output/libplacebo/display.c:814,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/libplacebo/display.c:816,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/libplacebo/display.c:818,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/video_output/libplacebo/display.c:824,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/video_output/libplacebo/display.c:825,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/libplacebo/display.c:828,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/libplacebo/display.c:833,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/libplacebo/display.c:834,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/video_output/libplacebo/display.c:835,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/video_output/libplacebo/display.c:836,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/video_output/libplacebo/display.c:837,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/libplacebo/display.c:838,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/libplacebo/display.c:842,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/libplacebo/display.c:847,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/libplacebo/display.c:852,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/libplacebo/display.c:853,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/video_output/libplacebo/display.c:854,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/video_output/libplacebo/display.c:855,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/video_output/libplacebo/display.c:856,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/libplacebo/display.c:857,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/libplacebo/display.c:861,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/libplacebo/display.c:866,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/libplacebo/display.c:868,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/libplacebo/display.c:869,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/libplacebo/display.c:872,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/libplacebo/display.c:873,1
    - Dst: LoadCustomLUT
      Src: /src/vlc/modules/video_output/libplacebo/display.c:874,1
    - Dst: free
      Src: /src/vlc/modules/video_output/libplacebo/display.c:875,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/libplacebo/display.c:888,1
    - Dst: LoadUserShader
      Src: /src/vlc/modules/video_output/libplacebo/display.c:889,1
    - Dst: free
      Src: /src/vlc/modules/video_output/libplacebo/display.c:890,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 86
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 775
    functionDepth: 2
    functionLinenumber: 775
    functionLinenumberEnd: 897
    functionName: UpdateParams
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/display.c
    functionUses: 1
    functionsReached:
    - var_InheritString
    - var_InheritInteger
    - var_InheritBool
    - LoadUserShader
    - msg_Err
    - free
    - vlc_placebo_ColorMapParams
    - LoadCustomLUT
    - VLC_OBJECT
    - var_InheritFloat
    linkageType: ''
    returnType: void
    signature: void UpdateParams(vout_display_t *vd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - prefix
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: add_placebo_color_map_opts
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: add_placebo_color_map_opts(prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_t*::ops::get_proc_address
      Src: /src/vlc/modules/video_output/libplacebo/instance_opengl.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - procname
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: get_proc_addr_wrapper
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/instance_opengl.c
    functionUses: 0
    functionsReached:
    - vlc_gl_t*::ops::get_proc_address
    linkageType: ''
    returnType: pl_voidfunc_t
    signature: pl_voidfunc_t get_proc_addr_wrapper(void *ctx, const char *procname)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/video_output/libplacebo/instance_opengl.c:104,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/libplacebo/instance_opengl.c:104,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/libplacebo/instance_opengl.c:105,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/libplacebo/instance_opengl.c:110,1
    - Dst: vlc_gl_Create
      Src: /src/vlc/modules/video_output/libplacebo/instance_opengl.c:111,1
    - Dst: free
      Src: /src/vlc/modules/video_output/libplacebo/instance_opengl.c:112,1
    - Dst: vlc_gl_MakeCurrent
      Src: /src/vlc/modules/video_output/libplacebo/instance_opengl.c:113,1
    - Dst: pl_opengl_create
      Src: /src/vlc/modules/video_output/libplacebo/instance_opengl.c:119,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/libplacebo/instance_opengl.c:120,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/libplacebo/instance_opengl.c:134,1
    - Dst: pl_opengl_create_swapchain
      Src: /src/vlc/modules/video_output/libplacebo/instance_opengl.c:138,1
    - Dst: vlc_gl_ReleaseCurrent
      Src: /src/vlc/modules/video_output/libplacebo/instance_opengl.c:142,1
    - Dst: vlc_gl_ReleaseCurrent
      Src: /src/vlc/modules/video_output/libplacebo/instance_opengl.c:151,1
    - Dst: CloseInstance
      Src: /src/vlc/modules/video_output/libplacebo/instance_opengl.c:152,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - pl
    - cfg
    argTypes:
    - vlc_placebo_t*
    - vout_display_cfg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 154
    functionName: InitInstance
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/instance_opengl.c
    functionUses: 0
    functionsReached:
    - pl_opengl_create
    - var_InheritString
    - vlc_gl_MakeCurrent
    - vlc_gl_ReleaseCurrent
    - var_InheritInteger
    - var_InheritBool
    - vlc_gl_Create
    - free
    - CloseInstance
    - VLC_OBJECT
    - pl_opengl_create_swapchain
    - unlikely
    - vlc_obj_calloc
    linkageType: ''
    returnType: int
    signature: int InitInstance(vlc_placebo_t *pl, const vout_display_cfg_t *cfg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_MakeCurrent
      Src: /src/vlc/modules/video_output/libplacebo/instance_opengl.c:161,1
    - Dst: pl_swapchain_destroy
      Src: /src/vlc/modules/video_output/libplacebo/instance_opengl.c:162,1
    - Dst: pl_opengl_destroy
      Src: /src/vlc/modules/video_output/libplacebo/instance_opengl.c:163,1
    - Dst: vlc_gl_ReleaseCurrent
      Src: /src/vlc/modules/video_output/libplacebo/instance_opengl.c:164,1
    - Dst: vlc_gl_Delete
      Src: /src/vlc/modules/video_output/libplacebo/instance_opengl.c:167,1
    - Dst: vlc_obj_free
      Src: /src/vlc/modules/video_output/libplacebo/instance_opengl.c:170,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/libplacebo/instance_opengl.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pl
    argTypes:
    - vlc_placebo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 172
    functionName: CloseInstance
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/instance_opengl.c
    functionUses: 2
    functionsReached:
    - vlc_gl_MakeCurrent
    - vlc_gl_ReleaseCurrent
    - pl_opengl_destroy
    - vlc_obj_free
    - pl_swapchain_destroy
    - vlc_gl_Delete
    - VLC_OBJECT
    linkageType: ''
    returnType: void
    signature: void CloseInstance(vlc_placebo_t *pl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_MakeCurrent
      Src: /src/vlc/modules/video_output/libplacebo/instance_opengl.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pl
    argTypes:
    - vlc_placebo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: MakeCurrent
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/instance_opengl.c
    functionUses: 63
    functionsReached:
    - vlc_gl_MakeCurrent
    linkageType: ''
    returnType: int
    signature: int MakeCurrent(vlc_placebo_t *pl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_ReleaseCurrent
      Src: /src/vlc/modules/video_output/libplacebo/instance_opengl.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pl
    argTypes:
    - vlc_placebo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: ReleaseCurrent
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/instance_opengl.c
    functionUses: 36
    functionsReached:
    - vlc_gl_ReleaseCurrent
    linkageType: ''
    returnType: void
    signature: void ReleaseCurrent(vlc_placebo_t *pl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_Resize
      Src: /src/vlc/modules/video_output/libplacebo/instance_opengl.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pl
    - width
    - height
    argTypes:
    - vlc_placebo_t*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: Resize
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/instance_opengl.c
    functionUses: 28
    functionsReached:
    - vlc_gl_Resize
    linkageType: ''
    returnType: void
    signature: void Resize(vlc_placebo_t *pl, unsigned width, unsigned height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gl_Swap
      Src: /src/vlc/modules/video_output/libplacebo/instance_opengl.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: SwapBuffers
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/instance_opengl.c
    functionUses: 5
    functionsReached:
    - vlc_gl_Swap
    linkageType: ''
    returnType: void
    signature: void SwapBuffers(void *opaque)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:38,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:39,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:41,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - priv
    - level
    - msg
    argTypes:
    - void*
    - enum pl_log_level
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 44
    functionName: Log
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/utils.c
    functionUses: 9
    functionsReached:
    - msg_Dbg
    - msg_Warn
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void Log(void *priv, enum pl_log_level level, const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pl_log_create
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:48,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: vlc_placebo_CreateLog
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/utils.c
    functionUses: 2
    functionsReached:
    - pl_log_create
    - var_InheritInteger
    linkageType: ''
    returnType: pl_log
    signature: pl_log vlc_placebo_CreateLog(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - n
    - ','
    - bits
    - ','
    - pad
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: SIZE
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/utils.c
    functionUses: 331
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIZE(n, bits, pad)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: COMPS
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPS(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - n
    - ','
    - bits
    - ','
    - map
    - ','
    - wd
    - ','
    - hd
    - ','
    - pad
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: PLANE
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLANE(n, bits, map, wd, hd, pad)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - n
    - ','
    - bits
    - ','
    - wd
    - ','
    - hd
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: _PLANAR
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _PLANAR(n, bits, wd, hd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - n
    - ','
    - bits
    - ','
    - wd
    - ','
    - hd
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: _SEMIPLANAR
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _SEMIPLANAR(n, bits, wd, hd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - n
    - ','
    - bits
    - ','
    - pad
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: PACKED
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACKED(n, bits, pad)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: SINGLE
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SINGLE(t, bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: PLANAR
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLANAR(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: SEMIPLANAR
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SEMIPLANAR(...)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - fcc
    argTypes:
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 237
    functionName: FindDesc
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct fmt_desc
    signature: struct fmt_desc *FindDesc(vlc_fourcc_t fcc)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:243,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 3
    argNames:
    - fcc
    - desc
    - data
    argTypes:
    - vlc_fourcc_t
    - struct fmt_desc*
    - struct pl_plane_data[]
    assertStmts:
    - condition: (desc->num_planes <= 4)
      pos:
        line_end: 242
        line_start: 242
        source_file: /src/vlc/modules/video_output/libplacebo/utils.c
    constantsTouched: []
    func_position:
      end: 318
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 318
    functionName: FillDesc
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/utils.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void FillDesc(vlc_fourcc_t fcc, const struct fmt_desc *desc,\n                     struct
      pl_plane_data data[4])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindDesc
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:322,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:325,1
    - Dst: FillDesc
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pic
    - data
    argTypes:
    - picture_t*
    - struct pl_plane_data[]
    assertStmts:
    - condition: (desc->num_planes == pic->i_planes)
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/vlc/modules/video_output/libplacebo/utils.c
    constantsTouched: []
    func_position:
      end: 344
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 344
    functionName: vlc_placebo_PlaneData
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/utils.c
    functionUses: 1
    functionsReached:
    - FillDesc
    - assert
    - FindDesc
    linkageType: ''
    returnType: int
    signature: int vlc_placebo_PlaneData(const picture_t *pic, struct pl_plane_data
      data[4])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FindDesc
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:348,1
    - Dst: FillDesc
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:353,1
    - Dst: pl_plane_find_fmt
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - gpu
    - fcc
    argTypes:
    - pl_gpu
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 360
    functionName: vlc_placebo_FormatSupported
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/utils.c
    functionUses: 1
    functionsReached:
    - FillDesc
    - pl_plane_find_fmt
    - FindDesc
    linkageType: ''
    returnType: bool
    signature: bool vlc_placebo_FormatSupported(pl_gpu gpu, vlc_fourcc_t fcc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 408
    functionName: vlc_placebo_ColorSpace
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/utils.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: struct pl_color_space
    signature: struct pl_color_space vlc_placebo_ColorSpace(const video_format_t *fmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:422,1
    - Dst: vlc_fourcc_IsYUV
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:422,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:424,1
    - Dst: FindDesc
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:431,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 446
    functionName: vlc_placebo_ColorRepr
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/utils.c
    functionUses: 2
    functionsReached:
    - vlc_fourcc_IsYUV
    - unlikely
    - likely
    - FindDesc
    linkageType: ''
    returnType: struct pl_color_repr
    signature: struct pl_color_repr vlc_placebo_ColorRepr(const video_format_t *fmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:452,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - vlc_video_hdr_dynamic_metadata_t*
    - struct pl_hdr_metadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 468
    functionName: vlc_placebo_HdrMetadata
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/utils.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: "void vlc_placebo_HdrMetadata(const vlc_video_hdr_dynamic_metadata_t
      *src,\n                             struct pl_hdr_metadata *dst)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:476,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:478,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:479,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:481,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:485,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:485,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:495,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:505,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - vlc_video_dovi_metadata_t*
    - struct pl_dovi_metadata*
    assertStmts:
    - condition: (csrc->num_pivots <= ARRAY_SIZE(csrc->pivots))
      pos:
        line_end: 484
        line_start: 484
        source_file: /src/vlc/modules/video_output/libplacebo/utils.c
    constantsTouched: []
    func_position:
      end: 512
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 512
    functionName: vlc_placebo_DoviMetadata
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/utils.c
    functionUses: 1
    functionsReached:
    - assert
    - memcpy
    - ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: "void vlc_placebo_DoviMetadata(const vlc_video_dovi_metadata_t *src,\n
      \                             struct pl_dovi_metadata *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: picture_GetAncillary
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:517,1
    - Dst: vlc_ancillary_GetData
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:521,1
    - Dst: vlc_placebo_DoviMetadata
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:522,1
    - Dst: pl_hdr_rescale
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:533,1
    - Dst: pl_hdr_rescale
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - frame
    - pic
    - dst
    argTypes:
    - struct pl_frame*
    - picture_t*
    - struct pl_dovi_metadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 537
    functionName: vlc_placebo_frame_DoviMetadata
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/utils.c
    functionUses: 1
    functionsReached:
    - picture_GetAncillary
    - pl_hdr_rescale
    - vlc_ancillary_GetData
    - vlc_placebo_DoviMetadata
    linkageType: ''
    returnType: void
    signature: "void vlc_placebo_frame_DoviMetadata(struct pl_frame *frame, const
      picture_t *pic,\n                                    struct pl_dovi_metadata
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 552
    functionName: vlc_placebo_ChromaLoc
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/utils.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: enum pl_chroma_location
    signature: enum pl_chroma_location vlc_placebo_ChromaLoc(const video_format_t
      *fmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindDesc
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:556,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - fmt
    - planes
    argTypes:
    - video_format_t*
    - struct pl_plane[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 569
    functionName: vlc_placebo_PlaneComponents
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/utils.c
    functionUses: 1
    functionsReached:
    - FindDesc
    linkageType: ''
    returnType: int
    signature: "int vlc_placebo_PlaneComponents(const video_format_t *fmt,\n                                struct
      pl_plane planes[4])"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:579,1
    - Dst: PREFIX
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:579,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:604,1
    - Dst: PREFIX
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:604,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:617,1
    - Dst: PREFIX
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:617,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:618,1
    - Dst: PREFIX
      Src: /src/vlc/modules/video_output/libplacebo/utils.c:618,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 91
    argCount: 3
    argNames:
    - obj
    - prefix
    - params
    argTypes:
    - vlc_object_t*
    - char*
    - struct pl_color_map_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 619
    functionName: vlc_placebo_ColorMapParams
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/utils.c
    functionUses: 2
    functionsReached:
    - var_InheritInteger
    - var_InheritBool
    - var_InheritFloat
    - PREFIX
    linkageType: ''
    returnType: void
    signature: "void vlc_placebo_ColorMapParams(vlc_object_t *obj, const char *prefix,\n
      \                               struct pl_color_map_params *params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 575
    functionName: PREFIX
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/utils.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PREFIX(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/video_output/libplacebo/instance.c:40,1
    - Dst: va_arg
      Src: /src/vlc/modules/video_output/libplacebo/instance.c:41,1
    - Dst: activate
      Src: /src/vlc/modules/video_output/libplacebo/instance.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - func
    - forced
    - ap
    argTypes:
    - void*
    - bool
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: vlc_placebo_start
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/instance.c
    functionUses: 0
    functionsReached:
    - va_arg
    - activate
    linkageType: ''
    returnType: int
    signature: int vlc_placebo_start(void *func, bool forced, va_list ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: config_GetUserDir
      Src: /src/vlc/modules/video_output/libplacebo/instance.c:53,1
    - Dst: asprintf
      Src: /src/vlc/modules/video_output/libplacebo/instance.c:56,1
    - Dst: free
      Src: /src/vlc/modules/video_output/libplacebo/instance.c:57,1
    - Dst: vlc_fopen
      Src: /src/vlc/modules/video_output/libplacebo/instance.c:60,1
    - Dst: free
      Src: /src/vlc/modules/video_output/libplacebo/instance.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - mode
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: vlc_placebo_OpenCache
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/instance.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_fopen
    - asprintf
    - config_GetUserDir
    linkageType: ''
    returnType: FILE
    signature: FILE *vlc_placebo_OpenCache(const char *mode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/libplacebo/instance.c:75,1
    - Dst: vlc_object_create
      Src: /src/vlc/modules/video_output/libplacebo/instance.c:76,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/libplacebo/instance.c:77,1
    - Dst: vlc_placebo_CreateLog
      Src: /src/vlc/modules/video_output/libplacebo/instance.c:82,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/libplacebo/instance.c:82,1
    - Dst: vlc_module_load
      Src: /src/vlc/modules/video_output/libplacebo/instance.c:86,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/video_output/libplacebo/instance.c:86,1
    - Dst: pl_cache_create
      Src: /src/vlc/modules/video_output/libplacebo/instance.c:93,1
    - Dst: pl_cache_params
      Src: /src/vlc/modules/video_output/libplacebo/instance.c:93,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/libplacebo/instance.c:97,1
    - Dst: pl_gpu_set_cache
      Src: /src/vlc/modules/video_output/libplacebo/instance.c:98,1
    - Dst: vlc_placebo_OpenCache
      Src: /src/vlc/modules/video_output/libplacebo/instance.c:99,1
    - Dst: pl_cache_load_file
      Src: /src/vlc/modules/video_output/libplacebo/instance.c:101,1
    - Dst: fclose
      Src: /src/vlc/modules/video_output/libplacebo/instance.c:102,1
    - Dst: pl_log_destroy
      Src: /src/vlc/modules/video_output/libplacebo/instance.c:109,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/video_output/libplacebo/instance.c:112,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - cfg
    - name
    argTypes:
    - vout_display_cfg_t*
    - char*
    assertStmts:
    - condition: (pl->gpu)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/vlc/modules/video_output/libplacebo/instance.c
    constantsTouched: []
    func_position:
      end: 114
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 114
    functionName: vlc_placebo_Create
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/instance.c
    functionUses: 1
    functionsReached:
    - vlc_placebo_CreateLog
    - vlc_module_load
    - assert
    - vlc_object_logger
    - vlc_object_create
    - vlc_placebo_OpenCache
    - pl_cache_load_file
    - pl_cache_create
    - vlc_object_delete
    - VLC_OBJECT
    - pl_log_destroy
    - pl_gpu_set_cache
    - unlikely
    - pl_cache_params
    - fclose
    linkageType: ''
    returnType: vlc_placebo_t
    signature: vlc_placebo_t *vlc_placebo_Create(const vout_display_cfg_t *cfg, const
      char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_placebo_t*::ops::close
      Src: /src/vlc/modules/video_output/libplacebo/instance.c:120,1
    - Dst: vlc_placebo_OpenCache
      Src: /src/vlc/modules/video_output/libplacebo/instance.c:123,1
    - Dst: pl_cache_save_file
      Src: /src/vlc/modules/video_output/libplacebo/instance.c:125,1
    - Dst: fclose
      Src: /src/vlc/modules/video_output/libplacebo/instance.c:126,1
    - Dst: pl_cache_destroy
      Src: /src/vlc/modules/video_output/libplacebo/instance.c:128,1
    - Dst: pl_log_destroy
      Src: /src/vlc/modules/video_output/libplacebo/instance.c:131,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/video_output/libplacebo/instance.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pl
    argTypes:
    - vlc_placebo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 135
    functionName: vlc_placebo_Release
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/instance.c
    functionUses: 2
    functionsReached:
    - vlc_placebo_OpenCache
    - vlc_object_delete
    - pl_log_destroy
    - pl_cache_save_file
    - vlc_placebo_t*::ops::close
    - pl_cache_destroy
    - fclose
    linkageType: ''
    returnType: void
    signature: void vlc_placebo_Release(vlc_placebo_t *pl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_placebo_t*::ops::make_current
      Src: /src/vlc/modules/video_output/libplacebo/instance.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pl
    argTypes:
    - vlc_placebo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: vlc_placebo_MakeCurrent
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/instance.c
    functionUses: 5
    functionsReached:
    - vlc_placebo_t*::ops::make_current
    linkageType: ''
    returnType: int
    signature: int vlc_placebo_MakeCurrent(vlc_placebo_t * pl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_placebo_t*::ops::release_current
      Src: /src/vlc/modules/video_output/libplacebo/instance.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pl
    argTypes:
    - vlc_placebo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: vlc_placebo_ReleaseCurrent
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/instance.c
    functionUses: 5
    functionsReached:
    - vlc_placebo_t*::ops::release_current
    linkageType: ''
    returnType: void
    signature: void vlc_placebo_ReleaseCurrent(vlc_placebo_t *pl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_placebo_t*::ops::resize
      Src: /src/vlc/modules/video_output/libplacebo/instance.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - pl
    - width
    - height
    argTypes:
    - vlc_placebo_t*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: vlc_placebo_Resize
    functionSourceFile: /src/vlc/modules/video_output/libplacebo/instance.c
    functionUses: 1
    functionsReached:
    - vlc_placebo_t*::ops::resize
    linkageType: ''
    returnType: void
    signature: void vlc_placebo_Resize(vlc_placebo_t *pl, unsigned width, unsigned
      height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/drm/display.c:78,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/drm/display.c:78,1
    - Dst: picture_Copy
      Src: /src/vlc/modules/video_output/drm/display.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - vd
    - pic
    - subpic
    - date
    argTypes:
    - vout_display_t*
    - picture_t*
    - struct vlc_render_subpicture*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: Prepare
    functionSourceFile: /src/vlc/modules/video_output/drm/display.c
    functionUses: 54
    functionsReached:
    - picture_Copy
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void Prepare(vout_display_t *vd, picture_t *pic,\n                    const
      struct vlc_render_subpicture *subpic,\n                    vlc_tick_t date)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/video_output/drm/display.c:86,1
    - Dst: vlc_drm_dumb_get_fb_id
      Src: /src/vlc/modules/video_output/drm/display.c:95,1
    - Dst: vlc_drm_ioctl
      Src: /src/vlc/modules/video_output/drm/display.c:107,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/drm/display.c:108,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/video_output/drm/display.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - vd
    - picture
    argTypes:
    - vout_display_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 115
    functionName: Display
    functionSourceFile: /src/vlc/modules/video_output/drm/display.c
    functionUses: 50
    functionsReached:
    - vlc_strerror_c
    - msg_Err
    - vlc_drm_dumb_get_fb_id
    - vlc_drm_ioctl
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void Display(vout_display_t *vd, picture_t *picture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/drm/display.c:124,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_output/drm/display.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - vd
    argTypes:
    - vout_display_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: Close
    functionSourceFile: /src/vlc/modules/video_output/drm/display.c
    functionUses: 173
    functionsReached:
    - picture_Release
    - ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: void Close(vout_display_t *vd)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/video_output/drm/display.c:150,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/video_output/drm/display.c:150,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/drm/display.c:151,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/video_output/drm/display.c:154,1
    - Dst: memcpy
      Src: /src/vlc/modules/video_output/drm/display.c:156,1
    - Dst: strnlen
      Src: /src/vlc/modules/video_output/drm/display.c:156,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/drm/display.c:157,1
    - Dst: free
      Src: /src/vlc/modules/video_output/drm/display.c:158,1
    - Dst: vlc_drm_get_crtc_index
      Src: /src/vlc/modules/video_output/drm/display.c:163,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/drm/display.c:165,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/video_output/drm/display.c:166,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/drm/display.c:170,1
    - Dst: vlc_drm_get_crtc_primary_plane
      Src: /src/vlc/modules/video_output/drm/display.c:174,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/drm/display.c:178,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/video_output/drm/display.c:178,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/drm/display.c:182,1
    - Dst: vlc_drm_find_best_format
      Src: /src/vlc/modules/video_output/drm/display.c:185,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/drm/display.c:188,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/video_output/drm/display.c:188,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/video_output/drm/display.c:193,1
    - Dst: video_format_ApplyRotation
      Src: /src/vlc/modules/video_output/drm/display.c:196,1
    - Dst: vlc_fourcc_drm
      Src: /src/vlc/modules/video_output/drm/display.c:197,1
    - Dst: assert
      Src: /src/vlc/modules/video_output/drm/display.c:200,1
    - Dst: msg_Err
      Src: /src/vlc/modules/video_output/drm/display.c:201,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/drm/display.c:207,1
    - Dst: vlc_drm_dumb_alloc_fb
      Src: /src/vlc/modules/video_output/drm/display.c:208,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_output/drm/display.c:211,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 3
    argNames:
    - vd
    - fmtp
    - context
    argTypes:
    - vout_display_t*
    - video_format_t*
    - vlc_video_context*
    assertStmts:
    - condition: (chroma != NULL)
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/vlc/modules/video_output/drm/display.c
    constantsTouched: []
    func_position:
      end: 223
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 223
    functionName: Open
    functionSourceFile: /src/vlc/modules/video_output/drm/display.c
    functionUses: 67
    functionsReached:
    - vlc_strerror_c
    - assert
    - vlc_obj_malloc
    - memcpy
    - picture_Release
    - vlc_drm_get_crtc_index
    - vlc_drm_dumb_alloc_fb
    - ARRAY_SIZE
    - strnlen
    - msg_Err
    - vlc_fourcc_drm
    - msg_Dbg
    - vlc_drm_get_crtc_primary_plane
    - vlc_drm_find_best_format
    - var_InheritString
    - video_format_ApplyRotation
    - free
    - VLC_OBJECT
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int Open(vout_display_t *vd,\n                video_format_t *fmtp,
      vlc_video_context *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_drm_ioctl
      Src: /src/vlc/modules/video_output/drm/buffers.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - handle
    argTypes:
    - int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: drmDestroyDumb
    functionSourceFile: /src/vlc/modules/video_output/drm/buffers.c
    functionUses: 0
    functionsReached:
    - vlc_drm_ioctl
    linkageType: ''
    returnType: void
    signature: void drmDestroyDumb(int fd, uint32_t handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: munmap
      Src: /src/vlc/modules/video_output/drm/buffers.c:58,1
    - Dst: drmDestroyDumb
      Src: /src/vlc/modules/video_output/drm/buffers.c:59,1
    - Dst: free
      Src: /src/vlc/modules/video_output/drm/buffers.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - picbuf
    argTypes:
    - struct vlc_drm_buf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: vlc_drm_dumb_buf_destroy
    functionSourceFile: /src/vlc/modules/video_output/drm/buffers.c
    functionUses: 0
    functionsReached:
    - munmap
    - drmDestroyDumb
    - free
    linkageType: ''
    returnType: void
    signature: void vlc_drm_dumb_buf_destroy(struct vlc_drm_buf *picbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_drm_ioctl
      Src: /src/vlc/modules/video_output/drm/buffers.c:68,1
    - Dst: vlc_drm_dumb_buf_destroy
      Src: /src/vlc/modules/video_output/drm/buffers.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pic
    argTypes:
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: vlc_drm_dumb_destroy
    functionSourceFile: /src/vlc/modules/video_output/drm/buffers.c
    functionUses: 0
    functionsReached:
    - vlc_drm_dumb_buf_destroy
    - vlc_drm_ioctl
    linkageType: ''
    returnType: void
    signature: void vlc_drm_dumb_destroy(picture_t *pic)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_drm_ioctl
      Src: /src/vlc/modules/video_output/drm/buffers.c:89,1
    - Dst: vlc_error
      Src: /src/vlc/modules/video_output/drm/buffers.c:90,1
    - Dst: vlc_strerror
      Src: /src/vlc/modules/video_output/drm/buffers.c:91,1
    - Dst: vlc_drm_ioctl
      Src: /src/vlc/modules/video_output/drm/buffers.c:100,1
    - Dst: vlc_error
      Src: /src/vlc/modules/video_output/drm/buffers.c:101,1
    - Dst: vlc_strerror
      Src: /src/vlc/modules/video_output/drm/buffers.c:102,1
    - Dst: drmDestroyDumb
      Src: /src/vlc/modules/video_output/drm/buffers.c:103,1
    - Dst: mmap
      Src: /src/vlc/modules/video_output/drm/buffers.c:108,1
    - Dst: vlc_error
      Src: /src/vlc/modules/video_output/drm/buffers.c:111,1
    - Dst: vlc_strerror
      Src: /src/vlc/modules/video_output/drm/buffers.c:112,1
    - Dst: malloc
      Src: /src/vlc/modules/video_output/drm/buffers.c:117,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/drm/buffers.c:118,1
    - Dst: munmap
      Src: /src/vlc/modules/video_output/drm/buffers.c:119,1
    - Dst: picture_NewFromResource
      Src: /src/vlc/modules/video_output/drm/buffers.c:142,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/drm/buffers.c:143,1
    - Dst: vlc_drm_dumb_buf_destroy
      Src: /src/vlc/modules/video_output/drm/buffers.c:144,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 3
    argNames:
    - log
    - fd
    - fmt
    argTypes:
    - struct vlc_logger*
    - int
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 146
    functionName: vlc_drm_dumb_alloc
    functionSourceFile: /src/vlc/modules/video_output/drm/buffers.c
    functionUses: 0
    functionsReached:
    - picture_NewFromResource
    - vlc_strerror
    - mmap
    - drmDestroyDumb
    - munmap
    - vlc_error
    - vlc_drm_dumb_buf_destroy
    - unlikely
    - malloc
    - vlc_drm_ioctl
    linkageType: ''
    returnType: picture_t
    signature: "picture_t *vlc_drm_dumb_alloc(struct vlc_logger *log, int fd,\n                              const
      video_format_t *restrict fmt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_drm_fourcc
      Src: /src/vlc/modules/video_output/drm/buffers.c:151,1
    - Dst: vlc_drm_dumb_alloc
      Src: /src/vlc/modules/video_output/drm/buffers.c:155,1
    - Dst: vlc_drm_ioctl
      Src: /src/vlc/modules/video_output/drm/buffers.c:174,1
    - Dst: vlc_error
      Src: /src/vlc/modules/video_output/drm/buffers.c:175,1
    - Dst: vlc_strerror
      Src: /src/vlc/modules/video_output/drm/buffers.c:176,1
    - Dst: picture_Release
      Src: /src/vlc/modules/video_output/drm/buffers.c:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - log
    - fd
    - fmt
    argTypes:
    - struct vlc_logger*
    - int
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 148
    functionDepth: 4
    functionLinenumber: 148
    functionLinenumberEnd: 183
    functionName: vlc_drm_dumb_alloc_fb
    functionSourceFile: /src/vlc/modules/video_output/drm/buffers.c
    functionUses: 1
    functionsReached:
    - vlc_strerror
    - vlc_drm_fourcc
    - picture_Release
    - vlc_drm_dumb_alloc
    - vlc_error
    - vlc_drm_ioctl
    linkageType: ''
    returnType: picture_t
    signature: "picture_t *vlc_drm_dumb_alloc_fb(struct vlc_logger *log, int fd,\n
      \                                const video_format_t *restrict fmt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/drm/buffers.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pic
    argTypes:
    - picture_t*
    assertStmts:
    - condition: (picbuf->fb_id != 0)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/vlc/modules/video_output/drm/buffers.c
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: vlc_drm_dumb_get_fb_id
    functionSourceFile: /src/vlc/modules/video_output/drm/buffers.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t vlc_drm_dumb_get_fb_id(const picture_t *pic)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/drm/planes.c:52,1
    - Dst: vlc_drm_ioctl
      Src: /src/vlc/modules/video_output/drm/planes.c:55,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/drm/planes.c:57,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/drm/planes.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - fd
    - crtc_id
    argTypes:
    - int
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 69
    functionName: vlc_drm_get_crtc_index
    functionSourceFile: /src/vlc/modules/video_output/drm/planes.c
    functionUses: 1
    functionsReached:
    - unlikely
    - ARRAY_SIZE
    - vlc_drm_ioctl
    linkageType: ''
    returnType: int
    signature: int vlc_drm_get_crtc_index(int fd, uint_fast32_t crtc_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_drm_ioctl
      Src: /src/vlc/modules/video_output/drm/planes.c:77,1
    - Dst: strcmp
      Src: /src/vlc/modules/video_output/drm/planes.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - pid
    - name
    argTypes:
    - int
    - uint_fast32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: vlc_drm_prop_match
    functionSourceFile: /src/vlc/modules/video_output/drm/planes.c
    functionUses: 0
    functionsReached:
    - strcmp
    - vlc_drm_ioctl
    linkageType: ''
    returnType: bool
    signature: bool vlc_drm_prop_match(int fd, uint_fast32_t pid, const char *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_drm_ioctl
      Src: /src/vlc/modules/video_output/drm/planes.c:91,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_output/drm/planes.c:95,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_output/drm/planes.c:96,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/drm/planes.c:98,1
    - Dst: vlc_drm_ioctl
      Src: /src/vlc/modules/video_output/drm/planes.c:109,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/drm/planes.c:111,1
    - Dst: vlc_drm_prop_match
      Src: /src/vlc/modules/video_output/drm/planes.c:125,1
    - Dst: free
      Src: /src/vlc/modules/video_output/drm/planes.c:133,1
    - Dst: free
      Src: /src/vlc/modules/video_output/drm/planes.c:134,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 5
    argNames:
    - fd
    - oid
    - tid
    - name
    - valp
    argTypes:
    - int
    - uint_fast32_t
    - uint_fast32_t
    - char*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 136
    functionName: vlc_drm_get_prop
    functionSourceFile: /src/vlc/modules/video_output/drm/planes.c
    functionUses: 0
    functionsReached:
    - vlc_drm_prop_match
    - free
    - vlc_alloc
    - unlikely
    - vlc_drm_ioctl
    linkageType: ''
    returnType: int
    signature: "int vlc_drm_get_prop(int fd, uint_fast32_t oid, uint_fast32_t tid,\n
      \                           const char *name, uint64_t *restrict valp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_drm_get_prop
      Src: /src/vlc/modules/video_output/drm/planes.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - fd
    - plane
    - name
    - valp
    argTypes:
    - int
    - uint_fast32_t
    - char*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 3
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: vlc_drm_get_plane_prop
    functionSourceFile: /src/vlc/modules/video_output/drm/planes.c
    functionUses: 0
    functionsReached:
    - vlc_drm_get_prop
    linkageType: ''
    returnType: int
    signature: "int vlc_drm_get_plane_prop(int fd, uint_fast32_t plane,\n                                  const
      char *name, uint64_t *restrict valp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_output/drm/planes.c:149,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/drm/planes.c:150,1
    - Dst: vlc_drm_ioctl
      Src: /src/vlc/modules/video_output/drm/planes.c:158,1
    - Dst: free
      Src: /src/vlc/modules/video_output/drm/planes.c:159,1
    - Dst: likely
      Src: /src/vlc/modules/video_output/drm/planes.c:163,1
    - Dst: free
      Src: /src/vlc/modules/video_output/drm/planes.c:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - fd
    - listp
    argTypes:
    - int
    - uint32_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 172
    functionName: vlc_drm_get_planes
    functionSourceFile: /src/vlc/modules/video_output/drm/planes.c
    functionUses: 0
    functionsReached:
    - free
    - likely
    - vlc_alloc
    - unlikely
    - vlc_drm_ioctl
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t vlc_drm_get_planes(int fd, uint32_t **restrict listp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/drm/planes.c:177,1
    - Dst: vlc_drm_get_planes
      Src: /src/vlc/modules/video_output/drm/planes.c:180,1
    - Dst: vlc_drm_ioctl
      Src: /src/vlc/modules/video_output/drm/planes.c:192,1
    - Dst: vlc_drm_get_plane_prop
      Src: /src/vlc/modules/video_output/drm/planes.c:194,1
    - Dst: free
      Src: /src/vlc/modules/video_output/drm/planes.c:203,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - fd
    - idx
    - nfmt
    argTypes:
    - int
    - unsigned int
    - size_t*
    assertStmts:
    - condition: (idx < 32)
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/vlc/modules/video_output/drm/planes.c
    constantsTouched: []
    func_position:
      end: 205
      start: 174
    functionDepth: 4
    functionLinenumber: 174
    functionLinenumberEnd: 205
    functionName: vlc_drm_get_crtc_primary_plane
    functionSourceFile: /src/vlc/modules/video_output/drm/planes.c
    functionUses: 1
    functionsReached:
    - vlc_drm_get_plane_prop
    - assert
    - vlc_drm_get_planes
    - free
    - vlc_drm_ioctl
    linkageType: ''
    returnType: uint_fast32_t
    signature: "uint_fast32_t vlc_drm_get_crtc_primary_plane(int fd, unsigned int
      idx,\n                                             size_t *restrict nfmt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/video_output/drm/planes.c:210,1
    - Dst: vlc_drm_fourcc
      Src: /src/vlc/modules/video_output/drm/planes.c:212,1
    - Dst: vlc_fourcc_drm
      Src: /src/vlc/modules/video_output/drm/planes.c:223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - vlc_fourcc
    - n
    - drm_fourccs
    argTypes:
    - vlc_fourcc_t
    - size_t
    - uint32_t*
    assertStmts:
    - condition: (vlc_fourcc != 0)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/vlc/modules/video_output/drm/planes.c
    constantsTouched: []
    func_position:
      end: 227
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 227
    functionName: vlc_drm_find_format
    functionSourceFile: /src/vlc/modules/video_output/drm/planes.c
    functionUses: 0
    functionsReached:
    - vlc_drm_fourcc
    - vlc_fourcc_drm
    - assert
    linkageType: ''
    returnType: uint_fast32_t
    signature: "uint_fast32_t vlc_drm_find_format(vlc_fourcc_t vlc_fourcc, size_t
      n,\n                                         const uint32_t *restrict drm_fourccs)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_alloc
      Src: /src/vlc/modules/video_output/drm/planes.c:232,1
    - Dst: unlikely
      Src: /src/vlc/modules/video_output/drm/planes.c:233,1
    - Dst: vlc_drm_ioctl
      Src: /src/vlc/modules/video_output/drm/planes.c:242,1
    - Dst: free
      Src: /src/vlc/modules/video_output/drm/planes.c:243,1
    - Dst: vlc_drm_find_format
      Src: /src/vlc/modules/video_output/drm/planes.c:252,1
    - Dst: vlc_fourcc_GetFallback
      Src: /src/vlc/modules/video_output/drm/planes.c:257,1
    - Dst: vlc_drm_find_format
      Src: /src/vlc/modules/video_output/drm/planes.c:262,1
    - Dst: free
      Src: /src/vlc/modules/video_output/drm/planes.c:268,1
    - Dst: free
      Src: /src/vlc/modules/video_output/drm/planes.c:269,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - fd
    - plane_id
    - nfmt
    - chroma
    argTypes:
    - int
    - uint_fast32_t
    - size_t
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 271
    functionName: vlc_drm_find_best_format
    functionSourceFile: /src/vlc/modules/video_output/drm/planes.c
    functionUses: 1
    functionsReached:
    - vlc_drm_find_format
    - vlc_fourcc_GetFallback
    - free
    - vlc_alloc
    - unlikely
    - vlc_drm_ioctl
    linkageType: ''
    returnType: uint_fast32_t
    signature: "uint_fast32_t vlc_drm_find_best_format(int fd, uint_fast32_t plane_id,\n
      \                                      size_t nfmt, vlc_fourcc_t chroma)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/drm/fourcc.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - vlc_fourcc
    argTypes:
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 188
    functionName: vlc_drm_fourcc
    functionSourceFile: /src/vlc/modules/video_output/drm/fourcc.c
    functionUses: 2
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: uint_fast32_t
    signature: uint_fast32_t vlc_drm_fourcc(vlc_fourcc_t vlc_fourcc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/video_output/drm/fourcc.c:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - drm_fourcc
    argTypes:
    - uint_fast32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: vlc_fourcc_drm
    functionSourceFile: /src/vlc/modules/video_output/drm/fourcc.c
    functionUses: 2
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t vlc_fourcc_drm(uint_fast32_t drm_fourcc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/vlc/modules/video_output/drm/vlc_drm.h:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - cmd
    - argp
    argTypes:
    - int
    - unsigned long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: vlc_drm_ioctl
    functionSourceFile: /src/vlc/modules/video_output/drm/vlc_drm.h
    functionUses: 11
    functionsReached:
    - ioctl
    linkageType: ''
    returnType: int
    signature: int vlc_drm_ioctl(int fd, unsigned long cmd, void *argp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/mft_d3d.cpp:47,1
    - Dst: Get
      Src: /src/vlc/modules/codec/mft_d3d.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (dxgi_manager.Get() == nullptr)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/vlc/modules/codec/mft_d3d.cpp
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: vlc_mf_d3d::~vlc_mf_d3d()
    functionSourceFile: /src/vlc/modules/codec/mft_d3d.cpp
    functionUses: 0
    functionsReached:
    - assert
    - Get
    linkageType: ''
    returnType: void
    signature: void vlc_mf_d3d::~vlc_mf_d3d()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibraryExA
      Src: /src/vlc/modules/codec/mft_d3d.cpp:53,1
    - Dst: reinterpret_cast<decltype(fptr_MFCreateDXGIDeviceManager)>
      Src: /src/vlc/modules/codec/mft_d3d.cpp:56,1
    - Dst: GetProcAddress
      Src: /src/vlc/modules/codec/mft_d3d.cpp:57,1
    - Dst: FreeLibrary
      Src: /src/vlc/modules/codec/mft_d3d.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: vlc_mf_d3d::Init
    functionSourceFile: /src/vlc/modules/codec/mft_d3d.cpp
    functionUses: 0
    functionsReached:
    - GetProcAddress
    - FreeLibrary
    - LoadLibraryExA
    - reinterpret_cast<decltype(fptr_MFCreateDXGIDeviceManager)>
    linkageType: ''
    returnType: void
    signature: void vlc_mf_d3d::Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: vlc_mf_d3d::CanUseD3D
    functionSourceFile: /src/vlc/modules/codec/mft_d3d.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool vlc_mf_d3d::CanUseD3D() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mf_d3d::CanUseD3D
      Src: /src/vlc/modules/codec/mft_d3d.cpp:75,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/codec/mft_d3d.cpp:77,1
    - Dst: fptr_MFCreateDXGIDeviceManager
      Src: /src/vlc/modules/codec/mft_d3d.cpp:83,1
    - Dst: MFCreateDXGIDeviceManager
      Src: /src/vlc/modules/codec/mft_d3d.cpp:85,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft_d3d.cpp:87,1
    - Dst: MFResetDXGIDeviceManagerX
      Src: /src/vlc/modules/codec/mft_d3d.cpp:91,1
    - Dst: Get
      Src: /src/vlc/modules/codec/mft_d3d.cpp:91,1
    - Dst: ResetDevice
      Src: /src/vlc/modules/codec/mft_d3d.cpp:93,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft_d3d.cpp:95,1
    - Dst: OpenDeviceHandle
      Src: /src/vlc/modules/codec/mft_d3d.cpp:98,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft_d3d.cpp:99,1
    - Dst: ProcessMessage
      Src: /src/vlc/modules/codec/mft_d3d.cpp:102,1
    - Dst: Get
      Src: /src/vlc/modules/codec/mft_d3d.cpp:102,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/codec/mft_d3d.cpp:103,1
    - Dst: CloseDeviceHandle
      Src: /src/vlc/modules/codec/mft_d3d.cpp:112,1
    - Dst: Reset
      Src: /src/vlc/modules/codec/mft_d3d.cpp:115,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - logger
    - device
    - ' mft'
    argTypes:
    - vlc_logger*
    - IGraphicsUnknown*
    - ComPtr<IMFTransform>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 117
    functionName: vlc_mf_d3d::SetD3D
    functionSourceFile: /src/vlc/modules/codec/mft_d3d.cpp
    functionUses: 0
    functionsReached:
    - OpenDeviceHandle
    - CloseDeviceHandle
    - vlc_warning
    - ResetDevice
    - FAILED
    - Reset
    - Get
    - MFCreateDXGIDeviceManager
    - fptr_MFCreateDXGIDeviceManager
    - SUCCEEDED
    - MFResetDXGIDeviceManagerX
    - ProcessMessage
    - vlc_mf_d3d::CanUseD3D
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT vlc_mf_d3d::SetD3D(vlc_logger *logger, IGraphicsUnknown *device,
      ComPtr<IMFTransform> & mft)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/vlc/modules/codec/mft_d3d.cpp:121,1
    - Dst: Get
      Src: /src/vlc/modules/codec/mft_d3d.cpp:123,1
    - Dst: ProcessMessage
      Src: /src/vlc/modules/codec/mft_d3d.cpp:128,1
    - Dst: CloseDeviceHandle
      Src: /src/vlc/modules/codec/mft_d3d.cpp:133,1
    - Dst: Reset
      Src: /src/vlc/modules/codec/mft_d3d.cpp:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' mft'
    argTypes:
    - ComPtr<IMFTransform>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 138
    functionName: vlc_mf_d3d::ReleaseD3D
    functionSourceFile: /src/vlc/modules/codec/mft_d3d.cpp
    functionUses: 0
    functionsReached:
    - ProcessMessage
    - CloseDeviceHandle
    - Reset
    - Get
    linkageType: ''
    returnType: void
    signature: void vlc_mf_d3d::ReleaseD3D(ComPtr<IMFTransform> & mft)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/vlc/modules/codec/mft_d3d.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: MFHW_d3d::MFHW_d3d
    functionSourceFile: /src/vlc/modules/codec/mft_d3d.cpp
    functionUses: 0
    functionsReached:
    - Init
    linkageType: ''
    returnType: void
    signature: void MFHW_d3d::MFHW_d3d()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MFHW_d3d::SetD3D
      Src: /src/vlc/modules/codec/mft_d3d.cpp:147,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/codec/mft_d3d.cpp:148,1
    - Dst: vlc_decoder_device_Hold
      Src: /src/vlc/modules/codec/mft_d3d.cpp:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - logger
    - ' dec_dev'
    - device
    - ' mft'
    argTypes:
    - vlc_logger*
    - vlc_decoder_device
    - IGraphicsUnknown*
    - ComPtr<IMFTransform>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: MFHW_d3d::SetD3D
    functionSourceFile: /src/vlc/modules/codec/mft_d3d.cpp
    functionUses: 1
    functionsReached:
    - MFHW_d3d::SetD3D
    - SUCCEEDED
    - vlc_decoder_device_Hold
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT MFHW_d3d::SetD3D(vlc_logger *logger, vlc_decoder_device & dec_dev,
      IGraphicsUnknown *device, ComPtr<IMFTransform> & mft)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseD3D
      Src: /src/vlc/modules/codec/mft_d3d.cpp:158,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/codec/mft_d3d.cpp:161,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/codec/mft_d3d.cpp:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' mft'
    argTypes:
    - ComPtr<IMFTransform>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 169
    functionName: MFHW_d3d::Release
    functionSourceFile: /src/vlc/modules/codec/mft_d3d.cpp
    functionUses: 0
    functionsReached:
    - vlc_video_context_Release
    - ReleaseD3D
    - vlc_decoder_device_Release
    linkageType: ''
    returnType: void
    signature: void MFHW_d3d::Release(ComPtr<IMFTransform> & mft)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: CC_PKT_BYTE0
    functionSourceFile: /src/vlc/modules/codec/cc.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CC_PKT_BYTE0(field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - c
    argTypes:
    - cc_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: cc_Init
    functionSourceFile: /src/vlc/modules/codec/cc.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cc_Init( cc_data_t *c )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/cc.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - cc_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: cc_Exit
    functionSourceFile: /src/vlc/modules/codec/cc.h
    functionUses: 3
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void cc_Exit( cc_data_t *c )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - cc_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: cc_Flush
    functionSourceFile: /src/vlc/modules/codec/cc.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cc_Flush( cc_data_t *c )
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: INT64_C
      Src: /src/vlc/modules/codec/cc.h:161,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/codec/cc.h:178,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 3
    argNames:
    - c
    - b_start
    - cc
    argTypes:
    - cc_data_t*
    - bool
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 186
    functionName: cc_ProbeCEA708OneByte
    functionSourceFile: /src/vlc/modules/codec/cc.h
    functionUses: 0
    functionsReached:
    - INT64_C
    - vlc_assert_unreachable
    linkageType: ''
    returnType: void
    signature: void cc_ProbeCEA708OneByte( cc_data_t *c, bool b_start, const uint8_t
      cc )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cc_ProbeCEA708OneByte
      Src: /src/vlc/modules/codec/cc.h:191,1
    - Dst: cc_ProbeCEA708OneByte
      Src: /src/vlc/modules/codec/cc.h:193,1
    - Dst: cc_ProbeCEA708OneByte
      Src: /src/vlc/modules/codec/cc.h:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - c
    - i_field
    - cc
    argTypes:
    - cc_data_t*
    - uint8_t
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 195
    functionName: cc_ProbeCEA708
    functionSourceFile: /src/vlc/modules/codec/cc.h
    functionUses: 0
    functionsReached:
    - cc_ProbeCEA708OneByte
    linkageType: ''
    returnType: void
    signature: void cc_ProbeCEA708( cc_data_t *c, uint8_t i_field, const uint8_t cc[2]
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/cc.h:199,1
    - Dst: cc_ProbeCEA708
      Src: /src/vlc/modules/codec/cc.h:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - c
    - cc_preamble
    - cc
    argTypes:
    - cc_data_t*
    - uint8_t
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 197
    functionDepth: 3
    functionLinenumber: 197
    functionLinenumberEnd: 218
    functionName: cc_AppendData
    functionSourceFile: /src/vlc/modules/codec/cc.h
    functionUses: 1
    functionsReached:
    - cc_ProbeCEA708
    - ARRAY_SIZE
    linkageType: ''
    returnType: bool
    signature: bool cc_AppendData( cc_data_t *c, uint8_t cc_preamble, const uint8_t
      cc[2] )
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: cc_AppendData
      Src: /src/vlc/modules/codec/cc.h:237,1
    - Dst: cc_AppendData
      Src: /src/vlc/modules/codec/cc.h:282,1
    - Dst: cc_AppendData
      Src: /src/vlc/modules/codec/cc.h:317,1
    - Dst: CC_PKT_BYTE0
      Src: /src/vlc/modules/codec/cc.h:317,1
    - Dst: cc_AppendData
      Src: /src/vlc/modules/codec/cc.h:333,1
    - Dst: CC_PKT_BYTE0
      Src: /src/vlc/modules/codec/cc.h:333,1
    - Dst: bs_init
      Src: /src/vlc/modules/codec/cc.h:357,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/cc.h:358,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/cc.h:361,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/cc.h:362,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/cc.h:363,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/cc.h:369,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/cc.h:371,1
    - Dst: cc_AppendData
      Src: /src/vlc/modules/codec/cc.h:381,1
    - Dst: CC_PKT_BYTE0
      Src: /src/vlc/modules/codec/cc.h:381,1
    - Dst: cc_AppendData
      Src: /src/vlc/modules/codec/cc.h:440,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 102
    argCount: 5
    argNames:
    - c
    - i_payload_type
    - b_top_field_first
    - p_src
    - i_src
    argTypes:
    - cc_data_t*
    - enum cc_payload_type_e
    - bool
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 220
    functionDepth: 4
    functionLinenumber: 220
    functionLinenumberEnd: 447
    functionName: cc_Extract
    functionSourceFile: /src/vlc/modules/codec/cc.h
    functionUses: 2
    functionsReached:
    - bs_skip
    - CC_PKT_BYTE0
    - bs_read
    - cc_AppendData
    - bs_init
    linkageType: ''
    returnType: void
    signature: "void cc_Extract( cc_data_t *c, enum cc_payload_type_e i_payload_type,\n
      \                              bool b_top_field_first, const uint8_t *p_src,
      int i_src )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/codec/cc.h:465,1
    - Dst: memcmp
      Src: /src/vlc/modules/codec/cc.h:472,1
    - Dst: memcmp
      Src: /src/vlc/modules/codec/cc.h:477,1
    - Dst: memcmp
      Src: /src/vlc/modules/codec/cc.h:477,1
    - Dst: memcmp
      Src: /src/vlc/modules/codec/cc.h:478,1
    - Dst: memcmp
      Src: /src/vlc/modules/codec/cc.h:478,1
    - Dst: memcmp
      Src: /src/vlc/modules/codec/cc.h:482,1
    - Dst: memcmp
      Src: /src/vlc/modules/codec/cc.h:483,1
    - Dst: fprintf
      Src: /src/vlc/modules/codec/cc.h:501,1
    - Dst: fprintf
      Src: /src/vlc/modules/codec/cc.h:503,1
    - Dst: fprintf
      Src: /src/vlc/modules/codec/cc.h:505,1
    - Dst: V
      Src: /src/vlc/modules/codec/cc.h:505,1
    - Dst: fprintf
      Src: /src/vlc/modules/codec/cc.h:506,1
    - Dst: cc_Extract
      Src: /src/vlc/modules/codec/cc.h:512,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 4
    argNames:
    - c
    - b_top_field_first
    - p_src
    - i_src
    argTypes:
    - cc_data_t*
    - bool
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 450
    functionDepth: 5
    functionLinenumber: 450
    functionLinenumberEnd: 513
    functionName: cc_ProbeAndExtract
    functionSourceFile: /src/vlc/modules/codec/cc.h
    functionUses: 2
    functionsReached:
    - fprintf
    - cc_Extract
    - memcmp
    - V
    linkageType: ''
    returnType: void
    signature: void cc_ProbeAndExtract( cc_data_t *c, bool b_top_field_first, const
      uint8_t *p_src, int i_src )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 501
    functionName: V
    functionSourceFile: /src/vlc/modules/codec/cc.h
    functionUses: 93
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: V(x)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/codec/zvbi.c:218,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/zvbi.c:221,1
    - Dst: calloc
      Src: /src/vlc/modules/codec/zvbi.c:225,1
    - Dst: vbi_decoder_new
      Src: /src/vlc/modules/codec/zvbi.c:231,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/codec/zvbi.c:232,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/zvbi.c:236,1
    - Dst: Close
      Src: /src/vlc/modules/codec/zvbi.c:237,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/zvbi.c:247,1
    - Dst: vbi_teletext_set_default_region
      Src: /src/vlc/modules/codec/zvbi.c:249,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/zvbi.c:250,1
    - Dst: vbi_event_handler_register
      Src: /src/vlc/modules/codec/zvbi.c:254,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/codec/zvbi.c:263,1
    - Dst: vbi_bcd2dec
      Src: /src/vlc/modules/codec/zvbi.c:269,1
    - Dst: var_SetInteger
      Src: /src/vlc/modules/codec/zvbi.c:270,1
    - Dst: var_CreateGetBool
      Src: /src/vlc/modules/codec/zvbi.c:274,1
    - Dst: var_AddCallback
      Src: /src/vlc/modules/codec/zvbi.c:275,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/codec/zvbi.c:277,1
    - Dst: var_CreateGetBool
      Src: /src/vlc/modules/codec/zvbi.c:279,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/codec/zvbi.c:281,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 287
    functionName: Open
    functionSourceFile: /src/vlc/modules/codec/zvbi.c
    functionUses: 67
    functionsReached:
    - vbi_event_handler_register
    - vbi_bcd2dec
    - vbi_teletext_set_default_region
    - var_AddCallback
    - vbi_decoder_new
    - vlc_mutex_init
    - var_CreateGetBool
    - msg_Err
    - calloc
    - var_SetInteger
    - msg_Dbg
    - var_CreateGetInteger
    - strcasecmp
    - msg_Warn
    - Close
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: var_DelCallback
      Src: /src/vlc/modules/codec/zvbi.c:297,1
    - Dst: var_DelCallback
      Src: /src/vlc/modules/codec/zvbi.c:298,1
    - Dst: vbi_decoder_delete
      Src: /src/vlc/modules/codec/zvbi.c:301,1
    - Dst: free
      Src: /src/vlc/modules/codec/zvbi.c:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 303
    functionName: Close
    functionSourceFile: /src/vlc/modules/codec/zvbi.c
    functionUses: 174
    functionsReached:
    - free
    - var_DelCallback
    - vbi_decoder_delete
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: vbi_rev8
      Src: /src/vlc/modules/codec/zvbi.c:354,1
    - Dst: vbi_decode
      Src: /src/vlc/modules/codec/zvbi.c:364,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/zvbi.c:368,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/zvbi.c:371,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/zvbi.c:372,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/zvbi.c:380,1
    - Dst: memset
      Src: /src/vlc/modules/codec/zvbi.c:383,1
    - Dst: vbi_fetch_vt_page
      Src: /src/vlc/modules/codec/zvbi.c:384,1
    - Dst: vbi_dec2bcd
      Src: /src/vlc/modules/codec/zvbi.c:385,1
    - Dst: Subpicture
      Src: /src/vlc/modules/codec/zvbi.c:397,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/zvbi.c:413,1
    - Dst: get_first_visible_row
      Src: /src/vlc/modules/codec/zvbi.c:418,1
    - Dst: get_last_visible_row
      Src: /src/vlc/modules/codec/zvbi.c:424,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/zvbi.c:427,1
    - Dst: Subpicture
      Src: /src/vlc/modules/codec/zvbi.c:433,1
    - Dst: __MAX
      Src: /src/vlc/modules/codec/zvbi.c:434,1
    - Dst: vbi_print_page_region
      Src: /src/vlc/modules/codec/zvbi.c:451,1
    - Dst: isspace
      Src: /src/vlc/modules/codec/zvbi.c:454,1
    - Dst: isspace
      Src: /src/vlc/modules/codec/zvbi.c:460,1
    - Dst: text_segment_New
      Src: /src/vlc/modules/codec/zvbi.c:464,1
    - Dst: subpicture_Delete
      Src: /src/vlc/modules/codec/zvbi.c:467,1
    - Dst: text_style_Create
      Src: /src/vlc/modules/codec/zvbi.c:473,1
    - Dst: msg_Info
      Src: /src/vlc/modules/codec/zvbi.c:487,1
    - Dst: vlc_spu_regions_first_or_null
      Src: /src/vlc/modules/codec/zvbi.c:493,1
    - Dst: vbi_draw_vt_page_region
      Src: /src/vlc/modules/codec/zvbi.c:507,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/zvbi.c:512,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/zvbi.c:513,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/zvbi.c:514,1
    - Dst: OpaquePage
      Src: /src/vlc/modules/codec/zvbi.c:516,1
    - Dst: vbi_unref_page
      Src: /src/vlc/modules/codec/zvbi.c:520,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/zvbi.c:521,1
    - Dst: decoder_QueueSub
      Src: /src/vlc/modules/codec/zvbi.c:523,1
    - Dst: vbi_unref_page
      Src: /src/vlc/modules/codec/zvbi.c:527,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/zvbi.c:528,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 121
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 530
    functionName: Decode
    functionSourceFile: /src/vlc/modules/codec/zvbi.c
    functionUses: 14
    functionsReached:
    - vbi_decode
    - vbi_draw_vt_page_region
    - memcpy
    - vbi_print_page_region
    - vlc_mutex_lock
    - isspace
    - subpicture_Delete
    - __MAX
    - msg_Dbg
    - vlc_spu_regions_first_or_null
    - get_first_visible_row
    - decoder_QueueSub
    - text_segment_New
    - text_style_Create
    - vbi_fetch_vt_page
    - vbi_dec2bcd
    - get_last_visible_row
    - Subpicture
    - block_Release
    - vbi_unref_page
    - vlc_mutex_unlock
    - memset
    - OpaquePage
    - msg_Info
    - vbi_rev8
    linkageType: ''
    returnType: int
    signature: int Decode( decoder_t *p_dec, block_t *p_block )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: decoder_NewSubpictureText
      Src: /src/vlc/modules/codec/zvbi.c:542,1
    - Dst: decoder_NewSubpicture
      Src: /src/vlc/modules/codec/zvbi.c:544,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/zvbi.c:547,1
    - Dst: video_format_Init
      Src: /src/vlc/modules/codec/zvbi.c:555,1
    - Dst: subpicture_region_New
      Src: /src/vlc/modules/codec/zvbi.c:559,1
    - Dst: subpicture_region_NewText
      Src: /src/vlc/modules/codec/zvbi.c:566,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/zvbi.c:571,1
    - Dst: subpicture_Delete
      Src: /src/vlc/modules/codec/zvbi.c:572,1
    - Dst: vlc_spu_regions_push
      Src: /src/vlc/modules/codec/zvbi.c:575,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/codec/zvbi.c:580,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 6
    argNames:
    - p_dec
    - b_text
    - i_columns
    - i_rows
    - i_align
    - i_pts
    argTypes:
    - decoder_t*
    - bool
    - int
    - int
    - int
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 596
    functionName: Subpicture
    functionSourceFile: /src/vlc/modules/codec/zvbi.c
    functionUses: 15
    functionsReached:
    - decoder_NewSubpicture
    - video_format_Init
    - decoder_NewSubpictureText
    - VLC_TICK_FROM_SEC
    - vlc_spu_regions_push
    - msg_Err
    - subpicture_Delete
    - msg_Warn
    - subpicture_region_NewText
    - subpicture_region_New
    linkageType: ''
    returnType: subpicture_t
    signature: "subpicture_t *Subpicture( decoder_t *p_dec,\n                                 bool
      b_text,\n                                 int i_columns, int i_rows, int i_align,\n
      \                                vlc_tick_t i_pts )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: msg_Info
      Src: /src/vlc/modules/codec/zvbi.c:606,1
    - Dst: vbi_bcd2dec
      Src: /src/vlc/modules/codec/zvbi.c:610,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/zvbi.c:614,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/zvbi.c:616,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/zvbi.c:620,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/zvbi.c:622,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/zvbi.c:625,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/zvbi.c:627,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/zvbi.c:630,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/zvbi.c:632,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/zvbi.c:634,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/zvbi.c:636,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - ev
    - user_data
    argTypes:
    - vbi_event*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 637
    functionName: EventHandler
    functionSourceFile: /src/vlc/modules/codec/zvbi.c
    functionUses: 5
    functionsReached:
    - msg_Info
    - vbi_bcd2dec
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void EventHandler( vbi_event *ev, void *user_data )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - p_text
    - rows
    - columns
    argTypes:
    - vbi_char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 650
    functionName: get_first_visible_row
    functionSourceFile: /src/vlc/modules/codec/zvbi.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_first_visible_row( vbi_char *p_text, int rows, int columns)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - p_text
    - rows
    - columns
    argTypes:
    - vbi_char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 663
    functionName: get_last_visible_row
    functionSourceFile: /src/vlc/modules/codec/zvbi.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_last_visible_row( vbi_char *p_text, int rows, int columns)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/zvbi.c:670,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 4
    argNames:
    - p_src
    - p_page
    - b_opaque
    - text_offset
    argTypes:
    - picture_t*
    - vbi_page*
    - bool
    - int
    assertStmts:
    - condition: ( p_src->format.i_chroma == VLC_CODEC_RGBA )
      pos:
        line_end: 669
        line_start: 669
        source_file: /src/vlc/modules/codec/zvbi.c
    constantsTouched: []
    func_position:
      end: 707
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 707
    functionName: OpaquePage
    functionSourceFile: /src/vlc/modules/codec/zvbi.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: "int OpaquePage( picture_t *p_src, const vbi_page *p_page,\n                       bool
      b_opaque, const int text_offset )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/zvbi.c:714,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/zvbi.c:714,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/zvbi.c:714,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/zvbi.c:717,1
    - Dst: vbi_bcd2dec
      Src: /src/vlc/modules/codec/zvbi.c:739,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/zvbi.c:750,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 5
    argNames:
    - p_this
    - psz_cmd
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 753
    functionName: RequestPage
    functionSourceFile: /src/vlc/modules/codec/zvbi.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_lock
    - vbi_bcd2dec
    - vlc_mutex_unlock
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int RequestPage( vlc_object_t *p_this, char const *psz_cmd,\n                        vlc_value_t
      oldval, vlc_value_t newval, void *p_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/zvbi.c:759,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/zvbi.c:759,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/zvbi.c:759,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/zvbi.c:761,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/zvbi.c:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - p_this
    - psz_cmd
    - oldval
    - newval
    - p_data
    argTypes:
    - vlc_object_t*
    - char*
    - vlc_value_t
    - vlc_value_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 767
    functionName: Opaque
    functionSourceFile: /src/vlc/modules/codec/zvbi.c
    functionUses: 8
    functionsReached:
    - vlc_mutex_lock
    - vlc_mutex_unlock
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: "int Opaque( vlc_object_t *p_this, char const *psz_cmd,\n                   vlc_value_t
      oldval, vlc_value_t newval, void *p_data )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/daala.c:170,1
    - Dst: daala_comment_init
      Src: /src/vlc/modules/codec/daala.c:193,1
    - Dst: daala_info_init
      Src: /src/vlc/modules/codec/daala.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - p_this
    - b_packetizer
    argTypes:
    - vlc_object_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 197
    functionName: OpenCommon
    functionSourceFile: /src/vlc/modules/codec/daala.c
    functionUses: 19
    functionsReached:
    - daala_comment_init
    - malloc
    - daala_info_init
    linkageType: ''
    returnType: int
    signature: int OpenCommon( vlc_object_t *p_this, bool b_packetizer )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenCommon
      Src: /src/vlc/modules/codec/daala.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/modules/codec/daala.c
    functionUses: 0
    functionsReached:
    - OpenCommon
    linkageType: ''
    returnType: int
    signature: int OpenDecoder( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenCommon
      Src: /src/vlc/modules/codec/daala.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: OpenPacketizer
    functionSourceFile: /src/vlc/modules/codec/daala.c
    functionUses: 1
    functionsReached:
    - OpenCommon
    linkageType: ''
    returnType: int
    signature: int OpenPacketizer( vlc_object_t *p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ProcessHeaders
      Src: /src/vlc/modules/codec/daala.c:233,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/daala.c:235,1
    - Dst: ProcessPacket
      Src: /src/vlc/modules/codec/daala.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 250
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/codec/daala.c
    functionUses: 2
    functionsReached:
    - ProcessPacket
    - block_Release
    - ProcessHeaders
    linkageType: ''
    returnType: void
    signature: void *DecodeBlock( decoder_t *p_dec, block_t *p_block )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DecodeBlock
      Src: /src/vlc/modules/codec/daala.c:257,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/modules/codec/daala.c:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 261
    functionName: DecodeVideo
    functionSourceFile: /src/vlc/modules/codec/daala.c
    functionUses: 4
    functionsReached:
    - DecodeBlock
    - decoder_QueueVideo
    linkageType: ''
    returnType: int
    signature: int DecodeVideo( decoder_t *p_dec, block_t *p_block )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DecodeBlock
      Src: /src/vlc/modules/codec/daala.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 271
    functionName: Packetize
    functionSourceFile: /src/vlc/modules/codec/daala.c
    functionUses: 9
    functionsReached:
    - DecodeBlock
    linkageType: ''
    returnType: block_t
    signature: block_t *Packetize( decoder_t *p_dec, block_t **pp_block )
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: xiph_SplitHeaders
      Src: /src/vlc/modules/codec/daala.c:286,1
    - Dst: daala_decode_header_in
      Src: /src/vlc/modules/codec/daala.c:300,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/daala.c:302,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/daala.c:324,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/daala.c:353,1
    - Dst: daala_decode_header_in
      Src: /src/vlc/modules/codec/daala.c:362,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/daala.c:364,1
    - Dst: ParseDaalaComments
      Src: /src/vlc/modules/codec/daala.c:369,1
    - Dst: daala_decode_header_in
      Src: /src/vlc/modules/codec/daala.c:377,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/daala.c:379,1
    - Dst: daala_decode_create
      Src: /src/vlc/modules/codec/daala.c:387,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/daala.c:389,1
    - Dst: realloc
      Src: /src/vlc/modules/codec/daala.c:396,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/daala.c:398,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/daala.c:405,1
    - Dst: daala_setup_free
      Src: /src/vlc/modules/codec/daala.c:411,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 85
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 414
    functionName: ProcessHeaders
    functionSourceFile: /src/vlc/modules/codec/daala.c
    functionUses: 1
    functionsReached:
    - ParseDaalaComments
    - xiph_SplitHeaders
    - daala_decode_create
    - realloc
    - unlikely
    - memcpy
    - msg_Err
    - daala_setup_free
    - msg_Dbg
    - daala_decode_header_in
    linkageType: ''
    returnType: int
    signature: int ProcessHeaders( decoder_t *p_dec )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/codec/daala.c:430,1
    - Dst: DecodePacket
      Src: /src/vlc/modules/codec/daala.c:451,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/daala.c:452,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/codec/daala.c:456,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - p_dec
    - p_dpacket
    - p_block
    argTypes:
    - decoder_t*
    - daala_packet*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 460
    functionName: ProcessPacket
    functionSourceFile: /src/vlc/modules/codec/daala.c
    functionUses: 1
    functionsReached:
    - vlc_tick_from_samples
    - block_Release
    - DecodePacket
    linkageType: ''
    returnType: void
    signature: "void *ProcessPacket( decoder_t *p_dec, daala_packet *p_dpacket,\n
      \                           block_t *p_block )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: daala_decode_packet_in
      Src: /src/vlc/modules/codec/daala.c:471,1
    - Dst: daala_decode_img_out
      Src: /src/vlc/modules/codec/daala.c:474,1
    - Dst: daala_packet_iskeyframe
      Src: /src/vlc/modules/codec/daala.c:478,1
    - Dst: decoder_UpdateVideoFormat
      Src: /src/vlc/modules/codec/daala.c:482,1
    - Dst: decoder_NewPicture
      Src: /src/vlc/modules/codec/daala.c:484,1
    - Dst: daala_CopyPicture
      Src: /src/vlc/modules/codec/daala.c:487,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - p_dec
    - p_dpacket
    argTypes:
    - decoder_t*
    - daala_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 492
    functionName: DecodePacket
    functionSourceFile: /src/vlc/modules/codec/daala.c
    functionUses: 2
    functionsReached:
    - decoder_UpdateVideoFormat
    - daala_decode_img_out
    - daala_packet_iskeyframe
    - daala_CopyPicture
    - daala_decode_packet_in
    - decoder_NewPicture
    linkageType: ''
    returnType: picture_t
    signature: picture_t *DecodePacket( decoder_t *p_dec, daala_packet *p_dpacket
      )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/daala.c:520,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/daala.c:523,1
    - Dst: strchr
      Src: /src/vlc/modules/codec/daala.c:527,1
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/codec/daala.c:534,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/codec/daala.c:538,1
    - Dst: free
      Src: /src/vlc/modules/codec/daala.c:540,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 542
    functionName: ParseDaalaComments
    functionSourceFile: /src/vlc/modules/codec/daala.c
    functionUses: 1
    functionsReached:
    - strchr
    - vlc_meta_New
    - memcpy
    - free
    - malloc
    - vlc_meta_SetExtra
    linkageType: ''
    returnType: void
    signature: void ParseDaalaComments( decoder_t *p_dec )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: daala_info_clear
      Src: /src/vlc/modules/codec/daala.c:552,1
    - Dst: daala_comment_clear
      Src: /src/vlc/modules/codec/daala.c:553,1
    - Dst: daala_decode_free
      Src: /src/vlc/modules/codec/daala.c:554,1
    - Dst: free
      Src: /src/vlc/modules/codec/daala.c:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 556
    functionName: CloseDecoder
    functionSourceFile: /src/vlc/modules/codec/daala.c
    functionUses: 2
    functionsReached:
    - free
    - daala_decode_free
    - daala_comment_clear
    - daala_info_clear
    linkageType: ''
    returnType: void
    signature: void CloseDecoder( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __MIN
      Src: /src/vlc/modules/codec/daala.c:565,1
    - Dst: __MIN
      Src: /src/vlc/modules/codec/daala.c:569,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/codec/daala.c:574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - p_pic
    - ycbcr
    argTypes:
    - picture_t*
    - daala_image*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 576
    functionName: daala_CopyPicture
    functionSourceFile: /src/vlc/modules/codec/daala.c
    functionUses: 1
    functionsReached:
    - __MIN
    - plane_CopyPixels
    linkageType: ''
    returnType: void
    signature: "void daala_CopyPicture( picture_t *p_pic,\n                               daala_image
      *ycbcr )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/daala.c:600,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/codec/daala.c:607,1
    - Dst: var_GetString
      Src: /src/vlc/modules/codec/daala.c:609,1
    - Dst: free
      Src: /src/vlc/modules/codec/daala.c:612,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/daala.c:615,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/daala.c:618,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/daala.c:622,1
    - Dst: free
      Src: /src/vlc/modules/codec/daala.c:623,1
    - Dst: free
      Src: /src/vlc/modules/codec/daala.c:624,1
    - Dst: free
      Src: /src/vlc/modules/codec/daala.c:627,1
    - Dst: video_format_Setup
      Src: /src/vlc/modules/codec/daala.c:630,1
    - Dst: daala_info_init
      Src: /src/vlc/modules/codec/daala.c:639,1
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/codec/daala.c:668,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/daala.c:680,1
    - Dst: daala_encode_create
      Src: /src/vlc/modules/codec/daala.c:683,1
    - Dst: free
      Src: /src/vlc/modules/codec/daala.c:686,1
    - Dst: daala_comment_init
      Src: /src/vlc/modules/codec/daala.c:690,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/daala.c:692,1
    - Dst: daala_encode_ctl
      Src: /src/vlc/modules/codec/daala.c:693,1
    - Dst: daala_encode_flush_header
      Src: /src/vlc/modules/codec/daala.c:696,1
    - Dst: CloseEncoder
      Src: /src/vlc/modules/codec/daala.c:700,1
    - Dst: xiph_AppendHeaders
      Src: /src/vlc/modules/codec/daala.c:703,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 73
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 586
    functionDepth: 3
    functionLinenumber: 586
    functionLinenumberEnd: 720
    functionName: OpenEncoder
    functionSourceFile: /src/vlc/modules/codec/daala.c
    functionUses: 0
    functionsReached:
    - daala_comment_init
    - var_GetString
    - video_format_Setup
    - CloseEncoder
    - daala_encode_create
    - config_ChainParse
    - free
    - strcmp
    - msg_Err
    - daala_encode_ctl
    - daala_encode_flush_header
    - daala_info_init
    - vlc_ureduce
    - xiph_AppendHeaders
    - var_GetInteger
    - malloc
    linkageType: ''
    returnType: int
    signature: int OpenEncoder( vlc_object_t *p_this )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/daala.c:738,1
    - Dst: daala_encode_img_in
      Src: /src/vlc/modules/codec/daala.c:761,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/daala.c:763,1
    - Dst: daala_encode_packet_out
      Src: /src/vlc/modules/codec/daala.c:767,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/daala.c:770,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/daala.c:771,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/daala.c:774,1
    - Dst: daala_packet_iskeyframe
      Src: /src/vlc/modules/codec/daala.c:777,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - p_enc
    - p_pict
    argTypes:
    - encoder_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 781
    functionName: Encode
    functionSourceFile: /src/vlc/modules/codec/daala.c
    functionUses: 0
    functionsReached:
    - daala_encode_img_in
    - memcpy
    - msg_Err
    - block_Alloc
    - daala_packet_iskeyframe
    - msg_Warn
    - daala_encode_packet_out
    - unlikely
    linkageType: ''
    returnType: block_t
    signature: block_t *Encode( encoder_t *p_enc, picture_t *p_pict )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: daala_info_clear
      Src: /src/vlc/modules/codec/daala.c:787,1
    - Dst: daala_comment_clear
      Src: /src/vlc/modules/codec/daala.c:788,1
    - Dst: daala_encode_free
      Src: /src/vlc/modules/codec/daala.c:789,1
    - Dst: free
      Src: /src/vlc/modules/codec/daala.c:790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_enc
    argTypes:
    - encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 791
    functionName: CloseEncoder
    functionSourceFile: /src/vlc/modules/codec/daala.c
    functionUses: 1
    functionsReached:
    - free
    - daala_encode_free
    - daala_comment_clear
    - daala_info_clear
    linkageType: ''
    returnType: void
    signature: void CloseEncoder( encoder_t *p_enc )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/vlc/modules/codec/ddummy.c:91,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/codec/ddummy.c:94,1
    - Dst: vlc_fopen
      Src: /src/vlc/modules/codec/ddummy.c:97,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/ddummy.c:100,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/ddummy.c:103,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/codec/ddummy.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - p_this
    - b_force_dump
    argTypes:
    - vlc_object_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 115
    functionName: OpenDecoderCommon
    functionSourceFile: /src/vlc/modules/codec/ddummy.c
    functionUses: 0
    functionsReached:
    - var_InheritBool
    - msg_Err
    - vlc_fopen
    - msg_Dbg
    - es_format_Copy
    - snprintf
    linkageType: ''
    returnType: int
    signature: int OpenDecoderCommon( vlc_object_t *p_this, bool b_force_dump )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenDecoderCommon
      Src: /src/vlc/modules/codec/ddummy.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/modules/codec/ddummy.c
    functionUses: 0
    functionsReached:
    - OpenDecoderCommon
    linkageType: ''
    returnType: int
    signature: int OpenDecoder( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenDecoderCommon
      Src: /src/vlc/modules/codec/ddummy.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: OpenDecoderDump
    functionSourceFile: /src/vlc/modules/codec/ddummy.c
    functionUses: 0
    functionsReached:
    - OpenDecoderCommon
    linkageType: ''
    returnType: int
    signature: int OpenDecoderDump( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/vlc/modules/codec/ddummy.c:142,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/ddummy.c:143,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/ddummy.c:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 148
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/codec/ddummy.c
    functionUses: 4
    functionsReached:
    - block_Release
    - msg_Dbg
    - fwrite
    linkageType: ''
    returnType: int
    signature: int DecodeBlock( decoder_t *p_dec, block_t *p_block )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/vlc/modules/codec/ddummy.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: CloseDecoder
    functionSourceFile: /src/vlc/modules/codec/ddummy.c
    functionUses: 2
    functionsReached:
    - fclose
    linkageType: ''
    returnType: void
    signature: void CloseDecoder( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/qsv.c:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - sys
    argTypes:
    - encoder_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 315
    functionName: clear_unused_frames
    functionSourceFile: /src/vlc/modules/codec/qsv.c
    functionUses: 0
    functionsReached:
    - picture_Release
    linkageType: ''
    returnType: void
    signature: void clear_unused_frames(encoder_sys_t *sys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clear_unused_frames
      Src: /src/vlc/modules/codec/qsv.c:326,1
    - Dst: calloc
      Src: /src/vlc/modules/codec/qsv.c:341,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/qsv.c:342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - sys
    - out
    argTypes:
    - encoder_sys_t*
    - QSVFrame**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 350
    functionName: get_free_frame
    functionSourceFile: /src/vlc/modules/codec/qsv.c
    functionUses: 0
    functionsReached:
    - calloc
    - unlikely
    - clear_unused_frames
    linkageType: ''
    returnType: int
    signature: int get_free_frame(encoder_sys_t *sys, QSVFrame **out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/codec/qsv.c:358,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/qsv.c:362,1
    - Dst: free
      Src: /src/vlc/modules/codec/qsv.c:368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - text
    - list
    - size
    - sel
    argTypes:
    - char**
    - int*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 371
    functionName: qsv_params_get_value
    functionSourceFile: /src/vlc/modules/codec/qsv.c
    functionUses: 0
    functionsReached:
    - free
    - strcmp
    - unlikely
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t qsv_params_get_value(const char *const *text,\n                                     const
      int *list,\n                                     size_t size, char *sel)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MFXVideoENCODE_Close
      Src: /src/vlc/modules/codec/qsv.c:375,1
    - Dst: MFXClose
      Src: /src/vlc/modules/codec/qsv.c:376,1
    - Dst: MFXUnload
      Src: /src/vlc/modules/codec/qsv.c:378,1
    - Dst: assert
      Src: /src/vlc/modules/codec/qsv.c:381,1
    - Dst: vlc_list_is_empty
      Src: /src/vlc/modules/codec/qsv.c:381,1
    - Dst: picture_pool_Release
      Src: /src/vlc/modules/codec/qsv.c:384,1
    - Dst: free
      Src: /src/vlc/modules/codec/qsv.c:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sys
    argTypes:
    - encoder_sys_t*
    assertStmts:
    - condition: (vlc_list_is_empty(&sys->packets))
      pos:
        line_end: 380
        line_start: 380
        source_file: /src/vlc/modules/codec/qsv.c
    constantsTouched: []
    func_position:
      end: 387
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 387
    functionName: delete_sys
    functionSourceFile: /src/vlc/modules/codec/qsv.c
    functionUses: 0
    functionsReached:
    - assert
    - MFXUnload
    - free
    - vlc_list_is_empty
    - MFXVideoENCODE_Close
    - MFXClose
    - picture_pool_Release
    linkageType: ''
    returnType: void
    signature: void delete_sys(encoder_sys_t *sys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QSV_HAVE_CO2
      Src: /src/vlc/modules/codec/qsv.c:413,1
    - Dst: QSV_HAVE_CO2
      Src: /src/vlc/modules/codec/qsv.c:420,1
    - Dst: VLC_EGENERIC
      Src: /src/vlc/modules/codec/qsv.c:432,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/qsv.c:436,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/qsv.c:442,1
    - Dst: MFXLoad
      Src: /src/vlc/modules/codec/qsv.c:447,1
    - Dst: free
      Src: /src/vlc/modules/codec/qsv.c:450,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/codec/qsv.c:455,1
    - Dst: MFXCreateConfig
      Src: /src/vlc/modules/codec/qsv.c:457,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/qsv.c:458,1
    - Dst: MFXUnload
      Src: /src/vlc/modules/codec/qsv.c:460,1
    - Dst: free
      Src: /src/vlc/modules/codec/qsv.c:461,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 463
    functionName: Open
    functionSourceFile: /src/vlc/modules/codec/qsv.c
    functionUses: 67
    functionsReached:
    - QSV_HAVE_CO2
    - MFXUnload
    - var_InheritBool
    - VLC_EGENERIC
    - msg_Err
    - free
    - MFXLoad
    - unlikely
    - MFXCreateConfig
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delete_sys
      Src: /src/vlc/modules/codec/qsv.c:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enc
    argTypes:
    - encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 692
    functionDepth: 2
    functionLinenumber: 692
    functionLinenumberEnd: 695
    functionName: Close
    functionSourceFile: /src/vlc/modules/codec/qsv.c
    functionUses: 175
    functionsReached:
    - delete_sys
    linkageType: ''
    returnType: void
    signature: void Close(encoder_t *enc)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - block
    - frame_type
    argTypes:
    - block_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 710
    functionName: qsv_set_block_flags
    functionSourceFile: /src/vlc/modules/codec/qsv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void qsv_set_block_flags(block_t *block, uint16_t frame_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FROM_SCALE_NZ
      Src: /src/vlc/modules/codec/qsv.c:717,1
    - Dst: FROM_SCALE_NZ
      Src: /src/vlc/modules/codec/qsv.c:718,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/qsv.c:725,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - enc
    - sys
    - block
    - bs
    argTypes:
    - encoder_t*
    - encoder_sys_t*
    - block_t*
    - mfxBitstream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 728
    functionName: qsv_set_block_ts
    functionSourceFile: /src/vlc/modules/codec/qsv.c
    functionUses: 0
    functionsReached:
    - FROM_SCALE_NZ
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: void qsv_set_block_ts(encoder_t *enc, encoder_sys_t *sys, block_t *block,
      mfxBitstream *bs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MFXVideoCORE_SyncOperation
      Src: /src/vlc/modules/codec/qsv.c:737,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/qsv.c:740,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/qsv.c:746,1
    - Dst: qsv_set_block_ts
      Src: /src/vlc/modules/codec/qsv.c:753,1
    - Dst: qsv_set_block_flags
      Src: /src/vlc/modules/codec/qsv.c:754,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/codec/qsv.c:761,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - enc
    - task
    argTypes:
    - encoder_t*
    - async_task_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 730
    functionDepth: 2
    functionLinenumber: 730
    functionLinenumberEnd: 771
    functionName: qsv_synchronize_block
    functionSourceFile: /src/vlc/modules/codec/qsv.c
    functionUses: 0
    functionsReached:
    - MFXVideoCORE_SyncOperation
    - qsv_set_block_ts
    - qsv_set_block_flags
    - msg_Err
    - msg_Dbg
    - vlc_tick_from_samples
    linkageType: ''
    returnType: block_t
    signature: block_t *qsv_synchronize_block(encoder_t *enc, async_task_t *task)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_free_frame
      Src: /src/vlc/modules/codec/qsv.c:777,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/qsv.c:779,1
    - Dst: picture_pool_Get
      Src: /src/vlc/modules/codec/qsv.c:783,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/qsv.c:784,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/qsv.c:786,1
    - Dst: picture_Copy
      Src: /src/vlc/modules/codec/qsv.c:790,1
    - Dst: assert
      Src: /src/vlc/modules/codec/qsv.c:792,1
    - Dst: TO_SCALE_NZ
      Src: /src/vlc/modules/codec/qsv.c:810,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - enc
    - pic
    - new_frame
    argTypes:
    - encoder_t*
    - picture_t*
    - QSVFrame**
    assertStmts:
    - condition: (qf->pic->p[0].p_pixels + (qf->pic->p[0].i_pitch * qf->pic->p[0].i_lines)
        == qf->pic->p[1].p_pixels)
      pos:
        line_end: 791
        line_start: 791
        source_file: /src/vlc/modules/codec/qsv.c
    constantsTouched: []
    func_position:
      end: 815
      start: 773
    functionDepth: 3
    functionLinenumber: 773
    functionLinenumberEnd: 815
    functionName: submit_frame
    functionSourceFile: /src/vlc/modules/codec/qsv.c
    functionUses: 1
    functionsReached:
    - TO_SCALE_NZ
    - assert
    - msg_Warn
    - get_free_frame
    - picture_Copy
    - picture_pool_Get
    - unlikely
    linkageType: ''
    returnType: int
    signature: int submit_frame(encoder_t *enc, picture_t *pic, QSVFrame **new_frame)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/codec/qsv.c:823,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/qsv.c:824,1
    - Dst: submit_frame
      Src: /src/vlc/modules/codec/qsv.c:834,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/qsv.c:836,1
    - Dst: calloc
      Src: /src/vlc/modules/codec/qsv.c:841,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/qsv.c:842,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/qsv.c:847,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/qsv.c:848,1
    - Dst: memset
      Src: /src/vlc/modules/codec/qsv.c:851,1
    - Dst: MFXVideoENCODE_EncodeFrameAsync
      Src: /src/vlc/modules/codec/qsv.c:860,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/qsv.c:864,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/codec/qsv.c:866,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/qsv.c:873,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/qsv.c:875,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/qsv.c:877,1
    - Dst: MFXVideoENCODE_Reset
      Src: /src/vlc/modules/codec/qsv.c:878,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/qsv.c:884,1
    - Dst: free
      Src: /src/vlc/modules/codec/qsv.c:885,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 55
    argCount: 2
    argNames:
    - enc
    - pic
    argTypes:
    - encoder_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 817
    functionDepth: 4
    functionLinenumber: 817
    functionLinenumberEnd: 889
    functionName: encode_frame
    functionSourceFile: /src/vlc/modules/codec/qsv.c
    functionUses: 0
    functionsReached:
    - block_Release
    - memset
    - MFXVideoENCODE_EncodeFrameAsync
    - submit_frame
    - msg_Err
    - calloc
    - free
    - block_Alloc
    - msg_Dbg
    - msg_Warn
    - vlc_tick_sleep
    - unlikely
    - MFXVideoENCODE_Reset
    linkageType: ''
    returnType: async_task_t
    signature: async_task_t *encode_frame(encoder_t *enc, picture_t *pic)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/vlc/modules/codec/qsv.c:905,1
    - Dst: encode_frame
      Src: /src/vlc/modules/codec/qsv.c:907,1
    - Dst: likely
      Src: /src/vlc/modules/codec/qsv.c:908,1
    - Dst: vlc_list_append
      Src: /src/vlc/modules/codec/qsv.c:909,1
    - Dst: vlc_list_foreach
      Src: /src/vlc/modules/codec/qsv.c:913,1
    - Dst: vlc_list_first_entry_or_null
      Src: /src/vlc/modules/codec/qsv.c:919,1
    - Dst: assert
      Src: /src/vlc/modules/codec/qsv.c:920,1
    - Dst: vlc_list_remove
      Src: /src/vlc/modules/codec/qsv.c:921,1
    - Dst: qsv_synchronize_block
      Src: /src/vlc/modules/codec/qsv.c:922,1
    - Dst: free
      Src: /src/vlc/modules/codec/qsv.c:923,1
    - Dst: free
      Src: /src/vlc/modules/codec/qsv.c:924,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - this
    - pic
    argTypes:
    - encoder_t*
    - picture_t*
    assertStmts:
    - condition: (task->syncp != 0)
      pos:
        line_end: 919
        line_start: 919
        source_file: /src/vlc/modules/codec/qsv.c
    constantsTouched: []
    func_position:
      end: 928
      start: 898
    functionDepth: 5
    functionLinenumber: 898
    functionLinenumberEnd: 928
    functionName: Encode
    functionSourceFile: /src/vlc/modules/codec/qsv.c
    functionUses: 0
    functionsReached:
    - vlc_list_first_entry_or_null
    - assert
    - vlc_list_append
    - qsv_synchronize_block
    - free
    - vlc_list_remove
    - likely
    - encode_frame
    - vlc_list_foreach
    linkageType: ''
    returnType: block_t
    signature: block_t *Encode(encoder_t *this, picture_t *pic)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/codec/dvbsub.c:365,1
    - Dst: default_dds_init
      Src: /src/vlc/modules/codec/dvbsub.c:378,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/codec/dvbsub.c:380,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/codec/dvbsub.c:382,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/codec/dvbsub.c:383,1
    - Dst: default_clut_init
      Src: /src/vlc/modules/codec/dvbsub.c:396,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 399
    functionName: Open
    functionSourceFile: /src/vlc/modules/codec/dvbsub.c
    functionUses: 67
    functionsReached:
    - calloc
    - default_dds_init
    - var_CreateGetInteger
    - default_clut_init
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: var_Destroy
      Src: /src/vlc/modules/codec/dvbsub.c:409,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/codec/dvbsub.c:410,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/codec/dvbsub.c:411,1
    - Dst: free_all
      Src: /src/vlc/modules/codec/dvbsub.c:413,1
    - Dst: free
      Src: /src/vlc/modules/codec/dvbsub.c:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 415
    functionName: Close
    functionSourceFile: /src/vlc/modules/codec/dvbsub.c
    functionUses: 175
    functionsReached:
    - free_all
    - var_Destroy
    - free
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 425
    functionName: Flush
    functionSourceFile: /src/vlc/modules/codec/dvbsub.c
    functionUses: 77
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Flush( decoder_t *p_dec )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/vlc/modules/codec/dvbsub.c:439,1
    - Dst: default_dds_init
      Src: /src/vlc/modules/codec/dvbsub.c:447,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/dvbsub.c:455,1
    - Dst: bs_init
      Src: /src/vlc/modules/codec/dvbsub.c:460,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:462,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:464,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:468,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:470,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:475,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:480,1
    - Dst: decode_segment
      Src: /src/vlc/modules/codec/dvbsub.c:483,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:484,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/dvbsub.c:489,1
    - Dst: render
      Src: /src/vlc/modules/codec/dvbsub.c:496,1
    - Dst: decoder_QueueSub
      Src: /src/vlc/modules/codec/dvbsub.c:498,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/dvbsub.c:502,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 504
    functionName: Decode
    functionSourceFile: /src/vlc/modules/codec/dvbsub.c
    functionUses: 14
    functionsReached:
    - block_Release
    - decoder_QueueSub
    - bs_init
    - bs_read
    - render
    - msg_Dbg
    - msg_Warn
    - Flush
    - default_dds_init
    - decode_segment
    linkageType: ''
    returnType: int
    signature: int Decode( decoder_t *p_dec, block_t *p_block )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RGB_TO_Y
      Src: /src/vlc/modules/codec/dvbsub.c:530,1
    - Dst: RGB_TO_V
      Src: /src/vlc/modules/codec/dvbsub.c:531,1
    - Dst: RGB_TO_U
      Src: /src/vlc/modules/codec/dvbsub.c:532,1
    - Dst: RGB_TO_Y
      Src: /src/vlc/modules/codec/dvbsub.c:561,1
    - Dst: RGB_TO_V
      Src: /src/vlc/modules/codec/dvbsub.c:562,1
    - Dst: RGB_TO_U
      Src: /src/vlc/modules/codec/dvbsub.c:563,1
    - Dst: memset
      Src: /src/vlc/modules/codec/dvbsub.c:568,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 572
    functionName: default_clut_init
    functionSourceFile: /src/vlc/modules/codec/dvbsub.c
    functionUses: 1
    functionsReached:
    - RGB_TO_V
    - RGB_TO_Y
    - RGB_TO_U
    - memset
    linkageType: ''
    returnType: void
    signature: void default_clut_init( decoder_t *p_dec )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - g
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 517
    functionName: RGB_TO_Y
    functionSourceFile: /src/vlc/modules/codec/dvbsub.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RGB_TO_Y(r, g, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - g
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 518
    functionName: RGB_TO_U
    functionSourceFile: /src/vlc/modules/codec/dvbsub.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RGB_TO_U(r, g, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - g
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 519
    functionName: RGB_TO_V
    functionSourceFile: /src/vlc/modules/codec/dvbsub.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RGB_TO_V(r, g, b)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:585,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:588,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:591,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:597,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/dvbsub.c:600,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:609,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/dvbsub.c:611,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:617,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:619,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:626,1
    - Dst: decode_page_composition
      Src: /src/vlc/modules/codec/dvbsub.c:628,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:633,1
    - Dst: decode_region_composition
      Src: /src/vlc/modules/codec/dvbsub.c:635,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:640,1
    - Dst: decode_clut
      Src: /src/vlc/modules/codec/dvbsub.c:642,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:647,1
    - Dst: decode_object
      Src: /src/vlc/modules/codec/dvbsub.c:649,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:654,1
    - Dst: decode_display_definition
      Src: /src/vlc/modules/codec/dvbsub.c:656,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:661,1
    - Dst: alternative_CLUT
      Src: /src/vlc/modules/codec/dvbsub.c:663,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:668,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/dvbsub.c:670,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:675,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/dvbsub.c:677,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/dvbsub.c:681,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/dvbsub.c:682,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 2
    argNames:
    - p_dec
    - s
    argTypes:
    - decoder_t*
    - bs_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 685
    functionName: decode_segment
    functionSourceFile: /src/vlc/modules/codec/dvbsub.c
    functionUses: 1
    functionsReached:
    - bs_skip
    - decode_clut
    - bs_read
    - decode_display_definition
    - decode_region_composition
    - msg_Dbg
    - msg_Warn
    - alternative_CLUT
    - decode_object
    - decode_page_composition
    linkageType: ''
    returnType: void
    signature: void decode_segment( decoder_t *p_dec, bs_t *s )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:694,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:695,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/dvbsub.c:707,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:714,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/dvbsub.c:716,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/dvbsub.c:731,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:736,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:737,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/dvbsub.c:739,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:741,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:744,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:745,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:746,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:747,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:752,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:753,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:754,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:755,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 65
    argCount: 3
    argNames:
    - p_dec
    - s
    - i_segment_length
    argTypes:
    - decoder_t*
    - bs_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 793
    functionName: decode_clut
    functionSourceFile: /src/vlc/modules/codec/dvbsub.c
    functionUses: 1
    functionsReached:
    - bs_skip
    - msg_Dbg
    - malloc
    - bs_read
    linkageType: ''
    returnType: void
    signature: void decode_clut( decoder_t *p_dec, bs_t *s, uint16_t i_segment_length
      )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:801,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:802,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:803,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/dvbsub.c:804,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:810,1
    - Dst: free_all
      Src: /src/vlc/modules/codec/dvbsub.c:812,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:818,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/dvbsub.c:822,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:829,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/dvbsub.c:835,1
    - Dst: free
      Src: /src/vlc/modules/codec/dvbsub.c:841,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:849,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/dvbsub.c:852,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/codec/dvbsub.c:869,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:875,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/dvbsub.c:876,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:877,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:878,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:881,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 3
    argNames:
    - p_dec
    - s
    - i_segment_length
    argTypes:
    - decoder_t*
    - bs_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 887
    functionName: decode_page_composition
    functionSourceFile: /src/vlc/modules/codec/dvbsub.c
    functionUses: 1
    functionsReached:
    - bs_skip
    - bs_read
    - free_all
    - free
    - msg_Dbg
    - vlc_alloc
    - malloc
    linkageType: ''
    returnType: void
    signature: void decode_page_composition( decoder_t *p_dec, bs_t *s, uint16_t i_segment_length
      )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:898,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:899,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/dvbsub.c:912,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:919,1
    - Dst: calloc
      Src: /src/vlc/modules/codec/dvbsub.c:921,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:932,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/dvbsub.c:933,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:935,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:936,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:938,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:940,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:941,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/dvbsub.c:942,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:943,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:945,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:946,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:947,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/dvbsub.c:948,1
    - Dst: free
      Src: /src/vlc/modules/codec/dvbsub.c:952,1
    - Dst: free
      Src: /src/vlc/modules/codec/dvbsub.c:954,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:963,1
    - Dst: ckd_mul
      Src: /src/vlc/modules/codec/dvbsub.c:968,1
    - Dst: free
      Src: /src/vlc/modules/codec/dvbsub.c:970,1
    - Dst: realloc_or_free
      Src: /src/vlc/modules/codec/dvbsub.c:975,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:987,1
    - Dst: memset
      Src: /src/vlc/modules/codec/dvbsub.c:995,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/dvbsub.c:1014,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1024,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1025,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/dvbsub.c:1026,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1027,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/dvbsub.c:1028,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1029,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1039,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1040,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 91
    argCount: 3
    argNames:
    - p_dec
    - s
    - i_segment_length
    argTypes:
    - decoder_t*
    - bs_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 1045
    functionName: decode_region_composition
    functionSourceFile: /src/vlc/modules/codec/dvbsub.c
    functionUses: 1
    functionsReached:
    - bs_skip
    - memset
    - bs_read
    - calloc
    - free
    - ckd_mul
    - msg_Dbg
    - realloc_or_free
    - malloc
    linkageType: ''
    returnType: void
    signature: void decode_region_composition( decoder_t *p_dec, bs_t *s, uint16_t
      i_segment_length )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1055,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1056,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/dvbsub.c:1067,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:1078,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/dvbsub.c:1080,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/dvbsub.c:1091,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1094,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1095,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1096,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/dvbsub.c:1097,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1098,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/dvbsub.c:1105,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/dvbsub.c:1110,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/dvbsub.c:1115,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/dvbsub.c:1120,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1133,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1134,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1135,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1136,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1141,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1142,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1143,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1144,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/dvbsub.c:1162,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/dvbsub.c:1168,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 76
    argCount: 3
    argNames:
    - p_dec
    - s
    - i_segment_length
    argTypes:
    - decoder_t*
    - bs_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1169
    functionName: alternative_CLUT
    functionSourceFile: /src/vlc/modules/codec/dvbsub.c
    functionUses: 1
    functionsReached:
    - bs_skip
    - ARRAY_SIZE
    - msg_Err
    - bs_read
    - msg_Dbg
    - malloc
    linkageType: ''
    returnType: void
    signature: void alternative_CLUT( decoder_t *p_dec, bs_t *s, uint16_t i_segment_length
      )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1178,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/dvbsub.c:1184,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:1189,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1194,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/dvbsub.c:1195,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1196,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1197,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:1202,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1205,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1206,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1207,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1208,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/dvbsub.c:1223,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:1228,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:1231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 3
    argNames:
    - p_dec
    - s
    - i_segment_length
    argTypes:
    - decoder_t*
    - bs_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1172
    functionDepth: 1
    functionLinenumber: 1172
    functionLinenumberEnd: 1234
    functionName: decode_display_definition
    functionSourceFile: /src/vlc/modules/codec/dvbsub.c
    functionUses: 1
    functionsReached:
    - bs_skip
    - msg_Dbg
    - msg_Err
    - bs_read
    linkageType: ''
    returnType: void
    signature: void decode_display_definition( decoder_t *p_dec, bs_t *s, uint16_t
      i_segment_length )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1251,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/dvbsub.c:1252,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1253,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:1257,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/dvbsub.c:1258,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/dvbsub.c:1274,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:1279,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/dvbsub.c:1282,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/dvbsub.c:1283,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1290,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1291,1
    - Dst: bs_pos
      Src: /src/vlc/modules/codec/dvbsub.c:1292,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/dvbsub.c:1295,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:1301,1
    - Dst: dvbsub_render_pdata
      Src: /src/vlc/modules/codec/dvbsub.c:1312,1
    - Dst: dvbsub_render_pdata
      Src: /src/vlc/modules/codec/dvbsub.c:1319,1
    - Dst: dvbsub_render_pdata
      Src: /src/vlc/modules/codec/dvbsub.c:1327,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1338,1
    - Dst: bs_pos
      Src: /src/vlc/modules/codec/dvbsub.c:1339,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:1345,1
    - Dst: realloc_or_free
      Src: /src/vlc/modules/codec/dvbsub.c:1361,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1369,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:1378,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 65
    argCount: 3
    argNames:
    - p_dec
    - s
    - i_segment_length
    argTypes:
    - decoder_t*
    - bs_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1242
    functionDepth: 1
    functionLinenumber: 1242
    functionLinenumberEnd: 1380
    functionName: decode_object
    functionSourceFile: /src/vlc/modules/codec/dvbsub.c
    functionUses: 1
    functionsReached:
    - bs_skip
    - bs_read
    - dvbsub_render_pdata
    - msg_Dbg
    - bs_pos
    - realloc_or_free
    linkageType: ''
    returnType: void
    signature: void decode_object( decoder_t *p_dec, bs_t *s, uint16_t i_segment_length
      )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/dvbsub.c:1393,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:1399,1
    - Dst: bs_init
      Src: /src/vlc/modules/codec/dvbsub.c:1404,1
    - Dst: bs_eof
      Src: /src/vlc/modules/codec/dvbsub.c:1406,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1411,1
    - Dst: dvbsub_pdata2bpp
      Src: /src/vlc/modules/codec/dvbsub.c:1414,1
    - Dst: dvbsub_pdata4bpp
      Src: /src/vlc/modules/codec/dvbsub.c:1419,1
    - Dst: dvbsub_pdata8bpp
      Src: /src/vlc/modules/codec/dvbsub.c:1424,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 6
    argNames:
    - p_dec
    - p_region
    - i_x
    - i_y
    - p_field
    - i_field
    argTypes:
    - decoder_t*
    - dvbsub_region_t*
    - int
    - int
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1382
    functionDepth: 1
    functionLinenumber: 1382
    functionLinenumberEnd: 1440
    functionName: dvbsub_render_pdata
    functionSourceFile: /src/vlc/modules/codec/dvbsub.c
    functionUses: 1
    functionsReached:
    - bs_eof
    - dvbsub_pdata8bpp
    - dvbsub_pdata4bpp
    - bs_read
    - msg_Err
    - msg_Dbg
    - bs_init
    - dvbsub_pdata2bpp
    linkageType: ''
    returnType: void
    signature: "void dvbsub_render_pdata( decoder_t *p_dec, dvbsub_region_t *p_region,\n
      \                                int i_x, int i_y,\n                                 const
      uint8_t *p_field, int i_field )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: bs_eof
      Src: /src/vlc/modules/codec/dvbsub.c:1446,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1450,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1457,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1459,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1460,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1464,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1466,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1475,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1476,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1479,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1480,1
    - Dst: memset
      Src: /src/vlc/modules/codec/dvbsub.c:1500,1
    - Dst: bs_align
      Src: /src/vlc/modules/codec/dvbsub.c:1505,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 4
    argNames:
    - s
    - p
    - i_width
    - pi_off
    argTypes:
    - bs_t*
    - uint8_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1442
    functionDepth: 1
    functionLinenumber: 1442
    functionLinenumberEnd: 1506
    functionName: dvbsub_pdata2bpp
    functionSourceFile: /src/vlc/modules/codec/dvbsub.c
    functionUses: 1
    functionsReached:
    - bs_eof
    - bs_align
    - memset
    - bs_read
    linkageType: ''
    returnType: void
    signature: void dvbsub_pdata2bpp( bs_t *s, uint8_t *p, int i_width, int *pi_off
      )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: bs_eof
      Src: /src/vlc/modules/codec/dvbsub.c:1512,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1516,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1524,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1526,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1535,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1537,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1538,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1542,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1551,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1552,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1555,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1556,1
    - Dst: memset
      Src: /src/vlc/modules/codec/dvbsub.c:1569,1
    - Dst: bs_align
      Src: /src/vlc/modules/codec/dvbsub.c:1574,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 4
    argNames:
    - s
    - p
    - i_width
    - pi_off
    argTypes:
    - bs_t*
    - uint8_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1575
      start: 1508
    functionDepth: 1
    functionLinenumber: 1508
    functionLinenumberEnd: 1575
    functionName: dvbsub_pdata4bpp
    functionSourceFile: /src/vlc/modules/codec/dvbsub.c
    functionUses: 1
    functionsReached:
    - bs_eof
    - bs_align
    - memset
    - bs_read
    linkageType: ''
    returnType: void
    signature: void dvbsub_pdata4bpp( bs_t *s, uint8_t *p, int i_width, int *pi_off
      )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bs_eof
      Src: /src/vlc/modules/codec/dvbsub.c:1581,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1585,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1593,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1595,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1601,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/dvbsub.c:1602,1
    - Dst: memset
      Src: /src/vlc/modules/codec/dvbsub.c:1612,1
    - Dst: bs_align
      Src: /src/vlc/modules/codec/dvbsub.c:1617,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - s
    - p
    - i_width
    - pi_off
    argTypes:
    - bs_t*
    - uint8_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1618
      start: 1577
    functionDepth: 1
    functionLinenumber: 1577
    functionLinenumberEnd: 1618
    functionName: dvbsub_pdata8bpp
    functionSourceFile: /src/vlc/modules/codec/dvbsub.c
    functionUses: 1
    functionsReached:
    - bs_eof
    - bs_align
    - memset
    - bs_read
    linkageType: ''
    returnType: void
    signature: void dvbsub_pdata8bpp( bs_t *s, uint8_t *p, int i_width, int *pi_off
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/codec/dvbsub.c:1631,1
    - Dst: free
      Src: /src/vlc/modules/codec/dvbsub.c:1639,1
    - Dst: free
      Src: /src/vlc/modules/codec/dvbsub.c:1640,1
    - Dst: free
      Src: /src/vlc/modules/codec/dvbsub.c:1641,1
    - Dst: free
      Src: /src/vlc/modules/codec/dvbsub.c:1642,1
    - Dst: free
      Src: /src/vlc/modules/codec/dvbsub.c:1649,1
    - Dst: free
      Src: /src/vlc/modules/codec/dvbsub.c:1650,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1620
    functionDepth: 0
    functionLinenumber: 1620
    functionLinenumberEnd: 1653
    functionName: free_all
    functionSourceFile: /src/vlc/modules/codec/dvbsub.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_all( decoder_t *p_dec )
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: decoder_NewSubpicture
      Src: /src/vlc/modules/codec/dvbsub.c:1669,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:1704,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:1732,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:1739,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:1746,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:1757,1
    - Dst: video_format_Init
      Src: /src/vlc/modules/codec/dvbsub.c:1765,1
    - Dst: subpicture_region_New
      Src: /src/vlc/modules/codec/dvbsub.c:1813,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/codec/dvbsub.c:1815,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/dvbsub.c:1818,1
    - Dst: vlc_spu_regions_push
      Src: /src/vlc/modules/codec/dvbsub.c:1825,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/dvbsub.c:1834,1
    - Dst: subpicture_region_NewText
      Src: /src/vlc/modules/codec/dvbsub.c:1849,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/dvbsub.c:1852,1
    - Dst: text_segment_New
      Src: /src/vlc/modules/codec/dvbsub.c:1861,1
    - Dst: vlc_spu_regions_push
      Src: /src/vlc/modules/codec/dvbsub.c:1866,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 128
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1871
      start: 1655
    functionDepth: 1
    functionLinenumber: 1655
    functionLinenumberEnd: 1871
    functionName: render
    functionSourceFile: /src/vlc/modules/codec/dvbsub.c
    functionUses: 15
    functionsReached:
    - decoder_NewSubpicture
    - video_format_Init
    - vlc_spu_regions_push
    - memcpy
    - text_segment_New
    - msg_Err
    - msg_Dbg
    - video_format_Clean
    - subpicture_region_NewText
    - subpicture_region_New
    linkageType: ''
    returnType: subpicture_t
    signature: subpicture_t *render( decoder_t *p_dec )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/dvbsub.c:1920,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/codec/dvbsub.c:1928,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/codec/dvbsub.c:1936,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/codec/dvbsub.c:1937,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1908
    functionDepth: 1
    functionLinenumber: 1908
    functionLinenumberEnd: 1947
    functionName: OpenEncoder
    functionSourceFile: /src/vlc/modules/codec/dvbsub.c
    functionUses: 0
    functionsReached:
    - var_CreateGetInteger
    - malloc
    - config_ChainParse
    linkageType: ''
    returnType: int
    signature: int OpenEncoder( vlc_object_t *p_this )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vlc_spu_regions_foreach_const
      Src: /src/vlc/modules/codec/dvbsub.c:1956,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:1976,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/dvbsub.c:1979,1
    - Dst: abs
      Src: /src/vlc/modules/codec/dvbsub.c:2018,1
    - Dst: abs
      Src: /src/vlc/modules/codec/dvbsub.c:2019,1
    - Dst: abs
      Src: /src/vlc/modules/codec/dvbsub.c:2020,1
    - Dst: abs
      Src: /src/vlc/modules/codec/dvbsub.c:2021,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:2054,1
    - Dst: calloc
      Src: /src/vlc/modules/codec/dvbsub.c:2058,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/dvbsub.c:2059,1
    - Dst: abs
      Src: /src/vlc/modules/codec/dvbsub.c:2097,1
    - Dst: abs
      Src: /src/vlc/modules/codec/dvbsub.c:2098,1
    - Dst: abs
      Src: /src/vlc/modules/codec/dvbsub.c:2099,1
    - Dst: abs
      Src: /src/vlc/modules/codec/dvbsub.c:2100,1
    - Dst: free
      Src: /src/vlc/modules/codec/dvbsub.c:2132,1
    - Dst: memset
      Src: /src/vlc/modules/codec/dvbsub.c:2137,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:2141,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 100
    argCount: 1
    argNames:
    - p_subpic
    argTypes:
    - subpicture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2144
      start: 1952
    functionDepth: 1
    functionLinenumber: 1952
    functionLinenumberEnd: 2144
    functionName: YuvaYuvp
    functionSourceFile: /src/vlc/modules/codec/dvbsub.c
    functionUses: 0
    functionsReached:
    - memset
    - vlc_spu_regions_foreach_const
    - calloc
    - free
    - msg_Dbg
    - abs
    - unlikely
    - malloc
    linkageType: ''
    returnType: void
    signature: void YuvaYuvp( subpicture_t *p_subpic )
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: vlc_spu_regions_is_empty
      Src: /src/vlc/modules/codec/dvbsub.c:2155,1
    - Dst: vlc_spu_regions_first_or_null
      Src: /src/vlc/modules/codec/dvbsub.c:2160,1
    - Dst: subpicture_region_IsText
      Src: /src/vlc/modules/codec/dvbsub.c:2164,1
    - Dst: YuvaYuvp
      Src: /src/vlc/modules/codec/dvbsub.c:2168,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/dvbsub.c:2173,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/dvbsub.c:2187,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:2196,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/dvbsub.c:2198,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/dvbsub.c:2199,1
    - Dst: bs_init
      Src: /src/vlc/modules/codec/dvbsub.c:2202,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2204,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2205,1
    - Dst: encode_page_composition
      Src: /src/vlc/modules/codec/dvbsub.c:2207,1
    - Dst: encode_region_composition
      Src: /src/vlc/modules/codec/dvbsub.c:2208,1
    - Dst: encode_clut
      Src: /src/vlc/modules/codec/dvbsub.c:2209,1
    - Dst: encode_object
      Src: /src/vlc/modules/codec/dvbsub.c:2210,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2213,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2214,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2215,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2216,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2218,1
    - Dst: bs_pos
      Src: /src/vlc/modules/codec/dvbsub.c:2219,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/dvbsub.c:2229,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/dvbsub.c:2230,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/dvbsub.c:2232,1
    - Dst: bs_init
      Src: /src/vlc/modules/codec/dvbsub.c:2236,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2237,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2238,1
    - Dst: encode_page_composition
      Src: /src/vlc/modules/codec/dvbsub.c:2239,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2240,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2241,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2242,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2243,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2244,1
    - Dst: bs_pos
      Src: /src/vlc/modules/codec/dvbsub.c:2245,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/codec/dvbsub.c:2247,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/codec/dvbsub.c:2248,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:2251,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 68
    argCount: 2
    argNames:
    - p_enc
    - p_subpic
    argTypes:
    - encoder_t*
    - subpicture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2254
      start: 2149
    functionDepth: 2
    functionLinenumber: 2149
    functionLinenumberEnd: 2254
    functionName: Encode
    functionSourceFile: /src/vlc/modules/codec/dvbsub.c
    functionUses: 0
    functionsReached:
    - block_Release
    - YuvaYuvp
    - block_ChainAppend
    - subpicture_region_IsText
    - VLC_TICK_FROM_MS
    - bs_write
    - msg_Err
    - encode_region_composition
    - block_Alloc
    - vlc_spu_regions_is_empty
    - msg_Dbg
    - bs_pos
    - encode_object
    - encode_page_composition
    - encode_clut
    - bs_init
    - unlikely
    - vlc_spu_regions_first_or_null
    linkageType: ''
    returnType: block_t
    signature: block_t *Encode( encoder_t *p_enc, subpicture_t *p_subpic )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: var_Destroy
      Src: /src/vlc/modules/codec/dvbsub.c:2263,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/codec/dvbsub.c:2264,1
    - Dst: free
      Src: /src/vlc/modules/codec/dvbsub.c:2266,1
    - Dst: free
      Src: /src/vlc/modules/codec/dvbsub.c:2267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_enc
    argTypes:
    - encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2268
      start: 2259
    functionDepth: 1
    functionLinenumber: 2259
    functionLinenumberEnd: 2268
    functionName: CloseEncoder
    functionSourceFile: /src/vlc/modules/codec/dvbsub.c
    functionUses: 1
    functionsReached:
    - free
    - var_Destroy
    linkageType: ''
    returnType: void
    signature: void CloseEncoder( encoder_t *p_enc )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2279,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2280,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2281,1
    - Dst: vlc_spu_regions_foreach_const
      Src: /src/vlc/modules/codec/dvbsub.c:2285,1
    - Dst: xrealloc
      Src: /src/vlc/modules/codec/dvbsub.c:2291,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:2302,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dvbsub.c:2312,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2321,1
    - Dst: SEC_FROM_VLC_TICK
      Src: /src/vlc/modules/codec/dvbsub.c:2327,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2330,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2331,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2332,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2334,1
    - Dst: vlc_spu_regions_foreach_const
      Src: /src/vlc/modules/codec/dvbsub.c:2338,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2340,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2341,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2344,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2345,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2349,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2350,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 3
    argNames:
    - p_enc
    - s
    - p_subpic
    argTypes:
    - encoder_t*
    - bs_t*
    - subpicture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2354
      start: 2270
    functionDepth: 1
    functionLinenumber: 2270
    functionLinenumberEnd: 2354
    functionName: encode_page_composition
    functionSourceFile: /src/vlc/modules/codec/dvbsub.c
    functionUses: 1
    functionsReached:
    - xrealloc
    - SEC_FROM_VLC_TICK
    - bs_write
    - vlc_spu_regions_foreach_const
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: "void encode_page_composition( encoder_t *p_enc, bs_t *s,\n                                     const
      subpicture_t *p_subpic )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: subpicture_region_IsText
      Src: /src/vlc/modules/codec/dvbsub.c:2364,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2371,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2372,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2373,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2375,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2376,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2377,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2378,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2382,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2383,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2384,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2385,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2386,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2387,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2388,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2390,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2391,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - p_enc
    - s
    - p_region
    argTypes:
    - encoder_t*
    - bs_t*
    - subpicture_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2394
      start: 2356
    functionDepth: 1
    functionLinenumber: 2356
    functionLinenumberEnd: 2394
    functionName: encode_clut
    functionSourceFile: /src/vlc/modules/codec/dvbsub.c
    functionUses: 1
    functionsReached:
    - bs_write
    - subpicture_region_IsText
    linkageType: ''
    returnType: void
    signature: void encode_clut( encoder_t *p_enc, bs_t *s, subpicture_region_t *p_region
      )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_spu_regions_foreach_const
      Src: /src/vlc/modules/codec/dvbsub.c:2404,1
    - Dst: subpicture_region_IsText
      Src: /src/vlc/modules/codec/dvbsub.c:2407,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/dvbsub.c:2415,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2428,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2429,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2430,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2432,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2433,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2434,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2437,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2438,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2439,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2440,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2441,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2442,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2443,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2444,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2445,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2446,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2447,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2448,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2451,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2452,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2453,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2454,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2455,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2456,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2460,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2461,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 45
    argCount: 3
    argNames:
    - p_enc
    - s
    - p_subpic
    argTypes:
    - encoder_t*
    - bs_t*
    - subpicture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2465
      start: 2396
    functionDepth: 1
    functionLinenumber: 2396
    functionLinenumberEnd: 2465
    functionName: encode_region_composition
    functionSourceFile: /src/vlc/modules/codec/dvbsub.c
    functionUses: 1
    functionsReached:
    - vlc_spu_regions_foreach_const
    - bs_write
    - subpicture_region_IsText
    - msg_Err
    linkageType: ''
    returnType: void
    signature: "void encode_region_composition( encoder_t *p_enc, bs_t *s,\n                                       const
      subpicture_t *p_subpic )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_spu_regions_foreach_const
      Src: /src/vlc/modules/codec/dvbsub.c:2480,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2482,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2483,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2484,1
    - Dst: bs_pos
      Src: /src/vlc/modules/codec/dvbsub.c:2486,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2487,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2488,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2489,1
    - Dst: subpicture_region_IsText
      Src: /src/vlc/modules/codec/dvbsub.c:2492,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2493,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2495,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/dvbsub.c:2498,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2504,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2505,1
    - Dst: subpicture_region_IsText
      Src: /src/vlc/modules/codec/dvbsub.c:2507,1
    - Dst: __MIN
      Src: /src/vlc/modules/codec/dvbsub.c:2517,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/dvbsub.c:2517,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2519,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2522,1
    - Dst: SetWBE
      Src: /src/vlc/modules/codec/dvbsub.c:2526,1
    - Dst: bs_pos
      Src: /src/vlc/modules/codec/dvbsub.c:2527,1
    - Dst: bs_pos
      Src: /src/vlc/modules/codec/dvbsub.c:2533,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2534,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2535,1
    - Dst: bs_pos
      Src: /src/vlc/modules/codec/dvbsub.c:2538,1
    - Dst: encode_pixel_data
      Src: /src/vlc/modules/codec/dvbsub.c:2539,1
    - Dst: bs_pos
      Src: /src/vlc/modules/codec/dvbsub.c:2540,1
    - Dst: SetWBE
      Src: /src/vlc/modules/codec/dvbsub.c:2541,1
    - Dst: bs_pos
      Src: /src/vlc/modules/codec/dvbsub.c:2544,1
    - Dst: encode_pixel_data
      Src: /src/vlc/modules/codec/dvbsub.c:2545,1
    - Dst: bs_pos
      Src: /src/vlc/modules/codec/dvbsub.c:2546,1
    - Dst: SetWBE
      Src: /src/vlc/modules/codec/dvbsub.c:2547,1
    - Dst: bs_align_0
      Src: /src/vlc/modules/codec/dvbsub.c:2550,1
    - Dst: bs_pos
      Src: /src/vlc/modules/codec/dvbsub.c:2551,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2551,1
    - Dst: SetWBE
      Src: /src/vlc/modules/codec/dvbsub.c:2554,1
    - Dst: bs_pos
      Src: /src/vlc/modules/codec/dvbsub.c:2554,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 51
    argCount: 3
    argNames:
    - p_enc
    - s
    - p_subpic
    argTypes:
    - encoder_t*
    - bs_t*
    - subpicture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2557
      start: 2471
    functionDepth: 1
    functionLinenumber: 2471
    functionLinenumberEnd: 2557
    functionName: encode_object
    functionSourceFile: /src/vlc/modules/codec/dvbsub.c
    functionUses: 1
    functionsReached:
    - bs_align_0
    - subpicture_region_IsText
    - SetWBE
    - strlen
    - bs_write
    - msg_Err
    - vlc_spu_regions_foreach_const
    - __MIN
    - bs_pos
    - encode_pixel_data
    linkageType: ''
    returnType: void
    signature: void encode_object( encoder_t *p_enc, bs_t *s, const subpicture_t *p_subpic
      )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2581,1
    - Dst: encode_pixel_line_2bp
      Src: /src/vlc/modules/codec/dvbsub.c:2582,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2586,1
    - Dst: encode_pixel_line_4bp
      Src: /src/vlc/modules/codec/dvbsub.c:2587,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2591,1
    - Dst: encode_pixel_line_8bp
      Src: /src/vlc/modules/codec/dvbsub.c:2592,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/dvbsub.c:2596,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2601,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - p_enc
    - s
    - p_region
    - b_top
    argTypes:
    - encoder_t*
    - bs_t*
    - subpicture_region_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2603
      start: 2565
    functionDepth: 1
    functionLinenumber: 2565
    functionLinenumberEnd: 2603
    functionName: encode_pixel_data
    functionSourceFile: /src/vlc/modules/codec/dvbsub.c
    functionUses: 1
    functionsReached:
    - encode_pixel_line_2bp
    - encode_pixel_line_8bp
    - bs_write
    - msg_Err
    - encode_pixel_line_4bp
    linkageType: ''
    returnType: void
    signature: "void encode_pixel_data( encoder_t *p_enc, bs_t *s,\n                               const
      subpicture_region_t *p_region,\n                               bool b_top )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2626,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2629,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2630,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2631,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2640,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2641,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2645,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2646,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2647,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2648,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2653,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2656,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2657,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2658,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2662,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2663,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2667,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2668,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2669,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2673,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2674,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2675,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2687,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2688,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2689,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2690,1
    - Dst: bs_align_0
      Src: /src/vlc/modules/codec/dvbsub.c:2693,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 3
    argNames:
    - s
    - p_region
    - i_line
    argTypes:
    - bs_t*
    - subpicture_region_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2694
      start: 2605
    functionDepth: 1
    functionLinenumber: 2605
    functionLinenumberEnd: 2694
    functionName: encode_pixel_line_2bp
    functionSourceFile: /src/vlc/modules/codec/dvbsub.c
    functionUses: 1
    functionsReached:
    - bs_align_0
    - bs_write
    linkageType: ''
    returnType: void
    signature: "void encode_pixel_line_2bp( bs_t *s, const subpicture_region_t *p_region,\n
      \                                  int i_line )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2719,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2722,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2723,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2724,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2725,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2734,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2735,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2739,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2740,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2741,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2742,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2747,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2748,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2749,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2753,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2754,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2758,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2759,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2760,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2764,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2768,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2769,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2770,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2774,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2775,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2776,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2788,1
    - Dst: bs_align_0
      Src: /src/vlc/modules/codec/dvbsub.c:2791,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 3
    argNames:
    - s
    - p_region
    - i_line
    argTypes:
    - bs_t*
    - subpicture_region_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2792
      start: 2696
    functionDepth: 1
    functionLinenumber: 2696
    functionLinenumberEnd: 2792
    functionName: encode_pixel_line_4bp
    functionSourceFile: /src/vlc/modules/codec/dvbsub.c
    functionUses: 1
    functionsReached:
    - bs_align_0
    - bs_write
    linkageType: ''
    returnType: void
    signature: "void encode_pixel_line_4bp( bs_t *s, const subpicture_region_t *p_region,\n
      \                                  int i_line )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2814,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2819,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2820,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2824,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2828,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2829,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2833,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2834,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2835,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2846,1
    - Dst: bs_write
      Src: /src/vlc/modules/codec/dvbsub.c:2847,1
    - Dst: bs_align_0
      Src: /src/vlc/modules/codec/dvbsub.c:2850,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 3
    argNames:
    - s
    - p_region
    - i_line
    argTypes:
    - bs_t*
    - subpicture_region_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2851
      start: 2794
    functionDepth: 1
    functionLinenumber: 2794
    functionLinenumberEnd: 2851
    functionName: encode_pixel_line_8bp
    functionSourceFile: /src/vlc/modules/codec/dvbsub.c
    functionUses: 1
    functionsReached:
    - bs_align_0
    - bs_write
    linkageType: ''
    returnType: void
    signature: "void encode_pixel_line_8bp( bs_t *s, const subpicture_region_t *p_region,\n
      \                                  int i_line )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2866
      start: 2855
    functionDepth: 0
    functionLinenumber: 2855
    functionLinenumberEnd: 2866
    functionName: default_dds_init
    functionSourceFile: /src/vlc/modules/codec/dvbsub.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void default_dds_init( decoder_t * p_dec )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/codec/rawvideo.c:80,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/rawvideo.c:86,1
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/codec/rawvideo.c:92,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/codec/rawvideo.c:92,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/rawvideo.c:93,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/codec/rawvideo.c:96,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/rawvideo.c:112,1
    - Dst: date_Init
      Src: /src/vlc/modules/codec/rawvideo.c:115,1
    - Dst: date_Init
      Src: /src/vlc/modules/codec/rawvideo.c:118,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 135
    functionName: OpenCommon
    functionSourceFile: /src/vlc/modules/codec/rawvideo.c
    functionUses: 21
    functionsReached:
    - date_Init
    - msg_Err
    - vlc_fourcc_GetChromaDescription
    - VLC_OBJECT
    - msg_Warn
    - es_format_Copy
    - unlikely
    - vlc_obj_calloc
    linkageType: ''
    returnType: int
    signature: int OpenCommon( decoder_t *p_dec )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: date_Set
      Src: /src/vlc/modules/codec/rawvideo.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: Flush
    functionSourceFile: /src/vlc/modules/codec/rawvideo.c
    functionUses: 78
    functionsReached:
    - date_Set
    linkageType: ''
    returnType: void
    signature: void Flush( decoder_t *p_dec )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: date_Set
      Src: /src/vlc/modules/codec/rawvideo.c:158,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/rawvideo.c:161,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/rawvideo.c:167,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/rawvideo.c:170,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/rawvideo.c:177,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/rawvideo.c:186,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/rawvideo.c:188,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/rawvideo.c:193,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/rawvideo.c:196,1
    - Dst: date_Increment
      Src: /src/vlc/modules/codec/rawvideo.c:201,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 204
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/codec/rawvideo.c
    functionUses: 4
    functionsReached:
    - block_Release
    - date_Set
    - date_Get
    - msg_Warn
    - date_Increment
    linkageType: ''
    returnType: block_t
    signature: block_t *DecodeBlock( decoder_t *p_dec, block_t *p_block )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/codec/rawvideo.c:220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - p_dec
    - p_block
    - p_pic
    argTypes:
    - decoder_t*
    - block_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 234
    functionName: FillPicture
    functionSourceFile: /src/vlc/modules/codec/rawvideo.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void FillPicture( decoder_t *p_dec, block_t *p_block, picture_t *p_pic
      )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DecodeBlock
      Src: /src/vlc/modules/codec/rawvideo.c:244,1
    - Dst: decoder_UpdateVideoFormat
      Src: /src/vlc/modules/codec/rawvideo.c:250,1
    - Dst: decoder_NewPicture
      Src: /src/vlc/modules/codec/rawvideo.c:251,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/rawvideo.c:254,1
    - Dst: vlc_frame_GetAncillary
      Src: /src/vlc/modules/codec/rawvideo.c:259,1
    - Dst: picture_AttachAncillary
      Src: /src/vlc/modules/codec/rawvideo.c:261,1
    - Dst: FillPicture
      Src: /src/vlc/modules/codec/rawvideo.c:263,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/rawvideo.c:278,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/modules/codec/rawvideo.c:279,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 281
    functionName: DecodeFrame
    functionSourceFile: /src/vlc/modules/codec/rawvideo.c
    functionUses: 1
    functionsReached:
    - block_Release
    - decoder_UpdateVideoFormat
    - DecodeBlock
    - decoder_QueueVideo
    - FillPicture
    - vlc_frame_GetAncillary
    - picture_AttachAncillary
    - decoder_NewPicture
    linkageType: ''
    returnType: int
    signature: int DecodeFrame( decoder_t *p_dec, block_t *p_block )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OpenCommon
      Src: /src/vlc/modules/codec/rawvideo.c:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 294
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/modules/codec/rawvideo.c
    functionUses: 0
    functionsReached:
    - OpenCommon
    linkageType: ''
    returnType: int
    signature: int OpenDecoder( vlc_object_t *p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DecodeBlock
      Src: /src/vlc/modules/codec/rawvideo.c:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 313
    functionName: SendFrame
    functionSourceFile: /src/vlc/modules/codec/rawvideo.c
    functionUses: 2
    functionsReached:
    - DecodeBlock
    linkageType: ''
    returnType: block_t
    signature: block_t *SendFrame( decoder_t *p_dec, block_t **pp_block )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OpenCommon
      Src: /src/vlc/modules/codec/rawvideo.c:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 329
    functionName: OpenPacketizer
    functionSourceFile: /src/vlc/modules/codec/rawvideo.c
    functionUses: 1
    functionsReached:
    - OpenCommon
    linkageType: ''
    returnType: int
    signature: int OpenPacketizer( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/jpeg2000.h:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - num
    - den
    argTypes:
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 54
    functionName: j2k_is_valid_framerate
    functionSourceFile: /src/vlc/modules/codec/jpeg2000.h
    functionUses: 1
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: bool
    signature: bool j2k_is_valid_framerate( unsigned num, unsigned den )
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 5
    argNames:
    - w
    - h
    - num
    - den
    - p
    argTypes:
    - unsigned
    - unsigned
    - unsigned
    - unsigned
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 69
    functionName: j2k_get_profile
    functionSourceFile: /src/vlc/modules/codec/jpeg2000.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum j2k_profiles_e
    signature: "enum j2k_profiles_e j2k_get_profile( unsigned w, unsigned h,\n                                                   unsigned
      num, unsigned den, bool p )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - e
    - primaries
    - transfer
    - space
    argTypes:
    - enum j2k_color_specs_e
    - video_color_primaries_t*
    - video_transfer_func_t*
    - video_color_space_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 138
    functionName: j2k_fill_color_profile
    functionSourceFile: /src/vlc/modules/codec/jpeg2000.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void j2k_fill_color_profile( enum j2k_color_specs_e e,\n                                           video_color_primaries_t
      *primaries,\n                                           video_transfer_func_t
      *transfer,\n                                           video_color_space_t *space
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - primaries
    - transfer
    - space
    argTypes:
    - video_color_primaries_t
    - video_transfer_func_t
    - video_color_space_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 156
    functionName: j2k_get_color_spec
    functionSourceFile: /src/vlc/modules/codec/jpeg2000.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum j2k_color_specs_e
    signature: "enum j2k_color_specs_e j2k_get_color_spec( video_color_primaries_t
      primaries,\n                            video_transfer_func_t transfer ,\n                            video_color_space_t
      space )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vpx_codec_error
      Src: /src/vlc/modules/codec/vpx.c:102,1
    - Dst: vpx_codec_error_detail
      Src: /src/vlc/modules/codec/vpx.c:103,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/vpx.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - this
    - ctx
    - msg
    argTypes:
    - vlc_object_t*
    - struct vpx_codec_ctx*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: vpx_err_msg
    functionSourceFile: /src/vlc/modules/codec/vpx.c
    functionUses: 0
    functionsReached:
    - vpx_codec_error_detail
    - msg_Err
    - vpx_codec_error
    linkageType: ''
    returnType: void
    signature: "void vpx_err_msg(vlc_object_t *this, struct vpx_codec_ctx *ctx,\n
      \                       const char *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - this
    - ','
    - ctx
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: VPX_ERR
    functionSourceFile: /src/vlc/modules/codec/vpx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VPX_ERR(this, ctx, msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/vpx.c:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - img
    argTypes:
    - struct vpx_image*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 194
    functionName: FindVlcChroma
    functionSourceFile: /src/vlc/modules/codec/vpx.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t FindVlcChroma( struct vpx_image *img )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/codec/vpx.c:208,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/vpx.c:213,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/vpx.c:215,1
    - Dst: vpx_codec_decode
      Src: /src/vlc/modules/codec/vpx.c:222,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/vpx.c:224,1
    - Dst: free
      Src: /src/vlc/modules/codec/vpx.c:227,1
    - Dst: VPX_ERR
      Src: /src/vlc/modules/codec/vpx.c:228,1
    - Dst: vpx_codec_get_frame
      Src: /src/vlc/modules/codec/vpx.c:236,1
    - Dst: free
      Src: /src/vlc/modules/codec/vpx.c:238,1
    - Dst: VPX_ERR
      Src: /src/vlc/modules/codec/vpx.c:243,1
    - Dst: free
      Src: /src/vlc/modules/codec/vpx.c:244,1
    - Dst: free
      Src: /src/vlc/modules/codec/vpx.c:251,1
    - Dst: FindVlcChroma
      Src: /src/vlc/modules/codec/vpx.c:253,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/vpx.c:256,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/vpx.c:274,1
    - Dst: decoder_UpdateVideoFormat
      Src: /src/vlc/modules/codec/vpx.c:286,1
    - Dst: decoder_NewPicture
      Src: /src/vlc/modules/codec/vpx.c:288,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/codec/vpx.c:296,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/modules/codec/vpx.c:302,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 67
    argCount: 2
    argNames:
    - dec
    - block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 304
    functionName: Decode
    functionSourceFile: /src/vlc/modules/codec/vpx.c
    functionUses: 14
    functionsReached:
    - block_Release
    - vpx_codec_decode
    - ARRAY_SIZE
    - decoder_UpdateVideoFormat
    - decoder_NewPicture
    - plane_CopyPixels
    - msg_Err
    - free
    - decoder_QueueVideo
    - VPX_ERR
    - FindVlcChroma
    - malloc
    - vpx_codec_get_frame
    linkageType: ''
    returnType: int
    signature: int Decode(decoder_t *dec, block_t *block)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: es_format_HasVpxAlpha
      Src: /src/vlc/modules/codec/vpx.c:319,1
    - Dst: es_format_HasVpxAlpha
      Src: /src/vlc/modules/codec/vpx.c:330,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/vpx.c:342,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/codec/vpx.c:347,1
    - Dst: vlc_GetCPUCount
      Src: /src/vlc/modules/codec/vpx.c:349,1
    - Dst: __MIN
      Src: /src/vlc/modules/codec/vpx.c:351,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/vpx.c:354,1
    - Dst: vpx_codec_version_str
      Src: /src/vlc/modules/codec/vpx.c:355,1
    - Dst: vpx_codec_build_config
      Src: /src/vlc/modules/codec/vpx.c:355,1
    - Dst: vpx_codec_dec_init
      Src: /src/vlc/modules/codec/vpx.c:357,1
    - Dst: VPX_ERR
      Src: /src/vlc/modules/codec/vpx.c:358,1
    - Dst: free
      Src: /src/vlc/modules/codec/vpx.c:359,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 374
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/modules/codec/vpx.c
    functionUses: 0
    functionsReached:
    - es_format_HasVpxAlpha
    - vpx_codec_version_str
    - vlc_GetCPUCount
    - var_InheritInteger
    - vpx_codec_build_config
    - vpx_codec_dec_init
    - free
    - __MIN
    - msg_Dbg
    - VPX_ERR
    - malloc
    linkageType: ''
    returnType: int
    signature: int OpenDecoder(vlc_object_t *p_this)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vpx_codec_get_frame
      Src: /src/vlc/modules/codec/vpx.c:387,1
    - Dst: free
      Src: /src/vlc/modules/codec/vpx.c:390,1
    - Dst: vpx_codec_destroy
      Src: /src/vlc/modules/codec/vpx.c:393,1
    - Dst: free
      Src: /src/vlc/modules/codec/vpx.c:395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 396
    functionName: CloseDecoder
    functionSourceFile: /src/vlc/modules/codec/vpx.c
    functionUses: 2
    functionsReached:
    - free
    - vpx_codec_destroy
    - vpx_codec_get_frame
    linkageType: ''
    returnType: void
    signature: void CloseDecoder(vlc_object_t *p_this)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: es_format_HasVpxAlpha
      Src: /src/vlc/modules/codec/vpx.c:424,1
    - Dst: es_format_HasVpxAlpha
      Src: /src/vlc/modules/codec/vpx.c:434,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/vpx.c:445,1
    - Dst: vpx_codec_enc_config_default
      Src: /src/vlc/modules/codec/vpx.c:450,1
    - Dst: __MIN
      Src: /src/vlc/modules/codec/vpx.c:451,1
    - Dst: vlc_GetCPUCount
      Src: /src/vlc/modules/codec/vpx.c:451,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/vpx.c:455,1
    - Dst: vpx_codec_version_str
      Src: /src/vlc/modules/codec/vpx.c:456,1
    - Dst: vpx_codec_build_config
      Src: /src/vlc/modules/codec/vpx.c:456,1
    - Dst: vpx_codec_enc_init
      Src: /src/vlc/modules/codec/vpx.c:459,1
    - Dst: VPX_ERR
      Src: /src/vlc/modules/codec/vpx.c:460,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/codec/vpx.c:465,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/vpx.c:468,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/vpx.c:476,1
    - Dst: free
      Src: /src/vlc/modules/codec/vpx.c:491,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 493
    functionName: OpenEncoder
    functionSourceFile: /src/vlc/modules/codec/vpx.c
    functionUses: 0
    functionsReached:
    - es_format_HasVpxAlpha
    - vpx_codec_version_str
    - vlc_GetCPUCount
    - vpx_codec_enc_init
    - config_ChainParse
    - vpx_codec_enc_config_default
    - vpx_codec_build_config
    - free
    - __MIN
    - msg_Dbg
    - VPX_ERR
    - msg_Warn
    - var_GetInteger
    - malloc
    linkageType: ''
    returnType: int
    signature: int OpenEncoder(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/vpx.c:505,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/vpx.c:507,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/codec/vpx.c:508,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/codec/vpx.c:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - p_header
    - i_size
    - i_header_size
    argTypes:
    - uint8_t*
    - uint32_t
    - size_t
    assertStmts:
    - condition: (i_header_size == sizeof(webp_simple_lossy_header))
      pos:
        line_end: 504
        line_start: 504
        source_file: /src/vlc/modules/codec/vpx.c
    constantsTouched: []
    func_position:
      end: 510
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 510
    functionName: webp_write_header
    functionSourceFile: /src/vlc/modules/codec/vpx.c
    functionUses: 0
    functionsReached:
    - SetDWLE
    - assert
    - memcpy
    linkageType: ''
    returnType: void
    signature: void webp_write_header(uint8_t *p_header, uint32_t i_size, size_t i_header_size)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vpx_img_wrap
      Src: /src/vlc/modules/codec/vpx.c:528,1
    - Dst: VPX_ERR
      Src: /src/vlc/modules/codec/vpx.c:529,1
    - Dst: vpx_codec_encode
      Src: /src/vlc/modules/codec/vpx.c:541,1
    - Dst: VPX_ERR
      Src: /src/vlc/modules/codec/vpx.c:544,1
    - Dst: vpx_img_free
      Src: /src/vlc/modules/codec/vpx.c:545,1
    - Dst: vpx_codec_get_cx_data
      Src: /src/vlc/modules/codec/vpx.c:559,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/vpx.c:572,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/vpx.c:573,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/codec/vpx.c:575,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/vpx.c:589,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/codec/vpx.c:599,1
    - Dst: webp_write_header
      Src: /src/vlc/modules/codec/vpx.c:605,1
    - Dst: vpx_img_free
      Src: /src/vlc/modules/codec/vpx.c:607,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 2
    argNames:
    - p_enc
    - p_pict
    argTypes:
    - encoder_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 609
    functionName: Encode
    functionSourceFile: /src/vlc/modules/codec/vpx.c
    functionUses: 0
    functionsReached:
    - webp_write_header
    - block_ChainAppend
    - block_ChainRelease
    - memcpy
    - vpx_img_wrap
    - vpx_codec_encode
    - block_Alloc
    - vpx_codec_get_cx_data
    - vpx_img_free
    - VPX_ERR
    - unlikely
    linkageType: ''
    returnType: block_t
    signature: block_t *Encode(encoder_t *p_enc, picture_t *p_pict)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vpx_codec_destroy
      Src: /src/vlc/modules/codec/vpx.c:617,1
    - Dst: VPX_ERR
      Src: /src/vlc/modules/codec/vpx.c:618,1
    - Dst: free
      Src: /src/vlc/modules/codec/vpx.c:619,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_enc
    argTypes:
    - encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 620
    functionName: CloseEncoder
    functionSourceFile: /src/vlc/modules/codec/vpx.c
    functionUses: 1
    functionsReached:
    - free
    - vpx_codec_destroy
    - VPX_ERR
    linkageType: ''
    returnType: void
    signature: void CloseEncoder(encoder_t *p_enc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opus_projection_decoder_destroy
      Src: /src/vlc/modules/codec/opus.c:177,1
    - Dst: opus_multistream_decoder_destroy
      Src: /src/vlc/modules/codec/opus.c:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - decoder_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 187
    functionName: DecoderDestroy
    functionSourceFile: /src/vlc/modules/codec/opus.c
    functionUses: 0
    functionsReached:
    - opus_multistream_decoder_destroy
    - opus_projection_decoder_destroy
    linkageType: ''
    returnType: void
    signature: void DecoderDestroy( decoder_sys_t *p_sys )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: opus_projection_decoder_ctl
      Src: /src/vlc/modules/codec/opus.c:195,1
    - Dst: OPUS_SET_GAIN
      Src: /src/vlc/modules/codec/opus.c:196,1
    - Dst: opus_multistream_decoder_ctl
      Src: /src/vlc/modules/codec/opus.c:202,1
    - Dst: OPUS_SET_GAIN
      Src: /src/vlc/modules/codec/opus.c:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - p_sys
    - gain
    argTypes:
    - decoder_sys_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 207
    functionName: SetDecoderGain
    functionSourceFile: /src/vlc/modules/codec/opus.c
    functionUses: 0
    functionsReached:
    - OPUS_SET_GAIN
    - opus_multistream_decoder_ctl
    - opus_projection_decoder_ctl
    linkageType: ''
    returnType: int
    signature: int SetDecoderGain( decoder_sys_t *p_sys, int gain )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: opus_projection_decode_float
      Src: /src/vlc/modules/codec/opus.c:215,1
    - Dst: opus_multistream_decode_float
      Src: /src/vlc/modules/codec/opus.c:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - p_sys
    - p_oggpacket
    - spp
    - out
    argTypes:
    - decoder_sys_t*
    - ogg_packet*
    - int
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 223
    functionName: DecoderDecodeFloat
    functionSourceFile: /src/vlc/modules/codec/opus.c
    functionUses: 0
    functionsReached:
    - opus_multistream_decode_float
    - opus_projection_decode_float
    linkageType: ''
    returnType: int
    signature: "int DecoderDecodeFloat( decoder_sys_t *p_sys, const ogg_packet *p_oggpacket,\n
      \                              int spp, block_t *out )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: opus_projection_decoder_create
      Src: /src/vlc/modules/codec/opus.c:232,1
    - Dst: aout_CheckChannelReorder
      Src: /src/vlc/modules/codec/opus.c:250,1
    - Dst: opus_multistream_decoder_create
      Src: /src/vlc/modules/codec/opus.c:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - decoder_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 265
    functionName: DecoderCreate
    functionSourceFile: /src/vlc/modules/codec/opus.c
    functionUses: 0
    functionsReached:
    - opus_multistream_decoder_create
    - opus_projection_decoder_create
    - aout_CheckChannelReorder
    linkageType: ''
    returnType: int
    signature: int DecoderCreate( decoder_sys_t *p_sys )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/opus.c:279,1
    - Dst: opus_header_init
      Src: /src/vlc/modules/codec/opus.c:282,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/opus.c:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 298
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/modules/codec/opus.c
    functionUses: 0
    functionsReached:
    - opus_header_init
    - date_Set
    - malloc
    linkageType: ''
    returnType: int
    signature: int OpenDecoder( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ProcessHeaders
      Src: /src/vlc/modules/codec/opus.c:322,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/opus.c:324,1
    - Dst: ProcessPacket
      Src: /src/vlc/modules/codec/opus.c:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 331
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/codec/opus.c
    functionUses: 6
    functionsReached:
    - ProcessPacket
    - block_Release
    - ProcessHeaders
    linkageType: ''
    returnType: block_t
    signature: block_t *DecodeBlock( decoder_t *p_dec, block_t *p_block )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DecodeBlock
      Src: /src/vlc/modules/codec/opus.c:338,1
    - Dst: decoder_QueueAudio
      Src: /src/vlc/modules/codec/opus.c:340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 342
    functionName: DecodeAudio
    functionSourceFile: /src/vlc/modules/codec/opus.c
    functionUses: 4
    functionsReached:
    - DecodeBlock
    - decoder_QueueAudio
    linkageType: ''
    returnType: int
    signature: int DecodeAudio( decoder_t *p_dec, block_t *p_block )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/codec/opus.c:361,1
    - Dst: xiph_SplitHeaders
      Src: /src/vlc/modules/codec/opus.c:363,1
    - Dst: free
      Src: /src/vlc/modules/codec/opus.c:367,1
    - Dst: memcmp
      Src: /src/vlc/modules/codec/opus.c:375,1
    - Dst: opus_header_init
      Src: /src/vlc/modules/codec/opus.c:378,1
    - Dst: opus_prepare_header
      Src: /src/vlc/modules/codec/opus.c:380,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/opus.c:389,1
    - Dst: opus_write_header
      Src: /src/vlc/modules/codec/opus.c:392,1
    - Dst: opus_get_version_string
      Src: /src/vlc/modules/codec/opus.c:393,1
    - Dst: opus_header_clean
      Src: /src/vlc/modules/codec/opus.c:394,1
    - Dst: free
      Src: /src/vlc/modules/codec/opus.c:397,1
    - Dst: ProcessInitialHeader
      Src: /src/vlc/modules/codec/opus.c:414,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/opus.c:418,1
    - Dst: opus_header_clean
      Src: /src/vlc/modules/codec/opus.c:419,1
    - Dst: opus_header_init
      Src: /src/vlc/modules/codec/opus.c:420,1
    - Dst: free
      Src: /src/vlc/modules/codec/opus.c:423,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 426
    functionName: ProcessHeaders
    functionSourceFile: /src/vlc/modules/codec/opus.c
    functionUses: 2
    functionsReached:
    - xiph_SplitHeaders
    - ProcessInitialHeader
    - memcpy
    - opus_write_header
    - opus_get_version_string
    - opus_header_clean
    - free
    - msg_Err
    - opus_header_init
    - opus_prepare_header
    - memcmp
    linkageType: ''
    returnType: int
    signature: int ProcessHeaders( decoder_t *p_dec )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: opus_header_parse
      Src: /src/vlc/modules/codec/opus.c:436,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/opus.c:438,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/opus.c:442,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/opus.c:450,1
    - Dst: floor
      Src: /src/vlc/modules/codec/opus.c:455,1
    - Dst: sqrt
      Src: /src/vlc/modules/codec/opus.c:455,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/opus.c:457,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/opus.c:461,1
    - Dst: DecoderCreate
      Src: /src/vlc/modules/codec/opus.c:481,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/opus.c:483,1
    - Dst: SetDecoderGain
      Src: /src/vlc/modules/codec/opus.c:488,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/opus.c:490,1
    - Dst: DecoderDestroy
      Src: /src/vlc/modules/codec/opus.c:491,1
    - Dst: date_Init
      Src: /src/vlc/modules/codec/opus.c:496,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 2
    argNames:
    - p_dec
    - p_oggpacket
    argTypes:
    - decoder_t*
    - ogg_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 431
    functionDepth: 2
    functionLinenumber: 431
    functionLinenumberEnd: 499
    functionName: ProcessInitialHeader
    functionSourceFile: /src/vlc/modules/codec/opus.c
    functionUses: 1
    functionsReached:
    - opus_header_parse
    - SetDecoderGain
    - floor
    - sqrt
    - DecoderCreate
    - date_Init
    - msg_Err
    - msg_Dbg
    - DecoderDestroy
    linkageType: ''
    returnType: int
    signature: int ProcessInitialHeader( decoder_t *p_dec, ogg_packet *p_oggpacket
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: date_Set
      Src: /src/vlc/modules/codec/opus.c:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 509
    functionName: Flush
    functionSourceFile: /src/vlc/modules/codec/opus.c
    functionUses: 78
    functionsReached:
    - date_Set
    linkageType: ''
    returnType: void
    signature: void Flush( decoder_t *p_dec )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/vlc/modules/codec/opus.c:521,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/opus.c:524,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/opus.c:531,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/opus.c:533,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/opus.c:536,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/opus.c:539,1
    - Dst: DecodePacket
      Src: /src/vlc/modules/codec/opus.c:547,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/opus.c:551,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - p_dec
    - p_oggpacket
    - p_block
    argTypes:
    - decoder_t*
    - ogg_packet*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 553
    functionName: ProcessPacket
    functionSourceFile: /src/vlc/modules/codec/opus.c
    functionUses: 2
    functionsReached:
    - block_Release
    - date_Set
    - DecodePacket
    - date_Get
    - Flush
    linkageType: ''
    returnType: block_t
    signature: "block_t *ProcessPacket( decoder_t *p_dec, ogg_packet *p_oggpacket,\n
      \                              block_t *p_block )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: opus_packet_get_nb_frames
      Src: /src/vlc/modules/codec/opus.c:567,1
    - Dst: opus_packet_get_samples_per_frame
      Src: /src/vlc/modules/codec/opus.c:568,1
    - Dst: decoder_UpdateAudioFormat
      Src: /src/vlc/modules/codec/opus.c:576,1
    - Dst: decoder_NewAudioBuffer
      Src: /src/vlc/modules/codec/opus.c:578,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/opus.c:581,1
    - Dst: DecoderDecodeFloat
      Src: /src/vlc/modules/codec/opus.c:585,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/codec/opus.c:589,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/codec/opus.c:591,1
    - Dst: samples_from_vlc_tick
      Src: /src/vlc/modules/codec/opus.c:591,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/opus.c:596,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/opus.c:598,1
    - Dst: memmove
      Src: /src/vlc/modules/codec/opus.c:607,1
    - Dst: pow
      Src: /src/vlc/modules/codec/opus.c:617,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/opus.c:624,1
    - Dst: date_Increment
      Src: /src/vlc/modules/codec/opus.c:625,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 4
    argNames:
    - p_dec
    - p_oggpacket
    - i_nb_samples
    - i_duration
    argTypes:
    - decoder_t*
    - ogg_packet*
    - int
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 628
    functionName: DecodePacket
    functionSourceFile: /src/vlc/modules/codec/opus.c
    functionUses: 3
    functionsReached:
    - samples_from_vlc_tick
    - opus_packet_get_nb_frames
    - block_Release
    - pow
    - opus_packet_get_samples_per_frame
    - decoder_NewAudioBuffer
    - VLC_CLIP
    - decoder_UpdateAudioFormat
    - msg_Err
    - memmove
    - vlc_tick_from_samples
    - date_Get
    - date_Increment
    - DecoderDecodeFloat
    linkageType: ''
    returnType: block_t
    signature: "block_t *DecodePacket( decoder_t *p_dec, ogg_packet *p_oggpacket,\n
      \                             int i_nb_samples, vlc_tick_t i_duration )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DecoderDestroy
      Src: /src/vlc/modules/codec/opus.c:638,1
    - Dst: opus_header_clean
      Src: /src/vlc/modules/codec/opus.c:640,1
    - Dst: free
      Src: /src/vlc/modules/codec/opus.c:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 642
    functionName: CloseDecoder
    functionSourceFile: /src/vlc/modules/codec/opus.c
    functionUses: 2
    functionsReached:
    - free
    - DecoderDestroy
    - opus_header_clean
    linkageType: ''
    returnType: void
    signature: void CloseDecoder( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/codec/opus.c:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - enc
    - src_start
    - src
    - samples
    argTypes:
    - encoder_t*
    - unsigned
    - block_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 678
    functionName: fill_buffer
    functionSourceFile: /src/vlc/modules/codec/opus.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: unsigned
    signature: "unsigned fill_buffer(encoder_t *enc, unsigned src_start, block_t *src,\n
      \                           unsigned samples)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/codec/opus.c:688,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/opus.c:701,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/opus.c:702,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/codec/opus.c:704,1
    - Dst: fill_buffer
      Src: /src/vlc/modules/codec/opus.c:712,1
    - Dst: __MIN
      Src: /src/vlc/modules/codec/opus.c:713,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/opus.c:716,1
    - Dst: fill_buffer
      Src: /src/vlc/modules/codec/opus.c:726,1
    - Dst: __MIN
      Src: /src/vlc/modules/codec/opus.c:727,1
    - Dst: opus_multistream_encode_float
      Src: /src/vlc/modules/codec/opus.c:730,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/opus.c:735,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/codec/opus.c:739,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/codec/opus.c:751,1
    - Dst: fill_buffer
      Src: /src/vlc/modules/codec/opus.c:757,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - enc
    - buf
    argTypes:
    - encoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 760
    functionName: Encode
    functionSourceFile: /src/vlc/modules/codec/opus.c
    functionUses: 0
    functionsReached:
    - block_Release
    - block_ChainAppend
    - fill_buffer
    - opus_multistream_encode_float
    - block_ChainRelease
    - block_Alloc
    - vlc_tick_from_samples
    - __MIN
    - unlikely
    linkageType: ''
    returnType: block_t
    signature: block_t *Encode(encoder_t *enc, block_t *buf)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/opus.c:769,1
    - Dst: opus_header_init
      Src: /src/vlc/modules/codec/opus.c:783,1
    - Dst: opus_prepare_header
      Src: /src/vlc/modules/codec/opus.c:785,1
    - Dst: opus_multistream_surround_encoder_create
      Src: /src/vlc/modules/codec/opus.c:793,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/opus.c:800,1
    - Dst: opus_multistream_encoder_ctl
      Src: /src/vlc/modules/codec/opus.c:809,1
    - Dst: OPUS_SET_BITRATE
      Src: /src/vlc/modules/codec/opus.c:809,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/codec/opus.c:813,1
    - Dst: opus_multistream_encoder_ctl
      Src: /src/vlc/modules/codec/opus.c:822,1
    - Dst: OPUS_GET_LOOKAHEAD
      Src: /src/vlc/modules/codec/opus.c:823,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/opus.c:825,1
    - Dst: opus_strerror
      Src: /src/vlc/modules/codec/opus.c:826,1
    - Dst: opus_write_header
      Src: /src/vlc/modules/codec/opus.c:831,1
    - Dst: opus_get_version_string
      Src: /src/vlc/modules/codec/opus.c:832,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/opus.c:842,1
    - Dst: memset
      Src: /src/vlc/modules/codec/opus.c:849,1
    - Dst: opus_header_clean
      Src: /src/vlc/modules/codec/opus.c:856,1
    - Dst: free
      Src: /src/vlc/modules/codec/opus.c:860,1
    - Dst: opus_multistream_encoder_destroy
      Src: /src/vlc/modules/codec/opus.c:861,1
    - Dst: free
      Src: /src/vlc/modules/codec/opus.c:862,1
    - Dst: opus_header_clean
      Src: /src/vlc/modules/codec/opus.c:877,1
    - Dst: opus_multistream_encoder_destroy
      Src: /src/vlc/modules/codec/opus.c:879,1
    - Dst: free
      Src: /src/vlc/modules/codec/opus.c:880,1
    - Dst: free
      Src: /src/vlc/modules/codec/opus.c:881,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 69
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 883
    functionName: OpenEncoder
    functionSourceFile: /src/vlc/modules/codec/opus.c
    functionUses: 0
    functionsReached:
    - opus_multistream_encoder_ctl
    - memset
    - opus_get_version_string
    - opus_write_header
    - opus_header_clean
    - msg_Err
    - free
    - malloc
    - OPUS_SET_BITRATE
    - OPUS_GET_LOOKAHEAD
    - block_Alloc
    - vlc_alloc
    - opus_multistream_encoder_destroy
    - opus_header_init
    - opus_strerror
    - opus_prepare_header
    - opus_multistream_surround_encoder_create
    linkageType: ''
    returnType: int
    signature: int OpenEncoder(vlc_object_t *p_this)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: opus_multistream_encoder_destroy
      Src: /src/vlc/modules/codec/opus.c:889,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/opus.c:891,1
    - Dst: free
      Src: /src/vlc/modules/codec/opus.c:892,1
    - Dst: free
      Src: /src/vlc/modules/codec/opus.c:893,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - enc
    argTypes:
    - encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 894
    functionName: CloseEncoder
    functionSourceFile: /src/vlc/modules/codec/opus.c
    functionUses: 1
    functionsReached:
    - free
    - block_Release
    - opus_multistream_encoder_destroy
    linkageType: ''
    returnType: void
    signature: void CloseEncoder(encoder_t *enc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/cvdsub.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - p_this
    - b_packetizer
    argTypes:
    - vlc_object_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 130
    functionName: OpenCommon
    functionSourceFile: /src/vlc/modules/codec/cvdsub.c
    functionUses: 23
    functionsReached:
    - malloc
    linkageType: ''
    returnType: int
    signature: int OpenCommon( vlc_object_t *p_this, bool b_packetizer )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenCommon
      Src: /src/vlc/modules/codec/cvdsub.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: DecoderOpen
    functionSourceFile: /src/vlc/modules/codec/cvdsub.c
    functionUses: 0
    functionsReached:
    - OpenCommon
    linkageType: ''
    returnType: int
    signature: int DecoderOpen( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenCommon
      Src: /src/vlc/modules/codec/cvdsub.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: PacketizerOpen
    functionSourceFile: /src/vlc/modules/codec/cvdsub.c
    functionUses: 0
    functionsReached:
    - OpenCommon
    linkageType: ''
    returnType: int
    signature: int PacketizerOpen( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/codec/cvdsub.c:155,1
    - Dst: free
      Src: /src/vlc/modules/codec/cvdsub.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 157
    functionName: DecoderClose
    functionSourceFile: /src/vlc/modules/codec/cvdsub.c
    functionUses: 0
    functionsReached:
    - block_ChainRelease
    - free
    linkageType: ''
    returnType: void
    signature: void DecoderClose( vlc_object_t *p_this )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/codec/cvdsub.c:171,1
    - Dst: Reassemble
      Src: /src/vlc/modules/codec/cvdsub.c:175,1
    - Dst: DecodePacket
      Src: /src/vlc/modules/codec/cvdsub.c:179,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/cvdsub.c:180,1
    - Dst: decoder_QueueSub
      Src: /src/vlc/modules/codec/cvdsub.c:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 184
    functionName: Decode
    functionSourceFile: /src/vlc/modules/codec/cvdsub.c
    functionUses: 14
    functionsReached:
    - block_Release
    - DecodePacket
    - decoder_QueueSub
    - Reassemble
    linkageType: ''
    returnType: int
    signature: int Decode( decoder_t *p_dec, block_t *p_block )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Reassemble
      Src: /src/vlc/modules/codec/cvdsub.c:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 204
    functionName: Packetize
    functionSourceFile: /src/vlc/modules/codec/cvdsub.c
    functionUses: 9
    functionsReached:
    - Reassemble
    linkageType: ''
    returnType: block_t
    signature: block_t *Packetize( decoder_t *p_dec, block_t **pp_block )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/cvdsub.c:228,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/cvdsub.c:230,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/cvdsub.c:240,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/cvdsub.c:241,1
    - Dst: ParseHeader
      Src: /src/vlc/modules/codec/cvdsub.c:251,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/cvdsub.c:253,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/cvdsub.c:254,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/codec/cvdsub.c:259,1
    - Dst: block_ChainGather
      Src: /src/vlc/modules/codec/cvdsub.c:260,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/cvdsub.c:270,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/cvdsub.c:274,1
    - Dst: ParseMetaInfo
      Src: /src/vlc/modules/codec/cvdsub.c:276,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 289
    functionName: Reassemble
    functionSourceFile: /src/vlc/modules/codec/cvdsub.c
    functionUses: 2
    functionsReached:
    - block_Release
    - ParseHeader
    - block_ChainAppend
    - msg_Dbg
    - ParseMetaInfo
    - msg_Warn
    - block_ChainGather
    linkageType: ''
    returnType: block_t
    signature: block_t *Reassemble( decoder_t *p_dec, block_t *p_block )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/cvdsub.c:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 339
    functionName: ParseHeader
    functionSourceFile: /src/vlc/modules/codec/cvdsub.c
    functionUses: 1
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int ParseHeader( decoder_t *p_dec, block_t *p_block )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 352
    functionName: ExtractXY
    functionSourceFile: /src/vlc/modules/codec/cvdsub.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ExtractXY(x, y)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: FROM_SCALE_NZ
      Src: /src/vlc/modules/codec/cvdsub.c:366,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/cvdsub.c:369,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/codec/cvdsub.c:370,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/cvdsub.c:376,1
    - Dst: ExtractXY
      Src: /src/vlc/modules/codec/cvdsub.c:383,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/cvdsub.c:386,1
    - Dst: ExtractXY
      Src: /src/vlc/modules/codec/cvdsub.c:395,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/cvdsub.c:400,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/cvdsub.c:415,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/cvdsub.c:434,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/cvdsub.c:454,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/cvdsub.c:469,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/cvdsub.c:484,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/cvdsub.c:495,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/cvdsub.c:502,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 67
    argCount: 2
    argNames:
    - p_dec
    - p_spu
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 508
    functionName: ParseMetaInfo
    functionSourceFile: /src/vlc/modules/codec/cvdsub.c
    functionUses: 1
    functionsReached:
    - MS_FROM_VLC_TICK
    - ExtractXY
    - FROM_SCALE_NZ
    - msg_Dbg
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: void ParseMetaInfo( decoder_t *p_dec, block_t *p_spu  )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decoder_NewSubpicture
      Src: /src/vlc/modules/codec/cvdsub.c:526,1
    - Dst: video_format_Init
      Src: /src/vlc/modules/codec/cvdsub.c:534,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/cvdsub.c:543,1
    - Dst: subpicture_region_New
      Src: /src/vlc/modules/codec/cvdsub.c:545,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/cvdsub.c:548,1
    - Dst: subpicture_Delete
      Src: /src/vlc/modules/codec/cvdsub.c:549,1
    - Dst: vlc_spu_regions_push
      Src: /src/vlc/modules/codec/cvdsub.c:553,1
    - Dst: RenderImage
      Src: /src/vlc/modules/codec/cvdsub.c:559,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/cvdsub.c:561,1
    - Dst: subpicture_Delete
      Src: /src/vlc/modules/codec/cvdsub.c:562,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 2
    argNames:
    - p_dec
    - p_data
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 567
    functionName: DecodePacket
    functionSourceFile: /src/vlc/modules/codec/cvdsub.c
    functionUses: 4
    functionsReached:
    - decoder_NewSubpicture
    - video_format_Init
    - RenderImage
    - vlc_spu_regions_push
    - memcpy
    - msg_Err
    - subpicture_Delete
    - subpicture_region_New
    linkageType: ''
    returnType: subpicture_t
    signature: subpicture_t *DecodePacket( decoder_t *p_dec, block_t *p_data )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bs_init
      Src: /src/vlc/modules/codec/cvdsub.c:604,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/cvdsub.c:613,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/cvdsub.c:621,1
    - Dst: __MIN
      Src: /src/vlc/modules/codec/cvdsub.c:630,1
    - Dst: memset
      Src: /src/vlc/modules/codec/cvdsub.c:634,1
    - Dst: bs_align
      Src: /src/vlc/modules/codec/cvdsub.c:637,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - p_dec
    - p_data
    - dst_pic
    argTypes:
    - decoder_t*
    - block_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 641
    functionName: RenderImage
    functionSourceFile: /src/vlc/modules/codec/cvdsub.c
    functionUses: 1
    functionsReached:
    - memset
    - bs_read
    - __MIN
    - bs_align
    - bs_init
    linkageType: ''
    returnType: int
    signature: "int RenderImage( decoder_t *p_dec, block_t *p_data,\n                         picture_t
      *dst_pic )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - errorCode
    - ','
    - exceptionLabel
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: on_err_goto
    functionSourceFile: /src/vlc/modules/codec/audiotoolbox_midi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: on_err_goto(errorCode, exceptionLabel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AUGraphAddNode
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - graph
    - type
    - subtype
    - node
    argTypes:
    - AUGraph
    - OSType
    - OSType
    - AUNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: AddAppleAUNode
    functionSourceFile: /src/vlc/modules/codec/audiotoolbox_midi.c
    functionUses: 0
    functionsReached:
    - AUGraphAddNode
    linkageType: ''
    returnType: OSStatus
    signature: OSStatus AddAppleAUNode(AUGraph graph, OSType type, OSType subtype,
      AUNode *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: on_err_goto
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:123,1
    - Dst: NewAUGraph
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:123,1
    - Dst: on_err_goto
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:128,1
    - Dst: AddAppleAUNode
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:128,1
    - Dst: on_err_goto
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:134,1
    - Dst: AddAppleAUNode
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:134,1
    - Dst: on_err_goto
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:141,1
    - Dst: AddAppleAUNode
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:141,1
    - Dst: on_err_goto
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:147,1
    - Dst: AddAppleAUNode
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:147,1
    - Dst: on_err_goto
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:154,1
    - Dst: AUGraphOpen
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:154,1
    - Dst: on_err_goto
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:157,1
    - Dst: AUGraphConnectNodeInput
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:157,1
    - Dst: on_err_goto
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:159,1
    - Dst: AUGraphConnectNodeInput
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:159,1
    - Dst: on_err_goto
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:162,1
    - Dst: AUGraphNodeInfo
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:162,1
    - Dst: on_err_goto
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:164,1
    - Dst: AUGraphNodeInfo
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - outGraph
    - outSynth
    - outOut
    argTypes:
    - AUGraph*
    - AudioUnit*
    - AudioUnit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 168
    functionName: CreateAUGraph
    functionSourceFile: /src/vlc/modules/codec/audiotoolbox_midi.c
    functionUses: 0
    functionsReached:
    - AUGraphNodeInfo
    - AUGraphConnectNodeInput
    - NewAUGraph
    - AddAppleAUNode
    - on_err_goto
    - AUGraphOpen
    linkageType: ''
    returnType: OSStatus
    signature: OSStatus CreateAUGraph(AUGraph *outGraph, AudioUnit *outSynth, AudioUnit
      *outOut)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AudioUnitRender
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:195,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - p_dec
    - p_sys
    - p_out
    - frames
    - base_sample_time
    argTypes:
    - decoder_t*
    - decoder_sys_t*
    - block_t*
    - unsigned
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 208
    functionName: RenderAudioUnit
    functionSourceFile: /src/vlc/modules/codec/audiotoolbox_midi.c
    functionUses: 0
    functionsReached:
    - AudioUnitRender
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: "int RenderAudioUnit(decoder_t *p_dec, decoder_sys_t *p_sys, block_t
      *p_out,\n                           unsigned frames, int64_t base_sample_time)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:212,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:216,1
    - Dst: CFURLCreateFromFileSystemRepresentation
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:217,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:219,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:220,1
    - Dst: AudioUnitSetProperty
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:223,1
    - Dst: CFRelease
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:227,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - p_dec
    - synthUnit
    - sfPath
    argTypes:
    - decoder_t*
    - AudioUnit
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 234
    functionName: SetSoundfont
    functionSourceFile: /src/vlc/modules/codec/audiotoolbox_midi.c
    functionUses: 7
    functionsReached:
    - CFRelease
    - AudioUnitSetProperty
    - strlen
    - msg_Err
    - msg_Dbg
    - CFURLCreateFromFileSystemRepresentation
    - unlikely
    linkageType: ''
    returnType: int
    signature: int SetSoundfont(decoder_t *p_dec, AudioUnit synthUnit, const char
      *sfPath)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:245,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:246,1
    - Dst: CreateAUGraph
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:253,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:254,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:255,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:261,1
    - Dst: SetSoundfont
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:262,1
    - Dst: free
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:263,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:264,1
    - Dst: decoder_UpdateAudioFormat
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:274,1
    - Dst: AudioUnitSetProperty
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:292,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:296,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:297,1
    - Dst: AudioUnitGetProperty
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:304,1
    - Dst: AUGraphInitialize
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:315,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:316,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:318,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:320,1
    - Dst: MusicDeviceMIDIEvent
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:326,1
    - Dst: AUGraphStart
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:331,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:332,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:333,1
    - Dst: date_Init
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:339,1
    - Dst: DisposeAUGraph
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:349,1
    - Dst: free
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:350,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 79
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 353
    functionName: Open
    functionSourceFile: /src/vlc/modules/codec/audiotoolbox_midi.c
    functionUses: 68
    functionsReached:
    - CreateAUGraph
    - var_InheritString
    - AudioUnitSetProperty
    - AUGraphInitialize
    - MusicDeviceMIDIEvent
    - AudioUnitGetProperty
    - date_Init
    - msg_Err
    - free
    - decoder_UpdateAudioFormat
    - SetSoundfont
    - AUGraphStart
    - unlikely
    - malloc
    - DisposeAUGraph
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *p_this)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AUGraphStop
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:361,1
    - Dst: DisposeAUGraph
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:362,1
    - Dst: free
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 365
    functionName: Close
    functionSourceFile: /src/vlc/modules/codec/audiotoolbox_midi.c
    functionUses: 175
    functionsReached:
    - free
    - AUGraphStop
    - DisposeAUGraph
    linkageType: ''
    returnType: void
    signature: void Close (vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: date_Set
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:371,1
    - Dst: MusicDeviceMIDIEvent
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 380
    functionName: Flush
    functionSourceFile: /src/vlc/modules/codec/audiotoolbox_midi.c
    functionUses: 79
    functionsReached:
    - MusicDeviceMIDIEvent
    - date_Set
    linkageType: ''
    returnType: void
    signature: void Flush (decoder_t *p_dec)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:392,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:394,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:400,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:401,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:403,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:404,1
    - Dst: MusicDeviceMIDIEvent
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:435,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:440,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:448,1
    - Dst: decoder_NewAudioBuffer
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:453,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:457,1
    - Dst: date_Increment
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:459,1
    - Dst: RenderAudioUnit
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:463,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:464,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:469,1
    - Dst: decoder_QueueAudio
      Src: /src/vlc/modules/codec/audiotoolbox_midi.c:471,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 63
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 473
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/codec/audiotoolbox_midi.c
    functionUses: 7
    functionsReached:
    - decoder_QueueAudio
    - block_Release
    - RenderAudioUnit
    - decoder_NewAudioBuffer
    - MusicDeviceMIDIEvent
    - date_Set
    - date_Get
    - msg_Warn
    - date_Increment
    - Flush
    linkageType: ''
    returnType: int
    signature: int DecodeBlock (decoder_t *p_dec, block_t *p_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/codec/vpx_alpha.c:57,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/codec/vpx_alpha.c:57,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/vpx_alpha.c:59,1
    - Dst: decoder_GetDecoderDevice
      Src: /src/vlc/modules/codec/vpx_alpha.c:60,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/vpx_alpha.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: GetDevice
    functionSourceFile: /src/vlc/modules/codec/vpx_alpha.c
    functionUses: 3
    functionsReached:
    - decoder_GetDecoderDevice
    - vlc_object_parent
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - container_of
    linkageType: ''
    returnType: vlc_decoder_device
    signature: vlc_decoder_device *GetDevice( decoder_t *dec )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/codec/vpx_alpha.c:76,1
    - Dst: vlc_atomic_rc_dec
      Src: /src/vlc/modules/codec/vpx_alpha.c:78,1
    - Dst: free
      Src: /src/vlc/modules/codec/vpx_alpha.c:81,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/vpx_alpha.c:82,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/vpx_alpha.c:84,1
    - Dst: free
      Src: /src/vlc/modules/codec/vpx_alpha.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 86
    functionName: cpu_alpha_destroy
    functionSourceFile: /src/vlc/modules/codec/vpx_alpha.c
    functionUses: 0
    functionsReached:
    - free
    - picture_Release
    - vlc_atomic_rc_dec
    - container_of
    linkageType: ''
    returnType: void
    signature: void cpu_alpha_destroy(picture_context_t *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/codec/vpx_alpha.c:90,1
    - Dst: vlc_atomic_rc_inc
      Src: /src/vlc/modules/codec/vpx_alpha.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: cpu_alpha_copy
    functionSourceFile: /src/vlc/modules/codec/vpx_alpha.c
    functionUses: 0
    functionsReached:
    - vlc_atomic_rc_inc
    - container_of
    linkageType: ''
    returnType: picture_context_t
    signature: picture_context_t *cpu_alpha_copy(picture_context_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/codec/vpx_alpha.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pic
    argTypes:
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: DestroyPoolPic
    functionSourceFile: /src/vlc/modules/codec/vpx_alpha.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void DestroyPoolPic(picture_t *pic)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/vpx_alpha.c:109,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/vpx_alpha.c:109,1
    - Dst: picture_pool_Wait
      Src: /src/vlc/modules/codec/vpx_alpha.c:111,1
    - Dst: calloc
      Src: /src/vlc/modules/codec/vpx_alpha.c:115,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/vpx_alpha.c:116,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/vpx_alpha.c:118,1
    - Dst: vlc_atomic_rc_init
      Src: /src/vlc/modules/codec/vpx_alpha.c:121,1
    - Dst: picture_Hold
      Src: /src/vlc/modules/codec/vpx_alpha.c:125,1
    - Dst: picture_Hold
      Src: /src/vlc/modules/codec/vpx_alpha.c:126,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/vpx_alpha.c:143,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/vpx_alpha.c:144,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/vpx_alpha.c:146,1
    - Dst: memset
      Src: /src/vlc/modules/codec/vpx_alpha.c:157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 4
    argNames:
    - bdec
    - opaque
    - alpha
    - vctx
    argTypes:
    - decoder_t*
    - picture_t*
    - picture_t*
    - vlc_video_context*
    assertStmts:
    - condition: (vctx == NULL)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/vlc/modules/codec/vpx_alpha.c
    constantsTouched: []
    func_position:
      end: 163
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 163
    functionName: CombinePicturesCPU
    functionSourceFile: /src/vlc/modules/codec/vpx_alpha.c
    functionUses: 0
    functionsReached:
    - assert
    - picture_Hold
    - memset
    - calloc
    - picture_Release
    - picture_pool_Wait
    - vlc_atomic_rc_init
    - unlikely
    - malloc
    - VLC_UNUSED
    linkageType: ''
    returnType: picture_t
    signature: picture_t *CombinePicturesCPU(decoder_t *bdec, picture_t *opaque, picture_t
      *alpha, vlc_video_context *vctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: picture_pool_Release
      Src: /src/vlc/modules/codec/vpx_alpha.c:173,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/vpx_alpha.c:177,1
    - Dst: picture_NewFromResource
      Src: /src/vlc/modules/codec/vpx_alpha.c:180,1
    - Dst: picture_pool_New
      Src: /src/vlc/modules/codec/vpx_alpha.c:184,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/vpx_alpha.c:184,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/vpx_alpha.c:190,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - bdec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 192
    functionName: SetupCPU
    functionSourceFile: /src/vlc/modules/codec/vpx_alpha.c
    functionUses: 0
    functionsReached:
    - picture_NewFromResource
    - ARRAY_SIZE
    - picture_pool_New
    - picture_Release
    - picture_pool_Release
    linkageType: ''
    returnType: int
    signature: int SetupCPU(decoder_t *bdec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/vpx_alpha.c:196,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/vpx_alpha.c:196,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/vpx_alpha.c:196,1
    - Dst: picture_Hold
      Src: /src/vlc/modules/codec/vpx_alpha.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - bdec
    - opaque
    - alpha
    - vctx
    argTypes:
    - decoder_t*
    - picture_t*
    - picture_t*
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: CombineKeepAlpha
    functionSourceFile: /src/vlc/modules/codec/vpx_alpha.c
    functionUses: 0
    functionsReached:
    - picture_Hold
    - VLC_UNUSED
    linkageType: ''
    returnType: picture_t
    signature: picture_t *CombineKeepAlpha(decoder_t *bdec, picture_t *opaque, picture_t
      *alpha, vlc_video_context *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/vpx_alpha.c:202,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/vpx_alpha.c:202,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/vpx_alpha.c:202,1
    - Dst: picture_Hold
      Src: /src/vlc/modules/codec/vpx_alpha.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - bdec
    - opaque
    - alpha
    - vctx
    argTypes:
    - decoder_t*
    - picture_t*
    - picture_t*
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: CombineKeepOpaque
    functionSourceFile: /src/vlc/modules/codec/vpx_alpha.c
    functionUses: 0
    functionsReached:
    - picture_Hold
    - VLC_UNUSED
    linkageType: ''
    returnType: picture_t
    signature: picture_t *CombineKeepOpaque(decoder_t *bdec, picture_t *opaque, picture_t
      *alpha, vlc_video_context *vctx)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/codec/vpx_alpha.c:208,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/codec/vpx_alpha.c:208,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/vpx_alpha.c:210,1
    - Dst: es_format_IsSimilar
      Src: /src/vlc/modules/codec/vpx_alpha.c:215,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/codec/vpx_alpha.c:218,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/codec/vpx_alpha.c:219,1
    - Dst: es_format_IsSimilar
      Src: /src/vlc/modules/codec/vpx_alpha.c:230,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/codec/vpx_alpha.c:233,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/codec/vpx_alpha.c:234,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/codec/vpx_alpha.c:245,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/codec/vpx_alpha.c:246,1
    - Dst: SetupCPU
      Src: /src/vlc/modules/codec/vpx_alpha.c:253,1
    - Dst: SetupD3D11
      Src: /src/vlc/modules/codec/vpx_alpha.c:266,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/vpx_alpha.c:274,1
    - Dst: SetupD3D11
      Src: /src/vlc/modules/codec/vpx_alpha.c:283,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/vpx_alpha.c:291,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/vpx_alpha.c:298,1
    - Dst: decoder_UpdateVideoOutput
      Src: /src/vlc/modules/codec/vpx_alpha.c:303,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/vpx_alpha.c:306,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 77
    argCount: 2
    argNames:
    - dec
    - vctx
    argTypes:
    - decoder_t*
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 308
    functionName: FormatUpdate
    functionSourceFile: /src/vlc/modules/codec/vpx_alpha.c
    functionUses: 0
    functionsReached:
    - vlc_object_parent
    - es_format_Clean
    - vlc_mutex_lock
    - container_of
    - vlc_mutex_unlock
    - es_format_IsSimilar
    - decoder_UpdateVideoOutput
    - msg_Err
    - SetupCPU
    - msg_Warn
    - es_format_Copy
    - SetupD3D11
    linkageType: ''
    returnType: int
    signature: int FormatUpdate( decoder_t *dec, vlc_video_context *vctx )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vector_foreach
      Src: /src/vlc/modules/codec/vpx_alpha.c:314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - bdec
    - pts
    argTypes:
    - decoder_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 322
    functionName: CheckMissingAlpha
    functionSourceFile: /src/vlc/modules/codec/vpx_alpha.c
    functionUses: 0
    functionsReached:
    - vlc_vector_foreach
    linkageType: ''
    returnType: bool
    signature: bool CheckMissingAlpha(decoder_t *bdec, vlc_tick_t pts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_vector_foreach
      Src: /src/vlc/modules/codec/vpx_alpha.c:329,1
    - Dst: vlc_vector_remove_slice
      Src: /src/vlc/modules/codec/vpx_alpha.c:336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - bdec
    - pts
    argTypes:
    - decoder_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 337
    functionName: PurgeMissingAlpha
    functionSourceFile: /src/vlc/modules/codec/vpx_alpha.c
    functionUses: 0
    functionsReached:
    - vlc_vector_foreach
    - vlc_vector_remove_slice
    linkageType: ''
    returnType: void
    signature: void PurgeMissingAlpha(decoder_t *bdec, vlc_tick_t pts)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_picture_chain_PeekFront
      Src: /src/vlc/modules/codec/vpx_alpha.c:343,1
    - Dst: vlc_picture_chain_PeekFront
      Src: /src/vlc/modules/codec/vpx_alpha.c:344,1
    - Dst: CheckMissingAlpha
      Src: /src/vlc/modules/codec/vpx_alpha.c:345,1
    - Dst: vpx_alpha*::pf_combine
      Src: /src/vlc/modules/codec/vpx_alpha.c:351,1
    - Dst: video_format_CopyCropAr
      Src: /src/vlc/modules/codec/vpx_alpha.c:354,1
    - Dst: picture_CopyProperties
      Src: /src/vlc/modules/codec/vpx_alpha.c:355,1
    - Dst: vlc_picture_chain_PopFront
      Src: /src/vlc/modules/codec/vpx_alpha.c:358,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/vpx_alpha.c:359,1
    - Dst: vlc_picture_chain_PopFront
      Src: /src/vlc/modules/codec/vpx_alpha.c:363,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/vpx_alpha.c:364,1
    - Dst: PurgeMissingAlpha
      Src: /src/vlc/modules/codec/vpx_alpha.c:367,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/modules/codec/vpx_alpha.c:371,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/vpx_alpha.c:378,1
    - Dst: vlc_picture_chain_PopFront
      Src: /src/vlc/modules/codec/vpx_alpha.c:379,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/vpx_alpha.c:380,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/vpx_alpha.c:384,1
    - Dst: vlc_picture_chain_PopFront
      Src: /src/vlc/modules/codec/vpx_alpha.c:385,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/vpx_alpha.c:386,1
    - Dst: vlc_picture_chain_PeekFront
      Src: /src/vlc/modules/codec/vpx_alpha.c:388,1
    - Dst: vlc_picture_chain_PeekFront
      Src: /src/vlc/modules/codec/vpx_alpha.c:389,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - bdec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 392
    functionName: SendMergedLocked
    functionSourceFile: /src/vlc/modules/codec/vpx_alpha.c
    functionUses: 0
    functionsReached:
    - video_format_CopyCropAr
    - picture_CopyProperties
    - picture_Release
    - vpx_alpha*::pf_combine
    - decoder_QueueVideo
    - msg_Dbg
    - PurgeMissingAlpha
    - CheckMissingAlpha
    - vlc_picture_chain_PeekFront
    - vlc_picture_chain_PopFront
    linkageType: ''
    returnType: bool
    signature: bool SendMergedLocked(decoder_t *bdec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/codec/vpx_alpha.c:396,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/codec/vpx_alpha.c:396,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/vpx_alpha.c:399,1
    - Dst: vlc_picture_chain_Append
      Src: /src/vlc/modules/codec/vpx_alpha.c:402,1
    - Dst: vlc_picture_chain_Append
      Src: /src/vlc/modules/codec/vpx_alpha.c:406,1
    - Dst: SendMergedLocked
      Src: /src/vlc/modules/codec/vpx_alpha.c:409,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/vpx_alpha.c:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - dec
    - pic
    argTypes:
    - decoder_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 394
    functionDepth: 3
    functionLinenumber: 394
    functionLinenumberEnd: 411
    functionName: QueuePic
    functionSourceFile: /src/vlc/modules/codec/vpx_alpha.c
    functionUses: 0
    functionsReached:
    - vlc_object_parent
    - vlc_picture_chain_Append
    - vlc_mutex_lock
    - container_of
    - vlc_mutex_unlock
    - SendMergedLocked
    linkageType: ''
    returnType: void
    signature: void QueuePic( decoder_t *dec, picture_t *pic )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/codec/vpx_alpha.c:415,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/codec/vpx_alpha.c:415,1
    - Dst: decoder_GetDisplayDate
      Src: /src/vlc/modules/codec/vpx_alpha.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dec
    - sys_now
    - ts
    argTypes:
    - decoder_t*
    - vlc_tick_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 417
    functionName: GetDisplayDate
    functionSourceFile: /src/vlc/modules/codec/vpx_alpha.c
    functionUses: 1
    functionsReached:
    - decoder_GetDisplayDate
    - vlc_object_parent
    - container_of
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t GetDisplayDate( decoder_t *dec, vlc_tick_t sys_now, vlc_tick_t
      ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/codec/vpx_alpha.c:421,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/codec/vpx_alpha.c:421,1
    - Dst: decoder_GetDisplayRate
      Src: /src/vlc/modules/codec/vpx_alpha.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 423
    functionName: GetDisplayRate
    functionSourceFile: /src/vlc/modules/codec/vpx_alpha.c
    functionUses: 1
    functionsReached:
    - decoder_GetDisplayRate
    - vlc_object_parent
    - container_of
    linkageType: ''
    returnType: float
    signature: float GetDisplayRate( decoder_t *dec )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/codec/vpx_alpha.c:429,1
    - Dst: vlc_object_parent
      Src: /src/vlc/modules/codec/vpx_alpha.c:429,1
    - Dst: decoder_GetInputAttachments
      Src: /src/vlc/modules/codec/vpx_alpha.c:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dec
    - ppp_attachment
    - pi_attachment
    argTypes:
    - decoder_t*
    - input_attachment_t***
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 431
    functionName: GetAttachments
    functionSourceFile: /src/vlc/modules/codec/vpx_alpha.c
    functionUses: 2
    functionsReached:
    - decoder_GetInputAttachments
    - vlc_object_parent
    - container_of
    linkageType: ''
    returnType: int
    signature: "int GetAttachments( decoder_t *dec,\r\n                            input_attachment_t
      ***ppp_attachment,\r\n                            int *pi_attachment )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/codec/vpx_alpha.c:443,1
    - Dst: vlc_atomic_rc_dec
      Src: /src/vlc/modules/codec/vpx_alpha.c:445,1
    - Dst: vlc_frame_Release
      Src: /src/vlc/modules/codec/vpx_alpha.c:447,1
    - Dst: free
      Src: /src/vlc/modules/codec/vpx_alpha.c:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - frame
    argTypes:
    - vlc_frame_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 450
    functionName: ReleaseAlphaFrame
    functionSourceFile: /src/vlc/modules/codec/vpx_alpha.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_frame_Release
    - vlc_atomic_rc_dec
    - container_of
    linkageType: ''
    returnType: void
    signature: void ReleaseAlphaFrame(vlc_frame_t *frame)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/codec/vpx_alpha.c:454,1
    - Dst: vlc_atomic_rc_dec
      Src: /src/vlc/modules/codec/vpx_alpha.c:456,1
    - Dst: vlc_frame_Release
      Src: /src/vlc/modules/codec/vpx_alpha.c:458,1
    - Dst: free
      Src: /src/vlc/modules/codec/vpx_alpha.c:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - frame
    argTypes:
    - vlc_frame_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 461
    functionName: ReleaseOpaqueFrame
    functionSourceFile: /src/vlc/modules/codec/vpx_alpha.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_frame_Release
    - vlc_atomic_rc_dec
    - container_of
    linkageType: ''
    returnType: void
    signature: void ReleaseOpaqueFrame(vlc_frame_t *frame)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_frame_GetAncillary
      Src: /src/vlc/modules/codec/vpx_alpha.c:471,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/vpx_alpha.c:473,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/vpx_alpha.c:474,1
    - Dst: vlc_ancillary_GetData
      Src: /src/vlc/modules/codec/vpx_alpha.c:477,1
    - Dst: vlc_atomic_rc_init
      Src: /src/vlc/modules/codec/vpx_alpha.c:488,1
    - Dst: vlc_frame_Init
      Src: /src/vlc/modules/codec/vpx_alpha.c:493,1
    - Dst: vlc_atomic_rc_inc
      Src: /src/vlc/modules/codec/vpx_alpha.c:494,1
    - Dst: vlc_frame_Init
      Src: /src/vlc/modules/codec/vpx_alpha.c:501,1
    - Dst: vpx_alpha*::alpha::dec::pf_decode
      Src: /src/vlc/modules/codec/vpx_alpha.c:509,1
    - Dst: ReleaseAlphaFrame
      Src: /src/vlc/modules/codec/vpx_alpha.c:512,1
    - Dst: assert
      Src: /src/vlc/modules/codec/vpx_alpha.c:518,1
    - Dst: vlc_vector_push
      Src: /src/vlc/modules/codec/vpx_alpha.c:519,1
    - Dst: vpx_alpha*::opaque::dec::pf_decode
      Src: /src/vlc/modules/codec/vpx_alpha.c:522,1
    - Dst: ReleaseOpaqueFrame
      Src: /src/vlc/modules/codec/vpx_alpha.c:525,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/vpx_alpha.c:532,1
    - Dst: vlc_picture_chain_IsEmpty
      Src: /src/vlc/modules/codec/vpx_alpha.c:533,1
    - Dst: vlc_picture_chain_IsEmpty
      Src: /src/vlc/modules/codec/vpx_alpha.c:534,1
    - Dst: SendMergedLocked
      Src: /src/vlc/modules/codec/vpx_alpha.c:535,1
    - Dst: vlc_picture_chain_PopFront
      Src: /src/vlc/modules/codec/vpx_alpha.c:539,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/vpx_alpha.c:540,1
    - Dst: vlc_picture_chain_PopFront
      Src: /src/vlc/modules/codec/vpx_alpha.c:541,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/vpx_alpha.c:542,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/vpx_alpha.c:543,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 2
    argNames:
    - dec
    - frame
    argTypes:
    - decoder_t*
    - vlc_frame_t*
    assertStmts:
    - condition: (frame->i_pts != VLC_TICK_INVALID)
      pos:
        line_end: 517
        line_start: 517
        source_file: /src/vlc/modules/codec/vpx_alpha.c
    constantsTouched: []
    func_position:
      end: 547
      start: 463
    functionDepth: 3
    functionLinenumber: 463
    functionLinenumberEnd: 547
    functionName: Decode
    functionSourceFile: /src/vlc/modules/codec/vpx_alpha.c
    functionUses: 14
    functionsReached:
    - assert
    - vlc_picture_chain_IsEmpty
    - vlc_atomic_rc_inc
    - picture_Release
    - vpx_alpha*::opaque::dec::pf_decode
    - vlc_frame_GetAncillary
    - vpx_alpha*::alpha::dec::pf_decode
    - ReleaseAlphaFrame
    - vlc_mutex_lock
    - vlc_ancillary_GetData
    - vlc_atomic_rc_init
    - vlc_vector_push
    - vlc_frame_Init
    - vlc_mutex_unlock
    - ReleaseOpaqueFrame
    - SendMergedLocked
    - unlikely
    - malloc
    - vlc_picture_chain_PopFront
    linkageType: ''
    returnType: int
    signature: int Decode( decoder_t *dec, vlc_frame_t *frame )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vpx_alpha*::opaque::dec::pf_flush
      Src: /src/vlc/modules/codec/vpx_alpha.c:554,1
    - Dst: vpx_alpha*::alpha::dec::pf_flush
      Src: /src/vlc/modules/codec/vpx_alpha.c:557,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/vpx_alpha.c:559,1
    - Dst: vlc_picture_chain_PopFront
      Src: /src/vlc/modules/codec/vpx_alpha.c:561,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/vpx_alpha.c:562,1
    - Dst: vlc_picture_chain_PopFront
      Src: /src/vlc/modules/codec/vpx_alpha.c:563,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/vpx_alpha.c:564,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/vpx_alpha.c:565,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 566
    functionName: Flush
    functionSourceFile: /src/vlc/modules/codec/vpx_alpha.c
    functionUses: 80
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vpx_alpha*::alpha::dec::pf_flush
    - picture_Release
    - vpx_alpha*::opaque::dec::pf_flush
    - vlc_picture_chain_PopFront
    linkageType: ''
    returnType: void
    signature: void Flush( decoder_t *dec )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decoder_Clean
      Src: /src/vlc/modules/codec/vpx_alpha.c:570,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/codec/vpx_alpha.c:571,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/codec/vpx_alpha.c:572,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/codec/vpx_alpha.c:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - vpdec
    argTypes:
    - struct vp_decoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 574
    functionName: DestroyDecoder
    functionSourceFile: /src/vlc/modules/codec/vpx_alpha.c
    functionUses: 0
    functionsReached:
    - decoder_Clean
    - vlc_object_delete
    - es_format_Clean
    linkageType: ''
    returnType: void
    signature: void DestroyDecoder(struct vp_decoder *vpdec)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/codec/vpx_alpha.c:578,1
    - Dst: es_format_HasVpxAlpha
      Src: /src/vlc/modules/codec/vpx_alpha.c:581,1
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/codec/vpx_alpha.c:584,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/vpx_alpha.c:585,1
    - Dst: vlc_object_create
      Src: /src/vlc/modules/codec/vpx_alpha.c:588,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/vpx_alpha.c:589,1
    - Dst: vlc_object_create
      Src: /src/vlc/modules/codec/vpx_alpha.c:591,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/vpx_alpha.c:592,1
    - Dst: vlc_object_delete
      Src: /src/vlc/modules/codec/vpx_alpha.c:594,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/codec/vpx_alpha.c:599,1
    - Dst: decoder_Init
      Src: /src/vlc/modules/codec/vpx_alpha.c:605,1
    - Dst: vlc_picture_chain_Init
      Src: /src/vlc/modules/codec/vpx_alpha.c:606,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/codec/vpx_alpha.c:607,1
    - Dst: decoder_Init
      Src: /src/vlc/modules/codec/vpx_alpha.c:613,1
    - Dst: vlc_picture_chain_Init
      Src: /src/vlc/modules/codec/vpx_alpha.c:614,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/codec/vpx_alpha.c:615,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/codec/vpx_alpha.c:617,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/codec/vpx_alpha.c:619,1
    - Dst: vlc_vector_init
      Src: /src/vlc/modules/codec/vpx_alpha.c:620,1
    - Dst: decoder_LoadModule
      Src: /src/vlc/modules/codec/vpx_alpha.c:636,1
    - Dst: DestroyDecoder
      Src: /src/vlc/modules/codec/vpx_alpha.c:639,1
    - Dst: DestroyDecoder
      Src: /src/vlc/modules/codec/vpx_alpha.c:640,1
    - Dst: decoder_LoadModule
      Src: /src/vlc/modules/codec/vpx_alpha.c:644,1
    - Dst: DestroyDecoder
      Src: /src/vlc/modules/codec/vpx_alpha.c:647,1
    - Dst: DestroyDecoder
      Src: /src/vlc/modules/codec/vpx_alpha.c:648,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 1
    argNames:
    - o
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 576
    functionDepth: 2
    functionLinenumber: 576
    functionLinenumberEnd: 656
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/modules/codec/vpx_alpha.c
    functionUses: 0
    functionsReached:
    - es_format_HasVpxAlpha
    - decoder_Init
    - decoder_LoadModule
    - es_format_Clean
    - container_of
    - vlc_mutex_init
    - vlc_object_create
    - unlikely
    - vlc_vector_init
    - es_format_Init
    - DestroyDecoder
    - vlc_object_delete
    - vlc_picture_chain_Init
    - es_format_Copy
    - vlc_obj_calloc
    linkageType: ''
    returnType: int
    signature: int OpenDecoder(vlc_object_t *o)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/codec/vpx_alpha.c:660,1
    - Dst: DestroyDecoder
      Src: /src/vlc/modules/codec/vpx_alpha.c:663,1
    - Dst: DestroyDecoder
      Src: /src/vlc/modules/codec/vpx_alpha.c:664,1
    - Dst: picture_pool_Release
      Src: /src/vlc/modules/codec/vpx_alpha.c:667,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/codec/vpx_alpha.c:670,1
    - Dst: vlc_vector_destroy
      Src: /src/vlc/modules/codec/vpx_alpha.c:671,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - o
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 658
    functionDepth: 2
    functionLinenumber: 658
    functionLinenumberEnd: 672
    functionName: CloseDecoder
    functionSourceFile: /src/vlc/modules/codec/vpx_alpha.c
    functionUses: 2
    functionsReached:
    - vlc_video_context_Release
    - container_of
    - DestroyDecoder
    - vlc_vector_destroy
    - picture_pool_Release
    linkageType: ''
    returnType: void
    signature: void CloseDecoder(vlc_object_t *o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: BUF_ADVANCE
    functionSourceFile: /src/vlc/modules/codec/scte18.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUF_ADVANCE(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/codec/scte18.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: scte18_cea_New
    functionSourceFile: /src/vlc/modules/codec/scte18.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: scte18_cea_t
    signature: scte18_cea_t * scte18_cea_New(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/codec/scte18.c:83,1
    - Dst: free
      Src: /src/vlc/modules/codec/scte18.c:84,1
    - Dst: free
      Src: /src/vlc/modules/codec/scte18.c:85,1
    - Dst: free
      Src: /src/vlc/modules/codec/scte18.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_cea
    argTypes:
    - scte18_cea_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: scte18_cea_Free
    functionSourceFile: /src/vlc/modules/codec/scte18.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void scte18_cea_Free( scte18_cea_t *p_cea )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: scte18_cea_New
      Src: /src/vlc/modules/codec/scte18.c:92,1
    - Dst: BUF_ADVANCE
      Src: /src/vlc/modules/codec/scte18.c:102,1
    - Dst: GetWBE
      Src: /src/vlc/modules/codec/scte18.c:104,1
    - Dst: BUF_ADVANCE
      Src: /src/vlc/modules/codec/scte18.c:105,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/scte18.c:107,1
    - Dst: BUF_ADVANCE
      Src: /src/vlc/modules/codec/scte18.c:108,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/scte18.c:113,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/scte18.c:114,1
    - Dst: BUF_ADVANCE
      Src: /src/vlc/modules/codec/scte18.c:116,1
    - Dst: atsc_a65_Decode_multiple_string
      Src: /src/vlc/modules/codec/scte18.c:121,1
    - Dst: BUF_ADVANCE
      Src: /src/vlc/modules/codec/scte18.c:122,1
    - Dst: BUF_ADVANCE
      Src: /src/vlc/modules/codec/scte18.c:127,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/codec/scte18.c:129,1
    - Dst: BUF_ADVANCE
      Src: /src/vlc/modules/codec/scte18.c:130,1
    - Dst: GetWBE
      Src: /src/vlc/modules/codec/scte18.c:132,1
    - Dst: BUF_ADVANCE
      Src: /src/vlc/modules/codec/scte18.c:135,1
    - Dst: BUF_ADVANCE
      Src: /src/vlc/modules/codec/scte18.c:150,1
    - Dst: BUF_ADVANCE
      Src: /src/vlc/modules/codec/scte18.c:152,1
    - Dst: BUF_ADVANCE
      Src: /src/vlc/modules/codec/scte18.c:154,1
    - Dst: BUF_ADVANCE
      Src: /src/vlc/modules/codec/scte18.c:155,1
    - Dst: BUF_ADVANCE
      Src: /src/vlc/modules/codec/scte18.c:157,1
    - Dst: GetWBE
      Src: /src/vlc/modules/codec/scte18.c:159,1
    - Dst: atsc_a65_Decode_multiple_string
      Src: /src/vlc/modules/codec/scte18.c:162,1
    - Dst: scte18_cea_Free
      Src: /src/vlc/modules/codec/scte18.c:167,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 2
    argNames:
    - p_handle
    - p_block
    argTypes:
    - atsc_a65_handle_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 169
    functionName: scte18_cea_Decode
    functionSourceFile: /src/vlc/modules/codec/scte18.c
    functionUses: 0
    functionsReached:
    - GetWBE
    - atsc_a65_Decode_multiple_string
    - memcpy
    - scte18_cea_Free
    - scte18_cea_New
    - GetDWBE
    - BUF_ADVANCE
    - malloc
    linkageType: ''
    returnType: scte18_cea_t
    signature: scte18_cea_t * scte18_cea_Decode( atsc_a65_handle_t *p_handle, const
      block_t *p_block )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: scte18_cea_Decode
      Src: /src/vlc/modules/codec/scte18.c:182,1
    - Dst: decoder_NewSubpictureText
      Src: /src/vlc/modules/codec/scte18.c:185,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/codec/scte18.c:192,1
    - Dst: text_segment_New
      Src: /src/vlc/modules/codec/scte18.c:208,1
    - Dst: decoder_QueueSub
      Src: /src/vlc/modules/codec/scte18.c:209,1
    - Dst: msg_Info
      Src: /src/vlc/modules/codec/scte18.c:211,1
    - Dst: scte18_cea_Free
      Src: /src/vlc/modules/codec/scte18.c:212,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/scte18.c:216,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 218
    functionName: Decode
    functionSourceFile: /src/vlc/modules/codec/scte18.c
    functionUses: 15
    functionsReached:
    - block_Release
    - decoder_QueueSub
    - decoder_NewSubpictureText
    - scte18_cea_Decode
    - vlc_tick_from_sec
    - text_segment_New
    - msg_Info
    - scte18_cea_Free
    linkageType: ''
    returnType: int
    signature: int Decode( decoder_t *p_dec, block_t *p_block )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/scte18.c:227,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/scte18.c:228,1
    - Dst: atsc_a65_handle_New
      Src: /src/vlc/modules/codec/scte18.c:231,1
    - Dst: free
      Src: /src/vlc/modules/codec/scte18.c:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 243
    functionName: Open
    functionSourceFile: /src/vlc/modules/codec/scte18.c
    functionUses: 68
    functionsReached:
    - free
    - unlikely
    - malloc
    - atsc_a65_handle_New
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *object )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atsc_a65_handle_Release
      Src: /src/vlc/modules/codec/scte18.c:249,1
    - Dst: free
      Src: /src/vlc/modules/codec/scte18.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 251
    functionName: Close
    functionSourceFile: /src/vlc/modules/codec/scte18.c
    functionUses: 175
    functionsReached:
    - free
    - atsc_a65_handle_Release
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_object )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decoder_QueueAudio
      Src: /src/vlc/modules/codec/spdif.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/codec/spdif.c
    functionUses: 7
    functionsReached:
    - decoder_QueueAudio
    linkageType: ''
    returnType: int
    signature: int DecodeBlock(decoder_t *p_dec, block_t *p_block)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: decoder_UpdateAudioFormat
      Src: /src/vlc/modules/codec/spdif.c:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 88
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/modules/codec/spdif.c
    functionUses: 0
    functionsReached:
    - decoder_UpdateAudioFormat
    linkageType: ''
    returnType: int
    signature: int OpenDecoder(vlc_object_t *p_this)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/rav1e.c:56,1
    - Dst: rav1e_frame_new
      Src: /src/vlc/modules/codec/rav1e.c:62,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/rav1e.c:64,1
    - Dst: rav1e_frame_fill_plane
      Src: /src/vlc/modules/codec/rav1e.c:69,1
    - Dst: rav1e_frame_set_opaque
      Src: /src/vlc/modules/codec/rav1e.c:75,1
    - Dst: rav1e_send_frame
      Src: /src/vlc/modules/codec/rav1e.c:80,1
    - Dst: rav1e_frame_unref
      Src: /src/vlc/modules/codec/rav1e.c:81,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/rav1e.c:84,1
    - Dst: rav1e_status_to_str
      Src: /src/vlc/modules/codec/rav1e.c:85,1
    - Dst: rav1e_receive_packet
      Src: /src/vlc/modules/codec/rav1e.c:93,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/rav1e.c:99,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/rav1e.c:100,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/codec/rav1e.c:102,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/rav1e.c:108,1
    - Dst: free
      Src: /src/vlc/modules/codec/rav1e.c:113,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/codec/rav1e.c:117,1
    - Dst: rav1e_packet_unref
      Src: /src/vlc/modules/codec/rav1e.c:118,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/rav1e.c:129,1
    - Dst: rav1e_status_to_str
      Src: /src/vlc/modules/codec/rav1e.c:130,1
    - Dst: free
      Src: /src/vlc/modules/codec/rav1e.c:138,1
    - Dst: free
      Src: /src/vlc/modules/codec/rav1e.c:139,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 2
    argNames:
    - enc
    - p_pict
    argTypes:
    - encoder_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 141
    functionName: Encode
    functionSourceFile: /src/vlc/modules/codec/rav1e.c
    functionUses: 0
    functionsReached:
    - rav1e_packet_unref
    - block_ChainAppend
    - block_ChainRelease
    - rav1e_frame_set_opaque
    - rav1e_send_frame
    - rav1e_receive_packet
    - memcpy
    - rav1e_frame_fill_plane
    - msg_Err
    - free
    - block_Alloc
    - rav1e_frame_new
    - unlikely
    - malloc
    - rav1e_frame_unref
    - rav1e_status_to_str
    linkageType: ''
    returnType: block_t
    signature: block_t *Encode(encoder_t *enc, picture_t *p_pict)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rav1e_context_unref
      Src: /src/vlc/modules/codec/rav1e.c:146,1
    - Dst: free
      Src: /src/vlc/modules/codec/rav1e.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - enc
    argTypes:
    - encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: CloseEncoder
    functionSourceFile: /src/vlc/modules/codec/rav1e.c
    functionUses: 1
    functionsReached:
    - free
    - rav1e_context_unref
    linkageType: ''
    returnType: void
    signature: void CloseEncoder(encoder_t* enc)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: config_ChainParse
      Src: /src/vlc/modules/codec/rav1e.c:162,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/rav1e.c:164,1
    - Dst: rav1e_config_default
      Src: /src/vlc/modules/codec/rav1e.c:170,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/rav1e.c:173,1
    - Dst: free
      Src: /src/vlc/modules/codec/rav1e.c:174,1
    - Dst: rav1e_config_parse_int
      Src: /src/vlc/modules/codec/rav1e.c:181,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/rav1e.c:184,1
    - Dst: rav1e_config_parse_int
      Src: /src/vlc/modules/codec/rav1e.c:188,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/rav1e.c:190,1
    - Dst: rav1e_config_set_time_base
      Src: /src/vlc/modules/codec/rav1e.c:196,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/codec/rav1e.c:198,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/codec/rav1e.c:199,1
    - Dst: rav1e_config_parse_int
      Src: /src/vlc/modules/codec/rav1e.c:203,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/rav1e.c:206,1
    - Dst: rav1e_config_parse_int
      Src: /src/vlc/modules/codec/rav1e.c:210,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/rav1e.c:213,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/codec/rav1e.c:217,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/codec/rav1e.c:218,1
    - Dst: rav1e_config_set_pixel_format
      Src: /src/vlc/modules/codec/rav1e.c:264,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/rav1e.c:268,1
    - Dst: rav1e_context_new
      Src: /src/vlc/modules/codec/rav1e.c:273,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/rav1e.c:276,1
    - Dst: rav1e_config_unref
      Src: /src/vlc/modules/codec/rav1e.c:280,1
    - Dst: rav1e_config_unref
      Src: /src/vlc/modules/codec/rav1e.c:292,1
    - Dst: free
      Src: /src/vlc/modules/codec/rav1e.c:293,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 97
    argCount: 1
    argNames:
    - this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 295
    functionName: OpenEncoder
    functionSourceFile: /src/vlc/modules/codec/rav1e.c
    functionUses: 0
    functionsReached:
    - rav1e_config_unref
    - rav1e_config_parse_int
    - var_InheritInteger
    - msg_Err
    - free
    - config_ChainParse
    - rav1e_config_default
    - rav1e_config_set_time_base
    - rav1e_config_set_pixel_format
    - malloc
    - rav1e_context_new
    linkageType: ''
    returnType: int
    signature: int OpenEncoder(vlc_object_t *this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/mft.cpp:118,1
    - Dst: Reset
      Src: /src/vlc/modules/codec/mft.cpp:120,1
    - Dst: Reset
      Src: /src/vlc/modules/codec/mft.cpp:121,1
    - Dst: Reset
      Src: /src/vlc/modules/codec/mft.cpp:122,1
    - Dst: Reset
      Src: /src/vlc/modules/codec/mft.cpp:123,1
    - Dst: MFShutdown
      Src: /src/vlc/modules/codec/mft.cpp:125,1
    - Dst: CoUninitialize
      Src: /src/vlc/modules/codec/mft.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!streamStarted)
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/vlc/modules/codec/mft.cpp
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: ~mft_sys_t()
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached:
    - MFShutdown
    - CoUninitialize
    - assert
    - Reset
    linkageType: ''
    returnType: void
    signature: void ~mft_sys_t()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: mft_sys_t::AddRef
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddRef() final
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/vlc/modules/codec/mft.cpp:163,1
    - Dst: RemoveAllBuffers
      Src: /src/vlc/modules/codec/mft.cpp:164,1
    - Dst: DoRelease
      Src: /src/vlc/modules/codec/mft.cpp:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 171
    functionName: mft_sys_t::Release
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached:
    - RemoveAllBuffers
    - DoRelease
    - Get
    linkageType: ''
    returnType: bool
    signature: bool Release() final
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/mft.cpp:176,1
    - Dst: ProcessMessage
      Src: /src/vlc/modules/codec/mft.cpp:177,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/codec/mft.cpp:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!streamStarted)
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/vlc/modules/codec/mft.cpp
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: mft_sys_t::startStream
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached:
    - ProcessMessage
    - assert
    - SUCCEEDED
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT startStream()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ProcessMessage
      Src: /src/vlc/modules/codec/mft.cpp:187,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/codec/mft.cpp:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 191
    functionName: mft_sys_t::endStream
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached:
    - ProcessMessage
    - SUCCEEDED
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT endStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProcessMessage
      Src: /src/vlc/modules/codec/mft.cpp:195,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/codec/mft.cpp:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 199
    functionName: mft_sys_t::flushStream
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached:
    - ProcessMessage
    - SUCCEEDED
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT flushStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: As
      Src: /src/vlc/modules/codec/mft.cpp:205,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:206,1
    - Dst: ComPtr::Shutdown
      Src: /src/vlc/modules/codec/mft.cpp:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 209
    functionName: mft_sys_t::shutdownStream
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached:
    - FAILED
    - As
    - ComPtr::Shutdown
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT shutdownStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: ~mft_dec_audio()
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~mft_dec_audio()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: mft_dec_audio::IsEncoder
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsEncoder() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: mft_dec_audio::DoRelease
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoRelease() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: vlc_mft_d3d::vlc_mft_d3d
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vlc_mft_d3d()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: ~vlc_mft_d3d()
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~vlc_mft_d3d()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Release
      Src: /src/vlc/modules/codec/mft.cpp:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: vlc_mft_d3d::DoRelease
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached:
    - Release
    linkageType: ''
    returnType: void
    signature: void DoRelease() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: mft_dec_video::mft_dec_video
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mft_dec_video()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: ~mft_dec_video()
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~mft_dec_video()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: mft_dec_video::IsEncoder
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsEncoder() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 268
    functionName: mft_enc_audio::DoRelease
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoRelease() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 270
    functionName: mft_enc_audio::IsEncoder
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsEncoder() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 280
    functionName: mft_enc_video::IsEncoder
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsEncoder() const final
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' type'
    - codec
    - ' info'
    argTypes:
    - GUID
    - vlc_fourcc_t
    - MFT_REGISTER_TYPE_INFO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 396
    functionName: MFTypeFromCodec
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT MFTypeFromCodec(const GUID & type, vlc_fourcc_t codec, MFT_REGISTER_TYPE_INFO
      & info)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' guid'
    argTypes:
    - GUID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 405
    functionName: MFFormatToChroma
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t MFFormatToChroma(const GUID & guid)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - audio_format
    - ' info'
    argTypes:
    - vlc_fourcc_t
    - MFT_REGISTER_TYPE_INFO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 423
    functionName: MFTypeFromAudio
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT MFTypeFromAudio(vlc_fourcc_t audio_format, MFT_REGISTER_TYPE_INFO
      & info)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - table
    - ' guid'
    argTypes:
    - pair_format_guid[]
    - GUID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 431
    functionName: MFFormatToCodec
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t MFFormatToCodec(const pair_format_guid table[], const
      GUID & guid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_video_context_GetType
      Src: /src/vlc/modules/codec/mft.cpp:435,1
    - Dst: assert
      Src: /src/vlc/modules/codec/mft.cpp:437,1
    - Dst: is_d3d11_opaque
      Src: /src/vlc/modules/codec/mft.cpp:437,1
    - Dst: GetD3D11ContextPrivate
      Src: /src/vlc/modules/codec/mft.cpp:438,1
    - Dst: DxgiFormatFourcc
      Src: /src/vlc/modules/codec/mft.cpp:439,1
    - Dst: assert
      Src: /src/vlc/modules/codec/mft.cpp:440,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - chroma
    - vctx
    - ' info'
    argTypes:
    - vlc_fourcc_t
    - vlc_video_context*
    - MFT_REGISTER_TYPE_INFO
    assertStmts:
    - condition: (is_d3d11_opaque(chroma))
      pos:
        line_end: 436
        line_start: 436
        source_file: /src/vlc/modules/codec/mft.cpp
    - condition: (chroma != 0)
      pos:
        line_end: 439
        line_start: 439
        source_file: /src/vlc/modules/codec/mft.cpp
    constantsTouched: []
    func_position:
      end: 451
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 451
    functionName: MFTypeFromChroma
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached:
    - assert
    - is_d3d11_opaque
    - vlc_video_context_GetType
    - GetD3D11ContextPrivate
    - DxgiFormatFourcc
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT MFTypeFromChroma(vlc_fourcc_t chroma, vlc_video_context *vctx,
      MFT_REGISTER_TYPE_INFO & info)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: Reset
      Src: /src/vlc/modules/codec/mft.cpp:460,1
    - Dst: GetInputAvailableType
      Src: /src/vlc/modules/codec/mft.cpp:467,1
    - Dst: ComPtr::ReleaseAndGetAddressOf
      Src: /src/vlc/modules/codec/mft.cpp:467,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:475,1
    - Dst: ComPtr::GetGUID
      Src: /src/vlc/modules/codec/mft.cpp:479,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:480,1
    - Dst: MFSetAttributeSize
      Src: /src/vlc/modules/codec/mft.cpp:491,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/codec/mft.cpp:491,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:492,1
    - Dst: MFSetAttributeRatio
      Src: /src/vlc/modules/codec/mft.cpp:499,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/codec/mft.cpp:499,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:500,1
    - Dst: ComPtr::SetUINT32
      Src: /src/vlc/modules/codec/mft.cpp:506,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:507,1
    - Dst: ComPtr::SetUINT32
      Src: /src/vlc/modules/codec/mft.cpp:511,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:512,1
    - Dst: ComPtr::SetUINT32
      Src: /src/vlc/modules/codec/mft.cpp:517,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:518,1
    - Dst: ComPtr::SetUINT32
      Src: /src/vlc/modules/codec/mft.cpp:523,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:524,1
    - Dst: ComPtr::SetUINT32
      Src: /src/vlc/modules/codec/mft.cpp:529,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:530,1
    - Dst: ComPtr::SetUINT32
      Src: /src/vlc/modules/codec/mft.cpp:535,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:536,1
    - Dst: ComPtr::GetBlobSize
      Src: /src/vlc/modules/codec/mft.cpp:544,1
    - Dst: ComPtr::SetBlob
      Src: /src/vlc/modules/codec/mft.cpp:551,1
    - Dst: static_cast<const UINT8*>
      Src: /src/vlc/modules/codec/mft.cpp:552,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:553,1
    - Dst: mft_sys_t::SetInputType
      Src: /src/vlc/modules/codec/mft.cpp:558,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/codec/mft.cpp:558,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:559,1
    - Dst: Swap
      Src: /src/vlc/modules/codec/mft.cpp:562,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 84
    argCount: 2
    argNames:
    - ' fmt_in'
    - ' type'
    argTypes:
    - es_format_t
    - MFT_REGISTER_TYPE_INFO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 566
    functionName: mft_sys_t::SetInputType
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 1
    functionsReached:
    - MFSetAttributeRatio
    - static_cast<const UINT8*>
    - Swap
    - mft_sys_t::SetInputType
    - FAILED
    - Reset
    - ComPtr::SetBlob
    - MFSetAttributeSize
    - ComPtr::Get
    - ComPtr::SetUINT32
    - ComPtr::GetGUID
    - ComPtr::GetBlobSize
    - GetInputAvailableType
    - ComPtr::ReleaseAndGetAddressOf
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT mft_sys_t::SetInputType(const es_format_t & fmt_in, const MFT_REGISTER_TYPE_INFO
      & type)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: GetOutputAvailableType
      Src: /src/vlc/modules/codec/mft.cpp:586,1
    - Dst: ComPtr::ReleaseAndGetAddressOf
      Src: /src/vlc/modules/codec/mft.cpp:586,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:602,1
    - Dst: ComPtr::GetGUID
      Src: /src/vlc/modules/codec/mft.cpp:605,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:606,1
    - Dst: IsEncoder
      Src: /src/vlc/modules/codec/mft.cpp:617,1
    - Dst: MFFormatToCodec
      Src: /src/vlc/modules/codec/mft.cpp:619,1
    - Dst: MFFormatToChroma
      Src: /src/vlc/modules/codec/mft.cpp:624,1
    - Dst: ComPtr::GetUINT32
      Src: /src/vlc/modules/codec/mft.cpp:633,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:634,1
    - Dst: ComPtr::GetUINT32
      Src: /src/vlc/modules/codec/mft.cpp:644,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:645,1
    - Dst: ComPtr::GetUINT32
      Src: /src/vlc/modules/codec/mft.cpp:648,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:649,1
    - Dst: ComPtr::GetUINT32
      Src: /src/vlc/modules/codec/mft.cpp:652,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:653,1
    - Dst: GetOutputAvailableType
      Src: /src/vlc/modules/codec/mft.cpp:667,1
    - Dst: ComPtr::ReleaseAndGetAddressOf
      Src: /src/vlc/modules/codec/mft.cpp:667,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:668,1
    - Dst: ComPtr::GetGUID
      Src: /src/vlc/modules/codec/mft.cpp:671,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:672,1
    - Dst: IsEncoder
      Src: /src/vlc/modules/codec/mft.cpp:677,1
    - Dst: MFFormatToCodec
      Src: /src/vlc/modules/codec/mft.cpp:679,1
    - Dst: MFFormatToChroma
      Src: /src/vlc/modules/codec/mft.cpp:684,1
    - Dst: vlc_fourcc_GetCodec
      Src: /src/vlc/modules/codec/mft.cpp:688,1
    - Dst: IsEncoder
      Src: /src/vlc/modules/codec/mft.cpp:693,1
    - Dst: ComPtr::SetUINT32
      Src: /src/vlc/modules/codec/mft.cpp:697,1
    - Dst: MFSetAttributeRatio
      Src: /src/vlc/modules/codec/mft.cpp:701,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/codec/mft.cpp:701,1
    - Dst: MFSetAttributeRatio
      Src: /src/vlc/modules/codec/mft.cpp:706,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/codec/mft.cpp:706,1
    - Dst: MFSetAttributeRatio
      Src: /src/vlc/modules/codec/mft.cpp:710,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/codec/mft.cpp:710,1
    - Dst: ComPtr::SetUINT32
      Src: /src/vlc/modules/codec/mft.cpp:712,1
    - Dst: ComPtr::SetUINT32
      Src: /src/vlc/modules/codec/mft.cpp:713,1
    - Dst: ComPtr::SetUINT32
      Src: /src/vlc/modules/codec/mft.cpp:714,1
    - Dst: GetModuleHandle
      Src: /src/vlc/modules/codec/mft.cpp:721,1
    - Dst: TEXT
      Src: /src/vlc/modules/codec/mft.cpp:721,1
    - Dst: likely
      Src: /src/vlc/modules/codec/mft.cpp:722,1
    - Dst: GetProcAddress
      Src: /src/vlc/modules/codec/mft.cpp:723,1
    - Dst: ComPtr::SetUINT32
      Src: /src/vlc/modules/codec/mft.cpp:728,1
    - Dst: mft_sys_t::SetOutputType
      Src: /src/vlc/modules/codec/mft.cpp:735,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/codec/mft.cpp:735,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:736,1
    - Dst: vlc_error
      Src: /src/vlc/modules/codec/mft.cpp:738,1
    - Dst: GetOutputCurrentType
      Src: /src/vlc/modules/codec/mft.cpp:742,1
    - Dst: ComPtr::ReleaseAndGetAddressOf
      Src: /src/vlc/modules/codec/mft.cpp:742,1
    - Dst: ComPtr::GetBlobSize
      Src: /src/vlc/modules/codec/mft.cpp:749,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/codec/mft.cpp:750,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/mft.cpp:753,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/mft.cpp:754,1
    - Dst: ComPtr::GetBlob
      Src: /src/vlc/modules/codec/mft.cpp:756,1
    - Dst: static_cast<UINT8*>
      Src: /src/vlc/modules/codec/mft.cpp:757,1
    - Dst: ComPtr::GetUINT32
      Src: /src/vlc/modules/codec/mft.cpp:764,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/codec/mft.cpp:765,1
    - Dst: ComPtr::GetUINT32
      Src: /src/vlc/modules/codec/mft.cpp:769,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/codec/mft.cpp:770,1
    - Dst: ComPtr::GetUINT32
      Src: /src/vlc/modules/codec/mft.cpp:774,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/codec/mft.cpp:775,1
    - Dst: wf_tag_to_fourcc
      Src: /src/vlc/modules/codec/mft.cpp:779,1
    - Dst: vlc_fourcc_GetCodecAudio
      Src: /src/vlc/modules/codec/mft.cpp:780,1
    - Dst: ComPtr::GetBlobSize
      Src: /src/vlc/modules/codec/mft.cpp:787,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/codec/mft.cpp:788,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/mft.cpp:794,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/mft.cpp:795,1
    - Dst: ComPtr::GetBlob
      Src: /src/vlc/modules/codec/mft.cpp:798,1
    - Dst: std::vector::data
      Src: /src/vlc/modules/codec/mft.cpp:798,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/mft.cpp:799,1
    - Dst: vlc_error
      Src: /src/vlc/modules/codec/mft.cpp:808,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 148
    argCount: 3
    argNames:
    - logger
    - ' req_subtype'
    - ' fmt_out'
    argTypes:
    - vlc_logger*
    - GUID
    - es_format_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 568
    functionDepth: 2
    functionLinenumber: 568
    functionLinenumberEnd: 810
    functionName: mft_sys_t::SetOutputType
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 1
    functionsReached:
    - MFSetAttributeRatio
    - MFFormatToChroma
    - memcpy
    - ComPtr::Get
    - GetProcAddress
    - GetOutputAvailableType
    - SUCCEEDED
    - ComPtr::ReleaseAndGetAddressOf
    - TEXT
    - ComPtr::GetBlob
    - std::vector::data
    - ComPtr::GetGUID
    - ComPtr::SetUINT32
    - IsEncoder
    - MFFormatToCodec
    - wf_tag_to_fourcc
    - likely
    - vlc_fourcc_GetCodecAudio
    - mft_sys_t::SetOutputType
    - GetModuleHandle
    - GetOutputCurrentType
    - FAILED
    - malloc
    - ComPtr::GetBlobSize
    - vlc_error
    - static_cast<UINT8*>
    - unlikely
    - vlc_fourcc_GetCodec
    - ComPtr::GetUINT32
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT mft_sys_t::SetOutputType(vlc_logger *logger,\n                             const
      GUID & req_subtype, es_format_t & fmt_out)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Reset
      Src: /src/vlc/modules/codec/mft.cpp:816,1
    - Dst: GetInputStreamInfo
      Src: /src/vlc/modules/codec/mft.cpp:823,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:824,1
    - Dst: MFCreateSample
      Src: /src/vlc/modules/codec/mft.cpp:827,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:828,1
    - Dst: std::max<DWORD>
      Src: /src/vlc/modules/codec/mft.cpp:831,1
    - Dst: MFCreateMemoryBuffer
      Src: /src/vlc/modules/codec/mft.cpp:832,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:833,1
    - Dst: ComPtr::AddBuffer
      Src: /src/vlc/modules/codec/mft.cpp:836,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/codec/mft.cpp:836,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:837,1
    - Dst: Swap
      Src: /src/vlc/modules/codec/mft.cpp:840,1
    - Dst: vlc_error
      Src: /src/vlc/modules/codec/mft.cpp:845,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 5
    argNames:
    - logger
    - ' mft'
    - stream_id
    - ' result'
    - size
    argTypes:
    - struct vlc_logger*
    - ComPtr<IMFTransform>
    - DWORD
    - ComPtr<IMFSample>
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 812
    functionDepth: 1
    functionLinenumber: 812
    functionLinenumberEnd: 847
    functionName: AllocateInputSample
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached:
    - Swap
    - MFCreateMemoryBuffer
    - FAILED
    - Reset
    - MFCreateSample
    - ComPtr::AddBuffer
    - GetInputStreamInfo
    - std::max<DWORD>
    - ComPtr::Get
    - vlc_error
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT AllocateInputSample(struct vlc_logger *logger, ComPtr<IMFTransform>
      & mft, DWORD stream_id, ComPtr<IMFSample> & result, DWORD size)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Reset
      Src: /src/vlc/modules/codec/mft.cpp:853,1
    - Dst: GetOutputStreamInfo
      Src: /src/vlc/modules/codec/mft.cpp:862,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:863,1
    - Dst: IsEncoder
      Src: /src/vlc/modules/codec/mft.cpp:872,1
    - Dst: MFCreateSample
      Src: /src/vlc/modules/codec/mft.cpp:882,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:883,1
    - Dst: MFCreateAlignedMemoryBuffer
      Src: /src/vlc/modules/codec/mft.cpp:889,1
    - Dst: MFCreateMemoryBuffer
      Src: /src/vlc/modules/codec/mft.cpp:891,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:892,1
    - Dst: ComPtr::AddBuffer
      Src: /src/vlc/modules/codec/mft.cpp:895,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/codec/mft.cpp:895,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:896,1
    - Dst: Swap
      Src: /src/vlc/modules/codec/mft.cpp:899,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - cat
    - ' result'
    argTypes:
    - es_format_category_e
    - ComPtr<IMFSample>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 902
    functionName: mft_sys_t::AllocateOutputSample
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached:
    - MFCreateAlignedMemoryBuffer
    - Swap
    - MFCreateMemoryBuffer
    - FAILED
    - Reset
    - MFCreateSample
    - ComPtr::AddBuffer
    - GetOutputStreamInfo
    - ComPtr::Get
    - IsEncoder
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT mft_sys_t::AllocateOutputSample(es_format_category_e cat, ComPtr<IMFSample>
      & result)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fourcc_GetChromaDescription
      Src: /src/vlc/modules/codec/mft.cpp:909,1
    - Dst: AllocateInputSample
      Src: /src/vlc/modules/codec/mft.cpp:931,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:932,1
    - Dst: ComPtr::GetBufferByIndex
      Src: /src/vlc/modules/codec/mft.cpp:935,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:936,1
    - Dst: ComPtr::Lock
      Src: /src/vlc/modules/codec/mft.cpp:940,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:941,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/codec/mft.cpp:949,1
    - Dst: ComPtr::Unlock
      Src: /src/vlc/modules/codec/mft.cpp:953,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:954,1
    - Dst: ComPtr::SetCurrentLength
      Src: /src/vlc/modules/codec/mft.cpp:957,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:958,1
    - Dst: ComPtr::SetSampleTime
      Src: /src/vlc/modules/codec/mft.cpp:964,1
    - Dst: MSFTIME_FROM_VLC_TICK
      Src: /src/vlc/modules/codec/mft.cpp:964,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:965,1
    - Dst: ComPtr::SetSampleDuration
      Src: /src/vlc/modules/codec/mft.cpp:968,1
    - Dst: INT64_C
      Src: /src/vlc/modules/codec/mft.cpp:968,1
    - Dst: ComPtr::SetUINT32
      Src: /src/vlc/modules/codec/mft.cpp:972,1
    - Dst: ProcessInput
      Src: /src/vlc/modules/codec/mft.cpp:976,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/codec/mft.cpp:976,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:977,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/codec/mft.cpp:979,1
    - Dst: vlc_error
      Src: /src/vlc/modules/codec/mft.cpp:986,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 2
    argNames:
    - logger
    - p_pic
    argTypes:
    - vlc_logger*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 904
    functionDepth: 2
    functionLinenumber: 904
    functionLinenumberEnd: 988
    functionName: mft_enc_video::ProcessInputPicture
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached:
    - ComPtr::Unlock
    - ComPtr::SetCurrentLength
    - ComPtr::SetSampleDuration
    - ComPtr::GetBufferByIndex
    - FAILED
    - INT64_C
    - AllocateInputSample
    - plane_CopyPixels
    - ComPtr::SetSampleTime
    - ComPtr::Get
    - vlc_fourcc_GetChromaDescription
    - vlc_debug
    - ProcessInput
    - vlc_error
    - ComPtr::SetUINT32
    - MSFTIME_FROM_VLC_TICK
    - ComPtr::Lock
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT mft_enc_video::ProcessInputPicture(vlc_logger *logger, picture_t
      *p_pic)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AllocateInputSample
      Src: /src/vlc/modules/codec/mft.cpp:999,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1000,1
    - Dst: ComPtr::GetBufferByIndex
      Src: /src/vlc/modules/codec/mft.cpp:1003,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1004,1
    - Dst: ComPtr::Lock
      Src: /src/vlc/modules/codec/mft.cpp:1008,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1009,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/mft.cpp:1012,1
    - Dst: ComPtr::Unlock
      Src: /src/vlc/modules/codec/mft.cpp:1014,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1015,1
    - Dst: ComPtr::SetCurrentLength
      Src: /src/vlc/modules/codec/mft.cpp:1018,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1019,1
    - Dst: ComPtr::SetSampleTime
      Src: /src/vlc/modules/codec/mft.cpp:1025,1
    - Dst: MSFTIME_FROM_VLC_TICK
      Src: /src/vlc/modules/codec/mft.cpp:1025,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1026,1
    - Dst: ProcessInput
      Src: /src/vlc/modules/codec/mft.cpp:1029,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/codec/mft.cpp:1029,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1030,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/codec/mft.cpp:1032,1
    - Dst: vlc_error
      Src: /src/vlc/modules/codec/mft.cpp:1039,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 4
    argNames:
    - logger
    - ' mft'
    - stream_id
    - p_block
    argTypes:
    - struct vlc_logger*
    - ComPtr<IMFTransform>
    - DWORD
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 990
    functionDepth: 2
    functionLinenumber: 990
    functionLinenumberEnd: 1041
    functionName: ProcessInputStream
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached:
    - ComPtr::Unlock
    - ComPtr::SetCurrentLength
    - ComPtr::GetBufferByIndex
    - FAILED
    - memcpy
    - AllocateInputSample
    - ComPtr::SetSampleTime
    - ComPtr::Get
    - vlc_debug
    - ProcessInput
    - vlc_error
    - MSFTIME_FROM_VLC_TICK
    - ComPtr::Lock
    linkageType: ''
    returnType: int
    signature: int ProcessInputStream(struct vlc_logger *logger, ComPtr<IMFTransform>
      & mft, DWORD stream_id, block_t *p_block)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/codec/mft.cpp:1054,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/mft.cpp:1061,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - p_pic
    - p_src
    argTypes:
    - picture_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1066
    functionName: CopyPackedBufferToPicture
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void CopyPackedBufferToPicture(picture_t *p_pic, const uint8_t *p_src)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<mft_sys_t*>
      Src: /src/vlc/modules/codec/mft.cpp:1070,1
    - Dst: auto*::output_sample::Get
      Src: /src/vlc/modules/codec/mft.cpp:1074,1
    - Dst: auto*::mft::ProcessOutput
      Src: /src/vlc/modules/codec/mft.cpp:1075,1
    - Dst: MFT_OUTPUT_DATA_BUFFER::pEvents::Release
      Src: /src/vlc/modules/codec/mft.cpp:1077,1
    - Dst: video_format_Copy
      Src: /src/vlc/modules/codec/mft.cpp:1089,1
    - Dst: auto*::SetOutputType
      Src: /src/vlc/modules/codec/mft.cpp:1092,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/codec/mft.cpp:1092,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1093,1
    - Dst: auto*::AllocateOutputSample
      Src: /src/vlc/modules/codec/mft.cpp:1097,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1098,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/mft.cpp:1100,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1107,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/mft.cpp:1109,1
    - Dst: MFT_OUTPUT_DATA_BUFFER::pSample::GetSampleTime
      Src: /src/vlc/modules/codec/mft.cpp:1117,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1118,1
    - Dst: VLC_TICK_FROM_MSFTIME
      Src: /src/vlc/modules/codec/mft.cpp:1121,1
    - Dst: MFT_OUTPUT_DATA_BUFFER::pSample::GetBufferCount
      Src: /src/vlc/modules/codec/mft.cpp:1124,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/mft.cpp:1125,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1125,1
    - Dst: ComPtr::GetBufferByIndex
      Src: /src/vlc/modules/codec/mft.cpp:1134,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1135,1
    - Dst: dynamic_cast<vlc_mft_d3d*>
      Src: /src/vlc/modules/codec/mft.cpp:1140,1
    - Dst: ComPtr::As
      Src: /src/vlc/modules/codec/mft.cpp:1145,1
    - Dst: auto*::hw_d3d::SetupVideoContext
      Src: /src/vlc/modules/codec/mft.cpp:1148,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/codec/mft.cpp:1148,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1149,1
    - Dst: auto*::hw_d3d::CreatePicContext
      Src: /src/vlc/modules/codec/mft.cpp:1153,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/codec/mft.cpp:1153,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/mft.cpp:1154,1
    - Dst: decoder_UpdateVideoOutput
      Src: /src/vlc/modules/codec/mft.cpp:1158,1
    - Dst: picture_context_t*::destroy
      Src: /src/vlc/modules/codec/mft.cpp:1161,1
    - Dst: decoder_NewPicture
      Src: /src/vlc/modules/codec/mft.cpp:1166,1
    - Dst: picture_context_t*::destroy
      Src: /src/vlc/modules/codec/mft.cpp:1170,1
    - Dst: ComPtr::GetUINT32
      Src: /src/vlc/modules/codec/mft.cpp:1175,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1176,1
    - Dst: ComPtr::Lock
      Src: /src/vlc/modules/codec/mft.cpp:1190,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1191,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/mft.cpp:1193,1
    - Dst: CopyPackedBufferToPicture
      Src: /src/vlc/modules/codec/mft.cpp:1197,1
    - Dst: ComPtr::Unlock
      Src: /src/vlc/modules/codec/mft.cpp:1199,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1200,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/mft.cpp:1202,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/modules/codec/mft.cpp:1207,1
    - Dst: decoder_UpdateAudioFormat
      Src: /src/vlc/modules/codec/mft.cpp:1212,1
    - Dst: ComPtr::GetCurrentLength
      Src: /src/vlc/modules/codec/mft.cpp:1218,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1219,1
    - Dst: decoder_NewAudioBuffer
      Src: /src/vlc/modules/codec/mft.cpp:1223,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/mft.cpp:1228,1
    - Dst: ComPtr::Lock
      Src: /src/vlc/modules/codec/mft.cpp:1235,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1236,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/mft.cpp:1238,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/mft.cpp:1242,1
    - Dst: ComPtr::Unlock
      Src: /src/vlc/modules/codec/mft.cpp:1244,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1245,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/mft.cpp:1247,1
    - Dst: decoder_QueueAudio
      Src: /src/vlc/modules/codec/mft.cpp:1251,1
    - Dst: auto*::output_sample::Get
      Src: /src/vlc/modules/codec/mft.cpp:1254,1
    - Dst: ComPtr::SetCurrentLength
      Src: /src/vlc/modules/codec/mft.cpp:1257,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1258,1
    - Dst: auto*::output_sample::Get
      Src: /src/vlc/modules/codec/mft.cpp:1263,1
    - Dst: ComPtr::Release
      Src: /src/vlc/modules/codec/mft.cpp:1266,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/mft.cpp:1273,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 138
    argCount: 3
    argNames:
    - p_dec
    - stream_id
    - ' keep_reading'
    argTypes:
    - decoder_t*
    - DWORD
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1068
    functionDepth: 1
    functionLinenumber: 1068
    functionLinenumberEnd: 1275
    functionName: ProcessOutputStream
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached:
    - ComPtr::SetCurrentLength
    - MFT_OUTPUT_DATA_BUFFER::pEvents::Release
    - auto*::SetOutputType
    - ComPtr::GetBufferByIndex
    - auto*::hw_d3d::CreatePicContext
    - memcpy
    - decoder_UpdateAudioFormat
    - picture_Release
    - MFT_OUTPUT_DATA_BUFFER::pSample::GetSampleTime
    - ComPtr::Lock
    - ComPtr::Unlock
    - auto*::AllocateOutputSample
    - auto*::hw_d3d::SetupVideoContext
    - auto*::output_sample::Get
    - msg_Err
    - msg_Dbg
    - auto*::mft::ProcessOutput
    - MFT_OUTPUT_DATA_BUFFER::pSample::GetBufferCount
    - ComPtr::GetCurrentLength
    - VLC_TICK_FROM_MSFTIME
    - video_format_Copy
    - dynamic_cast<vlc_mft_d3d*>
    - ComPtr::Release
    - ComPtr::As
    - picture_context_t*::destroy
    - static_cast<mft_sys_t*>
    - ComPtr::GetUINT32
    - decoder_QueueAudio
    - block_Release
    - decoder_NewAudioBuffer
    - vlc_object_logger
    - FAILED
    - CopyPackedBufferToPicture
    - decoder_UpdateVideoOutput
    - decoder_QueueVideo
    - unlikely
    - decoder_NewPicture
    linkageType: ''
    returnType: int
    signature: int ProcessOutputStream(decoder_t *p_dec, DWORD stream_id, bool & keep_reading)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<mft_sys_t*>
      Src: /src/vlc/modules/codec/mft.cpp:1279,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/codec/mft.cpp:1280,1
    - Dst: auto*::flushStream
      Src: /src/vlc/modules/codec/mft.cpp:1280,1
    - Dst: auto*::startStream
      Src: /src/vlc/modules/codec/mft.cpp:1281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1282
    functionName: Flush
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 80
    functionsReached:
    - auto*::flushStream
    - auto*::startStream
    - SUCCEEDED
    - static_cast<mft_sys_t*>
    linkageType: ''
    returnType: void
    signature: void Flush(decoder_t *p_dec)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<mft_sys_t*>
      Src: /src/vlc/modules/codec/mft.cpp:1286,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/mft.cpp:1290,1
    - Dst: auto*::mft::ProcessMessage
      Src: /src/vlc/modules/codec/mft.cpp:1297,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1298,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/mft.cpp:1300,1
    - Dst: ProcessOutputStream
      Src: /src/vlc/modules/codec/mft.cpp:1309,1
    - Dst: dynamic_cast<mft_dec_video*>
      Src: /src/vlc/modules/codec/mft.cpp:1319,1
    - Dst: hxxx_helper_process_block
      Src: /src/vlc/modules/codec/mft.cpp:1320,1
    - Dst: hxxx_helper_get_extradata_block
      Src: /src/vlc/modules/codec/mft.cpp:1324,1
    - Dst: block_ChainProperties
      Src: /src/vlc/modules/codec/mft.cpp:1328,1
    - Dst: ProcessInputStream
      Src: /src/vlc/modules/codec/mft.cpp:1329,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/codec/mft.cpp:1329,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/codec/mft.cpp:1331,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/codec/mft.cpp:1335,1
    - Dst: ProcessInputStream
      Src: /src/vlc/modules/codec/mft.cpp:1340,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/codec/mft.cpp:1340,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/mft.cpp:1342,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/mft.cpp:1348,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/mft.cpp:1350,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1284
    functionDepth: 3
    functionLinenumber: 1284
    functionLinenumberEnd: 1352
    functionName: DecodeSync
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached:
    - block_Release
    - block_ChainProperties
    - block_ChainRelease
    - FAILED
    - vlc_object_logger
    - auto*::mft::ProcessMessage
    - msg_Err
    - ProcessOutputStream
    - dynamic_cast<mft_dec_video*>
    - static_cast<mft_sys_t*>
    - msg_Warn
    - hxxx_helper_process_block
    - hxxx_helper_get_extradata_block
    - ProcessInputStream
    linkageType: ''
    returnType: int
    signature: int DecodeSync(decoder_t *p_dec, block_t *p_block)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetEvent
      Src: /src/vlc/modules/codec/mft.cpp:1359,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1360,1
    - Dst: ComPtr::GetType
      Src: /src/vlc/modules/codec/mft.cpp:1363,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1364,1
    - Dst: vlc_error
      Src: /src/vlc/modules/codec/mft.cpp:1374,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - logger
    - wait
    argTypes:
    - vlc_logger*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1354
    functionDepth: 1
    functionLinenumber: 1354
    functionLinenumberEnd: 1377
    functionName: mft_sys_t::DequeueMediaEvent
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached:
    - vlc_error
    - FAILED
    - GetEvent
    - ComPtr::GetType
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT mft_sys_t::DequeueMediaEvent(vlc_logger *logger, bool wait)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<mft_sys_t*>
      Src: /src/vlc/modules/codec/mft.cpp:1381,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/mft.cpp:1389,1
    - Dst: auto*::DequeueMediaEvent
      Src: /src/vlc/modules/codec/mft.cpp:1394,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/codec/mft.cpp:1394,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1396,1
    - Dst: ProcessOutputStream
      Src: /src/vlc/modules/codec/mft.cpp:1406,1
    - Dst: auto*::DequeueMediaEvent
      Src: /src/vlc/modules/codec/mft.cpp:1415,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/codec/mft.cpp:1415,1
    - Dst: Sleep
      Src: /src/vlc/modules/codec/mft.cpp:1419,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1422,1
    - Dst: ProcessOutputStream
      Src: /src/vlc/modules/codec/mft.cpp:1431,1
    - Dst: ProcessInputStream
      Src: /src/vlc/modules/codec/mft.cpp:1440,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/codec/mft.cpp:1440,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/mft.cpp:1443,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/mft.cpp:1448,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/mft.cpp:1449,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 52
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1379
    functionDepth: 3
    functionLinenumber: 1379
    functionLinenumberEnd: 1451
    functionName: DecodeAsync
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached:
    - block_Release
    - vlc_object_logger
    - FAILED
    - msg_Err
    - ProcessOutputStream
    - static_cast<mft_sys_t*>
    - ProcessInputStream
    - Sleep
    - auto*::DequeueMediaEvent
    linkageType: ''
    returnType: int
    signature: int DecodeAsync(decoder_t *p_dec, block_t *p_block)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SetUINT32
      Src: /src/vlc/modules/codec/mft.cpp:1459,1
    - Dst: SetUINT32
      Src: /src/vlc/modules/codec/mft.cpp:1465,1
    - Dst: SetUINT32
      Src: /src/vlc/modules/codec/mft.cpp:1469,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - ' fmt_in'
    - ' attributes'
    argTypes:
    - es_format_t
    - ComPtr<IMFAttributes>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1477
      start: 1453
    functionDepth: 0
    functionLinenumber: 1453
    functionLinenumberEnd: 1477
    functionName: EnableHardwareAcceleration
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached:
    - SetUINT32
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT EnableHardwareAcceleration(const es_format_t & fmt_in, ComPtr<IMFAttributes>
      & attributes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/mft.cpp:1484,1
    - Dst: GetAttributes
      Src: /src/vlc/modules/codec/mft.cpp:1488,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/codec/mft.cpp:1489,1
    - Dst: ComPtr::GetUINT32
      Src: /src/vlc/modules/codec/mft.cpp:1492,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/codec/mft.cpp:1493,1
    - Dst: std::make_unique<MFHW_d3d11>
      Src: /src/vlc/modules/codec/mft.cpp:1494,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/mft.cpp:1498,1
    - Dst: vlc_mft_d3d::SetD3D
      Src: /src/vlc/modules/codec/mft.cpp:1501,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1502,1
    - Dst: reset
      Src: /src/vlc/modules/codec/mft.cpp:1503,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - logger
    - ' dec_dev'
    argTypes:
    - vlc_logger*
    - vlc_decoder_device
    assertStmts:
    - condition: (hw_d3d == nullptr)
      pos:
        line_end: 1483
        line_start: 1483
        source_file: /src/vlc/modules/codec/mft.cpp
    constantsTouched: []
    func_position:
      end: 1506
      start: 1481
    functionDepth: 1
    functionLinenumber: 1481
    functionLinenumberEnd: 1506
    functionName: vlc_mft_d3d::SetD3D
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 1
    functionsReached:
    - assert
    - FAILED
    - GetAttributes
    - std::make_unique<MFHW_d3d11>
    - vlc_mft_d3d::SetD3D
    - reset
    - SUCCEEDED
    - unlikely
    - ComPtr::GetUINT32
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT vlc_mft_d3d::SetD3D(vlc_logger *logger, vlc_decoder_device
      & dec_dev)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<mft_sys_t*>
      Src: /src/vlc/modules/codec/mft.cpp:1510,1
    - Dst: auto*::mft::GetAttributes
      Src: /src/vlc/modules/codec/mft.cpp:1514,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1515,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/codec/mft.cpp:1517,1
    - Dst: ComPtr::GetUINT32
      Src: /src/vlc/modules/codec/mft.cpp:1520,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1521,1
    - Dst: ComPtr::SetUINT32
      Src: /src/vlc/modules/codec/mft.cpp:1526,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1527,1
    - Dst: auto*::mft::As
      Src: /src/vlc/modules/codec/mft.cpp:1529,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1530,1
    - Dst: auto*::mft::GetStreamCount
      Src: /src/vlc/modules/codec/mft.cpp:1537,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1538,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/mft.cpp:1542,1
    - Dst: auto*::mft::GetStreamIDs
      Src: /src/vlc/modules/codec/mft.cpp:1546,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1558,1
    - Dst: auto*::SetInputType
      Src: /src/vlc/modules/codec/mft.cpp:1561,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1562,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/mft.cpp:1564,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/codec/mft.cpp:1568,1
    - Dst: EnableHardwareAcceleration
      Src: /src/vlc/modules/codec/mft.cpp:1570,1
    - Dst: dynamic_cast<vlc_mft_d3d*>
      Src: /src/vlc/modules/codec/mft.cpp:1571,1
    - Dst: decoder_GetDecoderDevice
      Src: /src/vlc/modules/codec/mft.cpp:1574,1
    - Dst: auto*::SetD3D
      Src: /src/vlc/modules/codec/mft.cpp:1577,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/codec/mft.cpp:1577,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/codec/mft.cpp:1578,1
    - Dst: auto*::mft::GetOutputStreamAttributes
      Src: /src/vlc/modules/codec/mft.cpp:1581,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/codec/mft.cpp:1582,1
    - Dst: IMFAttributes*::SetUINT32
      Src: /src/vlc/modules/codec/mft.cpp:1584,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/codec/mft.cpp:1587,1
    - Dst: video_format_Copy
      Src: /src/vlc/modules/codec/mft.cpp:1593,1
    - Dst: auto*::SetOutputType
      Src: /src/vlc/modules/codec/mft.cpp:1596,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/codec/mft.cpp:1596,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1597,1
    - Dst: auto*::input_type::Get
      Src: /src/vlc/modules/codec/mft.cpp:1604,1
    - Dst: auto*::SetInputType
      Src: /src/vlc/modules/codec/mft.cpp:1606,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1607,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/mft.cpp:1609,1
    - Dst: auto*::input_type::Get
      Src: /src/vlc/modules/codec/mft.cpp:1612,1
    - Dst: auto*::startStream
      Src: /src/vlc/modules/codec/mft.cpp:1617,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1618,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/mft.cpp:1620,1
    - Dst: dynamic_cast<mft_dec_video*>
      Src: /src/vlc/modules/codec/mft.cpp:1626,1
    - Dst: hxxx_helper_init
      Src: /src/vlc/modules/codec/mft.cpp:1627,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/codec/mft.cpp:1627,1
    - Dst: hxxx_helper_set_extra
      Src: /src/vlc/modules/codec/mft.cpp:1628,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/mft.cpp:1633,1
    - Dst: DestroyMFT
      Src: /src/vlc/modules/codec/mft.cpp:1634,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 94
    argCount: 2
    argNames:
    - p_dec
    - ' type'
    argTypes:
    - decoder_t*
    - MFT_REGISTER_TYPE_INFO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1508
    functionDepth: 1
    functionLinenumber: 1508
    functionLinenumberEnd: 1636
    functionName: InitializeMFT
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached:
    - EnableHardwareAcceleration
    - vlc_decoder_device_Release
    - auto*::SetOutputType
    - auto*::startStream
    - auto*::mft::GetStreamCount
    - ComPtr::Get
    - SUCCEEDED
    - DestroyMFT
    - hxxx_helper_set_extra
    - auto*::SetInputType
    - auto*::mft::GetOutputStreamAttributes
    - msg_Err
    - auto*::mft::GetAttributes
    - auto*::SetD3D
    - ComPtr::SetUINT32
    - decoder_GetDecoderDevice
    - dynamic_cast<vlc_mft_d3d*>
    - video_format_Copy
    - dynamic_cast<mft_dec_video*>
    - auto*::input_type::Get
    - static_cast<mft_sys_t*>
    - hxxx_helper_init
    - FAILED
    - vlc_object_logger
    - auto*::mft::As
    - IMFAttributes*::SetUINT32
    - VLC_OBJECT
    - auto*::mft::GetStreamIDs
    - ComPtr::GetUINT32
    linkageType: ''
    returnType: int
    signature: int InitializeMFT(decoder_t *p_dec, const MFT_REGISTER_TYPE_INFO &
      type)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<mft_sys_t*>
      Src: /src/vlc/modules/codec/mft.cpp:1640,1
    - Dst: auto*::mft::Get
      Src: /src/vlc/modules/codec/mft.cpp:1642,1
    - Dst: auto*::endStream
      Src: /src/vlc/modules/codec/mft.cpp:1644,1
    - Dst: auto*::output_sample::Get
      Src: /src/vlc/modules/codec/mft.cpp:1646,1
    - Dst: auto*::mft::ProcessMessage
      Src: /src/vlc/modules/codec/mft.cpp:1650,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1651,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/mft.cpp:1653,1
    - Dst: auto*::output_sample::Get
      Src: /src/vlc/modules/codec/mft.cpp:1660,1
    - Dst: auto*::mft::ProcessOutput
      Src: /src/vlc/modules/codec/mft.cpp:1661,1
    - Dst: MFT_OUTPUT_DATA_BUFFER::pEvents::Release
      Src: /src/vlc/modules/codec/mft.cpp:1663,1
    - Dst: MFT_OUTPUT_DATA_BUFFER::pSample::Release
      Src: /src/vlc/modules/codec/mft.cpp:1666,1
    - Dst: auto*::flushStream
      Src: /src/vlc/modules/codec/mft.cpp:1677,1
    - Dst: auto*::shutdownStream
      Src: /src/vlc/modules/codec/mft.cpp:1679,1
    - Dst: dynamic_cast<mft_dec_video*>
      Src: /src/vlc/modules/codec/mft.cpp:1682,1
    - Dst: hxxx_helper_clean
      Src: /src/vlc/modules/codec/mft.cpp:1684,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1638
    functionDepth: 1
    functionLinenumber: 1638
    functionLinenumberEnd: 1685
    functionName: DestroyMFT
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 1
    functionsReached:
    - MFT_OUTPUT_DATA_BUFFER::pEvents::Release
    - FAILED
    - MFT_OUTPUT_DATA_BUFFER::pSample::Release
    - auto*::flushStream
    - auto*::mft::ProcessMessage
    - hxxx_helper_clean
    - auto*::output_sample::Get
    - auto*::shutdownStream
    - dynamic_cast<mft_dec_video*>
    - auto*::mft::Get
    - msg_Warn
    - static_cast<mft_sys_t*>
    - auto*::endStream
    - auto*::mft::ProcessOutput
    linkageType: ''
    returnType: void
    signature: void DestroyMFT(decoder_t *p_dec)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MFTEnumEx
      Src: /src/vlc/modules/codec/mft.cpp:1696,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/codec/mft.cpp:1697,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1698,1
    - Dst: GetString
      Src: /src/vlc/modules/codec/mft.cpp:1704,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/mft.cpp:1704,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1705,1
    - Dst: wcscpy
      Src: /src/vlc/modules/codec/mft.cpp:1706,1
    - Dst: ActivateObject
      Src: /src/vlc/modules/codec/mft.cpp:1711,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/codec/mft.cpp:1711,1
    - Dst: ComPtr::GetAddressOf
      Src: /src/vlc/modules/codec/mft.cpp:1711,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/codec/mft.cpp:1712,1
    - Dst: ComPtr::GetAttributes
      Src: /src/vlc/modules/codec/mft.cpp:1718,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/codec/mft.cpp:1719,1
    - Dst: ComPtr::GetUINT32
      Src: /src/vlc/modules/codec/mft.cpp:1722,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/codec/mft.cpp:1723,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/codec/mft.cpp:1728,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/codec/mft.cpp:1731,1
    - Dst: ShutdownObject
      Src: /src/vlc/modules/codec/mft.cpp:1733,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - logger
    - category
    - type
    - do_test
    argTypes:
    - struct vlc_logger*
    - GUID
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1687
    functionDepth: 1
    functionLinenumber: 1687
    functionLinenumberEnd: 1737
    functionName: ListTransforms
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - wcscpy
    - FAILED
    - ComPtr::GetAttributes
    - IID_PPV_ARGS
    - ComPtr::GetAddressOf
    - ActivateObject
    - GetString
    - vlc_debug
    - MFTEnumEx
    - SUCCEEDED
    - ShutdownObject
    - ComPtr::GetUINT32
    linkageType: ''
    returnType: int
    signature: int ListTransforms(struct vlc_logger *logger, GUID category, const
      char *type, bool do_test)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<mft_sys_t*>
      Src: /src/vlc/modules/codec/mft.cpp:1741,1
    - Dst: MFTypeFromCodec
      Src: /src/vlc/modules/codec/mft.cpp:1750,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1751,1
    - Dst: MFTypeFromCodec
      Src: /src/vlc/modules/codec/mft.cpp:1760,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1761,1
    - Dst: MFTypeFromAudio
      Src: /src/vlc/modules/codec/mft.cpp:1763,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1765,1
    - Dst: ListTransforms
      Src: /src/vlc/modules/codec/mft.cpp:1773,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/codec/mft.cpp:1773,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/codec/mft.cpp:1773,1
    - Dst: MFTEnumEx
      Src: /src/vlc/modules/codec/mft.cpp:1780,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1781,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/mft.cpp:1784,1
    - Dst: ActivateObject
      Src: /src/vlc/modules/codec/mft.cpp:1790,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/codec/mft.cpp:1790,1
    - Dst: auto*::mft::ReleaseAndGetAddressOf
      Src: /src/vlc/modules/codec/mft.cpp:1790,1
    - Dst: Release
      Src: /src/vlc/modules/codec/mft.cpp:1791,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1792,1
    - Dst: InitializeMFT
      Src: /src/vlc/modules/codec/mft.cpp:1795,1
    - Dst: Release
      Src: /src/vlc/modules/codec/mft.cpp:1798,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/codec/mft.cpp:1799,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/codec/mft.cpp:1803,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1806
      start: 1739
    functionDepth: 2
    functionLinenumber: 1739
    functionLinenumberEnd: 1806
    functionName: FindMFT
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached:
    - MFTypeFromAudio
    - MFTypeFromCodec
    - auto*::mft::ReleaseAndGetAddressOf
    - CoTaskMemFree
    - FAILED
    - vlc_object_logger
    - var_InheritBool
    - IID_PPV_ARGS
    - ActivateObject
    - Release
    - ListTransforms
    - InitializeMFT
    - msg_Dbg
    - MFTEnumEx
    - static_cast<mft_sys_t*>
    linkageType: ''
    returnType: int
    signature: int FindMFT(decoder_t *p_dec)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: AllocateOutputSample
      Src: /src/vlc/modules/codec/mft.cpp:1815,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1816,1
    - Dst: vlc_error
      Src: /src/vlc/modules/codec/mft.cpp:1818,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/codec/mft.cpp:1823,1
    - Dst: mft_enc_video::ProcessOutput
      Src: /src/vlc/modules/codec/mft.cpp:1824,1
    - Dst: MFT_OUTPUT_DATA_BUFFER::pEvents::Release
      Src: /src/vlc/modules/codec/mft.cpp:1826,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1831,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/codec/mft.cpp:1833,1
    - Dst: MFT_OUTPUT_DATA_BUFFER::pSample::GetSampleTime
      Src: /src/vlc/modules/codec/mft.cpp:1841,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1842,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/codec/mft.cpp:1844,1
    - Dst: MFT_OUTPUT_DATA_BUFFER::pSample::GetBufferCount
      Src: /src/vlc/modules/codec/mft.cpp:1851,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/mft.cpp:1852,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1852,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/codec/mft.cpp:1854,1
    - Dst: MFT_OUTPUT_DATA_BUFFER::pSample::GetBufferByIndex
      Src: /src/vlc/modules/codec/mft.cpp:1863,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1864,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/codec/mft.cpp:1866,1
    - Dst: ComPtr::GetCurrentLength
      Src: /src/vlc/modules/codec/mft.cpp:1873,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1874,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/codec/mft.cpp:1876,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/mft.cpp:1882,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/mft.cpp:1883,1
    - Dst: ComPtr::Lock
      Src: /src/vlc/modules/codec/mft.cpp:1892,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1893,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/codec/mft.cpp:1895,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/mft.cpp:1898,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/mft.cpp:1902,1
    - Dst: ComPtr::Unlock
      Src: /src/vlc/modules/codec/mft.cpp:1904,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/codec/mft.cpp:1906,1
    - Dst: ComPtr::SetCurrentLength
      Src: /src/vlc/modules/codec/mft.cpp:1908,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1910,1
    - Dst: vlc_debug
      Src: /src/vlc/modules/codec/mft.cpp:1912,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/mft.cpp:1915,1
    - Dst: VLC_TICK_FROM_MSFTIME
      Src: /src/vlc/modules/codec/mft.cpp:1920,1
    - Dst: MFT_OUTPUT_DATA_BUFFER::pSample::GetUINT64
      Src: /src/vlc/modules/codec/mft.cpp:1922,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/codec/mft.cpp:1923,1
    - Dst: VLC_TICK_FROM_MSFTIME
      Src: /src/vlc/modules/codec/mft.cpp:1924,1
    - Dst: MFT_OUTPUT_DATA_BUFFER::pSample::GetUINT32
      Src: /src/vlc/modules/codec/mft.cpp:1927,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/codec/mft.cpp:1928,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/codec/mft.cpp:1934,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 73
    argCount: 2
    argNames:
    - logger
    - ' output'
    argTypes:
    - vlc_logger*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1938
      start: 1808
    functionDepth: 1
    functionLinenumber: 1808
    functionLinenumberEnd: 1938
    functionName: mft_enc_video::ProcessOutput
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 1
    functionsReached:
    - ComPtr::SetCurrentLength
    - MFT_OUTPUT_DATA_BUFFER::pEvents::Release
    - memcpy
    - ComPtr::Get
    - block_Alloc
    - SUCCEEDED
    - MFT_OUTPUT_DATA_BUFFER::pSample::GetSampleTime
    - ComPtr::Lock
    - ComPtr::Unlock
    - MFT_OUTPUT_DATA_BUFFER::pSample::GetBufferCount
    - ComPtr::GetCurrentLength
    - MFT_OUTPUT_DATA_BUFFER::pSample::GetUINT32
    - MFT_OUTPUT_DATA_BUFFER::pSample::GetUINT64
    - VLC_TICK_FROM_MSFTIME
    - AllocateOutputSample
    - block_ChainAppend
    - mft_enc_video::ProcessOutput
    - block_Release
    - FAILED
    - unlikely
    - vlc_debug
    - vlc_error
    - MFT_OUTPUT_DATA_BUFFER::pSample::GetBufferByIndex
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT mft_enc_video::ProcessOutput(vlc_logger *logger, block_t *
      & output)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<mft_enc_video*>
      Src: /src/vlc/modules/codec/mft.cpp:1943,1
    - Dst: mft_enc_video*::mft::ProcessMessage
      Src: /src/vlc/modules/codec/mft.cpp:1949,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1950,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/mft.cpp:1952,1
    - Dst: mft_enc_video*::DequeueMediaEvent
      Src: /src/vlc/modules/codec/mft.cpp:1957,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/codec/mft.cpp:1957,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1958,1
    - Dst: mft_enc_video*::ProcessOutput
      Src: /src/vlc/modules/codec/mft.cpp:1963,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/codec/mft.cpp:1963,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1964,1
    - Dst: mft_enc_video*::DequeueMediaEvent
      Src: /src/vlc/modules/codec/mft.cpp:1976,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/codec/mft.cpp:1976,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1978,1
    - Dst: mft_enc_video*::ProcessOutput
      Src: /src/vlc/modules/codec/mft.cpp:1984,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/codec/mft.cpp:1984,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1985,1
    - Dst: mft_enc_video*::DequeueMediaEvent
      Src: /src/vlc/modules/codec/mft.cpp:1996,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/codec/mft.cpp:1996,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:1997,1
    - Dst: mft_enc_video*::ProcessOutput
      Src: /src/vlc/modules/codec/mft.cpp:2002,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/codec/mft.cpp:2002,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2003,1
    - Dst: mft_enc_video*::ProcessInputPicture
      Src: /src/vlc/modules/codec/mft.cpp:2011,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/codec/mft.cpp:2011,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2012,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 57
    argCount: 2
    argNames:
    - p_enc
    - p_pic
    argTypes:
    - encoder_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2018
      start: 1941
    functionDepth: 1
    functionLinenumber: 1941
    functionLinenumberEnd: 2018
    functionName: EncodeVideoAsync
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached:
    - static_cast<mft_enc_video*>
    - mft_enc_video*::DequeueMediaEvent
    - mft_enc_video*::ProcessOutput
    - mft_enc_video*::mft::ProcessMessage
    - FAILED
    - vlc_object_logger
    - mft_enc_video*::ProcessInputPicture
    - msg_Warn
    linkageType: ''
    returnType: block_t
    signature: block_t *EncodeVideoAsync(encoder_t *p_enc, picture_t *p_pic)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<mft_enc_video*>
      Src: /src/vlc/modules/codec/mft.cpp:2022,1
    - Dst: mft_enc_video*::mft::ProcessMessage
      Src: /src/vlc/modules/codec/mft.cpp:2027,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2028,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/mft.cpp:2030,1
    - Dst: mft_enc_video*::ProcessOutput
      Src: /src/vlc/modules/codec/mft.cpp:2037,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/codec/mft.cpp:2037,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2038,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/mft.cpp:2041,1
    - Dst: mft_enc_video*::ProcessInputPicture
      Src: /src/vlc/modules/codec/mft.cpp:2047,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/codec/mft.cpp:2047,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2048,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/mft.cpp:2051,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - p_enc
    - p_pic
    argTypes:
    - encoder_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2057
      start: 2020
    functionDepth: 1
    functionLinenumber: 2020
    functionLinenumberEnd: 2057
    functionName: EncodeVideo
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 2
    functionsReached:
    - static_cast<mft_enc_video*>
    - mft_enc_video*::ProcessOutput
    - block_Release
    - mft_enc_video*::mft::ProcessMessage
    - FAILED
    - vlc_object_logger
    - mft_enc_video*::ProcessInputPicture
    - msg_Warn
    linkageType: ''
    returnType: block_t
    signature: block_t * EncodeVideo(encoder_t *p_enc, picture_t *p_pic)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<mft_enc_audio*>
      Src: /src/vlc/modules/codec/mft.cpp:2061,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/mft.cpp:2065,1
    - Dst: mft_enc_audio*::mft::ProcessMessage
      Src: /src/vlc/modules/codec/mft.cpp:2072,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2073,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/mft.cpp:2075,1
    - Dst: mft_enc_audio*::AllocateOutputSample
      Src: /src/vlc/modules/codec/mft.cpp:2087,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2088,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/mft.cpp:2090,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/codec/mft.cpp:2095,1
    - Dst: mft_enc_audio*::mft::ProcessOutput
      Src: /src/vlc/modules/codec/mft.cpp:2096,1
    - Dst: MFT_OUTPUT_DATA_BUFFER::pEvents::Release
      Src: /src/vlc/modules/codec/mft.cpp:2098,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2102,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/mft.cpp:2104,1
    - Dst: MFT_OUTPUT_DATA_BUFFER::pSample::GetSampleTime
      Src: /src/vlc/modules/codec/mft.cpp:2112,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2113,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/mft.cpp:2115,1
    - Dst: VLC_TICK_FROM_MSFTIME
      Src: /src/vlc/modules/codec/mft.cpp:2119,1
    - Dst: MFT_OUTPUT_DATA_BUFFER::pSample::GetBufferCount
      Src: /src/vlc/modules/codec/mft.cpp:2122,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/mft.cpp:2123,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2123,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/mft.cpp:2125,1
    - Dst: ComPtr::GetBufferByIndex
      Src: /src/vlc/modules/codec/mft.cpp:2132,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2133,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/mft.cpp:2135,1
    - Dst: ComPtr::GetCurrentLength
      Src: /src/vlc/modules/codec/mft.cpp:2140,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2141,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/mft.cpp:2143,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/mft.cpp:2147,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/mft.cpp:2148,1
    - Dst: ComPtr::Lock
      Src: /src/vlc/modules/codec/mft.cpp:2157,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2158,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/mft.cpp:2160,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/mft.cpp:2161,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/mft.cpp:2165,1
    - Dst: ComPtr::Unlock
      Src: /src/vlc/modules/codec/mft.cpp:2167,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2168,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/mft.cpp:2170,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/mft.cpp:2171,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/codec/mft.cpp:2178,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/mft.cpp:2184,1
    - Dst: ProcessInputStream
      Src: /src/vlc/modules/codec/mft.cpp:2189,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/codec/mft.cpp:2189,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/mft.cpp:2192,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 82
    argCount: 2
    argNames:
    - p_enc
    - p_aout_buffer
    argTypes:
    - encoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2197
      start: 2059
    functionDepth: 3
    functionLinenumber: 2059
    functionLinenumberEnd: 2197
    functionName: EncodeAudio
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 1
    functionsReached:
    - static_cast<mft_enc_audio*>
    - MFT_OUTPUT_DATA_BUFFER::pEvents::Release
    - ComPtr::GetBufferByIndex
    - memcpy
    - ComPtr::Get
    - block_Alloc
    - MFT_OUTPUT_DATA_BUFFER::pSample::GetSampleTime
    - ProcessInputStream
    - ComPtr::Lock
    - ComPtr::Unlock
    - msg_Err
    - msg_Dbg
    - MFT_OUTPUT_DATA_BUFFER::pSample::GetBufferCount
    - msg_Warn
    - ComPtr::GetCurrentLength
    - VLC_TICK_FROM_MSFTIME
    - block_ChainAppend
    - mft_enc_audio*::mft::ProcessMessage
    - block_Release
    - FAILED
    - vlc_object_logger
    - mft_enc_audio*::mft::ProcessOutput
    - unlikely
    - mft_enc_audio*::AllocateOutputSample
    linkageType: ''
    returnType: block_t
    signature: block_t * EncodeAudio(encoder_t *p_enc, block_t *p_aout_buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<mft_sys_t*>
      Src: /src/vlc/modules/codec/mft.cpp:2201,1
    - Dst: mft_sys_t*::mft::Get
      Src: /src/vlc/modules/codec/mft.cpp:2203,1
    - Dst: mft_sys_t*::endStream
      Src: /src/vlc/modules/codec/mft.cpp:2205,1
    - Dst: mft_sys_t*::flushStream
      Src: /src/vlc/modules/codec/mft.cpp:2238,1
    - Dst: mft_sys_t*::shutdownStream
      Src: /src/vlc/modules/codec/mft.cpp:2240,1
    - Dst: mft_sys_t*::Release
      Src: /src/vlc/modules/codec/mft.cpp:2243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_enc
    argTypes:
    - encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2244
      start: 2199
    functionDepth: 0
    functionLinenumber: 2199
    functionLinenumberEnd: 2244
    functionName: EncoderClose
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached:
    - mft_sys_t*::shutdownStream
    - mft_sys_t*::mft::Get
    - mft_sys_t*::flushStream
    - mft_sys_t*::endStream
    - static_cast<mft_sys_t*>
    - mft_sys_t*::Release
    linkageType: ''
    returnType: void
    signature: void EncoderClose(encoder_t *p_enc)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mft_sys_t::mft::GetAttributes
      Src: /src/vlc/modules/codec/mft.cpp:2250,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2251,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/codec/mft.cpp:2253,1
    - Dst: ComPtr::GetUINT32
      Src: /src/vlc/modules/codec/mft.cpp:2256,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2257,1
    - Dst: ComPtr::SetUINT32
      Src: /src/vlc/modules/codec/mft.cpp:2262,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2263,1
    - Dst: mft_sys_t::mft::As
      Src: /src/vlc/modules/codec/mft.cpp:2265,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2266,1
    - Dst: mft_sys_t::mft::GetStreamCount
      Src: /src/vlc/modules/codec/mft.cpp:2273,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2274,1
    - Dst: vlc_error
      Src: /src/vlc/modules/codec/mft.cpp:2278,1
    - Dst: mft_sys_t::mft::GetStreamIDs
      Src: /src/vlc/modules/codec/mft.cpp:2282,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2294,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 2
    argNames:
    - logger
    - mf_sys
    argTypes:
    - struct vlc_logger*
    - mft_sys_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2301
      start: 2246
    functionDepth: 1
    functionLinenumber: 2246
    functionLinenumberEnd: 2301
    functionName: InitializeEncoder
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached:
    - mft_sys_t::mft::As
    - mft_sys_t::mft::GetStreamIDs
    - FAILED
    - vlc_error
    - SUCCEEDED
    - mft_sys_t::mft::GetAttributes
    - ComPtr::SetUINT32
    - mft_sys_t::mft::GetStreamCount
    - ComPtr::GetUINT32
    linkageType: ''
    returnType: int
    signature: int InitializeEncoder(struct vlc_logger *logger, mft_sys_t &mf_sys)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2307,1
    - Dst: CoInitializeEx
      Src: /src/vlc/modules/codec/mft.cpp:2307,1
    - Dst: MFStartup
      Src: /src/vlc/modules/codec/mft.cpp:2310,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2311,1
    - Dst: CoUninitialize
      Src: /src/vlc/modules/codec/mft.cpp:2313,1
    - Dst: mft_enc_video::mft_enc_video
      Src: /src/vlc/modules/codec/mft.cpp:2317,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/mft.cpp:2318,1
    - Dst: MFShutdown
      Src: /src/vlc/modules/codec/mft.cpp:2320,1
    - Dst: CoUninitialize
      Src: /src/vlc/modules/codec/mft.cpp:2321,1
    - Dst: MFTypeFromChroma
      Src: /src/vlc/modules/codec/mft.cpp:2333,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2334,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/mft.cpp:2336,1
    - Dst: MFTypeFromChroma
      Src: /src/vlc/modules/codec/mft.cpp:2340,1
    - Dst: assert
      Src: /src/vlc/modules/codec/mft.cpp:2341,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/codec/mft.cpp:2341,1
    - Dst: MFTypeFromCodec
      Src: /src/vlc/modules/codec/mft.cpp:2344,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2345,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/mft.cpp:2347,1
    - Dst: ListTransforms
      Src: /src/vlc/modules/codec/mft.cpp:2352,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/codec/mft.cpp:2352,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/codec/mft.cpp:2352,1
    - Dst: MFTEnumEx
      Src: /src/vlc/modules/codec/mft.cpp:2358,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2359,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/mft.cpp:2361,1
    - Dst: MFTEnumEx
      Src: /src/vlc/modules/codec/mft.cpp:2368,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2369,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/mft.cpp:2371,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/mft.cpp:2375,1
    - Dst: GetString
      Src: /src/vlc/modules/codec/mft.cpp:2383,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/mft.cpp:2383,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2384,1
    - Dst: wcsncpy
      Src: /src/vlc/modules/codec/mft.cpp:2385,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/mft.cpp:2385,1
    - Dst: ActivateObject
      Src: /src/vlc/modules/codec/mft.cpp:2386,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/codec/mft.cpp:2386,1
    - Dst: mft_enc_video*::mft::ReleaseAndGetAddressOf
      Src: /src/vlc/modules/codec/mft.cpp:2386,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2387,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/mft.cpp:2389,1
    - Dst: InitializeEncoder
      Src: /src/vlc/modules/codec/mft.cpp:2393,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/codec/mft.cpp:2393,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/mft.cpp:2395,1
    - Dst: Release
      Src: /src/vlc/modules/codec/mft.cpp:2401,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/codec/mft.cpp:2402,1
    - Dst: MFFormatToChroma
      Src: /src/vlc/modules/codec/mft.cpp:2406,1
    - Dst: mft_enc_video*::SetOutputType
      Src: /src/vlc/modules/codec/mft.cpp:2409,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/codec/mft.cpp:2409,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2411,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/mft.cpp:2413,1
    - Dst: mft_enc_video*::SetInputType
      Src: /src/vlc/modules/codec/mft.cpp:2416,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2417,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/mft.cpp:2419,1
    - Dst: mft_enc_video*::startStream
      Src: /src/vlc/modules/codec/mft.cpp:2424,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2425,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/mft.cpp:2427,1
    - Dst: EncoderClose
      Src: /src/vlc/modules/codec/mft.cpp:2448,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 103
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: (SUCCEEDED(hr))
      pos:
        line_end: 2340
        line_start: 2340
        source_file: /src/vlc/modules/codec/mft.cpp
    constantsTouched: []
    func_position:
      end: 2450
      start: 2303
    functionDepth: 3
    functionLinenumber: 2303
    functionLinenumberEnd: 2450
    functionName: OpenMFTVideoEncoder
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached:
    - MFTypeFromCodec
    - MFTypeFromChroma
    - assert
    - MFFormatToChroma
    - CoInitializeEx
    - IID_PPV_ARGS
    - Release
    - CoUninitialize
    - SUCCEEDED
    - ARRAY_SIZE
    - InitializeEncoder
    - ActivateObject
    - mft_enc_video*::SetOutputType
    - msg_Err
    - msg_Dbg
    - mft_enc_video*::mft::ReleaseAndGetAddressOf
    - msg_Warn
    - var_InheritBool
    - MFShutdown
    - ListTransforms
    - wcsncpy
    - mft_enc_video::mft_enc_video
    - EncoderClose
    - CoTaskMemFree
    - mft_enc_video*::SetInputType
    - FAILED
    - vlc_object_logger
    - mft_enc_video*::startStream
    - GetString
    - MFTEnumEx
    - unlikely
    - MFStartup
    linkageType: ''
    returnType: int
    signature: int OpenMFTVideoEncoder(vlc_object_t *p_this)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2456,1
    - Dst: CoInitializeEx
      Src: /src/vlc/modules/codec/mft.cpp:2456,1
    - Dst: MFStartup
      Src: /src/vlc/modules/codec/mft.cpp:2459,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2460,1
    - Dst: CoUninitialize
      Src: /src/vlc/modules/codec/mft.cpp:2462,1
    - Dst: mft_enc_audio::mft_enc_audio
      Src: /src/vlc/modules/codec/mft.cpp:2466,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/mft.cpp:2467,1
    - Dst: MFShutdown
      Src: /src/vlc/modules/codec/mft.cpp:2469,1
    - Dst: CoUninitialize
      Src: /src/vlc/modules/codec/mft.cpp:2470,1
    - Dst: MFTypeFromAudio
      Src: /src/vlc/modules/codec/mft.cpp:2482,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2483,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/mft.cpp:2485,1
    - Dst: MFTypeFromCodec
      Src: /src/vlc/modules/codec/mft.cpp:2490,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2491,1
    - Dst: MFTypeFromAudio
      Src: /src/vlc/modules/codec/mft.cpp:2492,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/mft.cpp:2495,1
    - Dst: ListTransforms
      Src: /src/vlc/modules/codec/mft.cpp:2500,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/codec/mft.cpp:2500,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/codec/mft.cpp:2500,1
    - Dst: MFTEnumEx
      Src: /src/vlc/modules/codec/mft.cpp:2505,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2506,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/mft.cpp:2508,1
    - Dst: MFTypeFromAudio
      Src: /src/vlc/modules/codec/mft.cpp:2518,1
    - Dst: MFTEnumEx
      Src: /src/vlc/modules/codec/mft.cpp:2519,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2520,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/mft.cpp:2522,1
    - Dst: aout_BitsPerSample
      Src: /src/vlc/modules/codec/mft.cpp:2526,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/mft.cpp:2527,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/mft.cpp:2529,1
    - Dst: GetString
      Src: /src/vlc/modules/codec/mft.cpp:2537,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/mft.cpp:2537,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2538,1
    - Dst: wcsncpy
      Src: /src/vlc/modules/codec/mft.cpp:2539,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/mft.cpp:2539,1
    - Dst: ActivateObject
      Src: /src/vlc/modules/codec/mft.cpp:2540,1
    - Dst: IID_PPV_ARGS
      Src: /src/vlc/modules/codec/mft.cpp:2540,1
    - Dst: mft_enc_audio*::mft::ReleaseAndGetAddressOf
      Src: /src/vlc/modules/codec/mft.cpp:2540,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2541,1
    - Dst: InitializeEncoder
      Src: /src/vlc/modules/codec/mft.cpp:2544,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/codec/mft.cpp:2544,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/mft.cpp:2546,1
    - Dst: Release
      Src: /src/vlc/modules/codec/mft.cpp:2552,1
    - Dst: CoTaskMemFree
      Src: /src/vlc/modules/codec/mft.cpp:2553,1
    - Dst: mft_enc_audio*::SetOutputType
      Src: /src/vlc/modules/codec/mft.cpp:2557,1
    - Dst: vlc_object_logger
      Src: /src/vlc/modules/codec/mft.cpp:2557,1
    - Dst: mft_enc_audio*::SetInputType
      Src: /src/vlc/modules/codec/mft.cpp:2561,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2562,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/mft.cpp:2564,1
    - Dst: mft_enc_audio*::startStream
      Src: /src/vlc/modules/codec/mft.cpp:2569,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2570,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/mft.cpp:2572,1
    - Dst: EncoderClose
      Src: /src/vlc/modules/codec/mft.cpp:2587,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 98
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2589
      start: 2452
    functionDepth: 2
    functionLinenumber: 2452
    functionLinenumberEnd: 2589
    functionName: OpenMFTAudioEncoder
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 0
    functionsReached:
    - MFTypeFromCodec
    - CoInitializeEx
    - IID_PPV_ARGS
    - Release
    - CoUninitialize
    - ARRAY_SIZE
    - InitializeEncoder
    - mft_enc_audio*::SetInputType
    - ActivateObject
    - aout_BitsPerSample
    - msg_Err
    - msg_Dbg
    - msg_Warn
    - mft_enc_audio::mft_enc_audio
    - mft_enc_audio*::startStream
    - var_InheritBool
    - MFShutdown
    - ListTransforms
    - wcsncpy
    - mft_enc_audio*::mft::ReleaseAndGetAddressOf
    - MFTypeFromAudio
    - EncoderClose
    - CoTaskMemFree
    - FAILED
    - vlc_object_logger
    - GetString
    - MFTEnumEx
    - mft_enc_audio*::SetOutputType
    - unlikely
    - MFStartup
    linkageType: ''
    returnType: int
    signature: int OpenMFTAudioEncoder(vlc_object_t *p_this)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2596,1
    - Dst: CoInitializeEx
      Src: /src/vlc/modules/codec/mft.cpp:2596,1
    - Dst: MFStartup
      Src: /src/vlc/modules/codec/mft.cpp:2599,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2600,1
    - Dst: CoUninitialize
      Src: /src/vlc/modules/codec/mft.cpp:2602,1
    - Dst: mft_dec_video::mft_dec_video
      Src: /src/vlc/modules/codec/mft.cpp:2608,1
    - Dst: mft_dec_audio::mft_dec_audio
      Src: /src/vlc/modules/codec/mft.cpp:2610,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/mft.cpp:2611,1
    - Dst: MFShutdown
      Src: /src/vlc/modules/codec/mft.cpp:2613,1
    - Dst: CoUninitialize
      Src: /src/vlc/modules/codec/mft.cpp:2614,1
    - Dst: FindMFT
      Src: /src/vlc/modules/codec/mft.cpp:2619,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/mft.cpp:2621,1
    - Dst: mft_sys_t*::AllocateOutputSample
      Src: /src/vlc/modules/codec/mft.cpp:2626,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft.cpp:2627,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/mft.cpp:2629,1
    - Dst: Close
      Src: /src/vlc/modules/codec/mft.cpp:2639,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2641
      start: 2592
    functionDepth: 3
    functionLinenumber: 2592
    functionLinenumberEnd: 2641
    functionName: Open
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 68
    functionsReached:
    - FAILED
    - mft_dec_audio::mft_dec_audio
    - CoInitializeEx
    - mft_dec_video::mft_dec_video
    - msg_Err
    - MFShutdown
    - CoUninitialize
    - mft_sys_t*::AllocateOutputSample
    - FindMFT
    - Close
    - unlikely
    - MFStartup
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<mft_sys_t*>
      Src: /src/vlc/modules/codec/mft.cpp:2646,1
    - Dst: DestroyMFT
      Src: /src/vlc/modules/codec/mft.cpp:2648,1
    - Dst: auto*::Release
      Src: /src/vlc/modules/codec/mft.cpp:2650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2651
      start: 2643
    functionDepth: 2
    functionLinenumber: 2643
    functionLinenumberEnd: 2651
    functionName: Close
    functionSourceFile: /src/vlc/modules/codec/mft.cpp
    functionUses: 178
    functionsReached:
    - DestroyMFT
    - auto*::Release
    - static_cast<mft_sys_t*>
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: Debug
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Debug(code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CEA708_Decoder_Push
      Src: /src/vlc/modules/codec/cc.c:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 5
    argNames:
    - priv
    - i_sid
    - i_time
    - p_data
    - i_data
    argTypes:
    - void*
    - uint8_t
    - vlc_tick_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 247
    functionName: DTVCC_ServiceData_Handler
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 0
    functionsReached:
    - CEA708_Decoder_Push
    linkageType: ''
    returnType: void
    signature: "void DTVCC_ServiceData_Handler( void *priv, uint8_t i_sid, vlc_tick_t
      i_time,\n                                       const uint8_t *p_data, size_t
      i_data )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/codec/cc.c:270,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/cc.c:283,1
    - Dst: free
      Src: /src/vlc/modules/codec/cc.c:286,1
    - Dst: Eia608Init
      Src: /src/vlc/modules/codec/cc.c:289,1
    - Dst: CEA708_DTVCC_Demuxer_New
      Src: /src/vlc/modules/codec/cc.c:293,1
    - Dst: free
      Src: /src/vlc/modules/codec/cc.c:296,1
    - Dst: CEA708_Decoder_New
      Src: /src/vlc/modules/codec/cc.c:300,1
    - Dst: CEA708_DTVCC_Demuxer_Release
      Src: /src/vlc/modules/codec/cc.c:303,1
    - Dst: free
      Src: /src/vlc/modules/codec/cc.c:304,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/codec/cc.c:311,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 317
    functionName: Open
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 68
    functionsReached:
    - var_InheritBool
    - Eia608Init
    - CEA708_DTVCC_Demuxer_Release
    - calloc
    - CEA708_DTVCC_Demuxer_New
    - free
    - CEA708_Decoder_New
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Eia608Init
      Src: /src/vlc/modules/codec/cc.c:328,1
    - Dst: CEA708_DTVCC_Demuxer_Flush
      Src: /src/vlc/modules/codec/cc.c:332,1
    - Dst: CEA708_Decoder_Flush
      Src: /src/vlc/modules/codec/cc.c:333,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/codec/cc.c:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 339
    functionName: Flush
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 81
    functionsReached:
    - CEA708_DTVCC_Demuxer_Flush
    - Eia608Init
    - CEA708_Decoder_Flush
    - block_ChainRelease
    linkageType: ''
    returnType: void
    signature: void Flush( decoder_t *p_dec )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Pop
      Src: /src/vlc/modules/codec/cc.c:352,1
    - Dst: Convert
      Src: /src/vlc/modules/codec/cc.c:356,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/cc.c:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p_dec
    - b_drain
    argTypes:
    - decoder_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 360
    functionName: DoDecode
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 0
    functionsReached:
    - Convert
    - Pop
    - block_Release
    linkageType: ''
    returnType: bool
    signature: bool DoDecode( decoder_t *p_dec, bool b_drain )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DoDecode
      Src: /src/vlc/modules/codec/cc.c:372,1
    - Dst: Eia608Init
      Src: /src/vlc/modules/codec/cc.c:375,1
    - Dst: CEA708_DTVCC_Demuxer_Flush
      Src: /src/vlc/modules/codec/cc.c:379,1
    - Dst: CEA708_Decoder_Flush
      Src: /src/vlc/modules/codec/cc.c:380,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/cc.c:385,1
    - Dst: DoDecode
      Src: /src/vlc/modules/codec/cc.c:400,1
    - Dst: Push
      Src: /src/vlc/modules/codec/cc.c:403,1
    - Dst: DoDecode
      Src: /src/vlc/modules/codec/cc.c:407,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 410
    functionName: Decode
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 16
    functionsReached:
    - block_Release
    - CEA708_Decoder_Flush
    - Eia608Init
    - DoDecode
    - CEA708_DTVCC_Demuxer_Flush
    - Push
    linkageType: ''
    returnType: int
    signature: int Decode( decoder_t *p_dec, block_t *p_block )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/codec/cc.c:420,1
    - Dst: CEA708_Decoder_Release
      Src: /src/vlc/modules/codec/cc.c:423,1
    - Dst: CEA708_DTVCC_Demuxer_Release
      Src: /src/vlc/modules/codec/cc.c:424,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/codec/cc.c:427,1
    - Dst: free
      Src: /src/vlc/modules/codec/cc.c:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 429
    functionName: Close
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 178
    functionsReached:
    - free
    - CEA708_Decoder_Release
    - CEA708_DTVCC_Demuxer_Release
    - block_ChainRelease
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/codec/cc.c:440,1
    - Dst: Pop
      Src: /src/vlc/modules/codec/cc.c:440,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/cc.c:441,1
    - Dst: msg_Info
      Src: /src/vlc/modules/codec/cc.c:456,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 465
    functionName: Push
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 35
    functionsReached:
    - msg_Info
    - block_Release
    - Pop
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: void Push( decoder_t *p_dec, block_t *p_block )
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - p_dec
    - b_forced
    argTypes:
    - decoder_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 488
    functionName: Pop
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: block_t
    signature: block_t *Pop( decoder_t *p_dec, bool b_forced )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decoder_NewSubpictureText
      Src: /src/vlc/modules/codec/cc.c:500,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/codec/cc.c:505,1
    - Dst: Eia608FillUpdaterRegions
      Src: /src/vlc/modules/codec/cc.c:534,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 3
    argNames:
    - p_dec
    - h
    - i_pts
    argTypes:
    - decoder_t*
    - eia608_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 537
    functionName: Subtitle
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 3
    functionsReached:
    - VLC_TICK_FROM_SEC
    - Eia608FillUpdaterRegions
    - decoder_NewSubpictureText
    linkageType: ''
    returnType: subpicture_t
    signature: subpicture_t *Subtitle( decoder_t *p_dec, eia608_t *h, vlc_tick_t i_pts
      )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/codec/cc.c:549,1
    - Dst: Eia608Parse
      Src: /src/vlc/modules/codec/cc.c:554,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cc.c:566,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cc.c:566,1
    - Dst: Subtitle
      Src: /src/vlc/modules/codec/cc.c:567,1
    - Dst: decoder_QueueSub
      Src: /src/vlc/modules/codec/cc.c:569,1
    - Dst: CEA708_DTVCC_Demuxer_Push
      Src: /src/vlc/modules/codec/cc.c:574,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - p_dec
    - i_pts
    - p_buffer
    - i_buffer
    argTypes:
    - decoder_t*
    - vlc_tick_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 539
    functionDepth: 2
    functionLinenumber: 539
    functionLinenumberEnd: 583
    functionName: Convert
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 63
    functionsReached:
    - decoder_QueueSub
    - printf
    - CEA708_DTVCC_Demuxer_Push
    - Subtitle
    - vlc_tick_from_samples
    - Eia608Parse
    - Debug
    linkageType: ''
    returnType: void
    signature: "void Convert( decoder_t *p_dec, vlc_tick_t i_pts,\n                     const
      uint8_t *p_buffer, size_t i_buffer )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - h
    - dx
    argTypes:
    - eia608_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 596
    functionName: Eia608Cursor
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Eia608Cursor( eia608_t *h, int dx )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - h
    - i_screen
    - i_row
    - x
    argTypes:
    - eia608_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 626
    functionName: Eia608ClearScreenRowX
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Eia608ClearScreenRowX( eia608_t *h, int i_screen, int i_row, int
      x )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Eia608ClearScreenRowX
      Src: /src/vlc/modules/codec/cc.c:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - h
    - i_screen
    - i_row
    argTypes:
    - eia608_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 631
    functionName: Eia608ClearScreenRow
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 0
    functionsReached:
    - Eia608ClearScreenRowX
    linkageType: ''
    returnType: void
    signature: void Eia608ClearScreenRow( eia608_t *h, int i_screen, int i_row )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Eia608ClearScreenRow
      Src: /src/vlc/modules/codec/cc.c:636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - h
    - i_screen
    argTypes:
    - eia608_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 633
    functionDepth: 2
    functionLinenumber: 633
    functionLinenumberEnd: 637
    functionName: Eia608ClearScreen
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 0
    functionsReached:
    - Eia608ClearScreenRow
    linkageType: ''
    returnType: void
    signature: void Eia608ClearScreen( eia608_t *h, int i_screen )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/codec/cc.c:653,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - h
    argTypes:
    - eia608_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 656
    functionName: Eia608GetWritingScreenIndex
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    linkageType: ''
    returnType: int
    signature: int Eia608GetWritingScreenIndex( eia608_t *h )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Eia608ClearScreen
      Src: /src/vlc/modules/codec/cc.c:660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - b_displayed
    argTypes:
    - eia608_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 658
    functionDepth: 3
    functionLinenumber: 658
    functionLinenumberEnd: 661
    functionName: Eia608EraseScreen
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 0
    functionsReached:
    - Eia608ClearScreen
    linkageType: ''
    returnType: void
    signature: void Eia608EraseScreen( eia608_t *h, bool b_displayed )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Eia608GetWritingScreenIndex
      Src: /src/vlc/modules/codec/cc.c:672,1
    - Dst: Eia608Cursor
      Src: /src/vlc/modules/codec/cc.c:678,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - h
    - c
    argTypes:
    - eia608_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 663
    functionDepth: 2
    functionLinenumber: 663
    functionLinenumberEnd: 679
    functionName: Eia608Write
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 0
    functionsReached:
    - Eia608GetWritingScreenIndex
    - Eia608Cursor
    linkageType: ''
    returnType: void
    signature: void Eia608Write( eia608_t *h, const uint8_t c )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Eia608GetWritingScreenIndex
      Src: /src/vlc/modules/codec/cc.c:691,1
    - Dst: Eia608Cursor
      Src: /src/vlc/modules/codec/cc.c:695,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - h
    argTypes:
    - eia608_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 680
    functionDepth: 2
    functionLinenumber: 680
    functionLinenumberEnd: 696
    functionName: Eia608Erase
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 0
    functionsReached:
    - Eia608GetWritingScreenIndex
    - Eia608Cursor
    linkageType: ''
    returnType: void
    signature: void Eia608Erase( eia608_t *h )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Eia608ClearScreenRowX
      Src: /src/vlc/modules/codec/cc.c:702,1
    - Dst: Eia608GetWritingScreenIndex
      Src: /src/vlc/modules/codec/cc.c:702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - h
    argTypes:
    - eia608_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 697
    functionDepth: 2
    functionLinenumber: 697
    functionLinenumberEnd: 703
    functionName: Eia608EraseToEndOfRow
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 0
    functionsReached:
    - Eia608GetWritingScreenIndex
    - Eia608ClearScreenRowX
    linkageType: ''
    returnType: void
    signature: void Eia608EraseToEndOfRow( eia608_t *h )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Eia608GetWritingScreenIndex
      Src: /src/vlc/modules/codec/cc.c:710,1
    - Dst: Eia608ClearScreenRow
      Src: /src/vlc/modules/codec/cc.c:730,1
    - Dst: assert
      Src: /src/vlc/modules/codec/cc.c:738,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/cc.c:739,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/cc.c:740,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/cc.c:741,1
    - Dst: Eia608ClearScreenRow
      Src: /src/vlc/modules/codec/cc.c:745,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - h
    argTypes:
    - eia608_t*
    assertStmts:
    - condition: ( i_row+1 < EIA608_SCREEN_ROWS )
      pos:
        line_end: 737
        line_start: 737
        source_file: /src/vlc/modules/codec/cc.c
    constantsTouched: []
    func_position:
      end: 746
      start: 705
    functionDepth: 2
    functionLinenumber: 705
    functionLinenumberEnd: 746
    functionName: Eia608RollUp
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 0
    functionsReached:
    - Eia608GetWritingScreenIndex
    - Eia608ClearScreenRow
    - assert
    - memcpy
    linkageType: ''
    returnType: void
    signature: void Eia608RollUp( eia608_t *h )
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - h
    - d
    argTypes:
    - eia608_t*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 766
    functionName: Eia608ParseChannel
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Eia608ParseChannel( eia608_t *h, const uint8_t d[2] )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/cc.c:770,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cc.c:772,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cc.c:772,1
    - Dst: Eia608Cursor
      Src: /src/vlc/modules/codec/cc.c:775,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - h
    - d2
    argTypes:
    - eia608_t*
    - uint8_t
    assertStmts:
    - condition: ( d2 >= 0x20 && d2 <= 0x2f )
      pos:
        line_end: 769
        line_start: 769
        source_file: /src/vlc/modules/codec/cc.c
    constantsTouched: []
    func_position:
      end: 778
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 778
    functionName: Eia608ParseTextAttribute
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 0
    functionsReached:
    - Debug
    - printf
    - assert
    - Eia608Cursor
    linkageType: ''
    returnType: eia608_status_t
    signature: eia608_status_t Eia608ParseTextAttribute( eia608_t *h, uint8_t d2 )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/cc.c:781,1
    - Dst: Eia608Write
      Src: /src/vlc/modules/codec/cc.c:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - h
    - dx
    argTypes:
    - eia608_t*
    - uint8_t
    assertStmts:
    - condition: ( dx >= 0x20 )
      pos:
        line_end: 780
        line_start: 780
        source_file: /src/vlc/modules/codec/cc.c
    constantsTouched: []
    func_position:
      end: 784
      start: 779
    functionDepth: 3
    functionLinenumber: 779
    functionLinenumberEnd: 784
    functionName: Eia608ParseSingle
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 0
    functionsReached:
    - Eia608Write
    - assert
    linkageType: ''
    returnType: eia608_status_t
    signature: eia608_status_t Eia608ParseSingle( eia608_t *h, const uint8_t dx )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/cc.c:787,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cc.c:788,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cc.c:788,1
    - Dst: Eia608Write
      Src: /src/vlc/modules/codec/cc.c:789,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - h
    - d2
    argTypes:
    - eia608_t*
    - uint8_t
    assertStmts:
    - condition: ( d2 >= 0x30 && d2 <= 0x3f )
      pos:
        line_end: 786
        line_start: 786
        source_file: /src/vlc/modules/codec/cc.c
    constantsTouched: []
    func_position:
      end: 791
      start: 785
    functionDepth: 3
    functionLinenumber: 785
    functionLinenumberEnd: 791
    functionName: Eia608ParseDouble
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 0
    functionsReached:
    - Debug
    - printf
    - assert
    - Eia608Write
    linkageType: ''
    returnType: eia608_status_t
    signature: eia608_status_t Eia608ParseDouble( eia608_t *h, uint8_t d2 )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/cc.c:794,1
    - Dst: assert
      Src: /src/vlc/modules/codec/cc.c:795,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cc.c:801,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cc.c:801,1
    - Dst: Eia608Cursor
      Src: /src/vlc/modules/codec/cc.c:804,1
    - Dst: Eia608Write
      Src: /src/vlc/modules/codec/cc.c:805,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - h
    - d1
    - d2
    argTypes:
    - eia608_t*
    - uint8_t
    - uint8_t
    assertStmts:
    - condition: ( d2 >= 0x20 && d2 <= 0x3f )
      pos:
        line_end: 793
        line_start: 793
        source_file: /src/vlc/modules/codec/cc.c
    - condition: ( d1 == 0x12 || d1 == 0x13 )
      pos:
        line_end: 794
        line_start: 794
        source_file: /src/vlc/modules/codec/cc.c
    constantsTouched: []
    func_position:
      end: 807
      start: 792
    functionDepth: 3
    functionLinenumber: 792
    functionLinenumberEnd: 807
    functionName: Eia608ParseExtended
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 0
    functionsReached:
    - Eia608Write
    - assert
    - printf
    - Eia608Cursor
    - Debug
    linkageType: ''
    returnType: eia608_status_t
    signature: eia608_status_t Eia608ParseExtended( eia608_t *h, uint8_t d1, uint8_t
      d2 )
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: Debug
      Src: /src/vlc/modules/codec/cc.c:816,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cc.c:816,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cc.c:820,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cc.c:820,1
    - Dst: Eia608Erase
      Src: /src/vlc/modules/codec/cc.c:821,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cc.c:826,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cc.c:826,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cc.c:829,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cc.c:829,1
    - Dst: Eia608EraseToEndOfRow
      Src: /src/vlc/modules/codec/cc.c:830,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cc.c:835,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cc.c:835,1
    - Dst: Eia608EraseScreen
      Src: /src/vlc/modules/codec/cc.c:838,1
    - Dst: Eia608EraseScreen
      Src: /src/vlc/modules/codec/cc.c:839,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cc.c:858,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cc.c:858,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cc.c:862,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cc.c:862,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cc.c:866,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cc.c:866,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cc.c:871,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cc.c:871,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cc.c:876,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cc.c:876,1
    - Dst: Eia608EraseScreen
      Src: /src/vlc/modules/codec/cc.c:877,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cc.c:881,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cc.c:881,1
    - Dst: Eia608RollUp
      Src: /src/vlc/modules/codec/cc.c:882,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cc.c:886,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cc.c:886,1
    - Dst: Eia608EraseScreen
      Src: /src/vlc/modules/codec/cc.c:887,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cc.c:890,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cc.c:890,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 80
    argCount: 2
    argNames:
    - h
    - d2
    argTypes:
    - eia608_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 808
    functionDepth: 4
    functionLinenumber: 808
    functionLinenumberEnd: 902
    functionName: Eia608ParseCommand0x14
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 0
    functionsReached:
    - Eia608EraseScreen
    - Eia608RollUp
    - Eia608Erase
    - printf
    - Debug
    - Eia608EraseToEndOfRow
    linkageType: ''
    returnType: eia608_status_t
    signature: eia608_status_t Eia608ParseCommand0x14( eia608_t *h, uint8_t d2 )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Debug
      Src: /src/vlc/modules/codec/cc.c:910,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cc.c:910,1
    - Dst: Eia608Cursor
      Src: /src/vlc/modules/codec/cc.c:911,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - h
    - d2
    argTypes:
    - eia608_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 903
    functionDepth: 1
    functionLinenumber: 903
    functionLinenumberEnd: 915
    functionName: Eia608ParseCommand0x17
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 0
    functionsReached:
    - Debug
    - Eia608Cursor
    - printf
    linkageType: ''
    returnType: bool
    signature: bool Eia608ParseCommand0x17( eia608_t *h, uint8_t d2 )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Debug
      Src: /src/vlc/modules/codec/cc.c:923,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cc.c:923,1
    - Dst: assert
      Src: /src/vlc/modules/codec/cc.c:924,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - h
    - d1
    - d2
    argTypes:
    - eia608_t*
    - uint8_t
    - uint8_t
    assertStmts:
    - condition: ( d2 >= 0x40 && d2 <= 0x7f )
      pos:
        line_end: 923
        line_start: 923
        source_file: /src/vlc/modules/codec/cc.c
    constantsTouched: []
    func_position:
      end: 943
      start: 916
    functionDepth: 1
    functionLinenumber: 916
    functionLinenumberEnd: 943
    functionName: Eia608ParsePac
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 0
    functionsReached:
    - Debug
    - printf
    - assert
    linkageType: ''
    returnType: bool
    signature: bool Eia608ParsePac( eia608_t *h, uint8_t d1, uint8_t d2 )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: 'ON'
      Src: /src/vlc/modules/codec/cc.c:956,1
    - Dst: Eia608ParseTextAttribute
      Src: /src/vlc/modules/codec/cc.c:956,1
    - Dst: 'ON'
      Src: /src/vlc/modules/codec/cc.c:957,1
    - Dst: Eia608ParseDouble
      Src: /src/vlc/modules/codec/cc.c:957,1
    - Dst: 'ON'
      Src: /src/vlc/modules/codec/cc.c:960,1
    - Dst: Eia608ParseExtended
      Src: /src/vlc/modules/codec/cc.c:960,1
    - Dst: 'ON'
      Src: /src/vlc/modules/codec/cc.c:963,1
    - Dst: Eia608ParseCommand0x14
      Src: /src/vlc/modules/codec/cc.c:963,1
    - Dst: 'ON'
      Src: /src/vlc/modules/codec/cc.c:966,1
    - Dst: Eia608ParseCommand0x17
      Src: /src/vlc/modules/codec/cc.c:966,1
    - Dst: 'ON'
      Src: /src/vlc/modules/codec/cc.c:967,1
    - Dst: Eia608ParseTextAttribute
      Src: /src/vlc/modules/codec/cc.c:967,1
    - Dst: 'ON'
      Src: /src/vlc/modules/codec/cc.c:971,1
    - Dst: Eia608ParsePac
      Src: /src/vlc/modules/codec/cc.c:971,1
    - Dst: 'ON'
      Src: /src/vlc/modules/codec/cc.c:973,1
    - Dst: Eia608ParsePac
      Src: /src/vlc/modules/codec/cc.c:973,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cc.c:977,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cc.c:977,1
    - Dst: Eia608ParseSingle
      Src: /src/vlc/modules/codec/cc.c:978,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cc.c:981,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cc.c:981,1
    - Dst: Eia608ParseSingle
      Src: /src/vlc/modules/codec/cc.c:982,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cc.c:984,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cc.c:984,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 3
    argNames:
    - h
    - d1
    - d2
    argTypes:
    - eia608_t*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 945
    functionDepth: 5
    functionLinenumber: 945
    functionLinenumberEnd: 992
    functionName: Eia608ParseData
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 0
    functionsReached:
    - Eia608ParseSingle
    - Eia608ParsePac
    - Eia608ParseDouble
    - Eia608ParseTextAttribute
    - printf
    - 'ON'
    - Eia608ParseCommand0x14
    - Eia608ParseExtended
    - Eia608ParseCommand0x17
    - Debug
    linkageType: ''
    returnType: eia608_status_t
    signature: eia608_status_t Eia608ParseData( eia608_t *h, uint8_t d1, uint8_t d2
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - d2min
    - ','
    - d2max
    - ','
    - cmd
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 953
    functionName: 'ON'
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 61
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ON( d2min, d2max, cmd )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1004,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1005,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1006,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1007,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1008,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1009,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1010,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1011,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1012,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1015,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1016,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1017,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1018,1
    - Dst: E3
      Src: /src/vlc/modules/codec/cc.c:1019,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1020,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1021,1
    - Dst: E3
      Src: /src/vlc/modules/codec/cc.c:1022,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1023,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1024,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1025,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1026,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1027,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1028,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1029,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1030,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1033,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1034,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1035,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1036,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1037,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1038,1
    - Dst: E1
      Src: /src/vlc/modules/codec/cc.c:1039,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1040,1
    - Dst: E1
      Src: /src/vlc/modules/codec/cc.c:1041,1
    - Dst: E1
      Src: /src/vlc/modules/codec/cc.c:1042,1
    - Dst: E1
      Src: /src/vlc/modules/codec/cc.c:1043,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1044,1
    - Dst: E3
      Src: /src/vlc/modules/codec/cc.c:1045,1
    - Dst: E1
      Src: /src/vlc/modules/codec/cc.c:1046,1
    - Dst: E3
      Src: /src/vlc/modules/codec/cc.c:1047,1
    - Dst: E3
      Src: /src/vlc/modules/codec/cc.c:1048,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1049,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1050,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1051,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1052,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1053,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1054,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1055,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1056,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1057,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1058,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1059,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1060,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1061,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1062,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1063,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1064,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1067,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1068,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1069,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1070,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1071,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1072,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1073,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1074,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1075,1
    - Dst: E1
      Src: /src/vlc/modules/codec/cc.c:1076,1
    - Dst: E1
      Src: /src/vlc/modules/codec/cc.c:1077,1
    - Dst: E1
      Src: /src/vlc/modules/codec/cc.c:1078,1
    - Dst: E1
      Src: /src/vlc/modules/codec/cc.c:1079,1
    - Dst: E1
      Src: /src/vlc/modules/codec/cc.c:1080,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1081,1
    - Dst: E1
      Src: /src/vlc/modules/codec/cc.c:1082,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1083,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1084,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1085,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1086,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1087,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1088,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1089,1
    - Dst: E1
      Src: /src/vlc/modules/codec/cc.c:1090,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1091,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1092,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1093,1
    - Dst: E2
      Src: /src/vlc/modules/codec/cc.c:1094,1
    - Dst: E3
      Src: /src/vlc/modules/codec/cc.c:1095,1
    - Dst: E3
      Src: /src/vlc/modules/codec/cc.c:1096,1
    - Dst: E3
      Src: /src/vlc/modules/codec/cc.c:1097,1
    - Dst: E3
      Src: /src/vlc/modules/codec/cc.c:1098,1
    - Dst: E1
      Src: /src/vlc/modules/codec/cc.c:1100,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/cc.c:1106,1
    - Dst: strcpy
      Src: /src/vlc/modules/codec/cc.c:1108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - psz_utf8
    - c
    argTypes:
    - char*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 994
    functionDepth: 1
    functionLinenumber: 994
    functionLinenumberEnd: 1114
    functionName: Eia608TextUtf8
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - E3
    - strcpy
    - E2
    - E1
    linkageType: ''
    returnType: void
    signature: void Eia608TextUtf8( char *psz_utf8, uint8_t c )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 997
    functionName: E1
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: E1(c,u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - u1
    - ','
    - u2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 998
    functionName: E2
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: E2(c,u1,u2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - u1
    - ','
    - u2
    - ','
    - u3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 999
    functionName: E3
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: E3(c,u1,u2,u3)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncat
      Src: /src/vlc/modules/codec/cc.c:1119,1
    - Dst: strnlen
      Src: /src/vlc/modules/codec/cc.c:1119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - d
    - s
    - i_max
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1116
    functionDepth: 1
    functionLinenumber: 1116
    functionLinenumberEnd: 1122
    functionName: Eia608Strlcat
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 0
    functionsReached:
    - strncat
    - strnlen
    linkageType: ''
    returnType: void
    signature: void Eia608Strlcat( char *d, const char *s, int i_max )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1125
    functionName: CAT
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAT(t)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Eia608TextUtf8
      Src: /src/vlc/modules/codec/cc.c:1147,1
    - Dst: CAT
      Src: /src/vlc/modules/codec/cc.c:1148,1
    - Dst: text_segment_New
      Src: /src/vlc/modules/codec/cc.c:1161,1
    - Dst: text_style_Create
      Src: /src/vlc/modules/codec/cc.c:1165,1
    - Dst: text_segment_Delete
      Src: /src/vlc/modules/codec/cc.c:1168,1
    - Dst: EnsureUTF8
      Src: /src/vlc/modules/codec/cc.c:1181,1
    - Dst: strdup
      Src: /src/vlc/modules/codec/cc.c:1182,1
    - Dst: text_segment_New
      Src: /src/vlc/modules/codec/cc.c:1184,1
    - Dst: text_style_Create
      Src: /src/vlc/modules/codec/cc.c:1189,1
    - Dst: text_segment_Delete
      Src: /src/vlc/modules/codec/cc.c:1192,1
    - Dst: Eia608TextUtf8
      Src: /src/vlc/modules/codec/cc.c:1216,1
    - Dst: CAT
      Src: /src/vlc/modules/codec/cc.c:1217,1
    - Dst: assert
      Src: /src/vlc/modules/codec/cc.c:1228,1
    - Dst: EnsureUTF8
      Src: /src/vlc/modules/codec/cc.c:1229,1
    - Dst: strdup
      Src: /src/vlc/modules/codec/cc.c:1230,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 2
    argNames:
    - screen
    - i_row
    argTypes:
    - struct eia608_screen*
    - int
    assertStmts:
    - condition: (!p_segment->psz_text)
      pos:
        line_end: 1227
        line_start: 1227
        source_file: /src/vlc/modules/codec/cc.c
    constantsTouched: []
    func_position:
      end: 1234
      start: 1126
    functionDepth: 2
    functionLinenumber: 1126
    functionLinenumberEnd: 1234
    functionName: Eia608TextLine
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 0
    functionsReached:
    - assert
    - strdup
    - text_segment_Delete
    - text_style_Create
    - text_segment_New
    - CAT
    - EnsureUTF8
    - Eia608TextUtf8
    linkageType: ''
    returnType: text_segment_t
    signature: text_segment_t * Eia608TextLine( struct eia608_screen *screen, int
      i_row )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Eia608TextLine
      Src: /src/vlc/modules/codec/cc.c:1248,1
    - Dst: SubpictureUpdaterSysRegionNew
      Src: /src/vlc/modules/codec/cc.c:1254,1
    - Dst: text_segment_ChainDelete
      Src: /src/vlc/modules/codec/cc.c:1257,1
    - Dst: SubpictureUpdaterSysRegionAdd
      Src: /src/vlc/modules/codec/cc.c:1264,1
    - Dst: text_segment_New
      Src: /src/vlc/modules/codec/cc.c:1278,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - p_updater
    - h
    argTypes:
    - subtext_updater_sys_t*
    - eia608_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1236
    functionDepth: 3
    functionLinenumber: 1236
    functionLinenumberEnd: 1291
    functionName: Eia608FillUpdaterRegions
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 1
    functionsReached:
    - Eia608TextLine
    - text_segment_New
    - SubpictureUpdaterSysRegionAdd
    - text_segment_ChainDelete
    - SubpictureUpdaterSysRegionNew
    linkageType: ''
    returnType: void
    signature: void Eia608FillUpdaterRegions( subtext_updater_sys_t *p_updater, eia608_t
      *h )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/codec/cc.c:1296,1
    - Dst: Eia608ClearScreen
      Src: /src/vlc/modules/codec/cc.c:1302,1
    - Dst: Eia608ClearScreen
      Src: /src/vlc/modules/codec/cc.c:1303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - h
    argTypes:
    - eia608_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1294
    functionDepth: 3
    functionLinenumber: 1294
    functionLinenumberEnd: 1315
    functionName: Eia608Init
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 3
    functionsReached:
    - Eia608ClearScreen
    - memset
    linkageType: ''
    returnType: void
    signature: void Eia608Init( eia608_t *h )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Eia608ParseChannel
      Src: /src/vlc/modules/codec/cc.c:1325,1
    - Dst: Eia608ParseData
      Src: /src/vlc/modules/codec/cc.c:1334,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - h
    - i_channel_selected
    - data
    argTypes:
    - eia608_t*
    - int
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1316
    functionDepth: 6
    functionLinenumber: 1316
    functionLinenumberEnd: 1344
    functionName: Eia608Parse
    functionSourceFile: /src/vlc/modules/codec/cc.c
    functionUses: 1
    functionsReached:
    - Eia608ParseChannel
    - Eia608ParseData
    linkageType: ''
    returnType: eia608_status_t
    signature: eia608_status_t Eia608Parse( eia608_t *h, int i_channel_selected, const
      uint8_t data[2] )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: PROFILE_START
    functionSourceFile: /src/vlc/modules/codec/kate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROFILE_START(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: PROFILE_STOP
    functionSourceFile: /src/vlc/modules/codec/kate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROFILE_STOP(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: PROFILE_START
    functionSourceFile: /src/vlc/modules/codec/kate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROFILE_START(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: PROFILE_STOP
    functionSourceFile: /src/vlc/modules/codec/kate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROFILE_STOP(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - statement
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: CHECK_TIGER_RET
    functionSourceFile: /src/vlc/modules/codec/kate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_TIGER_RET( statement )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/kate.c:329,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/kate.c:332,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/codec/kate.c:341,1
    - Dst: DecSysHold
      Src: /src/vlc/modules/codec/kate.c:343,1
    - Dst: kate_comment_init
      Src: /src/vlc/modules/codec/kate.c:353,1
    - Dst: kate_info_init
      Src: /src/vlc/modules/codec/kate.c:354,1
    - Dst: var_CreateGetBool
      Src: /src/vlc/modules/codec/kate.c:359,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/kate.c:361,1
    - Dst: var_CreateGetBool
      Src: /src/vlc/modules/codec/kate.c:365,1
    - Dst: GetTigerColor
      Src: /src/vlc/modules/codec/kate.c:370,1
    - Dst: GetTigerColor
      Src: /src/vlc/modules/codec/kate.c:371,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/codec/kate.c:373,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/kate.c:374,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/codec/kate.c:378,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/codec/kate.c:379,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/codec/kate.c:380,1
    - Dst: tiger_renderer_create
      Src: /src/vlc/modules/codec/kate.c:384,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/kate.c:387,1
    - Dst: CHECK_TIGER_RET
      Src: /src/vlc/modules/codec/kate.c:392,1
    - Dst: tiger_renderer_set_surface_clear_color
      Src: /src/vlc/modules/codec/kate.c:392,1
    - Dst: UpdateTigerFontEffect
      Src: /src/vlc/modules/codec/kate.c:394,1
    - Dst: UpdateTigerFontColor
      Src: /src/vlc/modules/codec/kate.c:395,1
    - Dst: UpdateTigerBackgroundColor
      Src: /src/vlc/modules/codec/kate.c:396,1
    - Dst: UpdateTigerQuality
      Src: /src/vlc/modules/codec/kate.c:397,1
    - Dst: UpdateTigerFontDesc
      Src: /src/vlc/modules/codec/kate.c:398,1
    - Dst: realloc
      Src: /src/vlc/modules/codec/kate.c:414,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/kate.c:421,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 56
    argCount: 2
    argNames:
    - p_this
    - b_packetizer
    argTypes:
    - vlc_object_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 424
    functionName: OpenCommon
    functionSourceFile: /src/vlc/modules/codec/kate.c
    functionUses: 25
    functionsReached:
    - UpdateTigerFontEffect
    - realloc
    - GetTigerColor
    - CHECK_TIGER_RET
    - ARRAY_SIZE
    - vlc_mutex_lock
    - DecSysHold
    - UpdateTigerFontDesc
    - msg_Dbg
    - msg_Warn
    - UpdateTigerFontColor
    - var_InheritInteger
    - tiger_renderer_set_surface_clear_color
    - UpdateTigerBackgroundColor
    - var_InheritFloat
    - UpdateTigerQuality
    - var_InheritString
    - vlc_mutex_unlock
    - var_CreateGetBool
    - vlc_mutex_init
    - tiger_renderer_create
    - kate_info_init
    - malloc
    - kate_comment_init
    linkageType: ''
    returnType: int
    signature: int OpenCommon( vlc_object_t *p_this, bool b_packetizer )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenCommon
      Src: /src/vlc/modules/codec/kate.c:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 429
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/modules/codec/kate.c
    functionUses: 0
    functionsReached:
    - OpenCommon
    linkageType: ''
    returnType: int
    signature: int OpenDecoder( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenCommon
      Src: /src/vlc/modules/codec/kate.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 435
    functionName: OpenPacketizer
    functionSourceFile: /src/vlc/modules/codec/kate.c
    functionUses: 1
    functionsReached:
    - OpenCommon
    linkageType: ''
    returnType: int
    signature: int OpenPacketizer( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/kate.c:447,1
    - Dst: tiger_renderer_seek
      Src: /src/vlc/modules/codec/kate.c:448,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/kate.c:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 452
    functionName: Flush
    functionSourceFile: /src/vlc/modules/codec/kate.c
    functionUses: 82
    functionsReached:
    - tiger_renderer_seek
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void Flush( decoder_t *p_dec )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/kate.c:470,1
    - Dst: tiger_renderer_seek
      Src: /src/vlc/modules/codec/kate.c:471,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/kate.c:472,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/kate.c:478,1
    - Dst: kate_packet_wrap
      Src: /src/vlc/modules/codec/kate.c:484,1
    - Dst: ProcessHeaders
      Src: /src/vlc/modules/codec/kate.c:488,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/kate.c:490,1
    - Dst: ProcessPacket
      Src: /src/vlc/modules/codec/kate.c:496,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 497
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/codec/kate.c
    functionUses: 7
    functionsReached:
    - ProcessPacket
    - block_Release
    - ProcessHeaders
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - kate_packet_wrap
    - tiger_renderer_seek
    linkageType: ''
    returnType: void
    signature: void *DecodeBlock( decoder_t *p_dec, block_t *p_block )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DecodeBlock
      Src: /src/vlc/modules/codec/kate.c:504,1
    - Dst: decoder_QueueSub
      Src: /src/vlc/modules/codec/kate.c:506,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 508
    functionName: DecodeSub
    functionSourceFile: /src/vlc/modules/codec/kate.c
    functionUses: 0
    functionsReached:
    - DecodeBlock
    - decoder_QueueSub
    linkageType: ''
    returnType: int
    signature: int DecodeSub( decoder_t *p_dec, block_t *p_block )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DecodeBlock
      Src: /src/vlc/modules/codec/kate.c:517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 518
    functionName: Packetize
    functionSourceFile: /src/vlc/modules/codec/kate.c
    functionUses: 9
    functionsReached:
    - DecodeBlock
    linkageType: ''
    returnType: block_t
    signature: block_t *Packetize( decoder_t *p_dec, block_t **pp_block )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: xiph_SplitHeaders
      Src: /src/vlc/modules/codec/kate.c:531,1
    - Dst: kate_decode_headerin
      Src: /src/vlc/modules/codec/kate.c:541,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/kate.c:544,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/kate.c:548,1
    - Dst: kate_decode_headerin
      Src: /src/vlc/modules/codec/kate.c:558,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/kate.c:561,1
    - Dst: ParseKateComments
      Src: /src/vlc/modules/codec/kate.c:568,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/kate.c:577,1
    - Dst: kate_decode_init
      Src: /src/vlc/modules/codec/kate.c:578,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/kate.c:581,1
    - Dst: realloc
      Src: /src/vlc/modules/codec/kate.c:589,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/kate.c:591,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/kate.c:597,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 603
    functionName: ProcessHeaders
    functionSourceFile: /src/vlc/modules/codec/kate.c
    functionUses: 3
    functionsReached:
    - xiph_SplitHeaders
    - kate_decode_init
    - realloc
    - memcpy
    - msg_Err
    - ParseKateComments
    - msg_Dbg
    - kate_decode_headerin
    - unlikely
    linkageType: ''
    returnType: int
    signature: int ProcessHeaders( decoder_t *p_dec )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DecodePacket
      Src: /src/vlc/modules/codec/kate.c:634,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/kate.c:636,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - p_dec
    - p_kp
    - p_block
    argTypes:
    - decoder_t*
    - kate_packet*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 639
    functionName: ProcessPacket
    functionSourceFile: /src/vlc/modules/codec/kate.c
    functionUses: 3
    functionsReached:
    - block_Release
    - DecodePacket
    linkageType: ''
    returnType: void
    signature: "void *ProcessPacket( decoder_t *p_dec, kate_packet *p_kp,\n                            block_t
      *p_block )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - y
    - u
    - v
    - r
    - g
    - b
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 648
    functionName: rgb_to_yuv
    functionSourceFile: /src/vlc/modules/codec/kate.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void rgb_to_yuv( uint8_t *y, uint8_t *u, uint8_t *v,\n                               int
      r, int g, int b )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/kate.c:669,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/kate.c:675,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - p_dec
    - w
    - h
    argTypes:
    - decoder_t*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 677
    functionName: GetVideoSize
    functionSourceFile: /src/vlc/modules/codec/kate.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void GetVideoSize( decoder_t *p_dec, int *w, int *h )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/codec/kate.c:687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pic
    - bitmap
    argTypes:
    - picture_t*
    - kate_bitmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 689
    functionName: CreateKateBitmap
    functionSourceFile: /src/vlc/modules/codec/kate.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void CreateKateBitmap( picture_t *pic, const kate_bitmap *bitmap )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rgb_to_yuv
      Src: /src/vlc/modules/codec/kate.c:698,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - fmt_palette
    - palette
    argTypes:
    - video_palette_t*
    - kate_palette*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 704
    functionName: CreateKatePalette
    functionSourceFile: /src/vlc/modules/codec/kate.c
    functionUses: 0
    functionsReached:
    - rgb_to_yuv
    linkageType: ''
    returnType: void
    signature: void CreateKatePalette( video_palette_t *fmt_palette, const kate_palette
      *palette )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/kate.c:712,1
    - Dst: text_segment_New
      Src: /src/vlc/modules/codec/kate.c:724,1
    - Dst: strdup
      Src: /src/vlc/modules/codec/kate.c:729,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/kate.c:730,1
    - Dst: kate_text_remove_markup
      Src: /src/vlc/modules/codec/kate.c:731,1
    - Dst: text_segment_New
      Src: /src/vlc/modules/codec/kate.c:732,1
    - Dst: free
      Src: /src/vlc/modules/codec/kate.c:733,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - p_dec
    - p_region
    - ev
    argTypes:
    - decoder_t*
    - subpicture_region_t*
    - kate_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 737
    functionName: SetupText
    functionSourceFile: /src/vlc/modules/codec/kate.c
    functionUses: 0
    functionsReached:
    - strdup
    - strlen
    - text_segment_New
    - free
    - msg_Warn
    - kate_text_remove_markup
    linkageType: ''
    returnType: void
    signature: void SetupText( decoder_t *p_dec, subpicture_region_t *p_region, const
      kate_event *ev )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DecSysRelease
      Src: /src/vlc/modules/codec/kate.c:744,1
    - Dst: free
      Src: /src/vlc/modules/codec/kate.c:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_subpic
    argTypes:
    - subpicture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 746
    functionName: TigerDestroySubpicture
    functionSourceFile: /src/vlc/modules/codec/kate.c
    functionUses: 0
    functionsReached:
    - free
    - DecSysRelease
    linkageType: ''
    returnType: void
    signature: void TigerDestroySubpicture( subpicture_t *p_subpic )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROFILE_START
      Src: /src/vlc/modules/codec/kate.c:758,1
    - Dst: clip_uint8_vlc
      Src: /src/vlc/modules/codec/kate.c:776,1
    - Dst: clip_uint8_vlc
      Src: /src/vlc/modules/codec/kate.c:778,1
    - Dst: clip_uint8_vlc
      Src: /src/vlc/modules/codec/kate.c:779,1
    - Dst: clip_uint8_vlc
      Src: /src/vlc/modules/codec/kate.c:781,1
    - Dst: clip_uint8_vlc
      Src: /src/vlc/modules/codec/kate.c:782,1
    - Dst: clip_uint8_vlc
      Src: /src/vlc/modules/codec/kate.c:783,1
    - Dst: PROFILE_STOP
      Src: /src/vlc/modules/codec/kate.c:795,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - p_plane
    - i_width
    argTypes:
    - plane_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 796
    functionName: PostprocessTigerImage
    functionSourceFile: /src/vlc/modules/codec/kate.c
    functionUses: 0
    functionsReached:
    - clip_uint8_vlc
    - PROFILE_START
    - PROFILE_STOP
    linkageType: ''
    returnType: void
    signature: void PostprocessTigerImage( plane_t *p_plane, unsigned int i_width
      )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: secf_from_vlc_tick
      Src: /src/vlc/modules/codec/kate.c:811,1
    - Dst: video_format_IsSimilar
      Src: /src/vlc/modules/codec/kate.c:814,1
    - Dst: video_format_IsSimilar
      Src: /src/vlc/modules/codec/kate.c:815,1
    - Dst: PROFILE_START
      Src: /src/vlc/modules/codec/kate.c:820,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/kate.c:823,1
    - Dst: tiger_renderer_is_dirty
      Src: /src/vlc/modules/codec/kate.c:824,1
    - Dst: tiger_renderer_update
      Src: /src/vlc/modules/codec/kate.c:829,1
    - Dst: tiger_renderer_is_dirty
      Src: /src/vlc/modules/codec/kate.c:830,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/kate.c:836,1
    - Dst: PROFILE_STOP
      Src: /src/vlc/modules/codec/kate.c:837,1
    - Dst: vlc_spu_regions_Clear
      Src: /src/vlc/modules/codec/kate.c:843,1
    - Dst: PROFILE_START
      Src: /src/vlc/modules/codec/kate.c:845,1
    - Dst: subpicture_region_New
      Src: /src/vlc/modules/codec/kate.c:860,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/kate.c:868,1
    - Dst: tiger_renderer_set_buffer
      Src: /src/vlc/modules/codec/kate.c:872,1
    - Dst: PROFILE_START
      Src: /src/vlc/modules/codec/kate.c:878,1
    - Dst: tiger_renderer_update
      Src: /src/vlc/modules/codec/kate.c:879,1
    - Dst: PROFILE_STOP
      Src: /src/vlc/modules/codec/kate.c:884,1
    - Dst: PROFILE_START
      Src: /src/vlc/modules/codec/kate.c:886,1
    - Dst: tiger_renderer_render
      Src: /src/vlc/modules/codec/kate.c:887,1
    - Dst: PROFILE_STOP
      Src: /src/vlc/modules/codec/kate.c:892,1
    - Dst: PostprocessTigerImage
      Src: /src/vlc/modules/codec/kate.c:894,1
    - Dst: vlc_spu_regions_push
      Src: /src/vlc/modules/codec/kate.c:895,1
    - Dst: PROFILE_STOP
      Src: /src/vlc/modules/codec/kate.c:898,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/kate.c:900,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/kate.c:905,1
    - Dst: subpicture_region_Delete
      Src: /src/vlc/modules/codec/kate.c:906,1
    - Dst: vlc_spu_regions_Clear
      Src: /src/vlc/modules/codec/kate.c:907,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 70
    argCount: 2
    argNames:
    - p_subpic
    - cfg
    argTypes:
    - subpicture_t*
    - struct vlc_spu_updater_configuration*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 802
    functionDepth: 2
    functionLinenumber: 802
    functionLinenumberEnd: 908
    functionName: TigerUpdateSubpicture
    functionSourceFile: /src/vlc/modules/codec/kate.c
    functionUses: 0
    functionsReached:
    - tiger_renderer_update
    - PROFILE_STOP
    - vlc_spu_regions_Clear
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - tiger_renderer_render
    - vlc_spu_regions_push
    - tiger_renderer_set_buffer
    - secf_from_vlc_tick
    - tiger_renderer_is_dirty
    - PostprocessTigerImage
    - PROFILE_START
    - video_format_IsSimilar
    - subpicture_region_Delete
    - subpicture_region_New
    linkageType: ''
    returnType: void
    signature: "void TigerUpdateSubpicture( subpicture_t *p_subpic,\n                                   const
      struct vlc_spu_updater_configuration *cfg )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/vlc/modules/codec/kate.c:915,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/codec/kate.c:917,1
    - Dst: free
      Src: /src/vlc/modules/codec/kate.c:918,1
    - Dst: asprintf
      Src: /src/vlc/modules/codec/kate.c:922,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/codec/kate.c:924,1
    - Dst: free
      Src: /src/vlc/modules/codec/kate.c:925,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - p_dec
    - psz_prefix
    argTypes:
    - decoder_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 910
    functionDepth: 2
    functionLinenumber: 910
    functionLinenumberEnd: 930
    functionName: GetTigerColor
    functionSourceFile: /src/vlc/modules/codec/kate.c
    functionUses: 1
    functionsReached:
    - free
    - var_InheritInteger
    - asprintf
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t GetTigerColor( decoder_t *p_dec, const char *psz_prefix )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_TIGER_RET
      Src: /src/vlc/modules/codec/kate.c:935,1
    - Dst: tiger_renderer_set_quality
      Src: /src/vlc/modules/codec/kate.c:935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 932
    functionDepth: 1
    functionLinenumber: 932
    functionLinenumberEnd: 937
    functionName: UpdateTigerQuality
    functionSourceFile: /src/vlc/modules/codec/kate.c
    functionUses: 1
    functionsReached:
    - CHECK_TIGER_RET
    - tiger_renderer_set_quality
    linkageType: ''
    returnType: void
    signature: void UpdateTigerQuality( decoder_t *p_dec )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_TIGER_RET
      Src: /src/vlc/modules/codec/kate.c:942,1
    - Dst: tiger_renderer_set_default_font_description
      Src: /src/vlc/modules/codec/kate.c:942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 939
    functionDepth: 1
    functionLinenumber: 939
    functionLinenumberEnd: 944
    functionName: UpdateTigerFontDesc
    functionSourceFile: /src/vlc/modules/codec/kate.c
    functionUses: 1
    functionsReached:
    - CHECK_TIGER_RET
    - tiger_renderer_set_default_font_description
    linkageType: ''
    returnType: void
    signature: void UpdateTigerFontDesc( decoder_t *p_dec )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_TIGER_RET
      Src: /src/vlc/modules/codec/kate.c:953,1
    - Dst: tiger_renderer_set_default_font_color
      Src: /src/vlc/modules/codec/kate.c:953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 955
    functionName: UpdateTigerFontColor
    functionSourceFile: /src/vlc/modules/codec/kate.c
    functionUses: 1
    functionsReached:
    - CHECK_TIGER_RET
    - tiger_renderer_set_default_font_color
    linkageType: ''
    returnType: void
    signature: void UpdateTigerFontColor( decoder_t *p_dec )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_TIGER_RET
      Src: /src/vlc/modules/codec/kate.c:964,1
    - Dst: tiger_renderer_set_default_background_fill_color
      Src: /src/vlc/modules/codec/kate.c:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 957
    functionDepth: 1
    functionLinenumber: 957
    functionLinenumberEnd: 966
    functionName: UpdateTigerBackgroundColor
    functionSourceFile: /src/vlc/modules/codec/kate.c
    functionUses: 1
    functionsReached:
    - CHECK_TIGER_RET
    - tiger_renderer_set_default_background_fill_color
    linkageType: ''
    returnType: void
    signature: void UpdateTigerBackgroundColor( decoder_t *p_dec )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_TIGER_RET
      Src: /src/vlc/modules/codec/kate.c:971,1
    - Dst: tiger_renderer_set_default_font_effect
      Src: /src/vlc/modules/codec/kate.c:971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 968
    functionDepth: 1
    functionLinenumber: 968
    functionLinenumberEnd: 975
    functionName: UpdateTigerFontEffect
    functionSourceFile: /src/vlc/modules/codec/kate.c
    functionUses: 1
    functionsReached:
    - CHECK_TIGER_RET
    - tiger_renderer_set_default_font_effect
    linkageType: ''
    returnType: void
    signature: void UpdateTigerFontEffect( decoder_t *p_dec )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/kate.c:991,1
    - Dst: kate_decode_packetin
      Src: /src/vlc/modules/codec/kate.c:995,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/kate.c:998,1
    - Dst: kate_decode_eventout
      Src: /src/vlc/modules/codec/kate.c:1002,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/kate.c:1005,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/kate.c:1020,1
    - Dst: decoder_NewSubpicture
      Src: /src/vlc/modules/codec/kate.c:1039,1
    - Dst: free
      Src: /src/vlc/modules/codec/kate.c:1042,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/codec/kate.c:1049,1
    - Dst: DecSysHold
      Src: /src/vlc/modules/codec/kate.c:1057,1
    - Dst: __MAX
      Src: /src/vlc/modules/codec/kate.c:1059,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/kate.c:1063,1
    - Dst: CHECK_TIGER_RET
      Src: /src/vlc/modules/codec/kate.c:1064,1
    - Dst: tiger_renderer_add_event
      Src: /src/vlc/modules/codec/kate.c:1064,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/kate.c:1065,1
    - Dst: SetupSimpleKateSPU
      Src: /src/vlc/modules/codec/kate.c:1070,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - p_dec
    - p_kp
    - p_block
    argTypes:
    - decoder_t*
    - kate_packet*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 982
    functionDepth: 1
    functionLinenumber: 982
    functionLinenumberEnd: 1074
    functionName: DecodePacket
    functionSourceFile: /src/vlc/modules/codec/kate.c
    functionUses: 5
    functionsReached:
    - decoder_NewSubpicture
    - tiger_renderer_add_event
    - vlc_mutex_lock
    - DecSysHold
    - vlc_mutex_unlock
    - msg_Err
    - free
    - __MAX
    - vlc_tick_from_samples
    - CHECK_TIGER_RET
    - SetupSimpleKateSPU
    - kate_decode_eventout
    - malloc
    - kate_decode_packetin
    linkageType: ''
    returnType: subpicture_t
    signature: subpicture_t *DecodePacket( decoder_t *p_dec, kate_packet *p_kp, block_t
      *p_block )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: kate_tracker_init
      Src: /src/vlc/modules/codec/kate.c:1096,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/kate.c:1099,1
    - Dst: GetVideoSize
      Src: /src/vlc/modules/codec/kate.c:1104,1
    - Dst: kate_tracker_update
      Src: /src/vlc/modules/codec/kate.c:1105,1
    - Dst: kate_tracker_clear
      Src: /src/vlc/modules/codec/kate.c:1108,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/kate.c:1109,1
    - Dst: video_format_Init
      Src: /src/vlc/modules/codec/kate.c:1123,1
    - Dst: CreateKatePalette
      Src: /src/vlc/modules/codec/kate.c:1128,1
    - Dst: subpicture_region_New
      Src: /src/vlc/modules/codec/kate.c:1130,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/kate.c:1133,1
    - Dst: subpicture_Delete
      Src: /src/vlc/modules/codec/kate.c:1134,1
    - Dst: CreateKateBitmap
      Src: /src/vlc/modules/codec/kate.c:1139,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/kate.c:1141,1
    - Dst: subpicture_region_NewText
      Src: /src/vlc/modules/codec/kate.c:1145,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/kate.c:1146,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/kate.c:1148,1
    - Dst: subpicture_region_Delete
      Src: /src/vlc/modules/codec/kate.c:1150,1
    - Dst: subpicture_Delete
      Src: /src/vlc/modules/codec/kate.c:1151,1
    - Dst: SetupText
      Src: /src/vlc/modules/codec/kate.c:1157,1
    - Dst: kate_tracker_clear
      Src: /src/vlc/modules/codec/kate.c:1192,1
    - Dst: vlc_spu_regions_push
      Src: /src/vlc/modules/codec/kate.c:1200,1
    - Dst: vlc_spu_regions_push
      Src: /src/vlc/modules/codec/kate.c:1202,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 78
    argCount: 3
    argNames:
    - p_dec
    - p_spu
    - ev
    argTypes:
    - decoder_t*
    - subpicture_t*
    - kate_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1079
    functionDepth: 2
    functionLinenumber: 1079
    functionLinenumberEnd: 1205
    functionName: SetupSimpleKateSPU
    functionSourceFile: /src/vlc/modules/codec/kate.c
    functionUses: 1
    functionsReached:
    - kate_tracker_init
    - SetupText
    - video_format_Init
    - subpicture_region_New
    - CreateKateBitmap
    - vlc_spu_regions_push
    - msg_Err
    - subpicture_Delete
    - msg_Dbg
    - kate_tracker_update
    - subpicture_region_NewText
    - CreateKatePalette
    - unlikely
    - subpicture_region_Delete
    - GetVideoSize
    - kate_tracker_clear
    linkageType: ''
    returnType: subpicture_t
    signature: "subpicture_t *SetupSimpleKateSPU( decoder_t *p_dec, subpicture_t *p_spu,\n
      \                                        const kate_event *ev )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/codec/kate.c:1219,1
    - Dst: strchr
      Src: /src/vlc/modules/codec/kate.c:1223,1
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/codec/kate.c:1230,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/codec/kate.c:1232,1
    - Dst: free
      Src: /src/vlc/modules/codec/kate.c:1234,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1210
    functionDepth: 1
    functionLinenumber: 1210
    functionLinenumberEnd: 1237
    functionName: ParseKateComments
    functionSourceFile: /src/vlc/modules/codec/kate.c
    functionUses: 1
    functionsReached:
    - strchr
    - strdup
    - vlc_meta_New
    - free
    - vlc_meta_SetExtra
    linkageType: ''
    returnType: void
    signature: void ParseKateComments( decoder_t *p_dec )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/kate.c:1248,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/kate.c:1257,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/kate.c:1259,1
    - Dst: DecSysRelease
      Src: /src/vlc/modules/codec/kate.c:1260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1242
    functionDepth: 1
    functionLinenumber: 1242
    functionLinenumberEnd: 1261
    functionName: CloseDecoder
    functionSourceFile: /src/vlc/modules/codec/kate.c
    functionUses: 2
    functionsReached:
    - msg_Dbg
    - DecSysRelease
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void CloseDecoder( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/kate.c:1265,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/kate.c:1267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - decoder_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1263
    functionDepth: 1
    functionLinenumber: 1263
    functionLinenumberEnd: 1268
    functionName: DecSysHold
    functionSourceFile: /src/vlc/modules/codec/kate.c
    functionUses: 2
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void DecSysHold( decoder_sys_t *p_sys )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/kate.c:1272,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/kate.c:1276,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/kate.c:1280,1
    - Dst: tiger_renderer_destroy
      Src: /src/vlc/modules/codec/kate.c:1284,1
    - Dst: free
      Src: /src/vlc/modules/codec/kate.c:1285,1
    - Dst: kate_clear
      Src: /src/vlc/modules/codec/kate.c:1289,1
    - Dst: kate_info_clear
      Src: /src/vlc/modules/codec/kate.c:1290,1
    - Dst: kate_comment_clear
      Src: /src/vlc/modules/codec/kate.c:1291,1
    - Dst: free
      Src: /src/vlc/modules/codec/kate.c:1293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - decoder_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1270
    functionDepth: 1
    functionLinenumber: 1270
    functionLinenumberEnd: 1294
    functionName: DecSysRelease
    functionSourceFile: /src/vlc/modules/codec/kate.c
    functionUses: 2
    functionsReached:
    - tiger_renderer_destroy
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - kate_info_clear
    - kate_clear
    - free
    - kate_comment_clear
    linkageType: ''
    returnType: void
    signature: void DecSysRelease( decoder_sys_t *p_sys )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Open
      Src: /src/vlc/modules/codec/aes3.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/modules/codec/aes3.c
    functionUses: 0
    functionsReached:
    - Open
    linkageType: ''
    returnType: int
    signature: int OpenDecoder( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Open
      Src: /src/vlc/modules/codec/aes3.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: OpenPacketizer
    functionSourceFile: /src/vlc/modules/codec/aes3.c
    functionUses: 1
    functionsReached:
    - Open
    linkageType: ''
    returnType: int
    signature: int OpenPacketizer( vlc_object_t *p_this )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Parse
      Src: /src/vlc/modules/codec/aes3.c:132,1
    - Dst: decoder_UpdateAudioFormat
      Src: /src/vlc/modules/codec/aes3.c:136,1
    - Dst: decoder_NewAudioBuffer
      Src: /src/vlc/modules/codec/aes3.c:142,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/aes3.c:146,1
    - Dst: date_Increment
      Src: /src/vlc/modules/codec/aes3.c:147,1
    - Dst: assert
      Src: /src/vlc/modules/codec/aes3.c:193,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/aes3.c:209,1
    - Dst: decoder_QueueAudio
      Src: /src/vlc/modules/codec/aes3.c:211,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts:
    - condition: ( i_bits == 16 )
      pos:
        line_end: 192
        line_start: 192
        source_file: /src/vlc/modules/codec/aes3.c
    constantsTouched: []
    func_position:
      end: 213
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 213
    functionName: Decode
    functionSourceFile: /src/vlc/modules/codec/aes3.c
    functionUses: 16
    functionsReached:
    - decoder_QueueAudio
    - block_Release
    - assert
    - Parse
    - decoder_NewAudioBuffer
    - decoder_UpdateAudioFormat
    - date_Get
    - date_Increment
    linkageType: ''
    returnType: int
    signature: int Decode( decoder_t *p_dec, block_t *p_block )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: date_Set
      Src: /src/vlc/modules/codec/aes3.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: Flush
    functionSourceFile: /src/vlc/modules/codec/aes3.c
    functionUses: 82
    functionsReached:
    - date_Set
    linkageType: ''
    returnType: void
    signature: void Flush( decoder_t *p_dec )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Parse
      Src: /src/vlc/modules/codec/aes3.c:241,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/aes3.c:245,1
    - Dst: date_Increment
      Src: /src/vlc/modules/codec/aes3.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 250
    functionName: Packetize
    functionSourceFile: /src/vlc/modules/codec/aes3.c
    functionUses: 9
    functionsReached:
    - date_Get
    - date_Increment
    - Parse
    linkageType: ''
    returnType: block_t
    signature: block_t *Packetize( decoder_t *p_dec, block_t **pp_block )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/codec/aes3.c:263,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/codec/aes3.c:263,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/aes3.c:265,1
    - Dst: date_Init
      Src: /src/vlc/modules/codec/aes3.c:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - p_dec
    - b_packetizer
    argTypes:
    - decoder_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 291
    functionName: Open
    functionSourceFile: /src/vlc/modules/codec/aes3.c
    functionUses: 70
    functionsReached:
    - date_Init
    - unlikely
    - vlc_obj_malloc
    - VLC_OBJECT
    linkageType: ''
    returnType: int
    signature: int Open( decoder_t *p_dec, bool b_packetizer )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/vlc/modules/codec/aes3.c:320,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/aes3.c:323,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/aes3.c:330,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/aes3.c:332,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/aes3.c:335,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/aes3.c:338,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/aes3.c:344,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/aes3.c:345,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/codec/aes3.c:358,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/aes3.c:365,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/aes3.c:366,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 5
    argNames:
    - p_dec
    - pi_frame_length
    - pi_bits
    - p_block
    - b_packetizer
    argTypes:
    - decoder_t*
    - int*
    - int*
    - block_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 387
    functionName: Parse
    functionSourceFile: /src/vlc/modules/codec/aes3.c
    functionUses: 163
    functionsReached:
    - block_Release
    - date_Set
    - msg_Err
    - GetDWBE
    - date_Get
    - Flush
    linkageType: ''
    returnType: block_t
    signature: "block_t * Parse( decoder_t *p_dec, int *pi_frame_length, int *pi_bits,\n
      \                       block_t *p_block, bool b_packetizer )"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/textst.c:76,1
    - Dst: GetWBE
      Src: /src/vlc/modules/codec/textst.c:79,1
    - Dst: strndup
      Src: /src/vlc/modules/codec/textst.c:108,1
    - Dst: text_segment_New
      Src: /src/vlc/modules/codec/textst.c:109,1
    - Dst: free
      Src: /src/vlc/modules/codec/textst.c:110,1
    - Dst: text_style_Duplicate
      Src: /src/vlc/modules/codec/textst.c:112,1
    - Dst: text_style_Create
      Src: /src/vlc/modules/codec/textst.c:119,1
    - Dst: text_style_Create
      Src: /src/vlc/modules/codec/textst.c:139,1
    - Dst: text_segment_New
      Src: /src/vlc/modules/codec/textst.c:147,1
    - Dst: text_style_Delete
      Src: /src/vlc/modules/codec/textst.c:152,1
    - Dst: text_style_Delete
      Src: /src/vlc/modules/codec/textst.c:167,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 69
    argCount: 4
    argNames:
    - p_dec
    - p_data
    - i_data
    - p_region
    argTypes:
    - decoder_t*
    - uint8_t*
    - size_t
    - substext_updater_region_t*
    assertStmts:
    - condition: ( i_data >= 4 )
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/vlc/modules/codec/textst.c
    constantsTouched: []
    func_position:
      end: 170
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 170
    functionName: textst_FillRegion
    functionSourceFile: /src/vlc/modules/codec/textst.c
    functionUses: 0
    functionsReached:
    - strndup
    - GetWBE
    - assert
    - text_segment_New
    - text_style_Create
    - free
    - text_style_Duplicate
    - text_style_Delete
    linkageType: ''
    returnType: size_t
    signature: "size_t textst_FillRegion(decoder_t *p_dec, const uint8_t *p_data,
      size_t i_data,\n                                substext_updater_region_t *p_region)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetWBE
      Src: /src/vlc/modules/codec/textst.c:179,1
    - Dst: __MIN
      Src: /src/vlc/modules/codec/textst.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - p_dec
    - p_data
    - i_data
    argTypes:
    - decoder_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 194
    functionName: textst_Decode_palette
    functionSourceFile: /src/vlc/modules/codec/textst.c
    functionUses: 0
    functionsReached:
    - GetWBE
    - __MIN
    linkageType: ''
    returnType: size_t
    signature: size_t textst_Decode_palette(decoder_t *p_dec, const uint8_t *p_data,
      size_t i_data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: textst_Decode_palette
      Src: /src/vlc/modules/codec/textst.c:205,1
    - Dst: SubpictureUpdaterSysRegionNew
      Src: /src/vlc/modules/codec/textst.c:218,1
    - Dst: textst_FillRegion
      Src: /src/vlc/modules/codec/textst.c:222,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - p_dec
    - p_data
    - i_data
    - p_region
    argTypes:
    - decoder_t*
    - uint8_t*
    - size_t
    - substext_updater_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 228
    functionName: textst_FillRegions
    functionSourceFile: /src/vlc/modules/codec/textst.c
    functionUses: 0
    functionsReached:
    - textst_Decode_palette
    - textst_FillRegion
    - SubpictureUpdaterSysRegionNew
    linkageType: ''
    returnType: void
    signature: "void textst_FillRegions(decoder_t *p_dec, const uint8_t *p_data, size_t
      i_data,\n                               substext_updater_region_t *p_region)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decoder_NewSubpictureText
      Src: /src/vlc/modules/codec/textst.c:238,1
    - Dst: FROM_SCALE
      Src: /src/vlc/modules/codec/textst.c:240,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/codec/textst.c:240,1
    - Dst: FROM_SCALE
      Src: /src/vlc/modules/codec/textst.c:241,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/codec/textst.c:241,1
    - Dst: textst_FillRegions
      Src: /src/vlc/modules/codec/textst.c:249,1
    - Dst: decoder_QueueSub
      Src: /src/vlc/modules/codec/textst.c:253,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/textst.c:256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 230
    functionDepth: 4
    functionLinenumber: 230
    functionLinenumberEnd: 258
    functionName: Decode
    functionSourceFile: /src/vlc/modules/codec/textst.c
    functionUses: 16
    functionsReached:
    - block_Release
    - decoder_QueueSub
    - decoder_NewSubpictureText
    - GetDWBE
    - textst_FillRegions
    - FROM_SCALE
    linkageType: ''
    returnType: int
    signature: int Decode(decoder_t *p_dec, block_t *p_block)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/codec/textst.c:267,1
    - Dst: memset
      Src: /src/vlc/modules/codec/textst.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 277
    functionName: Open
    functionSourceFile: /src/vlc/modules/codec/textst.c
    functionUses: 70
    functionsReached:
    - vlc_obj_malloc
    - memset
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *object)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - i_atomflags
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: ConvertToVLCFlags
    functionSourceFile: /src/vlc/modules/codec/substx3g.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ConvertToVLCFlags( int i_atomflags )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - psz_string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 94
    functionName: str8len
    functionSourceFile: /src/vlc/modules/codec/substx3g.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t str8len( const char *psz_string )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strndup
      Src: /src/vlc/modules/codec/substx3g.c:114,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - psz_string
    - i_skip
    - n
    argTypes:
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 115
    functionName: str8indup
    functionSourceFile: /src/vlc/modules/codec/substx3g.c
    functionUses: 0
    functionsReached:
    - strndup
    linkageType: ''
    returnType: char
    signature: char * str8indup( const char *psz_string, size_t i_skip, size_t n )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/substx3g.c:128,1
    - Dst: text_segment_New
      Src: /src/vlc/modules/codec/substx3g.c:133,1
    - Dst: free
      Src: /src/vlc/modules/codec/substx3g.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - psz_string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 141
    functionName: tx3g_segment_New
    functionSourceFile: /src/vlc/modules/codec/substx3g.c
    functionUses: 0
    functionsReached:
    - free
    - text_segment_New
    - malloc
    linkageType: ''
    returnType: tx3g_segment_t
    signature: tx3g_segment_t * tx3g_segment_New( const char *psz_string )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: str8indup
      Src: /src/vlc/modules/codec/substx3g.c:155,1
    - Dst: tx3g_segment_New
      Src: /src/vlc/modules/codec/substx3g.c:156,1
    - Dst: free
      Src: /src/vlc/modules/codec/substx3g.c:157,1
    - Dst: text_style_Duplicate
      Src: /src/vlc/modules/codec/substx3g.c:159,1
    - Dst: str8len
      Src: /src/vlc/modules/codec/substx3g.c:160,1
    - Dst: str8indup
      Src: /src/vlc/modules/codec/substx3g.c:163,1
    - Dst: tx3g_segment_New
      Src: /src/vlc/modules/codec/substx3g.c:164,1
    - Dst: free
      Src: /src/vlc/modules/codec/substx3g.c:165,1
    - Dst: text_style_Duplicate
      Src: /src/vlc/modules/codec/substx3g.c:167,1
    - Dst: str8len
      Src: /src/vlc/modules/codec/substx3g.c:168,1
    - Dst: str8indup
      Src: /src/vlc/modules/codec/substx3g.c:172,1
    - Dst: tx3g_segment_New
      Src: /src/vlc/modules/codec/substx3g.c:173,1
    - Dst: free
      Src: /src/vlc/modules/codec/substx3g.c:174,1
    - Dst: text_style_Duplicate
      Src: /src/vlc/modules/codec/substx3g.c:176,1
    - Dst: str8len
      Src: /src/vlc/modules/codec/substx3g.c:177,1
    - Dst: text_segment_Delete
      Src: /src/vlc/modules/codec/substx3g.c:192,1
    - Dst: free
      Src: /src/vlc/modules/codec/substx3g.c:193,1
    - Dst: text_segment_Delete
      Src: /src/vlc/modules/codec/substx3g.c:197,1
    - Dst: free
      Src: /src/vlc/modules/codec/substx3g.c:198,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 6
    argNames:
    - p_segment
    - i_start
    - i_end
    - pp_segment_left
    - pp_segment_middle
    - pp_segment_right
    argTypes:
    - tx3g_segment_t*
    - uint16_t
    - uint16_t
    - tx3g_segment_t**
    - tx3g_segment_t**
    - tx3g_segment_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 201
    functionName: SegmentDoSplit
    functionSourceFile: /src/vlc/modules/codec/substx3g.c
    functionUses: 0
    functionsReached:
    - str8indup
    - text_segment_Delete
    - str8len
    - free
    - text_style_Duplicate
    - tx3g_segment_New
    linkageType: ''
    returnType: void
    signature: "void SegmentDoSplit( tx3g_segment_t *p_segment, uint16_t i_start,
      uint16_t i_end,\n                            tx3g_segment_t **pp_segment_left,\n
      \                           tx3g_segment_t **pp_segment_middle,\n                            tx3g_segment_t
      **pp_segment_right )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SegmentDoSplit
      Src: /src/vlc/modules/codec/substx3g.c:214,1
    - Dst: text_segment_Delete
      Src: /src/vlc/modules/codec/substx3g.c:218,1
    - Dst: free
      Src: /src/vlc/modules/codec/substx3g.c:219,1
    - Dst: text_segment_Delete
      Src: /src/vlc/modules/codec/substx3g.c:220,1
    - Dst: free
      Src: /src/vlc/modules/codec/substx3g.c:221,1
    - Dst: text_segment_Delete
      Src: /src/vlc/modules/codec/substx3g.c:226,1
    - Dst: free
      Src: /src/vlc/modules/codec/substx3g.c:227,1
    - Dst: text_style_Merge
      Src: /src/vlc/modules/codec/substx3g.c:237,1
    - Dst: text_style_Duplicate
      Src: /src/vlc/modules/codec/substx3g.c:239,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 5
    argNames:
    - p_prev
    - pp_segment
    - i_start
    - i_end
    - p_styles
    argTypes:
    - tx3g_segment_t*
    - tx3g_segment_t**
    - uint16_t
    - uint16_t
    - text_style_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 203
    functionDepth: 4
    functionLinenumber: 203
    functionLinenumberEnd: 242
    functionName: SegmentSplit
    functionSourceFile: /src/vlc/modules/codec/substx3g.c
    functionUses: 0
    functionsReached:
    - text_segment_Delete
    - text_style_Merge
    - free
    - SegmentDoSplit
    - text_style_Duplicate
    linkageType: ''
    returnType: bool
    signature: "bool SegmentSplit( tx3g_segment_t *p_prev, tx3g_segment_t **pp_segment,\n
      \                         const uint16_t i_start, const uint16_t i_end,\n                          const
      text_style_t *p_styles )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SegmentSplit
      Src: /src/vlc/modules/codec/substx3g.c:259,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - pp_segment
    - i_absstart
    - i_absend
    - p_styles
    argTypes:
    - tx3g_segment_t**
    - uint16_t
    - uint16_t
    - text_style_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 246
    functionDepth: 5
    functionLinenumber: 246
    functionLinenumberEnd: 272
    functionName: ApplySegmentStyle
    functionSourceFile: /src/vlc/modules/codec/substx3g.c
    functionUses: 0
    functionsReached:
    - SegmentSplit
    linkageType: ''
    returnType: void
    signature: "void ApplySegmentStyle( tx3g_segment_t **pp_segment, const uint16_t
      i_absstart,\n                               const uint16_t i_absend, const text_style_t
      *p_styles )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/codec/substx3g.c:278,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/substx3g.c:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - p_reference
    - p_style
    argTypes:
    - text_style_t*
    - text_style_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 292
    functionName: FontSizeConvert
    functionSourceFile: /src/vlc/modules/codec/substx3g.c
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: void
    signature: void FontSizeConvert( const text_style_t *p_reference, text_style_t
      *p_style )
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/codec/substx3g.c:307,1
    - Dst: GetWBE
      Src: /src/vlc/modules/codec/substx3g.c:312,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/substx3g.c:315,1
    - Dst: memcmp
      Src: /src/vlc/modules/codec/substx3g.c:322,1
    - Dst: memcmp
      Src: /src/vlc/modules/codec/substx3g.c:322,1
    - Dst: FromCharset
      Src: /src/vlc/modules/codec/substx3g.c:324,1
    - Dst: strndup
      Src: /src/vlc/modules/codec/substx3g.c:326,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/substx3g.c:330,1
    - Dst: tx3g_segment_New
      Src: /src/vlc/modules/codec/substx3g.c:337,1
    - Dst: str8len
      Src: /src/vlc/modules/codec/substx3g.c:338,1
    - Dst: free
      Src: /src/vlc/modules/codec/substx3g.c:339,1
    - Dst: text_segment_Delete
      Src: /src/vlc/modules/codec/substx3g.c:343,1
    - Dst: free
      Src: /src/vlc/modules/codec/substx3g.c:344,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/substx3g.c:345,1
    - Dst: decoder_NewSubpictureText
      Src: /src/vlc/modules/codec/substx3g.c:350,1
    - Dst: text_segment_Delete
      Src: /src/vlc/modules/codec/substx3g.c:353,1
    - Dst: free
      Src: /src/vlc/modules/codec/substx3g.c:354,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/substx3g.c:355,1
    - Dst: mp4_box_iterator_Init
      Src: /src/vlc/modules/codec/substx3g.c:363,1
    - Dst: mp4_box_iterator_Next
      Src: /src/vlc/modules/codec/substx3g.c:367,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/codec/substx3g.c:372,1
    - Dst: GetWBE
      Src: /src/vlc/modules/codec/substx3g.c:377,1
    - Dst: __MIN
      Src: /src/vlc/modules/codec/substx3g.c:383,1
    - Dst: GetWBE
      Src: /src/vlc/modules/codec/substx3g.c:383,1
    - Dst: GetWBE
      Src: /src/vlc/modules/codec/substx3g.c:384,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/codec/substx3g.c:387,1
    - Dst: text_style_Create
      Src: /src/vlc/modules/codec/substx3g.c:389,1
    - Dst: ConvertToVLCFlags
      Src: /src/vlc/modules/codec/substx3g.c:392,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/codec/substx3g.c:395,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/codec/substx3g.c:396,1
    - Dst: ApplySegmentStyle
      Src: /src/vlc/modules/codec/substx3g.c:398,1
    - Dst: text_style_Delete
      Src: /src/vlc/modules/codec/substx3g.c:399,1
    - Dst: text_style_Merge
      Src: /src/vlc/modules/codec/substx3g.c:421,1
    - Dst: FontSizeConvert
      Src: /src/vlc/modules/codec/substx3g.c:422,1
    - Dst: FontSizeConvert
      Src: /src/vlc/modules/codec/substx3g.c:429,1
    - Dst: free
      Src: /src/vlc/modules/codec/substx3g.c:433,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/substx3g.c:441,1
    - Dst: decoder_QueueSub
      Src: /src/vlc/modules/codec/substx3g.c:443,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 88
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 297
    functionDepth: 6
    functionLinenumber: 297
    functionLinenumberEnd: 445
    functionName: Decode
    functionSourceFile: /src/vlc/modules/codec/substx3g.c
    functionUses: 16
    functionsReached:
    - FontSizeConvert
    - text_segment_Delete
    - text_style_Merge
    - str8len
    - memcmp
    - VLC_CLIP
    - text_style_Delete
    - VLC_FOURCC
    - strndup
    - decoder_QueueSub
    - text_style_Create
    - mp4_box_iterator_Next
    - __MIN
    - GetDWBE
    - FromCharset
    - tx3g_segment_New
    - GetWBE
    - block_Release
    - ConvertToVLCFlags
    - decoder_NewSubpictureText
    - ApplySegmentStyle
    - free
    - mp4_box_iterator_Init
    linkageType: ''
    returnType: int
    signature: int Decode( decoder_t *p_dec, block_t *p_block )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetDWBE
      Src: /src/vlc/modules/codec/substx3g.c:462,1
    - Dst: ConvertToVLCFlags
      Src: /src/vlc/modules/codec/substx3g.c:469,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/codec/substx3g.c:473,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 478
    functionName: ParseExtradataTx3g
    functionSourceFile: /src/vlc/modules/codec/substx3g.c
    functionUses: 0
    functionsReached:
    - ConvertToVLCFlags
    - GetDWBE
    linkageType: ''
    returnType: void
    signature: void ParseExtradataTx3g( decoder_t *p_dec )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetDWBE
      Src: /src/vlc/modules/codec/substx3g.c:489,1
    - Dst: ConvertToVLCFlags
      Src: /src/vlc/modules/codec/substx3g.c:518,1
    - Dst: GetWBE
      Src: /src/vlc/modules/codec/substx3g.c:518,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 530
    functionName: ParseExtradataTextMedia
    functionSourceFile: /src/vlc/modules/codec/substx3g.c
    functionUses: 0
    functionsReached:
    - GetWBE
    - ConvertToVLCFlags
    - GetDWBE
    linkageType: ''
    returnType: void
    signature: void ParseExtradataTextMedia( decoder_t *p_dec )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: text_style_Delete
      Src: /src/vlc/modules/codec/substx3g.c:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 538
    functionName: CloseDecoder
    functionSourceFile: /src/vlc/modules/codec/substx3g.c
    functionUses: 2
    functionsReached:
    - text_style_Delete
    linkageType: ''
    returnType: void
    signature: void CloseDecoder( vlc_object_t *p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: text_style_Create
      Src: /src/vlc/modules/codec/substx3g.c:550,1
    - Dst: ParseExtradataTx3g
      Src: /src/vlc/modules/codec/substx3g.c:559,1
    - Dst: ParseExtradataTextMedia
      Src: /src/vlc/modules/codec/substx3g.c:561,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 540
    functionDepth: 2
    functionLinenumber: 540
    functionLinenumberEnd: 566
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/modules/codec/substx3g.c
    functionUses: 0
    functionsReached:
    - ParseExtradataTextMedia
    - text_style_Create
    - ParseExtradataTx3g
    linkageType: ''
    returnType: int
    signature: int OpenDecoder( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/codec/substx3g.c:575,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/codec/substx3g.c:582,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/codec/substx3g.c:584,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/codec/substx3g.c:587,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/substx3g.c:588,1
    - Dst: SetWBE
      Src: /src/vlc/modules/codec/substx3g.c:590,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/substx3g.c:593,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/substx3g.c:596,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/substx3g.c:599,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - pp_extra
    - pi_extra
    argTypes:
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 604
    functionName: FillExtradataTx3g
    functionSourceFile: /src/vlc/modules/codec/substx3g.c
    functionUses: 0
    functionsReached:
    - calloc
    - SetDWBE
    - SetWBE
    - memcpy
    linkageType: ''
    returnType: void
    signature: void FillExtradataTx3g(void **pp_extra, size_t *pi_extra)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FillExtradataTx3g
      Src: /src/vlc/modules/codec/substx3g.c:616,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 625
    functionName: OpenEncoder
    functionSourceFile: /src/vlc/modules/codec/substx3g.c
    functionUses: 0
    functionsReached:
    - FillExtradataTx3g
    linkageType: ''
    returnType: int
    signature: int OpenEncoder( vlc_object_t *p_this )
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - p_style
    argTypes:
    - text_style_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 640
    functionName: ConvertFromVLCFlags
    functionSourceFile: /src/vlc/modules/codec/substx3g.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ConvertFromVLCFlags( const text_style_t *p_style )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - p_style
    argTypes:
    - text_style_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 654
    functionName: ConvertFromVLCColor
    functionSourceFile: /src/vlc/modules/codec/substx3g.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ConvertFromVLCColor( const text_style_t *p_style )
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - p_segment
    argTypes:
    - text_segment_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 672
    functionName: NeedStyling
    functionSourceFile: /src/vlc/modules/codec/substx3g.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NeedStyling( const text_segment_t *p_segment )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/substx3g.c:677,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/codec/substx3g.c:680,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/substx3g.c:681,1
    - Dst: SetWBE
      Src: /src/vlc/modules/codec/substx3g.c:682,1
    - Dst: str8len
      Src: /src/vlc/modules/codec/substx3g.c:686,1
    - Dst: NeedStyling
      Src: /src/vlc/modules/codec/substx3g.c:687,1
    - Dst: SetWBE
      Src: /src/vlc/modules/codec/substx3g.c:690,1
    - Dst: SetWBE
      Src: /src/vlc/modules/codec/substx3g.c:691,1
    - Dst: SetWBE
      Src: /src/vlc/modules/codec/substx3g.c:692,1
    - Dst: ConvertFromVLCFlags
      Src: /src/vlc/modules/codec/substx3g.c:693,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/codec/substx3g.c:695,1
    - Dst: ConvertFromVLCColor
      Src: /src/vlc/modules/codec/substx3g.c:695,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - p_segment
    - i_styles
    argTypes:
    - text_segment_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 702
    functionName: GetStylBlock
    functionSourceFile: /src/vlc/modules/codec/substx3g.c
    functionUses: 0
    functionsReached:
    - SetWBE
    - NeedStyling
    - ConvertFromVLCFlags
    - ConvertFromVLCColor
    - memcpy
    - str8len
    - SetDWBE
    - block_Alloc
    linkageType: ''
    returnType: block_t
    signature: block_t *GetStylBlock( const text_segment_t *p_segment, size_t i_styles
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/substx3g.c:706,1
    - Dst: vlc_spu_regions_first_or_null
      Src: /src/vlc/modules/codec/substx3g.c:708,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/substx3g.c:718,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/substx3g.c:721,1
    - Dst: SetWBE
      Src: /src/vlc/modules/codec/substx3g.c:725,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/substx3g.c:730,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/substx3g.c:731,1
    - Dst: GetStylBlock
      Src: /src/vlc/modules/codec/substx3g.c:739,1
    - Dst: block_ChainGather
      Src: /src/vlc/modules/codec/substx3g.c:741,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - p_enc
    - p_spu
    argTypes:
    - encoder_t*
    - subpicture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 704
    functionDepth: 2
    functionLinenumber: 704
    functionLinenumberEnd: 742
    functionName: Encode
    functionSourceFile: /src/vlc/modules/codec/substx3g.c
    functionUses: 0
    functionsReached:
    - GetStylBlock
    - SetWBE
    - strlen
    - memcpy
    - block_Alloc
    - block_ChainGather
    - vlc_spu_regions_first_or_null
    - VLC_UNUSED
    linkageType: ''
    returnType: block_t
    signature: block_t * Encode( encoder_t *p_enc, subpicture_t *p_spu )
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/codec/twolame.c:134,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/twolame.c:142,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/twolame.c:153,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/twolame.c:159,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/codec/twolame.c:165,1
    - Dst: twolame_init
      Src: /src/vlc/modules/codec/twolame.c:167,1
    - Dst: twolame_set_in_samplerate
      Src: /src/vlc/modules/codec/twolame.c:170,1
    - Dst: twolame_set_out_samplerate
      Src: /src/vlc/modules/codec/twolame.c:171,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/codec/twolame.c:173,1
    - Dst: var_GetFloat
      Src: /src/vlc/modules/codec/twolame.c:175,1
    - Dst: twolame_set_VBR
      Src: /src/vlc/modules/codec/twolame.c:178,1
    - Dst: twolame_set_VBR_q
      Src: /src/vlc/modules/codec/twolame.c:179,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/twolame.c:193,1
    - Dst: twolame_set_bitrate
      Src: /src/vlc/modules/codec/twolame.c:200,1
    - Dst: twolame_set_num_channels
      Src: /src/vlc/modules/codec/twolame.c:206,1
    - Dst: twolame_set_mode
      Src: /src/vlc/modules/codec/twolame.c:207,1
    - Dst: twolame_set_num_channels
      Src: /src/vlc/modules/codec/twolame.c:211,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/twolame.c:212,1
    - Dst: twolame_set_mode
      Src: /src/vlc/modules/codec/twolame.c:215,1
    - Dst: twolame_set_mode
      Src: /src/vlc/modules/codec/twolame.c:218,1
    - Dst: twolame_set_mode
      Src: /src/vlc/modules/codec/twolame.c:222,1
    - Dst: twolame_set_psymodel
      Src: /src/vlc/modules/codec/twolame.c:227,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/twolame.c:228,1
    - Dst: twolame_init_params
      Src: /src/vlc/modules/codec/twolame.c:230,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/twolame.c:232,1
    - Dst: twolame_close
      Src: /src/vlc/modules/codec/twolame.c:248,1
    - Dst: free
      Src: /src/vlc/modules/codec/twolame.c:249,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 75
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 251
    functionName: OpenEncoder
    functionSourceFile: /src/vlc/modules/codec/twolame.c
    functionUses: 0
    functionsReached:
    - twolame_set_num_channels
    - twolame_init
    - twolame_init_params
    - var_GetInteger
    - var_GetFloat
    - msg_Err
    - twolame_set_VBR
    - twolame_set_bitrate
    - twolame_set_psymodel
    - msg_Warn
    - VLC_FOURCC
    - twolame_set_out_samplerate
    - var_GetBool
    - twolame_set_VBR_q
    - twolame_set_in_samplerate
    - config_ChainParse
    - free
    - twolame_close
    - twolame_set_mode
    - malloc
    linkageType: ''
    returnType: int
    signature: int OpenEncoder( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/twolame.c:262,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/twolame.c:266,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/twolame.c:273,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/twolame.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - p_enc
    - p_in
    - i_nb_samples
    argTypes:
    - encoder_t*
    - int16_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 278
    functionName: Bufferize
    functionSourceFile: /src/vlc/modules/codec/twolame.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ARRAY_SIZE
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void Bufferize( encoder_t *p_enc, int16_t *p_in, int i_nb_samples )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/codec/twolame.c:285,1
    - Dst: twolame_encode_flush
      Src: /src/vlc/modules/codec/twolame.c:289,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/twolame.c:294,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/twolame.c:297,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/codec/twolame.c:298,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/codec/twolame.c:310,1
    - Dst: Bufferize
      Src: /src/vlc/modules/codec/twolame.c:318,1
    - Dst: twolame_encode_buffer_interleaved
      Src: /src/vlc/modules/codec/twolame.c:322,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/twolame.c:328,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/twolame.c:333,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/codec/twolame.c:337,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/twolame.c:340,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/codec/twolame.c:341,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/codec/twolame.c:345,1
    - Dst: Bufferize
      Src: /src/vlc/modules/codec/twolame.c:350,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 2
    argNames:
    - p_enc
    - p_aout_buf
    argTypes:
    - encoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 355
    functionName: Encode
    functionSourceFile: /src/vlc/modules/codec/twolame.c
    functionUses: 0
    functionsReached:
    - block_ChainAppend
    - twolame_encode_buffer_interleaved
    - twolame_encode_flush
    - block_ChainRelease
    - memcpy
    - msg_Err
    - block_Alloc
    - Bufferize
    - vlc_tick_from_samples
    - unlikely
    linkageType: ''
    returnType: block_t
    signature: block_t *Encode( encoder_t *p_enc, block_t *p_aout_buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: twolame_close
      Src: /src/vlc/modules/codec/twolame.c:364,1
    - Dst: free
      Src: /src/vlc/modules/codec/twolame.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_enc
    argTypes:
    - encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 367
    functionName: CloseEncoder
    functionSourceFile: /src/vlc/modules/codec/twolame.c
    functionUses: 1
    functionsReached:
    - free
    - twolame_close
    linkageType: ''
    returnType: void
    signature: void CloseEncoder( encoder_t *p_enc )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/codec/subsusf.c:126,1
    - Dst: TAB_INIT
      Src: /src/vlc/modules/codec/subsusf.c:133,1
    - Dst: TAB_INIT
      Src: /src/vlc/modules/codec/subsusf.c:134,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/codec/subsusf.c:138,1
    - Dst: ParseImageAttachments
      Src: /src/vlc/modules/codec/subsusf.c:140,1
    - Dst: var_CreateGetBool
      Src: /src/vlc/modules/codec/subsusf.c:142,1
    - Dst: ParseUSFHeader
      Src: /src/vlc/modules/codec/subsusf.c:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 149
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/modules/codec/subsusf.c
    functionUses: 0
    functionsReached:
    - TAB_INIT
    - ParseUSFHeader
    - var_CreateGetBool
    - calloc
    - var_CreateGetInteger
    - ParseImageAttachments
    linkageType: ''
    returnType: int
    signature: int OpenDecoder( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParseText
      Src: /src/vlc/modules/codec/subsusf.c:163,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/subsusf.c:165,1
    - Dst: decoder_QueueSub
      Src: /src/vlc/modules/codec/subsusf.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 169
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/codec/subsusf.c
    functionUses: 9
    functionsReached:
    - block_Release
    - decoder_QueueSub
    - ParseText
    linkageType: ''
    returnType: int
    signature: int DecodeBlock( decoder_t *p_dec, block_t *p_block )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/codec/subsusf.c:186,1
    - Dst: text_style_Delete
      Src: /src/vlc/modules/codec/subsusf.c:187,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsusf.c:188,1
    - Dst: TAB_CLEAN
      Src: /src/vlc/modules/codec/subsusf.c:190,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/subsusf.c:200,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsusf.c:201,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsusf.c:203,1
    - Dst: TAB_CLEAN
      Src: /src/vlc/modules/codec/subsusf.c:205,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsusf.c:208,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 209
    functionName: CloseDecoder
    functionSourceFile: /src/vlc/modules/codec/subsusf.c
    functionUses: 2
    functionsReached:
    - free
    - TAB_CLEAN
    - picture_Release
    - text_style_Delete
    linkageType: ''
    returnType: void
    signature: void CloseDecoder( vlc_object_t *p_this )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/subsusf.c:226,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/subsusf.c:235,1
    - Dst: strndup
      Src: /src/vlc/modules/codec/subsusf.c:240,1
    - Dst: EnsureUTF8
      Src: /src/vlc/modules/codec/subsusf.c:246,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/subsusf.c:248,1
    - Dst: decoder_NewSubpicture
      Src: /src/vlc/modules/codec/subsusf.c:253,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/subsusf.c:256,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsusf.c:257,1
    - Dst: ParseUSFString
      Src: /src/vlc/modules/codec/subsusf.c:262,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsusf.c:273,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 276
    functionName: ParseText
    functionSourceFile: /src/vlc/modules/codec/subsusf.c
    functionUses: 1
    functionsReached:
    - strndup
    - decoder_NewSubpicture
    - EnsureUTF8
    - msg_Err
    - free
    - msg_Warn
    - ParseUSFString
    linkageType: ''
    returnType: subpicture_t
    signature: subpicture_t *ParseText( decoder_t *p_dec, block_t *p_block )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vlc/modules/codec/subsusf.c:283,1
    - Dst: strcasestr
      Src: /src/vlc/modules/codec/subsusf.c:284,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/subsusf.c:288,1
    - Dst: strcspn
      Src: /src/vlc/modules/codec/subsusf.c:295,1
    - Dst: strndup
      Src: /src/vlc/modules/codec/subsusf.c:296,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - psz_attribute
    - psz_tag_start
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 302
    functionName: GrabAttributeValue
    functionSourceFile: /src/vlc/modules/codec/subsusf.c
    functionUses: 0
    functionsReached:
    - strndup
    - strchr
    - strlen
    - strcspn
    - strcasestr
    linkageType: ''
    returnType: char
    signature: "char *GrabAttributeValue( const char *psz_attribute,\n                                 const
      char *psz_tag_start )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GrabAttributeValue
      Src: /src/vlc/modules/codec/subsusf.c:307,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/subsusf.c:313,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsusf.c:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - p_sys
    - psz_subtitle
    argTypes:
    - decoder_sys_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 304
    functionDepth: 3
    functionLinenumber: 304
    functionLinenumberEnd: 319
    functionName: ParseStyle
    functionSourceFile: /src/vlc/modules/codec/subsusf.c
    functionUses: 0
    functionsReached:
    - free
    - strcmp
    - GrabAttributeValue
    linkageType: ''
    returnType: ssa_style_t
    signature: ssa_style_t *ParseStyle( decoder_sys_t *p_sys, char *psz_subtitle )
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: GrabAttributeValue
      Src: /src/vlc/modules/codec/subsusf.c:326,1
    - Dst: GrabAttributeValue
      Src: /src/vlc/modules/codec/subsusf.c:327,1
    - Dst: GrabAttributeValue
      Src: /src/vlc/modules/codec/subsusf.c:328,1
    - Dst: GrabAttributeValue
      Src: /src/vlc/modules/codec/subsusf.c:329,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:342,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:344,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:346,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:348,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:350,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:352,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:354,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:356,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:358,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsusf.c:362,1
    - Dst: atoi
      Src: /src/vlc/modules/codec/subsusf.c:366,1
    - Dst: strchr
      Src: /src/vlc/modules/codec/subsusf.c:367,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsusf.c:372,1
    - Dst: atoi
      Src: /src/vlc/modules/codec/subsusf.c:376,1
    - Dst: strchr
      Src: /src/vlc/modules/codec/subsusf.c:377,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsusf.c:382,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:386,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsusf.c:389,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 4
    argNames:
    - psz_subtitle
    - i_align
    - i_x
    - i_y
    argTypes:
    - char*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 321
    functionDepth: 3
    functionLinenumber: 321
    functionLinenumberEnd: 392
    functionName: ParsePositionAttributeList
    functionSourceFile: /src/vlc/modules/codec/subsusf.c
    functionUses: 0
    functionsReached:
    - atoi
    - strchr
    - GrabAttributeValue
    - free
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: "int ParsePositionAttributeList( char *psz_subtitle, int *i_align,\n
      \                                      int *i_x, int *i_y )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ParsePositionAttributeList
      Src: /src/vlc/modules/codec/subsusf.c:400,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - p_region
    - psz_subtitle
    argTypes:
    - subpicture_region_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 394
    functionDepth: 4
    functionLinenumber: 394
    functionLinenumberEnd: 423
    functionName: SetupPositions
    functionSourceFile: /src/vlc/modules/codec/subsusf.c
    functionUses: 0
    functionsReached:
    - ParsePositionAttributeList
    linkageType: ''
    returnType: void
    signature: void SetupPositions( subpicture_region_t *p_region, char *psz_subtitle
      )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: subpicture_region_NewText
      Src: /src/vlc/modules/codec/subsusf.c:434,1
    - Dst: ParseStyle
      Src: /src/vlc/modules/codec/subsusf.c:440,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:445,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/subsusf.c:459,1
    - Dst: text_segment_NewInheritStyle
      Src: /src/vlc/modules/codec/subsusf.c:474,1
    - Dst: text_segment_New
      Src: /src/vlc/modules/codec/subsusf.c:478,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - p_dec
    - psz_subtitle
    - psz_plaintext
    - i_sys_align
    argTypes:
    - decoder_t*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 425
    functionDepth: 4
    functionLinenumber: 425
    functionLinenumberEnd: 484
    functionName: CreateTextRegion
    functionSourceFile: /src/vlc/modules/codec/subsusf.c
    functionUses: 0
    functionsReached:
    - text_segment_NewInheritStyle
    - text_segment_New
    - msg_Dbg
    - strcasecmp
    - subpicture_region_NewText
    - ParseStyle
    linkageType: ''
    returnType: subpicture_region_t
    signature: "subpicture_region_t *CreateTextRegion( decoder_t *p_dec,\n                                              char
      *psz_subtitle,\n                                              char *psz_plaintext,\n
      \                                             int i_sys_align )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: decoder_GetInputAttachments
      Src: /src/vlc/modules/codec/subsusf.c:492,1
    - Dst: image_Mime2Fourcc
      Src: /src/vlc/modules/codec/subsusf.c:499,1
    - Dst: image_HandlerCreate
      Src: /src/vlc/modules/codec/subsusf.c:508,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/subsusf.c:513,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/subsusf.c:520,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/codec/subsusf.c:522,1
    - Dst: video_format_Init
      Src: /src/vlc/modules/codec/subsusf.c:524,1
    - Dst: image_Read
      Src: /src/vlc/modules/codec/subsusf.c:526,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/codec/subsusf.c:527,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/codec/subsusf.c:528,1
    - Dst: image_HandlerDelete
      Src: /src/vlc/modules/codec/subsusf.c:531,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/subsusf.c:535,1
    - Dst: strdup
      Src: /src/vlc/modules/codec/subsusf.c:539,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/codec/subsusf.c:542,1
    - Dst: vlc_input_attachment_Release
      Src: /src/vlc/modules/codec/subsusf.c:546,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsusf.c:548,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 551
    functionName: ParseImageAttachments
    functionSourceFile: /src/vlc/modules/codec/subsusf.c
    functionUses: 1
    functionsReached:
    - image_Mime2Fourcc
    - decoder_GetInputAttachments
    - strdup
    - video_format_Init
    - es_format_Clean
    - TAB_APPEND
    - image_HandlerDelete
    - memcpy
    - image_Read
    - vlc_input_attachment_Release
    - free
    - block_Alloc
    - es_format_Init
    - video_format_Clean
    - image_HandlerCreate
    - malloc
    linkageType: ''
    returnType: int
    signature: int ParseImageAttachments( decoder_t *p_dec )
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/codec/subsusf.c:562,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:570,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:574,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:578,1
    - Dst: TAB_APPEND
      Src: /src/vlc/modules/codec/subsusf.c:580,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:590,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:592,1
    - Dst: xml_ReaderNextAttr
      Src: /src/vlc/modules/codec/subsusf.c:596,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:598,1
    - Dst: atoi
      Src: /src/vlc/modules/codec/subsusf.c:599,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:600,1
    - Dst: atoi
      Src: /src/vlc/modules/codec/subsusf.c:601,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:604,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:608,1
    - Dst: calloc
      Src: /src/vlc/modules/codec/subsusf.c:612,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/subsusf.c:613,1
    - Dst: text_style_Create
      Src: /src/vlc/modules/codec/subsusf.c:615,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/subsusf.c:616,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsusf.c:618,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:628,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/subsusf.c:633,1
    - Dst: text_style_Copy
      Src: /src/vlc/modules/codec/subsusf.c:641,1
    - Dst: xml_ReaderNextAttr
      Src: /src/vlc/modules/codec/subsusf.c:646,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:648,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsusf.c:650,1
    - Dst: strdup
      Src: /src/vlc/modules/codec/subsusf.c:651,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:655,1
    - Dst: xml_ReaderNextAttr
      Src: /src/vlc/modules/codec/subsusf.c:658,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:660,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsusf.c:662,1
    - Dst: strdup
      Src: /src/vlc/modules/codec/subsusf.c:663,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:665,1
    - Dst: atoi
      Src: /src/vlc/modules/codec/subsusf.c:669,1
    - Dst: atoi
      Src: /src/vlc/modules/codec/subsusf.c:680,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:682,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:684,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:690,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:692,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:698,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:700,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:706,1
    - Dst: strtol
      Src: /src/vlc/modules/codec/subsusf.c:710,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:717,1
    - Dst: strtol
      Src: /src/vlc/modules/codec/subsusf.c:721,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:728,1
    - Dst: atoi
      Src: /src/vlc/modules/codec/subsusf.c:730,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:732,1
    - Dst: strtol
      Src: /src/vlc/modules/codec/subsusf.c:736,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:743,1
    - Dst: atoi
      Src: /src/vlc/modules/codec/subsusf.c:745,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:747,1
    - Dst: atoi
      Src: /src/vlc/modules/codec/subsusf.c:749,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:753,1
    - Dst: xml_ReaderNextAttr
      Src: /src/vlc/modules/codec/subsusf.c:756,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:758,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:760,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:762,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:764,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:766,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:768,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:770,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:772,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:774,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:776,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:779,1
    - Dst: strchr
      Src: /src/vlc/modules/codec/subsusf.c:781,1
    - Dst: atoi
      Src: /src/vlc/modules/codec/subsusf.c:784,1
    - Dst: atoi
      Src: /src/vlc/modules/codec/subsusf.c:788,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:792,1
    - Dst: strchr
      Src: /src/vlc/modules/codec/subsusf.c:794,1
    - Dst: atoi
      Src: /src/vlc/modules/codec/subsusf.c:797,1
    - Dst: atoi
      Src: /src/vlc/modules/codec/subsusf.c:801,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsusf.c:810,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 174
    argCount: 2
    argNames:
    - p_dec
    - p_xml_reader
    argTypes:
    - decoder_t*
    - xml_reader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 553
    functionDepth: 2
    functionLinenumber: 553
    functionLinenumberEnd: 811
    functionName: ParseUSFHeaderTags
    functionSourceFile: /src/vlc/modules/codec/subsusf.c
    functionUses: 0
    functionsReached:
    - atoi
    - strchr
    - strdup
    - TAB_APPEND
    - text_style_Create
    - memcpy
    - calloc
    - free
    - strtol
    - xml_ReaderNextAttr
    - strcasecmp
    - text_style_Copy
    - unlikely
    - xml_ReaderNextNode
    linkageType: ''
    returnType: void
    signature: void ParseUSFHeaderTags( decoder_t *p_dec, xml_reader_t *p_xml_reader
      )
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/vlc/modules/codec/subsusf.c:829,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/codec/subsusf.c:830,1
    - Dst: strcasestr
      Src: /src/vlc/modules/codec/subsusf.c:832,1
    - Dst: strndup
      Src: /src/vlc/modules/codec/subsusf.c:836,1
    - Dst: CreatePlainText
      Src: /src/vlc/modules/codec/subsusf.c:840,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsusf.c:841,1
    - Dst: CreateTextRegion
      Src: /src/vlc/modules/codec/subsusf.c:844,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsusf.c:849,1
    - Dst: strcspn
      Src: /src/vlc/modules/codec/subsusf.c:853,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/codec/subsusf.c:856,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/codec/subsusf.c:857,1
    - Dst: strcasestr
      Src: /src/vlc/modules/codec/subsusf.c:859,1
    - Dst: strchr
      Src: /src/vlc/modules/codec/subsusf.c:860,1
    - Dst: GrabAttributeValue
      Src: /src/vlc/modules/codec/subsusf.c:872,1
    - Dst: strtol
      Src: /src/vlc/modules/codec/subsusf.c:876,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsusf.c:877,1
    - Dst: strndup
      Src: /src/vlc/modules/codec/subsusf.c:881,1
    - Dst: LoadEmbeddedImage
      Src: /src/vlc/modules/codec/subsusf.c:884,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsusf.c:886,1
    - Dst: strcspn
      Src: /src/vlc/modules/codec/subsusf.c:890,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/subsusf.c:894,1
    - Dst: CreatePlainText
      Src: /src/vlc/modules/codec/subsusf.c:896,1
    - Dst: CreateTextRegion
      Src: /src/vlc/modules/codec/subsusf.c:899,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsusf.c:904,1
    - Dst: vlc_spu_regions_push
      Src: /src/vlc/modules/codec/subsusf.c:910,1
    - Dst: SetupPositions
      Src: /src/vlc/modules/codec/subsusf.c:915,1
    - Dst: strcspn
      Src: /src/vlc/modules/codec/subsusf.c:921,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 51
    argCount: 3
    argNames:
    - p_dec
    - psz_subtitle
    - regions
    argTypes:
    - decoder_t*
    - char*
    - vlc_spu_regions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 815
    functionDepth: 5
    functionLinenumber: 815
    functionLinenumberEnd: 926
    functionName: ParseUSFString
    functionSourceFile: /src/vlc/modules/codec/subsusf.c
    functionUses: 1
    functionsReached:
    - strndup
    - strncasecmp
    - strchr
    - GrabAttributeValue
    - strlen
    - vlc_spu_regions_push
    - CreatePlainText
    - LoadEmbeddedImage
    - free
    - strcspn
    - strtol
    - SetupPositions
    - strcasestr
    - CreateTextRegion
    linkageType: ''
    returnType: void
    signature: "void ParseUSFString( decoder_t *p_dec,\n                            char
      *psz_subtitle,\n                            vlc_spu_regions *regions )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_MemoryNew
      Src: /src/vlc/modules/codec/subsusf.c:936,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/codec/subsusf.c:936,1
    - Dst: xml_ReaderCreate
      Src: /src/vlc/modules/codec/subsusf.c:943,1
    - Dst: likely
      Src: /src/vlc/modules/codec/subsusf.c:944,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/codec/subsusf.c:949,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsusf.c:950,1
    - Dst: ParseUSFHeaderTags
      Src: /src/vlc/modules/codec/subsusf.c:951,1
    - Dst: xml_ReaderDelete
      Src: /src/vlc/modules/codec/subsusf.c:953,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/codec/subsusf.c:955,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 931
    functionDepth: 3
    functionLinenumber: 931
    functionLinenumberEnd: 956
    functionName: ParseUSFHeader
    functionSourceFile: /src/vlc/modules/codec/subsusf.c
    functionUses: 1
    functionsReached:
    - xml_ReaderCreate
    - ParseUSFHeaderTags
    - vlc_stream_Delete
    - vlc_stream_MemoryNew
    - likely
    - VLC_OBJECT
    - strcasecmp
    - xml_ReaderDelete
    - xml_ReaderNextNode
    linkageType: ''
    returnType: void
    signature: void ParseUSFHeader( decoder_t *p_dec )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/subsusf.c:967,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/subsusf.c:967,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/codec/subsusf.c:979,1
    - Dst: strcspn
      Src: /src/vlc/modules/codec/subsusf.c:982,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/codec/subsusf.c:986,1
    - Dst: strcspn
      Src: /src/vlc/modules/codec/subsusf.c:989,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/codec/subsusf.c:991,1
    - Dst: strcspn
      Src: /src/vlc/modules/codec/subsusf.c:994,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/codec/subsusf.c:996,1
    - Dst: strcspn
      Src: /src/vlc/modules/codec/subsusf.c:999,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/codec/subsusf.c:1001,1
    - Dst: strcspn
      Src: /src/vlc/modules/codec/subsusf.c:1004,1
    - Dst: realloc
      Src: /src/vlc/modules/codec/subsusf.c:1024,1
    - Dst: likely
      Src: /src/vlc/modules/codec/subsusf.c:1025,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 1
    argNames:
    - psz_subtitle
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 1026
    functionName: StripTags
    functionSourceFile: /src/vlc/modules/codec/subsusf.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - strlen
    - realloc
    - strcspn
    - likely
    - malloc
    linkageType: ''
    returnType: char
    signature: char *StripTags( char *psz_subtitle )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: StripTags
      Src: /src/vlc/modules/codec/subsusf.c:1034,1
    - Dst: strpbrk
      Src: /src/vlc/modules/codec/subsusf.c:1040,1
    - Dst: strspn
      Src: /src/vlc/modules/codec/subsusf.c:1044,1
    - Dst: memmove
      Src: /src/vlc/modules/codec/subsusf.c:1055,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/subsusf.c:1057,1
    - Dst: strpbrk
      Src: /src/vlc/modules/codec/subsusf.c:1061,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - psz_subtitle
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1032
    functionDepth: 2
    functionLinenumber: 1032
    functionLinenumberEnd: 1064
    functionName: CreatePlainText
    functionSourceFile: /src/vlc/modules/codec/subsusf.c
    functionUses: 1
    functionsReached:
    - strlen
    - strspn
    - strpbrk
    - StripTags
    - memmove
    linkageType: ''
    returnType: char
    signature: char *CreatePlainText( char *psz_subtitle )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/codec/subsusf.c:1081,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/subsusf.c:1090,1
    - Dst: memset
      Src: /src/vlc/modules/codec/subsusf.c:1095,1
    - Dst: subpicture_region_New
      Src: /src/vlc/modules/codec/subsusf.c:1104,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/subsusf.c:1107,1
    - Dst: assert
      Src: /src/vlc/modules/codec/subsusf.c:1112,1
    - Dst: picture_CopyPixels
      Src: /src/vlc/modules/codec/subsusf.c:1114,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 3
    argNames:
    - p_dec
    - psz_filename
    - i_transparent_color
    argTypes:
    - decoder_t*
    - char*
    - int
    assertStmts:
    - condition: ( p_pic->format.i_chroma == VLC_CODEC_YUVA )
      pos:
        line_end: 1111
        line_start: 1111
        source_file: /src/vlc/modules/codec/subsusf.c
    constantsTouched: []
    func_position:
      end: 1146
      start: 1069
    functionDepth: 1
    functionLinenumber: 1069
    functionLinenumberEnd: 1146
    functionName: LoadEmbeddedImage
    functionSourceFile: /src/vlc/modules/codec/subsusf.c
    functionUses: 1
    functionsReached:
    - assert
    - memset
    - msg_Err
    - strcmp
    - picture_CopyPixels
    - subpicture_region_New
    linkageType: ''
    returnType: subpicture_region_t
    signature: "subpicture_region_t *LoadEmbeddedImage( decoder_t *p_dec,\n                                               const
      char *psz_filename,\n                                               int i_transparent_color
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bs_read
      Src: /src/vlc/modules/codec/scte27.c:76,1
    - Dst: bs_read1
      Src: /src/vlc/modules/codec/scte27.c:77,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/scte27.c:78,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/scte27.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - bs
    argTypes:
    - bs_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 82
    functionName: bs_read_color
    functionSourceFile: /src/vlc/modules/codec/scte27.c
    functionUses: 0
    functionsReached:
    - bs_read1
    - bs_read
    linkageType: ''
    returnType: scte27_color_t
    signature: scte27_color_t bs_read_color(bs_t *bs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - picture
    - x
    - y
    - value
    argTypes:
    - picture_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: SetYUVPPixel
    functionSourceFile: /src/vlc/modules/codec/scte27.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetYUVPPixel(picture_t *picture, int x, int y, int value)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/scte27.c:92,1
    - Dst: bs_init
      Src: /src/vlc/modules/codec/scte27.c:95,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/scte27.c:97,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/scte27.c:98,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/scte27.c:99,1
    - Dst: bs_read_color
      Src: /src/vlc/modules/codec/scte27.c:100,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/scte27.c:101,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/scte27.c:102,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/scte27.c:103,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/scte27.c:104,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/scte27.c:113,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/scte27.c:114,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/scte27.c:115,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/scte27.c:116,1
    - Dst: bs_read_color
      Src: /src/vlc/modules/codec/scte27.c:117,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/scte27.c:130,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/scte27.c:131,1
    - Dst: bs_read_color
      Src: /src/vlc/modules/codec/scte27.c:132,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/scte27.c:134,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/scte27.c:135,1
    - Dst: bs_read_color
      Src: /src/vlc/modules/codec/scte27.c:136,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/scte27.c:138,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/scte27.c:140,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/codec/scte27.c:144,1
    - Dst: bs_eof
      Src: /src/vlc/modules/codec/scte27.c:148,1
    - Dst: bs_read1
      Src: /src/vlc/modules/codec/scte27.c:156,1
    - Dst: bs_read1
      Src: /src/vlc/modules/codec/scte27.c:157,1
    - Dst: bs_read1
      Src: /src/vlc/modules/codec/scte27.c:158,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/scte27.c:159,1
    - Dst: __MIN
      Src: /src/vlc/modules/codec/scte27.c:160,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/scte27.c:177,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/scte27.c:184,1
    - Dst: subpicture_region_New
      Src: /src/vlc/modules/codec/scte27.c:261,1
    - Dst: free
      Src: /src/vlc/modules/codec/scte27.c:263,1
    - Dst: memset
      Src: /src/vlc/modules/codec/scte27.c:271,1
    - Dst: SetYUVPPixel
      Src: /src/vlc/modules/codec/scte27.c:292,1
    - Dst: SetYUVPPixel
      Src: /src/vlc/modules/codec/scte27.c:294,1
    - Dst: SetYUVPPixel
      Src: /src/vlc/modules/codec/scte27.c:296,1
    - Dst: SetYUVPPixel
      Src: /src/vlc/modules/codec/scte27.c:298,1
    - Dst: SetYUVPPixel
      Src: /src/vlc/modules/codec/scte27.c:310,1
    - Dst: SetYUVPPixel
      Src: /src/vlc/modules/codec/scte27.c:322,1
    - Dst: free
      Src: /src/vlc/modules/codec/scte27.c:326,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 124
    argCount: 3
    argNames:
    - dec
    - data
    - size
    argTypes:
    - decoder_t*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 328
    functionName: DecodeSimpleBitmap
    functionSourceFile: /src/vlc/modules/codec/scte27.c
    functionUses: 0
    functionsReached:
    - bs_skip
    - bs_read_color
    - bs_read1
    - subpicture_region_New
    - memset
    - bs_eof
    - bs_read
    - free
    - __MIN
    - vlc_alloc
    - SetYUVPPixel
    - bs_init
    - VLC_UNUSED
    linkageType: ''
    returnType: subpicture_region_t
    signature: "subpicture_region_t *DecodeSimpleBitmap(decoder_t *dec,\n                                               const
      uint8_t *data, int size)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GetWBE
      Src: /src/vlc/modules/codec/scte27.c:342,1
    - Dst: DecodeSimpleBitmap
      Src: /src/vlc/modules/codec/scte27.c:355,1
    - Dst: decoder_NewSubpicture
      Src: /src/vlc/modules/codec/scte27.c:358,1
    - Dst: subpicture_region_Delete
      Src: /src/vlc/modules/codec/scte27.c:360,1
    - Dst: VLC_TICK_FROM_US
      Src: /src/vlc/modules/codec/scte27.c:368,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/codec/scte27.c:373,1
    - Dst: VLC_TICK_FROM_US
      Src: /src/vlc/modules/codec/scte27.c:378,1
    - Dst: VLC_TICK_FROM_US
      Src: /src/vlc/modules/codec/scte27.c:383,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/scte27.c:386,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/codec/scte27.c:389,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/scte27.c:394,1
    - Dst: vlc_spu_regions_push
      Src: /src/vlc/modules/codec/scte27.c:398,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/scte27.c:403,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 60
    argCount: 4
    argNames:
    - dec
    - data
    - size
    - date
    argTypes:
    - decoder_t*
    - uint8_t*
    - int
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 330
    functionDepth: 3
    functionLinenumber: 330
    functionLinenumberEnd: 405
    functionName: DecodeSubtitleMessage
    functionSourceFile: /src/vlc/modules/codec/scte27.c
    functionUses: 0
    functionsReached:
    - GetWBE
    - decoder_NewSubpicture
    - VLC_TICK_FROM_US
    - vlc_spu_regions_push
    - VLC_TICK_FROM_MS
    - msg_Err
    - DecodeSimpleBitmap
    - msg_Warn
    - subpicture_region_Delete
    linkageType: ''
    returnType: subpicture_t
    signature: "subpicture_t *DecodeSubtitleMessage(decoder_t *dec,\n                                           const
      uint8_t *data, int size,\n                                           vlc_tick_t
      date)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/scte27.c:426,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/scte27.c:431,1
    - Dst: GetWBE
      Src: /src/vlc/modules/codec/scte27.c:440,1
    - Dst: xrealloc
      Src: /src/vlc/modules/codec/scte27.c:458,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/scte27.c:460,1
    - Dst: DecodeSubtitleMessage
      Src: /src/vlc/modules/codec/scte27.c:465,1
    - Dst: DecodeSubtitleMessage
      Src: /src/vlc/modules/codec/scte27.c:472,1
    - Dst: decoder_QueueSub
      Src: /src/vlc/modules/codec/scte27.c:478,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/scte27.c:486,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 53
    argCount: 2
    argNames:
    - dec
    - b
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 407
    functionDepth: 4
    functionLinenumber: 407
    functionLinenumberEnd: 488
    functionName: Decode
    functionSourceFile: /src/vlc/modules/codec/scte27.c
    functionUses: 16
    functionsReached:
    - GetWBE
    - block_Release
    - xrealloc
    - decoder_QueueSub
    - DecodeSubtitleMessage
    - memcpy
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int Decode(decoder_t *dec, block_t *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/scte27.c:497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 508
    functionName: Open
    functionSourceFile: /src/vlc/modules/codec/scte27.c
    functionUses: 70
    functionsReached:
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/codec/scte27.c:515,1
    - Dst: free
      Src: /src/vlc/modules/codec/scte27.c:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 517
    functionName: Close
    functionSourceFile: /src/vlc/modules/codec/scte27.c
    functionUses: 178
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: assert
    functionSourceFile: /src/vlc/modules/codec/flac.c
    functionUses: 1789
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assert(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - p_out
    - pp_in
    - pi_index
    - i_nb_channels
    - i_samples
    - bits
    argTypes:
    - int32_t*
    - int32_t**
    - uint8_t*
    - unsigned
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 195
    functionName: Interleave
    functionSourceFile: /src/vlc/modules/codec/flac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Interleave( int32_t *p_out, const int32_t * const *pp_in,\n                        const
      uint8_t *restrict pi_index, unsigned i_nb_channels,\n                        unsigned
      i_samples, unsigned bits )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/codec/flac.c:213,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 6
    argNames:
    - i_channels
    - i_rate
    - i_streaminfo_rate
    - i_bitspersample
    - fmt
    - pi_channels_reorder
    argTypes:
    - unsigned
    - unsigned
    - unsigned
    - unsigned
    - audio_format_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 217
    functionName: DecoderSetOutputFormat
    functionSourceFile: /src/vlc/modules/codec/flac.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int DecoderSetOutputFormat( unsigned i_channels, unsigned i_rate,\n
      \                                  unsigned i_streaminfo_rate,\n                                   unsigned
      i_bitspersample,\n                                   audio_format_t *fmt,\n
      \                                  uint8_t *pi_channels_reorder )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/flac.c:227,1
    - Dst: DecoderSetOutputFormat
      Src: /src/vlc/modules/codec/flac.c:231,1
    - Dst: date_Change
      Src: /src/vlc/modules/codec/flac.c:242,1
    - Dst: date_Init
      Src: /src/vlc/modules/codec/flac.c:244,1
    - Dst: decoder_UpdateAudioFormat
      Src: /src/vlc/modules/codec/flac.c:247,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/flac.c:250,1
    - Dst: decoder_NewAudioBuffer
      Src: /src/vlc/modules/codec/flac.c:254,1
    - Dst: Interleave
      Src: /src/vlc/modules/codec/flac.c:259,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/flac.c:265,1
    - Dst: date_Increment
      Src: /src/vlc/modules/codec/flac.c:267,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - decoder
    - frame
    - buffer
    - client_data
    argTypes:
    - FLAC__StreamDecoder*
    - FLAC__Frame*
    - FLAC__int32*[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 271
    functionName: DecoderWriteCallback
    functionSourceFile: /src/vlc/modules/codec/flac.c
    functionUses: 0
    functionsReached:
    - decoder_NewAudioBuffer
    - DecoderSetOutputFormat
    - date_Init
    - Interleave
    - decoder_UpdateAudioFormat
    - date_Get
    - date_Increment
    - date_Change
    - VLC_UNUSED
    linkageType: ''
    returnType: FLAC__StreamDecoderWriteStatus
    signature: "FLAC__StreamDecoderWriteStatus DecoderWriteCallback( const FLAC__StreamDecoder
      *decoder,\n                      const FLAC__Frame *frame,\n                      const
      FLAC__int32 *const buffer[], void *client_data )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/flac.c:280,1
    - Dst: __MIN
      Src: /src/vlc/modules/codec/flac.c:286,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/flac.c:287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - decoder
    - buffer
    - bytes
    - client_data
    argTypes:
    - FLAC__StreamDecoder*
    - FLAC__byte[]
    - size_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 298
    functionName: DecoderReadCallback
    functionSourceFile: /src/vlc/modules/codec/flac.c
    functionUses: 0
    functionsReached:
    - memcpy
    - __MIN
    - VLC_UNUSED
    linkageType: ''
    returnType: FLAC__StreamDecoderReadStatus
    signature: "FLAC__StreamDecoderReadStatus DecoderReadCallback( const FLAC__StreamDecoder
      *decoder, FLAC__byte buffer[],\n                     size_t *bytes, void *client_data
      )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/flac.c:307,1
    - Dst: DecoderSetOutputFormat
      Src: /src/vlc/modules/codec/flac.c:315,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/flac.c:321,1
    - Dst: date_Init
      Src: /src/vlc/modules/codec/flac.c:328,1
    - Dst: strncmp
      Src: /src/vlc/modules/codec/flac.c:338,1
    - Dst: strtoul
      Src: /src/vlc/modules/codec/flac.c:341,1
    - Dst: stdc_count_ones
      Src: /src/vlc/modules/codec/flac.c:342,1
    - Dst: stdc_count_ones
      Src: /src/vlc/modules/codec/flac.c:358,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/flac.c:360,1
    - Dst: aout_CheckChannelReorder
      Src: /src/vlc/modules/codec/flac.c:366,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 3
    argNames:
    - decoder
    - metadata
    - client_data
    argTypes:
    - FLAC__StreamDecoder*
    - FLAC__StreamMetadata*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 385
    functionName: DecoderMetadataCallback
    functionSourceFile: /src/vlc/modules/codec/flac.c
    functionUses: 0
    functionsReached:
    - aout_CheckChannelReorder
    - stdc_count_ones
    - strtoul
    - DecoderSetOutputFormat
    - date_Init
    - strncmp
    - msg_Dbg
    - msg_Warn
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void DecoderMetadataCallback( const FLAC__StreamDecoder *decoder,\n
      \                                    const FLAC__StreamMetadata *metadata,\n
      \                                    void *client_data )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/flac.c:394,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/flac.c:401,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/flac.c:405,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/flac.c:408,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/flac.c:412,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/flac.c:416,1
    - Dst: FLAC__stream_decoder_flush
      Src: /src/vlc/modules/codec/flac.c:419,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - decoder
    - status
    - client_data
    argTypes:
    - FLAC__StreamDecoder*
    - FLAC__StreamDecoderErrorStatus
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 421
    functionName: DecoderErrorCallback
    functionSourceFile: /src/vlc/modules/codec/flac.c
    functionUses: 0
    functionsReached:
    - FLAC__stream_decoder_flush
    - msg_Err
    - msg_Warn
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void DecoderErrorCallback( const FLAC__StreamDecoder *decoder,\n                                  FLAC__StreamDecoderErrorStatus
      status,\n                                  void *client_data )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/flac.c:436,1
    - Dst: memset
      Src: /src/vlc/modules/codec/flac.c:441,1
    - Dst: FLAC__stream_decoder_new
      Src: /src/vlc/modules/codec/flac.c:445,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/flac.c:447,1
    - Dst: free
      Src: /src/vlc/modules/codec/flac.c:448,1
    - Dst: FLAC__stream_decoder_set_metadata_respond
      Src: /src/vlc/modules/codec/flac.c:453,1
    - Dst: FLAC__stream_decoder_init_stream
      Src: /src/vlc/modules/codec/flac.c:457,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/flac.c:469,1
    - Dst: FLAC__stream_decoder_delete
      Src: /src/vlc/modules/codec/flac.c:470,1
    - Dst: free
      Src: /src/vlc/modules/codec/flac.c:471,1
    - Dst: FLAC__stream_decoder_set_read_callback
      Src: /src/vlc/modules/codec/flac.c:475,1
    - Dst: FLAC__stream_decoder_set_write_callback
      Src: /src/vlc/modules/codec/flac.c:477,1
    - Dst: FLAC__stream_decoder_set_metadata_callback
      Src: /src/vlc/modules/codec/flac.c:479,1
    - Dst: FLAC__stream_decoder_set_error_callback
      Src: /src/vlc/modules/codec/flac.c:481,1
    - Dst: FLAC__stream_decoder_set_client_data
      Src: /src/vlc/modules/codec/flac.c:483,1
    - Dst: FLAC__stream_decoder_init
      Src: /src/vlc/modules/codec/flac.c:485,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 496
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/modules/codec/flac.c
    functionUses: 0
    functionsReached:
    - FLAC__stream_decoder_init_stream
    - memset
    - FLAC__stream_decoder_init
    - msg_Err
    - free
    - FLAC__stream_decoder_set_metadata_respond
    - FLAC__stream_decoder_set_client_data
    - FLAC__stream_decoder_set_read_callback
    - FLAC__stream_decoder_set_metadata_callback
    - FLAC__stream_decoder_set_write_callback
    - FLAC__stream_decoder_new
    - FLAC__stream_decoder_delete
    - malloc
    - FLAC__stream_decoder_set_error_callback
    linkageType: ''
    returnType: int
    signature: int OpenDecoder( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLAC__stream_decoder_finish
      Src: /src/vlc/modules/codec/flac.c:506,1
    - Dst: FLAC__stream_decoder_delete
      Src: /src/vlc/modules/codec/flac.c:507,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/flac.c:510,1
    - Dst: free
      Src: /src/vlc/modules/codec/flac.c:511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 512
    functionName: CloseDecoder
    functionSourceFile: /src/vlc/modules/codec/flac.c
    functionUses: 2
    functionsReached:
    - free
    - block_Release
    - FLAC__stream_decoder_delete
    - FLAC__stream_decoder_finish
    linkageType: ''
    returnType: void
    signature: void CloseDecoder( vlc_object_t *p_this )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/flac.c:525,1
    - Dst: memcmp
      Src: /src/vlc/modules/codec/flac.c:530,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/flac.c:533,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/flac.c:540,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/flac.c:547,1
    - Dst: FLAC__stream_decoder_process_until_end_of_metadata
      Src: /src/vlc/modules/codec/flac.c:549,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/flac.c:550,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/flac.c:552,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 554
    functionName: ProcessHeader
    functionSourceFile: /src/vlc/modules/codec/flac.c
    functionUses: 1
    functionsReached:
    - block_Release
    - memcpy
    - block_Alloc
    - msg_Dbg
    - FLAC__stream_decoder_process_until_end_of_metadata
    - memcmp
    linkageType: ''
    returnType: void
    signature: void ProcessHeader( decoder_t *p_dec )
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/flac.c:565,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/flac.c:568,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/flac.c:572,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/flac.c:576,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/flac.c:580,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/flac.c:584,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/flac.c:587,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/flac.c:591,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/flac.c:595,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/flac.c:600,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/flac.c:604,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/flac.c:609,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/flac.c:614,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/flac.c:617,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 2
    argNames:
    - p_dec
    - state
    argTypes:
    - decoder_t*
    - FLAC__StreamDecoderState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 619
    functionName: decoder_state_error
    functionSourceFile: /src/vlc/modules/codec/flac.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - msg_Warn
    - msg_Err
    linkageType: ''
    returnType: void
    signature: "void decoder_state_error( decoder_t *p_dec,\n                                 FLAC__StreamDecoderState
      state )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLAC__stream_decoder_flush
      Src: /src/vlc/modules/codec/flac.c:629,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/flac.c:630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 631
    functionName: Flush
    functionSourceFile: /src/vlc/modules/codec/flac.c
    functionUses: 83
    functionsReached:
    - date_Set
    - FLAC__stream_decoder_flush
    linkageType: ''
    returnType: void
    signature: void Flush( decoder_t *p_dec )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/vlc/modules/codec/flac.c:644,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/flac.c:647,1
    - Dst: ProcessHeader
      Src: /src/vlc/modules/codec/flac.c:654,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/flac.c:657,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/flac.c:665,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/flac.c:666,1
    - Dst: FLAC__stream_decoder_process_single
      Src: /src/vlc/modules/codec/flac.c:670,1
    - Dst: decoder_state_error
      Src: /src/vlc/modules/codec/flac.c:672,1
    - Dst: FLAC__stream_decoder_get_state
      Src: /src/vlc/modules/codec/flac.c:673,1
    - Dst: FLAC__stream_decoder_flush
      Src: /src/vlc/modules/codec/flac.c:674,1
    - Dst: FLAC__stream_decoder_get_state
      Src: /src/vlc/modules/codec/flac.c:679,1
    - Dst: FLAC__stream_decoder_flush
      Src: /src/vlc/modules/codec/flac.c:682,1
    - Dst: FLAC__stream_decoder_reset
      Src: /src/vlc/modules/codec/flac.c:685,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/flac.c:691,1
    - Dst: decoder_QueueAudio
      Src: /src/vlc/modules/codec/flac.c:695,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 636
    functionDepth: 2
    functionLinenumber: 636
    functionLinenumberEnd: 697
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/codec/flac.c
    functionUses: 9
    functionsReached:
    - decoder_QueueAudio
    - block_Release
    - decoder_state_error
    - FLAC__stream_decoder_flush
    - date_Set
    - FLAC__stream_decoder_reset
    - ProcessHeader
    - date_Get
    - FLAC__stream_decoder_get_state
    - Flush
    - FLAC__stream_decoder_process_single
    linkageType: ''
    returnType: int
    signature: int DecodeBlock( decoder_t *p_dec, block_t *p_block )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/flac.c:743,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/flac.c:743,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/flac.c:752,1
    - Dst: xmalloc
      Src: /src/vlc/modules/codec/flac.c:756,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/flac.c:757,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/flac.c:758,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/flac.c:766,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/flac.c:769,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/flac.c:772,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/codec/flac.c:778,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/codec/flac.c:783,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 6
    argNames:
    - encoder
    - buffer
    - bytes
    - samples
    - current_frame
    - client_data
    argTypes:
    - FLAC__StreamEncoder*
    - FLAC__byte[]
    - size_t
    - unsigned
    - unsigned
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 786
    functionName: EncoderWriteCallback
    functionSourceFile: /src/vlc/modules/codec/flac.c
    functionUses: 0
    functionsReached:
    - block_ChainAppend
    - memcpy
    - xmalloc
    - block_Alloc
    - msg_Dbg
    - vlc_tick_from_samples
    - unlikely
    - VLC_UNUSED
    linkageType: ''
    returnType: FLAC__StreamEncoderWriteStatus
    signature: "FLAC__StreamEncoderWriteStatus EncoderWriteCallback( const FLAC__StreamEncoder
      *encoder,\n                      const FLAC__byte buffer[],\n                      size_t
      bytes, unsigned samples,\n                      unsigned current_frame, void
      *client_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/flac.c:794,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/flac.c:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - encoder
    - metadata
    - client_data
    argTypes:
    - FLAC__StreamEncoder*
    - FLAC__StreamMetadata*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 799
    functionName: EncoderMetadataCallback
    functionSourceFile: /src/vlc/modules/codec/flac.c
    functionUses: 0
    functionsReached:
    - msg_Err
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void EncoderMetadataCallback( const FLAC__StreamEncoder *encoder,\n
      \                                    const FLAC__StreamMetadata *metadata,\n
      \                                    void *client_data )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/flac.c:816,1
    - Dst: FLAC__stream_encoder_new
      Src: /src/vlc/modules/codec/flac.c:827,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/flac.c:829,1
    - Dst: free
      Src: /src/vlc/modules/codec/flac.c:830,1
    - Dst: FLAC__stream_encoder_set_streamable_subset
      Src: /src/vlc/modules/codec/flac.c:834,1
    - Dst: FLAC__stream_encoder_set_channels
      Src: /src/vlc/modules/codec/flac.c:835,1
    - Dst: FLAC__stream_encoder_set_sample_rate
      Src: /src/vlc/modules/codec/flac.c:837,1
    - Dst: FLAC__stream_encoder_set_bits_per_sample
      Src: /src/vlc/modules/codec/flac.c:839,1
    - Dst: FLAC__stream_encoder_init_stream
      Src: /src/vlc/modules/codec/flac.c:846,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/flac.c:854,1
    - Dst: FLAC__stream_encoder_delete
      Src: /src/vlc/modules/codec/flac.c:855,1
    - Dst: free
      Src: /src/vlc/modules/codec/flac.c:856,1
    - Dst: FLAC__stream_encoder_set_write_callback
      Src: /src/vlc/modules/codec/flac.c:860,1
    - Dst: FLAC__stream_encoder_set_metadata_callback
      Src: /src/vlc/modules/codec/flac.c:862,1
    - Dst: FLAC__stream_encoder_set_client_data
      Src: /src/vlc/modules/codec/flac.c:864,1
    - Dst: FLAC__stream_encoder_init
      Src: /src/vlc/modules/codec/flac.c:866,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 877
    functionName: OpenEncoder
    functionSourceFile: /src/vlc/modules/codec/flac.c
    functionUses: 0
    functionsReached:
    - FLAC__stream_encoder_set_sample_rate
    - FLAC__stream_encoder_set_client_data
    - FLAC__stream_encoder_set_bits_per_sample
    - FLAC__stream_encoder_init
    - FLAC__stream_encoder_new
    - FLAC__stream_encoder_set_channels
    - FLAC__stream_encoder_set_streamable_subset
    - FLAC__stream_encoder_set_write_callback
    - msg_Err
    - free
    - FLAC__stream_encoder_init_stream
    - FLAC__stream_encoder_delete
    - FLAC__stream_encoder_set_metadata_callback
    - malloc
    linkageType: ''
    returnType: int
    signature: int OpenEncoder( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/codec/flac.c:890,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/codec/flac.c:893,1
    - Dst: xrealloc
      Src: /src/vlc/modules/codec/flac.c:902,1
    - Dst: FLAC__stream_encoder_process_interleaved
      Src: /src/vlc/modules/codec/flac.c:911,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - p_enc
    - p_aout_buf
    argTypes:
    - encoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 884
    functionDepth: 1
    functionLinenumber: 884
    functionLinenumberEnd: 918
    functionName: Encode
    functionSourceFile: /src/vlc/modules/codec/flac.c
    functionUses: 0
    functionsReached:
    - vlc_tick_from_samples
    - unlikely
    - xrealloc
    - FLAC__stream_encoder_process_interleaved
    linkageType: ''
    returnType: block_t
    signature: block_t *Encode( encoder_t *p_enc, block_t *p_aout_buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLAC__stream_encoder_delete
      Src: /src/vlc/modules/codec/flac.c:927,1
    - Dst: free
      Src: /src/vlc/modules/codec/flac.c:929,1
    - Dst: free
      Src: /src/vlc/modules/codec/flac.c:930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_enc
    argTypes:
    - encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 931
    functionName: CloseEncoder
    functionSourceFile: /src/vlc/modules/codec/flac.c
    functionUses: 1
    functionsReached:
    - free
    - FLAC__stream_encoder_delete
    linkageType: ''
    returnType: void
    signature: void CloseEncoder( encoder_t *p_enc )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/atsc_a65.c:72,1
    - Dst: strnlen
      Src: /src/vlc/modules/codec/atsc_a65.c:75,1
    - Dst: strdup
      Src: /src/vlc/modules/codec/atsc_a65.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - psz_lang
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: atsc_a65_handle_New
    functionSourceFile: /src/vlc/modules/codec/atsc_a65.c
    functionUses: 3
    functionsReached:
    - strdup
    - malloc
    - strnlen
    linkageType: ''
    returnType: atsc_a65_handle_t
    signature: atsc_a65_handle_t *atsc_a65_handle_New( const char *psz_lang )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_iconv_close
      Src: /src/vlc/modules/codec/atsc_a65.c:88,1
    - Dst: free
      Src: /src/vlc/modules/codec/atsc_a65.c:89,1
    - Dst: free
      Src: /src/vlc/modules/codec/atsc_a65.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_handle
    argTypes:
    - atsc_a65_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: atsc_a65_handle_Release
    functionSourceFile: /src/vlc/modules/codec/atsc_a65.c
    functionUses: 2
    functionsReached:
    - free
    - vlc_iconv_close
    linkageType: ''
    returnType: void
    signature: void atsc_a65_handle_Release( atsc_a65_handle_t *p_handle )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/atsc_a65.c:98,1
    - Dst: memset
      Src: /src/vlc/modules/codec/atsc_a65.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - p_src
    - i_src
    - i_prefix
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 113
    functionName: enlarge_to16
    functionSourceFile: /src/vlc/modules/codec/atsc_a65.c
    functionUses: 0
    functionsReached:
    - malloc
    - memset
    linkageType: ''
    returnType: char
    signature: char *enlarge_to16( const uint8_t *p_src, size_t i_src, uint8_t i_prefix
      )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_iconv_open
      Src: /src/vlc/modules/codec/atsc_a65.c:139,1
    - Dst: vlc_iconv
      Src: /src/vlc/modules/codec/atsc_a65.c:142,1
    - Dst: enlarge_to16
      Src: /src/vlc/modules/codec/atsc_a65.c:147,1
    - Dst: realloc
      Src: /src/vlc/modules/codec/atsc_a65.c:150,1
    - Dst: vlc_iconv
      Src: /src/vlc/modules/codec/atsc_a65.c:158,1
    - Dst: free
      Src: /src/vlc/modules/codec/atsc_a65.c:164,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 6
    argNames:
    - p_handle
    - p_src
    - i_src
    - ppsz_merg
    - pi_mergmin1
    - i_mode
    argTypes:
    - atsc_a65_handle_t*
    - uint8_t*
    - size_t
    - char**
    - size_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 177
    functionName: convert_encoding_set
    functionSourceFile: /src/vlc/modules/codec/atsc_a65.c
    functionUses: 0
    functionsReached:
    - realloc
    - vlc_iconv_open
    - free
    - vlc_iconv
    - enlarge_to16
    linkageType: ''
    returnType: bool
    signature: "bool convert_encoding_set( atsc_a65_handle_t *p_handle,\n                                  const
      uint8_t *p_src, size_t i_src,\n                                  char **ppsz_merg,
      size_t *pi_mergmin1,\n                                  uint8_t i_mode )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: BUF_ADVANCE
    functionSourceFile: /src/vlc/modules/codec/atsc_a65.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUF_ADVANCE(n)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BUF_ADVANCE
      Src: /src/vlc/modules/codec/atsc_a65.c:190,1
    - Dst: memcmp
      Src: /src/vlc/modules/codec/atsc_a65.c:197,1
    - Dst: BUF_ADVANCE
      Src: /src/vlc/modules/codec/atsc_a65.c:198,1
    - Dst: BUF_ADVANCE
      Src: /src/vlc/modules/codec/atsc_a65.c:201,1
    - Dst: BUF_ADVANCE
      Src: /src/vlc/modules/codec/atsc_a65.c:210,1
    - Dst: convert_encoding_set
      Src: /src/vlc/modules/codec/atsc_a65.c:222,1
    - Dst: BUF_ADVANCE
      Src: /src/vlc/modules/codec/atsc_a65.c:226,1
    - Dst: free
      Src: /src/vlc/modules/codec/atsc_a65.c:233,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - p_handle
    - p_buffer
    - i_buffer
    argTypes:
    - atsc_a65_handle_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 235
    functionName: atsc_a65_Decode_multiple_string
    functionSourceFile: /src/vlc/modules/codec/atsc_a65.c
    functionUses: 3
    functionsReached:
    - free
    - memcmp
    - convert_encoding_set
    - BUF_ADVANCE
    linkageType: ''
    returnType: char
    signature: char * atsc_a65_Decode_multiple_string( atsc_a65_handle_t *p_handle,
      const uint8_t *p_buffer, size_t i_buffer )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_iconv_open
      Src: /src/vlc/modules/codec/atsc_a65.c:246,1
    - Dst: vlc_iconv
      Src: /src/vlc/modules/codec/atsc_a65.c:249,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/atsc_a65.c:258,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/atsc_a65.c:260,1
    - Dst: vlc_iconv
      Src: /src/vlc/modules/codec/atsc_a65.c:263,1
    - Dst: free
      Src: /src/vlc/modules/codec/atsc_a65.c:266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - p_handle
    - p_buffer
    - i_buffer
    argTypes:
    - atsc_a65_handle_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 273
    functionName: atsc_a65_Decode_simple_UTF16_string
    functionSourceFile: /src/vlc/modules/codec/atsc_a65.c
    functionUses: 1
    functionsReached:
    - vlc_iconv_open
    - free
    - vlc_iconv
    - unlikely
    - malloc
    linkageType: ''
    returnType: char
    signature: char * atsc_a65_Decode_simple_UTF16_string( atsc_a65_handle_t *p_handle,
      const uint8_t *p_buffer, size_t i_buffer )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/oggspots.c:106,1
    - Dst: image_HandlerCreate
      Src: /src/vlc/modules/codec/oggspots.c:116,1
    - Dst: free
      Src: /src/vlc/modules/codec/oggspots.c:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - p_this
    - b_packetizer
    argTypes:
    - vlc_object_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 136
    functionName: OpenCommon
    functionSourceFile: /src/vlc/modules/codec/oggspots.c
    functionUses: 27
    functionsReached:
    - free
    - image_HandlerCreate
    - malloc
    linkageType: ''
    returnType: int
    signature: int OpenCommon(vlc_object_t* p_this, bool b_packetizer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenCommon
      Src: /src/vlc/modules/codec/oggspots.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/modules/codec/oggspots.c
    functionUses: 0
    functionsReached:
    - OpenCommon
    linkageType: ''
    returnType: int
    signature: int OpenDecoder(vlc_object_t* p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenCommon
      Src: /src/vlc/modules/codec/oggspots.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: OpenPacketizer
    functionSourceFile: /src/vlc/modules/codec/oggspots.c
    functionUses: 1
    functionsReached:
    - OpenCommon
    linkageType: ''
    returnType: int
    signature: int OpenPacketizer(vlc_object_t* p_this)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ProcessHeader
      Src: /src/vlc/modules/codec/oggspots.c:162,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/oggspots.c:163,1
    - Dst: ProcessPacket
      Src: /src/vlc/modules/codec/oggspots.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 170
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/codec/oggspots.c
    functionUses: 9
    functionsReached:
    - ProcessPacket
    - ProcessHeader
    - block_Release
    linkageType: ''
    returnType: void
    signature: void * DecodeBlock(decoder_t* p_dec, block_t* p_block)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DecodeBlock
      Src: /src/vlc/modules/codec/oggspots.c:177,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/modules/codec/oggspots.c:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: DecodeVideo
    functionSourceFile: /src/vlc/modules/codec/oggspots.c
    functionUses: 4
    functionsReached:
    - DecodeBlock
    - decoder_QueueVideo
    linkageType: ''
    returnType: int
    signature: int DecodeVideo( decoder_t *p_dec, block_t *p_block )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DecodeBlock
      Src: /src/vlc/modules/codec/oggspots.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 191
    functionName: Packetize
    functionSourceFile: /src/vlc/modules/codec/oggspots.c
    functionUses: 9
    functionsReached:
    - DecodeBlock
    linkageType: ''
    returnType: block_t
    signature: block_t *Packetize( decoder_t *p_dec, block_t **pp_block )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/codec/oggspots.c:212,1
    - Dst: GetWLE
      Src: /src/vlc/modules/codec/oggspots.c:217,1
    - Dst: GetWLE
      Src: /src/vlc/modules/codec/oggspots.c:218,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/codec/oggspots.c:224,1
    - Dst: GetQWLE
      Src: /src/vlc/modules/codec/oggspots.c:225,1
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/codec/oggspots.c:239,1
    - Dst: memcmp
      Src: /src/vlc/modules/codec/oggspots.c:245,1
    - Dst: memcmp
      Src: /src/vlc/modules/codec/oggspots.c:245,1
    - Dst: strncpy
      Src: /src/vlc/modules/codec/oggspots.c:247,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/oggspots.c:250,1
    - Dst: GetWLE
      Src: /src/vlc/modules/codec/oggspots.c:256,1
    - Dst: GetWLE
      Src: /src/vlc/modules/codec/oggspots.c:258,1
    - Dst: realloc
      Src: /src/vlc/modules/codec/oggspots.c:269,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/oggspots.c:271,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/oggspots.c:276,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 281
    functionName: ProcessHeader
    functionSourceFile: /src/vlc/modules/codec/oggspots.c
    functionUses: 3
    functionsReached:
    - GetQWLE
    - GetWLE
    - realloc
    - unlikely
    - memcpy
    - vlc_ureduce
    - msg_Warn
    - strncpy
    - memcmp
    linkageType: ''
    returnType: int
    signature: int ProcessHeader(decoder_t* p_dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 291
    functionName: Flush
    functionSourceFile: /src/vlc/modules/codec/oggspots.c
    functionUses: 84
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Flush(decoder_t* p_dec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/codec/oggspots.c:306,1
    - Dst: DecodePacket
      Src: /src/vlc/modules/codec/oggspots.c:326,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 330
    functionName: ProcessPacket
    functionSourceFile: /src/vlc/modules/codec/oggspots.c
    functionUses: 4
    functionsReached:
    - block_Release
    - DecodePacket
    linkageType: ''
    returnType: void
    signature: void * ProcessPacket(decoder_t* p_dec, block_t* p_block)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/oggspots.c:342,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/codec/oggspots.c:347,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/oggspots.c:349,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/oggspots.c:354,1
    - Dst: memcmp
      Src: /src/vlc/modules/codec/oggspots.c:361,1
    - Dst: memcmp
      Src: /src/vlc/modules/codec/oggspots.c:364,1
    - Dst: strncpy
      Src: /src/vlc/modules/codec/oggspots.c:369,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/oggspots.c:372,1
    - Dst: image_Read
      Src: /src/vlc/modules/codec/oggspots.c:382,1
    - Dst: decoder_UpdateVideoFormat
      Src: /src/vlc/modules/codec/oggspots.c:391,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/oggspots.c:396,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 398
    functionName: DecodePacket
    functionSourceFile: /src/vlc/modules/codec/oggspots.c
    functionUses: 6
    functionsReached:
    - block_Release
    - decoder_UpdateVideoFormat
    - image_Read
    - GetDWLE
    - msg_Dbg
    - strncpy
    - memcmp
    linkageType: ''
    returnType: picture_t
    signature: picture_t * DecodePacket(decoder_t* p_dec, block_t* p_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: image_HandlerDelete
      Src: /src/vlc/modules/codec/oggspots.c:408,1
    - Dst: free
      Src: /src/vlc/modules/codec/oggspots.c:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 410
    functionName: CloseDecoder
    functionSourceFile: /src/vlc/modules/codec/oggspots.c
    functionUses: 2
    functionsReached:
    - free
    - image_HandlerDelete
    linkageType: ''
    returnType: void
    signature: void CloseDecoder(vlc_object_t* p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CFDictionaryCreateMutable
      Src: /src/vlc/modules/codec/vt_utils.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - CFIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: cfdict_create
    functionSourceFile: /src/vlc/modules/codec/vt_utils.c
    functionUses: 0
    functionsReached:
    - CFDictionaryCreateMutable
    linkageType: ''
    returnType: CFMutableDictionaryRef
    signature: CFMutableDictionaryRef cfdict_create(CFIndex capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CFNumberCreate
      Src: /src/vlc/modules/codec/vt_utils.c:41,1
    - Dst: CFDictionarySetValue
      Src: /src/vlc/modules/codec/vt_utils.c:42,1
    - Dst: CFRelease
      Src: /src/vlc/modules/codec/vt_utils.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dict
    - key
    - value
    argTypes:
    - CFMutableDictionaryRef
    - CFStringRef
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: cfdict_set_int32
    functionSourceFile: /src/vlc/modules/codec/vt_utils.c
    functionUses: 0
    functionsReached:
    - CFDictionarySetValue
    - CFRelease
    - CFNumberCreate
    linkageType: ''
    returnType: void
    signature: void cfdict_set_int32(CFMutableDictionaryRef dict, CFStringRef key,
      int value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_atomic_rc_dec
      Src: /src/vlc/modules/codec/vt_utils.c:61,1
    - Dst: CFRelease
      Src: /src/vlc/modules/codec/vt_utils.c:63,1
    - Dst: struct cvpxpic_ctx*::on_released_cb
      Src: /src/vlc/modules/codec/vt_utils.c:65,1
    - Dst: free
      Src: /src/vlc/modules/codec/vt_utils.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 68
    functionName: cvpxpic_destroy_cb
    functionSourceFile: /src/vlc/modules/codec/vt_utils.c
    functionUses: 0
    functionsReached:
    - free
    - CFRelease
    - vlc_atomic_rc_dec
    - struct cvpxpic_ctx*::on_released_cb
    linkageType: ''
    returnType: void
    signature: void cvpxpic_destroy_cb(picture_context_t *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_atomic_rc_inc
      Src: /src/vlc/modules/codec/vt_utils.c:74,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/codec/vt_utils.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - struct picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: cvpxpic_copy_cb
    functionSourceFile: /src/vlc/modules/codec/vt_utils.c
    functionUses: 0
    functionsReached:
    - vlc_atomic_rc_inc
    - vlc_video_context_Hold
    linkageType: ''
    returnType: picture_context_t
    signature: 'picture_context_t *

      cvpxpic_copy_cb(struct picture_context_t *opaque)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/vt_utils.c:85,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/vt_utils.c:88,1
    - Dst: CVPixelBufferRetain
      Src: /src/vlc/modules/codec/vt_utils.c:94,1
    - Dst: vlc_atomic_rc_init
      Src: /src/vlc/modules/codec/vt_utils.c:96,1
    - Dst: assert
      Src: /src/vlc/modules/codec/vt_utils.c:98,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/codec/vt_utils.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - p_pic
    - cvpx
    - vctx
    argTypes:
    - picture_t*
    - CVPixelBufferRef
    - vlc_video_context*
    assertStmts:
    - condition: (vctx)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/vlc/modules/codec/vt_utils.c
    constantsTouched: []
    func_position:
      end: 105
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 105
    functionName: cvpxpic_attach_common
    functionSourceFile: /src/vlc/modules/codec/vt_utils.c
    functionUses: 0
    functionsReached:
    - assert
    - CVPixelBufferRetain
    - vlc_video_context_Hold
    - picture_Release
    - vlc_atomic_rc_init
    - malloc
    linkageType: ''
    returnType: int
    signature: "int cvpxpic_attach_common(picture_t *p_pic, CVPixelBufferRef cvpx,\n
      \                     void (*pf_destroy)(picture_context_t *),\n                      vlc_video_context
      *vctx,\n                      void (*on_released_cb)(vlc_video_context *vctx,
      unsigned))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cvpxpic_attach_common
      Src: /src/vlc/modules/codec/vt_utils.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_pic
    - cvpx
    - vctx
    argTypes:
    - picture_t*
    - CVPixelBufferRef
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: cvpxpic_attach
    functionSourceFile: /src/vlc/modules/codec/vt_utils.c
    functionUses: 3
    functionsReached:
    - cvpxpic_attach_common
    linkageType: ''
    returnType: int
    signature: "int cvpxpic_attach(picture_t *p_pic, CVPixelBufferRef cvpx, vlc_video_context
      *vctx,\n               void (*on_released_cb)(vlc_video_context *vctx, unsigned))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/vt_utils.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pic
    argTypes:
    - picture_t*
    assertStmts:
    - condition: (pic->context != NULL)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/vlc/modules/codec/vt_utils.c
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: cvpxpic_get_ref
    functionSourceFile: /src/vlc/modules/codec/vt_utils.c
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: CVPixelBufferRef
    signature: CVPixelBufferRef cvpxpic_get_ref(picture_t *pic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CVPixelBufferUnlockBaseAddress
      Src: /src/vlc/modules/codec/vt_utils.c:126,1
    - Dst: cvpxpic_destroy_cb
      Src: /src/vlc/modules/codec/vt_utils.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: cvpxpic_destroy_mapped_ro_cb
    functionSourceFile: /src/vlc/modules/codec/vt_utils.c
    functionUses: 0
    functionsReached:
    - cvpxpic_destroy_cb
    - CVPixelBufferUnlockBaseAddress
    linkageType: ''
    returnType: void
    signature: void cvpxpic_destroy_mapped_ro_cb(picture_context_t *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CVPixelBufferUnlockBaseAddress
      Src: /src/vlc/modules/codec/vt_utils.c:135,1
    - Dst: cvpxpic_destroy_cb
      Src: /src/vlc/modules/codec/vt_utils.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 137
    functionName: cvpxpic_destroy_mapped_rw_cb
    functionSourceFile: /src/vlc/modules/codec/vt_utils.c
    functionUses: 0
    functionsReached:
    - cvpxpic_destroy_cb
    - CVPixelBufferUnlockBaseAddress
    linkageType: ''
    returnType: void
    signature: void cvpxpic_destroy_mapped_rw_cb(picture_context_t *opaque)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CVPixelBufferLockBaseAddress
      Src: /src/vlc/modules/codec/vt_utils.c:156,1
    - Dst: assert
      Src: /src/vlc/modules/codec/vt_utils.c:160,1
    - Dst: CVPixelBufferGetPlaneCount
      Src: /src/vlc/modules/codec/vt_utils.c:160,1
    - Dst: picture_NewFromResource
      Src: /src/vlc/modules/codec/vt_utils.c:166,1
    - Dst: cvpxpic_attach_common
      Src: /src/vlc/modules/codec/vt_utils.c:168,1
    - Dst: CVPixelBufferUnlockBaseAddress
      Src: /src/vlc/modules/codec/vt_utils.c:170,1
    - Dst: CVPixelBufferGetBaseAddress
      Src: /src/vlc/modules/codec/vt_utils.c:176,1
    - Dst: CVPixelBufferGetHeight
      Src: /src/vlc/modules/codec/vt_utils.c:177,1
    - Dst: CVPixelBufferGetBytesPerRow
      Src: /src/vlc/modules/codec/vt_utils.c:178,1
    - Dst: CVPixelBufferGetBaseAddressOfPlane
      Src: /src/vlc/modules/codec/vt_utils.c:184,1
    - Dst: CVPixelBufferGetHeightOfPlane
      Src: /src/vlc/modules/codec/vt_utils.c:185,1
    - Dst: CVPixelBufferGetBytesPerRowOfPlane
      Src: /src/vlc/modules/codec/vt_utils.c:186,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 4
    argNames:
    - fmt
    - cvpx
    - vctx
    - readonly
    argTypes:
    - video_format_t*
    - CVPixelBufferRef
    - vlc_video_context*
    - bool
    assertStmts:
    - condition: (CVPixelBufferGetPlaneCount(cvpx) == planes_count)
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/vlc/modules/codec/vt_utils.c
    constantsTouched: []
    func_position:
      end: 191
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 191
    functionName: cvpxpic_create_mapped
    functionSourceFile: /src/vlc/modules/codec/vt_utils.c
    functionUses: 2
    functionsReached:
    - CVPixelBufferGetHeightOfPlane
    - CVPixelBufferGetBytesPerRow
    - assert
    - picture_NewFromResource
    - CVPixelBufferGetBaseAddress
    - CVPixelBufferLockBaseAddress
    - CVPixelBufferGetPlaneCount
    - CVPixelBufferGetHeight
    - cvpxpic_attach_common
    - CVPixelBufferGetBytesPerRowOfPlane
    - CVPixelBufferGetBaseAddressOfPlane
    - CVPixelBufferUnlockBaseAddress
    linkageType: ''
    returnType: picture_t
    signature: "picture_t *\ncvpxpic_create_mapped(const video_format_t *fmt, CVPixelBufferRef
      cvpx,\n                      vlc_video_context *vctx, bool readonly)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/vt_utils.c:205,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/vt_utils.c:206,1
    - Dst: assert
      Src: /src/vlc/modules/codec/vt_utils.c:209,1
    - Dst: picture_NewFromFormat
      Src: /src/vlc/modules/codec/vt_utils.c:211,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/vt_utils.c:214,1
    - Dst: cvpxpic_attach
      Src: /src/vlc/modules/codec/vt_utils.c:218,1
    - Dst: cvpxpic_get_ref
      Src: /src/vlc/modules/codec/vt_utils.c:218,1
    - Dst: picture_CopyProperties
      Src: /src/vlc/modules/codec/vt_utils.c:219,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/vt_utils.c:220,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - mapped_pic
    argTypes:
    - picture_t*
    assertStmts:
    - condition: (!"invalid mapped_pic fmt")
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/vlc/modules/codec/vt_utils.c
    - condition: (mapped_pic->context != NULL)
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/vlc/modules/codec/vt_utils.c
    constantsTouched: []
    func_position:
      end: 222
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 222
    functionName: cvpxpic_unmap
    functionSourceFile: /src/vlc/modules/codec/vt_utils.c
    functionUses: 0
    functionsReached:
    - cvpxpic_get_ref
    - assert
    - picture_CopyProperties
    - picture_Release
    - picture_NewFromFormat
    - cvpxpic_attach
    linkageType: ''
    returnType: picture_t
    signature: 'picture_t *

      cvpxpic_unmap(picture_t *mapped_pic)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cfdict_create
      Src: /src/vlc/modules/codec/vt_utils.c:250,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/vt_utils.c:251,1
    - Dst: cfdict_create
      Src: /src/vlc/modules/codec/vt_utils.c:253,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/vt_utils.c:254,1
    - Dst: CFRelease
      Src: /src/vlc/modules/codec/vt_utils.c:256,1
    - Dst: cfdict_create
      Src: /src/vlc/modules/codec/vt_utils.c:260,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/vt_utils.c:261,1
    - Dst: CFRelease
      Src: /src/vlc/modules/codec/vt_utils.c:263,1
    - Dst: CFRelease
      Src: /src/vlc/modules/codec/vt_utils.c:264,1
    - Dst: CFDictionarySetValue
      Src: /src/vlc/modules/codec/vt_utils.c:267,1
    - Dst: CFRelease
      Src: /src/vlc/modules/codec/vt_utils.c:269,1
    - Dst: cfdict_set_int32
      Src: /src/vlc/modules/codec/vt_utils.c:271,1
    - Dst: cfdict_set_int32
      Src: /src/vlc/modules/codec/vt_utils.c:273,1
    - Dst: cfdict_set_int32
      Src: /src/vlc/modules/codec/vt_utils.c:274,1
    - Dst: cfdict_set_int32
      Src: /src/vlc/modules/codec/vt_utils.c:276,1
    - Dst: cfdict_set_int32
      Src: /src/vlc/modules/codec/vt_utils.c:278,1
    - Dst: cfdict_set_int32
      Src: /src/vlc/modules/codec/vt_utils.c:279,1
    - Dst: CVPixelBufferPoolCreate
      Src: /src/vlc/modules/codec/vt_utils.c:283,1
    - Dst: CFRelease
      Src: /src/vlc/modules/codec/vt_utils.c:284,1
    - Dst: CFRelease
      Src: /src/vlc/modules/codec/vt_utils.c:285,1
    - Dst: CVPixelBufferPoolCreatePixelBuffer
      Src: /src/vlc/modules/codec/vt_utils.c:292,1
    - Dst: CVPixelBufferPoolRelease
      Src: /src/vlc/modules/codec/vt_utils.c:295,1
    - Dst: CFRelease
      Src: /src/vlc/modules/codec/vt_utils.c:302,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 2
    argNames:
    - fmt
    - count
    argTypes:
    - video_format_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 305
    functionName: cvpxpool_create
    functionSourceFile: /src/vlc/modules/codec/vt_utils.c
    functionUses: 3
    functionsReached:
    - CFRelease
    - cfdict_set_int32
    - CVPixelBufferPoolCreate
    - CVPixelBufferPoolRelease
    - cfdict_create
    - CFDictionarySetValue
    - CVPixelBufferPoolCreatePixelBuffer
    - unlikely
    linkageType: ''
    returnType: CVPixelBufferPoolRef
    signature: CVPixelBufferPoolRef cvpxpool_create(const video_format_t *fmt, unsigned
      count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CVPixelBufferPoolCreatePixelBuffer
      Src: /src/vlc/modules/codec/vt_utils.c:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pool
    argTypes:
    - CVPixelBufferPoolRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 317
    functionName: cvpxpool_new_cvpx
    functionSourceFile: /src/vlc/modules/codec/vt_utils.c
    functionUses: 3
    functionsReached:
    - CVPixelBufferPoolCreatePixelBuffer
    linkageType: ''
    returnType: CVPixelBufferRef
    signature: CVPixelBufferRef cvpxpool_new_cvpx(CVPixelBufferPoolRef pool)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_available
      Src: /src/vlc/modules/codec/vt_utils.c:326,1
    - Dst: __builtin_available
      Src: /src/vlc/modules/codec/vt_utils.c:334,1
    - Dst: vlc_coeffs_to_iso_23001_8_mc
      Src: /src/vlc/modules/codec/vt_utils.c:336,1
    - Dst: CVYCbCrMatrixGetStringForIntegerCodePoint
      Src: /src/vlc/modules/codec/vt_utils.c:337,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - color_space
    argTypes:
    - video_color_space_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 341
    functionName: cvpx_map_YCbCrMatrix_from_vcs
    functionSourceFile: /src/vlc/modules/codec/vt_utils.c
    functionUses: 0
    functionsReached:
    - __builtin_available
    - CVYCbCrMatrixGetStringForIntegerCodePoint
    - vlc_coeffs_to_iso_23001_8_mc
    linkageType: ''
    returnType: CFStringRef
    signature: CFStringRef cvpx_map_YCbCrMatrix_from_vcs(video_color_space_t color_space)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_available
      Src: /src/vlc/modules/codec/vt_utils.c:358,1
    - Dst: vlc_primaries_to_iso_23001_8_cp
      Src: /src/vlc/modules/codec/vt_utils.c:360,1
    - Dst: CVColorPrimariesGetStringForIntegerCodePoint
      Src: /src/vlc/modules/codec/vt_utils.c:361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - color_primaries
    argTypes:
    - video_color_primaries_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 365
    functionName: cvpx_map_ColorPrimaries_from_vcp
    functionSourceFile: /src/vlc/modules/codec/vt_utils.c
    functionUses: 0
    functionsReached:
    - CVColorPrimariesGetStringForIntegerCodePoint
    - __builtin_available
    - vlc_primaries_to_iso_23001_8_cp
    linkageType: ''
    returnType: CFStringRef
    signature: CFStringRef cvpx_map_ColorPrimaries_from_vcp(video_color_primaries_t
      color_primaries)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_available
      Src: /src/vlc/modules/codec/vt_utils.c:372,1
    - Dst: __builtin_available
      Src: /src/vlc/modules/codec/vt_utils.c:384,1
    - Dst: __builtin_available
      Src: /src/vlc/modules/codec/vt_utils.c:392,1
    - Dst: __builtin_available
      Src: /src/vlc/modules/codec/vt_utils.c:401,1
    - Dst: vlc_xfer_to_iso_23001_8_tc
      Src: /src/vlc/modules/codec/vt_utils.c:403,1
    - Dst: CVTransferFunctionGetStringForIntegerCodePoint
      Src: /src/vlc/modules/codec/vt_utils.c:404,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 28
    argCount: 1
    argNames:
    - transfer_func
    argTypes:
    - video_transfer_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 408
    functionName: cvpx_map_TransferFunction_from_vtf
    functionSourceFile: /src/vlc/modules/codec/vt_utils.c
    functionUses: 0
    functionsReached:
    - vlc_xfer_to_iso_23001_8_tc
    - CVTransferFunctionGetStringForIntegerCodePoint
    - __builtin_available
    linkageType: ''
    returnType: CFStringRef
    signature: CFStringRef cvpx_map_TransferFunction_from_vtf(video_transfer_func_t
      transfer_func)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_available
      Src: /src/vlc/modules/codec/vt_utils.c:415,1
    - Dst: CVBufferHasAttachment
      Src: /src/vlc/modules/codec/vt_utils.c:416,1
    - Dst: CVBufferGetAttachment
      Src: /src/vlc/modules/codec/vt_utils.c:422,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 5
    argCount: 2
    argNames:
    - pixelBuffer
    - key
    argTypes:
    - CVPixelBufferRef
    - CFStringRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 424
    functionName: cvpx_has_attachment
    functionSourceFile: /src/vlc/modules/codec/vt_utils.c
    functionUses: 0
    functionsReached:
    - CVBufferGetAttachment
    - __builtin_available
    - CVBufferHasAttachment
    linkageType: ''
    returnType: bool
    signature: bool cvpx_has_attachment(CVPixelBufferRef pixelBuffer, CFStringRef
      key)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cvpx_has_attachment
      Src: /src/vlc/modules/codec/vt_utils.c:431,1
    - Dst: cvpx_map_YCbCrMatrix_from_vcs
      Src: /src/vlc/modules/codec/vt_utils.c:434,1
    - Dst: CVBufferSetAttachment
      Src: /src/vlc/modules/codec/vt_utils.c:436,1
    - Dst: cvpx_has_attachment
      Src: /src/vlc/modules/codec/vt_utils.c:445,1
    - Dst: cvpx_map_ColorPrimaries_from_vcp
      Src: /src/vlc/modules/codec/vt_utils.c:448,1
    - Dst: CVBufferSetAttachment
      Src: /src/vlc/modules/codec/vt_utils.c:450,1
    - Dst: cvpx_has_attachment
      Src: /src/vlc/modules/codec/vt_utils.c:459,1
    - Dst: cvpx_map_TransferFunction_from_vtf
      Src: /src/vlc/modules/codec/vt_utils.c:462,1
    - Dst: CVBufferSetAttachment
      Src: /src/vlc/modules/codec/vt_utils.c:464,1
    - Dst: cvpx_has_attachment
      Src: /src/vlc/modules/codec/vt_utils.c:473,1
    - Dst: CFNumberCreate
      Src: /src/vlc/modules/codec/vt_utils.c:481,1
    - Dst: CVBufferSetAttachment
      Src: /src/vlc/modules/codec/vt_utils.c:482,1
    - Dst: CFRelease
      Src: /src/vlc/modules/codec/vt_utils.c:488,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - cvpx
    - fmt
    argTypes:
    - CVPixelBufferRef
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 491
    functionName: cvpx_attach_mapped_color_properties
    functionSourceFile: /src/vlc/modules/codec/vt_utils.c
    functionUses: 1
    functionsReached:
    - CFRelease
    - CFNumberCreate
    - cvpx_map_TransferFunction_from_vtf
    - cvpx_map_ColorPrimaries_from_vcp
    - CVBufferSetAttachment
    - cvpx_has_attachment
    - cvpx_map_YCbCrMatrix_from_vcs
    linkageType: ''
    returnType: void
    signature: "void cvpx_attach_mapped_color_properties(CVPixelBufferRef cvpx,\n
      \                                        const video_format_t *fmt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct cvpx_video_context*::ops::destroy
      Src: /src/vlc/modules/codec/vt_utils.c:505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 506
    functionName: cvpx_video_context_Destroy
    functionSourceFile: /src/vlc/modules/codec/vt_utils.c
    functionUses: 0
    functionsReached:
    - struct cvpx_video_context*::ops::destroy
    linkageType: ''
    returnType: void
    signature: void cvpx_video_context_Destroy(void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_video_context_Create
      Src: /src/vlc/modules/codec/vt_utils.c:518,1
    - Dst: vlc_video_context_GetPrivate
      Src: /src/vlc/modules/codec/vt_utils.c:524,1
    - Dst: assert
      Src: /src/vlc/modules/codec/vt_utils.c:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - device
    - type
    - type_size
    - ops
    argTypes:
    - vlc_decoder_device*
    - enum cvpx_video_context_type
    - size_t
    - struct vlc_video_context_operations*
    assertStmts:
    - condition: (cvpx_vctx != NULL)
      pos:
        line_end: 524
        line_start: 524
        source_file: /src/vlc/modules/codec/vt_utils.c
    constantsTouched: []
    func_position:
      end: 530
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 530
    functionName: vlc_video_context_CreateCVPX
    functionSourceFile: /src/vlc/modules/codec/vt_utils.c
    functionUses: 2
    functionsReached:
    - vlc_video_context_GetPrivate
    - assert
    - vlc_video_context_Create
    linkageType: ''
    returnType: vlc_video_context
    signature: "vlc_video_context *\nvlc_video_context_CreateCVPX(vlc_decoder_device
      *device,\n                              enum cvpx_video_context_type type, size_t
      type_size,\n                              const struct vlc_video_context_operations
      *ops)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_video_context_GetPrivate
      Src: /src/vlc/modules/codec/vt_utils.c:537,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - vctx
    - type
    argTypes:
    - vlc_video_context*
    - enum cvpx_video_context_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 542
    functionName: vlc_video_context_GetCVPXPrivate
    functionSourceFile: /src/vlc/modules/codec/vt_utils.c
    functionUses: 0
    functionsReached:
    - vlc_video_context_GetPrivate
    linkageType: ''
    returnType: void
    signature: "void *\nvlc_video_context_GetCVPXPrivate(vlc_video_context *vctx,\n
      \                                enum cvpx_video_context_type type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: Flush
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper_testdec.c
    functionUses: 84
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Flush(decoder_t *dec)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_helper_process_block
      Src: /src/vlc/modules/codec/hxxx_helper_testdec.c:48,1
    - Dst: hxxx_helper_has_new_config
      Src: /src/vlc/modules/codec/hxxx_helper_testdec.c:53,1
    - Dst: hxxx_helper_get_colorimetry
      Src: /src/vlc/modules/codec/hxxx_helper_testdec.c:61,1
    - Dst: hxxx_helper_get_current_picture_size
      Src: /src/vlc/modules/codec/hxxx_helper_testdec.c:72,1
    - Dst: hxxx_helper_get_current_sar
      Src: /src/vlc/modules/codec/hxxx_helper_testdec.c:87,1
    - Dst: decoder_UpdateVideoOutput
      Src: /src/vlc/modules/codec/hxxx_helper_testdec.c:94,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/hxxx_helper_testdec.c:99,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - dec
    - block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 102
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper_testdec.c
    functionUses: 11
    functionsReached:
    - block_Release
    - decoder_UpdateVideoOutput
    - hxxx_helper_get_current_picture_size
    - hxxx_helper_has_new_config
    - hxxx_helper_get_current_sar
    - hxxx_helper_process_block
    - hxxx_helper_get_colorimetry
    linkageType: ''
    returnType: int
    signature: int DecodeBlock(decoder_t *dec, block_t *block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_helper_clean
      Src: /src/vlc/modules/codec/hxxx_helper_testdec.c:110,1
    - Dst: free
      Src: /src/vlc/modules/codec/hxxx_helper_testdec.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: CloseDecoder
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper_testdec.c
    functionUses: 2
    functionsReached:
    - free
    - hxxx_helper_clean
    linkageType: ''
    returnType: void
    signature: void CloseDecoder(vlc_object_t *this)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/hxxx_helper_testdec.c:128,1
    - Dst: hxxx_helper_init
      Src: /src/vlc/modules/codec/hxxx_helper_testdec.c:132,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/codec/hxxx_helper_testdec.c:133,1
    - Dst: hxxx_helper_set_extra
      Src: /src/vlc/modules/codec/hxxx_helper_testdec.c:135,1
    - Dst: hxxx_helper_clean
      Src: /src/vlc/modules/codec/hxxx_helper_testdec.c:139,1
    - Dst: free
      Src: /src/vlc/modules/codec/hxxx_helper_testdec.c:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 152
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper_testdec.c
    functionUses: 0
    functionsReached:
    - hxxx_helper_set_extra
    - var_InheritBool
    - hxxx_helper_clean
    - free
    - malloc
    - hxxx_helper_init
    linkageType: ''
    returnType: int
    signature: int OpenDecoder(vlc_object_t *this)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetDWLE
      Src: /src/vlc/modules/codec/opus_header.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - Packet*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: write_uint32
    functionSourceFile: /src/vlc/modules/codec/opus_header.c
    functionUses: 0
    functionsReached:
    - SetDWLE
    linkageType: ''
    returnType: int
    signature: int write_uint32(Packet *p, uint32_t val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetWLE
      Src: /src/vlc/modules/codec/opus_header.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - Packet*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: write_uint16
    functionSourceFile: /src/vlc/modules/codec/opus_header.c
    functionUses: 0
    functionsReached:
    - SetWLE
    linkageType: ''
    returnType: int
    signature: int write_uint16(Packet *p, uint16_t val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/codec/opus_header.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p
    - str
    - nb_chars
    argTypes:
    - Packet*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: write_chars
    functionSourceFile: /src/vlc/modules/codec/opus_header.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int write_chars(Packet *p, const unsigned char *str, int nb_chars)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDWLE
      Src: /src/vlc/modules/codec/opus_header.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - ROPacket*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: read_uint32
    functionSourceFile: /src/vlc/modules/codec/opus_header.c
    functionUses: 0
    functionsReached:
    - GetDWLE
    linkageType: ''
    returnType: int
    signature: int read_uint32(ROPacket *p, uint32_t *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetWLE
      Src: /src/vlc/modules/codec/opus_header.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - ROPacket*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: read_uint16
    functionSourceFile: /src/vlc/modules/codec/opus_header.c
    functionUses: 0
    functionsReached:
    - GetWLE
    linkageType: ''
    returnType: int
    signature: int read_uint16(ROPacket *p, uint16_t *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/codec/opus_header.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p
    - str
    - nb_chars
    argTypes:
    - ROPacket*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: read_chars
    functionSourceFile: /src/vlc/modules/codec/opus_header.c
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int read_chars(ROPacket *p, unsigned char *str, int nb_chars)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: read_chars
      Src: /src/vlc/modules/codec/opus_header.c:143,1
    - Dst: memcmp
      Src: /src/vlc/modules/codec/opus_header.c:145,1
    - Dst: read_chars
      Src: /src/vlc/modules/codec/opus_header.c:148,1
    - Dst: read_chars
      Src: /src/vlc/modules/codec/opus_header.c:154,1
    - Dst: read_uint16
      Src: /src/vlc/modules/codec/opus_header.c:160,1
    - Dst: read_uint32
      Src: /src/vlc/modules/codec/opus_header.c:164,1
    - Dst: read_uint16
      Src: /src/vlc/modules/codec/opus_header.c:167,1
    - Dst: read_chars
      Src: /src/vlc/modules/codec/opus_header.c:171,1
    - Dst: read_chars
      Src: /src/vlc/modules/codec/opus_header.c:186,1
    - Dst: read_chars
      Src: /src/vlc/modules/codec/opus_header.c:193,1
    - Dst: read_chars
      Src: /src/vlc/modules/codec/opus_header.c:207,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/opus_header.c:221,1
    - Dst: read_chars
      Src: /src/vlc/modules/codec/opus_header.c:224,1
    - Dst: free
      Src: /src/vlc/modules/codec/opus_header.c:226,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 78
    argCount: 3
    argNames:
    - packet
    - len
    - h
    argTypes:
    - unsigned char*
    - int
    - OpusHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 238
    functionName: opus_header_parse
    functionSourceFile: /src/vlc/modules/codec/opus_header.c
    functionUses: 1
    functionsReached:
    - read_uint16
    - free
    - read_uint32
    - malloc
    - memcmp
    - read_chars
    linkageType: ''
    returnType: int
    signature: int opus_header_parse(const unsigned char *packet, int len, OpusHeader
      *h)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/codec/opus_header.c:263,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/opus_header.c:267,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/opus_header.c:271,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/codec/opus_header.c:272,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/opus_header.c:273,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/codec/opus_header.c:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - length
    - vendor
    argTypes:
    - size_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 278
    functionName: comment_init
    functionSourceFile: /src/vlc/modules/codec/opus_header.c
    functionUses: 4
    functionsReached:
    - strlen
    - SetDWLE
    - memcpy
    - malloc
    linkageType: ''
    returnType: char
    signature: char *comment_init(size_t *length, const char *vendor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetDWLE
      Src: /src/vlc/modules/codec/opus_header.c:284,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/codec/opus_header.c:285,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/opus_header.c:286,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/opus_header.c:287,1
    - Dst: realloc
      Src: /src/vlc/modules/codec/opus_header.c:290,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/codec/opus_header.c:295,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/opus_header.c:296,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/opus_header.c:297,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/codec/opus_header.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - comments
    - length
    - tag
    - val
    argTypes:
    - char**
    - size_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 302
    functionName: comment_add
    functionSourceFile: /src/vlc/modules/codec/opus_header.c
    functionUses: 0
    functionsReached:
    - strlen
    - realloc
    - memcpy
    - GetDWLE
    - SetDWLE
    linkageType: ''
    returnType: int
    signature: "int comment_add(char **comments, size_t *length, const char *tag,\n
      \                      const char *val)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/vlc/modules/codec/opus_header.c:316,1
    - Dst: memset
      Src: /src/vlc/modules/codec/opus_header.c:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - comments
    - length
    argTypes:
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 325
    functionName: comment_pad
    functionSourceFile: /src/vlc/modules/codec/opus_header.c
    functionUses: 0
    functionsReached:
    - realloc
    - memset
    linkageType: ''
    returnType: int
    signature: int comment_pad(char **comments, size_t *length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - channels
    - rate
    - header
    argTypes:
    - unsigned
    - unsigned
    - OpusHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 337
    functionName: opus_prepare_header
    functionSourceFile: /src/vlc/modules/codec/opus_header.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void opus_prepare_header(unsigned channels, unsigned rate, OpusHeader
      *header)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: write_chars
      Src: /src/vlc/modules/codec/opus_header.c:348,1
    - Dst: write_chars
      Src: /src/vlc/modules/codec/opus_header.c:352,1
    - Dst: write_chars
      Src: /src/vlc/modules/codec/opus_header.c:356,1
    - Dst: write_uint16
      Src: /src/vlc/modules/codec/opus_header.c:359,1
    - Dst: write_uint32
      Src: /src/vlc/modules/codec/opus_header.c:362,1
    - Dst: write_uint16
      Src: /src/vlc/modules/codec/opus_header.c:365,1
    - Dst: write_chars
      Src: /src/vlc/modules/codec/opus_header.c:369,1
    - Dst: write_chars
      Src: /src/vlc/modules/codec/opus_header.c:375,1
    - Dst: write_chars
      Src: /src/vlc/modules/codec/opus_header.c:379,1
    - Dst: write_chars
      Src: /src/vlc/modules/codec/opus_header.c:385,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 3
    argNames:
    - h
    - packet
    - len
    argTypes:
    - OpusHeader*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 391
    functionName: opus_header_to_packet
    functionSourceFile: /src/vlc/modules/codec/opus_header.c
    functionUses: 0
    functionsReached:
    - write_uint16
    - write_chars
    - write_uint32
    linkageType: ''
    returnType: int
    signature: int opus_header_to_packet(const OpusHeader *h, unsigned char *packet,
      int len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: opus_header_to_packet
      Src: /src/vlc/modules/codec/opus_header.c:396,1
    - Dst: comment_init
      Src: /src/vlc/modules/codec/opus_header.c:406,1
    - Dst: comment_add
      Src: /src/vlc/modules/codec/opus_header.c:409,1
    - Dst: free
      Src: /src/vlc/modules/codec/opus_header.c:412,1
    - Dst: comment_pad
      Src: /src/vlc/modules/codec/opus_header.c:416,1
    - Dst: free
      Src: /src/vlc/modules/codec/opus_header.c:418,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/opus_header.c:428,1
    - Dst: xiph_AppendHeaders
      Src: /src/vlc/modules/codec/opus_header.c:430,1
    - Dst: free
      Src: /src/vlc/modules/codec/opus_header.c:433,1
    - Dst: free
      Src: /src/vlc/modules/codec/opus_header.c:438,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - p_extra
    - i_extra
    - header
    - vendor
    argTypes:
    - uint8_t**
    - size_t*
    - OpusHeader*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 393
    functionDepth: 3
    functionLinenumber: 393
    functionLinenumberEnd: 441
    functionName: opus_write_header
    functionSourceFile: /src/vlc/modules/codec/opus_header.c
    functionUses: 4
    functionsReached:
    - ARRAY_SIZE
    - comment_add
    - comment_pad
    - free
    - xiph_AppendHeaders
    - comment_init
    - opus_header_to_packet
    linkageType: ''
    returnType: int
    signature: int opus_write_header(uint8_t **p_extra, size_t *i_extra, OpusHeader
      *header, const char *vendor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - h
    argTypes:
    - OpusHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 455
    functionName: opus_header_init
    functionSourceFile: /src/vlc/modules/codec/opus_header.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void opus_header_init(OpusHeader *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/codec/opus_header.c:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - OpusHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: opus_header_clean
    functionSourceFile: /src/vlc/modules/codec/opus_header.c
    functionUses: 5
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void opus_header_clean(OpusHeader *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: text_segment_ChainDelete
      Src: /src/vlc/modules/codec/substext.h:77,1
    - Dst: text_style_Delete
      Src: /src/vlc/modules/codec/substext.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_updtregion
    argTypes:
    - substext_updater_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: SubpictureUpdaterSysRegionClean
    functionSourceFile: /src/vlc/modules/codec/substext.h
    functionUses: 0
    functionsReached:
    - text_segment_ChainDelete
    - text_style_Delete
    linkageType: ''
    returnType: void
    signature: void SubpictureUpdaterSysRegionClean(substext_updater_region_t *p_updtregion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/codec/substext.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p_updtregion
    argTypes:
    - substext_updater_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: SubpictureUpdaterSysRegionInit
    functionSourceFile: /src/vlc/modules/codec/substext.h
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void SubpictureUpdaterSysRegionInit(substext_updater_region_t *p_updtregion)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/substext.h:92,1
    - Dst: SubpictureUpdaterSysRegionInit
      Src: /src/vlc/modules/codec/substext.h:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: SubpictureUpdaterSysRegionNew
    functionSourceFile: /src/vlc/modules/codec/substext.h
    functionUses: 3
    functionsReached:
    - SubpictureUpdaterSysRegionInit
    - malloc
    linkageType: ''
    returnType: substext_updater_region_t
    signature: substext_updater_region_t *SubpictureUpdaterSysRegionNew( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_prev
    - p_new
    argTypes:
    - substext_updater_region_t*
    - substext_updater_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: SubpictureUpdaterSysRegionAdd
    functionSourceFile: /src/vlc/modules/codec/substext.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SubpictureUpdaterSysRegionAdd(substext_updater_region_t *p_prev,\n
      \                                                substext_updater_region_t *p_new)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/vlc/modules/codec/substext.h:111,1
    - Dst: UINT64_C
      Src: /src/vlc/modules/codec/substext.h:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - substext_updater_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: GetScalingModesAsFlags
    functionSourceFile: /src/vlc/modules/codec/substext.h
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetScalingModesAsFlags(const substext_updater_region_t *r)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: GetScalingModesAsFlags
      Src: /src/vlc/modules/codec/substext.h:139,1
    - Dst: video_format_IsSimilar
      Src: /src/vlc/modules/codec/substext.h:143,1
    - Dst: vlc_spu_regions_is_empty
      Src: /src/vlc/modules/codec/substext.h:151,1
    - Dst: vlc_spu_regions_first_or_null
      Src: /src/vlc/modules/codec/substext.h:156,1
    - Dst: vlc_spu_regions_Clear
      Src: /src/vlc/modules/codec/substext.h:165,1
    - Dst: assert
      Src: /src/vlc/modules/codec/substext.h:167,1
    - Dst: subpicture_region_NewText
      Src: /src/vlc/modules/codec/substext.h:213,1
    - Dst: vlc_spu_regions_push
      Src: /src/vlc/modules/codec/substext.h:216,1
    - Dst: text_segment_Copy
      Src: /src/vlc/modules/codec/substext.h:220,1
    - Dst: text_style_Merge
      Src: /src/vlc/modules/codec/substext.h:290,1
    - Dst: text_style_Duplicate
      Src: /src/vlc/modules/codec/substext.h:292,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/codec/substext.h:324,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 110
    argCount: 2
    argNames:
    - subpic
    - cfg
    argTypes:
    - subpicture_t*
    - struct vlc_spu_updater_configuration*
    assertStmts:
    - condition: (render_fmt.i_sar_num && render_fmt.i_sar_den)
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/vlc/modules/codec/substext.h
    constantsTouched: []
    func_position:
      end: 327
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 327
    functionName: SubpictureTextUpdate
    functionSourceFile: /src/vlc/modules/codec/substext.h
    functionUses: 0
    functionsReached:
    - assert
    - vlc_spu_regions_Clear
    - GetScalingModesAsFlags
    - text_segment_Copy
    - vlc_spu_regions_push
    - text_style_Merge
    - VLC_TICK_FROM_SEC
    - vlc_spu_regions_is_empty
    - subpicture_region_NewText
    - text_style_Duplicate
    - video_format_IsSimilar
    - vlc_spu_regions_first_or_null
    linkageType: ''
    returnType: void
    signature: "void SubpictureTextUpdate(subpicture_t *subpic,\n                                 const
      struct vlc_spu_updater_configuration *cfg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SubpictureUpdaterSysRegionClean
      Src: /src/vlc/modules/codec/substext.h:332,1
    - Dst: SubpictureUpdaterSysRegionClean
      Src: /src/vlc/modules/codec/substext.h:337,1
    - Dst: free
      Src: /src/vlc/modules/codec/substext.h:338,1
    - Dst: text_style_Delete
      Src: /src/vlc/modules/codec/substext.h:341,1
    - Dst: free
      Src: /src/vlc/modules/codec/substext.h:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - subpic
    argTypes:
    - subpicture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 343
    functionName: SubpictureTextDestroy
    functionSourceFile: /src/vlc/modules/codec/substext.h
    functionUses: 0
    functionsReached:
    - free
    - SubpictureUpdaterSysRegionClean
    - text_style_Delete
    linkageType: ''
    returnType: void
    signature: void SubpictureTextDestroy(subpicture_t *subpic)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/codec/substext.h:347,1
    - Dst: SubpictureUpdaterSysRegionInit
      Src: /src/vlc/modules/codec/substext.h:360,1
    - Dst: text_style_Create
      Src: /src/vlc/modules/codec/substext.h:362,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/substext.h:363,1
    - Dst: free
      Src: /src/vlc/modules/codec/substext.h:365,1
    - Dst: decoder_NewSubpicture
      Src: /src/vlc/modules/codec/substext.h:368,1
    - Dst: text_style_Delete
      Src: /src/vlc/modules/codec/substext.h:371,1
    - Dst: free
      Src: /src/vlc/modules/codec/substext.h:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 378
    functionName: decoder_NewSubpictureText
    functionSourceFile: /src/vlc/modules/codec/substext.h
    functionUses: 6
    functionsReached:
    - decoder_NewSubpicture
    - text_style_Create
    - calloc
    - free
    - SubpictureUpdaterSysRegionInit
    - unlikely
    - text_style_Delete
    linkageType: ''
    returnType: subpicture_t
    signature: subpicture_t *decoder_NewSubpictureText(decoder_t *decoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vl0
    - ','
    - vl1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: FDKENC_VER_AT_LEAST
    functionSourceFile: /src/vlc/modules/codec/fdkaac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FDKENC_VER_AT_LEAST(vl0, vl1)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - erraac
    argTypes:
    - AACENC_ERROR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 166
    functionName: fdkaac_error
    functionSourceFile: /src/vlc/modules/codec/fdkaac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *fdkaac_error(AACENC_ERROR erraac)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: config_ChainParse
      Src: /src/vlc/modules/codec/fdkaac.c:175,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/codec/fdkaac.c:180,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/codec/fdkaac.c:182,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/codec/fdkaac.c:185,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/codec/fdkaac.c:188,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/fdkaac.c:197,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/fdkaac.c:212,1
    - Dst: msg_Info
      Src: /src/vlc/modules/codec/fdkaac.c:219,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/fdkaac.c:222,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/fdkaac.c:223,1
    - Dst: aacEncOpen
      Src: /src/vlc/modules/codec/fdkaac.c:233,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/fdkaac.c:235,1
    - Dst: fdkaac_error
      Src: /src/vlc/modules/codec/fdkaac.c:235,1
    - Dst: free
      Src: /src/vlc/modules/codec/fdkaac.c:236,1
    - Dst: SET_PARAM
      Src: /src/vlc/modules/codec/fdkaac.c:248,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/codec/fdkaac.c:249,1
    - Dst: SET_PARAM
      Src: /src/vlc/modules/codec/fdkaac.c:251,1
    - Dst: SET_PARAM
      Src: /src/vlc/modules/codec/fdkaac.c:252,1
    - Dst: SET_PARAM
      Src: /src/vlc/modules/codec/fdkaac.c:253,1
    - Dst: SET_PARAM
      Src: /src/vlc/modules/codec/fdkaac.c:254,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/codec/fdkaac.c:256,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/fdkaac.c:259,1
    - Dst: SET_PARAM
      Src: /src/vlc/modules/codec/fdkaac.c:262,1
    - Dst: msg_Info
      Src: /src/vlc/modules/codec/fdkaac.c:270,1
    - Dst: SET_PARAM
      Src: /src/vlc/modules/codec/fdkaac.c:272,1
    - Dst: SET_PARAM
      Src: /src/vlc/modules/codec/fdkaac.c:274,1
    - Dst: SET_PARAM
      Src: /src/vlc/modules/codec/fdkaac.c:275,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/codec/fdkaac.c:275,1
    - Dst: SET_PARAM
      Src: /src/vlc/modules/codec/fdkaac.c:276,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/codec/fdkaac.c:276,1
    - Dst: aacEncEncode
      Src: /src/vlc/modules/codec/fdkaac.c:279,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/fdkaac.c:281,1
    - Dst: fdkaac_error
      Src: /src/vlc/modules/codec/fdkaac.c:281,1
    - Dst: aacEncInfo
      Src: /src/vlc/modules/codec/fdkaac.c:286,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/fdkaac.c:288,1
    - Dst: fdkaac_error
      Src: /src/vlc/modules/codec/fdkaac.c:288,1
    - Dst: FDKENC_VER_AT_LEAST
      Src: /src/vlc/modules/codec/fdkaac.c:296,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/fdkaac.c:304,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/fdkaac.c:306,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/fdkaac.c:309,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/fdkaac.c:321,1
    - Dst: CloseEncoder
      Src: /src/vlc/modules/codec/fdkaac.c:327,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 130
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 329
    functionName: OpenEncoder
    functionSourceFile: /src/vlc/modules/codec/fdkaac.c
    functionUses: 0
    functionsReached:
    - SET_PARAM
    - aacEncEncode
    - memcpy
    - FDKENC_VER_AT_LEAST
    - aacEncOpen
    - CloseEncoder
    - msg_Err
    - msg_Dbg
    - msg_Warn
    - VLC_FOURCC
    - var_InheritInteger
    - var_InheritBool
    - fdkaac_error
    - aacEncInfo
    - config_ChainParse
    - free
    - msg_Info
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int OpenEncoder(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - P
    - ','
    - V
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 247
    functionName: SET_PARAM
    functionSourceFile: /src/vlc/modules/codec/fdkaac.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_PARAM(P, V)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/vlc/modules/codec/fdkaac.c:342,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/codec/fdkaac.c:345,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/codec/fdkaac.c:348,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/fdkaac.c:370,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/fdkaac.c:390,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/fdkaac.c:391,1
    - Dst: aacEncEncode
      Src: /src/vlc/modules/codec/fdkaac.c:405,1
    - Dst: msg_Info
      Src: /src/vlc/modules/codec/fdkaac.c:407,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/fdkaac.c:409,1
    - Dst: fdkaac_error
      Src: /src/vlc/modules/codec/fdkaac.c:409,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/fdkaac.c:410,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/fdkaac.c:416,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/codec/fdkaac.c:431,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/codec/fdkaac.c:433,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/codec/fdkaac.c:438,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/codec/fdkaac.c:446,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/fdkaac.c:448,1
    - Dst: likely
      Src: /src/vlc/modules/codec/fdkaac.c:455,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/fdkaac.c:461,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/fdkaac.c:465,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/fdkaac.c:466,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 83
    argCount: 2
    argNames:
    - p_enc
    - p_aout_buf
    argTypes:
    - encoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 472
    functionName: EncodeAudio
    functionSourceFile: /src/vlc/modules/codec/fdkaac.c
    functionUses: 1
    functionsReached:
    - block_Release
    - block_ChainAppend
    - aacEncEncode
    - msg_Err
    - msg_Info
    - block_Alloc
    - fdkaac_error
    - vlc_tick_from_samples
    - likely
    - msg_Dbg
    - unlikely
    linkageType: ''
    returnType: block_t
    signature: block_t *EncodeAudio(encoder_t *p_enc, block_t *p_aout_buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aacEncClose
      Src: /src/vlc/modules/codec/fdkaac.c:481,1
    - Dst: free
      Src: /src/vlc/modules/codec/fdkaac.c:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_enc
    argTypes:
    - encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 483
    functionName: CloseEncoder
    functionSourceFile: /src/vlc/modules/codec/fdkaac.c
    functionUses: 2
    functionsReached:
    - free
    - aacEncClose
    linkageType: ''
    returnType: void
    signature: void CloseEncoder(encoder_t *p_enc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/hxxx_helper.c:40,1
    - Dst: memset
      Src: /src/vlc/modules/codec/hxxx_helper.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - hh
    - p_obj
    - i_codec
    - i_input_length_size
    - i_output_length_size
    argTypes:
    - struct hxxx_helper*
    - vlc_object_t*
    - vlc_fourcc_t
    - uint8_t
    - uint8_t
    assertStmts:
    - condition: (i_codec == VLC_CODEC_H264 || i_codec == VLC_CODEC_HEVC)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/vlc/modules/codec/hxxx_helper.c
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: hxxx_helper_init
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 6
    functionsReached:
    - assert
    - memset
    linkageType: ''
    returnType: void
    signature: "void hxxx_helper_init(struct hxxx_helper *hh, vlc_object_t *p_obj,\n
      \                vlc_fourcc_t i_codec, uint8_t i_input_length_size,\n                 uint8_t
      i_output_length_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - list
    - ','
    - max
    - ','
    - release
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: RELEASE_NALS
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RELEASE_NALS(list, max, release)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/codec/hxxx_helper.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - hh
    argTypes:
    - struct hxxx_helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: helper_clear_sei
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 0
    functionsReached:
    - block_Release
    linkageType: ''
    returnType: void
    signature: void helper_clear_sei(struct hxxx_helper *hh)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RELEASE_NALS
      Src: /src/vlc/modules/codec/hxxx_helper.c:87,1
    - Dst: h264_release_sps
      Src: /src/vlc/modules/codec/hxxx_helper.c:88,1
    - Dst: RELEASE_NALS
      Src: /src/vlc/modules/codec/hxxx_helper.c:89,1
    - Dst: h264_release_pps
      Src: /src/vlc/modules/codec/hxxx_helper.c:90,1
    - Dst: RELEASE_NALS
      Src: /src/vlc/modules/codec/hxxx_helper.c:91,1
    - Dst: h264_release_sps_extension
      Src: /src/vlc/modules/codec/hxxx_helper.c:92,1
    - Dst: memset
      Src: /src/vlc/modules/codec/hxxx_helper.c:93,1
    - Dst: RELEASE_NALS
      Src: /src/vlc/modules/codec/hxxx_helper.c:96,1
    - Dst: hevc_rbsp_release_vps
      Src: /src/vlc/modules/codec/hxxx_helper.c:97,1
    - Dst: RELEASE_NALS
      Src: /src/vlc/modules/codec/hxxx_helper.c:98,1
    - Dst: hevc_rbsp_release_sps
      Src: /src/vlc/modules/codec/hxxx_helper.c:99,1
    - Dst: RELEASE_NALS
      Src: /src/vlc/modules/codec/hxxx_helper.c:100,1
    - Dst: hevc_rbsp_release_pps
      Src: /src/vlc/modules/codec/hxxx_helper.c:101,1
    - Dst: helper_clear_sei
      Src: /src/vlc/modules/codec/hxxx_helper.c:102,1
    - Dst: memset
      Src: /src/vlc/modules/codec/hxxx_helper.c:103,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/codec/hxxx_helper.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - hh
    argTypes:
    - struct hxxx_helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 108
    functionName: hxxx_helper_clean
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 8
    functionsReached:
    - RELEASE_NALS
    - h264_release_sps_extension
    - vlc_assert_unreachable
    - memset
    - helper_clear_sei
    - h264_release_pps
    - hevc_rbsp_release_pps
    - hevc_rbsp_release_sps
    - hevc_rbsp_release_vps
    - h264_release_sps
    linkageType: ''
    returnType: void
    signature: void hxxx_helper_clean(struct hxxx_helper *hh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - it
    - ','
    - p_nal_list
    - ','
    - i_nal_count
    - ','
    - i_nal_max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: HELPER_FOREACH_NAL
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HELPER_FOREACH_NAL(it, p_nal_list, i_nal_count, i_nal_max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - it
    - ','
    - p_nal_list
    - ','
    - i_nal_count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: HELPER_FOREACH_NAL_LIST
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HELPER_FOREACH_NAL_LIST(it, p_nal_list, i_nal_count)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/hxxx_helper.c:123,1
    - Dst: block_TryRealloc
      Src: /src/vlc/modules/codec/hxxx_helper.c:129,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/hxxx_helper.c:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - p_nal
    - p_nal_buf
    - i_nal_buf
    argTypes:
    - struct hxxx_helper_nal*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 137
    functionName: helper_dup_buf
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 0
    functionsReached:
    - memcpy
    - block_Alloc
    - block_TryRealloc
    linkageType: ''
    returnType: int
    signature: "int helper_dup_buf(struct hxxx_helper_nal *p_nal,\n               const
      uint8_t *p_nal_buf, size_t i_nal_buf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/codec/hxxx_helper.c:151,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 5
    argNames:
    - p_nal_list
    - i_nal_count
    - i_nal_max
    - p_nal_buf
    - i_nal_buf
    argTypes:
    - struct hxxx_helper_nal*
    - size_t
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 155
    functionName: helper_search_nal
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: struct hxxx_helper_nal
    signature: "struct hxxx_helper_nal *\nhelper_search_nal(const struct hxxx_helper_nal
      *p_nal_list, size_t i_nal_count,\n                  size_t i_nal_max, const
      void *p_nal_buf, size_t i_nal_buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - i_nal_length_size
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: helper_nal_length_valid
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool helper_nal_length_valid(uint8_t i_nal_length_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: helper_dup_buf
      Src: /src/vlc/modules/codec/hxxx_helper.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - hh
    - p_nal
    - i_nal
    argTypes:
    - struct hxxx_helper*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 177
    functionName: helper_load_sei
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 0
    functionsReached:
    - helper_dup_buf
    linkageType: ''
    returnType: void
    signature: void helper_load_sei(struct hxxx_helper *hh, const uint8_t *p_nal,
      size_t i_nal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - list
    - ','
    - count
    - ','
    - id
    - ','
    - maxnum
    - ','
    - xpstype
    - ','
    - xpsdecode
    - ','
    - xpsrelease
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 199
    functionName: LOAD_xPS
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD_xPS(list, count, id, maxnum, xpstype, xpsdecode, xpsrelease)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: h264_get_xps_id
      Src: /src/vlc/modules/codec/hxxx_helper.c:211,1
    - Dst: LOAD_xPS
      Src: /src/vlc/modules/codec/hxxx_helper.c:212,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/hxxx_helper.c:218,1
    - Dst: h264_get_xps_id
      Src: /src/vlc/modules/codec/hxxx_helper.c:222,1
    - Dst: LOAD_xPS
      Src: /src/vlc/modules/codec/hxxx_helper.c:223,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/hxxx_helper.c:228,1
    - Dst: h264_get_xps_id
      Src: /src/vlc/modules/codec/hxxx_helper.c:232,1
    - Dst: LOAD_xPS
      Src: /src/vlc/modules/codec/hxxx_helper.c:233,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/hxxx_helper.c:238,1
    - Dst: bs_init
      Src: /src/vlc/modules/codec/hxxx_helper.c:251,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/hxxx_helper.c:252,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/codec/hxxx_helper.c:253,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/codec/hxxx_helper.c:254,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/codec/hxxx_helper.c:255,1
    - Dst: h264_get_pps_sps_id
      Src: /src/vlc/modules/codec/hxxx_helper.c:264,1
    - Dst: assert
      Src: /src/vlc/modules/codec/hxxx_helper.c:268,1
    - Dst: h264_get_pps_sps_id
      Src: /src/vlc/modules/codec/hxxx_helper.c:268,1
    - Dst: h264_get_sps_id
      Src: /src/vlc/modules/codec/hxxx_helper.c:268,1
    - Dst: h264_get_sps_id
      Src: /src/vlc/modules/codec/hxxx_helper.c:269,1
    - Dst: h264_get_sps_id
      Src: /src/vlc/modules/codec/hxxx_helper.c:271,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - hh
    - p_nal
    - i_nal
    argTypes:
    - struct hxxx_helper*
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (h264_get_pps_sps_id(hpps->h264_pps) == h264_get_sps_id(hsps->h264_sps))
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/vlc/modules/codec/hxxx_helper.c
    constantsTouched: []
    func_position:
      end: 278
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 278
    functionName: h264_helper_parse_nal
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 0
    functionsReached:
    - bs_skip
    - assert
    - h264_get_pps_sps_id
    - h264_get_sps_id
    - LOAD_xPS
    - msg_Dbg
    - bs_read_ue
    - h264_get_xps_id
    - bs_init
    linkageType: ''
    returnType: int
    signature: int h264_helper_parse_nal(struct hxxx_helper *hh, const uint8_t *p_nal,
      size_t i_nal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: helper_clear_sei
      Src: /src/vlc/modules/codec/hxxx_helper.c:287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - hh
    - i_nal_type
    argTypes:
    - struct hxxx_helper*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 289
    functionName: helper_check_sei_au
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 0
    functionsReached:
    - helper_clear_sei
    linkageType: ''
    returnType: void
    signature: void helper_check_sei_au(struct hxxx_helper *hh, uint8_t i_nal_type)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: hevc_getNALLayer
      Src: /src/vlc/modules/codec/hxxx_helper.c:297,1
    - Dst: hevc_getNALType
      Src: /src/vlc/modules/codec/hxxx_helper.c:300,1
    - Dst: helper_check_sei_au
      Src: /src/vlc/modules/codec/hxxx_helper.c:303,1
    - Dst: hevc_get_xps_id
      Src: /src/vlc/modules/codec/hxxx_helper.c:308,1
    - Dst: LOAD_xPS
      Src: /src/vlc/modules/codec/hxxx_helper.c:310,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/hxxx_helper.c:315,1
    - Dst: hevc_get_xps_id
      Src: /src/vlc/modules/codec/hxxx_helper.c:320,1
    - Dst: LOAD_xPS
      Src: /src/vlc/modules/codec/hxxx_helper.c:322,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/hxxx_helper.c:327,1
    - Dst: hevc_get_xps_id
      Src: /src/vlc/modules/codec/hxxx_helper.c:332,1
    - Dst: LOAD_xPS
      Src: /src/vlc/modules/codec/hxxx_helper.c:334,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/hxxx_helper.c:339,1
    - Dst: bs_init
      Src: /src/vlc/modules/codec/hxxx_helper.c:348,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/hxxx_helper.c:349,1
    - Dst: bs_read_ue
      Src: /src/vlc/modules/codec/hxxx_helper.c:350,1
    - Dst: hevc_get_pps_sps_id
      Src: /src/vlc/modules/codec/hxxx_helper.c:358,1
    - Dst: hevc_get_sps_vps_id
      Src: /src/vlc/modules/codec/hxxx_helper.c:363,1
    - Dst: helper_load_sei
      Src: /src/vlc/modules/codec/hxxx_helper.c:378,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 3
    argNames:
    - hh
    - p_nal
    - i_nal
    argTypes:
    - struct hxxx_helper*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 382
    functionName: hevc_helper_parse_nal
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 0
    functionsReached:
    - hevc_get_sps_vps_id
    - bs_skip
    - hevc_getNALType
    - LOAD_xPS
    - helper_load_sei
    - hevc_get_pps_sps_id
    - msg_Dbg
    - hevc_get_xps_id
    - bs_read_ue
    - hevc_getNALLayer
    - bs_init
    - helper_check_sei_au
    linkageType: ''
    returnType: int
    signature: int hevc_helper_parse_nal(struct hxxx_helper *hh, const uint8_t *p_nal,
      size_t i_nal)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: h264_helper_parse_nal
      Src: /src/vlc/modules/codec/hxxx_helper.c:404,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - hh
    - p_buf
    - i_buf
    argTypes:
    - struct hxxx_helper*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 384
    functionDepth: 3
    functionLinenumber: 384
    functionLinenumberEnd: 413
    functionName: helper_process_avcC_h264
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 0
    functionsReached:
    - h264_helper_parse_nal
    linkageType: ''
    returnType: int
    signature: "int helper_process_avcC_h264(struct hxxx_helper *hh, const uint8_t
      *p_buf,\n                         size_t i_buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/codec/hxxx_helper.c:419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - p_extra
    - i_extra
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 420
    functionName: hxxx_extra_isannexb
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool hxxx_extra_isannexb(const void *p_extra, size_t i_extra)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: h264_isavcC
      Src: /src/vlc/modules/codec/hxxx_helper.c:426,1
    - Dst: helper_nal_length_valid
      Src: /src/vlc/modules/codec/hxxx_helper.c:429,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/hxxx_helper.c:441,1
    - Dst: helper_process_avcC_h264
      Src: /src/vlc/modules/codec/hxxx_helper.c:445,1
    - Dst: hxxx_extra_isannexb
      Src: /src/vlc/modules/codec/hxxx_helper.c:447,1
    - Dst: hxxx_helper_process_buffer
      Src: /src/vlc/modules/codec/hxxx_helper.c:451,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - hh
    - p_extra
    - i_extra
    argTypes:
    - struct hxxx_helper*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 422
    functionDepth: 4
    functionLinenumber: 422
    functionLinenumberEnd: 455
    functionName: h264_helper_set_extra
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 0
    functionsReached:
    - helper_process_avcC_h264
    - hxxx_helper_process_buffer
    - helper_nal_length_valid
    - h264_isavcC
    - msg_Dbg
    - hxxx_extra_isannexb
    linkageType: ''
    returnType: int
    signature: "int h264_helper_set_extra(struct hxxx_helper *hh, const void *p_extra,\n
      \                     size_t i_extra)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hevc_helper_parse_nal
      Src: /src/vlc/modules/codec/hxxx_helper.c:484,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - hh
    - p_buf
    - i_buf
    argTypes:
    - struct hxxx_helper*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 457
    functionDepth: 3
    functionLinenumber: 457
    functionLinenumberEnd: 492
    functionName: helper_process_hvcC_hevc
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 0
    functionsReached:
    - hevc_helper_parse_nal
    linkageType: ''
    returnType: int
    signature: "int helper_process_hvcC_hevc(struct hxxx_helper *hh, const uint8_t
      *p_buf,\n                         size_t i_buf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hevc_ishvcC
      Src: /src/vlc/modules/codec/hxxx_helper.c:498,1
    - Dst: hevc_getNALLengthSize
      Src: /src/vlc/modules/codec/hxxx_helper.c:500,1
    - Dst: helper_nal_length_valid
      Src: /src/vlc/modules/codec/hxxx_helper.c:501,1
    - Dst: helper_process_hvcC_hevc
      Src: /src/vlc/modules/codec/hxxx_helper.c:505,1
    - Dst: hxxx_extra_isannexb
      Src: /src/vlc/modules/codec/hxxx_helper.c:507,1
    - Dst: hxxx_helper_process_buffer
      Src: /src/vlc/modules/codec/hxxx_helper.c:511,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - hh
    - p_extra
    - i_extra
    argTypes:
    - struct hxxx_helper*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 494
    functionDepth: 4
    functionLinenumber: 494
    functionLinenumberEnd: 515
    functionName: hevc_helper_set_extra
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 0
    functionsReached:
    - hevc_getNALLengthSize
    - hevc_ishvcC
    - hxxx_helper_process_buffer
    - helper_nal_length_valid
    - helper_process_hvcC_hevc
    - hxxx_extra_isannexb
    linkageType: ''
    returnType: int
    signature: "int hevc_helper_set_extra(struct hxxx_helper *hh, const void *p_extra,\n
      \                     size_t i_extra)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h264_helper_parse_nal
      Src: /src/vlc/modules/codec/hxxx_helper.c:521,1
    - Dst: hevc_helper_parse_nal
      Src: /src/vlc/modules/codec/hxxx_helper.c:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - hh
    - p_nal
    - i_nal
    argTypes:
    - struct hxxx_helper*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 517
    functionDepth: 3
    functionLinenumber: 517
    functionLinenumberEnd: 524
    functionName: hxxx_helper_process_nal
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 0
    functionsReached:
    - hevc_helper_parse_nal
    - h264_helper_parse_nal
    linkageType: ''
    returnType: int
    signature: "int hxxx_helper_process_nal(struct hxxx_helper *hh,\n                            const
      uint8_t *p_nal, size_t i_nal)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_iterator_init
      Src: /src/vlc/modules/codec/hxxx_helper.c:533,1
    - Dst: hxxx_iterate_next
      Src: /src/vlc/modules/codec/hxxx_helper.c:539,1
    - Dst: hxxx_annexb_iterate_next
      Src: /src/vlc/modules/codec/hxxx_helper.c:540,1
    - Dst: hxxx_helper_process_nal
      Src: /src/vlc/modules/codec/hxxx_helper.c:542,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - hh
    - p_buffer
    - i_buffer
    argTypes:
    - struct hxxx_helper*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 526
    functionDepth: 4
    functionLinenumber: 526
    functionLinenumberEnd: 548
    functionName: hxxx_helper_process_buffer
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 3
    functionsReached:
    - hxxx_annexb_iterate_next
    - hxxx_helper_process_nal
    - hxxx_iterate_next
    - hxxx_iterator_init
    linkageType: ''
    returnType: int
    signature: "int hxxx_helper_process_buffer(struct hxxx_helper *hh,\n                           const
      uint8_t *p_buffer, size_t i_buffer)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_helper_process_buffer
      Src: /src/vlc/modules/codec/hxxx_helper.c:553,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/hxxx_helper.c:556,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/hxxx_helper.c:562,1
    - Dst: assert
      Src: /src/vlc/modules/codec/hxxx_helper.c:565,1
    - Dst: assert
      Src: /src/vlc/modules/codec/hxxx_helper.c:570,1
    - Dst: helper_nal_length_valid
      Src: /src/vlc/modules/codec/hxxx_helper.c:570,1
    - Dst: hxxx_AnnexB_to_xVC
      Src: /src/vlc/modules/codec/hxxx_helper.c:571,1
    - Dst: h264_AVC_to_AnnexB
      Src: /src/vlc/modules/codec/hxxx_helper.c:574,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - hh
    - p_block
    argTypes:
    - struct hxxx_helper*
    - block_t*
    assertStmts:
    - condition: (!hh->i_input_nal_length_size || !hh->i_output_nal_length_size)
      pos:
        line_end: 564
        line_start: 564
        source_file: /src/vlc/modules/codec/hxxx_helper.c
    - condition: (helper_nal_length_valid(hh->i_output_nal_length_size))
      pos:
        line_end: 569
        line_start: 569
        source_file: /src/vlc/modules/codec/hxxx_helper.c
    constantsTouched: []
    func_position:
      end: 577
      start: 550
    functionDepth: 5
    functionLinenumber: 550
    functionLinenumberEnd: 577
    functionName: hxxx_helper_process_block
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 5
    functionsReached:
    - block_Release
    - assert
    - helper_nal_length_valid
    - hxxx_AnnexB_to_xVC
    - h264_AVC_to_AnnexB
    - unlikely
    - hxxx_helper_process_buffer
    linkageType: ''
    returnType: block_t
    signature: 'block_t *

      hxxx_helper_process_block(struct hxxx_helper *hh, block_t *p_block)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: h264_helper_set_extra
      Src: /src/vlc/modules/codec/hxxx_helper.c:586,1
    - Dst: hevc_helper_set_extra
      Src: /src/vlc/modules/codec/hxxx_helper.c:588,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/codec/hxxx_helper.c:590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - hh
    - p_extra
    - i_extra
    argTypes:
    - struct hxxx_helper*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 579
    functionDepth: 5
    functionLinenumber: 579
    functionLinenumberEnd: 593
    functionName: hxxx_helper_set_extra
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 4
    functionsReached:
    - h264_helper_set_extra
    - hevc_helper_set_extra
    - vlc_assert_unreachable
    linkageType: ''
    returnType: int
    signature: "int hxxx_helper_set_extra(struct hxxx_helper *hh, const void *p_extra,\n
      \                     size_t i_extra)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/hxxx_helper.c:613,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/hxxx_helper.c:617,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/hxxx_helper.c:624,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/hxxx_helper.c:627,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - pp_nal_lists
    - p_nal_counts
    - p_nal_maxs
    - i_lists_size
    argTypes:
    - struct hxxx_helper_nal*[]
    - size_t[]
    - size_t[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 641
    functionName: hxxx_helper_get_annexb_config
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 0
    functionsReached:
    - block_Alloc
    - memcpy
    - block_Release
    linkageType: ''
    returnType: block_t
    signature: "block_t *\nhxxx_helper_get_annexb_config( const struct hxxx_helper_nal
      *pp_nal_lists[],\n                               const size_t p_nal_counts[],\n
      \                              const size_t p_nal_maxs[],\n                               size_t
      i_lists_size )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 611
    functionName: HELPER_FOREACH_NAL
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HELPER_FOREACH_NAL(p_nal, pp_nal_lists[i], p_nal_counts[i], p_nal_maxs[i])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/codec/hxxx_helper.c:624,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/hxxx_helper.c:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 630
    functionName: HELPER_FOREACH_NAL
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void HELPER_FOREACH_NAL(p_nal, pp_nal_lists[i], p_nal_counts[i], p_nal_maxs[i])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hh
    argTypes:
    - struct hxxx_helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 646
    functionName: hxxx_helper_has_new_config
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hxxx_helper_has_new_config(const struct hxxx_helper *hh)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - hh
    argTypes:
    - struct hxxx_helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 661
    functionName: hxxx_helper_has_config
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hxxx_helper_has_config(const struct hxxx_helper *hh)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/hxxx_helper.c:673,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/hxxx_helper.c:673,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/hxxx_helper.c:673,1
    - Dst: hxxx_helper_get_annexb_config
      Src: /src/vlc/modules/codec/hxxx_helper.c:675,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/hxxx_helper.c:675,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - hh
    argTypes:
    - struct hxxx_helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 676
    functionName: h264_helper_get_annexb_config
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 0
    functionsReached:
    - hxxx_helper_get_annexb_config
    - ARRAY_SIZE
    linkageType: ''
    returnType: block_t
    signature: 'block_t *

      h264_helper_get_annexb_config(const struct hxxx_helper *hh)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/hxxx_helper.c:690,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/hxxx_helper.c:690,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/hxxx_helper.c:690,1
    - Dst: hxxx_helper_get_annexb_config
      Src: /src/vlc/modules/codec/hxxx_helper.c:692,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/hxxx_helper.c:692,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - hh
    argTypes:
    - struct hxxx_helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 693
    functionName: hevc_helper_get_annexb_config
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 0
    functionsReached:
    - hxxx_helper_get_annexb_config
    - ARRAY_SIZE
    linkageType: ''
    returnType: block_t
    signature: 'block_t *

      hevc_helper_get_annexb_config(const struct hxxx_helper *hh)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HELPER_FOREACH_NAL_LIST
      Src: /src/vlc/modules/codec/hxxx_helper.c:701,1
    - Dst: HELPER_FOREACH_NAL_LIST
      Src: /src/vlc/modules/codec/hxxx_helper.c:709,1
    - Dst: HELPER_FOREACH_NAL_LIST
      Src: /src/vlc/modules/codec/hxxx_helper.c:717,1
    - Dst: h264_NAL_to_avcC
      Src: /src/vlc/modules/codec/hxxx_helper.c:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - hh
    argTypes:
    - struct hxxx_helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 695
    functionDepth: 2
    functionLinenumber: 695
    functionLinenumberEnd: 726
    functionName: h264_helper_get_avcc_config
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 0
    functionsReached:
    - HELPER_FOREACH_NAL_LIST
    - h264_NAL_to_avcC
    linkageType: ''
    returnType: block_t
    signature: 'block_t *

      h264_helper_get_avcc_config(const struct hxxx_helper *hh)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HELPER_FOREACH_NAL_LIST
      Src: /src/vlc/modules/codec/hxxx_helper.c:734,1
    - Dst: HELPER_FOREACH_NAL_LIST
      Src: /src/vlc/modules/codec/hxxx_helper.c:740,1
    - Dst: HELPER_FOREACH_NAL_LIST
      Src: /src/vlc/modules/codec/hxxx_helper.c:746,1
    - Dst: HELPER_FOREACH_NAL_LIST
      Src: /src/vlc/modules/codec/hxxx_helper.c:752,1
    - Dst: hevc_getNALType
      Src: /src/vlc/modules/codec/hxxx_helper.c:754,1
    - Dst: hevc_create_dcr
      Src: /src/vlc/modules/codec/hxxx_helper.c:767,1
    - Dst: block_heap_Alloc
      Src: /src/vlc/modules/codec/hxxx_helper.c:771,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - hh
    argTypes:
    - struct hxxx_helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 728
    functionDepth: 3
    functionLinenumber: 728
    functionLinenumberEnd: 772
    functionName: hevc_helper_get_hvcc_config
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 0
    functionsReached:
    - block_heap_Alloc
    - hevc_create_dcr
    - HELPER_FOREACH_NAL_LIST
    - hevc_getNALType
    linkageType: ''
    returnType: block_t
    signature: 'block_t *

      hevc_helper_get_hvcc_config(const struct hxxx_helper *hh)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h264_helper_get_avcc_config
      Src: /src/vlc/modules/codec/hxxx_helper.c:778,1
    - Dst: h264_helper_get_annexb_config
      Src: /src/vlc/modules/codec/hxxx_helper.c:779,1
    - Dst: hevc_helper_get_hvcc_config
      Src: /src/vlc/modules/codec/hxxx_helper.c:783,1
    - Dst: hevc_helper_get_annexb_config
      Src: /src/vlc/modules/codec/hxxx_helper.c:784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hh
    argTypes:
    - struct hxxx_helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 774
    functionDepth: 4
    functionLinenumber: 774
    functionLinenumberEnd: 786
    functionName: hxxx_helper_get_extradata_chain
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 0
    functionsReached:
    - hevc_helper_get_annexb_config
    - hevc_helper_get_hvcc_config
    - h264_helper_get_annexb_config
    - h264_helper_get_avcc_config
    linkageType: ''
    returnType: block_t
    signature: block_t * hxxx_helper_get_extradata_chain(const struct hxxx_helper
      *hh)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_helper_get_extradata_chain
      Src: /src/vlc/modules/codec/hxxx_helper.c:790,1
    - Dst: block_ChainGather
      Src: /src/vlc/modules/codec/hxxx_helper.c:793,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/hxxx_helper.c:796,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - hh
    argTypes:
    - struct hxxx_helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 788
    functionDepth: 5
    functionLinenumber: 788
    functionLinenumberEnd: 799
    functionName: hxxx_helper_get_extradata_block
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 5
    functionsReached:
    - hxxx_helper_get_extradata_chain
    - block_Release
    - block_ChainGather
    linkageType: ''
    returnType: block_t
    signature: block_t * hxxx_helper_get_extradata_block(const struct hxxx_helper
      *hh)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/hxxx_helper.c:809,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hh
    argTypes:
    - struct hxxx_helper*
    assertStmts:
    - condition: (hsps->b != NULL)
      pos:
        line_end: 808
        line_start: 808
        source_file: /src/vlc/modules/codec/hxxx_helper.c
    constantsTouched: []
    func_position:
      end: 811
      start: 801
    functionDepth: 1
    functionLinenumber: 801
    functionLinenumberEnd: 811
    functionName: h264_helper_get_current_sps
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: struct hxxx_helper_nal
    signature: 'struct hxxx_helper_nal *

      h264_helper_get_current_sps(const struct hxxx_helper *hh)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: h264_helper_get_current_sps
      Src: /src/vlc/modules/codec/hxxx_helper.c:821,1
    - Dst: h264_get_picture_size
      Src: /src/vlc/modules/codec/hxxx_helper.c:822,1
    - Dst: hevc_get_picture_size
      Src: /src/vlc/modules/codec/hxxx_helper.c:828,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 7
    argNames:
    - hh
    - p_ox
    - p_oy
    - p_w
    - p_h
    - p_vw
    - p_vh
    argTypes:
    - struct hxxx_helper*
    - unsigned*
    - unsigned*
    - unsigned*
    - unsigned*
    - unsigned*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 813
    functionDepth: 2
    functionLinenumber: 813
    functionLinenumberEnd: 832
    functionName: hxxx_helper_get_current_picture_size
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 2
    functionsReached:
    - hevc_get_picture_size
    - h264_get_picture_size
    - h264_helper_get_current_sps
    linkageType: ''
    returnType: int
    signature: "int hxxx_helper_get_current_picture_size(const struct hxxx_helper
      *hh,\n                                     unsigned *p_ox, unsigned *p_oy,\n
      \                                    unsigned *p_w, unsigned *p_h,\n                                     unsigned
      *p_vw, unsigned *p_vh)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: h264_helper_get_current_sps
      Src: /src/vlc/modules/codec/hxxx_helper.c:840,1
    - Dst: h264_get_aspect_ratio
      Src: /src/vlc/modules/codec/hxxx_helper.c:841,1
    - Dst: hevc_get_aspect_ratio
      Src: /src/vlc/modules/codec/hxxx_helper.c:851,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - hh
    - p_num
    - p_den
    argTypes:
    - struct hxxx_helper*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 834
    functionDepth: 2
    functionLinenumber: 834
    functionLinenumberEnd: 859
    functionName: hxxx_helper_get_current_sar
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 2
    functionsReached:
    - h264_get_aspect_ratio
    - hevc_get_aspect_ratio
    - h264_helper_get_current_sps
    linkageType: ''
    returnType: int
    signature: int hxxx_helper_get_current_sar(const struct hxxx_helper *hh, int *p_num,
      int *p_den)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: h264_helper_get_current_sps
      Src: /src/vlc/modules/codec/hxxx_helper.c:867,1
    - Dst: h264_get_sps_profile_tier_level
      Src: /src/vlc/modules/codec/hxxx_helper.c:869,1
    - Dst: hevc_get_sps_profile_tier_level
      Src: /src/vlc/modules/codec/hxxx_helper.c:876,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - hh
    - p_profile
    - p_level
    argTypes:
    - struct hxxx_helper*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 861
    functionDepth: 2
    functionLinenumber: 861
    functionLinenumberEnd: 880
    functionName: hxxx_helper_get_current_profile_level
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 0
    functionsReached:
    - hevc_get_sps_profile_tier_level
    - h264_get_sps_profile_tier_level
    - h264_helper_get_current_sps
    linkageType: ''
    returnType: int
    signature: "int hxxx_helper_get_current_profile_level(const struct hxxx_helper
      *hh,\n                                      uint8_t *p_profile, uint8_t *p_level)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: h264_helper_get_current_sps
      Src: /src/vlc/modules/codec/hxxx_helper.c:890,1
    - Dst: h264_get_chroma_luma
      Src: /src/vlc/modules/codec/hxxx_helper.c:893,1
    - Dst: hevc_get_chroma_luma
      Src: /src/vlc/modules/codec/hxxx_helper.c:903,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/codec/hxxx_helper.c:908,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - hh
    - pi_chroma_format
    - pi_depth_luma
    - pi_depth_chroma
    argTypes:
    - struct hxxx_helper*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 882
    functionDepth: 2
    functionLinenumber: 882
    functionLinenumberEnd: 910
    functionName: hxxx_helper_get_chroma_chroma
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 1
    functionsReached:
    - hevc_get_chroma_luma
    - h264_get_chroma_luma
    - vlc_assert_unreachable
    - h264_helper_get_current_sps
    linkageType: ''
    returnType: int
    signature: "int hxxx_helper_get_chroma_chroma(const struct hxxx_helper *hh, uint8_t
      *pi_chroma_format,\n                              uint8_t *pi_depth_luma, uint8_t
      *pi_depth_chroma)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: h264_helper_get_current_sps
      Src: /src/vlc/modules/codec/hxxx_helper.c:924,1
    - Dst: h264_get_colorimetry
      Src: /src/vlc/modules/codec/hxxx_helper.c:927,1
    - Dst: hevc_get_colorimetry
      Src: /src/vlc/modules/codec/hxxx_helper.c:937,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/codec/hxxx_helper.c:942,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - hh
    - p_primaries
    - p_transfer
    - p_colorspace
    - p_full_range
    argTypes:
    - struct hxxx_helper*
    - video_color_primaries_t*
    - video_transfer_func_t*
    - video_color_space_t*
    - video_color_range_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 913
    functionDepth: 2
    functionLinenumber: 913
    functionLinenumberEnd: 944
    functionName: hxxx_helper_get_colorimetry
    functionSourceFile: /src/vlc/modules/codec/hxxx_helper.c
    functionUses: 2
    functionsReached:
    - vlc_assert_unreachable
    - hevc_get_colorimetry
    - h264_helper_get_current_sps
    - h264_get_colorimetry
    linkageType: ''
    returnType: int
    signature: "int hxxx_helper_get_colorimetry(const struct hxxx_helper *hh,\n                            video_color_primaries_t
      *p_primaries,\n                            video_transfer_func_t *p_transfer,\n
      \                           video_color_space_t *p_colorspace,\n                            video_color_range_t
      *p_full_range)"
  - BBCount: 108
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/x264.c:780,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/x264.c:782,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/codec/x264.c:785,1
    - Dst: assert
      Src: /src/vlc/modules/codec/x264.c:787,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/codec/x264.c:793,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/codec/x264.c:797,1
    - Dst: var_GetString
      Src: /src/vlc/modules/codec/x264.c:800,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/x264.c:809,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/x264.c:814,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/x264.c:819,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/x264.c:827,1
    - Dst: free
      Src: /src/vlc/modules/codec/x264.c:828,1
    - Dst: free
      Src: /src/vlc/modules/codec/x264.c:835,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/x264.c:840,1
    - Dst: var_GetString
      Src: /src/vlc/modules/codec/x264.c:854,1
    - Dst: var_GetString
      Src: /src/vlc/modules/codec/x264.c:855,1
    - Dst: free
      Src: /src/vlc/modules/codec/x264.c:858,1
    - Dst: x264_param_default_mpeg2
      Src: /src/vlc/modules/codec/x264.c:863,1
    - Dst: x264_param_default_preset_mpeg2
      Src: /src/vlc/modules/codec/x264.c:864,1
    - Dst: x264_param_default
      Src: /src/vlc/modules/codec/x264.c:866,1
    - Dst: x264_param_default_preset
      Src: /src/vlc/modules/codec/x264.c:867,1
    - Dst: free
      Src: /src/vlc/modules/codec/x264.c:873,1
    - Dst: free
      Src: /src/vlc/modules/codec/x264.c:874,1
    - Dst: var_GetFloat
      Src: /src/vlc/modules/codec/x264.c:926,1
    - Dst: fabs
      Src: /src/vlc/modules/codec/x264.c:927,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/x264.c:939,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/x264.c:947,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/x264.c:950,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/x264.c:956,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/x264.c:963,1
    - Dst: var_GetFloat
      Src: /src/vlc/modules/codec/x264.c:977,1
    - Dst: var_GetFloat
      Src: /src/vlc/modules/codec/x264.c:979,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/x264.c:981,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/x264.c:985,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/codec/x264.c:988,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/codec/x264.c:991,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/codec/x264.c:995,1
    - Dst: var_GetString
      Src: /src/vlc/modules/codec/x264.c:998,1
    - Dst: atoi
      Src: /src/vlc/modules/codec/x264.c:1001,1
    - Dst: strchr
      Src: /src/vlc/modules/codec/x264.c:1003,1
    - Dst: atoi
      Src: /src/vlc/modules/codec/x264.c:1004,1
    - Dst: atoi
      Src: /src/vlc/modules/codec/x264.c:1006,1
    - Dst: free
      Src: /src/vlc/modules/codec/x264.c:1008,1
    - Dst: var_GetString
      Src: /src/vlc/modules/codec/x264.c:1011,1
    - Dst: vlc_atof_c
      Src: /src/vlc/modules/codec/x264.c:1014,1
    - Dst: strchr
      Src: /src/vlc/modules/codec/x264.c:1016,1
    - Dst: vlc_atof_c
      Src: /src/vlc/modules/codec/x264.c:1017,1
    - Dst: vlc_atof_c
      Src: /src/vlc/modules/codec/x264.c:1018,1
    - Dst: free
      Src: /src/vlc/modules/codec/x264.c:1020,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/codec/x264.c:1023,1
    - Dst: var_GetString
      Src: /src/vlc/modules/codec/x264.c:1026,1
    - Dst: vlc_atof_c
      Src: /src/vlc/modules/codec/x264.c:1029,1
    - Dst: vlc_atof_c
      Src: /src/vlc/modules/codec/x264.c:1029,1
    - Dst: vlc_atof_c
      Src: /src/vlc/modules/codec/x264.c:1030,1
    - Dst: atoi
      Src: /src/vlc/modules/codec/x264.c:1032,1
    - Dst: atoi
      Src: /src/vlc/modules/codec/x264.c:1032,1
    - Dst: atoi
      Src: /src/vlc/modules/codec/x264.c:1033,1
    - Dst: free
      Src: /src/vlc/modules/codec/x264.c:1034,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/codec/x264.c:1037,1
    - Dst: var_GetFloat
      Src: /src/vlc/modules/codec/x264.c:1038,1
    - Dst: fabs
      Src: /src/vlc/modules/codec/x264.c:1039,1
    - Dst: var_GetFloat
      Src: /src/vlc/modules/codec/x264.c:1041,1
    - Dst: fabs
      Src: /src/vlc/modules/codec/x264.c:1042,1
    - Dst: var_GetFloat
      Src: /src/vlc/modules/codec/x264.c:1044,1
    - Dst: var_GetFloat
      Src: /src/vlc/modules/codec/x264.c:1045,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/x264.c:1046,1
    - Dst: var_GetFloat
      Src: /src/vlc/modules/codec/x264.c:1049,1
    - Dst: fabs
      Src: /src/vlc/modules/codec/x264.c:1050,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/x264.c:1053,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/codec/x264.c:1057,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/codec/x264.c:1060,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/x264.c:1063,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/codec/x264.c:1066,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/x264.c:1069,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/x264.c:1073,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/codec/x264.c:1076,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/codec/x264.c:1077,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/x264.c:1079,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/codec/x264.c:1083,1
    - Dst: var_GetString
      Src: /src/vlc/modules/codec/x264.c:1085,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/x264.c:1086,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/x264.c:1090,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/x264.c:1094,1
    - Dst: free
      Src: /src/vlc/modules/codec/x264.c:1099,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/x264.c:1101,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/x264.c:1105,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/codec/x264.c:1109,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/x264.c:1112,1
    - Dst: var_GetString
      Src: /src/vlc/modules/codec/x264.c:1116,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/x264.c:1117,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/x264.c:1119,1
    - Dst: free
      Src: /src/vlc/modules/codec/x264.c:1121,1
    - Dst: var_GetString
      Src: /src/vlc/modules/codec/x264.c:1124,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/x264.c:1125,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/x264.c:1127,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/x264.c:1131,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/x264.c:1135,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/x264.c:1139,1
    - Dst: free
      Src: /src/vlc/modules/codec/x264.c:1144,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/x264.c:1146,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/x264.c:1150,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/x264.c:1152,1
    - Dst: var_GetString
      Src: /src/vlc/modules/codec/x264.c:1155,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/x264.c:1156,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/x264.c:1160,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/x264.c:1164,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/x264.c:1168,1
    - Dst: free
      Src: /src/vlc/modules/codec/x264.c:1172,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/codec/x264.c:1174,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/codec/x264.c:1175,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/codec/x264.c:1176,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/x264.c:1178,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/x264.c:1182,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/x264.c:1186,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/codec/x264.c:1190,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/x264.c:1192,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/codec/x264.c:1194,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/x264.c:1197,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/codec/x264.c:1201,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/x264.c:1204,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/codec/x264.c:1208,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/x264.c:1211,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/x264.c:1215,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/codec/x264.c:1219,1
    - Dst: var_GetString
      Src: /src/vlc/modules/codec/x264.c:1225,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/x264.c:1226,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/x264.c:1230,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/x264.c:1234,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/x264.c:1243,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/x264.c:1253,1
    - Dst: free
      Src: /src/vlc/modules/codec/x264.c:1257,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/codec/x264.c:1259,1
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/codec/x264.c:1266,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/x264.c:1284,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/x264.c:1287,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/x264.c:1290,1
    - Dst: var_GetString
      Src: /src/vlc/modules/codec/x264.c:1296,1
    - Dst: x264_param_apply_profile
      Src: /src/vlc/modules/codec/x264.c:1298,1
    - Dst: free
      Src: /src/vlc/modules/codec/x264.c:1299,1
    - Dst: var_GetString
      Src: /src/vlc/modules/codec/x264.c:1308,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/x264.c:1316,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/x264.c:1326,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/codec/x264.c:1333,1
    - Dst: config_ChainParseOptions
      Src: /src/vlc/modules/codec/x264.c:1336,1
    - Dst: x264_param_parse
      Src: /src/vlc/modules/codec/x264.c:1341,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/x264.c:1343,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/x264.c:1345,1
    - Dst: free
      Src: /src/vlc/modules/codec/x264.c:1347,1
    - Dst: free
      Src: /src/vlc/modules/codec/x264.c:1348,1
    - Dst: free
      Src: /src/vlc/modules/codec/x264.c:1349,1
    - Dst: free
      Src: /src/vlc/modules/codec/x264.c:1353,1
    - Dst: x264_encoder_open
      Src: /src/vlc/modules/codec/x264.c:1357,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/x264.c:1361,1
    - Dst: CloseEncoder
      Src: /src/vlc/modules/codec/x264.c:1362,1
    - Dst: x264_encoder_headers
      Src: /src/vlc/modules/codec/x264.c:1367,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/x264.c:1368,1
    - Dst: CloseEncoder
      Src: /src/vlc/modules/codec/x264.c:1371,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/x264.c:1379,1
    - Dst: assert
      Src: /src/vlc/modules/codec/x264.c:1385,1
    - Dst: assert
      Src: /src/vlc/modules/codec/x264.c:1389,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/x264.c:1392,1
    - Dst: free
      Src: /src/vlc/modules/codec/x264.c:1395,1
    - Dst: CloseEncoder
      Src: /src/vlc/modules/codec/x264.c:1396,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/x264.c:1399,1
    CyclomaticComplexity: 146
    EdgeCount: 146
    ICount: 423
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: ( i_extra >= (size_t)nal[i].i_payload )
      pos:
        line_end: 1384
        line_start: 1384
        source_file: /src/vlc/modules/codec/x264.c
    - condition: (p_sys->i_sei_size == 0)
      pos:
        line_end: 1388
        line_start: 1388
        source_file: /src/vlc/modules/codec/x264.c
    - condition: (p_enc->fmt_out.i_cat == VIDEO_ES)
      pos:
        line_end: 786
        line_start: 786
        source_file: /src/vlc/modules/codec/x264.c
    constantsTouched: []
    func_position:
      end: 1413
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 1413
    functionName: Open
    functionSourceFile: /src/vlc/modules/codec/x264.c
    functionUses: 71
    functionsReached:
    - x264_param_default_preset
    - atoi
    - assert
    - strchr
    - vlc_obj_malloc
    - var_GetString
    - memcpy
    - x264_encoder_open
    - x264_param_default
    - var_GetInteger
    - x264_param_default_preset_mpeg2
    - var_GetFloat
    - vlc_atof_c
    - CloseEncoder
    - x264_encoder_headers
    - msg_Err
    - x264_param_apply_profile
    - msg_Dbg
    - fabs
    - x264_param_default_mpeg2
    - config_ChainParseOptions
    - x264_param_parse
    - strcmp
    - var_GetBool
    - var_InheritString
    - config_ChainParse
    - free
    - vlc_ureduce
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open ( vlc_object_t *p_this )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_GenericVa
      Src: /src/vlc/modules/codec/x264.c:1438,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - data
    - i_level
    - psz
    - args
    argTypes:
    - void*
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1418
    functionDepth: 1
    functionLinenumber: 1418
    functionLinenumberEnd: 1439
    functionName: x264_log
    functionSourceFile: /src/vlc/modules/codec/x264.c
    functionUses: 0
    functionsReached:
    - msg_GenericVa
    linkageType: ''
    returnType: void
    signature: void x264_log( void *data, int i_level, const char *psz, va_list args)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: x264_picture_init
      Src: /src/vlc/modules/codec/x264.c:1453,1
    - Dst: likely
      Src: /src/vlc/modules/codec/x264.c:1454,1
    - Dst: x264_encoder_encode
      Src: /src/vlc/modules/codec/x264.c:1464,1
    - Dst: x264_encoder_delayed_frames
      Src: /src/vlc/modules/codec/x264.c:1466,1
    - Dst: x264_encoder_encode
      Src: /src/vlc/modules/codec/x264.c:1467,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/x264.c:1478,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/x264.c:1482,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/x264.c:1485,1
    - Dst: free
      Src: /src/vlc/modules/codec/x264.c:1488,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/x264.c:1492,1
    - Dst: IS_X264_TYPE_B
      Src: /src/vlc/modules/codec/x264.c:1498,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/codec/x264.c:1507,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 2
    argNames:
    - p_enc
    - p_pict
    argTypes:
    - encoder_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1517
      start: 1444
    functionDepth: 1
    functionLinenumber: 1444
    functionLinenumberEnd: 1517
    functionName: Encode
    functionSourceFile: /src/vlc/modules/codec/x264.c
    functionUses: 2
    functionsReached:
    - IS_X264_TYPE_B
    - memcpy
    - free
    - block_Alloc
    - x264_encoder_delayed_frames
    - vlc_tick_from_samples
    - likely
    - x264_picture_init
    - x264_encoder_encode
    - unlikely
    linkageType: ''
    returnType: block_t
    signature: block_t *Encode( encoder_t *p_enc, picture_t *p_pict )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/codec/x264.c:1526,1
    - Dst: free
      Src: /src/vlc/modules/codec/x264.c:1527,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/x264.c:1531,1
    - Dst: x264_encoder_delayed_frames
      Src: /src/vlc/modules/codec/x264.c:1531,1
    - Dst: x264_encoder_close
      Src: /src/vlc/modules/codec/x264.c:1532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p_enc
    argTypes:
    - encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1522
    functionDepth: 1
    functionLinenumber: 1522
    functionLinenumberEnd: 1535
    functionName: CloseEncoder
    functionSourceFile: /src/vlc/modules/codec/x264.c
    functionUses: 3
    functionsReached:
    - free
    - x264_encoder_close
    - x264_encoder_delayed_frames
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void CloseEncoder( encoder_t *p_enc )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mpg123_new
      Src: /src/vlc/modules/codec/mpg123.c:80,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/mpg123.c:82,1
    - Dst: mpg123_open_feed
      Src: /src/vlc/modules/codec/mpg123.c:87,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/mpg123.c:89,1
    - Dst: mpg123_delete
      Src: /src/vlc/modules/codec/mpg123.c:90,1
    - Dst: mpg123_param
      Src: /src/vlc/modules/codec/mpg123.c:95,1
    - Dst: mpg123_format_none
      Src: /src/vlc/modules/codec/mpg123.c:98,1
    - Dst: mpg123_format
      Src: /src/vlc/modules/codec/mpg123.c:103,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/mpg123.c:114,1
    - Dst: mpg123_format
      Src: /src/vlc/modules/codec/mpg123.c:116,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/mpg123.c:123,1
    - Dst: mpg123_strerror
      Src: /src/vlc/modules/codec/mpg123.c:124,1
    - Dst: mpg123_close
      Src: /src/vlc/modules/codec/mpg123.c:125,1
    - Dst: mpg123_delete
      Src: /src/vlc/modules/codec/mpg123.c:126,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 132
    functionName: MPG123Open
    functionSourceFile: /src/vlc/modules/codec/mpg123.c
    functionUses: 0
    functionsReached:
    - mpg123_format_none
    - ARRAY_SIZE
    - mpg123_param
    - mpg123_strerror
    - mpg123_open_feed
    - mpg123_format
    - mpg123_close
    - mpg123_delete
    - msg_Err
    - mpg123_new
    linkageType: ''
    returnType: int
    signature: int MPG123Open( decoder_t *p_dec )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: date_Set
      Src: /src/vlc/modules/codec/mpg123.c:141,1
    - Dst: mpg123_close
      Src: /src/vlc/modules/codec/mpg123.c:143,1
    - Dst: mpg123_delete
      Src: /src/vlc/modules/codec/mpg123.c:144,1
    - Dst: MPG123Open
      Src: /src/vlc/modules/codec/mpg123.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 147
    functionName: Flush
    functionSourceFile: /src/vlc/modules/codec/mpg123.c
    functionUses: 84
    functionsReached:
    - MPG123Open
    - date_Set
    - mpg123_delete
    - mpg123_close
    linkageType: ''
    returnType: void
    signature: void Flush( decoder_t *p_dec )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mpg123_info
      Src: /src/vlc/modules/codec/mpg123.c:156,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/mpg123.c:159,1
    - Dst: mpg123_plain_strerror
      Src: /src/vlc/modules/codec/mpg123.c:160,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/codec/mpg123.c:183,1
    - Dst: date_Init
      Src: /src/vlc/modules/codec/mpg123.c:189,1
    - Dst: decoder_UpdateAudioFormat
      Src: /src/vlc/modules/codec/mpg123.c:192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 193
    functionName: UpdateAudioFormat
    functionSourceFile: /src/vlc/modules/codec/mpg123.c
    functionUses: 7
    functionsReached:
    - aout_FormatPrepare
    - mpg123_plain_strerror
    - mpg123_info
    - date_Init
    - msg_Err
    - decoder_UpdateAudioFormat
    linkageType: ''
    returnType: int
    signature: int UpdateAudioFormat( decoder_t *p_dec )
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/codec/mpg123.c:207,1
    - Dst: Flush
      Src: /src/vlc/modules/codec/mpg123.c:218,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/mpg123.c:221,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/mpg123.c:227,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/mpg123.c:230,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/mpg123.c:231,1
    - Dst: mpg123_feed
      Src: /src/vlc/modules/codec/mpg123.c:236,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/mpg123.c:237,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/mpg123.c:241,1
    - Dst: mpg123_plain_strerror
      Src: /src/vlc/modules/codec/mpg123.c:242,1
    - Dst: mpg123_outblock
      Src: /src/vlc/modules/codec/mpg123.c:251,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/mpg123.c:254,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/mpg123.c:258,1
    - Dst: mpg123_outblock
      Src: /src/vlc/modules/codec/mpg123.c:258,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/mpg123.c:260,1
    - Dst: mpg123_replace_buffer
      Src: /src/vlc/modules/codec/mpg123.c:268,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/mpg123.c:272,1
    - Dst: mpg123_plain_strerror
      Src: /src/vlc/modules/codec/mpg123.c:273,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/mpg123.c:274,1
    - Dst: mpg123_decode_frame
      Src: /src/vlc/modules/codec/mpg123.c:279,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/mpg123.c:288,1
    - Dst: mpg123_plain_strerror
      Src: /src/vlc/modules/codec/mpg123.c:289,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/mpg123.c:290,1
    - Dst: UpdateAudioFormat
      Src: /src/vlc/modules/codec/mpg123.c:300,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/mpg123.c:302,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/mpg123.c:310,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/mpg123.c:314,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/mpg123.c:318,1
    - Dst: assert
      Src: /src/vlc/modules/codec/mpg123.c:325,1
    - Dst: assert
      Src: /src/vlc/modules/codec/mpg123.c:326,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/mpg123.c:332,1
    - Dst: date_Increment
      Src: /src/vlc/modules/codec/mpg123.c:333,1
    - Dst: decoder_QueueAudio
      Src: /src/vlc/modules/codec/mpg123.c:335,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 81
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts:
    - condition: ( p_out->i_buffer >= i_bytes )
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/vlc/modules/codec/mpg123.c
    - condition: ( p_dec->fmt_out.audio.i_rate != 0 )
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/vlc/modules/codec/mpg123.c
    constantsTouched: []
    func_position:
      end: 340
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 340
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/codec/mpg123.c
    functionUses: 11
    functionsReached:
    - decoder_QueueAudio
    - block_Release
    - UpdateAudioFormat
    - assert
    - mpg123_plain_strerror
    - date_Set
    - msg_Err
    - block_Alloc
    - mpg123_replace_buffer
    - msg_Dbg
    - mpg123_feed
    - date_Get
    - date_Increment
    - mpg123_decode_frame
    - Flush
    - unlikely
    - mpg123_outblock
    linkageType: ''
    returnType: int
    signature: int DecodeBlock( decoder_t *p_dec, block_t *p_block )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/mpg123.c:349,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/mpg123.c:353,1
    - Dst: mpg123_init
      Src: /src/vlc/modules/codec/mpg123.c:356,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/mpg123.c:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 360
    functionName: InitMPG123
    functionSourceFile: /src/vlc/modules/codec/mpg123.c
    functionUses: 0
    functionsReached:
    - mpg123_init
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: int
    signature: int InitMPG123( void )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/mpg123.c:367,1
    - Dst: mpg123_exit
      Src: /src/vlc/modules/codec/mpg123.c:370,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/mpg123.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 372
    functionName: ExitMPG123
    functionSourceFile: /src/vlc/modules/codec/mpg123.c
    functionUses: 0
    functionsReached:
    - mpg123_exit
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void ExitMPG123( void )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: InitMPG123
      Src: /src/vlc/modules/codec/mpg123.c:388,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/mpg123.c:392,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/mpg123.c:397,1
    - Dst: MPG123Open
      Src: /src/vlc/modules/codec/mpg123.c:399,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/mpg123.c:408,1
    - Dst: aout_BitsPerSample
      Src: /src/vlc/modules/codec/mpg123.c:411,1
    - Dst: ExitMPG123
      Src: /src/vlc/modules/codec/mpg123.c:415,1
    - Dst: free
      Src: /src/vlc/modules/codec/mpg123.c:416,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 418
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/modules/codec/mpg123.c
    functionUses: 0
    functionsReached:
    - ExitMPG123
    - date_Set
    - MPG123Open
    - aout_BitsPerSample
    - free
    - msg_Dbg
    - InitMPG123
    - malloc
    linkageType: ''
    returnType: int
    signature: int OpenDecoder( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mpg123_close
      Src: /src/vlc/modules/codec/mpg123.c:428,1
    - Dst: mpg123_delete
      Src: /src/vlc/modules/codec/mpg123.c:429,1
    - Dst: ExitMPG123
      Src: /src/vlc/modules/codec/mpg123.c:430,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/mpg123.c:432,1
    - Dst: free
      Src: /src/vlc/modules/codec/mpg123.c:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 434
    functionName: CloseDecoder
    functionSourceFile: /src/vlc/modules/codec/mpg123.c
    functionUses: 2
    functionsReached:
    - ExitMPG123
    - block_Release
    - mpg123_close
    - mpg123_delete
    - free
    linkageType: ''
    returnType: void
    signature: void CloseDecoder( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: date_Set
      Src: /src/vlc/modules/codec/uleaddvaudio.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: Flush
    functionSourceFile: /src/vlc/modules/codec/uleaddvaudio.c
    functionUses: 85
    functionsReached:
    - date_Set
    linkageType: ''
    returnType: void
    signature: void Flush(decoder_t *dec)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/vlc/modules/codec/uleaddvaudio.c:67,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/uleaddvaudio.c:74,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/uleaddvaudio.c:75,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/uleaddvaudio.c:77,1
    - Dst: dv_get_audio_sample_count
      Src: /src/vlc/modules/codec/uleaddvaudio.c:89,1
    - Dst: decoder_UpdateAudioFormat
      Src: /src/vlc/modules/codec/uleaddvaudio.c:91,1
    - Dst: decoder_NewAudioBuffer
      Src: /src/vlc/modules/codec/uleaddvaudio.c:93,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/uleaddvaudio.c:96,1
    - Dst: date_Increment
      Src: /src/vlc/modules/codec/uleaddvaudio.c:97,1
    - Dst: dv_audio_12to16
      Src: /src/vlc/modules/codec/uleaddvaudio.c:103,1
    - Dst: dv_audio_12to16
      Src: /src/vlc/modules/codec/uleaddvaudio.c:104,1
    - Dst: GetWBE
      Src: /src/vlc/modules/codec/uleaddvaudio.c:106,1
    - Dst: GetWBE
      Src: /src/vlc/modules/codec/uleaddvaudio.c:107,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/uleaddvaudio.c:112,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 2
    argNames:
    - dec
    - block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 114
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/codec/uleaddvaudio.c
    functionUses: 11
    functionsReached:
    - GetWBE
    - block_Release
    - decoder_NewAudioBuffer
    - dv_get_audio_sample_count
    - dv_audio_12to16
    - date_Set
    - decoder_UpdateAudioFormat
    - date_Get
    - date_Increment
    - Flush
    linkageType: ''
    returnType: block_t
    signature: block_t *DecodeBlock(decoder_t *dec, block_t *block)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DecodeBlock
      Src: /src/vlc/modules/codec/uleaddvaudio.c:122,1
    - Dst: decoder_QueueAudio
      Src: /src/vlc/modules/codec/uleaddvaudio.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - dec
    - block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 125
    functionName: DecodeAudio
    functionSourceFile: /src/vlc/modules/codec/uleaddvaudio.c
    functionUses: 4
    functionsReached:
    - DecodeBlock
    - decoder_QueueAudio
    linkageType: ''
    returnType: int
    signature: int DecodeAudio(decoder_t *dec, block_t *block)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/codec/uleaddvaudio.c:141,1
    - Dst: date_Init
      Src: /src/vlc/modules/codec/uleaddvaudio.c:148,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/uleaddvaudio.c:150,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 166
    functionName: Open
    functionSourceFile: /src/vlc/modules/codec/uleaddvaudio.c
    functionUses: 73
    functionsReached:
    - date_Init
    - vlc_obj_malloc
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *object)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/shine.c:87,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/shine.c:94,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/shine.c:98,1
    - Dst: atomic_exchange
      Src: /src/vlc/modules/codec/shine.c:102,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/shine.c:104,1
    - Dst: calloc
      Src: /src/vlc/modules/codec/shine.c:108,1
    - Dst: shine_set_config_mpeg_defaults
      Src: /src/vlc/modules/codec/shine.c:122,1
    - Dst: shine_check_config
      Src: /src/vlc/modules/codec/shine.c:125,1
    - Dst: atomic_store
      Src: /src/vlc/modules/codec/shine.c:126,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/shine.c:127,1
    - Dst: free
      Src: /src/vlc/modules/codec/shine.c:128,1
    - Dst: shine_initialise
      Src: /src/vlc/modules/codec/shine.c:132,1
    - Dst: shine_samples_per_pass
      Src: /src/vlc/modules/codec/shine.c:133,1
    - Dst: atomic_store
      Src: /src/vlc/modules/codec/shine.c:147,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 149
    functionName: OpenEncoder
    functionSourceFile: /src/vlc/modules/codec/shine.c
    functionUses: 0
    functionsReached:
    - shine_check_config
    - atomic_exchange
    - shine_set_config_mpeg_defaults
    - msg_Err
    - calloc
    - atomic_store
    - free
    - msg_Dbg
    - shine_samples_per_pass
    - shine_initialise
    linkageType: ''
    returnType: int
    signature: int OpenEncoder( vlc_object_t *p_this )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/shine.c:163,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/shine.c:169,1
    - Dst: free
      Src: /src/vlc/modules/codec/shine.c:173,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/shine.c:177,1
    - Dst: realloc
      Src: /src/vlc/modules/codec/shine.c:193,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/shine.c:195,1
    - Dst: free
      Src: /src/vlc/modules/codec/shine.c:200,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/shine.c:205,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 2
    argNames:
    - p_enc
    - p_block
    argTypes:
    - encoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 223
    functionName: GetPCM
    functionSourceFile: /src/vlc/modules/codec/shine.c
    functionUses: 0
    functionsReached:
    - realloc
    - memcpy
    - free
    - block_Alloc
    - malloc
    linkageType: ''
    returnType: block_t
    signature: block_t *GetPCM( encoder_t *p_enc, block_t *p_block )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/codec/shine.c:235,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/shine.c:237,1
    - Dst: GetPCM
      Src: /src/vlc/modules/codec/shine.c:240,1
    - Dst: aout_Deinterleave
      Src: /src/vlc/modules/codec/shine.c:250,1
    - Dst: shine_encode_buffer
      Src: /src/vlc/modules/codec/shine.c:254,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/shine.c:255,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/shine.c:260,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/shine.c:264,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/codec/shine.c:267,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/codec/shine.c:275,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - p_enc
    - p_block
    argTypes:
    - encoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 280
    functionName: EncodeFrame
    functionSourceFile: /src/vlc/modules/codec/shine.c
    functionUses: 0
    functionsReached:
    - block_Release
    - aout_Deinterleave
    - block_ChainAppend
    - memcpy
    - GetPCM
    - shine_encode_buffer
    - block_Alloc
    - vlc_tick_from_samples
    - VLC_UNUSED
    linkageType: ''
    returnType: block_t
    signature: block_t *EncodeFrame( encoder_t *p_enc, block_t *p_block )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/codec/shine.c:289,1
    - Dst: shine_close
      Src: /src/vlc/modules/codec/shine.c:291,1
    - Dst: atomic_store
      Src: /src/vlc/modules/codec/shine.c:292,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/codec/shine.c:294,1
    - Dst: free
      Src: /src/vlc/modules/codec/shine.c:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_enc
    argTypes:
    - encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 296
    functionName: CloseEncoder
    functionSourceFile: /src/vlc/modules/codec/shine.c
    functionUses: 3
    functionsReached:
    - free
    - atomic_store
    - block_ChainRelease
    - shine_close
    linkageType: ''
    returnType: void
    signature: void CloseEncoder( encoder_t *p_enc )
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/vlc/modules/codec/xwd.c:49,1
    - Dst: ntohl
      Src: /src/vlc/modules/codec/xwd.c:51,1
    - Dst: ntohl
      Src: /src/vlc/modules/codec/xwd.c:52,1
    - Dst: ntohl
      Src: /src/vlc/modules/codec/xwd.c:55,1
    - Dst: ntohl
      Src: /src/vlc/modules/codec/xwd.c:63,1
    - Dst: ntohl
      Src: /src/vlc/modules/codec/xwd.c:66,1
    - Dst: ntohl
      Src: /src/vlc/modules/codec/xwd.c:70,1
    - Dst: ntohl
      Src: /src/vlc/modules/codec/xwd.c:71,1
    - Dst: ntohl
      Src: /src/vlc/modules/codec/xwd.c:75,1
    - Dst: ntohl
      Src: /src/vlc/modules/codec/xwd.c:76,1
    - Dst: ntohl
      Src: /src/vlc/modules/codec/xwd.c:80,1
    - Dst: ntohl
      Src: /src/vlc/modules/codec/xwd.c:87,1
    - Dst: video_format_Setup
      Src: /src/vlc/modules/codec/xwd.c:95,1
    - Dst: ntohl
      Src: /src/vlc/modules/codec/xwd.c:96,1
    - Dst: ntohl
      Src: /src/vlc/modules/codec/xwd.c:96,1
    - Dst: ntohl
      Src: /src/vlc/modules/codec/xwd.c:97,1
    - Dst: ntohl
      Src: /src/vlc/modules/codec/xwd.c:97,1
    - Dst: decoder_UpdateVideoFormat
      Src: /src/vlc/modules/codec/xwd.c:101,1
    - Dst: decoder_NewPicture
      Src: /src/vlc/modules/codec/xwd.c:103,1
    - Dst: ntohl
      Src: /src/vlc/modules/codec/xwd.c:109,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/codec/xwd.c:112,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/xwd.c:117,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/modules/codec/xwd.c:118,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 69
    argCount: 2
    argNames:
    - dec
    - block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 120
    functionName: Decode
    functionSourceFile: /src/vlc/modules/codec/xwd.c
    functionUses: 16
    functionsReached:
    - block_Release
    - ntohl
    - decoder_UpdateVideoFormat
    - video_format_Setup
    - plane_CopyPixels
    - decoder_QueueVideo
    - decoder_NewPicture
    linkageType: ''
    returnType: int
    signature: int Decode (decoder_t *dec, block_t *block)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: es_format_Copy
      Src: /src/vlc/modules/codec/xwd.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 133
    functionName: Open
    functionSourceFile: /src/vlc/modules/codec/xwd.c
    functionUses: 73
    functionsReached:
    - es_format_Copy
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/vorbis.c:239,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/vorbis.c:240,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/vorbis.c:244,1
    - Dst: vorbis_info_init
      Src: /src/vlc/modules/codec/vorbis.c:250,1
    - Dst: vorbis_comment_init
      Src: /src/vlc/modules/codec/vorbis.c:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - p_this
    - b_packetizer
    argTypes:
    - vlc_object_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 271
    functionName: OpenCommon
    functionSourceFile: /src/vlc/modules/codec/vorbis.c
    functionUses: 29
    functionsReached:
    - vorbis_info_init
    - date_Set
    - vorbis_comment_init
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int OpenCommon( vlc_object_t *p_this, bool b_packetizer )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenCommon
      Src: /src/vlc/modules/codec/vorbis.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/modules/codec/vorbis.c
    functionUses: 0
    functionsReached:
    - OpenCommon
    linkageType: ''
    returnType: int
    signature: int OpenDecoder( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenCommon
      Src: /src/vlc/modules/codec/vorbis.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: OpenPacketizer
    functionSourceFile: /src/vlc/modules/codec/vorbis.c
    functionUses: 1
    functionsReached:
    - OpenCommon
    linkageType: ''
    returnType: int
    signature: int OpenPacketizer( vlc_object_t *p_this )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ProcessHeaders
      Src: /src/vlc/modules/codec/vorbis.c:316,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/vorbis.c:319,1
    - Dst: ProcessPacket
      Src: /src/vlc/modules/codec/vorbis.c:325,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 326
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/codec/vorbis.c
    functionUses: 12
    functionsReached:
    - ProcessPacket
    - block_Release
    - ProcessHeaders
    linkageType: ''
    returnType: block_t
    signature: block_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DecodeBlock
      Src: /src/vlc/modules/codec/vorbis.c:334,1
    - Dst: decoder_QueueAudio
      Src: /src/vlc/modules/codec/vorbis.c:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 337
    functionName: DecodeAudio
    functionSourceFile: /src/vlc/modules/codec/vorbis.c
    functionUses: 4
    functionsReached:
    - DecodeBlock
    - decoder_QueueAudio
    linkageType: ''
    returnType: int
    signature: int DecodeAudio( decoder_t *p_dec, block_t *p_block )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DecodeBlock
      Src: /src/vlc/modules/codec/vorbis.c:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 344
    functionName: Packetize
    functionSourceFile: /src/vlc/modules/codec/vorbis.c
    functionUses: 9
    functionsReached:
    - DecodeBlock
    linkageType: ''
    returnType: block_t
    signature: block_t *Packetize( decoder_t *p_dec, block_t **pp_block )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: xiph_SplitHeaders
      Src: /src/vlc/modules/codec/vorbis.c:357,1
    - Dst: vorbis_synthesis_headerin
      Src: /src/vlc/modules/codec/vorbis.c:371,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/vorbis.c:373,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/vorbis.c:381,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/vorbis.c:383,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/vorbis.c:384,1
    - Dst: __MAX
      Src: /src/vlc/modules/codec/vorbis.c:391,1
    - Dst: date_Init
      Src: /src/vlc/modules/codec/vorbis.c:393,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/vorbis.c:395,1
    - Dst: vorbis_synthesis_headerin
      Src: /src/vlc/modules/codec/vorbis.c:402,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/vorbis.c:404,1
    - Dst: ParseVorbisComments
      Src: /src/vlc/modules/codec/vorbis.c:407,1
    - Dst: vlc_replay_gain_CopyFromMeta
      Src: /src/vlc/modules/codec/vorbis.c:409,1
    - Dst: replay_gain_Reset
      Src: /src/vlc/modules/codec/vorbis.c:415,1
    - Dst: vlc_meta_GetExtra
      Src: /src/vlc/modules/codec/vorbis.c:417,1
    - Dst: vlc_strtof_c
      Src: /src/vlc/modules/codec/vorbis.c:421,1
    - Dst: vlc_meta_GetExtra
      Src: /src/vlc/modules/codec/vorbis.c:424,1
    - Dst: vlc_strtof_c
      Src: /src/vlc/modules/codec/vorbis.c:428,1
    - Dst: vlc_meta_GetExtra
      Src: /src/vlc/modules/codec/vorbis.c:431,1
    - Dst: vlc_strtof_c
      Src: /src/vlc/modules/codec/vorbis.c:435,1
    - Dst: vorbis_synthesis_headerin
      Src: /src/vlc/modules/codec/vorbis.c:445,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/vorbis.c:447,1
    - Dst: vorbis_synthesis_init
      Src: /src/vlc/modules/codec/vorbis.c:454,1
    - Dst: vorbis_block_init
      Src: /src/vlc/modules/codec/vorbis.c:455,1
    - Dst: realloc
      Src: /src/vlc/modules/codec/vorbis.c:459,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/vorbis.c:461,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/vorbis.c:467,1
    - Dst: ConfigureChannelOrder
      Src: /src/vlc/modules/codec/vorbis.c:471,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 68
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 475
    functionName: ProcessHeaders
    functionSourceFile: /src/vlc/modules/codec/vorbis.c
    functionUses: 4
    functionsReached:
    - xiph_SplitHeaders
    - vlc_replay_gain_CopyFromMeta
    - ARRAY_SIZE
    - vlc_strtof_c
    - vorbis_synthesis_init
    - vorbis_block_init
    - vlc_meta_GetExtra
    - realloc
    - date_Init
    - memcpy
    - msg_Err
    - vorbis_synthesis_headerin
    - __MAX
    - replay_gain_Reset
    - msg_Dbg
    - ConfigureChannelOrder
    - ParseVorbisComments
    - unlikely
    linkageType: ''
    returnType: int
    signature: int ProcessHeaders( decoder_t *p_dec )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: date_Set
      Src: /src/vlc/modules/codec/vorbis.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 485
    functionName: Flush
    functionSourceFile: /src/vlc/modules/codec/vorbis.c
    functionUses: 86
    functionsReached:
    - date_Set
    linkageType: ''
    returnType: void
    signature: void Flush( decoder_t *p_dec )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/vlc/modules/codec/vorbis.c:502,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/vorbis.c:505,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/vorbis.c:513,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/vorbis.c:515,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/vorbis.c:518,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/vorbis.c:521,1
    - Dst: SendPacket
      Src: /src/vlc/modules/codec/vorbis.c:528,1
    - Dst: DecodePacket
      Src: /src/vlc/modules/codec/vorbis.c:532,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/vorbis.c:534,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - p_dec
    - p_oggpacket
    - pp_block
    argTypes:
    - decoder_t*
    - ogg_packet*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 537
    functionName: ProcessPacket
    functionSourceFile: /src/vlc/modules/codec/vorbis.c
    functionUses: 5
    functionsReached:
    - block_Release
    - date_Set
    - DecodePacket
    - date_Get
    - Flush
    - SendPacket
    linkageType: ''
    returnType: block_t
    signature: "block_t *ProcessPacket( decoder_t *p_dec, ogg_packet *p_oggpacket,\n
      \                              block_t **pp_block )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - p_out
    - pp_in
    - i_nb_channels
    - i_samples
    - pi_chan_table
    argTypes:
    - INTERLEAVE_TYPE*
    - INTERLEAVE_TYPE**
    - int
    - int
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 557
    functionName: Interleave
    functionSourceFile: /src/vlc/modules/codec/vorbis.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Interleave( INTERLEAVE_TYPE *p_out, const INTERLEAVE_TYPE **pp_in,\n
      \                       int i_nb_channels, int i_samples, uint8_t *pi_chan_table)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vorbis_synthesis
      Src: /src/vlc/modules/codec/vorbis.c:570,1
    - Dst: vorbis_synthesis_blockin
      Src: /src/vlc/modules/codec/vorbis.c:571,1
    - Dst: vorbis_synthesis_pcmout
      Src: /src/vlc/modules/codec/vorbis.c:578,1
    - Dst: decoder_UpdateAudioFormat
      Src: /src/vlc/modules/codec/vorbis.c:583,1
    - Dst: decoder_NewAudioBuffer
      Src: /src/vlc/modules/codec/vorbis.c:585,1
    - Dst: Interleave
      Src: /src/vlc/modules/codec/vorbis.c:590,1
    - Dst: vorbis_synthesis_read
      Src: /src/vlc/modules/codec/vorbis.c:595,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/vorbis.c:598,1
    - Dst: date_Increment
      Src: /src/vlc/modules/codec/vorbis.c:599,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - p_dec
    - p_oggpacket
    argTypes:
    - decoder_t*
    - ogg_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 607
    functionName: DecodePacket
    functionSourceFile: /src/vlc/modules/codec/vorbis.c
    functionUses: 7
    functionsReached:
    - vorbis_synthesis_blockin
    - vorbis_synthesis_pcmout
    - vorbis_synthesis_read
    - decoder_NewAudioBuffer
    - Interleave
    - decoder_UpdateAudioFormat
    - vorbis_synthesis
    - date_Get
    - date_Increment
    linkageType: ''
    returnType: block_t
    signature: block_t *DecodePacket( decoder_t *p_dec, ogg_packet *p_oggpacket )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vorbis_packet_blocksize
      Src: /src/vlc/modules/codec/vorbis.c:618,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/vorbis.c:624,1
    - Dst: date_Increment
      Src: /src/vlc/modules/codec/vorbis.c:626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - p_dec
    - p_oggpacket
    - p_block
    argTypes:
    - decoder_t*
    - ogg_packet*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 629
    functionName: SendPacket
    functionSourceFile: /src/vlc/modules/codec/vorbis.c
    functionUses: 1
    functionsReached:
    - date_Increment
    - vorbis_packet_blocksize
    - date_Get
    linkageType: ''
    returnType: block_t
    signature: "block_t *SendPacket( decoder_t *p_dec, ogg_packet *p_oggpacket,\n
      \                           block_t *p_block )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/codec/vorbis.c:643,1
    - Dst: strchr
      Src: /src/vlc/modules/codec/vorbis.c:647,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/vorbis.c:654,1
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/codec/vorbis.c:659,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/codec/vorbis.c:661,1
    - Dst: free
      Src: /src/vlc/modules/codec/vorbis.c:665,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 634
    functionDepth: 2
    functionLinenumber: 634
    functionLinenumberEnd: 668
    functionName: ParseVorbisComments
    functionSourceFile: /src/vlc/modules/codec/vorbis.c
    functionUses: 1
    functionsReached:
    - strchr
    - strdup
    - vlc_meta_New
    - free
    - strcasecmp
    - vlc_meta_SetExtra
    linkageType: ''
    returnType: void
    signature: void ParseVorbisComments( decoder_t *p_dec )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: aout_CheckChannelReorder
      Src: /src/vlc/modules/codec/vorbis.c:702,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - pi_chan_table
    - i_channels
    - i_channel_mask
    argTypes:
    - uint8_t*
    - int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 704
    functionName: ConfigureChannelOrder
    functionSourceFile: /src/vlc/modules/codec/vorbis.c
    functionUses: 1
    functionsReached:
    - aout_CheckChannelReorder
    linkageType: ''
    returnType: void
    signature: "void ConfigureChannelOrder(uint8_t *pi_chan_table, int i_channels,\n
      \                                 uint32_t i_channel_mask)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vorbis_block_clear
      Src: /src/vlc/modules/codec/vorbis.c:716,1
    - Dst: vorbis_dsp_clear
      Src: /src/vlc/modules/codec/vorbis.c:717,1
    - Dst: vorbis_comment_clear
      Src: /src/vlc/modules/codec/vorbis.c:720,1
    - Dst: vorbis_info_clear
      Src: /src/vlc/modules/codec/vorbis.c:721,1
    - Dst: free
      Src: /src/vlc/modules/codec/vorbis.c:723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 724
    functionName: CloseDecoder
    functionSourceFile: /src/vlc/modules/codec/vorbis.c
    functionUses: 2
    functionsReached:
    - vorbis_block_clear
    - vorbis_dsp_clear
    - vorbis_info_clear
    - free
    - vorbis_comment_clear
    linkageType: ''
    returnType: void
    signature: void CloseDecoder( vlc_object_t *p_this )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/vorbis.c:770,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/vorbis.c:776,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/vorbis.c:778,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/vorbis.c:779,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/codec/vorbis.c:781,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/vorbis.c:783,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/codec/vorbis.c:787,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/vorbis.c:788,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/vorbis.c:789,1
    - Dst: vorbis_info_init
      Src: /src/vlc/modules/codec/vorbis.c:792,1
    - Dst: vorbis_encode_setup_vbr
      Src: /src/vlc/modules/codec/vorbis.c:797,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/vorbis.c:801,1
    - Dst: vorbis_encode_ctl
      Src: /src/vlc/modules/codec/vorbis.c:811,1
    - Dst: vorbis_encode_ctl
      Src: /src/vlc/modules/codec/vorbis.c:817,1
    - Dst: vorbis_encode_ctl
      Src: /src/vlc/modules/codec/vorbis.c:823,1
    - Dst: vorbis_encode_setup_managed
      Src: /src/vlc/modules/codec/vorbis.c:828,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/vorbis.c:834,1
    - Dst: vorbis_encode_setup_init
      Src: /src/vlc/modules/codec/vorbis.c:842,1
    - Dst: vorbis_comment_init
      Src: /src/vlc/modules/codec/vorbis.c:845,1
    - Dst: vorbis_comment_add_tag
      Src: /src/vlc/modules/codec/vorbis.c:846,1
    - Dst: vorbis_analysis_init
      Src: /src/vlc/modules/codec/vorbis.c:849,1
    - Dst: vorbis_block_init
      Src: /src/vlc/modules/codec/vorbis.c:850,1
    - Dst: vorbis_analysis_headerout
      Src: /src/vlc/modules/codec/vorbis.c:853,1
    - Dst: xiph_AppendHeaders
      Src: /src/vlc/modules/codec/vorbis.c:857,1
    - Dst: free
      Src: /src/vlc/modules/codec/vorbis.c:860,1
    - Dst: assert
      Src: /src/vlc/modules/codec/vorbis.c:866,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/vorbis.c:866,1
    - Dst: ConfigureChannelOrder
      Src: /src/vlc/modules/codec/vorbis.c:878,1
    - Dst: vorbis_info_clear
      Src: /src/vlc/modules/codec/vorbis.c:891,1
    - Dst: free
      Src: /src/vlc/modules/codec/vorbis.c:892,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 72
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: (p_sys->vi.channels > 0 && (size_t) p_sys->vi.channels < ARRAY_SIZE(pi_channels_maps)
        )
      pos:
        line_end: 865
        line_start: 865
        source_file: /src/vlc/modules/codec/vorbis.c
    constantsTouched: []
    func_position:
      end: 894
      start: 756
    functionDepth: 3
    functionLinenumber: 756
    functionLinenumberEnd: 894
    functionName: OpenEncoder
    functionSourceFile: /src/vlc/modules/codec/vorbis.c
    functionUses: 0
    functionsReached:
    - assert
    - var_GetInteger
    - ARRAY_SIZE
    - vorbis_analysis_headerout
    - vorbis_comment_init
    - msg_Err
    - vorbis_encode_setup_managed
    - msg_Warn
    - vorbis_info_init
    - vorbis_analysis_init
    - vorbis_block_init
    - vorbis_info_clear
    - xiph_AppendHeaders
    - vorbis_encode_ctl
    - vorbis_encode_setup_init
    - vorbis_encode_setup_vbr
    - ConfigureChannelOrder
    - var_GetBool
    - vorbis_comment_add_tag
    - config_ChainParse
    - free
    - malloc
    linkageType: ''
    returnType: int
    signature: int OpenEncoder( vlc_object_t *p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/codec/vorbis.c:909,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/codec/vorbis.c:912,1
    - Dst: vorbis_analysis_buffer
      Src: /src/vlc/modules/codec/vorbis.c:917,1
    - Dst: vorbis_analysis_wrote
      Src: /src/vlc/modules/codec/vorbis.c:930,1
    - Dst: vorbis_analysis_blockout
      Src: /src/vlc/modules/codec/vorbis.c:932,1
    - Dst: vorbis_analysis
      Src: /src/vlc/modules/codec/vorbis.c:936,1
    - Dst: vorbis_bitrate_addblock
      Src: /src/vlc/modules/codec/vorbis.c:937,1
    - Dst: vorbis_bitrate_flushpacket
      Src: /src/vlc/modules/codec/vorbis.c:939,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/vorbis.c:942,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/vorbis.c:943,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/codec/vorbis.c:944,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/vorbis.c:949,1
    - Dst: vorbis_packet_blocksize
      Src: /src/vlc/modules/codec/vorbis.c:951,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/codec/vorbis.c:957,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/codec/vorbis.c:966,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - p_enc
    - p_aout_buf
    argTypes:
    - encoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 971
    functionName: Encode
    functionSourceFile: /src/vlc/modules/codec/vorbis.c
    functionUses: 2
    functionsReached:
    - block_ChainAppend
    - vorbis_analysis_wrote
    - vorbis_bitrate_addblock
    - block_ChainRelease
    - vorbis_bitrate_flushpacket
    - memcpy
    - vorbis_packet_blocksize
    - block_Alloc
    - vlc_tick_from_samples
    - vorbis_analysis_blockout
    - unlikely
    - vorbis_analysis_buffer
    - vorbis_analysis
    linkageType: ''
    returnType: block_t
    signature: block_t *Encode( encoder_t *p_enc, block_t *p_aout_buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vorbis_block_clear
      Src: /src/vlc/modules/codec/vorbis.c:980,1
    - Dst: vorbis_dsp_clear
      Src: /src/vlc/modules/codec/vorbis.c:981,1
    - Dst: vorbis_comment_clear
      Src: /src/vlc/modules/codec/vorbis.c:982,1
    - Dst: vorbis_info_clear
      Src: /src/vlc/modules/codec/vorbis.c:983,1
    - Dst: free
      Src: /src/vlc/modules/codec/vorbis.c:985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p_enc
    argTypes:
    - encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 986
    functionName: CloseEncoder
    functionSourceFile: /src/vlc/modules/codec/vorbis.c
    functionUses: 3
    functionsReached:
    - vorbis_block_clear
    - vorbis_dsp_clear
    - vorbis_info_clear
    - free
    - vorbis_comment_clear
    linkageType: ''
    returnType: void
    signature: void CloseEncoder( encoder_t *p_enc )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/codec/cdg.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 125
    functionName: Open
    functionSourceFile: /src/vlc/modules/codec/cdg.c
    functionUses: 73
    functionsReached:
    - vlc_obj_calloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: Flush
    functionSourceFile: /src/vlc/modules/codec/cdg.c
    functionUses: 87
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Flush( decoder_t *p_dec )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/vlc/modules/codec/cdg.c:152,1
    - Dst: DecodePacket
      Src: /src/vlc/modules/codec/cdg.c:159,1
    - Dst: decoder_UpdateVideoFormat
      Src: /src/vlc/modules/codec/cdg.c:168,1
    - Dst: decoder_NewPicture
      Src: /src/vlc/modules/codec/cdg.c:170,1
    - Dst: Render
      Src: /src/vlc/modules/codec/cdg.c:174,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/cdg.c:179,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/modules/codec/cdg.c:181,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 183
    functionName: Decode
    functionSourceFile: /src/vlc/modules/codec/cdg.c
    functionUses: 16
    functionsReached:
    - block_Release
    - decoder_UpdateVideoFormat
    - Render
    - DecodePacket
    - decoder_QueueVideo
    - Flush
    - decoder_NewPicture
    linkageType: ''
    returnType: int
    signature: int Decode( decoder_t *p_dec, block_t *p_block )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 6
    argNames:
    - p_cdg
    - sx
    - sy
    - dx
    - dy
    - c
    argTypes:
    - decoder_sys_t*
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 194
    functionName: ScreenFill
    functionSourceFile: /src/vlc/modules/codec/cdg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScreenFill( decoder_sys_t *p_cdg, int sx, int sy, int dx, int
      dy, int c )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ScreenFill
      Src: /src/vlc/modules/codec/cdg.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_cdg
    - p_data
    argTypes:
    - decoder_sys_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 204
    functionName: DecodeMemoryPreset
    functionSourceFile: /src/vlc/modules/codec/cdg.c
    functionUses: 0
    functionsReached:
    - ScreenFill
    linkageType: ''
    returnType: int
    signature: int DecodeMemoryPreset( decoder_sys_t *p_cdg, const uint8_t *p_data
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ScreenFill
      Src: /src/vlc/modules/codec/cdg.c:210,1
    - Dst: ScreenFill
      Src: /src/vlc/modules/codec/cdg.c:212,1
    - Dst: ScreenFill
      Src: /src/vlc/modules/codec/cdg.c:214,1
    - Dst: ScreenFill
      Src: /src/vlc/modules/codec/cdg.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p_cdg
    - p_data
    argTypes:
    - decoder_sys_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 219
    functionName: DecodeBorderPreset
    functionSourceFile: /src/vlc/modules/codec/cdg.c
    functionUses: 0
    functionsReached:
    - ScreenFill
    linkageType: ''
    returnType: int
    signature: int DecodeBorderPreset( decoder_sys_t *p_cdg, const uint8_t *p_data
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - p_cdg
    - p_data
    - i_base
    argTypes:
    - decoder_sys_t*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 236
    functionName: DecodeLoadColorTable
    functionSourceFile: /src/vlc/modules/codec/cdg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DecodeLoadColorTable( decoder_sys_t *p_cdg, const uint8_t *p_data,
      int i_base )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - p_cdg
    - p_data
    - doXor
    argTypes:
    - decoder_sys_t*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 268
    functionName: DecodeTileBlock
    functionSourceFile: /src/vlc/modules/codec/cdg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DecodeTileBlock( decoder_sys_t *p_cdg, const uint8_t *p_data, int
      doXor )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/codec/cdg.c:309,1
    - Dst: ScreenFill
      Src: /src/vlc/modules/codec/cdg.c:312,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 46
    argCount: 3
    argNames:
    - p_cdg
    - p_data
    - b_copy
    argTypes:
    - decoder_sys_t*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 339
    functionName: DecodeScroll
    functionSourceFile: /src/vlc/modules/codec/cdg.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ScreenFill
    linkageType: ''
    returnType: int
    signature: int DecodeScroll( decoder_sys_t *p_cdg, const uint8_t *p_data, int
      b_copy )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: DecodeMemoryPreset
      Src: /src/vlc/modules/codec/cdg.c:359,1
    - Dst: DecodeBorderPreset
      Src: /src/vlc/modules/codec/cdg.c:362,1
    - Dst: DecodeTileBlock
      Src: /src/vlc/modules/codec/cdg.c:365,1
    - Dst: DecodeScroll
      Src: /src/vlc/modules/codec/cdg.c:368,1
    - Dst: DecodeScroll
      Src: /src/vlc/modules/codec/cdg.c:371,1
    - Dst: DecodeLoadColorTable
      Src: /src/vlc/modules/codec/cdg.c:379,1
    - Dst: DecodeLoadColorTable
      Src: /src/vlc/modules/codec/cdg.c:382,1
    - Dst: DecodeTileBlock
      Src: /src/vlc/modules/codec/cdg.c:385,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 3
    argNames:
    - p_cdg
    - p_buffer
    - i_buffer
    argTypes:
    - decoder_sys_t*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 391
    functionName: DecodePacket
    functionSourceFile: /src/vlc/modules/codec/cdg.c
    functionUses: 8
    functionsReached:
    - DecodeMemoryPreset
    - DecodeTileBlock
    - DecodeScroll
    - DecodeBorderPreset
    - DecodeLoadColorTable
    linkageType: ''
    returnType: int
    signature: int DecodePacket( decoder_sys_t *p_cdg, uint8_t *p_buffer, int i_buffer
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p_picture
    - x
    - y
    - c
    argTypes:
    - picture_t*
    - int
    - int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 399
    functionName: RenderPixel
    functionSourceFile: /src/vlc/modules/codec/cdg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RenderPixel( picture_t *p_picture, int x, int y, uint32_t c )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - g
    - b
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 403
    functionName: RenderRGB
    functionSourceFile: /src/vlc/modules/codec/cdg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t RenderRGB( int r, int g, int b )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RenderPixel
      Src: /src/vlc/modules/codec/cdg.c:418,1
    - Dst: RenderRGB
      Src: /src/vlc/modules/codec/cdg.c:418,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - p_cdg
    - p_picture
    argTypes:
    - decoder_sys_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 422
    functionName: Render
    functionSourceFile: /src/vlc/modules/codec/cdg.c
    functionUses: 16
    functionsReached:
    - RenderPixel
    - RenderRGB
    linkageType: ''
    returnType: int
    signature: int Render( decoder_sys_t *p_cdg, picture_t *p_picture )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: PLANES_3
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLANES_3(bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: PLANES_4
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLANES_4(bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: READ_8
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_8(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 76
    functionName: READ_10
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_10(a, b, c, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: READ_12
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_12(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: READ_16
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_16(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: WRITE_RGB
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_RGB(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: WRITE_RGBA
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_RGBA(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: WRITE_YUV444
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_YUV444(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: WRITE_YUV422
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_YUV422(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: WRITE_YUV420
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_YUV420(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: WRITE_YUV411
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_YUV411(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLANES_3
      Src: /src/vlc/modules/codec/rtp-rawvid.c:156,1
    - Dst: READ_8
      Src: /src/vlc/modules/codec/rtp-rawvid.c:159,1
    - Dst: READ_8
      Src: /src/vlc/modules/codec/rtp-rawvid.c:160,1
    - Dst: READ_8
      Src: /src/vlc/modules/codec/rtp-rawvid.c:161,1
    - Dst: WRITE_RGB
      Src: /src/vlc/modules/codec/rtp-rawvid.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - planes
    - in
    - len
    argTypes:
    - void**
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: decode_rgb_8
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached:
    - READ_8
    - PLANES_3
    - WRITE_RGB
    linkageType: ''
    returnType: void
    signature: "void decode_rgb_8(void *restrict *restrict planes,\n                         const
      unsigned char *restrict in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLANES_3
      Src: /src/vlc/modules/codec/rtp-rawvid.c:169,1
    - Dst: READ_10
      Src: /src/vlc/modules/codec/rtp-rawvid.c:172,1
    - Dst: READ_10
      Src: /src/vlc/modules/codec/rtp-rawvid.c:173,1
    - Dst: READ_10
      Src: /src/vlc/modules/codec/rtp-rawvid.c:174,1
    - Dst: WRITE_RGB
      Src: /src/vlc/modules/codec/rtp-rawvid.c:175,1
    - Dst: WRITE_RGB
      Src: /src/vlc/modules/codec/rtp-rawvid.c:176,1
    - Dst: WRITE_RGB
      Src: /src/vlc/modules/codec/rtp-rawvid.c:177,1
    - Dst: WRITE_RGB
      Src: /src/vlc/modules/codec/rtp-rawvid.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - planes
    - in
    - len
    argTypes:
    - void**
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 180
    functionName: decode_rgb_10
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached:
    - PLANES_3
    - WRITE_RGB
    - READ_10
    linkageType: ''
    returnType: void
    signature: "void decode_rgb_10(void *restrict *restrict planes,\n                          const
      unsigned char *restrict in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLANES_3
      Src: /src/vlc/modules/codec/rtp-rawvid.c:185,1
    - Dst: READ_12
      Src: /src/vlc/modules/codec/rtp-rawvid.c:188,1
    - Dst: READ_12
      Src: /src/vlc/modules/codec/rtp-rawvid.c:189,1
    - Dst: READ_12
      Src: /src/vlc/modules/codec/rtp-rawvid.c:190,1
    - Dst: WRITE_RGB
      Src: /src/vlc/modules/codec/rtp-rawvid.c:191,1
    - Dst: WRITE_RGB
      Src: /src/vlc/modules/codec/rtp-rawvid.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - planes
    - in
    - len
    argTypes:
    - void**
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 194
    functionName: decode_rgb_12
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached:
    - PLANES_3
    - WRITE_RGB
    - READ_12
    linkageType: ''
    returnType: void
    signature: "void decode_rgb_12(void *restrict *restrict planes,\n                          const
      unsigned char *restrict in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLANES_3
      Src: /src/vlc/modules/codec/rtp-rawvid.c:199,1
    - Dst: READ_16
      Src: /src/vlc/modules/codec/rtp-rawvid.c:202,1
    - Dst: READ_16
      Src: /src/vlc/modules/codec/rtp-rawvid.c:203,1
    - Dst: READ_16
      Src: /src/vlc/modules/codec/rtp-rawvid.c:204,1
    - Dst: WRITE_RGB
      Src: /src/vlc/modules/codec/rtp-rawvid.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - planes
    - in
    - len
    argTypes:
    - void**
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 207
    functionName: decode_rgb_16
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached:
    - PLANES_3
    - WRITE_RGB
    - READ_16
    linkageType: ''
    returnType: void
    signature: "void decode_rgb_16(void *restrict *restrict planes,\n                          const
      unsigned char *restrict in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLANES_4
      Src: /src/vlc/modules/codec/rtp-rawvid.c:212,1
    - Dst: READ_8
      Src: /src/vlc/modules/codec/rtp-rawvid.c:215,1
    - Dst: READ_8
      Src: /src/vlc/modules/codec/rtp-rawvid.c:216,1
    - Dst: READ_8
      Src: /src/vlc/modules/codec/rtp-rawvid.c:217,1
    - Dst: READ_8
      Src: /src/vlc/modules/codec/rtp-rawvid.c:218,1
    - Dst: WRITE_RGBA
      Src: /src/vlc/modules/codec/rtp-rawvid.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - planes
    - in
    - len
    argTypes:
    - void**
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 221
    functionName: decode_rgba_8
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached:
    - READ_8
    - PLANES_4
    - WRITE_RGBA
    linkageType: ''
    returnType: void
    signature: "void decode_rgba_8(void *restrict *restrict planes,\n                          const
      unsigned char *restrict in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLANES_4
      Src: /src/vlc/modules/codec/rtp-rawvid.c:226,1
    - Dst: READ_10
      Src: /src/vlc/modules/codec/rtp-rawvid.c:229,1
    - Dst: WRITE_RGBA
      Src: /src/vlc/modules/codec/rtp-rawvid.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - planes
    - in
    - len
    argTypes:
    - void**
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 232
    functionName: decode_rgba_10
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached:
    - PLANES_4
    - WRITE_RGBA
    - READ_10
    linkageType: ''
    returnType: void
    signature: "void decode_rgba_10(void *restrict *restrict planes,\n                           const
      unsigned char *restrict in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLANES_4
      Src: /src/vlc/modules/codec/rtp-rawvid.c:237,1
    - Dst: READ_12
      Src: /src/vlc/modules/codec/rtp-rawvid.c:240,1
    - Dst: READ_12
      Src: /src/vlc/modules/codec/rtp-rawvid.c:241,1
    - Dst: WRITE_RGBA
      Src: /src/vlc/modules/codec/rtp-rawvid.c:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - planes
    - in
    - len
    argTypes:
    - void**
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 244
    functionName: decode_rgba_12
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached:
    - WRITE_RGBA
    - PLANES_4
    - READ_12
    linkageType: ''
    returnType: void
    signature: "void decode_rgba_12(void *restrict *restrict planes,\n                           const
      unsigned char *restrict in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLANES_4
      Src: /src/vlc/modules/codec/rtp-rawvid.c:249,1
    - Dst: READ_16
      Src: /src/vlc/modules/codec/rtp-rawvid.c:252,1
    - Dst: READ_16
      Src: /src/vlc/modules/codec/rtp-rawvid.c:253,1
    - Dst: READ_16
      Src: /src/vlc/modules/codec/rtp-rawvid.c:254,1
    - Dst: READ_16
      Src: /src/vlc/modules/codec/rtp-rawvid.c:255,1
    - Dst: WRITE_RGBA
      Src: /src/vlc/modules/codec/rtp-rawvid.c:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - planes
    - in
    - len
    argTypes:
    - void**
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 258
    functionName: decode_rgba_16
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached:
    - PLANES_4
    - READ_16
    - WRITE_RGBA
    linkageType: ''
    returnType: void
    signature: "void decode_rgba_16(void *restrict *restrict planes,\n                           const
      unsigned char *restrict in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLANES_3
      Src: /src/vlc/modules/codec/rtp-rawvid.c:263,1
    - Dst: READ_8
      Src: /src/vlc/modules/codec/rtp-rawvid.c:266,1
    - Dst: READ_8
      Src: /src/vlc/modules/codec/rtp-rawvid.c:267,1
    - Dst: READ_8
      Src: /src/vlc/modules/codec/rtp-rawvid.c:268,1
    - Dst: WRITE_RGB
      Src: /src/vlc/modules/codec/rtp-rawvid.c:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - planes
    - in
    - len
    argTypes:
    - void**
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 271
    functionName: decode_bgr_8
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached:
    - READ_8
    - PLANES_3
    - WRITE_RGB
    linkageType: ''
    returnType: void
    signature: "void decode_bgr_8(void *restrict *restrict planes,\n                         const
      unsigned char *restrict in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLANES_3
      Src: /src/vlc/modules/codec/rtp-rawvid.c:276,1
    - Dst: READ_10
      Src: /src/vlc/modules/codec/rtp-rawvid.c:279,1
    - Dst: READ_10
      Src: /src/vlc/modules/codec/rtp-rawvid.c:280,1
    - Dst: READ_10
      Src: /src/vlc/modules/codec/rtp-rawvid.c:281,1
    - Dst: WRITE_RGB
      Src: /src/vlc/modules/codec/rtp-rawvid.c:282,1
    - Dst: WRITE_RGB
      Src: /src/vlc/modules/codec/rtp-rawvid.c:283,1
    - Dst: WRITE_RGB
      Src: /src/vlc/modules/codec/rtp-rawvid.c:284,1
    - Dst: WRITE_RGB
      Src: /src/vlc/modules/codec/rtp-rawvid.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - planes
    - in
    - len
    argTypes:
    - void**
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 287
    functionName: decode_bgr_10
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached:
    - PLANES_3
    - WRITE_RGB
    - READ_10
    linkageType: ''
    returnType: void
    signature: "void decode_bgr_10(void *restrict *restrict planes,\n                          const
      unsigned char *restrict in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLANES_3
      Src: /src/vlc/modules/codec/rtp-rawvid.c:292,1
    - Dst: READ_12
      Src: /src/vlc/modules/codec/rtp-rawvid.c:295,1
    - Dst: READ_12
      Src: /src/vlc/modules/codec/rtp-rawvid.c:296,1
    - Dst: READ_12
      Src: /src/vlc/modules/codec/rtp-rawvid.c:297,1
    - Dst: WRITE_RGB
      Src: /src/vlc/modules/codec/rtp-rawvid.c:298,1
    - Dst: WRITE_RGB
      Src: /src/vlc/modules/codec/rtp-rawvid.c:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - planes
    - in
    - len
    argTypes:
    - void**
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 301
    functionName: decode_bgr_12
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached:
    - PLANES_3
    - WRITE_RGB
    - READ_12
    linkageType: ''
    returnType: void
    signature: "void decode_bgr_12(void *restrict *restrict planes,\n                          const
      unsigned char *restrict in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLANES_3
      Src: /src/vlc/modules/codec/rtp-rawvid.c:306,1
    - Dst: READ_16
      Src: /src/vlc/modules/codec/rtp-rawvid.c:309,1
    - Dst: READ_16
      Src: /src/vlc/modules/codec/rtp-rawvid.c:310,1
    - Dst: READ_16
      Src: /src/vlc/modules/codec/rtp-rawvid.c:311,1
    - Dst: WRITE_RGB
      Src: /src/vlc/modules/codec/rtp-rawvid.c:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - planes
    - in
    - len
    argTypes:
    - void**
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 314
    functionName: decode_bgr_16
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached:
    - PLANES_3
    - WRITE_RGB
    - READ_16
    linkageType: ''
    returnType: void
    signature: "void decode_bgr_16(void *restrict *restrict planes,\n                          const
      unsigned char *restrict in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLANES_4
      Src: /src/vlc/modules/codec/rtp-rawvid.c:319,1
    - Dst: READ_8
      Src: /src/vlc/modules/codec/rtp-rawvid.c:322,1
    - Dst: READ_8
      Src: /src/vlc/modules/codec/rtp-rawvid.c:323,1
    - Dst: READ_8
      Src: /src/vlc/modules/codec/rtp-rawvid.c:324,1
    - Dst: READ_8
      Src: /src/vlc/modules/codec/rtp-rawvid.c:325,1
    - Dst: WRITE_RGBA
      Src: /src/vlc/modules/codec/rtp-rawvid.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - planes
    - in
    - len
    argTypes:
    - void**
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 328
    functionName: decode_bgra_8
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached:
    - READ_8
    - PLANES_4
    - WRITE_RGBA
    linkageType: ''
    returnType: void
    signature: "void decode_bgra_8(void *restrict *restrict planes,\n                          const
      unsigned char *restrict in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLANES_4
      Src: /src/vlc/modules/codec/rtp-rawvid.c:333,1
    - Dst: READ_10
      Src: /src/vlc/modules/codec/rtp-rawvid.c:336,1
    - Dst: WRITE_RGBA
      Src: /src/vlc/modules/codec/rtp-rawvid.c:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - planes
    - in
    - len
    argTypes:
    - void**
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 339
    functionName: decode_bgra_10
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached:
    - PLANES_4
    - WRITE_RGBA
    - READ_10
    linkageType: ''
    returnType: void
    signature: "void decode_bgra_10(void *restrict *restrict planes,\n                           const
      unsigned char *restrict in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLANES_4
      Src: /src/vlc/modules/codec/rtp-rawvid.c:344,1
    - Dst: READ_12
      Src: /src/vlc/modules/codec/rtp-rawvid.c:347,1
    - Dst: READ_12
      Src: /src/vlc/modules/codec/rtp-rawvid.c:348,1
    - Dst: WRITE_RGBA
      Src: /src/vlc/modules/codec/rtp-rawvid.c:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - planes
    - in
    - len
    argTypes:
    - void**
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 351
    functionName: decode_bgra_12
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached:
    - WRITE_RGBA
    - PLANES_4
    - READ_12
    linkageType: ''
    returnType: void
    signature: "void decode_bgra_12(void *restrict *restrict planes,\n                           const
      unsigned char *restrict in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLANES_4
      Src: /src/vlc/modules/codec/rtp-rawvid.c:356,1
    - Dst: READ_16
      Src: /src/vlc/modules/codec/rtp-rawvid.c:359,1
    - Dst: READ_16
      Src: /src/vlc/modules/codec/rtp-rawvid.c:360,1
    - Dst: READ_16
      Src: /src/vlc/modules/codec/rtp-rawvid.c:361,1
    - Dst: READ_16
      Src: /src/vlc/modules/codec/rtp-rawvid.c:362,1
    - Dst: WRITE_RGBA
      Src: /src/vlc/modules/codec/rtp-rawvid.c:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - planes
    - in
    - len
    argTypes:
    - void**
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 365
    functionName: decode_bgra_16
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached:
    - PLANES_4
    - READ_16
    - WRITE_RGBA
    linkageType: ''
    returnType: void
    signature: "void decode_bgra_16(void *restrict *restrict planes,\n                           const
      unsigned char *restrict in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLANES_3
      Src: /src/vlc/modules/codec/rtp-rawvid.c:370,1
    - Dst: READ_8
      Src: /src/vlc/modules/codec/rtp-rawvid.c:373,1
    - Dst: READ_8
      Src: /src/vlc/modules/codec/rtp-rawvid.c:374,1
    - Dst: READ_8
      Src: /src/vlc/modules/codec/rtp-rawvid.c:375,1
    - Dst: WRITE_YUV444
      Src: /src/vlc/modules/codec/rtp-rawvid.c:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - planes
    - in
    - len
    argTypes:
    - void**
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 378
    functionName: decode_yuv444_8
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached:
    - READ_8
    - WRITE_YUV444
    - PLANES_3
    linkageType: ''
    returnType: void
    signature: "void decode_yuv444_8(void *restrict *restrict planes,\n                            const
      unsigned char *restrict in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLANES_3
      Src: /src/vlc/modules/codec/rtp-rawvid.c:383,1
    - Dst: READ_10
      Src: /src/vlc/modules/codec/rtp-rawvid.c:386,1
    - Dst: READ_10
      Src: /src/vlc/modules/codec/rtp-rawvid.c:387,1
    - Dst: READ_10
      Src: /src/vlc/modules/codec/rtp-rawvid.c:388,1
    - Dst: WRITE_YUV444
      Src: /src/vlc/modules/codec/rtp-rawvid.c:389,1
    - Dst: WRITE_YUV444
      Src: /src/vlc/modules/codec/rtp-rawvid.c:390,1
    - Dst: WRITE_YUV444
      Src: /src/vlc/modules/codec/rtp-rawvid.c:391,1
    - Dst: WRITE_YUV444
      Src: /src/vlc/modules/codec/rtp-rawvid.c:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - planes
    - in
    - len
    argTypes:
    - void**
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 394
    functionName: decode_yuv444_10
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached:
    - WRITE_YUV444
    - PLANES_3
    - READ_10
    linkageType: ''
    returnType: void
    signature: "void decode_yuv444_10(void *restrict *restrict planes,\n                             const
      unsigned char *restrict in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLANES_3
      Src: /src/vlc/modules/codec/rtp-rawvid.c:399,1
    - Dst: READ_12
      Src: /src/vlc/modules/codec/rtp-rawvid.c:402,1
    - Dst: READ_12
      Src: /src/vlc/modules/codec/rtp-rawvid.c:403,1
    - Dst: READ_12
      Src: /src/vlc/modules/codec/rtp-rawvid.c:404,1
    - Dst: WRITE_YUV444
      Src: /src/vlc/modules/codec/rtp-rawvid.c:405,1
    - Dst: WRITE_YUV444
      Src: /src/vlc/modules/codec/rtp-rawvid.c:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - planes
    - in
    - len
    argTypes:
    - void**
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 408
    functionName: decode_yuv444_12
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached:
    - WRITE_YUV444
    - PLANES_3
    - READ_12
    linkageType: ''
    returnType: void
    signature: "void decode_yuv444_12(void *restrict *restrict planes,\n                             const
      unsigned char *restrict in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLANES_3
      Src: /src/vlc/modules/codec/rtp-rawvid.c:413,1
    - Dst: READ_16
      Src: /src/vlc/modules/codec/rtp-rawvid.c:416,1
    - Dst: READ_16
      Src: /src/vlc/modules/codec/rtp-rawvid.c:417,1
    - Dst: READ_16
      Src: /src/vlc/modules/codec/rtp-rawvid.c:418,1
    - Dst: WRITE_YUV444
      Src: /src/vlc/modules/codec/rtp-rawvid.c:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - planes
    - in
    - len
    argTypes:
    - void**
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 421
    functionName: decode_yuv444_16
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached:
    - WRITE_YUV444
    - PLANES_3
    - READ_16
    linkageType: ''
    returnType: void
    signature: "void decode_yuv444_16(void *restrict *restrict planes,\n                             const
      unsigned char *restrict in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLANES_3
      Src: /src/vlc/modules/codec/rtp-rawvid.c:426,1
    - Dst: READ_8
      Src: /src/vlc/modules/codec/rtp-rawvid.c:429,1
    - Dst: READ_8
      Src: /src/vlc/modules/codec/rtp-rawvid.c:430,1
    - Dst: READ_8
      Src: /src/vlc/modules/codec/rtp-rawvid.c:431,1
    - Dst: READ_8
      Src: /src/vlc/modules/codec/rtp-rawvid.c:432,1
    - Dst: WRITE_YUV422
      Src: /src/vlc/modules/codec/rtp-rawvid.c:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - planes
    - in
    - len
    argTypes:
    - void**
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 435
    functionName: decode_yuv422_8
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached:
    - READ_8
    - WRITE_YUV422
    - PLANES_3
    linkageType: ''
    returnType: void
    signature: "void decode_yuv422_8(void *restrict *restrict planes,\n                            const
      unsigned char *restrict in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLANES_3
      Src: /src/vlc/modules/codec/rtp-rawvid.c:440,1
    - Dst: READ_10
      Src: /src/vlc/modules/codec/rtp-rawvid.c:443,1
    - Dst: WRITE_YUV422
      Src: /src/vlc/modules/codec/rtp-rawvid.c:444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - planes
    - in
    - len
    argTypes:
    - void**
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 446
    functionName: decode_yuv422_10
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached:
    - WRITE_YUV422
    - PLANES_3
    - READ_10
    linkageType: ''
    returnType: void
    signature: "void decode_yuv422_10(void *restrict *restrict planes,\n                             const
      unsigned char *restrict in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLANES_3
      Src: /src/vlc/modules/codec/rtp-rawvid.c:451,1
    - Dst: READ_12
      Src: /src/vlc/modules/codec/rtp-rawvid.c:454,1
    - Dst: READ_12
      Src: /src/vlc/modules/codec/rtp-rawvid.c:455,1
    - Dst: WRITE_YUV422
      Src: /src/vlc/modules/codec/rtp-rawvid.c:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - planes
    - in
    - len
    argTypes:
    - void**
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 458
    functionName: decode_yuv422_12
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached:
    - WRITE_YUV422
    - PLANES_3
    - READ_12
    linkageType: ''
    returnType: void
    signature: "void decode_yuv422_12(void *restrict *restrict planes,\n                             const
      unsigned char *restrict in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLANES_3
      Src: /src/vlc/modules/codec/rtp-rawvid.c:463,1
    - Dst: READ_16
      Src: /src/vlc/modules/codec/rtp-rawvid.c:466,1
    - Dst: READ_16
      Src: /src/vlc/modules/codec/rtp-rawvid.c:467,1
    - Dst: READ_16
      Src: /src/vlc/modules/codec/rtp-rawvid.c:468,1
    - Dst: READ_16
      Src: /src/vlc/modules/codec/rtp-rawvid.c:469,1
    - Dst: WRITE_YUV422
      Src: /src/vlc/modules/codec/rtp-rawvid.c:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - planes
    - in
    - len
    argTypes:
    - void**
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 472
    functionName: decode_yuv422_16
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached:
    - WRITE_YUV422
    - PLANES_3
    - READ_16
    linkageType: ''
    returnType: void
    signature: "void decode_yuv422_16(void *restrict *restrict planes,\n                             const
      unsigned char *restrict in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLANES_4
      Src: /src/vlc/modules/codec/rtp-rawvid.c:477,1
    - Dst: READ_8
      Src: /src/vlc/modules/codec/rtp-rawvid.c:480,1
    - Dst: READ_8
      Src: /src/vlc/modules/codec/rtp-rawvid.c:481,1
    - Dst: READ_8
      Src: /src/vlc/modules/codec/rtp-rawvid.c:482,1
    - Dst: READ_8
      Src: /src/vlc/modules/codec/rtp-rawvid.c:483,1
    - Dst: READ_8
      Src: /src/vlc/modules/codec/rtp-rawvid.c:484,1
    - Dst: READ_8
      Src: /src/vlc/modules/codec/rtp-rawvid.c:485,1
    - Dst: WRITE_YUV420
      Src: /src/vlc/modules/codec/rtp-rawvid.c:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - planes
    - in
    - len
    argTypes:
    - void**
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 488
    functionName: decode_yuv420_8
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached:
    - READ_8
    - PLANES_4
    - WRITE_YUV420
    linkageType: ''
    returnType: void
    signature: "void decode_yuv420_8(void *restrict *restrict planes,\n                            const
      unsigned char *restrict in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLANES_4
      Src: /src/vlc/modules/codec/rtp-rawvid.c:493,1
    - Dst: READ_10
      Src: /src/vlc/modules/codec/rtp-rawvid.c:496,1
    - Dst: READ_10
      Src: /src/vlc/modules/codec/rtp-rawvid.c:497,1
    - Dst: READ_10
      Src: /src/vlc/modules/codec/rtp-rawvid.c:498,1
    - Dst: WRITE_YUV420
      Src: /src/vlc/modules/codec/rtp-rawvid.c:499,1
    - Dst: WRITE_YUV420
      Src: /src/vlc/modules/codec/rtp-rawvid.c:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - planes
    - in
    - len
    argTypes:
    - void**
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 502
    functionName: decode_yuv420_10
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached:
    - PLANES_4
    - WRITE_YUV420
    - READ_10
    linkageType: ''
    returnType: void
    signature: "void decode_yuv420_10(void *restrict *restrict planes,\n                             const
      unsigned char *restrict in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLANES_4
      Src: /src/vlc/modules/codec/rtp-rawvid.c:507,1
    - Dst: READ_12
      Src: /src/vlc/modules/codec/rtp-rawvid.c:510,1
    - Dst: READ_12
      Src: /src/vlc/modules/codec/rtp-rawvid.c:511,1
    - Dst: READ_12
      Src: /src/vlc/modules/codec/rtp-rawvid.c:512,1
    - Dst: WRITE_YUV420
      Src: /src/vlc/modules/codec/rtp-rawvid.c:513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - planes
    - in
    - len
    argTypes:
    - void**
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 515
    functionName: decode_yuv420_12
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached:
    - PLANES_4
    - READ_12
    - WRITE_YUV420
    linkageType: ''
    returnType: void
    signature: "void decode_yuv420_12(void *restrict *restrict planes,\n                             const
      unsigned char *restrict in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLANES_4
      Src: /src/vlc/modules/codec/rtp-rawvid.c:520,1
    - Dst: READ_16
      Src: /src/vlc/modules/codec/rtp-rawvid.c:523,1
    - Dst: READ_16
      Src: /src/vlc/modules/codec/rtp-rawvid.c:524,1
    - Dst: READ_16
      Src: /src/vlc/modules/codec/rtp-rawvid.c:525,1
    - Dst: READ_16
      Src: /src/vlc/modules/codec/rtp-rawvid.c:526,1
    - Dst: READ_16
      Src: /src/vlc/modules/codec/rtp-rawvid.c:527,1
    - Dst: READ_16
      Src: /src/vlc/modules/codec/rtp-rawvid.c:528,1
    - Dst: WRITE_YUV420
      Src: /src/vlc/modules/codec/rtp-rawvid.c:529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - planes
    - in
    - len
    argTypes:
    - void**
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 531
    functionName: decode_yuv420_16
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached:
    - PLANES_4
    - READ_16
    - WRITE_YUV420
    linkageType: ''
    returnType: void
    signature: "void decode_yuv420_16(void *restrict *restrict planes,\n                             const
      unsigned char *restrict in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLANES_3
      Src: /src/vlc/modules/codec/rtp-rawvid.c:536,1
    - Dst: READ_8
      Src: /src/vlc/modules/codec/rtp-rawvid.c:539,1
    - Dst: READ_8
      Src: /src/vlc/modules/codec/rtp-rawvid.c:540,1
    - Dst: READ_8
      Src: /src/vlc/modules/codec/rtp-rawvid.c:541,1
    - Dst: READ_8
      Src: /src/vlc/modules/codec/rtp-rawvid.c:542,1
    - Dst: READ_8
      Src: /src/vlc/modules/codec/rtp-rawvid.c:543,1
    - Dst: READ_8
      Src: /src/vlc/modules/codec/rtp-rawvid.c:544,1
    - Dst: WRITE_YUV411
      Src: /src/vlc/modules/codec/rtp-rawvid.c:545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - planes
    - in
    - len
    argTypes:
    - void**
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 547
    functionName: decode_yuv411_8
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 0
    functionsReached:
    - READ_8
    - PLANES_3
    - WRITE_YUV411
    linkageType: ''
    returnType: void
    signature: "void decode_yuv411_8(void *restrict *restrict planes,\n                            const
      unsigned char *restrict in, size_t len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: decoder_QueueVideo
      Src: /src/vlc/modules/codec/rtp-rawvid.c:568,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/modules/codec/rtp-rawvid.c:577,1
    - Dst: decoder_NewPicture
      Src: /src/vlc/modules/codec/rtp-rawvid.c:582,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/rtp-rawvid.c:585,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/rtp-rawvid.c:600,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/rtp-rawvid.c:601,1
    - Dst: GetWBE
      Src: /src/vlc/modules/codec/rtp-rawvid.c:605,1
    - Dst: GetWBE
      Src: /src/vlc/modules/codec/rtp-rawvid.c:606,1
    - Dst: GetWBE
      Src: /src/vlc/modules/codec/rtp-rawvid.c:607,1
    - Dst: div
      Src: /src/vlc/modules/codec/rtp-rawvid.c:616,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/rtp-rawvid.c:628,1
    - Dst: assert
      Src: /src/vlc/modules/codec/rtp-rawvid.c:631,1
    - Dst: struct vlc_rtp_video_raw_dec*::decode_line
      Src: /src/vlc/modules/codec/rtp-rawvid.c:652,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/modules/codec/rtp-rawvid.c:656,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/rtp-rawvid.c:660,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 60
    argCount: 2
    argNames:
    - dec
    - block
    argTypes:
    - decoder_t*
    - vlc_frame_t*
    assertStmts:
    - condition: (pic->i_planes <= 3)
      pos:
        line_end: 630
        line_start: 630
        source_file: /src/vlc/modules/codec/rtp-rawvid.c
    constantsTouched: []
    func_position:
      end: 662
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 662
    functionName: Decode
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 16
    functionsReached:
    - GetWBE
    - block_Release
    - assert
    - msg_Err
    - struct vlc_rtp_video_raw_dec*::decode_line
    - decoder_QueueVideo
    - div
    - unlikely
    - decoder_NewPicture
    linkageType: ''
    returnType: int
    signature: int Decode(decoder_t *dec, vlc_frame_t *block)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/rtp-rawvid.c:670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 671
    functionName: Close
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 179
    functionsReached:
    - picture_Release
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 710
    functionName: NE
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 712
    functionName: NE
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NE(x)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/codec/rtp-rawvid.c:780,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/rtp-rawvid.c:783,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/rtp-rawvid.c:786,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/rtp-rawvid.c:789,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/rtp-rawvid.c:792,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/rtp-rawvid.c:795,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/rtp-rawvid.c:798,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/rtp-rawvid.c:802,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/rtp-rawvid.c:806,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/rtp-rawvid.c:826,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/rtp-rawvid.c:831,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/codec/rtp-rawvid.c:836,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/rtp-rawvid.c:837,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/codec/rtp-rawvid.c:840,1
    - Dst: decoder_UpdateVideoFormat
      Src: /src/vlc/modules/codec/rtp-rawvid.c:844,1
    - Dst: stdc_trailing_zeros
      Src: /src/vlc/modules/codec/rtp-rawvid.c:851,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 76
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 858
    functionName: Open
    functionSourceFile: /src/vlc/modules/codec/rtp-rawvid.c
    functionUses: 73
    functionsReached:
    - stdc_trailing_zeros
    - vlc_obj_malloc
    - decoder_UpdateVideoFormat
    - msg_Err
    - strcmp
    - es_format_Copy
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aom_codec_error
      Src: /src/vlc/modules/codec/aom.c:142,1
    - Dst: aom_codec_error_detail
      Src: /src/vlc/modules/codec/aom.c:143,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/aom.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - this
    - ctx
    - msg
    argTypes:
    - vlc_object_t*
    - aom_codec_ctx_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: aom_err_msg
    functionSourceFile: /src/vlc/modules/codec/aom.c
    functionUses: 0
    functionsReached:
    - msg_Err
    - aom_codec_error
    - aom_codec_error_detail
    linkageType: ''
    returnType: void
    signature: "void aom_err_msg(vlc_object_t *this, aom_codec_ctx_t *ctx,\n                        const
      char *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - this
    - ','
    - ctx
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: AOM_ERR
    functionSourceFile: /src/vlc/modules/codec/aom.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AOM_ERR(this, ctx, msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/aom.c:201,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 1
    argNames:
    - img
    argTypes:
    - struct aom_image*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 213
    functionName: FindVlcChroma
    functionSourceFile: /src/vlc/modules/codec/aom.c
    functionUses: 1
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t FindVlcChroma( struct aom_image *img )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/codec/aom.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - img
    - pic
    argTypes:
    - struct aom_image*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 223
    functionName: CopyPicture
    functionSourceFile: /src/vlc/modules/codec/aom.c
    functionUses: 2
    functionsReached:
    - plane_CopyPixels
    linkageType: ''
    returnType: void
    signature: void CopyPicture(const struct aom_image *img, picture_t *pic)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/vlc/modules/codec/aom.c:235,1
    - Dst: aom_codec_decode
      Src: /src/vlc/modules/codec/aom.c:248,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/aom.c:251,1
    - Dst: AOM_ERR
      Src: /src/vlc/modules/codec/aom.c:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - dec
    - block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 259
    functionName: PushFrame
    functionSourceFile: /src/vlc/modules/codec/aom.c
    functionUses: 0
    functionsReached:
    - AOM_ERR
    - block_Release
    - likely
    - aom_codec_decode
    linkageType: ''
    returnType: int
    signature: int PushFrame(decoder_t *dec, block_t *block)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: iso_23001_8_cp_to_vlc_primaries
      Src: /src/vlc/modules/codec/aom.c:279,1
    - Dst: iso_23001_8_tc_to_vlc_xfer
      Src: /src/vlc/modules/codec/aom.c:280,1
    - Dst: iso_23001_8_mc_to_vlc_coeffs
      Src: /src/vlc/modules/codec/aom.c:281,1
    - Dst: decoder_UpdateVideoFormat
      Src: /src/vlc/modules/codec/aom.c:289,1
    - Dst: decoder_NewPicture
      Src: /src/vlc/modules/codec/aom.c:291,1
    - Dst: CopyPicture
      Src: /src/vlc/modules/codec/aom.c:295,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/modules/codec/aom.c:302,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - dec
    - img
    argTypes:
    - decoder_t*
    - struct aom_image*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 305
    functionName: OutputFrame
    functionSourceFile: /src/vlc/modules/codec/aom.c
    functionUses: 4
    functionsReached:
    - decoder_UpdateVideoFormat
    - iso_23001_8_cp_to_vlc_primaries
    - iso_23001_8_mc_to_vlc_coeffs
    - iso_23001_8_tc_to_vlc_xfer
    - decoder_QueueVideo
    - CopyPicture
    - decoder_NewPicture
    linkageType: ''
    returnType: void
    signature: void OutputFrame(decoder_t *dec, const struct aom_image *img)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: aom_codec_get_frame
      Src: /src/vlc/modules/codec/aom.c:315,1
    - Dst: FindVlcChroma
      Src: /src/vlc/modules/codec/aom.c:319,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/aom.c:321,1
    - Dst: pf_output
      Src: /src/vlc/modules/codec/aom.c:325,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 329
    functionName: PopFrames
    functionSourceFile: /src/vlc/modules/codec/aom.c
    functionUses: 0
    functionsReached:
    - pf_output
    - FindVlcChroma
    - aom_codec_get_frame
    - msg_Err
    linkageType: ''
    returnType: int
    signature: "int PopFrames(decoder_t *dec,\n                     void(*pf_output)(decoder_t
      *, const struct aom_image *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/aom.c:336,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/aom.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dec
    - img
    argTypes:
    - decoder_t*
    - struct aom_image*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 339
    functionName: DropFrame
    functionSourceFile: /src/vlc/modules/codec/aom.c
    functionUses: 1
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void DropFrame(decoder_t *dec, const struct aom_image *img)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PushFrame
      Src: /src/vlc/modules/codec/aom.c:346,1
    - Dst: AOM_ERR
      Src: /src/vlc/modules/codec/aom.c:347,1
    - Dst: PopFrames
      Src: /src/vlc/modules/codec/aom.c:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 350
    functionName: FlushDecoder
    functionSourceFile: /src/vlc/modules/codec/aom.c
    functionUses: 0
    functionsReached:
    - PopFrames
    - AOM_ERR
    - PushFrame
    linkageType: ''
    returnType: void
    signature: void FlushDecoder(decoder_t *dec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/codec/aom.c:359,1
    - Dst: PushFrame
      Src: /src/vlc/modules/codec/aom.c:363,1
    - Dst: PopFrames
      Src: /src/vlc/modules/codec/aom.c:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - dec
    - block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 368
    functionName: Decode
    functionSourceFile: /src/vlc/modules/codec/aom.c
    functionUses: 16
    functionsReached:
    - block_Release
    - PopFrames
    - PushFrame
    linkageType: ''
    returnType: int
    signature: int Decode(decoder_t *dec, block_t *block)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/aom.c:385,1
    - Dst: __MIN
      Src: /src/vlc/modules/codec/aom.c:393,1
    - Dst: vlc_GetCPUCount
      Src: /src/vlc/modules/codec/aom.c:393,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/aom.c:397,1
    - Dst: aom_codec_version_str
      Src: /src/vlc/modules/codec/aom.c:398,1
    - Dst: aom_codec_build_config
      Src: /src/vlc/modules/codec/aom.c:398,1
    - Dst: aom_codec_dec_init
      Src: /src/vlc/modules/codec/aom.c:400,1
    - Dst: AOM_ERR
      Src: /src/vlc/modules/codec/aom.c:401,1
    - Dst: free
      Src: /src/vlc/modules/codec/aom.c:402,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 423
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/modules/codec/aom.c
    functionUses: 0
    functionsReached:
    - vlc_GetCPUCount
    - aom_codec_build_config
    - aom_codec_version_str
    - free
    - __MIN
    - msg_Dbg
    - aom_codec_dec_init
    - AOM_ERR
    - malloc
    linkageType: ''
    returnType: int
    signature: int OpenDecoder(vlc_object_t *p_this)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aom_codec_destroy
      Src: /src/vlc/modules/codec/aom.c:427,1
    - Dst: AOM_ERR
      Src: /src/vlc/modules/codec/aom.c:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - p_this
    - context
    argTypes:
    - vlc_object_t*
    - aom_codec_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 429
    functionName: destroy_context
    functionSourceFile: /src/vlc/modules/codec/aom.c
    functionUses: 6
    functionsReached:
    - AOM_ERR
    - aom_codec_destroy
    linkageType: ''
    returnType: void
    signature: void destroy_context(vlc_object_t *p_this, aom_codec_ctx_t *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FlushDecoder
      Src: /src/vlc/modules/codec/aom.c:440,1
    - Dst: destroy_context
      Src: /src/vlc/modules/codec/aom.c:442,1
    - Dst: free
      Src: /src/vlc/modules/codec/aom.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 445
    functionName: CloseDecoder
    functionSourceFile: /src/vlc/modules/codec/aom.c
    functionUses: 2
    functionsReached:
    - free
    - FlushDecoder
    - destroy_context
    linkageType: ''
    returnType: void
    signature: void CloseDecoder(vlc_object_t *p_this)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/aom.c:473,1
    - Dst: aom_codec_enc_config_default
      Src: /src/vlc/modules/codec/aom.c:482,1
    - Dst: __MIN
      Src: /src/vlc/modules/codec/aom.c:487,1
    - Dst: vlc_GetCPUCount
      Src: /src/vlc/modules/codec/aom.c:487,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/codec/aom.c:490,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/codec/aom.c:491,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/codec/aom.c:493,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/aom.c:496,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/codec/aom.c:501,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/codec/aom.c:502,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/codec/aom.c:503,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/codec/aom.c:504,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/codec/aom.c:506,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/aom.c:526,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/aom.c:539,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/aom.c:543,1
    - Dst: aom_codec_version_str
      Src: /src/vlc/modules/codec/aom.c:544,1
    - Dst: aom_codec_build_config
      Src: /src/vlc/modules/codec/aom.c:544,1
    - Dst: aom_codec_enc_init
      Src: /src/vlc/modules/codec/aom.c:547,1
    - Dst: AOM_ERR
      Src: /src/vlc/modules/codec/aom.c:549,1
    - Dst: aom_codec_control
      Src: /src/vlc/modules/codec/aom.c:554,1
    - Dst: AOM_ERR
      Src: /src/vlc/modules/codec/aom.c:556,1
    - Dst: aom_codec_control
      Src: /src/vlc/modules/codec/aom.c:561,1
    - Dst: AOM_ERR
      Src: /src/vlc/modules/codec/aom.c:563,1
    - Dst: aom_codec_control
      Src: /src/vlc/modules/codec/aom.c:569,1
    - Dst: AOM_ERR
      Src: /src/vlc/modules/codec/aom.c:571,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/codec/aom.c:576,1
    - Dst: aom_codec_control
      Src: /src/vlc/modules/codec/aom.c:577,1
    - Dst: AOM_ERR
      Src: /src/vlc/modules/codec/aom.c:579,1
    - Dst: aom_codec_get_global_headers
      Src: /src/vlc/modules/codec/aom.c:593,1
    - Dst: AV1_OBU_parse_sequence_header
      Src: /src/vlc/modules/codec/aom.c:597,1
    - Dst: free
      Src: /src/vlc/modules/codec/aom.c:599,1
    - Dst: free
      Src: /src/vlc/modules/codec/aom.c:600,1
    - Dst: AV1_create_DecoderConfigurationRecord
      Src: /src/vlc/modules/codec/aom.c:605,1
    - Dst: free
      Src: /src/vlc/modules/codec/aom.c:612,1
    - Dst: free
      Src: /src/vlc/modules/codec/aom.c:613,1
    - Dst: AV1_release_sequence_header
      Src: /src/vlc/modules/codec/aom.c:614,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/aom.c:617,1
    - Dst: destroy_context
      Src: /src/vlc/modules/codec/aom.c:628,1
    - Dst: free
      Src: /src/vlc/modules/codec/aom.c:630,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 102
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 464
    functionDepth: 3
    functionLinenumber: 464
    functionLinenumberEnd: 632
    functionName: OpenEncoder
    functionSourceFile: /src/vlc/modules/codec/aom.c
    functionUses: 0
    functionsReached:
    - aom_codec_version_str
    - AOM_ERR
    - vlc_GetCPUCount
    - msg_Err
    - msg_Dbg
    - destroy_context
    - msg_Warn
    - AV1_create_DecoderConfigurationRecord
    - aom_codec_build_config
    - var_InheritInteger
    - aom_codec_enc_config_default
    - var_InheritBool
    - __MIN
    - aom_codec_enc_init
    - aom_codec_get_global_headers
    - AV1_OBU_parse_sequence_header
    - AV1_release_sequence_header
    - aom_codec_control
    - free
    - malloc
    linkageType: ''
    returnType: int
    signature: int OpenEncoder(vlc_object_t *p_this)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: aom_img_wrap
      Src: /src/vlc/modules/codec/aom.c:652,1
    - Dst: AOM_ERR
      Src: /src/vlc/modules/codec/aom.c:654,1
    - Dst: aom_codec_encode
      Src: /src/vlc/modules/codec/aom.c:664,1
    - Dst: US_FROM_VLC_TICK
      Src: /src/vlc/modules/codec/aom.c:664,1
    - Dst: AOM_ERR
      Src: /src/vlc/modules/codec/aom.c:666,1
    - Dst: aom_img_free
      Src: /src/vlc/modules/codec/aom.c:667,1
    - Dst: aom_codec_get_cx_data
      Src: /src/vlc/modules/codec/aom.c:674,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/aom.c:678,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/aom.c:679,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/codec/aom.c:680,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/aom.c:686,1
    - Dst: VLC_TICK_FROM_US
      Src: /src/vlc/modules/codec/aom.c:687,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/codec/aom.c:692,1
    - Dst: aom_img_free
      Src: /src/vlc/modules/codec/aom.c:695,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - p_enc
    - p_pict
    argTypes:
    - encoder_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 697
    functionName: Encode
    functionSourceFile: /src/vlc/modules/codec/aom.c
    functionUses: 2
    functionsReached:
    - block_ChainAppend
    - aom_codec_get_cx_data
    - aom_img_free
    - VLC_TICK_FROM_US
    - aom_codec_encode
    - aom_img_wrap
    - block_ChainRelease
    - memcpy
    - block_Alloc
    - AOM_ERR
    - unlikely
    - US_FROM_VLC_TICK
    linkageType: ''
    returnType: block_t
    signature: block_t *Encode(encoder_t *p_enc, picture_t *p_pict)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroy_context
      Src: /src/vlc/modules/codec/aom.c:705,1
    - Dst: free
      Src: /src/vlc/modules/codec/aom.c:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_enc
    argTypes:
    - encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 702
    functionDepth: 2
    functionLinenumber: 702
    functionLinenumberEnd: 707
    functionName: CloseEncoder
    functionSourceFile: /src/vlc/modules/codec/aom.c
    functionUses: 3
    functionsReached:
    - free
    - destroy_context
    linkageType: ''
    returnType: void
    signature: void CloseEncoder(encoder_t *p_enc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mad_frame_mute
      Src: /src/vlc/modules/codec/mad.c:86,1
    - Dst: mad_synth_mute
      Src: /src/vlc/modules/codec/mad.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - decoder_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: PrepareDecoderDiscontinuityGlitch
    functionSourceFile: /src/vlc/modules/codec/mad.c
    functionUses: 0
    functionsReached:
    - mad_synth_mute
    - mad_frame_mute
    linkageType: ''
    returnType: void
    signature: void PrepareDecoderDiscontinuityGlitch( decoder_sys_t *p_sys )
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/codec/mad.c:116,1
    - Dst: block_Realloc
      Src: /src/vlc/modules/codec/mad.c:136,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/mad.c:140,1
    - Dst: mad_stream_buffer
      Src: /src/vlc/modules/codec/mad.c:144,1
    - Dst: mad_frame_decode
      Src: /src/vlc/modules/codec/mad.c:148,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/mad.c:152,1
    - Dst: mad_stream_errorstr
      Src: /src/vlc/modules/codec/mad.c:153,1
    - Dst: MAD_RECOVERABLE
      Src: /src/vlc/modules/codec/mad.c:154,1
    - Dst: PrepareDecoderDiscontinuityGlitch
      Src: /src/vlc/modules/codec/mad.c:155,1
    - Dst: PrepareDecoderDiscontinuityGlitch
      Src: /src/vlc/modules/codec/mad.c:159,1
    - Dst: mad_synth_frame
      Src: /src/vlc/modules/codec/mad.c:165,1
    - Dst: decoder_NewAudioBuffer
      Src: /src/vlc/modules/codec/mad.c:174,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/mad.c:184,1
    - Dst: PrepareDecoderDiscontinuityGlitch
      Src: /src/vlc/modules/codec/mad.c:186,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/mad.c:192,1
    - Dst: PrepareDecoderDiscontinuityGlitch
      Src: /src/vlc/modules/codec/mad.c:194,1
    - Dst: assert
      Src: /src/vlc/modules/codec/mad.c:213,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/mad.c:223,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/mad.c:229,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 84
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts:
    - condition: ( p_pcm->channels == 1 )
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/vlc/modules/codec/mad.c
    constantsTouched: []
    func_position:
      end: 233
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 233
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/codec/mad.c
    functionUses: 14
    functionsReached:
    - mad_stream_buffer
    - block_Release
    - block_Realloc
    - assert
    - MAD_RECOVERABLE
    - decoder_NewAudioBuffer
    - mad_stream_errorstr
    - memcpy
    - mad_frame_decode
    - mad_synth_frame
    - msg_Err
    - PrepareDecoderDiscontinuityGlitch
    linkageType: ''
    returnType: block_t
    signature: block_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DecodeBlock
      Src: /src/vlc/modules/codec/mad.c:238,1
    - Dst: decoder_QueueAudio
      Src: /src/vlc/modules/codec/mad.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 241
    functionName: DecodeAudio
    functionSourceFile: /src/vlc/modules/codec/mad.c
    functionUses: 4
    functionsReached:
    - DecodeBlock
    - decoder_QueueAudio
    linkageType: ''
    returnType: int
    signature: int DecodeAudio( decoder_t *p_dec, block_t *p_block )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/codec/mad.c:248,1
    - Dst: PrepareDecoderDiscontinuityGlitch
      Src: /src/vlc/modules/codec/mad.c:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 252
    functionName: DecodeFlush
    functionSourceFile: /src/vlc/modules/codec/mad.c
    functionUses: 0
    functionsReached:
    - block_Release
    - PrepareDecoderDiscontinuityGlitch
    linkageType: ''
    returnType: void
    signature: void DecodeFlush( decoder_t *p_dec )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/codec/mad.c:265,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/mad.c:273,1
    - Dst: mad_stream_init
      Src: /src/vlc/modules/codec/mad.c:280,1
    - Dst: mad_frame_init
      Src: /src/vlc/modules/codec/mad.c:281,1
    - Dst: mad_synth_init
      Src: /src/vlc/modules/codec/mad.c:282,1
    - Dst: mad_stream_options
      Src: /src/vlc/modules/codec/mad.c:283,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/codec/mad.c:289,1
    - Dst: decoder_UpdateAudioFormat
      Src: /src/vlc/modules/codec/mad.c:291,1
    - Dst: Close
      Src: /src/vlc/modules/codec/mad.c:293,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 301
    functionName: Open
    functionSourceFile: /src/vlc/modules/codec/mad.c
    functionUses: 73
    functionsReached:
    - VLC_FOURCC
    - aout_FormatPrepare
    - Close
    - mad_stream_options
    - mad_synth_init
    - decoder_UpdateAudioFormat
    - mad_frame_init
    - mad_stream_init
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mad_synth_finish
      Src: /src/vlc/modules/codec/mad.c:311,1
    - Dst: mad_frame_finish
      Src: /src/vlc/modules/codec/mad.c:312,1
    - Dst: mad_stream_finish
      Src: /src/vlc/modules/codec/mad.c:313,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/mad.c:315,1
    - Dst: free
      Src: /src/vlc/modules/codec/mad.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 317
    functionName: Close
    functionSourceFile: /src/vlc/modules/codec/mad.c
    functionUses: 180
    functionsReached:
    - mad_stream_finish
    - block_Release
    - mad_frame_finish
    - mad_synth_finish
    - free
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/codec/araw.c:106,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/codec/araw.c:107,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/codec/araw.c:109,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/codec/araw.c:111,1
    - Dst: vlc_fourcc_GetCodecAudio
      Src: /src/vlc/modules/codec/araw.c:113,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/araw.c:117,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/araw.c:242,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/araw.c:249,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/araw.c:253,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/codec/araw.c:258,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/araw.c:259,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/araw.c:267,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/codec/araw.c:282,1
    - Dst: assert
      Src: /src/vlc/modules/codec/araw.c:286,1
    - Dst: date_Init
      Src: /src/vlc/modules/codec/araw.c:288,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 147
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts:
    - condition: ( p_sys->framebits )
      pos:
        line_end: 285
        line_start: 285
        source_file: /src/vlc/modules/codec/araw.c
    constantsTouched: []
    func_position:
      end: 295
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 295
    functionName: DecoderOpen
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - aout_FormatPrepare
    - assert
    - vlc_obj_malloc
    - ARRAY_SIZE
    - date_Init
    - msg_Err
    - msg_Dbg
    - vlc_fourcc_GetCodecAudio
    - unlikely
    linkageType: ''
    returnType: int
    signature: int DecoderOpen( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: date_Set
      Src: /src/vlc/modules/codec/araw.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 305
    functionName: Flush
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 88
    functionsReached:
    - date_Set
    linkageType: ''
    returnType: void
    signature: void Flush( decoder_t *p_dec )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/vlc/modules/codec/araw.c:320,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/araw.c:326,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/araw.c:328,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/araw.c:330,1
    - Dst: decoder_UpdateAudioFormat
      Src: /src/vlc/modules/codec/araw.c:340,1
    - Dst: decoder_NewAudioBuffer
      Src: /src/vlc/modules/codec/araw.c:342,1
    - Dst: decoder_sys_t*::decode
      Src: /src/vlc/modules/codec/araw.c:346,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/araw.c:348,1
    - Dst: decoder_UpdateAudioFormat
      Src: /src/vlc/modules/codec/araw.c:353,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/araw.c:359,1
    - Dst: date_Increment
      Src: /src/vlc/modules/codec/araw.c:360,1
    - Dst: decoder_QueueAudio
      Src: /src/vlc/modules/codec/araw.c:362,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/araw.c:365,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 367
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 15
    functionsReached:
    - decoder_QueueAudio
    - block_Release
    - decoder_NewAudioBuffer
    - date_Set
    - decoder_UpdateAudioFormat
    - decoder_sys_t*::decode
    - date_Get
    - date_Increment
    - Flush
    linkageType: ''
    returnType: int
    signature: int DecodeBlock( decoder_t *p_dec, block_t *p_block )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - outp
    - in
    - samples
    argTypes:
    - void*
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 375
    functionName: S8Decode
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void S8Decode( void *outp, const uint8_t *in, unsigned samples )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetWBE
      Src: /src/vlc/modules/codec/araw.c:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - outp
    - in
    - samples
    argTypes:
    - void*
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 386
    functionName: U16BDecode
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 0
    functionsReached:
    - GetWBE
    linkageType: ''
    returnType: void
    signature: void U16BDecode( void *outp, const uint8_t *in, unsigned samples )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetWLE
      Src: /src/vlc/modules/codec/araw.c:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - outp
    - in
    - samples
    argTypes:
    - void*
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 397
    functionName: U16LDecode
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 0
    functionsReached:
    - GetWLE
    linkageType: ''
    returnType: void
    signature: void U16LDecode( void *outp, const uint8_t *in, unsigned samples )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swab
      Src: /src/vlc/modules/codec/araw.c:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - in
    - samples
    argTypes:
    - void*
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 402
    functionName: S16IDecode
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 0
    functionsReached:
    - swab
    linkageType: ''
    returnType: void
    signature: void S16IDecode( void *out, const uint8_t *in, unsigned samples )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: U32_AT
      Src: /src/vlc/modules/codec/araw.c:410,1
    - Dst: U16_AT
      Src: /src/vlc/modules/codec/araw.c:420,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - outp
    - in
    - samples
    argTypes:
    - void*
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 421
    functionName: S20BDecode
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 0
    functionsReached:
    - U16_AT
    - U32_AT
    linkageType: ''
    returnType: void
    signature: void S20BDecode( void *outp, const uint8_t *in, unsigned samples )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT32_C
      Src: /src/vlc/modules/codec/araw.c:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - outp
    - in
    - samples
    argTypes:
    - void*
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 436
    functionName: U24BDecode
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 0
    functionsReached:
    - UINT32_C
    linkageType: ''
    returnType: void
    signature: void U24BDecode( void *outp, const uint8_t *in, unsigned samples )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT32_C
      Src: /src/vlc/modules/codec/araw.c:447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - outp
    - in
    - samples
    argTypes:
    - void*
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 451
    functionName: U24LDecode
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 0
    functionsReached:
    - UINT32_C
    linkageType: ''
    returnType: void
    signature: void U24LDecode( void *outp, const uint8_t *in, unsigned samples )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - outp
    - in
    - samples
    argTypes:
    - void*
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 466
    functionName: S24BDecode
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void S24BDecode( void *outp, const uint8_t *in, unsigned samples )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - outp
    - in
    - samples
    argTypes:
    - void*
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 481
    functionName: S24LDecode
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void S24LDecode( void *outp, const uint8_t *in, unsigned samples )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDWBE
      Src: /src/vlc/modules/codec/araw.c:489,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - outp
    - in
    - samples
    argTypes:
    - void*
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 492
    functionName: S24B32Decode
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 0
    functionsReached:
    - GetDWBE
    linkageType: ''
    returnType: void
    signature: void S24B32Decode( void *outp, const uint8_t *in, unsigned samples
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDWLE
      Src: /src/vlc/modules/codec/araw.c:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - outp
    - in
    - samples
    argTypes:
    - void*
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 503
    functionName: S24L32Decode
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 0
    functionsReached:
    - GetDWLE
    linkageType: ''
    returnType: void
    signature: void S24L32Decode( void *outp, const uint8_t *in, unsigned samples
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDWBE
      Src: /src/vlc/modules/codec/araw.c:511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - outp
    - in
    - samples
    argTypes:
    - void*
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 514
    functionName: U32BDecode
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 0
    functionsReached:
    - GetDWBE
    linkageType: ''
    returnType: void
    signature: void U32BDecode( void *outp, const uint8_t *in, unsigned samples )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDWLE
      Src: /src/vlc/modules/codec/araw.c:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - outp
    - in
    - samples
    argTypes:
    - void*
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 525
    functionName: U32LDecode
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 0
    functionsReached:
    - GetDWLE
    linkageType: ''
    returnType: void
    signature: void U32LDecode( void *outp, const uint8_t *in, unsigned samples )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDWLE
      Src: /src/vlc/modules/codec/araw.c:534,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/codec/araw.c:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - outp
    - in
    - samples
    argTypes:
    - void*
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 540
    functionName: S32IDecode
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 0
    functionsReached:
    - GetDWLE
    - GetDWBE
    linkageType: ''
    returnType: void
    signature: void S32IDecode( void *outp, const uint8_t *in, unsigned samples )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/codec/araw.c:548,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/araw.c:549,1
    - Dst: isfinite
      Src: /src/vlc/modules/codec/araw.c:549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - outp
    - in
    - samples
    argTypes:
    - void*
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 554
    functionName: F32NDecode
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 0
    functionsReached:
    - unlikely
    - isfinite
    - memcpy
    linkageType: ''
    returnType: void
    signature: void F32NDecode( void *outp, const uint8_t *in, unsigned samples )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDWLE
      Src: /src/vlc/modules/codec/araw.c:565,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/codec/araw.c:567,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/araw.c:569,1
    - Dst: isfinite
      Src: /src/vlc/modules/codec/araw.c:569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - outp
    - in
    - samples
    argTypes:
    - void*
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 574
    functionName: F32IDecode
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 0
    functionsReached:
    - isfinite
    - GetDWLE
    - unlikely
    - GetDWBE
    linkageType: ''
    returnType: void
    signature: void F32IDecode( void *outp, const uint8_t *in, unsigned samples )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/codec/araw.c:582,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/araw.c:583,1
    - Dst: isfinite
      Src: /src/vlc/modules/codec/araw.c:583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - outp
    - in
    - samples
    argTypes:
    - void*
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 588
    functionName: F64NDecode
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 0
    functionsReached:
    - unlikely
    - isfinite
    - memcpy
    linkageType: ''
    returnType: void
    signature: void F64NDecode( void *outp, const uint8_t *in, unsigned samples )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetQWLE
      Src: /src/vlc/modules/codec/araw.c:599,1
    - Dst: GetQWBE
      Src: /src/vlc/modules/codec/araw.c:601,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/araw.c:603,1
    - Dst: isfinite
      Src: /src/vlc/modules/codec/araw.c:603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - outp
    - in
    - samples
    argTypes:
    - void*
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 608
    functionName: F64IDecode
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 0
    functionsReached:
    - GetQWLE
    - isfinite
    - unlikely
    - GetQWBE
    linkageType: ''
    returnType: void
    signature: void F64IDecode( void *outp, const uint8_t *in, unsigned samples )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/araw.c:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - y
    argTypes:
    - uint_fast16_t
    assertStmts:
    - condition: (y < 0x1000)
      pos:
        line_end: 619
        line_start: 619
        source_file: /src/vlc/modules/codec/araw.c
    constantsTouched: []
    func_position:
      end: 624
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 624
    functionName: dat12tos16
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int_fast16_t
    signature: int_fast16_t dat12tos16( uint_fast16_t y )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dat12tos16
      Src: /src/vlc/modules/codec/araw.c:632,1
    - Dst: U16_AT
      Src: /src/vlc/modules/codec/araw.c:632,1
    - Dst: dat12tos16
      Src: /src/vlc/modules/codec/araw.c:633,1
    - Dst: U16_AT
      Src: /src/vlc/modules/codec/araw.c:633,1
    - Dst: dat12tos16
      Src: /src/vlc/modules/codec/araw.c:639,1
    - Dst: U16_AT
      Src: /src/vlc/modules/codec/araw.c:639,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - outp
    - in
    - samples
    argTypes:
    - void*
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 626
    functionDepth: 2
    functionLinenumber: 626
    functionLinenumberEnd: 640
    functionName: DAT12Decode
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 0
    functionsReached:
    - U16_AT
    - dat12tos16
    linkageType: ''
    returnType: void
    signature: void DAT12Decode( void *outp, const uint8_t *in, unsigned samples )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_bswap16
      Src: /src/vlc/modules/codec/araw.c:653,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - outp
    - inp
    - samples
    argTypes:
    - void*
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 654
    functionName: U16IEncode
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 0
    functionsReached:
    - vlc_bswap16
    linkageType: ''
    returnType: void
    signature: void U16IEncode( void *outp, const uint8_t *inp, unsigned samples )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - outp
    - inp
    - samples
    argTypes:
    - void*
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 663
    functionName: U16NEncode
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void U16NEncode( void *outp, const uint8_t *inp, unsigned samples )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - outp
    - inp
    - samples
    argTypes:
    - void*
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 677
    functionName: U24BEncode
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void U24BEncode( void *outp, const uint8_t *inp, unsigned samples )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - outp
    - inp
    - samples
    argTypes:
    - void*
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 691
    functionName: U24LEncode
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void U24LEncode( void *outp, const uint8_t *inp, unsigned samples )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - outp
    - inp
    - samples
    argTypes:
    - void*
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 705
    functionName: S24BEncode
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void S24BEncode( void *outp, const uint8_t *inp, unsigned samples )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - outp
    - inp
    - samples
    argTypes:
    - void*
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 719
    functionName: S24LEncode
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void S24LEncode( void *outp, const uint8_t *inp, unsigned samples )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_bswap32
      Src: /src/vlc/modules/codec/araw.c:727,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - outp
    - inp
    - samples
    argTypes:
    - void*
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 728
    functionName: U32IEncode
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 0
    functionsReached:
    - vlc_bswap32
    linkageType: ''
    returnType: void
    signature: void U32IEncode( void *outp, const uint8_t *inp, unsigned samples )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - outp
    - inp
    - samples
    argTypes:
    - void*
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 737
    functionName: U32NEncode
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void U32NEncode( void *outp, const uint8_t *inp, unsigned samples )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_bswap32
      Src: /src/vlc/modules/codec/araw.c:745,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - outp
    - inp
    - samples
    argTypes:
    - void*
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 746
    functionName: S32IEncode
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 0
    functionsReached:
    - vlc_bswap32
    linkageType: ''
    returnType: void
    signature: void S32IEncode( void *outp, const uint8_t *inp, unsigned samples )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_bswap32
      Src: /src/vlc/modules/codec/araw.c:758,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/araw.c:759,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - outp
    - inp
    - samples
    argTypes:
    - void*
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 762
    functionName: F32IEncode
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 0
    functionsReached:
    - vlc_bswap32
    - memcpy
    linkageType: ''
    returnType: void
    signature: void F32IEncode( void *outp, const uint8_t *inp, unsigned samples )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_bswap64
      Src: /src/vlc/modules/codec/araw.c:774,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/araw.c:775,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - outp
    - inp
    - samples
    argTypes:
    - void*
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 778
    functionName: F64IEncode
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 0
    functionsReached:
    - vlc_bswap64
    - memcpy
    linkageType: ''
    returnType: void
    signature: void F64IEncode( void *outp, const uint8_t *inp, unsigned samples )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/araw.c:785,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/araw.c:787,1
    - Dst: encode
      Src: /src/vlc/modules/codec/araw.c:798,1
    - Dst: assert
      Src: /src/vlc/modules/codec/araw.c:801,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/araw.c:802,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - enc
    - in
    argTypes:
    - encoder_t*
    - block_t*
    assertStmts:
    - condition: ( out->i_buffer >= in->i_buffer )
      pos:
        line_end: 800
        line_start: 800
        source_file: /src/vlc/modules/codec/araw.c
    constantsTouched: []
    func_position:
      end: 805
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 805
    functionName: Encode
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 2
    functionsReached:
    - assert
    - encode
    - memcpy
    - block_Alloc
    - unlikely
    linkageType: ''
    returnType: block_t
    signature: block_t *Encode( encoder_t *enc, block_t *in )
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/araw.c:913,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 83
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 922
    functionName: EncoderOpen
    functionSourceFile: /src/vlc/modules/codec/araw.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int EncoderOpen( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: j_common_ptr::err::output_message
      Src: /src/vlc/modules/codec/jpeg.c:135,1
    - Dst: longjmp
      Src: /src/vlc/modules/codec/jpeg.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_jpeg
    argTypes:
    - j_common_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: user_error_exit
    functionSourceFile: /src/vlc/modules/codec/jpeg.c
    functionUses: 0
    functionsReached:
    - longjmp
    - j_common_ptr::err::output_message
    linkageType: ''
    returnType: void
    signature: void user_error_exit(j_common_ptr p_jpeg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: j_common_ptr::err::format_message
      Src: /src/vlc/modules/codec/jpeg.c:147,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/jpeg.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_jpeg
    argTypes:
    - j_common_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: user_error_message
    functionSourceFile: /src/vlc/modules/codec/jpeg.c
    functionUses: 0
    functionsReached:
    - msg_Err
    - j_common_ptr::err::format_message
    linkageType: ''
    returnType: void
    signature: void user_error_message(j_common_ptr p_jpeg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/jpeg.c:164,1
    - Dst: jpeg_std_error
      Src: /src/vlc/modules/codec/jpeg.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 190
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/modules/codec/jpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_std_error
    - malloc
    linkageType: ''
    returnType: int
    signature: int OpenDecoder(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetWBE
      Src: /src/vlc/modules/codec/jpeg.c:220,1
    - Dst: GetWLE
      Src: /src/vlc/modules/codec/jpeg.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - endian
    argTypes:
    - void*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: de_get16
    functionSourceFile: /src/vlc/modules/codec/jpeg.c
    functionUses: 0
    functionsReached:
    - GetWBE
    - GetWLE
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t de_get16( const void * ptr, uint endian )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetDWBE
      Src: /src/vlc/modules/codec/jpeg.c:225,1
    - Dst: GetDWLE
      Src: /src/vlc/modules/codec/jpeg.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - endian
    argTypes:
    - void*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: de_get32
    functionSourceFile: /src/vlc/modules/codec/jpeg.c
    functionUses: 0
    functionsReached:
    - GetDWLE
    - GetDWBE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t de_get32( const void * ptr, uint endian )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcasestr
      Src: /src/vlc/modules/codec/jpeg.c:230,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/jpeg.c:234,1
    - Dst: strchr
      Src: /src/vlc/modules/codec/jpeg.c:241,1
    - Dst: strchr
      Src: /src/vlc/modules/codec/jpeg.c:246,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/jpeg.c:248,1
    - Dst: vlc_strtof_c
      Src: /src/vlc/modules/codec/jpeg.c:251,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - psz_rdf
    - out
    - psz_var
    argTypes:
    - char*
    - float*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 253
    functionName: getRDFFloat
    functionSourceFile: /src/vlc/modules/codec/jpeg.c
    functionUses: 0
    functionsReached:
    - strchr
    - vlc_strtof_c
    - strlen
    - strcasestr
    - unlikely
    linkageType: ''
    returnType: bool
    signature: bool getRDFFloat(const char *psz_rdf, float *out, const char *psz_var)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/jpeg.c:269,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/jpeg.c:270,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/jpeg.c:272,1
    - Dst: strcasestr
      Src: /src/vlc/modules/codec/jpeg.c:275,1
    - Dst: strcasestr
      Src: /src/vlc/modules/codec/jpeg.c:276,1
    - Dst: getRDFFloat
      Src: /src/vlc/modules/codec/jpeg.c:284,1
    - Dst: getRDFFloat
      Src: /src/vlc/modules/codec/jpeg.c:288,1
    - Dst: getRDFFloat
      Src: /src/vlc/modules/codec/jpeg.c:289,1
    - Dst: getRDFFloat
      Src: /src/vlc/modules/codec/jpeg.c:292,1
    - Dst: getRDFFloat
      Src: /src/vlc/modules/codec/jpeg.c:293,1
    - Dst: getRDFFloat
      Src: /src/vlc/modules/codec/jpeg.c:294,1
    - Dst: getRDFFloat
      Src: /src/vlc/modules/codec/jpeg.c:296,1
    - Dst: vlc_viewpoint_from_euler
      Src: /src/vlc/modules/codec/jpeg.c:300,1
    - Dst: free
      Src: /src/vlc/modules/codec/jpeg.c:302,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - p_buf
    - i_buf
    - fmt
    argTypes:
    - uint8_t*
    - size_t
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 305
    functionName: jpeg_ParseXMP
    functionSourceFile: /src/vlc/modules/codec/jpeg.c
    functionUses: 0
    functionsReached:
    - getRDFFloat
    - memcpy
    - vlc_viewpoint_from_euler
    - free
    - strcasestr
    - unlikely
    - malloc
    linkageType: ''
    returnType: bool
    signature: "bool jpeg_ParseXMP(const uint8_t *p_buf, size_t i_buf,\n                          video_format_t
      *fmt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/codec/jpeg.c:315,1
    - Dst: jpeg_ParseXMP
      Src: /src/vlc/modules/codec/jpeg.c:316,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - cinfo
    - fmt
    argTypes:
    - j_decompress_ptr
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 307
    functionDepth: 3
    functionLinenumber: 307
    functionLinenumberEnd: 319
    functionName: jpeg_FillProjection
    functionSourceFile: /src/vlc/modules/codec/jpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_ParseXMP
    - memcmp
    linkageType: ''
    returnType: void
    signature: void jpeg_FillProjection(j_decompress_ptr cinfo, video_format_t *fmt)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/codec/jpeg.c:373,1
    - Dst: memcmp
      Src: /src/vlc/modules/codec/jpeg.c:379,1
    - Dst: de_get32
      Src: /src/vlc/modules/codec/jpeg.c:399,1
    - Dst: de_get16
      Src: /src/vlc/modules/codec/jpeg.c:409,1
    - Dst: de_get16
      Src: /src/vlc/modules/codec/jpeg.c:421,1
    - Dst: de_get16
      Src: /src/vlc/modules/codec/jpeg.c:425,1
    - Dst: de_get32
      Src: /src/vlc/modules/codec/jpeg.c:426,1
    - Dst: de_get16
      Src: /src/vlc/modules/codec/jpeg.c:435,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 3
    argNames:
    - p_buf
    - i_buf
    - orientation
    argTypes:
    - uint8_t*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 444
    functionName: jpeg_ParseExifApp1
    functionSourceFile: /src/vlc/modules/codec/jpeg.c
    functionUses: 0
    functionsReached:
    - de_get16
    - de_get32
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool jpeg_ParseExifApp1( const uint8_t *p_buf, size_t i_buf, int *orientation
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/codec/jpeg.c:455,1
    - Dst: jpeg_ParseExifApp1
      Src: /src/vlc/modules/codec/jpeg.c:456,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_decompress_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 446
    functionDepth: 3
    functionLinenumber: 446
    functionLinenumberEnd: 460
    functionName: jpeg_GetOrientation
    functionSourceFile: /src/vlc/modules/codec/jpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_ParseExifApp1
    - memcmp
    linkageType: ''
    returnType: int
    signature: int jpeg_GetOrientation( j_decompress_ptr cinfo )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/codec/jpeg.c:477,1
    - Dst: setjmp
      Src: /src/vlc/modules/codec/jpeg.c:482,1
    - Dst: jpeg_create_decompress
      Src: /src/vlc/modules/codec/jpeg.c:489,1
    - Dst: jpeg_mem_src
      Src: /src/vlc/modules/codec/jpeg.c:490,1
    - Dst: jpeg_save_markers
      Src: /src/vlc/modules/codec/jpeg.c:491,1
    - Dst: jpeg_save_markers
      Src: /src/vlc/modules/codec/jpeg.c:492,1
    - Dst: jpeg_read_header
      Src: /src/vlc/modules/codec/jpeg.c:493,1
    - Dst: jpeg_start_decompress
      Src: /src/vlc/modules/codec/jpeg.c:497,1
    - Dst: jpeg_GetOrientation
      Src: /src/vlc/modules/codec/jpeg.c:506,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/jpeg.c:509,1
    - Dst: ORIENT_FROM_EXIF
      Src: /src/vlc/modules/codec/jpeg.c:510,1
    - Dst: jpeg_FillProjection
      Src: /src/vlc/modules/codec/jpeg.c:512,1
    - Dst: decoder_UpdateVideoFormat
      Src: /src/vlc/modules/codec/jpeg.c:515,1
    - Dst: decoder_NewPicture
      Src: /src/vlc/modules/codec/jpeg.c:519,1
    - Dst: jpeg_read_icc_profile
      Src: /src/vlc/modules/codec/jpeg.c:531,1
    - Dst: picture_AttachNewAncillary
      Src: /src/vlc/modules/codec/jpeg.c:534,1
    - Dst: free
      Src: /src/vlc/modules/codec/jpeg.c:536,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/jpeg.c:539,1
    - Dst: free
      Src: /src/vlc/modules/codec/jpeg.c:541,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/codec/jpeg.c:546,1
    - Dst: jpeg_read_scanlines
      Src: /src/vlc/modules/codec/jpeg.c:557,1
    - Dst: jpeg_finish_decompress
      Src: /src/vlc/modules/codec/jpeg.c:562,1
    - Dst: jpeg_destroy_decompress
      Src: /src/vlc/modules/codec/jpeg.c:563,1
    - Dst: free
      Src: /src/vlc/modules/codec/jpeg.c:564,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/jpeg.c:568,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/modules/codec/jpeg.c:569,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/jpeg.c:575,1
    - Dst: jpeg_destroy_decompress
      Src: /src/vlc/modules/codec/jpeg.c:576,1
    - Dst: free
      Src: /src/vlc/modules/codec/jpeg.c:577,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/jpeg.c:579,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 76
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 465
    functionDepth: 4
    functionLinenumber: 465
    functionLinenumberEnd: 581
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/codec/jpeg.c
    functionUses: 15
    functionsReached:
    - picture_AttachNewAncillary
    - setjmp
    - decoder_UpdateVideoFormat
    - ORIENT_FROM_EXIF
    - memcpy
    - jpeg_create_decompress
    - picture_Release
    - jpeg_FillProjection
    - vlc_alloc
    - jpeg_read_scanlines
    - jpeg_mem_src
    - jpeg_read_header
    - msg_Dbg
    - jpeg_GetOrientation
    - jpeg_start_decompress
    - jpeg_read_icc_profile
    - jpeg_destroy_decompress
    - block_Release
    - free
    - decoder_QueueVideo
    - jpeg_finish_decompress
    - jpeg_save_markers
    - decoder_NewPicture
    linkageType: ''
    returnType: int
    signature: int DecodeBlock(decoder_t *p_dec, block_t *p_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/codec/jpeg.c:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 592
    functionName: CloseDecoder
    functionSourceFile: /src/vlc/modules/codec/jpeg.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void CloseDecoder(vlc_object_t *p_this)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: config_ChainParse
      Src: /src/vlc/modules/codec/jpeg.c:601,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/jpeg.c:609,1
    - Dst: jpeg_std_error
      Src: /src/vlc/modules/codec/jpeg.c:620,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/jpeg.c:624,1
    - Dst: ckd_mul
      Src: /src/vlc/modules/codec/jpeg.c:626,1
    - Dst: ckd_mul
      Src: /src/vlc/modules/codec/jpeg.c:627,1
    - Dst: free
      Src: /src/vlc/modules/codec/jpeg.c:629,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 644
    functionName: OpenEncoder
    functionSourceFile: /src/vlc/modules/codec/jpeg.c
    functionUses: 0
    functionsReached:
    - config_ChainParse
    - ckd_mul
    - jpeg_std_error
    - free
    - var_GetInteger
    - malloc
    linkageType: ''
    returnType: int
    signature: int OpenEncoder(vlc_object_t *p_this)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/codec/jpeg.c:653,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/jpeg.c:657,1
    - Dst: setjmp
      Src: /src/vlc/modules/codec/jpeg.c:667,1
    - Dst: jpeg_create_compress
      Src: /src/vlc/modules/codec/jpeg.c:672,1
    - Dst: jpeg_mem_dest
      Src: /src/vlc/modules/codec/jpeg.c:673,1
    - Dst: jpeg_set_defaults
      Src: /src/vlc/modules/codec/jpeg.c:680,1
    - Dst: jpeg_set_colorspace
      Src: /src/vlc/modules/codec/jpeg.c:681,1
    - Dst: jpeg_set_quality
      Src: /src/vlc/modules/codec/jpeg.c:688,1
    - Dst: jpeg_start_compress
      Src: /src/vlc/modules/codec/jpeg.c:690,1
    - Dst: ORIENT_TO_EXIF
      Src: /src/vlc/modules/codec/jpeg.c:704,1
    - Dst: jpeg_write_marker
      Src: /src/vlc/modules/codec/jpeg.c:705,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/codec/jpeg.c:708,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/codec/jpeg.c:716,1
    - Dst: jpeg_write_raw_data
      Src: /src/vlc/modules/codec/jpeg.c:730,1
    - Dst: jpeg_finish_compress
      Src: /src/vlc/modules/codec/jpeg.c:733,1
    - Dst: jpeg_destroy_compress
      Src: /src/vlc/modules/codec/jpeg.c:734,1
    - Dst: free
      Src: /src/vlc/modules/codec/jpeg.c:738,1
    - Dst: free
      Src: /src/vlc/modules/codec/jpeg.c:740,1
    - Dst: jpeg_destroy_compress
      Src: /src/vlc/modules/codec/jpeg.c:748,1
    - Dst: free
      Src: /src/vlc/modules/codec/jpeg.c:754,1
    - Dst: free
      Src: /src/vlc/modules/codec/jpeg.c:757,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/jpeg.c:759,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 62
    argCount: 2
    argNames:
    - p_enc
    - p_pic
    argTypes:
    - encoder_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 762
    functionName: EncodeBlock
    functionSourceFile: /src/vlc/modules/codec/jpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_set_quality
    - block_Release
    - setjmp
    - ORIENT_TO_EXIF
    - jpeg_set_defaults
    - jpeg_create_compress
    - jpeg_write_marker
    - free
    - block_Alloc
    - jpeg_finish_compress
    - jpeg_mem_dest
    - vlc_alloc
    - jpeg_set_colorspace
    - jpeg_write_raw_data
    - jpeg_destroy_compress
    - unlikely
    - jpeg_start_compress
    linkageType: ''
    returnType: block_t
    signature: block_t *EncodeBlock(encoder_t *p_enc, picture_t *p_pic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/codec/jpeg.c:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_enc
    argTypes:
    - encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 772
    functionName: CloseEncoder
    functionSourceFile: /src/vlc/modules/codec/jpeg.c
    functionUses: 3
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void CloseEncoder(encoder_t *p_enc)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/davs2.c:59,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/davs2.c:81,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/davs2.c:86,1
    - Dst: video_format_Init
      Src: /src/vlc/modules/codec/davs2.c:91,1
    - Dst: assert
      Src: /src/vlc/modules/codec/davs2.c:98,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/davs2.c:108,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/davs2.c:112,1
    - Dst: lroundf
      Src: /src/vlc/modules/codec/davs2.c:114,1
    - Dst: ldexpf
      Src: /src/vlc/modules/codec/davs2.c:114,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 2
    argNames:
    - dec
    - info
    argTypes:
    - decoder_t*
    - davs2_seq_info_t*
    assertStmts:
    - condition: (info->frame_rate_id != 0)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/vlc/modules/codec/davs2.c
    constantsTouched: []
    func_position:
      end: 117
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 117
    functionName: UpdateFormat
    functionSourceFile: /src/vlc/modules/codec/davs2.c
    functionUses: 4
    functionsReached:
    - assert
    - ARRAY_SIZE
    - video_format_Init
    - msg_Err
    - ldexpf
    - msg_Warn
    - lroundf
    linkageType: ''
    returnType: void
    signature: void UpdateFormat(decoder_t *dec, const davs2_seq_info_t *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decoder_NewPicture
      Src: /src/vlc/modules/codec/davs2.c:121,1
    - Dst: likely
      Src: /src/vlc/modules/codec/davs2.c:123,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/codec/davs2.c:138,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/modules/codec/davs2.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dec
    - frame
    argTypes:
    - decoder_t*
    - davs2_picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 144
    functionName: SendPicture
    functionSourceFile: /src/vlc/modules/codec/davs2.c
    functionUses: 0
    functionsReached:
    - decoder_QueueVideo
    - likely
    - plane_CopyPixels
    - decoder_NewPicture
    linkageType: ''
    returnType: void
    signature: void SendPicture(decoder_t *dec, davs2_picture_t *frame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: davs2_decoder_flush
      Src: /src/vlc/modules/codec/davs2.c:155,1
    - Dst: davs2_decoder_frame_unref
      Src: /src/vlc/modules/codec/davs2.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 158
    functionName: Flush
    functionSourceFile: /src/vlc/modules/codec/davs2.c
    functionUses: 89
    functionsReached:
    - davs2_decoder_flush
    - davs2_decoder_frame_unref
    linkageType: ''
    returnType: void
    signature: void Flush(decoder_t *dec)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/vlc/modules/codec/davs2.c:165,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/davs2.c:169,1
    - Dst: UpdateFormat
      Src: /src/vlc/modules/codec/davs2.c:177,1
    - Dst: decoder_UpdateVideoFormat
      Src: /src/vlc/modules/codec/davs2.c:181,1
    - Dst: SendPicture
      Src: /src/vlc/modules/codec/davs2.c:182,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/codec/davs2.c:186,1
    - Dst: davs2_decoder_frame_unref
      Src: /src/vlc/modules/codec/davs2.c:189,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 191
    functionName: Dequeue
    functionSourceFile: /src/vlc/modules/codec/davs2.c
    functionUses: 6
    functionsReached:
    - davs2_decoder_frame_unref
    - decoder_UpdateVideoFormat
    - vlc_assert_unreachable
    - func
    - msg_Err
    - UpdateFormat
    - SendPicture
    linkageType: ''
    returnType: int
    signature: "int Dequeue(decoder_t *dec,\n    int (*func)(void *, davs2_seq_info_t
      *, davs2_picture_t *))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Dequeue
      Src: /src/vlc/modules/codec/davs2.c:200,1
    - Dst: assert
      Src: /src/vlc/modules/codec/davs2.c:207,1
    - Dst: davs2_decoder_send_packet
      Src: /src/vlc/modules/codec/davs2.c:216,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/davs2.c:217,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/davs2.c:220,1
    - Dst: Dequeue
      Src: /src/vlc/modules/codec/davs2.c:222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - dec
    - block
    argTypes:
    - decoder_t*
    - vlc_frame_t*
    assertStmts:
    - condition: (block->i_buffer <= INT_MAX)
      pos:
        line_end: 206
        line_start: 206
        source_file: /src/vlc/modules/codec/davs2.c
    constantsTouched: []
    func_position:
      end: 224
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 224
    functionName: Decode
    functionSourceFile: /src/vlc/modules/codec/davs2.c
    functionUses: 16
    functionsReached:
    - davs2_decoder_send_packet
    - block_Release
    - assert
    - Dequeue
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int Decode(decoder_t *dec, vlc_frame_t *block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: davs2_decoder_close
      Src: /src/vlc/modules/codec/davs2.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: Close
    functionSourceFile: /src/vlc/modules/codec/davs2.c
    functionUses: 180
    functionsReached:
    - davs2_decoder_close
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_GetCPUCount
      Src: /src/vlc/modules/codec/davs2.c:241,1
    - Dst: davs2_decoder_open
      Src: /src/vlc/modules/codec/davs2.c:247,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/davs2.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 256
    functionName: Open
    functionSourceFile: /src/vlc/modules/codec/davs2.c
    functionUses: 73
    functionsReached:
    - davs2_decoder_open
    - vlc_GetCPUCount
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: ~MFHW_d3d()
    functionSourceFile: /src/vlc/modules/codec/mft_d3d.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MFHW_d3d()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~MFHW_d3d11()
    functionSourceFile: /src/vlc/modules/codec/mft_d3d11.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MFHW_d3d11()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/t140.c:51,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/t140.c:52,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/t140.c:54,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 72
    functionName: Open
    functionSourceFile: /src/vlc/modules/codec/t140.c
    functionUses: 73
    functionsReached:
    - strcasecmp
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/t140.c:77,1
    - Dst: vlc_spu_regions_first_or_null
      Src: /src/vlc/modules/codec/t140.c:86,1
    - Dst: subpicture_region_IsText
      Src: /src/vlc/modules/codec/t140.c:88,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/t140.c:99,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/t140.c:102,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/t140.c:112,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/t140.c:113,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 2
    argNames:
    - p_enc
    - p_spu
    argTypes:
    - encoder_t*
    - subpicture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 125
    functionName: Encode
    functionSourceFile: /src/vlc/modules/codec/t140.c
    functionUses: 2
    functionsReached:
    - subpicture_region_IsText
    - strlen
    - memcpy
    - block_Alloc
    - vlc_spu_regions_first_or_null
    - VLC_UNUSED
    linkageType: ''
    returnType: block_t
    signature: block_t *Encode( encoder_t *p_enc, subpicture_t *p_spu )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/libass.c:134,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/codec/libass.c:139,1
    - Dst: ass_library_init
      Src: /src/vlc/modules/codec/libass.c:148,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/libass.c:151,1
    - Dst: DecSysRelease
      Src: /src/vlc/modules/codec/libass.c:152,1
    - Dst: decoder_GetInputAttachments
      Src: /src/vlc/modules/codec/libass.c:159,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/libass.c:171,1
    - Dst: strnlen
      Src: /src/vlc/modules/codec/libass.c:174,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/libass.c:176,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/libass.c:178,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/libass.c:178,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/libass.c:178,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/libass.c:184,1
    - Dst: ass_add_font
      Src: /src/vlc/modules/codec/libass.c:186,1
    - Dst: vlc_input_attachment_Release
      Src: /src/vlc/modules/codec/libass.c:188,1
    - Dst: free
      Src: /src/vlc/modules/codec/libass.c:190,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/codec/libass.c:192,1
    - Dst: ass_set_fonts_dir
      Src: /src/vlc/modules/codec/libass.c:195,1
    - Dst: free
      Src: /src/vlc/modules/codec/libass.c:196,1
    - Dst: ass_set_extract_fonts
      Src: /src/vlc/modules/codec/libass.c:199,1
    - Dst: ass_set_style_overrides
      Src: /src/vlc/modules/codec/libass.c:200,1
    - Dst: ass_renderer_init
      Src: /src/vlc/modules/codec/libass.c:203,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/libass.c:206,1
    - Dst: DecSysRelease
      Src: /src/vlc/modules/codec/libass.c:207,1
    - Dst: ass_set_use_margins
      Src: /src/vlc/modules/codec/libass.c:211,1
    - Dst: ass_set_font_scale
      Src: /src/vlc/modules/codec/libass.c:214,1
    - Dst: ass_set_line_spacing
      Src: /src/vlc/modules/codec/libass.c:215,1
    - Dst: access
      Src: /src/vlc/modules/codec/libass.c:225,1
    - Dst: vlc_dialog_display_progress
      Src: /src/vlc/modules/codec/libass.c:247,1
    - Dst: _
      Src: /src/vlc/modules/codec/libass.c:248,1
    - Dst: _
      Src: /src/vlc/modules/codec/libass.c:249,1
    - Dst: ass_set_fonts
      Src: /src/vlc/modules/codec/libass.c:252,1
    - Dst: vlc_dialog_release
      Src: /src/vlc/modules/codec/libass.c:255,1
    - Dst: ass_set_fonts
      Src: /src/vlc/modules/codec/libass.c:258,1
    - Dst: ass_set_hinting
      Src: /src/vlc/modules/codec/libass.c:263,1
    - Dst: ass_new_track
      Src: /src/vlc/modules/codec/libass.c:266,1
    - Dst: DecSysRelease
      Src: /src/vlc/modules/codec/libass.c:269,1
    - Dst: ass_process_codec_private
      Src: /src/vlc/modules/codec/libass.c:272,1
    - Dst: OldEngineClunkyRollInfoPatch
      Src: /src/vlc/modules/codec/libass.c:273,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 72
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 278
    functionName: Create
    functionSourceFile: /src/vlc/modules/codec/libass.c
    functionUses: 246
    functionsReached:
    - ass_set_hinting
    - vlc_dialog_display_progress
    - ass_set_line_spacing
    - strnlen
    - ass_library_init
    - _
    - msg_Dbg
    - access
    - strcasecmp
    - msg_Warn
    - ass_process_codec_private
    - ass_set_use_margins
    - OldEngineClunkyRollInfoPatch
    - ass_set_extract_fonts
    - vlc_input_attachment_Release
    - ass_set_fonts
    - DecSysRelease
    - vlc_dialog_release
    - ass_add_font
    - ass_set_fonts_dir
    - decoder_GetInputAttachments
    - var_InheritString
    - ass_set_style_overrides
    - strlen
    - vlc_mutex_init
    - ass_new_track
    - free
    - ass_renderer_init
    - ass_set_font_scale
    - malloc
    linkageType: ''
    returnType: int
    signature: int Create( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DecSysRelease
      Src: /src/vlc/modules/codec/libass.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 288
    functionName: Destroy
    functionSourceFile: /src/vlc/modules/codec/libass.c
    functionUses: 149
    functionsReached:
    - DecSysRelease
    linkageType: ''
    returnType: void
    signature: void Destroy( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/libass.c:292,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/libass.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - decoder_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: DecSysHold
    functionSourceFile: /src/vlc/modules/codec/libass.c
    functionUses: 2
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void DecSysHold( decoder_sys_t *p_sys )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/libass.c:299,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/libass.c:303,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/libass.c:306,1
    - Dst: ass_free_track
      Src: /src/vlc/modules/codec/libass.c:309,1
    - Dst: ass_renderer_done
      Src: /src/vlc/modules/codec/libass.c:311,1
    - Dst: ass_library_done
      Src: /src/vlc/modules/codec/libass.c:313,1
    - Dst: free
      Src: /src/vlc/modules/codec/libass.c:315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - decoder_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 316
    functionName: DecSysRelease
    functionSourceFile: /src/vlc/modules/codec/libass.c
    functionUses: 4
    functionsReached:
    - ass_free_track
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - free
    - ass_renderer_done
    - ass_library_done
    linkageType: ''
    returnType: void
    signature: void DecSysRelease( decoder_sys_t *p_sys )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 327
    functionName: Flush
    functionSourceFile: /src/vlc/modules/codec/libass.c
    functionUses: 89
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Flush( decoder_t *p_dec )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/vlc/modules/codec/libass.c:343,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/libass.c:344,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/libass.c:350,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/libass.c:356,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/libass.c:359,1
    - Dst: decoder_NewSubpicture
      Src: /src/vlc/modules/codec/libass.c:374,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/libass.c:377,1
    - Dst: free
      Src: /src/vlc/modules/codec/libass.c:378,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/libass.c:379,1
    - Dst: __MAX
      Src: /src/vlc/modules/codec/libass.c:386,1
    - Dst: DecSysHold
      Src: /src/vlc/modules/codec/libass.c:391,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/libass.c:396,1
    - Dst: ass_process_chunk
      Src: /src/vlc/modules/codec/libass.c:399,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/codec/libass.c:400,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/codec/libass.c:400,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/libass.c:402,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/libass.c:404,1
    - Dst: decoder_QueueSub
      Src: /src/vlc/modules/codec/libass.c:407,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 410
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/codec/libass.c
    functionUses: 15
    functionsReached:
    - MS_FROM_VLC_TICK
    - block_Release
    - decoder_NewSubpicture
    - decoder_QueueSub
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - DecSysHold
    - free
    - __MAX
    - msg_Warn
    - Flush
    - ass_process_chunk
    - malloc
    linkageType: ''
    returnType: int
    signature: int DecodeBlock( decoder_t *p_dec, block_t *p_block )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: video_format_IsSimilar
      Src: /src/vlc/modules/codec/libass.c:425,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/libass.c:427,1
    - Dst: ass_set_frame_size
      Src: /src/vlc/modules/codec/libass.c:431,1
    - Dst: ass_set_storage_size
      Src: /src/vlc/modules/codec/libass.c:433,1
    - Dst: ass_set_pixel_aspect
      Src: /src/vlc/modules/codec/libass.c:438,1
    - Dst: ass_set_aspect_ratio
      Src: /src/vlc/modules/codec/libass.c:440,1
    - Dst: ass_render_frame
      Src: /src/vlc/modules/codec/libass.c:447,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/codec/libass.c:448,1
    - Dst: vlc_spu_regions_is_empty
      Src: /src/vlc/modules/codec/libass.c:451,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/libass.c:453,1
    - Dst: vlc_spu_regions_Clear
      Src: /src/vlc/modules/codec/libass.c:457,1
    - Dst: BuildRegions
      Src: /src/vlc/modules/codec/libass.c:470,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/libass.c:470,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/libass.c:474,1
    - Dst: subpicture_region_New
      Src: /src/vlc/modules/codec/libass.c:498,1
    - Dst: RegionDraw
      Src: /src/vlc/modules/codec/libass.c:507,1
    - Dst: vlc_spu_regions_push
      Src: /src/vlc/modules/codec/libass.c:510,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/libass.c:512,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 2
    argNames:
    - p_subpic
    - cfg
    argTypes:
    - subpicture_t*
    - struct vlc_spu_updater_configuration*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 514
    functionName: SubpictureUpdate
    functionSourceFile: /src/vlc/modules/codec/libass.c
    functionUses: 0
    functionsReached:
    - MS_FROM_VLC_TICK
    - vlc_spu_regions_Clear
    - ass_render_frame
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - ARRAY_SIZE
    - ass_set_aspect_ratio
    - vlc_spu_regions_push
    - ass_set_storage_size
    - BuildRegions
    - ass_set_frame_size
    - vlc_spu_regions_is_empty
    - RegionDraw
    - video_format_IsSimilar
    - ass_set_pixel_aspect
    - subpicture_region_New
    linkageType: ''
    returnType: void
    signature: "void SubpictureUpdate( subpicture_t *p_subpic,\n                              const
      struct vlc_spu_updater_configuration *cfg )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DecSysRelease
      Src: /src/vlc/modules/codec/libass.c:519,1
    - Dst: free
      Src: /src/vlc/modules/codec/libass.c:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_subpic
    argTypes:
    - subpicture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 521
    functionName: SubpictureDestroy
    functionSourceFile: /src/vlc/modules/codec/libass.c
    functionUses: 0
    functionsReached:
    - free
    - DecSysRelease
    linkageType: ''
    returnType: void
    signature: void SubpictureDestroy( subpicture_t *p_subpic )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x0
    - y0
    - x1
    - y1
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: r_create
    functionSourceFile: /src/vlc/modules/codec/libass.c
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: rectangle_t
    signature: rectangle_t r_create( int x0, int y0, int x1, int y1 )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_create
      Src: /src/vlc/modules/codec/libass.c:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_img
    argTypes:
    - ASS_Image*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 531
    functionName: r_img
    functionSourceFile: /src/vlc/modules/codec/libass.c
    functionUses: 0
    functionsReached:
    - r_create
    linkageType: ''
    returnType: rectangle_t
    signature: rectangle_t r_img( const ASS_Image *p_img )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __MIN
      Src: /src/vlc/modules/codec/libass.c:534,1
    - Dst: __MIN
      Src: /src/vlc/modules/codec/libass.c:535,1
    - Dst: __MAX
      Src: /src/vlc/modules/codec/libass.c:536,1
    - Dst: __MAX
      Src: /src/vlc/modules/codec/libass.c:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - n
    argTypes:
    - rectangle_t*
    - rectangle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 538
    functionName: r_add
    functionSourceFile: /src/vlc/modules/codec/libass.c
    functionUses: 3
    functionsReached:
    - __MAX
    - __MIN
    linkageType: ''
    returnType: void
    signature: void r_add( rectangle_t *r, const rectangle_t *n )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - rectangle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 542
    functionName: r_surface
    functionSourceFile: /src/vlc/modules/codec/libass.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int r_surface( const rectangle_t *r )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __MAX
      Src: /src/vlc/modules/codec/libass.c:545,1
    - Dst: __MIN
      Src: /src/vlc/modules/codec/libass.c:545,1
    - Dst: __MAX
      Src: /src/vlc/modules/codec/libass.c:546,1
    - Dst: __MIN
      Src: /src/vlc/modules/codec/libass.c:546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - a
    - b
    - i_dx
    - i_dy
    argTypes:
    - rectangle_t*
    - rectangle_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 547
    functionName: r_overlap
    functionSourceFile: /src/vlc/modules/codec/libass.c
    functionUses: 0
    functionsReached:
    - __MAX
    - __MIN
    linkageType: ''
    returnType: bool
    signature: bool r_overlap( const rectangle_t *a, const rectangle_t *b, int i_dx,
      int i_dy )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/codec/libass.c:555,1
    - Dst: calloc
      Src: /src/vlc/modules/codec/libass.c:564,1
    - Dst: __MAX
      Src: /src/vlc/modules/codec/libass.c:573,1
    - Dst: __MAX
      Src: /src/vlc/modules/codec/libass.c:574,1
    - Dst: assert
      Src: /src/vlc/modules/codec/libass.c:589,1
    - Dst: r_img
      Src: /src/vlc/modules/codec/libass.c:590,1
    - Dst: r_img
      Src: /src/vlc/modules/codec/libass.c:601,1
    - Dst: r_overlap
      Src: /src/vlc/modules/codec/libass.c:608,1
    - Dst: r_surface
      Src: /src/vlc/modules/codec/libass.c:610,1
    - Dst: r_add
      Src: /src/vlc/modules/codec/libass.c:619,1
    - Dst: r_add
      Src: /src/vlc/modules/codec/libass.c:638,1
    - Dst: r_surface
      Src: /src/vlc/modules/codec/libass.c:639,1
    - Dst: r_surface
      Src: /src/vlc/modules/codec/libass.c:639,1
    - Dst: r_surface
      Src: /src/vlc/modules/codec/libass.c:639,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/libass.c:650,1
    - Dst: r_add
      Src: /src/vlc/modules/codec/libass.c:654,1
    - Dst: memmove
      Src: /src/vlc/modules/codec/libass.c:657,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/codec/libass.c:668,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/libass.c:669,1
    - Dst: free
      Src: /src/vlc/modules/codec/libass.c:672,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 67
    argCount: 5
    argNames:
    - p_region
    - i_max_region
    - p_img_list
    - i_width
    - i_height
    argTypes:
    - rectangle_t*
    - int
    - ASS_Image*
    - int
    - int
    assertStmts:
    - condition: ( i_region < i_max_region + 1 )
      pos:
        line_end: 588
        line_start: 588
        source_file: /src/vlc/modules/codec/libass.c
    constantsTouched: []
    func_position:
      end: 675
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 675
    functionName: BuildRegions
    functionSourceFile: /src/vlc/modules/codec/libass.c
    functionUses: 1
    functionsReached:
    - vlc_tick_now
    - assert
    - r_surface
    - r_img
    - msg_Err
    - calloc
    - __MAX
    - memmove
    - free
    - r_overlap
    - r_add
    linkageType: ''
    returnType: int
    signature: int BuildRegions( rectangle_t *p_region, int i_max_region, ASS_Image
      *p_img_list, int i_width, int i_height )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/codec/libass.c:685,1
    - Dst: P
      Src: /src/vlc/modules/codec/libass.c:751,1
    - Dst: P
      Src: /src/vlc/modules/codec/libass.c:751,1
    - Dst: P
      Src: /src/vlc/modules/codec/libass.c:753,1
    - Dst: P
      Src: /src/vlc/modules/codec/libass.c:753,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 2
    argNames:
    - p_region
    - p_img
    argTypes:
    - subpicture_region_t*
    - ASS_Image*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 756
    functionName: RegionDraw
    functionSourceFile: /src/vlc/modules/codec/libass.c
    functionUses: 1
    functionsReached:
    - P
    - memset
    linkageType: ''
    returnType: void
    signature: void RegionDraw( subpicture_region_t *p_region, ASS_Image *p_img )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 750
    functionName: P
    functionSourceFile: /src/vlc/modules/codec/libass.c
    functionUses: 161
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: P(x,y)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_MemoryNew
      Src: /src/vlc/modules/codec/libass.c:765,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/libass.c:767,1
    - Dst: vlc_stream_ReadLine
      Src: /src/vlc/modules/codec/libass.c:770,1
    - Dst: strncmp
      Src: /src/vlc/modules/codec/libass.c:773,1
    - Dst: free
      Src: /src/vlc/modules/codec/libass.c:775,1
    - Dst: vlc_stream_ReadLine
      Src: /src/vlc/modules/codec/libass.c:778,1
    - Dst: strncmp
      Src: /src/vlc/modules/codec/libass.c:783,1
    - Dst: strncmp
      Src: /src/vlc/modules/codec/libass.c:784,1
    - Dst: atoi
      Src: /src/vlc/modules/codec/libass.c:786,1
    - Dst: strncmp
      Src: /src/vlc/modules/codec/libass.c:788,1
    - Dst: strstr
      Src: /src/vlc/modules/codec/libass.c:790,1
    - Dst: strncmp
      Src: /src/vlc/modules/codec/libass.c:794,1
    - Dst: strncmp
      Src: /src/vlc/modules/codec/libass.c:795,1
    - Dst: free
      Src: /src/vlc/modules/codec/libass.c:801,1
    - Dst: free
      Src: /src/vlc/modules/codec/libass.c:804,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/codec/libass.c:805,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/libass.c:808,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 2
    argNames:
    - p_dec
    - p_track
    argTypes:
    - decoder_t*
    - ASS_Track*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 819
    functionName: OldEngineClunkyRollInfoPatch
    functionSourceFile: /src/vlc/modules/codec/libass.c
    functionUses: 1
    functionsReached:
    - atoi
    - vlc_stream_Delete
    - free
    - strncmp
    - vlc_stream_ReadLine
    - vlc_stream_MemoryNew
    - strstr
    - msg_Dbg
    - unlikely
    linkageType: ''
    returnType: void
    signature: void OldEngineClunkyRollInfoPatch( decoder_t *p_dec, ASS_Track *p_track
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pic_ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: MF_D3D11_PICCONTEXT_FROM_PICCTX
    functionSourceFile: /src/vlc/modules/codec/mft_d3d11.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MF_D3D11_PICCONTEXT_FROM_PICCTX(pic_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MF_D3D11_PICCONTEXT_FROM_PICCTX
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:51,1
    - Dst: mf_d3d11_pic_ctx*::out_media::Release
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:53,1
    - Dst: d3d11_pic_context_destroy
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:55,1
    - Dst: vlc_mft_ref*::Release
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: d3d11mf_pic_context_destroy
    functionSourceFile: /src/vlc/modules/codec/mft_d3d11.cpp
    functionUses: 0
    functionsReached:
    - vlc_mft_ref*::Release
    - mf_d3d11_pic_ctx*::out_media::Release
    - MF_D3D11_PICCONTEXT_FROM_PICCTX
    - d3d11_pic_context_destroy
    linkageType: ''
    returnType: void
    signature: void d3d11mf_pic_context_destroy(picture_context_t *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MF_D3D11_PICCONTEXT_FROM_PICCTX
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:61,1
    - Dst: static_cast<mf_d3d11_pic_ctx *>
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:62,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:62,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:63,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:66,1
    - Dst: mf_d3d11_pic_ctx*::out_media::AddRef
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:67,1
    - Dst: mf_d3d11_pic_ctx*::mfdec::AddRef
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:68,1
    - Dst: AcquireD3D11PictureSys
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 76
    functionName: d3d11mf_pic_context_copy
    functionSourceFile: /src/vlc/modules/codec/mft_d3d11.cpp
    functionUses: 0
    functionsReached:
    - mf_d3d11_pic_ctx*::out_media::AddRef
    - mf_d3d11_pic_ctx*::mfdec::AddRef
    - vlc_video_context_Hold
    - MF_D3D11_PICCONTEXT_FROM_PICCTX
    - AcquireD3D11PictureSys
    - static_cast<mf_d3d11_pic_ctx *>
    - unlikely
    - malloc
    linkageType: ''
    returnType: picture_context_t
    signature: picture_context_t *d3d11mf_pic_context_copy(picture_context_t *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<mf_d3d11_pic_ctx *>
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:84,1
    - Dst: calloc
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:84,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:85,1
    - Dst: ComPtr<IMFDXGIBuffer>::CopyTo
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:88,1
    - Dst: mf_d3d11_pic_ctx*::mfdec::AddRef
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:90,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:94,1
    - Dst: Get
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:100,1
    - Dst: AcquireD3D11PictureSys
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 6
    argNames:
    - ' texture'
    - slice
    - spDXGIBuffer
    - mfdec
    - renderSrc
    - vctx
    argTypes:
    - ComPtr<ID3D11Texture2D>
    - UINT
    - ComPtr<IMFDXGIBuffer>
    - vlc_mft_ref*
    - ID3D11ShaderResourceView*[]
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 105
    functionName: NewPicContext
    functionSourceFile: /src/vlc/modules/codec/mft_d3d11.cpp
    functionUses: 0
    functionsReached:
    - mf_d3d11_pic_ctx*::mfdec::AddRef
    - vlc_video_context_Hold
    - Get
    - calloc
    - AcquireD3D11PictureSys
    - static_cast<mf_d3d11_pic_ctx *>
    - unlikely
    - ComPtr<IMFDXGIBuffer>::CopyTo
    linkageType: ''
    returnType: picture_context_t
    signature: "picture_context_t *NewPicContext(ComPtr<ID3D11Texture2D> & texture,
      UINT slice,\r\n                                        ComPtr<IMFDXGIBuffer>
      &spDXGIBuffer,\r\n                                        vlc_mft_ref *mfdec,\r\n
      \                                       ID3D11ShaderResourceView *renderSrc[DXGI_MAX_SHADER_VIEW],\r\n
      \                                       vlc_video_context *vctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ComPtr<IMFDXGIBuffer>::GetResource
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:112,1
    - Dst: IID_GRAPHICS_PPV_ARGS
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:112,1
    - Dst: ComPtr::GetAddressOf
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:112,1
    - Dst: FAILED
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:113,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:115,1
    - Dst: GetD3D11OpaqueDevice
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:119,1
    - Dst: assert
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:120,1
    - Dst: ComPtr::GetDesc
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:123,1
    - Dst: D3D11CreateVideoContext
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:124,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:125,1
    - Dst: vlc_error
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:127,1
    - Dst: D3D11_RenderFormat
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:133,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:142,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:142,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:142,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:142,1
    - Dst: D3D11_AllocateResourceView
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - logger
    - spDXGIBuffer
    - ' fmt_out'
    argTypes:
    - vlc_logger*
    - ComPtr<IMFDXGIBuffer>
    - es_format_t
    assertStmts:
    - condition: (dev_sys != nullptr)
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/vlc/modules/codec/mft_d3d11.cpp
    constantsTouched: []
    func_position:
      end: 154
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 154
    functionName: MFHW_d3d11::SetupVideoContext
    functionSourceFile: /src/vlc/modules/codec/mft_d3d11.cpp
    functionUses: 0
    functionsReached:
    - D3D11CreateVideoContext
    - GetD3D11OpaqueDevice
    - vlc_warning
    - assert
    - D3D11_RenderFormat
    - FAILED
    - ComPtr::GetAddressOf
    - ComPtr::Get
    - ComPtr::GetDesc
    - D3D11_AllocateResourceView
    - vlc_error
    - ComPtr<IMFDXGIBuffer>::GetResource
    - unlikely
    - IID_GRAPHICS_PPV_ARGS
    linkageType: ''
    returnType: HRESULT
    signature: "HRESULT MFHW_d3d11::SetupVideoContext(vlc_logger *logger, ComPtr<IMFDXGIBuffer>
      &spDXGIBuffer,\r\n                                      es_format_t & fmt_out)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:159,1
    - Dst: ComPtr<IMFDXGIBuffer>::GetResource
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:162,1
    - Dst: IID_GRAPHICS_PPV_ARGS
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:162,1
    - Dst: ComPtr::GetAddressOf
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:162,1
    - Dst: assert
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:163,1
    - Dst: SUCCEEDED
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:163,1
    - Dst: ComPtr::GetDesc
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:167,1
    - Dst: ComPtr<IMFDXGIBuffer>::GetSubresourceIndex
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:169,1
    - Dst: assert
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:173,1
    - Dst: GetD3D11OpaqueDevice
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:175,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:177,1
    - Dst: MFHW_d3d11::Release
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:181,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:187,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:187,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:187,1
    - Dst: ComPtr::Get
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:187,1
    - Dst: D3D11_AllocateResourceView
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:190,1
    - Dst: vlc_error
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:198,1
    - Dst: NewPicContext
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:202,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - logger
    - spDXGIBuffer
    - mfdec
    argTypes:
    - vlc_logger*
    - ComPtr<IMFDXGIBuffer>
    - vlc_mft_ref*
    assertStmts:
    - condition: (SUCCEEDED(hr))
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/vlc/modules/codec/mft_d3d11.cpp
    - condition: (vctx_out != nullptr)
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/vlc/modules/codec/mft_d3d11.cpp
    - condition: (sliceIndex == 0)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/vlc/modules/codec/mft_d3d11.cpp
    constantsTouched: []
    func_position:
      end: 203
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 203
    functionName: MFHW_d3d11::CreatePicContext
    functionSourceFile: /src/vlc/modules/codec/mft_d3d11.cpp
    functionUses: 0
    functionsReached:
    - GetD3D11OpaqueDevice
    - assert
    - ARRAY_SIZE
    - MFHW_d3d11::Release
    - ComPtr::GetAddressOf
    - NewPicContext
    - ComPtr<IMFDXGIBuffer>::GetSubresourceIndex
    - ComPtr::Get
    - SUCCEEDED
    - ComPtr::GetDesc
    - D3D11_AllocateResourceView
    - vlc_error
    - ComPtr<IMFDXGIBuffer>::GetResource
    - IID_GRAPHICS_PPV_ARGS
    linkageType: ''
    returnType: picture_context_t
    signature: "picture_context_t *MFHW_d3d11::CreatePicContext(vlc_logger *logger,
      ComPtr<IMFDXGIBuffer> &spDXGIBuffer,\r\n                                                vlc_mft_ref
      *mfdec)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetD3D11OpaqueDevice
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:207,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:208,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:210,1
    - Dst: auto*::d3d_dev::d3ddevice::GetCreationFlags
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:214,1
    - Dst: vlc_warning
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:216,1
    - Dst: MFHW_d3d::SetD3D
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - logger
    - ' dec_dev'
    - ' mft'
    argTypes:
    - vlc_logger*
    - vlc_decoder_device
    - ComPtr<IMFTransform>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 221
    functionName: MFHW_d3d11::SetD3D
    functionSourceFile: /src/vlc/modules/codec/mft_d3d11.cpp
    functionUses: 0
    functionsReached:
    - GetD3D11OpaqueDevice
    - MFHW_d3d::SetD3D
    - vlc_warning
    - unlikely
    - auto*::d3d_dev::d3ddevice::GetCreationFlags
    linkageType: ''
    returnType: HRESULT
    signature: HRESULT MFHW_d3d11::SetD3D(vlc_logger *logger, vlc_decoder_device &
      dec_dev, ComPtr<IMFTransform> & mft)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:225,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:227,1
    - Dst: MFHW_d3d11::Release
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:231,1
    - Dst: MFHW_d3d::Release
      Src: /src/vlc/modules/codec/mft_d3d11.cpp:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' mft'
    argTypes:
    - ComPtr<IMFTransform>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 237
    functionName: MFHW_d3d11::Release
    functionSourceFile: /src/vlc/modules/codec/mft_d3d11.cpp
    functionUses: 2
    functionsReached:
    - MFHW_d3d::Release
    - ARRAY_SIZE
    - MFHW_d3d11::Release
    linkageType: ''
    returnType: void
    signature: void MFHW_d3d11::Release(ComPtr<IMFTransform> & mft)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/bpg.c:64,1
    - Dst: bpg_decoder_open
      Src: /src/vlc/modules/codec/bpg.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 82
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/modules/codec/bpg.c
    functionUses: 0
    functionsReached:
    - bpg_decoder_open
    - malloc
    linkageType: ''
    returnType: int
    signature: int OpenDecoder(vlc_object_t *p_this)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: bpg_decoder_decode
      Src: /src/vlc/modules/codec/bpg.c:101,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/bpg.c:105,1
    - Dst: bpg_decoder_get_info
      Src: /src/vlc/modules/codec/bpg.c:109,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/bpg.c:111,1
    - Dst: bpg_decoder_start
      Src: /src/vlc/modules/codec/bpg.c:115,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/bpg.c:117,1
    - Dst: decoder_UpdateVideoFormat
      Src: /src/vlc/modules/codec/bpg.c:130,1
    - Dst: decoder_NewPicture
      Src: /src/vlc/modules/codec/bpg.c:134,1
    - Dst: bpg_decoder_get_line
      Src: /src/vlc/modules/codec/bpg.c:145,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/bpg.c:149,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/modules/codec/bpg.c:156,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/bpg.c:158,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 160
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/codec/bpg.c
    functionUses: 15
    functionsReached:
    - block_Release
    - decoder_UpdateVideoFormat
    - bpg_decoder_get_info
    - msg_Err
    - bpg_decoder_decode
    - decoder_QueueVideo
    - bpg_decoder_get_line
    - bpg_decoder_start
    - decoder_NewPicture
    linkageType: ''
    returnType: int
    signature: int DecodeBlock( decoder_t *p_dec, block_t *p_block )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bpg_decoder_close
      Src: /src/vlc/modules/codec/bpg.c:168,1
    - Dst: free
      Src: /src/vlc/modules/codec/bpg.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 171
    functionName: CloseDecoder
    functionSourceFile: /src/vlc/modules/codec/bpg.c
    functionUses: 2
    functionsReached:
    - bpg_decoder_close
    - free
    linkageType: ''
    returnType: void
    signature: void CloseDecoder( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/codec/png.c:122,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/codec/png.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 146
    functionName: "( \"video decoder\", 1000 )\n    set_callback( OpenDecoder )\n
      \   add_shortcut( \"png\" )\n\n#ifdef ENABLE_SOUT\n    /* video encoder submodule
      */\n    add_submodule()\n    add_shortcut(\"png\")\n    set_section(N_(\"Encoding\"),
      NULL)\n    set_description(N_(\"PNG video encoder\"))\n    set_capability(\"video
      encoder\", 1000)\n    set_callback(OpenEncoder)\n#endif\n\n    /* image encoder
      submodule */\n    add_submodule()\n    add_shortcut(\"png\")\n    set_section(N_(\"Encoding\"),
      NULL)\n    set_description(N_(\"PNG image encoder\"))\n    set_capability(\"image
      encoder\", 1000)\n    set_callback(OpenEncoder)\nvlc_module_end ()\n\n/*****************************************************************************\n
      * OpenDecoder: probe the decoder and return score\n *****************************************************************************/\nstatic
      int OpenDecoder( vlc_object_t *p_this )"
    functionSourceFile: /src/vlc/modules/codec/png.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - vlc_obj_malloc
    linkageType: ''
    returnType: set_capability
    signature: "set_capability ( \"video decoder\", 1000 )\n    set_callback( OpenDecoder
      )\n    add_shortcut( \"png\" )\n\n#ifdef ENABLE_SOUT\n    /* video encoder submodule
      */\n    add_submodule()\n    add_shortcut(\"png\")\n    set_section(N_(\"Encoding\"),
      NULL)\n    set_description(N_(\"PNG video encoder\"))\n    set_capability(\"video
      encoder\", 1000)\n    set_callback(OpenEncoder)\n#endif\n\n    /* image encoder
      submodule */\n    add_submodule()\n    add_shortcut(\"png\")\n    set_section(N_(\"Encoding\"),
      NULL)\n    set_description(N_(\"PNG image encoder\"))\n    set_capability(\"image
      encoder\", 1000)\n    set_callback(OpenEncoder)\nvlc_module_end ()\n\n/*****************************************************************************\n
      * OpenDecoder: probe the decoder and return score\n *****************************************************************************/\nstatic
      int OpenDecoder( vlc_object_t *p_this )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_get_io_ptr
      Src: /src/vlc/modules/codec/png.c:150,1
    - Dst: png_error
      Src: /src/vlc/modules/codec/png.c:152,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/png.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - p_png
    - data
    - i_length
    argTypes:
    - png_structp
    - png_bytep
    - png_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 159
    functionName: user_read
    functionSourceFile: /src/vlc/modules/codec/png.c
    functionUses: 0
    functionsReached:
    - memcpy
    - png_error
    - png_get_io_ptr
    linkageType: ''
    returnType: void
    signature: void user_read( png_structp p_png, png_bytep data, png_size_t i_length
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_png
    argTypes:
    - png_structp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: user_flush
    functionSourceFile: /src/vlc/modules/codec/png.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void user_flush( png_structp p_png )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_get_io_ptr
      Src: /src/vlc/modules/codec/png.c:169,1
    - Dst: snprintf
      Src: /src/vlc/modules/codec/png.c:172,1
    - Dst: png_error
      Src: /src/vlc/modules/codec/png.c:175,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/png.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - p_png
    - data
    - i_length
    argTypes:
    - png_structp
    - png_bytep
    - png_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 182
    functionName: user_write
    functionSourceFile: /src/vlc/modules/codec/png.c
    functionUses: 0
    functionsReached:
    - memcpy
    - snprintf
    - png_error
    - png_get_io_ptr
    linkageType: ''
    returnType: void
    signature: void user_write( png_structp p_png, png_bytep data, png_size_t i_length
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_get_error_ptr
      Src: /src/vlc/modules/codec/png.c:186,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/png.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_png
    - error_msg
    argTypes:
    - png_structp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: user_error
    functionSourceFile: /src/vlc/modules/codec/png.c
    functionUses: 0
    functionsReached:
    - png_get_error_ptr
    - msg_Err
    linkageType: ''
    returnType: void
    signature: void user_error( png_structp p_png, png_const_charp error_msg )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_get_error_ptr
      Src: /src/vlc/modules/codec/png.c:193,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/png.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_png
    - warning_msg
    argTypes:
    - png_structp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: user_warning
    functionSourceFile: /src/vlc/modules/codec/png.c
    functionUses: 4
    functionsReached:
    - png_get_error_ptr
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: void user_warning( png_structp p_png, png_const_charp warning_msg )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/codec/png.c:201,1
    - Dst: strnstr
      Src: /src/vlc/modules/codec/png.c:206,1
    - Dst: ORIENT_FROM_EXIF
      Src: /src/vlc/modules/codec/png.c:208,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - p_dec
    - chunk
    argTypes:
    - decoder_t*
    - png_textp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 209
    functionName: process_text_chunk
    functionSourceFile: /src/vlc/modules/codec/png.c
    functionUses: 0
    functionsReached:
    - strnstr
    - memcmp
    - ORIENT_FROM_EXIF
    linkageType: ''
    returnType: void
    signature: void process_text_chunk( decoder_t *p_dec, const png_textp chunk )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_rand_bytes
      Src: /src/vlc/modules/codec/png.c:214,1
    - Dst: asprintf
      Src: /src/vlc/modules/codec/png.c:218,1
    - Dst: ORIENT_TO_EXIF
      Src: /src/vlc/modules/codec/png.c:227,1
    - Dst: free
      Src: /src/vlc/modules/codec/png.c:230,1
    - Dst: strdup
      Src: /src/vlc/modules/codec/png.c:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - fmt
    - chunk
    argTypes:
    - video_format_t*
    - png_textp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 240
    functionName: make_xmp_packet
    functionSourceFile: /src/vlc/modules/codec/png.c
    functionUses: 0
    functionsReached:
    - asprintf
    - strdup
    - ORIENT_TO_EXIF
    - free
    - vlc_rand_bytes
    linkageType: ''
    returnType: int
    signature: int make_xmp_packet( const video_format_t *fmt, png_textp chunk )
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/codec/png.c:269,1
    - Dst: png_create_read_struct
      Src: /src/vlc/modules/codec/png.c:273,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/png.c:276,1
    - Dst: png_create_info_struct
      Src: /src/vlc/modules/codec/png.c:280,1
    - Dst: png_destroy_read_struct
      Src: /src/vlc/modules/codec/png.c:283,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/png.c:284,1
    - Dst: png_create_info_struct
      Src: /src/vlc/modules/codec/png.c:288,1
    - Dst: png_destroy_read_struct
      Src: /src/vlc/modules/codec/png.c:291,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/png.c:292,1
    - Dst: setjmp
      Src: /src/vlc/modules/codec/png.c:297,1
    - Dst: png_jmpbuf
      Src: /src/vlc/modules/codec/png.c:297,1
    - Dst: png_set_read_fn
      Src: /src/vlc/modules/codec/png.c:300,1
    - Dst: png_set_error_fn
      Src: /src/vlc/modules/codec/png.c:301,1
    - Dst: png_read_info
      Src: /src/vlc/modules/codec/png.c:303,1
    - Dst: png_get_IHDR
      Src: /src/vlc/modules/codec/png.c:306,1
    - Dst: png_get_text
      Src: /src/vlc/modules/codec/png.c:321,1
    - Dst: process_text_chunk
      Src: /src/vlc/modules/codec/png.c:323,1
    - Dst: png_set_palette_to_rgb
      Src: /src/vlc/modules/codec/png.c:327,1
    - Dst: png_set_gray_to_rgb
      Src: /src/vlc/modules/codec/png.c:331,1
    - Dst: png_set_alpha_mode
      Src: /src/vlc/modules/codec/png.c:333,1
    - Dst: png_set_scale_16
      Src: /src/vlc/modules/codec/png.c:339,1
    - Dst: png_set_strip_16
      Src: /src/vlc/modules/codec/png.c:341,1
    - Dst: png_get_valid
      Src: /src/vlc/modules/codec/png.c:345,1
    - Dst: png_set_tRNS_to_alpha
      Src: /src/vlc/modules/codec/png.c:347,1
    - Dst: decoder_UpdateVideoFormat
      Src: /src/vlc/modules/codec/png.c:355,1
    - Dst: decoder_NewPicture
      Src: /src/vlc/modules/codec/png.c:357,1
    - Dst: png_get_valid
      Src: /src/vlc/modules/codec/png.c:363,1
    - Dst: png_get_iCCP
      Src: /src/vlc/modules/codec/png.c:374,1
    - Dst: picture_AttachNewAncillary
      Src: /src/vlc/modules/codec/png.c:377,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/png.c:380,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/codec/png.c:387,1
    - Dst: png_read_image
      Src: /src/vlc/modules/codec/png.c:393,1
    - Dst: png_read_end
      Src: /src/vlc/modules/codec/png.c:395,1
    - Dst: png_destroy_read_struct
      Src: /src/vlc/modules/codec/png.c:398,1
    - Dst: free
      Src: /src/vlc/modules/codec/png.c:399,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/png.c:403,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/modules/codec/png.c:404,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/png.c:410,1
    - Dst: free
      Src: /src/vlc/modules/codec/png.c:411,1
    - Dst: png_destroy_read_struct
      Src: /src/vlc/modules/codec/png.c:412,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/png.c:413,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 110
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 249
    functionDepth: 3
    functionLinenumber: 249
    functionLinenumberEnd: 415
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/codec/png.c
    functionUses: 15
    functionsReached:
    - picture_AttachNewAncillary
    - setjmp
    - png_set_scale_16
    - decoder_UpdateVideoFormat
    - memcpy
    - png_read_end
    - picture_Release
    - vlc_alloc
    - png_get_IHDR
    - png_set_tRNS_to_alpha
    - png_set_strip_16
    - png_read_image
    - png_get_iCCP
    - png_destroy_read_struct
    - png_jmpbuf
    - decoder_NewPicture
    - png_read_info
    - png_set_read_fn
    - png_set_palette_to_rgb
    - process_text_chunk
    - block_Release
    - png_set_gray_to_rgb
    - png_create_read_struct
    - png_get_valid
    - free
    - png_get_text
    - decoder_QueueVideo
    - png_set_alpha_mode
    - png_set_error_fn
    - png_create_info_struct
    linkageType: ''
    returnType: int
    signature: int DecodeBlock( decoder_t *p_dec, block_t *p_block )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/codec/png.c:425,1
    - Dst: ckd_mul
      Src: /src/vlc/modules/codec/png.c:432,1
    - Dst: ckd_mul
      Src: /src/vlc/modules/codec/png.c:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 445
    functionName: OpenEncoder
    functionSourceFile: /src/vlc/modules/codec/png.c
    functionUses: 0
    functionsReached:
    - ckd_mul
    - vlc_obj_malloc
    linkageType: ''
    returnType: int
    signature: int OpenEncoder(vlc_object_t *p_this)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/codec/png.c:454,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/png.c:459,1
    - Dst: png_create_write_struct
      Src: /src/vlc/modules/codec/png.c:465,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/png.c:468,1
    - Dst: png_set_filter
      Src: /src/vlc/modules/codec/png.c:473,1
    - Dst: png_set_compression_level
      Src: /src/vlc/modules/codec/png.c:475,1
    - Dst: setjmp
      Src: /src/vlc/modules/codec/png.c:485,1
    - Dst: png_jmpbuf
      Src: /src/vlc/modules/codec/png.c:485,1
    - Dst: png_set_write_fn
      Src: /src/vlc/modules/codec/png.c:488,1
    - Dst: png_set_error_fn
      Src: /src/vlc/modules/codec/png.c:489,1
    - Dst: png_create_info_struct
      Src: /src/vlc/modules/codec/png.c:491,1
    - Dst: png_set_IHDR
      Src: /src/vlc/modules/codec/png.c:495,1
    - Dst: make_xmp_packet
      Src: /src/vlc/modules/codec/png.c:504,1
    - Dst: png_set_text
      Src: /src/vlc/modules/codec/png.c:506,1
    - Dst: png_write_info
      Src: /src/vlc/modules/codec/png.c:507,1
    - Dst: free
      Src: /src/vlc/modules/codec/png.c:508,1
    - Dst: free
      Src: /src/vlc/modules/codec/png.c:509,1
    - Dst: png_write_info
      Src: /src/vlc/modules/codec/png.c:513,1
    - Dst: png_write_row
      Src: /src/vlc/modules/codec/png.c:521,1
    - Dst: png_write_end
      Src: /src/vlc/modules/codec/png.c:525,1
    - Dst: png_destroy_write_struct
      Src: /src/vlc/modules/codec/png.c:528,1
    - Dst: png_destroy_write_struct
      Src: /src/vlc/modules/codec/png.c:540,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/png.c:542,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 2
    argNames:
    - p_enc
    - p_pic
    argTypes:
    - encoder_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 450
    functionDepth: 3
    functionLinenumber: 450
    functionLinenumberEnd: 544
    functionName: EncodeBlock
    functionSourceFile: /src/vlc/modules/codec/png.c
    functionUses: 0
    functionsReached:
    - png_set_text
    - png_set_compression_level
    - setjmp
    - png_write_end
    - png_write_info
    - block_Alloc
    - png_create_write_struct
    - png_set_IHDR
    - png_set_filter
    - png_jmpbuf
    - png_destroy_write_struct
    - make_xmp_packet
    - png_write_row
    - block_Release
    - free
    - png_set_write_fn
    - png_set_error_fn
    - unlikely
    - png_create_info_struct
    linkageType: ''
    returnType: block_t
    signature: block_t *EncodeBlock(encoder_t *p_enc, picture_t *p_pic)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 65
    functionName: OpenEncoder
    functionSourceFile: /src/vlc/modules/codec/rtpvideo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OpenEncoder( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/rtpvideo.c:69,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/rtpvideo.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - p_enc
    - p_pict
    argTypes:
    - encoder_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 109
    functionName: Encode
    functionSourceFile: /src/vlc/modules/codec/rtpvideo.c
    functionUses: 2
    functionsReached:
    - block_Alloc
    - VLC_UNUSED
    linkageType: ''
    returnType: block_t
    signature: block_t *Encode( encoder_t *p_enc, picture_t *p_pict )
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - p_buffer
    - i_buffer
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 57
    functionName: scte18_get_EAS_priority
    functionSourceFile: /src/vlc/modules/codec/scte18.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int scte18_get_EAS_priority( const uint8_t *p_buffer, size_t i_buffer
      )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: x265_picture_init
      Src: /src/vlc/modules/codec/x265.c:75,1
    - Dst: likely
      Src: /src/vlc/modules/codec/x265.c:82,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/x265.c:85,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/codec/x265.c:86,1
    - Dst: x265_encoder_encode
      Src: /src/vlc/modules/codec/x265.c:98,1
    - Dst: likely
      Src: /src/vlc/modules/codec/x265.c:99,1
    - Dst: x265_encoder_encode
      Src: /src/vlc/modules/codec/x265.c:101,1
    - Dst: likely
      Src: /src/vlc/modules/codec/x265.c:102,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/x265.c:112,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/x265.c:117,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/codec/x265.c:120,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/x265.c:143,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/codec/x265.c:144,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 2
    argNames:
    - p_enc
    - p_pict
    argTypes:
    - encoder_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 148
    functionName: Encode
    functionSourceFile: /src/vlc/modules/codec/x265.c
    functionUses: 2
    functionsReached:
    - vlc_tick_now
    - x265_encoder_encode
    - memcpy
    - block_Alloc
    - x265_picture_init
    - likely
    - vlc_tick_from_samples
    - msg_Dbg
    - unlikely
    linkageType: ''
    returnType: block_t
    signature: block_t *Encode(encoder_t *p_enc, picture_t *p_pict)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/x265.c:160,1
    - Dst: x265_param_default
      Src: /src/vlc/modules/codec/x265.c:167,1
    - Dst: vlc_GetCPUCount
      Src: /src/vlc/modules/codec/x265.c:169,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/x265.c:194,1
    - Dst: free
      Src: /src/vlc/modules/codec/x265.c:196,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/x265.c:200,1
    - Dst: free
      Src: /src/vlc/modules/codec/x265.c:201,1
    - Dst: x265_encoder_open
      Src: /src/vlc/modules/codec/x265.c:210,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/x265.c:212,1
    - Dst: free
      Src: /src/vlc/modules/codec/x265.c:213,1
    - Dst: x265_encoder_headers
      Src: /src/vlc/modules/codec/x265.c:219,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/x265.c:220,1
    - Dst: Close
      Src: /src/vlc/modules/codec/x265.c:221,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/x265.c:231,1
    - Dst: Close
      Src: /src/vlc/modules/codec/x265.c:233,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/x265.c:238,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 69
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 256
    functionName: Open
    functionSourceFile: /src/vlc/modules/codec/x265.c
    functionUses: 73
    functionsReached:
    - vlc_GetCPUCount
    - x265_encoder_open
    - x265_encoder_headers
    - x265_param_default
    - memcpy
    - msg_Err
    - free
    - Close
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open (vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x265_encoder_close
      Src: /src/vlc/modules/codec/x265.c:262,1
    - Dst: free
      Src: /src/vlc/modules/codec/x265.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_enc
    argTypes:
    - encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 265
    functionName: Close
    functionSourceFile: /src/vlc/modules/codec/x265.c
    functionUses: 181
    functionsReached:
    - free
    - x265_encoder_close
    linkageType: ''
    returnType: void
    signature: void Close(encoder_t *p_enc)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/g711.c:163,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/g711.c:170,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/g711.c:174,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/codec/g711.c:179,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/g711.c:180,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/codec/g711.c:197,1
    - Dst: date_Init
      Src: /src/vlc/modules/codec/g711.c:201,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 204
    functionName: DecoderOpen
    functionSourceFile: /src/vlc/modules/codec/g711.c
    functionUses: 0
    functionsReached:
    - aout_FormatPrepare
    - vlc_obj_malloc
    - date_Init
    - msg_Err
    - msg_Dbg
    - unlikely
    linkageType: ''
    returnType: int
    signature: int DecoderOpen( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: date_Set
      Src: /src/vlc/modules/codec/g711.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 211
    functionName: Flush
    functionSourceFile: /src/vlc/modules/codec/g711.c
    functionUses: 90
    functionsReached:
    - date_Set
    linkageType: ''
    returnType: void
    signature: void Flush( decoder_t *p_dec )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/vlc/modules/codec/g711.c:222,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/g711.c:225,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/g711.c:231,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/g711.c:233,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/g711.c:235,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/g711.c:238,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/g711.c:248,1
    - Dst: decoder_UpdateAudioFormat
      Src: /src/vlc/modules/codec/g711.c:252,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/g711.c:254,1
    - Dst: decoder_NewAudioBuffer
      Src: /src/vlc/modules/codec/g711.c:257,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/g711.c:260,1
    - Dst: assert
      Src: /src/vlc/modules/codec/g711.c:264,1
    - Dst: assert
      Src: /src/vlc/modules/codec/g711.c:265,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/g711.c:267,1
    - Dst: date_Increment
      Src: /src/vlc/modules/codec/g711.c:268,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/g711.c:279,1
    - Dst: decoder_QueueAudio
      Src: /src/vlc/modules/codec/g711.c:280,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts:
    - condition: ( p_out->i_buffer == samples * 2 * p_dec->fmt_in->audio.i_channels
        )
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/vlc/modules/codec/g711.c
    - condition: ( p_out->i_nb_samples == samples )
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/vlc/modules/codec/g711.c
    constantsTouched: []
    func_position:
      end: 282
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 282
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/codec/g711.c
    functionUses: 15
    functionsReached:
    - decoder_QueueAudio
    - block_Release
    - assert
    - decoder_NewAudioBuffer
    - date_Set
    - decoder_UpdateAudioFormat
    - date_Get
    - date_Increment
    - Flush
    linkageType: ''
    returnType: int
    signature: int DecodeBlock( decoder_t *p_dec, block_t *p_block )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/g711.c:1165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1147
    functionDepth: 1
    functionLinenumber: 1147
    functionLinenumberEnd: 1168
    functionName: EncoderOpen
    functionSourceFile: /src/vlc/modules/codec/g711.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int EncoderOpen( vlc_object_t *p_this )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/g711.c:1174,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/g711.c:1175,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/codec/g711.c:1205,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - p_enc
    - p_aout_buf
    argTypes:
    - encoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1208
    functionName: EncoderEncode
    functionSourceFile: /src/vlc/modules/codec/g711.c
    functionUses: 0
    functionsReached:
    - vlc_tick_from_samples
    - block_Alloc
    - unlikely
    linkageType: ''
    returnType: block_t
    signature: block_t *EncoderEncode( encoder_t *p_enc, block_t *p_aout_buf )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GetWBE
      Src: /src/vlc/modules/codec/faad.c:121,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/faad.c:127,1
    - Dst: NeAACDecOpen
      Src: /src/vlc/modules/codec/faad.c:131,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/faad.c:133,1
    - Dst: free
      Src: /src/vlc/modules/codec/faad.c:134,1
    - Dst: NeAACDecGetVersion
      Src: /src/vlc/modules/codec/faad.c:139,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/faad.c:140,1
    - Dst: NeAACDecInit2
      Src: /src/vlc/modules/codec/faad.c:151,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/faad.c:156,1
    - Dst: NeAACDecClose
      Src: /src/vlc/modules/codec/faad.c:157,1
    - Dst: free
      Src: /src/vlc/modules/codec/faad.c:158,1
    - Dst: date_Init
      Src: /src/vlc/modules/codec/faad.c:166,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/faad.c:174,1
    - Dst: NeAACDecGetCurrentConfiguration
      Src: /src/vlc/modules/codec/faad.c:181,1
    - Dst: NeAACDecSetConfiguration
      Src: /src/vlc/modules/codec/faad.c:185,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/faad.c:187,1
    - Dst: NeAACDecClose
      Src: /src/vlc/modules/codec/faad.c:188,1
    - Dst: free
      Src: /src/vlc/modules/codec/faad.c:189,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 204
    functionName: Open
    functionSourceFile: /src/vlc/modules/codec/faad.c
    functionUses: 74
    functionsReached:
    - GetWBE
    - NeAACDecOpen
    - NeAACDecClose
    - NeAACDecInit2
    - date_Init
    - date_Set
    - msg_Err
    - free
    - NeAACDecSetConfiguration
    - msg_Dbg
    - NeAACDecGetCurrentConfiguration
    - malloc
    - NeAACDecGetVersion
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/codec/faad.c:227,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - p_sys
    - i_used
    argTypes:
    - decoder_sys_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 231
    functionName: FlushBuffer
    functionSourceFile: /src/vlc/modules/codec/faad.c
    functionUses: 0
    functionsReached:
    - block_Release
    linkageType: ''
    returnType: void
    signature: void FlushBuffer( decoder_sys_t *p_sys, size_t i_used )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: date_Set
      Src: /src/vlc/modules/codec/faad.c:240,1
    - Dst: FlushBuffer
      Src: /src/vlc/modules/codec/faad.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: Flush
    functionSourceFile: /src/vlc/modules/codec/faad.c
    functionUses: 91
    functionsReached:
    - date_Set
    - FlushBuffer
    linkageType: ''
    returnType: void
    signature: void Flush( decoder_t *p_dec )
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/vlc/modules/codec/faad.c:256,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/faad.c:259,1
    - Dst: block_ChainGather
      Src: /src/vlc/modules/codec/faad.c:292,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/codec/faad.c:294,1
    - Dst: NeAACDecInit2
      Src: /src/vlc/modules/codec/faad.c:306,1
    - Dst: NeAACDecInit
      Src: /src/vlc/modules/codec/faad.c:316,1
    - Dst: FlushBuffer
      Src: /src/vlc/modules/codec/faad.c:322,1
    - Dst: FlushBuffer
      Src: /src/vlc/modules/codec/faad.c:328,1
    - Dst: date_Init
      Src: /src/vlc/modules/codec/faad.c:337,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/faad.c:340,1
    - Dst: llabs
      Src: /src/vlc/modules/codec/faad.c:344,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/faad.c:344,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/faad.c:345,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/faad.c:347,1
    - Dst: FlushBuffer
      Src: /src/vlc/modules/codec/faad.c:350,1
    - Dst: NeAACDecDecode
      Src: /src/vlc/modules/codec/faad.c:361,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/faad.c:367,1
    - Dst: NeAACDecGetErrorMessage
      Src: /src/vlc/modules/codec/faad.c:367,1
    - Dst: NeAACDecGetCurrentConfiguration
      Src: /src/vlc/modules/codec/faad.c:382,1
    - Dst: NeAACDecOpen
      Src: /src/vlc/modules/codec/faad.c:383,1
    - Dst: NeAACDecGetCurrentConfiguration
      Src: /src/vlc/modules/codec/faad.c:384,1
    - Dst: NeAACDecSetConfiguration
      Src: /src/vlc/modules/codec/faad.c:389,1
    - Dst: NeAACDecInit
      Src: /src/vlc/modules/codec/faad.c:391,1
    - Dst: NeAACDecClose
      Src: /src/vlc/modules/codec/faad.c:397,1
    - Dst: NeAACDecSetConfiguration
      Src: /src/vlc/modules/codec/faad.c:398,1
    - Dst: NeAACDecClose
      Src: /src/vlc/modules/codec/faad.c:402,1
    - Dst: date_Init
      Src: /src/vlc/modules/codec/faad.c:408,1
    - Dst: Flush
      Src: /src/vlc/modules/codec/faad.c:412,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/faad.c:420,1
    - Dst: FlushBuffer
      Src: /src/vlc/modules/codec/faad.c:423,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/faad.c:429,1
    - Dst: FlushBuffer
      Src: /src/vlc/modules/codec/faad.c:430,1
    - Dst: date_Init
      Src: /src/vlc/modules/codec/faad.c:437,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/faad.c:438,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/faad.c:450,1
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/codec/faad.c:454,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/codec/faad.c:456,1
    - Dst: _
      Src: /src/vlc/modules/codec/faad.c:456,1
    - Dst: memcmp
      Src: /src/vlc/modules/codec/faad.c:471,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/faad.c:473,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/faad.c:474,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/faad.c:491,1
    - Dst: memcmp
      Src: /src/vlc/modules/codec/faad.c:494,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/faad.c:497,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/faad.c:498,1
    - Dst: likely
      Src: /src/vlc/modules/codec/faad.c:548,1
    - Dst: aout_CheckChannelReorder
      Src: /src/vlc/modules/codec/faad.c:568,1
    - Dst: stdc_count_ones
      Src: /src/vlc/modules/codec/faad.c:571,1
    - Dst: decoder_UpdateAudioFormat
      Src: /src/vlc/modules/codec/faad.c:573,1
    - Dst: decoder_NewAudioBuffer
      Src: /src/vlc/modules/codec/faad.c:574,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/faad.c:578,1
    - Dst: date_Increment
      Src: /src/vlc/modules/codec/faad.c:579,1
    - Dst: stdc_count_ones
      Src: /src/vlc/modules/codec/faad.c:586,1
    - Dst: memset
      Src: /src/vlc/modules/codec/faad.c:587,1
    - Dst: DoReordering
      Src: /src/vlc/modules/codec/faad.c:592,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/faad.c:596,1
    - Dst: decoder_QueueAudio
      Src: /src/vlc/modules/codec/faad.c:604,1
    - Dst: date_Increment
      Src: /src/vlc/modules/codec/faad.c:608,1
    - Dst: FlushBuffer
      Src: /src/vlc/modules/codec/faad.c:611,1
    - Dst: FlushBuffer
      Src: /src/vlc/modules/codec/faad.c:616,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 183
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 621
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/codec/faad.c
    functionUses: 15
    functionsReached:
    - llabs
    - block_ChainRelease
    - NeAACDecClose
    - memcpy
    - decoder_UpdateAudioFormat
    - NeAACDecInit
    - date_Increment
    - memcmp
    - NeAACDecOpen
    - ARRAY_SIZE
    - vlc_meta_New
    - NeAACDecInit2
    - _
    - NeAACDecDecode
    - NeAACDecGetErrorMessage
    - msg_Dbg
    - date_Get
    - msg_Warn
    - Flush
    - NeAACDecGetCurrentConfiguration
    - block_ChainGather
    - stdc_count_ones
    - date_Set
    - FlushBuffer
    - likely
    - vlc_meta_SetExtra
    - DoReordering
    - block_Release
    - decoder_QueueAudio
    - aout_CheckChannelReorder
    - decoder_NewAudioBuffer
    - memset
    - date_Init
    - NeAACDecSetConfiguration
    linkageType: ''
    returnType: int
    signature: int DecodeBlock( decoder_t *p_dec, block_t *p_block )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NeAACDecClose
      Src: /src/vlc/modules/codec/faad.c:631,1
    - Dst: FlushBuffer
      Src: /src/vlc/modules/codec/faad.c:632,1
    - Dst: free
      Src: /src/vlc/modules/codec/faad.c:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 634
    functionName: Close
    functionSourceFile: /src/vlc/modules/codec/faad.c
    functionUses: 184
    functionsReached:
    - free
    - NeAACDecClose
    - FlushBuffer
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_SAMPLE
      Src: /src/vlc/modules/codec/faad.c:653,1
    - Dst: CAST_SAMPLE
      Src: /src/vlc/modules/codec/faad.c:654,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - p_out
    - p_in
    - i_samples
    - i_nb_channels
    - pi_chan_positions
    argTypes:
    - uint32_t*
    - uint32_t*
    - int
    - int
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 657
    functionName: DoReordering
    functionSourceFile: /src/vlc/modules/codec/faad.c
    functionUses: 1
    functionsReached:
    - CAST_SAMPLE
    linkageType: ''
    returnType: void
    signature: "void DoReordering( uint32_t *p_out, uint32_t *p_in, int i_samples,\n
      \                         int i_nb_channels, uint8_t *pi_chan_positions )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 645
    functionName: CAST_SAMPLE
    functionSourceFile: /src/vlc/modules/codec/faad.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_SAMPLE(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 647
    functionName: CAST_SAMPLE
    functionSourceFile: /src/vlc/modules/codec/faad.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_SAMPLE(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i_seconds
    - i_gpstoepoch_leaptime_offset
    argTypes:
    - time_t
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: atsc_a65_GPSTimeToEpoch
    functionSourceFile: /src/vlc/modules/codec/atsc_a65.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t atsc_a65_GPSTimeToEpoch( time_t i_seconds, time_t i_gpstoepoch_leaptime_offset
      )
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/codec/lpcm.c:247,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/codec/lpcm.c:247,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/lpcm.c:248,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/lpcm.c:253,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/codec/lpcm.c:273,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 65
    argCount: 2
    argNames:
    - p_dec
    - b_packetizer
    argTypes:
    - decoder_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 303
    functionName: OpenCommon
    functionSourceFile: /src/vlc/modules/codec/lpcm.c
    functionUses: 31
    functionsReached:
    - vlc_obj_malloc
    - vlc_assert_unreachable
    - date_Set
    - VLC_OBJECT
    - unlikely
    linkageType: ''
    returnType: int
    signature: int OpenCommon( decoder_t *p_dec, bool b_packetizer )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenCommon
      Src: /src/vlc/modules/codec/lpcm.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/modules/codec/lpcm.c
    functionUses: 0
    functionsReached:
    - OpenCommon
    linkageType: ''
    returnType: int
    signature: int OpenDecoder( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenCommon
      Src: /src/vlc/modules/codec/lpcm.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 311
    functionName: OpenPacketizer
    functionSourceFile: /src/vlc/modules/codec/lpcm.c
    functionUses: 1
    functionsReached:
    - OpenCommon
    linkageType: ''
    returnType: int
    signature: int OpenPacketizer( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: date_Set
      Src: /src/vlc/modules/codec/lpcm.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 321
    functionName: Flush
    functionSourceFile: /src/vlc/modules/codec/lpcm.c
    functionUses: 92
    functionsReached:
    - date_Set
    linkageType: ''
    returnType: void
    signature: void Flush( decoder_t *p_dec )
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/vlc/modules/codec/lpcm.c:342,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/lpcm.c:345,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/lpcm.c:353,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/lpcm.c:355,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/lpcm.c:358,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/lpcm.c:361,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/lpcm.c:367,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/lpcm.c:368,1
    - Dst: VobHeader
      Src: /src/vlc/modules/codec/lpcm.c:380,1
    - Dst: AobHeader
      Src: /src/vlc/modules/codec/lpcm.c:384,1
    - Dst: BdHeader
      Src: /src/vlc/modules/codec/lpcm.c:389,1
    - Dst: WidiHeader
      Src: /src/vlc/modules/codec/lpcm.c:393,1
    - Dst: abort
      Src: /src/vlc/modules/codec/lpcm.c:397,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/lpcm.c:402,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/lpcm.c:403,1
    - Dst: date_Init
      Src: /src/vlc/modules/codec/lpcm.c:410,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/lpcm.c:411,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/lpcm.c:433,1
    - Dst: date_Increment
      Src: /src/vlc/modules/codec/lpcm.c:435,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/codec/lpcm.c:456,1
    - Dst: decoder_UpdateAudioFormat
      Src: /src/vlc/modules/codec/lpcm.c:460,1
    - Dst: decoder_NewAudioBuffer
      Src: /src/vlc/modules/codec/lpcm.c:461,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/lpcm.c:463,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/lpcm.c:467,1
    - Dst: date_Increment
      Src: /src/vlc/modules/codec/lpcm.c:469,1
    - Dst: VobExtract
      Src: /src/vlc/modules/codec/lpcm.c:479,1
    - Dst: AobExtract
      Src: /src/vlc/modules/codec/lpcm.c:482,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/codec/lpcm.c:485,1
    - Dst: BdExtract
      Src: /src/vlc/modules/codec/lpcm.c:487,1
    - Dst: aout_ChannelReorder
      Src: /src/vlc/modules/codec/lpcm.c:493,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/lpcm.c:498,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 99
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 501
    functionName: Packetize
    functionSourceFile: /src/vlc/modules/codec/lpcm.c
    functionUses: 9
    functionsReached:
    - WidiHeader
    - VobExtract
    - decoder_UpdateAudioFormat
    - date_Increment
    - abort
    - vlc_assert_unreachable
    - msg_Err
    - date_Get
    - msg_Warn
    - AobHeader
    - Flush
    - aout_FormatPrepare
    - aout_ChannelReorder
    - date_Set
    - VobHeader
    - block_Release
    - decoder_NewAudioBuffer
    - BdHeader
    - date_Init
    - BdExtract
    - AobExtract
    linkageType: ''
    returnType: block_t
    signature: block_t *Packetize( decoder_t *p_dec, block_t **pp_block )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Packetize
      Src: /src/vlc/modules/codec/lpcm.c:505,1
    - Dst: decoder_QueueAudio
      Src: /src/vlc/modules/codec/lpcm.c:507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 509
    functionName: DecodeFrame
    functionSourceFile: /src/vlc/modules/codec/lpcm.c
    functionUses: 1
    functionsReached:
    - Packetize
    - decoder_QueueAudio
    linkageType: ''
    returnType: int
    signature: int DecodeFrame( decoder_t *p_dec, block_t *p_block )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/lpcm.c:529,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/lpcm.c:535,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/lpcm.c:541,1
    - Dst: xmalloc
      Src: /src/vlc/modules/codec/lpcm.c:546,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 576
    functionName: OpenEncoder
    functionSourceFile: /src/vlc/modules/codec/lpcm.c
    functionUses: 0
    functionsReached:
    - xmalloc
    - malloc
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int OpenEncoder( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/codec/lpcm.c:585,1
    - Dst: free
      Src: /src/vlc/modules/codec/lpcm.c:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_enc
    argTypes:
    - encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 587
    functionName: CloseEncoder
    functionSourceFile: /src/vlc/modules/codec/lpcm.c
    functionUses: 3
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void CloseEncoder ( encoder_t *p_enc )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/codec/lpcm.c:622,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/lpcm.c:629,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/lpcm.c:630,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/codec/lpcm.c:633,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/lpcm.c:651,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/lpcm.c:652,1
    - Dst: swab
      Src: /src/vlc/modules/codec/lpcm.c:655,1
    - Dst: swab
      Src: /src/vlc/modules/codec/lpcm.c:656,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/codec/lpcm.c:666,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/codec/lpcm.c:668,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/lpcm.c:679,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 2
    argNames:
    - p_enc
    - p_aout_buf
    argTypes:
    - encoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 685
    functionName: EncodeFrames
    functionSourceFile: /src/vlc/modules/codec/lpcm.c
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    - block_ChainRelease
    - memcpy
    - block_Alloc
    - vlc_tick_from_samples
    - swab
    - unlikely
    linkageType: ''
    returnType: block_t
    signature: block_t *EncodeFrames( encoder_t *p_enc, block_t *p_aout_buf )
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 5
    argNames:
    - pi_rate
    - pi_channels
    - pi_original_channels
    - pi_bits
    - p_header
    argTypes:
    - unsigned*
    - unsigned*
    - unsigned*
    - unsigned*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 774
    functionName: VobHeader
    functionSourceFile: /src/vlc/modules/codec/lpcm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int VobHeader( unsigned *pi_rate,\n                      unsigned
      *pi_channels, unsigned *pi_original_channels,\n                      unsigned
      *pi_bits,\n                      const uint8_t *p_header )"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GetWBE
      Src: /src/vlc/modules/codec/lpcm.c:830,1
    - Dst: assert
      Src: /src/vlc/modules/codec/lpcm.c:898,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 51
    argCount: 7
    argNames:
    - pi_rate
    - pi_channels
    - pi_layout
    - pi_bits
    - pi_padding
    - g
    - p_header
    argTypes:
    - unsigned*
    - unsigned*
    - unsigned*
    - unsigned*
    - unsigned*
    - aob_group_t[]
    - uint8_t*
    assertStmts:
    - condition: ( (i_layout1 & i_layout2) == 0 )
      pos:
        line_end: 897
        line_start: 897
        source_file: /src/vlc/modules/codec/lpcm.c
    constantsTouched: []
    func_position:
      end: 929
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 929
    functionName: AobHeader
    functionSourceFile: /src/vlc/modules/codec/lpcm.c
    functionUses: 1
    functionsReached:
    - GetWBE
    - assert
    linkageType: ''
    returnType: int
    signature: "int AobHeader( unsigned *pi_rate,\n                      unsigned
      *pi_channels, unsigned *pi_layout,\n                      unsigned *pi_bits,\n
      \                     unsigned *pi_padding,\n                      aob_group_t
      g[2],\n                      const uint8_t *p_header )"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: GetDWBE
      Src: /src/vlc/modules/codec/lpcm.c:966,1
    - Dst: aout_CheckChannelReorder
      Src: /src/vlc/modules/codec/lpcm.c:1062,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 80
    argCount: 7
    argNames:
    - p_sys
    - pi_rate
    - pi_channels
    - pi_channels_padding
    - pi_original_channels
    - pi_bits
    - p_header
    argTypes:
    - decoder_sys_t*
    - unsigned*
    - unsigned*
    - unsigned*
    - unsigned*
    - unsigned*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 958
    functionDepth: 1
    functionLinenumber: 958
    functionLinenumberEnd: 1068
    functionName: BdHeader
    functionSourceFile: /src/vlc/modules/codec/lpcm.c
    functionUses: 1
    functionsReached:
    - GetDWBE
    - aout_CheckChannelReorder
    linkageType: ''
    returnType: int
    signature: "int BdHeader( decoder_sys_t *p_sys,\n                     unsigned
      *pi_rate,\n                     unsigned *pi_channels,\n                     unsigned
      *pi_channels_padding,\n                     unsigned *pi_original_channels,\n
      \                    unsigned *pi_bits,\n                     const uint8_t
      *p_header )"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 5
    argNames:
    - pi_rate
    - pi_channels
    - pi_original_channels
    - pi_bits
    - p_header
    argTypes:
    - unsigned*
    - unsigned*
    - unsigned*
    - unsigned*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1070
    functionDepth: 0
    functionLinenumber: 1070
    functionLinenumberEnd: 1100
    functionName: WidiHeader
    functionSourceFile: /src/vlc/modules/codec/lpcm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int WidiHeader( unsigned *pi_rate,\n                       unsigned
      *pi_channels, unsigned *pi_original_channels,\n                       unsigned
      *pi_bits,\n                       const uint8_t *p_header )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/lpcm.c:1162,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/lpcm.c:1164,1
    - Dst: swab
      Src: /src/vlc/modules/codec/lpcm.c:1166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - p_aout_buffer
    - p_block
    - i_bits
    argTypes:
    - block_t*
    - block_t*
    - unsigned
    assertStmts:
    - condition: ( i_bits == 16 )
      pos:
        line_end: 1161
        line_start: 1161
        source_file: /src/vlc/modules/codec/lpcm.c
    constantsTouched: []
    func_position:
      end: 1169
      start: 1102
    functionDepth: 1
    functionLinenumber: 1102
    functionLinenumberEnd: 1169
    functionName: VobExtract
    functionSourceFile: /src/vlc/modules/codec/lpcm.c
    functionUses: 1
    functionsReached:
    - swab
    - assert
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void VobExtract( block_t *p_aout_buffer, block_t *p_block,\n                        unsigned
      i_bits )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/lpcm.c:1206,1
    - Dst: vlc_bswap32
      Src: /src/vlc/modules/codec/lpcm.c:1211,1
    - Dst: assert
      Src: /src/vlc/modules/codec/lpcm.c:1217,1
    - Dst: vlc_bswap32
      Src: /src/vlc/modules/codec/lpcm.c:1222,1
    - Dst: assert
      Src: /src/vlc/modules/codec/lpcm.c:1228,1
    - Dst: assert
      Src: /src/vlc/modules/codec/lpcm.c:1229,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/lpcm.c:1233,1
    - Dst: vlc_bswap32
      Src: /src/vlc/modules/codec/lpcm.c:1245,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 4
    argNames:
    - p_aout_buffer
    - p_block
    - i_aoutbits
    - p_group
    argTypes:
    - block_t*
    - block_t*
    - unsigned
    - aob_group_t[]
    assertStmts:
    - condition: ( i_aoutbits == 32 )
      pos:
        line_end: 1205
        line_start: 1205
        source_file: /src/vlc/modules/codec/lpcm.c
    - condition: ( i_aoutbits == 32 )
      pos:
        line_end: 1216
        line_start: 1216
        source_file: /src/vlc/modules/codec/lpcm.c
    - condition: ( g->i_bits == 16 )
      pos:
        line_end: 1227
        line_start: 1227
        source_file: /src/vlc/modules/codec/lpcm.c
    - condition: ( i_aoutbits == 16 || i_aoutbits == 32 )
      pos:
        line_end: 1228
        line_start: 1228
        source_file: /src/vlc/modules/codec/lpcm.c
    constantsTouched: []
    func_position:
      end: 1259
      start: 1171
    functionDepth: 1
    functionLinenumber: 1171
    functionLinenumberEnd: 1259
    functionName: AobExtract
    functionSourceFile: /src/vlc/modules/codec/lpcm.c
    functionUses: 1
    functionsReached:
    - vlc_bswap32
    - assert
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void AobExtract( block_t *p_aout_buffer,\n                        block_t
      *p_block, unsigned i_aoutbits, aob_group_t p_group[2] )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/codec/lpcm.c:1274,1
    - Dst: swab
      Src: /src/vlc/modules/codec/lpcm.c:1277,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/lpcm.c:1295,1
    - Dst: swab
      Src: /src/vlc/modules/codec/lpcm.c:1297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 6
    argNames:
    - p_aout_buffer
    - p_block
    - i_frame_length
    - i_channels
    - i_channels_padding
    - i_bits
    argTypes:
    - block_t*
    - block_t*
    - unsigned
    - unsigned
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1300
    functionName: BdExtract
    functionSourceFile: /src/vlc/modules/codec/lpcm.c
    functionUses: 1
    functionsReached:
    - swab
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void BdExtract( block_t *p_aout_buffer, block_t *p_block,\n                       unsigned
      i_frame_length,\n                       unsigned i_channels, unsigned i_channels_padding,\n
      \                      unsigned i_bits )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/svg.c:95,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/codec/svg.c:100,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/codec/svg.c:101,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/codec/svg.c:102,1
    - Dst: g_type_init
      Src: /src/vlc/modules/codec/svg.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 120
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/modules/codec/svg.c
    functionUses: 0
    functionsReached:
    - var_InheritInteger
    - g_type_init
    - var_InheritFloat
    - malloc
    linkageType: ''
    returnType: int
    signature: int OpenDecoder( vlc_object_t *p_this )
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/codec/svg.c:142,1
    - Dst: rsvg_handle_new_from_data
      Src: /src/vlc/modules/codec/svg.c:146,1
    - Dst: rsvg_handle_get_intrinsic_dimensions
      Src: /src/vlc/modules/codec/svg.c:156,1
    - Dst: rsvg_handle_get_dimensions
      Src: /src/vlc/modules/codec/svg.c:174,1
    - Dst: decoder_UpdateVideoFormat
      Src: /src/vlc/modules/codec/svg.c:220,1
    - Dst: decoder_NewPicture
      Src: /src/vlc/modules/codec/svg.c:222,1
    - Dst: memset
      Src: /src/vlc/modules/codec/svg.c:232,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/vlc/modules/codec/svg.c:233,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/svg.c:239,1
    - Dst: cairo_create
      Src: /src/vlc/modules/codec/svg.c:245,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/svg.c:248,1
    - Dst: cairo_scale
      Src: /src/vlc/modules/codec/svg.c:265,1
    - Dst: rsvg_handle_render_cairo
      Src: /src/vlc/modules/codec/svg.c:268,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/svg.c:270,1
    - Dst: g_object_unref
      Src: /src/vlc/modules/codec/svg.c:279,1
    - Dst: G_OBJECT
      Src: /src/vlc/modules/codec/svg.c:279,1
    - Dst: cairo_destroy
      Src: /src/vlc/modules/codec/svg.c:281,1
    - Dst: cairo_surface_destroy
      Src: /src/vlc/modules/codec/svg.c:283,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/svg.c:285,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/modules/codec/svg.c:287,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 102
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 289
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/codec/svg.c
    functionUses: 15
    functionsReached:
    - block_Release
    - cairo_create
    - decoder_UpdateVideoFormat
    - cairo_destroy
    - memset
    - rsvg_handle_render_cairo
    - G_OBJECT
    - cairo_scale
    - rsvg_handle_get_intrinsic_dimensions
    - g_object_unref
    - picture_Release
    - rsvg_handle_get_dimensions
    - cairo_image_surface_create_for_data
    - decoder_QueueVideo
    - cairo_surface_destroy
    - rsvg_handle_new_from_data
    - decoder_NewPicture
    linkageType: ''
    returnType: int
    signature: int DecodeBlock( decoder_t *p_dec, block_t *p_block )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/svg.c:296,1
    - Dst: rsvg_term
      Src: /src/vlc/modules/codec/svg.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 300
    functionName: CloseDecoder
    functionSourceFile: /src/vlc/modules/codec/svg.c
    functionUses: 2
    functionsReached:
    - rsvg_term
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void CloseDecoder( vlc_object_t *p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/theora.c:156,1
    - Dst: th_comment_init
      Src: /src/vlc/modules/codec/theora.c:177,1
    - Dst: th_info_init
      Src: /src/vlc/modules/codec/theora.c:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - p_this
    - b_packetizer
    argTypes:
    - vlc_object_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 181
    functionName: OpenCommon
    functionSourceFile: /src/vlc/modules/codec/theora.c
    functionUses: 33
    functionsReached:
    - th_info_init
    - th_comment_init
    - malloc
    linkageType: ''
    returnType: int
    signature: int OpenCommon( vlc_object_t *p_this, bool b_packetizer )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenCommon
      Src: /src/vlc/modules/codec/theora.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/modules/codec/theora.c
    functionUses: 0
    functionsReached:
    - OpenCommon
    linkageType: ''
    returnType: int
    signature: int OpenDecoder( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenCommon
      Src: /src/vlc/modules/codec/theora.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: OpenPacketizer
    functionSourceFile: /src/vlc/modules/codec/theora.c
    functionUses: 1
    functionsReached:
    - OpenCommon
    linkageType: ''
    returnType: int
    signature: int OpenPacketizer( vlc_object_t *p_this )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ProcessHeaders
      Src: /src/vlc/modules/codec/theora.c:217,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/theora.c:219,1
    - Dst: ProcessPacket
      Src: /src/vlc/modules/codec/theora.c:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 226
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/codec/theora.c
    functionUses: 15
    functionsReached:
    - ProcessPacket
    - block_Release
    - ProcessHeaders
    linkageType: ''
    returnType: void
    signature: void *DecodeBlock( decoder_t *p_dec, block_t *p_block )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DecodeBlock
      Src: /src/vlc/modules/codec/theora.c:233,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/modules/codec/theora.c:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 237
    functionName: DecodeVideo
    functionSourceFile: /src/vlc/modules/codec/theora.c
    functionUses: 4
    functionsReached:
    - DecodeBlock
    - decoder_QueueVideo
    linkageType: ''
    returnType: int
    signature: int DecodeVideo( decoder_t *p_dec, block_t *p_block )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DecodeBlock
      Src: /src/vlc/modules/codec/theora.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 247
    functionName: Packetize
    functionSourceFile: /src/vlc/modules/codec/theora.c
    functionUses: 10
    functionsReached:
    - DecodeBlock
    linkageType: ''
    returnType: block_t
    signature: block_t *Packetize( decoder_t *p_dec, block_t **pp_block )
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: xiph_SplitHeaders
      Src: /src/vlc/modules/codec/theora.c:262,1
    - Dst: th_decode_headerin
      Src: /src/vlc/modules/codec/theora.c:276,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/theora.c:278,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/theora.c:298,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/theora.c:330,1
    - Dst: assert
      Src: /src/vlc/modules/codec/theora.c:338,1
    - Dst: assert
      Src: /src/vlc/modules/codec/theora.c:339,1
    - Dst: assert
      Src: /src/vlc/modules/codec/theora.c:340,1
    - Dst: assert
      Src: /src/vlc/modules/codec/theora.c:341,1
    - Dst: __MIN
      Src: /src/vlc/modules/codec/theora.c:341,1
    - Dst: assert
      Src: /src/vlc/modules/codec/theora.c:342,1
    - Dst: assert
      Src: /src/vlc/modules/codec/theora.c:343,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/theora.c:349,1
    - Dst: th_decode_headerin
      Src: /src/vlc/modules/codec/theora.c:365,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/theora.c:367,1
    - Dst: ParseTheoraComments
      Src: /src/vlc/modules/codec/theora.c:371,1
    - Dst: th_decode_headerin
      Src: /src/vlc/modules/codec/theora.c:379,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/theora.c:381,1
    - Dst: th_decode_alloc
      Src: /src/vlc/modules/codec/theora.c:388,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/theora.c:390,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/codec/theora.c:394,1
    - Dst: th_decode_ctl
      Src: /src/vlc/modules/codec/theora.c:395,1
    - Dst: __MIN
      Src: /src/vlc/modules/codec/theora.c:398,1
    - Dst: th_decode_ctl
      Src: /src/vlc/modules/codec/theora.c:399,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/theora.c:401,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/theora.c:404,1
    - Dst: realloc
      Src: /src/vlc/modules/codec/theora.c:411,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/theora.c:413,1
    - Dst: th_setup_free
      Src: /src/vlc/modules/codec/theora.c:416,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/theora.c:421,1
    - Dst: th_setup_free
      Src: /src/vlc/modules/codec/theora.c:426,1
    - Dst: th_setup_free
      Src: /src/vlc/modules/codec/theora.c:431,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 110
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts:
    - condition: ( p_sys->ti.keyframe_granule_shift >= 0 && p_sys->ti.keyframe_granule_shift
        <= 31 )
      pos:
        line_end: 339
        line_start: 339
        source_file: /src/vlc/modules/codec/theora.c
    - condition: ( p_sys->ti.frame_height % 16 == 0 && p_sys->ti.frame_height < 1048576
        )
      pos:
        line_end: 337
        line_start: 337
        source_file: /src/vlc/modules/codec/theora.c
    - condition: ( p_sys->ti.frame_width % 16 == 0 && p_sys->ti.frame_width < 1048576
        )
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/vlc/modules/codec/theora.c
    - condition: ( p_sys->ti.pic_y <= p_sys->ti.frame_height - p_sys->ti.pic_height)
      pos:
        line_end: 341
        line_start: 341
        source_file: /src/vlc/modules/codec/theora.c
    - condition: ( p_sys->ti.pic_x <= __MIN( p_sys->ti.frame_width - p_sys->ti.pic_width,
        255 ) )
      pos:
        line_end: 340
        line_start: 340
        source_file: /src/vlc/modules/codec/theora.c
    - condition: ( p_sys->ti.frame_height - p_sys->ti.pic_height - p_sys->ti.pic_y
        <= 255 )
      pos:
        line_end: 342
        line_start: 342
        source_file: /src/vlc/modules/codec/theora.c
    constantsTouched: []
    func_position:
      end: 433
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 433
    functionName: ProcessHeaders
    functionSourceFile: /src/vlc/modules/codec/theora.c
    functionUses: 5
    functionsReached:
    - th_decode_ctl
    - assert
    - xiph_SplitHeaders
    - th_setup_free
    - th_decode_alloc
    - var_InheritInteger
    - ParseTheoraComments
    - realloc
    - memcpy
    - msg_Err
    - th_decode_headerin
    - msg_Dbg
    - __MIN
    - msg_Warn
    - unlikely
    linkageType: ''
    returnType: int
    signature: int ProcessHeaders( decoder_t *p_dec )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 443
    functionName: Flush
    functionSourceFile: /src/vlc/modules/codec/theora.c
    functionUses: 93
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Flush( decoder_t *p_dec )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/vlc/modules/codec/theora.c:456,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/theora.c:462,1
    - Dst: DecodePacket
      Src: /src/vlc/modules/codec/theora.c:484,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/theora.c:485,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/codec/theora.c:489,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - p_dec
    - p_oggpacket
    - p_block
    argTypes:
    - decoder_t*
    - ogg_packet*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 493
    functionName: ProcessPacket
    functionSourceFile: /src/vlc/modules/codec/theora.c
    functionUses: 6
    functionsReached:
    - vlc_tick_from_samples
    - Flush
    - DecodePacket
    - block_Release
    linkageType: ''
    returnType: void
    signature: "void *ProcessPacket( decoder_t *p_dec, ogg_packet *p_oggpacket,\n
      \                           block_t *p_block )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: th_decode_packetin
      Src: /src/vlc/modules/codec/theora.c:508,1
    - Dst: th_decode_ycbcr_out
      Src: /src/vlc/modules/codec/theora.c:524,1
    - Dst: decoder_UpdateVideoFormat
      Src: /src/vlc/modules/codec/theora.c:528,1
    - Dst: decoder_NewPicture
      Src: /src/vlc/modules/codec/theora.c:530,1
    - Dst: theora_CopyPicture
      Src: /src/vlc/modules/codec/theora.c:533,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - p_dec
    - p_oggpacket
    argTypes:
    - decoder_t*
    - ogg_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 539
    functionName: DecodePacket
    functionSourceFile: /src/vlc/modules/codec/theora.c
    functionUses: 9
    functionsReached:
    - decoder_UpdateVideoFormat
    - th_decode_packetin
    - th_decode_ycbcr_out
    - theora_CopyPicture
    - decoder_NewPicture
    linkageType: ''
    returnType: picture_t
    signature: picture_t *DecodePacket( decoder_t *p_dec, ogg_packet *p_oggpacket
      )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/theora.c:570,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/theora.c:573,1
    - Dst: strchr
      Src: /src/vlc/modules/codec/theora.c:575,1
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/codec/theora.c:582,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/codec/theora.c:586,1
    - Dst: free
      Src: /src/vlc/modules/codec/theora.c:588,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 591
    functionName: ParseTheoraComments
    functionSourceFile: /src/vlc/modules/codec/theora.c
    functionUses: 1
    functionsReached:
    - strchr
    - vlc_meta_New
    - memcpy
    - free
    - malloc
    - vlc_meta_SetExtra
    linkageType: ''
    returnType: void
    signature: void ParseTheoraComments( decoder_t *p_dec )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: th_info_clear
      Src: /src/vlc/modules/codec/theora.c:601,1
    - Dst: th_comment_clear
      Src: /src/vlc/modules/codec/theora.c:602,1
    - Dst: th_decode_free
      Src: /src/vlc/modules/codec/theora.c:603,1
    - Dst: free
      Src: /src/vlc/modules/codec/theora.c:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 605
    functionName: CloseDecoder
    functionSourceFile: /src/vlc/modules/codec/theora.c
    functionUses: 2
    functionsReached:
    - free
    - th_comment_clear
    - th_decode_free
    - th_info_clear
    linkageType: ''
    returnType: void
    signature: void CloseDecoder( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __MIN
      Src: /src/vlc/modules/codec/theora.c:636,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/codec/theora.c:645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - p_pic
    - ycbcr
    argTypes:
    - picture_t*
    - th_ycbcr_buffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 647
    functionName: theora_CopyPicture
    functionSourceFile: /src/vlc/modules/codec/theora.c
    functionUses: 1
    functionsReached:
    - __MIN
    - plane_CopyPixels
    linkageType: ''
    returnType: void
    signature: "void theora_CopyPicture( picture_t *p_pic,\n                                th_ycbcr_buffer
      ycbcr )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/theora.c:689,1
    - Dst: config_ChainParse
      Src: /src/vlc/modules/codec/theora.c:695,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/theora.c:697,1
    - Dst: th_info_init
      Src: /src/vlc/modules/codec/theora.c:701,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/theora.c:713,1
    - Dst: vlc_ureduce
      Src: /src/vlc/modules/codec/theora.c:738,1
    - Dst: th_encode_alloc
      Src: /src/vlc/modules/codec/theora.c:754,1
    - Dst: th_comment_init
      Src: /src/vlc/modules/codec/theora.c:755,1
    - Dst: th_encode_ctl
      Src: /src/vlc/modules/codec/theora.c:772,1
    - Dst: th_encode_ctl
      Src: /src/vlc/modules/codec/theora.c:775,1
    - Dst: th_encode_ctl
      Src: /src/vlc/modules/codec/theora.c:777,1
    - Dst: th_encode_ctl
      Src: /src/vlc/modules/codec/theora.c:780,1
    - Dst: th_encode_flushheader
      Src: /src/vlc/modules/codec/theora.c:784,1
    - Dst: xiph_AppendHeaders
      Src: /src/vlc/modules/codec/theora.c:787,1
    - Dst: free
      Src: /src/vlc/modules/codec/theora.c:790,1
    - Dst: th_info_clear
      Src: /src/vlc/modules/codec/theora.c:806,1
    - Dst: th_comment_clear
      Src: /src/vlc/modules/codec/theora.c:807,1
    - Dst: th_encode_free
      Src: /src/vlc/modules/codec/theora.c:808,1
    - Dst: free
      Src: /src/vlc/modules/codec/theora.c:809,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 70
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 671
    functionDepth: 3
    functionLinenumber: 671
    functionLinenumberEnd: 811
    functionName: OpenEncoder
    functionSourceFile: /src/vlc/modules/codec/theora.c
    functionUses: 0
    functionsReached:
    - th_encode_free
    - th_info_init
    - th_comment_init
    - th_encode_ctl
    - th_encode_alloc
    - config_ChainParse
    - xiph_AppendHeaders
    - free
    - th_comment_clear
    - msg_Dbg
    - vlc_ureduce
    - th_encode_flushheader
    - th_info_clear
    - var_GetInteger
    - malloc
    linkageType: ''
    returnType: int
    signature: int OpenEncoder( vlc_object_t *p_this )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/theora.c:831,1
    - Dst: memset
      Src: /src/vlc/modules/codec/theora.c:843,1
    - Dst: memset
      Src: /src/vlc/modules/codec/theora.c:851,1
    - Dst: memset
      Src: /src/vlc/modules/codec/theora.c:856,1
    - Dst: memset
      Src: /src/vlc/modules/codec/theora.c:868,1
    - Dst: memset
      Src: /src/vlc/modules/codec/theora.c:873,1
    - Dst: memset
      Src: /src/vlc/modules/codec/theora.c:875,1
    - Dst: th_encode_ycbcr_in
      Src: /src/vlc/modules/codec/theora.c:898,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/theora.c:900,1
    - Dst: th_encode_packetout
      Src: /src/vlc/modules/codec/theora.c:904,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/theora.c:907,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/theora.c:908,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/theora.c:911,1
    - Dst: th_packet_iskeyframe
      Src: /src/vlc/modules/codec/theora.c:914,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 2
    argNames:
    - p_enc
    - p_pict
    argTypes:
    - encoder_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 920
    functionName: Encode
    functionSourceFile: /src/vlc/modules/codec/theora.c
    functionUses: 2
    functionsReached:
    - memset
    - th_encode_ycbcr_in
    - unlikely
    - memcpy
    - th_packet_iskeyframe
    - block_Alloc
    - msg_Warn
    - th_encode_packetout
    linkageType: ''
    returnType: block_t
    signature: block_t *Encode( encoder_t *p_enc, picture_t *p_pict )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: th_info_clear
      Src: /src/vlc/modules/codec/theora.c:929,1
    - Dst: th_comment_clear
      Src: /src/vlc/modules/codec/theora.c:930,1
    - Dst: th_encode_free
      Src: /src/vlc/modules/codec/theora.c:931,1
    - Dst: free
      Src: /src/vlc/modules/codec/theora.c:932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_enc
    argTypes:
    - encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 933
    functionName: CloseEncoder
    functionSourceFile: /src/vlc/modules/codec/theora.c
    functionUses: 3
    functionsReached:
    - th_encode_free
    - th_comment_clear
    - free
    - th_info_clear
    linkageType: ''
    returnType: void
    signature: void CloseEncoder( encoder_t *p_enc )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: OpenVideoEncoder
    functionSourceFile: /src/vlc/modules/codec/edummy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OpenVideoEncoder( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: OpenAudioEncoder
    functionSourceFile: /src/vlc/modules/codec/edummy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OpenAudioEncoder( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/edummy.c:91,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/edummy.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_enc
    - p_pict
    argTypes:
    - encoder_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: EncodeVideo
    functionSourceFile: /src/vlc/modules/codec/edummy.c
    functionUses: 2
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: block_t
    signature: block_t *EncodeVideo( encoder_t *p_enc, picture_t *p_pict )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/edummy.c:100,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/edummy.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_enc
    - p_buf
    argTypes:
    - encoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: EncodeAudio
    functionSourceFile: /src/vlc/modules/codec/edummy.c
    functionUses: 1
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: block_t
    signature: block_t *EncodeAudio( encoder_t *p_enc, block_t *p_buf )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/fluidsynth.c:108,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/fluidsynth.c:109,1
    - Dst: new_fluid_settings
      Src: /src/vlc/modules/codec/fluidsynth.c:112,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/codec/fluidsynth.c:115,1
    - Dst: fluid_settings_setnum
      Src: /src/vlc/modules/codec/fluidsynth.c:116,1
    - Dst: new_fluid_synth
      Src: /src/vlc/modules/codec/fluidsynth.c:118,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/codec/fluidsynth.c:121,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/fluidsynth.c:124,1
    - Dst: fluid_synth_sfload
      Src: /src/vlc/modules/codec/fluidsynth.c:125,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/fluidsynth.c:127,1
    - Dst: free
      Src: /src/vlc/modules/codec/fluidsynth.c:128,1
    - Dst: config_GetUserDir
      Src: /src/vlc/modules/codec/fluidsynth.c:136,1
    - Dst: likely
      Src: /src/vlc/modules/codec/fluidsynth.c:137,1
    - Dst: asprintf
      Src: /src/vlc/modules/codec/fluidsynth.c:142,1
    - Dst: glob
      Src: /src/vlc/modules/codec/fluidsynth.c:144,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/fluidsynth.c:146,1
    - Dst: glob
      Src: /src/vlc/modules/codec/fluidsynth.c:147,1
    - Dst: free
      Src: /src/vlc/modules/codec/fluidsynth.c:148,1
    - Dst: free
      Src: /src/vlc/modules/codec/fluidsynth.c:150,1
    - Dst: glob
      Src: /src/vlc/modules/codec/fluidsynth.c:153,1
    - Dst: glob
      Src: /src/vlc/modules/codec/fluidsynth.c:155,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/fluidsynth.c:157,1
    - Dst: glob
      Src: /src/vlc/modules/codec/fluidsynth.c:159,1
    - Dst: glob
      Src: /src/vlc/modules/codec/fluidsynth.c:160,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/fluidsynth.c:167,1
    - Dst: fluid_synth_sfload
      Src: /src/vlc/modules/codec/fluidsynth.c:168,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/fluidsynth.c:171,1
    - Dst: globfree
      Src: /src/vlc/modules/codec/fluidsynth.c:173,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/fluidsynth.c:179,1
    - Dst: vlc_dialog_display_error
      Src: /src/vlc/modules/codec/fluidsynth.c:180,1
    - Dst: _
      Src: /src/vlc/modules/codec/fluidsynth.c:180,1
    - Dst: _
      Src: /src/vlc/modules/codec/fluidsynth.c:181,1
    - Dst: delete_fluid_synth
      Src: /src/vlc/modules/codec/fluidsynth.c:185,1
    - Dst: delete_fluid_settings
      Src: /src/vlc/modules/codec/fluidsynth.c:186,1
    - Dst: free
      Src: /src/vlc/modules/codec/fluidsynth.c:187,1
    - Dst: fluid_synth_set_chorus_on
      Src: /src/vlc/modules/codec/fluidsynth.c:191,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/codec/fluidsynth.c:192,1
    - Dst: fluid_synth_set_gain
      Src: /src/vlc/modules/codec/fluidsynth.c:193,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/codec/fluidsynth.c:194,1
    - Dst: fluid_synth_set_polyphony
      Src: /src/vlc/modules/codec/fluidsynth.c:195,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/codec/fluidsynth.c:196,1
    - Dst: fluid_synth_set_reverb_on
      Src: /src/vlc/modules/codec/fluidsynth.c:197,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/codec/fluidsynth.c:198,1
    - Dst: date_Init
      Src: /src/vlc/modules/codec/fluidsynth.c:205,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 64
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 211
    functionName: Open
    functionSourceFile: /src/vlc/modules/codec/fluidsynth.c
    functionUses: 75
    functionsReached:
    - memcpy
    - fluid_synth_set_reverb_on
    - delete_fluid_synth
    - asprintf
    - fluid_synth_set_gain
    - vlc_dialog_display_error
    - _
    - msg_Err
    - fluid_settings_setnum
    - msg_Dbg
    - fluid_synth_set_polyphony
    - delete_fluid_settings
    - var_InheritInteger
    - new_fluid_synth
    - new_fluid_settings
    - var_InheritBool
    - strcmp
    - likely
    - glob
    - var_InheritFloat
    - fluid_synth_sfload
    - var_InheritString
    - config_GetUserDir
    - date_Init
    - free
    - fluid_synth_set_chorus_on
    - globfree
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Open (vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fluid_synth_sfunload
      Src: /src/vlc/modules/codec/fluidsynth.c:218,1
    - Dst: delete_fluid_synth
      Src: /src/vlc/modules/codec/fluidsynth.c:219,1
    - Dst: delete_fluid_settings
      Src: /src/vlc/modules/codec/fluidsynth.c:220,1
    - Dst: free
      Src: /src/vlc/modules/codec/fluidsynth.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 222
    functionName: Close
    functionSourceFile: /src/vlc/modules/codec/fluidsynth.c
    functionUses: 184
    functionsReached:
    - free
    - delete_fluid_settings
    - delete_fluid_synth
    - fluid_synth_sfunload
    linkageType: ''
    returnType: void
    signature: void Close (vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: date_Set
      Src: /src/vlc/modules/codec/fluidsynth.c:228,1
    - Dst: fluid_synth_program_reset
      Src: /src/vlc/modules/codec/fluidsynth.c:230,1
    - Dst: fluid_synth_noteoff
      Src: /src/vlc/modules/codec/fluidsynth.c:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 234
    functionName: Flush
    functionSourceFile: /src/vlc/modules/codec/fluidsynth.c
    functionUses: 94
    functionsReached:
    - date_Set
    - fluid_synth_program_reset
    - fluid_synth_noteoff
    linkageType: ''
    returnType: void
    signature: void Flush (decoder_t *p_dec)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/vlc/modules/codec/fluidsynth.c:246,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/fluidsynth.c:249,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/fluidsynth.c:255,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/fluidsynth.c:256,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/fluidsynth.c:258,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/fluidsynth.c:260,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/fluidsynth.c:278,1
    - Dst: fluid_synth_sysex
      Src: /src/vlc/modules/codec/fluidsynth.c:281,1
    - Dst: fluid_synth_system_reset
      Src: /src/vlc/modules/codec/fluidsynth.c:285,1
    - Dst: fluid_synth_noteoff
      Src: /src/vlc/modules/codec/fluidsynth.c:295,1
    - Dst: fluid_synth_noteon
      Src: /src/vlc/modules/codec/fluidsynth.c:298,1
    - Dst: fluid_synth_key_pressure
      Src: /src/vlc/modules/codec/fluidsynth.c:302,1
    - Dst: fluid_synth_cc
      Src: /src/vlc/modules/codec/fluidsynth.c:306,1
    - Dst: fluid_synth_program_change
      Src: /src/vlc/modules/codec/fluidsynth.c:309,1
    - Dst: fluid_synth_channel_pressure
      Src: /src/vlc/modules/codec/fluidsynth.c:312,1
    - Dst: fluid_synth_pitch_bend
      Src: /src/vlc/modules/codec/fluidsynth.c:315,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/fluidsynth.c:320,1
    - Dst: decoder_UpdateAudioFormat
      Src: /src/vlc/modules/codec/fluidsynth.c:324,1
    - Dst: decoder_NewAudioBuffer
      Src: /src/vlc/modules/codec/fluidsynth.c:326,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/fluidsynth.c:330,1
    - Dst: date_Increment
      Src: /src/vlc/modules/codec/fluidsynth.c:331,1
    - Dst: fluid_synth_write_float
      Src: /src/vlc/modules/codec/fluidsynth.c:333,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/fluidsynth.c:336,1
    - Dst: decoder_QueueAudio
      Src: /src/vlc/modules/codec/fluidsynth.c:338,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 78
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 340
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/codec/fluidsynth.c
    functionUses: 17
    functionsReached:
    - fluid_synth_pitch_bend
    - fluid_synth_program_change
    - decoder_UpdateAudioFormat
    - date_Increment
    - fluid_synth_sysex
    - date_Get
    - msg_Warn
    - fluid_synth_system_reset
    - Flush
    - fluid_synth_noteoff
    - fluid_synth_noteon
    - fluid_synth_write_float
    - date_Set
    - fluid_synth_cc
    - fluid_synth_channel_pressure
    - decoder_QueueAudio
    - block_Release
    - fluid_synth_key_pressure
    - decoder_NewAudioBuffer
    linkageType: ''
    returnType: int
    signature: int DecodeBlock (decoder_t *p_dec, block_t *p_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: GETINT16
    functionSourceFile: /src/vlc/modules/codec/svcdsub.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETINT16(p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/codec/svcdsub.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - p_this
    - b_packetizer
    argTypes:
    - vlc_object_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 130
    functionName: OpenCommon
    functionSourceFile: /src/vlc/modules/codec/svcdsub.c
    functionUses: 35
    functionsReached:
    - calloc
    linkageType: ''
    returnType: int
    signature: int OpenCommon( vlc_object_t *p_this, bool b_packetizer )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenCommon
      Src: /src/vlc/modules/codec/svcdsub.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: DecoderOpen
    functionSourceFile: /src/vlc/modules/codec/svcdsub.c
    functionUses: 0
    functionsReached:
    - OpenCommon
    linkageType: ''
    returnType: int
    signature: int DecoderOpen( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenCommon
      Src: /src/vlc/modules/codec/svcdsub.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: PacketizerOpen
    functionSourceFile: /src/vlc/modules/codec/svcdsub.c
    functionUses: 0
    functionsReached:
    - OpenCommon
    linkageType: ''
    returnType: int
    signature: int PacketizerOpen( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/codec/svcdsub.c:156,1
    - Dst: free
      Src: /src/vlc/modules/codec/svcdsub.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 158
    functionName: DecoderClose
    functionSourceFile: /src/vlc/modules/codec/svcdsub.c
    functionUses: 0
    functionsReached:
    - block_ChainRelease
    - free
    linkageType: ''
    returnType: void
    signature: void DecoderClose( vlc_object_t *p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/svcdsub.c:166,1
    - Dst: Reassemble
      Src: /src/vlc/modules/codec/svcdsub.c:172,1
    - Dst: DecodePacket
      Src: /src/vlc/modules/codec/svcdsub.c:176,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/svcdsub.c:177,1
    - Dst: decoder_QueueSub
      Src: /src/vlc/modules/codec/svcdsub.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 181
    functionName: Decode
    functionSourceFile: /src/vlc/modules/codec/svcdsub.c
    functionUses: 17
    functionsReached:
    - block_Release
    - decoder_QueueSub
    - DecodePacket
    - msg_Dbg
    - Reassemble
    linkageType: ''
    returnType: int
    signature: int Decode( decoder_t *p_dec, block_t *p_block )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Reassemble
      Src: /src/vlc/modules/codec/svcdsub.c:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 201
    functionName: Packetize
    functionSourceFile: /src/vlc/modules/codec/svcdsub.c
    functionUses: 10
    functionsReached:
    - Reassemble
    linkageType: ''
    returnType: block_t
    signature: block_t *Packetize( decoder_t *p_dec, block_t **pp_block )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/codec/svcdsub.c:237,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/svcdsub.c:243,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/svcdsub.c:245,1
    - Dst: GETINT16
      Src: /src/vlc/modules/codec/svcdsub.c:277,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/svcdsub.c:281,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/svcdsub.c:287,1
    - Dst: ParseHeader
      Src: /src/vlc/modules/codec/svcdsub.c:296,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/codec/svcdsub.c:298,1
    - Dst: block_ChainGather
      Src: /src/vlc/modules/codec/svcdsub.c:302,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/svcdsub.c:304,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/codec/svcdsub.c:306,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/svcdsub.c:310,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/svcdsub.c:316,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/svcdsub.c:320,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 56
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 328
    functionName: Reassemble
    functionSourceFile: /src/vlc/modules/codec/svcdsub.c
    functionUses: 4
    functionsReached:
    - block_Release
    - ParseHeader
    - block_ChainAppend
    - GETINT16
    - block_ChainRelease
    - msg_Dbg
    - msg_Warn
    - unlikely
    - block_ChainGather
    linkageType: ''
    returnType: block_t
    signature: block_t *Reassemble( decoder_t *p_dec, block_t *p_block )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GETINT16
      Src: /src/vlc/modules/codec/svcdsub.c:370,1
    - Dst: FROM_SCALE_NZ
      Src: /src/vlc/modules/codec/svcdsub.c:379,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/codec/svcdsub.c:379,1
    - Dst: GETINT16
      Src: /src/vlc/modules/codec/svcdsub.c:387,1
    - Dst: GETINT16
      Src: /src/vlc/modules/codec/svcdsub.c:388,1
    - Dst: GETINT16
      Src: /src/vlc/modules/codec/svcdsub.c:389,1
    - Dst: GETINT16
      Src: /src/vlc/modules/codec/svcdsub.c:390,1
    - Dst: GETINT16
      Src: /src/vlc/modules/codec/svcdsub.c:414,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/svcdsub.c:419,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/svcdsub.c:428,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 433
    functionName: ParseHeader
    functionSourceFile: /src/vlc/modules/codec/svcdsub.c
    functionUses: 2
    functionsReached:
    - GetDWBE
    - FROM_SCALE_NZ
    - msg_Dbg
    - GETINT16
    linkageType: ''
    returnType: void
    signature: void ParseHeader( decoder_t *p_dec, block_t *p_block )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decoder_NewSubpicture
      Src: /src/vlc/modules/codec/svcdsub.c:451,1
    - Dst: video_format_Init
      Src: /src/vlc/modules/codec/svcdsub.c:459,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/svcdsub.c:478,1
    - Dst: subpicture_region_New
      Src: /src/vlc/modules/codec/svcdsub.c:480,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/codec/svcdsub.c:482,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/svcdsub.c:485,1
    - Dst: subpicture_Delete
      Src: /src/vlc/modules/codec/svcdsub.c:486,1
    - Dst: vlc_spu_regions_push
      Src: /src/vlc/modules/codec/svcdsub.c:490,1
    - Dst: SVCDSubRenderImage
      Src: /src/vlc/modules/codec/svcdsub.c:495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 2
    argNames:
    - p_dec
    - p_data
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 498
    functionName: DecodePacket
    functionSourceFile: /src/vlc/modules/codec/svcdsub.c
    functionUses: 10
    functionsReached:
    - decoder_NewSubpicture
    - video_format_Init
    - vlc_spu_regions_push
    - memcpy
    - msg_Err
    - subpicture_Delete
    - SVCDSubRenderImage
    - video_format_Clean
    - subpicture_region_New
    linkageType: ''
    returnType: subpicture_t
    signature: subpicture_t *DecodePacket( decoder_t *p_dec, block_t *p_data )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bs_init
      Src: /src/vlc/modules/codec/svcdsub.c:528,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/svcdsub.c:537,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/svcdsub.c:538,1
    - Dst: __MIN
      Src: /src/vlc/modules/codec/svcdsub.c:540,1
    - Dst: memset
      Src: /src/vlc/modules/codec/svcdsub.c:541,1
    - Dst: bs_align
      Src: /src/vlc/modules/codec/svcdsub.c:550,1
    - Dst: bs_init
      Src: /src/vlc/modules/codec/svcdsub.c:554,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - p_dec
    - p_data
    - dst_pic
    argTypes:
    - decoder_t*
    - block_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 559
    functionName: SVCDSubRenderImage
    functionSourceFile: /src/vlc/modules/codec/svcdsub.c
    functionUses: 1
    functionsReached:
    - memset
    - bs_read
    - __MIN
    - bs_align
    - bs_init
    linkageType: ''
    returnType: void
    signature: "void SVCDSubRenderImage( decoder_t *p_dec, block_t *p_data,\n                                picture_t
      *dst_pic )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/dav1d.c:97,1
    - Dst: free
      Src: /src/vlc/modules/codec/dav1d.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - userdata
    argTypes:
    - uint8_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: FreeUserData_Handler
    functionSourceFile: /src/vlc/modules/codec/dav1d.c
    functionUses: 0
    functionsReached:
    - free
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void FreeUserData_Handler(const uint8_t *p, void *userdata)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/dav1d.c:118,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/dav1d.c:123,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/dav1d.c:125,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - img
    argTypes:
    - Dav1dPicture*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 129
    functionName: FindVlcChroma
    functionSourceFile: /src/vlc/modules/codec/dav1d.c
    functionUses: 2
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t FindVlcChroma(const Dav1dPicture *img)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: iso_23001_8_cp_to_vlc_primaries
      Src: /src/vlc/modules/codec/dav1d.c:143,1
    - Dst: iso_23001_8_tc_to_vlc_xfer
      Src: /src/vlc/modules/codec/dav1d.c:144,1
    - Dst: iso_23001_8_mc_to_vlc_coeffs
      Src: /src/vlc/modules/codec/dav1d.c:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - dec
    - seq_hdr
    argTypes:
    - decoder_t*
    - Dav1dSequenceHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 148
    functionName: UpdateDecoderOutput
    functionSourceFile: /src/vlc/modules/codec/dav1d.c
    functionUses: 0
    functionsReached:
    - iso_23001_8_mc_to_vlc_coeffs
    - iso_23001_8_tc_to_vlc_xfer
    - iso_23001_8_cp_to_vlc_primaries
    linkageType: ''
    returnType: void
    signature: void UpdateDecoderOutput(decoder_t *dec, const Dav1dSequenceHeader
      *seq_hdr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UpdateDecoderOutput
      Src: /src/vlc/modules/codec/dav1d.c:160,1
    - Dst: FindVlcChroma
      Src: /src/vlc/modules/codec/dav1d.c:192,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/dav1d.c:193,1
    - Dst: decoder_UpdateVideoFormat
      Src: /src/vlc/modules/codec/dav1d.c:209,1
    - Dst: decoder_NewPicture
      Src: /src/vlc/modules/codec/dav1d.c:212,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/dav1d.c:213,1
    - Dst: assert
      Src: /src/vlc/modules/codec/dav1d.c:220,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 2
    argNames:
    - img
    - cookie
    argTypes:
    - Dav1dPicture*
    - void*
    assertStmts:
    - condition: (pic->p[1].i_pitch == pic->p[2].i_pitch)
      pos:
        line_end: 219
        line_start: 219
        source_file: /src/vlc/modules/codec/dav1d.c
    constantsTouched: []
    func_position:
      end: 227
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 227
    functionName: NewPicture
    functionSourceFile: /src/vlc/modules/codec/dav1d.c
    functionUses: 51
    functionsReached:
    - assert
    - decoder_UpdateVideoFormat
    - UpdateDecoderOutput
    - FindVlcChroma
    - unlikely
    - decoder_NewPicture
    linkageType: ''
    returnType: int
    signature: int NewPicture(Dav1dPicture *img, void *cookie)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/codec/dav1d.c:236,1
    - Dst: cc_Extract
      Src: /src/vlc/modules/codec/dav1d.c:238,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/dav1d.c:242,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/dav1d.c:245,1
    - Dst: decoder_QueueCc
      Src: /src/vlc/modules/codec/dav1d.c:254,1
    - Dst: cc_Flush
      Src: /src/vlc/modules/codec/dav1d.c:256,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - dec
    - img
    argTypes:
    - decoder_t*
    - Dav1dPicture*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 229
    functionDepth: 5
    functionLinenumber: 229
    functionLinenumberEnd: 259
    functionName: ExtractCaptions
    functionSourceFile: /src/vlc/modules/codec/dav1d.c
    functionUses: 0
    functionsReached:
    - cc_Flush
    - memcpy
    - decoder_QueueCc
    - block_Alloc
    - cc_Extract
    - memcmp
    linkageType: ''
    returnType: void
    signature: void ExtractCaptions(decoder_t *dec, const Dav1dPicture *img)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/dav1d.c:265,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/dav1d.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - cookie
    argTypes:
    - Dav1dPicture*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 267
    functionName: FreePicture
    functionSourceFile: /src/vlc/modules/codec/dav1d.c
    functionUses: 0
    functionsReached:
    - picture_Release
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void FreePicture(Dav1dPicture *data, void *cookie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dav1d_flush
      Src: /src/vlc/modules/codec/dav1d.c:276,1
    - Dst: cc_Flush
      Src: /src/vlc/modules/codec/dav1d.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 278
    functionName: FlushDecoder
    functionSourceFile: /src/vlc/modules/codec/dav1d.c
    functionUses: 1
    functionsReached:
    - dav1d_flush
    - cc_Flush
    linkageType: ''
    returnType: void
    signature: void FlushDecoder(decoder_t *dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/dav1d.c:282,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/dav1d.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - b
    argTypes:
    - uint8_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 285
    functionName: release_block
    functionSourceFile: /src/vlc/modules/codec/dav1d.c
    functionUses: 0
    functionsReached:
    - block_Release
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void release_block(const uint8_t *buf, void *b)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/codec/dav1d.c:296,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/dav1d.c:307,1
    - Dst: dav1d_data_wrap
      Src: /src/vlc/modules/codec/dav1d.c:307,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/dav1d.c:310,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/dav1d.c:317,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/dav1d.c:318,1
    - Dst: dav1d_data_wrap_user_data
      Src: /src/vlc/modules/codec/dav1d.c:319,1
    - Dst: free
      Src: /src/vlc/modules/codec/dav1d.c:322,1
    - Dst: dav1d_data_unref
      Src: /src/vlc/modules/codec/dav1d.c:323,1
    - Dst: dav1d_send_data
      Src: /src/vlc/modules/codec/dav1d.c:338,1
    - Dst: DAV1D_ERR
      Src: /src/vlc/modules/codec/dav1d.c:339,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/dav1d.c:341,1
    - Dst: DAV1D_ERR
      Src: /src/vlc/modules/codec/dav1d.c:353,1
    - Dst: dav1d_get_picture
      Src: /src/vlc/modules/codec/dav1d.c:362,1
    - Dst: picture_Clone
      Src: /src/vlc/modules/codec/dav1d.c:366,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/dav1d.c:367,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/dav1d.c:370,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/modules/codec/dav1d.c:376,1
    - Dst: ExtractCaptions
      Src: /src/vlc/modules/codec/dav1d.c:377,1
    - Dst: dav1d_picture_unref
      Src: /src/vlc/modules/codec/dav1d.c:378,1
    - Dst: DAV1D_ERR
      Src: /src/vlc/modules/codec/dav1d.c:386,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/dav1d.c:397,1
    - Dst: DAV1D_ERR
      Src: /src/vlc/modules/codec/dav1d.c:407,1
    - Dst: dav1d_data_unref
      Src: /src/vlc/modules/codec/dav1d.c:416,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 68
    argCount: 2
    argNames:
    - dec
    - block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 290
    functionDepth: 6
    functionLinenumber: 290
    functionLinenumberEnd: 419
    functionName: Decode
    functionSourceFile: /src/vlc/modules/codec/dav1d.c
    functionUses: 17
    functionsReached:
    - dav1d_send_data
    - block_Release
    - dav1d_data_wrap
    - ExtractCaptions
    - dav1d_picture_unref
    - dav1d_data_unref
    - dav1d_data_wrap_user_data
    - free
    - msg_Err
    - picture_Clone
    - picture_Release
    - decoder_QueueVideo
    - msg_Warn
    - dav1d_get_picture
    - DAV1D_ERR
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int Decode(decoder_t *dec, block_t *block)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/codec/dav1d.c:431,1
    - Dst: dav1d_default_settings
      Src: /src/vlc/modules/codec/dav1d.c:435,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/codec/dav1d.c:437,1
    - Dst: __MAX
      Src: /src/vlc/modules/codec/dav1d.c:439,1
    - Dst: vlc_GetCPUCount
      Src: /src/vlc/modules/codec/dav1d.c:439,1
    - Dst: dav1d_get_frame_delay
      Src: /src/vlc/modules/codec/dav1d.c:443,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/codec/dav1d.c:462,1
    - Dst: VLC_CLIP
      Src: /src/vlc/modules/codec/dav1d.c:464,1
    - Dst: vlc_GetCPUCount
      Src: /src/vlc/modules/codec/dav1d.c:464,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/codec/dav1d.c:465,1
    - Dst: __MAX
      Src: /src/vlc/modules/codec/dav1d.c:467,1
    - Dst: vlc_GetCPUCount
      Src: /src/vlc/modules/codec/dav1d.c:467,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/codec/dav1d.c:469,1
    - Dst: AV1_OBUIsValid
      Src: /src/vlc/modules/codec/dav1d.c:481,1
    - Dst: AV1_OBUGetType
      Src: /src/vlc/modules/codec/dav1d.c:481,1
    - Dst: AV1_OBU_parse_sequence_header
      Src: /src/vlc/modules/codec/dav1d.c:482,1
    - Dst: AV1_get_chroma
      Src: /src/vlc/modules/codec/dav1d.c:498,1
    - Dst: AV1_get_frame_max_dimensions
      Src: /src/vlc/modules/codec/dav1d.c:500,1
    - Dst: AV1_get_colorimetry
      Src: /src/vlc/modules/codec/dav1d.c:503,1
    - Dst: AV1_get_super_res
      Src: /src/vlc/modules/codec/dav1d.c:505,1
    - Dst: dav1d_open
      Src: /src/vlc/modules/codec/dav1d.c:510,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/dav1d.c:512,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dav1d.c:517,1
    - Dst: dav1d_version
      Src: /src/vlc/modules/codec/dav1d.c:518,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/dav1d.c:522,1
    - Dst: dav1d_version
      Src: /src/vlc/modules/codec/dav1d.c:523,1
    - Dst: AV1_release_sequence_header
      Src: /src/vlc/modules/codec/dav1d.c:549,1
    - Dst: decoder_UpdateVideoFormat
      Src: /src/vlc/modules/codec/dav1d.c:551,1
    - Dst: CloseDecoder
      Src: /src/vlc/modules/codec/dav1d.c:553,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/codec/dav1d.c:553,1
    - Dst: cc_Init
      Src: /src/vlc/modules/codec/dav1d.c:560,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 76
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 424
    functionDepth: 3
    functionLinenumber: 424
    functionLinenumberEnd: 563
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/modules/codec/dav1d.c
    functionUses: 0
    functionsReached:
    - AV1_get_chroma
    - cc_Init
    - vlc_obj_malloc
    - decoder_UpdateVideoFormat
    - dav1d_get_frame_delay
    - dav1d_open
    - AV1_get_super_res
    - vlc_GetCPUCount
    - AV1_get_frame_max_dimensions
    - VLC_CLIP
    - msg_Err
    - __MAX
    - AV1_OBUIsValid
    - AV1_get_colorimetry
    - msg_Dbg
    - CloseDecoder
    - dav1d_version
    - var_InheritInteger
    - var_InheritBool
    - dav1d_default_settings
    - AV1_OBU_parse_sequence_header
    - AV1_release_sequence_header
    - VLC_OBJECT
    - AV1_OBUGetType
    linkageType: ''
    returnType: int
    signature: int OpenDecoder(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FlushDecoder
      Src: /src/vlc/modules/codec/dav1d.c:574,1
    - Dst: dav1d_close
      Src: /src/vlc/modules/codec/dav1d.c:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 577
    functionName: CloseDecoder
    functionSourceFile: /src/vlc/modules/codec/dav1d.c
    functionUses: 3
    functionsReached:
    - dav1d_close
    - FlushDecoder
    linkageType: ''
    returnType: void
    signature: void CloseDecoder(vlc_object_t *p_this)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/openapv.c:64,1
    - Dst: assert
      Src: /src/vlc/modules/codec/openapv.c:65,1
    - Dst: assert
      Src: /src/vlc/modules/codec/openapv.c:70,1
    - Dst: assert
      Src: /src/vlc/modules/codec/openapv.c:71,1
    - Dst: assert
      Src: /src/vlc/modules/codec/openapv.c:76,1
    - Dst: assert
      Src: /src/vlc/modules/codec/openapv.c:77,1
    - Dst: assert
      Src: /src/vlc/modules/codec/openapv.c:82,1
    - Dst: assert
      Src: /src/vlc/modules/codec/openapv.c:83,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 3
    argNames:
    - profile_idc
    - bit_depth_minus8
    - chroma_format_idc
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts:
    - condition: (chroma_format_idc == 2)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/vlc/modules/codec/openapv.c
    - condition: (chroma_format_idc == 2)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/vlc/modules/codec/openapv.c
    - condition: (chroma_format_idc == 2 || chroma_format_idc == 3)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/vlc/modules/codec/openapv.c
    - condition: (bit_depth_minus8 >= 2 && bit_depth_minus8 <= 4)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/vlc/modules/codec/openapv.c
    - condition: (bit_depth_minus8 == 2)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/vlc/modules/codec/openapv.c
    - condition: (bit_depth_minus8 == 2)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/vlc/modules/codec/openapv.c
    - condition: (chroma_format_idc == 2 || chroma_format_idc == 3)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/vlc/modules/codec/openapv.c
    - condition: (bit_depth_minus8 >= 2 && bit_depth_minus8 <= 4)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/vlc/modules/codec/openapv.c
    constantsTouched: []
    func_position:
      end: 143
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 143
    functionName: FindVlcChroma
    functionSourceFile: /src/vlc/modules/codec/openapv.c
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t FindVlcChroma(uint8_t profile_idc, uint8_t bit_depth_minus8,
      uint8_t chroma_format_idc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - imgb
    argTypes:
    - oapv_imgb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: imgb_addref
    functionSourceFile: /src/vlc/modules/codec/openapv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int imgb_addref(oapv_imgb_t *imgb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - imgb
    argTypes:
    - oapv_imgb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: imgb_getref
    functionSourceFile: /src/vlc/modules/codec/openapv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int imgb_getref(oapv_imgb_t *imgb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/openapv.c:159,1
    - Dst: free
      Src: /src/vlc/modules/codec/openapv.c:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - imgb
    argTypes:
    - oapv_imgb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 164
    functionName: imgb_release
    functionSourceFile: /src/vlc/modules/codec/openapv.c
    functionUses: 0
    functionsReached:
    - free
    - picture_Release
    linkageType: ''
    returnType: int
    signature: int imgb_release(oapv_imgb_t *imgb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/codec/openapv.c:170,1
    - Dst: decoder_NewPicture
      Src: /src/vlc/modules/codec/openapv.c:174,1
    - Dst: free
      Src: /src/vlc/modules/codec/openapv.c:201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 203
    functionName: GetImage
    functionSourceFile: /src/vlc/modules/codec/openapv.c
    functionUses: 3
    functionsReached:
    - calloc
    - free
    - decoder_NewPicture
    linkageType: ''
    returnType: oapv_imgb_t
    signature: oapv_imgb_t *GetImage( decoder_t *p_dec )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetImage
      Src: /src/vlc/modules/codec/openapv.c:219,1
    - Dst: oapvd_decode
      Src: /src/vlc/modules/codec/openapv.c:226,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/openapv.c:227,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/openapv.c:229,1
    - Dst: imgb::release
      Src: /src/vlc/modules/codec/openapv.c:230,1
    - Dst: assert
      Src: /src/vlc/modules/codec/openapv.c:234,1
    - Dst: picture_Hold
      Src: /src/vlc/modules/codec/openapv.c:238,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/modules/codec/openapv.c:241,1
    - Dst: imgb::release
      Src: /src/vlc/modules/codec/openapv.c:245,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts:
    - condition: (stats.aui.num_frms == 1 || stats.aui.num_frms == 0)
      pos:
        line_end: 233
        line_start: 233
        source_file: /src/vlc/modules/codec/openapv.c
    constantsTouched: []
    func_position:
      end: 249
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 249
    functionName: Decode
    functionSourceFile: /src/vlc/modules/codec/openapv.c
    functionUses: 17
    functionsReached:
    - GetImage
    - assert
    - picture_Hold
    - msg_Err
    - imgb::release
    - decoder_QueueVideo
    - oapvd_decode
    - unlikely
    linkageType: ''
    returnType: int
    signature: int Decode( decoder_t *p_dec, block_t *p_block )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/codec/openapv.c:254,1
    - Dst: bs_init
      Src: /src/vlc/modules/codec/openapv.c:270,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/openapv.c:271,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/openapv.c:274,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/openapv.c:278,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/openapv.c:281,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/openapv.c:284,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/openapv.c:285,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/openapv.c:288,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/openapv.c:291,1
    - Dst: bs_read1
      Src: /src/vlc/modules/codec/openapv.c:292,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/openapv.c:293,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/openapv.c:294,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/openapv.c:295,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/openapv.c:296,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/openapv.c:297,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/openapv.c:298,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/openapv.c:299,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/openapv.c:300,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/openapv.c:301,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/openapv.c:304,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/openapv.c:305,1
    - Dst: bs_read
      Src: /src/vlc/modules/codec/openapv.c:306,1
    - Dst: bs_read1
      Src: /src/vlc/modules/codec/openapv.c:307,1
    - Dst: bs_skip
      Src: /src/vlc/modules/codec/openapv.c:308,1
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/codec/openapv.c:311,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/openapv.c:312,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/codec/openapv.c:316,1
    - Dst: oapvd_create
      Src: /src/vlc/modules/codec/openapv.c:317,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/openapv.c:320,1
    - Dst: iso_23001_8_cp_to_vlc_primaries
      Src: /src/vlc/modules/codec/openapv.c:325,1
    - Dst: iso_23001_8_tc_to_vlc_xfer
      Src: /src/vlc/modules/codec/openapv.c:329,1
    - Dst: iso_23001_8_mc_to_vlc_coeffs
      Src: /src/vlc/modules/codec/openapv.c:333,1
    - Dst: FindVlcChroma
      Src: /src/vlc/modules/codec/openapv.c:344,1
    - Dst: decoder_UpdateVideoOutput
      Src: /src/vlc/modules/codec/openapv.c:347,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/openapv.c:349,1
    - Dst: CloseAPVDecoder
      Src: /src/vlc/modules/codec/openapv.c:350,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/openapv.c:353,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 72
    argCount: 1
    argNames:
    - o
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 367
    functionName: OpenAPVDecoder
    functionSourceFile: /src/vlc/modules/codec/openapv.c
    functionUses: 0
    functionsReached:
    - bs_skip
    - bs_read1
    - vlc_obj_malloc
    - iso_23001_8_cp_to_vlc_primaries
    - container_of
    - ARRAY_SIZE
    - var_InheritInteger
    - iso_23001_8_mc_to_vlc_coeffs
    - iso_23001_8_tc_to_vlc_xfer
    - decoder_UpdateVideoOutput
    - bs_read
    - msg_Err
    - msg_Dbg
    - oapvd_create
    - CloseAPVDecoder
    - FindVlcChroma
    - bs_init
    - unlikely
    linkageType: ''
    returnType: int
    signature: int OpenAPVDecoder(vlc_object_t *o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/codec/openapv.c:371,1
    - Dst: oapvd_delete
      Src: /src/vlc/modules/codec/openapv.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 374
    functionName: CloseAPVDecoder
    functionSourceFile: /src/vlc/modules/codec/openapv.c
    functionUses: 1
    functionsReached:
    - oapvd_delete
    - container_of
    linkageType: ''
    returnType: void
    signature: void CloseAPVDecoder(vlc_object_t *o)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/codec/subsdec.c:235,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/subsdec.c:257,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/codec/subsdec.c:263,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/subsdec.c:265,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/subsdec.c:266,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsdec.c:268,1
    - Dst: vlc_pgettext
      Src: /src/vlc/modules/codec/subsdec.c:289,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/subsdec.c:290,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/codec/subsdec.c:294,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/subsdec.c:296,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsdec.c:301,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsdec.c:301,1
    - Dst: vlc_iconv_open
      Src: /src/vlc/modules/codec/subsdec.c:303,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/subsdec.c:305,1
    - Dst: vlc_strerror_c
      Src: /src/vlc/modules/codec/subsdec.c:306,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsdec.c:308,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/codec/subsdec.c:310,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 313
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/modules/codec/subsdec.c
    functionUses: 0
    functionsReached:
    - vlc_strerror_c
    - var_InheritString
    - var_InheritInteger
    - var_InheritBool
    - vlc_iconv_open
    - msg_Err
    - calloc
    - free
    - strcmp
    - vlc_pgettext
    - msg_Dbg
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int OpenDecoder( vlc_object_t *p_this )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/codec/subsdec.c:329,1
    - Dst: ParseText
      Src: /src/vlc/modules/codec/subsdec.c:333,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/subsdec.c:335,1
    - Dst: decoder_QueueSub
      Src: /src/vlc/modules/codec/subsdec.c:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/codec/subsdec.c
    functionUses: 17
    functionsReached:
    - block_Release
    - decoder_QueueSub
    - ParseText
    linkageType: ''
    returnType: int
    signature: int DecodeBlock( decoder_t *p_dec, block_t *p_block )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_iconv_close
      Src: /src/vlc/modules/codec/subsdec.c:350,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsdec.c:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 353
    functionName: CloseDecoder
    functionSourceFile: /src/vlc/modules/codec/subsdec.c
    functionUses: 3
    functionsReached:
    - free
    - vlc_iconv_close
    linkageType: ''
    returnType: void
    signature: void CloseDecoder( vlc_object_t *p_this )
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/subsdec.c:369,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/subsdec.c:378,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/subsdec.c:388,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/subsdec.c:391,1
    - Dst: EnsureUTF8
      Src: /src/vlc/modules/codec/subsdec.c:397,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/subsdec.c:399,1
    - Dst: IsUTF8
      Src: /src/vlc/modules/codec/subsdec.c:408,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/subsdec.c:410,1
    - Dst: xmalloc
      Src: /src/vlc/modules/codec/subsdec.c:420,1
    - Dst: vlc_iconv
      Src: /src/vlc/modules/codec/subsdec.c:425,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsdec.c:430,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsdec.c:434,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/subsdec.c:435,1
    - Dst: realloc
      Src: /src/vlc/modules/codec/subsdec.c:441,1
    - Dst: decoder_NewSubpictureText
      Src: /src/vlc/modules/codec/subsdec.c:449,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsdec.c:452,1
    - Dst: ParseSubtitles
      Src: /src/vlc/modules/codec/subsdec.c:462,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsdec.c:463,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 483
    functionName: ParseText
    functionSourceFile: /src/vlc/modules/codec/subsdec.c
    functionUses: 2
    functionsReached:
    - IsUTF8
    - decoder_NewSubpictureText
    - realloc
    - memcpy
    - ParseSubtitles
    - EnsureUTF8
    - msg_Err
    - xmalloc
    - free
    - msg_Dbg
    - vlc_iconv
    - msg_Warn
    - malloc
    linkageType: ''
    returnType: subpicture_t
    signature: subpicture_t *ParseText( decoder_t *p_dec, block_t *p_block )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/vlc/modules/codec/subsdec.c:488,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsdec.c:490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p_segment
    - c
    argTypes:
    - text_segment_t*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 493
    functionName: AppendCharacter
    functionSourceFile: /src/vlc/modules/codec/subsdec.c
    functionUses: 0
    functionsReached:
    - free
    - asprintf
    linkageType: ''
    returnType: bool
    signature: bool AppendCharacter( text_segment_t* p_segment, char c )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/vlc/modules/codec/subsdec.c:498,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsdec.c:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p_segment
    - psz_str
    argTypes:
    - text_segment_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 503
    functionName: AppendString
    functionSourceFile: /src/vlc/modules/codec/subsdec.c
    functionUses: 0
    functionsReached:
    - free
    - asprintf
    linkageType: ''
    returnType: bool
    signature: bool AppendString( text_segment_t* p_segment, const char* psz_str )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/vlc/modules/codec/subsdec.c:517,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/subsdec.c:524,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/subsdec.c:525,1
    - Dst: strncpy
      Src: /src/vlc/modules/codec/subsdec.c:527,1
    - Dst: isspace
      Src: /src/vlc/modules/codec/subsdec.c:542,1
    - Dst: isspace
      Src: /src/vlc/modules/codec/subsdec.c:555,1
    - Dst: isspace
      Src: /src/vlc/modules/codec/subsdec.c:560,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/subsdec.c:570,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/subsdec.c:570,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsdec.c:572,1
    - Dst: strncpy
      Src: /src/vlc/modules/codec/subsdec.c:575,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 50
    argCount: 2
    argNames:
    - ppsz_subtitle
    - ppsz_attribute_value
    argTypes:
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 582
    functionName: ConsumeAttribute
    functionSourceFile: /src/vlc/modules/codec/subsdec.c
    functionUses: 0
    functionsReached:
    - isalpha
    - isspace
    - strncpy
    - free
    - unlikely
    - malloc
    linkageType: ''
    returnType: char
    signature: char * ConsumeAttribute( const char** ppsz_subtitle, char** ppsz_attribute_value
      )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/vlc/modules/codec/subsdec.c:602,1
    - Dst: isalnum
      Src: /src/vlc/modules/codec/subsdec.c:605,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/codec/subsdec.c:607,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/subsdec.c:608,1
    - Dst: strncpy
      Src: /src/vlc/modules/codec/subsdec.c:610,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - ppsz_subtitle
    - b_closing
    argTypes:
    - char**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 615
    functionName: GetTag
    functionSourceFile: /src/vlc/modules/codec/subsdec.c
    functionUses: 7
    functionsReached:
    - isalpha
    - isalnum
    - strncpy
    - vlc_alloc
    - unlikely
    linkageType: ''
    returnType: char
    signature: char * GetTag( const char** ppsz_subtitle, bool b_closing )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcasestr
      Src: /src/vlc/modules/codec/subsdec.c:619,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/subsdec.c:623,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - psz_subtitle
    - psz_tagname
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 637
    functionName: IsClosed
    functionSourceFile: /src/vlc/modules/codec/subsdec.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcasestr
    linkageType: ''
    returnType: bool
    signature: bool IsClosed( const char* psz_subtitle, const char* psz_tagname )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/subsdec.c:648,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/subsdec.c:649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pp_stack
    - psz_tagname
    argTypes:
    - tag_stack_t**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 654
    functionName: AppendTag
    functionSourceFile: /src/vlc/modules/codec/subsdec.c
    functionUses: 0
    functionsReached:
    - unlikely
    - malloc
    linkageType: ''
    returnType: void
    signature: void AppendTag( tag_stack_t **pp_stack, char* psz_tagname )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsdec.c:661,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsdec.c:671,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsdec.c:672,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pp_stack
    - psz_tagname
    argTypes:
    - tag_stack_t**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 656
    functionDepth: 2
    functionLinenumber: 656
    functionLinenumberEnd: 678
    functionName: HasTag
    functionSourceFile: /src/vlc/modules/codec/subsdec.c
    functionUses: 0
    functionsReached:
    - free
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool HasTag( tag_stack_t **pp_stack, const char* psz_tagname )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: text_style_Duplicate
      Src: /src/vlc/modules/codec/subsdec.c:692,1
    - Dst: text_style_Create
      Src: /src/vlc/modules/codec/subsdec.c:692,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/subsdec.c:693,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/subsdec.c:695,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/subsdec.c:696,1
    - Dst: text_style_Delete
      Src: /src/vlc/modules/codec/subsdec.c:698,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pp_stack
    argTypes:
    - style_stack_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 706
    functionName: DuplicateAndPushStyle
    functionSourceFile: /src/vlc/modules/codec/subsdec.c
    functionUses: 0
    functionsReached:
    - text_style_Create
    - text_style_Duplicate
    - unlikely
    - malloc
    - text_style_Delete
    linkageType: ''
    returnType: text_style_t
    signature: text_style_t * DuplicateAndPushStyle(style_stack_t** pp_stack)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/codec/subsdec.c:715,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pp_stack
    argTypes:
    - style_stack_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 716
    functionName: PopStyle
    functionSourceFile: /src/vlc/modules/codec/subsdec.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void PopStyle(style_stack_t** pp_stack)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: text_segment_New
      Src: /src/vlc/modules/codec/subsdec.c:720,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/subsdec.c:721,1
    - Dst: DuplicateAndPushStyle
      Src: /src/vlc/modules/codec/subsdec.c:723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p_segment
    - pp_stack
    argTypes:
    - text_segment_t*
    - style_stack_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 718
    functionDepth: 2
    functionLinenumber: 718
    functionLinenumberEnd: 727
    functionName: NewTextSegmentPushStyle
    functionSourceFile: /src/vlc/modules/codec/subsdec.c
    functionUses: 0
    functionsReached:
    - unlikely
    - text_segment_New
    - DuplicateAndPushStyle
    linkageType: ''
    returnType: text_segment_t
    signature: text_segment_t * NewTextSegmentPushStyle( text_segment_t* p_segment,
      style_stack_t** pp_stack )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: text_segment_New
      Src: /src/vlc/modules/codec/subsdec.c:731,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/subsdec.c:732,1
    - Dst: PopStyle
      Src: /src/vlc/modules/codec/subsdec.c:736,1
    - Dst: text_style_Duplicate
      Src: /src/vlc/modules/codec/subsdec.c:737,1
    - Dst: text_style_Create
      Src: /src/vlc/modules/codec/subsdec.c:737,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p_segment
    - pp_stack
    argTypes:
    - text_segment_t*
    - style_stack_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 741
    functionName: NewTextSegmentPopStyle
    functionSourceFile: /src/vlc/modules/codec/subsdec.c
    functionUses: 0
    functionsReached:
    - text_segment_New
    - text_style_Create
    - text_style_Duplicate
    - PopStyle
    - unlikely
    linkageType: ''
    returnType: text_segment_t
    signature: text_segment_t * NewTextSegmentPopStyle( text_segment_t* p_segment,
      style_stack_t** pp_stack )
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: text_segment_New
      Src: /src/vlc/modules/codec/subsdec.c:751,1
    - Dst: GetTag
      Src: /src/vlc/modules/codec/subsdec.c:761,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsdec.c:764,1
    - Dst: AppendCharacter
      Src: /src/vlc/modules/codec/subsdec.c:766,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsdec.c:768,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsdec.c:772,1
    - Dst: NewTextSegmentPushStyle
      Src: /src/vlc/modules/codec/subsdec.c:774,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsdec.c:778,1
    - Dst: NewTextSegmentPushStyle
      Src: /src/vlc/modules/codec/subsdec.c:780,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsdec.c:784,1
    - Dst: NewTextSegmentPushStyle
      Src: /src/vlc/modules/codec/subsdec.c:786,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsdec.c:790,1
    - Dst: NewTextSegmentPushStyle
      Src: /src/vlc/modules/codec/subsdec.c:792,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsdec.c:796,1
    - Dst: NewTextSegmentPushStyle
      Src: /src/vlc/modules/codec/subsdec.c:798,1
    - Dst: ConsumeAttribute
      Src: /src/vlc/modules/codec/subsdec.c:803,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsdec.c:807,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsdec.c:810,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsdec.c:812,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsdec.c:817,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsdec.c:819,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsdec.c:823,1
    - Dst: atoi
      Src: /src/vlc/modules/codec/subsdec.c:825,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsdec.c:833,1
    - Dst: vlc_html_color
      Src: /src/vlc/modules/codec/subsdec.c:835,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsdec.c:838,1
    - Dst: vlc_html_color
      Src: /src/vlc/modules/codec/subsdec.c:840,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsdec.c:843,1
    - Dst: vlc_html_color
      Src: /src/vlc/modules/codec/subsdec.c:845,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsdec.c:848,1
    - Dst: atoi
      Src: /src/vlc/modules/codec/subsdec.c:850,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsdec.c:852,1
    - Dst: atoi
      Src: /src/vlc/modules/codec/subsdec.c:854,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsdec.c:856,1
    - Dst: vlc_html_color
      Src: /src/vlc/modules/codec/subsdec.c:858,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsdec.c:861,1
    - Dst: atoi
      Src: /src/vlc/modules/codec/subsdec.c:863,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsdec.c:867,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsdec.c:868,1
    - Dst: IsClosed
      Src: /src/vlc/modules/codec/subsdec.c:874,1
    - Dst: AppendCharacter
      Src: /src/vlc/modules/codec/subsdec.c:876,1
    - Dst: AppendString
      Src: /src/vlc/modules/codec/subsdec.c:877,1
    - Dst: AppendCharacter
      Src: /src/vlc/modules/codec/subsdec.c:878,1
    - Dst: AppendTag
      Src: /src/vlc/modules/codec/subsdec.c:882,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsdec.c:895,1
    - Dst: strncmp
      Src: /src/vlc/modules/codec/subsdec.c:897,1
    - Dst: GetTag
      Src: /src/vlc/modules/codec/subsdec.c:899,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsdec.c:902,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsdec.c:903,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsdec.c:904,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsdec.c:905,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/subsdec.c:906,1
    - Dst: NewTextSegmentPopStyle
      Src: /src/vlc/modules/codec/subsdec.c:910,1
    - Dst: HasTag
      Src: /src/vlc/modules/codec/subsdec.c:915,1
    - Dst: AppendString
      Src: /src/vlc/modules/codec/subsdec.c:917,1
    - Dst: AppendString
      Src: /src/vlc/modules/codec/subsdec.c:918,1
    - Dst: AppendCharacter
      Src: /src/vlc/modules/codec/subsdec.c:919,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsdec.c:926,1
    - Dst: AppendString
      Src: /src/vlc/modules/codec/subsdec.c:934,1
    - Dst: AppendCharacter
      Src: /src/vlc/modules/codec/subsdec.c:944,1
    - Dst: strchr
      Src: /src/vlc/modules/codec/subsdec.c:950,1
    - Dst: strncmp
      Src: /src/vlc/modules/codec/subsdec.c:954,1
    - Dst: strchr
      Src: /src/vlc/modules/codec/subsdec.c:965,1
    - Dst: strchr
      Src: /src/vlc/modules/codec/subsdec.c:976,1
    - Dst: strchr
      Src: /src/vlc/modules/codec/subsdec.c:978,1
    - Dst: NewTextSegmentPushStyle
      Src: /src/vlc/modules/codec/subsdec.c:985,1
    - Dst: NewTextSegmentPushStyle
      Src: /src/vlc/modules/codec/subsdec.c:992,1
    - Dst: NewTextSegmentPushStyle
      Src: /src/vlc/modules/codec/subsdec.c:999,1
    - Dst: NewTextSegmentPushStyle
      Src: /src/vlc/modules/codec/subsdec.c:1014,1
    - Dst: vlc_html_color
      Src: /src/vlc/modules/codec/subsdec.c:1015,1
    - Dst: NewTextSegmentPushStyle
      Src: /src/vlc/modules/codec/subsdec.c:1020,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsdec.c:1021,1
    - Dst: strndup
      Src: /src/vlc/modules/codec/subsdec.c:1022,1
    - Dst: atoi
      Src: /src/vlc/modules/codec/subsdec.c:1026,1
    - Dst: NewTextSegmentPushStyle
      Src: /src/vlc/modules/codec/subsdec.c:1029,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/codec/subsdec.c:1049,1
    - Dst: AppendCharacter
      Src: /src/vlc/modules/codec/subsdec.c:1051,1
    - Dst: strncasecmp
      Src: /src/vlc/modules/codec/subsdec.c:1058,1
    - Dst: AppendString
      Src: /src/vlc/modules/codec/subsdec.c:1060,1
    - Dst: AppendCharacter
      Src: /src/vlc/modules/codec/subsdec.c:1067,1
    - Dst: PopStyle
      Src: /src/vlc/modules/codec/subsdec.c:1073,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsdec.c:1078,1
    - Dst: free
      Src: /src/vlc/modules/codec/subsdec.c:1079,1
    - Dst: text_segment_ChainDelete
      Src: /src/vlc/modules/codec/subsdec.c:1085,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 210
    argCount: 2
    argNames:
    - pi_align
    - psz_subtitle
    argTypes:
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 743
    functionDepth: 3
    functionLinenumber: 743
    functionLinenumberEnd: 1087
    functionName: ParseSubtitles
    functionSourceFile: /src/vlc/modules/codec/subsdec.c
    functionUses: 1
    functionsReached:
    - atoi
    - NewTextSegmentPushStyle
    - strchr
    - AppendCharacter
    - ConsumeAttribute
    - vlc_html_color
    - NewTextSegmentPopStyle
    - GetTag
    - strcasecmp
    - PopStyle
    - strndup
    - text_segment_New
    - strncmp
    - AppendString
    - text_segment_ChainDelete
    - strncasecmp
    - AppendTag
    - free
    - IsClosed
    - HasTag
    linkageType: ''
    returnType: text_segment_t
    signature: text_segment_t * ParseSubtitles( int *pi_align, const char *psz_subtitle
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: Debug
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 53
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Debug(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - cea708_demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: CEA708_DTVCC_Demuxer_Flush
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CEA708_DTVCC_Demuxer_Flush( cea708_demux_t *h )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/codec/cea708.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - cea708_demux_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: CEA708_DTVCC_Demuxer_Release
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void CEA708_DTVCC_Demuxer_Release( cea708_demux_t *h )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/cea708.c:66,1
    - Dst: CEA708_DTVCC_Demuxer_Flush
      Src: /src/vlc/modules/codec/cea708.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - priv
    - hdlr
    argTypes:
    - void*
    - service_data_hdlr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: CEA708_DTVCC_Demuxer_New
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 1
    functionsReached:
    - CEA708_DTVCC_Demuxer_Flush
    - malloc
    linkageType: ''
    returnType: cea708_demux_t
    signature: cea708_demux_t * CEA708_DTVCC_Demuxer_New( void *priv, service_data_hdlr_t
      hdlr )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cea708_demux_t*::p_callback
      Src: /src/vlc/modules/codec/cea708.c:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - h
    - i_start
    - p_data
    - i_data
    argTypes:
    - cea708_demux_t*
    - vlc_tick_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 102
    functionName: CEA708_DTVCC_Demux_ServiceBlocks
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached:
    - cea708_demux_t*::p_callback
    linkageType: ''
    returnType: void
    signature: "void CEA708_DTVCC_Demux_ServiceBlocks( cea708_demux_t *h, vlc_tick_t
      i_start,\n                                              const uint8_t *p_data,
      size_t i_data )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CEA708_DTVCC_Demux_ServiceBlocks
      Src: /src/vlc/modules/codec/cea708.c:140,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - h
    - i_start
    - data
    argTypes:
    - cea708_demux_t*
    - vlc_tick_t
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 143
    functionName: CEA708_DTVCC_Demuxer_Push
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 1
    functionsReached:
    - CEA708_DTVCC_Demux_ServiceBlocks
    linkageType: ''
    returnType: void
    signature: void CEA708_DTVCC_Demuxer_Push( cea708_demux_t *h, vlc_tick_t i_start,
      const uint8_t data[3] )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ib
    argTypes:
    - cea708_input_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: cea708_input_buffer_init
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cea708_input_buffer_init(cea708_input_buffer_t *ib)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ib
    argTypes:
    - cea708_input_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: cea708_input_buffer_size
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t cea708_input_buffer_size(const cea708_input_buffer_t *ib)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ib
    argTypes:
    - cea708_input_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: cea708_input_buffer_remain
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t cea708_input_buffer_remain(const cea708_input_buffer_t *ib)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cea708_input_buffer_remain
      Src: /src/vlc/modules/codec/cea708.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ib
    - a
    argTypes:
    - cea708_input_buffer_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 241
    functionName: cea708_input_buffer_add
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached:
    - cea708_input_buffer_remain
    linkageType: ''
    returnType: void
    signature: void cea708_input_buffer_add(cea708_input_buffer_t *ib, uint8_t a)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ib
    - 'off'
    argTypes:
    - cea708_input_buffer_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 249
    functionName: cea708_input_buffer_peek
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t cea708_input_buffer_peek(cea708_input_buffer_t *ib, uint8_t
      off)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cea708_input_buffer_peek
      Src: /src/vlc/modules/codec/cea708.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ib
    argTypes:
    - cea708_input_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 257
    functionName: cea708_input_buffer_get
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached:
    - cea708_input_buffer_peek
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t cea708_input_buffer_get(cea708_input_buffer_t *ib)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/codec/cea708.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_row
    argTypes:
    - cea708_text_row_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 379
    functionName: cea708_text_row_Delete
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void cea708_text_row_Delete( cea708_text_row_t *p_row )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/cea708.c:383,1
    - Dst: memset
      Src: /src/vlc/modules/codec/cea708.c:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 391
    functionName: cea708_text_row_New
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached:
    - malloc
    - memset
    linkageType: ''
    returnType: cea708_text_row_t
    signature: cea708_text_row_t * cea708_text_row_New( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - font
    - ','
    - edge
    - ','
    - bgopacity
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 471
    functionName: DEFAULT_NTSC_STYLE
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFAULT_NTSC_STYLE(font, edge, bgopacity )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - just
    - ','
    - pd
    - ','
    - scroll
    - ','
    - wrap
    - ','
    - opacity
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 497
    functionName: DEFAULT_NTSC_WA_STYLE
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFAULT_NTSC_WA_STYLE(just, pd, scroll, wrap, opacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/codec/cea708.c:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - p_w
    argTypes:
    - cea708_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 524
    functionName: CEA708_Window_Init
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void CEA708_Window_Init( cea708_window_t *p_w )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cea708_text_row_Delete
      Src: /src/vlc/modules/codec/cea708.c:530,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_w
    argTypes:
    - cea708_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 535
    functionName: CEA708_Window_ClearText
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached:
    - cea708_text_row_Delete
    linkageType: ''
    returnType: void
    signature: void CEA708_Window_ClearText( cea708_window_t *p_w )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CEA708_Window_ClearText
      Src: /src/vlc/modules/codec/cea708.c:539,1
    - Dst: CEA708_Window_Init
      Src: /src/vlc/modules/codec/cea708.c:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_w
    argTypes:
    - cea708_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 537
    functionDepth: 2
    functionLinenumber: 537
    functionLinenumberEnd: 541
    functionName: CEA708_Window_Reset
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached:
    - CEA708_Window_ClearText
    - CEA708_Window_Init
    linkageType: ''
    returnType: void
    signature: void CEA708_Window_Reset( cea708_window_t *p_w )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - p_w
    argTypes:
    - cea708_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 560
    functionName: CEA708_Window_BreaksSpace
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CEA708_Window_BreaksSpace( const cea708_window_t *p_w )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - p_w
    argTypes:
    - cea708_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 572
    functionName: CEA708_Window_MinCol
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t CEA708_Window_MinCol( const cea708_window_t *p_w )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - p_w
    argTypes:
    - cea708_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 584
    functionName: CEA708_Window_MaxCol
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t CEA708_Window_MaxCol( const cea708_window_t *p_w )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - p_w
    argTypes:
    - cea708_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 592
    functionName: CEA708_Window_ColCount
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t CEA708_Window_ColCount( const cea708_window_t *p_w )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_w
    argTypes:
    - cea708_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 599
    functionName: CEA708_Window_RowCount
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t CEA708_Window_RowCount( const cea708_window_t *p_w )
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: CEA708_Window_MaxCol
      Src: /src/vlc/modules/codec/cea708.c:607,1
    - Dst: cea708_text_row_Delete
      Src: /src/vlc/modules/codec/cea708.c:617,1
    - Dst: CEA708_Window_MinCol
      Src: /src/vlc/modules/codec/cea708.c:636,1
    - Dst: cea708_text_row_Delete
      Src: /src/vlc/modules/codec/cea708.c:646,1
    - Dst: CEA708_Window_RowCount
      Src: /src/vlc/modules/codec/cea708.c:664,1
    - Dst: cea708_text_row_Delete
      Src: /src/vlc/modules/codec/cea708.c:666,1
    - Dst: CEA708_Window_RowCount
      Src: /src/vlc/modules/codec/cea708.c:671,1
    - Dst: cea708_text_row_Delete
      Src: /src/vlc/modules/codec/cea708.c:673,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 53
    argCount: 2
    argNames:
    - p_w
    - i_direction
    argTypes:
    - cea708_window_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 678
    functionName: CEA708_Window_Truncate
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached:
    - CEA708_Window_MinCol
    - CEA708_Window_MaxCol
    - CEA708_Window_RowCount
    - cea708_text_row_Delete
    linkageType: ''
    returnType: void
    signature: void CEA708_Window_Truncate( cea708_window_t *p_w, int i_direction
      )
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: CEA708_Window_RowCount
      Src: /src/vlc/modules/codec/cea708.c:682,1
    - Dst: CEA708_Window_MaxCol
      Src: /src/vlc/modules/codec/cea708.c:689,1
    - Dst: CEA708_Window_Truncate
      Src: /src/vlc/modules/codec/cea708.c:690,1
    - Dst: memmove
      Src: /src/vlc/modules/codec/cea708.c:701,1
    - Dst: memmove
      Src: /src/vlc/modules/codec/cea708.c:703,1
    - Dst: CEA708_Window_MinCol
      Src: /src/vlc/modules/codec/cea708.c:711,1
    - Dst: CEA708_Window_Truncate
      Src: /src/vlc/modules/codec/cea708.c:712,1
    - Dst: memmove
      Src: /src/vlc/modules/codec/cea708.c:724,1
    - Dst: memmove
      Src: /src/vlc/modules/codec/cea708.c:726,1
    - Dst: CEA708_Window_Truncate
      Src: /src/vlc/modules/codec/cea708.c:736,1
    - Dst: CEA708_Window_Truncate
      Src: /src/vlc/modules/codec/cea708.c:746,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 55
    argCount: 1
    argNames:
    - p_w
    argTypes:
    - cea708_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 680
    functionDepth: 2
    functionLinenumber: 680
    functionLinenumberEnd: 756
    functionName: CEA708_Window_Scroll
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached:
    - CEA708_Window_MinCol
    - memmove
    - CEA708_Window_RowCount
    - CEA708_Window_MaxCol
    - CEA708_Window_Truncate
    linkageType: ''
    returnType: void
    signature: void CEA708_Window_Scroll( cea708_window_t *p_w )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CEA708_Window_ColCount
      Src: /src/vlc/modules/codec/cea708.c:764,1
    - Dst: CEA708_Window_Scroll
      Src: /src/vlc/modules/codec/cea708.c:767,1
    - Dst: CEA708_Window_ColCount
      Src: /src/vlc/modules/codec/cea708.c:773,1
    - Dst: CEA708_Window_Scroll
      Src: /src/vlc/modules/codec/cea708.c:776,1
    - Dst: CEA708_Window_RowCount
      Src: /src/vlc/modules/codec/cea708.c:782,1
    - Dst: CEA708_Window_Scroll
      Src: /src/vlc/modules/codec/cea708.c:785,1
    - Dst: CEA708_Window_Scroll
      Src: /src/vlc/modules/codec/cea708.c:793,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 1
    argNames:
    - p_w
    argTypes:
    - cea708_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 758
    functionDepth: 3
    functionLinenumber: 758
    functionLinenumberEnd: 798
    functionName: CEA708_Window_CarriageReturn
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached:
    - CEA708_Window_RowCount
    - CEA708_Window_ColCount
    - CEA708_Window_Scroll
    linkageType: ''
    returnType: void
    signature: void CEA708_Window_CarriageReturn( cea708_window_t *p_w )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CEA708_Window_CarriageReturn
      Src: /src/vlc/modules/codec/cea708.c:808,1
    - Dst: CEA708_Window_CarriageReturn
      Src: /src/vlc/modules/codec/cea708.c:814,1
    - Dst: CEA708_Window_CarriageReturn
      Src: /src/vlc/modules/codec/cea708.c:820,1
    - Dst: CEA708_Window_CarriageReturn
      Src: /src/vlc/modules/codec/cea708.c:826,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - p_w
    argTypes:
    - cea708_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 800
    functionDepth: 4
    functionLinenumber: 800
    functionLinenumberEnd: 829
    functionName: CEA708_Window_Forward
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached:
    - CEA708_Window_CarriageReturn
    linkageType: ''
    returnType: void
    signature: void CEA708_Window_Forward( cea708_window_t *p_w )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CEA708_Window_Forward
      Src: /src/vlc/modules/codec/cea708.c:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_w
    argTypes:
    - cea708_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 831
    functionDepth: 5
    functionLinenumber: 831
    functionLinenumberEnd: 844
    functionName: CEA708_Window_Backward
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached:
    - CEA708_Window_Forward
    linkageType: ''
    returnType: void
    signature: void CEA708_Window_Backward( cea708_window_t *p_w )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/codec/cea708.c:852,1
    - Dst: assert
      Src: /src/vlc/modules/codec/cea708.c:855,1
    - Dst: assert
      Src: /src/vlc/modules/codec/cea708.c:856,1
    - Dst: cea708_text_row_New
      Src: /src/vlc/modules/codec/cea708.c:863,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/cea708.c:872,1
    - Dst: CEA708_Window_Forward
      Src: /src/vlc/modules/codec/cea708.c:879,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cea708.c:881,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cea708.c:881,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - c
    - p_w
    argTypes:
    - uint8_t[]
    - cea708_window_t*
    assertStmts:
    - condition: ( p_w->row < CEA708_WINDOW_MAX_ROWS )
      pos:
        line_end: 854
        line_start: 854
        source_file: /src/vlc/modules/codec/cea708.c
    - condition: ( p_w->col < CEA708_WINDOW_MAX_COLS )
      pos:
        line_end: 855
        line_start: 855
        source_file: /src/vlc/modules/codec/cea708.c
    constantsTouched: []
    func_position:
      end: 882
      start: 846
    functionDepth: 5
    functionLinenumber: 846
    functionLinenumberEnd: 882
    functionName: CEA708_Window_Write
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached:
    - assert
    - printf
    - memcpy
    - cea708_text_row_New
    - CEA708_Window_Forward
    - Debug
    - unlikely
    linkageType: ''
    returnType: void
    signature: void CEA708_Window_Write( const uint8_t c[4], cea708_window_t *p_w
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 891
    functionName: CEA708ColorConvert
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CEA708ColorConvert( uint8_t c )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 901
    functionName: CEA708AlphaConvert
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t CEA708AlphaConvert( uint8_t c )
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: CEA708AlphaConvert
      Src: /src/vlc/modules/codec/cea708.c:907,1
    - Dst: CEA708ColorConvert
      Src: /src/vlc/modules/codec/cea708.c:909,1
    - Dst: CEA708ColorConvert
      Src: /src/vlc/modules/codec/cea708.c:914,1
    - Dst: CEA708AlphaConvert
      Src: /src/vlc/modules/codec/cea708.c:915,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 2
    argNames:
    - ps
    - s
    argTypes:
    - cea708_pen_style_t*
    - text_style_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 903
    functionDepth: 1
    functionLinenumber: 903
    functionLinenumberEnd: 953
    functionName: CEA708PenStyleToSegment
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached:
    - CEA708AlphaConvert
    - CEA708ColorConvert
    linkageType: ''
    returnType: void
    signature: void CEA708PenStyleToSegment( const cea708_pen_style_t *ps, text_style_t
      *s )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: text_segment_New
      Src: /src/vlc/modules/codec/cea708.c:959,1
    - Dst: text_style_Create
      Src: /src/vlc/modules/codec/cea708.c:963,1
    - Dst: CEA708PenStyleToSegment
      Src: /src/vlc/modules/codec/cea708.c:965,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/cea708.c:967,1
    - Dst: text_segment_Delete
      Src: /src/vlc/modules/codec/cea708.c:970,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - p_row
    - i_start
    - i_end
    - b_newline
    argTypes:
    - cea708_text_row_t*
    - uint8_t
    - uint8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 955
    functionDepth: 2
    functionLinenumber: 955
    functionLinenumberEnd: 993
    functionName: CEA708CharsToSegment
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached:
    - CEA708PenStyleToSegment
    - text_segment_Delete
    - text_style_Create
    - text_segment_New
    - malloc
    linkageType: ''
    returnType: text_segment_t
    signature: "text_segment_t * CEA708CharsToSegment( const cea708_text_row_t *p_row,\n
      \                                             uint8_t i_start, uint8_t i_end,\n
      \                                             bool b_newline )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/codec/cea708.c:1005,1
    - Dst: CEA708CharsToSegment
      Src: /src/vlc/modules/codec/cea708.c:1007,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - p_row
    - b_addnewline
    argTypes:
    - cea708_text_row_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 995
    functionDepth: 3
    functionLinenumber: 995
    functionLinenumberEnd: 1016
    functionName: CEA708RowToSegments
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached:
    - CEA708CharsToSegment
    - memcmp
    linkageType: ''
    returnType: text_segment_t
    signature: "text_segment_t * CEA708RowToSegments( const cea708_text_row_t *p_row,\n
      \                                            bool b_addnewline )"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: CEA708_Window_RowCount
      Src: /src/vlc/modules/codec/cea708.c:1022,1
    - Dst: SubpictureUpdaterSysRegionNew
      Src: /src/vlc/modules/codec/cea708.c:1025,1
    - Dst: CEA708RowToSegments
      Src: /src/vlc/modules/codec/cea708.c:1053,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 69
    argCount: 3
    argNames:
    - p_w
    - p_region
    - p_fmt
    argTypes:
    - cea708_window_t*
    - substext_updater_region_t*
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1018
    functionDepth: 4
    functionLinenumber: 1018
    functionLinenumberEnd: 1138
    functionName: CEA708SpuConvert
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached:
    - CEA708RowToSegments
    - CEA708_Window_RowCount
    - SubpictureUpdaterSysRegionNew
    linkageType: ''
    returnType: void
    signature: "void CEA708SpuConvert( const cea708_window_t *p_w,\n                              substext_updater_region_t
      *p_region,\n                              const video_format_t *p_fmt )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: decoder_NewSubpictureText
      Src: /src/vlc/modules/codec/cea708.c:1142,1
    - Dst: CEA708_Window_RowCount
      Src: /src/vlc/modules/codec/cea708.c:1156,1
    - Dst: SubpictureUpdaterSysRegionNew
      Src: /src/vlc/modules/codec/cea708.c:1161,1
    - Dst: SubpictureUpdaterSysRegionAdd
      Src: /src/vlc/modules/codec/cea708.c:1164,1
    - Dst: CEA708SpuConvert
      Src: /src/vlc/modules/codec/cea708.c:1170,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/codec/cea708.c:1175,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - p_cea708
    argTypes:
    - cea708_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1140
    functionDepth: 5
    functionLinenumber: 1140
    functionLinenumberEnd: 1181
    functionName: CEA708_BuildSubtitle
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached:
    - decoder_NewSubpictureText
    - VLC_TICK_FROM_SEC
    - SubpictureUpdaterSysRegionAdd
    - CEA708_Window_RowCount
    - SubpictureUpdaterSysRegionNew
    - CEA708SpuConvert
    linkageType: ''
    returnType: subpicture_t
    signature: subpicture_t *CEA708_BuildSubtitle( cea708_t *p_cea708 )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cea708_input_buffer_init
      Src: /src/vlc/modules/codec/cea708.c:1185,1
    - Dst: CEA708_Window_Init
      Src: /src/vlc/modules/codec/cea708.c:1187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p_cea708
    argTypes:
    - cea708_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1183
    functionDepth: 1
    functionLinenumber: 1183
    functionLinenumberEnd: 1192
    functionName: CEA708_Decoder_Init
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached:
    - cea708_input_buffer_init
    - CEA708_Window_Init
    linkageType: ''
    returnType: void
    signature: void CEA708_Decoder_Init( cea708_t *p_cea708 )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CEA708_Window_Reset
      Src: /src/vlc/modules/codec/cea708.c:1197,1
    - Dst: CEA708_Decoder_Init
      Src: /src/vlc/modules/codec/cea708.c:1198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_cea708
    argTypes:
    - cea708_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1194
    functionDepth: 3
    functionLinenumber: 1194
    functionLinenumberEnd: 1199
    functionName: CEA708_Decoder_Reset
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached:
    - CEA708_Window_Reset
    - CEA708_Decoder_Init
    linkageType: ''
    returnType: void
    signature: void CEA708_Decoder_Reset( cea708_t *p_cea708 )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CEA708_Decoder_Reset
      Src: /src/vlc/modules/codec/cea708.c:1203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_cea708
    argTypes:
    - cea708_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1201
    functionDepth: 4
    functionLinenumber: 1201
    functionLinenumberEnd: 1204
    functionName: CEA708_Decoder_Flush
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 2
    functionsReached:
    - CEA708_Decoder_Reset
    linkageType: ''
    returnType: void
    signature: void CEA708_Decoder_Flush( cea708_t *p_cea708 )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CEA708_Decoder_Reset
      Src: /src/vlc/modules/codec/cea708.c:1208,1
    - Dst: free
      Src: /src/vlc/modules/codec/cea708.c:1209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_cea708
    argTypes:
    - cea708_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1206
    functionDepth: 4
    functionLinenumber: 1206
    functionLinenumberEnd: 1210
    functionName: CEA708_Decoder_Release
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 2
    functionsReached:
    - free
    - CEA708_Decoder_Reset
    linkageType: ''
    returnType: void
    signature: void CEA708_Decoder_Release( cea708_t *p_cea708 )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/cea708.c:1214,1
    - Dst: CEA708_Decoder_Init
      Src: /src/vlc/modules/codec/cea708.c:1217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1212
    functionDepth: 2
    functionLinenumber: 1212
    functionLinenumberEnd: 1221
    functionName: CEA708_Decoder_New
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 2
    functionsReached:
    - CEA708_Decoder_Init
    - malloc
    linkageType: ''
    returnType: cea708_t
    signature: cea708_t * CEA708_Decoder_New( decoder_t *p_dec )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1224
    functionName: POP_COMMAND
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POP_COMMAND()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1225
    functionName: POP_ARGS
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POP_ARGS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1227
    functionName: REQUIRE_ARGS
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQUIRE_ARGS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1228
    functionName: REQUIRE_ARGS_AND_POP_COMMAND
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQUIRE_ARGS_AND_POP_COMMAND(n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Debug
      Src: /src/vlc/modules/codec/cea708.c:1231,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cea708.c:1231,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/codec/cea708.c:1231,1
    - Dst: CEA708_BuildSubtitle
      Src: /src/vlc/modules/codec/cea708.c:1232,1
    - Dst: decoder_QueueSub
      Src: /src/vlc/modules/codec/cea708.c:1234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_cea708
    argTypes:
    - cea708_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1229
    functionDepth: 6
    functionLinenumber: 1229
    functionLinenumberEnd: 1235
    functionName: CEA708_Output
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached:
    - MS_FROM_VLC_TICK
    - decoder_QueueSub
    - printf
    - CEA708_BuildSubtitle
    - Debug
    linkageType: ''
    returnType: void
    signature: void CEA708_Output( cea708_t *p_cea708 )
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: POP_COMMAND
      Src: /src/vlc/modules/codec/cea708.c:1247,1
    - Dst: POP_COMMAND
      Src: /src/vlc/modules/codec/cea708.c:1250,1
    - Dst: POP_COMMAND
      Src: /src/vlc/modules/codec/cea708.c:1258,1
    - Dst: CEA708_Window_Backward
      Src: /src/vlc/modules/codec/cea708.c:1261,1
    - Dst: POP_COMMAND
      Src: /src/vlc/modules/codec/cea708.c:1265,1
    - Dst: CEA708_Window_ClearText
      Src: /src/vlc/modules/codec/cea708.c:1268,1
    - Dst: POP_COMMAND
      Src: /src/vlc/modules/codec/cea708.c:1274,1
    - Dst: CEA708_Window_CarriageReturn
      Src: /src/vlc/modules/codec/cea708.c:1279,1
    - Dst: POP_COMMAND
      Src: /src/vlc/modules/codec/cea708.c:1285,1
    - Dst: CEA708_Window_CarriageReturn
      Src: /src/vlc/modules/codec/cea708.c:1290,1
    - Dst: cea708_input_buffer_size
      Src: /src/vlc/modules/codec/cea708.c:1296,1
    - Dst: cea708_input_buffer_peek
      Src: /src/vlc/modules/codec/cea708.c:1298,1
    - Dst: cea708_input_buffer_size
      Src: /src/vlc/modules/codec/cea708.c:1310,1
    - Dst: POP_COMMAND
      Src: /src/vlc/modules/codec/cea708.c:1312,1
    - Dst: POP_ARGS
      Src: /src/vlc/modules/codec/cea708.c:1313,1
    - Dst: cea708_input_buffer_size
      Src: /src/vlc/modules/codec/cea708.c:1322,1
    - Dst: POP_COMMAND
      Src: /src/vlc/modules/codec/cea708.c:1324,1
    - Dst: POP_ARGS
      Src: /src/vlc/modules/codec/cea708.c:1325,1
    - Dst: POP_COMMAND
      Src: /src/vlc/modules/codec/cea708.c:1329,1
    - Dst: cea708_input_buffer_get
      Src: /src/vlc/modules/codec/cea708.c:1330,1
    - Dst: CEA708_Decode_G2G3
      Src: /src/vlc/modules/codec/cea708.c:1332,1
    - Dst: REQUIRE_ARGS_AND_POP_COMMAND
      Src: /src/vlc/modules/codec/cea708.c:1338,1
    - Dst: cea708_input_buffer_get
      Src: /src/vlc/modules/codec/cea708.c:1339,1
    - Dst: cea708_input_buffer_get
      Src: /src/vlc/modules/codec/cea708.c:1340,1
    - Dst: CEA708_Decode_P16
      Src: /src/vlc/modules/codec/cea708.c:1341,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cea708.c:1342,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cea708.c:1342,1
    - Dst: POP_COMMAND
      Src: /src/vlc/modules/codec/cea708.c:1345,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cea708.c:1346,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cea708.c:1346,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cea708.c:1349,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cea708.c:1349,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 95
    argCount: 2
    argNames:
    - code
    - p_cea708
    argTypes:
    - uint8_t
    - cea708_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1237
    functionDepth: 6
    functionLinenumber: 1237
    functionLinenumberEnd: 1351
    functionName: CEA708_Decode_C0
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached:
    - CEA708_Window_Backward
    - CEA708_Decode_G2G3
    - REQUIRE_ARGS_AND_POP_COMMAND
    - cea708_input_buffer_get
    - CEA708_Decode_P16
    - POP_COMMAND
    - printf
    - CEA708_Window_ClearText
    - POP_ARGS
    - cea708_input_buffer_size
    - Debug
    - CEA708_Window_CarriageReturn
    - cea708_input_buffer_peek
    linkageType: ''
    returnType: int
    signature: int CEA708_Decode_C0( uint8_t code, cea708_t *p_cea708 )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: POP_COMMAND
      Src: /src/vlc/modules/codec/cea708.c:1356,1
    - Dst: CEA708_Window_Write
      Src: /src/vlc/modules/codec/cea708.c:1371,1
    - Dst: CEA708_Window_BreaksSpace
      Src: /src/vlc/modules/codec/cea708.c:1375,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - code
    - p_cea708
    argTypes:
    - uint8_t
    - cea708_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1353
    functionDepth: 6
    functionLinenumber: 1353
    functionLinenumberEnd: 1384
    functionName: CEA708_Decode_G0
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached:
    - CEA708_Window_BreaksSpace
    - POP_COMMAND
    - CEA708_Window_Write
    linkageType: ''
    returnType: int
    signature: int CEA708_Decode_G0( uint8_t code, cea708_t *p_cea708 )
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE_ARGS_AND_POP_COMMAND
      Src: /src/vlc/modules/codec/cea708.c:1401,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cea708.c:1402,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cea708.c:1402,1
    - Dst: cea708_input_buffer_get
      Src: /src/vlc/modules/codec/cea708.c:1403,1
    - Dst: CEA708_Window_ClearText
      Src: /src/vlc/modules/codec/cea708.c:1409,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cea708.c:1410,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cea708.c:1410,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cea708.c:1412,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cea708.c:1412,1
    - Dst: REQUIRE_ARGS_AND_POP_COMMAND
      Src: /src/vlc/modules/codec/cea708.c:1415,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cea708.c:1416,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cea708.c:1416,1
    - Dst: cea708_input_buffer_get
      Src: /src/vlc/modules/codec/cea708.c:1417,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cea708.c:1426,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cea708.c:1426,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cea708.c:1428,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cea708.c:1428,1
    - Dst: REQUIRE_ARGS_AND_POP_COMMAND
      Src: /src/vlc/modules/codec/cea708.c:1431,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cea708.c:1432,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cea708.c:1432,1
    - Dst: cea708_input_buffer_get
      Src: /src/vlc/modules/codec/cea708.c:1433,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cea708.c:1442,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cea708.c:1442,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cea708.c:1444,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cea708.c:1444,1
    - Dst: REQUIRE_ARGS_AND_POP_COMMAND
      Src: /src/vlc/modules/codec/cea708.c:1447,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cea708.c:1448,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cea708.c:1448,1
    - Dst: cea708_input_buffer_get
      Src: /src/vlc/modules/codec/cea708.c:1449,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cea708.c:1457,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cea708.c:1457,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cea708.c:1459,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cea708.c:1459,1
    - Dst: REQUIRE_ARGS_AND_POP_COMMAND
      Src: /src/vlc/modules/codec/cea708.c:1462,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cea708.c:1463,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cea708.c:1463,1
    - Dst: cea708_input_buffer_get
      Src: /src/vlc/modules/codec/cea708.c:1464,1
    - Dst: CEA708_Window_Reset
      Src: /src/vlc/modules/codec/cea708.c:1471,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cea708.c:1473,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cea708.c:1473,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cea708.c:1475,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cea708.c:1475,1
    - Dst: REQUIRE_ARGS_AND_POP_COMMAND
      Src: /src/vlc/modules/codec/cea708.c:1478,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/codec/cea708.c:1480,1
    - Dst: cea708_input_buffer_get
      Src: /src/vlc/modules/codec/cea708.c:1480,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cea708.c:1481,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cea708.c:1481,1
    - Dst: POP_COMMAND
      Src: /src/vlc/modules/codec/cea708.c:1484,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cea708.c:1486,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cea708.c:1486,1
    - Dst: POP_COMMAND
      Src: /src/vlc/modules/codec/cea708.c:1489,1
    - Dst: REQUIRE_ARGS_AND_POP_COMMAND
      Src: /src/vlc/modules/codec/cea708.c:1494,1
    - Dst: POP_ARGS
      Src: /src/vlc/modules/codec/cea708.c:1497,1
    - Dst: cea708_input_buffer_get
      Src: /src/vlc/modules/codec/cea708.c:1500,1
    - Dst: cea708_input_buffer_get
      Src: /src/vlc/modules/codec/cea708.c:1504,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cea708.c:1509,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cea708.c:1509,1
    - Dst: REQUIRE_ARGS_AND_POP_COMMAND
      Src: /src/vlc/modules/codec/cea708.c:1512,1
    - Dst: POP_ARGS
      Src: /src/vlc/modules/codec/cea708.c:1515,1
    - Dst: cea708_input_buffer_get
      Src: /src/vlc/modules/codec/cea708.c:1518,1
    - Dst: cea708_input_buffer_get
      Src: /src/vlc/modules/codec/cea708.c:1521,1
    - Dst: cea708_input_buffer_get
      Src: /src/vlc/modules/codec/cea708.c:1524,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cea708.c:1526,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cea708.c:1526,1
    - Dst: REQUIRE_ARGS_AND_POP_COMMAND
      Src: /src/vlc/modules/codec/cea708.c:1529,1
    - Dst: POP_ARGS
      Src: /src/vlc/modules/codec/cea708.c:1532,1
    - Dst: cea708_input_buffer_get
      Src: /src/vlc/modules/codec/cea708.c:1535,1
    - Dst: cea708_input_buffer_get
      Src: /src/vlc/modules/codec/cea708.c:1537,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cea708.c:1539,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cea708.c:1539,1
    - Dst: REQUIRE_ARGS_AND_POP_COMMAND
      Src: /src/vlc/modules/codec/cea708.c:1542,1
    - Dst: POP_ARGS
      Src: /src/vlc/modules/codec/cea708.c:1545,1
    - Dst: cea708_input_buffer_get
      Src: /src/vlc/modules/codec/cea708.c:1548,1
    - Dst: cea708_input_buffer_get
      Src: /src/vlc/modules/codec/cea708.c:1551,1
    - Dst: cea708_input_buffer_get
      Src: /src/vlc/modules/codec/cea708.c:1554,1
    - Dst: cea708_input_buffer_get
      Src: /src/vlc/modules/codec/cea708.c:1560,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cea708.c:1564,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cea708.c:1564,1
    - Dst: POP_COMMAND
      Src: /src/vlc/modules/codec/cea708.c:1570,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cea708.c:1571,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cea708.c:1571,1
    - Dst: REQUIRE_ARGS_AND_POP_COMMAND
      Src: /src/vlc/modules/codec/cea708.c:1577,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cea708.c:1578,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cea708.c:1578,1
    - Dst: cea708_input_buffer_get
      Src: /src/vlc/modules/codec/cea708.c:1581,1
    - Dst: cea708_input_buffer_get
      Src: /src/vlc/modules/codec/cea708.c:1589,1
    - Dst: cea708_input_buffer_get
      Src: /src/vlc/modules/codec/cea708.c:1592,1
    - Dst: cea708_input_buffer_get
      Src: /src/vlc/modules/codec/cea708.c:1594,1
    - Dst: cea708_input_buffer_get
      Src: /src/vlc/modules/codec/cea708.c:1597,1
    - Dst: cea708_input_buffer_get
      Src: /src/vlc/modules/codec/cea708.c:1599,1
    - Dst: Debug
      Src: /src/vlc/modules/codec/cea708.c:1615,1
    - Dst: printf
      Src: /src/vlc/modules/codec/cea708.c:1615,1
    - Dst: POP_COMMAND
      Src: /src/vlc/modules/codec/cea708.c:1616,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 202
    argCount: 2
    argNames:
    - code
    - p_cea708
    argTypes:
    - uint8_t
    - cea708_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1386
    functionDepth: 3
    functionLinenumber: 1386
    functionLinenumberEnd: 1621
    functionName: CEA708_Decode_C1
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached:
    - REQUIRE_ARGS_AND_POP_COMMAND
    - cea708_input_buffer_get
    - printf
    - VLC_TICK_FROM_MS
    - POP_COMMAND
    - CEA708_Window_ClearText
    - CEA708_Window_Reset
    - POP_ARGS
    - Debug
    linkageType: ''
    returnType: int
    signature: int CEA708_Decode_C1( uint8_t code, cea708_t *p_cea708 )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: POP_COMMAND
      Src: /src/vlc/modules/codec/cea708.c:1626,1
    - Dst: CEA708_Window_Write
      Src: /src/vlc/modules/codec/cea708.c:1635,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - code
    - p_cea708
    argTypes:
    - uint8_t
    - cea708_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1623
    functionDepth: 6
    functionLinenumber: 1623
    functionLinenumberEnd: 1639
    functionName: CEA708_Decode_G1
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached:
    - POP_COMMAND
    - CEA708_Window_Write
    linkageType: ''
    returnType: int
    signature: int CEA708_Decode_G1( uint8_t code, cea708_t *p_cea708 )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/cea708.c:1682,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/cea708.c:1686,1
    - Dst: CEA708_Window_Write
      Src: /src/vlc/modules/codec/cea708.c:1700,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - code
    - p_cea708
    argTypes:
    - uint8_t
    - cea708_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1641
    functionDepth: 6
    functionLinenumber: 1641
    functionLinenumberEnd: 1705
    functionName: CEA708_Decode_G2G3
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ARRAY_SIZE
    - CEA708_Window_Write
    linkageType: ''
    returnType: int
    signature: int CEA708_Decode_G2G3( uint8_t code, cea708_t *p_cea708 )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CEA708_Window_Write
      Src: /src/vlc/modules/codec/cea708.c:1731,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - ucs2
    - p_cea708
    argTypes:
    - uint16_t
    - cea708_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1736
      start: 1707
    functionDepth: 6
    functionLinenumber: 1707
    functionLinenumberEnd: 1736
    functionName: CEA708_Decode_P16
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 1
    functionsReached:
    - CEA708_Window_Write
    linkageType: ''
    returnType: int
    signature: int CEA708_Decode_P16( uint16_t ucs2, cea708_t *p_cea708 )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cea708_input_buffer_size
      Src: /src/vlc/modules/codec/cea708.c:1742,1
    - Dst: cea708_input_buffer_peek
      Src: /src/vlc/modules/codec/cea708.c:1747,1
    - Dst: CEA708_Decode_C0
      Src: /src/vlc/modules/codec/cea708.c:1750,1
    - Dst: CEA708_Decode_G0
      Src: /src/vlc/modules/codec/cea708.c:1752,1
    - Dst: CEA708_Decode_C1
      Src: /src/vlc/modules/codec/cea708.c:1754,1
    - Dst: CEA708_Decode_G1
      Src: /src/vlc/modules/codec/cea708.c:1756,1
    - Dst: CEA708_Output
      Src: /src/vlc/modules/codec/cea708.c:1759,1
    - Dst: cea708_input_buffer_size
      Src: /src/vlc/modules/codec/cea708.c:1765,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/codec/cea708.c:1767,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - h
    argTypes:
    - cea708_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1738
    functionDepth: 7
    functionLinenumber: 1738
    functionLinenumberEnd: 1769
    functionName: CEA708_Decode_ServiceBuffer
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 0
    functionsReached:
    - CEA708_Decode_G1
    - CEA708_Decode_C1
    - CEA708_Decode_C0
    - CEA708_Output
    - cea708_input_buffer_size
    - vlc_tick_from_samples
    - CEA708_Decode_G0
    - cea708_input_buffer_peek
    linkageType: ''
    returnType: void
    signature: void CEA708_Decode_ServiceBuffer( cea708_t *h )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cea708_input_buffer_remain
      Src: /src/vlc/modules/codec/cea708.c:1780,1
    - Dst: cea708_input_buffer_add
      Src: /src/vlc/modules/codec/cea708.c:1789,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/codec/cea708.c:1799,1
    - Dst: CEA708_Decode_ServiceBuffer
      Src: /src/vlc/modules/codec/cea708.c:1806,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - h
    - i_time
    - p_data
    - i_data
    argTypes:
    - cea708_t*
    - vlc_tick_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1810
      start: 1771
    functionDepth: 8
    functionLinenumber: 1771
    functionLinenumberEnd: 1810
    functionName: CEA708_Decoder_Push
    functionSourceFile: /src/vlc/modules/codec/cea708.c
    functionUses: 2
    functionsReached:
    - vlc_tick_from_samples
    - cea708_input_buffer_remain
    - cea708_input_buffer_add
    - CEA708_Decode_ServiceBuffer
    linkageType: ''
    returnType: void
    signature: "void CEA708_Decoder_Push( cea708_t *h, vlc_tick_t i_time,\n                          const
      uint8_t *p_data, size_t i_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/codec/alpha_d3d11.cpp:24,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/alpha_d3d11.cpp:25,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/alpha_d3d11.cpp:26,1
    - Dst: d3d11_pic_context_destroy
      Src: /src/vlc/modules/codec/alpha_d3d11.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 41
    functionName: d3d11_alpha_pic_context_destroy
    functionSourceFile: /src/vlc/modules/codec/alpha_d3d11.cpp
    functionUses: 0
    functionsReached:
    - picture_Release
    - d3d11_pic_context_destroy
    - container_of
    linkageType: ''
    returnType: void
    signature: void d3d11_alpha_pic_context_destroy(picture_context_t *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/alpha_d3d11.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!"unsupported yet!")
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/vlc/modules/codec/alpha_d3d11.cpp
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: d3d11_alpha_pic_context_copy
    functionSourceFile: /src/vlc/modules/codec/alpha_d3d11.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: picture_context_t
    signature: picture_context_t *d3d11_alpha_pic_context_copy(picture_context_t *)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decoder_NewPicture
      Src: /src/vlc/modules/codec/alpha_d3d11.cpp:51,1
    - Dst: static_cast<d3d11_alpha_context *>
      Src: /src/vlc/modules/codec/alpha_d3d11.cpp:55,1
    - Dst: calloc
      Src: /src/vlc/modules/codec/alpha_d3d11.cpp:55,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/alpha_d3d11.cpp:56,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/alpha_d3d11.cpp:58,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/codec/alpha_d3d11.cpp:64,1
    - Dst: picture_Hold
      Src: /src/vlc/modules/codec/alpha_d3d11.cpp:65,1
    - Dst: picture_Hold
      Src: /src/vlc/modules/codec/alpha_d3d11.cpp:66,1
    - Dst: ActiveD3D11PictureSys
      Src: /src/vlc/modules/codec/alpha_d3d11.cpp:70,1
    - Dst: ActiveD3D11PictureSys
      Src: /src/vlc/modules/codec/alpha_d3d11.cpp:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 4
    argNames:
    - dec
    - opaque
    - alpha
    - vctx
    argTypes:
    - decoder_t*
    - picture_t*
    - picture_t*
    - vlc_video_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 84
    functionName: CombineD3D11
    functionSourceFile: /src/vlc/modules/codec/alpha_d3d11.cpp
    functionUses: 0
    functionsReached:
    - static_cast<d3d11_alpha_context *>
    - picture_Hold
    - ActiveD3D11PictureSys
    - vlc_video_context_Hold
    - calloc
    - picture_Release
    - unlikely
    - decoder_NewPicture
    linkageType: ''
    returnType: picture_t
    signature: picture_t *CombineD3D11(decoder_t *dec, picture_t *opaque, picture_t
      *alpha, vlc_video_context *vctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetD3D11ContextPrivate
      Src: /src/vlc/modules/codec/alpha_d3d11.cpp:88,1
    - Dst: assert
      Src: /src/vlc/modules/codec/alpha_d3d11.cpp:89,1
    - Dst: assert
      Src: /src/vlc/modules/codec/alpha_d3d11.cpp:90,1
    - Dst: vlc_video_context_HoldDevice
      Src: /src/vlc/modules/codec/alpha_d3d11.cpp:92,1
    - Dst: D3D11CreateVideoContext
      Src: /src/vlc/modules/codec/alpha_d3d11.cpp:93,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/codec/alpha_d3d11.cpp:94,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/alpha_d3d11.cpp:95,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/alpha_d3d11.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - dec
    - vctx
    - vctx_out
    argTypes:
    - decoder_t*
    - vlc_video_context*
    - vlc_video_context**
    assertStmts:
    - condition: (*vctx_out == nullptr)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/vlc/modules/codec/alpha_d3d11.cpp
    - condition: (vctx_sys->secondary == DXGI_FORMAT_UNKNOWN)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/vlc/modules/codec/alpha_d3d11.cpp
    constantsTouched: []
    func_position:
      end: 103
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 103
    functionName: SetupD3D11
    functionSourceFile: /src/vlc/modules/codec/alpha_d3d11.cpp
    functionUses: 1
    functionsReached:
    - vlc_video_context_HoldDevice
    - D3D11CreateVideoContext
    - assert
    - vlc_decoder_device_Release
    - GetD3D11ContextPrivate
    - msg_Dbg
    - unlikely
    linkageType: ''
    returnType: int
    signature: int SetupD3D11(decoder_t *dec, vlc_video_context *vctx, vlc_video_context
      **vctx_out)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/adpcm.c:143,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/adpcm.c:148,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/adpcm.c:149,1
    - Dst: calloc
      Src: /src/vlc/modules/codec/adpcm.c:181,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/adpcm.c:183,1
    - Dst: free
      Src: /src/vlc/modules/codec/adpcm.c:185,1
    - Dst: free
      Src: /src/vlc/modules/codec/adpcm.c:193,1
    - Dst: free
      Src: /src/vlc/modules/codec/adpcm.c:194,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/adpcm.c:195,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/adpcm.c:203,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/adpcm.c:268,1
    - Dst: free
      Src: /src/vlc/modules/codec/adpcm.c:276,1
    - Dst: free
      Src: /src/vlc/modules/codec/adpcm.c:277,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/adpcm.c:278,1
    - Dst: date_Init
      Src: /src/vlc/modules/codec/adpcm.c:288,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 115
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 294
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/modules/codec/adpcm.c
    functionUses: 0
    functionsReached:
    - date_Init
    - msg_Err
    - calloc
    - free
    - msg_Dbg
    - msg_Warn
    - unlikely
    - malloc
    linkageType: ''
    returnType: int
    signature: int OpenDecoder( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: date_Set
      Src: /src/vlc/modules/codec/adpcm.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 304
    functionName: Flush
    functionSourceFile: /src/vlc/modules/codec/adpcm.c
    functionUses: 98
    functionsReached:
    - date_Set
    linkageType: ''
    returnType: void
    signature: void Flush( decoder_t *p_dec )
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/vlc/modules/codec/adpcm.c:320,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/adpcm.c:326,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/adpcm.c:328,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/adpcm.c:330,1
    - Dst: decoder_UpdateAudioFormat
      Src: /src/vlc/modules/codec/adpcm.c:341,1
    - Dst: decoder_NewAudioBuffer
      Src: /src/vlc/modules/codec/adpcm.c:343,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/adpcm.c:347,1
    - Dst: date_Increment
      Src: /src/vlc/modules/codec/adpcm.c:348,1
    - Dst: DecodeAdpcmImaQT
      Src: /src/vlc/modules/codec/adpcm.c:354,1
    - Dst: DecodeAdpcmImaWav
      Src: /src/vlc/modules/codec/adpcm.c:358,1
    - Dst: DecodeAdpcmMs
      Src: /src/vlc/modules/codec/adpcm.c:362,1
    - Dst: DecodeAdpcmDk4
      Src: /src/vlc/modules/codec/adpcm.c:366,1
    - Dst: DecodeAdpcmDk3
      Src: /src/vlc/modules/codec/adpcm.c:370,1
    - Dst: DecodeAdpcmEA
      Src: /src/vlc/modules/codec/adpcm.c:374,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/adpcm.c:386,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 389
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/codec/adpcm.c
    functionUses: 17
    functionsReached:
    - DecodeAdpcmEA
    - block_Release
    - DecodeAdpcmImaQT
    - DecodeAdpcmDk3
    - decoder_NewAudioBuffer
    - date_Set
    - decoder_UpdateAudioFormat
    - DecodeAdpcmDk4
    - DecodeAdpcmImaWav
    - DecodeAdpcmMs
    - date_Get
    - date_Increment
    - Flush
    linkageType: ''
    returnType: block_t
    signature: block_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DecodeBlock
      Src: /src/vlc/modules/codec/adpcm.c:397,1
    - Dst: decoder_QueueAudio
      Src: /src/vlc/modules/codec/adpcm.c:398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 400
    functionName: DecodeAudio
    functionSourceFile: /src/vlc/modules/codec/adpcm.c
    functionUses: 4
    functionsReached:
    - DecodeBlock
    - decoder_QueueAudio
    linkageType: ''
    returnType: int
    signature: int DecodeAudio( decoder_t *p_dec, block_t *p_block )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/codec/adpcm.c:410,1
    - Dst: free
      Src: /src/vlc/modules/codec/adpcm.c:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 412
    functionName: CloseDecoder
    functionSourceFile: /src/vlc/modules/codec/adpcm.c
    functionUses: 3
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void CloseDecoder( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - v
    - ','
    - min
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: CLAMP
    functionSourceFile: /src/vlc/modules/codec/adpcm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLAMP( v, min, max )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 423
    functionName: GetByte
    functionSourceFile: /src/vlc/modules/codec/adpcm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GetByte( v )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 428
    functionName: GetWord
    functionSourceFile: /src/vlc/modules/codec/adpcm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GetWord( v )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CLAMP
      Src: /src/vlc/modules/codec/adpcm.c:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - p_channel
    - i_nibble
    argTypes:
    - adpcm_ms_channel_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 466
    functionName: AdpcmMsExpandNibble
    functionSourceFile: /src/vlc/modules/codec/adpcm.c
    functionUses: 0
    functionsReached:
    - CLAMP
    linkageType: ''
    returnType: int
    signature: "int AdpcmMsExpandNibble(adpcm_ms_channel_t *p_channel,\n                               int
      i_nibble )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetByte
      Src: /src/vlc/modules/codec/adpcm.c:482,1
    - Dst: CLAMP
      Src: /src/vlc/modules/codec/adpcm.c:483,1
    - Dst: GetByte
      Src: /src/vlc/modules/codec/adpcm.c:489,1
    - Dst: CLAMP
      Src: /src/vlc/modules/codec/adpcm.c:490,1
    - Dst: GetWord
      Src: /src/vlc/modules/codec/adpcm.c:494,1
    - Dst: GetWord
      Src: /src/vlc/modules/codec/adpcm.c:497,1
    - Dst: GetWord
      Src: /src/vlc/modules/codec/adpcm.c:500,1
    - Dst: GetWord
      Src: /src/vlc/modules/codec/adpcm.c:503,1
    - Dst: GetWord
      Src: /src/vlc/modules/codec/adpcm.c:506,1
    - Dst: GetWord
      Src: /src/vlc/modules/codec/adpcm.c:509,1
    - Dst: AdpcmMsExpandNibble
      Src: /src/vlc/modules/codec/adpcm.c:527,1
    - Dst: AdpcmMsExpandNibble
      Src: /src/vlc/modules/codec/adpcm.c:528,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 3
    argNames:
    - p_dec
    - p_sample
    - p_buffer
    argTypes:
    - decoder_t*
    - int16_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 468
    functionDepth: 2
    functionLinenumber: 468
    functionLinenumberEnd: 531
    functionName: DecodeAdpcmMs
    functionSourceFile: /src/vlc/modules/codec/adpcm.c
    functionUses: 1
    functionsReached:
    - GetByte
    - CLAMP
    - GetWord
    - AdpcmMsExpandNibble
    linkageType: ''
    returnType: void
    signature: "void DecodeAdpcmMs( decoder_t *p_dec, int16_t *p_sample,\n                           uint8_t
      *p_buffer )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CLAMP
      Src: /src/vlc/modules/codec/adpcm.c:557,1
    - Dst: CLAMP
      Src: /src/vlc/modules/codec/adpcm.c:561,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - p_channel
    - i_nibble
    argTypes:
    - adpcm_ima_wav_channel_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 564
    functionName: AdpcmImaWavExpandNibble
    functionSourceFile: /src/vlc/modules/codec/adpcm.c
    functionUses: 0
    functionsReached:
    - CLAMP
    linkageType: ''
    returnType: int
    signature: "int AdpcmImaWavExpandNibble(adpcm_ima_wav_channel_t *p_channel,\n
      \                                  int i_nibble )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetWord
      Src: /src/vlc/modules/codec/adpcm.c:576,1
    - Dst: GetByte
      Src: /src/vlc/modules/codec/adpcm.c:577,1
    - Dst: CLAMP
      Src: /src/vlc/modules/codec/adpcm.c:578,1
    - Dst: GetWord
      Src: /src/vlc/modules/codec/adpcm.c:583,1
    - Dst: GetByte
      Src: /src/vlc/modules/codec/adpcm.c:584,1
    - Dst: CLAMP
      Src: /src/vlc/modules/codec/adpcm.c:585,1
    - Dst: AdpcmImaWavExpandNibble
      Src: /src/vlc/modules/codec/adpcm.c:600,1
    - Dst: AdpcmImaWavExpandNibble
      Src: /src/vlc/modules/codec/adpcm.c:602,1
    - Dst: AdpcmImaWavExpandNibble
      Src: /src/vlc/modules/codec/adpcm.c:609,1
    - Dst: AdpcmImaWavExpandNibble
      Src: /src/vlc/modules/codec/adpcm.c:611,1
    - Dst: AdpcmImaWavExpandNibble
      Src: /src/vlc/modules/codec/adpcm.c:626,1
    - Dst: AdpcmImaWavExpandNibble
      Src: /src/vlc/modules/codec/adpcm.c:627,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - p_dec
    - p_sample
    - p_buffer
    argTypes:
    - decoder_t*
    - int16_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 566
    functionDepth: 2
    functionLinenumber: 566
    functionLinenumberEnd: 630
    functionName: DecodeAdpcmImaWav
    functionSourceFile: /src/vlc/modules/codec/adpcm.c
    functionUses: 1
    functionsReached:
    - GetByte
    - CLAMP
    - GetWord
    - AdpcmImaWavExpandNibble
    linkageType: ''
    returnType: void
    signature: "void DecodeAdpcmImaWav( decoder_t *p_dec, int16_t *p_sample,\n                               uint8_t
      *p_buffer )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLAMP
      Src: /src/vlc/modules/codec/adpcm.c:654,1
    - Dst: AdpcmImaWavExpandNibble
      Src: /src/vlc/modules/codec/adpcm.c:659,1
    - Dst: AdpcmImaWavExpandNibble
      Src: /src/vlc/modules/codec/adpcm.c:662,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - p_dec
    - p_sample
    - p_buffer
    argTypes:
    - decoder_t*
    - int16_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 671
    functionName: DecodeAdpcmImaQT
    functionSourceFile: /src/vlc/modules/codec/adpcm.c
    functionUses: 1
    functionsReached:
    - CLAMP
    - AdpcmImaWavExpandNibble
    linkageType: ''
    returnType: void
    signature: "void DecodeAdpcmImaQT( decoder_t *p_dec, int16_t *p_sample,\n                              uint8_t
      *p_buffer )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetWord
      Src: /src/vlc/modules/codec/adpcm.c:686,1
    - Dst: GetByte
      Src: /src/vlc/modules/codec/adpcm.c:687,1
    - Dst: CLAMP
      Src: /src/vlc/modules/codec/adpcm.c:688,1
    - Dst: GetWord
      Src: /src/vlc/modules/codec/adpcm.c:693,1
    - Dst: GetByte
      Src: /src/vlc/modules/codec/adpcm.c:694,1
    - Dst: CLAMP
      Src: /src/vlc/modules/codec/adpcm.c:695,1
    - Dst: AdpcmImaWavExpandNibble
      Src: /src/vlc/modules/codec/adpcm.c:710,1
    - Dst: AdpcmImaWavExpandNibble
      Src: /src/vlc/modules/codec/adpcm.c:712,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - p_dec
    - p_sample
    - p_buffer
    argTypes:
    - decoder_t*
    - int16_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 676
    functionDepth: 2
    functionLinenumber: 676
    functionLinenumberEnd: 717
    functionName: DecodeAdpcmDk4
    functionSourceFile: /src/vlc/modules/codec/adpcm.c
    functionUses: 1
    functionsReached:
    - GetByte
    - CLAMP
    - GetWord
    - AdpcmImaWavExpandNibble
    linkageType: ''
    returnType: void
    signature: "void DecodeAdpcmDk4( decoder_t *p_dec, int16_t *p_sample,\n                            uint8_t
      *p_buffer )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetWord
      Src: /src/vlc/modules/codec/adpcm.c:733,1
    - Dst: GetWord
      Src: /src/vlc/modules/codec/adpcm.c:734,1
    - Dst: GetByte
      Src: /src/vlc/modules/codec/adpcm.c:735,1
    - Dst: GetByte
      Src: /src/vlc/modules/codec/adpcm.c:736,1
    - Dst: CLAMP
      Src: /src/vlc/modules/codec/adpcm.c:738,1
    - Dst: CLAMP
      Src: /src/vlc/modules/codec/adpcm.c:739,1
    - Dst: AdpcmImaWavExpandNibble
      Src: /src/vlc/modules/codec/adpcm.c:746,1
    - Dst: AdpcmImaWavExpandNibble
      Src: /src/vlc/modules/codec/adpcm.c:749,1
    - Dst: AdpcmImaWavExpandNibble
      Src: /src/vlc/modules/codec/adpcm.c:759,1
    - Dst: AdpcmImaWavExpandNibble
      Src: /src/vlc/modules/codec/adpcm.c:766,1
    - Dst: AdpcmImaWavExpandNibble
      Src: /src/vlc/modules/codec/adpcm.c:771,1
    - Dst: AdpcmImaWavExpandNibble
      Src: /src/vlc/modules/codec/adpcm.c:779,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 3
    argNames:
    - p_dec
    - p_sample
    - p_buffer
    argTypes:
    - decoder_t*
    - int16_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 722
    functionDepth: 2
    functionLinenumber: 722
    functionLinenumberEnd: 787
    functionName: DecodeAdpcmDk3
    functionSourceFile: /src/vlc/modules/codec/adpcm.c
    functionUses: 1
    functionsReached:
    - GetByte
    - CLAMP
    - GetWord
    - AdpcmImaWavExpandNibble
    linkageType: ''
    returnType: void
    signature: "void DecodeAdpcmDk3( decoder_t *p_dec, int16_t *p_sample,\n                            uint8_t
      *p_buffer )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLAMP
      Src: /src/vlc/modules/codec/adpcm.c:830,1
    - Dst: CLAMP
      Src: /src/vlc/modules/codec/adpcm.c:842,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - p_dec
    - p_sample
    - p_buffer
    argTypes:
    - decoder_t*
    - int16_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 849
    functionName: DecodeAdpcmEA
    functionSourceFile: /src/vlc/modules/codec/adpcm.c
    functionUses: 1
    functionsReached:
    - CLAMP
    linkageType: ''
    returnType: void
    signature: "void DecodeAdpcmEA( decoder_t *p_dec, int16_t *p_sample,\n                           uint8_t
      *p_buffer )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: dbg
    functionSourceFile: /src/vlc/modules/codec/telx.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbg( a )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: dbg
    functionSourceFile: /src/vlc/modules/codec/telx.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbg( a )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/codec/telx.c:192,1
    - Dst: var_CreateGetInteger
      Src: /src/vlc/modules/codec/telx.c:201,1
    - Dst: var_CreateGetBool
      Src: /src/vlc/modules/codec/telx.c:210,1
    - Dst: var_CreateGetBool
      Src: /src/vlc/modules/codec/telx.c:232,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/telx.c:235,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 247
    functionName: Open
    functionSourceFile: /src/vlc/modules/codec/telx.c
    functionUses: 75
    functionsReached:
    - var_CreateGetBool
    - vlc_obj_calloc
    - var_CreateGetInteger
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 258
    functionName: bytereverse
    functionSourceFile: /src/vlc/modules/codec/telx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t bytereverse( int n )
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 1
    argNames:
    - a
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 298
    functionName: hamming_8_4
    functionSourceFile: /src/vlc/modules/codec/telx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hamming_8_4( int a )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - res
    - ch
    argTypes:
    - char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 326
    functionName: to_utf8
    functionSourceFile: /src/vlc/modules/codec/telx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void to_utf8( char * res, uint16_t ch )
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: bytereverse
      Src: /src/vlc/modules/codec/telx.c:342,1
    - Dst: bytereverse
      Src: /src/vlc/modules/codec/telx.c:392,1
    - Dst: to_utf8
      Src: /src/vlc/modules/codec/telx.c:416,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/telx.c:417,1
    - Dst: assert
      Src: /src/vlc/modules/codec/telx.c:418,1
    - Dst: strcpy
      Src: /src/vlc/modules/codec/telx.c:421,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 66
    argCount: 6
    argNames:
    - res
    - res_len
    - p_sys
    - magazine
    - packet
    - len
    argTypes:
    - char*
    - int
    - decoder_sys_t*
    - int
    - uint8_t*
    - int
    assertStmts:
    - condition: (l < 4)
      pos:
        line_end: 417
        line_start: 417
        source_file: /src/vlc/modules/codec/telx.c
    constantsTouched: []
    func_position:
      end: 429
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 429
    functionName: decode_string
    functionSourceFile: /src/vlc/modules/codec/telx.c
    functionUses: 0
    functionsReached:
    - assert
    - bytereverse
    - strlen
    - strcpy
    - to_utf8
    linkageType: ''
    returnType: void
    signature: "void decode_string( char * res, int res_len,\n                           decoder_sys_t
      *p_sys, int magazine,\n                           const uint8_t * packet, int
      len )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bytereverse
      Src: /src/vlc/modules/codec/telx.c:440,1
    - Dst: hamming_8_4
      Src: /src/vlc/modules/codec/telx.c:440,1
    - Dst: bytereverse
      Src: /src/vlc/modules/codec/telx.c:447,1
    - Dst: hamming_8_4
      Src: /src/vlc/modules/codec/telx.c:447,1
    - Dst: bytereverse
      Src: /src/vlc/modules/codec/telx.c:448,1
    - Dst: hamming_8_4
      Src: /src/vlc/modules/codec/telx.c:448,1
    - Dst: decode_string
      Src: /src/vlc/modules/codec/telx.c:451,1
    - Dst: dbg
      Src: /src/vlc/modules/codec/telx.c:454,1
    - Dst: dbg
      Src: /src/vlc/modules/codec/telx.c:467,1
    - Dst: dbg
      Src: /src/vlc/modules/codec/telx.c:493,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/telx.c:505,1
    - Dst: strlcpy
      Src: /src/vlc/modules/codec/telx.c:507,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - p_dec
    - packet
    - magazine
    argTypes:
    - decoder_t*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 431
    functionDepth: 2
    functionLinenumber: 431
    functionLinenumberEnd: 512
    functionName: DecodePageHeaderPacket
    functionSourceFile: /src/vlc/modules/codec/telx.c
    functionUses: 0
    functionsReached:
    - bytereverse
    - strlcpy
    - decode_string
    - dbg
    - strcmp
    - hamming_8_4
    linkageType: ''
    returnType: bool
    signature: "bool DecodePageHeaderPacket( decoder_t *p_dec, const uint8_t *packet,\n
      \                                   int magazine )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_string
      Src: /src/vlc/modules/codec/telx.c:527,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/telx.c:535,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/telx.c:539,1
    - Dst: strlcpy
      Src: /src/vlc/modules/codec/telx.c:541,1
    - Dst: dbg
      Src: /src/vlc/modules/codec/telx.c:549,1
    - Dst: dbg
      Src: /src/vlc/modules/codec/telx.c:550,1
    - Dst: bytereverse
      Src: /src/vlc/modules/codec/telx.c:558,1
    - Dst: sprintf
      Src: /src/vlc/modules/codec/telx.c:559,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/telx.c:559,1
    - Dst: dbg
      Src: /src/vlc/modules/codec/telx.c:561,1
    - Dst: decode_string
      Src: /src/vlc/modules/codec/telx.c:565,1
    - Dst: sprintf
      Src: /src/vlc/modules/codec/telx.c:567,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/telx.c:567,1
    - Dst: dbg
      Src: /src/vlc/modules/codec/telx.c:569,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 5
    argNames:
    - p_dec
    - packet
    - magazine
    - row
    - pts
    argTypes:
    - decoder_t*
    - uint8_t*
    - int
    - int
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 573
    functionName: DecodePacketX1_X23
    functionSourceFile: /src/vlc/modules/codec/telx.c
    functionUses: 0
    functionsReached:
    - bytereverse
    - strlcpy
    - sprintf
    - strlen
    - decode_string
    - dbg
    - strcmp
    linkageType: ''
    returnType: bool
    signature: "bool DecodePacketX1_X23( decoder_t *p_dec, const uint8_t *packet,\n
      \                               int magazine, int row, vlc_tick_t pts )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_string
      Src: /src/vlc/modules/codec/telx.c:583,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/telx.c:587,1
    - Dst: strlcpy
      Src: /src/vlc/modules/codec/telx.c:589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p_dec
    - packet
    - magazine
    argTypes:
    - decoder_t*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 576
    functionDepth: 2
    functionLinenumber: 576
    functionLinenumberEnd: 595
    functionName: DecodePacketX25
    functionSourceFile: /src/vlc/modules/codec/telx.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strlcpy
    - decode_string
    linkageType: ''
    returnType: bool
    signature: "bool DecodePacketX25( decoder_t *p_dec, const uint8_t *packet,\n                             int
      magazine )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DecodePacketX1_X23
      Src: /src/vlc/modules/codec/telx.c:608,1
    - Dst: DecodePacketX25
      Src: /src/vlc/modules/codec/telx.c:610,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 5
    argNames:
    - p_dec
    - packet
    - magazine
    - row
    - pts
    argTypes:
    - decoder_t*
    - uint8_t*
    - int
    - int
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 597
    functionDepth: 3
    functionLinenumber: 597
    functionLinenumberEnd: 613
    functionName: DecodeNormalPacket
    functionSourceFile: /src/vlc/modules/codec/telx.c
    functionUses: 0
    functionsReached:
    - DecodePacketX1_X23
    - DecodePacketX25
    linkageType: ''
    returnType: bool
    signature: "bool DecodeNormalPacket( decoder_t *p_dec, const uint8_t *packet,\n
      \                               int magazine, int row, vlc_tick_t pts )"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: hamming_8_4
      Src: /src/vlc/modules/codec/telx.c:653,1
    - Dst: hamming_8_4
      Src: /src/vlc/modules/codec/telx.c:653,1
    - Dst: dbg
      Src: /src/vlc/modules/codec/telx.c:658,1
    - Dst: bytereverse
      Src: /src/vlc/modules/codec/telx.c:663,1
    - Dst: DecodePageHeaderPacket
      Src: /src/vlc/modules/codec/telx.c:674,1
    - Dst: dbg
      Src: /src/vlc/modules/codec/telx.c:676,1
    - Dst: DecodeNormalPacket
      Src: /src/vlc/modules/codec/telx.c:681,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/telx.c:696,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/telx.c:703,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/telx.c:715,1
    - Dst: dbg
      Src: /src/vlc/modules/codec/telx.c:718,1
    - Dst: assert
      Src: /src/vlc/modules/codec/telx.c:720,1
    - Dst: strcpy
      Src: /src/vlc/modules/codec/telx.c:721,1
    - Dst: decoder_NewSubpicture
      Src: /src/vlc/modules/codec/telx.c:724,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/telx.c:727,1
    - Dst: subpicture_region_NewText
      Src: /src/vlc/modules/codec/telx.c:732,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/telx.c:735,1
    - Dst: vlc_spu_regions_push
      Src: /src/vlc/modules/codec/telx.c:738,1
    - Dst: text_segment_New
      Src: /src/vlc/modules/codec/telx.c:745,1
    - Dst: dbg
      Src: /src/vlc/modules/codec/telx.c:750,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/telx.c:752,1
    - Dst: decoder_QueueSub
      Src: /src/vlc/modules/codec/telx.c:754,1
    - Dst: subpicture_Delete
      Src: /src/vlc/modules/codec/telx.c:760,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/telx.c:764,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 82
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts:
    - condition: ( sizeof(p_sys->psz_prev_text) >= sizeof(psz_text) )
      pos:
        line_end: 719
        line_start: 719
        source_file: /src/vlc/modules/codec/telx.c
    constantsTouched: []
    func_position:
      end: 766
      start: 619
    functionDepth: 4
    functionLinenumber: 619
    functionLinenumberEnd: 766
    functionName: Decode
    functionSourceFile: /src/vlc/modules/codec/telx.c
    functionUses: 17
    functionsReached:
    - assert
    - vlc_spu_regions_push
    - DecodeNormalPacket
    - memcpy
    - dbg
    - strcpy
    - msg_Err
    - subpicture_Delete
    - msg_Warn
    - decoder_QueueSub
    - text_segment_New
    - strcmp
    - decoder_NewSubpicture
    - block_Release
    - bytereverse
    - strlen
    - hamming_8_4
    - DecodePageHeaderPacket
    - subpicture_region_NewText
    linkageType: ''
    returnType: int
    signature: int Decode( decoder_t *p_dec, block_t *p_block )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/speex.c:208,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/speex.c:216,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/codec/speex.c:234,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/speex.c:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - p_this
    - b_packetizer
    argTypes:
    - vlc_object_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 252
    functionName: OpenCommon
    functionSourceFile: /src/vlc/modules/codec/speex.c
    functionUses: 37
    functionsReached:
    - VLC_FOURCC
    - date_Set
    - malloc
    - msg_Dbg
    linkageType: ''
    returnType: int
    signature: int OpenCommon( vlc_object_t *p_this, bool b_packetizer )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenCommon
      Src: /src/vlc/modules/codec/speex.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/modules/codec/speex.c
    functionUses: 0
    functionsReached:
    - OpenCommon
    linkageType: ''
    returnType: int
    signature: int OpenDecoder( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenCommon
      Src: /src/vlc/modules/codec/speex.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: OpenPacketizer
    functionSourceFile: /src/vlc/modules/codec/speex.c
    functionUses: 1
    functionsReached:
    - OpenCommon
    linkageType: ''
    returnType: int
    signature: int OpenPacketizer( vlc_object_t *p_this )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/speex.c:270,1
    - Dst: speex_lib_get_mode
      Src: /src/vlc/modules/codec/speex.c:286,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/speex.c:289,1
    - Dst: speex_init_header
      Src: /src/vlc/modules/codec/speex.c:294,1
    - Dst: speex_header_to_packet
      Src: /src/vlc/modules/codec/speex.c:298,1
    - Dst: ProcessInitialHeader
      Src: /src/vlc/modules/codec/speex.c:313,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/speex.c:317,1
    - Dst: speex_header_free
      Src: /src/vlc/modules/codec/speex.c:321,1
    - Dst: speex_header_free
      Src: /src/vlc/modules/codec/speex.c:322,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 325
    functionName: CreateDefaultHeader
    functionSourceFile: /src/vlc/modules/codec/speex.c
    functionUses: 0
    functionsReached:
    - ProcessInitialHeader
    - speex_lib_get_mode
    - msg_Err
    - speex_header_to_packet
    - speex_header_free
    - speex_init_header
    - malloc
    linkageType: ''
    returnType: int
    signature: int CreateDefaultHeader( decoder_t *p_dec )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/vlc/modules/codec/speex.c:344,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/speex.c:347,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/speex.c:375,1
    - Dst: CreateDefaultHeader
      Src: /src/vlc/modules/codec/speex.c:377,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/speex.c:380,1
    - Dst: ProcessHeaders
      Src: /src/vlc/modules/codec/speex.c:384,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/speex.c:387,1
    - Dst: ProcessPacket
      Src: /src/vlc/modules/codec/speex.c:393,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 394
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/codec/speex.c
    functionUses: 18
    functionsReached:
    - ProcessPacket
    - block_Release
    - ProcessHeaders
    - msg_Warn
    - CreateDefaultHeader
    - Flush
    linkageType: ''
    returnType: block_t
    signature: block_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DecodeBlock
      Src: /src/vlc/modules/codec/speex.c:402,1
    - Dst: decoder_QueueAudio
      Src: /src/vlc/modules/codec/speex.c:403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 405
    functionName: DecodeAudio
    functionSourceFile: /src/vlc/modules/codec/speex.c
    functionUses: 4
    functionsReached:
    - DecodeBlock
    - decoder_QueueAudio
    linkageType: ''
    returnType: int
    signature: int DecodeAudio( decoder_t *p_dec, block_t *p_block )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DecodeBlock
      Src: /src/vlc/modules/codec/speex.c:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 412
    functionName: Packetize
    functionSourceFile: /src/vlc/modules/codec/speex.c
    functionUses: 10
    functionsReached:
    - DecodeBlock
    linkageType: ''
    returnType: block_t
    signature: block_t *Packetize( decoder_t *p_dec, block_t **pp_block )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xiph_PackHeaders
      Src: /src/vlc/modules/codec/speex.c:419,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/codec/speex.c:428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - fmtout
    - b_packetizer
    - pi_size
    - pp_data
    argTypes:
    - es_format_t*
    - bool
    - size_t[]
    - void*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 431
    functionName: BuildExtradata
    functionSourceFile: /src/vlc/modules/codec/speex.c
    functionUses: 0
    functionsReached:
    - SetDWLE
    - xiph_PackHeaders
    linkageType: ''
    returnType: int
    signature: "int BuildExtradata( es_format_t *fmtout, bool b_packetizer,\n                           size_t
      pi_size[2], const void *pp_data[2] )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xiph_SplitHeaders
      Src: /src/vlc/modules/codec/speex.c:461,1
    - Dst: memcmp
      Src: /src/vlc/modules/codec/speex.c:464,1
    - Dst: strnstr
      Src: /src/vlc/modules/codec/speex.c:468,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/speex.c:471,1
    - Dst: ProcessInitialHeader
      Src: /src/vlc/modules/codec/speex.c:493,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/speex.c:495,1
    - Dst: ParseSpeexComments
      Src: /src/vlc/modules/codec/speex.c:503,1
    - Dst: BuildExtradata
      Src: /src/vlc/modules/codec/speex.c:506,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 436
    functionDepth: 3
    functionLinenumber: 436
    functionLinenumberEnd: 509
    functionName: ProcessHeaders
    functionSourceFile: /src/vlc/modules/codec/speex.c
    functionUses: 6
    functionsReached:
    - xiph_SplitHeaders
    - ProcessInitialHeader
    - BuildExtradata
    - msg_Err
    - strnstr
    - ParseSpeexComments
    - memcmp
    linkageType: ''
    returnType: int
    signature: int ProcessHeaders( decoder_t *p_dec )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: speex_packet_to_header
      Src: /src/vlc/modules/codec/speex.c:524,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/speex.c:528,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/speex.c:533,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/speex.c:544,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/speex.c:552,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/speex.c:557,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/speex.c:561,1
    - Dst: speex_bits_init
      Src: /src/vlc/modules/codec/speex.c:567,1
    - Dst: speex_decoder_init
      Src: /src/vlc/modules/codec/speex.c:568,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/speex.c:571,1
    - Dst: speex_decoder_ctl
      Src: /src/vlc/modules/codec/speex.c:582,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/speex.c:587,1
    - Dst: date_Init
      Src: /src/vlc/modules/codec/speex.c:598,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 2
    argNames:
    - p_dec
    - p_oggpacket
    argTypes:
    - decoder_t*
    - ogg_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 601
    functionName: ProcessInitialHeader
    functionSourceFile: /src/vlc/modules/codec/speex.c
    functionUses: 3
    functionsReached:
    - speex_bits_init
    - date_Init
    - msg_Err
    - speex_decoder_ctl
    - speex_packet_to_header
    - msg_Dbg
    - speex_decoder_init
    linkageType: ''
    returnType: int
    signature: int ProcessInitialHeader( decoder_t *p_dec, ogg_packet *p_oggpacket
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: speex_bits_reset
      Src: /src/vlc/modules/codec/speex.c:610,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/speex.c:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 613
    functionName: Flush
    functionSourceFile: /src/vlc/modules/codec/speex.c
    functionUses: 100
    functionsReached:
    - date_Set
    - speex_bits_reset
    linkageType: ''
    returnType: void
    signature: void Flush( decoder_t *p_dec )
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: date_Get
      Src: /src/vlc/modules/codec/speex.c:626,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/speex.c:627,1
    - Dst: speex_bits_remaining
      Src: /src/vlc/modules/codec/speex.c:628,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/speex.c:630,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/speex.c:635,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/speex.c:638,1
    - Dst: realloc
      Src: /src/vlc/modules/codec/speex.c:653,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/speex.c:657,1
    - Dst: speex_bits_read_from
      Src: /src/vlc/modules/codec/speex.c:662,1
    - Dst: speex_bits_remaining
      Src: /src/vlc/modules/codec/speex.c:664,1
    - Dst: speex_decode_int
      Src: /src/vlc/modules/codec/speex.c:665,1
    - Dst: msg_Info
      Src: /src/vlc/modules/codec/speex.c:667,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/speex.c:669,1
    - Dst: speex_bits_remaining
      Src: /src/vlc/modules/codec/speex.c:672,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/speex.c:679,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/speex.c:680,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/speex.c:683,1
    - Dst: speex_bits_rewind
      Src: /src/vlc/modules/codec/speex.c:690,1
    - Dst: speex_bits_write
      Src: /src/vlc/modules/codec/speex.c:691,1
    - Dst: memset
      Src: /src/vlc/modules/codec/speex.c:695,1
    - Dst: speex_bits_advance
      Src: /src/vlc/modules/codec/speex.c:697,1
    - Dst: speex_bits_remaining
      Src: /src/vlc/modules/codec/speex.c:717,1
    - Dst: speex_bits_unpack_unsigned
      Src: /src/vlc/modules/codec/speex.c:719,1
    - Dst: __MIN
      Src: /src/vlc/modules/codec/speex.c:720,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/speex.c:730,1
    - Dst: speex_bits_reset
      Src: /src/vlc/modules/codec/speex.c:733,1
    - Dst: SendPacket
      Src: /src/vlc/modules/codec/speex.c:735,1
    - Dst: SendPacket
      Src: /src/vlc/modules/codec/speex.c:739,1
    - Dst: DecodePacket
      Src: /src/vlc/modules/codec/speex.c:744,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/speex.c:747,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 3
    argNames:
    - p_dec
    - p_oggpacket
    - pp_block
    argTypes:
    - decoder_t*
    - ogg_packet*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 750
    functionName: ProcessPacket
    functionSourceFile: /src/vlc/modules/codec/speex.c
    functionUses: 7
    functionsReached:
    - realloc
    - block_Alloc
    - speex_bits_write
    - speex_decode_int
    - speex_bits_read_from
    - date_Get
    - speex_bits_unpack_unsigned
    - SendPacket
    - date_Set
    - __MIN
    - speex_bits_reset
    - speex_bits_rewind
    - block_Release
    - memset
    - DecodePacket
    - speex_bits_remaining
    - msg_Info
    - unlikely
    - speex_bits_advance
    linkageType: ''
    returnType: block_t
    signature: "block_t *ProcessPacket( decoder_t *p_dec, ogg_packet *p_oggpacket,\n
      \                              block_t **pp_block )"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/codec/speex.c:762,1
    - Dst: speex_bits_init
      Src: /src/vlc/modules/codec/speex.c:772,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/speex.c:775,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/speex.c:779,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/speex.c:782,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/speex.c:783,1
    - Dst: speex_lib_get_mode
      Src: /src/vlc/modules/codec/speex.c:787,1
    - Dst: speex_init_header
      Src: /src/vlc/modules/codec/speex.c:789,1
    - Dst: speex_decoder_init
      Src: /src/vlc/modules/codec/speex.c:790,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/speex.c:793,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/speex.c:794,1
    - Dst: speex_mode_query
      Src: /src/vlc/modules/codec/speex.c:810,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/speex.c:814,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/speex.c:815,1
    - Dst: date_Init
      Src: /src/vlc/modules/codec/speex.c:820,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/speex.c:829,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/speex.c:830,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/speex.c:834,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/speex.c:835,1
    - Dst: assert
      Src: /src/vlc/modules/codec/speex.c:837,1
    - Dst: decoder_UpdateAudioFormat
      Src: /src/vlc/modules/codec/speex.c:842,1
    - Dst: decoder_NewAudioBuffer
      Src: /src/vlc/modules/codec/speex.c:845,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/speex.c:849,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/speex.c:850,1
    - Dst: speex_bits_read_from
      Src: /src/vlc/modules/codec/speex.c:857,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/speex.c:861,1
    - Dst: speex_decode_int
      Src: /src/vlc/modules/codec/speex.c:867,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/speex.c:871,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/speex.c:872,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/speex.c:879,1
    - Dst: date_Increment
      Src: /src/vlc/modules/codec/speex.c:880,1
    - Dst: decoder_QueueAudio
      Src: /src/vlc/modules/codec/speex.c:883,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 66
    argCount: 2
    argNames:
    - p_dec
    - p_speex_bit_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts:
    - condition: ( p_sys->p_header->frame_size > 0 )
      pos:
        line_end: 836
        line_start: 836
        source_file: /src/vlc/modules/codec/speex.c
    constantsTouched: []
    func_position:
      end: 885
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 885
    functionName: DecodeRtpSpeexPacket
    functionSourceFile: /src/vlc/modules/codec/speex.c
    functionUses: 0
    functionsReached:
    - speex_mode_query
    - decoder_QueueAudio
    - block_Release
    - assert
    - speex_lib_get_mode
    - date_Increment
    - speex_bits_init
    - decoder_NewAudioBuffer
    - speex_decode_int
    - speex_bits_read_from
    - date_Init
    - speex_decoder_init
    - date_Set
    - msg_Err
    - decoder_UpdateAudioFormat
    - date_Get
    - speex_init_header
    - malloc
    linkageType: ''
    returnType: int
    signature: int DecodeRtpSpeexPacket( decoder_t *p_dec, block_t *p_speex_bit_block
      )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: speex_bits_read_from
      Src: /src/vlc/modules/codec/speex.c:897,1
    - Dst: decoder_UpdateAudioFormat
      Src: /src/vlc/modules/codec/speex.c:909,1
    - Dst: decoder_NewAudioBuffer
      Src: /src/vlc/modules/codec/speex.c:912,1
    - Dst: speex_decode_int
      Src: /src/vlc/modules/codec/speex.c:918,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/speex.c:922,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/speex.c:925,1
    - Dst: speex_bits_remaining
      Src: /src/vlc/modules/codec/speex.c:929,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/speex.c:931,1
    - Dst: speex_decode_stereo_int
      Src: /src/vlc/modules/codec/speex.c:935,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/speex.c:940,1
    - Dst: date_Increment
      Src: /src/vlc/modules/codec/speex.c:942,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - p_dec
    - p_oggpacket
    argTypes:
    - decoder_t*
    - ogg_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 890
    functionDepth: 1
    functionLinenumber: 890
    functionLinenumberEnd: 953
    functionName: DecodePacket
    functionSourceFile: /src/vlc/modules/codec/speex.c
    functionUses: 11
    functionsReached:
    - block_Release
    - speex_decode_stereo_int
    - decoder_NewAudioBuffer
    - speex_decode_int
    - speex_bits_read_from
    - msg_Err
    - decoder_UpdateAudioFormat
    - speex_bits_remaining
    - date_Get
    - date_Increment
    linkageType: ''
    returnType: block_t
    signature: block_t *DecodePacket( decoder_t *p_dec, ogg_packet *p_oggpacket )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: date_Get
      Src: /src/vlc/modules/codec/speex.c:963,1
    - Dst: date_Increment
      Src: /src/vlc/modules/codec/speex.c:966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 958
    functionDepth: 1
    functionLinenumber: 958
    functionLinenumberEnd: 971
    functionName: SendPacket
    functionSourceFile: /src/vlc/modules/codec/speex.c
    functionUses: 2
    functionsReached:
    - date_Increment
    - date_Get
    linkageType: ''
    returnType: block_t
    signature: block_t *SendPacket( decoder_t *p_dec, block_t *p_block )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/speex.c:982,1
    - Dst: assert
      Src: /src/vlc/modules/codec/speex.c:985,1
    - Dst: vlc_meta_New
      Src: /src/vlc/modules/codec/speex.c:989,1
    - Dst: asprintf
      Src: /src/vlc/modules/codec/speex.c:995,1
    - Dst: vlc_meta_SetExtra
      Src: /src/vlc/modules/codec/speex.c:997,1
    - Dst: _
      Src: /src/vlc/modules/codec/speex.c:997,1
    - Dst: free
      Src: /src/vlc/modules/codec/speex.c:998,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/speex.c:1002,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - p_dec
    - p_oggpacket
    argTypes:
    - decoder_t*
    - ogg_packet*
    assertStmts:
    - condition: ( p_sys->p_header->mode < SPEEX_NB_MODES )
      pos:
        line_end: 981
        line_start: 981
        source_file: /src/vlc/modules/codec/speex.c
    - condition: ( p_mode != NULL )
      pos:
        line_end: 984
        line_start: 984
        source_file: /src/vlc/modules/codec/speex.c
    constantsTouched: []
    func_position:
      end: 1003
      start: 977
    functionDepth: 2
    functionLinenumber: 977
    functionLinenumberEnd: 1003
    functionName: ParseSpeexComments
    functionSourceFile: /src/vlc/modules/codec/speex.c
    functionUses: 1
    functionsReached:
    - asprintf
    - assert
    - vlc_meta_New
    - _
    - VLC_UNUSED
    - free
    - vlc_meta_SetExtra
    linkageType: ''
    returnType: void
    signature: void ParseSpeexComments( decoder_t *p_dec, ogg_packet *p_oggpacket
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: speex_decoder_destroy
      Src: /src/vlc/modules/codec/speex.c:1015,1
    - Dst: speex_bits_destroy
      Src: /src/vlc/modules/codec/speex.c:1016,1
    - Dst: free
      Src: /src/vlc/modules/codec/speex.c:1019,1
    - Dst: speex_header_free
      Src: /src/vlc/modules/codec/speex.c:1021,1
    - Dst: free
      Src: /src/vlc/modules/codec/speex.c:1022,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1023
    functionName: CloseDecoder
    functionSourceFile: /src/vlc/modules/codec/speex.c
    functionUses: 3
    functionsReached:
    - free
    - speex_bits_destroy
    - speex_decoder_destroy
    - speex_header_free
    linkageType: ''
    returnType: void
    signature: void CloseDecoder( vlc_object_t *p_this )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: config_ChainParse
      Src: /src/vlc/modules/codec/speex.c:1072,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/speex.c:1073,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/speex.c:1076,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/speex.c:1080,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/speex.c:1084,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/speex.c:1090,1
    - Dst: speex_init_header
      Src: /src/vlc/modules/codec/speex.c:1096,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/codec/speex.c:1100,1
    - Dst: speex_encoder_init
      Src: /src/vlc/modules/codec/speex.c:1104,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/speex.c:1107,1
    - Dst: speex_encoder_ctl
      Src: /src/vlc/modules/codec/speex.c:1108,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/codec/speex.c:1110,1
    - Dst: speex_encoder_ctl
      Src: /src/vlc/modules/codec/speex.c:1111,1
    - Dst: var_GetFloat
      Src: /src/vlc/modules/codec/speex.c:1115,1
    - Dst: speex_encoder_ctl
      Src: /src/vlc/modules/codec/speex.c:1116,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/codec/speex.c:1118,1
    - Dst: speex_encoder_ctl
      Src: /src/vlc/modules/codec/speex.c:1119,1
    - Dst: var_GetFloat
      Src: /src/vlc/modules/codec/speex.c:1125,1
    - Dst: speex_encoder_ctl
      Src: /src/vlc/modules/codec/speex.c:1126,1
    - Dst: var_GetInteger
      Src: /src/vlc/modules/codec/speex.c:1128,1
    - Dst: speex_encoder_ctl
      Src: /src/vlc/modules/codec/speex.c:1131,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/speex.c:1133,1
    - Dst: var_GetBool
      Src: /src/vlc/modules/codec/speex.c:1137,1
    - Dst: speex_encoder_ctl
      Src: /src/vlc/modules/codec/speex.c:1138,1
    - Dst: speex_bits_init
      Src: /src/vlc/modules/codec/speex.c:1142,1
    - Dst: speex_encoder_ctl
      Src: /src/vlc/modules/codec/speex.c:1147,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/speex.c:1152,1
    - Dst: CloseEncoder
      Src: /src/vlc/modules/codec/speex.c:1155,1
    - Dst: speex_header_to_packet
      Src: /src/vlc/modules/codec/speex.c:1161,1
    - Dst: BuildExtradata
      Src: /src/vlc/modules/codec/speex.c:1167,1
    - Dst: speex_header_free
      Src: /src/vlc/modules/codec/speex.c:1169,1
    - Dst: CloseEncoder
      Src: /src/vlc/modules/codec/speex.c:1170,1
    - Dst: speex_header_free
      Src: /src/vlc/modules/codec/speex.c:1173,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/speex.c:1182,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 72
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1057
    functionDepth: 3
    functionLinenumber: 1057
    functionLinenumberEnd: 1187
    functionName: OpenEncoder
    functionSourceFile: /src/vlc/modules/codec/speex.c
    functionUses: 0
    functionsReached:
    - speex_encoder_init
    - var_GetFloat
    - speex_encoder_ctl
    - speex_bits_init
    - CloseEncoder
    - BuildExtradata
    - speex_init_header
    - config_ChainParse
    - speex_header_to_packet
    - speex_header_free
    - msg_Dbg
    - var_GetInteger
    - var_GetBool
    - malloc
    linkageType: ''
    returnType: int
    signature: int OpenEncoder( vlc_object_t *p_this )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/codec/speex.c:1200,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/codec/speex.c:1207,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/speex.c:1225,1
    - Dst: speex_encode_stereo_int
      Src: /src/vlc/modules/codec/speex.c:1237,1
    - Dst: speex_preprocess
      Src: /src/vlc/modules/codec/speex.c:1242,1
    - Dst: speex_encode_int
      Src: /src/vlc/modules/codec/speex.c:1245,1
    - Dst: speex_bits_insert_terminator
      Src: /src/vlc/modules/codec/speex.c:1258,1
    - Dst: speex_bits_nbytes
      Src: /src/vlc/modules/codec/speex.c:1260,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/speex.c:1262,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/speex.c:1263,1
    - Dst: speex_bits_write
      Src: /src/vlc/modules/codec/speex.c:1266,1
    - Dst: speex_bits_reset
      Src: /src/vlc/modules/codec/speex.c:1269,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/codec/speex.c:1271,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/codec/speex.c:1279,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/speex.c:1286,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 2
    argNames:
    - p_enc
    - p_aout_buf
    argTypes:
    - encoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1194
    functionDepth: 1
    functionLinenumber: 1194
    functionLinenumberEnd: 1292
    functionName: Encode
    functionSourceFile: /src/vlc/modules/codec/speex.c
    functionUses: 2
    functionsReached:
    - speex_encode_stereo_int
    - block_ChainAppend
    - speex_bits_insert_terminator
    - memcpy
    - speex_bits_nbytes
    - block_Alloc
    - vlc_tick_from_samples
    - speex_encode_int
    - speex_bits_write
    - speex_bits_reset
    - speex_preprocess
    - unlikely
    linkageType: ''
    returnType: block_t
    signature: block_t *Encode( encoder_t *p_enc, block_t *p_aout_buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: speex_encoder_destroy
      Src: /src/vlc/modules/codec/speex.c:1301,1
    - Dst: speex_bits_destroy
      Src: /src/vlc/modules/codec/speex.c:1302,1
    - Dst: free
      Src: /src/vlc/modules/codec/speex.c:1304,1
    - Dst: free
      Src: /src/vlc/modules/codec/speex.c:1305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_enc
    argTypes:
    - encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1297
    functionDepth: 0
    functionLinenumber: 1297
    functionLinenumberEnd: 1306
    functionName: CloseEncoder
    functionSourceFile: /src/vlc/modules/codec/speex.c
    functionUses: 4
    functionsReached:
    - free
    - speex_encoder_destroy
    - speex_bits_destroy
    linkageType: ''
    returnType: void
    signature: void CloseEncoder( encoder_t *p_enc )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: text_style_Create
      Src: /src/vlc/modules/codec/stl.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 126
    functionName: CreateGroupStyle
    functionSourceFile: /src/vlc/modules/codec/stl.c
    functionUses: 0
    functionsReached:
    - text_style_Create
    linkageType: ''
    returnType: text_style_t
    signature: text_style_t * CreateGroupStyle(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FromCharset
      Src: /src/vlc/modules/codec/stl.c:134,1
    - Dst: text_segment_New
      Src: /src/vlc/modules/codec/stl.c:137,1
    - Dst: text_style_Duplicate
      Src: /src/vlc/modules/codec/stl.c:141,1
    - Dst: free
      Src: /src/vlc/modules/codec/stl.c:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - p_group
    - p_buf
    - pi_buf
    - psz_charset
    argTypes:
    - stl_sg_t*
    - uint8_t*
    - uint8_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 148
    functionName: TextBufferFlush
    functionSourceFile: /src/vlc/modules/codec/stl.c
    functionUses: 0
    functionsReached:
    - free
    - text_style_Duplicate
    - FromCharset
    - text_segment_New
    linkageType: ''
    returnType: void
    signature: "void TextBufferFlush(stl_sg_t *p_group, uint8_t *p_buf, uint8_t *pi_buf,\n
      \                           const char *psz_charset)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CreateGroupStyle
      Src: /src/vlc/modules/codec/stl.c:153,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 2
    argNames:
    - p_group
    - code
    argTypes:
    - stl_sg_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 218
    functionName: GroupParseTeletext
    functionSourceFile: /src/vlc/modules/codec/stl.c
    functionUses: 0
    functionsReached:
    - CreateGroupStyle
    linkageType: ''
    returnType: void
    signature: void GroupParseTeletext(stl_sg_t *p_group, uint8_t code)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CreateGroupStyle
      Src: /src/vlc/modules/codec/stl.c:223,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - p_group
    - code
    argTypes:
    - stl_sg_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 245
    functionName: GroupApplyStyle
    functionSourceFile: /src/vlc/modules/codec/stl.c
    functionUses: 0
    functionsReached:
    - CreateGroupStyle
    linkageType: ''
    returnType: void
    signature: void GroupApplyStyle(stl_sg_t *p_group, uint8_t code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/codec/stl.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - fps
    argTypes:
    - uint8_t*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 253
    functionName: ParseTimeCode
    functionSourceFile: /src/vlc/modules/codec/stl.c
    functionUses: 2
    functionsReached:
    - vlc_tick_from_sec
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t ParseTimeCode(const uint8_t *data, double fps)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_group
    argTypes:
    - stl_sg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 264
    functionName: ClearTeletextStyles
    functionSourceFile: /src/vlc/modules/codec/stl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ClearTeletextStyles(stl_sg_t *p_group)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ParseTimeCode
      Src: /src/vlc/modules/codec/stl.c:287,1
    - Dst: ParseTimeCode
      Src: /src/vlc/modules/codec/stl.c:288,1
    - Dst: TextBufferFlush
      Src: /src/vlc/modules/codec/stl.c:298,1
    - Dst: ClearTeletextStyles
      Src: /src/vlc/modules/codec/stl.c:300,1
    - Dst: TextBufferFlush
      Src: /src/vlc/modules/codec/stl.c:304,1
    - Dst: ClearTeletextStyles
      Src: /src/vlc/modules/codec/stl.c:305,1
    - Dst: TextBufferFlush
      Src: /src/vlc/modules/codec/stl.c:311,1
    - Dst: GroupParseTeletext
      Src: /src/vlc/modules/codec/stl.c:312,1
    - Dst: TextBufferFlush
      Src: /src/vlc/modules/codec/stl.c:321,1
    - Dst: GroupApplyStyle
      Src: /src/vlc/modules/codec/stl.c:322,1
    - Dst: TextBufferFlush
      Src: /src/vlc/modules/codec/stl.c:328,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 4
    argNames:
    - p_group
    - p_data
    - psz_charset
    - fps
    argTypes:
    - stl_sg_t*
    - uint8_t*
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 331
    functionName: ParseTTI
    functionSourceFile: /src/vlc/modules/codec/stl.c
    functionUses: 0
    functionsReached:
    - ClearTeletextStyles
    - ParseTimeCode
    - GroupParseTeletext
    - TextBufferFlush
    - GroupApplyStyle
    linkageType: ''
    returnType: bool
    signature: bool ParseTTI(stl_sg_t *p_group, const uint8_t *p_data, const char
      *psz_charset, double fps)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: text_segment_Copy
      Src: /src/vlc/modules/codec/stl.c:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - p_group
    - p_spu_sys
    argTypes:
    - stl_sg_t*
    - subtext_updater_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 353
    functionName: FillSubpictureUpdater
    functionSourceFile: /src/vlc/modules/codec/stl.c
    functionUses: 0
    functionsReached:
    - text_segment_Copy
    linkageType: ''
    returnType: void
    signature: void FillSubpictureUpdater(stl_sg_t *p_group, subtext_updater_sys_t
      *p_spu_sys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: text_segment_ChainDelete
      Src: /src/vlc/modules/codec/stl.c:362,1
    - Dst: text_style_Delete
      Src: /src/vlc/modules/codec/stl.c:369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - decoder_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 378
    functionName: ResetGroups
    functionSourceFile: /src/vlc/modules/codec/stl.c
    functionUses: 0
    functionsReached:
    - text_segment_ChainDelete
    - text_style_Delete
    linkageType: ''
    returnType: void
    signature: void ResetGroups(decoder_sys_t *p_sys)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ResetGroups
      Src: /src/vlc/modules/codec/stl.c:392,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/stl.c:396,1
    - Dst: ParseTTI
      Src: /src/vlc/modules/codec/stl.c:405,1
    - Dst: decoder_NewSubpictureText
      Src: /src/vlc/modules/codec/stl.c:409,1
    - Dst: FillSubpictureUpdater
      Src: /src/vlc/modules/codec/stl.c:412,1
    - Dst: decoder_QueueSub
      Src: /src/vlc/modules/codec/stl.c:425,1
    - Dst: ResetGroups
      Src: /src/vlc/modules/codec/stl.c:430,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/stl.c:432,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 380
    functionDepth: 4
    functionLinenumber: 380
    functionLinenumberEnd: 434
    functionName: Decode
    functionSourceFile: /src/vlc/modules/codec/stl.c
    functionUses: 17
    functionsReached:
    - block_Release
    - decoder_NewSubpictureText
    - decoder_QueueSub
    - ParseTTI
    - ResetGroups
    - FillSubpictureUpdater
    linkageType: ''
    returnType: int
    signature: int Decode(decoder_t *p_dec, block_t *p_block)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/stl.c:440,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/stl.c:445,1
    - Dst: strtol
      Src: /src/vlc/modules/codec/stl.c:450,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/stl.c:452,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/stl.c:458,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/stl.c:462,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - dec
    - p_sys
    argTypes:
    - decoder_t*
    - decoder_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 467
    functionName: ParseGSI
    functionSourceFile: /src/vlc/modules/codec/stl.c
    functionUses: 0
    functionsReached:
    - strtol
    - msg_Dbg
    - msg_Warn
    - msg_Err
    linkageType: ''
    returnType: int
    signature: int ParseGSI(decoder_t *dec, decoder_sys_t *p_sys)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/codec/stl.c:476,1
    - Dst: ParseGSI
      Src: /src/vlc/modules/codec/stl.c:480,1
    - Dst: free
      Src: /src/vlc/modules/codec/stl.c:482,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 493
    functionName: Open
    functionSourceFile: /src/vlc/modules/codec/stl.c
    functionUses: 75
    functionsReached:
    - calloc
    - ParseGSI
    - free
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ResetGroups
      Src: /src/vlc/modules/codec/stl.c:500,1
    - Dst: free
      Src: /src/vlc/modules/codec/stl.c:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - object
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 502
    functionName: Close
    functionSourceFile: /src/vlc/modules/codec/stl.c
    functionUses: 184
    functionsReached:
    - free
    - ResetGroups
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *object)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/arib/substext.h:58,1
    - Dst: vlc_spu_regions_is_empty
      Src: /src/vlc/modules/codec/arib/substext.h:58,1
    - Dst: assert
      Src: /src/vlc/modules/codec/arib/substext.h:60,1
    - Dst: subpicture_region_NewText
      Src: /src/vlc/modules/codec/arib/substext.h:66,1
    - Dst: vlc_spu_regions_push
      Src: /src/vlc/modules/codec/arib/substext.h:71,1
    - Dst: text_segment_New
      Src: /src/vlc/modules/codec/arib/substext.h:75,1
    - Dst: text_style_Create
      Src: /src/vlc/modules/codec/arib/substext.h:87,1
    - Dst: strdup
      Src: /src/vlc/modules/codec/arib/substext.h:88,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - subpic
    - cfg
    argTypes:
    - subpicture_t*
    - struct vlc_spu_updater_configuration*
    assertStmts:
    - condition: ( vlc_spu_regions_is_empty( &subpic->regions ) )
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/vlc/modules/codec/arib/substext.h
    - condition: (fmt_dst->i_sar_num && fmt_dst->i_sar_den)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/vlc/modules/codec/arib/substext.h
    constantsTouched: []
    func_position:
      end: 100
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 100
    functionName: SubpictureTextUpdate
    functionSourceFile: /src/vlc/modules/codec/arib/substext.h
    functionUses: 0
    functionsReached:
    - assert
    - strdup
    - vlc_spu_regions_push
    - text_segment_New
    - text_style_Create
    - vlc_spu_regions_is_empty
    - subpicture_region_NewText
    linkageType: ''
    returnType: void
    signature: "void SubpictureTextUpdate(subpicture_t *subpic,\n                                 const
      struct vlc_spu_updater_configuration *cfg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/codec/arib/substext.h:108,1
    - Dst: free
      Src: /src/vlc/modules/codec/arib/substext.h:109,1
    - Dst: free
      Src: /src/vlc/modules/codec/arib/substext.h:111,1
    - Dst: free
      Src: /src/vlc/modules/codec/arib/substext.h:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - subpic
    argTypes:
    - subpicture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 115
    functionName: SubpictureTextDestroy
    functionSourceFile: /src/vlc/modules/codec/arib/substext.h
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void SubpictureTextDestroy(subpicture_t *subpic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/codec/arib/substext.h:120,1
    - Dst: decoder_NewSubpicture
      Src: /src/vlc/modules/codec/arib/substext.h:134,1
    - Dst: free
      Src: /src/vlc/modules/codec/arib/substext.h:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 140
    functionName: decoder_NewSubpictureText
    functionSourceFile: /src/vlc/modules/codec/arib/substext.h
    functionUses: 9
    functionsReached:
    - calloc
    - decoder_NewSubpicture
    - free
    linkageType: ''
    returnType: subpicture_t
    signature: subpicture_t *decoder_NewSubpictureText(decoder_t *decoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_atomic_rc_inc
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - decoder_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: DecSysRetain
    functionSourceFile: /src/vlc/modules/codec/arib/libaribcaption.c
    functionUses: 0
    functionsReached:
    - vlc_atomic_rc_inc
    linkageType: ''
    returnType: void
    signature: void DecSysRetain(decoder_sys_t *p_sys)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_atomic_rc_dec
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:76,1
    - Dst: aribcc_renderer_free
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:80,1
    - Dst: aribcc_decoder_free
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:82,1
    - Dst: aribcc_context_free
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:84,1
    - Dst: free
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - decoder_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 87
    functionName: DecSysRelease
    functionSourceFile: /src/vlc/modules/codec/arib/libaribcaption.c
    functionUses: 5
    functionsReached:
    - aribcc_decoder_free
    - vlc_atomic_rc_dec
    - free
    - aribcc_renderer_free
    - aribcc_context_free
    linkageType: ''
    returnType: void
    signature: void DecSysRelease(decoder_sys_t *p_sys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - dst_pic
    - image
    argTypes:
    - picture_t*
    - aribcc_image_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: CopyImageToRegion
    functionSourceFile: /src/vlc/modules/codec/arib/libaribcaption.c
    functionUses: 0
    functionsReached:
    - plane_CopyPixels
    linkageType: ''
    returnType: void
    signature: void CopyImageToRegion(picture_t *dst_pic, const aribcc_image_t *image)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: video_format_IsSimilar
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:119,1
    - Dst: aribcc_renderer_set_frame_size
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:126,1
    - Dst: aribcc_renderer_try_render
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:133,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:134,1
    - Dst: aribcc_renderer_render
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:142,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:143,1
    - Dst: vlc_spu_regions_Clear
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:149,1
    - Dst: subpicture_region_New
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:181,1
    - Dst: CopyImageToRegion
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:190,1
    - Dst: vlc_spu_regions_push
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:192,1
    - Dst: aribcc_render_result_cleanup
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:195,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 2
    argNames:
    - p_subpic
    - cfg
    argTypes:
    - subpicture_t*
    - struct vlc_spu_updater_configuration*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 196
    functionName: SubpictureUpdate
    functionSourceFile: /src/vlc/modules/codec/arib/libaribcaption.c
    functionUses: 0
    functionsReached:
    - MS_FROM_VLC_TICK
    - vlc_spu_regions_Clear
    - aribcc_render_result_cleanup
    - vlc_spu_regions_push
    - aribcc_renderer_try_render
    - aribcc_renderer_render
    - video_format_IsSimilar
    - aribcc_renderer_set_frame_size
    - CopyImageToRegion
    - subpicture_region_New
    linkageType: ''
    returnType: void
    signature: "void SubpictureUpdate(subpicture_t *p_subpic,\n                             const
      struct vlc_spu_updater_configuration *cfg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DecSysRelease
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:201,1
    - Dst: free
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_subpic
    argTypes:
    - subpicture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: SubpictureDestroy
    functionSourceFile: /src/vlc/modules/codec/arib/libaribcaption.c
    functionUses: 0
    functionsReached:
    - free
    - DecSysRelease
    linkageType: ''
    returnType: void
    signature: void SubpictureDestroy(subpicture_t *p_subpic)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:216,1
    - Dst: aribcc_decoder_decode
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:221,1
    - Dst: MS_FROM_VLC_TICK
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:224,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:227,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:231,1
    - Dst: aribcc_renderer_append_caption
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:235,1
    - Dst: aribcc_caption_cleanup
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:236,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:239,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:241,1
    - Dst: memset
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:246,1
    - Dst: decoder_NewSubpicture
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:259,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:261,1
    - Dst: free
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:262,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:263,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:273,1
    - Dst: DecSysRetain
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:277,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:279,1
    - Dst: decoder_QueueSub
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:281,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 284
    functionName: Decode
    functionSourceFile: /src/vlc/modules/codec/arib/libaribcaption.c
    functionUses: 17
    functionsReached:
    - MS_FROM_VLC_TICK
    - block_Release
    - decoder_NewSubpicture
    - decoder_QueueSub
    - memset
    - DecSysRetain
    - VLC_TICK_FROM_MS
    - msg_Err
    - free
    - aribcc_renderer_append_caption
    - msg_Warn
    - aribcc_caption_cleanup
    - aribcc_decoder_decode
    - malloc
    linkageType: ''
    returnType: int
    signature: int Decode(decoder_t *p_dec, block_t *p_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aribcc_decoder_flush
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:292,1
    - Dst: aribcc_renderer_flush
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: Flush
    functionSourceFile: /src/vlc/modules/codec/arib/libaribcaption.c
    functionUses: 101
    functionsReached:
    - aribcc_renderer_flush
    - aribcc_decoder_flush
    linkageType: ''
    returnType: void
    signature: void Flush(decoder_t *p_dec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:304,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:310,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:312,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:314,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - level
    - message
    - userdata
    argTypes:
    - aribcc_loglevel_t
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 320
    functionName: LogcatCallback
    functionSourceFile: /src/vlc/modules/codec/arib/libaribcaption.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - msg_Err
    - msg_Dbg
    - msg_Warn
    linkageType: ''
    returnType: void
    signature: void LogcatCallback(aribcc_loglevel_t level, const char *message, void
      *userdata)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:337,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:338,1
    - Dst: vlc_atomic_rc_init
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:341,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:343,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:345,1
    - Dst: aribcc_context_alloc
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:349,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:351,1
    - Dst: DecSysRelease
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:352,1
    - Dst: aribcc_context_set_logcat_callback
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:356,1
    - Dst: aribcc_decoder_alloc
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:360,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:362,1
    - Dst: DecSysRelease
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:363,1
    - Dst: aribcc_decoder_initialize
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:372,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:378,1
    - Dst: DecSysRelease
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:379,1
    - Dst: aribcc_renderer_alloc
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:385,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:387,1
    - Dst: DecSysRelease
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:388,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:393,1
    - Dst: aribcc_renderer_initialize
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:394,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:399,1
    - Dst: DecSysRelease
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:400,1
    - Dst: aribcc_renderer_set_storage_policy
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:404,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:406,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:407,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:408,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:409,1
    - Dst: var_InheritFloat
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:410,1
    - Dst: aribcc_renderer_set_replace_drcs
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:411,1
    - Dst: aribcc_renderer_set_force_stroke_text
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:412,1
    - Dst: aribcc_renderer_set_force_no_background
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:413,1
    - Dst: aribcc_renderer_set_force_no_ruby
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:414,1
    - Dst: aribcc_renderer_set_stroke_width
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:415,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:417,1
    - Dst: aribcc_renderer_set_default_font_family
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:420,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:422,1
    - Dst: free
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:424,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 56
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 433
    functionName: Open
    functionSourceFile: /src/vlc/modules/codec/arib/libaribcaption.c
    functionUses: 75
    functionsReached:
    - aribcc_context_alloc
    - ARRAY_SIZE
    - aribcc_decoder_initialize
    - msg_Err
    - aribcc_renderer_set_force_no_background
    - vlc_atomic_rc_init
    - aribcc_renderer_set_stroke_width
    - aribcc_renderer_alloc
    - aribcc_renderer_set_force_no_ruby
    - var_InheritInteger
    - aribcc_decoder_alloc
    - var_InheritBool
    - aribcc_renderer_set_storage_policy
    - DecSysRelease
    - aribcc_renderer_initialize
    - var_InheritFloat
    - var_InheritString
    - vlc_mutex_init
    - aribcc_renderer_set_force_stroke_text
    - free
    - aribcc_context_set_logcat_callback
    - aribcc_renderer_set_default_font_family
    - unlikely
    - malloc
    - aribcc_renderer_set_replace_drcs
    linkageType: ''
    returnType: int
    signature: int Open(vlc_object_t *p_this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:443,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:445,1
    - Dst: DecSysRelease
      Src: /src/vlc/modules/codec/arib/libaribcaption.c:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 448
    functionName: Close
    functionSourceFile: /src/vlc/modules/codec/arib/libaribcaption.c
    functionUses: 184
    functionsReached:
    - DecSysRelease
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void Close(vlc_object_t *p_this)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/codec/arib/aribsub.c:104,1
    - Dst: arib_instance_new
      Src: /src/vlc/modules/codec/arib/aribsub.c:110,1
    - Dst: free
      Src: /src/vlc/modules/codec/arib/aribsub.c:113,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/codec/arib/aribsub.c:124,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/codec/arib/aribsub.c:126,1
    - Dst: get_arib_base_dir
      Src: /src/vlc/modules/codec/arib/aribsub.c:131,1
    - Dst: arib_set_base_path
      Src: /src/vlc/modules/codec/arib/aribsub.c:132,1
    - Dst: free
      Src: /src/vlc/modules/codec/arib/aribsub.c:133,1
    - Dst: arib_register_messages_callback
      Src: /src/vlc/modules/codec/arib/aribsub.c:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 139
    functionName: Open
    functionSourceFile: /src/vlc/modules/codec/arib/aribsub.c
    functionUses: 75
    functionsReached:
    - arib_instance_new
    - var_InheritBool
    - arib_set_base_path
    - calloc
    - free
    - arib_register_messages_callback
    - get_arib_base_dir
    linkageType: ''
    returnType: int
    signature: int Open( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: arib_instance_destroy
      Src: /src/vlc/modules/codec/arib/aribsub.c:149,1
    - Dst: free
      Src: /src/vlc/modules/codec/arib/aribsub.c:150,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/codec/arib/aribsub.c:152,1
    - Dst: var_Destroy
      Src: /src/vlc/modules/codec/arib/aribsub.c:153,1
    - Dst: free
      Src: /src/vlc/modules/codec/arib/aribsub.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 156
    functionName: Close
    functionSourceFile: /src/vlc/modules/codec/arib/aribsub.c
    functionUses: 184
    functionsReached:
    - free
    - var_Destroy
    - arib_instance_destroy
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/codec/arib/aribsub.c:170,1
    - Dst: arib_get_parser
      Src: /src/vlc/modules/codec/arib/aribsub.c:174,1
    - Dst: arib_get_decoder
      Src: /src/vlc/modules/codec/arib/aribsub.c:175,1
    - Dst: arib_parse_pes
      Src: /src/vlc/modules/codec/arib/aribsub.c:178,1
    - Dst: render
      Src: /src/vlc/modules/codec/arib/aribsub.c:179,1
    - Dst: decoder_QueueSub
      Src: /src/vlc/modules/codec/arib/aribsub.c:181,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/arib/aribsub.c:184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 186
    functionName: Decode
    functionSourceFile: /src/vlc/modules/codec/arib/aribsub.c
    functionUses: 17
    functionsReached:
    - arib_parse_pes
    - block_Release
    - decoder_QueueSub
    - render
    - arib_get_decoder
    - arib_get_parser
    linkageType: ''
    returnType: int
    signature: int Decode( decoder_t *p_dec, block_t *p_block )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/arib/aribsub.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_opaque
    - psz_message
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: messages_callback_handler
    functionSourceFile: /src/vlc/modules/codec/arib/aribsub.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void messages_callback_handler( void *p_opaque, const char *psz_message
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: config_GetUserDir
      Src: /src/vlc/modules/codec/arib/aribsub.c:198,1
    - Dst: asprintf
      Src: /src/vlc/modules/codec/arib/aribsub.c:205,1
    - Dst: free
      Src: /src/vlc/modules/codec/arib/aribsub.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 212
    functionName: get_arib_base_dir
    functionSourceFile: /src/vlc/modules/codec/arib/aribsub.c
    functionUses: 1
    functionsReached:
    - free
    - asprintf
    - config_GetUserDir
    linkageType: ''
    returnType: char
    signature: char * get_arib_base_dir( void )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: arib_parser_get_data
      Src: /src/vlc/modules/codec/arib/aribsub.c:222,1
    - Dst: calloc
      Src: /src/vlc/modules/codec/arib/aribsub.c:227,1
    - Dst: arib_initialize_decoder_a_profile
      Src: /src/vlc/modules/codec/arib/aribsub.c:233,1
    - Dst: arib_initialize_decoder_c_profile
      Src: /src/vlc/modules/codec/arib/aribsub.c:235,1
    - Dst: arib_decode_buffer
      Src: /src/vlc/modules/codec/arib/aribsub.c:237,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/arib/aribsub.c:243,1
    - Dst: calloc
      Src: /src/vlc/modules/codec/arib/aribsub.c:246,1
    - Dst: sprintf
      Src: /src/vlc/modules/codec/arib/aribsub.c:251,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/arib/aribsub.c:254,1
    - Dst: free
      Src: /src/vlc/modules/codec/arib/aribsub.c:255,1
    - Dst: decoder_NewSubpictureText
      Src: /src/vlc/modules/codec/arib/aribsub.c:258,1
    - Dst: VLC_TICK_FROM_US
      Src: /src/vlc/modules/codec/arib/aribsub.c:264,1
    - Dst: arib_decoder_get_time
      Src: /src/vlc/modules/codec/arib/aribsub.c:264,1
    - Dst: calloc
      Src: /src/vlc/modules/codec/arib/aribsub.c:272,1
    - Dst: arib_decoder_get_regions
      Src: /src/vlc/modules/codec/arib/aribsub.c:277,1
    - Dst: calloc
      Src: /src/vlc/modules/codec/arib/aribsub.c:286,1
    - Dst: strncpy
      Src: /src/vlc/modules/codec/arib/aribsub.c:291,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/arib/aribsub.c:294,1
    - Dst: strdup
      Src: /src/vlc/modules/codec/arib/aribsub.c:297,1
    - Dst: free
      Src: /src/vlc/modules/codec/arib/aribsub.c:298,1
    - Dst: calloc
      Src: /src/vlc/modules/codec/arib/aribsub.c:320,1
    - Dst: arib_finalize_decoder
      Src: /src/vlc/modules/codec/arib/aribsub.c:330,1
    - Dst: free
      Src: /src/vlc/modules/codec/arib/aribsub.c:331,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 75
    argCount: 4
    argNames:
    - p_dec
    - p_parser
    - p_arib_decoder
    - p_block
    argTypes:
    - decoder_t*
    - arib_parser_t*
    - arib_decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 334
    functionName: render
    functionSourceFile: /src/vlc/modules/codec/arib/aribsub.c
    functionUses: 18
    functionsReached:
    - arib_initialize_decoder_c_profile
    - strdup
    - decoder_NewSubpictureText
    - arib_parser_get_data
    - sprintf
    - VLC_TICK_FROM_US
    - arib_decoder_get_time
    - arib_decode_buffer
    - strncpy
    - calloc
    - free
    - msg_Dbg
    - arib_finalize_decoder
    - arib_decoder_get_regions
    - arib_initialize_decoder_a_profile
    linkageType: ''
    returnType: subpicture_t
    signature: "subpicture_t *render( decoder_t *p_dec, arib_parser_t *p_parser,\n
      \                            arib_decoder_t *p_arib_decoder, block_t *p_block
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/ttml/imageupdater.h:46,1
    - Dst: free
      Src: /src/vlc/modules/codec/ttml/imageupdater.h:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_updtregion
    argTypes:
    - ttml_image_updater_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: TTML_ImageUpdaterRegionDelete
    functionSourceFile: /src/vlc/modules/codec/ttml/imageupdater.h
    functionUses: 0
    functionsReached:
    - free
    - picture_Release
    linkageType: ''
    returnType: void
    signature: void TTML_ImageUpdaterRegionDelete(ttml_image_updater_region_t *p_updtregion)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/codec/ttml/imageupdater.h:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_pic
    argTypes:
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: TTML_ImageUpdaterRegionNew
    functionSourceFile: /src/vlc/modules/codec/ttml/imageupdater.h
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: ttml_image_updater_region_t
    signature: ttml_image_updater_region_t *TTML_ImageUpdaterRegionNew(picture_t *p_pic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_sys
    - p_new
    argTypes:
    - ttml_image_updater_sys_t*
    - ttml_image_updater_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: TTML_ImageSpuAppendRegion
    functionSourceFile: /src/vlc/modules/codec/ttml/imageupdater.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TTML_ImageSpuAppendRegion(ttml_image_updater_sys_t *p_sys,\n
      \                                     ttml_image_updater_region_t *p_new)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_spu_regions_Clear
      Src: /src/vlc/modules/codec/ttml/imageupdater.h:86,1
    - Dst: subpicture_region_ForPicture
      Src: /src/vlc/modules/codec/ttml/imageupdater.h:94,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/ttml/imageupdater.h:95,1
    - Dst: vlc_spu_regions_push
      Src: /src/vlc/modules/codec/ttml/imageupdater.h:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - p_spu
    - cfg
    argTypes:
    - subpicture_t*
    - struct vlc_spu_updater_configuration*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 113
    functionName: TTML_ImageSpuUpdate
    functionSourceFile: /src/vlc/modules/codec/ttml/imageupdater.h
    functionUses: 0
    functionsReached:
    - vlc_spu_regions_Clear
    - vlc_spu_regions_push
    - unlikely
    - subpicture_region_ForPicture
    linkageType: ''
    returnType: void
    signature: "void TTML_ImageSpuUpdate(subpicture_t *p_spu,\n                                const
      struct vlc_spu_updater_configuration *cfg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TTML_ImageUpdaterRegionDelete
      Src: /src/vlc/modules/codec/ttml/imageupdater.h:121,1
    - Dst: free
      Src: /src/vlc/modules/codec/ttml/imageupdater.h:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_spu
    argTypes:
    - subpicture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: TTML_ImageSpuDestroy
    functionSourceFile: /src/vlc/modules/codec/ttml/imageupdater.h
    functionUses: 0
    functionsReached:
    - free
    - TTML_ImageUpdaterRegionDelete
    linkageType: ''
    returnType: void
    signature: void TTML_ImageSpuDestroy(subpicture_t *p_spu)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/codec/ttml/imageupdater.h:129,1
    - Dst: decoder_NewSubpicture
      Src: /src/vlc/modules/codec/ttml/imageupdater.h:145,1
    - Dst: free
      Src: /src/vlc/modules/codec/ttml/imageupdater.h:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 149
    functionName: decoder_NewTTML_ImageSpu
    functionSourceFile: /src/vlc/modules/codec/ttml/imageupdater.h
    functionUses: 0
    functionsReached:
    - calloc
    - decoder_NewSubpicture
    - free
    linkageType: ''
    returnType: subpicture_t
    signature: subpicture_t *decoder_NewTTML_ImageSpu(decoder_t *p_dec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/vlc/modules/codec/ttml/encttml.c:36,1
    - Dst: snprintf
      Src: /src/vlc/modules/codec/ttml/encttml.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - argb
    - withalpha
    - text
    argTypes:
    - uint32_t
    - bool
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: FillHexColor
    functionSourceFile: /src/vlc/modules/codec/ttml/encttml.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void FillHexColor( uint32_t argb, bool withalpha, char text[HEX_COLOR_MAX]
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vlc/modules/codec/ttml/encttml.c:47,1
    - Dst: tt_subtextnode_New
      Src: /src/vlc/modules/codec/ttml/encttml.c:50,1
    - Dst: tt_node_New
      Src: /src/vlc/modules/codec/ttml/encttml.c:51,1
    - Dst: tt_textnode_New
      Src: /src/vlc/modules/codec/ttml/encttml.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - p_parent
    - psz_text
    argTypes:
    - tt_node_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 61
    functionName: AddTextNode
    functionSourceFile: /src/vlc/modules/codec/ttml/encttml.c
    functionUses: 0
    functionsReached:
    - tt_node_New
    - tt_textnode_New
    - strchr
    - tt_subtextnode_New
    linkageType: ''
    returnType: void
    signature: void AddTextNode( tt_node_t *p_parent, const char *psz_text )
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/ttml/encttml.c:65,1
    - Dst: tt_node_New
      Src: /src/vlc/modules/codec/ttml/encttml.c:70,1
    - Dst: tt_node_AddAttribute
      Src: /src/vlc/modules/codec/ttml/encttml.c:74,1
    - Dst: tt_node_AddAttribute
      Src: /src/vlc/modules/codec/ttml/encttml.c:75,1
    - Dst: tt_node_New
      Src: /src/vlc/modules/codec/ttml/encttml.c:77,1
    - Dst: tt_node_RecursiveDelete
      Src: /src/vlc/modules/codec/ttml/encttml.c:80,1
    - Dst: tt_node_New
      Src: /src/vlc/modules/codec/ttml/encttml.c:84,1
    - Dst: tt_node_RecursiveDelete
      Src: /src/vlc/modules/codec/ttml/encttml.c:87,1
    - Dst: vlc_spu_regions_foreach
      Src: /src/vlc/modules/codec/ttml/encttml.c:92,1
    - Dst: subpicture_region_IsText
      Src: /src/vlc/modules/codec/ttml/encttml.c:94,1
    - Dst: tt_node_New
      Src: /src/vlc/modules/codec/ttml/encttml.c:99,1
    - Dst: tt_time_Create
      Src: /src/vlc/modules/codec/ttml/encttml.c:105,1
    - Dst: tt_time_Create
      Src: /src/vlc/modules/codec/ttml/encttml.c:107,1
    - Dst: tt_node_AddAttribute
      Src: /src/vlc/modules/codec/ttml/encttml.c:108,1
    - Dst: tt_node_New
      Src: /src/vlc/modules/codec/ttml/encttml.c:120,1
    - Dst: snprintf
      Src: /src/vlc/modules/codec/ttml/encttml.c:128,1
    - Dst: tt_node_AddAttribute
      Src: /src/vlc/modules/codec/ttml/encttml.c:129,1
    - Dst: snprintf
      Src: /src/vlc/modules/codec/ttml/encttml.c:134,1
    - Dst: tt_node_AddAttribute
      Src: /src/vlc/modules/codec/ttml/encttml.c:135,1
    - Dst: tt_node_AddAttribute
      Src: /src/vlc/modules/codec/ttml/encttml.c:139,1
    - Dst: tt_node_AddAttribute
      Src: /src/vlc/modules/codec/ttml/encttml.c:144,1
    - Dst: tt_node_AddAttribute
      Src: /src/vlc/modules/codec/ttml/encttml.c:146,1
    - Dst: tt_node_AddAttribute
      Src: /src/vlc/modules/codec/ttml/encttml.c:148,1
    - Dst: tt_node_AddAttribute
      Src: /src/vlc/modules/codec/ttml/encttml.c:150,1
    - Dst: FillHexColor
      Src: /src/vlc/modules/codec/ttml/encttml.c:157,1
    - Dst: tt_node_AddAttribute
      Src: /src/vlc/modules/codec/ttml/encttml.c:158,1
    - Dst: FillHexColor
      Src: /src/vlc/modules/codec/ttml/encttml.c:168,1
    - Dst: tt_node_AddAttribute
      Src: /src/vlc/modules/codec/ttml/encttml.c:169,1
    - Dst: FillHexColor
      Src: /src/vlc/modules/codec/ttml/encttml.c:178,1
    - Dst: tt_node_AddAttribute
      Src: /src/vlc/modules/codec/ttml/encttml.c:179,1
    - Dst: AddTextNode
      Src: /src/vlc/modules/codec/ttml/encttml.c:182,1
    - Dst: AddTextNode
      Src: /src/vlc/modules/codec/ttml/encttml.c:186,1
    - Dst: vlc_memstream_open
      Src: /src/vlc/modules/codec/ttml/encttml.c:194,1
    - Dst: tt_time_Create
      Src: /src/vlc/modules/codec/ttml/encttml.c:196,1
    - Dst: tt_node_ToText
      Src: /src/vlc/modules/codec/ttml/encttml.c:198,1
    - Dst: vlc_memstream_close
      Src: /src/vlc/modules/codec/ttml/encttml.c:199,1
    - Dst: block_heap_Alloc
      Src: /src/vlc/modules/codec/ttml/encttml.c:201,1
    - Dst: tt_node_RecursiveDelete
      Src: /src/vlc/modules/codec/ttml/encttml.c:211,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 90
    argCount: 2
    argNames:
    - p_enc
    - p_spu
    argTypes:
    - encoder_t*
    - subpicture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 214
    functionName: Encode
    functionSourceFile: /src/vlc/modules/codec/ttml/encttml.c
    functionUses: 2
    functionsReached:
    - tt_time_Create
    - tt_node_AddAttribute
    - tt_node_ToText
    - subpicture_region_IsText
    - vlc_memstream_open
    - vlc_spu_regions_foreach
    - tt_node_RecursiveDelete
    - tt_node_New
    - FillHexColor
    - vlc_memstream_close
    - block_heap_Alloc
    - AddTextNode
    - snprintf
    - VLC_UNUSED
    linkageType: ''
    returnType: block_t
    signature: block_t *Encode( encoder_t *p_enc, subpicture_t *p_spu )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 231
    functionName: tt_OpenEncoder
    functionSourceFile: /src/vlc/modules/codec/ttml/encttml.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tt_OpenEncoder( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: text_style_Delete
      Src: /src/vlc/modules/codec/ttml/substtml.c:132,1
    - Dst: free
      Src: /src/vlc/modules/codec/ttml/substtml.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_ttml_style
    argTypes:
    - ttml_style_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: ttml_style_Delete
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached:
    - free
    - text_style_Delete
    linkageType: ''
    returnType: void
    signature: void ttml_style_Delete( ttml_style_t* p_ttml_style )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/codec/ttml/substtml.c:138,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/ttml/substtml.c:139,1
    - Dst: text_style_Create
      Src: /src/vlc/modules/codec/ttml/substtml.c:148,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/ttml/substtml.c:149,1
    - Dst: free
      Src: /src/vlc/modules/codec/ttml/substtml.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 155
    functionName: ttml_style_New
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached:
    - calloc
    - text_style_Create
    - unlikely
    - free
    linkageType: ''
    returnType: ttml_style_t
    signature: ttml_style_t * ttml_style_New( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SubpictureUpdaterSysRegionClean
      Src: /src/vlc/modules/codec/ttml/substtml.c:159,1
    - Dst: free
      Src: /src/vlc/modules/codec/ttml/substtml.c:160,1
    - Dst: free
      Src: /src/vlc/modules/codec/ttml/substtml.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_region
    argTypes:
    - ttml_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: ttml_region_Delete
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached:
    - free
    - SubpictureUpdaterSysRegionClean
    linkageType: ''
    returnType: void
    signature: void ttml_region_Delete( ttml_region_t *p_region )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ttml_style_New
      Src: /src/vlc/modules/codec/ttml/substtml.c:166,1
    - Dst: text_style_Duplicate
      Src: /src/vlc/modules/codec/ttml/substtml.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_src
    argTypes:
    - ttml_style_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 173
    functionName: ttml_style_Duplicate
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached:
    - text_style_Duplicate
    - ttml_style_New
    linkageType: ''
    returnType: ttml_style_t
    signature: ttml_style_t * ttml_style_Duplicate( const ttml_style_t *p_src )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: text_style_Merge
      Src: /src/vlc/modules/codec/ttml/substtml.c:182,1
    - Dst: text_style_Duplicate
      Src: /src/vlc/modules/codec/ttml/substtml.c:184,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - p_src
    - p_dst
    argTypes:
    - ttml_style_t*
    - ttml_style_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 196
    functionName: ttml_style_Merge
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached:
    - text_style_Duplicate
    - text_style_Merge
    linkageType: ''
    returnType: void
    signature: void ttml_style_Merge( const ttml_style_t *p_src, ttml_style_t *p_dst
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/codec/ttml/substtml.c:200,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/ttml/substtml.c:201,1
    - Dst: SubpictureUpdaterSysRegionInit
      Src: /src/vlc/modules/codec/ttml/substtml.c:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - b_root
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 221
    functionName: ttml_region_New
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached:
    - calloc
    - SubpictureUpdaterSysRegionInit
    - unlikely
    linkageType: ''
    returnType: ttml_region_t
    signature: ttml_region_t *ttml_region_New( bool b_root )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_strtof_c
      Src: /src/vlc/modules/codec/ttml/substtml.c:228,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - psz
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 240
    functionName: ttml_read_length
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached:
    - vlc_strtof_c
    linkageType: ''
    returnType: ttml_length_t
    signature: ttml_length_t ttml_read_length( const char *psz )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - i_cell_resolution
    - value
    - reference
    argTypes:
    - unsigned
    - ttml_length_t
    - ttml_length_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 258
    functionName: ttml_rebase_length
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ttml_length_t
    signature: "ttml_length_t ttml_rebase_length( unsigned i_cell_resolution,\n                                         ttml_length_t
      value,\n                                         ttml_length_t reference )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/codec/ttml/substtml.c:264,1
    - Dst: strtok_r
      Src: /src/vlc/modules/codec/ttml/substtml.c:266,1
    - Dst: ttml_read_length
      Src: /src/vlc/modules/codec/ttml/substtml.c:269,1
    - Dst: strtok_r
      Src: /src/vlc/modules/codec/ttml/substtml.c:270,1
    - Dst: free
      Src: /src/vlc/modules/codec/ttml/substtml.c:272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - value
    - h
    - v
    argTypes:
    - char*
    - ttml_length_t*
    - ttml_length_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 282
    functionName: ttml_read_coords
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached:
    - free
    - strtok_r
    - ttml_read_length
    - strdup
    linkageType: ''
    returnType: bool
    signature: bool ttml_read_coords( const char *value, ttml_length_t *h, ttml_length_t
      *v )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tt_node_Match
      Src: /src/vlc/modules/codec/ttml/substtml.c:288,1
    - Dst: tt_node_GetAttribute
      Src: /src/vlc/modules/codec/ttml/substtml.c:292,1
    - Dst: tt_node_GetAttribute
      Src: /src/vlc/modules/codec/ttml/substtml.c:294,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:295,1
    - Dst: FindNode
      Src: /src/vlc/modules/codec/ttml/substtml.c:310,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 6
    argNames:
    - p_nss
    - p_node
    - psz_nodename
    - psz_namespace
    - i_maxdepth
    - psz_id
    argTypes:
    - tt_namespaces_t*
    - tt_node_t*
    - char*
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 318
    functionName: FindNode
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 1
    functionsReached:
    - strcmp
    - tt_node_GetAttribute
    - tt_node_Match
    - FindNode
    linkageType: ''
    returnType: tt_node_t
    signature: "tt_node_t * FindNode( tt_namespaces_t *p_nss, tt_node_t *p_node,\n
      \                            const char *psz_nodename, const char *psz_namespace,\n
      \                            size_t i_maxdepth, const char *psz_id )"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:323,1
    - Dst: free
      Src: /src/vlc/modules/codec/ttml/substtml.c:325,1
    - Dst: strdup
      Src: /src/vlc/modules/codec/ttml/substtml.c:326,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:328,1
    - Dst: atoi
      Src: /src/vlc/modules/codec/ttml/substtml.c:330,1
    - Dst: atoi
      Src: /src/vlc/modules/codec/ttml/substtml.c:331,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:334,1
    - Dst: vlc_html_color
      Src: /src/vlc/modules/codec/ttml/substtml.c:336,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:341,1
    - Dst: vlc_html_color
      Src: /src/vlc/modules/codec/ttml/substtml.c:343,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:350,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:352,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:352,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:358,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:360,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:366,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:368,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:370,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:372,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:374,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:378,1
    - Dst: strdup
      Src: /src/vlc/modules/codec/ttml/substtml.c:380,1
    - Dst: strtok_r
      Src: /src/vlc/modules/codec/ttml/substtml.c:382,1
    - Dst: vlc_html_color
      Src: /src/vlc/modules/codec/ttml/substtml.c:387,1
    - Dst: strtok_r
      Src: /src/vlc/modules/codec/ttml/substtml.c:392,1
    - Dst: strtol
      Src: /src/vlc/modules/codec/ttml/substtml.c:396,1
    - Dst: free
      Src: /src/vlc/modules/codec/ttml/substtml.c:405,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 3
    argNames:
    - psz_attr
    - psz_val
    - p_text_style
    argTypes:
    - char*
    - char*
    - text_style_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 407
    functionName: FillTextStyle
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached:
    - atoi
    - strtok_r
    - vlc_html_color
    - strdup
    - free
    - strtol
    - strcasecmp
    linkageType: ''
    returnType: void
    signature: "void FillTextStyle( const char *psz_attr, const char *psz_val,\n                           text_style_t
      *p_text_style )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - v
    - i_flag
    - p_val
    - pi_flags
    argTypes:
    - ttml_length_t
    - int
    - float*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 418
    functionName: FillCoord
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillCoord( ttml_length_t v, int i_flag, float *p_val, int *pi_flags
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ttml_rebase_length
      Src: /src/vlc/modules/codec/ttml/substtml.c:424,1
    - Dst: ttml_rebase_length
      Src: /src/vlc/modules/codec/ttml/substtml.c:425,1
    - Dst: FillCoord
      Src: /src/vlc/modules/codec/ttml/substtml.c:428,1
    - Dst: FillCoord
      Src: /src/vlc/modules/codec/ttml/substtml.c:429,1
    - Dst: FillCoord
      Src: /src/vlc/modules/codec/ttml/substtml.c:434,1
    - Dst: FillCoord
      Src: /src/vlc/modules/codec/ttml/substtml.c:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - p_ctx
    - h
    - v
    - b_origin
    - p_updt
    argTypes:
    - ttml_context_t*
    - ttml_length_t
    - ttml_length_t
    - bool
    - substext_updater_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 437
    functionName: FillUpdaterCoords
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached:
    - ttml_rebase_length
    - FillCoord
    linkageType: ''
    returnType: void
    signature: "void FillUpdaterCoords( ttml_context_t *p_ctx, ttml_length_t h, ttml_length_t
      v,\n                               bool b_origin, substext_updater_region_t
      *p_updt )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:443,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:446,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:449,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:451,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:455,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:456,1
    - Dst: ttml_read_coords
      Src: /src/vlc/modules/codec/ttml/substtml.c:459,1
    - Dst: FillUpdaterCoords
      Src: /src/vlc/modules/codec/ttml/substtml.c:460,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - p_ctx
    - psz_attr
    - psz_namespace
    - psz_val
    - p_region
    argTypes:
    - ttml_context_t*
    - char*
    - char*
    - char*
    - ttml_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 439
    functionDepth: 3
    functionLinenumber: 439
    functionLinenumberEnd: 462
    functionName: FillRegionStyle
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ttml_read_coords
    - strcasecmp
    - FillUpdaterCoords
    linkageType: ''
    returnType: void
    signature: "void FillRegionStyle( ttml_context_t *p_ctx,\n                             const
      char *psz_attr, const char *psz_namespace,\n                             const
      char *psz_val, ttml_region_t *p_region )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/ttml/substtml.c:467,1
    - Dst: ttml_rebase_length
      Src: /src/vlc/modules/codec/ttml/substtml.c:483,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - p_ctx
    - p_dict
    - p_ttml_style
    argTypes:
    - ttml_context_t*
    - vlc_dictionary_t*
    - ttml_style_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 491
    functionName: ComputeTTMLStyles
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached:
    - ttml_rebase_length
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void ComputeTTMLStyles( ttml_context_t *p_ctx, const vlc_dictionary_t
      *p_dict,\n                               ttml_style_t *p_ttml_style )"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:496,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:498,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:499,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:503,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:506,1
    - Dst: ttml_read_coords
      Src: /src/vlc/modules/codec/ttml/substtml.c:508,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:511,1
    - Dst: ttml_read_coords
      Src: /src/vlc/modules/codec/ttml/substtml.c:513,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:516,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:519,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:521,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:523,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:525,1
    - Dst: printf
      Src: /src/vlc/modules/codec/ttml/substtml.c:530,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:533,1
    - Dst: ttml_read_length
      Src: /src/vlc/modules/codec/ttml/substtml.c:535,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:539,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:541,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:546,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:552,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:554,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:556,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:559,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:561,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:561,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:567,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:567,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:574,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:576,1
    - Dst: FillTextStyle
      Src: /src/vlc/modules/codec/ttml/substtml.c:581,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 63
    argCount: 4
    argNames:
    - psz_attr
    - psz_namespace
    - psz_val
    - p_ttml_style
    argTypes:
    - char*
    - char*
    - char*
    - ttml_style_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 493
    functionDepth: 3
    functionLinenumber: 493
    functionLinenumberEnd: 582
    functionName: FillTTMLStyle
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached:
    - ttml_read_coords
    - FillTextStyle
    - printf
    - strcmp
    - strcasecmp
    - ttml_read_length
    linkageType: ''
    returnType: void
    signature: "void FillTTMLStyle( const char *psz_attr, const char *psz_namespace,\n
      \                          const char *psz_val, ttml_style_t *p_ttml_style )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_dictionary_has_key
      Src: /src/vlc/modules/codec/ttml/substtml.c:592,1
    - Dst: vlc_dictionary_remove_value_for_key
      Src: /src/vlc/modules/codec/ttml/substtml.c:596,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/codec/ttml/substtml.c:597,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/codec/ttml/substtml.c:601,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - p_src
    - p_dst
    - b_override
    argTypes:
    - vlc_dictionary_t*
    - vlc_dictionary_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 604
    functionName: DictionaryMerge
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached:
    - vlc_dictionary_remove_value_for_key
    - vlc_dictionary_has_key
    - vlc_dictionary_insert
    linkageType: ''
    returnType: void
    signature: "void DictionaryMerge( const vlc_dictionary_t *p_src, vlc_dictionary_t
      *p_dst,\n                             bool b_override )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/ttml/substtml.c:609,1
    - Dst: strdup
      Src: /src/vlc/modules/codec/ttml/substtml.c:611,1
    - Dst: vlc_dictionary_init
      Src: /src/vlc/modules/codec/ttml/substtml.c:616,1
    - Dst: strtok_r
      Src: /src/vlc/modules/codec/ttml/substtml.c:619,1
    - Dst: FindNode
      Src: /src/vlc/modules/codec/ttml/substtml.c:623,1
    - Dst: DictionaryMerge
      Src: /src/vlc/modules/codec/ttml/substtml.c:628,1
    - Dst: strtok_r
      Src: /src/vlc/modules/codec/ttml/substtml.c:630,1
    - Dst: vlc_dictionary_is_empty
      Src: /src/vlc/modules/codec/ttml/substtml.c:633,1
    - Dst: DictionaryMerge
      Src: /src/vlc/modules/codec/ttml/substtml.c:634,1
    - Dst: vlc_dictionary_clear
      Src: /src/vlc/modules/codec/ttml/substtml.c:636,1
    - Dst: free
      Src: /src/vlc/modules/codec/ttml/substtml.c:637,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - p_ctx
    - p_nss
    - psz_styles
    - p_dst
    argTypes:
    - ttml_context_t*
    - tt_namespaces_t*
    - char*
    - vlc_dictionary_t*
    assertStmts:
    - condition: (p_ctx->p_rootnode)
      pos:
        line_end: 608
        line_start: 608
        source_file: /src/vlc/modules/codec/ttml/substtml.c
    constantsTouched: []
    func_position:
      end: 639
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 639
    functionName: DictMergeWithStyleID
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached:
    - DictionaryMerge
    - strtok_r
    - assert
    - strdup
    - vlc_dictionary_clear
    - FindNode
    - vlc_dictionary_is_empty
    - vlc_dictionary_init
    - free
    linkageType: ''
    returnType: void
    signature: "void DictMergeWithStyleID( ttml_context_t *p_ctx, tt_namespaces_t
      *p_nss,\n                                  const char *psz_styles, vlc_dictionary_t
      *p_dst )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/ttml/substtml.c:644,1
    - Dst: FindNode
      Src: /src/vlc/modules/codec/ttml/substtml.c:647,1
    - Dst: DictionaryMerge
      Src: /src/vlc/modules/codec/ttml/substtml.c:654,1
    - Dst: tt_node_GetAttribute
      Src: /src/vlc/modules/codec/ttml/substtml.c:657,1
    - Dst: DictMergeWithStyleID
      Src: /src/vlc/modules/codec/ttml/substtml.c:659,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/ttml/substtml.c:664,1
    - Dst: tt_node_Match
      Src: /src/vlc/modules/codec/ttml/substtml.c:668,1
    - Dst: DictionaryMerge
      Src: /src/vlc/modules/codec/ttml/substtml.c:670,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - p_ctx
    - p_nss
    - psz_id
    - p_dst
    argTypes:
    - ttml_context_t*
    - tt_namespaces_t*
    - char*
    - vlc_dictionary_t*
    assertStmts:
    - condition: (p_ctx->p_rootnode)
      pos:
        line_end: 643
        line_start: 643
        source_file: /src/vlc/modules/codec/ttml/substtml.c
    constantsTouched: []
    func_position:
      end: 674
      start: 641
    functionDepth: 3
    functionLinenumber: 641
    functionLinenumberEnd: 674
    functionName: DictMergeWithRegionID
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached:
    - DictionaryMerge
    - assert
    - tt_node_GetAttribute
    - FindNode
    - tt_node_Match
    - DictMergeWithStyleID
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void DictMergeWithRegionID( ttml_context_t *p_ctx, tt_namespaces_t
      *p_nss,\n                                   const char *psz_id, vlc_dictionary_t
      *p_dst )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tt_namespaces_GetURI
      Src: /src/vlc/modules/codec/ttml/substtml.c:685,1
    - Dst: tt_LocalName
      Src: /src/vlc/modules/codec/ttml/substtml.c:688,1
    - Dst: FillTTMLStyle
      Src: /src/vlc/modules/codec/ttml/substtml.c:689,1
    - Dst: ComputeTTMLStyles
      Src: /src/vlc/modules/codec/ttml/substtml.c:692,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - p_ctx
    - p_nss
    - p_dict
    - p_ttml_style
    argTypes:
    - ttml_context_t*
    - tt_namespaces_t*
    - vlc_dictionary_t*
    - ttml_style_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 676
    functionDepth: 4
    functionLinenumber: 676
    functionLinenumberEnd: 693
    functionName: DictToTTMLStyle
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached:
    - ComputeTTMLStyles
    - FillTTMLStyle
    - tt_namespaces_GetURI
    - tt_LocalName
    linkageType: ''
    returnType: void
    signature: "void DictToTTMLStyle( ttml_context_t *p_ctx, tt_namespaces_t *p_nss,\n
      \                            const vlc_dictionary_t *p_dict,\n                             ttml_style_t
      *p_ttml_style )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/ttml/substtml.c:698,1
    - Dst: vlc_dictionary_init
      Src: /src/vlc/modules/codec/ttml/substtml.c:701,1
    - Dst: DictionaryMerge
      Src: /src/vlc/modules/codec/ttml/substtml.c:706,1
    - Dst: tt_node_GetAttribute
      Src: /src/vlc/modules/codec/ttml/substtml.c:708,1
    - Dst: DictMergeWithStyleID
      Src: /src/vlc/modules/codec/ttml/substtml.c:710,1
    - Dst: tt_node_GetAttribute
      Src: /src/vlc/modules/codec/ttml/substtml.c:712,1
    - Dst: DictMergeWithRegionID
      Src: /src/vlc/modules/codec/ttml/substtml.c:714,1
    - Dst: vlc_dictionary_is_empty
      Src: /src/vlc/modules/codec/ttml/substtml.c:717,1
    - Dst: ttml_style_New
      Src: /src/vlc/modules/codec/ttml/substtml.c:717,1
    - Dst: DictToTTMLStyle
      Src: /src/vlc/modules/codec/ttml/substtml.c:719,1
    - Dst: vlc_dictionary_clear
      Src: /src/vlc/modules/codec/ttml/substtml.c:722,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - p_ctx
    - p_nss
    - p_node
    argTypes:
    - ttml_context_t*
    - tt_namespaces_t*
    - tt_node_t*
    assertStmts:
    - condition: ( p_node )
      pos:
        line_end: 697
        line_start: 697
        source_file: /src/vlc/modules/codec/ttml/substtml.c
    constantsTouched: []
    func_position:
      end: 725
      start: 695
    functionDepth: 5
    functionLinenumber: 695
    functionLinenumberEnd: 725
    functionName: InheritTTMLStyles
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached:
    - DictionaryMerge
    - assert
    - vlc_dictionary_clear
    - DictToTTMLStyle
    - tt_node_GetAttribute
    - vlc_dictionary_is_empty
    - vlc_dictionary_init
    - DictMergeWithStyleID
    - ttml_style_New
    - DictMergeWithRegionID
    linkageType: ''
    returnType: ttml_style_t
    signature: "ttml_style_t * InheritTTMLStyles( ttml_context_t *p_ctx, tt_namespaces_t
      *p_nss,\n                                         tt_node_t *p_node )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderNextNodeNS
      Src: /src/vlc/modules/codec/ttml/substtml.c:734,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:745,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:746,1
    - Dst: tt_LocalName
      Src: /src/vlc/modules/codec/ttml/substtml.c:746,1
    - Dst: tt_node_NewRead
      Src: /src/vlc/modules/codec/ttml/substtml.c:749,1
    - Dst: tt_nodes_Read
      Src: /src/vlc/modules/codec/ttml/substtml.c:752,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:758,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 3
    argNames:
    - p_reader
    - p_nss
    - pp_rootnode
    argTypes:
    - xml_reader_t*
    - tt_namespaces_t*
    - tt_node_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 769
    functionName: ParseTTMLChunk
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached:
    - strcmp
    - tt_nodes_Read
    - tt_LocalName
    - tt_node_NewRead
    - xml_ReaderNextNodeNS
    linkageType: ''
    returnType: int
    signature: "int ParseTTMLChunk( xml_reader_t *p_reader, tt_namespaces_t *p_nss,\n
      \                          tt_node_t **pp_rootnode )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/codec/ttml/substtml.c:792,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/ttml/substtml.c:792,1
    - Dst: asprintf
      Src: /src/vlc/modules/codec/ttml/substtml.c:796,1
    - Dst: free
      Src: /src/vlc/modules/codec/ttml/substtml.c:799,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - p_segment
    - i_direction
    argTypes:
    - text_segment_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 771
    functionDepth: 2
    functionLinenumber: 771
    functionLinenumberEnd: 802
    functionName: BIDIConvert
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached:
    - free
    - asprintf
    - unlikely
    - ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: void BIDIConvert( text_segment_t *p_segment, int i_direction )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vlc/modules/codec/ttml/substtml.c:808,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - p_segment
    argTypes:
    - text_segment_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 810
    functionName: StripSpacing
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: void
    signature: void StripSpacing( text_segment_t *p_segment )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_dictionary_value_for_key
      Src: /src/vlc/modules/codec/ttml/substtml.c:816,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/ttml/substtml.c:819,1
    - Dst: vlc_dictionary_init
      Src: /src/vlc/modules/codec/ttml/substtml.c:824,1
    - Dst: DictMergeWithRegionID
      Src: /src/vlc/modules/codec/ttml/substtml.c:826,1
    - Dst: ttml_region_New
      Src: /src/vlc/modules/codec/ttml/substtml.c:827,1
    - Dst: tt_namespaces_GetURI
      Src: /src/vlc/modules/codec/ttml/substtml.c:835,1
    - Dst: tt_LocalName
      Src: /src/vlc/modules/codec/ttml/substtml.c:838,1
    - Dst: FillRegionStyle
      Src: /src/vlc/modules/codec/ttml/substtml.c:839,1
    - Dst: vlc_dictionary_clear
      Src: /src/vlc/modules/codec/ttml/substtml.c:844,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/codec/ttml/substtml.c:846,1
    - Dst: ttml_region_New
      Src: /src/vlc/modules/codec/ttml/substtml.c:848,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/codec/ttml/substtml.c:850,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - p_ctx
    - p_nss
    - psz_region_id
    argTypes:
    - ttml_context_t*
    - tt_namespaces_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 812
    functionDepth: 4
    functionLinenumber: 812
    functionLinenumberEnd: 854
    functionName: GetTTMLRegion
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached:
    - ttml_region_New
    - vlc_dictionary_value_for_key
    - vlc_dictionary_clear
    - FillRegionStyle
    - vlc_dictionary_init
    - tt_namespaces_GetURI
    - strcmp
    - tt_LocalName
    - vlc_dictionary_insert
    - DictMergeWithRegionID
    linkageType: ''
    returnType: ttml_region_t
    signature: "ttml_region_t *GetTTMLRegion( ttml_context_t *p_ctx, tt_namespaces_t
      *p_nss,\n                                     const char *psz_region_id )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: text_segment_New
      Src: /src/vlc/modules/codec/ttml/substtml.c:858,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_region
    argTypes:
    - ttml_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 864
    functionName: AppendLineBreakToRegion
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached:
    - text_segment_New
    linkageType: ''
    returnType: void
    signature: void AppendLineBreakToRegion( ttml_region_t *p_region )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: text_segment_New
      Src: /src/vlc/modules/codec/ttml/substtml.c:875,1
    - Dst: InheritTTMLStyles
      Src: /src/vlc/modules/codec/ttml/substtml.c:879,1
    - Dst: ttml_style_Merge
      Src: /src/vlc/modules/codec/ttml/substtml.c:883,1
    - Dst: BIDIConvert
      Src: /src/vlc/modules/codec/ttml/substtml.c:890,1
    - Dst: FillUpdaterCoords
      Src: /src/vlc/modules/codec/ttml/substtml.c:910,1
    - Dst: FillUpdaterCoords
      Src: /src/vlc/modules/codec/ttml/substtml.c:913,1
    - Dst: ttml_style_Delete
      Src: /src/vlc/modules/codec/ttml/substtml.c:915,1
    - Dst: StripSpacing
      Src: /src/vlc/modules/codec/ttml/substtml.c:919,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 5
    argNames:
    - p_ctx
    - p_nss
    - p_ttnode
    - p_set_styles
    - p_region
    argTypes:
    - ttml_context_t*
    - tt_namespaces_t*
    - tt_textnode_t*
    - ttml_style_t*
    - ttml_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 866
    functionDepth: 6
    functionLinenumber: 866
    functionLinenumberEnd: 924
    functionName: AppendTextToRegion
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached:
    - InheritTTMLStyles
    - StripSpacing
    - FillUpdaterCoords
    - text_segment_New
    - ttml_style_Merge
    - ttml_style_Delete
    - BIDIConvert
    linkageType: ''
    returnType: void
    signature: "void AppendTextToRegion( ttml_context_t *p_ctx, tt_namespaces_t *p_nss,\n
      \                               const tt_textnode_t *p_ttnode,\n                                const
      ttml_style_t *p_set_styles, ttml_region_t *p_region )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FindNode
      Src: /src/vlc/modules/codec/ttml/substtml.c:932,1
    - Dst: tt_node_Match
      Src: /src/vlc/modules/codec/ttml/substtml.c:943,1
    - Dst: FindNode
      Src: /src/vlc/modules/codec/ttml/substtml.c:946,1
    - Dst: isspace
      Src: /src/vlc/modules/codec/ttml/substtml.c:956,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 3
    argNames:
    - p_ctx
    - p_nss
    - psz_id
    argTypes:
    - ttml_context_t*
    - tt_namespaces_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 926
    functionDepth: 2
    functionLinenumber: 926
    functionLinenumberEnd: 962
    functionName: GetSMPTEImage
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached:
    - isspace
    - FindNode
    - tt_node_Match
    linkageType: ''
    returnType: char
    signature: "char * GetSMPTEImage( ttml_context_t *p_ctx, tt_namespaces_t *p_nss,\n
      \                                  const char *psz_id )"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tt_time_Valid
      Src: /src/vlc/modules/codec/ttml/substtml.c:970,1
    - Dst: tt_timings_Contains
      Src: /src/vlc/modules/codec/ttml/substtml.c:971,1
    - Dst: tt_node_GetAttribute
      Src: /src/vlc/modules/codec/ttml/substtml.c:974,1
    - Dst: GetTTMLRegion
      Src: /src/vlc/modules/codec/ttml/substtml.c:978,1
    - Dst: tt_node_Match
      Src: /src/vlc/modules/codec/ttml/substtml.c:981,1
    - Dst: tt_node_GetAttribute
      Src: /src/vlc/modules/codec/ttml/substtml.c:983,1
    - Dst: GetSMPTEImage
      Src: /src/vlc/modules/codec/ttml/substtml.c:988,1
    - Dst: vlc_b64_decode_binary
      Src: /src/vlc/modules/codec/ttml/substtml.c:991,1
    - Dst: tt_node_Match
      Src: /src/vlc/modules/codec/ttml/substtml.c:996,1
    - Dst: AppendLineBreakToRegion
      Src: /src/vlc/modules/codec/ttml/substtml.c:999,1
    - Dst: ttml_style_Duplicate
      Src: /src/vlc/modules/codec/ttml/substtml.c:1004,1
    - Dst: AppendTextToRegion
      Src: /src/vlc/modules/codec/ttml/substtml.c:1012,1
    - Dst: tt_node_Match
      Src: /src/vlc/modules/codec/ttml/substtml.c:1015,1
    - Dst: tt_time_Valid
      Src: /src/vlc/modules/codec/ttml/substtml.c:1018,1
    - Dst: tt_timings_Contains
      Src: /src/vlc/modules/codec/ttml/substtml.c:1019,1
    - Dst: ttml_style_New
      Src: /src/vlc/modules/codec/ttml/substtml.c:1021,1
    - Dst: DictToTTMLStyle
      Src: /src/vlc/modules/codec/ttml/substtml.c:1024,1
    - Dst: tt_node_Match
      Src: /src/vlc/modules/codec/ttml/substtml.c:1028,1
    - Dst: AppendLineBreakToRegion
      Src: /src/vlc/modules/codec/ttml/substtml.c:1030,1
    - Dst: ConvertNodesToRegionContent
      Src: /src/vlc/modules/codec/ttml/substtml.c:1034,1
    - Dst: ttml_style_Delete
      Src: /src/vlc/modules/codec/ttml/substtml.c:1040,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 33
    argCount: 6
    argNames:
    - p_ctx
    - p_nss
    - p_node
    - p_region
    - p_upper_set_styles
    - playbacktime
    argTypes:
    - ttml_context_t*
    - tt_namespaces_t*
    - tt_node_t*
    - ttml_region_t*
    - ttml_style_t*
    - tt_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 964
    functionDepth: 7
    functionLinenumber: 964
    functionLinenumberEnd: 1041
    functionName: ConvertNodesToRegionContent
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 1
    functionsReached:
    - ConvertNodesToRegionContent
    - DictToTTMLStyle
    - tt_node_Match
    - tt_node_GetAttribute
    - AppendLineBreakToRegion
    - ttml_style_New
    - GetSMPTEImage
    - GetTTMLRegion
    - AppendTextToRegion
    - vlc_b64_decode_binary
    - tt_time_Valid
    - ttml_style_Delete
    - ttml_style_Duplicate
    - tt_timings_Contains
    linkageType: ''
    returnType: void
    signature: "void ConvertNodesToRegionContent( ttml_context_t *p_ctx, tt_namespaces_t
      *p_nss,\n                                         const tt_node_t *p_node,\n
      \                                        ttml_region_t *p_region,\n                                         const
      ttml_style_t *p_upper_set_styles,\n                                         tt_time_t
      playbacktime )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_MemoryNew
      Src: /src/vlc/modules/codec/ttml/substtml.c:1049,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/ttml/substtml.c:1050,1
    - Dst: xml_ReaderCreate
      Src: /src/vlc/modules/codec/ttml/substtml.c:1053,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/ttml/substtml.c:1054,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/codec/ttml/substtml.c:1056,1
    - Dst: ParseTTMLChunk
      Src: /src/vlc/modules/codec/ttml/substtml.c:1061,1
    - Dst: tt_node_RecursiveDelete
      Src: /src/vlc/modules/codec/ttml/substtml.c:1064,1
    - Dst: xml_ReaderDelete
      Src: /src/vlc/modules/codec/ttml/substtml.c:1068,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/codec/ttml/substtml.c:1069,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - p_dec
    - p_nss
    - p_buffer
    - i_buffer
    argTypes:
    - decoder_t*
    - tt_namespaces_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1043
    functionDepth: 2
    functionLinenumber: 1043
    functionLinenumberEnd: 1072
    functionName: ParseTTML
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached:
    - ParseTTMLChunk
    - tt_node_RecursiveDelete
    - vlc_stream_Delete
    - xml_ReaderCreate
    - vlc_stream_MemoryNew
    - unlikely
    - xml_ReaderDelete
    linkageType: ''
    returnType: tt_node_t
    signature: "tt_node_t *ParseTTML( decoder_t *p_dec, tt_namespaces_t *p_nss,\n
      \                            const uint8_t *p_buffer, size_t i_buffer )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tt_node_GetAttribute
      Src: /src/vlc/modules/codec/ttml/substtml.c:1086,1
    - Dst: ttml_read_coords
      Src: /src/vlc/modules/codec/ttml/substtml.c:1089,1
    - Dst: tt_node_GetAttribute
      Src: /src/vlc/modules/codec/ttml/substtml.c:1092,1
    - Dst: sscanf
      Src: /src/vlc/modules/codec/ttml/substtml.c:1096,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - p_nss
    - p_rootnode
    - p_ctx
    argTypes:
    - tt_namespaces_t*
    - tt_node_t*
    - ttml_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1074
    functionDepth: 3
    functionLinenumber: 1074
    functionLinenumberEnd: 1102
    functionName: InitTTMLContext
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached:
    - sscanf
    - ttml_read_coords
    - tt_node_GetAttribute
    linkageType: ''
    returnType: void
    signature: "void InitTTMLContext( tt_namespaces_t *p_nss, tt_node_t *p_rootnode,\n
      \                            ttml_context_t *p_ctx )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tt_node_Match
      Src: /src/vlc/modules/codec/ttml/substtml.c:1110,1
    - Dst: FindNode
      Src: /src/vlc/modules/codec/ttml/substtml.c:1112,1
    - Dst: InitTTMLContext
      Src: /src/vlc/modules/codec/ttml/substtml.c:1116,1
    - Dst: vlc_dictionary_init
      Src: /src/vlc/modules/codec/ttml/substtml.c:1119,1
    - Dst: ConvertNodesToRegionContent
      Src: /src/vlc/modules/codec/ttml/substtml.c:1120,1
    - Dst: vlc_dictionary_clear
      Src: /src/vlc/modules/codec/ttml/substtml.c:1132,1
    - Dst: tt_node_Match
      Src: /src/vlc/modules/codec/ttml/substtml.c:1135,1
    - Dst: tt_node_Match
      Src: /src/vlc/modules/codec/ttml/substtml.c:1136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - p_nss
    - p_rootnode
    - playbacktime
    argTypes:
    - tt_namespaces_t*
    - tt_node_t*
    - tt_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1104
    functionDepth: 8
    functionLinenumber: 1104
    functionLinenumberEnd: 1142
    functionName: GenerateRegions
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached:
    - ConvertNodesToRegionContent
    - InitTTMLContext
    - vlc_dictionary_clear
    - tt_node_Match
    - FindNode
    - vlc_dictionary_init
    linkageType: ''
    returnType: ttml_region_t
    signature: "ttml_region_t *GenerateRegions( tt_namespaces_t *p_nss, tt_node_t
      *p_rootnode,\n                                       tt_time_t playbacktime
      )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SubpictureUpdaterSysRegionNew
      Src: /src/vlc/modules/codec/ttml/substtml.c:1161,1
    - Dst: SubpictureUpdaterSysRegionAdd
      Src: /src/vlc/modules/codec/ttml/substtml.c:1164,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - p_dec
    - p_spu
    - p_regions
    argTypes:
    - decoder_t*
    - subpicture_t*
    - ttml_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1144
    functionDepth: 2
    functionLinenumber: 1144
    functionLinenumberEnd: 1180
    functionName: TTMLRegionsToSpuTextRegions
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached:
    - SubpictureUpdaterSysRegionAdd
    - SubpictureUpdaterSysRegionNew
    linkageType: ''
    returnType: void
    signature: "void TTMLRegionsToSpuTextRegions( decoder_t *p_dec, subpicture_t *p_spu,\n
      \                                        ttml_region_t *p_regions )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - flags
    - extent_x
    - extent_y
    argTypes:
    - int
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1182
    functionDepth: 0
    functionLinenumber: 1182
    functionLinenumberEnd: 1186
    functionName: isValidPixelsExtent
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValidPixelsExtent( int flags, float extent_x, float extent_y
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - flags
    - extent_x
    - extent_y
    argTypes:
    - int
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1188
    functionDepth: 0
    functionLinenumber: 1188
    functionLinenumberEnd: 1192
    functionName: isValidPercentsExtent
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValidPercentsExtent( int flags, float extent_x, float extent_y
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - fmt
    - extent_x
    - extent_y
    argTypes:
    - video_format_t*
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1201
    functionName: setPixelsWidthAndHeight
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setPixelsWidthAndHeight( video_format_t* fmt, float extent_x,
      float extent_y )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - fmt
    - extent_x
    - extent_y
    argTypes:
    - video_format_t*
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1203
    functionDepth: 0
    functionLinenumber: 1203
    functionLinenumberEnd: 1210
    functionName: setPercentsWidthAndHeight
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setPercentsWidthAndHeight( video_format_t* fmt, float extent_x,
      float extent_y )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: video_format_Copy
      Src: /src/vlc/modules/codec/ttml/substtml.c:1215,1
    - Dst: setPercentsWidthAndHeight
      Src: /src/vlc/modules/codec/ttml/substtml.c:1216,1
    - Dst: image_Convert
      Src: /src/vlc/modules/codec/ttml/substtml.c:1218,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/codec/ttml/substtml.c:1220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - p_image
    - p_picture
    - extent_x
    - extent_y
    argTypes:
    - image_handler_t*
    - picture_t*
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1212
    functionDepth: 1
    functionLinenumber: 1212
    functionLinenumberEnd: 1223
    functionName: rescalePicture
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached:
    - video_format_Clean
    - setPercentsWidthAndHeight
    - video_format_Copy
    - image_Convert
    linkageType: ''
    returnType: picture_t
    signature: picture_t * rescalePicture( image_handler_t *p_image, picture_t *p_picture,
      float extent_x, float extent_y )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: video_format_Init
      Src: /src/vlc/modules/codec/ttml/substtml.c:1233,1
    - Dst: isValidPixelsExtent
      Src: /src/vlc/modules/codec/ttml/substtml.c:1235,1
    - Dst: setPixelsWidthAndHeight
      Src: /src/vlc/modules/codec/ttml/substtml.c:1237,1
    - Dst: es_format_Init
      Src: /src/vlc/modules/codec/ttml/substtml.c:1241,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/ttml/substtml.c:1244,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/ttml/substtml.c:1247,1
    - Dst: image_HandlerCreate
      Src: /src/vlc/modules/codec/ttml/substtml.c:1254,1
    - Dst: image_Read
      Src: /src/vlc/modules/codec/ttml/substtml.c:1257,1
    - Dst: isValidPercentsExtent
      Src: /src/vlc/modules/codec/ttml/substtml.c:1259,1
    - Dst: rescalePicture
      Src: /src/vlc/modules/codec/ttml/substtml.c:1261,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/ttml/substtml.c:1265,1
    - Dst: image_HandlerDelete
      Src: /src/vlc/modules/codec/ttml/substtml.c:1270,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/ttml/substtml.c:1272,1
    - Dst: es_format_Clean
      Src: /src/vlc/modules/codec/ttml/substtml.c:1275,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/codec/ttml/substtml.c:1276,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 6
    argNames:
    - p_dec
    - p_data
    - i_data
    - flags
    - extent_x
    - extent_y
    argTypes:
    - decoder_t*
    - uint8_t*
    - size_t
    - int
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1225
    functionDepth: 2
    functionLinenumber: 1225
    functionLinenumberEnd: 1279
    functionName: picture_CreateFromPNG
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached:
    - block_Release
    - setPixelsWidthAndHeight
    - video_format_Init
    - es_format_Clean
    - isValidPixelsExtent
    - image_HandlerDelete
    - memcpy
    - image_Read
    - picture_Release
    - block_Alloc
    - rescalePicture
    - es_format_Init
    - video_format_Clean
    - image_HandlerCreate
    - isValidPercentsExtent
    linkageType: ''
    returnType: picture_t
    signature: "picture_t * picture_CreateFromPNG( decoder_t *p_dec,\n                                          const
      uint8_t *p_data, size_t i_data,\n                                          int
      flags, float extent_x, float extent_y )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: picture_CreateFromPNG
      Src: /src/vlc/modules/codec/ttml/substtml.c:1288,1
    - Dst: TTML_ImageUpdaterRegionNew
      Src: /src/vlc/modules/codec/ttml/substtml.c:1295,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/ttml/substtml.c:1298,1
    - Dst: TTML_ImageSpuAppendRegion
      Src: /src/vlc/modules/codec/ttml/substtml.c:1311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - p_dec
    - p_spu
    - p_regions
    argTypes:
    - decoder_t*
    - subpicture_t*
    - ttml_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1281
    functionDepth: 3
    functionLinenumber: 1281
    functionLinenumberEnd: 1314
    functionName: TTMLRegionsToSpuBitmapRegions
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached:
    - picture_CreateFromPNG
    - TTML_ImageUpdaterRegionNew
    - TTML_ImageSpuAppendRegion
    - picture_Release
    linkageType: ''
    returnType: void
    signature: "void TTMLRegionsToSpuBitmapRegions( decoder_t *p_dec, subpicture_t
      *p_spu,\n                                           ttml_region_t *p_regions
      )"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tt_time_Init
      Src: /src/vlc/modules/codec/ttml/substtml.c:1326,1
    - Dst: tt_time_Init
      Src: /src/vlc/modules/codec/ttml/substtml.c:1327,1
    - Dst: tt_time_Init
      Src: /src/vlc/modules/codec/ttml/substtml.c:1328,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/ttml/substtml.c:1337,1
    - Dst: tt_namespaces_Init
      Src: /src/vlc/modules/codec/ttml/substtml.c:1342,1
    - Dst: ParseTTML
      Src: /src/vlc/modules/codec/ttml/substtml.c:1343,1
    - Dst: tt_namespaces_Clean
      Src: /src/vlc/modules/codec/ttml/substtml.c:1346,1
    - Dst: tt_timings_Resolve
      Src: /src/vlc/modules/codec/ttml/substtml.c:1350,1
    - Dst: printf
      Src: /src/vlc/modules/codec/ttml/substtml.c:1355,1
    - Dst: tt_time_Convert
      Src: /src/vlc/modules/codec/ttml/substtml.c:1355,1
    - Dst: printf
      Src: /src/vlc/modules/codec/ttml/substtml.c:1356,1
    - Dst: TTML_in_PES
      Src: /src/vlc/modules/codec/ttml/substtml.c:1360,1
    - Dst: tt_time_Convert
      Src: /src/vlc/modules/codec/ttml/substtml.c:1366,1
    - Dst: TTML_in_PES
      Src: /src/vlc/modules/codec/ttml/substtml.c:1369,1
    - Dst: tt_time_Convert
      Src: /src/vlc/modules/codec/ttml/substtml.c:1370,1
    - Dst: TTML_in_PES
      Src: /src/vlc/modules/codec/ttml/substtml.c:1373,1
    - Dst: tt_time_Convert
      Src: /src/vlc/modules/codec/ttml/substtml.c:1373,1
    - Dst: tt_time_Convert
      Src: /src/vlc/modules/codec/ttml/substtml.c:1374,1
    - Dst: GenerateRegions
      Src: /src/vlc/modules/codec/ttml/substtml.c:1378,1
    - Dst: decoder_NewTTML_ImageSpu
      Src: /src/vlc/modules/codec/ttml/substtml.c:1384,1
    - Dst: decoder_NewSubpictureText
      Src: /src/vlc/modules/codec/ttml/substtml.c:1388,1
    - Dst: tt_time_Convert
      Src: /src/vlc/modules/codec/ttml/substtml.c:1395,1
    - Dst: tt_time_Convert
      Src: /src/vlc/modules/codec/ttml/substtml.c:1397,1
    - Dst: TTMLRegionsToSpuTextRegions
      Src: /src/vlc/modules/codec/ttml/substtml.c:1401,1
    - Dst: TTMLRegionsToSpuBitmapRegions
      Src: /src/vlc/modules/codec/ttml/substtml.c:1403,1
    - Dst: ttml_region_Delete
      Src: /src/vlc/modules/codec/ttml/substtml.c:1410,1
    - Dst: decoder_QueueSub
      Src: /src/vlc/modules/codec/ttml/substtml.c:1415,1
    - Dst: tt_node_RecursiveDelete
      Src: /src/vlc/modules/codec/ttml/substtml.c:1418,1
    - Dst: tt_namespaces_Clean
      Src: /src/vlc/modules/codec/ttml/substtml.c:1419,1
    - Dst: free
      Src: /src/vlc/modules/codec/ttml/substtml.c:1421,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1316
    functionDepth: 9
    functionLinenumber: 1316
    functionLinenumberEnd: 1424
    functionName: ParseBlock
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached:
    - ttml_region_Delete
    - decoder_NewSubpictureText
    - decoder_QueueSub
    - TTMLRegionsToSpuTextRegions
    - tt_namespaces_Init
    - printf
    - tt_node_RecursiveDelete
    - free
    - tt_timings_Resolve
    - tt_time_Convert
    - ParseTTML
    - tt_namespaces_Clean
    - GenerateRegions
    - decoder_NewTTML_ImageSpu
    - msg_Warn
    - tt_time_Init
    - TTMLRegionsToSpuBitmapRegions
    - TTML_in_PES
    linkageType: ''
    returnType: int
    signature: int ParseBlock( decoder_t *p_dec, const block_t *p_block )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParseBlock
      Src: /src/vlc/modules/codec/ttml/substtml.c:1435,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/ttml/substtml.c:1440,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/ttml/substtml.c:1443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1430
    functionDepth: 10
    functionLinenumber: 1430
    functionLinenumberEnd: 1445
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 20
    functionsReached:
    - block_Release
    - msg_Dbg
    - ParseBlock
    linkageType: ''
    returnType: int
    signature: int DecodeBlock( decoder_t *p_dec, block_t *p_block )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParsePESEncap
      Src: /src/vlc/modules/codec/ttml/substtml.c:1450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1447
    functionDepth: 1
    functionLinenumber: 1447
    functionLinenumberEnd: 1451
    functionName: DecodePESBlock
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached:
    - ParsePESEncap
    linkageType: ''
    returnType: int
    signature: int DecodePESBlock( decoder_t *p_dec, block_t *p_block )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ttml_in_pes_Init
      Src: /src/vlc/modules/codec/ttml/substtml.c:1459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1456
    functionDepth: 1
    functionLinenumber: 1456
    functionLinenumberEnd: 1460
    functionName: Flush
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 101
    functionsReached:
    - ttml_in_pes_Init
    linkageType: ''
    returnType: void
    signature: void Flush( decoder_t *p_dec )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TTML_in_PES
      Src: /src/vlc/modules/codec/ttml/substtml.c:1471,1
    - Dst: vlc_obj_calloc
      Src: /src/vlc/modules/codec/ttml/substtml.c:1475,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/ttml/substtml.c:1476,1
    - Dst: TTML_in_PES
      Src: /src/vlc/modules/codec/ttml/substtml.c:1479,1
    - Dst: var_InheritInteger
      Src: /src/vlc/modules/codec/ttml/substtml.c:1484,1
    - Dst: ttml_in_pes_Init
      Src: /src/vlc/modules/codec/ttml/substtml.c:1485,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1488
      start: 1465
    functionDepth: 1
    functionLinenumber: 1465
    functionLinenumberEnd: 1488
    functionName: tt_OpenDecoder
    functionSourceFile: /src/vlc/modules/codec/ttml/substtml.c
    functionUses: 0
    functionsReached:
    - ttml_in_pes_Init
    - var_InheritInteger
    - TTML_in_PES
    - unlikely
    - vlc_obj_calloc
    linkageType: ''
    returnType: int
    signature: int tt_OpenDecoder( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vlc/modules/codec/ttml/ttml.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - psz_qname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: tt_LocalName
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.h
    functionUses: 4
    functionsReached:
    - strchr
    linkageType: ''
    returnType: char
    signature: char *tt_LocalName( const char *psz_qname )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - tt_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: tt_time_Init
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tt_time_Init( tt_time_t *t )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: tt_time_Create
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: tt_time_t
    signature: tt_time_t tt_time_Create( vlc_tick_t i )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - tt_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: tt_time_Valid
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool tt_time_Valid( const tt_time_t *t )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tt_time_Valid
      Src: /src/vlc/modules/codec/ttml/ttml.h:170,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/codec/ttml/ttml.h:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - tt_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: tt_time_Convert
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.h
    functionUses: 3
    functionsReached:
    - vlc_tick_from_samples
    - tt_time_Valid
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t tt_time_Convert( const tt_time_t *t )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tt_time_Convert
      Src: /src/vlc/modules/codec/ttml/ttml.h:178,1
    - Dst: tt_time_Convert
      Src: /src/vlc/modules/codec/ttml/ttml.h:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - tt_time_t*
    - tt_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 183
    functionName: tt_time_Compare
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.h
    functionUses: 0
    functionsReached:
    - tt_time_Convert
    linkageType: ''
    returnType: int
    signature: int tt_time_Compare( const tt_time_t *t1, const tt_time_t *t2 )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/codec/ttml/ttml.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - tt_time_t
    - tt_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 192
    functionName: tt_time_Add
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.h
    functionUses: 0
    functionsReached:
    - vlc_tick_from_samples
    linkageType: ''
    returnType: tt_time_t
    signature: tt_time_t tt_time_Add( tt_time_t t1, tt_time_t t2 )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/codec/ttml/ttml.h:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - tt_time_t
    - tt_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 205
    functionName: tt_time_Sub
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.h
    functionUses: 1
    functionsReached:
    - vlc_tick_from_sec
    linkageType: ''
    returnType: tt_time_t
    signature: tt_time_t tt_time_Sub( tt_time_t t1, tt_time_t t2 )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tt_time_Valid
      Src: /src/vlc/modules/codec/ttml/genttml.c:42,1
    - Dst: asprintf
      Src: /src/vlc/modules/codec/ttml/genttml.c:61,1
    - Dst: asprintf
      Src: /src/vlc/modules/codec/ttml/genttml.c:66,1
    - Dst: asprintf
      Src: /src/vlc/modules/codec/ttml/genttml.c:71,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - t
    argTypes:
    - tt_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 76
    functionName: tt_genTiming
    functionSourceFile: /src/vlc/modules/codec/ttml/genttml.c
    functionUses: 0
    functionsReached:
    - asprintf
    - tt_time_Valid
    linkageType: ''
    returnType: char
    signature: char *tt_genTiming( tt_time_t t )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_xml_encode
      Src: /src/vlc/modules/codec/ttml/genttml.c:80,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/codec/ttml/genttml.c:83,1
    - Dst: free
      Src: /src/vlc/modules/codec/ttml/genttml.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_stream
    - psz
    argTypes:
    - struct vlc_memstream*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: tt_MemstreamPutEntities
    functionSourceFile: /src/vlc/modules/codec/ttml/genttml.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_xml_encode
    - vlc_memstream_puts
    linkageType: ''
    returnType: void
    signature: void tt_MemstreamPutEntities( struct vlc_memstream *p_stream, const
      char *psz )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/codec/ttml/genttml.c:99,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/ttml/genttml.c:100,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/ttml/genttml.c:101,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/ttml/genttml.c:107,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/codec/ttml/genttml.c:120,1
    - Dst: tt_MemstreamPutEntities
      Src: /src/vlc/modules/codec/ttml/genttml.c:121,1
    - Dst: vlc_memstream_putc
      Src: /src/vlc/modules/codec/ttml/genttml.c:122,1
    - Dst: tt_time_Valid
      Src: /src/vlc/modules/codec/ttml/genttml.c:128,1
    - Dst: tt_genTiming
      Src: /src/vlc/modules/codec/ttml/genttml.c:130,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/codec/ttml/genttml.c:131,1
    - Dst: free
      Src: /src/vlc/modules/codec/ttml/genttml.c:132,1
    - Dst: tt_time_Valid
      Src: /src/vlc/modules/codec/ttml/genttml.c:135,1
    - Dst: tt_genTiming
      Src: /src/vlc/modules/codec/ttml/genttml.c:137,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/codec/ttml/genttml.c:138,1
    - Dst: free
      Src: /src/vlc/modules/codec/ttml/genttml.c:139,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 2
    argNames:
    - p_stream
    - p_node
    argTypes:
    - struct vlc_memstream*
    - tt_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 142
    functionName: tt_node_AttributesToText
    functionSourceFile: /src/vlc/modules/codec/ttml/genttml.c
    functionUses: 0
    functionsReached:
    - tt_genTiming
    - tt_MemstreamPutEntities
    - vlc_memstream_printf
    - free
    - strcmp
    - vlc_memstream_putc
    - tt_time_Valid
    linkageType: ''
    returnType: void
    signature: void tt_node_AttributesToText( struct vlc_memstream *p_stream, const
      tt_node_t* p_node )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tt_time_Valid
      Src: /src/vlc/modules/codec/ttml/genttml.c:151,1
    - Dst: tt_timings_Contains
      Src: /src/vlc/modules/codec/ttml/genttml.c:152,1
    - Dst: vlc_memstream_putc
      Src: /src/vlc/modules/codec/ttml/genttml.c:155,1
    - Dst: tt_MemstreamPutEntities
      Src: /src/vlc/modules/codec/ttml/genttml.c:156,1
    - Dst: tt_node_AttributesToText
      Src: /src/vlc/modules/codec/ttml/genttml.c:158,1
    - Dst: tt_node_HasChild
      Src: /src/vlc/modules/codec/ttml/genttml.c:160,1
    - Dst: vlc_memstream_putc
      Src: /src/vlc/modules/codec/ttml/genttml.c:162,1
    - Dst: vlc_memstream_printf
      Src: /src/vlc/modules/codec/ttml/genttml.c:165,1
    - Dst: tt_time_Convert
      Src: /src/vlc/modules/codec/ttml/genttml.c:166,1
    - Dst: tt_time_Convert
      Src: /src/vlc/modules/codec/ttml/genttml.c:167,1
    - Dst: tt_node_ToText
      Src: /src/vlc/modules/codec/ttml/genttml.c:173,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/codec/ttml/genttml.c:176,1
    - Dst: tt_MemstreamPutEntities
      Src: /src/vlc/modules/codec/ttml/genttml.c:177,1
    - Dst: vlc_memstream_putc
      Src: /src/vlc/modules/codec/ttml/genttml.c:178,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/codec/ttml/genttml.c:181,1
    - Dst: tt_MemstreamPutEntities
      Src: /src/vlc/modules/codec/ttml/genttml.c:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - p_stream
    - p_basenode
    - playbacktime
    argTypes:
    - struct vlc_memstream*
    - tt_basenode_t*
    - tt_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 144
    functionDepth: 4
    functionLinenumber: 144
    functionLinenumberEnd: 188
    functionName: tt_node_ToText
    functionSourceFile: /src/vlc/modules/codec/ttml/genttml.c
    functionUses: 4
    functionsReached:
    - tt_node_ToText
    - vlc_memstream_puts
    - tt_MemstreamPutEntities
    - tt_node_HasChild
    - tt_node_AttributesToText
    - vlc_memstream_printf
    - tt_time_Convert
    - vlc_memstream_putc
    - tt_time_Valid
    - tt_timings_Contains
    linkageType: ''
    returnType: void
    signature: "void tt_node_ToText( struct vlc_memstream *p_stream, const tt_basenode_t
      *p_basenode,\n                     const tt_time_t *playbacktime )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_list_foreach
      Src: /src/vlc/modules/codec/ttml/ttml.c:78,1
    - Dst: free
      Src: /src/vlc/modules/codec/ttml/ttml.c:80,1
    - Dst: free
      Src: /src/vlc/modules/codec/ttml/ttml.c:81,1
    - Dst: free
      Src: /src/vlc/modules/codec/ttml/ttml.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - nss
    argTypes:
    - tt_namespaces_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: tt_namespaces_Clean
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.c
    functionUses: 2
    functionsReached:
    - free
    - vlc_list_foreach
    linkageType: ''
    returnType: void
    signature: void tt_namespaces_Clean( tt_namespaces_t *nss )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_list_init
      Src: /src/vlc/modules/codec/ttml/ttml.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nss
    argTypes:
    - tt_namespaces_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: tt_namespaces_Init
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.c
    functionUses: 2
    functionsReached:
    - vlc_list_init
    linkageType: ''
    returnType: void
    signature: void tt_namespaces_Init( tt_namespaces_t *nss )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_list_foreach_const
      Src: /src/vlc/modules/codec/ttml/ttml.c:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - nss
    - psz_qn
    argTypes:
    - tt_namespaces_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 115
    functionName: tt_namespaces_GetURI
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.c
    functionUses: 2
    functionsReached:
    - vlc_list_foreach_const
    linkageType: ''
    returnType: char
    signature: "char * tt_namespaces_GetURI( const tt_namespaces_t *nss,\n                                   const
      char *psz_qn )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_list_foreach_const
      Src: /src/vlc/modules/codec/ttml/ttml.c:121,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/ttml/ttml.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - nss
    - psz_uri
    argTypes:
    - tt_namespaces_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 127
    functionName: tt_namespaces_GetPrefix
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.c
    functionUses: 0
    functionsReached:
    - strcmp
    - vlc_list_foreach_const
    linkageType: ''
    returnType: char
    signature: "char * tt_namespaces_GetPrefix( const tt_namespaces_t *nss,\n                                      const
      char *psz_uri )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tt_namespaces_GetPrefix
      Src: /src/vlc/modules/codec/ttml/ttml.c:132,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/ttml/ttml.c:134,1
    - Dst: strchr
      Src: /src/vlc/modules/codec/ttml/ttml.c:137,1
    - Dst: strndup
      Src: /src/vlc/modules/codec/ttml/ttml.c:139,1
    - Dst: strdup
      Src: /src/vlc/modules/codec/ttml/ttml.c:141,1
    - Dst: strdup
      Src: /src/vlc/modules/codec/ttml/ttml.c:142,1
    - Dst: free
      Src: /src/vlc/modules/codec/ttml/ttml.c:145,1
    - Dst: free
      Src: /src/vlc/modules/codec/ttml/ttml.c:146,1
    - Dst: free
      Src: /src/vlc/modules/codec/ttml/ttml.c:147,1
    - Dst: vlc_list_append
      Src: /src/vlc/modules/codec/ttml/ttml.c:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - nss
    - psz_prefix
    - psz_uri
    argTypes:
    - tt_namespaces_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 152
    functionName: tt_namespaces_Register
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.c
    functionUses: 0
    functionsReached:
    - strndup
    - strchr
    - strdup
    - vlc_list_append
    - free
    - malloc
    - tt_namespaces_GetPrefix
    linkageType: ''
    returnType: void
    signature: "void tt_namespaces_Register( tt_namespaces_t *nss, const char *psz_prefix,\n
      \                            const char *psz_uri )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p_node
    argTypes:
    - tt_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 162
    functionName: tt_node_InheritNS
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * tt_node_InheritNS( const tt_node_t *p_node )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tt_LocalName
      Src: /src/vlc/modules/codec/ttml/ttml.c:167,1
    - Dst: tt_LocalName
      Src: /src/vlc/modules/codec/ttml/ttml.c:168,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/ttml/ttml.c:169,1
    - Dst: tt_node_InheritNS
      Src: /src/vlc/modules/codec/ttml/ttml.c:174,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/ttml/ttml.c:176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - p_node
    - psz_name
    - psz_namespace
    argTypes:
    - tt_node_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 178
    functionName: tt_node_Match
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.c
    functionUses: 5
    functionsReached:
    - strcmp
    - tt_node_InheritNS
    - tt_LocalName
    linkageType: ''
    returnType: bool
    signature: bool tt_node_Match( const tt_node_t *p_node, const char *psz_name,
      const char *psz_namespace )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tt_namespaces_GetPrefix
      Src: /src/vlc/modules/codec/ttml/ttml.c:187,1
    - Dst: asprintf
      Src: /src/vlc/modules/codec/ttml/ttml.c:189,1
    - Dst: vlc_dictionary_value_for_key
      Src: /src/vlc/modules/codec/ttml/ttml.c:193,1
    - Dst: free
      Src: /src/vlc/modules/codec/ttml/ttml.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - p_nss
    - p_node
    - psz_name
    - psz_namespace
    argTypes:
    - tt_namespaces_t*
    - tt_node_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 196
    functionName: tt_node_GetAttribute
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.c
    functionUses: 5
    functionsReached:
    - free
    - asprintf
    - vlc_dictionary_value_for_key
    - tt_namespaces_GetPrefix
    linkageType: ''
    returnType: char
    signature: "char * tt_node_GetAttribute( tt_namespaces_t *p_nss, const tt_node_t
      *p_node,\n                                   const char *psz_name, const char
      *psz_namespace )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_node
    argTypes:
    - tt_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: tt_node_HasChild
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool tt_node_HasChild( const tt_node_t *p_node )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - a
    - b
    - c
    - d
    - e
    argTypes:
    - unsigned*
    - unsigned*
    - unsigned*
    - char*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: tt_ScanReset
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool tt_ScanReset( unsigned *a, unsigned *b, unsigned *c,\n                                 char
      *d,  unsigned *e )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/vlc/modules/codec/ttml/ttml.c:217,1
    - Dst: tt_ScanReset
      Src: /src/vlc/modules/codec/ttml/ttml.c:218,1
    - Dst: sscanf
      Src: /src/vlc/modules/codec/ttml/ttml.c:219,1
    - Dst: tt_ScanReset
      Src: /src/vlc/modules/codec/ttml/ttml.c:220,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/codec/ttml/ttml.c:222,1
    - Dst: strchr
      Src: /src/vlc/modules/codec/ttml/ttml.c:226,1
    - Dst: vlc_tick_from_samples
      Src: /src/vlc/modules/codec/ttml/ttml.c:228,1
    - Dst: vlc_strtod_c
      Src: /src/vlc/modules/codec/ttml/ttml.c:238,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/codec/ttml/ttml.c:244,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/codec/ttml/ttml.c:246,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/codec/ttml/ttml.c:250,1
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/codec/ttml/ttml.c:254,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 266
    functionName: tt_ParseTime
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.c
    functionUses: 0
    functionsReached:
    - sscanf
    - tt_ScanReset
    - strchr
    - vlc_tick_from_sec
    - VLC_TICK_FROM_MS
    - vlc_strtod_c
    - vlc_tick_from_samples
    linkageType: ''
    returnType: tt_time_t
    signature: tt_time_t tt_ParseTime( const char *s )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tt_time_Valid
      Src: /src/vlc/modules/codec/ttml/ttml.c:270,1
    - Dst: tt_time_Compare
      Src: /src/vlc/modules/codec/ttml/ttml.c:271,1
    - Dst: tt_time_Valid
      Src: /src/vlc/modules/codec/ttml/ttml.c:274,1
    - Dst: tt_time_Compare
      Src: /src/vlc/modules/codec/ttml/ttml.c:275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - p_range
    - time
    argTypes:
    - tt_timings_t*
    - tt_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 268
    functionDepth: 3
    functionLinenumber: 268
    functionLinenumberEnd: 279
    functionName: tt_timings_Contains
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.c
    functionUses: 2
    functionsReached:
    - tt_time_Compare
    - tt_time_Valid
    linkageType: ''
    returnType: bool
    signature: bool tt_timings_Contains( const tt_timings_t *p_range, const tt_time_t
      *time )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/codec/ttml/ttml.c:283,1
    - Dst: free
      Src: /src/vlc/modules/codec/ttml/ttml.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_node
    argTypes:
    - tt_textnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: tt_textnode_Delete
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void tt_textnode_Delete( tt_textnode_t *p_node )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/ttml/ttml.c:289,1
    - Dst: free
      Src: /src/vlc/modules/codec/ttml/ttml.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_value
    - p_obj
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: tt_node_FreeDictValue
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.c
    functionUses: 0
    functionsReached:
    - free
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void tt_node_FreeDictValue( void* p_value, void* p_obj )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/codec/ttml/ttml.c:295,1
    - Dst: free
      Src: /src/vlc/modules/codec/ttml/ttml.c:296,1
    - Dst: vlc_dictionary_clear
      Src: /src/vlc/modules/codec/ttml/ttml.c:297,1
    - Dst: free
      Src: /src/vlc/modules/codec/ttml/ttml.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p_node
    argTypes:
    - tt_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 299
    functionName: tt_node_Delete
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_dictionary_clear
    linkageType: ''
    returnType: void
    signature: void tt_node_Delete( tt_node_t *p_node )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tt_textnode_Delete
      Src: /src/vlc/modules/codec/ttml/ttml.c:309,1
    - Dst: tt_node_RecursiveDelete
      Src: /src/vlc/modules/codec/ttml/ttml.c:311,1
    - Dst: tt_node_Delete
      Src: /src/vlc/modules/codec/ttml/ttml.c:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - p_node
    argTypes:
    - tt_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 314
    functionName: tt_node_RecursiveDelete
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.c
    functionUses: 5
    functionsReached:
    - tt_textnode_Delete
    - tt_node_Delete
    - tt_node_RecursiveDelete
    linkageType: ''
    returnType: void
    signature: void tt_node_RecursiveDelete( tt_node_t *p_node )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_dictionary_remove_value_for_key
      Src: /src/vlc/modules/codec/ttml/ttml.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_node
    - key
    argTypes:
    - tt_node_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: tt_node_RemoveAttribute
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.c
    functionUses: 0
    functionsReached:
    - vlc_dictionary_remove_value_for_key
    linkageType: ''
    returnType: void
    signature: void tt_node_RemoveAttribute( tt_node_t *p_node, const char *key )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/codec/ttml/ttml.c:324,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/codec/ttml/ttml.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - p_node
    - key
    - value
    argTypes:
    - tt_node_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 328
    functionName: tt_node_AddAttribute
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.c
    functionUses: 1
    functionsReached:
    - strdup
    - vlc_dictionary_insert
    linkageType: ''
    returnType: int
    signature: int tt_node_AddAttribute( tt_node_t *p_node, const char *key, const
      char *value )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_parent
    - p_child
    argTypes:
    - tt_node_t*
    - tt_basenode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 336
    functionName: tt_node_ParentAddChild
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tt_node_ParentAddChild( tt_node_t* p_parent, tt_basenode_t *p_child
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/codec/ttml/ttml.c:342,1
    - Dst: free
      Src: /src/vlc/modules/codec/ttml/ttml.c:345,1
    - Dst: tt_node_ParentAddChild
      Src: /src/vlc/modules/codec/ttml/ttml.c:352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - p_parent
    - psz
    argTypes:
    - tt_node_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 354
    functionName: tt_textnode_NewImpl
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.c
    functionUses: 0
    functionsReached:
    - calloc
    - tt_node_ParentAddChild
    - free
    linkageType: ''
    returnType: tt_textnode_t
    signature: tt_textnode_t *tt_textnode_NewImpl( tt_node_t *p_parent, char *psz
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_textnode_NewImpl
      Src: /src/vlc/modules/codec/ttml/ttml.c:358,1
    - Dst: strdup
      Src: /src/vlc/modules/codec/ttml/ttml.c:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p_parent
    - psz_text
    argTypes:
    - tt_node_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: tt_textnode_New
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.c
    functionUses: 1
    functionsReached:
    - tt_textnode_NewImpl
    - strdup
    linkageType: ''
    returnType: tt_textnode_t
    signature: tt_textnode_t *tt_textnode_New( tt_node_t *p_parent, const char *psz_text
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_textnode_NewImpl
      Src: /src/vlc/modules/codec/ttml/ttml.c:363,1
    - Dst: strndup
      Src: /src/vlc/modules/codec/ttml/ttml.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_parent
    - psz_text
    - len
    argTypes:
    - tt_node_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 364
    functionName: tt_subtextnode_New
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.c
    functionUses: 1
    functionsReached:
    - strndup
    - tt_textnode_NewImpl
    linkageType: ''
    returnType: tt_textnode_t
    signature: tt_textnode_t *tt_subtextnode_New( tt_node_t *p_parent, const char
      *psz_text, size_t len )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/codec/ttml/ttml.c:370,1
    - Dst: strdup
      Src: /src/vlc/modules/codec/ttml/ttml.c:375,1
    - Dst: tt_node_InheritNS
      Src: /src/vlc/modules/codec/ttml/ttml.c:376,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/ttml/ttml.c:379,1
    - Dst: strdup
      Src: /src/vlc/modules/codec/ttml/ttml.c:380,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/ttml/ttml.c:383,1
    - Dst: free
      Src: /src/vlc/modules/codec/ttml/ttml.c:385,1
    - Dst: vlc_dictionary_init
      Src: /src/vlc/modules/codec/ttml/ttml.c:388,1
    - Dst: tt_time_Init
      Src: /src/vlc/modules/codec/ttml/ttml.c:389,1
    - Dst: tt_time_Init
      Src: /src/vlc/modules/codec/ttml/ttml.c:390,1
    - Dst: tt_time_Init
      Src: /src/vlc/modules/codec/ttml/ttml.c:391,1
    - Dst: tt_node_ParentAddChild
      Src: /src/vlc/modules/codec/ttml/ttml.c:394,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - p_parent
    - psz_node_name
    - psz_namespace
    argTypes:
    - tt_node_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 397
    functionName: tt_node_New
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.c
    functionUses: 2
    functionsReached:
    - tt_node_ParentAddChild
    - strdup
    - vlc_dictionary_init
    - calloc
    - strcmp
    - tt_node_InheritNS
    - free
    - tt_time_Init
    - unlikely
    linkageType: ''
    returnType: tt_node_t
    signature: "tt_node_t * tt_node_New( tt_node_t* p_parent,\n                         const
      char* psz_node_name,\n                         const char *psz_namespace )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tt_node_New
      Src: /src/vlc/modules/codec/ttml/ttml.c:403,1
    - Dst: xml_ReaderNextAttrNS
      Src: /src/vlc/modules/codec/ttml/ttml.c:408,1
    - Dst: xml_ReaderNextAttrNS
      Src: /src/vlc/modules/codec/ttml/ttml.c:410,1
    - Dst: tt_namespaces_Register
      Src: /src/vlc/modules/codec/ttml/ttml.c:413,1
    - Dst: strdup
      Src: /src/vlc/modules/codec/ttml/ttml.c:414,1
    - Dst: vlc_dictionary_insert
      Src: /src/vlc/modules/codec/ttml/ttml.c:417,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/ttml.c:419,1
    - Dst: tt_ParseTime
      Src: /src/vlc/modules/codec/ttml/ttml.c:420,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/ttml.c:421,1
    - Dst: tt_ParseTime
      Src: /src/vlc/modules/codec/ttml/ttml.c:422,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/ttml.c:423,1
    - Dst: tt_ParseTime
      Src: /src/vlc/modules/codec/ttml/ttml.c:424,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/ttml/ttml.c:425,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/ttml/ttml.c:426,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 5
    argNames:
    - reader
    - p_nss
    - p_parent
    - psz_node_name
    - psz_namespace
    argTypes:
    - xml_reader_t*
    - tt_namespaces_t*
    - tt_node_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 399
    functionDepth: 3
    functionLinenumber: 399
    functionLinenumberEnd: 431
    functionName: tt_node_NewRead
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.c
    functionUses: 2
    functionsReached:
    - strdup
    - tt_namespaces_Register
    - xml_ReaderNextAttrNS
    - strcmp
    - tt_ParseTime
    - tt_node_New
    - vlc_dictionary_insert
    - strcasecmp
    linkageType: ''
    returnType: tt_node_t
    signature: "tt_node_t * tt_node_NewRead( xml_reader_t* reader,\n                             tt_namespaces_t
      *p_nss, tt_node_t* p_parent,\n                             const char* psz_node_name,
      const char *psz_namespace )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/codec/ttml/ttml.c:439,1
    - Dst: xml_ReaderNextNode
      Src: /src/vlc/modules/codec/ttml/ttml.c:445,1
    - Dst: free
      Src: /src/vlc/modules/codec/ttml/ttml.c:451,1
    - Dst: xml_ReaderIsEmptyElement
      Src: /src/vlc/modules/codec/ttml/ttml.c:454,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/ttml/ttml.c:459,1
    - Dst: free
      Src: /src/vlc/modules/codec/ttml/ttml.c:461,1
    - Dst: free
      Src: /src/vlc/modules/codec/ttml/ttml.c:470,1
    - Dst: free
      Src: /src/vlc/modules/codec/ttml/ttml.c:480,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/codec/ttml/ttml.c:486,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - p_reader
    - psz_skipped
    argTypes:
    - xml_reader_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 488
    functionName: tt_node_Skip
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.c
    functionUses: 0
    functionsReached:
    - strdup
    - vlc_assert_unreachable
    - free
    - strcmp
    - xml_ReaderIsEmptyElement
    - xml_ReaderNextNode
    linkageType: ''
    returnType: int
    signature: int tt_node_Skip( xml_reader_t *p_reader, const char *psz_skipped )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: xml_ReaderNextNodeNS
      Src: /src/vlc/modules/codec/ttml/ttml.c:498,1
    - Dst: xml_ReaderIsEmptyElement
      Src: /src/vlc/modules/codec/ttml/ttml.c:500,1
    - Dst: tt_namespaces_Register
      Src: /src/vlc/modules/codec/ttml/ttml.c:512,1
    - Dst: tt_node_NewRead
      Src: /src/vlc/modules/codec/ttml/ttml.c:513,1
    - Dst: tt_textnode_New
      Src: /src/vlc/modules/codec/ttml/ttml.c:528,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/ttml/ttml.c:529,1
    - Dst: tt_node_Match
      Src: /src/vlc/modules/codec/ttml/ttml.c:535,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 3
    argNames:
    - p_reader
    - p_nss
    - p_root_node
    argTypes:
    - xml_reader_t*
    - tt_namespaces_t*
    - tt_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 490
    functionDepth: 4
    functionLinenumber: 490
    functionLinenumberEnd: 552
    functionName: tt_nodes_Read
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.c
    functionUses: 2
    functionsReached:
    - tt_namespaces_Register
    - tt_node_Match
    - tt_textnode_New
    - xml_ReaderIsEmptyElement
    - tt_node_NewRead
    - xml_ReaderNextNodeNS
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int tt_nodes_Read( xml_reader_t *p_reader, tt_namespaces_t *p_nss,
      tt_node_t *p_root_node )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_time_Compare
      Src: /src/vlc/modules/codec/ttml/ttml.c:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - other
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 556
    functionDepth: 3
    functionLinenumber: 556
    functionLinenumberEnd: 562
    functionName: tt_bsearch_searchkey_Compare
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.c
    functionUses: 0
    functionsReached:
    - tt_time_Compare
    linkageType: ''
    returnType: int
    signature: int tt_bsearch_searchkey_Compare( const void *key, const void *other
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/vlc/modules/codec/ttml/ttml.c:573,1
    - Dst: tt_time_Compare
      Src: /src/vlc/modules/codec/ttml/ttml.c:581,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - p_times
    - i_times
    - time
    - pb_found
    argTypes:
    - tt_time_t*
    - size_t
    - tt_time_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 564
    functionDepth: 3
    functionLinenumber: 564
    functionLinenumberEnd: 586
    functionName: tt_timings_FindLowerIndex
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.c
    functionUses: 1
    functionsReached:
    - bsearch
    - tt_time_Compare
    linkageType: ''
    returnType: size_t
    signature: size_t tt_timings_FindLowerIndex( const tt_time_t *p_times, size_t
      i_times, tt_time_t time, bool *pb_found )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tt_timings_FindLowerIndex
      Src: /src/vlc/modules/codec/ttml/ttml.c:591,1
    - Dst: realloc
      Src: /src/vlc/modules/codec/ttml/ttml.c:598,1
    - Dst: memmove
      Src: /src/vlc/modules/codec/ttml/ttml.c:605,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - pp_times
    - pi_times
    - time
    argTypes:
    - tt_time_t**
    - size_t*
    - tt_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 588
    functionDepth: 4
    functionLinenumber: 588
    functionLinenumberEnd: 612
    functionName: tt_bsearch_Insert
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.c
    functionUses: 0
    functionsReached:
    - memmove
    - realloc
    - tt_timings_FindLowerIndex
    linkageType: ''
    returnType: void
    signature: void tt_bsearch_Insert( tt_time_t **pp_times, size_t *pi_times, tt_time_t
      time )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tt_time_Valid
      Src: /src/vlc/modules/codec/ttml/ttml.c:618,1
    - Dst: tt_time_Add
      Src: /src/vlc/modules/codec/ttml/ttml.c:619,1
    - Dst: tt_time_Valid
      Src: /src/vlc/modules/codec/ttml/ttml.c:623,1
    - Dst: tt_time_Add
      Src: /src/vlc/modules/codec/ttml/ttml.c:625,1
    - Dst: tt_time_Valid
      Src: /src/vlc/modules/codec/ttml/ttml.c:627,1
    - Dst: tt_time_Valid
      Src: /src/vlc/modules/codec/ttml/ttml.c:627,1
    - Dst: tt_time_Add
      Src: /src/vlc/modules/codec/ttml/ttml.c:629,1
    - Dst: tt_time_Valid
      Src: /src/vlc/modules/codec/ttml/ttml.c:635,1
    - Dst: tt_time_Compare
      Src: /src/vlc/modules/codec/ttml/ttml.c:635,1
    - Dst: tt_time_Valid
      Src: /src/vlc/modules/codec/ttml/ttml.c:639,1
    - Dst: tt_time_Valid
      Src: /src/vlc/modules/codec/ttml/ttml.c:639,1
    - Dst: tt_time_Sub
      Src: /src/vlc/modules/codec/ttml/ttml.c:640,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - p_ref
    - p_local
    argTypes:
    - tt_timings_t*
    - tt_timings_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 616
    functionDepth: 3
    functionLinenumber: 616
    functionLinenumberEnd: 641
    functionName: tt_timings_MergeParallel
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.c
    functionUses: 0
    functionsReached:
    - tt_time_Compare
    - tt_time_Sub
    - tt_time_Add
    - tt_time_Valid
    linkageType: ''
    returnType: void
    signature: void tt_timings_MergeParallel( const tt_timings_t *p_ref, tt_timings_t
      *p_local )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tt_time_Valid
      Src: /src/vlc/modules/codec/ttml/ttml.c:646,1
    - Dst: tt_time_Add
      Src: /src/vlc/modules/codec/ttml/ttml.c:647,1
    - Dst: tt_time_Valid
      Src: /src/vlc/modules/codec/ttml/ttml.c:651,1
    - Dst: tt_time_Add
      Src: /src/vlc/modules/codec/ttml/ttml.c:653,1
    - Dst: tt_time_Valid
      Src: /src/vlc/modules/codec/ttml/ttml.c:655,1
    - Dst: tt_time_Valid
      Src: /src/vlc/modules/codec/ttml/ttml.c:655,1
    - Dst: tt_time_Add
      Src: /src/vlc/modules/codec/ttml/ttml.c:657,1
    - Dst: tt_time_Valid
      Src: /src/vlc/modules/codec/ttml/ttml.c:661,1
    - Dst: tt_time_Compare
      Src: /src/vlc/modules/codec/ttml/ttml.c:661,1
    - Dst: tt_time_Valid
      Src: /src/vlc/modules/codec/ttml/ttml.c:665,1
    - Dst: tt_time_Valid
      Src: /src/vlc/modules/codec/ttml/ttml.c:665,1
    - Dst: tt_time_Sub
      Src: /src/vlc/modules/codec/ttml/ttml.c:666,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - p_restrict
    - p_prevref
    - p_local
    argTypes:
    - tt_timings_t*
    - tt_timings_t*
    - tt_timings_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 643
    functionDepth: 3
    functionLinenumber: 643
    functionLinenumberEnd: 667
    functionName: tt_timings_MergeSequential
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.c
    functionUses: 0
    functionsReached:
    - tt_time_Compare
    - tt_time_Sub
    - tt_time_Add
    - tt_time_Valid
    linkageType: ''
    returnType: void
    signature: "void tt_timings_MergeSequential( const tt_timings_t *p_restrict,\n
      \                                      const tt_timings_t *p_prevref, tt_timings_t
      *p_local )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tt_timings_MergeParallel
      Src: /src/vlc/modules/codec/ttml/ttml.c:682,1
    - Dst: tt_timings_MergeSequential
      Src: /src/vlc/modules/codec/ttml/ttml.c:684,1
    - Dst: tt_timings_MergeParallel
      Src: /src/vlc/modules/codec/ttml/ttml.c:689,1
    - Dst: tt_time_Valid
      Src: /src/vlc/modules/codec/ttml/ttml.c:692,1
    - Dst: tt_bsearch_Insert
      Src: /src/vlc/modules/codec/ttml/ttml.c:693,1
    - Dst: tt_time_Valid
      Src: /src/vlc/modules/codec/ttml/ttml.c:695,1
    - Dst: tt_bsearch_Insert
      Src: /src/vlc/modules/codec/ttml/ttml.c:696,1
    - Dst: tt_timings_Resolve
      Src: /src/vlc/modules/codec/ttml/ttml.c:700,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - p_child
    - p_container_timings
    - pp_array
    - pi_count
    argTypes:
    - tt_basenode_t*
    - tt_timings_t*
    - tt_time_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 669
    functionDepth: 5
    functionLinenumber: 669
    functionLinenumberEnd: 703
    functionName: tt_timings_Resolve
    functionSourceFile: /src/vlc/modules/codec/ttml/ttml.c
    functionUses: 3
    functionsReached:
    - tt_timings_MergeSequential
    - tt_bsearch_Insert
    - tt_timings_Resolve
    - tt_time_Valid
    - tt_timings_MergeParallel
    linkageType: ''
    returnType: void
    signature: "void tt_timings_Resolve( tt_basenode_t *p_child, const tt_timings_t
      *p_container_timings,\n                         tt_time_t **pp_array, size_t
      *pi_count )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct ttml_in_pes_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: ttml_in_pes_Init
    functionSourceFile: /src/vlc/modules/codec/ttml/ttmlpes.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ttml_in_pes_Init(struct ttml_in_pes_ctx *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: TTML_in_PES
    functionSourceFile: /src/vlc/modules/codec/ttml/ttmlpes.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TTML_in_PES(decoder_t *p_dec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_MemoryNew
      Src: /src/vlc/modules/codec/ttml/ttmlpes.h:55,1
    - Dst: vlc_stream_FilterNew
      Src: /src/vlc/modules/codec/ttml/ttmlpes.h:58,1
    - Dst: vlc_stream_Block
      Src: /src/vlc/modules/codec/ttml/ttmlpes.h:63,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/codec/ttml/ttmlpes.h:71,1
    - Dst: block_ChainGather
      Src: /src/vlc/modules/codec/ttml/ttmlpes.h:72,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - p_dec
    - p_data
    - i_data
    argTypes:
    - decoder_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 73
    functionName: DecompressTTML
    functionSourceFile: /src/vlc/modules/codec/ttml/ttmlpes.h
    functionUses: 0
    functionsReached:
    - vlc_stream_FilterNew
    - vlc_stream_Delete
    - vlc_stream_MemoryNew
    - vlc_stream_Block
    - block_ChainGather
    linkageType: ''
    returnType: block_t
    signature: block_t * DecompressTTML( decoder_t *p_dec, const uint8_t *p_data,
      size_t i_data )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/codec/ttml/ttmlpes.h:85,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/ttml/ttmlpes.h:91,1
    - Dst: GetDWBE
      Src: /src/vlc/modules/codec/ttml/ttmlpes.h:95,1
    - Dst: GetWBE
      Src: /src/vlc/modules/codec/ttml/ttmlpes.h:96,1
    - Dst: GetWBE
      Src: /src/vlc/modules/codec/ttml/ttmlpes.h:107,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/ttml/ttmlpes.h:113,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/ttml/ttmlpes.h:115,1
    - Dst: DecompressTTML
      Src: /src/vlc/modules/codec/ttml/ttmlpes.h:119,1
    - Dst: block_CopyProperties
      Src: /src/vlc/modules/codec/ttml/ttmlpes.h:124,1
    - Dst: pf_decode
      Src: /src/vlc/modules/codec/ttml/ttmlpes.h:125,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/ttml/ttmlpes.h:133,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 3
    argNames:
    - p_dec
    - p_ctx
    - p_block
    argTypes:
    - decoder_t*
    - struct ttml_in_pes_ctx*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 135
    functionName: ParsePESEncap
    functionSourceFile: /src/vlc/modules/codec/ttml/ttmlpes.h
    functionUses: 1
    functionsReached:
    - GetWBE
    - block_Release
    - memcpy
    - pf_decode
    - DecompressTTML
    - block_CopyProperties
    - block_Alloc
    - GetDWBE
    linkageType: ''
    returnType: int
    signature: "int ParsePESEncap( decoder_t *p_dec,\n                          struct
      ttml_in_pes_ctx *p_ctx,\n                          int(*pf_decode)(decoder_t
      *, block_t *),\n                          block_t *p_block )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - i_code
    - p_src
    - pi_index
    argTypes:
    - unsigned int
    - uint8_t*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: AddNibble
    functionSourceFile: /src/vlc/modules/codec/spudec/parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int AddNibble( unsigned int i_code,\n                                      const
      uint8_t *p_src, unsigned int *pi_index )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - subs
    - idx
    - yuv
    argTypes:
    - struct subs_format_t*
    - uint8_t[]
    - uint8_t[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 106
    functionName: CLUTIdxToYUV
    functionSourceFile: /src/vlc/modules/codec/spudec/parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CLUTIdxToYUV(const struct subs_format_t *subs,\n                         const
      uint8_t idx[4], uint8_t yuv[4][3])"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GetWBE
      Src: /src/vlc/modules/codec/spudec/parse.c:122,1
    - Dst: GetWBE
      Src: /src/vlc/modules/codec/spudec/parse.c:123,1
    - Dst: GetWBE
      Src: /src/vlc/modules/codec/spudec/parse.c:124,1
    - Dst: CLUTIdxToYUV
      Src: /src/vlc/modules/codec/spudec/parse.c:134,1
    - Dst: memcmp
      Src: /src/vlc/modules/codec/spudec/parse.c:154,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/spudec/parse.c:166,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/spudec/parse.c:170,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 3
    argNames:
    - p_dec
    - p_spu_data
    - p_region
    argTypes:
    - decoder_t*
    - subpicture_data_t*
    - subpicture_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 189
    functionName: ParsePXCTLI
    functionSourceFile: /src/vlc/modules/codec/spudec/parse.c
    functionUses: 0
    functionsReached:
    - GetWBE
    - memcpy
    - msg_Warn
    - CLUTIdxToYUV
    - memcmp
    linkageType: ''
    returnType: void
    signature: "void ParsePXCTLI( decoder_t *p_dec, const subpicture_data_t *p_spu_data,\n
      \                        subpicture_region_t *p_region )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_spu
    - cfg
    argTypes:
    - subpicture_t*
    - struct vlc_spu_updater_configuration*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: UpdateDvdSpu
    functionSourceFile: /src/vlc/modules/codec/spudec/parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void UpdateDvdSpu(subpicture_t * p_spu,\n                         const
      struct vlc_spu_updater_configuration * cfg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: decoder_NewSubpicture
      Src: /src/vlc/modules/codec/spudec/parse.c:220,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/codec/spudec/parse.c:236,1
    - Dst: vlc_alloc
      Src: /src/vlc/modules/codec/spudec/parse.c:248,1
    - Dst: ParseRLE
      Src: /src/vlc/modules/codec/spudec/parse.c:254,1
    - Dst: subpicture_Delete
      Src: /src/vlc/modules/codec/spudec/parse.c:257,1
    - Dst: free
      Src: /src/vlc/modules/codec/spudec/parse.c:258,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/spudec/parse.c:263,1
    - Dst: Render
      Src: /src/vlc/modules/codec/spudec/parse.c:268,1
    - Dst: subpicture_Delete
      Src: /src/vlc/modules/codec/spudec/parse.c:270,1
    - Dst: free
      Src: /src/vlc/modules/codec/spudec/parse.c:271,1
    - Dst: free
      Src: /src/vlc/modules/codec/spudec/parse.c:275,1
    - Dst: ParsePXCTLI
      Src: /src/vlc/modules/codec/spudec/parse.c:278,1
    - Dst: vlc_spu_regions_first_or_null
      Src: /src/vlc/modules/codec/spudec/parse.c:279,1
    - Dst: pf_queue
      Src: /src/vlc/modules/codec/spudec/parse.c:281,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - p_dec
    - p_spu_data
    - p_spu_properties
    argTypes:
    - decoder_t*
    - subpicture_data_t*
    - spu_properties_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 282
    functionName: OutputPicture
    functionSourceFile: /src/vlc/modules/codec/spudec/parse.c
    functionUses: 2
    functionsReached:
    - decoder_NewSubpicture
    - ParseRLE
    - VLC_TICK_FROM_MS
    - Render
    - ParsePXCTLI
    - subpicture_Delete
    - free
    - msg_Dbg
    - vlc_alloc
    - pf_queue
    - vlc_spu_regions_first_or_null
    linkageType: ''
    returnType: void
    signature: "void OutputPicture( decoder_t *p_dec,\n                           const
      subpicture_data_t *p_spu_data,\n                           const spu_properties_t
      *p_spu_properties,\n                           void(*pf_queue)(decoder_t *,
      subpicture_t *) )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/spudec/parse.c:294,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/spudec/parse.c:301,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/spudec/parse.c:310,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/spudec/parse.c:316,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/spudec/parse.c:326,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 6
    argNames:
    - p_dec
    - i_index
    - i_cur_seq
    - i_next_seq
    - p_spu_data
    - p_spu_properties
    argTypes:
    - decoder_t*
    - unsigned
    - unsigned
    - unsigned
    - subpicture_data_t*
    - spu_properties_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 331
    functionName: Validate
    functionSourceFile: /src/vlc/modules/codec/spudec/parse.c
    functionUses: 9
    functionsReached:
    - msg_Warn
    - msg_Err
    linkageType: ''
    returnType: int
    signature: "int Validate( decoder_t *p_dec, unsigned i_index,\n                     unsigned
      i_cur_seq, unsigned i_next_seq,\n                     const subpicture_data_t
      *p_spu_data,\n                     const spu_properties_t *p_spu_properties
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseControlSeq
      Src: /src/vlc/modules/codec/spudec/parse.c:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 346
    functionName: ParsePacket
    functionSourceFile: /src/vlc/modules/codec/spudec/parse.c
    functionUses: 1
    functionsReached:
    - ParseControlSeq
    linkageType: ''
    returnType: void
    signature: void ParsePacket( decoder_t *p_dec, void(*pf_queue)(decoder_t *, subpicture_t
      *) )
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/codec/spudec/parse.c:374,1
    - Dst: memset
      Src: /src/vlc/modules/codec/spudec/parse.c:390,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/spudec/parse.c:404,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/codec/spudec/parse.c:412,1
    - Dst: GetWBE
      Src: /src/vlc/modules/codec/spudec/parse.c:412,1
    - Dst: GetWBE
      Src: /src/vlc/modules/codec/spudec/parse.c:416,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/spudec/parse.c:420,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/spudec/parse.c:458,1
    - Dst: CLUTIdxToYUV
      Src: /src/vlc/modules/codec/spudec/parse.c:473,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/spudec/parse.c:482,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/spudec/parse.c:501,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/spudec/parse.c:515,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/spudec/parse.c:529,1
    - Dst: GetWBE
      Src: /src/vlc/modules/codec/spudec/parse.c:534,1
    - Dst: GetWBE
      Src: /src/vlc/modules/codec/spudec/parse.c:535,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/spudec/parse.c:542,1
    - Dst: __MIN
      Src: /src/vlc/modules/codec/spudec/parse.c:552,1
    - Dst: GetWBE
      Src: /src/vlc/modules/codec/spudec/parse.c:555,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/spudec/parse.c:567,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/spudec/parse.c:569,1
    - Dst: Validate
      Src: /src/vlc/modules/codec/spudec/parse.c:574,1
    - Dst: OutputPicture
      Src: /src/vlc/modules/codec/spudec/parse.c:576,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/spudec/parse.c:581,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/spudec/parse.c:593,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 149
    argCount: 2
    argNames:
    - p_dec
    - i_pts
    argTypes:
    - decoder_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 614
    functionName: ParseControlSeq
    functionSourceFile: /src/vlc/modules/codec/spudec/parse.c
    functionUses: 1
    functionsReached:
    - GetWBE
    - memset
    - VLC_TICK_FROM_MS
    - memcpy
    - msg_Err
    - OutputPicture
    - __MIN
    - msg_Warn
    - Validate
    - CLUTIdxToYUV
    linkageType: ''
    returnType: int
    signature: "int ParseControlSeq( decoder_t *p_dec, vlc_tick_t i_pts,\n                            void(*pf_queue)(decoder_t
      *, subpicture_t *) )"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/spudec/parse.c:673,1
    - Dst: AddNibble
      Src: /src/vlc/modules/codec/spudec/parse.c:676,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/spudec/parse.c:687,1
    - Dst: WRITE_CODE
      Src: /src/vlc/modules/codec/spudec/parse.c:729,1
    - Dst: WRITE_CODE
      Src: /src/vlc/modules/codec/spudec/parse.c:736,1
    - Dst: WRITE_CODE
      Src: /src/vlc/modules/codec/spudec/parse.c:745,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/spudec/parse.c:752,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/spudec/parse.c:769,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/spudec/parse.c:770,1
    - Dst: WRITE_CODE
      Src: /src/vlc/modules/codec/spudec/parse.c:776,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/spudec/parse.c:784,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/spudec/parse.c:795,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/spudec/parse.c:858,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 110
    argCount: 5
    argNames:
    - p_dec
    - p_spu_data
    - p_spu_properties
    - p_pixeldata
    - pixeldata_size
    argTypes:
    - decoder_t*
    - subpicture_data_t*
    - spu_properties_t*
    - uint16_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 866
    functionName: ParseRLE
    functionSourceFile: /src/vlc/modules/codec/spudec/parse.c
    functionUses: 1
    functionsReached:
    - AddNibble
    - WRITE_CODE
    - msg_Dbg
    - msg_Err
    linkageType: ''
    returnType: int
    signature: "int ParseRLE( decoder_t *p_dec,\n                     subpicture_data_t
      *p_spu_data,\n                     const spu_properties_t *p_spu_properties,\n
      \                    uint16_t *p_pixeldata, size_t * pixeldata_size )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 643
    functionName: WRITE_CODE
    functionSourceFile: /src/vlc/modules/codec/spudec/parse.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_CODE(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: video_format_Init
      Src: /src/vlc/modules/codec/spudec/parse.c:890,1
    - Dst: video_format_Setup
      Src: /src/vlc/modules/codec/spudec/parse.c:891,1
    - Dst: subpicture_region_New
      Src: /src/vlc/modules/codec/spudec/parse.c:905,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/codec/spudec/parse.c:907,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/spudec/parse.c:910,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/spudec/parse.c:928,1
    - Dst: subpicture_region_Delete
      Src: /src/vlc/modules/codec/spudec/parse.c:929,1
    - Dst: memset
      Src: /src/vlc/modules/codec/spudec/parse.c:936,1
    - Dst: vlc_spu_regions_push
      Src: /src/vlc/modules/codec/spudec/parse.c:939,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 6
    argNames:
    - p_dec
    - p_spu
    - p_pixeldata
    - pixeldata_size
    - p_spu_data
    - p_spu_properties
    argTypes:
    - decoder_t*
    - subpicture_t*
    - uint16_t*
    - size_t
    - subpicture_data_t*
    - spu_properties_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 942
    functionName: Render
    functionSourceFile: /src/vlc/modules/codec/spudec/parse.c
    functionUses: 17
    functionsReached:
    - video_format_Init
    - memset
    - video_format_Setup
    - vlc_spu_regions_push
    - msg_Err
    - video_format_Clean
    - subpicture_region_Delete
    - subpicture_region_New
    linkageType: ''
    returnType: int
    signature: "int Render( decoder_t *p_dec, subpicture_t *p_spu,\n                    const
      uint16_t *p_pixeldata, size_t pixeldata_size,\n                    const subpicture_data_t
      *p_spu_data,\n                    const spu_properties_t *p_spu_properties )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/spudec/spudec.c:78,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/codec/spudec/spudec.c:83,1
    - Dst: es_format_Copy
      Src: /src/vlc/modules/codec/spudec/spudec.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - p_this
    - b_packetizer
    argTypes:
    - vlc_object_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 105
    functionName: OpenCommon
    functionSourceFile: /src/vlc/modules/codec/spudec/spudec.c
    functionUses: 39
    functionsReached:
    - var_InheritBool
    - malloc
    - es_format_Copy
    linkageType: ''
    returnType: int
    signature: int OpenCommon( vlc_object_t *p_this, bool b_packetizer )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenCommon
      Src: /src/vlc/modules/codec/spudec/spudec.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: DecoderOpen
    functionSourceFile: /src/vlc/modules/codec/spudec/spudec.c
    functionUses: 0
    functionsReached:
    - OpenCommon
    linkageType: ''
    returnType: int
    signature: int DecoderOpen( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenCommon
      Src: /src/vlc/modules/codec/spudec/spudec.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: PacketizerOpen
    functionSourceFile: /src/vlc/modules/codec/spudec/spudec.c
    functionUses: 0
    functionsReached:
    - OpenCommon
    linkageType: ''
    returnType: int
    signature: int PacketizerOpen( vlc_object_t *p_this )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/codec/spudec/spudec.c:127,1
    - Dst: free
      Src: /src/vlc/modules/codec/spudec/spudec.c:130,1
    - Dst: free
      Src: /src/vlc/modules/codec/spudec/spudec.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: Close
    functionSourceFile: /src/vlc/modules/codec/spudec/spudec.c
    functionUses: 184
    functionsReached:
    - block_ChainRelease
    - free
    linkageType: ''
    returnType: void
    signature: void Close( vlc_object_t *p_this )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Reassemble
      Src: /src/vlc/modules/codec/spudec/spudec.c:144,1
    - Dst: vlc_frame_ChainProperties
      Src: /src/vlc/modules/codec/spudec/spudec.c:152,1
    - Dst: realloc
      Src: /src/vlc/modules/codec/spudec/spudec.c:155,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/spudec/spudec.c:156,1
    - Dst: block_ChainExtract
      Src: /src/vlc/modules/codec/spudec/spudec.c:163,1
    - Dst: block_ChainRelease
      Src: /src/vlc/modules/codec/spudec/spudec.c:165,1
    - Dst: ParsePacket
      Src: /src/vlc/modules/codec/spudec/spudec.c:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 177
    functionName: Decode
    functionSourceFile: /src/vlc/modules/codec/spudec/spudec.c
    functionUses: 17
    functionsReached:
    - block_ChainExtract
    - block_ChainRelease
    - ParsePacket
    - realloc
    - vlc_frame_ChainProperties
    - unlikely
    - Reassemble
    linkageType: ''
    returnType: int
    signature: int Decode( decoder_t *p_dec, block_t *p_block )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Reassemble
      Src: /src/vlc/modules/codec/spudec/spudec.c:191,1
    - Dst: block_ChainGather
      Src: /src/vlc/modules/codec/spudec/spudec.c:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 208
    functionName: Packetize
    functionSourceFile: /src/vlc/modules/codec/spudec/spudec.c
    functionUses: 10
    functionsReached:
    - Reassemble
    - block_ChainGather
    linkageType: ''
    returnType: block_t
    signature: block_t *Packetize( decoder_t *p_dec, block_t **pp_block )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/codec/spudec/spudec.c:219,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/spudec/spudec.c:226,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/spudec/spudec.c:227,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/spudec/spudec.c:229,1
    - Dst: block_ChainAppend
      Src: /src/vlc/modules/codec/spudec/spudec.c:233,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/spudec/spudec.c:253,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/spudec/spudec.c:262,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 268
    functionName: Reassemble
    functionSourceFile: /src/vlc/modules/codec/spudec/spudec.c
    functionUses: 6
    functionsReached:
    - block_Release
    - msg_Dbg
    - block_ChainAppend
    linkageType: ''
    returnType: block_t
    signature: block_t *Reassemble( decoder_t *p_dec, block_t *p_block )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: GST_IS_VLC_PICTURE_PLANE_ALLOCATOR
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GST_IS_VLC_PICTURE_PLANE_ALLOCATOR(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: GST_VLC_PICTURE_PLANE_ALLOCATOR
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GST_VLC_PICTURE_PLANE_ALLOCATOR(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: GST_VLC_PICTURE_PLANE_ALLOCATOR_CAST
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GST_VLC_PICTURE_PLANE_ALLOCATOR_CAST(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: GST_IS_VLC_VIDEO_POOL
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GST_IS_VLC_VIDEO_POOL(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: GST_VLC_VIDEO_POOL
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GST_VLC_VIDEO_POOL(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: GST_VLC_VIDEO_POOL_CAST
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GST_VLC_VIDEO_POOL_CAST(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_class_install_property
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:90,1
    - Dst: G_OBJECT_CLASS
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:90,1
    - Dst: g_param_spec_boolean
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:91,1
    - Dst: g_object_class_install_property
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:95,1
    - Dst: G_OBJECT_CLASS
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:95,1
    - Dst: g_param_spec_pointer
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:96,1
    - Dst: g_object_class_install_property
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:100,1
    - Dst: G_OBJECT_CLASS
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:100,1
    - Dst: g_param_spec_pointer
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:101,1
    - Dst: g_signal_new
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:109,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:109,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:110,1
    - Dst: g_signal_new
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:116,1
    - Dst: G_TYPE_FROM_CLASS
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:116,1
    - Dst: G_STRUCT_OFFSET
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:117,1
    - Dst: gst_element_class_add_pad_template
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:121,1
    - Dst: gst_static_pad_template_get
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:122,1
    - Dst: gst_element_class_set_static_metadata
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - p_klass
    argTypes:
    - GstVlcVideoSinkClass*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 136
    functionName: gst_vlc_video_sink_class_init
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c
    functionUses: 0
    functionsReached:
    - g_param_spec_pointer
    - g_signal_new
    - gst_element_class_add_pad_template
    - gst_element_class_set_static_metadata
    - g_param_spec_boolean
    - G_TYPE_FROM_CLASS
    - G_STRUCT_OFFSET
    - gst_static_pad_template_get
    - G_OBJECT_CLASS
    - g_object_class_install_property
    linkageType: ''
    returnType: void
    signature: void gst_vlc_video_sink_class_init( GstVlcVideoSinkClass *p_klass )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GST_VLC_VIDEO_SINK
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:141,1
    - Dst: gst_video_info_from_caps
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:151,1
    - Dst: g_value_init
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:158,1
    - Dst: g_value_set_object
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:159,1
    - Dst: g_value_init
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:160,1
    - Dst: g_value_set_boxed
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:161,1
    - Dst: g_signal_emitv
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:163,1
    - Dst: GstVlcVideoSink*::new_caps
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:166,1
    - Dst: GST_ELEMENT_CAST
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - p_basesink
    - p_caps
    argTypes:
    - GstBaseSink*
    - GstCaps*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 171
    functionName: gst_vlc_video_sink_setcaps
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c
    functionUses: 0
    functionsReached:
    - g_value_set_object
    - g_signal_emitv
    - GstVlcVideoSink*::new_caps
    - GST_ELEMENT_CAST
    - g_value_set_boxed
    - gst_video_info_from_caps
    - GST_VLC_VIDEO_SINK
    - g_value_init
    linkageType: ''
    returnType: gboolean
    signature: "gboolean gst_vlc_video_sink_setcaps( GstBaseSink *p_basesink,\n        GstCaps
      *p_caps )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gst_base_sink_set_sync
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:176,1
    - Dst: GST_BASE_SINK
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_vlc_video_sink
    argTypes:
    - GstVlcVideoSink*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: gst_vlc_video_sink_init
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c
    functionUses: 0
    functionsReached:
    - gst_base_sink_set_sync
    - GST_BASE_SINK
    linkageType: ''
    returnType: void
    signature: void gst_vlc_video_sink_init( GstVlcVideoSink *p_vlc_video_sink )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GST_VLC_VIDEO_SINK
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:181,1
    - Dst: gst_object_unref
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:184,1
    - Dst: G_OBJECT_CLASS
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_obj
    argTypes:
    - GObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 187
    functionName: gst_vlc_video_sink_finalize
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c
    functionUses: 0
    functionsReached:
    - GST_VLC_VIDEO_SINK
    - gst_object_unref
    - G_OBJECT_CLASS
    linkageType: ''
    returnType: void
    signature: void gst_vlc_video_sink_finalize( GObject *p_obj )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gst_vlc_video_pool_new
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:195,1
    - Dst: gst_buffer_pool_get_config
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:197,1
    - Dst: GST_BUFFER_POOL_CAST
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:197,1
    - Dst: gst_buffer_pool_config_set_params
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:198,1
    - Dst: gst_buffer_pool_set_config
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:200,1
    - Dst: GST_BUFFER_POOL_CAST
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:200,1
    - Dst: gst_object_unref
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - p_vsink
    - p_caps
    - i_size
    - i_min
    argTypes:
    - GstVlcVideoSink*
    - GstCaps*
    - gsize
    - gint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 210
    functionName: gst_vlc_video_sink_create_pool
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c
    functionUses: 0
    functionsReached:
    - gst_buffer_pool_get_config
    - GST_BUFFER_POOL_CAST
    - gst_vlc_video_pool_new
    - gst_object_unref
    - gst_buffer_pool_set_config
    - gst_buffer_pool_config_set_params
    linkageType: ''
    returnType: GstVlcVideoPool
    signature: "GstVlcVideoPool * gst_vlc_video_sink_create_pool(\n        GstVlcVideoSink
      *p_vsink, GstCaps *p_caps, gsize i_size, gint i_min )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GST_VLC_VIDEO_SINK
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:215,1
    - Dst: gst_query_parse_allocation
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:221,1
    - Dst: gst_video_info_from_caps
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:229,1
    - Dst: gst_vlc_video_sink_create_pool
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:232,1
    - Dst: GST_VIDEO_INFO_SIZE
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:237,1
    - Dst: GST_VLC_VIDEO_POOL_CAST
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:237,1
    - Dst: gst_query_add_allocation_pool
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:243,1
    - Dst: gst_object_unref
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:244,1
    - Dst: gst_query_add_allocation_meta
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:248,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:255,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:260,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:265,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - p_bsink
    - p_query
    argTypes:
    - GstBaseSink*
    - GstQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 268
    functionName: gst_vlc_video_sink_propose_allocation
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c
    functionUses: 0
    functionsReached:
    - gst_query_add_allocation_meta
    - gst_vlc_video_sink_create_pool
    - GST_VIDEO_INFO_SIZE
    - msg_Err
    - gst_object_unref
    - gst_video_info_from_caps
    - gst_query_add_allocation_pool
    - GST_VLC_VIDEO_SINK
    - GST_VLC_VIDEO_POOL_CAST
    - gst_query_parse_allocation
    linkageType: ''
    returnType: gboolean
    signature: "gboolean gst_vlc_video_sink_propose_allocation( GstBaseSink* p_bsink,\n
      \       GstQuery* p_query )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gst_query_parse_caps
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:273,1
    - Dst: gst_caps_ref
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:279,1
    - Dst: gst_caps_normalize
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:280,1
    - Dst: gst_caps_make_writable
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:281,1
    - Dst: gst_caps_get_size
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:284,1
    - Dst: gst_caps_get_structure
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:286,1
    - Dst: gst_structure_get_string
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:287,1
    - Dst: gst_vlc_to_map_format
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:289,1
    - Dst: gst_caps_remove_structure
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:292,1
    - Dst: gst_query_set_caps_result
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - p_query
    argTypes:
    - GstQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 303
    functionName: gst_vlc_video_sink_query_caps
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c
    functionUses: 0
    functionsReached:
    - gst_caps_get_size
    - gst_structure_get_string
    - gst_query_set_caps_result
    - gst_caps_normalize
    - gst_query_parse_caps
    - gst_vlc_to_map_format
    - gst_caps_get_structure
    - gst_caps_ref
    - gst_caps_remove_structure
    - gst_caps_make_writable
    linkageType: ''
    returnType: gboolean
    signature: gboolean gst_vlc_video_sink_query_caps( GstQuery *p_query )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GST_QUERY_TYPE
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:308,1
    - Dst: gst_vlc_video_sink_query_caps
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:310,1
    - Dst: GST_BASE_SINK_CLASS
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p_bsink
    - p_query
    argTypes:
    - GstBaseSink*
    - GstQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 314
    functionName: gst_vlc_video_sink_query
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c
    functionUses: 0
    functionsReached:
    - GST_QUERY_TYPE
    - GST_BASE_SINK_CLASS
    - gst_vlc_video_sink_query_caps
    linkageType: ''
    returnType: gboolean
    signature: "gboolean gst_vlc_video_sink_query( GstBaseSink *p_bsink,\n        GstQuery
      *p_query )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_signal_emit
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_bsink
    - p_buffer
    argTypes:
    - GstBaseSink*
    - GstBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 323
    functionName: gst_vlc_video_sink_chain
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c
    functionUses: 0
    functionsReached:
    - g_signal_emit
    linkageType: ''
    returnType: GstFlowReturn
    signature: "GstFlowReturn gst_vlc_video_sink_chain( GstBaseSink *p_bsink,\n        GstBuffer
      *p_buffer )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:328,1
    - Dst: GST_VLC_VIDEO_SINK
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:330,1
    - Dst: g_value_get_pointer
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:336,1
    - Dst: GST_IS_VLC_PICTURE_PLANE_ALLOCATOR
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:338,1
    - Dst: gst_object_unref
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:341,1
    - Dst: gst_object_ref
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:342,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:344,1
    - Dst: g_value_get_pointer
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:350,1
    - Dst: g_value_get_boolean
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:356,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - p_object
    - i_prop_id
    - p_value
    - p_pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 363
    functionName: gst_vlc_video_sink_set_property
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c
    functionUses: 0
    functionsReached:
    - GST_IS_VLC_PICTURE_PLANE_ALLOCATOR
    - gst_object_ref
    - msg_Err
    - gst_object_unref
    - g_value_get_pointer
    - GST_VLC_VIDEO_SINK
    - g_value_get_boolean
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void gst_vlc_video_sink_set_property( GObject *p_object, guint i_prop_id,\n
      \       const GValue *p_value, GParamSpec *p_pspec )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:368,1
    - Dst: GST_VLC_VIDEO_SINK
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:370,1
    - Dst: g_value_set_pointer
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:375,1
    - Dst: g_value_set_boolean
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c:379,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - p_object
    - i_prop_id
    - p_value
    - p_pspec
    argTypes:
    - GObject*
    - guint
    - GValue*
    - GParamSpec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 385
    functionName: gst_vlc_video_sink_get_property
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.c
    functionUses: 0
    functionsReached:
    - GST_VLC_VIDEO_SINK
    - g_value_set_pointer
    - g_value_set_boolean
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void gst_vlc_video_sink_get_property( GObject *p_object, guint i_prop_id,\n
      \   GValue *p_value, GParamSpec *p_pspec )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GST_VIDEO_FRAME_PLANE_DATA
      Src: /src/vlc/modules/codec/gstreamer/gstcopypicture.c:44,1
    - Dst: GST_VIDEO_FRAME_PLANE_STRIDE
      Src: /src/vlc/modules/codec/gstreamer/gstcopypicture.c:46,1
    - Dst: GST_VIDEO_FRAME_COMP_WIDTH
      Src: /src/vlc/modules/codec/gstreamer/gstcopypicture.c:48,1
    - Dst: GST_VIDEO_FRAME_COMP_PSTRIDE
      Src: /src/vlc/modules/codec/gstreamer/gstcopypicture.c:49,1
    - Dst: GST_VIDEO_FRAME_COMP_HEIGHT
      Src: /src/vlc/modules/codec/gstreamer/gstcopypicture.c:50,1
    - Dst: __MIN
      Src: /src/vlc/modules/codec/gstreamer/gstcopypicture.c:53,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/gstreamer/gstcopypicture.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - p_pic
    - p_frame
    argTypes:
    - picture_t*
    - GstVideoFrame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 61
    functionName: gst_CopyPicture
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstcopypicture.c
    functionUses: 1
    functionsReached:
    - GST_VIDEO_FRAME_PLANE_STRIDE
    - GST_VIDEO_FRAME_COMP_WIDTH
    - memcpy
    - GST_VIDEO_FRAME_COMP_PSTRIDE
    - GST_VIDEO_FRAME_PLANE_DATA
    - __MIN
    - GST_VIDEO_FRAME_COMP_HEIGHT
    linkageType: ''
    returnType: void
    signature: void gst_CopyPicture( picture_t *p_pic, GstVideoFrame *p_frame )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: gst_vlc_video_pool_get_options
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: gchar
    signature: gchar ** gst_vlc_video_pool_get_options (GstBufferPool *p_pool)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GST_VLC_VIDEO_POOL_CAST
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:51,1
    - Dst: gst_buffer_pool_config_get_params
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:59,1
    - Dst: gst_buffer_pool_config_get_allocator
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:65,1
    - Dst: GST_IS_VLC_PICTURE_PLANE_ALLOCATOR
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:68,1
    - Dst: gst_object_unref
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:73,1
    - Dst: gst_object_ref
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:74,1
    - Dst: gst_video_info_from_caps
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:79,1
    - Dst: gst_buffer_pool_config_has_option
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:84,1
    - Dst: gst_buffer_pool_config_has_option
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:88,1
    - Dst: gst_buffer_pool_config_get_video_alignment
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:94,1
    - Dst: gst_video_alignment_reset
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:97,1
    - Dst: gst_vlc_picture_plane_allocator_query_format
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:106,1
    - Dst: gst_buffer_pool_config_set_video_alignment
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:111,1
    - Dst: gst_caps_unref
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:114,1
    - Dst: gst_caps_ref
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:115,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:119,1
    - Dst: gst_caps_to_string
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:120,1
    - Dst: gst_buffer_pool_config_set_params
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:123,1
    - Dst: GST_BUFFER_POOL_CLASS
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:126,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:131,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:136,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:141,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:146,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:151,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 66
    argCount: 2
    argNames:
    - p_pool
    - p_config
    argTypes:
    - GstBufferPool*
    - GstStructure*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 154
    functionName: gst_vlc_video_pool_set_config
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c
    functionUses: 0
    functionsReached:
    - gst_buffer_pool_config_has_option
    - gst_caps_ref
    - gst_buffer_pool_config_get_video_alignment
    - GST_IS_VLC_PICTURE_PLANE_ALLOCATOR
    - gst_video_alignment_reset
    - msg_Err
    - msg_Dbg
    - GST_BUFFER_POOL_CLASS
    - gst_video_info_from_caps
    - gst_buffer_pool_config_set_params
    - gst_caps_to_string
    - gst_object_ref
    - gst_object_unref
    - gst_buffer_pool_config_get_allocator
    - gst_buffer_pool_config_set_video_alignment
    - gst_caps_unref
    - gst_vlc_picture_plane_allocator_query_format
    - gst_buffer_pool_config_get_params
    - GST_VLC_VIDEO_POOL_CAST
    linkageType: ''
    returnType: gboolean
    signature: "gboolean gst_vlc_video_pool_set_config( GstBufferPool *p_pool,\n        GstStructure
      *p_config )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GST_VLC_VIDEO_POOL_CAST
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:159,1
    - Dst: GST_BUFFER_POOL_CLASS
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:162,1
    - Dst: gst_vlc_picture_plane_allocator_hold
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - p_pool
    - p_buffer
    - p_params
    argTypes:
    - GstBufferPool*
    - GstBuffer**
    - GstBufferPoolAcquireParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 171
    functionName: gst_vlc_video_pool_acquire_buffer
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c
    functionUses: 0
    functionsReached:
    - gst_vlc_picture_plane_allocator_hold
    - GST_BUFFER_POOL_CLASS
    - GST_VLC_VIDEO_POOL_CAST
    linkageType: ''
    returnType: GstFlowReturn
    signature: "GstFlowReturn gst_vlc_video_pool_acquire_buffer( GstBufferPool *p_pool,\n
      \       GstBuffer **p_buffer, GstBufferPoolAcquireParams *p_params )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GST_VLC_VIDEO_POOL_CAST
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:176,1
    - Dst: gst_vlc_picture_plane_allocator_release
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:178,1
    - Dst: GST_BUFFER_POOL_CLASS
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p_pool
    - p_buffer
    argTypes:
    - GstBufferPool*
    - GstBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: gst_vlc_video_pool_release_buffer
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c
    functionUses: 0
    functionsReached:
    - gst_vlc_picture_plane_allocator_release
    - GST_BUFFER_POOL_CLASS
    - GST_VLC_VIDEO_POOL_CAST
    linkageType: ''
    returnType: void
    signature: "void gst_vlc_video_pool_release_buffer( GstBufferPool *p_pool,\n        GstBuffer
      *p_buffer )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GST_VLC_VIDEO_POOL_CAST
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:188,1
    - Dst: gst_vlc_picture_plane_allocator_release
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:190,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:192,1
    - Dst: GST_BUFFER_POOL_CLASS
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p_pool
    - p_buffer
    argTypes:
    - GstBufferPool*
    - GstBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 197
    functionName: gst_vlc_video_pool_free_buffer
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c
    functionUses: 0
    functionsReached:
    - gst_vlc_picture_plane_allocator_release
    - msg_Dbg
    - GST_BUFFER_POOL_CLASS
    - GST_VLC_VIDEO_POOL_CAST
    linkageType: ''
    returnType: void
    signature: "void gst_vlc_video_pool_free_buffer( GstBufferPool *p_pool,\n        GstBuffer
      *p_buffer )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:202,1
    - Dst: GST_VLC_VIDEO_POOL_CAST
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:204,1
    - Dst: gst_buffer_new
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:207,1
    - Dst: gst_vlc_picture_plane_allocator_alloc
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:209,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:212,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:218,1
    - Dst: gst_buffer_add_video_meta_full
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:219,1
    - Dst: GST_VIDEO_INFO_FORMAT
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:220,1
    - Dst: GST_VIDEO_INFO_WIDTH
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:220,1
    - Dst: GST_VIDEO_INFO_HEIGHT
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:221,1
    - Dst: GST_VIDEO_INFO_N_PLANES
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:222,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - p_pool
    - p_buffer
    - p_params
    argTypes:
    - GstBufferPool*
    - GstBuffer**
    - GstBufferPoolAcquireParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 229
    functionName: gst_vlc_video_pool_alloc_buffer
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c
    functionUses: 0
    functionsReached:
    - GST_VIDEO_INFO_HEIGHT
    - gst_buffer_new
    - GST_VIDEO_INFO_WIDTH
    - GST_VIDEO_INFO_FORMAT
    - VLC_UNUSED
    - msg_Err
    - msg_Dbg
    - GST_VIDEO_INFO_N_PLANES
    - gst_buffer_add_video_meta_full
    - GST_VLC_VIDEO_POOL_CAST
    - gst_vlc_picture_plane_allocator_alloc
    linkageType: ''
    returnType: GstFlowReturn
    signature: "GstFlowReturn gst_vlc_video_pool_alloc_buffer( GstBufferPool *p_pool,\n
      \       GstBuffer **p_buffer, GstBufferPoolAcquireParams *p_params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GST_VLC_VIDEO_POOL_CAST
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:233,1
    - Dst: gst_vlc_set_vout_fmt
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:235,1
    - Dst: GST_BUFFER_POOL_CLASS
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_pool
    argTypes:
    - GstBufferPool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 240
    functionName: gst_vlc_video_pool_start
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c
    functionUses: 0
    functionsReached:
    - gst_vlc_set_vout_fmt
    - GST_BUFFER_POOL_CLASS
    - GST_VLC_VIDEO_POOL_CAST
    linkageType: ''
    returnType: gboolean
    signature: gboolean gst_vlc_video_pool_start( GstBufferPool *p_pool )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - p_klass
    argTypes:
    - GstVlcVideoPoolClass*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 256
    functionName: gst_vlc_video_pool_class_init
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gst_vlc_video_pool_class_init( GstVlcVideoPoolClass *p_klass )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_pool
    argTypes:
    - GstVlcVideoPool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: gst_vlc_video_pool_init
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void gst_vlc_video_pool_init( GstVlcVideoPool *p_pool )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GST_VLC_VIDEO_POOL_CAST
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:265,1
    - Dst: gst_object_unref
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:267,1
    - Dst: G_OBJECT_CLASS
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_object
    argTypes:
    - GObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 270
    functionName: gst_vlc_video_pool_finalize
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c
    functionUses: 0
    functionsReached:
    - G_OBJECT_CLASS
    - gst_object_unref
    - GST_VLC_VIDEO_POOL_CAST
    linkageType: ''
    returnType: void
    signature: void gst_vlc_video_pool_finalize( GObject *p_object )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GST_IS_VLC_PICTURE_PLANE_ALLOCATOR
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:277,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:279,1
    - Dst: g_object_new
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:283,1
    - Dst: gst_object_ref
      Src: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - p_allocator
    - p_dec
    argTypes:
    - GstAllocator*
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 288
    functionName: gst_vlc_video_pool_new
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcvideopool.c
    functionUses: 1
    functionsReached:
    - GST_IS_VLC_PICTURE_PLANE_ALLOCATOR
    - g_object_new
    - gst_object_ref
    - msg_Err
    linkageType: ''
    returnType: GstVlcVideoPool
    signature: "GstVlcVideoPool * gst_vlc_video_pool_new(\n    GstAllocator *p_allocator,
      decoder_t *p_dec )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: GST_VLC_VIDEO_SINK
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GST_VLC_VIDEO_SINK(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - klass
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: GST_VLC_VIDEO_SINK_CLASS
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GST_VLC_VIDEO_SINK_CLASS(klass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: GST_IS_VLC_VIDEO_SINK
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GST_IS_VLC_VIDEO_SINK(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - klass
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: GST_IS_VLC_VIDEO_SINK_CLASS
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcvideosink.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GST_IS_VLC_VIDEO_SINK_CLASS(klass)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/codec/gstreamer/fourcc.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - ent
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: compare_func
    functionSourceFile: /src/vlc/modules/codec/gstreamer/fourcc.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int compare_func( const void* key, const void* ent )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/vlc/modules/codec/gstreamer/fourcc.c:86,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/gstreamer/fourcc.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - gst
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 94
    functionName: GetGstVLCFourcc
    functionSourceFile: /src/vlc/modules/codec/gstreamer/fourcc.c
    functionUses: 0
    functionsReached:
    - bsearch
    - ARRAY_SIZE
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t GetGstVLCFourcc( const char* gst )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p_klass
    argTypes:
    - GstVlcPicturePlaneAllocatorClass*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 66
    functionName: gst_vlc_picture_plane_allocator_class_init
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gst_vlc_picture_plane_allocator_class_init(\n    GstVlcPicturePlaneAllocatorClass
      *p_klass )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GST_ALLOCATOR_CAST
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:71,1
    - Dst: GST_OBJECT_FLAG_SET
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p_allocator
    argTypes:
    - GstVlcPicturePlaneAllocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 80
    functionName: gst_vlc_picture_plane_allocator_init
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c
    functionUses: 0
    functionsReached:
    - GST_ALLOCATOR_CAST
    - GST_OBJECT_FLAG_SET
    linkageType: ''
    returnType: void
    signature: "void gst_vlc_picture_plane_allocator_init(\n        GstVlcPicturePlaneAllocator
      *p_allocator )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GST_VLC_PICTURE_PLANE_ALLOCATOR
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:84,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:86,1
    - Dst: G_OBJECT_CLASS
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_object
    argTypes:
    - GObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: gst_vlc_picture_plane_allocator_finalize
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c
    functionUses: 0
    functionsReached:
    - G_OBJECT_CLASS
    - GST_VLC_PICTURE_PLANE_ALLOCATOR
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void gst_vlc_picture_plane_allocator_finalize( GObject *p_object )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:94,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:95,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - p_allocator
    - i_size
    - p_params
    argTypes:
    - GstAllocator*
    - gsize
    - GstAllocationParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: gst_vlc_picture_plane_allocator_dummy_alloc
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: GstMemory
    signature: "GstMemory * gst_vlc_picture_plane_allocator_dummy_alloc(\n        GstAllocator*
      p_allocator, gsize i_size, GstAllocationParams *p_params )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:103,1
    - Dst: g_slice_free
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_allocator
    - p_gmem
    argTypes:
    - GstAllocator*
    - GstMemory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: gst_vlc_picture_plane_allocator_free
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c
    functionUses: 0
    functionsReached:
    - g_slice_free
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void gst_vlc_picture_plane_allocator_free( GstAllocator *p_allocator,\n
      \       GstMemory *p_gmem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:111,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p_gmem
    - i_maxsize
    - flags
    argTypes:
    - GstMemory*
    - gsize
    - GstMapFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: gst_vlc_picture_plane_map
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: gpointer
    signature: "gpointer gst_vlc_picture_plane_map( GstMemory *p_gmem,\n    gsize
      i_maxsize, GstMapFlags flags )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_mem
    argTypes:
    - GstMemory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: gst_vlc_picture_plane_unmap
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void gst_vlc_picture_plane_unmap( GstMemory *p_mem )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:129,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:130,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - p_mem
    - i_offset
    - i_size
    argTypes:
    - GstMemory*
    - gssize
    - gssize
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: gst_vlc_picture_plane_copy
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: GstMemory
    signature: "GstMemory * gst_vlc_picture_plane_copy(\n        GstMemory *p_mem,
      gssize i_offset, gssize i_size )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fourcc_GetCodecFromString
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:137,1
    - Dst: GetGstVLCFourcc
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - psz_fourcc
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: gst_vlc_to_map_format
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c
    functionUses: 1
    functionsReached:
    - GetGstVLCFourcc
    - vlc_fourcc_GetCodecFromString
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t gst_vlc_to_map_format( const char* psz_fourcc )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:148,1
    - Dst: gst_buffer_peek_memory
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:151,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:156,1
    - Dst: gst_buffer_n_memory
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:158,1
    - Dst: gst_buffer_peek_memory
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - p_allocator
    - p_buffer
    argTypes:
    - GstVlcPicturePlaneAllocator*
    - GstBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 167
    functionName: gst_vlc_picture_plane_allocator_release
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c
    functionUses: 2
    functionsReached:
    - gst_buffer_n_memory
    - picture_Release
    - gst_buffer_peek_memory
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void gst_vlc_picture_plane_allocator_release(\n    GstVlcPicturePlaneAllocator
      *p_allocator, GstBuffer *p_buffer )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decoder_UpdateVideoFormat
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:177,1
    - Dst: decoder_NewPicture
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:178,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:181,1
    - Dst: gst_buffer_peek_memory
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - p_allocator
    - p_buffer
    argTypes:
    - GstVlcPicturePlaneAllocator*
    - GstBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 194
    functionName: gst_vlc_picture_plane_allocator_hold
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c
    functionUses: 1
    functionsReached:
    - msg_Err
    - gst_buffer_peek_memory
    - decoder_UpdateVideoFormat
    - decoder_NewPicture
    linkageType: ''
    returnType: bool
    signature: "bool gst_vlc_picture_plane_allocator_hold(\n    GstVlcPicturePlaneAllocator
      *p_allocator, GstBuffer *p_buffer )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_slice_new0
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:209,1
    - Dst: gst_memory_init
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:218,1
    - Dst: GST_MEMORY_CAST
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:218,1
    - Dst: GST_ALLOCATOR_CAST
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:219,1
    - Dst: gst_buffer_append_memory
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - p_allocator
    - p_buffer
    argTypes:
    - GstVlcPicturePlaneAllocator*
    - GstBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 225
    functionName: gst_vlc_picture_plane_allocator_alloc
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c
    functionUses: 1
    functionsReached:
    - GST_ALLOCATOR_CAST
    - gst_memory_init
    - g_slice_new0
    - GST_MEMORY_CAST
    - gst_buffer_append_memory
    linkageType: ''
    returnType: bool
    signature: "bool gst_vlc_picture_plane_allocator_alloc(\n        GstVlcPicturePlaneAllocator
      *p_allocator,\n        GstBuffer *p_buffer )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gst_caps_get_structure
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:232,1
    - Dst: gst_structure_get_string
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:236,1
    - Dst: gst_vlc_to_map_format
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:238,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:241,1
    - Dst: GST_VIDEO_INFO_WIDTH
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:245,1
    - Dst: GST_VIDEO_INFO_HEIGHT
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:247,1
    - Dst: video_format_Setup
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:250,1
    - Dst: GST_VIDEO_INFO_WIDTH
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:251,1
    - Dst: GST_VIDEO_INFO_HEIGHT
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:251,1
    - Dst: GST_VIDEO_INFO_PAR_N
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:252,1
    - Dst: GST_VIDEO_INFO_PAR_D
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:252,1
    - Dst: GST_VIDEO_INFO_FPS_N
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:256,1
    - Dst: GST_VIDEO_INFO_FPS_D
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - p_info
    - p_align
    - p_caps
    - p_dec
    argTypes:
    - GstVideoInfo*
    - GstVideoAlignment*
    - GstCaps*
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 260
    functionName: gst_vlc_set_vout_fmt
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c
    functionUses: 1
    functionsReached:
    - GST_VIDEO_INFO_PAR_D
    - GST_VIDEO_INFO_FPS_D
    - gst_structure_get_string
    - GST_VIDEO_INFO_HEIGHT
    - video_format_Setup
    - GST_VIDEO_INFO_WIDTH
    - GST_VIDEO_INFO_FPS_N
    - msg_Err
    - gst_caps_get_structure
    - GST_VIDEO_INFO_PAR_N
    - gst_vlc_to_map_format
    linkageType: ''
    returnType: bool
    signature: "bool gst_vlc_set_vout_fmt( GstVideoInfo *p_info, GstVideoAlignment
      *p_align,\n        GstCaps *p_caps, decoder_t *p_dec )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gst_vlc_dec_ensure_empty_queue
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:271,1
    - Dst: gst_video_info_align
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:272,1
    - Dst: gst_vlc_set_vout_fmt
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:274,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:276,1
    - Dst: decoder_UpdateVideoFormat
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:283,1
    - Dst: decoder_NewPicture
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:284,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:287,1
    - Dst: GST_VIDEO_INFO_SIZE
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:302,1
    - Dst: GST_VIDEO_FORMAT_INFO_SCALE_WIDTH
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:310,1
    - Dst: GST_VIDEO_FORMAT_INFO_SCALE_HEIGHT
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:313,1
    - Dst: GST_VIDEO_FORMAT_INFO_PSTRIDE
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:317,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:320,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:321,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:326,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:327,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 5
    argNames:
    - p_info
    - p_align
    - p_caps
    - p_dec
    - p_pic_info
    argTypes:
    - GstVideoInfo*
    - GstVideoAlignment*
    - GstCaps*
    - decoder_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 262
    functionDepth: 3
    functionLinenumber: 262
    functionLinenumberEnd: 329
    functionName: gst_vlc_video_info_from_vout
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c
    functionUses: 0
    functionsReached:
    - GST_VIDEO_FORMAT_INFO_SCALE_WIDTH
    - gst_vlc_set_vout_fmt
    - gst_video_info_align
    - decoder_UpdateVideoFormat
    - memcpy
    - GST_VIDEO_INFO_SIZE
    - GST_VIDEO_FORMAT_INFO_PSTRIDE
    - msg_Err
    - GST_VIDEO_FORMAT_INFO_SCALE_HEIGHT
    - picture_Release
    - gst_vlc_dec_ensure_empty_queue
    - decoder_NewPicture
    linkageType: ''
    returnType: bool
    signature: "bool gst_vlc_video_info_from_vout( GstVideoInfo *p_info,\n        GstVideoAlignment
      *p_align, GstCaps *p_caps, decoder_t *p_dec,\n        picture_t *p_pic_info
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: video_format_Init
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:341,1
    - Dst: gst_vlc_video_info_from_vout
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:344,1
    - Dst: video_format_Clean
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:347,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - p_allocator
    - p_info
    - p_align
    - p_caps
    argTypes:
    - GstVlcPicturePlaneAllocator*
    - GstVideoInfo*
    - GstVideoAlignment*
    - GstCaps*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 331
    functionDepth: 4
    functionLinenumber: 331
    functionLinenumberEnd: 359
    functionName: gst_vlc_picture_plane_allocator_query_format
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c
    functionUses: 1
    functionsReached:
    - video_format_Clean
    - gst_vlc_video_info_from_vout
    - video_format_Init
    - msg_Err
    linkageType: ''
    returnType: bool
    signature: "bool gst_vlc_picture_plane_allocator_query_format(\n        GstVlcPicturePlaneAllocator
      *p_allocator, GstVideoInfo *p_info,\n        GstVideoAlignment *p_align, GstCaps
      *p_caps )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_object_new
      Src: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 370
    functionName: gst_vlc_picture_plane_allocator_new
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstvlcpictureplaneallocator.c
    functionUses: 0
    functionsReached:
    - g_object_new
    linkageType: ''
    returnType: GstVlcPicturePlaneAllocator
    signature: "GstVlcPicturePlaneAllocator * gst_vlc_picture_plane_allocator_new(\n
      \       decoder_t *p_dec )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:121,1
    - Dst: gst_buffer_unref
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:124,1
    - Dst: free
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 126
    functionName: gst_mem_pic_context_Destroy
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstdecode.c
    functionUses: 0
    functionsReached:
    - gst_buffer_unref
    - free
    - container_of
    linkageType: ''
    returnType: void
    signature: void gst_mem_pic_context_Destroy( struct picture_context_t *ctx )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:131,1
    - Dst: calloc
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:133,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:135,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:139,1
    - Dst: gst_buffer_ref
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 143
    functionName: gst_mem_pic_context_Copy
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstdecode.c
    functionUses: 0
    functionsReached:
    - container_of
    - vlc_video_context_Hold
    - calloc
    - unlikely
    - gst_buffer_ref
    linkageType: ''
    returnType: picture_context_t
    signature: "picture_context_t *gst_mem_pic_context_Copy(\n        struct picture_context_t
      *ctx )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:150,1
    - Dst: gst_atomic_queue_length
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:156,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:158,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:158,1
    - Dst: gst_atomic_queue_length
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:164,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:165,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:167,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:170,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 172
    functionName: gst_vlc_dec_ensure_empty_queue
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstdecode.c
    functionUses: 1
    functionsReached:
    - gst_atomic_queue_length
    - VLC_TICK_FROM_MS
    - msg_Dbg
    - msg_Warn
    - vlc_tick_sleep
    linkageType: ''
    returnType: void
    signature: void gst_vlc_dec_ensure_empty_queue( decoder_t *p_dec )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:181,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_src
    - l_offset
    - p_data
    argTypes:
    - GstAppSrc*
    - guint64
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 185
    functionName: seek_data_cb
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstdecode.c
    functionUses: 0
    functionsReached:
    - msg_Dbg
    - VLC_UNUSED
    linkageType: ''
    returnType: gboolean
    signature: "gboolean seek_data_cb( GstAppSrc *p_src, guint64 l_offset,\n        gpointer
      p_data )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:194,1
    - Dst: GST_IS_VIDEO_DECODER
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:199,1
    - Dst: GST_QUERY_TYPE
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:201,1
    - Dst: gst_vlc_video_sink_query_caps
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:203,1
    - Dst: GST_BASE_SINK_CAST
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:205,1
    - Dst: GST_BASE_SINK_GET_CLASS
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:206,1
    - Dst: GstBaseSinkClass*::propose_allocation
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - p_bin
    - p_pad
    - p_element
    - p_query
    - p_data
    argTypes:
    - GstElement*
    - GstPad*
    - GstElement*
    - GstQuery*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 215
    functionName: autoplug_query_cb
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstdecode.c
    functionUses: 0
    functionsReached:
    - gst_vlc_video_sink_query_caps
    - GstBaseSinkClass*::propose_allocation
    - GST_QUERY_TYPE
    - GST_BASE_SINK_GET_CLASS
    - GST_BASE_SINK_CAST
    - GST_IS_VIDEO_DECODER
    - VLC_UNUSED
    linkageType: ''
    returnType: gboolean
    signature: "gboolean autoplug_query_cb( GstElement *p_bin, GstPad *p_pad,\n                                   GstElement
      *p_element, GstQuery *p_query,\n                                   gpointer
      p_data )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:222,1
    - Dst: likely
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:226,1
    - Dst: gst_pad_has_current_caps
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:226,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:231,1
    - Dst: gst_element_get_static_pad
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:233,1
    - Dst: gst_pad_link
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:235,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:237,1
    - Dst: gst_object_unref
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:239,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:243,1
    - Dst: GST_ELEMENT_ERROR
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - p_ele
    - p_pad
    - p_data
    argTypes:
    - GstElement*
    - GstPad*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 247
    functionName: pad_added_cb
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstdecode.c
    functionUses: 0
    functionsReached:
    - gst_pad_has_current_caps
    - GST_ELEMENT_ERROR
    - msg_Err
    - gst_element_get_static_pad
    - msg_Dbg
    - likely
    - gst_pad_link
    - gst_object_unref
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void pad_added_cb( GstElement *p_ele, GstPad *p_pad, gpointer p_data
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:252,1
    - Dst: msg_Info
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:257,1
    - Dst: gst_caps_to_string
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:257,1
    - Dst: gst_video_info_from_caps
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:259,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:261,1
    - Dst: gst_vlc_dec_ensure_empty_queue
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:265,1
    - Dst: gst_video_alignment_reset
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:266,1
    - Dst: gst_vlc_set_vout_fmt
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - p_ele
    - p_caps
    - p_data
    argTypes:
    - GstElement*
    - GstCaps*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 249
    functionDepth: 3
    functionLinenumber: 249
    functionLinenumberEnd: 269
    functionName: caps_handoff_cb
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstdecode.c
    functionUses: 0
    functionsReached:
    - gst_vlc_set_vout_fmt
    - gst_video_alignment_reset
    - gst_caps_to_string
    - msg_Err
    - msg_Info
    - gst_video_info_from_caps
    - gst_vlc_dec_ensure_empty_queue
    - VLC_UNUSED
    linkageType: ''
    returnType: gboolean
    signature: "gboolean caps_handoff_cb( GstElement* p_ele, GstCaps *p_caps,\n        gpointer
      p_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:276,1
    - Dst: gst_atomic_queue_push
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:281,1
    - Dst: gst_buffer_ref
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p_ele
    - p_buf
    - p_data
    argTypes:
    - GstElement*
    - GstBuffer*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 282
    functionName: frame_handoff_cb
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstdecode.c
    functionUses: 0
    functionsReached:
    - gst_atomic_queue_push
    - gst_buffer_ref
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void frame_handoff_cb( GstElement *p_ele, GstBuffer *p_buf,\n        gpointer
      p_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gst_element_factory_can_sink_any_caps
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:293,1
    - Dst: gst_element_factory_can_src_any_caps
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_p1
    - p_p2
    argTypes:
    - gconstpointer
    - gconstpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 297
    functionName: find_decoder_func
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstdecode.c
    functionUses: 0
    functionsReached:
    - gst_element_factory_can_sink_any_caps
    - gst_element_factory_can_src_any_caps
    linkageType: ''
    returnType: gint
    signature: gint find_decoder_func( gconstpointer p_p1, gconstpointer p_p2 )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GST_MESSAGE_TYPE
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:303,1
    - Dst: gst_message_parse_error
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:309,1
    - Dst: g_free
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:310,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:312,1
    - Dst: GST_ELEMENT_NAME
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:313,1
    - Dst: GST_MESSAGE_SRC
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:313,1
    - Dst: g_error_free
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:315,1
    - Dst: gst_message_parse_warning
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:324,1
    - Dst: g_free
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:325,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:327,1
    - Dst: GST_ELEMENT_NAME
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:328,1
    - Dst: GST_MESSAGE_SRC
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:328,1
    - Dst: g_error_free
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:330,1
    - Dst: gst_message_parse_info
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:338,1
    - Dst: g_free
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:339,1
    - Dst: msg_Info
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:341,1
    - Dst: GST_ELEMENT_NAME
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:342,1
    - Dst: GST_MESSAGE_SRC
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:342,1
    - Dst: g_error_free
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:344,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - p_dec
    - p_msg
    argTypes:
    - decoder_t*
    - GstMessage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 352
    functionName: default_msg_handler
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstdecode.c
    functionUses: 0
    functionsReached:
    - GST_MESSAGE_TYPE
    - g_free
    - gst_message_parse_info
    - gst_message_parse_error
    - gst_message_parse_warning
    - msg_Err
    - GST_ELEMENT_NAME
    - msg_Info
    - msg_Warn
    - GST_MESSAGE_SRC
    - g_error_free
    linkageType: ''
    returnType: bool
    signature: bool default_msg_handler( decoder_t *p_dec, GstMessage *p_msg )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gst_element_register
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_plugin
    argTypes:
    - GstPlugin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 361
    functionName: vlc_gst_plugin_init
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstdecode.c
    functionUses: 0
    functionsReached:
    - gst_element_register
    linkageType: ''
    returnType: gboolean
    signature: gboolean vlc_gst_plugin_init( GstPlugin *p_plugin )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gst_init
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:368,1
    - Dst: gst_plugin_register_static
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 372
    functionName: vlc_gst_init_once
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstdecode.c
    functionUses: 0
    functionsReached:
    - gst_plugin_register_static
    - gst_init
    linkageType: ''
    returnType: void
    signature: void vlc_gst_init_once(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_once
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 382
    functionName: vlc_gst_init
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstdecode.c
    functionUses: 0
    functionsReached:
    - vlc_once
    linkageType: ''
    returnType: bool
    signature: bool vlc_gst_init( void )
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gst_structure_new_empty
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:391,1
    - Dst: gst_structure_set
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:392,1
    - Dst: gst_structure_set
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:394,1
    - Dst: gst_structure_set
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:397,1
    - Dst: gst_structure_new_empty
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:401,1
    - Dst: gst_structure_set
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:402,1
    - Dst: gst_structure_new_empty
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:406,1
    - Dst: gst_structure_set
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:407,1
    - Dst: es_format_HasVpxAlpha
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:411,1
    - Dst: gst_structure_new_empty
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:413,1
    - Dst: es_format_HasVpxAlpha
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:416,1
    - Dst: gst_structure_new_empty
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:418,1
    - Dst: gst_structure_new_empty
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:421,1
    - Dst: gst_structure_new_empty
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:424,1
    - Dst: gst_structure_set
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:425,1
    - Dst: gst_structure_new_empty
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:429,1
    - Dst: gst_structure_set
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:430,1
    - Dst: gst_structure_new_empty
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:433,1
    - Dst: gst_structure_set
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:434,1
    - Dst: gst_structure_new_empty
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:438,1
    - Dst: gst_structure_set
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:439,1
    - Dst: gst_structure_new_empty
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:443,1
    - Dst: gst_structure_set
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:444,1
    - Dst: gst_structure_new_empty
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:448,1
    - Dst: gst_structure_set
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:449,1
    - Dst: gst_structure_set
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:458,1
    - Dst: gst_structure_set
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:463,1
    - Dst: gst_structure_set
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:468,1
    - Dst: gst_buffer_new_wrapped_full
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:476,1
    - Dst: gst_structure_free
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:481,1
    - Dst: gst_structure_set
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:485,1
    - Dst: gst_buffer_unref
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:486,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 73
    argCount: 1
    argNames:
    - p_fmt
    argTypes:
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 490
    functionName: vlc_to_gst_fmt
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstdecode.c
    functionUses: 0
    functionsReached:
    - es_format_HasVpxAlpha
    - gst_structure_set
    - gst_structure_new_empty
    - gst_buffer_unref
    - gst_structure_free
    - gst_buffer_new_wrapped_full
    linkageType: ''
    returnType: GstStructure
    signature: GstStructure * vlc_to_gst_fmt( const es_format_t *p_fmt )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vlc_gst_init
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:511,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:513,1
    - Dst: vlc_to_gst_fmt
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:517,1
    - Dst: calloc
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:522,1
    - Dst: gst_structure_free
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:525,1
    - Dst: var_CreateGetBool
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:529,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:530,1
    - Dst: gst_caps_new_empty
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:532,1
    - Dst: gst_caps_append_structure
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:533,1
    - Dst: gst_caps_new_empty_simple
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:535,1
    - Dst: gst_element_factory_list_get_elements
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:538,1
    - Dst: g_list_sort
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:544,1
    - Dst: g_list_find_custom
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:545,1
    - Dst: VLC_GST_CHECK
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:546,1
    - Dst: gst_element_factory_create
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:548,1
    - Dst: VLC_GST_CHECK
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:550,1
    - Dst: g_list_find_custom
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:558,1
    - Dst: VLC_GST_CHECK
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:559,1
    - Dst: gst_plugin_feature_list_free
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:561,1
    - Dst: gst_caps_unref
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:563,1
    - Dst: gst_atomic_queue_new
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:571,1
    - Dst: gst_element_factory_make
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:573,1
    - Dst: VLC_GST_CHECK
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:574,1
    - Dst: g_object_set
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:575,1
    - Dst: G_OBJECT
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:575,1
    - Dst: gst_caps_unref
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:584,1
    - Dst: gst_app_src_set_callbacks
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:589,1
    - Dst: GST_APP_SRC
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:589,1
    - Dst: gst_element_factory_make
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:594,1
    - Dst: VLC_GST_CHECK
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:595,1
    - Dst: g_signal_connect
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:601,1
    - Dst: G_OBJECT
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:601,1
    - Dst: G_CALLBACK
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:602,1
    - Dst: g_signal_connect
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:604,1
    - Dst: G_OBJECT
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:604,1
    - Dst: G_CALLBACK
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:605,1
    - Dst: gst_element_factory_make
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:609,1
    - Dst: VLC_GST_CHECK
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:610,1
    - Dst: var_CreateGetBool
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:613,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:614,1
    - Dst: gst_vlc_picture_plane_allocator_new
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:616,1
    - Dst: g_object_set
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:618,1
    - Dst: G_OBJECT
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:618,1
    - Dst: g_signal_connect
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:620,1
    - Dst: G_OBJECT
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:620,1
    - Dst: G_CALLBACK
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:621,1
    - Dst: g_signal_connect
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:625,1
    - Dst: G_OBJECT
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:625,1
    - Dst: G_CALLBACK
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:626,1
    - Dst: GST_VLC_VIDEO_SINK
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:628,1
    - Dst: GST_ELEMENT
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:631,1
    - Dst: gst_bin_new
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:631,1
    - Dst: VLC_GST_CHECK
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:632,1
    - Dst: gst_bus_new
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:633,1
    - Dst: VLC_GST_CHECK
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:634,1
    - Dst: gst_element_set_bus
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:635,1
    - Dst: gst_bin_add_many
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:637,1
    - Dst: GST_BIN
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:637,1
    - Dst: gst_object_ref
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:640,1
    - Dst: gst_object_ref
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:641,1
    - Dst: gst_object_ref
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:642,1
    - Dst: gst_element_link
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:644,1
    - Dst: VLC_GST_CHECK
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:645,1
    - Dst: gst_element_link
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:650,1
    - Dst: VLC_GST_CHECK
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:651,1
    - Dst: gst_element_set_state
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:656,1
    - Dst: VLC_GST_CHECK
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:657,1
    - Dst: decoder_GetDecoderDevice
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:665,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:668,1
    - Dst: vlc_video_context_Create
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:671,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:672,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:673,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:675,1
    - Dst: gst_caps_unref
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:683,1
    - Dst: gst_caps_unref
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:685,1
    - Dst: gst_plugin_feature_list_free
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:687,1
    - Dst: CloseDecoder
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:688,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 103
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 690
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstdecode.c
    functionUses: 0
    functionsReached:
    - GST_APP_SRC
    - vlc_decoder_device_Release
    - gst_bin_new
    - VLC_GST_CHECK
    - GST_BIN
    - gst_element_factory_create
    - gst_structure_free
    - gst_plugin_feature_list_free
    - vlc_gst_init
    - msg_Err
    - calloc
    - G_CALLBACK
    - g_signal_connect
    - gst_app_src_set_callbacks
    - vlc_to_gst_fmt
    - msg_Dbg
    - gst_caps_new_empty
    - g_list_sort
    - CloseDecoder
    - gst_atomic_queue_new
    - decoder_GetDecoderDevice
    - gst_element_factory_list_get_elements
    - gst_caps_append_structure
    - gst_caps_new_empty_simple
    - gst_object_ref
    - gst_element_set_bus
    - gst_bus_new
    - G_OBJECT
    - gst_bin_add_many
    - gst_element_set_state
    - gst_vlc_picture_plane_allocator_new
    - GST_ELEMENT
    - var_CreateGetBool
    - gst_caps_unref
    - gst_element_link
    - g_list_find_custom
    - g_object_set
    - vlc_video_context_Create
    - GST_VLC_VIDEO_SINK
    - gst_element_factory_make
    - unlikely
    linkageType: ''
    returnType: int
    signature: int OpenDecoder( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - r
    - ','
    - v
    - ','
    - s
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 510
    functionName: VLC_GST_CHECK
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstdecode.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLC_GST_CHECK( r, v, s, t )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gst_element_seek_simple
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:703,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:705,1
    - Dst: gst_atomic_queue_pop
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:708,1
    - Dst: gst_buffer_unref
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:709,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 712
    functionName: Flush
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstdecode.c
    functionUses: 101
    functionsReached:
    - gst_atomic_queue_pop
    - gst_buffer_unref
    - msg_Dbg
    - gst_element_seek_simple
    linkageType: ''
    returnType: void
    signature: void Flush( decoder_t *p_dec )
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:724,1
    - Dst: Flush
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:728,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:732,1
    - Dst: likely
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:737,1
    - Dst: gst_buffer_new_wrapped_full
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:741,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:745,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:747,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:748,1
    - Dst: GST_BUFFER_DTS
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:753,1
    - Dst: gst_util_uint64_scale
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:753,1
    - Dst: GST_BUFFER_PTS
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:757,1
    - Dst: GST_BUFFER_DTS
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:757,1
    - Dst: GST_BUFFER_PTS
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:759,1
    - Dst: gst_util_uint64_scale
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:759,1
    - Dst: GST_BUFFER_DURATION
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:763,1
    - Dst: gst_util_uint64_scale
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:763,1
    - Dst: GST_BUFFER_DURATION
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:768,1
    - Dst: gst_util_uint64_scale
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:768,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:783,1
    - Dst: gst_app_src_push_buffer
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:783,1
    - Dst: GST_APP_SRC_CAST
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:784,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:789,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:794,1
    - Dst: gst_bus_pop_filtered
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:797,1
    - Dst: GST_MESSAGE_TYPE
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:803,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:806,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:812,1
    - Dst: default_msg_handler
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:815,1
    - Dst: gst_message_unref
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:817,1
    - Dst: gst_message_unref
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:822,1
    - Dst: gst_atomic_queue_peek
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:826,1
    - Dst: GST_BUFFER_CAST
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:828,1
    - Dst: gst_atomic_queue_pop
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:829,1
    - Dst: gst_buffer_peek_memory
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:831,1
    - Dst: GST_IS_VLC_PICTURE_PLANE_ALLOCATOR
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:836,1
    - Dst: picture_Hold
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:839,1
    - Dst: gst_is_dmabuf_memory
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:841,1
    - Dst: decoder_UpdateVideoOutput
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:860,1
    - Dst: gst_buffer_unref
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:862,1
    - Dst: decoder_NewPicture
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:865,1
    - Dst: gst_buffer_unref
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:868,1
    - Dst: calloc
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:872,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:873,1
    - Dst: gst_buffer_unref
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:875,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:883,1
    - Dst: gst_buffer_ref
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:886,1
    - Dst: decoder_UpdateVideoFormat
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:898,1
    - Dst: gst_buffer_unref
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:900,1
    - Dst: decoder_NewPicture
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:903,1
    - Dst: gst_buffer_unref
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:906,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:910,1
    - Dst: gst_video_frame_map
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:910,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:913,1
    - Dst: gst_buffer_unref
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:914,1
    - Dst: gst_CopyPicture
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:918,1
    - Dst: gst_video_frame_unmap
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:919,1
    - Dst: likely
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:926,1
    - Dst: GST_BUFFER_PTS_IS_VALID
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:926,1
    - Dst: gst_util_uint64_scale
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:927,1
    - Dst: GST_BUFFER_PTS
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:928,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:930,1
    - Dst: gst_buffer_unref
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:932,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:937,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 126
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 715
    functionDepth: 2
    functionLinenumber: 715
    functionLinenumberEnd: 939
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstdecode.c
    functionUses: 20
    functionsReached:
    - GST_MESSAGE_TYPE
    - decoder_UpdateVideoFormat
    - gst_CopyPicture
    - GST_APP_SRC_CAST
    - gst_message_unref
    - gst_buffer_peek_memory
    - GST_IS_VLC_PICTURE_PLANE_ALLOCATOR
    - gst_atomic_queue_pop
    - vlc_video_context_Hold
    - msg_Err
    - gst_bus_pop_filtered
    - calloc
    - gst_is_dmabuf_memory
    - msg_Dbg
    - msg_Warn
    - Flush
    - gst_util_uint64_scale
    - gst_buffer_ref
    - gst_video_frame_map
    - gst_app_src_push_buffer
    - GST_BUFFER_CAST
    - picture_Hold
    - gst_buffer_unref
    - GST_BUFFER_DTS
    - likely
    - block_Release
    - gst_atomic_queue_peek
    - decoder_UpdateVideoOutput
    - GST_BUFFER_DURATION
    - decoder_QueueVideo
    - GST_BUFFER_PTS
    - default_msg_handler
    - GST_BUFFER_PTS_IS_VALID
    - gst_video_frame_unmap
    - unlikely
    - gst_buffer_new_wrapped_full
    - decoder_NewPicture
    linkageType: ''
    returnType: int
    signature: int DecodeBlock( decoder_t *p_dec, block_t *p_block )
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gst_app_src_end_of_stream
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:956,1
    - Dst: GST_APP_SRC_CAST
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:957,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:958,1
    - Dst: gst_flow_get_name
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:958,1
    - Dst: gst_bus_timed_pop_filtered
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:961,1
    - Dst: GST_MESSAGE_TYPE
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:966,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:968,1
    - Dst: default_msg_handler
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:971,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:973,1
    - Dst: gst_message_unref
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:979,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:982,1
    - Dst: gst_atomic_queue_pop
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:990,1
    - Dst: gst_buffer_unref
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:991,1
    - Dst: gst_atomic_queue_unref
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:992,1
    - Dst: gst_element_set_state
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:995,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:997,1
    - Dst: gst_object_unref
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:1002,1
    - Dst: gst_object_unref
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:1004,1
    - Dst: gst_object_unref
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:1006,1
    - Dst: gst_object_unref
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:1008,1
    - Dst: gst_object_unref
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:1010,1
    - Dst: gst_object_unref
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:1012,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:1015,1
    - Dst: free
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:1017,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 942
    functionDepth: 2
    functionLinenumber: 942
    functionLinenumberEnd: 1018
    functionName: CloseDecoder
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstdecode.c
    functionUses: 4
    functionsReached:
    - GST_MESSAGE_TYPE
    - gst_atomic_queue_unref
    - gst_app_src_end_of_stream
    - gst_element_set_state
    - vlc_video_context_Release
    - gst_atomic_queue_pop
    - GST_APP_SRC_CAST
    - gst_bus_timed_pop_filtered
    - msg_Err
    - gst_buffer_unref
    - free
    - msg_Dbg
    - default_msg_handler
    - msg_Warn
    - gst_flow_get_name
    - gst_object_unref
    - gst_message_unref
    linkageType: ''
    returnType: void
    signature: void CloseDecoder( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/gstreamer/gstdecode.c:1026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - device
    - window
    argTypes:
    - vlc_decoder_device*
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1024
    functionDepth: 1
    functionLinenumber: 1024
    functionLinenumberEnd: 1032
    functionName: OpenDecoderDevice
    functionSourceFile: /src/vlc/modules/codec/gstreamer/gstdecode.c
    functionUses: 2
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int OpenDecoderDevice(vlc_decoder_device *device, vlc_window_t *window)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: pic_release
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void pic_release(picture_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:44,1
    - Dst: abort
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - info
    - poc
    argTypes:
    - frame_info_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: withpic
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    functionUses: 0
    functionsReached:
    - calloc
    - abort
    linkageType: ''
    returnType: frame_info_t
    signature: frame_info_t *withpic(frame_info_t *info, int poc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:55,1
    - Dst: calloc
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:57,1
    - Dst: abort
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ref
    argTypes:
    - frame_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 67
    functionName: infocopy
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    functionUses: 0
    functionsReached:
    - calloc
    - abort
    - malloc
    linkageType: ''
    returnType: frame_info_t
    signature: frame_info_t *infocopy(const frame_info_t *ref)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:73,1
    - Dst: fprintf
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:78,1
    - Dst: fprintf
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:82,1
    - Dst: fprintf
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:86,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:87,1
    - Dst: fprintf
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:90,1
    - Dst: abort
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:92,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:93,1
    - Dst: free
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:96,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - output
    - ap
    argTypes:
    - picture_t*
    - va_list
    assertStmts:
    - condition: (output == NULL)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    - condition: (outpoc == poc)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    - condition: (output == NULL)
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    constantsTouched: []
    func_position:
      end: 100
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 100
    functionName: VaCheckOutput
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    functionUses: 0
    functionsReached:
    - abort
    - assert
    - fprintf
    - free
    - va_arg
    linkageType: ''
    returnType: void
    signature: void VaCheckOutput(picture_t *output, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:104,1
    - Dst: EmptyDPB
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:105,1
    - Dst: va_start
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:107,1
    - Dst: VaCheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:108,1
    - Dst: va_end
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dpb
    - ptsdate
    argTypes:
    - struct dpb_s*
    - date_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 110
    functionName: CheckDrain
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    functionUses: 0
    functionsReached:
    - VaCheckOutput
    - va_start
    - fprintf
    - EmptyDPB
    - va_end
    linkageType: ''
    returnType: void
    signature: void CheckDrain(struct dpb_s *dpb, date_t *ptsdate, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:114,1
    - Dst: DPBOutputAndRemoval
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:116,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:117,1
    - Dst: va_start
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:119,1
    - Dst: VaCheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:120,1
    - Dst: va_end
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:121,1
    - Dst: InsertIntoDPB
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - dpb
    - ptsdate
    - info
    argTypes:
    - struct dpb_s*
    - date_t*
    - frame_info_t*
    assertStmts:
    - condition: (dpb->i_size < DPB_MAX_PICS)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    constantsTouched: []
    func_position:
      end: 123
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 123
    functionName: CheckOutput
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    functionUses: 2
    functionsReached:
    - assert
    - VaCheckOutput
    - va_start
    - fprintf
    - InsertIntoDPB
    - DPBOutputAndRemoval
    - va_end
    linkageType: ''
    returnType: void
    signature: void CheckOutput(struct dpb_s *dpb, date_t *ptsdate, frame_info_t *info,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: date_Init
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:146,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:147,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:152,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:152,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:152,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:157,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:157,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:157,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:162,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:162,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:162,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:167,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:167,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:167,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:172,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:172,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:172,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:177,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:177,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:177,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:182,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:182,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:182,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:187,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:187,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:187,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:195,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:195,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:195,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:200,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:200,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:200,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:201,1
    - Dst: CheckDrain
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:203,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:204,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:213,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:213,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:213,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:218,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:218,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:218,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:223,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:223,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:223,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:228,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:228,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:228,1
    - Dst: CheckDrain
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:231,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:240,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:240,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:240,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:246,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:246,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:246,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:251,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:251,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:251,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:253,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:254,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:259,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:259,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:259,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:264,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:264,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:264,1
    - Dst: CheckDrain
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:266,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:268,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:277,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:277,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:277,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:283,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:283,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:283,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:288,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:288,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:288,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:293,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:293,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:293,1
    - Dst: CheckDrain
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:295,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:297,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:306,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:306,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:306,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:312,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:312,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:312,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:317,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:317,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:317,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:324,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:324,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:324,1
    - Dst: CheckDrain
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:328,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:330,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:341,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:341,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:341,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:346,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:346,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:346,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:351,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:351,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:351,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:356,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:356,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:356,1
    - Dst: CheckDrain
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:358,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 175
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (dpb.i_size == 0)
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    - condition: (dpb.i_size == 1)
      pos:
        line_end: 200
        line_start: 200
        source_file: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    - condition: (dpb.i_size == 0)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    - condition: (dpb.i_size == 0)
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    - condition: (dpb.i_size == 0)
      pos:
        line_end: 329
        line_start: 329
        source_file: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    - condition: (dpb.i_size < info.i_max_pics_buffering)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    - condition: (dpb.i_size == 0)
      pos:
        line_end: 359
        line_start: 359
        source_file: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    - condition: (dpb.i_need_output_size == info.i_max_num_reorder)
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    constantsTouched: []
    func_position:
      end: 361
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 361
    functionName: CheckDPBWithFramesTest
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    functionUses: 0
    functionsReached:
    - assert
    - infocopy
    - withpic
    - CheckOutput
    - date_Set
    - date_Init
    - CheckDrain
    linkageType: ''
    returnType: void
    signature: void CheckDPBWithFramesTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: date_Init
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:380,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:381,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:388,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:388,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:388,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:393,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:393,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:393,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:395,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:396,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:401,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:401,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:401,1
    - Dst: CheckDrain
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:403,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:405,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:406,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:414,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:414,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:414,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:419,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:419,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:419,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:421,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:422,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:427,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:427,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:427,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:429,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:430,1
    - Dst: CheckDrain
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:432,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:434,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:435,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:445,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:445,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:445,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:451,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:451,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:451,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:453,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:454,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:459,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:459,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:459,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:461,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:462,1
    - Dst: CheckDrain
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:464,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:466,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:467,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:477,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:477,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:477,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:483,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:483,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:483,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:485,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:486,1
    - Dst: CheckOutput
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:491,1
    - Dst: withpic
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:491,1
    - Dst: infocopy
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:491,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:493,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:494,1
    - Dst: CheckDrain
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:496,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:498,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 96
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (dpb.i_stored_fields == 2)
      pos:
        line_end: 420
        line_start: 420
        source_file: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    - condition: (dpb.i_size == 0)
      pos:
        line_end: 434
        line_start: 434
        source_file: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    - condition: (dpb.i_size == 2)
      pos:
        line_end: 493
        line_start: 493
        source_file: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    - condition: (dpb.i_stored_fields == 4)
      pos:
        line_end: 460
        line_start: 460
        source_file: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    - condition: (dpb.i_stored_fields == 2)
      pos:
        line_end: 394
        line_start: 394
        source_file: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    - condition: (dpb.i_stored_fields == 0)
      pos:
        line_end: 404
        line_start: 404
        source_file: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    - condition: (dpb.i_size == 2)
      pos:
        line_end: 429
        line_start: 429
        source_file: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    - condition: (dpb.i_size == 2)
      pos:
        line_end: 485
        line_start: 485
        source_file: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    - condition: (dpb.i_stored_fields == 4)
      pos:
        line_end: 492
        line_start: 492
        source_file: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    - condition: (dpb.i_size == 0)
      pos:
        line_end: 498
        line_start: 498
        source_file: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    - condition: (dpb.i_size == 1)
      pos:
        line_end: 421
        line_start: 421
        source_file: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    - condition: (dpb.i_stored_fields == 0)
      pos:
        line_end: 433
        line_start: 433
        source_file: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    - condition: (dpb.i_size == 2)
      pos:
        line_end: 453
        line_start: 453
        source_file: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    - condition: (dpb.i_size == 3)
      pos:
        line_end: 461
        line_start: 461
        source_file: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    - condition: (dpb.i_stored_fields == 0)
      pos:
        line_end: 497
        line_start: 497
        source_file: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    - condition: (dpb.i_size == 0)
      pos:
        line_end: 466
        line_start: 466
        source_file: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    - condition: (dpb.i_size == 2)
      pos:
        line_end: 395
        line_start: 395
        source_file: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    - condition: (dpb.i_size == 0)
      pos:
        line_end: 405
        line_start: 405
        source_file: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    - condition: (dpb.i_stored_fields == 3)
      pos:
        line_end: 428
        line_start: 428
        source_file: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    - condition: (dpb.i_stored_fields == 3)
      pos:
        line_end: 452
        line_start: 452
        source_file: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    - condition: (dpb.i_stored_fields == 0)
      pos:
        line_end: 465
        line_start: 465
        source_file: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    - condition: (dpb.i_stored_fields == 3)
      pos:
        line_end: 484
        line_start: 484
        source_file: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    constantsTouched: []
    func_position:
      end: 500
      start: 363
    functionDepth: 3
    functionLinenumber: 363
    functionLinenumberEnd: 500
    functionName: CheckDPBWithFieldsTest
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    functionUses: 0
    functionsReached:
    - assert
    - infocopy
    - withpic
    - CheckOutput
    - date_Set
    - date_Init
    - CheckDrain
    linkageType: ''
    returnType: void
    signature: void CheckDPBWithFieldsTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckDPBWithFramesTest
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:504,1
    - Dst: CheckDPBWithFieldsTest
      Src: /src/vlc/modules/codec/videotoolbox/dpb_test.c:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 502
    functionDepth: 4
    functionLinenumber: 502
    functionLinenumberEnd: 507
    functionName: main
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/dpb_test.c
    functionUses: 12
    functionsReached:
    - CheckDPBWithFramesTest
    - CheckDPBWithFieldsTest
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: deviceSupportsHEVC
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:156,1
    - Dst: deviceSupports42010bitRendering
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:156,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - i_chroma_format
    - i_depth_luma
    - i_depth_chroma
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 173
    functionName: GetBestChroma
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - deviceSupportsHEVC
    - deviceSupports42010bitRendering
    linkageType: ''
    returnType: OSType
    signature: "OSType GetBestChroma(uint8_t i_chroma_format, uint8_t i_depth_luma,\n
      \                           uint8_t i_depth_chroma)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_helper_get_chroma_chroma
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:181,1
    - Dst: GetBestChroma
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - hh
    argTypes:
    - struct hxxx_helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: GetBestChromaFromHxxx
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - hxxx_helper_get_chroma_chroma
    - GetBestChroma
    linkageType: ''
    returnType: OSType
    signature: OSType GetBestChromaFromHxxx(struct hxxx_helper *hh)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h264_get_pps_sps_id
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - i_pps_id
    - priv
    - pp_sps
    - pp_pps
    argTypes:
    - uint8_t
    - void*
    - h264_sequence_parameter_set_t**
    - h264_picture_parameter_set_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 205
    functionName: GetxPSH264
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - h264_get_pps_sps_id
    linkageType: ''
    returnType: void
    signature: "void GetxPSH264(uint8_t i_pps_id, void *priv,\n                      const
      h264_sequence_parameter_set_t **pp_sps,\n                      const h264_picture_parameter_set_t
      **pp_pps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: h264_decode_sei_pic_timing
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:221,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p_sei_data
    - priv
    argTypes:
    - hxxx_sei_data_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 230
    functionName: ParseH264SEI
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - h264_decode_sei_pic_timing
    - VLC_UNUSED
    linkageType: ''
    returnType: bool
    signature: bool ParseH264SEI(const hxxx_sei_data_t *p_sei_data, void *priv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_iterator_init
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:238,1
    - Dst: hxxx_iterate_next
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:248,1
    - Dst: h264_decode_slice
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:257,1
    - Dst: GetxPSH264
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:263,1
    - Dst: h264_get_slice_pps_id
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:263,1
    - Dst: h264_compute_poc
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:267,1
    - Dst: h264_get_slice_type
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:270,1
    - Dst: h264_has_mmco5
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:272,1
    - Dst: h264_is_field_pic
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:273,1
    - Dst: h264_using_adaptive_frames
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:274,1
    - Dst: HxxxParseSEI
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:282,1
    - Dst: h264_get_num_ts
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:285,1
    - Dst: h264_get_dpb_values
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:288,1
    - Dst: h264_get_frame_rate
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:295,1
    - Dst: h264_slice_release
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:301,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 3
    argNames:
    - p_dec
    - p_block
    - p_info
    argTypes:
    - decoder_t*
    - block_t*
    - frame_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 232
    functionDepth: 4
    functionLinenumber: 232
    functionLinenumberEnd: 316
    functionName: FillReorderInfoH264
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - h264_get_slice_pps_id
    - h264_has_mmco5
    - h264_get_num_ts
    - GetxPSH264
    - hxxx_iterator_init
    - h264_get_dpb_values
    - h264_is_field_pic
    - hxxx_iterate_next
    - HxxxParseSEI
    - h264_slice_release
    - h264_get_slice_type
    - h264_compute_poc
    - h264_using_adaptive_frames
    - h264_get_frame_rate
    - h264_decode_slice
    linkageType: ''
    returnType: bool
    signature: "bool FillReorderInfoH264(decoder_t *p_dec, const block_t *p_block,\n
      \                               frame_info_t *p_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_helper_process_block
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:323,1
    - Dst: hxxx_helper_has_new_config
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p_dec
    - p_block
    - pb_config_changed
    argTypes:
    - decoder_t*
    - block_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 319
    functionDepth: 6
    functionLinenumber: 319
    functionLinenumberEnd: 326
    functionName: ProcessBlockH264
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - hxxx_helper_process_block
    - hxxx_helper_has_new_config
    linkageType: ''
    returnType: block_t
    signature: block_t *ProcessBlockH264(decoder_t *p_dec, block_t *p_block, bool
      *pb_config_changed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_helper_clean
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:331,1
    - Dst: free
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_codec_context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 333
    functionName: CleanH264
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - free
    - hxxx_helper_clean
    linkageType: ''
    returnType: void
    signature: void CleanH264(void *p_codec_context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:338,1
    - Dst: h264_poc_context_init
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:341,1
    - Dst: hxxx_helper_init
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:342,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:342,1
    - Dst: hxxx_helper_set_extra
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:344,1
    - Dst: CleanH264
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 335
    functionDepth: 6
    functionLinenumber: 335
    functionLinenumberEnd: 353
    functionName: InitH264
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - hxxx_helper_set_extra
    - h264_poc_context_init
    - CleanH264
    - VLC_OBJECT
    - malloc
    - hxxx_helper_init
    linkageType: ''
    returnType: bool
    signature: bool InitH264(decoder_t *p_dec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ExtradataInfoCreate
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:364,1
    - Dst: CFSTR
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:364,1
    - Dst: hxxx_helper_has_config
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:368,1
    - Dst: hxxx_helper_get_extradata_block
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:371,1
    - Dst: ExtradataInfoCreate
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:374,1
    - Dst: CFSTR
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:374,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:377,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 355
    functionDepth: 6
    functionLinenumber: 355
    functionLinenumberEnd: 381
    functionName: CopyDecoderExtradataH264
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - block_Release
    - ExtradataInfoCreate
    - CFSTR
    - hxxx_helper_get_extradata_block
    - hxxx_helper_has_config
    linkageType: ''
    returnType: CFDictionaryRef
    signature: CFDictionaryRef CopyDecoderExtradataH264(decoder_t *p_dec)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_helper_get_current_profile_level
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:389,1
    - Dst: deviceSupportsAdvancedProfiles
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:400,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:404,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:411,1
    - Dst: deviceSupportsAdvancedLevels
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:419,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:421,1
    - Dst: GetBestChromaFromHxxx
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:427,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 383
    functionDepth: 4
    functionLinenumber: 383
    functionLinenumberEnd: 430
    functionName: CodecSupportedH264
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - hxxx_helper_get_current_profile_level
    - deviceSupportsAdvancedLevels
    - deviceSupportsAdvancedProfiles
    - msg_Err
    - GetBestChromaFromHxxx
    - msg_Warn
    linkageType: ''
    returnType: bool
    signature: bool CodecSupportedH264(decoder_t *p_dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h264_poc_context_init
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 437
    functionName: CodecFlushH264
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - h264_poc_context_init
    linkageType: ''
    returnType: void
    signature: void CodecFlushH264(decoder_t *p_dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_helper_has_config
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 444
    functionName: LateStartH264
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - hxxx_helper_has_config
    linkageType: ''
    returnType: bool
    signature: bool LateStartH264(decoder_t *p_dec)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_helper_get_colorimetry
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:457,1
    - Dst: hxxx_helper_get_current_picture_size
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:474,1
    - Dst: vlc_align
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:482,1
    - Dst: vlc_align
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:484,1
    - Dst: hxxx_helper_get_current_sar
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:493,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 446
    functionDepth: 3
    functionLinenumber: 446
    functionLinenumberEnd: 501
    functionName: ConfigureVoutH264
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - vlc_align
    - hxxx_helper_get_current_sar
    - hxxx_helper_get_current_picture_size
    - hxxx_helper_get_colorimetry
    linkageType: ''
    returnType: bool
    signature: bool ConfigureVoutH264(decoder_t *p_dec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_helper_get_current_picture_size
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:513,1
    - Dst: hxxx_helper_get_current_sar
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:516,1
    - Dst: CreateSessionDescriptionFormat
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:522,1
    - Dst: CMVideoFormatDescriptionCreate
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:527,1
    - Dst: VTDecompressionSessionCanAcceptFormatDescription
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:534,1
    - Dst: CFRelease
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:536,1
    - Dst: CFRelease
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:538,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - p_dec
    - session
    argTypes:
    - decoder_t*
    - VTDecompressionSessionRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 503
    functionDepth: 3
    functionLinenumber: 503
    functionLinenumberEnd: 542
    functionName: VideoToolboxNeedsToRestartH264
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - CMVideoFormatDescriptionCreate
    - CFRelease
    - VTDecompressionSessionCanAcceptFormatDescription
    - hxxx_helper_get_current_picture_size
    - hxxx_helper_get_current_sar
    - CreateSessionDescriptionFormat
    linkageType: ''
    returnType: bool
    signature: "bool VideoToolboxNeedsToRestartH264(decoder_t *p_dec,\n                                           VTDecompressionSessionRef
      session)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_helper_clean
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:555,1
    - Dst: free
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_codec_context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 552
    functionDepth: 2
    functionLinenumber: 552
    functionLinenumberEnd: 557
    functionName: CleanHEVC
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - free
    - hxxx_helper_clean
    linkageType: ''
    returnType: void
    signature: void CleanHEVC(void *p_codec_context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:562,1
    - Dst: hevc_poc_cxt_init
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:565,1
    - Dst: hxxx_helper_init
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:566,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:566,1
    - Dst: hxxx_helper_set_extra
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:568,1
    - Dst: CleanHEVC
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 559
    functionDepth: 6
    functionLinenumber: 559
    functionLinenumberEnd: 576
    functionName: InitHEVC
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - hxxx_helper_set_extra
    - hevc_poc_cxt_init
    - CleanHEVC
    - VLC_OBJECT
    - malloc
    - hxxx_helper_init
    linkageType: ''
    returnType: bool
    signature: bool InitHEVC(decoder_t *p_dec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hevc_get_pps_sps_id
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:593,1
    - Dst: hevc_get_sps_vps_id
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - i_id
    - priv
    - pp_pps
    - pp_sps
    - pp_vps
    argTypes:
    - uint8_t
    - void*
    - hevc_picture_parameter_set_t**
    - hevc_sequence_parameter_set_t**
    - hevc_video_parameter_set_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 603
    functionName: GetxPSHEVC
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - hevc_get_sps_vps_id
    - hevc_get_pps_sps_id
    linkageType: ''
    returnType: void
    signature: "void GetxPSHEVC(uint8_t i_id, void *priv,\n                       hevc_picture_parameter_set_t
      **pp_pps,\n                       hevc_sequence_parameter_set_t **pp_sps,\n
      \                      hevc_video_parameter_set_t **pp_vps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:616,1
    - Dst: hevc_decode_sei_pic_timing
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:617,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - p_sei_data
    - priv
    argTypes:
    - hxxx_sei_data_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 611
    functionDepth: 2
    functionLinenumber: 611
    functionLinenumberEnd: 621
    functionName: ParseHEVCSEI
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - hevc_decode_sei_pic_timing
    - likely
    linkageType: ''
    returnType: bool
    signature: bool ParseHEVCSEI(const hxxx_sei_data_t *p_sei_data, void *priv)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_iterator_init
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:629,1
    - Dst: hxxx_iterate_next
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:640,1
    - Dst: hevc_getNALLayer
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:642,1
    - Dst: hevc_getNALType
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:645,1
    - Dst: hevc_decode_slice_header
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:649,1
    - Dst: hevc_get_slice_type
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:655,1
    - Dst: hevc_get_IRAPNoRaslOutputFlag
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:662,1
    - Dst: hevc_get_slice_no_output_of_prior_pics_flag
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:667,1
    - Dst: GetxPSHEVC
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:673,1
    - Dst: hevc_get_slice_pps_id
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:673,1
    - Dst: hevc_compute_picture_order_count
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:680,1
    - Dst: HxxxParseSEI
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:684,1
    - Dst: hevc_get_num_clock_ts
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:689,1
    - Dst: hevc_get_dpb_values
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:690,1
    - Dst: hevc_frame_is_progressive
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:696,1
    - Dst: hevc_get_frame_rate
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:699,1
    - Dst: hevc_release_sei_pic_timing
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:704,1
    - Dst: hevc_get_slice_pic_output
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:718,1
    - Dst: hevc_rbsp_release_slice_header
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:720,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 51
    argCount: 3
    argNames:
    - p_dec
    - p_block
    - p_info
    argTypes:
    - decoder_t*
    - block_t*
    - frame_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 623
    functionDepth: 3
    functionLinenumber: 623
    functionLinenumberEnd: 734
    functionName: FillReorderInfoHEVC
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - hevc_compute_picture_order_count
    - HxxxParseSEI
    - hevc_get_frame_rate
    - hevc_release_sei_pic_timing
    - hevc_rbsp_release_slice_header
    - hevc_get_slice_no_output_of_prior_pics_flag
    - hxxx_iterate_next
    - hevc_get_slice_type
    - hevc_getNALType
    - hevc_get_num_clock_ts
    - hevc_frame_is_progressive
    - GetxPSHEVC
    - hevc_decode_slice_header
    - hxxx_iterator_init
    - hevc_get_IRAPNoRaslOutputFlag
    - hevc_get_slice_pps_id
    - hevc_get_slice_pic_output
    - hevc_getNALLayer
    - hevc_get_dpb_values
    linkageType: ''
    returnType: bool
    signature: "bool FillReorderInfoHEVC(decoder_t *p_dec, const block_t *p_block,\n
      \                               frame_info_t *p_info)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ExtradataInfoCreate
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:745,1
    - Dst: CFSTR
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:745,1
    - Dst: hxxx_helper_has_config
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:749,1
    - Dst: hxxx_helper_get_extradata_block
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:752,1
    - Dst: ExtradataInfoCreate
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:755,1
    - Dst: CFSTR
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:755,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:758,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 736
    functionDepth: 6
    functionLinenumber: 736
    functionLinenumberEnd: 762
    functionName: CopyDecoderExtradataHEVC
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - block_Release
    - ExtradataInfoCreate
    - CFSTR
    - hxxx_helper_get_extradata_block
    - hxxx_helper_has_config
    linkageType: ''
    returnType: CFDictionaryRef
    signature: CFDictionaryRef CopyDecoderExtradataHEVC(decoder_t *p_dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_helper_has_config
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 769
    functionName: LateStartHEVC
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - hxxx_helper_has_config
    linkageType: ''
    returnType: bool
    signature: bool LateStartHEVC(decoder_t *p_dec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetBestChromaFromHxxx
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:776,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 771
    functionDepth: 4
    functionLinenumber: 771
    functionLinenumberEnd: 778
    functionName: CodecSupportedHEVC
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - GetBestChromaFromHxxx
    linkageType: ''
    returnType: bool
    signature: bool CodecSupportedHEVC(decoder_t *p_dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hevc_poc_cxt_init
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 785
    functionName: CodecFlushHEVC
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - hevc_poc_cxt_init
    linkageType: ''
    returnType: void
    signature: void CodecFlushHEVC(decoder_t *p_dec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ESDSExtradataInfoCreate
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:794,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 798
    functionName: CopyDecoderExtradataMPEG4
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - ESDSExtradataInfoCreate
    linkageType: ''
    returnType: CFDictionaryRef
    signature: CFDictionaryRef CopyDecoderExtradataMPEG4(decoder_t *p_dec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DPBOutputFrame
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:808,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:813,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:815,1
    - Dst: RemoveDPBSlot
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:817,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - p_dec
    - flush
    argTypes:
    - decoder_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 802
    functionDepth: 1
    functionLinenumber: 802
    functionLinenumberEnd: 819
    functionName: DrainDPBLocked
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - picture_Release
    - decoder_QueueVideo
    - DPBOutputFrame
    - RemoveDPBSlot
    linkageType: ''
    returnType: void
    signature: void DrainDPBLocked(decoder_t *p_dec, bool flush)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:824,1
    - Dst: decoder_sys_t*::pf_fill_reorder_info
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:836,1
    - Dst: free
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:838,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 869
    functionName: CreateReorderInfo
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - calloc
    - free
    - decoder_sys_t*::pf_fill_reorder_info
    linkageType: ''
    returnType: frame_info_t
    signature: frame_info_t * CreateReorderInfo(decoder_t *p_dec, const block_t *p_block)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pic_pacer_UpdateMaxBuffering
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:879,1
    - Dst: pic_pacer_UpdateMaxBuffering
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:891,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:892,1
    - Dst: pic_pacer_UpdateMaxBuffering
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:900,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:901,1
    - Dst: DPBOutputAndRemoval
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:905,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:911,1
    - Dst: InsertIntoDPB
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:914,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 2
    argNames:
    - p_dec
    - p_info
    argTypes:
    - decoder_t*
    - frame_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 915
    functionName: OnDecodedFrame
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - InsertIntoDPB
    - DPBOutputAndRemoval
    - decoder_QueueVideo
    - msg_Dbg
    - pic_pacer_UpdateMaxBuffering
    linkageType: ''
    returnType: void
    signature: void OnDecodedFrame(decoder_t *p_dec, frame_info_t *p_info)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: deviceSupportsHEVC
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:925,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:927,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:934,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:945,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:946,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:947,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:950,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:953,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:956,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:966,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:967,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:968,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:971,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:972,1
    - Dst: VLC_FOURCC
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:973,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:974,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:990,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:995,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 54
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 996
    functionName: CodecPrecheck
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - VLC_FOURCC
    - vlc_assert_unreachable
    - deviceSupportsHEVC
    - msg_Err
    - msg_Dbg
    - msg_Warn
    linkageType: ''
    returnType: CMVideoCodecType
    signature: CMVideoCodecType CodecPrecheck(decoder_t *p_dec)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cvpx_map_YCbCrMatrix_from_vcs
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1012,1
    - Dst: CFDictionarySetValue
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1014,1
    - Dst: cvpx_map_ColorPrimaries_from_vcp
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1021,1
    - Dst: CFDictionarySetValue
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1023,1
    - Dst: cvpx_map_TransferFunction_from_vtf
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1031,1
    - Dst: CFDictionarySetValue
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1033,1
    - Dst: cfdict_set_int32
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1045,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - decoderConfiguration
    - video_fmt
    argTypes:
    - CFMutableDictionaryRef
    - video_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 998
    functionDepth: 2
    functionLinenumber: 998
    functionLinenumberEnd: 1051
    functionName: SetDecoderColorProperties
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - cfdict_set_int32
    - cvpx_map_TransferFunction_from_vtf
    - cvpx_map_ColorPrimaries_from_vcp
    - CFDictionarySetValue
    - cvpx_map_YCbCrMatrix_from_vcs
    linkageType: ''
    returnType: void
    signature: "void SetDecoderColorProperties(CFMutableDictionaryRef decoderConfiguration,\n
      \                         const video_format_t *video_fmt)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cfdict_create
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1059,1
    - Dst: decoder_sys_t*::pf_copy_extradata
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1064,1
    - Dst: CFDictionarySetValue
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1068,1
    - Dst: CFRelease
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1071,1
    - Dst: CFDictionarySetValue
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1074,1
    - Dst: CFDictionarySetValue
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1077,1
    - Dst: cfdict_create
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1084,1
    - Dst: CFRelease
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1087,1
    - Dst: cfdict_set_int32
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1091,1
    - Dst: cfdict_set_int32
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1094,1
    - Dst: CFDictionarySetValue
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1097,1
    - Dst: CFRelease
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1100,1
    - Dst: video_format_AdjustColorSpace
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1103,1
    - Dst: SetDecoderColorProperties
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1105,1
    - Dst: CFDictionarySetValue
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1111,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1117,1
    - Dst: CFDictionarySetValue
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - p_dec
    - i_sar_num
    - i_sar_den
    argTypes:
    - decoder_t*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1053
    functionDepth: 3
    functionLinenumber: 1053
    functionLinenumberEnd: 1124
    functionName: CreateSessionDescriptionFormat
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 1
    functionsReached:
    - CFRelease
    - cfdict_set_int32
    - decoder_sys_t*::pf_copy_extradata
    - var_InheritBool
    - SetDecoderColorProperties
    - cfdict_create
    - CFDictionarySetValue
    - video_format_AdjustColorSpace
    linkageType: ''
    returnType: CFMutableDictionaryRef
    signature: "CFMutableDictionaryRef CreateSessionDescriptionFormat(decoder_t *p_dec,\n
      \                                                            unsigned i_sar_num,\n
      \                                                            unsigned i_sar_den)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: decoder_sys_t*::pf_late_start
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1135,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1137,1
    - Dst: ConfigureVout
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1142,1
    - Dst: cfdict_create
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1146,1
    - Dst: CreateSessionDescriptionFormat
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1151,1
    - Dst: CMVideoFormatDescriptionCreate
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1158,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1167,1
    - Dst: CFDictionarySetValue
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1171,1
    - Dst: CFDictionarySetValue
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1175,1
    - Dst: CFDictionarySetValue
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1179,1
    - Dst: cfdict_set_int32
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1184,1
    - Dst: cfdict_set_int32
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1186,1
    - Dst: htonl
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1191,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1192,1
    - Dst: cfdict_set_int32
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1194,1
    - Dst: cfdict_set_int32
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1199,1
    - Dst: VTDecompressionSessionCreate
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1208,1
    - Dst: CFRelease
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1213,1
    - Dst: CFRelease
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1214,1
    - Dst: HandleVTStatus
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1216,1
    - Dst: CFRelease
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1223,1
    - Dst: CFRelease
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1226,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts:
    - condition: (p_sys->session == NULL)
      pos:
        line_end: 1136
        line_start: 1136
        source_file: /src/vlc/modules/codec/videotoolbox/decoder.c
    constantsTouched: []
    func_position:
      end: 1229
      start: 1126
    functionDepth: 4
    functionLinenumber: 1126
    functionLinenumberEnd: 1229
    functionName: StartVideoToolbox
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - CMVideoFormatDescriptionCreate
    - decoder_sys_t*::pf_late_start
    - assert
    - CFRelease
    - cfdict_set_int32
    - htonl
    - VTDecompressionSessionCreate
    - msg_Err
    - cfdict_create
    - CFDictionarySetValue
    - msg_Warn
    - CreateSessionDescriptionFormat
    - ConfigureVout
    - HandleVTStatus
    linkageType: ''
    returnType: int
    signature: int StartVideoToolbox(decoder_t *p_dec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Drain
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1237,1
    - Dst: VTDecompressionSessionInvalidate
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1239,1
    - Dst: CFRelease
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1240,1
    - Dst: CFRelease
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1252
    functionName: StopVideoToolbox
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - CFRelease
    - Drain
    - VTDecompressionSessionInvalidate
    linkageType: ''
    returnType: void
    signature: void StopVideoToolbox(decoder_t *p_dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pic_pacer_Clean
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1256
    functionDepth: 1
    functionLinenumber: 1256
    functionLinenumberEnd: 1259
    functionName: pic_pacer_Destroy
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - pic_pacer_Clean
    linkageType: ''
    returnType: void
    signature: void pic_pacer_Destroy(void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decoder_GetDecoderDevice
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1266,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1269,1
    - Dst: vlc_video_context_CreateCVPX
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1278,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1281,1
    - Dst: vlc_video_context_GetCVPXPrivate
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1290,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1292,1
    - Dst: pic_pacer_Init
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts:
    - condition: (p_sys->pic_pacer)
      pos:
        line_end: 1291
        line_start: 1291
        source_file: /src/vlc/modules/codec/videotoolbox/decoder.c
    constantsTouched: []
    func_position:
      end: 1297
      start: 1261
    functionDepth: 2
    functionLinenumber: 1261
    functionLinenumberEnd: 1297
    functionName: CreateVideoContext
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 6
    functionsReached:
    - vlc_video_context_CreateCVPX
    - decoder_GetDecoderDevice
    - assert
    - vlc_decoder_device_Release
    - pic_pacer_Init
    - msg_Warn
    - vlc_video_context_GetCVPXPrivate
    linkageType: ''
    returnType: int
    signature: int CreateVideoContext(decoder_t *p_dec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StopVideoToolbox
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1304,1
    - Dst: decoder_sys_t*::pf_codec_clean
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1307,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1309,1
    - Dst: free
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1299
    functionDepth: 1
    functionLinenumber: 1299
    functionLinenumberEnd: 1312
    functionName: CloseDecoder
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 4
    functionsReached:
    - free
    - decoder_sys_t*::pf_codec_clean
    - StopVideoToolbox
    - vlc_video_context_Release
    linkageType: ''
    returnType: void
    signature: void CloseDecoder(vlc_object_t *p_this)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: var_Type
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1320,1
    - Dst: CodecPrecheck
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1326,1
    - Dst: calloc
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1333,1
    - Dst: date_Init
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1346,1
    - Dst: var_InheritString
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1349,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1352,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1354,1
    - Dst: free
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1355,1
    - Dst: free
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1356,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1359,1
    - Dst: ntohl
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1360,1
    - Dst: free
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1362,1
    - Dst: CreateVideoContext
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1374,1
    - Dst: free
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1377,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1381,1
    - Dst: decoder_sys_t*::pf_codec_init
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1431,1
    - Dst: CloseDecoder
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1434,1
    - Dst: decoder_sys_t*::pf_codec_supported
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1437,1
    - Dst: CloseDecoder
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1439,1
    - Dst: StartVideoToolbox
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1443,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1445,1
    - Dst: msg_Info
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1446,1
    - Dst: CloseDecoder
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1449,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 101
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1314
    functionDepth: 5
    functionLinenumber: 1314
    functionLinenumberEnd: 1453
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - var_InheritString
    - ntohl
    - strlen
    - vlc_mutex_init
    - date_Init
    - memcpy
    - decoder_sys_t*::pf_codec_init
    - msg_Err
    - calloc
    - free
    - CreateVideoContext
    - date_Set
    - msg_Info
    - decoder_sys_t*::pf_codec_supported
    - CloseDecoder
    - CodecPrecheck
    - var_Type
    - StartVideoToolbox
    linkageType: ''
    returnType: int
    signature: int OpenDecoder(vlc_object_t *p_this)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_available
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1459,1
    - Dst: VTIsHardwareDecodeSupported
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1457
    functionDepth: 0
    functionLinenumber: 1457
    functionLinenumberEnd: 1463
    functionName: deviceSupportsHEVC
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 2
    functionsReached:
    - VTIsHardwareDecodeSupported
    - __builtin_available
    linkageType: ''
    returnType: Boolean
    signature: Boolean deviceSupportsHEVC()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cvpx_system_has_metal_device
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1465
    functionDepth: 0
    functionLinenumber: 1465
    functionLinenumberEnd: 1474
    functionName: deviceSupports42010bitRendering
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 1
    functionsReached:
    - cvpx_system_has_metal_device
    linkageType: ''
    returnType: bool
    signature: bool deviceSupports42010bitRendering()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sysctlbyname
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1476
    functionDepth: 0
    functionLinenumber: 1476
    functionLinenumberEnd: 1491
    functionName: deviceSupportsAdvancedProfiles
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 1
    functionsReached:
    - sysctlbyname
    linkageType: ''
    returnType: Boolean
    signature: Boolean deviceSupportsAdvancedProfiles()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sysctlbyname
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1493
    functionDepth: 0
    functionLinenumber: 1493
    functionLinenumberEnd: 1516
    functionName: deviceSupportsAdvancedLevels
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 1
    functionsReached:
    - sysctlbyname
    linkageType: ''
    returnType: Boolean
    signature: Boolean deviceSupportsAdvancedLevels()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bo_add_8
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1520,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1522,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - p_bo
    - tag
    - size
    argTypes:
    - bo_t*
    - uint8_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1518
    functionDepth: 1
    functionLinenumber: 1518
    functionLinenumberEnd: 1524
    functionName: bo_add_mp4_tag_descr
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 1
    functionsReached:
    - bo_add_8
    linkageType: ''
    returnType: void
    signature: void bo_add_mp4_tag_descr(bo_t *p_bo, uint8_t tag, uint32_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1530,1
    - Dst: bo_init
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1535,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1539,1
    - Dst: bo_add_24be
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1540,1
    - Dst: bo_add_mp4_tag_descr
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1543,1
    - Dst: bo_add_16be
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1544,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1545,1
    - Dst: bo_add_mp4_tag_descr
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1548,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1549,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1550,1
    - Dst: bo_add_24be
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1551,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1552,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1553,1
    - Dst: bo_add_mp4_tag_descr
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1556,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1557,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1560,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1561,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1562,1
    - Dst: ExtradataInfoCreate
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1565,1
    - Dst: CFSTR
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1565,1
    - Dst: bo_deinit
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 3
    argNames:
    - p_dec
    - p_buf
    - i_buf_size
    argTypes:
    - decoder_t*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1568
      start: 1526
    functionDepth: 2
    functionLinenumber: 1526
    functionLinenumberEnd: 1568
    functionName: ESDSExtradataInfoCreate
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 1
    functionsReached:
    - bo_init
    - ExtradataInfoCreate
    - bo_add_32be
    - bo_add_mem
    - bo_add_24be
    - bo_add_mp4_tag_descr
    - CFSTR
    - bo_add_8
    - bo_deinit
    - bo_add_16be
    - VLC_UNUSED
    linkageType: ''
    returnType: CFDictionaryRef
    signature: "CFDictionaryRef ESDSExtradataInfoCreate(decoder_t *p_dec,\n                                               uint8_t
      *p_buf,\n                                               uint32_t i_buf_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decoder_sys_t*::pf_configure_vout
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1577,1
    - Dst: vlc_align
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1586,1
    - Dst: vlc_align
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1587,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1590
      start: 1570
    functionDepth: 1
    functionLinenumber: 1570
    functionLinenumberEnd: 1590
    functionName: ConfigureVout
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 1
    functionsReached:
    - vlc_align
    - decoder_sys_t*::pf_configure_vout
    linkageType: ''
    returnType: int
    signature: int ConfigureVout(decoder_t *p_dec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CFDataCreate
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1598,1
    - Dst: CFDictionaryCreate
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1602,1
    - Dst: CFRelease
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1609,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - name
    - p_data
    - i_data
    argTypes:
    - CFStringRef
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1611
      start: 1592
    functionDepth: 0
    functionLinenumber: 1592
    functionLinenumberEnd: 1611
    functionName: ExtradataInfoCreate
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 4
    functionsReached:
    - CFRelease
    - CFDictionaryCreate
    - CFDataCreate
    linkageType: ''
    returnType: CFDictionaryRef
    signature: "CFDictionaryRef ExtradataInfoCreate(CFStringRef name,\n                                                  void
      *p_data, size_t i_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CMTimeMake
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1623,1
    - Dst: CMTimeMake
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1625,1
    - Dst: CMTimeMake
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1628,1
    - Dst: CMTimeMake
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1630,1
    - Dst: CMBlockBufferCreateWithMemoryBlock
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1633,1
    - Dst: CMSampleBufferCreate
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1644,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1657,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1659,1
    - Dst: CFRelease
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1662,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - p_dec
    - fmt_desc
    - p_block
    argTypes:
    - decoder_t*
    - CMFormatDescriptionRef
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1613
    functionDepth: 1
    functionLinenumber: 1613
    functionLinenumberEnd: 1666
    functionName: VTSampleBufferCreate
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - CFRelease
    - CMBlockBufferCreateWithMemoryBlock
    - CMSampleBufferCreate
    - msg_Warn
    - CMTimeMake
    linkageType: ''
    returnType: CMSampleBufferRef
    signature: "CMSampleBufferRef VTSampleBufferCreate(decoder_t *p_dec,\n                                              CMFormatDescriptionRef
      fmt_desc,\n                                              block_t *p_block)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: VTERRCASE
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1691,1
    - Dst: VTERRCASE
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1692,1
    - Dst: VTERRCASE
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1693,1
    - Dst: VTERRCASE
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1694,1
    - Dst: VTERRCASE
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1695,1
    - Dst: VTERRCASE
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1696,1
    - Dst: VTERRCASE
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1697,1
    - Dst: VTERRCASE
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1698,1
    - Dst: VTERRCASE
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1699,1
    - Dst: VTERRCASE
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1700,1
    - Dst: VTERRCASE
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1701,1
    - Dst: VTERRCASE
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1702,1
    - Dst: VTERRCASE
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1703,1
    - Dst: VTERRCASE
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1704,1
    - Dst: VTERRCASE
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1705,1
    - Dst: VTERRCASE
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1706,1
    - Dst: VTERRCASE
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1707,1
    - Dst: VTERRCASE
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1708,1
    - Dst: VTERRCASE
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1709,1
    - Dst: VTERRCASE
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1710,1
    - Dst: VTERRCASE
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1711,1
    - Dst: VTERRCASE
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1712,1
    - Dst: VTERRCASE
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1713,1
    - Dst: VTERRCASE
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1714,1
    - Dst: VTERRCASE
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1715,1
    - Dst: VTERRCASE
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1716,1
    - Dst: VTERRCASE
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1717,1
    - Dst: VTERRCASE
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1718,1
    - Dst: VTERRCASE
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1719,1
    - Dst: VTERRCASE
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1720,1
    - Dst: VTERRCASE
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1721,1
    - Dst: VTERRCASE_LEGACY
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1724,1
    - Dst: VTERRCASE_LEGACY
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1725,1
    - Dst: VTERRCASE_LEGACY
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1726,1
    - Dst: VTERRCASE_LEGACY
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1727,1
    - Dst: VTERRCASE_LEGACY
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1728,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1730,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 65
    argCount: 3
    argNames:
    - p_dec
    - status
    - p_vtsession_status
    argTypes:
    - decoder_t*
    - OSStatus
    - enum vtsession_status*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1677
    functionDepth: 1
    functionLinenumber: 1677
    functionLinenumberEnd: 1759
    functionName: HandleVTStatus
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 1
    functionsReached:
    - VTERRCASE_LEGACY
    - VTERRCASE
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: "int HandleVTStatus(decoder_t *p_dec, OSStatus status,\n                          enum
      vtsession_status * p_vtsession_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1680
    functionDepth: 0
    functionLinenumber: 1680
    functionLinenumberEnd: 1682
    functionName: VTERRCASE
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTERRCASE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - code
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1683
    functionDepth: 0
    functionLinenumber: 1683
    functionLinenumberEnd: 1685
    functionName: VTERRCASE_LEGACY
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTERRCASE_LEGACY(code, name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Drain
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1766,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1767,1
    - Dst: decoder_sys_t*::pf_codec_flush
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1770
      start: 1763
    functionDepth: 1
    functionLinenumber: 1763
    functionLinenumberEnd: 1770
    functionName: RequestFlush
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 1
    functionsReached:
    - date_Set
    - Drain
    - decoder_sys_t*::pf_codec_flush
    linkageType: ''
    returnType: void
    signature: void RequestFlush(decoder_t *p_dec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1777,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1779,1
    - Dst: VTDecompressionSessionWaitForAsynchronousFrames
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1782,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1784,1
    - Dst: DrainDPBLocked
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1785,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1786,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1787,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1790,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - p_dec
    - flush
    argTypes:
    - decoder_t*
    - bool
    assertStmts:
    - condition: (p_sys->dpb.i_size == 0)
      pos:
        line_end: 1785
        line_start: 1785
        source_file: /src/vlc/modules/codec/videotoolbox/decoder.c
    - condition: (p_sys->dpb.p_entries == NULL)
      pos:
        line_end: 1786
        line_start: 1786
        source_file: /src/vlc/modules/codec/videotoolbox/decoder.c
    constantsTouched: []
    func_position:
      end: 1791
      start: 1772
    functionDepth: 2
    functionLinenumber: 1772
    functionLinenumberEnd: 1791
    functionName: Drain
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 9
    functionsReached:
    - assert
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - VTDecompressionSessionWaitForAsynchronousFrames
    - DrainDPBLocked
    linkageType: ''
    returnType: void
    signature: void Drain(decoder_t *p_dec, bool flush)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: Drain
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1799,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1803,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1808,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1820,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1823,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1824,1
    - Dst: Drain
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1827,1
    - Dst: StopVideoToolbox
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1828,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1830,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1857,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1858,1
    - Dst: StopVideoToolbox
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1861,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1863,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1868,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1875,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1877,1
    - Dst: var_Create
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1880,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1885,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1889,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1891,1
    - Dst: Drain
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1895,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1896,1
    - Dst: decoder_sys_t*::pf_process_block
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1904,1
    - Dst: CreateReorderInfo
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1909,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1910,1
    - Dst: decoder_sys_t*::pf_need_restart
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1918,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1920,1
    - Dst: Drain
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1921,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1922,1
    - Dst: StopVideoToolbox
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1923,1
    - Dst: decoder_sys_t*::pf_codec_supported
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1928,1
    - Dst: StartVideoToolbox
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1929,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1932,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1934,1
    - Dst: free
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1940,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1949,1
    - Dst: free
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1950,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1959,1
    - Dst: free
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1960,1
    - Dst: VTSampleBufferCreate
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1967,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1968,1
    - Dst: free
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1970,1
    - Dst: pic_pacer_WaitAllocatableSlot
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1974,1
    - Dst: VTDecompressionSessionDecodeFrame
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1980,1
    - Dst: HandleVTStatus
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1984,1
    - Dst: pic_pacer_AccountScheduledDecode
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1986,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1990,1
    - Dst: Drain
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1994,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:1998,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2000,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2004,1
    - Dst: CFRelease
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2006,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2009,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 133
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2011
      start: 1793
    functionDepth: 5
    functionLinenumber: 1793
    functionLinenumberEnd: 2011
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 20
    functionsReached:
    - VTSampleBufferCreate
    - CreateReorderInfo
    - pic_pacer_AccountScheduledDecode
    - decoder_sys_t*::pf_need_restart
    - decoder_sys_t*::pf_process_block
    - CFRelease
    - vlc_mutex_lock
    - var_Create
    - VTDecompressionSessionDecodeFrame
    - msg_Err
    - StopVideoToolbox
    - msg_Dbg
    - decoder_sys_t*::pf_codec_supported
    - msg_Warn
    - date_Set
    - pic_pacer_WaitAllocatableSlot
    - HandleVTStatus
    - Drain
    - block_Release
    - vlc_mutex_unlock
    - free
    - unlikely
    - StartVideoToolbox
    linkageType: ''
    returnType: int
    signature: int DecodeBlock(decoder_t *p_dec, block_t *p_block)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: CVBufferGetAttachments
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2017,1
    - Dst: CFDictionaryGetCount
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2019,1
    - Dst: CFDictionaryGetValue
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2023,1
    - Dst: CFEqual
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2025,1
    - Dst: CFEqual
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2026,1
    - Dst: CFEqual
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2028,1
    - Dst: CFEqual
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2030,1
    - Dst: CFEqual
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2032,1
    - Dst: CFDictionaryGetValue
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2039,1
    - Dst: CFEqual
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2041,1
    - Dst: CFEqual
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2043,1
    - Dst: CVPixelBufferGetPixelFormatType
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2050,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2051,1
    - Dst: htonl
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2052,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2058,1
    - Dst: CVPixelBufferIsPlanar
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2058,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2063,1
    - Dst: CVPixelBufferIsPlanar
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2063,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2068,1
    - Dst: CVPixelBufferIsPlanar
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2068,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2072,1
    - Dst: CVPixelBufferIsPlanar
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2072,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2076,1
    - Dst: CVPixelBufferIsPlanar
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2076,1
    - Dst: decoder_UpdateVideoOutput
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2083,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 2
    argNames:
    - p_dec
    - imageBuffer
    argTypes:
    - decoder_t*
    - CVPixelBufferRef
    assertStmts:
    - condition: (CVPixelBufferIsPlanar(imageBuffer) == true)
      pos:
        line_end: 2062
        line_start: 2062
        source_file: /src/vlc/modules/codec/videotoolbox/decoder.c
    - condition: (CVPixelBufferIsPlanar(imageBuffer) == false)
      pos:
        line_end: 2057
        line_start: 2057
        source_file: /src/vlc/modules/codec/videotoolbox/decoder.c
    - condition: (CVPixelBufferIsPlanar(imageBuffer) == false)
      pos:
        line_end: 2075
        line_start: 2075
        source_file: /src/vlc/modules/codec/videotoolbox/decoder.c
    - condition: (CVPixelBufferIsPlanar(imageBuffer) == true)
      pos:
        line_end: 2071
        line_start: 2071
        source_file: /src/vlc/modules/codec/videotoolbox/decoder.c
    - condition: (CVPixelBufferIsPlanar(imageBuffer) == true)
      pos:
        line_end: 2067
        line_start: 2067
        source_file: /src/vlc/modules/codec/videotoolbox/decoder.c
    constantsTouched: []
    func_position:
      end: 2089
      start: 2013
    functionDepth: 1
    functionLinenumber: 2013
    functionLinenumberEnd: 2089
    functionName: UpdateVideoFormat
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 20
    functionsReached:
    - assert
    - CFDictionaryGetValue
    - CVPixelBufferIsPlanar
    - htonl
    - CFDictionaryGetCount
    - decoder_UpdateVideoOutput
    - CFEqual
    - CVPixelBufferGetPixelFormatType
    - msg_Dbg
    - CVBufferGetAttachments
    linkageType: ''
    returnType: int
    signature: int UpdateVideoFormat(decoder_t *p_dec, CVPixelBufferRef imageBuffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_video_context_GetCVPXPrivate
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2095,1
    - Dst: pic_pacer_AccountDeallocation
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vctx
    - nb_fields
    argTypes:
    - vlc_video_context*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2098
      start: 2091
    functionDepth: 2
    functionLinenumber: 2091
    functionLinenumberEnd: 2098
    functionName: video_context_OnPicReleased
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - vlc_video_context_GetCVPXPrivate
    - pic_pacer_AccountDeallocation
    linkageType: ''
    returnType: void
    signature: void video_context_OnPicReleased(vlc_video_context *vctx, unsigned
      nb_fields)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2108,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2114,1
    - Dst: HandleVTStatus
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2119,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2128,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2130,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2133,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2141,1
    - Dst: UpdateVideoFormat
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2143,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2147,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2153,1
    - Dst: CMTIME_IS_VALID
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2156,1
    - Dst: CVPixelBufferGetDataSize
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2159,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2162,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2168,1
    - Dst: decoder_NewPicture
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2170,1
    - Dst: cvpxpic_attach
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2183,1
    - Dst: pic_pacer_AccountAllocation
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2191,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2195,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2198,1
    - Dst: OnDecodedFrame
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2202,1
    - Dst: free
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2206,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2207,1
    - Dst: pic_pacer_AccountFinishedDecode
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2208,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 70
    argCount: 7
    argNames:
    - decompressionOutputRefCon
    - sourceFrameRefCon
    - status
    - infoFlags
    - imageBuffer
    - pts
    - duration
    argTypes:
    - void*
    - void*
    - OSStatus
    - VTDecodeInfoFlags
    - CVPixelBufferRef
    - CMTime
    - CMTime
    assertStmts:
    - condition: (p_dec->fmt_out.i_codec != 0)
      pos:
        line_end: 2146
        line_start: 2146
        source_file: /src/vlc/modules/codec/videotoolbox/decoder.c
    constantsTouched: []
    func_position:
      end: 2210
      start: 2100
    functionDepth: 3
    functionLinenumber: 2100
    functionLinenumberEnd: 2210
    functionName: DecoderCallback
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - CMTIME_IS_VALID
    - assert
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - decoder_NewPicture
    - OnDecodedFrame
    - msg_Err
    - CVPixelBufferGetDataSize
    - picture_Release
    - free
    - pic_pacer_AccountFinishedDecode
    - msg_Dbg
    - pic_pacer_AccountAllocation
    - UpdateVideoFormat
    - HandleVTStatus
    - unlikely
    - cvpxpic_attach
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void DecoderCallback(void *decompressionOutputRefCon,\n                            void
      *sourceFrameRefCon,\n                            OSStatus status,\n                            VTDecodeInfoFlags
      infoFlags,\n                            CVPixelBufferRef imageBuffer,\n                            CMTime
      pts,\n                            CMTime duration)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/videotoolbox/decoder.c:2215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - device
    - window
    argTypes:
    - vlc_decoder_device*
    - vlc_window_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2224
      start: 2212
    functionDepth: 1
    functionLinenumber: 2212
    functionLinenumberEnd: 2224
    functionName: OpenDecDevice
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/decoder.c
    functionUses: 0
    functionsReached:
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int OpenDecDevice(vlc_decoder_device *device, vlc_window_t *window)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pic_pacer
    argTypes:
    - struct pic_pacer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: pic_pacer_Clean
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/pacer.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pic_pacer_Clean(struct pic_pacer *pic_pacer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/codec/videotoolbox/pacer.c:42,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/codec/videotoolbox/pacer.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - pic_pacer
    argTypes:
    - struct pic_pacer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: pic_pacer_Init
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/pacer.c
    functionUses: 1
    functionsReached:
    - vlc_cond_init
    - vlc_mutex_init
    linkageType: ''
    returnType: void
    signature: void pic_pacer_Init(struct pic_pacer *pic_pacer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/videotoolbox/pacer.c:52,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/videotoolbox/pacer.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pic_pacer
    - b_field
    argTypes:
    - struct pic_pacer*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: pic_pacer_AccountAllocation
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/pacer.c
    functionUses: 1
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void pic_pacer_AccountAllocation(struct pic_pacer *pic_pacer, bool
      b_field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/videotoolbox/pacer.c:59,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/videotoolbox/pacer.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pic_pacer
    - b_field
    argTypes:
    - struct pic_pacer*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: pic_pacer_AccountScheduledDecode
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/pacer.c
    functionUses: 1
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void pic_pacer_AccountScheduledDecode(struct pic_pacer *pic_pacer,
      bool b_field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/videotoolbox/pacer.c:66,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/codec/videotoolbox/pacer.c:68,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/videotoolbox/pacer.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pic_pacer
    - b_field
    argTypes:
    - struct pic_pacer*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: pic_pacer_AccountFinishedDecode
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/pacer.c
    functionUses: 1
    functionsReached:
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void pic_pacer_AccountFinishedDecode(struct pic_pacer *pic_pacer, bool
      b_field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/videotoolbox/pacer.c:74,1
    - Dst: fprintf
      Src: /src/vlc/modules/codec/videotoolbox/pacer.c:81,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/codec/videotoolbox/pacer.c:84,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/videotoolbox/pacer.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pic_pacer
    - b_field
    argTypes:
    - struct pic_pacer*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: pic_pacer_WaitAllocatableSlot
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/pacer.c
    functionUses: 1
    functionsReached:
    - fprintf
    - vlc_mutex_unlock
    - vlc_cond_wait
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void pic_pacer_WaitAllocatableSlot(struct pic_pacer *pic_pacer, bool
      b_field)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/videotoolbox/pacer.c:93,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/pacer.c:94,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/codec/videotoolbox/pacer.c:102,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/videotoolbox/pacer.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pic_pacer
    - b_field
    argTypes:
    - struct pic_pacer*
    - bool
    assertStmts:
    - condition: (pic_pacer->nb_fields_out > 0)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/vlc/modules/codec/videotoolbox/pacer.c
    constantsTouched: []
    func_position:
      end: 105
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 105
    functionName: pic_pacer_AccountDeallocation
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/pacer.c
    functionUses: 1
    functionsReached:
    - vlc_cond_signal
    - assert
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void pic_pacer_AccountDeallocation(struct pic_pacer *pic_pacer, bool
      b_field)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/videotoolbox/pacer.c:109,1
    - Dst: fprintf
      Src: /src/vlc/modules/codec/videotoolbox/pacer.c:114,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/codec/videotoolbox/pacer.c:121,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/videotoolbox/pacer.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - pic_pacer
    - pic_max
    argTypes:
    - struct pic_pacer*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 129
    functionName: pic_pacer_UpdateMaxBuffering
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/pacer.c
    functionUses: 1
    functionsReached:
    - fprintf
    - vlc_cond_signal
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void pic_pacer_UpdateMaxBuffering(struct pic_pacer *pic_pacer, uint8_t
      pic_max)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb.c:55,1
    - Dst: printf
      Src: /src/vlc/modules/codec/videotoolbox/dpb.c:61,1
    - Dst: printf
      Src: /src/vlc/modules/codec/videotoolbox/dpb.c:62,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - dpb
    - p_info
    argTypes:
    - struct dpb_s*
    - frame_info_t*
    assertStmts:
    - condition: (dpb->i_need_output_size <= dpb->i_stored_fields)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/vlc/modules/codec/videotoolbox/dpb.c
    constantsTouched: []
    func_position:
      end: 64
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 64
    functionName: InsertIntoDPB
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/dpb.c
    functionUses: 2
    functionsReached:
    - printf
    - assert
    linkageType: ''
    returnType: void
    signature: void InsertIntoDPB(struct dpb_s *dpb, frame_info_t *p_info)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb.c:68,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb.c:80,1
    - Dst: struct dpb_s*::pf_release
      Src: /src/vlc/modules/codec/videotoolbox/dpb.c:84,1
    - Dst: free
      Src: /src/vlc/modules/codec/videotoolbox/dpb.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - dpb
    - pp_info
    argTypes:
    - struct dpb_s*
    - frame_info_t**
    assertStmts:
    - condition: (dpb->i_stored_fields >= dpb->i_need_output_size)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/vlc/modules/codec/videotoolbox/dpb.c
    - condition: (dpb->i_need_output_size)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/vlc/modules/codec/videotoolbox/dpb.c
    constantsTouched: []
    func_position:
      end: 87
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 87
    functionName: RemoveDPBSlot
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/dpb.c
    functionUses: 1
    functionsReached:
    - free
    - assert
    - struct dpb_s*::pf_release
    linkageType: ''
    returnType: void
    signature: void RemoveDPBSlot(struct dpb_s *dpb, frame_info_t **pp_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RemoveDPBSlot
      Src: /src/vlc/modules/codec/videotoolbox/dpb.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dpb
    argTypes:
    - struct dpb_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: ReduceDPBSize
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/dpb.c
    functionUses: 0
    functionsReached:
    - RemoveDPBSlot
    linkageType: ''
    returnType: void
    signature: void ReduceDPBSize(struct dpb_s *dpb)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: date_Get
      Src: /src/vlc/modules/codec/videotoolbox/dpb.c:100,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/videotoolbox/dpb.c:102,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/videotoolbox/dpb.c:108,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/videotoolbox/dpb.c:110,1
    - Dst: date_Init
      Src: /src/vlc/modules/codec/videotoolbox/dpb.c:117,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/videotoolbox/dpb.c:119,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/videotoolbox/dpb.c:124,1
    - Dst: date_Increment
      Src: /src/vlc/modules/codec/videotoolbox/dpb.c:126,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb.c:139,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/dpb.c:143,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - dpb
    - ptsdate
    - p_info
    argTypes:
    - struct dpb_s*
    - date_t*
    - frame_info_t*
    assertStmts:
    - condition: (dpb->i_need_output_size)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/vlc/modules/codec/videotoolbox/dpb.c
    - condition: (dpb->i_need_output_size <= dpb->i_stored_fields)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/vlc/modules/codec/videotoolbox/dpb.c
    constantsTouched: []
    func_position:
      end: 146
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 146
    functionName: DPBOutputFrame
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/dpb.c
    functionUses: 1
    functionsReached:
    - assert
    - date_Init
    - date_Set
    - date_Get
    - date_Increment
    linkageType: ''
    returnType: picture_t
    signature: picture_t * DPBOutputFrame(struct dpb_s *dpb, date_t *ptsdate, frame_info_t
      *p_info)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DPBOutputFrame
      Src: /src/vlc/modules/codec/videotoolbox/dpb.c:181,1
    - Dst: ReduceDPBSize
      Src: /src/vlc/modules/codec/videotoolbox/dpb.c:185,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 3
    argNames:
    - dpb
    - ptsdate
    - p_info
    argTypes:
    - struct dpb_s*
    - date_t*
    - frame_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 189
    functionName: BumpDPB
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/dpb.c
    functionUses: 0
    functionsReached:
    - ReduceDPBSize
    - DPBOutputFrame
    linkageType: ''
    returnType: picture_t
    signature: picture_t * BumpDPB(struct dpb_s *dpb, date_t *ptsdate, const frame_info_t
      *p_info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DPBOutputFrame
      Src: /src/vlc/modules/codec/videotoolbox/dpb.c:197,1
    - Dst: ReduceDPBSize
      Src: /src/vlc/modules/codec/videotoolbox/dpb.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dpb
    - ptsdate
    argTypes:
    - struct dpb_s*
    - date_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 191
    functionDepth: 3
    functionLinenumber: 191
    functionLinenumberEnd: 203
    functionName: EmptyDPB
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/dpb.c
    functionUses: 1
    functionsReached:
    - ReduceDPBSize
    - DPBOutputFrame
    linkageType: ''
    returnType: picture_t
    signature: picture_t * EmptyDPB(struct dpb_s *dpb, date_t *ptsdate)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EmptyDPB
      Src: /src/vlc/modules/codec/videotoolbox/dpb.c:224,1
    - Dst: RemoveDPBSlot
      Src: /src/vlc/modules/codec/videotoolbox/dpb.c:232,1
    - Dst: struct dpb_s*::pf_release
      Src: /src/vlc/modules/codec/videotoolbox/dpb.c:242,1
    - Dst: EmptyDPB
      Src: /src/vlc/modules/codec/videotoolbox/dpb.c:247,1
    - Dst: BumpDPB
      Src: /src/vlc/modules/codec/videotoolbox/dpb.c:251,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - dpb
    - ptsdate
    - p_info
    argTypes:
    - struct dpb_s*
    - date_t*
    - frame_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 205
    functionDepth: 4
    functionLinenumber: 205
    functionLinenumberEnd: 255
    functionName: DPBOutputAndRemoval
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/dpb.c
    functionUses: 2
    functionsReached:
    - BumpDPB
    - RemoveDPBSlot
    - EmptyDPB
    - struct dpb_s*::pf_release
    linkageType: ''
    returnType: picture_t
    signature: "picture_t * DPBOutputAndRemoval(struct dpb_s *dpb, date_t *ptsdate,\n
      \                               const frame_info_t *p_info)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: picture_Hold
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:74,1
    - Dst: cvpxpic_get_ref
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:76,1
    - Dst: CMTimeMake
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:77,1
    - Dst: VTCompressionSessionEncodeFrame
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:81,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:89,1
    - Dst: VTCompressionSessionCompleteFrames
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:95,1
    - Dst: vlc_fifo_Lock
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:98,1
    - Dst: vlc_fifo_DequeueAllUnlocked
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:99,1
    - Dst: vlc_fifo_Unlock
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:100,1
    - Dst: CMTimeMake
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:103,1
    - Dst: vlc_fifo_Signal
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - enc
    - pic
    argTypes:
    - encoder_t*
    - picture_t*
    assertStmts:
    - condition: (ret == noErr)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/vlc/modules/codec/videotoolbox/encoder.c
    constantsTouched: []
    func_position:
      end: 108
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 108
    functionName: EncodeCallback
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/encoder.c
    functionUses: 0
    functionsReached:
    - VTCompressionSessionEncodeFrame
    - cvpxpic_get_ref
    - vlc_fifo_Signal
    - assert
    - picture_Hold
    - vlc_fifo_Unlock
    - VTCompressionSessionCompleteFrames
    - vlc_fifo_DequeueAllUnlocked
    - vlc_fifo_Lock
    - CMTimeMake
    linkageType: ''
    returnType: block_t
    signature: block_t *EncodeCallback(encoder_t *enc, picture_t *pic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMTimeConvertScale
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - timestamp
    argTypes:
    - CMTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: vlc_CMTime_to_tick
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/encoder.c
    functionUses: 0
    functionsReached:
    - CMTimeConvertScale
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t vlc_CMTime_to_tick(CMTime timestamp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CMSampleBufferGetPresentationTimeStamp
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:124,1
    - Dst: CMSampleBufferGetDecodeTimeStamp
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:125,1
    - Dst: vlc_CMTime_to_tick
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:127,1
    - Dst: CMTIME_IS_VALID
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:131,1
    - Dst: vlc_CMTime_to_tick
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:132,1
    - Dst: CMSampleBufferGetDataBuffer
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:134,1
    - Dst: CMBlockBufferGetDataLength
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:136,1
    - Dst: CMSampleBufferGetSampleAttachmentsArray
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:140,1
    - Dst: CFArrayGetCount
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:148,1
    - Dst: CFArrayGetValueAtIndex
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:155,1
    - Dst: CFDictionaryGetValueIfPresent
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:158,1
    - Dst: CFBooleanGetValue
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:164,1
    - Dst: CMSampleBufferGetFormatDescription
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:171,1
    - Dst: CMVideoFormatDescriptionGetH264ParameterSetAtIndex
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:179,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:182,1
    - Dst: CMVideoFormatDescriptionGetH264ParameterSetAtIndex
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:184,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:187,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:189,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:190,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:191,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:194,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:198,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:201,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:204,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:207,1
    - Dst: CMBlockBufferGetDataPointer
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:218,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:222,1
    - Dst: hxxx_iterator_init
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:227,1
    - Dst: hxxx_iterate_next
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:230,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:234,1
    - Dst: hxxx_iterator_init
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:236,1
    - Dst: hxxx_iterate_next
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:241,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:243,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:244,1
    - Dst: block_ChainGather
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:255,1
    - Dst: assert
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:256,1
    - Dst: vlc_fifo_QueueUnlocked
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:258,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 57
    argCount: 2
    argNames:
    - enc
    - sampleBuffer
    argTypes:
    - encoder_t*
    - CMSampleBufferRef
    assertStmts:
    - condition: (status == noErr)
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/vlc/modules/codec/videotoolbox/encoder.c
    - condition: (sps != NULL && pps != NULL)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/vlc/modules/codec/videotoolbox/encoder.c
    - condition: (sps_length < (1 << 16))
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/vlc/modules/codec/videotoolbox/encoder.c
    - condition: (pps_length < (1 << 16))
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/vlc/modules/codec/videotoolbox/encoder.c
    - condition: (block != NULL)
      pos:
        line_end: 255
        line_start: 255
        source_file: /src/vlc/modules/codec/videotoolbox/encoder.c
    - condition: (status == noErr)
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/vlc/modules/codec/videotoolbox/encoder.c
    - condition: (status == kCMBlockBufferNoErr)
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/vlc/modules/codec/videotoolbox/encoder.c
    constantsTouched: []
    func_position:
      end: 262
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 262
    functionName: PushBlockUnlocked
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/encoder.c
    functionUses: 0
    functionsReached:
    - assert
    - CMBlockBufferGetDataPointer
    - CFBooleanGetValue
    - CMSampleBufferGetSampleAttachmentsArray
    - memcpy
    - block_Alloc
    - CMSampleBufferGetDataBuffer
    - CMSampleBufferGetDecodeTimeStamp
    - CFArrayGetCount
    - CMVideoFormatDescriptionGetH264ParameterSetAtIndex
    - hxxx_iterate_next
    - block_ChainGather
    - CMTIME_IS_VALID
    - vlc_fifo_QueueUnlocked
    - CMSampleBufferGetPresentationTimeStamp
    - vlc_CMTime_to_tick
    - CMSampleBufferGetFormatDescription
    - hxxx_iterator_init
    - CMBlockBufferGetDataLength
    - CFArrayGetValueAtIndex
    - CFDictionaryGetValueIfPresent
    linkageType: ''
    returnType: int
    signature: int PushBlockUnlocked(encoder_t *enc, CMSampleBufferRef sampleBuffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PushBlockUnlocked
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - sampleBuffer
    - index
    - opaque
    argTypes:
    - CMSampleBufferRef
    - CMItemCount
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 264
    functionDepth: 3
    functionLinenumber: 264
    functionLinenumberEnd: 272
    functionName: PushEachBlockUnlocked
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/encoder.c
    functionUses: 0
    functionsReached:
    - PushBlockUnlocked
    linkageType: ''
    returnType: OSStatus
    signature: "OSStatus PushEachBlockUnlocked(CMSampleBufferRef sampleBuffer,\n        CMItemCount
      index, void *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:278,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:289,1
    - Dst: vlc_fifo_Lock
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:290,1
    - Dst: CMSampleBufferCallForEachSample
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:291,1
    - Dst: vlc_fifo_Unlock
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - cookie
    - sourceFrameRefCon
    - status
    - infoFlags
    - sampleBuffer
    argTypes:
    - void*
    - void*
    - OSStatus
    - VTEncodeInfoFlags
    - CMSampleBufferRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 293
    functionName: EncoderOutputCallback
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/encoder.c
    functionUses: 0
    functionsReached:
    - vlc_fifo_Unlock
    - picture_Release
    - CMSampleBufferCallForEachSample
    - vlc_fifo_Lock
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: "void EncoderOutputCallback(void *cookie,\n    void *sourceFrameRefCon,
      OSStatus status,\n    VTEncodeInfoFlags infoFlags, CMSampleBufferRef sampleBuffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTCompressionSessionCompleteFrames
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:299,1
    - Dst: VTCompressionSessionInvalidate
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:300,1
    - Dst: block_FifoRelease
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:302,1
    - Dst: CFRelease
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 306
    functionName: CloseEncoder
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/encoder.c
    functionUses: 4
    functionsReached:
    - block_FifoRelease
    - CFRelease
    - VTCompressionSessionCompleteFrames
    - VTCompressionSessionInvalidate
    linkageType: ''
    returnType: void
    signature: void CloseEncoder(encoder_t *encoder)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vlc_obj_malloc
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:316,1
    - Dst: block_FifoNew
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:320,1
    - Dst: CMTimeMake
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:323,1
    - Dst: VTCompressionSessionCreate
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:326,1
    - Dst: VTSessionSetProperty
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:340,1
    - Dst: video_format_Copy
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:369,1
    - Dst: msg_Info
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:376,1
    - Dst: VTCompressionSessionInvalidate
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:385,1
    - Dst: CFRelease
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:386,1
    - Dst: block_FifoRelease
      Src: /src/vlc/modules/codec/videotoolbox/encoder.c:388,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 1
    argNames:
    - obj
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 390
    functionName: OpenEncoder
    functionSourceFile: /src/vlc/modules/codec/videotoolbox/encoder.c
    functionUses: 0
    functionsReached:
    - block_FifoRelease
    - video_format_Copy
    - vlc_obj_malloc
    - CFRelease
    - VTSessionSetProperty
    - block_FifoNew
    - msg_Info
    - VTCompressionSessionCreate
    - VTCompressionSessionInvalidate
    - CMTimeMake
    linkageType: ''
    returnType: int
    signature: int OpenEncoder(vlc_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: CHAIN_APPEND_DECL
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHAIN_APPEND_DECL(n, t)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: webvtt_OpenEncoder
    functionSourceFile: /src/vlc/modules/codec/webvtt/encvtt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int webvtt_OpenEncoder( vlc_object_t *p_this )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:51,1
    - Dst: strcspn
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:51,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:53,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:62,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:65,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:68,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:71,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - box
    - len
    - psz
    argTypes:
    - bo_t*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 77
    functionName: bo_add_escaped
    functionSourceFile: /src/vlc/modules/codec/webvtt/encvtt.c
    functionUses: 0
    functionsReached:
    - strcspn
    - bo_add_8
    - likely
    - bo_add_mem
    linkageType: ''
    returnType: void
    signature: void bo_add_escaped( bo_t *box, size_t len, const char *psz )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:85,1
    - Dst: bo_add_escaped
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:88,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:90,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:91,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:97,1
    - Dst: bo_add_escaped
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - psz
    - box
    - c_last
    argTypes:
    - char*
    - bo_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 103
    functionName: WriteText
    functionSourceFile: /src/vlc/modules/codec/webvtt/encvtt.c
    functionUses: 0
    functionsReached:
    - strchr
    - strlen
    - bo_add_mem
    - bo_add_escaped
    - bo_add_8
    linkageType: ''
    returnType: void
    signature: void WriteText( const char *psz, bo_t *box, char *c_last )
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:107,1
    - Dst: bo_init
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:113,1
    - Dst: vlc_spu_regions_foreach_const
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:117,1
    - Dst: subpicture_region_IsText
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:119,1
    - Dst: bo_size
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:124,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:126,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:127,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:131,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:132,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:144,1
    - Dst: WriteText
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:148,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:149,1
    - Dst: WriteText
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:150,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:151,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:153,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:163,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:165,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:167,1
    - Dst: WriteText
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:171,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:178,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:180,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:182,1
    - Dst: bo_set_32be
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:187,1
    - Dst: bo_size
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:187,1
    - Dst: bo_size
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:194,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:196,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:197,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:200,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:202,1
    - Dst: bo_size
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:209,1
    - Dst: bo_add_8
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:210,1
    - Dst: vlc_asprintf_c
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:212,1
    - Dst: bo_add_mem
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:216,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:217,1
    - Dst: bo_set_32be
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:220,1
    - Dst: bo_size
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:220,1
    - Dst: bo_set_32be
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:224,1
    - Dst: bo_size
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:224,1
    - Dst: bo_size
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:227,1
    - Dst: bo_add_32be
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:229,1
    - Dst: bo_add_fourcc
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:230,1
    - Dst: bo_deinit
      Src: /src/vlc/modules/codec/webvtt/encvtt.c:235,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 84
    argCount: 2
    argNames:
    - p_enc
    - p_spu
    argTypes:
    - encoder_t*
    - subpicture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 105
    functionDepth: 4
    functionLinenumber: 105
    functionLinenumberEnd: 245
    functionName: Encode
    functionSourceFile: /src/vlc/modules/codec/webvtt/encvtt.c
    functionUses: 2
    functionsReached:
    - bo_init
    - WriteText
    - bo_set_32be
    - subpicture_region_IsText
    - bo_add_32be
    - bo_add_mem
    - vlc_asprintf_c
    - vlc_spu_regions_foreach_const
    - free
    - bo_add_8
    - bo_size
    - bo_deinit
    - bo_add_fourcc
    - VLC_UNUSED
    linkageType: ''
    returnType: block_t
    signature: block_t *Encode( encoder_t *p_enc, subpicture_t *p_spu )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - els
    argTypes:
    - struct webvtt_cueelements_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: WEBVTT_Pack_CueElementsGetNewSize
    functionSourceFile: /src/vlc/modules/codec/webvtt/helpers.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t WEBVTT_Pack_CueElementsGetNewSize( const struct webvtt_cueelements_s
      *els )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WEBVTT_Pack_CueElementsGetNewSize
      Src: /src/vlc/modules/codec/webvtt/helpers.h:49,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/codec/webvtt/helpers.h:51,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/webvtt/helpers.h:52,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/codec/webvtt/helpers.h:57,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/webvtt/helpers.h:58,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/webvtt/helpers.h:59,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/codec/webvtt/helpers.h:65,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/webvtt/helpers.h:66,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/webvtt/helpers.h:67,1
    - Dst: SetDWBE
      Src: /src/vlc/modules/codec/webvtt/helpers.h:71,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/webvtt/helpers.h:72,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/webvtt/helpers.h:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - els
    - p_dst
    argTypes:
    - struct webvtt_cueelements_s*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 74
    functionName: WEBVTT_Pack_CueElements
    functionSourceFile: /src/vlc/modules/codec/webvtt/helpers.h
    functionUses: 2
    functionsReached:
    - SetDWBE
    - WEBVTT_Pack_CueElementsGetNewSize
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void WEBVTT_Pack_CueElements( const struct webvtt_cueelements_s *els,\n
      \                        uint8_t *p_dst )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/codec/webvtt/css_style.c:34,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_style.c:41,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_style.c:42,1
    - Dst: vlc_html_color
      Src: /src/vlc/modules/codec/webvtt/css_style.c:61,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 6
    argNames:
    - term
    - color
    - alpha
    - feat
    - cflag
    - aflag
    argTypes:
    - vlc_css_term_t
    - uint32_t*
    - uint8_t*
    - uint16_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 69
    functionName: Color
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_style.c
    functionUses: 82
    functionsReached:
    - strcmp
    - unlikely
    - vlc_html_color
    linkageType: ''
    returnType: void
    signature: "void Color( vlc_css_term_t term,\n                   uint32_t *color,
      uint8_t *alpha,\n                   uint16_t *feat, int cflag, int aflag )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - term
    - p_style
    argTypes:
    - vlc_css_term_t
    - text_style_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: OutlineWidth
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_style.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OutlineWidth( vlc_css_term_t term, text_style_t *p_style )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Color
      Src: /src/vlc/modules/codec/webvtt/css_style.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - term
    - p_style
    argTypes:
    - vlc_css_term_t
    - text_style_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: OutlineColor
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_style.c
    functionUses: 0
    functionsReached:
    - Color
    linkageType: ''
    returnType: void
    signature: void OutlineColor( vlc_css_term_t term, text_style_t *p_style )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - term
    - p_style
    argTypes:
    - vlc_css_term_t
    - text_style_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: ShadowDrop
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_style.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ShadowDrop( vlc_css_term_t term, text_style_t *p_style )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Color
      Src: /src/vlc/modules/codec/webvtt/css_style.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - term
    - p_style
    argTypes:
    - vlc_css_term_t
    - text_style_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: ShadowColor
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_style.c
    functionUses: 0
    functionsReached:
    - Color
    linkageType: ''
    returnType: void
    signature: void ShadowColor( vlc_css_term_t term, text_style_t *p_style )
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/webvtt/css_style.c:114,1
    - Dst: Color
      Src: /src/vlc/modules/codec/webvtt/css_style.c:116,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/webvtt/css_style.c:119,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/webvtt/css_style.c:123,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/webvtt/css_style.c:128,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/webvtt/css_style.c:133,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/webvtt/css_style.c:140,1
    - Dst: ShadowDrop
      Src: /src/vlc/modules/codec/webvtt/css_style.c:142,1
    - Dst: ShadowColor
      Src: /src/vlc/modules/codec/webvtt/css_style.c:144,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/webvtt/css_style.c:146,1
    - Dst: Color
      Src: /src/vlc/modules/codec/webvtt/css_style.c:148,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/webvtt/css_style.c:153,1
    - Dst: OutlineColor
      Src: /src/vlc/modules/codec/webvtt/css_style.c:155,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/webvtt/css_style.c:157,1
    - Dst: OutlineWidth
      Src: /src/vlc/modules/codec/webvtt/css_style.c:159,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/webvtt/css_style.c:161,1
    - Dst: OutlineWidth
      Src: /src/vlc/modules/codec/webvtt/css_style.c:163,1
    - Dst: OutlineColor
      Src: /src/vlc/modules/codec/webvtt/css_style.c:165,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/webvtt/css_style.c:167,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/webvtt/css_style.c:178,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/webvtt/css_style.c:182,1
    - Dst: strcat
      Src: /src/vlc/modules/codec/webvtt/css_style.c:192,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/webvtt/css_style.c:193,1
    - Dst: strcat
      Src: /src/vlc/modules/codec/webvtt/css_style.c:195,1
    - Dst: strcat
      Src: /src/vlc/modules/codec/webvtt/css_style.c:196,1
    - Dst: strcat
      Src: /src/vlc/modules/codec/webvtt/css_style.c:198,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/css_style.c:200,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/webvtt/css_style.c:214,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/webvtt/css_style.c:218,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/webvtt/css_style.c:223,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/webvtt/css_style.c:230,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/webvtt/css_style.c:234,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/webvtt/css_style.c:239,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/webvtt/css_style.c:254,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/webvtt/css_style.c:263,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/webvtt/css_style.c:267,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/webvtt/css_style.c:271,1
    - Dst: strcasecmp
      Src: /src/vlc/modules/codec/webvtt/css_style.c:273,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 123
    argCount: 2
    argNames:
    - p_decl
    - p_style
    argTypes:
    - vlc_css_declaration_t*
    - text_style_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 277
    functionName: webvtt_FillStyleFromCssDeclaration
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_style.c
    functionUses: 0
    functionsReached:
    - OutlineColor
    - strlen
    - OutlineWidth
    - free
    - ShadowColor
    - strcasecmp
    - ShadowDrop
    - strcat
    - Color
    - malloc
    linkageType: ''
    returnType: void
    signature: void webvtt_FillStyleFromCssDeclaration( const vlc_css_declaration_t
      *p_decl, text_style_t *p_style )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/codec/webvtt/webvtt.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - webvtt_cue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: webvtt_cue_Init
    functionSourceFile: /src/vlc/modules/codec/webvtt/webvtt.h
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void webvtt_cue_Init( webvtt_cue_t *c )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/webvtt.h:70,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/webvtt.h:71,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/webvtt.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - webvtt_cue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: webvtt_cue_Clean
    functionSourceFile: /src/vlc/modules/codec/webvtt/webvtt.h
    functionUses: 4
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void webvtt_cue_Clean( webvtt_cue_t *c )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_strtof_c
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - psz
    - value
    argTypes:
    - char*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 180
    functionName: parse_percent
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - vlc_strtof_c
    linkageType: ''
    returnType: bool
    signature: bool parse_percent( const char *psz, float *value )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_strtof_c
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:185,1
    - Dst: strchr
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:189,1
    - Dst: vlc_strtof_c
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:192,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 3
    argNames:
    - psz
    - x
    - y
    argTypes:
    - char*
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 203
    functionName: parse_percent_tuple
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - strchr
    - vlc_strtof_c
    linkageType: ''
    returnType: bool
    signature: bool parse_percent_tuple( const char *psz, float *x, float *y )
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 2
    argNames:
    - p_settings
    - p_rect
    argTypes:
    - webvtt_cue_settings_t*
    - webvtt_rect_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 298
    functionName: webvtt_get_cueboxrect
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void webvtt_get_cueboxrect( const webvtt_cue_settings_t *p_settings,\n
      \                                  webvtt_rect_t *p_rect )"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:303,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:305,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:307,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:312,1
    - Dst: strchr
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:315,1
    - Dst: parse_percent
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:317,1
    - Dst: vlc_strtof_c
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:321,1
    - Dst: strchr
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:324,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:327,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:329,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:335,1
    - Dst: parse_percent
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:337,1
    - Dst: strchr
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:338,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:341,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:343,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:345,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:351,1
    - Dst: parse_percent
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:353,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:356,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:358,1
    - Dst: strdup
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:359,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:361,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:363,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:365,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:367,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:369,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 3
    argNames:
    - p_settings
    - psz_key
    - psz_value
    argTypes:
    - webvtt_cue_settings_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 374
    functionName: webvtt_cue_settings_ParseTuple
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - strchr
    - strdup
    - vlc_strtof_c
    - free
    - strcmp
    - parse_percent
    linkageType: ''
    returnType: void
    signature: "void webvtt_cue_settings_ParseTuple( webvtt_cue_settings_t *p_settings,\n
      \                                           const char *psz_key, const char
      *psz_value )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strtok_r
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:383,1
    - Dst: strchr
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:387,1
    - Dst: strndup
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:390,1
    - Dst: webvtt_cue_settings_ParseTuple
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:393,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:394,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - p_settings
    - p_str
    argTypes:
    - webvtt_cue_settings_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 399
    functionName: webvtt_cue_settings_Parse
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - strndup
    - strtok_r
    - strchr
    - webvtt_cue_settings_ParseTuple
    - free
    linkageType: ''
    returnType: void
    signature: "void webvtt_cue_settings_Parse( webvtt_cue_settings_t *p_settings,\n
      \                                      char *p_str )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_settings
    argTypes:
    - webvtt_cue_settings_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 404
    functionName: webvtt_cue_settings_Clean
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void webvtt_cue_settings_Clean( webvtt_cue_settings_t *p_settings )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - p_settings
    argTypes:
    - webvtt_cue_settings_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 419
    functionName: webvtt_cue_settings_Init
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void webvtt_cue_settings_Init( webvtt_cue_settings_t *p_settings )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:429,1
    - Dst: printf
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:432,1
    - Dst: printf
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:437,1
    - Dst: webvtt_domnode_Debug
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:438,1
    - Dst: printf
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:443,1
    - Dst: webvtt_domnode_Debug
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:444,1
    - Dst: printf
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:449,1
    - Dst: webvtt_domnode_Debug
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:450,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - p_node
    - i_depth
    argTypes:
    - webvtt_dom_node_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 453
    functionName: webvtt_domnode_Debug
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 1
    functionsReached:
    - webvtt_domnode_Debug
    - printf
    linkageType: ''
    returnType: void
    signature: void webvtt_domnode_Debug( webvtt_dom_node_t *p_node, int i_depth )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 455
    functionName: webvtt_domnode_Debug
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: webvtt_domnode_Debug(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pp_append
    - p_node
    argTypes:
    - webvtt_dom_node_t**
    - webvtt_dom_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 465
    functionName: webvtt_domnode_AppendLast
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void webvtt_domnode_AppendLast( webvtt_dom_node_t **pp_append,\n                                       webvtt_dom_node_t
      *p_node )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 469
    functionName: webvtt_domnode_AppendLast
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: webvtt_domnode_AppendLast( a, b )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: text_style_Delete
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:476,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:477,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:478,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:483,1
    - Dst: text_style_Delete
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:488,1
    - Dst: webvtt_cue_settings_Clean
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:489,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:490,1
    - Dst: text_style_Delete
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:495,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:496,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:498,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - p_node
    argTypes:
    - webvtt_dom_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 499
    functionName: webvtt_domnode_DeleteNode
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - free
    - text_style_Delete
    - webvtt_cue_settings_Clean
    linkageType: ''
    returnType: void
    signature: void webvtt_domnode_DeleteNode( webvtt_dom_node_t *p_node )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_array_init
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:506,1
    - Dst: webvtt_domnode_getFirstChild
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:510,1
    - Dst: webvtt_domnode_DeleteNode
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:513,1
    - Dst: vlc_array_append
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:518,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:526,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:529,1
    - Dst: vlc_array_remove
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:530,1
    - Dst: vlc_array_clear
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:535,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - p_node
    argTypes:
    - webvtt_dom_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 536
    functionName: webvtt_domnode_ChainDelete
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - vlc_array_append
    - vlc_array_item_at_index
    - webvtt_domnode_DeleteNode
    - vlc_array_init
    - vlc_array_count
    - vlc_array_clear
    - vlc_array_remove
    - webvtt_domnode_getFirstChild
    linkageType: ''
    returnType: void
    signature: void webvtt_domnode_ChainDelete( webvtt_dom_node_t *p_node )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:540,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_parent
    argTypes:
    - webvtt_dom_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 547
    functionName: webvtt_dom_text_New
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: webvtt_dom_text_t
    signature: webvtt_dom_text_t * webvtt_dom_text_New( webvtt_dom_node_t *p_parent
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_parent
    argTypes:
    - webvtt_dom_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 559
    functionName: webvtt_dom_tag_New
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: webvtt_dom_tag_t
    signature: webvtt_dom_tag_t * webvtt_dom_tag_New( webvtt_dom_node_t *p_parent
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:569,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - p_parent
    - psz_tag
    argTypes:
    - webvtt_dom_node_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 574
    functionName: webvtt_domnode_getParentByTag
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: webvtt_dom_node_t
    signature: "webvtt_dom_node_t * webvtt_domnode_getParentByTag( webvtt_dom_node_t
      *p_parent,\n                                                         const char
      *psz_tag )"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - p_node
    argTypes:
    - webvtt_dom_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 594
    functionName: webvtt_domnode_getFirstChild
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: webvtt_dom_node_t
    signature: webvtt_dom_node_t * webvtt_domnode_getFirstChild( webvtt_dom_node_t
      *p_node )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 596
    functionName: webvtt_domnode_getFirstChild
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: webvtt_domnode_getFirstChild(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: webvtt_dom_cue_Delete
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_dst
    - p_src
    argTypes:
    - webvtt_dom_cue_t*
    - webvtt_dom_cue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 602
    functionName: webvtt_domnode_mergeCues
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - webvtt_dom_cue_Delete
    linkageType: ''
    returnType: void
    signature: void webvtt_domnode_mergeCues( webvtt_dom_cue_t *p_dst, webvtt_dom_cue_t
      *p_src )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:616,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - p_node
    - i_nzstart
    - psz_id
    argTypes:
    - webvtt_dom_node_t*
    - vlc_tick_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 621
    functionName: webvtt_domnode_getCue
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: webvtt_dom_cue_t
    signature: "webvtt_dom_cue_t * webvtt_domnode_getCue( webvtt_dom_node_t *p_node,\n
      \                                                vlc_tick_t i_nzstart,\n                                                 const
      char *psz_id )"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - p_node
    - b_end
    argTypes:
    - webvtt_dom_node_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 643
    functionName: webvtt_domnode_GetPlaybackTime
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t webvtt_domnode_GetPlaybackTime( const webvtt_dom_node_t
      *p_node, bool b_end )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:647,1
    - Dst: strstr
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:653,1
    - Dst: isalnum
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:656,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - p_node
    - psz
    argTypes:
    - webvtt_dom_node_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 661
    functionName: webvtt_domnode_Match_Class
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - strlen
    - strstr
    - isalnum
    linkageType: ''
    returnType: bool
    signature: bool webvtt_domnode_Match_Class( const webvtt_dom_node_t *p_node, const
      char *psz )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:671,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:674,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - p_node
    - psz_id
    argTypes:
    - webvtt_dom_node_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 676
    functionName: webvtt_domnode_Match_Id
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool webvtt_domnode_Match_Id( const webvtt_dom_node_t *p_node, const
      char *psz_id )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:683,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:686,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - p_node
    - psz_tag
    argTypes:
    - webvtt_dom_node_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 689
    functionName: webvtt_domnode_Match_Tag
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool webvtt_domnode_Match_Tag( const webvtt_dom_node_t *p_node, const
      char *psz_tag )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:694,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:694,1
    - Dst: webvtt_domnode_GetPlaybackTime
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:696,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - p_node
    - psz
    - i_nzplaybacktime
    argTypes:
    - webvtt_dom_node_t*
    - char*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 700
    functionName: webvtt_domnode_Match_PseudoClass
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - strcmp
    - webvtt_domnode_GetPlaybackTime
    linkageType: ''
    returnType: bool
    signature: "bool webvtt_domnode_Match_PseudoClass( const webvtt_dom_node_t *p_node,
      const char *psz,\n                                              vlc_tick_t i_nzplaybacktime
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:704,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:706,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p_node
    - psz
    argTypes:
    - webvtt_dom_node_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 709
    functionName: webvtt_domnode_Match_PseudoElement
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool webvtt_domnode_Match_PseudoElement( const webvtt_dom_node_t *p_node,
      const char *psz )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:716,1
    - Dst: strstr
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:719,1
    - Dst: isspace
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:720,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:722,1
    - Dst: isspace
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:723,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:729,1
    - Dst: strncmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:730,1
    - Dst: isalnum
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:733,1
    - Dst: strncmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:738,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:738,1
    - Dst: strstr
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:741,1
    - Dst: strstr
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:745,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 3
    argNames:
    - psz_attr
    - psz_lookup
    - match
    argTypes:
    - char*
    - char*
    - enum vlc_css_match_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 750
    functionName: MatchAttribute
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - strlen
    - isspace
    - isalnum
    - strncmp
    - strcmp
    - strstr
    linkageType: ''
    returnType: bool
    signature: bool MatchAttribute( const char *psz_attr, const char *psz_lookup,
      enum vlc_css_match_e match )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:760,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:760,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:761,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:761,1
    - Dst: isspace
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:767,1
    - Dst: MatchAttribute
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:780,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 3
    argNames:
    - p_node
    - psz
    - p_matchsel
    argTypes:
    - webvtt_dom_node_t*
    - char*
    - vlc_css_selector_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 784
    functionName: webvtt_domnode_Match_Attribute
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - strcmp
    - MatchAttribute
    - isspace
    linkageType: ''
    returnType: bool
    signature: "bool webvtt_domnode_Match_Attribute( const webvtt_dom_node_t *p_node,\n
      \                                           const char *psz, const vlc_css_selector_t
      *p_matchsel )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: webvtt_domnode_Match_Tag
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:792,1
    - Dst: webvtt_domnode_Match_PseudoClass
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:794,1
    - Dst: webvtt_domnode_Match_PseudoElement
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:797,1
    - Dst: webvtt_domnode_Match_Id
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:799,1
    - Dst: webvtt_domnode_Match_Class
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:801,1
    - Dst: webvtt_domnode_Match_Attribute
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:803,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - p_node
    - p_sel
    - i_nzplaybacktime
    argTypes:
    - webvtt_dom_node_t*
    - vlc_css_selector_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 786
    functionDepth: 2
    functionLinenumber: 786
    functionLinenumberEnd: 806
    functionName: webvtt_domnode_MatchType
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - webvtt_domnode_Match_Tag
    - webvtt_domnode_Match_PseudoClass
    - webvtt_domnode_Match_PseudoElement
    - webvtt_domnode_Match_Id
    - webvtt_domnode_Match_Class
    - webvtt_domnode_Match_Attribute
    linkageType: ''
    returnType: bool
    signature: "bool webvtt_domnode_MatchType( const webvtt_dom_node_t *p_node,\n
      \                                     const vlc_css_selector_t *p_sel, vlc_tick_t
      i_nzplaybacktime )"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 822
    functionName: get_ppCSSStyle
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: text_style_t
    signature: text_style_t ** get_ppCSSStyle( webvtt_dom_node_t *p_node )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_ppCSSStyle
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:826,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_node
    argTypes:
    - webvtt_dom_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 830
    functionName: webvtt_domnode_getCSSStyle
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - get_ppCSSStyle
    linkageType: ''
    returnType: text_style_t
    signature: text_style_t * webvtt_domnode_getCSSStyle( webvtt_dom_node_t *p_node
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 832
    functionName: webvtt_domnode_getCSSStyle
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: webvtt_domnode_getCSSStyle(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ppCSSStyle
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:835,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_node
    argTypes:
    - webvtt_dom_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 836
    functionName: webvtt_domnode_supportsCSSStyle
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - get_ppCSSStyle
    linkageType: ''
    returnType: bool
    signature: bool webvtt_domnode_supportsCSSStyle( webvtt_dom_node_t *p_node )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_ppCSSStyle
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:840,1
    - Dst: assert
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:843,1
    - Dst: text_style_Delete
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:845,1
    - Dst: text_style_Delete
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:849,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - p_node
    - p_style
    argTypes:
    - webvtt_dom_node_t*
    - text_style_t*
    assertStmts:
    - condition: ( pp_style )
      pos:
        line_end: 842
        line_start: 842
        source_file: /src/vlc/modules/codec/webvtt/subsvtt.c
    constantsTouched: []
    func_position:
      end: 851
      start: 838
    functionDepth: 1
    functionLinenumber: 838
    functionLinenumberEnd: 851
    functionName: webvtt_domnode_setCSSStyle
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - get_ppCSSStyle
    - assert
    - text_style_Delete
    linkageType: ''
    returnType: void
    signature: void webvtt_domnode_setCSSStyle( webvtt_dom_node_t *p_node, text_style_t
      *p_style )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: webvtt_domnode_getFirstChild
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:862,1
    - Dst: webvtt_domnode_SelectNodesInTree
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:866,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - p_tree
    - p_sel
    - i_max_depth
    - i_nzplaybacktime
    - p_results
    argTypes:
    - webvtt_dom_node_t*
    - vlc_css_selector_t*
    - int
    - vlc_tick_t
    - vlc_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 869
    functionName: webvtt_domnode_SelectChildNodesInTree
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - webvtt_domnode_getFirstChild
    - webvtt_domnode_SelectNodesInTree
    linkageType: ''
    returnType: void
    signature: "void webvtt_domnode_SelectChildNodesInTree( const webvtt_dom_node_t
      *p_tree,\n                                                   const vlc_css_selector_t
      *p_sel, int i_max_depth,\n                                                   vlc_tick_t
      i_nzplaybacktime, vlc_array_t *p_results )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: webvtt_domnode_SelectChildNodesInTree
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:881,1
    - Dst: webvtt_domnode_SelectChildNodesInTree
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:886,1
    - Dst: webvtt_domnode_getFirstChild
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:890,1
    - Dst: webvtt_domnode_SelectChildNodesInTree
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:892,1
    - Dst: webvtt_domnode_SelectChildNodesInTree
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:896,1
    - Dst: webvtt_domnode_SelectNodesInTree
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:900,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 4
    argNames:
    - p_node
    - p_spec
    - i_nzplaybacktime
    - p_results
    argTypes:
    - webvtt_dom_node_t*
    - vlc_css_selector_t*
    - vlc_tick_t
    - vlc_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 871
    functionDepth: 2
    functionLinenumber: 871
    functionLinenumberEnd: 903
    functionName: webvtt_domnode_SelectNodesBySpeficier
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - webvtt_domnode_SelectChildNodesInTree
    - webvtt_domnode_SelectNodesInTree
    - webvtt_domnode_getFirstChild
    linkageType: ''
    returnType: void
    signature: "void webvtt_domnode_SelectNodesBySpeficier( const webvtt_dom_node_t
      *p_node,\n                                                   const vlc_css_selector_t
      *p_spec,\n                                                   vlc_tick_t i_nzplaybacktime,
      vlc_array_t *p_results )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: webvtt_domnode_MatchType
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:912,1
    - Dst: vlc_array_append
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:917,1
    - Dst: webvtt_domnode_SelectNodesBySpeficier
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:919,1
    - Dst: webvtt_domnode_SelectChildNodesInTree
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:924,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - p_node
    - p_sel
    - i_max_depth
    - i_nzplaybacktime
    - p_results
    argTypes:
    - webvtt_dom_node_t*
    - vlc_css_selector_t*
    - int
    - vlc_tick_t
    - vlc_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 905
    functionDepth: 3
    functionLinenumber: 905
    functionLinenumberEnd: 926
    functionName: webvtt_domnode_SelectNodesInTree
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 2
    functionsReached:
    - vlc_array_append
    - webvtt_domnode_MatchType
    - webvtt_domnode_SelectNodesBySpeficier
    - webvtt_domnode_SelectChildNodesInTree
    linkageType: ''
    returnType: void
    signature: "void webvtt_domnode_SelectNodesInTree( const webvtt_dom_node_t *p_node,\n
      \                                             const vlc_css_selector_t *p_sel,
      int i_max_depth,\n                                              vlc_tick_t i_nzplaybacktime,
      vlc_array_t *p_results )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_array_init
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:937,1
    - Dst: webvtt_domnode_SelectNodesInTree
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:940,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:943,1
    - Dst: vlc_array_append
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:944,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:944,1
    - Dst: vlc_array_clear
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:945,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - p_root
    - p_rule
    - i_nzplaybacktime
    - p_results
    argTypes:
    - webvtt_dom_node_t*
    - vlc_css_rule_t*
    - vlc_tick_t
    - vlc_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 928
    functionDepth: 4
    functionLinenumber: 928
    functionLinenumberEnd: 947
    functionName: webvtt_domnode_SelectRuleNodes
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - vlc_array_append
    - vlc_array_item_at_index
    - webvtt_domnode_SelectNodesInTree
    - vlc_array_init
    - vlc_array_count
    - vlc_array_clear
    linkageType: ''
    returnType: void
    signature: "void webvtt_domnode_SelectRuleNodes( const webvtt_dom_node_t *p_root,
      const vlc_css_rule_t *p_rule,\n                                            vlc_tick_t
      i_nzplaybacktime, vlc_array_t *p_results )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - psz
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 953
    functionName: IsEndTag
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsEndTag( const char *psz )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:958,1
    - Dst: strchr
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:961,1
    - Dst: IsEndTag
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:967,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - psz
    - ppsz_taglast
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 956
    functionDepth: 1
    functionLinenumber: 956
    functionLinenumberEnd: 973
    functionName: FindNextTag
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - IsEndTag
    - strchr
    linkageType: ''
    returnType: char
    signature: char * FindNextTag( const char *psz, const char **ppsz_taglast )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsEndTag
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:978,1
    - Dst: isalpha
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:981,1
    - Dst: isalnum
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:983,1
    - Dst: isspace
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:988,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - psz_tag
    - pi_tag
    - ppsz_attrs
    argTypes:
    - char*
    - size_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 976
    functionDepth: 1
    functionLinenumber: 976
    functionLinenumberEnd: 993
    functionName: SplitTag
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - IsEndTag
    - isalnum
    - isspace
    - isalpha
    linkageType: ''
    returnType: char
    signature: char *SplitTag( const char *psz_tag, size_t *pi_tag, const char **ppsz_attrs
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1000,1
    - Dst: webvtt_cue_settings_Init
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1010,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - i_nzstart
    - i_nzend
    argTypes:
    - vlc_tick_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1013
    functionName: webvtt_dom_cue_New
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - calloc
    - webvtt_cue_settings_Init
    linkageType: ''
    returnType: webvtt_dom_cue_t
    signature: webvtt_dom_cue_t * webvtt_dom_cue_New( vlc_tick_t i_nzstart, vlc_tick_t
      i_nzend )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: webvtt_domnode_ChainDelete
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_cue
    argTypes:
    - webvtt_dom_cue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1015
    functionDepth: 3
    functionLinenumber: 1015
    functionLinenumberEnd: 1020
    functionName: webvtt_dom_cue_ClearText
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - webvtt_domnode_ChainDelete
    linkageType: ''
    returnType: void
    signature: void webvtt_dom_cue_ClearText( webvtt_dom_cue_t *p_cue )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: text_style_Delete
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1024,1
    - Dst: webvtt_dom_cue_ClearText
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1025,1
    - Dst: webvtt_cue_settings_Clean
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1026,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1027,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1028,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p_cue
    argTypes:
    - webvtt_dom_cue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1022
    functionDepth: 4
    functionLinenumber: 1022
    functionLinenumberEnd: 1029
    functionName: webvtt_dom_cue_Delete
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 1
    functionsReached:
    - free
    - webvtt_dom_cue_ClearText
    - text_style_Delete
    - webvtt_cue_settings_Clean
    linkageType: ''
    returnType: void
    signature: void webvtt_dom_cue_Delete( webvtt_dom_cue_t *p_cue )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1043,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1046,1
    - Dst: strndup
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1048,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1049,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1055,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - p_cue
    argTypes:
    - webvtt_dom_cue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1032
    functionDepth: 2
    functionLinenumber: 1032
    functionLinenumberEnd: 1062
    functionName: webvtt_dom_cue_Reduced
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - strndup
    - strlen
    - strchr
    - free
    linkageType: ''
    returnType: unsigned
    signature: unsigned webvtt_dom_cue_Reduced( webvtt_dom_cue_t *p_cue )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1071,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1073,1
    - Dst: strdup
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1074,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1076,1
    - Dst: parse_percent
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1078,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1080,1
    - Dst: parse_percent_tuple
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1082,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1085,1
    - Dst: parse_percent_tuple
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1087,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1090,1
    - Dst: atoi
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1092,1
    - Dst: __MIN
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1094,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1096,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1098,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - p_region
    - psz_key
    - psz_value
    argTypes:
    - webvtt_region_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1068
    functionDepth: 2
    functionLinenumber: 1068
    functionLinenumberEnd: 1100
    functionName: webvtt_region_ParseTuple
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - atoi
    - strdup
    - free
    - strcmp
    - parse_percent
    - __MIN
    - parse_percent_tuple
    linkageType: ''
    returnType: void
    signature: "void webvtt_region_ParseTuple( webvtt_region_t *p_region,\n                                      const
      char *psz_key, const char *psz_value )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strtok_r
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1109,1
    - Dst: strchr
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1113,1
    - Dst: strndup
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1116,1
    - Dst: webvtt_region_ParseTuple
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1119,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1120,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - p_region
    - psz_line
    argTypes:
    - webvtt_region_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1102
    functionDepth: 3
    functionLinenumber: 1102
    functionLinenumberEnd: 1125
    functionName: webvtt_region_Parse
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - strndup
    - strtok_r
    - strchr
    - free
    - webvtt_region_ParseTuple
    linkageType: ''
    returnType: void
    signature: void webvtt_region_Parse( webvtt_region_t *p_region, char *psz_line
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - p_region
    argTypes:
    - webvtt_region_t*
    assertStmts:
    - condition: ( p_node->type == NODE_CUE )
      pos:
        line_end: 1132
        line_start: 1132
        source_file: /src/vlc/modules/codec/webvtt/subsvtt.c
    constantsTouched: []
    func_position:
      end: 1139
      start: 1127
    functionDepth: 1
    functionLinenumber: 1127
    functionLinenumberEnd: 1139
    functionName: webvtt_region_CountLines
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: unsigned
    signature: unsigned webvtt_region_CountLines( const webvtt_region_t *p_region
      )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: webvtt_dom_cue_Delete
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1155,1
    - Dst: ClearCuesByTime
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1162,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - pp_next
    - i_nztime
    argTypes:
    - webvtt_dom_node_t**
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1141
    functionDepth: 5
    functionLinenumber: 1141
    functionLinenumberEnd: 1167
    functionName: ClearCuesByTime
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 1
    functionsReached:
    - ClearCuesByTime
    - webvtt_dom_cue_Delete
    linkageType: ''
    returnType: void
    signature: void ClearCuesByTime( webvtt_dom_node_t **pp_next, vlc_tick_t i_nztime
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1174,1
    - Dst: webvtt_dom_cue_Reduced
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1179,1
    - Dst: webvtt_dom_cue_Delete
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - p_region
    argTypes:
    - webvtt_region_t*
    assertStmts:
    - condition: ( p_region->p_child->type == NODE_CUE )
      pos:
        line_end: 1173
        line_start: 1173
        source_file: /src/vlc/modules/codec/webvtt/subsvtt.c
    constantsTouched: []
    func_position:
      end: 1188
      start: 1170
    functionDepth: 5
    functionLinenumber: 1170
    functionLinenumberEnd: 1188
    functionName: webvtt_region_Reduce
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - assert
    - webvtt_dom_cue_Delete
    - webvtt_dom_cue_Reduced
    linkageType: ''
    returnType: bool
    signature: bool webvtt_region_Reduce( webvtt_region_t *p_region )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: webvtt_region_CountLines
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1201,1
    - Dst: webvtt_region_Reduce
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1206,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - p_region
    - p_cue
    argTypes:
    - webvtt_region_t*
    - webvtt_dom_cue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1190
    functionDepth: 6
    functionLinenumber: 1190
    functionLinenumberEnd: 1211
    functionName: webvtt_region_AddCue
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - webvtt_region_Reduce
    - webvtt_region_CountLines
    linkageType: ''
    returnType: void
    signature: "void webvtt_region_AddCue( webvtt_region_t *p_region,\n                                  webvtt_dom_cue_t
      *p_cue )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: text_style_Delete
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1215,1
    - Dst: webvtt_domnode_ChainDelete
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1216,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1218,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p_region
    argTypes:
    - webvtt_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1213
    functionDepth: 3
    functionLinenumber: 1213
    functionLinenumberEnd: 1220
    functionName: webvtt_region_Delete
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - free
    - webvtt_domnode_ChainDelete
    - text_style_Delete
    linkageType: ''
    returnType: void
    signature: void webvtt_region_Delete( webvtt_region_t *p_region )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1241
    functionName: webvtt_region_New
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: webvtt_region_t
    signature: webvtt_region_t * webvtt_region_New( void )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - p_sys
    - psz_id
    argTypes:
    - decoder_sys_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1259
    functionName: webvtt_region_GetByID
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: webvtt_region_t
    signature: "webvtt_region_t * webvtt_region_GetByID( decoder_sys_t *p_sys,\n                                                const
      char *psz_id )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1266,1
    - Dst: vlc_xml_decode
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - psz
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1264
    functionDepth: 1
    functionLinenumber: 1264
    functionLinenumberEnd: 1270
    functionName: DuplicateUnescaped
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - vlc_xml_decode
    - strdup
    linkageType: ''
    returnType: char
    signature: char * DuplicateUnescaped( const char *psz )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strndup
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1274,1
    - Dst: vlc_xml_decode
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - psz
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1272
    functionDepth: 2
    functionLinenumber: 1272
    functionLinenumberEnd: 1278
    functionName: NDuplicateUnescaped
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - strndup
    - vlc_xml_decode
    linkageType: ''
    returnType: char
    signature: char * NDuplicateUnescaped( const char *psz, size_t len )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - psz
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1280
    functionDepth: 0
    functionLinenumber: 1280
    functionLinenumberEnd: 1286
    functionName: CountNewLines
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: unsigned
    signature: unsigned CountNewLines( const char *psz )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FindNextTag
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1298,1
    - Dst: webvtt_dom_text_New
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1303,1
    - Dst: NDuplicateUnescaped
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1306,1
    - Dst: CountNewLines
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1307,1
    - Dst: IsEndTag
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1313,1
    - Dst: webvtt_dom_tag_New
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1315,1
    - Dst: SplitTag
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1320,1
    - Dst: NDuplicateUnescaped
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1321,1
    - Dst: NDuplicateUnescaped
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1323,1
    - Dst: isdigit
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1325,1
    - Dst: webvtt_scan_time
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1326,1
    - Dst: SplitTag
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1338,1
    - Dst: NDuplicateUnescaped
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1339,1
    - Dst: webvtt_domnode_getParentByTag
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1343,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1354,1
    - Dst: webvtt_dom_text_New
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1362,1
    - Dst: DuplicateUnescaped
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1365,1
    - Dst: CountNewLines
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1366,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 2
    argNames:
    - psz_text
    - pi_lines
    argTypes:
    - char*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1288
    functionDepth: 3
    functionLinenumber: 1288
    functionLinenumberEnd: 1374
    functionName: CreateDomNodes
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - DuplicateUnescaped
    - NDuplicateUnescaped
    - webvtt_dom_tag_New
    - SplitTag
    - webvtt_scan_time
    - webvtt_domnode_getParentByTag
    - IsEndTag
    - FindNextTag
    - isdigit
    - free
    - webvtt_dom_text_New
    - CountNewLines
    linkageType: ''
    returnType: webvtt_dom_node_t
    signature: webvtt_dom_node_t * CreateDomNodes( const char *psz_text, unsigned
      *pi_lines )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1378,1
    - Dst: CreateDomNodes
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1382,1
    - Dst: webvtt_domnode_Debug
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - p_dec
    - psz
    - p_cue
    argTypes:
    - decoder_t*
    - char*
    - webvtt_dom_cue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1376
    functionDepth: 4
    functionLinenumber: 1376
    functionLinenumberEnd: 1388
    functionName: ProcessCue
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - webvtt_domnode_Debug
    - CreateDomNodes
    - VLC_UNUSED
    linkageType: ''
    returnType: void
    signature: void ProcessCue( decoder_t *p_dec, const char *psz, webvtt_dom_cue_t
      *p_cue )
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1392,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1424,1
    - Dst: text_style_Create
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1426,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1432,1
    - Dst: text_style_Create
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1434,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1440,1
    - Dst: text_style_Create
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1442,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1448,1
    - Dst: text_style_Create
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1455,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1465,1
    - Dst: strtok_r
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1482,1
    - Dst: strtok_r
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1483,1
    - Dst: strncmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1485,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1487,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1489,1
    - Dst: text_style_Create
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1492,1
    - Dst: webvtt_domnode_getCSSStyle
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1516,1
    - Dst: text_style_Merge
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1520,1
    - Dst: text_style_Duplicate
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1522,1
    - Dst: text_style_Merge
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1530,1
    - Dst: text_style_Delete
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1531,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 84
    argCount: 2
    argNames:
    - p_dec
    - p_leaf
    argTypes:
    - decoder_t*
    - webvtt_dom_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1390
    functionDepth: 2
    functionLinenumber: 1390
    functionLinenumberEnd: 1539
    functionName: ComputeStyle
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - strtok_r
    - ARRAY_SIZE
    - text_style_Merge
    - text_style_Create
    - strncmp
    - strcmp
    - webvtt_domnode_getCSSStyle
    - text_style_Duplicate
    - text_style_Delete
    - VLC_UNUSED
    linkageType: ''
    returnType: text_style_t
    signature: text_style_t * ComputeStyle( decoder_t *p_dec, const webvtt_dom_node_t
      *p_leaf )
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - p_cue
    argTypes:
    - webvtt_dom_cue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1558
      start: 1541
    functionDepth: 0
    functionLinenumber: 1541
    functionLinenumberEnd: 1558
    functionName: GetCueTextAlignment
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetCueTextAlignment( const webvtt_dom_cue_t *p_cue )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1586,1
    - Dst: text_segment_ruby_New
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1592,1
    - Dst: text_segment_FromRuby
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1601,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - p_node
    argTypes:
    - webvtt_dom_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1569
    functionDepth: 1
    functionLinenumber: 1569
    functionLinenumberEnd: 1602
    functionName: ConvertRubyNodeToSegment
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - strcmp
    - text_segment_FromRuby
    - text_segment_ruby_New
    linkageType: ''
    returnType: text_segment_t
    signature: text_segment_t *ConvertRubyNodeToSegment( const webvtt_dom_node_t *p_node
      )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: text_segment_New
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1626,1
    - Dst: ComputeStyle
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1629,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1635,1
    - Dst: ConvertNodesToSegments
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1636,1
    - Dst: ConvertRubyNodeToSegment
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1639,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 5
    argNames:
    - p_dec
    - p_vars
    - p_cue
    - p_node
    - depth
    argTypes:
    - decoder_t*
    - struct render_variables_s*
    - webvtt_dom_cue_t*
    - webvtt_dom_node_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1604
    functionDepth: 3
    functionLinenumber: 1604
    functionLinenumberEnd: 1643
    functionName: ConvertNodesToSegments
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 1
    functionsReached:
    - text_segment_New
    - ComputeStyle
    - strcmp
    - ConvertNodesToSegments
    - ConvertRubyNodeToSegment
    linkageType: ''
    returnType: text_segment_t
    signature: "text_segment_t *ConvertNodesToSegments( decoder_t *p_dec,\n                                               struct
      render_variables_s *p_vars,\n                                               const
      webvtt_dom_cue_t *p_cue,\n                                               const
      webvtt_dom_node_t *p_node,\n                                               size_t
      depth )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConvertNodesToSegments
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p_dec
    - p_vars
    - p_cue
    argTypes:
    - decoder_t*
    - struct render_variables_s*
    - webvtt_dom_cue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1650
      start: 1645
    functionDepth: 4
    functionLinenumber: 1645
    functionLinenumberEnd: 1650
    functionName: ConvertCueToSegments
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - ConvertNodesToSegments
    linkageType: ''
    returnType: text_segment_t
    signature: "text_segment_t *ConvertCueToSegments( decoder_t *p_dec,\n                                             struct
      render_variables_s *p_vars,\n                                             const
      webvtt_dom_cue_t *p_cue )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: text_segment_New
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1664,1
    - Dst: text_segment_New
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1671,1
    - Dst: text_segment_New
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1682,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - p_cue
    - p_new
    - pp_append
    argTypes:
    - webvtt_dom_cue_t*
    - text_segment_t*
    - text_segment_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1687
      start: 1652
    functionDepth: 1
    functionLinenumber: 1652
    functionLinenumberEnd: 1687
    functionName: ChainCueSegments
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - text_segment_New
    linkageType: ''
    returnType: void
    signature: "void ChainCueSegments( const webvtt_dom_cue_t *p_cue, text_segment_t
      *p_new,\n                              text_segment_t **pp_append )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1695,1
    - Dst: ConvertCueToSegments
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1705,1
    - Dst: ChainCueSegments
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1706,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 5
    argNames:
    - p_dec
    - i_nzstart
    - i_nzstop
    - p_vars
    - p_cue
    argTypes:
    - decoder_t*
    - vlc_tick_t
    - vlc_tick_t
    - struct render_variables_s*
    - webvtt_dom_cue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1689
    functionDepth: 5
    functionLinenumber: 1689
    functionLinenumberEnd: 1709
    functionName: ConvertCuesToSegments
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - ChainCueSegments
    - ConvertCueToSegments
    - VLC_UNUSED
    linkageType: ''
    returnType: text_segment_t
    signature: "text_segment_t * ConvertCuesToSegments( decoder_t *p_dec, vlc_tick_t
      i_nzstart, vlc_tick_t i_nzstop,\n                                               struct
      render_variables_s *p_vars,\n                                               const
      webvtt_dom_cue_t *p_cue )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vlc_array_append
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1726,1
    - Dst: GetTimedTags
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1727,1
    - Dst: GetTimedTags
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1731,1
    - Dst: webvtt_domnode_getFirstChild
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1731,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 5
    argNames:
    - p_node
    - i_nzstart
    - i_nzstop
    - p_times
    - depth
    argTypes:
    - webvtt_dom_node_t*
    - vlc_tick_t
    - vlc_tick_t
    - vlc_array_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1738
      start: 1711
    functionDepth: 1
    functionLinenumber: 1711
    functionLinenumberEnd: 1738
    functionName: GetTimedTags
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 1
    functionsReached:
    - vlc_array_append
    - GetTimedTags
    - webvtt_domnode_getFirstChild
    linkageType: ''
    returnType: void
    signature: "void GetTimedTags( const webvtt_dom_node_t *p_node,\n                          vlc_tick_t
      i_nzstart, vlc_tick_t i_nzstop, vlc_array_t *p_times,\n                          size_t
      depth )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decoder_NewSubpictureText
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1746,1
    - Dst: SubpictureUpdaterSysRegionNew
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1756,1
    - Dst: SubpictureUpdaterSysRegionAdd
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1759,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - p_dec
    - pp_spu
    - pp_updtregion
    argTypes:
    - decoder_t*
    - subpicture_t**
    - substext_updater_region_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1763
      start: 1740
    functionDepth: 2
    functionLinenumber: 1740
    functionLinenumberEnd: 1763
    functionName: CreateSpuOrNewUpdaterRegion
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - SubpictureUpdaterSysRegionAdd
    - decoder_NewSubpictureText
    - SubpictureUpdaterSysRegionNew
    linkageType: ''
    returnType: void
    signature: "void CreateSpuOrNewUpdaterRegion( decoder_t *p_dec,\n                                         subpicture_t
      **pp_spu,\n                                         substext_updater_region_t
      **pp_updtregion )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: webvtt_domnode_supportsCSSStyle
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1767,1
    - Dst: webvtt_domnode_setCSSStyle
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1768,1
    - Dst: webvtt_domnode_getFirstChild
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1771,1
    - Dst: vlc_array_init
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1776,1
    - Dst: webvtt_domnode_supportsCSSStyle
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1780,1
    - Dst: webvtt_domnode_setCSSStyle
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1781,1
    - Dst: webvtt_domnode_getFirstChild
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1783,1
    - Dst: vlc_array_append
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1787,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1797,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1800,1
    - Dst: vlc_array_remove
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1801,1
    - Dst: vlc_array_clear
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1808,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - p_node
    argTypes:
    - webvtt_dom_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1765
    functionDepth: 2
    functionLinenumber: 1765
    functionLinenumberEnd: 1809
    functionName: ClearCSSStyles
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - vlc_array_append
    - webvtt_domnode_supportsCSSStyle
    - vlc_array_item_at_index
    - vlc_array_init
    - vlc_array_count
    - vlc_array_clear
    - webvtt_domnode_setCSSStyle
    - vlc_array_remove
    - webvtt_domnode_getFirstChild
    linkageType: ''
    returnType: void
    signature: void ClearCSSStyles( webvtt_dom_node_t *p_node )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_array_init
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1820,1
    - Dst: webvtt_domnode_SelectRuleNodes
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1822,1
    - Dst: vlc_array_count
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1828,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1830,1
    - Dst: webvtt_domnode_supportsCSSStyle
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1831,1
    - Dst: webvtt_domnode_getCSSStyle
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1834,1
    - Dst: text_style_Create
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1837,1
    - Dst: webvtt_domnode_setCSSStyle
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1838,1
    - Dst: webvtt_FillStyleFromCssDeclaration
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1844,1
    - Dst: vlc_array_clear
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1847,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - p_dec
    - p_rule
    - i_nzplaybacktime
    argTypes:
    - decoder_t*
    - vlc_css_rule_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1849
      start: 1812
    functionDepth: 5
    functionLinenumber: 1812
    functionLinenumberEnd: 1849
    functionName: ApplyCSSRules
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - webvtt_domnode_supportsCSSStyle
    - vlc_array_item_at_index
    - text_style_Create
    - vlc_array_init
    - vlc_array_count
    - webvtt_domnode_getCSSStyle
    - vlc_array_clear
    - webvtt_FillStyleFromCssDeclaration
    - webvtt_domnode_SelectRuleNodes
    - webvtt_domnode_setCSSStyle
    linkageType: ''
    returnType: void
    signature: "void ApplyCSSRules( decoder_t *p_dec, const vlc_css_rule_t *p_rule,\n
      \                          vlc_tick_t i_nzplaybacktime )"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ApplyCSSRules
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1859,1
    - Dst: ConvertCuesToSegments
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1880,1
    - Dst: CreateSpuOrNewUpdaterRegion
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1885,1
    - Dst: text_segment_ChainDelete
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1888,1
    - Dst: GetCueTextAlignment
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1895,1
    - Dst: ConvertCueToSegments
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1932,1
    - Dst: CreateSpuOrNewUpdaterRegion
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1936,1
    - Dst: text_segment_ChainDelete
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1939,1
    - Dst: webvtt_get_cueboxrect
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1952,1
    - Dst: GetCueTextAlignment
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1962,1
    - Dst: decoder_QueueSub
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1976,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 73
    argCount: 3
    argNames:
    - p_dec
    - i_nzstart
    - i_nzstop
    argTypes:
    - decoder_t*
    - vlc_tick_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1978
      start: 1852
    functionDepth: 6
    functionLinenumber: 1852
    functionLinenumberEnd: 1978
    functionName: RenderRegions
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - GetCueTextAlignment
    - decoder_QueueSub
    - ConvertCueToSegments
    - CreateSpuOrNewUpdaterRegion
    - webvtt_get_cueboxrect
    - ConvertCuesToSegments
    - text_segment_ChainDelete
    - ApplyCSSRules
    linkageType: ''
    returnType: void
    signature: void RenderRegions( decoder_t *p_dec, vlc_tick_t i_nzstart, vlc_tick_t
      i_nzstop )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1986
      start: 1980
    functionDepth: 0
    functionLinenumber: 1980
    functionLinenumberEnd: 1986
    functionName: timedtagsArrayCmp
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int timedtagsArrayCmp( const void *a, const void *b )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vlc_array_init
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1993,1
    - Dst: GetTimedTags
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1995,1
    - Dst: qsort
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:1997,1
    - Dst: vlc_array_item_at_index
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2003,1
    - Dst: ClearCSSStyles
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2007,1
    - Dst: RenderRegions
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2008,1
    - Dst: ClearCSSStyles
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2015,1
    - Dst: RenderRegions
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2016,1
    - Dst: vlc_array_clear
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2019,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - p_dec
    - i_nzstart
    - i_nzstop
    argTypes:
    - decoder_t*
    - vlc_tick_t
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2020
      start: 1988
    functionDepth: 7
    functionLinenumber: 1988
    functionLinenumberEnd: 2020
    functionName: Render
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 17
    functionsReached:
    - vlc_array_item_at_index
    - GetTimedTags
    - qsort
    - RenderRegions
    - vlc_array_init
    - vlc_array_clear
    - ClearCSSStyles
    linkageType: ''
    returnType: void
    signature: void Render( decoder_t *p_dec, vlc_tick_t i_nzstart, vlc_tick_t i_nzstop
      )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mp4_box_iterator_Init
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2028,1
    - Dst: mp4_box_iterator_Next
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2029,1
    - Dst: webvtt_dom_cue_New
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2033,1
    - Dst: mp4_box_iterator_Init
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2038,1
    - Dst: mp4_box_iterator_Next
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2039,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2045,1
    - Dst: strndup
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2046,1
    - Dst: strndup
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2050,1
    - Dst: webvtt_cue_settings_Parse
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2052,1
    - Dst: strndup
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2056,1
    - Dst: ProcessCue
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2058,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2061,1
    - Dst: webvtt_region_GetByID
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2064,1
    - Dst: webvtt_domnode_getCue
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2066,1
    - Dst: webvtt_domnode_mergeCues
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2072,1
    - Dst: webvtt_region_AddCue
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2078,1
    - Dst: assert
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2079,1
    - Dst: webvtt_domnode_AppendLast
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2083,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 5
    argNames:
    - p_dec
    - p_buffer
    - i_buffer
    - i_nzstart
    - i_nzstop
    argTypes:
    - decoder_t*
    - uint8_t*
    - size_t
    - vlc_tick_t
    - vlc_tick_t
    assertStmts:
    - condition: ( p_region->p_child )
      pos:
        line_end: 2078
        line_start: 2078
        source_file: /src/vlc/modules/codec/webvtt/subsvtt.c
    constantsTouched: []
    func_position:
      end: 2090
      start: 2022
    functionDepth: 7
    functionLinenumber: 2022
    functionLinenumberEnd: 2090
    functionName: ProcessISOBMFF
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - strndup
    - webvtt_region_AddCue
    - assert
    - webvtt_domnode_AppendLast
    - webvtt_dom_cue_New
    - webvtt_region_GetByID
    - free
    - webvtt_domnode_mergeCues
    - webvtt_cue_settings_Parse
    - mp4_box_iterator_Next
    - ProcessCue
    - webvtt_domnode_getCue
    - mp4_box_iterator_Init
    linkageType: ''
    returnType: int
    signature: "int ProcessISOBMFF( decoder_t *p_dec,\n                           const
      uint8_t *p_buffer, size_t i_buffer,\n                           vlc_tick_t i_nzstart,
      vlc_tick_t i_nzstop )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: webvtt_domnode_AppendLast
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2115,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2117,1
    - Dst: webvtt_region_Delete
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2120,1
    - Dst: vlc_memstream_close
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2126,1
    - Dst: vlc_css_parser_Init
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2129,1
    - Dst: vlc_css_parser_ParseBytes
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2130,1
    - Dst: vlc_css_parser_Debug
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2134,1
    - Dst: vlc_css_parser_Clean
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2142,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2143,1
    - Dst: webvtt_region_New
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2154,1
    - Dst: vlc_memstream_open
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2157,1
    - Dst: webvtt_region_Parse
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2164,1
    - Dst: vlc_memstream_puts
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2168,1
    - Dst: vlc_memstream_putc
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2169,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 4
    argNames:
    - priv
    - s
    - b_new
    - psz_line
    argTypes:
    - void*
    - enum webvtt_header_line_e
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2172
      start: 2102
    functionDepth: 4
    functionLinenumber: 2102
    functionLinenumberEnd: 2172
    functionName: ParserHeaderHandler
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - webvtt_region_Delete
    - vlc_css_parser_Init
    - vlc_memstream_puts
    - webvtt_domnode_AppendLast
    - vlc_css_parser_Debug
    - vlc_memstream_open
    - vlc_css_parser_Clean
    - free
    - msg_Dbg
    - vlc_css_parser_ParseBytes
    - webvtt_region_New
    - webvtt_region_Parse
    - vlc_memstream_close
    - vlc_memstream_putc
    linkageType: ''
    returnType: void
    signature: "void ParserHeaderHandler( void *priv, enum webvtt_header_line_e s,\n
      \                                bool b_new, const char *psz_line )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_stream_MemoryNew
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2176,1
    - Dst: webvtt_text_parser_New
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2190,1
    - Dst: vlc_stream_ReadLine
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2194,1
    - Dst: webvtt_text_parser_Feed
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2195,1
    - Dst: webvtt_text_parser_Delete
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2196,1
    - Dst: ParserHeaderHandler
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2198,1
    - Dst: vlc_stream_Delete
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2202
      start: 2174
    functionDepth: 1
    functionLinenumber: 2174
    functionLinenumberEnd: 2202
    functionName: LoadExtradata
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - webvtt_text_parser_Delete
    - webvtt_text_parser_Feed
    - ParserHeaderHandler
    - vlc_stream_Delete
    - vlc_stream_ReadLine
    - vlc_stream_MemoryNew
    - webvtt_text_parser_New
    linkageType: ''
    returnType: void
    signature: void LoadExtradata( decoder_t *p_dec )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ClearCuesByTime
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2211
      start: 2207
    functionDepth: 6
    functionLinenumber: 2207
    functionLinenumberEnd: 2211
    functionName: Flush
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 102
    functionsReached:
    - ClearCuesByTime
    linkageType: ''
    returnType: void
    signature: void Flush( decoder_t *p_dec )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2227,1
    - Dst: ClearCuesByTime
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2229,1
    - Dst: ProcessISOBMFF
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2231,1
    - Dst: Render
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2234,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2238
      start: 2216
    functionDepth: 8
    functionLinenumber: 2216
    functionLinenumberEnd: 2238
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 20
    functionsReached:
    - block_Release
    - Render
    - ClearCuesByTime
    - Flush
    - ProcessISOBMFF
    linkageType: ''
    returnType: int
    signature: int DecodeBlock( decoder_t *p_dec, block_t *p_block )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: webvtt_domnode_ChainDelete
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2248,1
    - Dst: vlc_css_rules_Delete
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2251,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2255
      start: 2243
    functionDepth: 3
    functionLinenumber: 2243
    functionLinenumberEnd: 2255
    functionName: webvtt_CloseDecoder
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_css_rules_Delete
    - webvtt_domnode_ChainDelete
    linkageType: ''
    returnType: void
    signature: void webvtt_CloseDecoder( vlc_object_t *p_this )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2269,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2270,1
    - Dst: webvtt_dom_tag_New
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2273,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2276,1
    - Dst: strdup
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2279,1
    - Dst: LoadExtradata
      Src: /src/vlc/modules/codec/webvtt/subsvtt.c:2285,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2288
      start: 2260
    functionDepth: 2
    functionLinenumber: 2260
    functionLinenumberEnd: 2288
    functionName: webvtt_OpenDecoder
    functionSourceFile: /src/vlc/modules/codec/webvtt/subsvtt.c
    functionUses: 0
    functionsReached:
    - webvtt_dom_tag_New
    - strdup
    - LoadExtradata
    - calloc
    - free
    - unlikely
    linkageType: ''
    returnType: int
    signature: int webvtt_OpenDecoder( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: CHAIN_APPEND_IMPL
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHAIN_APPEND_IMPL(n, t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:48,1
    - Dst: vlc_css_expression_Delete
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - vlc_css_term_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: vlc_css_term_Clean
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_parser.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_css_expression_Delete
    linkageType: ''
    returnType: void
    signature: void vlc_css_term_Clean( vlc_css_term_t a )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:59,1
    - Dst: printf
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:60,1
    - Dst: printf
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:63,1
    - Dst: vlc_css_expression_Debug
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:65,1
    - Dst: printf
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - a
    - depth
    argTypes:
    - vlc_css_term_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 68
    functionName: vlc_css_term_Debug
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_parser.c
    functionUses: 0
    functionsReached:
    - vlc_css_expression_Debug
    - printf
    linkageType: ''
    returnType: void
    signature: void vlc_css_term_Debug( const vlc_css_term_t a, int depth )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - p_expr
    - op
    - a
    argTypes:
    - vlc_css_expr_t*
    - char
    - vlc_css_term_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 90
    functionName: vlc_css_expression_AddTerm
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_parser.c
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: bool
    signature: "bool vlc_css_expression_AddTerm( vlc_css_expr_t *p_expr,\n                                        char
      op, vlc_css_term_t a )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_css_term_Clean
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:97,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:98,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - p_expr
    argTypes:
    - vlc_css_expr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: vlc_css_expression_Delete
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_parser.c
    functionUses: 1
    functionsReached:
    - free
    - vlc_css_term_Clean
    linkageType: ''
    returnType: void
    signature: void vlc_css_expression_Delete( vlc_css_expr_t *p_expr )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:107,1
    - Dst: printf
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:108,1
    - Dst: vlc_css_term_Debug
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - p_expr
    - depth
    argTypes:
    - vlc_css_expr_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 112
    functionName: vlc_css_expression_Debug
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_parser.c
    functionUses: 1
    functionsReached:
    - printf
    - vlc_css_term_Debug
    linkageType: ''
    returnType: void
    signature: void vlc_css_expression_Debug( const vlc_css_expr_t *p_expr, int depth
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:116,1
    - Dst: vlc_css_expression_AddTerm
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:117,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - term
    argTypes:
    - vlc_css_term_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: vlc_css_expression_New
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_parser.c
    functionUses: 0
    functionsReached:
    - calloc
    - vlc_css_expression_AddTerm
    - free
    linkageType: ''
    returnType: vlc_css_expr_t
    signature: vlc_css_expr_t * vlc_css_expression_New( vlc_css_term_t term )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_css_expression_Delete
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:132,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:133,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_decl
    argTypes:
    - vlc_css_declaration_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: vlc_css_declarations_Delete
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_parser.c
    functionUses: 0
    functionsReached:
    - free
    - vlc_css_expression_Delete
    linkageType: ''
    returnType: void
    signature: void vlc_css_declarations_Delete( vlc_css_declaration_t *p_decl )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:143,1
    - Dst: printf
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:144,1
    - Dst: vlc_css_expression_Debug
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p_decl
    - depth
    argTypes:
    - vlc_css_declaration_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 148
    functionName: vlc_css_declarations_Debug
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_parser.c
    functionUses: 0
    functionsReached:
    - vlc_css_expression_Debug
    - printf
    linkageType: ''
    returnType: void
    signature: void vlc_css_declarations_Debug( const vlc_css_declaration_t *p_decl,
      int depth )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:152,1
    - Dst: likely
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:153,1
    - Dst: strdup
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:155,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:156,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - psz
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 163
    functionName: vlc_css_declaration_New
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_parser.c
    functionUses: 0
    functionsReached:
    - strdup
    - calloc
    - free
    - likely
    - unlikely
    linkageType: ''
    returnType: vlc_css_declaration_t
    signature: vlc_css_declaration_t * vlc_css_declaration_New( const char *psz )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p_sel
    - p_spec
    argTypes:
    - vlc_css_selector_t*
    - vlc_css_selector_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 176
    functionName: vlc_css_selector_AddSpecifier
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vlc_css_selector_AddSpecifier( vlc_css_selector_t *p_sel, vlc_css_selector_t
      *p_spec )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:183,1
    - Dst: vlc_css_selectors_Delete
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:184,1
    - Dst: vlc_css_selectors_Delete
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:185,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p_sel
    argTypes:
    - vlc_css_selector_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 189
    functionName: vlc_css_selectors_Delete
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_parser.c
    functionUses: 1
    functionsReached:
    - free
    - vlc_css_selectors_Delete
    linkageType: ''
    returnType: void
    signature: void vlc_css_selectors_Delete( vlc_css_selector_t *p_sel )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:195,1
    - Dst: printf
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:195,1
    - Dst: vlc_css_selectors_Debug
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:196,1
    - Dst: vlc_css_selectors_Debug
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p_sel
    - depth
    argTypes:
    - vlc_css_selector_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 200
    functionName: vlc_css_selectors_Debug
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_parser.c
    functionUses: 1
    functionsReached:
    - printf
    - vlc_css_selectors_Debug
    linkageType: ''
    returnType: void
    signature: void vlc_css_selectors_Debug( const vlc_css_selector_t *p_sel, int
      depth )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:204,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:205,1
    - Dst: strdup
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - type
    - psz
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 212
    functionName: vlc_css_selector_New
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_parser.c
    functionUses: 0
    functionsReached:
    - calloc
    - strdup
    - unlikely
    linkageType: ''
    returnType: vlc_css_selector_t
    signature: vlc_css_selector_t * vlc_css_selector_New( int type, const char *psz
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_css_selectors_Delete
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:219,1
    - Dst: vlc_css_declarations_Delete
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:220,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p_rule
    argTypes:
    - vlc_css_rule_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 214
    functionDepth: 4
    functionLinenumber: 214
    functionLinenumberEnd: 224
    functionName: vlc_css_rules_Delete
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_parser.c
    functionUses: 1
    functionsReached:
    - vlc_css_selectors_Delete
    - vlc_css_declarations_Delete
    - free
    linkageType: ''
    returnType: void
    signature: void vlc_css_rules_Delete( vlc_css_rule_t *p_rule )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:231,1
    - Dst: printf
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:231,1
    - Dst: vlc_css_selectors_Debug
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:232,1
    - Dst: vlc_css_declarations_Debug
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p_rule
    - depth
    argTypes:
    - vlc_css_rule_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 226
    functionDepth: 4
    functionLinenumber: 226
    functionLinenumberEnd: 236
    functionName: vlc_css_rules_Debug
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_parser.c
    functionUses: 0
    functionsReached:
    - vlc_css_declarations_Debug
    - printf
    - vlc_css_selectors_Debug
    linkageType: ''
    returnType: void
    signature: void vlc_css_rules_Debug( const vlc_css_rule_t *p_rule, int depth )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: vlc_css_rule_New
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_parser.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: vlc_css_rule_t
    signature: vlc_css_rule_t * vlc_css_rule_New( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_parser
    - p_rule
    argTypes:
    - vlc_css_parser_t*
    - vlc_css_rule_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 249
    functionName: vlc_css_parser_AddRule
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void vlc_css_parser_AddRule( vlc_css_parser_t *p_parser,\n                                           vlc_css_rule_t
      *p_rule )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_css_rules_Debug
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_parser
    argTypes:
    - vlc_css_parser_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 5
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: vlc_css_parser_Debug
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_parser.c
    functionUses: 1
    functionsReached:
    - vlc_css_rules_Debug
    linkageType: ''
    returnType: void
    signature: void vlc_css_parser_Debug( const vlc_css_parser_t *p_parser )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_css_rules_Delete
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_parser
    argTypes:
    - vlc_css_parser_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 5
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: vlc_css_parser_Clean
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_parser.c
    functionUses: 1
    functionsReached:
    - vlc_css_rules_Delete
    linkageType: ''
    returnType: void
    signature: void vlc_css_parser_Clean( vlc_css_parser_t *p_parser )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p_parser
    argTypes:
    - vlc_css_parser_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 265
    functionName: vlc_css_parser_Init
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_parser.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void vlc_css_parser_Init( vlc_css_parser_t *p_parser )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: csslex_init
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:270,1
    - Dst: css_scan_bytes
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:272,1
    - Dst: cssparse
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:274,1
    - Dst: css_delete_buffer
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:276,1
    - Dst: csslex_destroy
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - p_parser
    - p_data
    - i_data
    argTypes:
    - vlc_css_parser_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 280
    functionName: vlc_css_parser_ParseBytes
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_parser.c
    functionUses: 1
    functionsReached:
    - cssparse
    - csslex_destroy
    - css_delete_buffer
    - css_scan_bytes
    - csslex_init
    linkageType: ''
    returnType: bool
    signature: bool vlc_css_parser_ParseBytes( vlc_css_parser_t *p_parser, const uint8_t
      *p_data, size_t i_data )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: csslex_init
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:285,1
    - Dst: css_scan_string
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:287,1
    - Dst: cssparse
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:289,1
    - Dst: css_delete_buffer
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:291,1
    - Dst: csslex_destroy
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p_parser
    - psz_css
    argTypes:
    - vlc_css_parser_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 295
    functionName: vlc_css_parser_ParseString
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_parser.c
    functionUses: 0
    functionsReached:
    - cssparse
    - css_scan_string
    - csslex_destroy
    - css_delete_buffer
    - csslex_init
    linkageType: ''
    returnType: bool
    signature: bool vlc_css_parser_ParseString( vlc_css_parser_t *p_parser, const
      char *psz_css )
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 2
    argNames:
    - ucs4
    - p
    argTypes:
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 345
    functionName: CodePointToUTF8
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CodePointToUTF8( uint32_t ucs4, char *p )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:364,1
    - Dst: isxdigit
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:387,1
    - Dst: isxdigit
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:391,1
    - Dst: strtoul
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:395,1
    - Dst: CodePointToUTF8
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:399,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 1
    argNames:
    - psz
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 409
    functionName: vlc_css_unescape
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_parser.c
    functionUses: 0
    functionsReached:
    - strtoul
    - strchr
    - isxdigit
    - CodePointToUTF8
    linkageType: ''
    returnType: void
    signature: void vlc_css_unescape( char *psz )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:413,1
    - Dst: vlc_css_unescape
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - psz
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 416
    functionName: vlc_css_unescaped
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_parser.c
    functionUses: 0
    functionsReached:
    - vlc_css_unescape
    - strdup
    linkageType: ''
    returnType: char
    signature: char * vlc_css_unescaped( const char *psz )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:423,1
    - Dst: strndup
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:425,1
    - Dst: strdup
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:427,1
    - Dst: strdup
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:431,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - psz
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 434
    functionName: vlc_css_unquoted
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_parser.c
    functionUses: 0
    functionsReached:
    - strndup
    - strlen
    - strdup
    linkageType: ''
    returnType: char
    signature: char * vlc_css_unquoted( const char *psz )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_css_unquoted
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:439,1
    - Dst: vlc_css_unescape
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - psz
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 443
    functionName: vlc_css_unquotedunescaped
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_parser.c
    functionUses: 0
    functionsReached:
    - vlc_css_unquoted
    - vlc_css_unescape
    linkageType: ''
    returnType: char
    signature: char * vlc_css_unquotedunescaped( const char *psz )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:450,1
    - Dst: printf
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:453,1
    - Dst: printf
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_decl
    argTypes:
    - vlc_css_declaration_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 456
    functionName: css_properties_Debug
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_parser.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void css_properties_Debug( const vlc_css_declaration_t *p_decl )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:460,1
    - Dst: printf
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:464,1
    - Dst: printf
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:467,1
    - Dst: printf
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:470,1
    - Dst: printf
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:473,1
    - Dst: printf
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:479,1
    - Dst: printf
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:483,1
    - Dst: printf
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:486,1
    - Dst: printf
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:489,1
    - Dst: printf
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:492,1
    - Dst: printf
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:495,1
    - Dst: printf
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:498,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 1
    argNames:
    - p_sel
    argTypes:
    - vlc_css_selector_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 501
    functionName: css_selector_Debug
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_parser.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void css_selector_Debug( const vlc_css_selector_t *p_sel )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:507,1
    - Dst: css_selector_Debug
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:511,1
    - Dst: css_selector_Debug
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:514,1
    - Dst: printf
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:517,1
    - Dst: css_properties_Debug
      Src: /src/vlc/modules/codec/webvtt/css_parser.c:523,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - p_rule
    argTypes:
    - vlc_css_rule_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 525
    functionName: css_rule_Debug
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_parser.c
    functionUses: 0
    functionsReached:
    - css_properties_Debug
    - printf
    - css_selector_Debug
    linkageType: ''
    returnType: void
    signature: void css_rule_Debug( const vlc_css_rule_t *p_rule )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_from_sec
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:95,1
    - Dst: VLC_TICK_FROM_MS
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - int32_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: MakeTime
    functionSourceFile: /src/vlc/modules/codec/webvtt/webvtt.c
    functionUses: 0
    functionsReached:
    - vlc_tick_from_sec
    - VLC_TICK_FROM_MS
    linkageType: ''
    returnType: vlc_tick_t
    signature: vlc_tick_t MakeTime( int32_t t[4] )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:102,1
    - Dst: MakeTime
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:109,1
    - Dst: sscanf
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:112,1
    - Dst: MakeTime
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:118,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - psz
    - p_time
    argTypes:
    - char*
    - vlc_tick_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 122
    functionName: webvtt_scan_time
    functionSourceFile: /src/vlc/modules/codec/webvtt/webvtt.c
    functionUses: 1
    functionsReached:
    - sscanf
    - MakeTime
    linkageType: ''
    returnType: bool
    signature: bool webvtt_scan_time( const char *psz, vlc_tick_t *p_time )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:126,1
    - Dst: strncmp
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:127,1
    - Dst: isspace
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - psz
    - keyword
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: KeywordMatch
    functionSourceFile: /src/vlc/modules/codec/webvtt/webvtt.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strlen
    - isspace
    linkageType: ''
    returnType: bool
    signature: bool KeywordMatch( const char *psz, const char *keyword )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - priv
    - (*pf_get_cue)( void * )
    argTypes:
    - void*
    - webvtt_cue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 152
    functionName: webvtt_text_parser_New
    functionSourceFile: /src/vlc/modules/codec/webvtt/webvtt.c
    functionUses: 3
    functionsReached:
    - malloc
    linkageType: ''
    returnType: webvtt_text_parser_t
    signature: "webvtt_text_parser_t * webvtt_text_parser_New( void *priv,\n                    webvtt_cue_t
      *(*pf_get_cue)( void * ),\n                    void (*pf_cue_done)( void *,
      webvtt_cue_t * ),\n                    void (*pf_header)( void *, enum webvtt_header_line_e,
      bool, const char * ) )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:157,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - webvtt_text_parser_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: webvtt_text_parser_Delete
    functionSourceFile: /src/vlc/modules/codec/webvtt/webvtt.c
    functionUses: 3
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void webvtt_text_parser_Delete( webvtt_text_parser_t *p )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: webvtt_text_parser_t*::pf_header
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - p
    - psz_line
    - b_new
    argTypes:
    - webvtt_text_parser_t*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: forward_line
    functionSourceFile: /src/vlc/modules/codec/webvtt/webvtt.c
    functionUses: 0
    functionsReached:
    - webvtt_text_parser_t*::pf_header
    linkageType: ''
    returnType: void
    signature: void forward_line( webvtt_text_parser_t *p, const char *psz_line, bool
      b_new )
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: webvtt_text_parser_t*::pf_cue_done
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:175,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:181,1
    - Dst: unlikely
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:187,1
    - Dst: KeywordMatch
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:189,1
    - Dst: KeywordMatch
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:190,1
    - Dst: webvtt_text_parser_t*::pf_cue_done
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:196,1
    - Dst: KeywordMatch
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:201,1
    - Dst: forward_line
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:204,1
    - Dst: KeywordMatch
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:207,1
    - Dst: forward_line
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:210,1
    - Dst: KeywordMatch
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:213,1
    - Dst: likely
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:224,1
    - Dst: webvtt_text_parser_t*::pf_cue_done
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:233,1
    - Dst: asprintf
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:240,1
    - Dst: free
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:242,1
    - Dst: strstr
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:252,1
    - Dst: webvtt_scan_time
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:257,1
    - Dst: webvtt_scan_time
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:258,1
    - Dst: strchr
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:260,1
    - Dst: webvtt_text_parser_t*::pf_get_cue
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:261,1
    - Dst: strdup
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:264,1
    - Dst: forward_line
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:277,1
    - Dst: forward_line
      Src: /src/vlc/modules/codec/webvtt/webvtt.c:283,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 88
    argCount: 2
    argNames:
    - p
    - psz_line
    argTypes:
    - webvtt_text_parser_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 292
    functionName: webvtt_text_parser_Feed
    functionSourceFile: /src/vlc/modules/codec/webvtt/webvtt.c
    functionUses: 4
    functionsReached:
    - forward_line
    - asprintf
    - strchr
    - KeywordMatch
    - strdup
    - webvtt_text_parser_t*::pf_cue_done
    - webvtt_scan_time
    - free
    - likely
    - strstr
    - webvtt_text_parser_t*::pf_get_cue
    - unlikely
    linkageType: ''
    returnType: void
    signature: void webvtt_text_parser_Feed( webvtt_text_parser_t *p, char *psz_line
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - run
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: BAILOUT
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BAILOUT(run)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - test
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: CHECK
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_test.c
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(test)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - foo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: EXPECT
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_test.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPECT(foo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: PARSE_CSS
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARSE_CSS(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PARSE_CSS
      Src: /src/vlc/modules/codec/webvtt/css_test.c:54,1
    - Dst: CHECK
      Src: /src/vlc/modules/codec/webvtt/css_test.c:56,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:57,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:58,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:58,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:59,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:61,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:61,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:62,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:63,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:64,1
    - Dst: CHECK
      Src: /src/vlc/modules/codec/webvtt/css_test.c:66,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:68,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:69,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:69,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:70,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:72,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:72,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:73,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:74,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:75,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:75,1
    - Dst: CHECK
      Src: /src/vlc/modules/codec/webvtt/css_test.c:77,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:79,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:80,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:80,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:81,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:83,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:83,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:84,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:85,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:86,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:86,1
    - Dst: vlc_css_parser_Clean
      Src: /src/vlc/modules/codec/webvtt/css_test.c:88,1
    - Dst: vlc_css_parser_Clean
      Src: /src/vlc/modules/codec/webvtt/css_test.c:92,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 46
    functionDepth: 6
    functionLinenumber: 46
    functionLinenumberEnd: 94
    functionName: test_element_selectors
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_test.c
    functionUses: 0
    functionsReached:
    - PARSE_CSS
    - vlc_css_parser_Clean
    - strcmp
    - EXPECT
    - CHECK
    linkageType: ''
    returnType: int
    signature: int test_element_selectors(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PARSE_CSS
      Src: /src/vlc/modules/codec/webvtt/css_test.c:108,1
    - Dst: CHECK
      Src: /src/vlc/modules/codec/webvtt/css_test.c:110,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:111,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:112,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:112,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:113,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:114,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:115,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:116,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:116,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:117,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:118,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:119,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:119,1
    - Dst: CHECK
      Src: /src/vlc/modules/codec/webvtt/css_test.c:121,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:123,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:124,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:124,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:125,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:126,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:127,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:128,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:128,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:129,1
    - Dst: CHECK
      Src: /src/vlc/modules/codec/webvtt/css_test.c:131,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:133,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:134,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:134,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:135,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:136,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:137,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:138,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:138,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:139,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:140,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:141,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:141,1
    - Dst: CHECK
      Src: /src/vlc/modules/codec/webvtt/css_test.c:143,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:145,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:146,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:146,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:147,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:148,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:149,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:150,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:150,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:151,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:152,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:153,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:153,1
    - Dst: CHECK
      Src: /src/vlc/modules/codec/webvtt/css_test.c:155,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:157,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:158,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:158,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:159,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:160,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:161,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:162,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:162,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:163,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:164,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:165,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:165,1
    - Dst: CHECK
      Src: /src/vlc/modules/codec/webvtt/css_test.c:167,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:169,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:170,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:170,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:171,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:172,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:173,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:174,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:174,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:175,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:176,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:177,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:177,1
    - Dst: CHECK
      Src: /src/vlc/modules/codec/webvtt/css_test.c:179,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:181,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:182,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:182,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:183,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:184,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:185,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:186,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:186,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:187,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:188,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:189,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:189,1
    - Dst: vlc_css_parser_Clean
      Src: /src/vlc/modules/codec/webvtt/css_test.c:191,1
    - Dst: vlc_css_parser_Clean
      Src: /src/vlc/modules/codec/webvtt/css_test.c:195,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 96
    functionDepth: 6
    functionLinenumber: 96
    functionLinenumberEnd: 197
    functionName: test_attributes_selectors
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_test.c
    functionUses: 0
    functionsReached:
    - PARSE_CSS
    - vlc_css_parser_Clean
    - strcmp
    - EXPECT
    - CHECK
    linkageType: ''
    returnType: int
    signature: int test_attributes_selectors(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PARSE_CSS
      Src: /src/vlc/modules/codec/webvtt/css_test.c:207,1
    - Dst: CHECK
      Src: /src/vlc/modules/codec/webvtt/css_test.c:209,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:210,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:211,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:211,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:212,1
    - Dst: CHECK
      Src: /src/vlc/modules/codec/webvtt/css_test.c:214,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:216,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:217,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:217,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:218,1
    - Dst: CHECK
      Src: /src/vlc/modules/codec/webvtt/css_test.c:220,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:222,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:223,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:223,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:224,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:225,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:226,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:227,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:227,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:228,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:229,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:230,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:230,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:231,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:232,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:233,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:233,1
    - Dst: vlc_css_parser_Clean
      Src: /src/vlc/modules/codec/webvtt/css_test.c:235,1
    - Dst: vlc_css_parser_Clean
      Src: /src/vlc/modules/codec/webvtt/css_test.c:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 199
    functionDepth: 6
    functionLinenumber: 199
    functionLinenumberEnd: 241
    functionName: test_pseudo_selectors
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_test.c
    functionUses: 0
    functionsReached:
    - PARSE_CSS
    - vlc_css_parser_Clean
    - strcmp
    - EXPECT
    - CHECK
    linkageType: ''
    returnType: int
    signature: int test_pseudo_selectors(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PARSE_CSS
      Src: /src/vlc/modules/codec/webvtt/css_test.c:253,1
    - Dst: CHECK
      Src: /src/vlc/modules/codec/webvtt/css_test.c:255,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:256,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:257,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:257,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:258,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:259,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:260,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:260,1
    - Dst: CHECK
      Src: /src/vlc/modules/codec/webvtt/css_test.c:262,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:264,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:265,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:265,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:266,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:267,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:267,1
    - Dst: CHECK
      Src: /src/vlc/modules/codec/webvtt/css_test.c:269,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:271,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:272,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:272,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:273,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:274,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:275,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:275,1
    - Dst: CHECK
      Src: /src/vlc/modules/codec/webvtt/css_test.c:277,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:279,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:280,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:280,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:281,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:282,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:283,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:283,1
    - Dst: CHECK
      Src: /src/vlc/modules/codec/webvtt/css_test.c:285,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:287,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:288,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:288,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:289,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:290,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:291,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:291,1
    - Dst: vlc_css_parser_Clean
      Src: /src/vlc/modules/codec/webvtt/css_test.c:293,1
    - Dst: vlc_css_parser_Clean
      Src: /src/vlc/modules/codec/webvtt/css_test.c:297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 243
    functionDepth: 6
    functionLinenumber: 243
    functionLinenumberEnd: 299
    functionName: test_combinators
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_test.c
    functionUses: 0
    functionsReached:
    - PARSE_CSS
    - vlc_css_parser_Clean
    - strcmp
    - EXPECT
    - CHECK
    linkageType: ''
    returnType: int
    signature: int test_combinators(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PARSE_CSS
      Src: /src/vlc/modules/codec/webvtt/css_test.c:325,1
    - Dst: CHECK
      Src: /src/vlc/modules/codec/webvtt/css_test.c:327,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:328,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:329,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:329,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:331,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:331,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:332,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:333,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:334,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:336,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:336,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:337,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:338,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:339,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:341,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:341,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:342,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:343,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:344,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:346,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:346,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:347,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:348,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:349,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:351,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:351,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:352,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:353,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:354,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:356,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:356,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:357,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:358,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:359,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:361,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:361,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:362,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:363,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:364,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:366,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:366,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:367,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:368,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:369,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:371,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:371,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:372,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:373,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:374,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:376,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:376,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:377,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:378,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:379,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:381,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:381,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:382,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:383,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:384,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:385,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:386,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:387,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:388,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:390,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:390,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:391,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:392,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:393,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:393,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:395,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:395,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:396,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:397,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:400,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:400,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:401,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:402,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:403,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:403,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:405,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:405,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:406,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:407,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:408,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:408,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:410,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:410,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:411,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:412,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:413,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:413,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:415,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:415,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:416,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:417,1
    - Dst: EXPECT
      Src: /src/vlc/modules/codec/webvtt/css_test.c:418,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/webvtt/css_test.c:418,1
    - Dst: vlc_css_parser_Clean
      Src: /src/vlc/modules/codec/webvtt/css_test.c:420,1
    - Dst: vlc_css_parser_Clean
      Src: /src/vlc/modules/codec/webvtt/css_test.c:424,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 98
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 301
    functionDepth: 6
    functionLinenumber: 301
    functionLinenumberEnd: 426
    functionName: test_values
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_test.c
    functionUses: 0
    functionsReached:
    - PARSE_CSS
    - vlc_css_parser_Clean
    - strcmp
    - EXPECT
    - CHECK
    linkageType: ''
    returnType: int
    signature: int test_values(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PARSE_CSS
      Src: /src/vlc/modules/codec/webvtt/css_test.c:456,1
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/webvtt/css_test.c:462,1
    - Dst: vlc_css_parser_Clean
      Src: /src/vlc/modules/codec/webvtt/css_test.c:464,1
    - Dst: vlc_css_parser_Clean
      Src: /src/vlc/modules/codec/webvtt/css_test.c:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 428
    functionDepth: 6
    functionLinenumber: 428
    functionLinenumberEnd: 470
    functionName: test_error_cases
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_test.c
    functionUses: 0
    functionsReached:
    - vlc_css_parser_Clean
    - PARSE_CSS
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int test_error_cases(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_element_selectors
      Src: /src/vlc/modules/codec/webvtt/css_test.c:474,1
    - Dst: test_attributes_selectors
      Src: /src/vlc/modules/codec/webvtt/css_test.c:475,1
    - Dst: test_pseudo_selectors
      Src: /src/vlc/modules/codec/webvtt/css_test.c:476,1
    - Dst: test_combinators
      Src: /src/vlc/modules/codec/webvtt/css_test.c:477,1
    - Dst: test_values
      Src: /src/vlc/modules/codec/webvtt/css_test.c:478,1
    - Dst: test_error_cases
      Src: /src/vlc/modules/codec/webvtt/css_test.c:479,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 472
    functionDepth: 7
    functionLinenumber: 472
    functionLinenumberEnd: 480
    functionName: main
    functionSourceFile: /src/vlc/modules/codec/webvtt/css_test.c
    functionUses: 12
    functionsReached:
    - test_attributes_selectors
    - test_pseudo_selectors
    - test_error_cases
    - test_combinators
    - test_element_selectors
    - test_values
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: OMX_DBG
    functionSourceFile: /src/vlc/modules/codec/omxil/omxil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OMX_DBG(...)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: h264_get_profile_level
      Src: /src/vlc/modules/codec/omxil/omxil.c:120,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/omxil/omxil.c:122,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/omxil.c:128,1
    - Dst: GetVlcChromaFormat
      Src: /src/vlc/modules/codec/omxil/omxil.c:139,1
    - Dst: GetVlcChromaSizes
      Src: /src/vlc/modules/codec/omxil/omxil.c:140,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/omxil/omxil.c:150,1
    - Dst: strncmp
      Src: /src/vlc/modules/codec/omxil/omxil.c:159,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/omxil/omxil.c:160,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/omxil/omxil.c:171,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 3
    argNames:
    - p_dec
    - p_port
    - p_fmt
    argTypes:
    - decoder_t*
    - OmxPort*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 181
    functionName: ImplementationSpecificWorkarounds
    functionSourceFile: /src/vlc/modules/codec/omxil/omxil.c
    functionUses: 0
    functionsReached:
    - h264_get_profile_level
    - strlen
    - GetVlcChromaSizes
    - strncmp
    - strcmp
    - GetVlcChromaFormat
    - msg_Dbg
    linkageType: ''
    returnType: OMX_ERRORTYPE
    signature: "OMX_ERRORTYPE ImplementationSpecificWorkarounds(decoder_t *p_dec,\n
      \   OmxPort *p_port, es_format_t *p_fmt)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: OMX_GetParameter
      Src: /src/vlc/modules/codec/omxil/omxil.c:193,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:195,1
    - Dst: ErrorToString
      Src: /src/vlc/modules/codec/omxil/omxil.c:196,1
    - Dst: GetOmxVideoFormat
      Src: /src/vlc/modules/codec/omxil/omxil.c:217,1
    - Dst: GetOmxChromaFormat
      Src: /src/vlc/modules/codec/omxil/omxil.c:220,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:224,1
    - Dst: GetVlcChromaSizes
      Src: /src/vlc/modules/codec/omxil/omxil.c:227,1
    - Dst: GetVlcChromaFormat
      Src: /src/vlc/modules/codec/omxil/omxil.c:242,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:246,1
    - Dst: GetVlcChromaSizes
      Src: /src/vlc/modules/codec/omxil/omxil.c:249,1
    - Dst: GetOmxAudioFormat
      Src: /src/vlc/modules/codec/omxil/omxil.c:268,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:272,1
    - Dst: OmxToVlcAudioFormat
      Src: /src/vlc/modules/codec/omxil/omxil.c:278,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:282,1
    - Dst: ImplementationSpecificWorkarounds
      Src: /src/vlc/modules/codec/omxil/omxil.c:291,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:292,1
    - Dst: ErrorToString
      Src: /src/vlc/modules/codec/omxil/omxil.c:293,1
    - Dst: OMX_SetParameter
      Src: /src/vlc/modules/codec/omxil/omxil.c:295,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:297,1
    - Dst: ErrorToString
      Src: /src/vlc/modules/codec/omxil/omxil.c:298,1
    - Dst: OMX_GetParameter
      Src: /src/vlc/modules/codec/omxil/omxil.c:300,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:302,1
    - Dst: ErrorToString
      Src: /src/vlc/modules/codec/omxil/omxil.c:303,1
    - Dst: SetAudioParameters
      Src: /src/vlc/modules/codec/omxil/omxil.c:312,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:322,1
    - Dst: ErrorToString
      Src: /src/vlc/modules/codec/omxil/omxil.c:323,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/omxil/omxil.c:325,1
    - Dst: ErrorToString
      Src: /src/vlc/modules/codec/omxil/omxil.c:326,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/omxil/omxil.c:330,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 90
    argCount: 3
    argNames:
    - p_dec
    - p_port
    - p_fmt
    argTypes:
    - decoder_t*
    - OmxPort*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 342
    functionName: SetPortDefinition
    functionSourceFile: /src/vlc/modules/codec/omxil/omxil.c
    functionUses: 0
    functionsReached:
    - CHECK_ERROR
    - OMX_GetParameter
    - GetOmxVideoFormat
    - GetOmxAudioFormat
    - GetOmxChromaFormat
    - GetVlcChromaSizes
    - OmxToVlcAudioFormat
    - strcmp
    - GetVlcChromaFormat
    - ImplementationSpecificWorkarounds
    - SetAudioParameters
    - msg_Warn
    - OMX_SetParameter
    - ErrorToString
    linkageType: ''
    returnType: OMX_ERRORTYPE
    signature: "OMX_ERRORTYPE SetPortDefinition(decoder_t *p_dec, OmxPort *p_port,\n
      \                                      es_format_t *p_fmt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OMX_INIT_STRUCTURE
      Src: /src/vlc/modules/codec/omxil/omxil.c:353,1
    - Dst: strncmp
      Src: /src/vlc/modules/codec/omxil/omxil.c:356,1
    - Dst: OMX_GetParameter
      Src: /src/vlc/modules/codec/omxil/omxil.c:360,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/omxil/omxil.c:363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 370
    functionName: UpdatePixelAspect
    functionSourceFile: /src/vlc/modules/codec/omxil/omxil.c
    functionUses: 0
    functionsReached:
    - strncmp
    - OMX_INIT_STRUCTURE
    - OMX_GetParameter
    - msg_Warn
    linkageType: ''
    returnType: OMX_ERRORTYPE
    signature: OMX_ERRORTYPE UpdatePixelAspect(decoder_t *p_dec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OMX_DBG
      Src: /src/vlc/modules/codec/omxil/omxil.c:382,1
    - Dst: calloc
      Src: /src/vlc/modules/codec/omxil/omxil.c:386,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/omxil/omxil.c:397,1
    - Dst: ALIGN
      Src: /src/vlc/modules/codec/omxil/omxil.c:399,1
    - Dst: OMX_UseBuffer
      Src: /src/vlc/modules/codec/omxil/omxil.c:405,1
    - Dst: OMX_DBG
      Src: /src/vlc/modules/codec/omxil/omxil.c:408,1
    - Dst: OMX_AllocateBuffer
      Src: /src/vlc/modules/codec/omxil/omxil.c:415,1
    - Dst: OMX_DBG
      Src: /src/vlc/modules/codec/omxil/omxil.c:418,1
    - Dst: OMX_FIFO_PUT
      Src: /src/vlc/modules/codec/omxil/omxil.c:428,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:431,1
    - Dst: OMX_DBG
      Src: /src/vlc/modules/codec/omxil/omxil.c:435,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - p_dec
    - p_port
    argTypes:
    - decoder_t*
    - OmxPort*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 438
    functionName: AllocateBuffers
    functionSourceFile: /src/vlc/modules/codec/omxil/omxil.c
    functionUses: 0
    functionsReached:
    - OMX_AllocateBuffer
    - CHECK_ERROR
    - OMX_UseBuffer
    - ALIGN
    - OMX_FIFO_PUT
    - calloc
    - OMX_DBG
    - malloc
    linkageType: ''
    returnType: OMX_ERRORTYPE
    signature: OMX_ERRORTYPE AllocateBuffers(decoder_t *p_dec, OmxPort *p_port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - BLOCKLIGN
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 397
    functionName: ALIGN
    functionSourceFile: /src/vlc/modules/codec/omxil/omxil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALIGN(x,BLOCKLIGN)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OMX_DBG
      Src: /src/vlc/modules/codec/omxil/omxil.c:452,1
    - Dst: OMX_FIFO_GET
      Src: /src/vlc/modules/codec/omxil/omxil.c:457,1
    - Dst: free
      Src: /src/vlc/modules/codec/omxil/omxil.c:459,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/omxil/omxil.c:471,1
    - Dst: OMX_FreeBuffer
      Src: /src/vlc/modules/codec/omxil/omxil.c:473,1
    - Dst: OMX_DBG
      Src: /src/vlc/modules/codec/omxil/omxil.c:475,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/omxil/omxil.c:483,1
    - Dst: free
      Src: /src/vlc/modules/codec/omxil/omxil.c:487,1
    - Dst: OMX_DBG
      Src: /src/vlc/modules/codec/omxil/omxil.c:490,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - p_dec
    - p_port
    argTypes:
    - decoder_t*
    - OmxPort*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 493
    functionName: FreeBuffers
    functionSourceFile: /src/vlc/modules/codec/omxil/omxil.c
    functionUses: 0
    functionsReached:
    - OMX_FIFO_GET
    - msg_Err
    - free
    - picture_Release
    - OMX_FreeBuffer
    - OMX_DBG
    linkageType: ''
    returnType: OMX_ERRORTYPE
    signature: OMX_ERRORTYPE FreeBuffers(decoder_t *p_dec, OmxPort *p_port)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: OMX_GetParameter
      Src: /src/vlc/modules/codec/omxil/omxil.c:506,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:508,1
    - Dst: ErrorToString
      Src: /src/vlc/modules/codec/omxil/omxil.c:509,1
    - Dst: OMX_INIT_STRUCTURE
      Src: /src/vlc/modules/codec/omxil/omxil.c:521,1
    - Dst: OMX_GetConfig
      Src: /src/vlc/modules/codec/omxil/omxil.c:523,1
    - Dst: strncmp
      Src: /src/vlc/modules/codec/omxil/omxil.c:547,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/omxil/omxil.c:548,1
    - Dst: GetVlcVideoFormat
      Src: /src/vlc/modules/codec/omxil/omxil.c:556,1
    - Dst: GetVlcChromaFormat
      Src: /src/vlc/modules/codec/omxil/omxil.c:559,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:563,1
    - Dst: GetVlcChromaSizes
      Src: /src/vlc/modules/codec/omxil/omxil.c:566,1
    - Dst: UpdatePixelAspect
      Src: /src/vlc/modules/codec/omxil/omxil.c:584,1
    - Dst: OmxToVlcAudioFormat
      Src: /src/vlc/modules/codec/omxil/omxil.c:588,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:592,1
    - Dst: GetAudioParameters
      Src: /src/vlc/modules/codec/omxil/omxil.c:596,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:604,1
    - Dst: ErrorToString
      Src: /src/vlc/modules/codec/omxil/omxil.c:605,1
    - Dst: date_Init
      Src: /src/vlc/modules/codec/omxil/omxil.c:611,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 73
    argCount: 3
    argNames:
    - p_dec
    - p_port
    - p_fmt
    argTypes:
    - decoder_t*
    - OmxPort*
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 620
    functionName: GetPortDefinition
    functionSourceFile: /src/vlc/modules/codec/omxil/omxil.c
    functionUses: 0
    functionsReached:
    - CHECK_ERROR
    - OMX_GetParameter
    - strlen
    - OMX_INIT_STRUCTURE
    - GetVlcChromaSizes
    - date_Init
    - OmxToVlcAudioFormat
    - strncmp
    - UpdatePixelAspect
    - GetVlcChromaFormat
    - GetVlcVideoFormat
    - ErrorToString
    - GetAudioParameters
    - OMX_GetConfig
    linkageType: ''
    returnType: OMX_ERRORTYPE
    signature: "OMX_ERRORTYPE GetPortDefinition(decoder_t *p_dec, OmxPort *p_port,\n
      \                                      es_format_t *p_fmt)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OMX_GetState
      Src: /src/vlc/modules/codec/omxil/omxil.c:636,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:637,1
    - Dst: OMX_SendCommand
      Src: /src/vlc/modules/codec/omxil/omxil.c:641,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:643,1
    - Dst: WaitForSpecificOmxEvent
      Src: /src/vlc/modules/codec/omxil/omxil.c:646,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:647,1
    - Dst: OMX_GetState
      Src: /src/vlc/modules/codec/omxil/omxil.c:655,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:656,1
    - Dst: OMX_SendCommand
      Src: /src/vlc/modules/codec/omxil/omxil.c:660,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:662,1
    - Dst: FreeBuffers
      Src: /src/vlc/modules/codec/omxil/omxil.c:668,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:669,1
    - Dst: WaitForSpecificOmxEvent
      Src: /src/vlc/modules/codec/omxil/omxil.c:673,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:674,1
    - Dst: free
      Src: /src/vlc/modules/codec/omxil/omxil.c:681,1
    - Dst: OMX_FIFO_PEEK
      Src: /src/vlc/modules/codec/omxil/omxil.c:685,1
    - Dst: OMX_FIFO_GET
      Src: /src/vlc/modules/codec/omxil/omxil.c:688,1
    - Dst: free
      Src: /src/vlc/modules/codec/omxil/omxil.c:690,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/omxil/omxil.c:693,1
    - Dst: pf_free_handle
      Src: /src/vlc/modules/codec/omxil/omxil.c:697,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 2
    argNames:
    - p_dec
    - omx_handle
    argTypes:
    - decoder_t*
    - OMX_HANDLETYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 625
    functionDepth: 2
    functionLinenumber: 625
    functionLinenumberEnd: 699
    functionName: DeinitialiseComponent
    functionSourceFile: /src/vlc/modules/codec/omxil/omxil.c
    functionUses: 0
    functionsReached:
    - CHECK_ERROR
    - WaitForSpecificOmxEvent
    - OMX_GetState
    - OMX_SendCommand
    - OMX_FIFO_GET
    - free
    - msg_Warn
    - FreeBuffers
    - OMX_FIFO_PEEK
    - pf_free_handle
    linkageType: ''
    returnType: OMX_ERRORTYPE
    signature: "OMX_ERRORTYPE DeinitialiseComponent(decoder_t *p_dec,\n                                           OMX_HANDLETYPE
      omx_handle)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: pf_get_handle
      Src: /src/vlc/modules/codec/omxil/omxil.c:720,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/omxil/omxil.c:723,1
    - Dst: ErrorToString
      Src: /src/vlc/modules/codec/omxil/omxil.c:724,1
    - Dst: strncpy
      Src: /src/vlc/modules/codec/omxil/omxil.c:727,1
    - Dst: OMXCodec_GetQuirks
      Src: /src/vlc/modules/codec/omxil/omxil.c:728,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/omxil/omxil.c:731,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/omxil/omxil.c:736,1
    - Dst: OMX_ComponentRoleEnum
      Src: /src/vlc/modules/codec/omxil/omxil.c:740,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/omxil.c:742,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/omxil.c:744,1
    - Dst: PrintOmx
      Src: /src/vlc/modules/codec/omxil/omxil.c:745,1
    - Dst: OMX_INIT_STRUCTURE
      Src: /src/vlc/modules/codec/omxil/omxil.c:748,1
    - Dst: strcpy
      Src: /src/vlc/modules/codec/omxil/omxil.c:749,1
    - Dst: GetOmxRole
      Src: /src/vlc/modules/codec/omxil/omxil.c:750,1
    - Dst: OMX_SetParameter
      Src: /src/vlc/modules/codec/omxil/omxil.c:753,1
    - Dst: OMX_GetParameter
      Src: /src/vlc/modules/codec/omxil/omxil.c:755,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/omxil.c:758,1
    - Dst: OMX_INIT_STRUCTURE
      Src: /src/vlc/modules/codec/omxil/omxil.c:761,1
    - Dst: OMX_INIT_STRUCTURE
      Src: /src/vlc/modules/codec/omxil/omxil.c:762,1
    - Dst: OMX_GetParameter
      Src: /src/vlc/modules/codec/omxil/omxil.c:763,1
    - Dst: OMX_GetParameter
      Src: /src/vlc/modules/codec/omxil/omxil.c:780,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:796,1
    - Dst: strncmp
      Src: /src/vlc/modules/codec/omxil/omxil.c:799,1
    - Dst: OMX_GetExtensionIndex
      Src: /src/vlc/modules/codec/omxil/omxil.c:802,1
    - Dst: OMX_SetConfig
      Src: /src/vlc/modules/codec/omxil/omxil.c:806,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:807,1
    - Dst: OMX_SetConfig
      Src: /src/vlc/modules/codec/omxil/omxil.c:811,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/omxil.c:813,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/omxil.c:815,1
    - Dst: strncmp
      Src: /src/vlc/modules/codec/omxil/omxil.c:819,1
    - Dst: OMX_INIT_STRUCTURE
      Src: /src/vlc/modules/codec/omxil/omxil.c:822,1
    - Dst: OMX_SetParameter
      Src: /src/vlc/modules/codec/omxil/omxil.c:828,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/omxil.c:831,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/omxil.c:834,1
    - Dst: SetPortDefinition
      Src: /src/vlc/modules/codec/omxil/omxil.c:840,1
    - Dst: strncmp
      Src: /src/vlc/modules/codec/omxil/omxil.c:845,1
    - Dst: OMX_INIT_STRUCTURE
      Src: /src/vlc/modules/codec/omxil/omxil.c:849,1
    - Dst: OMX_SetParameter
      Src: /src/vlc/modules/codec/omxil/omxil.c:852,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/omxil.c:855,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/omxil.c:857,1
    - Dst: OMX_SendCommand
      Src: /src/vlc/modules/codec/omxil/omxil.c:868,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:870,1
    - Dst: WaitForSpecificOmxEvent
      Src: /src/vlc/modules/codec/omxil/omxil.c:872,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:873,1
    - Dst: DeinitialiseComponent
      Src: /src/vlc/modules/codec/omxil/omxil.c:883,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 102
    argCount: 3
    argNames:
    - p_dec
    - psz_component
    - p_handle
    argTypes:
    - decoder_t*
    - OMX_STRING
    - OMX_HANDLETYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 704
    functionDepth: 3
    functionLinenumber: 704
    functionLinenumberEnd: 886
    functionName: InitialiseComponent
    functionSourceFile: /src/vlc/modules/codec/omxil/omxil.c
    functionUses: 0
    functionsReached:
    - OMX_GetParameter
    - SetPortDefinition
    - strcpy
    - OMX_ComponentRoleEnum
    - ErrorToString
    - DeinitialiseComponent
    - GetOmxRole
    - OMX_INIT_STRUCTURE
    - msg_Dbg
    - msg_Warn
    - CHECK_ERROR
    - WaitForSpecificOmxEvent
    - OMX_SetConfig
    - strncmp
    - OMX_SetParameter
    - PrintOmx
    - strncpy
    - strlen
    - OMX_SendCommand
    - pf_get_handle
    - OMXCodec_GetQuirks
    - OMX_GetExtensionIndex
    linkageType: ''
    returnType: OMX_ERRORTYPE
    signature: "OMX_ERRORTYPE InitialiseComponent(decoder_t *p_dec,\n    OMX_STRING
      psz_component, OMX_HANDLETYPE *p_handle)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetOmxRole
      Src: /src/vlc/modules/codec/omxil/omxil.c:896,1
    - Dst: OpenGeneric
      Src: /src/vlc/modules/codec/omxil/omxil.c:899,1
    - Dst: vlc_assert_unreachable
      Src: /src/vlc/modules/codec/omxil/omxil.c:906,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 891
    functionDepth: 1
    functionLinenumber: 891
    functionLinenumberEnd: 911
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/modules/codec/omxil/omxil.c
    functionUses: 0
    functionsReached:
    - vlc_assert_unreachable
    - OpenGeneric
    - GetOmxRole
    linkageType: ''
    returnType: int
    signature: int OpenDecoder( vlc_object_t *p_this )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CloseGeneric
      Src: /src/vlc/modules/codec/omxil/omxil.c:916,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/codec/omxil/omxil.c:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_enc
    argTypes:
    - encoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 917
    functionName: CloseEncoder
    functionSourceFile: /src/vlc/modules/codec/omxil/omxil.c
    functionUses: 4
    functionsReached:
    - VLC_OBJECT
    - CloseGeneric
    linkageType: ''
    returnType: void
    signature: void CloseEncoder( encoder_t *p_enc )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetOmxRole
      Src: /src/vlc/modules/codec/omxil/omxil.c:927,1
    - Dst: OpenGeneric
      Src: /src/vlc/modules/codec/omxil/omxil.c:930,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 922
    functionDepth: 1
    functionLinenumber: 922
    functionLinenumberEnd: 941
    functionName: OpenEncoder
    functionSourceFile: /src/vlc/modules/codec/omxil/omxil.c
    functionUses: 0
    functionsReached:
    - OpenGeneric
    - GetOmxRole
    linkageType: ''
    returnType: int
    signature: int OpenEncoder( vlc_object_t *p_this )
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: InitOmxCore
      Src: /src/vlc/modules/codec/omxil/omxil.c:955,1
    - Dst: calloc
      Src: /src/vlc/modules/codec/omxil/omxil.c:960,1
    - Dst: DeinitOmxCore
      Src: /src/vlc/modules/codec/omxil/omxil.c:962,1
    - Dst: InitOmxEventQueue
      Src: /src/vlc/modules/codec/omxil/omxil.c:980,1
    - Dst: OMX_FIFO_INIT
      Src: /src/vlc/modules/codec/omxil/omxil.c:981,1
    - Dst: OMX_FIFO_INIT
      Src: /src/vlc/modules/codec/omxil/omxil.c:985,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/omxil.c:993,1
    - Dst: CreateComponentsList
      Src: /src/vlc/modules/codec/omxil/omxil.c:998,1
    - Dst: GetOmxRole
      Src: /src/vlc/modules/codec/omxil/omxil.c:999,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/omxil/omxil.c:1003,1
    - Dst: CloseGeneric
      Src: /src/vlc/modules/codec/omxil/omxil.c:1005,1
    - Dst: OMXCodec_IsBlacklisted
      Src: /src/vlc/modules/codec/omxil/omxil.c:1014,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/omxil/omxil.c:1014,1
    - Dst: InitialiseComponent
      Src: /src/vlc/modules/codec/omxil/omxil.c:1017,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:1021,1
    - Dst: OMX_SendCommand
      Src: /src/vlc/modules/codec/omxil/omxil.c:1024,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:1025,1
    - Dst: AllocateBuffers
      Src: /src/vlc/modules/codec/omxil/omxil.c:1031,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:1032,1
    - Dst: WaitForSpecificOmxEvent
      Src: /src/vlc/modules/codec/omxil/omxil.c:1036,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:1037,1
    - Dst: OMX_SendCommand
      Src: /src/vlc/modules/codec/omxil/omxil.c:1039,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:1041,1
    - Dst: WaitForSpecificOmxEvent
      Src: /src/vlc/modules/codec/omxil/omxil.c:1042,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:1043,1
    - Dst: OMX_FIFO_GET
      Src: /src/vlc/modules/codec/omxil/omxil.c:1048,1
    - Dst: h264_isavcC
      Src: /src/vlc/modules/codec/omxil/omxil.c:1053,1
    - Dst: h264_avcC_to_AnnexB_NAL
      Src: /src/vlc/modules/codec/omxil/omxil.c:1057,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/omxil.c:1060,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/omxil.c:1066,1
    - Dst: free
      Src: /src/vlc/modules/codec/omxil/omxil.c:1068,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/omxil/omxil.c:1072,1
    - Dst: free
      Src: /src/vlc/modules/codec/omxil/omxil.c:1074,1
    - Dst: hevc_hvcC_to_AnnexB_NAL
      Src: /src/vlc/modules/codec/omxil/omxil.c:1080,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/omxil.c:1084,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/omxil.c:1090,1
    - Dst: free
      Src: /src/vlc/modules/codec/omxil/omxil.c:1092,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/omxil/omxil.c:1096,1
    - Dst: free
      Src: /src/vlc/modules/codec/omxil/omxil.c:1098,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/omxil/omxil.c:1126,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/omxil/omxil.c:1128,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/codec/omxil/omxil.c:1133,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/codec/omxil/omxil.c:1134,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/omxil.c:1140,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/omxil/omxil.c:1144,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/omxil.c:1149,1
    - Dst: OMX_EmptyThisBuffer
      Src: /src/vlc/modules/codec/omxil/omxil.c:1152,1
    - Dst: GetPortDefinition
      Src: /src/vlc/modules/codec/omxil/omxil.c:1156,1
    - Dst: PrintOmx
      Src: /src/vlc/modules/codec/omxil/omxil.c:1159,1
    - Dst: PrintOmx
      Src: /src/vlc/modules/codec/omxil/omxil.c:1160,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/omxil.c:1165,1
    - Dst: CloseGeneric
      Src: /src/vlc/modules/codec/omxil/omxil.c:1170,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 133
    argCount: 2
    argNames:
    - p_this
    - b_encode
    argTypes:
    - vlc_object_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 947
    functionDepth: 4
    functionLinenumber: 947
    functionLinenumberEnd: 1172
    functionName: OpenGeneric
    functionSourceFile: /src/vlc/modules/codec/omxil/omxil.c
    functionUses: 4
    functionsReached:
    - InitialiseComponent
    - memcpy
    - h264_isavcC
    - h264_avcC_to_AnnexB_NAL
    - GetOmxRole
    - OMXCodec_IsBlacklisted
    - calloc
    - InitOmxEventQueue
    - CreateComponentsList
    - SetDWLE
    - msg_Dbg
    - msg_Warn
    - AllocateBuffers
    - CHECK_ERROR
    - WaitForSpecificOmxEvent
    - CloseGeneric
    - PrintOmx
    - OMX_FIFO_INIT
    - hevc_hvcC_to_AnnexB_NAL
    - InitOmxCore
    - strlen
    - OMX_SendCommand
    - OMX_FIFO_GET
    - GetPortDefinition
    - free
    - OMX_EmptyThisBuffer
    - DeinitOmxCore
    linkageType: ''
    returnType: int
    signature: int OpenGeneric( vlc_object_t *p_this, bool b_encode )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OMX_DBG
      Src: /src/vlc/modules/codec/omxil/omxil.c:1183,1
    - Dst: OMX_INIT_STRUCTURE
      Src: /src/vlc/modules/codec/omxil/omxil.c:1186,1
    - Dst: OMX_GetParameter
      Src: /src/vlc/modules/codec/omxil/omxil.c:1188,1
    - Dst: OMX_SendCommand
      Src: /src/vlc/modules/codec/omxil/omxil.c:1195,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:1197,1
    - Dst: FreeBuffers
      Src: /src/vlc/modules/codec/omxil/omxil.c:1200,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:1201,1
    - Dst: WaitForSpecificOmxEvent
      Src: /src/vlc/modules/codec/omxil/omxil.c:1204,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:1205,1
    - Dst: GetPortDefinition
      Src: /src/vlc/modules/codec/omxil/omxil.c:1208,1
    - Dst: OMX_SetParameter
      Src: /src/vlc/modules/codec/omxil/omxil.c:1224,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:1226,1
    - Dst: ErrorToString
      Src: /src/vlc/modules/codec/omxil/omxil.c:1227,1
    - Dst: OMX_SendCommand
      Src: /src/vlc/modules/codec/omxil/omxil.c:1230,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:1232,1
    - Dst: AllocateBuffers
      Src: /src/vlc/modules/codec/omxil/omxil.c:1235,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:1236,1
    - Dst: WaitForSpecificOmxEvent
      Src: /src/vlc/modules/codec/omxil/omxil.c:1239,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:1240,1
    - Dst: PrintOmx
      Src: /src/vlc/modules/codec/omxil/omxil.c:1242,1
    - Dst: PrintOmx
      Src: /src/vlc/modules/codec/omxil/omxil.c:1243,1
    - Dst: OMX_DBG
      Src: /src/vlc/modules/codec/omxil/omxil.c:1245,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - p_dec
    - p_port
    argTypes:
    - decoder_t*
    - OmxPort*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1177
    functionDepth: 3
    functionLinenumber: 1177
    functionLinenumberEnd: 1248
    functionName: PortReconfigure
    functionSourceFile: /src/vlc/modules/codec/omxil/omxil.c
    functionUses: 0
    functionsReached:
    - OMX_GetParameter
    - CHECK_ERROR
    - WaitForSpecificOmxEvent
    - OMX_INIT_STRUCTURE
    - OMX_SendCommand
    - PrintOmx
    - GetPortDefinition
    - OMX_SetParameter
    - AllocateBuffers
    - OMX_DBG
    - FreeBuffers
    - ErrorToString
    linkageType: ''
    returnType: OMX_ERRORTYPE
    signature: OMX_ERRORTYPE PortReconfigure(decoder_t *p_dec, OmxPort *p_port)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: VLC_UNUSED
      Src: /src/vlc/modules/codec/omxil/omxil.c:1255,1
    - Dst: OMX_FIFO_PEEK
      Src: /src/vlc/modules/codec/omxil/omxil.c:1262,1
    - Dst: GetPortDefinition
      Src: /src/vlc/modules/codec/omxil/omxil.c:1267,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:1269,1
    - Dst: decoder_UpdateVideoFormat
      Src: /src/vlc/modules/codec/omxil/omxil.c:1271,1
    - Dst: decoder_NewPicture
      Src: /src/vlc/modules/codec/omxil/omxil.c:1281,1
    - Dst: CopyOmxPicture
      Src: /src/vlc/modules/codec/omxil/omxil.c:1284,1
    - Dst: FromOmxTicks
      Src: /src/vlc/modules/codec/omxil/omxil.c:1292,1
    - Dst: decoder_NewPicture
      Src: /src/vlc/modules/codec/omxil/omxil.c:1300,1
    - Dst: OMX_FIFO_GET
      Src: /src/vlc/modules/codec/omxil/omxil.c:1303,1
    - Dst: OMX_FIFO_GET
      Src: /src/vlc/modules/codec/omxil/omxil.c:1310,1
    - Dst: OMX_DBG
      Src: /src/vlc/modules/codec/omxil/omxil.c:1312,1
    - Dst: OMX_FillThisBuffer
      Src: /src/vlc/modules/codec/omxil/omxil.c:1314,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 3
    argNames:
    - p_dec
    - p_port
    - pp_pic
    argTypes:
    - decoder_t*
    - OmxPort*
    - picture_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1253
    functionDepth: 3
    functionLinenumber: 1253
    functionLinenumberEnd: 1321
    functionName: DecodeVideoOutput
    functionSourceFile: /src/vlc/modules/codec/omxil/omxil.c
    functionUses: 0
    functionsReached:
    - CHECK_ERROR
    - CopyOmxPicture
    - decoder_UpdateVideoFormat
    - decoder_NewPicture
    - OMX_FIFO_GET
    - GetPortDefinition
    - FromOmxTicks
    - OMX_FillThisBuffer
    - OMX_DBG
    - OMX_FIFO_PEEK
    - VLC_UNUSED
    linkageType: ''
    returnType: int
    signature: int DecodeVideoOutput( decoder_t *p_dec, OmxPort *p_port, picture_t
      **pp_pic )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OMX_FIFO_GET_TIMEOUT
      Src: /src/vlc/modules/codec/omxil/omxil.c:1331,1
    - Dst: free
      Src: /src/vlc/modules/codec/omxil/omxil.c:1334,1
    - Dst: ToOmxTicks
      Src: /src/vlc/modules/codec/omxil/omxil.c:1347,1
    - Dst: ToOmxTicks
      Src: /src/vlc/modules/codec/omxil/omxil.c:1349,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/omxil/omxil.c:1366,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/omxil/omxil.c:1370,1
    - Dst: h264_AVC_to_AnnexB
      Src: /src/vlc/modules/codec/omxil/omxil.c:1382,1
    - Dst: OMX_DBG
      Src: /src/vlc/modules/codec/omxil/omxil.c:1384,1
    - Dst: FromOmxTicks
      Src: /src/vlc/modules/codec/omxil/omxil.c:1386,1
    - Dst: OMX_EmptyThisBuffer
      Src: /src/vlc/modules/codec/omxil/omxil.c:1387,1
    - Dst: DecodeVideoInput
      Src: /src/vlc/modules/codec/omxil/omxil.c:1390,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 5
    argNames:
    - p_dec
    - p_port
    - pp_block
    - i_input_used
    - p_reconfig
    argTypes:
    - decoder_t*
    - OmxPort*
    - block_t**
    - unsigned int
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1323
    functionDepth: 1
    functionLinenumber: 1323
    functionLinenumberEnd: 1397
    functionName: DecodeVideoInput
    functionSourceFile: /src/vlc/modules/codec/omxil/omxil.c
    functionUses: 1
    functionsReached:
    - block_Release
    - DecodeVideoInput
    - memcpy
    - h264_AVC_to_AnnexB
    - ToOmxTicks
    - free
    - FromOmxTicks
    - OMX_EmptyThisBuffer
    - OMX_FIFO_GET_TIMEOUT
    - OMX_DBG
    linkageType: ''
    returnType: int
    signature: "int DecodeVideoInput( decoder_t *p_dec, OmxPort *p_port, block_t **pp_block,\n
      \                            unsigned int i_input_used, bool *p_reconfig )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/omxil.c:1408,1
    - Dst: OMX_SendCommand
      Src: /src/vlc/modules/codec/omxil/omxil.c:1409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1402
    functionDepth: 1
    functionLinenumber: 1402
    functionLinenumberEnd: 1413
    functionName: Flush
    functionSourceFile: /src/vlc/modules/codec/omxil/omxil.c
    functionUses: 103
    functionsReached:
    - OMX_SendCommand
    - msg_Dbg
    linkageType: ''
    returnType: void
    signature: void Flush( decoder_t *p_dec )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/omxil.c:1429,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/omxil/omxil.c:1430,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/omxil/omxil.c:1436,1
    - Dst: Flush
      Src: /src/vlc/modules/codec/omxil/omxil.c:1437,1
    - Dst: DecodeVideoInput
      Src: /src/vlc/modules/codec/omxil/omxil.c:1460,1
    - Dst: DecodeVideoOutput
      Src: /src/vlc/modules/codec/omxil/omxil.c:1466,1
    - Dst: PortReconfigure
      Src: /src/vlc/modules/codec/omxil/omxil.c:1475,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:1477,1
    - Dst: GetPortDefinition
      Src: /src/vlc/modules/codec/omxil/omxil.c:1481,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:1483,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/modules/codec/omxil/omxil.c:1489,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1417
    functionDepth: 4
    functionLinenumber: 1417
    functionLinenumberEnd: 1499
    functionName: DecodeVideo
    functionSourceFile: /src/vlc/modules/codec/omxil/omxil.c
    functionUses: 4
    functionsReached:
    - block_Release
    - CHECK_ERROR
    - DecodeVideoOutput
    - DecodeVideoInput
    - GetPortDefinition
    - PortReconfigure
    - decoder_QueueVideo
    - msg_Dbg
    - Flush
    linkageType: ''
    returnType: int
    signature: int DecodeVideo( decoder_t *p_dec, block_t *p_block )
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/omxil.c:1517,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/omxil/omxil.c:1518,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/omxil/omxil.c:1524,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/omxil/omxil.c:1525,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/omxil.c:1528,1
    - Dst: OMX_SendCommand
      Src: /src/vlc/modules/codec/omxil/omxil.c:1529,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/omxil/omxil.c:1536,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/omxil/omxil.c:1541,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/omxil/omxil.c:1544,1
    - Dst: OMX_FIFO_PEEK
      Src: /src/vlc/modules/codec/omxil/omxil.c:1552,1
    - Dst: decoder_UpdateAudioFormat
      Src: /src/vlc/modules/codec/omxil/omxil.c:1559,1
    - Dst: decoder_NewAudioBuffer
      Src: /src/vlc/modules/codec/omxil/omxil.c:1561,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/omxil/omxil.c:1564,1
    - Dst: FromOmxTicks
      Src: /src/vlc/modules/codec/omxil/omxil.c:1567,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/omxil/omxil.c:1569,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/omxil/omxil.c:1570,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/omxil/omxil.c:1572,1
    - Dst: date_Increment
      Src: /src/vlc/modules/codec/omxil/omxil.c:1573,1
    - Dst: decoder_QueueAudio
      Src: /src/vlc/modules/codec/omxil/omxil.c:1575,1
    - Dst: OMX_DBG
      Src: /src/vlc/modules/codec/omxil/omxil.c:1578,1
    - Dst: OMX_FIFO_GET
      Src: /src/vlc/modules/codec/omxil/omxil.c:1580,1
    - Dst: OMX_FillThisBuffer
      Src: /src/vlc/modules/codec/omxil/omxil.c:1581,1
    - Dst: OMX_FIFO_GET_TIMEOUT
      Src: /src/vlc/modules/codec/omxil/omxil.c:1584,1
    - Dst: free
      Src: /src/vlc/modules/codec/omxil/omxil.c:1587,1
    - Dst: ToOmxTicks
      Src: /src/vlc/modules/codec/omxil/omxil.c:1597,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/omxil.c:1611,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/omxil/omxil.c:1616,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/omxil/omxil.c:1617,1
    - Dst: OMX_DBG
      Src: /src/vlc/modules/codec/omxil/omxil.c:1620,1
    - Dst: OMX_EmptyThisBuffer
      Src: /src/vlc/modules/codec/omxil/omxil.c:1622,1
    - Dst: PortReconfigure
      Src: /src/vlc/modules/codec/omxil/omxil.c:1634,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:1635,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 90
    argCount: 2
    argNames:
    - p_dec
    - p_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1642
      start: 1504
    functionDepth: 4
    functionLinenumber: 1504
    functionLinenumberEnd: 1642
    functionName: DecodeAudio
    functionSourceFile: /src/vlc/modules/codec/omxil/omxil.c
    functionUses: 4
    functionsReached:
    - memcpy
    - decoder_UpdateAudioFormat
    - PortReconfigure
    - date_Increment
    - msg_Dbg
    - date_Get
    - OMX_FIFO_GET_TIMEOUT
    - CHECK_ERROR
    - date_Set
    - ToOmxTicks
    - OMX_DBG
    - decoder_QueueAudio
    - block_Release
    - decoder_NewAudioBuffer
    - OMX_SendCommand
    - OMX_FIFO_GET
    - FromOmxTicks
    - free
    - OMX_EmptyThisBuffer
    - OMX_FillThisBuffer
    - OMX_FIFO_PEEK
    linkageType: ''
    returnType: int
    signature: int DecodeAudio ( decoder_t *p_dec, block_t *p_block )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/omxil.c:1663,1
    - Dst: OMX_FIFO_GET
      Src: /src/vlc/modules/codec/omxil/omxil.c:1668,1
    - Dst: CopyVlcPicture
      Src: /src/vlc/modules/codec/omxil/omxil.c:1680,1
    - Dst: ToOmxTicks
      Src: /src/vlc/modules/codec/omxil/omxil.c:1686,1
    - Dst: OMX_DBG
      Src: /src/vlc/modules/codec/omxil/omxil.c:1687,1
    - Dst: OMX_EmptyThisBuffer
      Src: /src/vlc/modules/codec/omxil/omxil.c:1689,1
    - Dst: PortReconfigure
      Src: /src/vlc/modules/codec/omxil/omxil.c:1699,1
    - Dst: CHECK_ERROR
      Src: /src/vlc/modules/codec/omxil/omxil.c:1700,1
    - Dst: OMX_FIFO_GET
      Src: /src/vlc/modules/codec/omxil/omxil.c:1706,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/omxil.c:1713,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/omxil/omxil.c:1721,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/omxil/omxil.c:1722,1
    - Dst: FromOmxTicks
      Src: /src/vlc/modules/codec/omxil/omxil.c:1726,1
    - Dst: OMX_DBG
      Src: /src/vlc/modules/codec/omxil/omxil.c:1731,1
    - Dst: OMX_FillThisBuffer
      Src: /src/vlc/modules/codec/omxil/omxil.c:1733,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/omxil.c:1736,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 2
    argNames:
    - p_enc
    - p_pic
    argTypes:
    - encoder_t*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1648
    functionDepth: 4
    functionLinenumber: 1648
    functionLinenumberEnd: 1741
    functionName: EncodeVideo
    functionSourceFile: /src/vlc/modules/codec/omxil/omxil.c
    functionUses: 2
    functionsReached:
    - CHECK_ERROR
    - memcpy
    - OMX_FIFO_GET
    - ToOmxTicks
    - CopyVlcPicture
    - PortReconfigure
    - OMX_EmptyThisBuffer
    - block_Alloc
    - msg_Dbg
    - FromOmxTicks
    - OMX_FillThisBuffer
    - OMX_DBG
    linkageType: ''
    returnType: block_t
    signature: block_t *EncodeVideo( encoder_t *p_enc, picture_t *p_pic )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DeinitialiseComponent
      Src: /src/vlc/modules/codec/omxil/omxil.c:1752,1
    - Dst: DeinitOmxCore
      Src: /src/vlc/modules/codec/omxil/omxil.c:1754,1
    - Dst: DeinitOmxEventQueue
      Src: /src/vlc/modules/codec/omxil/omxil.c:1756,1
    - Dst: OMX_FIFO_DESTROY
      Src: /src/vlc/modules/codec/omxil/omxil.c:1758,1
    - Dst: OMX_FIFO_DESTROY
      Src: /src/vlc/modules/codec/omxil/omxil.c:1759,1
    - Dst: free
      Src: /src/vlc/modules/codec/omxil/omxil.c:1761,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1747
    functionDepth: 3
    functionLinenumber: 1747
    functionLinenumberEnd: 1762
    functionName: CloseGeneric
    functionSourceFile: /src/vlc/modules/codec/omxil/omxil.c
    functionUses: 2
    functionsReached:
    - DeinitialiseComponent
    - OMX_FIFO_DESTROY
    - free
    - DeinitOmxEventQueue
    - DeinitOmxCore
    linkageType: ''
    returnType: void
    signature: void CloseGeneric( vlc_object_t *p_this )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PrintOmxEvent
      Src: /src/vlc/modules/codec/omxil/omxil.c:1776,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/codec/omxil/omxil.c:1776,1
    - Dst: calloc
      Src: /src/vlc/modules/codec/omxil/omxil.c:1791,1
    - Dst: OMX_FIFO_PUT
      Src: /src/vlc/modules/codec/omxil/omxil.c:1794,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/omxil.c:1805,1
    - Dst: UpdatePixelAspect
      Src: /src/vlc/modules/codec/omxil/omxil.c:1809,1
    - Dst: PostOmxEvent
      Src: /src/vlc/modules/codec/omxil/omxil.c:1816,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 6
    argNames:
    - omx_handle
    - app_data
    - event
    - data_1
    - data_2
    - event_data
    argTypes:
    - OMX_HANDLETYPE
    - OMX_PTR
    - OMX_EVENTTYPE
    - OMX_U32
    - OMX_U32
    - OMX_PTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1818
      start: 1767
    functionDepth: 2
    functionLinenumber: 1767
    functionLinenumberEnd: 1818
    functionName: OmxEventHandler
    functionSourceFile: /src/vlc/modules/codec/omxil/omxil.c
    functionUses: 0
    functionsReached:
    - PrintOmxEvent
    - OMX_FIFO_PUT
    - calloc
    - UpdatePixelAspect
    - msg_Dbg
    - PostOmxEvent
    - VLC_OBJECT
    linkageType: ''
    returnType: OMX_ERRORTYPE
    signature: "OMX_ERRORTYPE OmxEventHandler( OMX_HANDLETYPE omx_handle,\n    OMX_PTR
      app_data, OMX_EVENTTYPE event, OMX_U32 data_1,\n    OMX_U32 data_2, OMX_PTR
      event_data )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OMX_DBG
      Src: /src/vlc/modules/codec/omxil/omxil.c:1827,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/omxil/omxil.c:1834,1
    - Dst: OMX_FIFO_PUT
      Src: /src/vlc/modules/codec/omxil/omxil.c:1837,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - omx_handle
    - app_data
    - omx_header
    argTypes:
    - OMX_HANDLETYPE
    - OMX_PTR
    - OMX_BUFFERHEADERTYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1840
      start: 1820
    functionDepth: 1
    functionLinenumber: 1820
    functionLinenumberEnd: 1840
    functionName: OmxEmptyBufferDone
    functionSourceFile: /src/vlc/modules/codec/omxil/omxil.c
    functionUses: 0
    functionsReached:
    - OMX_DBG
    - block_Release
    - OMX_FIFO_PUT
    linkageType: ''
    returnType: OMX_ERRORTYPE
    signature: "OMX_ERRORTYPE OmxEmptyBufferDone( OMX_HANDLETYPE omx_handle,\n    OMX_PTR
      app_data, OMX_BUFFERHEADERTYPE *omx_header )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OMX_DBG
      Src: /src/vlc/modules/codec/omxil/omxil.c:1849,1
    - Dst: FromOmxTicks
      Src: /src/vlc/modules/codec/omxil/omxil.c:1851,1
    - Dst: OMX_FIFO_PUT
      Src: /src/vlc/modules/codec/omxil/omxil.c:1857,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - omx_handle
    - app_data
    - omx_header
    argTypes:
    - OMX_HANDLETYPE
    - OMX_PTR
    - OMX_BUFFERHEADERTYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1860
      start: 1842
    functionDepth: 1
    functionLinenumber: 1842
    functionLinenumberEnd: 1860
    functionName: OmxFillBufferDone
    functionSourceFile: /src/vlc/modules/codec/omxil/omxil.c
    functionUses: 0
    functionsReached:
    - OMX_FIFO_PUT
    - OMX_DBG
    - FromOmxTicks
    linkageType: ''
    returnType: OMX_ERRORTYPE
    signature: "OMX_ERRORTYPE OmxFillBufferDone( OMX_HANDLETYPE omx_handle,\n    OMX_PTR
      app_data, OMX_BUFFERHEADERTYPE *omx_header )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: block_Release
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - decoder_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 227
    functionName: CSDFree
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - block_Release
    linkageType: ''
    returnType: void
    signature: void CSDFree(decoder_sys_t *p_sys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:232,1
    - Dst: CSDFree
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:234,1
    - Dst: assert
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - p_sys
    - p_blocks
    - i_count
    argTypes:
    - decoder_sys_t*
    - block_t*
    - size_t
    assertStmts:
    - condition: (i_count <= MAX_CSD_COUNT)
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/vlc/modules/codec/omxil/mediacodec.c
    - condition: (p_blocks != NULL)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/vlc/modules/codec/omxil/mediacodec.c
    constantsTouched: []
    func_position:
      end: 247
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 247
    functionName: CSDInit
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - assert
    - CSDFree
    linkageType: ''
    returnType: void
    signature: void CSDInit(decoder_sys_t *p_sys, block_t *p_blocks, size_t i_count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:251,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:254,1
    - Dst: CSDInit
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p_sys
    - p_buf
    - i_buf
    argTypes:
    - decoder_sys_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: CSDDup
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - block_Alloc
    - memcpy
    - CSDInit
    linkageType: ''
    returnType: int
    signature: int CSDDup(decoder_sys_t *p_sys, const void *p_buf, size_t i_buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_helper_get_current_picture_size
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:267,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - p_dec
    - p_size_changed
    argTypes:
    - decoder_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 284
    functionName: HXXXInitSize
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - hxxx_helper_get_current_picture_size
    linkageType: ''
    returnType: void
    signature: void HXXXInitSize(decoder_t *p_dec, bool *p_size_changed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:291,1
    - Dst: hxxx_helper_has_config
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:291,1
    - Dst: hxxx_helper_get_extradata_chain
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:293,1
    - Dst: CSDInit
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:296,1
    - Dst: HXXXInitSize
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p_dec
    - p_size_changed
    argTypes:
    - decoder_t*
    - bool*
    assertStmts:
    - condition: (hxxx_helper_has_config(hh))
      pos:
        line_end: 290
        line_start: 290
        source_file: /src/vlc/modules/codec/omxil/mediacodec.c
    constantsTouched: []
    func_position:
      end: 301
      start: 287
    functionDepth: 5
    functionLinenumber: 287
    functionLinenumberEnd: 301
    functionName: H264SetCSD
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - assert
    - hxxx_helper_get_extradata_chain
    - HXXXInitSize
    - hxxx_helper_has_config
    - CSDInit
    linkageType: ''
    returnType: int
    signature: int H264SetCSD(decoder_t *p_dec, bool *p_size_changed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:309,1
    - Dst: hxxx_helper_has_config
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:309,1
    - Dst: hxxx_helper_get_extradata_block
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:311,1
    - Dst: CSDInit
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:313,1
    - Dst: HXXXInitSize
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p_dec
    - p_size_changed
    argTypes:
    - decoder_t*
    - bool*
    assertStmts:
    - condition: (hxxx_helper_has_config(hh))
      pos:
        line_end: 308
        line_start: 308
        source_file: /src/vlc/modules/codec/omxil/mediacodec.c
    constantsTouched: []
    func_position:
      end: 317
      start: 304
    functionDepth: 6
    functionLinenumber: 304
    functionLinenumberEnd: 317
    functionName: HEVCSetCSD
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - assert
    - HXXXInitSize
    - hxxx_helper_get_extradata_block
    - hxxx_helper_has_config
    - CSDInit
    linkageType: ''
    returnType: int
    signature: int HEVCSetCSD(decoder_t *p_dec, bool *p_size_changed)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_helper_set_extra
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:324,1
    - Dst: hxxx_helper_has_config
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:333,1
    - Dst: H264SetCSD
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - p_dec
    - p_extra
    - i_extra
    argTypes:
    - decoder_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 319
    functionDepth: 6
    functionLinenumber: 319
    functionLinenumberEnd: 336
    functionName: ParseVideoExtraH264
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - hxxx_helper_has_config
    - hxxx_helper_set_extra
    - H264SetCSD
    linkageType: ''
    returnType: int
    signature: int ParseVideoExtraH264(decoder_t *p_dec, uint8_t *p_extra, size_t
      i_extra)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_helper_set_extra
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:343,1
    - Dst: hxxx_helper_has_config
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:352,1
    - Dst: HEVCSetCSD
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - p_dec
    - p_extra
    - i_extra
    argTypes:
    - decoder_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 338
    functionDepth: 7
    functionLinenumber: 338
    functionLinenumberEnd: 355
    functionName: ParseVideoExtraHEVC
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - hxxx_helper_has_config
    - hxxx_helper_set_extra
    - HEVCSetCSD
    linkageType: ''
    returnType: int
    signature: int ParseVideoExtraHEVC(decoder_t *p_dec, uint8_t *p_extra, size_t
      i_extra)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:370,1
    - Dst: CSDDup
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:379,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - p_dec
    - p_extra
    - i_extra
    argTypes:
    - decoder_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 357
    functionDepth: 3
    functionLinenumber: 357
    functionLinenumberEnd: 380
    functionName: ParseVideoExtraVc1
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - memcmp
    - CSDDup
    linkageType: ''
    returnType: int
    signature: int ParseVideoExtraVc1(decoder_t *p_dec, uint8_t *p_extra, size_t i_extra)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:407,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:409,1
    - Dst: SetDWLE
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:410,1
    - Dst: CSDDup
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - p_dec
    - p_extra
    - i_extra
    argTypes:
    - decoder_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 382
    functionDepth: 3
    functionLinenumber: 382
    functionLinenumberEnd: 413
    functionName: ParseVideoExtraWmv3
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - SetDWLE
    - memcpy
    - CSDDup
    linkageType: ''
    returnType: int
    signature: int ParseVideoExtraWmv3(decoder_t *p_dec, uint8_t *p_extra, size_t
      i_extra)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ParseVideoExtraH264
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:424,1
    - Dst: ParseVideoExtraHEVC
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:426,1
    - Dst: ParseVideoExtraWmv3
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:428,1
    - Dst: ParseVideoExtraVc1
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:430,1
    - Dst: CSDDup
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:442,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 415
    functionDepth: 8
    functionLinenumber: 415
    functionLinenumberEnd: 445
    functionName: ParseExtra
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - ParseVideoExtraVc1
    - ParseVideoExtraHEVC
    - ParseVideoExtraWmv3
    - CSDDup
    - ParseVideoExtraH264
    linkageType: ''
    returnType: int
    signature: int ParseExtra(decoder_t *p_dec)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - vlc_range
    argTypes:
    - video_color_range_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 459
    functionName: vlc_to_mc_color_range
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum mc_media_format_color_range_t
    signature: enum mc_media_format_color_range_t vlc_to_mc_color_range(video_color_range_t
      vlc_range)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - mc_range
    argTypes:
    - enum mc_media_format_color_range_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 473
    functionName: mc_to_vlc_color_range
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: video_color_range_t
    signature: video_color_range_t mc_to_vlc_color_range(enum mc_media_format_color_range_t
      mc_range)
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - vlc_primaries
    - vlc_colorspace
    argTypes:
    - video_color_primaries_t
    - video_color_space_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 507
    functionName: vlc_to_mc_color_standard
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum mc_media_format_color_standard_t
    signature: enum mc_media_format_color_standard_t vlc_to_mc_color_standard(video_color_primaries_t
      vlc_primaries, video_color_space_t vlc_colorspace)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - mc_standard
    argTypes:
    - enum mc_media_format_color_standard_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 531
    functionName: mc_to_vlc_primaries
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: video_color_primaries_t
    signature: video_color_primaries_t mc_to_vlc_primaries(enum mc_media_format_color_standard_t
      mc_standard)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - mc_standard
    argTypes:
    - enum mc_media_format_color_standard_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 553
    functionName: mc_to_vlc_color_space
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: video_color_space_t
    signature: video_color_space_t mc_to_vlc_color_space(enum mc_media_format_color_standard_t
      mc_standard)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - vlc_transfer
    argTypes:
    - video_transfer_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 573
    functionName: vlc_to_mc_color_transfer
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum mc_media_format_color_transfer_t
    signature: enum mc_media_format_color_transfer_t vlc_to_mc_color_transfer(video_transfer_func_t
      vlc_transfer)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - mc_transfer
    argTypes:
    - enum mc_media_format_color_transfer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 593
    functionName: mc_to_vlc_color_transfer
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: video_transfer_func_t
    signature: video_transfer_func_t mc_to_vlc_color_transfer(enum mc_media_format_color_transfer_t
      mc_transfer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_to_mc_color_range
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:611,1
    - Dst: vlc_to_mc_color_standard
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:612,1
    - Dst: vlc_to_mc_color_transfer
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:613,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:617,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:619,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:621,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:625,1
    - Dst: decoder_sys_t*::api::configure_decoder
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:631,1
    - Dst: decoder_sys_t*::api::start
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:636,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 637
    functionName: StartMediaCodec
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - decoder_sys_t*::api::start
    - decoder_sys_t*::api::configure_decoder
    - var_InheritBool
    - date_Set
    - vlc_to_mc_color_standard
    - vlc_to_mc_color_range
    - msg_Dbg
    - vlc_to_mc_color_transfer
    linkageType: ''
    returnType: int
    signature: int StartMediaCodec(decoder_t *p_dec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseAllPictureContexts
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:647,1
    - Dst: decoder_sys_t*::api::stop
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - decoder_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 650
    functionName: StopMediaCodec
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - ReleaseAllPictureContexts
    - decoder_sys_t*::api::stop
    linkageType: ''
    returnType: void
    signature: void StopMediaCodec(decoder_sys_t *p_sys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_exchange
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:655,1
    - Dst: vlc_video_context_GetPrivate
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:659,1
    - Dst: decoder_sys_t*::api::release_out
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - apctx
    - render
    argTypes:
    - struct asurface_picture_ctx*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 666
    functionName: AndroidPictureContextRelease
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - vlc_video_context_GetPrivate
    - atomic_exchange
    - decoder_sys_t*::api::release_out
    linkageType: ''
    returnType: bool
    signature: "bool AndroidPictureContextRelease(struct asurface_picture_ctx *apctx,\n
      \                                        bool render)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:671,1
    - Dst: AndroidPictureContextRelease
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 668
    functionDepth: 2
    functionLinenumber: 668
    functionLinenumberEnd: 674
    functionName: PictureContextRenderPic
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - AndroidPictureContextRelease
    - container_of
    linkageType: ''
    returnType: bool
    signature: bool PictureContextRenderPic(struct picture_context_t *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:680,1
    - Dst: atomic_exchange
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:682,1
    - Dst: vlc_video_context_GetPrivate
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:686,1
    - Dst: decoder_sys_t*::api::release_out_ts
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:689,1
    - Dst: INT64_C
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:689,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - ts
    argTypes:
    - struct picture_context_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 693
    functionName: PictureContextRenderPicTs
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - atomic_exchange
    - container_of
    - vlc_video_context_GetPrivate
    - INT64_C
    - decoder_sys_t*::api::release_out_ts
    linkageType: ''
    returnType: bool
    signature: "bool PictureContextRenderPicTs(struct picture_context_t *ctx,\n                                      vlc_tick_t
      ts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_video_context_GetPrivate
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 703
    functionName: PictureContextGetTexture
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - vlc_video_context_GetPrivate
    linkageType: ''
    returnType: struct vlc_asurfacetexture
    signature: 'struct vlc_asurfacetexture *

      PictureContextGetTexture(picture_context_t *context)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:708,1
    - Dst: atomic_fetch_sub_explicit
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:710,1
    - Dst: AndroidPictureContextRelease
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 705
    functionDepth: 2
    functionLinenumber: 705
    functionLinenumberEnd: 712
    functionName: ASurfacePictureContextDestroy
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - AndroidPictureContextRelease
    - atomic_fetch_sub_explicit
    - container_of
    linkageType: ''
    returnType: void
    signature: void ASurfacePictureContextDestroy(struct picture_context_t *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:717,1
    - Dst: atomic_fetch_add_explicit
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:719,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 722
    functionName: ASurfacePictureContextCopy
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - atomic_fetch_add_explicit
    - vlc_video_context_Hold
    - container_of
    linkageType: ''
    returnType: struct picture_context_t
    signature: struct picture_context_t *ASurfacePictureContextCopy(struct picture_context_t
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:730,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:732,1
    - Dst: DecodeFlushLocked
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:734,1
    - Dst: AbortDecoderLocked
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:736,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:737,1
    - Dst: vlc_join
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:739,1
    - Dst: CleanDecoder
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts:
    - condition: (!p_sys->video.use_air)
      pos:
        line_end: 729
        line_start: 729
        source_file: /src/vlc/modules/codec/omxil/mediacodec.c
    constantsTouched: []
    func_position:
      end: 742
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 742
    functionName: CleanFromLegacyVideoContext
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - CleanDecoder
    - DecodeFlushLocked
    - vlc_join
    - AbortDecoderLocked
    linkageType: ''
    returnType: void
    signature: void CleanFromLegacyVideoContext(void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:750,1
    - Dst: AndroidPictureContextRelease
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:757,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - decoder_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 759
    functionName: ReleaseAllPictureContexts
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 1
    functionsReached:
    - AndroidPictureContextRelease
    - ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: void ReleaseAllPictureContexts(decoder_sys_t *p_sys)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:769,1
    - Dst: atomic_compare_exchange_strong
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:774,1
    - Dst: likely
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:778,1
    - Dst: atomic_compare_exchange_strong
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:778,1
    - Dst: atomic_store
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:786,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:793,1
    - Dst: vlc_tick_sleep
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:794,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - p_dec
    - index
    argTypes:
    - decoder_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 797
    functionName: GetPictureContext
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - atomic_store
    - likely
    - msg_Warn
    - vlc_tick_sleep
    - atomic_compare_exchange_strong
    linkageType: ''
    returnType: struct asurface_picture_ctx
    signature: 'struct asurface_picture_ctx *

      GetPictureContext(decoder_t *p_dec, unsigned index)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: timestamp_FifoGet
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:809,1
    - Dst: decoder_NewPicture
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:811,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p_dec
    - ts
    argTypes:
    - decoder_t*
    - vlc_tick_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 821
    functionName: NewPicture
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 59
    functionsReached:
    - timestamp_FifoGet
    - decoder_NewPicture
    linkageType: ''
    returnType: picture_t
    signature: 'picture_t *

      NewPicture(decoder_t *p_dec, vlc_tick_t ts)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:826,1
    - Dst: assert
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:827,1
    - Dst: android_video_context_t*::air_api::AImageReader::delete
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts:
    - condition: (avctx->dec_opaque == NULL)
      pos:
        line_end: 825
        line_start: 825
        source_file: /src/vlc/modules/codec/omxil/mediacodec.c
    - condition: (avctx->air != NULL)
      pos:
        line_end: 826
        line_start: 826
        source_file: /src/vlc/modules/codec/omxil/mediacodec.c
    constantsTouched: []
    func_position:
      end: 829
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 829
    functionName: CleanFromVideoContext
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - android_video_context_t*::air_api::AImageReader::delete
    - assert
    linkageType: ''
    returnType: void
    signature: void CleanFromVideoContext(void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:834,1
    - Dst: vlc_atomic_rc_dec
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:836,1
    - Dst: vlc_video_context_GetPrivate
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:840,1
    - Dst: close
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:843,1
    - Dst: android_video_context_t*::air_api::AImage::deleteAsync
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:845,1
    - Dst: free
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:847,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 848
    functionName: android_picture_ctx_destroy
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - container_of
    - vlc_video_context_GetPrivate
    - vlc_atomic_rc_dec
    - close
    - free
    - android_video_context_t*::air_api::AImage::deleteAsync
    linkageType: ''
    returnType: void
    signature: void android_picture_ctx_destroy(picture_context_t *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:853,1
    - Dst: vlc_atomic_rc_inc
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:854,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - picture_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 857
    functionName: android_picture_ctx_copy
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - vlc_atomic_rc_inc
    - vlc_video_context_Hold
    - container_of
    linkageType: ''
    returnType: picture_context_t
    signature: 'picture_context_t *

      android_picture_ctx_copy(picture_context_t *src)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: android_video_context_t*::air_api::AImage::getTimestamp
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:868,1
    - Dst: VLC_TICK_FROM_NS
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:870,1
    - Dst: NewPicture
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:872,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:878,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:882,1
    - Dst: vlc_atomic_rc_init
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:890,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:896,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:897,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:903,1
    - Dst: close
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:905,1
    - Dst: android_video_context_t*::air_api::AImage::deleteAsync
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:906,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 4
    argNames:
    - p_dec
    - avctx
    - image
    - fence_fd
    argTypes:
    - decoder_t*
    - android_video_context_t*
    - AImage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 859
    functionDepth: 1
    functionLinenumber: 859
    functionLinenumberEnd: 908
    functionName: QueueAImagePicture
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - NewPicture
    - vlc_video_context_Hold
    - close
    - picture_Release
    - android_video_context_t*::air_api::AImage::deleteAsync
    - decoder_QueueVideo
    - vlc_atomic_rc_init
    - msg_Warn
    - android_video_context_t*::air_api::AImage::getTimestamp
    - VLC_TICK_FROM_NS
    - malloc
    linkageType: ''
    returnType: int
    signature: "int QueueAImagePicture(decoder_t *p_dec, android_video_context_t *avctx,\n
      \                  AImage *image, int fence_fd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:915,1
    - Dst: vlc_video_context_GetPrivate
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:917,1
    - Dst: assert
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:918,1
    - Dst: assert
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:919,1
    - Dst: android_video_context_t*::air_api::AImageReader::acquireNextImageAsync
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:924,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:928,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:932,1
    - Dst: assert
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:933,1
    - Dst: vlc_cond_broadcast
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:935,1
    - Dst: android_video_context_t*::air_api::AImage::deleteAsync
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:937,1
    - Dst: QueueAImagePicture
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:939,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:940,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - context
    - reader
    argTypes:
    - void*
    - AImageReader*
    assertStmts:
    - condition: (p_sys->video.use_air)
      pos:
        line_end: 914
        line_start: 914
        source_file: /src/vlc/modules/codec/omxil/mediacodec.c
    - condition: (reader == avctx->air)
      pos:
        line_end: 918
        line_start: 918
        source_file: /src/vlc/modules/codec/omxil/mediacodec.c
    - condition: (avctx->air != NULL)
      pos:
        line_end: 917
        line_start: 917
        source_file: /src/vlc/modules/codec/omxil/mediacodec.c
    - condition: (p_sys->video.air_waiting_count > 0)
      pos:
        line_end: 932
        line_start: 932
        source_file: /src/vlc/modules/codec/omxil/mediacodec.c
    constantsTouched: []
    func_position:
      end: 941
      start: 910
    functionDepth: 2
    functionLinenumber: 910
    functionLinenumberEnd: 941
    functionName: AImageReader_OnImageAvailable
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - assert
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_video_context_GetPrivate
    - android_video_context_t*::air_api::AImage::deleteAsync
    - android_video_context_t*::air_api::AImageReader::acquireNextImageAsync
    - QueueAImagePicture
    - msg_Warn
    - vlc_cond_broadcast
    linkageType: ''
    returnType: void
    signature: void AImageReader_OnImageAvailable(void *context, AImageReader *reader)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AWindowHandler_getAImageReaderApi
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:948,1
    - Dst: AWindowHandler_getASurfaceControlApi
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:949,1
    - Dst: struct aimage_reader_api*::AImageReader::newWithUsage
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:962,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:968,1
    - Dst: struct aimage_reader_api*::AImageReader::getWindow
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:973,1
    - Dst: struct aimage_reader_api*::AImageReader::delete
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:977,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:978,1
    - Dst: struct aimage_reader_api*::AImageReader::setImageListener
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:987,1
    - Dst: vlc_video_context_Create
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:994,1
    - Dst: struct aimage_reader_api*::AImageReader::delete
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:999,1
    - Dst: vlc_video_context_GetPrivate
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1004,1
    - Dst: assert
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1016,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 4
    argNames:
    - p_dec
    - dec_dev
    - awh
    - need_gpu
    argTypes:
    - decoder_t*
    - vlc_decoder_device*
    - AWindowHandler*
    - bool
    assertStmts:
    - condition: (window != NULL)
      pos:
        line_end: 1015
        line_start: 1015
        source_file: /src/vlc/modules/codec/omxil/mediacodec.c
    constantsTouched: []
    func_position:
      end: 1018
      start: 943
    functionDepth: 1
    functionLinenumber: 943
    functionLinenumberEnd: 1018
    functionName: CreateSurfaceFromAImageReader
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - assert
    - AWindowHandler_getASurfaceControlApi
    - struct aimage_reader_api*::AImageReader::delete
    - struct aimage_reader_api*::AImageReader::getWindow
    - struct aimage_reader_api*::AImageReader::newWithUsage
    - vlc_video_context_GetPrivate
    - AWindowHandler_getAImageReaderApi
    - struct aimage_reader_api*::AImageReader::setImageListener
    - vlc_video_context_Create
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: "int CreateSurfaceFromAImageReader(decoder_t *p_dec, vlc_decoder_device
      *dec_dev,\n                              AWindowHandler *awh, bool need_gpu)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vlc_video_context_Create
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1031,1
    - Dst: vlc_video_context_GetPrivate
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1038,1
    - Dst: AWindowHandler_getANativeWindow
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1042,1
    - Dst: assert
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1043,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1046,1
    - Dst: vlc_asurfacetexture_New
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1052,1
    - Dst: assert
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1053,1
    - Dst: assert
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1058,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1069,1
    - Dst: atomic_init
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1077,1
    - Dst: atomic_init
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1078,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1084,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 4
    argNames:
    - p_dec
    - dec_dev
    - awh
    - use_surfacetexture
    argTypes:
    - decoder_t*
    - vlc_decoder_device*
    - AWindowHandler*
    - bool
    assertStmts:
    - condition: (p_sys->video.p_surface)
      pos:
        line_end: 1042
        line_start: 1042
        source_file: /src/vlc/modules/codec/omxil/mediacodec.c
    - condition: (p_sys->video.surfacetexture)
      pos:
        line_end: 1052
        line_start: 1052
        source_file: /src/vlc/modules/codec/omxil/mediacodec.c
    - condition: (p_sys->video.p_surface)
      pos:
        line_end: 1057
        line_start: 1057
        source_file: /src/vlc/modules/codec/omxil/mediacodec.c
    constantsTouched: []
    func_position:
      end: 1087
      start: 1020
    functionDepth: 3
    functionLinenumber: 1020
    functionLinenumberEnd: 1087
    functionName: CreateSurface
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 7
    functionsReached:
    - atomic_init
    - vlc_video_context_Release
    - assert
    - ARRAY_SIZE
    - vlc_asurfacetexture_New
    - AWindowHandler_getANativeWindow
    - vlc_video_context_GetPrivate
    - msg_Err
    - vlc_video_context_Create
    linkageType: ''
    returnType: int
    signature: "int CreateSurface(decoder_t *p_dec, vlc_decoder_device *dec_dev,\n
      \             AWindowHandler *awh, bool use_surfacetexture)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decoder_GetDecoderDevice
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1094,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1097,1
    - Dst: assert
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1101,1
    - Dst: AWindowHandler_getCapabilities
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1108,1
    - Dst: CreateSurfaceFromAImageReader
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1119,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1123,1
    - Dst: CreateSurface
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1127,1
    - Dst: vlc_decoder_device_Release
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1128,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts:
    - condition: (dec_dev->opaque)
      pos:
        line_end: 1100
        line_start: 1100
        source_file: /src/vlc/modules/codec/omxil/mediacodec.c
    constantsTouched: []
    func_position:
      end: 1131
      start: 1089
    functionDepth: 2
    functionLinenumber: 1089
    functionLinenumberEnd: 1131
    functionName: CreateVideoContext
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 7
    functionsReached:
    - AWindowHandler_getCapabilities
    - decoder_GetDecoderDevice
    - assert
    - vlc_decoder_device_Release
    - CreateSurface
    - msg_Err
    - CreateSurfaceFromAImageReader
    linkageType: ''
    returnType: int
    signature: int CreateVideoContext(decoder_t *p_dec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_helper_clean
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1133
    functionDepth: 2
    functionLinenumber: 1133
    functionLinenumberEnd: 1143
    functionName: CleanInputVideo
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - hxxx_helper_clean
    linkageType: ''
    returnType: void
    signature: void CleanInputVideo(decoder_t *p_dec)
  - BBCount: 66
    BranchProfiles: []
    Callsites:
    - Dst: var_InheritBool
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1152,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1162,1
    - Dst: var_Type
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1166,1
    - Dst: hevc_get_profile_level
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1182,1
    - Dst: h264_get_profile_level
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1191,1
    - Dst: es_format_HasVpxAlpha
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1205,1
    - Dst: es_format_HasVpxAlpha
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1209,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1242,1
    - Dst: calloc
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1248,1
    - Dst: pf_init
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1260,1
    - Dst: free
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1262,1
    - Dst: decoder_sys_t*::api::prepare
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1265,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1269,1
    - Dst: decoder_sys_t*::api::prepare
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1272,1
    - Dst: decoder_sys_t*::api::clean
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1274,1
    - Dst: free
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1275,1
    - Dst: decoder_sys_t*::api::clean
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1281,1
    - Dst: free
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1282,1
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1289,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1290,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1291,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1295,1
    - Dst: hxxx_helper_init
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1303,1
    - Dst: VLC_OBJECT
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1303,1
    - Dst: timestamp_FifoNew
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1311,1
    - Dst: var_InheritBool
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1315,1
    - Dst: CreateVideoContext
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1333,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1335,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1381,1
    - Dst: ParseExtra
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1390,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1402,1
    - Dst: StartMediaCodec
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1408,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1411,1
    - Dst: vlc_clone
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1415,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1417,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1418,1
    - Dst: CleanInputVideo
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1428,1
    - Dst: CleanDecoder
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1429,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 245
    argCount: 2
    argNames:
    - p_this
    - pf_init
    argTypes:
    - vlc_object_t*
    - pf_MediaCodecApi_init
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1148
    functionDepth: 9
    functionLinenumber: 1148
    functionLinenumberEnd: 1431
    functionName: OpenDecoder
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - h264_get_profile_level
    - StartMediaCodec
    - timestamp_FifoNew
    - msg_Err
    - calloc
    - vlc_cond_init
    - msg_Dbg
    - msg_Warn
    - es_format_HasVpxAlpha
    - CleanDecoder
    - var_InheritBool
    - strcmp
    - CreateVideoContext
    - decoder_sys_t*::api::clean
    - hevc_get_profile_level
    - var_Type
    - hxxx_helper_init
    - vlc_mutex_unlock
    - vlc_clone
    - vlc_mutex_init
    - ParseExtra
    - free
    - decoder_sys_t*::api::prepare
    - pf_init
    - VLC_OBJECT
    - CleanInputVideo
    linkageType: ''
    returnType: int
    signature: int OpenDecoder(vlc_object_t *p_this, pf_MediaCodecApi_init pf_init)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OpenDecoder
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1433
    functionDepth: 0
    functionLinenumber: 1433
    functionLinenumberEnd: 1436
    functionName: OpenDecoderNdk
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - OpenDecoder
    linkageType: ''
    returnType: int
    signature: int OpenDecoderNdk(vlc_object_t *p_this)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_cond_broadcast
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1443,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - decoder_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1438
    functionDepth: 1
    functionLinenumber: 1438
    functionLinenumberEnd: 1447
    functionName: AbortDecoderLocked
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 1
    functionsReached:
    - vlc_cond_broadcast
    - vlc_cond_signal
    linkageType: ''
    returnType: void
    signature: void AbortDecoderLocked(decoder_sys_t *p_sys)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: StopMediaCodec
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1451,1
    - Dst: CSDFree
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1453,1
    - Dst: decoder_sys_t*::api::clean
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1454,1
    - Dst: vlc_asurfacetexture_Delete
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1460,1
    - Dst: timestamp_FifoRelease
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1463,1
    - Dst: free
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1469,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - decoder_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1449
    functionDepth: 2
    functionLinenumber: 1449
    functionLinenumberEnd: 1470
    functionName: CleanDecoder
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 2
    functionsReached:
    - vlc_asurfacetexture_Delete
    - StopMediaCodec
    - timestamp_FifoRelease
    - CSDFree
    - free
    - decoder_sys_t*::api::clean
    linkageType: ''
    returnType: void
    signature: void CleanDecoder(decoder_sys_t *p_sys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1480,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1482,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1488,1
    - Dst: CleanInputVideo
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1493,1
    - Dst: vlc_video_context_GetPrivate
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1497,1
    - Dst: android_video_context_t*::air_api::AImageReader::setImageListener
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1498,1
    - Dst: vlc_video_context_Release
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1499,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1502,1
    - Dst: DecodeFlushLocked
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1504,1
    - Dst: AbortDecoderLocked
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1506,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1507,1
    - Dst: vlc_join
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1509,1
    - Dst: CleanInputVideo
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1511,1
    - Dst: CleanDecoder
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1512,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1475
    functionDepth: 3
    functionLinenumber: 1475
    functionLinenumberEnd: 1513
    functionName: CloseDecoder
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 5
    functionsReached:
    - vlc_video_context_Release
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - CleanDecoder
    - vlc_video_context_GetPrivate
    - DecodeFlushLocked
    - vlc_join
    - AbortDecoderLocked
    - CleanInputVideo
    - android_video_context_t*::air_api::AImageReader::setImageListener
    linkageType: ''
    returnType: void
    signature: void CloseDecoder(vlc_object_t *p_this)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1520,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1525,1
    - Dst: timestamp_FifoGet
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1526,1
    - Dst: decoder_sys_t*::api::release_out
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1527,1
    - Dst: timestamp_FifoGet
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1532,1
    - Dst: decoder_sys_t*::api::release_out
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1533,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1539,1
    - Dst: timestamp_FifoGet
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1540,1
    - Dst: decoder_sys_t*::api::release_out
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1541,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1552,1
    - Dst: decoder_sys_t*::api::release_out
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1557,1
    - Dst: decoder_sys_t*::api::release_out
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1563,1
    - Dst: assert
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1566,1
    - Dst: NewPicture
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1570,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1572,1
    - Dst: decoder_sys_t*::api::release_out
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1573,1
    - Dst: GetPictureContext
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1577,1
    - Dst: assert
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1578,1
    - Dst: assert
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1579,1
    - Dst: vlc_video_context_Hold
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1580,1
    - Dst: NewPicture
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1585,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1587,1
    - Dst: decoder_sys_t*::api::release_out
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1588,1
    - Dst: GetVlcChromaSizes
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1592,1
    - Dst: decoder_sys_t*::api::release_out
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1597,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1598,1
    - Dst: CopyOmxPicture
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1601,1
    - Dst: decoder_sys_t*::api::release_out
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1605,1
    - Dst: picture_Release
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1607,1
    - Dst: assert
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1614,1
    - Dst: GetVlcChromaFormat
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1620,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1622,1
    - Dst: vlc_fourcc_GetDescription
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1626,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1630,1
    - Dst: mc_to_vlc_primaries
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1640,1
    - Dst: mc_to_vlc_color_space
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1644,1
    - Dst: mc_to_vlc_color_transfer
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1648,1
    - Dst: mc_to_vlc_color_range
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1652,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1699,1
    - Dst: assert
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1738,1
    - Dst: video_format_TransformTo
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1739,1
    - Dst: decoder_UpdateVideoOutput
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1742,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1744,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 131
    argCount: 4
    argNames:
    - p_dec
    - p_out
    - pp_out_pic
    - pp_out_block
    argTypes:
    - decoder_t*
    - mc_api_out*
    - picture_t**
    - block_t**
    assertStmts:
    - condition: (apctx)
      pos:
        line_end: 1577
        line_start: 1577
        source_file: /src/vlc/modules/codec/omxil/mediacodec.c
    - condition: (p_out->type == MC_OUT_TYPE_CONF)
      pos:
        line_end: 1613
        line_start: 1613
        source_file: /src/vlc/modules/codec/omxil/mediacodec.c
    - condition: (p_dec->fmt_out.i_codec == VLC_CODEC_ANDROID_OPAQUE)
      pos:
        line_end: 1737
        line_start: 1737
        source_file: /src/vlc/modules/codec/omxil/mediacodec.c
    - condition: (*pp_out_pic  == NULL)
      pos:
        line_end: 1565
        line_start: 1565
        source_file: /src/vlc/modules/codec/omxil/mediacodec.c
    - condition: (apctx->s.vctx)
      pos:
        line_end: 1578
        line_start: 1578
        source_file: /src/vlc/modules/codec/omxil/mediacodec.c
    - condition: (pp_out_pic)
      pos:
        line_end: 1519
        line_start: 1519
        source_file: /src/vlc/modules/codec/omxil/mediacodec.c
    constantsTouched: []
    func_position:
      end: 1751
      start: 1515
    functionDepth: 2
    functionLinenumber: 1515
    functionLinenumberEnd: 1751
    functionName: Video_ProcessOutput
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - assert
    - mc_to_vlc_color_transfer
    - picture_Release
    - mc_to_vlc_color_space
    - timestamp_FifoGet
    - vlc_fourcc_GetDescription
    - mc_to_vlc_color_range
    - vlc_video_context_Hold
    - msg_Err
    - GetVlcChromaFormat
    - msg_Dbg
    - msg_Warn
    - decoder_sys_t*::api::release_out
    - NewPicture
    - CopyOmxPicture
    - GetPictureContext
    - GetVlcChromaSizes
    - mc_to_vlc_primaries
    - video_format_TransformTo
    - decoder_UpdateVideoOutput
    - vlc_cond_wait
    linkageType: ''
    returnType: int
    signature: "int Video_ProcessOutput(decoder_t *p_dec, mc_api_out *p_out,\n                               picture_t
      **pp_out_pic, block_t **pp_out_block)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1766,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1774,1
    - Dst: decoder_sys_t*::api::release_out
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1775,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1779,1
    - Dst: decoder_sys_t*::api::release_out
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1780,1
    - Dst: block_Alloc
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1783,1
    - Dst: aout_ChannelExtract
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1791,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1798,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1801,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1802,1
    - Dst: date_Get
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1804,1
    - Dst: date_Increment
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1805,1
    - Dst: decoder_sys_t*::api::release_out
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1809,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1811,1
    - Dst: assert
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1820,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1826,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1832,1
    - Dst: date_Init
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1840,1
    - Dst: aout_CheckChannelExtraction
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1844,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1850,1
    - Dst: aout_FormatPrepare
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1854,1
    - Dst: decoder_UpdateAudioFormat
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1856,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 4
    argNames:
    - p_dec
    - p_out
    - pp_out_pic
    - pp_out_block
    argTypes:
    - decoder_t*
    - mc_api_out*
    - picture_t**
    - block_t**
    assertStmts:
    - condition: (p_out->type == MC_OUT_TYPE_CONF)
      pos:
        line_end: 1819
        line_start: 1819
        source_file: /src/vlc/modules/codec/omxil/mediacodec.c
    - condition: (pp_out_block)
      pos:
        line_end: 1765
        line_start: 1765
        source_file: /src/vlc/modules/codec/omxil/mediacodec.c
    constantsTouched: []
    func_position:
      end: 1862
      start: 1761
    functionDepth: 1
    functionLinenumber: 1761
    functionLinenumberEnd: 1862
    functionName: Audio_ProcessOutput
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - aout_FormatPrepare
    - block_Release
    - assert
    - aout_CheckChannelExtraction
    - memcpy
    - date_Set
    - date_Init
    - msg_Err
    - decoder_UpdateAudioFormat
    - block_Alloc
    - aout_ChannelExtract
    - msg_Warn
    - date_Get
    - decoder_sys_t*::api::release_out
    - date_Increment
    linkageType: ''
    returnType: int
    signature: "int Audio_ProcessOutput(decoder_t *p_dec, mc_api_out *p_out,\n                               picture_t
      **pp_out_pic, block_t **pp_out_block)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decoder_sys_t*::pf_on_flush
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1875,1
    - Dst: decoder_sys_t*::api::flush
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1877,1
    - Dst: AbortDecoderLocked
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1879,1
    - Dst: vlc_cond_broadcast
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1883,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1886,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - decoder_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1887
      start: 1864
    functionDepth: 2
    functionLinenumber: 1864
    functionLinenumberEnd: 1887
    functionName: DecodeFlushLocked
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 2
    functionsReached:
    - decoder_sys_t*::api::flush
    - decoder_sys_t*::pf_on_flush
    - AbortDecoderLocked
    - vlc_cond_broadcast
    - vlc_cond_wait
    linkageType: ''
    returnType: void
    signature: void DecodeFlushLocked(decoder_sys_t *p_sys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1893,1
    - Dst: DecodeFlushLocked
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1894,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p_dec
    argTypes:
    - decoder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1896
      start: 1889
    functionDepth: 3
    functionLinenumber: 1889
    functionLinenumberEnd: 1896
    functionName: DecodeFlush
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - vlc_mutex_unlock
    - DecodeFlushLocked
    - vlc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void DecodeFlush(decoder_t *p_dec)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: vlc_thread_set_name
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1903,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1905,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1912,1
    - Dst: vlc_cond_broadcast
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1920,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1924,1
    - Dst: decoder_sys_t*::api::dequeue_out
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1928,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1930,1
    - Dst: decoder_sys_t*::api::release_out
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1939,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1949,1
    - Dst: decoder_sys_t*::api::get_out
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1958,1
    - Dst: decoder_sys_t*::pf_process_output
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1965,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1968,1
    - Dst: decoder_QueueVideo
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1972,1
    - Dst: decoder_QueueAudio
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1974,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1978,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1980,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1984,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1992,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1996,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:1997,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 55
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2000
      start: 1898
    functionDepth: 1
    functionLinenumber: 1898
    functionLinenumberEnd: 2000
    functionName: OutThread
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 1
    functionsReached:
    - decoder_QueueAudio
    - vlc_cond_signal
    - vlc_thread_set_name
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - decoder_sys_t*::api::dequeue_out
    - msg_Err
    - decoder_QueueVideo
    - msg_Warn
    - decoder_sys_t*::api::get_out
    - decoder_sys_t*::api::release_out
    - decoder_sys_t*::pf_process_output
    - vlc_cond_broadcast
    - vlc_cond_wait
    linkageType: ''
    returnType: void
    signature: void *OutThread(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p_sys
    - p_block
    argTypes:
    - decoder_sys_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2008
      start: 2002
    functionDepth: 0
    functionLinenumber: 2002
    functionLinenumberEnd: 2008
    functionName: GetNextBlock
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: block_t
    signature: block_t *GetNextBlock(decoder_sys_t *p_sys, block_t *p_block)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2016,1
    - Dst: GetNextBlock
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2023,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2025,1
    - Dst: decoder_sys_t*::api::dequeue_in
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2026,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2027,1
    - Dst: assert
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2040,1
    - Dst: decoder_sys_t*::api::queue_in
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2054,1
    - Dst: vlc_cond_broadcast
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2065,1
    - Dst: assert
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2067,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2074,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2080,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2087,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2092,1
    - Dst: INT64_C
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2092,1
    - Dst: vlc_cond_timedwait
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2094,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2098,1
    - Dst: AbortDecoderLocked
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2099,1
    - Dst: AbortDecoderLocked
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2107,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 58
    argCount: 3
    argNames:
    - p_dec
    - p_in_block
    - b_drain
    argTypes:
    - decoder_t*
    - block_t*
    - bool
    assertStmts:
    - condition: (p_sys->api.b_started)
      pos:
        line_end: 2015
        line_start: 2015
        source_file: /src/vlc/modules/codec/omxil/mediacodec.c
    - condition: (b_drain || p_block != NULL)
      pos:
        line_end: 2039
        line_start: 2039
        source_file: /src/vlc/modules/codec/omxil/mediacodec.c
    - condition: (p_block == p_in_block)
      pos:
        line_end: 2066
        line_start: 2066
        source_file: /src/vlc/modules/codec/omxil/mediacodec.c
    constantsTouched: []
    func_position:
      end: 2109
      start: 2010
    functionDepth: 2
    functionLinenumber: 2010
    functionLinenumberEnd: 2109
    functionName: QueueBlockLocked
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - assert
    - decoder_sys_t*::api::dequeue_in
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - vlc_cond_timedwait
    - decoder_sys_t*::api::queue_in
    - INT64_C
    - msg_Err
    - GetNextBlock
    - AbortDecoderLocked
    - msg_Warn
    - vlc_cond_broadcast
    linkageType: ''
    returnType: int
    signature: "int QueueBlockLocked(decoder_t *p_dec, block_t *p_in_block,\n                            bool
      b_drain)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2116,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2129,1
    - Dst: QueueBlockLocked
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2132,1
    - Dst: QueueBlockLocked
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2139,1
    - Dst: DecodeFlushLocked
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2140,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2154,1
    - Dst: decoder_sys_t*::pf_on_new_block
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2159,1
    - Dst: AbortDecoderLocked
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2163,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2164,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2170,1
    - Dst: QueueBlockLocked
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2176,1
    - Dst: DecodeFlushLocked
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2177,1
    - Dst: StopMediaCodec
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2183,1
    - Dst: StartMediaCodec
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2185,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2189,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2192,1
    - Dst: AbortDecoderLocked
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2193,1
    - Dst: QueueBlockLocked
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2201,1
    - Dst: block_Release
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2205,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2210,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2214,1
    - Dst: var_Create
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2217,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 76
    argCount: 2
    argNames:
    - p_dec
    - p_in_block
    argTypes:
    - decoder_t*
    - block_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2111
    functionDepth: 3
    functionLinenumber: 2111
    functionLinenumberEnd: 2219
    functionName: DecodeBlock
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 20
    functionsReached:
    - block_Release
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - decoder_sys_t*::pf_on_new_block
    - StopMediaCodec
    - var_Create
    - DecodeFlushLocked
    - msg_Err
    - QueueBlockLocked
    - AbortDecoderLocked
    - StartMediaCodec
    - msg_Warn
    linkageType: ''
    returnType: int
    signature: int DecodeBlock(decoder_t *p_dec, block_t *p_in_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timestamp_FifoPut
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2230
      start: 2221
    functionDepth: 1
    functionLinenumber: 2221
    functionLinenumberEnd: 2230
    functionName: Video_OnNewBlock
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - timestamp_FifoPut
    linkageType: ''
    returnType: int
    signature: int Video_OnNewBlock(decoder_t *p_dec, block_t **pp_block)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: hxxx_helper_process_block
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2237,1
    - Dst: hxxx_helper_has_new_config
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2240,1
    - Dst: hxxx_helper_has_config
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2247,1
    - Dst: H264SetCSD
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2248,1
    - Dst: hxxx_helper_has_config
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2253,1
    - Dst: HEVCSetCSD
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2254,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2264,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2269,1
    - Dst: Video_OnNewBlock
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2274,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2275
      start: 2232
    functionDepth: 7
    functionLinenumber: 2232
    functionLinenumberEnd: 2275
    functionName: VideoHXXX_OnNewBlock
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - hxxx_helper_has_config
    - HEVCSetCSD
    - msg_Err
    - H264SetCSD
    - Video_OnNewBlock
    - hxxx_helper_has_new_config
    - hxxx_helper_process_block
    linkageType: ''
    returnType: int
    signature: int VideoHXXX_OnNewBlock(decoder_t *p_dec, block_t **pp_block)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2308
      start: 2277
    functionDepth: 0
    functionLinenumber: 2277
    functionLinenumberEnd: 2308
    functionName: VideoMPEG2_OnNewBlock
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VideoMPEG2_OnNewBlock(decoder_t *p_dec, block_t **pp_block)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: block_Realloc
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2315,1
    - Dst: Video_OnNewBlock
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2324
      start: 2310
    functionDepth: 2
    functionLinenumber: 2310
    functionLinenumberEnd: 2324
    functionName: VideoVC1_OnNewBlock
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - Video_OnNewBlock
    - block_Realloc
    linkageType: ''
    returnType: int
    signature: int VideoVC1_OnNewBlock(decoder_t *p_dec, block_t **pp_block)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: timestamp_FifoEmpty
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2328,1
    - Dst: ReleaseAllPictureContexts
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2332,1
    - Dst: vlc_cond_wait
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - decoder_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2341
      start: 2326
    functionDepth: 3
    functionLinenumber: 2326
    functionLinenumberEnd: 2341
    functionName: Video_OnFlush
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - timestamp_FifoEmpty
    - ReleaseAllPictureContexts
    - vlc_cond_wait
    linkageType: ''
    returnType: void
    signature: void Video_OnFlush(decoder_sys_t *p_sys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: date_Get
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2349,1
    - Dst: date_Set
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - p_dec
    - pp_block
    argTypes:
    - decoder_t*
    - block_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2357
      start: 2343
    functionDepth: 1
    functionLinenumber: 2343
    functionLinenumberEnd: 2357
    functionName: Audio_OnNewBlock
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - date_Set
    - date_Get
    linkageType: ''
    returnType: int
    signature: int Audio_OnNewBlock(decoder_t *p_dec, block_t **pp_block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: date_Set
      Src: /src/vlc/modules/codec/omxil/mediacodec.c:2361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p_sys
    argTypes:
    - decoder_sys_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2362
      start: 2359
    functionDepth: 1
    functionLinenumber: 2359
    functionLinenumberEnd: 2362
    functionName: Audio_OnFlush
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec.c
    functionUses: 0
    functionsReached:
    - date_Set
    linkageType: ''
    returnType: void
    signature: void Audio_OnFlush(decoder_sys_t *p_sys)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: dll_open
    functionSourceFile: /src/vlc/modules/codec/omxil/omxil_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dll_open(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - handle
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: dll_close
    functionSourceFile: /src/vlc/modules/codec/omxil/omxil_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dll_close(handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pf_host_deinit
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: CloseExtraDll
    functionSourceFile: /src/vlc/modules/codec/omxil/omxil_core.c
    functionUses: 0
    functionsReached:
    - pf_host_deinit
    linkageType: ''
    returnType: void
    signature: void CloseExtraDll(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:101,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:104,1
    - Dst: dll_open
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:113,1
    - Dst: dlsym
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:118,1
    - Dst: dlsym
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:119,1
    - Dst: pf_host_init
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:121,1
    - Dst: dll_open
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:128,1
    - Dst: CloseExtraDll
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:133,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:134,1
    - Dst: dlsym
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:138,1
    - Dst: dlsym
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:139,1
    - Dst: dlsym
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:140,1
    - Dst: dlsym
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:141,1
    - Dst: dlsym
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:142,1
    - Dst: dlsym
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:143,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:147,1
    - Dst: dlerror
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:148,1
    - Dst: dll_close
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:149,1
    - Dst: CloseExtraDll
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:150,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:151,1
    - Dst: pf_init
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:156,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:159,1
    - Dst: ErrorToString
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:160,1
    - Dst: dll_close
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:161,1
    - Dst: CloseExtraDll
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:162,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:163,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:167,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 1
    argNames:
    - p_this
    argTypes:
    - vlc_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 169
    functionName: InitOmxCore
    functionSourceFile: /src/vlc/modules/codec/omxil/omxil_core.c
    functionUses: 1
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - dll_close
    - dlerror
    - pf_host_init
    - CloseExtraDll
    - pf_init
    - dll_open
    - msg_Warn
    - dlsym
    - ErrorToString
    linkageType: ''
    returnType: int
    signature: int InitOmxCore(vlc_object_t *p_this)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:173,1
    - Dst: pf_deinit
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:177,1
    - Dst: dll_close
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:178,1
    - Dst: CloseExtraDll
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:179,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 182
    functionName: DeinitOmxCore
    functionSourceFile: /src/vlc/modules/codec/omxil/omxil_core.c
    functionUses: 2
    functionsReached:
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - dll_close
    - CloseExtraDll
    - pf_deinit
    linkageType: ''
    returnType: void
    signature: void DeinitOmxCore(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pf_component_enum
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:217,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:220,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:223,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:224,1
    - Dst: pf_get_roles_of_component
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:229,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:232,1
    - Dst: pf_get_roles_of_component
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:239,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:244,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:245,1
    - Dst: free
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:248,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:255,1
    - Dst: strncpy
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:259,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:265,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/omxil_core.c:268,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 49
    argCount: 3
    argNames:
    - p_this
    - psz_role
    - ppsz_components
    argTypes:
    - vlc_object_t*
    - char*
    - char[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 271
    functionName: CreateComponentsList
    functionSourceFile: /src/vlc/modules/codec/omxil/omxil_core.c
    functionUses: 1
    functionsReached:
    - pf_get_roles_of_component
    - free
    - strcmp
    - msg_Dbg
    - pf_component_enum
    - strncpy
    - malloc
    linkageType: ''
    returnType: int
    signature: "int CreateComponentsList(vlc_object_t *p_this, const char *psz_role,\n
      \                        char ppsz_components[MAX_COMPONENTS_LIST_SIZE][OMX_MAX_STRINGNAME_SIZE])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: omx_ticks_from_s64
    functionSourceFile: /src/vlc/modules/codec/omxil/OMX_Broadcom.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: omx_ticks_from_s64(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: omx_ticks_to_s64
    functionSourceFile: /src/vlc/modules/codec/omxil/OMX_Broadcom.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: omx_ticks_to_s64(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - signed long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: omx_ticks_from_s64
    functionSourceFile: /src/vlc/modules/codec/omxil/OMX_Broadcom.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OMX_TICKS
    signature: OMX_TICKS omx_ticks_from_s64(signed long long s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: omx_ticks_to_s64
    functionSourceFile: /src/vlc/modules/codec/omxil/OMX_Broadcom.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: omx_ticks_to_s64(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: 'OFF'
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec_jni.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OFF(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetStringUTFLength
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:105,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:106,1
    - Dst: GetStringUTFChars
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:108,1
    - Dst: memcmp
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:109,1
    - Dst: ReleaseStringUTFChars
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - env
    - str
    - str2
    argTypes:
    - JNIEnv*
    - jobject
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 112
    functionName: jstrcmp
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec_jni.c
    functionUses: 0
    functionsReached:
    - GetStringUTFLength
    - GetStringUTFChars
    - ReleaseStringUTFChars
    - strlen
    - memcmp
    linkageType: ''
    returnType: int
    signature: int jstrcmp(JNIEnv* env, jobject str, const char* str2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ExceptionCheck
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:116,1
    - Dst: ExceptionClear
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - env
    argTypes:
    - JNIEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: check_exception
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec_jni.c
    functionUses: 0
    functionsReached:
    - ExceptionClear
    - ExceptionCheck
    linkageType: ''
    returnType: bool
    signature: bool check_exception(JNIEnv *env)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: CHECK_EXCEPTION
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec_jni.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_EXCEPTION()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NewStringUTF
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:128,1
    - Dst: CHECK_EXCEPTION
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - env
    - psz_string
    argTypes:
    - JNIEnv*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: jni_new_string
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec_jni.c
    functionUses: 0
    functionsReached:
    - CHECK_EXCEPTION
    - NewStringUTF
    linkageType: ''
    returnType: jstring
    signature: jstring jni_new_string(JNIEnv *env, const char *psz_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - psz_string
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: JNI_NEW_STRING
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec_jni.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JNI_NEW_STRING(psz_string)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:143,1
    - Dst: FindClass
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:152,1
    - Dst: CHECK_EXCEPTION
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:153,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:155,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:160,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:166,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:169,1
    - Dst: FindClass
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:170,1
    - Dst: CHECK_EXCEPTION
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:173,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:175,1
    - Dst: GetMethodID
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:182,1
    - Dst: GetStaticMethodID
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:186,1
    - Dst: GetFieldID
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:190,1
    - Dst: CHECK_EXCEPTION
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:193,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:195,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:202,1
    - Dst: msg_Err
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:208,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:210,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 2
    argNames:
    - p_obj
    - env
    argTypes:
    - vlc_object_t*
    - JNIEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 212
    functionName: InitJNIFields
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec_jni.c
    functionUses: 1
    functionsReached:
    - GetFieldID
    - DeleteLocalRef
    - GetStaticMethodID
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - CHECK_EXCEPTION
    - msg_Err
    - strcmp
    - FindClass
    - msg_Warn
    - GetMethodID
    linkageType: ''
    returnType: bool
    signature: bool InitJNIFields (vlc_object_t *p_obj, JNIEnv *env)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FindClass
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:218,1
    - Dst: CHECK_EXCEPTION
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:219,1
    - Dst: GetStaticFieldID
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:222,1
    - Dst: CHECK_EXCEPTION
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:224,1
    - Dst: GetStaticObjectField
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:227,1
    - Dst: CHECK_EXCEPTION
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:229,1
    - Dst: GetStringUTFChars
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:232,1
    - Dst: strdup
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:235,1
    - Dst: ReleaseStringUTFChars
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:236,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - env
    argTypes:
    - JNIEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 242
    functionName: GetManufacturer
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec_jni.c
    functionUses: 0
    functionsReached:
    - DeleteLocalRef
    - GetStaticFieldID
    - GetStringUTFChars
    - strdup
    - ReleaseStringUTFChars
    - CHECK_EXCEPTION
    - GetStaticObjectField
    - FindClass
    linkageType: ''
    returnType: char
    signature: char *GetManufacturer(JNIEnv *env)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: android_getEnv
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:255,1
    - Dst: InitJNIFields
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:258,1
    - Dst: JNI_NEW_STRING
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:261,1
    - Dst: CallStaticIntMethod
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:265,1
    - Dst: CallStaticObjectMethod
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:282,1
    - Dst: CallObjectMethod
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:285,1
    - Dst: GetStringUTFLength
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:286,1
    - Dst: GetStringUTFChars
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:287,1
    - Dst: OMXCodec_IsBlacklisted
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:289,1
    - Dst: CallBooleanMethod
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:292,1
    - Dst: CallObjectMethod
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:295,1
    - Dst: CHECK_EXCEPTION
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:298,1
    - Dst: msg_Warn
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:300,1
    - Dst: GetObjectField
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:305,1
    - Dst: GetArrayLength
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:307,1
    - Dst: JNI_NEW_STRING
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:310,1
    - Dst: CallBooleanMethod
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:312,1
    - Dst: CHECK_EXCEPTION
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:315,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:316,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:319,1
    - Dst: CallObjectMethod
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:321,1
    - Dst: GetArrayLength
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:322,1
    - Dst: GetObjectArrayElement
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:327,1
    - Dst: jstrcmp
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:328,1
    - Dst: strncmp
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:337,1
    - Dst: __MIN
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:337,1
    - Dst: GetObjectArrayElement
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:342,1
    - Dst: GetIntField
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:344,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:345,1
    - Dst: convert_omx_to_profile_idc
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:348,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:359,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:363,1
    - Dst: malloc
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:364,1
    - Dst: memcpy
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:367,1
    - Dst: strncmp
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:380,1
    - Dst: GetManufacturer
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:382,1
    - Dst: strcmp
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:383,1
    - Dst: free
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:385,1
    - Dst: ReleaseStringUTFChars
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:403,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:404,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:407,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:409,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:411,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:413,1
    - Dst: DeleteLocalRef
      Src: /src/vlc/modules/codec/omxil/mediacodec_jni.c:417,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 93
    argCount: 5
    argNames:
    - p_obj
    - codec
    - psz_mime
    - profile
    - p_quirks
    argTypes:
    - vlc_object_t*
    - vlc_fourcc_t
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 420
    functionName: MediaCodec_GetName
    functionSourceFile: /src/vlc/modules/codec/omxil/mediacodec_jni.c
    functionUses: 0
    functionsReached:
    - GetStringUTFChars
    - InitJNIFields
    - ReleaseStringUTFChars
    - CHECK_EXCEPTION
    - memcpy
    - GetObjectArrayElement
    - OMXCodec_IsBlacklisted
    - CallBooleanMethod
    - msg_Dbg
    - msg_Warn
    - DeleteLocalRef
    - GetArrayLength
    - CallObjectMethod
    - strncmp
    - strcmp
    - __MIN
    - GetManufacturer
    - GetStringUTFLength
    - android_getEnv
    - convert_omx_to_profile_idc
    - free
    - JNI_NEW_STRING
    - GetIntField
    - jstrcmp
    - CallStaticIntMethod
    - CallStaticObjectMethod
    - GetObjectField
    - malloc
    linkageType: ''
    returnType: char
    signature: "char * MediaCodec_GetName(vlc_object_t *p_obj, vlc_fourcc_t codec,\n
      \                        const char *psz_mime, int profile, int *p_quirks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vlc_mutex_init
      Src: /src/vlc/modules/codec/omxil/utils.c:51,1
    - Dst: vlc_cond_init
      Src: /src/vlc/modules/codec/omxil/utils.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - queue
    argTypes:
    - OmxEventQueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: InitOmxEventQueue
    functionSourceFile: /src/vlc/modules/codec/omxil/utils.c
    functionUses: 1
    functionsReached:
    - vlc_cond_init
    - vlc_mutex_init
    linkageType: ''
    returnType: void
    signature: void InitOmxEventQueue(OmxEventQueue *queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - queue
    argTypes:
    - OmxEventQueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: DeinitOmxEventQueue
    functionSourceFile: /src/vlc/modules/codec/omxil/utils.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeinitOmxEventQueue(OmxEventQueue *queue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vlc/modules/codec/omxil/utils.c:65,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/omxil/utils.c:74,1
    - Dst: vlc_cond_signal
      Src: /src/vlc/modules/codec/omxil/utils.c:77,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/omxil/utils.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 5
    argNames:
    - queue
    - event
    - data_1
    - data_2
    - event_data
    argTypes:
    - OmxEventQueue*
    - OMX_EVENTTYPE
    - OMX_U32
    - OMX_U32
    - OMX_PTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 80
    functionName: PostOmxEvent
    functionSourceFile: /src/vlc/modules/codec/omxil/utils.c
    functionUses: 1
    functionsReached:
    - vlc_cond_signal
    - malloc
    - vlc_mutex_unlock
    - vlc_mutex_lock
    linkageType: ''
    returnType: OMX_ERRORTYPE
    signature: "OMX_ERRORTYPE PostOmxEvent(OmxEventQueue *queue, OMX_EVENTTYPE event,\n
      \   OMX_U32 data_1, OMX_U32 data_2, OMX_PTR event_data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/codec/omxil/utils.c:86,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/codec/omxil/utils.c:86,1
    - Dst: vlc_mutex_lock
      Src: /src/vlc/modules/codec/omxil/utils.c:88,1
    - Dst: vlc_cond_timedwait
      Src: /src/vlc/modules/codec/omxil/utils.c:91,1
    - Dst: vlc_mutex_unlock
      Src: /src/vlc/modules/codec/omxil/utils.c:100,1
    - Dst: free
      Src: /src/vlc/modules/codec/omxil/utils.c:108,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 5
    argNames:
    - queue
    - event
    - data_1
    - data_2
    - event_data
    argTypes:
    - OmxEventQueue*
    - OMX_EVENTTYPE*
    - OMX_U32*
    - OMX_U32*
    - OMX_PTR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 113
    functionName: WaitForOmxEvent
    functionSourceFile: /src/vlc/modules/codec/omxil/utils.c
    functionUses: 0
    functionsReached:
    - vlc_tick_now
    - vlc_mutex_unlock
    - vlc_mutex_lock
    - VLC_TICK_FROM_SEC
    - vlc_cond_timedwait
    - free
    linkageType: ''
    returnType: OMX_ERRORTYPE
    signature: "OMX_ERRORTYPE WaitForOmxEvent(OmxEventQueue *queue, OMX_EVENTTYPE
      *event,\n    OMX_U32 *data_1, OMX_U32 *data_2, OMX_PTR *event_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/codec/omxil/utils.c:121,1
    - Dst: WaitForOmxEvent
      Src: /src/vlc/modules/codec/omxil/utils.c:125,1
    - Dst: vlc_tick_now
      Src: /src/vlc/modules/codec/omxil/utils.c:129,1
    - Dst: VLC_TICK_FROM_SEC
      Src: /src/vlc/modules/codec/omxil/utils.c:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 5
    argNames:
    - queue
    - specific_event
    - data_1
    - data_2
    - event_data
    argTypes:
    - OmxEventQueue*
    - OMX_EVENTTYPE
    - OMX_U32*
    - OMX_U32*
    - OMX_PTR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 133
    functionName: WaitForSpecificOmxEvent
    functionSourceFile: /src/vlc/modules/codec/omxil/utils.c
    functionUses: 4
    functionsReached:
    - VLC_TICK_FROM_SEC
    - vlc_tick_now
    - WaitForOmxEvent
    linkageType: ''
    returnType: OMX_ERRORTYPE
    signature: "OMX_ERRORTYPE WaitForSpecificOmxEvent(OmxEventQueue *queue,\n    OMX_EVENTTYPE
      specific_event, OMX_U32 *data_1, OMX_U32 *data_2,\n    OMX_PTR *event_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/utils.c:144,1
    - Dst: EventToString
      Src: /src/vlc/modules/codec/omxil/utils.c:144,1
    - Dst: CommandToString
      Src: /src/vlc/modules/codec/omxil/utils.c:145,1
    - Dst: StateToString
      Src: /src/vlc/modules/codec/omxil/utils.c:145,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/utils.c:149,1
    - Dst: EventToString
      Src: /src/vlc/modules/codec/omxil/utils.c:149,1
    - Dst: CommandToString
      Src: /src/vlc/modules/codec/omxil/utils.c:150,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/utils.c:156,1
    - Dst: EventToString
      Src: /src/vlc/modules/codec/omxil/utils.c:156,1
    - Dst: ErrorToString
      Src: /src/vlc/modules/codec/omxil/utils.c:157,1
    - Dst: msg_Dbg
      Src: /src/vlc/modules/codec/omxil/utils.c:162,1
    - Dst: EventToString
      Src: /src/vlc/modules/codec/omxil/utils.c:162,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 5
    argNames:
    - p_this
    - event
    - data_1
    - data_2
    - event_data
    argTypes:
    - vlc_object_t*
    - OMX_EVENTTYPE
    - OMX_U32
    - OMX_U32
    - OMX_PTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 166
    functionName: PrintOmxEvent
    functionSourceFile: /src/vlc/modules/codec/omxil/utils.c
    functionUses: 1
    functionsReached:
    - StateToString
    - EventToString
    - msg_Dbg
    - CommandToString
    - ErrorToString
    linkageType: ''
    returnType: void
    signature: "void PrintOmxEvent(vlc_object_t *p_this, OMX_EVENTTYPE event, OMX_U32
      data_1,\n    OMX_U32 data_2, OMX_PTR event_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qcom_convert
      Src: /src/vlc/modules/codec/omxil/utils.c:177,1
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/codec/omxil/utils.c:189,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 6
    argNames:
    - i_color_format
    - p_pic
    - i_slice_height
    - i_src_stride
    - p_src
    - i_chroma_div
    argTypes:
    - int
    - picture_t*
    - int
    - int
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 201
    functionName: CopyOmxPicture
    functionSourceFile: /src/vlc/modules/codec/omxil/utils.c
    functionUses: 2
    functionsReached:
    - qcom_convert
    - plane_CopyPixels
    linkageType: ''
    returnType: void
    signature: "void CopyOmxPicture( int i_color_format, picture_t *p_pic,\n                     int
      i_slice_height,\n                     int i_src_stride, uint8_t *p_src, int
      i_chroma_div )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: plane_CopyPixels
      Src: /src/vlc/modules/codec/omxil/utils.c:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - p_dec
    - p_header
    - p_pic
    argTypes:
    - decoder_t*
    - OMX_BUFFERHEADERTYPE*
    - picture_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 225
    functionName: CopyVlcPicture
    functionSourceFile: /src/vlc/modules/codec/omxil/utils.c
    functionUses: 1
    functionsReached:
    - plane_CopyPixels
    linkageType: ''
    returnType: void
    signature: "void CopyVlcPicture( decoder_t *p_dec, OMX_BUFFERHEADERTYPE *p_header,\n
      \                    picture_t *p_pic)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/vlc/modules/codec/omxil/utils.c:271,1
    - Dst: __MIN
      Src: /src/vlc/modules/codec/omxil/utils.c:272,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/omxil/utils.c:272,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/omxil/utils.c:279,1
    - Dst: strncmp
      Src: /src/vlc/modules/codec/omxil/utils.c:282,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - p_name
    - i_name_len
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 288
    functionName: OMXCodec_IsBlacklisted
    functionSourceFile: /src/vlc/modules/codec/omxil/utils.c
    functionUses: 2
    functionsReached:
    - strncmp
    - strlen
    - __MIN
    linkageType: ''
    returnType: bool
    signature: bool OMXCodec_IsBlacklisted( const char *p_name, unsigned int i_name_len
      )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/vlc/modules/codec/omxil/utils.c:354,1
    - Dst: __MIN
      Src: /src/vlc/modules/codec/omxil/utils.c:355,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/omxil/utils.c:355,1
    - Dst: strlen
      Src: /src/vlc/modules/codec/omxil/utils.c:363,1
    - Dst: strncmp
      Src: /src/vlc/modules/codec/omxil/utils.c:366,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 4
    argNames:
    - i_cat
    - i_codec
    - p_name
    - i_name_len
    argTypes:
    - enum es_format_category_e
    - vlc_fourcc_t
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 372
    functionName: OMXCodec_GetQuirks
    functionSourceFile: /src/vlc/modules/codec/omxil/utils.c
    functionUses: 1
    functionsReached:
    - strncmp
    - strlen
    - __MIN
    linkageType: ''
    returnType: int
    signature: "int OMXCodec_GetQuirks( enum es_format_category_e i_cat, vlc_fourcc_t
      i_codec,\n                        const char *p_name, unsigned int i_name_len
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:382,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:383,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:384,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:385,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:386,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:387,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:388,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - OMX_STATETYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 394
    functionName: StateToString
    functionSourceFile: /src/vlc/modules/codec/omxil/utils.c
    functionUses: 1
    functionsReached:
    - CASE
    linkageType: ''
    returnType: char
    signature: char *StateToString(OMX_STATETYPE state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 382
    functionName: CASE
    functionSourceFile: /src/vlc/modules/codec/omxil/utils.c
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CASE(state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:401,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:402,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:403,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:404,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:405,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:406,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:407,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - command
    argTypes:
    - OMX_COMMANDTYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 412
    functionName: CommandToString
    functionSourceFile: /src/vlc/modules/codec/omxil/utils.c
    functionUses: 1
    functionsReached:
    - CASE
    linkageType: ''
    returnType: char
    signature: char *CommandToString(OMX_COMMANDTYPE command)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - command
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 401
    functionName: CASE
    functionSourceFile: /src/vlc/modules/codec/omxil/utils.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CASE(command)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:419,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:420,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:421,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:422,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:423,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:424,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:425,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:426,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:427,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:428,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - event
    argTypes:
    - OMX_EVENTTYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 434
    functionName: EventToString
    functionSourceFile: /src/vlc/modules/codec/omxil/utils.c
    functionUses: 1
    functionsReached:
    - CASE
    linkageType: ''
    returnType: char
    signature: char *EventToString(OMX_EVENTTYPE event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - event
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 419
    functionName: CASE
    functionSourceFile: /src/vlc/modules/codec/omxil/utils.c
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CASE(event)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:441,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:442,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:443,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:444,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:445,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:446,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:447,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:448,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:449,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:450,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:451,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:452,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:453,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:454,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:455,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:456,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:457,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:458,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:459,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:460,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:461,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:462,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:463,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:464,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:465,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:466,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:467,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:468,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:469,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:470,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:471,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:472,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:473,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:474,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:475,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:476,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:477,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:478,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:479,1
    - Dst: CASE
      Src: /src/vlc/modules/codec/omxil/utils.c:480,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 46
    argCount: 1
    argNames:
    - error
    argTypes:
    - OMX_ERRORTYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 485
    functionName: ErrorToString
    functionSourceFile: /src/vlc/modules/codec/omxil/utils.c
    functionUses: 6
    functionsReached:
    - CASE
    linkageType: ''
    returnType: char
    signature: char *ErrorToString(OMX_ERRORTYPE error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - error
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 441
    functionName: CASE
    functionSourceFile: /src/vlc/modules/codec/omxil/utils.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CASE(error)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/codec/omxil/utils.c:595,1
    - Dst: vlc_fourcc_GetCodec
      Src: /src/vlc/modules/codec/omxil/utils.c:598,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/omxil/utils.c:600,1
    - Dst: es_format_HasVpxAlpha
      Src: /src/vlc/modules/codec/omxil/utils.c:603,1
    - Dst: es_format_HasVpxAlpha
      Src: /src/vlc/modules/codec/omxil/utils.c:605,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 1
    argNames:
    - es
    argTypes:
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: GetOmxVideoFormat
    functionSourceFile: /src/vlc/modules/codec/omxil/utils.c
    functionUses: 1
    functionsReached:
    - es_format_HasVpxAlpha
    - unlikely
    - vlc_fourcc_GetCodec
    - ARRAY_SIZE
    linkageType: ''
    returnType: OMX_VIDEO_CODINGTYPE
    signature: OMX_VIDEO_CODINGTYPE GetOmxVideoFormat( const es_format_t *es )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/omxil/utils.c:616,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - i_omx_codec
    argTypes:
    - OMX_VIDEO_CODINGTYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 621
    functionName: GetVlcVideoFormat
    functionSourceFile: /src/vlc/modules/codec/omxil/utils.c
    functionUses: 1
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t GetVlcVideoFormat( OMX_VIDEO_CODINGTYPE i_omx_codec )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/vlc/modules/codec/omxil/utils.c:625,1
    - Dst: vlc_fourcc_GetCodec
      Src: /src/vlc/modules/codec/omxil/utils.c:628,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/omxil/utils.c:630,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 1
    argNames:
    - es
    argTypes:
    - es_format_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 642
    functionName: GetOmxVideoRole
    functionSourceFile: /src/vlc/modules/codec/omxil/utils.c
    functionUses: 0
    functionsReached:
    - unlikely
    - vlc_fourcc_GetCodec
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char *GetOmxVideoRole( const es_format_t *es )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fourcc_GetCodec
      Src: /src/vlc/modules/codec/omxil/utils.c:648,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - i_fourcc
    argTypes:
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 654
    functionName: GetOmxVideoEncRole
    functionSourceFile: /src/vlc/modules/codec/omxil/utils.c
    functionUses: 0
    functionsReached:
    - vlc_fourcc_GetCodec
    linkageType: ''
    returnType: char
    signature: char *GetOmxVideoEncRole( vlc_fourcc_t i_fourcc )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fourcc_GetCodec
      Src: /src/vlc/modules/codec/omxil/utils.c:658,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/omxil/utils.c:660,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - i_fourcc
    argTypes:
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 665
    functionName: GetOmxAudioFormat
    functionSourceFile: /src/vlc/modules/codec/omxil/utils.c
    functionUses: 1
    functionsReached:
    - vlc_fourcc_GetCodec
    - ARRAY_SIZE
    linkageType: ''
    returnType: OMX_AUDIO_CODINGTYPE
    signature: OMX_AUDIO_CODINGTYPE GetOmxAudioFormat( vlc_fourcc_t i_fourcc )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/omxil/utils.c:669,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - i_omx_codec
    argTypes:
    - OMX_AUDIO_CODINGTYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 674
    functionName: OmxToVlcAudioFormat
    functionSourceFile: /src/vlc/modules/codec/omxil/utils.c
    functionUses: 2
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t OmxToVlcAudioFormat( OMX_AUDIO_CODINGTYPE i_omx_codec
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fourcc_GetCodec
      Src: /src/vlc/modules/codec/omxil/utils.c:678,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/omxil/utils.c:680,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - i_fourcc
    argTypes:
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 685
    functionName: GetOmxAudioRole
    functionSourceFile: /src/vlc/modules/codec/omxil/utils.c
    functionUses: 0
    functionsReached:
    - vlc_fourcc_GetCodec
    - ARRAY_SIZE
    linkageType: ''
    returnType: char
    signature: char *GetOmxAudioRole( vlc_fourcc_t i_fourcc )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fourcc_GetCodec
      Src: /src/vlc/modules/codec/omxil/utils.c:691,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - i_fourcc
    argTypes:
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 697
    functionName: GetOmxAudioEncRole
    functionSourceFile: /src/vlc/modules/codec/omxil/utils.c
    functionUses: 0
    functionsReached:
    - vlc_fourcc_GetCodec
    linkageType: ''
    returnType: char
    signature: char *GetOmxAudioEncRole( vlc_fourcc_t i_fourcc )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetOmxVideoEncRole
      Src: /src/vlc/modules/codec/omxil/utils.c:704,1
    - Dst: GetOmxAudioEncRole
      Src: /src/vlc/modules/codec/omxil/utils.c:704,1
    - Dst: GetOmxVideoRole
      Src: /src/vlc/modules/codec/omxil/utils.c:707,1
    - Dst: GetOmxAudioRole
      Src: /src/vlc/modules/codec/omxil/utils.c:707,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - es
    - b_enc
    argTypes:
    - es_format_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 699
    functionDepth: 2
    functionLinenumber: 699
    functionLinenumberEnd: 708
    functionName: GetOmxRole
    functionSourceFile: /src/vlc/modules/codec/omxil/utils.c
    functionUses: 4
    functionsReached:
    - GetOmxAudioEncRole
    - GetOmxVideoRole
    - GetOmxVideoEncRole
    - GetOmxAudioRole
    linkageType: ''
    returnType: char
    signature: "char *GetOmxRole( const es_format_t *es,\n                        bool
      b_enc )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fourcc_GetCodec
      Src: /src/vlc/modules/codec/omxil/utils.c:712,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/omxil/utils.c:714,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - i_fourcc
    argTypes:
    - vlc_fourcc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 719
    functionName: GetOmxChromaFormat
    functionSourceFile: /src/vlc/modules/codec/omxil/utils.c
    functionUses: 1
    functionsReached:
    - vlc_fourcc_GetCodec
    - ARRAY_SIZE
    linkageType: ''
    returnType: OMX_COLOR_FORMATTYPE
    signature: OMX_COLOR_FORMATTYPE GetOmxChromaFormat( vlc_fourcc_t i_fourcc )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/omxil/utils.c:723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - i_omx_codec
    argTypes:
    - OMX_COLOR_FORMATTYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 728
    functionName: GetVlcChromaFormat
    functionSourceFile: /src/vlc/modules/codec/omxil/utils.c
    functionUses: 4
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: vlc_fourcc_t
    signature: vlc_fourcc_t GetVlcChromaFormat( OMX_COLOR_FORMATTYPE i_omx_codec )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vlc_fourcc_GetCodec
      Src: /src/vlc/modules/codec/omxil/utils.c:737,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/omxil/utils.c:739,1
    - Dst: ARRAY_SIZE
      Src: /src/vlc/modules/codec/omxil/utils.c:741,1
    - Dst: ckd_add
      Src: /src/vlc/modules/codec/omxil/utils.c:745,1
    - Dst: ckd_add
      Src: /src/vlc/modules/codec/omxil/utils.c:746,1
    - Dst: ckd_mul
      Src: /src/vlc/modules/codec/omxil/utils.c:753,1
    - Dst: ckd_mul
      Src: /src/vlc/modules/codec/omxil/utils.c:754,1
    - Dst: ckd_mul
      Src: /src/vlc/modules/codec/omxil/utils.c:760,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 6
    argNames:
    - i_fourcc
    - width
    - height
    - size
    - pitch
    - chroma_pitch_div
    argTypes:
    - vlc_fourcc_t
    - unsigned int
    - unsigned int
    - unsigned int*
    - unsigned int*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 766
    functionName: GetVlcChromaSizes
    functionSourceFile: /src/vlc/modules/codec/omxil/utils.c
    functionUses: 4
    functionsReached:
    - ckd_add
    - vlc_fourcc_GetCodec
    - ckd_mul
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: "int GetVlcChromaSizes( vlc_fourcc_t i_fourcc,\n                       unsigned
      int width, unsigned int height,\n                       unsigned int *size,
      unsigned int *pitch,\n                       unsigned int *chroma_pitch_div
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - encoding
    argTypes:
    - OMX_AUDIO_CODINGTYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 813
    functionName: GetAudioParamFormatIndex
    functionSourceFile: /src/vlc/modules/codec/omxil/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OMX_INDEXTYPE
    signature: OMX_INDEXTYPE GetAudioParamFormatIndex(OMX_AUDIO_CODINGTYPE encoding)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - OMX_INDEXTYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 823
    functionName: GetAudioParamSize
    functionSourceFile: /src/vlc/modules/codec/omxil/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int GetAudioParamSize(OMX_INDEXTYPE index)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: OMX_INIT_STRUCTURE
 